ZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMtYmxvY2sgYi9Eb2N1bWVudGF0aW9uL0FCSS90ZXN0aW5nL3N5c2ZzLWJsb2NrCmluZGV4IDRiZDllYTUuLjQ0ZjUyYTQgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMtYmxvY2sKKysrIGIvRG9jdW1lbnRhdGlvbi9BQkkvdGVzdGluZy9zeXNmcy1ibG9jawpAQCAtMjYsMyArMjYsMzcgQEAKIAkJSS9PIHN0YXRpc3RpY3Mgb2YgcGFydGl0aW9uIDxwYXJ0Pi4gVGhlIGZvcm1hdCBpcyB0aGUKIAkJc2FtZSBhcyB0aGUgYWJvdmUtd3JpdHRlbiAvc3lzL2Jsb2NrLzxkaXNrPi9zdGF0CiAJCWZvcm1hdC4KKworCitXaGF0OgkJL3N5cy9ibG9jay88ZGlzaz4vaW50ZWdyaXR5L2Zvcm1hdAorRGF0ZToJCUp1bmUgMjAwOAorQ29udGFjdDoJTWFydGluIEsuIFBldGVyc2VuIDxtYXJ0aW4ucGV0ZXJzZW5Ab3JhY2xlLmNvbT4KK0Rlc2NyaXB0aW9uOgorCQlNZXRhZGF0YSBmb3JtYXQgZm9yIGludGVncml0eSBjYXBhYmxlIGJsb2NrIGRldmljZS4KKwkJRS5nLiBUMTAtRElGLVRZUEUxLUNSQy4KKworCitXaGF0OgkJL3N5cy9ibG9jay88ZGlzaz4vaW50ZWdyaXR5L3JlYWRfdmVyaWZ5CitEYXRlOgkJSnVuZSAyMDA4CitDb250YWN0OglNYXJ0aW4gSy4gUGV0ZXJzZW4gPG1hcnRpbi5wZXRlcnNlbkBvcmFjbGUuY29tPgorRGVzY3JpcHRpb246CisJCUluZGljYXRlcyB3aGV0aGVyIHRoZSBibG9jayBsYXllciBzaG91bGQgdmVyaWZ5IHRoZQorCQlpbnRlZ3JpdHkgb2YgcmVhZCByZXF1ZXN0cyBzZXJ2aWNlZCBieSBkZXZpY2VzIHRoYXQKKwkJc3VwcG9ydCBzZW5kaW5nIGludGVncml0eSBtZXRhZGF0YS4KKworCitXaGF0OgkJL3N5cy9ibG9jay88ZGlzaz4vaW50ZWdyaXR5L3RhZ19zaXplCitEYXRlOgkJSnVuZSAyMDA4CitDb250YWN0OglNYXJ0aW4gSy4gUGV0ZXJzZW4gPG1hcnRpbi5wZXRlcnNlbkBvcmFjbGUuY29tPgorRGVzY3JpcHRpb246CisJCU51bWJlciBvZiBieXRlcyBvZiBpbnRlZ3JpdHkgdGFnIHNwYWNlIGF2YWlsYWJsZSBwZXIKKwkJNTEyIGJ5dGVzIG9mIGRhdGEuCisKKworV2hhdDoJCS9zeXMvYmxvY2svPGRpc2s+L2ludGVncml0eS93cml0ZV9nZW5lcmF0ZQorRGF0ZToJCUp1bmUgMjAwOAorQ29udGFjdDoJTWFydGluIEsuIFBldGVyc2VuIDxtYXJ0aW4ucGV0ZXJzZW5Ab3JhY2xlLmNvbT4KK0Rlc2NyaXB0aW9uOgorCQlJbmRpY2F0ZXMgd2hldGhlciB0aGUgYmxvY2sgbGF5ZXIgc2hvdWxkIGF1dG9tYXRpY2FsbHkKKwkJZ2VuZXJhdGUgY2hlY2tzdW1zIGZvciB3cml0ZSByZXF1ZXN0cyBib3VuZCBmb3IKKwkJZGV2aWNlcyB0aGF0IHN1cHBvcnQgcmVjZWl2aW5nIGludGVncml0eSBtZXRhZGF0YS4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMtYnVzLWNzcyBiL0RvY3VtZW50YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMtYnVzLWNzcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNTg1ZWMyCi0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9BQkkvdGVzdGluZy9zeXNmcy1idXMtY3NzCkBAIC0wLDAgKzEsMzUgQEAKK1doYXQ6CQkvc3lzL2J1cy9jc3MvZGV2aWNlcy8uLi4vdHlwZQorRGF0ZToJCU1hcmNoIDIwMDgKK0NvbnRhY3Q6CUNvcm5lbGlhIEh1Y2sgPGNvcm5lbGlhLmh1Y2tAZGUuaWJtLmNvbT4KKwkJbGludXgtczM5MEB2Z2VyLmtlcm5lbC5vcmcKK0Rlc2NyaXB0aW9uOglDb250YWlucyB0aGUgc3ViY2hhbm5lbCB0eXBlLCBhcyByZXBvcnRlZCBieSB0aGUgaGFyZHdhcmUuCisJCVRoaXMgYXR0cmlidXRlIGlzIHByZXNlbnQgZm9yIGFsbCBzdWJjaGFubmVsIHR5cGVzLgorCitXaGF0OgkJL3N5cy9idXMvY3NzL2RldmljZXMvLi4uL21vZGFsaWFzCitEYXRlOgkJTWFyY2ggMjAwOAorQ29udGFjdDoJQ29ybmVsaWEgSHVjayA8Y29ybmVsaWEuaHVja0BkZS5pYm0uY29tPgorCQlsaW51eC1zMzkwQHZnZXIua2VybmVsLm9yZworRGVzY3JpcHRpb246CUNvbnRhaW5zIHRoZSBtb2R1bGUgYWxpYXMgYXMgcmVwb3J0ZWQgd2l0aCB1ZXZlbnRzLgorCQlJdCBpcyBvZiB0aGUgZm9ybWF0IGNzczp0PHR5cGU+IGFuZCBwcmVzZW50IGZvciBhbGwKKwkJc3ViY2hhbm5lbCB0eXBlcy4KKworV2hhdDoJCS9zeXMvYnVzL2Nzcy9kcml2ZXJzL2lvX3N1YmNoYW5uZWwvLi4uL2NocGlkcworRGF0ZToJCURlY2VtYmVyIDIwMDIKK0NvbnRhY3Q6CUNvcm5lbGlhIEh1Y2sgPGNvcm5lbGlhLmh1Y2tAZGUuaWJtLmNvbT4KKwkJbGludXgtczM5MEB2Z2VyLmtlcm5lbC5vcmcKK0Rlc2NyaXB0aW9uOglDb250YWlucyB0aGUgaWRzIG9mIHRoZSBjaGFubmVsIHBhdGhzIHVzZWQgYnkgdGhpcworCQlzdWJjaGFubmVsLCBhcyByZXBvcnRlZCBieSB0aGUgY2hhbm5lbCBzdWJzeXN0ZW0KKwkJZHVyaW5nIHN1YmNoYW5uZWwgcmVjb2duaXRpb24uCisJCU5vdGU6IFRoaXMgaXMgYW4gSS9PLXN1YmNoYW5uZWwgc3BlY2lmaWMgYXR0cmlidXRlLgorVXNlcnM6CQlzMzkwLXRvb2xzLCBIQUwKKworV2hhdDoJCS9zeXMvYnVzL2Nzcy9kcml2ZXJzL2lvX3N1YmNoYW5uZWwvLi4uL3BpbXBhbXBvbQorRGF0ZToJCURlY2VtYmVyIDIwMDIKK0NvbnRhY3Q6CUNvcm5lbGlhIEh1Y2sgPGNvcm5lbGlhLmh1Y2tAZGUuaWJtLmNvbT4KKwkJbGludXgtczM5MEB2Z2VyLmtlcm5lbC5vcmcKK0Rlc2NyaXB0aW9uOglDb250YWlucyB0aGUgUElNL1BBTS9QT00gdmFsdWVzLCBhcyByZXBvcnRlZCBieSB0aGUKKwkJY2hhbm5lbCBzdWJzeXN0ZW0gd2hlbiBsYXN0IHF1ZXJpZWQgYnkgdGhlIGNvbW1vbiBJL08KKwkJbGF5ZXIgKHRoaXMgaW1wbGllcyB0aGF0IHRoaXMgYXR0cmlidXRlIGlzIG5vdCBuZWNjZXNzYXJpbHkKKwkJaW4gc3luYyB3aXRoIHRoZSB2YWx1ZXMgY3VycmVudCBpbiB0aGUgY2hhbm5lbCBzdWJzeXN0ZW0pLgorCQlOb3RlOiBUaGlzIGlzIGFuIEkvTy1zdWJjaGFubmVsIHNwZWNpZmljIGF0dHJpYnV0ZS4KK1VzZXJzOgkJczM5MC10b29scywgSEFMCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL0FCSS90ZXN0aW5nL3N5c2ZzLWZpcm13YXJlLW1lbW1hcCBiL0RvY3VtZW50YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMtZmlybXdhcmUtbWVtbWFwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBkOTllZTYKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL0FCSS90ZXN0aW5nL3N5c2ZzLWZpcm13YXJlLW1lbW1hcApAQCAtMCwwICsxLDcxIEBACitXaGF0OgkJL3N5cy9maXJtd2FyZS9tZW1tYXAvCitEYXRlOgkJSnVuZSAyMDA4CitDb250YWN0OglCZXJuaGFyZCBXYWxsZSA8YndhbGxlQHN1c2UuZGU+CitEZXNjcmlwdGlvbjoKKwkJT24gYWxsIHBsYXRmb3JtcywgdGhlIGZpcm13YXJlIHByb3ZpZGVzIGEgbWVtb3J5IG1hcCB3aGljaCB0aGUKKwkJa2VybmVsIHJlYWRzLiBUaGUgcmVzb3VyY2VzIGZyb20gdGhhdCBtZW1vcnkgbWFwIGFyZSByZWdpc3RlcmVkCisJCWluIHRoZSBrZXJuZWwgcmVzb3VyY2UgdHJlZSBhbmQgZXhwb3NlZCB0byB1c2Vyc3BhY2UgdmlhCisJCS9wcm9jL2lvbWVtICh0b2dldGhlciB3aXRoIG90aGVyIHJlc291cmNlcykuCisKKwkJSG93ZXZlciwgb24gbW9zdCBhcmNoaXRlY3R1cmVzIHRoYXQgZmlybXdhcmUtcHJvdmlkZWQgbWVtb3J5CisJCW1hcCBpcyBtb2RpZmllZCBhZnRlcndhcmRzIGJ5IHRoZSBrZXJuZWwgaXRzZWxmLCBlaXRoZXIgYmVjYXVzZQorCQl0aGUga2VybmVsIG1lcmdlcyB0aGF0IG1lbW9yeSBtYXAgd2l0aCBvdGhlciBpbmZvcm1hdGlvbiBvcgorCQlqdXN0IGJlY2F1c2UgdGhlIHVzZXIgb3ZlcndyaXRlcyB0aGF0IG1lbW9yeSBtYXAgdmlhIGNvbW1hbmQKKwkJbGluZS4KKworCQlrZXhlYyBuZWVkcyB0aGUgcmF3IGZpcm13YXJlLXByb3ZpZGVkIG1lbW9yeSBtYXAgdG8gc2V0dXAgdGhlCisJCXBhcmFtZXRlciBzZWdtZW50IG9mIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgYm9vdGVkIHdpdGgKKwkJa2V4ZWMuIEFsc28sIHRoZSByYXcgbWVtb3J5IG1hcCBpcyB1c2VmdWwgZm9yIGRlYnVnZ2luZy4gRm9yCisJCXRoYXQgcmVhc29uLCAvc3lzL2Zpcm13YXJlL21lbW1hcCBpcyBhbiBpbnRlcmZhY2UgdGhhdCBwcm92aWRlcworCQl0aGUgcmF3IG1lbW9yeSBtYXAgdG8gdXNlcnNwYWNlLgorCisJCVRoZSBzdHJ1Y3R1cmUgaXMgYXMgZm9sbG93czogVW5kZXIgL3N5cy9maXJtd2FyZS9tZW1tYXAgdGhlcmUKKwkJYXJlIHN1YmRpcmVjdG9yaWVzIHdpdGggdGhlIG51bWJlciBvZiB0aGUgZW50cnkgYXMgdGhlaXIgbmFtZToKKworCQkJL3N5cy9maXJtd2FyZS9tZW1tYXAvMAorCQkJL3N5cy9maXJtd2FyZS9tZW1tYXAvMQorCQkJL3N5cy9maXJtd2FyZS9tZW1tYXAvMgorCQkJL3N5cy9maXJtd2FyZS9tZW1tYXAvMworCQkJLi4uCisKKwkJVGhlIG1heGltdW0gZGVwZW5kcyBvbiB0aGUgbnVtYmVyIG9mIG1lbW9yeSBtYXAgZW50cmllcyBwcm92aWRlZAorCQlieSB0aGUgZmlybXdhcmUuIFRoZSBvcmRlciBpcyBqdXN0IHRoZSBvcmRlciB0aGF0IHRoZSBmaXJtd2FyZQorCQlwcm92aWRlcy4KKworCQlFYWNoIGRpcmVjdG9yeSBjb250YWlucyB0aHJlZSBmaWxlczoKKworCQlzdGFydAk6IFRoZSBzdGFydCBhZGRyZXNzIChhcyBoZXhhZGVjaW1hbCBudW1iZXIgd2l0aCB0aGUKKwkJCSAgJzB4JyBwcmVmaXgpLgorCQllbmQJOiBUaGUgZW5kIGFkZHJlc3MsIGluY2x1c2l2ZSAocmVnYXJkbGVzcyB3aGV0aGVyIHRoZQorCQkJICBmaXJtd2FyZSBwcm92aWRlcyBpbmNsdXNpdmUgb3IgZXhjbHVzaXZlIHJhbmdlcykuCisJCXR5cGUJOiBUeXBlIG9mIHRoZSBlbnRyeSBhcyBzdHJpbmcuIFNlZSBiZWxvdyBmb3IgYSBsaXN0IG9mCisJCQkgIHZhbGlkIHR5cGVzLgorCisJCVNvLCBmb3IgZXhhbXBsZToKKworCQkJL3N5cy9maXJtd2FyZS9tZW1tYXAvMC9zdGFydAorCQkJL3N5cy9maXJtd2FyZS9tZW1tYXAvMC9lbmQKKwkJCS9zeXMvZmlybXdhcmUvbWVtbWFwLzAvdHlwZQorCQkJL3N5cy9maXJtd2FyZS9tZW1tYXAvMS9zdGFydAorCQkJLi4uCisKKwkJQ3VycmVudGx5IGZvbGxvd2luZyB0eXBlcyBleGlzdDoKKworCQkgIC0gU3lzdGVtIFJBTQorCQkgIC0gQUNQSSBUYWJsZXMKKwkJICAtIEFDUEkgTm9uLXZvbGF0aWxlIFN0b3JhZ2UKKwkJICAtIHJlc2VydmVkCisKKwkJRm9sbG93aW5nIHNoZWxsIHNuaXBwZXQgY2FuIGJlIHVzZWQgdG8gZGlzcGxheSB0aGF0IG1lbW9yeQorCQltYXAgaW4gYSBodW1hbi1yZWFkYWJsZSBmb3JtYXQ6CisKKwkJLS0tLS0tLS0tLS0tLS0tLS0tLS0gODwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCQkgICMhL2Jpbi9iYXNoCisJCSAgY2QgL3N5cy9maXJtd2FyZS9tZW1tYXAKKwkJICBmb3IgZGlyIGluICogOyBkbworCQkgICAgICBzdGFydD0kKGNhdCAkZGlyL3N0YXJ0KQorCQkgICAgICBlbmQ9JChjYXQgJGRpci9lbmQpCisJCSAgICAgIHR5cGU9JChjYXQgJGRpci90eXBlKQorCQkgICAgICBwcmludGYgIiUwMTZ4LSUwMTZ4ICglcylcbiIgJHN0YXJ0ICRbICRlbmQgKzFdICIkdHlwZSIKKwkJICBkb25lCisJCS0tLS0tLS0tLS0tLS0tLS0tLS0tID44IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vSE9XVE8gYi9Eb2N1bWVudGF0aW9uL0hPV1RPCmluZGV4IDAyOTFhZGUuLjYxOWU4Y2EgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vSE9XVE8KKysrIGIvRG9jdW1lbnRhdGlvbi9IT1dUTwpAQCAtMzc3LDcgKzM3Nyw3IEBACiBidWd6aWxsYS5rZXJuZWwub3JnIGlzIHdoZXJlIHRoZSBMaW51eCBrZXJuZWwgZGV2ZWxvcGVycyB0cmFjayBrZXJuZWwKIGJ1Z3MuICBVc2VycyBhcmUgZW5jb3VyYWdlZCB0byByZXBvcnQgYWxsIGJ1Z3MgdGhhdCB0aGV5IGZpbmQgaW4gdGhpcwogdG9vbC4gIEZvciBkZXRhaWxzIG9uIGhvdyB0byB1c2UgdGhlIGtlcm5lbCBidWd6aWxsYSwgcGxlYXNlIHNlZToKLQlodHRwOi8vdGVzdC5rZXJuZWwub3JnL2J1Z3ppbGxhL2ZhcS5odG1sCisJaHR0cDovL2J1Z3ppbGxhLmtlcm5lbC5vcmcvcGFnZS5jZ2k/aWQ9ZmFxLmh0bWwKIAogVGhlIGZpbGUgUkVQT1JUSU5HLUJVR1MgaW4gdGhlIG1haW4ga2VybmVsIHNvdXJjZSBkaXJlY3RvcnkgaGFzIGEgZ29vZAogdGVtcGxhdGUgZm9yIGhvdyB0byByZXBvcnQgYSBwb3NzaWJsZSBrZXJuZWwgYnVnLCBhbmQgZGV0YWlscyB3aGF0IGtpbmQKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vSVJRLWFmZmluaXR5LnR4dCBiL0RvY3VtZW50YXRpb24vSVJRLWFmZmluaXR5LnR4dAppbmRleCA5MzhkN2RkLi5iNGE2MTViIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL0lSUS1hZmZpbml0eS50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9JUlEtYWZmaW5pdHkudHh0CkBAIC0xLDE3ICsxLDI2IEBACitDaGFuZ2VMb2c6CisJU3RhcnRlZCBieSBJbmdvIE1vbG5hciA8bWluZ29AcmVkaGF0LmNvbT4KKwlVcGRhdGUgYnkgTWF4IEtyYXNueWFuc2t5IDxtYXhrQHF1YWxjb21tLmNvbT4KIAotU01QIElSUSBhZmZpbml0eSwgc3RhcnRlZCBieSBJbmdvIE1vbG5hciA8bWluZ29AcmVkaGF0LmNvbT4KLQorU01QIElSUSBhZmZpbml0eQogCiAvcHJvYy9pcnEvSVJRIy9zbXBfYWZmaW5pdHkgc3BlY2lmaWVzIHdoaWNoIHRhcmdldCBDUFVzIGFyZSBwZXJtaXR0ZWQKIGZvciBhIGdpdmVuIElSUSBzb3VyY2UuIEl0J3MgYSBiaXRtYXNrIG9mIGFsbG93ZWQgQ1BVcy4gSXQncyBub3QgYWxsb3dlZAogdG8gdHVybiBvZmYgYWxsIENQVXMsIGFuZCBpZiBhbiBJUlEgY29udHJvbGxlciBkb2VzIG5vdCBzdXBwb3J0IElSUQogYWZmaW5pdHkgdGhlbiB0aGUgdmFsdWUgd2lsbCBub3QgY2hhbmdlIGZyb20gdGhlIGRlZmF1bHQgMHhmZmZmZmZmZi4KIAotSGVyZSBpcyBhbiBleGFtcGxlIG9mIHJlc3RyaWN0aW5nIElSUTQ0IChldGgxKSB0byBDUFUwLTMgdGhlbiByZXN0cmljdGluZwotdGhlIElSUSB0byBDUFU0LTcgKHRoaXMgaXMgYW4gOC1DUFUgU01QIGJveCk6CisvcHJvYy9pcnEvZGVmYXVsdF9zbXBfYWZmaW5pdHkgc3BlY2lmaWVzIGRlZmF1bHQgYWZmaW5pdHkgbWFzayB0aGF0IGFwcGxpZXMKK3RvIGFsbCBub24tYWN0aXZlIElSUXMuIE9uY2UgSVJRIGlzIGFsbG9jYXRlZC9hY3RpdmF0ZWQgaXRzIGFmZmluaXR5IGJpdG1hc2sKK3dpbGwgYmUgc2V0IHRvIHRoZSBkZWZhdWx0IG1hc2suIEl0IGNhbiB0aGVuIGJlIGNoYW5nZWQgYXMgZGVzY3JpYmVkIGFib3ZlLgorRGVmYXVsdCBtYXNrIGlzIDB4ZmZmZmZmZmYuCiAKK0hlcmUgaXMgYW4gZXhhbXBsZSBvZiByZXN0cmljdGluZyBJUlE0NCAoZXRoMSkgdG8gQ1BVMC0zIHRoZW4gcmVzdHJpY3RpbmcKK2l0IHRvIENQVTQtNyAodGhpcyBpcyBhbiA4LUNQVSBTTVAgYm94KToKKworW3Jvb3RAbW9vbiA0NF0jIGNkIC9wcm9jL2lycS80NAogW3Jvb3RAbW9vbiA0NF0jIGNhdCBzbXBfYWZmaW5pdHkKIGZmZmZmZmZmCisKIFtyb290QG1vb24gNDRdIyBlY2hvIDBmID4gc21wX2FmZmluaXR5CiBbcm9vdEBtb29uIDQ0XSMgY2F0IHNtcF9hZmZpbml0eQogMDAwMDAwMGYKQEAgLTIxLDE3ICszMCwyNyBAQAogLS0tIGhlbGwgcGluZyBzdGF0aXN0aWNzIC0tLQogNjAyOSBwYWNrZXRzIHRyYW5zbWl0dGVkLCA2MDI3IHBhY2tldHMgcmVjZWl2ZWQsIDAlIHBhY2tldCBsb3NzCiByb3VuZC10cmlwIG1pbi9hdmcvbWF4ID0gMC4xLzAuMS8wLjQgbXMKLVtyb290QG1vb24gNDRdIyBjYXQgL3Byb2MvaW50ZXJydXB0cyB8IGdyZXAgNDQ6Ci0gNDQ6ICAgICAgICAgIDAgICAgICAgMTc4NSAgICAgICAxNzg1ICAgICAgIDE3ODMgICAgICAgMTc4MyAgICAgICAgICAxCi0xICAgICAgICAgIDAgICBJTy1BUElDLWxldmVsICBldGgxCitbcm9vdEBtb29uIDQ0XSMgY2F0IC9wcm9jL2ludGVycnVwdHMgfCBncmVwICdDUFVcfDQ0OicKKyAgICAgICAgICAgQ1BVMCAgICAgICBDUFUxICAgICAgIENQVTIgICAgICAgQ1BVMyAgICAgIENQVTQgICAgICAgQ1BVNSAgICAgICAgQ1BVNiAgICAgICBDUFU3CisgNDQ6ICAgICAgIDEwNjggICAgICAgMTc4NSAgICAgICAxNzg1ICAgICAgIDE3ODMgICAgICAgICAwICAgICAgICAgIDAgICAgICAgICAgIDAgICAgICAgICAwICAgIElPLUFQSUMtbGV2ZWwgIGV0aDEKKworQXMgY2FuIGJlIHNlZW4gZnJvbSB0aGUgbGluZSBhYm92ZSBJUlE0NCB3YXMgZGVsaXZlcmVkIG9ubHkgdG8gdGhlIGZpcnN0IGZvdXIKK3Byb2Nlc3NvcnMgKDAtMykuCitOb3cgbGV0cyByZXN0cmljdCB0aGF0IElSUSB0byBDUFUoNC03KS4KKwogW3Jvb3RAbW9vbiA0NF0jIGVjaG8gZjAgPiBzbXBfYWZmaW5pdHkKK1tyb290QG1vb24gNDRdIyBjYXQgc21wX2FmZmluaXR5CiswMDAwMDBmMAogW3Jvb3RAbW9vbiA0NF0jIHBpbmcgLWYgaAogUElORyBoZWxsICgxOTUuNC43LjMpOiA1NiBkYXRhIGJ5dGVzCiAuLgogLS0tIGhlbGwgcGluZyBzdGF0aXN0aWNzIC0tLQogMjc3OSBwYWNrZXRzIHRyYW5zbWl0dGVkLCAyNzc3IHBhY2tldHMgcmVjZWl2ZWQsIDAlIHBhY2tldCBsb3NzCiByb3VuZC10cmlwIG1pbi9hdmcvbWF4ID0gMC4xLzAuNS81ODUuNCBtcwotW3Jvb3RAbW9vbiA0NF0jIGNhdCAvcHJvYy9pbnRlcnJ1cHRzIHwgZ3JlcCA0NDoKLSA0NDogICAgICAgMTA2OCAgICAgICAxNzg1ICAgICAgIDE3ODUgICAgICAgMTc4NCAgICAgICAxNzg0ICAgICAgIDEwNjkgICAgICAgMTA3MCAgICAgICAxMDY5ICAgSU8tQVBJQy1sZXZlbCAgZXRoMQotW3Jvb3RAbW9vbiA0NF0jCitbcm9vdEBtb29uIDQ0XSMgY2F0IC9wcm9jL2ludGVycnVwdHMgfCAgJ0NQVVx8NDQ6JworICAgICAgICAgICBDUFUwICAgICAgIENQVTEgICAgICAgQ1BVMiAgICAgICBDUFUzICAgICAgQ1BVNCAgICAgICBDUFU1ICAgICAgICBDUFU2ICAgICAgIENQVTcKKyA0NDogICAgICAgMTA2OCAgICAgICAxNzg1ICAgICAgIDE3ODUgICAgICAgMTc4MyAgICAgIDE3ODQgICAgICAgMTA2OSAgICAgICAgMTA3MCAgICAgICAxMDY5ICAgSU8tQVBJQy1sZXZlbCAgZXRoMQorCitUaGlzIHRpbWUgYXJvdW5kIElSUTQ0IHdhcyBkZWxpdmVyZWQgb25seSB0byB0aGUgbGFzdCBmb3VyIHByb2Nlc3NvcnMuCitpLmUgY291bnRlcnMgZm9yIHRoZSBDUFUwLTMgZGlkIG5vdCBjaGFuZ2UuCiAKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vUkNVL05NSS1SQ1UudHh0IGIvRG9jdW1lbnRhdGlvbi9SQ1UvTk1JLVJDVS50eHQKaW5kZXggYzY0MTU4ZS4uYTZkMzJlNiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9SQ1UvTk1JLVJDVS50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9SQ1UvTk1JLVJDVS50eHQKQEAgLTkzLDYgKzkzLDkgQEAKIG5vdCB0byByZXR1cm4gdW50aWwgYWxsIG9uZ29pbmcgTk1JIGhhbmRsZXJzIGV4aXQuICBJdCBpcyB0aGVyZWZvcmUgc2FmZQogdG8gZnJlZSB1cCB0aGUgaGFuZGxlcidzIGRhdGEgYXMgc29vbiBhcyBzeW5jaHJvbml6ZV9zY2hlZCgpIHJldHVybnMuCiAKK0ltcG9ydGFudCBub3RlOiBmb3IgdGhpcyB0byB3b3JrLCB0aGUgYXJjaGl0ZWN0dXJlIGluIHF1ZXN0aW9uIG11c3QKK2ludm9rZSBpcnFfZW50ZXIoKSBhbmQgaXJxX2V4aXQoKSBvbiBOTUkgZW50cnkgYW5kIGV4aXQsIHJlc3BlY3RpdmVseS4KKwogCiBBbnN3ZXIgdG8gUXVpY2sgUXVpegogCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL1JDVS9SVEZQLnR4dCBiL0RvY3VtZW50YXRpb24vUkNVL1JURlAudHh0CmluZGV4IDM5YWQ4ZjUuLjlmNzExZDIgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vUkNVL1JURlAudHh0CisrKyBiL0RvY3VtZW50YXRpb24vUkNVL1JURlAudHh0CkBAIC01Miw2ICs1MiwxMCBAQAogc3RydWN0dXJlZCBkYXRhLCBzdWNoIGFzIHRoZSBtYXRyaWNlcyB1c2VkIGluIHNjaWVudGlmaWMgcHJvZ3JhbXMsIGFuZAogaXMgdGh1cyBpbmFwcGxpY2FibGUgdG8gbW9zdCBkYXRhIHN0cnVjdHVyZXMgaW4gb3BlcmF0aW5nLXN5c3RlbSBrZXJuZWxzLgogCitJbiAxOTkyLCBIZW5yeSAobm93IEFsZXhpYSkgTWFzc2FsaW4gY29tcGxldGVkIGEgZGlzc2VydGF0aW9uIGFkdmlzaW5nCitwYXJhbGxlbCBwcm9ncmFtbWVycyB0byBkZWZlciBwcm9jZXNzaW5nIHdoZW4gZmVhc2libGUgdG8gc2ltcGxpZnkKK3N5bmNocm9uaXphdGlvbi4gIFJDVSBtYWtlcyBleHRyZW1lbHkgaGVhdnkgdXNlIG9mIHRoaXMgYWR2aWNlLgorCiBJbiAxOTkzLCBKYWNvYnNvbiBbSmFjb2Jzb245M10gdmVyYmFsbHkgZGVzY3JpYmVkIHdoYXQgaXMgcGVyaGFwcyB0aGUKIHNpbXBsZXN0IGRlZmVycmVkLWZyZWUgdGVjaG5pcXVlOiBzaW1wbHkgd2FpdGluZyBhIGZpeGVkIGFtb3VudCBvZiB0aW1lCiBiZWZvcmUgZnJlZWluZyBibG9ja3MgYXdhaXRpbmcgZGVmZXJyZWQgZnJlZS4gIEphY29ic29uIGRpZCBub3QgZGVzY3JpYmUKQEAgLTEzOCw2ICsxNDIsMTMgQEAKIFJvYmVydCBPbHNzb24gZGVzY3JpYmVkIGFuIFJDVS1wcm90ZWN0ZWQgdHJpZS1oYXNoIGNvbWJpbmF0aW9uCiBbUm9iZXJ0T2xzc29uMjAwNmFdLgogCisyMDA3IHNhdyB0aGUgam91cm5hbCB2ZXJzaW9uIG9mIHRoZSBhd2FyZC13aW5uaW5nIFJDVSBwYXBlciBmcm9tIDIwMDYKK1tUaG9tYXNFSGFydDIwMDdhXSwgYXMgd2VsbCBhcyBhIHBhcGVyIGRlbW9uc3RyYXRpbmcgdXNlIG9mIFByb21lbGEKK2FuZCBTcGluIHRvIG1lY2hhbmljYWxseSB2ZXJpZnkgYW4gb3B0aW1pemF0aW9uIHRvIE9sZWcgTmVzdGVyb3YncworUVJDVSBbUGF1bEVNY0tlbm5leTIwMDdRUkNVc3Bpbl0sIGEgZGVzaWduIGRvY3VtZW50IGRlc2NyaWJpbmcKK3ByZWVtcHRpYmxlIFJDVSBbUGF1bEVNY0tlbm5leTIwMDdQcmVlbXB0aWJsZVJDVV0sIGFuZCB0aGUgdGhyZWUtcGFydAorTFdOICJXaGF0IGlzIFJDVT8iIHNlcmllcyBbUGF1bEVNY0tlbm5leTIwMDdXaGF0SXNSQ1VGdW5kYW1lbnRhbGx5LAorUGF1bEVNY0tlbm5leTIwMDhXaGF0SXNSQ1VVc2FnZSwgYW5kIFBhdWxFTWNLZW5uZXkyMDA4V2hhdElzUkNVQVBJXS4KIAogQmlidGV4IEVudHJpZXMKIApAQCAtMjAyLDYgKzIxMywyMCBAQAogLFllYXI9IjE5OTEiCiB9CiAKK0BwaGR0aGVzaXN7SE1hc3NhbGluUGhECissYXV0aG9yPSJILiBNYXNzYWxpbiIKKyx0aXRsZT0iU3ludGhlc2lzOiBBbiBFZmZpY2llbnQgSW1wbGVtZW50YXRpb24gb2YgRnVuZGFtZW50YWwgT3BlcmF0aW5nCitTeXN0ZW0gU2VydmljZXMiCissc2Nob29sPSJDb2x1bWJpYSBVbml2ZXJzaXR5IgorLGFkZHJlc3M9Ik5ldyBZb3JrLCBOWSIKKyx5ZWFyPSIxOTkyIgorLGFubm90YXRpb249IgorCU1vbmRvIG9wdGltaXppbmcgY29tcGlsZXIuCisJV2FpdC1mcmVlIHN0dWZmLgorCUdvb2QgYWR2aWNlOiBkZWZlciB3b3JrIHRvIGF2b2lkIHN5bmNocm9uaXphdGlvbi4KKyIKK30KKwogQHVucHVibGlzaGVke0phY29ic29uOTMKICxhdXRob3I9IlZhbiBKYWNvYnNvbiIKICx0aXRsZT0iQXZvaWQgUmVhZC1TaWRlIExvY2tpbmcgVmlhIERlbGF5ZWQgRnJlZSIKQEAgLTYzNSwzICs2NjAsODYgQEAKICIKIH0KIAorQHVucHVibGlzaGVke1BhdWxFTWNLZW5uZXkyMDA3UHJlZW1wdGlibGVSQ1UKKyxBdXRob3I9IlBhdWwgRS4gTWNLZW5uZXkiCissVGl0bGU9IlRoZSBkZXNpZ24gb2YgcHJlZW1wdGlibGUgcmVhZC1jb3B5LXVwZGF0ZSIKKyxtb250aD0iT2N0b2JlciIKKyxkYXk9IjgiCisseWVhcj0iMjAwNyIKKyxub3RlPSJBdmFpbGFibGU6CitcdXJse2h0dHA6Ly9sd24ubmV0L0FydGljbGVzLzI1MzY1MS99CitbVmlld2VkIE9jdG9iZXIgMjUsIDIwMDddIgorLGFubm90YXRpb249IgorCUxXTiBhcnRpY2xlIGRlc2NyaWJpbmcgdGhlIGRlc2lnbiBvZiBwcmVlbXB0aWJsZSBSQ1UuCisiCit9CisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIworIwkiV2hhdCBpcyBSQ1U/IiBMV04gc2VyaWVzLgorIworCitAdW5wdWJsaXNoZWR7UGF1bEVNY0tlbm5leTIwMDdXaGF0SXNSQ1VGdW5kYW1lbnRhbGx5CissQXV0aG9yPSJQYXVsIEUuIE1jS2VubmV5IGFuZCBKb25hdGhhbiBXYWxwb2xlIgorLFRpdGxlPSJXaGF0IGlzIHtSQ1V9LCBGdW5kYW1lbnRhbGx5PyIKKyxtb250aD0iRGVjZW1iZXIiCissZGF5PSIxNyIKKyx5ZWFyPSIyMDA3IgorLG5vdGU9IkF2YWlsYWJsZToKK1x1cmx7aHR0cDovL2x3bi5uZXQvQXJ0aWNsZXMvMjYyNDY0L30KK1tWaWV3ZWQgRGVjZW1iZXIgMjcsIDIwMDddIgorLGFubm90YXRpb249IgorCUxheXMgb3V0IHRoZSB0aHJlZSBiYXNpYyBjb21wb25lbnRzIG9mIFJDVTogKDEpIHB1Ymxpc2gtc3Vic2NyaWJlLAorCSgyKSB3YWl0IGZvciBwcmUtZXhpc3RpbmcgcmVhZGVycyB0byBjb21wbGV0ZSwgYW5kICgyKSBtYWludGFpbgorCW11bHRpcGxlIHZlcnNpb25zLgorIgorfQorCitAdW5wdWJsaXNoZWR7UGF1bEVNY0tlbm5leTIwMDhXaGF0SXNSQ1VVc2FnZQorLEF1dGhvcj0iUGF1bCBFLiBNY0tlbm5leSIKKyxUaXRsZT0iV2hhdCBpcyB7UkNVfT8gUGFydCAyOiBVc2FnZSIKKyxtb250aD0iSmFudWFyeSIKKyxkYXk9IjQiCisseWVhcj0iMjAwOCIKKyxub3RlPSJBdmFpbGFibGU6CitcdXJse2h0dHA6Ly9sd24ubmV0L0FydGljbGVzLzI2MzEzMC99CitbVmlld2VkIEphbnVhcnkgNCwgMjAwOF0iCissYW5ub3RhdGlvbj0iCisJTGF5cyBvdXQgc2l4IHVzZXMgb2YgUkNVOgorCTEuIFJDVSBpcyBhIFJlYWRlci1Xcml0ZXIgTG9jayBSZXBsYWNlbWVudAorCTIuIFJDVSBpcyBhIFJlc3RyaWN0ZWQgUmVmZXJlbmNlLUNvdW50aW5nIE1lY2hhbmlzbQorCTMuIFJDVSBpcyBhIEJ1bGsgUmVmZXJlbmNlLUNvdW50aW5nIE1lY2hhbmlzbQorCTQuIFJDVSBpcyBhIFBvb3IgTWFuJ3MgR2FyYmFnZSBDb2xsZWN0b3IKKwk1LiBSQ1UgaXMgYSBXYXkgb2YgUHJvdmlkaW5nIEV4aXN0ZW5jZSBHdWFyYW50ZWVzCisJNi4gUkNVIGlzIGEgV2F5IG9mIFdhaXRpbmcgZm9yIFRoaW5ncyB0byBGaW5pc2ggCisiCit9CisKK0B1bnB1Ymxpc2hlZHtQYXVsRU1jS2VubmV5MjAwOFdoYXRJc1JDVUFQSQorLEF1dGhvcj0iUGF1bCBFLiBNY0tlbm5leSIKKyxUaXRsZT0ie1JDVX0gcGFydCAzOiB0aGUge1JDVX0ge0FQSX0iCissbW9udGg9IkphbnVhcnkiCissZGF5PSIxNyIKKyx5ZWFyPSIyMDA4IgorLG5vdGU9IkF2YWlsYWJsZToKK1x1cmx7aHR0cDovL2x3bi5uZXQvQXJ0aWNsZXMvMjY0MDkwL30KK1tWaWV3ZWQgSmFudWFyeSAxMCwgMjAwOF0iCissYW5ub3RhdGlvbj0iCisJR2l2ZXMgYW4gb3ZlcnZpZXcgb2YgdGhlIExpbnV4LWtlcm5lbCBSQ1UgQVBJIGFuZCBhIGJyaWVmIGFubm90YXRlZCBSQ1UKKwliaWJsaW9ncmFwaHkuCisiCit9CisKK0BhcnRpY2xle0RpbmFrYXJHdW5pZ3VudGFsYTIwMDhJQk1TeXNKCissYXV0aG9yPSJELiBHdW5pZ3VudGFsYSBhbmQgUC4gRS4gTWNLZW5uZXkgYW5kIEouIFRyaXBsZXR0IGFuZCBKLiBXYWxwb2xlIgorLHRpdGxlPSJUaGUgcmVhZC1jb3B5LXVwZGF0ZSBtZWNoYW5pc20gZm9yIHN1cHBvcnRpbmcgcmVhbC10aW1lIGFwcGxpY2F0aW9ucyBvbiBzaGFyZWQtbWVtb3J5IG11bHRpcHJvY2Vzc29yIHN5c3RlbXMgd2l0aCB7TGludXh9IgorLFllYXI9IjIwMDgiCissTW9udGg9IkFwcmlsIgorLGpvdXJuYWw9IklCTSBTeXN0ZW1zIEpvdXJuYWwiCissdm9sdW1lPSI0NyIKKyxudW1iZXI9IjIiCisscGFnZXM9IkBALUBAIgorLGFubm90YXRpb249IgorCVJDVSwgcmVhbHRpbWUgUkNVLCBzbGVlcGFibGUgUkNVLCBwZXJmb3JtYW5jZS4KKyIKK30KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vUkNVL2NoZWNrbGlzdC50eHQgYi9Eb2N1bWVudGF0aW9uL1JDVS9jaGVja2xpc3QudHh0CmluZGV4IDQyYjAxYmMuLmNmNTU2MmMgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vUkNVL2NoZWNrbGlzdC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9SQ1UvY2hlY2tsaXN0LnR4dApAQCAtMTMsMTAgKzEzLDEzIEBACiAJZGV0YWlsZWQgcGVyZm9ybWFuY2UgbWVhc3VyZW1lbnRzIHNob3cgdGhhdCBSQ1UgaXMgbm9uZXRoZWxlc3MKIAl0aGUgcmlnaHQgdG9vbCBmb3IgdGhlIGpvYi4KIAotCVRoZSBvdGhlciBleGNlcHRpb24gd291bGQgYmUgd2hlcmUgcGVyZm9ybWFuY2UgaXMgbm90IGFuIGlzc3VlLAotCWFuZCBSQ1UgcHJvdmlkZXMgYSBzaW1wbGVyIGltcGxlbWVudGF0aW9uLiAgQW4gZXhhbXBsZSBvZiB0aGlzCi0Jc2l0dWF0aW9uIGlzIHRoZSBkeW5hbWljIE5NSSBjb2RlIGluIHRoZSBMaW51eCAyLjYga2VybmVsLAotCWF0IGxlYXN0IG9uIGFyY2hpdGVjdHVyZXMgd2hlcmUgTk1JcyBhcmUgcmFyZS4KKwlBbm90aGVyIGV4Y2VwdGlvbiBpcyB3aGVyZSBwZXJmb3JtYW5jZSBpcyBub3QgYW4gaXNzdWUsIGFuZCBSQ1UKKwlwcm92aWRlcyBhIHNpbXBsZXIgaW1wbGVtZW50YXRpb24uICBBbiBleGFtcGxlIG9mIHRoaXMgc2l0dWF0aW9uCisJaXMgdGhlIGR5bmFtaWMgTk1JIGNvZGUgaW4gdGhlIExpbnV4IDIuNiBrZXJuZWwsIGF0IGxlYXN0IG9uCisJYXJjaGl0ZWN0dXJlcyB3aGVyZSBOTUlzIGFyZSByYXJlLgorCisJWWV0IGFub3RoZXIgZXhjZXB0aW9uIGlzIHdoZXJlIHRoZSBsb3cgcmVhbC10aW1lIGxhdGVuY3kgb2YgUkNVJ3MKKwlyZWFkLXNpZGUgcHJpbWl0aXZlcyBpcyBjcml0aWNhbGx5IGltcG9ydGFudC4KIAogMS4JRG9lcyB0aGUgdXBkYXRlIGNvZGUgaGF2ZSBwcm9wZXIgbXV0dWFsIGV4Y2x1c2lvbj8KIApAQCAtMzksOSArNDIsMTAgQEAKIAogMi4JRG8gdGhlIFJDVSByZWFkLXNpZGUgY3JpdGljYWwgc2VjdGlvbnMgbWFrZSBwcm9wZXIgdXNlIG9mCiAJcmN1X3JlYWRfbG9jaygpIGFuZCBmcmllbmRzPyAgVGhlc2UgcHJpbWl0aXZlcyBhcmUgbmVlZGVkCi0JdG8gc3VwcHJlc3MgcHJlZW1wdGlvbiAob3IgYm90dG9tIGhhbHZlcywgaW4gdGhlIGNhc2Ugb2YKLQlyY3VfcmVhZF9sb2NrX2JoKCkpIGluIHRoZSByZWFkLXNpZGUgY3JpdGljYWwgc2VjdGlvbnMsCi0JYW5kIGFyZSBhbHNvIGFuIGV4Y2VsbGVudCBhaWQgdG8gcmVhZGFiaWxpdHkuCisJdG8gcHJldmVudCBncmFjZSBwZXJpb2RzIGZyb20gZW5kaW5nIHByZW1hdHVyZWx5LCB3aGljaAorCWNvdWxkIHJlc3VsdCBpbiBkYXRhIGJlaW5nIHVuY2VyZW1vbmlvdXNseSBmcmVlZCBvdXQgZnJvbQorCXVuZGVyIHlvdXIgcmVhZC1zaWRlIGNvZGUsIHdoaWNoIGNhbiBncmVhdGx5IGluY3JlYXNlIHRoZQorCWFjdHVhcmlhbCByaXNrIG9mIHlvdXIga2VybmVsLgogCiAJQXMgYSByb3VnaCBydWxlIG9mIHRodW1iLCBhbnkgZGVyZWZlcmVuY2Ugb2YgYW4gUkNVLXByb3RlY3RlZAogCXBvaW50ZXIgbXVzdCBiZSBjb3ZlcmVkIGJ5IHJjdV9yZWFkX2xvY2soKSBvciByY3VfcmVhZF9sb2NrX2JoKCkKQEAgLTU0LDE1ICs1OCwzMCBAQAogCWJlIHJ1bm5pbmcgd2hpbGUgdXBkYXRlcyBhcmUgaW4gcHJvZ3Jlc3MuICBUaGVyZSBhcmUgYSBudW1iZXIKIAlvZiB3YXlzIHRvIGhhbmRsZSB0aGlzIGNvbmN1cnJlbmN5LCBkZXBlbmRpbmcgb24gdGhlIHNpdHVhdGlvbjoKIAotCWEuCU1ha2UgdXBkYXRlcyBhcHBlYXIgYXRvbWljIHRvIHJlYWRlcnMuICBGb3IgZXhhbXBsZSwKKwlhLglVc2UgdGhlIFJDVSB2YXJpYW50cyBvZiB0aGUgbGlzdCBhbmQgaGxpc3QgdXBkYXRlCisJCXByaW1pdGl2ZXMgdG8gYWRkLCByZW1vdmUsIGFuZCByZXBsYWNlIGVsZW1lbnRzIG9uIGFuCisJCVJDVS1wcm90ZWN0ZWQgbGlzdC4gIEFsdGVybmF0aXZlbHksIHVzZSB0aGUgUkNVLXByb3RlY3RlZAorCQl0cmVlcyB0aGF0IGhhdmUgYmVlbiBhZGRlZCB0byB0aGUgTGludXgga2VybmVsLgorCisJCVRoaXMgaXMgYWxtb3N0IGFsd2F5cyB0aGUgYmVzdCBhcHByb2FjaC4KKworCWIuCVByb2NlZWQgYXMgaW4gKGEpIGFib3ZlLCBidXQgYWxzbyBtYWludGFpbiBwZXItZWxlbWVudAorCQlsb2NrcyAodGhhdCBhcmUgYWNxdWlyZWQgYnkgYm90aCByZWFkZXJzIGFuZCB3cml0ZXJzKQorCQl0aGF0IGd1YXJkIHBlci1lbGVtZW50IHN0YXRlLiAgT2YgY291cnNlLCBmaWVsZHMgdGhhdAorCQl0aGUgcmVhZGVycyByZWZyYWluIGZyb20gYWNjZXNzaW5nIGNhbiBiZSBndWFyZGVkIGJ5IHRoZQorCQl1cGRhdGUtc2lkZSBsb2NrLgorCisJCVRoaXMgd29ya3MgcXVpdGUgd2VsbCwgYWxzby4KKworCWMuCU1ha2UgdXBkYXRlcyBhcHBlYXIgYXRvbWljIHRvIHJlYWRlcnMuICBGb3IgZXhhbXBsZSwKIAkJcG9pbnRlciB1cGRhdGVzIHRvIHByb3Blcmx5IGFsaWduZWQgZmllbGRzIHdpbGwgYXBwZWFyCiAJCWF0b21pYywgYXMgd2lsbCBpbmRpdmlkdWFsIGF0b21pYyBwcmltaXRpdmVzLiAgT3BlcmF0aW9ucwogCQlwZXJmb3JtZWQgdW5kZXIgYSBsb2NrIGFuZCBzZXF1ZW5jZXMgb2YgbXVsdGlwbGUgYXRvbWljCiAJCXByaW1pdGl2ZXMgd2lsbCAtbm90LSBhcHBlYXIgdG8gYmUgYXRvbWljLgogCi0JCVRoaXMgaXMgYWxtb3N0IGFsd2F5cyB0aGUgYmVzdCBhcHByb2FjaC4KKwkJVGhpcyBjYW4gd29yaywgYnV0IGlzIHN0YXJ0aW5nIHRvIGdldCBhIGJpdCB0cmlja3kuCiAKLQliLglDYXJlZnVsbHkgb3JkZXIgdGhlIHVwZGF0ZXMgYW5kIHRoZSByZWFkcyBzbyB0aGF0CisJZC4JQ2FyZWZ1bGx5IG9yZGVyIHRoZSB1cGRhdGVzIGFuZCB0aGUgcmVhZHMgc28gdGhhdAogCQlyZWFkZXJzIHNlZSB2YWxpZCBkYXRhIGF0IGFsbCBwaGFzZXMgb2YgdGhlIHVwZGF0ZS4KIAkJVGhpcyBpcyBvZnRlbiBtb3JlIGRpZmZpY3VsdCB0aGFuIGl0IHNvdW5kcywgZXNwZWNpYWxseQogCQlnaXZlbiBtb2Rlcm4gQ1BVcycgdGVuZGVuY3kgdG8gcmVvcmRlciBtZW1vcnkgcmVmZXJlbmNlcy4KQEAgLTEyMywxOCArMTQyLDIyIEBACiAJCXdoZW4gcHVibGljaXppbmcgYSBwb2ludGVyIHRvIGEgc3RydWN0dXJlIHRoYXQgY2FuCiAJCWJlIHRyYXZlcnNlZCBieSBhbiBSQ1UgcmVhZC1zaWRlIGNyaXRpY2FsIHNlY3Rpb24uCiAKLTUuCUlmIGNhbGxfcmN1KCksIG9yIGEgcmVsYXRlZCBwcmltaXRpdmUgc3VjaCBhcyBjYWxsX3JjdV9iaCgpLAotCWlzIHVzZWQsIHRoZSBjYWxsYmFjayBmdW5jdGlvbiBtdXN0IGJlIHdyaXR0ZW4gdG8gYmUgY2FsbGVkCi0JZnJvbSBzb2Z0aXJxIGNvbnRleHQuICBJbiBwYXJ0aWN1bGFyLCBpdCBjYW5ub3QgYmxvY2suCis1LglJZiBjYWxsX3JjdSgpLCBvciBhIHJlbGF0ZWQgcHJpbWl0aXZlIHN1Y2ggYXMgY2FsbF9yY3VfYmgoKSBvcgorCWNhbGxfcmN1X3NjaGVkKCksIGlzIHVzZWQsIHRoZSBjYWxsYmFjayBmdW5jdGlvbiBtdXN0IGJlCisJd3JpdHRlbiB0byBiZSBjYWxsZWQgZnJvbSBzb2Z0aXJxIGNvbnRleHQuICBJbiBwYXJ0aWN1bGFyLAorCWl0IGNhbm5vdCBibG9jay4KIAogNi4JU2luY2Ugc3luY2hyb25pemVfcmN1KCkgY2FuIGJsb2NrLCBpdCBjYW5ub3QgYmUgY2FsbGVkIGZyb20KLQlhbnkgc29ydCBvZiBpcnEgY29udGV4dC4KKwlhbnkgc29ydCBvZiBpcnEgY29udGV4dC4gIERpdHRvIGZvciBzeW5jaHJvbml6ZV9zY2hlZCgpIGFuZAorCXN5bmNocm9uaXplX3NyY3UoKS4KIAogNy4JSWYgdGhlIHVwZGF0ZXIgdXNlcyBjYWxsX3JjdSgpLCB0aGVuIHRoZSBjb3JyZXNwb25kaW5nIHJlYWRlcnMKIAltdXN0IHVzZSByY3VfcmVhZF9sb2NrKCkgYW5kIHJjdV9yZWFkX3VubG9jaygpLiAgSWYgdGhlIHVwZGF0ZXIKIAl1c2VzIGNhbGxfcmN1X2JoKCksIHRoZW4gdGhlIGNvcnJlc3BvbmRpbmcgcmVhZGVycyBtdXN0IHVzZQotCXJjdV9yZWFkX2xvY2tfYmgoKSBhbmQgcmN1X3JlYWRfdW5sb2NrX2JoKCkuICBNaXhpbmcgdGhpbmdzIHVwCi0Jd2lsbCByZXN1bHQgaW4gY29uZnVzaW9uIGFuZCBicm9rZW4ga2VybmVscy4KKwlyY3VfcmVhZF9sb2NrX2JoKCkgYW5kIHJjdV9yZWFkX3VubG9ja19iaCgpLiAgSWYgdGhlIHVwZGF0ZXIKKwl1c2VzIGNhbGxfcmN1X3NjaGVkKCksIHRoZW4gdGhlIGNvcnJlc3BvbmRpbmcgcmVhZGVycyBtdXN0CisJZGlzYWJsZSBwcmVlbXB0aW9uLiAgTWl4aW5nIHRoaW5ncyB1cCB3aWxsIHJlc3VsdCBpbiBjb25mdXNpb24KKwlhbmQgYnJva2VuIGtlcm5lbHMuCiAKIAlPbmUgZXhjZXB0aW9uIHRvIHRoaXMgcnVsZTogcmN1X3JlYWRfbG9jaygpIGFuZCByY3VfcmVhZF91bmxvY2soKQogCW1heSBiZSBzdWJzdGl0dXRlZCBmb3IgcmN1X3JlYWRfbG9ja19iaCgpIGFuZCByY3VfcmVhZF91bmxvY2tfYmgoKQpAQCAtMTQzLDkgKzE2Niw5IEBACiAJc3VjaCBjYXNlcyBpcyBhIG11c3QsIG9mIGNvdXJzZSEgIEFuZCB0aGUganVyeSBpcyBzdGlsbCBvdXQgb24KIAl3aGV0aGVyIHRoZSBpbmNyZWFzZWQgc3BlZWQgaXMgd29ydGggaXQuCiAKLTguCUFsdGhvdWdoIHN5bmNocm9uaXplX3JjdSgpIGlzIGEgYml0IHNsb3dlciB0aGFuIGlzIGNhbGxfcmN1KCksCi0JaXQgdXN1YWxseSByZXN1bHRzIGluIHNpbXBsZXIgY29kZS4gIFNvLCB1bmxlc3MgdXBkYXRlCi0JcGVyZm9ybWFuY2UgaXMgY3JpdGljYWxseSBpbXBvcnRhbnQgb3IgdGhlIHVwZGF0ZXJzIGNhbm5vdCBibG9jaywKKzguCUFsdGhvdWdoIHN5bmNocm9uaXplX3JjdSgpIGlzIHNsb3dlciB0aGFuIGlzIGNhbGxfcmN1KCksIGl0CisJdXN1YWxseSByZXN1bHRzIGluIHNpbXBsZXIgY29kZS4gIFNvLCB1bmxlc3MgdXBkYXRlIHBlcmZvcm1hbmNlCisJaXMgY3JpdGljYWxseSBpbXBvcnRhbnQgb3IgdGhlIHVwZGF0ZXJzIGNhbm5vdCBibG9jaywKIAlzeW5jaHJvbml6ZV9yY3UoKSBzaG91bGQgYmUgdXNlZCBpbiBwcmVmZXJlbmNlIHRvIGNhbGxfcmN1KCkuCiAKIAlBbiBlc3BlY2lhbGx5IGltcG9ydGFudCBwcm9wZXJ0eSBvZiB0aGUgc3luY2hyb25pemVfcmN1KCkKQEAgLTE4NywyMyArMjEwLDIzIEBACiAJCW51bWJlciBvZiB1cGRhdGVzIHBlciBncmFjZSBwZXJpb2QuCiAKIDkuCUFsbCBSQ1UgbGlzdC10cmF2ZXJzYWwgcHJpbWl0aXZlcywgd2hpY2ggaW5jbHVkZQotCWxpc3RfZm9yX2VhY2hfcmN1KCksIGxpc3RfZm9yX2VhY2hfZW50cnlfcmN1KCksCisJcmN1X2RlcmVmZXJlbmNlKCksIGxpc3RfZm9yX2VhY2hfcmN1KCksIGxpc3RfZm9yX2VhY2hfZW50cnlfcmN1KCksCiAJbGlzdF9mb3JfZWFjaF9jb250aW51ZV9yY3UoKSwgYW5kIGxpc3RfZm9yX2VhY2hfc2FmZV9yY3UoKSwKLQltdXN0IGJlIHdpdGhpbiBhbiBSQ1UgcmVhZC1zaWRlIGNyaXRpY2FsIHNlY3Rpb24uICBSQ1UKKwltdXN0IGJlIGVpdGhlciB3aXRoaW4gYW4gUkNVIHJlYWQtc2lkZSBjcml0aWNhbCBzZWN0aW9uIG9yCisJbXVzdCBiZSBwcm90ZWN0ZWQgYnkgYXBwcm9wcmlhdGUgdXBkYXRlLXNpZGUgbG9ja3MuICBSQ1UKIAlyZWFkLXNpZGUgY3JpdGljYWwgc2VjdGlvbnMgYXJlIGRlbGltaXRlZCBieSByY3VfcmVhZF9sb2NrKCkKIAlhbmQgcmN1X3JlYWRfdW5sb2NrKCksIG9yIGJ5IHNpbWlsYXIgcHJpbWl0aXZlcyBzdWNoIGFzCiAJcmN1X3JlYWRfbG9ja19iaCgpIGFuZCByY3VfcmVhZF91bmxvY2tfYmgoKS4KIAotCVVzZSBvZiB0aGUgX3JjdSgpIGxpc3QtdHJhdmVyc2FsIHByaW1pdGl2ZXMgb3V0c2lkZSBvZiBhbgotCVJDVSByZWFkLXNpZGUgY3JpdGljYWwgc2VjdGlvbiBjYXVzZXMgbm8gaGFybSBvdGhlciB0aGFuCi0JYSBzbGlnaHQgcGVyZm9ybWFuY2UgZGVncmFkYXRpb24gb24gQWxwaGEgQ1BVcy4gIEl0IGNhbgotCWFsc28gYmUgcXVpdGUgaGVscGZ1bCBpbiByZWR1Y2luZyBjb2RlIGJsb2F0IHdoZW4gY29tbW9uCi0JY29kZSBpcyBzaGFyZWQgYmV0d2VlbiByZWFkZXJzIGFuZCB1cGRhdGVycy4KKwlUaGUgcmVhc29uIHRoYXQgaXQgaXMgcGVybWlzc2libGUgdG8gdXNlIFJDVSBsaXN0LXRyYXZlcnNhbAorCXByaW1pdGl2ZXMgd2hlbiB0aGUgdXBkYXRlLXNpZGUgbG9jayBpcyBoZWxkIGlzIHRoYXQgZG9pbmcgc28KKwljYW4gYmUgcXVpdGUgaGVscGZ1bCBpbiByZWR1Y2luZyBjb2RlIGJsb2F0IHdoZW4gY29tbW9uIGNvZGUgaXMKKwlzaGFyZWQgYmV0d2VlbiByZWFkZXJzIGFuZCB1cGRhdGVycy4KIAogMTAuCUNvbnZlcnNlbHksIGlmIHlvdSBhcmUgaW4gYW4gUkNVIHJlYWQtc2lkZSBjcml0aWNhbCBzZWN0aW9uLAotCXlvdSAtbXVzdC0gdXNlIHRoZSAiX3JjdSgpIiB2YXJpYW50cyBvZiB0aGUgbGlzdCBtYWNyb3MuCi0JRmFpbGluZyB0byBkbyBzbyB3aWxsIGJyZWFrIEFscGhhIGFuZCBjb25mdXNlIHBlb3BsZSByZWFkaW5nCi0JeW91ciBjb2RlLgorCWFuZCB5b3UgZG9uJ3QgaG9sZCB0aGUgYXBwcm9wcmlhdGUgdXBkYXRlLXNpZGUgbG9jaywgeW91IC1tdXN0LQorCXVzZSB0aGUgIl9yY3UoKSIgdmFyaWFudHMgb2YgdGhlIGxpc3QgbWFjcm9zLiAgRmFpbGluZyB0byBkbyBzbworCXdpbGwgYnJlYWsgQWxwaGEgYW5kIGNvbmZ1c2UgcGVvcGxlIHJlYWRpbmcgeW91ciBjb2RlLgogCiAxMS4JTm90ZSB0aGF0IHN5bmNocm9uaXplX3JjdSgpIC1vbmx5LSBndWFyYW50ZWVzIHRvIHdhaXQgdW50aWwKIAlhbGwgY3VycmVudGx5IGV4ZWN1dGluZyByY3VfcmVhZF9sb2NrKCktcHJvdGVjdGVkIFJDVSByZWFkLXNpZGUKQEAgLTIzMCw2ICsyNTMsMTQgQEAKIAltdXN0IHVzZSB3aGF0ZXZlciBsb2NraW5nIG9yIG90aGVyIHN5bmNocm9uaXphdGlvbiBpcyByZXF1aXJlZAogCXRvIHNhZmVseSBhY2Nlc3MgYW5kL29yIG1vZGlmeSB0aGF0IGRhdGEgc3RydWN0dXJlLgogCisJUkNVIGNhbGxiYWNrcyBhcmUgLXVzdWFsbHktIGV4ZWN1dGVkIG9uIHRoZSBzYW1lIENQVSB0aGF0IGV4ZWN1dGVkCisJdGhlIGNvcnJlc3BvbmRpbmcgY2FsbF9yY3UoKSwgY2FsbF9yY3VfYmgoKSwgb3IgY2FsbF9yY3Vfc2NoZWQoKSwKKwlidXQgYXJlIGJ5IC1uby0gbWVhbnMgZ3VhcmFudGVlZCB0byBiZS4gIEZvciBleGFtcGxlLCBpZiBhIGdpdmVuCisJQ1BVIGdvZXMgb2ZmbGluZSB3aGlsZSBoYXZpbmcgYW4gUkNVIGNhbGxiYWNrIHBlbmRpbmcsIHRoZW4gdGhhdAorCVJDVSBjYWxsYmFjayB3aWxsIGV4ZWN1dGUgb24gc29tZSBzdXJ2aXZpbmcgQ1BVLiAgKElmIHRoaXMgd2FzCisJbm90IHRoZSBjYXNlLCBhIHNlbGYtc3Bhd25pbmcgUkNVIGNhbGxiYWNrIHdvdWxkIHByZXZlbnQgdGhlCisJdmljdGltIENQVSBmcm9tIGV2ZXIgZ29pbmcgb2ZmbGluZS4pCisKIDE0LglTUkNVIChzcmN1X3JlYWRfbG9jaygpLCBzcmN1X3JlYWRfdW5sb2NrKCksIGFuZCBzeW5jaHJvbml6ZV9zcmN1KCkpCiAJbWF5IG9ubHkgYmUgaW52b2tlZCBmcm9tIHByb2Nlc3MgY29udGV4dC4gIFVubGlrZSBvdGhlciBmb3JtcyBvZgogCVJDVSwgaXQgLWlzLSBwZXJtaXNzaWJsZSB0byBibG9jayBpbiBhbiBTUkNVIHJlYWQtc2lkZSBjcml0aWNhbApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9SQ1UvdG9ydHVyZS50eHQgYi9Eb2N1bWVudGF0aW9uL1JDVS90b3J0dXJlLnR4dAppbmRleCAyOTY3YTY1Li5hMzQyYjZlIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL1JDVS90b3J0dXJlLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL1JDVS90b3J0dXJlLnR4dApAQCAtMTAsMjMgKzEwLDMwIEBACiBjb21tYW5kIChwZXJoYXBzIGdyZXBwaW5nIGZvciAidG9ydHVyZSIpLiAgVGhlIHRlc3QgaXMgc3RhcnRlZAogd2hlbiB0aGUgbW9kdWxlIGlzIGxvYWRlZCwgYW5kIHN0b3BzIHdoZW4gdGhlIG1vZHVsZSBpcyB1bmxvYWRlZC4KIAotSG93ZXZlciwgYWN0dWFsbHkgc2V0dGluZyB0aGlzIGNvbmZpZyBvcHRpb24gdG8gInkiIHJlc3VsdHMgaW4gdGhlIHN5c3RlbQotcnVubmluZyB0aGUgdGVzdCBpbW1lZGlhdGVseSB1cG9uIGJvb3QsIGFuZCBlbmRpbmcgb25seSB3aGVuIHRoZSBzeXN0ZW0KLWlzIHRha2VuIGRvd24uICBOb3JtYWxseSwgb25lIHdpbGwgaW5zdGVhZCB3YW50IHRvIGJ1aWxkIHRoZSBzeXN0ZW0KLXdpdGggQ09ORklHX1JDVV9UT1JUVVJFX1RFU1Q9bSBhbmQgdG8gdXNlIG1vZHByb2JlIGFuZCBybW1vZCB0byBjb250cm9sCi10aGUgdGVzdCwgcGVyaGFwcyB1c2luZyBhIHNjcmlwdCBzaW1pbGFyIHRvIHRoZSBvbmUgc2hvd24gYXQgdGhlIGVuZCBvZgotdGhpcyBkb2N1bWVudC4gIE5vdGUgdGhhdCB5b3Ugd2lsbCBuZWVkIENPTkZJR19NT0RVTEVfVU5MT0FEIGluIG9yZGVyCi10byBiZSBhYmxlIHRvIGVuZCB0aGUgdGVzdC4KK0NPTkZJR19SQ1VfVE9SVFVSRV9URVNUX1JVTk5BQkxFCisKK0l0IGlzIGFsc28gcG9zc2libGUgdG8gc3BlY2lmeSBDT05GSUdfUkNVX1RPUlRVUkVfVEVTVD15LCB3aGljaCB3aWxsCityZXN1bHQgaW4gdGhlIHRlc3RzIGJlaW5nIGxvYWRlZCBpbnRvIHRoZSBiYXNlIGtlcm5lbC4gIEluIHRoaXMgY2FzZSwKK3RoZSBDT05GSUdfUkNVX1RPUlRVUkVfVEVTVF9SVU5OQUJMRSBjb25maWcgb3B0aW9uIGlzIHVzZWQgdG8gc3BlY2lmeQord2hldGhlciB0aGUgUkNVIHRvcnR1cmUgdGVzdHMgYXJlIHRvIGJlIHN0YXJ0ZWQgaW1tZWRpYXRlbHkgZHVyaW5nCitib290IG9yIHdoZXRoZXIgdGhlIC9wcm9jL3N5cy9rZXJuZWwvcmN1dG9ydHVyZV9ydW5uYWJsZSBmaWxlIGlzIHVzZWQKK3RvIGVuYWJsZSB0aGVtLiAgVGhpcyAvcHJvYyBmaWxlIGNhbiBiZSB1c2VkIHRvIHJlcGVhdGVkbHkgcGF1c2UgYW5kCityZXN0YXJ0IHRoZSB0ZXN0cywgcmVnYXJkbGVzcyBvZiB0aGUgaW5pdGlhbCBzdGF0ZSBzcGVjaWZpZWQgYnkgdGhlCitDT05GSUdfUkNVX1RPUlRVUkVfVEVTVF9SVU5OQUJMRSBjb25maWcgb3B0aW9uLgorCitZb3Ugd2lsbCBub3JtYWxseSAtbm90LSB3YW50IHRvIHN0YXJ0IHRoZSBSQ1UgdG9ydHVyZSB0ZXN0cyBkdXJpbmcgYm9vdAorKGFuZCB0aHVzIHRoZSBkZWZhdWx0IGlzIENPTkZJR19SQ1VfVE9SVFVSRV9URVNUX1JVTk5BQkxFPW4pLCBidXQgZG9pbmcKK3RoaXMgY2FuIHNvbWV0aW1lcyBiZSB1c2VmdWwgaW4gZmluZGluZyBib290LXRpbWUgYnVncy4KIAogCiBNT0RVTEUgUEFSQU1FVEVSUwogCiBUaGlzIG1vZHVsZSBoYXMgdGhlIGZvbGxvd2luZyBwYXJhbWV0ZXJzOgogCi1ucmVhZGVycwlUaGlzIGlzIHRoZSBudW1iZXIgb2YgUkNVIHJlYWRpbmcgdGhyZWFkcyBzdXBwb3J0ZWQuCi0JCVRoZSBkZWZhdWx0IGlzIHR3aWNlIHRoZSBudW1iZXIgb2YgQ1BVcy4gIFdoeSB0d2ljZT8KLQkJVG8gcHJvcGVybHkgZXhlcmNpc2UgUkNVIGltcGxlbWVudGF0aW9ucyB3aXRoIHByZWVtcHRpYmxlCi0JCXJlYWQtc2lkZSBjcml0aWNhbCBzZWN0aW9ucy4KK2lycXJlYWRlcnMJU2F5cyB0byBpbnZva2UgUkNVIHJlYWRlcnMgZnJvbSBpcnEgbGV2ZWwuICBUaGlzIGlzIGN1cnJlbnRseQorCQlkb25lIHZpYSB0aW1lcnMuICBEZWZhdWx0cyB0byAiMSIgZm9yIHZhcmlhbnRzIG9mIFJDVSB0aGF0CisJCXBlcm1pdCB0aGlzLiAgKE9yLCBtb3JlIGFjY3VyYXRlbHksIHZhcmlhbnRzIG9mIFJDVSB0aGF0IGRvCisJCS1ub3QtIHBlcm1pdCB0aGlzIGtub3cgdG8gaWdub3JlIHRoaXMgdmFyaWFibGUuKQogCiBuZmFrZXdyaXRlcnMJVGhpcyBpcyB0aGUgbnVtYmVyIG9mIFJDVSBmYWtlIHdyaXRlciB0aHJlYWRzIHRvIHJ1bi4gIEZha2UKIAkJd3JpdGVyIHRocmVhZHMgcmVwZWF0ZWRseSB1c2UgdGhlIHN5bmNocm9ub3VzICJ3YWl0IGZvcgpAQCAtMzcsNiArNDQsMTYgQEAKIAkJdG8gdHJpZ2dlciBzcGVjaWFsIGNhc2VzIGNhdXNlZCBieSBtdWx0aXBsZSB3cml0ZXJzLCBzdWNoIGFzCiAJCXRoZSBzeW5jaHJvbml6ZV9zcmN1KCkgZWFybHkgcmV0dXJuIG9wdGltaXphdGlvbi4KIAorbnJlYWRlcnMJVGhpcyBpcyB0aGUgbnVtYmVyIG9mIFJDVSByZWFkaW5nIHRocmVhZHMgc3VwcG9ydGVkLgorCQlUaGUgZGVmYXVsdCBpcyB0d2ljZSB0aGUgbnVtYmVyIG9mIENQVXMuICBXaHkgdHdpY2U/CisJCVRvIHByb3Blcmx5IGV4ZXJjaXNlIFJDVSBpbXBsZW1lbnRhdGlvbnMgd2l0aCBwcmVlbXB0aWJsZQorCQlyZWFkLXNpZGUgY3JpdGljYWwgc2VjdGlvbnMuCisKK3NodWZmbGVfaW50ZXJ2YWwKKwkJVGhlIG51bWJlciBvZiBzZWNvbmRzIHRvIGtlZXAgdGhlIHRlc3QgdGhyZWFkcyBhZmZpbml0aWVkCisJCXRvIGEgcGFydGljdWxhciBzdWJzZXQgb2YgdGhlIENQVXMsIGRlZmF1bHRzIHRvIDMgc2Vjb25kcy4KKwkJVXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRlc3Rfbm9faWRsZV9oei4KKwogc3RhdF9pbnRlcnZhbAlUaGUgbnVtYmVyIG9mIHNlY29uZHMgYmV0d2VlbiBvdXRwdXQgb2YgdG9ydHVyZQogCQlzdGF0aXN0aWNzICh2aWEgcHJpbnRrKCkpLiAgUmVnYXJkbGVzcyBvZiB0aGUgaW50ZXJ2YWwsCiAJCXN0YXRpc3RpY3MgYXJlIHByaW50ZWQgd2hlbiB0aGUgbW9kdWxlIGlzIHVubG9hZGVkLgpAQCAtNDQsMTAgKzYxLDExIEBACiAJCWJlIHByaW50ZWQgLW9ubHktIHdoZW4gdGhlIG1vZHVsZSBpcyB1bmxvYWRlZCwgYW5kIHRoaXMKIAkJaXMgdGhlIGRlZmF1bHQuCiAKLXNodWZmbGVfaW50ZXJ2YWwKLQkJVGhlIG51bWJlciBvZiBzZWNvbmRzIHRvIGtlZXAgdGhlIHRlc3QgdGhyZWFkcyBhZmZpbml0aWVkCi0JCXRvIGEgcGFydGljdWxhciBzdWJzZXQgb2YgdGhlIENQVXMsIGRlZmF1bHRzIHRvIDUgc2Vjb25kcy4KLQkJVXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRlc3Rfbm9faWRsZV9oei4KK3N0dXR0ZXIJCVRoZSBsZW5ndGggb2YgdGltZSB0byBydW4gdGhlIHRlc3QgYmVmb3JlIHBhdXNpbmcgZm9yIHRoaXMKKwkJc2FtZSBwZXJpb2Qgb2YgdGltZS4gIERlZmF1bHRzIHRvICJzdHV0dGVyPTUiLCBzbyBhcworCQl0byBydW4gYW5kIHBhdXNlIGZvciAocm91Z2hseSkgZml2ZS1zZWNvbmQgaW50ZXJ2YWxzLgorCQlTcGVjaWZ5aW5nICJzdHV0dGVyPTAiIGNhdXNlcyB0aGUgdGVzdCB0byBydW4gY29udGludW91c2x5CisJCXdpdGhvdXQgcGF1c2luZywgd2hpY2ggaXMgdGhlIG9sZCBkZWZhdWx0IGJlaGF2aW9yLgogCiB0ZXN0X25vX2lkbGVfaHoJV2hldGhlciBvciBub3QgdG8gdGVzdCB0aGUgYWJpbGl0eSBvZiBSQ1UgdG8gb3BlcmF0ZSBpbgogCQlhIGtlcm5lbCB0aGF0IGRpc2FibGVzIHRoZSBzY2hlZHVsaW5nLWNsb2NrIGludGVycnVwdCB0bwpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9SQ1Uvd2hhdGlzUkNVLnR4dCBiL0RvY3VtZW50YXRpb24vUkNVL3doYXRpc1JDVS50eHQKaW5kZXggZTBkNmQ5OS4uZTA0ZDY0MyAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9SQ1Uvd2hhdGlzUkNVLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL1JDVS93aGF0aXNSQ1UudHh0CkBAIC0xLDMgKzEsMTEgQEAKK1BsZWFzZSBub3RlIHRoYXQgdGhlICJXaGF0IGlzIFJDVT8iIExXTiBzZXJpZXMgaXMgYW4gZXhjZWxsZW50IHBsYWNlCit0byBzdGFydCBsZWFybmluZyBhYm91dCBSQ1U6CisKKzEuCVdoYXQgaXMgUkNVLCBGdW5kYW1lbnRhbGx5PyAgaHR0cDovL2x3bi5uZXQvQXJ0aWNsZXMvMjYyNDY0LworMi4JV2hhdCBpcyBSQ1U/IFBhcnQgMjogVXNhZ2UgICBodHRwOi8vbHduLm5ldC9BcnRpY2xlcy8yNjMxMzAvCiszLglSQ1UgcGFydCAzOiB0aGUgUkNVIEFQSSAgICAgIGh0dHA6Ly9sd24ubmV0L0FydGljbGVzLzI2NDA5MC8KKworCiBXaGF0IGlzIFJDVT8KIAogUkNVIGlzIGEgc3luY2hyb25pemF0aW9uIG1lY2hhbmlzbSB0aGF0IHdhcyBhZGRlZCB0byB0aGUgTGludXgga2VybmVsCkBAIC03NzIsMjYgKzc4MCwxOCBAQAogQVBJcywgc2luY2UgdGhlcmUgZG9lcyBub3QgYXBwZWFyIHRvIGJlIGEgd2F5IHRvIGNhdGVnb3JpemUgdGhlbQogaW4gZG9jYm9vay4gIEhlcmUgaXMgdGhlIGxpc3QsIGJ5IGNhdGVnb3J5LgogCi1NYXJrZXJzIGZvciBSQ1UgcmVhZC1zaWRlIGNyaXRpY2FsIHNlY3Rpb25zOgotCi0JcmN1X3JlYWRfbG9jawotCXJjdV9yZWFkX3VubG9jawotCXJjdV9yZWFkX2xvY2tfYmgKLQlyY3VfcmVhZF91bmxvY2tfYmgKLQlzcmN1X3JlYWRfbG9jawotCXNyY3VfcmVhZF91bmxvY2sKLQogUkNVIHBvaW50ZXIvbGlzdCB0cmF2ZXJzYWw6CiAKIAlyY3VfZGVyZWZlcmVuY2UKLQlsaXN0X2Zvcl9lYWNoX3JjdQkJKHRvIGJlIGRlcHJlY2F0ZWQgaW4gZmF2b3Igb2YKLQkJCQkJIGxpc3RfZm9yX2VhY2hfZW50cnlfcmN1KQogCWxpc3RfZm9yX2VhY2hfZW50cnlfcmN1Ci0JbGlzdF9mb3JfZWFjaF9jb250aW51ZV9yY3UJKHRvIGJlIGRlcHJlY2F0ZWQgaW4gZmF2b3Igb2YgbmV3Ci0JCQkJCSBsaXN0X2Zvcl9lYWNoX2VudHJ5X2NvbnRpbnVlX3JjdSkKIAlobGlzdF9mb3JfZWFjaF9lbnRyeV9yY3UKIAotUkNVIHBvaW50ZXIgdXBkYXRlOgorCWxpc3RfZm9yX2VhY2hfcmN1CQkodG8gYmUgZGVwcmVjYXRlZCBpbiBmYXZvciBvZgorCQkJCQkgbGlzdF9mb3JfZWFjaF9lbnRyeV9yY3UpCisJbGlzdF9mb3JfZWFjaF9jb250aW51ZV9yY3UJKHRvIGJlIGRlcHJlY2F0ZWQgaW4gZmF2b3Igb2YgbmV3CisJCQkJCSBsaXN0X2Zvcl9lYWNoX2VudHJ5X2NvbnRpbnVlX3JjdSkKKworUkNVIHBvaW50ZXIvbGlzdCB1cGRhdGU6CiAKIAlyY3VfYXNzaWduX3BvaW50ZXIKIAlsaXN0X2FkZF9yY3UKQEAgLTc5OSwxNiArNzk5LDM2IEBACiAJbGlzdF9kZWxfcmN1CiAJbGlzdF9yZXBsYWNlX3JjdQogCWhsaXN0X2RlbF9yY3UKKwlobGlzdF9hZGRfYWZ0ZXJfcmN1CisJaGxpc3RfYWRkX2JlZm9yZV9yY3UKIAlobGlzdF9hZGRfaGVhZF9yY3UKKwlobGlzdF9yZXBsYWNlX3JjdQorCWxpc3Rfc3BsaWNlX2luaXRfcmN1KCkKIAotUkNVIGdyYWNlIHBlcmlvZDoKK1JDVToJQ3JpdGljYWwgc2VjdGlvbnMJR3JhY2UgcGVyaW9kCQlCYXJyaWVyCiAKLQlzeW5jaHJvbml6ZV9uZXQKLQlzeW5jaHJvbml6ZV9zY2hlZAotCXN5bmNocm9uaXplX3JjdQotCXN5bmNocm9uaXplX3NyY3UKLQljYWxsX3JjdQotCWNhbGxfcmN1X2JoCisJcmN1X3JlYWRfbG9jawkJc3luY2hyb25pemVfbmV0CQlyY3VfYmFycmllcgorCXJjdV9yZWFkX3VubG9jawkJc3luY2hyb25pemVfcmN1CisJCQkJY2FsbF9yY3UKKworCitiaDoJQ3JpdGljYWwgc2VjdGlvbnMJR3JhY2UgcGVyaW9kCQlCYXJyaWVyCisKKwlyY3VfcmVhZF9sb2NrX2JoCWNhbGxfcmN1X2JoCQlyY3VfYmFycmllcl9iaAorCXJjdV9yZWFkX3VubG9ja19iaAorCisKK3NjaGVkOglDcml0aWNhbCBzZWN0aW9ucwlHcmFjZSBwZXJpb2QJCUJhcnJpZXIKKworCVtwcmVlbXB0X2Rpc2FibGVdCXN5bmNocm9uaXplX3NjaGVkCXJjdV9iYXJyaWVyX3NjaGVkCisJW2FuZCBmcmllbmRzXQkJY2FsbF9yY3Vfc2NoZWQKKworCitTUkNVOglDcml0aWNhbCBzZWN0aW9ucwlHcmFjZSBwZXJpb2QJCUJhcnJpZXIKKworCXNyY3VfcmVhZF9sb2NrCQlzeW5jaHJvbml6ZV9zcmN1CU4vQQorCXNyY3VfcmVhZF91bmxvY2sKKwogCiBTZWUgdGhlIGNvbW1lbnQgaGVhZGVycyBpbiB0aGUgc291cmNlIGNvZGUgKG9yIHRoZSBkb2Nib29rIGdlbmVyYXRlZAogZnJvbSB0aGVtKSBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vYmxvY2svZGF0YS1pbnRlZ3JpdHkudHh0IGIvRG9jdW1lbnRhdGlvbi9ibG9jay9kYXRhLWludGVncml0eS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTlkYzhkOAotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vYmxvY2svZGF0YS1pbnRlZ3JpdHkudHh0CkBAIC0wLDAgKzEsMzI3IEBACistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisxLiBJTlRST0RVQ1RJT04KKworTW9kZXJuIGZpbGVzeXN0ZW1zIGZlYXR1cmUgY2hlY2tzdW1taW5nIG9mIGRhdGEgYW5kIG1ldGFkYXRhIHRvCitwcm90ZWN0IGFnYWluc3QgZGF0YSBjb3JydXB0aW9uLiAgSG93ZXZlciwgdGhlIGRldGVjdGlvbiBvZiB0aGUKK2NvcnJ1cHRpb24gaXMgZG9uZSBhdCByZWFkIHRpbWUgd2hpY2ggY291bGQgcG90ZW50aWFsbHkgYmUgbW9udGhzCithZnRlciB0aGUgZGF0YSB3YXMgd3JpdHRlbi4gIEF0IHRoYXQgcG9pbnQgdGhlIG9yaWdpbmFsIGRhdGEgdGhhdCB0aGUKK2FwcGxpY2F0aW9uIHRyaWVkIHRvIHdyaXRlIGlzIG1vc3QgbGlrZWx5IGxvc3QuCisKK1RoZSBzb2x1dGlvbiBpcyB0byBlbnN1cmUgdGhhdCB0aGUgZGlzayBpcyBhY3R1YWxseSBzdG9yaW5nIHdoYXQgdGhlCithcHBsaWNhdGlvbiBtZWFudCBpdCB0by4gIFJlY2VudCBhZGRpdGlvbnMgdG8gYm90aCB0aGUgU0NTSSBmYW1pbHkKK3Byb3RvY29scyAoU0JDIERhdGEgSW50ZWdyaXR5IEZpZWxkLCBTQ0MgcHJvdGVjdGlvbiBwcm9wb3NhbCkgYXMgd2VsbAorYXMgU0FUQS9UMTMgKEV4dGVybmFsIFBhdGggUHJvdGVjdGlvbikgdHJ5IHRvIHJlbWVkeSB0aGlzIGJ5IGFkZGluZworc3VwcG9ydCBmb3IgYXBwZW5kaW5nIGludGVncml0eSBtZXRhZGF0YSB0byBhbiBJL08uICBUaGUgaW50ZWdyaXR5CittZXRhZGF0YSAob3IgcHJvdGVjdGlvbiBpbmZvcm1hdGlvbiBpbiBTQ1NJIHRlcm1pbm9sb2d5KSBpbmNsdWRlcyBhCitjaGVja3N1bSBmb3IgZWFjaCBzZWN0b3IgYXMgd2VsbCBhcyBhbiBpbmNyZW1lbnRpbmcgY291bnRlciB0aGF0CitlbnN1cmVzIHRoZSBpbmRpdmlkdWFsIHNlY3RvcnMgYXJlIHdyaXR0ZW4gaW4gdGhlIHJpZ2h0IG9yZGVyLiAgQW5kCitmb3Igc29tZSBwcm90ZWN0aW9uIHNjaGVtZXMgYWxzbyB0aGF0IHRoZSBJL08gaXMgd3JpdHRlbiB0byB0aGUgcmlnaHQKK3BsYWNlIG9uIGRpc2suCisKK0N1cnJlbnQgc3RvcmFnZSBjb250cm9sbGVycyBhbmQgZGV2aWNlcyBpbXBsZW1lbnQgdmFyaW91cyBwcm90ZWN0aXZlCittZWFzdXJlcywgZm9yIGluc3RhbmNlIGNoZWNrc3VtbWluZyBhbmQgc2NydWJiaW5nLiAgQnV0IHRoZXNlCit0ZWNobm9sb2dpZXMgYXJlIHdvcmtpbmcgaW4gdGhlaXIgb3duIGlzb2xhdGVkIGRvbWFpbnMgb3IgYXQgYmVzdAorYmV0d2VlbiBhZGphY2VudCBub2RlcyBpbiB0aGUgSS9PIHBhdGguICBUaGUgaW50ZXJlc3RpbmcgdGhpbmcgYWJvdXQKK0RJRiBhbmQgdGhlIG90aGVyIGludGVncml0eSBleHRlbnNpb25zIGlzIHRoYXQgdGhlIHByb3RlY3Rpb24gZm9ybWF0CitpcyB3ZWxsIGRlZmluZWQgYW5kIGV2ZXJ5IG5vZGUgaW4gdGhlIEkvTyBwYXRoIGNhbiB2ZXJpZnkgdGhlCitpbnRlZ3JpdHkgb2YgdGhlIEkvTyBhbmQgcmVqZWN0IGl0IGlmIGNvcnJ1cHRpb24gaXMgZGV0ZWN0ZWQuICBUaGlzCithbGxvd3Mgbm90IG9ubHkgY29ycnVwdGlvbiBwcmV2ZW50aW9uIGJ1dCBhbHNvIGlzb2xhdGlvbiBvZiB0aGUgcG9pbnQKK29mIGZhaWx1cmUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKzIuIFRIRSBEQVRBIElOVEVHUklUWSBFWFRFTlNJT05TCisKK0FzIHdyaXR0ZW4sIHRoZSBwcm90b2NvbCBleHRlbnNpb25zIG9ubHkgcHJvdGVjdCB0aGUgcGF0aCBiZXR3ZWVuCitjb250cm9sbGVyIGFuZCBzdG9yYWdlIGRldmljZS4gIEhvd2V2ZXIsIG1hbnkgY29udHJvbGxlcnMgYWN0dWFsbHkKK2FsbG93IHRoZSBvcGVyYXRpbmcgc3lzdGVtIHRvIGludGVyYWN0IHdpdGggdGhlIGludGVncml0eSBtZXRhZGF0YQorKElNRCkuICBXZSBoYXZlIGJlZW4gd29ya2luZyB3aXRoIHNldmVyYWwgRkMvU0FTIEhCQSB2ZW5kb3JzIHRvIGVuYWJsZQordGhlIHByb3RlY3Rpb24gaW5mb3JtYXRpb24gdG8gYmUgdHJhbnNmZXJyZWQgdG8gYW5kIGZyb20gdGhlaXIKK2NvbnRyb2xsZXJzLgorCitUaGUgU0NTSSBEYXRhIEludGVncml0eSBGaWVsZCB3b3JrcyBieSBhcHBlbmRpbmcgOCBieXRlcyBvZiBwcm90ZWN0aW9uCitpbmZvcm1hdGlvbiB0byBlYWNoIHNlY3Rvci4gIFRoZSBkYXRhICsgaW50ZWdyaXR5IG1ldGFkYXRhIGlzIHN0b3JlZAoraW4gNTIwIGJ5dGUgc2VjdG9ycyBvbiBkaXNrLiAgRGF0YSArIElNRCBhcmUgaW50ZXJsZWF2ZWQgd2hlbgordHJhbnNmZXJyZWQgYmV0d2VlbiB0aGUgY29udHJvbGxlciBhbmQgdGFyZ2V0LiAgVGhlIFQxMyBwcm9wb3NhbCBpcworc2ltaWxhci4KKworQmVjYXVzZSBpdCBpcyBoaWdobHkgaW5jb252ZW5pZW50IGZvciBvcGVyYXRpbmcgc3lzdGVtcyB0byBkZWFsIHdpdGgKKzUyMCAoYW5kIDQxMDQpIGJ5dGUgc2VjdG9ycywgd2UgYXBwcm9hY2hlZCBzZXZlcmFsIEhCQSB2ZW5kb3JzIGFuZAorZW5jb3VyYWdlZCB0aGVtIHRvIGFsbG93IHNlcGFyYXRpb24gb2YgdGhlIGRhdGEgYW5kIGludGVncml0eSBtZXRhZGF0YQorc2NhdHRlci1nYXRoZXIgbGlzdHMuCisKK1RoZSBjb250cm9sbGVyIHdpbGwgaW50ZXJsZWF2ZSB0aGUgYnVmZmVycyBvbiB3cml0ZSBhbmQgc3BsaXQgdGhlbSBvbgorcmVhZC4gIFRoaXMgbWVhbnMgdGhhdCB0aGUgTGludXggY2FuIERNQSB0aGUgZGF0YSBidWZmZXJzIHRvIGFuZCBmcm9tCitob3N0IG1lbW9yeSB3aXRob3V0IGNoYW5nZXMgdG8gdGhlIHBhZ2UgY2FjaGUuCisKK0Fsc28sIHRoZSAxNi1iaXQgQ1JDIGNoZWNrc3VtIG1hbmRhdGVkIGJ5IGJvdGggdGhlIFNDU0kgYW5kIFNBVEEgc3BlY3MKK2lzIHNvbWV3aGF0IGhlYXZ5IHRvIGNvbXB1dGUgaW4gc29mdHdhcmUuICBCZW5jaG1hcmtzIGZvdW5kIHRoYXQKK2NhbGN1bGF0aW5nIHRoaXMgY2hlY2tzdW0gaGFkIGEgc2lnbmlmaWNhbnQgaW1wYWN0IG9uIHN5c3RlbQorcGVyZm9ybWFuY2UgZm9yIGEgbnVtYmVyIG9mIHdvcmtsb2Fkcy4gIFNvbWUgY29udHJvbGxlcnMgYWxsb3cgYQorbGlnaHRlci13ZWlnaHQgY2hlY2tzdW0gdG8gYmUgdXNlZCB3aGVuIGludGVyZmFjaW5nIHdpdGggdGhlIG9wZXJhdGluZworc3lzdGVtLiAgRW11bGV4LCBmb3IgaW5zdGFuY2UsIHN1cHBvcnRzIHRoZSBUQ1AvSVAgY2hlY2tzdW0gaW5zdGVhZC4KK1RoZSBJUCBjaGVja3N1bSByZWNlaXZlZCBmcm9tIHRoZSBPUyBpcyBjb252ZXJ0ZWQgdG8gdGhlIDE2LWJpdCBDUkMKK3doZW4gd3JpdGluZyBhbmQgdmljZSB2ZXJzYS4gIFRoaXMgYWxsb3dzIHRoZSBpbnRlZ3JpdHkgbWV0YWRhdGEgdG8gYmUKK2dlbmVyYXRlZCBieSBMaW51eCBvciB0aGUgYXBwbGljYXRpb24gYXQgdmVyeSBsb3cgY29zdCAoY29tcGFyYWJsZSB0bworc29mdHdhcmUgUkFJRDUpLgorCitUaGUgSVAgY2hlY2tzdW0gaXMgd2Vha2VyIHRoYW4gdGhlIENSQyBpbiB0ZXJtcyBvZiBkZXRlY3RpbmcgYml0CitlcnJvcnMuICBIb3dldmVyLCB0aGUgc3RyZW5ndGggaXMgcmVhbGx5IGluIHRoZSBzZXBhcmF0aW9uIG9mIHRoZSBkYXRhCitidWZmZXJzIGFuZCB0aGUgaW50ZWdyaXR5IG1ldGFkYXRhLiAgVGhlc2UgdHdvIGRpc3RpbmN0IGJ1ZmZlcnMgbXVjaAorbWF0Y2ggdXAgZm9yIGFuIEkvTyB0byBjb21wbGV0ZS4KKworVGhlIHNlcGFyYXRpb24gb2YgdGhlIGRhdGEgYW5kIGludGVncml0eSBtZXRhZGF0YSBidWZmZXJzIGFzIHdlbGwgYXMKK3RoZSBjaG9pY2UgaW4gY2hlY2tzdW1zIGlzIHJlZmVycmVkIHRvIGFzIHRoZSBEYXRhIEludGVncml0eQorRXh0ZW5zaW9ucy4gIEFzIHRoZXNlIGV4dGVuc2lvbnMgYXJlIG91dHNpZGUgdGhlIHNjb3BlIG9mIHRoZSBwcm90b2NvbAorYm9kaWVzIChUMTAsIFQxMyksIE9yYWNsZSBhbmQgaXRzIHBhcnRuZXJzIGFyZSB0cnlpbmcgdG8gc3RhbmRhcmRpemUKK3RoZW0gd2l0aGluIHRoZSBTdG9yYWdlIE5ldHdvcmtpbmcgSW5kdXN0cnkgQXNzb2NpYXRpb24uCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKzMuIEtFUk5FTCBDSEFOR0VTCisKK1RoZSBkYXRhIGludGVncml0eSBmcmFtZXdvcmsgaW4gTGludXggZW5hYmxlcyBwcm90ZWN0aW9uIGluZm9ybWF0aW9uCit0byBiZSBwaW5uZWQgdG8gSS9PcyBhbmQgc2VudCB0by9yZWNlaXZlZCBmcm9tIGNvbnRyb2xsZXJzIHRoYXQKK3N1cHBvcnQgaXQuCisKK1RoZSBhZHZhbnRhZ2UgdG8gdGhlIGludGVncml0eSBleHRlbnNpb25zIGluIFNDU0kgYW5kIFNBVEEgaXMgdGhhdAordGhleSBlbmFibGUgdXMgdG8gcHJvdGVjdCB0aGUgZW50aXJlIHBhdGggZnJvbSBhcHBsaWNhdGlvbiB0byBzdG9yYWdlCitkZXZpY2UuICBIb3dldmVyLCBhdCB0aGUgc2FtZSB0aW1lIHRoaXMgaXMgYWxzbyB0aGUgYmlnZ2VzdAorZGlzYWR2YW50YWdlLiBJdCBtZWFucyB0aGF0IHRoZSBwcm90ZWN0aW9uIGluZm9ybWF0aW9uIG11c3QgYmUgaW4gYQorZm9ybWF0IHRoYXQgY2FuIGJlIHVuZGVyc3Rvb2QgYnkgdGhlIGRpc2suCisKK0dlbmVyYWxseSBMaW51eC9QT1NJWCBhcHBsaWNhdGlvbnMgYXJlIGFnbm9zdGljIHRvIHRoZSBpbnRyaWNhY2llcyBvZgordGhlIHN0b3JhZ2UgZGV2aWNlcyB0aGV5IGFyZSBhY2Nlc3NpbmcuICBUaGUgdmlydHVhbCBmaWxlc3lzdGVtIHN3aXRjaAorYW5kIHRoZSBibG9jayBsYXllciBtYWtlIHRoaW5ncyBsaWtlIGhhcmR3YXJlIHNlY3RvciBzaXplIGFuZAordHJhbnNwb3J0IHByb3RvY29scyBjb21wbGV0ZWx5IHRyYW5zcGFyZW50IHRvIHRoZSBhcHBsaWNhdGlvbi4KKworSG93ZXZlciwgdGhpcyBsZXZlbCBvZiBkZXRhaWwgaXMgcmVxdWlyZWQgd2hlbiBwcmVwYXJpbmcgdGhlCitwcm90ZWN0aW9uIGluZm9ybWF0aW9uIHRvIHNlbmQgdG8gYSBkaXNrLiAgQ29uc2VxdWVudGx5LCB0aGUgdmVyeQorY29uY2VwdCBvZiBhbiBlbmQtdG8tZW5kIHByb3RlY3Rpb24gc2NoZW1lIGlzIGEgbGF5ZXJpbmcgdmlvbGF0aW9uLgorSXQgaXMgY29tcGxldGVseSB1bnJlYXNvbmFibGUgZm9yIGFuIGFwcGxpY2F0aW9uIHRvIGJlIGF3YXJlIHdoZXRoZXIKK2l0IGlzIGFjY2Vzc2luZyBhIFNDU0kgb3IgU0FUQSBkaXNrLgorCitUaGUgZGF0YSBpbnRlZ3JpdHkgc3VwcG9ydCBpbXBsZW1lbnRlZCBpbiBMaW51eCBhdHRlbXB0cyB0byBoaWRlIHRoaXMKK2Zyb20gdGhlIGFwcGxpY2F0aW9uLiAgQXMgZmFyIGFzIHRoZSBhcHBsaWNhdGlvbiAoYW5kIHRvIHNvbWUgZXh0ZW50Cit0aGUga2VybmVsKSBpcyBjb25jZXJuZWQsIHRoZSBpbnRlZ3JpdHkgbWV0YWRhdGEgaXMgb3BhcXVlIGluZm9ybWF0aW9uCit0aGF0J3MgYXR0YWNoZWQgdG8gdGhlIEkvTy4KKworVGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24gYWxsb3dzIHRoZSBibG9jayBsYXllciB0byBhdXRvbWF0aWNhbGx5CitnZW5lcmF0ZSB0aGUgcHJvdGVjdGlvbiBpbmZvcm1hdGlvbiBmb3IgYW55IEkvTy4gIEV2ZW50dWFsbHkgdGhlCitpbnRlbnQgaXMgdG8gbW92ZSB0aGUgaW50ZWdyaXR5IG1ldGFkYXRhIGNhbGN1bGF0aW9uIHRvIHVzZXJzcGFjZSBmb3IKK3VzZXIgZGF0YS4gIE1ldGFkYXRhIGFuZCBvdGhlciBJL08gdGhhdCBvcmlnaW5hdGVzIHdpdGhpbiB0aGUga2VybmVsCit3aWxsIHN0aWxsIHVzZSB0aGUgYXV0b21hdGljIGdlbmVyYXRpb24gaW50ZXJmYWNlLgorCitTb21lIHN0b3JhZ2UgZGV2aWNlcyBhbGxvdyBlYWNoIGhhcmR3YXJlIHNlY3RvciB0byBiZSB0YWdnZWQgd2l0aCBhCisxNi1iaXQgdmFsdWUuICBUaGUgb3duZXIgb2YgdGhpcyB0YWcgc3BhY2UgaXMgdGhlIG93bmVyIG9mIHRoZSBibG9jaworZGV2aWNlLiAgSS5lLiB0aGUgZmlsZXN5c3RlbSBpbiBtb3N0IGNhc2VzLiAgVGhlIGZpbGVzeXN0ZW0gY2FuIHVzZQordGhpcyBleHRyYSBzcGFjZSB0byB0YWcgc2VjdG9ycyBhcyB0aGV5IHNlZSBmaXQuICBCZWNhdXNlIHRoZSB0YWcKK3NwYWNlIGlzIGxpbWl0ZWQsIHRoZSBibG9jayBpbnRlcmZhY2UgYWxsb3dzIHRhZ2dpbmcgYmlnZ2VyIGNodW5rcyBieQord2F5IG9mIGludGVybGVhdmluZy4gIFRoaXMgd2F5LCA4KjE2IGJpdHMgb2YgaW5mb3JtYXRpb24gY2FuIGJlCithdHRhY2hlZCB0byBhIHR5cGljYWwgNEtCIGZpbGVzeXN0ZW0gYmxvY2suCisKK1RoaXMgYWxzbyBtZWFucyB0aGF0IGFwcGxpY2F0aW9ucyBzdWNoIGFzIGZzY2sgYW5kIG1rZnMgd2lsbCBuZWVkCithY2Nlc3MgdG8gbWFuaXB1bGF0ZSB0aGUgdGFncyBmcm9tIHVzZXIgc3BhY2UuICBBIHBhc3N0aHJvdWdoCitpbnRlcmZhY2UgZm9yIHRoaXMgaXMgYmVpbmcgd29ya2VkIG9uLgorCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKzQuIEJMT0NLIExBWUVSIElNUExFTUVOVEFUSU9OIERFVEFJTFMKKworNC4xIEJJTworCitUaGUgZGF0YSBpbnRlZ3JpdHkgcGF0Y2hlcyBhZGQgYSBuZXcgZmllbGQgdG8gc3RydWN0IGJpbyB3aGVuCitDT05GSUdfQkxLX0RFVl9JTlRFR1JJVFkgaXMgZW5hYmxlZC4gIGJpby0+YmlfaW50ZWdyaXR5IGlzIGEgcG9pbnRlcgordG8gYSBzdHJ1Y3QgYmlwIHdoaWNoIGNvbnRhaW5zIHRoZSBiaW8gaW50ZWdyaXR5IHBheWxvYWQuICBFc3NlbnRpYWxseQorYSBiaXAgaXMgYSB0cmltbWVkIGRvd24gc3RydWN0IGJpbyB3aGljaCBob2xkcyBhIGJpb192ZWMgY29udGFpbmluZwordGhlIGludGVncml0eSBtZXRhZGF0YSBhbmQgdGhlIHJlcXVpcmVkIGhvdXNla2VlcGluZyBpbmZvcm1hdGlvbiAoYnZlYworcG9vbCwgdmVjdG9yIGNvdW50LCBldGMuKQorCitBIGtlcm5lbCBzdWJzeXN0ZW0gY2FuIGVuYWJsZSBkYXRhIGludGVncml0eSBwcm90ZWN0aW9uIG9uIGEgYmlvIGJ5CitjYWxsaW5nIGJpb19pbnRlZ3JpdHlfYWxsb2MoYmlvKS4gIFRoaXMgd2lsbCBhbGxvY2F0ZSBhbmQgYXR0YWNoIHRoZQorYmlwIHRvIHRoZSBiaW8uCisKK0luZGl2aWR1YWwgcGFnZXMgY29udGFpbmluZyBpbnRlZ3JpdHkgbWV0YWRhdGEgY2FuIHN1YnNlcXVlbnRseSBiZQorYXR0YWNoZWQgdXNpbmcgYmlvX2ludGVncml0eV9hZGRfcGFnZSgpLgorCitiaW9fZnJlZSgpIHdpbGwgYXV0b21hdGljYWxseSBmcmVlIHRoZSBiaXAuCisKKworNC4yIEJMT0NLIERFVklDRQorCitCZWNhdXNlIHRoZSBmb3JtYXQgb2YgdGhlIHByb3RlY3Rpb24gZGF0YSBpcyB0aWVkIHRvIHRoZSBwaHlzaWNhbAorZGlzaywgZWFjaCBibG9jayBkZXZpY2UgaGFzIGJlZW4gZXh0ZW5kZWQgd2l0aCBhIGJsb2NrIGludGVncml0eQorcHJvZmlsZSAoc3RydWN0IGJsa19pbnRlZ3JpdHkpLiAgVGhpcyBvcHRpb25hbCBwcm9maWxlIGlzIHJlZ2lzdGVyZWQKK3dpdGggdGhlIGJsb2NrIGxheWVyIHVzaW5nIGJsa19pbnRlZ3JpdHlfcmVnaXN0ZXIoKS4KKworVGhlIHByb2ZpbGUgY29udGFpbnMgY2FsbGJhY2sgZnVuY3Rpb25zIGZvciBnZW5lcmF0aW5nIGFuZCB2ZXJpZnlpbmcKK3RoZSBwcm90ZWN0aW9uIGRhdGEsIGFzIHdlbGwgYXMgZ2V0dGluZyBhbmQgc2V0dGluZyBhcHBsaWNhdGlvbiB0YWdzLgorVGhlIHByb2ZpbGUgYWxzbyBjb250YWlucyBhIGZldyBjb25zdGFudHMgdG8gYWlkIGluIGNvbXBsZXRpbmcsCittZXJnaW5nIGFuZCBzcGxpdHRpbmcgdGhlIGludGVncml0eSBtZXRhZGF0YS4KKworTGF5ZXJlZCBibG9jayBkZXZpY2VzIHdpbGwgbmVlZCB0byBwaWNrIGEgcHJvZmlsZSB0aGF0J3MgYXBwcm9wcmlhdGUKK2ZvciBhbGwgc3ViZGV2aWNlcy4gIGJsa19pbnRlZ3JpdHlfY29tcGFyZSgpIGNhbiBoZWxwIHdpdGggdGhhdC4gIERNCithbmQgTUQgbGluZWFyLCBSQUlEMCBhbmQgUkFJRDEgYXJlIGN1cnJlbnRseSBzdXBwb3J0ZWQuICBSQUlENC81LzYKK3dpbGwgcmVxdWlyZSBleHRyYSB3b3JrIGR1ZSB0byB0aGUgYXBwbGljYXRpb24gdGFnLgorCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKzUuMCBCTE9DSyBMQVlFUiBJTlRFR1JJVFkgQVBJCisKKzUuMSBOT1JNQUwgRklMRVNZU1RFTQorCisgICAgVGhlIG5vcm1hbCBmaWxlc3lzdGVtIGlzIHVuYXdhcmUgdGhhdCB0aGUgdW5kZXJseWluZyBibG9jayBkZXZpY2UKKyAgICBpcyBjYXBhYmxlIG9mIHNlbmRpbmcvcmVjZWl2aW5nIGludGVncml0eSBtZXRhZGF0YS4gIFRoZSBJTUQgd2lsbAorICAgIGJlIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IHRoZSBibG9jayBsYXllciBhdCBzdWJtaXRfYmlvKCkgdGltZQorICAgIGluIGNhc2Ugb2YgYSBXUklURS4gIEEgUkVBRCByZXF1ZXN0IHdpbGwgY2F1c2UgdGhlIEkvTyBpbnRlZ3JpdHkKKyAgICB0byBiZSB2ZXJpZmllZCB1cG9uIGNvbXBsZXRpb24uCisKKyAgICBJTUQgZ2VuZXJhdGlvbiBhbmQgdmVyaWZpY2F0aW9uIGNhbiBiZSB0b2dnbGVkIHVzaW5nIHRoZQorCisgICAgICAvc3lzL2Jsb2NrLzxiZGV2Pi9pbnRlZ3JpdHkvd3JpdGVfZ2VuZXJhdGUKKworICAgIGFuZAorCisgICAgICAvc3lzL2Jsb2NrLzxiZGV2Pi9pbnRlZ3JpdHkvcmVhZF92ZXJpZnkKKworICAgIGZsYWdzLgorCisKKzUuMiBJTlRFR1JJVFktQVdBUkUgRklMRVNZU1RFTQorCisgICAgQSBmaWxlc3lzdGVtIHRoYXQgaXMgaW50ZWdyaXR5LWF3YXJlIGNhbiBwcmVwYXJlIEkvT3Mgd2l0aCBJTUQKKyAgICBhdHRhY2hlZC4gIEl0IGNhbiBhbHNvIHVzZSB0aGUgYXBwbGljYXRpb24gdGFnIHNwYWNlIGlmIHRoaXMgaXMKKyAgICBzdXBwb3J0ZWQgYnkgdGhlIGJsb2NrIGRldmljZS4KKworCisgICAgaW50IGJkZXZfaW50ZWdyaXR5X2VuYWJsZWQoYmxvY2tfZGV2aWNlLCBpbnQgcncpOworCisgICAgICBiZGV2X2ludGVncml0eV9lbmFibGVkKCkgd2lsbCByZXR1cm4gMSBpZiB0aGUgYmxvY2sgZGV2aWNlCisgICAgICBzdXBwb3J0cyBpbnRlZ3JpdHkgbWV0YWRhdGEgdHJhbnNmZXIgZm9yIHRoZSBkYXRhIGRpcmVjdGlvbgorICAgICAgc3BlY2lmaWVkIGluICdydycuCisKKyAgICAgIGJkZXZfaW50ZWdyaXR5X2VuYWJsZWQoKSBob25vcnMgdGhlIHdyaXRlX2dlbmVyYXRlIGFuZAorICAgICAgcmVhZF92ZXJpZnkgZmxhZ3MgaW4gc3lzZnMgYW5kIHdpbGwgcmVzcG9uZCBhY2NvcmRpbmdseS4KKworCisgICAgaW50IGJpb19pbnRlZ3JpdHlfcHJlcChiaW8pOworCisgICAgICBUbyBnZW5lcmF0ZSBJTUQgZm9yIFdSSVRFIGFuZCB0byBzZXQgdXAgYnVmZmVycyBmb3IgUkVBRCwgdGhlCisgICAgICBmaWxlc3lzdGVtIG11c3QgY2FsbCBiaW9faW50ZWdyaXR5X3ByZXAoYmlvKS4KKworICAgICAgUHJpb3IgdG8gY2FsbGluZyB0aGlzIGZ1bmN0aW9uLCB0aGUgYmlvIGRhdGEgZGlyZWN0aW9uIGFuZCBzdGFydAorICAgICAgc2VjdG9yIG11c3QgYmUgc2V0LCBhbmQgdGhlIGJpbyBzaG91bGQgaGF2ZSBhbGwgZGF0YSBwYWdlcworICAgICAgYWRkZWQuICBJdCBpcyB1cCB0byB0aGUgY2FsbGVyIHRvIGVuc3VyZSB0aGF0IHRoZSBiaW8gZG9lcyBub3QKKyAgICAgIGNoYW5nZSB3aGlsZSBJL08gaXMgaW4gcHJvZ3Jlc3MuCisKKyAgICAgIGJpb19pbnRlZ3JpdHlfcHJlcCgpIHNob3VsZCBvbmx5IGJlIGNhbGxlZCBpZgorICAgICAgYmlvX2ludGVncml0eV9lbmFibGVkKCkgcmV0dXJuZWQgMS4KKworCisgICAgaW50IGJpb19pbnRlZ3JpdHlfdGFnX3NpemUoYmlvKTsKKworICAgICAgSWYgdGhlIGZpbGVzeXN0ZW0gd2FudHMgdG8gdXNlIHRoZSBhcHBsaWNhdGlvbiB0YWcgc3BhY2UgaXQgd2lsbAorICAgICAgZmlyc3QgaGF2ZSB0byBmaW5kIG91dCBob3cgbXVjaCBzdG9yYWdlIHNwYWNlIGlzIGF2YWlsYWJsZS4KKyAgICAgIEJlY2F1c2UgdGFnIHNwYWNlIGlzIGdlbmVyYWxseSBsaW1pdGVkICh1c3VhbGx5IDIgYnl0ZXMgcGVyCisgICAgICBzZWN0b3IgcmVnYXJkbGVzcyBvZiBzZWN0b3Igc2l6ZSksIHRoZSBpbnRlZ3JpdHkgZnJhbWV3b3JrCisgICAgICBzdXBwb3J0cyBpbnRlcmxlYXZpbmcgdGhlIGluZm9ybWF0aW9uIGJldHdlZW4gdGhlIHNlY3RvcnMgaW4gYW4KKyAgICAgIEkvTy4KKworICAgICAgRmlsZXN5c3RlbXMgY2FuIGNhbGwgYmlvX2ludGVncml0eV90YWdfc2l6ZShiaW8pIHRvIGZpbmQgb3V0IGhvdworICAgICAgbWFueSBieXRlcyBvZiBzdG9yYWdlIGFyZSBhdmFpbGFibGUgZm9yIHRoYXQgcGFydGljdWxhciBiaW8uCisKKyAgICAgIEFub3RoZXIgb3B0aW9uIGlzIGJkZXZfZ2V0X3RhZ19zaXplKGJsb2NrX2RldmljZSkgd2hpY2ggd2lsbAorICAgICAgcmV0dXJuIHRoZSBudW1iZXIgb2YgYXZhaWxhYmxlIGJ5dGVzIHBlciBoYXJkd2FyZSBzZWN0b3IuCisKKworICAgIGludCBiaW9faW50ZWdyaXR5X3NldF90YWcoYmlvLCB2b2lkICp0YWdfYnVmLCBsZW4pOworCisgICAgICBBZnRlciBhIHN1Y2Nlc3NmdWwgcmV0dXJuIGZyb20gYmlvX2ludGVncml0eV9wcmVwKCksCisgICAgICBiaW9faW50ZWdyaXR5X3NldF90YWcoKSBjYW4gYmUgdXNlZCB0byBhdHRhY2ggYW4gb3BhcXVlIHRhZworICAgICAgYnVmZmVyIHRvIGEgYmlvLiAgT2J2aW91c2x5IHRoaXMgb25seSBtYWtlcyBzZW5zZSBpZiB0aGUgSS9PIGlzCisgICAgICBhIFdSSVRFLgorCisKKyAgICBpbnQgYmlvX2ludGVncml0eV9nZXRfdGFnKGJpbywgdm9pZCAqdGFnX2J1ZiwgbGVuKTsKKworICAgICAgU2ltaWxhcmx5LCBhdCBSRUFEIEkvTyBjb21wbGV0aW9uIHRpbWUgdGhlIGZpbGVzeXN0ZW0gY2FuCisgICAgICByZXRyaWV2ZSB0aGUgdGFnIGJ1ZmZlciB1c2luZyBiaW9faW50ZWdyaXR5X2dldF90YWcoKS4KKworCis2LjMgUEFTU0lORyBFWElTVElORyBJTlRFR1JJVFkgTUVUQURBVEEKKworICAgIEZpbGVzeXN0ZW1zIHRoYXQgZWl0aGVyIGdlbmVyYXRlIHRoZWlyIG93biBpbnRlZ3JpdHkgbWV0YWRhdGEgb3IKKyAgICBhcmUgY2FwYWJsZSBvZiB0cmFuc2ZlcnJpbmcgSU1EIGZyb20gdXNlciBzcGFjZSBjYW4gdXNlIHRoZQorICAgIGZvbGxvd2luZyBjYWxsczoKKworCisgICAgc3RydWN0IGJpcCAqIGJpb19pbnRlZ3JpdHlfYWxsb2MoYmlvLCBnZnBfbWFzaywgbnJfcGFnZXMpOworCisgICAgICBBbGxvY2F0ZXMgdGhlIGJpbyBpbnRlZ3JpdHkgcGF5bG9hZCBhbmQgaGFuZ3MgaXQgb2ZmIG9mIHRoZSBiaW8uCisgICAgICBucl9wYWdlcyBpbmRpY2F0ZSBob3cgbWFueSBwYWdlcyBvZiBwcm90ZWN0aW9uIGRhdGEgbmVlZCB0byBiZQorICAgICAgc3RvcmVkIGluIHRoZSBpbnRlZ3JpdHkgYmlvX3ZlYyBsaXN0IChzaW1pbGFyIHRvIGJpb19hbGxvYygpKS4KKworICAgICAgVGhlIGludGVncml0eSBwYXlsb2FkIHdpbGwgYmUgZnJlZWQgYXQgYmlvX2ZyZWUoKSB0aW1lLgorCisKKyAgICBpbnQgYmlvX2ludGVncml0eV9hZGRfcGFnZShiaW8sIHBhZ2UsIGxlbiwgb2Zmc2V0KTsKKworICAgICAgQXR0YWNoZXMgYSBwYWdlIGNvbnRhaW5pbmcgaW50ZWdyaXR5IG1ldGFkYXRhIHRvIGFuIGV4aXN0aW5nCisgICAgICBiaW8uICBUaGUgYmlvIG11c3QgaGF2ZSBhbiBleGlzdGluZyBiaXAsCisgICAgICBpLmUuIGJpb19pbnRlZ3JpdHlfYWxsb2MoKSBtdXN0IGhhdmUgYmVlbiBjYWxsZWQuICBGb3IgYSBXUklURSwKKyAgICAgIHRoZSBpbnRlZ3JpdHkgbWV0YWRhdGEgaW4gdGhlIHBhZ2VzIG11c3QgYmUgaW4gYSBmb3JtYXQKKyAgICAgIHVuZGVyc3Rvb2QgYnkgdGhlIHRhcmdldCBkZXZpY2Ugd2l0aCB0aGUgbm90YWJsZSBleGNlcHRpb24gdGhhdAorICAgICAgdGhlIHNlY3RvciBudW1iZXJzIHdpbGwgYmUgcmVtYXBwZWQgYXMgdGhlIHJlcXVlc3QgdHJhdmVyc2VzIHRoZQorICAgICAgSS9PIHN0YWNrLiAgVGhpcyBpbXBsaWVzIHRoYXQgdGhlIHBhZ2VzIGFkZGVkIHVzaW5nIHRoaXMgY2FsbAorICAgICAgd2lsbCBiZSBtb2RpZmllZCBkdXJpbmcgSS9PISAgVGhlIGZpcnN0IHJlZmVyZW5jZSB0YWcgaW4gdGhlCisgICAgICBpbnRlZ3JpdHkgbWV0YWRhdGEgbXVzdCBoYXZlIGEgdmFsdWUgb2YgYmlwLT5iaXBfc2VjdG9yLgorCisgICAgICBQYWdlcyBjYW4gYmUgYWRkZWQgdXNpbmcgYmlvX2ludGVncml0eV9hZGRfcGFnZSgpIGFzIGxvbmcgYXMKKyAgICAgIHRoZXJlIGlzIHJvb20gaW4gdGhlIGJpcCBiaW9fdmVjIGFycmF5IChucl9wYWdlcykuCisKKyAgICAgIFVwb24gY29tcGxldGlvbiBvZiBhIFJFQUQgb3BlcmF0aW9uLCB0aGUgYXR0YWNoZWQgcGFnZXMgd2lsbAorICAgICAgY29udGFpbiB0aGUgaW50ZWdyaXR5IG1ldGFkYXRhIHJlY2VpdmVkIGZyb20gdGhlIHN0b3JhZ2UgZGV2aWNlLgorICAgICAgSXQgaXMgdXAgdG8gdGhlIHJlY2VpdmVyIHRvIHByb2Nlc3MgdGhlbSBhbmQgdmVyaWZ5IGRhdGEKKyAgICAgIGludGVncml0eSB1cG9uIGNvbXBsZXRpb24uCisKKworNi40IFJFR0lTVEVSSU5HIEEgQkxPQ0sgREVWSUNFIEFTIENBUEFCTEUgT0YgRVhDSEFOR0lORyBJTlRFR1JJVFkKKyAgICBNRVRBREFUQQorCisgICAgVG8gZW5hYmxlIGludGVncml0eSBleGNoYW5nZSBvbiBhIGJsb2NrIGRldmljZSB0aGUgZ2VuZGlzayBtdXN0IGJlCisgICAgcmVnaXN0ZXJlZCBhcyBjYXBhYmxlOgorCisgICAgaW50IGJsa19pbnRlZ3JpdHlfcmVnaXN0ZXIoZ2VuZGlzaywgYmxrX2ludGVncml0eSk7CisKKyAgICAgIFRoZSBibGtfaW50ZWdyaXR5IHN0cnVjdCBpcyBhIHRlbXBsYXRlIGFuZCBzaG91bGQgY29udGFpbiB0aGUKKyAgICAgIGZvbGxvd2luZzoKKworICAgICAgICBzdGF0aWMgc3RydWN0IGJsa19pbnRlZ3JpdHkgbXlfcHJvZmlsZSA9IHsKKyAgICAgICAgICAgIC5uYW1lICAgICAgICAgICAgICAgICAgID0gIlNUQU5EQVJEU0JPRFktVFlQRS1WQVJJQU5ULUNTVU0iLAorICAgICAgICAgICAgLmdlbmVyYXRlX2ZuICAgICAgICAgICAgPSBteV9nZW5lcmF0ZV9mbiwKKyAgICAgICAJICAgIC52ZXJpZnlfZm4gICAgICAgICAgICAgID0gbXlfdmVyaWZ5X2ZuLAorICAgICAgIAkgICAgLmdldF90YWdfZm4gICAgICAgICAgICAgPSBteV9nZXRfdGFnX2ZuLAorICAgICAgIAkgICAgLnNldF90YWdfZm4gICAgICAgICAgICAgPSBteV9zZXRfdGFnX2ZuLAorCSAgICAudHVwbGVfc2l6ZSAgICAgICAgICAgICA9IHNpemVvZihzdHJ1Y3QgbXlfdHVwbGVfc2l6ZSksCisJICAgIC50YWdfc2l6ZSAgICAgICAgICAgICAgID0gPHRhZyBieXRlcyBwZXIgaHcgc2VjdG9yPiwKKyAgICAgICAgfTsKKworICAgICAgJ25hbWUnIGlzIGEgdGV4dCBzdHJpbmcgd2hpY2ggd2lsbCBiZSB2aXNpYmxlIGluIHN5c2ZzLiAgVGhpcyBpcworICAgICAgcGFydCBvZiB0aGUgdXNlcmxhbmQgQVBJIHNvIGNob3NlIGl0IGNhcmVmdWxseSBhbmQgbmV2ZXIgY2hhbmdlCisgICAgICBpdC4gIFRoZSBmb3JtYXQgaXMgc3RhbmRhcmRzIGJvZHktdHlwZS12YXJpYW50LgorICAgICAgRS5nLiBUMTAtRElGLVRZUEUxLUlQIG9yIFQxMy1FUFAtMC1DUkMuCisKKyAgICAgICdnZW5lcmF0ZV9mbicgZ2VuZXJhdGVzIGFwcHJvcHJpYXRlIGludGVncml0eSBtZXRhZGF0YSAoZm9yIFdSSVRFKS4KKworICAgICAgJ3ZlcmlmeV9mbicgdmVyaWZpZXMgdGhhdCB0aGUgZGF0YSBidWZmZXIgbWF0Y2hlcyB0aGUgaW50ZWdyaXR5CisgICAgICBtZXRhZGF0YS4KKworICAgICAgJ3R1cGxlX3NpemUnIG11c3QgYmUgc2V0IHRvIG1hdGNoIHRoZSBzaXplIG9mIHRoZSBpbnRlZ3JpdHkKKyAgICAgIG1ldGFkYXRhIHBlciBzZWN0b3IuICBJLmUuIDggZm9yIERJRiBhbmQgRVBQLgorCisgICAgICAndGFnX3NpemUnIG11c3QgYmUgc2V0IHRvIGlkZW50aWZ5IGhvdyBtYW55IGJ5dGVzIG9mIHRhZyBzcGFjZQorICAgICAgYXJlIGF2YWlsYWJsZSBwZXIgaGFyZHdhcmUgc2VjdG9yLiAgRm9yIERJRiB0aGlzIGlzIGVpdGhlciAyIG9yCisgICAgICAwIGRlcGVuZGluZyBvbiB0aGUgdmFsdWUgb2YgdGhlIENvbnRyb2wgTW9kZSBQYWdlIEFUTyBiaXQuCisKKyAgICAgIFNlZSA2LjIgZm9yIGEgZGVzY3JpcHRpb24gb2YgZ2V0X3RhZ19mbiBhbmQgc2V0X3RhZ19mbi4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorMjAwNy0xMi0yNCBNYXJ0aW4gSy4gUGV0ZXJzZW4gPG1hcnRpbi5wZXRlcnNlbkBvcmFjbGUuY29tPgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9jcHV0b3BvbG9neS50eHQgYi9Eb2N1bWVudGF0aW9uL2NwdXRvcG9sb2d5LnR4dAppbmRleCBiNjFjYjk1Li5iZDY5OWRhIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2NwdXRvcG9sb2d5LnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2NwdXRvcG9sb2d5LnR4dApAQCAtMTQsOSArMTQsOCBAQAogVG8gaW1wbGVtZW50IGl0IGluIGFuIGFyY2hpdGVjdHVyZS1uZXV0cmFsIHdheSwgYSBuZXcgc291cmNlIGZpbGUsCiBkcml2ZXJzL2Jhc2UvdG9wb2xvZ3kuYywgaXMgdG8gZXhwb3J0IHRoZSA0IGF0dHJpYnV0ZXMuCiAKLUlmIG9uZSBhcmNoaXRlY3R1cmUgd2FudHMgdG8gc3VwcG9ydCB0aGlzIGZlYXR1cmUsIGl0IGp1c3QgbmVlZHMgdG8KLWltcGxlbWVudCA0IGRlZmluZXMsIHR5cGljYWxseSBpbiBmaWxlIGluY2x1ZGUvYXNtLVhYWC90b3BvbG9neS5oLgotVGhlIDQgZGVmaW5lcyBhcmU6CitGb3IgYW4gYXJjaGl0ZWN0dXJlIHRvIHN1cHBvcnQgdGhpcyBmZWF0dXJlLCBpdCBtdXN0IGRlZmluZSBzb21lIG9mCit0aGVzZSBtYWNyb3MgaW4gaW5jbHVkZS9hc20tWFhYL3RvcG9sb2d5Lmg6CiAjZGVmaW5lIHRvcG9sb2d5X3BoeXNpY2FsX3BhY2thZ2VfaWQoY3B1KQogI2RlZmluZSB0b3BvbG9neV9jb3JlX2lkKGNwdSkKICNkZWZpbmUgdG9wb2xvZ3lfdGhyZWFkX3NpYmxpbmdzKGNwdSkKQEAgLTI1LDE3ICsyNCwxMCBAQAogVGhlIHR5cGUgb2YgKipfaWQgaXMgaW50LgogVGhlIHR5cGUgb2Ygc2libGluZ3MgaXMgY3B1bWFza190LgogCi1UbyBiZSBjb25zaXN0ZW50IG9uIGFsbCBhcmNoaXRlY3R1cmVzLCB0aGUgNCBhdHRyaWJ1dGVzIHNob3VsZCBoYXZlCi1kZWZhdWx0IHZhbHVlcyBpZiB0aGVpciB2YWx1ZXMgYXJlIHVuYXZhaWxhYmxlLiBCZWxvdyBpcyB0aGUgcnVsZS4KLTEpIHBoeXNpY2FsX3BhY2thZ2VfaWQ6IElmIGNwdSBoYXMgbm8gcGh5c2ljYWwgcGFja2FnZSBpZCwgLTEgaXMgdGhlCi1kZWZhdWx0IHZhbHVlLgotMikgY29yZV9pZDogSWYgY3B1IGRvZXNuJ3Qgc3VwcG9ydCBtdWx0aS1jb3JlLCBpdHMgY29yZSBpZCBpcyAwLgotMykgdGhyZWFkX3NpYmxpbmdzOiBKdXN0IGluY2x1ZGUgaXRzZWxmLCBpZiB0aGUgY3B1IGRvZXNuJ3Qgc3VwcG9ydAotSFQvbXVsdGktdGhyZWFkLgotNCkgY29yZV9zaWJsaW5nczogSnVzdCBpbmNsdWRlIGl0c2VsZiwgaWYgdGhlIGNwdSBkb2Vzbid0IHN1cHBvcnQKLW11bHRpLWNvcmUgYW5kIEhUL011bHRpLXRocmVhZC4KLQotU28gYmUgY2FyZWZ1bCB3aGVuIGRlY2xhcmluZyB0aGUgNCBkZWZpbmVzIGluIGluY2x1ZGUvYXNtLVhYWC90b3BvbG9neS5oLgotCi1JZiBhbiBhdHRyaWJ1dGUgaXNuJ3QgZGVmaW5lZCBvbiBhbiBhcmNoaXRlY3R1cmUsIGl0IHdvbid0IGJlIGV4cG9ydGVkLgotCitUbyBiZSBjb25zaXN0ZW50IG9uIGFsbCBhcmNoaXRlY3R1cmVzLCBpbmNsdWRlL2xpbnV4L3RvcG9sb2d5LmgKK3Byb3ZpZGVzIGRlZmF1bHQgZGVmaW5pdGlvbnMgZm9yIGFueSBvZiB0aGUgYWJvdmUgbWFjcm9zIHRoYXQgYXJlCitub3QgZGVmaW5lZCBieSBpbmNsdWRlL2FzbS1YWFgvdG9wb2xvZ3kuaDoKKzEpIHBoeXNpY2FsX3BhY2thZ2VfaWQ6IC0xCisyKSBjb3JlX2lkOiAwCiszKSB0aHJlYWRfc2libGluZ3M6IGp1c3QgdGhlIGdpdmVuIENQVQorNCkgY29yZV9zaWJsaW5nczoganVzdCB0aGUgZ2l2ZW4gQ1BVCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2ZlYXR1cmUtcmVtb3ZhbC1zY2hlZHVsZS50eHQgYi9Eb2N1bWVudGF0aW9uL2ZlYXR1cmUtcmVtb3ZhbC1zY2hlZHVsZS50eHQKaW5kZXggNDZlY2UzZi4uNjVhMTQ4MiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9mZWF0dXJlLXJlbW92YWwtc2NoZWR1bGUudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZmVhdHVyZS1yZW1vdmFsLXNjaGVkdWxlLnR4dApAQCAtMjIyLDEzICsyMjIsNiBAQAogCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAotV2hhdDoJaTJjLWk4MTAsIGkyYy1wcm9zYXZhZ2UgYW5kIGkyYy1zYXZhZ2U0Ci1XaGVuOglNYXkgMjAwOAotV2h5OglUaGVzZSBkcml2ZXJzIGFyZSBzdXBlcnNlZGVkIGJ5IGk4MTBmYiwgaW50ZWxmYiBhbmQgc2F2YWdlZmIuCi1XaG86CUplYW4gRGVsdmFyZSA8a2hhbGlAbGludXgtZnIub3JnPgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQogV2hhdCAoV2h5KToKIAktIGluY2x1ZGUvbGludXgvbmV0ZmlsdGVyX2lwdjQvaXB0X1RPUy5oIGlwdF90b3MuaCBoZWFkZXIgZmlsZXMKIAkgIChzdXBlcnNlZGVkIGJ5IHh0X1RPUy94dF90b3MgdGFyZ2V0ICYgbWF0Y2gpCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2ZpbGVzeXN0ZW1zL2V4dDQudHh0IGIvRG9jdW1lbnRhdGlvbi9maWxlc3lzdGVtcy9leHQ0LnR4dAppbmRleCAwYzUwODZkYi4uODBlMTkzZCAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9maWxlc3lzdGVtcy9leHQ0LnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2ZpbGVzeXN0ZW1zL2V4dDQudHh0CkBAIC0xMyw3MiArMTMsOTMgQEAKIDEuIFF1aWNrIHVzYWdlIGluc3RydWN0aW9uczoKID09PT09PT09PT09PT09PT09PT09PT09PT09PQogCi0gIC0gR3JhYiB1cGRhdGVkIGUyZnNwcm9ncyBmcm9tCi0gICAgZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L2tlcm5lbC9wZW9wbGUvdHl0c28vZTJmc3Byb2dzLWludGVyaW0vCi0gICAgVGhpcyBpcyBhIHBhdGNoc2V0IG9uIHRvcCBvZiBlMmZzcHJvZ3MtMS4zOSwgd2hpY2ggY2FuIGJlIGZvdW5kIGF0CisgIC0gQ29tcGlsZSBhbmQgaW5zdGFsbCB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgZTJmc3Byb2dzIChhcyBvZiB0aGlzCisgICAgd3JpdGluZyB2ZXJzaW9uIDEuNDEpIGZyb206CisKKyAgICBodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3Qvc2hvd2ZpbGVzLnBocD9ncm91cF9pZD0yNDA2CisJCisJb3IKKwogICAgIGZ0cDovL2Z0cC5rZXJuZWwub3JnL3B1Yi9saW51eC9rZXJuZWwvcGVvcGxlL3R5dHNvL2UyZnNwcm9ncy8KIAotICAtIEl0J3Mgc3RpbGwgbWtlMmZzIC1qIC9kZXYvaGRhMQorCW9yIGdyYWIgdGhlIGxhdGVzdCBnaXQgcmVwb3NpdG9yeSBmcm9tOgogCi0gIC0gbW91bnQgL2Rldi9oZGExIC93aGVyZXZlciAtdCBleHQ0ZGV2CisgICAgZ2l0Oi8vZ2l0Lmtlcm5lbC5vcmcvcHViL3NjbS9mcy9leHQyL2UyZnNwcm9ncy5naXQKIAotICAtIFRvIGVuYWJsZSBleHRlbnRzLAorICAtIENyZWF0ZSBhIG5ldyBmaWxlc3lzdGVtIHVzaW5nIHRoZSBleHQ0ZGV2IGZpbGVzeXN0ZW0gdHlwZToKIAotCW1vdW50IC9kZXYvaGRhMSAvd2hlcmV2ZXIgLXQgZXh0NGRldiAtbyBleHRlbnRzCisgICAgCSMgbWtlMmZzIC10IGV4dDRkZXYgL2Rldi9oZGExCiAKLSAgLSBUaGUgZmlsZXN5c3RlbSBpcyBjb21wYXRpYmxlIHdpdGggdGhlIGV4dDMgZHJpdmVyIHVudGlsIHlvdSBhZGQgYSBmaWxlCi0gICAgd2hpY2ggaGFzIGV4dGVudHMgKGllOiBgbW91bnQgLW8gZXh0ZW50cycsIHRoZW4gY3JlYXRlIGEgZmlsZSkuCisgICAgT3IgY29uZmlndXJlIGFuIGV4aXN0aW5nIGV4dDMgZmlsZXN5c3RlbSB0byBzdXBwb3J0IGV4dGVudHMgYW5kIHNldAorICAgIHRoZSB0ZXN0X2ZzIGZsYWcgdG8gaW5kaWNhdGUgdGhhdCBpdCdzIG9rIGZvciBhbiBpbi1kZXZlbG9wbWVudAorICAgIGZpbGVzeXN0ZW0gdG8gdG91Y2ggdGhpcyBmaWxlc3lzdGVtOgogCi0gICAgTk9URTogVGhlICJleHRlbnRzIiBtb3VudCBmbGFnIGlzIHRlbXBvcmFyeS4gIEl0IHdpbGwgc29vbiBnbyBhd2F5IGFuZAotICAgIGV4dGVudHMgd2lsbCBiZSBlbmFibGVkIGJ5IHRoZSAiLW8gZXh0ZW50cyIgZmxhZyB0byBta2UyZnMgb3IgdHVuZTJmcworCSMgdHVuZTJmcyAtTyBleHRlbnRzIC1FIHRlc3RfZnMgL2Rldi9oZGExCisKKyAgICBJZiB0aGUgZmlsZXN5c3RlbSB3YXMgY3JlYXRlZCB3aXRoIDEyOCBieXRlIGlub2RlcywgaXQgY2FuIGJlCisgICAgY29udmVydGVkIHRvIHVzZSAyNTYgYnl0ZSBmb3IgZ3JlYXRlciBlZmZpY2llbmN5IHZpYToKKworICAgICAgICAjIHR1bmUyZnMgLUkgMjU2IC9kZXYvaGRhMQorCisgICAgKE5vdGU6IHdlIGN1cnJlbnRseSBkbyBub3QgaGF2ZSB0b29scyB0byBjb252ZXJ0IGFuIGV4dDRkZXYKKyAgICBmaWxlc3lzdGVtIGJhY2sgdG8gZXh0Mzsgc28gcGxlYXNlIGRvIG5vdCBkbyB0cnkgdGhpcyBvbiBwcm9kdWN0aW9uCisgICAgZmlsZXN5c3RlbXMuKQorCisgIC0gTW91bnRpbmc6CisKKwkjIG1vdW50IC10IGV4dDRkZXYgL2Rldi9oZGExIC93aGVyZXZlcgogCiAgIC0gV2hlbiBjb21wYXJpbmcgcGVyZm9ybWFuY2Ugd2l0aCBvdGhlciBmaWxlc3lzdGVtcywgcmVtZW1iZXIgdGhhdAotICAgIGV4dDMvNCBieSBkZWZhdWx0IG9mZmVycyBoaWdoZXIgZGF0YSBpbnRlZ3JpdHkgZ3VhcmFudGVlcyB0aGFuIG1vc3QuICBTbwotICAgIHdoZW4gY29tcGFyaW5nIHdpdGggYSBtZXRhZGF0YS1vbmx5IGpvdXJuYWxsaW5nIGZpbGVzeXN0ZW0sIHVzZSBgbW91bnQgLW8KLSAgICBkYXRhPXdyaXRlYmFjaycuICBBbmQgeW91IG1pZ2h0IGFzIHdlbGwgdXNlIGBtb3VudCAtbyBub2JoJyB0b28gYWxvbmcKLSAgICB3aXRoIGl0LiAgTWFraW5nIHRoZSBqb3VybmFsIGxhcmdlciB0aGFuIHRoZSBta2UyZnMgZGVmYXVsdCBvZnRlbiBoZWxwcwotICAgIHBlcmZvcm1hbmNlIHdpdGggbWV0YWRhdGEtaW50ZW5zaXZlIHdvcmtsb2Fkcy4KKyAgICBleHQzLzQgYnkgZGVmYXVsdCBvZmZlcnMgaGlnaGVyIGRhdGEgaW50ZWdyaXR5IGd1YXJhbnRlZXMgdGhhbiBtb3N0LgorICAgIFNvIHdoZW4gY29tcGFyaW5nIHdpdGggYSBtZXRhZGF0YS1vbmx5IGpvdXJuYWxsaW5nIGZpbGVzeXN0ZW0sIHN1Y2gKKyAgICBhcyBleHQzLCB1c2UgYG1vdW50IC1vIGRhdGE9d3JpdGViYWNrJy4gIEFuZCB5b3UgbWlnaHQgYXMgd2VsbCB1c2UKKyAgICBgbW91bnQgLW8gbm9iaCcgdG9vIGFsb25nIHdpdGggaXQuICBNYWtpbmcgdGhlIGpvdXJuYWwgbGFyZ2VyIHRoYW4KKyAgICB0aGUgbWtlMmZzIGRlZmF1bHQgb2Z0ZW4gaGVscHMgcGVyZm9ybWFuY2Ugd2l0aCBtZXRhZGF0YS1pbnRlbnNpdmUKKyAgICB3b3JrbG9hZHMuCiAKIDIuIEZlYXR1cmVzCiA9PT09PT09PT09PQogCiAyLjEgQ3VycmVudGx5IGF2YWlsYWJsZQogCi0qIGFiaWxpdHkgdG8gdXNlIGZpbGVzeXN0ZW1zID4gMTZUQgorKiBhYmlsaXR5IHRvIHVzZSBmaWxlc3lzdGVtcyA+IDE2VEIgKGUyZnNwcm9ncyBzdXBwb3J0IG5vdCBhdmFpbGFibGUgeWV0KQogKiBleHRlbnQgZm9ybWF0IHJlZHVjZXMgbWV0YWRhdGEgb3ZlcmhlYWQgKFJBTSwgSU8gZm9yIGFjY2VzcywgdHJhbnNhY3Rpb25zKQogKiBleHRlbnQgZm9ybWF0IG1vcmUgcm9idXN0IGluIGZhY2Ugb2Ygb24tZGlzayBjb3JydXB0aW9uIGR1ZSB0byBtYWdpY3MsCiAqIGludGVybmFsIHJlZHVuYW5jeSBpbiB0cmVlCi0KLTIuMSBQcmV2aW91c2x5IGF2YWlsYWJsZSwgc29vbiB0byBiZSBlbmFibGVkIGJ5IGRlZmF1bHQgYnkgIm1rZWZzLmV4dDQiOgotCi0qIGRpcl9pbmRleCBhbmQgcmVzaXplIGlub2RlIHdpbGwgYmUgb24gYnkgZGVmYXVsdAotKiBsYXJnZSBpbm9kZXMgd2lsbCBiZSB1c2VkIGJ5IGRlZmF1bHQgZm9yIGZhc3QgRUFzLCBuc2VjIHRpbWVzdGFtcHMsIGV0YworKiBpbXByb3ZlZCBmaWxlIGFsbG9jYXRpb24gKG11bHRpLWJsb2NrIGFsbG9jKQorKiBmaXggMzIwMDAgc3ViZGlyZWN0b3J5IGxpbWl0CisqIG5zZWMgdGltZXN0YW1wcyBmb3IgbXRpbWUsIGF0aW1lLCBjdGltZSwgY3JlYXRlIHRpbWUKKyogaW5vZGUgdmVyc2lvbiBmaWVsZCBvbiBkaXNrIChORlN2NCwgTHVzdHJlKQorKiByZWR1Y2VkIGUyZnNjayB0aW1lIHZpYSB1bmluaXRfYmcgZmVhdHVyZQorKiBqb3VybmFsIGNoZWNrc3VtbWluZyBmb3Igcm9idXN0bmVzcywgcGVyZm9ybWFuY2UKKyogcGVyc2lzdGVudCBmaWxlIHByZWFsbG9jYXRpb24gKGUuZyBmb3Igc3RyZWFtaW5nIG1lZGlhLCBkYXRhYmFzZXMpCisqIGFiaWxpdHkgdG8gcGFjayBiaXRtYXBzIGFuZCBpbm9kZSB0YWJsZXMgaW50byBsYXJnZXIgdmlydHVhbCBncm91cHMgdmlhIHRoZQorICBmbGV4X2JnIGZlYXR1cmUKKyogbGFyZ2UgZmlsZSBzdXBwb3J0CisqIElub2RlIGFsbG9jYXRpb24gdXNpbmcgbGFyZ2UgdmlydHVhbCBibG9jayBncm91cHMgdmlhIGZsZXhfYmcKKyogZGVsYXllZCBhbGxvY2F0aW9uCisqIGxhcmdlIGJsb2NrICh1cCB0byBwYWdlc2l6ZSkgc3VwcG9ydAorKiBlZmZpY2VudCBuZXcgb3JkZXJlZCBtb2RlIGluIEpCRDIgYW5kIGV4dDQoYXZvaWQgdXNpbmcgYnVmZmVyIGhlYWQgdG8gZm9yY2UKKyAgdGhlIG9yZGVyaW5nKQogCiAyLjIgQ2FuZGlkYXRlIGZlYXR1cmVzIGZvciBmdXR1cmUgaW5jbHVzaW9uCiAKLVRoZXJlIGFyZSBzZXZlcmFsIHVuZGVyIGRpc2N1c3Npb24sIHdoZXRoZXIgdGhleSBhbGwgbWFrZSBpdCBpbiBpcwotcGFydGx5IGEgZnVuY3Rpb24gb2YgaG93IG11Y2ggdGltZSBldmVyeW9uZSBoYXMgdG8gd29yayBvbiB0aGVtOgorKiBPbmxpbmUgZGVmcmFnIChwYXRjaGVzIGF2YWlsYWJsZSBidXQgbm90IHdlbGwgdGVzdGVkKQorKiByZWR1Y2VkIG1rZTJmcyB0aW1lIHZpYSBsYXp5IGl0YWJsZSBpbml0aWFsaXphdGlvbiBpbiBjb25qdWN0aW9uIHdpdGgKKyAgdGhlIHVuaW5pdF9iZyBmZWF0dXJlIChjYXBhYmlsaXR5IHRvIGRvIHRoaXMgaXMgYXZhaWxhYmxlIGluIGUyZnNwcm9ncworICBidXQgYSBrZXJuZWwgdGhyZWFkIHRvIGRvIGxhenkgemVyb2luZyBvZiB1bnVzZWQgaW5vZGUgdGFibGUgYmxvY2tzCisgIGFmdGVyIGZpbGVzeXN0ZW0gaXMgZmlyc3QgbW91bnRlZCBpcyByZXF1aXJlZCBmb3Igc2FmZXR5KQogCi0qIGltcHJvdmVkIGZpbGUgYWxsb2NhdGlvbiAobXVsdGktYmxvY2sgYWxsb2MsIGRlbGF5ZWQgYWxsb2M7IGJhc2ljYWxseSBkb25lKQotKiBmaXggMzIwMDAgc3ViZGlyZWN0b3J5IGxpbWl0IChwYXRjaCBleGlzdHMsIG5lZWRzIHNvbWUgZTJmc2NrIHdvcmspCi0qIG5zZWMgdGltZXN0YW1wcyBmb3IgbXRpbWUsIGF0aW1lLCBjdGltZSwgY3JlYXRlIHRpbWUgKHBhdGNoIGV4aXN0cywKLSAgbmVlZHMgc29tZSBlMmZzY2sgd29yaykKLSogaW5vZGUgdmVyc2lvbiBmaWVsZCBvbiBkaXNrIChORlN2NCwgTHVzdHJlOyBwcm90b3R5cGUgZXhpc3RzKQotKiByZWR1Y2VkIG1rZTJmcy9lMmZzY2sgdGltZSB2aWEgdW5pbml0aWFsaXplZCBncm91cHMgKHByb3RvdHlwZSBleGlzdHMpCi0qIGpvdXJuYWwgY2hlY2tzdW1taW5nIGZvciByb2J1c3RuZXNzLCBwZXJmb3JtYW5jZSAocHJvdG90eXBlIGV4aXN0cykKLSogcGVyc2lzdGVudCBmaWxlIHByZWFsbG9jYXRpb24gKGUuZyBmb3Igc3RyZWFtaW5nIG1lZGlhLCBkYXRhYmFzZXMpCitUaGVyZSBhcmUgc2V2ZXJhbCBvdGhlcnMgdW5kZXIgZGlzY3Vzc2lvbiwgd2hldGhlciB0aGV5IGFsbCBtYWtlIGl0IGluIGlzCitwYXJ0bHkgYSBmdW5jdGlvbiBvZiBob3cgbXVjaCB0aW1lIGV2ZXJ5b25lIGhhcyB0byB3b3JrIG9uIHRoZW0uIEZlYXR1cmVzIGxpa2UKK21ldGFkYXRhIGNoZWNrc3VtbWluZyBoYXZlIGJlZW4gZGlzY3Vzc2VkIGFuZCBwbGFubmVkIGZvciBhIGJpdCBidXQgbm8gcGF0Y2hlcworZXhpc3QgeWV0IHNvIEknbSBub3Qgc3VyZSB0aGV5J3JlIGluIHRoZSBuZWFyLXRlcm0gcm9hZG1hcC4KIAotRmVhdHVyZXMgbGlrZSBtZXRhZGF0YSBjaGVja3N1bW1pbmcgaGF2ZSBiZWVuIGRpc2N1c3NlZCBhbmQgcGxhbm5lZCBmb3IKLWEgYml0IGJ1dCBubyBwYXRjaGVzIGV4aXN0IHlldCBzbyBJJ20gbm90IHN1cmUgdGhleSdyZSBpbiB0aGUgbmVhci10ZXJtCi1yb2FkbWFwLgorVGhlIGJpZyBwZXJmb3JtYW5jZSB3aW4gd2lsbCBjb21lIHdpdGggbWJhbGxvYywgZGVsYWxsb2MgYW5kIGZsZXhfYmcKK2dyb3VwaW5nIG9mIGJpdG1hcHMgYW5kIGlub2RlIHRhYmxlcy4gIFNvbWUgdGVzdCByZXN1bHRzIGF2YWlsYWJsZSBoZXJlOgogCi1UaGUgYmlnIHBlcmZvcm1hbmNlIHdpbiB3aWxsIGNvbWUgd2l0aCBtYmFsbG9jIGFuZCBkZWxhbGxvYy4gIENGUyBoYXMKLWJlZW4gdXNpbmcgbWJhbGxvYyBmb3IgYSBmZXcgeWVhcnMgYWxyZWFkeSB3aXRoIEx1c3RyZSwgYW5kIElCTSArIEJ1bGwKLWRpZCBhIGxvdCBvZiBiZW5jaG1hcmtpbmcgb24gaXQuICBUaGUgcmVhc29uIGl0IGlzbid0IGluIHRoZSBmaXJzdCBzZXQgb2YKLXBhdGNoZXMgaXMgcGFydGx5IGEgbWFuYWdlYWJpbGl0eSBpc3N1ZSwgYW5kIHBhcnRseSBiZWNhdXNlIGl0IGRvZXNuJ3QKLWRpcmVjdGx5IGFmZmVjdCB0aGUgb24tZGlzayBmb3JtYXQgKG91dHNpZGUgb2YgbXVjaCBiZXR0ZXIgYWxsb2NhdGlvbikKLXNvIGl0IGlzbid0IGNyaXRpY2FsIHRvIGdldCBpbnRvIHRoZSBmaXJzdCByb3VuZCBvZiBjaGFuZ2VzLiAgSSBiZWxpZXZlCi1BbGV4IGlzIHdvcmtpbmcgb24gYSBuZXcgc2V0IG9mIHBhdGNoZXMgcmlnaHQgbm93LgorIC0gaHR0cDovL3d3dy5idWxsb3BlbnNvdXJjZS5vcmcvZXh0NC8yMDA4MDUzMC9mZnNiLXdyaXRlLTIuNi4yNi1yYzIuaHRtbAorIC0gaHR0cDovL3d3dy5idWxsb3BlbnNvdXJjZS5vcmcvZXh0NC8yMDA4MDUzMC9mZnNiLXJlYWR3cml0ZS0yLjYuMjYtcmMyLmh0bWwKIAogMy4gT3B0aW9ucwogPT09PT09PT09PQpAQCAtMjIyLDkgKzI0MywxMSBAQAogCQkJdG8gdXNlIGZvciBhbGxvY2F0aW9uIHNpemUgYW5kIGFsaWdubWVudC4gRm9yIFJBSUQ1LzYKIAkJCXN5c3RlbXMgdGhpcyBzaG91bGQgYmUgdGhlIG51bWJlciBvZiBkYXRhCiAJCQlkaXNrcyAqICBSQUlEIGNodW5rIHNpemUgaW4gZmlsZSBzeXN0ZW0gYmxvY2tzLgotCitkZWxhbGxvYwkoKikJRGVmZXJyaW5nIGJsb2NrIGFsbG9jYXRpb24gdW50aWwgd3JpdGUtb3V0IHRpbWUuCitub2RlbGFsbG9jCQlEaXNhYmxlIGRlbGF5ZWQgYWxsb2NhdGlvbi4gQmxvY2tzIGFyZSBhbGxvY2F0aW9uCisJCQl3aGVuIGRhdGEgaXMgY29waWVkIGZyb20gdXNlciB0byBwYWdlIGNhY2hlLgogRGF0YSBNb2RlCi0tLS0tLS0tLS0KKz09PT09PT09PQogVGhlcmUgYXJlIDMgZGlmZmVyZW50IGRhdGEgbW9kZXM6CiAKICogd3JpdGViYWNrIG1vZGUKQEAgLTIzNiwxMCArMjU5LDEwIEBACiAKICogb3JkZXJlZCBtb2RlCiBJbiBkYXRhPW9yZGVyZWQgbW9kZSwgZXh0NCBvbmx5IG9mZmljaWFsbHkgam91cm5hbHMgbWV0YWRhdGEsIGJ1dCBpdCBsb2dpY2FsbHkKLWdyb3VwcyBtZXRhZGF0YSBhbmQgZGF0YSBibG9ja3MgaW50byBhIHNpbmdsZSB1bml0IGNhbGxlZCBhIHRyYW5zYWN0aW9uLiAgV2hlbgotaXQncyB0aW1lIHRvIHdyaXRlIHRoZSBuZXcgbWV0YWRhdGEgb3V0IHRvIGRpc2ssIHRoZSBhc3NvY2lhdGVkIGRhdGEgYmxvY2tzCi1hcmUgd3JpdHRlbiBmaXJzdC4gIEluIGdlbmVyYWwsIHRoaXMgbW9kZSBwZXJmb3JtcyBzbGlnaHRseSBzbG93ZXIgdGhhbgotd3JpdGViYWNrIGJ1dCBzaWduaWZpY2FudGx5IGZhc3RlciB0aGFuIGpvdXJuYWwgbW9kZS4KK2dyb3VwcyBtZXRhZGF0YSBpbmZvcm1hdGlvbiByZWxhdGVkIHRvIGRhdGEgY2hhbmdlcyB3aXRoIHRoZSBkYXRhIGJsb2NrcyBpbnRvIGEKK3NpbmdsZSB1bml0IGNhbGxlZCBhIHRyYW5zYWN0aW9uLiAgV2hlbiBpdCdzIHRpbWUgdG8gd3JpdGUgdGhlIG5ldyBtZXRhZGF0YQorb3V0IHRvIGRpc2ssIHRoZSBhc3NvY2lhdGVkIGRhdGEgYmxvY2tzIGFyZSB3cml0dGVuIGZpcnN0LiAgSW4gZ2VuZXJhbCwKK3RoaXMgbW9kZSBwZXJmb3JtcyBzbGlnaHRseSBzbG93ZXIgdGhhbiB3cml0ZWJhY2sgYnV0IHNpZ25pZmljYW50bHkgZmFzdGVyIHRoYW4gam91cm5hbCBtb2RlLgogCiAqIGpvdXJuYWwgbW9kZQogZGF0YT1qb3VybmFsIG1vZGUgcHJvdmlkZXMgZnVsbCBkYXRhIGFuZCBtZXRhZGF0YSBqb3VybmFsaW5nLiAgQWxsIG5ldyBkYXRhIGlzCkBAIC0yNDcsNyArMjcwLDggQEAKIEluIHRoZSBldmVudCBvZiBhIGNyYXNoLCB0aGUgam91cm5hbCBjYW4gYmUgcmVwbGF5ZWQsIGJyaW5naW5nIGJvdGggZGF0YSBhbmQKIG1ldGFkYXRhIGludG8gYSBjb25zaXN0ZW50IHN0YXRlLiAgVGhpcyBtb2RlIGlzIHRoZSBzbG93ZXN0IGV4Y2VwdCB3aGVuIGRhdGEKIG5lZWRzIHRvIGJlIHJlYWQgZnJvbSBhbmQgd3JpdHRlbiB0byBkaXNrIGF0IHRoZSBzYW1lIHRpbWUgd2hlcmUgaXQKLW91dHBlcmZvcm1zIGFsbCBvdGhlcnMgbW9kZXMuCitvdXRwZXJmb3JtcyBhbGwgb3RoZXJzIG1vZGVzLiAgQ3VyZW50bHkgZXh0NCBkb2VzIG5vdCBoYXZlIGRlbGF5ZWQKK2FsbG9jYXRpb24gc3VwcG9ydCBpZiB0aGlzIGRhdGEgam91cm5hbGxpbmcgbW9kZSBpcyBzZWxlY3RlZC4KIAogUmVmZXJlbmNlcwogPT09PT09PT09PQpAQCAtMjU2LDcgKzI4MCw4IEBACiAJCTxmaWxlOmZzL2piZDIvPgogCiBwcm9ncmFtczoJaHR0cDovL2UyZnNwcm9ncy5zb3VyY2Vmb3JnZS5uZXQvCi0JCWh0dHA6Ly9leHQycmVzaXplLnNvdXJjZWZvcmdlLm5ldAogCiB1c2VmdWwgbGlua3M6CWh0dHA6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL2V4dDMtZGV2ZWwKIAkJaHR0cDovL3d3dy5idWxsb3BlbnNvdXJjZS5vcmcvZXh0NC8KKwkJaHR0cDovL2V4dDQud2lraS5rZXJuZWwub3JnL2luZGV4LnBocC9NYWluX1BhZ2UKKwkJaHR0cDovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvRmVhdHVyZXMvRXh0NApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9maWxlc3lzdGVtcy9nZnMyLWdsb2Nrcy50eHQgYi9Eb2N1bWVudGF0aW9uL2ZpbGVzeXN0ZW1zL2dmczItZ2xvY2tzLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZGFlOWEzCi0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9maWxlc3lzdGVtcy9nZnMyLWdsb2Nrcy50eHQKQEAgLTAsMCArMSwxMTQgQEAKKyAgICAgICAgICAgICAgICAgICBHbG9jayBpbnRlcm5hbCBsb2NraW5nIHJ1bGVzCisgICAgICAgICAgICAgICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworVGhpcyBkb2N1bWVudHMgdGhlIGJhc2ljIHByaW5jaXBsZXMgb2YgdGhlIGdsb2NrIHN0YXRlIG1hY2hpbmUKK2ludGVybmFscy4gRWFjaCBnbG9jayAoc3RydWN0IGdmczJfZ2xvY2sgaW4gZnMvZ2ZzMi9pbmNvcmUuaCkKK2hhcyB0d28gbWFpbiAoaW50ZXJuYWwpIGxvY2tzOgorCisgMS4gQSBzcGlubG9jayAoZ2xfc3Bpbikgd2hpY2ggcHJvdGVjdHMgdGhlIGludGVybmFsIHN0YXRlIHN1Y2gKKyAgICBhcyBnbF9zdGF0ZSwgZ2xfdGFyZ2V0IGFuZCB0aGUgbGlzdCBvZiBob2xkZXJzIChnbF9ob2xkZXJzKQorIDIuIEEgbm9uLWJsb2NraW5nIGJpdCBsb2NrLCBHTEZfTE9DSywgd2hpY2ggaXMgdXNlZCB0byBwcmV2ZW50IG90aGVyCisgICAgdGhyZWFkcyBmcm9tIG1ha2luZyBjYWxscyB0byB0aGUgRExNLCBldGMuIGF0IHRoZSBzYW1lIHRpbWUuIElmIGEKKyAgICB0aHJlYWQgdGFrZXMgdGhpcyBsb2NrLCBpdCBtdXN0IHRoZW4gY2FsbCBydW5fcXVldWUgKHVzdWFsbHkgdmlhIHRoZQorICAgIHdvcmtxdWV1ZSkgd2hlbiBpdCByZWxlYXNlcyBpdCBpbiBvcmRlciB0byBlbnN1cmUgYW55IHBlbmRpbmcgdGFza3MKKyAgICBhcmUgY29tcGxldGVkLgorCitUaGUgZ2xfaG9sZGVycyBsaXN0IGNvbnRhaW5zIGFsbCB0aGUgcXVldWVkIGxvY2sgcmVxdWVzdHMgKG5vdAoranVzdCB0aGUgaG9sZGVycykgYXNzb2NpYXRlZCB3aXRoIHRoZSBnbG9jay4gSWYgdGhlcmUgYXJlIGFueQoraGVsZCBsb2NrcywgdGhlbiB0aGV5IHdpbGwgYmUgY29udGlndW91cyBlbnRyaWVzIGF0IHRoZSBoZWFkCitvZiB0aGUgbGlzdC4gTG9ja3MgYXJlIGdyYW50ZWQgaW4gc3RyaWN0bHkgdGhlIG9yZGVyIHRoYXQgdGhleQorYXJlIHF1ZXVlZCwgZXhjZXB0IGZvciB0aG9zZSBtYXJrZWQgTE1fRkxBR19QUklPUklUWSB3aGljaCBhcmUKK3VzZWQgb25seSBkdXJpbmcgcmVjb3ZlcnksIGFuZCBldmVuIHRoZW4gb25seSBmb3Igam91cm5hbCBsb2Nrcy4KKworVGhlcmUgYXJlIHRocmVlIGxvY2sgc3RhdGVzIHRoYXQgdXNlcnMgb2YgdGhlIGdsb2NrIGxheWVyIGNhbiByZXF1ZXN0LAorbmFtZWx5IHNoYXJlZCAoU0gpLCBkZWZlcnJlZCAoREYpIGFuZCBleGNsdXNpdmUgKEVYKS4gVGhvc2UgdHJhbnNsYXRlCit0byB0aGUgZm9sbG93aW5nIERMTSBsb2NrIG1vZGVzOgorCitHbG9jayBtb2RlICAgIHwgRExNIGxvY2sgbW9kZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgVU4gICAgICAgIHwgICAgSVYvTkwgIFVubG9ja2VkIChubyBETE0gbG9jayBhc3NvY2lhdGVkIHdpdGggZ2xvY2spIG9yIE5MCisgICAgU0ggICAgICAgIHwgICAgUFIgICAgIChQcm90ZWN0ZWQgcmVhZCkKKyAgICBERiAgICAgICAgfCAgICBDVyAgICAgKENvbmN1cnJlbnQgd3JpdGUpCisgICAgRVggICAgICAgIHwgICAgRVggICAgIChFeGNsdXNpdmUpCisKK1RodXMgREYgaXMgYmFzaWNhbGx5IGEgc2hhcmVkIG1vZGUgd2hpY2ggaXMgaW5jb21wYXRpYmxlIHdpdGggdGhlICJub3JtYWwiCitzaGFyZWQgbG9jayBtb2RlLCBTSC4gSW4gR0ZTMiB0aGUgREYgbW9kZSBpcyB1c2VkIGV4Y2x1c2l2ZWx5IGZvciBkaXJlY3QgSS9PCitvcGVyYXRpb25zLiBUaGUgZ2xvY2tzIGFyZSBiYXNpY2FsbHkgYSBsb2NrIHBsdXMgc29tZSByb3V0aW5lcyB3aGljaCBkZWFsCit3aXRoIGNhY2hlIG1hbmFnZW1lbnQuIFRoZSBmb2xsb3dpbmcgcnVsZXMgYXBwbHkgZm9yIHRoZSBjYWNoZToKKworR2xvY2sgbW9kZSAgIHwgIENhY2hlIGRhdGEgfCBDYWNoZSBNZXRhZGF0YSB8IERpcnR5IERhdGEgfCBEaXJ0eSBNZXRhZGF0YQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICBVTiAgICAgICB8ICAgICBObyAgICAgIHwgICAgICAgTm8gICAgICAgfCAgICAgTm8gICAgIHwgICAgICBObworICAgIFNIICAgICAgIHwgICAgIFllcyAgICAgfCAgICAgICBZZXMgICAgICB8ICAgICBObyAgICAgfCAgICAgIE5vCisgICAgREYgICAgICAgfCAgICAgTm8gICAgICB8ICAgICAgIFllcyAgICAgIHwgICAgIE5vICAgICB8ICAgICAgTm8KKyAgICBFWCAgICAgICB8ICAgICBZZXMgICAgIHwgICAgICAgWWVzICAgICAgfCAgICAgWWVzICAgIHwgICAgICBZZXMKKworVGhlc2UgcnVsZXMgYXJlIGltcGxlbWVudGVkIHVzaW5nIHRoZSB2YXJpb3VzIGdsb2NrIG9wZXJhdGlvbnMgd2hpY2gKK2FyZSBkZWZpbmVkIGZvciBlYWNoIHR5cGUgb2YgZ2xvY2suIE5vdCBhbGwgdHlwZXMgb2YgZ2xvY2tzIHVzZQorYWxsIHRoZSBtb2Rlcy4gT25seSBpbm9kZSBnbG9ja3MgdXNlIHRoZSBERiBtb2RlIGZvciBleGFtcGxlLgorCitUYWJsZSBvZiBnbG9jayBvcGVyYXRpb25zIGFuZCBwZXIgdHlwZSBjb25zdGFudHM6CisKK0ZpZWxkICAgICAgICAgICAgfCBQdXJwb3NlCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitnb194bW90ZV90aCAgICAgIHwgQ2FsbGVkIGJlZm9yZSByZW1vdGUgc3RhdGUgY2hhbmdlIChlLmcuIHRvIHN5bmMgZGlydHkgZGF0YSkKK2dvX3htb3RlX2JoICAgICAgfCBDYWxsZWQgYWZ0ZXIgcmVtb3RlIHN0YXRlIGNoYW5nZSAoZS5nLiB0byByZWZpbGwgY2FjaGUpCitnb19pbnZhbCAgICAgICAgIHwgQ2FsbGVkIGlmIHJlbW90ZSBzdGF0ZSBjaGFuZ2UgcmVxdWlyZXMgaW52YWxpZGF0aW5nIHRoZSBjYWNoZQorZ29fZGVtb3RlX29rICAgICB8IFJldHVybnMgYm9vbGVhbiB2YWx1ZSBvZiB3aGV0aGVyIGl0cyBvayB0byBkZW1vdGUgYSBnbG9jaworICAgICAgICAgICAgICAgICB8IChlLmcuIGNoZWNrcyB0aW1lb3V0LCBhbmQgdGhhdCB0aGVyZSBpcyBubyBjYWNoZWQgZGF0YSkKK2dvX2xvY2sgICAgICAgICAgfCBDYWxsZWQgZm9yIHRoZSBmaXJzdCBsb2NhbCBob2xkZXIgb2YgYSBsb2NrCitnb191bmxvY2sgICAgICAgIHwgQ2FsbGVkIG9uIHRoZSBmaW5hbCBsb2NhbCB1bmxvY2sgb2YgYSBsb2NrCitnb19kdW1wICAgICAgICAgIHwgQ2FsbGVkIHRvIHByaW50IGNvbnRlbnQgb2Ygb2JqZWN0IGZvciBkZWJ1Z2ZzIGZpbGUsIG9yIG9uCisgICAgICAgICAgICAgICAgIHwgZXJyb3IgdG8gZHVtcCBnbG9jayB0byB0aGUgbG9nLgorZ29fdHlwZTsgICAgICAgICB8IFRoZSB0eXBlIG9mIHRoZSBnbG9jaywgTE1fVFlQRV8uLi4uLgorZ29fbWluX2hvbGRfdGltZSB8IFRoZSBtaW5pbXVtIGhvbGQgdGltZQorCitUaGUgbWluaW11bSBob2xkIHRpbWUgZm9yIGVhY2ggbG9jayBpcyB0aGUgdGltZSBhZnRlciBhIHJlbW90ZSBsb2NrCitncmFudCBmb3Igd2hpY2ggd2UgaWdub3JlIHJlbW90ZSBkZW1vdGUgcmVxdWVzdHMuIFRoaXMgaXMgaW4gb3JkZXIgdG8KK3ByZXZlbnQgYSBzaXR1YXRpb24gd2hlcmUgbG9ja3MgYXJlIGJlaW5nIGJvdW5jZWQgYXJvdW5kIHRoZSBjbHVzdGVyCitmcm9tIG5vZGUgdG8gbm9kZSB3aXRoIG5vbmUgb2YgdGhlIG5vZGVzIG1ha2luZyBhbnkgcHJvZ3Jlc3MuIFRoaXMKK3RlbmRzIHRvIHNob3cgdXAgbW9zdCB3aXRoIHNoYXJlZCBtbWFwZWQgZmlsZXMgd2hpY2ggYXJlIGJlaW5nIHdyaXR0ZW4KK3RvIGJ5IG11bHRpcGxlIG5vZGVzLiBCeSBkZWxheWluZyB0aGUgZGVtb3Rpb24gaW4gcmVzcG9uc2UgdG8gYQorcmVtb3RlIGNhbGxiYWNrLCB0aGF0IGdpdmVzIHRoZSB1c2Vyc3BhY2UgcHJvZ3JhbSB0aW1lIHRvIG1ha2UKK3NvbWUgcHJvZ3Jlc3MgYmVmb3JlIHRoZSBwYWdlcyBhcmUgdW5tYXBwZWQuCisKK1RoZXJlIGlzIGEgcGxhbiB0byB0cnkgYW5kIHJlbW92ZSB0aGUgZ29fbG9jayBhbmQgZ29fdW5sb2NrIGNhbGxiYWNrcworaWYgcG9zc2libGUsIGluIG9yZGVyIHRvIHRyeSBhbmQgc3BlZWQgdXAgdGhlIGZhc3QgcGF0aCB0aG91Z2ggdGhlIGxvY2tpbmcuCitBbHNvLCBldmVudHVhbGx5IHdlIGhvcGUgdG8gbWFrZSB0aGUgZ2xvY2sgIkVYIiBtb2RlIGxvY2FsbHkgc2hhcmVkCitzdWNoIHRoYXQgYW55IGxvY2FsIGxvY2tpbmcgd2lsbCBiZSBkb25lIHdpdGggdGhlIGlfbXV0ZXggYXMgcmVxdWlyZWQKK3JhdGhlciB0aGFuIHZpYSB0aGUgZ2xvY2suCisKK0xvY2tpbmcgcnVsZXMgZm9yIGdsb2NrIG9wZXJhdGlvbnM6CisKK09wZXJhdGlvbiAgICAgfCAgR0xGX0xPQ0sgYml0IGxvY2sgaGVsZCB8ICBnbF9zcGluIHNwaW5sb2NrIGhlbGQKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitnb194bW90ZV90aCAgIHwgICAgICAgWWVzICAgICAgICAgICAgICAgfCAgICAgICBObworZ29feG1vdGVfYmggICB8ICAgICAgIFllcyAgICAgICAgICAgICAgIHwgICAgICAgTm8KK2dvX2ludmFsICAgICAgfCAgICAgICBZZXMgICAgICAgICAgICAgICB8ICAgICAgIE5vCitnb19kZW1vdGVfb2sgIHwgICAgICAgU29tZXRpbWVzICAgICAgICAgfCAgICAgICBZZXMKK2dvX2xvY2sgICAgICAgfCAgICAgICBZZXMgICAgICAgICAgICAgICB8ICAgICAgIE5vCitnb191bmxvY2sgICAgIHwgICAgICAgWWVzICAgICAgICAgICAgICAgfCAgICAgICBObworZ29fZHVtcCAgICAgICB8ICAgICAgIFNvbWV0aW1lcyAgICAgICAgIHwgICAgICAgWWVzCisKK04uQi4gT3BlcmF0aW9ucyBtdXN0IG5vdCBkcm9wIGVpdGhlciB0aGUgYml0IGxvY2sgb3IgdGhlIHNwaW5sb2NrCitpZiBpdHMgaGVsZCBvbiBlbnRyeS4gZ29fZHVtcCBhbmQgZG9fZGVtb3RlX29rIG11c3QgbmV2ZXIgYmxvY2suCitOb3RlIHRoYXQgZ29fZHVtcCB3aWxsIG9ubHkgYmUgY2FsbGVkIGlmIHRoZSBnbG9jaydzIHN0YXRlCitpbmRpY2F0ZXMgdGhhdCBpdCBpcyBjYWNoaW5nIHVwdG9kYXRlIGRhdGEuCisKK0dsb2NrIGxvY2tpbmcgb3JkZXIgd2l0aGluIEdGUzI6CisKKyAxLiBpX211dGV4IChpZiByZXF1aXJlZCkKKyAyLiBSZW5hbWUgZ2xvY2sgKGZvciByZW5hbWUgb25seSkKKyAzLiBJbm9kZSBnbG9jayhzKQorICAgIChQYXJlbnRzIGJlZm9yZSBjaGlsZHJlbiwgaW5vZGVzIGF0ICJzYW1lIGxldmVsIiB3aXRoIHNhbWUgcGFyZW50IGluCisgICAgIGxvY2sgbnVtYmVyIG9yZGVyKQorIDQuIFJncnAgZ2xvY2socykgKGZvciAoZGUpYWxsb2NhdGlvbiBvcGVyYXRpb25zKQorIDUuIFRyYW5zYWN0aW9uIGdsb2NrICh2aWEgZ2ZzMl90cmFuc19iZWdpbikgZm9yIG5vbi1yZWFkIG9wZXJhdGlvbnMKKyA2LiBQYWdlIGxvY2sgIChhbHdheXMgbGFzdCwgdmVyeSBpbXBvcnRhbnQhKQorCitUaGVyZSBhcmUgdHdvIGdsb2NrcyBwZXIgaW5vZGUuIE9uZSBkZWFscyB3aXRoIGFjY2VzcyB0byB0aGUgaW5vZGUKK2l0c2VsZiAobG9ja2luZyBvcmRlciBhcyBhYm92ZSksIGFuZCB0aGUgb3RoZXIsIGtub3duIGFzIHRoZSBpb3BlbgorZ2xvY2sgaXMgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBpX25saW5rIGZpZWxkIGluIHRoZSBpbm9kZSB0bworZGV0ZXJtaW5lIHRoZSBsaWZldGltZSBvZiB0aGUgaW5vZGUgaW4gcXVlc3Rpb24uIExvY2tpbmcgb2YgaW5vZGVzCitpcyBvbiBhIHBlci1pbm9kZSBiYXNpcy4gTG9ja2luZyBvZiByZ3JwcyBpcyBvbiBhIHBlciByZ3JwIGJhc2lzLgorCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2ZpbGVzeXN0ZW1zL3Byb2MudHh0IGIvRG9jdW1lbnRhdGlvbi9maWxlc3lzdGVtcy9wcm9jLnR4dAppbmRleCBkYmMzYzZhLi43ZjI2OGYzIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2ZpbGVzeXN0ZW1zL3Byb2MudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZmlsZXN5c3RlbXMvcHJvYy50eHQKQEAgLTM4MCwyOCArMzgwLDM1IEBACiBPZiBzb21lIGludGVyZXN0IGlzIHRoZSBpbnRyb2R1Y3Rpb24gb2YgdGhlIC9wcm9jL2lycSBkaXJlY3RvcnkgdG8gMi40LgogSXQgY291bGQgYmUgdXNlZCB0byBzZXQgSVJRIHRvIENQVSBhZmZpbml0eSwgdGhpcyBtZWFucyB0aGF0IHlvdSBjYW4gImhvb2siIGFuCiBJUlEgdG8gb25seSBvbmUgQ1BVLCBvciB0byBleGNsdWRlIGEgQ1BVIG9mIGhhbmRsaW5nIElSUXMuIFRoZSBjb250ZW50cyBvZiB0aGUKLWlycSBzdWJkaXIgaXMgb25lIHN1YmRpciBmb3IgZWFjaCBJUlEsIGFuZCBvbmUgZmlsZTsgcHJvZl9jcHVfbWFzaworaXJxIHN1YmRpciBpcyBvbmUgc3ViZGlyIGZvciBlYWNoIElSUSwgYW5kIHR3byBmaWxlczsgZGVmYXVsdF9zbXBfYWZmaW5pdHkgYW5kCitwcm9mX2NwdV9tYXNrLgogCiBGb3IgZXhhbXBsZSAKICAgPiBscyAvcHJvYy9pcnEvCiAgIDAgIDEwICAxMiAgMTQgIDE2ICAxOCAgMiAgNCAgNiAgOCAgcHJvZl9jcHVfbWFzawotICAxICAxMSAgMTMgIDE1ICAxNyAgMTkgIDMgIDUgIDcgIDkKKyAgMSAgMTEgIDEzICAxNSAgMTcgIDE5ICAzICA1ICA3ICA5ICBkZWZhdWx0X3NtcF9hZmZpbml0eQogICA+IGxzIC9wcm9jL2lycS8wLwogICBzbXBfYWZmaW5pdHkKIAotVGhlIGNvbnRlbnRzIG9mIHRoZSBwcm9mX2NwdV9tYXNrIGZpbGUgYW5kIGVhY2ggc21wX2FmZmluaXR5IGZpbGUgZm9yIGVhY2ggSVJRCi1pcyB0aGUgc2FtZSBieSBkZWZhdWx0Ogorc21wX2FmZmluaXR5IGlzIGEgYml0bWFzaywgaW4gd2hpY2ggeW91IGNhbiBzcGVjaWZ5IHdoaWNoIENQVXMgY2FuIGhhbmRsZSB0aGUKK0lSUSwgeW91IGNhbiBzZXQgaXQgYnkgZG9pbmc6CiAKLSAgPiBjYXQgL3Byb2MvaXJxLzAvc21wX2FmZmluaXR5IAorICA+IGVjaG8gMSA+IC9wcm9jL2lycS8xMC9zbXBfYWZmaW5pdHkKKworVGhpcyBtZWFucyB0aGF0IG9ubHkgdGhlIGZpcnN0IENQVSB3aWxsIGhhbmRsZSB0aGUgSVJRLCBidXQgeW91IGNhbiBhbHNvIGVjaG8KKzUgd2hpY2ggbWVhbnMgdGhhdCBvbmx5IHRoZSBmaXJzdCBhbmQgZm91cnRoIENQVSBjYW4gaGFuZGxlIHRoZSBJUlEuCisKK1RoZSBjb250ZW50cyBvZiBlYWNoIHNtcF9hZmZpbml0eSBmaWxlIGlzIHRoZSBzYW1lIGJ5IGRlZmF1bHQ6CisKKyAgPiBjYXQgL3Byb2MvaXJxLzAvc21wX2FmZmluaXR5CiAgIGZmZmZmZmZmCiAKLUl0J3MgYSBiaXRtYXNrLCBpbiB3aGljaCB5b3UgY2FuIHNwZWNpZnkgd2hpY2ggQ1BVcyBjYW4gaGFuZGxlIHRoZSBJUlEsIHlvdSBjYW4KLXNldCBpdCBieSBkb2luZzoKK1RoZSBkZWZhdWx0X3NtcF9hZmZpbml0eSBtYXNrIGFwcGxpZXMgdG8gYWxsIG5vbi1hY3RpdmUgSVJRcywgd2hpY2ggYXJlIHRoZQorSVJRcyB3aGljaCBoYXZlIG5vdCB5ZXQgYmVlbiBhbGxvY2F0ZWQvYWN0aXZhdGVkLCBhbmQgaGVuY2Ugd2hpY2ggbGFjayBhCisvcHJvYy9pcnEvWzAtOV0qIGRpcmVjdG9yeS4KIAotICA+IGVjaG8gMSA+IC9wcm9jL2lycS9wcm9mX2NwdV9tYXNrCi0KLVRoaXMgbWVhbnMgdGhhdCBvbmx5IHRoZSBmaXJzdCBDUFUgd2lsbCBoYW5kbGUgdGhlIElSUSwgYnV0IHlvdSBjYW4gYWxzbyBlY2hvIDUKLXdoaWNoIG1lYW5zIHRoYXQgb25seSB0aGUgZmlyc3QgYW5kIGZvdXJ0aCBDUFUgY2FuIGhhbmRsZSB0aGUgSVJRLgorcHJvZl9jcHVfbWFzayBzcGVjaWZpZXMgd2hpY2ggQ1BVcyBhcmUgdG8gYmUgcHJvZmlsZWQgYnkgdGhlIHN5c3RlbSB3aWRlCitwcm9maWxlci4gRGVmYXVsdCB2YWx1ZSBpcyBmZmZmZmZmZiAoYWxsIGNwdXMpLgogCiBUaGUgd2F5IElSUXMgYXJlIHJvdXRlZCBpcyBoYW5kbGVkIGJ5IHRoZSBJTy1BUElDLCBhbmQgaXQncyBSb3VuZCBSb2JpbgogYmV0d2VlbiBhbGwgdGhlIENQVXMgd2hpY2ggYXJlIGFsbG93ZWQgdG8gaGFuZGxlIGl0LiBBcyB1c3VhbCB0aGUga2VybmVsIGhhcwpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9mdHJhY2UudHh0IGIvRG9jdW1lbnRhdGlvbi9mdHJhY2UudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc3ZDNmYWEKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL2Z0cmFjZS50eHQKQEAgLTAsMCArMSwxMzYxIEBACisJCWZ0cmFjZSAtIEZ1bmN0aW9uIFRyYWNlcgorCQk9PT09PT09PT09PT09PT09PT09PT09PT0KKworQ29weXJpZ2h0IDIwMDggUmVkIEhhdCBJbmMuCisgICBBdXRob3I6ICAgU3RldmVuIFJvc3RlZHQgPHNyb3N0ZWR0QHJlZGhhdC5jb20+CisgIExpY2Vuc2U6ICAgVGhlIEdOVSBGcmVlIERvY3VtZW50YXRpb24gTGljZW5zZSwgVmVyc2lvbiAxLjIKK1Jldmlld2VyczogICBFbGlhcyBPbHRtYW5ucyBhbmQgUmFuZHkgRHVubGFwCisKK1dyaXRlbiBmb3I6IDIuNi4yNi1yYzggbGludXgtMi42LXRpcC5naXQgdGlwL3RyYWNpbmcvZnRyYWNlIGJyYW5jaAorCitJbnRyb2R1Y3Rpb24KKy0tLS0tLS0tLS0tLQorCitGdHJhY2UgaXMgYW4gaW50ZXJuYWwgdHJhY2VyIGRlc2lnbmVkIHRvIGhlbHAgb3V0IGRldmVsb3BlcnMgYW5kCitkZXNpZ25lcnMgb2Ygc3lzdGVtcyB0byBmaW5kIHdoYXQgaXMgZ29pbmcgb24gaW5zaWRlIHRoZSBrZXJuZWwuCitJdCBjYW4gYmUgdXNlZCBmb3IgZGVidWdnaW5nIG9yIGFuYWx5emluZyBsYXRlbmNpZXMgYW5kIHBlcmZvcm1hbmNlCitpc3N1ZXMgdGhhdCB0YWtlIHBsYWNlIG91dHNpZGUgb2YgdXNlci1zcGFjZS4KKworQWx0aG91Z2ggZnRyYWNlIGlzIHRoZSBmdW5jdGlvbiB0cmFjZXIsIGl0IGFsc28gaW5jbHVkZXMgYW4KK2luZnJhc3RydWN0dXJlIHRoYXQgYWxsb3dzIGZvciBvdGhlciB0eXBlcyBvZiB0cmFjaW5nLiBTb21lIG9mIHRoZQordHJhY2VycyB0aGF0IGFyZSBjdXJyZW50bHkgaW4gZnRyYWNlIGlzIGEgdHJhY2VyIHRvIHRyYWNlCitjb250ZXh0IHN3aXRjaGVzLCB0aGUgdGltZSBpdCB0YWtlcyBmb3IgYSBoaWdoIHByaW9yaXR5IHRhc2sgdG8KK3J1biBhZnRlciBpdCB3YXMgd29rZW4gdXAsIHRoZSB0aW1lIGludGVycnVwdHMgYXJlIGRpc2FibGVkLCBhbmQKK21vcmUuCisKKworVGhlIEZpbGUgU3lzdGVtCistLS0tLS0tLS0tLS0tLS0KKworRnRyYWNlIHVzZXMgdGhlIGRlYnVnZnMgZmlsZSBzeXN0ZW0gdG8gaG9sZCB0aGUgY29udHJvbCBmaWxlcyBhcyB3ZWxsCithcyB0aGUgZmlsZXMgdG8gZGlzcGxheSBvdXRwdXQuCisKK1RvIG1vdW50IHRoZSBkZWJ1Z2ZzIHN5c3RlbToKKworICAjIG1rZGlyIC9kZWJ1ZworICAjIG1vdW50IC10IGRlYnVnZnMgbm9kZXYgL2RlYnVnCisKKworVGhhdCdzIGl0ISAoYXNzdW1pbmcgdGhhdCB5b3UgaGF2ZSBmdHJhY2UgY29uZmlndXJlZCBpbnRvIHlvdXIga2VybmVsKQorCitBZnRlciBtb3VudGluZyB0aGUgZGVidWdmcywgeW91IGNhbiBzZWUgYSBkaXJlY3RvcnkgY2FsbGVkCisidHJhY2luZyIuICBUaGlzIGRpcmVjdG9yeSBjb250YWlucyB0aGUgY29udHJvbCBhbmQgb3V0cHV0IGZpbGVzCitvZiBmdHJhY2UuIEhlcmUgaXMgYSBsaXN0IG9mIHNvbWUgb2YgdGhlIGtleSBmaWxlczoKKworCisgTm90ZTogYWxsIHRpbWUgdmFsdWVzIGFyZSBpbiBtaWNyb3NlY29uZHMuCisKKyAgY3VycmVudF90cmFjZXIgOiBUaGlzIGlzIHVzZWQgdG8gc2V0IG9yIGRpc3BsYXkgdGhlIGN1cnJlbnQgdHJhY2VyCisJCXRoYXQgaXMgY29uZmlndXJlZC4KKworICBhdmFpbGFibGVfdHJhY2VycyA6IFRoaXMgaG9sZHMgdGhlIGRpZmZlcmVudCB0eXBlcyBvZiB0cmFjZXJzIHRoYXQKKwkJaGF2ZSBiZWVuIGNvbXBpbGVkIGludG8gdGhlIGtlcm5lbC4gVGhlIHRyYWNlcnMKKwkJbGlzdGVkIGhlcmUgY2FuIGJlIGNvbmZpZ3VyZWQgYnkgZWNob2luZyBpbiB0aGVpcgorCQluYW1lIGludG8gY3VycmVudF90cmFjZXIuCisKKyAgdHJhY2luZ19lbmFibGVkIDogVGhpcyBzZXRzIG9yIGRpc3BsYXlzIHdoZXRoZXIgdGhlIGN1cnJlbnRfdHJhY2VyCisJCWlzIGFjdGl2YXRlZCBhbmQgdHJhY2luZyBvciBub3QuIEVjaG8gMCBpbnRvIHRoaXMKKwkJZmlsZSB0byBkaXNhYmxlIHRoZSB0cmFjZXIgb3IgMSAob3Igbm9uLXplcm8pIHRvCisJCWVuYWJsZSBpdC4KKworICB0cmFjZSA6IFRoaXMgZmlsZSBob2xkcyB0aGUgb3V0cHV0IG9mIHRoZSB0cmFjZSBpbiBhIGh1bWFuIHJlYWRhYmxlCisJCWZvcm1hdC4KKworICBsYXRlbmN5X3RyYWNlIDogVGhpcyBmaWxlIHNob3dzIHRoZSBzYW1lIHRyYWNlIGJ1dCB0aGUgaW5mb3JtYXRpb24KKwkJaXMgb3JnYW5pemVkIG1vcmUgdG8gZGlzcGxheSBwb3NzaWJsZSBsYXRlbmNpZXMKKwkJaW4gdGhlIHN5c3RlbS4KKworICB0cmFjZV9waXBlIDogVGhlIG91dHB1dCBpcyB0aGUgc2FtZSBhcyB0aGUgInRyYWNlIiBmaWxlIGJ1dCB0aGlzCisJCWZpbGUgaXMgbWVhbnQgdG8gYmUgc3RyZWFtZWQgd2l0aCBsaXZlIHRyYWNpbmcuCisJCVJlYWRzIGZyb20gdGhpcyBmaWxlIHdpbGwgYmxvY2sgdW50aWwgbmV3IGRhdGEKKwkJaXMgcmV0cmlldmVkLiBVbmxpa2UgdGhlICJ0cmFjZSIgYW5kICJsYXRlbmN5X3RyYWNlIgorCQlmaWxlcywgdGhpcyBmaWxlIGlzIGEgY29uc3VtZXIuIFRoaXMgbWVhbnMgcmVhZGluZworCQlmcm9tIHRoaXMgZmlsZSBjYXVzZXMgc2VxdWVudGlhbCByZWFkcyB0byBkaXNwbGF5CisJCW1vcmUgY3VycmVudCBkYXRhLiBPbmNlIGRhdGEgaXMgcmVhZCBmcm9tIHRoaXMKKwkJZmlsZSwgaXQgaXMgY29uc3VtZWQsIGFuZCB3aWxsIG5vdCBiZSByZWFkCisJCWFnYWluIHdpdGggYSBzZXF1ZW50aWFsIHJlYWQuIFRoZSAidHJhY2UiIGFuZAorCQkibGF0ZW5jeV90cmFjZSIgZmlsZXMgYXJlIHN0YXRpYywgYW5kIGlmIHRoZQorCQl0cmFjZXIgaXNuJ3QgYWRkaW5nIG1vcmUgZGF0YSwgdGhleSB3aWxsIGRpc3BsYXkKKwkJdGhlIHNhbWUgaW5mb3JtYXRpb24gZXZlcnkgdGltZSB0aGV5IGFyZSByZWFkLgorCisgIGl0ZXJfY3RybCA6IFRoaXMgZmlsZSBsZXRzIHRoZSB1c2VyIGNvbnRyb2wgdGhlIGFtb3VudCBvZiBkYXRhCisJCXRoYXQgaXMgZGlzcGxheWVkIGluIG9uZSBvZiB0aGUgYWJvdmUgb3V0cHV0CisJCWZpbGVzLgorCisgIHRyYWNlX21heF9sYXRlbmN5IDogU29tZSBvZiB0aGUgdHJhY2VycyByZWNvcmQgdGhlIG1heCBsYXRlbmN5LgorCQlGb3IgZXhhbXBsZSwgdGhlIHRpbWUgaW50ZXJydXB0cyBhcmUgZGlzYWJsZWQuCisJCVRoaXMgdGltZSBpcyBzYXZlZCBpbiB0aGlzIGZpbGUuIFRoZSBtYXggdHJhY2UKKwkJd2lsbCBhbHNvIGJlIHN0b3JlZCwgYW5kIGRpc3BsYXllZCBieSBlaXRoZXIKKwkJInRyYWNlIiBvciAibGF0ZW5jeV90cmFjZSIuICBBIG5ldyBtYXggdHJhY2Ugd2lsbAorCQlvbmx5IGJlIHJlY29yZGVkIGlmIHRoZSBsYXRlbmN5IGlzIGdyZWF0ZXIgdGhhbgorCQl0aGUgdmFsdWUgaW4gdGhpcyBmaWxlLiAoaW4gbWljcm9zZWNvbmRzKQorCisgIHRyYWNlX2VudHJpZXMgOiBUaGlzIHNldHMgb3IgZGlzcGxheXMgdGhlIG51bWJlciBvZiB0cmFjZQorCQllbnRyaWVzIGVhY2ggQ1BVIGJ1ZmZlciBjYW4gaG9sZC4gVGhlIHRyYWNlciBidWZmZXJzCisJCWFyZSB0aGUgc2FtZSBzaXplIGZvciBlYWNoIENQVSwgc28gY2FyZSBtdXN0IGJlCisJCXRha2VuIHdoZW4gbW9kaWZ5aW5nIHRoZSB0cmFjZV9lbnRyaWVzLiBUaGUgdHJhY2UKKwkJYnVmZmVycyBhcmUgYWxsb2NhdGVkIGluIHBhZ2VzIChibG9ja3Mgb2YgbWVtb3J5IHRoYXQKKwkJdGhlIGtlcm5lbCB1c2VzIGZvciBhbGxvY2F0aW9uLCB1c3VhbGx5IDQgS0IgaW4gc2l6ZSkuCisJCVNpbmNlIGVhY2ggZW50cnkgaXMgc21hbGxlciB0aGFuIGEgcGFnZSwgaWYgdGhlIGxhc3QKKwkJYWxsb2NhdGVkIHBhZ2UgaGFzIHJvb20gZm9yIG1vcmUgZW50cmllcyB0aGFuIHdlcmUKKwkJcmVxdWVzdGVkLCB0aGUgcmVzdCBvZiB0aGUgcGFnZSBpcyB1c2VkIHRvIGFsbG9jYXRlCisJCWVudHJpZXMuCisKKwkJVGhpcyBjYW4gb25seSBiZSB1cGRhdGVkIHdoZW4gdGhlIGN1cnJlbnRfdHJhY2VyCisJCWlzIHNldCB0byAibm9uZSIuCisKKwkJTk9URTogSXQgaXMgcGxhbm5lZCBvbiBjaGFuZ2luZyB0aGUgYWxsb2NhdGVkIGJ1ZmZlcnMKKwkJICAgICAgZnJvbSBiZWluZyB0aGUgbnVtYmVyIG9mIHBvc3NpYmxlIENQVVMgdG8KKwkJICAgICAgdGhlIG51bWJlciBvZiBvbmxpbmUgQ1BVUy4KKworICB0cmFjaW5nX2NwdW1hc2sgOiBUaGlzIGlzIGEgbWFzayB0aGF0IGxldHMgdGhlIHVzZXIgb25seSB0cmFjZQorCQlvbiBzcGVjaWZpZWQgQ1BVUy4gVGhlIGZvcm1hdCBpcyBhIGhleCBzdHJpbmcKKwkJcmVwcmVzZW50aW5nIHRoZSBDUFVTLgorCisgIHNldF9mdHJhY2VfZmlsdGVyIDogV2hlbiBkeW5hbWljIGZ0cmFjZSBpcyBjb25maWd1cmVkIGluLCB0aGUKKwkJY29kZSBpcyBkeW5hbWljYWxseSBtb2RpZmllZCB0byBkaXNhYmxlIGNhbGxpbmcKKwkJb2YgdGhlIGZ1bmN0aW9uIHByb2ZpbGVyIChtY291bnQpLiBUaGlzIGxldHMKKwkJdHJhY2luZyBiZSBjb25maWd1cmVkIGluIHdpdGggcHJhY3RpY2FsbHkgbm8gb3ZlcmhlYWQKKwkJaW4gcGVyZm9ybWFuY2UuICBUaGlzIGFsc28gaGFzIGEgc2lkZSBlZmZlY3Qgb2YKKwkJZW5hYmxpbmcgb3IgZGlzYWJsaW5nIHNwZWNpZmljIGZ1bmN0aW9ucyB0byBiZQorCQl0cmFjZWQuICBFY2hvaW5nIGluIG5hbWVzIG9mIGZ1bmN0aW9ucyBpbnRvIHRoaXMKKwkJZmlsZSB3aWxsIGxpbWl0IHRoZSB0cmFjZSB0byBvbmx5IHRoZXNlIGZ1bmN0aW9ucy4KKworICBzZXRfZnRyYWNlX25vdHJhY2U6IFRoaXMgaGFzIHRoZSBvcHBvc2l0ZSBlZmZlY3QgdGhhdAorCQlzZXRfZnRyYWNlX2ZpbHRlciBoYXMuIEFueSBmdW5jdGlvbiB0aGF0IGlzIGFkZGVkCisJCWhlcmUgd2lsbCBub3QgYmUgdHJhY2VkLiBJZiBhIGZ1bmN0aW9uIGV4aXN0cworCQlpbiBib3RoIHNldF9mdHJhY2VfZmlsdGVyIGFuZCBzZXRfZnRyYWNlX25vdHJhY2UsCisJCXRoZSBmdW5jdGlvbiB3aWxsIF9ub3RfIGJlIHRyYWNlZC4KKworICBhdmFpbGFibGVfZmlsdGVyX2Z1bmN0aW9ucyA6IFdoZW4gYSBmdW5jdGlvbiBpcyBlbmNvdW50ZXJlZCB0aGUgZmlyc3QKKwkJdGltZSBieSB0aGUgZHluYW1pYyB0cmFjZXIsIGl0IGlzIHJlY29yZGVkIGFuZAorCQlsYXRlciB0aGUgY2FsbCBpcyBjb252ZXJ0ZWQgaW50byBhIG5vcC4gVGhpcyBmaWxlCisJCWxpc3RzIHRoZSBmdW5jdGlvbnMgdGhhdCBoYXZlIGJlZW4gcmVjb3JkZWQKKwkJYnkgdGhlIGR5bmFtaWMgdHJhY2VyIGFuZCB0aGVzZSBmdW5jdGlvbnMgY2FuCisJCWJlIHVzZWQgdG8gc2V0IHRoZSBmdHJhY2UgZmlsdGVyIGJ5IHRoZSBhYm92ZQorCQkic2V0X2Z0cmFjZV9maWx0ZXIiIGZpbGUuCisKKworVGhlIFRyYWNlcnMKKy0tLS0tLS0tLS0tCisKK0hlcmUgYXJlIHRoZSBsaXN0IG9mIGN1cnJlbnQgdHJhY2VycyB0aGF0IGNhbiBiZSBjb25maWd1cmVkLgorCisgIGZ0cmFjZSAtIGZ1bmN0aW9uIHRyYWNlciB0aGF0IHVzZXMgbWNvdW50IHRvIHRyYWNlIGFsbCBmdW5jdGlvbnMuCisJCUl0IGlzIHBvc3NpYmxlIHRvIGZpbHRlciBvdXQgd2hpY2ggZnVuY3Rpb25zIHRoYXQgYXJlCisJCXRvIGJlIHRyYWNlZCB3aGVuIGR5bmFtaWMgZnRyYWNlIGlzIGNvbmZpZ3VyZWQgaW4uCisKKyAgc2NoZWRfc3dpdGNoIC0gdHJhY2VzIHRoZSBjb250ZXh0IHN3aXRjaGVzIGJldHdlZW4gdGFza3MuCisKKyAgaXJxc29mZiAtIHRyYWNlcyB0aGUgYXJlYXMgdGhhdCBkaXNhYmxlIGludGVycnVwdHMgYW5kIHNhdmVzIG9mZgorICAJCXRoZSB0cmFjZSB3aXRoIHRoZSBsb25nZXN0IG1heCBsYXRlbmN5LgorCQlTZWUgdHJhY2luZ19tYXhfbGF0ZW5jeS4gIFdoZW4gYSBuZXcgbWF4IGlzIHJlY29yZGVkLAorCQlpdCByZXBsYWNlcyB0aGUgb2xkIHRyYWNlLiBJdCBpcyBiZXN0IHRvIHZpZXcgdGhpcworCQl0cmFjZSB3aXRoIHRoZSBsYXRlbmN5X3RyYWNlIGZpbGUuCisKKyAgcHJlZW1wdG9mZiAtIFNpbWlsYXIgdG8gaXJxc29mZiBidXQgdHJhY2VzIGFuZCByZWNvcmRzIHRoZSB0aW1lCisJCXByZWVtcHRpb24gaXMgZGlzYWJsZWQuCisKKyAgcHJlZW1wdGlycXNvZmYgLSBTaW1pbGFyIHRvIGlycXNvZmYgYW5kIHByZWVtcHRvZmYsIGJ1dCB0cmFjZXMgYW5kCisJCSByZWNvcmRzIHRoZSBsYXJnZXN0IHRpbWUgaXJxcyBhbmQvb3IgcHJlZW1wdGlvbiBpcworCQkgZGlzYWJsZWQuCisKKyAgd2FrZXVwIC0gVHJhY2VzIGFuZCByZWNvcmRzIHRoZSBtYXggbGF0ZW5jeSB0aGF0IGl0IHRha2VzIGZvcgorCQl0aGUgaGlnaGVzdCBwcmlvcml0eSB0YXNrIHRvIGdldCBzY2hlZHVsZWQgYWZ0ZXIKKwkJaXQgaGFzIGJlZW4gd29rZW4gdXAuCisKKyAgbm9uZSAtIFRoaXMgaXMgbm90IGEgdHJhY2VyLiBUbyByZW1vdmUgYWxsIHRyYWNlcnMgZnJvbSB0cmFjaW5nCisJCXNpbXBseSBlY2hvICJub25lIiBpbnRvIGN1cnJlbnRfdHJhY2VyLgorCisKK0V4YW1wbGVzIG9mIHVzaW5nIHRoZSB0cmFjZXIKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworSGVyZSBhcmUgdHlwaWNhbCBleGFtcGxlcyBvZiB1c2luZyB0aGUgdHJhY2VycyB3aXRoIG9ubHkgY29udHJvbGxpbmcKK3RoZW0gd2l0aCB0aGUgZGVidWdmcyBpbnRlcmZhY2UgKHdpdGhvdXQgdXNpbmcgYW55IHVzZXItbGFuZCB1dGlsaXRpZXMpLgorCitPdXRwdXQgZm9ybWF0OgorLS0tLS0tLS0tLS0tLS0KKworSGVyZSdzIGFuIGV4YW1wbGUgb2YgdGhlIG91dHB1dCBmb3JtYXQgb2YgdGhlIGZpbGUgInRyYWNlIgorCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tLS0tLS0tCisjIHRyYWNlcjogZnRyYWNlCisjCisjICAgICAgICAgICBUQVNLLVBJRCAgIENQVSMgICAgVElNRVNUQU1QICBGVU5DVElPTgorIyAgICAgICAgICAgICAgfCB8ICAgICAgfCAgICAgICAgICB8ICAgICAgICAgfAorICAgICAgICAgICAgYmFzaC00MjUxICBbMDFdIDEwMTUyLjU4Mzg1NDogcGF0aF9wdXQgPC1wYXRoX3dhbGsKKyAgICAgICAgICAgIGJhc2gtNDI1MSAgWzAxXSAxMDE1Mi41ODM4NTU6IGRwdXQgPC1wYXRoX3B1dAorICAgICAgICAgICAgYmFzaC00MjUxICBbMDFdIDEwMTUyLjU4Mzg1NTogX2F0b21pY19kZWNfYW5kX2xvY2sgPC1kcHV0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tLS0tLS0tCisKK0EgaGVhZGVyIGlzIHByaW50ZWQgd2l0aCB0aGUgdHJhY2UgdGhhdCBpcyByZXByZXNlbnRlZC4gSW4gdGhpcyBjYXNlCit0aGUgdHJhY2VyIGlzICJmdHJhY2UiLiBUaGVuIGEgaGVhZGVyIHNob3dpbmcgdGhlIGZvcm1hdC4gVGFzayBuYW1lCisiYmFzaCIsIHRoZSB0YXNrIFBJRCAiNDI1MSIsIHRoZSBDUFUgdGhhdCBpdCB3YXMgcnVubmluZyBvbgorIjAxIiwgdGhlIHRpbWVzdGFtcCBpbiA8c2Vjcz4uPHVzZWNzPiBmb3JtYXQsIHRoZSBmdW5jdGlvbiBuYW1lIHRoYXQgd2FzCit0cmFjZWQgInBhdGhfcHV0IiBhbmQgdGhlIHBhcmVudCBmdW5jdGlvbiB0aGF0IGNhbGxlZCB0aGlzIGZ1bmN0aW9uCisicGF0aF93YWxrIi4KKworVGhlIHNjaGVkX3N3aXRjaCB0cmFjZXIgYWxzbyBpbmNsdWRlcyB0cmFjaW5nIG9mIHRhc2sgd2FrZSB1cHMgYW5kCitjb250ZXh0IHN3aXRjaGVzLgorCisgICAgIGtzb2Z0aXJxZC8xLTcgICAgIFswMV0gIDE0NTMuMDcwMDEzOiAgICAgIDc6MTE1OlIgICArICAyOTE2OjExNTpTCisgICAgIGtzb2Z0aXJxZC8xLTcgICAgIFswMV0gIDE0NTMuMDcwMDEzOiAgICAgIDc6MTE1OlIgICArICAgIDEwOjExNTpTCisgICAgIGtzb2Z0aXJxZC8xLTcgICAgIFswMV0gIDE0NTMuMDcwMDEzOiAgICAgIDc6MTE1OlIgPT0+ICAgIDEwOjExNTpSCisgICAgICAgIGV2ZW50cy8xLTEwICAgIFswMV0gIDE0NTMuMDcwMDEzOiAgICAgMTA6MTE1OlMgPT0+ICAyOTE2OjExNTpSCisgICAgIGtvbmRlbWFuZC8xLTI5MTYgIFswMV0gIDE0NTMuMDcwMDEzOiAgIDI5MTY6MTE1OlMgPT0+ICAgICA3OjExNTpSCisgICAgIGtzb2Z0aXJxZC8xLTcgICAgIFswMV0gIDE0NTMuMDcwMDEzOiAgICAgIDc6MTE1OlMgPT0+ICAgICAwOjE0MDpSCisKK1dha2UgdXBzIGFyZSByZXByZXNlbnRlZCBieSBhICIrIiBhbmQgdGhlIGNvbnRleHQgc3dpdGNoZXMgc2hvdworIj09PiIuICBUaGUgZm9ybWF0IGlzOgorCisgQ29udGV4dCBzd2l0Y2hlczoKKworICAgICAgIFByZXZpb3VzIHRhc2sgICAgICAgICAgICAgIE5leHQgVGFzaworCisgIDxwaWQ+OjxwcmlvPjo8c3RhdGU+ICA9PT4gIDxwaWQ+OjxwcmlvPjo8c3RhdGU+CisKKyBXYWtlIHVwczoKKworICAgICAgIEN1cnJlbnQgdGFzayAgICAgICAgICAgICAgIFRhc2sgd2FraW5nIHVwCisKKyAgPHBpZD46PHByaW8+OjxzdGF0ZT4gICAgKyAgPHBpZD46PHByaW8+OjxzdGF0ZT4KKworVGhlIHByaW8gaXMgdGhlIGludGVybmFsIGtlcm5lbCBwcmlvcml0eSwgd2hpY2ggaXMgaW52ZXJzZSB0byB0aGUKK3ByaW9yaXR5IHRoYXQgaXMgdXN1YWxseSBkaXNwbGF5ZWQgYnkgdXNlci1zcGFjZSB0b29scy4gWmVybyByZXByZXNlbnRzCit0aGUgaGlnaGVzdCBwcmlvcml0eSAoOTkpLiBQcmlvIDEwMCBzdGFydHMgdGhlICJuaWNlIiBwcmlvcml0aWVzIHdpdGgKKzEwMCBiZWluZyBlcXVhbCB0byBuaWNlIC0yMCBhbmQgMTM5IGJlaW5nIG5pY2UgMTkuIFRoZSBwcmlvICIxNDAiIGlzCityZXNlcnZlZCBmb3IgdGhlIGlkbGUgdGFzayB3aGljaCBpcyB0aGUgbG93ZXN0IHByaW9yaXR5IHRocmVhZCAocGlkIDApLgorCisKK0xhdGVuY3kgdHJhY2UgZm9ybWF0CistLS0tLS0tLS0tLS0tLS0tLS0tLQorCitGb3IgdHJhY2VzIHRoYXQgZGlzcGxheSBsYXRlbmN5IHRpbWVzLCB0aGUgbGF0ZW5jeV90cmFjZSBmaWxlIGdpdmVzCithIGJpdCBtb3JlIGluZm9ybWF0aW9uIHRvIHNlZSB3aHkgYSBsYXRlbmN5IGhhcHBlbmVkLiBIZXJlJ3MgYSB0eXBpY2FsCit0cmFjZS4KKworIyB0cmFjZXI6IGlycXNvZmYKKyMKK2lycXNvZmYgbGF0ZW5jeSB0cmFjZSB2MS4xLjUgb24gMi42LjI2LXJjOAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBsYXRlbmN5OiA5NyB1cywgIzMvMywgQ1BVIzAgfCAoTTpwcmVlbXB0IFZQOjAsIEtQOjAsIFNQOjAgSFA6MCAjUDoyKQorICAgIC0tLS0tLS0tLS0tLS0tLS0tCisgICAgfCB0YXNrOiBzd2FwcGVyLTAgKHVpZDowIG5pY2U6MCBwb2xpY3k6MCBydF9wcmlvOjApCisgICAgLS0tLS0tLS0tLS0tLS0tLS0KKyA9PiBzdGFydGVkIGF0OiBhcGljX3RpbWVyX2ludGVycnVwdAorID0+IGVuZGVkIGF0OiAgIGRvX3NvZnRpcnEKKworIyAgICAgICAgICAgICAgICBfLS0tLS0tPT4gQ1BVIworIyAgICAgICAgICAgICAgIC8gXy0tLS0tPT4gaXJxcy1vZmYKKyMgICAgICAgICAgICAgIHwgLyBfLS0tLT0+IG5lZWQtcmVzY2hlZAorIyAgICAgICAgICAgICAgfHwgLyBfLS0tPT4gaGFyZGlycS9zb2Z0aXJxCisjICAgICAgICAgICAgICB8fHwgLyBfLS09PiBwcmVlbXB0LWRlcHRoCisjICAgICAgICAgICAgICB8fHx8IC8KKyMgICAgICAgICAgICAgIHx8fHx8ICAgICBkZWxheQorIyAgY21kICAgICBwaWQgfHx8fHwgdGltZSAgfCAgIGNhbGxlcgorIyAgICAgXCAgIC8gICAgfHx8fHwgICBcICAgfCAgIC8KKyAgPGlkbGU+LTAgICAgIDBkLi4xICAgIDB1cys6IHRyYWNlX2hhcmRpcnFzX29mZl90aHVuayAoYXBpY190aW1lcl9pbnRlcnJ1cHQpCisgIDxpZGxlPi0wICAgICAwZC5zLiAgIDk3dXMgOiBfX2RvX3NvZnRpcnEgKGRvX3NvZnRpcnEpCisgIDxpZGxlPi0wICAgICAwZC5zMSAgIDk4dXMgOiB0cmFjZV9oYXJkaXJxc19vbiAoZG9fc29mdGlycSkKKworCit2aW06ZnQ9aGVscAorCisKK1RoaXMgc2hvd3MgdGhhdCB0aGUgY3VycmVudCB0cmFjZXIgaXMgImlycXNvZmYiIHRyYWNpbmcgdGhlIHRpbWUKK2ludGVycnVwdHMgYXJlIGRpc2FibGVkLiBJdCBnaXZlcyB0aGUgdHJhY2UgdmVyc2lvbiBhbmQgdGhlIGtlcm5lbAordGhpcyB3YXMgZXhlY3V0ZWQgb24gKDIuNi4yNi1yYzgpLiBUaGVuIGl0IGRpc3BsYXlzIHRoZSBtYXggbGF0ZW5jeQoraW4gbWljcm9zZWNzICg5NyB1cykuIFRoZSBudW1iZXIgb2YgdHJhY2UgZW50cmllcyBkaXNwbGF5ZWQKK2J5IHRoZSB0b3RhbCBudW1iZXIgcmVjb3JkZWQgKGJvdGggYXJlIHRocmVlOiAjMy8zKS4gVGhlIHR5cGUgb2YKK3ByZWVtcHRpb24gdGhhdCB3YXMgdXNlZCAoUFJFRU1QVCkuIFZQLCBLUCwgU1AsIGFuZCBIUCBhcmUgYWx3YXlzIHplcm8KK2FuZCByZXNlcnZlZCBmb3IgbGF0ZXIgdXNlLiAjUCBpcyB0aGUgbnVtYmVyIG9mIG9ubGluZSBDUFVTICgjUDoyKS4KKworVGhlIHRhc2sgaXMgdGhlIHByb2Nlc3MgdGhhdCB3YXMgcnVubmluZyB3aGVuIHRoZSBsYXRlbmN5IGhhcHBlbmVkLgorKHN3YXBwZXIgcGlkOiAwKS4KKworVGhlIHN0YXJ0IGFuZCBzdG9wIHRoYXQgY2F1c2VkIHRoZSBsYXRlbmNpZXM6CisKKyAgYXBpY190aW1lcl9pbnRlcnJ1cHQgaXMgd2hlcmUgdGhlIGludGVycnVwdHMgd2VyZSBkaXNhYmxlZC4KKyAgZG9fc29mdGlycSBpcyB3aGVyZSB0aGV5IHdlcmUgZW5hYmxlZCBhZ2Fpbi4KKworVGhlIG5leHQgbGluZXMgYWZ0ZXIgdGhlIGhlYWRlciBhcmUgdGhlIHRyYWNlIGl0c2VsZi4gVGhlIGhlYWRlcgorZXhwbGFpbnMgd2hpY2ggaXMgd2hpY2guCisKKyAgY21kOiBUaGUgbmFtZSBvZiB0aGUgcHJvY2VzcyBpbiB0aGUgdHJhY2UuCisKKyAgcGlkOiBUaGUgUElEIG9mIHRoYXQgcHJvY2Vzcy4KKworICBDUFUjOiBUaGUgQ1BVIHRoYXQgdGhlIHByb2Nlc3Mgd2FzIHJ1bm5pbmcgb24uCisKKyAgaXJxcy1vZmY6ICdkJyBpbnRlcnJ1cHRzIGFyZSBkaXNhYmxlZC4gJy4nIG90aGVyd2lzZS4KKworICBuZWVkLXJlc2NoZWQ6ICdOJyB0YXNrIG5lZWRfcmVzY2hlZCBpcyBzZXQsICcuJyBvdGhlcndpc2UuCisKKyAgaGFyZGlycS9zb2Z0aXJxOgorCSdIJyAtIGhhcmQgaXJxIGhhcHBlbmVkIGluc2lkZSBhIHNvZnRpcnEuCisJJ2gnIC0gaGFyZCBpcnEgaXMgcnVubmluZworCSdzJyAtIHNvZnQgaXJxIGlzIHJ1bm5pbmcKKwknLicgLSBub3JtYWwgY29udGV4dC4KKworICBwcmVlbXB0LWRlcHRoOiBUaGUgbGV2ZWwgb2YgcHJlZW1wdF9kaXNhYmxlZAorCitUaGUgYWJvdmUgaXMgbW9zdGx5IG1lYW5pbmdmdWwgZm9yIGtlcm5lbCBkZXZlbG9wZXJzLgorCisgIHRpbWU6IFRoaXMgZGlmZmVycyBmcm9tIHRoZSB0cmFjZSBmaWxlIG91dHB1dC4gVGhlIHRyYWNlIGZpbGUgb3V0cHV0CisJaW5jbHVkZWQgYW4gYWJzb2x1dGUgdGltZXN0YW1wLiBUaGUgdGltZXN0YW1wIHVzZWQgYnkgdGhlCisJbGF0ZW5jeV90cmFjZSBmaWxlIGlzIHJlbGF0aXZlIHRvIHRoZSBzdGFydCBvZiB0aGUgdHJhY2UuCisKKyAgZGVsYXk6IFRoaXMgaXMganVzdCB0byBoZWxwIGNhdGNoIHlvdXIgZXllIGEgYml0IGJldHRlci4gQW5kCisJbmVlZHMgdG8gYmUgZml4ZWQgdG8gYmUgb25seSByZWxhdGl2ZSB0byB0aGUgc2FtZSBDUFUuCisJVGhlIG1hcmtzIGFyZSBkZXRlcm1pbmVkIGJ5IHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhpcworCWN1cnJlbnQgdHJhY2UgYW5kIHRoZSBuZXh0IHRyYWNlLgorCSAnIScgLSBncmVhdGVyIHRoYW4gcHJlZW1wdF9tYXJrX3RocmVzaCAoZGVmYXVsdCAxMDApCisJICcrJyAtIGdyZWF0ZXIgdGhhbiAxIG1pY3Jvc2Vjb25kCisJICcgJyAtIGxlc3MgdGhhbiBvciBlcXVhbCB0byAxIG1pY3Jvc2Vjb25kLgorCisgIFRoZSByZXN0IGlzIHRoZSBzYW1lIGFzIHRoZSAndHJhY2UnIGZpbGUuCisKKworaXRlcl9jdHJsCistLS0tLS0tLS0KKworVGhlIGl0ZXJfY3RybCBmaWxlIGlzIHVzZWQgdG8gY29udHJvbCB3aGF0IGdldHMgcHJpbnRlZCBpbiB0aGUgdHJhY2UKK291dHB1dC4gVG8gc2VlIHdoYXQgaXMgYXZhaWxhYmxlLCBzaW1wbHkgY2F0IHRoZSBmaWxlOgorCisgIGNhdCAvZGVidWcvdHJhY2luZy9pdGVyX2N0cmwKKyAgcHJpbnQtcGFyZW50IG5vc3ltLW9mZnNldCBub3N5bS1hZGRyIG5vdmVyYm9zZSBub3JhdyBub2hleCBub2JpbiBcCisgbm9ibG9jayBub3N0YWNrdHJhY2Ugbm9zY2hlZC10cmVlCisKK1RvIGRpc2FibGUgb25lIG9mIHRoZSBvcHRpb25zLCBlY2hvIGluIHRoZSBvcHRpb24gcHJlcGVuZGVkIHdpdGggIm5vIi4KKworICBlY2hvIG5vcHJpbnQtcGFyZW50ID4gL2RlYnVnL3RyYWNpbmcvaXRlcl9jdHJsCisKK1RvIGVuYWJsZSBhbiBvcHRpb24sIGxlYXZlIG9mZiB0aGUgIm5vIi4KKworICBlY2hvIHN5bS1vZmZzZXQgPiAvZGVidWcvdHJhY2luZy9pdGVyX2N0cmwKKworSGVyZSBhcmUgdGhlIGF2YWlsYWJsZSBvcHRpb25zOgorCisgIHByaW50LXBhcmVudCAtIE9uIGZ1bmN0aW9uIHRyYWNlcywgZGlzcGxheSB0aGUgY2FsbGluZyBmdW5jdGlvbgorCQlhcyB3ZWxsIGFzIHRoZSBmdW5jdGlvbiBiZWluZyB0cmFjZWQuCisKKyAgcHJpbnQtcGFyZW50OgorICAgYmFzaC00MDAwICBbMDFdICAxNDc3LjYwNjY5NDogc2ltcGxlX3N0cnRvdWwgPC1zdHJpY3Rfc3RydG91bAorCisgIG5vcHJpbnQtcGFyZW50OgorICAgYmFzaC00MDAwICBbMDFdICAxNDc3LjYwNjY5NDogc2ltcGxlX3N0cnRvdWwKKworCisgIHN5bS1vZmZzZXQgLSBEaXNwbGF5IG5vdCBvbmx5IHRoZSBmdW5jdGlvbiBuYW1lLCBidXQgYWxzbyB0aGUgb2Zmc2V0CisJCWluIHRoZSBmdW5jdGlvbi4gRm9yIGV4YW1wbGUsIGluc3RlYWQgb2Ygc2VlaW5nIGp1c3QKKwkJImt0aW1lX2dldCIsIHlvdSB3aWxsIHNlZSAia3RpbWVfZ2V0KzB4Yi8weDIwIi4KKworICBzeW0tb2Zmc2V0OgorICAgYmFzaC00MDAwICBbMDFdICAxNDc3LjYwNjY5NDogc2ltcGxlX3N0cnRvdWwrMHg2LzB4YTAKKworICBzeW0tYWRkciAtIHRoaXMgd2lsbCBhbHNvIGRpc3BsYXkgdGhlIGZ1bmN0aW9uIGFkZHJlc3MgYXMgd2VsbCBhcworCQl0aGUgZnVuY3Rpb24gbmFtZS4KKworICBzeW0tYWRkcjoKKyAgIGJhc2gtNDAwMCAgWzAxXSAgMTQ3Ny42MDY2OTQ6IHNpbXBsZV9zdHJ0b3VsIDxjMDMzOTM0Nj4KKworICB2ZXJib3NlIC0gVGhpcyBkZWFscyB3aXRoIHRoZSBsYXRlbmN5X3RyYWNlIGZpbGUuCisKKyAgICBiYXNoICA0MDAwIDEgMCAwMDAwMDAwMCAwMDAxMGE5NSBbNTgxMjdkMjZdIDE3MjAuNDE1bXMgXAorICAgICgrMC4wMDBtcyk6IHNpbXBsZV9zdHJ0b3VsIChzdHJpY3Rfc3RydG91bCkKKworICByYXcgLSBUaGlzIHdpbGwgZGlzcGxheSByYXcgbnVtYmVycy4gVGhpcyBvcHRpb24gaXMgYmVzdCBmb3IgdXNlIHdpdGgKKwl1c2VyIGFwcGxpY2F0aW9ucyB0aGF0IGNhbiB0cmFuc2xhdGUgdGhlIHJhdyBudW1iZXJzIGJldHRlciB0aGFuCisJaGF2aW5nIGl0IGRvbmUgaW4gdGhlIGtlcm5lbC4KKworICBoZXggLSBTaW1pbGFyIHRvIHJhdywgYnV0IHRoZSBudW1iZXJzIHdpbGwgYmUgaW4gYSBoZXhhZGVjaW1hbCBmb3JtYXQuCisKKyAgYmluIC0gVGhpcyB3aWxsIHByaW50IG91dCB0aGUgZm9ybWF0cyBpbiByYXcgYmluYXJ5LgorCisgIGJsb2NrIC0gVEJEIChuZWVkcyB1cGRhdGUpCisKKyAgc3RhY2t0cmFjZSAtIFRoaXMgaXMgb25lIG9mIHRoZSBvcHRpb25zIHRoYXQgY2hhbmdlcyB0aGUgdHJhY2UgaXRzZWxmLgorCQlXaGVuIGEgdHJhY2UgaXMgcmVjb3JkZWQsIHNvIGlzIHRoZSBzdGFjayBvZiBmdW5jdGlvbnMuCisJCVRoaXMgYWxsb3dzIGZvciBiYWNrIHRyYWNlcyBvZiB0cmFjZSBzaXRlcy4KKworICBzY2hlZC10cmVlIC0gVEJEIChhbnkgdXNlcnM/PykKKworCitzY2hlZF9zd2l0Y2gKKy0tLS0tLS0tLS0tLQorCitUaGlzIHRyYWNlciBzaW1wbHkgcmVjb3JkcyBzY2hlZHVsZSBzd2l0Y2hlcy4gSGVyZSdzIGFuIGV4YW1wbGUKK29mIGhvdyB0byB1c2UgaXQuCisKKyAjIGVjaG8gc2NoZWRfc3dpdGNoID4gL2RlYnVnL3RyYWNpbmcvY3VycmVudF90cmFjZXIKKyAjIGVjaG8gMSA+IC9kZWJ1Zy90cmFjaW5nL3RyYWNpbmdfZW5hYmxlZAorICMgc2xlZXAgMQorICMgZWNobyAwID4gL2RlYnVnL3RyYWNpbmcvdHJhY2luZ19lbmFibGVkCisgIyBjYXQgL2RlYnVnL3RyYWNpbmcvdHJhY2UKKworIyB0cmFjZXI6IHNjaGVkX3N3aXRjaAorIworIyAgICAgICAgICAgVEFTSy1QSUQgICBDUFUjICAgIFRJTUVTVEFNUCAgRlVOQ1RJT04KKyMgICAgICAgICAgICAgIHwgfCAgICAgIHwgICAgICAgICAgfCAgICAgICAgIHwKKyAgICAgICAgICAgIGJhc2gtMzk5NyAgWzAxXSAgIDI0MC4xMzIyODE6ICAgMzk5NzoxMjA6UiAgICsgIDQwNTU6MTIwOlIKKyAgICAgICAgICAgIGJhc2gtMzk5NyAgWzAxXSAgIDI0MC4xMzIyODQ6ICAgMzk5NzoxMjA6UiA9PT4gIDQwNTU6MTIwOlIKKyAgICAgICAgICAgc2xlZXAtNDA1NSAgWzAxXSAgIDI0MC4xMzIzNzE6ICAgNDA1NToxMjA6UyA9PT4gIDM5OTc6MTIwOlIKKyAgICAgICAgICAgIGJhc2gtMzk5NyAgWzAxXSAgIDI0MC4xMzI0NTQ6ICAgMzk5NzoxMjA6UiAgICsgIDQwNTU6MTIwOlMKKyAgICAgICAgICAgIGJhc2gtMzk5NyAgWzAxXSAgIDI0MC4xMzI0NTc6ICAgMzk5NzoxMjA6UiA9PT4gIDQwNTU6MTIwOlIKKyAgICAgICAgICAgc2xlZXAtNDA1NSAgWzAxXSAgIDI0MC4xMzI0NjA6ICAgNDA1NToxMjA6RCA9PT4gIDM5OTc6MTIwOlIKKyAgICAgICAgICAgIGJhc2gtMzk5NyAgWzAxXSAgIDI0MC4xMzI0NjM6ICAgMzk5NzoxMjA6UiAgICsgIDQwNTU6MTIwOkQKKyAgICAgICAgICAgIGJhc2gtMzk5NyAgWzAxXSAgIDI0MC4xMzI0NjU6ICAgMzk5NzoxMjA6UiA9PT4gIDQwNTU6MTIwOlIKKyAgICAgICAgICA8aWRsZT4tMCAgICAgWzAwXSAgIDI0MC4xMzI1ODk6ICAgICAgMDoxNDA6UiAgICsgICAgIDQ6MTE1OlMKKyAgICAgICAgICA8aWRsZT4tMCAgICAgWzAwXSAgIDI0MC4xMzI1OTE6ICAgICAgMDoxNDA6UiA9PT4gICAgIDQ6MTE1OlIKKyAgICAga3NvZnRpcnFkLzAtNCAgICAgWzAwXSAgIDI0MC4xMzI1OTU6ICAgICAgNDoxMTU6UyA9PT4gICAgIDA6MTQwOlIKKyAgICAgICAgICA8aWRsZT4tMCAgICAgWzAwXSAgIDI0MC4xMzI1OTg6ICAgICAgMDoxNDA6UiAgICsgICAgIDQ6MTE1OlMKKyAgICAgICAgICA8aWRsZT4tMCAgICAgWzAwXSAgIDI0MC4xMzI1OTk6ICAgICAgMDoxNDA6UiA9PT4gICAgIDQ6MTE1OlIKKyAgICAga3NvZnRpcnFkLzAtNCAgICAgWzAwXSAgIDI0MC4xMzI2MDM6ICAgICAgNDoxMTU6UyA9PT4gICAgIDA6MTQwOlIKKyAgICAgICAgICAgc2xlZXAtNDA1NSAgWzAxXSAgIDI0MC4xMzMwNTg6ICAgNDA1NToxMjA6UyA9PT4gIDM5OTc6MTIwOlIKKyBbLi4uXQorCisKK0FzIHdlIGhhdmUgZGlzY3Vzc2VkIHByZXZpb3VzbHkgYWJvdXQgdGhpcyBmb3JtYXQsIHRoZSBoZWFkZXIgc2hvd3MKK3RoZSBuYW1lIG9mIHRoZSB0cmFjZSBhbmQgcG9pbnRzIHRvIHRoZSBvcHRpb25zLiBUaGUgIkZVTkNUSU9OIgoraXMgYSBtaXNub21lciBzaW5jZSBoZXJlIGl0IHJlcHJlc2VudHMgdGhlIHdha2UgdXBzIGFuZCBjb250ZXh0Citzd2l0Y2hlcy4KKworVGhlIHNjaGVkX3N3aXRjaCBvbmx5IGxpc3RzIHRoZSB3YWtlIHVwcyAocmVwcmVzZW50ZWQgd2l0aCAnKycpCithbmQgY29udGV4dCBzd2l0Y2hlcyAoJz09PicpIHdpdGggdGhlIHByZXZpb3VzIHRhc2sgb3IgY3VycmVudAorZmlyc3QgZm9sbG93ZWQgYnkgdGhlIG5leHQgdGFzayBvciB0YXNrIHdha2luZyB1cC4gVGhlIGZvcm1hdCBmb3IgYm90aAorb2YgdGhlc2UgaXMgUElEOktFUk5FTC1QUklPOlRBU0stU1RBVEUuIFJlbWVtYmVyIHRoYXQgdGhlIEtFUk5FTC1QUklPCitpcyB0aGUgaW52ZXJzZSBvZiB0aGUgYWN0dWFsIHByaW9yaXR5IHdpdGggemVybyAoMCkgYmVpbmcgdGhlIGhpZ2hlc3QKK3ByaW9yaXR5IGFuZCB0aGUgbmljZSB2YWx1ZXMgc3RhcnRpbmcgYXQgMTAwIChuaWNlIC0yMCkuIEJlbG93IGlzCithIHF1aWNrIGNoYXJ0IHRvIG1hcCB0aGUga2VybmVsIHByaW9yaXR5IHRvIHVzZXIgbGFuZCBwcmlvcml0aWVzLgorCisgIEtlcm5lbCBwcmlvcml0eTogMCB0byA5OSAgICA9PT4gdXNlciBSVCBwcmlvcml0eSA5OSB0byAwCisgIEtlcm5lbCBwcmlvcml0eTogMTAwIHRvIDEzOSA9PT4gdXNlciBuaWNlIC0yMCB0byAxOQorICBLZXJuZWwgcHJpb3JpdHk6IDE0MCAgICAgICAgPT0+IGlkbGUgdGFzayBwcmlvcml0eQorCitUaGUgdGFzayBzdGF0ZXMgYXJlOgorCisgUiAtIHJ1bm5pbmcgOiB3YW50cyB0byBydW4sIG1heSBub3QgYWN0dWFsbHkgYmUgcnVubmluZworIFMgLSBzbGVlcCAgIDogcHJvY2VzcyBpcyB3YWl0aW5nIHRvIGJlIHdva2VuIHVwIChoYW5kbGVzIHNpZ25hbHMpCisgRCAtIGRlZXAgc2xlZXAgOiBwcm9jZXNzIG11c3QgYmUgd29rZW4gdXAgKGlnbm9yZXMgc2lnbmFscykKKyBUIC0gc3RvcHBlZCA6IHByb2Nlc3Mgc3VzcGVuZGVkCisgdCAtIHRyYWNlZCAgOiBwcm9jZXNzIGlzIGJlaW5nIHRyYWNlZCAod2l0aCBzb21ldGhpbmcgbGlrZSBnZGIpCisgWiAtIHpvbWJpZSAgOiBwcm9jZXNzIHdhaXRpbmcgdG8gYmUgY2xlYW5lZCB1cAorIFggLSB1bmtub3duCisKKworZnRyYWNlX2VuYWJsZWQKKy0tLS0tLS0tLS0tLS0tCisKK1RoZSBmb2xsb3dpbmcgdHJhY2VycyBnaXZlIGRpZmZlcmVudCBvdXRwdXQgZGVwZW5kaW5nIG9uIHdoZXRoZXIKK29yIG5vdCB0aGUgc3lzY3RsIGZ0cmFjZV9lbmFibGVkIGlzIHNldC4gVG8gc2V0IGZ0cmFjZV9lbmFibGVkLAorb25lIGNhbiBlaXRoZXIgdXNlIHRoZSBzeXNjdGwgZnVuY3Rpb24gb3Igc2V0IGl0IHZpYSB0aGUgcHJvYworZmlsZSBzeXN0ZW0gaW50ZXJmYWNlLgorCisgIHN5c2N0bCBrZXJuZWwuZnRyYWNlX2VuYWJsZWQ9MQorCisgb3IKKworICBlY2hvIDEgPiAvcHJvYy9zeXMva2VybmVsL2Z0cmFjZV9lbmFibGVkCisKK1RvIGRpc2FibGUgZnRyYWNlX2VuYWJsZWQgc2ltcGx5IHJlcGxhY2UgdGhlICcxJyB3aXRoICcwJyBpbgordGhlIGFib3ZlIGNvbW1hbmRzLgorCitXaGVuIGZ0cmFjZV9lbmFibGVkIGlzIHNldCB0aGUgdHJhY2VycyB3aWxsIGFsc28gcmVjb3JkIHRoZSBmdW5jdGlvbnMKK3RoYXQgYXJlIHdpdGhpbiB0aGUgdHJhY2UuIFRoZSBkZXNjcmlwdGlvbnMgb2YgdGhlIHRyYWNlcnMKK3dpbGwgYWxzbyBzaG93IGFuIGV4YW1wbGUgd2l0aCBmdHJhY2UgZW5hYmxlZC4KKworCitpcnFzb2ZmCistLS0tLS0tCisKK1doZW4gaW50ZXJydXB0cyBhcmUgZGlzYWJsZWQsIHRoZSBDUFUgY2FuIG5vdCByZWFjdCB0byBhbnkgb3RoZXIKK2V4dGVybmFsIGV2ZW50IChiZXNpZGVzIE5NSXMgYW5kIFNNSXMpLiBUaGlzIHByZXZlbnRzIHRoZSB0aW1lcgoraW50ZXJydXB0IGZyb20gdHJpZ2dlcmluZyBvciB0aGUgbW91c2UgaW50ZXJydXB0IGZyb20gbGV0dGluZyB0aGUKK2tlcm5lbCBrbm93IG9mIGEgbmV3IG1vdXNlIGV2ZW50LiBUaGUgcmVzdWx0IGlzIGEgbGF0ZW5jeSB3aXRoIHRoZQorcmVhY3Rpb24gdGltZS4KKworVGhlIGlycXNvZmYgdHJhY2VyIHRyYWNrcyB0aGUgdGltZSBpbnRlcnJ1cHRzIGFyZSBkaXNhYmxlZCB0byB0aGUgdGltZQordGhleSBhcmUgcmUtZW5hYmxlZC4gV2hlbiBhIG5ldyBtYXhpbXVtIGxhdGVuY3kgaXMgaGl0LCBpdCBzYXZlcyBvZmYKK3RoZSB0cmFjZSBzbyB0aGF0IGl0IG1heSBiZSByZXRyaWV2ZWQgYXQgYSBsYXRlciB0aW1lLiBFdmVyeSB0aW1lIGEKK25ldyBtYXhpbXVtIGluIHJlYWNoZWQsIHRoZSBvbGQgc2F2ZWQgdHJhY2UgaXMgZGlzY2FyZGVkIGFuZCB0aGUgbmV3Cit0cmFjZSBpcyBzYXZlZC4KKworVG8gcmVzZXQgdGhlIG1heGltdW0sIGVjaG8gMCBpbnRvIHRyYWNpbmdfbWF4X2xhdGVuY3kuIEhlcmUncyBhbgorZXhhbXBsZToKKworICMgZWNobyBpcnFzb2ZmID4gL2RlYnVnL3RyYWNpbmcvY3VycmVudF90cmFjZXIKKyAjIGVjaG8gMCA+IC9kZWJ1Zy90cmFjaW5nL3RyYWNpbmdfbWF4X2xhdGVuY3kKKyAjIGVjaG8gMSA+IC9kZWJ1Zy90cmFjaW5nL3RyYWNpbmdfZW5hYmxlZAorICMgbHMgLWx0cgorIFsuLi5dCisgIyBlY2hvIDAgPiAvZGVidWcvdHJhY2luZy90cmFjaW5nX2VuYWJsZWQKKyAjIGNhdCAvZGVidWcvdHJhY2luZy9sYXRlbmN5X3RyYWNlCisjIHRyYWNlcjogaXJxc29mZgorIworaXJxc29mZiBsYXRlbmN5IHRyYWNlIHYxLjEuNSBvbiAyLjYuMjYtcmM4CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIGxhdGVuY3k6IDYgdXMsICMzLzMsIENQVSMxIHwgKE06cHJlZW1wdCBWUDowLCBLUDowLCBTUDowIEhQOjAgI1A6MikKKyAgICAtLS0tLS0tLS0tLS0tLS0tLQorICAgIHwgdGFzazogYmFzaC00MjY5ICh1aWQ6MCBuaWNlOjAgcG9saWN5OjAgcnRfcHJpbzowKQorICAgIC0tLS0tLS0tLS0tLS0tLS0tCisgPT4gc3RhcnRlZCBhdDogY29weV9wYWdlX3JhbmdlCisgPT4gZW5kZWQgYXQ6ICAgY29weV9wYWdlX3JhbmdlCisKKyMgICAgICAgICAgICAgICAgXy0tLS0tLT0+IENQVSMKKyMgICAgICAgICAgICAgICAvIF8tLS0tLT0+IGlycXMtb2ZmCisjICAgICAgICAgICAgICB8IC8gXy0tLS09PiBuZWVkLXJlc2NoZWQKKyMgICAgICAgICAgICAgIHx8IC8gXy0tLT0+IGhhcmRpcnEvc29mdGlycQorIyAgICAgICAgICAgICAgfHx8IC8gXy0tPT4gcHJlZW1wdC1kZXB0aAorIyAgICAgICAgICAgICAgfHx8fCAvCisjICAgICAgICAgICAgICB8fHx8fCAgICAgZGVsYXkKKyMgIGNtZCAgICAgcGlkIHx8fHx8IHRpbWUgIHwgICBjYWxsZXIKKyMgICAgIFwgICAvICAgIHx8fHx8ICAgXCAgIHwgICAvCisgICAgYmFzaC00MjY5ICAxLi4uMSAgICAwdXMrOiBfc3Bpbl9sb2NrIChjb3B5X3BhZ2VfcmFuZ2UpCisgICAgYmFzaC00MjY5ICAxLi4uMSAgICA3dXMgOiBfc3Bpbl91bmxvY2sgKGNvcHlfcGFnZV9yYW5nZSkKKyAgICBiYXNoLTQyNjkgIDEuLi4yICAgIDd1cyA6IHRyYWNlX3ByZWVtcHRfb24gKGNvcHlfcGFnZV9yYW5nZSkKKworCit2aW06ZnQ9aGVscAorCitIZXJlIHdlIHNlZSB0aGF0IHRoYXQgd2UgaGFkIGEgbGF0ZW5jeSBvZiA2IG1pY3Jvc2VjcyAod2hpY2ggaXMKK3ZlcnkgZ29vZCkuIFRoZSBzcGluX2xvY2sgaW4gY29weV9wYWdlX3JhbmdlIGRpc2FibGVkIGludGVycnVwdHMuCitUaGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSA2IGFuZCB0aGUgZGlzcGxheWVkIHRpbWVzdGFtcCA3dXMgaXMKK2JlY2F1c2UgdGhlIGNsb2NrIG11c3QgaGF2ZSBpbmNyZW1lbnRlZCBiZXR3ZWVuIHRoZSB0aW1lIG9mIHJlY29yZGluZwordGhlIG1heCBsYXRlbmN5IGFuZCByZWNvcmRpbmcgdGhlIGZ1bmN0aW9uIHRoYXQgaGFkIHRoYXQgbGF0ZW5jeS4KKworTm90ZSB0aGUgYWJvdmUgaGFkIGZ0cmFjZV9lbmFibGVkIG5vdCBzZXQuIElmIHdlIHNldCB0aGUgZnRyYWNlX2VuYWJsZWQsCit3ZSBnZXQgYSBtdWNoIGxhcmdlciBvdXRwdXQ6CisKKyMgdHJhY2VyOiBpcnFzb2ZmCisjCitpcnFzb2ZmIGxhdGVuY3kgdHJhY2UgdjEuMS41IG9uIDIuNi4yNi1yYzgKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgbGF0ZW5jeTogNTAgdXMsICMxMDEvMTAxLCBDUFUjMCB8IChNOnByZWVtcHQgVlA6MCwgS1A6MCwgU1A6MCBIUDowICNQOjIpCisgICAgLS0tLS0tLS0tLS0tLS0tLS0KKyAgICB8IHRhc2s6IGxzLTQzMzkgKHVpZDowIG5pY2U6MCBwb2xpY3k6MCBydF9wcmlvOjApCisgICAgLS0tLS0tLS0tLS0tLS0tLS0KKyA9PiBzdGFydGVkIGF0OiBfX2FsbG9jX3BhZ2VzX2ludGVybmFsCisgPT4gZW5kZWQgYXQ6ICAgX19hbGxvY19wYWdlc19pbnRlcm5hbAorCisjICAgICAgICAgICAgICAgIF8tLS0tLS09PiBDUFUjCisjICAgICAgICAgICAgICAgLyBfLS0tLS09PiBpcnFzLW9mZgorIyAgICAgICAgICAgICAgfCAvIF8tLS0tPT4gbmVlZC1yZXNjaGVkCisjICAgICAgICAgICAgICB8fCAvIF8tLS09PiBoYXJkaXJxL3NvZnRpcnEKKyMgICAgICAgICAgICAgIHx8fCAvIF8tLT0+IHByZWVtcHQtZGVwdGgKKyMgICAgICAgICAgICAgIHx8fHwgLworIyAgICAgICAgICAgICAgfHx8fHwgICAgIGRlbGF5CisjICBjbWQgICAgIHBpZCB8fHx8fCB0aW1lICB8ICAgY2FsbGVyCisjICAgICBcICAgLyAgICB8fHx8fCAgIFwgICB8ICAgLworICAgICAgbHMtNDMzOSAgMC4uLjEgICAgMHVzKzogZ2V0X3BhZ2VfZnJvbV9mcmVlbGlzdCAoX19hbGxvY19wYWdlc19pbnRlcm5hbCkKKyAgICAgIGxzLTQzMzkgIDBkLi4xICAgIDN1cyA6IHJtcXVldWVfYnVsayAoZ2V0X3BhZ2VfZnJvbV9mcmVlbGlzdCkKKyAgICAgIGxzLTQzMzkgIDBkLi4xICAgIDN1cyA6IF9zcGluX2xvY2sgKHJtcXVldWVfYnVsaykKKyAgICAgIGxzLTQzMzkgIDBkLi4xICAgIDR1cyA6IGFkZF9wcmVlbXB0X2NvdW50IChfc3Bpbl9sb2NrKQorICAgICAgbHMtNDMzOSAgMGQuLjIgICAgNHVzIDogX19ybXF1ZXVlIChybXF1ZXVlX2J1bGspCisgICAgICBscy00MzM5ICAwZC4uMiAgICA1dXMgOiBfX3JtcXVldWVfc21hbGxlc3QgKF9fcm1xdWV1ZSkKKyAgICAgIGxzLTQzMzkgIDBkLi4yICAgIDV1cyA6IF9fbW9kX3pvbmVfcGFnZV9zdGF0ZSAoX19ybXF1ZXVlX3NtYWxsZXN0KQorICAgICAgbHMtNDMzOSAgMGQuLjIgICAgNnVzIDogX19ybXF1ZXVlIChybXF1ZXVlX2J1bGspCisgICAgICBscy00MzM5ICAwZC4uMiAgICA2dXMgOiBfX3JtcXVldWVfc21hbGxlc3QgKF9fcm1xdWV1ZSkKKyAgICAgIGxzLTQzMzkgIDBkLi4yICAgIDd1cyA6IF9fbW9kX3pvbmVfcGFnZV9zdGF0ZSAoX19ybXF1ZXVlX3NtYWxsZXN0KQorICAgICAgbHMtNDMzOSAgMGQuLjIgICAgN3VzIDogX19ybXF1ZXVlIChybXF1ZXVlX2J1bGspCisgICAgICBscy00MzM5ICAwZC4uMiAgICA4dXMgOiBfX3JtcXVldWVfc21hbGxlc3QgKF9fcm1xdWV1ZSkKK1suLi5dCisgICAgICBscy00MzM5ICAwZC4uMiAgIDQ2dXMgOiBfX3JtcXVldWVfc21hbGxlc3QgKF9fcm1xdWV1ZSkKKyAgICAgIGxzLTQzMzkgIDBkLi4yICAgNDd1cyA6IF9fbW9kX3pvbmVfcGFnZV9zdGF0ZSAoX19ybXF1ZXVlX3NtYWxsZXN0KQorICAgICAgbHMtNDMzOSAgMGQuLjIgICA0N3VzIDogX19ybXF1ZXVlIChybXF1ZXVlX2J1bGspCisgICAgICBscy00MzM5ICAwZC4uMiAgIDQ4dXMgOiBfX3JtcXVldWVfc21hbGxlc3QgKF9fcm1xdWV1ZSkKKyAgICAgIGxzLTQzMzkgIDBkLi4yICAgNDh1cyA6IF9fbW9kX3pvbmVfcGFnZV9zdGF0ZSAoX19ybXF1ZXVlX3NtYWxsZXN0KQorICAgICAgbHMtNDMzOSAgMGQuLjIgICA0OXVzIDogX3NwaW5fdW5sb2NrIChybXF1ZXVlX2J1bGspCisgICAgICBscy00MzM5ICAwZC4uMiAgIDQ5dXMgOiBzdWJfcHJlZW1wdF9jb3VudCAoX3NwaW5fdW5sb2NrKQorICAgICAgbHMtNDMzOSAgMGQuLjEgICA1MHVzIDogZ2V0X3BhZ2VfZnJvbV9mcmVlbGlzdCAoX19hbGxvY19wYWdlc19pbnRlcm5hbCkKKyAgICAgIGxzLTQzMzkgIDBkLi4yICAgNTF1cyA6IHRyYWNlX2hhcmRpcnFzX29uIChfX2FsbG9jX3BhZ2VzX2ludGVybmFsKQorCisKK3ZpbTpmdD1oZWxwCisKKworSGVyZSB3ZSB0cmFjZWQgYSA1MCBtaWNyb3NlY29uZCBsYXRlbmN5LiBCdXQgd2UgYWxzbyBzZWUgYWxsIHRoZQorZnVuY3Rpb25zIHRoYXQgd2VyZSBjYWxsZWQgZHVyaW5nIHRoYXQgdGltZS4gTm90ZSB0aGF0IGJ5IGVuYWJsaW5nCitmdW5jdGlvbiB0cmFjaW5nLCB3ZSBlbmR1cmUgYW4gYWRkZWQgb3ZlcmhlYWQuIFRoaXMgb3ZlcmhlYWQgbWF5CitleHRlbmQgdGhlIGxhdGVuY3kgdGltZXMuIEJ1dCBuZXZlcnRoZWxlc3MsIHRoaXMgdHJhY2UgaGFzIHByb3ZpZGVkCitzb21lIHZlcnkgaGVscGZ1bCBkZWJ1Z2dpbmcgaW5mb3JtYXRpb24uCisKKworcHJlZW1wdG9mZgorLS0tLS0tLS0tLQorCitXaGVuIHByZWVtcHRpb24gaXMgZGlzYWJsZWQsIHdlIG1heSBiZSBhYmxlIHRvIHJlY2VpdmUgaW50ZXJydXB0cyBidXQKK3RoZSB0YXNrIGNhbm5vdCBiZSBwcmVlbXB0ZWQgYW5kIGEgaGlnaGVyIHByaW9yaXR5IHRhc2sgbXVzdCB3YWl0Citmb3IgcHJlZW1wdGlvbiB0byBiZSBlbmFibGVkIGFnYWluIGJlZm9yZSBpdCBjYW4gcHJlZW1wdCBhIGxvd2VyCitwcmlvcml0eSB0YXNrLgorCitUaGUgcHJlZW1wdG9mZiB0cmFjZXIgdHJhY2VzIHRoZSBwbGFjZXMgdGhhdCBkaXNhYmxlIHByZWVtcHRpb24uCitMaWtlIHRoZSBpcnFzb2ZmLCBpdCByZWNvcmRzIHRoZSBtYXhpbXVtIGxhdGVuY3kgdGhhdCBwcmVlbXB0aW9uCit3YXMgZGlzYWJsZWQuIFRoZSBjb250cm9sIG9mIHByZWVtcHRvZmYgaXMgbXVjaCBsaWtlIHRoZSBpcnFzb2ZmLgorCisgIyBlY2hvIHByZWVtcHRvZmYgPiAvZGVidWcvdHJhY2luZy9jdXJyZW50X3RyYWNlcgorICMgZWNobyAwID4gL2RlYnVnL3RyYWNpbmcvdHJhY2luZ19tYXhfbGF0ZW5jeQorICMgZWNobyAxID4gL2RlYnVnL3RyYWNpbmcvdHJhY2luZ19lbmFibGVkCisgIyBscyAtbHRyCisgWy4uLl0KKyAjIGVjaG8gMCA+IC9kZWJ1Zy90cmFjaW5nL3RyYWNpbmdfZW5hYmxlZAorICMgY2F0IC9kZWJ1Zy90cmFjaW5nL2xhdGVuY3lfdHJhY2UKKyMgdHJhY2VyOiBwcmVlbXB0b2ZmCisjCitwcmVlbXB0b2ZmIGxhdGVuY3kgdHJhY2UgdjEuMS41IG9uIDIuNi4yNi1yYzgKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgbGF0ZW5jeTogMjkgdXMsICMzLzMsIENQVSMwIHwgKE06cHJlZW1wdCBWUDowLCBLUDowLCBTUDowIEhQOjAgI1A6MikKKyAgICAtLS0tLS0tLS0tLS0tLS0tLQorICAgIHwgdGFzazogc3NoZC00MjYxICh1aWQ6MCBuaWNlOjAgcG9saWN5OjAgcnRfcHJpbzowKQorICAgIC0tLS0tLS0tLS0tLS0tLS0tCisgPT4gc3RhcnRlZCBhdDogZG9fSVJRCisgPT4gZW5kZWQgYXQ6ICAgX19kb19zb2Z0aXJxCisKKyMgICAgICAgICAgICAgICAgXy0tLS0tLT0+IENQVSMKKyMgICAgICAgICAgICAgICAvIF8tLS0tLT0+IGlycXMtb2ZmCisjICAgICAgICAgICAgICB8IC8gXy0tLS09PiBuZWVkLXJlc2NoZWQKKyMgICAgICAgICAgICAgIHx8IC8gXy0tLT0+IGhhcmRpcnEvc29mdGlycQorIyAgICAgICAgICAgICAgfHx8IC8gXy0tPT4gcHJlZW1wdC1kZXB0aAorIyAgICAgICAgICAgICAgfHx8fCAvCisjICAgICAgICAgICAgICB8fHx8fCAgICAgZGVsYXkKKyMgIGNtZCAgICAgcGlkIHx8fHx8IHRpbWUgIHwgICBjYWxsZXIKKyMgICAgIFwgICAvICAgIHx8fHx8ICAgXCAgIHwgICAvCisgICAgc3NoZC00MjYxICAwZC5oLiAgICAwdXMrOiBpcnFfZW50ZXIgKGRvX0lSUSkKKyAgICBzc2hkLTQyNjEgIDBkLnMuICAgMjl1cyA6IF9sb2NhbF9iaF9lbmFibGUgKF9fZG9fc29mdGlycSkKKyAgICBzc2hkLTQyNjEgIDBkLnMxICAgMzB1cyA6IHRyYWNlX3ByZWVtcHRfb24gKF9fZG9fc29mdGlycSkKKworCit2aW06ZnQ9aGVscAorCitUaGlzIGhhcyBzb21lIG1vcmUgY2hhbmdlcy4gUHJlZW1wdGlvbiB3YXMgZGlzYWJsZWQgd2hlbiBhbiBpbnRlcnJ1cHQKK2NhbWUgaW4gKG5vdGljZSB0aGUgJ2gnKSwgYW5kIHdhcyBlbmFibGVkIHdoaWxlIGRvaW5nIGEgc29mdGlycS4KKyhub3RpY2UgdGhlICdzJykuIEJ1dCB3ZSBhbHNvIHNlZSB0aGF0IGludGVycnVwdHMgaGF2ZSBiZWVuIGRpc2FibGVkCit3aGVuIGVudGVyaW5nIHRoZSBwcmVlbXB0IG9mZiBzZWN0aW9uIGFuZCBsZWF2aW5nIGl0ICh0aGUgJ2QnKS4KK1dlIGRvIG5vdCBrbm93IGlmIGludGVycnVwdHMgd2VyZSBlbmFibGVkIGluIHRoZSBtZWFuIHRpbWUuCisKKyMgdHJhY2VyOiBwcmVlbXB0b2ZmCisjCitwcmVlbXB0b2ZmIGxhdGVuY3kgdHJhY2UgdjEuMS41IG9uIDIuNi4yNi1yYzgKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgbGF0ZW5jeTogNjMgdXMsICM4Ny84NywgQ1BVIzAgfCAoTTpwcmVlbXB0IFZQOjAsIEtQOjAsIFNQOjAgSFA6MCAjUDoyKQorICAgIC0tLS0tLS0tLS0tLS0tLS0tCisgICAgfCB0YXNrOiBzc2hkLTQyNjEgKHVpZDowIG5pY2U6MCBwb2xpY3k6MCBydF9wcmlvOjApCisgICAgLS0tLS0tLS0tLS0tLS0tLS0KKyA9PiBzdGFydGVkIGF0OiByZW1vdmVfd2FpdF9xdWV1ZQorID0+IGVuZGVkIGF0OiAgIF9fZG9fc29mdGlycQorCisjICAgICAgICAgICAgICAgIF8tLS0tLS09PiBDUFUjCisjICAgICAgICAgICAgICAgLyBfLS0tLS09PiBpcnFzLW9mZgorIyAgICAgICAgICAgICAgfCAvIF8tLS0tPT4gbmVlZC1yZXNjaGVkCisjICAgICAgICAgICAgICB8fCAvIF8tLS09PiBoYXJkaXJxL3NvZnRpcnEKKyMgICAgICAgICAgICAgIHx8fCAvIF8tLT0+IHByZWVtcHQtZGVwdGgKKyMgICAgICAgICAgICAgIHx8fHwgLworIyAgICAgICAgICAgICAgfHx8fHwgICAgIGRlbGF5CisjICBjbWQgICAgIHBpZCB8fHx8fCB0aW1lICB8ICAgY2FsbGVyCisjICAgICBcICAgLyAgICB8fHx8fCAgIFwgICB8ICAgLworICAgIHNzaGQtNDI2MSAgMGQuLjEgICAgMHVzIDogX3NwaW5fbG9ja19pcnFzYXZlIChyZW1vdmVfd2FpdF9xdWV1ZSkKKyAgICBzc2hkLTQyNjEgIDBkLi4xICAgIDF1cyA6IF9zcGluX3VubG9ja19pcnFyZXN0b3JlIChyZW1vdmVfd2FpdF9xdWV1ZSkKKyAgICBzc2hkLTQyNjEgIDBkLi4xICAgIDJ1cyA6IGRvX0lSUSAoY29tbW9uX2ludGVycnVwdCkKKyAgICBzc2hkLTQyNjEgIDBkLi4xICAgIDJ1cyA6IGlycV9lbnRlciAoZG9fSVJRKQorICAgIHNzaGQtNDI2MSAgMGQuLjEgICAgMnVzIDogaWRsZV9jcHUgKGlycV9lbnRlcikKKyAgICBzc2hkLTQyNjEgIDBkLi4xICAgIDN1cyA6IGFkZF9wcmVlbXB0X2NvdW50IChpcnFfZW50ZXIpCisgICAgc3NoZC00MjYxICAwZC5oMSAgICAzdXMgOiBpZGxlX2NwdSAoaXJxX2VudGVyKQorICAgIHNzaGQtNDI2MSAgMGQuaC4gICAgNHVzIDogaGFuZGxlX2Zhc3Rlb2lfaXJxIChkb19JUlEpCitbLi4uXQorICAgIHNzaGQtNDI2MSAgMGQuaC4gICAxMnVzIDogYWRkX3ByZWVtcHRfY291bnQgKF9zcGluX2xvY2spCisgICAgc3NoZC00MjYxICAwZC5oMSAgIDEydXMgOiBhY2tfaW9hcGljX3F1aXJrX2lycSAoaGFuZGxlX2Zhc3Rlb2lfaXJxKQorICAgIHNzaGQtNDI2MSAgMGQuaDEgICAxM3VzIDogbW92ZV9uYXRpdmVfaXJxIChhY2tfaW9hcGljX3F1aXJrX2lycSkKKyAgICBzc2hkLTQyNjEgIDBkLmgxICAgMTN1cyA6IF9zcGluX3VubG9jayAoaGFuZGxlX2Zhc3Rlb2lfaXJxKQorICAgIHNzaGQtNDI2MSAgMGQuaDEgICAxNHVzIDogc3ViX3ByZWVtcHRfY291bnQgKF9zcGluX3VubG9jaykKKyAgICBzc2hkLTQyNjEgIDBkLmgxICAgMTR1cyA6IGlycV9leGl0IChkb19JUlEpCisgICAgc3NoZC00MjYxICAwZC5oMSAgIDE1dXMgOiBzdWJfcHJlZW1wdF9jb3VudCAoaXJxX2V4aXQpCisgICAgc3NoZC00MjYxICAwZC4uMiAgIDE1dXMgOiBkb19zb2Z0aXJxIChpcnFfZXhpdCkKKyAgICBzc2hkLTQyNjEgIDBkLi4uICAgMTV1cyA6IF9fZG9fc29mdGlycSAoZG9fc29mdGlycSkKKyAgICBzc2hkLTQyNjEgIDBkLi4uICAgMTZ1cyA6IF9fbG9jYWxfYmhfZGlzYWJsZSAoX19kb19zb2Z0aXJxKQorICAgIHNzaGQtNDI2MSAgMGQuLi4gICAxNnVzKzogYWRkX3ByZWVtcHRfY291bnQgKF9fbG9jYWxfYmhfZGlzYWJsZSkKKyAgICBzc2hkLTQyNjEgIDBkLnM0ICAgMjB1cyA6IGFkZF9wcmVlbXB0X2NvdW50IChfX2xvY2FsX2JoX2Rpc2FibGUpCisgICAgc3NoZC00MjYxICAwZC5zNCAgIDIxdXMgOiBzdWJfcHJlZW1wdF9jb3VudCAobG9jYWxfYmhfZW5hYmxlKQorICAgIHNzaGQtNDI2MSAgMGQuczUgICAyMXVzIDogc3ViX3ByZWVtcHRfY291bnQgKGxvY2FsX2JoX2VuYWJsZSkKK1suLi5dCisgICAgc3NoZC00MjYxICAwZC5zNiAgIDQxdXMgOiBhZGRfcHJlZW1wdF9jb3VudCAoX19sb2NhbF9iaF9kaXNhYmxlKQorICAgIHNzaGQtNDI2MSAgMGQuczYgICA0MnVzIDogc3ViX3ByZWVtcHRfY291bnQgKGxvY2FsX2JoX2VuYWJsZSkKKyAgICBzc2hkLTQyNjEgIDBkLnM3ICAgNDJ1cyA6IHN1Yl9wcmVlbXB0X2NvdW50IChsb2NhbF9iaF9lbmFibGUpCisgICAgc3NoZC00MjYxICAwZC5zNSAgIDQzdXMgOiBhZGRfcHJlZW1wdF9jb3VudCAoX19sb2NhbF9iaF9kaXNhYmxlKQorICAgIHNzaGQtNDI2MSAgMGQuczUgICA0M3VzIDogc3ViX3ByZWVtcHRfY291bnQgKGxvY2FsX2JoX2VuYWJsZV9pcCkKKyAgICBzc2hkLTQyNjEgIDBkLnM2ICAgNDR1cyA6IHN1Yl9wcmVlbXB0X2NvdW50IChsb2NhbF9iaF9lbmFibGVfaXApCisgICAgc3NoZC00MjYxICAwZC5zNSAgIDQ0dXMgOiBhZGRfcHJlZW1wdF9jb3VudCAoX19sb2NhbF9iaF9kaXNhYmxlKQorICAgIHNzaGQtNDI2MSAgMGQuczUgICA0NXVzIDogc3ViX3ByZWVtcHRfY291bnQgKGxvY2FsX2JoX2VuYWJsZSkKK1suLi5dCisgICAgc3NoZC00MjYxICAwZC5zLiAgIDYzdXMgOiBfbG9jYWxfYmhfZW5hYmxlIChfX2RvX3NvZnRpcnEpCisgICAgc3NoZC00MjYxICAwZC5zMSAgIDY0dXMgOiB0cmFjZV9wcmVlbXB0X29uIChfX2RvX3NvZnRpcnEpCisKKworVGhlIGFib3ZlIGlzIGFuIGV4YW1wbGUgb2YgdGhlIHByZWVtcHRvZmYgdHJhY2Ugd2l0aCBmdHJhY2VfZW5hYmxlZAorc2V0LiBIZXJlIHdlIHNlZSB0aGF0IGludGVycnVwdHMgd2VyZSBkaXNhYmxlZCB0aGUgZW50aXJlIHRpbWUuCitUaGUgaXJxX2VudGVyIGNvZGUgbGV0cyB1cyBrbm93IHRoYXQgd2UgZW50ZXJlZCBhbiBpbnRlcnJ1cHQgJ2gnLgorQmVmb3JlIHRoYXQsIHRoZSBmdW5jdGlvbnMgYmVpbmcgdHJhY2VkIHN0aWxsIHNob3cgdGhhdCBpdCBpcyBub3QKK2luIGFuIGludGVycnVwdCwgYnV0IHdlIGNhbiBzZWUgYnkgdGhlIGZ1bmN0aW9ucyB0aGVtc2VsdmVzIHRoYXQKK3RoaXMgaXMgbm90IHRoZSBjYXNlLgorCitOb3RpY2UgdGhhdCB0aGUgX19kb19zb2Z0aXJxIHdoZW4gY2FsbGVkIGRvZXNuJ3QgaGF2ZSBhIHByZWVtcHRfY291bnQuCitJdCBtYXkgc2VlbSB0aGF0IHdlIG1pc3NlZCBhIHByZWVtcHQgZW5hYmxlZC4gV2hhdCByZWFsbHkgaGFwcGVuZWQKK2lzIHRoYXQgdGhlIHByZWVtcHQgY291bnQgaXMgaGVsZCBvbiB0aGUgdGhyZWFkcyBzdGFjayBhbmQgd2UKK3N3aXRjaGVkIHRvIHRoZSBzb2Z0aXJxIHN0YWNrICg0SyBzdGFja3MgaW4gZWZmZWN0KS4gVGhlIGNvZGUKK2RvZXMgbm90IGNvcHkgdGhlIHByZWVtcHQgY291bnQsIGJ1dCBiZWNhdXNlIGludGVycnVwdHMgYXJlIGRpc2FibGVkLAord2UgZG9uJ3QgbmVlZCB0byB3b3JyeSBhYm91dCBpdC4gSGF2aW5nIGEgdHJhY2VyIGxpa2UgdGhpcyBpcyBnb29kCit0byBsZXQgcGVvcGxlIGtub3cgd2hhdCByZWFsbHkgaGFwcGVucyBpbnNpZGUgdGhlIGtlcm5lbC4KKworCitwcmVlbXB0aXJxc29mZgorLS0tLS0tLS0tLS0tLS0KKworS25vd2luZyB0aGUgbG9jYXRpb25zIHRoYXQgaGF2ZSBpbnRlcnJ1cHRzIGRpc2FibGVkIG9yIHByZWVtcHRpb24KK2Rpc2FibGVkIGZvciB0aGUgbG9uZ2VzdCB0aW1lcyBpcyBoZWxwZnVsLiBCdXQgc29tZXRpbWVzIHdlIHdvdWxkCitsaWtlIHRvIGtub3cgd2hlbiBlaXRoZXIgcHJlZW1wdGlvbiBhbmQvb3IgaW50ZXJydXB0cyBhcmUgZGlzYWJsZWQuCisKK1RoZSBmb2xsb3dpbmcgY29kZToKKworICAgIGxvY2FsX2lycV9kaXNhYmxlKCk7CisgICAgY2FsbF9mdW5jdGlvbl93aXRoX2lycXNfb2ZmKCk7CisgICAgcHJlZW1wdF9kaXNhYmxlKCk7CisgICAgY2FsbF9mdW5jdGlvbl93aXRoX2lycXNfYW5kX3ByZWVtcHRpb25fb2ZmKCk7CisgICAgbG9jYWxfaXJxX2VuYWJsZSgpOworICAgIGNhbGxfZnVuY3Rpb25fd2l0aF9wcmVlbXB0aW9uX29mZigpOworICAgIHByZWVtcHRfZW5hYmxlKCk7CisKK1RoZSBpcnFzb2ZmIHRyYWNlciB3aWxsIHJlY29yZCB0aGUgdG90YWwgbGVuZ3RoIG9mCitjYWxsX2Z1bmN0aW9uX3dpdGhfaXJxc19vZmYoKSBhbmQKK2NhbGxfZnVuY3Rpb25fd2l0aF9pcnFzX2FuZF9wcmVlbXB0aW9uX29mZigpLgorCitUaGUgcHJlZW1wdG9mZiB0cmFjZXIgd2lsbCByZWNvcmQgdGhlIHRvdGFsIGxlbmd0aCBvZgorY2FsbF9mdW5jdGlvbl93aXRoX2lycXNfYW5kX3ByZWVtcHRpb25fb2ZmKCkgYW5kCitjYWxsX2Z1bmN0aW9uX3dpdGhfcHJlZW1wdGlvbl9vZmYoKS4KKworQnV0IG5laXRoZXIgd2lsbCB0cmFjZSB0aGUgdGltZSB0aGF0IGludGVycnVwdHMgYW5kL29yIHByZWVtcHRpb24KK2lzIGRpc2FibGVkLiBUaGlzIHRvdGFsIHRpbWUgaXMgdGhlIHRpbWUgdGhhdCB3ZSBjYW4gbm90IHNjaGVkdWxlLgorVG8gcmVjb3JkIHRoaXMgdGltZSwgdXNlIHRoZSBwcmVlbXB0aXJxc29mZiB0cmFjZXIuCisKK0FnYWluLCB1c2luZyB0aGlzIHRyYWNlIGlzIG11Y2ggbGlrZSB0aGUgaXJxc29mZiBhbmQgcHJlZW1wdG9mZiB0cmFjZXJzLgorCisgIyBlY2hvIHByZWVtcHRpcnFzb2ZmID4gL2RlYnVnL3RyYWNpbmcvY3VycmVudF90cmFjZXIKKyAjIGVjaG8gMCA+IC9kZWJ1Zy90cmFjaW5nL3RyYWNpbmdfbWF4X2xhdGVuY3kKKyAjIGVjaG8gMSA+IC9kZWJ1Zy90cmFjaW5nL3RyYWNpbmdfZW5hYmxlZAorICMgbHMgLWx0cgorIFsuLi5dCisgIyBlY2hvIDAgPiAvZGVidWcvdHJhY2luZy90cmFjaW5nX2VuYWJsZWQKKyAjIGNhdCAvZGVidWcvdHJhY2luZy9sYXRlbmN5X3RyYWNlCisjIHRyYWNlcjogcHJlZW1wdGlycXNvZmYKKyMKK3ByZWVtcHRpcnFzb2ZmIGxhdGVuY3kgdHJhY2UgdjEuMS41IG9uIDIuNi4yNi1yYzgKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgbGF0ZW5jeTogMjkzIHVzLCAjMy8zLCBDUFUjMCB8IChNOnByZWVtcHQgVlA6MCwgS1A6MCwgU1A6MCBIUDowICNQOjIpCisgICAgLS0tLS0tLS0tLS0tLS0tLS0KKyAgICB8IHRhc2s6IGxzLTQ4NjAgKHVpZDowIG5pY2U6MCBwb2xpY3k6MCBydF9wcmlvOjApCisgICAgLS0tLS0tLS0tLS0tLS0tLS0KKyA9PiBzdGFydGVkIGF0OiBhcGljX3RpbWVyX2ludGVycnVwdAorID0+IGVuZGVkIGF0OiAgIF9fZG9fc29mdGlycQorCisjICAgICAgICAgICAgICAgIF8tLS0tLS09PiBDUFUjCisjICAgICAgICAgICAgICAgLyBfLS0tLS09PiBpcnFzLW9mZgorIyAgICAgICAgICAgICAgfCAvIF8tLS0tPT4gbmVlZC1yZXNjaGVkCisjICAgICAgICAgICAgICB8fCAvIF8tLS09PiBoYXJkaXJxL3NvZnRpcnEKKyMgICAgICAgICAgICAgIHx8fCAvIF8tLT0+IHByZWVtcHQtZGVwdGgKKyMgICAgICAgICAgICAgIHx8fHwgLworIyAgICAgICAgICAgICAgfHx8fHwgICAgIGRlbGF5CisjICBjbWQgICAgIHBpZCB8fHx8fCB0aW1lICB8ICAgY2FsbGVyCisjICAgICBcICAgLyAgICB8fHx8fCAgIFwgICB8ICAgLworICAgICAgbHMtNDg2MCAgMGQuLi4gICAgMHVzITogdHJhY2VfaGFyZGlycXNfb2ZmX3RodW5rIChhcGljX3RpbWVyX2ludGVycnVwdCkKKyAgICAgIGxzLTQ4NjAgIDBkLnMuICAyOTR1cyA6IF9sb2NhbF9iaF9lbmFibGUgKF9fZG9fc29mdGlycSkKKyAgICAgIGxzLTQ4NjAgIDBkLnMxICAyOTR1cyA6IHRyYWNlX3ByZWVtcHRfb24gKF9fZG9fc29mdGlycSkKKworCit2aW06ZnQ9aGVscAorCisKK1RoZSB0cmFjZV9oYXJkaXJxc19vZmZfdGh1bmsgaXMgY2FsbGVkIGZyb20gYXNzZW1ibHkgb24geDg2IHdoZW4KK2ludGVycnVwdHMgYXJlIGRpc2FibGVkIGluIHRoZSBhc3NlbWJseSBjb2RlLiBXaXRob3V0IHRoZSBmdW5jdGlvbgordHJhY2luZywgd2UgZG9uJ3Qga25vdyBpZiBpbnRlcnJ1cHRzIHdlcmUgZW5hYmxlZCB3aXRoaW4gdGhlIHByZWVtcHRpb24KK3BvaW50cy4gV2UgZG8gc2VlIHRoYXQgaXQgc3RhcnRlZCB3aXRoIHByZWVtcHRpb24gZW5hYmxlZC4KKworSGVyZSBpcyBhIHRyYWNlIHdpdGggZnRyYWNlX2VuYWJsZWQgc2V0OgorCisKKyMgdHJhY2VyOiBwcmVlbXB0aXJxc29mZgorIworcHJlZW1wdGlycXNvZmYgbGF0ZW5jeSB0cmFjZSB2MS4xLjUgb24gMi42LjI2LXJjOAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBsYXRlbmN5OiAxMDUgdXMsICMxODMvMTgzLCBDUFUjMCB8IChNOnByZWVtcHQgVlA6MCwgS1A6MCwgU1A6MCBIUDowICNQOjIpCisgICAgLS0tLS0tLS0tLS0tLS0tLS0KKyAgICB8IHRhc2s6IHNzaGQtNDI2MSAodWlkOjAgbmljZTowIHBvbGljeTowIHJ0X3ByaW86MCkKKyAgICAtLS0tLS0tLS0tLS0tLS0tLQorID0+IHN0YXJ0ZWQgYXQ6IHdyaXRlX2NoYW4KKyA9PiBlbmRlZCBhdDogICBfX2RvX3NvZnRpcnEKKworIyAgICAgICAgICAgICAgICBfLS0tLS0tPT4gQ1BVIworIyAgICAgICAgICAgICAgIC8gXy0tLS0tPT4gaXJxcy1vZmYKKyMgICAgICAgICAgICAgIHwgLyBfLS0tLT0+IG5lZWQtcmVzY2hlZAorIyAgICAgICAgICAgICAgfHwgLyBfLS0tPT4gaGFyZGlycS9zb2Z0aXJxCisjICAgICAgICAgICAgICB8fHwgLyBfLS09PiBwcmVlbXB0LWRlcHRoCisjICAgICAgICAgICAgICB8fHx8IC8KKyMgICAgICAgICAgICAgIHx8fHx8ICAgICBkZWxheQorIyAgY21kICAgICBwaWQgfHx8fHwgdGltZSAgfCAgIGNhbGxlcgorIyAgICAgXCAgIC8gICAgfHx8fHwgICBcICAgfCAgIC8KKyAgICAgIGxzLTQ0NzMgIDAuTi4uICAgIDB1cyA6IHByZWVtcHRfc2NoZWR1bGUgKHdyaXRlX2NoYW4pCisgICAgICBscy00NDczICAwZE4uMSAgICAxdXMgOiBfc3Bpbl9sb2NrIChzY2hlZHVsZSkKKyAgICAgIGxzLTQ0NzMgIDBkTi4xICAgIDJ1cyA6IGFkZF9wcmVlbXB0X2NvdW50IChfc3Bpbl9sb2NrKQorICAgICAgbHMtNDQ3MyAgMGQuLjIgICAgMnVzIDogcHV0X3ByZXZfdGFza19mYWlyIChzY2hlZHVsZSkKK1suLi5dCisgICAgICBscy00NDczICAwZC4uMiAgIDEzdXMgOiBzZXRfbm9ybWFsaXplZF90aW1lc3BlYyAoa3RpbWVfZ2V0X3RzKQorICAgICAgbHMtNDQ3MyAgMGQuLjIgICAxM3VzIDogX19zd2l0Y2hfdG8gKHNjaGVkdWxlKQorICAgIHNzaGQtNDI2MSAgMGQuLjIgICAxNHVzIDogZmluaXNoX3Rhc2tfc3dpdGNoIChzY2hlZHVsZSkKKyAgICBzc2hkLTQyNjEgIDBkLi4yICAgMTR1cyA6IF9zcGluX3VubG9ja19pcnEgKGZpbmlzaF90YXNrX3N3aXRjaCkKKyAgICBzc2hkLTQyNjEgIDBkLi4xICAgMTV1cyA6IGFkZF9wcmVlbXB0X2NvdW50IChfc3Bpbl9sb2NrX2lycXNhdmUpCisgICAgc3NoZC00MjYxICAwZC4uMiAgIDE2dXMgOiBfc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSAoaHJ0aWNrX3NldCkKKyAgICBzc2hkLTQyNjEgIDBkLi4yICAgMTZ1cyA6IGRvX0lSUSAoY29tbW9uX2ludGVycnVwdCkKKyAgICBzc2hkLTQyNjEgIDBkLi4yICAgMTd1cyA6IGlycV9lbnRlciAoZG9fSVJRKQorICAgIHNzaGQtNDI2MSAgMGQuLjIgICAxN3VzIDogaWRsZV9jcHUgKGlycV9lbnRlcikKKyAgICBzc2hkLTQyNjEgIDBkLi4yICAgMTh1cyA6IGFkZF9wcmVlbXB0X2NvdW50IChpcnFfZW50ZXIpCisgICAgc3NoZC00MjYxICAwZC5oMiAgIDE4dXMgOiBpZGxlX2NwdSAoaXJxX2VudGVyKQorICAgIHNzaGQtNDI2MSAgMGQuaC4gICAxOHVzIDogaGFuZGxlX2Zhc3Rlb2lfaXJxIChkb19JUlEpCisgICAgc3NoZC00MjYxICAwZC5oLiAgIDE5dXMgOiBfc3Bpbl9sb2NrIChoYW5kbGVfZmFzdGVvaV9pcnEpCisgICAgc3NoZC00MjYxICAwZC5oLiAgIDE5dXMgOiBhZGRfcHJlZW1wdF9jb3VudCAoX3NwaW5fbG9jaykKKyAgICBzc2hkLTQyNjEgIDBkLmgxICAgMjB1cyA6IF9zcGluX3VubG9jayAoaGFuZGxlX2Zhc3Rlb2lfaXJxKQorICAgIHNzaGQtNDI2MSAgMGQuaDEgICAyMHVzIDogc3ViX3ByZWVtcHRfY291bnQgKF9zcGluX3VubG9jaykKK1suLi5dCisgICAgc3NoZC00MjYxICAwZC5oMSAgIDI4dXMgOiBfc3Bpbl91bmxvY2sgKGhhbmRsZV9mYXN0ZW9pX2lycSkKKyAgICBzc2hkLTQyNjEgIDBkLmgxICAgMjl1cyA6IHN1Yl9wcmVlbXB0X2NvdW50IChfc3Bpbl91bmxvY2spCisgICAgc3NoZC00MjYxICAwZC5oMiAgIDI5dXMgOiBpcnFfZXhpdCAoZG9fSVJRKQorICAgIHNzaGQtNDI2MSAgMGQuaDIgICAyOXVzIDogc3ViX3ByZWVtcHRfY291bnQgKGlycV9leGl0KQorICAgIHNzaGQtNDI2MSAgMGQuLjMgICAzMHVzIDogZG9fc29mdGlycSAoaXJxX2V4aXQpCisgICAgc3NoZC00MjYxICAwZC4uLiAgIDMwdXMgOiBfX2RvX3NvZnRpcnEgKGRvX3NvZnRpcnEpCisgICAgc3NoZC00MjYxICAwZC4uLiAgIDMxdXMgOiBfX2xvY2FsX2JoX2Rpc2FibGUgKF9fZG9fc29mdGlycSkKKyAgICBzc2hkLTQyNjEgIDBkLi4uICAgMzF1cys6IGFkZF9wcmVlbXB0X2NvdW50IChfX2xvY2FsX2JoX2Rpc2FibGUpCisgICAgc3NoZC00MjYxICAwZC5zNCAgIDM0dXMgOiBhZGRfcHJlZW1wdF9jb3VudCAoX19sb2NhbF9iaF9kaXNhYmxlKQorWy4uLl0KKyAgICBzc2hkLTQyNjEgIDBkLnMzICAgNDN1cyA6IHN1Yl9wcmVlbXB0X2NvdW50IChsb2NhbF9iaF9lbmFibGVfaXApCisgICAgc3NoZC00MjYxICAwZC5zNCAgIDQ0dXMgOiBzdWJfcHJlZW1wdF9jb3VudCAobG9jYWxfYmhfZW5hYmxlX2lwKQorICAgIHNzaGQtNDI2MSAgMGQuczMgICA0NHVzIDogc21wX2FwaWNfdGltZXJfaW50ZXJydXB0IChhcGljX3RpbWVyX2ludGVycnVwdCkKKyAgICBzc2hkLTQyNjEgIDBkLnMzICAgNDV1cyA6IGlycV9lbnRlciAoc21wX2FwaWNfdGltZXJfaW50ZXJydXB0KQorICAgIHNzaGQtNDI2MSAgMGQuczMgICA0NXVzIDogaWRsZV9jcHUgKGlycV9lbnRlcikKKyAgICBzc2hkLTQyNjEgIDBkLnMzICAgNDZ1cyA6IGFkZF9wcmVlbXB0X2NvdW50IChpcnFfZW50ZXIpCisgICAgc3NoZC00MjYxICAwZC5IMyAgIDQ2dXMgOiBpZGxlX2NwdSAoaXJxX2VudGVyKQorICAgIHNzaGQtNDI2MSAgMGQuSDMgICA0N3VzIDogaHJ0aW1lcl9pbnRlcnJ1cHQgKHNtcF9hcGljX3RpbWVyX2ludGVycnVwdCkKKyAgICBzc2hkLTQyNjEgIDBkLkgzICAgNDd1cyA6IGt0aW1lX2dldCAoaHJ0aW1lcl9pbnRlcnJ1cHQpCitbLi4uXQorICAgIHNzaGQtNDI2MSAgMGQuSDMgICA4MXVzIDogdGlja19wcm9ncmFtX2V2ZW50IChocnRpbWVyX2ludGVycnVwdCkKKyAgICBzc2hkLTQyNjEgIDBkLkgzICAgODJ1cyA6IGt0aW1lX2dldCAodGlja19wcm9ncmFtX2V2ZW50KQorICAgIHNzaGQtNDI2MSAgMGQuSDMgICA4MnVzIDoga3RpbWVfZ2V0X3RzIChrdGltZV9nZXQpCisgICAgc3NoZC00MjYxICAwZC5IMyAgIDgzdXMgOiBnZXRuc3RpbWVvZmRheSAoa3RpbWVfZ2V0X3RzKQorICAgIHNzaGQtNDI2MSAgMGQuSDMgICA4M3VzIDogc2V0X25vcm1hbGl6ZWRfdGltZXNwZWMgKGt0aW1lX2dldF90cykKKyAgICBzc2hkLTQyNjEgIDBkLkgzICAgODR1cyA6IGNsb2NrZXZlbnRzX3Byb2dyYW1fZXZlbnQgKHRpY2tfcHJvZ3JhbV9ldmVudCkKKyAgICBzc2hkLTQyNjEgIDBkLkgzICAgODR1cyA6IGxhcGljX25leHRfZXZlbnQgKGNsb2NrZXZlbnRzX3Byb2dyYW1fZXZlbnQpCisgICAgc3NoZC00MjYxICAwZC5IMyAgIDg1dXMgOiBpcnFfZXhpdCAoc21wX2FwaWNfdGltZXJfaW50ZXJydXB0KQorICAgIHNzaGQtNDI2MSAgMGQuSDMgICA4NXVzIDogc3ViX3ByZWVtcHRfY291bnQgKGlycV9leGl0KQorICAgIHNzaGQtNDI2MSAgMGQuczQgICA4NnVzIDogc3ViX3ByZWVtcHRfY291bnQgKGlycV9leGl0KQorICAgIHNzaGQtNDI2MSAgMGQuczMgICA4NnVzIDogYWRkX3ByZWVtcHRfY291bnQgKF9fbG9jYWxfYmhfZGlzYWJsZSkKK1suLi5dCisgICAgc3NoZC00MjYxICAwZC5zMSAgIDk4dXMgOiBzdWJfcHJlZW1wdF9jb3VudCAobmV0X3J4X2FjdGlvbikKKyAgICBzc2hkLTQyNjEgIDBkLnMuICAgOTl1cyA6IGFkZF9wcmVlbXB0X2NvdW50IChfc3Bpbl9sb2NrX2lycSkKKyAgICBzc2hkLTQyNjEgIDBkLnMxICAgOTl1cys6IF9zcGluX3VubG9ja19pcnEgKHJ1bl90aW1lcl9zb2Z0aXJxKQorICAgIHNzaGQtNDI2MSAgMGQucy4gIDEwNHVzIDogX2xvY2FsX2JoX2VuYWJsZSAoX19kb19zb2Z0aXJxKQorICAgIHNzaGQtNDI2MSAgMGQucy4gIDEwNHVzIDogc3ViX3ByZWVtcHRfY291bnQgKF9sb2NhbF9iaF9lbmFibGUpCisgICAgc3NoZC00MjYxICAwZC5zLiAgMTA1dXMgOiBfbG9jYWxfYmhfZW5hYmxlIChfX2RvX3NvZnRpcnEpCisgICAgc3NoZC00MjYxICAwZC5zMSAgMTA1dXMgOiB0cmFjZV9wcmVlbXB0X29uIChfX2RvX3NvZnRpcnEpCisKKworVGhpcyBpcyBhIHZlcnkgaW50ZXJlc3RpbmcgdHJhY2UuIEl0IHN0YXJ0ZWQgd2l0aCB0aGUgcHJlZW1wdGlvbiBvZgordGhlIGxzIHRhc2suIFdlIHNlZSB0aGF0IHRoZSB0YXNrIGhhZCB0aGUgIm5lZWRfcmVzY2hlZCIgYml0IHNldAord2l0aCB0aGUgJ04nIGluIHRoZSB0cmFjZS4gIEludGVycnVwdHMgYXJlIGRpc2FibGVkIGluIHRoZSBzcGluX2xvY2sKK2FuZCB0aGUgdHJhY2Ugc3RhcnRlZC4gV2Ugc2VlIHRoYXQgYSBzY2hlZHVsZSB0b29rIHBsYWNlIHRvIHJ1bgorc3NoZC4gIFdoZW4gdGhlIGludGVycnVwdHMgd2VyZSBlbmFibGVkLCB3ZSB0b29rIGFuIGludGVycnVwdC4KK09uIHJldHVybiBmcm9tIHRoZSBpbnRlcnJ1cHQgaGFuZGxlciwgdGhlIHNvZnRpcnEgcmFuLiBXZSB0b29rIGFub3RoZXIKK2ludGVycnVwdCB3aGlsZSBydW5uaW5nIHRoZSBzb2Z0aXJxIGFzIHdlIHNlZSB3aXRoIHRoZSBjYXBpdGFsICdIJy4KKworCit3YWtldXAKKy0tLS0tLQorCitJbiBSZWFsLVRpbWUgZW52aXJvbm1lbnQgaXQgaXMgdmVyeSBpbXBvcnRhbnQgdG8ga25vdyB0aGUgd2FrZXVwCit0aW1lIGl0IHRha2VzIGZvciB0aGUgaGlnaGVzdCBwcmlvcml0eSB0YXNrIHRoYXQgd2FrZXMgdXAgdG8gdGhlCit0aW1lIGl0IGV4ZWN1dGVzLiBUaGlzIGlzIGFsc28ga25vd24gYXMgInNjaGVkdWxlIGxhdGVuY3kiLgorSSBzdHJlc3MgdGhlIHBvaW50IHRoYXQgdGhpcyBpcyBhYm91dCBSVCB0YXNrcy4gSXQgaXMgYWxzbyBpbXBvcnRhbnQKK3RvIGtub3cgdGhlIHNjaGVkdWxpbmcgbGF0ZW5jeSBvZiBub24tUlQgdGFza3MsIGJ1dCB0aGUgYXZlcmFnZQorc2NoZWR1bGUgbGF0ZW5jeSBpcyBiZXR0ZXIgZm9yIG5vbi1SVCB0YXNrcy4gVG9vbHMgbGlrZQorTGF0ZW5jeVRvcCBhcmUgbW9yZSBhcHByb3ByaWF0ZSBmb3Igc3VjaCBtZWFzdXJlbWVudHMuCisKK1JlYWwtVGltZSBlbnZpcm9ubWVudHMgYXJlIGludGVyZXN0ZWQgaW4gdGhlIHdvcnN0IGNhc2UgbGF0ZW5jeS4KK1RoYXQgaXMgdGhlIGxvbmdlc3QgbGF0ZW5jeSBpdCB0YWtlcyBmb3Igc29tZXRoaW5nIHRvIGhhcHBlbiwgYW5kCitub3QgdGhlIGF2ZXJhZ2UuIFdlIGNhbiBoYXZlIGEgdmVyeSBmYXN0IHNjaGVkdWxlciB0aGF0IG1heSBvbmx5CitoYXZlIGEgbGFyZ2UgbGF0ZW5jeSBvbmNlIGluIGEgd2hpbGUsIGJ1dCB0aGF0IHdvdWxkIG5vdCB3b3JrIHdlbGwKK3dpdGggUmVhbC1UaW1lIHRhc2tzLiAgVGhlIHdha2V1cCB0cmFjZXIgd2FzIGRlc2lnbmVkIHRvIHJlY29yZAordGhlIHdvcnN0IGNhc2Ugd2FrZXVwcyBvZiBSVCB0YXNrcy4gTm9uLVJUIHRhc2tzIGFyZSBub3QgcmVjb3JkZWQKK2JlY2F1c2UgdGhlIHRyYWNlciBvbmx5IHJlY29yZHMgb25lIHdvcnN0IGNhc2UgYW5kIHRyYWNpbmcgbm9uLVJUCit0YXNrcyB0aGF0IGFyZSB1bnByZWRpY3RhYmxlIHdpbGwgb3ZlcndyaXRlIHRoZSB3b3JzdCBjYXNlIGxhdGVuY3kKK29mIFJUIHRhc2tzLgorCitTaW5jZSB0aGlzIHRyYWNlciBvbmx5IGRlYWxzIHdpdGggUlQgdGFza3MsIHdlIHdpbGwgcnVuIHRoaXMgc2xpZ2h0bHkKK2RpZmZlcmVudGx5IHRoYW4gd2UgZGlkIHdpdGggdGhlIHByZXZpb3VzIHRyYWNlcnMuIEluc3RlYWQgb2YgcGVyZm9ybWluZworYW4gJ2xzJywgd2Ugd2lsbCBydW4gJ3NsZWVwIDEnIHVuZGVyICdjaHJ0JyB3aGljaCBjaGFuZ2VzIHRoZQorcHJpb3JpdHkgb2YgdGhlIHRhc2suCisKKyAjIGVjaG8gd2FrZXVwID4gL2RlYnVnL3RyYWNpbmcvY3VycmVudF90cmFjZXIKKyAjIGVjaG8gMCA+IC9kZWJ1Zy90cmFjaW5nL3RyYWNpbmdfbWF4X2xhdGVuY3kKKyAjIGVjaG8gMSA+IC9kZWJ1Zy90cmFjaW5nL3RyYWNpbmdfZW5hYmxlZAorICMgY2hydCAtZiA1IHNsZWVwIDEKKyAjIGVjaG8gMCA+IC9kZWJ1Zy90cmFjaW5nL3RyYWNpbmdfZW5hYmxlZAorICMgY2F0IC9kZWJ1Zy90cmFjaW5nL2xhdGVuY3lfdHJhY2UKKyMgdHJhY2VyOiB3YWtldXAKKyMKK3dha2V1cCBsYXRlbmN5IHRyYWNlIHYxLjEuNSBvbiAyLjYuMjYtcmM4CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIGxhdGVuY3k6IDQgdXMsICMyLzIsIENQVSMxIHwgKE06cHJlZW1wdCBWUDowLCBLUDowLCBTUDowIEhQOjAgI1A6MikKKyAgICAtLS0tLS0tLS0tLS0tLS0tLQorICAgIHwgdGFzazogc2xlZXAtNDkwMSAodWlkOjAgbmljZTowIHBvbGljeToxIHJ0X3ByaW86NSkKKyAgICAtLS0tLS0tLS0tLS0tLS0tLQorCisjICAgICAgICAgICAgICAgIF8tLS0tLS09PiBDUFUjCisjICAgICAgICAgICAgICAgLyBfLS0tLS09PiBpcnFzLW9mZgorIyAgICAgICAgICAgICAgfCAvIF8tLS0tPT4gbmVlZC1yZXNjaGVkCisjICAgICAgICAgICAgICB8fCAvIF8tLS09PiBoYXJkaXJxL3NvZnRpcnEKKyMgICAgICAgICAgICAgIHx8fCAvIF8tLT0+IHByZWVtcHQtZGVwdGgKKyMgICAgICAgICAgICAgIHx8fHwgLworIyAgICAgICAgICAgICAgfHx8fHwgICAgIGRlbGF5CisjICBjbWQgICAgIHBpZCB8fHx8fCB0aW1lICB8ICAgY2FsbGVyCisjICAgICBcICAgLyAgICB8fHx8fCAgIFwgICB8ICAgLworICA8aWRsZT4tMCAgICAgMWQuaDQgICAgMHVzKzogdHJ5X3RvX3dha2VfdXAgKHdha2VfdXBfcHJvY2VzcykKKyAgPGlkbGU+LTAgICAgIDFkLi40ICAgIDR1cyA6IHNjaGVkdWxlIChjcHVfaWRsZSkKKworCit2aW06ZnQ9aGVscAorCisKK1J1bm5pbmcgdGhpcyBvbiBhbiBpZGxlIHN5c3RlbSwgd2Ugc2VlIHRoYXQgaXQgb25seSB0b29rIDQgbWljcm9zZWNvbmRzCit0byBwZXJmb3JtIHRoZSB0YXNrIHN3aXRjaC4gIE5vdGUsIHNpbmNlIHRoZSB0cmFjZSBtYXJrZXIgaW4gdGhlCitzY2hlZHVsZSBpcyBiZWZvcmUgdGhlIGFjdHVhbCAic3dpdGNoIiwgd2Ugc3RvcCB0aGUgdHJhY2luZyB3aGVuCit0aGUgcmVjb3JkZWQgdGFzayBpcyBhYm91dCB0byBzY2hlZHVsZSBpbi4gVGhpcyBtYXkgY2hhbmdlIGlmCit3ZSBhZGQgYSBuZXcgbWFya2VyIGF0IHRoZSBlbmQgb2YgdGhlIHNjaGVkdWxlci4KKworTm90aWNlIHRoYXQgdGhlIHJlY29yZGVkIHRhc2sgaXMgJ3NsZWVwJyB3aXRoIHRoZSBQSUQgb2YgNDkwMSBhbmQgaXQKK2hhcyBhbiBydF9wcmlvIG9mIDUuIFRoaXMgcHJpb3JpdHkgaXMgdXNlci1zcGFjZSBwcmlvcml0eSBhbmQgbm90Cit0aGUgaW50ZXJuYWwga2VybmVsIHByaW9yaXR5LiBUaGUgcG9saWN5IGlzIDEgZm9yIFNDSEVEX0ZJRk8gYW5kIDIKK2ZvciBTQ0hFRF9SUi4KKworRG9pbmcgdGhlIHNhbWUgd2l0aCBjaHJ0IC1yIDUgYW5kIGZ0cmFjZV9lbmFibGVkIHNldC4KKworIyB0cmFjZXI6IHdha2V1cAorIword2FrZXVwIGxhdGVuY3kgdHJhY2UgdjEuMS41IG9uIDIuNi4yNi1yYzgKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgbGF0ZW5jeTogNTAgdXMsICM2MC82MCwgQ1BVIzEgfCAoTTpwcmVlbXB0IFZQOjAsIEtQOjAsIFNQOjAgSFA6MCAjUDoyKQorICAgIC0tLS0tLS0tLS0tLS0tLS0tCisgICAgfCB0YXNrOiBzbGVlcC00MDY4ICh1aWQ6MCBuaWNlOjAgcG9saWN5OjIgcnRfcHJpbzo1KQorICAgIC0tLS0tLS0tLS0tLS0tLS0tCisKKyMgICAgICAgICAgICAgICAgXy0tLS0tLT0+IENQVSMKKyMgICAgICAgICAgICAgICAvIF8tLS0tLT0+IGlycXMtb2ZmCisjICAgICAgICAgICAgICB8IC8gXy0tLS09PiBuZWVkLXJlc2NoZWQKKyMgICAgICAgICAgICAgIHx8IC8gXy0tLT0+IGhhcmRpcnEvc29mdGlycQorIyAgICAgICAgICAgICAgfHx8IC8gXy0tPT4gcHJlZW1wdC1kZXB0aAorIyAgICAgICAgICAgICAgfHx8fCAvCisjICAgICAgICAgICAgICB8fHx8fCAgICAgZGVsYXkKKyMgIGNtZCAgICAgcGlkIHx8fHx8IHRpbWUgIHwgICBjYWxsZXIKKyMgICAgIFwgICAvICAgIHx8fHx8ICAgXCAgIHwgICAvCitrc29mdGlycS03ICAgICAxZC5IMyAgICAwdXMgOiB0cnlfdG9fd2FrZV91cCAod2FrZV91cF9wcm9jZXNzKQora3NvZnRpcnEtNyAgICAgMWQuSDQgICAgMXVzIDogc3ViX3ByZWVtcHRfY291bnQgKG1hcmtlcl9wcm9iZV9jYikKK2tzb2Z0aXJxLTcgICAgIDFkLkgzICAgIDJ1cyA6IGNoZWNrX3ByZWVtcHRfd2FrZXVwICh0cnlfdG9fd2FrZV91cCkKK2tzb2Z0aXJxLTcgICAgIDFkLkgzICAgIDN1cyA6IHVwZGF0ZV9jdXJyIChjaGVja19wcmVlbXB0X3dha2V1cCkKK2tzb2Z0aXJxLTcgICAgIDFkLkgzICAgIDR1cyA6IGNhbGNfZGVsdGFfbWluZSAodXBkYXRlX2N1cnIpCitrc29mdGlycS03ICAgICAxZC5IMyAgICA1dXMgOiBfX3Jlc2NoZWRfdGFzayAoY2hlY2tfcHJlZW1wdF93YWtldXApCitrc29mdGlycS03ICAgICAxZC5IMyAgICA2dXMgOiB0YXNrX3dha2VfdXBfcnQgKHRyeV90b193YWtlX3VwKQora3NvZnRpcnEtNyAgICAgMWQuSDMgICAgN3VzIDogX3NwaW5fdW5sb2NrX2lycXJlc3RvcmUgKHRyeV90b193YWtlX3VwKQorWy4uLl0KK2tzb2Z0aXJxLTcgICAgIDFkLkgyICAgMTd1cyA6IGlycV9leGl0IChzbXBfYXBpY190aW1lcl9pbnRlcnJ1cHQpCitrc29mdGlycS03ICAgICAxZC5IMiAgIDE4dXMgOiBzdWJfcHJlZW1wdF9jb3VudCAoaXJxX2V4aXQpCitrc29mdGlycS03ICAgICAxZC5zMyAgIDE5dXMgOiBzdWJfcHJlZW1wdF9jb3VudCAoaXJxX2V4aXQpCitrc29mdGlycS03ICAgICAxLi5zMiAgIDIwdXMgOiByY3VfcHJvY2Vzc19jYWxsYmFja3MgKF9fZG9fc29mdGlycSkKK1suLi5dCitrc29mdGlycS03ICAgICAxLi5zMiAgIDI2dXMgOiBfX3JjdV9wcm9jZXNzX2NhbGxiYWNrcyAocmN1X3Byb2Nlc3NfY2FsbGJhY2tzKQora3NvZnRpcnEtNyAgICAgMWQuczIgICAyN3VzIDogX2xvY2FsX2JoX2VuYWJsZSAoX19kb19zb2Z0aXJxKQora3NvZnRpcnEtNyAgICAgMWQuczIgICAyOHVzIDogc3ViX3ByZWVtcHRfY291bnQgKF9sb2NhbF9iaF9lbmFibGUpCitrc29mdGlycS03ICAgICAxLk4uMyAgIDI5dXMgOiBzdWJfcHJlZW1wdF9jb3VudCAoa3NvZnRpcnFkKQora3NvZnRpcnEtNyAgICAgMS5OLjIgICAzMHVzIDogX2NvbmRfcmVzY2hlZCAoa3NvZnRpcnFkKQora3NvZnRpcnEtNyAgICAgMS5OLjIgICAzMXVzIDogX19jb25kX3Jlc2NoZWQgKF9jb25kX3Jlc2NoZWQpCitrc29mdGlycS03ICAgICAxLk4uMiAgIDMydXMgOiBhZGRfcHJlZW1wdF9jb3VudCAoX19jb25kX3Jlc2NoZWQpCitrc29mdGlycS03ICAgICAxLk4uMiAgIDMzdXMgOiBzY2hlZHVsZSAoX19jb25kX3Jlc2NoZWQpCitrc29mdGlycS03ICAgICAxLk4uMiAgIDMzdXMgOiBhZGRfcHJlZW1wdF9jb3VudCAoc2NoZWR1bGUpCitrc29mdGlycS03ICAgICAxLk4uMyAgIDM0dXMgOiBocnRpY2tfY2xlYXIgKHNjaGVkdWxlKQora3NvZnRpcnEtNyAgICAgMWROLjMgICAzNXVzIDogX3NwaW5fbG9jayAoc2NoZWR1bGUpCitrc29mdGlycS03ICAgICAxZE4uMyAgIDM2dXMgOiBhZGRfcHJlZW1wdF9jb3VudCAoX3NwaW5fbG9jaykKK2tzb2Z0aXJxLTcgICAgIDFkLi40ICAgMzd1cyA6IHB1dF9wcmV2X3Rhc2tfZmFpciAoc2NoZWR1bGUpCitrc29mdGlycS03ICAgICAxZC4uNCAgIDM4dXMgOiB1cGRhdGVfY3VyciAocHV0X3ByZXZfdGFza19mYWlyKQorWy4uLl0KK2tzb2Z0aXJxLTcgICAgIDFkLi41ICAgNDd1cyA6IF9zcGluX3RyeWxvY2sgKHRyYWNpbmdfcmVjb3JkX2NtZGxpbmUpCitrc29mdGlycS03ICAgICAxZC4uNSAgIDQ4dXMgOiBhZGRfcHJlZW1wdF9jb3VudCAoX3NwaW5fdHJ5bG9jaykKK2tzb2Z0aXJxLTcgICAgIDFkLi42ICAgNDl1cyA6IF9zcGluX3VubG9jayAodHJhY2luZ19yZWNvcmRfY21kbGluZSkKK2tzb2Z0aXJxLTcgICAgIDFkLi42ICAgNDl1cyA6IHN1Yl9wcmVlbXB0X2NvdW50IChfc3Bpbl91bmxvY2spCitrc29mdGlycS03ICAgICAxZC4uNCAgIDUwdXMgOiBzY2hlZHVsZSAoX19jb25kX3Jlc2NoZWQpCisKK1RoZSBpbnRlcnJ1cHQgd2VudCBvZmYgd2hpbGUgcnVubmluZyBrc29mdGlycWQuIFRoaXMgdGFzayBydW5zIGF0CitTQ0hFRF9PVEhFUi4gV2h5IGRpZG4ndCB3ZSBzZWUgdGhlICdOJyBzZXQgZWFybHk/IFRoaXMgbWF5IGJlCithIGhhcm1sZXNzIGJ1ZyB3aXRoIHg4Nl8zMiBhbmQgNEsgc3RhY2tzLiBPbiB4ODZfMzIgd2l0aCA0SyBzdGFja3MKK2NvbmZpZ3VyZWQsIHRoZSBpbnRlcnJ1cHQgYW5kIHNvZnRpcnEgcnVucyB3aXRoIHRoZWlyIG93biBzdGFjay4KK1NvbWUgaW5mb3JtYXRpb24gaXMgaGVsZCBvbiB0aGUgdG9wIG9mIHRoZSB0YXNrJ3Mgc3RhY2sgKG5lZWRfcmVzY2hlZAorYW5kIHByZWVtcHRfY291bnQgYXJlIGJvdGggc3RvcmVkIHRoZXJlKS4gVGhlIHNldHRpbmcgb2YgdGhlIE5FRURfUkVTQ0hFRAorYml0IGlzIGRvbmUgZGlyZWN0bHkgdG8gdGhlIHRhc2sncyBzdGFjaywgYnV0IHRoZSByZWFkaW5nIG9mIHRoZQorTkVFRF9SRVNDSEVEIGlzIGRvbmUgYnkgbG9va2luZyBhdCB0aGUgY3VycmVudCBzdGFjaywgd2hpY2ggaW4gdGhpcyBjYXNlCitpcyB0aGUgc3RhY2sgZm9yIHRoZSBoYXJkIGludGVycnVwdC4gVGhpcyBoaWRlcyB0aGUgZmFjdCB0aGF0IE5FRURfUkVTQ0hFRAoraGFzIGJlZW4gc2V0LiBXZSBkb24ndCBzZWUgdGhlICdOJyB1bnRpbCB3ZSBzd2l0Y2ggYmFjayB0byB0aGUgdGFzaydzCithc3NpZ25lZCBzdGFjay4KKworZnRyYWNlCistLS0tLS0KKworZnRyYWNlIGlzIG5vdCBvbmx5IHRoZSBuYW1lIG9mIHRoZSB0cmFjaW5nIGluZnJhc3RydWN0dXJlLCBidXQgaXQKK2lzIGFsc28gYSBuYW1lIG9mIG9uZSBvZiB0aGUgdHJhY2Vycy4gVGhlIHRyYWNlciBpcyB0aGUgZnVuY3Rpb24KK3RyYWNlci4gRW5hYmxpbmcgdGhlIGZ1bmN0aW9uIHRyYWNlciBjYW4gYmUgZG9uZSBmcm9tIHRoZQorZGVidWcgZmlsZSBzeXN0ZW0uIE1ha2Ugc3VyZSB0aGUgZnRyYWNlX2VuYWJsZWQgaXMgc2V0IG90aGVyd2lzZQordGhpcyB0cmFjZXIgaXMgYSBub3AuCisKKyAjIHN5c2N0bCBrZXJuZWwuZnRyYWNlX2VuYWJsZWQ9MQorICMgZWNobyBmdHJhY2UgPiAvZGVidWcvdHJhY2luZy9jdXJyZW50X3RyYWNlcgorICMgZWNobyAxID4gL2RlYnVnL3RyYWNpbmcvdHJhY2luZ19lbmFibGVkCisgIyB1c2xlZXAgMQorICMgZWNobyAwID4gL2RlYnVnL3RyYWNpbmcvdHJhY2luZ19lbmFibGVkCisgIyBjYXQgL2RlYnVnL3RyYWNpbmcvdHJhY2UKKyMgdHJhY2VyOiBmdHJhY2UKKyMKKyMgICAgICAgICAgIFRBU0stUElEICAgQ1BVIyAgICBUSU1FU1RBTVAgIEZVTkNUSU9OCisjICAgICAgICAgICAgICB8IHwgICAgICB8ICAgICAgICAgIHwgICAgICAgICB8CisgICAgICAgICAgICBiYXNoLTQwMDMgIFswMF0gICAxMjMuNjM4NzEzOiBmaW5pc2hfdGFza19zd2l0Y2ggPC1zY2hlZHVsZQorICAgICAgICAgICAgYmFzaC00MDAzICBbMDBdICAgMTIzLjYzODcxNDogX3NwaW5fdW5sb2NrX2lycSA8LWZpbmlzaF90YXNrX3N3aXRjaAorICAgICAgICAgICAgYmFzaC00MDAzICBbMDBdICAgMTIzLjYzODcxNDogc3ViX3ByZWVtcHRfY291bnQgPC1fc3Bpbl91bmxvY2tfaXJxCisgICAgICAgICAgICBiYXNoLTQwMDMgIFswMF0gICAxMjMuNjM4NzE1OiBocnRpY2tfc2V0IDwtc2NoZWR1bGUKKyAgICAgICAgICAgIGJhc2gtNDAwMyAgWzAwXSAgIDEyMy42Mzg3MTU6IF9zcGluX2xvY2tfaXJxc2F2ZSA8LWhydGlja19zZXQKKyAgICAgICAgICAgIGJhc2gtNDAwMyAgWzAwXSAgIDEyMy42Mzg3MTY6IGFkZF9wcmVlbXB0X2NvdW50IDwtX3NwaW5fbG9ja19pcnFzYXZlCisgICAgICAgICAgICBiYXNoLTQwMDMgIFswMF0gICAxMjMuNjM4NzE2OiBfc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSA8LWhydGlja19zZXQKKyAgICAgICAgICAgIGJhc2gtNDAwMyAgWzAwXSAgIDEyMy42Mzg3MTc6IHN1Yl9wcmVlbXB0X2NvdW50IDwtX3NwaW5fdW5sb2NrX2lycXJlc3RvcmUKKyAgICAgICAgICAgIGJhc2gtNDAwMyAgWzAwXSAgIDEyMy42Mzg3MTc6IGhydGlja19jbGVhciA8LWhydGlja19zZXQKKyAgICAgICAgICAgIGJhc2gtNDAwMyAgWzAwXSAgIDEyMy42Mzg3MTg6IHN1Yl9wcmVlbXB0X2NvdW50IDwtc2NoZWR1bGUKKyAgICAgICAgICAgIGJhc2gtNDAwMyAgWzAwXSAgIDEyMy42Mzg3MTg6IHN1Yl9wcmVlbXB0X2NvdW50IDwtcHJlZW1wdF9zY2hlZHVsZQorICAgICAgICAgICAgYmFzaC00MDAzICBbMDBdICAgMTIzLjYzODcxOTogd2FpdF9mb3JfY29tcGxldGlvbiA8LV9fc3RvcF9tYWNoaW5lX3J1bgorICAgICAgICAgICAgYmFzaC00MDAzICBbMDBdICAgMTIzLjYzODcxOTogd2FpdF9mb3JfY29tbW9uIDwtd2FpdF9mb3JfY29tcGxldGlvbgorICAgICAgICAgICAgYmFzaC00MDAzICBbMDBdICAgMTIzLjYzODcyMDogX3NwaW5fbG9ja19pcnEgPC13YWl0X2Zvcl9jb21tb24KKyAgICAgICAgICAgIGJhc2gtNDAwMyAgWzAwXSAgIDEyMy42Mzg3MjA6IGFkZF9wcmVlbXB0X2NvdW50IDwtX3NwaW5fbG9ja19pcnEKK1suLi5dCisKKworTm90ZTogSXQgaXMgc29tZXRpbWVzIGJldHRlciB0byBlbmFibGUgb3IgZGlzYWJsZSB0cmFjaW5nIGRpcmVjdGx5IGZyb20KK2EgcHJvZ3JhbSwgYmVjYXVzZSB0aGUgYnVmZmVyIG1heSBiZSBvdmVyZmxvd2VkIGJ5IHRoZSBlY2hvIGNvbW1hbmRzCitiZWZvcmUgeW91IGdldCB0byB0aGUgcG9pbnQgeW91IHdhbnQgdG8gdHJhY2UuIEl0IGlzIGFsc28gZWFzaWVyIHRvCitzdG9wIHRoZSB0cmFjaW5nIGF0IHRoZSBwb2ludCB0aGF0IHlvdSBoaXQgdGhlIHBhcnQgdGhhdCB5b3UgYXJlCitpbnRlcmVzdGVkIGluLiBTaW5jZSB0aGUgZnRyYWNlIGJ1ZmZlciBpcyBhIHJpbmcgYnVmZmVyIHdpdGggdGhlCitvbGRlc3QgZGF0YSBiZWluZyBvdmVyd3JpdHRlbiwgdXN1YWxseSBpdCBpcyBzdWZmaWNpZW50IHRvIHN0YXJ0IHRoZQordHJhY2VyIHdpdGggYW4gZWNobyBjb21tYW5kIGJ1dCBoYXZlIHlvdSBjb2RlIHN0b3AgaXQuIFNvbWV0aGluZworbGlrZSB0aGUgZm9sbG93aW5nIGlzIHVzdWFsbHkgYXBwcm9wcmlhdGUgZm9yIHRoaXMuCisKK2ludCB0cmFjZV9mZDsKK1suLi5dCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKSB7CisJWy4uLl0KKwl0cmFjZV9mZCA9IG9wZW4oIi9kZWJ1Zy90cmFjaW5nL3RyYWNpbmdfZW5hYmxlZCIsIE9fV1JPTkxZKTsKKwlbLi4uXQorCWlmIChjb25kaXRpb25faGl0KCkpIHsKKwl3cml0ZSh0cmFjZV9mZCwgIjAiLCAxKTsKKwl9CisJWy4uLl0KK30KKworCitkeW5hbWljIGZ0cmFjZQorLS0tLS0tLS0tLS0tLS0KKworSWYgQ09ORklHX0RZTkFNSUNfRlRSQUNFIGlzIHNldCwgdGhlbiB0aGUgc3lzdGVtIHdpbGwgcnVuIHdpdGgKK3ZpcnR1YWxseSBubyBvdmVyaGVhZCB3aGVuIGZ1bmN0aW9uIHRyYWNpbmcgaXMgZGlzYWJsZWQuIFRoZSB3YXkKK3RoaXMgd29ya3MgaXMgdGhlIG1jb3VudCBmdW5jdGlvbiBjYWxsIChwbGFjZWQgYXQgdGhlIHN0YXJ0IG9mCitldmVyeSBrZXJuZWwgZnVuY3Rpb24sIHByb2R1Y2VkIGJ5IHRoZSAtcGcgc3dpdGNoIGluIGdjYyksIHN0YXJ0cworb2YgcG9pbnRpbmcgdG8gYSBzaW1wbGUgcmV0dXJuLgorCitXaGVuIGR5bmFtaWMgZnRyYWNlIGlzIGluaXRpYWxpemVkLCBpdCBjYWxscyBrc3RvcF9tYWNoaW5lIHRvIG1ha2UKK3RoZSBtYWNoaW5lIGFjdCBsaWtlIGEgdW5pcHJvY2Vzc29yIHNvIHRoYXQgaXQgY2FuIGZyZWVseSBtb2RpZnkgY29kZQord2l0aG91dCB3b3JyeWluZyBhYm91dCBvdGhlciBwcm9jZXNzb3JzIGV4ZWN1dGluZyB0aGF0IHNhbWUgY29kZS4gIEF0Citpbml0aWFsaXphdGlvbiwgdGhlIG1jb3VudCBjYWxscyBhcmUgY2hhbmdlZCB0byBjYWxsIGEgInJlY29yZF9pcCIKK2Z1bmN0aW9uLiAgQWZ0ZXIgdGhpcywgdGhlIGZpcnN0IHRpbWUgYSBrZXJuZWwgZnVuY3Rpb24gaXMgY2FsbGVkLAoraXQgaGFzIHRoZSBjYWxsaW5nIGFkZHJlc3Mgc2F2ZWQgaW4gYSBoYXNoIHRhYmxlLgorCitMYXRlciBvbiB0aGUgZnRyYWNlZCBrZXJuZWwgdGhyZWFkIGlzIGF3b2tlbiBhbmQgd2lsbCBhZ2FpbiBjYWxsCitrc3RvcF9tYWNoaW5lIGlmIG5ldyBmdW5jdGlvbnMgaGF2ZSBiZWVuIHJlY29yZGVkLiBUaGUgZnRyYWNlZCB0aHJlYWQKK3dpbGwgY2hhbmdlIGFsbCBjYWxscyB0byBtY291bnQgdG8gIm5vcCIuICBKdXN0IGNhbGxpbmcgbWNvdW50CithbmQgaGF2aW5nIG1jb3VudCByZXR1cm4gaGFzIHNob3duIGEgMTAlIG92ZXJoZWFkLiBCeSBjb252ZXJ0aW5nCitpdCB0byBhIG5vcCwgdGhlcmUgaXMgbm8gcmVjb3JkYWJsZSBvdmVyaGVhZCB0byB0aGUgc3lzdGVtLgorCitPbmUgc3BlY2lhbCBzaWRlLWVmZmVjdCB0byB0aGUgcmVjb3JkaW5nIG9mIHRoZSBmdW5jdGlvbnMgYmVpbmcKK3RyYWNlZCwgaXMgdGhhdCB3ZSBjYW4gbm93IHNlbGVjdGl2ZWx5IGNob29zZSB3aGljaCBmdW5jdGlvbnMgd2UKK3dhbnQgdG8gdHJhY2UgYW5kIHdoaWNoIG9uZXMgd2Ugd2FudCB0aGUgbWNvdW50IGNhbGxzIHRvIHJlbWFpbiBhcworbm9wcy4KKworVHdvIGZpbGVzIGFyZSB1c2VkLCBvbmUgZm9yIGVuYWJsaW5nIGFuZCBvbmUgZm9yIGRpc2FibGluZyB0aGUgdHJhY2luZworb2YgcmVjb3JkZWQgZnVuY3Rpb25zLiBUaGV5IGFyZToKKworICBzZXRfZnRyYWNlX2ZpbHRlcgorCithbmQKKworICBzZXRfZnRyYWNlX25vdHJhY2UKKworQSBsaXN0IG9mIGF2YWlsYWJsZSBmdW5jdGlvbnMgdGhhdCB5b3UgY2FuIGFkZCB0byB0aGVzZSBmaWxlcyBpcyBsaXN0ZWQKK2luOgorCisgICBhdmFpbGFibGVfZmlsdGVyX2Z1bmN0aW9ucworCisgIyBjYXQgL2RlYnVnL3RyYWNpbmcvYXZhaWxhYmxlX2ZpbHRlcl9mdW5jdGlvbnMKK3B1dF9wcmV2X3Rhc2tfaWRsZQora21lbV9jYWNoZV9jcmVhdGUKK3BpY2tfbmV4dF90YXNrX3J0CitnZXRfb25saW5lX2NwdXMKK3BpY2tfbmV4dF90YXNrX2ZhaXIKK211dGV4X2xvY2sKK1suLi5dCisKK0lmIEknbSBvbmx5IGludGVyZXN0ZWQgaW4gc3lzX25hbm9zbGVlcCBhbmQgaHJ0aW1lcl9pbnRlcnJ1cHQ6CisKKyAjIGVjaG8gc3lzX25hbm9zbGVlcCBocnRpbWVyX2ludGVycnVwdCBcCisJCT4gL2RlYnVnL3RyYWNpbmcvc2V0X2Z0cmFjZV9maWx0ZXIKKyAjIGVjaG8gZnRyYWNlID4gL2RlYnVnL3RyYWNpbmcvY3VycmVudF90cmFjZXIKKyAjIGVjaG8gMSA+IC9kZWJ1Zy90cmFjaW5nL3RyYWNpbmdfZW5hYmxlZAorICMgdXNsZWVwIDEKKyAjIGVjaG8gMCA+IC9kZWJ1Zy90cmFjaW5nL3RyYWNpbmdfZW5hYmxlZAorICMgY2F0IC9kZWJ1Zy90cmFjaW5nL3RyYWNlCisjIHRyYWNlcjogZnRyYWNlCisjCisjICAgICAgICAgICBUQVNLLVBJRCAgIENQVSMgICAgVElNRVNUQU1QICBGVU5DVElPTgorIyAgICAgICAgICAgICAgfCB8ICAgICAgfCAgICAgICAgICB8ICAgICAgICAgfAorICAgICAgICAgIHVzbGVlcC00MTM0ICBbMDBdICAxMzE3LjA3MDAxNzogaHJ0aW1lcl9pbnRlcnJ1cHQgPC1zbXBfYXBpY190aW1lcl9pbnRlcnJ1cHQKKyAgICAgICAgICB1c2xlZXAtNDEzNCAgWzAwXSAgMTMxNy4wNzAxMTE6IHN5c19uYW5vc2xlZXAgPC1zeXNjYWxsX2NhbGwKKyAgICAgICAgICA8aWRsZT4tMCAgICAgWzAwXSAgMTMxNy4wNzAxMTU6IGhydGltZXJfaW50ZXJydXB0IDwtc21wX2FwaWNfdGltZXJfaW50ZXJydXB0CisKK1RvIHNlZSB3aGF0IGZ1bmN0aW9ucyBhcmUgYmVpbmcgdHJhY2VkLCB5b3UgY2FuIGNhdCB0aGUgZmlsZToKKworICMgY2F0IC9kZWJ1Zy90cmFjaW5nL3NldF9mdHJhY2VfZmlsdGVyCitocnRpbWVyX2ludGVycnVwdAorc3lzX25hbm9zbGVlcAorCisKK1BlcmhhcHMgdGhpcyBpc24ndCBlbm91Z2guIFRoZSBmaWx0ZXJzIGFsc28gYWxsb3cgc2ltcGxlIHdpbGQgY2FyZHMuCitPbmx5IHRoZSBmb2xsb3dpbmcgYXJlIGN1cnJlbnRseSBhdmFpbGFibGUKKworICA8bWF0Y2g+KiAgLSB3aWxsIG1hdGNoIGZ1bmN0aW9ucyB0aGF0IGJlZ2luIHdpdGggPG1hdGNoPgorICAqPG1hdGNoPiAgLSB3aWxsIG1hdGNoIGZ1bmN0aW9ucyB0aGF0IGVuZCB3aXRoIDxtYXRjaD4KKyAgKjxtYXRjaD4qIC0gd2lsbCBtYXRjaCBmdW5jdGlvbnMgdGhhdCBoYXZlIDxtYXRjaD4gaW4gaXQKKworVGhhdHMgYWxsIHRoZSB3aWxkIGNhcmRzIHRoYXQgYXJlIGFsbG93ZWQuCisKKyAgPG1hdGNoPio8bWF0Y2g+IHdpbGwgbm90IHdvcmsuCisKKyAjIGVjaG8gaHJ0aW1lcl8qID4gL2RlYnVnL3RyYWNpbmcvc2V0X2Z0cmFjZV9maWx0ZXIKKworUHJvZHVjZXM6CisKKyMgdHJhY2VyOiBmdHJhY2UKKyMKKyMgICAgICAgICAgIFRBU0stUElEICAgQ1BVIyAgICBUSU1FU1RBTVAgIEZVTkNUSU9OCisjICAgICAgICAgICAgICB8IHwgICAgICB8ICAgICAgICAgIHwgICAgICAgICB8CisgICAgICAgICAgICBiYXNoLTQwMDMgIFswMF0gIDE0ODAuNjExNzk0OiBocnRpbWVyX2luaXQgPC1jb3B5X3Byb2Nlc3MKKyAgICAgICAgICAgIGJhc2gtNDAwMyAgWzAwXSAgMTQ4MC42MTE5NDE6IGhydGltZXJfc3RhcnQgPC1ocnRpY2tfc2V0CisgICAgICAgICAgICBiYXNoLTQwMDMgIFswMF0gIDE0ODAuNjExOTU2OiBocnRpbWVyX2NhbmNlbCA8LWhydGlja19jbGVhcgorICAgICAgICAgICAgYmFzaC00MDAzICBbMDBdICAxNDgwLjYxMTk1NjogaHJ0aW1lcl90cnlfdG9fY2FuY2VsIDwtaHJ0aW1lcl9jYW5jZWwKKyAgICAgICAgICA8aWRsZT4tMCAgICAgWzAwXSAgMTQ4MC42MTIwMTk6IGhydGltZXJfZ2V0X25leHRfZXZlbnQgPC1nZXRfbmV4dF90aW1lcl9pbnRlcnJ1cHQKKyAgICAgICAgICA8aWRsZT4tMCAgICAgWzAwXSAgMTQ4MC42MTIwMjU6IGhydGltZXJfZ2V0X25leHRfZXZlbnQgPC1nZXRfbmV4dF90aW1lcl9pbnRlcnJ1cHQKKyAgICAgICAgICA8aWRsZT4tMCAgICAgWzAwXSAgMTQ4MC42MTIwMzI6IGhydGltZXJfZ2V0X25leHRfZXZlbnQgPC1nZXRfbmV4dF90aW1lcl9pbnRlcnJ1cHQKKyAgICAgICAgICA8aWRsZT4tMCAgICAgWzAwXSAgMTQ4MC42MTIwMzc6IGhydGltZXJfZ2V0X25leHRfZXZlbnQgPC1nZXRfbmV4dF90aW1lcl9pbnRlcnJ1cHQKKyAgICAgICAgICA8aWRsZT4tMCAgICAgWzAwXSAgMTQ4MC42MTIzODI6IGhydGltZXJfZ2V0X25leHRfZXZlbnQgPC1nZXRfbmV4dF90aW1lcl9pbnRlcnJ1cHQKKworCitOb3RpY2UgdGhhdCB3ZSBsb3N0IHRoZSBzeXNfbmFub3NsZWVwLgorCisgIyBjYXQgL2RlYnVnL3RyYWNpbmcvc2V0X2Z0cmFjZV9maWx0ZXIKK2hydGltZXJfcnVuX3F1ZXVlcworaHJ0aW1lcl9ydW5fcGVuZGluZworaHJ0aW1lcl9pbml0CitocnRpbWVyX2NhbmNlbAoraHJ0aW1lcl90cnlfdG9fY2FuY2VsCitocnRpbWVyX2ZvcndhcmQKK2hydGltZXJfc3RhcnQKK2hydGltZXJfcmVwcm9ncmFtCitocnRpbWVyX2ZvcmNlX3JlcHJvZ3JhbQoraHJ0aW1lcl9nZXRfbmV4dF9ldmVudAoraHJ0aW1lcl9pbnRlcnJ1cHQKK2hydGltZXJfbmFub3NsZWVwCitocnRpbWVyX3dha2V1cAoraHJ0aW1lcl9nZXRfcmVtYWluaW5nCitocnRpbWVyX2dldF9yZXMKK2hydGltZXJfaW5pdF9zbGVlcGVyCisKKworVGhpcyBpcyBiZWNhdXNlIHRoZSAnPicgYW5kICc+PicgYWN0IGp1c3QgbGlrZSB0aGV5IGRvIGluIGJhc2guCitUbyByZXdyaXRlIHRoZSBmaWx0ZXJzLCB1c2UgJz4nCitUbyBhcHBlbmQgdG8gdGhlIGZpbHRlcnMsIHVzZSAnPj4nCisKK1RvIGNsZWFyIG91dCBhIGZpbHRlciBzbyB0aGF0IGFsbCBmdW5jdGlvbnMgd2lsbCBiZSByZWNvcmRlZCBhZ2FpbjoKKworICMgZWNobyA+IC9kZWJ1Zy90cmFjaW5nL3NldF9mdHJhY2VfZmlsdGVyCisgIyBjYXQgL2RlYnVnL3RyYWNpbmcvc2V0X2Z0cmFjZV9maWx0ZXIKKyAjCisKK0FnYWluLCBub3cgd2Ugd2FudCB0byBhcHBlbmQuCisKKyAjIGVjaG8gc3lzX25hbm9zbGVlcCA+IC9kZWJ1Zy90cmFjaW5nL3NldF9mdHJhY2VfZmlsdGVyCisgIyBjYXQgL2RlYnVnL3RyYWNpbmcvc2V0X2Z0cmFjZV9maWx0ZXIKK3N5c19uYW5vc2xlZXAKKyAjIGVjaG8gaHJ0aW1lcl8qID4+IC9kZWJ1Zy90cmFjaW5nL3NldF9mdHJhY2VfZmlsdGVyCisgIyBjYXQgL2RlYnVnL3RyYWNpbmcvc2V0X2Z0cmFjZV9maWx0ZXIKK2hydGltZXJfcnVuX3F1ZXVlcworaHJ0aW1lcl9ydW5fcGVuZGluZworaHJ0aW1lcl9pbml0CitocnRpbWVyX2NhbmNlbAoraHJ0aW1lcl90cnlfdG9fY2FuY2VsCitocnRpbWVyX2ZvcndhcmQKK2hydGltZXJfc3RhcnQKK2hydGltZXJfcmVwcm9ncmFtCitocnRpbWVyX2ZvcmNlX3JlcHJvZ3JhbQoraHJ0aW1lcl9nZXRfbmV4dF9ldmVudAoraHJ0aW1lcl9pbnRlcnJ1cHQKK3N5c19uYW5vc2xlZXAKK2hydGltZXJfbmFub3NsZWVwCitocnRpbWVyX3dha2V1cAoraHJ0aW1lcl9nZXRfcmVtYWluaW5nCitocnRpbWVyX2dldF9yZXMKK2hydGltZXJfaW5pdF9zbGVlcGVyCisKKworVGhlIHNldF9mdHJhY2Vfbm90cmFjZSBwcmV2ZW50cyB0aG9zZSBmdW5jdGlvbnMgZnJvbSBiZWluZyB0cmFjZWQuCisKKyAjIGVjaG8gJypwcmVlbXB0KicgJypsb2NrKicgPiAvZGVidWcvdHJhY2luZy9zZXRfZnRyYWNlX25vdHJhY2UKKworUHJvZHVjZXM6CisKKyMgdHJhY2VyOiBmdHJhY2UKKyMKKyMgICAgICAgICAgIFRBU0stUElEICAgQ1BVIyAgICBUSU1FU1RBTVAgIEZVTkNUSU9OCisjICAgICAgICAgICAgICB8IHwgICAgICB8ICAgICAgICAgIHwgICAgICAgICB8CisgICAgICAgICAgICBiYXNoLTQwNDMgIFswMV0gICAxMTUuMjgxNjQ0OiBmaW5pc2hfdGFza19zd2l0Y2ggPC1zY2hlZHVsZQorICAgICAgICAgICAgYmFzaC00MDQzICBbMDFdICAgMTE1LjI4MTY0NTogaHJ0aWNrX3NldCA8LXNjaGVkdWxlCisgICAgICAgICAgICBiYXNoLTQwNDMgIFswMV0gICAxMTUuMjgxNjQ1OiBocnRpY2tfY2xlYXIgPC1ocnRpY2tfc2V0CisgICAgICAgICAgICBiYXNoLTQwNDMgIFswMV0gICAxMTUuMjgxNjQ2OiB3YWl0X2Zvcl9jb21wbGV0aW9uIDwtX19zdG9wX21hY2hpbmVfcnVuCisgICAgICAgICAgICBiYXNoLTQwNDMgIFswMV0gICAxMTUuMjgxNjQ3OiB3YWl0X2Zvcl9jb21tb24gPC13YWl0X2Zvcl9jb21wbGV0aW9uCisgICAgICAgICAgICBiYXNoLTQwNDMgIFswMV0gICAxMTUuMjgxNjQ3OiBrdGhyZWFkX3N0b3AgPC1zdG9wX21hY2hpbmVfcnVuCisgICAgICAgICAgICBiYXNoLTQwNDMgIFswMV0gICAxMTUuMjgxNjQ4OiBpbml0X3dhaXRxdWV1ZV9oZWFkIDwta3RocmVhZF9zdG9wCisgICAgICAgICAgICBiYXNoLTQwNDMgIFswMV0gICAxMTUuMjgxNjQ4OiB3YWtlX3VwX3Byb2Nlc3MgPC1rdGhyZWFkX3N0b3AKKyAgICAgICAgICAgIGJhc2gtNDA0MyAgWzAxXSAgIDExNS4yODE2NDk6IHRyeV90b193YWtlX3VwIDwtd2FrZV91cF9wcm9jZXNzCisKK1dlIGNhbiBzZWUgdGhhdCB0aGVyZSdzIG5vIG1vcmUgbG9jayBvciBwcmVlbXB0IHRyYWNpbmcuCisKK2Z0cmFjZWQKKy0tLS0tLS0KKworQXMgbWVudGlvbmVkIGFib3ZlLCB3aGVuIGR5bmFtaWMgZnRyYWNlIGlzIGNvbmZpZ3VyZWQgaW4sIGEga2VybmVsCit0aHJlYWQgd2FrZXMgdXAgb25jZSBhIHNlY29uZCBhbmQgY2hlY2tzIHRvIHNlZSBpZiB0aGVyZSBhcmUgbWNvdW50CitjYWxscyB0aGF0IG5lZWQgdG8gYmUgY29udmVydGVkIGludG8gbm9wcy4gSWYgdGhlcmUgYXJlIG5vdCBhbnksIHRoZW4KK2l0IHNpbXBseSBnb2VzIGJhY2sgdG8gc2xlZXAuIEJ1dCBpZiB0aGVyZSBhcmUgc29tZSwgaXQgd2lsbCBjYWxsCitrc3RvcF9tYWNoaW5lIHRvIGNvbnZlcnQgdGhlIGNhbGxzIHRvIG5vcHMuCisKK1RoZXJlIG1heSBiZSBhIGNhc2UgdGhhdCB5b3UgZG8gbm90IHdhbnQgdGhpcyBhZGRlZCBsYXRlbmN5LgorUGVyaGFwcyB5b3UgYXJlIGRvaW5nIHNvbWUgYXVkaW8gcmVjb3JkaW5nIGFuZCB0aGlzIGFjdGl2aXR5IG1pZ2h0CitjYXVzZSBza2lwcyBpbiB0aGUgcGxheWJhY2suIFRoZXJlIGlzIGFuIGludGVyZmFjZSB0byBkaXNhYmxlCithbmQgZW5hYmxlIHRoZSBmdHJhY2VkIGtlcm5lbCB0aHJlYWQuCisKKyAjIGVjaG8gMCA+IC9kZWJ1Zy90cmFjaW5nL2Z0cmFjZWRfZW5hYmxlZAorCitUaGlzIHdpbGwgZGlzYWJsZSB0aGUgY2FsbGluZyBvZiB0aGUga3N0b3BfbWFjaGluZSB0byB1cGRhdGUgdGhlCittY291bnQgY2FsbHMgdG8gbm9wcy4gUmVtZW1iZXIgdGhhdCB0aGVyZSdzIGEgbGFyZ2Ugb3ZlcmhlYWQKK3RvIGNhbGxpbmcgbWNvdW50LiBXaXRob3V0IHRoaXMga2VybmVsIHRocmVhZCwgdGhhdCBvdmVyaGVhZCB3aWxsCitleGlzdC4KKworSWYgdGhlcmUgYXJlIHJlY29yZGVkIGNhbGxzIHRvIG1jb3VudCwgYW55IHdyaXRlIHRvIHRoZSBmdHJhY2VkX2VuYWJsZWQKK2ZpbGUgd2lsbCBjYXVzZSB0aGUga3N0b3BfbWFjaGluZSB0byBydW4uIFRoaXMgbWVhbnMgdGhhdCBhCit1c2VyIGNhbiBtYW51YWxseSBwZXJmb3JtIHRoZSB1cGRhdGVzIHdoZW4gdGhleSB3YW50IHRvIGJ5IHNpbXBseQorZWNob2luZyBhICcwJyBpbnRvIHRoZSBmdHJhY2VkX2VuYWJsZWQgZmlsZS4KKworVGhlIHVwZGF0ZXMgYXJlIGFsc28gZG9uZSBhdCB0aGUgYmVnaW5uaW5nIG9mIGVuYWJsaW5nIGEgdHJhY2VyCit0aGF0IHVzZXMgZnRyYWNlIGZ1bmN0aW9uIHJlY29yZGluZy4KKworCit0cmFjZV9waXBlCistLS0tLS0tLS0tCisKK1RoZSB0cmFjZV9waXBlIG91dHB1dHMgdGhlIHNhbWUgYXMgdHJhY2UsIGJ1dCB0aGUgZWZmZWN0IG9uIHRoZQordHJhY2luZyBpcyBkaWZmZXJlbnQuIEV2ZXJ5IHJlYWQgZnJvbSB0cmFjZV9waXBlIGlzIGNvbnN1bWVkLgorVGhpcyBtZWFucyB0aGF0IHN1YnNlcXVlbnQgcmVhZHMgd2lsbCBiZSBkaWZmZXJlbnQuIFRoZSB0cmFjZQoraXMgbGl2ZS4KKworICMgZWNobyBmdHJhY2UgPiAvZGVidWcvdHJhY2luZy9jdXJyZW50X3RyYWNlcgorICMgY2F0IC9kZWJ1Zy90cmFjaW5nL3RyYWNlX3BpcGUgPiAvdG1wL3RyYWNlLm91dCAmCitbMV0gNDE1MworICMgZWNobyAxID4gL2RlYnVnL3RyYWNpbmcvdHJhY2luZ19lbmFibGVkCisgIyB1c2xlZXAgMQorICMgZWNobyAwID4gL2RlYnVnL3RyYWNpbmcvdHJhY2luZ19lbmFibGVkCisgIyBjYXQgL2RlYnVnL3RyYWNpbmcvdHJhY2UKKyMgdHJhY2VyOiBmdHJhY2UKKyMKKyMgICAgICAgICAgIFRBU0stUElEICAgQ1BVIyAgICBUSU1FU1RBTVAgIEZVTkNUSU9OCisjICAgICAgICAgICAgICB8IHwgICAgICB8ICAgICAgICAgIHwgICAgICAgICB8CisKKyAjCisgIyBjYXQgL3RtcC90cmFjZS5vdXQKKyAgICAgICAgICAgIGJhc2gtNDA0MyAgWzAwXSA0MS4yNjcxMDY6IGZpbmlzaF90YXNrX3N3aXRjaCA8LXNjaGVkdWxlCisgICAgICAgICAgICBiYXNoLTQwNDMgIFswMF0gNDEuMjY3MTA2OiBocnRpY2tfc2V0IDwtc2NoZWR1bGUKKyAgICAgICAgICAgIGJhc2gtNDA0MyAgWzAwXSA0MS4yNjcxMDc6IGhydGlja19jbGVhciA8LWhydGlja19zZXQKKyAgICAgICAgICAgIGJhc2gtNDA0MyAgWzAwXSA0MS4yNjcxMDg6IHdhaXRfZm9yX2NvbXBsZXRpb24gPC1fX3N0b3BfbWFjaGluZV9ydW4KKyAgICAgICAgICAgIGJhc2gtNDA0MyAgWzAwXSA0MS4yNjcxMDg6IHdhaXRfZm9yX2NvbW1vbiA8LXdhaXRfZm9yX2NvbXBsZXRpb24KKyAgICAgICAgICAgIGJhc2gtNDA0MyAgWzAwXSA0MS4yNjcxMDk6IGt0aHJlYWRfc3RvcCA8LXN0b3BfbWFjaGluZV9ydW4KKyAgICAgICAgICAgIGJhc2gtNDA0MyAgWzAwXSA0MS4yNjcxMDk6IGluaXRfd2FpdHF1ZXVlX2hlYWQgPC1rdGhyZWFkX3N0b3AKKyAgICAgICAgICAgIGJhc2gtNDA0MyAgWzAwXSA0MS4yNjcxMTA6IHdha2VfdXBfcHJvY2VzcyA8LWt0aHJlYWRfc3RvcAorICAgICAgICAgICAgYmFzaC00MDQzICBbMDBdIDQxLjI2NzExMDogdHJ5X3RvX3dha2VfdXAgPC13YWtlX3VwX3Byb2Nlc3MKKyAgICAgICAgICAgIGJhc2gtNDA0MyAgWzAwXSA0MS4yNjcxMTE6IHNlbGVjdF90YXNrX3JxX3J0IDwtdHJ5X3RvX3dha2VfdXAKKworCitOb3RlLCByZWFkaW5nIHRoZSB0cmFjZV9waXBlIHdpbGwgYmxvY2sgdW50aWwgbW9yZSBpbnB1dCBpcyBhZGRlZC4KK0J5IGNoYW5naW5nIHRoZSB0cmFjZXIsIHRyYWNlX3BpcGUgd2lsbCBpc3N1ZSBhbiBFT0YuIFdlIG5lZWRlZAordG8gc2V0IHRoZSBmdHJhY2UgdHJhY2VyIF9iZWZvcmVfIGNhdGluZyB0aGUgdHJhY2VfcGlwZSBmaWxlLgorCisKK3RyYWNlIGVudHJpZXMKKy0tLS0tLS0tLS0tLS0KKworSGF2aW5nIHRvbyBtdWNoIG9yIG5vdCBlbm91Z2ggZGF0YSBjYW4gYmUgdHJvdWJsZXNvbWUgaW4gZGlhZ25vc2luZworc29tZSBpc3N1ZSBpbiB0aGUga2VybmVsLiBUaGUgZmlsZSB0cmFjZV9lbnRyaWVzIGlzIHVzZWQgdG8gbW9kaWZ5Cit0aGUgc2l6ZSBvZiB0aGUgaW50ZXJuYWwgdHJhY2UgYnVmZmVycy4gVGhlIG51bWJlciBsaXN0ZWQKK2lzIHRoZSBudW1iZXIgb2YgZW50cmllcyB0aGF0IGNhbiBiZSByZWNvcmRlZCBwZXIgQ1BVLiBUbyBrbm93Cit0aGUgZnVsbCBzaXplLCBtdWx0aXBseSB0aGUgbnVtYmVyIG9mIHBvc3NpYmxlIENQVVMgd2l0aCB0aGUKK251bWJlciBvZiBlbnRyaWVzLgorCisgIyBjYXQgL2RlYnVnL3RyYWNpbmcvdHJhY2VfZW50cmllcworNjU2MjAKKworTm90ZSwgdG8gbW9kaWZ5IHRoaXMsIHlvdSBtdXN0IGhhdmUgdHJhY2luZyBjb21wbGV0ZWx5IGRpc2FibGVkLiBUbyBkbyB0aGF0LAorZWNobyAibm9uZSIgaW50byB0aGUgY3VycmVudF90cmFjZXIuCisKKyAjIGVjaG8gbm9uZSA+IC9kZWJ1Zy90cmFjaW5nL2N1cnJlbnRfdHJhY2VyCisgIyBlY2hvIDEwMDAwMCA+IC9kZWJ1Zy90cmFjaW5nL3RyYWNlX2VudHJpZXMKKyAjIGNhdCAvZGVidWcvdHJhY2luZy90cmFjZV9lbnRyaWVzCisxMDAwNDUKKworCitOb3RpY2UgdGhhdCB3ZSBlY2hvZWQgaW4gMTAwLDAwMCBidXQgdGhlIHNpemUgaXMgMTAwLDA0NS4gVGhlIGVudHJpZXMKK2FyZSBoZWxkIGJ5IGluZGl2aWR1YWwgcGFnZXMuIEl0IGFsbG9jYXRlcyB0aGUgbnVtYmVyIG9mIHBhZ2VzIGl0IHRha2VzCit0byBmdWxmaWxsIHRoZSByZXF1ZXN0LiBJZiBtb3JlIGVudHJpZXMgbWF5IGZpdCBvbiB0aGUgbGFzdCBwYWdlCitpdCB3aWxsIGFkZCB0aGVtLgorCisgIyBlY2hvIDEgPiAvZGVidWcvdHJhY2luZy90cmFjZV9lbnRyaWVzCisgIyBjYXQgL2RlYnVnL3RyYWNpbmcvdHJhY2VfZW50cmllcworODUKKworVGhpcyBzaG93cyB1cyB0aGF0IDg1IGVudHJpZXMgY2FuIGZpdCBvbiBhIHNpbmdsZSBwYWdlLgorCitUaGUgbnVtYmVyIG9mIHBhZ2VzIHRoYXQgd2lsbCBiZSBhbGxvY2F0ZWQgaXMgYSBwZXJjZW50YWdlIG9mIGF2YWlsYWJsZQorbWVtb3J5LiBBbGxvY2F0aW5nIHRvbyBtdWNoIHdpbGwgcHJvZHVjZSBhbiBlcnJvci4KKworICMgZWNobyAxMDAwMDAwMDAwMDAwID4gL2RlYnVnL3RyYWNpbmcvdHJhY2VfZW50cmllcworLWJhc2g6IGVjaG86IHdyaXRlIGVycm9yOiBDYW5ub3QgYWxsb2NhdGUgbWVtb3J5CisgIyBjYXQgL2RlYnVnL3RyYWNpbmcvdHJhY2VfZW50cmllcworODUKKwpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9pMmMvYnVzc2VzL2kyYy1pODEwIGIvRG9jdW1lbnRhdGlvbi9pMmMvYnVzc2VzL2kyYy1pODEwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3NzgyMTBlLi4wMDAwMDAwCi0tLSBhL0RvY3VtZW50YXRpb24vaTJjL2J1c3Nlcy9pMmMtaTgxMAorKysgL2Rldi9udWxsCkBAIC0xLDQ3ICswLDAgQEAKLUtlcm5lbCBkcml2ZXIgaTJjLWk4MTAKLQotU3VwcG9ydGVkIGFkYXB0ZXJzOgotICAqIEludGVsIDgyODEwLCA4MjgxMC1EQzEwMCwgODI4MTBFLCBhbmQgODI4MTUgKEdNQ0gpCi0gICogSW50ZWwgODI4NDVHIChHTUNIKQotCi1BdXRob3JzOiAKLQlGcm9kbyBMb29pamFhcmQgPGZyb2RvbEBkZHMubmw+LCAKLQlQaGlsaXAgRWRlbGJyb2NrIDxwaGlsQG5ldHJvZWRnZS5jb20+LAotICAgICAgICBLecO2c3RpIE3DpGxra2kgPGttYWxra2lAY2MuaHV0LmZpPiwKLQlSYWxwaCBNZXR6bGVyIDxyamttQHRocC51bmkta29lbG4uZGU+LAotCU1hcmsgRC4gU3R1ZGViYWtlciA8bWRzeHl6MTIzQHlhaG9vLmNvbT4KLQotTWFpbiBjb250YWN0OiBNYXJrIFN0dWRlYmFrZXIgPG1kc3h5ejEyM0B5YWhvby5jb20+Ci0KLURlc2NyaXB0aW9uIAotLS0tLS0tLS0tLS0gCi0KLVdBUk5JTkc6IElmIHlvdSBoYXZlIGFuICc4MTAnIG9yICc4MTUnIG1vdGhlcmJvYXJkLCB5b3VyIHN0YW5kYXJkIEkyQwotdGVtcGVyYXR1cmUgc2Vuc29ycyBhcmUgbW9zdCBsaWtlbHkgb24gdGhlIDgwMSdzIEkyQyBidXMuIFlvdSB3YW50IHRoZQotaTJjLWk4MDEgZHJpdmVyIGZvciB0aG9zZSwgbm90IHRoaXMgZHJpdmVyLgotCi1Ob3cgZm9yIHRoZSBpMmMtaTgxMC4uLgotCi1UaGUgR01DSCBjaGlwIGNvbnRhaW5zIHR3byBJMkMgaW50ZXJmYWNlcy4KLQotVGhlIGZpcnN0IGludGVyZmFjZSBpcyB1c2VkIGZvciBEREMgKERhdGEgRGlzcGxheSBDaGFubmVsKSB3aGljaCBpcyBhCi1zZXJpYWwgY2hhbm5lbCB0aHJvdWdoIHRoZSBWR0EgbW9uaXRvciBjb25uZWN0b3IgdG8gYSBEREMtY29tcGxpYW50Ci1tb25pdG9yLiBUaGlzIGludGVyZmFjZSBpcyBkZWZpbmVkIGJ5IHRoZSBWaWRlbyBFbGVjdHJvbmljcyBTdGFuZGFyZHMKLUFzc29jaWF0aW9uIChWRVNBKS4gVGhlIHN0YW5kYXJkcyBhcmUgYXZhaWxhYmxlIGZvciBwdXJjaGFzZSBhdAotaHR0cDovL3d3dy52ZXNhLm9yZyAuCi0KLVRoZSBzZWNvbmQgaW50ZXJmYWNlIGlzIGEgZ2VuZXJhbC1wdXJwb3NlIEkyQyBidXMuIEl0IG1heSBiZSBjb25uZWN0ZWQgdG8gYQotVFYtb3V0IGNoaXAgc3VjaCBhcyB0aGUgQlQ4Njkgb3IgcG9zc2libHkgdG8gYSBkaWdpdGFsIGZsYXQtcGFuZWwgZGlzcGxheS4KLQotRmVhdHVyZXMKLS0tLS0tLS0tIAotCi1Cb3RoIGJ1c3NlcyB1c2UgdGhlIGkyYy1hbGdvLWJpdCBkcml2ZXIgZm9yICdiaXQgYmFuZ2luZycKLWFuZCBzdXBwb3J0IGZvciBzcGVjaWZpYyB0cmFuc2FjdGlvbnMgaXMgcHJvdmlkZWQgYnkgaTJjLWFsZ28tYml0LgotCi1Jc3N1ZXMKLS0tLS0tLQotCi1JZiB5b3UgZW5hYmxlIGJ1cyB0ZXN0aW5nIGluIGkyYy1hbGdvLWJpdCAoaW5zbW9kIGkyYy1hbGdvLWJpdCBiaXRfdGVzdD0xKSwKLXRoZSB0ZXN0IG1heSBmYWlsOyBpZiBzbywgdGhlIGkyYy1pODEwIGRyaXZlciB3b24ndCBiZSBpbnNlcnRlZC4gSG93ZXZlciwKLXdlIHRoaW5rIHRoaXMgaGFzIGJlZW4gZml4ZWQuCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2kyYy9idXNzZXMvaTJjLXByb3NhdmFnZSBiL0RvY3VtZW50YXRpb24vaTJjL2J1c3Nlcy9pMmMtcHJvc2F2YWdlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MDM2ODc5Li4wMDAwMDAwCi0tLSBhL0RvY3VtZW50YXRpb24vaTJjL2J1c3Nlcy9pMmMtcHJvc2F2YWdlCisrKyAvZGV2L251bGwKQEAgLTEsMjMgKzAsMCBAQAotS2VybmVsIGRyaXZlciBpMmMtcHJvc2F2YWdlCi0KLVN1cHBvcnRlZCBhZGFwdGVyczoKLQkKLQlTMy9WSUEgS00yNjYvVlQ4Mzc1IGFrYSBQcm9TYXZhZ2U4IAotCVMzL1ZJQSBLTTEzMy9WVDgzNjUgYWthIFNhdmFnZTQgCi0KLUF1dGhvcjogSGVuayBWZXJnb25ldCA8aGVua0Bnb2QuZHluZG5zLm9yZz4KLQotRGVzY3JpcHRpb24KLS0tLS0tLS0tLS0tCi0KLVRoZSBTYXZhZ2U0IGNoaXBzIGNvbnRhaW4gdHdvIEkyQyBpbnRlcmZhY2VzIChha2EgYSBJMkMgJ21hc3Rlcicgb3IKLSdob3N0JykuIAotCi1UaGUgZmlyc3QgaW50ZXJmYWNlIGlzIHVzZWQgZm9yIEREQyAoRGF0YSBEaXNwbGF5IENoYW5uZWwpIHdoaWNoIGlzIGEKLXNlcmlhbCBjaGFubmVsIHRocm91Z2ggdGhlIFZHQSBtb25pdG9yIGNvbm5lY3RvciB0byBhIEREQy1jb21wbGlhbnQKLW1vbml0b3IuIFRoaXMgaW50ZXJmYWNlIGlzIGRlZmluZWQgYnkgdGhlIFZpZGVvIEVsZWN0cm9uaWNzIFN0YW5kYXJkcwotQXNzb2NpYXRpb24gKFZFU0EpLiBUaGUgc3RhbmRhcmRzIGFyZSBhdmFpbGFibGUgZm9yIHB1cmNoYXNlIGF0Ci1odHRwOi8vd3d3LnZlc2Eub3JnIC4gVGhlIHNlY29uZCBpbnRlcmZhY2UgaXMgYSBnZW5lcmFsLXB1cnBvc2UgSTJDIGJ1cy4KLQotVXNlZnVsbCBmb3IgZ2FpbmluZyBhY2Nlc3MgdG8gdGhlIFRWIEVuY29kZXIgY2hpcHMuCi0KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vaTJjL2J1c3Nlcy9pMmMtc2F2YWdlNCBiL0RvY3VtZW50YXRpb24vaTJjL2J1c3Nlcy9pMmMtc2F2YWdlNApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmVjY2VhYi4uMDAwMDAwMAotLS0gYS9Eb2N1bWVudGF0aW9uL2kyYy9idXNzZXMvaTJjLXNhdmFnZTQKKysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi1LZXJuZWwgZHJpdmVyIGkyYy1zYXZhZ2U0Ci0KLVN1cHBvcnRlZCBhZGFwdGVyczoKLSAgKiBTYXZhZ2U0Ci0gICogU2F2YWdlMjAwMAotCi1BdXRob3JzOiAKLQlBbGV4YW5kZXIgV29sZCA8YXdvbGRAYmlnZm9vdC5jb20+LAotCU1hcmsgRC4gU3R1ZGViYWtlciA8bWRzeHl6MTIzQHlhaG9vLmNvbT4gCi0KLURlc2NyaXB0aW9uCi0tLS0tLS0tLS0tLQotCi1UaGUgU2F2YWdlNCBjaGlwcyBjb250YWluIHR3byBJMkMgaW50ZXJmYWNlcyAoYWthIGEgSTJDICdtYXN0ZXInCi1vciAnaG9zdCcpLiAKLQotVGhlIGZpcnN0IGludGVyZmFjZSBpcyB1c2VkIGZvciBEREMgKERhdGEgRGlzcGxheSBDaGFubmVsKSB3aGljaCBpcyBhCi1zZXJpYWwgY2hhbm5lbCB0aHJvdWdoIHRoZSBWR0EgbW9uaXRvciBjb25uZWN0b3IgdG8gYSBEREMtY29tcGxpYW50Ci1tb25pdG9yLiBUaGlzIGludGVyZmFjZSBpcyBkZWZpbmVkIGJ5IHRoZSBWaWRlbyBFbGVjdHJvbmljcyBTdGFuZGFyZHMKLUFzc29jaWF0aW9uIChWRVNBKS4gVGhlIHN0YW5kYXJkcyBhcmUgYXZhaWxhYmxlIGZvciBwdXJjaGFzZSBhdAotaHR0cDovL3d3dy52ZXNhLm9yZyAuIFRoZSBEREMgYnVzIGlzIG5vdCB5ZXQgc3VwcG9ydGVkIGJlY2F1c2UgaXRzIHJlZ2lzdGVyCi1pcyBub3QgZGlyZWN0bHkgbWVtb3J5LW1hcHBlZC4KLQotVGhlIHNlY29uZCBpbnRlcmZhY2UgaXMgYSBnZW5lcmFsLXB1cnBvc2UgSTJDIGJ1cy4gVGhpcyBpcyB0aGUgb25seQotaW50ZXJmYWNlIHN1cHBvcnRlZCBieSB0aGUgZHJpdmVyIGF0IHRoZSBtb21lbnQuCi0KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vaTJjL2ZhdWx0LWNvZGVzIGIvRG9jdW1lbnRhdGlvbi9pMmMvZmF1bHQtY29kZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDQ1NzY1YwotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vaTJjL2ZhdWx0LWNvZGVzCkBAIC0wLDAgKzEsMTI3IEBACitUaGlzIGlzIGEgc3VtbWFyeSBvZiB0aGUgbW9zdCBpbXBvcnRhbnQgY29udmVudGlvbnMgZm9yIHVzZSBvZiBmYXVsdAorY29kZXMgaW4gdGhlIEkyQy9TTUJ1cyBzdGFjay4KKworCitBICJGYXVsdCIgaXMgbm90IGFsd2F5cyBhbiAiRXJyb3IiCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitOb3QgYWxsIGZhdWx0IHJlcG9ydHMgaW1wbHkgZXJyb3JzOyAicGFnZSBmYXVsdHMiIHNob3VsZCBiZSBhIGZhbWlsaWFyCitleGFtcGxlLiAgU29mdHdhcmUgb2Z0ZW4gcmV0cmllcyBpZGVtcG90ZW50IG9wZXJhdGlvbnMgYWZ0ZXIgdHJhbnNpZW50CitmYXVsdHMuICBUaGVyZSBtYXkgYmUgZmFuY2llciByZWNvdmVyeSBzY2hlbWVzIHRoYXQgYXJlIGFwcHJvcHJpYXRlIGluCitzb21lIGNhc2VzLCBzdWNoIGFzIHJlLWluaXRpYWxpemluZyAoYW5kIG1heWJlIHJlc2V0dGluZykuICBBZnRlciBzdWNoCityZWNvdmVyeSwgdHJpZ2dlcmVkIGJ5IGEgZmF1bHQgcmVwb3J0LCB0aGVyZSBpcyBubyBlcnJvci4KKworSW4gYSBzaW1pbGFyIHdheSwgc29tZXRpbWVzIGEgImZhdWx0IiBjb2RlIGp1c3QgcmVwb3J0cyBvbmUgZGVmaW5lZAorcmVzdWx0IGZvciBhbiBvcGVyYXRpb24gLi4uIGl0IGRvZXNuJ3QgaW5kaWNhdGUgdGhhdCBhbnl0aGluZyBpcyB3cm9uZworYXQgYWxsLCBqdXN0IHRoYXQgdGhlIG91dGNvbWUgd2Fzbid0IG9uIHRoZSAiZ29sZGVuIHBhdGgiLgorCitJbiBzaG9ydCwgeW91ciBJMkMgZHJpdmVyIGNvZGUgbWF5IG5lZWQgdG8ga25vdyB0aGVzZSBjb2RlcyBpbiBvcmRlcgordG8gcmVzcG9uZCBjb3JyZWN0bHkuICBPdGhlciBjb2RlIG1heSBuZWVkIHRvIHJlbHkgb24gWU9VUiBjb2RlIHJlcG9ydGluZwordGhlIHJpZ2h0IGZhdWx0IGNvZGUsIHNvIHRoYXQgaXQgY2FuIChpbiB0dXJuKSBiZWhhdmUgY29ycmVjdGx5LgorCisKK0kyQyBhbmQgU01CdXMgZmF1bHQgY29kZXMKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1RoZXNlIGFyZSByZXR1cm5lZCBhcyBuZWdhdGl2ZSBudW1iZXJzIGZyb20gbW9zdCBjYWxscywgd2l0aCB6ZXJvIG9yCitzb21lIHBvc2l0aXZlIG51bWJlciBpbmRpY2F0aW5nIGEgbm9uLWZhdWx0IHJldHVybi4gIFRoZSBzcGVjaWZpYworbnVtYmVycyBhc3NvY2lhdGVkIHdpdGggdGhlc2Ugc3ltYm9scyBkaWZmZXIgYmV0d2VlbiBhcmNoaXRlY3R1cmVzLAordGhvdWdoIG1vc3QgTGludXggc3lzdGVtcyB1c2UgPGFzbS1nZW5lcmljL2Vycm5vKi5oPiBudW1iZXJpbmcuCisKK05vdGUgdGhhdCB0aGUgZGVzY3JpcHRpb25zIGhlcmUgYXJlIG5vdCBleGhhdXN0aXZlLiAgVGhlcmUgYXJlIG90aGVyCitjb2RlcyB0aGF0IG1heSBiZSByZXR1cm5lZCwgYW5kIG90aGVyIGNhc2VzIHdoZXJlIHRoZXNlIGNvZGVzIHNob3VsZAorYmUgcmV0dXJuZWQuICBIb3dldmVyLCBkcml2ZXJzIHNob3VsZCBub3QgcmV0dXJuIG90aGVyIGNvZGVzIGZvciB0aGVzZQorY2FzZXMgKHVubGVzcyB0aGUgaGFyZHdhcmUgZG9lc24ndCBwcm92aWRlIHVuaXF1ZSBmYXVsdCByZXBvcnRzKS4KKworQWxzbywgY29kZXMgcmV0dXJuZWQgYnkgYWRhcHRlciBwcm9iZSBtZXRob2RzIGZvbGxvdyBydWxlcyB3aGljaCBhcmUKK3NwZWNpZmljIHRvIHRoZWlyIGhvc3QgYnVzIChzdWNoIGFzIFBDSSwgb3IgdGhlIHBsYXRmb3JtIGJ1cykuCisKKworRUFHQUlOCisJUmV0dXJuZWQgYnkgSTJDIGFkYXB0ZXJzIHdoZW4gdGhleSBsb3NlIGFyYml0cmF0aW9uIGluIG1hc3RlcgorCXRyYW5zbWl0IG1vZGU6ICBzb21lIG90aGVyIG1hc3RlciB3YXMgdHJhbnNtaXR0aW5nIGRpZmZlcmVudAorCWRhdGEgYXQgdGhlIHNhbWUgdGltZS4KKworCUFsc28gcmV0dXJuZWQgd2hlbiB0cnlpbmcgdG8gaW52b2tlIGFuIEkyQyBvcGVyYXRpb24gaW4gYW4KKwlhdG9taWMgY29udGV4dCwgd2hlbiBzb21lIHRhc2sgaXMgYWxyZWFkeSB1c2luZyB0aGF0IEkyQyBidXMKKwl0byBleGVjdXRlIHNvbWUgb3RoZXIgb3BlcmF0aW9uLgorCitFQkFETVNHCisJUmV0dXJuZWQgYnkgU01CdXMgbG9naWMgd2hlbiBhbiBpbnZhbGlkIFBhY2tldCBFcnJvciBDb2RlIGJ5dGUKKwlpcyByZWNlaXZlZC4gIFRoaXMgY29kZSBpcyBhIENSQyBjb3ZlcmluZyBhbGwgYnl0ZXMgaW4gdGhlCisJdHJhbnNhY3Rpb24sIGFuZCBpcyBzZW50IGJlZm9yZSB0aGUgdGVybWluYXRpbmcgU1RPUC4gIFRoaXMKKwlmYXVsdCBpcyBvbmx5IHJlcG9ydGVkIG9uIHJlYWQgdHJhbnNhY3Rpb25zOyB0aGUgU01CdXMgc2xhdmUKKwltYXkgaGF2ZSBhIHdheSB0byByZXBvcnQgUEVDIG1pc21hdGNoZXMgb24gd3JpdGVzIGZyb20gdGhlCisJaG9zdC4gIE5vdGUgdGhhdCBldmVuIGlmIFBFQ3MgYXJlIGluIHVzZSwgeW91IHNob3VsZCBub3QgcmVseQorCW9uIHRoZXNlIGFzIHRoZSBvbmx5IHdheSB0byBkZXRlY3QgaW5jb3JyZWN0IGRhdGEgdHJhbnNmZXJzLgorCitFQlVTWQorCVJldHVybmVkIGJ5IFNNQnVzIGFkYXB0ZXJzIHdoZW4gdGhlIGJ1cyB3YXMgYnVzeSBmb3IgbG9uZ2VyCisJdGhhbiBhbGxvd2VkLiAgVGhpcyB1c3VhbGx5IGluZGljYXRlcyBzb21lIGRldmljZSAobWF5YmUgdGhlCisJU01CdXMgYWRhcHRlcikgbmVlZHMgc29tZSBmYXVsdCByZWNvdmVyeSAoc3VjaCBhcyByZXNldHRpbmcpLAorCW9yIHRoYXQgdGhlIHJlc2V0IHdhcyBhdHRlbXB0ZWQgYnV0IGZhaWxlZC4KKworRUlOVkFMCisJVGhpcyByYXRoZXIgdmFndWUgZXJyb3IgbWVhbnMgYW4gaW52YWxpZCBwYXJhbWV0ZXIgaGFzIGJlZW4KKwlkZXRlY3RlZCBiZWZvcmUgYW55IEkvTyBvcGVyYXRpb24gd2FzIHN0YXJ0ZWQuICBVc2UgYSBtb3JlCisJc3BlY2lmaWMgZmF1bHQgY29kZSB3aGVuIHlvdSBjYW4uCisKKwlPbmUgZXhhbXBsZSB3b3VsZCBiZSBhIGRyaXZlciB0cnlpbmcgYW4gU01CdXMgQmxvY2sgV3JpdGUKKwl3aXRoIGJsb2NrIHNpemUgb3V0c2lkZSB0aGUgcmFuZ2Ugb2YgMS0zMiBieXRlcy4KKworRUlPCisJVGhpcyByYXRoZXIgdmFndWUgZXJyb3IgbWVhbnMgc29tZXRoaW5nIHdlbnQgd3Jvbmcgd2hlbgorCXBlcmZvcm1pbmcgYW4gSS9PIG9wZXJhdGlvbi4gIFVzZSBhIG1vcmUgc3BlY2lmaWMgZmF1bHQKKwljb2RlIHdoZW4geW91IGNhbi4KKworRU5PREVWCisJUmV0dXJuZWQgYnkgZHJpdmVyIHByb2JlKCkgbWV0aG9kcy4gIFRoaXMgaXMgYSBiaXQgbW9yZQorCXNwZWNpZmljIHRoYW4gRU5YSU8sIGltcGx5aW5nIHRoZSBwcm9ibGVtIGlzbid0IHdpdGggdGhlCisJYWRkcmVzcywgYnV0IHdpdGggdGhlIGRldmljZSBmb3VuZCB0aGVyZS4gIERyaXZlciBwcm9iZXMKKwltYXkgdmVyaWZ5IHRoZSBkZXZpY2UgcmV0dXJucyAqY29ycmVjdCogcmVzcG9uc2VzLCBhbmQKKwlyZXR1cm4gdGhpcyBhcyBhcHByb3ByaWF0ZS4gIChUaGUgZHJpdmVyIGNvcmUgd2lsbCB3YXJuCisJYWJvdXQgcHJvYmUgZmF1bHRzIG90aGVyIHRoYW4gRU5YSU8gYW5kIEVOT0RFVi4pCisKK0VOT01FTQorCVJldHVybmVkIGJ5IGFueSBjb21wb25lbnQgdGhhdCBjYW4ndCBhbGxvY2F0ZSBtZW1vcnkgd2hlbgorCWl0IG5lZWRzIHRvIGRvIHNvLgorCitFTlhJTworCVJldHVybmVkIGJ5IEkyQyBhZGFwdGVycyB0byBpbmRpY2F0ZSB0aGF0IHRoZSBhZGRyZXNzIHBoYXNlCisJb2YgYSB0cmFuc2ZlciBkaWRuJ3QgZ2V0IGFuIEFDSy4gIFdoaWxlIGl0IG1pZ2h0IGp1c3QgbWVhbgorCWFuIEkyQyBkZXZpY2Ugd2FzIHRlbXBvcmFyaWx5IG5vdCByZXNwb25kaW5nLCB1c3VhbGx5IGl0CisJbWVhbnMgdGhlcmUncyBub3RoaW5nIGxpc3RlbmluZyBhdCB0aGF0IGFkZHJlc3MuCisKKwlSZXR1cm5lZCBieSBkcml2ZXIgcHJvYmUoKSBtZXRob2RzIHRvIGluZGljYXRlIHRoYXQgdGhleQorCWZvdW5kIG5vIGRldmljZSB0byBiaW5kIHRvLiAgKEVOT0RFViBtYXkgYWxzbyBiZSB1c2VkLikKKworRU9QTk9UU1VQUAorCVJldHVybmVkIGJ5IGFuIGFkYXB0ZXIgd2hlbiBhc2tlZCB0byBwZXJmb3JtIGFuIG9wZXJhdGlvbgorCXRoYXQgaXQgZG9lc24ndCwgb3IgY2FuJ3QsIHN1cHBvcnQuCisKKwlGb3IgZXhhbXBsZSwgdGhpcyB3b3VsZCBiZSByZXR1cm5lZCB3aGVuIGFuIGFkYXB0ZXIgdGhhdAorCWRvZXNuJ3Qgc3VwcG9ydCBTTUJ1cyBibG9jayB0cmFuc2ZlcnMgaXMgYXNrZWQgdG8gZXhlY3V0ZQorCW9uZS4gIEluIHRoYXQgY2FzZSwgdGhlIGRyaXZlciBtYWtpbmcgdGhhdCByZXF1ZXN0IHNob3VsZAorCWhhdmUgdmVyaWZpZWQgdGhhdCBmdW5jdGlvbmFsaXR5IHdhcyBzdXBwb3J0ZWQgYmVmb3JlIGl0CisJbWFkZSB0aGF0IGJsb2NrIHRyYW5zZmVyIHJlcXVlc3QuCisKKwlTaW1pbGFybHksIGlmIGFuIEkyQyBhZGFwdGVyIGNhbid0IGV4ZWN1dGUgYWxsIGxlZ2FsIEkyQworCW1lc3NhZ2VzLCBpdCBzaG91bGQgcmV0dXJuIHRoaXMgd2hlbiBhc2tlZCB0byBwZXJmb3JtIGEKKwl0cmFuc2FjdGlvbiBpdCBjYW4ndC4gIChUaGVzZSBsaW1pdGF0aW9ucyBjYW4ndCBiZSBzZWVuIGluCisJdGhlIGFkYXB0ZXIncyBmdW5jdGlvbmFsaXR5IG1hc2ssIHNpbmNlIHRoZSBhc3N1bXB0aW9uIGlzCisJdGhhdCBpZiBhbiBhZGFwdGVyIHN1cHBvcnRzIEkyQyBpdCBzdXBwb3J0cyBhbGwgb2YgSTJDLikKKworRVBST1RPCisJUmV0dXJuZWQgd2hlbiBzbGF2ZSBkb2VzIG5vdCBjb25mb3JtIHRvIHRoZSByZWxldmFudCBJMkMKKwlvciBTTUJ1cyAob3IgY2hpcC1zcGVjaWZpYykgcHJvdG9jb2wgc3BlY2lmaWNhdGlvbnMuICBPbmUKKwljYXNlIGlzIHdoZW4gdGhlIGxlbmd0aCBvZiBhbiBTTUJ1cyBibG9jayBkYXRhIHJlc3BvbnNlCisJKGZyb20gdGhlIFNNQnVzIHNsYXZlKSBpcyBvdXRzaWRlIHRoZSByYW5nZSAxLTMyIGJ5dGVzLgorCitFVElNRURPVVQKKwlUaGlzIGlzIHJldHVybmVkIGJ5IGRyaXZlcnMgd2hlbiBhbiBvcGVyYXRpb24gdG9vayB0b28gbXVjaAorCXRpbWUsIGFuZCB3YXMgYWJvcnRlZCBiZWZvcmUgaXQgY29tcGxldGVkLgorCisJU01CdXMgYWRhcHRlcnMgbWF5IHJldHVybiBpdCB3aGVuIGFuIG9wZXJhdGlvbiB0b29rIG1vcmUKKwl0aW1lIHRoYW4gYWxsb3dlZCBieSB0aGUgU01CdXMgc3BlY2lmaWNhdGlvbjsgZm9yIGV4YW1wbGUsCisJd2hlbiBhIHNsYXZlIHN0cmV0Y2hlcyBjbG9ja3MgdG9vIGZhci4gIEkyQyBoYXMgbm8gc3VjaAorCXRpbWVvdXRzLCBidXQgaXQncyBub3JtYWwgZm9yIEkyQyBhZGFwdGVycyB0byBpbXBvc2Ugc29tZQorCWFyYml0cmFyeSBsaW1pdHMgKG11Y2ggbG9uZ2VyIHRoYW4gU01CdXMhKSB0b28uCisKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vaTJjL3NtYnVzLXByb3RvY29sIGIvRG9jdW1lbnRhdGlvbi9pMmMvc21idXMtcHJvdG9jb2wKaW5kZXggMDNmMDhmYi4uMjRiZmI2NWQgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vaTJjL3NtYnVzLXByb3RvY29sCisrKyBiL0RvY3VtZW50YXRpb24vaTJjL3NtYnVzLXByb3RvY29sCkBAIC00Miw4ICs0Miw4IEBACiBbLi5dOiBEYXRhIHNlbnQgYnkgSTJDIGRldmljZSwgYXMgb3Bwb3NlZCB0byBkYXRhIHNlbnQgYnkgdGhlIGhvc3QgYWRhcHRlci4KIAogCi1TTUJ1cyBRdWljayBDb21tYW5kOiAgaTJjX3NtYnVzX3dyaXRlX3F1aWNrKCkKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorU01CdXMgUXVpY2sgQ29tbWFuZAorPT09PT09PT09PT09PT09PT09PQogCiBUaGlzIHNlbmRzIGEgc2luZ2xlIGJpdCB0byB0aGUgZGV2aWNlLCBhdCB0aGUgcGxhY2Ugb2YgdGhlIFJkL1dyIGJpdC4KIApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9pMmMvd3JpdGluZy1jbGllbnRzIGIvRG9jdW1lbnRhdGlvbi9pMmMvd3JpdGluZy1jbGllbnRzCmluZGV4IGQ0Y2Q0MTIuLjZiNjFiM2EgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vaTJjL3dyaXRpbmctY2xpZW50cworKysgYi9Eb2N1bWVudGF0aW9uL2kyYy93cml0aW5nLWNsaWVudHMKQEAgLTQ0LDYgKzQ0LDEwIEBACiAJLmlkX3RhYmxlCT0gZm9vX2lkcywKIAkucHJvYmUJCT0gZm9vX3Byb2JlLAogCS5yZW1vdmUJCT0gZm9vX3JlbW92ZSwKKwkvKiBpZiBkZXZpY2UgYXV0b2RldGVjdGlvbiBpcyBuZWVkZWQ6ICovCisJLmNsYXNzCQk9IEkyQ19DTEFTU19TT01FVEhJTkcsCisJLmRldGVjdAkJPSBmb29fZGV0ZWN0LAorCS5hZGRyZXNzX2RhdGEJPSAmYWRkcl9kYXRhLAogCiAJLyogZWxzZSwgZHJpdmVyIHVzZXMgImxlZ2FjeSIgYmluZGluZyBtb2RlbDogKi8KIAkuYXR0YWNoX2FkYXB0ZXIJPSBmb29fYXR0YWNoX2FkYXB0ZXIsCkBAIC0yMTcsNiArMjIxLDMxIEBACiByZWZlcmVuY2UgZm9yIGxhdGVyIHVzZS4KIAogCitEZXZpY2UgRGV0ZWN0aW9uIChTdGFuZGFyZCBkcml2ZXIgbW9kZWwpCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1NvbWV0aW1lcyB5b3UgZG8gbm90IGtub3cgaW4gYWR2YW5jZSB3aGljaCBJMkMgZGV2aWNlcyBhcmUgY29ubmVjdGVkIHRvCithIGdpdmVuIEkyQyBidXMuICBUaGlzIGlzIGZvciBleGFtcGxlIHRoZSBjYXNlIG9mIGhhcmR3YXJlIG1vbml0b3JpbmcKK2RldmljZXMgb24gYSBQQydzIFNNQnVzLiAgSW4gdGhhdCBjYXNlLCB5b3UgbWF5IHdhbnQgdG8gbGV0IHlvdXIgZHJpdmVyCitkZXRlY3Qgc3VwcG9ydGVkIGRldmljZXMgYXV0b21hdGljYWxseS4gIFRoaXMgaXMgaG93IHRoZSBsZWdhY3kgbW9kZWwKK3dhcyB3b3JraW5nLCBhbmQgaXMgbm93IGF2YWlsYWJsZSBhcyBhbiBleHRlbnNpb24gdG8gdGhlIHN0YW5kYXJkCitkcml2ZXIgbW9kZWwgKHNvIHRoYXQgd2UgY2FuIGZpbmFsbHkgZ2V0IHJpZCBvZiB0aGUgbGVnYWN5IG1vZGVsLikKKworWW91IHNpbXBseSBoYXZlIHRvIGRlZmluZSBhIGRldGVjdCBjYWxsYmFjayB3aGljaCB3aWxsIGF0dGVtcHQgdG8KK2lkZW50aWZ5IHN1cHBvcnRlZCBkZXZpY2VzIChyZXR1cm5pbmcgMCBmb3Igc3VwcG9ydGVkIG9uZXMgYW5kIC1FTk9ERVYKK2ZvciB1bnN1cHBvcnRlZCBvbmVzKSwgYSBsaXN0IG9mIGFkZHJlc3NlcyB0byBwcm9iZSwgYW5kIGEgZGV2aWNlIHR5cGUKKyhvciBjbGFzcykgc28gdGhhdCBvbmx5IEkyQyBidXNlcyB3aGljaCBtYXkgaGF2ZSB0aGF0IHR5cGUgb2YgZGV2aWNlCitjb25uZWN0ZWQgKGFuZCBub3Qgb3RoZXJ3aXNlIGVudW1lcmF0ZWQpIHdpbGwgYmUgcHJvYmVkLiAgVGhlIGkyYworY29yZSB3aWxsIHRoZW4gY2FsbCB5b3UgYmFjayBhcyBuZWVkZWQgYW5kIHdpbGwgaW5zdGFudGlhdGUgYSBkZXZpY2UKK2ZvciB5b3UgZm9yIGV2ZXJ5IHN1Y2Nlc3NmdWwgZGV0ZWN0aW9uLgorCitOb3RlIHRoYXQgdGhpcyBtZWNoYW5pc20gaXMgcHVyZWx5IG9wdGlvbmFsIGFuZCBub3Qgc3VpdGFibGUgZm9yIGFsbAorZGV2aWNlcy4gIFlvdSBuZWVkIHNvbWUgcmVsaWFibGUgd2F5IHRvIGlkZW50aWZ5IHRoZSBzdXBwb3J0ZWQgZGV2aWNlcworKHR5cGljYWxseSB1c2luZyBkZXZpY2Utc3BlY2lmaWMsIGRlZGljYXRlZCBpZGVudGlmaWNhdGlvbiByZWdpc3RlcnMpLAorb3RoZXJ3aXNlIG1pc2RldGVjdGlvbnMgYXJlIGxpa2VseSB0byBvY2N1ciBhbmQgdGhpbmdzIGNhbiBnZXQgd3JvbmcKK3F1aWNrbHkuCisKKwogRGV2aWNlIERlbGV0aW9uIChTdGFuZGFyZCBkcml2ZXIgbW9kZWwpCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIApAQCAtNTY5LDcgKzU5OCw2IEBACiAgIGluIHRlcm1zIG9mIGl0LiBOZXZlciB1c2UgdGhpcyBmdW5jdGlvbiBkaXJlY3RseSEKIAogCi0gIGV4dGVybiBzMzIgaTJjX3NtYnVzX3dyaXRlX3F1aWNrKHN0cnVjdCBpMmNfY2xpZW50ICogY2xpZW50LCB1OCB2YWx1ZSk7CiAgIGV4dGVybiBzMzIgaTJjX3NtYnVzX3JlYWRfYnl0ZShzdHJ1Y3QgaTJjX2NsaWVudCAqIGNsaWVudCk7CiAgIGV4dGVybiBzMzIgaTJjX3NtYnVzX3dyaXRlX2J5dGUoc3RydWN0IGkyY19jbGllbnQgKiBjbGllbnQsIHU4IHZhbHVlKTsKICAgZXh0ZXJuIHMzMiBpMmNfc21idXNfcmVhZF9ieXRlX2RhdGEoc3RydWN0IGkyY19jbGllbnQgKiBjbGllbnQsIHU4IGNvbW1hbmQpOwpAQCAtNTc4LDMwICs2MDYsMzEgQEAKICAgZXh0ZXJuIHMzMiBpMmNfc21idXNfcmVhZF93b3JkX2RhdGEoc3RydWN0IGkyY19jbGllbnQgKiBjbGllbnQsIHU4IGNvbW1hbmQpOwogICBleHRlcm4gczMyIGkyY19zbWJ1c193cml0ZV93b3JkX2RhdGEoc3RydWN0IGkyY19jbGllbnQgKiBjbGllbnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1OCBjb21tYW5kLCB1MTYgdmFsdWUpOworICBleHRlcm4gczMyIGkyY19zbWJ1c19yZWFkX2Jsb2NrX2RhdGEoc3RydWN0IGkyY19jbGllbnQgKiBjbGllbnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1OCBjb21tYW5kLCB1OCAqdmFsdWVzKTsKICAgZXh0ZXJuIHMzMiBpMmNfc21idXNfd3JpdGVfYmxvY2tfZGF0YShzdHJ1Y3QgaTJjX2NsaWVudCAqIGNsaWVudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1OCBjb21tYW5kLCB1OCBsZW5ndGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdTggKnZhbHVlcyk7CiAgIGV4dGVybiBzMzIgaTJjX3NtYnVzX3JlYWRfaTJjX2Jsb2NrX2RhdGEoc3RydWN0IGkyY19jbGllbnQgKiBjbGllbnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdTggY29tbWFuZCwgdTggbGVuZ3RoLCB1OCAqdmFsdWVzKTsKLQotVGhlc2Ugb25lcyB3ZXJlIHJlbW92ZWQgaW4gTGludXggMi42LjEwIGJlY2F1c2UgdGhleSBoYWQgbm8gdXNlcnMsIGJ1dCBjb3VsZAotYmUgYWRkZWQgYmFjayBsYXRlciBpZiBuZWVkZWQ6Ci0KLSAgZXh0ZXJuIHMzMiBpMmNfc21idXNfcmVhZF9ibG9ja19kYXRhKHN0cnVjdCBpMmNfY2xpZW50ICogY2xpZW50LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdTggY29tbWFuZCwgdTggKnZhbHVlcyk7CiAgIGV4dGVybiBzMzIgaTJjX3NtYnVzX3dyaXRlX2kyY19ibG9ja19kYXRhKHN0cnVjdCBpMmNfY2xpZW50ICogY2xpZW50LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1OCBjb21tYW5kLCB1OCBsZW5ndGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHU4ICp2YWx1ZXMpOworCitUaGVzZSBvbmVzIHdlcmUgcmVtb3ZlZCBmcm9tIGkyYy1jb3JlIGJlY2F1c2UgdGhleSBoYWQgbm8gdXNlcnMsIGJ1dCBjb3VsZAorYmUgYWRkZWQgYmFjayBsYXRlciBpZiBuZWVkZWQ6CisKKyAgZXh0ZXJuIHMzMiBpMmNfc21idXNfd3JpdGVfcXVpY2soc3RydWN0IGkyY19jbGllbnQgKiBjbGllbnQsIHU4IHZhbHVlKTsKICAgZXh0ZXJuIHMzMiBpMmNfc21idXNfcHJvY2Vzc19jYWxsKHN0cnVjdCBpMmNfY2xpZW50ICogY2xpZW50LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdTggY29tbWFuZCwgdTE2IHZhbHVlKTsKICAgZXh0ZXJuIHMzMiBpMmNfc21idXNfYmxvY2tfcHJvY2Vzc19jYWxsKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1OCBjb21tYW5kLCB1OCBsZW5ndGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1OCAqdmFsdWVzKQogCi1BbGwgdGhlc2UgdHJhbnNhY3Rpb25zIHJldHVybiAtMSBvbiBmYWlsdXJlLiBUaGUgJ3dyaXRlJyB0cmFuc2FjdGlvbnMgCi1yZXR1cm4gMCBvbiBzdWNjZXNzOyB0aGUgJ3JlYWQnIHRyYW5zYWN0aW9ucyByZXR1cm4gdGhlIHJlYWQgdmFsdWUsIGV4Y2VwdCAKLWZvciByZWFkX2Jsb2NrLCB3aGljaCByZXR1cm5zIHRoZSBudW1iZXIgb2YgdmFsdWVzIHJlYWQuIFRoZSBibG9jayBidWZmZXJzIAotbmVlZCBub3QgYmUgbG9uZ2VyIHRoYW4gMzIgYnl0ZXMuCitBbGwgdGhlc2UgdHJhbnNhY3Rpb25zIHJldHVybiBhIG5lZ2F0aXZlIGVycm5vIHZhbHVlIG9uIGZhaWx1cmUuIFRoZSAnd3JpdGUnCit0cmFuc2FjdGlvbnMgcmV0dXJuIDAgb24gc3VjY2VzczsgdGhlICdyZWFkJyB0cmFuc2FjdGlvbnMgcmV0dXJuIHRoZSByZWFkCit2YWx1ZSwgZXhjZXB0IGZvciBibG9jayB0cmFuc2FjdGlvbnMsIHdoaWNoIHJldHVybiB0aGUgbnVtYmVyIG9mIHZhbHVlcworcmVhZC4gVGhlIGJsb2NrIGJ1ZmZlcnMgbmVlZCBub3QgYmUgbG9uZ2VyIHRoYW4gMzIgYnl0ZXMuCiAKIFlvdSBjYW4gcmVhZCB0aGUgZmlsZSBgc21idXMtcHJvdG9jb2wnIGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZQogYWN0dWFsIFNNQnVzIHByb3RvY29sLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9pb2N0bC1udW1iZXIudHh0IGIvRG9jdW1lbnRhdGlvbi9pb2N0bC1udW1iZXIudHh0CmluZGV4IDI0MGNlN2EuLjNiYjVmNDYgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vaW9jdGwtbnVtYmVyLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2lvY3RsLW51bWJlci50eHQKQEAgLTExNyw2ICsxMTcsNyBAQAogCQkJCQk8bWFpbHRvOm5hdGFsaWFAbmlraGVmay5uaWtoZWYubmw+CiAnYycJMDAtN0YJbGludXgvY29tc3RhdHMuaAljb25mbGljdCEKICdjJwkwMC03RglsaW51eC9jb2RhLmgJCWNvbmZsaWN0IQorJ2MnCTgwLTlGCWFzbS1zMzkwL2Noc2MuaAogJ2QnCTAwLUZGCWxpbnV4L2NoYXIvZHJtL2RybS9oCWNvbmZsaWN0IQogJ2QnCTAwLURGCWxpbnV4L3ZpZGVvX2RlY29kZXIuaAljb25mbGljdCEKICdkJwlGMC1GRglsaW51eC9kaWdpMS5oCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2tkdW1wL2tkdW1wLnR4dCBiL0RvY3VtZW50YXRpb24va2R1bXAva2R1bXAudHh0CmluZGV4IGI4ZTUyYzAuLjk2OTFjN2YgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24va2R1bXAva2R1bXAudHh0CisrKyBiL0RvY3VtZW50YXRpb24va2R1bXAva2R1bXAudHh0CkBAIC0xMDksNyArMTA5LDcgQEAKIDIpIE9yIHVzZSB0aGUgc3lzdGVtIGtlcm5lbCBiaW5hcnkgaXRzZWxmIGFzIGR1bXAtY2FwdHVyZSBrZXJuZWwgYW5kIHRoZXJlIGlzCiAgICBubyBuZWVkIHRvIGJ1aWxkIGEgc2VwYXJhdGUgZHVtcC1jYXB0dXJlIGtlcm5lbC4gVGhpcyBpcyBwb3NzaWJsZQogICAgb25seSB3aXRoIHRoZSBhcmNoaXRlY3V0cmVzIHdoaWNoIHN1cHBvcnQgYSByZWxvY2F0YWJsZSBrZXJuZWwuIEFzCi0gICBvZiB0b2RheSBpMzg2IGFuZCBpYTY0IGFyY2hpdGVjdHVyZXMgc3VwcG9ydCByZWxvY2F0YWJsZSBrZXJuZWwuCisgICBvZiB0b2RheSwgaTM4NiwgeDg2XzY0IGFuZCBpYTY0IGFyY2hpdGVjdHVyZXMgc3VwcG9ydCByZWxvY2F0YWJsZSBrZXJuZWwuCiAKIEJ1aWxkaW5nIGEgcmVsb2NhdGFibGUga2VybmVsIGlzIGFkdmFudGFnZW91cyBmcm9tIHRoZSBwb2ludCBvZiB2aWV3IHRoYXQKIG9uZSBkb2VzIG5vdCBoYXZlIHRvIGJ1aWxkIGEgc2Vjb25kIGtlcm5lbCBmb3IgY2FwdHVyaW5nIHRoZSBkdW1wLiBCdXQKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24va2VybmVsLXBhcmFtZXRlcnMudHh0IGIvRG9jdW1lbnRhdGlvbi9rZXJuZWwtcGFyYW1ldGVycy50eHQKaW5kZXggYjUyZjQ3ZC4uMzEyZmU3NyAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9rZXJuZWwtcGFyYW1ldGVycy50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9rZXJuZWwtcGFyYW1ldGVycy50eHQKQEAgLTI3MSw2ICsyNzEsMTcgQEAKIAlhaWM3OXh4PQlbSFcsU0NTSV0KIAkJCVNlZSBEb2N1bWVudGF0aW9uL3Njc2kvYWljNzl4eC50eHQuCiAKKwlhbWRfaW9tbXU9CVtIVyxYODYtODRdCisJCQlQYXNzIHBhcmFtZXRlcnMgdG8gdGhlIEFNRCBJT01NVSBkcml2ZXIgaW4gdGhlIHN5c3RlbS4KKwkJCVBvc3NpYmxlIHZhbHVlcyBhcmU6CisJCQlpc29sYXRlIC0gZW5hYmxlIGRldmljZSBpc29sYXRpb24gKGVhY2ggZGV2aWNlLCBhcyBmYXIKKwkJCSAgICAgICAgICBhcyBwb3NzaWJsZSwgd2lsbCBnZXQgaXRzIG93biBwcm90ZWN0aW9uCisJCQkgICAgICAgICAgZG9tYWluKQorCWFtZF9pb21tdV9zaXplPSBbSFcsWDg2LTY0XQorCQkJRGVmaW5lIHRoZSBzaXplIG9mIHRoZSBhcGVydHVyZSBmb3IgdGhlIEFNRCBJT01NVQorCQkJZHJpdmVyLiBQb3NzaWJsZSB2YWx1ZXMgYXJlOgorCQkJJzMyTScsICc2NE0nIChkZWZhdWx0KSwgJzEyOE0nLCAnMjU2TScsICc1MTJNJywgJzFHJworCiAJYW1pam95Lm1hcD0JW0hXLEpPWV0gQW1pZ2Egam95c3RpY2sgc3VwcG9ydAogCQkJTWFwIG9mIGRldmljZXMgYXR0YWNoZWQgdG8gSk9ZMERBVCBhbmQgSk9ZMURBVAogCQkJRm9ybWF0OiA8YT4sPGI+CkBAIC01NjAsNiArNTcxLDggQEAKIAogCWRlYnVnX29iamVjdHMJW0tOTF0gRW5hYmxlIG9iamVjdCBkZWJ1Z2dpbmcKIAorCWRlYnVncGF0CVtYODZdIEVuYWJsZSBQQVQgZGVidWdnaW5nCisKIAlkZWNuZXQuYWRkcj0JW0hXLE5FVF0KIAkJCUZvcm1hdDogPGFyZWE+Wyw8bm9kZT5dCiAJCQlTZWUgYWxzbyBEb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGVjbmV0LnR4dC4KQEAgLTU5OSw2ICs2MTIsMjkgQEAKIAkJCVNlZSBkcml2ZXJzL2NoYXIvUkVBRE1FLmVwY2EgYW5kCiAJCQlEb2N1bWVudGF0aW9uL2RpZ2llcGNhLnR4dC4KIAorCWRpc2FibGVfbXRycl9jbGVhbnVwIFtYODZdCisJZW5hYmxlX210cnJfY2xlYW51cCBbWDg2XQorCQkJVGhlIGtlcm5lbCB0cmllcyB0byBhZGp1c3QgTVRSUiBsYXlvdXQgZnJvbSBjb250aW51b3VzCisJCQl0byBkaXNjcmV0ZSwgdG8gbWFrZSBYIHNlcnZlciBkcml2ZXIgYWJsZSB0byBhZGQgV0IKKwkJCWVudHJ5IGxhdGVyLiBUaGlzIHBhcmFtZXRlciBlbmFibGVzL2Rpc2FibGVzIHRoYXQuCisKKwltdHJyX2NodW5rX3NpemU9bm5bS01HXSBbWDg2XQorCQkJdXNlZCBmb3IgbXRyciBjbGVhbnVwLiBJdCBpcyBsYXJnZXN0IGNvbnRpbm91cyBjaHVuaworCQkJdGhhdCBjb3VsZCBob2xkIGhvbGVzIGFrYS4gVUMgZW50cmllcy4KKworCW10cnJfZ3Jhbl9zaXplPW5uW0tNR10gW1g4Nl0KKwkJCVVzZWQgZm9yIG10cnIgY2xlYW51cC4gSXQgaXMgZ3JhbnVsYXJpdHkgb2YgbXRyciBibG9jay4KKwkJCURlZmF1bHQgaXMgMS4KKwkJCUxhcmdlIHZhbHVlIGNvdWxkIHByZXZlbnQgc21hbGwgYWxpZ25tZW50IGZyb20KKwkJCXVzaW5nIHVwIE1UUlJzLgorCisJbXRycl9zcGFyZV9yZWdfbnI9biBbWDg2XQorCQkJRm9ybWF0OiA8aW50ZWdlcj4KKwkJCVJhbmdlOiAwLDcgOiBzcGFyZSByZWcgbnVtYmVyCisJCQlEZWZhdWx0IDogMQorCQkJVXNlZCBmb3IgbXRyciBjbGVhbnVwLiBJdCBpcyBzcGFyZSBtdHJyIGVudHJpZXMgbnVtYmVyLgorCQkJU2V0IHRvIDIgb3IgbW9yZSBpZiB5b3VyIGdyYXBoaWNhbCBjYXJkIG5lZWRzIG1vcmUuCisKIAlkaXNhYmxlX210cnJfdHJpbSBbWDg2LCBJbnRlbCBhbmQgQU1EIG9ubHldCiAJCQlCeSBkZWZhdWx0IHRoZSBrZXJuZWwgd2lsbCB0cmltIGFueSB1bmNhY2hlYWJsZQogCQkJbWVtb3J5IG91dCBvZiB5b3VyIGF2YWlsYWJsZSBtZW1vcnkgcG9vbCBiYXNlZCBvbgpAQCAtNzIyLDkgKzc1OCw2IEBACiAJaGQ9CQlbRUlERV0gKEUpSURFIGhhcmQgZHJpdmUgc3Vic3lzdGVtIGdlb21ldHJ5CiAJCQlGb3JtYXQ6IDxjeWw+LDxoZWFkPiw8c2VjdD4KIAotCWhkPz0JCVtIV10gKEUpSURFIHN1YnN5c3RlbQotCWhkP2x1bj0JCVNlZSBEb2N1bWVudGF0aW9uL2lkZS9pZGUudHh0LgotCiAJaGlnaG1lbT1ubltLTUddCVtLTkwsQk9PVF0gZm9yY2VzIHRoZSBoaWdobWVtIHpvbmUgdG8gaGF2ZSBhbiBleGFjdAogCQkJc2l6ZSBvZiA8bm4+LiBUaGlzIHdvcmtzIGV2ZW4gb24gYm94ZXMgdGhhdCBoYXZlIG5vCiAJCQloaWdobWVtIG90aGVyd2lzZS4gVGhpcyBhbHNvIHdvcmtzIHRvIHJlZHVjZSBoaWdobWVtCkBAIC0xMjA4LDYgKzEyNDEsMTEgQEAKIAltdGRwYXJ0cz0JW01URF0KIAkJCVNlZSBkcml2ZXJzL210ZC9jbWRsaW5lcGFydC5jLgogCisJbXRkc2V0PQkJW0FSTV0KKwkJCUFSTS9TM0MyNDEyIEpJVkUgYm9vdCBjb250cm9sCisKKwkJCVNlZSBhcmNoL2FybS9tYWNoLXMzYzI0MTIvbWFjaC1qaXZlLmMKKwogCW10b3VjaHVzYi5yYXdfY29vcmRpbmF0ZXM9CiAJCQlbSFddIE1ha2UgdGhlIE1pY3JvVG91Y2ggVVNCIGRyaXZlciB1c2UgcmF3IGNvb3JkaW5hdGVzCiAJCQkoJ3knLCBkZWZhdWx0KSBvciBjb29rZWQgY29vcmRpbmF0ZXMgKCduJykKQEAgLTE1NzEsNiArMTYwOSwxMCBAQAogCQkJRm9ybWF0OiB7IHBhcnBvcnQ8bnI+IHwgdGltaWQgfCAwIH0KIAkJCVNlZSBhbHNvIERvY3VtZW50YXRpb24vcGFycG9ydC50eHQuCiAKKwlwbXRtcj0JCVtYODZdIE1hbnVhbCBzZXR1cCBvZiBwbXRtciBJL08gUG9ydC4gCisJCQlPdmVycmlkZSBwbXRpbWVyIElPUG9ydCB3aXRoIGEgaGV4IHZhbHVlLgorCQkJZS5nLiBwbXRtcj0weDUwOAorCiAJcG5wYWNwaT0JW0FDUEldCiAJCQl7IG9mZiB9CiAKQEAgLTIxMTYsNiArMjE1OCw5IEBACiAJdXNiaGlkLm1vdXNlcG9sbD0KIAkJCVtVU0JISURdIFRoZSBpbnRlcnZhbCB3aGljaCBtaWNlIGFyZSB0byBiZSBwb2xsZWQgYXQuCiAKKwlhZGRfZWZpX21lbW1hcAlbRUZJOyB4ODYtMzIsWDg2LTY0XSBJbmNsdWRlIEVGSSBtZW1vcnkgbWFwIGluCisJCQlrZXJuZWwncyBtYXAgb2YgYXZhaWxhYmxlIHBoeXNpY2FsIFJBTS4KKwogCXZkc289CQlbWDg2LTMyLFNILHg4Ni02NF0KIAkJCXZkc289MjogZW5hYmxlIGNvbXBhdCBWRFNPIChkZWZhdWx0IHdpdGggQ09NUEFUX1ZEU08pCiAJCQl2ZHNvPTE6IGVuYWJsZSBWRFNPIChkZWZhdWx0KQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2lwLXN5c2N0bC50eHQgYi9Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvaXAtc3lzY3RsLnR4dAppbmRleCAxN2YxZjkxLi45NDZiNjZlIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvaXAtc3lzY3RsLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvaXAtc3lzY3RsLnR4dApAQCAtMTQ4LDkgKzE0OCw5IEBACiAJYnV0IG5vdCBsb2FkZWQuCiAKIHRjcF9iYXNlX21zcyAtIElOVEVHRVIKLQlUaGUgaW5pdGlhbCB2YWx1ZSBvZiBzZWFyY2hfbG93IHRvIGJlIHVzZWQgYnkgUGFja2V0aXphdGlvbiBMYXllcgotCVBhdGggTVRVIERpc2NvdmVyeSAoTVRVIHByb2JpbmcpLiAgSWYgTVRVIHByb2JpbmcgaXMgZW5hYmxlZCwKLQl0aGlzIGlzIHRoZSBpbml0YWwgTVNTIHVzZWQgYnkgdGhlIGNvbm5lY3Rpb24uCisJVGhlIGluaXRpYWwgdmFsdWUgb2Ygc2VhcmNoX2xvdyB0byBiZSB1c2VkIGJ5IHRoZSBwYWNrZXRpemF0aW9uIGxheWVyCisJUGF0aCBNVFUgZGlzY292ZXJ5IChNVFUgcHJvYmluZykuICBJZiBNVFUgcHJvYmluZyBpcyBlbmFibGVkLAorCXRoaXMgaXMgdGhlIGluaXRpYWwgTVNTIHVzZWQgYnkgdGhlIGNvbm5lY3Rpb24uCiAKIHRjcF9jb25nZXN0aW9uX2NvbnRyb2wgLSBTVFJJTkcKIAlTZXQgdGhlIGNvbmdlc3Rpb24gY29udHJvbCBhbGdvcml0aG0gdG8gYmUgdXNlZCBmb3IgbmV3CkBAIC0xODUsMTAgKzE4NSw5IEBACiAJdGltZW91dHMuICBJdCBpcyBwYXJ0aWN1bGFybHkgYmVuZWZpY2lhbCBpbiB3aXJlbGVzcyBlbnZpcm9ubWVudHMKIAl3aGVyZSBwYWNrZXQgbG9zcyBpcyB0eXBpY2FsbHkgZHVlIHRvIHJhbmRvbSByYWRpbyBpbnRlcmZlcmVuY2UKIAlyYXRoZXIgdGhhbiBpbnRlcm1lZGlhdGUgcm91dGVyIGNvbmdlc3Rpb24uICBGLVJUTyBpcyBzZW5kZXItc2lkZQotCW9ubHkgbW9kaWZpY2F0aW9uLiAgVGhlcmVmb3JlIGl0IGRvZXMgbm90IHJlcXVpcmUgYW55IHN1cHBvcnQgZnJvbQotCXRoZSBwZWVyLCBidXQgaW4gYSB0eXBpY2FsIGNhc2UsIGhvd2V2ZXIsIHdoZXJlIHdpcmVsZXNzIGxpbmsgaXMKLQl0aGUgbG9jYWwgYWNjZXNzIGxpbmsgYW5kIG1vc3Qgb2YgdGhlIGRhdGEgZmxvd3MgZG93bmxpbmssIHRoZQotCWZhcmF3YXkgc2VydmVycyBzaG91bGQgaGF2ZSBGLVJUTyBlbmFibGVkIHRvIHRha2UgYWR2YW50YWdlIG9mIGl0LgorCW9ubHkgbW9kaWZpY2F0aW9uLiBUaGVyZWZvcmUgaXQgZG9lcyBub3QgcmVxdWlyZSBhbnkgc3VwcG9ydCBmcm9tCisJdGhlIHBlZXIuCisKIAlJZiBzZXQgdG8gMSwgYmFzaWMgdmVyc2lvbiBpcyBlbmFibGVkLiAgMiBlbmFibGVzIFNBQ0sgZW5oYW5jZWQKIAlGLVJUTyBpZiBmbG93IHVzZXMgU0FDSy4gIFRoZSBiYXNpYyB2ZXJzaW9uIGNhbiBiZSB1c2VkIGFsc28gd2hlbgogCVNBQ0sgaXMgaW4gdXNlIHRob3VnaCBzY2VuYXJpbyhzKSB3aXRoIGl0IGV4aXN0cyB3aGVyZSBGLVJUTwpAQCAtMjc2LDcgKzI3NSw3IEBACiAJbWVtb3J5LgogCiB0Y3BfbW9kZXJhdGVfcmN2YnVmIC0gQk9PTEVBTgotCUlmIHNldCwgVENQIHBlcmZvcm1zIHJlY2VpdmUgYnVmZmVyIGF1dG90dW5pbmcsIGF0dGVtcHRpbmcgdG8KKwlJZiBzZXQsIFRDUCBwZXJmb3JtcyByZWNlaXZlIGJ1ZmZlciBhdXRvLXR1bmluZywgYXR0ZW1wdGluZyB0bwogCWF1dG9tYXRpY2FsbHkgc2l6ZSB0aGUgYnVmZmVyIChubyBncmVhdGVyIHRoYW4gdGNwX3JtZW1bMl0pIHRvCiAJbWF0Y2ggdGhlIHNpemUgcmVxdWlyZWQgYnkgdGhlIHBhdGggZm9yIGZ1bGwgdGhyb3VnaHB1dC4gIEVuYWJsZWQgYnkKIAlkZWZhdWx0LgpAQCAtMzM2LDcgKzMzNSw3IEBACiAJcHJlc3N1cmUuCiAJRGVmYXVsdDogOEsKIAotCWRlZmF1bHQ6IGRlZmF1bHQgc2l6ZSBvZiByZWNlaXZlIGJ1ZmZlciB1c2VkIGJ5IFRDUCBzb2NrZXRzLgorCWRlZmF1bHQ6IGluaXRpYWwgc2l6ZSBvZiByZWNlaXZlIGJ1ZmZlciB1c2VkIGJ5IFRDUCBzb2NrZXRzLgogCVRoaXMgdmFsdWUgb3ZlcnJpZGVzIG5ldC5jb3JlLnJtZW1fZGVmYXVsdCB1c2VkIGJ5IG90aGVyIHByb3RvY29scy4KIAlEZWZhdWx0OiA4NzM4MCBieXRlcy4gVGhpcyB2YWx1ZSByZXN1bHRzIGluIHdpbmRvdyBvZiA2NTUzNSB3aXRoCiAJZGVmYXVsdCBzZXR0aW5nIG9mIHRjcF9hZHZfd2luX3NjYWxlIGFuZCB0Y3BfYXBwX3dpbjowIGFuZCBhIGJpdApAQCAtMzQ0LDggKzM0MywxMCBAQAogCiAJbWF4OiBtYXhpbWFsIHNpemUgb2YgcmVjZWl2ZSBidWZmZXIgYWxsb3dlZCBmb3IgYXV0b21hdGljYWxseQogCXNlbGVjdGVkIHJlY2VpdmVyIGJ1ZmZlcnMgZm9yIFRDUCBzb2NrZXQuIFRoaXMgdmFsdWUgZG9lcyBub3Qgb3ZlcnJpZGUKLQluZXQuY29yZS5ybWVtX21heCwgInN0YXRpYyIgc2VsZWN0aW9uIHZpYSBTT19SQ1ZCVUYgZG9lcyBub3QgdXNlIHRoaXMuCi0JRGVmYXVsdDogODczODAqMiBieXRlcy4KKwluZXQuY29yZS5ybWVtX21heC4gIENhbGxpbmcgc2V0c29ja29wdCgpIHdpdGggU09fUkNWQlVGIGRpc2FibGVzCisJYXV0b21hdGljIHR1bmluZyBvZiB0aGF0IHNvY2tldCdzIHJlY2VpdmUgYnVmZmVyIHNpemUsIGluIHdoaWNoCisJY2FzZSB0aGlzIHZhbHVlIGlzIGlnbm9yZWQuCisJRGVmYXVsdDogYmV0d2VlbiA4NzM4MEIgYW5kIDRNQiwgZGVwZW5kaW5nIG9uIFJBTSBzaXplLgogCiB0Y3Bfc2FjayAtIEJPT0xFQU4KIAlFbmFibGUgc2VsZWN0IGFja25vd2xlZGdtZW50cyAoU0FDS1MpLgpAQCAtMzU4LDcgKzM1OSw3IEBACiAJRGVmYXVsdDogMQogCiB0Y3Bfc3RkdXJnIC0gQk9PTEVBTgotCVVzZSB0aGUgSG9zdCByZXF1aXJlbWVudHMgaW50ZXJwcmV0YXRpb24gb2YgdGhlIFRDUCB1cmcgcG9pbnRlciBmaWVsZC4KKwlVc2UgdGhlIEhvc3QgcmVxdWlyZW1lbnRzIGludGVycHJldGF0aW9uIG9mIHRoZSBUQ1AgdXJnZW50IHBvaW50ZXIgZmllbGQuCiAJTW9zdCBob3N0cyB1c2UgdGhlIG9sZGVyIEJTRCBpbnRlcnByZXRhdGlvbiwgc28gaWYgeW91IHR1cm4gdGhpcyBvbgogCUxpbnV4IG1pZ2h0IG5vdCBjb21tdW5pY2F0ZSBjb3JyZWN0bHkgd2l0aCB0aGVtLgogCURlZmF1bHQ6IEZBTFNFCkBAIC0zNzEsMTIgKzM3MiwxMiBAQAogdGNwX3N5bmNvb2tpZXMgLSBCT09MRUFOCiAJT25seSB2YWxpZCB3aGVuIHRoZSBrZXJuZWwgd2FzIGNvbXBpbGVkIHdpdGggQ09ORklHX1NZTkNPT0tJRVMKIAlTZW5kIG91dCBzeW5jb29raWVzIHdoZW4gdGhlIHN5biBiYWNrbG9nIHF1ZXVlIG9mIGEgc29ja2V0Ci0Jb3ZlcmZsb3dzLiBUaGlzIGlzIHRvIHByZXZlbnQgYWdhaW5zdCB0aGUgY29tbW9uICdzeW4gZmxvb2QgYXR0YWNrJworCW92ZXJmbG93cy4gVGhpcyBpcyB0byBwcmV2ZW50IGFnYWluc3QgdGhlIGNvbW1vbiAnU1lOIGZsb29kIGF0dGFjaycKIAlEZWZhdWx0OiBGQUxTRQogCiAJTm90ZSwgdGhhdCBzeW5jb29raWVzIGlzIGZhbGxiYWNrIGZhY2lsaXR5LgogCUl0IE1VU1QgTk9UIGJlIHVzZWQgdG8gaGVscCBoaWdobHkgbG9hZGVkIHNlcnZlcnMgdG8gc3RhbmQKLQlhZ2FpbnN0IGxlZ2FsIGNvbm5lY3Rpb24gcmF0ZS4gSWYgeW91IHNlZSBzeW5mbG9vZCB3YXJuaW5ncworCWFnYWluc3QgbGVnYWwgY29ubmVjdGlvbiByYXRlLiBJZiB5b3Ugc2VlIFNZTiBmbG9vZCB3YXJuaW5ncwogCWluIHlvdXIgbG9ncywgYnV0IGludmVzdGlnYXRpb24Jc2hvd3MgdGhhdCB0aGV5IG9jY3VyCiAJYmVjYXVzZSBvZiBvdmVybG9hZCB3aXRoIGxlZ2FsIGNvbm5lY3Rpb25zLCB5b3Ugc2hvdWxkIHR1bmUKIAlhbm90aGVyIHBhcmFtZXRlcnMgdW50aWwgdGhpcyB3YXJuaW5nIGRpc2FwcGVhci4KQEAgLTM4Niw3ICszODcsNyBAQAogCXRvIHVzZSBUQ1AgZXh0ZW5zaW9ucywgY2FuIHJlc3VsdCBpbiBzZXJpb3VzIGRlZ3JhZGF0aW9uCiAJb2Ygc29tZSBzZXJ2aWNlcyAoZi5lLiBTTVRQIHJlbGF5aW5nKSwgdmlzaWJsZSBub3QgYnkgeW91LAogCWJ1dCB5b3VyIGNsaWVudHMgYW5kIHJlbGF5cywgY29udGFjdGluZyB5b3UuIFdoaWxlIHlvdSBzZWUKLQlzeW5mbG9vZCB3YXJuaW5ncyBpbiBsb2dzIG5vdCBiZWluZyByZWFsbHkgZmxvb2RlZCwgeW91ciBzZXJ2ZXIKKwlTWU4gZmxvb2Qgd2FybmluZ3MgaW4gbG9ncyBub3QgYmVpbmcgcmVhbGx5IGZsb29kZWQsIHlvdXIgc2VydmVyCiAJaXMgc2VyaW91c2x5IG1pc2NvbmZpZ3VyZWQuCiAKIHRjcF9zeW5fcmV0cmllcyAtIElOVEVHRVIKQEAgLTQxOSwxOSArNDIwLDIxIEBACiAJRW5hYmxlIHdpbmRvdyBzY2FsaW5nIGFzIGRlZmluZWQgaW4gUkZDMTMyMy4KIAogdGNwX3dtZW0gLSB2ZWN0b3Igb2YgMyBJTlRFR0VSczogbWluLCBkZWZhdWx0LCBtYXgKLQltaW46IEFtb3VudCBvZiBtZW1vcnkgcmVzZXJ2ZWQgZm9yIHNlbmQgYnVmZmVycyBmb3IgVENQIHNvY2tldC4KKwltaW46IEFtb3VudCBvZiBtZW1vcnkgcmVzZXJ2ZWQgZm9yIHNlbmQgYnVmZmVycyBmb3IgVENQIHNvY2tldHMuCiAJRWFjaCBUQ1Agc29ja2V0IGhhcyByaWdodHMgdG8gdXNlIGl0IGR1ZSB0byBmYWN0IG9mIGl0cyBiaXJ0aC4KIAlEZWZhdWx0OiA0SwogCi0JZGVmYXVsdDogQW1vdW50IG9mIG1lbW9yeSBhbGxvd2VkIGZvciBzZW5kIGJ1ZmZlcnMgZm9yIFRDUCBzb2NrZXQKLQlieSBkZWZhdWx0LiBUaGlzIHZhbHVlIG92ZXJyaWRlcyBuZXQuY29yZS53bWVtX2RlZmF1bHQgdXNlZAotCWJ5IG90aGVyIHByb3RvY29scywgaXQgaXMgdXN1YWxseSBsb3dlciB0aGFuIG5ldC5jb3JlLndtZW1fZGVmYXVsdC4KKwlkZWZhdWx0OiBpbml0aWFsIHNpemUgb2Ygc2VuZCBidWZmZXIgdXNlZCBieSBUQ1Agc29ja2V0cy4gIFRoaXMKKwl2YWx1ZSBvdmVycmlkZXMgbmV0LmNvcmUud21lbV9kZWZhdWx0IHVzZWQgYnkgb3RoZXIgcHJvdG9jb2xzLgorCUl0IGlzIHVzdWFsbHkgbG93ZXIgdGhhbiBuZXQuY29yZS53bWVtX2RlZmF1bHQuCiAJRGVmYXVsdDogMTZLCiAKLQltYXg6IE1heGltYWwgYW1vdW50IG9mIG1lbW9yeSBhbGxvd2VkIGZvciBhdXRvbWF0aWNhbGx5IHNlbGVjdGVkCi0Jc2VuZCBidWZmZXJzIGZvciBUQ1Agc29ja2V0LiBUaGlzIHZhbHVlIGRvZXMgbm90IG92ZXJyaWRlCi0JbmV0LmNvcmUud21lbV9tYXgsICJzdGF0aWMiIHNlbGVjdGlvbiB2aWEgU09fU05EQlVGIGRvZXMgbm90IHVzZSB0aGlzLgotCURlZmF1bHQ6IDEyOEsKKwltYXg6IE1heGltYWwgYW1vdW50IG9mIG1lbW9yeSBhbGxvd2VkIGZvciBhdXRvbWF0aWNhbGx5IHR1bmVkCisJc2VuZCBidWZmZXJzIGZvciBUQ1Agc29ja2V0cy4gVGhpcyB2YWx1ZSBkb2VzIG5vdCBvdmVycmlkZQorCW5ldC5jb3JlLndtZW1fbWF4LiAgQ2FsbGluZyBzZXRzb2Nrb3B0KCkgd2l0aCBTT19TTkRCVUYgZGlzYWJsZXMKKwlhdXRvbWF0aWMgdHVuaW5nIG9mIHRoYXQgc29ja2V0J3Mgc2VuZCBidWZmZXIgc2l6ZSwgaW4gd2hpY2ggY2FzZQorCXRoaXMgdmFsdWUgaXMgaWdub3JlZC4KKwlEZWZhdWx0OiBiZXR3ZWVuIDY0SyBhbmQgNE1CLCBkZXBlbmRpbmcgb24gUkFNIHNpemUuCiAKIHRjcF93b3JrYXJvdW5kX3NpZ25lZF93aW5kb3dzIC0gQk9PTEVBTgogCUlmIHNldCwgYXNzdW1lIG5vIHJlY2VpcHQgb2YgYSB3aW5kb3cgc2NhbGluZyBvcHRpb24gbWVhbnMgdGhlCkBAIC0xMDYwLDI0ICsxMDYzLDE5MyBAQAogCURlZmF1bHQ6IDEKIAogCitwcm9jL3N5cy9uZXQvc2N0cC8qIFZhcmlhYmxlczoKKworYWRkaXBfZW5hYmxlIC0gQk9PTEVBTgorCUVuYWJsZSBvciBkaXNhYmxlIGV4dGVuc2lvbiBvZiAgRHluYW1pYyBBZGRyZXNzIFJlY29uZmlndXJhdGlvbgorCShBREQtSVApIGZ1bmN0aW9uYWxpdHkgc3BlY2lmaWVkIGluIFJGQzUwNjEuICBUaGlzIGV4dGVuc2lvbiBwcm92aWRlcworCXRoZSBhYmlsaXR5IHRvIGR5bmFtaWNhbGx5IGFkZCBhbmQgcmVtb3ZlIG5ldyBhZGRyZXNzZXMgZm9yIHRoZSBTQ1RQCisJYXNzb2NpYXRpb25zLgorCisJMTogRW5hYmxlIGV4dGVuc2lvbi4KKworCTA6IERpc2FibGUgZXh0ZW5zaW9uLgorCisJRGVmYXVsdDogMAorCithZGRpcF9ub2F1dGhfZW5hYmxlIC0gQk9PTEVBTgorCUR5bmFtaWMgQWRkcmVzcyBSZWNvbmZpZ3VyYXRpb24gKEFERC1JUCkgcmVxdWlyZXMgdGhlIHVzZSBvZgorCWF1dGhlbnRpY2F0aW9uIHRvIHByb3RlY3QgdGhlIG9wZXJhdGlvbnMgb2YgYWRkaW5nIG9yIHJlbW92aW5nIG5ldworCWFkZHJlc3Nlcy4gIFRoaXMgcmVxdWlyZW1lbnQgaXMgbWFuZGF0ZWQgc28gdGhhdCB1bmF1dGhvcml6ZWQgaG9zdHMKKwl3b3VsZCBub3QgYmUgYWJsZSB0byBoaWphY2sgYXNzb2NpYXRpb25zLiAgSG93ZXZlciwgb2xkZXIKKwlpbXBsZW1lbnRhdGlvbnMgbWF5IG5vdCBoYXZlIGltcGxlbWVudGVkIHRoaXMgcmVxdWlyZW1lbnQgd2hpbGUKKwlhbGxvd2luZyB0aGUgQURELUlQIGV4dGVuc2lvbi4gIEZvciByZWFzb25zIG9mIGludGVyb3BlcmFiaWxpdHksCisJd2UgcHJvdmlkZSB0aGlzIHZhcmlhYmxlIHRvIGNvbnRyb2wgdGhlIGVuZm9yY2VtZW50IG9mIHRoZQorCWF1dGhlbnRpY2F0aW9uIHJlcXVpcmVtZW50LgorCisJMTogQWxsb3cgQURELUlQIGV4dGVuc2lvbiB0byBiZSB1c2VkIHdpdGhvdXQgYXV0aGVudGljYXRpb24uICBUaGlzCisJICAgc2hvdWxkIG9ubHkgYmUgc2V0IGluIGEgY2xvc2VkIGVudmlyb25tZW50IGZvciBpbnRlcm9wZXJhYmlsaXR5CisJICAgd2l0aCBvbGRlciBpbXBsZW1lbnRhdGlvbnMuCisKKwkwOiBFbmZvcmNlIHRoZSBhdXRoZW50aWNhdGlvbiByZXF1aXJlbWVudAorCisJRGVmYXVsdDogMAorCithdXRoX2VuYWJsZSAtIEJPT0xFQU4KKwlFbmFibGUgb3IgZGlzYWJsZSBBdXRoZW50aWNhdGVkIENodW5rcyBleHRlbnNpb24uICBUaGlzIGV4dGVuc2lvbgorCXByb3ZpZGVzIHRoZSBhYmlsaXR5IHRvIHNlbmQgYW5kIHJlY2VpdmUgYXV0aGVudGljYXRlZCBjaHVua3MgYW5kIGlzCisJcmVxdWlyZWQgZm9yIHNlY3VyZSBvcGVyYXRpb24gb2YgRHluYW1pYyBBZGRyZXNzIFJlY29uZmlndXJhdGlvbgorCShBREQtSVApIGV4dGVuc2lvbi4KKworCTE6IEVuYWJsZSB0aGlzIGV4dGVuc2lvbi4KKwkwOiBEaXNhYmxlIHRoaXMgZXh0ZW5zaW9uLgorCisJRGVmYXVsdDogMAorCitwcnNjdHBfZW5hYmxlIC0gQk9PTEVBTgorCUVuYWJsZSBvciBkaXNhYmxlIHRoZSBQYXJ0aWFsIFJlbGlhYmlsaXR5IGV4dGVuc2lvbiAoUkZDMzc1OCkgd2hpY2gKKwlpcyB1c2VkIHRvIG5vdGlmeSBwZWVycyB0aGF0IGEgZ2l2ZW4gREFUQSBzaG91bGQgbm8gbG9uZ2VyIGJlIGV4cGVjdGVkLgorCisJMTogRW5hYmxlIGV4dGVuc2lvbgorCTA6IERpc2FibGUKKworCURlZmF1bHQ6IDEKKworbWF4X2J1cnN0IC0gSU5URUdFUgorCVRoZSBsaW1pdCBvZiB0aGUgbnVtYmVyIG9mIG5ldyBwYWNrZXRzIHRoYXQgY2FuIGJlIGluaXRpYWxseSBzZW50LiAgSXQKKwljb250cm9scyBob3cgYnVyc3R5IHRoZSBnZW5lcmF0ZWQgdHJhZmZpYyBjYW4gYmUuCisKKwlEZWZhdWx0OiA0CisKK2Fzc29jaWF0aW9uX21heF9yZXRyYW5zIC0gSU5URUdFUgorCVNldCB0aGUgbWF4aW11bSBudW1iZXIgZm9yIHJldHJhbnNtaXNzaW9ucyB0aGF0IGFuIGFzc29jaWF0aW9uIGNhbgorCWF0dGVtcHQgZGVjaWRpbmcgdGhhdCB0aGUgcmVtb3RlIGVuZCBpcyB1bnJlYWNoYWJsZS4gIElmIHRoaXMgdmFsdWUKKwlpcyBleGNlZWRlZCwgdGhlIGFzc29jaWF0aW9uIGlzIHRlcm1pbmF0ZWQuCisKKwlEZWZhdWx0OiAxMAorCittYXhfaW5pdF9yZXRyYW5zbWl0cyAtIElOVEVHRVIKKwlUaGUgbWF4aW11bSBudW1iZXIgb2YgcmV0cmFuc21pc3Npb25zIG9mIElOSVQgYW5kIENPT0tJRS1FQ0hPIGNodW5rcworCXRoYXQgYW4gYXNzb2NpYXRpb24gd2lsbCBhdHRlbXB0IGJlZm9yZSBkZWNsYXJpbmcgdGhlIGRlc3RpbmF0aW9uCisJdW5yZWFjaGFibGUgYW5kIHRlcm1pbmF0aW5nLgorCisJRGVmYXVsdDogOAorCitwYXRoX21heF9yZXRyYW5zIC0gSU5URUdFUgorCVRoZSBtYXhpbXVtIG51bWJlciBvZiByZXRyYW5zbWlzc2lvbnMgdGhhdCB3aWxsIGJlIGF0dGVtcHRlZCBvbiBhIGdpdmVuCisJcGF0aC4gIE9uY2UgdGhpcyB0aHJlc2hvbGQgaXMgZXhjZWVkZWQsIHRoZSBwYXRoIGlzIGNvbnNpZGVyZWQKKwl1bnJlYWNoYWJsZSwgYW5kIG5ldyB0cmFmZmljIHdpbGwgdXNlIGEgZGlmZmVyZW50IHBhdGggd2hlbiB0aGUKKwlhc3NvY2lhdGlvbiBpcyBtdWx0aWhvbWVkLgorCisJRGVmYXVsdDogNQorCitydG9faW5pdGlhbCAtIElOVEVHRVIKKwlUaGUgaW5pdGlhbCByb3VuZCB0cmlwIHRpbWVvdXQgdmFsdWUgaW4gbWlsbGlzZWNvbmRzIHRoYXQgd2lsbCBiZSB1c2VkCisJaW4gY2FsY3VsYXRpbmcgcm91bmQgdHJpcCB0aW1lcy4gIFRoaXMgaXMgdGhlIGluaXRpYWwgdGltZSBpbnRlcnZhbAorCWZvciByZXRyYW5zbWlzc2lvbnMuCisKKwlEZWZhdWx0OiAzMDAwCisKK3J0b19tYXggLSBJTlRFR0VSCisJVGhlIG1heGltdW0gdmFsdWUgKGluIG1pbGxpc2Vjb25kcykgb2YgdGhlIHJvdW5kIHRyaXAgdGltZW91dC4gIFRoaXMKKwlpcyB0aGUgbGFyZ2VzdCB0aW1lIGludGVydmFsIHRoYXQgY2FuIGVsYXBzZSBiZXR3ZWVuIHJldHJhbnNtaXNzaW9ucy4KKworCURlZmF1bHQ6IDYwMDAwCisKK3J0b19taW4gLSBJTlRFR0VSCisJVGhlIG1pbmltdW0gdmFsdWUgKGluIG1pbGxpc2Vjb25kcykgb2YgdGhlIHJvdW5kIHRyaXAgdGltZW91dC4gIFRoaXMKKwlpcyB0aGUgc21hbGxlc3QgdGltZSBpbnRlcnZhbCB0aGUgY2FuIGVsYXBzZSBiZXR3ZWVuIHJldHJhbnNtaXNzaW9ucy4KKworCURlZmF1bHQ6IDEwMDAKKworaGJfaW50ZXJ2YWwgLSBJTlRFR0VSCisJVGhlIGludGVydmFsIChpbiBtaWxsaXNlY29uZHMpIGJldHdlZW4gSEVBUlRCRUFUIGNodW5rcy4gIFRoZXNlIGNodW5rcworCWFyZSBzZW50IGF0IHRoZSBzcGVjaWZpZWQgaW50ZXJ2YWwgb24gaWRsZSBwYXRocyB0byBwcm9iZSB0aGUgc3RhdGUgb2YKKwlhIGdpdmVuIHBhdGggYmV0d2VlbiAyIGFzc29jaWF0aW9ucy4KKworCURlZmF1bHQ6IDMwMDAwCisKK3NhY2tfdGltZW91dCAtIElOVEVHRVIKKwlUaGUgYW1vdW50IG9mIHRpbWUgKGluIG1pbGxpc2Vjb25kcykgdGhhdCB0aGUgaW1wbGVtZW50YXRpb24gd2lsbCB3YWl0CisJdG8gc2VuZCBhIFNBQ0suCisKKwlEZWZhdWx0OiAyMDAKKwordmFsaWRfY29va2llX2xpZmUgLSBJTlRFR0VSCisJVGhlIGRlZmF1bHQgbGlmZXRpbWUgb2YgdGhlIFNDVFAgY29va2llIChpbiBtaWxsaXNlY29uZHMpLiAgVGhlIGNvb2tpZQorCWlzIHVzZWQgZHVyaW5nIGFzc29jaWF0aW9uIGVzdGFibGlzaG1lbnQuCisKKwlEZWZhdWx0OiA2MDAwMAorCitjb29raWVfcHJlc2VydmVfZW5hYmxlIC0gQk9PTEVBTgorCUVuYWJsZSBvciBkaXNhYmxlIHRoZSBhYmlsaXR5IHRvIGV4dGVuZCB0aGUgbGlmZXRpbWUgb2YgdGhlIFNDVFAgY29va2llCisJdGhhdCBpcyB1c2VkIGR1cmluZyB0aGUgZXN0YWJsaXNobWVudCBwaGFzZSBvZiBTQ1RQIGFzc29jaWF0aW9uCisKKwkxOiBFbmFibGUgY29va2llIGxpZmV0aW1lIGV4dGVuc2lvbi4KKwkwOiBEaXNhYmxlCisKKwlEZWZhdWx0OiAxCisKK3JjdmJ1Zl9wb2xpY3kgLSBJTlRFR0VSCisJRGV0ZXJtaW5lcyBpZiB0aGUgcmVjZWl2ZSBidWZmZXIgaXMgYXR0cmlidXRlZCB0byB0aGUgc29ja2V0IG9yIHRvCisJYXNzb2NpYXRpb24uICAgU0NUUCBzdXBwb3J0cyB0aGUgY2FwYWJpbGl0eSB0byBjcmVhdGUgbXVsdGlwbGUKKwlhc3NvY2lhdGlvbnMgb24gYSBzaW5nbGUgc29ja2V0LiAgV2hlbiB1c2luZyB0aGlzIGNhcGFiaWxpdHksIGl0IGlzCisJcG9zc2libGUgdGhhdCBhIHNpbmdsZSBzdGFsbGVkIGFzc29jaWF0aW9uIHRoYXQncyBidWZmZXJpbmcgYSBsb3QKKwlvZiBkYXRhIG1heSBibG9jayBvdGhlciBhc3NvY2lhdGlvbnMgZnJvbSBkZWxpdmVyaW5nIHRoZWlyIGRhdGEgYnkKKwljb25zdW1pbmcgYWxsIG9mIHRoZSByZWNlaXZlIGJ1ZmZlciBzcGFjZS4gIFRvIHdvcmsgYXJvdW5kIHRoaXMsCisJdGhlIHJjdmJ1Zl9wb2xpY3kgY291bGQgYmUgc2V0IHRvIGF0dHJpYnV0ZSB0aGUgcmVjZWl2ZXIgYnVmZmVyIHNwYWNlCisJdG8gZWFjaCBhc3NvY2lhdGlvbiBpbnN0ZWFkIG9mIHRoZSBzb2NrZXQuICBUaGlzIHByZXZlbnRzIHRoZSBkZXNjcmliZWQKKwlibG9ja2luZy4KKworCTE6IHJjdmJ1ZiBzcGFjZSBpcyBwZXIgYXNzb2NpYXRpb24KKwkwOiByZWNidWYgc3BhY2UgaXMgcGVyIHNvY2tldAorCisJRGVmYXVsdDogMAorCitzbmRidWZfcG9saWN5IC0gSU5URUdFUgorCVNpbWlsYXIgdG8gcmN2YnVmX3BvbGljeSBhYm92ZSwgdGhpcyBhcHBsaWVzIHRvIHNlbmQgYnVmZmVyIHNwYWNlLgorCisJMTogU2VuZCBidWZmZXIgaXMgdHJhY2tlZCBwZXIgYXNzb2NpYXRpb24KKwkwOiBTZW5kIGJ1ZmZlciBpcyB0cmFja2VkIHBlciBzb2NrZXQuCisKKwlEZWZhdWx0OiAwCisKK3NjdHBfbWVtIC0gdmVjdG9yIG9mIDMgSU5URUdFUnM6IG1pbiwgcHJlc3N1cmUsIG1heAorCU51bWJlciBvZiBwYWdlcyBhbGxvd2VkIGZvciBxdWV1ZWluZyBieSBhbGwgU0NUUCBzb2NrZXRzLgorCisJbWluOiBCZWxvdyB0aGlzIG51bWJlciBvZiBwYWdlcyBTQ1RQIGlzIG5vdCBib3RoZXJlZCBhYm91dCBpdHMKKwltZW1vcnkgYXBwZXRpdGUuIFdoZW4gYW1vdW50IG9mIG1lbW9yeSBhbGxvY2F0ZWQgYnkgU0NUUCBleGNlZWRzCisJdGhpcyBudW1iZXIsIFNDVFAgc3RhcnRzIHRvIG1vZGVyYXRlIG1lbW9yeSB1c2FnZS4KKworCXByZXNzdXJlOiBUaGlzIHZhbHVlIHdhcyBpbnRyb2R1Y2VkIHRvIGZvbGxvdyBmb3JtYXQgb2YgdGNwX21lbS4KKworCW1heDogTnVtYmVyIG9mIHBhZ2VzIGFsbG93ZWQgZm9yIHF1ZXVlaW5nIGJ5IGFsbCBTQ1RQIHNvY2tldHMuCisKKwlEZWZhdWx0IGlzIGNhbGN1bGF0ZWQgYXQgYm9vdCB0aW1lIGZyb20gYW1vdW50IG9mIGF2YWlsYWJsZSBtZW1vcnkuCisKK3NjdHBfcm1lbSAtIHZlY3RvciBvZiAzIElOVEVHRVJzOiBtaW4sIGRlZmF1bHQsIG1heAorCVNlZSB0Y3Bfcm1lbSBmb3IgYSBkZXNjcmlwdGlvbi4KKworc2N0cF93bWVtICAtIHZlY3RvciBvZiAzIElOVEVHRVJzOiBtaW4sIGRlZmF1bHQsIG1heAorCVNlZSB0Y3Bfd21lbSBmb3IgYSBkZXNjcmlwdGlvbi4KKwogVU5ET0NVTUVOVEVEOgogCi1kZXZfd2VpZ2h0IEZJWE1FCi1kaXNjb3Zlcnlfc2xvdHMgRklYTUUKLWRpc2NvdmVyeV90aW1lb3V0IEZJWE1FCi1mYXN0X3BvbGxfaW5jcmVhc2UgRklYTUUKLWlwNl9xdWV1ZV9tYXhsZW4gRklYTUUKLWxhcF9rZWVwYWxpdmVfdGltZSBGSVhNRQotbG9fY29uZyBGSVhNRQotbWF4X2JhdWRfcmF0ZSBGSVhNRQotbWF4X2RncmFtX3FsZW4gRklYTUUKLW1heF9ub3JlcGx5X3RpbWUgRklYTUUKLW1heF90eF9kYXRhX3NpemUgRklYTUUKLW1heF90eF93aW5kb3cgRklYTUUKLW1pbl90eF90dXJuX3RpbWUgRklYTUUKLW1vZF9jb25nIEZJWE1FCi1ub19jb25nIEZJWE1FCi1ub19jb25nX3RocmVzaCBGSVhNRQotc2xvdF90aW1lb3V0IEZJWE1FCi13YXJuX25vcmVwbHlfdGltZSBGSVhNRQorL3Byb2Mvc3lzL25ldC9jb3JlLyoKKwlkZXZfd2VpZ2h0IEZJWE1FCiAKKy9wcm9jL3N5cy9uZXQvdW5peC8qCisJbWF4X2RncmFtX3FsZW4gRklYTUUKKworL3Byb2Mvc3lzL25ldC9pcmRhLyoKKwlmYXN0X3BvbGxfaW5jcmVhc2UgRklYTUUKKwl3YXJuX25vcmVwbHlfdGltZSBGSVhNRQorCWRpc2NvdmVyeV9zbG90cyBGSVhNRQorCXNsb3RfdGltZW91dCBGSVhNRQorCW1heF9iYXVkX3JhdGUgRklYTUUKKwlkaXNjb3ZlcnlfdGltZW91dCBGSVhNRQorCWxhcF9rZWVwYWxpdmVfdGltZSBGSVhNRQorCW1heF9ub3JlcGx5X3RpbWUgRklYTUUKKwltYXhfdHhfZGF0YV9zaXplIEZJWE1FCisJbWF4X3R4X3dpbmRvdyBGSVhNRQorCW1pbl90eF90dXJuX3RpbWUgRklYTUUKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vbm1pX3dhdGNoZG9nLnR4dCBiL0RvY3VtZW50YXRpb24vbm1pX3dhdGNoZG9nLnR4dAppbmRleCA3NTdjNzI5Li45MGFhNDUzIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL25taV93YXRjaGRvZy50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9ubWlfd2F0Y2hkb2cudHh0CkBAIC0xMCw3ICsxMCw3IEBACiB3aGljaCBnZXQgZXhlY3V0ZWQgZXZlbiBpZiB0aGUgc3lzdGVtIGlzIG90aGVyd2lzZSBsb2NrZWQgdXAgaGFyZCkuCiBUaGlzIGNhbiBiZSB1c2VkIHRvIGRlYnVnIGhhcmQga2VybmVsIGxvY2t1cHMuICBCeSBleGVjdXRpbmcgcGVyaW9kaWMKIE5NSSBpbnRlcnJ1cHRzLCB0aGUga2VybmVsIGNhbiBtb25pdG9yIHdoZXRoZXIgYW55IENQVSBoYXMgbG9ja2VkIHVwLAotYW5kIHByaW50IG91dCBkZWJ1Z2dpbmcgbWVzc2FnZXMgaWYgc28uICAKK2FuZCBwcmludCBvdXQgZGVidWdnaW5nIG1lc3NhZ2VzIGlmIHNvLgogCiBJbiBvcmRlciB0byB1c2UgdGhlIE5NSSB3YXRjaGRvZywgeW91IG5lZWQgdG8gaGF2ZSBBUElDIHN1cHBvcnQgaW4geW91cgoga2VybmVsLiBGb3IgU01QIGtlcm5lbHMsIEFQSUMgc3VwcG9ydCBnZXRzIGNvbXBpbGVkIGluIGF1dG9tYXRpY2FsbHkuIEZvcgpAQCAtMjIsOCArMjIsNyBAQAoga2VybmVsIGRlYnVnZ2luZyBvcHRpb25zLCBzdWNoIGFzIEtlcm5lbCBTdGFjayBNZXRlciBvciBLZXJuZWwgVHJhY2VyLAogbWF5IGltcGxpY2l0bHkgZGlzYWJsZSB0aGUgTk1JIHdhdGNoZG9nLl0KIAotRm9yIHg4Ni02NCwgdGhlIG5lZWRlZCBBUElDIGlzIGFsd2F5cyBjb21waWxlZCBpbiwgYW5kIHRoZSBOTUkgd2F0Y2hkb2cgaXMKLWFsd2F5cyBlbmFibGVkIHdpdGggSS9PLUFQSUMgbW9kZSAobm1pX3dhdGNoZG9nPTEpLgorRm9yIHg4Ni02NCwgdGhlIG5lZWRlZCBBUElDIGlzIGFsd2F5cyBjb21waWxlZCBpbi4KIAogVXNpbmcgbG9jYWwgQVBJQyAobm1pX3dhdGNoZG9nPTIpIG5lZWRzIHRoZSBmaXJzdCBwZXJmb3JtYW5jZSByZWdpc3Rlciwgc28KIHlvdSBjYW4ndCB1c2UgaXQgZm9yIG90aGVyIHB1cnBvc2VzIChzdWNoIGFzIGhpZ2ggcHJlY2lzaW9uIHBlcmZvcm1hbmNlCkBAIC02MywxNiArNjIsMTUgQEAKICJobHQiLCB0aGVuIHlvdSBhcmUgb3V0IG9mIGx1Y2sgLS0gdGhlIGV2ZW50IHdpbGwgbm90IGhhcHBlbiBhdCBhbGwgYW5kIHRoZQogd2F0Y2hkb2cgd29uJ3QgdHJpZ2dlci4gVGhpcyBpcyBhIHNob3J0Y29taW5nIG9mIHRoZSBsb2NhbCBBUElDIHdhdGNoZG9nCiAtLSB1bmZvcnR1bmF0ZWx5IHRoZXJlIGlzIG5vICJjbG9jayB0aWNrcyIgZXZlbnQgdGhhdCB3b3VsZCB3b3JrIGFsbCB0aGUKLXRpbWUuIFRoZSBJL08gQVBJQyB3YXRjaGRvZyBpcyBkcml2ZW4gZXh0ZXJuYWxseSBhbmQgaGFzIG5vIHN1Y2ggc2hvcnRjb21pbmcuICAKK3RpbWUuIFRoZSBJL08gQVBJQyB3YXRjaGRvZyBpcyBkcml2ZW4gZXh0ZXJuYWxseSBhbmQgaGFzIG5vIHN1Y2ggc2hvcnRjb21pbmcuCiBCdXQgaXRzIE5NSSBmcmVxdWVuY3kgaXMgbXVjaCBoaWdoZXIsIHJlc3VsdGluZyBpbiBhIG1vcmUgc2lnbmlmaWNhbnQgaGl0CiB0byB0aGUgb3ZlcmFsbCBzeXN0ZW0gcGVyZm9ybWFuY2UuCiAKLU5PVEU6IHN0YXJ0aW5nIHdpdGggMi40LjItYWMxOCB0aGUgTk1JLW9vcHNlciBpcyBkaXNhYmxlZCBieSBkZWZhdWx0LAoteW91IGhhdmUgdG8gZW5hYmxlIGl0IHdpdGggYSBib290IHRpbWUgcGFyYW1ldGVyLiAgUHJpb3IgdG8gMi40LjItYWMxOAotdGhlIE5NSS1vb3BzZXIgaXMgZW5hYmxlZCB1bmNvbmRpdGlvbmFsbHkgb24geDg2IFNNUCBib3hlcy4KK09uIHg4NiBubWlfd2F0Y2hkb2cgaXMgZGlzYWJsZWQgYnkgZGVmYXVsdCBzbyB5b3UgaGF2ZSB0byBlbmFibGUgaXQgd2l0aAorYSBib290IHRpbWUgcGFyYW1ldGVyLgogCi1PbiB4ODYtNjQgdGhlIE5NSSBvb3BzZXIgaXMgb24gYnkgZGVmYXVsdC4gT24gNjRiaXQgSW50ZWwgQ1BVcwotaXQgdXNlcyBJTy1BUElDIGJ5IGRlZmF1bHQgYW5kIG9uIEFNRCBpdCB1c2VzIGxvY2FsIEFQSUMuCitOT1RFOiBJbiBrZXJuZWxzIHByaW9yIHRvIDIuNC4yLWFjMTggdGhlIE5NSS1vb3BzZXIgaXMgZW5hYmxlZCB1bmNvbmRpdGlvbmFsbHkKK29uIHg4NiBTTVAgYm94ZXMuCiAKIFsgZmVlbCBmcmVlIHRvIHNlbmQgYnVnIHJlcG9ydHMsIHN1Z2dlc3Rpb25zIGFuZCBwYXRjaGVzIHRvCiAgIEluZ28gTW9sbmFyIDxtaW5nb0ByZWRoYXQuY29tPiBvciB0aGUgTGludXggU01QIG1haWxpbmcKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vc2NoZWR1bGVyL3NjaGVkLWRvbWFpbnMudHh0IGIvRG9jdW1lbnRhdGlvbi9zY2hlZHVsZXIvc2NoZWQtZG9tYWlucy50eHQKaW5kZXggYTllOTkwYS4uMzczY2VhYyAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9zY2hlZHVsZXIvc2NoZWQtZG9tYWlucy50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9zY2hlZHVsZXIvc2NoZWQtZG9tYWlucy50eHQKQEAgLTYxLDEwICs2MSw3IEBACiBhcmNoX2luaXRfc2NoZWRfZG9tYWlucyBmdW5jdGlvbi4gVGhpcyBmdW5jdGlvbiB3aWxsIGF0dGFjaCBkb21haW5zIHRvIGFsbAogQ1BVcyB1c2luZyBjcHVfYXR0YWNoX2RvbWFpbi4KIAotSW1wbGVtZW50b3JzIHNob3VsZCBjaGFuZ2UgdGhlIGxpbmUKLSN1bmRlZiBTQ0hFRF9ET01BSU5fREVCVUcKLXRvCi0jZGVmaW5lIFNDSEVEX0RPTUFJTl9ERUJVRwotaW4ga2VybmVsL3NjaGVkLmMgYXMgdGhpcyBlbmFibGVzIGFuIGVycm9yIGNoZWNraW5nIHBhcnNlIG9mIHRoZSBzY2hlZCBkb21haW5zCitUaGUgc2NoZWQtZG9tYWlucyBkZWJ1Z2dpbmcgaW5mcmFzdHJ1Y3R1cmUgY2FuIGJlIGVuYWJsZWQgYnkgZW5hYmxpbmcKK0NPTkZJR19TQ0hFRF9ERUJVRy4gVGhpcyBlbmFibGVzIGFuIGVycm9yIGNoZWNraW5nIHBhcnNlIG9mIHRoZSBzY2hlZCBkb21haW5zCiB3aGljaCBzaG91bGQgY2F0Y2ggbW9zdCBwb3NzaWJsZSBlcnJvcnMgKGRlc2NyaWJlZCBhYm92ZSkuIEl0IGFsc28gcHJpbnRzIG91dAogdGhlIGRvbWFpbiBzdHJ1Y3R1cmUgaW4gYSB2aXN1YWwgZm9ybWF0LgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9zY2hlZHVsZXIvc2NoZWQtcnQtZ3JvdXAudHh0IGIvRG9jdW1lbnRhdGlvbi9zY2hlZHVsZXIvc2NoZWQtcnQtZ3JvdXAudHh0CmluZGV4IDE0ZjkwMWYuLjNlZjMzOWYgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vc2NoZWR1bGVyL3NjaGVkLXJ0LWdyb3VwLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL3NjaGVkdWxlci9zY2hlZC1ydC1ncm91cC50eHQKQEAgLTUxLDkgKzUxLDkgQEAKIDAuMDAwMTVzLiBTbyB0aGlzIGdyb3VwIGNhbiBiZSBzY2hlZHVsZWQgd2l0aCBhIHBlcmlvZCBvZiAwLjAwNXMgYW5kIGEgcnVuIHRpbWUKIG9mIDAuMDAwMTVzLgogCi1UaGUgcmVtYWluaW5nIENQVSB0aW1lIHdpbGwgYmUgdXNlZCBmb3IgdXNlciBpbnB1dCBhbmQgb3RoZXIgdGFzcy4gQmVjYXVzZQorVGhlIHJlbWFpbmluZyBDUFUgdGltZSB3aWxsIGJlIHVzZWQgZm9yIHVzZXIgaW5wdXQgYW5kIG90aGVyIHRhc2tzLiBCZWNhdXNlCiByZWFsdGltZSB0YXNrcyBoYXZlIGV4cGxpY2l0bHkgYWxsb2NhdGVkIHRoZSBDUFUgdGltZSB0aGV5IG5lZWQgdG8gcGVyZm9ybQotdGhlaXIgdGFza3MsIGJ1ZmZlciB1bmRlcnJ1bnMgaW4gdGhlIGdyYXBob2NzIG9yIGF1ZGlvIGNhbiBiZSBlbGltaW5hdGVkLgordGhlaXIgdGFza3MsIGJ1ZmZlciB1bmRlcnJ1bnMgaW4gdGhlIGdyYXBoaWNzIG9yIGF1ZGlvIGNhbiBiZSBlbGltaW5hdGVkLgogCiBOT1RFOiB0aGUgYWJvdmUgZXhhbXBsZSBpcyBub3QgZnVsbHkgaW1wbGVtZW50ZWQgYXMgb2YgeWV0ICgyLjYuMjUpLiBXZSBzdGlsbAogbGFjayBhbiBFREYgc2NoZWR1bGVyIHRvIG1ha2Ugbm9uLXVuaWZvcm0gcGVyaW9kcyB1c2FibGUuCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3NvdW5kL2Fsc2EvQUxTQS1Db25maWd1cmF0aW9uLnR4dCBiL0RvY3VtZW50YXRpb24vc291bmQvYWxzYS9BTFNBLUNvbmZpZ3VyYXRpb24udHh0CmluZGV4IDBiYmVlMzguLjcyYWZmNjEgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vc291bmQvYWxzYS9BTFNBLUNvbmZpZ3VyYXRpb24udHh0CisrKyBiL0RvY3VtZW50YXRpb24vc291bmQvYWxzYS9BTFNBLUNvbmZpZ3VyYXRpb24udHh0CkBAIC03NTMsOCArNzUzLDExIEBACiAKICAgICBbTXVsdGlwbGUgb3B0aW9ucyBmb3IgZWFjaCBjYXJkIGluc3RhbmNlXQogICAgIG1vZGVsCS0gZm9yY2UgdGhlIG1vZGVsIG5hbWUKLSAgICBwb3NpdGlvbl9maXggLSBGaXggRE1BIHBvaW50ZXIgKDAgPSBhdXRvLCAxID0gbm9uZSwgMiA9IFBPU0JVRiwgMyA9IEZJRk8gc2l6ZSkKKyAgICBwb3NpdGlvbl9maXggLSBGaXggRE1BIHBvaW50ZXIgKDAgPSBhdXRvLCAxID0gdXNlIExQSUIsIDIgPSBQT1NCVUYpCiAgICAgcHJvYmVfbWFzayAgLSBCaXRtYXNrIHRvIHByb2JlIGNvZGVjcyAoZGVmYXVsdCA9IC0xLCBtZWFuaW5nIGFsbCBzbG90cykKKyAgICBiZGxfcG9zX2FkagktIFNwZWNpZmllcyB0aGUgRE1BIElSUSB0aW1pbmcgZGVsYXkgaW4gc2FtcGxlcy4KKwkJUGFzc2luZyAtMSB3aWxsIG1ha2UgdGhlIGRyaXZlciB0byBjaG9vc2UgdGhlIGFwcHJvcHJpYXRlCisJCXZhbHVlIGJhc2VkIG9uIHRoZSBjb250cm9sbGVyIGNoaXAuCiAgICAgCiAgICAgW1NpbmdsZSAoZ2xvYmFsKSBvcHRpb25zXQogICAgIHNpbmdsZV9jbWQgIC0gVXNlIHNpbmdsZSBpbW1lZGlhdGUgY29tbWFuZHMgdG8gY29tbXVuaWNhdGUgd2l0aApAQCAtODQ1LDcgKzg0OCw3IEBACiAJQUxDMjY5CiAJICBiYXNpYwkJQmFzaWMgcHJlc2V0CiAKLQlBTEM2NjIKKwlBTEM2NjIvNjYzCiAJICAzc3RhY2stZGlnCTMtc3RhY2sgKDItY2hhbm5lbCkgd2l0aCBTUERJRgogCSAgM3N0YWNrLTZjaAkgMy1zdGFjayAoNi1jaGFubmVsKQogCSAgM3N0YWNrLTZjaC1kaWcgMy1zdGFjayAoNi1jaGFubmVsKSB3aXRoIFNQRElGCkBAIC04NTMsNiArODU2LDEwIEBACiAJICBsZW5vdm8tMTAxZQkgTGVub3ZvIGxhcHRvcAogCSAgZWVlcGMtcDcwMQlBU1VTIEVlZXBjIFA3MDEKIAkgIGVlZXBjLWVwMjAJQVNVUyBFZWVwYyBFUDIwCisJICBtNTF2YQkJQVNVUyBNNTFWQQorCSAgZzcxdgkJQVNVUyBHNzFWCisJICBoMTMJCUFTVVMgSDEzCisJICBnNTB2CQlBU1VTIEc1MFYKIAkgIGF1dG8JCWF1dG8tY29uZmlnIHJlYWRpbmcgQklPUyAoZGVmYXVsdCkKIAogCUFMQzg4Mi84ODUKQEAgLTEwOTEsNyArMTA5OCw3IEBACiAgICAgVGhpcyBvY2N1cnMgd2hlbiB0aGUgYWNjZXNzIHRvIG5vbi1leGlzdGluZyBvciBub24td29ya2luZyBjb2RlYyBzbG90CiAgICAgKGxpa2VseSBhIG1vZGVtIG9uZSkgY2F1c2VzIGEgc3RhbGwgb2YgdGhlIGNvbW11bmljYXRpb24gdmlhIEhELWF1ZGlvCiAgICAgYnVzLiAgWW91IGNhbiBzZWUgd2hpY2ggY29kZWMgc2xvdHMgYXJlIHByb2JlZCBieSBlbmFibGluZwotICAgIENPTkZJR19TTkRfREVCVUdfREVURUNULCBvciBzaW1wbHkgZnJvbSB0aGUgZmlsZSBuYW1lIG9mIHRoZSBjb2RlYworICAgIENPTkZJR19TTkRfREVCVUdfVkVSQk9TRSwgb3Igc2ltcGx5IGZyb20gdGhlIGZpbGUgbmFtZSBvZiB0aGUgY29kZWMKICAgICBwcm9jIGZpbGVzLiAgVGhlbiBsaW1pdCB0aGUgc2xvdHMgdG8gcHJvYmUgYnkgcHJvYmVfbWFzayBvcHRpb24uCiAgICAgRm9yIGV4YW1wbGUsIHByb2JlX21hc2s9MSBtZWFucyB0byBwcm9iZSBvbmx5IHRoZSBmaXJzdCBzbG90LCBhbmQKICAgICBwcm9iZV9tYXNrPTQgbWVhbnMgb25seSB0aGUgdGhpcmQgc2xvdC4KQEAgLTIyNjcsNiArMjI3NCwxMCBAQAogb3RoZXIgZHJpdmVyIChlLmcuIHNuZC11c2ItYXVkaW8pIGlzIGxvYWRlZCBiZWZvcmUgc25kLWludGVyd2F2ZSBvcgogc25kLWVuczEzNzEsIGl0IHdpbGwgYmUgYXNzaWduZWQgdG8gdGhlIHRoaXJkIG9yIGxhdGVyIHNsb3QuCiAKK1doZW4gYSBtb2R1bGUgbmFtZSBpcyBnaXZlbiB3aXRoICchJywgdGhlIHNsb3Qgd2lsbCBiZSBnaXZlbiBmb3IgYW55Cittb2R1bGVzIGJ1dCB0aGF0IG5hbWUuICBGb3IgZXhhbXBsZSwgInNsb3RzPSFzbmQtcGNzcCIgd2lsbCByZXNlcnZlCit0aGUgZmlyc3Qgc2xvdCBmb3IgYW55IG1vZHVsZXMgYnV0IHNuZC1wY3NwLiAKKwogCiBBTFNBIFBDTSBkZXZpY2VzIHRvIE9TUyBkZXZpY2VzIG1hcHBpbmcKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9zb3VuZC9hbHNhL0RvY0Jvb2svd3JpdGluZy1hbi1hbHNhLWRyaXZlci50bXBsIGIvRG9jdW1lbnRhdGlvbi9zb3VuZC9hbHNhL0RvY0Jvb2svd3JpdGluZy1hbi1hbHNhLWRyaXZlci50bXBsCmluZGV4IGIwM2RmNGQ0Li5lMTNjNGU2IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL3NvdW5kL2Fsc2EvRG9jQm9vay93cml0aW5nLWFuLWFsc2EtZHJpdmVyLnRtcGwKKysrIGIvRG9jdW1lbnRhdGlvbi9zb3VuZC9hbHNhL0RvY0Jvb2svd3JpdGluZy1hbi1hbHNhLWRyaXZlci50bXBsCkBAIC02MTI3LDggKzYxMjcsOCBAQAogCiAgICAgICA8cGFyYT4KICAgICAgICAgPGZ1bmN0aW9uPnNuZF9wcmludGRkKCk8L2Z1bmN0aW9uPiBpcyBjb21waWxlZCBpbiBvbmx5IHdoZW4KLSAgICAgIDxjb25zdGFudD5DT05GSUdfU05EX0RFQlVHX0RFVEVDVDwvY29uc3RhbnQ+IGlzIHNldC4gUGxlYXNlIG5vdGUKLSAgICAgIHRoYXQgPGNvbnN0YW50PkRFQlVHX0RFVEVDVDwvY29uc3RhbnQ+IGlzIG5vdCBzZXQgYXMgZGVmYXVsdAorICAgICAgPGNvbnN0YW50PkNPTkZJR19TTkRfREVCVUdfVkVSQk9TRTwvY29uc3RhbnQ+IGlzIHNldC4gUGxlYXNlIG5vdGUKKyAgICAgIHRoYXQgPGNvbnN0YW50PkNPTkZJR19TTkRfREVCVUdfVkVSQk9TRTwvY29uc3RhbnQ+IGlzIG5vdCBzZXQgYXMgZGVmYXVsdAogICAgICAgZXZlbiBpZiB5b3UgY29uZmlndXJlIHRoZSBhbHNhLWRyaXZlciB3aXRoCiAgICAgICA8b3B0aW9uPi0td2l0aC1kZWJ1Zz1mdWxsPC9vcHRpb24+IG9wdGlvbi4gWW91IG5lZWQgdG8gZ2l2ZQogICAgICAgZXhwbGljaXRseSA8b3B0aW9uPi0td2l0aC1kZWJ1Zz1kZXRlY3Q8L29wdGlvbj4gb3B0aW9uIGluc3RlYWQuIApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi90cmFjZXJzL21taW90cmFjZS50eHQgYi9Eb2N1bWVudGF0aW9uL3RyYWNlcnMvbW1pb3RyYWNlLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNGFmYjU2Ci0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi90cmFjZXJzL21taW90cmFjZS50eHQKQEAgLTAsMCArMSwxNjQgQEAKKwkJSW4ta2VybmVsIG1lbW9yeS1tYXBwZWQgSS9PIHRyYWNpbmcKKworCitIb21lIHBhZ2UgYW5kIGxpbmtzIHRvIG9wdGlvbmFsIHVzZXIgc3BhY2UgdG9vbHM6CisKKwlodHRwOi8vbm91dmVhdS5mcmVlZGVza3RvcC5vcmcvd2lraS9NbWlvVHJhY2UKKworTU1JTyB0cmFjaW5nIHdhcyBvcmlnaW5hbGx5IGRldmVsb3BlZCBieSBJbnRlbCBhcm91bmQgMjAwMyBmb3IgdGhlaXIgRmF1bHQKK0luamVjdGlvbiBUZXN0IEhhcm5lc3MuIEluIERlYyAyMDA2IC0gSmFuIDIwMDcsIHVzaW5nIHRoZSBjb2RlIGZyb20gSW50ZWwsCitKZWZmIE11aXplbGFhciBjcmVhdGVkIGEgdG9vbCBmb3IgdHJhY2luZyBNTUlPIGFjY2Vzc2VzIHdpdGggdGhlIE5vdXZlYXUKK3Byb2plY3QgaW4gbWluZC4gU2luY2UgdGhlbiBtYW55IHBlb3BsZSBoYXZlIGNvbnRyaWJ1dGVkLgorCitNbWlvdHJhY2Ugd2FzIGJ1aWx0IGZvciByZXZlcnNlIGVuZ2luZWVyaW5nIGFueSBtZW1vcnktbWFwcGVkIElPIGRldmljZSB3aXRoCit0aGUgTm91dmVhdSBwcm9qZWN0IGFzIHRoZSBmaXJzdCByZWFsIHVzZXIuIE9ubHkgeDg2IGFuZCB4ODZfNjQgYXJjaGl0ZWN0dXJlcworYXJlIHN1cHBvcnRlZC4KKworT3V0LW9mLXRyZWUgbW1pb3RyYWNlIHdhcyBvcmlnaW5hbGx5IG1vZGlmaWVkIGZvciBtYWlubGluZSBpbmNsdXNpb24gYW5kCitmdHJhY2UgZnJhbWV3b3JrIGJ5IFBla2thIFBhYWxhbmVuIDxwcUBpa2kuZmk+LgorCisKK1ByZXBhcmF0aW9uCistLS0tLS0tLS0tLQorCitNbWlvdHJhY2UgZmVhdHVyZSBpcyBjb21waWxlZCBpbiBieSB0aGUgQ09ORklHX01NSU9UUkFDRSBvcHRpb24uIFRyYWNpbmcgaXMKK2Rpc2FibGVkIGJ5IGRlZmF1bHQsIHNvIGl0IGlzIHNhZmUgdG8gaGF2ZSB0aGlzIHNldCB0byB5ZXMuIFNNUCBzeXN0ZW1zIGFyZQorc3VwcG9ydGVkLCBidXQgdHJhY2luZyBpcyB1bnJlbGlhYmxlIGFuZCBtYXkgbWlzcyBldmVudHMgaWYgbW9yZSB0aGFuIG9uZSBDUFUKK2lzIG9uLWxpbmUsIHRoZXJlZm9yZSBtbWlvdHJhY2UgdGFrZXMgYWxsIGJ1dCBvbmUgQ1BVIG9mZi1saW5lIGR1cmluZyBydW4tdGltZQorYWN0aXZhdGlvbi4gWW91IGNhbiByZS1lbmFibGUgQ1BVcyBieSBoYW5kLCBidXQgeW91IGhhdmUgYmVlbiB3YXJuZWQsIHRoZXJlCitpcyBubyB3YXkgdG8gYXV0b21hdGljYWxseSBkZXRlY3QgaWYgeW91IGFyZSBsb3NpbmcgZXZlbnRzIGR1ZSB0byBDUFVzIHJhY2luZy4KKworCitVc2FnZSBRdWljayBSZWZlcmVuY2UKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCiskIG1vdW50IC10IGRlYnVnZnMgZGVidWdmcyAvZGVidWcKKyQgZWNobyBtbWlvdHJhY2UgPiAvZGVidWcvdHJhY2luZy9jdXJyZW50X3RyYWNlcgorJCBjYXQgL2RlYnVnL3RyYWNpbmcvdHJhY2VfcGlwZSA+IG15ZHVtcC50eHQgJgorU3RhcnQgWCBvciB3aGF0ZXZlci4KKyQgZWNobyAiWCBpcyB1cCIgPiAvZGVidWcvdHJhY2luZy9tYXJrZXIKKyQgZWNobyBub25lID4gL2RlYnVnL3RyYWNpbmcvY3VycmVudF90cmFjZXIKK0NoZWNrIGZvciBsb3N0IGV2ZW50cy4KKworCitVc2FnZQorLS0tLS0KKworTWFrZSBzdXJlIGRlYnVnZnMgaXMgbW91bnRlZCB0byAvZGVidWcuIElmIG5vdCwgKHJlcXVpcmVzIHJvb3QgcHJpdmlsZWdlcykKKyQgbW91bnQgLXQgZGVidWdmcyBkZWJ1Z2ZzIC9kZWJ1ZworCitDaGVjayB0aGF0IHRoZSBkcml2ZXIgeW91IGFyZSBhYm91dCB0byB0cmFjZSBpcyBub3QgbG9hZGVkLgorCitBY3RpdmF0ZSBtbWlvdHJhY2UgKHJlcXVpcmVzIHJvb3QgcHJpdmlsZWdlcyk6CiskIGVjaG8gbW1pb3RyYWNlID4gL2RlYnVnL3RyYWNpbmcvY3VycmVudF90cmFjZXIKKworU3RhcnQgc3RvcmluZyB0aGUgdHJhY2U6CiskIGNhdCAvZGVidWcvdHJhY2luZy90cmFjZV9waXBlID4gbXlkdW1wLnR4dCAmCitUaGUgJ2NhdCcgcHJvY2VzcyBzaG91bGQgc3RheSBydW5uaW5nIChzbGVlcGluZykgaW4gdGhlIGJhY2tncm91bmQuCisKK0xvYWQgdGhlIGRyaXZlciB5b3Ugd2FudCB0byB0cmFjZSBhbmQgdXNlIGl0LiBNbWlvdHJhY2Ugd2lsbCBvbmx5IGNhdGNoIE1NSU8KK2FjY2Vzc2VzIHRvIGFyZWFzIHRoYXQgYXJlIGlvcmVtYXBwZWQgd2hpbGUgbW1pb3RyYWNlIGlzIGFjdGl2ZS4KKworW1VuaW1wbGVtZW50ZWQgZmVhdHVyZTpdCitEdXJpbmcgdHJhY2luZyB5b3UgY2FuIHBsYWNlIGNvbW1lbnRzIChtYXJrZXJzKSBpbnRvIHRoZSB0cmFjZSBieQorJCBlY2hvICJYIGlzIHVwIiA+IC9kZWJ1Zy90cmFjaW5nL21hcmtlcgorVGhpcyBtYWtlcyBpdCBlYXNpZXIgdG8gc2VlIHdoaWNoIHBhcnQgb2YgdGhlIChodWdlKSB0cmFjZSBjb3JyZXNwb25kcyB0bword2hpY2ggYWN0aW9uLiBJdCBpcyByZWNvbW1lbmRlZCB0byBwbGFjZSBkZXNjcmlwdGl2ZSBtYXJrZXJzIGFib3V0IHdoYXQgeW91Citkby4KKworU2h1dCBkb3duIG1taW90cmFjZSAocmVxdWlyZXMgcm9vdCBwcml2aWxlZ2VzKToKKyQgZWNobyBub25lID4gL2RlYnVnL3RyYWNpbmcvY3VycmVudF90cmFjZXIKK1RoZSAnY2F0JyBwcm9jZXNzIGV4aXRzLiBJZiBpdCBkb2VzIG5vdCwga2lsbCBpdCBieSBpc3N1aW5nICdmZycgY29tbWFuZCBhbmQKK3ByZXNzaW5nIGN0cmwrYy4KKworQ2hlY2sgdGhhdCBtbWlvdHJhY2UgZGlkIG5vdCBsb3NlIGV2ZW50cyBkdWUgdG8gYSBidWZmZXIgZmlsbGluZyB1cC4gRWl0aGVyCiskIGdyZXAgLWkgbG9zdCBteWR1bXAudHh0Cit3aGljaCB0ZWxscyB5b3UgZXhhY3RseSBob3cgbWFueSBldmVudHMgd2VyZSBsb3N0LCBvciB1c2UKKyQgZG1lc2cKK3RvIHZpZXcgeW91ciBrZXJuZWwgbG9nIGFuZCBsb29rIGZvciAibW1pb3RyYWNlIGhhcyBsb3N0IGV2ZW50cyIgd2FybmluZy4gSWYKK2V2ZW50cyB3ZXJlIGxvc3QsIHRoZSB0cmFjZSBpcyBpbmNvbXBsZXRlLiBZb3Ugc2hvdWxkIGVubGFyZ2UgdGhlIGJ1ZmZlcnMgYW5kCit0cnkgYWdhaW4uIEJ1ZmZlcnMgYXJlIGVubGFyZ2VkIGJ5IGZpcnN0IHNlZWluZyBob3cgbGFyZ2UgdGhlIGN1cnJlbnQgYnVmZmVycworYXJlOgorJCBjYXQgL2RlYnVnL3RyYWNpbmcvdHJhY2VfZW50cmllcworZ2l2ZXMgeW91IGEgbnVtYmVyLiBBcHByb3hpbWF0ZWx5IGRvdWJsZSB0aGlzIG51bWJlciBhbmQgd3JpdGUgaXQgYmFjaywgZm9yCitpbnN0YW5jZToKKyQgZWNobyAxMjgwMDAgPiAvZGVidWcvdHJhY2luZy90cmFjZV9lbnRyaWVzCitUaGVuIHN0YXJ0IGFnYWluIGZyb20gdGhlIHRvcC4KKworSWYgeW91IGFyZSBkb2luZyBhIHRyYWNlIGZvciBhIGRyaXZlciBwcm9qZWN0LCBlLmcuIE5vdXZlYXUsIHlvdSBzaG91bGQgYWxzbworZG8gdGhlIGZvbGxvd2luZyBiZWZvcmUgc2VuZGluZyB5b3VyIHJlc3VsdHM6CiskIGxzcGNpIC12dnYgPiBsc3BjaS50eHQKKyQgZG1lc2cgPiBkbWVzZy50eHQKKyQgdGFyIHpjZiBwY2lpZC1uaWNrLW1taW90cmFjZS50YXIuZ3ogbXlkdW1wLnR4dCBsc3BjaS50eHQgZG1lc2cudHh0CithbmQgdGhlbiBzZW5kIHRoZSAudGFyLmd6IGZpbGUuIFRoZSB0cmFjZSBjb21wcmVzc2VzIGNvbnNpZGVyYWJseS4gUmVwbGFjZQorInBjaWlkIiBhbmQgIm5pY2siIHdpdGggdGhlIFBDSSBJRCBvciBtb2RlbCBuYW1lIG9mIHlvdXIgcGllY2Ugb2YgaGFyZHdhcmUKK3VuZGVyIGludmVzdGlnYXRpb24gYW5kIHlvdXIgbmljayBuYW1lLgorCisKK0hvdyBNbWlvdHJhY2UgV29ya3MKKy0tLS0tLS0tLS0tLS0tLS0tLS0KKworQWNjZXNzIHRvIGhhcmR3YXJlIElPLW1lbW9yeSBpcyBnYWluZWQgYnkgbWFwcGluZyBhZGRyZXNzZXMgZnJvbSBQQ0kgYnVzIGJ5CitjYWxsaW5nIG9uZSBvZiB0aGUgaW9yZW1hcF8qKCkgZnVuY3Rpb25zLiBNbWlvdHJhY2UgaXMgaG9va2VkIGludG8gdGhlCitfX2lvcmVtYXAoKSBmdW5jdGlvbiBhbmQgZ2V0cyBjYWxsZWQgd2hlbmV2ZXIgYSBtYXBwaW5nIGlzIGNyZWF0ZWQuIE1hcHBpbmcgaXMKK2FuIGV2ZW50IHRoYXQgaXMgcmVjb3JkZWQgaW50byB0aGUgdHJhY2UgbG9nLiBOb3RlLCB0aGF0IElTQSByYW5nZSBtYXBwaW5ncworYXJlIG5vdCBjYXVnaHQsIHNpbmNlIHRoZSBtYXBwaW5nIGFsd2F5cyBleGlzdHMgYW5kIGlzIHJldHVybmVkIGRpcmVjdGx5LgorCitNTUlPIGFjY2Vzc2VzIGFyZSByZWNvcmRlZCB2aWEgcGFnZSBmYXVsdHMuIEp1c3QgYmVmb3JlIF9faW9yZW1hcCgpIHJldHVybnMsCit0aGUgbWFwcGVkIHBhZ2VzIGFyZSBtYXJrZWQgYXMgbm90IHByZXNlbnQuIEFueSBhY2Nlc3MgdG8gdGhlIHBhZ2VzIGNhdXNlcyBhCitmYXVsdC4gVGhlIHBhZ2UgZmF1bHQgaGFuZGxlciBjYWxscyBtbWlvdHJhY2UgdG8gaGFuZGxlIHRoZSBmYXVsdC4gTW1pb3RyYWNlCittYXJrcyB0aGUgcGFnZSBwcmVzZW50LCBzZXRzIFRGIGZsYWcgdG8gYWNoaWV2ZSBzaW5nbGUgc3RlcHBpbmcgYW5kIGV4aXRzIHRoZQorZmF1bHQgaGFuZGxlci4gVGhlIGluc3RydWN0aW9uIHRoYXQgZmF1bHRlZCBpcyBleGVjdXRlZCBhbmQgZGVidWcgdHJhcCBpcworZW50ZXJlZC4gSGVyZSBtbWlvdHJhY2UgYWdhaW4gbWFya3MgdGhlIHBhZ2UgYXMgbm90IHByZXNlbnQuIFRoZSBpbnN0cnVjdGlvbgoraXMgZGVjb2RlZCB0byBnZXQgdGhlIHR5cGUgb2Ygb3BlcmF0aW9uIChyZWFkL3dyaXRlKSwgZGF0YSB3aWR0aCBhbmQgdGhlIHZhbHVlCityZWFkIG9yIHdyaXR0ZW4uIFRoZXNlIGFyZSBzdG9yZWQgdG8gdGhlIHRyYWNlIGxvZy4KKworU2V0dGluZyB0aGUgcGFnZSBwcmVzZW50IGluIHRoZSBwYWdlIGZhdWx0IGhhbmRsZXIgaGFzIGEgcmFjZSBjb25kaXRpb24gb24gU01QCittYWNoaW5lcy4gRHVyaW5nIHRoZSBzaW5nbGUgc3RlcHBpbmcgb3RoZXIgQ1BVcyBtYXkgcnVuIGZyZWVseSBvbiB0aGF0IHBhZ2UKK2FuZCBldmVudHMgY2FuIGJlIG1pc3NlZCB3aXRob3V0IGEgbm90aWNlLiBSZS1lbmFibGluZyBvdGhlciBDUFVzIGR1cmluZwordHJhY2luZyBpcyBkaXNjb3VyYWdlZC4KKworCitUcmFjZSBMb2cgRm9ybWF0CistLS0tLS0tLS0tLS0tLS0tCisKK1RoZSByYXcgbG9nIGlzIHRleHQgYW5kIGVhc2lseSBmaWx0ZXJlZCB3aXRoIGUuZy4gZ3JlcCBhbmQgYXdrLiBPbmUgcmVjb3JkIGlzCitvbmUgbGluZSBpbiB0aGUgbG9nLiBBIHJlY29yZCBzdGFydHMgd2l0aCBhIGtleXdvcmQsIGZvbGxvd2VkIGJ5IGtleXdvcmQKK2RlcGVuZGFudCBhcmd1bWVudHMuIEFyZ3VtZW50cyBhcmUgc2VwYXJhdGVkIGJ5IGEgc3BhY2UsIG9yIGNvbnRpbnVlIHVudGlsIHRoZQorZW5kIG9mIGxpbmUuIFRoZSBmb3JtYXQgZm9yIHZlcnNpb24gMjAwNzA4MjQgaXMgYXMgZm9sbG93czoKKworRXhwbGFuYXRpb24JS2V5d29yZAlTcGFjZSBzZXBhcmF0ZWQgYXJndW1lbnRzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworcmVhZCBldmVudAlSCXdpZHRoLCB0aW1lc3RhbXAsIG1hcCBpZCwgcGh5c2ljYWwsIHZhbHVlLCBQQywgUElECit3cml0ZSBldmVudAlXCXdpZHRoLCB0aW1lc3RhbXAsIG1hcCBpZCwgcGh5c2ljYWwsIHZhbHVlLCBQQywgUElECitpb3JlbWFwIGV2ZW50CU1BUAl0aW1lc3RhbXAsIG1hcCBpZCwgcGh5c2ljYWwsIHZpcnR1YWwsIGxlbmd0aCwgUEMsIFBJRAoraW91bm1hcCBldmVudAlVTk1BUAl0aW1lc3RhbXAsIG1hcCBpZCwgUEMsIFBJRAorbWFya2VyCQlNQVJLCXRpbWVzdGFtcCwgdGV4dAordmVyc2lvbgkJVkVSU0lPTgl0aGUgc3RyaW5nICIyMDA3MDgyNCIKK2luZm8gZm9yIHJlYWRlcglMU1BDSQlvbmUgbGluZSBmcm9tIGxzcGNpIC12CitQQ0kgYWRkcmVzcyBtYXAJUENJREVWCXNwYWNlIHNlcGFyYXRlZCAvcHJvYy9idXMvcGNpL2RldmljZXMgZGF0YQordW5rLiBvcGNvZGUJVU5LTk9XTgl0aW1lc3RhbXAsIG1hcCBpZCwgcGh5c2ljYWwsIGRhdGEsIFBDLCBQSUQKKworVGltZXN0YW1wIGlzIGluIHNlY29uZHMgd2l0aCBkZWNpbWFscy4gUGh5c2ljYWwgaXMgYSBQQ0kgYnVzIGFkZHJlc3MsIHZpcnR1YWwKK2lzIGEga2VybmVsIHZpcnR1YWwgYWRkcmVzcy4gV2lkdGggaXMgdGhlIGRhdGEgd2lkdGggaW4gYnl0ZXMgYW5kIHZhbHVlIGlzIHRoZQorZGF0YSB2YWx1ZS4gTWFwIGlkIGlzIGFuIGFyYml0cmFyeSBpZCBudW1iZXIgaWRlbnRpZnlpbmcgdGhlIG1hcHBpbmcgdGhhdCB3YXMKK3VzZWQgaW4gYW4gb3BlcmF0aW9uLiBQQyBpcyB0aGUgcHJvZ3JhbSBjb3VudGVyIGFuZCBQSUQgaXMgcHJvY2VzcyBpZC4gUEMgaXMKK3plcm8gaWYgaXQgaXMgbm90IHJlY29yZGVkLiBQSUQgaXMgYWx3YXlzIHplcm8gYXMgdHJhY2luZyBNTUlPIGFjY2Vzc2VzCitvcmlnaW5hdGluZyBpbiB1c2VyIHNwYWNlIG1lbW9yeSBpcyBub3QgeWV0IHN1cHBvcnRlZC4KKworRm9yIGluc3RhbmNlLCB0aGUgZm9sbG93aW5nIGF3ayBmaWx0ZXIgd2lsbCBwYXNzIGFsbCAzMi1iaXQgd3JpdGVzIHRoYXQgdGFyZ2V0CitwaHlzaWNhbCBhZGRyZXNzZXMgaW4gdGhlIHJhbmdlIFsweGZiNzNjZTQwLCAweGZiODAwMDAwWworCiskIGF3ayAnL1cgNCAvIHsgYWRyPXN0cnRvbnVtKCQ1KTsgaWYgKGFkciA+PSAweGZiNzNjZTQwICYmCithZHIgPCAweGZiODAwMDAwKSBwcmludDsgfScKKworCitUb29scyBmb3IgRGV2ZWxvcGVycworLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworVGhlIHVzZXIgc3BhY2UgdG9vbHMgaW5jbHVkZSB1dGlsaXRpZXMgZm9yOgorLSByZXBsYWNpbmcgbnVtZXJpYyBhZGRyZXNzZXMgYW5kIHZhbHVlcyB3aXRoIGhhcmR3YXJlIHJlZ2lzdGVyIG5hbWVzCistIHJlcGxheWluZyBNTUlPIGxvZ3MsIGkuZS4sIHJlLWV4ZWN1dGluZyB0aGUgcmVjb3JkZWQgd3JpdGVzCisKKwpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9pMzg2L0lPLUFQSUMudHh0IGIvRG9jdW1lbnRhdGlvbi94ODYvaTM4Ni9JTy1BUElDLnR4dApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gRG9jdW1lbnRhdGlvbi9pMzg2L0lPLUFQSUMudHh0CnJlbmFtZSB0byBEb2N1bWVudGF0aW9uL3g4Ni9pMzg2L0lPLUFQSUMudHh0CmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2kzODYvYm9vdC50eHQgYi9Eb2N1bWVudGF0aW9uL3g4Ni9pMzg2L2Jvb3QudHh0CnNpbWlsYXJpdHkgaW5kZXggOTYlCnJlbmFtZSBmcm9tIERvY3VtZW50YXRpb24vaTM4Ni9ib290LnR4dApyZW5hbWUgdG8gRG9jdW1lbnRhdGlvbi94ODYvaTM4Ni9ib290LnR4dAppbmRleCA5NWFkMTVjLi4xNDdiZmU1IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2kzODYvYm9vdC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi94ODYvaTM4Ni9ib290LnR4dApAQCAtMSwxNyArMSwxNCBAQAotCQkgICAgIFRIRSBMSU5VWC9JMzg2IEJPT1QgUFJPVE9DT0wKLQkJICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisJCSAgICAgVEhFIExJTlVYL3g4NiBCT09UIFBST1RPQ09MCisJCSAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKLQkJICAgIEguIFBldGVyIEFudmluIDxocGFAenl0b3IuY29tPgotCQkJTGFzdCB1cGRhdGUgMjAwNy0wNS0yMwotCi1PbiB0aGUgaTM4NiBwbGF0Zm9ybSwgdGhlIExpbnV4IGtlcm5lbCB1c2VzIGEgcmF0aGVyIGNvbXBsaWNhdGVkIGJvb3QKK09uIHRoZSB4ODYgcGxhdGZvcm0sIHRoZSBMaW51eCBrZXJuZWwgdXNlcyBhIHJhdGhlciBjb21wbGljYXRlZCBib290CiBjb252ZW50aW9uLiAgVGhpcyBoYXMgZXZvbHZlZCBwYXJ0aWFsbHkgZHVlIHRvIGhpc3RvcmljYWwgYXNwZWN0cywgYXMKIHdlbGwgYXMgdGhlIGRlc2lyZSBpbiB0aGUgZWFybHkgZGF5cyB0byBoYXZlIHRoZSBrZXJuZWwgaXRzZWxmIGJlIGEKIGJvb3RhYmxlIGltYWdlLCB0aGUgY29tcGxpY2F0ZWQgUEMgbWVtb3J5IG1vZGVsIGFuZCBkdWUgdG8gY2hhbmdlZAogZXhwZWN0YXRpb25zIGluIHRoZSBQQyBpbmR1c3RyeSBjYXVzZWQgYnkgdGhlIGVmZmVjdGl2ZSBkZW1pc2Ugb2YKIHJlYWwtbW9kZSBET1MgYXMgYSBtYWluc3RyZWFtIG9wZXJhdGluZyBzeXN0ZW0uCiAKLUN1cnJlbnRseSwgdGhlIGZvbGxvd2luZyB2ZXJzaW9ucyBvZiB0aGUgTGludXgvaTM4NiBib290IHByb3RvY29sIGV4aXN0LgorQ3VycmVudGx5LCB0aGUgZm9sbG93aW5nIHZlcnNpb25zIG9mIHRoZSBMaW51eC94ODYgYm9vdCBwcm90b2NvbCBleGlzdC4KIAogT2xkIGtlcm5lbHM6CXpJbWFnZS9JbWFnZSBzdXBwb3J0IG9ubHkuICBTb21lIHZlcnkgZWFybHkga2VybmVscwogCQltYXkgbm90IGV2ZW4gc3VwcG9ydCBhIGNvbW1hbmQgbGluZS4KQEAgLTM3MiwxMCArMzY5LDE3IEBACiAJLSBJZiAwLCB0aGUgcHJvdGVjdGVkLW1vZGUgY29kZSBpcyBsb2FkZWQgYXQgMHgxMDAwMC4KIAktIElmIDEsIHRoZSBwcm90ZWN0ZWQtbW9kZSBjb2RlIGlzIGxvYWRlZCBhdCAweDEwMDAwMC4KIAorICBCaXQgNSAod3JpdGUpOiBRVUlFVF9GTEFHCisJLSBJZiAwLCBwcmludCBlYXJseSBtZXNzYWdlcy4KKwktIElmIDEsIHN1cHByZXNzIGVhcmx5IG1lc3NhZ2VzLgorCQlUaGlzIHJlcXVlc3RzIHRvIHRoZSBrZXJuZWwgKGRlY29tcHJlc3NvciBhbmQgZWFybHkKKwkJa2VybmVsKSB0byBub3Qgd3JpdGUgZWFybHkgbWVzc2FnZXMgdGhhdCByZXF1aXJlCisJCWFjY2Vzc2luZyB0aGUgZGlzcGxheSBoYXJkd2FyZSBkaXJlY3RseS4KKwogICBCaXQgNiAod3JpdGUpOiBLRUVQX1NFR01FTlRTCiAJUHJvdG9jb2w6IDIuMDcrCi0JLSBpZiAwLCByZWxvYWQgdGhlIHNlZ21lbnQgcmVnaXN0ZXJzIGluIHRoZSAzMmJpdCBlbnRyeSBwb2ludC4KLQktIGlmIDEsIGRvIG5vdCByZWxvYWQgdGhlIHNlZ21lbnQgcmVnaXN0ZXJzIGluIHRoZSAzMmJpdCBlbnRyeSBwb2ludC4KKwktIElmIDAsIHJlbG9hZCB0aGUgc2VnbWVudCByZWdpc3RlcnMgaW4gdGhlIDMyYml0IGVudHJ5IHBvaW50LgorCS0gSWYgMSwgZG8gbm90IHJlbG9hZCB0aGUgc2VnbWVudCByZWdpc3RlcnMgaW4gdGhlIDMyYml0IGVudHJ5IHBvaW50LgogCQlBc3N1bWUgdGhhdCAlY3MgJWRzICVzcyAlZXMgYXJlIGFsbCBzZXQgdG8gZmxhdCBzZWdtZW50cyB3aXRoCiAJCWEgYmFzZSBvZiAwIChvciB0aGUgZXF1aXZhbGVudCBmb3IgdGhlaXIgZW52aXJvbm1lbnQpLgogCkBAIC01MDQsNyArNTA4LDcgQEAKICAgbWF4aW11bSBzaXplIHdhcyAyNTUuCiAKIEZpZWxkIG5hbWU6CWhhcmR3YXJlX3N1YmFyY2gKLVR5cGU6CQl3cml0ZQorVHlwZToJCXdyaXRlIChvcHRpb25hbCwgZGVmYXVsdHMgdG8geDg2L1BDKQogT2Zmc2V0L3NpemU6CTB4MjNjLzQKIFByb3RvY29sOgkyLjA3KwogCkBAIC01MjAsMTEgKzUyNCwxMyBAQAogICAweDAwMDAwMDAyCVhlbgogCiBGaWVsZCBuYW1lOgloYXJkd2FyZV9zdWJhcmNoX2RhdGEKLVR5cGU6CQl3cml0ZQorVHlwZToJCXdyaXRlIChzdWJhcmNoLWRlcGVuZGVudCkKIE9mZnNldC9zaXplOgkweDI0MC84CiBQcm90b2NvbDoJMi4wNysKIAogICBBIHBvaW50ZXIgdG8gZGF0YSB0aGF0IGlzIHNwZWNpZmljIHRvIGhhcmR3YXJlIHN1YmFyY2gKKyAgVGhpcyBmaWVsZCBpcyBjdXJyZW50bHkgdW51c2VkIGZvciB0aGUgZGVmYXVsdCB4ODYvUEMgZW52aXJvbm1lbnQsCisgIGRvIG5vdCBtb2RpZnkuCiAKIEZpZWxkIG5hbWU6CXBheWxvYWRfb2Zmc2V0CiBUeXBlOgkJcmVhZApAQCAtNTQ1LDYgKzU1MSwzNCBAQAogCiAgIFRoZSBsZW5ndGggb2YgdGhlIHBheWxvYWQuCiAKK0ZpZWxkIG5hbWU6CXNldHVwX2RhdGEKK1R5cGU6CQl3cml0ZSAoc3BlY2lhbCkKK09mZnNldC9zaXplOgkweDI1MC84CitQcm90b2NvbDoJMi4wOSsKKworICBUaGUgNjQtYml0IHBoeXNpY2FsIHBvaW50ZXIgdG8gTlVMTCB0ZXJtaW5hdGVkIHNpbmdsZSBsaW5rZWQgbGlzdCBvZgorICBzdHJ1Y3Qgc2V0dXBfZGF0YS4gVGhpcyBpcyB1c2VkIHRvIGRlZmluZSBhIG1vcmUgZXh0ZW5zaWJsZSBib290CisgIHBhcmFtZXRlcnMgcGFzc2luZyBtZWNoYW5pc20uIFRoZSBkZWZpbml0aW9uIG9mIHN0cnVjdCBzZXR1cF9kYXRhIGlzCisgIGFzIGZvbGxvdzoKKworICBzdHJ1Y3Qgc2V0dXBfZGF0YSB7CisJICB1NjQgbmV4dDsKKwkgIHUzMiB0eXBlOworCSAgdTMyIGxlbjsKKwkgIHU4ICBkYXRhWzBdOworICB9OworCisgIFdoZXJlLCB0aGUgbmV4dCBpcyBhIDY0LWJpdCBwaHlzaWNhbCBwb2ludGVyIHRvIHRoZSBuZXh0IG5vZGUgb2YKKyAgbGlua2VkIGxpc3QsIHRoZSBuZXh0IGZpZWxkIG9mIHRoZSBsYXN0IG5vZGUgaXMgMDsgdGhlIHR5cGUgaXMgdXNlZAorICB0byBpZGVudGlmeSB0aGUgY29udGVudHMgb2YgZGF0YTsgdGhlIGxlbiBpcyB0aGUgbGVuZ3RoIG9mIGRhdGEKKyAgZmllbGQ7IHRoZSBkYXRhIGhvbGRzIHRoZSByZWFsIHBheWxvYWQuCisKKyAgVGhpcyBsaXN0IG1heSBiZSBtb2RpZmllZCBhdCBhIG51bWJlciBvZiBwb2ludHMgZHVyaW5nIHRoZSBib290dXAKKyAgcHJvY2Vzcy4gIFRoZXJlZm9yZSwgd2hlbiBtb2RpZnlpbmcgdGhpcyBsaXN0IG9uZSBzaG91bGQgYWx3YXlzIG1ha2UKKyAgc3VyZSB0byBjb25zaWRlciB0aGUgY2FzZSB3aGVyZSB0aGUgbGlua2VkIGxpc3QgYWxyZWFkeSBjb250YWlucworICBlbnRyaWVzLgorCisKICoqKiogVEhFIElNQUdFIENIRUNLU1VNCiAKIEZyb20gYm9vdCBwcm90b2NvbCB2ZXJzaW9uIDIuMDggb253YXJkcyB0aGUgQ1JDLTMyIGlzIGNhbGN1bGF0ZWQgb3ZlcgpAQCAtNTUzLDYgKzU4Nyw3IEBACiBmaWxlOyB0aGVyZWZvcmUgdGhlIENSQyBvZiB0aGUgZmlsZSB1cCB0byB0aGUgbGltaXQgc3BlY2lmaWVkIGluIHRoZQogc3lzc2l6ZSBmaWVsZCBvZiB0aGUgaGVhZGVyIGlzIGFsd2F5cyAwLgogCisKICoqKiogVEhFIEtFUk5FTCBDT01NQU5EIExJTkUKIAogVGhlIGtlcm5lbCBjb21tYW5kIGxpbmUgaGFzIGJlY29tZSBhbiBpbXBvcnRhbnQgd2F5IGZvciB0aGUgYm9vdApAQCAtNTg0LDI4ICs2MTksNiBAQAogCWNvdmVyZWQgYnkgc2V0dXBfbW92ZV9zaXplLCBzbyB5b3UgbWF5IG5lZWQgdG8gYWRqdXN0IHRoaXMKIAlmaWVsZC4KIAotRmllbGQgbmFtZToJc2V0dXBfZGF0YQotVHlwZToJCXdyaXRlIChvYmxpZ2F0b3J5KQotT2Zmc2V0L3NpemU6CTB4MjUwLzgKLVByb3RvY29sOgkyLjA5KwotCi0gIFRoZSA2NC1iaXQgcGh5c2ljYWwgcG9pbnRlciB0byBOVUxMIHRlcm1pbmF0ZWQgc2luZ2xlIGxpbmtlZCBsaXN0IG9mCi0gIHN0cnVjdCBzZXR1cF9kYXRhLiBUaGlzIGlzIHVzZWQgdG8gZGVmaW5lIGEgbW9yZSBleHRlbnNpYmxlIGJvb3QKLSAgcGFyYW1ldGVycyBwYXNzaW5nIG1lY2hhbmlzbS4gVGhlIGRlZmluaXRpb24gb2Ygc3RydWN0IHNldHVwX2RhdGEgaXMKLSAgYXMgZm9sbG93OgotCi0gIHN0cnVjdCBzZXR1cF9kYXRhIHsKLQkgIHU2NCBuZXh0OwotCSAgdTMyIHR5cGU7Ci0JICB1MzIgbGVuOwotCSAgdTggIGRhdGFbMF07Ci0gIH07Ci0KLSAgV2hlcmUsIHRoZSBuZXh0IGlzIGEgNjQtYml0IHBoeXNpY2FsIHBvaW50ZXIgdG8gdGhlIG5leHQgbm9kZSBvZgotICBsaW5rZWQgbGlzdCwgdGhlIG5leHQgZmllbGQgb2YgdGhlIGxhc3Qgbm9kZSBpcyAwOyB0aGUgdHlwZSBpcyB1c2VkCi0gIHRvIGlkZW50aWZ5IHRoZSBjb250ZW50cyBvZiBkYXRhOyB0aGUgbGVuIGlzIHRoZSBsZW5ndGggb2YgZGF0YQotICBmaWVsZDsgdGhlIGRhdGEgaG9sZHMgdGhlIHJlYWwgcGF5bG9hZC4KLQogCiAqKioqIE1FTU9SWSBMQVlPVVQgT0YgVEhFIFJFQUwtTU9ERSBDT0RFCiAKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vaTM4Ni91c2ItbGVnYWN5LXN1cHBvcnQudHh0IGIvRG9jdW1lbnRhdGlvbi94ODYvaTM4Ni91c2ItbGVnYWN5LXN1cHBvcnQudHh0CnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBEb2N1bWVudGF0aW9uL2kzODYvdXNiLWxlZ2FjeS1zdXBwb3J0LnR4dApyZW5hbWUgdG8gRG9jdW1lbnRhdGlvbi94ODYvaTM4Ni91c2ItbGVnYWN5LXN1cHBvcnQudHh0CmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2kzODYvemVyby1wYWdlLnR4dCBiL0RvY3VtZW50YXRpb24veDg2L2kzODYvemVyby1wYWdlLnR4dApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gRG9jdW1lbnRhdGlvbi9pMzg2L3plcm8tcGFnZS50eHQKcmVuYW1lIHRvIERvY3VtZW50YXRpb24veDg2L2kzODYvemVyby1wYWdlLnR4dApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi94ODZfNjQvMDAtSU5ERVggYi9Eb2N1bWVudGF0aW9uL3g4Ni94ODZfNjQvMDAtSU5ERVgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIERvY3VtZW50YXRpb24veDg2XzY0LzAwLUlOREVYCnJlbmFtZSB0byBEb2N1bWVudGF0aW9uL3g4Ni94ODZfNjQvMDAtSU5ERVgKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24veDg2XzY0L2Jvb3Qtb3B0aW9ucy50eHQgYi9Eb2N1bWVudGF0aW9uL3g4Ni94ODZfNjQvYm9vdC1vcHRpb25zLnR4dApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gRG9jdW1lbnRhdGlvbi94ODZfNjQvYm9vdC1vcHRpb25zLnR4dApyZW5hbWUgdG8gRG9jdW1lbnRhdGlvbi94ODYveDg2XzY0L2Jvb3Qtb3B0aW9ucy50eHQKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24veDg2XzY0L2NwdS1ob3RwbHVnLXNwZWMgYi9Eb2N1bWVudGF0aW9uL3g4Ni94ODZfNjQvY3B1LWhvdHBsdWctc3BlYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gRG9jdW1lbnRhdGlvbi94ODZfNjQvY3B1LWhvdHBsdWctc3BlYwpyZW5hbWUgdG8gRG9jdW1lbnRhdGlvbi94ODYveDg2XzY0L2NwdS1ob3RwbHVnLXNwZWMKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24veDg2XzY0L2Zha2UtbnVtYS1mb3ItY3B1c2V0cyBiL0RvY3VtZW50YXRpb24veDg2L3g4Nl82NC9mYWtlLW51bWEtZm9yLWNwdXNldHMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIERvY3VtZW50YXRpb24veDg2XzY0L2Zha2UtbnVtYS1mb3ItY3B1c2V0cwpyZW5hbWUgdG8gRG9jdW1lbnRhdGlvbi94ODYveDg2XzY0L2Zha2UtbnVtYS1mb3ItY3B1c2V0cwpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi94ODZfNjQva2VybmVsLXN0YWNrcyBiL0RvY3VtZW50YXRpb24veDg2L3g4Nl82NC9rZXJuZWwtc3RhY2tzCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBEb2N1bWVudGF0aW9uL3g4Nl82NC9rZXJuZWwtc3RhY2tzCnJlbmFtZSB0byBEb2N1bWVudGF0aW9uL3g4Ni94ODZfNjQva2VybmVsLXN0YWNrcwpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi94ODZfNjQvbWFjaGluZWNoZWNrIGIvRG9jdW1lbnRhdGlvbi94ODYveDg2XzY0L21hY2hpbmVjaGVjawpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gRG9jdW1lbnRhdGlvbi94ODZfNjQvbWFjaGluZWNoZWNrCnJlbmFtZSB0byBEb2N1bWVudGF0aW9uL3g4Ni94ODZfNjQvbWFjaGluZWNoZWNrCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3g4Nl82NC9tbS50eHQgYi9Eb2N1bWVudGF0aW9uL3g4Ni94ODZfNjQvbW0udHh0CnNpbWlsYXJpdHkgaW5kZXggODclCnJlbmFtZSBmcm9tIERvY3VtZW50YXRpb24veDg2XzY0L21tLnR4dApyZW5hbWUgdG8gRG9jdW1lbnRhdGlvbi94ODYveDg2XzY0L21tLnR4dAppbmRleCBiODliNmQyLi5lZmNlNzUwIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL3g4Nl82NC9tbS50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi94ODYveDg2XzY0L21tLnR4dApAQCAtMTEsOSArMTEsOCBAQAogZmZmZmMyMDAwMDAwMDAwMCAtIGZmZmZlMWZmZmZmZmZmZmYgKD00NSBiaXRzKSB2bWFsbG9jL2lvcmVtYXAgc3BhY2UKIGZmZmZlMjAwMDAwMDAwMDAgLSBmZmZmZTJmZmZmZmZmZmZmICg9NDAgYml0cykgdmlydHVhbCBtZW1vcnkgbWFwICgxVEIpCiAuLi4gdW51c2VkIGhvbGUgLi4uCi1mZmZmZmZmZjgwMDAwMDAwIC0gZmZmZmZmZmY4MjgwMDAwMCAoPTQwIE1CKSAgIGtlcm5lbCB0ZXh0IG1hcHBpbmcsIGZyb20gcGh5cyAwCi0uLi4gdW51c2VkIGhvbGUgLi4uCi1mZmZmZmZmZjg4MDAwMDAwIC0gZmZmZmZmZmZmZmYwMDAwMCAoPTE5MTkgTUIpIG1vZHVsZSBtYXBwaW5nIHNwYWNlCitmZmZmZmZmZjgwMDAwMDAwIC0gZmZmZmZmZmZhMDAwMDAwMCAoPTUxMiBNQikgIGtlcm5lbCB0ZXh0IG1hcHBpbmcsIGZyb20gcGh5cyAwCitmZmZmZmZmZmEwMDAwMDAwIC0gZmZmZmZmZmZmZmYwMDAwMCAoPTE1MzYgTUIpIG1vZHVsZSBtYXBwaW5nIHNwYWNlCiAKIFRoZSBkaXJlY3QgbWFwcGluZyBjb3ZlcnMgYWxsIG1lbW9yeSBpbiB0aGUgc3lzdGVtIHVwIHRvIHRoZSBoaWdoZXN0CiBtZW1vcnkgYWRkcmVzcyAodGhpcyBtZWFucyBpbiBzb21lIGNhc2VzIGl0IGNhbiBhbHNvIGluY2x1ZGUgUENJIG1lbW9yeQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi94ODZfNjQvdWVmaS50eHQgYi9Eb2N1bWVudGF0aW9uL3g4Ni94ODZfNjQvdWVmaS50eHQKc2ltaWxhcml0eSBpbmRleCA4NCUKcmVuYW1lIGZyb20gRG9jdW1lbnRhdGlvbi94ODZfNjQvdWVmaS50eHQKcmVuYW1lIHRvIERvY3VtZW50YXRpb24veDg2L3g4Nl82NC91ZWZpLnR4dAppbmRleCA3ZDc3MTIwLi5hNWUyYjRmIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL3g4Nl82NC91ZWZpLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL3g4Ni94ODZfNjQvdWVmaS50eHQKQEAgLTM2LDMgKzM2LDcgQEAKICAgc2VydmljZXMuCiAJbm9lZmkJCXR1cm4gb2ZmIGFsbCBFRkkgcnVudGltZSBzZXJ2aWNlcwogCXJlYm9vdF90eXBlPWsJdHVybiBvZmYgRUZJIHJlYm9vdCBydW50aW1lIHNlcnZpY2UKKy0gSWYgdGhlIEVGSSBtZW1vcnkgbWFwIGhhcyBhZGRpdGlvbmFsIGVudHJpZXMgbm90IGluIHRoZSBFODIwIG1hcCwKKyAgeW91IGNhbiBpbmNsdWRlIHRob3NlIGVudHJpZXMgaW4gdGhlIGtlcm5lbHMgbWVtb3J5IG1hcCBvZiBhdmFpbGFibGUKKyAgcGh5c2ljYWwgUkFNIGJ5IHVzaW5nIHRoZSBmb2xsb3dpbmcga2VybmVsIGNvbW1hbmQgbGluZSBwYXJhbWV0ZXIuCisJYWRkX2VmaV9tZW1tYXAJaW5jbHVkZSBFRkkgbWVtb3J5IG1hcCBvZiBhdmFpbGFibGUgcGh5c2ljYWwgUkFNCmRpZmYgLS1naXQgYS9NQUlOVEFJTkVSUyBiL01BSU5UQUlORVJTCmluZGV4IDY0NzYxMjUuLmZjNmMwMDUgMTAwNjQ0Ci0tLSBhL01BSU5UQUlORVJTCisrKyBiL01BSU5UQUlORVJTCkBAIC0zNzYsNiArMzc2LDEyIEBACiBXOglodHRwOi8vd3d3LmFtZC5jb20vdXMtZW4vQ29ubmVjdGl2aXR5U29sdXRpb25zL1RlY2huaWNhbFJlc291cmNlcy8wLCw1MF8yMzM0XzI0NTJfMTEzNjMsMDAuaHRtbAogUzoJU3VwcG9ydGVkCiAKK0FNRCBJT01NVSAoQU1ELVZJKQorUDoJSm9lcmcgUm9lZGVsCitNOglqb2VyZy5yb2VkZWxAYW1kLmNvbQorTDoJaW9tbXVAbGlzdHMubGludXgtZm91bmRhdGlvbi5vcmcKK1M6CVN1cHBvcnRlZAorCiBBTVMgKEFwcGxlIE1vdGlvbiBTZW5zb3IpIERSSVZFUgogUDoJU3RlbGlhbiBQb3AKIE06CXN0ZWxpYW5AcG9waWVzLm5ldApAQCAtMTY4MCw2ICsxNjg2LDEzIEBACiBMOglsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnCiBTOglNYWludGFpbmVkCiAKK0ZSRUVTQ0FMRSBJMkMgQ1BNIERSSVZFUgorUDoJSm9jaGVuIEZyaWVkcmljaAorTToJam9jaGVuQHNjcmFtLmRlCitMOglsaW51eHBwYy1kZXZAb3psYWJzLm9yZworTDoJaTJjQGxtLXNlbnNvcnMub3JnCitTOglNYWludGFpbmVkCisKIEZSRUVTQ0FMRSBTT0MgRlNfRU5FVCBEUklWRVIKIFA6CVBhbnRlbGlzIEFudG9uaW91CiBNOglwYW50ZWxpcy5hbnRvbmlvdUBnbWFpbC5jb20KQEAgLTE3NjQsNiArMTc3NywxMSBAQAogVzoJZnRwOi8vZnRwLm9wZW5saW51eC5vcmcvcHViL3Blb3BsZS9oY2gvdnhmcwogUzoJTWFpbnRhaW5lZAogCitGVFJBQ0UKK1A6CVN0ZXZlbiBSb3N0ZWR0CitNOglzcm9zdGVkdEByZWRoYXQuY29tCitTOglNYWludGFpbmVkCisKIEZVSklUU1UgRlItViAoRlJWKSBQT1JUCiBQOglEYXZpZCBIb3dlbGxzCiBNOglkaG93ZWxsc0ByZWRoYXQuY29tCkBAIC0zMDgyLDggKzMxMDAsOCBAQAogUzoJTWFpbnRhaW5lZAogCiBPUFJPRklMRQotUDoJUGhpbGlwcGUgRWxpZQotTToJcGhpbC5lbEB3YW5hZG9vLmZyCitQOglSb2JlcnQgUmljaHRlcgorTToJcm9iZXJ0LnJpY2h0ZXJAYW1kLmNvbQogTDoJb3Byb2ZpbGUtbGlzdEBsaXN0cy5zZi5uZXQKIFM6CU1haW50YWluZWQKIApkaWZmIC0tZ2l0IGEvTWFrZWZpbGUgYi9NYWtlZmlsZQppbmRleCA2MzE1NDI0Li41ZWZkZDg4IDEwMDY0NAotLS0gYS9NYWtlZmlsZQorKysgYi9NYWtlZmlsZQpAQCAtMSw3ICsxLDcgQEAKIFZFUlNJT04gPSAyCiBQQVRDSExFVkVMID0gNgogU1VCTEVWRUwgPSAyNgotRVhUUkFWRVJTSU9OID0gLXJjOQorRVhUUkFWRVJTSU9OID0KIE5BTUUgPSBSb3RhcnkgV29tYmF0CiAKICMgKkRPQ1VNRU5UQVRJT04qCkBAIC00NTAsNyArNDUwLDcgQEAKIAogIyBPYmplY3RzIHdlIHdpbGwgbGluayBpbnRvIHZtbGludXggLyBzdWJkaXJzIHdlIG5lZWQgdG8gdmlzaXQKIGluaXQteQkJOj0gaW5pdC8KLWRyaXZlcnMteQk6PSBkcml2ZXJzLyBzb3VuZC8KK2RyaXZlcnMteQk6PSBkcml2ZXJzLyBzb3VuZC8gZmlybXdhcmUvCiBuZXQteQkJOj0gbmV0LwogbGlicy15CQk6PSBsaWIvCiBjb3JlLXkJCTo9IHVzci8KQEAgLTUyOCw2ICs1MjgsMTAgQEAKIEtCVUlMRF9BRkxBR1MJKz0gLWdkd2FyZi0yCiBlbmRpZgogCitpZmRlZiBDT05GSUdfRlRSQUNFCitLQlVJTERfQ0ZMQUdTCSs9IC1wZworZW5kaWYKKwogIyBXZSB0cmlnZ2VyIGFkZGl0aW9uYWwgbWlzbWF0Y2hlcyB3aXRoIGxlc3MgaW5saW5pbmcKIGlmZGVmIENPTkZJR19ERUJVR19TRUNUSU9OX01JU01BVENICiBLQlVJTERfQ0ZMQUdTICs9ICQoY2FsbCBjYy1vcHRpb24sIC1mbm8taW5saW5lLWZ1bmN0aW9ucy1jYWxsZWQtb25jZSkKQEAgLTk5NSw2ICs5OTksMTYgQEAKIAlAZWNobyAnKioqIFdhcm5pbmc6IG1ha2UgJEAgaXMgdW5uZWNlc3Nhcnkgbm93LicKIAogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgRmlybXdhcmUgaW5zdGFsbAorSU5TVEFMTF9GV19QQVRIPSQoSU5TVEFMTF9NT0RfUEFUSCkvbGliL2Zpcm13YXJlCitleHBvcnQgSU5TVEFMTF9GV19QQVRICisKK1BIT05ZICs9IGZpcm13YXJlX2luc3RhbGwKK2Zpcm13YXJlX2luc3RhbGw6IEZPUkNFCisJQG1rZGlyIC1wICQob2JqdHJlZSkvZmlybXdhcmUKKwkkKFEpJChNQUtFKSAtZiAkKHNyY3RyZWUpL3NjcmlwdHMvTWFrZWZpbGUuZndpbnN0IG9iaj1maXJtd2FyZSBfX2Z3X2luc3RhbGwKKworIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICMgS2VybmVsIGhlYWRlcnMKIElOU1RBTExfSERSX1BBVEg9JChvYmp0cmVlKS91c3IKIGV4cG9ydCBJTlNUQUxMX0hEUl9QQVRICkBAIC0xMDgwLDYgKzEwOTQsNyBAQAogIyBib290IHNjcmlwdCBkZXBtb2QgaXMgdGhlIG1hc3RlciB2ZXJzaW9uLgogUEhPTlkgKz0gX21vZGluc3RfcG9zdAogX21vZGluc3RfcG9zdDogX21vZGluc3RfCisJJChRKSQoTUFLRSkgLWYgJChzcmN0cmVlKS9zY3JpcHRzL01ha2VmaWxlLmZ3aW5zdCBvYmo9ZmlybXdhcmUgX19md19tb2RpbnN0CiAJJChjYWxsIGNtZCxkZXBtb2QpCiAKIGVsc2UgIyBDT05GSUdfTU9EVUxFUwpAQCAtMTE5Nyw2ICsxMjEyLDggQEAKIAlAZWNobyAgJyogdm1saW51eAkgIC0gQnVpbGQgdGhlIGJhcmUga2VybmVsJwogCUBlY2hvICAnKiBtb2R1bGVzCSAgLSBCdWlsZCBhbGwgbW9kdWxlcycKIAlAZWNobyAgJyAgbW9kdWxlc19pbnN0YWxsIC0gSW5zdGFsbCBhbGwgbW9kdWxlcyB0byBJTlNUQUxMX01PRF9QQVRIIChkZWZhdWx0OiAvKScKKwlAZWNobyAgJyAgZmlybXdhcmVfaW5zdGFsbC0gSW5zdGFsbCBhbGwgZmlybXdhcmUgdG8gSU5TVEFMTF9GV19QQVRIJworCUBlY2hvICAnICAgICAgICAgICAgICAgICAgICAoZGVmYXVsdDogJCQoSU5TVEFMTF9NT0RfUEFUSCkvbGliL2Zpcm13YXJlKScKIAlAZWNobyAgJyAgZGlyLyAgICAgICAgICAgIC0gQnVpbGQgYWxsIGZpbGVzIGluIGRpciBhbmQgYmVsb3cnCiAJQGVjaG8gICcgIGRpci9maWxlLltvaXNdICAtIEJ1aWxkIHNwZWNpZmllZCB0YXJnZXQgb25seScKIAlAZWNobyAgJyAgZGlyL2ZpbGUua28gICAgIC0gQnVpbGQgbW9kdWxlIGluY2x1ZGluZyBmaW5hbCBsaW5rJwpkaWZmIC0tZ2l0IGEvYXJjaC9LY29uZmlnIGIvYXJjaC9LY29uZmlnCmluZGV4IDNlYTMzMmIuLmFkODlhMzMgMTAwNjQ0Ci0tLSBhL2FyY2gvS2NvbmZpZworKysgYi9hcmNoL0tjb25maWcKQEAgLTM5LDMgKzM5LDYgQEAKIAogY29uZmlnIEhBVkVfRE1BX0FUVFJTCiAJZGVmX2Jvb2wgbgorCitjb25maWcgVVNFX0dFTkVSSUNfU01QX0hFTFBFUlMKKwlkZWZfYm9vbCBuCmRpZmYgLS1naXQgYS9hcmNoL2FscGhhL0tjb25maWcgYi9hcmNoL2FscGhhL0tjb25maWcKaW5kZXggNzI5Y2RiZC4uZGJlOGMyOCAxMDA2NDQKLS0tIGEvYXJjaC9hbHBoYS9LY29uZmlnCisrKyBiL2FyY2gvYWxwaGEvS2NvbmZpZwpAQCAtNTI4LDYgKzUyOCw3IEBACiBjb25maWcgU01QCiAJYm9vbCAiU3ltbWV0cmljIG11bHRpLXByb2Nlc3Npbmcgc3VwcG9ydCIKIAlkZXBlbmRzIG9uIEFMUEhBX1NBQkxFIHx8IEFMUEhBX0xZTlggfHwgQUxQSEFfUkFXSElERSB8fCBBTFBIQV9EUDI2NCB8fCBBTFBIQV9XSUxERklSRSB8fCBBTFBIQV9USVRBTiB8fCBBTFBIQV9HRU5FUklDIHx8IEFMUEhBX1NIQVJLIHx8IEFMUEhBX01BUlZFTAorCXNlbGVjdCBVU0VfR0VORVJJQ19TTVBfSEVMUEVSUwogCS0tLWhlbHAtLS0KIAkgIFRoaXMgZW5hYmxlcyBzdXBwb3J0IGZvciBzeXN0ZW1zIHdpdGggbW9yZSB0aGFuIG9uZSBDUFUuIElmIHlvdSBoYXZlCiAJICBhIHN5c3RlbSB3aXRoIG9ubHkgb25lIENQVSwgbGlrZSBtb3N0IHBlcnNvbmFsIGNvbXB1dGVycywgc2F5IE4uIElmCmRpZmYgLS1naXQgYS9hcmNoL2FscGhhL2tlcm5lbC9jb3JlX21hcnZlbC5jIGIvYXJjaC9hbHBoYS9rZXJuZWwvY29yZV9tYXJ2ZWwuYwppbmRleCBiMDRmMWZlLi4wNGRjYzVlIDEwMDY0NAotLS0gYS9hcmNoL2FscGhhL2tlcm5lbC9jb3JlX21hcnZlbC5jCisrKyBiL2FyY2gvYWxwaGEva2VybmVsL2NvcmVfbWFydmVsLmMKQEAgLTY2MCw5ICs2NjAsOSBAQAogCiAjaWZkZWYgQ09ORklHX1NNUAogCQlpZiAoc21wX3Byb2Nlc3Nvcl9pZCgpICE9IGJvb3RfY3B1aWQpCi0JCQlzbXBfY2FsbF9mdW5jdGlvbl9vbl9jcHUoX19tYXJ2ZWxfYWNjZXNzX3J0YywKLQkJCQkJCSAmcnRjX2FjY2VzcywgMSwgMSwKLQkJCQkJCSBjcHVtYXNrX29mX2NwdShib290X2NwdWlkKSk7CisJCQlzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoYm9vdF9jcHVpZCwKKwkJCQkJCSBfX21hcnZlbF9hY2Nlc3NfcnRjLAorCQkJCQkJICZydGNfYWNjZXNzLCAxKTsKIAkJZWxzZQogCQkJX19tYXJ2ZWxfYWNjZXNzX3J0YygmcnRjX2FjY2Vzcyk7CiAjZWxzZQpkaWZmIC0tZ2l0IGEvYXJjaC9hbHBoYS9rZXJuZWwvaXJxLmMgYi9hcmNoL2FscGhhL2tlcm5lbC9pcnEuYwppbmRleCBmYWNmODJhLi5jNjI2YTgyIDEwMDY0NAotLS0gYS9hcmNoL2FscGhhL2tlcm5lbC9pcnEuYworKysgYi9hcmNoL2FscGhhL2tlcm5lbC9pcnEuYwpAQCAtNDIsOCArNDIsNyBAQAogI2lmZGVmIENPTkZJR19TTVAgCiBzdGF0aWMgY2hhciBpcnFfdXNlcl9hZmZpbml0eVtOUl9JUlFTXTsKIAotaW50Ci1zZWxlY3Rfc21wX2FmZmluaXR5KHVuc2lnbmVkIGludCBpcnEpCitpbnQgaXJxX3NlbGVjdF9hZmZpbml0eSh1bnNpZ25lZCBpbnQgaXJxKQogewogCXN0YXRpYyBpbnQgbGFzdF9jcHU7CiAJaW50IGNwdSA9IGxhc3RfY3B1ICsgMTsKQEAgLTUxLDcgKzUwLDcgQEAKIAlpZiAoIWlycV9kZXNjW2lycV0uY2hpcC0+c2V0X2FmZmluaXR5IHx8IGlycV91c2VyX2FmZmluaXR5W2lycV0pCiAJCXJldHVybiAxOwogCi0Jd2hpbGUgKCFjcHVfcG9zc2libGUoY3B1KSkKKwl3aGlsZSAoIWNwdV9wb3NzaWJsZShjcHUpIHx8ICFjcHVfaXNzZXQoY3B1LCBpcnFfZGVmYXVsdF9hZmZpbml0eSkpCiAJCWNwdSA9IChjcHUgPCAoTlJfQ1BVUy0xKSA/IGNwdSArIDEgOiAwKTsKIAlsYXN0X2NwdSA9IGNwdTsKIApkaWZmIC0tZ2l0IGEvYXJjaC9hbHBoYS9rZXJuZWwvcHJvY2Vzcy5jIGIvYXJjaC9hbHBoYS9rZXJuZWwvcHJvY2Vzcy5jCmluZGV4IDk2ZWQ4MmYuLjM1MTQwN2UgMTAwNjQ0Ci0tLSBhL2FyY2gvYWxwaGEva2VybmVsL3Byb2Nlc3MuYworKysgYi9hcmNoL2FscGhhL2tlcm5lbC9wcm9jZXNzLmMKQEAgLTE2MCw3ICsxNjAsNyBAQAogCXN0cnVjdCBoYWx0X2luZm8gYXJnczsKIAlhcmdzLm1vZGUgPSBtb2RlOwogCWFyZ3MucmVzdGFydF9jbWQgPSByZXN0YXJ0X2NtZDsKLQlvbl9lYWNoX2NwdShjb21tb25fc2h1dGRvd25fMSwgJmFyZ3MsIDEsIDApOworCW9uX2VhY2hfY3B1KGNvbW1vbl9zaHV0ZG93bl8xLCAmYXJncywgMCk7CiB9CiAKIHZvaWQKZGlmZiAtLWdpdCBhL2FyY2gvYWxwaGEva2VybmVsL3NtcC5jIGIvYXJjaC9hbHBoYS9rZXJuZWwvc21wLmMKaW5kZXggMjUyNTY5Mi4uODNkZjU0MSAxMDA2NDQKLS0tIGEvYXJjaC9hbHBoYS9rZXJuZWwvc21wLmMKKysrIGIvYXJjaC9hbHBoYS9rZXJuZWwvc21wLmMKQEAgLTYyLDYgKzYyLDcgQEAKIGVudW0gaXBpX21lc3NhZ2VfdHlwZSB7CiAJSVBJX1JFU0NIRURVTEUsCiAJSVBJX0NBTExfRlVOQywKKwlJUElfQ0FMTF9GVU5DX1NJTkdMRSwKIAlJUElfQ1BVX1NUT1AsCiB9OwogCkBAIC01NTgsNTEgKzU1OSw2IEBACiAJCXdyaXBpcihpKTsKIH0KIAotLyogU3RydWN0dXJlIGFuZCBkYXRhIGZvciBzbXBfY2FsbF9mdW5jdGlvbi4gIFRoaXMgaXMgZGVzaWduZWQgdG8gCi0gICBtaW5pbWl6ZSBzdGF0aWMgbWVtb3J5IHJlcXVpcmVtZW50cy4gIFBsdXMgaXQgbG9va3MgY2xlYW5lci4gICovCi0KLXN0cnVjdCBzbXBfY2FsbF9zdHJ1Y3QgewotCXZvaWQgKCpmdW5jKSAodm9pZCAqaW5mbyk7Ci0Jdm9pZCAqaW5mbzsKLQlsb25nIHdhaXQ7Ci0JYXRvbWljX3QgdW5zdGFydGVkX2NvdW50OwotCWF0b21pY190IHVuZmluaXNoZWRfY291bnQ7Ci19OwotCi1zdGF0aWMgc3RydWN0IHNtcF9jYWxsX3N0cnVjdCAqc21wX2NhbGxfZnVuY3Rpb25fZGF0YTsKLQotLyogQXRvbWljbHkgZHJvcCBkYXRhIGludG8gYSBzaGFyZWQgcG9pbnRlci4gIFRoZSBwb2ludGVyIGlzIGZyZWUgaWYKLSAgIGl0IGlzIGluaXRpYWxseSBsb2NrZWQuICBJZiByZXRyeSwgc3BpbiB1bnRpbCBmcmVlLiAgKi8KLQotc3RhdGljIGludAotcG9pbnRlcl9sb2NrICh2b2lkICpsb2NrLCB2b2lkICpkYXRhLCBpbnQgcmV0cnkpCi17Ci0Jdm9pZCAqb2xkLCAqdG1wOwotCi0JbWIoKTsKLSBhZ2FpbjoKLQkvKiBDb21wYXJlIGFuZCBzd2FwIHdpdGggemVyby4gICovCi0JYXNtIHZvbGF0aWxlICgKLQkiMToJbGRxX2wJJTAsJTFcbiIKLQkiCW1vdgklMywlMlxuIgotCSIJYm5lCSUwLDJmXG4iCi0JIglzdHFfYwklMiwlMVxuIgotCSIJYmVxCSUyLDFiXG4iCi0JIjI6IgotCTogIj0mciIob2xkKSwgIj1tIigqKHZvaWQgKiopbG9jayksICI9JnIiKHRtcCkKLQk6ICJyIihkYXRhKQotCTogIm1lbW9yeSIpOwotCi0JaWYgKG9sZCA9PSAwKQotCQlyZXR1cm4gMDsKLQlpZiAoISByZXRyeSkKLQkJcmV0dXJuIC1FQlVTWTsKLQotCXdoaWxlICgqKHZvaWQgKiopbG9jaykKLQkJYmFycmllcigpOwotCWdvdG8gYWdhaW47Ci19Ci0KIHZvaWQKIGhhbmRsZV9pcGkoc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCiB7CkBAIC02MzIsMzEgKzU4OCwxMiBAQAogCQkJYnJlYWs7CiAKIAkJY2FzZSBJUElfQ0FMTF9GVU5DOgotCQkgICAgewotCQkJc3RydWN0IHNtcF9jYWxsX3N0cnVjdCAqZGF0YTsKLQkJCXZvaWQgKCpmdW5jKSh2b2lkICppbmZvKTsKLQkJCXZvaWQgKmluZm87Ci0JCQlpbnQgd2FpdDsKLQotCQkJZGF0YSA9IHNtcF9jYWxsX2Z1bmN0aW9uX2RhdGE7Ci0JCQlmdW5jID0gZGF0YS0+ZnVuYzsKLQkJCWluZm8gPSBkYXRhLT5pbmZvOwotCQkJd2FpdCA9IGRhdGEtPndhaXQ7Ci0KLQkJCS8qIE5vdGlmeSB0aGUgc2VuZGluZyBDUFUgdGhhdCB0aGUgZGF0YSBoYXMgYmVlbgotCQkJICAgcmVjZWl2ZWQsIGFuZCBleGVjdXRpb24gaXMgYWJvdXQgdG8gYmVnaW4uICAqLwotCQkJbWIoKTsKLQkJCWF0b21pY19kZWMgKCZkYXRhLT51bnN0YXJ0ZWRfY291bnQpOwotCi0JCQkvKiBBdCB0aGlzIHBvaW50IHRoZSBzdHJ1Y3R1cmUgbWF5IGJlIGdvbmUgdW5sZXNzCi0JCQkgICB3YWl0IGlzIHRydWUuICAqLwotCQkJKCpmdW5jKShpbmZvKTsKLQotCQkJLyogTm90aWZ5IHRoZSBzZW5kaW5nIENQVSB0aGF0IHRoZSB0YXNrIGlzIGRvbmUuICAqLwotCQkJbWIoKTsKLQkJCWlmICh3YWl0KSBhdG9taWNfZGVjICgmZGF0YS0+dW5maW5pc2hlZF9jb3VudCk7CisJCQlnZW5lcmljX3NtcF9jYWxsX2Z1bmN0aW9uX2ludGVycnVwdCgpOwogCQkJYnJlYWs7Ci0JCSAgICB9CisKKwkJY2FzZSBJUElfQ0FMTF9GVU5DX1NJTkdMRToKKwkJCWdlbmVyaWNfc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2ludGVycnVwdCgpOworCQkJYnJlYWs7CiAKIAkJY2FzZSBJUElfQ1BVX1NUT1A6CiAJCQloYWx0KCk7CkBAIC03MDAsMTAyICs2MzcsMTUgQEAKIAlzZW5kX2lwaV9tZXNzYWdlKHRvX3dob20sIElQSV9DUFVfU1RPUCk7CiB9CiAKLS8qCi0gKiBSdW4gYSBmdW5jdGlvbiBvbiBhbGwgb3RoZXIgQ1BVcy4KLSAqICA8ZnVuYz4JVGhlIGZ1bmN0aW9uIHRvIHJ1bi4gVGhpcyBtdXN0IGJlIGZhc3QgYW5kIG5vbi1ibG9ja2luZy4KLSAqICA8aW5mbz4JQW4gYXJiaXRyYXJ5IHBvaW50ZXIgdG8gcGFzcyB0byB0aGUgZnVuY3Rpb24uCi0gKiAgPHJldHJ5PglJZiB0cnVlLCBrZWVwIHJldHJ5aW5nIHVudGlsIHJlYWR5LgotICogIDx3YWl0PglJZiB0cnVlLCB3YWl0IHVudGlsIGZ1bmN0aW9uIGhhcyBjb21wbGV0ZWQgb24gb3RoZXIgQ1BVcy4KLSAqICBbUkVUVVJOU10gICAwIG9uIHN1Y2Nlc3MsIGVsc2UgYSBuZWdhdGl2ZSBzdGF0dXMgY29kZS4KLSAqCi0gKiBEb2VzIG5vdCByZXR1cm4gdW50aWwgcmVtb3RlIENQVXMgYXJlIG5lYXJseSByZWFkeSB0byBleGVjdXRlIDxmdW5jPgotICogb3IgYXJlIG9yIGhhdmUgZXhlY3V0ZWQuCi0gKiBZb3UgbXVzdCBub3QgY2FsbCB0aGlzIGZ1bmN0aW9uIHdpdGggZGlzYWJsZWQgaW50ZXJydXB0cyBvciBmcm9tIGEKLSAqIGhhcmR3YXJlIGludGVycnVwdCBoYW5kbGVyIG9yIGZyb20gYSBib3R0b20gaGFsZiBoYW5kbGVyLgotICovCi0KLWludAotc21wX2NhbGxfZnVuY3Rpb25fb25fY3B1ICh2b2lkICgqZnVuYykgKHZvaWQgKmluZm8pLCB2b2lkICppbmZvLCBpbnQgcmV0cnksCi0JCQkgIGludCB3YWl0LCBjcHVtYXNrX3QgdG9fd2hvbSkKK3ZvaWQgYXJjaF9zZW5kX2NhbGxfZnVuY3Rpb25faXBpKGNwdW1hc2tfdCBtYXNrKQogewotCXN0cnVjdCBzbXBfY2FsbF9zdHJ1Y3QgZGF0YTsKLQl1bnNpZ25lZCBsb25nIHRpbWVvdXQ7Ci0JaW50IG51bV9jcHVzX3RvX2NhbGw7Ci0JCi0JLyogQ2FuIGRlYWRsb2NrIHdoZW4gY2FsbGVkIHdpdGggaW50ZXJydXB0cyBkaXNhYmxlZCAqLwotCVdBUk5fT04oaXJxc19kaXNhYmxlZCgpKTsKLQotCWRhdGEuZnVuYyA9IGZ1bmM7Ci0JZGF0YS5pbmZvID0gaW5mbzsKLQlkYXRhLndhaXQgPSB3YWl0OwotCi0JY3B1X2NsZWFyKHNtcF9wcm9jZXNzb3JfaWQoKSwgdG9fd2hvbSk7Ci0JbnVtX2NwdXNfdG9fY2FsbCA9IGNwdXNfd2VpZ2h0KHRvX3dob20pOwotCi0JYXRvbWljX3NldCgmZGF0YS51bnN0YXJ0ZWRfY291bnQsIG51bV9jcHVzX3RvX2NhbGwpOwotCWF0b21pY19zZXQoJmRhdGEudW5maW5pc2hlZF9jb3VudCwgbnVtX2NwdXNfdG9fY2FsbCk7Ci0KLQkvKiBBY3F1aXJlIHRoZSBzbXBfY2FsbF9mdW5jdGlvbl9kYXRhIG11dGV4LiAgKi8KLQlpZiAocG9pbnRlcl9sb2NrKCZzbXBfY2FsbF9mdW5jdGlvbl9kYXRhLCAmZGF0YSwgcmV0cnkpKQotCQlyZXR1cm4gLUVCVVNZOwotCi0JLyogU2VuZCBhIG1lc3NhZ2UgdG8gdGhlIHJlcXVlc3RlZCBDUFVzLiAgKi8KLQlzZW5kX2lwaV9tZXNzYWdlKHRvX3dob20sIElQSV9DQUxMX0ZVTkMpOwotCi0JLyogV2FpdCBmb3IgYSBtaW5pbWFsIHJlc3BvbnNlLiAgKi8KLQl0aW1lb3V0ID0gamlmZmllcyArIEhaOwotCXdoaWxlIChhdG9taWNfcmVhZCAoJmRhdGEudW5zdGFydGVkX2NvdW50KSA+IDAKLQkgICAgICAgJiYgdGltZV9iZWZvcmUgKGppZmZpZXMsIHRpbWVvdXQpKQotCQliYXJyaWVyKCk7Ci0KLQkvKiBJZiB0aGVyZSdzIG5vIHJlc3BvbnNlIHlldCwgbG9nIGEgbWVzc2FnZSBidXQgYWxsb3cgYSBsb25nZXIKLQkgKiB0aW1lb3V0IHBlcmlvZCAtLSBpZiB3ZSBnZXQgYSByZXNwb25zZSB0aGlzIHRpbWUsIGxvZwotCSAqIGEgbWVzc2FnZSBzYXlpbmcgd2hlbiB3ZSBnb3QgaXQuLiAKLQkgKi8KLQlpZiAoYXRvbWljX3JlYWQoJmRhdGEudW5zdGFydGVkX2NvdW50KSA+IDApIHsKLQkJbG9uZyBzdGFydF90aW1lID0gamlmZmllczsKLQkJcHJpbnRrKEtFUk5fRVJSICIlczogaW5pdGlhbCB0aW1lb3V0IC0tIHRyeWluZyBsb25nIHdhaXRcbiIsCi0JCSAgICAgICBfX2Z1bmNfXyk7Ci0JCXRpbWVvdXQgPSBqaWZmaWVzICsgMzAgKiBIWjsKLQkJd2hpbGUgKGF0b21pY19yZWFkKCZkYXRhLnVuc3RhcnRlZF9jb3VudCkgPiAwCi0JCSAgICAgICAmJiB0aW1lX2JlZm9yZShqaWZmaWVzLCB0aW1lb3V0KSkKLQkJCWJhcnJpZXIoKTsKLQkJaWYgKGF0b21pY19yZWFkKCZkYXRhLnVuc3RhcnRlZF9jb3VudCkgPD0gMCkgewotCQkJbG9uZyBkZWx0YSA9IGppZmZpZXMgLSBzdGFydF90aW1lOwotCQkJcHJpbnRrKEtFUk5fRVJSIAotCQkJICAgICAgICIlczogcmVzcG9uc2UgJWxkLiVsZCBzZWNvbmRzIGludG8gbG9uZyB3YWl0XG4iLAotCQkJICAgICAgIF9fZnVuY19fLCBkZWx0YSAvIEhaLAotCQkJICAgICAgICgxMDAgKiAoZGVsdGEgLSAoKGRlbHRhIC8gSFopICogSFopKSkgLyBIWik7Ci0JCX0KLQl9Ci0KLQkvKiBXZSBlaXRoZXIgZ290IG9uZSBvciB0aW1lZCBvdXQgLS0gY2xlYXIgdGhlIGxvY2suICovCi0JbWIoKTsKLQlzbXBfY2FsbF9mdW5jdGlvbl9kYXRhID0gTlVMTDsKLQotCS8qIAotCSAqIElmIGFmdGVyIGJvdGggdGhlIGluaXRpYWwgYW5kIGxvbmcgdGltZW91dCBwZXJpb2RzIHdlIHN0aWxsIGRvbid0Ci0JICogaGF2ZSBhIHJlc3BvbnNlLCBzb21ldGhpbmcgaXMgdmVyeSB3cm9uZy4uLgotCSAqLwotCUJVR19PTihhdG9taWNfcmVhZCAoJmRhdGEudW5zdGFydGVkX2NvdW50KSA+IDApOwotCi0JLyogV2FpdCBmb3IgYSBjb21wbGV0ZSByZXNwb25zZSwgaWYgbmVlZGVkLiAgKi8KLQlpZiAod2FpdCkgewotCQl3aGlsZSAoYXRvbWljX3JlYWQgKCZkYXRhLnVuZmluaXNoZWRfY291bnQpID4gMCkKLQkJCWJhcnJpZXIoKTsKLQl9Ci0KLQlyZXR1cm4gMDsKKwlzZW5kX2lwaV9tZXNzYWdlKG1hc2ssIElQSV9DQUxMX0ZVTkMpOwogfQotRVhQT1JUX1NZTUJPTChzbXBfY2FsbF9mdW5jdGlvbl9vbl9jcHUpOwogCi1pbnQKLXNtcF9jYWxsX2Z1bmN0aW9uICh2b2lkICgqZnVuYykgKHZvaWQgKmluZm8pLCB2b2lkICppbmZvLCBpbnQgcmV0cnksIGludCB3YWl0KQordm9pZCBhcmNoX3NlbmRfY2FsbF9mdW5jdGlvbl9zaW5nbGVfaXBpKGludCBjcHUpCiB7Ci0JcmV0dXJuIHNtcF9jYWxsX2Z1bmN0aW9uX29uX2NwdSAoZnVuYywgaW5mbywgcmV0cnksIHdhaXQsCi0JCQkJCSBjcHVfb25saW5lX21hcCk7CisJc2VuZF9pcGlfbWVzc2FnZShjcHVtYXNrX29mX2NwdShjcHUpLCBJUElfQ0FMTF9GVU5DX1NJTkdMRSk7CiB9Ci1FWFBPUlRfU1lNQk9MKHNtcF9jYWxsX2Z1bmN0aW9uKTsKIAogc3RhdGljIHZvaWQKIGlwaV9pbWIodm9pZCAqaWdub3JlZCkKQEAgLTgwNyw3ICs2NTcsNyBAQAogc21wX2ltYih2b2lkKQogewogCS8qIE11c3Qgd2FpdCBvdGhlciBwcm9jZXNzb3JzIHRvIGZsdXNoIHRoZWlyIGljYWNoZSBiZWZvcmUgY29udGludWUuICovCi0JaWYgKG9uX2VhY2hfY3B1KGlwaV9pbWIsIE5VTEwsIDEsIDEpKQorCWlmIChvbl9lYWNoX2NwdShpcGlfaW1iLCBOVUxMLCAxKSkKIAkJcHJpbnRrKEtFUk5fQ1JJVCAic21wX2ltYjogdGltZWQgb3V0XG4iKTsKIH0KIEVYUE9SVF9TWU1CT0woc21wX2ltYik7CkBAIC04MjMsNyArNjczLDcgQEAKIHsKIAkvKiBBbHRob3VnaCB3ZSBkb24ndCBoYXZlIGFueSBkYXRhIHRvIHBhc3MsIHdlIGRvIHdhbnQgdG8KIAkgICBzeW5jaHJvbml6ZSB3aXRoIHRoZSBvdGhlciBwcm9jZXNzb3JzLiAgKi8KLQlpZiAob25fZWFjaF9jcHUoaXBpX2ZsdXNoX3RsYl9hbGwsIE5VTEwsIDEsIDEpKSB7CisJaWYgKG9uX2VhY2hfY3B1KGlwaV9mbHVzaF90bGJfYWxsLCBOVUxMLCAxKSkgewogCQlwcmludGsoS0VSTl9DUklUICJmbHVzaF90bGJfYWxsOiB0aW1lZCBvdXRcbiIpOwogCX0KIH0KQEAgLTg2MCw3ICs3MTAsNyBAQAogCQl9CiAJfQogCi0JaWYgKHNtcF9jYWxsX2Z1bmN0aW9uKGlwaV9mbHVzaF90bGJfbW0sIG1tLCAxLCAxKSkgeworCWlmIChzbXBfY2FsbF9mdW5jdGlvbihpcGlfZmx1c2hfdGxiX21tLCBtbSwgMSkpIHsKIAkJcHJpbnRrKEtFUk5fQ1JJVCAiZmx1c2hfdGxiX21tOiB0aW1lZCBvdXRcbiIpOwogCX0KIApAQCAtOTEzLDcgKzc2Myw3IEBACiAJZGF0YS5tbSA9IG1tOwogCWRhdGEuYWRkciA9IGFkZHI7CiAKLQlpZiAoc21wX2NhbGxfZnVuY3Rpb24oaXBpX2ZsdXNoX3RsYl9wYWdlLCAmZGF0YSwgMSwgMSkpIHsKKwlpZiAoc21wX2NhbGxfZnVuY3Rpb24oaXBpX2ZsdXNoX3RsYl9wYWdlLCAmZGF0YSwgMSkpIHsKIAkJcHJpbnRrKEtFUk5fQ1JJVCAiZmx1c2hfdGxiX3BhZ2U6IHRpbWVkIG91dFxuIik7CiAJfQogCkBAIC05NjUsNyArODE1LDcgQEAKIAkJfQogCX0KIAotCWlmIChzbXBfY2FsbF9mdW5jdGlvbihpcGlfZmx1c2hfaWNhY2hlX3BhZ2UsIG1tLCAxLCAxKSkgeworCWlmIChzbXBfY2FsbF9mdW5jdGlvbihpcGlfZmx1c2hfaWNhY2hlX3BhZ2UsIG1tLCAxKSkgewogCQlwcmludGsoS0VSTl9DUklUICJmbHVzaF9pY2FjaGVfcGFnZTogdGltZWQgb3V0XG4iKTsKIAl9CiAKZGlmZiAtLWdpdCBhL2FyY2gvYWxwaGEvb3Byb2ZpbGUvY29tbW9uLmMgYi9hcmNoL2FscGhhL29wcm9maWxlL2NvbW1vbi5jCmluZGV4IDlmYzBlZWIuLjdjM2Q1ZWMgMTAwNjQ0Ci0tLSBhL2FyY2gvYWxwaGEvb3Byb2ZpbGUvY29tbW9uLmMKKysrIGIvYXJjaC9hbHBoYS9vcHJvZmlsZS9jb21tb24uYwpAQCAtNjUsNyArNjUsNyBAQAogCW1vZGVsLT5yZWdfc2V0dXAoJnJlZywgY3RyLCAmc3lzKTsKIAogCS8qIENvbmZpZ3VyZSB0aGUgcmVnaXN0ZXJzIG9uIGFsbCBjcHVzLiAgKi8KLQkodm9pZClzbXBfY2FsbF9mdW5jdGlvbihtb2RlbC0+Y3B1X3NldHVwLCAmcmVnLCAwLCAxKTsKKwkodm9pZClzbXBfY2FsbF9mdW5jdGlvbihtb2RlbC0+Y3B1X3NldHVwLCAmcmVnLCAxKTsKIAltb2RlbC0+Y3B1X3NldHVwKCZyZWcpOwogCXJldHVybiAwOwogfQpAQCAtODYsNyArODYsNyBAQAogc3RhdGljIGludAogb3BfYXhwX3N0YXJ0KHZvaWQpCiB7Ci0JKHZvaWQpc21wX2NhbGxfZnVuY3Rpb24ob3BfYXhwX2NwdV9zdGFydCwgTlVMTCwgMCwgMSk7CisJKHZvaWQpc21wX2NhbGxfZnVuY3Rpb24ob3BfYXhwX2NwdV9zdGFydCwgTlVMTCwgMSk7CiAJb3BfYXhwX2NwdV9zdGFydChOVUxMKTsKIAlyZXR1cm4gMDsKIH0KQEAgLTEwMSw3ICsxMDEsNyBAQAogc3RhdGljIHZvaWQKIG9wX2F4cF9zdG9wKHZvaWQpCiB7Ci0JKHZvaWQpc21wX2NhbGxfZnVuY3Rpb24ob3BfYXhwX2NwdV9zdG9wLCBOVUxMLCAwLCAxKTsKKwkodm9pZClzbXBfY2FsbF9mdW5jdGlvbihvcF9heHBfY3B1X3N0b3AsIE5VTEwsIDEpOwogCW9wX2F4cF9jcHVfc3RvcChOVUxMKTsKIH0KIApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vS2NvbmZpZyBiL2FyY2gvYXJtL0tjb25maWcKaW5kZXggYjc4NmU2OC4uYzdhZDMyNCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vS2NvbmZpZworKysgYi9hcmNoL2FybS9LY29uZmlnCkBAIC0xNCw2ICsxNCw4IEBACiAJc2VsZWN0IEhBVkVfT1BST0ZJTEUKIAlzZWxlY3QgSEFWRV9LUFJPQkVTIGlmICghWElQX0tFUk5FTCkKIAlzZWxlY3QgSEFWRV9LUkVUUFJPQkVTIGlmIChIQVZFX0tQUk9CRVMpCisJc2VsZWN0IEhBVkVfRlRSQUNFIGlmICghWElQX0tFUk5FTCkKKwlzZWxlY3QgSEFWRV9EWU5BTUlDX0ZUUkFDRSBpZiAoSEFWRV9GVFJBQ0UpCiAJaGVscAogCSAgVGhlIEFSTSBzZXJpZXMgaXMgYSBsaW5lIG9mIGxvdy1wb3dlci1jb25zdW1wdGlvbiBSSVNDIGNoaXAgZGVzaWducwogCSAgbGljZW5zZWQgYnkgQVJNIEx0ZCBhbmQgdGFyZ2V0ZWQgYXQgZW1iZWRkZWQgYXBwbGljYXRpb25zIGFuZApAQCAtMjIsNiArMjQsOSBAQAogCSAgRXVyb3BlLiAgVGhlcmUgaXMgYW4gQVJNIExpbnV4IHByb2plY3Qgd2l0aCBhIHdlYiBwYWdlIGF0CiAJICA8aHR0cDovL3d3dy5hcm0ubGludXgub3JnLnVrLz4uCiAKK2NvbmZpZyBIQVZFX1BXTQorCWJvb2wKKwogY29uZmlnIFNZU19TVVBQT1JUU19BUE1fRU1VTEFUSU9OCiAJYm9vbAogCkBAIC04NCw2ICs4OSwxMSBAQAogCWJvb2wKIAlkZWZhdWx0IHkKIAorY29uZmlnIEhBVkVfTEFURU5DWVRPUF9TVVBQT1JUCisJYm9vbAorCWRlcGVuZHMgb24gIVNNUAorCWRlZmF1bHQgeQorCiBjb25maWcgTE9DS0RFUF9TVVBQT1JUCiAJYm9vbAogCWRlZmF1bHQgeQpAQCAtMTQ3LDYgKzE1NywxMCBAQAogY29uZmlnIEFSQ0hfTVREX1hJUAogCWJvb2wKIAorY29uZmlnIEdFTkVSSUNfSEFSRElSUVNfTk9fX0RPX0lSUQorCWJvb2wKKwlkZWZfYm9vbCB5CisKIGlmIE9QUk9GSUxFCiAKIGNvbmZpZyBPUFJPRklMRV9BUk1WNgpAQCAtMjMyLDEzICsyNDYsNiBAQAogCWhlbHAKIAkgIFN1cHBvcnQgZm9yIENpcnJ1cyBMb2dpYyA3MTF4LzcyMXggYmFzZWQgYm9hcmRzLgogCi1jb25maWcgQVJDSF9DTzI4NQotCWJvb2wgIkNvLUVCU0EyODUiCi0Jc2VsZWN0IEZPT1RCUklER0UKLQlzZWxlY3QgRk9PVEJSSURHRV9BRERJTgotCWhlbHAKLQkgIFN1cHBvcnQgZm9yIEludGVsJ3MgRUJTQTI4NSBjb21wYW5pb24gY2hpcC4KLQogY29uZmlnIEFSQ0hfRUJTQTExMAogCWJvb2wgIkVCU0EtMTEwIgogCXNlbGVjdCBJU0EKQEAgLTI5OSw2ICszMDYsOCBAQAogCWRlcGVuZHMgb24gTU1VCiAJc2VsZWN0IFBMQVRfSU9QCiAJc2VsZWN0IFBDSQorCXNlbGVjdCBHRU5FUklDX0dQSU8KKwlzZWxlY3QgSEFWRV9HUElPX0xJQgogCWhlbHAKIAkgIFN1cHBvcnQgZm9yIEludGVsJ3MgODAyMTkgYW5kIElPUDMyWCAoWFNjYWxlKSBmYW1pbHkgb2YKIAkgIHByb2Nlc3NvcnMuCkBAIC0zMDgsNiArMzE3LDggQEAKIAlkZXBlbmRzIG9uIE1NVQogCXNlbGVjdCBQTEFUX0lPUAogCXNlbGVjdCBQQ0kKKwlzZWxlY3QgR0VORVJJQ19HUElPCisJc2VsZWN0IEhBVkVfR1BJT19MSUIKIAloZWxwCiAJICBTdXBwb3J0IGZvciBJbnRlbCdzIElPUDMzWCAoWFNjYWxlKSBmYW1pbHkgb2YgcHJvY2Vzc29ycy4KIApAQCAtMzQ3LDYgKzM1OCwxNiBAQAogCSAgSWYgeW91IGhhdmUgYW55IHF1ZXN0aW9ucyBvciBjb21tZW50cyBhYm91dCB0aGUgTGludXgga2VybmVsIHBvcnQKIAkgIHRvIHRoaXMgYm9hcmQsIHNlbmQgZS1tYWlsIHRvIDxzamhpbGxAY290dy5jb20+LgogCitjb25maWcgQVJDSF9LSVJLV09PRAorCWJvb2wgIk1hcnZlbGwgS2lya3dvb2QiCisJc2VsZWN0IFBDSQorCXNlbGVjdCBHRU5FUklDX1RJTUUKKwlzZWxlY3QgR0VORVJJQ19DTE9DS0VWRU5UUworCXNlbGVjdCBQTEFUX09SSU9OCisJaGVscAorCSAgU3VwcG9ydCBmb3IgdGhlIGZvbGxvd2luZyBNYXJ2ZWxsIEtpcmt3b29kIHNlcmllcyBTb0NzOgorCSAgODhGNjE4MCwgODhGNjE5MiBhbmQgODhGNjI4MS4KKwogY29uZmlnIEFSQ0hfS1M4Njk1CiAJYm9vbCAiTWljcmVsL0tlbmRpbiBLUzg2OTUiCiAJc2VsZWN0IEdFTkVSSUNfR1BJTwpAQCAtMzY1LDkgKzM4NiwzMSBAQAogCiAJICA8aHR0cDovL3d3dy5kaWdpLmNvbS9wcm9kdWN0cy9taWNyb3Byb2Nlc3NvcnMvaW5kZXguanNwPgogCitjb25maWcgQVJDSF9MT0tJCisJYm9vbCAiTWFydmVsbCBMb2tpICg4OFJDODQ4MCkiCisJc2VsZWN0IEdFTkVSSUNfVElNRQorCXNlbGVjdCBHRU5FUklDX0NMT0NLRVZFTlRTCisJc2VsZWN0IFBMQVRfT1JJT04KKwloZWxwCisJICBTdXBwb3J0IGZvciB0aGUgTWFydmVsbCBMb2tpICg4OFJDODQ4MCkgU29DLgorCitjb25maWcgQVJDSF9NVjc4WFgwCisJYm9vbCAiTWFydmVsbCBNVjc4eHgwIgorCXNlbGVjdCBQQ0kKKwlzZWxlY3QgR0VORVJJQ19USU1FCisJc2VsZWN0IEdFTkVSSUNfQ0xPQ0tFVkVOVFMKKwlzZWxlY3QgUExBVF9PUklPTgorCWhlbHAKKwkgIFN1cHBvcnQgZm9yIHRoZSBmb2xsb3dpbmcgTWFydmVsbCBNVjc4eHgwIHNlcmllcyBTb0NzOgorCSAgTVY3ODF4MCwgTVY3ODJ4MC4KKwogY29uZmlnIEFSQ0hfTVhDCiAJYm9vbCAiRnJlZXNjYWxlIE1YQy9pTVgtYmFzZWQiCisJc2VsZWN0IEdFTkVSSUNfVElNRQorCXNlbGVjdCBHRU5FUklDX0NMT0NLRVZFTlRTCiAJc2VsZWN0IEFSQ0hfTVREX1hJUAorCXNlbGVjdCBHRU5FUklDX0dQSU8KKwlzZWxlY3QgSEFWRV9HUElPX0xJQgogCWhlbHAKIAkgIFN1cHBvcnQgZm9yIEZyZWVzY2FsZSBNWEMvaU1YLWJhc2VkIGZhbWlseSBvZiBwcm9jZXNzb3JzCiAKQEAgLTM4MSw3ICs0MjQsOCBAQAogCXNlbGVjdCBQTEFUX09SSU9OCiAJaGVscAogCSAgU3VwcG9ydCBmb3IgdGhlIGZvbGxvd2luZyBNYXJ2ZWxsIE9yaW9uIDV4IHNlcmllcyBTb0NzOgotCSAgT3Jpb24tMSAoNTE4MSksIE9yaW9uLU5BUyAoNTE4MiksIE9yaW9uLTIgKDUyODEuKQorCSAgT3Jpb24tMSAoNTE4MSksIE9yaW9uLVZvSVAgKDUxODFMKSwgT3Jpb24tTkFTICg1MTgyKSwKKwkgIE9yaW9uLTIgKDUyODEpLgogCiBjb25maWcgQVJDSF9QTlg0MDA4CiAJYm9vbCAiUGhpbGlwcyBOZXhwZXJpYSBQTlg0MDA4IE1vYmlsZSIKQEAgLTQwNiw2ICs0NTAsNyBAQAogCXNlbGVjdCBGSVEKIAlzZWxlY3QgVElNRVJfQUNPUk4KIAlzZWxlY3QgQVJDSF9NQVlfSEFWRV9QQ19GREMKKwlzZWxlY3QgSEFWRV9QQVRBX1BMQVRGT1JNCiAJc2VsZWN0IElTQV9ETUFfQVBJCiAJc2VsZWN0IE5PX0lPUE9SVAogCWhlbHAKQEAgLTUwMiw2ICs1NDcsMTAgQEAKIAogc291cmNlICJhcmNoL2FybS9tYWNoLWl4cDIzeHgvS2NvbmZpZyIKIAorc291cmNlICJhcmNoL2FybS9tYWNoLWxva2kvS2NvbmZpZyIKKworc291cmNlICJhcmNoL2FybS9tYWNoLW12Nzh4eDAvS2NvbmZpZyIKKwogc291cmNlICJhcmNoL2FybS9tYWNoLXB4YS9LY29uZmlnIgogCiBzb3VyY2UgImFyY2gvYXJtL21hY2gtc2ExMTAwL0tjb25maWciCkBAIC01MTQsNiArNTYzLDggQEAKIAogc291cmNlICJhcmNoL2FybS9tYWNoLW9yaW9uNXgvS2NvbmZpZyIKIAorc291cmNlICJhcmNoL2FybS9tYWNoLWtpcmt3b29kL0tjb25maWciCisKIHNvdXJjZSAiYXJjaC9hcm0vcGxhdC1zM2MyNHh4L0tjb25maWciCiBzb3VyY2UgImFyY2gvYXJtL3BsYXQtczNjL0tjb25maWciCiAKQEAgLTY1MCw2ICs3MDEsNyBAQAogY29uZmlnIFNNUAogCWJvb2wgIlN5bW1ldHJpYyBNdWx0aS1Qcm9jZXNzaW5nIChFWFBFUklNRU5UQUwpIgogCWRlcGVuZHMgb24gRVhQRVJJTUVOVEFMICYmIChSRUFMVklFV19FQl9BUk0xMU1QIHx8IE1BQ0hfUkVBTFZJRVdfUEIxMU1QKQorCXNlbGVjdCBVU0VfR0VORVJJQ19TTVBfSEVMUEVSUwogCWhlbHAKIAkgIFRoaXMgZW5hYmxlcyBzdXBwb3J0IGZvciBzeXN0ZW1zIHdpdGggbW9yZSB0aGFuIG9uZSBDUFUuIElmIHlvdSBoYXZlCiAJICBhIHN5c3RlbSB3aXRoIG9ubHkgb25lIENQVSwgbGlrZSBtb3N0IHBlcnNvbmFsIGNvbXB1dGVycywgc2F5IE4uIElmCkBAIC03MDMsMjcgKzc1NSw2IEBACiAJICBTYXkgWSBoZXJlIGlmIHlvdSBhcmUgYnVpbGRpbmcgYSBrZXJuZWwgZm9yIGEgZGVza3RvcCwgZW1iZWRkZWQKIAkgIG9yIHJlYWwtdGltZSBzeXN0ZW0uICBTYXkgTiBpZiB5b3UgYXJlIHVuc3VyZS4KIAotY29uZmlnIE5PX0lETEVfSFoKLQlib29sICJEeW5hbWljIHRpY2sgdGltZXIiCi0JZGVwZW5kcyBvbiAhR0VORVJJQ19DTE9DS0VWRU5UUwotCWhlbHAKLQkgIFNlbGVjdCB0aGlzIG9wdGlvbiBpZiB5b3Ugd2FudCB0byBkaXNhYmxlIGNvbnRpbnVvdXMgdGltZXIgdGlja3MKLQkgIGFuZCBoYXZlIHRoZW0gcHJvZ3JhbW1lZCB0byBvY2N1ciBhcyByZXF1aXJlZC4gVGhpcyBvcHRpb24gc2F2ZXMKLQkgIHBvd2VyIGFzIHRoZSBzeXN0ZW0gY2FuIHJlbWFpbiBpbiBpZGxlIHN0YXRlIGZvciBsb25nZXIuCi0KLQkgIEJ5IGRlZmF1bHQgZHluYW1pYyB0aWNrIGlzIGRpc2FibGVkIGR1cmluZyB0aGUgYm9vdCwgYW5kIGNhbiBiZQotCSAgbWFudWFsbHkgZW5hYmxlZCB3aXRoOgotCi0JICAgIGVjaG8gMSA+IC9zeXMvZGV2aWNlcy9zeXN0ZW0vdGltZXIvdGltZXIwL2R5bl90aWNrCi0KLQkgIEFsdGVybmF0aXZlbHksIGlmIHlvdSB3YW50IGR5bmFtaWMgdGljayBhdXRvbWF0aWNhbGx5IGVuYWJsZWQKLQkgIGR1cmluZyBib290LCBwYXNzICJkeW50aWNrPWVuYWJsZSIgdmlhIHRoZSBrZXJuZWwgY29tbWFuZCBzdHJpbmcuCi0KLQkgIFBsZWFzZSBub3RlIHRoYXQgZHluYW1pYyB0aWNrIG1heSBhZmZlY3QgdGhlIGFjY3VyYWN5IG9mCi0JICB0aW1la2VlcGluZyBvbiBzb21lIHBsYXRmb3JtcyBkZXBlbmRpbmcgb24gdGhlIGltcGxlbWVudGF0aW9uLgotCSAgQ3VycmVudGx5IGF0IGxlYXN0IE9NQVAsIFBYQTJ4eCBhbmQgU0ExMXgwIHBsYXRmb3JtcyBhcmUga25vd24KLQkgIHRvIGhhdmUgYWNjdXJhdGUgdGltZWtlZXBpbmcgd2l0aCBkeW5hbWljIHRpY2suCi0KIGNvbmZpZyBIWgogCWludAogCWRlZmF1bHQgMTI4IGlmIEFSQ0hfTDcyMDAKQEAgLTc4OSw3ICs4MjAsNyBAQAogCiBjb25maWcgTEVEUwogCWJvb2wgIlRpbWVyIGFuZCBDUFUgdXNhZ2UgTEVEcyIKLQlkZXBlbmRzIG9uIEFSQ0hfQ0RCODk3MTIgfHwgQVJDSF9DTzI4NSB8fCBBUkNIX0VCU0ExMTAgfHwgXAorCWRlcGVuZHMgb24gQVJDSF9DREI4OTcxMiB8fCBBUkNIX0VCU0ExMTAgfHwgXAogCQkgICBBUkNIX0VCU0EyODUgfHwgQVJDSF9JTVggfHwgQVJDSF9JTlRFR1JBVE9SIHx8IFwKIAkJICAgQVJDSF9MVUJCT0NLIHx8IE1BQ0hfTUFJTlNUT05FIHx8IEFSQ0hfTkVUV0lOREVSIHx8IFwKIAkJICAgQVJDSF9PTUFQIHx8IEFSQ0hfUDcyMFQgfHwgQVJDSF9QWEFfSURQIHx8IFwKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL01ha2VmaWxlIGIvYXJjaC9hcm0vTWFrZWZpbGUKaW5kZXggZTcyZGIyNy4uYjIwOTk1YSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vTWFrZWZpbGUKKysrIGIvYXJjaC9hcm0vTWFrZWZpbGUKQEAgLTEwMCw4ICsxMDAsNiBAQAogICBpbmNkaXItJChDT05GSUdfQVJDSF9DTFBTNzUwMCkgICA6PSBjbDc1MDAKICBtYWNoaW5lLSQoQ09ORklHX0ZPT1RCUklER0UpCSAgIDo9IGZvb3RicmlkZ2UKICAgaW5jZGlyLSQoQ09ORklHX0ZPT1RCUklER0UpCSAgIDo9IGVic2EyODUKLSBtYWNoaW5lLSQoQ09ORklHX0FSQ0hfQ08yODUpCSAgIDo9IGZvb3RicmlkZ2UKLSAgaW5jZGlyLSQoQ09ORklHX0FSQ0hfQ08yODUpCSAgIDo9IGVic2EyODUKICBtYWNoaW5lLSQoQ09ORklHX0FSQ0hfU0hBUkspCSAgIDo9IHNoYXJrCiAgbWFjaGluZS0kKENPTkZJR19BUkNIX1NBMTEwMCkJICAgOj0gc2ExMTAwCiBpZmVxICgkKENPTkZJR19BUkNIX1NBMTEwMCkseSkKQEAgLTEzNSwxMSArMTMzLDE1IEBACiAgbWFjaGluZS0kKENPTkZJR19BUkNIX05FVFgpCSAgIDo9IG5ldHgKICBtYWNoaW5lLSQoQ09ORklHX0FSQ0hfTlM5WFhYKQkgICA6PSBuczl4eHgKICBtYWNoaW5lLSQoQ09ORklHX0FSQ0hfREFWSU5DSSkJICAgOj0gZGF2aW5jaQorIG1hY2hpbmUtJChDT05GSUdfQVJDSF9LSVJLV09PRCkgICA6PSBraXJrd29vZAogIG1hY2hpbmUtJChDT05GSUdfQVJDSF9LUzg2OTUpICAgICA6PSBrczg2OTUKICAgaW5jZGlyLSQoQ09ORklHX0FSQ0hfTVhDKQkgICA6PSBteGMKKyBtYWNoaW5lLSQoQ09ORklHX0FSQ0hfTVgyKQkgICA6PSBteDIKICBtYWNoaW5lLSQoQ09ORklHX0FSQ0hfTVgzKQkgICA6PSBteDMKICBtYWNoaW5lLSQoQ09ORklHX0FSQ0hfT1JJT041WCkJICAgOj0gb3Jpb241eAogIG1hY2hpbmUtJChDT05GSUdfQVJDSF9NU003WDAwQSkgICA6PSBtc20KKyBtYWNoaW5lLSQoQ09ORklHX0FSQ0hfTE9LSSkgICAgICAgOj0gbG9raQorIG1hY2hpbmUtJChDT05GSUdfQVJDSF9NVjc4WFgwKSAgICA6PSBtdjc4eHgwCiAKIGlmZXEgKCQoQ09ORklHX0FSQ0hfRUJTQTExMCkseSkKICMgVGhpcyBpcyB3aGF0IGhhcHBlbnMgaWYgeW91IGZvcmdldCB0aGUgSU9DUzE2IGxpbmUuCkBAIC0xOTAsOCArMTkyLDYgQEAKIGNvcmUtJChDT05GSUdfQVJDSF9NWEMpCQkrPSBhcmNoL2FybS9wbGF0LW14Yy8KIAogZHJpdmVycy0kKENPTkZJR19PUFJPRklMRSkgICAgICArPSBhcmNoL2FybS9vcHJvZmlsZS8KLWRyaXZlcnMtJChDT05GSUdfQVJDSF9DTFBTNzUwMCkJKz0gZHJpdmVycy9hY29ybi9jaGFyLwotZHJpdmVycy0kKENPTkZJR19BUkNIX0w3MjAwKQkrPSBkcml2ZXJzL2Fjb3JuL2NoYXIvCiAKIGxpYnMteQkJCQk6PSBhcmNoL2FybS9saWIvICQobGlicy15KQogCmRpZmYgLS1naXQgYS9hcmNoL2FybS9ib290L2NvbXByZXNzZWQvTWFrZWZpbGUgYi9hcmNoL2FybS9ib290L2NvbXByZXNzZWQvTWFrZWZpbGUKaW5kZXggZGU5ZDllZTUuLjk1YmFhYzQgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2Jvb3QvY29tcHJlc3NlZC9NYWtlZmlsZQorKysgYi9hcmNoL2FybS9ib290L2NvbXByZXNzZWQvTWFrZWZpbGUKQEAgLTY5LDYgKzY5LDEyIEBACiAKIHRhcmdldHMgICAgICAgOj0gdm1saW51eCB2bWxpbnV4LmxkcyBwaWdneS5neiBwaWdneS5vIGZvbnQubyBmb250LmMgXAogCQkgaGVhZC5vIG1pc2MubyAkKE9CSlMpCisKK2lmZXEgKCQoQ09ORklHX0ZUUkFDRSkseSkKK09SSUdfQ0ZMQUdTIDo9ICQoS0JVSUxEX0NGTEFHUykKK0tCVUlMRF9DRkxBR1MgPSAkKHN1YnN0IC1wZywgLCAkKE9SSUdfQ0ZMQUdTKSkKK2VuZGlmCisKIEVYVFJBX0NGTEFHUyAgOj0gLWZwaWMgLWZuby1idWlsdGluCiBFWFRSQV9BRkxBR1MgIDo9CiAKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2Jvb3QvY29tcHJlc3NlZC9oZWFkLlMgYi9hcmNoL2FybS9ib290L2NvbXByZXNzZWQvaGVhZC5TCmluZGV4IDNjMmM4ZjIuLmRlNDFkYWUgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2Jvb3QvY29tcHJlc3NlZC9oZWFkLlMKKysrIGIvYXJjaC9hcm0vYm9vdC9jb21wcmVzc2VkL2hlYWQuUwpAQCAtNjIzLDggKzYyMyw4IEBACiAJCWIJX19hcm12NF9tbXVfY2FjaGVfb2ZmCiAJCWIJX19hcm12NF9tbXVfY2FjaGVfZmx1c2gKIAotCQkud29yZAkweDU2MDU1MzEwCQlAIEZlcm9jZW9uCi0JCS53b3JkCTB4ZmZmZmZmZjAKKwkJLndvcmQJMHg1NjA1MDAwMAkJQCBGZXJvY2VvbgorCQkud29yZAkweGZmMGYwMDAwCiAJCWIJX19hcm12NF9tbXVfY2FjaGVfb24KIAkJYglfX2FybXY0X21tdV9jYWNoZV9vZmYKIAkJYglfX2FybXY1dGVqX21tdV9jYWNoZV9mbHVzaApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29tbW9uL01ha2VmaWxlIGIvYXJjaC9hcm0vY29tbW9uL01ha2VmaWxlCmluZGV4IDNkMGI5ZmEuLjMyNWU0YjYgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbW1vbi9NYWtlZmlsZQorKysgYi9hcmNoL2FybS9jb21tb24vTWFrZWZpbGUKQEAgLTIsNyArMiw2IEBACiAjIE1ha2VmaWxlIGZvciB0aGUgbGludXgga2VybmVsLgogIwogCi1vYmoteQkJCQkrPSBydGN0aW1lLm8KIG9iai0kKENPTkZJR19BUk1fR0lDKQkJKz0gZ2ljLm8KIG9iai0kKENPTkZJR19BUk1fVklDKQkJKz0gdmljLm8KIG9iai0kKENPTkZJR19JQ1NUNTI1KQkJKz0gaWNzdDUyNS5vCmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb21tb24vcnRjdGltZS5jIGIvYXJjaC9hcm0vY29tbW9uL3J0Y3RpbWUuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWE4Zjc3My4uMDAwMDAwMAotLS0gYS9hcmNoL2FybS9jb21tb24vcnRjdGltZS5jCisrKyAvZGV2L251bGwKQEAgLTEsNDM0ICswLDAgQEAKLS8qCi0gKiAgbGludXgvYXJjaC9hcm0vY29tbW9uL3J0Y3RpbWUuYwotICoKLSAqICBDb3B5cmlnaHQgKEMpIDIwMDMgRGVlcCBCbHVlIFNvbHV0aW9ucyBMdGQuCi0gKiAgQmFzZWQgb24gc2ExMTAwLXJ0Yy5jLCBOaWxzIEZhZXJiZXIsIENJSCwgTmljb2xhcyBQaXRyZS4KLSAqICBCYXNlZCBvbiBydGMuYyBieSBQYXVsIEdvcnRtYWtlcgotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcwotICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCi0gKi8KLSNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KLSNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KLSNpbmNsdWRlIDxsaW51eC90aW1lLmg+Ci0jaW5jbHVkZSA8bGludXgvcnRjLmg+Ci0jaW5jbHVkZSA8bGludXgvcG9sbC5oPgotI2luY2x1ZGUgPGxpbnV4L3Byb2NfZnMuaD4KLSNpbmNsdWRlIDxsaW51eC9taXNjZGV2aWNlLmg+Ci0jaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KLSNpbmNsdWRlIDxsaW51eC9jYXBhYmlsaXR5Lmg+Ci0jaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+Ci0jaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KLQotI2luY2x1ZGUgPGFzbS9ydGMuaD4KLQotc3RhdGljIERFQ0xBUkVfV0FJVF9RVUVVRV9IRUFEKHJ0Y193YWl0KTsKLXN0YXRpYyBzdHJ1Y3QgZmFzeW5jX3N0cnVjdCAqcnRjX2FzeW5jX3F1ZXVlOwotCi0vKgotICogcnRjX2xvY2sgcHJvdGVjdHMgcnRjX2lycV9kYXRhCi0gKi8KLXN0YXRpYyBERUZJTkVfU1BJTkxPQ0socnRjX2xvY2spOwotc3RhdGljIHVuc2lnbmVkIGxvbmcgcnRjX2lycV9kYXRhOwotCi0vKgotICogcnRjX3NlbSBwcm90ZWN0cyBydGNfaW51c2UgYW5kIHJ0Y19vcHMKLSAqLwotc3RhdGljIERFRklORV9NVVRFWChydGNfbXV0ZXgpOwotc3RhdGljIHVuc2lnbmVkIGxvbmcgcnRjX2ludXNlOwotc3RhdGljIHN0cnVjdCBydGNfb3BzICpydGNfb3BzOwotCi0jZGVmaW5lIHJ0Y19lcG9jaCAxOTAwVUwKLQotLyoKLSAqIENhbGN1bGF0ZSB0aGUgbmV4dCBhbGFybSB0aW1lIGdpdmVuIHRoZSByZXF1ZXN0ZWQgYWxhcm0gdGltZSBtYXNrCi0gKiBhbmQgdGhlIGN1cnJlbnQgdGltZS4KLSAqLwotdm9pZCBydGNfbmV4dF9hbGFybV90aW1lKHN0cnVjdCBydGNfdGltZSAqbmV4dCwgc3RydWN0IHJ0Y190aW1lICpub3csIHN0cnVjdCBydGNfdGltZSAqYWxybSkKLXsKLQl1bnNpZ25lZCBsb25nIG5leHRfdGltZTsKLQl1bnNpZ25lZCBsb25nIG5vd190aW1lOwotCi0JbmV4dC0+dG1feWVhciA9IG5vdy0+dG1feWVhcjsKLQluZXh0LT50bV9tb24gPSBub3ctPnRtX21vbjsKLQluZXh0LT50bV9tZGF5ID0gbm93LT50bV9tZGF5OwotCW5leHQtPnRtX2hvdXIgPSBhbHJtLT50bV9ob3VyOwotCW5leHQtPnRtX21pbiA9IGFscm0tPnRtX21pbjsKLQluZXh0LT50bV9zZWMgPSBhbHJtLT50bV9zZWM7Ci0KLQlydGNfdG1fdG9fdGltZShub3csICZub3dfdGltZSk7Ci0JcnRjX3RtX3RvX3RpbWUobmV4dCwgJm5leHRfdGltZSk7Ci0KLQlpZiAobmV4dF90aW1lIDwgbm93X3RpbWUpIHsKLQkJLyogQWR2YW5jZSBvbmUgZGF5ICovCi0JCW5leHRfdGltZSArPSA2MCAqIDYwICogMjQ7Ci0JCXJ0Y190aW1lX3RvX3RtKG5leHRfdGltZSwgbmV4dCk7Ci0JfQotfQotRVhQT1JUX1NZTUJPTChydGNfbmV4dF9hbGFybV90aW1lKTsKLQotc3RhdGljIGlubGluZSBpbnQgcnRjX2FybV9yZWFkX3RpbWUoc3RydWN0IHJ0Y19vcHMgKm9wcywgc3RydWN0IHJ0Y190aW1lICp0bSkKLXsKLQltZW1zZXQodG0sIDAsIHNpemVvZihzdHJ1Y3QgcnRjX3RpbWUpKTsKLQlyZXR1cm4gb3BzLT5yZWFkX3RpbWUodG0pOwotfQotCi1zdGF0aWMgaW5saW5lIGludCBydGNfYXJtX3NldF90aW1lKHN0cnVjdCBydGNfb3BzICpvcHMsIHN0cnVjdCBydGNfdGltZSAqdG0pCi17Ci0JaW50IHJldDsKLQotCXJldCA9IHJ0Y192YWxpZF90bSh0bSk7Ci0JaWYgKHJldCA9PSAwKQotCQlyZXQgPSBvcHMtPnNldF90aW1lKHRtKTsKLQotCXJldHVybiByZXQ7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgaW50IHJ0Y19hcm1fcmVhZF9hbGFybShzdHJ1Y3QgcnRjX29wcyAqb3BzLCBzdHJ1Y3QgcnRjX3drYWxybSAqYWxybSkKLXsKLQlpbnQgcmV0ID0gLUVJTlZBTDsKLQlpZiAob3BzLT5yZWFkX2FsYXJtKSB7Ci0JCW1lbXNldChhbHJtLCAwLCBzaXplb2Yoc3RydWN0IHJ0Y193a2Fscm0pKTsKLQkJcmV0ID0gb3BzLT5yZWFkX2FsYXJtKGFscm0pOwotCX0KLQlyZXR1cm4gcmV0OwotfQotCi1zdGF0aWMgaW5saW5lIGludCBydGNfYXJtX3NldF9hbGFybShzdHJ1Y3QgcnRjX29wcyAqb3BzLCBzdHJ1Y3QgcnRjX3drYWxybSAqYWxybSkKLXsKLQlpbnQgcmV0ID0gLUVJTlZBTDsKLQlpZiAob3BzLT5zZXRfYWxhcm0pCi0JCXJldCA9IG9wcy0+c2V0X2FsYXJtKGFscm0pOwotCXJldHVybiByZXQ7Ci19Ci0KLXZvaWQgcnRjX3VwZGF0ZSh1bnNpZ25lZCBsb25nIG51bSwgdW5zaWduZWQgbG9uZyBldmVudHMpCi17Ci0Jc3Bpbl9sb2NrKCZydGNfbG9jayk7Ci0JcnRjX2lycV9kYXRhID0gKHJ0Y19pcnFfZGF0YSArIChudW0gPDwgOCkpIHwgZXZlbnRzOwotCXNwaW5fdW5sb2NrKCZydGNfbG9jayk7Ci0KLQl3YWtlX3VwX2ludGVycnVwdGlibGUoJnJ0Y193YWl0KTsKLQlraWxsX2Zhc3luYygmcnRjX2FzeW5jX3F1ZXVlLCBTSUdJTywgUE9MTF9JTik7Ci19Ci1FWFBPUlRfU1lNQk9MKHJ0Y191cGRhdGUpOwotCi0KLXN0YXRpYyBzc2l6ZV90Ci1ydGNfcmVhZChzdHJ1Y3QgZmlsZSAqZmlsZSwgY2hhciBfX3VzZXIgKmJ1Ziwgc2l6ZV90IGNvdW50LCBsb2ZmX3QgKnBwb3MpCi17Ci0JREVDTEFSRV9XQUlUUVVFVUUod2FpdCwgY3VycmVudCk7Ci0JdW5zaWduZWQgbG9uZyBkYXRhOwotCXNzaXplX3QgcmV0OwotCi0JaWYgKGNvdW50IDwgc2l6ZW9mKHVuc2lnbmVkIGxvbmcpKQotCQlyZXR1cm4gLUVJTlZBTDsKLQotCWFkZF93YWl0X3F1ZXVlKCZydGNfd2FpdCwgJndhaXQpOwotCWRvIHsKLQkJX19zZXRfY3VycmVudF9zdGF0ZShUQVNLX0lOVEVSUlVQVElCTEUpOwotCi0JCXNwaW5fbG9ja19pcnEoJnJ0Y19sb2NrKTsKLQkJZGF0YSA9IHJ0Y19pcnFfZGF0YTsKLQkJcnRjX2lycV9kYXRhID0gMDsKLQkJc3Bpbl91bmxvY2tfaXJxKCZydGNfbG9jayk7Ci0KLQkJaWYgKGRhdGEgIT0gMCkgewotCQkJcmV0ID0gMDsKLQkJCWJyZWFrOwotCQl9Ci0JCWlmIChmaWxlLT5mX2ZsYWdzICYgT19OT05CTE9DSykgewotCQkJcmV0ID0gLUVBR0FJTjsKLQkJCWJyZWFrOwotCQl9Ci0JCWlmIChzaWduYWxfcGVuZGluZyhjdXJyZW50KSkgewotCQkJcmV0ID0gLUVSRVNUQVJUU1lTOwotCQkJYnJlYWs7Ci0JCX0KLQkJc2NoZWR1bGUoKTsKLQl9IHdoaWxlICgxKTsKLQlzZXRfY3VycmVudF9zdGF0ZShUQVNLX1JVTk5JTkcpOwotCXJlbW92ZV93YWl0X3F1ZXVlKCZydGNfd2FpdCwgJndhaXQpOwotCi0JaWYgKHJldCA9PSAwKSB7Ci0JCXJldCA9IHB1dF91c2VyKGRhdGEsICh1bnNpZ25lZCBsb25nIF9fdXNlciAqKWJ1Zik7Ci0JCWlmIChyZXQgPT0gMCkKLQkJCXJldCA9IHNpemVvZih1bnNpZ25lZCBsb25nKTsKLQl9Ci0JcmV0dXJuIHJldDsKLX0KLQotc3RhdGljIHVuc2lnbmVkIGludCBydGNfcG9sbChzdHJ1Y3QgZmlsZSAqZmlsZSwgcG9sbF90YWJsZSAqd2FpdCkKLXsKLQl1bnNpZ25lZCBsb25nIGRhdGE7Ci0KLQlwb2xsX3dhaXQoZmlsZSwgJnJ0Y193YWl0LCB3YWl0KTsKLQotCXNwaW5fbG9ja19pcnEoJnJ0Y19sb2NrKTsKLQlkYXRhID0gcnRjX2lycV9kYXRhOwotCXNwaW5fdW5sb2NrX2lycSgmcnRjX2xvY2spOwotCi0JcmV0dXJuIGRhdGEgIT0gMCA/IFBPTExJTiB8IFBPTExSRE5PUk0gOiAwOwotfQotCi1zdGF0aWMgaW50IHJ0Y19pb2N0bChzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSwgdW5zaWduZWQgaW50IGNtZCwKLQkJICAgICB1bnNpZ25lZCBsb25nIGFyZykKLXsKLQlzdHJ1Y3QgcnRjX29wcyAqb3BzID0gZmlsZS0+cHJpdmF0ZV9kYXRhOwotCXN0cnVjdCBydGNfdGltZSB0bTsKLQlzdHJ1Y3QgcnRjX3drYWxybSBhbHJtOwotCXZvaWQgX191c2VyICp1YXJnID0gKHZvaWQgX191c2VyICopYXJnOwotCWludCByZXQgPSAtRUlOVkFMOwotCi0Jc3dpdGNoIChjbWQpIHsKLQljYXNlIFJUQ19BTE1fUkVBRDoKLQkJcmV0ID0gcnRjX2FybV9yZWFkX2FsYXJtKG9wcywgJmFscm0pOwotCQlpZiAocmV0KQotCQkJYnJlYWs7Ci0JCXJldCA9IGNvcHlfdG9fdXNlcih1YXJnLCAmYWxybS50aW1lLCBzaXplb2YodG0pKTsKLQkJaWYgKHJldCkKLQkJCXJldCA9IC1FRkFVTFQ7Ci0JCWJyZWFrOwotCi0JY2FzZSBSVENfQUxNX1NFVDoKLQkJcmV0ID0gY29weV9mcm9tX3VzZXIoJmFscm0udGltZSwgdWFyZywgc2l6ZW9mKHRtKSk7Ci0JCWlmIChyZXQpIHsKLQkJCXJldCA9IC1FRkFVTFQ7Ci0JCQlicmVhazsKLQkJfQotCQlhbHJtLmVuYWJsZWQgPSAwOwotCQlhbHJtLnBlbmRpbmcgPSAwOwotCQlhbHJtLnRpbWUudG1fbWRheSA9IC0xOwotCQlhbHJtLnRpbWUudG1fbW9uID0gLTE7Ci0JCWFscm0udGltZS50bV95ZWFyID0gLTE7Ci0JCWFscm0udGltZS50bV93ZGF5ID0gLTE7Ci0JCWFscm0udGltZS50bV95ZGF5ID0gLTE7Ci0JCWFscm0udGltZS50bV9pc2RzdCA9IC0xOwotCQlyZXQgPSBydGNfYXJtX3NldF9hbGFybShvcHMsICZhbHJtKTsKLQkJYnJlYWs7Ci0KLQljYXNlIFJUQ19SRF9USU1FOgotCQlyZXQgPSBydGNfYXJtX3JlYWRfdGltZShvcHMsICZ0bSk7Ci0JCWlmIChyZXQpCi0JCQlicmVhazsKLQkJcmV0ID0gY29weV90b191c2VyKHVhcmcsICZ0bSwgc2l6ZW9mKHRtKSk7Ci0JCWlmIChyZXQpCi0JCQlyZXQgPSAtRUZBVUxUOwotCQlicmVhazsKLQotCWNhc2UgUlRDX1NFVF9USU1FOgotCQlpZiAoIWNhcGFibGUoQ0FQX1NZU19USU1FKSkgewotCQkJcmV0ID0gLUVBQ0NFUzsKLQkJCWJyZWFrOwotCQl9Ci0JCXJldCA9IGNvcHlfZnJvbV91c2VyKCZ0bSwgdWFyZywgc2l6ZW9mKHRtKSk7Ci0JCWlmIChyZXQpIHsKLQkJCXJldCA9IC1FRkFVTFQ7Ci0JCQlicmVhazsKLQkJfQotCQlyZXQgPSBydGNfYXJtX3NldF90aW1lKG9wcywgJnRtKTsKLQkJYnJlYWs7Ci0KLQljYXNlIFJUQ19FUE9DSF9TRVQ6Ci0jaWZuZGVmIHJ0Y19lcG9jaAotCQkvKgotCQkgKiBUaGVyZSB3ZXJlIG5vIFJUQyBjbG9ja3MgYmVmb3JlIDE5MDAuCi0JCSAqLwotCQlpZiAoYXJnIDwgMTkwMCkgewotCQkJcmV0ID0gLUVJTlZBTDsKLQkJCWJyZWFrOwotCQl9Ci0JCWlmICghY2FwYWJsZShDQVBfU1lTX1RJTUUpKSB7Ci0JCQlyZXQgPSAtRUFDQ0VTOwotCQkJYnJlYWs7Ci0JCX0KLQkJcnRjX2Vwb2NoID0gYXJnOwotCQlyZXQgPSAwOwotI2VuZGlmCi0JCWJyZWFrOwotCi0JY2FzZSBSVENfRVBPQ0hfUkVBRDoKLQkJcmV0ID0gcHV0X3VzZXIocnRjX2Vwb2NoLCAodW5zaWduZWQgbG9uZyBfX3VzZXIgKil1YXJnKTsKLQkJYnJlYWs7Ci0KLQljYXNlIFJUQ19XS0FMTV9TRVQ6Ci0JCXJldCA9IGNvcHlfZnJvbV91c2VyKCZhbHJtLCB1YXJnLCBzaXplb2YoYWxybSkpOwotCQlpZiAocmV0KSB7Ci0JCQlyZXQgPSAtRUZBVUxUOwotCQkJYnJlYWs7Ci0JCX0KLQkJcmV0ID0gcnRjX2FybV9zZXRfYWxhcm0ob3BzLCAmYWxybSk7Ci0JCWJyZWFrOwotCi0JY2FzZSBSVENfV0tBTE1fUkQ6Ci0JCXJldCA9IHJ0Y19hcm1fcmVhZF9hbGFybShvcHMsICZhbHJtKTsKLQkJaWYgKHJldCkKLQkJCWJyZWFrOwotCQlyZXQgPSBjb3B5X3RvX3VzZXIodWFyZywgJmFscm0sIHNpemVvZihhbHJtKSk7Ci0JCWlmIChyZXQpCi0JCQlyZXQgPSAtRUZBVUxUOwotCQlicmVhazsKLQotCWRlZmF1bHQ6Ci0JCWlmIChvcHMtPmlvY3RsKQotCQkJcmV0ID0gb3BzLT5pb2N0bChjbWQsIGFyZyk7Ci0JCWJyZWFrOwotCX0KLQlyZXR1cm4gcmV0OwotfQotCi1zdGF0aWMgaW50IHJ0Y19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQotewotCWludCByZXQ7Ci0KLQltdXRleF9sb2NrKCZydGNfbXV0ZXgpOwotCi0JaWYgKHJ0Y19pbnVzZSkgewotCQlyZXQgPSAtRUJVU1k7Ci0JfSBlbHNlIGlmICghcnRjX29wcyB8fCAhdHJ5X21vZHVsZV9nZXQocnRjX29wcy0+b3duZXIpKSB7Ci0JCXJldCA9IC1FTk9ERVY7Ci0JfSBlbHNlIHsKLQkJZmlsZS0+cHJpdmF0ZV9kYXRhID0gcnRjX29wczsKLQotCQlyZXQgPSBydGNfb3BzLT5vcGVuID8gcnRjX29wcy0+b3BlbigpIDogMDsKLQkJaWYgKHJldCA9PSAwKSB7Ci0JCQlzcGluX2xvY2tfaXJxKCZydGNfbG9jayk7Ci0JCQlydGNfaXJxX2RhdGEgPSAwOwotCQkJc3Bpbl91bmxvY2tfaXJxKCZydGNfbG9jayk7Ci0KLQkJCXJ0Y19pbnVzZSA9IDE7Ci0JCX0KLQl9Ci0JbXV0ZXhfdW5sb2NrKCZydGNfbXV0ZXgpOwotCi0JcmV0dXJuIHJldDsKLX0KLQotc3RhdGljIGludCBydGNfcmVsZWFzZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKLXsKLQlzdHJ1Y3QgcnRjX29wcyAqb3BzID0gZmlsZS0+cHJpdmF0ZV9kYXRhOwotCi0JaWYgKG9wcy0+cmVsZWFzZSkKLQkJb3BzLT5yZWxlYXNlKCk7Ci0KLQlzcGluX2xvY2tfaXJxKCZydGNfbG9jayk7Ci0JcnRjX2lycV9kYXRhID0gMDsKLQlzcGluX3VubG9ja19pcnEoJnJ0Y19sb2NrKTsKLQotCW1vZHVsZV9wdXQocnRjX29wcy0+b3duZXIpOwotCXJ0Y19pbnVzZSA9IDA7Ci0KLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBydGNfZmFzeW5jKGludCBmZCwgc3RydWN0IGZpbGUgKmZpbGUsIGludCBvbikKLXsKLQlyZXR1cm4gZmFzeW5jX2hlbHBlcihmZCwgZmlsZSwgb24sICZydGNfYXN5bmNfcXVldWUpOwotfQotCi1zdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBydGNfZm9wcyA9IHsKLQkub3duZXIJCT0gVEhJU19NT0RVTEUsCi0JLmxsc2VlawkJPSBub19sbHNlZWssCi0JLnJlYWQJCT0gcnRjX3JlYWQsCi0JLnBvbGwJCT0gcnRjX3BvbGwsCi0JLmlvY3RsCQk9IHJ0Y19pb2N0bCwKLQkub3BlbgkJPSBydGNfb3BlbiwKLQkucmVsZWFzZQk9IHJ0Y19yZWxlYXNlLAotCS5mYXN5bmMJCT0gcnRjX2Zhc3luYywKLX07Ci0KLXN0YXRpYyBzdHJ1Y3QgbWlzY2RldmljZSBydGNfbWlzY2RldiA9IHsKLQkubWlub3IJCT0gUlRDX01JTk9SLAotCS5uYW1lCQk9ICJydGMiLAotCS5mb3BzCQk9ICZydGNfZm9wcywKLX07Ci0KLQotc3RhdGljIGludCBydGNfcmVhZF9wcm9jKGNoYXIgKnBhZ2UsIGNoYXIgKipzdGFydCwgb2ZmX3Qgb2ZmLCBpbnQgY291bnQsIGludCAqZW9mLCB2b2lkICpkYXRhKQotewotCXN0cnVjdCBydGNfb3BzICpvcHMgPSBkYXRhOwotCXN0cnVjdCBydGNfd2thbHJtIGFscm07Ci0Jc3RydWN0IHJ0Y190aW1lIHRtOwotCWNoYXIgKnAgPSBwYWdlOwotCi0JaWYgKHJ0Y19hcm1fcmVhZF90aW1lKG9wcywgJnRtKSA9PSAwKSB7Ci0JCXAgKz0gc3ByaW50ZihwLAotCQkJInJ0Y190aW1lXHQ6ICUwMmQ6JTAyZDolMDJkXG4iCi0JCQkicnRjX2RhdGVcdDogJTA0ZC0lMDJkLSUwMmRcbiIKLQkJCSJydGNfZXBvY2hcdDogJTA0bHVcbiIsCi0JCQl0bS50bV9ob3VyLCB0bS50bV9taW4sIHRtLnRtX3NlYywKLQkJCXRtLnRtX3llYXIgKyAxOTAwLCB0bS50bV9tb24gKyAxLCB0bS50bV9tZGF5LAotCQkJcnRjX2Vwb2NoKTsKLQl9Ci0KLQlpZiAocnRjX2FybV9yZWFkX2FsYXJtKG9wcywgJmFscm0pID09IDApIHsKLQkJcCArPSBzcHJpbnRmKHAsICJhbHJtX3RpbWVcdDogIik7Ci0JCWlmICgodW5zaWduZWQgaW50KWFscm0udGltZS50bV9ob3VyIDw9IDI0KQotCQkJcCArPSBzcHJpbnRmKHAsICIlMDJkOiIsIGFscm0udGltZS50bV9ob3VyKTsKLQkJZWxzZQotCQkJcCArPSBzcHJpbnRmKHAsICIqKjoiKTsKLQkJaWYgKCh1bnNpZ25lZCBpbnQpYWxybS50aW1lLnRtX21pbiA8PSA1OSkKLQkJCXAgKz0gc3ByaW50ZihwLCAiJTAyZDoiLCBhbHJtLnRpbWUudG1fbWluKTsKLQkJZWxzZQotCQkJcCArPSBzcHJpbnRmKHAsICIqKjoiKTsKLQkJaWYgKCh1bnNpZ25lZCBpbnQpYWxybS50aW1lLnRtX3NlYyA8PSA1OSkKLQkJCXAgKz0gc3ByaW50ZihwLCAiJTAyZFxuIiwgYWxybS50aW1lLnRtX3NlYyk7Ci0JCWVsc2UKLQkJCXAgKz0gc3ByaW50ZihwLCAiKipcbiIpOwotCi0JCXAgKz0gc3ByaW50ZihwLCAiYWxybV9kYXRlXHQ6ICIpOwotCQlpZiAoKHVuc2lnbmVkIGludClhbHJtLnRpbWUudG1feWVhciA8PSAyMDApCi0JCQlwICs9IHNwcmludGYocCwgIiUwNGQtIiwgYWxybS50aW1lLnRtX3llYXIgKyAxOTAwKTsKLQkJZWxzZQotCQkJcCArPSBzcHJpbnRmKHAsICIqKioqLSIpOwotCQlpZiAoKHVuc2lnbmVkIGludClhbHJtLnRpbWUudG1fbW9uIDw9IDExKQotCQkJcCArPSBzcHJpbnRmKHAsICIlMDJkLSIsIGFscm0udGltZS50bV9tb24gKyAxKTsKLQkJZWxzZQotCQkJcCArPSBzcHJpbnRmKHAsICIqKi0iKTsKLQkJaWYgKCh1bnNpZ25lZCBpbnQpYWxybS50aW1lLnRtX21kYXkgPD0gMzEpCi0JCQlwICs9IHNwcmludGYocCwgIiUwMmRcbiIsIGFscm0udGltZS50bV9tZGF5KTsKLQkJZWxzZQotCQkJcCArPSBzcHJpbnRmKHAsICIqKlxuIik7Ci0JCXAgKz0gc3ByaW50ZihwLCAiYWxybV93YWtldXBcdDogJXNcbiIsCi0JCQkgICAgIGFscm0uZW5hYmxlZCA/ICJ5ZXMiIDogIm5vIik7Ci0JCXAgKz0gc3ByaW50ZihwLCAiYWxybV9wZW5kaW5nXHQ6ICVzXG4iLAotCQkJICAgICBhbHJtLnBlbmRpbmcgPyAieWVzIiA6ICJubyIpOwotCX0KLQotCWlmIChvcHMtPnByb2MpCi0JCXAgKz0gb3BzLT5wcm9jKHApOwotCi0JcmV0dXJuIHAgLSBwYWdlOwotfQotCi1pbnQgcmVnaXN0ZXJfcnRjKHN0cnVjdCBydGNfb3BzICpvcHMpCi17Ci0JaW50IHJldCA9IC1FQlVTWTsKLQotCW11dGV4X2xvY2soJnJ0Y19tdXRleCk7Ci0JaWYgKHJ0Y19vcHMgPT0gTlVMTCkgewotCQlydGNfb3BzID0gb3BzOwotCi0JCXJldCA9IG1pc2NfcmVnaXN0ZXIoJnJ0Y19taXNjZGV2KTsKLQkJaWYgKHJldCA9PSAwKQotCQkJY3JlYXRlX3Byb2NfcmVhZF9lbnRyeSgiZHJpdmVyL3J0YyIsIDAsIE5VTEwsCi0JCQkJCSAgICAgICBydGNfcmVhZF9wcm9jLCBvcHMpOwotCX0KLQltdXRleF91bmxvY2soJnJ0Y19tdXRleCk7Ci0KLQlyZXR1cm4gcmV0OwotfQotRVhQT1JUX1NZTUJPTChyZWdpc3Rlcl9ydGMpOwotCi12b2lkIHVucmVnaXN0ZXJfcnRjKHN0cnVjdCBydGNfb3BzICpydGMpCi17Ci0JbXV0ZXhfbG9jaygmcnRjX211dGV4KTsKLQlpZiAocnRjID09IHJ0Y19vcHMpIHsKLQkJcmVtb3ZlX3Byb2NfZW50cnkoImRyaXZlci9ydGMiLCBOVUxMKTsKLQkJbWlzY19kZXJlZ2lzdGVyKCZydGNfbWlzY2Rldik7Ci0JCXJ0Y19vcHMgPSBOVUxMOwotCX0KLQltdXRleF91bmxvY2soJnJ0Y19tdXRleCk7Ci19Ci1FWFBPUlRfU1lNQk9MKHVucmVnaXN0ZXJfcnRjKTsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbW1vbi9zaGFycHNsX3BtLmMgYi9hcmNoL2FybS9jb21tb24vc2hhcnBzbF9wbS5jCmluZGV4IDViYmE1MjUuLjg4MjJiNjggMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbW1vbi9zaGFycHNsX3BtLmMKKysrIGIvYXJjaC9hcm0vY29tbW9uL3NoYXJwc2xfcG0uYwpAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgPGFzbS9pcnEuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9wbS5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3B4YS1yZWdzLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvcHhhMnh4LXJlZ3MuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9zaGFycHNsLmg+CiAjaW5jbHVkZSA8YXNtL2hhcmR3YXJlL3NoYXJwc2xfcG0uaD4KIApAQCAtMTU3LDYgKzE1OCw3IEBACiAJZGV2X2RiZyhzaGFycHNsX3BtLmRldiwgIkJhdHRlcnk6IHZvbHRhZ2U6ICVkLCBzdGF0dXM6ICVkLCBwZXJjZW50YWdlOiAlZCwgdGltZTogJWxkXG4iLCB2b2x0YWdlLAogCQkJc2hhcnBzbF9wbS5iYXR0c3RhdC5tYWluYmF0X3N0YXR1cywgc2hhcnBzbF9wbS5iYXR0c3RhdC5tYWluYmF0X3BlcmNlbnQsIGppZmZpZXMpOwogCisjaWZkZWYgQ09ORklHX0JBQ0tMSUdIVF9DT1JHSQogCS8qIElmIGJhdHRlcnkgaXMgbG93LiBsaW1pdCBiYWNrbGlnaHQgaW50ZW5zaXR5IHRvIHNhdmUgcG93ZXIuICovCiAJaWYgKChzaGFycHNsX3BtLmJhdHRzdGF0LmFjX3N0YXR1cyAhPSBBUE1fQUNfT05MSU5FKQogCQkJJiYgKChzaGFycHNsX3BtLmJhdHRzdGF0Lm1haW5iYXRfc3RhdHVzID09IEFQTV9CQVRURVJZX1NUQVRVU19MT1cpIHx8CkBAIC0xNjksNiArMTcxLDcgQEAKIAkJc2hhcnBzbF9wbS5tYWNoaW5mby0+YmFja2xpZ2h0X2xpbWl0KDApOwogCQlzaGFycHNsX3BtLmZsYWdzICY9IH5TSEFSUFNMX0JMX0xJTUlUOwogCX0KKyNlbmRpZgogCiAJLyogU3VzcGVuZCBpZiBjcml0aWNhbCBiYXR0ZXJ5IGxldmVsICovCiAJaWYgKChzaGFycHNsX3BtLmJhdHRzdGF0LmFjX3N0YXR1cyAhPSBBUE1fQUNfT05MSU5FKQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9hdDkxY2FwOWFka19kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL2F0OTFjYXA5YWRrX2RlZmNvbmZpZwppbmRleCBlMzJlNzM2Li5iZTJiMmYzIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL2F0OTFjYXA5YWRrX2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL2F0OTFjYXA5YWRrX2RlZmNvbmZpZwpAQCAtMjEzLDcgKzIxMyw2IEBACiAjCiAjIENPTkZJR19USUNLX09ORVNIT1QgaXMgbm90IHNldAogIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19IWj0xMDAKIENPTkZJR19BRUFCST15CiBDT05GSUdfT0FCSV9DT01QQVQ9eQpAQCAtOTA3LDcgKzkwNiwzMiBAQAogIwogIyBVU0IgR2FkZ2V0IFN1cHBvcnQKICMKLSMgQ09ORklHX1VTQl9HQURHRVQgaXMgbm90IHNldAorQ09ORklHX1VTQl9HQURHRVQ9eQorIyBDT05GSUdfVVNCX0dBREdFVF9ERUJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX0RFQlVHX0ZJTEVTIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfR0FER0VUX1NFTEVDVEVEPXkKKyMgQ09ORklHX1VTQl9HQURHRVRfQU1ENTUzNlVEQyBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0dBREdFVF9BVE1FTF9VU0JBPXkKK0NPTkZJR19VU0JfQVRNRUxfVVNCQT15CisjIENPTkZJR19VU0JfR0FER0VUX0ZTTF9VU0IyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfTkVUMjI4MCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX1BYQTJYWCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX002NjU5MiBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX0dPS1UgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9MSDdBNDBYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfT01BUCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX1MzQzI0MTAgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9BVDkxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfRFVNTVlfSENEIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfR0FER0VUX0RVQUxTUEVFRD15CisjIENPTkZJR19VU0JfWkVSTyBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0VUSD1tCitDT05GSUdfVVNCX0VUSF9STkRJUz15CisjIENPTkZJR19VU0JfR0FER0VURlMgaXMgbm90IHNldAorQ09ORklHX1VTQl9GSUxFX1NUT1JBR0U9bQorIyBDT05GSUdfVVNCX0ZJTEVfU1RPUkFHRV9URVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HX1NFUklBTCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfTUlESV9HQURHRVQgaXMgbm90IHNldAogQ09ORklHX01NQz15CiAjIENPTkZJR19NTUNfREVCVUcgaXMgbm90IHNldAogIyBDT05GSUdfTU1DX1VOU0FGRV9SRVNVTUUgaXMgbm90IHNldApAQCAtOTI2LDcgKzk1MCw1OSBAQAogIyBDT05GSUdfTU1DX1NQSSBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVdfTEVEUyBpcyBub3Qgc2V0CiBDT05GSUdfUlRDX0xJQj15Ci0jIENPTkZJR19SVENfQ0xBU1MgaXMgbm90IHNldAorQ09ORklHX1JUQ19DTEFTUz15CitDT05GSUdfUlRDX0hDVE9TWVM9eQorQ09ORklHX1JUQ19IQ1RPU1lTX0RFVklDRT0icnRjMCIKKyMgQ09ORklHX1JUQ19ERUJVRyBpcyBub3Qgc2V0CisKKyMKKyMgUlRDIGludGVyZmFjZXMKKyMKK0NPTkZJR19SVENfSU5URl9TWVNGUz15CitDT05GSUdfUlRDX0lOVEZfUFJPQz15CitDT05GSUdfUlRDX0lOVEZfREVWPXkKKyMgQ09ORklHX1JUQ19JTlRGX0RFVl9VSUVfRU1VTCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1RFU1QgaXMgbm90IHNldAorCisjCisjIEkyQyBSVEMgZHJpdmVycworIworIyBDT05GSUdfUlRDX0RSVl9EUzEzMDcgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9EUzEzNzQgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9EUzE2NzIgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9NQVg2OTAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUlM1QzM3MiBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0lTTDEyMDggaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9YMTIwNSBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1BDRjg1NjMgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9QQ0Y4NTgzIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfTTQxVDgwIGlzIG5vdCBzZXQKKworIworIyBTUEkgUlRDIGRyaXZlcnMKKyMKKyMgQ09ORklHX1JUQ19EUlZfTUFYNjkwMiBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1I5NzAxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUlM1QzM0OCBpcyBub3Qgc2V0CisKKyMKKyMgUGxhdGZvcm0gUlRDIGRyaXZlcnMKKyMKKyMgQ09ORklHX1JUQ19EUlZfQ01PUyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0RTMTUxMSBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0RTMTU1MyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0RTMTc0MiBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1NUSzE3VEE4IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfTTQ4VDg2IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfTTQ4VDU5IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfVjMwMjAgaXMgbm90IHNldAorCisjCisjIG9uLUNQVSBSVEMgZHJpdmVycworIworQ09ORklHX1JUQ19EUlZfQVQ5MVNBTTk9eQorQ09ORklHX1JUQ19EUlZfQVQ5MVNBTTlfUlRUPTAKK0NPTkZJR19SVENfRFJWX0FUOTFTQU05X0dQQlI9MAogCiAjCiAjIEZpbGUgc3lzdGVtcwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9hdDkxcm05MjAwZGtfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9hdDkxcm05MjAwZGtfZGVmY29uZmlnCmluZGV4IDJkYmJiYzMuLjg2OGZiN2IgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvYXQ5MXJtOTIwMGRrX2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL2F0OTFybTkyMDBka19kZWZjb25maWcKQEAgLTE2OSw3ICsxNjksNiBAQAogIyBLZXJuZWwgRmVhdHVyZXMKICMKICMgQ09ORklHX1BSRUVNUFQgaXMgbm90IHNldAotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9FTkFCTEUgaXMgbm90IHNldAogQ09ORklHX1NFTEVDVF9NRU1PUllfTU9ERUw9eQogQ09ORklHX0ZMQVRNRU1fTUFOVUFMPXkKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvYXQ5MXJtOTIwMGVrX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvYXQ5MXJtOTIwMGVrX2RlZmNvbmZpZwppbmRleCA2ZTk5NGY3Li5kZTQzZmM2IDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL2F0OTFybTkyMDBla19kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9hdDkxcm05MjAwZWtfZGVmY29uZmlnCkBAIC0xNjAsNyArMTYwLDYgQEAKICMgS2VybmVsIEZlYXR1cmVzCiAjCiAjIENPTkZJR19QUkVFTVBUIGlzIG5vdCBzZXQKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKIENPTkZJR19TRUxFQ1RfTUVNT1JZX01PREVMPXkKIENPTkZJR19GTEFUTUVNX01BTlVBTD15CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL2F0OTFzYW05MjYwZWtfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9hdDkxc2FtOTI2MGVrX2RlZmNvbmZpZwppbmRleCBmNjU5YzkzLi4yMDExYWRmIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL2F0OTFzYW05MjYwZWtfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvYXQ5MXNhbTkyNjBla19kZWZjb25maWcKQEAgLTIyMCw3ICsyMjAsNiBAQAogIwogIyBDT05GSUdfVElDS19PTkVTSE9UIGlzIG5vdCBzZXQKICMgQ09ORklHX1BSRUVNUFQgaXMgbm90IHNldAotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiBDT05GSUdfSFo9MTAwCiAjIENPTkZJR19BRUFCSSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9FTkFCTEUgaXMgbm90IHNldApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9hdDkxc2FtOTI2MWVrX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvYXQ5MXNhbTkyNjFla19kZWZjb25maWcKaW5kZXggMzgwMmU4NS4uNDA0OTc2OCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9hdDkxc2FtOTI2MWVrX2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL2F0OTFzYW05MjYxZWtfZGVmY29uZmlnCkBAIC0yMTMsNyArMjEzLDYgQEAKICMKICMgQ09ORklHX1RJQ0tfT05FU0hPVCBpcyBub3Qgc2V0CiAjIENPTkZJR19QUkVFTVBUIGlzIG5vdCBzZXQKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX0haPTEwMAogIyBDT05GSUdfQUVBQkkgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvYXQ5MXNhbTkyNjNla19kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL2F0OTFzYW05MjYzZWtfZGVmY29uZmlnCmluZGV4IDMyYTBkNzQuLmZhMWM1YWUgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvYXQ5MXNhbTkyNjNla19kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9hdDkxc2FtOTI2M2VrX2RlZmNvbmZpZwpAQCAtMjEzLDcgKzIxMyw2IEBACiAjCiAjIENPTkZJR19USUNLX09ORVNIT1QgaXMgbm90IHNldAogIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19IWj0xMDAKICMgQ09ORklHX0FFQUJJIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL2VtX3gyNzBfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9hdDkxc2FtOWcyMGVrX2RlZmNvbmZpZwpzaW1pbGFyaXR5IGluZGV4IDcwJQpjb3B5IGZyb20gYXJjaC9hcm0vY29uZmlncy9lbV94MjcwX2RlZmNvbmZpZwpjb3B5IHRvIGFyY2gvYXJtL2NvbmZpZ3MvYXQ5MXNhbTlnMjBla19kZWZjb25maWcKaW5kZXggNmJlYTA5MC4uYzA2ODYzOCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9lbV94MjcwX2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL2F0OTFzYW05ZzIwZWtfZGVmY29uZmlnCkBAIC0xLDEzICsxLDEzIEBACiAjCiAjIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIG1ha2UgY29uZmlnOiBkb24ndCBlZGl0Ci0jIExpbnV4IGtlcm5lbCB2ZXJzaW9uOiAyLjYuMjIKLSMgTW9uIEp1bCAgOSAxNToxODoyMCAyMDA3CisjIExpbnV4IGtlcm5lbCB2ZXJzaW9uOiAyLjYuMjQKKyMgVHVlIEp1biAxMCAxNTo1MTo1MiAyMDA4CiAjCiBDT05GSUdfQVJNPXkKIENPTkZJR19TWVNfU1VQUE9SVFNfQVBNX0VNVUxBVElPTj15CiBDT05GSUdfR0VORVJJQ19HUElPPXkKIENPTkZJR19HRU5FUklDX1RJTUU9eQotIyBDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UUyBpcyBub3Qgc2V0CitDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UUz15CiBDT05GSUdfTU1VPXkKICMgQ09ORklHX05PX0lPUE9SVCBpcyBub3Qgc2V0CiBDT05GSUdfR0VORVJJQ19IQVJESVJRUz15CkBAIC0yMiw0NSArMjIsNDAgQEAKIENPTkZJR19HRU5FUklDX0hXRUlHSFQ9eQogQ09ORklHX0dFTkVSSUNfQ0FMSUJSQVRFX0RFTEFZPXkKIENPTkZJR19aT05FX0RNQT15Ci1DT05GSUdfQVJDSF9NVERfWElQPXkKIENPTkZJR19WRUNUT1JTX0JBU0U9MHhmZmZmMDAwMAogQ09ORklHX0RFRkNPTkZJR19MSVNUPSIvbGliL21vZHVsZXMvJFVOQU1FX1JFTEVBU0UvLmNvbmZpZyIKIAogIwotIyBDb2RlIG1hdHVyaXR5IGxldmVsIG9wdGlvbnMKKyMgR2VuZXJhbCBzZXR1cAogIwogQ09ORklHX0VYUEVSSU1FTlRBTD15CiBDT05GSUdfQlJPS0VOX09OX1NNUD15CiBDT05GSUdfSU5JVF9FTlZfQVJHX0xJTUlUPTMyCi0KLSMKLSMgR2VuZXJhbCBzZXR1cAotIwotQ09ORklHX0xPQ0FMVkVSU0lPTj0iLWVtLXgyNzAiCitDT05GSUdfTE9DQUxWRVJTSU9OPSIiCiAjIENPTkZJR19MT0NBTFZFUlNJT05fQVVUTyBpcyBub3Qgc2V0Ci1DT05GSUdfU1dBUD15CisjIENPTkZJR19TV0FQIGlzIG5vdCBzZXQKIENPTkZJR19TWVNWSVBDPXkKLSMgQ09ORklHX0lQQ19OUyBpcyBub3Qgc2V0CiBDT05GSUdfU1lTVklQQ19TWVNDVEw9eQogIyBDT05GSUdfUE9TSVhfTVFVRVVFIGlzIG5vdCBzZXQKICMgQ09ORklHX0JTRF9QUk9DRVNTX0FDQ1QgaXMgbm90IHNldAogIyBDT05GSUdfVEFTS1NUQVRTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VUU19OUyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0VSX05TIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BJRF9OUyBpcyBub3Qgc2V0CiAjIENPTkZJR19BVURJVCBpcyBub3Qgc2V0Ci1DT05GSUdfSUtDT05GSUc9eQotQ09ORklHX0lLQ09ORklHX1BST0M9eQotQ09ORklHX0xPR19CVUZfU0hJRlQ9MTcKKyMgQ09ORklHX0lLQ09ORklHIGlzIG5vdCBzZXQKK0NPTkZJR19MT0dfQlVGX1NISUZUPTE0CisjIENPTkZJR19DR1JPVVBTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZBSVJfR1JPVVBfU0NIRUQgaXMgbm90IHNldAogQ09ORklHX1NZU0ZTX0RFUFJFQ0FURUQ9eQogIyBDT05GSUdfUkVMQVkgaXMgbm90IHNldAogQ09ORklHX0JMS19ERVZfSU5JVFJEPXkKIENPTkZJR19JTklUUkFNRlNfU09VUkNFPSIiCiBDT05GSUdfQ0NfT1BUSU1JWkVfRk9SX1NJWkU9eQogQ09ORklHX1NZU0NUTD15Ci1DT05GSUdfRU1CRURERUQ9eQorIyBDT05GSUdfRU1CRURERUQgaXMgbm90IHNldAogQ09ORklHX1VJRDE2PXkKIENPTkZJR19TWVNDVExfU1lTQ0FMTD15CiBDT05GSUdfS0FMTFNZTVM9eQotIyBDT05GSUdfS0FMTFNZTVNfQUxMIGlzIG5vdCBzZXQKICMgQ09ORklHX0tBTExTWU1TX0VYVFJBX1BBU1MgaXMgbm90IHNldAogQ09ORklHX0hPVFBMVUc9eQogQ09ORklHX1BSSU5USz15CkBAIC03MSw0MiArNjYsMzUgQEAKIENPTkZJR19BTk9OX0lOT0RFUz15CiBDT05GSUdfRVBPTEw9eQogQ09ORklHX1NJR05BTEZEPXkKLUNPTkZJR19USU1FUkZEPXkKIENPTkZJR19FVkVOVEZEPXkKIENPTkZJR19TSE1FTT15CiBDT05GSUdfVk1fRVZFTlRfQ09VTlRFUlM9eQogQ09ORklHX1NMQUI9eQogIyBDT05GSUdfU0xVQiBpcyBub3Qgc2V0CiAjIENPTkZJR19TTE9CIGlzIG5vdCBzZXQKK0NPTkZJR19TTEFCSU5GTz15CiBDT05GSUdfUlRfTVVURVhFUz15CiAjIENPTkZJR19USU5ZX1NITUVNIGlzIG5vdCBzZXQKIENPTkZJR19CQVNFX1NNQUxMPTAKLQotIwotIyBMb2FkYWJsZSBtb2R1bGUgc3VwcG9ydAotIwogQ09ORklHX01PRFVMRVM9eQogQ09ORklHX01PRFVMRV9VTkxPQUQ9eQotQ09ORklHX01PRFVMRV9GT1JDRV9VTkxPQUQ9eQorIyBDT05GSUdfTU9EVUxFX0ZPUkNFX1VOTE9BRCBpcyBub3Qgc2V0CiAjIENPTkZJR19NT0RWRVJTSU9OUyBpcyBub3Qgc2V0CiAjIENPTkZJR19NT0RVTEVfU1JDVkVSU0lPTl9BTEwgaXMgbm90IHNldAogQ09ORklHX0tNT0Q9eQotCi0jCi0jIEJsb2NrIGxheWVyCi0jCiBDT05GSUdfQkxPQ0s9eQogIyBDT05GSUdfTEJEIGlzIG5vdCBzZXQKICMgQ09ORklHX0JMS19ERVZfSU9fVFJBQ0UgaXMgbm90IHNldAogIyBDT05GSUdfTFNGIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JMS19ERVZfQlNHIGlzIG5vdCBzZXQKIAogIwogIyBJTyBTY2hlZHVsZXJzCiAjCiBDT05GSUdfSU9TQ0hFRF9OT09QPXkKIENPTkZJR19JT1NDSEVEX0FTPXkKLUNPTkZJR19JT1NDSEVEX0RFQURMSU5FPXkKLUNPTkZJR19JT1NDSEVEX0NGUT15CisjIENPTkZJR19JT1NDSEVEX0RFQURMSU5FIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lPU0NIRURfQ0ZRIGlzIG5vdCBzZXQKIENPTkZJR19ERUZBVUxUX0FTPXkKICMgQ09ORklHX0RFRkFVTFRfREVBRExJTkUgaXMgbm90IHNldAogIyBDT05GSUdfREVGQVVMVF9DRlEgaXMgbm90IHNldApAQCAtMTIwLDcgKzEwOCw3IEBACiAjIENPTkZJR19BUkNIX0lOVEVHUkFUT1IgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9SRUFMVklFVyBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1ZFUlNBVElMRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19BUkNIX0FUOTEgaXMgbm90IHNldAorQ09ORklHX0FSQ0hfQVQ5MT15CiAjIENPTkZJR19BUkNIX0NMUFM3NTAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfQ0xQUzcxMVggaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9DTzI4NSBpcyBub3Qgc2V0CkBAIC0xMzksOCArMTI3LDkgQEAKICMgQ09ORklHX0FSQ0hfTDcyMDAgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9LUzg2OTUgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9OUzlYWFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9NWEMgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9QTlg0MDA4IGlzIG5vdCBzZXQKLUNPTkZJR19BUkNIX1BYQT15CisjIENPTkZJR19BUkNIX1BYQSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1JQQyBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1NBMTEwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1MzQzI0MTAgaXMgbm90IHNldApAQCAtMTUwLDI1ICsxMzksNjAgQEAKICMgQ09ORklHX0FSQ0hfT01BUCBpcyBub3Qgc2V0CiAKICMKLSMgSW50ZWwgUFhBMnh4IEltcGxlbWVudGF0aW9ucworIyBCb290IG9wdGlvbnMKICMKLSMgQ09ORklHX0FSQ0hfTFVCQk9DSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NQUNIX0xPR0lDUERfUFhBMjcwIGlzIG5vdCBzZXQKLSMgQ09ORklHX01BQ0hfTUFJTlNUT05FIGlzIG5vdCBzZXQKLSMgQ09ORklHX0FSQ0hfUFhBX0lEUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19QWEFfU0hBUlBTTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NQUNIX1RSSVpFUFM0IGlzIG5vdCBzZXQKLUNPTkZJR19NQUNIX0VNX1gyNzA9eQotQ09ORklHX1BYQTI3eD15CisKKyMKKyMgUG93ZXIgbWFuYWdlbWVudAorIworCisjCisjIEF0bWVsIEFUOTEgU3lzdGVtLW9uLUNoaXAKKyMKKyMgQ09ORklHX0FSQ0hfQVQ5MVJNOTIwMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0FUOTFTQU05MjYwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfQVQ5MVNBTTkyNjEgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9BVDkxU0FNOTI2MyBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0FUOTFTQU05UkwgaXMgbm90IHNldAorQ09ORklHX0FSQ0hfQVQ5MVNBTTlHMjA9eQorIyBDT05GSUdfQVJDSF9BVDkxQ0FQOSBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0FUOTFYNDAgaXMgbm90IHNldAorQ09ORklHX0FUOTFfUE1DX1VOSVQ9eQorCisjCisjIEFUOTFTQU05RzIwIEJvYXJkIFR5cGUKKyMKK0NPTkZJR19NQUNIX0FUOTFTQU05RzIwRUs9eQorCisjCisjIEFUOTEgQm9hcmQgT3B0aW9ucworIworIyBDT05GSUdfTVREX0FUOTFfREFUQUZMQVNIX0NBUkQgaXMgbm90IHNldAorIyBDT05GSUdfTVREX05BTkRfQVQ5MV9CVVNXSURUSF8xNiBpcyBub3Qgc2V0CisKKyMKKyMgQVQ5MSBGZWF0dXJlIFNlbGVjdGlvbnMKKyMKK0NPTkZJR19BVDkxX1BST0dSQU1NQUJMRV9DTE9DS1M9eQorIyBDT05GSUdfQVQ5MV9TTE9XX0NMT0NLIGlzIG5vdCBzZXQKK0NPTkZJR19BVDkxX1RJTUVSX0haPTEwMAorQ09ORklHX0FUOTFfRUFSTFlfREJHVT15CisjIENPTkZJR19BVDkxX0VBUkxZX1VTQVJUMCBpcyBub3Qgc2V0CisjIENPTkZJR19BVDkxX0VBUkxZX1VTQVJUMSBpcyBub3Qgc2V0CisjIENPTkZJR19BVDkxX0VBUkxZX1VTQVJUMiBpcyBub3Qgc2V0CisjIENPTkZJR19BVDkxX0VBUkxZX1VTQVJUMyBpcyBub3Qgc2V0CisjIENPTkZJR19BVDkxX0VBUkxZX1VTQVJUNCBpcyBub3Qgc2V0CisjIENPTkZJR19BVDkxX0VBUkxZX1VTQVJUNSBpcyBub3Qgc2V0CiAKICMKICMgUHJvY2Vzc29yIFR5cGUKICMKIENPTkZJR19DUFVfMzI9eQotQ09ORklHX0NQVV9YU0NBTEU9eQorQ09ORklHX0NQVV9BUk05MjZUPXkKIENPTkZJR19DUFVfMzJ2NT15Ci1DT05GSUdfQ1BVX0FCUlRfRVY1VD15CitDT05GSUdfQ1BVX0FCUlRfRVY1VEo9eQogQ09ORklHX0NQVV9DQUNIRV9WSVZUPXkKK0NPTkZJR19DUFVfQ09QWV9WNFdCPXkKIENPTkZJR19DUFVfVExCX1Y0V0JJPXkKIENPTkZJR19DUFVfQ1AxNT15CiBDT05GSUdfQ1BVX0NQMTVfTU1VPXkKQEAgLTE3NiwyOCArMjAwLDI4IEBACiAjCiAjIFByb2Nlc3NvciBGZWF0dXJlcwogIwotQ09ORklHX0FSTV9USFVNQj15CisjIENPTkZJR19BUk1fVEhVTUIgaXMgbm90IHNldAorIyBDT05GSUdfQ1BVX0lDQUNIRV9ESVNBQkxFIGlzIG5vdCBzZXQKICMgQ09ORklHX0NQVV9EQ0FDSEVfRElTQUJMRSBpcyBub3Qgc2V0CisjIENPTkZJR19DUFVfRENBQ0hFX1dSSVRFVEhST1VHSCBpcyBub3Qgc2V0CisjIENPTkZJR19DUFVfQ0FDSEVfUk9VTkRfUk9CSU4gaXMgbm90IHNldAogIyBDT05GSUdfT1VURVJfQ0FDSEUgaXMgbm90IHNldAotQ09ORklHX0lXTU1YVD15Ci1DT05GSUdfWFNDQUxFX1BNVT15CiAKICMKICMgQnVzIHN1cHBvcnQKICMKKyMgQ09ORklHX1BDSV9TWVNDQUxMIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfU1VQUE9SVFNfTVNJIGlzIG5vdCBzZXQKLQotIwotIyBQQ0NBUkQgKFBDTUNJQS9DYXJkQnVzKSBzdXBwb3J0Ci0jCiAjIENPTkZJR19QQ0NBUkQgaXMgbm90IHNldAogCiAjCiAjIEtlcm5lbCBGZWF0dXJlcwogIwogIyBDT05GSUdfVElDS19PTkVTSE9UIGlzIG5vdCBzZXQKKyMgQ09ORklHX05PX0haIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hJR0hfUkVTX1RJTUVSUyBpcyBub3Qgc2V0CitDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UU19CVUlMRD15CiAjIENPTkZJR19QUkVFTVBUIGlzIG5vdCBzZXQKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX0haPTEwMAogQ09ORklHX0FFQUJJPXkKIENPTkZJR19PQUJJX0NPTVBBVD15CkBAIC0yMDksOSArMjMzLDE0IEBACiBDT05GSUdfRkxBVE1FTT15CiBDT05GSUdfRkxBVF9OT0RFX01FTV9NQVA9eQogIyBDT05GSUdfU1BBUlNFTUVNX1NUQVRJQyBpcyBub3Qgc2V0CisjIENPTkZJR19TUEFSU0VNRU1fVk1FTU1BUF9FTkFCTEUgaXMgbm90IHNldAogQ09ORklHX1NQTElUX1BUTE9DS19DUFVTPTQwOTYKICMgQ09ORklHX1JFU09VUkNFU182NEJJVCBpcyBub3Qgc2V0CiBDT05GSUdfWk9ORV9ETUFfRkxBRz0xCitDT05GSUdfQk9VTkNFPXkKK0NPTkZJR19WSVJUX1RPX0JVUz15CitDT05GSUdfTEVEUz15CitDT05GSUdfTEVEU19DUFU9eQogQ09ORklHX0FMSUdOTUVOVF9UUkFQPXkKIAogIwpAQCAtMjE5LDcgKzI0OCw3IEBACiAjCiBDT05GSUdfWkJPT1RfUk9NX1RFWFQ9MHgwCiBDT05GSUdfWkJPT1RfUk9NX0JTUz0weDAKLUNPTkZJR19DTURMSU5FPSIiCitDT05GSUdfQ01ETElORT0ibWVtPTY0TSBjb25zb2xlPXR0eVMwLDExNTIwMCBpbml0cmQ9MHgyMTEwMDAwMCwzMTQ1NzI4IHJvb3Q9L2Rldi9yYW0wIHJ3IgogIyBDT05GSUdfWElQX0tFUk5FTCBpcyBub3Qgc2V0CiAjIENPTkZJR19LRVhFQyBpcyBub3Qgc2V0CiAKQEAgLTIzMyw2ICsyNjIsNyBAQAogQ09ORklHX0ZQRV9OV0ZQRT15CiAjIENPTkZJR19GUEVfTldGUEVfWFAgaXMgbm90IHNldAogIyBDT05GSUdfRlBFX0ZBU1RGUEUgaXMgbm90IHNldAorIyBDT05GSUdfVkZQIGlzIG5vdCBzZXQKIAogIwogIyBVc2Vyc3BhY2UgYmluYXJ5IGZvcm1hdHMKQEAgLTI0NSwxMCArMjc1LDEyIEBACiAjIFBvd2VyIG1hbmFnZW1lbnQgb3B0aW9ucwogIwogQ09ORklHX1BNPXkKLUNPTkZJR19QTV9MRUdBQ1k9eQorIyBDT05GSUdfUE1fTEVHQUNZIGlzIG5vdCBzZXQKICMgQ09ORklHX1BNX0RFQlVHIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BNX1NZU0ZTX0RFUFJFQ0FURUQgaXMgbm90IHNldAotQ09ORklHX0FQTV9FTVVMQVRJT049bQorQ09ORklHX1BNX1NMRUVQPXkKK0NPTkZJR19TVVNQRU5EX1VQX1BPU1NJQkxFPXkKK0NPTkZJR19TVVNQRU5EPXkKKyMgQ09ORklHX0FQTV9FTVVMQVRJT04gaXMgbm90IHNldAogCiAjCiAjIE5ldHdvcmtpbmcKQEAgLTI2MSwxNyArMjkzLDEzIEBACiBDT05GSUdfUEFDS0VUPXkKICMgQ09ORklHX1BBQ0tFVF9NTUFQIGlzIG5vdCBzZXQKIENPTkZJR19VTklYPXkKLUNPTkZJR19YRlJNPXkKLSMgQ09ORklHX1hGUk1fVVNFUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19YRlJNX1NVQl9QT0xJQ1kgaXMgbm90IHNldAotIyBDT05GSUdfWEZSTV9NSUdSQVRFIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9LRVkgaXMgbm90IHNldAogQ09ORklHX0lORVQ9eQogIyBDT05GSUdfSVBfTVVMVElDQVNUIGlzIG5vdCBzZXQKICMgQ09ORklHX0lQX0FEVkFOQ0VEX1JPVVRFUiBpcyBub3Qgc2V0CiBDT05GSUdfSVBfRklCX0hBU0g9eQogQ09ORklHX0lQX1BOUD15Ci1DT05GSUdfSVBfUE5QX0RIQ1A9eQorIyBDT05GSUdfSVBfUE5QX0RIQ1AgaXMgbm90IHNldAogQ09ORklHX0lQX1BOUF9CT09UUD15CiAjIENPTkZJR19JUF9QTlBfUkFSUCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfSVBJUCBpcyBub3Qgc2V0CkBAIC0yODMsOSArMzExLDEwIEBACiAjIENPTkZJR19JTkVUX0lQQ09NUCBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkVUX1hGUk1fVFVOTkVMIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORVRfVFVOTkVMIGlzIG5vdCBzZXQKLUNPTkZJR19JTkVUX1hGUk1fTU9ERV9UUkFOU1BPUlQ9eQotQ09ORklHX0lORVRfWEZSTV9NT0RFX1RVTk5FTD15Ci1DT05GSUdfSU5FVF9YRlJNX01PREVfQkVFVD15CisjIENPTkZJR19JTkVUX1hGUk1fTU9ERV9UUkFOU1BPUlQgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9YRlJNX01PREVfVFVOTkVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfWEZSTV9NT0RFX0JFRVQgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9MUk8gaXMgbm90IHNldAogQ09ORklHX0lORVRfRElBRz15CiBDT05GSUdfSU5FVF9UQ1BfRElBRz15CiAjIENPTkZJR19UQ1BfQ09OR19BRFZBTkNFRCBpcyBub3Qgc2V0CkBAIC0zMTEsMTAgKzM0MCw2IEBACiAjIENPTkZJR19MQVBCIGlzIG5vdCBzZXQKICMgQ09ORklHX0VDT05FVCBpcyBub3Qgc2V0CiAjIENPTkZJR19XQU5fUk9VVEVSIGlzIG5vdCBzZXQKLQotIwotIyBRb1MgYW5kL29yIGZhaXIgcXVldWVpbmcKLSMKICMgQ09ORklHX05FVF9TQ0hFRCBpcyBub3Qgc2V0CiAKICMKQEAgLTMyMywyOCArMzQ4LDcgQEAKICMgQ09ORklHX05FVF9QS1RHRU4gaXMgbm90IHNldAogIyBDT05GSUdfSEFNUkFESU8gaXMgbm90IHNldAogIyBDT05GSUdfSVJEQSBpcyBub3Qgc2V0Ci1DT05GSUdfQlQ9bQotQ09ORklHX0JUX0wyQ0FQPW0KLUNPTkZJR19CVF9TQ089bQotQ09ORklHX0JUX1JGQ09NTT1tCi0jIENPTkZJR19CVF9SRkNPTU1fVFRZIGlzIG5vdCBzZXQKLUNPTkZJR19CVF9CTkVQPW0KLSMgQ09ORklHX0JUX0JORVBfTUNfRklMVEVSIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JUX0JORVBfUFJPVE9fRklMVEVSIGlzIG5vdCBzZXQKLUNPTkZJR19CVF9ISURQPW0KLQotIwotIyBCbHVldG9vdGggZGV2aWNlIGRyaXZlcnMKLSMKLUNPTkZJR19CVF9IQ0lVU0I9bQotIyBDT05GSUdfQlRfSENJVVNCX1NDTyBpcyBub3Qgc2V0Ci1DT05GSUdfQlRfSENJVUFSVD1tCi0jIENPTkZJR19CVF9IQ0lVQVJUX0g0IGlzIG5vdCBzZXQKLSMgQ09ORklHX0JUX0hDSVVBUlRfQkNTUCBpcyBub3Qgc2V0Ci1DT05GSUdfQlRfSENJQkNNMjAzWD1tCi1DT05GSUdfQlRfSENJQlBBMTBYPW0KLUNPTkZJR19CVF9IQ0lCRlVTQj1tCi0jIENPTkZJR19CVF9IQ0lWSENJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JUIGlzIG5vdCBzZXQKICMgQ09ORklHX0FGX1JYUlBDIGlzIG5vdCBzZXQKIAogIwpAQCAtMzUzLDEzICszNTcsOSBAQAogIyBDT05GSUdfQ0ZHODAyMTEgaXMgbm90IHNldAogIyBDT05GSUdfV0lSRUxFU1NfRVhUIGlzIG5vdCBzZXQKICMgQ09ORklHX01BQzgwMjExIGlzIG5vdCBzZXQKLUNPTkZJR19JRUVFODAyMTE9bQotIyBDT05GSUdfSUVFRTgwMjExX0RFQlVHIGlzIG5vdCBzZXQKLUNPTkZJR19JRUVFODAyMTFfQ1JZUFRfV0VQPW0KLUNPTkZJR19JRUVFODAyMTFfQ1JZUFRfQ0NNUD1tCi0jIENPTkZJR19JRUVFODAyMTFfQ1JZUFRfVEtJUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JRUVFODAyMTFfU09GVE1BQyBpcyBub3Qgc2V0CisjIENPTkZJR19JRUVFODAyMTEgaXMgbm90IHNldAogIyBDT05GSUdfUkZLSUxMIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF85UCBpcyBub3Qgc2V0CiAKICMKICMgRGV2aWNlIERyaXZlcnMKQEAgLTM2OCwyMyArMzY4LDE4IEBACiAjCiAjIEdlbmVyaWMgRHJpdmVyIE9wdGlvbnMKICMKK0NPTkZJR19VRVZFTlRfSEVMUEVSX1BBVEg9Ii9zYmluL2hvdHBsdWciCiBDT05GSUdfU1RBTkRBTE9ORT15CiBDT05GSUdfUFJFVkVOVF9GSVJNV0FSRV9CVUlMRD15Ci1DT05GSUdfRldfTE9BREVSPXkKLSMgQ09ORklHX0RFQlVHX0RSSVZFUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUJVR19ERVZSRVMgaXMgbm90IHNldAorIyBDT05GSUdfRldfTE9BREVSIGlzIG5vdCBzZXQKICMgQ09ORklHX1NZU19IWVBFUlZJU09SIGlzIG5vdCBzZXQKLQotIwotIyBDb25uZWN0b3IgLSB1bmlmaWVkIHVzZXJzcGFjZSA8LT4ga2VybmVsc3BhY2UgbGlua2VyCi0jCiAjIENPTkZJR19DT05ORUNUT1IgaXMgbm90IHNldAogQ09ORklHX01URD15CiAjIENPTkZJR19NVERfREVCVUcgaXMgbm90IHNldAogQ09ORklHX01URF9DT05DQVQ9eQogQ09ORklHX01URF9QQVJUSVRJT05TPXkKICMgQ09ORklHX01URF9SRURCT09UX1BBUlRTIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9DTURMSU5FX1BBUlRTIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ01ETElORV9QQVJUUz15CiAjIENPTkZJR19NVERfQUZTX1BBUlRTIGlzIG5vdCBzZXQKIAogIwpAQCAtMzk4LDE1ICszOTMsMTMgQEAKICMgQ09ORklHX0lORlRMIGlzIG5vdCBzZXQKICMgQ09ORklHX1JGRF9GVEwgaXMgbm90IHNldAogIyBDT05GSUdfU1NGREMgaXMgbm90IHNldAorIyBDT05GSUdfTVREX09PUFMgaXMgbm90IHNldAogCiAjCiAjIFJBTS9ST00vRmxhc2ggY2hpcCBkcml2ZXJzCiAjCiAjIENPTkZJR19NVERfQ0ZJIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9KRURFQ1BST0JFIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9DRklfTk9TV0FQIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9DRklfQkVfQllURV9TV0FQIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9DRklfTEVfQllURV9TV0FQIGlzIG5vdCBzZXQKIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMT15CiBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzI9eQogQ09ORklHX01URF9NQVBfQkFOS19XSURUSF80PXkKQEAgLTQyNSwxMiArNDE4LDEzIEBACiAjIE1hcHBpbmcgZHJpdmVycyBmb3IgY2hpcCBhY2Nlc3MKICMKICMgQ09ORklHX01URF9DT01QTEVYX01BUFBJTkdTIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9TSEFSUF9TTCBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfUExBVFJBTSBpcyBub3Qgc2V0CiAKICMKICMgU2VsZi1jb250YWluZWQgTVREIGRldmljZSBkcml2ZXJzCiAjCitDT05GSUdfTVREX0RBVEFGTEFTSD15CisjIENPTkZJR19NVERfTTI1UDgwIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9TTFJBTSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfUEhSQU0gaXMgbm90IHNldAogIyBDT05GSUdfTVREX01URFJBTSBpcyBub3Qgc2V0CkBAIC00NDYsMzIgKzQ0MCwyMyBAQAogIyBDT05GSUdfTVREX05BTkRfVkVSSUZZX1dSSVRFIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9OQU5EX0VDQ19TTUMgaXMgbm90IHNldAogIyBDT05GSUdfTVREX05BTkRfTVVTRVVNX0lEUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfTkFORF9IMTkwMCBpcyBub3Qgc2V0CiBDT05GSUdfTVREX05BTkRfSURTPXkKICMgQ09ORklHX01URF9OQU5EX0RJU0tPTkNISVAgaXMgbm90IHNldAotIyBDT05GSUdfTVREX05BTkRfU0hBUlBTTCBpcyBub3Qgc2V0CitDT05GSUdfTVREX05BTkRfQVQ5MT15CitDT05GSUdfTVREX05BTkRfQVQ5MV9FQ0NfU09GVD15CisjIENPTkZJR19NVERfTkFORF9BVDkxX0VDQ19IVyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfTkFORF9BVDkxX0VDQ19OT05FIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9OQU5EX05BTkRTSU0gaXMgbm90IHNldAotQ09ORklHX01URF9OQU5EX1BMQVRGT1JNPXkKKyMgQ09ORklHX01URF9OQU5EX1BMQVRGT1JNIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9BTEFVREEgaXMgbm90IHNldAogIyBDT05GSUdfTVREX09ORU5BTkQgaXMgbm90IHNldAogCiAjCiAjIFVCSSAtIFVuc29ydGVkIGJsb2NrIGltYWdlcwogIwogIyBDT05GSUdfTVREX1VCSSBpcyBub3Qgc2V0Ci0KLSMKLSMgUGFyYWxsZWwgcG9ydCBzdXBwb3J0Ci0jCiAjIENPTkZJR19QQVJQT1JUIGlzIG5vdCBzZXQKLQotIwotIyBQbHVnIGFuZCBQbGF5IHN1cHBvcnQKLSMKLSMgQ09ORklHX1BOUEFDUEkgaXMgbm90IHNldAotCi0jCi0jIEJsb2NrIGRldmljZXMKLSMKK0NPTkZJR19CTEtfREVWPXkKICMgQ09ORklHX0JMS19ERVZfQ09XX0NPTU1PTiBpcyBub3Qgc2V0CiBDT05GSUdfQkxLX0RFVl9MT09QPXkKICMgQ09ORklHX0JMS19ERVZfQ1JZUFRPTE9PUCBpcyBub3Qgc2V0CkBAIC00NzksMjAgKzQ2NCwyNCBAQAogIyBDT05GSUdfQkxLX0RFVl9VQiBpcyBub3Qgc2V0CiBDT05GSUdfQkxLX0RFVl9SQU09eQogQ09ORklHX0JMS19ERVZfUkFNX0NPVU5UPTE2Ci1DT05GSUdfQkxLX0RFVl9SQU1fU0laRT0xMjAwMAorQ09ORklHX0JMS19ERVZfUkFNX1NJWkU9ODE5MgogQ09ORklHX0JMS19ERVZfUkFNX0JMT0NLU0laRT0xMDI0CiAjIENPTkZJR19DRFJPTV9QS1RDRFZEIGlzIG5vdCBzZXQKICMgQ09ORklHX0FUQV9PVkVSX0VUSCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JREUgaXMgbm90IHNldAorQ09ORklHX01JU0NfREVWSUNFUz15CitDT05GSUdfQVRNRUxfUFdNPXkKKyMgQ09ORklHX0VFUFJPTV85M0NYNiBpcyBub3Qgc2V0CitDT05GSUdfQVRNRUxfU1NDPXkKIAogIwogIyBTQ1NJIGRldmljZSBzdXBwb3J0CiAjCiAjIENPTkZJR19SQUlEX0FUVFJTIGlzIG5vdCBzZXQKIENPTkZJR19TQ1NJPXkKK0NPTkZJR19TQ1NJX0RNQT15CiAjIENPTkZJR19TQ1NJX1RHVCBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX05FVExJTksgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9QUk9DX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19TQ1NJX1BST0NfRlM9eQogCiAjCiAjIFNDU0kgc3VwcG9ydCB0eXBlIChkaXNrLCB0YXBlLCBDRC1ST00pCkBAIC01MDcsNyArNDk2LDcgQEAKICMKICMgU29tZSBTQ1NJIGRldmljZXMgKGUuZy4gQ0QganVrZWJveCkgc3VwcG9ydCBtdWx0aXBsZSBMVU5zCiAjCi0jIENPTkZJR19TQ1NJX01VTFRJX0xVTiBpcyBub3Qgc2V0CitDT05GSUdfU0NTSV9NVUxUSV9MVU49eQogIyBDT05GSUdfU0NTSV9DT05TVEFOVFMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9MT0dHSU5HIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfU0NBTl9BU1lOQyBpcyBub3Qgc2V0CkBAIC01MTksMzkgKzUwOCw0NiBAQAogIyBDT05GSUdfU0NTSV9TUElfQVRUUlMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9GQ19BVFRSUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0lTQ1NJX0FUVFJTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfU0FTX0FUVFJTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfU0FTX0xJQlNBUyBpcyBub3Qgc2V0Ci0KLSMKLSMgU0NTSSBsb3ctbGV2ZWwgZHJpdmVycwotIwotIyBDT05GSUdfSVNDU0lfVENQIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9TUlBfQVRUUlMgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9MT1dMRVZFTCBpcyBub3Qgc2V0CiAjIENPTkZJR19BVEEgaXMgbm90IHNldAotCi0jCi0jIE11bHRpLWRldmljZSBzdXBwb3J0IChSQUlEIGFuZCBMVk0pCi0jCiAjIENPTkZJR19NRCBpcyBub3Qgc2V0Ci0KLSMKLSMgTmV0d29yayBkZXZpY2Ugc3VwcG9ydAotIwogQ09ORklHX05FVERFVklDRVM9eQorIyBDT05GSUdfTkVUREVWSUNFU19NVUxUSVFVRVVFIGlzIG5vdCBzZXQKICMgQ09ORklHX0RVTU1ZIGlzIG5vdCBzZXQKICMgQ09ORklHX0JPTkRJTkcgaXMgbm90IHNldAorIyBDT05GSUdfTUFDVkxBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19FUVVBTElaRVIgaXMgbm90IHNldAogIyBDT05GSUdfVFVOIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BIWUxJQiBpcyBub3Qgc2V0CisjIENPTkZJR19WRVRIIGlzIG5vdCBzZXQKK0NPTkZJR19QSFlMSUI9eQogCiAjCi0jIEV0aGVybmV0ICgxMCBvciAxMDBNYml0KQorIyBNSUkgUEhZIGRldmljZSBkcml2ZXJzCiAjCisjIENPTkZJR19NQVJWRUxMX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19EQVZJQ09NX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19RU0VNSV9QSFkgaXMgbm90IHNldAorIyBDT05GSUdfTFhUX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19DSUNBREFfUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJVEVTU0VfUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NNU0NfUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JST0FEQ09NX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19JQ1BMVVNfUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZJWEVEX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19NRElPX0JJVEJBTkcgaXMgbm90IHNldAogQ09ORklHX05FVF9FVEhFUk5FVD15CiBDT05GSUdfTUlJPXkKK0NPTkZJR19NQUNCPXkKKyMgQ09ORklHX0FYODg3OTYgaXMgbm90IHNldAogIyBDT05GSUdfU01DOTFYIGlzIG5vdCBzZXQKLUNPTkZJR19ETTkwMDA9eQotIyBDT05GSUdfU01DOTExWCBpcyBub3Qgc2V0CisjIENPTkZJR19ETTkwMDAgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1pNSUkgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1JHTUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19UQUggaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX0VNQUM0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0I0NCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRERVZfMTAwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRERVZfMTAwMDAgaXMgbm90IHNldAogCkBAIC01NjgsNyArNTY0LDYgQEAKICMgQ09ORklHX1VTQl9LQVdFVEggaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1BFR0FTVVMgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1JUTDgxNTAgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1VTQk5FVF9NSUkgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1VTQk5FVCBpcyBub3Qgc2V0CiAjIENPTkZJR19XQU4gaXMgbm90IHNldAogIyBDT05GSUdfUFBQIGlzIG5vdCBzZXQKQEAgLTU3NywxMCArNTcyLDYgQEAKICMgQ09ORklHX05FVENPTlNPTEUgaXMgbm90IHNldAogIyBDT05GSUdfTkVUUE9MTCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfUE9MTF9DT05UUk9MTEVSIGlzIG5vdCBzZXQKLQotIwotIyBJU0ROIHN1YnN5c3RlbQotIwogIyBDT05GSUdfSVNETiBpcyBub3Qgc2V0CiAKICMKQEAgLTU5NSwxMCArNTg2LDkgQEAKICMKIENPTkZJR19JTlBVVF9NT1VTRURFVj15CiAjIENPTkZJR19JTlBVVF9NT1VTRURFVl9QU0FVWCBpcyBub3Qgc2V0Ci1DT05GSUdfSU5QVVRfTU9VU0VERVZfU0NSRUVOX1g9MTAyNAotQ09ORklHX0lOUFVUX01PVVNFREVWX1NDUkVFTl9ZPTc2OAorQ09ORklHX0lOUFVUX01PVVNFREVWX1NDUkVFTl9YPTMyMAorQ09ORklHX0lOUFVUX01PVVNFREVWX1NDUkVFTl9ZPTI0MAogIyBDT05GSUdfSU5QVVRfSk9ZREVWIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lOUFVUX1RTREVWIGlzIG5vdCBzZXQKIENPTkZJR19JTlBVVF9FVkRFVj15CiAjIENPTkZJR19JTlBVVF9FVkJVRyBpcyBub3Qgc2V0CiAKQEAgLTYxMiwyOSArNjAyLDE4IEBACiAjIENPTkZJR19LRVlCT0FSRF9YVEtCRCBpcyBub3Qgc2V0CiAjIENPTkZJR19LRVlCT0FSRF9ORVdUT04gaXMgbm90IHNldAogIyBDT05GSUdfS0VZQk9BUkRfU1RPV0FXQVkgaXMgbm90IHNldAotQ09ORklHX0tFWUJPQVJEX1BYQTI3eD1tCi0jIENPTkZJR19LRVlCT0FSRF9HUElPIGlzIG5vdCBzZXQKK0NPTkZJR19LRVlCT0FSRF9HUElPPXkKICMgQ09ORklHX0lOUFVUX01PVVNFIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX0pPWVNUSUNLIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX1RBQkxFVCBpcyBub3Qgc2V0Ci1DT05GSUdfSU5QVVRfVE9VQ0hTQ1JFRU49eQotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fR1VOWkUgaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fRUxPIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX01UT1VDSCBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9NSzcxMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9QRU5NT1VOVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9UT1VDSFJJR0hUIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX1RPVUNIV0lOIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX1VDQjE0MDAgaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVVNCX0NPTVBPU0lURSBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9UT1VDSFNDUkVFTiBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9NSVNDIGlzIG5vdCBzZXQKIAogIwogIyBIYXJkd2FyZSBJL08gcG9ydHMKICMKIENPTkZJR19TRVJJTz15Ci0jIENPTkZJR19TRVJJT19TRVJQT1JUIGlzIG5vdCBzZXQKLUNPTkZJR19TRVJJT19MSUJQUzI9eQorQ09ORklHX1NFUklPX1NFUlBPUlQ9eQogIyBDT05GSUdfU0VSSU9fUkFXIGlzIG5vdCBzZXQKICMgQ09ORklHX0dBTUVQT1JUIGlzIG5vdCBzZXQKIApAQCAtNjU1LDQ1ICs2MzQsNTAgQEAKICMKICMgTm9uLTgyNTAgc2VyaWFsIHBvcnQgc3VwcG9ydAogIwotQ09ORklHX1NFUklBTF9QWEE9eQotQ09ORklHX1NFUklBTF9QWEFfQ09OU09MRT15CitDT05GSUdfU0VSSUFMX0FUTUVMPXkKK0NPTkZJR19TRVJJQUxfQVRNRUxfQ09OU09MRT15CisjIENPTkZJR19TRVJJQUxfQVRNRUxfVFRZQVQgaXMgbm90IHNldAogQ09ORklHX1NFUklBTF9DT1JFPXkKIENPTkZJR19TRVJJQUxfQ09SRV9DT05TT0xFPXkKIENPTkZJR19VTklYOThfUFRZUz15CiBDT05GSUdfTEVHQUNZX1BUWVM9eQotQ09ORklHX0xFR0FDWV9QVFlfQ09VTlQ9MjU2Ci0KLSMKLSMgSVBNSQotIworQ09ORklHX0xFR0FDWV9QVFlfQ09VTlQ9MTYKICMgQ09ORklHX0lQTUlfSEFORExFUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19XQVRDSERPRyBpcyBub3Qgc2V0Ci1DT05GSUdfSFdfUkFORE9NPW0KK0NPTkZJR19IV19SQU5ET009eQogIyBDT05GSUdfTlZSQU0gaXMgbm90IHNldAogIyBDT05GSUdfUjM5NjQgaXMgbm90IHNldAogIyBDT05GSUdfUkFXX0RSSVZFUiBpcyBub3Qgc2V0Ci0KLSMKLSMgVFBNIGRldmljZXMKLSMKICMgQ09ORklHX1RDR19UUE0gaXMgbm90IHNldAogIyBDT05GSUdfSTJDIGlzIG5vdCBzZXQKIAogIwogIyBTUEkgc3VwcG9ydAogIwotIyBDT05GSUdfU1BJIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NQSV9NQVNURVIgaXMgbm90IHNldAorQ09ORklHX1NQST15CitDT05GSUdfU1BJX01BU1RFUj15CiAKICMKLSMgRGFsbGFzJ3MgMS13aXJlIGJ1cworIyBTUEkgTWFzdGVyIENvbnRyb2xsZXIgRHJpdmVycwogIworQ09ORklHX1NQSV9BVE1FTD15CisjIENPTkZJR19TUElfQklUQkFORyBpcyBub3Qgc2V0CisKKyMKKyMgU1BJIFByb3RvY29sIE1hc3RlcnMKKyMKKyMgQ09ORklHX1NQSV9BVDI1IGlzIG5vdCBzZXQKK0NPTkZJR19TUElfU1BJREVWPXkKKyMgQ09ORklHX1NQSV9UTEU2MlgwIGlzIG5vdCBzZXQKICMgQ09ORklHX1cxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BPV0VSX1NVUFBMWSBpcyBub3Qgc2V0CiAjIENPTkZJR19IV01PTiBpcyBub3Qgc2V0CisjIENPTkZJR19XQVRDSERPRyBpcyBub3Qgc2V0CiAKICMKLSMgTWlzYyBkZXZpY2VzCisjIFNvbmljcyBTaWxpY29uIEJhY2twbGFuZQogIworQ09ORklHX1NTQl9QT1NTSUJMRT15CisjIENPTkZJR19TU0IgaXMgbm90IHNldAogCiAjCiAjIE11bHRpZnVuY3Rpb24gZGV2aWNlIGRyaXZlcnMKQEAgLTcwMSwxOSArNjg1LDYgQEAKICMgQ09ORklHX01GRF9TTTUwMSBpcyBub3Qgc2V0CiAKICMKLSMgTEVEIGRldmljZXMKLSMKLSMgQ09ORklHX05FV19MRURTIGlzIG5vdCBzZXQKLQotIwotIyBMRUQgZHJpdmVycwotIwotCi0jCi0jIExFRCBUcmlnZ2VycwotIwotCi0jCiAjIE11bHRpbWVkaWEgZGV2aWNlcwogIwogIyBDT05GSUdfVklERU9fREVWIGlzIG5vdCBzZXQKQEAgLTcyMyw4MSArNjk0LDUxIEBACiAjCiAjIEdyYXBoaWNzIHN1cHBvcnQKICMKKyMgQ09ORklHX1ZHQVNUQVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJREVPX09VVFBVVF9DT05UUk9MIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCIGlzIG5vdCBzZXQKICMgQ09ORklHX0JBQ0tMSUdIVF9MQ0RfU1VQUE9SVCBpcyBub3Qgc2V0CiAKICMKICMgRGlzcGxheSBkZXZpY2Ugc3VwcG9ydAogIwogIyBDT05GSUdfRElTUExBWV9TVVBQT1JUIGlzIG5vdCBzZXQKLSMgQ09ORklHX1ZHQVNUQVRFIGlzIG5vdCBzZXQKLUNPTkZJR19GQj15Ci0jIENPTkZJR19GSVJNV0FSRV9FRElEIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX0REQyBpcyBub3Qgc2V0Ci1DT05GSUdfRkJfQ0ZCX0ZJTExSRUNUPXkKLUNPTkZJR19GQl9DRkJfQ09QWUFSRUE9eQotQ09ORklHX0ZCX0NGQl9JTUFHRUJMSVQ9eQotIyBDT05GSUdfRkJfU1lTX0ZJTExSRUNUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1NZU19DT1BZQVJFQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9TWVNfSU1BR0VCTElUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1NZU19GT1BTIGlzIG5vdCBzZXQKLUNPTkZJR19GQl9ERUZFUlJFRF9JTz15Ci0jIENPTkZJR19GQl9TVkdBTElCIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX01BQ01PREVTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX0JBQ0tMSUdIVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9NT0RFX0hFTFBFUlMgaXMgbm90IHNldAotIyBDT05GSUdfRkJfVElMRUJMSVRUSU5HIGlzIG5vdCBzZXQKLQotIwotIyBGcmFtZSBidWZmZXIgaGFyZHdhcmUgZHJpdmVycwotIwotIyBDT05GSUdfRkJfUzFEMTNYWFggaXMgbm90IHNldAotQ09ORklHX0ZCX1BYQT15Ci0jIENPTkZJR19GQl9QWEFfUEFSQU1FVEVSUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9NQlggaXMgbm90IHNldAotIyBDT05GSUdfRkJfVklSVFVBTCBpcyBub3Qgc2V0CiAKICMKICMgQ29uc29sZSBkaXNwbGF5IGRyaXZlciBzdXBwb3J0CiAjCiAjIENPTkZJR19WR0FfQ09OU09MRSBpcyBub3Qgc2V0CiBDT05GSUdfRFVNTVlfQ09OU09MRT15Ci1DT05GSUdfRlJBTUVCVUZGRVJfQ09OU09MRT15Ci0jIENPTkZJR19GUkFNRUJVRkZFUl9DT05TT0xFX1JPVEFUSU9OIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZPTlRTIGlzIG5vdCBzZXQKLUNPTkZJR19GT05UXzh4OD15Ci1DT05GSUdfRk9OVF84eDE2PXkKLUNPTkZJR19MT0dPPXkKLUNPTkZJR19MT0dPX0xJTlVYX01PTk89eQotQ09ORklHX0xPR09fTElOVVhfVkdBMTY9eQotQ09ORklHX0xPR09fTElOVVhfQ0xVVDIyND15CiAKICMKICMgU291bmQKICMKLUNPTkZJR19TT1VORD1tCitDT05GSUdfU09VTkQ9eQogCiAjCiAjIEFkdmFuY2VkIExpbnV4IFNvdW5kIEFyY2hpdGVjdHVyZQogIwotQ09ORklHX1NORD1tCi1DT05GSUdfU05EX1RJTUVSPW0KLUNPTkZJR19TTkRfUENNPW0KLSMgQ09ORklHX1NORF9TRVFVRU5DRVIgaXMgbm90IHNldAorQ09ORklHX1NORD15CitDT05GSUdfU05EX1RJTUVSPXkKK0NPTkZJR19TTkRfUENNPXkKK0NPTkZJR19TTkRfU0VRVUVOQ0VSPXkKKyMgQ09ORklHX1NORF9TRVFfRFVNTVkgaXMgbm90IHNldAogQ09ORklHX1NORF9PU1NFTVVMPXkKLUNPTkZJR19TTkRfTUlYRVJfT1NTPW0KLUNPTkZJR19TTkRfUENNX09TUz1tCitDT05GSUdfU05EX01JWEVSX09TUz15CitDT05GSUdfU05EX1BDTV9PU1M9eQogQ09ORklHX1NORF9QQ01fT1NTX1BMVUdJTlM9eQorQ09ORklHX1NORF9TRVFVRU5DRVJfT1NTPXkKICMgQ09ORklHX1NORF9EWU5BTUlDX01JTk9SUyBpcyBub3Qgc2V0CiBDT05GSUdfU05EX1NVUFBPUlRfT0xEX0FQST15Ci1DT05GSUdfU05EX1ZFUkJPU0VfUFJPQ0ZTPXkKKyMgQ09ORklHX1NORF9WRVJCT1NFX1BST0NGUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TTkRfVkVSQk9TRV9QUklOVEsgaXMgbm90IHNldAogIyBDT05GSUdfU05EX0RFQlVHIGlzIG5vdCBzZXQKIAogIwogIyBHZW5lcmljIGRldmljZXMKICMKLUNPTkZJR19TTkRfQUM5N19DT0RFQz1tCiAjIENPTkZJR19TTkRfRFVNTVkgaXMgbm90IHNldAorIyBDT05GSUdfU05EX1ZJUk1JREkgaXMgbm90IHNldAogIyBDT05GSUdfU05EX01UUEFWIGlzIG5vdCBzZXQKICMgQ09ORklHX1NORF9TRVJJQUxfVTE2NTUwIGlzIG5vdCBzZXQKICMgQ09ORklHX1NORF9NUFU0MDEgaXMgbm90IHNldApAQCAtODA1LDggKzc0NiwxMyBAQAogIwogIyBBTFNBIEFSTSBkZXZpY2VzCiAjCi1DT05GSUdfU05EX1BYQTJYWF9QQ009bQotQ09ORklHX1NORF9QWEEyWFhfQUM5Nz1tCisjIENPTkZJR19TTkRfQVQ5MV9BQzk3IGlzIG5vdCBzZXQKKworIworIyBTUEkgZGV2aWNlcworIworQ09ORklHX1NORF9BVDczQzIxMz15CitDT05GSUdfU05EX0FUNzNDMjEzX1RBUkdFVF9CSVRSQVRFPTQ4MDAwCiAKICMKICMgVVNCIGRldmljZXMKQEAgLTgyMCwxNiArNzY2LDE3IEBACiAjIENPTkZJR19TTkRfU09DIGlzIG5vdCBzZXQKIAogIworIyBTb0MgQXVkaW8gc3VwcG9ydCBmb3IgU3VwZXJICisjCisKKyMKICMgT3BlbiBTb3VuZCBTeXN0ZW0KICMKICMgQ09ORklHX1NPVU5EX1BSSU1FIGlzIG5vdCBzZXQKLUNPTkZJR19BQzk3X0JVUz1tCi0KLSMKLSMgSElEIERldmljZXMKLSMKK0NPTkZJR19ISURfU1VQUE9SVD15CiBDT05GSUdfSElEPXkKICMgQ09ORklHX0hJRF9ERUJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19ISURSQVcgaXMgbm90IHNldAogCiAjCiAjIFVTQiBJbnB1dCBEZXZpY2VzCkBAIC04MzgsMTAgKzc4NSw3IEBACiAjIENPTkZJR19VU0JfSElESU5QVVRfUE9XRVJCT09LIGlzIG5vdCBzZXQKICMgQ09ORklHX0hJRF9GRiBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfSElEREVWIGlzIG5vdCBzZXQKLQotIwotIyBVU0Igc3VwcG9ydAotIworQ09ORklHX1VTQl9TVVBQT1JUPXkKIENPTkZJR19VU0JfQVJDSF9IQVNfSENEPXkKIENPTkZJR19VU0JfQVJDSF9IQVNfT0hDST15CiAjIENPTkZJR19VU0JfQVJDSF9IQVNfRUhDSSBpcyBub3Qgc2V0CkBAIC04NTUsNiArNzk5LDcgQEAKICMgQ09ORklHX1VTQl9ERVZJQ0VfQ0xBU1MgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0RZTkFNSUNfTUlOT1JTIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVVNQRU5EIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9QRVJTSVNUIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9PVEcgaXMgbm90IHNldAogCiAjCkBAIC04NjYsNiArODExLDcgQEAKICMgQ09ORklHX1VTQl9PSENJX0JJR19FTkRJQU5fTU1JTyBpcyBub3Qgc2V0CiBDT05GSUdfVVNCX09IQ0lfTElUVExFX0VORElBTj15CiAjIENPTkZJR19VU0JfU0w4MTFfSENEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9SOEE2NjU5N19IQ0QgaXMgbm90IHNldAogCiAjCiAjIFVTQiBEZXZpY2UgQ2xhc3MgZHJpdmVycwpAQCAtODg0LDYgKzgzMCw3IEBACiAjIENPTkZJR19VU0JfU1RPUkFHRV9ERUJVRyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9EQVRBRkFCIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX0ZSRUVDT00gaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NUT1JBR0VfSVNEMjAwIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX0RQQ00gaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfVVNCQVQgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfU0REUjA5IGlzIG5vdCBzZXQKQEAgLTg5OCw3ICs4NDUsNyBAQAogIwogIyBDT05GSUdfVVNCX01EQzgwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfTUlDUk9URUsgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX01PTiBpcyBub3Qgc2V0CitDT05GSUdfVVNCX01PTj15CiAKICMKICMgVVNCIHBvcnQgZHJpdmVycwpAQCAtOTM5LDI2ICs4ODYsNjYgQEAKICMKICMgVVNCIEdhZGdldCBTdXBwb3J0CiAjCi0jIENPTkZJR19VU0JfR0FER0VUIGlzIG5vdCBzZXQKLUNPTkZJR19NTUM9bQorQ09ORklHX1VTQl9HQURHRVQ9eQorIyBDT05GSUdfVVNCX0dBREdFVF9ERUJVR19GSUxFUyBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0dBREdFVF9TRUxFQ1RFRD15CisjIENPTkZJR19VU0JfR0FER0VUX0FNRDU1MzZVREMgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9BVE1FTF9VU0JBIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfRlNMX1VTQjIgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9ORVQyMjgwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfUFhBMlhYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfTTY2NTkyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfR09LVSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX0xIN0E0MFggaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9PTUFQIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfUzNDMjQxMCBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0dBREdFVF9BVDkxPXkKK0NPTkZJR19VU0JfQVQ5MT15CisjIENPTkZJR19VU0JfR0FER0VUX0RVTU1ZX0hDRCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX0RVQUxTUEVFRCBpcyBub3Qgc2V0CitDT05GSUdfVVNCX1pFUk89bQorIyBDT05GSUdfVVNCX0VUSCBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0dBREdFVEZTPW0KK0NPTkZJR19VU0JfRklMRV9TVE9SQUdFPW0KKyMgQ09ORklHX1VTQl9GSUxFX1NUT1JBR0VfVEVTVCBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0dfU0VSSUFMPW0KKyMgQ09ORklHX1VTQl9NSURJX0dBREdFVCBpcyBub3Qgc2V0CitDT05GSUdfTU1DPXkKICMgQ09ORklHX01NQ19ERUJVRyBpcyBub3Qgc2V0CiAjIENPTkZJR19NTUNfVU5TQUZFX1JFU1VNRSBpcyBub3Qgc2V0CiAKICMKICMgTU1DL1NEIENhcmQgRHJpdmVycwogIwotQ09ORklHX01NQ19CTE9DSz1tCitDT05GSUdfTU1DX0JMT0NLPXkKK0NPTkZJR19NTUNfQkxPQ0tfQk9VTkNFPXkKKyMgQ09ORklHX1NESU9fVUFSVCBpcyBub3Qgc2V0CiAKICMKICMgTU1DL1NEIEhvc3QgQ29udHJvbGxlciBEcml2ZXJzCiAjCi1DT05GSUdfTU1DX1BYQT1tCitDT05GSUdfTU1DX0FUOTE9eQorIyBDT05GSUdfTU1DX1NQSSBpcyBub3Qgc2V0CitDT05GSUdfTkVXX0xFRFM9eQorQ09ORklHX0xFRFNfQ0xBU1M9eQogCiAjCi0jIFJlYWwgVGltZSBDbG9jaworIyBMRUQgZHJpdmVycwogIworQ09ORklHX0xFRFNfQVRNRUxfUFdNPXkKK0NPTkZJR19MRURTX0dQSU89eQorCisjCisjIExFRCBUcmlnZ2VycworIworQ09ORklHX0xFRFNfVFJJR0dFUlM9eQorQ09ORklHX0xFRFNfVFJJR0dFUl9USU1FUj15CitDT05GSUdfTEVEU19UUklHR0VSX0hFQVJUQkVBVD15CiBDT05GSUdfUlRDX0xJQj15Ci1DT05GSUdfUlRDX0NMQVNTPW0KK0NPTkZJR19SVENfQ0xBU1M9eQorQ09ORklHX1JUQ19IQ1RPU1lTPXkKK0NPTkZJR19SVENfSENUT1NZU19ERVZJQ0U9InJ0YzAiCisjIENPTkZJR19SVENfREVCVUcgaXMgbm90IHNldAogCiAjCiAjIFJUQyBpbnRlcmZhY2VzCkBAIC05NzAsMjYgKzk1NywyOCBAQAogIyBDT05GSUdfUlRDX0RSVl9URVNUIGlzIG5vdCBzZXQKIAogIwotIyBJMkMgUlRDIGRyaXZlcnMKLSMKLQotIwogIyBTUEkgUlRDIGRyaXZlcnMKICMKKyMgQ09ORklHX1JUQ19EUlZfUlM1QzM0OCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX01BWDY5MDIgaXMgbm90IHNldAogCiAjCiAjIFBsYXRmb3JtIFJUQyBkcml2ZXJzCiAjCiAjIENPTkZJR19SVENfRFJWX0NNT1MgaXMgbm90IHNldAogIyBDT05GSUdfUlRDX0RSVl9EUzE1NTMgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9TVEsxN1RBOCBpcyBub3Qgc2V0CiAjIENPTkZJR19SVENfRFJWX0RTMTc0MiBpcyBub3Qgc2V0CiAjIENPTkZJR19SVENfRFJWX000OFQ4NiBpcyBub3Qgc2V0Ci1DT05GSUdfUlRDX0RSVl9WMzAyMD1tCisjIENPTkZJR19SVENfRFJWX000OFQ1OSBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1YzMDIwIGlzIG5vdCBzZXQKIAogIwogIyBvbi1DUFUgUlRDIGRyaXZlcnMKICMKLUNPTkZJR19SVENfRFJWX1NBMTEwMD1tCitDT05GSUdfUlRDX0RSVl9BVDkxU0FNOT15CitDT05GSUdfUlRDX0RSVl9BVDkxU0FNOV9SVFQ9MAorQ09ORklHX1JUQ19EUlZfQVQ5MVNBTTlfR1BCUj0wCiAKICMKICMgRmlsZSBzeXN0ZW1zCkBAIC05OTcsMTQgKzk4Niw4IEBACiBDT05GSUdfRVhUMl9GUz15CiAjIENPTkZJR19FWFQyX0ZTX1hBVFRSIGlzIG5vdCBzZXQKICMgQ09ORklHX0VYVDJfRlNfWElQIGlzIG5vdCBzZXQKLUNPTkZJR19FWFQzX0ZTPXkKLUNPTkZJR19FWFQzX0ZTX1hBVFRSPXkKLSMgQ09ORklHX0VYVDNfRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKLSMgQ09ORklHX0VYVDNfRlNfU0VDVVJJVFkgaXMgbm90IHNldAorIyBDT05GSUdfRVhUM19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19FWFQ0REVWX0ZTIGlzIG5vdCBzZXQKLUNPTkZJR19KQkQ9eQotIyBDT05GSUdfSkJEX0RFQlVHIGlzIG5vdCBzZXQKLUNPTkZJR19GU19NQkNBQ0hFPXkKICMgQ09ORklHX1JFSVNFUkZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0pGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19GU19QT1NJWF9BQ0wgaXMgbm90IHNldApAQCAtMTA0Niw3ICsxMDI5LDYgQEAKIENPTkZJR19UTVBGUz15CiAjIENPTkZJR19UTVBGU19QT1NJWF9BQ0wgaXMgbm90IHNldAogIyBDT05GSUdfSFVHRVRMQl9QQUdFIGlzIG5vdCBzZXQKLUNPTkZJR19SQU1GUz15CiAjIENPTkZJR19DT05GSUdGU19GUyBpcyBub3Qgc2V0CiAKICMKQEAgLTEwNjIsMjIgKzEwNDQsMjEgQEAKIENPTkZJR19KRkZTMl9GUz15CiBDT05GSUdfSkZGUzJfRlNfREVCVUc9MAogQ09ORklHX0pGRlMyX0ZTX1dSSVRFQlVGRkVSPXkKKyMgQ09ORklHX0pGRlMyX0ZTX1dCVUZfVkVSSUZZIGlzIG5vdCBzZXQKIENPTkZJR19KRkZTMl9TVU1NQVJZPXkKICMgQ09ORklHX0pGRlMyX0ZTX1hBVFRSIGlzIG5vdCBzZXQKICMgQ09ORklHX0pGRlMyX0NPTVBSRVNTSU9OX09QVElPTlMgaXMgbm90IHNldAogQ09ORklHX0pGRlMyX1pMSUI9eQorIyBDT05GSUdfSkZGUzJfTFpPIGlzIG5vdCBzZXQKIENPTkZJR19KRkZTMl9SVElNRT15CiAjIENPTkZJR19KRkZTMl9SVUJJTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUkFNRlMgaXMgbm90IHNldAorQ09ORklHX0NSQU1GUz15CiAjIENPTkZJR19WWEZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0hQRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfUU5YNEZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NZU1ZfRlMgaXMgbm90IHNldAogIyBDT05GSUdfVUZTX0ZTIGlzIG5vdCBzZXQKLQotIwotIyBOZXR3b3JrIEZpbGUgU3lzdGVtcwotIworQ09ORklHX05FVFdPUktfRklMRVNZU1RFTVM9eQogQ09ORklHX05GU19GUz15CiBDT05GSUdfTkZTX1YzPXkKICMgQ09ORklHX05GU19WM19BQ0wgaXMgbm90IHNldApAQCAtMTA5MiwyOSArMTA3MywyMyBAQAogIyBDT05GSUdfU1VOUlBDX0JJTkQzNCBpcyBub3Qgc2V0CiAjIENPTkZJR19SUENTRUNfR1NTX0tSQjUgaXMgbm90IHNldAogIyBDT05GSUdfUlBDU0VDX0dTU19TUEtNMyBpcyBub3Qgc2V0Ci1DT05GSUdfU01CX0ZTPXkKLSMgQ09ORklHX1NNQl9OTFNfREVGQVVMVCBpcyBub3Qgc2V0CisjIENPTkZJR19TTUJfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQ0lGUyBpcyBub3Qgc2V0CiAjIENPTkZJR19OQ1BfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQ09EQV9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19BRlNfRlMgaXMgbm90IHNldAotIyBDT05GSUdfOVBfRlMgaXMgbm90IHNldAogCiAjCiAjIFBhcnRpdGlvbiBUeXBlcwogIwogIyBDT05GSUdfUEFSVElUSU9OX0FEVkFOQ0VEIGlzIG5vdCBzZXQKIENPTkZJR19NU0RPU19QQVJUSVRJT049eQotCi0jCi0jIE5hdGl2ZSBMYW5ndWFnZSBTdXBwb3J0Ci0jCiBDT05GSUdfTkxTPXkKIENPTkZJR19OTFNfREVGQVVMVD0iaXNvODg1OS0xIgogQ09ORklHX05MU19DT0RFUEFHRV80Mzc9eQogIyBDT05GSUdfTkxTX0NPREVQQUdFXzczNyBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfNzc1IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV84NTAgaXMgbm90IHNldAorQ09ORklHX05MU19DT0RFUEFHRV84NTA9eQogIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1MiBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfODU1IGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19DT0RFUEFHRV84NTcgaXMgbm90IHNldApAQCAtMTE0NSwxMDggKzExMjAsMzYgQEAKICMgQ09ORklHX05MU19JU084ODU5XzkgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0lTTzg4NTlfMTMgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0lTTzg4NTlfMTQgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0lTTzg4NTlfMTUgaXMgbm90IHNldAorQ09ORklHX05MU19JU084ODU5XzE1PXkKICMgQ09ORklHX05MU19LT0k4X1IgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0tPSThfVSBpcyBub3Qgc2V0CiBDT05GSUdfTkxTX1VURjg9eQotCi0jCi0jIERpc3RyaWJ1dGVkIExvY2sgTWFuYWdlcgotIwogIyBDT05GSUdfRExNIGlzIG5vdCBzZXQKLQotIwotIyBQcm9maWxpbmcgc3VwcG9ydAotIwotIyBDT05GSUdfUFJPRklMSU5HIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOU1RSVU1FTlRBVElPTiBpcyBub3Qgc2V0CiAKICMKICMgS2VybmVsIGhhY2tpbmcKICMKICMgQ09ORklHX1BSSU5US19USU1FIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VOQUJMRV9XQVJOX0RFUFJFQ0FURUQgaXMgbm90IHNldAogQ09ORklHX0VOQUJMRV9NVVNUX0NIRUNLPXkKLUNPTkZJR19NQUdJQ19TWVNSUT15CisjIENPTkZJR19NQUdJQ19TWVNSUSBpcyBub3Qgc2V0CiAjIENPTkZJR19VTlVTRURfU1lNQk9MUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19IRUFERVJTX0NIRUNLIGlzIG5vdCBzZXQKLUNPTkZJR19ERUJVR19LRVJORUw9eQotIyBDT05GSUdfREVCVUdfU0hJUlEgaXMgbm90IHNldAotIyBDT05GSUdfREVURUNUX1NPRlRMT0NLVVAgaXMgbm90IHNldAotIyBDT05GSUdfU0NIRURTVEFUUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19USU1FUl9TVEFUUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUJVR19TTEFCIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFQlVHX1JUX01VVEVYRVMgaXMgbm90IHNldAotIyBDT05GSUdfUlRfTVVURVhfVEVTVEVSIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFQlVHX1NQSU5MT0NLIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFQlVHX01VVEVYRVMgaXMgbm90IHNldAotIyBDT05GSUdfREVCVUdfTE9DS19BTExPQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19QUk9WRV9MT0NLSU5HIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFQlVHX1NQSU5MT0NLX1NMRUVQIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFQlVHX0xPQ0tJTkdfQVBJX1NFTEZURVNUUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUJVR19LT0JKRUNUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFQlVHX0JVR1ZFUkJPU0UgaXMgbm90IHNldAotQ09ORklHX0RFQlVHX0lORk89eQotIyBDT05GSUdfREVCVUdfVk0gaXMgbm90IHNldAotIyBDT05GSUdfREVCVUdfTElTVCBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19LRVJORUwgaXMgbm90IHNldAorQ09ORklHX0RFQlVHX0JVR1ZFUkJPU0U9eQogQ09ORklHX0ZSQU1FX1BPSU5URVI9eQotQ09ORklHX0ZPUkNFRF9JTkxJTklORz15Ci0jIENPTkZJR19SQ1VfVE9SVFVSRV9URVNUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZBVUxUX0lOSkVDVElPTiBpcyBub3Qgc2V0Ci1DT05GSUdfREVCVUdfVVNFUj15Ci1DT05GSUdfREVCVUdfRVJST1JTPXkKLUNPTkZJR19ERUJVR19MTD15Ci0jIENPTkZJR19ERUJVR19JQ0VEQ0MgaXMgbm90IHNldAorIyBDT05GSUdfU0FNUExFUyBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19VU0VSIGlzIG5vdCBzZXQKIAogIwogIyBTZWN1cml0eSBvcHRpb25zCiAjCiAjIENPTkZJR19LRVlTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NFQ1VSSVRZIGlzIG5vdCBzZXQKLQotIwotIyBDcnlwdG9ncmFwaGljIG9wdGlvbnMKLSMKLUNPTkZJR19DUllQVE89eQotQ09ORklHX0NSWVBUT19BTEdBUEk9bQotQ09ORklHX0NSWVBUT19CTEtDSVBIRVI9bQotQ09ORklHX0NSWVBUT19NQU5BR0VSPW0KLSMgQ09ORklHX0NSWVBUT19ITUFDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19YQ0JDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19OVUxMIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19NRDQgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX01ENSBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fU0hBMSBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fU0hBMjU2IGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19TSEE1MTIgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1dQNTEyIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19UR1IxOTIgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0dGMTI4TVVMIGlzIG5vdCBzZXQKLUNPTkZJR19DUllQVE9fRUNCPW0KLUNPTkZJR19DUllQVE9fQ0JDPW0KLUNPTkZJR19DUllQVE9fUENCQz1tCi0jIENPTkZJR19DUllQVE9fTFJXIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19DUllQVEQgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0RFUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fRkNSWVBUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19CTE9XRklTSCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fVFdPRklTSCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fU0VSUEVOVCBpcyBub3Qgc2V0Ci1DT05GSUdfQ1JZUFRPX0FFUz1tCi0jIENPTkZJR19DUllQVE9fQ0FTVDUgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0NBU1Q2IGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19URUEgaXMgbm90IHNldAotQ09ORklHX0NSWVBUT19BUkM0PW0KLSMgQ09ORklHX0NSWVBUT19LSEFaQUQgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0FOVUJJUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fREVGTEFURSBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fTUlDSEFFTF9NSUMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0NSQzMyQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQ0FNRUxMSUEgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1RFU1QgaXMgbm90IHNldAotCi0jCi0jIEhhcmR3YXJlIGNyeXB0byBkZXZpY2VzCi0jCisjIENPTkZJR19TRUNVUklUWV9GSUxFX0NBUEFCSUxJVElFUyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE8gaXMgbm90IHNldAogCiAjCiAjIExpYnJhcnkgcm91dGluZXMKQEAgLTEyNTYsMTAgKzExNTksMTAgQEAKICMgQ09ORklHX0NSQzE2IGlzIG5vdCBzZXQKICMgQ09ORklHX0NSQ19JVFVfVCBpcyBub3Qgc2V0CiBDT05GSUdfQ1JDMzI9eQorIyBDT05GSUdfQ1JDNyBpcyBub3Qgc2V0CiAjIENPTkZJR19MSUJDUkMzMkMgaXMgbm90IHNldAogQ09ORklHX1pMSUJfSU5GTEFURT15CiBDT05GSUdfWkxJQl9ERUZMQVRFPXkKIENPTkZJR19QTElTVD15CiBDT05GSUdfSEFTX0lPTUVNPXkKIENPTkZJR19IQVNfSU9QT1JUPXkKLUNPTkZJR19IQVNfRE1BPXkKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvYXQ5MXNhbTlybGVrX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvYXQ5MXNhbTlybGVrX2RlZmNvbmZpZwppbmRleCA5OGU2NzQ2Li5kOGVjNWY5IDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL2F0OTFzYW05cmxla19kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9hdDkxc2FtOXJsZWtfZGVmY29uZmlnCkBAIC0yMTEsNyArMjExLDYgQEAKICMKICMgQ09ORklHX1RJQ0tfT05FU0hPVCBpcyBub3Qgc2V0CiAjIENPTkZJR19QUkVFTVBUIGlzIG5vdCBzZXQKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX0haPTEwMAogIyBDT05GSUdfQUVBQkkgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvYXRlYjkyMDBfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9hdGViOTIwMF9kZWZjb25maWcKaW5kZXggZDg0NmE0OS4uODVjODBmNyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9hdGViOTIwMF9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9hdGViOTIwMF9kZWZjb25maWcKQEAgLTE3MSw3ICsxNzEsNiBAQAogIyBLZXJuZWwgRmVhdHVyZXMKICMKIENPTkZJR19QUkVFTVBUPXkKLUNPTkZJR19OT19JRExFX0haPXkKIENPTkZJR19IWj0xMDAKICMgQ09ORklHX0FFQUJJIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL2NvbGxpZV9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL2NvbGxpZV9kZWZjb25maWcKaW5kZXggNDI2NGUyNy4uZjc2MjJlNiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9jb2xsaWVfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvY29sbGllX2RlZmNvbmZpZwpAQCAtMTY2LDcgKzE2Niw2IEBACiAjIEtlcm5lbCBGZWF0dXJlcwogIwogIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19IWj0xMDAKICMgQ09ORklHX0FFQUJJIGlzIG5vdCBzZXQKIENPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9FTkFCTEU9eQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9jb3JnaV9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL2NvcmdpX2RlZmNvbmZpZwppbmRleCBlODk4MGE5Li45Yjg3NDhhIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL2NvcmdpX2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL2NvcmdpX2RlZmNvbmZpZwpAQCAtMTY1LDcgKzE2NSw2IEBACiAjIEtlcm5lbCBGZWF0dXJlcwogIwogQ09ORklHX1BSRUVNUFQ9eQotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9FTkFCTEUgaXMgbm90IHNldAogQ09ORklHX1NFTEVDVF9NRU1PUllfTU9ERUw9eQogQ09ORklHX0ZMQVRNRU1fTUFOVUFMPXkKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvZWNiYXQ5MV9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL2VjYmF0OTFfZGVmY29uZmlnCmluZGV4IDkwZWQyMTQuLmNmZWI4MTcgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvZWNiYXQ5MV9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9lY2JhdDkxX2RlZmNvbmZpZwpAQCAtMjMwLDcgKzIzMCw2IEBACiAjCiAjIENPTkZJR19USUNLX09ORVNIT1QgaXMgbm90IHNldAogQ09ORklHX1BSRUVNUFQ9eQotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiBDT05GSUdfSFo9MTAwCiAjIENPTkZJR19BRUFCSSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9FTkFCTEUgaXMgbm90IHNldApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9lcDkzeHhfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9lcDkzeHhfZGVmY29uZmlnCmluZGV4IDI0YTcwMWEuLjIxYWEwMTMgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvZXA5M3h4X2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL2VwOTN4eF9kZWZjb25maWcKQEAgLTE4NCw3ICsxODQsNiBAQAogIyBLZXJuZWwgRmVhdHVyZXMKICMKICMgQ09ORklHX1BSRUVNUFQgaXMgbm90IHNldAotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiBDT05GSUdfSFo9MTAwCiAjIENPTkZJR19BRUFCSSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9FTkFCTEUgaXMgbm90IHNldApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9lc2VyaWVzX3B4YV9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL2VzZXJpZXNfcHhhX2RlZmNvbmZpZwppbmRleCBlZDQ4N2I5Li40OTNlY2VlIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL2VzZXJpZXNfcHhhX2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL2VzZXJpZXNfcHhhX2RlZmNvbmZpZwpAQCAtMjUxLDcgKzI1MSw2IEBACiAjIEtlcm5lbCBGZWF0dXJlcwogIwogIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19IWj0xMDAKIENPTkZJR19BRUFCST15CiBDT05GSUdfT0FCSV9DT01QQVQ9eQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9pbXgyN2Fkc19kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL2lteDI3YWRzX2RlZmNvbmZpZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iY2Q5NWI4Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vY29uZmlncy9pbXgyN2Fkc19kZWZjb25maWcKQEAgLTAsMCArMSw4MjYgQEAKKyMKKyMgQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgbWFrZSBjb25maWc6IGRvbid0IGVkaXQKKyMgTGludXgga2VybmVsIHZlcnNpb246IDIuNi4yNi1yYzYKKyMgRnJpIEp1biAyMCAxNjoyOTozNCAyMDA4CisjCitDT05GSUdfQVJNPXkKK0NPTkZJR19TWVNfU1VQUE9SVFNfQVBNX0VNVUxBVElPTj15CitDT05GSUdfR0VORVJJQ19HUElPPXkKK0NPTkZJR19HRU5FUklDX1RJTUU9eQorQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFM9eQorQ09ORklHX01NVT15CisjIENPTkZJR19OT19JT1BPUlQgaXMgbm90IHNldAorQ09ORklHX0dFTkVSSUNfSEFSRElSUVM9eQorQ09ORklHX1NUQUNLVFJBQ0VfU1VQUE9SVD15CitDT05GSUdfTE9DS0RFUF9TVVBQT1JUPXkKK0NPTkZJR19UUkFDRV9JUlFGTEFHU19TVVBQT1JUPXkKK0NPTkZJR19IQVJESVJRU19TV19SRVNFTkQ9eQorQ09ORklHX0dFTkVSSUNfSVJRX1BST0JFPXkKK0NPTkZJR19SV1NFTV9HRU5FUklDX1NQSU5MT0NLPXkKKyMgQ09ORklHX0FSQ0hfSEFTX0lMT0cyX1UzMiBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0hBU19JTE9HMl9VNjQgaXMgbm90IHNldAorQ09ORklHX0dFTkVSSUNfSFdFSUdIVD15CitDT05GSUdfR0VORVJJQ19DQUxJQlJBVEVfREVMQVk9eQorQ09ORklHX0FSQ0hfU1VQUE9SVFNfQU9VVD15CitDT05GSUdfWk9ORV9ETUE9eQorQ09ORklHX0FSQ0hfTVREX1hJUD15CitDT05GSUdfVkVDVE9SU19CQVNFPTB4ZmZmZjAwMDAKK0NPTkZJR19ERUZDT05GSUdfTElTVD0iL2xpYi9tb2R1bGVzLyRVTkFNRV9SRUxFQVNFLy5jb25maWciCisKKyMKKyMgR2VuZXJhbCBzZXR1cAorIworQ09ORklHX0VYUEVSSU1FTlRBTD15CitDT05GSUdfQlJPS0VOX09OX1NNUD15CitDT05GSUdfTE9DS19LRVJORUw9eQorQ09ORklHX0lOSVRfRU5WX0FSR19MSU1JVD0zMgorQ09ORklHX0xPQ0FMVkVSU0lPTj0iIgorQ09ORklHX0xPQ0FMVkVSU0lPTl9BVVRPPXkKKyMgQ09ORklHX1NXQVAgaXMgbm90IHNldAorQ09ORklHX1NZU1ZJUEM9eQorQ09ORklHX1NZU1ZJUENfU1lTQ1RMPXkKK0NPTkZJR19QT1NJWF9NUVVFVUU9eQorIyBDT05GSUdfQlNEX1BST0NFU1NfQUNDVCBpcyBub3Qgc2V0CisjIENPTkZJR19UQVNLU1RBVFMgaXMgbm90IHNldAorIyBDT05GSUdfQVVESVQgaXMgbm90IHNldAorIyBDT05GSUdfSUtDT05GSUcgaXMgbm90IHNldAorQ09ORklHX0xPR19CVUZfU0hJRlQ9MTQKKyMgQ09ORklHX0NHUk9VUFMgaXMgbm90IHNldAorIyBDT05GSUdfR1JPVVBfU0NIRUQgaXMgbm90IHNldAorQ09ORklHX1NZU0ZTX0RFUFJFQ0FURUQ9eQorQ09ORklHX1NZU0ZTX0RFUFJFQ0FURURfVjI9eQorIyBDT05GSUdfUkVMQVkgaXMgbm90IHNldAorIyBDT05GSUdfTkFNRVNQQUNFUyBpcyBub3Qgc2V0CisjIENPTkZJR19CTEtfREVWX0lOSVRSRCBpcyBub3Qgc2V0CisjIENPTkZJR19DQ19PUFRJTUlaRV9GT1JfU0laRSBpcyBub3Qgc2V0CitDT05GSUdfU1lTQ1RMPXkKK0NPTkZJR19FTUJFRERFRD15CitDT05GSUdfVUlEMTY9eQorQ09ORklHX1NZU0NUTF9TWVNDQUxMPXkKK0NPTkZJR19TWVNDVExfU1lTQ0FMTF9DSEVDSz15CitDT05GSUdfS0FMTFNZTVM9eQorQ09ORklHX0tBTExTWU1TX0VYVFJBX1BBU1M9eQorQ09ORklHX0hPVFBMVUc9eQorQ09ORklHX1BSSU5USz15CitDT05GSUdfQlVHPXkKK0NPTkZJR19FTEZfQ09SRT15CitDT05GSUdfQ09NUEFUX0JSSz15CitDT05GSUdfQkFTRV9GVUxMPXkKK0NPTkZJR19GVVRFWD15CitDT05GSUdfQU5PTl9JTk9ERVM9eQorQ09ORklHX0VQT0xMPXkKK0NPTkZJR19TSUdOQUxGRD15CitDT05GSUdfVElNRVJGRD15CitDT05GSUdfRVZFTlRGRD15CitDT05GSUdfU0hNRU09eQorQ09ORklHX1ZNX0VWRU5UX0NPVU5URVJTPXkKK0NPTkZJR19TTEFCPXkKKyMgQ09ORklHX1NMVUIgaXMgbm90IHNldAorIyBDT05GSUdfU0xPQiBpcyBub3Qgc2V0CisjIENPTkZJR19QUk9GSUxJTkcgaXMgbm90IHNldAorIyBDT05GSUdfTUFSS0VSUyBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9PUFJPRklMRT15CisjIENPTkZJR19LUFJPQkVTIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX0tQUk9CRVM9eQorQ09ORklHX0hBVkVfS1JFVFBST0JFUz15CisjIENPTkZJR19IQVZFX0RNQV9BVFRSUyBpcyBub3Qgc2V0CitDT05GSUdfUFJPQ19QQUdFX01PTklUT1I9eQorQ09ORklHX1NMQUJJTkZPPXkKK0NPTkZJR19SVF9NVVRFWEVTPXkKKyMgQ09ORklHX1RJTllfU0hNRU0gaXMgbm90IHNldAorQ09ORklHX0JBU0VfU01BTEw9MAorQ09ORklHX01PRFVMRVM9eQorIyBDT05GSUdfTU9EVUxFX0ZPUkNFX0xPQUQgaXMgbm90IHNldAorQ09ORklHX01PRFVMRV9VTkxPQUQ9eQorIyBDT05GSUdfTU9EVUxFX0ZPUkNFX1VOTE9BRCBpcyBub3Qgc2V0CisjIENPTkZJR19NT0RWRVJTSU9OUyBpcyBub3Qgc2V0CisjIENPTkZJR19NT0RVTEVfU1JDVkVSU0lPTl9BTEwgaXMgbm90IHNldAorIyBDT05GSUdfS01PRCBpcyBub3Qgc2V0CitDT05GSUdfQkxPQ0s9eQorIyBDT05GSUdfTEJEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JMS19ERVZfSU9fVFJBQ0UgaXMgbm90IHNldAorIyBDT05GSUdfTFNGIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JMS19ERVZfQlNHIGlzIG5vdCBzZXQKKworIworIyBJTyBTY2hlZHVsZXJzCisjCitDT05GSUdfSU9TQ0hFRF9OT09QPXkKKyMgQ09ORklHX0lPU0NIRURfQVMgaXMgbm90IHNldAorIyBDT05GSUdfSU9TQ0hFRF9ERUFETElORSBpcyBub3Qgc2V0CisjIENPTkZJR19JT1NDSEVEX0NGUSBpcyBub3Qgc2V0CisjIENPTkZJR19ERUZBVUxUX0FTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFRkFVTFRfREVBRExJTkUgaXMgbm90IHNldAorIyBDT05GSUdfREVGQVVMVF9DRlEgaXMgbm90IHNldAorQ09ORklHX0RFRkFVTFRfTk9PUD15CitDT05GSUdfREVGQVVMVF9JT1NDSEVEPSJub29wIgorQ09ORklHX0NMQVNTSUNfUkNVPXkKKworIworIyBTeXN0ZW0gVHlwZQorIworIyBDT05GSUdfQVJDSF9BQUVDMjAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0lOVEVHUkFUT1IgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9SRUFMVklFVyBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1ZFUlNBVElMRSBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0FUOTEgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9DTFBTNzUwMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0NMUFM3MTFYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfQ08yODUgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9FQlNBMTEwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfRVA5M1hYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfRk9PVEJSSURHRSBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX05FVFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9INzIwWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0lNWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0lPUDEzWFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9JT1AzMlggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9JT1AzM1ggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9JWFAyM1hYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSVhQMjAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0lYUDRYWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0w3MjAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfS1M4Njk1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfTlM5WFhYIGlzIG5vdCBzZXQKK0NPTkZJR19BUkNIX01YQz15CisjIENPTkZJR19BUkNIX09SSU9ONVggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9QTlg0MDA4IGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfUFhBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfUlBDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfU0ExMTAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfUzNDMjQxMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1NIQVJLIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfTEg3QTQwWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0RBVklOQ0kgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9PTUFQIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfTVNNN1gwMEEgaXMgbm90IHNldAorCisjCisjIEJvb3Qgb3B0aW9ucworIworCisjCisjIFBvd2VyIG1hbmFnZW1lbnQKKyMKKworIworIyBGcmVlc2NhbGUgTVhDIEltcGxlbWVudGF0aW9ucworIworQ09ORklHX0FSQ0hfTVgyPXkKKyMgQ09ORklHX0FSQ0hfTVgzIGlzIG5vdCBzZXQKKworIworIyBNWDIgZmFtaWx5IENQVSBzdXBwb3J0CisjCitDT05GSUdfTUFDSF9NWDI3PXkKKworIworIyBNWDIgUGxhdGZvcm1zCisjCitDT05GSUdfTUFDSF9NWDI3QURTPXkKKyMgQ09ORklHX01BQ0hfUENNMDM4IGlzIG5vdCBzZXQKKworIworIyBQcm9jZXNzb3IgVHlwZQorIworQ09ORklHX0NQVV8zMj15CitDT05GSUdfQ1BVX0FSTTkyNlQ9eQorQ09ORklHX0NQVV8zMnY1PXkKK0NPTkZJR19DUFVfQUJSVF9FVjVUSj15CitDT05GSUdfQ1BVX1BBQlJUX05PSUZBUj15CitDT05GSUdfQ1BVX0NBQ0hFX1ZJVlQ9eQorQ09ORklHX0NQVV9DT1BZX1Y0V0I9eQorQ09ORklHX0NQVV9UTEJfVjRXQkk9eQorQ09ORklHX0NQVV9DUDE1PXkKK0NPTkZJR19DUFVfQ1AxNV9NTVU9eQorCisjCisjIFByb2Nlc3NvciBGZWF0dXJlcworIworQ09ORklHX0FSTV9USFVNQj15CisjIENPTkZJR19DUFVfSUNBQ0hFX0RJU0FCTEUgaXMgbm90IHNldAorIyBDT05GSUdfQ1BVX0RDQUNIRV9ESVNBQkxFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NQVV9EQ0FDSEVfV1JJVEVUSFJPVUdIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NQVV9DQUNIRV9ST1VORF9ST0JJTiBpcyBub3Qgc2V0CisjIENPTkZJR19PVVRFUl9DQUNIRSBpcyBub3Qgc2V0CisKKyMKKyMgQnVzIHN1cHBvcnQKKyMKKyMgQ09ORklHX1BDSV9TWVNDQUxMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfU1VQUE9SVFNfTVNJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDQ0FSRCBpcyBub3Qgc2V0CisKKyMKKyMgS2VybmVsIEZlYXR1cmVzCisjCitDT05GSUdfVElDS19PTkVTSE9UPXkKK0NPTkZJR19OT19IWj15CitDT05GSUdfSElHSF9SRVNfVElNRVJTPXkKK0NPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTX0JVSUxEPXkKK0NPTkZJR19QUkVFTVBUPXkKK0NPTkZJR19IWj0xMDAKK0NPTkZJR19BRUFCST15CisjIENPTkZJR19PQUJJX0NPTVBBVCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9FTkFCTEUgaXMgbm90IHNldAorQ09ORklHX1NFTEVDVF9NRU1PUllfTU9ERUw9eQorQ09ORklHX0ZMQVRNRU1fTUFOVUFMPXkKKyMgQ09ORklHX0RJU0NPTlRJR01FTV9NQU5VQUwgaXMgbm90IHNldAorIyBDT05GSUdfU1BBUlNFTUVNX01BTlVBTCBpcyBub3Qgc2V0CitDT05GSUdfRkxBVE1FTT15CitDT05GSUdfRkxBVF9OT0RFX01FTV9NQVA9eQorIyBDT05GSUdfU1BBUlNFTUVNX1NUQVRJQyBpcyBub3Qgc2V0CisjIENPTkZJR19TUEFSU0VNRU1fVk1FTU1BUF9FTkFCTEUgaXMgbm90IHNldAorQ09ORklHX1BBR0VGTEFHU19FWFRFTkRFRD15CitDT05GSUdfU1BMSVRfUFRMT0NLX0NQVVM9NDA5NgorIyBDT05GSUdfUkVTT1VSQ0VTXzY0QklUIGlzIG5vdCBzZXQKK0NPTkZJR19aT05FX0RNQV9GTEFHPTEKK0NPTkZJR19CT1VOQ0U9eQorQ09ORklHX1ZJUlRfVE9fQlVTPXkKK0NPTkZJR19BTElHTk1FTlRfVFJBUD15CisKKyMKKyMgQm9vdCBvcHRpb25zCisjCitDT05GSUdfWkJPT1RfUk9NX1RFWFQ9MHgwCitDT05GSUdfWkJPT1RfUk9NX0JTUz0weDAKK0NPTkZJR19DTURMSU5FPSIiCisjIENPTkZJR19YSVBfS0VSTkVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0tFWEVDIGlzIG5vdCBzZXQKKworIworIyBGbG9hdGluZyBwb2ludCBlbXVsYXRpb24KKyMKKworIworIyBBdCBsZWFzdCBvbmUgZW11bGF0aW9uIG11c3QgYmUgc2VsZWN0ZWQKKyMKKyMgQ09ORklHX1ZGUCBpcyBub3Qgc2V0CisKKyMKKyMgVXNlcnNwYWNlIGJpbmFyeSBmb3JtYXRzCisjCitDT05GSUdfQklORk1UX0VMRj15CisjIENPTkZJR19CSU5GTVRfQU9VVCBpcyBub3Qgc2V0CisjIENPTkZJR19CSU5GTVRfTUlTQyBpcyBub3Qgc2V0CisKKyMKKyMgUG93ZXIgbWFuYWdlbWVudCBvcHRpb25zCisjCisjIENPTkZJR19QTSBpcyBub3Qgc2V0CitDT05GSUdfQVJDSF9TVVNQRU5EX1BPU1NJQkxFPXkKKworIworIyBOZXR3b3JraW5nCisjCitDT05GSUdfTkVUPXkKKworIworIyBOZXR3b3JraW5nIG9wdGlvbnMKKyMKK0NPTkZJR19QQUNLRVQ9eQorQ09ORklHX1BBQ0tFVF9NTUFQPXkKK0NPTkZJR19VTklYPXkKKyMgQ09ORklHX05FVF9LRVkgaXMgbm90IHNldAorQ09ORklHX0lORVQ9eQorQ09ORklHX0lQX01VTFRJQ0FTVD15CisjIENPTkZJR19JUF9BRFZBTkNFRF9ST1VURVIgaXMgbm90IHNldAorQ09ORklHX0lQX0ZJQl9IQVNIPXkKK0NPTkZJR19JUF9QTlA9eQorIyBDT05GSUdfSVBfUE5QX0RIQ1AgaXMgbm90IHNldAorIyBDT05GSUdfSVBfUE5QX0JPT1RQIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQX1BOUF9SQVJQIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9JUElQIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9JUEdSRSBpcyBub3Qgc2V0CisjIENPTkZJR19JUF9NUk9VVEUgaXMgbm90IHNldAorIyBDT05GSUdfQVJQRCBpcyBub3Qgc2V0CisjIENPTkZJR19TWU5fQ09PS0lFUyBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX0FIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfRVNQIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfSVBDT01QIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfWEZSTV9UVU5ORUwgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9UVU5ORUwgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9YRlJNX01PREVfVFJBTlNQT1JUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfWEZSTV9NT0RFX1RVTk5FTCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX1hGUk1fTU9ERV9CRUVUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfTFJPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfRElBRyBpcyBub3Qgc2V0CisjIENPTkZJR19UQ1BfQ09OR19BRFZBTkNFRCBpcyBub3Qgc2V0CitDT05GSUdfVENQX0NPTkdfQ1VCSUM9eQorQ09ORklHX0RFRkFVTFRfVENQX0NPTkc9ImN1YmljIgorIyBDT05GSUdfVENQX01ENVNJRyBpcyBub3Qgc2V0CisjIENPTkZJR19JUFY2IGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVFdPUktfU0VDTUFSSyBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRGSUxURVIgaXMgbm90IHNldAorIyBDT05GSUdfSVBfRENDUCBpcyBub3Qgc2V0CisjIENPTkZJR19JUF9TQ1RQIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RJUEMgaXMgbm90IHNldAorIyBDT05GSUdfQVRNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JSSURHRSBpcyBub3Qgc2V0CisjIENPTkZJR19WTEFOXzgwMjFRIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQ05FVCBpcyBub3Qgc2V0CisjIENPTkZJR19MTEMyIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQWCBpcyBub3Qgc2V0CisjIENPTkZJR19BVEFMSyBpcyBub3Qgc2V0CisjIENPTkZJR19YMjUgaXMgbm90IHNldAorIyBDT05GSUdfTEFQQiBpcyBub3Qgc2V0CisjIENPTkZJR19FQ09ORVQgaXMgbm90IHNldAorIyBDT05GSUdfV0FOX1JPVVRFUiBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfU0NIRUQgaXMgbm90IHNldAorCisjCisjIE5ldHdvcmsgdGVzdGluZworIworIyBDT05GSUdfTkVUX1BLVEdFTiBpcyBub3Qgc2V0CisjIENPTkZJR19IQU1SQURJTyBpcyBub3Qgc2V0CisjIENPTkZJR19DQU4gaXMgbm90IHNldAorIyBDT05GSUdfSVJEQSBpcyBub3Qgc2V0CisjIENPTkZJR19CVCBpcyBub3Qgc2V0CisjIENPTkZJR19BRl9SWFJQQyBpcyBub3Qgc2V0CisKKyMKKyMgV2lyZWxlc3MKKyMKKyMgQ09ORklHX0NGRzgwMjExIGlzIG5vdCBzZXQKKyMgQ09ORklHX1dJUkVMRVNTX0VYVCBpcyBub3Qgc2V0CisjIENPTkZJR19NQUM4MDIxMSBpcyBub3Qgc2V0CisjIENPTkZJR19JRUVFODAyMTEgaXMgbm90IHNldAorIyBDT05GSUdfUkZLSUxMIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF85UCBpcyBub3Qgc2V0CisKKyMKKyMgRGV2aWNlIERyaXZlcnMKKyMKKworIworIyBHZW5lcmljIERyaXZlciBPcHRpb25zCisjCitDT05GSUdfVUVWRU5UX0hFTFBFUl9QQVRIPSIvc2Jpbi9ob3RwbHVnIgorQ09ORklHX1NUQU5EQUxPTkU9eQorQ09ORklHX1BSRVZFTlRfRklSTVdBUkVfQlVJTEQ9eQorIyBDT05GSUdfRldfTE9BREVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NZU19IWVBFUlZJU09SIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NPTk5FQ1RPUiBpcyBub3Qgc2V0CitDT05GSUdfTVREPXkKKyMgQ09ORklHX01URF9ERUJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQ09OQ0FUIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfUEFSVElUSU9OUz15CisjIENPTkZJR19NVERfUkVEQk9PVF9QQVJUUyBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NNRExJTkVfUEFSVFM9eQorIyBDT05GSUdfTVREX0FGU19QQVJUUyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQVI3X1BBUlRTIGlzIG5vdCBzZXQKKworIworIyBVc2VyIE1vZHVsZXMgQW5kIFRyYW5zbGF0aW9uIExheWVycworIworQ09ORklHX01URF9DSEFSPXkKK0NPTkZJR19NVERfQkxLREVWUz15CitDT05GSUdfTVREX0JMT0NLPXkKKyMgQ09ORklHX0ZUTCBpcyBub3Qgc2V0CisjIENPTkZJR19ORlRMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORlRMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JGRF9GVEwgaXMgbm90IHNldAorIyBDT05GSUdfU1NGREMgaXMgbm90IHNldAorIyBDT05GSUdfTVREX09PUFMgaXMgbm90IHNldAorCisjCisjIFJBTS9ST00vRmxhc2ggY2hpcCBkcml2ZXJzCisjCitDT05GSUdfTVREX0NGST15CisjIENPTkZJR19NVERfSkVERUNQUk9CRSBpcyBub3Qgc2V0CitDT05GSUdfTVREX0dFTl9QUk9CRT15CitDT05GSUdfTVREX0NGSV9BRFZfT1BUSU9OUz15CitDT05GSUdfTVREX0NGSV9OT1NXQVA9eQorIyBDT05GSUdfTVREX0NGSV9CRV9CWVRFX1NXQVAgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0NGSV9MRV9CWVRFX1NXQVAgaXMgbm90IHNldAorQ09ORklHX01URF9DRklfR0VPTUVUUlk9eQorIyBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzEgaXMgbm90IHNldAorQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8yPXkKKyMgQ09ORklHX01URF9NQVBfQkFOS19XSURUSF80IGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9NQVBfQkFOS19XSURUSF84IGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8xNiBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMzIgaXMgbm90IHNldAorQ09ORklHX01URF9DRklfSTE9eQorIyBDT05GSUdfTVREX0NGSV9JMiBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQ0ZJX0k0IGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9DRklfSTggaXMgbm90IHNldAorIyBDT05GSUdfTVREX09UUCBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NGSV9JTlRFTEVYVD15CisjIENPTkZJR19NVERfQ0ZJX0FNRFNURCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQ0ZJX1NUQUEgaXMgbm90IHNldAorQ09ORklHX01URF9DRklfVVRJTD15CisjIENPTkZJR19NVERfUkFNIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9ST00gaXMgbm90IHNldAorIyBDT05GSUdfTVREX0FCU0VOVCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfWElQIGlzIG5vdCBzZXQKKworIworIyBNYXBwaW5nIGRyaXZlcnMgZm9yIGNoaXAgYWNjZXNzCisjCisjIENPTkZJR19NVERfQ09NUExFWF9NQVBQSU5HUyBpcyBub3Qgc2V0CitDT05GSUdfTVREX1BIWVNNQVA9eQorQ09ORklHX01URF9QSFlTTUFQX1NUQVJUPTB4MDAwMDAwMDAKK0NPTkZJR19NVERfUEhZU01BUF9MRU49MHgwCitDT05GSUdfTVREX1BIWVNNQVBfQkFOS1dJRFRIPTIKKyMgQ09ORklHX01URF9BUk1fSU5URUdSQVRPUiBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfUExBVFJBTSBpcyBub3Qgc2V0CisKKyMKKyMgU2VsZi1jb250YWluZWQgTVREIGRldmljZSBkcml2ZXJzCisjCisjIENPTkZJR19NVERfU0xSQU0gaXMgbm90IHNldAorIyBDT05GSUdfTVREX1BIUkFNIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9NVERSQU0gaXMgbm90IHNldAorIyBDT05GSUdfTVREX0JMT0NLMk1URCBpcyBub3Qgc2V0CisKKyMKKyMgRGlzay1Pbi1DaGlwIERldmljZSBEcml2ZXJzCisjCisjIENPTkZJR19NVERfRE9DMjAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfRE9DMjAwMSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfRE9DMjAwMVBMVVMgaXMgbm90IHNldAorIyBDT05GSUdfTVREX05BTkQgaXMgbm90IHNldAorIyBDT05GSUdfTVREX09ORU5BTkQgaXMgbm90IHNldAorCisjCisjIFVCSSAtIFVuc29ydGVkIGJsb2NrIGltYWdlcworIworIyBDT05GSUdfTVREX1VCSSBpcyBub3Qgc2V0CisjIENPTkZJR19QQVJQT1JUIGlzIG5vdCBzZXQKK0NPTkZJR19CTEtfREVWPXkKKyMgQ09ORklHX0JMS19ERVZfQ09XX0NPTU1PTiBpcyBub3Qgc2V0CisjIENPTkZJR19CTEtfREVWX0xPT1AgaXMgbm90IHNldAorIyBDT05GSUdfQkxLX0RFVl9OQkQgaXMgbm90IHNldAorIyBDT05GSUdfQkxLX0RFVl9SQU0gaXMgbm90IHNldAorIyBDT05GSUdfQ0RST01fUEtUQ0RWRCBpcyBub3Qgc2V0CisjIENPTkZJR19BVEFfT1ZFUl9FVEggaXMgbm90IHNldAorIyBDT05GSUdfTUlTQ19ERVZJQ0VTIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX0lERT15CisjIENPTkZJR19JREUgaXMgbm90IHNldAorCisjCisjIFNDU0kgZGV2aWNlIHN1cHBvcnQKKyMKKyMgQ09ORklHX1JBSURfQVRUUlMgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSSBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX0RNQSBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX05FVExJTksgaXMgbm90IHNldAorIyBDT05GSUdfQVRBIGlzIG5vdCBzZXQKKyMgQ09ORklHX01EIGlzIG5vdCBzZXQKK0NPTkZJR19ORVRERVZJQ0VTPXkKKyMgQ09ORklHX05FVERFVklDRVNfTVVMVElRVUVVRSBpcyBub3Qgc2V0CisjIENPTkZJR19EVU1NWSBpcyBub3Qgc2V0CisjIENPTkZJR19CT05ESU5HIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BQ1ZMQU4gaXMgbm90IHNldAorIyBDT05GSUdfRVFVQUxJWkVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RVTiBpcyBub3Qgc2V0CisjIENPTkZJR19WRVRIIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BIWUxJQiBpcyBub3Qgc2V0CitDT05GSUdfTkVUX0VUSEVSTkVUPXkKKyMgQ09ORklHX01JSSBpcyBub3Qgc2V0CisjIENPTkZJR19BWDg4Nzk2IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NNQzkxWCBpcyBub3Qgc2V0CisjIENPTkZJR19ETTkwMDAgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1pNSUkgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1JHTUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19UQUggaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX0VNQUM0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0I0NCBpcyBub3Qgc2V0CisjIENPTkZJR19GRUNfT0xEIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVERFVl8xMDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVERFVl8xMDAwMCBpcyBub3Qgc2V0CisKKyMKKyMgV2lyZWxlc3MgTEFOCisjCisjIENPTkZJR19XTEFOX1BSRTgwMjExIGlzIG5vdCBzZXQKKyMgQ09ORklHX1dMQU5fODAyMTEgaXMgbm90IHNldAorIyBDT05GSUdfSVdMV0lGSV9MRURTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1dBTiBpcyBub3Qgc2V0CisjIENPTkZJR19QUFAgaXMgbm90IHNldAorIyBDT05GSUdfU0xJUCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRDT05TT0xFIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVFBPTEwgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX1BPTExfQ09OVFJPTExFUiBpcyBub3Qgc2V0CisjIENPTkZJR19JU0ROIGlzIG5vdCBzZXQKKworIworIyBJbnB1dCBkZXZpY2Ugc3VwcG9ydAorIworQ09ORklHX0lOUFVUPXkKKyMgQ09ORklHX0lOUFVUX0ZGX01FTUxFU1MgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfUE9MTERFViBpcyBub3Qgc2V0CisKKyMKKyMgVXNlcmxhbmQgaW50ZXJmYWNlcworIworIyBDT05GSUdfSU5QVVRfTU9VU0VERVYgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfSk9ZREVWIGlzIG5vdCBzZXQKK0NPTkZJR19JTlBVVF9FVkRFVj15CisjIENPTkZJR19JTlBVVF9FVkJVRyBpcyBub3Qgc2V0CisKKyMKKyMgSW5wdXQgRGV2aWNlIERyaXZlcnMKKyMKKyMgQ09ORklHX0lOUFVUX0tFWUJPQVJEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX01PVVNFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX0pPWVNUSUNLIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX1RBQkxFVCBpcyBub3Qgc2V0CitDT05GSUdfSU5QVVRfVE9VQ0hTQ1JFRU49eQorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fRlVKSVRTVSBpcyBub3Qgc2V0CisjIENPTkZJR19UT1VDSFNDUkVFTl9HVU5aRSBpcyBub3Qgc2V0CisjIENPTkZJR19UT1VDSFNDUkVFTl9FTE8gaXMgbm90IHNldAorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fTVRPVUNIIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RPVUNIU0NSRUVOX01LNzEyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RPVUNIU0NSRUVOX1BFTk1PVU5UIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RPVUNIU0NSRUVOX1RPVUNIUklHSFQgaXMgbm90IHNldAorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVE9VQ0hXSU4gaXMgbm90IHNldAorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVUNCMTQwMCBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9NSVNDIGlzIG5vdCBzZXQKKworIworIyBIYXJkd2FyZSBJL08gcG9ydHMKKyMKKyMgQ09ORklHX1NFUklPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0dBTUVQT1JUIGlzIG5vdCBzZXQKKworIworIyBDaGFyYWN0ZXIgZGV2aWNlcworIworIyBDT05GSUdfVlQgaXMgbm90IHNldAorQ09ORklHX0RFVktNRU09eQorIyBDT05GSUdfU0VSSUFMX05PTlNUQU5EQVJEIGlzIG5vdCBzZXQKKworIworIyBTZXJpYWwgZHJpdmVycworIworIyBDT05GSUdfU0VSSUFMXzgyNTAgaXMgbm90IHNldAorCisjCisjIE5vbi04MjUwIHNlcmlhbCBwb3J0IHN1cHBvcnQKKyMKKyMgQ09ORklHX1NFUklBTF9JTVggaXMgbm90IHNldAorQ09ORklHX1VOSVg5OF9QVFlTPXkKKyMgQ09ORklHX0xFR0FDWV9QVFlTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQTUlfSEFORExFUiBpcyBub3Qgc2V0CisjIENPTkZJR19IV19SQU5ET00gaXMgbm90IHNldAorIyBDT05GSUdfTlZSQU0gaXMgbm90IHNldAorIyBDT05GSUdfUjM5NjQgaXMgbm90IHNldAorIyBDT05GSUdfUkFXX0RSSVZFUiBpcyBub3Qgc2V0CisjIENPTkZJR19UQ0dfVFBNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQyBpcyBub3Qgc2V0CisjIENPTkZJR19TUEkgaXMgbm90IHNldAorQ09ORklHX0hBVkVfR1BJT19MSUI9eQorCisjCisjIEdQSU8gU3VwcG9ydAorIworCisjCisjIEkyQyBHUElPIGV4cGFuZGVyczoKKyMKKworIworIyBTUEkgR1BJTyBleHBhbmRlcnM6CisjCisjIENPTkZJR19XMSBpcyBub3Qgc2V0CisjIENPTkZJR19QT1dFUl9TVVBQTFkgaXMgbm90IHNldAorIyBDT05GSUdfSFdNT04gaXMgbm90IHNldAorIyBDT05GSUdfV0FUQ0hET0cgaXMgbm90IHNldAorCisjCisjIFNvbmljcyBTaWxpY29uIEJhY2twbGFuZQorIworQ09ORklHX1NTQl9QT1NTSUJMRT15CisjIENPTkZJR19TU0IgaXMgbm90IHNldAorCisjCisjIE11bHRpZnVuY3Rpb24gZGV2aWNlIGRyaXZlcnMKKyMKKyMgQ09ORklHX01GRF9TTTUwMSBpcyBub3Qgc2V0CisjIENPTkZJR19NRkRfQVNJQzMgaXMgbm90IHNldAorIyBDT05GSUdfSFRDX0VHUElPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hUQ19QQVNJQzMgaXMgbm90IHNldAorCisjCisjIE11bHRpbWVkaWEgZGV2aWNlcworIworCisjCisjIE11bHRpbWVkaWEgY29yZSBzdXBwb3J0CisjCisjIENPTkZJR19WSURFT19ERVYgaXMgbm90IHNldAorIyBDT05GSUdfRFZCX0NPUkUgaXMgbm90IHNldAorIyBDT05GSUdfVklERU9fTUVESUEgaXMgbm90IHNldAorCisjCisjIE11bHRpbWVkaWEgZHJpdmVycworIworIyBDT05GSUdfREFCIGlzIG5vdCBzZXQKKworIworIyBHcmFwaGljcyBzdXBwb3J0CisjCisjIENPTkZJR19WR0FTVEFURSBpcyBub3Qgc2V0CisjIENPTkZJR19WSURFT19PVVRQVVRfQ09OVFJPTCBpcyBub3Qgc2V0CisjIENPTkZJR19GQiBpcyBub3Qgc2V0CisjIENPTkZJR19CQUNLTElHSFRfTENEX1NVUFBPUlQgaXMgbm90IHNldAorCisjCisjIERpc3BsYXkgZGV2aWNlIHN1cHBvcnQKKyMKKyMgQ09ORklHX0RJU1BMQVlfU1VQUE9SVCBpcyBub3Qgc2V0CisKKyMKKyMgU291bmQKKyMKKyMgQ09ORklHX1NPVU5EIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hJRF9TVVBQT1JUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVVBQT1JUIGlzIG5vdCBzZXQKKyMgQ09ORklHX01NQyBpcyBub3Qgc2V0CisjIENPTkZJR19ORVdfTEVEUyBpcyBub3Qgc2V0CitDT05GSUdfUlRDX0xJQj15CisjIENPTkZJR19SVENfQ0xBU1MgaXMgbm90IHNldAorIyBDT05GSUdfVUlPIGlzIG5vdCBzZXQKKworIworIyBGaWxlIHN5c3RlbXMKKyMKKyMgQ09ORklHX0VYVDJfRlMgaXMgbm90IHNldAorIyBDT05GSUdfRVhUM19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19FWFQ0REVWX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JFSVNFUkZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19GU19QT1NJWF9BQ0wgaXMgbm90IHNldAorIyBDT05GSUdfWEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX09DRlMyX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ROT1RJRlkgaXMgbm90IHNldAorIyBDT05GSUdfSU5PVElGWSBpcyBub3Qgc2V0CisjIENPTkZJR19RVU9UQSBpcyBub3Qgc2V0CisjIENPTkZJR19BVVRPRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfQVVUT0ZTNF9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19GVVNFX0ZTIGlzIG5vdCBzZXQKKworIworIyBDRC1ST00vRFZEIEZpbGVzeXN0ZW1zCisjCisjIENPTkZJR19JU085NjYwX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VERl9GUyBpcyBub3Qgc2V0CisKKyMKKyMgRE9TL0ZBVC9OVCBGaWxlc3lzdGVtcworIworIyBDT05GSUdfTVNET1NfRlMgaXMgbm90IHNldAorIyBDT05GSUdfVkZBVF9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19OVEZTX0ZTIGlzIG5vdCBzZXQKKworIworIyBQc2V1ZG8gZmlsZXN5c3RlbXMKKyMKK0NPTkZJR19QUk9DX0ZTPXkKK0NPTkZJR19QUk9DX1NZU0NUTD15CitDT05GSUdfU1lTRlM9eQorQ09ORklHX1RNUEZTPXkKKyMgQ09ORklHX1RNUEZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0CisjIENPTkZJR19IVUdFVExCX1BBR0UgaXMgbm90IHNldAorIyBDT05GSUdfQ09ORklHRlNfRlMgaXMgbm90IHNldAorCisjCisjIE1pc2NlbGxhbmVvdXMgZmlsZXN5c3RlbXMKKyMKKyMgQ09ORklHX0FERlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfQUZGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19IRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfSEZTUExVU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19CRUZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19FRlNfRlMgaXMgbm90IHNldAorQ09ORklHX0pGRlMyX0ZTPXkKK0NPTkZJR19KRkZTMl9GU19ERUJVRz0wCitDT05GSUdfSkZGUzJfRlNfV1JJVEVCVUZGRVI9eQorIyBDT05GSUdfSkZGUzJfRlNfV0JVRl9WRVJJRlkgaXMgbm90IHNldAorIyBDT05GSUdfSkZGUzJfU1VNTUFSWSBpcyBub3Qgc2V0CisjIENPTkZJR19KRkZTMl9GU19YQVRUUiBpcyBub3Qgc2V0CisjIENPTkZJR19KRkZTMl9DT01QUkVTU0lPTl9PUFRJT05TIGlzIG5vdCBzZXQKK0NPTkZJR19KRkZTMl9aTElCPXkKKyMgQ09ORklHX0pGRlMyX0xaTyBpcyBub3Qgc2V0CitDT05GSUdfSkZGUzJfUlRJTUU9eQorIyBDT05GSUdfSkZGUzJfUlVCSU4gaXMgbm90IHNldAorIyBDT05GSUdfQ1JBTUZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZYRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfTUlOSVhfRlMgaXMgbm90IHNldAorIyBDT05GSUdfSFBGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19RTlg0RlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfUk9NRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfU1lTVl9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19VRlNfRlMgaXMgbm90IHNldAorQ09ORklHX05FVFdPUktfRklMRVNZU1RFTVM9eQorQ09ORklHX05GU19GUz15CitDT05GSUdfTkZTX1YzPXkKKyMgQ09ORklHX05GU19WM19BQ0wgaXMgbm90IHNldAorIyBDT05GSUdfTkZTX1Y0IGlzIG5vdCBzZXQKKyMgQ09ORklHX05GU0QgaXMgbm90IHNldAorQ09ORklHX1JPT1RfTkZTPXkKK0NPTkZJR19MT0NLRD15CitDT05GSUdfTE9DS0RfVjQ9eQorQ09ORklHX05GU19DT01NT049eQorQ09ORklHX1NVTlJQQz15CisjIENPTkZJR19TVU5SUENfQklORDM0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JQQ1NFQ19HU1NfS1JCNSBpcyBub3Qgc2V0CisjIENPTkZJR19SUENTRUNfR1NTX1NQS00zIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NNQl9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19DSUZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX05DUF9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19DT0RBX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FGU19GUyBpcyBub3Qgc2V0CisKKyMKKyMgUGFydGl0aW9uIFR5cGVzCisjCisjIENPTkZJR19QQVJUSVRJT05fQURWQU5DRUQgaXMgbm90IHNldAorQ09ORklHX01TRE9TX1BBUlRJVElPTj15CitDT05GSUdfTkxTPXkKK0NPTkZJR19OTFNfREVGQVVMVD0iaXNvODg1OS0xIgorQ09ORklHX05MU19DT0RFUEFHRV80Mzc9bQorIyBDT05GSUdfTkxTX0NPREVQQUdFXzczNyBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQ09ERVBBR0VfNzc1IGlzIG5vdCBzZXQKK0NPTkZJR19OTFNfQ09ERVBBR0VfODUwPW0KKyMgQ09ORklHX05MU19DT0RFUEFHRV84NTIgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1NSBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQ09ERVBBR0VfODU3IGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19DT0RFUEFHRV84NjAgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2MSBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQ09ERVBBR0VfODYyIGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19DT0RFUEFHRV84NjMgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2NCBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQ09ERVBBR0VfODY1IGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19DT0RFUEFHRV84NjYgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2OSBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQ09ERVBBR0VfOTM2IGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19DT0RFUEFHRV85NTAgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzkzMiBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQ09ERVBBR0VfOTQ5IGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19DT0RFUEFHRV84NzQgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0lTTzg4NTlfOCBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQ09ERVBBR0VfMTI1MCBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQ09ERVBBR0VfMTI1MSBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQVNDSUkgaXMgbm90IHNldAorQ09ORklHX05MU19JU084ODU5XzE9eQorIyBDT05GSUdfTkxTX0lTTzg4NTlfMiBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfSVNPODg1OV8zIGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19JU084ODU5XzQgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0lTTzg4NTlfNSBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfSVNPODg1OV82IGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19JU084ODU5XzcgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0lTTzg4NTlfOSBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfSVNPODg1OV8xMyBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfSVNPODg1OV8xNCBpcyBub3Qgc2V0CitDT05GSUdfTkxTX0lTTzg4NTlfMTU9bQorIyBDT05GSUdfTkxTX0tPSThfUiBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfS09JOF9VIGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19VVEY4IGlzIG5vdCBzZXQKKyMgQ09ORklHX0RMTSBpcyBub3Qgc2V0CisKKyMKKyMgS2VybmVsIGhhY2tpbmcKKyMKKyMgQ09ORklHX1BSSU5US19USU1FIGlzIG5vdCBzZXQKK0NPTkZJR19FTkFCTEVfV0FSTl9ERVBSRUNBVEVEPXkKK0NPTkZJR19FTkFCTEVfTVVTVF9DSEVDSz15CitDT05GSUdfRlJBTUVfV0FSTj0xMDI0CisjIENPTkZJR19NQUdJQ19TWVNSUSBpcyBub3Qgc2V0CisjIENPTkZJR19VTlVTRURfU1lNQk9MUyBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19IRUFERVJTX0NIRUNLIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX0tFUk5FTCBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19CVUdWRVJCT1NFIGlzIG5vdCBzZXQKK0NPTkZJR19GUkFNRV9QT0lOVEVSPXkKKyMgQ09ORklHX1NBTVBMRVMgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfVVNFUiBpcyBub3Qgc2V0CisKKyMKKyMgU2VjdXJpdHkgb3B0aW9ucworIworIyBDT05GSUdfS0VZUyBpcyBub3Qgc2V0CisjIENPTkZJR19TRUNVUklUWSBpcyBub3Qgc2V0CisjIENPTkZJR19TRUNVUklUWV9GSUxFX0NBUEFCSUxJVElFUyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE8gaXMgbm90IHNldAorCisjCisjIExpYnJhcnkgcm91dGluZXMKKyMKK0NPTkZJR19CSVRSRVZFUlNFPXkKKyMgQ09ORklHX0dFTkVSSUNfRklORF9GSVJTVF9CSVQgaXMgbm90IHNldAorIyBDT05GSUdfR0VORVJJQ19GSU5EX05FWFRfQklUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSQ19DQ0lUVCBpcyBub3Qgc2V0CisjIENPTkZJR19DUkMxNiBpcyBub3Qgc2V0CisjIENPTkZJR19DUkNfSVRVX1QgaXMgbm90IHNldAorQ09ORklHX0NSQzMyPXkKKyMgQ09ORklHX0NSQzcgaXMgbm90IHNldAorIyBDT05GSUdfTElCQ1JDMzJDIGlzIG5vdCBzZXQKK0NPTkZJR19aTElCX0lORkxBVEU9eQorQ09ORklHX1pMSUJfREVGTEFURT15CitDT05GSUdfUExJU1Q9eQorQ09ORklHX0hBU19JT01FTT15CitDT05GSUdfSEFTX0lPUE9SVD15CitDT05GSUdfSEFTX0RNQT15CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL2lvcDEzeHhfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9pb3AxM3h4X2RlZmNvbmZpZwppbmRleCA5ODhiNGQxLi40ODJlNTcwIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL2lvcDEzeHhfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvaW9wMTN4eF9kZWZjb25maWcKQEAgLTE5Nyw3ICsxOTcsNiBAQAogIwogIyBDT05GSUdfVElDS19PTkVTSE9UIGlzIG5vdCBzZXQKICMgQ09ORklHX1BSRUVNUFQgaXMgbm90IHNldAotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiBDT05GSUdfSFo9MTAwCiAjIENPTkZJR19BRUFCSSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9FTkFCTEUgaXMgbm90IHNldApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9pb3AzMnhfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9pb3AzMnhfZGVmY29uZmlnCmluZGV4IDgzZjQwZDQuLjg2MTJmNTggMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvaW9wMzJ4X2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL2lvcDMyeF9kZWZjb25maWcKQEAgLTIwMSw3ICsyMDEsNiBAQAogIwogIyBDT05GSUdfVElDS19PTkVTSE9UIGlzIG5vdCBzZXQKICMgQ09ORklHX1BSRUVNUFQgaXMgbm90IHNldAotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiBDT05GSUdfSFo9MTAwCiAjIENPTkZJR19BRUFCSSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9FTkFCTEUgaXMgbm90IHNldApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9pb3AzM3hfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9pb3AzM3hfZGVmY29uZmlnCmluZGV4IDkxN2FmYjUuLjhiMDA5OGQgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvaW9wMzN4X2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL2lvcDMzeF9kZWZjb25maWcKQEAgLTE5Nyw3ICsxOTcsNiBAQAogIwogIyBDT05GSUdfVElDS19PTkVTSE9UIGlzIG5vdCBzZXQKICMgQ09ORklHX1BSRUVNUFQgaXMgbm90IHNldAotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiBDT05GSUdfSFo9MTAwCiAjIENPTkZJR19BRUFCSSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9FTkFCTEUgaXMgbm90IHNldApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9peHAyMDAwX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvaXhwMjAwMF9kZWZjb25maWcKaW5kZXggZjhmOTc5My4uODQ2ODBkYiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9peHAyMDAwX2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL2l4cDIwMDBfZGVmY29uZmlnCkBAIC0xODQsNyArMTg0LDYgQEAKICMgS2VybmVsIEZlYXR1cmVzCiAjCiAjIENPTkZJR19QUkVFTVBUIGlzIG5vdCBzZXQKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX0haPTEwMAogIyBDT05GSUdfQUVBQkkgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvaXhwMjN4eF9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL2l4cDIzeHhfZGVmY29uZmlnCmluZGV4IDI3Y2YwMjIuLjRhMmY3YjIgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvaXhwMjN4eF9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9peHAyM3h4X2RlZmNvbmZpZwpAQCAtMTgwLDcgKzE4MCw2IEBACiAjIEtlcm5lbCBGZWF0dXJlcwogIwogIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19IWj0xMDAKICMgQ09ORklHX0FFQUJJIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL2l4cDR4eF9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL2l4cDR4eF9kZWZjb25maWcKaW5kZXggZWZhMDQ4NS4uZmMxNDkzMiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9peHA0eHhfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvaXhwNHh4X2RlZmNvbmZpZwpAQCAtMTY1LDYgKzE2NSw3IEBACiBDT05GSUdfTUFDSF9OQVMxMDBEPXkKIENPTkZJR19NQUNIX0RTTUc2MDA9eQogQ09ORklHX0FSQ0hfSVhEUDRYWD15CitDT05GSUdfTUFDSF9GU0c9eQogQ09ORklHX0NQVV9JWFA0Nlg9eQogQ09ORklHX0NQVV9JWFA0M1g9eQogQ09ORklHX01BQ0hfR1RXWDU3MTU9eQpAQCAtNzcwLDcgKzc3MSw3IEBACiAjIENPTkZJR19TQVRBX1NJTDI0IGlzIG5vdCBzZXQKICMgQ09ORklHX1NBVEFfU0lTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NBVEFfVUxJIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NBVEFfVklBIGlzIG5vdCBzZXQKK0NPTkZJR19TQVRBX1ZJQT15CiAjIENPTkZJR19TQVRBX1ZJVEVTU0UgaXMgbm90IHNldAogIyBDT05GSUdfU0FUQV9JTklDMTYyWCBpcyBub3Qgc2V0CiAjIENPTkZJR19QQVRBX0FMSSBpcyBub3Qgc2V0CkBAIC0xMTQzLDcgKzExNDQsNyBAQAogIyBDT05GSUdfU0VOU09SU19WSUE2ODZBIGlzIG5vdCBzZXQKICMgQ09ORklHX1NFTlNPUlNfVlQxMjExIGlzIG5vdCBzZXQKICMgQ09ORklHX1NFTlNPUlNfVlQ4MjMxIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFTlNPUlNfVzgzNzgxRCBpcyBub3Qgc2V0CitDT05GSUdfU0VOU09SU19XODM3ODFEPXkKICMgQ09ORklHX1NFTlNPUlNfVzgzNzkxRCBpcyBub3Qgc2V0CiAjIENPTkZJR19TRU5TT1JTX1c4Mzc5MkQgaXMgbm90IHNldAogIyBDT05GSUdfU0VOU09SU19XODM3OTMgaXMgbm90IHNldApAQCAtMTMzNCw4ICsxMzM1LDggQEAKICMKICMgTEVEIGRyaXZlcnMKICMKLSMgQ09ORklHX0xFRFNfSVhQNFhYIGlzIG5vdCBzZXQKIENPTkZJR19MRURTX0dQSU89eQorQ09ORklHX0xFRFNfRlNHPXkKIAogIwogIyBMRUQgVHJpZ2dlcnMKQEAgLTEzNjcsNyArMTM2OCw3IEBACiAjIENPTkZJR19SVENfRFJWX0RTMTY3MiBpcyBub3Qgc2V0CiAjIENPTkZJR19SVENfRFJWX01BWDY5MDAgaXMgbm90IHNldAogIyBDT05GSUdfUlRDX0RSVl9SUzVDMzcyIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JUQ19EUlZfSVNMMTIwOCBpcyBub3Qgc2V0CitDT05GSUdfUlRDX0RSVl9JU0wxMjA4PXkKIENPTkZJR19SVENfRFJWX1gxMjA1PXkKIENPTkZJR19SVENfRFJWX1BDRjg1NjM9eQogIyBDT05GSUdfUlRDX0RSVl9QQ0Y4NTgzIGlzIG5vdCBzZXQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3Mva2FmYV9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL2thZmFfZGVmY29uZmlnCmluZGV4IGFlNTFhNDAuLjZkZDk1YTIgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3Mva2FmYV9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9rYWZhX2RlZmNvbmZpZwpAQCAtMTYyLDcgKzE2Miw2IEBACiAjIEtlcm5lbCBGZWF0dXJlcwogIwogQ09ORklHX1BSRUVNUFQ9eQotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiBDT05GSUdfSFo9MTAwCiAjIENPTkZJR19BRUFCSSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9FTkFCTEUgaXMgbm90IHNldApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9rYjkyMDJfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9rYjkyMDJfZGVmY29uZmlnCmluZGV4IGMxNjUzN2QuLjhlNzRjNjYgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3Mva2I5MjAyX2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL2tiOTIwMl9kZWZjb25maWcKQEAgLTEyNiw3ICsxMjYsNiBAQAogIwogIyBLZXJuZWwgRmVhdHVyZXMKICMKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKIENPTkZJR19GTEFUTUVNPXkKIENPTkZJR19GTEFUX05PREVfTUVNX01BUD15CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL2NtX3gyNzBfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9raXJrd29vZF9kZWZjb25maWcKc2ltaWxhcml0eSBpbmRleCA2MiUKY29weSBmcm9tIGFyY2gvYXJtL2NvbmZpZ3MvY21feDI3MF9kZWZjb25maWcKY29weSB0byBhcmNoL2FybS9jb25maWdzL2tpcmt3b29kX2RlZmNvbmZpZwppbmRleCA1Y2FiMDgzLi5lMzM1N2JhIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL2NtX3gyNzBfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3Mva2lya3dvb2RfZGVmY29uZmlnCkBAIC0xLDE3ICsxLDE4IEBACiAjCiAjIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIG1ha2UgY29uZmlnOiBkb24ndCBlZGl0Ci0jIExpbnV4IGtlcm5lbCB2ZXJzaW9uOiAyLjYuMjIKLSMgV2VkIEp1bCAxOCAxNDoxMTo0OCAyMDA3CisjIExpbnV4IGtlcm5lbCB2ZXJzaW9uOiAyLjYuMjYtcmM1CisjIFN1biBKdW4gMjIgMTU6NTE6MjUgMjAwOAogIwogQ09ORklHX0FSTT15CiBDT05GSUdfU1lTX1NVUFBPUlRTX0FQTV9FTVVMQVRJT049eQogQ09ORklHX0dFTkVSSUNfR1BJTz15CiBDT05GSUdfR0VORVJJQ19USU1FPXkKLSMgQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFMgaXMgbm90IHNldAorQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFM9eQogQ09ORklHX01NVT15CiAjIENPTkZJR19OT19JT1BPUlQgaXMgbm90IHNldAogQ09ORklHX0dFTkVSSUNfSEFSRElSUVM9eQogQ09ORklHX1NUQUNLVFJBQ0VfU1VQUE9SVD15CitDT05GSUdfSEFWRV9MQVRFTkNZVE9QX1NVUFBPUlQ9eQogQ09ORklHX0xPQ0tERVBfU1VQUE9SVD15CiBDT05GSUdfVFJBQ0VfSVJRRkxBR1NfU1VQUE9SVD15CiBDT05GSUdfSEFSRElSUVNfU1dfUkVTRU5EPXkKQEAgLTIxLDQzICsyMiw0MSBAQAogIyBDT05GSUdfQVJDSF9IQVNfSUxPRzJfVTY0IGlzIG5vdCBzZXQKIENPTkZJR19HRU5FUklDX0hXRUlHSFQ9eQogQ09ORklHX0dFTkVSSUNfQ0FMSUJSQVRFX0RFTEFZPXkKK0NPTkZJR19BUkNIX1NVUFBPUlRTX0FPVVQ9eQogQ09ORklHX1pPTkVfRE1BPXkKLUNPTkZJR19BUkNIX01URF9YSVA9eQogQ09ORklHX1ZFQ1RPUlNfQkFTRT0weGZmZmYwMDAwCiBDT05GSUdfREVGQ09ORklHX0xJU1Q9Ii9saWIvbW9kdWxlcy8kVU5BTUVfUkVMRUFTRS8uY29uZmlnIgogCiAjCi0jIENvZGUgbWF0dXJpdHkgbGV2ZWwgb3B0aW9ucworIyBHZW5lcmFsIHNldHVwCiAjCiBDT05GSUdfRVhQRVJJTUVOVEFMPXkKIENPTkZJR19CUk9LRU5fT05fU01QPXkKK0NPTkZJR19MT0NLX0tFUk5FTD15CiBDT05GSUdfSU5JVF9FTlZfQVJHX0xJTUlUPTMyCi0KLSMKLSMgR2VuZXJhbCBzZXR1cAotIwogQ09ORklHX0xPQ0FMVkVSU0lPTj0iIgotIyBDT05GSUdfTE9DQUxWRVJTSU9OX0FVVE8gaXMgbm90IHNldAorQ09ORklHX0xPQ0FMVkVSU0lPTl9BVVRPPXkKIENPTkZJR19TV0FQPXkKIENPTkZJR19TWVNWSVBDPXkKIENPTkZJR19TWVNWSVBDX1NZU0NUTD15CiAjIENPTkZJR19QT1NJWF9NUVVFVUUgaXMgbm90IHNldAogIyBDT05GSUdfQlNEX1BST0NFU1NfQUNDVCBpcyBub3Qgc2V0CiAjIENPTkZJR19UQVNLU1RBVFMgaXMgbm90IHNldAotIyBDT05GSUdfVVNFUl9OUyBpcyBub3Qgc2V0CiAjIENPTkZJR19BVURJVCBpcyBub3Qgc2V0Ci1DT05GSUdfSUtDT05GSUc9eQotQ09ORklHX0lLQ09ORklHX1BST0M9eQotQ09ORklHX0xPR19CVUZfU0hJRlQ9MTcKLUNPTkZJR19TWVNGU19ERVBSRUNBVEVEPXkKKyMgQ09ORklHX0lLQ09ORklHIGlzIG5vdCBzZXQKK0NPTkZJR19MT0dfQlVGX1NISUZUPTE0CisjIENPTkZJR19DR1JPVVBTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0dST1VQX1NDSEVEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NZU0ZTX0RFUFJFQ0FURURfVjIgaXMgbm90IHNldAogIyBDT05GSUdfUkVMQVkgaXMgbm90IHNldAotQ09ORklHX0JMS19ERVZfSU5JVFJEPXkKLUNPTkZJR19JTklUUkFNRlNfU09VUkNFPSIiCisjIENPTkZJR19OQU1FU1BBQ0VTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JMS19ERVZfSU5JVFJEIGlzIG5vdCBzZXQKIENPTkZJR19DQ19PUFRJTUlaRV9GT1JfU0laRT15CiBDT05GSUdfU1lTQ1RMPXkKIENPTkZJR19FTUJFRERFRD15CiBDT05GSUdfVUlEMTY9eQogQ09ORklHX1NZU0NUTF9TWVNDQUxMPXkKK0NPTkZJR19TWVNDVExfU1lTQ0FMTF9DSEVDSz15CiBDT05GSUdfS0FMTFNZTVM9eQogIyBDT05GSUdfS0FMTFNZTVNfQUxMIGlzIG5vdCBzZXQKICMgQ09ORklHX0tBTExTWU1TX0VYVFJBX1BBU1MgaXMgbm90IHNldApAQCAtNjUsMjcgKzY0LDQwIEBACiBDT05GSUdfUFJJTlRLPXkKIENPTkZJR19CVUc9eQogQ09ORklHX0VMRl9DT1JFPXkKK0NPTkZJR19DT01QQVRfQlJLPXkKIENPTkZJR19CQVNFX0ZVTEw9eQogQ09ORklHX0ZVVEVYPXkKIENPTkZJR19BTk9OX0lOT0RFUz15Ci0jIENPTkZJR19FUE9MTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TSUdOQUxGRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19USU1FUkZEIGlzIG5vdCBzZXQKLSMgQ09ORklHX0VWRU5URkQgaXMgbm90IHNldAorQ09ORklHX0VQT0xMPXkKK0NPTkZJR19TSUdOQUxGRD15CitDT05GSUdfVElNRVJGRD15CitDT05GSUdfRVZFTlRGRD15CiBDT05GSUdfU0hNRU09eQogQ09ORklHX1ZNX0VWRU5UX0NPVU5URVJTPXkKIENPTkZJR19TTEFCPXkKICMgQ09ORklHX1NMVUIgaXMgbm90IHNldAogIyBDT05GSUdfU0xPQiBpcyBub3Qgc2V0CitDT05GSUdfUFJPRklMSU5HPXkKKyMgQ09ORklHX01BUktFUlMgaXMgbm90IHNldAorQ09ORklHX09QUk9GSUxFPXkKK0NPTkZJR19IQVZFX09QUk9GSUxFPXkKK0NPTkZJR19LUFJPQkVTPXkKK0NPTkZJR19LUkVUUFJPQkVTPXkKK0NPTkZJR19IQVZFX0tQUk9CRVM9eQorQ09ORklHX0hBVkVfS1JFVFBST0JFUz15CisjIENPTkZJR19IQVZFX0RNQV9BVFRSUyBpcyBub3Qgc2V0CitDT05GSUdfUFJPQ19QQUdFX01PTklUT1I9eQorQ09ORklHX1NMQUJJTkZPPXkKIENPTkZJR19SVF9NVVRFWEVTPXkKICMgQ09ORklHX1RJTllfU0hNRU0gaXMgbm90IHNldAogQ09ORklHX0JBU0VfU01BTEw9MAogQ09ORklHX01PRFVMRVM9eQorIyBDT05GSUdfTU9EVUxFX0ZPUkNFX0xPQUQgaXMgbm90IHNldAogQ09ORklHX01PRFVMRV9VTkxPQUQ9eQotQ09ORklHX01PRFVMRV9GT1JDRV9VTkxPQUQ9eQorIyBDT05GSUdfTU9EVUxFX0ZPUkNFX1VOTE9BRCBpcyBub3Qgc2V0CiAjIENPTkZJR19NT0RWRVJTSU9OUyBpcyBub3Qgc2V0CiAjIENPTkZJR19NT0RVTEVfU1JDVkVSU0lPTl9BTEwgaXMgbm90IHNldAotQ09ORklHX0tNT0Q9eQorIyBDT05GSUdfS01PRCBpcyBub3Qgc2V0CiBDT05GSUdfQkxPQ0s9eQogIyBDT05GSUdfTEJEIGlzIG5vdCBzZXQKICMgQ09ORklHX0JMS19ERVZfSU9fVFJBQ0UgaXMgbm90IHNldApAQCAtOTksMTEgKzExMSwxMiBAQAogQ09ORklHX0lPU0NIRURfQVM9eQogQ09ORklHX0lPU0NIRURfREVBRExJTkU9eQogQ09ORklHX0lPU0NIRURfQ0ZRPXkKLUNPTkZJR19ERUZBVUxUX0FTPXkKKyMgQ09ORklHX0RFRkFVTFRfQVMgaXMgbm90IHNldAogIyBDT05GSUdfREVGQVVMVF9ERUFETElORSBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUZBVUxUX0NGUSBpcyBub3Qgc2V0CitDT05GSUdfREVGQVVMVF9DRlE9eQogIyBDT05GSUdfREVGQVVMVF9OT09QIGlzIG5vdCBzZXQKLUNPTkZJR19ERUZBVUxUX0lPU0NIRUQ9ImFudGljaXBhdG9yeSIKK0NPTkZJR19ERUZBVUxUX0lPU0NIRUQ9ImNmcSIKK0NPTkZJR19DTEFTU0lDX1JDVT15CiAKICMKICMgU3lzdGVtIFR5cGUKQEAgLTEyOSwxMCArMTQyLDE1IEBACiAjIENPTkZJR19BUkNIX0lYUDIwMDAgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9JWFA0WFggaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9MNzIwMCBpcyBub3Qgc2V0CitDT05GSUdfQVJDSF9LSVJLV09PRD15CiAjIENPTkZJR19BUkNIX0tTODY5NSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX05TOVhYWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0xPS0kgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9NVjc4WFgwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfTVhDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfT1JJT041WCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1BOWDQwMDggaXMgbm90IHNldAotQ09ORklHX0FSQ0hfUFhBPXkKKyMgQ09ORklHX0FSQ0hfUFhBIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfUlBDIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfU0ExMTAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfUzNDMjQxMCBpcyBub3Qgc2V0CkBAIC0xNDAsMjkgKzE1OCwzNiBAQAogIyBDT05GSUdfQVJDSF9MSDdBNDBYIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfREFWSU5DSSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX09NQVAgaXMgbm90IHNldAotQ09ORklHX0RNQUJPVU5DRT15CisjIENPTkZJR19BUkNIX01TTTdYMDBBIGlzIG5vdCBzZXQKIAogIwotIyBJbnRlbCBQWEEyeHggSW1wbGVtZW50YXRpb25zCisjIE1hcnZlbGwgS2lya3dvb2QgSW1wbGVtZW50YXRpb25zCiAjCi0jIENPTkZJR19BUkNIX0xVQkJPQ0sgaXMgbm90IHNldAotIyBDT05GSUdfTUFDSF9MT0dJQ1BEX1BYQTI3MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NQUNIX01BSU5TVE9ORSBpcyBub3Qgc2V0Ci0jIENPTkZJR19BUkNIX1BYQV9JRFAgaXMgbm90IHNldAotIyBDT05GSUdfUFhBX1NIQVJQU0wgaXMgbm90IHNldAotIyBDT05GSUdfTUFDSF9UUklaRVBTNCBpcyBub3Qgc2V0Ci1DT05GSUdfTUFDSF9BUk1DT1JFPXkKLUNPTkZJR19QWEEyN3g9eQorQ09ORklHX01BQ0hfREI4OEY2MjgxX0JQPXkKK0NPTkZJR19NQUNIX1JEODhGNjE5Ml9OQVM9eQorQ09ORklHX01BQ0hfUkQ4OEY2MjgxPXkKKworIworIyBCb290IG9wdGlvbnMKKyMKKworIworIyBQb3dlciBtYW5hZ2VtZW50CisjCitDT05GSUdfUExBVF9PUklPTj15CiAKICMKICMgUHJvY2Vzc29yIFR5cGUKICMKIENPTkZJR19DUFVfMzI9eQotQ09ORklHX0NQVV9YU0NBTEU9eQorQ09ORklHX0NQVV9GRVJPQ0VPTj15CisjIENPTkZJR19DUFVfRkVST0NFT05fT0xEX0lEIGlzIG5vdCBzZXQKIENPTkZJR19DUFVfMzJ2NT15CiBDT05GSUdfQ1BVX0FCUlRfRVY1VD15CitDT05GSUdfQ1BVX1BBQlJUX05PSUZBUj15CiBDT05GSUdfQ1BVX0NBQ0hFX1ZJVlQ9eQotQ09ORklHX0NQVV9UTEJfVjRXQkk9eQorQ09ORklHX0NQVV9DT1BZX0ZFUk9DRU9OPXkKK0NPTkZJR19DUFVfVExCX0ZFUk9DRU9OPXkKIENPTkZJR19DUFVfQ1AxNT15CiBDT05GSUdfQ1BVX0NQMTVfTU1VPXkKIApAQCAtMTcwLDMzICsxOTUsMzIgQEAKICMgUHJvY2Vzc29yIEZlYXR1cmVzCiAjCiBDT05GSUdfQVJNX1RIVU1CPXkKKyMgQ09ORklHX0NQVV9JQ0FDSEVfRElTQUJMRSBpcyBub3Qgc2V0CiAjIENPTkZJR19DUFVfRENBQ0hFX0RJU0FCTEUgaXMgbm90IHNldAotIyBDT05GSUdfT1VURVJfQ0FDSEUgaXMgbm90IHNldAotQ09ORklHX0lXTU1YVD15Ci1DT05GSUdfWFNDQUxFX1BNVT15CitDT05GSUdfT1VURVJfQ0FDSEU9eQorQ09ORklHX0NBQ0hFX0ZFUk9DRU9OX0wyPXkKIAogIwogIyBCdXMgc3VwcG9ydAogIwogQ09ORklHX1BDST15CiBDT05GSUdfUENJX1NZU0NBTEw9eQotQ09ORklHX1BDSV9IT1NUX0lURTgxNTI9eQogIyBDT05GSUdfQVJDSF9TVVBQT1JUU19NU0kgaXMgbm90IHNldAorQ09ORklHX1BDSV9MRUdBQ1k9eQogIyBDT05GSUdfUENJX0RFQlVHIGlzIG5vdCBzZXQKLQotIwotIyBQQ0NBUkQgKFBDTUNJQS9DYXJkQnVzKSBzdXBwb3J0Ci0jCiAjIENPTkZJR19QQ0NBUkQgaXMgbm90IHNldAogCiAjCiAjIEtlcm5lbCBGZWF0dXJlcwogIwotIyBDT05GSUdfVElDS19PTkVTSE9UIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BSRUVNUFQgaXMgbm90IHNldAotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CitDT05GSUdfVElDS19PTkVTSE9UPXkKK0NPTkZJR19OT19IWj15CitDT05GSUdfSElHSF9SRVNfVElNRVJTPXkKK0NPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTX0JVSUxEPXkKK0NPTkZJR19QUkVFTVBUPXkKIENPTkZJR19IWj0xMDAKLSMgQ09ORklHX0FFQUJJIGlzIG5vdCBzZXQKK0NPTkZJR19BRUFCST15CisjIENPTkZJR19PQUJJX0NPTVBBVCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9FTkFCTEUgaXMgbm90IHNldAogQ09ORklHX1NFTEVDVF9NRU1PUllfTU9ERUw9eQogQ09ORklHX0ZMQVRNRU1fTUFOVUFMPXkKQEAgLTIwNSw2ICsyMjksOCBAQAogQ09ORklHX0ZMQVRNRU09eQogQ09ORklHX0ZMQVRfTk9ERV9NRU1fTUFQPXkKICMgQ09ORklHX1NQQVJTRU1FTV9TVEFUSUMgaXMgbm90IHNldAorIyBDT05GSUdfU1BBUlNFTUVNX1ZNRU1NQVBfRU5BQkxFIGlzIG5vdCBzZXQKK0NPTkZJR19QQUdFRkxBR1NfRVhURU5ERUQ9eQogQ09ORklHX1NQTElUX1BUTE9DS19DUFVTPTQwOTYKICMgQ09ORklHX1JFU09VUkNFU182NEJJVCBpcyBub3Qgc2V0CiBDT05GSUdfWk9ORV9ETUFfRkxBRz0xCkBAIC0yMjgsOSArMjU0LDcgQEAKICMKICMgQXQgbGVhc3Qgb25lIGVtdWxhdGlvbiBtdXN0IGJlIHNlbGVjdGVkCiAjCi1DT05GSUdfRlBFX05XRlBFPXkKLSMgQ09ORklHX0ZQRV9OV0ZQRV9YUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GUEVfRkFTVEZQRSBpcyBub3Qgc2V0CisjIENPTkZJR19WRlAgaXMgbm90IHNldAogCiAjCiAjIFVzZXJzcGFjZSBiaW5hcnkgZm9ybWF0cwpAQCAtMjM4LDE2ICsyNjIsMTIgQEAKIENPTkZJR19CSU5GTVRfRUxGPXkKICMgQ09ORklHX0JJTkZNVF9BT1VUIGlzIG5vdCBzZXQKICMgQ09ORklHX0JJTkZNVF9NSVNDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0FSVEhVUiBpcyBub3Qgc2V0CiAKICMKICMgUG93ZXIgbWFuYWdlbWVudCBvcHRpb25zCiAjCi1DT05GSUdfUE09eQotIyBDT05GSUdfUE1fTEVHQUNZIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BNX0RFQlVHIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BNX1NZU0ZTX0RFUFJFQ0FURUQgaXMgbm90IHNldAotIyBDT05GSUdfQVBNX0VNVUxBVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19QTSBpcyBub3Qgc2V0CitDT05GSUdfQVJDSF9TVVNQRU5EX1BPU1NJQkxFPXkKIAogIwogIyBOZXR3b3JraW5nCkBAIC0yNTgsMTUgKzI3OCwxNiBAQAogIyBOZXR3b3JraW5nIG9wdGlvbnMKICMKIENPTkZJR19QQUNLRVQ9eQotIyBDT05GSUdfUEFDS0VUX01NQVAgaXMgbm90IHNldAorQ09ORklHX1BBQ0tFVF9NTUFQPXkKIENPTkZJR19VTklYPXkKIENPTkZJR19YRlJNPXkKICMgQ09ORklHX1hGUk1fVVNFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19YRlJNX1NVQl9QT0xJQ1kgaXMgbm90IHNldAogIyBDT05GSUdfWEZSTV9NSUdSQVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1hGUk1fU1RBVElTVElDUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfS0VZIGlzIG5vdCBzZXQKIENPTkZJR19JTkVUPXkKLSMgQ09ORklHX0lQX01VTFRJQ0FTVCBpcyBub3Qgc2V0CitDT05GSUdfSVBfTVVMVElDQVNUPXkKICMgQ09ORklHX0lQX0FEVkFOQ0VEX1JPVVRFUiBpcyBub3Qgc2V0CiBDT05GSUdfSVBfRklCX0hBU0g9eQogQ09ORklHX0lQX1BOUD15CkBAIC0yNzUsNiArMjk2LDcgQEAKICMgQ09ORklHX0lQX1BOUF9SQVJQIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9JUElQIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9JUEdSRSBpcyBub3Qgc2V0CisjIENPTkZJR19JUF9NUk9VVEUgaXMgbm90IHNldAogIyBDT05GSUdfQVJQRCBpcyBub3Qgc2V0CiAjIENPTkZJR19TWU5fQ09PS0lFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkVUX0FIIGlzIG5vdCBzZXQKQEAgLTI4NSw2ICszMDcsNyBAQAogQ09ORklHX0lORVRfWEZSTV9NT0RFX1RSQU5TUE9SVD15CiBDT05GSUdfSU5FVF9YRlJNX01PREVfVFVOTkVMPXkKIENPTkZJR19JTkVUX1hGUk1fTU9ERV9CRUVUPXkKKyMgQ09ORklHX0lORVRfTFJPIGlzIG5vdCBzZXQKIENPTkZJR19JTkVUX0RJQUc9eQogQ09ORklHX0lORVRfVENQX0RJQUc9eQogIyBDT05GSUdfVENQX0NPTkdfQURWQU5DRUQgaXMgbm90IHNldApAQCAtMjkyLDggKzMxNSw2IEBACiBDT05GSUdfREVGQVVMVF9UQ1BfQ09ORz0iY3ViaWMiCiAjIENPTkZJR19UQ1BfTUQ1U0lHIGlzIG5vdCBzZXQKICMgQ09ORklHX0lQVjYgaXMgbm90IHNldAotIyBDT05GSUdfSU5FVDZfWEZSTV9UVU5ORUwgaXMgbm90IHNldAotIyBDT05GSUdfSU5FVDZfVFVOTkVMIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVFdPUktfU0VDTUFSSyBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRGSUxURVIgaXMgbm90IHNldAogIyBDT05GSUdfSVBfRENDUCBpcyBub3Qgc2V0CkBAIC0zMTAsMTcgKzMzMSwxNSBAQAogIyBDT05GSUdfTEFQQiBpcyBub3Qgc2V0CiAjIENPTkZJR19FQ09ORVQgaXMgbm90IHNldAogIyBDT05GSUdfV0FOX1JPVVRFUiBpcyBub3Qgc2V0Ci0KLSMKLSMgUW9TIGFuZC9vciBmYWlyIHF1ZXVlaW5nCi0jCiAjIENPTkZJR19ORVRfU0NIRUQgaXMgbm90IHNldAogCiAjCiAjIE5ldHdvcmsgdGVzdGluZwogIwotIyBDT05GSUdfTkVUX1BLVEdFTiBpcyBub3Qgc2V0CitDT05GSUdfTkVUX1BLVEdFTj1tCisjIENPTkZJR19ORVRfVENQUFJPQkUgaXMgbm90IHNldAogIyBDT05GSUdfSEFNUkFESU8gaXMgbm90IHNldAorIyBDT05GSUdfQ0FOIGlzIG5vdCBzZXQKICMgQ09ORklHX0lSREEgaXMgbm90IHNldAogIyBDT05GSUdfQlQgaXMgbm90IHNldAogIyBDT05GSUdfQUZfUlhSUEMgaXMgbm90IHNldApAQCAtMzMxLDEyICszNTAsNyBAQAogIyBDT05GSUdfQ0ZHODAyMTEgaXMgbm90IHNldAogQ09ORklHX1dJUkVMRVNTX0VYVD15CiAjIENPTkZJR19NQUM4MDIxMSBpcyBub3Qgc2V0Ci1DT05GSUdfSUVFRTgwMjExPW0KLSMgQ09ORklHX0lFRUU4MDIxMV9ERUJVRyBpcyBub3Qgc2V0Ci1DT05GSUdfSUVFRTgwMjExX0NSWVBUX1dFUD1tCi1DT05GSUdfSUVFRTgwMjExX0NSWVBUX0NDTVA9bQotIyBDT05GSUdfSUVFRTgwMjExX0NSWVBUX1RLSVAgaXMgbm90IHNldAotIyBDT05GSUdfSUVFRTgwMjExX1NPRlRNQUMgaXMgbm90IHNldAorIyBDT05GSUdfSUVFRTgwMjExIGlzIG5vdCBzZXQKICMgQ09ORklHX1JGS0lMTCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfOVAgaXMgbm90IHNldAogCkBAIC0zNDcsNiArMzYxLDcgQEAKICMKICMgR2VuZXJpYyBEcml2ZXIgT3B0aW9ucwogIworQ09ORklHX1VFVkVOVF9IRUxQRVJfUEFUSD0iL3NiaW4vaG90cGx1ZyIKIENPTkZJR19TVEFOREFMT05FPXkKIENPTkZJR19QUkVWRU5UX0ZJUk1XQVJFX0JVSUxEPXkKIENPTkZJR19GV19MT0FERVI9eQpAQCAtMzU0LDM0ICszNjksNDIgQEAKICMgQ09ORklHX0RFQlVHX0RFVlJFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TWVNfSFlQRVJWSVNPUiBpcyBub3Qgc2V0CiAjIENPTkZJR19DT05ORUNUT1IgaXMgbm90IHNldAotQ09ORklHX01URD1tCitDT05GSUdfTVREPXkKICMgQ09ORklHX01URF9ERUJVRyBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfQ09OQ0FUIGlzIG5vdCBzZXQKIENPTkZJR19NVERfUEFSVElUSU9OUz15CiAjIENPTkZJR19NVERfUkVEQk9PVF9QQVJUUyBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NNRExJTkVfUEFSVFM9eQogIyBDT05GSUdfTVREX0FGU19QQVJUUyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQVI3X1BBUlRTIGlzIG5vdCBzZXQKIAogIwogIyBVc2VyIE1vZHVsZXMgQW5kIFRyYW5zbGF0aW9uIExheWVycwogIwotQ09ORklHX01URF9DSEFSPW0KLUNPTkZJR19NVERfQkxLREVWUz1tCi1DT05GSUdfTVREX0JMT0NLPW0KLSMgQ09ORklHX01URF9CTE9DS19STyBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NIQVI9eQorQ09ORklHX01URF9CTEtERVZTPXkKK0NPTkZJR19NVERfQkxPQ0s9eQogIyBDT05GSUdfRlRMIGlzIG5vdCBzZXQKICMgQ09ORklHX05GVEwgaXMgbm90IHNldAogIyBDT05GSUdfSU5GVEwgaXMgbm90IHNldAogIyBDT05GSUdfUkZEX0ZUTCBpcyBub3Qgc2V0CiAjIENPTkZJR19TU0ZEQyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfT09QUyBpcyBub3Qgc2V0CiAKICMKICMgUkFNL1JPTS9GbGFzaCBjaGlwIGRyaXZlcnMKICMKLSMgQ09ORklHX01URF9DRkkgaXMgbm90IHNldAotIyBDT05GSUdfTVREX0pFREVDUFJPQkUgaXMgbm90IHNldAorQ09ORklHX01URF9DRkk9eQorQ09ORklHX01URF9KRURFQ1BST0JFPXkKK0NPTkZJR19NVERfR0VOX1BST0JFPXkKK0NPTkZJR19NVERfQ0ZJX0FEVl9PUFRJT05TPXkKK0NPTkZJR19NVERfQ0ZJX05PU1dBUD15CisjIENPTkZJR19NVERfQ0ZJX0JFX0JZVEVfU1dBUCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQ0ZJX0xFX0JZVEVfU1dBUCBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NGSV9HRU9NRVRSWT15CiBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzE9eQogQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8yPXkKLUNPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfND15CisjIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfNCBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfOCBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMTYgaXMgbm90IHNldAogIyBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzMyIGlzIG5vdCBzZXQKQEAgLTM4OSw2ICs0MTIsMTEgQEAKIENPTkZJR19NVERfQ0ZJX0kyPXkKICMgQ09ORklHX01URF9DRklfSTQgaXMgbm90IHNldAogIyBDT05GSUdfTVREX0NGSV9JOCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfT1RQIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ0ZJX0lOVEVMRVhUPXkKKyMgQ09ORklHX01URF9DRklfQU1EU1REIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ0ZJX1NUQUE9eQorQ09ORklHX01URF9DRklfVVRJTD15CiAjIENPTkZJR19NVERfUkFNIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9ST00gaXMgbm90IHNldAogIyBDT05GSUdfTVREX0FCU0VOVCBpcyBub3Qgc2V0CkBAIC0zOTcsMTMgKzQyNSwyMiBAQAogIyBNYXBwaW5nIGRyaXZlcnMgZm9yIGNoaXAgYWNjZXNzCiAjCiAjIENPTkZJR19NVERfQ09NUExFWF9NQVBQSU5HUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfU0hBUlBfU0wgaXMgbm90IHNldAorQ09ORklHX01URF9QSFlTTUFQPXkKK0NPTkZJR19NVERfUEhZU01BUF9TVEFSVD0weDAKK0NPTkZJR19NVERfUEhZU01BUF9MRU49MHgwCitDT05GSUdfTVREX1BIWVNNQVBfQkFOS1dJRFRIPTAKKyMgQ09ORklHX01URF9BUk1fSU5URUdSQVRPUiBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfSU1QQTcgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0lOVEVMX1ZSX05PUiBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfUExBVFJBTSBpcyBub3Qgc2V0CiAKICMKICMgU2VsZi1jb250YWluZWQgTVREIGRldmljZSBkcml2ZXJzCiAjCiAjIENPTkZJR19NVERfUE1DNTUxIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9EQVRBRkxBU0ggaXMgbm90IHNldAorQ09ORklHX01URF9NMjVQODA9eQorQ09ORklHX00yNVBYWF9VU0VfRkFTVF9SRUFEPXkKICMgQ09ORklHX01URF9TTFJBTSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfUEhSQU0gaXMgbm90IHNldAogIyBDT05GSUdfTVREX01URFJBTSBpcyBub3Qgc2V0CkBAIC00MTUsMTggKzQ1MiwxNyBAQAogIyBDT05GSUdfTVREX0RPQzIwMDAgaXMgbm90IHNldAogIyBDT05GSUdfTVREX0RPQzIwMDEgaXMgbm90IHNldAogIyBDT05GSUdfTVREX0RPQzIwMDFQTFVTIGlzIG5vdCBzZXQKLUNPTkZJR19NVERfTkFORD1tCi0jIENPTkZJR19NVERfTkFORF9WRVJJRllfV1JJVEUgaXMgbm90IHNldAorQ09ORklHX01URF9OQU5EPXkKK0NPTkZJR19NVERfTkFORF9WRVJJRllfV1JJVEU9eQogIyBDT05GSUdfTVREX05BTkRfRUNDX1NNQyBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTkFORF9NVVNFVU1fSURTIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9OQU5EX0gxOTAwIGlzIG5vdCBzZXQKLUNPTkZJR19NVERfTkFORF9JRFM9bQorQ09ORklHX01URF9OQU5EX0lEUz15CiAjIENPTkZJR19NVERfTkFORF9ESVNLT05DSElQIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9OQU5EX1NIQVJQU0wgaXMgbm90IHNldAogIyBDT05GSUdfTVREX05BTkRfQ0FGRSBpcyBub3Qgc2V0Ci1DT05GSUdfTVREX05BTkRfQ01fWDI3MD1tCiAjIENPTkZJR19NVERfTkFORF9OQU5EU0lNIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9OQU5EX1BMQVRGT1JNIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9BTEFVREEgaXMgbm90IHNldAorQ09ORklHX01URF9OQU5EX09SSU9OPXkKICMgQ09ORklHX01URF9PTkVOQU5EIGlzIG5vdCBzZXQKIAogIwpAQCAtNDQ1LDM4ICs0ODEsMTIgQEAKICMgQ09ORklHX0JMS19ERVZfTkJEIGlzIG5vdCBzZXQKICMgQ09ORklHX0JMS19ERVZfU1g4IGlzIG5vdCBzZXQKICMgQ09ORklHX0JMS19ERVZfVUIgaXMgbm90IHNldAotQ09ORklHX0JMS19ERVZfUkFNPXkKLUNPTkZJR19CTEtfREVWX1JBTV9DT1VOVD0xNgotQ09ORklHX0JMS19ERVZfUkFNX1NJWkU9MTIwMDAKLUNPTkZJR19CTEtfREVWX1JBTV9CTE9DS1NJWkU9MTAyNAorIyBDT05GSUdfQkxLX0RFVl9SQU0gaXMgbm90IHNldAogIyBDT05GSUdfQ0RST01fUEtUQ0RWRCBpcyBub3Qgc2V0CiAjIENPTkZJR19BVEFfT1ZFUl9FVEggaXMgbm90IHNldAotQ09ORklHX0lERT1tCi1DT05GSUdfSURFX01BWF9IV0lGUz00Ci1DT05GSUdfQkxLX0RFVl9JREU9bQotCi0jCi0jIFBsZWFzZSBzZWUgRG9jdW1lbnRhdGlvbi9pZGUudHh0IGZvciBoZWxwL2luZm8gb24gSURFIGRyaXZlcwotIwotIyBDT05GSUdfQkxLX0RFVl9JREVfU0FUQSBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9JREVESVNLPW0KLSMgQ09ORklHX0lERURJU0tfTVVMVElfTU9ERSBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9JREVDRD1tCi0jIENPTkZJR19CTEtfREVWX0lERVRBUEUgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9JREVGTE9QUFkgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9JREVTQ1NJIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lERV9UQVNLX0lPQ1RMIGlzIG5vdCBzZXQKLUNPTkZJR19JREVfUFJPQ19GUz15Ci0KLSMKLSMgSURFIGNoaXBzZXQgc3VwcG9ydC9idWdmaXhlcwotIwotIyBDT05GSUdfSURFX0dFTkVSSUMgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9JREVQQ0kgaXMgbm90IHNldAotIyBDT05GSUdfSURFUENJX1BDSUJVU19PUkRFUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19JREVfQVJNIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfSURFRE1BIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfSEQgaXMgbm90IHNldAorIyBDT05GSUdfTUlTQ19ERVZJQ0VTIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX0lERT15CisjIENPTkZJR19JREUgaXMgbm90IHNldAogCiAjCiAjIFNDU0kgZGV2aWNlIHN1cHBvcnQKQEAgLTQ5NCw4ICs1MDQsOSBAQAogQ09ORklHX0JMS19ERVZfU0Q9eQogIyBDT05GSUdfQ0hSX0RFVl9TVCBpcyBub3Qgc2V0CiAjIENPTkZJR19DSFJfREVWX09TU1QgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9TUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DSFJfREVWX1NHIGlzIG5vdCBzZXQKK0NPTkZJR19CTEtfREVWX1NSPW0KKyMgQ09ORklHX0JMS19ERVZfU1JfVkVORE9SIGlzIG5vdCBzZXQKK0NPTkZJR19DSFJfREVWX1NHPW0KICMgQ09ORklHX0NIUl9ERVZfU0NIIGlzIG5vdCBzZXQKIAogIwpAQCAtNTEzLDEyICs1MjQsOSBAQAogIyBDT05GSUdfU0NTSV9TUElfQVRUUlMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9GQ19BVFRSUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0lTQ1NJX0FUVFJTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfU0FTX0FUVFJTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfU0FTX0xJQlNBUyBpcyBub3Qgc2V0Ci0KLSMKLSMgU0NTSSBsb3ctbGV2ZWwgZHJpdmVycwotIworIyBDT05GSUdfU0NTSV9TUlBfQVRUUlMgaXMgbm90IHNldAorQ09ORklHX1NDU0lfTE9XTEVWRUw9eQogIyBDT05GSUdfSVNDU0lfVENQIGlzIG5vdCBzZXQKICMgQ09ORklHX0JMS19ERVZfM1dfWFhYWF9SQUlEIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfM1dfOVhYWCBpcyBub3Qgc2V0CkBAIC01MjksNiArNTM3LDcgQEAKICMgQ09ORklHX1NDU0lfQUlDNzlYWCBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0FJQzk0WFggaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9EUFRfSTJPIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfQURWQU5TWVMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9BUkNNU1IgaXMgbm90IHNldAogIyBDT05GSUdfTUVHQVJBSURfTkVXR0VOIGlzIG5vdCBzZXQKICMgQ09ORklHX01FR0FSQUlEX0xFR0FDWSBpcyBub3Qgc2V0CkBAIC01MzksOCArNTQ4LDEwIEBACiAjIENPTkZJR19TQ1NJX0lQUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0lOSVRJTyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0lOSUExMDAgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9NVlNBUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1NURVggaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9TWU01M0M4WFhfMiBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX0lQUiBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1FMT0dJQ18xMjgwIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfUUxBX0ZDIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfUUxBX0lTQ1NJIGlzIG5vdCBzZXQKQEAgLTU1MCwxNiArNTYxLDY4IEBACiAjIENPTkZJR19TQ1NJX05TUDMyIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfREVCVUcgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9TUlAgaXMgbm90IHNldAotIyBDT05GSUdfQVRBIGlzIG5vdCBzZXQKK0NPTkZJR19BVEE9eQorIyBDT05GSUdfQVRBX05PTlNUQU5EQVJEIGlzIG5vdCBzZXQKK0NPTkZJR19TQVRBX1BNUD15CisjIENPTkZJR19TQVRBX0FIQ0kgaXMgbm90IHNldAorIyBDT05GSUdfU0FUQV9TSUwyNCBpcyBub3Qgc2V0CitDT05GSUdfQVRBX1NGRj15CisjIENPTkZJR19TQVRBX1NWVyBpcyBub3Qgc2V0CisjIENPTkZJR19BVEFfUElJWCBpcyBub3Qgc2V0CitDT05GSUdfU0FUQV9NVj15CisjIENPTkZJR19TQVRBX05WIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BEQ19BRE1BIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBVEFfUVNUT1IgaXMgbm90IHNldAorIyBDT05GSUdfU0FUQV9QUk9NSVNFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBVEFfU1g0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBVEFfU0lMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBVEFfU0lTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBVEFfVUxJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBVEFfVklBIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBVEFfVklURVNTRSBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX0lOSUMxNjJYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfQUxJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfQU1EIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfQVJUT1AgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9BVElJWFAgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9DTUQ2NDBfUENJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfQ01ENjRYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfQ1M1NTIwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfQ1M1NTMwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfQ1lQUkVTUyBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0VGQVIgaXMgbm90IHNldAorIyBDT05GSUdfQVRBX0dFTkVSSUMgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9IUFQzNjYgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9IUFQzN1ggaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9IUFQzWDJOIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfSFBUM1gzIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfSVQ4MjFYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfSVQ4MjEzIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfSk1JQ1JPTiBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1RSSUZMRVggaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9NQVJWRUxMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfTVBJSVggaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9PTERQSUlYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfTkVUQ0VMTCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX05JTkpBMzIgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9OUzg3NDEwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfTlM4NzQxNSBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX09QVEkgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9PUFRJRE1BIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfUERDX09MRCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1JBRElTWVMgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9SWjEwMDAgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9TQzEyMDAgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9TRVJWRVJXT1JLUyBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1BEQzIwMjdYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfU0lMNjgwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfU0lTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfVklBIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfV0lOQk9ORCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1BMQVRGT1JNIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfU0NIIGlzIG5vdCBzZXQKICMgQ09ORklHX01EIGlzIG5vdCBzZXQKLQotIwotIyBGdXNpb24gTVBUIGRldmljZSBzdXBwb3J0Ci0jCiAjIENPTkZJR19GVVNJT04gaXMgbm90IHNldAotIyBDT05GSUdfRlVTSU9OX1NQSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19GVVNJT05fRkMgaXMgbm90IHNldAotIyBDT05GSUdfRlVTSU9OX1NBUyBpcyBub3Qgc2V0CiAKICMKICMgSUVFRSAxMzk0IChGaXJlV2lyZSkgc3VwcG9ydApAQCAtNTc0LDYgKzYzNyw3IEBACiAjIENPTkZJR19NQUNWTEFOIGlzIG5vdCBzZXQKICMgQ09ORklHX0VRVUFMSVpFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19UVU4gaXMgbm90IHNldAorIyBDT05GSUdfVkVUSCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNORVQgaXMgbm90IHNldAogIyBDT05GSUdfUEhZTElCIGlzIG5vdCBzZXQKIENPTkZJR19ORVRfRVRIRVJORVQ9eQpAQCAtNTg0LDI4ICs2NDgsMjggQEAKICMgQ09ORklHX0NBU1NJTkkgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX1ZFTkRPUl8zQ09NIGlzIG5vdCBzZXQKICMgQ09ORklHX1NNQzkxWCBpcyBub3Qgc2V0Ci1DT05GSUdfRE05MDAwPXkKLSMgQ09ORklHX1NNQzkxMVggaXMgbm90IHNldAorIyBDT05GSUdfRE05MDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VOQzI4SjYwIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9UVUxJUCBpcyBub3Qgc2V0CiAjIENPTkZJR19IUDEwMCBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfWk1JSSBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfUkdNSUkgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1RBSCBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfRU1BQzQgaXMgbm90IHNldAogQ09ORklHX05FVF9QQ0k9eQogIyBDT05GSUdfUENORVQzMiBpcyBub3Qgc2V0CiAjIENPTkZJR19BTUQ4MTExX0VUSCBpcyBub3Qgc2V0CiAjIENPTkZJR19BREFQVEVDX1NUQVJGSVJFIGlzIG5vdCBzZXQKICMgQ09ORklHX0I0NCBpcyBub3Qgc2V0CiAjIENPTkZJR19GT1JDRURFVEggaXMgbm90IHNldAotIyBDT05GSUdfREdSUyBpcyBub3Qgc2V0CiAjIENPTkZJR19FRVBSTzEwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19FMTAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZFQUxOWCBpcyBub3Qgc2V0CiAjIENPTkZJR19OQVRTRU1JIGlzIG5vdCBzZXQKICMgQ09ORklHX05FMktfUENJIGlzIG5vdCBzZXQKICMgQ09ORklHXzgxMzlDUCBpcyBub3Qgc2V0Ci1DT05GSUdfODEzOVRPTz1tCi0jIENPTkZJR184MTM5VE9PX1BJTyBpcyBub3Qgc2V0Ci0jIENPTkZJR184MTM5VE9PX1RVTkVfVFdJU1RFUiBpcyBub3Qgc2V0Ci0jIENPTkZJR184MTM5VE9PXzgxMjkgaXMgbm90IHNldAotIyBDT05GSUdfODEzOV9PTERfUlhfUkVTRVQgaXMgbm90IHNldAorIyBDT05GSUdfODEzOVRPTyBpcyBub3Qgc2V0CisjIENPTkZJR19SNjA0MCBpcyBub3Qgc2V0CiAjIENPTkZJR19TSVM5MDAgaXMgbm90IHNldAogIyBDT05GSUdfRVBJQzEwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19TVU5EQU5DRSBpcyBub3Qgc2V0CkBAIC02MTUsNyArNjc5LDEzIEBACiBDT05GSUdfTkVUREVWXzEwMDA9eQogIyBDT05GSUdfQUNFTklDIGlzIG5vdCBzZXQKICMgQ09ORklHX0RMMksgaXMgbm90IHNldAotIyBDT05GSUdfRTEwMDAgaXMgbm90IHNldAorQ09ORklHX0UxMDAwPXkKK0NPTkZJR19FMTAwMF9OQVBJPXkKKyMgQ09ORklHX0UxMDAwX0RJU0FCTEVfUEFDS0VUX1NQTElUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0UxMDAwRSBpcyBub3Qgc2V0CisjIENPTkZJR19FMTAwMEVfRU5BQkxFRCBpcyBub3Qgc2V0CisjIENPTkZJR19JUDEwMDAgaXMgbm90IHNldAorIyBDT05GSUdfSUdCIGlzIG5vdCBzZXQKICMgQ09ORklHX05TODM4MjAgaXMgbm90IHNldAogIyBDT05GSUdfSEFNQUNISSBpcyBub3Qgc2V0CiAjIENPTkZJR19ZRUxMT1dGSU4gaXMgbm90IHNldApAQCAtNjI2LDE2ICs2OTYsMTAgQEAKICMgQ09ORklHX1ZJQV9WRUxPQ0lUWSBpcyBub3Qgc2V0CiAjIENPTkZJR19USUdPTjMgaXMgbm90IHNldAogIyBDT05GSUdfQk5YMiBpcyBub3Qgc2V0CitDT05GSUdfTVY2NDNYWF9FVEg9eQogIyBDT05GSUdfUUxBM1hYWCBpcyBub3Qgc2V0CiAjIENPTkZJR19BVEwxIGlzIG5vdCBzZXQKLUNPTkZJR19ORVRERVZfMTAwMDA9eQotIyBDT05GSUdfQ0hFTFNJT19UMSBpcyBub3Qgc2V0Ci0jIENPTkZJR19DSEVMU0lPX1QzIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lYR0IgaXMgbm90IHNldAotIyBDT05GSUdfUzJJTyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NWVJJMTBHRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19ORVRYRU5fTklDIGlzIG5vdCBzZXQKLSMgQ09ORklHX01MWDRfQ09SRSBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRERVZfMTAwMDAgaXMgbm90IHNldAogIyBDT05GSUdfVFIgaXMgbm90IHNldAogCiAjCkBAIC02NDMsNiArNzA3LDcgQEAKICMKICMgQ09ORklHX1dMQU5fUFJFODAyMTEgaXMgbm90IHNldAogIyBDT05GSUdfV0xBTl84MDIxMSBpcyBub3Qgc2V0CisjIENPTkZJR19JV0xXSUZJX0xFRFMgaXMgbm90IHNldAogCiAjCiAjIFVTQiBOZXR3b3JrIEFkYXB0ZXJzCkBAIC02NTEsNyArNzE2LDYgQEAKICMgQ09ORklHX1VTQl9LQVdFVEggaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1BFR0FTVVMgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1JUTDgxNTAgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1VTQk5FVF9NSUkgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1VTQk5FVCBpcyBub3Qgc2V0CiAjIENPTkZJR19XQU4gaXMgbm90IHNldAogIyBDT05GSUdfRkRESSBpcyBub3Qgc2V0CkBAIC02NTksNyArNzIzLDYgQEAKICMgQ09ORklHX1BQUCBpcyBub3Qgc2V0CiAjIENPTkZJR19TTElQIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9GQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TSEFQRVIgaXMgbm90IHNldAogIyBDT05GSUdfTkVUQ09OU09MRSBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRQT0xMIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9QT0xMX0NPTlRST0xMRVIgaXMgbm90IHNldApAQCAtNjc1LDEwICs3MzgsMTIgQEAKICMKICMgVXNlcmxhbmQgaW50ZXJmYWNlcwogIwotIyBDT05GSUdfSU5QVVRfTU9VU0VERVYgaXMgbm90IHNldAorQ09ORklHX0lOUFVUX01PVVNFREVWPXkKK0NPTkZJR19JTlBVVF9NT1VTRURFVl9QU0FVWD15CitDT05GSUdfSU5QVVRfTU9VU0VERVZfU0NSRUVOX1g9MTAyNAorQ09ORklHX0lOUFVUX01PVVNFREVWX1NDUkVFTl9ZPTc2OAogIyBDT05GSUdfSU5QVVRfSk9ZREVWIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lOUFVUX1RTREVWIGlzIG5vdCBzZXQKLUNPTkZJR19JTlBVVF9FVkRFVj15CisjIENPTkZJR19JTlBVVF9FVkRFViBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9FVkJVRyBpcyBub3Qgc2V0CiAKICMKQEAgLTY4OCwxNiArNzUzLDcgQEAKICMgQ09ORklHX0lOUFVUX01PVVNFIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX0pPWVNUSUNLIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX1RBQkxFVCBpcyBub3Qgc2V0Ci1DT05GSUdfSU5QVVRfVE9VQ0hTQ1JFRU49eQotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fR1VOWkUgaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fRUxPIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX01UT1VDSCBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9NSzcxMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9QRU5NT1VOVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9UT1VDSFJJR0hUIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX1RPVUNIV0lOIGlzIG5vdCBzZXQKLUNPTkZJR19UT1VDSFNDUkVFTl9VQ0IxNDAwPW0KLSMgQ09ORklHX1RPVUNIU0NSRUVOX1VTQl9DT01QT1NJVEUgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfVE9VQ0hTQ1JFRU4gaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfTUlTQyBpcyBub3Qgc2V0CiAKICMKQEAgLTcwOSwyNzUgKzc2NSwxNTggQEAKICMKICMgQ2hhcmFjdGVyIGRldmljZXMKICMKLUNPTkZJR19WVD15Ci1DT05GSUdfVlRfQ09OU09MRT15Ci1DT05GSUdfSFdfQ09OU09MRT15Ci0jIENPTkZJR19WVF9IV19DT05TT0xFX0JJTkRJTkcgaXMgbm90IHNldAorIyBDT05GSUdfVlQgaXMgbm90IHNldAorIyBDT05GSUdfREVWS01FTSBpcyBub3Qgc2V0CiAjIENPTkZJR19TRVJJQUxfTk9OU1RBTkRBUkQgaXMgbm90IHNldAorIyBDT05GSUdfTk9aT01JIGlzIG5vdCBzZXQKIAogIwogIyBTZXJpYWwgZHJpdmVycwogIwotIyBDT05GSUdfU0VSSUFMXzgyNTAgaXMgbm90IHNldAorQ09ORklHX1NFUklBTF84MjUwPXkKK0NPTkZJR19TRVJJQUxfODI1MF9DT05TT0xFPXkKKyMgQ09ORklHX1NFUklBTF84MjUwX1BDSSBpcyBub3Qgc2V0CitDT05GSUdfU0VSSUFMXzgyNTBfTlJfVUFSVFM9NAorQ09ORklHX1NFUklBTF84MjUwX1JVTlRJTUVfVUFSVFM9MgorIyBDT05GSUdfU0VSSUFMXzgyNTBfRVhURU5ERUQgaXMgbm90IHNldAogCiAjCiAjIE5vbi04MjUwIHNlcmlhbCBwb3J0IHN1cHBvcnQKICMKLUNPTkZJR19TRVJJQUxfUFhBPXkKLUNPTkZJR19TRVJJQUxfUFhBX0NPTlNPTEU9eQogQ09ORklHX1NFUklBTF9DT1JFPXkKIENPTkZJR19TRVJJQUxfQ09SRV9DT05TT0xFPXkKICMgQ09ORklHX1NFUklBTF9KU00gaXMgbm90IHNldAogQ09ORklHX1VOSVg5OF9QVFlTPXkKIENPTkZJR19MRUdBQ1lfUFRZUz15Ci1DT05GSUdfTEVHQUNZX1BUWV9DT1VOVD0yNTYKK0NPTkZJR19MRUdBQ1lfUFRZX0NPVU5UPTE2CiAjIENPTkZJR19JUE1JX0hBTkRMRVIgaXMgbm90IHNldAotIyBDT05GSUdfV0FUQ0hET0cgaXMgbm90IHNldAotQ09ORklHX0hXX1JBTkRPTT1tCisjIENPTkZJR19IV19SQU5ET00gaXMgbm90IHNldAogIyBDT05GSUdfTlZSQU0gaXMgbm90IHNldAogIyBDT05GSUdfUjM5NjQgaXMgbm90IHNldAogIyBDT05GSUdfQVBQTElDT00gaXMgbm90IHNldAotIyBDT05GSUdfRFJNIGlzIG5vdCBzZXQKICMgQ09ORklHX1JBV19EUklWRVIgaXMgbm90IHNldAogIyBDT05GSUdfVENHX1RQTSBpcyBub3Qgc2V0CiBDT05GSUdfREVWUE9SVD15Ci0jIENPTkZJR19JMkMgaXMgbm90IHNldAorQ09ORklHX0kyQz15CitDT05GSUdfSTJDX0JPQVJESU5GTz15CitDT05GSUdfSTJDX0NIQVJERVY9eQogCiAjCi0jIFNQSSBzdXBwb3J0CisjIEkyQyBIYXJkd2FyZSBCdXMgc3VwcG9ydAogIwotIyBDT05GSUdfU1BJIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NQSV9NQVNURVIgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0FMSTE1MzUgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0FMSTE1NjMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0FMSTE1WDMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0FNRDc1NiBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfQU1EODExMSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfR1BJTyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfSTgwMSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfSTgxMCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfUElJWDQgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX05GT1JDRTIgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX09DT1JFUyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfUEFSUE9SVF9MSUdIVCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfUFJPU0FWQUdFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TQVZBR0U0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TSU1URUMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1NJUzU1OTUgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1NJUzYzMCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfU0lTOTZYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19UQU9TX0VWTSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfU1RVQiBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfVElOWV9VU0IgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1ZJQSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfVklBUFJPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19WT09ET08zIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19QQ0FfUExBVEZPUk0gaXMgbm90IHNldAorQ09ORklHX0kyQ19NVjY0WFhYPXkKKworIworIyBNaXNjZWxsYW5lb3VzIEkyQyBDaGlwIHN1cHBvcnQKKyMKKyMgQ09ORklHX0RTMTY4MiBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0VFUFJPTSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1BDRjg1NzQgaXMgbm90IHNldAorIyBDT05GSUdfUENGODU3NSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1BDRjg1OTEgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19NQVg2ODc1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfVFNMMjU1MCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQ09SRSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQUxHTyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQlVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ERUJVR19DSElQIGlzIG5vdCBzZXQKK0NPTkZJR19TUEk9eQorIyBDT05GSUdfU1BJX0RFQlVHIGlzIG5vdCBzZXQKK0NPTkZJR19TUElfTUFTVEVSPXkKKworIworIyBTUEkgTWFzdGVyIENvbnRyb2xsZXIgRHJpdmVycworIworIyBDT05GSUdfU1BJX0JJVEJBTkcgaXMgbm90IHNldAorQ09ORklHX1NQSV9PUklPTj15CisKKyMKKyMgU1BJIFByb3RvY29sIE1hc3RlcnMKKyMKKyMgQ09ORklHX1NQSV9BVDI1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQSV9TUElERVYgaXMgbm90IHNldAorIyBDT05GSUdfU1BJX1RMRTYyWDAgaXMgbm90IHNldAogIyBDT05GSUdfVzEgaXMgbm90IHNldAorIyBDT05GSUdfUE9XRVJfU1VQUExZIGlzIG5vdCBzZXQKICMgQ09ORklHX0hXTU9OIGlzIG5vdCBzZXQKLUNPTkZJR19NSVNDX0RFVklDRVM9eQotIyBDT05GSUdfUEhBTlRPTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19FRVBST01fOTNDWDYgaXMgbm90IHNldAotIyBDT05GSUdfU0dJX0lPQzQgaXMgbm90IHNldAotIyBDT05GSUdfVElGTV9DT1JFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1dBVENIRE9HIGlzIG5vdCBzZXQKKworIworIyBTb25pY3MgU2lsaWNvbiBCYWNrcGxhbmUKKyMKK0NPTkZJR19TU0JfUE9TU0lCTEU9eQorIyBDT05GSUdfU1NCIGlzIG5vdCBzZXQKIAogIwogIyBNdWx0aWZ1bmN0aW9uIGRldmljZSBkcml2ZXJzCiAjCiAjIENPTkZJR19NRkRfU001MDEgaXMgbm90IHNldAotCi0jCi0jIExFRCBkZXZpY2VzCi0jCi1DT05GSUdfTkVXX0xFRFM9eQotQ09ORklHX0xFRFNfQ0xBU1M9eQotCi0jCi0jIExFRCBkcml2ZXJzCi0jCi1DT05GSUdfTEVEU19DTV9YMjcwPXkKLQotIwotIyBMRUQgVHJpZ2dlcnMKLSMKLUNPTkZJR19MRURTX1RSSUdHRVJTPXkKLSMgQ09ORklHX0xFRFNfVFJJR0dFUl9USU1FUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19MRURTX1RSSUdHRVJfSURFX0RJU0sgaXMgbm90IHNldAotQ09ORklHX0xFRFNfVFJJR0dFUl9IRUFSVEJFQVQ9eQorIyBDT05GSUdfTUZEX0FTSUMzIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hUQ19QQVNJQzMgaXMgbm90IHNldAogCiAjCiAjIE11bHRpbWVkaWEgZGV2aWNlcwogIworCisjCisjIE11bHRpbWVkaWEgY29yZSBzdXBwb3J0CisjCiAjIENPTkZJR19WSURFT19ERVYgaXMgbm90IHNldAogIyBDT05GSUdfRFZCX0NPUkUgaXMgbm90IHNldAotQ09ORklHX0RBQj15Ci0jIENPTkZJR19VU0JfREFCVVNCIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJREVPX01FRElBIGlzIG5vdCBzZXQKKworIworIyBNdWx0aW1lZGlhIGRyaXZlcnMKKyMKKyMgQ09ORklHX0RBQiBpcyBub3Qgc2V0CiAKICMKICMgR3JhcGhpY3Mgc3VwcG9ydAogIworIyBDT05GSUdfRFJNIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZHQVNUQVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJREVPX09VVFBVVF9DT05UUk9MIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCIGlzIG5vdCBzZXQKICMgQ09ORklHX0JBQ0tMSUdIVF9MQ0RfU1VQUE9SVCBpcyBub3Qgc2V0CiAKICMKICMgRGlzcGxheSBkZXZpY2Ugc3VwcG9ydAogIwogIyBDT05GSUdfRElTUExBWV9TVVBQT1JUIGlzIG5vdCBzZXQKLSMgQ09ORklHX1ZHQVNUQVRFIGlzIG5vdCBzZXQKLUNPTkZJR19GQj15Ci0jIENPTkZJR19GSVJNV0FSRV9FRElEIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX0REQyBpcyBub3Qgc2V0Ci1DT05GSUdfRkJfQ0ZCX0ZJTExSRUNUPXkKLUNPTkZJR19GQl9DRkJfQ09QWUFSRUE9eQotQ09ORklHX0ZCX0NGQl9JTUFHRUJMSVQ9eQotIyBDT05GSUdfRkJfU1lTX0ZJTExSRUNUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1NZU19DT1BZQVJFQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9TWVNfSU1BR0VCTElUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1NZU19GT1BTIGlzIG5vdCBzZXQKLUNPTkZJR19GQl9ERUZFUlJFRF9JTz15Ci0jIENPTkZJR19GQl9TVkdBTElCIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX01BQ01PREVTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX0JBQ0tMSUdIVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9NT0RFX0hFTFBFUlMgaXMgbm90IHNldAotIyBDT05GSUdfRkJfVElMRUJMSVRUSU5HIGlzIG5vdCBzZXQKLQotIwotIyBGcmFtZSBidWZmZXIgaGFyZHdhcmUgZHJpdmVycwotIwotIyBDT05GSUdfRkJfQ0lSUlVTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1BNMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9DWUJFUjIwMDAgaXMgbm90IHNldAotIyBDT05GSUdfRkJfQVNJTElBTlQgaXMgbm90IHNldAotIyBDT05GSUdfRkJfSU1TVFQgaXMgbm90IHNldAotIyBDT05GSUdfRkJfUzFEMTNYWFggaXMgbm90IHNldAotIyBDT05GSUdfRkJfTlZJRElBIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1JJVkEgaXMgbm90IHNldAotIyBDT05GSUdfRkJfTUFUUk9YIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1JBREVPTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9BVFkxMjggaXMgbm90IHNldAotIyBDT05GSUdfRkJfQVRZIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1MzIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1NBVkFHRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9TSVMgaXMgbm90IHNldAotIyBDT05GSUdfRkJfTkVPTUFHSUMgaXMgbm90IHNldAotIyBDT05GSUdfRkJfS1lSTyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl8zREZYIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1ZPT0RPTzEgaXMgbm90IHNldAotIyBDT05GSUdfRkJfVlQ4NjIzIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1RSSURFTlQgaXMgbm90IHNldAotIyBDT05GSUdfRkJfQVJLIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1BNMyBpcyBub3Qgc2V0Ci1DT05GSUdfRkJfUFhBPXkKLSMgQ09ORklHX0ZCX1BYQV9QQVJBTUVURVJTIGlzIG5vdCBzZXQKLUNPTkZJR19GQl9NQlg9bQotIyBDT05GSUdfRkJfVklSVFVBTCBpcyBub3Qgc2V0Ci0KLSMKLSMgQ29uc29sZSBkaXNwbGF5IGRyaXZlciBzdXBwb3J0Ci0jCi0jIENPTkZJR19WR0FfQ09OU09MRSBpcyBub3Qgc2V0Ci1DT05GSUdfRFVNTVlfQ09OU09MRT15Ci1DT05GSUdfRlJBTUVCVUZGRVJfQ09OU09MRT15Ci0jIENPTkZJR19GUkFNRUJVRkZFUl9DT05TT0xFX0RFVEVDVF9QUklNQVJZIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZSQU1FQlVGRkVSX0NPTlNPTEVfUk9UQVRJT04gaXMgbm90IHNldAotIyBDT05GSUdfRk9OVFMgaXMgbm90IHNldAotQ09ORklHX0ZPTlRfOHg4PXkKLUNPTkZJR19GT05UXzh4MTY9eQotQ09ORklHX0xPR089eQotQ09ORklHX0xPR09fTElOVVhfTU9OTz15Ci1DT05GSUdfTE9HT19MSU5VWF9WR0ExNj15Ci1DT05GSUdfTE9HT19MSU5VWF9DTFVUMjI0PXkKIAogIwogIyBTb3VuZAogIwotQ09ORklHX1NPVU5EPW0KLQotIwotIyBBZHZhbmNlZCBMaW51eCBTb3VuZCBBcmNoaXRlY3R1cmUKLSMKLUNPTkZJR19TTkQ9bQotQ09ORklHX1NORF9USU1FUj1tCi1DT05GSUdfU05EX1BDTT1tCi0jIENPTkZJR19TTkRfU0VRVUVOQ0VSIGlzIG5vdCBzZXQKLUNPTkZJR19TTkRfT1NTRU1VTD15Ci1DT05GSUdfU05EX01JWEVSX09TUz1tCi1DT05GSUdfU05EX1BDTV9PU1M9bQotQ09ORklHX1NORF9QQ01fT1NTX1BMVUdJTlM9eQotIyBDT05GSUdfU05EX0RZTkFNSUNfTUlOT1JTIGlzIG5vdCBzZXQKLUNPTkZJR19TTkRfU1VQUE9SVF9PTERfQVBJPXkKLUNPTkZJR19TTkRfVkVSQk9TRV9QUk9DRlM9eQotIyBDT05GSUdfU05EX1ZFUkJPU0VfUFJJTlRLIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9ERUJVRyBpcyBub3Qgc2V0Ci0KLSMKLSMgR2VuZXJpYyBkZXZpY2VzCi0jCi1DT05GSUdfU05EX0FDOTdfQ09ERUM9bQotIyBDT05GSUdfU05EX0RVTU1ZIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9NVFBBViBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfU0VSSUFMX1UxNjU1MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfTVBVNDAxIGlzIG5vdCBzZXQKLQotIwotIyBQQ0kgZGV2aWNlcwotIwotIyBDT05GSUdfU05EX0FEMTg4OSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfQUxTMzAwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9BTEk1NDUxIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9BVElJWFAgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0FUSUlYUF9NT0RFTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfQVU4ODEwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9BVTg4MjAgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0FVODgzMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfQVpUMzMyOCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfQlQ4N1ggaXMgbm90IHNldAotIyBDT05GSUdfU05EX0NBMDEwNiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfQ01JUENJIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9DUzQyODEgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0NTNDZYWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfREFSTEEyMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfR0lOQTIwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9MQVlMQTIwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9EQVJMQTI0IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9HSU5BMjQgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0xBWUxBMjQgaXMgbm90IHNldAotIyBDT05GSUdfU05EX01PTkEgaXMgbm90IHNldAotIyBDT05GSUdfU05EX01JQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfRUNITzNHIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9JTkRJR08gaXMgbm90IHNldAotIyBDT05GSUdfU05EX0lORElHT0lPIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9JTkRJR09ESiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfRU1VMTBLMSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfRU1VMTBLMVggaXMgbm90IHNldAotIyBDT05GSUdfU05EX0VOUzEzNzAgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0VOUzEzNzEgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0VTMTkzOCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfRVMxOTY4IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9GTTgwMSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfSERBX0lOVEVMIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9IRFNQIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9IRFNQTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfSUNFMTcxMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfSUNFMTcyNCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfSU5URUw4WDAgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0lOVEVMOFgwTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfS09SRzEyMTIgaXMgbm90IHNldAotIyBDT05GSUdfU05EX01BRVNUUk8zIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9NSVhBUlQgaXMgbm90IHNldAotIyBDT05GSUdfU05EX05NMjU2IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9QQ1hIUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfUklQVElERSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfUk1FMzIgaXMgbm90IHNldAotIyBDT05GSUdfU05EX1JNRTk2IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9STUU5NjUyIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9TT05JQ1ZJQkVTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9UUklERU5UIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9WSUE4MlhYIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9WSUE4MlhYX01PREVNIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9WWDIyMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfWU1GUENJIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9BQzk3X1BPV0VSX1NBVkUgaXMgbm90IHNldAotCi0jCi0jIEFMU0EgQVJNIGRldmljZXMKLSMKLUNPTkZJR19TTkRfUFhBMlhYX1BDTT1tCi1DT05GSUdfU05EX1BYQTJYWF9BQzk3PW0KLQotIwotIyBVU0IgZGV2aWNlcwotIwotIyBDT05GSUdfU05EX1VTQl9BVURJTyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfVVNCX0NBSUFRIGlzIG5vdCBzZXQKLQotIwotIyBTeXN0ZW0gb24gQ2hpcCBhdWRpbyBzdXBwb3J0Ci0jCi0jIENPTkZJR19TTkRfU09DIGlzIG5vdCBzZXQKLQotIwotIyBPcGVuIFNvdW5kIFN5c3RlbQotIwotIyBDT05GSUdfU09VTkRfUFJJTUUgaXMgbm90IHNldAotQ09ORklHX0FDOTdfQlVTPW0KKyMgQ09ORklHX1NPVU5EIGlzIG5vdCBzZXQKIENPTkZJR19ISURfU1VQUE9SVD15CiBDT05GSUdfSElEPXkKICMgQ09ORklHX0hJRF9ERUJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19ISURSQVcgaXMgbm90IHNldAogCiAjCiAjIFVTQiBJbnB1dCBEZXZpY2VzCkBAIC05OTIsMjYgKzkzMSwyOCBAQAogQ09ORklHX1VTQl9BUkNIX0hBU19FSENJPXkKIENPTkZJR19VU0I9eQogIyBDT05GSUdfVVNCX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9BTk5PVU5DRV9ORVdfREVWSUNFUyBpcyBub3Qgc2V0CiAKICMKICMgTWlzY2VsbGFuZW91cyBVU0Igb3B0aW9ucwogIwogQ09ORklHX1VTQl9ERVZJQ0VGUz15Ci0jIENPTkZJR19VU0JfREVWSUNFX0NMQVNTIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfREVWSUNFX0NMQVNTPXkKICMgQ09ORklHX1VTQl9EWU5BTUlDX01JTk9SUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfU1VTUEVORCBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfUEVSU0lTVCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfT1RHIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9PVEdfV0hJVEVMSVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9PVEdfQkxBQ0tMSVNUX0hVQiBpcyBub3Qgc2V0CiAKICMKICMgVVNCIEhvc3QgQ29udHJvbGxlciBEcml2ZXJzCiAjCi0jIENPTkZJR19VU0JfRUhDSV9IQ0QgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0M2N1gwMF9IQ0QgaXMgbm90IHNldAorQ09ORklHX1VTQl9FSENJX0hDRD15CitDT05GSUdfVVNCX0VIQ0lfUk9PVF9IVUJfVFQ9eQorQ09ORklHX1VTQl9FSENJX1RUX05FV1NDSEVEPXkKICMgQ09ORklHX1VTQl9JU1AxMTZYX0hDRCBpcyBub3Qgc2V0Ci1DT05GSUdfVVNCX09IQ0lfSENEPXkKLSMgQ09ORklHX1VTQl9PSENJX0JJR19FTkRJQU5fREVTQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfT0hDSV9CSUdfRU5ESUFOX01NSU8gaXMgbm90IHNldAotQ09ORklHX1VTQl9PSENJX0xJVFRMRV9FTkRJQU49eQorIyBDT05GSUdfVVNCX0lTUDE3NjBfSENEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9PSENJX0hDRCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfVUhDSV9IQ0QgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NMODExX0hDRCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfUjhBNjY1OTdfSENEIGlzIG5vdCBzZXQKQEAgLTEwMjAsNyArOTYxLDggQEAKICMgVVNCIERldmljZSBDbGFzcyBkcml2ZXJzCiAjCiAjIENPTkZJR19VU0JfQUNNIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9QUklOVEVSIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfUFJJTlRFUj15CisjIENPTkZJR19VU0JfV0RNIGlzIG5vdCBzZXQKIAogIwogIyBOT1RFOiBVU0JfU1RPUkFHRSBlbmFibGVzIFNDU0ksIGFuZCAnU0NTSSBkaXNrIHN1cHBvcnQnCkBAIC0xMDMxLDE1ICs5NzMsMTggQEAKICMKIENPTkZJR19VU0JfU1RPUkFHRT15CiAjIENPTkZJR19VU0JfU1RPUkFHRV9ERUJVRyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfU1RPUkFHRV9EQVRBRkFCIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9TVE9SQUdFX0ZSRUVDT00gaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1NUT1JBR0VfRFBDTSBpcyBub3Qgc2V0CitDT05GSUdfVVNCX1NUT1JBR0VfREFUQUZBQj15CitDT05GSUdfVVNCX1NUT1JBR0VfRlJFRUNPTT15CisjIENPTkZJR19VU0JfU1RPUkFHRV9JU0QyMDAgaXMgbm90IHNldAorQ09ORklHX1VTQl9TVE9SQUdFX0RQQ009eQogIyBDT05GSUdfVVNCX1NUT1JBR0VfVVNCQVQgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1NUT1JBR0VfU0REUjA5IGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9TVE9SQUdFX1NERFI1NSBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfU1RPUkFHRV9KVU1QU0hPVCBpcyBub3Qgc2V0CitDT05GSUdfVVNCX1NUT1JBR0VfU0REUjA5PXkKK0NPTkZJR19VU0JfU1RPUkFHRV9TRERSNTU9eQorQ09ORklHX1VTQl9TVE9SQUdFX0pVTVBTSE9UPXkKICMgQ09ORklHX1VTQl9TVE9SQUdFX0FMQVVEQSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1RPUkFHRV9PTkVUT1VDSCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9LQVJNQSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1RPUkFHRV9DWVBSRVNTX0FUQUNCIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9MSUJVU1VBTCBpcyBub3Qgc2V0CiAKICMKQEAgLTEwNDcsMTUgKzk5MiwxMSBAQAogIwogIyBDT05GSUdfVVNCX01EQzgwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfTUlDUk9URUsgaXMgbm90IHNldAotQ09ORklHX1VTQl9NT049eQorIyBDT05GSUdfVVNCX01PTiBpcyBub3Qgc2V0CiAKICMKICMgVVNCIHBvcnQgZHJpdmVycwogIwotCi0jCi0jIFVTQiBTZXJpYWwgQ29udmVydGVyIHN1cHBvcnQKLSMKICMgQ09ORklHX1VTQl9TRVJJQUwgaXMgbm90IHNldAogCiAjCkBAIC0xMDc2LDQzICsxMDE3LDI3IEBACiAjIENPTkZJR19VU0JfSURNT1VTRSBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfRlRESV9FTEFOIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9BUFBMRURJU1BMQVkgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NJU1VTQlZHQSBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfTEQgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1RSQU5DRVZJQlJBVE9SIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9JT1dBUlJJT1IgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1RFU1QgaXMgbm90IHNldAotCi0jCi0jIFVTQiBEU0wgbW9kZW0gc3VwcG9ydAotIwotCi0jCi0jIFVTQiBHYWRnZXQgU3VwcG9ydAotIworIyBDT05GSUdfVVNCX0lTSUdIVEZXIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9HQURHRVQgaXMgbm90IHNldAotQ09ORklHX01NQz1tCi0jIENPTkZJR19NTUNfREVCVUcgaXMgbm90IHNldAotIyBDT05GSUdfTU1DX1VOU0FGRV9SRVNVTUUgaXMgbm90IHNldAorIyBDT05GSUdfTU1DIGlzIG5vdCBzZXQKK0NPTkZJR19ORVdfTEVEUz15CisjIENPTkZJR19MRURTX0NMQVNTIGlzIG5vdCBzZXQKIAogIwotIyBNTUMvU0QgQ2FyZCBEcml2ZXJzCisjIExFRCBkcml2ZXJzCiAjCi1DT05GSUdfTU1DX0JMT0NLPW0KLUNPTkZJR19NTUNfQkxPQ0tfQk9VTkNFPXkKIAogIwotIyBNTUMvU0QgSG9zdCBDb250cm9sbGVyIERyaXZlcnMKKyMgTEVEIFRyaWdnZXJzCiAjCi1DT05GSUdfTU1DX1BYQT1tCi0jIENPTkZJR19NTUNfU0RIQ0kgaXMgbm90IHNldAotIyBDT05GSUdfTU1DX1RJRk1fU0QgaXMgbm90IHNldAotCi0jCi0jIFJlYWwgVGltZSBDbG9jawotIworIyBDT05GSUdfTEVEU19UUklHR0VSUyBpcyBub3Qgc2V0CiBDT05GSUdfUlRDX0xJQj15CiBDT05GSUdfUlRDX0NMQVNTPXkKLUNPTkZJR19SVENfSENUT1NZUz15Ci1DT05GSUdfUlRDX0hDVE9TWVNfREVWSUNFPSJydGMwIgogIyBDT05GSUdfUlRDX0RFQlVHIGlzIG5vdCBzZXQKIAogIwpAQCAtMTEyNSwzMiArMTA1MCw1NiBAQAogIyBDT05GSUdfUlRDX0RSVl9URVNUIGlzIG5vdCBzZXQKIAogIworIyBJMkMgUlRDIGRyaXZlcnMKKyMKKyMgQ09ORklHX1JUQ19EUlZfRFMxMzA3IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfRFMxMzc0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfRFMxNjcyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfTUFYNjkwMCBpcyBub3Qgc2V0CitDT05GSUdfUlRDX0RSVl9NVj15CisjIENPTkZJR19SVENfRFJWX1JTNUMzNzIgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9JU0wxMjA4IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfWDEyMDUgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9QQ0Y4NTYzIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUENGODU4MyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX000MVQ4MCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1MzNTM5MEEgaXMgbm90IHNldAorCisjCisjIFNQSSBSVEMgZHJpdmVycworIworIyBDT05GSUdfUlRDX0RSVl9NQVg2OTAyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUjk3MDEgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9SUzVDMzQ4IGlzIG5vdCBzZXQKKworIwogIyBQbGF0Zm9ybSBSVEMgZHJpdmVycwogIwogIyBDT05GSUdfUlRDX0RSVl9DTU9TIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfRFMxNTExIGlzIG5vdCBzZXQKICMgQ09ORklHX1JUQ19EUlZfRFMxNTUzIGlzIG5vdCBzZXQKICMgQ09ORklHX1JUQ19EUlZfRFMxNzQyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfU1RLMTdUQTggaXMgbm90IHNldAogIyBDT05GSUdfUlRDX0RSVl9NNDhUODYgaXMgbm90IHNldAogIyBDT05GSUdfUlRDX0RSVl9NNDhUNTkgaXMgbm90IHNldAotQ09ORklHX1JUQ19EUlZfVjMwMjA9eQorIyBDT05GSUdfUlRDX0RSVl9WMzAyMCBpcyBub3Qgc2V0CiAKICMKICMgb24tQ1BVIFJUQyBkcml2ZXJzCiAjCi1DT05GSUdfUlRDX0RSVl9TQTExMDA9eQotCi0jCi0jIERNQSBFbmdpbmUgc3VwcG9ydAotIwotIyBDT05GSUdfRE1BX0VOR0lORSBpcyBub3Qgc2V0Ci0KLSMKLSMgRE1BIENsaWVudHMKLSMKK0NPTkZJR19ETUFERVZJQ0VTPXkKIAogIwogIyBETUEgRGV2aWNlcwogIworQ09ORklHX01WX1hPUj15CitDT05GSUdfRE1BX0VOR0lORT15CisKKyMKKyMgRE1BIENsaWVudHMKKyMKKyMgQ09ORklHX05FVF9ETUEgaXMgbm90IHNldAorIyBDT05GSUdfVUlPIGlzIG5vdCBzZXQKIAogIwogIyBGaWxlIHN5c3RlbXMKQEAgLTExNTksMjUgKzExMDgsMjIgQEAKICMgQ09ORklHX0VYVDJfRlNfWEFUVFIgaXMgbm90IHNldAogIyBDT05GSUdfRVhUMl9GU19YSVAgaXMgbm90IHNldAogQ09ORklHX0VYVDNfRlM9eQotQ09ORklHX0VYVDNfRlNfWEFUVFI9eQotIyBDT05GSUdfRVhUM19GU19QT1NJWF9BQ0wgaXMgbm90IHNldAotIyBDT05GSUdfRVhUM19GU19TRUNVUklUWSBpcyBub3Qgc2V0CisjIENPTkZJR19FWFQzX0ZTX1hBVFRSIGlzIG5vdCBzZXQKICMgQ09ORklHX0VYVDRERVZfRlMgaXMgbm90IHNldAogQ09ORklHX0pCRD15Ci0jIENPTkZJR19KQkRfREVCVUcgaXMgbm90IHNldAotQ09ORklHX0ZTX01CQ0FDSEU9eQogIyBDT05GSUdfUkVJU0VSRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfSkZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19YRlNfRlMgaXMgbm90IHNldAotIyBDT05GSUdfR0ZTMl9GUyBpcyBub3Qgc2V0CitDT05GSUdfWEZTX0ZTPXkKKyMgQ09ORklHX1hGU19RVU9UQSBpcyBub3Qgc2V0CisjIENPTkZJR19YRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1hGU19SVCBpcyBub3Qgc2V0CisjIENPTkZJR19YRlNfREVCVUcgaXMgbm90IHNldAogIyBDT05GSUdfT0NGUzJfRlMgaXMgbm90IHNldAotIyBDT05GSUdfTUlOSVhfRlMgaXMgbm90IHNldAotIyBDT05GSUdfUk9NRlNfRlMgaXMgbm90IHNldAorQ09ORklHX0ROT1RJRlk9eQogQ09ORklHX0lOT1RJRlk9eQogQ09ORklHX0lOT1RJRllfVVNFUj15CiAjIENPTkZJR19RVU9UQSBpcyBub3Qgc2V0Ci1DT05GSUdfRE5PVElGWT15CiAjIENPTkZJR19BVVRPRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQVVUT0ZTNF9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19GVVNFX0ZTIGlzIG5vdCBzZXQKQEAgLTExODUsOCArMTEzMSwxMSBAQAogIwogIyBDRC1ST00vRFZEIEZpbGVzeXN0ZW1zCiAjCi0jIENPTkZJR19JU085NjYwX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VERl9GUyBpcyBub3Qgc2V0CitDT05GSUdfSVNPOTY2MF9GUz15CitDT05GSUdfSk9MSUVUPXkKKyMgQ09ORklHX1pJU09GUyBpcyBub3Qgc2V0CitDT05GSUdfVURGX0ZTPW0KK0NPTkZJR19VREZfTkxTPXkKIAogIwogIyBET1MvRkFUL05UIEZpbGVzeXN0ZW1zCkBAIC0xMjA3LDcgKzExNTYsNiBAQAogQ09ORklHX1RNUEZTPXkKICMgQ09ORklHX1RNUEZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0CiAjIENPTkZJR19IVUdFVExCX1BBR0UgaXMgbm90IHNldAotQ09ORklHX1JBTUZTPXkKICMgQ09ORklHX0NPTkZJR0ZTX0ZTIGlzIG5vdCBzZXQKIAogIwpAQCAtMTIyMCwyMiArMTE2OCwzMCBAQAogIyBDT05GSUdfQkVGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19CRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfRUZTX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0pGRlMyX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSQU1GUyBpcyBub3Qgc2V0CitDT05GSUdfSkZGUzJfRlM9eQorQ09ORklHX0pGRlMyX0ZTX0RFQlVHPTAKK0NPTkZJR19KRkZTMl9GU19XUklURUJVRkZFUj15CisjIENPTkZJR19KRkZTMl9GU19XQlVGX1ZFUklGWSBpcyBub3Qgc2V0CisjIENPTkZJR19KRkZTMl9TVU1NQVJZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pGRlMyX0ZTX1hBVFRSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pGRlMyX0NPTVBSRVNTSU9OX09QVElPTlMgaXMgbm90IHNldAorQ09ORklHX0pGRlMyX1pMSUI9eQorIyBDT05GSUdfSkZGUzJfTFpPIGlzIG5vdCBzZXQKK0NPTkZJR19KRkZTMl9SVElNRT15CisjIENPTkZJR19KRkZTMl9SVUJJTiBpcyBub3Qgc2V0CitDT05GSUdfQ1JBTUZTPXkKICMgQ09ORklHX1ZYRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfTUlOSVhfRlMgaXMgbm90IHNldAogIyBDT05GSUdfSFBGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19RTlg0RlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfUk9NRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfU1lTVl9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19VRlNfRlMgaXMgbm90IHNldAotCi0jCi0jIE5ldHdvcmsgRmlsZSBTeXN0ZW1zCi0jCitDT05GSUdfTkVUV09SS19GSUxFU1lTVEVNUz15CiBDT05GSUdfTkZTX0ZTPXkKIENPTkZJR19ORlNfVjM9eQogIyBDT05GSUdfTkZTX1YzX0FDTCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORlNfVjQgaXMgbm90IHNldAotIyBDT05GSUdfTkZTX0RJUkVDVElPIGlzIG5vdCBzZXQKICMgQ09ORklHX05GU0QgaXMgbm90IHNldAogQ09ORklHX1JPT1RfTkZTPXkKIENPTkZJR19MT0NLRD15CkBAIC0xMjQ1LDggKzEyMDEsNyBAQAogIyBDT05GSUdfU1VOUlBDX0JJTkQzNCBpcyBub3Qgc2V0CiAjIENPTkZJR19SUENTRUNfR1NTX0tSQjUgaXMgbm90IHNldAogIyBDT05GSUdfUlBDU0VDX0dTU19TUEtNMyBpcyBub3Qgc2V0Ci1DT05GSUdfU01CX0ZTPXkKLSMgQ09ORklHX1NNQl9OTFNfREVGQVVMVCBpcyBub3Qgc2V0CisjIENPTkZJR19TTUJfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQ0lGUyBpcyBub3Qgc2V0CiAjIENPTkZJR19OQ1BfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQ09EQV9GUyBpcyBub3Qgc2V0CkBAIC0xMjU1LDE4ICsxMjEwLDMwIEBACiAjCiAjIFBhcnRpdGlvbiBUeXBlcwogIwotIyBDT05GSUdfUEFSVElUSU9OX0FEVkFOQ0VEIGlzIG5vdCBzZXQKK0NPTkZJR19QQVJUSVRJT05fQURWQU5DRUQ9eQorIyBDT05GSUdfQUNPUk5fUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX09TRl9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfQU1JR0FfUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUQVJJX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19NQUNfUEFSVElUSU9OIGlzIG5vdCBzZXQKIENPTkZJR19NU0RPU19QQVJUSVRJT049eQotCi0jCi0jIE5hdGl2ZSBMYW5ndWFnZSBTdXBwb3J0Ci0jCisjIENPTkZJR19CU0RfRElTS0xBQkVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX01JTklYX1NVQlBBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19TT0xBUklTX1g4Nl9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfVU5JWFdBUkVfRElTS0xBQkVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xETV9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfU0dJX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19VTFRSSVhfUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NVTl9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfS0FSTUFfUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VGSV9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfU1lTVjY4X1BBUlRJVElPTiBpcyBub3Qgc2V0CiBDT05GSUdfTkxTPXkKIENPTkZJR19OTFNfREVGQVVMVD0iaXNvODg1OS0xIgogQ09ORklHX05MU19DT0RFUEFHRV80Mzc9eQogIyBDT05GSUdfTkxTX0NPREVQQUdFXzczNyBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfNzc1IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV84NTAgaXMgbm90IHNldAorQ09ORklHX05MU19DT0RFUEFHRV84NTA9eQogIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1MiBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfODU1IGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19DT0RFUEFHRV84NTcgaXMgbm90IHNldApAQCAtMTI4OCw3ICsxMjU1LDcgQEAKICMgQ09ORklHX05MU19DT0RFUEFHRV8xMjUxIGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19BU0NJSSBpcyBub3Qgc2V0CiBDT05GSUdfTkxTX0lTTzg4NTlfMT15Ci0jIENPTkZJR19OTFNfSVNPODg1OV8yIGlzIG5vdCBzZXQKK0NPTkZJR19OTFNfSVNPODg1OV8yPXkKICMgQ09ORklHX05MU19JU084ODU5XzMgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0lTTzg4NTlfNCBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfSVNPODg1OV81IGlzIG5vdCBzZXQKQEAgLTEzMDAsNTMgKzEyNjcsNTcgQEAKICMgQ09ORklHX05MU19JU084ODU5XzE1IGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19LT0k4X1IgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0tPSThfVSBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfVVRGOCBpcyBub3Qgc2V0Ci0KLSMKLSMgRGlzdHJpYnV0ZWQgTG9jayBNYW5hZ2VyCi0jCitDT05GSUdfTkxTX1VURjg9eQogIyBDT05GSUdfRExNIGlzIG5vdCBzZXQKIAogIwotIyBQcm9maWxpbmcgc3VwcG9ydAotIwotIyBDT05GSUdfUFJPRklMSU5HIGlzIG5vdCBzZXQKLQotIwogIyBLZXJuZWwgaGFja2luZwogIwogIyBDT05GSUdfUFJJTlRLX1RJTUUgaXMgbm90IHNldAorQ09ORklHX0VOQUJMRV9XQVJOX0RFUFJFQ0FURUQ9eQogQ09ORklHX0VOQUJMRV9NVVNUX0NIRUNLPXkKK0NPTkZJR19GUkFNRV9XQVJOPTEwMjQKIENPTkZJR19NQUdJQ19TWVNSUT15CiAjIENPTkZJR19VTlVTRURfU1lNQk9MUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19IRUFERVJTX0NIRUNLIGlzIG5vdCBzZXQKIENPTkZJR19ERUJVR19LRVJORUw9eQogIyBDT05GSUdfREVCVUdfU0hJUlEgaXMgbm90IHNldAotIyBDT05GSUdfREVURUNUX1NPRlRMT0NLVVAgaXMgbm90IHNldAotQ09ORklHX1NDSEVEX0RFQlVHPXkKK0NPTkZJR19ERVRFQ1RfU09GVExPQ0tVUD15CisjIENPTkZJR19TQ0hFRF9ERUJVRyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ0hFRFNUQVRTIGlzIG5vdCBzZXQKICMgQ09ORklHX1RJTUVSX1NUQVRTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX09CSkVDVFMgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfU0xBQiBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19QUkVFTVBUIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX1JUX01VVEVYRVMgaXMgbm90IHNldAogIyBDT05GSUdfUlRfTVVURVhfVEVTVEVSIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX1NQSU5MT0NLIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX01VVEVYRVMgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfTE9DS19BTExPQyBpcyBub3Qgc2V0CiAjIENPTkZJR19QUk9WRV9MT0NLSU5HIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xPQ0tfU1RBVCBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19TUElOTE9DS19TTEVFUCBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19MT0NLSU5HX0FQSV9TRUxGVEVTVFMgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfS09CSkVDVCBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19CVUdWRVJCT1NFIGlzIG5vdCBzZXQKIENPTkZJR19ERUJVR19JTkZPPXkKICMgQ09ORklHX0RFQlVHX1ZNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX1dSSVRFQ09VTlQgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfTElTVCBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19TRyBpcyBub3Qgc2V0CiBDT05GSUdfRlJBTUVfUE9JTlRFUj15Ci1DT05GSUdfRk9SQ0VEX0lOTElOSU5HPXkKKyMgQ09ORklHX0JPT1RfUFJJTlRLX0RFTEFZIGlzIG5vdCBzZXQKICMgQ09ORklHX1JDVV9UT1JUVVJFX1RFU1QgaXMgbm90IHNldAorIyBDT05GSUdfS1BST0JFU19TQU5JVFlfVEVTVCBpcyBub3Qgc2V0CisjIENPTkZJR19CQUNLVFJBQ0VfU0VMRl9URVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xLRFRNIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZBVUxUX0lOSkVDVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19MQVRFTkNZVE9QIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBTVBMRVMgaXMgbm90IHNldAogQ09ORklHX0RFQlVHX1VTRVI9eQogQ09ORklHX0RFQlVHX0VSUk9SUz15CisjIENPTkZJR19ERUJVR19TVEFDS19VU0FHRSBpcyBub3Qgc2V0CiBDT05GSUdfREVCVUdfTEw9eQogIyBDT05GSUdfREVCVUdfSUNFRENDIGlzIG5vdCBzZXQKIApAQCAtMTM1NSw1NSArMTMyNiwxMDAgQEAKICMKICMgQ09ORklHX0tFWVMgaXMgbm90IHNldAogIyBDT05GSUdfU0VDVVJJVFkgaXMgbm90IHNldAorIyBDT05GSUdfU0VDVVJJVFlfRklMRV9DQVBBQklMSVRJRVMgaXMgbm90IHNldAorQ09ORklHX0FTWU5DX0NPUkU9eQogQ09ORklHX0NSWVBUTz15CisKKyMKKyMgQ3J5cHRvIGNvcmUgb3IgaGVscGVyCisjCiBDT05GSUdfQ1JZUFRPX0FMR0FQST1tCiBDT05GSUdfQ1JZUFRPX0JMS0NJUEhFUj1tCiBDT05GSUdfQ1JZUFRPX01BTkFHRVI9bQorIyBDT05GSUdfQ1JZUFRPX0dGMTI4TVVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19OVUxMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DUllQVEQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0FVVEhFTkMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1RFU1QgaXMgbm90IHNldAorCisjCisjIEF1dGhlbnRpY2F0ZWQgRW5jcnlwdGlvbiB3aXRoIEFzc29jaWF0ZWQgRGF0YQorIworIyBDT05GSUdfQ1JZUFRPX0NDTSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fR0NNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TRVFJViBpcyBub3Qgc2V0CisKKyMKKyMgQmxvY2sgbW9kZXMKKyMKK0NPTkZJR19DUllQVE9fQ0JDPW0KKyMgQ09ORklHX0NSWVBUT19DVFIgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NUUyBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX0VDQj1tCisjIENPTkZJR19DUllQVE9fTFJXIGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fUENCQz1tCisjIENPTkZJR19DUllQVE9fWFRTIGlzIG5vdCBzZXQKKworIworIyBIYXNoIG1vZGVzCisjCiAjIENPTkZJR19DUllQVE9fSE1BQyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fWENCQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fTlVMTCBpcyBub3Qgc2V0CisKKyMKKyMgRGlnZXN0CisjCisjIENPTkZJR19DUllQVE9fQ1JDMzJDIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19NRDQgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX01ENSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fTUlDSEFFTF9NSUMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1NIQTEgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1NIQTI1NiBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fU0hBNTEyIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19XUDUxMiBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fVEdSMTkyIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19HRjEyOE1VTCBpcyBub3Qgc2V0Ci1DT05GSUdfQ1JZUFRPX0VDQj1tCi1DT05GSUdfQ1JZUFRPX0NCQz1tCi1DT05GSUdfQ1JZUFRPX1BDQkM9bQotIyBDT05GSUdfQ1JZUFRPX0xSVyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQ1JZUFREIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19ERVMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0ZDUllQVCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fV1A1MTIgaXMgbm90IHNldAorCisjCisjIENpcGhlcnMKKyMKKyMgQ09ORklHX0NSWVBUT19BRVMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0FOVUJJUyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQVJDNCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fQkxPV0ZJU0ggaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1RXT0ZJU0ggaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1NFUlBFTlQgaXMgbm90IHNldAotQ09ORklHX0NSWVBUT19BRVM9bQorIyBDT05GSUdfQ1JZUFRPX0NBTUVMTElBIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19DQVNUNSBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fQ0FTVDYgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1RFQSBpcyBub3Qgc2V0Ci1DT05GSUdfQ1JZUFRPX0FSQzQ9bQorIyBDT05GSUdfQ1JZUFRPX0RFUyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fRkNSWVBUIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19LSEFaQUQgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0FOVUJJUyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0FMU0EyMCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0VFRCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0VSUEVOVCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fVEVBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19UV09GSVNIIGlzIG5vdCBzZXQKKworIworIyBDb21wcmVzc2lvbgorIwogIyBDT05GSUdfQ1JZUFRPX0RFRkxBVEUgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX01JQ0hBRUxfTUlDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19DUkMzMkMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0NBTUVMTElBIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19URVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19MWk8gaXMgbm90IHNldAogQ09ORklHX0NSWVBUT19IVz15CisjIENPTkZJR19DUllQVE9fREVWX0hJRk5fNzk1WCBpcyBub3Qgc2V0CiAKICMKICMgTGlicmFyeSByb3V0aW5lcwogIwogQ09ORklHX0JJVFJFVkVSU0U9eQotIyBDT05GSUdfQ1JDX0NDSVRUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSQzE2IGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSQ19JVFVfVCBpcyBub3Qgc2V0CisjIENPTkZJR19HRU5FUklDX0ZJTkRfRklSU1RfQklUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0dFTkVSSUNfRklORF9ORVhUX0JJVCBpcyBub3Qgc2V0CitDT05GSUdfQ1JDX0NDSVRUPXkKK0NPTkZJR19DUkMxNj15CitDT05GSUdfQ1JDX0lUVV9UPW0KIENPTkZJR19DUkMzMj15CiAjIENPTkZJR19DUkM3IGlzIG5vdCBzZXQKLSMgQ09ORklHX0xJQkNSQzMyQyBpcyBub3Qgc2V0CitDT05GSUdfTElCQ1JDMzJDPXkKK0NPTkZJR19aTElCX0lORkxBVEU9eQorQ09ORklHX1pMSUJfREVGTEFURT15CiBDT05GSUdfUExJU1Q9eQogQ09ORklHX0hBU19JT01FTT15CiBDT05GSUdfSEFTX0lPUE9SVD15CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL2tzODY5NV9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL2tzODY5NV9kZWZjb25maWcKaW5kZXggOGFiMjFhMC4uNjA3N2YyYyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9rczg2OTVfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3Mva3M4Njk1X2RlZmNvbmZpZwpAQCAtMTc0LDcgKzE3NCw2IEBACiAjIEtlcm5lbCBGZWF0dXJlcwogIwogIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19IWj0xMDAKICMgQ09ORklHX0FFQUJJIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL2VtX3gyNzBfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9sb2tpX2RlZmNvbmZpZwpzaW1pbGFyaXR5IGluZGV4IDY1JQpjb3B5IGZyb20gYXJjaC9hcm0vY29uZmlncy9lbV94MjcwX2RlZmNvbmZpZwpjb3B5IHRvIGFyY2gvYXJtL2NvbmZpZ3MvbG9raV9kZWZjb25maWcKaW5kZXggNmJlYTA5MC4uMTdkYTdjMyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9lbV94MjcwX2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL2xva2lfZGVmY29uZmlnCkBAIC0xLDE3ICsxLDE4IEBACiAjCiAjIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIG1ha2UgY29uZmlnOiBkb24ndCBlZGl0Ci0jIExpbnV4IGtlcm5lbCB2ZXJzaW9uOiAyLjYuMjIKLSMgTW9uIEp1bCAgOSAxNToxODoyMCAyMDA3CisjIExpbnV4IGtlcm5lbCB2ZXJzaW9uOiAyLjYuMjYtcmM1CisjIEZyaSBKdW4gMTMgMDM6MDc6NDkgMjAwOAogIwogQ09ORklHX0FSTT15CiBDT05GSUdfU1lTX1NVUFBPUlRTX0FQTV9FTVVMQVRJT049eQotQ09ORklHX0dFTkVSSUNfR1BJTz15CisjIENPTkZJR19HRU5FUklDX0dQSU8gaXMgbm90IHNldAogQ09ORklHX0dFTkVSSUNfVElNRT15Ci0jIENPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTIGlzIG5vdCBzZXQKK0NPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTPXkKIENPTkZJR19NTVU9eQogIyBDT05GSUdfTk9fSU9QT1JUIGlzIG5vdCBzZXQKIENPTkZJR19HRU5FUklDX0hBUkRJUlFTPXkKIENPTkZJR19TVEFDS1RSQUNFX1NVUFBPUlQ9eQorQ09ORklHX0hBVkVfTEFURU5DWVRPUF9TVVBQT1JUPXkKIENPTkZJR19MT0NLREVQX1NVUFBPUlQ9eQogQ09ORklHX1RSQUNFX0lSUUZMQUdTX1NVUFBPUlQ9eQogQ09ORklHX0hBUkRJUlFTX1NXX1JFU0VORD15CkBAIC0yMSw1MSArMjIsNDggQEAKICMgQ09ORklHX0FSQ0hfSEFTX0lMT0cyX1U2NCBpcyBub3Qgc2V0CiBDT05GSUdfR0VORVJJQ19IV0VJR0hUPXkKIENPTkZJR19HRU5FUklDX0NBTElCUkFURV9ERUxBWT15CitDT05GSUdfQVJDSF9TVVBQT1JUU19BT1VUPXkKIENPTkZJR19aT05FX0RNQT15Ci1DT05GSUdfQVJDSF9NVERfWElQPXkKIENPTkZJR19WRUNUT1JTX0JBU0U9MHhmZmZmMDAwMAogQ09ORklHX0RFRkNPTkZJR19MSVNUPSIvbGliL21vZHVsZXMvJFVOQU1FX1JFTEVBU0UvLmNvbmZpZyIKIAogIwotIyBDb2RlIG1hdHVyaXR5IGxldmVsIG9wdGlvbnMKKyMgR2VuZXJhbCBzZXR1cAogIwogQ09ORklHX0VYUEVSSU1FTlRBTD15CiBDT05GSUdfQlJPS0VOX09OX1NNUD15CitDT05GSUdfTE9DS19LRVJORUw9eQogQ09ORklHX0lOSVRfRU5WX0FSR19MSU1JVD0zMgotCi0jCi0jIEdlbmVyYWwgc2V0dXAKLSMKLUNPTkZJR19MT0NBTFZFUlNJT049Ii1lbS14MjcwIgotIyBDT05GSUdfTE9DQUxWRVJTSU9OX0FVVE8gaXMgbm90IHNldAorQ09ORklHX0xPQ0FMVkVSU0lPTj0iIgorQ09ORklHX0xPQ0FMVkVSU0lPTl9BVVRPPXkKIENPTkZJR19TV0FQPXkKIENPTkZJR19TWVNWSVBDPXkKLSMgQ09ORklHX0lQQ19OUyBpcyBub3Qgc2V0CiBDT05GSUdfU1lTVklQQ19TWVNDVEw9eQogIyBDT05GSUdfUE9TSVhfTVFVRVVFIGlzIG5vdCBzZXQKICMgQ09ORklHX0JTRF9QUk9DRVNTX0FDQ1QgaXMgbm90IHNldAogIyBDT05GSUdfVEFTS1NUQVRTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VUU19OUyBpcyBub3Qgc2V0CiAjIENPTkZJR19BVURJVCBpcyBub3Qgc2V0Ci1DT05GSUdfSUtDT05GSUc9eQotQ09ORklHX0lLQ09ORklHX1BST0M9eQotQ09ORklHX0xPR19CVUZfU0hJRlQ9MTcKLUNPTkZJR19TWVNGU19ERVBSRUNBVEVEPXkKKyMgQ09ORklHX0lLQ09ORklHIGlzIG5vdCBzZXQKK0NPTkZJR19MT0dfQlVGX1NISUZUPTE0CisjIENPTkZJR19DR1JPVVBTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0dST1VQX1NDSEVEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NZU0ZTX0RFUFJFQ0FURURfVjIgaXMgbm90IHNldAogIyBDT05GSUdfUkVMQVkgaXMgbm90IHNldAotQ09ORklHX0JMS19ERVZfSU5JVFJEPXkKLUNPTkZJR19JTklUUkFNRlNfU09VUkNFPSIiCisjIENPTkZJR19OQU1FU1BBQ0VTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JMS19ERVZfSU5JVFJEIGlzIG5vdCBzZXQKIENPTkZJR19DQ19PUFRJTUlaRV9GT1JfU0laRT15CiBDT05GSUdfU1lTQ1RMPXkKIENPTkZJR19FTUJFRERFRD15CiBDT05GSUdfVUlEMTY9eQogQ09ORklHX1NZU0NUTF9TWVNDQUxMPXkKK0NPTkZJR19TWVNDVExfU1lTQ0FMTF9DSEVDSz15CiBDT05GSUdfS0FMTFNZTVM9eQotIyBDT05GSUdfS0FMTFNZTVNfQUxMIGlzIG5vdCBzZXQKICMgQ09ORklHX0tBTExTWU1TX0VYVFJBX1BBU1MgaXMgbm90IHNldAogQ09ORklHX0hPVFBMVUc9eQogQ09ORklHX1BSSU5USz15CiBDT05GSUdfQlVHPXkKIENPTkZJR19FTEZfQ09SRT15CitDT05GSUdfQ09NUEFUX0JSSz15CiBDT05GSUdfQkFTRV9GVUxMPXkKIENPTkZJR19GVVRFWD15CiBDT05GSUdfQU5PTl9JTk9ERVM9eQpAQCAtNzgsMjcgKzc2LDMwIEBACiBDT05GSUdfU0xBQj15CiAjIENPTkZJR19TTFVCIGlzIG5vdCBzZXQKICMgQ09ORklHX1NMT0IgaXMgbm90IHNldAorIyBDT05GSUdfUFJPRklMSU5HIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BUktFUlMgaXMgbm90IHNldAorQ09ORklHX0hBVkVfT1BST0ZJTEU9eQorIyBDT05GSUdfS1BST0JFUyBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9LUFJPQkVTPXkKK0NPTkZJR19IQVZFX0tSRVRQUk9CRVM9eQorIyBDT05GSUdfSEFWRV9ETUFfQVRUUlMgaXMgbm90IHNldAorQ09ORklHX1BST0NfUEFHRV9NT05JVE9SPXkKK0NPTkZJR19TTEFCSU5GTz15CiBDT05GSUdfUlRfTVVURVhFUz15CiAjIENPTkZJR19USU5ZX1NITUVNIGlzIG5vdCBzZXQKIENPTkZJR19CQVNFX1NNQUxMPTAKLQotIwotIyBMb2FkYWJsZSBtb2R1bGUgc3VwcG9ydAotIwogQ09ORklHX01PRFVMRVM9eQorIyBDT05GSUdfTU9EVUxFX0ZPUkNFX0xPQUQgaXMgbm90IHNldAogQ09ORklHX01PRFVMRV9VTkxPQUQ9eQotQ09ORklHX01PRFVMRV9GT1JDRV9VTkxPQUQ9eQorIyBDT05GSUdfTU9EVUxFX0ZPUkNFX1VOTE9BRCBpcyBub3Qgc2V0CiAjIENPTkZJR19NT0RWRVJTSU9OUyBpcyBub3Qgc2V0CiAjIENPTkZJR19NT0RVTEVfU1JDVkVSU0lPTl9BTEwgaXMgbm90IHNldAotQ09ORklHX0tNT0Q9eQotCi0jCi0jIEJsb2NrIGxheWVyCi0jCisjIENPTkZJR19LTU9EIGlzIG5vdCBzZXQKIENPTkZJR19CTE9DSz15CiAjIENPTkZJR19MQkQgaXMgbm90IHNldAogIyBDT05GSUdfQkxLX0RFVl9JT19UUkFDRSBpcyBub3Qgc2V0CiAjIENPTkZJR19MU0YgaXMgbm90IHNldAorIyBDT05GSUdfQkxLX0RFVl9CU0cgaXMgbm90IHNldAogCiAjCiAjIElPIFNjaGVkdWxlcnMKQEAgLTEwNywxMSArMTA4LDEyIEBACiBDT05GSUdfSU9TQ0hFRF9BUz15CiBDT05GSUdfSU9TQ0hFRF9ERUFETElORT15CiBDT05GSUdfSU9TQ0hFRF9DRlE9eQotQ09ORklHX0RFRkFVTFRfQVM9eQorIyBDT05GSUdfREVGQVVMVF9BUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUZBVUxUX0RFQURMSU5FIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFRkFVTFRfQ0ZRIGlzIG5vdCBzZXQKK0NPTkZJR19ERUZBVUxUX0NGUT15CiAjIENPTkZJR19ERUZBVUxUX05PT1AgaXMgbm90IHNldAotQ09ORklHX0RFRkFVTFRfSU9TQ0hFRD0iYW50aWNpcGF0b3J5IgorQ09ORklHX0RFRkFVTFRfSU9TQ0hFRD0iY2ZxIgorQ09ORklHX0NMQVNTSUNfUkNVPXkKIAogIwogIyBTeXN0ZW0gVHlwZQpAQCAtMTM3LDEwICsxMzksMTUgQEAKICMgQ09ORklHX0FSQ0hfSVhQMjAwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0lYUDRYWCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0w3MjAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfS0lSS1dPT0QgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9LUzg2OTUgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9OUzlYWFggaXMgbm90IHNldAorQ09ORklHX0FSQ0hfTE9LST15CisjIENPTkZJR19BUkNIX01WNzhYWDAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9NWEMgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9PUklPTjVYIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfUE5YNDAwOCBpcyBub3Qgc2V0Ci1DT05GSUdfQVJDSF9QWEE9eQorIyBDT05GSUdfQVJDSF9QWEEgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9SUEMgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9TQTExMDAgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9TM0MyNDEwIGlzIG5vdCBzZXQKQEAgLTE0OCwyOCArMTU1LDM0IEBACiAjIENPTkZJR19BUkNIX0xIN0E0MFggaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9EQVZJTkNJIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfT01BUCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX01TTTdYMDBBIGlzIG5vdCBzZXQKIAogIwotIyBJbnRlbCBQWEEyeHggSW1wbGVtZW50YXRpb25zCisjIE1hcnZlbGwgTG9raSAoODhSQzg0ODApIEltcGxlbWVudGF0aW9ucwogIwotIyBDT05GSUdfQVJDSF9MVUJCT0NLIGlzIG5vdCBzZXQKLSMgQ09ORklHX01BQ0hfTE9HSUNQRF9QWEEyNzAgaXMgbm90IHNldAotIyBDT05GSUdfTUFDSF9NQUlOU1RPTkUgaXMgbm90IHNldAotIyBDT05GSUdfQVJDSF9QWEFfSURQIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BYQV9TSEFSUFNMIGlzIG5vdCBzZXQKLSMgQ09ORklHX01BQ0hfVFJJWkVQUzQgaXMgbm90IHNldAotQ09ORklHX01BQ0hfRU1fWDI3MD15Ci1DT05GSUdfUFhBMjd4PXkKK0NPTkZJR19NQUNIX0xCODhSQzg0ODA9eQorCisjCisjIEJvb3Qgb3B0aW9ucworIworCisjCisjIFBvd2VyIG1hbmFnZW1lbnQKKyMKK0NPTkZJR19QTEFUX09SSU9OPXkKIAogIwogIyBQcm9jZXNzb3IgVHlwZQogIwogQ09ORklHX0NQVV8zMj15Ci1DT05GSUdfQ1BVX1hTQ0FMRT15CitDT05GSUdfQ1BVX0ZFUk9DRU9OPXkKKyMgQ09ORklHX0NQVV9GRVJPQ0VPTl9PTERfSUQgaXMgbm90IHNldAogQ09ORklHX0NQVV8zMnY1PXkKIENPTkZJR19DUFVfQUJSVF9FVjVUPXkKK0NPTkZJR19DUFVfUEFCUlRfTk9JRkFSPXkKIENPTkZJR19DUFVfQ0FDSEVfVklWVD15Ci1DT05GSUdfQ1BVX1RMQl9WNFdCST15CitDT05GSUdfQ1BVX0NPUFlfRkVST0NFT049eQorQ09ORklHX0NQVV9UTEJfRkVST0NFT049eQogQ09ORklHX0NQVV9DUDE1PXkKIENPTkZJR19DUFVfQ1AxNV9NTVU9eQogCkBAIC0xNzcsMjcgKzE5MCwyNSBAQAogIyBQcm9jZXNzb3IgRmVhdHVyZXMKICMKIENPTkZJR19BUk1fVEhVTUI9eQorIyBDT05GSUdfQ1BVX0lDQUNIRV9ESVNBQkxFIGlzIG5vdCBzZXQKICMgQ09ORklHX0NQVV9EQ0FDSEVfRElTQUJMRSBpcyBub3Qgc2V0CiAjIENPTkZJR19PVVRFUl9DQUNIRSBpcyBub3Qgc2V0Ci1DT05GSUdfSVdNTVhUPXkKLUNPTkZJR19YU0NBTEVfUE1VPXkKIAogIwogIyBCdXMgc3VwcG9ydAogIworIyBDT05GSUdfUENJX1NZU0NBTEwgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9TVVBQT1JUU19NU0kgaXMgbm90IHNldAotCi0jCi0jIFBDQ0FSRCAoUENNQ0lBL0NhcmRCdXMpIHN1cHBvcnQKLSMKICMgQ09ORklHX1BDQ0FSRCBpcyBub3Qgc2V0CiAKICMKICMgS2VybmVsIEZlYXR1cmVzCiAjCi0jIENPTkZJR19USUNLX09ORVNIT1QgaXMgbm90IHNldAotIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKK0NPTkZJR19USUNLX09ORVNIT1Q9eQorQ09ORklHX05PX0haPXkKK0NPTkZJR19ISUdIX1JFU19USU1FUlM9eQorQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFNfQlVJTEQ9eQorQ09ORklHX1BSRUVNUFQ9eQogQ09ORklHX0haPTEwMAogQ09ORklHX0FFQUJJPXkKIENPTkZJR19PQUJJX0NPTVBBVD15CkBAIC0yMDksOSArMjIwLDEzIEBACiBDT05GSUdfRkxBVE1FTT15CiBDT05GSUdfRkxBVF9OT0RFX01FTV9NQVA9eQogIyBDT05GSUdfU1BBUlNFTUVNX1NUQVRJQyBpcyBub3Qgc2V0CisjIENPTkZJR19TUEFSU0VNRU1fVk1FTU1BUF9FTkFCTEUgaXMgbm90IHNldAorQ09ORklHX1BBR0VGTEFHU19FWFRFTkRFRD15CiBDT05GSUdfU1BMSVRfUFRMT0NLX0NQVVM9NDA5NgogIyBDT05GSUdfUkVTT1VSQ0VTXzY0QklUIGlzIG5vdCBzZXQKIENPTkZJR19aT05FX0RNQV9GTEFHPTEKK0NPTkZJR19CT1VOQ0U9eQorQ09ORklHX1ZJUlRfVE9fQlVTPXkKIENPTkZJR19BTElHTk1FTlRfVFJBUD15CiAKICMKQEAgLTIzMCw5ICsyNDUsOSBAQAogIwogIyBBdCBsZWFzdCBvbmUgZW11bGF0aW9uIG11c3QgYmUgc2VsZWN0ZWQKICMKLUNPTkZJR19GUEVfTldGUEU9eQotIyBDT05GSUdfRlBFX05XRlBFX1hQIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZQRV9OV0ZQRSBpcyBub3Qgc2V0CiAjIENPTkZJR19GUEVfRkFTVEZQRSBpcyBub3Qgc2V0CisjIENPTkZJR19WRlAgaXMgbm90IHNldAogCiAjCiAjIFVzZXJzcGFjZSBiaW5hcnkgZm9ybWF0cwpAQCAtMjQ0LDExICsyNTksOCBAQAogIwogIyBQb3dlciBtYW5hZ2VtZW50IG9wdGlvbnMKICMKLUNPTkZJR19QTT15Ci1DT05GSUdfUE1fTEVHQUNZPXkKLSMgQ09ORklHX1BNX0RFQlVHIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BNX1NZU0ZTX0RFUFJFQ0FURUQgaXMgbm90IHNldAotQ09ORklHX0FQTV9FTVVMQVRJT049bQorIyBDT05GSUdfUE0gaXMgbm90IHNldAorQ09ORklHX0FSQ0hfU1VTUEVORF9QT1NTSUJMRT15CiAKICMKICMgTmV0d29ya2luZwpAQCAtMjU5LDE1ICsyNzEsMTYgQEAKICMgTmV0d29ya2luZyBvcHRpb25zCiAjCiBDT05GSUdfUEFDS0VUPXkKLSMgQ09ORklHX1BBQ0tFVF9NTUFQIGlzIG5vdCBzZXQKK0NPTkZJR19QQUNLRVRfTU1BUD15CiBDT05GSUdfVU5JWD15CiBDT05GSUdfWEZSTT15CiAjIENPTkZJR19YRlJNX1VTRVIgaXMgbm90IHNldAogIyBDT05GSUdfWEZSTV9TVUJfUE9MSUNZIGlzIG5vdCBzZXQKICMgQ09ORklHX1hGUk1fTUlHUkFURSBpcyBub3Qgc2V0CisjIENPTkZJR19YRlJNX1NUQVRJU1RJQ1MgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0tFWSBpcyBub3Qgc2V0CiBDT05GSUdfSU5FVD15Ci0jIENPTkZJR19JUF9NVUxUSUNBU1QgaXMgbm90IHNldAorQ09ORklHX0lQX01VTFRJQ0FTVD15CiAjIENPTkZJR19JUF9BRFZBTkNFRF9ST1VURVIgaXMgbm90IHNldAogQ09ORklHX0lQX0ZJQl9IQVNIPXkKIENPTkZJR19JUF9QTlA9eQpAQCAtMjc2LDYgKzI4OSw3IEBACiAjIENPTkZJR19JUF9QTlBfUkFSUCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfSVBJUCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfSVBHUkUgaXMgbm90IHNldAorIyBDT05GSUdfSVBfTVJPVVRFIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSUEQgaXMgbm90IHNldAogIyBDT05GSUdfU1lOX0NPT0tJRVMgaXMgbm90IHNldAogIyBDT05GSUdfSU5FVF9BSCBpcyBub3Qgc2V0CkBAIC0yODYsNiArMzAwLDcgQEAKIENPTkZJR19JTkVUX1hGUk1fTU9ERV9UUkFOU1BPUlQ9eQogQ09ORklHX0lORVRfWEZSTV9NT0RFX1RVTk5FTD15CiBDT05GSUdfSU5FVF9YRlJNX01PREVfQkVFVD15CisjIENPTkZJR19JTkVUX0xSTyBpcyBub3Qgc2V0CiBDT05GSUdfSU5FVF9ESUFHPXkKIENPTkZJR19JTkVUX1RDUF9ESUFHPXkKICMgQ09ORklHX1RDUF9DT05HX0FEVkFOQ0VEIGlzIG5vdCBzZXQKQEAgLTI5Myw4ICszMDgsNiBAQAogQ09ORklHX0RFRkFVTFRfVENQX0NPTkc9ImN1YmljIgogIyBDT05GSUdfVENQX01ENVNJRyBpcyBub3Qgc2V0CiAjIENPTkZJR19JUFY2IGlzIG5vdCBzZXQKLSMgQ09ORklHX0lORVQ2X1hGUk1fVFVOTkVMIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lORVQ2X1RVTk5FTCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRXT1JLX1NFQ01BUksgaXMgbm90IHNldAogIyBDT05GSUdfTkVURklMVEVSIGlzIG5vdCBzZXQKICMgQ09ORklHX0lQX0RDQ1AgaXMgbm90IHNldApAQCAtMzExLDU1ICszMjQsMjcgQEAKICMgQ09ORklHX0xBUEIgaXMgbm90IHNldAogIyBDT05GSUdfRUNPTkVUIGlzIG5vdCBzZXQKICMgQ09ORklHX1dBTl9ST1VURVIgaXMgbm90IHNldAotCi0jCi0jIFFvUyBhbmQvb3IgZmFpciBxdWV1ZWluZwotIwogIyBDT05GSUdfTkVUX1NDSEVEIGlzIG5vdCBzZXQKIAogIwogIyBOZXR3b3JrIHRlc3RpbmcKICMKLSMgQ09ORklHX05FVF9QS1RHRU4gaXMgbm90IHNldAorQ09ORklHX05FVF9QS1RHRU49bQogIyBDT05GSUdfSEFNUkFESU8gaXMgbm90IHNldAorIyBDT05GSUdfQ0FOIGlzIG5vdCBzZXQKICMgQ09ORklHX0lSREEgaXMgbm90IHNldAotQ09ORklHX0JUPW0KLUNPTkZJR19CVF9MMkNBUD1tCi1DT05GSUdfQlRfU0NPPW0KLUNPTkZJR19CVF9SRkNPTU09bQotIyBDT05GSUdfQlRfUkZDT01NX1RUWSBpcyBub3Qgc2V0Ci1DT05GSUdfQlRfQk5FUD1tCi0jIENPTkZJR19CVF9CTkVQX01DX0ZJTFRFUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19CVF9CTkVQX1BST1RPX0ZJTFRFUiBpcyBub3Qgc2V0Ci1DT05GSUdfQlRfSElEUD1tCi0KLSMKLSMgQmx1ZXRvb3RoIGRldmljZSBkcml2ZXJzCi0jCi1DT05GSUdfQlRfSENJVVNCPW0KLSMgQ09ORklHX0JUX0hDSVVTQl9TQ08gaXMgbm90IHNldAotQ09ORklHX0JUX0hDSVVBUlQ9bQotIyBDT05GSUdfQlRfSENJVUFSVF9INCBpcyBub3Qgc2V0Ci0jIENPTkZJR19CVF9IQ0lVQVJUX0JDU1AgaXMgbm90IHNldAotQ09ORklHX0JUX0hDSUJDTTIwM1g9bQotQ09ORklHX0JUX0hDSUJQQTEwWD1tCi1DT05GSUdfQlRfSENJQkZVU0I9bQotIyBDT05GSUdfQlRfSENJVkhDSSBpcyBub3Qgc2V0CisjIENPTkZJR19CVCBpcyBub3Qgc2V0CiAjIENPTkZJR19BRl9SWFJQQyBpcyBub3Qgc2V0CiAKICMKICMgV2lyZWxlc3MKICMKICMgQ09ORklHX0NGRzgwMjExIGlzIG5vdCBzZXQKLSMgQ09ORklHX1dJUkVMRVNTX0VYVCBpcyBub3Qgc2V0CitDT05GSUdfV0lSRUxFU1NfRVhUPXkKICMgQ09ORklHX01BQzgwMjExIGlzIG5vdCBzZXQKLUNPTkZJR19JRUVFODAyMTE9bQotIyBDT05GSUdfSUVFRTgwMjExX0RFQlVHIGlzIG5vdCBzZXQKLUNPTkZJR19JRUVFODAyMTFfQ1JZUFRfV0VQPW0KLUNPTkZJR19JRUVFODAyMTFfQ1JZUFRfQ0NNUD1tCi0jIENPTkZJR19JRUVFODAyMTFfQ1JZUFRfVEtJUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JRUVFODAyMTFfU09GVE1BQyBpcyBub3Qgc2V0CisjIENPTkZJR19JRUVFODAyMTEgaXMgbm90IHNldAogIyBDT05GSUdfUkZLSUxMIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF85UCBpcyBub3Qgc2V0CiAKICMKICMgRGV2aWNlIERyaXZlcnMKQEAgLTM2OCwyNCArMzUzLDIwIEBACiAjCiAjIEdlbmVyaWMgRHJpdmVyIE9wdGlvbnMKICMKK0NPTkZJR19VRVZFTlRfSEVMUEVSX1BBVEg9Ii9zYmluL2hvdHBsdWciCiBDT05GSUdfU1RBTkRBTE9ORT15CiBDT05GSUdfUFJFVkVOVF9GSVJNV0FSRV9CVUlMRD15CiBDT05GSUdfRldfTE9BREVSPXkKLSMgQ09ORklHX0RFQlVHX0RSSVZFUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUJVR19ERVZSRVMgaXMgbm90IHNldAogIyBDT05GSUdfU1lTX0hZUEVSVklTT1IgaXMgbm90IHNldAotCi0jCi0jIENvbm5lY3RvciAtIHVuaWZpZWQgdXNlcnNwYWNlIDwtPiBrZXJuZWxzcGFjZSBsaW5rZXIKLSMKICMgQ09ORklHX0NPTk5FQ1RPUiBpcyBub3Qgc2V0CiBDT05GSUdfTVREPXkKICMgQ09ORklHX01URF9ERUJVRyBpcyBub3Qgc2V0Ci1DT05GSUdfTVREX0NPTkNBVD15CisjIENPTkZJR19NVERfQ09OQ0FUIGlzIG5vdCBzZXQKIENPTkZJR19NVERfUEFSVElUSU9OUz15CiAjIENPTkZJR19NVERfUkVEQk9PVF9QQVJUUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfQ01ETElORV9QQVJUUyBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NNRExJTkVfUEFSVFM9eQogIyBDT05GSUdfTVREX0FGU19QQVJUUyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQVI3X1BBUlRTIGlzIG5vdCBzZXQKIAogIwogIyBVc2VyIE1vZHVsZXMgQW5kIFRyYW5zbGF0aW9uIExheWVycwpAQCAtMzkzLDIwICszNzQsMjUgQEAKIENPTkZJR19NVERfQ0hBUj15CiBDT05GSUdfTVREX0JMS0RFVlM9eQogQ09ORklHX01URF9CTE9DSz15Ci0jIENPTkZJR19GVEwgaXMgbm90IHNldAotIyBDT05GSUdfTkZUTCBpcyBub3Qgc2V0CitDT05GSUdfRlRMPXkKK0NPTkZJR19ORlRMPXkKKyMgQ09ORklHX05GVExfUlcgaXMgbm90IHNldAogIyBDT05GSUdfSU5GVEwgaXMgbm90IHNldAogIyBDT05GSUdfUkZEX0ZUTCBpcyBub3Qgc2V0CiAjIENPTkZJR19TU0ZEQyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfT09QUyBpcyBub3Qgc2V0CiAKICMKICMgUkFNL1JPTS9GbGFzaCBjaGlwIGRyaXZlcnMKICMKLSMgQ09ORklHX01URF9DRkkgaXMgbm90IHNldAotIyBDT05GSUdfTVREX0pFREVDUFJPQkUgaXMgbm90IHNldAotIyBDT05GSUdfTVREX0NGSV9OT1NXQVAgaXMgbm90IHNldAorQ09ORklHX01URF9DRkk9eQorQ09ORklHX01URF9KRURFQ1BST0JFPXkKK0NPTkZJR19NVERfR0VOX1BST0JFPXkKK0NPTkZJR19NVERfQ0ZJX0FEVl9PUFRJT05TPXkKK0NPTkZJR19NVERfQ0ZJX05PU1dBUD15CiAjIENPTkZJR19NVERfQ0ZJX0JFX0JZVEVfU1dBUCBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfQ0ZJX0xFX0JZVEVfU1dBUCBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NGSV9HRU9NRVRSWT15CiBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzE9eQogQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8yPXkKIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfND15CkBAIC00MTUsOCArNDAxLDEzIEBACiAjIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMzIgaXMgbm90IHNldAogQ09ORklHX01URF9DRklfSTE9eQogQ09ORklHX01URF9DRklfSTI9eQotIyBDT05GSUdfTVREX0NGSV9JNCBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NGSV9JND15CiAjIENPTkZJR19NVERfQ0ZJX0k4IGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9PVFAgaXMgbm90IHNldAorQ09ORklHX01URF9DRklfSU5URUxFWFQ9eQorQ09ORklHX01URF9DRklfQU1EU1REPXkKK0NPTkZJR19NVERfQ0ZJX1NUQUE9eQorQ09ORklHX01URF9DRklfVVRJTD15CiAjIENPTkZJR19NVERfUkFNIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9ST00gaXMgbm90IHNldAogIyBDT05GSUdfTVREX0FCU0VOVCBpcyBub3Qgc2V0CkBAIC00MjUsMTIgKzQxNiwyMCBAQAogIyBNYXBwaW5nIGRyaXZlcnMgZm9yIGNoaXAgYWNjZXNzCiAjCiAjIENPTkZJR19NVERfQ09NUExFWF9NQVBQSU5HUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfU0hBUlBfU0wgaXMgbm90IHNldAorQ09ORklHX01URF9QSFlTTUFQPXkKK0NPTkZJR19NVERfUEhZU01BUF9TVEFSVD0weDAKK0NPTkZJR19NVERfUEhZU01BUF9MRU49MHgwCitDT05GSUdfTVREX1BIWVNNQVBfQkFOS1dJRFRIPTAKKyMgQ09ORklHX01URF9BUk1fSU5URUdSQVRPUiBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfSU1QQTcgaXMgbm90IHNldAogIyBDT05GSUdfTVREX1BMQVRSQU0gaXMgbm90IHNldAogCiAjCiAjIFNlbGYtY29udGFpbmVkIE1URCBkZXZpY2UgZHJpdmVycwogIworIyBDT05GSUdfTVREX0RBVEFGTEFTSCBpcyBub3Qgc2V0CitDT05GSUdfTVREX00yNVA4MD15CitDT05GSUdfTTI1UFhYX1VTRV9GQVNUX1JFQUQ9eQogIyBDT05GSUdfTVREX1NMUkFNIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9QSFJBTSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTVREUkFNIGlzIG5vdCBzZXQKQEAgLTQ0Myw0NiArNDQyLDMzIEBACiAjIENPTkZJR19NVERfRE9DMjAwMSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfRE9DMjAwMVBMVVMgaXMgbm90IHNldAogQ09ORklHX01URF9OQU5EPXkKLSMgQ09ORklHX01URF9OQU5EX1ZFUklGWV9XUklURSBpcyBub3Qgc2V0CitDT05GSUdfTVREX05BTkRfVkVSSUZZX1dSSVRFPXkKICMgQ09ORklHX01URF9OQU5EX0VDQ19TTUMgaXMgbm90IHNldAogIyBDT05GSUdfTVREX05BTkRfTVVTRVVNX0lEUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfTkFORF9IMTkwMCBpcyBub3Qgc2V0CiBDT05GSUdfTVREX05BTkRfSURTPXkKICMgQ09ORklHX01URF9OQU5EX0RJU0tPTkNISVAgaXMgbm90IHNldAotIyBDT05GSUdfTVREX05BTkRfU0hBUlBTTCBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTkFORF9OQU5EU0lNIGlzIG5vdCBzZXQKLUNPTkZJR19NVERfTkFORF9QTEFURk9STT15CisjIENPTkZJR19NVERfTkFORF9QTEFURk9STSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQUxBVURBIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfTkFORF9PUklPTj15CiAjIENPTkZJR19NVERfT05FTkFORCBpcyBub3Qgc2V0CiAKICMKICMgVUJJIC0gVW5zb3J0ZWQgYmxvY2sgaW1hZ2VzCiAjCiAjIENPTkZJR19NVERfVUJJIGlzIG5vdCBzZXQKLQotIwotIyBQYXJhbGxlbCBwb3J0IHN1cHBvcnQKLSMKICMgQ09ORklHX1BBUlBPUlQgaXMgbm90IHNldAotCi0jCi0jIFBsdWcgYW5kIFBsYXkgc3VwcG9ydAotIwotIyBDT05GSUdfUE5QQUNQSSBpcyBub3Qgc2V0Ci0KLSMKLSMgQmxvY2sgZGV2aWNlcwotIworQ09ORklHX0JMS19ERVY9eQogIyBDT05GSUdfQkxLX0RFVl9DT1dfQ09NTU9OIGlzIG5vdCBzZXQKIENPTkZJR19CTEtfREVWX0xPT1A9eQogIyBDT05GSUdfQkxLX0RFVl9DUllQVE9MT09QIGlzIG5vdCBzZXQKICMgQ09ORklHX0JMS19ERVZfTkJEIGlzIG5vdCBzZXQKICMgQ09ORklHX0JMS19ERVZfVUIgaXMgbm90IHNldAotQ09ORklHX0JMS19ERVZfUkFNPXkKLUNPTkZJR19CTEtfREVWX1JBTV9DT1VOVD0xNgotQ09ORklHX0JMS19ERVZfUkFNX1NJWkU9MTIwMDAKLUNPTkZJR19CTEtfREVWX1JBTV9CTE9DS1NJWkU9MTAyNAorIyBDT05GSUdfQkxLX0RFVl9SQU0gaXMgbm90IHNldAogIyBDT05GSUdfQ0RST01fUEtUQ0RWRCBpcyBub3Qgc2V0CiAjIENPTkZJR19BVEFfT1ZFUl9FVEggaXMgbm90IHNldAorIyBDT05GSUdfTUlTQ19ERVZJQ0VTIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX0lERT15CiAjIENPTkZJR19JREUgaXMgbm90IHNldAogCiAjCkBAIC00OTAsNiArNDc2LDcgQEAKICMKICMgQ09ORklHX1JBSURfQVRUUlMgaXMgbm90IHNldAogQ09ORklHX1NDU0k9eQorQ09ORklHX1NDU0lfRE1BPXkKICMgQ09ORklHX1NDU0lfVEdUIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfTkVUTElOSyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1BST0NfRlMgaXMgbm90IHNldApAQCAtNTAwLDggKzQ4Nyw5IEBACiBDT05GSUdfQkxLX0RFVl9TRD15CiAjIENPTkZJR19DSFJfREVWX1NUIGlzIG5vdCBzZXQKICMgQ09ORklHX0NIUl9ERVZfT1NTVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX1NSIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NIUl9ERVZfU0cgaXMgbm90IHNldAorQ09ORklHX0JMS19ERVZfU1I9bQorIyBDT05GSUdfQkxLX0RFVl9TUl9WRU5ET1IgaXMgbm90IHNldAorQ09ORklHX0NIUl9ERVZfU0c9bQogIyBDT05GSUdfQ0hSX0RFVl9TQ0ggaXMgbm90IHNldAogCiAjCkBAIC01MTksNDAgKzUwNyw0MSBAQAogIyBDT05GSUdfU0NTSV9TUElfQVRUUlMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9GQ19BVFRSUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0lTQ1NJX0FUVFJTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfU0FTX0FUVFJTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfU0FTX0xJQlNBUyBpcyBub3Qgc2V0Ci0KLSMKLSMgU0NTSSBsb3ctbGV2ZWwgZHJpdmVycwotIworIyBDT05GSUdfU0NTSV9TUlBfQVRUUlMgaXMgbm90IHNldAorQ09ORklHX1NDU0lfTE9XTEVWRUw9eQogIyBDT05GSUdfSVNDU0lfVENQIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfREVCVUcgaXMgbm90IHNldAotIyBDT05GSUdfQVRBIGlzIG5vdCBzZXQKLQotIwotIyBNdWx0aS1kZXZpY2Ugc3VwcG9ydCAoUkFJRCBhbmQgTFZNKQotIworQ09ORklHX0FUQT15CisjIENPTkZJR19BVEFfTk9OU1RBTkRBUkQgaXMgbm90IHNldAorQ09ORklHX1NBVEFfUE1QPXkKK0NPTkZJR19BVEFfU0ZGPXkKK0NPTkZJR19TQVRBX01WPXkKKyMgQ09ORklHX1BBVEFfUExBVEZPUk0gaXMgbm90IHNldAogIyBDT05GSUdfTUQgaXMgbm90IHNldAotCi0jCi0jIE5ldHdvcmsgZGV2aWNlIHN1cHBvcnQKLSMKIENPTkZJR19ORVRERVZJQ0VTPXkKKyMgQ09ORklHX05FVERFVklDRVNfTVVMVElRVUVVRSBpcyBub3Qgc2V0CiAjIENPTkZJR19EVU1NWSBpcyBub3Qgc2V0CiAjIENPTkZJR19CT05ESU5HIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BQ1ZMQU4gaXMgbm90IHNldAogIyBDT05GSUdfRVFVQUxJWkVSIGlzIG5vdCBzZXQKICMgQ09ORklHX1RVTiBpcyBub3Qgc2V0CisjIENPTkZJR19WRVRIIGlzIG5vdCBzZXQKICMgQ09ORklHX1BIWUxJQiBpcyBub3Qgc2V0Ci0KLSMKLSMgRXRoZXJuZXQgKDEwIG9yIDEwME1iaXQpCi0jCiBDT05GSUdfTkVUX0VUSEVSTkVUPXkKIENPTkZJR19NSUk9eQorIyBDT05GSUdfQVg4ODc5NiBpcyBub3Qgc2V0CiAjIENPTkZJR19TTUM5MVggaXMgbm90IHNldAotQ09ORklHX0RNOTAwMD15Ci0jIENPTkZJR19TTUM5MTFYIGlzIG5vdCBzZXQKLSMgQ09ORklHX05FVERFVl8xMDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RNOTAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19FTkMyOEo2MCBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfWk1JSSBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfUkdNSUkgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1RBSCBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfRU1BQzQgaXMgbm90IHNldAorIyBDT05GSUdfQjQ0IGlzIG5vdCBzZXQKK0NPTkZJR19ORVRERVZfMTAwMD15CisjIENPTkZJR19FMTAwMEVfRU5BQkxFRCBpcyBub3Qgc2V0CitDT05GSUdfTVY2NDNYWF9FVEg9eQogIyBDT05GSUdfTkVUREVWXzEwMDAwIGlzIG5vdCBzZXQKIAogIwpAQCAtNTYwLDYgKzU0OSw3IEBACiAjCiAjIENPTkZJR19XTEFOX1BSRTgwMjExIGlzIG5vdCBzZXQKICMgQ09ORklHX1dMQU5fODAyMTEgaXMgbm90IHNldAorIyBDT05GSUdfSVdMV0lGSV9MRURTIGlzIG5vdCBzZXQKIAogIwogIyBVU0IgTmV0d29yayBBZGFwdGVycwpAQCAtNTY4LDE5ICs1NTgsMTMgQEAKICMgQ09ORklHX1VTQl9LQVdFVEggaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1BFR0FTVVMgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1JUTDgxNTAgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1VTQk5FVF9NSUkgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1VTQk5FVCBpcyBub3Qgc2V0CiAjIENPTkZJR19XQU4gaXMgbm90IHNldAogIyBDT05GSUdfUFBQIGlzIG5vdCBzZXQKICMgQ09ORklHX1NMSVAgaXMgbm90IHNldAotIyBDT05GSUdfU0hBUEVSIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVENPTlNPTEUgaXMgbm90IHNldAogIyBDT05GSUdfTkVUUE9MTCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfUE9MTF9DT05UUk9MTEVSIGlzIG5vdCBzZXQKLQotIwotIyBJU0ROIHN1YnN5c3RlbQotIwogIyBDT05GSUdfSVNETiBpcyBub3Qgc2V0CiAKICMKQEAgLTU5NCw0OCArNTc4LDI3IEBACiAjIFVzZXJsYW5kIGludGVyZmFjZXMKICMKIENPTkZJR19JTlBVVF9NT1VTRURFVj15Ci0jIENPTkZJR19JTlBVVF9NT1VTRURFVl9QU0FVWCBpcyBub3Qgc2V0CitDT05GSUdfSU5QVVRfTU9VU0VERVZfUFNBVVg9eQogQ09ORklHX0lOUFVUX01PVVNFREVWX1NDUkVFTl9YPTEwMjQKIENPTkZJR19JTlBVVF9NT1VTRURFVl9TQ1JFRU5fWT03NjgKICMgQ09ORklHX0lOUFVUX0pPWURFViBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTlBVVF9UU0RFViBpcyBub3Qgc2V0Ci1DT05GSUdfSU5QVVRfRVZERVY9eQorIyBDT05GSUdfSU5QVVRfRVZERVYgaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfRVZCVUcgaXMgbm90IHNldAogCiAjCiAjIElucHV0IERldmljZSBEcml2ZXJzCiAjCi1DT05GSUdfSU5QVVRfS0VZQk9BUkQ9eQotIyBDT05GSUdfS0VZQk9BUkRfQVRLQkQgaXMgbm90IHNldAotIyBDT05GSUdfS0VZQk9BUkRfU1VOS0JEIGlzIG5vdCBzZXQKLSMgQ09ORklHX0tFWUJPQVJEX0xLS0JEIGlzIG5vdCBzZXQKLSMgQ09ORklHX0tFWUJPQVJEX1hUS0JEIGlzIG5vdCBzZXQKLSMgQ09ORklHX0tFWUJPQVJEX05FV1RPTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19LRVlCT0FSRF9TVE9XQVdBWSBpcyBub3Qgc2V0Ci1DT05GSUdfS0VZQk9BUkRfUFhBMjd4PW0KLSMgQ09ORklHX0tFWUJPQVJEX0dQSU8gaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfS0VZQk9BUkQgaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfTU9VU0UgaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfSk9ZU1RJQ0sgaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfVEFCTEVUIGlzIG5vdCBzZXQKLUNPTkZJR19JTlBVVF9UT1VDSFNDUkVFTj15Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9HVU5aRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9FTE8gaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fTVRPVUNIIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX01LNzEyIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX1BFTk1PVU5UIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX1RPVUNIUklHSFQgaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVE9VQ0hXSU4gaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVUNCMTQwMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9VU0JfQ09NUE9TSVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX1RPVUNIU0NSRUVOIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX01JU0MgaXMgbm90IHNldAogCiAjCiAjIEhhcmR3YXJlIEkvTyBwb3J0cwogIwotQ09ORklHX1NFUklPPXkKLSMgQ09ORklHX1NFUklPX1NFUlBPUlQgaXMgbm90IHNldAotQ09ORklHX1NFUklPX0xJQlBTMj15Ci0jIENPTkZJR19TRVJJT19SQVcgaXMgbm90IHNldAorIyBDT05GSUdfU0VSSU8gaXMgbm90IHNldAogIyBDT05GSUdfR0FNRVBPUlQgaXMgbm90IHNldAogCiAjCkBAIC02NDUsMTkxICs2MDgsMTM3IEBACiBDT05GSUdfVlRfQ09OU09MRT15CiBDT05GSUdfSFdfQ09OU09MRT15CiAjIENPTkZJR19WVF9IV19DT05TT0xFX0JJTkRJTkcgaXMgbm90IHNldAorQ09ORklHX0RFVktNRU09eQogIyBDT05GSUdfU0VSSUFMX05PTlNUQU5EQVJEIGlzIG5vdCBzZXQKIAogIwogIyBTZXJpYWwgZHJpdmVycwogIwotIyBDT05GSUdfU0VSSUFMXzgyNTAgaXMgbm90IHNldAorQ09ORklHX1NFUklBTF84MjUwPXkKK0NPTkZJR19TRVJJQUxfODI1MF9DT05TT0xFPXkKK0NPTkZJR19TRVJJQUxfODI1MF9OUl9VQVJUUz00CitDT05GSUdfU0VSSUFMXzgyNTBfUlVOVElNRV9VQVJUUz0yCisjIENPTkZJR19TRVJJQUxfODI1MF9FWFRFTkRFRCBpcyBub3Qgc2V0CiAKICMKICMgTm9uLTgyNTAgc2VyaWFsIHBvcnQgc3VwcG9ydAogIwotQ09ORklHX1NFUklBTF9QWEE9eQotQ09ORklHX1NFUklBTF9QWEFfQ09OU09MRT15CiBDT05GSUdfU0VSSUFMX0NPUkU9eQogQ09ORklHX1NFUklBTF9DT1JFX0NPTlNPTEU9eQogQ09ORklHX1VOSVg5OF9QVFlTPXkKIENPTkZJR19MRUdBQ1lfUFRZUz15Ci1DT05GSUdfTEVHQUNZX1BUWV9DT1VOVD0yNTYKLQotIwotIyBJUE1JCi0jCitDT05GSUdfTEVHQUNZX1BUWV9DT1VOVD0xNgogIyBDT05GSUdfSVBNSV9IQU5ETEVSIGlzIG5vdCBzZXQKLSMgQ09ORklHX1dBVENIRE9HIGlzIG5vdCBzZXQKIENPTkZJR19IV19SQU5ET009bQogIyBDT05GSUdfTlZSQU0gaXMgbm90IHNldAogIyBDT05GSUdfUjM5NjQgaXMgbm90IHNldAogIyBDT05GSUdfUkFXX0RSSVZFUiBpcyBub3Qgc2V0Ci0KLSMKLSMgVFBNIGRldmljZXMKLSMKICMgQ09ORklHX1RDR19UUE0gaXMgbm90IHNldAotIyBDT05GSUdfSTJDIGlzIG5vdCBzZXQKK0NPTkZJR19JMkM9eQorQ09ORklHX0kyQ19CT0FSRElORk89eQorQ09ORklHX0kyQ19DSEFSREVWPXkKIAogIwotIyBTUEkgc3VwcG9ydAorIyBJMkMgSGFyZHdhcmUgQnVzIHN1cHBvcnQKICMKLSMgQ09ORklHX1NQSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TUElfTUFTVEVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19PQ09SRVMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1BBUlBPUlRfTElHSFQgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1NJTVRFQyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfVEFPU19FVk0gaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1NUVUIgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1RJTllfVVNCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19QQ0FfUExBVEZPUk0gaXMgbm90IHNldAorQ09ORklHX0kyQ19NVjY0WFhYPXkKIAogIwotIyBEYWxsYXMncyAxLXdpcmUgYnVzCisjIE1pc2NlbGxhbmVvdXMgSTJDIENoaXAgc3VwcG9ydAogIworIyBDT05GSUdfRFMxNjgyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfRUVQUk9NIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfUENGODU3NCBpcyBub3Qgc2V0CisjIENPTkZJR19QQ0Y4NTc1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfUENGODU5MSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX01BWDY4NzUgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19UU0wyNTUwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ERUJVR19DT1JFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ERUJVR19BTEdPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ERUJVR19CVVMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0RFQlVHX0NISVAgaXMgbm90IHNldAorQ09ORklHX1NQST15CitDT05GSUdfU1BJX01BU1RFUj15CisKKyMKKyMgU1BJIE1hc3RlciBDb250cm9sbGVyIERyaXZlcnMKKyMKKyMgQ09ORklHX1NQSV9CSVRCQU5HIGlzIG5vdCBzZXQKKworIworIyBTUEkgUHJvdG9jb2wgTWFzdGVycworIworIyBDT05GSUdfU1BJX0FUMjUgaXMgbm90IHNldAorIyBDT05GSUdfU1BJX1NQSURFViBpcyBub3Qgc2V0CisjIENPTkZJR19TUElfVExFNjJYMCBpcyBub3Qgc2V0CiAjIENPTkZJR19XMSBpcyBub3Qgc2V0CisjIENPTkZJR19QT1dFUl9TVVBQTFkgaXMgbm90IHNldAogIyBDT05GSUdfSFdNT04gaXMgbm90IHNldAorIyBDT05GSUdfV0FUQ0hET0cgaXMgbm90IHNldAogCiAjCi0jIE1pc2MgZGV2aWNlcworIyBTb25pY3MgU2lsaWNvbiBCYWNrcGxhbmUKICMKK0NPTkZJR19TU0JfUE9TU0lCTEU9eQorIyBDT05GSUdfU1NCIGlzIG5vdCBzZXQKIAogIwogIyBNdWx0aWZ1bmN0aW9uIGRldmljZSBkcml2ZXJzCiAjCiAjIENPTkZJR19NRkRfU001MDEgaXMgbm90IHNldAotCi0jCi0jIExFRCBkZXZpY2VzCi0jCi0jIENPTkZJR19ORVdfTEVEUyBpcyBub3Qgc2V0Ci0KLSMKLSMgTEVEIGRyaXZlcnMKLSMKLQotIwotIyBMRUQgVHJpZ2dlcnMKLSMKKyMgQ09ORklHX01GRF9BU0lDMyBpcyBub3Qgc2V0CisjIENPTkZJR19IVENfUEFTSUMzIGlzIG5vdCBzZXQKIAogIwogIyBNdWx0aW1lZGlhIGRldmljZXMKICMKKworIworIyBNdWx0aW1lZGlhIGNvcmUgc3VwcG9ydAorIwogIyBDT05GSUdfVklERU9fREVWIGlzIG5vdCBzZXQKICMgQ09ORklHX0RWQl9DT1JFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJREVPX01FRElBIGlzIG5vdCBzZXQKKworIworIyBNdWx0aW1lZGlhIGRyaXZlcnMKKyMKICMgQ09ORklHX0RBQiBpcyBub3Qgc2V0CiAKICMKICMgR3JhcGhpY3Mgc3VwcG9ydAogIworIyBDT05GSUdfVkdBU1RBVEUgaXMgbm90IHNldAorIyBDT05GSUdfVklERU9fT1VUUFVUX0NPTlRST0wgaXMgbm90IHNldAorIyBDT05GSUdfRkIgaXMgbm90IHNldAogIyBDT05GSUdfQkFDS0xJR0hUX0xDRF9TVVBQT1JUIGlzIG5vdCBzZXQKIAogIwogIyBEaXNwbGF5IGRldmljZSBzdXBwb3J0CiAjCiAjIENPTkZJR19ESVNQTEFZX1NVUFBPUlQgaXMgbm90IHNldAotIyBDT05GSUdfVkdBU1RBVEUgaXMgbm90IHNldAotQ09ORklHX0ZCPXkKLSMgQ09ORklHX0ZJUk1XQVJFX0VESUQgaXMgbm90IHNldAotIyBDT05GSUdfRkJfRERDIGlzIG5vdCBzZXQKLUNPTkZJR19GQl9DRkJfRklMTFJFQ1Q9eQotQ09ORklHX0ZCX0NGQl9DT1BZQVJFQT15Ci1DT05GSUdfRkJfQ0ZCX0lNQUdFQkxJVD15Ci0jIENPTkZJR19GQl9TWVNfRklMTFJFQ1QgaXMgbm90IHNldAotIyBDT05GSUdfRkJfU1lTX0NPUFlBUkVBIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1NZU19JTUFHRUJMSVQgaXMgbm90IHNldAotIyBDT05GSUdfRkJfU1lTX0ZPUFMgaXMgbm90IHNldAotQ09ORklHX0ZCX0RFRkVSUkVEX0lPPXkKLSMgQ09ORklHX0ZCX1NWR0FMSUIgaXMgbm90IHNldAotIyBDT05GSUdfRkJfTUFDTU9ERVMgaXMgbm90IHNldAotIyBDT05GSUdfRkJfQkFDS0xJR0hUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX01PREVfSEVMUEVSUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9USUxFQkxJVFRJTkcgaXMgbm90IHNldAotCi0jCi0jIEZyYW1lIGJ1ZmZlciBoYXJkd2FyZSBkcml2ZXJzCi0jCi0jIENPTkZJR19GQl9TMUQxM1hYWCBpcyBub3Qgc2V0Ci1DT05GSUdfRkJfUFhBPXkKLSMgQ09ORklHX0ZCX1BYQV9QQVJBTUVURVJTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX01CWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9WSVJUVUFMIGlzIG5vdCBzZXQKIAogIwogIyBDb25zb2xlIGRpc3BsYXkgZHJpdmVyIHN1cHBvcnQKICMKICMgQ09ORklHX1ZHQV9DT05TT0xFIGlzIG5vdCBzZXQKIENPTkZJR19EVU1NWV9DT05TT0xFPXkKLUNPTkZJR19GUkFNRUJVRkZFUl9DT05TT0xFPXkKLSMgQ09ORklHX0ZSQU1FQlVGRkVSX0NPTlNPTEVfUk9UQVRJT04gaXMgbm90IHNldAotIyBDT05GSUdfRk9OVFMgaXMgbm90IHNldAotQ09ORklHX0ZPTlRfOHg4PXkKLUNPTkZJR19GT05UXzh4MTY9eQotQ09ORklHX0xPR089eQotQ09ORklHX0xPR09fTElOVVhfTU9OTz15Ci1DT05GSUdfTE9HT19MSU5VWF9WR0ExNj15Ci1DT05GSUdfTE9HT19MSU5VWF9DTFVUMjI0PXkKIAogIwogIyBTb3VuZAogIwotQ09ORklHX1NPVU5EPW0KLQotIwotIyBBZHZhbmNlZCBMaW51eCBTb3VuZCBBcmNoaXRlY3R1cmUKLSMKLUNPTkZJR19TTkQ9bQotQ09ORklHX1NORF9USU1FUj1tCi1DT05GSUdfU05EX1BDTT1tCi0jIENPTkZJR19TTkRfU0VRVUVOQ0VSIGlzIG5vdCBzZXQKLUNPTkZJR19TTkRfT1NTRU1VTD15Ci1DT05GSUdfU05EX01JWEVSX09TUz1tCi1DT05GSUdfU05EX1BDTV9PU1M9bQotQ09ORklHX1NORF9QQ01fT1NTX1BMVUdJTlM9eQotIyBDT05GSUdfU05EX0RZTkFNSUNfTUlOT1JTIGlzIG5vdCBzZXQKLUNPTkZJR19TTkRfU1VQUE9SVF9PTERfQVBJPXkKLUNPTkZJR19TTkRfVkVSQk9TRV9QUk9DRlM9eQotIyBDT05GSUdfU05EX1ZFUkJPU0VfUFJJTlRLIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9ERUJVRyBpcyBub3Qgc2V0Ci0KLSMKLSMgR2VuZXJpYyBkZXZpY2VzCi0jCi1DT05GSUdfU05EX0FDOTdfQ09ERUM9bQotIyBDT05GSUdfU05EX0RVTU1ZIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9NVFBBViBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfU0VSSUFMX1UxNjU1MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfTVBVNDAxIGlzIG5vdCBzZXQKLQotIwotIyBBTFNBIEFSTSBkZXZpY2VzCi0jCi1DT05GSUdfU05EX1BYQTJYWF9QQ009bQotQ09ORklHX1NORF9QWEEyWFhfQUM5Nz1tCi0KLSMKLSMgVVNCIGRldmljZXMKLSMKLSMgQ09ORklHX1NORF9VU0JfQVVESU8gaXMgbm90IHNldAotIyBDT05GSUdfU05EX1VTQl9DQUlBUSBpcyBub3Qgc2V0Ci0KLSMKLSMgU3lzdGVtIG9uIENoaXAgYXVkaW8gc3VwcG9ydAotIwotIyBDT05GSUdfU05EX1NPQyBpcyBub3Qgc2V0Ci0KLSMKLSMgT3BlbiBTb3VuZCBTeXN0ZW0KLSMKLSMgQ09ORklHX1NPVU5EX1BSSU1FIGlzIG5vdCBzZXQKLUNPTkZJR19BQzk3X0JVUz1tCi0KLSMKLSMgSElEIERldmljZXMKLSMKKyMgQ09ORklHX1NPVU5EIGlzIG5vdCBzZXQKK0NPTkZJR19ISURfU1VQUE9SVD15CiBDT05GSUdfSElEPXkKICMgQ09ORklHX0hJRF9ERUJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19ISURSQVcgaXMgbm90IHNldAogCiAjCiAjIFVTQiBJbnB1dCBEZXZpY2VzCkBAIC04MzgsNDAgKzc0NywzOSBAQAogIyBDT05GSUdfVVNCX0hJRElOUFVUX1BPV0VSQk9PSyBpcyBub3Qgc2V0CiAjIENPTkZJR19ISURfRkYgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0hJRERFViBpcyBub3Qgc2V0Ci0KLSMKLSMgVVNCIHN1cHBvcnQKLSMKK0NPTkZJR19VU0JfU1VQUE9SVD15CiBDT05GSUdfVVNCX0FSQ0hfSEFTX0hDRD15Ci1DT05GSUdfVVNCX0FSQ0hfSEFTX09IQ0k9eQorIyBDT05GSUdfVVNCX0FSQ0hfSEFTX09IQ0kgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0FSQ0hfSEFTX0VIQ0kgaXMgbm90IHNldAogQ09ORklHX1VTQj15CiAjIENPTkZJR19VU0JfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0FOTk9VTkNFX05FV19ERVZJQ0VTIGlzIG5vdCBzZXQKIAogIwogIyBNaXNjZWxsYW5lb3VzIFVTQiBvcHRpb25zCiAjCiBDT05GSUdfVVNCX0RFVklDRUZTPXkKLSMgQ09ORklHX1VTQl9ERVZJQ0VfQ0xBU1MgaXMgbm90IHNldAorQ09ORklHX1VTQl9ERVZJQ0VfQ0xBU1M9eQogIyBDT05GSUdfVVNCX0RZTkFNSUNfTUlOT1JTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9TVVNQRU5EIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9PVEcgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX09UR19XSElURUxJU1QgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX09UR19CTEFDS0xJU1RfSFVCIGlzIG5vdCBzZXQKIAogIwogIyBVU0IgSG9zdCBDb250cm9sbGVyIERyaXZlcnMKICMKKyMgQ09ORklHX1VTQl9DNjdYMDBfSENEIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9JU1AxMTZYX0hDRCBpcyBub3Qgc2V0Ci1DT05GSUdfVVNCX09IQ0lfSENEPXkKLSMgQ09ORklHX1VTQl9PSENJX0JJR19FTkRJQU5fREVTQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfT0hDSV9CSUdfRU5ESUFOX01NSU8gaXMgbm90IHNldAotQ09ORklHX1VTQl9PSENJX0xJVFRMRV9FTkRJQU49eQorIyBDT05GSUdfVVNCX0lTUDE3NjBfSENEIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TTDgxMV9IQ0QgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1I4QTY2NTk3X0hDRCBpcyBub3Qgc2V0CiAKICMKICMgVVNCIERldmljZSBDbGFzcyBkcml2ZXJzCiAjCiAjIENPTkZJR19VU0JfQUNNIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9QUklOVEVSIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfUFJJTlRFUj15CisjIENPTkZJR19VU0JfV0RNIGlzIG5vdCBzZXQKIAogIwogIyBOT1RFOiBVU0JfU1RPUkFHRSBlbmFibGVzIFNDU0ksIGFuZCAnU0NTSSBkaXNrIHN1cHBvcnQnCkBAIC04ODIsMTUgKzc5MCwxOCBAQAogIwogQ09ORklHX1VTQl9TVE9SQUdFPXkKICMgQ09ORklHX1VTQl9TVE9SQUdFX0RFQlVHIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9TVE9SQUdFX0RBVEFGQUIgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1NUT1JBR0VfRlJFRUNPTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfU1RPUkFHRV9EUENNIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfU1RPUkFHRV9EQVRBRkFCPXkKK0NPTkZJR19VU0JfU1RPUkFHRV9GUkVFQ09NPXkKKyMgQ09ORklHX1VTQl9TVE9SQUdFX0lTRDIwMCBpcyBub3Qgc2V0CitDT05GSUdfVVNCX1NUT1JBR0VfRFBDTT15CiAjIENPTkZJR19VU0JfU1RPUkFHRV9VU0JBVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfU1RPUkFHRV9TRERSMDkgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1NUT1JBR0VfU0REUjU1IGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9TVE9SQUdFX0pVTVBTSE9UIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfU1RPUkFHRV9TRERSMDk9eQorQ09ORklHX1VTQl9TVE9SQUdFX1NERFI1NT15CitDT05GSUdfVVNCX1NUT1JBR0VfSlVNUFNIT1Q9eQogIyBDT05GSUdfVVNCX1NUT1JBR0VfQUxBVURBIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVE9SQUdFX09ORVRPVUNIIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX0tBUk1BIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVE9SQUdFX0NZUFJFU1NfQVRBQ0IgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0xJQlVTVUFMIGlzIG5vdCBzZXQKIAogIwpAQCAtOTAzLDEwICs4MTQsNiBAQAogIwogIyBVU0IgcG9ydCBkcml2ZXJzCiAjCi0KLSMKLSMgVVNCIFNlcmlhbCBDb252ZXJ0ZXIgc3VwcG9ydAotIwogIyBDT05GSUdfVVNCX1NFUklBTCBpcyBub3Qgc2V0CiAKICMKQEAgLTkzMSw2NSArODM4LDIzIEBACiAjIENPTkZJR19VU0JfVFJBTkNFVklCUkFUT1IgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0lPV0FSUklPUiBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfVEVTVCBpcyBub3Qgc2V0Ci0KLSMKLSMgVVNCIERTTCBtb2RlbSBzdXBwb3J0Ci0jCi0KLSMKLSMgVVNCIEdhZGdldCBTdXBwb3J0Ci0jCisjIENPTkZJR19VU0JfSVNJR0hURlcgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0dBREdFVCBpcyBub3Qgc2V0Ci1DT05GSUdfTU1DPW0KLSMgQ09ORklHX01NQ19ERUJVRyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NTUNfVU5TQUZFX1JFU1VNRSBpcyBub3Qgc2V0CisjIENPTkZJR19NTUMgaXMgbm90IHNldAorQ09ORklHX05FV19MRURTPXkKKyMgQ09ORklHX0xFRFNfQ0xBU1MgaXMgbm90IHNldAogCiAjCi0jIE1NQy9TRCBDYXJkIERyaXZlcnMKKyMgTEVEIGRyaXZlcnMKICMKLUNPTkZJR19NTUNfQkxPQ0s9bQogCiAjCi0jIE1NQy9TRCBIb3N0IENvbnRyb2xsZXIgRHJpdmVycworIyBMRUQgVHJpZ2dlcnMKICMKLUNPTkZJR19NTUNfUFhBPW0KLQotIwotIyBSZWFsIFRpbWUgQ2xvY2sKLSMKKyMgQ09ORklHX0xFRFNfVFJJR0dFUlMgaXMgbm90IHNldAogQ09ORklHX1JUQ19MSUI9eQotQ09ORklHX1JUQ19DTEFTUz1tCi0KLSMKLSMgUlRDIGludGVyZmFjZXMKLSMKLUNPTkZJR19SVENfSU5URl9TWVNGUz15Ci1DT05GSUdfUlRDX0lOVEZfUFJPQz15Ci1DT05GSUdfUlRDX0lOVEZfREVWPXkKLSMgQ09ORklHX1JUQ19JTlRGX0RFVl9VSUVfRU1VTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19SVENfRFJWX1RFU1QgaXMgbm90IHNldAotCi0jCi0jIEkyQyBSVEMgZHJpdmVycwotIwotCi0jCi0jIFNQSSBSVEMgZHJpdmVycwotIwotCi0jCi0jIFBsYXRmb3JtIFJUQyBkcml2ZXJzCi0jCi0jIENPTkZJR19SVENfRFJWX0NNT1MgaXMgbm90IHNldAotIyBDT05GSUdfUlRDX0RSVl9EUzE1NTMgaXMgbm90IHNldAotIyBDT05GSUdfUlRDX0RSVl9EUzE3NDIgaXMgbm90IHNldAotIyBDT05GSUdfUlRDX0RSVl9NNDhUODYgaXMgbm90IHNldAotQ09ORklHX1JUQ19EUlZfVjMwMjA9bQotCi0jCi0jIG9uLUNQVSBSVEMgZHJpdmVycwotIwotQ09ORklHX1JUQ19EUlZfU0ExMTAwPW0KKyMgQ09ORklHX1JUQ19DTEFTUyBpcyBub3Qgc2V0CisjIENPTkZJR19VSU8gaXMgbm90IHNldAogCiAjCiAjIEZpbGUgc3lzdGVtcwpAQCAtOTk4LDI1ICs4NjMsMjIgQEAKICMgQ09ORklHX0VYVDJfRlNfWEFUVFIgaXMgbm90IHNldAogIyBDT05GSUdfRVhUMl9GU19YSVAgaXMgbm90IHNldAogQ09ORklHX0VYVDNfRlM9eQotQ09ORklHX0VYVDNfRlNfWEFUVFI9eQotIyBDT05GSUdfRVhUM19GU19QT1NJWF9BQ0wgaXMgbm90IHNldAotIyBDT05GSUdfRVhUM19GU19TRUNVUklUWSBpcyBub3Qgc2V0CisjIENPTkZJR19FWFQzX0ZTX1hBVFRSIGlzIG5vdCBzZXQKICMgQ09ORklHX0VYVDRERVZfRlMgaXMgbm90IHNldAogQ09ORklHX0pCRD15Ci0jIENPTkZJR19KQkRfREVCVUcgaXMgbm90IHNldAotQ09ORklHX0ZTX01CQ0FDSEU9eQogIyBDT05GSUdfUkVJU0VSRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfSkZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19YRlNfRlMgaXMgbm90IHNldAotIyBDT05GSUdfR0ZTMl9GUyBpcyBub3Qgc2V0CitDT05GSUdfWEZTX0ZTPXkKKyMgQ09ORklHX1hGU19RVU9UQSBpcyBub3Qgc2V0CisjIENPTkZJR19YRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1hGU19SVCBpcyBub3Qgc2V0CisjIENPTkZJR19YRlNfREVCVUcgaXMgbm90IHNldAogIyBDT05GSUdfT0NGUzJfRlMgaXMgbm90IHNldAotIyBDT05GSUdfTUlOSVhfRlMgaXMgbm90IHNldAotIyBDT05GSUdfUk9NRlNfRlMgaXMgbm90IHNldAorQ09ORklHX0ROT1RJRlk9eQogQ09ORklHX0lOT1RJRlk9eQogQ09ORklHX0lOT1RJRllfVVNFUj15CiAjIENPTkZJR19RVU9UQSBpcyBub3Qgc2V0Ci1DT05GSUdfRE5PVElGWT15CiAjIENPTkZJR19BVVRPRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQVVUT0ZTNF9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19GVVNFX0ZTIGlzIG5vdCBzZXQKQEAgLTEwMjQsOCArODg2LDExIEBACiAjCiAjIENELVJPTS9EVkQgRmlsZXN5c3RlbXMKICMKLSMgQ09ORklHX0lTTzk2NjBfRlMgaXMgbm90IHNldAotIyBDT05GSUdfVURGX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19JU085NjYwX0ZTPXkKKyMgQ09ORklHX0pPTElFVCBpcyBub3Qgc2V0CisjIENPTkZJR19aSVNPRlMgaXMgbm90IHNldAorQ09ORklHX1VERl9GUz1tCitDT05GSUdfVURGX05MUz15CiAKICMKICMgRE9TL0ZBVC9OVCBGaWxlc3lzdGVtcwpAQCAtMTA0Niw3ICs5MTEsNiBAQAogQ09ORklHX1RNUEZTPXkKICMgQ09ORklHX1RNUEZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0CiAjIENPTkZJR19IVUdFVExCX1BBR0UgaXMgbm90IHNldAotQ09ORklHX1JBTUZTPXkKICMgQ09ORklHX0NPTkZJR0ZTX0ZTIGlzIG5vdCBzZXQKIAogIwpAQCAtMTA2MiwyNyArOTI2LDI3IEBACiBDT05GSUdfSkZGUzJfRlM9eQogQ09ORklHX0pGRlMyX0ZTX0RFQlVHPTAKIENPTkZJR19KRkZTMl9GU19XUklURUJVRkZFUj15Ci1DT05GSUdfSkZGUzJfU1VNTUFSWT15CisjIENPTkZJR19KRkZTMl9GU19XQlVGX1ZFUklGWSBpcyBub3Qgc2V0CisjIENPTkZJR19KRkZTMl9TVU1NQVJZIGlzIG5vdCBzZXQKICMgQ09ORklHX0pGRlMyX0ZTX1hBVFRSIGlzIG5vdCBzZXQKICMgQ09ORklHX0pGRlMyX0NPTVBSRVNTSU9OX09QVElPTlMgaXMgbm90IHNldAogQ09ORklHX0pGRlMyX1pMSUI9eQorIyBDT05GSUdfSkZGUzJfTFpPIGlzIG5vdCBzZXQKIENPTkZJR19KRkZTMl9SVElNRT15CiAjIENPTkZJR19KRkZTMl9SVUJJTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUkFNRlMgaXMgbm90IHNldAorQ09ORklHX0NSQU1GUz15CiAjIENPTkZJR19WWEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX01JTklYX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0hQRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfUU5YNEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JPTUZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NZU1ZfRlMgaXMgbm90IHNldAogIyBDT05GSUdfVUZTX0ZTIGlzIG5vdCBzZXQKLQotIwotIyBOZXR3b3JrIEZpbGUgU3lzdGVtcwotIworQ09ORklHX05FVFdPUktfRklMRVNZU1RFTVM9eQogQ09ORklHX05GU19GUz15CiBDT05GSUdfTkZTX1YzPXkKICMgQ09ORklHX05GU19WM19BQ0wgaXMgbm90IHNldAogIyBDT05GSUdfTkZTX1Y0IGlzIG5vdCBzZXQKLSMgQ09ORklHX05GU19ESVJFQ1RJTyBpcyBub3Qgc2V0CiAjIENPTkZJR19ORlNEIGlzIG5vdCBzZXQKIENPTkZJR19ST09UX05GUz15CiBDT05GSUdfTE9DS0Q9eQpAQCAtMTA5MiwyOSArOTU2LDQwIEBACiAjIENPTkZJR19TVU5SUENfQklORDM0IGlzIG5vdCBzZXQKICMgQ09ORklHX1JQQ1NFQ19HU1NfS1JCNSBpcyBub3Qgc2V0CiAjIENPTkZJR19SUENTRUNfR1NTX1NQS00zIGlzIG5vdCBzZXQKLUNPTkZJR19TTUJfRlM9eQotIyBDT05GSUdfU01CX05MU19ERUZBVUxUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NNQl9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19DSUZTIGlzIG5vdCBzZXQKICMgQ09ORklHX05DUF9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19DT0RBX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0FGU19GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR185UF9GUyBpcyBub3Qgc2V0CiAKICMKICMgUGFydGl0aW9uIFR5cGVzCiAjCi0jIENPTkZJR19QQVJUSVRJT05fQURWQU5DRUQgaXMgbm90IHNldAorQ09ORklHX1BBUlRJVElPTl9BRFZBTkNFRD15CisjIENPTkZJR19BQ09STl9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfT1NGX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19BTUlHQV9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfQVRBUklfUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BQ19QQVJUSVRJT04gaXMgbm90IHNldAogQ09ORklHX01TRE9TX1BBUlRJVElPTj15Ci0KLSMKLSMgTmF0aXZlIExhbmd1YWdlIFN1cHBvcnQKLSMKK0NPTkZJR19CU0RfRElTS0xBQkVMPXkKK0NPTkZJR19NSU5JWF9TVUJQQVJUSVRJT049eQorQ09ORklHX1NPTEFSSVNfWDg2X1BBUlRJVElPTj15CitDT05GSUdfVU5JWFdBUkVfRElTS0xBQkVMPXkKK0NPTkZJR19MRE1fUEFSVElUSU9OPXkKK0NPTkZJR19MRE1fREVCVUc9eQorIyBDT05GSUdfU0dJX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19VTFRSSVhfUEFSVElUSU9OIGlzIG5vdCBzZXQKK0NPTkZJR19TVU5fUEFSVElUSU9OPXkKKyMgQ09ORklHX0tBUk1BX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19FRklfUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NZU1Y2OF9QQVJUSVRJT04gaXMgbm90IHNldAogQ09ORklHX05MUz15CiBDT05GSUdfTkxTX0RFRkFVTFQ9Imlzbzg4NTktMSIKIENPTkZJR19OTFNfQ09ERVBBR0VfNDM3PXkKICMgQ09ORklHX05MU19DT0RFUEFHRV83MzcgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0NPREVQQUdFXzc3NSBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfODUwIGlzIG5vdCBzZXQKK0NPTkZJR19OTFNfQ09ERVBBR0VfODUwPXkKICMgQ09ORklHX05MU19DT0RFUEFHRV84NTIgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1NSBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfODU3IGlzIG5vdCBzZXQKQEAgLTExMzYsNyArMTAxMSw3IEBACiAjIENPTkZJR19OTFNfQ09ERVBBR0VfMTI1MSBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfQVNDSUkgaXMgbm90IHNldAogQ09ORklHX05MU19JU084ODU5XzE9eQotIyBDT05GSUdfTkxTX0lTTzg4NTlfMiBpcyBub3Qgc2V0CitDT05GSUdfTkxTX0lTTzg4NTlfMj15CiAjIENPTkZJR19OTFNfSVNPODg1OV8zIGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19JU084ODU5XzQgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0lTTzg4NTlfNSBpcyBub3Qgc2V0CkBAIC0xMTQ4LDExNSArMTAyMywxMjIgQEAKICMgQ09ORklHX05MU19JU084ODU5XzE1IGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19LT0k4X1IgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0tPSThfVSBpcyBub3Qgc2V0Ci1DT05GSUdfTkxTX1VURjg9eQotCi0jCi0jIERpc3RyaWJ1dGVkIExvY2sgTWFuYWdlcgotIworIyBDT05GSUdfTkxTX1VURjggaXMgbm90IHNldAogIyBDT05GSUdfRExNIGlzIG5vdCBzZXQKIAogIwotIyBQcm9maWxpbmcgc3VwcG9ydAotIwotIyBDT05GSUdfUFJPRklMSU5HIGlzIG5vdCBzZXQKLQotIwogIyBLZXJuZWwgaGFja2luZwogIwogIyBDT05GSUdfUFJJTlRLX1RJTUUgaXMgbm90IHNldAorQ09ORklHX0VOQUJMRV9XQVJOX0RFUFJFQ0FURUQ9eQogQ09ORklHX0VOQUJMRV9NVVNUX0NIRUNLPXkKK0NPTkZJR19GUkFNRV9XQVJOPTEwMjQKIENPTkZJR19NQUdJQ19TWVNSUT15CiAjIENPTkZJR19VTlVTRURfU1lNQk9MUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19IRUFERVJTX0NIRUNLIGlzIG5vdCBzZXQKLUNPTkZJR19ERUJVR19LRVJORUw9eQotIyBDT05GSUdfREVCVUdfU0hJUlEgaXMgbm90IHNldAotIyBDT05GSUdfREVURUNUX1NPRlRMT0NLVVAgaXMgbm90IHNldAotIyBDT05GSUdfU0NIRURTVEFUUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19USU1FUl9TVEFUUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUJVR19TTEFCIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFQlVHX1JUX01VVEVYRVMgaXMgbm90IHNldAotIyBDT05GSUdfUlRfTVVURVhfVEVTVEVSIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFQlVHX1NQSU5MT0NLIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFQlVHX01VVEVYRVMgaXMgbm90IHNldAotIyBDT05GSUdfREVCVUdfTE9DS19BTExPQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19QUk9WRV9MT0NLSU5HIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFQlVHX1NQSU5MT0NLX1NMRUVQIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFQlVHX0xPQ0tJTkdfQVBJX1NFTEZURVNUUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUJVR19LT0JKRUNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX0tFUk5FTCBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19CVUdWRVJCT1NFIGlzIG5vdCBzZXQKLUNPTkZJR19ERUJVR19JTkZPPXkKLSMgQ09ORklHX0RFQlVHX1ZNIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFQlVHX0xJU1QgaXMgbm90IHNldAogQ09ORklHX0ZSQU1FX1BPSU5URVI9eQotQ09ORklHX0ZPUkNFRF9JTkxJTklORz15Ci0jIENPTkZJR19SQ1VfVE9SVFVSRV9URVNUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZBVUxUX0lOSkVDVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19MQVRFTkNZVE9QIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBTVBMRVMgaXMgbm90IHNldAogQ09ORklHX0RFQlVHX1VTRVI9eQotQ09ORklHX0RFQlVHX0VSUk9SUz15Ci1DT05GSUdfREVCVUdfTEw9eQotIyBDT05GSUdfREVCVUdfSUNFRENDIGlzIG5vdCBzZXQKIAogIwogIyBTZWN1cml0eSBvcHRpb25zCiAjCiAjIENPTkZJR19LRVlTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NFQ1VSSVRZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFQ1VSSVRZX0ZJTEVfQ0FQQUJJTElUSUVTIGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE89eQogCiAjCi0jIENyeXB0b2dyYXBoaWMgb3B0aW9ucworIyBDcnlwdG8gY29yZSBvciBoZWxwZXIKICMKLUNPTkZJR19DUllQVE89eQogQ09ORklHX0NSWVBUT19BTEdBUEk9bQogQ09ORklHX0NSWVBUT19CTEtDSVBIRVI9bQogQ09ORklHX0NSWVBUT19NQU5BR0VSPW0KLSMgQ09ORklHX0NSWVBUT19ITUFDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19YQ0JDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19OVUxMIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19NRDQgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX01ENSBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fU0hBMSBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fU0hBMjU2IGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19TSEE1MTIgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1dQNTEyIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19UR1IxOTIgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0dGMTI4TVVMIGlzIG5vdCBzZXQKLUNPTkZJR19DUllQVE9fRUNCPW0KLUNPTkZJR19DUllQVE9fQ0JDPW0KLUNPTkZJR19DUllQVE9fUENCQz1tCi0jIENPTkZJR19DUllQVE9fTFJXIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19OVUxMIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19DUllQVEQgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0RFUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fRkNSWVBUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19CTE9XRklTSCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fVFdPRklTSCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fU0VSUEVOVCBpcyBub3Qgc2V0Ci1DT05GSUdfQ1JZUFRPX0FFUz1tCi0jIENPTkZJR19DUllQVE9fQ0FTVDUgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0NBU1Q2IGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19URUEgaXMgbm90IHNldAotQ09ORklHX0NSWVBUT19BUkM0PW0KLSMgQ09ORklHX0NSWVBUT19LSEFaQUQgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0FOVUJJUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fREVGTEFURSBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fTUlDSEFFTF9NSUMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0NSQzMyQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQ0FNRUxMSUEgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0FVVEhFTkMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1RFU1QgaXMgbm90IHNldAogCiAjCi0jIEhhcmR3YXJlIGNyeXB0byBkZXZpY2VzCisjIEF1dGhlbnRpY2F0ZWQgRW5jcnlwdGlvbiB3aXRoIEFzc29jaWF0ZWQgRGF0YQogIworIyBDT05GSUdfQ1JZUFRPX0NDTSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fR0NNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TRVFJViBpcyBub3Qgc2V0CisKKyMKKyMgQmxvY2sgbW9kZXMKKyMKK0NPTkZJR19DUllQVE9fQ0JDPW0KKyMgQ09ORklHX0NSWVBUT19DVFIgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NUUyBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX0VDQj1tCisjIENPTkZJR19DUllQVE9fTFJXIGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fUENCQz1tCisjIENPTkZJR19DUllQVE9fWFRTIGlzIG5vdCBzZXQKKworIworIyBIYXNoIG1vZGVzCisjCisjIENPTkZJR19DUllQVE9fSE1BQyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fWENCQyBpcyBub3Qgc2V0CisKKyMKKyMgRGlnZXN0CisjCisjIENPTkZJR19DUllQVE9fQ1JDMzJDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19NRDQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX01ENSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fTUlDSEFFTF9NSUMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NIQTEgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NIQTI1NiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0hBNTEyIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19UR1IxOTIgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1dQNTEyIGlzIG5vdCBzZXQKKworIworIyBDaXBoZXJzCisjCisjIENPTkZJR19DUllQVE9fQUVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19BTlVCSVMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0FSQzQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0JMT1dGSVNIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DQU1FTExJQSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ0FTVDUgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NBU1Q2IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19ERVMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0ZDUllQVCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fS0hBWkFEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TQUxTQTIwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TRUVEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TRVJQRU5UIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19URUEgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1RXT0ZJU0ggaXMgbm90IHNldAorCisjCisjIENvbXByZXNzaW9uCisjCisjIENPTkZJR19DUllQVE9fREVGTEFURSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fTFpPIGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fSFc9eQogCiAjCiAjIExpYnJhcnkgcm91dGluZXMKICMKIENPTkZJR19CSVRSRVZFUlNFPXkKLSMgQ09ORklHX0NSQ19DQ0lUVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUkMxNiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUkNfSVRVX1QgaXMgbm90IHNldAorIyBDT05GSUdfR0VORVJJQ19GSU5EX0ZJUlNUX0JJVCBpcyBub3Qgc2V0CisjIENPTkZJR19HRU5FUklDX0ZJTkRfTkVYVF9CSVQgaXMgbm90IHNldAorQ09ORklHX0NSQ19DQ0lUVD15CitDT05GSUdfQ1JDMTY9eQorQ09ORklHX0NSQ19JVFVfVD1tCiBDT05GSUdfQ1JDMzI9eQotIyBDT05GSUdfTElCQ1JDMzJDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSQzcgaXMgbm90IHNldAorQ09ORklHX0xJQkNSQzMyQz15CiBDT05GSUdfWkxJQl9JTkZMQVRFPXkKIENPTkZJR19aTElCX0RFRkxBVEU9eQogQ09ORklHX1BMSVNUPXkKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvbHBkMjcwX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvbHBkMjcwX2RlZmNvbmZpZwppbmRleCBhM2JmNTgzLi4xYTM4ZDhlIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL2xwZDI3MF9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9scGQyNzBfZGVmY29uZmlnCkBAIC0xNzMsNyArMTczLDYgQEAKICMgS2VybmVsIEZlYXR1cmVzCiAjCiAjIENPTkZJR19QUkVFTVBUIGlzIG5vdCBzZXQKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX0haPTEwMAogIyBDT05GSUdfQUVBQkkgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvbHBkN2E0MDRfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9scGQ3YTQwNF9kZWZjb25maWcKaW5kZXggNDZhMGY3Zi4uN2EyZTkzMiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9scGQ3YTQwNF9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9scGQ3YTQwNF9kZWZjb25maWcKQEAgLTE0OCw3ICsxNDgsNiBAQAogIyBLZXJuZWwgRmVhdHVyZXMKICMKIENPTkZJR19QUkVFTVBUPXkKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogIyBDT05GSUdfQUVBQkkgaXMgbm90IHNldAogQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRT15CiBDT05GSUdfU0VMRUNUX01FTU9SWV9NT0RFTD15CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL2NtX3gyNzBfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9tdjc4eHgwX2RlZmNvbmZpZwpzaW1pbGFyaXR5IGluZGV4IDYxJQpjb3B5IGZyb20gYXJjaC9hcm0vY29uZmlncy9jbV94MjcwX2RlZmNvbmZpZwpjb3B5IHRvIGFyY2gvYXJtL2NvbmZpZ3MvbXY3OHh4MF9kZWZjb25maWcKaW5kZXggNWNhYjA4My4uZDM4ZWJmOCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9jbV94MjcwX2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL212Nzh4eDBfZGVmY29uZmlnCkBAIC0xLDE3ICsxLDE4IEBACiAjCiAjIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIG1ha2UgY29uZmlnOiBkb24ndCBlZGl0Ci0jIExpbnV4IGtlcm5lbCB2ZXJzaW9uOiAyLjYuMjIKLSMgV2VkIEp1bCAxOCAxNDoxMTo0OCAyMDA3CisjIExpbnV4IGtlcm5lbCB2ZXJzaW9uOiAyLjYuMjYtcmM1CisjIEZyaSBKdW4gMTMgMDI6NTc6MzIgMjAwOAogIwogQ09ORklHX0FSTT15CiBDT05GSUdfU1lTX1NVUFBPUlRTX0FQTV9FTVVMQVRJT049eQotQ09ORklHX0dFTkVSSUNfR1BJTz15CisjIENPTkZJR19HRU5FUklDX0dQSU8gaXMgbm90IHNldAogQ09ORklHX0dFTkVSSUNfVElNRT15Ci0jIENPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTIGlzIG5vdCBzZXQKK0NPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTPXkKIENPTkZJR19NTVU9eQogIyBDT05GSUdfTk9fSU9QT1JUIGlzIG5vdCBzZXQKIENPTkZJR19HRU5FUklDX0hBUkRJUlFTPXkKIENPTkZJR19TVEFDS1RSQUNFX1NVUFBPUlQ9eQorQ09ORklHX0hBVkVfTEFURU5DWVRPUF9TVVBQT1JUPXkKIENPTkZJR19MT0NLREVQX1NVUFBPUlQ9eQogQ09ORklHX1RSQUNFX0lSUUZMQUdTX1NVUFBPUlQ9eQogQ09ORklHX0hBUkRJUlFTX1NXX1JFU0VORD15CkBAIC0yMSw3MSArMjIsODMgQEAKICMgQ09ORklHX0FSQ0hfSEFTX0lMT0cyX1U2NCBpcyBub3Qgc2V0CiBDT05GSUdfR0VORVJJQ19IV0VJR0hUPXkKIENPTkZJR19HRU5FUklDX0NBTElCUkFURV9ERUxBWT15CitDT05GSUdfQVJDSF9TVVBQT1JUU19BT1VUPXkKIENPTkZJR19aT05FX0RNQT15Ci1DT05GSUdfQVJDSF9NVERfWElQPXkKIENPTkZJR19WRUNUT1JTX0JBU0U9MHhmZmZmMDAwMAogQ09ORklHX0RFRkNPTkZJR19MSVNUPSIvbGliL21vZHVsZXMvJFVOQU1FX1JFTEVBU0UvLmNvbmZpZyIKIAogIwotIyBDb2RlIG1hdHVyaXR5IGxldmVsIG9wdGlvbnMKKyMgR2VuZXJhbCBzZXR1cAogIwogQ09ORklHX0VYUEVSSU1FTlRBTD15CiBDT05GSUdfQlJPS0VOX09OX1NNUD15CitDT05GSUdfTE9DS19LRVJORUw9eQogQ09ORklHX0lOSVRfRU5WX0FSR19MSU1JVD0zMgotCi0jCi0jIEdlbmVyYWwgc2V0dXAKLSMKIENPTkZJR19MT0NBTFZFUlNJT049IiIKLSMgQ09ORklHX0xPQ0FMVkVSU0lPTl9BVVRPIGlzIG5vdCBzZXQKK0NPTkZJR19MT0NBTFZFUlNJT05fQVVUTz15CiBDT05GSUdfU1dBUD15CiBDT05GSUdfU1lTVklQQz15CiBDT05GSUdfU1lTVklQQ19TWVNDVEw9eQogIyBDT05GSUdfUE9TSVhfTVFVRVVFIGlzIG5vdCBzZXQKICMgQ09ORklHX0JTRF9QUk9DRVNTX0FDQ1QgaXMgbm90IHNldAogIyBDT05GSUdfVEFTS1NUQVRTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTRVJfTlMgaXMgbm90IHNldAogIyBDT05GSUdfQVVESVQgaXMgbm90IHNldAotQ09ORklHX0lLQ09ORklHPXkKLUNPTkZJR19JS0NPTkZJR19QUk9DPXkKLUNPTkZJR19MT0dfQlVGX1NISUZUPTE3CisjIENPTkZJR19JS0NPTkZJRyBpcyBub3Qgc2V0CitDT05GSUdfTE9HX0JVRl9TSElGVD0xNAorIyBDT05GSUdfQ0dST1VQUyBpcyBub3Qgc2V0CisjIENPTkZJR19HUk9VUF9TQ0hFRCBpcyBub3Qgc2V0CiBDT05GSUdfU1lTRlNfREVQUkVDQVRFRD15CitDT05GSUdfU1lTRlNfREVQUkVDQVRFRF9WMj15CiAjIENPTkZJR19SRUxBWSBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9JTklUUkQ9eQotQ09ORklHX0lOSVRSQU1GU19TT1VSQ0U9IiIKKyMgQ09ORklHX05BTUVTUEFDRVMgaXMgbm90IHNldAorIyBDT05GSUdfQkxLX0RFVl9JTklUUkQgaXMgbm90IHNldAogQ09ORklHX0NDX09QVElNSVpFX0ZPUl9TSVpFPXkKIENPTkZJR19TWVNDVEw9eQogQ09ORklHX0VNQkVEREVEPXkKIENPTkZJR19VSUQxNj15CiBDT05GSUdfU1lTQ1RMX1NZU0NBTEw9eQorQ09ORklHX1NZU0NUTF9TWVNDQUxMX0NIRUNLPXkKIENPTkZJR19LQUxMU1lNUz15Ci0jIENPTkZJR19LQUxMU1lNU19BTEwgaXMgbm90IHNldAorQ09ORklHX0tBTExTWU1TX0FMTD15CiAjIENPTkZJR19LQUxMU1lNU19FWFRSQV9QQVNTIGlzIG5vdCBzZXQKIENPTkZJR19IT1RQTFVHPXkKIENPTkZJR19QUklOVEs9eQogQ09ORklHX0JVRz15CiBDT05GSUdfRUxGX0NPUkU9eQorQ09ORklHX0NPTVBBVF9CUks9eQogQ09ORklHX0JBU0VfRlVMTD15CiBDT05GSUdfRlVURVg9eQogQ09ORklHX0FOT05fSU5PREVTPXkKLSMgQ09ORklHX0VQT0xMIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NJR05BTEZEIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RJTUVSRkQgaXMgbm90IHNldAotIyBDT05GSUdfRVZFTlRGRCBpcyBub3Qgc2V0CitDT05GSUdfRVBPTEw9eQorQ09ORklHX1NJR05BTEZEPXkKK0NPTkZJR19USU1FUkZEPXkKK0NPTkZJR19FVkVOVEZEPXkKIENPTkZJR19TSE1FTT15CiBDT05GSUdfVk1fRVZFTlRfQ09VTlRFUlM9eQotQ09ORklHX1NMQUI9eQotIyBDT05GSUdfU0xVQiBpcyBub3Qgc2V0CisjIENPTkZJR19TTFVCX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NMQUIgaXMgbm90IHNldAorQ09ORklHX1NMVUI9eQogIyBDT05GSUdfU0xPQiBpcyBub3Qgc2V0CitDT05GSUdfUFJPRklMSU5HPXkKKyMgQ09ORklHX01BUktFUlMgaXMgbm90IHNldAorQ09ORklHX09QUk9GSUxFPXkKK0NPTkZJR19IQVZFX09QUk9GSUxFPXkKK0NPTkZJR19LUFJPQkVTPXkKK0NPTkZJR19LUkVUUFJPQkVTPXkKK0NPTkZJR19IQVZFX0tQUk9CRVM9eQorQ09ORklHX0hBVkVfS1JFVFBST0JFUz15CisjIENPTkZJR19IQVZFX0RNQV9BVFRSUyBpcyBub3Qgc2V0CitDT05GSUdfUFJPQ19QQUdFX01PTklUT1I9eQogQ09ORklHX1JUX01VVEVYRVM9eQogIyBDT05GSUdfVElOWV9TSE1FTSBpcyBub3Qgc2V0CiBDT05GSUdfQkFTRV9TTUFMTD0wCiBDT05GSUdfTU9EVUxFUz15CisjIENPTkZJR19NT0RVTEVfRk9SQ0VfTE9BRCBpcyBub3Qgc2V0CiBDT05GSUdfTU9EVUxFX1VOTE9BRD15Ci1DT05GSUdfTU9EVUxFX0ZPUkNFX1VOTE9BRD15CisjIENPTkZJR19NT0RVTEVfRk9SQ0VfVU5MT0FEIGlzIG5vdCBzZXQKICMgQ09ORklHX01PRFZFUlNJT05TIGlzIG5vdCBzZXQKICMgQ09ORklHX01PRFVMRV9TUkNWRVJTSU9OX0FMTCBpcyBub3Qgc2V0Ci1DT05GSUdfS01PRD15CisjIENPTkZJR19LTU9EIGlzIG5vdCBzZXQKIENPTkZJR19CTE9DSz15CiAjIENPTkZJR19MQkQgaXMgbm90IHNldAogIyBDT05GSUdfQkxLX0RFVl9JT19UUkFDRSBpcyBub3Qgc2V0CkBAIC05OSwxMSArMTEyLDEyIEBACiBDT05GSUdfSU9TQ0hFRF9BUz15CiBDT05GSUdfSU9TQ0hFRF9ERUFETElORT15CiBDT05GSUdfSU9TQ0hFRF9DRlE9eQotQ09ORklHX0RFRkFVTFRfQVM9eQorIyBDT05GSUdfREVGQVVMVF9BUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUZBVUxUX0RFQURMSU5FIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFRkFVTFRfQ0ZRIGlzIG5vdCBzZXQKK0NPTkZJR19ERUZBVUxUX0NGUT15CiAjIENPTkZJR19ERUZBVUxUX05PT1AgaXMgbm90IHNldAotQ09ORklHX0RFRkFVTFRfSU9TQ0hFRD0iYW50aWNpcGF0b3J5IgorQ09ORklHX0RFRkFVTFRfSU9TQ0hFRD0iY2ZxIgorQ09ORklHX0NMQVNTSUNfUkNVPXkKIAogIwogIyBTeXN0ZW0gVHlwZQpAQCAtMTI5LDEwICsxNDMsMTUgQEAKICMgQ09ORklHX0FSQ0hfSVhQMjAwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0lYUDRYWCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0w3MjAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfS0lSS1dPT0QgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9LUzg2OTUgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9OUzlYWFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9MT0tJIGlzIG5vdCBzZXQKK0NPTkZJR19BUkNIX01WNzhYWDA9eQorIyBDT05GSUdfQVJDSF9NWEMgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9PUklPTjVYIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfUE5YNDAwOCBpcyBub3Qgc2V0Ci1DT05GSUdfQVJDSF9QWEE9eQorIyBDT05GSUdfQVJDSF9QWEEgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9SUEMgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9TQTExMDAgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9TM0MyNDEwIGlzIG5vdCBzZXQKQEAgLTE0MCwyOSArMTU5LDM0IEBACiAjIENPTkZJR19BUkNIX0xIN0E0MFggaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9EQVZJTkNJIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfT01BUCBpcyBub3Qgc2V0Ci1DT05GSUdfRE1BQk9VTkNFPXkKKyMgQ09ORklHX0FSQ0hfTVNNN1gwMEEgaXMgbm90IHNldAogCiAjCi0jIEludGVsIFBYQTJ4eCBJbXBsZW1lbnRhdGlvbnMKKyMgTWFydmVsbCBNVjc4eHgwIEltcGxlbWVudGF0aW9ucwogIwotIyBDT05GSUdfQVJDSF9MVUJCT0NLIGlzIG5vdCBzZXQKLSMgQ09ORklHX01BQ0hfTE9HSUNQRF9QWEEyNzAgaXMgbm90IHNldAotIyBDT05GSUdfTUFDSF9NQUlOU1RPTkUgaXMgbm90IHNldAotIyBDT05GSUdfQVJDSF9QWEFfSURQIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BYQV9TSEFSUFNMIGlzIG5vdCBzZXQKLSMgQ09ORklHX01BQ0hfVFJJWkVQUzQgaXMgbm90IHNldAotQ09ORklHX01BQ0hfQVJNQ09SRT15Ci1DT05GSUdfUFhBMjd4PXkKK0NPTkZJR19NQUNIX0RCNzhYMDBfQlA9eQorCisjCisjIEJvb3Qgb3B0aW9ucworIworCisjCisjIFBvd2VyIG1hbmFnZW1lbnQKKyMKK0NPTkZJR19QTEFUX09SSU9OPXkKIAogIwogIyBQcm9jZXNzb3IgVHlwZQogIwogQ09ORklHX0NQVV8zMj15Ci1DT05GSUdfQ1BVX1hTQ0FMRT15CitDT05GSUdfQ1BVX0ZFUk9DRU9OPXkKK0NPTkZJR19DUFVfRkVST0NFT05fT0xEX0lEPXkKIENPTkZJR19DUFVfMzJ2NT15CiBDT05GSUdfQ1BVX0FCUlRfRVY1VD15CitDT05GSUdfQ1BVX1BBQlJUX05PSUZBUj15CiBDT05GSUdfQ1BVX0NBQ0hFX1ZJVlQ9eQotQ09ORklHX0NQVV9UTEJfVjRXQkk9eQorQ09ORklHX0NQVV9DT1BZX0ZFUk9DRU9OPXkKK0NPTkZJR19DUFVfVExCX0ZFUk9DRU9OPXkKIENPTkZJR19DUFVfQ1AxNT15CiBDT05GSUdfQ1BVX0NQMTVfTU1VPXkKIApAQCAtMTcwLDMzICsxOTQsMzIgQEAKICMgUHJvY2Vzc29yIEZlYXR1cmVzCiAjCiBDT05GSUdfQVJNX1RIVU1CPXkKKyMgQ09ORklHX0NQVV9JQ0FDSEVfRElTQUJMRSBpcyBub3Qgc2V0CiAjIENPTkZJR19DUFVfRENBQ0hFX0RJU0FCTEUgaXMgbm90IHNldAotIyBDT05GSUdfT1VURVJfQ0FDSEUgaXMgbm90IHNldAotQ09ORklHX0lXTU1YVD15Ci1DT05GSUdfWFNDQUxFX1BNVT15CitDT05GSUdfT1VURVJfQ0FDSEU9eQorQ09ORklHX0NBQ0hFX0ZFUk9DRU9OX0wyPXkKIAogIwogIyBCdXMgc3VwcG9ydAogIwogQ09ORklHX1BDST15CiBDT05GSUdfUENJX1NZU0NBTEw9eQotQ09ORklHX1BDSV9IT1NUX0lURTgxNTI9eQogIyBDT05GSUdfQVJDSF9TVVBQT1JUU19NU0kgaXMgbm90IHNldAorQ09ORklHX1BDSV9MRUdBQ1k9eQogIyBDT05GSUdfUENJX0RFQlVHIGlzIG5vdCBzZXQKLQotIwotIyBQQ0NBUkQgKFBDTUNJQS9DYXJkQnVzKSBzdXBwb3J0Ci0jCiAjIENPTkZJR19QQ0NBUkQgaXMgbm90IHNldAogCiAjCiAjIEtlcm5lbCBGZWF0dXJlcwogIwotIyBDT05GSUdfVElDS19PTkVTSE9UIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BSRUVNUFQgaXMgbm90IHNldAotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CitDT05GSUdfVElDS19PTkVTSE9UPXkKK0NPTkZJR19OT19IWj15CitDT05GSUdfSElHSF9SRVNfVElNRVJTPXkKK0NPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTX0JVSUxEPXkKK0NPTkZJR19QUkVFTVBUPXkKIENPTkZJR19IWj0xMDAKLSMgQ09ORklHX0FFQUJJIGlzIG5vdCBzZXQKK0NPTkZJR19BRUFCST15CitDT05GSUdfT0FCSV9DT01QQVQ9eQogIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKIENPTkZJR19TRUxFQ1RfTUVNT1JZX01PREVMPXkKIENPTkZJR19GTEFUTUVNX01BTlVBTD15CkBAIC0yMDUsNiArMjI4LDggQEAKIENPTkZJR19GTEFUTUVNPXkKIENPTkZJR19GTEFUX05PREVfTUVNX01BUD15CiAjIENPTkZJR19TUEFSU0VNRU1fU1RBVElDIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQQVJTRU1FTV9WTUVNTUFQX0VOQUJMRSBpcyBub3Qgc2V0CitDT05GSUdfUEFHRUZMQUdTX0VYVEVOREVEPXkKIENPTkZJR19TUExJVF9QVExPQ0tfQ1BVUz00MDk2CiAjIENPTkZJR19SRVNPVVJDRVNfNjRCSVQgaXMgbm90IHNldAogQ09ORklHX1pPTkVfRE1BX0ZMQUc9MQpAQCAtMjMxLDYgKzI1Niw3IEBACiBDT05GSUdfRlBFX05XRlBFPXkKICMgQ09ORklHX0ZQRV9OV0ZQRV9YUCBpcyBub3Qgc2V0CiAjIENPTkZJR19GUEVfRkFTVEZQRSBpcyBub3Qgc2V0CitDT05GSUdfVkZQPXkKIAogIwogIyBVc2Vyc3BhY2UgYmluYXJ5IGZvcm1hdHMKQEAgLTIzOCwxNiArMjY0LDEyIEBACiBDT05GSUdfQklORk1UX0VMRj15CiAjIENPTkZJR19CSU5GTVRfQU9VVCBpcyBub3Qgc2V0CiAjIENPTkZJR19CSU5GTVRfTUlTQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19BUlRIVVIgaXMgbm90IHNldAogCiAjCiAjIFBvd2VyIG1hbmFnZW1lbnQgb3B0aW9ucwogIwotQ09ORklHX1BNPXkKLSMgQ09ORklHX1BNX0xFR0FDWSBpcyBub3Qgc2V0Ci0jIENPTkZJR19QTV9ERUJVRyBpcyBub3Qgc2V0Ci0jIENPTkZJR19QTV9TWVNGU19ERVBSRUNBVEVEIGlzIG5vdCBzZXQKLSMgQ09ORklHX0FQTV9FTVVMQVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfUE0gaXMgbm90IHNldAorQ09ORklHX0FSQ0hfU1VTUEVORF9QT1NTSUJMRT15CiAKICMKICMgTmV0d29ya2luZwpAQCAtMjU4LDE1ICsyODAsMTYgQEAKICMgTmV0d29ya2luZyBvcHRpb25zCiAjCiBDT05GSUdfUEFDS0VUPXkKLSMgQ09ORklHX1BBQ0tFVF9NTUFQIGlzIG5vdCBzZXQKK0NPTkZJR19QQUNLRVRfTU1BUD15CiBDT05GSUdfVU5JWD15CiBDT05GSUdfWEZSTT15CiAjIENPTkZJR19YRlJNX1VTRVIgaXMgbm90IHNldAogIyBDT05GSUdfWEZSTV9TVUJfUE9MSUNZIGlzIG5vdCBzZXQKICMgQ09ORklHX1hGUk1fTUlHUkFURSBpcyBub3Qgc2V0CisjIENPTkZJR19YRlJNX1NUQVRJU1RJQ1MgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0tFWSBpcyBub3Qgc2V0CiBDT05GSUdfSU5FVD15Ci0jIENPTkZJR19JUF9NVUxUSUNBU1QgaXMgbm90IHNldAorQ09ORklHX0lQX01VTFRJQ0FTVD15CiAjIENPTkZJR19JUF9BRFZBTkNFRF9ST1VURVIgaXMgbm90IHNldAogQ09ORklHX0lQX0ZJQl9IQVNIPXkKIENPTkZJR19JUF9QTlA9eQpAQCAtMjc1LDYgKzI5OCw3IEBACiAjIENPTkZJR19JUF9QTlBfUkFSUCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfSVBJUCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfSVBHUkUgaXMgbm90IHNldAorIyBDT05GSUdfSVBfTVJPVVRFIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSUEQgaXMgbm90IHNldAogIyBDT05GSUdfU1lOX0NPT0tJRVMgaXMgbm90IHNldAogIyBDT05GSUdfSU5FVF9BSCBpcyBub3Qgc2V0CkBAIC0yODUsNiArMzA5LDcgQEAKIENPTkZJR19JTkVUX1hGUk1fTU9ERV9UUkFOU1BPUlQ9eQogQ09ORklHX0lORVRfWEZSTV9NT0RFX1RVTk5FTD15CiBDT05GSUdfSU5FVF9YRlJNX01PREVfQkVFVD15CisjIENPTkZJR19JTkVUX0xSTyBpcyBub3Qgc2V0CiBDT05GSUdfSU5FVF9ESUFHPXkKIENPTkZJR19JTkVUX1RDUF9ESUFHPXkKICMgQ09ORklHX1RDUF9DT05HX0FEVkFOQ0VEIGlzIG5vdCBzZXQKQEAgLTI5Miw4ICszMTcsNiBAQAogQ09ORklHX0RFRkFVTFRfVENQX0NPTkc9ImN1YmljIgogIyBDT05GSUdfVENQX01ENVNJRyBpcyBub3Qgc2V0CiAjIENPTkZJR19JUFY2IGlzIG5vdCBzZXQKLSMgQ09ORklHX0lORVQ2X1hGUk1fVFVOTkVMIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lORVQ2X1RVTk5FTCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRXT1JLX1NFQ01BUksgaXMgbm90IHNldAogIyBDT05GSUdfTkVURklMVEVSIGlzIG5vdCBzZXQKICMgQ09ORklHX0lQX0RDQ1AgaXMgbm90IHNldApAQCAtMzEwLDE3ICszMzMsMTUgQEAKICMgQ09ORklHX0xBUEIgaXMgbm90IHNldAogIyBDT05GSUdfRUNPTkVUIGlzIG5vdCBzZXQKICMgQ09ORklHX1dBTl9ST1VURVIgaXMgbm90IHNldAotCi0jCi0jIFFvUyBhbmQvb3IgZmFpciBxdWV1ZWluZwotIwogIyBDT05GSUdfTkVUX1NDSEVEIGlzIG5vdCBzZXQKIAogIwogIyBOZXR3b3JrIHRlc3RpbmcKICMKLSMgQ09ORklHX05FVF9QS1RHRU4gaXMgbm90IHNldAorQ09ORklHX05FVF9QS1RHRU49bQorIyBDT05GSUdfTkVUX1RDUFBST0JFIGlzIG5vdCBzZXQKICMgQ09ORklHX0hBTVJBRElPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19JUkRBIGlzIG5vdCBzZXQKICMgQ09ORklHX0JUIGlzIG5vdCBzZXQKICMgQ09ORklHX0FGX1JYUlBDIGlzIG5vdCBzZXQKQEAgLTMzMSwxMiArMzUyLDcgQEAKICMgQ09ORklHX0NGRzgwMjExIGlzIG5vdCBzZXQKIENPTkZJR19XSVJFTEVTU19FWFQ9eQogIyBDT05GSUdfTUFDODAyMTEgaXMgbm90IHNldAotQ09ORklHX0lFRUU4MDIxMT1tCi0jIENPTkZJR19JRUVFODAyMTFfREVCVUcgaXMgbm90IHNldAotQ09ORklHX0lFRUU4MDIxMV9DUllQVF9XRVA9bQotQ09ORklHX0lFRUU4MDIxMV9DUllQVF9DQ01QPW0KLSMgQ09ORklHX0lFRUU4MDIxMV9DUllQVF9US0lQIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lFRUU4MDIxMV9TT0ZUTUFDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lFRUU4MDIxMSBpcyBub3Qgc2V0CiAjIENPTkZJR19SRktJTEwgaXMgbm90IHNldAogIyBDT05GSUdfTkVUXzlQIGlzIG5vdCBzZXQKIApAQCAtMzQ3LDYgKzM2Myw3IEBACiAjCiAjIEdlbmVyaWMgRHJpdmVyIE9wdGlvbnMKICMKK0NPTkZJR19VRVZFTlRfSEVMUEVSX1BBVEg9Ii9zYmluL2hvdHBsdWciCiBDT05GSUdfU1RBTkRBTE9ORT15CiBDT05GSUdfUFJFVkVOVF9GSVJNV0FSRV9CVUlMRD15CiBDT05GSUdfRldfTE9BREVSPXkKQEAgLTM1NCwzMSArMzcxLDM5IEBACiAjIENPTkZJR19ERUJVR19ERVZSRVMgaXMgbm90IHNldAogIyBDT05GSUdfU1lTX0hZUEVSVklTT1IgaXMgbm90IHNldAogIyBDT05GSUdfQ09OTkVDVE9SIGlzIG5vdCBzZXQKLUNPTkZJR19NVEQ9bQorQ09ORklHX01URD15CiAjIENPTkZJR19NVERfREVCVUcgaXMgbm90IHNldAogIyBDT05GSUdfTVREX0NPTkNBVCBpcyBub3Qgc2V0CiBDT05GSUdfTVREX1BBUlRJVElPTlM9eQogIyBDT05GSUdfTVREX1JFREJPT1RfUEFSVFMgaXMgbm90IHNldAorQ09ORklHX01URF9DTURMSU5FX1BBUlRTPXkKICMgQ09ORklHX01URF9BRlNfUEFSVFMgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0FSN19QQVJUUyBpcyBub3Qgc2V0CiAKICMKICMgVXNlciBNb2R1bGVzIEFuZCBUcmFuc2xhdGlvbiBMYXllcnMKICMKLUNPTkZJR19NVERfQ0hBUj1tCi1DT05GSUdfTVREX0JMS0RFVlM9bQotQ09ORklHX01URF9CTE9DSz1tCi0jIENPTkZJR19NVERfQkxPQ0tfUk8gaXMgbm90IHNldAorQ09ORklHX01URF9DSEFSPXkKK0NPTkZJR19NVERfQkxLREVWUz15CitDT05GSUdfTVREX0JMT0NLPXkKICMgQ09ORklHX0ZUTCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORlRMIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORlRMIGlzIG5vdCBzZXQKICMgQ09ORklHX1JGRF9GVEwgaXMgbm90IHNldAogIyBDT05GSUdfU1NGREMgaXMgbm90IHNldAorIyBDT05GSUdfTVREX09PUFMgaXMgbm90IHNldAogCiAjCiAjIFJBTS9ST00vRmxhc2ggY2hpcCBkcml2ZXJzCiAjCi0jIENPTkZJR19NVERfQ0ZJIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9KRURFQ1BST0JFIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ0ZJPXkKK0NPTkZJR19NVERfSkVERUNQUk9CRT15CitDT05GSUdfTVREX0dFTl9QUk9CRT15CitDT05GSUdfTVREX0NGSV9BRFZfT1BUSU9OUz15CitDT05GSUdfTVREX0NGSV9OT1NXQVA9eQorIyBDT05GSUdfTVREX0NGSV9CRV9CWVRFX1NXQVAgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0NGSV9MRV9CWVRFX1NXQVAgaXMgbm90IHNldAorQ09ORklHX01URF9DRklfR0VPTUVUUlk9eQogQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8xPXkKIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMj15CiBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzQ9eQpAQCAtMzg5LDYgKzQxNCwxMSBAQAogQ09ORklHX01URF9DRklfSTI9eQogIyBDT05GSUdfTVREX0NGSV9JNCBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfQ0ZJX0k4IGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9PVFAgaXMgbm90IHNldAorQ09ORklHX01URF9DRklfSU5URUxFWFQ9eQorQ09ORklHX01URF9DRklfQU1EU1REPXkKKyMgQ09ORklHX01URF9DRklfU1RBQSBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NGSV9VVElMPXkKICMgQ09ORklHX01URF9SQU0gaXMgbm90IHNldAogIyBDT05GSUdfTVREX1JPTSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfQUJTRU5UIGlzIG5vdCBzZXQKQEAgLTM5Nyw3ICs0MjcsMTMgQEAKICMgTWFwcGluZyBkcml2ZXJzIGZvciBjaGlwIGFjY2VzcwogIwogIyBDT05GSUdfTVREX0NPTVBMRVhfTUFQUElOR1MgaXMgbm90IHNldAotIyBDT05GSUdfTVREX1NIQVJQX1NMIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfUEhZU01BUD15CitDT05GSUdfTVREX1BIWVNNQVBfU1RBUlQ9MHgwCitDT05GSUdfTVREX1BIWVNNQVBfTEVOPTB4MAorQ09ORklHX01URF9QSFlTTUFQX0JBTktXSURUSD0wCisjIENPTkZJR19NVERfQVJNX0lOVEVHUkFUT1IgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0lNUEE3IGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9JTlRFTF9WUl9OT1IgaXMgbm90IHNldAogIyBDT05GSUdfTVREX1BMQVRSQU0gaXMgbm90IHNldAogCiAjCkBAIC00MTUsMTggKzQ1MSwxNyBAQAogIyBDT05GSUdfTVREX0RPQzIwMDAgaXMgbm90IHNldAogIyBDT05GSUdfTVREX0RPQzIwMDEgaXMgbm90IHNldAogIyBDT05GSUdfTVREX0RPQzIwMDFQTFVTIGlzIG5vdCBzZXQKLUNPTkZJR19NVERfTkFORD1tCi0jIENPTkZJR19NVERfTkFORF9WRVJJRllfV1JJVEUgaXMgbm90IHNldAorQ09ORklHX01URF9OQU5EPXkKK0NPTkZJR19NVERfTkFORF9WRVJJRllfV1JJVEU9eQogIyBDT05GSUdfTVREX05BTkRfRUNDX1NNQyBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTkFORF9NVVNFVU1fSURTIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9OQU5EX0gxOTAwIGlzIG5vdCBzZXQKLUNPTkZJR19NVERfTkFORF9JRFM9bQorQ09ORklHX01URF9OQU5EX0lEUz15CiAjIENPTkZJR19NVERfTkFORF9ESVNLT05DSElQIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9OQU5EX1NIQVJQU0wgaXMgbm90IHNldAogIyBDT05GSUdfTVREX05BTkRfQ0FGRSBpcyBub3Qgc2V0Ci1DT05GSUdfTVREX05BTkRfQ01fWDI3MD1tCiAjIENPTkZJR19NVERfTkFORF9OQU5EU0lNIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9OQU5EX1BMQVRGT1JNIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9BTEFVREEgaXMgbm90IHNldAorQ09ORklHX01URF9OQU5EX09SSU9OPXkKICMgQ09ORklHX01URF9PTkVOQU5EIGlzIG5vdCBzZXQKIAogIwpAQCAtNDQ1LDM4ICs0ODAsMTcgQEAKICMgQ09ORklHX0JMS19ERVZfTkJEIGlzIG5vdCBzZXQKICMgQ09ORklHX0JMS19ERVZfU1g4IGlzIG5vdCBzZXQKICMgQ09ORklHX0JMS19ERVZfVUIgaXMgbm90IHNldAotQ09ORklHX0JMS19ERVZfUkFNPXkKLUNPTkZJR19CTEtfREVWX1JBTV9DT1VOVD0xNgotQ09ORklHX0JMS19ERVZfUkFNX1NJWkU9MTIwMDAKLUNPTkZJR19CTEtfREVWX1JBTV9CTE9DS1NJWkU9MTAyNAorIyBDT05GSUdfQkxLX0RFVl9SQU0gaXMgbm90IHNldAogIyBDT05GSUdfQ0RST01fUEtUQ0RWRCBpcyBub3Qgc2V0CiAjIENPTkZJR19BVEFfT1ZFUl9FVEggaXMgbm90IHNldAotQ09ORklHX0lERT1tCi1DT05GSUdfSURFX01BWF9IV0lGUz00Ci1DT05GSUdfQkxLX0RFVl9JREU9bQotCi0jCi0jIFBsZWFzZSBzZWUgRG9jdW1lbnRhdGlvbi9pZGUudHh0IGZvciBoZWxwL2luZm8gb24gSURFIGRyaXZlcwotIwotIyBDT05GSUdfQkxLX0RFVl9JREVfU0FUQSBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9JREVESVNLPW0KLSMgQ09ORklHX0lERURJU0tfTVVMVElfTU9ERSBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9JREVDRD1tCi0jIENPTkZJR19CTEtfREVWX0lERVRBUEUgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9JREVGTE9QUFkgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9JREVTQ1NJIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lERV9UQVNLX0lPQ1RMIGlzIG5vdCBzZXQKLUNPTkZJR19JREVfUFJPQ19GUz15Ci0KLSMKLSMgSURFIGNoaXBzZXQgc3VwcG9ydC9idWdmaXhlcwotIwotIyBDT05GSUdfSURFX0dFTkVSSUMgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9JREVQQ0kgaXMgbm90IHNldAotIyBDT05GSUdfSURFUENJX1BDSUJVU19PUkRFUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19JREVfQVJNIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfSURFRE1BIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfSEQgaXMgbm90IHNldAorQ09ORklHX01JU0NfREVWSUNFUz15CisjIENPTkZJR19QSEFOVE9NIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VFUFJPTV85M0NYNiBpcyBub3Qgc2V0CisjIENPTkZJR19TR0lfSU9DNCBpcyBub3Qgc2V0CisjIENPTkZJR19USUZNX0NPUkUgaXMgbm90IHNldAorIyBDT05GSUdfRU5DTE9TVVJFX1NFUlZJQ0VTIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX0lERT15CisjIENPTkZJR19JREUgaXMgbm90IHNldAogCiAjCiAjIFNDU0kgZGV2aWNlIHN1cHBvcnQKQEAgLTQ5NCw4ICs1MDgsOSBAQAogQ09ORklHX0JMS19ERVZfU0Q9eQogIyBDT05GSUdfQ0hSX0RFVl9TVCBpcyBub3Qgc2V0CiAjIENPTkZJR19DSFJfREVWX09TU1QgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9TUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DSFJfREVWX1NHIGlzIG5vdCBzZXQKK0NPTkZJR19CTEtfREVWX1NSPW0KKyMgQ09ORklHX0JMS19ERVZfU1JfVkVORE9SIGlzIG5vdCBzZXQKK0NPTkZJR19DSFJfREVWX1NHPW0KICMgQ09ORklHX0NIUl9ERVZfU0NIIGlzIG5vdCBzZXQKIAogIwpAQCAtNTEzLDEyICs1MjgsOSBAQAogIyBDT05GSUdfU0NTSV9TUElfQVRUUlMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9GQ19BVFRSUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0lTQ1NJX0FUVFJTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfU0FTX0FUVFJTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfU0FTX0xJQlNBUyBpcyBub3Qgc2V0Ci0KLSMKLSMgU0NTSSBsb3ctbGV2ZWwgZHJpdmVycwotIworIyBDT05GSUdfU0NTSV9TUlBfQVRUUlMgaXMgbm90IHNldAorQ09ORklHX1NDU0lfTE9XTEVWRUw9eQogIyBDT05GSUdfSVNDU0lfVENQIGlzIG5vdCBzZXQKICMgQ09ORklHX0JMS19ERVZfM1dfWFhYWF9SQUlEIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfM1dfOVhYWCBpcyBub3Qgc2V0CkBAIC01MjksNiArNTQxLDcgQEAKICMgQ09ORklHX1NDU0lfQUlDNzlYWCBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0FJQzk0WFggaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9EUFRfSTJPIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfQURWQU5TWVMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9BUkNNU1IgaXMgbm90IHNldAogIyBDT05GSUdfTUVHQVJBSURfTkVXR0VOIGlzIG5vdCBzZXQKICMgQ09ORklHX01FR0FSQUlEX0xFR0FDWSBpcyBub3Qgc2V0CkBAIC01MzksOCArNTUyLDEwIEBACiAjIENPTkZJR19TQ1NJX0lQUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0lOSVRJTyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0lOSUExMDAgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9NVlNBUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1NURVggaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9TWU01M0M4WFhfMiBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX0lQUiBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1FMT0dJQ18xMjgwIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfUUxBX0ZDIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfUUxBX0lTQ1NJIGlzIG5vdCBzZXQKQEAgLTU1MCwxNiArNTY1LDY4IEBACiAjIENPTkZJR19TQ1NJX05TUDMyIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfREVCVUcgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9TUlAgaXMgbm90IHNldAotIyBDT05GSUdfQVRBIGlzIG5vdCBzZXQKK0NPTkZJR19BVEE9eQorIyBDT05GSUdfQVRBX05PTlNUQU5EQVJEIGlzIG5vdCBzZXQKK0NPTkZJR19TQVRBX1BNUD15CisjIENPTkZJR19TQVRBX0FIQ0kgaXMgbm90IHNldAorIyBDT05GSUdfU0FUQV9TSUwyNCBpcyBub3Qgc2V0CitDT05GSUdfQVRBX1NGRj15CisjIENPTkZJR19TQVRBX1NWVyBpcyBub3Qgc2V0CisjIENPTkZJR19BVEFfUElJWCBpcyBub3Qgc2V0CitDT05GSUdfU0FUQV9NVj15CisjIENPTkZJR19TQVRBX05WIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BEQ19BRE1BIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBVEFfUVNUT1IgaXMgbm90IHNldAorIyBDT05GSUdfU0FUQV9QUk9NSVNFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBVEFfU1g0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBVEFfU0lMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBVEFfU0lTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBVEFfVUxJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBVEFfVklBIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBVEFfVklURVNTRSBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX0lOSUMxNjJYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfQUxJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfQU1EIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfQVJUT1AgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9BVElJWFAgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9DTUQ2NDBfUENJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfQ01ENjRYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfQ1M1NTIwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfQ1M1NTMwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfQ1lQUkVTUyBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0VGQVIgaXMgbm90IHNldAorIyBDT05GSUdfQVRBX0dFTkVSSUMgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9IUFQzNjYgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9IUFQzN1ggaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9IUFQzWDJOIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfSFBUM1gzIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfSVQ4MjFYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfSVQ4MjEzIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfSk1JQ1JPTiBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1RSSUZMRVggaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9NQVJWRUxMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfTVBJSVggaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9PTERQSUlYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfTkVUQ0VMTCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX05JTkpBMzIgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9OUzg3NDEwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfTlM4NzQxNSBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX09QVEkgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9PUFRJRE1BIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfUERDX09MRCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1JBRElTWVMgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9SWjEwMDAgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9TQzEyMDAgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9TRVJWRVJXT1JLUyBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1BEQzIwMjdYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfU0lMNjgwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfU0lTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfVklBIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfV0lOQk9ORCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1BMQVRGT1JNIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfU0NIIGlzIG5vdCBzZXQKICMgQ09ORklHX01EIGlzIG5vdCBzZXQKLQotIwotIyBGdXNpb24gTVBUIGRldmljZSBzdXBwb3J0Ci0jCiAjIENPTkZJR19GVVNJT04gaXMgbm90IHNldAotIyBDT05GSUdfRlVTSU9OX1NQSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19GVVNJT05fRkMgaXMgbm90IHNldAotIyBDT05GSUdfRlVTSU9OX1NBUyBpcyBub3Qgc2V0CiAKICMKICMgSUVFRSAxMzk0IChGaXJlV2lyZSkgc3VwcG9ydApAQCAtNTc0LDYgKzY0MSw3IEBACiAjIENPTkZJR19NQUNWTEFOIGlzIG5vdCBzZXQKICMgQ09ORklHX0VRVUFMSVpFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19UVU4gaXMgbm90IHNldAorIyBDT05GSUdfVkVUSCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNORVQgaXMgbm90IHNldAogIyBDT05GSUdfUEhZTElCIGlzIG5vdCBzZXQKIENPTkZJR19ORVRfRVRIRVJORVQ9eQpAQCAtNTg0LDI4ICs2NTIsMjcgQEAKICMgQ09ORklHX0NBU1NJTkkgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX1ZFTkRPUl8zQ09NIGlzIG5vdCBzZXQKICMgQ09ORklHX1NNQzkxWCBpcyBub3Qgc2V0Ci1DT05GSUdfRE05MDAwPXkKLSMgQ09ORklHX1NNQzkxMVggaXMgbm90IHNldAorIyBDT05GSUdfRE05MDAwIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9UVUxJUCBpcyBub3Qgc2V0CiAjIENPTkZJR19IUDEwMCBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfWk1JSSBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfUkdNSUkgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1RBSCBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfRU1BQzQgaXMgbm90IHNldAogQ09ORklHX05FVF9QQ0k9eQogIyBDT05GSUdfUENORVQzMiBpcyBub3Qgc2V0CiAjIENPTkZJR19BTUQ4MTExX0VUSCBpcyBub3Qgc2V0CiAjIENPTkZJR19BREFQVEVDX1NUQVJGSVJFIGlzIG5vdCBzZXQKICMgQ09ORklHX0I0NCBpcyBub3Qgc2V0CiAjIENPTkZJR19GT1JDRURFVEggaXMgbm90IHNldAotIyBDT05GSUdfREdSUyBpcyBub3Qgc2V0CiAjIENPTkZJR19FRVBSTzEwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19FMTAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZFQUxOWCBpcyBub3Qgc2V0CiAjIENPTkZJR19OQVRTRU1JIGlzIG5vdCBzZXQKICMgQ09ORklHX05FMktfUENJIGlzIG5vdCBzZXQKICMgQ09ORklHXzgxMzlDUCBpcyBub3Qgc2V0Ci1DT05GSUdfODEzOVRPTz1tCi0jIENPTkZJR184MTM5VE9PX1BJTyBpcyBub3Qgc2V0Ci0jIENPTkZJR184MTM5VE9PX1RVTkVfVFdJU1RFUiBpcyBub3Qgc2V0Ci0jIENPTkZJR184MTM5VE9PXzgxMjkgaXMgbm90IHNldAotIyBDT05GSUdfODEzOV9PTERfUlhfUkVTRVQgaXMgbm90IHNldAorIyBDT05GSUdfODEzOVRPTyBpcyBub3Qgc2V0CisjIENPTkZJR19SNjA0MCBpcyBub3Qgc2V0CiAjIENPTkZJR19TSVM5MDAgaXMgbm90IHNldAogIyBDT05GSUdfRVBJQzEwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19TVU5EQU5DRSBpcyBub3Qgc2V0CkBAIC02MTYsNiArNjgzLDEwIEBACiAjIENPTkZJR19BQ0VOSUMgaXMgbm90IHNldAogIyBDT05GSUdfREwySyBpcyBub3Qgc2V0CiAjIENPTkZJR19FMTAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19FMTAwMEUgaXMgbm90IHNldAorIyBDT05GSUdfRTEwMDBFX0VOQUJMRUQgaXMgbm90IHNldAorIyBDT05GSUdfSVAxMDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lHQiBpcyBub3Qgc2V0CiAjIENPTkZJR19OUzgzODIwIGlzIG5vdCBzZXQKICMgQ09ORklHX0hBTUFDSEkgaXMgbm90IHNldAogIyBDT05GSUdfWUVMTE9XRklOIGlzIG5vdCBzZXQKQEAgLTYyNiwxNiArNjk3LDEwIEBACiAjIENPTkZJR19WSUFfVkVMT0NJVFkgaXMgbm90IHNldAogIyBDT05GSUdfVElHT04zIGlzIG5vdCBzZXQKICMgQ09ORklHX0JOWDIgaXMgbm90IHNldAorQ09ORklHX01WNjQzWFhfRVRIPXkKICMgQ09ORklHX1FMQTNYWFggaXMgbm90IHNldAogIyBDT05GSUdfQVRMMSBpcyBub3Qgc2V0Ci1DT05GSUdfTkVUREVWXzEwMDAwPXkKLSMgQ09ORklHX0NIRUxTSU9fVDEgaXMgbm90IHNldAotIyBDT05GSUdfQ0hFTFNJT19UMyBpcyBub3Qgc2V0Ci0jIENPTkZJR19JWEdCIGlzIG5vdCBzZXQKLSMgQ09ORklHX1MySU8gaXMgbm90IHNldAotIyBDT05GSUdfTVlSSTEwR0UgaXMgbm90IHNldAotIyBDT05GSUdfTkVUWEVOX05JQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NTFg0X0NPUkUgaXMgbm90IHNldAorIyBDT05GSUdfTkVUREVWXzEwMDAwIGlzIG5vdCBzZXQKICMgQ09ORklHX1RSIGlzIG5vdCBzZXQKIAogIwpAQCAtNjQzLDYgKzcwOCw3IEBACiAjCiAjIENPTkZJR19XTEFOX1BSRTgwMjExIGlzIG5vdCBzZXQKICMgQ09ORklHX1dMQU5fODAyMTEgaXMgbm90IHNldAorIyBDT05GSUdfSVdMV0lGSV9MRURTIGlzIG5vdCBzZXQKIAogIwogIyBVU0IgTmV0d29yayBBZGFwdGVycwpAQCAtNjUxLDcgKzcxNyw2IEBACiAjIENPTkZJR19VU0JfS0FXRVRIIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9QRUdBU1VTIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9SVEw4MTUwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9VU0JORVRfTUlJIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9VU0JORVQgaXMgbm90IHNldAogIyBDT05GSUdfV0FOIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZEREkgaXMgbm90IHNldApAQCAtNjU5LDcgKzcyNCw2IEBACiAjIENPTkZJR19QUFAgaXMgbm90IHNldAogIyBDT05GSUdfU0xJUCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfRkMgaXMgbm90IHNldAotIyBDT05GSUdfU0hBUEVSIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVENPTlNPTEUgaXMgbm90IHNldAogIyBDT05GSUdfTkVUUE9MTCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfUE9MTF9DT05UUk9MTEVSIGlzIG5vdCBzZXQKQEAgLTY3Nyw3ICs3NDEsNiBAQAogIwogIyBDT05GSUdfSU5QVVRfTU9VU0VERVYgaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfSk9ZREVWIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lOUFVUX1RTREVWIGlzIG5vdCBzZXQKIENPTkZJR19JTlBVVF9FVkRFVj15CiAjIENPTkZJR19JTlBVVF9FVkJVRyBpcyBub3Qgc2V0CiAKQEAgLTY4OCwxNiArNzUxLDcgQEAKICMgQ09ORklHX0lOUFVUX01PVVNFIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX0pPWVNUSUNLIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX1RBQkxFVCBpcyBub3Qgc2V0Ci1DT05GSUdfSU5QVVRfVE9VQ0hTQ1JFRU49eQotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fR1VOWkUgaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fRUxPIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX01UT1VDSCBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9NSzcxMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9QRU5NT1VOVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9UT1VDSFJJR0hUIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX1RPVUNIV0lOIGlzIG5vdCBzZXQKLUNPTkZJR19UT1VDSFNDUkVFTl9VQ0IxNDAwPW0KLSMgQ09ORklHX1RPVUNIU0NSRUVOX1VTQl9DT01QT1NJVEUgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfVE9VQ0hTQ1JFRU4gaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfTUlTQyBpcyBub3Qgc2V0CiAKICMKQEAgLTcwOSwyNzUgKzc2MywxOTUgQEAKICMKICMgQ2hhcmFjdGVyIGRldmljZXMKICMKLUNPTkZJR19WVD15Ci1DT05GSUdfVlRfQ09OU09MRT15Ci1DT05GSUdfSFdfQ09OU09MRT15Ci0jIENPTkZJR19WVF9IV19DT05TT0xFX0JJTkRJTkcgaXMgbm90IHNldAorIyBDT05GSUdfVlQgaXMgbm90IHNldAorQ09ORklHX0RFVktNRU09eQogIyBDT05GSUdfU0VSSUFMX05PTlNUQU5EQVJEIGlzIG5vdCBzZXQKKyMgQ09ORklHX05PWk9NSSBpcyBub3Qgc2V0CiAKICMKICMgU2VyaWFsIGRyaXZlcnMKICMKLSMgQ09ORklHX1NFUklBTF84MjUwIGlzIG5vdCBzZXQKK0NPTkZJR19TRVJJQUxfODI1MD15CitDT05GSUdfU0VSSUFMXzgyNTBfQ09OU09MRT15CisjIENPTkZJR19TRVJJQUxfODI1MF9QQ0kgaXMgbm90IHNldAorQ09ORklHX1NFUklBTF84MjUwX05SX1VBUlRTPTQKK0NPTkZJR19TRVJJQUxfODI1MF9SVU5USU1FX1VBUlRTPTIKKyMgQ09ORklHX1NFUklBTF84MjUwX0VYVEVOREVEIGlzIG5vdCBzZXQKIAogIwogIyBOb24tODI1MCBzZXJpYWwgcG9ydCBzdXBwb3J0CiAjCi1DT05GSUdfU0VSSUFMX1BYQT15Ci1DT05GSUdfU0VSSUFMX1BYQV9DT05TT0xFPXkKIENPTkZJR19TRVJJQUxfQ09SRT15CiBDT05GSUdfU0VSSUFMX0NPUkVfQ09OU09MRT15CiAjIENPTkZJR19TRVJJQUxfSlNNIGlzIG5vdCBzZXQKIENPTkZJR19VTklYOThfUFRZUz15CiBDT05GSUdfTEVHQUNZX1BUWVM9eQotQ09ORklHX0xFR0FDWV9QVFlfQ09VTlQ9MjU2CitDT05GSUdfTEVHQUNZX1BUWV9DT1VOVD0xNgogIyBDT05GSUdfSVBNSV9IQU5ETEVSIGlzIG5vdCBzZXQKLSMgQ09ORklHX1dBVENIRE9HIGlzIG5vdCBzZXQKLUNPTkZJR19IV19SQU5ET009bQorIyBDT05GSUdfSFdfUkFORE9NIGlzIG5vdCBzZXQKICMgQ09ORklHX05WUkFNIGlzIG5vdCBzZXQKICMgQ09ORklHX1IzOTY0IGlzIG5vdCBzZXQKICMgQ09ORklHX0FQUExJQ09NIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RSTSBpcyBub3Qgc2V0CiAjIENPTkZJR19SQVdfRFJJVkVSIGlzIG5vdCBzZXQKICMgQ09ORklHX1RDR19UUE0gaXMgbm90IHNldAogQ09ORklHX0RFVlBPUlQ9eQotIyBDT05GSUdfSTJDIGlzIG5vdCBzZXQKK0NPTkZJR19JMkM9eQorQ09ORklHX0kyQ19CT0FSRElORk89eQorQ09ORklHX0kyQ19DSEFSREVWPXkKIAogIwotIyBTUEkgc3VwcG9ydAorIyBJMkMgSGFyZHdhcmUgQnVzIHN1cHBvcnQKICMKKyMgQ09ORklHX0kyQ19BTEkxNTM1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19BTEkxNTYzIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19BTEkxNVgzIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19BTUQ3NTYgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0FNRDgxMTEgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0k4MDEgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0k4MTAgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1BJSVg0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ORk9SQ0UyIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19PQ09SRVMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1BBUlBPUlRfTElHSFQgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1BST1NBVkFHRSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfU0FWQUdFNCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfU0lNVEVDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TSVM1NTk1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TSVM2MzAgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1NJUzk2WCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfVEFPU19FVk0gaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1NUVUIgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1RJTllfVVNCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19WSUEgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1ZJQVBSTyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfVk9PRE9PMyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfUENBX1BMQVRGT1JNIGlzIG5vdCBzZXQKK0NPTkZJR19JMkNfTVY2NFhYWD15CisKKyMKKyMgTWlzY2VsbGFuZW91cyBJMkMgQ2hpcCBzdXBwb3J0CisjCisjIENPTkZJR19EUzE2ODIgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19FRVBST00gaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19QQ0Y4NTc0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDRjg1NzUgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19QQ0Y4NTkxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfTUFYNjg3NSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1RTTDI1NTAgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0RFQlVHX0NPUkUgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0RFQlVHX0FMR08gaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0RFQlVHX0JVUyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQ0hJUCBpcyBub3Qgc2V0CiAjIENPTkZJR19TUEkgaXMgbm90IHNldAotIyBDT05GSUdfU1BJX01BU1RFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19XMSBpcyBub3Qgc2V0Ci0jIENPTkZJR19IV01PTiBpcyBub3Qgc2V0Ci1DT05GSUdfTUlTQ19ERVZJQ0VTPXkKLSMgQ09ORklHX1BIQU5UT00gaXMgbm90IHNldAotIyBDT05GSUdfRUVQUk9NXzkzQ1g2IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NHSV9JT0M0IGlzIG5vdCBzZXQKLSMgQ09ORklHX1RJRk1fQ09SRSBpcyBub3Qgc2V0CisjIENPTkZJR19QT1dFUl9TVVBQTFkgaXMgbm90IHNldAorQ09ORklHX0hXTU9OPXkKKyMgQ09ORklHX0hXTU9OX1ZJRCBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0FENzQxOCBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0FETTEwMjEgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19BRE0xMDI1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfQURNMTAyNiBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0FETTEwMjkgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19BRE0xMDMxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfQURNOTI0MCBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0FEVDc0NzAgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19BRFQ3NDczIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfQVRYUDEgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19EUzE2MjEgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19JNUtfQU1CIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfRjcxODA1RiBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0Y3MTg4MkZHIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfRjc1Mzc1UyBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0dMNTE4U00gaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19HTDUyMFNNIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfSVQ4NyBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0xNNjMgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19MTTc1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfTE03NyBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0xNNzggaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19MTTgwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfTE04MyBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0xNODUgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19MTTg3IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfTE05MCBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0xNOTIgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19MTTkzIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfTUFYMTYxOSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX01BWDY2NTAgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19QQzg3MzYwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfUEM4NzQyNyBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1NJUzU1OTUgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19ETUUxNzM3IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfU01TQzQ3TTEgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19TTVNDNDdNMTkyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfU01TQzQ3QjM5NyBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0FEUzc4MjggaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19USE1DNTAgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19WSUE2ODZBIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfVlQxMjExIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfVlQ4MjMxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfVzgzNzgxRCBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1c4Mzc5MUQgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19XODM3OTJEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfVzgzNzkzIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfVzgzTDc4NVRTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfVzgzTDc4Nk5HIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfVzgzNjI3SEYgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19XODM2MjdFSEYgaXMgbm90IHNldAorIyBDT05GSUdfSFdNT05fREVCVUdfQ0hJUCBpcyBub3Qgc2V0CisjIENPTkZJR19XQVRDSERPRyBpcyBub3Qgc2V0CisKKyMKKyMgU29uaWNzIFNpbGljb24gQmFja3BsYW5lCisjCitDT05GSUdfU1NCX1BPU1NJQkxFPXkKKyMgQ09ORklHX1NTQiBpcyBub3Qgc2V0CiAKICMKICMgTXVsdGlmdW5jdGlvbiBkZXZpY2UgZHJpdmVycwogIwogIyBDT05GSUdfTUZEX1NNNTAxIGlzIG5vdCBzZXQKLQotIwotIyBMRUQgZGV2aWNlcwotIwotQ09ORklHX05FV19MRURTPXkKLUNPTkZJR19MRURTX0NMQVNTPXkKLQotIwotIyBMRUQgZHJpdmVycwotIwotQ09ORklHX0xFRFNfQ01fWDI3MD15Ci0KLSMKLSMgTEVEIFRyaWdnZXJzCi0jCi1DT05GSUdfTEVEU19UUklHR0VSUz15Ci0jIENPTkZJR19MRURTX1RSSUdHRVJfVElNRVIgaXMgbm90IHNldAotIyBDT05GSUdfTEVEU19UUklHR0VSX0lERV9ESVNLIGlzIG5vdCBzZXQKLUNPTkZJR19MRURTX1RSSUdHRVJfSEVBUlRCRUFUPXkKKyMgQ09ORklHX01GRF9BU0lDMyBpcyBub3Qgc2V0CisjIENPTkZJR19IVENfUEFTSUMzIGlzIG5vdCBzZXQKIAogIwogIyBNdWx0aW1lZGlhIGRldmljZXMKICMKKworIworIyBNdWx0aW1lZGlhIGNvcmUgc3VwcG9ydAorIwogIyBDT05GSUdfVklERU9fREVWIGlzIG5vdCBzZXQKICMgQ09ORklHX0RWQl9DT1JFIGlzIG5vdCBzZXQKLUNPTkZJR19EQUI9eQotIyBDT05GSUdfVVNCX0RBQlVTQiBpcyBub3Qgc2V0CisjIENPTkZJR19WSURFT19NRURJQSBpcyBub3Qgc2V0CisKKyMKKyMgTXVsdGltZWRpYSBkcml2ZXJzCisjCisjIENPTkZJR19EQUIgaXMgbm90IHNldAogCiAjCiAjIEdyYXBoaWNzIHN1cHBvcnQKICMKKyMgQ09ORklHX0RSTSBpcyBub3Qgc2V0CisjIENPTkZJR19WR0FTVEFURSBpcyBub3Qgc2V0CisjIENPTkZJR19WSURFT19PVVRQVVRfQ09OVFJPTCBpcyBub3Qgc2V0CisjIENPTkZJR19GQiBpcyBub3Qgc2V0CiAjIENPTkZJR19CQUNLTElHSFRfTENEX1NVUFBPUlQgaXMgbm90IHNldAogCiAjCiAjIERpc3BsYXkgZGV2aWNlIHN1cHBvcnQKICMKICMgQ09ORklHX0RJU1BMQVlfU1VQUE9SVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19WR0FTVEFURSBpcyBub3Qgc2V0Ci1DT05GSUdfRkI9eQotIyBDT05GSUdfRklSTVdBUkVfRURJRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9EREMgaXMgbm90IHNldAotQ09ORklHX0ZCX0NGQl9GSUxMUkVDVD15Ci1DT05GSUdfRkJfQ0ZCX0NPUFlBUkVBPXkKLUNPTkZJR19GQl9DRkJfSU1BR0VCTElUPXkKLSMgQ09ORklHX0ZCX1NZU19GSUxMUkVDVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9TWVNfQ09QWUFSRUEgaXMgbm90IHNldAotIyBDT05GSUdfRkJfU1lTX0lNQUdFQkxJVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9TWVNfRk9QUyBpcyBub3Qgc2V0Ci1DT05GSUdfRkJfREVGRVJSRURfSU89eQotIyBDT05GSUdfRkJfU1ZHQUxJQiBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9NQUNNT0RFUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9CQUNLTElHSFQgaXMgbm90IHNldAotIyBDT05GSUdfRkJfTU9ERV9IRUxQRVJTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1RJTEVCTElUVElORyBpcyBub3Qgc2V0Ci0KLSMKLSMgRnJhbWUgYnVmZmVyIGhhcmR3YXJlIGRyaXZlcnMKLSMKLSMgQ09ORklHX0ZCX0NJUlJVUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9QTTIgaXMgbm90IHNldAotIyBDT05GSUdfRkJfQ1lCRVIyMDAwIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX0FTSUxJQU5UIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX0lNU1RUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1MxRDEzWFhYIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX05WSURJQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9SSVZBIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX01BVFJPWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9SQURFT04gaXMgbm90IHNldAotIyBDT05GSUdfRkJfQVRZMTI4IGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX0FUWSBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9TMyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9TQVZBR0UgaXMgbm90IHNldAotIyBDT05GSUdfRkJfU0lTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX05FT01BR0lDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX0tZUk8gaXMgbm90IHNldAotIyBDT05GSUdfRkJfM0RGWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9WT09ET08xIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1ZUODYyMyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9UUklERU5UIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX0FSSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9QTTMgaXMgbm90IHNldAotQ09ORklHX0ZCX1BYQT15Ci0jIENPTkZJR19GQl9QWEFfUEFSQU1FVEVSUyBpcyBub3Qgc2V0Ci1DT05GSUdfRkJfTUJYPW0KLSMgQ09ORklHX0ZCX1ZJUlRVQUwgaXMgbm90IHNldAotCi0jCi0jIENvbnNvbGUgZGlzcGxheSBkcml2ZXIgc3VwcG9ydAotIwotIyBDT05GSUdfVkdBX0NPTlNPTEUgaXMgbm90IHNldAotQ09ORklHX0RVTU1ZX0NPTlNPTEU9eQotQ09ORklHX0ZSQU1FQlVGRkVSX0NPTlNPTEU9eQotIyBDT05GSUdfRlJBTUVCVUZGRVJfQ09OU09MRV9ERVRFQ1RfUFJJTUFSWSBpcyBub3Qgc2V0Ci0jIENPTkZJR19GUkFNRUJVRkZFUl9DT05TT0xFX1JPVEFUSU9OIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZPTlRTIGlzIG5vdCBzZXQKLUNPTkZJR19GT05UXzh4OD15Ci1DT05GSUdfRk9OVF84eDE2PXkKLUNPTkZJR19MT0dPPXkKLUNPTkZJR19MT0dPX0xJTlVYX01PTk89eQotQ09ORklHX0xPR09fTElOVVhfVkdBMTY9eQotQ09ORklHX0xPR09fTElOVVhfQ0xVVDIyND15CiAKICMKICMgU291bmQKICMKLUNPTkZJR19TT1VORD1tCi0KLSMKLSMgQWR2YW5jZWQgTGludXggU291bmQgQXJjaGl0ZWN0dXJlCi0jCi1DT05GSUdfU05EPW0KLUNPTkZJR19TTkRfVElNRVI9bQotQ09ORklHX1NORF9QQ009bQotIyBDT05GSUdfU05EX1NFUVVFTkNFUiBpcyBub3Qgc2V0Ci1DT05GSUdfU05EX09TU0VNVUw9eQotQ09ORklHX1NORF9NSVhFUl9PU1M9bQotQ09ORklHX1NORF9QQ01fT1NTPW0KLUNPTkZJR19TTkRfUENNX09TU19QTFVHSU5TPXkKLSMgQ09ORklHX1NORF9EWU5BTUlDX01JTk9SUyBpcyBub3Qgc2V0Ci1DT05GSUdfU05EX1NVUFBPUlRfT0xEX0FQST15Ci1DT05GSUdfU05EX1ZFUkJPU0VfUFJPQ0ZTPXkKLSMgQ09ORklHX1NORF9WRVJCT1NFX1BSSU5USyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfREVCVUcgaXMgbm90IHNldAotCi0jCi0jIEdlbmVyaWMgZGV2aWNlcwotIwotQ09ORklHX1NORF9BQzk3X0NPREVDPW0KLSMgQ09ORklHX1NORF9EVU1NWSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfTVRQQVYgaXMgbm90IHNldAotIyBDT05GSUdfU05EX1NFUklBTF9VMTY1NTAgaXMgbm90IHNldAotIyBDT05GSUdfU05EX01QVTQwMSBpcyBub3Qgc2V0Ci0KLSMKLSMgUENJIGRldmljZXMKLSMKLSMgQ09ORklHX1NORF9BRDE4ODkgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0FMUzMwMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfQUxJNTQ1MSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfQVRJSVhQIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9BVElJWFBfTU9ERU0gaXMgbm90IHNldAotIyBDT05GSUdfU05EX0FVODgxMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfQVU4ODIwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9BVTg4MzAgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0FaVDMzMjggaXMgbm90IHNldAotIyBDT05GSUdfU05EX0JUODdYIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9DQTAxMDYgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0NNSVBDSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfQ1M0MjgxIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9DUzQ2WFggaXMgbm90IHNldAotIyBDT05GSUdfU05EX0RBUkxBMjAgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0dJTkEyMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfTEFZTEEyMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfREFSTEEyNCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfR0lOQTI0IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9MQVlMQTI0IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9NT05BIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9NSUEgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0VDSE8zRyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfSU5ESUdPIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9JTkRJR09JTyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfSU5ESUdPREogaXMgbm90IHNldAotIyBDT05GSUdfU05EX0VNVTEwSzEgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0VNVTEwSzFYIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9FTlMxMzcwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9FTlMxMzcxIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9FUzE5MzggaXMgbm90IHNldAotIyBDT05GSUdfU05EX0VTMTk2OCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfRk04MDEgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0hEQV9JTlRFTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfSERTUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfSERTUE0gaXMgbm90IHNldAotIyBDT05GSUdfU05EX0lDRTE3MTIgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0lDRTE3MjQgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0lOVEVMOFgwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9JTlRFTDhYME0gaXMgbm90IHNldAotIyBDT05GSUdfU05EX0tPUkcxMjEyIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9NQUVTVFJPMyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfTUlYQVJUIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9OTTI1NiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfUENYSFIgaXMgbm90IHNldAotIyBDT05GSUdfU05EX1JJUFRJREUgaXMgbm90IHNldAotIyBDT05GSUdfU05EX1JNRTMyIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9STUU5NiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfUk1FOTY1MiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfU09OSUNWSUJFUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfVFJJREVOVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfVklBODJYWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfVklBODJYWF9NT0RFTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfVlgyMjIgaXMgbm90IHNldAotIyBDT05GSUdfU05EX1lNRlBDSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfQUM5N19QT1dFUl9TQVZFIGlzIG5vdCBzZXQKLQotIwotIyBBTFNBIEFSTSBkZXZpY2VzCi0jCi1DT05GSUdfU05EX1BYQTJYWF9QQ009bQotQ09ORklHX1NORF9QWEEyWFhfQUM5Nz1tCi0KLSMKLSMgVVNCIGRldmljZXMKLSMKLSMgQ09ORklHX1NORF9VU0JfQVVESU8gaXMgbm90IHNldAotIyBDT05GSUdfU05EX1VTQl9DQUlBUSBpcyBub3Qgc2V0Ci0KLSMKLSMgU3lzdGVtIG9uIENoaXAgYXVkaW8gc3VwcG9ydAotIwotIyBDT05GSUdfU05EX1NPQyBpcyBub3Qgc2V0Ci0KLSMKLSMgT3BlbiBTb3VuZCBTeXN0ZW0KLSMKLSMgQ09ORklHX1NPVU5EX1BSSU1FIGlzIG5vdCBzZXQKLUNPTkZJR19BQzk3X0JVUz1tCisjIENPTkZJR19TT1VORCBpcyBub3Qgc2V0CiBDT05GSUdfSElEX1NVUFBPUlQ9eQogQ09ORklHX0hJRD15CiAjIENPTkZJR19ISURfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfSElEUkFXIGlzIG5vdCBzZXQKIAogIwogIyBVU0IgSW5wdXQgRGV2aWNlcwpAQCAtOTkyLDI2ICs5NjYsMjggQEAKIENPTkZJR19VU0JfQVJDSF9IQVNfRUhDST15CiBDT05GSUdfVVNCPXkKICMgQ09ORklHX1VTQl9ERUJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfQU5OT1VOQ0VfTkVXX0RFVklDRVMgaXMgbm90IHNldAogCiAjCiAjIE1pc2NlbGxhbmVvdXMgVVNCIG9wdGlvbnMKICMKIENPTkZJR19VU0JfREVWSUNFRlM9eQotIyBDT05GSUdfVVNCX0RFVklDRV9DTEFTUyBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0RFVklDRV9DTEFTUz15CiAjIENPTkZJR19VU0JfRFlOQU1JQ19NSU5PUlMgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1NVU1BFTkQgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1BFUlNJU1QgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX09URyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfT1RHX1dISVRFTElTVCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfT1RHX0JMQUNLTElTVF9IVUIgaXMgbm90IHNldAogCiAjCiAjIFVTQiBIb3N0IENvbnRyb2xsZXIgRHJpdmVycwogIwotIyBDT05GSUdfVVNCX0VIQ0lfSENEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9DNjdYMDBfSENEIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfRUhDSV9IQ0Q9eQorQ09ORklHX1VTQl9FSENJX1JPT1RfSFVCX1RUPXkKK0NPTkZJR19VU0JfRUhDSV9UVF9ORVdTQ0hFRD15CiAjIENPTkZJR19VU0JfSVNQMTE2WF9IQ0QgaXMgbm90IHNldAotQ09ORklHX1VTQl9PSENJX0hDRD15Ci0jIENPTkZJR19VU0JfT0hDSV9CSUdfRU5ESUFOX0RFU0MgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX09IQ0lfQklHX0VORElBTl9NTUlPIGlzIG5vdCBzZXQKLUNPTkZJR19VU0JfT0hDSV9MSVRUTEVfRU5ESUFOPXkKKyMgQ09ORklHX1VTQl9JU1AxNzYwX0hDRCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfT0hDSV9IQ0QgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1VIQ0lfSENEIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TTDgxMV9IQ0QgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1I4QTY2NTk3X0hDRCBpcyBub3Qgc2V0CkBAIC0xMDIwLDcgKzk5Niw4IEBACiAjIFVTQiBEZXZpY2UgQ2xhc3MgZHJpdmVycwogIwogIyBDT05GSUdfVVNCX0FDTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfUFJJTlRFUiBpcyBub3Qgc2V0CitDT05GSUdfVVNCX1BSSU5URVI9eQorIyBDT05GSUdfVVNCX1dETSBpcyBub3Qgc2V0CiAKICMKICMgTk9URTogVVNCX1NUT1JBR0UgZW5hYmxlcyBTQ1NJLCBhbmQgJ1NDU0kgZGlzayBzdXBwb3J0JwpAQCAtMTAzMSwxNSArMTAwOCwxOCBAQAogIwogQ09ORklHX1VTQl9TVE9SQUdFPXkKICMgQ09ORklHX1VTQl9TVE9SQUdFX0RFQlVHIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9TVE9SQUdFX0RBVEFGQUIgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1NUT1JBR0VfRlJFRUNPTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfU1RPUkFHRV9EUENNIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfU1RPUkFHRV9EQVRBRkFCPXkKK0NPTkZJR19VU0JfU1RPUkFHRV9GUkVFQ09NPXkKKyMgQ09ORklHX1VTQl9TVE9SQUdFX0lTRDIwMCBpcyBub3Qgc2V0CitDT05GSUdfVVNCX1NUT1JBR0VfRFBDTT15CiAjIENPTkZJR19VU0JfU1RPUkFHRV9VU0JBVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfU1RPUkFHRV9TRERSMDkgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1NUT1JBR0VfU0REUjU1IGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9TVE9SQUdFX0pVTVBTSE9UIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfU1RPUkFHRV9TRERSMDk9eQorQ09ORklHX1VTQl9TVE9SQUdFX1NERFI1NT15CitDT05GSUdfVVNCX1NUT1JBR0VfSlVNUFNIT1Q9eQogIyBDT05GSUdfVVNCX1NUT1JBR0VfQUxBVURBIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVE9SQUdFX09ORVRPVUNIIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX0tBUk1BIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVE9SQUdFX0NZUFJFU1NfQVRBQ0IgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0xJQlVTVUFMIGlzIG5vdCBzZXQKIAogIwpAQCAtMTA0NywxNSArMTAyNywxMSBAQAogIwogIyBDT05GSUdfVVNCX01EQzgwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfTUlDUk9URUsgaXMgbm90IHNldAotQ09ORklHX1VTQl9NT049eQorIyBDT05GSUdfVVNCX01PTiBpcyBub3Qgc2V0CiAKICMKICMgVVNCIHBvcnQgZHJpdmVycwogIwotCi0jCi0jIFVTQiBTZXJpYWwgQ29udmVydGVyIHN1cHBvcnQKLSMKICMgQ09ORklHX1VTQl9TRVJJQUwgaXMgbm90IHNldAogCiAjCkBAIC0xMDc2LDM5ICsxMDUyLDI4IEBACiAjIENPTkZJR19VU0JfSURNT1VTRSBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfRlRESV9FTEFOIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9BUFBMRURJU1BMQVkgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NJU1VTQlZHQSBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfTEQgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1RSQU5DRVZJQlJBVE9SIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9JT1dBUlJJT1IgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1RFU1QgaXMgbm90IHNldAotCi0jCi0jIFVTQiBEU0wgbW9kZW0gc3VwcG9ydAotIwotCi0jCi0jIFVTQiBHYWRnZXQgU3VwcG9ydAotIworIyBDT05GSUdfVVNCX0lTSUdIVEZXIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9HQURHRVQgaXMgbm90IHNldAotQ09ORklHX01NQz1tCi0jIENPTkZJR19NTUNfREVCVUcgaXMgbm90IHNldAotIyBDT05GSUdfTU1DX1VOU0FGRV9SRVNVTUUgaXMgbm90IHNldAorIyBDT05GSUdfTU1DIGlzIG5vdCBzZXQKK0NPTkZJR19ORVdfTEVEUz15CitDT05GSUdfTEVEU19DTEFTUz15CiAKICMKLSMgTU1DL1NEIENhcmQgRHJpdmVycworIyBMRUQgZHJpdmVycwogIwotQ09ORklHX01NQ19CTE9DSz1tCi1DT05GSUdfTU1DX0JMT0NLX0JPVU5DRT15CiAKICMKLSMgTU1DL1NEIEhvc3QgQ29udHJvbGxlciBEcml2ZXJzCisjIExFRCBUcmlnZ2VycwogIwotQ09ORklHX01NQ19QWEE9bQotIyBDT05GSUdfTU1DX1NESENJIGlzIG5vdCBzZXQKLSMgQ09ORklHX01NQ19USUZNX1NEIGlzIG5vdCBzZXQKLQotIwotIyBSZWFsIFRpbWUgQ2xvY2sKLSMKK0NPTkZJR19MRURTX1RSSUdHRVJTPXkKK0NPTkZJR19MRURTX1RSSUdHRVJfVElNRVI9eQorQ09ORklHX0xFRFNfVFJJR0dFUl9IRUFSVEJFQVQ9eQorIyBDT05GSUdfTEVEU19UUklHR0VSX0RFRkFVTFRfT04gaXMgbm90IHNldAogQ09ORklHX1JUQ19MSUI9eQogQ09ORklHX1JUQ19DTEFTUz15CiBDT05GSUdfUlRDX0hDVE9TWVM9eQpAQCAtMTEyNSwzMiArMTA5MCw0MSBAQAogIyBDT05GSUdfUlRDX0RSVl9URVNUIGlzIG5vdCBzZXQKIAogIworIyBJMkMgUlRDIGRyaXZlcnMKKyMKK0NPTkZJR19SVENfRFJWX0RTMTMwNz15CisjIENPTkZJR19SVENfRFJWX0RTMTM3NCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0RTMTY3MiBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX01BWDY5MDAgaXMgbm90IHNldAorQ09ORklHX1JUQ19EUlZfUlM1QzM3Mj15CisjIENPTkZJR19SVENfRFJWX0lTTDEyMDggaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9YMTIwNSBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1BDRjg1NjMgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9QQ0Y4NTgzIGlzIG5vdCBzZXQKK0NPTkZJR19SVENfRFJWX000MVQ4MD15CisjIENPTkZJR19SVENfRFJWX000MVQ4MF9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9TMzUzOTBBIGlzIG5vdCBzZXQKKworIworIyBTUEkgUlRDIGRyaXZlcnMKKyMKKworIwogIyBQbGF0Zm9ybSBSVEMgZHJpdmVycwogIwogIyBDT05GSUdfUlRDX0RSVl9DTU9TIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfRFMxNTExIGlzIG5vdCBzZXQKICMgQ09ORklHX1JUQ19EUlZfRFMxNTUzIGlzIG5vdCBzZXQKICMgQ09ORklHX1JUQ19EUlZfRFMxNzQyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfU1RLMTdUQTggaXMgbm90IHNldAogIyBDT05GSUdfUlRDX0RSVl9NNDhUODYgaXMgbm90IHNldAogIyBDT05GSUdfUlRDX0RSVl9NNDhUNTkgaXMgbm90IHNldAotQ09ORklHX1JUQ19EUlZfVjMwMjA9eQorIyBDT05GSUdfUlRDX0RSVl9WMzAyMCBpcyBub3Qgc2V0CiAKICMKICMgb24tQ1BVIFJUQyBkcml2ZXJzCiAjCi1DT05GSUdfUlRDX0RSVl9TQTExMDA9eQotCi0jCi0jIERNQSBFbmdpbmUgc3VwcG9ydAotIwotIyBDT05GSUdfRE1BX0VOR0lORSBpcyBub3Qgc2V0Ci0KLSMKLSMgRE1BIENsaWVudHMKLSMKLQotIwotIyBETUEgRGV2aWNlcwotIworIyBDT05GSUdfVUlPIGlzIG5vdCBzZXQKIAogIwogIyBGaWxlIHN5c3RlbXMKQEAgLTExNTksMjUgKzExMzMsMTggQEAKICMgQ09ORklHX0VYVDJfRlNfWEFUVFIgaXMgbm90IHNldAogIyBDT05GSUdfRVhUMl9GU19YSVAgaXMgbm90IHNldAogQ09ORklHX0VYVDNfRlM9eQotQ09ORklHX0VYVDNfRlNfWEFUVFI9eQotIyBDT05GSUdfRVhUM19GU19QT1NJWF9BQ0wgaXMgbm90IHNldAotIyBDT05GSUdfRVhUM19GU19TRUNVUklUWSBpcyBub3Qgc2V0CisjIENPTkZJR19FWFQzX0ZTX1hBVFRSIGlzIG5vdCBzZXQKICMgQ09ORklHX0VYVDRERVZfRlMgaXMgbm90IHNldAogQ09ORklHX0pCRD15Ci0jIENPTkZJR19KQkRfREVCVUcgaXMgbm90IHNldAotQ09ORklHX0ZTX01CQ0FDSEU9eQogIyBDT05GSUdfUkVJU0VSRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfSkZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0CiAjIENPTkZJR19YRlNfRlMgaXMgbm90IHNldAotIyBDT05GSUdfR0ZTMl9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19PQ0ZTMl9GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NSU5JWF9GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19ST01GU19GUyBpcyBub3Qgc2V0CitDT05GSUdfRE5PVElGWT15CiBDT05GSUdfSU5PVElGWT15CiBDT05GSUdfSU5PVElGWV9VU0VSPXkKICMgQ09ORklHX1FVT1RBIGlzIG5vdCBzZXQKLUNPTkZJR19ETk9USUZZPXkKICMgQ09ORklHX0FVVE9GU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19BVVRPRlM0X0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZVU0VfRlMgaXMgbm90IHNldApAQCAtMTE4NSw4ICsxMTUyLDExIEBACiAjCiAjIENELVJPTS9EVkQgRmlsZXN5c3RlbXMKICMKLSMgQ09ORklHX0lTTzk2NjBfRlMgaXMgbm90IHNldAotIyBDT05GSUdfVURGX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19JU085NjYwX0ZTPW0KK0NPTkZJR19KT0xJRVQ9eQorIyBDT05GSUdfWklTT0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19VREZfRlM9bQorQ09ORklHX1VERl9OTFM9eQogCiAjCiAjIERPUy9GQVQvTlQgRmlsZXN5c3RlbXMKQEAgLTEyMDcsNyArMTE3Nyw2IEBACiBDT05GSUdfVE1QRlM9eQogIyBDT05GSUdfVE1QRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKICMgQ09ORklHX0hVR0VUTEJfUEFHRSBpcyBub3Qgc2V0Ci1DT05GSUdfUkFNRlM9eQogIyBDT05GSUdfQ09ORklHRlNfRlMgaXMgbm90IHNldAogCiAjCkBAIC0xMjIwLDIyICsxMTg5LDMwIEBACiAjIENPTkZJR19CRUZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0JGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19FRlNfRlMgaXMgbm90IHNldAotIyBDT05GSUdfSkZGUzJfRlMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JBTUZTIGlzIG5vdCBzZXQKK0NPTkZJR19KRkZTMl9GUz15CitDT05GSUdfSkZGUzJfRlNfREVCVUc9MAorQ09ORklHX0pGRlMyX0ZTX1dSSVRFQlVGRkVSPXkKKyMgQ09ORklHX0pGRlMyX0ZTX1dCVUZfVkVSSUZZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pGRlMyX1NVTU1BUlkgaXMgbm90IHNldAorIyBDT05GSUdfSkZGUzJfRlNfWEFUVFIgaXMgbm90IHNldAorIyBDT05GSUdfSkZGUzJfQ09NUFJFU1NJT05fT1BUSU9OUyBpcyBub3Qgc2V0CitDT05GSUdfSkZGUzJfWkxJQj15CisjIENPTkZJR19KRkZTMl9MWk8gaXMgbm90IHNldAorQ09ORklHX0pGRlMyX1JUSU1FPXkKKyMgQ09ORklHX0pGRlMyX1JVQklOIGlzIG5vdCBzZXQKK0NPTkZJR19DUkFNRlM9eQogIyBDT05GSUdfVlhGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19NSU5JWF9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19IUEZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1FOWDRGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19ST01GU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TWVNWX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1VGU19GUyBpcyBub3Qgc2V0Ci0KLSMKLSMgTmV0d29yayBGaWxlIFN5c3RlbXMKLSMKK0NPTkZJR19ORVRXT1JLX0ZJTEVTWVNURU1TPXkKIENPTkZJR19ORlNfRlM9eQogQ09ORklHX05GU19WMz15CiAjIENPTkZJR19ORlNfVjNfQUNMIGlzIG5vdCBzZXQKICMgQ09ORklHX05GU19WNCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ORlNfRElSRUNUSU8gaXMgbm90IHNldAogIyBDT05GSUdfTkZTRCBpcyBub3Qgc2V0CiBDT05GSUdfUk9PVF9ORlM9eQogQ09ORklHX0xPQ0tEPXkKQEAgLTEyNDUsOCArMTIyMiw3IEBACiAjIENPTkZJR19TVU5SUENfQklORDM0IGlzIG5vdCBzZXQKICMgQ09ORklHX1JQQ1NFQ19HU1NfS1JCNSBpcyBub3Qgc2V0CiAjIENPTkZJR19SUENTRUNfR1NTX1NQS00zIGlzIG5vdCBzZXQKLUNPTkZJR19TTUJfRlM9eQotIyBDT05GSUdfU01CX05MU19ERUZBVUxUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NNQl9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19DSUZTIGlzIG5vdCBzZXQKICMgQ09ORklHX05DUF9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19DT0RBX0ZTIGlzIG5vdCBzZXQKQEAgLTEyNTUsMTggKzEyMzEsMzAgQEAKICMKICMgUGFydGl0aW9uIFR5cGVzCiAjCi0jIENPTkZJR19QQVJUSVRJT05fQURWQU5DRUQgaXMgbm90IHNldAorQ09ORklHX1BBUlRJVElPTl9BRFZBTkNFRD15CisjIENPTkZJR19BQ09STl9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfT1NGX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19BTUlHQV9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfQVRBUklfUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BQ19QQVJUSVRJT04gaXMgbm90IHNldAogQ09ORklHX01TRE9TX1BBUlRJVElPTj15Ci0KLSMKLSMgTmF0aXZlIExhbmd1YWdlIFN1cHBvcnQKLSMKK0NPTkZJR19CU0RfRElTS0xBQkVMPXkKKyMgQ09ORklHX01JTklYX1NVQlBBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19TT0xBUklTX1g4Nl9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfVU5JWFdBUkVfRElTS0xBQkVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xETV9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfU0dJX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19VTFRSSVhfUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NVTl9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfS0FSTUFfUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VGSV9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfU1lTVjY4X1BBUlRJVElPTiBpcyBub3Qgc2V0CiBDT05GSUdfTkxTPXkKIENPTkZJR19OTFNfREVGQVVMVD0iaXNvODg1OS0xIgogQ09ORklHX05MU19DT0RFUEFHRV80Mzc9eQogIyBDT05GSUdfTkxTX0NPREVQQUdFXzczNyBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfNzc1IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV84NTAgaXMgbm90IHNldAorQ09ORklHX05MU19DT0RFUEFHRV84NTA9eQogIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1MiBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfODU1IGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19DT0RFUEFHRV84NTcgaXMgbm90IHNldApAQCAtMTI4OCw3ICsxMjc2LDcgQEAKICMgQ09ORklHX05MU19DT0RFUEFHRV8xMjUxIGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19BU0NJSSBpcyBub3Qgc2V0CiBDT05GSUdfTkxTX0lTTzg4NTlfMT15Ci0jIENPTkZJR19OTFNfSVNPODg1OV8yIGlzIG5vdCBzZXQKK0NPTkZJR19OTFNfSVNPODg1OV8yPXkKICMgQ09ORklHX05MU19JU084ODU5XzMgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0lTTzg4NTlfNCBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfSVNPODg1OV81IGlzIG5vdCBzZXQKQEAgLTEzMDEsNTIgKzEyODksNTUgQEAKICMgQ09ORklHX05MU19LT0k4X1IgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0tPSThfVSBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfVVRGOCBpcyBub3Qgc2V0Ci0KLSMKLSMgRGlzdHJpYnV0ZWQgTG9jayBNYW5hZ2VyCi0jCiAjIENPTkZJR19ETE0gaXMgbm90IHNldAogCiAjCi0jIFByb2ZpbGluZyBzdXBwb3J0Ci0jCi0jIENPTkZJR19QUk9GSUxJTkcgaXMgbm90IHNldAotCi0jCiAjIEtlcm5lbCBoYWNraW5nCiAjCiAjIENPTkZJR19QUklOVEtfVElNRSBpcyBub3Qgc2V0CitDT05GSUdfRU5BQkxFX1dBUk5fREVQUkVDQVRFRD15CiBDT05GSUdfRU5BQkxFX01VU1RfQ0hFQ0s9eQorQ09ORklHX0ZSQU1FX1dBUk49MTAyNAogQ09ORklHX01BR0lDX1NZU1JRPXkKICMgQ09ORklHX1VOVVNFRF9TWU1CT0xTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0hFQURFUlNfQ0hFQ0sgaXMgbm90IHNldAogQ09ORklHX0RFQlVHX0tFUk5FTD15CiAjIENPTkZJR19ERUJVR19TSElSUSBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERVRFQ1RfU09GVExPQ0tVUCBpcyBub3Qgc2V0CitDT05GSUdfREVURUNUX1NPRlRMT0NLVVA9eQogQ09ORklHX1NDSEVEX0RFQlVHPXkKLSMgQ09ORklHX1NDSEVEU1RBVFMgaXMgbm90IHNldAorQ09ORklHX1NDSEVEU1RBVFM9eQogIyBDT05GSUdfVElNRVJfU1RBVFMgaXMgbm90IHNldAotIyBDT05GSUdfREVCVUdfU0xBQiBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19PQkpFQ1RTIGlzIG5vdCBzZXQKK0NPTkZJR19ERUJVR19QUkVFTVBUPXkKICMgQ09ORklHX0RFQlVHX1JUX01VVEVYRVMgaXMgbm90IHNldAogIyBDT05GSUdfUlRfTVVURVhfVEVTVEVSIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX1NQSU5MT0NLIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX01VVEVYRVMgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfTE9DS19BTExPQyBpcyBub3Qgc2V0CiAjIENPTkZJR19QUk9WRV9MT0NLSU5HIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xPQ0tfU1RBVCBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19TUElOTE9DS19TTEVFUCBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19MT0NLSU5HX0FQSV9TRUxGVEVTVFMgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfS09CSkVDVCBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19CVUdWRVJCT1NFIGlzIG5vdCBzZXQKIENPTkZJR19ERUJVR19JTkZPPXkKICMgQ09ORklHX0RFQlVHX1ZNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX1dSSVRFQ09VTlQgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfTElTVCBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19TRyBpcyBub3Qgc2V0CiBDT05GSUdfRlJBTUVfUE9JTlRFUj15Ci1DT05GSUdfRk9SQ0VEX0lOTElOSU5HPXkKKyMgQ09ORklHX0JPT1RfUFJJTlRLX0RFTEFZIGlzIG5vdCBzZXQKICMgQ09ORklHX1JDVV9UT1JUVVJFX1RFU1QgaXMgbm90IHNldAorIyBDT05GSUdfS1BST0JFU19TQU5JVFlfVEVTVCBpcyBub3Qgc2V0CisjIENPTkZJR19CQUNLVFJBQ0VfU0VMRl9URVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xLRFRNIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZBVUxUX0lOSkVDVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19MQVRFTkNZVE9QIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBTVBMRVMgaXMgbm90IHNldAogQ09ORklHX0RFQlVHX1VTRVI9eQogQ09ORklHX0RFQlVHX0VSUk9SUz15CisjIENPTkZJR19ERUJVR19TVEFDS19VU0FHRSBpcyBub3Qgc2V0CiBDT05GSUdfREVCVUdfTEw9eQogIyBDT05GSUdfREVCVUdfSUNFRENDIGlzIG5vdCBzZXQKIApAQCAtMTM1NSw1NSArMTM0Niw5OSBAQAogIwogIyBDT05GSUdfS0VZUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TRUNVUklUWSBpcyBub3Qgc2V0CisjIENPTkZJR19TRUNVUklUWV9GSUxFX0NBUEFCSUxJVElFUyBpcyBub3Qgc2V0CiBDT05GSUdfQ1JZUFRPPXkKKworIworIyBDcnlwdG8gY29yZSBvciBoZWxwZXIKKyMKIENPTkZJR19DUllQVE9fQUxHQVBJPW0KIENPTkZJR19DUllQVE9fQkxLQ0lQSEVSPW0KIENPTkZJR19DUllQVE9fTUFOQUdFUj1tCisjIENPTkZJR19DUllQVE9fR0YxMjhNVUwgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX05VTEwgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NSWVBURCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQVVUSEVOQyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fVEVTVCBpcyBub3Qgc2V0CisKKyMKKyMgQXV0aGVudGljYXRlZCBFbmNyeXB0aW9uIHdpdGggQXNzb2NpYXRlZCBEYXRhCisjCisjIENPTkZJR19DUllQVE9fQ0NNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19HQ00gaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NFUUlWIGlzIG5vdCBzZXQKKworIworIyBCbG9jayBtb2RlcworIworQ09ORklHX0NSWVBUT19DQkM9bQorIyBDT05GSUdfQ1JZUFRPX0NUUiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ1RTIGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fRUNCPW0KKyMgQ09ORklHX0NSWVBUT19MUlcgaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19QQ0JDPW0KKyMgQ09ORklHX0NSWVBUT19YVFMgaXMgbm90IHNldAorCisjCisjIEhhc2ggbW9kZXMKKyMKICMgQ09ORklHX0NSWVBUT19ITUFDIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19YQ0JDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19OVUxMIGlzIG5vdCBzZXQKKworIworIyBEaWdlc3QKKyMKKyMgQ09ORklHX0NSWVBUT19DUkMzMkMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX01ENCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fTUQ1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19NSUNIQUVMX01JQyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fU0hBMSBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fU0hBMjU2IGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19TSEE1MTIgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1dQNTEyIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19UR1IxOTIgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0dGMTI4TVVMIGlzIG5vdCBzZXQKLUNPTkZJR19DUllQVE9fRUNCPW0KLUNPTkZJR19DUllQVE9fQ0JDPW0KLUNPTkZJR19DUllQVE9fUENCQz1tCi0jIENPTkZJR19DUllQVE9fTFJXIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19DUllQVEQgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0RFUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fRkNSWVBUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19XUDUxMiBpcyBub3Qgc2V0CisKKyMKKyMgQ2lwaGVycworIworIyBDT05GSUdfQ1JZUFRPX0FFUyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQU5VQklTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19BUkM0IGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19CTE9XRklTSCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fVFdPRklTSCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fU0VSUEVOVCBpcyBub3Qgc2V0Ci1DT05GSUdfQ1JZUFRPX0FFUz1tCisjIENPTkZJR19DUllQVE9fQ0FNRUxMSUEgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0NBU1Q1IGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19DQVNUNiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fVEVBIGlzIG5vdCBzZXQKLUNPTkZJR19DUllQVE9fQVJDND1tCisjIENPTkZJR19DUllQVE9fREVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19GQ1JZUFQgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0tIQVpBRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQU5VQklTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TQUxTQTIwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TRUVEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TRVJQRU5UIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19URUEgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1RXT0ZJU0ggaXMgbm90IHNldAorCisjCisjIENvbXByZXNzaW9uCisjCiAjIENPTkZJR19DUllQVE9fREVGTEFURSBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fTUlDSEFFTF9NSUMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0NSQzMyQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQ0FNRUxMSUEgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1RFU1QgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0xaTyBpcyBub3Qgc2V0CiBDT05GSUdfQ1JZUFRPX0hXPXkKKyMgQ09ORklHX0NSWVBUT19ERVZfSElGTl83OTVYIGlzIG5vdCBzZXQKIAogIwogIyBMaWJyYXJ5IHJvdXRpbmVzCiAjCiBDT05GSUdfQklUUkVWRVJTRT15CisjIENPTkZJR19HRU5FUklDX0ZJTkRfRklSU1RfQklUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0dFTkVSSUNfRklORF9ORVhUX0JJVCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUkNfQ0NJVFQgaXMgbm90IHNldAogIyBDT05GSUdfQ1JDMTYgaXMgbm90IHNldAotIyBDT05GSUdfQ1JDX0lUVV9UIGlzIG5vdCBzZXQKK0NPTkZJR19DUkNfSVRVX1Q9bQogQ09ORklHX0NSQzMyPXkKICMgQ09ORklHX0NSQzcgaXMgbm90IHNldAogIyBDT05GSUdfTElCQ1JDMzJDIGlzIG5vdCBzZXQKK0NPTkZJR19aTElCX0lORkxBVEU9eQorQ09ORklHX1pMSUJfREVGTEFURT15CiBDT05GSUdfUExJU1Q9eQogQ09ORklHX0hBU19JT01FTT15CiBDT05GSUdfSEFTX0lPUE9SVD15CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL214MzFhZHNfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9teDMxYWRzX2RlZmNvbmZpZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMDUyNzE3Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vY29uZmlncy9teDMxYWRzX2RlZmNvbmZpZwpAQCAtMCwwICsxLDgzOSBAQAorIworIyBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBtYWtlIGNvbmZpZzogZG9uJ3QgZWRpdAorIyBMaW51eCBrZXJuZWwgdmVyc2lvbjogMi42LjI2LXJjNgorIyBGcmkgSnVuIDIwIDE2OjIxOjExIDIwMDgKKyMKK0NPTkZJR19BUk09eQorQ09ORklHX1NZU19TVVBQT1JUU19BUE1fRU1VTEFUSU9OPXkKK0NPTkZJR19HRU5FUklDX0dQSU89eQorQ09ORklHX0dFTkVSSUNfVElNRT15CitDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UUz15CitDT05GSUdfTU1VPXkKKyMgQ09ORklHX05PX0lPUE9SVCBpcyBub3Qgc2V0CitDT05GSUdfR0VORVJJQ19IQVJESVJRUz15CitDT05GSUdfU1RBQ0tUUkFDRV9TVVBQT1JUPXkKK0NPTkZJR19MT0NLREVQX1NVUFBPUlQ9eQorQ09ORklHX1RSQUNFX0lSUUZMQUdTX1NVUFBPUlQ9eQorQ09ORklHX0hBUkRJUlFTX1NXX1JFU0VORD15CitDT05GSUdfR0VORVJJQ19JUlFfUFJPQkU9eQorQ09ORklHX1JXU0VNX0dFTkVSSUNfU1BJTkxPQ0s9eQorIyBDT05GSUdfQVJDSF9IQVNfSUxPRzJfVTMyIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSEFTX0lMT0cyX1U2NCBpcyBub3Qgc2V0CitDT05GSUdfR0VORVJJQ19IV0VJR0hUPXkKK0NPTkZJR19HRU5FUklDX0NBTElCUkFURV9ERUxBWT15CitDT05GSUdfQVJDSF9TVVBQT1JUU19BT1VUPXkKK0NPTkZJR19aT05FX0RNQT15CitDT05GSUdfQVJDSF9NVERfWElQPXkKK0NPTkZJR19WRUNUT1JTX0JBU0U9MHhmZmZmMDAwMAorQ09ORklHX0RFRkNPTkZJR19MSVNUPSIvbGliL21vZHVsZXMvJFVOQU1FX1JFTEVBU0UvLmNvbmZpZyIKKworIworIyBHZW5lcmFsIHNldHVwCisjCitDT05GSUdfRVhQRVJJTUVOVEFMPXkKK0NPTkZJR19CUk9LRU5fT05fU01QPXkKK0NPTkZJR19MT0NLX0tFUk5FTD15CitDT05GSUdfSU5JVF9FTlZfQVJHX0xJTUlUPTMyCitDT05GSUdfTE9DQUxWRVJTSU9OPSIiCitDT05GSUdfTE9DQUxWRVJTSU9OX0FVVE89eQorQ09ORklHX1NXQVA9eQorQ09ORklHX1NZU1ZJUEM9eQorQ09ORklHX1NZU1ZJUENfU1lTQ1RMPXkKKyMgQ09ORklHX1BPU0lYX01RVUVVRSBpcyBub3Qgc2V0CisjIENPTkZJR19CU0RfUFJPQ0VTU19BQ0NUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RBU0tTVEFUUyBpcyBub3Qgc2V0CisjIENPTkZJR19BVURJVCBpcyBub3Qgc2V0CitDT05GSUdfSUtDT05GSUc9eQorQ09ORklHX0lLQ09ORklHX1BST0M9eQorQ09ORklHX0xPR19CVUZfU0hJRlQ9MTQKKyMgQ09ORklHX0NHUk9VUFMgaXMgbm90IHNldAorQ09ORklHX0dST1VQX1NDSEVEPXkKK0NPTkZJR19GQUlSX0dST1VQX1NDSEVEPXkKKyMgQ09ORklHX1JUX0dST1VQX1NDSEVEIGlzIG5vdCBzZXQKK0NPTkZJR19VU0VSX1NDSEVEPXkKKyMgQ09ORklHX0NHUk9VUF9TQ0hFRCBpcyBub3Qgc2V0CitDT05GSUdfU1lTRlNfREVQUkVDQVRFRD15CitDT05GSUdfU1lTRlNfREVQUkVDQVRFRF9WMj15CisjIENPTkZJR19SRUxBWSBpcyBub3Qgc2V0CisjIENPTkZJR19OQU1FU1BBQ0VTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JMS19ERVZfSU5JVFJEIGlzIG5vdCBzZXQKK0NPTkZJR19DQ19PUFRJTUlaRV9GT1JfU0laRT15CitDT05GSUdfU1lTQ1RMPXkKK0NPTkZJR19FTUJFRERFRD15CitDT05GSUdfVUlEMTY9eQorQ09ORklHX1NZU0NUTF9TWVNDQUxMPXkKK0NPTkZJR19TWVNDVExfU1lTQ0FMTF9DSEVDSz15CitDT05GSUdfS0FMTFNZTVM9eQorIyBDT05GSUdfS0FMTFNZTVNfRVhUUkFfUEFTUyBpcyBub3Qgc2V0CitDT05GSUdfSE9UUExVRz15CitDT05GSUdfUFJJTlRLPXkKK0NPTkZJR19CVUc9eQorQ09ORklHX0VMRl9DT1JFPXkKK0NPTkZJR19DT01QQVRfQlJLPXkKK0NPTkZJR19CQVNFX0ZVTEw9eQorQ09ORklHX0ZVVEVYPXkKK0NPTkZJR19BTk9OX0lOT0RFUz15CitDT05GSUdfRVBPTEw9eQorQ09ORklHX1NJR05BTEZEPXkKK0NPTkZJR19USU1FUkZEPXkKK0NPTkZJR19FVkVOVEZEPXkKK0NPTkZJR19TSE1FTT15CitDT05GSUdfVk1fRVZFTlRfQ09VTlRFUlM9eQorQ09ORklHX1NMQUI9eQorIyBDT05GSUdfU0xVQiBpcyBub3Qgc2V0CisjIENPTkZJR19TTE9CIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BST0ZJTElORyBpcyBub3Qgc2V0CisjIENPTkZJR19NQVJLRVJTIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX09QUk9GSUxFPXkKKyMgQ09ORklHX0tQUk9CRVMgaXMgbm90IHNldAorQ09ORklHX0hBVkVfS1BST0JFUz15CitDT05GSUdfSEFWRV9LUkVUUFJPQkVTPXkKKyMgQ09ORklHX0hBVkVfRE1BX0FUVFJTIGlzIG5vdCBzZXQKK0NPTkZJR19QUk9DX1BBR0VfTU9OSVRPUj15CitDT05GSUdfU0xBQklORk89eQorQ09ORklHX1JUX01VVEVYRVM9eQorIyBDT05GSUdfVElOWV9TSE1FTSBpcyBub3Qgc2V0CitDT05GSUdfQkFTRV9TTUFMTD0wCitDT05GSUdfTU9EVUxFUz15CisjIENPTkZJR19NT0RVTEVfRk9SQ0VfTE9BRCBpcyBub3Qgc2V0CitDT05GSUdfTU9EVUxFX1VOTE9BRD15CitDT05GSUdfTU9EVUxFX0ZPUkNFX1VOTE9BRD15CitDT05GSUdfTU9EVkVSU0lPTlM9eQorIyBDT05GSUdfTU9EVUxFX1NSQ1ZFUlNJT05fQUxMIGlzIG5vdCBzZXQKK0NPTkZJR19LTU9EPXkKK0NPTkZJR19CTE9DSz15CisjIENPTkZJR19MQkQgaXMgbm90IHNldAorIyBDT05GSUdfQkxLX0RFVl9JT19UUkFDRSBpcyBub3Qgc2V0CisjIENPTkZJR19MU0YgaXMgbm90IHNldAorIyBDT05GSUdfQkxLX0RFVl9CU0cgaXMgbm90IHNldAorCisjCisjIElPIFNjaGVkdWxlcnMKKyMKK0NPTkZJR19JT1NDSEVEX05PT1A9eQorQ09ORklHX0lPU0NIRURfQVM9eQorQ09ORklHX0lPU0NIRURfREVBRExJTkU9eQorQ09ORklHX0lPU0NIRURfQ0ZRPXkKKyMgQ09ORklHX0RFRkFVTFRfQVMgaXMgbm90IHNldAorIyBDT05GSUdfREVGQVVMVF9ERUFETElORSBpcyBub3Qgc2V0CitDT05GSUdfREVGQVVMVF9DRlE9eQorIyBDT05GSUdfREVGQVVMVF9OT09QIGlzIG5vdCBzZXQKK0NPTkZJR19ERUZBVUxUX0lPU0NIRUQ9ImNmcSIKK0NPTkZJR19DTEFTU0lDX1JDVT15CisKKyMKKyMgU3lzdGVtIFR5cGUKKyMKKyMgQ09ORklHX0FSQ0hfQUFFQzIwMDAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9JTlRFR1JBVE9SIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfUkVBTFZJRVcgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9WRVJTQVRJTEUgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9BVDkxIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfQ0xQUzc1MDAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9DTFBTNzExWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0NPMjg1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfRUJTQTExMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0VQOTNYWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0ZPT1RCUklER0UgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9ORVRYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSDcyMFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9JTVggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9JT1AxM1hYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSU9QMzJYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSU9QMzNYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSVhQMjNYWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0lYUDIwMDAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9JWFA0WFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9MNzIwMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0tTODY5NSBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX05TOVhYWCBpcyBub3Qgc2V0CitDT05GSUdfQVJDSF9NWEM9eQorIyBDT05GSUdfQVJDSF9PUklPTjVYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfUE5YNDAwOCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1BYQSBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1JQQyBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1NBMTEwMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1MzQzI0MTAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9TSEFSSyBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0xIN0E0MFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9EQVZJTkNJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfT01BUCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX01TTTdYMDBBIGlzIG5vdCBzZXQKKworIworIyBCb290IG9wdGlvbnMKKyMKKworIworIyBQb3dlciBtYW5hZ2VtZW50CisjCisKKyMKKyMgRnJlZXNjYWxlIE1YQyBJbXBsZW1lbnRhdGlvbnMKKyMKKyMgQ09ORklHX0FSQ0hfTVgyIGlzIG5vdCBzZXQKK0NPTkZJR19BUkNIX01YMz15CisKKyMKKyMgTVgzIE9wdGlvbnMKKyMKK0NPTkZJR19NQUNIX01YMzFBRFM9eQorIyBDT05GSUdfTUFDSF9QQ00wMzcgaXMgbm90IHNldAorCisjCisjIFByb2Nlc3NvciBUeXBlCisjCitDT05GSUdfQ1BVXzMyPXkKK0NPTkZJR19DUFVfVjY9eQorIyBDT05GSUdfQ1BVXzMydjZLIGlzIG5vdCBzZXQKK0NPTkZJR19DUFVfMzJ2Nj15CitDT05GSUdfQ1BVX0FCUlRfRVY2PXkKK0NPTkZJR19DUFVfUEFCUlRfTk9JRkFSPXkKK0NPTkZJR19DUFVfQ0FDSEVfVjY9eQorQ09ORklHX0NQVV9DQUNIRV9WSVBUPXkKK0NPTkZJR19DUFVfQ09QWV9WNj15CitDT05GSUdfQ1BVX1RMQl9WNj15CitDT05GSUdfQ1BVX0hBU19BU0lEPXkKK0NPTkZJR19DUFVfQ1AxNT15CitDT05GSUdfQ1BVX0NQMTVfTU1VPXkKKworIworIyBQcm9jZXNzb3IgRmVhdHVyZXMKKyMKK0NPTkZJR19BUk1fVEhVTUI9eQorIyBDT05GSUdfQ1BVX0lDQUNIRV9ESVNBQkxFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NQVV9EQ0FDSEVfRElTQUJMRSBpcyBub3Qgc2V0CisjIENPTkZJR19DUFVfQlBSRURJQ1RfRElTQUJMRSBpcyBub3Qgc2V0CisjIENPTkZJR19PVVRFUl9DQUNIRSBpcyBub3Qgc2V0CisKKyMKKyMgQnVzIHN1cHBvcnQKKyMKKyMgQ09ORklHX1BDSV9TWVNDQUxMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfU1VQUE9SVFNfTVNJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDQ0FSRCBpcyBub3Qgc2V0CisKKyMKKyMgS2VybmVsIEZlYXR1cmVzCisjCitDT05GSUdfVElDS19PTkVTSE9UPXkKK0NPTkZJR19OT19IWj15CitDT05GSUdfSElHSF9SRVNfVElNRVJTPXkKK0NPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTX0JVSUxEPXkKK0NPTkZJR19QUkVFTVBUPXkKK0NPTkZJR19IWj0xMDAKK0NPTkZJR19BRUFCST15CisjIENPTkZJR19PQUJJX0NPTVBBVCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9FTkFCTEUgaXMgbm90IHNldAorQ09ORklHX1NFTEVDVF9NRU1PUllfTU9ERUw9eQorQ09ORklHX0ZMQVRNRU1fTUFOVUFMPXkKKyMgQ09ORklHX0RJU0NPTlRJR01FTV9NQU5VQUwgaXMgbm90IHNldAorIyBDT05GSUdfU1BBUlNFTUVNX01BTlVBTCBpcyBub3Qgc2V0CitDT05GSUdfRkxBVE1FTT15CitDT05GSUdfRkxBVF9OT0RFX01FTV9NQVA9eQorIyBDT05GSUdfU1BBUlNFTUVNX1NUQVRJQyBpcyBub3Qgc2V0CisjIENPTkZJR19TUEFSU0VNRU1fVk1FTU1BUF9FTkFCTEUgaXMgbm90IHNldAorQ09ORklHX1BBR0VGTEFHU19FWFRFTkRFRD15CitDT05GSUdfU1BMSVRfUFRMT0NLX0NQVVM9NAorIyBDT05GSUdfUkVTT1VSQ0VTXzY0QklUIGlzIG5vdCBzZXQKK0NPTkZJR19aT05FX0RNQV9GTEFHPTEKK0NPTkZJR19CT1VOQ0U9eQorQ09ORklHX1ZJUlRfVE9fQlVTPXkKK0NPTkZJR19BTElHTk1FTlRfVFJBUD15CisKKyMKKyMgQm9vdCBvcHRpb25zCisjCitDT05GSUdfWkJPT1RfUk9NX1RFWFQ9MHgwCitDT05GSUdfWkJPT1RfUk9NX0JTUz0weDAKK0NPTkZJR19DTURMSU5FPSJub2luaXRyZCBjb25zb2xlPXR0eW14YzAsMTE1MjAwIHJvb3Q9L2Rldi9tdGRibG9jazIgcncgaXA9b2ZmIgorIyBDT05GSUdfWElQX0tFUk5FTCBpcyBub3Qgc2V0CisjIENPTkZJR19LRVhFQyBpcyBub3Qgc2V0CisKKyMKKyMgRmxvYXRpbmcgcG9pbnQgZW11bGF0aW9uCisjCisKKyMKKyMgQXQgbGVhc3Qgb25lIGVtdWxhdGlvbiBtdXN0IGJlIHNlbGVjdGVkCisjCitDT05GSUdfVkZQPXkKKworIworIyBVc2Vyc3BhY2UgYmluYXJ5IGZvcm1hdHMKKyMKK0NPTkZJR19CSU5GTVRfRUxGPXkKKyMgQ09ORklHX0JJTkZNVF9BT1VUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JJTkZNVF9NSVNDIGlzIG5vdCBzZXQKKworIworIyBQb3dlciBtYW5hZ2VtZW50IG9wdGlvbnMKKyMKKyMgQ09ORklHX1BNIGlzIG5vdCBzZXQKK0NPTkZJR19BUkNIX1NVU1BFTkRfUE9TU0lCTEU9eQorCisjCisjIE5ldHdvcmtpbmcKKyMKK0NPTkZJR19ORVQ9eQorCisjCisjIE5ldHdvcmtpbmcgb3B0aW9ucworIworQ09ORklHX1BBQ0tFVD15CisjIENPTkZJR19QQUNLRVRfTU1BUCBpcyBub3Qgc2V0CitDT05GSUdfVU5JWD15CitDT05GSUdfWEZSTT15CisjIENPTkZJR19YRlJNX1VTRVIgaXMgbm90IHNldAorIyBDT05GSUdfWEZSTV9TVUJfUE9MSUNZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1hGUk1fTUlHUkFURSBpcyBub3Qgc2V0CisjIENPTkZJR19YRlJNX1NUQVRJU1RJQ1MgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0tFWSBpcyBub3Qgc2V0CitDT05GSUdfSU5FVD15CisjIENPTkZJR19JUF9NVUxUSUNBU1QgaXMgbm90IHNldAorIyBDT05GSUdfSVBfQURWQU5DRURfUk9VVEVSIGlzIG5vdCBzZXQKK0NPTkZJR19JUF9GSUJfSEFTSD15CitDT05GSUdfSVBfUE5QPXkKK0NPTkZJR19JUF9QTlBfREhDUD15CisjIENPTkZJR19JUF9QTlBfQk9PVFAgaXMgbm90IHNldAorIyBDT05GSUdfSVBfUE5QX1JBUlAgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0lQSVAgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0lQR1JFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSUEQgaXMgbm90IHNldAorIyBDT05GSUdfU1lOX0NPT0tJRVMgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9BSCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX0VTUCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX0lQQ09NUCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX1hGUk1fVFVOTkVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfVFVOTkVMIGlzIG5vdCBzZXQKK0NPTkZJR19JTkVUX1hGUk1fTU9ERV9UUkFOU1BPUlQ9eQorQ09ORklHX0lORVRfWEZSTV9NT0RFX1RVTk5FTD15CitDT05GSUdfSU5FVF9YRlJNX01PREVfQkVFVD15CisjIENPTkZJR19JTkVUX0xSTyBpcyBub3Qgc2V0CitDT05GSUdfSU5FVF9ESUFHPXkKK0NPTkZJR19JTkVUX1RDUF9ESUFHPXkKKyMgQ09ORklHX1RDUF9DT05HX0FEVkFOQ0VEIGlzIG5vdCBzZXQKK0NPTkZJR19UQ1BfQ09OR19DVUJJQz15CitDT05GSUdfREVGQVVMVF9UQ1BfQ09ORz0iY3ViaWMiCisjIENPTkZJR19UQ1BfTUQ1U0lHIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQVjYgaXMgbm90IHNldAorIyBDT05GSUdfTkVUV09SS19TRUNNQVJLIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVEZJTFRFUiBpcyBub3Qgc2V0CisjIENPTkZJR19JUF9EQ0NQIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQX1NDVFAgaXMgbm90IHNldAorIyBDT05GSUdfVElQQyBpcyBub3Qgc2V0CisjIENPTkZJR19BVE0gaXMgbm90IHNldAorIyBDT05GSUdfQlJJREdFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZMQU5fODAyMVEgaXMgbm90IHNldAorIyBDT05GSUdfREVDTkVUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xMQzIgaXMgbm90IHNldAorIyBDT05GSUdfSVBYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUQUxLIGlzIG5vdCBzZXQKKyMgQ09ORklHX1gyNSBpcyBub3Qgc2V0CisjIENPTkZJR19MQVBCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VDT05FVCBpcyBub3Qgc2V0CisjIENPTkZJR19XQU5fUk9VVEVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9TQ0hFRCBpcyBub3Qgc2V0CisKKyMKKyMgTmV0d29yayB0ZXN0aW5nCisjCisjIENPTkZJR19ORVRfUEtUR0VOIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hBTVJBRElPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NBTiBpcyBub3Qgc2V0CisjIENPTkZJR19JUkRBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FGX1JYUlBDIGlzIG5vdCBzZXQKKworIworIyBXaXJlbGVzcworIworIyBDT05GSUdfQ0ZHODAyMTEgaXMgbm90IHNldAorIyBDT05GSUdfV0lSRUxFU1NfRVhUIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BQzgwMjExIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lFRUU4MDIxMSBpcyBub3Qgc2V0CisjIENPTkZJR19SRktJTEwgaXMgbm90IHNldAorIyBDT05GSUdfTkVUXzlQIGlzIG5vdCBzZXQKKworIworIyBEZXZpY2UgRHJpdmVycworIworCisjCisjIEdlbmVyaWMgRHJpdmVyIE9wdGlvbnMKKyMKK0NPTkZJR19VRVZFTlRfSEVMUEVSX1BBVEg9Ii9zYmluL2hvdHBsdWciCitDT05GSUdfU1RBTkRBTE9ORT15CitDT05GSUdfUFJFVkVOVF9GSVJNV0FSRV9CVUlMRD15CitDT05GSUdfRldfTE9BREVSPW0KKyMgQ09ORklHX1NZU19IWVBFUlZJU09SIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NPTk5FQ1RPUiBpcyBub3Qgc2V0CitDT05GSUdfTVREPXkKKyMgQ09ORklHX01URF9ERUJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQ09OQ0FUIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfUEFSVElUSU9OUz15CitDT05GSUdfTVREX1JFREJPT1RfUEFSVFM9eQorQ09ORklHX01URF9SRURCT09UX0RJUkVDVE9SWV9CTE9DSz0tMQorIyBDT05GSUdfTVREX1JFREJPT1RfUEFSVFNfVU5BTExPQ0FURUQgaXMgbm90IHNldAorIyBDT05GSUdfTVREX1JFREJPT1RfUEFSVFNfUkVBRE9OTFkgaXMgbm90IHNldAorQ09ORklHX01URF9DTURMSU5FX1BBUlRTPXkKKyMgQ09ORklHX01URF9BRlNfUEFSVFMgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0FSN19QQVJUUyBpcyBub3Qgc2V0CisKKyMKKyMgVXNlciBNb2R1bGVzIEFuZCBUcmFuc2xhdGlvbiBMYXllcnMKKyMKK0NPTkZJR19NVERfQ0hBUj15CitDT05GSUdfTVREX0JMS0RFVlM9eQorQ09ORklHX01URF9CTE9DSz15CisjIENPTkZJR19GVEwgaXMgbm90IHNldAorIyBDT05GSUdfTkZUTCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkZUTCBpcyBub3Qgc2V0CisjIENPTkZJR19SRkRfRlRMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NTRkRDIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9PT1BTIGlzIG5vdCBzZXQKKworIworIyBSQU0vUk9NL0ZsYXNoIGNoaXAgZHJpdmVycworIworQ09ORklHX01URF9DRkk9eQorIyBDT05GSUdfTVREX0pFREVDUFJPQkUgaXMgbm90IHNldAorQ09ORklHX01URF9HRU5fUFJPQkU9eQorQ09ORklHX01URF9DRklfQURWX09QVElPTlM9eQorQ09ORklHX01URF9DRklfTk9TV0FQPXkKKyMgQ09ORklHX01URF9DRklfQkVfQllURV9TV0FQIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9DRklfTEVfQllURV9TV0FQIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ0ZJX0dFT01FVFJZPXkKKyMgQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8xIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMj15CisjIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfNCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfOCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMTYgaXMgbm90IHNldAorIyBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzMyIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ0ZJX0kxPXkKKyMgQ09ORklHX01URF9DRklfSTIgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0NGSV9JNCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQ0ZJX0k4IGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9PVFAgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0NGSV9JTlRFTEVYVCBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NGSV9BTURTVEQ9eQorIyBDT05GSUdfTVREX0NGSV9TVEFBIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ0ZJX1VUSUw9eQorQ09ORklHX01URF9SQU09eQorIyBDT05GSUdfTVREX1JPTSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQUJTRU5UIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9YSVAgaXMgbm90IHNldAorCisjCisjIE1hcHBpbmcgZHJpdmVycyBmb3IgY2hpcCBhY2Nlc3MKKyMKKyMgQ09ORklHX01URF9DT01QTEVYX01BUFBJTkdTIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9QSFlTTUFQIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9BUk1fSU5URUdSQVRPUiBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfUExBVFJBTSBpcyBub3Qgc2V0CisKKyMKKyMgU2VsZi1jb250YWluZWQgTVREIGRldmljZSBkcml2ZXJzCisjCisjIENPTkZJR19NVERfU0xSQU0gaXMgbm90IHNldAorIyBDT05GSUdfTVREX1BIUkFNIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9NVERSQU0gaXMgbm90IHNldAorIyBDT05GSUdfTVREX0JMT0NLMk1URCBpcyBub3Qgc2V0CisKKyMKKyMgRGlzay1Pbi1DaGlwIERldmljZSBEcml2ZXJzCisjCisjIENPTkZJR19NVERfRE9DMjAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfRE9DMjAwMSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfRE9DMjAwMVBMVVMgaXMgbm90IHNldAorQ09ORklHX01URF9OQU5EPXkKKyMgQ09ORklHX01URF9OQU5EX1ZFUklGWV9XUklURSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfTkFORF9FQ0NfU01DIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9OQU5EX01VU0VVTV9JRFMgaXMgbm90IHNldAorQ09ORklHX01URF9OQU5EX0lEUz15CisjIENPTkZJR19NVERfTkFORF9ESVNLT05DSElQIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9OQU5EX05BTkRTSU0gaXMgbm90IHNldAorIyBDT05GSUdfTVREX05BTkRfUExBVEZPUk0gaXMgbm90IHNldAorIyBDT05GSUdfTVREX09ORU5BTkQgaXMgbm90IHNldAorCisjCisjIFVCSSAtIFVuc29ydGVkIGJsb2NrIGltYWdlcworIworIyBDT05GSUdfTVREX1VCSSBpcyBub3Qgc2V0CisjIENPTkZJR19QQVJQT1JUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JMS19ERVYgaXMgbm90IHNldAorIyBDT05GSUdfTUlTQ19ERVZJQ0VTIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX0lERT15CisjIENPTkZJR19JREUgaXMgbm90IHNldAorCisjCisjIFNDU0kgZGV2aWNlIHN1cHBvcnQKKyMKKyMgQ09ORklHX1JBSURfQVRUUlMgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSSBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX0RNQSBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX05FVExJTksgaXMgbm90IHNldAorIyBDT05GSUdfQVRBIGlzIG5vdCBzZXQKKyMgQ09ORklHX01EIGlzIG5vdCBzZXQKK0NPTkZJR19ORVRERVZJQ0VTPXkKKyMgQ09ORklHX05FVERFVklDRVNfTVVMVElRVUVVRSBpcyBub3Qgc2V0CisjIENPTkZJR19EVU1NWSBpcyBub3Qgc2V0CisjIENPTkZJR19CT05ESU5HIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BQ1ZMQU4gaXMgbm90IHNldAorIyBDT05GSUdfRVFVQUxJWkVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RVTiBpcyBub3Qgc2V0CisjIENPTkZJR19WRVRIIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BIWUxJQiBpcyBub3Qgc2V0CitDT05GSUdfTkVUX0VUSEVSTkVUPXkKK0NPTkZJR19NSUk9eQorIyBDT05GSUdfQVg4ODc5NiBpcyBub3Qgc2V0CisjIENPTkZJR19TTUM5MVggaXMgbm90IHNldAorIyBDT05GSUdfRE05MDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19aTUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19SR01JSSBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfVEFIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19FTUFDNCBpcyBub3Qgc2V0CisjIENPTkZJR19CNDQgaXMgbm90IHNldAorIyBDT05GSUdfTkVUREVWXzEwMDAgaXMgbm90IHNldAorIyBDT05GSUdfTkVUREVWXzEwMDAwIGlzIG5vdCBzZXQKKworIworIyBXaXJlbGVzcyBMQU4KKyMKKyMgQ09ORklHX1dMQU5fUFJFODAyMTEgaXMgbm90IHNldAorIyBDT05GSUdfV0xBTl84MDIxMSBpcyBub3Qgc2V0CisjIENPTkZJR19JV0xXSUZJX0xFRFMgaXMgbm90IHNldAorIyBDT05GSUdfV0FOIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BQUCBpcyBub3Qgc2V0CisjIENPTkZJR19TTElQIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVENPTlNPTEUgaXMgbm90IHNldAorIyBDT05GSUdfTkVUUE9MTCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfUE9MTF9DT05UUk9MTEVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lTRE4gaXMgbm90IHNldAorCisjCisjIElucHV0IGRldmljZSBzdXBwb3J0CisjCisjIENPTkZJR19JTlBVVCBpcyBub3Qgc2V0CisKKyMKKyMgSGFyZHdhcmUgSS9PIHBvcnRzCisjCisjIENPTkZJR19TRVJJTyBpcyBub3Qgc2V0CisjIENPTkZJR19HQU1FUE9SVCBpcyBub3Qgc2V0CisKKyMKKyMgQ2hhcmFjdGVyIGRldmljZXMKKyMKKyMgQ09ORklHX1ZUIGlzIG5vdCBzZXQKK0NPTkZJR19ERVZLTUVNPXkKKyMgQ09ORklHX1NFUklBTF9OT05TVEFOREFSRCBpcyBub3Qgc2V0CisKKyMKKyMgU2VyaWFsIGRyaXZlcnMKKyMKKyMgQ09ORklHX1NFUklBTF84MjUwIGlzIG5vdCBzZXQKKworIworIyBOb24tODI1MCBzZXJpYWwgcG9ydCBzdXBwb3J0CisjCitDT05GSUdfU0VSSUFMX0lNWD15CitDT05GSUdfU0VSSUFMX0lNWF9DT05TT0xFPXkKK0NPTkZJR19TRVJJQUxfQ09SRT15CitDT05GSUdfU0VSSUFMX0NPUkVfQ09OU09MRT15CitDT05GSUdfVU5JWDk4X1BUWVM9eQorIyBDT05GSUdfTEVHQUNZX1BUWVMgaXMgbm90IHNldAorIyBDT05GSUdfSVBNSV9IQU5ETEVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hXX1JBTkRPTSBpcyBub3Qgc2V0CisjIENPTkZJR19OVlJBTSBpcyBub3Qgc2V0CisjIENPTkZJR19SMzk2NCBpcyBub3Qgc2V0CisjIENPTkZJR19SQVdfRFJJVkVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RDR19UUE0gaXMgbm90IHNldAorIyBDT05GSUdfSTJDIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQSSBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9HUElPX0xJQj15CisKKyMKKyMgR1BJTyBTdXBwb3J0CisjCisKKyMKKyMgSTJDIEdQSU8gZXhwYW5kZXJzOgorIworCisjCisjIFNQSSBHUElPIGV4cGFuZGVyczoKKyMKKyMgQ09ORklHX1cxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BPV0VSX1NVUFBMWSBpcyBub3Qgc2V0CisjIENPTkZJR19IV01PTiBpcyBub3Qgc2V0CisjIENPTkZJR19XQVRDSERPRyBpcyBub3Qgc2V0CisKKyMKKyMgU29uaWNzIFNpbGljb24gQmFja3BsYW5lCisjCitDT05GSUdfU1NCX1BPU1NJQkxFPXkKKyMgQ09ORklHX1NTQiBpcyBub3Qgc2V0CisKKyMKKyMgTXVsdGlmdW5jdGlvbiBkZXZpY2UgZHJpdmVycworIworIyBDT05GSUdfTUZEX1NNNTAxIGlzIG5vdCBzZXQKKyMgQ09ORklHX01GRF9BU0lDMyBpcyBub3Qgc2V0CisjIENPTkZJR19IVENfRUdQSU8gaXMgbm90IHNldAorIyBDT05GSUdfSFRDX1BBU0lDMyBpcyBub3Qgc2V0CisKKyMKKyMgTXVsdGltZWRpYSBkZXZpY2VzCisjCisKKyMKKyMgTXVsdGltZWRpYSBjb3JlIHN1cHBvcnQKKyMKKyMgQ09ORklHX1ZJREVPX0RFViBpcyBub3Qgc2V0CisjIENPTkZJR19EVkJfQ09SRSBpcyBub3Qgc2V0CisjIENPTkZJR19WSURFT19NRURJQSBpcyBub3Qgc2V0CisKKyMKKyMgTXVsdGltZWRpYSBkcml2ZXJzCisjCisjIENPTkZJR19EQUIgaXMgbm90IHNldAorCisjCisjIEdyYXBoaWNzIHN1cHBvcnQKKyMKKyMgQ09ORklHX1ZHQVNUQVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJREVPX09VVFBVVF9DT05UUk9MIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JBQ0tMSUdIVF9MQ0RfU1VQUE9SVCBpcyBub3Qgc2V0CisKKyMKKyMgRGlzcGxheSBkZXZpY2Ugc3VwcG9ydAorIworIyBDT05GSUdfRElTUExBWV9TVVBQT1JUIGlzIG5vdCBzZXQKKworIworIyBTb3VuZAorIworIyBDT05GSUdfU09VTkQgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NVUFBPUlQgaXMgbm90IHNldAorIyBDT05GSUdfTU1DIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FV19MRURTIGlzIG5vdCBzZXQKK0NPTkZJR19SVENfTElCPXkKKyMgQ09ORklHX1JUQ19DTEFTUyBpcyBub3Qgc2V0CisjIENPTkZJR19VSU8gaXMgbm90IHNldAorCisjCisjIEZpbGUgc3lzdGVtcworIworIyBDT05GSUdfRVhUMl9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19FWFQzX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VYVDRERVZfRlMgaXMgbm90IHNldAorIyBDT05GSUdfUkVJU0VSRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfSkZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0CisjIENPTkZJR19YRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfT0NGUzJfRlMgaXMgbm90IHNldAorIyBDT05GSUdfRE5PVElGWSBpcyBub3Qgc2V0CitDT05GSUdfSU5PVElGWT15CitDT05GSUdfSU5PVElGWV9VU0VSPXkKKyMgQ09ORklHX1FVT1RBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FVVE9GU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19BVVRPRlM0X0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZVU0VfRlMgaXMgbm90IHNldAorCisjCisjIENELVJPTS9EVkQgRmlsZXN5c3RlbXMKKyMKKyMgQ09ORklHX0lTTzk2NjBfRlMgaXMgbm90IHNldAorIyBDT05GSUdfVURGX0ZTIGlzIG5vdCBzZXQKKworIworIyBET1MvRkFUL05UIEZpbGVzeXN0ZW1zCisjCisjIENPTkZJR19NU0RPU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19WRkFUX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX05URlNfRlMgaXMgbm90IHNldAorCisjCisjIFBzZXVkbyBmaWxlc3lzdGVtcworIworQ09ORklHX1BST0NfRlM9eQorQ09ORklHX1BST0NfU1lTQ1RMPXkKK0NPTkZJR19TWVNGUz15CitDT05GSUdfVE1QRlM9eQorIyBDT05GSUdfVE1QRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hVR0VUTEJfUEFHRSBpcyBub3Qgc2V0CisjIENPTkZJR19DT05GSUdGU19GUyBpcyBub3Qgc2V0CisKKyMKKyMgTWlzY2VsbGFuZW91cyBmaWxlc3lzdGVtcworIworIyBDT05GSUdfQURGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19BRkZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19IRlNQTFVTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JFRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfQkZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VGU19GUyBpcyBub3Qgc2V0CitDT05GSUdfSkZGUzJfRlM9eQorQ09ORklHX0pGRlMyX0ZTX0RFQlVHPTAKK0NPTkZJR19KRkZTMl9GU19XUklURUJVRkZFUj15CisjIENPTkZJR19KRkZTMl9GU19XQlVGX1ZFUklGWSBpcyBub3Qgc2V0CisjIENPTkZJR19KRkZTMl9TVU1NQVJZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pGRlMyX0ZTX1hBVFRSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pGRlMyX0NPTVBSRVNTSU9OX09QVElPTlMgaXMgbm90IHNldAorQ09ORklHX0pGRlMyX1pMSUI9eQorIyBDT05GSUdfSkZGUzJfTFpPIGlzIG5vdCBzZXQKK0NPTkZJR19KRkZTMl9SVElNRT15CisjIENPTkZJR19KRkZTMl9SVUJJTiBpcyBub3Qgc2V0CitDT05GSUdfQ1JBTUZTPXkKKyMgQ09ORklHX1ZYRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfTUlOSVhfRlMgaXMgbm90IHNldAorIyBDT05GSUdfSFBGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19RTlg0RlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfUk9NRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfU1lTVl9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19VRlNfRlMgaXMgbm90IHNldAorQ09ORklHX05FVFdPUktfRklMRVNZU1RFTVM9eQorQ09ORklHX05GU19GUz15CisjIENPTkZJR19ORlNfVjMgaXMgbm90IHNldAorIyBDT05GSUdfTkZTX1Y0IGlzIG5vdCBzZXQKKyMgQ09ORklHX05GU0QgaXMgbm90IHNldAorQ09ORklHX1JPT1RfTkZTPXkKK0NPTkZJR19MT0NLRD15CitDT05GSUdfTkZTX0NPTU1PTj15CitDT05GSUdfU1VOUlBDPXkKKyMgQ09ORklHX1NVTlJQQ19CSU5EMzQgaXMgbm90IHNldAorIyBDT05GSUdfUlBDU0VDX0dTU19LUkI1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JQQ1NFQ19HU1NfU1BLTTMgaXMgbm90IHNldAorIyBDT05GSUdfU01CX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NJRlMgaXMgbm90IHNldAorIyBDT05GSUdfTkNQX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NPREFfRlMgaXMgbm90IHNldAorIyBDT05GSUdfQUZTX0ZTIGlzIG5vdCBzZXQKKworIworIyBQYXJ0aXRpb24gVHlwZXMKKyMKKyMgQ09ORklHX1BBUlRJVElPTl9BRFZBTkNFRCBpcyBub3Qgc2V0CitDT05GSUdfTVNET1NfUEFSVElUSU9OPXkKKyMgQ09ORklHX05MUyBpcyBub3Qgc2V0CisjIENPTkZJR19ETE0gaXMgbm90IHNldAorCisjCisjIEtlcm5lbCBoYWNraW5nCisjCitDT05GSUdfUFJJTlRLX1RJTUU9eQorQ09ORklHX0VOQUJMRV9XQVJOX0RFUFJFQ0FURUQ9eQorQ09ORklHX0VOQUJMRV9NVVNUX0NIRUNLPXkKK0NPTkZJR19GUkFNRV9XQVJOPTEwMjQKKyMgQ09ORklHX01BR0lDX1NZU1JRIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VOVVNFRF9TWU1CT0xTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hFQURFUlNfQ0hFQ0sgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfS0VSTkVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX0JVR1ZFUkJPU0UgaXMgbm90IHNldAorQ09ORklHX0ZSQU1FX1BPSU5URVI9eQorIyBDT05GSUdfU0FNUExFUyBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19VU0VSIGlzIG5vdCBzZXQKKworIworIyBTZWN1cml0eSBvcHRpb25zCisjCisjIENPTkZJR19LRVlTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFQ1VSSVRZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFQ1VSSVRZX0ZJTEVfQ0FQQUJJTElUSUVTIGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE89eQorCisjCisjIENyeXB0byBjb3JlIG9yIGhlbHBlcgorIworIyBDT05GSUdfQ1JZUFRPX01BTkFHRVIgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0dGMTI4TVVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19OVUxMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DUllQVEQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0FVVEhFTkMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1RFU1QgaXMgbm90IHNldAorCisjCisjIEF1dGhlbnRpY2F0ZWQgRW5jcnlwdGlvbiB3aXRoIEFzc29jaWF0ZWQgRGF0YQorIworIyBDT05GSUdfQ1JZUFRPX0NDTSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fR0NNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TRVFJViBpcyBub3Qgc2V0CisKKyMKKyMgQmxvY2sgbW9kZXMKKyMKKyMgQ09ORklHX0NSWVBUT19DQkMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NUUiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ1RTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19FQ0IgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0xSVyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fUENCQyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fWFRTIGlzIG5vdCBzZXQKKworIworIyBIYXNoIG1vZGVzCisjCisjIENPTkZJR19DUllQVE9fSE1BQyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fWENCQyBpcyBub3Qgc2V0CisKKyMKKyMgRGlnZXN0CisjCisjIENPTkZJR19DUllQVE9fQ1JDMzJDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19NRDQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX01ENSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fTUlDSEFFTF9NSUMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NIQTEgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NIQTI1NiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0hBNTEyIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19UR1IxOTIgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1dQNTEyIGlzIG5vdCBzZXQKKworIworIyBDaXBoZXJzCisjCisjIENPTkZJR19DUllQVE9fQUVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19BTlVCSVMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0FSQzQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0JMT1dGSVNIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DQU1FTExJQSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ0FTVDUgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NBU1Q2IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19ERVMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0ZDUllQVCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fS0hBWkFEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TQUxTQTIwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TRUVEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TRVJQRU5UIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19URUEgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1RXT0ZJU0ggaXMgbm90IHNldAorCisjCisjIENvbXByZXNzaW9uCisjCisjIENPTkZJR19DUllQVE9fREVGTEFURSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fTFpPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19IVyBpcyBub3Qgc2V0CisKKyMKKyMgTGlicmFyeSByb3V0aW5lcworIworQ09ORklHX0JJVFJFVkVSU0U9eQorIyBDT05GSUdfR0VORVJJQ19GSU5EX0ZJUlNUX0JJVCBpcyBub3Qgc2V0CisjIENPTkZJR19HRU5FUklDX0ZJTkRfTkVYVF9CSVQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JDX0NDSVRUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSQzE2IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSQ19JVFVfVCBpcyBub3Qgc2V0CitDT05GSUdfQ1JDMzI9eQorIyBDT05GSUdfQ1JDNyBpcyBub3Qgc2V0CisjIENPTkZJR19MSUJDUkMzMkMgaXMgbm90IHNldAorQ09ORklHX1pMSUJfSU5GTEFURT15CitDT05GSUdfWkxJQl9ERUZMQVRFPXkKK0NPTkZJR19QTElTVD15CitDT05GSUdfSEFTX0lPTUVNPXkKK0NPTkZJR19IQVNfSU9QT1JUPXkKK0NPTkZJR19IQVNfRE1BPXkKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvZW1feDI3MF9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL214MzFsaXRla2l0X2RlZmNvbmZpZwpzaW1pbGFyaXR5IGluZGV4IDY0JQpjb3B5IGZyb20gYXJjaC9hcm0vY29uZmlncy9lbV94MjcwX2RlZmNvbmZpZwpjb3B5IHRvIGFyY2gvYXJtL2NvbmZpZ3MvbXgzMWxpdGVraXRfZGVmY29uZmlnCmluZGV4IDZiZWEwOTAuLjRmNDFjNDEgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvZW1feDI3MF9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9teDMxbGl0ZWtpdF9kZWZjb25maWcKQEAgLTEsMTIgKzEsMTIgQEAKICMKICMgQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgbWFrZSBjb25maWc6IGRvbid0IGVkaXQKLSMgTGludXgga2VybmVsIHZlcnNpb246IDIuNi4yMgotIyBNb24gSnVsICA5IDE1OjE4OjIwIDIwMDcKKyMgTGludXgga2VybmVsIHZlcnNpb246IDIuNi4yNi1yYzUKKyMgRnJpIEp1biAxMyAxNDoyMzozOSAyMDA4CiAjCiBDT05GSUdfQVJNPXkKIENPTkZJR19TWVNfU1VQUE9SVFNfQVBNX0VNVUxBVElPTj15Ci1DT05GSUdfR0VORVJJQ19HUElPPXkKLUNPTkZJR19HRU5FUklDX1RJTUU9eQorIyBDT05GSUdfR0VORVJJQ19HUElPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0dFTkVSSUNfVElNRSBpcyBub3Qgc2V0CiAjIENPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTIGlzIG5vdCBzZXQKIENPTkZJR19NTVU9eQogIyBDT05GSUdfTk9fSU9QT1JUIGlzIG5vdCBzZXQKQEAgLTIxLDQ0ICsyMSw0NCBAQAogIyBDT05GSUdfQVJDSF9IQVNfSUxPRzJfVTY0IGlzIG5vdCBzZXQKIENPTkZJR19HRU5FUklDX0hXRUlHSFQ9eQogQ09ORklHX0dFTkVSSUNfQ0FMSUJSQVRFX0RFTEFZPXkKK0NPTkZJR19BUkNIX1NVUFBPUlRTX0FPVVQ9eQogQ09ORklHX1pPTkVfRE1BPXkKIENPTkZJR19BUkNIX01URF9YSVA9eQogQ09ORklHX1ZFQ1RPUlNfQkFTRT0weGZmZmYwMDAwCiBDT05GSUdfREVGQ09ORklHX0xJU1Q9Ii9saWIvbW9kdWxlcy8kVU5BTUVfUkVMRUFTRS8uY29uZmlnIgogCiAjCi0jIENvZGUgbWF0dXJpdHkgbGV2ZWwgb3B0aW9ucworIyBHZW5lcmFsIHNldHVwCiAjCiBDT05GSUdfRVhQRVJJTUVOVEFMPXkKIENPTkZJR19CUk9LRU5fT05fU01QPXkKK0NPTkZJR19MT0NLX0tFUk5FTD15CiBDT05GSUdfSU5JVF9FTlZfQVJHX0xJTUlUPTMyCi0KLSMKLSMgR2VuZXJhbCBzZXR1cAotIwotQ09ORklHX0xPQ0FMVkVSU0lPTj0iLWVtLXgyNzAiCi0jIENPTkZJR19MT0NBTFZFUlNJT05fQVVUTyBpcyBub3Qgc2V0CitDT05GSUdfTE9DQUxWRVJTSU9OPSIiCitDT05GSUdfTE9DQUxWRVJTSU9OX0FVVE89eQogQ09ORklHX1NXQVA9eQogQ09ORklHX1NZU1ZJUEM9eQotIyBDT05GSUdfSVBDX05TIGlzIG5vdCBzZXQKIENPTkZJR19TWVNWSVBDX1NZU0NUTD15CiAjIENPTkZJR19QT1NJWF9NUVVFVUUgaXMgbm90IHNldAogIyBDT05GSUdfQlNEX1BST0NFU1NfQUNDVCBpcyBub3Qgc2V0CiAjIENPTkZJR19UQVNLU1RBVFMgaXMgbm90IHNldAotIyBDT05GSUdfVVRTX05TIGlzIG5vdCBzZXQKICMgQ09ORklHX0FVRElUIGlzIG5vdCBzZXQKIENPTkZJR19JS0NPTkZJRz15CiBDT05GSUdfSUtDT05GSUdfUFJPQz15Ci1DT05GSUdfTE9HX0JVRl9TSElGVD0xNworQ09ORklHX0xPR19CVUZfU0hJRlQ9MTQKKyMgQ09ORklHX0NHUk9VUFMgaXMgbm90IHNldAorIyBDT05GSUdfR1JPVVBfU0NIRUQgaXMgbm90IHNldAogQ09ORklHX1NZU0ZTX0RFUFJFQ0FURUQ9eQorQ09ORklHX1NZU0ZTX0RFUFJFQ0FURURfVjI9eQogIyBDT05GSUdfUkVMQVkgaXMgbm90IHNldAotQ09ORklHX0JMS19ERVZfSU5JVFJEPXkKLUNPTkZJR19JTklUUkFNRlNfU09VUkNFPSIiCisjIENPTkZJR19OQU1FU1BBQ0VTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JMS19ERVZfSU5JVFJEIGlzIG5vdCBzZXQKIENPTkZJR19DQ19PUFRJTUlaRV9GT1JfU0laRT15CiBDT05GSUdfU1lTQ1RMPXkKIENPTkZJR19FTUJFRERFRD15CiBDT05GSUdfVUlEMTY9eQogQ09ORklHX1NZU0NUTF9TWVNDQUxMPXkKK0NPTkZJR19TWVNDVExfU1lTQ0FMTF9DSEVDSz15CiBDT05GSUdfS0FMTFNZTVM9eQogIyBDT05GSUdfS0FMTFNZTVNfQUxMIGlzIG5vdCBzZXQKICMgQ09ORklHX0tBTExTWU1TX0VYVFJBX1BBU1MgaXMgbm90IHNldApAQCAtNjYsNiArNjYsNyBAQAogQ09ORklHX1BSSU5USz15CiBDT05GSUdfQlVHPXkKIENPTkZJR19FTEZfQ09SRT15CitDT05GSUdfQ09NUEFUX0JSSz15CiBDT05GSUdfQkFTRV9GVUxMPXkKIENPTkZJR19GVVRFWD15CiBDT05GSUdfQU5PTl9JTk9ERVM9eQpAQCAtNzgsMjcgKzc5LDMwIEBACiBDT05GSUdfU0xBQj15CiAjIENPTkZJR19TTFVCIGlzIG5vdCBzZXQKICMgQ09ORklHX1NMT0IgaXMgbm90IHNldAorIyBDT05GSUdfUFJPRklMSU5HIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BUktFUlMgaXMgbm90IHNldAorQ09ORklHX0hBVkVfT1BST0ZJTEU9eQorIyBDT05GSUdfS1BST0JFUyBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9LUFJPQkVTPXkKK0NPTkZJR19IQVZFX0tSRVRQUk9CRVM9eQorIyBDT05GSUdfSEFWRV9ETUFfQVRUUlMgaXMgbm90IHNldAorQ09ORklHX1BST0NfUEFHRV9NT05JVE9SPXkKK0NPTkZJR19TTEFCSU5GTz15CiBDT05GSUdfUlRfTVVURVhFUz15CiAjIENPTkZJR19USU5ZX1NITUVNIGlzIG5vdCBzZXQKIENPTkZJR19CQVNFX1NNQUxMPTAKLQotIwotIyBMb2FkYWJsZSBtb2R1bGUgc3VwcG9ydAotIwogQ09ORklHX01PRFVMRVM9eQorIyBDT05GSUdfTU9EVUxFX0ZPUkNFX0xPQUQgaXMgbm90IHNldAogQ09ORklHX01PRFVMRV9VTkxPQUQ9eQogQ09ORklHX01PRFVMRV9GT1JDRV9VTkxPQUQ9eQotIyBDT05GSUdfTU9EVkVSU0lPTlMgaXMgbm90IHNldAorQ09ORklHX01PRFZFUlNJT05TPXkKICMgQ09ORklHX01PRFVMRV9TUkNWRVJTSU9OX0FMTCBpcyBub3Qgc2V0CiBDT05GSUdfS01PRD15Ci0KLSMKLSMgQmxvY2sgbGF5ZXIKLSMKIENPTkZJR19CTE9DSz15CiAjIENPTkZJR19MQkQgaXMgbm90IHNldAogIyBDT05GSUdfQkxLX0RFVl9JT19UUkFDRSBpcyBub3Qgc2V0CiAjIENPTkZJR19MU0YgaXMgbm90IHNldAorIyBDT05GSUdfQkxLX0RFVl9CU0cgaXMgbm90IHNldAogCiAjCiAjIElPIFNjaGVkdWxlcnMKQEAgLTEwNywxMSArMTExLDEyIEBACiBDT05GSUdfSU9TQ0hFRF9BUz15CiBDT05GSUdfSU9TQ0hFRF9ERUFETElORT15CiBDT05GSUdfSU9TQ0hFRF9DRlE9eQotQ09ORklHX0RFRkFVTFRfQVM9eQorIyBDT05GSUdfREVGQVVMVF9BUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUZBVUxUX0RFQURMSU5FIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFRkFVTFRfQ0ZRIGlzIG5vdCBzZXQKK0NPTkZJR19ERUZBVUxUX0NGUT15CiAjIENPTkZJR19ERUZBVUxUX05PT1AgaXMgbm90IHNldAotQ09ORklHX0RFRkFVTFRfSU9TQ0hFRD0iYW50aWNpcGF0b3J5IgorQ09ORklHX0RFRkFVTFRfSU9TQ0hFRD0iY2ZxIgorQ09ORklHX0NMQVNTSUNfUkNVPXkKIAogIwogIyBTeXN0ZW0gVHlwZQpAQCAtMTM5LDggKzE0NCwxMCBAQAogIyBDT05GSUdfQVJDSF9MNzIwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0tTODY5NSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX05TOVhYWCBpcyBub3Qgc2V0CitDT05GSUdfQVJDSF9NWEM9eQorIyBDT05GSUdfQVJDSF9PUklPTjVYIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfUE5YNDAwOCBpcyBub3Qgc2V0Ci1DT05GSUdfQVJDSF9QWEE9eQorIyBDT05GSUdfQVJDSF9QWEEgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9SUEMgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9TQTExMDAgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9TM0MyNDEwIGlzIG5vdCBzZXQKQEAgLTE0OCwyOCArMTU1LDQxIEBACiAjIENPTkZJR19BUkNIX0xIN0E0MFggaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9EQVZJTkNJIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfT01BUCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX01TTTdYMDBBIGlzIG5vdCBzZXQKIAogIwotIyBJbnRlbCBQWEEyeHggSW1wbGVtZW50YXRpb25zCisjIEJvb3Qgb3B0aW9ucwogIwotIyBDT05GSUdfQVJDSF9MVUJCT0NLIGlzIG5vdCBzZXQKLSMgQ09ORklHX01BQ0hfTE9HSUNQRF9QWEEyNzAgaXMgbm90IHNldAotIyBDT05GSUdfTUFDSF9NQUlOU1RPTkUgaXMgbm90IHNldAotIyBDT05GSUdfQVJDSF9QWEFfSURQIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BYQV9TSEFSUFNMIGlzIG5vdCBzZXQKLSMgQ09ORklHX01BQ0hfVFJJWkVQUzQgaXMgbm90IHNldAotQ09ORklHX01BQ0hfRU1fWDI3MD15Ci1DT05GSUdfUFhBMjd4PXkKKworIworIyBQb3dlciBtYW5hZ2VtZW50CisjCisKKyMKKyMgRnJlZXNjYWxlIE1YQyBJbXBsZW1lbnRhdGlvbnMKKyMKK0NPTkZJR19BUkNIX01YMz15CisKKyMKKyMgTVgzIE9wdGlvbnMKKyMKKyMgQ09ORklHX01BQ0hfTVgzMUFEUyBpcyBub3Qgc2V0CitDT05GSUdfTUFDSF9NWDMxTElURT15CiAKICMKICMgUHJvY2Vzc29yIFR5cGUKICMKIENPTkZJR19DUFVfMzI9eQotQ09ORklHX0NQVV9YU0NBTEU9eQotQ09ORklHX0NQVV8zMnY1PXkKLUNPTkZJR19DUFVfQUJSVF9FVjVUPXkKLUNPTkZJR19DUFVfQ0FDSEVfVklWVD15Ci1DT05GSUdfQ1BVX1RMQl9WNFdCST15CitDT05GSUdfQ1BVX1Y2PXkKKyMgQ09ORklHX0NQVV8zMnY2SyBpcyBub3Qgc2V0CitDT05GSUdfQ1BVXzMydjY9eQorQ09ORklHX0NQVV9BQlJUX0VWNj15CitDT05GSUdfQ1BVX1BBQlJUX05PSUZBUj15CitDT05GSUdfQ1BVX0NBQ0hFX1Y2PXkKK0NPTkZJR19DUFVfQ0FDSEVfVklQVD15CitDT05GSUdfQ1BVX0NPUFlfVjY9eQorQ09ORklHX0NQVV9UTEJfVjY9eQorQ09ORklHX0NQVV9IQVNfQVNJRD15CiBDT05GSUdfQ1BVX0NQMTU9eQogQ09ORklHX0NQVV9DUDE1X01NVT15CiAKQEAgLTE3NywzMCArMTk3LDMzIEBACiAjIFByb2Nlc3NvciBGZWF0dXJlcwogIwogQ09ORklHX0FSTV9USFVNQj15CisjIENPTkZJR19DUFVfSUNBQ0hFX0RJU0FCTEUgaXMgbm90IHNldAogIyBDT05GSUdfQ1BVX0RDQUNIRV9ESVNBQkxFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NQVV9CUFJFRElDVF9ESVNBQkxFIGlzIG5vdCBzZXQKICMgQ09ORklHX09VVEVSX0NBQ0hFIGlzIG5vdCBzZXQKLUNPTkZJR19JV01NWFQ9eQotQ09ORklHX1hTQ0FMRV9QTVU9eQogCiAjCiAjIEJ1cyBzdXBwb3J0CiAjCisjIENPTkZJR19QQ0lfU1lTQ0FMTCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1NVUFBPUlRTX01TSSBpcyBub3Qgc2V0CitDT05GSUdfUENDQVJEPW0KKyMgQ09ORklHX1BDTUNJQV9ERUJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19QQ01DSUEgaXMgbm90IHNldAogCiAjCi0jIFBDQ0FSRCAoUENNQ0lBL0NhcmRCdXMpIHN1cHBvcnQKKyMgUEMtY2FyZCBicmlkZ2VzCiAjCi0jIENPTkZJR19QQ0NBUkQgaXMgbm90IHNldAogCiAjCiAjIEtlcm5lbCBGZWF0dXJlcwogIwogIyBDT05GSUdfVElDS19PTkVTSE9UIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BSRUVNUFQgaXMgbm90IHNldAorQ09ORklHX1BSRUVNUFQ9eQogIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiBDT05GSUdfSFo9MTAwCiBDT05GSUdfQUVBQkk9eQotQ09ORklHX09BQklfQ09NUEFUPXkKKyMgQ09ORklHX09BQklfQ09NUEFUIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CiBDT05GSUdfU0VMRUNUX01FTU9SWV9NT0RFTD15CiBDT05GSUdfRkxBVE1FTV9NQU5VQUw9eQpAQCAtMjA5LDkgKzIzMiwxMyBAQAogQ09ORklHX0ZMQVRNRU09eQogQ09ORklHX0ZMQVRfTk9ERV9NRU1fTUFQPXkKICMgQ09ORklHX1NQQVJTRU1FTV9TVEFUSUMgaXMgbm90IHNldAotQ09ORklHX1NQTElUX1BUTE9DS19DUFVTPTQwOTYKKyMgQ09ORklHX1NQQVJTRU1FTV9WTUVNTUFQX0VOQUJMRSBpcyBub3Qgc2V0CitDT05GSUdfUEFHRUZMQUdTX0VYVEVOREVEPXkKK0NPTkZJR19TUExJVF9QVExPQ0tfQ1BVUz00CiAjIENPTkZJR19SRVNPVVJDRVNfNjRCSVQgaXMgbm90IHNldAogQ09ORklHX1pPTkVfRE1BX0ZMQUc9MQorQ09ORklHX0JPVU5DRT15CitDT05GSUdfVklSVF9UT19CVVM9eQogQ09ORklHX0FMSUdOTUVOVF9UUkFQPXkKIAogIwpAQCAtMjE5LDcgKzI0Niw3IEBACiAjCiBDT05GSUdfWkJPT1RfUk9NX1RFWFQ9MHgwCiBDT05GSUdfWkJPT1RfUk9NX0JTUz0weDAKLUNPTkZJR19DTURMSU5FPSIiCitDT05GSUdfQ01ETElORT0ibm9pbml0cmQgY29uc29sZT10dHlteGMwLDExNTIwMCByb290PS9kZXYvbXRkYmxvY2syIHJ3IGlwPW9mZiIKICMgQ09ORklHX1hJUF9LRVJORUwgaXMgbm90IHNldAogIyBDT05GSUdfS0VYRUMgaXMgbm90IHNldAogCkBAIC0yMzAsMjUgKzI1NywyMyBAQAogIwogIyBBdCBsZWFzdCBvbmUgZW11bGF0aW9uIG11c3QgYmUgc2VsZWN0ZWQKICMKLUNPTkZJR19GUEVfTldGUEU9eQotIyBDT05GSUdfRlBFX05XRlBFX1hQIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZQRV9GQVNURlBFIGlzIG5vdCBzZXQKK0NPTkZJR19WRlA9eQogCiAjCiAjIFVzZXJzcGFjZSBiaW5hcnkgZm9ybWF0cwogIwogQ09ORklHX0JJTkZNVF9FTEY9eQotIyBDT05GSUdfQklORk1UX0FPVVQgaXMgbm90IHNldAorQ09ORklHX0JJTkZNVF9BT1VUPXkKICMgQ09ORklHX0JJTkZNVF9NSVNDIGlzIG5vdCBzZXQKIAogIwogIyBQb3dlciBtYW5hZ2VtZW50IG9wdGlvbnMKICMKIENPTkZJR19QTT15Ci1DT05GSUdfUE1fTEVHQUNZPXkKICMgQ09ORklHX1BNX0RFQlVHIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BNX1NZU0ZTX0RFUFJFQ0FURUQgaXMgbm90IHNldAotQ09ORklHX0FQTV9FTVVMQVRJT049bQorIyBDT05GSUdfU1VTUEVORCBpcyBub3Qgc2V0CisjIENPTkZJR19BUE1fRU1VTEFUSU9OIGlzIG5vdCBzZXQKK0NPTkZJR19BUkNIX1NVU1BFTkRfUE9TU0lCTEU9eQogCiAjCiAjIE5ldHdvcmtpbmcKQEAgLTI2NSw2ICsyOTAsNyBAQAogIyBDT05GSUdfWEZSTV9VU0VSIGlzIG5vdCBzZXQKICMgQ09ORklHX1hGUk1fU1VCX1BPTElDWSBpcyBub3Qgc2V0CiAjIENPTkZJR19YRlJNX01JR1JBVEUgaXMgbm90IHNldAorIyBDT05GSUdfWEZSTV9TVEFUSVNUSUNTIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9LRVkgaXMgbm90IHNldAogQ09ORklHX0lORVQ9eQogIyBDT05GSUdfSVBfTVVMVElDQVNUIGlzIG5vdCBzZXQKQEAgLTI3Miw3ICsyOTgsNyBAQAogQ09ORklHX0lQX0ZJQl9IQVNIPXkKIENPTkZJR19JUF9QTlA9eQogQ09ORklHX0lQX1BOUF9ESENQPXkKLUNPTkZJR19JUF9QTlBfQk9PVFA9eQorIyBDT05GSUdfSVBfUE5QX0JPT1RQIGlzIG5vdCBzZXQKICMgQ09ORklHX0lQX1BOUF9SQVJQIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9JUElQIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9JUEdSRSBpcyBub3Qgc2V0CkBAIC0yODYsNiArMzEyLDcgQEAKIENPTkZJR19JTkVUX1hGUk1fTU9ERV9UUkFOU1BPUlQ9eQogQ09ORklHX0lORVRfWEZSTV9NT0RFX1RVTk5FTD15CiBDT05GSUdfSU5FVF9YRlJNX01PREVfQkVFVD15CisjIENPTkZJR19JTkVUX0xSTyBpcyBub3Qgc2V0CiBDT05GSUdfSU5FVF9ESUFHPXkKIENPTkZJR19JTkVUX1RDUF9ESUFHPXkKICMgQ09ORklHX1RDUF9DT05HX0FEVkFOQ0VEIGlzIG5vdCBzZXQKQEAgLTI5Myw4ICszMjAsNiBAQAogQ09ORklHX0RFRkFVTFRfVENQX0NPTkc9ImN1YmljIgogIyBDT05GSUdfVENQX01ENVNJRyBpcyBub3Qgc2V0CiAjIENPTkZJR19JUFY2IGlzIG5vdCBzZXQKLSMgQ09ORklHX0lORVQ2X1hGUk1fVFVOTkVMIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lORVQ2X1RVTk5FTCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRXT1JLX1NFQ01BUksgaXMgbm90IHNldAogIyBDT05GSUdfTkVURklMVEVSIGlzIG5vdCBzZXQKICMgQ09ORklHX0lQX0RDQ1AgaXMgbm90IHNldApAQCAtMzExLDEwICszMzYsNiBAQAogIyBDT05GSUdfTEFQQiBpcyBub3Qgc2V0CiAjIENPTkZJR19FQ09ORVQgaXMgbm90IHNldAogIyBDT05GSUdfV0FOX1JPVVRFUiBpcyBub3Qgc2V0Ci0KLSMKLSMgUW9TIGFuZC9vciBmYWlyIHF1ZXVlaW5nCi0jCiAjIENPTkZJR19ORVRfU0NIRUQgaXMgbm90IHNldAogCiAjCkBAIC0zMjIsMjkgKzM0Myw5IEBACiAjCiAjIENPTkZJR19ORVRfUEtUR0VOIGlzIG5vdCBzZXQKICMgQ09ORklHX0hBTVJBRElPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19JUkRBIGlzIG5vdCBzZXQKLUNPTkZJR19CVD1tCi1DT05GSUdfQlRfTDJDQVA9bQotQ09ORklHX0JUX1NDTz1tCi1DT05GSUdfQlRfUkZDT01NPW0KLSMgQ09ORklHX0JUX1JGQ09NTV9UVFkgaXMgbm90IHNldAotQ09ORklHX0JUX0JORVA9bQotIyBDT05GSUdfQlRfQk5FUF9NQ19GSUxURVIgaXMgbm90IHNldAotIyBDT05GSUdfQlRfQk5FUF9QUk9UT19GSUxURVIgaXMgbm90IHNldAotQ09ORklHX0JUX0hJRFA9bQotCi0jCi0jIEJsdWV0b290aCBkZXZpY2UgZHJpdmVycwotIwotQ09ORklHX0JUX0hDSVVTQj1tCi0jIENPTkZJR19CVF9IQ0lVU0JfU0NPIGlzIG5vdCBzZXQKLUNPTkZJR19CVF9IQ0lVQVJUPW0KLSMgQ09ORklHX0JUX0hDSVVBUlRfSDQgaXMgbm90IHNldAotIyBDT05GSUdfQlRfSENJVUFSVF9CQ1NQIGlzIG5vdCBzZXQKLUNPTkZJR19CVF9IQ0lCQ00yMDNYPW0KLUNPTkZJR19CVF9IQ0lCUEExMFg9bQotQ09ORklHX0JUX0hDSUJGVVNCPW0KLSMgQ09ORklHX0JUX0hDSVZIQ0kgaXMgbm90IHNldAorIyBDT05GSUdfQlQgaXMgbm90IHNldAogIyBDT05GSUdfQUZfUlhSUEMgaXMgbm90IHNldAogCiAjCkBAIC0zNTMsMTMgKzM1NCw5IEBACiAjIENPTkZJR19DRkc4MDIxMSBpcyBub3Qgc2V0CiAjIENPTkZJR19XSVJFTEVTU19FWFQgaXMgbm90IHNldAogIyBDT05GSUdfTUFDODAyMTEgaXMgbm90IHNldAotQ09ORklHX0lFRUU4MDIxMT1tCi0jIENPTkZJR19JRUVFODAyMTFfREVCVUcgaXMgbm90IHNldAotQ09ORklHX0lFRUU4MDIxMV9DUllQVF9XRVA9bQotQ09ORklHX0lFRUU4MDIxMV9DUllQVF9DQ01QPW0KLSMgQ09ORklHX0lFRUU4MDIxMV9DUllQVF9US0lQIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lFRUU4MDIxMV9TT0ZUTUFDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lFRUU4MDIxMSBpcyBub3Qgc2V0CiAjIENPTkZJR19SRktJTEwgaXMgbm90IHNldAorIyBDT05GSUdfTkVUXzlQIGlzIG5vdCBzZXQKIAogIwogIyBEZXZpY2UgRHJpdmVycwpAQCAtMzY4LDI0ICszNjUsMjUgQEAKICMKICMgR2VuZXJpYyBEcml2ZXIgT3B0aW9ucwogIworQ09ORklHX1VFVkVOVF9IRUxQRVJfUEFUSD0iL3NiaW4vaG90cGx1ZyIKIENPTkZJR19TVEFOREFMT05FPXkKIENPTkZJR19QUkVWRU5UX0ZJUk1XQVJFX0JVSUxEPXkKLUNPTkZJR19GV19MT0FERVI9eQorQ09ORklHX0ZXX0xPQURFUj1tCiAjIENPTkZJR19ERUJVR19EUklWRVIgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfREVWUkVTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NZU19IWVBFUlZJU09SIGlzIG5vdCBzZXQKLQotIwotIyBDb25uZWN0b3IgLSB1bmlmaWVkIHVzZXJzcGFjZSA8LT4ga2VybmVsc3BhY2UgbGlua2VyCi0jCiAjIENPTkZJR19DT05ORUNUT1IgaXMgbm90IHNldAogQ09ORklHX01URD15CiAjIENPTkZJR19NVERfREVCVUcgaXMgbm90IHNldAotQ09ORklHX01URF9DT05DQVQ9eQorIyBDT05GSUdfTVREX0NPTkNBVCBpcyBub3Qgc2V0CiBDT05GSUdfTVREX1BBUlRJVElPTlM9eQotIyBDT05GSUdfTVREX1JFREJPT1RfUEFSVFMgaXMgbm90IHNldAotIyBDT05GSUdfTVREX0NNRExJTkVfUEFSVFMgaXMgbm90IHNldAorQ09ORklHX01URF9SRURCT09UX1BBUlRTPXkKK0NPTkZJR19NVERfUkVEQk9PVF9ESVJFQ1RPUllfQkxPQ0s9LTEKKyMgQ09ORklHX01URF9SRURCT09UX1BBUlRTX1VOQUxMT0NBVEVEIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9SRURCT09UX1BBUlRTX1JFQURPTkxZIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ01ETElORV9QQVJUUz15CiAjIENPTkZJR19NVERfQUZTX1BBUlRTIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9BUjdfUEFSVFMgaXMgbm90IHNldAogCiAjCiAjIFVzZXIgTW9kdWxlcyBBbmQgVHJhbnNsYXRpb24gTGF5ZXJzCkBAIC0zOTgsMzQgKzM5Niw0NSBAQAogIyBDT05GSUdfSU5GVEwgaXMgbm90IHNldAogIyBDT05GSUdfUkZEX0ZUTCBpcyBub3Qgc2V0CiAjIENPTkZJR19TU0ZEQyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfT09QUyBpcyBub3Qgc2V0CiAKICMKICMgUkFNL1JPTS9GbGFzaCBjaGlwIGRyaXZlcnMKICMKLSMgQ09ORklHX01URF9DRkkgaXMgbm90IHNldAorQ09ORklHX01URF9DRkk9eQogIyBDT05GSUdfTVREX0pFREVDUFJPQkUgaXMgbm90IHNldAotIyBDT05GSUdfTVREX0NGSV9OT1NXQVAgaXMgbm90IHNldAorQ09ORklHX01URF9HRU5fUFJPQkU9eQorQ09ORklHX01URF9DRklfQURWX09QVElPTlM9eQorQ09ORklHX01URF9DRklfTk9TV0FQPXkKICMgQ09ORklHX01URF9DRklfQkVfQllURV9TV0FQIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9DRklfTEVfQllURV9TV0FQIGlzIG5vdCBzZXQKLUNPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMT15CitDT05GSUdfTVREX0NGSV9HRU9NRVRSWT15CisjIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMSBpcyBub3Qgc2V0CiBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzI9eQotQ09ORklHX01URF9NQVBfQkFOS19XSURUSF80PXkKKyMgQ09ORklHX01URF9NQVBfQkFOS19XSURUSF80IGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9NQVBfQkFOS19XSURUSF84IGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8xNiBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMzIgaXMgbm90IHNldAogQ09ORklHX01URF9DRklfSTE9eQotQ09ORklHX01URF9DRklfSTI9eQorIyBDT05GSUdfTVREX0NGSV9JMiBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfQ0ZJX0k0IGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9DRklfSTggaXMgbm90IHNldAotIyBDT05GSUdfTVREX1JBTSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfT1RQIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9DRklfSU5URUxFWFQgaXMgbm90IHNldAorQ09ORklHX01URF9DRklfQU1EU1REPXkKKyMgQ09ORklHX01URF9DRklfU1RBQSBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NGSV9VVElMPXkKK0NPTkZJR19NVERfUkFNPXkKICMgQ09ORklHX01URF9ST00gaXMgbm90IHNldAogIyBDT05GSUdfTVREX0FCU0VOVCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfWElQIGlzIG5vdCBzZXQKIAogIwogIyBNYXBwaW5nIGRyaXZlcnMgZm9yIGNoaXAgYWNjZXNzCiAjCiAjIENPTkZJR19NVERfQ09NUExFWF9NQVBQSU5HUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfU0hBUlBfU0wgaXMgbm90IHNldAorIyBDT05GSUdfTVREX1BIWVNNQVAgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0FSTV9JTlRFR1JBVE9SIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9QTEFUUkFNIGlzIG5vdCBzZXQKIAogIwpAQCAtNDQ2LDQzICs0NTUsMjEgQEAKICMgQ09ORklHX01URF9OQU5EX1ZFUklGWV9XUklURSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTkFORF9FQ0NfU01DIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9OQU5EX01VU0VVTV9JRFMgaXMgbm90IHNldAotIyBDT05GSUdfTVREX05BTkRfSDE5MDAgaXMgbm90IHNldAogQ09ORklHX01URF9OQU5EX0lEUz15CiAjIENPTkZJR19NVERfTkFORF9ESVNLT05DSElQIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9OQU5EX1NIQVJQU0wgaXMgbm90IHNldAogIyBDT05GSUdfTVREX05BTkRfTkFORFNJTSBpcyBub3Qgc2V0Ci1DT05GSUdfTVREX05BTkRfUExBVEZPUk09eQorIyBDT05GSUdfTVREX05BTkRfUExBVEZPUk0gaXMgbm90IHNldAorIyBDT05GSUdfTVREX0FMQVVEQSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfT05FTkFORCBpcyBub3Qgc2V0CiAKICMKICMgVUJJIC0gVW5zb3J0ZWQgYmxvY2sgaW1hZ2VzCiAjCiAjIENPTkZJR19NVERfVUJJIGlzIG5vdCBzZXQKLQotIwotIyBQYXJhbGxlbCBwb3J0IHN1cHBvcnQKLSMKICMgQ09ORklHX1BBUlBPUlQgaXMgbm90IHNldAotCi0jCi0jIFBsdWcgYW5kIFBsYXkgc3VwcG9ydAotIwotIyBDT05GSUdfUE5QQUNQSSBpcyBub3Qgc2V0Ci0KLSMKLSMgQmxvY2sgZGV2aWNlcwotIwotIyBDT05GSUdfQkxLX0RFVl9DT1dfQ09NTU9OIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX0xPT1A9eQotIyBDT05GSUdfQkxLX0RFVl9DUllQVE9MT09QIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfTkJEIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfVUIgaXMgbm90IHNldAotQ09ORklHX0JMS19ERVZfUkFNPXkKLUNPTkZJR19CTEtfREVWX1JBTV9DT1VOVD0xNgotQ09ORklHX0JMS19ERVZfUkFNX1NJWkU9MTIwMDAKLUNPTkZJR19CTEtfREVWX1JBTV9CTE9DS1NJWkU9MTAyNAotIyBDT05GSUdfQ0RST01fUEtUQ0RWRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19BVEFfT1ZFUl9FVEggaXMgbm90IHNldAorIyBDT05GSUdfQkxLX0RFViBpcyBub3Qgc2V0CisjIENPTkZJR19NSVNDX0RFVklDRVMgaXMgbm90IHNldAorQ09ORklHX0hBVkVfSURFPXkKICMgQ09ORklHX0lERSBpcyBub3Qgc2V0CiAKICMKQEAgLTQ5MCw5ICs0NzcsMTAgQEAKICMKICMgQ09ORklHX1JBSURfQVRUUlMgaXMgbm90IHNldAogQ09ORklHX1NDU0k9eQorQ09ORklHX1NDU0lfRE1BPXkKICMgQ09ORklHX1NDU0lfVEdUIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfTkVUTElOSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX1BST0NfRlMgaXMgbm90IHNldAorQ09ORklHX1NDU0lfUFJPQ19GUz15CiAKICMKICMgU0NTSSBzdXBwb3J0IHR5cGUgKGRpc2ssIHRhcGUsIENELVJPTSkKQEAgLTUwNyw3ICs0OTUsNyBAQAogIwogIyBTb21lIFNDU0kgZGV2aWNlcyAoZS5nLiBDRCBqdWtlYm94KSBzdXBwb3J0IG11bHRpcGxlIExVTnMKICMKLSMgQ09ORklHX1NDU0lfTVVMVElfTFVOIGlzIG5vdCBzZXQKK0NPTkZJR19TQ1NJX01VTFRJX0xVTj15CiAjIENPTkZJR19TQ1NJX0NPTlNUQU5UUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0xPR0dJTkcgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9TQ0FOX0FTWU5DIGlzIG5vdCBzZXQKQEAgLTUxOSwzOSArNTA3LDMyIEBACiAjIENPTkZJR19TQ1NJX1NQSV9BVFRSUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0ZDX0FUVFJTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfSVNDU0lfQVRUUlMgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9TQVNfQVRUUlMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9TQVNfTElCU0FTIGlzIG5vdCBzZXQKLQotIwotIyBTQ1NJIGxvdy1sZXZlbCBkcml2ZXJzCi0jCisjIENPTkZJR19TQ1NJX1NSUF9BVFRSUyBpcyBub3Qgc2V0CitDT05GSUdfU0NTSV9MT1dMRVZFTD15CiAjIENPTkZJR19JU0NTSV9UQ1AgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9ERUJVRyBpcyBub3Qgc2V0CiAjIENPTkZJR19BVEEgaXMgbm90IHNldAotCi0jCi0jIE11bHRpLWRldmljZSBzdXBwb3J0IChSQUlEIGFuZCBMVk0pCi0jCiAjIENPTkZJR19NRCBpcyBub3Qgc2V0Ci0KLSMKLSMgTmV0d29yayBkZXZpY2Ugc3VwcG9ydAotIwogQ09ORklHX05FVERFVklDRVM9eQorIyBDT05GSUdfTkVUREVWSUNFU19NVUxUSVFVRVVFIGlzIG5vdCBzZXQKICMgQ09ORklHX0RVTU1ZIGlzIG5vdCBzZXQKICMgQ09ORklHX0JPTkRJTkcgaXMgbm90IHNldAorIyBDT05GSUdfTUFDVkxBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19FUVVBTElaRVIgaXMgbm90IHNldAogIyBDT05GSUdfVFVOIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZFVEggaXMgbm90IHNldAogIyBDT05GSUdfUEhZTElCIGlzIG5vdCBzZXQKLQotIwotIyBFdGhlcm5ldCAoMTAgb3IgMTAwTWJpdCkKLSMKIENPTkZJR19ORVRfRVRIRVJORVQ9eQogQ09ORklHX01JST15CisjIENPTkZJR19BWDg4Nzk2IGlzIG5vdCBzZXQKICMgQ09ORklHX1NNQzkxWCBpcyBub3Qgc2V0Ci1DT05GSUdfRE05MDAwPXkKLSMgQ09ORklHX1NNQzkxMVggaXMgbm90IHNldAorIyBDT05GSUdfRE05MDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19aTUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19SR01JSSBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfVEFIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19FTUFDNCBpcyBub3Qgc2V0CisjIENPTkZJR19CNDQgaXMgbm90IHNldAogIyBDT05GSUdfTkVUREVWXzEwMDAgaXMgbm90IHNldAogIyBDT05GSUdfTkVUREVWXzEwMDAwIGlzIG5vdCBzZXQKIApAQCAtNTYwLDYgKzU0MSw3IEBACiAjCiAjIENPTkZJR19XTEFOX1BSRTgwMjExIGlzIG5vdCBzZXQKICMgQ09ORklHX1dMQU5fODAyMTEgaXMgbm90IHNldAorIyBDT05GSUdfSVdMV0lGSV9MRURTIGlzIG5vdCBzZXQKIAogIwogIyBVU0IgTmV0d29yayBBZGFwdGVycwpAQCAtNTY4LDE5ICs1NTAsMTMgQEAKICMgQ09ORklHX1VTQl9LQVdFVEggaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1BFR0FTVVMgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1JUTDgxNTAgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1VTQk5FVF9NSUkgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1VTQk5FVCBpcyBub3Qgc2V0CiAjIENPTkZJR19XQU4gaXMgbm90IHNldAogIyBDT05GSUdfUFBQIGlzIG5vdCBzZXQKICMgQ09ORklHX1NMSVAgaXMgbm90IHNldAotIyBDT05GSUdfU0hBUEVSIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVENPTlNPTEUgaXMgbm90IHNldAogIyBDT05GSUdfTkVUUE9MTCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfUE9MTF9DT05UUk9MTEVSIGlzIG5vdCBzZXQKLQotIwotIyBJU0ROIHN1YnN5c3RlbQotIwogIyBDT05GSUdfSVNETiBpcyBub3Qgc2V0CiAKICMKQEAgLTU5MywxMiArNTY5LDggQEAKICMKICMgVXNlcmxhbmQgaW50ZXJmYWNlcwogIwotQ09ORklHX0lOUFVUX01PVVNFREVWPXkKLSMgQ09ORklHX0lOUFVUX01PVVNFREVWX1BTQVVYIGlzIG5vdCBzZXQKLUNPTkZJR19JTlBVVF9NT1VTRURFVl9TQ1JFRU5fWD0xMDI0Ci1DT05GSUdfSU5QVVRfTU9VU0VERVZfU0NSRUVOX1k9NzY4CisjIENPTkZJR19JTlBVVF9NT1VTRURFViBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9KT1lERVYgaXMgbm90IHNldAotIyBDT05GSUdfSU5QVVRfVFNERVYgaXMgbm90IHNldAogQ09ORklHX0lOUFVUX0VWREVWPXkKICMgQ09ORklHX0lOUFVUX0VWQlVHIGlzIG5vdCBzZXQKIApAQCAtNjEyLDEyICs1ODQsMTEgQEAKICMgQ09ORklHX0tFWUJPQVJEX1hUS0JEIGlzIG5vdCBzZXQKICMgQ09ORklHX0tFWUJPQVJEX05FV1RPTiBpcyBub3Qgc2V0CiAjIENPTkZJR19LRVlCT0FSRF9TVE9XQVdBWSBpcyBub3Qgc2V0Ci1DT05GSUdfS0VZQk9BUkRfUFhBMjd4PW0KLSMgQ09ORklHX0tFWUJPQVJEX0dQSU8gaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfTU9VU0UgaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfSk9ZU1RJQ0sgaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfVEFCTEVUIGlzIG5vdCBzZXQKIENPTkZJR19JTlBVVF9UT1VDSFNDUkVFTj15CisjIENPTkZJR19UT1VDSFNDUkVFTl9GVUpJVFNVIGlzIG5vdCBzZXQKICMgQ09ORklHX1RPVUNIU0NSRUVOX0dVTlpFIGlzIG5vdCBzZXQKICMgQ09ORklHX1RPVUNIU0NSRUVOX0VMTyBpcyBub3Qgc2V0CiAjIENPTkZJR19UT1VDSFNDUkVFTl9NVE9VQ0ggaXMgbm90IHNldApAQCAtNjMyLDEwICs2MDMsNyBAQAogIwogIyBIYXJkd2FyZSBJL08gcG9ydHMKICMKLUNPTkZJR19TRVJJTz15Ci0jIENPTkZJR19TRVJJT19TRVJQT1JUIGlzIG5vdCBzZXQKLUNPTkZJR19TRVJJT19MSUJQUzI9eQotIyBDT05GSUdfU0VSSU9fUkFXIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFUklPIGlzIG5vdCBzZXQKICMgQ09ORklHX0dBTUVQT1JUIGlzIG5vdCBzZXQKIAogIwpAQCAtNjQ1LDYgKzYxMyw3IEBACiBDT05GSUdfVlRfQ09OU09MRT15CiBDT05GSUdfSFdfQ09OU09MRT15CiAjIENPTkZJR19WVF9IV19DT05TT0xFX0JJTkRJTkcgaXMgbm90IHNldAorQ09ORklHX0RFVktNRU09eQogIyBDT05GSUdfU0VSSUFMX05PTlNUQU5EQVJEIGlzIG5vdCBzZXQKIAogIwpAQCAtNjU1LDkyICs2MjQsMTEwIEBACiAjCiAjIE5vbi04MjUwIHNlcmlhbCBwb3J0IHN1cHBvcnQKICMKLUNPTkZJR19TRVJJQUxfUFhBPXkKLUNPTkZJR19TRVJJQUxfUFhBX0NPTlNPTEU9eQotQ09ORklHX1NFUklBTF9DT1JFPXkKLUNPTkZJR19TRVJJQUxfQ09SRV9DT05TT0xFPXkKIENPTkZJR19VTklYOThfUFRZUz15CiBDT05GSUdfTEVHQUNZX1BUWVM9eQogQ09ORklHX0xFR0FDWV9QVFlfQ09VTlQ9MjU2Ci0KLSMKLSMgSVBNSQotIwogIyBDT05GSUdfSVBNSV9IQU5ETEVSIGlzIG5vdCBzZXQKLSMgQ09ORklHX1dBVENIRE9HIGlzIG5vdCBzZXQKLUNPTkZJR19IV19SQU5ET009bQorQ09ORklHX0hXX1JBTkRPTT15CiAjIENPTkZJR19OVlJBTSBpcyBub3Qgc2V0CiAjIENPTkZJR19SMzk2NCBpcyBub3Qgc2V0CiAjIENPTkZJR19SQVdfRFJJVkVSIGlzIG5vdCBzZXQKLQotIwotIyBUUE0gZGV2aWNlcwotIwogIyBDT05GSUdfVENHX1RQTSBpcyBub3Qgc2V0CiAjIENPTkZJR19JMkMgaXMgbm90IHNldAotCi0jCi0jIFNQSSBzdXBwb3J0Ci0jCiAjIENPTkZJR19TUEkgaXMgbm90IHNldAotIyBDT05GSUdfU1BJX01BU1RFUiBpcyBub3Qgc2V0Ci0KLSMKLSMgRGFsbGFzJ3MgMS13aXJlIGJ1cwotIwogIyBDT05GSUdfVzEgaXMgbm90IHNldAorIyBDT05GSUdfUE9XRVJfU1VQUExZIGlzIG5vdCBzZXQKICMgQ09ORklHX0hXTU9OIGlzIG5vdCBzZXQKK0NPTkZJR19XQVRDSERPRz15CitDT05GSUdfV0FUQ0hET0dfTk9XQVlPVVQ9eQogCiAjCi0jIE1pc2MgZGV2aWNlcworIyBXYXRjaGRvZyBEZXZpY2UgRHJpdmVycwogIworIyBDT05GSUdfU09GVF9XQVRDSERPRyBpcyBub3Qgc2V0CisKKyMKKyMgVVNCLWJhc2VkIFdhdGNoZG9nIENhcmRzCisjCisjIENPTkZJR19VU0JQQ1dBVENIRE9HIGlzIG5vdCBzZXQKKworIworIyBTb25pY3MgU2lsaWNvbiBCYWNrcGxhbmUKKyMKK0NPTkZJR19TU0JfUE9TU0lCTEU9eQorIyBDT05GSUdfU1NCIGlzIG5vdCBzZXQKIAogIwogIyBNdWx0aWZ1bmN0aW9uIGRldmljZSBkcml2ZXJzCiAjCiAjIENPTkZJR19NRkRfU001MDEgaXMgbm90IHNldAotCi0jCi0jIExFRCBkZXZpY2VzCi0jCi0jIENPTkZJR19ORVdfTEVEUyBpcyBub3Qgc2V0Ci0KLSMKLSMgTEVEIGRyaXZlcnMKLSMKLQotIwotIyBMRUQgVHJpZ2dlcnMKLSMKKyMgQ09ORklHX01GRF9BU0lDMyBpcyBub3Qgc2V0CisjIENPTkZJR19IVENfUEFTSUMzIGlzIG5vdCBzZXQKIAogIwogIyBNdWx0aW1lZGlhIGRldmljZXMKICMKLSMgQ09ORklHX1ZJREVPX0RFViBpcyBub3Qgc2V0CisKKyMKKyMgTXVsdGltZWRpYSBjb3JlIHN1cHBvcnQKKyMKK0NPTkZJR19WSURFT19ERVY9eQorQ09ORklHX1ZJREVPX1Y0TDJfQ09NTU9OPXkKK0NPTkZJR19WSURFT19BTExPV19WNEwxPXkKK0NPTkZJR19WSURFT19WNEwxX0NPTVBBVD15CiAjIENPTkZJR19EVkJfQ09SRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19EQUIgaXMgbm90IHNldAorQ09ORklHX1ZJREVPX01FRElBPXkKKworIworIyBNdWx0aW1lZGlhIGRyaXZlcnMKKyMKKyMgQ09ORklHX01FRElBX0FUVEFDSCBpcyBub3Qgc2V0CitDT05GSUdfVklERU9fVjRMMj15CitDT05GSUdfVklERU9fVjRMMT15CitDT05GSUdfVklERU9fQ0FQVFVSRV9EUklWRVJTPXkKKyMgQ09ORklHX1ZJREVPX0FEVl9ERUJVRyBpcyBub3Qgc2V0CitDT05GSUdfVklERU9fSEVMUEVSX0NISVBTX0FVVE89eQorIyBDT05GSUdfVklERU9fVklWSSBpcyBub3Qgc2V0CisjIENPTkZJR19WSURFT19DUElBIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJREVPX0NQSUEyIGlzIG5vdCBzZXQKK0NPTkZJR19WNExfVVNCX0RSSVZFUlM9eQorIyBDT05GSUdfVVNCX1ZJQ0FNIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9JQk1DQU0gaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0tPTklDQVdDIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9RVUlDS0NBTV9NRVNTRU5HRVIgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0VUNjFYMjUxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9PVjUxMSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0U0MDEgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NOOUMxMDIgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NUVjY4MCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfWkMwMzAxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9QV0MgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1pSMzY0WFggaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NUS1dFQkNBTSBpcyBub3Qgc2V0CisjIENPTkZJR19TT0NfQ0FNRVJBIGlzIG5vdCBzZXQKK0NPTkZJR19SQURJT19BREFQVEVSUz15CisjIENPTkZJR19VU0JfRFNCUiBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0k0NzBYIGlzIG5vdCBzZXQKK0NPTkZJR19EQUI9eQorIyBDT05GSUdfVVNCX0RBQlVTQiBpcyBub3Qgc2V0CiAKICMKICMgR3JhcGhpY3Mgc3VwcG9ydAogIwotIyBDT05GSUdfQkFDS0xJR0hUX0xDRF9TVVBQT1JUIGlzIG5vdCBzZXQKLQotIwotIyBEaXNwbGF5IGRldmljZSBzdXBwb3J0Ci0jCi0jIENPTkZJR19ESVNQTEFZX1NVUFBPUlQgaXMgbm90IHNldAogIyBDT05GSUdfVkdBU1RBVEUgaXMgbm90IHNldAorIyBDT05GSUdfVklERU9fT1VUUFVUX0NPTlRST0wgaXMgbm90IHNldAogQ09ORklHX0ZCPXkKICMgQ09ORklHX0ZJUk1XQVJFX0VESUQgaXMgbm90IHNldAogIyBDT05GSUdfRkJfRERDIGlzIG5vdCBzZXQKLUNPTkZJR19GQl9DRkJfRklMTFJFQ1Q9eQotQ09ORklHX0ZCX0NGQl9DT1BZQVJFQT15Ci1DT05GSUdfRkJfQ0ZCX0lNQUdFQkxJVD15CisjIENPTkZJR19GQl9DRkJfRklMTFJFQ1QgaXMgbm90IHNldAorIyBDT05GSUdfRkJfQ0ZCX0NPUFlBUkVBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0NGQl9JTUFHRUJMSVQgaXMgbm90IHNldAorIyBDT05GSUdfRkJfQ0ZCX1JFVl9QSVhFTFNfSU5fQllURSBpcyBub3Qgc2V0CiAjIENPTkZJR19GQl9TWVNfRklMTFJFQ1QgaXMgbm90IHNldAogIyBDT05GSUdfRkJfU1lTX0NPUFlBUkVBIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZCX1NZU19JTUFHRUJMSVQgaXMgbm90IHNldAorIyBDT05GSUdfRkJfRk9SRUlHTl9FTkRJQU4gaXMgbm90IHNldAogIyBDT05GSUdfRkJfU1lTX0ZPUFMgaXMgbm90IHNldAotQ09ORklHX0ZCX0RFRkVSUkVEX0lPPXkKICMgQ09ORklHX0ZCX1NWR0FMSUIgaXMgbm90IHNldAogIyBDT05GSUdfRkJfTUFDTU9ERVMgaXMgbm90IHNldAogIyBDT05GSUdfRkJfQkFDS0xJR0hUIGlzIG5vdCBzZXQKQEAgLTc1MSwxMCArNzM4LDEzIEBACiAjIEZyYW1lIGJ1ZmZlciBoYXJkd2FyZSBkcml2ZXJzCiAjCiAjIENPTkZJR19GQl9TMUQxM1hYWCBpcyBub3Qgc2V0Ci1DT05GSUdfRkJfUFhBPXkKLSMgQ09ORklHX0ZCX1BYQV9QQVJBTUVURVJTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX01CWCBpcyBub3Qgc2V0CiAjIENPTkZJR19GQl9WSVJUVUFMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JBQ0tMSUdIVF9MQ0RfU1VQUE9SVCBpcyBub3Qgc2V0CisKKyMKKyMgRGlzcGxheSBkZXZpY2Ugc3VwcG9ydAorIworIyBDT05GSUdfRElTUExBWV9TVVBQT1JUIGlzIG5vdCBzZXQKIAogIwogIyBDb25zb2xlIGRpc3BsYXkgZHJpdmVyIHN1cHBvcnQKQEAgLTc2MiwxMTYgKzc1Miw1NSBAQAogIyBDT05GSUdfVkdBX0NPTlNPTEUgaXMgbm90IHNldAogQ09ORklHX0RVTU1ZX0NPTlNPTEU9eQogQ09ORklHX0ZSQU1FQlVGRkVSX0NPTlNPTEU9eQorIyBDT05GSUdfRlJBTUVCVUZGRVJfQ09OU09MRV9ERVRFQ1RfUFJJTUFSWSBpcyBub3Qgc2V0CiAjIENPTkZJR19GUkFNRUJVRkZFUl9DT05TT0xFX1JPVEFUSU9OIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZPTlRTIGlzIG5vdCBzZXQKIENPTkZJR19GT05UXzh4OD15CiBDT05GSUdfRk9OVF84eDE2PXkKIENPTkZJR19MT0dPPXkKLUNPTkZJR19MT0dPX0xJTlVYX01PTk89eQotQ09ORklHX0xPR09fTElOVVhfVkdBMTY9eQorIyBDT05GSUdfTE9HT19MSU5VWF9NT05PIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xPR09fTElOVVhfVkdBMTYgaXMgbm90IHNldAogQ09ORklHX0xPR09fTElOVVhfQ0xVVDIyND15CiAKICMKICMgU291bmQKICMKLUNPTkZJR19TT1VORD1tCi0KLSMKLSMgQWR2YW5jZWQgTGludXggU291bmQgQXJjaGl0ZWN0dXJlCi0jCi1DT05GSUdfU05EPW0KLUNPTkZJR19TTkRfVElNRVI9bQotQ09ORklHX1NORF9QQ009bQotIyBDT05GSUdfU05EX1NFUVVFTkNFUiBpcyBub3Qgc2V0Ci1DT05GSUdfU05EX09TU0VNVUw9eQotQ09ORklHX1NORF9NSVhFUl9PU1M9bQotQ09ORklHX1NORF9QQ01fT1NTPW0KLUNPTkZJR19TTkRfUENNX09TU19QTFVHSU5TPXkKLSMgQ09ORklHX1NORF9EWU5BTUlDX01JTk9SUyBpcyBub3Qgc2V0Ci1DT05GSUdfU05EX1NVUFBPUlRfT0xEX0FQST15Ci1DT05GSUdfU05EX1ZFUkJPU0VfUFJPQ0ZTPXkKLSMgQ09ORklHX1NORF9WRVJCT1NFX1BSSU5USyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfREVCVUcgaXMgbm90IHNldAotCi0jCi0jIEdlbmVyaWMgZGV2aWNlcwotIwotQ09ORklHX1NORF9BQzk3X0NPREVDPW0KLSMgQ09ORklHX1NORF9EVU1NWSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfTVRQQVYgaXMgbm90IHNldAotIyBDT05GSUdfU05EX1NFUklBTF9VMTY1NTAgaXMgbm90IHNldAotIyBDT05GSUdfU05EX01QVTQwMSBpcyBub3Qgc2V0Ci0KLSMKLSMgQUxTQSBBUk0gZGV2aWNlcwotIwotQ09ORklHX1NORF9QWEEyWFhfUENNPW0KLUNPTkZJR19TTkRfUFhBMlhYX0FDOTc9bQotCi0jCi0jIFVTQiBkZXZpY2VzCi0jCi0jIENPTkZJR19TTkRfVVNCX0FVRElPIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9VU0JfQ0FJQVEgaXMgbm90IHNldAotCi0jCi0jIFN5c3RlbSBvbiBDaGlwIGF1ZGlvIHN1cHBvcnQKLSMKLSMgQ09ORklHX1NORF9TT0MgaXMgbm90IHNldAotCi0jCi0jIE9wZW4gU291bmQgU3lzdGVtCi0jCi0jIENPTkZJR19TT1VORF9QUklNRSBpcyBub3Qgc2V0Ci1DT05GSUdfQUM5N19CVVM9bQotCi0jCi0jIEhJRCBEZXZpY2VzCi0jCi1DT05GSUdfSElEPXkKLSMgQ09ORklHX0hJRF9ERUJVRyBpcyBub3Qgc2V0Ci0KLSMKLSMgVVNCIElucHV0IERldmljZXMKLSMKLUNPTkZJR19VU0JfSElEPXkKLSMgQ09ORklHX1VTQl9ISURJTlBVVF9QT1dFUkJPT0sgaXMgbm90IHNldAotIyBDT05GSUdfSElEX0ZGIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9ISURERVYgaXMgbm90IHNldAotCi0jCi0jIFVTQiBzdXBwb3J0Ci0jCisjIENPTkZJR19TT1VORCBpcyBub3Qgc2V0CisjIENPTkZJR19ISURfU1VQUE9SVCBpcyBub3Qgc2V0CitDT05GSUdfVVNCX1NVUFBPUlQ9eQogQ09ORklHX1VTQl9BUkNIX0hBU19IQ0Q9eQotQ09ORklHX1VTQl9BUkNIX0hBU19PSENJPXkKKyMgQ09ORklHX1VTQl9BUkNIX0hBU19PSENJIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9BUkNIX0hBU19FSENJIGlzIG5vdCBzZXQKIENPTkZJR19VU0I9eQogIyBDT05GSUdfVVNCX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9BTk5PVU5DRV9ORVdfREVWSUNFUyBpcyBub3Qgc2V0CiAKICMKICMgTWlzY2VsbGFuZW91cyBVU0Igb3B0aW9ucwogIwotQ09ORklHX1VTQl9ERVZJQ0VGUz15Ci0jIENPTkZJR19VU0JfREVWSUNFX0NMQVNTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9ERVZJQ0VGUyBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0RFVklDRV9DTEFTUz15CiAjIENPTkZJR19VU0JfRFlOQU1JQ19NSU5PUlMgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NVU1BFTkQgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX09URyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfT1RHX1dISVRFTElTVCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfT1RHX0JMQUNLTElTVF9IVUIgaXMgbm90IHNldAogCiAjCiAjIFVTQiBIb3N0IENvbnRyb2xsZXIgRHJpdmVycwogIworIyBDT05GSUdfVVNCX0M2N1gwMF9IQ0QgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0lTUDExNlhfSENEIGlzIG5vdCBzZXQKLUNPTkZJR19VU0JfT0hDSV9IQ0Q9eQotIyBDT05GSUdfVVNCX09IQ0lfQklHX0VORElBTl9ERVNDIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9PSENJX0JJR19FTkRJQU5fTU1JTyBpcyBub3Qgc2V0Ci1DT05GSUdfVVNCX09IQ0lfTElUVExFX0VORElBTj15CisjIENPTkZJR19VU0JfSVNQMTc2MF9IQ0QgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NMODExX0hDRCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfUjhBNjY1OTdfSENEIGlzIG5vdCBzZXQKIAogIwogIyBVU0IgRGV2aWNlIENsYXNzIGRyaXZlcnMKICMKICMgQ09ORklHX1VTQl9BQ00gaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1BSSU5URVIgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1dETSBpcyBub3Qgc2V0CiAKICMKICMgTk9URTogVVNCX1NUT1JBR0UgZW5hYmxlcyBTQ1NJLCBhbmQgJ1NDU0kgZGlzayBzdXBwb3J0JwpAQCAtODgwLDE3ICs4MDksNyBAQAogIwogIyBtYXkgYWxzbyBiZSBuZWVkZWQ7IHNlZSBVU0JfU1RPUkFHRSBIZWxwIGZvciBtb3JlIGluZm9ybWF0aW9uCiAjCi1DT05GSUdfVVNCX1NUT1JBR0U9eQotIyBDT05GSUdfVVNCX1NUT1JBR0VfREVCVUcgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1NUT1JBR0VfREFUQUZBQiBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfU1RPUkFHRV9GUkVFQ09NIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9TVE9SQUdFX0RQQ00gaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1NUT1JBR0VfVVNCQVQgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1NUT1JBR0VfU0REUjA5IGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9TVE9SQUdFX1NERFI1NSBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfU1RPUkFHRV9KVU1QU0hPVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfU1RPUkFHRV9BTEFVREEgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1NUT1JBR0VfS0FSTUEgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NUT1JBR0UgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0xJQlVTVUFMIGlzIG5vdCBzZXQKIAogIwpAQCAtODk4LDE1ICs4MTcsMTEgQEAKICMKICMgQ09ORklHX1VTQl9NREM4MDAgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX01JQ1JPVEVLIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9NT04gaXMgbm90IHNldAorQ09ORklHX1VTQl9NT049eQogCiAjCiAjIFVTQiBwb3J0IGRyaXZlcnMKICMKLQotIwotIyBVU0IgU2VyaWFsIENvbnZlcnRlciBzdXBwb3J0Ci0jCiAjIENPTkZJR19VU0JfU0VSSUFMIGlzIG5vdCBzZXQKIAogIwpAQCAtOTMwLDkzICs4NDUsMjkgQEAKICMgQ09ORklHX1VTQl9MRCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfVFJBTkNFVklCUkFUT1IgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0lPV0FSUklPUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfVEVTVCBpcyBub3Qgc2V0Ci0KLSMKLSMgVVNCIERTTCBtb2RlbSBzdXBwb3J0Ci0jCi0KLSMKLSMgVVNCIEdhZGdldCBTdXBwb3J0Ci0jCisjIENPTkZJR19VU0JfSVNJR0hURlcgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0dBREdFVCBpcyBub3Qgc2V0Ci1DT05GSUdfTU1DPW0KLSMgQ09ORklHX01NQ19ERUJVRyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NTUNfVU5TQUZFX1JFU1VNRSBpcyBub3Qgc2V0Ci0KLSMKLSMgTU1DL1NEIENhcmQgRHJpdmVycwotIwotQ09ORklHX01NQ19CTE9DSz1tCi0KLSMKLSMgTU1DL1NEIEhvc3QgQ29udHJvbGxlciBEcml2ZXJzCi0jCi1DT05GSUdfTU1DX1BYQT1tCi0KLSMKLSMgUmVhbCBUaW1lIENsb2NrCi0jCisjIENPTkZJR19NTUMgaXMgbm90IHNldAorIyBDT05GSUdfTkVXX0xFRFMgaXMgbm90IHNldAogQ09ORklHX1JUQ19MSUI9eQotQ09ORklHX1JUQ19DTEFTUz1tCi0KLSMKLSMgUlRDIGludGVyZmFjZXMKLSMKLUNPTkZJR19SVENfSU5URl9TWVNGUz15Ci1DT05GSUdfUlRDX0lOVEZfUFJPQz15Ci1DT05GSUdfUlRDX0lOVEZfREVWPXkKLSMgQ09ORklHX1JUQ19JTlRGX0RFVl9VSUVfRU1VTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19SVENfRFJWX1RFU1QgaXMgbm90IHNldAotCi0jCi0jIEkyQyBSVEMgZHJpdmVycwotIwotCi0jCi0jIFNQSSBSVEMgZHJpdmVycwotIwotCi0jCi0jIFBsYXRmb3JtIFJUQyBkcml2ZXJzCi0jCi0jIENPTkZJR19SVENfRFJWX0NNT1MgaXMgbm90IHNldAotIyBDT05GSUdfUlRDX0RSVl9EUzE1NTMgaXMgbm90IHNldAotIyBDT05GSUdfUlRDX0RSVl9EUzE3NDIgaXMgbm90IHNldAotIyBDT05GSUdfUlRDX0RSVl9NNDhUODYgaXMgbm90IHNldAotQ09ORklHX1JUQ19EUlZfVjMwMjA9bQotCi0jCi0jIG9uLUNQVSBSVEMgZHJpdmVycwotIwotQ09ORklHX1JUQ19EUlZfU0ExMTAwPW0KKyMgQ09ORklHX1JUQ19DTEFTUyBpcyBub3Qgc2V0CisjIENPTkZJR19VSU8gaXMgbm90IHNldAogCiAjCiAjIEZpbGUgc3lzdGVtcwogIwotQ09ORklHX0VYVDJfRlM9eQotIyBDT05GSUdfRVhUMl9GU19YQVRUUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19FWFQyX0ZTX1hJUCBpcyBub3Qgc2V0Ci1DT05GSUdfRVhUM19GUz15Ci1DT05GSUdfRVhUM19GU19YQVRUUj15Ci0jIENPTkZJR19FWFQzX0ZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19FWFQzX0ZTX1NFQ1VSSVRZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VYVDJfRlMgaXMgbm90IHNldAorIyBDT05GSUdfRVhUM19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19FWFQ0REVWX0ZTIGlzIG5vdCBzZXQKLUNPTkZJR19KQkQ9eQotIyBDT05GSUdfSkJEX0RFQlVHIGlzIG5vdCBzZXQKLUNPTkZJR19GU19NQkNBQ0hFPXkKICMgQ09ORklHX1JFSVNFUkZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0pGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19GU19QT1NJWF9BQ0wgaXMgbm90IHNldAogIyBDT05GSUdfWEZTX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0dGUzJfRlMgaXMgbm90IHNldAogIyBDT05GSUdfT0NGUzJfRlMgaXMgbm90IHNldAotIyBDT05GSUdfTUlOSVhfRlMgaXMgbm90IHNldAotIyBDT05GSUdfUk9NRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfRE5PVElGWSBpcyBub3Qgc2V0CiBDT05GSUdfSU5PVElGWT15CiBDT05GSUdfSU5PVElGWV9VU0VSPXkKICMgQ09ORklHX1FVT1RBIGlzIG5vdCBzZXQKLUNPTkZJR19ETk9USUZZPXkKICMgQ09ORklHX0FVVE9GU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19BVVRPRlM0X0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZVU0VfRlMgaXMgbm90IHNldApAQCAtMTAzMCwxMSArODgxLDggQEAKICMKICMgRE9TL0ZBVC9OVCBGaWxlc3lzdGVtcwogIwotQ09ORklHX0ZBVF9GUz15Ci1DT05GSUdfTVNET1NfRlM9eQotQ09ORklHX1ZGQVRfRlM9eQotQ09ORklHX0ZBVF9ERUZBVUxUX0NPREVQQUdFPTQzNwotQ09ORklHX0ZBVF9ERUZBVUxUX0lPQ0hBUlNFVD0iaXNvODg1OS0xIgorIyBDT05GSUdfTVNET1NfRlMgaXMgbm90IHNldAorIyBDT05GSUdfVkZBVF9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19OVEZTX0ZTIGlzIG5vdCBzZXQKIAogIwpAQCAtMTA0Niw3ICs4OTQsNiBAQAogQ09ORklHX1RNUEZTPXkKICMgQ09ORklHX1RNUEZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0CiAjIENPTkZJR19IVUdFVExCX1BBR0UgaXMgbm90IHNldAotQ09ORklHX1JBTUZTPXkKICMgQ09ORklHX0NPTkZJR0ZTX0ZTIGlzIG5vdCBzZXQKIAogIwpAQCAtMTA2MiwxMzggKzkwOSw5MyBAQAogQ09ORklHX0pGRlMyX0ZTPXkKIENPTkZJR19KRkZTMl9GU19ERUJVRz0wCiBDT05GSUdfSkZGUzJfRlNfV1JJVEVCVUZGRVI9eQotQ09ORklHX0pGRlMyX1NVTU1BUlk9eQorIyBDT05GSUdfSkZGUzJfRlNfV0JVRl9WRVJJRlkgaXMgbm90IHNldAorIyBDT05GSUdfSkZGUzJfU1VNTUFSWSBpcyBub3Qgc2V0CiAjIENPTkZJR19KRkZTMl9GU19YQVRUUiBpcyBub3Qgc2V0CiAjIENPTkZJR19KRkZTMl9DT01QUkVTU0lPTl9PUFRJT05TIGlzIG5vdCBzZXQKIENPTkZJR19KRkZTMl9aTElCPXkKKyMgQ09ORklHX0pGRlMyX0xaTyBpcyBub3Qgc2V0CiBDT05GSUdfSkZGUzJfUlRJTUU9eQogIyBDT05GSUdfSkZGUzJfUlVCSU4gaXMgbm90IHNldAotIyBDT05GSUdfQ1JBTUZTIGlzIG5vdCBzZXQKK0NPTkZJR19DUkFNRlM9eQogIyBDT05GSUdfVlhGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19NSU5JWF9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19IUEZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1FOWDRGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19ST01GU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TWVNWX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1VGU19GUyBpcyBub3Qgc2V0Ci0KLSMKLSMgTmV0d29yayBGaWxlIFN5c3RlbXMKLSMKK0NPTkZJR19ORVRXT1JLX0ZJTEVTWVNURU1TPXkKIENPTkZJR19ORlNfRlM9eQotQ09ORklHX05GU19WMz15Ci0jIENPTkZJR19ORlNfVjNfQUNMIGlzIG5vdCBzZXQKKyMgQ09ORklHX05GU19WMyBpcyBub3Qgc2V0CiAjIENPTkZJR19ORlNfVjQgaXMgbm90IHNldAotIyBDT05GSUdfTkZTX0RJUkVDVElPIGlzIG5vdCBzZXQKICMgQ09ORklHX05GU0QgaXMgbm90IHNldAogQ09ORklHX1JPT1RfTkZTPXkKIENPTkZJR19MT0NLRD15Ci1DT05GSUdfTE9DS0RfVjQ9eQogQ09ORklHX05GU19DT01NT049eQogQ09ORklHX1NVTlJQQz15CiAjIENPTkZJR19TVU5SUENfQklORDM0IGlzIG5vdCBzZXQKICMgQ09ORklHX1JQQ1NFQ19HU1NfS1JCNSBpcyBub3Qgc2V0CiAjIENPTkZJR19SUENTRUNfR1NTX1NQS00zIGlzIG5vdCBzZXQKLUNPTkZJR19TTUJfRlM9eQotIyBDT05GSUdfU01CX05MU19ERUZBVUxUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NNQl9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19DSUZTIGlzIG5vdCBzZXQKICMgQ09ORklHX05DUF9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19DT0RBX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0FGU19GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR185UF9GUyBpcyBub3Qgc2V0CiAKICMKICMgUGFydGl0aW9uIFR5cGVzCiAjCiAjIENPTkZJR19QQVJUSVRJT05fQURWQU5DRUQgaXMgbm90IHNldAogQ09ORklHX01TRE9TX1BBUlRJVElPTj15Ci0KLSMKLSMgTmF0aXZlIExhbmd1YWdlIFN1cHBvcnQKLSMKLUNPTkZJR19OTFM9eQotQ09ORklHX05MU19ERUZBVUxUPSJpc284ODU5LTEiCi1DT05GSUdfTkxTX0NPREVQQUdFXzQzNz15Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfNzM3IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV83NzUgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfODUyIGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV84NTUgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1NyBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfODYwIGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV84NjEgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2MiBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfODYzIGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV84NjQgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2NSBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfODY2IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV84NjkgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzkzNiBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfOTUwIGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV85MzIgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzk0OSBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfODc0IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19JU084ODU5XzggaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzEyNTAgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzEyNTEgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0FTQ0lJIGlzIG5vdCBzZXQKLUNPTkZJR19OTFNfSVNPODg1OV8xPXkKLSMgQ09ORklHX05MU19JU084ODU5XzIgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0lTTzg4NTlfMyBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfSVNPODg1OV80IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19JU084ODU5XzUgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0lTTzg4NTlfNiBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfSVNPODg1OV83IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19JU084ODU5XzkgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0lTTzg4NTlfMTMgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0lTTzg4NTlfMTQgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0lTTzg4NTlfMTUgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0tPSThfUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfS09JOF9VIGlzIG5vdCBzZXQKLUNPTkZJR19OTFNfVVRGOD15Ci0KLSMKLSMgRGlzdHJpYnV0ZWQgTG9jayBNYW5hZ2VyCi0jCisjIENPTkZJR19OTFMgaXMgbm90IHNldAogIyBDT05GSUdfRExNIGlzIG5vdCBzZXQKIAogIwotIyBQcm9maWxpbmcgc3VwcG9ydAotIwotIyBDT05GSUdfUFJPRklMSU5HIGlzIG5vdCBzZXQKLQotIwogIyBLZXJuZWwgaGFja2luZwogIwotIyBDT05GSUdfUFJJTlRLX1RJTUUgaXMgbm90IHNldAorQ09ORklHX1BSSU5US19USU1FPXkKK0NPTkZJR19FTkFCTEVfV0FSTl9ERVBSRUNBVEVEPXkKIENPTkZJR19FTkFCTEVfTVVTVF9DSEVDSz15Ci1DT05GSUdfTUFHSUNfU1lTUlE9eQorQ09ORklHX0ZSQU1FX1dBUk49MTAyNAorIyBDT05GSUdfTUFHSUNfU1lTUlEgaXMgbm90IHNldAogIyBDT05GSUdfVU5VU0VEX1NZTUJPTFMgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfRlMgaXMgbm90IHNldAogIyBDT05GSUdfSEVBREVSU19DSEVDSyBpcyBub3Qgc2V0CiBDT05GSUdfREVCVUdfS0VSTkVMPXkKICMgQ09ORklHX0RFQlVHX1NISVJRIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFVEVDVF9TT0ZUTE9DS1VQIGlzIG5vdCBzZXQKK0NPTkZJR19ERVRFQ1RfU09GVExPQ0tVUD15CitDT05GSUdfU0NIRURfREVCVUc9eQogIyBDT05GSUdfU0NIRURTVEFUUyBpcyBub3Qgc2V0CiAjIENPTkZJR19USU1FUl9TVEFUUyBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19PQkpFQ1RTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX1NMQUIgaXMgbm90IHNldAorQ09ORklHX0RFQlVHX1BSRUVNUFQ9eQogIyBDT05GSUdfREVCVUdfUlRfTVVURVhFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19SVF9NVVRFWF9URVNURVIgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfU1BJTkxPQ0sgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfTVVURVhFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19MT0NLX0FMTE9DIGlzIG5vdCBzZXQKICMgQ09ORklHX1BST1ZFX0xPQ0tJTkcgaXMgbm90IHNldAorIyBDT05GSUdfTE9DS19TVEFUIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX1NQSU5MT0NLX1NMRUVQIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0xPQ0tJTkdfQVBJX1NFTEZURVNUUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19LT0JKRUNUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFQlVHX0JVR1ZFUkJPU0UgaXMgbm90IHNldAotQ09ORklHX0RFQlVHX0lORk89eQorQ09ORklHX0RFQlVHX0JVR1ZFUkJPU0U9eQorIyBDT05GSUdfREVCVUdfSU5GTyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19WTSBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19XUklURUNPVU5UIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0xJU1QgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfU0cgaXMgbm90IHNldAogQ09ORklHX0ZSQU1FX1BPSU5URVI9eQotQ09ORklHX0ZPUkNFRF9JTkxJTklORz15CisjIENPTkZJR19CT09UX1BSSU5US19ERUxBWSBpcyBub3Qgc2V0CiAjIENPTkZJR19SQ1VfVE9SVFVSRV9URVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JBQ0tUUkFDRV9TRUxGX1RFU1QgaXMgbm90IHNldAogIyBDT05GSUdfRkFVTFRfSU5KRUNUSU9OIGlzIG5vdCBzZXQKLUNPTkZJR19ERUJVR19VU0VSPXkKKyMgQ09ORklHX1NBTVBMRVMgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfVVNFUiBpcyBub3Qgc2V0CiBDT05GSUdfREVCVUdfRVJST1JTPXkKKyMgQ09ORklHX0RFQlVHX1NUQUNLX1VTQUdFIGlzIG5vdCBzZXQKIENPTkZJR19ERUJVR19MTD15CiAjIENPTkZJR19ERUJVR19JQ0VEQ0MgaXMgbm90IHNldAogCkBAIC0xMjAyLDYwICsxMDA0LDkzIEBACiAjCiAjIENPTkZJR19LRVlTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NFQ1VSSVRZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFQ1VSSVRZX0ZJTEVfQ0FQQUJJTElUSUVTIGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE89eQogCiAjCi0jIENyeXB0b2dyYXBoaWMgb3B0aW9ucworIyBDcnlwdG8gY29yZSBvciBoZWxwZXIKICMKLUNPTkZJR19DUllQVE89eQotQ09ORklHX0NSWVBUT19BTEdBUEk9bQotQ09ORklHX0NSWVBUT19CTEtDSVBIRVI9bQotQ09ORklHX0NSWVBUT19NQU5BR0VSPW0KLSMgQ09ORklHX0NSWVBUT19ITUFDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19YQ0JDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19OVUxMIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19NRDQgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX01ENSBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fU0hBMSBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fU0hBMjU2IGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19TSEE1MTIgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1dQNTEyIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19UR1IxOTIgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX01BTkFHRVIgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0dGMTI4TVVMIGlzIG5vdCBzZXQKLUNPTkZJR19DUllQVE9fRUNCPW0KLUNPTkZJR19DUllQVE9fQ0JDPW0KLUNPTkZJR19DUllQVE9fUENCQz1tCi0jIENPTkZJR19DUllQVE9fTFJXIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19OVUxMIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19DUllQVEQgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0RFUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fRkNSWVBUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19CTE9XRklTSCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fVFdPRklTSCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fU0VSUEVOVCBpcyBub3Qgc2V0Ci1DT05GSUdfQ1JZUFRPX0FFUz1tCi0jIENPTkZJR19DUllQVE9fQ0FTVDUgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0NBU1Q2IGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19URUEgaXMgbm90IHNldAotQ09ORklHX0NSWVBUT19BUkM0PW0KLSMgQ09ORklHX0NSWVBUT19LSEFaQUQgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0FOVUJJUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fREVGTEFURSBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fTUlDSEFFTF9NSUMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0NSQzMyQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQ0FNRUxMSUEgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0FVVEhFTkMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1RFU1QgaXMgbm90IHNldAogCiAjCi0jIEhhcmR3YXJlIGNyeXB0byBkZXZpY2VzCisjIEF1dGhlbnRpY2F0ZWQgRW5jcnlwdGlvbiB3aXRoIEFzc29jaWF0ZWQgRGF0YQogIworIyBDT05GSUdfQ1JZUFRPX0NDTSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fR0NNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TRVFJViBpcyBub3Qgc2V0CisKKyMKKyMgQmxvY2sgbW9kZXMKKyMKKyMgQ09ORklHX0NSWVBUT19DQkMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NUUiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ1RTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19FQ0IgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0xSVyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fUENCQyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fWFRTIGlzIG5vdCBzZXQKKworIworIyBIYXNoIG1vZGVzCisjCisjIENPTkZJR19DUllQVE9fSE1BQyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fWENCQyBpcyBub3Qgc2V0CisKKyMKKyMgRGlnZXN0CisjCisjIENPTkZJR19DUllQVE9fQ1JDMzJDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19NRDQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX01ENSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fTUlDSEFFTF9NSUMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NIQTEgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NIQTI1NiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0hBNTEyIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19UR1IxOTIgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1dQNTEyIGlzIG5vdCBzZXQKKworIworIyBDaXBoZXJzCisjCisjIENPTkZJR19DUllQVE9fQUVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19BTlVCSVMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0FSQzQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0JMT1dGSVNIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DQU1FTExJQSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ0FTVDUgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NBU1Q2IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19ERVMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0ZDUllQVCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fS0hBWkFEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TQUxTQTIwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TRUVEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TRVJQRU5UIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19URUEgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1RXT0ZJU0ggaXMgbm90IHNldAorCisjCisjIENvbXByZXNzaW9uCisjCisjIENPTkZJR19DUllQVE9fREVGTEFURSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fTFpPIGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fSFc9eQogCiAjCiAjIExpYnJhcnkgcm91dGluZXMKICMKIENPTkZJR19CSVRSRVZFUlNFPXkKLSMgQ09ORklHX0NSQ19DQ0lUVCBpcyBub3Qgc2V0CisjIENPTkZJR19HRU5FUklDX0ZJTkRfRklSU1RfQklUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0dFTkVSSUNfRklORF9ORVhUX0JJVCBpcyBub3Qgc2V0CitDT05GSUdfQ1JDX0NDSVRUPW0KICMgQ09ORklHX0NSQzE2IGlzIG5vdCBzZXQKICMgQ09ORklHX0NSQ19JVFVfVCBpcyBub3Qgc2V0CiBDT05GSUdfQ1JDMzI9eQorIyBDT05GSUdfQ1JDNyBpcyBub3Qgc2V0CiAjIENPTkZJR19MSUJDUkMzMkMgaXMgbm90IHNldAogQ09ORklHX1pMSUJfSU5GTEFURT15CiBDT05GSUdfWkxJQl9ERUZMQVRFPXkKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvbmV0eF9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL25ldHhfZGVmY29uZmlnCmluZGV4IDU3ZjMyZjMuLjA4ODRmMjMgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvbmV0eF9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9uZXR4X2RlZmNvbmZpZwpAQCAtMTU0LDcgKzE1NCw2IEBACiAjIEtlcm5lbCBGZWF0dXJlcwogIwogQ09ORklHX1BSRUVNUFQ9eQotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiBDT05GSUdfSFo9MTAwCiAjIENPTkZJR19BRUFCSSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9FTkFCTEUgaXMgbm90IHNldApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9vbmVhcm1fZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9vbmVhcm1fZGVmY29uZmlnCmluZGV4IDY1MGEyNDguLjQxOGNhMmYgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3Mvb25lYXJtX2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL29uZWFybV9kZWZjb25maWcKQEAgLTIwMiw3ICsyMDIsNiBAQAogIyBLZXJuZWwgRmVhdHVyZXMKICMKICMgQ09ORklHX1BSRUVNUFQgaXMgbm90IHNldAotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiBDT05GSUdfSFo9MTAwCiAjIENPTkZJR19BRUFCSSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9FTkFCTEUgaXMgbm90IHNldApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9vcmlvbjV4X2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3Mvb3Jpb241eF9kZWZjb25maWcKaW5kZXggNTJjZDk5Yi4uOTU3OGI1ZCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9vcmlvbjV4X2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL29yaW9uNXhfZGVmY29uZmlnCkBAIC0xLDcgKzEsNyBAQAogIwogIyBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBtYWtlIGNvbmZpZzogZG9uJ3QgZWRpdAotIyBMaW51eCBrZXJuZWwgdmVyc2lvbjogMi42LjI0Ci0jIFRodSBGZWIgIDcgMTQ6MTA6MzAgMjAwOAorIyBMaW51eCBrZXJuZWwgdmVyc2lvbjogMi42LjI2LXJjNAorIyBNb24gSnVuICAyIDIzOjU0OjQ4IDIwMDgKICMKIENPTkZJR19BUk09eQogQ09ORklHX1NZU19TVVBQT1JUU19BUE1fRU1VTEFUSU9OPXkKQEAgLTIxLDYgKzIxLDcgQEAKICMgQ09ORklHX0FSQ0hfSEFTX0lMT0cyX1U2NCBpcyBub3Qgc2V0CiBDT05GSUdfR0VORVJJQ19IV0VJR0hUPXkKIENPTkZJR19HRU5FUklDX0NBTElCUkFURV9ERUxBWT15CitDT05GSUdfQVJDSF9TVVBQT1JUU19BT1VUPXkKIENPTkZJR19aT05FX0RNQT15CiBDT05GSUdfVkVDVE9SU19CQVNFPTB4ZmZmZjAwMDAKIENPTkZJR19ERUZDT05GSUdfTElTVD0iL2xpYi9tb2R1bGVzLyRVTkFNRV9SRUxFQVNFLy5jb25maWciCkBAIC00MCwyNCArNDEsMjQgQEAKICMgQ09ORklHX1BPU0lYX01RVUVVRSBpcyBub3Qgc2V0CiAjIENPTkZJR19CU0RfUFJPQ0VTU19BQ0NUIGlzIG5vdCBzZXQKICMgQ09ORklHX1RBU0tTVEFUUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0VSX05TIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BJRF9OUyBpcyBub3Qgc2V0CiAjIENPTkZJR19BVURJVCBpcyBub3Qgc2V0CiAjIENPTkZJR19JS0NPTkZJRyBpcyBub3Qgc2V0CiBDT05GSUdfTE9HX0JVRl9TSElGVD0xNAogIyBDT05GSUdfQ0dST1VQUyBpcyBub3Qgc2V0Ci1DT05GSUdfRkFJUl9HUk9VUF9TQ0hFRD15Ci1DT05GSUdfRkFJUl9VU0VSX1NDSEVEPXkKLSMgQ09ORklHX0ZBSVJfQ0dST1VQX1NDSEVEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0dST1VQX1NDSEVEIGlzIG5vdCBzZXQKIENPTkZJR19TWVNGU19ERVBSRUNBVEVEPXkKK0NPTkZJR19TWVNGU19ERVBSRUNBVEVEX1YyPXkKICMgQ09ORklHX1JFTEFZIGlzIG5vdCBzZXQKKyMgQ09ORklHX05BTUVTUEFDRVMgaXMgbm90IHNldAogIyBDT05GSUdfQkxLX0RFVl9JTklUUkQgaXMgbm90IHNldAogQ09ORklHX0NDX09QVElNSVpFX0ZPUl9TSVpFPXkKIENPTkZJR19TWVNDVEw9eQogQ09ORklHX0VNQkVEREVEPXkKIENPTkZJR19VSUQxNj15CiBDT05GSUdfU1lTQ1RMX1NZU0NBTEw9eQorQ09ORklHX1NZU0NUTF9TWVNDQUxMX0NIRUNLPXkKIENPTkZJR19LQUxMU1lNUz15CitDT05GSUdfS0FMTFNZTVNfQUxMPXkKICMgQ09ORklHX0tBTExTWU1TX0VYVFJBX1BBU1MgaXMgbm90IHNldAogQ09ORklHX0hPVFBMVUc9eQogQ09ORklHX1BSSU5USz15CkBAIC03MywyMCArNzQsMjUgQEAKIENPTkZJR19FVkVOVEZEPXkKIENPTkZJR19TSE1FTT15CiBDT05GSUdfVk1fRVZFTlRfQ09VTlRFUlM9eQotQ09ORklHX1NMQUI9eQotIyBDT05GSUdfU0xVQiBpcyBub3Qgc2V0CisjIENPTkZJR19TTFVCX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NMQUIgaXMgbm90IHNldAorQ09ORklHX1NMVUI9eQogIyBDT05GSUdfU0xPQiBpcyBub3Qgc2V0Ci0jIENPTkZJR19QUk9GSUxJTkcgaXMgbm90IHNldAorQ09ORklHX1BST0ZJTElORz15CiAjIENPTkZJR19NQVJLRVJTIGlzIG5vdCBzZXQKK0NPTkZJR19PUFJPRklMRT15CiBDT05GSUdfSEFWRV9PUFJPRklMRT15Ci0jIENPTkZJR19LUFJPQkVTIGlzIG5vdCBzZXQKK0NPTkZJR19LUFJPQkVTPXkKK0NPTkZJR19LUkVUUFJPQkVTPXkKIENPTkZJR19IQVZFX0tQUk9CRVM9eQorQ09ORklHX0hBVkVfS1JFVFBST0JFUz15CisjIENPTkZJR19IQVZFX0RNQV9BVFRSUyBpcyBub3Qgc2V0CiBDT05GSUdfUFJPQ19QQUdFX01PTklUT1I9eQotQ09ORklHX1NMQUJJTkZPPXkKIENPTkZJR19SVF9NVVRFWEVTPXkKICMgQ09ORklHX1RJTllfU0hNRU0gaXMgbm90IHNldAogQ09ORklHX0JBU0VfU01BTEw9MAogQ09ORklHX01PRFVMRVM9eQorIyBDT05GSUdfTU9EVUxFX0ZPUkNFX0xPQUQgaXMgbm90IHNldAogQ09ORklHX01PRFVMRV9VTkxPQUQ9eQogIyBDT05GSUdfTU9EVUxFX0ZPUkNFX1VOTE9BRCBpcyBub3Qgc2V0CiAjIENPTkZJR19NT0RWRVJTSU9OUyBpcyBub3Qgc2V0CkBAIC0xMTEsNyArMTE3LDYgQEAKICMgQ09ORklHX0RFRkFVTFRfTk9PUCBpcyBub3Qgc2V0CiBDT05GSUdfREVGQVVMVF9JT1NDSEVEPSJjZnEiCiBDT05GSUdfQ0xBU1NJQ19SQ1U9eQotIyBDT05GSUdfUFJFRU1QVF9SQ1UgaXMgbm90IHNldAogCiAjCiAjIFN5c3RlbSBUeXBlCkBAIC0xNjAsNiArMTY1LDE1IEBACiBDT05GSUdfTUFDSF9LVVJPQk9YX1BSTz15CiBDT05GSUdfTUFDSF9ETlMzMjM9eQogQ09ORklHX01BQ0hfVFMyMDk9eQorQ09ORklHX01BQ0hfTElOS1NUQVRJT05fUFJPPXkKK0NPTkZJR19NQUNIX1RTNDA5PXkKK0NPTkZJR19NQUNIX1dSVDM1ME5fVjI9eQorQ09ORklHX01BQ0hfVFM3OFhYPXkKK0NPTkZJR19NQUNIX01WMjEyMD15CitDT05GSUdfTUFDSF9NU1MyPXkKK0NPTkZJR19NQUNIX1dOUjg1NFQ9eQorQ09ORklHX01BQ0hfUkQ4OEY1MTgxTF9HRT15CitDT05GSUdfTUFDSF9SRDg4RjUxODFMX0ZYTz15CiAKICMKICMgQm9vdCBvcHRpb25zCkBAIC0xNjgsNiArMTgyLDcgQEAKICMKICMgUG93ZXIgbWFuYWdlbWVudAogIworQ09ORklHX1BMQVRfT1JJT049eQogCiAjCiAjIFByb2Nlc3NvciBUeXBlCkBAIC0xNzcsOCArMTkyLDkgQEAKIENPTkZJR19DUFVfRkVST0NFT05fT0xEX0lEPXkKIENPTkZJR19DUFVfMzJ2NT15CiBDT05GSUdfQ1BVX0FCUlRfRVY1VD15CitDT05GSUdfQ1BVX1BBQlJUX05PSUZBUj15CiBDT05GSUdfQ1BVX0NBQ0hFX1ZJVlQ9eQotQ09ORklHX0NQVV9DT1BZX1Y0V0I9eQorQ09ORklHX0NQVV9DT1BZX0ZFUk9DRU9OPXkKIENPTkZJR19DUFVfVExCX1Y0V0JJPXkKIENPTkZJR19DUFVfQ1AxNT15CiBDT05GSUdfQ1BVX0NQMTVfTU1VPXkKQEAgLTE4OSw3ICsyMDUsNiBAQAogQ09ORklHX0FSTV9USFVNQj15CiAjIENPTkZJR19DUFVfSUNBQ0hFX0RJU0FCTEUgaXMgbm90IHNldAogIyBDT05GSUdfQ1BVX0RDQUNIRV9ESVNBQkxFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NQVV9EQ0FDSEVfV1JJVEVUSFJPVUdIIGlzIG5vdCBzZXQKICMgQ09ORklHX09VVEVSX0NBQ0hFIGlzIG5vdCBzZXQKIAogIwpAQCAtMTk5LDYgKzIxNCw3IEBACiBDT05GSUdfUENJX1NZU0NBTEw9eQogIyBDT05GSUdfQVJDSF9TVVBQT1JUU19NU0kgaXMgbm90IHNldAogQ09ORklHX1BDSV9MRUdBQ1k9eQorIyBDT05GSUdfUENJX0RFQlVHIGlzIG5vdCBzZXQKICMgQ09ORklHX1BDQ0FSRCBpcyBub3Qgc2V0CiAKICMKQEAgLTIyMSw2ICsyMzcsNyBAQAogQ09ORklHX0ZMQVRfTk9ERV9NRU1fTUFQPXkKICMgQ09ORklHX1NQQVJTRU1FTV9TVEFUSUMgaXMgbm90IHNldAogIyBDT05GSUdfU1BBUlNFTUVNX1ZNRU1NQVBfRU5BQkxFIGlzIG5vdCBzZXQKK0NPTkZJR19QQUdFRkxBR1NfRVhURU5ERUQ9eQogQ09ORklHX1NQTElUX1BUTE9DS19DUFVTPTQwOTYKICMgQ09ORklHX1JFU09VUkNFU182NEJJVCBpcyBub3Qgc2V0CiBDT05GSUdfWk9ORV9ETUFfRkxBRz0xCkBAIC0yMzgsNyArMjU1LDYgQEAKIENPTkZJR19DTURMSU5FPSIiCiAjIENPTkZJR19YSVBfS0VSTkVMIGlzIG5vdCBzZXQKICMgQ09ORklHX0tFWEVDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0FUQUdTX1BST0MgaXMgbm90IHNldAogCiAjCiAjIEZsb2F0aW5nIHBvaW50IGVtdWxhdGlvbgpAQCAtMzExLDggKzMyNyw2IEBACiBDT05GSUdfREVGQVVMVF9UQ1BfQ09ORz0iY3ViaWMiCiAjIENPTkZJR19UQ1BfTUQ1U0lHIGlzIG5vdCBzZXQKICMgQ09ORklHX0lQVjYgaXMgbm90IHNldAotIyBDT05GSUdfSU5FVDZfWEZSTV9UVU5ORUwgaXMgbm90IHNldAotIyBDT05GSUdfSU5FVDZfVFVOTkVMIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVFdPUktfU0VDTUFSSyBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRGSUxURVIgaXMgbm90IHNldAogIyBDT05GSUdfSVBfRENDUCBpcyBub3Qgc2V0CkBAIC0zMzUsNiArMzQ5LDcgQEAKICMgTmV0d29yayB0ZXN0aW5nCiAjCiBDT05GSUdfTkVUX1BLVEdFTj1tCisjIENPTkZJR19ORVRfVENQUFJPQkUgaXMgbm90IHNldAogIyBDT05GSUdfSEFNUkFESU8gaXMgbm90IHNldAogIyBDT05GSUdfQ0FOIGlzIG5vdCBzZXQKICMgQ09ORklHX0lSREEgaXMgbm90IHNldApAQCAtMzYyLDYgKzM3Nyw4IEBACiBDT05GSUdfU1RBTkRBTE9ORT15CiBDT05GSUdfUFJFVkVOVF9GSVJNV0FSRV9CVUlMRD15CiBDT05GSUdfRldfTE9BREVSPXkKKyMgQ09ORklHX0RFQlVHX0RSSVZFUiBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19ERVZSRVMgaXMgbm90IHNldAogIyBDT05GSUdfU1lTX0hZUEVSVklTT1IgaXMgbm90IHNldAogIyBDT05GSUdfQ09OTkVDVE9SIGlzIG5vdCBzZXQKIENPTkZJR19NVEQ9eQpAQCAtMzcxLDYgKzM4OCw3IEBACiAjIENPTkZJR19NVERfUkVEQk9PVF9QQVJUUyBpcyBub3Qgc2V0CiBDT05GSUdfTVREX0NNRExJTkVfUEFSVFM9eQogIyBDT05GSUdfTVREX0FGU19QQVJUUyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQVI3X1BBUlRTIGlzIG5vdCBzZXQKIAogIwogIyBVc2VyIE1vZHVsZXMgQW5kIFRyYW5zbGF0aW9uIExheWVycwpAQCAtMzc4LDkgKzM5Niw4IEBACiBDT05GSUdfTVREX0NIQVI9eQogQ09ORklHX01URF9CTEtERVZTPXkKIENPTkZJR19NVERfQkxPQ0s9eQotQ09ORklHX0ZUTD15Ci1DT05GSUdfTkZUTD15Ci0jIENPTkZJR19ORlRMX1JXIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZUTCBpcyBub3Qgc2V0CisjIENPTkZJR19ORlRMIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORlRMIGlzIG5vdCBzZXQKICMgQ09ORklHX1JGRF9GVEwgaXMgbm90IHNldAogIyBDT05GSUdfU1NGREMgaXMgbm90IHNldApAQCAtNDA1LDEyICs0MjIsMTIgQEAKICMgQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8zMiBpcyBub3Qgc2V0CiBDT05GSUdfTVREX0NGSV9JMT15CiBDT05GSUdfTVREX0NGSV9JMj15Ci1DT05GSUdfTVREX0NGSV9JND15CisjIENPTkZJR19NVERfQ0ZJX0k0IGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9DRklfSTggaXMgbm90IHNldAogIyBDT05GSUdfTVREX09UUCBpcyBub3Qgc2V0CiBDT05GSUdfTVREX0NGSV9JTlRFTEVYVD15CiBDT05GSUdfTVREX0NGSV9BTURTVEQ9eQotQ09ORklHX01URF9DRklfU1RBQT15CisjIENPTkZJR19NVERfQ0ZJX1NUQUEgaXMgbm90IHNldAogQ09ORklHX01URF9DRklfVVRJTD15CiAjIENPTkZJR19NVERfUkFNIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9ST00gaXMgbm90IHNldApAQCAtNDgxLDYgKzQ5OCw5IEBACiAjIENPTkZJR19FRVBST01fOTNDWDYgaXMgbm90IHNldAogIyBDT05GSUdfU0dJX0lPQzQgaXMgbm90IHNldAogIyBDT05GSUdfVElGTV9DT1JFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VOQ0xPU1VSRV9TRVJWSUNFUyBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9JREU9eQorIyBDT05GSUdfSURFIGlzIG5vdCBzZXQKIAogIwogIyBTQ1NJIGRldmljZSBzdXBwb3J0CkBAIC01NDIsNiArNTYyLDcgQEAKICMgQ09ORklHX1NDU0lfSVBTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfSU5JVElPIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfSU5JQTEwMCBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX01WU0FTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfU1RFWCBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1NZTTUzQzhYWF8yIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfSVBSIGlzIG5vdCBzZXQKQEAgLTU1Niw3ICs1NzcsMTAgQEAKICMgQ09ORklHX1NDU0lfU1JQIGlzIG5vdCBzZXQKIENPTkZJR19BVEE9eQogIyBDT05GSUdfQVRBX05PTlNUQU5EQVJEIGlzIG5vdCBzZXQKK0NPTkZJR19TQVRBX1BNUD15CiAjIENPTkZJR19TQVRBX0FIQ0kgaXMgbm90IHNldAorIyBDT05GSUdfU0FUQV9TSUwyNCBpcyBub3Qgc2V0CitDT05GSUdfQVRBX1NGRj15CiAjIENPTkZJR19TQVRBX1NWVyBpcyBub3Qgc2V0CiAjIENPTkZJR19BVEFfUElJWCBpcyBub3Qgc2V0CiBDT05GSUdfU0FUQV9NVj15CkBAIC01NjYsNyArNTkwLDYgQEAKICMgQ09ORklHX1NBVEFfUFJPTUlTRSBpcyBub3Qgc2V0CiAjIENPTkZJR19TQVRBX1NYNCBpcyBub3Qgc2V0CiAjIENPTkZJR19TQVRBX1NJTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQVRBX1NJTDI0IGlzIG5vdCBzZXQKICMgQ09ORklHX1NBVEFfU0lTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NBVEFfVUxJIGlzIG5vdCBzZXQKICMgQ09ORklHX1NBVEFfVklBIGlzIG5vdCBzZXQKQEAgLTYxMSw2ICs2MzQsNyBAQAogIyBDT05GSUdfUEFUQV9WSUEgaXMgbm90IHNldAogIyBDT05GSUdfUEFUQV9XSU5CT05EIGlzIG5vdCBzZXQKICMgQ09ORklHX1BBVEFfUExBVEZPUk0gaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9TQ0ggaXMgbm90IHNldAogIyBDT05GSUdfTUQgaXMgbm90IHNldAogIyBDT05GSUdfRlVTSU9OIGlzIG5vdCBzZXQKIApAQCAtNjUyLDcgKzY3Niw3IEBACiAjIENPTkZJR19CNDQgaXMgbm90IHNldAogIyBDT05GSUdfRk9SQ0VERVRIIGlzIG5vdCBzZXQKICMgQ09ORklHX0VFUFJPMTAwIGlzIG5vdCBzZXQKLUNPTkZJR19FMTAwPXkKKyMgQ09ORklHX0UxMDAgaXMgbm90IHNldAogIyBDT05GSUdfRkVBTE5YIGlzIG5vdCBzZXQKICMgQ09ORklHX05BVFNFTUkgaXMgbm90IHNldAogIyBDT05GSUdfTkUyS19QQ0kgaXMgbm90IHNldApAQCAtNjY4LDkgKzY5Miw3IEBACiBDT05GSUdfTkVUREVWXzEwMDA9eQogIyBDT05GSUdfQUNFTklDIGlzIG5vdCBzZXQKICMgQ09ORklHX0RMMksgaXMgbm90IHNldAotQ09ORklHX0UxMDAwPXkKLUNPTkZJR19FMTAwMF9OQVBJPXkKLSMgQ09ORklHX0UxMDAwX0RJU0FCTEVfUEFDS0VUX1NQTElUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0UxMDAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0UxMDAwRSBpcyBub3Qgc2V0CiAjIENPTkZJR19FMTAwMEVfRU5BQkxFRCBpcyBub3Qgc2V0CiAjIENPTkZJR19JUDEwMDAgaXMgbm90IHNldApAQCAtNjgwLDI3ICs3MDIsMTUgQEAKICMgQ09ORklHX1lFTExPV0ZJTiBpcyBub3Qgc2V0CiAjIENPTkZJR19SODE2OSBpcyBub3Qgc2V0CiAjIENPTkZJR19TSVMxOTAgaXMgbm90IHNldAotQ09ORklHX1NLR0U9eQotQ09ORklHX1NLWTI9eQotIyBDT05GSUdfU0s5OExJTiBpcyBub3Qgc2V0CisjIENPTkZJR19TS0dFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NLWTIgaXMgbm90IHNldAogIyBDT05GSUdfVklBX1ZFTE9DSVRZIGlzIG5vdCBzZXQKLUNPTkZJR19USUdPTjM9eQorIyBDT05GSUdfVElHT04zIGlzIG5vdCBzZXQKICMgQ09ORklHX0JOWDIgaXMgbm90IHNldAogQ09ORklHX01WNjQzWFhfRVRIPXkKICMgQ09ORklHX1FMQTNYWFggaXMgbm90IHNldAogIyBDT05GSUdfQVRMMSBpcyBub3Qgc2V0Ci1DT05GSUdfTkVUREVWXzEwMDAwPXkKLSMgQ09ORklHX0NIRUxTSU9fVDEgaXMgbm90IHNldAotIyBDT05GSUdfQ0hFTFNJT19UMyBpcyBub3Qgc2V0Ci0jIENPTkZJR19JWEdCRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19JWEdCIGlzIG5vdCBzZXQKLSMgQ09ORklHX1MySU8gaXMgbm90IHNldAotIyBDT05GSUdfTVlSSTEwR0UgaXMgbm90IHNldAotIyBDT05GSUdfTkVUWEVOX05JQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19OSVUgaXMgbm90IHNldAotIyBDT05GSUdfTUxYNF9DT1JFIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RFSFVUSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTlgyWCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRERVZfMTAwMDAgaXMgbm90IHNldAogIyBDT05GSUdfVFIgaXMgbm90IHNldAogCiAjCkBAIC03MDgsNiArNzE4LDcgQEAKICMKICMgQ09ORklHX1dMQU5fUFJFODAyMTEgaXMgbm90IHNldAogIyBDT05GSUdfV0xBTl84MDIxMSBpcyBub3Qgc2V0CisjIENPTkZJR19JV0xXSUZJX0xFRFMgaXMgbm90IHNldAogCiAjCiAjIFVTQiBOZXR3b3JrIEFkYXB0ZXJzCkBAIC03MzgsMTIgKzc0OSw5IEBACiAjCiAjIFVzZXJsYW5kIGludGVyZmFjZXMKICMKLUNPTkZJR19JTlBVVF9NT1VTRURFVj15Ci1DT05GSUdfSU5QVVRfTU9VU0VERVZfUFNBVVg9eQotQ09ORklHX0lOUFVUX01PVVNFREVWX1NDUkVFTl9YPTEwMjQKLUNPTkZJR19JTlBVVF9NT1VTRURFVl9TQ1JFRU5fWT03NjgKKyMgQ09ORklHX0lOUFVUX01PVVNFREVWIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX0pPWURFViBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTlBVVF9FVkRFViBpcyBub3Qgc2V0CitDT05GSUdfSU5QVVRfRVZERVY9eQogIyBDT05GSUdfSU5QVVRfRVZCVUcgaXMgbm90IHNldAogCiAjCkBAIC03NjUsMTAgKzc3Myw4IEBACiAjCiAjIENoYXJhY3RlciBkZXZpY2VzCiAjCi1DT05GSUdfVlQ9eQotQ09ORklHX1ZUX0NPTlNPTEU9eQotQ09ORklHX0hXX0NPTlNPTEU9eQotIyBDT05GSUdfVlRfSFdfQ09OU09MRV9CSU5ESU5HIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZUIGlzIG5vdCBzZXQKK0NPTkZJR19ERVZLTUVNPXkKICMgQ09ORklHX1NFUklBTF9OT05TVEFOREFSRCBpcyBub3Qgc2V0CiAjIENPTkZJR19OT1pPTUkgaXMgbm90IHNldAogCkBAIC03NzcsNyArNzgzLDcgQEAKICMKIENPTkZJR19TRVJJQUxfODI1MD15CiBDT05GSUdfU0VSSUFMXzgyNTBfQ09OU09MRT15Ci1DT05GSUdfU0VSSUFMXzgyNTBfUENJPXkKKyMgQ09ORklHX1NFUklBTF84MjUwX1BDSSBpcyBub3Qgc2V0CiBDT05GSUdfU0VSSUFMXzgyNTBfTlJfVUFSVFM9NAogQ09ORklHX1NFUklBTF84MjUwX1JVTlRJTUVfVUFSVFM9MgogIyBDT05GSUdfU0VSSUFMXzgyNTBfRVhURU5ERUQgaXMgbm90IHNldApAQCAtNzkyLDcgKzc5OCw3IEBACiBDT05GSUdfTEVHQUNZX1BUWVM9eQogQ09ORklHX0xFR0FDWV9QVFlfQ09VTlQ9MTYKICMgQ09ORklHX0lQTUlfSEFORExFUiBpcyBub3Qgc2V0Ci1DT05GSUdfSFdfUkFORE9NPW0KKyMgQ09ORklHX0hXX1JBTkRPTSBpcyBub3Qgc2V0CiAjIENPTkZJR19OVlJBTSBpcyBub3Qgc2V0CiAjIENPTkZJR19SMzk2NCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUFBMSUNPTSBpcyBub3Qgc2V0CkBAIC04MDQsMTMgKzgxMCw2IEBACiBDT05GSUdfSTJDX0NIQVJERVY9eQogCiAjCi0jIEkyQyBBbGdvcml0aG1zCi0jCi0jIENPTkZJR19JMkNfQUxHT0JJVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JMkNfQUxHT1BDRiBpcyBub3Qgc2V0Ci0jIENPTkZJR19JMkNfQUxHT1BDQSBpcyBub3Qgc2V0Ci0KLSMKICMgSTJDIEhhcmR3YXJlIEJ1cyBzdXBwb3J0CiAjCiAjIENPTkZJR19JMkNfQUxJMTUzNSBpcyBub3Qgc2V0CkBAIC04MzcsNiArODM2LDcgQEAKICMgQ09ORklHX0kyQ19WSUEgaXMgbm90IHNldAogIyBDT05GSUdfSTJDX1ZJQVBSTyBpcyBub3Qgc2V0CiAjIENPTkZJR19JMkNfVk9PRE9PMyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfUENBX1BMQVRGT1JNIGlzIG5vdCBzZXQKIENPTkZJR19JMkNfTVY2NFhYWD15CiAKICMKQEAgLTg0NywxOSArODQ3LDEzIEBACiAjIENPTkZJR19TRU5TT1JTX1BDRjg1NzQgaXMgbm90IHNldAogIyBDT05GSUdfUENGODU3NSBpcyBub3Qgc2V0CiAjIENPTkZJR19TRU5TT1JTX1BDRjg1OTEgaXMgbm90IHNldAotIyBDT05GSUdfVFBTNjUwMTAgaXMgbm90IHNldAogIyBDT05GSUdfU0VOU09SU19NQVg2ODc1IGlzIG5vdCBzZXQKICMgQ09ORklHX1NFTlNPUlNfVFNMMjU1MCBpcyBub3Qgc2V0CiAjIENPTkZJR19JMkNfREVCVUdfQ09SRSBpcyBub3Qgc2V0CiAjIENPTkZJR19JMkNfREVCVUdfQUxHTyBpcyBub3Qgc2V0CiAjIENPTkZJR19JMkNfREVCVUdfQlVTIGlzIG5vdCBzZXQKICMgQ09ORklHX0kyQ19ERUJVR19DSElQIGlzIG5vdCBzZXQKLQotIwotIyBTUEkgc3VwcG9ydAotIwogIyBDT05GSUdfU1BJIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NQSV9NQVNURVIgaXMgbm90IHNldAogIyBDT05GSUdfVzEgaXMgbm90IHNldAogIyBDT05GSUdfUE9XRVJfU1VQUExZIGlzIG5vdCBzZXQKIENPTkZJR19IV01PTj15CkBAIC04NzIsNiArODY2LDcgQEAKICMgQ09ORklHX1NFTlNPUlNfQURNMTAzMSBpcyBub3Qgc2V0CiAjIENPTkZJR19TRU5TT1JTX0FETTkyNDAgaXMgbm90IHNldAogIyBDT05GSUdfU0VOU09SU19BRFQ3NDcwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfQURUNzQ3MyBpcyBub3Qgc2V0CiAjIENPTkZJR19TRU5TT1JTX0FUWFAxIGlzIG5vdCBzZXQKICMgQ09ORklHX1NFTlNPUlNfRFMxNjIxIGlzIG5vdCBzZXQKICMgQ09ORklHX1NFTlNPUlNfSTVLX0FNQiBpcyBub3Qgc2V0CkBAIC05MDEsNiArODk2LDcgQEAKICMgQ09ORklHX1NFTlNPUlNfU01TQzQ3TTEgaXMgbm90IHNldAogIyBDT05GSUdfU0VOU09SU19TTVNDNDdNMTkyIGlzIG5vdCBzZXQKICMgQ09ORklHX1NFTlNPUlNfU01TQzQ3QjM5NyBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0FEUzc4MjggaXMgbm90IHNldAogIyBDT05GSUdfU0VOU09SU19USE1DNTAgaXMgbm90IHNldAogIyBDT05GSUdfU0VOU09SU19WSUE2ODZBIGlzIG5vdCBzZXQKICMgQ09ORklHX1NFTlNPUlNfVlQxMjExIGlzIG5vdCBzZXQKQEAgLTkxMCw2ICs5MDYsNyBAQAogIyBDT05GSUdfU0VOU09SU19XODM3OTJEIGlzIG5vdCBzZXQKICMgQ09ORklHX1NFTlNPUlNfVzgzNzkzIGlzIG5vdCBzZXQKICMgQ09ORklHX1NFTlNPUlNfVzgzTDc4NVRTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfVzgzTDc4Nk5HIGlzIG5vdCBzZXQKICMgQ09ORklHX1NFTlNPUlNfVzgzNjI3SEYgaXMgbm90IHNldAogIyBDT05GSUdfU0VOU09SU19XODM2MjdFSEYgaXMgbm90IHNldAogIyBDT05GSUdfSFdNT05fREVCVUdfQ0hJUCBpcyBub3Qgc2V0CkBAIC05MjUsMTQgKzkyMiwyNCBAQAogIyBNdWx0aWZ1bmN0aW9uIGRldmljZSBkcml2ZXJzCiAjCiAjIENPTkZJR19NRkRfU001MDEgaXMgbm90IHNldAorIyBDT05GSUdfTUZEX0FTSUMzIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hUQ19QQVNJQzMgaXMgbm90IHNldAogCiAjCiAjIE11bHRpbWVkaWEgZGV2aWNlcwogIworCisjCisjIE11bHRpbWVkaWEgY29yZSBzdXBwb3J0CisjCiAjIENPTkZJR19WSURFT19ERVYgaXMgbm90IHNldAogIyBDT05GSUdfRFZCX0NPUkUgaXMgbm90IHNldAotQ09ORklHX0RBQj15Ci0jIENPTkZJR19VU0JfREFCVVNCIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJREVPX01FRElBIGlzIG5vdCBzZXQKKworIworIyBNdWx0aW1lZGlhIGRyaXZlcnMKKyMKKyMgQ09ORklHX0RBQiBpcyBub3Qgc2V0CiAKICMKICMgR3JhcGhpY3Mgc3VwcG9ydApAQCAtOTQ5LDEyICs5NTYsNiBAQAogIyBDT05GSUdfRElTUExBWV9TVVBQT1JUIGlzIG5vdCBzZXQKIAogIwotIyBDb25zb2xlIGRpc3BsYXkgZHJpdmVyIHN1cHBvcnQKLSMKLSMgQ09ORklHX1ZHQV9DT05TT0xFIGlzIG5vdCBzZXQKLUNPTkZJR19EVU1NWV9DT05TT0xFPXkKLQotIwogIyBTb3VuZAogIwogIyBDT05GSUdfU09VTkQgaXMgbm90IHNldApAQCAtOTg1LDE0ICs5ODYsMTggQEAKIENPTkZJR19VU0JfREVWSUNFX0NMQVNTPXkKICMgQ09ORklHX1VTQl9EWU5BTUlDX01JTk9SUyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfT1RHIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9PVEdfV0hJVEVMSVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9PVEdfQkxBQ0tMSVNUX0hVQiBpcyBub3Qgc2V0CiAKICMKICMgVVNCIEhvc3QgQ29udHJvbGxlciBEcml2ZXJzCiAjCisjIENPTkZJR19VU0JfQzY3WDAwX0hDRCBpcyBub3Qgc2V0CiBDT05GSUdfVVNCX0VIQ0lfSENEPXkKIENPTkZJR19VU0JfRUhDSV9ST09UX0hVQl9UVD15CiBDT05GSUdfVVNCX0VIQ0lfVFRfTkVXU0NIRUQ9eQogIyBDT05GSUdfVVNCX0lTUDExNlhfSENEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9JU1AxNzYwX0hDRCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfT0hDSV9IQ0QgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1VIQ0lfSENEIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TTDgxMV9IQ0QgaXMgbm90IHNldApAQCAtMTAwMyw2ICsxMDA4LDcgQEAKICMKICMgQ09ORklHX1VTQl9BQ00gaXMgbm90IHNldAogQ09ORklHX1VTQl9QUklOVEVSPXkKKyMgQ09ORklHX1VTQl9XRE0gaXMgbm90IHNldAogCiAjCiAjIE5PVEU6IFVTQl9TVE9SQUdFIGVuYWJsZXMgU0NTSSwgYW5kICdTQ1NJIGRpc2sgc3VwcG9ydCcKQEAgLTEwMjIsNyArMTAyOCw5IEBACiBDT05GSUdfVVNCX1NUT1JBR0VfU0REUjU1PXkKIENPTkZJR19VU0JfU1RPUkFHRV9KVU1QU0hPVD15CiAjIENPTkZJR19VU0JfU1RPUkFHRV9BTEFVREEgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NUT1JBR0VfT05FVE9VQ0ggaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfS0FSTUEgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NUT1JBR0VfQ1lQUkVTU19BVEFDQiBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfTElCVVNVQUwgaXMgbm90IHNldAogCiAjCkBAIC0xMDYwLDYgKzEwNjgsNyBAQAogIyBDT05GSUdfVVNCX1RSQU5DRVZJQlJBVE9SIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9JT1dBUlJJT1IgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1RFU1QgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0lTSUdIVEZXIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9HQURHRVQgaXMgbm90IHNldAogIyBDT05GSUdfTU1DIGlzIG5vdCBzZXQKIENPTkZJR19ORVdfTEVEUz15CkBAIC0xMDY4LDcgKzEwNzcsNyBAQAogIwogIyBMRUQgZHJpdmVycwogIwotIyBDT05GSUdfTEVEU19HUElPIGlzIG5vdCBzZXQKK0NPTkZJR19MRURTX0dQSU89eQogCiAjCiAjIExFRCBUcmlnZ2VycwpAQCAtMTA3Niw2ICsxMDg1LDcgQEAKIENPTkZJR19MRURTX1RSSUdHRVJTPXkKIENPTkZJR19MRURTX1RSSUdHRVJfVElNRVI9eQogQ09ORklHX0xFRFNfVFJJR0dFUl9IRUFSVEJFQVQ9eQorQ09ORklHX0xFRFNfVFJJR0dFUl9ERUZBVUxUX09OPXkKIENPTkZJR19SVENfTElCPXkKIENPTkZJR19SVENfQ0xBU1M9eQogQ09ORklHX1JUQ19IQ1RPU1lTPXkKQEAgLTExMDUsNiArMTExNSw3IEBACiAjIENPTkZJR19SVENfRFJWX1BDRjg1ODMgaXMgbm90IHNldAogQ09ORklHX1JUQ19EUlZfTTQxVDgwPXkKICMgQ09ORklHX1JUQ19EUlZfTTQxVDgwX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1MzNTM5MEEgaXMgbm90IHNldAogCiAjCiAjIFNQSSBSVEMgZHJpdmVycwpAQCAtMTEyNSw2ICsxMTM2LDcgQEAKICMKICMgb24tQ1BVIFJUQyBkcml2ZXJzCiAjCisjIENPTkZJR19VSU8gaXMgbm90IHNldAogCiAjCiAjIEZpbGUgc3lzdGVtcwpAQCAtMTE0MCwxNCArMTE1MiwxMSBAQAogIyBDT05GSUdfSkZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0CiAjIENPTkZJR19YRlNfRlMgaXMgbm90IHNldAotIyBDT05GSUdfR0ZTMl9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19PQ0ZTMl9GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NSU5JWF9GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19ST01GU19GUyBpcyBub3Qgc2V0CitDT05GSUdfRE5PVElGWT15CiBDT05GSUdfSU5PVElGWT15CiBDT05GSUdfSU5PVElGWV9VU0VSPXkKICMgQ09ORklHX1FVT1RBIGlzIG5vdCBzZXQKLUNPTkZJR19ETk9USUZZPXkKICMgQ09ORklHX0FVVE9GU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19BVVRPRlM0X0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZVU0VfRlMgaXMgbm90IHNldApAQCAtMTE1NSw4ICsxMTY0LDggQEAKICMKICMgQ0QtUk9NL0RWRCBGaWxlc3lzdGVtcwogIwotQ09ORklHX0lTTzk2NjBfRlM9eQotIyBDT05GSUdfSk9MSUVUIGlzIG5vdCBzZXQKK0NPTkZJR19JU085NjYwX0ZTPW0KK0NPTkZJR19KT0xJRVQ9eQogIyBDT05GSUdfWklTT0ZTIGlzIG5vdCBzZXQKIENPTkZJR19VREZfRlM9bQogQ09ORklHX1VERl9OTFM9eQpAQCAtMTIwNSw4ICsxMjE0LDEwIEBACiAjIENPTkZJR19KRkZTMl9SVUJJTiBpcyBub3Qgc2V0CiBDT05GSUdfQ1JBTUZTPXkKICMgQ09ORklHX1ZYRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfTUlOSVhfRlMgaXMgbm90IHNldAogIyBDT05GSUdfSFBGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19RTlg0RlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfUk9NRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfU1lTVl9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19VRlNfRlMgaXMgbm90IHNldAogQ09ORklHX05FVFdPUktfRklMRVNZU1RFTVM9eQpAQCAtMTIxNCw3ICsxMjI1LDYgQEAKIENPTkZJR19ORlNfVjM9eQogIyBDT05GSUdfTkZTX1YzX0FDTCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORlNfVjQgaXMgbm90IHNldAotIyBDT05GSUdfTkZTX0RJUkVDVElPIGlzIG5vdCBzZXQKICMgQ09ORklHX05GU0QgaXMgbm90IHNldAogQ09ORklHX1JPT1RfTkZTPXkKIENPTkZJR19MT0NLRD15CkBAIC0xMjQxLDE0ICsxMjUxLDEzIEBACiAjIENPTkZJR19NQUNfUEFSVElUSU9OIGlzIG5vdCBzZXQKIENPTkZJR19NU0RPU19QQVJUSVRJT049eQogQ09ORklHX0JTRF9ESVNLTEFCRUw9eQotQ09ORklHX01JTklYX1NVQlBBUlRJVElPTj15Ci1DT05GSUdfU09MQVJJU19YODZfUEFSVElUSU9OPXkKLUNPTkZJR19VTklYV0FSRV9ESVNLTEFCRUw9eQotQ09ORklHX0xETV9QQVJUSVRJT049eQotQ09ORklHX0xETV9ERUJVRz15CisjIENPTkZJR19NSU5JWF9TVUJQQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfU09MQVJJU19YODZfUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VOSVhXQVJFX0RJU0tMQUJFTCBpcyBub3Qgc2V0CisjIENPTkZJR19MRE1fUEFSVElUSU9OIGlzIG5vdCBzZXQKICMgQ09ORklHX1NHSV9QQVJUSVRJT04gaXMgbm90IHNldAogIyBDT05GSUdfVUxUUklYX1BBUlRJVElPTiBpcyBub3Qgc2V0Ci1DT05GSUdfU1VOX1BBUlRJVElPTj15CisjIENPTkZJR19TVU5fUEFSVElUSU9OIGlzIG5vdCBzZXQKICMgQ09ORklHX0tBUk1BX1BBUlRJVElPTiBpcyBub3Qgc2V0CiAjIENPTkZJR19FRklfUEFSVElUSU9OIGlzIG5vdCBzZXQKICMgQ09ORklHX1NZU1Y2OF9QQVJUSVRJT04gaXMgbm90IHNldApAQCAtMTMwMCwxNSArMTMwOSw0OCBAQAogIyBDT05GSUdfUFJJTlRLX1RJTUUgaXMgbm90IHNldAogQ09ORklHX0VOQUJMRV9XQVJOX0RFUFJFQ0FURUQ9eQogQ09ORklHX0VOQUJMRV9NVVNUX0NIRUNLPXkKLSMgQ09ORklHX01BR0lDX1NZU1JRIGlzIG5vdCBzZXQKK0NPTkZJR19GUkFNRV9XQVJOPTEwMjQKK0NPTkZJR19NQUdJQ19TWVNSUT15CiAjIENPTkZJR19VTlVTRURfU1lNQk9MUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19IRUFERVJTX0NIRUNLIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFQlVHX0tFUk5FTCBpcyBub3Qgc2V0CitDT05GSUdfREVCVUdfS0VSTkVMPXkKKyMgQ09ORklHX0RFQlVHX1NISVJRIGlzIG5vdCBzZXQKK0NPTkZJR19ERVRFQ1RfU09GVExPQ0tVUD15CitDT05GSUdfU0NIRURfREVCVUc9eQorQ09ORklHX1NDSEVEU1RBVFM9eQorIyBDT05GSUdfVElNRVJfU1RBVFMgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfT0JKRUNUUyBpcyBub3Qgc2V0CitDT05GSUdfREVCVUdfUFJFRU1QVD15CisjIENPTkZJR19ERUJVR19SVF9NVVRFWEVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUX01VVEVYX1RFU1RFUiBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19TUElOTE9DSyBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19NVVRFWEVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX0xPQ0tfQUxMT0MgaXMgbm90IHNldAorIyBDT05GSUdfUFJPVkVfTE9DS0lORyBpcyBub3Qgc2V0CisjIENPTkZJR19MT0NLX1NUQVQgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfU1BJTkxPQ0tfU0xFRVAgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfTE9DS0lOR19BUElfU0VMRlRFU1RTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX0tPQkpFQ1QgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfQlVHVkVSQk9TRSBpcyBub3Qgc2V0CitDT05GSUdfREVCVUdfSU5GTz15CisjIENPTkZJR19ERUJVR19WTSBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19XUklURUNPVU5UIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX0xJU1QgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfU0cgaXMgbm90IHNldAogQ09ORklHX0ZSQU1FX1BPSU5URVI9eQorIyBDT05GSUdfQk9PVF9QUklOVEtfREVMQVkgaXMgbm90IHNldAorIyBDT05GSUdfUkNVX1RPUlRVUkVfVEVTVCBpcyBub3Qgc2V0CisjIENPTkZJR19LUFJPQkVTX1NBTklUWV9URVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JBQ0tUUkFDRV9TRUxGX1RFU1QgaXMgbm90IHNldAorIyBDT05GSUdfTEtEVE0gaXMgbm90IHNldAorIyBDT05GSUdfRkFVTFRfSU5KRUNUSU9OIGlzIG5vdCBzZXQKICMgQ09ORklHX1NBTVBMRVMgaXMgbm90IHNldAogQ09ORklHX0RFQlVHX1VTRVI9eQorQ09ORklHX0RFQlVHX0VSUk9SUz15CisjIENPTkZJR19ERUJVR19TVEFDS19VU0FHRSBpcyBub3Qgc2V0CitDT05GSUdfREVCVUdfTEw9eQorIyBDT05GSUdfREVCVUdfSUNFRENDIGlzIG5vdCBzZXQKIAogIwogIyBTZWN1cml0eSBvcHRpb25zCkBAIC0xMzE3LDUwICsxMzU5LDc5IEBACiAjIENPTkZJR19TRUNVUklUWSBpcyBub3Qgc2V0CiAjIENPTkZJR19TRUNVUklUWV9GSUxFX0NBUEFCSUxJVElFUyBpcyBub3Qgc2V0CiBDT05GSUdfQ1JZUFRPPXkKKworIworIyBDcnlwdG8gY29yZSBvciBoZWxwZXIKKyMKIENPTkZJR19DUllQVE9fQUxHQVBJPW0KIENPTkZJR19DUllQVE9fQkxLQ0lQSEVSPW0KLSMgQ09ORklHX0NSWVBUT19TRVFJViBpcyBub3Qgc2V0CiBDT05GSUdfQ1JZUFRPX01BTkFHRVI9bQorIyBDT05GSUdfQ1JZUFRPX0dGMTI4TVVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19OVUxMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DUllQVEQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0FVVEhFTkMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1RFU1QgaXMgbm90IHNldAorCisjCisjIEF1dGhlbnRpY2F0ZWQgRW5jcnlwdGlvbiB3aXRoIEFzc29jaWF0ZWQgRGF0YQorIworIyBDT05GSUdfQ1JZUFRPX0NDTSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fR0NNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TRVFJViBpcyBub3Qgc2V0CisKKyMKKyMgQmxvY2sgbW9kZXMKKyMKK0NPTkZJR19DUllQVE9fQ0JDPW0KKyMgQ09ORklHX0NSWVBUT19DVFIgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NUUyBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX0VDQj1tCisjIENPTkZJR19DUllQVE9fTFJXIGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fUENCQz1tCisjIENPTkZJR19DUllQVE9fWFRTIGlzIG5vdCBzZXQKKworIworIyBIYXNoIG1vZGVzCisjCiAjIENPTkZJR19DUllQVE9fSE1BQyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fWENCQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fTlVMTCBpcyBub3Qgc2V0CisKKyMKKyMgRGlnZXN0CisjCisjIENPTkZJR19DUllQVE9fQ1JDMzJDIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19NRDQgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX01ENSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fTUlDSEFFTF9NSUMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1NIQTEgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1NIQTI1NiBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fU0hBNTEyIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19XUDUxMiBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fVEdSMTkyIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19HRjEyOE1VTCBpcyBub3Qgc2V0Ci1DT05GSUdfQ1JZUFRPX0VDQj1tCi1DT05GSUdfQ1JZUFRPX0NCQz1tCi1DT05GSUdfQ1JZUFRPX1BDQkM9bQotIyBDT05GSUdfQ1JZUFRPX0xSVyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fWFRTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19DVFIgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0dDTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQ0NNIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19DUllQVEQgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0RFUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fRkNSWVBUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19CTE9XRklTSCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fVFdPRklTSCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fU0VSUEVOVCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fV1A1MTIgaXMgbm90IHNldAorCisjCisjIENpcGhlcnMKKyMKICMgQ09ORklHX0NSWVBUT19BRVMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0FOVUJJUyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQVJDNCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQkxPV0ZJU0ggaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NBTUVMTElBIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19DQVNUNSBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fQ0FTVDYgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1RFQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQVJDNCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fREVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19GQ1JZUFQgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0tIQVpBRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQU5VQklTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19TRUVEIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19TQUxTQTIwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TRUVEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TRVJQRU5UIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19URUEgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1RXT0ZJU0ggaXMgbm90IHNldAorCisjCisjIENvbXByZXNzaW9uCisjCiAjIENPTkZJR19DUllQVE9fREVGTEFURSBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fTUlDSEFFTF9NSUMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0NSQzMyQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQ0FNRUxMSUEgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1RFU1QgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0FVVEhFTkMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0xaTyBpcyBub3Qgc2V0CiBDT05GSUdfQ1JZUFRPX0hXPXkKICMgQ09ORklHX0NSWVBUT19ERVZfSElGTl83OTVYIGlzIG5vdCBzZXQKQEAgLTEzNjksMTIgKzE0NDAsMTQgQEAKICMgTGlicmFyeSByb3V0aW5lcwogIwogQ09ORklHX0JJVFJFVkVSU0U9eQotQ09ORklHX0NSQ19DQ0lUVD15Ci1DT05GSUdfQ1JDMTY9eQotIyBDT05GSUdfQ1JDX0lUVV9UIGlzIG5vdCBzZXQKKyMgQ09ORklHX0dFTkVSSUNfRklORF9GSVJTVF9CSVQgaXMgbm90IHNldAorIyBDT05GSUdfR0VORVJJQ19GSU5EX05FWFRfQklUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSQ19DQ0lUVCBpcyBub3Qgc2V0CisjIENPTkZJR19DUkMxNiBpcyBub3Qgc2V0CitDT05GSUdfQ1JDX0lUVV9UPW0KIENPTkZJR19DUkMzMj15CiAjIENPTkZJR19DUkM3IGlzIG5vdCBzZXQKLUNPTkZJR19MSUJDUkMzMkM9eQorIyBDT05GSUdfTElCQ1JDMzJDIGlzIG5vdCBzZXQKIENPTkZJR19aTElCX0lORkxBVEU9eQogQ09ORklHX1pMSUJfREVGTEFURT15CiBDT05GSUdfUExJU1Q9eQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9wY20wMzdfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9wY20wMzdfZGVmY29uZmlnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYyNzQ3NDUKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9jb25maWdzL3BjbTAzN19kZWZjb25maWcKQEAgLTAsMCArMSw3NDggQEAKKyMKKyMgQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgbWFrZSBjb25maWc6IGRvbid0IGVkaXQKKyMgTGludXgga2VybmVsIHZlcnNpb246IDIuNi4yNi1yYzYKKyMgV2VkIEp1biAyNSAxMTo1Mjo0MiAyMDA4CisjCitDT05GSUdfQVJNPXkKK0NPTkZJR19TWVNfU1VQUE9SVFNfQVBNX0VNVUxBVElPTj15CitDT05GSUdfR0VORVJJQ19HUElPPXkKK0NPTkZJR19HRU5FUklDX1RJTUU9eQorQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFM9eQorQ09ORklHX01NVT15CisjIENPTkZJR19OT19JT1BPUlQgaXMgbm90IHNldAorQ09ORklHX0dFTkVSSUNfSEFSRElSUVM9eQorQ09ORklHX1NUQUNLVFJBQ0VfU1VQUE9SVD15CitDT05GSUdfTE9DS0RFUF9TVVBQT1JUPXkKK0NPTkZJR19UUkFDRV9JUlFGTEFHU19TVVBQT1JUPXkKK0NPTkZJR19IQVJESVJRU19TV19SRVNFTkQ9eQorQ09ORklHX0dFTkVSSUNfSVJRX1BST0JFPXkKK0NPTkZJR19SV1NFTV9HRU5FUklDX1NQSU5MT0NLPXkKKyMgQ09ORklHX0FSQ0hfSEFTX0lMT0cyX1UzMiBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0hBU19JTE9HMl9VNjQgaXMgbm90IHNldAorQ09ORklHX0dFTkVSSUNfSFdFSUdIVD15CitDT05GSUdfR0VORVJJQ19DQUxJQlJBVEVfREVMQVk9eQorQ09ORklHX0FSQ0hfU1VQUE9SVFNfQU9VVD15CitDT05GSUdfWk9ORV9ETUE9eQorQ09ORklHX0FSQ0hfTVREX1hJUD15CitDT05GSUdfVkVDVE9SU19CQVNFPTB4ZmZmZjAwMDAKK0NPTkZJR19ERUZDT05GSUdfTElTVD0iL2xpYi9tb2R1bGVzLyRVTkFNRV9SRUxFQVNFLy5jb25maWciCisKKyMKKyMgR2VuZXJhbCBzZXR1cAorIworQ09ORklHX0VYUEVSSU1FTlRBTD15CitDT05GSUdfQlJPS0VOX09OX1NNUD15CitDT05GSUdfTE9DS19LRVJORUw9eQorQ09ORklHX0lOSVRfRU5WX0FSR19MSU1JVD0zMgorQ09ORklHX0xPQ0FMVkVSU0lPTj0iIgorQ09ORklHX0xPQ0FMVkVSU0lPTl9BVVRPPXkKK0NPTkZJR19TV0FQPXkKK0NPTkZJR19TWVNWSVBDPXkKK0NPTkZJR19TWVNWSVBDX1NZU0NUTD15CisjIENPTkZJR19QT1NJWF9NUVVFVUUgaXMgbm90IHNldAorIyBDT05GSUdfQlNEX1BST0NFU1NfQUNDVCBpcyBub3Qgc2V0CisjIENPTkZJR19UQVNLU1RBVFMgaXMgbm90IHNldAorIyBDT05GSUdfQVVESVQgaXMgbm90IHNldAorQ09ORklHX0lLQ09ORklHPXkKK0NPTkZJR19JS0NPTkZJR19QUk9DPXkKK0NPTkZJR19MT0dfQlVGX1NISUZUPTE0CisjIENPTkZJR19DR1JPVVBTIGlzIG5vdCBzZXQKK0NPTkZJR19HUk9VUF9TQ0hFRD15CitDT05GSUdfRkFJUl9HUk9VUF9TQ0hFRD15CisjIENPTkZJR19SVF9HUk9VUF9TQ0hFRCBpcyBub3Qgc2V0CitDT05GSUdfVVNFUl9TQ0hFRD15CisjIENPTkZJR19DR1JPVVBfU0NIRUQgaXMgbm90IHNldAorQ09ORklHX1NZU0ZTX0RFUFJFQ0FURUQ9eQorQ09ORklHX1NZU0ZTX0RFUFJFQ0FURURfVjI9eQorIyBDT05GSUdfUkVMQVkgaXMgbm90IHNldAorIyBDT05GSUdfTkFNRVNQQUNFUyBpcyBub3Qgc2V0CisjIENPTkZJR19CTEtfREVWX0lOSVRSRCBpcyBub3Qgc2V0CitDT05GSUdfQ0NfT1BUSU1JWkVfRk9SX1NJWkU9eQorQ09ORklHX1NZU0NUTD15CitDT05GSUdfRU1CRURERUQ9eQorQ09ORklHX1VJRDE2PXkKK0NPTkZJR19TWVNDVExfU1lTQ0FMTD15CitDT05GSUdfU1lTQ1RMX1NZU0NBTExfQ0hFQ0s9eQorQ09ORklHX0tBTExTWU1TPXkKKyMgQ09ORklHX0tBTExTWU1TX0VYVFJBX1BBU1MgaXMgbm90IHNldAorQ09ORklHX0hPVFBMVUc9eQorQ09ORklHX1BSSU5USz15CitDT05GSUdfQlVHPXkKK0NPTkZJR19FTEZfQ09SRT15CitDT05GSUdfQ09NUEFUX0JSSz15CitDT05GSUdfQkFTRV9GVUxMPXkKK0NPTkZJR19GVVRFWD15CitDT05GSUdfQU5PTl9JTk9ERVM9eQorQ09ORklHX0VQT0xMPXkKK0NPTkZJR19TSUdOQUxGRD15CitDT05GSUdfVElNRVJGRD15CitDT05GSUdfRVZFTlRGRD15CitDT05GSUdfU0hNRU09eQorQ09ORklHX1ZNX0VWRU5UX0NPVU5URVJTPXkKK0NPTkZJR19TTEFCPXkKKyMgQ09ORklHX1NMVUIgaXMgbm90IHNldAorIyBDT05GSUdfU0xPQiBpcyBub3Qgc2V0CisjIENPTkZJR19QUk9GSUxJTkcgaXMgbm90IHNldAorIyBDT05GSUdfTUFSS0VSUyBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9PUFJPRklMRT15CisjIENPTkZJR19LUFJPQkVTIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX0tQUk9CRVM9eQorQ09ORklHX0hBVkVfS1JFVFBST0JFUz15CisjIENPTkZJR19IQVZFX0RNQV9BVFRSUyBpcyBub3Qgc2V0CitDT05GSUdfUFJPQ19QQUdFX01PTklUT1I9eQorQ09ORklHX1NMQUJJTkZPPXkKK0NPTkZJR19SVF9NVVRFWEVTPXkKKyMgQ09ORklHX1RJTllfU0hNRU0gaXMgbm90IHNldAorQ09ORklHX0JBU0VfU01BTEw9MAorQ09ORklHX01PRFVMRVM9eQorIyBDT05GSUdfTU9EVUxFX0ZPUkNFX0xPQUQgaXMgbm90IHNldAorQ09ORklHX01PRFVMRV9VTkxPQUQ9eQorQ09ORklHX01PRFVMRV9GT1JDRV9VTkxPQUQ9eQorQ09ORklHX01PRFZFUlNJT05TPXkKKyMgQ09ORklHX01PRFVMRV9TUkNWRVJTSU9OX0FMTCBpcyBub3Qgc2V0CitDT05GSUdfS01PRD15CitDT05GSUdfQkxPQ0s9eQorIyBDT05GSUdfTEJEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JMS19ERVZfSU9fVFJBQ0UgaXMgbm90IHNldAorIyBDT05GSUdfTFNGIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JMS19ERVZfQlNHIGlzIG5vdCBzZXQKKworIworIyBJTyBTY2hlZHVsZXJzCisjCitDT05GSUdfSU9TQ0hFRF9OT09QPXkKK0NPTkZJR19JT1NDSEVEX0FTPXkKK0NPTkZJR19JT1NDSEVEX0RFQURMSU5FPXkKK0NPTkZJR19JT1NDSEVEX0NGUT15CisjIENPTkZJR19ERUZBVUxUX0FTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFRkFVTFRfREVBRExJTkUgaXMgbm90IHNldAorQ09ORklHX0RFRkFVTFRfQ0ZRPXkKKyMgQ09ORklHX0RFRkFVTFRfTk9PUCBpcyBub3Qgc2V0CitDT05GSUdfREVGQVVMVF9JT1NDSEVEPSJjZnEiCitDT05GSUdfQ0xBU1NJQ19SQ1U9eQorCisjCisjIFN5c3RlbSBUeXBlCisjCisjIENPTkZJR19BUkNIX0FBRUMyMDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSU5URUdSQVRPUiBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1JFQUxWSUVXIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfVkVSU0FUSUxFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfQVQ5MSBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0NMUFM3NTAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfQ0xQUzcxMVggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9DTzI4NSBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0VCU0ExMTAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9FUDkzWFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9GT09UQlJJREdFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfTkVUWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0g3MjBYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSU1YIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSU9QMTNYWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0lPUDMyWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0lPUDMzWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0lYUDIzWFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9JWFAyMDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSVhQNFhYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfTDcyMDAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9LUzg2OTUgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9OUzlYWFggaXMgbm90IHNldAorQ09ORklHX0FSQ0hfTVhDPXkKKyMgQ09ORklHX0FSQ0hfT1JJT041WCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1BOWDQwMDggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9QWEEgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9SUEMgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9TQTExMDAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9TM0MyNDEwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfU0hBUksgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9MSDdBNDBYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfREFWSU5DSSBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX09NQVAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9NU003WDAwQSBpcyBub3Qgc2V0CisKKyMKKyMgQm9vdCBvcHRpb25zCisjCisKKyMKKyMgUG93ZXIgbWFuYWdlbWVudAorIworCisjCisjIEZyZWVzY2FsZSBNWEMgSW1wbGVtZW50YXRpb25zCisjCitDT05GSUdfQVJDSF9NWDM9eQorCisjCisjIE1YMyBPcHRpb25zCisjCisjIENPTkZJR19NQUNIX01YMzFBRFMgaXMgbm90IHNldAorQ09ORklHX01BQ0hfUENNMDM3PXkKKworIworIyBQcm9jZXNzb3IgVHlwZQorIworQ09ORklHX0NQVV8zMj15CitDT05GSUdfQ1BVX1Y2PXkKKyMgQ09ORklHX0NQVV8zMnY2SyBpcyBub3Qgc2V0CitDT05GSUdfQ1BVXzMydjY9eQorQ09ORklHX0NQVV9BQlJUX0VWNj15CitDT05GSUdfQ1BVX1BBQlJUX05PSUZBUj15CitDT05GSUdfQ1BVX0NBQ0hFX1Y2PXkKK0NPTkZJR19DUFVfQ0FDSEVfVklQVD15CitDT05GSUdfQ1BVX0NPUFlfVjY9eQorQ09ORklHX0NQVV9UTEJfVjY9eQorQ09ORklHX0NQVV9IQVNfQVNJRD15CitDT05GSUdfQ1BVX0NQMTU9eQorQ09ORklHX0NQVV9DUDE1X01NVT15CisKKyMKKyMgUHJvY2Vzc29yIEZlYXR1cmVzCisjCitDT05GSUdfQVJNX1RIVU1CPXkKKyMgQ09ORklHX0NQVV9JQ0FDSEVfRElTQUJMRSBpcyBub3Qgc2V0CisjIENPTkZJR19DUFVfRENBQ0hFX0RJU0FCTEUgaXMgbm90IHNldAorIyBDT05GSUdfQ1BVX0JQUkVESUNUX0RJU0FCTEUgaXMgbm90IHNldAorIyBDT05GSUdfT1VURVJfQ0FDSEUgaXMgbm90IHNldAorCisjCisjIEJ1cyBzdXBwb3J0CisjCisjIENPTkZJR19QQ0lfU1lTQ0FMTCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1NVUFBPUlRTX01TSSBpcyBub3Qgc2V0CisjIENPTkZJR19QQ0NBUkQgaXMgbm90IHNldAorCisjCisjIEtlcm5lbCBGZWF0dXJlcworIworQ09ORklHX1RJQ0tfT05FU0hPVD15CitDT05GSUdfTk9fSFo9eQorQ09ORklHX0hJR0hfUkVTX1RJTUVSUz15CitDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UU19CVUlMRD15CitDT05GSUdfUFJFRU1QVD15CitDT05GSUdfSFo9MTAwCitDT05GSUdfQUVBQkk9eQorIyBDT05GSUdfT0FCSV9DT01QQVQgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKK0NPTkZJR19TRUxFQ1RfTUVNT1JZX01PREVMPXkKK0NPTkZJR19GTEFUTUVNX01BTlVBTD15CisjIENPTkZJR19ESVNDT05USUdNRU1fTUFOVUFMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQQVJTRU1FTV9NQU5VQUwgaXMgbm90IHNldAorQ09ORklHX0ZMQVRNRU09eQorQ09ORklHX0ZMQVRfTk9ERV9NRU1fTUFQPXkKKyMgQ09ORklHX1NQQVJTRU1FTV9TVEFUSUMgaXMgbm90IHNldAorIyBDT05GSUdfU1BBUlNFTUVNX1ZNRU1NQVBfRU5BQkxFIGlzIG5vdCBzZXQKK0NPTkZJR19QQUdFRkxBR1NfRVhURU5ERUQ9eQorQ09ORklHX1NQTElUX1BUTE9DS19DUFVTPTQKKyMgQ09ORklHX1JFU09VUkNFU182NEJJVCBpcyBub3Qgc2V0CitDT05GSUdfWk9ORV9ETUFfRkxBRz0xCitDT05GSUdfQk9VTkNFPXkKK0NPTkZJR19WSVJUX1RPX0JVUz15CitDT05GSUdfQUxJR05NRU5UX1RSQVA9eQorCisjCisjIEJvb3Qgb3B0aW9ucworIworQ09ORklHX1pCT09UX1JPTV9URVhUPTB4MAorQ09ORklHX1pCT09UX1JPTV9CU1M9MHgwCitDT05GSUdfQ01ETElORT0ibm9pbml0cmQgY29uc29sZT10dHlteGMwLDExNTIwMCByb290PS9kZXYvbXRkYmxvY2syIHJ3IGlwPW9mZiIKKyMgQ09ORklHX1hJUF9LRVJORUwgaXMgbm90IHNldAorIyBDT05GSUdfS0VYRUMgaXMgbm90IHNldAorCisjCisjIEZsb2F0aW5nIHBvaW50IGVtdWxhdGlvbgorIworCisjCisjIEF0IGxlYXN0IG9uZSBlbXVsYXRpb24gbXVzdCBiZSBzZWxlY3RlZAorIworQ09ORklHX1ZGUD15CisKKyMKKyMgVXNlcnNwYWNlIGJpbmFyeSBmb3JtYXRzCisjCitDT05GSUdfQklORk1UX0VMRj15CisjIENPTkZJR19CSU5GTVRfQU9VVCBpcyBub3Qgc2V0CisjIENPTkZJR19CSU5GTVRfTUlTQyBpcyBub3Qgc2V0CisKKyMKKyMgUG93ZXIgbWFuYWdlbWVudCBvcHRpb25zCisjCisjIENPTkZJR19QTSBpcyBub3Qgc2V0CitDT05GSUdfQVJDSF9TVVNQRU5EX1BPU1NJQkxFPXkKKworIworIyBOZXR3b3JraW5nCisjCitDT05GSUdfTkVUPXkKKworIworIyBOZXR3b3JraW5nIG9wdGlvbnMKKyMKK0NPTkZJR19QQUNLRVQ9eQorIyBDT05GSUdfUEFDS0VUX01NQVAgaXMgbm90IHNldAorQ09ORklHX1VOSVg9eQorIyBDT05GSUdfTkVUX0tFWSBpcyBub3Qgc2V0CitDT05GSUdfSU5FVD15CisjIENPTkZJR19JUF9NVUxUSUNBU1QgaXMgbm90IHNldAorIyBDT05GSUdfSVBfQURWQU5DRURfUk9VVEVSIGlzIG5vdCBzZXQKK0NPTkZJR19JUF9GSUJfSEFTSD15CitDT05GSUdfSVBfUE5QPXkKK0NPTkZJR19JUF9QTlBfREhDUD15CisjIENPTkZJR19JUF9QTlBfQk9PVFAgaXMgbm90IHNldAorIyBDT05GSUdfSVBfUE5QX1JBUlAgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0lQSVAgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0lQR1JFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSUEQgaXMgbm90IHNldAorIyBDT05GSUdfU1lOX0NPT0tJRVMgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9BSCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX0VTUCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX0lQQ09NUCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX1hGUk1fVFVOTkVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfVFVOTkVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfWEZSTV9NT0RFX1RSQU5TUE9SVCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX1hGUk1fTU9ERV9UVU5ORUwgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9YRlJNX01PREVfQkVFVCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX0xSTyBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX0RJQUcgaXMgbm90IHNldAorIyBDT05GSUdfVENQX0NPTkdfQURWQU5DRUQgaXMgbm90IHNldAorQ09ORklHX1RDUF9DT05HX0NVQklDPXkKK0NPTkZJR19ERUZBVUxUX1RDUF9DT05HPSJjdWJpYyIKKyMgQ09ORklHX1RDUF9NRDVTSUcgaXMgbm90IHNldAorIyBDT05GSUdfSVBWNiBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRXT1JLX1NFQ01BUksgaXMgbm90IHNldAorIyBDT05GSUdfTkVURklMVEVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQX0RDQ1AgaXMgbm90IHNldAorIyBDT05GSUdfSVBfU0NUUCBpcyBub3Qgc2V0CisjIENPTkZJR19USVBDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUTSBpcyBub3Qgc2V0CisjIENPTkZJR19CUklER0UgaXMgbm90IHNldAorIyBDT05GSUdfVkxBTl84MDIxUSBpcyBub3Qgc2V0CisjIENPTkZJR19ERUNORVQgaXMgbm90IHNldAorIyBDT05GSUdfTExDMiBpcyBub3Qgc2V0CisjIENPTkZJR19JUFggaXMgbm90IHNldAorIyBDT05GSUdfQVRBTEsgaXMgbm90IHNldAorIyBDT05GSUdfWDI1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0xBUEIgaXMgbm90IHNldAorIyBDT05GSUdfRUNPTkVUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1dBTl9ST1VURVIgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX1NDSEVEIGlzIG5vdCBzZXQKKworIworIyBOZXR3b3JrIHRlc3RpbmcKKyMKKyMgQ09ORklHX05FVF9QS1RHRU4gaXMgbm90IHNldAorIyBDT05GSUdfSEFNUkFESU8gaXMgbm90IHNldAorIyBDT05GSUdfQ0FOIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lSREEgaXMgbm90IHNldAorIyBDT05GSUdfQlQgaXMgbm90IHNldAorIyBDT05GSUdfQUZfUlhSUEMgaXMgbm90IHNldAorCisjCisjIFdpcmVsZXNzCisjCisjIENPTkZJR19DRkc4MDIxMSBpcyBub3Qgc2V0CisjIENPTkZJR19XSVJFTEVTU19FWFQgaXMgbm90IHNldAorIyBDT05GSUdfTUFDODAyMTEgaXMgbm90IHNldAorIyBDT05GSUdfSUVFRTgwMjExIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JGS0lMTCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfOVAgaXMgbm90IHNldAorCisjCisjIERldmljZSBEcml2ZXJzCisjCisKKyMKKyMgR2VuZXJpYyBEcml2ZXIgT3B0aW9ucworIworQ09ORklHX1VFVkVOVF9IRUxQRVJfUEFUSD0iL3NiaW4vaG90cGx1ZyIKK0NPTkZJR19TVEFOREFMT05FPXkKK0NPTkZJR19QUkVWRU5UX0ZJUk1XQVJFX0JVSUxEPXkKK0NPTkZJR19GV19MT0FERVI9bQorIyBDT05GSUdfU1lTX0hZUEVSVklTT1IgaXMgbm90IHNldAorIyBDT05GSUdfQ09OTkVDVE9SIGlzIG5vdCBzZXQKK0NPTkZJR19NVEQ9eQorIyBDT05GSUdfTVREX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9DT05DQVQgaXMgbm90IHNldAorQ09ORklHX01URF9QQVJUSVRJT05TPXkKKyMgQ09ORklHX01URF9SRURCT09UX1BBUlRTIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ01ETElORV9QQVJUUz15CisjIENPTkZJR19NVERfQUZTX1BBUlRTIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9BUjdfUEFSVFMgaXMgbm90IHNldAorCisjCisjIFVzZXIgTW9kdWxlcyBBbmQgVHJhbnNsYXRpb24gTGF5ZXJzCisjCitDT05GSUdfTVREX0NIQVI9eQorQ09ORklHX01URF9CTEtERVZTPXkKK0NPTkZJR19NVERfQkxPQ0s9eQorIyBDT05GSUdfRlRMIGlzIG5vdCBzZXQKKyMgQ09ORklHX05GVEwgaXMgbm90IHNldAorIyBDT05GSUdfSU5GVEwgaXMgbm90IHNldAorIyBDT05GSUdfUkZEX0ZUTCBpcyBub3Qgc2V0CisjIENPTkZJR19TU0ZEQyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfT09QUyBpcyBub3Qgc2V0CisKKyMKKyMgUkFNL1JPTS9GbGFzaCBjaGlwIGRyaXZlcnMKKyMKK0NPTkZJR19NVERfQ0ZJPXkKKyMgQ09ORklHX01URF9KRURFQ1BST0JFIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfR0VOX1BST0JFPXkKKyMgQ09ORklHX01URF9DRklfQURWX09QVElPTlMgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0NGSV9OT1NXQVAgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0NGSV9CRV9CWVRFX1NXQVAgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0NGSV9MRV9CWVRFX1NXQVAgaXMgbm90IHNldAorQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8xPXkKK0NPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMj15CitDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzQ9eQorIyBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzggaXMgbm90IHNldAorIyBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzE2IGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8zMiBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NGSV9JMT15CitDT05GSUdfTVREX0NGSV9JMj15CisjIENPTkZJR19NVERfQ0ZJX0k0IGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9DRklfSTggaXMgbm90IHNldAorIyBDT05GSUdfTVREX0NGSV9JTlRFTEVYVCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQ0ZJX0FNRFNURCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQ0ZJX1NUQUEgaXMgbm90IHNldAorIyBDT05GSUdfTVREX1JBTSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfUk9NIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9BQlNFTlQgaXMgbm90IHNldAorCisjCisjIE1hcHBpbmcgZHJpdmVycyBmb3IgY2hpcCBhY2Nlc3MKKyMKKyMgQ09ORklHX01URF9DT01QTEVYX01BUFBJTkdTIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfUEhZU01BUD15CitDT05GSUdfTVREX1BIWVNNQVBfU1RBUlQ9MHgwCitDT05GSUdfTVREX1BIWVNNQVBfTEVOPTAKK0NPTkZJR19NVERfUEhZU01BUF9CQU5LV0lEVEg9MgorIyBDT05GSUdfTVREX0FSTV9JTlRFR1JBVE9SIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9QTEFUUkFNIGlzIG5vdCBzZXQKKworIworIyBTZWxmLWNvbnRhaW5lZCBNVEQgZGV2aWNlIGRyaXZlcnMKKyMKKyMgQ09ORklHX01URF9TTFJBTSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfUEhSQU0gaXMgbm90IHNldAorIyBDT05GSUdfTVREX01URFJBTSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQkxPQ0syTVREIGlzIG5vdCBzZXQKKworIworIyBEaXNrLU9uLUNoaXAgRGV2aWNlIERyaXZlcnMKKyMKKyMgQ09ORklHX01URF9ET0MyMDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9ET0MyMDAxIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9ET0MyMDAxUExVUyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfTkFORCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfT05FTkFORCBpcyBub3Qgc2V0CisKKyMKKyMgVUJJIC0gVW5zb3J0ZWQgYmxvY2sgaW1hZ2VzCisjCisjIENPTkZJR19NVERfVUJJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBUlBPUlQgaXMgbm90IHNldAorIyBDT05GSUdfQkxLX0RFViBpcyBub3Qgc2V0CisjIENPTkZJR19NSVNDX0RFVklDRVMgaXMgbm90IHNldAorQ09ORklHX0hBVkVfSURFPXkKKyMgQ09ORklHX0lERSBpcyBub3Qgc2V0CisKKyMKKyMgU0NTSSBkZXZpY2Ugc3VwcG9ydAorIworIyBDT05GSUdfUkFJRF9BVFRSUyBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfRE1BIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfTkVUTElOSyBpcyBub3Qgc2V0CisjIENPTkZJR19BVEEgaXMgbm90IHNldAorIyBDT05GSUdfTUQgaXMgbm90IHNldAorQ09ORklHX05FVERFVklDRVM9eQorIyBDT05GSUdfTkVUREVWSUNFU19NVUxUSVFVRVVFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RVTU1ZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JPTkRJTkcgaXMgbm90IHNldAorIyBDT05GSUdfTUFDVkxBTiBpcyBub3Qgc2V0CisjIENPTkZJR19FUVVBTElaRVIgaXMgbm90IHNldAorIyBDT05GSUdfVFVOIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZFVEggaXMgbm90IHNldAorIyBDT05GSUdfUEhZTElCIGlzIG5vdCBzZXQKK0NPTkZJR19ORVRfRVRIRVJORVQ9eQorQ09ORklHX01JST15CisjIENPTkZJR19BWDg4Nzk2IGlzIG5vdCBzZXQKK0NPTkZJR19TTUM5MVg9eQorIyBDT05GSUdfRE05MDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19aTUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19SR01JSSBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfVEFIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19FTUFDNCBpcyBub3Qgc2V0CisjIENPTkZJR19CNDQgaXMgbm90IHNldAorIyBDT05GSUdfTkVUREVWXzEwMDAgaXMgbm90IHNldAorIyBDT05GSUdfTkVUREVWXzEwMDAwIGlzIG5vdCBzZXQKKworIworIyBXaXJlbGVzcyBMQU4KKyMKKyMgQ09ORklHX1dMQU5fUFJFODAyMTEgaXMgbm90IHNldAorIyBDT05GSUdfV0xBTl84MDIxMSBpcyBub3Qgc2V0CisjIENPTkZJR19JV0xXSUZJX0xFRFMgaXMgbm90IHNldAorIyBDT05GSUdfV0FOIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BQUCBpcyBub3Qgc2V0CisjIENPTkZJR19TTElQIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVENPTlNPTEUgaXMgbm90IHNldAorIyBDT05GSUdfTkVUUE9MTCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfUE9MTF9DT05UUk9MTEVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lTRE4gaXMgbm90IHNldAorCisjCisjIElucHV0IGRldmljZSBzdXBwb3J0CisjCisjIENPTkZJR19JTlBVVCBpcyBub3Qgc2V0CisKKyMKKyMgSGFyZHdhcmUgSS9PIHBvcnRzCisjCisjIENPTkZJR19TRVJJTyBpcyBub3Qgc2V0CisjIENPTkZJR19HQU1FUE9SVCBpcyBub3Qgc2V0CisKKyMKKyMgQ2hhcmFjdGVyIGRldmljZXMKKyMKKyMgQ09ORklHX1ZUIGlzIG5vdCBzZXQKK0NPTkZJR19ERVZLTUVNPXkKKyMgQ09ORklHX1NFUklBTF9OT05TVEFOREFSRCBpcyBub3Qgc2V0CisKKyMKKyMgU2VyaWFsIGRyaXZlcnMKKyMKKyMgQ09ORklHX1NFUklBTF84MjUwIGlzIG5vdCBzZXQKKworIworIyBOb24tODI1MCBzZXJpYWwgcG9ydCBzdXBwb3J0CisjCitDT05GSUdfU0VSSUFMX0lNWD15CitDT05GSUdfU0VSSUFMX0lNWF9DT05TT0xFPXkKK0NPTkZJR19TRVJJQUxfQ09SRT15CitDT05GSUdfU0VSSUFMX0NPUkVfQ09OU09MRT15CitDT05GSUdfVU5JWDk4X1BUWVM9eQorIyBDT05GSUdfTEVHQUNZX1BUWVMgaXMgbm90IHNldAorIyBDT05GSUdfSVBNSV9IQU5ETEVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hXX1JBTkRPTSBpcyBub3Qgc2V0CisjIENPTkZJR19OVlJBTSBpcyBub3Qgc2V0CisjIENPTkZJR19SMzk2NCBpcyBub3Qgc2V0CisjIENPTkZJR19SQVdfRFJJVkVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RDR19UUE0gaXMgbm90IHNldAorIyBDT05GSUdfSTJDIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQSSBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9HUElPX0xJQj15CisKKyMKKyMgR1BJTyBTdXBwb3J0CisjCisKKyMKKyMgSTJDIEdQSU8gZXhwYW5kZXJzOgorIworCisjCisjIFNQSSBHUElPIGV4cGFuZGVyczoKKyMKKyMgQ09ORklHX1cxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BPV0VSX1NVUFBMWSBpcyBub3Qgc2V0CisjIENPTkZJR19IV01PTiBpcyBub3Qgc2V0CisjIENPTkZJR19XQVRDSERPRyBpcyBub3Qgc2V0CisKKyMKKyMgU29uaWNzIFNpbGljb24gQmFja3BsYW5lCisjCitDT05GSUdfU1NCX1BPU1NJQkxFPXkKKyMgQ09ORklHX1NTQiBpcyBub3Qgc2V0CisKKyMKKyMgTXVsdGlmdW5jdGlvbiBkZXZpY2UgZHJpdmVycworIworIyBDT05GSUdfTUZEX1NNNTAxIGlzIG5vdCBzZXQKKyMgQ09ORklHX01GRF9BU0lDMyBpcyBub3Qgc2V0CisjIENPTkZJR19IVENfRUdQSU8gaXMgbm90IHNldAorIyBDT05GSUdfSFRDX1BBU0lDMyBpcyBub3Qgc2V0CisKKyMKKyMgTXVsdGltZWRpYSBkZXZpY2VzCisjCisKKyMKKyMgTXVsdGltZWRpYSBjb3JlIHN1cHBvcnQKKyMKKyMgQ09ORklHX1ZJREVPX0RFViBpcyBub3Qgc2V0CisjIENPTkZJR19EVkJfQ09SRSBpcyBub3Qgc2V0CisjIENPTkZJR19WSURFT19NRURJQSBpcyBub3Qgc2V0CisKKyMKKyMgTXVsdGltZWRpYSBkcml2ZXJzCisjCisjIENPTkZJR19EQUIgaXMgbm90IHNldAorCisjCisjIEdyYXBoaWNzIHN1cHBvcnQKKyMKKyMgQ09ORklHX1ZHQVNUQVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJREVPX09VVFBVVF9DT05UUk9MIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JBQ0tMSUdIVF9MQ0RfU1VQUE9SVCBpcyBub3Qgc2V0CisKKyMKKyMgRGlzcGxheSBkZXZpY2Ugc3VwcG9ydAorIworIyBDT05GSUdfRElTUExBWV9TVVBQT1JUIGlzIG5vdCBzZXQKKworIworIyBTb3VuZAorIworIyBDT05GSUdfU09VTkQgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NVUFBPUlQgaXMgbm90IHNldAorIyBDT05GSUdfTU1DIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FV19MRURTIGlzIG5vdCBzZXQKK0NPTkZJR19SVENfTElCPXkKKyMgQ09ORklHX1JUQ19DTEFTUyBpcyBub3Qgc2V0CisjIENPTkZJR19VSU8gaXMgbm90IHNldAorCisjCisjIEZpbGUgc3lzdGVtcworIworIyBDT05GSUdfRVhUMl9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19FWFQzX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VYVDRERVZfRlMgaXMgbm90IHNldAorIyBDT05GSUdfUkVJU0VSRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfSkZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0CisjIENPTkZJR19YRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfT0NGUzJfRlMgaXMgbm90IHNldAorIyBDT05GSUdfRE5PVElGWSBpcyBub3Qgc2V0CitDT05GSUdfSU5PVElGWT15CitDT05GSUdfSU5PVElGWV9VU0VSPXkKKyMgQ09ORklHX1FVT1RBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FVVE9GU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19BVVRPRlM0X0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZVU0VfRlMgaXMgbm90IHNldAorCisjCisjIENELVJPTS9EVkQgRmlsZXN5c3RlbXMKKyMKKyMgQ09ORklHX0lTTzk2NjBfRlMgaXMgbm90IHNldAorIyBDT05GSUdfVURGX0ZTIGlzIG5vdCBzZXQKKworIworIyBET1MvRkFUL05UIEZpbGVzeXN0ZW1zCisjCisjIENPTkZJR19NU0RPU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19WRkFUX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX05URlNfRlMgaXMgbm90IHNldAorCisjCisjIFBzZXVkbyBmaWxlc3lzdGVtcworIworQ09ORklHX1BST0NfRlM9eQorQ09ORklHX1BST0NfU1lTQ1RMPXkKK0NPTkZJR19TWVNGUz15CitDT05GSUdfVE1QRlM9eQorIyBDT05GSUdfVE1QRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hVR0VUTEJfUEFHRSBpcyBub3Qgc2V0CisjIENPTkZJR19DT05GSUdGU19GUyBpcyBub3Qgc2V0CisKKyMKKyMgTWlzY2VsbGFuZW91cyBmaWxlc3lzdGVtcworIworIyBDT05GSUdfQURGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19BRkZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19IRlNQTFVTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JFRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfQkZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VGU19GUyBpcyBub3Qgc2V0CitDT05GSUdfSkZGUzJfRlM9eQorQ09ORklHX0pGRlMyX0ZTX0RFQlVHPTAKK0NPTkZJR19KRkZTMl9GU19XUklURUJVRkZFUj15CisjIENPTkZJR19KRkZTMl9GU19XQlVGX1ZFUklGWSBpcyBub3Qgc2V0CisjIENPTkZJR19KRkZTMl9TVU1NQVJZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pGRlMyX0ZTX1hBVFRSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pGRlMyX0NPTVBSRVNTSU9OX09QVElPTlMgaXMgbm90IHNldAorQ09ORklHX0pGRlMyX1pMSUI9eQorIyBDT05GSUdfSkZGUzJfTFpPIGlzIG5vdCBzZXQKK0NPTkZJR19KRkZTMl9SVElNRT15CisjIENPTkZJR19KRkZTMl9SVUJJTiBpcyBub3Qgc2V0CisjIENPTkZJR19DUkFNRlMgaXMgbm90IHNldAorIyBDT05GSUdfVlhGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19NSU5JWF9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19IUEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1FOWDRGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19ST01GU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19TWVNWX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VGU19GUyBpcyBub3Qgc2V0CitDT05GSUdfTkVUV09SS19GSUxFU1lTVEVNUz15CitDT05GSUdfTkZTX0ZTPXkKKyMgQ09ORklHX05GU19WMyBpcyBub3Qgc2V0CisjIENPTkZJR19ORlNfVjQgaXMgbm90IHNldAorIyBDT05GSUdfTkZTRCBpcyBub3Qgc2V0CitDT05GSUdfUk9PVF9ORlM9eQorQ09ORklHX0xPQ0tEPXkKK0NPTkZJR19ORlNfQ09NTU9OPXkKK0NPTkZJR19TVU5SUEM9eQorIyBDT05GSUdfU1VOUlBDX0JJTkQzNCBpcyBub3Qgc2V0CisjIENPTkZJR19SUENTRUNfR1NTX0tSQjUgaXMgbm90IHNldAorIyBDT05GSUdfUlBDU0VDX0dTU19TUEtNMyBpcyBub3Qgc2V0CisjIENPTkZJR19TTUJfRlMgaXMgbm90IHNldAorIyBDT05GSUdfQ0lGUyBpcyBub3Qgc2V0CisjIENPTkZJR19OQ1BfRlMgaXMgbm90IHNldAorIyBDT05GSUdfQ09EQV9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19BRlNfRlMgaXMgbm90IHNldAorCisjCisjIFBhcnRpdGlvbiBUeXBlcworIworIyBDT05GSUdfUEFSVElUSU9OX0FEVkFOQ0VEIGlzIG5vdCBzZXQKK0NPTkZJR19NU0RPU19QQVJUSVRJT049eQorIyBDT05GSUdfTkxTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RMTSBpcyBub3Qgc2V0CisKKyMKKyMgS2VybmVsIGhhY2tpbmcKKyMKKyMgQ09ORklHX1BSSU5US19USU1FIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VOQUJMRV9XQVJOX0RFUFJFQ0FURUQgaXMgbm90IHNldAorIyBDT05GSUdfRU5BQkxFX01VU1RfQ0hFQ0sgaXMgbm90IHNldAorQ09ORklHX0ZSQU1FX1dBUk49MTAyNAorIyBDT05GSUdfTUFHSUNfU1lTUlEgaXMgbm90IHNldAorIyBDT05GSUdfVU5VU0VEX1NZTUJPTFMgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfRlMgaXMgbm90IHNldAorIyBDT05GSUdfSEVBREVSU19DSEVDSyBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19LRVJORUwgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfQlVHVkVSQk9TRSBpcyBub3Qgc2V0CitDT05GSUdfRlJBTUVfUE9JTlRFUj15CisjIENPTkZJR19TQU1QTEVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX1VTRVIgaXMgbm90IHNldAorCisjCisjIFNlY3VyaXR5IG9wdGlvbnMKKyMKKyMgQ09ORklHX0tFWVMgaXMgbm90IHNldAorIyBDT05GSUdfU0VDVVJJVFkgaXMgbm90IHNldAorIyBDT05GSUdfU0VDVVJJVFlfRklMRV9DQVBBQklMSVRJRVMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPIGlzIG5vdCBzZXQKKworIworIyBMaWJyYXJ5IHJvdXRpbmVzCisjCitDT05GSUdfQklUUkVWRVJTRT15CisjIENPTkZJR19HRU5FUklDX0ZJTkRfRklSU1RfQklUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0dFTkVSSUNfRklORF9ORVhUX0JJVCBpcyBub3Qgc2V0CisjIENPTkZJR19DUkNfQ0NJVFQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JDMTYgaXMgbm90IHNldAorIyBDT05GSUdfQ1JDX0lUVV9UIGlzIG5vdCBzZXQKK0NPTkZJR19DUkMzMj15CisjIENPTkZJR19DUkM3IGlzIG5vdCBzZXQKKyMgQ09ORklHX0xJQkNSQzMyQyBpcyBub3Qgc2V0CitDT05GSUdfWkxJQl9JTkZMQVRFPXkKK0NPTkZJR19aTElCX0RFRkxBVEU9eQorQ09ORklHX1BMSVNUPXkKK0NPTkZJR19IQVNfSU9NRU09eQorQ09ORklHX0hBU19JT1BPUlQ9eQorQ09ORklHX0hBU19ETUE9eQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9wY20wMzhfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9wY20wMzhfZGVmY29uZmlnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZiNzk4YzIKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9jb25maWdzL3BjbTAzOF9kZWZjb25maWcKQEAgLTAsMCArMSwxMDA4IEBACisjCisjIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIG1ha2UgY29uZmlnOiBkb24ndCBlZGl0CisjIExpbnV4IGtlcm5lbCB2ZXJzaW9uOiAyLjYuMjYtcmM2CisjIEZyaSBKdW4gMjAgMTY6Mzg6MzYgMjAwOAorIworQ09ORklHX0FSTT15CitDT05GSUdfU1lTX1NVUFBPUlRTX0FQTV9FTVVMQVRJT049eQorQ09ORklHX0dFTkVSSUNfR1BJTz15CitDT05GSUdfR0VORVJJQ19USU1FPXkKK0NPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTPXkKK0NPTkZJR19NTVU9eQorIyBDT05GSUdfTk9fSU9QT1JUIGlzIG5vdCBzZXQKK0NPTkZJR19HRU5FUklDX0hBUkRJUlFTPXkKK0NPTkZJR19TVEFDS1RSQUNFX1NVUFBPUlQ9eQorQ09ORklHX0xPQ0tERVBfU1VQUE9SVD15CitDT05GSUdfVFJBQ0VfSVJRRkxBR1NfU1VQUE9SVD15CitDT05GSUdfSEFSRElSUVNfU1dfUkVTRU5EPXkKK0NPTkZJR19HRU5FUklDX0lSUV9QUk9CRT15CitDT05GSUdfUldTRU1fR0VORVJJQ19TUElOTE9DSz15CisjIENPTkZJR19BUkNIX0hBU19JTE9HMl9VMzIgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9IQVNfSUxPRzJfVTY0IGlzIG5vdCBzZXQKK0NPTkZJR19HRU5FUklDX0hXRUlHSFQ9eQorQ09ORklHX0dFTkVSSUNfQ0FMSUJSQVRFX0RFTEFZPXkKK0NPTkZJR19BUkNIX1NVUFBPUlRTX0FPVVQ9eQorQ09ORklHX1pPTkVfRE1BPXkKK0NPTkZJR19BUkNIX01URF9YSVA9eQorQ09ORklHX1ZFQ1RPUlNfQkFTRT0weGZmZmYwMDAwCitDT05GSUdfREVGQ09ORklHX0xJU1Q9Ii9saWIvbW9kdWxlcy8kVU5BTUVfUkVMRUFTRS8uY29uZmlnIgorCisjCisjIEdlbmVyYWwgc2V0dXAKKyMKK0NPTkZJR19FWFBFUklNRU5UQUw9eQorQ09ORklHX0JST0tFTl9PTl9TTVA9eQorQ09ORklHX0xPQ0tfS0VSTkVMPXkKK0NPTkZJR19JTklUX0VOVl9BUkdfTElNSVQ9MzIKK0NPTkZJR19MT0NBTFZFUlNJT049IiIKK0NPTkZJR19MT0NBTFZFUlNJT05fQVVUTz15CisjIENPTkZJR19TV0FQIGlzIG5vdCBzZXQKK0NPTkZJR19TWVNWSVBDPXkKK0NPTkZJR19TWVNWSVBDX1NZU0NUTD15CitDT05GSUdfUE9TSVhfTVFVRVVFPXkKKyMgQ09ORklHX0JTRF9QUk9DRVNTX0FDQ1QgaXMgbm90IHNldAorIyBDT05GSUdfVEFTS1NUQVRTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FVRElUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lLQ09ORklHIGlzIG5vdCBzZXQKK0NPTkZJR19MT0dfQlVGX1NISUZUPTE0CisjIENPTkZJR19DR1JPVVBTIGlzIG5vdCBzZXQKK0NPTkZJR19HUk9VUF9TQ0hFRD15CitDT05GSUdfRkFJUl9HUk9VUF9TQ0hFRD15CitDT05GSUdfUlRfR1JPVVBfU0NIRUQ9eQorQ09ORklHX1VTRVJfU0NIRUQ9eQorIyBDT05GSUdfQ0dST1VQX1NDSEVEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NZU0ZTX0RFUFJFQ0FURURfVjIgaXMgbm90IHNldAorIyBDT05GSUdfUkVMQVkgaXMgbm90IHNldAorIyBDT05GSUdfTkFNRVNQQUNFUyBpcyBub3Qgc2V0CisjIENPTkZJR19CTEtfREVWX0lOSVRSRCBpcyBub3Qgc2V0CisjIENPTkZJR19DQ19PUFRJTUlaRV9GT1JfU0laRSBpcyBub3Qgc2V0CitDT05GSUdfU1lTQ1RMPXkKK0NPTkZJR19FTUJFRERFRD15CitDT05GSUdfVUlEMTY9eQorQ09ORklHX1NZU0NUTF9TWVNDQUxMPXkKK0NPTkZJR19TWVNDVExfU1lTQ0FMTF9DSEVDSz15CitDT05GSUdfS0FMTFNZTVM9eQorQ09ORklHX0tBTExTWU1TX0VYVFJBX1BBU1M9eQorQ09ORklHX0hPVFBMVUc9eQorQ09ORklHX1BSSU5USz15CitDT05GSUdfQlVHPXkKK0NPTkZJR19FTEZfQ09SRT15CisjIENPTkZJR19DT01QQVRfQlJLIGlzIG5vdCBzZXQKK0NPTkZJR19CQVNFX0ZVTEw9eQorQ09ORklHX0ZVVEVYPXkKK0NPTkZJR19BTk9OX0lOT0RFUz15CitDT05GSUdfRVBPTEw9eQorQ09ORklHX1NJR05BTEZEPXkKK0NPTkZJR19USU1FUkZEPXkKK0NPTkZJR19FVkVOVEZEPXkKK0NPTkZJR19TSE1FTT15CitDT05GSUdfVk1fRVZFTlRfQ09VTlRFUlM9eQorQ09ORklHX1NMQUI9eQorIyBDT05GSUdfU0xVQiBpcyBub3Qgc2V0CisjIENPTkZJR19TTE9CIGlzIG5vdCBzZXQKK0NPTkZJR19QUk9GSUxJTkc9eQorQ09ORklHX01BUktFUlM9eQorQ09ORklHX09QUk9GSUxFPXkKK0NPTkZJR19IQVZFX09QUk9GSUxFPXkKK0NPTkZJR19LUFJPQkVTPXkKK0NPTkZJR19LUkVUUFJPQkVTPXkKK0NPTkZJR19IQVZFX0tQUk9CRVM9eQorQ09ORklHX0hBVkVfS1JFVFBST0JFUz15CisjIENPTkZJR19IQVZFX0RNQV9BVFRSUyBpcyBub3Qgc2V0CisjIENPTkZJR19QUk9DX1BBR0VfTU9OSVRPUiBpcyBub3Qgc2V0CitDT05GSUdfU0xBQklORk89eQorQ09ORklHX1JUX01VVEVYRVM9eQorIyBDT05GSUdfVElOWV9TSE1FTSBpcyBub3Qgc2V0CitDT05GSUdfQkFTRV9TTUFMTD0wCitDT05GSUdfTU9EVUxFUz15CisjIENPTkZJR19NT0RVTEVfRk9SQ0VfTE9BRCBpcyBub3Qgc2V0CitDT05GSUdfTU9EVUxFX1VOTE9BRD15CisjIENPTkZJR19NT0RVTEVfRk9SQ0VfVU5MT0FEIGlzIG5vdCBzZXQKKyMgQ09ORklHX01PRFZFUlNJT05TIGlzIG5vdCBzZXQKKyMgQ09ORklHX01PRFVMRV9TUkNWRVJTSU9OX0FMTCBpcyBub3Qgc2V0CisjIENPTkZJR19LTU9EIGlzIG5vdCBzZXQKK0NPTkZJR19CTE9DSz15CisjIENPTkZJR19MQkQgaXMgbm90IHNldAorIyBDT05GSUdfQkxLX0RFVl9JT19UUkFDRSBpcyBub3Qgc2V0CisjIENPTkZJR19MU0YgaXMgbm90IHNldAorIyBDT05GSUdfQkxLX0RFVl9CU0cgaXMgbm90IHNldAorCisjCisjIElPIFNjaGVkdWxlcnMKKyMKK0NPTkZJR19JT1NDSEVEX05PT1A9eQorIyBDT05GSUdfSU9TQ0hFRF9BUyBpcyBub3Qgc2V0CisjIENPTkZJR19JT1NDSEVEX0RFQURMSU5FIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lPU0NIRURfQ0ZRIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFRkFVTFRfQVMgaXMgbm90IHNldAorIyBDT05GSUdfREVGQVVMVF9ERUFETElORSBpcyBub3Qgc2V0CisjIENPTkZJR19ERUZBVUxUX0NGUSBpcyBub3Qgc2V0CitDT05GSUdfREVGQVVMVF9OT09QPXkKK0NPTkZJR19ERUZBVUxUX0lPU0NIRUQ9Im5vb3AiCitDT05GSUdfQ0xBU1NJQ19SQ1U9eQorCisjCisjIFN5c3RlbSBUeXBlCisjCisjIENPTkZJR19BUkNIX0FBRUMyMDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSU5URUdSQVRPUiBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1JFQUxWSUVXIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfVkVSU0FUSUxFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfQVQ5MSBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0NMUFM3NTAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfQ0xQUzcxMVggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9DTzI4NSBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0VCU0ExMTAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9FUDkzWFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9GT09UQlJJREdFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfTkVUWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0g3MjBYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSU1YIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSU9QMTNYWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0lPUDMyWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0lPUDMzWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0lYUDIzWFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9JWFAyMDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSVhQNFhYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfTDcyMDAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9LUzg2OTUgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9OUzlYWFggaXMgbm90IHNldAorQ09ORklHX0FSQ0hfTVhDPXkKKyMgQ09ORklHX0FSQ0hfT1JJT041WCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1BOWDQwMDggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9QWEEgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9SUEMgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9TQTExMDAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9TM0MyNDEwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfU0hBUksgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9MSDdBNDBYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfREFWSU5DSSBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX09NQVAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9NU003WDAwQSBpcyBub3Qgc2V0CisKKyMKKyMgQm9vdCBvcHRpb25zCisjCisKKyMKKyMgUG93ZXIgbWFuYWdlbWVudAorIworCisjCisjIEZyZWVzY2FsZSBNWEMgSW1wbGVtZW50YXRpb25zCisjCitDT05GSUdfQVJDSF9NWDI9eQorIyBDT05GSUdfQVJDSF9NWDMgaXMgbm90IHNldAorCisjCisjIE1YMiBmYW1pbHkgQ1BVIHN1cHBvcnQKKyMKK0NPTkZJR19NQUNIX01YMjc9eQorCisjCisjIE1YMiBQbGF0Zm9ybXMKKyMKKyMgQ09ORklHX01BQ0hfTVgyN0FEUyBpcyBub3Qgc2V0CitDT05GSUdfTUFDSF9QQ00wMzg9eQorQ09ORklHX01BQ0hfUENNOTcwX0JBU0VCT0FSRD15CisKKyMKKyMgUHJvY2Vzc29yIFR5cGUKKyMKK0NPTkZJR19DUFVfMzI9eQorQ09ORklHX0NQVV9BUk05MjZUPXkKK0NPTkZJR19DUFVfMzJ2NT15CitDT05GSUdfQ1BVX0FCUlRfRVY1VEo9eQorQ09ORklHX0NQVV9QQUJSVF9OT0lGQVI9eQorQ09ORklHX0NQVV9DQUNIRV9WSVZUPXkKK0NPTkZJR19DUFVfQ09QWV9WNFdCPXkKK0NPTkZJR19DUFVfVExCX1Y0V0JJPXkKK0NPTkZJR19DUFVfQ1AxNT15CitDT05GSUdfQ1BVX0NQMTVfTU1VPXkKKworIworIyBQcm9jZXNzb3IgRmVhdHVyZXMKKyMKK0NPTkZJR19BUk1fVEhVTUI9eQorIyBDT05GSUdfQ1BVX0lDQUNIRV9ESVNBQkxFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NQVV9EQ0FDSEVfRElTQUJMRSBpcyBub3Qgc2V0CisjIENPTkZJR19DUFVfRENBQ0hFX1dSSVRFVEhST1VHSCBpcyBub3Qgc2V0CisjIENPTkZJR19DUFVfQ0FDSEVfUk9VTkRfUk9CSU4gaXMgbm90IHNldAorIyBDT05GSUdfT1VURVJfQ0FDSEUgaXMgbm90IHNldAorCisjCisjIEJ1cyBzdXBwb3J0CisjCisjIENPTkZJR19QQ0lfU1lTQ0FMTCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1NVUFBPUlRTX01TSSBpcyBub3Qgc2V0CisjIENPTkZJR19QQ0NBUkQgaXMgbm90IHNldAorCisjCisjIEtlcm5lbCBGZWF0dXJlcworIworQ09ORklHX1RJQ0tfT05FU0hPVD15CitDT05GSUdfTk9fSFo9eQorQ09ORklHX0hJR0hfUkVTX1RJTUVSUz15CitDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UU19CVUlMRD15CitDT05GSUdfUFJFRU1QVD15CitDT05GSUdfSFo9MTAwCitDT05GSUdfQUVBQkk9eQorIyBDT05GSUdfT0FCSV9DT01QQVQgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKK0NPTkZJR19TRUxFQ1RfTUVNT1JZX01PREVMPXkKK0NPTkZJR19GTEFUTUVNX01BTlVBTD15CisjIENPTkZJR19ESVNDT05USUdNRU1fTUFOVUFMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQQVJTRU1FTV9NQU5VQUwgaXMgbm90IHNldAorQ09ORklHX0ZMQVRNRU09eQorQ09ORklHX0ZMQVRfTk9ERV9NRU1fTUFQPXkKKyMgQ09ORklHX1NQQVJTRU1FTV9TVEFUSUMgaXMgbm90IHNldAorIyBDT05GSUdfU1BBUlNFTUVNX1ZNRU1NQVBfRU5BQkxFIGlzIG5vdCBzZXQKK0NPTkZJR19QQUdFRkxBR1NfRVhURU5ERUQ9eQorQ09ORklHX1NQTElUX1BUTE9DS19DUFVTPTQwOTYKKyMgQ09ORklHX1JFU09VUkNFU182NEJJVCBpcyBub3Qgc2V0CitDT05GSUdfWk9ORV9ETUFfRkxBRz0xCitDT05GSUdfQk9VTkNFPXkKK0NPTkZJR19WSVJUX1RPX0JVUz15CitDT05GSUdfQUxJR05NRU5UX1RSQVA9eQorCisjCisjIEJvb3Qgb3B0aW9ucworIworQ09ORklHX1pCT09UX1JPTV9URVhUPTB4MAorQ09ORklHX1pCT09UX1JPTV9CU1M9MHgwCitDT05GSUdfQ01ETElORT0iIgorIyBDT05GSUdfWElQX0tFUk5FTCBpcyBub3Qgc2V0CisjIENPTkZJR19LRVhFQyBpcyBub3Qgc2V0CisKKyMKKyMgRmxvYXRpbmcgcG9pbnQgZW11bGF0aW9uCisjCisKKyMKKyMgQXQgbGVhc3Qgb25lIGVtdWxhdGlvbiBtdXN0IGJlIHNlbGVjdGVkCisjCisjIENPTkZJR19WRlAgaXMgbm90IHNldAorCisjCisjIFVzZXJzcGFjZSBiaW5hcnkgZm9ybWF0cworIworQ09ORklHX0JJTkZNVF9FTEY9eQorIyBDT05GSUdfQklORk1UX0FPVVQgaXMgbm90IHNldAorIyBDT05GSUdfQklORk1UX01JU0MgaXMgbm90IHNldAorCisjCisjIFBvd2VyIG1hbmFnZW1lbnQgb3B0aW9ucworIworIyBDT05GSUdfUE0gaXMgbm90IHNldAorQ09ORklHX0FSQ0hfU1VTUEVORF9QT1NTSUJMRT15CisKKyMKKyMgTmV0d29ya2luZworIworQ09ORklHX05FVD15CisKKyMKKyMgTmV0d29ya2luZyBvcHRpb25zCisjCitDT05GSUdfUEFDS0VUPXkKK0NPTkZJR19QQUNLRVRfTU1BUD15CitDT05GSUdfVU5JWD15CisjIENPTkZJR19ORVRfS0VZIGlzIG5vdCBzZXQKK0NPTkZJR19JTkVUPXkKK0NPTkZJR19JUF9NVUxUSUNBU1Q9eQorIyBDT05GSUdfSVBfQURWQU5DRURfUk9VVEVSIGlzIG5vdCBzZXQKK0NPTkZJR19JUF9GSUJfSEFTSD15CitDT05GSUdfSVBfUE5QPXkKKyMgQ09ORklHX0lQX1BOUF9ESENQIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQX1BOUF9CT09UUCBpcyBub3Qgc2V0CisjIENPTkZJR19JUF9QTlBfUkFSUCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfSVBJUCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfSVBHUkUgaXMgbm90IHNldAorIyBDT05GSUdfSVBfTVJPVVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSUEQgaXMgbm90IHNldAorIyBDT05GSUdfU1lOX0NPT0tJRVMgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9BSCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX0VTUCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX0lQQ09NUCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX1hGUk1fVFVOTkVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfVFVOTkVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfWEZSTV9NT0RFX1RSQU5TUE9SVCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX1hGUk1fTU9ERV9UVU5ORUwgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9YRlJNX01PREVfQkVFVCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX0xSTyBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX0RJQUcgaXMgbm90IHNldAorIyBDT05GSUdfVENQX0NPTkdfQURWQU5DRUQgaXMgbm90IHNldAorQ09ORklHX1RDUF9DT05HX0NVQklDPXkKK0NPTkZJR19ERUZBVUxUX1RDUF9DT05HPSJjdWJpYyIKKyMgQ09ORklHX1RDUF9NRDVTSUcgaXMgbm90IHNldAorIyBDT05GSUdfSVBWNiBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRXT1JLX1NFQ01BUksgaXMgbm90IHNldAorIyBDT05GSUdfTkVURklMVEVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQX0RDQ1AgaXMgbm90IHNldAorIyBDT05GSUdfSVBfU0NUUCBpcyBub3Qgc2V0CisjIENPTkZJR19USVBDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUTSBpcyBub3Qgc2V0CisjIENPTkZJR19CUklER0UgaXMgbm90IHNldAorIyBDT05GSUdfVkxBTl84MDIxUSBpcyBub3Qgc2V0CisjIENPTkZJR19ERUNORVQgaXMgbm90IHNldAorIyBDT05GSUdfTExDMiBpcyBub3Qgc2V0CisjIENPTkZJR19JUFggaXMgbm90IHNldAorIyBDT05GSUdfQVRBTEsgaXMgbm90IHNldAorIyBDT05GSUdfWDI1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0xBUEIgaXMgbm90IHNldAorIyBDT05GSUdfRUNPTkVUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1dBTl9ST1VURVIgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX1NDSEVEIGlzIG5vdCBzZXQKKworIworIyBOZXR3b3JrIHRlc3RpbmcKKyMKKyMgQ09ORklHX05FVF9QS1RHRU4gaXMgbm90IHNldAorIyBDT05GSUdfTkVUX1RDUFBST0JFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hBTVJBRElPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NBTiBpcyBub3Qgc2V0CisjIENPTkZJR19JUkRBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FGX1JYUlBDIGlzIG5vdCBzZXQKKworIworIyBXaXJlbGVzcworIworIyBDT05GSUdfQ0ZHODAyMTEgaXMgbm90IHNldAorIyBDT05GSUdfV0lSRUxFU1NfRVhUIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BQzgwMjExIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lFRUU4MDIxMSBpcyBub3Qgc2V0CisjIENPTkZJR19SRktJTEwgaXMgbm90IHNldAorIyBDT05GSUdfTkVUXzlQIGlzIG5vdCBzZXQKKworIworIyBEZXZpY2UgRHJpdmVycworIworCisjCisjIEdlbmVyaWMgRHJpdmVyIE9wdGlvbnMKKyMKK0NPTkZJR19VRVZFTlRfSEVMUEVSX1BBVEg9Ii9zYmluL2hvdHBsdWciCitDT05GSUdfU1RBTkRBTE9ORT15CitDT05GSUdfUFJFVkVOVF9GSVJNV0FSRV9CVUlMRD15CitDT05GSUdfRldfTE9BREVSPXkKKyMgQ09ORklHX1NZU19IWVBFUlZJU09SIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NPTk5FQ1RPUiBpcyBub3Qgc2V0CitDT05GSUdfTVREPXkKKyMgQ09ORklHX01URF9ERUJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQ09OQ0FUIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfUEFSVElUSU9OUz15CisjIENPTkZJR19NVERfUkVEQk9PVF9QQVJUUyBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NNRExJTkVfUEFSVFM9eQorIyBDT05GSUdfTVREX0FGU19QQVJUUyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQVI3X1BBUlRTIGlzIG5vdCBzZXQKKworIworIyBVc2VyIE1vZHVsZXMgQW5kIFRyYW5zbGF0aW9uIExheWVycworIworQ09ORklHX01URF9DSEFSPXkKK0NPTkZJR19NVERfQkxLREVWUz15CitDT05GSUdfTVREX0JMT0NLPXkKKyMgQ09ORklHX0ZUTCBpcyBub3Qgc2V0CisjIENPTkZJR19ORlRMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORlRMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JGRF9GVEwgaXMgbm90IHNldAorIyBDT05GSUdfU1NGREMgaXMgbm90IHNldAorIyBDT05GSUdfTVREX09PUFMgaXMgbm90IHNldAorCisjCisjIFJBTS9ST00vRmxhc2ggY2hpcCBkcml2ZXJzCisjCitDT05GSUdfTVREX0NGST15CisjIENPTkZJR19NVERfSkVERUNQUk9CRSBpcyBub3Qgc2V0CitDT05GSUdfTVREX0dFTl9QUk9CRT15CitDT05GSUdfTVREX0NGSV9BRFZfT1BUSU9OUz15CitDT05GSUdfTVREX0NGSV9OT1NXQVA9eQorIyBDT05GSUdfTVREX0NGSV9CRV9CWVRFX1NXQVAgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0NGSV9MRV9CWVRFX1NXQVAgaXMgbm90IHNldAorQ09ORklHX01URF9DRklfR0VPTUVUUlk9eQorIyBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzEgaXMgbm90IHNldAorQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8yPXkKKyMgQ09ORklHX01URF9NQVBfQkFOS19XSURUSF80IGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9NQVBfQkFOS19XSURUSF84IGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8xNiBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMzIgaXMgbm90IHNldAorQ09ORklHX01URF9DRklfSTE9eQorIyBDT05GSUdfTVREX0NGSV9JMiBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQ0ZJX0k0IGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9DRklfSTggaXMgbm90IHNldAorIyBDT05GSUdfTVREX09UUCBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NGSV9JTlRFTEVYVD15CisjIENPTkZJR19NVERfQ0ZJX0FNRFNURCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQ0ZJX1NUQUEgaXMgbm90IHNldAorQ09ORklHX01URF9DRklfVVRJTD15CisjIENPTkZJR19NVERfUkFNIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9ST00gaXMgbm90IHNldAorIyBDT05GSUdfTVREX0FCU0VOVCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfWElQIGlzIG5vdCBzZXQKKworIworIyBNYXBwaW5nIGRyaXZlcnMgZm9yIGNoaXAgYWNjZXNzCisjCisjIENPTkZJR19NVERfQ09NUExFWF9NQVBQSU5HUyBpcyBub3Qgc2V0CitDT05GSUdfTVREX1BIWVNNQVA9eQorQ09ORklHX01URF9QSFlTTUFQX1NUQVJUPTB4MDAwMDAwMDAKK0NPTkZJR19NVERfUEhZU01BUF9MRU49MHgwCitDT05GSUdfTVREX1BIWVNNQVBfQkFOS1dJRFRIPTIKKyMgQ09ORklHX01URF9BUk1fSU5URUdSQVRPUiBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfUExBVFJBTSBpcyBub3Qgc2V0CisKKyMKKyMgU2VsZi1jb250YWluZWQgTVREIGRldmljZSBkcml2ZXJzCisjCisjIENPTkZJR19NVERfREFUQUZMQVNIIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9NMjVQODAgaXMgbm90IHNldAorIyBDT05GSUdfTVREX1NMUkFNIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9QSFJBTSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfTVREUkFNIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9CTE9DSzJNVEQgaXMgbm90IHNldAorCisjCisjIERpc2stT24tQ2hpcCBEZXZpY2UgRHJpdmVycworIworIyBDT05GSUdfTVREX0RPQzIwMDAgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0RPQzIwMDEgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0RPQzIwMDFQTFVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9OQU5EIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9PTkVOQU5EIGlzIG5vdCBzZXQKKworIworIyBVQkkgLSBVbnNvcnRlZCBibG9jayBpbWFnZXMKKyMKKyMgQ09ORklHX01URF9VQkkgaXMgbm90IHNldAorIyBDT05GSUdfUEFSUE9SVCBpcyBub3Qgc2V0CitDT05GSUdfQkxLX0RFVj15CisjIENPTkZJR19CTEtfREVWX0NPV19DT01NT04gaXMgbm90IHNldAorIyBDT05GSUdfQkxLX0RFVl9MT09QIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JMS19ERVZfTkJEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JMS19ERVZfUkFNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NEUk9NX1BLVENEVkQgaXMgbm90IHNldAorIyBDT05GSUdfQVRBX09WRVJfRVRIIGlzIG5vdCBzZXQKKyMgQ09ORklHX01JU0NfREVWSUNFUyBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9JREU9eQorIyBDT05GSUdfSURFIGlzIG5vdCBzZXQKKworIworIyBTQ1NJIGRldmljZSBzdXBwb3J0CisjCisjIENPTkZJR19SQUlEX0FUVFJTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0kgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9ETUEgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9ORVRMSU5LIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUQSBpcyBub3Qgc2V0CisjIENPTkZJR19NRCBpcyBub3Qgc2V0CitDT05GSUdfTkVUREVWSUNFUz15CisjIENPTkZJR19ORVRERVZJQ0VTX01VTFRJUVVFVUUgaXMgbm90IHNldAorIyBDT05GSUdfRFVNTVkgaXMgbm90IHNldAorIyBDT05GSUdfQk9ORElORyBpcyBub3Qgc2V0CisjIENPTkZJR19NQUNWTEFOIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VRVUFMSVpFUiBpcyBub3Qgc2V0CisjIENPTkZJR19UVU4gaXMgbm90IHNldAorIyBDT05GSUdfVkVUSCBpcyBub3Qgc2V0CisjIENPTkZJR19QSFlMSUIgaXMgbm90IHNldAorQ09ORklHX05FVF9FVEhFUk5FVD15CisjIENPTkZJR19NSUkgaXMgbm90IHNldAorIyBDT05GSUdfQVg4ODc5NiBpcyBub3Qgc2V0CisjIENPTkZJR19TTUM5MVggaXMgbm90IHNldAorIyBDT05GSUdfRE05MDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VOQzI4SjYwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19aTUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19SR01JSSBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfVEFIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19FTUFDNCBpcyBub3Qgc2V0CisjIENPTkZJR19CNDQgaXMgbm90IHNldAorQ09ORklHX0ZFQ19PTEQ9eQorIyBDT05GSUdfTkVUREVWXzEwMDAgaXMgbm90IHNldAorIyBDT05GSUdfTkVUREVWXzEwMDAwIGlzIG5vdCBzZXQKKworIworIyBXaXJlbGVzcyBMQU4KKyMKKyMgQ09ORklHX1dMQU5fUFJFODAyMTEgaXMgbm90IHNldAorIyBDT05GSUdfV0xBTl84MDIxMSBpcyBub3Qgc2V0CisjIENPTkZJR19JV0xXSUZJX0xFRFMgaXMgbm90IHNldAorIyBDT05GSUdfV0FOIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BQUCBpcyBub3Qgc2V0CisjIENPTkZJR19TTElQIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVENPTlNPTEUgaXMgbm90IHNldAorIyBDT05GSUdfTkVUUE9MTCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfUE9MTF9DT05UUk9MTEVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lTRE4gaXMgbm90IHNldAorCisjCisjIElucHV0IGRldmljZSBzdXBwb3J0CisjCitDT05GSUdfSU5QVVQ9eQorIyBDT05GSUdfSU5QVVRfRkZfTUVNTEVTUyBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9QT0xMREVWIGlzIG5vdCBzZXQKKworIworIyBVc2VybGFuZCBpbnRlcmZhY2VzCisjCisjIENPTkZJR19JTlBVVF9NT1VTRURFViBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9KT1lERVYgaXMgbm90IHNldAorQ09ORklHX0lOUFVUX0VWREVWPXkKKyMgQ09ORklHX0lOUFVUX0VWQlVHIGlzIG5vdCBzZXQKKworIworIyBJbnB1dCBEZXZpY2UgRHJpdmVycworIworIyBDT05GSUdfSU5QVVRfS0VZQk9BUkQgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfTU9VU0UgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfSk9ZU1RJQ0sgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfVEFCTEVUIGlzIG5vdCBzZXQKK0NPTkZJR19JTlBVVF9UT1VDSFNDUkVFTj15CisjIENPTkZJR19UT1VDSFNDUkVFTl9BRFM3ODQ2IGlzIG5vdCBzZXQKKyMgQ09ORklHX1RPVUNIU0NSRUVOX0ZVSklUU1UgaXMgbm90IHNldAorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fR1VOWkUgaXMgbm90IHNldAorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fRUxPIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RPVUNIU0NSRUVOX01UT1VDSCBpcyBub3Qgc2V0CisjIENPTkZJR19UT1VDSFNDUkVFTl9NSzcxMiBpcyBub3Qgc2V0CisjIENPTkZJR19UT1VDSFNDUkVFTl9QRU5NT1VOVCBpcyBub3Qgc2V0CisjIENPTkZJR19UT1VDSFNDUkVFTl9UT1VDSFJJR0hUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RPVUNIU0NSRUVOX1RPVUNIV0lOIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RPVUNIU0NSRUVOX1VDQjE0MDAgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfTUlTQyBpcyBub3Qgc2V0CisKKyMKKyMgSGFyZHdhcmUgSS9PIHBvcnRzCisjCisjIENPTkZJR19TRVJJTyBpcyBub3Qgc2V0CisjIENPTkZJR19HQU1FUE9SVCBpcyBub3Qgc2V0CisKKyMKKyMgQ2hhcmFjdGVyIGRldmljZXMKKyMKK0NPTkZJR19WVD15CitDT05GSUdfVlRfQ09OU09MRT15CitDT05GSUdfSFdfQ09OU09MRT15CisjIENPTkZJR19WVF9IV19DT05TT0xFX0JJTkRJTkcgaXMgbm90IHNldAorQ09ORklHX0RFVktNRU09eQorIyBDT05GSUdfU0VSSUFMX05PTlNUQU5EQVJEIGlzIG5vdCBzZXQKKworIworIyBTZXJpYWwgZHJpdmVycworIworIyBDT05GSUdfU0VSSUFMXzgyNTAgaXMgbm90IHNldAorCisjCisjIE5vbi04MjUwIHNlcmlhbCBwb3J0IHN1cHBvcnQKKyMKK0NPTkZJR19TRVJJQUxfSU1YPXkKK0NPTkZJR19TRVJJQUxfSU1YX0NPTlNPTEU9eQorQ09ORklHX1NFUklBTF9DT1JFPXkKK0NPTkZJR19TRVJJQUxfQ09SRV9DT05TT0xFPXkKK0NPTkZJR19VTklYOThfUFRZUz15CisjIENPTkZJR19MRUdBQ1lfUFRZUyBpcyBub3Qgc2V0CisjIENPTkZJR19JUE1JX0hBTkRMRVIgaXMgbm90IHNldAorIyBDT05GSUdfSFdfUkFORE9NIGlzIG5vdCBzZXQKKyMgQ09ORklHX05WUkFNIGlzIG5vdCBzZXQKKyMgQ09ORklHX1IzOTY0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JBV19EUklWRVIgaXMgbm90IHNldAorIyBDT05GSUdfVENHX1RQTSBpcyBub3Qgc2V0CitDT05GSUdfSTJDPXkKK0NPTkZJR19JMkNfQk9BUkRJTkZPPXkKKyMgQ09ORklHX0kyQ19DSEFSREVWIGlzIG5vdCBzZXQKKworIworIyBJMkMgSGFyZHdhcmUgQnVzIHN1cHBvcnQKKyMKKyMgQ09ORklHX0kyQ19HUElPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19PQ09SRVMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1BBUlBPUlRfTElHSFQgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1NJTVRFQyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfVEFPU19FVk0gaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1NUVUIgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1BDQV9QTEFURk9STSBpcyBub3Qgc2V0CisKKyMKKyMgTWlzY2VsbGFuZW91cyBJMkMgQ2hpcCBzdXBwb3J0CisjCisjIENPTkZJR19EUzE2ODIgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19FRVBST00gaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19QQ0Y4NTc0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDRjg1NzUgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19QQ0Y4NTkxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RQUzY1MDEwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfTUFYNjg3NSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1RTTDI1NTAgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0RFQlVHX0NPUkUgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0RFQlVHX0FMR08gaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0RFQlVHX0JVUyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQ0hJUCBpcyBub3Qgc2V0CitDT05GSUdfU1BJPXkKK0NPTkZJR19TUElfTUFTVEVSPXkKKworIworIyBTUEkgTWFzdGVyIENvbnRyb2xsZXIgRHJpdmVycworIworQ09ORklHX1NQSV9CSVRCQU5HPXkKKworIworIyBTUEkgUHJvdG9jb2wgTWFzdGVycworIworIyBDT05GSUdfU1BJX0FUMjUgaXMgbm90IHNldAorIyBDT05GSUdfU1BJX1NQSURFViBpcyBub3Qgc2V0CisjIENPTkZJR19TUElfVExFNjJYMCBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9HUElPX0xJQj15CisKKyMKKyMgR1BJTyBTdXBwb3J0CisjCisKKyMKKyMgSTJDIEdQSU8gZXhwYW5kZXJzOgorIworIyBDT05GSUdfR1BJT19QQ0E5NTNYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0dQSU9fUENGODU3WCBpcyBub3Qgc2V0CisKKyMKKyMgU1BJIEdQSU8gZXhwYW5kZXJzOgorIworIyBDT05GSUdfR1BJT19NQ1AyM1MwOCBpcyBub3Qgc2V0CisjIENPTkZJR19XMSBpcyBub3Qgc2V0CisjIENPTkZJR19QT1dFUl9TVVBQTFkgaXMgbm90IHNldAorIyBDT05GSUdfSFdNT04gaXMgbm90IHNldAorIyBDT05GSUdfV0FUQ0hET0cgaXMgbm90IHNldAorCisjCisjIFNvbmljcyBTaWxpY29uIEJhY2twbGFuZQorIworQ09ORklHX1NTQl9QT1NTSUJMRT15CisjIENPTkZJR19TU0IgaXMgbm90IHNldAorCisjCisjIE11bHRpZnVuY3Rpb24gZGV2aWNlIGRyaXZlcnMKKyMKKyMgQ09ORklHX01GRF9TTTUwMSBpcyBub3Qgc2V0CisjIENPTkZJR19NRkRfQVNJQzMgaXMgbm90IHNldAorIyBDT05GSUdfSFRDX0VHUElPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hUQ19QQVNJQzMgaXMgbm90IHNldAorCisjCisjIE11bHRpbWVkaWEgZGV2aWNlcworIworCisjCisjIE11bHRpbWVkaWEgY29yZSBzdXBwb3J0CisjCitDT05GSUdfVklERU9fREVWPXkKK0NPTkZJR19WSURFT19WNEwyX0NPTU1PTj15CitDT05GSUdfVklERU9fQUxMT1dfVjRMMT15CitDT05GSUdfVklERU9fVjRMMV9DT01QQVQ9eQorIyBDT05GSUdfRFZCX0NPUkUgaXMgbm90IHNldAorQ09ORklHX1ZJREVPX01FRElBPXkKKworIworIyBNdWx0aW1lZGlhIGRyaXZlcnMKKyMKKyMgQ09ORklHX01FRElBX0FUVEFDSCBpcyBub3Qgc2V0CitDT05GSUdfTUVESUFfVFVORVI9eQorIyBDT05GSUdfTUVESUFfVFVORVJfQ1VTVE9NSVpFIGlzIG5vdCBzZXQKK0NPTkZJR19NRURJQV9UVU5FUl9TSU1QTEU9eQorQ09ORklHX01FRElBX1RVTkVSX1REQTgyOTA9eQorQ09ORklHX01FRElBX1RVTkVSX1REQTk4ODc9eQorQ09ORklHX01FRElBX1RVTkVSX1RFQTU3NjE9eQorQ09ORklHX01FRElBX1RVTkVSX1RFQTU3Njc9eQorQ09ORklHX01FRElBX1RVTkVSX01UMjBYWD15CitDT05GSUdfTUVESUFfVFVORVJfWEMyMDI4PXkKK0NPTkZJR19NRURJQV9UVU5FUl9YQzUwMDA9eQorQ09ORklHX1ZJREVPX1Y0TDI9eQorQ09ORklHX1ZJREVPX1Y0TDE9eQorQ09ORklHX1ZJREVPX0NBUFRVUkVfRFJJVkVSUz15CisjIENPTkZJR19WSURFT19BRFZfREVCVUcgaXMgbm90IHNldAorQ09ORklHX1ZJREVPX0hFTFBFUl9DSElQU19BVVRPPXkKKyMgQ09ORklHX1ZJREVPX1ZJVkkgaXMgbm90IHNldAorIyBDT05GSUdfVklERU9fQ1BJQSBpcyBub3Qgc2V0CisjIENPTkZJR19WSURFT19TQUE1MjQ2QSBpcyBub3Qgc2V0CisjIENPTkZJR19WSURFT19TQUE1MjQ5IGlzIG5vdCBzZXQKKyMgQ09ORklHX1RVTkVSXzMwMzYgaXMgbm90IHNldAorIyBDT05GSUdfU09DX0NBTUVSQSBpcyBub3Qgc2V0CisjIENPTkZJR19SQURJT19BREFQVEVSUyBpcyBub3Qgc2V0CisjIENPTkZJR19EQUIgaXMgbm90IHNldAorCisjCisjIEdyYXBoaWNzIHN1cHBvcnQKKyMKKyMgQ09ORklHX1ZHQVNUQVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJREVPX09VVFBVVF9DT05UUk9MIGlzIG5vdCBzZXQKK0NPTkZJR19GQj15CisjIENPTkZJR19GSVJNV0FSRV9FRElEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0REQyBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9DRkJfRklMTFJFQ1QgaXMgbm90IHNldAorIyBDT05GSUdfRkJfQ0ZCX0NPUFlBUkVBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0NGQl9JTUFHRUJMSVQgaXMgbm90IHNldAorIyBDT05GSUdfRkJfQ0ZCX1JFVl9QSVhFTFNfSU5fQllURSBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9TWVNfRklMTFJFQ1QgaXMgbm90IHNldAorIyBDT05GSUdfRkJfU1lTX0NPUFlBUkVBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1NZU19JTUFHRUJMSVQgaXMgbm90IHNldAorIyBDT05GSUdfRkJfRk9SRUlHTl9FTkRJQU4gaXMgbm90IHNldAorIyBDT05GSUdfRkJfU1lTX0ZPUFMgaXMgbm90IHNldAorIyBDT05GSUdfRkJfU1ZHQUxJQiBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9NQUNNT0RFUyBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9CQUNLTElHSFQgaXMgbm90IHNldAorIyBDT05GSUdfRkJfTU9ERV9IRUxQRVJTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1RJTEVCTElUVElORyBpcyBub3Qgc2V0CisKKyMKKyMgRnJhbWUgYnVmZmVyIGhhcmR3YXJlIGRyaXZlcnMKKyMKKyMgQ09ORklHX0ZCX1MxRDEzWFhYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1ZJUlRVQUwgaXMgbm90IHNldAorIyBDT05GSUdfQkFDS0xJR0hUX0xDRF9TVVBQT1JUIGlzIG5vdCBzZXQKKworIworIyBEaXNwbGF5IGRldmljZSBzdXBwb3J0CisjCisjIENPTkZJR19ESVNQTEFZX1NVUFBPUlQgaXMgbm90IHNldAorCisjCisjIENvbnNvbGUgZGlzcGxheSBkcml2ZXIgc3VwcG9ydAorIworIyBDT05GSUdfVkdBX0NPTlNPTEUgaXMgbm90IHNldAorQ09ORklHX0RVTU1ZX0NPTlNPTEU9eQorQ09ORklHX0ZSQU1FQlVGRkVSX0NPTlNPTEU9eQorIyBDT05GSUdfRlJBTUVCVUZGRVJfQ09OU09MRV9ERVRFQ1RfUFJJTUFSWSBpcyBub3Qgc2V0CisjIENPTkZJR19GUkFNRUJVRkZFUl9DT05TT0xFX1JPVEFUSU9OIGlzIG5vdCBzZXQKK0NPTkZJR19GT05UUz15CitDT05GSUdfRk9OVF84eDg9eQorIyBDT05GSUdfRk9OVF84eDE2IGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZPTlRfNngxMSBpcyBub3Qgc2V0CisjIENPTkZJR19GT05UXzd4MTQgaXMgbm90IHNldAorIyBDT05GSUdfRk9OVF9QRUFSTF84eDggaXMgbm90IHNldAorIyBDT05GSUdfRk9OVF9BQ09STl84eDggaXMgbm90IHNldAorIyBDT05GSUdfRk9OVF9NSU5JXzR4NiBpcyBub3Qgc2V0CisjIENPTkZJR19GT05UX1NVTjh4MTYgaXMgbm90IHNldAorIyBDT05GSUdfRk9OVF9TVU4xMngyMiBpcyBub3Qgc2V0CisjIENPTkZJR19GT05UXzEweDE4IGlzIG5vdCBzZXQKKyMgQ09ORklHX0xPR08gaXMgbm90IHNldAorCisjCisjIFNvdW5kCisjCisjIENPTkZJR19TT1VORCBpcyBub3Qgc2V0CisjIENPTkZJR19ISURfU1VQUE9SVCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1VQUE9SVCBpcyBub3Qgc2V0CisjIENPTkZJR19NTUMgaXMgbm90IHNldAorIyBDT05GSUdfTkVXX0xFRFMgaXMgbm90IHNldAorQ09ORklHX1JUQ19MSUI9eQorQ09ORklHX1JUQ19DTEFTUz15CitDT05GSUdfUlRDX0hDVE9TWVM9eQorQ09ORklHX1JUQ19IQ1RPU1lTX0RFVklDRT0icnRjMCIKKyMgQ09ORklHX1JUQ19ERUJVRyBpcyBub3Qgc2V0CisKKyMKKyMgUlRDIGludGVyZmFjZXMKKyMKK0NPTkZJR19SVENfSU5URl9TWVNGUz15CitDT05GSUdfUlRDX0lOVEZfUFJPQz15CitDT05GSUdfUlRDX0lOVEZfREVWPXkKKyMgQ09ORklHX1JUQ19JTlRGX0RFVl9VSUVfRU1VTCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1RFU1QgaXMgbm90IHNldAorCisjCisjIEkyQyBSVEMgZHJpdmVycworIworIyBDT05GSUdfUlRDX0RSVl9EUzEzMDcgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9EUzEzNzQgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9EUzE2NzIgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9NQVg2OTAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUlM1QzM3MiBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0lTTDEyMDggaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9YMTIwNSBpcyBub3Qgc2V0CitDT05GSUdfUlRDX0RSVl9QQ0Y4NTYzPXkKKyMgQ09ORklHX1JUQ19EUlZfUENGODU4MyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX000MVQ4MCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1MzNTM5MEEgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9GTTMxMzAgaXMgbm90IHNldAorCisjCisjIFNQSSBSVEMgZHJpdmVycworIworIyBDT05GSUdfUlRDX0RSVl9NQVg2OTAyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUjk3MDEgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9SUzVDMzQ4IGlzIG5vdCBzZXQKKworIworIyBQbGF0Zm9ybSBSVEMgZHJpdmVycworIworIyBDT05GSUdfUlRDX0RSVl9DTU9TIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfRFMxNTExIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfRFMxNTUzIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfRFMxNzQyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfU1RLMTdUQTggaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9NNDhUODYgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9NNDhUNTkgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9WMzAyMCBpcyBub3Qgc2V0CisKKyMKKyMgb24tQ1BVIFJUQyBkcml2ZXJzCisjCisjIENPTkZJR19VSU8gaXMgbm90IHNldAorCisjCisjIEZpbGUgc3lzdGVtcworIworIyBDT05GSUdfRVhUMl9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19FWFQzX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VYVDRERVZfRlMgaXMgbm90IHNldAorIyBDT05GSUdfUkVJU0VSRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfSkZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0CisjIENPTkZJR19YRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfT0NGUzJfRlMgaXMgbm90IHNldAorIyBDT05GSUdfRE5PVElGWSBpcyBub3Qgc2V0CisjIENPTkZJR19JTk9USUZZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1FVT1RBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FVVE9GU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19BVVRPRlM0X0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZVU0VfRlMgaXMgbm90IHNldAorCisjCisjIENELVJPTS9EVkQgRmlsZXN5c3RlbXMKKyMKKyMgQ09ORklHX0lTTzk2NjBfRlMgaXMgbm90IHNldAorIyBDT05GSUdfVURGX0ZTIGlzIG5vdCBzZXQKKworIworIyBET1MvRkFUL05UIEZpbGVzeXN0ZW1zCisjCisjIENPTkZJR19NU0RPU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19WRkFUX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX05URlNfRlMgaXMgbm90IHNldAorCisjCisjIFBzZXVkbyBmaWxlc3lzdGVtcworIworQ09ORklHX1BST0NfRlM9eQorQ09ORklHX1BST0NfU1lTQ1RMPXkKK0NPTkZJR19TWVNGUz15CitDT05GSUdfVE1QRlM9eQorIyBDT05GSUdfVE1QRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hVR0VUTEJfUEFHRSBpcyBub3Qgc2V0CisjIENPTkZJR19DT05GSUdGU19GUyBpcyBub3Qgc2V0CisKKyMKKyMgTWlzY2VsbGFuZW91cyBmaWxlc3lzdGVtcworIworIyBDT05GSUdfQURGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19BRkZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19IRlNQTFVTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JFRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfQkZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VGU19GUyBpcyBub3Qgc2V0CitDT05GSUdfSkZGUzJfRlM9eQorQ09ORklHX0pGRlMyX0ZTX0RFQlVHPTAKK0NPTkZJR19KRkZTMl9GU19XUklURUJVRkZFUj15CisjIENPTkZJR19KRkZTMl9GU19XQlVGX1ZFUklGWSBpcyBub3Qgc2V0CisjIENPTkZJR19KRkZTMl9TVU1NQVJZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pGRlMyX0ZTX1hBVFRSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pGRlMyX0NPTVBSRVNTSU9OX09QVElPTlMgaXMgbm90IHNldAorQ09ORklHX0pGRlMyX1pMSUI9eQorIyBDT05GSUdfSkZGUzJfTFpPIGlzIG5vdCBzZXQKK0NPTkZJR19KRkZTMl9SVElNRT15CisjIENPTkZJR19KRkZTMl9SVUJJTiBpcyBub3Qgc2V0CisjIENPTkZJR19DUkFNRlMgaXMgbm90IHNldAorIyBDT05GSUdfVlhGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19NSU5JWF9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19IUEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1FOWDRGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19ST01GU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19TWVNWX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VGU19GUyBpcyBub3Qgc2V0CitDT05GSUdfTkVUV09SS19GSUxFU1lTVEVNUz15CitDT05GSUdfTkZTX0ZTPXkKK0NPTkZJR19ORlNfVjM9eQorIyBDT05GSUdfTkZTX1YzX0FDTCBpcyBub3Qgc2V0CisjIENPTkZJR19ORlNfVjQgaXMgbm90IHNldAorIyBDT05GSUdfTkZTRCBpcyBub3Qgc2V0CitDT05GSUdfUk9PVF9ORlM9eQorQ09ORklHX0xPQ0tEPXkKK0NPTkZJR19MT0NLRF9WND15CitDT05GSUdfTkZTX0NPTU1PTj15CitDT05GSUdfU1VOUlBDPXkKKyMgQ09ORklHX1NVTlJQQ19CSU5EMzQgaXMgbm90IHNldAorIyBDT05GSUdfUlBDU0VDX0dTU19LUkI1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JQQ1NFQ19HU1NfU1BLTTMgaXMgbm90IHNldAorIyBDT05GSUdfU01CX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NJRlMgaXMgbm90IHNldAorIyBDT05GSUdfTkNQX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NPREFfRlMgaXMgbm90IHNldAorIyBDT05GSUdfQUZTX0ZTIGlzIG5vdCBzZXQKKworIworIyBQYXJ0aXRpb24gVHlwZXMKKyMKKyMgQ09ORklHX1BBUlRJVElPTl9BRFZBTkNFRCBpcyBub3Qgc2V0CitDT05GSUdfTVNET1NfUEFSVElUSU9OPXkKK0NPTkZJR19OTFM9eQorQ09ORklHX05MU19ERUZBVUxUPSJpc284ODU5LTEiCitDT05GSUdfTkxTX0NPREVQQUdFXzQzNz1tCisjIENPTkZJR19OTFNfQ09ERVBBR0VfNzM3IGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19DT0RFUEFHRV83NzUgaXMgbm90IHNldAorQ09ORklHX05MU19DT0RFUEFHRV84NTA9bQorIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1MiBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQ09ERVBBR0VfODU1IGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19DT0RFUEFHRV84NTcgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2MCBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQ09ERVBBR0VfODYxIGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19DT0RFUEFHRV84NjIgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2MyBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQ09ERVBBR0VfODY0IGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19DT0RFUEFHRV84NjUgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2NiBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQ09ERVBBR0VfODY5IGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19DT0RFUEFHRV85MzYgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzk1MCBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQ09ERVBBR0VfOTMyIGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19DT0RFUEFHRV85NDkgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzg3NCBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfSVNPODg1OV84IGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19DT0RFUEFHRV8xMjUwIGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19DT0RFUEFHRV8xMjUxIGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19BU0NJSSBpcyBub3Qgc2V0CitDT05GSUdfTkxTX0lTTzg4NTlfMT15CisjIENPTkZJR19OTFNfSVNPODg1OV8yIGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19JU084ODU5XzMgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0lTTzg4NTlfNCBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfSVNPODg1OV81IGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19JU084ODU5XzYgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0lTTzg4NTlfNyBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfSVNPODg1OV85IGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19JU084ODU5XzEzIGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19JU084ODU5XzE0IGlzIG5vdCBzZXQKK0NPTkZJR19OTFNfSVNPODg1OV8xNT1tCisjIENPTkZJR19OTFNfS09JOF9SIGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19LT0k4X1UgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX1VURjggaXMgbm90IHNldAorIyBDT05GSUdfRExNIGlzIG5vdCBzZXQKKworIworIyBLZXJuZWwgaGFja2luZworIworIyBDT05GSUdfUFJJTlRLX1RJTUUgaXMgbm90IHNldAorQ09ORklHX0VOQUJMRV9XQVJOX0RFUFJFQ0FURUQ9eQorQ09ORklHX0VOQUJMRV9NVVNUX0NIRUNLPXkKK0NPTkZJR19GUkFNRV9XQVJOPTEwMjQKKyMgQ09ORklHX01BR0lDX1NZU1JRIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VOVVNFRF9TWU1CT0xTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hFQURFUlNfQ0hFQ0sgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfS0VSTkVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX0JVR1ZFUkJPU0UgaXMgbm90IHNldAorQ09ORklHX0ZSQU1FX1BPSU5URVI9eQorIyBDT05GSUdfU0FNUExFUyBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19VU0VSIGlzIG5vdCBzZXQKKworIworIyBTZWN1cml0eSBvcHRpb25zCisjCisjIENPTkZJR19LRVlTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFQ1VSSVRZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFQ1VSSVRZX0ZJTEVfQ0FQQUJJTElUSUVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUTyBpcyBub3Qgc2V0CisKKyMKKyMgTGlicmFyeSByb3V0aW5lcworIworQ09ORklHX0JJVFJFVkVSU0U9eQorIyBDT05GSUdfR0VORVJJQ19GSU5EX0ZJUlNUX0JJVCBpcyBub3Qgc2V0CisjIENPTkZJR19HRU5FUklDX0ZJTkRfTkVYVF9CSVQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JDX0NDSVRUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSQzE2IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSQ19JVFVfVCBpcyBub3Qgc2V0CitDT05GSUdfQ1JDMzI9eQorIyBDT05GSUdfQ1JDNyBpcyBub3Qgc2V0CisjIENPTkZJR19MSUJDUkMzMkMgaXMgbm90IHNldAorQ09ORklHX1pMSUJfSU5GTEFURT15CitDT05GSUdfWkxJQl9ERUZMQVRFPXkKK0NPTkZJR19QTElTVD15CitDT05GSUdfSEFTX0lPTUVNPXkKK0NPTkZJR19IQVNfSU9QT1JUPXkKK0NPTkZJR19IQVNfRE1BPXkKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvcGljb3R1eDIwMF9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL3BpY290dXgyMDBfZGVmY29uZmlnCmluZGV4IDk1YTIyZjUuLjE0ODI2ZjAgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvcGljb3R1eDIwMF9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9waWNvdHV4MjAwX2RlZmNvbmZpZwpAQCAtMjAxLDcgKzIwMSw2IEBACiAjIEtlcm5lbCBGZWF0dXJlcwogIwogIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0Ci1DT05GSUdfTk9fSURMRV9IWj15CiBDT05GSUdfSFo9MTAwCiBDT05GSUdfQUVBQkk9eQogQ09ORklHX09BQklfQ09NUEFUPXkKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvcG54NDAwOF9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL3BueDQwMDhfZGVmY29uZmlnCmluZGV4IGI1ZTExYWEuLjgxMWI4ZjYgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvcG54NDAwOF9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9wbng0MDA4X2RlZmNvbmZpZwpAQCAtMTUxLDcgKzE1MSw2IEBACiAjIEtlcm5lbCBGZWF0dXJlcwogIwogQ09ORklHX1BSRUVNUFQ9eQotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiBDT05GSUdfSFo9MTAwCiAjIENPTkZJR19BRUFCSSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9FTkFCTEUgaXMgbm90IHNldApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9lbV94MjcwX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvcWlsLWE5MjYwX2RlZmNvbmZpZwpzaW1pbGFyaXR5IGluZGV4IDY3JQpjb3B5IGZyb20gYXJjaC9hcm0vY29uZmlncy9lbV94MjcwX2RlZmNvbmZpZwpjb3B5IHRvIGFyY2gvYXJtL2NvbmZpZ3MvcWlsLWE5MjYwX2RlZmNvbmZpZwppbmRleCA2YmVhMDkwLi5lZjkwM2JlIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL2VtX3gyNzBfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvcWlsLWE5MjYwX2RlZmNvbmZpZwpAQCAtMSwxMyArMSwxMyBAQAogIwogIyBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBtYWtlIGNvbmZpZzogZG9uJ3QgZWRpdAotIyBMaW51eCBrZXJuZWwgdmVyc2lvbjogMi42LjIyCi0jIE1vbiBKdWwgIDkgMTU6MTg6MjAgMjAwNworIyBMaW51eCBrZXJuZWwgdmVyc2lvbjogMi42LjI0CisjIFR1ZSBBcHIgMTUgMTI6Mjg6MzggMjAwOAogIwogQ09ORklHX0FSTT15CiBDT05GSUdfU1lTX1NVUFBPUlRTX0FQTV9FTVVMQVRJT049eQogQ09ORklHX0dFTkVSSUNfR1BJTz15CiBDT05GSUdfR0VORVJJQ19USU1FPXkKLSMgQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFMgaXMgbm90IHNldAorQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFM9eQogQ09ORklHX01NVT15CiAjIENPTkZJR19OT19JT1BPUlQgaXMgbm90IHNldAogQ09ORklHX0dFTkVSSUNfSEFSRElSUVM9eQpAQCAtMjIsNDEgKzIyLDM4IEBACiBDT05GSUdfR0VORVJJQ19IV0VJR0hUPXkKIENPTkZJR19HRU5FUklDX0NBTElCUkFURV9ERUxBWT15CiBDT05GSUdfWk9ORV9ETUE9eQotQ09ORklHX0FSQ0hfTVREX1hJUD15CiBDT05GSUdfVkVDVE9SU19CQVNFPTB4ZmZmZjAwMDAKIENPTkZJR19ERUZDT05GSUdfTElTVD0iL2xpYi9tb2R1bGVzLyRVTkFNRV9SRUxFQVNFLy5jb25maWciCiAKICMKLSMgQ29kZSBtYXR1cml0eSBsZXZlbCBvcHRpb25zCisjIEdlbmVyYWwgc2V0dXAKICMKIENPTkZJR19FWFBFUklNRU5UQUw9eQogQ09ORklHX0JST0tFTl9PTl9TTVA9eQogQ09ORklHX0lOSVRfRU5WX0FSR19MSU1JVD0zMgotCi0jCi0jIEdlbmVyYWwgc2V0dXAKLSMKLUNPTkZJR19MT0NBTFZFUlNJT049Ii1lbS14MjcwIgorQ09ORklHX0xPQ0FMVkVSU0lPTj0iIgogIyBDT05GSUdfTE9DQUxWRVJTSU9OX0FVVE8gaXMgbm90IHNldAotQ09ORklHX1NXQVA9eQorIyBDT05GSUdfU1dBUCBpcyBub3Qgc2V0CiBDT05GSUdfU1lTVklQQz15Ci0jIENPTkZJR19JUENfTlMgaXMgbm90IHNldAogQ09ORklHX1NZU1ZJUENfU1lTQ1RMPXkKICMgQ09ORklHX1BPU0lYX01RVUVVRSBpcyBub3Qgc2V0CiAjIENPTkZJR19CU0RfUFJPQ0VTU19BQ0NUIGlzIG5vdCBzZXQKICMgQ09ORklHX1RBU0tTVEFUUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VVFNfTlMgaXMgbm90IHNldAorIyBDT05GSUdfVVNFUl9OUyBpcyBub3Qgc2V0CisjIENPTkZJR19QSURfTlMgaXMgbm90IHNldAogIyBDT05GSUdfQVVESVQgaXMgbm90IHNldAotQ09ORklHX0lLQ09ORklHPXkKLUNPTkZJR19JS0NPTkZJR19QUk9DPXkKLUNPTkZJR19MT0dfQlVGX1NISUZUPTE3Ci1DT05GSUdfU1lTRlNfREVQUkVDQVRFRD15CisjIENPTkZJR19JS0NPTkZJRyBpcyBub3Qgc2V0CitDT05GSUdfTE9HX0JVRl9TSElGVD0xNAorIyBDT05GSUdfQ0dST1VQUyBpcyBub3Qgc2V0CitDT05GSUdfRkFJUl9HUk9VUF9TQ0hFRD15CitDT05GSUdfRkFJUl9VU0VSX1NDSEVEPXkKKyMgQ09ORklHX0ZBSVJfQ0dST1VQX1NDSEVEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NZU0ZTX0RFUFJFQ0FURUQgaXMgbm90IHNldAogIyBDT05GSUdfUkVMQVkgaXMgbm90IHNldAotQ09ORklHX0JMS19ERVZfSU5JVFJEPXkKLUNPTkZJR19JTklUUkFNRlNfU09VUkNFPSIiCi1DT05GSUdfQ0NfT1BUSU1JWkVfRk9SX1NJWkU9eQorIyBDT05GSUdfQkxLX0RFVl9JTklUUkQgaXMgbm90IHNldAorIyBDT05GSUdfQ0NfT1BUSU1JWkVfRk9SX1NJWkUgaXMgbm90IHNldAogQ09ORklHX1NZU0NUTD15Ci1DT05GSUdfRU1CRURERUQ9eQorIyBDT05GSUdfRU1CRURERUQgaXMgbm90IHNldAogQ09ORklHX1VJRDE2PXkKIENPTkZJR19TWVNDVExfU1lTQ0FMTD15CiBDT05GSUdfS0FMTFNZTVM9eQpAQCAtNzEsNDIgKzY4LDM1IEBACiBDT05GSUdfQU5PTl9JTk9ERVM9eQogQ09ORklHX0VQT0xMPXkKIENPTkZJR19TSUdOQUxGRD15Ci1DT05GSUdfVElNRVJGRD15CiBDT05GSUdfRVZFTlRGRD15CiBDT05GSUdfU0hNRU09eQogQ09ORklHX1ZNX0VWRU5UX0NPVU5URVJTPXkKIENPTkZJR19TTEFCPXkKICMgQ09ORklHX1NMVUIgaXMgbm90IHNldAogIyBDT05GSUdfU0xPQiBpcyBub3Qgc2V0CitDT05GSUdfU0xBQklORk89eQogQ09ORklHX1JUX01VVEVYRVM9eQogIyBDT05GSUdfVElOWV9TSE1FTSBpcyBub3Qgc2V0CiBDT05GSUdfQkFTRV9TTUFMTD0wCi0KLSMKLSMgTG9hZGFibGUgbW9kdWxlIHN1cHBvcnQKLSMKIENPTkZJR19NT0RVTEVTPXkKIENPTkZJR19NT0RVTEVfVU5MT0FEPXkKLUNPTkZJR19NT0RVTEVfRk9SQ0VfVU5MT0FEPXkKKyMgQ09ORklHX01PRFVMRV9GT1JDRV9VTkxPQUQgaXMgbm90IHNldAogIyBDT05GSUdfTU9EVkVSU0lPTlMgaXMgbm90IHNldAogIyBDT05GSUdfTU9EVUxFX1NSQ1ZFUlNJT05fQUxMIGlzIG5vdCBzZXQKIENPTkZJR19LTU9EPXkKLQotIwotIyBCbG9jayBsYXllcgotIwogQ09ORklHX0JMT0NLPXkKICMgQ09ORklHX0xCRCBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfREVWX0lPX1RSQUNFIGlzIG5vdCBzZXQKICMgQ09ORklHX0xTRiBpcyBub3Qgc2V0CisjIENPTkZJR19CTEtfREVWX0JTRyBpcyBub3Qgc2V0CiAKICMKICMgSU8gU2NoZWR1bGVycwogIwogQ09ORklHX0lPU0NIRURfTk9PUD15CiBDT05GSUdfSU9TQ0hFRF9BUz15Ci1DT05GSUdfSU9TQ0hFRF9ERUFETElORT15Ci1DT05GSUdfSU9TQ0hFRF9DRlE9eQorIyBDT05GSUdfSU9TQ0hFRF9ERUFETElORSBpcyBub3Qgc2V0CisjIENPTkZJR19JT1NDSEVEX0NGUSBpcyBub3Qgc2V0CiBDT05GSUdfREVGQVVMVF9BUz15CiAjIENPTkZJR19ERUZBVUxUX0RFQURMSU5FIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFRkFVTFRfQ0ZRIGlzIG5vdCBzZXQKQEAgLTEyMCw3ICsxMTAsNyBAQAogIyBDT05GSUdfQVJDSF9JTlRFR1JBVE9SIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfUkVBTFZJRVcgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9WRVJTQVRJTEUgaXMgbm90IHNldAotIyBDT05GSUdfQVJDSF9BVDkxIGlzIG5vdCBzZXQKK0NPTkZJR19BUkNIX0FUOTE9eQogIyBDT05GSUdfQVJDSF9DTFBTNzUwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0NMUFM3MTFYIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfQ08yODUgaXMgbm90IHNldApAQCAtMTM5LDggKzEyOSw5IEBACiAjIENPTkZJR19BUkNIX0w3MjAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfS1M4Njk1IGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfTlM5WFhYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfTVhDIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfUE5YNDAwOCBpcyBub3Qgc2V0Ci1DT05GSUdfQVJDSF9QWEE9eQorIyBDT05GSUdfQVJDSF9QWEEgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9SUEMgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9TQTExMDAgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9TM0MyNDEwIGlzIG5vdCBzZXQKQEAgLTE1MCwyNSArMTQxLDY2IEBACiAjIENPTkZJR19BUkNIX09NQVAgaXMgbm90IHNldAogCiAjCi0jIEludGVsIFBYQTJ4eCBJbXBsZW1lbnRhdGlvbnMKKyMgQm9vdCBvcHRpb25zCiAjCi0jIENPTkZJR19BUkNIX0xVQkJPQ0sgaXMgbm90IHNldAotIyBDT05GSUdfTUFDSF9MT0dJQ1BEX1BYQTI3MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NQUNIX01BSU5TVE9ORSBpcyBub3Qgc2V0Ci0jIENPTkZJR19BUkNIX1BYQV9JRFAgaXMgbm90IHNldAotIyBDT05GSUdfUFhBX1NIQVJQU0wgaXMgbm90IHNldAotIyBDT05GSUdfTUFDSF9UUklaRVBTNCBpcyBub3Qgc2V0Ci1DT05GSUdfTUFDSF9FTV9YMjcwPXkKLUNPTkZJR19QWEEyN3g9eQorCisjCisjIFBvd2VyIG1hbmFnZW1lbnQKKyMKKworIworIyBBdG1lbCBBVDkxIFN5c3RlbS1vbi1DaGlwCisjCisjIENPTkZJR19BUkNIX0FUOTFSTTkyMDAgaXMgbm90IHNldAorQ09ORklHX0FSQ0hfQVQ5MVNBTTkyNjA9eQorIyBDT05GSUdfQVJDSF9BVDkxU0FNOTI2MSBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0FUOTFTQU05MjYzIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfQVQ5MVNBTTlSTCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0FUOTFDQVA5IGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfQVQ5MVg0MCBpcyBub3Qgc2V0CitDT05GSUdfQVQ5MV9QTUNfVU5JVD15CisKKyMKKyMgQVQ5MVNBTTkyNjAgVmFyaWFudHMKKyMKKyMgQ09ORklHX0FSQ0hfQVQ5MVNBTTkyNjBfU0FNOVhFIGlzIG5vdCBzZXQKKworIworIyBBVDkxU0FNOTI2MCAvIEFUOTFTQU05WEUgQm9hcmQgVHlwZQorIworIyBDT05GSUdfTUFDSF9BVDkxU0FNOTI2MEVLIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BQ0hfQ0FNNjAgaXMgbm90IHNldAorIyBDT05GSUdfTUFDSF9TQU05X0w5MjYwIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BQ0hfVVNCX0E5MjYwIGlzIG5vdCBzZXQKK0NPTkZJR19NQUNIX1FJTF9BOTI2MD15CisKKyMKKyMgQVQ5MSBCb2FyZCBPcHRpb25zCisjCisKKyMKKyMgQVQ5MSBGZWF0dXJlIFNlbGVjdGlvbnMKKyMKKyMgQ09ORklHX0FUOTFfUFJPR1JBTU1BQkxFX0NMT0NLUyBpcyBub3Qgc2V0CitDT05GSUdfQVQ5MV9TTE9XX0NMT0NLPXkKK0NPTkZJR19BVDkxX1RJTUVSX0haPTEwMAorIyBDT05GSUdfQVQ5MV9FQVJMWV9EQkdVIGlzIG5vdCBzZXQKK0NPTkZJR19BVDkxX0VBUkxZX1VTQVJUMD15CisjIENPTkZJR19BVDkxX0VBUkxZX1VTQVJUMSBpcyBub3Qgc2V0CisjIENPTkZJR19BVDkxX0VBUkxZX1VTQVJUMiBpcyBub3Qgc2V0CisjIENPTkZJR19BVDkxX0VBUkxZX1VTQVJUMyBpcyBub3Qgc2V0CisjIENPTkZJR19BVDkxX0VBUkxZX1VTQVJUNCBpcyBub3Qgc2V0CisjIENPTkZJR19BVDkxX0VBUkxZX1VTQVJUNSBpcyBub3Qgc2V0CiAKICMKICMgUHJvY2Vzc29yIFR5cGUKICMKIENPTkZJR19DUFVfMzI9eQotQ09ORklHX0NQVV9YU0NBTEU9eQorQ09ORklHX0NQVV9BUk05MjZUPXkKIENPTkZJR19DUFVfMzJ2NT15Ci1DT05GSUdfQ1BVX0FCUlRfRVY1VD15CitDT05GSUdfQ1BVX0FCUlRfRVY1VEo9eQogQ09ORklHX0NQVV9DQUNIRV9WSVZUPXkKK0NPTkZJR19DUFVfQ09QWV9WNFdCPXkKIENPTkZJR19DUFVfVExCX1Y0V0JJPXkKIENPTkZJR19DUFVfQ1AxNT15CiBDT05GSUdfQ1BVX0NQMTVfTU1VPXkKQEAgLTE3NiwyOCArMjA4LDI4IEBACiAjCiAjIFByb2Nlc3NvciBGZWF0dXJlcwogIwotQ09ORklHX0FSTV9USFVNQj15CisjIENPTkZJR19BUk1fVEhVTUIgaXMgbm90IHNldAorIyBDT05GSUdfQ1BVX0lDQUNIRV9ESVNBQkxFIGlzIG5vdCBzZXQKICMgQ09ORklHX0NQVV9EQ0FDSEVfRElTQUJMRSBpcyBub3Qgc2V0CisjIENPTkZJR19DUFVfRENBQ0hFX1dSSVRFVEhST1VHSCBpcyBub3Qgc2V0CisjIENPTkZJR19DUFVfQ0FDSEVfUk9VTkRfUk9CSU4gaXMgbm90IHNldAogIyBDT05GSUdfT1VURVJfQ0FDSEUgaXMgbm90IHNldAotQ09ORklHX0lXTU1YVD15Ci1DT05GSUdfWFNDQUxFX1BNVT15CiAKICMKICMgQnVzIHN1cHBvcnQKICMKKyMgQ09ORklHX1BDSV9TWVNDQUxMIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfU1VQUE9SVFNfTVNJIGlzIG5vdCBzZXQKLQotIwotIyBQQ0NBUkQgKFBDTUNJQS9DYXJkQnVzKSBzdXBwb3J0Ci0jCiAjIENPTkZJR19QQ0NBUkQgaXMgbm90IHNldAogCiAjCiAjIEtlcm5lbCBGZWF0dXJlcwogIwogIyBDT05GSUdfVElDS19PTkVTSE9UIGlzIG5vdCBzZXQKKyMgQ09ORklHX05PX0haIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hJR0hfUkVTX1RJTUVSUyBpcyBub3Qgc2V0CitDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UU19CVUlMRD15CiAjIENPTkZJR19QUkVFTVBUIGlzIG5vdCBzZXQKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX0haPTEwMAogQ09ORklHX0FFQUJJPXkKIENPTkZJR19PQUJJX0NPTVBBVD15CkBAIC0yMDksOSArMjQxLDEzIEBACiBDT05GSUdfRkxBVE1FTT15CiBDT05GSUdfRkxBVF9OT0RFX01FTV9NQVA9eQogIyBDT05GSUdfU1BBUlNFTUVNX1NUQVRJQyBpcyBub3Qgc2V0CisjIENPTkZJR19TUEFSU0VNRU1fVk1FTU1BUF9FTkFCTEUgaXMgbm90IHNldAogQ09ORklHX1NQTElUX1BUTE9DS19DUFVTPTQwOTYKICMgQ09ORklHX1JFU09VUkNFU182NEJJVCBpcyBub3Qgc2V0CiBDT05GSUdfWk9ORV9ETUFfRkxBRz0xCitDT05GSUdfQk9VTkNFPXkKK0NPTkZJR19WSVJUX1RPX0JVUz15CisjIENPTkZJR19MRURTIGlzIG5vdCBzZXQKIENPTkZJR19BTElHTk1FTlRfVFJBUD15CiAKICMKQEAgLTIxOSw3ICsyNTUsNyBAQAogIwogQ09ORklHX1pCT09UX1JPTV9URVhUPTB4MAogQ09ORklHX1pCT09UX1JPTV9CU1M9MHgwCi1DT05GSUdfQ01ETElORT0iIgorQ09ORklHX0NNRExJTkU9Im1lbT02NE0gY29uc29sZT10dHlTMSwxMTUyMDAiCiAjIENPTkZJR19YSVBfS0VSTkVMIGlzIG5vdCBzZXQKICMgQ09ORklHX0tFWEVDIGlzIG5vdCBzZXQKIApAQCAtMjMzLDYgKzI2OSw3IEBACiBDT05GSUdfRlBFX05XRlBFPXkKICMgQ09ORklHX0ZQRV9OV0ZQRV9YUCBpcyBub3Qgc2V0CiAjIENPTkZJR19GUEVfRkFTVEZQRSBpcyBub3Qgc2V0CisjIENPTkZJR19WRlAgaXMgbm90IHNldAogCiAjCiAjIFVzZXJzcGFjZSBiaW5hcnkgZm9ybWF0cwpAQCAtMjQ1LDEwICsyODIsMTIgQEAKICMgUG93ZXIgbWFuYWdlbWVudCBvcHRpb25zCiAjCiBDT05GSUdfUE09eQotQ09ORklHX1BNX0xFR0FDWT15CisjIENPTkZJR19QTV9MRUdBQ1kgaXMgbm90IHNldAogIyBDT05GSUdfUE1fREVCVUcgaXMgbm90IHNldAotIyBDT05GSUdfUE1fU1lTRlNfREVQUkVDQVRFRCBpcyBub3Qgc2V0Ci1DT05GSUdfQVBNX0VNVUxBVElPTj1tCitDT05GSUdfUE1fU0xFRVA9eQorQ09ORklHX1NVU1BFTkRfVVBfUE9TU0lCTEU9eQorQ09ORklHX1NVU1BFTkQ9eQorIyBDT05GSUdfQVBNX0VNVUxBVElPTiBpcyBub3Qgc2V0CiAKICMKICMgTmV0d29ya2luZwpAQCAtMjYxLDIxICszMDAsMjUgQEAKIENPTkZJR19QQUNLRVQ9eQogIyBDT05GSUdfUEFDS0VUX01NQVAgaXMgbm90IHNldAogQ09ORklHX1VOSVg9eQotQ09ORklHX1hGUk09eQotIyBDT05GSUdfWEZSTV9VU0VSIGlzIG5vdCBzZXQKLSMgQ09ORklHX1hGUk1fU1VCX1BPTElDWSBpcyBub3Qgc2V0Ci0jIENPTkZJR19YRlJNX01JR1JBVEUgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0tFWSBpcyBub3Qgc2V0CiBDT05GSUdfSU5FVD15Ci0jIENPTkZJR19JUF9NVUxUSUNBU1QgaXMgbm90IHNldAotIyBDT05GSUdfSVBfQURWQU5DRURfUk9VVEVSIGlzIG5vdCBzZXQKK0NPTkZJR19JUF9NVUxUSUNBU1Q9eQorQ09ORklHX0lQX0FEVkFOQ0VEX1JPVVRFUj15CitDT05GSUdfQVNLX0lQX0ZJQl9IQVNIPXkKKyMgQ09ORklHX0lQX0ZJQl9UUklFIGlzIG5vdCBzZXQKIENPTkZJR19JUF9GSUJfSEFTSD15CisjIENPTkZJR19JUF9NVUxUSVBMRV9UQUJMRVMgaXMgbm90IHNldAorIyBDT05GSUdfSVBfUk9VVEVfTVVMVElQQVRIIGlzIG5vdCBzZXQKK0NPTkZJR19JUF9ST1VURV9WRVJCT1NFPXkKIENPTkZJR19JUF9QTlA9eQotQ09ORklHX0lQX1BOUF9ESENQPXkKKyMgQ09ORklHX0lQX1BOUF9ESENQIGlzIG5vdCBzZXQKIENPTkZJR19JUF9QTlBfQk9PVFA9eQotIyBDT05GSUdfSVBfUE5QX1JBUlAgaXMgbm90IHNldAorQ09ORklHX0lQX1BOUF9SQVJQPXkKICMgQ09ORklHX05FVF9JUElQIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9JUEdSRSBpcyBub3Qgc2V0CitDT05GSUdfSVBfTVJPVVRFPXkKK0NPTkZJR19JUF9QSU1TTV9WMT15CitDT05GSUdfSVBfUElNU01fVjI9eQogIyBDT05GSUdfQVJQRCBpcyBub3Qgc2V0CiAjIENPTkZJR19TWU5fQ09PS0lFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkVUX0FIIGlzIG5vdCBzZXQKQEAgLTI4MywxMSArMzI2LDExIEBACiAjIENPTkZJR19JTkVUX0lQQ09NUCBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkVUX1hGUk1fVFVOTkVMIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORVRfVFVOTkVMIGlzIG5vdCBzZXQKLUNPTkZJR19JTkVUX1hGUk1fTU9ERV9UUkFOU1BPUlQ9eQotQ09ORklHX0lORVRfWEZSTV9NT0RFX1RVTk5FTD15Ci1DT05GSUdfSU5FVF9YRlJNX01PREVfQkVFVD15Ci1DT05GSUdfSU5FVF9ESUFHPXkKLUNPTkZJR19JTkVUX1RDUF9ESUFHPXkKKyMgQ09ORklHX0lORVRfWEZSTV9NT0RFX1RSQU5TUE9SVCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX1hGUk1fTU9ERV9UVU5ORUwgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9YRlJNX01PREVfQkVFVCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX0xSTyBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX0RJQUcgaXMgbm90IHNldAogIyBDT05GSUdfVENQX0NPTkdfQURWQU5DRUQgaXMgbm90IHNldAogQ09ORklHX1RDUF9DT05HX0NVQklDPXkKIENPTkZJR19ERUZBVUxUX1RDUF9DT05HPSJjdWJpYyIKQEAgLTMxMSwxMCArMzU0LDYgQEAKICMgQ09ORklHX0xBUEIgaXMgbm90IHNldAogIyBDT05GSUdfRUNPTkVUIGlzIG5vdCBzZXQKICMgQ09ORklHX1dBTl9ST1VURVIgaXMgbm90IHNldAotCi0jCi0jIFFvUyBhbmQvb3IgZmFpciBxdWV1ZWluZwotIwogIyBDT05GSUdfTkVUX1NDSEVEIGlzIG5vdCBzZXQKIAogIwpAQCAtMzIzLDI4ICszNjIsNyBAQAogIyBDT05GSUdfTkVUX1BLVEdFTiBpcyBub3Qgc2V0CiAjIENPTkZJR19IQU1SQURJTyBpcyBub3Qgc2V0CiAjIENPTkZJR19JUkRBIGlzIG5vdCBzZXQKLUNPTkZJR19CVD1tCi1DT05GSUdfQlRfTDJDQVA9bQotQ09ORklHX0JUX1NDTz1tCi1DT05GSUdfQlRfUkZDT01NPW0KLSMgQ09ORklHX0JUX1JGQ09NTV9UVFkgaXMgbm90IHNldAotQ09ORklHX0JUX0JORVA9bQotIyBDT05GSUdfQlRfQk5FUF9NQ19GSUxURVIgaXMgbm90IHNldAotIyBDT05GSUdfQlRfQk5FUF9QUk9UT19GSUxURVIgaXMgbm90IHNldAotQ09ORklHX0JUX0hJRFA9bQotCi0jCi0jIEJsdWV0b290aCBkZXZpY2UgZHJpdmVycwotIwotQ09ORklHX0JUX0hDSVVTQj1tCi0jIENPTkZJR19CVF9IQ0lVU0JfU0NPIGlzIG5vdCBzZXQKLUNPTkZJR19CVF9IQ0lVQVJUPW0KLSMgQ09ORklHX0JUX0hDSVVBUlRfSDQgaXMgbm90IHNldAotIyBDT05GSUdfQlRfSENJVUFSVF9CQ1NQIGlzIG5vdCBzZXQKLUNPTkZJR19CVF9IQ0lCQ00yMDNYPW0KLUNPTkZJR19CVF9IQ0lCUEExMFg9bQotQ09ORklHX0JUX0hDSUJGVVNCPW0KLSMgQ09ORklHX0JUX0hDSVZIQ0kgaXMgbm90IHNldAorIyBDT05GSUdfQlQgaXMgbm90IHNldAogIyBDT05GSUdfQUZfUlhSUEMgaXMgbm90IHNldAogCiAjCkBAIC0zNTMsMTMgKzM3MSw5IEBACiAjIENPTkZJR19DRkc4MDIxMSBpcyBub3Qgc2V0CiAjIENPTkZJR19XSVJFTEVTU19FWFQgaXMgbm90IHNldAogIyBDT05GSUdfTUFDODAyMTEgaXMgbm90IHNldAotQ09ORklHX0lFRUU4MDIxMT1tCi0jIENPTkZJR19JRUVFODAyMTFfREVCVUcgaXMgbm90IHNldAotQ09ORklHX0lFRUU4MDIxMV9DUllQVF9XRVA9bQotQ09ORklHX0lFRUU4MDIxMV9DUllQVF9DQ01QPW0KLSMgQ09ORklHX0lFRUU4MDIxMV9DUllQVF9US0lQIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lFRUU4MDIxMV9TT0ZUTUFDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lFRUU4MDIxMSBpcyBub3Qgc2V0CiAjIENPTkZJR19SRktJTEwgaXMgbm90IHNldAorIyBDT05GSUdfTkVUXzlQIGlzIG5vdCBzZXQKIAogIwogIyBEZXZpY2UgRHJpdmVycwpAQCAtMzY4LDIzICszODIsMjAgQEAKICMKICMgR2VuZXJpYyBEcml2ZXIgT3B0aW9ucwogIworQ09ORklHX1VFVkVOVF9IRUxQRVJfUEFUSD0iL3NiaW4vaG90cGx1ZyIKIENPTkZJR19TVEFOREFMT05FPXkKIENPTkZJR19QUkVWRU5UX0ZJUk1XQVJFX0JVSUxEPXkKLUNPTkZJR19GV19MT0FERVI9eQorIyBDT05GSUdfRldfTE9BREVSIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0RSSVZFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19ERVZSRVMgaXMgbm90IHNldAogIyBDT05GSUdfU1lTX0hZUEVSVklTT1IgaXMgbm90IHNldAotCi0jCi0jIENvbm5lY3RvciAtIHVuaWZpZWQgdXNlcnNwYWNlIDwtPiBrZXJuZWxzcGFjZSBsaW5rZXIKLSMKICMgQ09ORklHX0NPTk5FQ1RPUiBpcyBub3Qgc2V0CiBDT05GSUdfTVREPXkKICMgQ09ORklHX01URF9ERUJVRyBpcyBub3Qgc2V0Ci1DT05GSUdfTVREX0NPTkNBVD15CisjIENPTkZJR19NVERfQ09OQ0FUIGlzIG5vdCBzZXQKIENPTkZJR19NVERfUEFSVElUSU9OUz15CiAjIENPTkZJR19NVERfUkVEQk9PVF9QQVJUUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfQ01ETElORV9QQVJUUyBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NNRExJTkVfUEFSVFM9eQogIyBDT05GSUdfTVREX0FGU19QQVJUUyBpcyBub3Qgc2V0CiAKICMKQEAgLTM5OCwxNSArNDA5LDEzIEBACiAjIENPTkZJR19JTkZUTCBpcyBub3Qgc2V0CiAjIENPTkZJR19SRkRfRlRMIGlzIG5vdCBzZXQKICMgQ09ORklHX1NTRkRDIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9PT1BTIGlzIG5vdCBzZXQKIAogIwogIyBSQU0vUk9NL0ZsYXNoIGNoaXAgZHJpdmVycwogIwogIyBDT05GSUdfTVREX0NGSSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfSkVERUNQUk9CRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfQ0ZJX05PU1dBUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfQ0ZJX0JFX0JZVEVfU1dBUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfQ0ZJX0xFX0JZVEVfU1dBUCBpcyBub3Qgc2V0CiBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzE9eQogQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8yPXkKIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfND15CkBAIC00MjUsMTIgKzQzNCwxMyBAQAogIyBNYXBwaW5nIGRyaXZlcnMgZm9yIGNoaXAgYWNjZXNzCiAjCiAjIENPTkZJR19NVERfQ09NUExFWF9NQVBQSU5HUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfU0hBUlBfU0wgaXMgbm90IHNldAogIyBDT05GSUdfTVREX1BMQVRSQU0gaXMgbm90IHNldAogCiAjCiAjIFNlbGYtY29udGFpbmVkIE1URCBkZXZpY2UgZHJpdmVycwogIworQ09ORklHX01URF9EQVRBRkxBU0g9eQorIyBDT05GSUdfTVREX00yNVA4MCBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfU0xSQU0gaXMgbm90IHNldAogIyBDT05GSUdfTVREX1BIUkFNIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9NVERSQU0gaXMgbm90IHNldApAQCAtNDQ2LDUzICs0NTYsNDIgQEAKICMgQ09ORklHX01URF9OQU5EX1ZFUklGWV9XUklURSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTkFORF9FQ0NfU01DIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9OQU5EX01VU0VVTV9JRFMgaXMgbm90IHNldAotIyBDT05GSUdfTVREX05BTkRfSDE5MDAgaXMgbm90IHNldAogQ09ORklHX01URF9OQU5EX0lEUz15CiAjIENPTkZJR19NVERfTkFORF9ESVNLT05DSElQIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9OQU5EX1NIQVJQU0wgaXMgbm90IHNldAorQ09ORklHX01URF9OQU5EX0FUOTE9eQorQ09ORklHX01URF9OQU5EX0FUOTFfRUNDX1NPRlQ9eQorIyBDT05GSUdfTVREX05BTkRfQVQ5MV9FQ0NfSFcgaXMgbm90IHNldAorIyBDT05GSUdfTVREX05BTkRfQVQ5MV9FQ0NfTk9ORSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTkFORF9OQU5EU0lNIGlzIG5vdCBzZXQKLUNPTkZJR19NVERfTkFORF9QTEFURk9STT15CisjIENPTkZJR19NVERfTkFORF9QTEFURk9STSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQUxBVURBIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9PTkVOQU5EIGlzIG5vdCBzZXQKIAogIwogIyBVQkkgLSBVbnNvcnRlZCBibG9jayBpbWFnZXMKICMKICMgQ09ORklHX01URF9VQkkgaXMgbm90IHNldAotCi0jCi0jIFBhcmFsbGVsIHBvcnQgc3VwcG9ydAotIwogIyBDT05GSUdfUEFSUE9SVCBpcyBub3Qgc2V0Ci0KLSMKLSMgUGx1ZyBhbmQgUGxheSBzdXBwb3J0Ci0jCi0jIENPTkZJR19QTlBBQ1BJIGlzIG5vdCBzZXQKLQotIwotIyBCbG9jayBkZXZpY2VzCi0jCitDT05GSUdfQkxLX0RFVj15CiAjIENPTkZJR19CTEtfREVWX0NPV19DT01NT04gaXMgbm90IHNldAogQ09ORklHX0JMS19ERVZfTE9PUD15CiAjIENPTkZJR19CTEtfREVWX0NSWVBUT0xPT1AgaXMgbm90IHNldAogIyBDT05GSUdfQkxLX0RFVl9OQkQgaXMgbm90IHNldAogIyBDT05GSUdfQkxLX0RFVl9VQiBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9SQU09eQotQ09ORklHX0JMS19ERVZfUkFNX0NPVU5UPTE2Ci1DT05GSUdfQkxLX0RFVl9SQU1fU0laRT0xMjAwMAotQ09ORklHX0JMS19ERVZfUkFNX0JMT0NLU0laRT0xMDI0CisjIENPTkZJR19CTEtfREVWX1JBTSBpcyBub3Qgc2V0CiAjIENPTkZJR19DRFJPTV9QS1RDRFZEIGlzIG5vdCBzZXQKICMgQ09ORklHX0FUQV9PVkVSX0VUSCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JREUgaXMgbm90IHNldAorIyBDT05GSUdfTUlTQ19ERVZJQ0VTIGlzIG5vdCBzZXQKIAogIwogIyBTQ1NJIGRldmljZSBzdXBwb3J0CiAjCiAjIENPTkZJR19SQUlEX0FUVFJTIGlzIG5vdCBzZXQKIENPTkZJR19TQ1NJPXkKK0NPTkZJR19TQ1NJX0RNQT15CiAjIENPTkZJR19TQ1NJX1RHVCBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX05FVExJTksgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9QUk9DX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19TQ1NJX1BST0NfRlM9eQogCiAjCiAjIFNDU0kgc3VwcG9ydCB0eXBlIChkaXNrLCB0YXBlLCBDRC1ST00pCkBAIC01MDcsNyArNTA2LDcgQEAKICMKICMgU29tZSBTQ1NJIGRldmljZXMgKGUuZy4gQ0QganVrZWJveCkgc3VwcG9ydCBtdWx0aXBsZSBMVU5zCiAjCi0jIENPTkZJR19TQ1NJX01VTFRJX0xVTiBpcyBub3Qgc2V0CitDT05GSUdfU0NTSV9NVUxUSV9MVU49eQogIyBDT05GSUdfU0NTSV9DT05TVEFOVFMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9MT0dHSU5HIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfU0NBTl9BU1lOQyBpcyBub3Qgc2V0CkBAIC01MTksNDEgKzUxOCw1MCBAQAogIyBDT05GSUdfU0NTSV9TUElfQVRUUlMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9GQ19BVFRSUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0lTQ1NJX0FUVFJTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfU0FTX0FUVFJTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfU0FTX0xJQlNBUyBpcyBub3Qgc2V0Ci0KLSMKLSMgU0NTSSBsb3ctbGV2ZWwgZHJpdmVycwotIworIyBDT05GSUdfU0NTSV9TUlBfQVRUUlMgaXMgbm90IHNldAorQ09ORklHX1NDU0lfTE9XTEVWRUw9eQogIyBDT05GSUdfSVNDU0lfVENQIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfREVCVUcgaXMgbm90IHNldAogIyBDT05GSUdfQVRBIGlzIG5vdCBzZXQKLQotIwotIyBNdWx0aS1kZXZpY2Ugc3VwcG9ydCAoUkFJRCBhbmQgTFZNKQotIwogIyBDT05GSUdfTUQgaXMgbm90IHNldAotCi0jCi0jIE5ldHdvcmsgZGV2aWNlIHN1cHBvcnQKLSMKIENPTkZJR19ORVRERVZJQ0VTPXkKKyMgQ09ORklHX05FVERFVklDRVNfTVVMVElRVUVVRSBpcyBub3Qgc2V0CiAjIENPTkZJR19EVU1NWSBpcyBub3Qgc2V0CiAjIENPTkZJR19CT05ESU5HIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BQ1ZMQU4gaXMgbm90IHNldAogIyBDT05GSUdfRVFVQUxJWkVSIGlzIG5vdCBzZXQKICMgQ09ORklHX1RVTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19QSFlMSUIgaXMgbm90IHNldAorIyBDT05GSUdfVkVUSCBpcyBub3Qgc2V0CitDT05GSUdfUEhZTElCPXkKIAogIwotIyBFdGhlcm5ldCAoMTAgb3IgMTAwTWJpdCkKKyMgTUlJIFBIWSBkZXZpY2UgZHJpdmVycwogIworIyBDT05GSUdfTUFSVkVMTF9QSFkgaXMgbm90IHNldAorIyBDT05GSUdfREFWSUNPTV9QSFkgaXMgbm90IHNldAorIyBDT05GSUdfUVNFTUlfUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xYVF9QSFkgaXMgbm90IHNldAorIyBDT05GSUdfQ0lDQURBX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19WSVRFU1NFX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19TTVNDX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19CUk9BRENPTV9QSFkgaXMgbm90IHNldAorIyBDT05GSUdfSUNQTFVTX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19GSVhFRF9QSFkgaXMgbm90IHNldAorIyBDT05GSUdfTURJT19CSVRCQU5HIGlzIG5vdCBzZXQKIENPTkZJR19ORVRfRVRIRVJORVQ9eQogQ09ORklHX01JST15CitDT05GSUdfTUFDQj15CisjIENPTkZJR19BWDg4Nzk2IGlzIG5vdCBzZXQKICMgQ09ORklHX1NNQzkxWCBpcyBub3Qgc2V0Ci1DT05GSUdfRE05MDAwPXkKLSMgQ09ORklHX1NNQzkxMVggaXMgbm90IHNldAotIyBDT05GSUdfTkVUREVWXzEwMDAgaXMgbm90IHNldAotIyBDT05GSUdfTkVUREVWXzEwMDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RNOTAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfWk1JSSBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfUkdNSUkgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1RBSCBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfRU1BQzQgaXMgbm90IHNldAorIyBDT05GSUdfQjQ0IGlzIG5vdCBzZXQKK0NPTkZJR19ORVRERVZfMTAwMD15CitDT05GSUdfTkVUREVWXzEwMDAwPXkKIAogIwogIyBXaXJlbGVzcyBMQU4KQEAgLTU2OCw3ICs1NzYsNiBAQAogIyBDT05GSUdfVVNCX0tBV0VUSCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfUEVHQVNVUyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfUlRMODE1MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfVVNCTkVUX01JSSBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfVVNCTkVUIGlzIG5vdCBzZXQKICMgQ09ORklHX1dBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19QUFAgaXMgbm90IHNldApAQCAtNTc3LDEwICs1ODQsNiBAQAogIyBDT05GSUdfTkVUQ09OU09MRSBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRQT0xMIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9QT0xMX0NPTlRST0xMRVIgaXMgbm90IHNldAotCi0jCi0jIElTRE4gc3Vic3lzdGVtCi0jCiAjIENPTkZJR19JU0ROIGlzIG5vdCBzZXQKIAogIwpAQCAtNTk4LDkgKzYwMSw4IEBACiBDT05GSUdfSU5QVVRfTU9VU0VERVZfU0NSRUVOX1g9MTAyNAogQ09ORklHX0lOUFVUX01PVVNFREVWX1NDUkVFTl9ZPTc2OAogIyBDT05GSUdfSU5QVVRfSk9ZREVWIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lOUFVUX1RTREVWIGlzIG5vdCBzZXQKIENPTkZJR19JTlBVVF9FVkRFVj15Ci0jIENPTkZJR19JTlBVVF9FVkJVRyBpcyBub3Qgc2V0CitDT05GSUdfSU5QVVRfRVZCVUc9eQogCiAjCiAjIElucHV0IERldmljZSBEcml2ZXJzCkBAIC02MTIsMzAgKzYxNCwxNyBAQAogIyBDT05GSUdfS0VZQk9BUkRfWFRLQkQgaXMgbm90IHNldAogIyBDT05GSUdfS0VZQk9BUkRfTkVXVE9OIGlzIG5vdCBzZXQKICMgQ09ORklHX0tFWUJPQVJEX1NUT1dBV0FZIGlzIG5vdCBzZXQKLUNPTkZJR19LRVlCT0FSRF9QWEEyN3g9bQotIyBDT05GSUdfS0VZQk9BUkRfR1BJTyBpcyBub3Qgc2V0CitDT05GSUdfS0VZQk9BUkRfR1BJTz15CiAjIENPTkZJR19JTlBVVF9NT1VTRSBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9KT1lTVElDSyBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9UQUJMRVQgaXMgbm90IHNldAotQ09ORklHX0lOUFVUX1RPVUNIU0NSRUVOPXkKLSMgQ09ORklHX1RPVUNIU0NSRUVOX0dVTlpFIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX0VMTyBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9NVE9VQ0ggaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fTUs3MTIgaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fUEVOTU9VTlQgaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVE9VQ0hSSUdIVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9UT1VDSFdJTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9VQ0IxNDAwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX1VTQl9DT01QT1NJVEUgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfVE9VQ0hTQ1JFRU4gaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfTUlTQyBpcyBub3Qgc2V0CiAKICMKICMgSGFyZHdhcmUgSS9PIHBvcnRzCiAjCi1DT05GSUdfU0VSSU89eQotIyBDT05GSUdfU0VSSU9fU0VSUE9SVCBpcyBub3Qgc2V0Ci1DT05GSUdfU0VSSU9fTElCUFMyPXkKLSMgQ09ORklHX1NFUklPX1JBVyBpcyBub3Qgc2V0CisjIENPTkZJR19TRVJJTyBpcyBub3Qgc2V0CiAjIENPTkZJR19HQU1FUE9SVCBpcyBub3Qgc2V0CiAKICMKQEAgLTY1NSw0NSArNjQ0LDEwMSBAQAogIwogIyBOb24tODI1MCBzZXJpYWwgcG9ydCBzdXBwb3J0CiAjCi1DT05GSUdfU0VSSUFMX1BYQT15Ci1DT05GSUdfU0VSSUFMX1BYQV9DT05TT0xFPXkKK0NPTkZJR19TRVJJQUxfQVRNRUw9eQorQ09ORklHX1NFUklBTF9BVE1FTF9DT05TT0xFPXkKKyMgQ09ORklHX1NFUklBTF9BVE1FTF9UVFlBVCBpcyBub3Qgc2V0CiBDT05GSUdfU0VSSUFMX0NPUkU9eQogQ09ORklHX1NFUklBTF9DT1JFX0NPTlNPTEU9eQogQ09ORklHX1VOSVg5OF9QVFlTPXkKIENPTkZJR19MRUdBQ1lfUFRZUz15CiBDT05GSUdfTEVHQUNZX1BUWV9DT1VOVD0yNTYKLQotIwotIyBJUE1JCi0jCiAjIENPTkZJR19JUE1JX0hBTkRMRVIgaXMgbm90IHNldAotIyBDT05GSUdfV0FUQ0hET0cgaXMgbm90IHNldAotQ09ORklHX0hXX1JBTkRPTT1tCitDT05GSUdfSFdfUkFORE9NPXkKICMgQ09ORklHX05WUkFNIGlzIG5vdCBzZXQKICMgQ09ORklHX1IzOTY0IGlzIG5vdCBzZXQKICMgQ09ORklHX1JBV19EUklWRVIgaXMgbm90IHNldAorIyBDT05GSUdfVENHX1RQTSBpcyBub3Qgc2V0CitDT05GSUdfSTJDPXkKK0NPTkZJR19JMkNfQk9BUkRJTkZPPXkKK0NPTkZJR19JMkNfQ0hBUkRFVj15CiAKICMKLSMgVFBNIGRldmljZXMKKyMgSTJDIEFsZ29yaXRobXMKICMKLSMgQ09ORklHX1RDR19UUE0gaXMgbm90IHNldAotIyBDT05GSUdfSTJDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19BTEdPQklUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19BTEdPUENGIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19BTEdPUENBIGlzIG5vdCBzZXQKKworIworIyBJMkMgSGFyZHdhcmUgQnVzIHN1cHBvcnQKKyMKKyMgQ09ORklHX0kyQ19HUElPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19PQ09SRVMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1BBUlBPUlRfTElHSFQgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1NJTVRFQyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfVEFPU19FVk0gaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1NUVUIgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1RJTllfVVNCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19QQ0EgaXMgbm90IHNldAorCisjCisjIE1pc2NlbGxhbmVvdXMgSTJDIENoaXAgc3VwcG9ydAorIworIyBDT05GSUdfU0VOU09SU19EUzEzMzcgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19EUzEzNzQgaXMgbm90IHNldAorIyBDT05GSUdfRFMxNjgyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfRUVQUk9NIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfUENGODU3NCBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1BDQTk1MzkgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19QQ0Y4NTkxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfTUFYNjg3NSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1RTTDI1NTAgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0RFQlVHX0NPUkUgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0RFQlVHX0FMR08gaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0RFQlVHX0JVUyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQ0hJUCBpcyBub3Qgc2V0CiAKICMKICMgU1BJIHN1cHBvcnQKICMKLSMgQ09ORklHX1NQSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TUElfTUFTVEVSIGlzIG5vdCBzZXQKK0NPTkZJR19TUEk9eQorIyBDT05GSUdfU1BJX0RFQlVHIGlzIG5vdCBzZXQKK0NPTkZJR19TUElfTUFTVEVSPXkKIAogIwotIyBEYWxsYXMncyAxLXdpcmUgYnVzCisjIFNQSSBNYXN0ZXIgQ29udHJvbGxlciBEcml2ZXJzCiAjCitDT05GSUdfU1BJX0FUTUVMPXkKKyMgQ09ORklHX1NQSV9CSVRCQU5HIGlzIG5vdCBzZXQKKworIworIyBTUEkgUHJvdG9jb2wgTWFzdGVycworIworIyBDT05GSUdfU1BJX0FUMjUgaXMgbm90IHNldAorIyBDT05GSUdfU1BJX1NQSURFViBpcyBub3Qgc2V0CisjIENPTkZJR19TUElfVExFNjJYMCBpcyBub3Qgc2V0CiAjIENPTkZJR19XMSBpcyBub3Qgc2V0CisjIENPTkZJR19QT1dFUl9TVVBQTFkgaXMgbm90IHNldAogIyBDT05GSUdfSFdNT04gaXMgbm90IHNldAorQ09ORklHX1dBVENIRE9HPXkKK0NPTkZJR19XQVRDSERPR19OT1dBWU9VVD15CiAKICMKLSMgTWlzYyBkZXZpY2VzCisjIFdhdGNoZG9nIERldmljZSBEcml2ZXJzCiAjCisjIENPTkZJR19TT0ZUX1dBVENIRE9HIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUOTFTQU05X1dBVENIRE9HIGlzIG5vdCBzZXQKKworIworIyBVU0ItYmFzZWQgV2F0Y2hkb2cgQ2FyZHMKKyMKKyMgQ09ORklHX1VTQlBDV0FUQ0hET0cgaXMgbm90IHNldAorCisjCisjIFNvbmljcyBTaWxpY29uIEJhY2twbGFuZQorIworQ09ORklHX1NTQl9QT1NTSUJMRT15CisjIENPTkZJR19TU0IgaXMgbm90IHNldAogCiAjCiAjIE11bHRpZnVuY3Rpb24gZGV2aWNlIGRyaXZlcnMKQEAgLTcwMSwxOSArNzQ2LDYgQEAKICMgQ09ORklHX01GRF9TTTUwMSBpcyBub3Qgc2V0CiAKICMKLSMgTEVEIGRldmljZXMKLSMKLSMgQ09ORklHX05FV19MRURTIGlzIG5vdCBzZXQKLQotIwotIyBMRUQgZHJpdmVycwotIwotCi0jCi0jIExFRCBUcmlnZ2VycwotIwotCi0jCiAjIE11bHRpbWVkaWEgZGV2aWNlcwogIwogIyBDT05GSUdfVklERU9fREVWIGlzIG5vdCBzZXQKQEAgLTcyMywxMjUgKzc1NSw0MiBAQAogIwogIyBHcmFwaGljcyBzdXBwb3J0CiAjCisjIENPTkZJR19WR0FTVEFURSBpcyBub3Qgc2V0CisjIENPTkZJR19WSURFT19PVVRQVVRfQ09OVFJPTCBpcyBub3Qgc2V0CisjIENPTkZJR19GQiBpcyBub3Qgc2V0CiAjIENPTkZJR19CQUNLTElHSFRfTENEX1NVUFBPUlQgaXMgbm90IHNldAogCiAjCiAjIERpc3BsYXkgZGV2aWNlIHN1cHBvcnQKICMKICMgQ09ORklHX0RJU1BMQVlfU1VQUE9SVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19WR0FTVEFURSBpcyBub3Qgc2V0Ci1DT05GSUdfRkI9eQotIyBDT05GSUdfRklSTVdBUkVfRURJRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9EREMgaXMgbm90IHNldAotQ09ORklHX0ZCX0NGQl9GSUxMUkVDVD15Ci1DT05GSUdfRkJfQ0ZCX0NPUFlBUkVBPXkKLUNPTkZJR19GQl9DRkJfSU1BR0VCTElUPXkKLSMgQ09ORklHX0ZCX1NZU19GSUxMUkVDVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9TWVNfQ09QWUFSRUEgaXMgbm90IHNldAotIyBDT05GSUdfRkJfU1lTX0lNQUdFQkxJVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9TWVNfRk9QUyBpcyBub3Qgc2V0Ci1DT05GSUdfRkJfREVGRVJSRURfSU89eQotIyBDT05GSUdfRkJfU1ZHQUxJQiBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9NQUNNT0RFUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9CQUNLTElHSFQgaXMgbm90IHNldAotIyBDT05GSUdfRkJfTU9ERV9IRUxQRVJTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1RJTEVCTElUVElORyBpcyBub3Qgc2V0Ci0KLSMKLSMgRnJhbWUgYnVmZmVyIGhhcmR3YXJlIGRyaXZlcnMKLSMKLSMgQ09ORklHX0ZCX1MxRDEzWFhYIGlzIG5vdCBzZXQKLUNPTkZJR19GQl9QWEE9eQotIyBDT05GSUdfRkJfUFhBX1BBUkFNRVRFUlMgaXMgbm90IHNldAotIyBDT05GSUdfRkJfTUJYIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1ZJUlRVQUwgaXMgbm90IHNldAogCiAjCiAjIENvbnNvbGUgZGlzcGxheSBkcml2ZXIgc3VwcG9ydAogIwogIyBDT05GSUdfVkdBX0NPTlNPTEUgaXMgbm90IHNldAogQ09ORklHX0RVTU1ZX0NPTlNPTEU9eQotQ09ORklHX0ZSQU1FQlVGRkVSX0NPTlNPTEU9eQotIyBDT05GSUdfRlJBTUVCVUZGRVJfQ09OU09MRV9ST1RBVElPTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19GT05UUyBpcyBub3Qgc2V0Ci1DT05GSUdfRk9OVF84eDg9eQotQ09ORklHX0ZPTlRfOHgxNj15Ci1DT05GSUdfTE9HTz15Ci1DT05GSUdfTE9HT19MSU5VWF9NT05PPXkKLUNPTkZJR19MT0dPX0xJTlVYX1ZHQTE2PXkKLUNPTkZJR19MT0dPX0xJTlVYX0NMVVQyMjQ9eQogCiAjCiAjIFNvdW5kCiAjCi1DT05GSUdfU09VTkQ9bQotCi0jCi0jIEFkdmFuY2VkIExpbnV4IFNvdW5kIEFyY2hpdGVjdHVyZQotIwotQ09ORklHX1NORD1tCi1DT05GSUdfU05EX1RJTUVSPW0KLUNPTkZJR19TTkRfUENNPW0KLSMgQ09ORklHX1NORF9TRVFVRU5DRVIgaXMgbm90IHNldAotQ09ORklHX1NORF9PU1NFTVVMPXkKLUNPTkZJR19TTkRfTUlYRVJfT1NTPW0KLUNPTkZJR19TTkRfUENNX09TUz1tCi1DT05GSUdfU05EX1BDTV9PU1NfUExVR0lOUz15Ci0jIENPTkZJR19TTkRfRFlOQU1JQ19NSU5PUlMgaXMgbm90IHNldAotQ09ORklHX1NORF9TVVBQT1JUX09MRF9BUEk9eQotQ09ORklHX1NORF9WRVJCT1NFX1BST0NGUz15Ci0jIENPTkZJR19TTkRfVkVSQk9TRV9QUklOVEsgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0RFQlVHIGlzIG5vdCBzZXQKLQotIwotIyBHZW5lcmljIGRldmljZXMKLSMKLUNPTkZJR19TTkRfQUM5N19DT0RFQz1tCi0jIENPTkZJR19TTkRfRFVNTVkgaXMgbm90IHNldAotIyBDT05GSUdfU05EX01UUEFWIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9TRVJJQUxfVTE2NTUwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9NUFU0MDEgaXMgbm90IHNldAotCi0jCi0jIEFMU0EgQVJNIGRldmljZXMKLSMKLUNPTkZJR19TTkRfUFhBMlhYX1BDTT1tCi1DT05GSUdfU05EX1BYQTJYWF9BQzk3PW0KLQotIwotIyBVU0IgZGV2aWNlcwotIwotIyBDT05GSUdfU05EX1VTQl9BVURJTyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfVVNCX0NBSUFRIGlzIG5vdCBzZXQKLQotIwotIyBTeXN0ZW0gb24gQ2hpcCBhdWRpbyBzdXBwb3J0Ci0jCi0jIENPTkZJR19TTkRfU09DIGlzIG5vdCBzZXQKLQotIwotIyBPcGVuIFNvdW5kIFN5c3RlbQotIwotIyBDT05GSUdfU09VTkRfUFJJTUUgaXMgbm90IHNldAotQ09ORklHX0FDOTdfQlVTPW0KLQotIwotIyBISUQgRGV2aWNlcwotIworIyBDT05GSUdfU09VTkQgaXMgbm90IHNldAorQ09ORklHX0hJRF9TVVBQT1JUPXkKIENPTkZJR19ISUQ9eQogIyBDT05GSUdfSElEX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hJRFJBVyBpcyBub3Qgc2V0CiAKICMKICMgVVNCIElucHV0IERldmljZXMKICMKLUNPTkZJR19VU0JfSElEPXkKLSMgQ09ORklHX1VTQl9ISURJTlBVVF9QT1dFUkJPT0sgaXMgbm90IHNldAotIyBDT05GSUdfSElEX0ZGIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9ISURERVYgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0hJRCBpcyBub3Qgc2V0CiAKICMKLSMgVVNCIHN1cHBvcnQKKyMgVVNCIEhJRCBCb290IFByb3RvY29sIGRyaXZlcnMKICMKKyMgQ09ORklHX1VTQl9LQkQgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX01PVVNFIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfU1VQUE9SVD15CiBDT05GSUdfVVNCX0FSQ0hfSEFTX0hDRD15CiBDT05GSUdfVVNCX0FSQ0hfSEFTX09IQ0k9eQogIyBDT05GSUdfVVNCX0FSQ0hfSEFTX0VIQ0kgaXMgbm90IHNldApAQCAtODUyLDkgKzgwMSwxMCBAQAogIyBNaXNjZWxsYW5lb3VzIFVTQiBvcHRpb25zCiAjCiBDT05GSUdfVVNCX0RFVklDRUZTPXkKLSMgQ09ORklHX1VTQl9ERVZJQ0VfQ0xBU1MgaXMgbm90IHNldAorQ09ORklHX1VTQl9ERVZJQ0VfQ0xBU1M9eQogIyBDT05GSUdfVVNCX0RZTkFNSUNfTUlOT1JTIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVVNQRU5EIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9QRVJTSVNUIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9PVEcgaXMgbm90IHNldAogCiAjCkBAIC04NjYsNiArODE2LDcgQEAKICMgQ09ORklHX1VTQl9PSENJX0JJR19FTkRJQU5fTU1JTyBpcyBub3Qgc2V0CiBDT05GSUdfVVNCX09IQ0lfTElUVExFX0VORElBTj15CiAjIENPTkZJR19VU0JfU0w4MTFfSENEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9SOEE2NjU5N19IQ0QgaXMgbm90IHNldAogCiAjCiAjIFVTQiBEZXZpY2UgQ2xhc3MgZHJpdmVycwpAQCAtODg0LDYgKzgzNSw3IEBACiAjIENPTkZJR19VU0JfU1RPUkFHRV9ERUJVRyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9EQVRBRkFCIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX0ZSRUVDT00gaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NUT1JBR0VfSVNEMjAwIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX0RQQ00gaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfVVNCQVQgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfU0REUjA5IGlzIG5vdCBzZXQKQEAgLTg5OCw3ICs4NTAsNyBAQAogIwogIyBDT05GSUdfVVNCX01EQzgwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfTUlDUk9URUsgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX01PTiBpcyBub3Qgc2V0CitDT05GSUdfVVNCX01PTj15CiAKICMKICMgVVNCIHBvcnQgZHJpdmVycwpAQCAtOTM5LDI2ICs4OTEsNjYgQEAKICMKICMgVVNCIEdhZGdldCBTdXBwb3J0CiAjCi0jIENPTkZJR19VU0JfR0FER0VUIGlzIG5vdCBzZXQKLUNPTkZJR19NTUM9bQorQ09ORklHX1VTQl9HQURHRVQ9eQorIyBDT05GSUdfVVNCX0dBREdFVF9ERUJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX0RFQlVHX0ZJTEVTIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfR0FER0VUX1NFTEVDVEVEPXkKKyMgQ09ORklHX1VTQl9HQURHRVRfQU1ENTUzNlVEQyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX0FUTUVMX1VTQkEgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9GU0xfVVNCMiBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX05FVDIyODAgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9QWEEyWFggaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9NNjY1OTIgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9HT0tVIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfTEg3QTQwWCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX09NQVAgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9TM0MyNDEwIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfR0FER0VUX0FUOTE9eQorQ09ORklHX1VTQl9BVDkxPXkKKyMgQ09ORklHX1VTQl9HQURHRVRfRFVNTVlfSENEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfRFVBTFNQRUVEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9aRVJPIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfRVRIPXkKK0NPTkZJR19VU0JfRVRIX1JORElTPXkKKyMgQ09ORklHX1VTQl9HQURHRVRGUyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfRklMRV9TVE9SQUdFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HX1NFUklBTCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfTUlESV9HQURHRVQgaXMgbm90IHNldAorQ09ORklHX01NQz15CiAjIENPTkZJR19NTUNfREVCVUcgaXMgbm90IHNldAogIyBDT05GSUdfTU1DX1VOU0FGRV9SRVNVTUUgaXMgbm90IHNldAogCiAjCiAjIE1NQy9TRCBDYXJkIERyaXZlcnMKICMKLUNPTkZJR19NTUNfQkxPQ0s9bQorQ09ORklHX01NQ19CTE9DSz15CitDT05GSUdfTU1DX0JMT0NLX0JPVU5DRT15CisjIENPTkZJR19TRElPX1VBUlQgaXMgbm90IHNldAogCiAjCiAjIE1NQy9TRCBIb3N0IENvbnRyb2xsZXIgRHJpdmVycwogIwotQ09ORklHX01NQ19QWEE9bQorQ09ORklHX01NQ19BVDkxPXkKKyMgQ09ORklHX01NQ19TUEkgaXMgbm90IHNldAorQ09ORklHX05FV19MRURTPXkKK0NPTkZJR19MRURTX0NMQVNTPXkKIAogIwotIyBSZWFsIFRpbWUgQ2xvY2sKKyMgTEVEIGRyaXZlcnMKICMKK0NPTkZJR19MRURTX0dQSU89eQorCisjCisjIExFRCBUcmlnZ2VycworIworQ09ORklHX0xFRFNfVFJJR0dFUlM9eQorIyBDT05GSUdfTEVEU19UUklHR0VSX1RJTUVSIGlzIG5vdCBzZXQKK0NPTkZJR19MRURTX1RSSUdHRVJfSEVBUlRCRUFUPXkKIENPTkZJR19SVENfTElCPXkKLUNPTkZJR19SVENfQ0xBU1M9bQorQ09ORklHX1JUQ19DTEFTUz15CitDT05GSUdfUlRDX0hDVE9TWVM9eQorQ09ORklHX1JUQ19IQ1RPU1lTX0RFVklDRT0icnRjMCIKKyMgQ09ORklHX1JUQ19ERUJVRyBpcyBub3Qgc2V0CiAKICMKICMgUlRDIGludGVyZmFjZXMKQEAgLTk3MiwyNCArOTY0LDM5IEBACiAjCiAjIEkyQyBSVEMgZHJpdmVycwogIworIyBDT05GSUdfUlRDX0RSVl9EUzEzMDcgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9EUzEzNzQgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9EUzE2NzIgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9NQVg2OTAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUlM1QzM3MiBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0lTTDEyMDggaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9YMTIwNSBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1BDRjg1NjMgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9QQ0Y4NTgzIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfTTQxVDgwIGlzIG5vdCBzZXQKIAogIwogIyBTUEkgUlRDIGRyaXZlcnMKICMKKyMgQ09ORklHX1JUQ19EUlZfUlM1QzM0OCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX01BWDY5MDIgaXMgbm90IHNldAorQ09ORklHX1JUQ19EUlZfTTQxVDk0PXkKIAogIwogIyBQbGF0Zm9ybSBSVEMgZHJpdmVycwogIwogIyBDT05GSUdfUlRDX0RSVl9DTU9TIGlzIG5vdCBzZXQKICMgQ09ORklHX1JUQ19EUlZfRFMxNTUzIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfU1RLMTdUQTggaXMgbm90IHNldAogIyBDT05GSUdfUlRDX0RSVl9EUzE3NDIgaXMgbm90IHNldAogIyBDT05GSUdfUlRDX0RSVl9NNDhUODYgaXMgbm90IHNldAotQ09ORklHX1JUQ19EUlZfVjMwMjA9bQorIyBDT05GSUdfUlRDX0RSVl9NNDhUNTkgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9WMzAyMCBpcyBub3Qgc2V0CiAKICMKICMgb24tQ1BVIFJUQyBkcml2ZXJzCiAjCi1DT05GSUdfUlRDX0RSVl9TQTExMDA9bQorIyBDT05GSUdfUlRDX0RSVl9BVDkxU0FNOSBpcyBub3Qgc2V0CiAKICMKICMgRmlsZSBzeXN0ZW1zCkBAIC05OTcsMTcgKzEwMDQsMTEgQEAKIENPTkZJR19FWFQyX0ZTPXkKICMgQ09ORklHX0VYVDJfRlNfWEFUVFIgaXMgbm90IHNldAogIyBDT05GSUdfRVhUMl9GU19YSVAgaXMgbm90IHNldAotQ09ORklHX0VYVDNfRlM9eQotQ09ORklHX0VYVDNfRlNfWEFUVFI9eQotIyBDT05GSUdfRVhUM19GU19QT1NJWF9BQ0wgaXMgbm90IHNldAotIyBDT05GSUdfRVhUM19GU19TRUNVUklUWSBpcyBub3Qgc2V0CisjIENPTkZJR19FWFQzX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0VYVDRERVZfRlMgaXMgbm90IHNldAotQ09ORklHX0pCRD15Ci0jIENPTkZJR19KQkRfREVCVUcgaXMgbm90IHNldAotQ09ORklHX0ZTX01CQ0FDSEU9eQogIyBDT05GSUdfUkVJU0VSRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfSkZTX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0CitDT05GSUdfRlNfUE9TSVhfQUNMPXkKICMgQ09ORklHX1hGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19HRlMyX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX09DRlMyX0ZTIGlzIG5vdCBzZXQKQEAgLTEwMTksNyArMTAyMCw3IEBACiBDT05GSUdfRE5PVElGWT15CiAjIENPTkZJR19BVVRPRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQVVUT0ZTNF9GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GVVNFX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19GVVNFX0ZTPW0KIAogIwogIyBDRC1ST00vRFZEIEZpbGVzeXN0ZW1zCkBAIC0xMDMxLDcgKzEwMzIsNyBAQAogIyBET1MvRkFUL05UIEZpbGVzeXN0ZW1zCiAjCiBDT05GSUdfRkFUX0ZTPXkKLUNPTkZJR19NU0RPU19GUz15CisjIENPTkZJR19NU0RPU19GUyBpcyBub3Qgc2V0CiBDT05GSUdfVkZBVF9GUz15CiBDT05GSUdfRkFUX0RFRkFVTFRfQ09ERVBBR0U9NDM3CiBDT05GSUdfRkFUX0RFRkFVTFRfSU9DSEFSU0VUPSJpc284ODU5LTEiCkBAIC0xMDQ2LDcgKzEwNDcsNiBAQAogQ09ORklHX1RNUEZTPXkKICMgQ09ORklHX1RNUEZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0CiAjIENPTkZJR19IVUdFVExCX1BBR0UgaXMgbm90IHNldAotQ09ORklHX1JBTUZTPXkKICMgQ09ORklHX0NPTkZJR0ZTX0ZTIGlzIG5vdCBzZXQKIAogIwpAQCAtMTA2MiwxMCArMTA2MiwxMiBAQAogQ09ORklHX0pGRlMyX0ZTPXkKIENPTkZJR19KRkZTMl9GU19ERUJVRz0wCiBDT05GSUdfSkZGUzJfRlNfV1JJVEVCVUZGRVI9eQotQ09ORklHX0pGRlMyX1NVTU1BUlk9eQorIyBDT05GSUdfSkZGUzJfRlNfV0JVRl9WRVJJRlkgaXMgbm90IHNldAorIyBDT05GSUdfSkZGUzJfU1VNTUFSWSBpcyBub3Qgc2V0CiAjIENPTkZJR19KRkZTMl9GU19YQVRUUiBpcyBub3Qgc2V0CiAjIENPTkZJR19KRkZTMl9DT01QUkVTU0lPTl9PUFRJT05TIGlzIG5vdCBzZXQKIENPTkZJR19KRkZTMl9aTElCPXkKKyMgQ09ORklHX0pGRlMyX0xaTyBpcyBub3Qgc2V0CiBDT05GSUdfSkZGUzJfUlRJTUU9eQogIyBDT05GSUdfSkZGUzJfUlVCSU4gaXMgbm90IHNldAogIyBDT05GSUdfQ1JBTUZTIGlzIG5vdCBzZXQKQEAgLTEwNzQsNDcgKzEwNzYsNDAgQEAKICMgQ09ORklHX1FOWDRGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TWVNWX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1VGU19GUyBpcyBub3Qgc2V0Ci0KLSMKLSMgTmV0d29yayBGaWxlIFN5c3RlbXMKLSMKK0NPTkZJR19ORVRXT1JLX0ZJTEVTWVNURU1TPXkKIENPTkZJR19ORlNfRlM9eQogQ09ORklHX05GU19WMz15Ci0jIENPTkZJR19ORlNfVjNfQUNMIGlzIG5vdCBzZXQKLSMgQ09ORklHX05GU19WNCBpcyBub3Qgc2V0CitDT05GSUdfTkZTX1YzX0FDTD15CitDT05GSUdfTkZTX1Y0PXkKICMgQ09ORklHX05GU19ESVJFQ1RJTyBpcyBub3Qgc2V0CiAjIENPTkZJR19ORlNEIGlzIG5vdCBzZXQKIENPTkZJR19ST09UX05GUz15CiBDT05GSUdfTE9DS0Q9eQogQ09ORklHX0xPQ0tEX1Y0PXkKK0NPTkZJR19ORlNfQUNMX1NVUFBPUlQ9eQogQ09ORklHX05GU19DT01NT049eQogQ09ORklHX1NVTlJQQz15CitDT05GSUdfU1VOUlBDX0dTUz15CiAjIENPTkZJR19TVU5SUENfQklORDM0IGlzIG5vdCBzZXQKLSMgQ09ORklHX1JQQ1NFQ19HU1NfS1JCNSBpcyBub3Qgc2V0CitDT05GSUdfUlBDU0VDX0dTU19LUkI1PXkKICMgQ09ORklHX1JQQ1NFQ19HU1NfU1BLTTMgaXMgbm90IHNldAotQ09ORklHX1NNQl9GUz15Ci0jIENPTkZJR19TTUJfTkxTX0RFRkFVTFQgaXMgbm90IHNldAorIyBDT05GSUdfU01CX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0NJRlMgaXMgbm90IHNldAogIyBDT05GSUdfTkNQX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0NPREFfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQUZTX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHXzlQX0ZTIGlzIG5vdCBzZXQKIAogIwogIyBQYXJ0aXRpb24gVHlwZXMKICMKICMgQ09ORklHX1BBUlRJVElPTl9BRFZBTkNFRCBpcyBub3Qgc2V0CiBDT05GSUdfTVNET1NfUEFSVElUSU9OPXkKLQotIwotIyBOYXRpdmUgTGFuZ3VhZ2UgU3VwcG9ydAotIwogQ09ORklHX05MUz15CiBDT05GSUdfTkxTX0RFRkFVTFQ9Imlzbzg4NTktMSIKIENPTkZJR19OTFNfQ09ERVBBR0VfNDM3PXkKICMgQ09ORklHX05MU19DT0RFUEFHRV83MzcgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0NPREVQQUdFXzc3NSBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfODUwIGlzIG5vdCBzZXQKK0NPTkZJR19OTFNfQ09ERVBBR0VfODUwPXkKICMgQ09ORklHX05MU19DT0RFUEFHRV84NTIgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1NSBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfODU3IGlzIG5vdCBzZXQKQEAgLTExNDgsMzAgKzExNDMsMjQgQEAKICMgQ09ORklHX05MU19JU084ODU5XzE1IGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19LT0k4X1IgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0tPSThfVSBpcyBub3Qgc2V0Ci1DT05GSUdfTkxTX1VURjg9eQotCi0jCi0jIERpc3RyaWJ1dGVkIExvY2sgTWFuYWdlcgotIworIyBDT05GSUdfTkxTX1VURjggaXMgbm90IHNldAogIyBDT05GSUdfRExNIGlzIG5vdCBzZXQKLQotIwotIyBQcm9maWxpbmcgc3VwcG9ydAotIwotIyBDT05GSUdfUFJPRklMSU5HIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOU1RSVU1FTlRBVElPTiBpcyBub3Qgc2V0CiAKICMKICMgS2VybmVsIGhhY2tpbmcKICMKICMgQ09ORklHX1BSSU5US19USU1FIGlzIG5vdCBzZXQKK0NPTkZJR19FTkFCTEVfV0FSTl9ERVBSRUNBVEVEPXkKIENPTkZJR19FTkFCTEVfTVVTVF9DSEVDSz15Ci1DT05GSUdfTUFHSUNfU1lTUlE9eQorIyBDT05GSUdfTUFHSUNfU1lTUlEgaXMgbm90IHNldAogIyBDT05GSUdfVU5VU0VEX1NZTUJPTFMgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfRlMgaXMgbm90IHNldAogIyBDT05GSUdfSEVBREVSU19DSEVDSyBpcyBub3Qgc2V0CiBDT05GSUdfREVCVUdfS0VSTkVMPXkKICMgQ09ORklHX0RFQlVHX1NISVJRIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFVEVDVF9TT0ZUTE9DS1VQIGlzIG5vdCBzZXQKK0NPTkZJR19ERVRFQ1RfU09GVExPQ0tVUD15CitDT05GSUdfU0NIRURfREVCVUc9eQogIyBDT05GSUdfU0NIRURTVEFUUyBpcyBub3Qgc2V0CiAjIENPTkZJR19USU1FUl9TVEFUUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19TTEFCIGlzIG5vdCBzZXQKQEAgLTExODEsMTkgKzExNzAsMjMgQEAKICMgQ09ORklHX0RFQlVHX01VVEVYRVMgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfTE9DS19BTExPQyBpcyBub3Qgc2V0CiAjIENPTkZJR19QUk9WRV9MT0NLSU5HIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xPQ0tfU1RBVCBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19TUElOTE9DS19TTEVFUCBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19MT0NLSU5HX0FQSV9TRUxGVEVTVFMgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfS09CSkVDVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUJVR19CVUdWRVJCT1NFIGlzIG5vdCBzZXQKLUNPTkZJR19ERUJVR19JTkZPPXkKK0NPTkZJR19ERUJVR19CVUdWRVJCT1NFPXkKKyMgQ09ORklHX0RFQlVHX0lORk8gaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfVk0gaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfTElTVCBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19TRyBpcyBub3Qgc2V0CiBDT05GSUdfRlJBTUVfUE9JTlRFUj15CiBDT05GSUdfRk9SQ0VEX0lOTElOSU5HPXkKKyMgQ09ORklHX0JPT1RfUFJJTlRLX0RFTEFZIGlzIG5vdCBzZXQKICMgQ09ORklHX1JDVV9UT1JUVVJFX1RFU1QgaXMgbm90IHNldAogIyBDT05GSUdfRkFVTFRfSU5KRUNUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBTVBMRVMgaXMgbm90IHNldAogQ09ORklHX0RFQlVHX1VTRVI9eQotQ09ORklHX0RFQlVHX0VSUk9SUz15CisjIENPTkZJR19ERUJVR19FUlJPUlMgaXMgbm90IHNldAogQ09ORklHX0RFQlVHX0xMPXkKICMgQ09ORklHX0RFQlVHX0lDRURDQyBpcyBub3Qgc2V0CiAKQEAgLTEyMDIsNTEgKzExOTUsNDggQEAKICMKICMgQ09ORklHX0tFWVMgaXMgbm90IHNldAogIyBDT05GSUdfU0VDVVJJVFkgaXMgbm90IHNldAotCi0jCi0jIENyeXB0b2dyYXBoaWMgb3B0aW9ucwotIworIyBDT05GSUdfU0VDVVJJVFlfRklMRV9DQVBBQklMSVRJRVMgaXMgbm90IHNldAogQ09ORklHX0NSWVBUTz15Ci1DT05GSUdfQ1JZUFRPX0FMR0FQST1tCi1DT05GSUdfQ1JZUFRPX0JMS0NJUEhFUj1tCi1DT05GSUdfQ1JZUFRPX01BTkFHRVI9bQorQ09ORklHX0NSWVBUT19BTEdBUEk9eQorQ09ORklHX0NSWVBUT19CTEtDSVBIRVI9eQorQ09ORklHX0NSWVBUT19NQU5BR0VSPXkKICMgQ09ORklHX0NSWVBUT19ITUFDIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19YQ0JDIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19OVUxMIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19NRDQgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX01ENSBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX01ENT15CiAjIENPTkZJR19DUllQVE9fU0hBMSBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fU0hBMjU2IGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19TSEE1MTIgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1dQNTEyIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19UR1IxOTIgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0dGMTI4TVVMIGlzIG5vdCBzZXQKLUNPTkZJR19DUllQVE9fRUNCPW0KLUNPTkZJR19DUllQVE9fQ0JDPW0KLUNPTkZJR19DUllQVE9fUENCQz1tCisjIENPTkZJR19DUllQVE9fRUNCIGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fQ0JDPXkKKyMgQ09ORklHX0NSWVBUT19QQ0JDIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19MUlcgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1hUUyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fQ1JZUFREIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19ERVMgaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19ERVM9eQogIyBDT05GSUdfQ1JZUFRPX0ZDUllQVCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fQkxPV0ZJU0ggaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1RXT0ZJU0ggaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1NFUlBFTlQgaXMgbm90IHNldAotQ09ORklHX0NSWVBUT19BRVM9bQorIyBDT05GSUdfQ1JZUFRPX0FFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fQ0FTVDUgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0NBU1Q2IGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19URUEgaXMgbm90IHNldAotQ09ORklHX0NSWVBUT19BUkM0PW0KKyMgQ09ORklHX0NSWVBUT19BUkM0IGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19LSEFaQUQgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0FOVUJJUyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0VFRCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fREVGTEFURSBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fTUlDSEFFTF9NSUMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0NSQzMyQyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fQ0FNRUxMSUEgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1RFU1QgaXMgbm90IHNldAotCi0jCi0jIEhhcmR3YXJlIGNyeXB0byBkZXZpY2VzCi0jCisjIENPTkZJR19DUllQVE9fQVVUSEVOQyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fSFcgaXMgbm90IHNldAogCiAjCiAjIExpYnJhcnkgcm91dGluZXMKQEAgLTEyNTYsNiArMTI0Niw3IEBACiAjIENPTkZJR19DUkMxNiBpcyBub3Qgc2V0CiAjIENPTkZJR19DUkNfSVRVX1QgaXMgbm90IHNldAogQ09ORklHX0NSQzMyPXkKKyMgQ09ORklHX0NSQzcgaXMgbm90IHNldAogIyBDT05GSUdfTElCQ1JDMzJDIGlzIG5vdCBzZXQKIENPTkZJR19aTElCX0lORkxBVEU9eQogQ09ORklHX1pMSUJfREVGTEFURT15CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL3JlYWx2aWV3LXNtcF9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL3JlYWx2aWV3LXNtcF9kZWZjb25maWcKaW5kZXggZmMzOWJhMS4uMGMwOWIyMyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9yZWFsdmlldy1zbXBfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvcmVhbHZpZXctc21wX2RlZmNvbmZpZwpAQCAtMTc3LDcgKzE3Nyw2IEBACiBDT05GSUdfSE9UUExVR19DUFU9eQogQ09ORklHX0xPQ0FMX1RJTUVSUz15CiAjIENPTkZJR19QUkVFTVBUIGlzIG5vdCBzZXQKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX0haPTEwMAogIyBDT05GSUdfQUVBQkkgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvcmVhbHZpZXdfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9yZWFsdmlld19kZWZjb25maWcKaW5kZXggYWNjYmY1Mi4uOTA3ZTU0MyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9yZWFsdmlld19kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9yZWFsdmlld19kZWZjb25maWcKQEAgLTEyNiw3ICsxMjYsNiBAQAogIwogIyBLZXJuZWwgRmVhdHVyZXMKICMKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKIENPTkZJR19GTEFUTUVNPXkKIENPTkZJR19GTEFUX05PREVfTUVNX01BUD15CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL3JwY19kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL3JwY19kZWZjb25maWcKaW5kZXggNWRkZWNiOS4uZjYyZDE4MSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9ycGNfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvcnBjX2RlZmNvbmZpZwpAQCAtMTkwLDcgKzE5MCw2IEBACiAjCiAjIENPTkZJR19USUNLX09ORVNIT1QgaXMgbm90IHNldAogIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19IWj0xMDAKICMgQ09ORklHX0FFQUJJIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL3MzYzI0MTBfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9zM2MyNDEwX2RlZmNvbmZpZwppbmRleCBmOGExNjQ1Li4zNWZhYWVhIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL3MzYzI0MTBfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvczNjMjQxMF9kZWZjb25maWcKQEAgLTEsMTUgKzEsMTggQEAKICMKICMgQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgbWFrZSBjb25maWc6IGRvbid0IGVkaXQKLSMgTGludXgga2VybmVsIHZlcnNpb246IDIuNi4yMS1yYzYKLSMgTW9uIEFwciAgOSAxMDoxMjo1OCAyMDA3CisjIExpbnV4IGtlcm5lbCB2ZXJzaW9uOiAyLjYuMjYtcmM4CisjIE1vbiBKdWwgIDcgMTY6NTk6MjMgMjAwOAogIwogQ09ORklHX0FSTT15CiBDT05GSUdfU1lTX1NVUFBPUlRTX0FQTV9FTVVMQVRJT049eQogQ09ORklHX0dFTkVSSUNfR1BJTz15CiAjIENPTkZJR19HRU5FUklDX1RJTUUgaXMgbm90IHNldAorIyBDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UUyBpcyBub3Qgc2V0CiBDT05GSUdfTU1VPXkKIENPTkZJR19OT19JT1BPUlQ9eQogQ09ORklHX0dFTkVSSUNfSEFSRElSUVM9eQorQ09ORklHX1NUQUNLVFJBQ0VfU1VQUE9SVD15CitDT05GSUdfTE9DS0RFUF9TVVBQT1JUPXkKIENPTkZJR19UUkFDRV9JUlFGTEFHU19TVVBQT1JUPXkKIENPTkZJR19IQVJESVJRU19TV19SRVNFTkQ9eQogQ09ORklHX0dFTkVSSUNfSVJRX1BST0JFPXkKQEAgLTE4LDM0ICsyMSwzOSBAQAogIyBDT05GSUdfQVJDSF9IQVNfSUxPRzJfVTY0IGlzIG5vdCBzZXQKIENPTkZJR19HRU5FUklDX0hXRUlHSFQ9eQogQ09ORklHX0dFTkVSSUNfQ0FMSUJSQVRFX0RFTEFZPXkKK0NPTkZJR19BUkNIX1NVUFBPUlRTX0FPVVQ9eQogQ09ORklHX1pPTkVfRE1BPXkKIENPTkZJR19WRUNUT1JTX0JBU0U9MHhmZmZmMDAwMAogQ09ORklHX0RFRkNPTkZJR19MSVNUPSIvbGliL21vZHVsZXMvJFVOQU1FX1JFTEVBU0UvLmNvbmZpZyIKIAogIwotIyBDb2RlIG1hdHVyaXR5IGxldmVsIG9wdGlvbnMKKyMgR2VuZXJhbCBzZXR1cAogIwogQ09ORklHX0VYUEVSSU1FTlRBTD15CiBDT05GSUdfQlJPS0VOX09OX1NNUD15CiBDT05GSUdfSU5JVF9FTlZfQVJHX0xJTUlUPTMyCi0KLSMKLSMgR2VuZXJhbCBzZXR1cAotIwogQ09ORklHX0xPQ0FMVkVSU0lPTj0iIgogQ09ORklHX0xPQ0FMVkVSU0lPTl9BVVRPPXkKIENPTkZJR19TV0FQPXkKIENPTkZJR19TWVNWSVBDPXkKLSMgQ09ORklHX0lQQ19OUyBpcyBub3Qgc2V0CiBDT05GSUdfU1lTVklQQ19TWVNDVEw9eQogIyBDT05GSUdfUE9TSVhfTVFVRVVFIGlzIG5vdCBzZXQKICMgQ09ORklHX0JTRF9QUk9DRVNTX0FDQ1QgaXMgbm90IHNldAogIyBDT05GSUdfVEFTS1NUQVRTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VUU19OUyBpcyBub3Qgc2V0CiAjIENPTkZJR19BVURJVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JS0NPTkZJRyBpcyBub3Qgc2V0CitDT05GSUdfSUtDT05GSUc9bQorQ09ORklHX0lLQ09ORklHX1BST0M9eQorQ09ORklHX0xPR19CVUZfU0hJRlQ9MTYKKyMgQ09ORklHX0NHUk9VUFMgaXMgbm90IHNldAorIyBDT05GSUdfR1JPVVBfU0NIRUQgaXMgbm90IHNldAogQ09ORklHX1NZU0ZTX0RFUFJFQ0FURUQ9eQorQ09ORklHX1NZU0ZTX0RFUFJFQ0FURURfVjI9eQogIyBDT05GSUdfUkVMQVkgaXMgbm90IHNldAorQ09ORklHX05BTUVTUEFDRVM9eQorIyBDT05GSUdfVVRTX05TIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQQ19OUyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0VSX05TIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BJRF9OUyBpcyBub3Qgc2V0CiBDT05GSUdfQkxLX0RFVl9JTklUUkQ9eQogQ09ORklHX0lOSVRSQU1GU19TT1VSQ0U9IiIKIENPTkZJR19DQ19PUFRJTUlaRV9GT1JfU0laRT15CkBAIC01Myw2ICs2MSw3IEBACiAjIENPTkZJR19FTUJFRERFRCBpcyBub3Qgc2V0CiBDT05GSUdfVUlEMTY9eQogQ09ORklHX1NZU0NUTF9TWVNDQUxMPXkKK0NPTkZJR19TWVNDVExfU1lTQ0FMTF9DSEVDSz15CiBDT05GSUdfS0FMTFNZTVM9eQogIyBDT05GSUdfS0FMTFNZTVNfQUxMIGlzIG5vdCBzZXQKICMgQ09ORklHX0tBTExTWU1TX0VYVFJBX1BBU1MgaXMgbm90IHNldApAQCAtNjAsMzQgKzY5LDQzIEBACiBDT05GSUdfUFJJTlRLPXkKIENPTkZJR19CVUc9eQogQ09ORklHX0VMRl9DT1JFPXkKK0NPTkZJR19DT01QQVRfQlJLPXkKIENPTkZJR19CQVNFX0ZVTEw9eQogQ09ORklHX0ZVVEVYPXkKK0NPTkZJR19BTk9OX0lOT0RFUz15CiBDT05GSUdfRVBPTEw9eQorQ09ORklHX1NJR05BTEZEPXkKK0NPTkZJR19USU1FUkZEPXkKK0NPTkZJR19FVkVOVEZEPXkKIENPTkZJR19TSE1FTT15Ci1DT05GSUdfU0xBQj15CiBDT05GSUdfVk1fRVZFTlRfQ09VTlRFUlM9eQorQ09ORklHX1NMQUI9eQorIyBDT05GSUdfU0xVQiBpcyBub3Qgc2V0CisjIENPTkZJR19TTE9CIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BST0ZJTElORyBpcyBub3Qgc2V0CisjIENPTkZJR19NQVJLRVJTIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX09QUk9GSUxFPXkKKyMgQ09ORklHX0tQUk9CRVMgaXMgbm90IHNldAorQ09ORklHX0hBVkVfS1BST0JFUz15CitDT05GSUdfSEFWRV9LUkVUUFJPQkVTPXkKKyMgQ09ORklHX0hBVkVfRE1BX0FUVFJTIGlzIG5vdCBzZXQKK0NPTkZJR19QUk9DX1BBR0VfTU9OSVRPUj15CitDT05GSUdfU0xBQklORk89eQogQ09ORklHX1JUX01VVEVYRVM9eQogIyBDT05GSUdfVElOWV9TSE1FTSBpcyBub3Qgc2V0CiBDT05GSUdfQkFTRV9TTUFMTD0wCi0jIENPTkZJR19TTE9CIGlzIG5vdCBzZXQKLQotIwotIyBMb2FkYWJsZSBtb2R1bGUgc3VwcG9ydAotIwogQ09ORklHX01PRFVMRVM9eQorIyBDT05GSUdfTU9EVUxFX0ZPUkNFX0xPQUQgaXMgbm90IHNldAogQ09ORklHX01PRFVMRV9VTkxPQUQ9eQogIyBDT05GSUdfTU9EVUxFX0ZPUkNFX1VOTE9BRCBpcyBub3Qgc2V0CiAjIENPTkZJR19NT0RWRVJTSU9OUyBpcyBub3Qgc2V0CiAjIENPTkZJR19NT0RVTEVfU1JDVkVSU0lPTl9BTEwgaXMgbm90IHNldAogQ09ORklHX0tNT0Q9eQotCi0jCi0jIEJsb2NrIGxheWVyCi0jCiBDT05GSUdfQkxPQ0s9eQogIyBDT05GSUdfTEJEIGlzIG5vdCBzZXQKICMgQ09ORklHX0JMS19ERVZfSU9fVFJBQ0UgaXMgbm90IHNldAogIyBDT05GSUdfTFNGIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JMS19ERVZfQlNHIGlzIG5vdCBzZXQKIAogIwogIyBJTyBTY2hlZHVsZXJzCkBAIC0xMDEsNiArMTE5LDcgQEAKICMgQ09ORklHX0RFRkFVTFRfQ0ZRIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFRkFVTFRfTk9PUCBpcyBub3Qgc2V0CiBDT05GSUdfREVGQVVMVF9JT1NDSEVEPSJhbnRpY2lwYXRvcnkiCitDT05GSUdfQ0xBU1NJQ19SQ1U9eQogCiAjCiAjIFN5c3RlbSBUeXBlCkBAIC0xMTksMTQgKzEzOCwxNyBAQAogIyBDT05GSUdfQVJDSF9ORVRYIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfSDcyMFggaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9JTVggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9JT1AxM1hYIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfSU9QMzJYIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfSU9QMzNYIGlzIG5vdCBzZXQKLSMgQ09ORklHX0FSQ0hfSU9QMTNYWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19BUkNIX0lYUDRYWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19BUkNIX0lYUDIwMDAgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9JWFAyM1hYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSVhQMjAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0lYUDRYWCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0w3MjAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfS1M4Njk1IGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfTlM5WFhYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfTVhDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfT1JJT041WCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1BOWDQwMDggaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9QWEEgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9SUEMgaXMgbm90IHNldApAQCAtMTM0LDE4ICsxNTYsMzIgQEAKIENPTkZJR19BUkNIX1MzQzI0MTA9eQogIyBDT05GSUdfQVJDSF9TSEFSSyBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0xIN0E0MFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9EQVZJTkNJIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfT01BUCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX01TTTdYMDBBIGlzIG5vdCBzZXQKIENPTkZJR19QTEFUX1MzQzI0WFg9eQogQ09ORklHX0NQVV9TM0MyNDRYPXkKKyMgQ09ORklHX1MzQzI0WFhfUFdNIGlzIG5vdCBzZXQKIENPTkZJR19QTV9TSU1URUM9eQotIyBDT05GSUdfUzNDX0JPT1RfV0FUQ0hET0cgaXMgbm90IHNldAotIyBDT05GSUdfUzNDX0JPT1RfRVJST1JfUkVTRVQgaXMgbm90IHNldAotIyBDT05GSUdfUzNDMjQxMF9QTV9ERUJVRyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TM0MyNDEwX1BNX0NIRUNLIGlzIG5vdCBzZXQKLUNPTkZJR19TM0NfTE9XTEVWRUxfVUFSVF9QT1JUPTAKIENPTkZJR19TM0MyNDEwX0RNQT15CiAjIENPTkZJR19TM0MyNDEwX0RNQV9ERUJVRyBpcyBub3Qgc2V0CiBDT05GSUdfTUFDSF9TTURLPXkKK0NPTkZJR19QTEFUX1MzQz15CitDT05GSUdfQ1BVX0xMU0VSSUFMX1MzQzI0MTA9eQorQ09ORklHX0NQVV9MTFNFUklBTF9TM0MyNDQwPXkKKworIworIyBCb290IG9wdGlvbnMKKyMKKyMgQ09ORklHX1MzQ19CT09UX1dBVENIRE9HIGlzIG5vdCBzZXQKKyMgQ09ORklHX1MzQ19CT09UX0VSUk9SX1JFU0VUIGlzIG5vdCBzZXQKKworIworIyBQb3dlciBtYW5hZ2VtZW50CisjCisjIENPTkZJR19TM0MyNDEwX1BNX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX1MzQzI0MTBfUE1fQ0hFQ0sgaXMgbm90IHNldAorQ09ORklHX1MzQ19MT1dMRVZFTF9VQVJUX1BPUlQ9MAogCiAjCiAjIFMzQzI0MDAgTWFjaGluZXMKQEAgLTE1NSw2ICsxOTEsOCBAQAogQ09ORklHX1MzQzI0MTBfUE09eQogQ09ORklHX1MzQzI0MTBfR1BJTz15CiBDT05GSUdfUzNDMjQxMF9DTE9DSz15CitDT05GSUdfU0lNVEVDX05PUj15CitDT05GSUdfTUFDSF9CQVNUX0lERT15CiAKICMKICMgUzNDMjQxMCBNYWNoaW5lcwpAQCAtMTY3LDYgKzIwNSw3IEBACiBDT05GSUdfTUFDSF9PVE9NPXkKIENPTkZJR19NQUNIX0FNTF9NNTkwMD15CiBDT05GSUdfQkFTVF9QQzEwNF9JUlE9eQorIyBDT05GSUdfTUFDSF9UQ1RfSEFNTUVSIGlzIG5vdCBzZXQKIENPTkZJR19NQUNIX1ZSMTAwMD15CiBDT05GSUdfTUFDSF9RVDI0MTA9eQogQ09ORklHX0NQVV9TM0MyNDEyPXkKQEAgLTE3Niw4ICsyMTUsMTAgQEAKICMKICMgUzNDMjQxMiBNYWNoaW5lcwogIworIyBDT05GSUdfTUFDSF9KSVZFIGlzIG5vdCBzZXQKIENPTkZJR19NQUNIX1NNREsyNDEzPXkKIENPTkZJR19NQUNIX1MzQzI0MTM9eQorIyBDT05GSUdfTUFDSF9TTURLMjQxMiBpcyBub3Qgc2V0CiBDT05GSUdfTUFDSF9WU1RNUz15CiBDT05GSUdfQ1BVX1MzQzI0NDA9eQogQ09ORklHX1MzQzI0NDBfRE1BPXkKQEAgLTE5MSw2ICsyMzIsNyBAQAogQ09ORklHX0FSQ0hfUzNDMjQ0MD15CiBDT05GSUdfTUFDSF9ORVhDT0RFUl8yNDQwPXkKIENPTkZJR19TTURLMjQ0MF9DUFUyNDQwPXkKKyMgQ09ORklHX01BQ0hfQVQyNDQwRVZCIGlzIG5vdCBzZXQKIENPTkZJR19DUFVfUzNDMjQ0Mj15CiAKICMKQEAgLTIxNSw2ICsyNTcsNyBAQAogQ09ORklHX0NQVV8zMnY1PXkKIENPTkZJR19DUFVfQUJSVF9FVjRUPXkKIENPTkZJR19DUFVfQUJSVF9FVjVUSj15CitDT05GSUdfQ1BVX1BBQlJUX05PSUZBUj15CiBDT05GSUdfQ1BVX0NBQ0hFX1Y0V1Q9eQogQ09ORklHX0NQVV9DQUNIRV9WSVZUPXkKIENPTkZJR19DUFVfQ09QWV9WNFdCPXkKQEAgLTIzNiwxNyArMjc5LDE1IEBACiAjIEJ1cyBzdXBwb3J0CiAjCiBDT05GSUdfSVNBPXkKLQotIwotIyBQQ0NBUkQgKFBDTUNJQS9DYXJkQnVzKSBzdXBwb3J0Ci0jCisjIENPTkZJR19QQ0lfU1lTQ0FMTCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1NVUFBPUlRTX01TSSBpcyBub3Qgc2V0CiAjIENPTkZJR19QQ0NBUkQgaXMgbm90IHNldAogCiAjCiAjIEtlcm5lbCBGZWF0dXJlcwogIworIyBDT05GSUdfVElDS19PTkVTSE9UIGlzIG5vdCBzZXQKICMgQ09ORklHX1BSRUVNUFQgaXMgbm90IHNldAotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiBDT05GSUdfSFo9MjAwCiAjIENPTkZJR19BRUFCSSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9FTkFCTEUgaXMgbm90IHNldApAQCAtMjU3LDkgKzI5OCwxMyBAQAogQ09ORklHX0ZMQVRNRU09eQogQ09ORklHX0ZMQVRfTk9ERV9NRU1fTUFQPXkKICMgQ09ORklHX1NQQVJTRU1FTV9TVEFUSUMgaXMgbm90IHNldAorIyBDT05GSUdfU1BBUlNFTUVNX1ZNRU1NQVBfRU5BQkxFIGlzIG5vdCBzZXQKK0NPTkZJR19QQUdFRkxBR1NfRVhURU5ERUQ9eQogQ09ORklHX1NQTElUX1BUTE9DS19DUFVTPTQwOTYKICMgQ09ORklHX1JFU09VUkNFU182NEJJVCBpcyBub3Qgc2V0CiBDT05GSUdfWk9ORV9ETUFfRkxBRz0xCitDT05GSUdfQk9VTkNFPXkKK0NPTkZJR19WSVJUX1RPX0JVUz15CiBDT05GSUdfQUxJR05NRU5UX1RSQVA9eQogCiAjCkBAIC0yNzksNyArMzI0LDcgQEAKICMgQXQgbGVhc3Qgb25lIGVtdWxhdGlvbiBtdXN0IGJlIHNlbGVjdGVkCiAjCiBDT05GSUdfRlBFX05XRlBFPXkKLSMgQ09ORklHX0ZQRV9OV0ZQRV9YUCBpcyBub3Qgc2V0CitDT05GSUdfRlBFX05XRlBFX1hQPXkKICMgQ09ORklHX0ZQRV9GQVNURlBFIGlzIG5vdCBzZXQKICMgQ09ORklHX1ZGUCBpcyBub3Qgc2V0CiAKQEAgLTI5NSwxMCArMzQwLDEyIEBACiAjIFBvd2VyIG1hbmFnZW1lbnQgb3B0aW9ucwogIwogQ09ORklHX1BNPXkKLSMgQ09ORklHX1BNX0xFR0FDWSBpcyBub3Qgc2V0CiAjIENPTkZJR19QTV9ERUJVRyBpcyBub3Qgc2V0Ci0jIENPTkZJR19QTV9TWVNGU19ERVBSRUNBVEVEIGlzIG5vdCBzZXQKLSMgQ09ORklHX0FQTV9FTVVMQVRJT04gaXMgbm90IHNldAorQ09ORklHX1BNX1NMRUVQPXkKK0NPTkZJR19TVVNQRU5EPXkKK0NPTkZJR19TVVNQRU5EX0ZSRUVaRVI9eQorQ09ORklHX0FQTV9FTVVMQVRJT049bQorQ09ORklHX0FSQ0hfU1VTUEVORF9QT1NTSUJMRT15CiAKICMKICMgTmV0d29ya2luZwpAQCAtMzA4LDU5ICszNTUsNjcgQEAKICMKICMgTmV0d29ya2luZyBvcHRpb25zCiAjCi0jIENPTkZJR19ORVRERUJVRyBpcyBub3Qgc2V0Ci0jIENPTkZJR19QQUNLRVQgaXMgbm90IHNldAorQ09ORklHX1BBQ0tFVD15CisjIENPTkZJR19QQUNLRVRfTU1BUCBpcyBub3Qgc2V0CiBDT05GSUdfVU5JWD15CiBDT05GSUdfWEZSTT15CiAjIENPTkZJR19YRlJNX1VTRVIgaXMgbm90IHNldAogIyBDT05GSUdfWEZSTV9TVUJfUE9MSUNZIGlzIG5vdCBzZXQKICMgQ09ORklHX1hGUk1fTUlHUkFURSBpcyBub3Qgc2V0CisjIENPTkZJR19YRlJNX1NUQVRJU1RJQ1MgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0tFWSBpcyBub3Qgc2V0CiBDT05GSUdfSU5FVD15Ci0jIENPTkZJR19JUF9NVUxUSUNBU1QgaXMgbm90IHNldAorQ09ORklHX0lQX01VTFRJQ0FTVD15CiAjIENPTkZJR19JUF9BRFZBTkNFRF9ST1VURVIgaXMgbm90IHNldAogQ09ORklHX0lQX0ZJQl9IQVNIPXkKIENPTkZJR19JUF9QTlA9eQotIyBDT05GSUdfSVBfUE5QX0RIQ1AgaXMgbm90IHNldAorQ09ORklHX0lQX1BOUF9ESENQPXkKIENPTkZJR19JUF9QTlBfQk9PVFA9eQogIyBDT05GSUdfSVBfUE5QX1JBUlAgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0lQSVAgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0lQR1JFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQX01ST1VURSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUlBEIGlzIG5vdCBzZXQKICMgQ09ORklHX1NZTl9DT09LSUVTIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORVRfQUggaXMgbm90IHNldAogIyBDT05GSUdfSU5FVF9FU1AgaXMgbm90IHNldAogIyBDT05GSUdfSU5FVF9JUENPTVAgaXMgbm90IHNldAogIyBDT05GSUdfSU5FVF9YRlJNX1RVTk5FTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTkVUX1RVTk5FTCBpcyBub3Qgc2V0CitDT05GSUdfSU5FVF9UVU5ORUw9bQogQ09ORklHX0lORVRfWEZSTV9NT0RFX1RSQU5TUE9SVD15CiBDT05GSUdfSU5FVF9YRlJNX01PREVfVFVOTkVMPXkKIENPTkZJR19JTkVUX1hGUk1fTU9ERV9CRUVUPXkKKyMgQ09ORklHX0lORVRfTFJPIGlzIG5vdCBzZXQKIENPTkZJR19JTkVUX0RJQUc9eQogQ09ORklHX0lORVRfVENQX0RJQUc9eQogIyBDT05GSUdfVENQX0NPTkdfQURWQU5DRUQgaXMgbm90IHNldAogQ09ORklHX1RDUF9DT05HX0NVQklDPXkKIENPTkZJR19ERUZBVUxUX1RDUF9DT05HPSJjdWJpYyIKICMgQ09ORklHX1RDUF9NRDVTSUcgaXMgbm90IHNldAotIyBDT05GSUdfSVBWNiBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTkVUNl9YRlJNX1RVTk5FTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTkVUNl9UVU5ORUwgaXMgbm90IHNldAorQ09ORklHX0lQVjY9bQorQ09ORklHX0lQVjZfUFJJVkFDWT15CitDT05GSUdfSVBWNl9ST1VURVJfUFJFRj15CisjIENPTkZJR19JUFY2X1JPVVRFX0lORk8gaXMgbm90IHNldAorIyBDT05GSUdfSVBWNl9PUFRJTUlTVElDX0RBRCBpcyBub3Qgc2V0CitDT05GSUdfSU5FVDZfQUg9bQorQ09ORklHX0lORVQ2X0VTUD1tCitDT05GSUdfSU5FVDZfSVBDT01QPW0KK0NPTkZJR19JUFY2X01JUDY9bQorQ09ORklHX0lORVQ2X1hGUk1fVFVOTkVMPW0KK0NPTkZJR19JTkVUNl9UVU5ORUw9bQorQ09ORklHX0lORVQ2X1hGUk1fTU9ERV9UUkFOU1BPUlQ9bQorQ09ORklHX0lORVQ2X1hGUk1fTU9ERV9UVU5ORUw9bQorQ09ORklHX0lORVQ2X1hGUk1fTU9ERV9CRUVUPW0KK0NPTkZJR19JTkVUNl9YRlJNX01PREVfUk9VVEVPUFRJTUlaQVRJT049bQorQ09ORklHX0lQVjZfU0lUPW0KK0NPTkZJR19JUFY2X05ESVNDX05PREVUWVBFPXkKK0NPTkZJR19JUFY2X1RVTk5FTD1tCisjIENPTkZJR19JUFY2X01VTFRJUExFX1RBQkxFUyBpcyBub3Qgc2V0CisjIENPTkZJR19JUFY2X01ST1VURSBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRXT1JLX1NFQ01BUksgaXMgbm90IHNldAogIyBDT05GSUdfTkVURklMVEVSIGlzIG5vdCBzZXQKLQotIwotIyBEQ0NQIENvbmZpZ3VyYXRpb24gKEVYUEVSSU1FTlRBTCkKLSMKICMgQ09ORklHX0lQX0RDQ1AgaXMgbm90IHNldAotCi0jCi0jIFNDVFAgQ29uZmlndXJhdGlvbiAoRVhQRVJJTUVOVEFMKQotIwogIyBDT05GSUdfSVBfU0NUUCBpcyBub3Qgc2V0Ci0KLSMKLSMgVElQQyBDb25maWd1cmF0aW9uIChFWFBFUklNRU5UQUwpCi0jCiAjIENPTkZJR19USVBDIGlzIG5vdCBzZXQKICMgQ09ORklHX0FUTSBpcyBub3Qgc2V0CiAjIENPTkZJR19CUklER0UgaXMgbm90IHNldApAQCAtMzczLDIwICs0MjgsNzEgQEAKICMgQ09ORklHX0xBUEIgaXMgbm90IHNldAogIyBDT05GSUdfRUNPTkVUIGlzIG5vdCBzZXQKICMgQ09ORklHX1dBTl9ST1VURVIgaXMgbm90IHNldAotCi0jCi0jIFFvUyBhbmQvb3IgZmFpciBxdWV1ZWluZwotIwogIyBDT05GSUdfTkVUX1NDSEVEIGlzIG5vdCBzZXQKK0NPTkZJR19ORVRfU0NIX0ZJRk89eQogCiAjCiAjIE5ldHdvcmsgdGVzdGluZwogIwogIyBDT05GSUdfTkVUX1BLVEdFTiBpcyBub3Qgc2V0CiAjIENPTkZJR19IQU1SQURJTyBpcyBub3Qgc2V0CisjIENPTkZJR19DQU4gaXMgbm90IHNldAogIyBDT05GSUdfSVJEQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19CVCBpcyBub3Qgc2V0CitDT05GSUdfQlQ9bQorQ09ORklHX0JUX0wyQ0FQPW0KK0NPTkZJR19CVF9TQ089bQorQ09ORklHX0JUX1JGQ09NTT1tCitDT05GSUdfQlRfUkZDT01NX1RUWT15CitDT05GSUdfQlRfQk5FUD1tCitDT05GSUdfQlRfQk5FUF9NQ19GSUxURVI9eQorQ09ORklHX0JUX0JORVBfUFJPVE9fRklMVEVSPXkKK0NPTkZJR19CVF9ISURQPW0KKworIworIyBCbHVldG9vdGggZGV2aWNlIGRyaXZlcnMKKyMKK0NPTkZJR19CVF9IQ0lVU0I9bQorQ09ORklHX0JUX0hDSVVTQl9TQ089eQorQ09ORklHX0JUX0hDSVVBUlQ9bQorQ09ORklHX0JUX0hDSVVBUlRfSDQ9eQorQ09ORklHX0JUX0hDSVVBUlRfQkNTUD15CitDT05GSUdfQlRfSENJVUFSVF9MTD15CitDT05GSUdfQlRfSENJQkNNMjAzWD1tCitDT05GSUdfQlRfSENJQlBBMTBYPW0KK0NPTkZJR19CVF9IQ0lCRlVTQj1tCitDT05GSUdfQlRfSENJVkhDST1tCisjIENPTkZJR19BRl9SWFJQQyBpcyBub3Qgc2V0CisKKyMKKyMgV2lyZWxlc3MKKyMKK0NPTkZJR19DRkc4MDIxMT1tCitDT05GSUdfTkw4MDIxMT15CitDT05GSUdfV0lSRUxFU1NfRVhUPXkKK0NPTkZJR19NQUM4MDIxMT1tCisKKyMKKyMgUmF0ZSBjb250cm9sIGFsZ29yaXRobSBzZWxlY3Rpb24KKyMKK0NPTkZJR19NQUM4MDIxMV9SQ19ERUZBVUxUX1BJRD15CisjIENPTkZJR19NQUM4MDIxMV9SQ19ERUZBVUxUX05PTkUgaXMgbm90IHNldAorCisjCisjIFNlbGVjdGluZyAneScgZm9yIGFuIGFsZ29yaXRobSB3aWxsCisjCisKKyMKKyMgYnVpbGQgdGhlIGFsZ29yaXRobSBpbnRvIG1hYzgwMjExLgorIworQ09ORklHX01BQzgwMjExX1JDX0RFRkFVTFQ9InBpZCIKK0NPTkZJR19NQUM4MDIxMV9SQ19QSUQ9eQorQ09ORklHX01BQzgwMjExX01FU0g9eQorQ09ORklHX01BQzgwMjExX0xFRFM9eQorIyBDT05GSUdfTUFDODAyMTFfREVCVUdfUEFDS0VUX0FMSUdOTUVOVCBpcyBub3Qgc2V0CisjIENPTkZJR19NQUM4MDIxMV9ERUJVRyBpcyBub3Qgc2V0CiAjIENPTkZJR19JRUVFODAyMTEgaXMgbm90IHNldAorIyBDT05GSUdfUkZLSUxMIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF85UCBpcyBub3Qgc2V0CiAKICMKICMgRGV2aWNlIERyaXZlcnMKQEAgLTM5NSwyMSArNTAxLDE0IEBACiAjCiAjIEdlbmVyaWMgRHJpdmVyIE9wdGlvbnMKICMKK0NPTkZJR19VRVZFTlRfSEVMUEVSX1BBVEg9Ii9zYmluL2hvdHBsdWciCiBDT05GSUdfU1RBTkRBTE9ORT15CiBDT05GSUdfUFJFVkVOVF9GSVJNV0FSRV9CVUlMRD15Ci0jIENPTkZJR19GV19MT0FERVIgaXMgbm90IHNldAorQ09ORklHX0ZXX0xPQURFUj1tCiAjIENPTkZJR19ERUJVR19EUklWRVIgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfREVWUkVTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NZU19IWVBFUlZJU09SIGlzIG5vdCBzZXQKLQotIwotIyBDb25uZWN0b3IgLSB1bmlmaWVkIHVzZXJzcGFjZSA8LT4ga2VybmVsc3BhY2UgbGlua2VyCi0jCiAjIENPTkZJR19DT05ORUNUT1IgaXMgbm90IHNldAotCi0jCi0jIE1lbW9yeSBUZWNobm9sb2d5IERldmljZXMgKE1URCkKLSMKIENPTkZJR19NVEQ9eQogIyBDT05GSUdfTVREX0RFQlVHIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9DT05DQVQgaXMgbm90IHNldApAQCAtNDIwLDYgKzUxOSw3IEBACiAjIENPTkZJR19NVERfUkVEQk9PVF9QQVJUU19SRUFET05MWSBpcyBub3Qgc2V0CiBDT05GSUdfTVREX0NNRExJTkVfUEFSVFM9eQogIyBDT05GSUdfTVREX0FGU19QQVJUUyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQVI3X1BBUlRTIGlzIG5vdCBzZXQKIAogIwogIyBVc2VyIE1vZHVsZXMgQW5kIFRyYW5zbGF0aW9uIExheWVycwpAQCAtNDMyLDYgKzUzMiw3IEBACiAjIENPTkZJR19JTkZUTCBpcyBub3Qgc2V0CiAjIENPTkZJR19SRkRfRlRMIGlzIG5vdCBzZXQKICMgQ09ORklHX1NTRkRDIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9PT1BTIGlzIG5vdCBzZXQKIAogIwogIyBSQU0vUk9NL0ZsYXNoIGNoaXAgZHJpdmVycwpAQCAtNDU3LDcgKzU1OCw2IEBACiAjIENPTkZJR19NVERfUkFNIGlzIG5vdCBzZXQKIENPTkZJR19NVERfUk9NPXkKICMgQ09ORklHX01URF9BQlNFTlQgaXMgbm90IHNldAotIyBDT05GSUdfTVREX09CU09MRVRFX0NISVBTIGlzIG5vdCBzZXQKIAogIwogIyBNYXBwaW5nIGRyaXZlcnMgZm9yIGNoaXAgYWNjZXNzCkBAIC00ODYsMTMgKzU4NiwxMCBAQAogIyBDT05GSUdfTVREX0RPQzIwMDAgaXMgbm90IHNldAogIyBDT05GSUdfTVREX0RPQzIwMDEgaXMgbm90IHNldAogIyBDT05GSUdfTVREX0RPQzIwMDFQTFVTIGlzIG5vdCBzZXQKLQotIwotIyBOQU5EIEZsYXNoIERldmljZSBEcml2ZXJzCi0jCiBDT05GSUdfTVREX05BTkQ9eQogIyBDT05GSUdfTVREX05BTkRfVkVSSUZZX1dSSVRFIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9OQU5EX0VDQ19TTUMgaXMgbm90IHNldAorIyBDT05GSUdfTVREX05BTkRfTVVTRVVNX0lEUyBpcyBub3Qgc2V0CiBDT05GSUdfTVREX05BTkRfSURTPXkKIENPTkZJR19NVERfTkFORF9TM0MyNDEwPXkKICMgQ09ORklHX01URF9OQU5EX1MzQzI0MTBfREVCVUcgaXMgbm90IHNldApAQCAtNTAwLDMwICs1OTcsMjUgQEAKICMgQ09ORklHX01URF9OQU5EX1MzQzI0MTBfQ0xLU1RPUCBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTkFORF9ESVNLT05DSElQIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9OQU5EX05BTkRTSU0gaXMgbm90IHNldAotCi0jCi0jIE9uZU5BTkQgRmxhc2ggRGV2aWNlIERyaXZlcnMKLSMKKyMgQ09ORklHX01URF9OQU5EX1BMQVRGT1JNIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9BTEFVREEgaXMgbm90IHNldAogIyBDT05GSUdfTVREX09ORU5BTkQgaXMgbm90IHNldAogCiAjCi0jIFBhcmFsbGVsIHBvcnQgc3VwcG9ydAorIyBVQkkgLSBVbnNvcnRlZCBibG9jayBpbWFnZXMKICMKKyMgQ09ORklHX01URF9VQkkgaXMgbm90IHNldAogQ09ORklHX1BBUlBPUlQ9eQotIyBDT05GSUdfUEFSUE9SVF9QQyBpcyBub3Qgc2V0CitDT05GSUdfUEFSUE9SVF9QQz1tCisjIENPTkZJR19QQVJQT1JUX1BDX0ZJRk8gaXMgbm90IHNldAorIyBDT05GSUdfUEFSUE9SVF9QQ19TVVBFUklPIGlzIG5vdCBzZXQKICMgQ09ORklHX1BBUlBPUlRfR1NDIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BBUlBPUlRfQVg4ODc5NiBpcyBub3Qgc2V0CitDT05GSUdfUEFSUE9SVF9BWDg4Nzk2PW0KIENPTkZJR19QQVJQT1JUXzEyODQ9eQotCi0jCi0jIFBsdWcgYW5kIFBsYXkgc3VwcG9ydAotIworQ09ORklHX1BBUlBPUlRfTk9UX1BDPXkKICMgQ09ORklHX1BOUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19QTlBBQ1BJIGlzIG5vdCBzZXQKLQotIwotIyBCbG9jayBkZXZpY2VzCi0jCitDT05GSUdfQkxLX0RFVj15CisjIENPTkZJR19QQVJJREUgaXMgbm90IHNldAogIyBDT05GSUdfQkxLX0RFVl9DT1dfQ09NTU9OIGlzIG5vdCBzZXQKIENPTkZJR19CTEtfREVWX0xPT1A9eQogIyBDT05GSUdfQkxLX0RFVl9DUllQVE9MT09QIGlzIG5vdCBzZXQKQEAgLTUzMiwzNCArNjI0LDM0IEBACiBDT05GSUdfQkxLX0RFVl9SQU09eQogQ09ORklHX0JMS19ERVZfUkFNX0NPVU5UPTE2CiBDT05GSUdfQkxLX0RFVl9SQU1fU0laRT00MDk2Ci1DT05GSUdfQkxLX0RFVl9SQU1fQkxPQ0tTSVpFPTEwMjQKKyMgQ09ORklHX0JMS19ERVZfWElQIGlzIG5vdCBzZXQKICMgQ09ORklHX0NEUk9NX1BLVENEVkQgaXMgbm90IHNldAogQ09ORklHX0FUQV9PVkVSX0VUSD1tCi0KLSMKLSMgQVRBL0FUQVBJL01GTS9STEwgc3VwcG9ydAotIworQ09ORklHX01JU0NfREVWSUNFUz15CisjIENPTkZJR19FRVBST01fOTNDWDYgaXMgbm90IHNldAorIyBDT05GSUdfRU5DTE9TVVJFX1NFUlZJQ0VTIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX0lERT15CiBDT05GSUdfSURFPXkKIENPTkZJR19CTEtfREVWX0lERT15CiAKICMKLSMgUGxlYXNlIHNlZSBEb2N1bWVudGF0aW9uL2lkZS50eHQgZm9yIGhlbHAvaW5mbyBvbiBJREUgZHJpdmVzCisjIFBsZWFzZSBzZWUgRG9jdW1lbnRhdGlvbi9pZGUvaWRlLnR4dCBmb3IgaGVscC9pbmZvIG9uIElERSBkcml2ZXMKICMKICMgQ09ORklHX0JMS19ERVZfSURFX1NBVEEgaXMgbm90IHNldAogQ09ORklHX0JMS19ERVZfSURFRElTSz15CiAjIENPTkZJR19JREVESVNLX01VTFRJX01PREUgaXMgbm90IHNldAogQ09ORklHX0JMS19ERVZfSURFQ0Q9eQorQ09ORklHX0JMS19ERVZfSURFQ0RfVkVSQk9TRV9FUlJPUlM9eQogQ09ORklHX0JMS19ERVZfSURFVEFQRT1tCiBDT05GSUdfQkxLX0RFVl9JREVGTE9QUFk9bQorIyBDT05GSUdfQkxLX0RFVl9JREVTQ1NJIGlzIG5vdCBzZXQKICMgQ09ORklHX0lERV9UQVNLX0lPQ1RMIGlzIG5vdCBzZXQKK0NPTkZJR19JREVfUFJPQ19GUz15CiAKICMKICMgSURFIGNoaXBzZXQgc3VwcG9ydC9idWdmaXhlcwogIwotQ09ORklHX0lERV9HRU5FUklDPXkKLSMgQ09ORklHX0lERV9BUk0gaXMgbm90IHNldAotQ09ORklHX0JMS19ERVZfSURFX0JBU1Q9eQotIyBDT05GSUdfSURFX0NISVBTRVRTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JMS19ERVZfUExBVEZPUk0gaXMgbm90IHNldAogIyBDT05GSUdfQkxLX0RFVl9JREVETUEgaXMgbm90IHNldAogIyBDT05GSUdfQkxLX0RFVl9IRCBpcyBub3Qgc2V0CiAKQEAgLTU2NywxMDEgKzY1OSwxMTkgQEAKICMgU0NTSSBkZXZpY2Ugc3VwcG9ydAogIwogIyBDT05GSUdfUkFJRF9BVFRSUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJIGlzIG5vdCBzZXQKK0NPTkZJR19TQ1NJPXkKK0NPTkZJR19TQ1NJX0RNQT15CitDT05GSUdfU0NTSV9UR1Q9bQogIyBDT05GSUdfU0NTSV9ORVRMSU5LIGlzIG5vdCBzZXQKK0NPTkZJR19TQ1NJX1BST0NfRlM9eQogCiAjCi0jIFNlcmlhbCBBVEEgKHByb2QpIGFuZCBQYXJhbGxlbCBBVEEgKGV4cGVyaW1lbnRhbCkgZHJpdmVycworIyBTQ1NJIHN1cHBvcnQgdHlwZSAoZGlzaywgdGFwZSwgQ0QtUk9NKQogIworQ09ORklHX0JMS19ERVZfU0Q9eQorQ09ORklHX0NIUl9ERVZfU1Q9bQorIyBDT05GSUdfQ0hSX0RFVl9PU1NUIGlzIG5vdCBzZXQKK0NPTkZJR19CTEtfREVWX1NSPW0KK0NPTkZJR19CTEtfREVWX1NSX1ZFTkRPUj15CitDT05GSUdfQ0hSX0RFVl9TRz15CitDT05GSUdfQ0hSX0RFVl9TQ0g9bQorCisjCisjIFNvbWUgU0NTSSBkZXZpY2VzIChlLmcuIENEIGp1a2Vib3gpIHN1cHBvcnQgbXVsdGlwbGUgTFVOcworIworQ09ORklHX1NDU0lfTVVMVElfTFVOPXkKK0NPTkZJR19TQ1NJX0NPTlNUQU5UUz15CisjIENPTkZJR19TQ1NJX0xPR0dJTkcgaXMgbm90IHNldAorQ09ORklHX1NDU0lfU0NBTl9BU1lOQz15CitDT05GSUdfU0NTSV9XQUlUX1NDQU49bQorCisjCisjIFNDU0kgVHJhbnNwb3J0cworIworIyBDT05GSUdfU0NTSV9TUElfQVRUUlMgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9GQ19BVFRSUyBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX0lTQ1NJX0FUVFJTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfU0FTX0xJQlNBUyBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX1NSUF9BVFRSUyBpcyBub3Qgc2V0CitDT05GSUdfU0NTSV9MT1dMRVZFTD15CisjIENPTkZJR19JU0NTSV9UQ1AgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9BSEExNTJYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfQUlDN1hYWF9PTEQgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9BRFZBTlNZUyBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX0lOMjAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX0RUQzMyODAgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9GVVRVUkVfRE9NQUlOIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfR0VORVJJQ19OQ1I1MzgwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfR0VORVJJQ19OQ1I1MzgwX01NSU8gaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9QUEEgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9JTU0gaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9OQ1I1M0M0MDZBIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfUEFTMTYgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9RTE9HSUNfRkFTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfU1lNNTNDNDE2IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfVDEyOCBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX0RFQlVHIGlzIG5vdCBzZXQKICMgQ09ORklHX0FUQSBpcyBub3Qgc2V0Ci0KLSMKLSMgTXVsdGktZGV2aWNlIHN1cHBvcnQgKFJBSUQgYW5kIExWTSkKLSMKK0NPTkZJR19IQVZFX1BBVEFfUExBVEZPUk09eQogIyBDT05GSUdfTUQgaXMgbm90IHNldAotCi0jCi0jIEZ1c2lvbiBNUFQgZGV2aWNlIHN1cHBvcnQKLSMKLSMgQ09ORklHX0ZVU0lPTiBpcyBub3Qgc2V0Ci0KLSMKLSMgSUVFRSAxMzk0IChGaXJlV2lyZSkgc3VwcG9ydAotIwotCi0jCi0jIEkyTyBkZXZpY2Ugc3VwcG9ydAotIwotCi0jCi0jIE5ldHdvcmsgZGV2aWNlIHN1cHBvcnQKLSMKIENPTkZJR19ORVRERVZJQ0VTPXkKKyMgQ09ORklHX05FVERFVklDRVNfTVVMVElRVUVVRSBpcyBub3Qgc2V0CiAjIENPTkZJR19EVU1NWSBpcyBub3Qgc2V0CiAjIENPTkZJR19CT05ESU5HIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BQ1ZMQU4gaXMgbm90IHNldAogIyBDT05GSUdfRVFVQUxJWkVSIGlzIG5vdCBzZXQKICMgQ09ORklHX1RVTiBpcyBub3Qgc2V0Ci0KLSMKLSMgQVJDbmV0IGRldmljZXMKLSMKKyMgQ09ORklHX1ZFVEggaXMgbm90IHNldAogIyBDT05GSUdfQVJDTkVUIGlzIG5vdCBzZXQKLQotIwotIyBQSFkgZGV2aWNlIHN1cHBvcnQKLSMKICMgQ09ORklHX1BIWUxJQiBpcyBub3Qgc2V0Ci0KLSMKLSMgRXRoZXJuZXQgKDEwIG9yIDEwME1iaXQpCi0jCiBDT05GSUdfTkVUX0VUSEVSTkVUPXkKIENPTkZJR19NSUk9eQorIyBDT05GSUdfQVg4ODc5NiBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfVkVORE9SXzNDT00gaXMgbm90IHNldAogIyBDT05GSUdfTkVUX1ZFTkRPUl9TTUMgaXMgbm90IHNldAogIyBDT05GSUdfU01DOTFYIGlzIG5vdCBzZXQKIENPTkZJR19ETTkwMDA9eQorIyBDT05GSUdfRU5DMjhKNjAgaXMgbm90IHNldAorQ09ORklHX0RNOTAwMF9ERUJVR0xFVkVMPTQKICMgQ09ORklHX05FVF9WRU5ET1JfUkFDQUwgaXMgbm90IHNldAogIyBDT05GSUdfQVQxNzAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFUENBIGlzIG5vdCBzZXQKICMgQ09ORklHX0hQMTAwIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9JU0EgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1pNSUkgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1JHTUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19UQUggaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX0VNQUM0IGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9QQ0kgaXMgbm90IHNldAorIyBDT05GSUdfQjQ0IGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9QT0NLRVQgaXMgbm90IHNldAotCi0jCi0jIEV0aGVybmV0ICgxMDAwIE1iaXQpCi0jCi0KLSMKLSMgRXRoZXJuZXQgKDEwMDAwIE1iaXQpCi0jCi0KLSMKLSMgVG9rZW4gUmluZyBkZXZpY2VzCi0jCitDT05GSUdfTkVUREVWXzEwMDA9eQorIyBDT05GSUdfRTEwMDBFX0VOQUJMRUQgaXMgbm90IHNldAorQ09ORklHX05FVERFVl8xMDAwMD15CiAjIENPTkZJR19UUiBpcyBub3Qgc2V0CiAKICMKLSMgV2lyZWxlc3MgTEFOIChub24taGFtcmFkaW8pCisjIFdpcmVsZXNzIExBTgogIwotIyBDT05GSUdfTkVUX1JBRElPIGlzIG5vdCBzZXQKKyMgQ09ORklHX1dMQU5fUFJFODAyMTEgaXMgbm90IHNldAorIyBDT05GSUdfV0xBTl84MDIxMSBpcyBub3Qgc2V0CisjIENPTkZJR19JV0xXSUZJX0xFRFMgaXMgbm90IHNldAogCiAjCi0jIFdhbiBpbnRlcmZhY2VzCisjIFVTQiBOZXR3b3JrIEFkYXB0ZXJzCiAjCisjIENPTkZJR19VU0JfQ0FUQyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfS0FXRVRIIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9QRUdBU1VTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9SVEw4MTUwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9VU0JORVQgaXMgbm90IHNldAogIyBDT05GSUdfV0FOIGlzIG5vdCBzZXQKICMgQ09ORklHX1BMSVAgaXMgbm90IHNldAogIyBDT05GSUdfUFBQIGlzIG5vdCBzZXQKICMgQ09ORklHX1NMSVAgaXMgbm90IHNldAotIyBDT05GSUdfU0hBUEVSIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVENPTlNPTEUgaXMgbm90IHNldAogIyBDT05GSUdfTkVUUE9MTCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfUE9MTF9DT05UUk9MTEVSIGlzIG5vdCBzZXQKLQotIwotIyBJU0ROIHN1YnN5c3RlbQotIwogIyBDT05GSUdfSVNETiBpcyBub3Qgc2V0CiAKICMKQEAgLTY2OSw2ICs3NzksNyBAQAogIwogQ09ORklHX0lOUFVUPXkKICMgQ09ORklHX0lOUFVUX0ZGX01FTUxFU1MgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfUE9MTERFViBpcyBub3Qgc2V0CiAKICMKICMgVXNlcmxhbmQgaW50ZXJmYWNlcwpAQCAtNjc4LDcgKzc4OSw2IEBACiBDT05GSUdfSU5QVVRfTU9VU0VERVZfU0NSRUVOX1g9MTAyNAogQ09ORklHX0lOUFVUX01PVVNFREVWX1NDUkVFTl9ZPTc2OAogIyBDT05GSUdfSU5QVVRfSk9ZREVWIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lOUFVUX1RTREVWIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX0VWREVWIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX0VWQlVHIGlzIG5vdCBzZXQKIApAQCAtNjk1LDEyICs4MDUsMjEgQEAKICMgQ09ORklHX0tFWUJPQVJEX0dQSU8gaXMgbm90IHNldAogQ09ORklHX0lOUFVUX01PVVNFPXkKIENPTkZJR19NT1VTRV9QUzI9eQorQ09ORklHX01PVVNFX1BTMl9BTFBTPXkKK0NPTkZJR19NT1VTRV9QUzJfTE9HSVBTMlBQPXkKK0NPTkZJR19NT1VTRV9QUzJfU1lOQVBUSUNTPXkKK0NPTkZJR19NT1VTRV9QUzJfTElGRUJPT0s9eQorQ09ORklHX01PVVNFX1BTMl9UUkFDS1BPSU5UPXkKKyMgQ09ORklHX01PVVNFX1BTMl9UT1VDSEtJVCBpcyBub3Qgc2V0CiAjIENPTkZJR19NT1VTRV9TRVJJQUwgaXMgbm90IHNldAorIyBDT05GSUdfTU9VU0VfQVBQTEVUT1VDSCBpcyBub3Qgc2V0CiAjIENPTkZJR19NT1VTRV9JTlBPUlQgaXMgbm90IHNldAogIyBDT05GSUdfTU9VU0VfTE9HSUJNIGlzIG5vdCBzZXQKICMgQ09ORklHX01PVVNFX1BDMTEwUEFEIGlzIG5vdCBzZXQKICMgQ09ORklHX01PVVNFX1ZTWFhYQUEgaXMgbm90IHNldAorIyBDT05GSUdfTU9VU0VfR1BJTyBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9KT1lTVElDSyBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9UQUJMRVQgaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfVE9VQ0hTQ1JFRU4gaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfTUlTQyBpcyBub3Qgc2V0CiAKQEAgLTcyMSw2ICs4NDAsNyBAQAogQ09ORklHX1ZUX0NPTlNPTEU9eQogQ09ORklHX0hXX0NPTlNPTEU9eQogIyBDT05GSUdfVlRfSFdfQ09OU09MRV9CSU5ESU5HIGlzIG5vdCBzZXQKK0NPTkZJR19ERVZLTUVNPXkKIENPTkZJR19TRVJJQUxfTk9OU1RBTkRBUkQ9eQogIyBDT05GSUdfQ09NUFVUT05FIGlzIG5vdCBzZXQKICMgQ09ORklHX1JPQ0tFVFBPUlQgaXMgbm90IHNldApAQCAtNzI4LDggKzg0OCw2IEBACiAjIENPTkZJR19ESUdJRVBDQSBpcyBub3Qgc2V0CiAjIENPTkZJR19NT1hBX0lOVEVMTElPIGlzIG5vdCBzZXQKICMgQ09ORklHX01PWEFfU01BUlRJTyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NT1hBX1NNQVJUSU9fTkVXIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NZTkNMSU5LTVAgaXMgbm90IHNldAogIyBDT05GSUdfTl9IRExDIGlzIG5vdCBzZXQKICMgQ09ORklHX1JJU0NPTTggaXMgbm90IHNldAogIyBDT05GSUdfU1BFQ0lBTElYIGlzIG5vdCBzZXQKQEAgLTc1OCw4ICs4NzYsMTIgQEAKICMKICMgTm9uLTgyNTAgc2VyaWFsIHBvcnQgc3VwcG9ydAogIworQ09ORklHX1NFUklBTF9TQU1TVU5HPXkKKyMgQ09ORklHX1NFUklBTF9TQU1TVU5HX0RFQlVHIGlzIG5vdCBzZXQKK0NPTkZJR19TRVJJQUxfU0FNU1VOR19DT05TT0xFPXkKIENPTkZJR19TRVJJQUxfUzNDMjQxMD15Ci1DT05GSUdfU0VSSUFMX1MzQzI0MTBfQ09OU09MRT15CitDT05GSUdfU0VSSUFMX1MzQzI0MTI9eQorQ09ORklHX1NFUklBTF9TM0MyNDQwPXkKIENPTkZJR19TRVJJQUxfQ09SRT15CiBDT05GSUdfU0VSSUFMX0NPUkVfQ09OU09MRT15CiBDT05GSUdfVU5JWDk4X1BUWVM9eQpAQCAtNzY4LDE2ICs4OTAsMTM5IEBACiBDT05GSUdfUFJJTlRFUj15CiAjIENPTkZJR19MUF9DT05TT0xFIGlzIG5vdCBzZXQKIENPTkZJR19QUERFVj15Ci0jIENPTkZJR19USVBBUiBpcyBub3Qgc2V0Ci0KLSMKLSMgSVBNSQotIwogIyBDT05GSUdfSVBNSV9IQU5ETEVSIGlzIG5vdCBzZXQKK0NPTkZJR19IV19SQU5ET009eQorIyBDT05GSUdfTlZSQU0gaXMgbm90IHNldAorIyBDT05GSUdfRFRMSyBpcyBub3Qgc2V0CisjIENPTkZJR19SMzk2NCBpcyBub3Qgc2V0CisjIENPTkZJR19SQVdfRFJJVkVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RDR19UUE0gaXMgbm90IHNldAorQ09ORklHX0RFVlBPUlQ9eQorQ09ORklHX0kyQz15CitDT05GSUdfSTJDX0JPQVJESU5GTz15CitDT05GSUdfSTJDX0NIQVJERVY9bQorQ09ORklHX0kyQ19BTEdPQklUPXkKIAogIwotIyBXYXRjaGRvZyBDYXJkcworIyBJMkMgSGFyZHdhcmUgQnVzIHN1cHBvcnQKICMKKyMgQ09ORklHX0kyQ19FTEVLVE9SIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19HUElPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19PQ09SRVMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1BBUlBPUlQgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1BBUlBPUlRfTElHSFQgaXMgbm90IHNldAorQ09ORklHX0kyQ19TM0MyNDEwPXkKK0NPTkZJR19JMkNfU0lNVEVDPXkKKyMgQ09ORklHX0kyQ19UQU9TX0VWTSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfU1RVQiBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfVElOWV9VU0IgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1BDQV9JU0EgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1BDQV9QTEFURk9STSBpcyBub3Qgc2V0CisKKyMKKyMgTWlzY2VsbGFuZW91cyBJMkMgQ2hpcCBzdXBwb3J0CisjCisjIENPTkZJR19EUzE2ODIgaXMgbm90IHNldAorQ09ORklHX1NFTlNPUlNfRUVQUk9NPW0KKyMgQ09ORklHX1NFTlNPUlNfUENGODU3NCBpcyBub3Qgc2V0CisjIENPTkZJR19QQ0Y4NTc1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfUENGODU5MSBpcyBub3Qgc2V0CisjIENPTkZJR19UUFM2NTAxMCBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX01BWDY4NzUgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19UU0wyNTUwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ERUJVR19DT1JFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ERUJVR19BTEdPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ERUJVR19CVVMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0RFQlVHX0NISVAgaXMgbm90IHNldAorQ09ORklHX1NQST15CisjIENPTkZJR19TUElfREVCVUcgaXMgbm90IHNldAorQ09ORklHX1NQSV9NQVNURVI9eQorCisjCisjIFNQSSBNYXN0ZXIgQ29udHJvbGxlciBEcml2ZXJzCisjCitDT05GSUdfU1BJX0JJVEJBTkc9bQorIyBDT05GSUdfU1BJX0JVVFRFUkZMWSBpcyBub3Qgc2V0CisjIENPTkZJR19TUElfTE03MF9MTFAgaXMgbm90IHNldAorQ09ORklHX1NQSV9TM0MyNFhYPW0KK0NPTkZJR19TUElfUzNDMjRYWF9HUElPPW0KKworIworIyBTUEkgUHJvdG9jb2wgTWFzdGVycworIworIyBDT05GSUdfU1BJX0FUMjUgaXMgbm90IHNldAorIyBDT05GSUdfU1BJX1NQSURFViBpcyBub3Qgc2V0CisjIENPTkZJR19TUElfVExFNjJYMCBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9HUElPX0xJQj15CisKKyMKKyMgR1BJTyBTdXBwb3J0CisjCisjIENPTkZJR19ERUJVR19HUElPIGlzIG5vdCBzZXQKKworIworIyBJMkMgR1BJTyBleHBhbmRlcnM6CisjCisjIENPTkZJR19HUElPX1BDQTk1M1ggaXMgbm90IHNldAorIyBDT05GSUdfR1BJT19QQ0Y4NTdYIGlzIG5vdCBzZXQKKworIworIyBTUEkgR1BJTyBleHBhbmRlcnM6CisjCisjIENPTkZJR19HUElPX01DUDIzUzA4IGlzIG5vdCBzZXQKKyMgQ09ORklHX1cxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BPV0VSX1NVUFBMWSBpcyBub3Qgc2V0CitDT05GSUdfSFdNT049eQorQ09ORklHX0hXTU9OX1ZJRD1tCisjIENPTkZJR19TRU5TT1JTX0FENzQxOCBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0FETTEwMjEgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19BRE0xMDI1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfQURNMTAyNiBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0FETTEwMjkgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19BRE0xMDMxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfQURNOTI0MCBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0FEVDc0NzAgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19BRFQ3NDczIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfQVRYUDEgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19EUzE2MjEgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19GNzE4MDVGIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfRjcxODgyRkcgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19GNzUzNzVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfR0w1MThTTSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0dMNTIwU00gaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19JVDg3IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfTE02MyBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0xNNzAgaXMgbm90IHNldAorQ09ORklHX1NFTlNPUlNfTE03NT1tCisjIENPTkZJR19TRU5TT1JTX0xNNzcgaXMgbm90IHNldAorQ09ORklHX1NFTlNPUlNfTE03OD1tCisjIENPTkZJR19TRU5TT1JTX0xNODAgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19MTTgzIGlzIG5vdCBzZXQKK0NPTkZJR19TRU5TT1JTX0xNODU9bQorIyBDT05GSUdfU0VOU09SU19MTTg3IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfTE05MCBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0xNOTIgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19MTTkzIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfTUFYMTYxOSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX01BWDY2NTAgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19QQzg3MzYwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfUEM4NzQyNyBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0RNRTE3MzcgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19TTVNDNDdNMSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1NNU0M0N00xOTIgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19TTVNDNDdCMzk3IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfQURTNzgyOCBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1RITUM1MCBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1ZUMTIxMSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1c4Mzc4MUQgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19XODM3OTFEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfVzgzNzkyRCBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1c4Mzc5MyBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1c4M0w3ODVUUyBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1c4M0w3ODZORyBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1c4MzYyN0hGIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfVzgzNjI3RUhGIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hXTU9OX0RFQlVHX0NISVAgaXMgbm90IHNldAogQ09ORklHX1dBVENIRE9HPXkKICMgQ09ORklHX1dBVENIRE9HX05PV0FZT1VUIGlzIG5vdCBzZXQKIApAQCAtNzk4LDE3OSArMTA0Myw1NCBAQAogIyBVU0ItYmFzZWQgV2F0Y2hkb2cgQ2FyZHMKICMKICMgQ09ORklHX1VTQlBDV0FUQ0hET0cgaXMgbm90IHNldAotQ09ORklHX0hXX1JBTkRPTT15Ci0jIENPTkZJR19OVlJBTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19EVExLIGlzIG5vdCBzZXQKLSMgQ09ORklHX1IzOTY0IGlzIG5vdCBzZXQKLSMgQ09ORklHX1JBV19EUklWRVIgaXMgbm90IHNldAogCiAjCi0jIFRQTSBkZXZpY2VzCisjIFNvbmljcyBTaWxpY29uIEJhY2twbGFuZQogIwotIyBDT05GSUdfVENHX1RQTSBpcyBub3Qgc2V0Ci0KLSMKLSMgSTJDIHN1cHBvcnQKLSMKLUNPTkZJR19JMkM9eQotQ09ORklHX0kyQ19DSEFSREVWPW0KLQotIwotIyBJMkMgQWxnb3JpdGhtcwotIwotQ09ORklHX0kyQ19BTEdPQklUPW0KLSMgQ09ORklHX0kyQ19BTEdPUENGIGlzIG5vdCBzZXQKLSMgQ09ORklHX0kyQ19BTEdPUENBIGlzIG5vdCBzZXQKLQotIwotIyBJMkMgSGFyZHdhcmUgQnVzIHN1cHBvcnQKLSMKLSMgQ09ORklHX0kyQ19FTEVLVE9SIGlzIG5vdCBzZXQKLSMgQ09ORklHX0kyQ19PQ09SRVMgaXMgbm90IHNldAotIyBDT05GSUdfSTJDX1BBUlBPUlQgaXMgbm90IHNldAotIyBDT05GSUdfSTJDX1BBUlBPUlRfTElHSFQgaXMgbm90IHNldAotQ09ORklHX0kyQ19TM0MyNDEwPXkKLSMgQ09ORklHX0kyQ19TVFVCIGlzIG5vdCBzZXQKLSMgQ09ORklHX0kyQ19QQ0FfSVNBIGlzIG5vdCBzZXQKLQotIwotIyBNaXNjZWxsYW5lb3VzIEkyQyBDaGlwIHN1cHBvcnQKLSMKLSMgQ09ORklHX1NFTlNPUlNfRFMxMzM3IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFTlNPUlNfRFMxMzc0IGlzIG5vdCBzZXQKLUNPTkZJR19TRU5TT1JTX0VFUFJPTT1tCi0jIENPTkZJR19TRU5TT1JTX1BDRjg1NzQgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19QQ0E5NTM5IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFTlNPUlNfUENGODU5MSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX01BWDY4NzUgaXMgbm90IHNldAotIyBDT05GSUdfSTJDX0RFQlVHX0NPUkUgaXMgbm90IHNldAotIyBDT05GSUdfSTJDX0RFQlVHX0FMR08gaXMgbm90IHNldAotIyBDT05GSUdfSTJDX0RFQlVHX0JVUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19JMkNfREVCVUdfQ0hJUCBpcyBub3Qgc2V0Ci0KLSMKLSMgU1BJIHN1cHBvcnQKLSMKLUNPTkZJR19TUEk9eQotIyBDT05GSUdfU1BJX0RFQlVHIGlzIG5vdCBzZXQKLUNPTkZJR19TUElfTUFTVEVSPXkKLQotIwotIyBTUEkgTWFzdGVyIENvbnRyb2xsZXIgRHJpdmVycwotIwotQ09ORklHX1NQSV9CSVRCQU5HPW0KLSMgQ09ORklHX1NQSV9CVVRURVJGTFkgaXMgbm90IHNldAotQ09ORklHX1NQSV9TM0MyNFhYPW0KLUNPTkZJR19TUElfUzNDMjRYWF9HUElPPW0KLQotIwotIyBTUEkgUHJvdG9jb2wgTWFzdGVycwotIwotIyBDT05GSUdfU1BJX0FUMjUgaXMgbm90IHNldAotCi0jCi0jIERhbGxhcydzIDEtd2lyZSBidXMKLSMKLSMgQ09ORklHX1cxIGlzIG5vdCBzZXQKLQotIwotIyBIYXJkd2FyZSBNb25pdG9yaW5nIHN1cHBvcnQKLSMKLUNPTkZJR19IV01PTj15Ci1DT05GSUdfSFdNT05fVklEPW0KLSMgQ09ORklHX1NFTlNPUlNfQUJJVFVHVVJVIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFTlNPUlNfQURNMTAyMSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX0FETTEwMjUgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19BRE0xMDI2IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFTlNPUlNfQURNMTAyOSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX0FETTEwMzEgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19BRE05MjQwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFTlNPUlNfQVNCMTAwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFTlNPUlNfQVRYUDEgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19EUzE2MjEgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19GNzE4MDVGIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFTlNPUlNfRlNDSEVSIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFTlNPUlNfRlNDUE9TIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFTlNPUlNfR0w1MThTTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX0dMNTIwU00gaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19JVDg3IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFTlNPUlNfTE02MyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX0xNNzAgaXMgbm90IHNldAotQ09ORklHX1NFTlNPUlNfTE03NT1tCi0jIENPTkZJR19TRU5TT1JTX0xNNzcgaXMgbm90IHNldAotQ09ORklHX1NFTlNPUlNfTE03OD1tCi0jIENPTkZJR19TRU5TT1JTX0xNODAgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19MTTgzIGlzIG5vdCBzZXQKLUNPTkZJR19TRU5TT1JTX0xNODU9bQotIyBDT05GSUdfU0VOU09SU19MTTg3IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFTlNPUlNfTE05MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX0xNOTIgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19NQVgxNjE5IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFTlNPUlNfUEM4NzM2MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX1BDODc0MjcgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19TTVNDNDdNMSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX1NNU0M0N00xOTIgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19TTVNDNDdCMzk3IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFTlNPUlNfVlQxMjExIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFTlNPUlNfVzgzNzgxRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX1c4Mzc5MUQgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19XODM3OTJEIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFTlNPUlNfVzgzNzkzIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFTlNPUlNfVzgzTDc4NVRTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFTlNPUlNfVzgzNjI3SEYgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19XODM2MjdFSEYgaXMgbm90IHNldAotIyBDT05GSUdfSFdNT05fREVCVUdfQ0hJUCBpcyBub3Qgc2V0Ci0KLSMKLSMgTWlzYyBkZXZpY2VzCi0jCitDT05GSUdfU1NCX1BPU1NJQkxFPXkKKyMgQ09ORklHX1NTQiBpcyBub3Qgc2V0CiAKICMKICMgTXVsdGlmdW5jdGlvbiBkZXZpY2UgZHJpdmVycwogIwotIyBDT05GSUdfTUZEX1NNNTAxIGlzIG5vdCBzZXQKLQotIwotIyBMRUQgZGV2aWNlcwotIwotQ09ORklHX05FV19MRURTPXkKLUNPTkZJR19MRURTX0NMQVNTPW0KLQotIwotIyBMRUQgZHJpdmVycwotIwotQ09ORklHX0xFRFNfUzNDMjRYWD1tCi1DT05GSUdfTEVEU19IMTk0MD1tCi0KLSMKLSMgTEVEIFRyaWdnZXJzCi0jCi1DT05GSUdfTEVEU19UUklHR0VSUz15Ci1DT05GSUdfTEVEU19UUklHR0VSX1RJTUVSPW0KLSMgQ09ORklHX0xFRFNfVFJJR0dFUl9JREVfRElTSyBpcyBub3Qgc2V0Ci1DT05GSUdfTEVEU19UUklHR0VSX0hFQVJUQkVBVD1tCitDT05GSUdfTUZEX1NNNTAxPXkKKyMgQ09ORklHX01GRF9BU0lDMyBpcyBub3Qgc2V0CisjIENPTkZJR19IVENfRUdQSU8gaXMgbm90IHNldAorIyBDT05GSUdfSFRDX1BBU0lDMyBpcyBub3Qgc2V0CiAKICMKICMgTXVsdGltZWRpYSBkZXZpY2VzCiAjCi0jIENPTkZJR19WSURFT19ERVYgaXMgbm90IHNldAogCiAjCi0jIERpZ2l0YWwgVmlkZW8gQnJvYWRjYXN0aW5nIERldmljZXMKKyMgTXVsdGltZWRpYSBjb3JlIHN1cHBvcnQKICMKLSMgQ09ORklHX0RWQiBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfREFCVVNCIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJREVPX0RFViBpcyBub3Qgc2V0CisjIENPTkZJR19EVkJfQ09SRSBpcyBub3Qgc2V0CisjIENPTkZJR19WSURFT19NRURJQSBpcyBub3Qgc2V0CisKKyMKKyMgTXVsdGltZWRpYSBkcml2ZXJzCisjCisjIENPTkZJR19EQUIgaXMgbm90IHNldAogCiAjCiAjIEdyYXBoaWNzIHN1cHBvcnQKICMKLSMgQ09ORklHX0JBQ0tMSUdIVF9MQ0RfU1VQUE9SVCBpcyBub3Qgc2V0CisjIENPTkZJR19WR0FTVEFURSBpcyBub3Qgc2V0CisjIENPTkZJR19WSURFT19PVVRQVVRfQ09OVFJPTCBpcyBub3Qgc2V0CiBDT05GSUdfRkI9eQogQ09ORklHX0ZJUk1XQVJFX0VESUQ9eQogIyBDT05GSUdfRkJfRERDIGlzIG5vdCBzZXQKIENPTkZJR19GQl9DRkJfRklMTFJFQ1Q9eQogQ09ORklHX0ZCX0NGQl9DT1BZQVJFQT15CiBDT05GSUdfRkJfQ0ZCX0lNQUdFQkxJVD15CisjIENPTkZJR19GQl9DRkJfUkVWX1BJWEVMU19JTl9CWVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1NZU19GSUxMUkVDVCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9TWVNfQ09QWUFSRUEgaXMgbm90IHNldAorIyBDT05GSUdfRkJfU1lTX0lNQUdFQkxJVCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9GT1JFSUdOX0VORElBTiBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9TWVNfRk9QUyBpcyBub3Qgc2V0CiAjIENPTkZJR19GQl9TVkdBTElCIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZCX01BQ01PREVTIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZCX0JBQ0tMSUdIVCBpcyBub3Qgc2V0CkBAIC05NzgsMTIgKzEwOTgsMTkgQEAKICMgQ09ORklHX0ZCX1RJTEVCTElUVElORyBpcyBub3Qgc2V0CiAKICMKLSMgRnJhbWJ1ZmZlciBoYXJkd2FyZSBkcml2ZXJzCisjIEZyYW1lIGJ1ZmZlciBoYXJkd2FyZSBkcml2ZXJzCiAjCiAjIENPTkZJR19GQl9TMUQxM1hYWCBpcyBub3Qgc2V0CiBDT05GSUdfRkJfUzNDMjQxMD15CiAjIENPTkZJR19GQl9TM0MyNDEwX0RFQlVHIGlzIG5vdCBzZXQKK0NPTkZJR19GQl9TTTUwMT15CiAjIENPTkZJR19GQl9WSVJUVUFMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JBQ0tMSUdIVF9MQ0RfU1VQUE9SVCBpcyBub3Qgc2V0CisKKyMKKyMgRGlzcGxheSBkZXZpY2Ugc3VwcG9ydAorIworIyBDT05GSUdfRElTUExBWV9TVVBQT1JUIGlzIG5vdCBzZXQKIAogIwogIyBDb25zb2xlIGRpc3BsYXkgZHJpdmVyIHN1cHBvcnQKQEAgLTk5Miw2OCArMTExOSwyMSBAQAogIyBDT05GSUdfTURBX0NPTlNPTEUgaXMgbm90IHNldAogQ09ORklHX0RVTU1ZX0NPTlNPTEU9eQogQ09ORklHX0ZSQU1FQlVGRkVSX0NPTlNPTEU9eQorIyBDT05GSUdfRlJBTUVCVUZGRVJfQ09OU09MRV9ERVRFQ1RfUFJJTUFSWSBpcyBub3Qgc2V0CiAjIENPTkZJR19GUkFNRUJVRkZFUl9DT05TT0xFX1JPVEFUSU9OIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZPTlRTIGlzIG5vdCBzZXQKIENPTkZJR19GT05UXzh4OD15CiBDT05GSUdfRk9OVF84eDE2PXkKLQotIwotIyBMb2dvIGNvbmZpZ3VyYXRpb24KLSMKICMgQ09ORklHX0xPR08gaXMgbm90IHNldAogCiAjCiAjIFNvdW5kCiAjCiAjIENPTkZJR19TT1VORCBpcyBub3Qgc2V0Ci0KLSMKLSMgSElEIERldmljZXMKLSMKK0NPTkZJR19ISURfU1VQUE9SVD15CiBDT05GSUdfSElEPXkKICMgQ09ORklHX0hJRF9ERUJVRyBpcyBub3Qgc2V0Ci0KLSMKLSMgVVNCIHN1cHBvcnQKLSMKLUNPTkZJR19VU0JfQVJDSF9IQVNfSENEPXkKLUNPTkZJR19VU0JfQVJDSF9IQVNfT0hDST15Ci0jIENPTkZJR19VU0JfQVJDSF9IQVNfRUhDSSBpcyBub3Qgc2V0Ci1DT05GSUdfVVNCPXkKLSMgQ09ORklHX1VTQl9ERUJVRyBpcyBub3Qgc2V0Ci0KLSMKLSMgTWlzY2VsbGFuZW91cyBVU0Igb3B0aW9ucwotIwotQ09ORklHX1VTQl9ERVZJQ0VGUz15Ci0jIENPTkZJR19VU0JfRFlOQU1JQ19NSU5PUlMgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1NVU1BFTkQgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX09URyBpcyBub3Qgc2V0Ci0KLSMKLSMgVVNCIEhvc3QgQ29udHJvbGxlciBEcml2ZXJzCi0jCi0jIENPTkZJR19VU0JfSVNQMTE2WF9IQ0QgaXMgbm90IHNldAotQ09ORklHX1VTQl9PSENJX0hDRD15Ci0jIENPTkZJR19VU0JfT0hDSV9CSUdfRU5ESUFOX0RFU0MgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX09IQ0lfQklHX0VORElBTl9NTUlPIGlzIG5vdCBzZXQKLUNPTkZJR19VU0JfT0hDSV9MSVRUTEVfRU5ESUFOPXkKLSMgQ09ORklHX1VTQl9TTDgxMV9IQ0QgaXMgbm90IHNldAotCi0jCi0jIFVTQiBEZXZpY2UgQ2xhc3MgZHJpdmVycwotIwotIyBDT05GSUdfVVNCX0FDTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfUFJJTlRFUiBpcyBub3Qgc2V0Ci0KLSMKLSMgTk9URTogVVNCX1NUT1JBR0UgZW5hYmxlcyBTQ1NJLCBhbmQgJ1NDU0kgZGlzayBzdXBwb3J0JwotIwotCi0jCi0jIG1heSBhbHNvIGJlIG5lZWRlZDsgc2VlIFVTQl9TVE9SQUdFIEhlbHAgZm9yIG1vcmUgaW5mb3JtYXRpb24KLSMKLSMgQ09ORklHX1VTQl9MSUJVU1VBTCBpcyBub3Qgc2V0CisjIENPTkZJR19ISURSQVcgaXMgbm90IHNldAogCiAjCiAjIFVTQiBJbnB1dCBEZXZpY2VzCkBAIC0xMDY1LDQ1ICsxMTQ1LDEyMiBAQAogIwogIyBDT05GSUdfVVNCX0tCRCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfTU9VU0UgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX0FJUFRFSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfV0FDT00gaXMgbm90IHNldAotIyBDT05GSUdfVVNCX0FDRUNBRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfS0JUQUIgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1BPV0VSTUFURSBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfVE9VQ0hTQ1JFRU4gaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1lFQUxJTksgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1hQQUQgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX0FUSV9SRU1PVEUgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX0FUSV9SRU1PVEUyIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9LRVlTUEFOX1JFTU9URSBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfQVBQTEVUT1VDSCBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfR1RDTyBpcyBub3Qgc2V0CitDT05GSUdfVVNCX1NVUFBPUlQ9eQorQ09ORklHX1VTQl9BUkNIX0hBU19IQ0Q9eQorQ09ORklHX1VTQl9BUkNIX0hBU19PSENJPXkKKyMgQ09ORklHX1VTQl9BUkNIX0hBU19FSENJIGlzIG5vdCBzZXQKK0NPTkZJR19VU0I9eQorIyBDT05GSUdfVVNCX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9BTk5PVU5DRV9ORVdfREVWSUNFUyBpcyBub3Qgc2V0CisKKyMKKyMgTWlzY2VsbGFuZW91cyBVU0Igb3B0aW9ucworIworQ09ORklHX1VTQl9ERVZJQ0VGUz15CitDT05GSUdfVVNCX0RFVklDRV9DTEFTUz15CisjIENPTkZJR19VU0JfRFlOQU1JQ19NSU5PUlMgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NVU1BFTkQgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX09URyBpcyBub3Qgc2V0CisKKyMKKyMgVVNCIEhvc3QgQ29udHJvbGxlciBEcml2ZXJzCisjCisjIENPTkZJR19VU0JfQzY3WDAwX0hDRCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfSVNQMTE2WF9IQ0QgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0lTUDE3NjBfSENEIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfT0hDSV9IQ0Q9eQorIyBDT05GSUdfVVNCX09IQ0lfQklHX0VORElBTl9ERVNDIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9PSENJX0JJR19FTkRJQU5fTU1JTyBpcyBub3Qgc2V0CitDT05GSUdfVVNCX09IQ0lfTElUVExFX0VORElBTj15CisjIENPTkZJR19VU0JfU0w4MTFfSENEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9SOEE2NjU5N19IQ0QgaXMgbm90IHNldAorCisjCisjIFVTQiBEZXZpY2UgQ2xhc3MgZHJpdmVycworIworQ09ORklHX1VTQl9BQ009bQorQ09ORklHX1VTQl9QUklOVEVSPW0KK0NPTkZJR19VU0JfV0RNPW0KKworIworIyBOT1RFOiBVU0JfU1RPUkFHRSBlbmFibGVzIFNDU0ksIGFuZCAnU0NTSSBkaXNrIHN1cHBvcnQnCisjCisKKyMKKyMgbWF5IGFsc28gYmUgbmVlZGVkOyBzZWUgVVNCX1NUT1JBR0UgSGVscCBmb3IgbW9yZSBpbmZvcm1hdGlvbgorIworQ09ORklHX1VTQl9TVE9SQUdFPW0KKyMgQ09ORklHX1VTQl9TVE9SQUdFX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVE9SQUdFX0RBVEFGQUIgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NUT1JBR0VfRlJFRUNPTSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1RPUkFHRV9JU0QyMDAgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NUT1JBR0VfRFBDTSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1RPUkFHRV9VU0JBVCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1RPUkFHRV9TRERSMDkgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NUT1JBR0VfU0REUjU1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVE9SQUdFX0pVTVBTSE9UIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVE9SQUdFX0FMQVVEQSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1RPUkFHRV9PTkVUT1VDSCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1RPUkFHRV9LQVJNQSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1RPUkFHRV9DWVBSRVNTX0FUQUNCIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfTElCVVNVQUw9eQogCiAjCiAjIFVTQiBJbWFnaW5nIGRldmljZXMKICMKICMgQ09ORklHX1VTQl9NREM4MDAgaXMgbm90IHNldAotCi0jCi0jIFVTQiBOZXR3b3JrIEFkYXB0ZXJzCi0jCi0jIENPTkZJR19VU0JfQ0FUQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfS0FXRVRIIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9QRUdBU1VTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9SVEw4MTUwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9VU0JORVRfTUlJIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9VU0JORVQgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX01JQ1JPVEVLIGlzIG5vdCBzZXQKIENPTkZJR19VU0JfTU9OPXkKIAogIwogIyBVU0IgcG9ydCBkcml2ZXJzCiAjCiAjIENPTkZJR19VU0JfVVNTNzIwIGlzIG5vdCBzZXQKLQotIwotIyBVU0IgU2VyaWFsIENvbnZlcnRlciBzdXBwb3J0Ci0jCi0jIENPTkZJR19VU0JfU0VSSUFMIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfU0VSSUFMPXkKKyMgQ09ORklHX1VTQl9TRVJJQUxfQ09OU09MRSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfRVpVU0IgaXMgbm90IHNldAorQ09ORklHX1VTQl9TRVJJQUxfR0VORVJJQz15CisjIENPTkZJR19VU0JfU0VSSUFMX0FJUkNBQkxFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TRVJJQUxfQUlSUFJJTUUgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NFUklBTF9BUkszMTE2IGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TRVJJQUxfQkVMS0lOIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TRVJJQUxfQ0gzNDEgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NFUklBTF9XSElURUhFQVQgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NFUklBTF9ESUdJX0FDQ0VMRVBPUlQgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NFUklBTF9DUDIxMDEgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NFUklBTF9DWVBSRVNTX004IGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TRVJJQUxfRU1QRUcgaXMgbm90IHNldAorQ09ORklHX1VTQl9TRVJJQUxfRlRESV9TSU89eQorIyBDT05GSUdfVVNCX1NFUklBTF9GVU5TT0ZUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TRVJJQUxfVklTT1IgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NFUklBTF9JUEFRIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TRVJJQUxfSVIgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NFUklBTF9FREdFUE9SVCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0VSSUFMX0VER0VQT1JUX1RJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TRVJJQUxfR0FSTUlOIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TRVJJQUxfSVBXIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TRVJJQUxfSVVVIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TRVJJQUxfS0VZU1BBTl9QREEgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NFUklBTF9LRVlTUEFOIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TRVJJQUxfS0xTSSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0VSSUFMX0tPQklMX1NDVCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0VSSUFMX01DVF9VMjMyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TRVJJQUxfTU9TNzcyMCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0VSSUFMX01PUzc4NDAgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NFUklBTF9NT1RPUk9MQSBpcyBub3Qgc2V0CitDT05GSUdfVVNCX1NFUklBTF9OQVZNQU49bQorQ09ORklHX1VTQl9TRVJJQUxfUEwyMzAzPXkKKyMgQ09ORklHX1VTQl9TRVJJQUxfT1RJNjg1OCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0VSSUFMX1NQQ1A4WDUgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NFUklBTF9IUDRYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TRVJJQUxfU0FGRSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0VSSUFMX1NJRVJSQVdJUkVMRVNTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TRVJJQUxfVEkgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NFUklBTF9DWUJFUkpBQ0sgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NFUklBTF9YSVJDT00gaXMgbm90IHNldAorQ09ORklHX1VTQl9TRVJJQUxfT1BUSU9OPW0KKyMgQ09ORklHX1VTQl9TRVJJQUxfT01OSU5FVCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0VSSUFMX0RFQlVHIGlzIG5vdCBzZXQKIAogIwogIyBVU0IgTWlzY2VsbGFuZW91cyBkcml2ZXJzCkBAIC0xMTE2LDM1ICsxMjczLDM4IEBACiAjIENPTkZJR19VU0JfTEVHT1RPV0VSIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9MQ0QgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0JFUlJZX0NIQVJHRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfTEVEIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfTEVEPW0KICMgQ09ORklHX1VTQl9DWVBSRVNTX0NZN0M2MyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfQ1lUSEVSTSBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfUEhJREdFVCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfSURNT1VTRSBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfRlRESV9FTEFOIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9BUFBMRURJU1BMQVkgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX0xEIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfTEQ9bQogIyBDT05GSUdfVVNCX1RSQU5DRVZJQlJBVE9SIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9JT1dBUlJJT1IgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1RFU1QgaXMgbm90IHNldAotCi0jCi0jIFVTQiBEU0wgbW9kZW0gc3VwcG9ydAotIwotCi0jCi0jIFVTQiBHYWRnZXQgU3VwcG9ydAotIworIyBDT05GSUdfVVNCX0lTSUdIVEZXIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9HQURHRVQgaXMgbm90IHNldAotCi0jCi0jIE1NQy9TRCBDYXJkIHN1cHBvcnQKLSMKICMgQ09ORklHX01NQyBpcyBub3Qgc2V0CitDT05GSUdfTkVXX0xFRFM9eQorQ09ORklHX0xFRFNfQ0xBU1M9bQogCiAjCi0jIFJlYWwgVGltZSBDbG9jaworIyBMRUQgZHJpdmVycwogIworQ09ORklHX0xFRFNfUzNDMjRYWD1tCitDT05GSUdfTEVEU19IMTk0MD1tCisjIENPTkZJR19MRURTX0dQSU8gaXMgbm90IHNldAorCisjCisjIExFRCBUcmlnZ2VycworIworQ09ORklHX0xFRFNfVFJJR0dFUlM9eQorQ09ORklHX0xFRFNfVFJJR0dFUl9USU1FUj1tCisjIENPTkZJR19MRURTX1RSSUdHRVJfSURFX0RJU0sgaXMgbm90IHNldAorQ09ORklHX0xFRFNfVFJJR0dFUl9IRUFSVEJFQVQ9bQorIyBDT05GSUdfTEVEU19UUklHR0VSX0RFRkFVTFRfT04gaXMgbm90IHNldAogQ09ORklHX1JUQ19MSUI9eQogQ09ORklHX1JUQ19DTEFTUz15CiBDT05GSUdfUlRDX0hDVE9TWVM9eQpAQCAtMTE1OCw2MSArMTMxOCw4NiBAQAogQ09ORklHX1JUQ19JTlRGX1BST0M9eQogQ09ORklHX1JUQ19JTlRGX0RFVj15CiAjIENPTkZJR19SVENfSU5URl9ERVZfVUlFX0VNVUwgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9URVNUIGlzIG5vdCBzZXQKIAogIwotIyBSVEMgZHJpdmVycworIyBJMkMgUlRDIGRyaXZlcnMKKyMKKyMgQ09ORklHX1JUQ19EUlZfRFMxMzA3IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfRFMxMzc0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfRFMxNjcyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfTUFYNjkwMCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1JTNUMzNzIgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9JU0wxMjA4IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfWDEyMDUgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9QQ0Y4NTYzIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUENGODU4MyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX000MVQ4MCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1MzNTM5MEEgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9GTTMxMzAgaXMgbm90IHNldAorCisjCisjIFNQSSBSVEMgZHJpdmVycworIworIyBDT05GSUdfUlRDX0RSVl9NQVg2OTAyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUjk3MDEgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9SUzVDMzQ4IGlzIG5vdCBzZXQKKworIworIyBQbGF0Zm9ybSBSVEMgZHJpdmVycwogIwogIyBDT05GSUdfUlRDX0RSVl9DTU9TIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JUQ19EUlZfWDEyMDUgaXMgbm90IHNldAotIyBDT05GSUdfUlRDX0RSVl9EUzEzMDcgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9EUzE1MTEgaXMgbm90IHNldAogIyBDT05GSUdfUlRDX0RSVl9EUzE1NTMgaXMgbm90IHNldAotIyBDT05GSUdfUlRDX0RSVl9JU0wxMjA4IGlzIG5vdCBzZXQKLSMgQ09ORklHX1JUQ19EUlZfRFMxNjcyIGlzIG5vdCBzZXQKICMgQ09ORklHX1JUQ19EUlZfRFMxNzQyIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JUQ19EUlZfUENGODU2MyBpcyBub3Qgc2V0Ci0jIENPTkZJR19SVENfRFJWX1JTNUMzNDggaXMgbm90IHNldAotIyBDT05GSUdfUlRDX0RSVl9SUzVDMzcyIGlzIG5vdCBzZXQKLUNPTkZJR19SVENfRFJWX1MzQz15CisjIENPTkZJR19SVENfRFJWX1NUSzE3VEE4IGlzIG5vdCBzZXQKICMgQ09ORklHX1JUQ19EUlZfTTQ4VDg2IGlzIG5vdCBzZXQKLSMgQ09ORklHX1JUQ19EUlZfVEVTVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19SVENfRFJWX01BWDY5MDIgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9NNDhUNTkgaXMgbm90IHNldAogIyBDT05GSUdfUlRDX0RSVl9WMzAyMCBpcyBub3Qgc2V0CiAKICMKKyMgb24tQ1BVIFJUQyBkcml2ZXJzCisjCitDT05GSUdfUlRDX0RSVl9TM0M9eQorIyBDT05GSUdfVUlPIGlzIG5vdCBzZXQKKworIwogIyBGaWxlIHN5c3RlbXMKICMKIENPTkZJR19FWFQyX0ZTPXkKLSMgQ09ORklHX0VYVDJfRlNfWEFUVFIgaXMgbm90IHNldAorQ09ORklHX0VYVDJfRlNfWEFUVFI9eQorQ09ORklHX0VYVDJfRlNfUE9TSVhfQUNMPXkKK0NPTkZJR19FWFQyX0ZTX1NFQ1VSSVRZPXkKICMgQ09ORklHX0VYVDJfRlNfWElQIGlzIG5vdCBzZXQKIENPTkZJR19FWFQzX0ZTPXkKIENPTkZJR19FWFQzX0ZTX1hBVFRSPXkKLSMgQ09ORklHX0VYVDNfRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKK0NPTkZJR19FWFQzX0ZTX1BPU0lYX0FDTD15CiAjIENPTkZJR19FWFQzX0ZTX1NFQ1VSSVRZIGlzIG5vdCBzZXQKICMgQ09ORklHX0VYVDRERVZfRlMgaXMgbm90IHNldAogQ09ORklHX0pCRD15Ci0jIENPTkZJR19KQkRfREVCVUcgaXMgbm90IHNldAogQ09ORklHX0ZTX01CQ0FDSEU9eQogIyBDT05GSUdfUkVJU0VSRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfSkZTX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0CitDT05GSUdfRlNfUE9TSVhfQUNMPXkKICMgQ09ORklHX1hGU19GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19HRlMyX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX09DRlMyX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX01JTklYX0ZTIGlzIG5vdCBzZXQKLUNPTkZJR19ST01GU19GUz15CitDT05GSUdfRE5PVElGWT15CiBDT05GSUdfSU5PVElGWT15CiBDT05GSUdfSU5PVElGWV9VU0VSPXkKICMgQ09ORklHX1FVT1RBIGlzIG5vdCBzZXQKLUNPTkZJR19ETk9USUZZPXkKICMgQ09ORklHX0FVVE9GU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19BVVRPRlM0X0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZVU0VfRlMgaXMgbm90IHNldAorQ09ORklHX0dFTkVSSUNfQUNMPXkKIAogIwogIyBDRC1ST00vRFZEIEZpbGVzeXN0ZW1zCiAjCi0jIENPTkZJR19JU085NjYwX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VERl9GUyBpcyBub3Qgc2V0CitDT05GSUdfSVNPOTY2MF9GUz15CitDT05GSUdfSk9MSUVUPXkKKyMgQ09ORklHX1pJU09GUyBpcyBub3Qgc2V0CitDT05GSUdfVURGX0ZTPW0KK0NPTkZJR19VREZfTkxTPXkKIAogIwogIyBET1MvRkFUL05UIEZpbGVzeXN0ZW1zCkBAIC0xMjIyLDcgKzE0MDcsOSBAQAogQ09ORklHX1ZGQVRfRlM9eQogQ09ORklHX0ZBVF9ERUZBVUxUX0NPREVQQUdFPTQzNwogQ09ORklHX0ZBVF9ERUZBVUxUX0lPQ0hBUlNFVD0iaXNvODg1OS0xIgotIyBDT05GSUdfTlRGU19GUyBpcyBub3Qgc2V0CitDT05GSUdfTlRGU19GUz1tCisjIENPTkZJR19OVEZTX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX05URlNfUlcgaXMgbm90IHNldAogCiAjCiAjIFBzZXVkbyBmaWxlc3lzdGVtcwpAQCAtMTIzMCwxMCArMTQxNywxMCBAQAogQ09ORklHX1BST0NfRlM9eQogQ09ORklHX1BST0NfU1lTQ1RMPXkKIENPTkZJR19TWVNGUz15Ci0jIENPTkZJR19UTVBGUyBpcyBub3Qgc2V0CitDT05GSUdfVE1QRlM9eQorQ09ORklHX1RNUEZTX1BPU0lYX0FDTD15CiAjIENPTkZJR19IVUdFVExCX1BBR0UgaXMgbm90IHNldAotQ09ORklHX1JBTUZTPXkKLSMgQ09ORklHX0NPTkZJR0ZTX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19DT05GSUdGU19GUz1tCiAKICMKICMgTWlzY2VsbGFuZW91cyBmaWxlc3lzdGVtcwpAQCAtMTI0OCwzMSArMTQzNSwzMiBAQAogQ09ORklHX0pGRlMyX0ZTPXkKIENPTkZJR19KRkZTMl9GU19ERUJVRz0wCiBDT05GSUdfSkZGUzJfRlNfV1JJVEVCVUZGRVI9eQotIyBDT05GSUdfSkZGUzJfU1VNTUFSWSBpcyBub3Qgc2V0CisjIENPTkZJR19KRkZTMl9GU19XQlVGX1ZFUklGWSBpcyBub3Qgc2V0CitDT05GSUdfSkZGUzJfU1VNTUFSWT15CiAjIENPTkZJR19KRkZTMl9GU19YQVRUUiBpcyBub3Qgc2V0CiAjIENPTkZJR19KRkZTMl9DT01QUkVTU0lPTl9PUFRJT05TIGlzIG5vdCBzZXQKIENPTkZJR19KRkZTMl9aTElCPXkKKyMgQ09ORklHX0pGRlMyX0xaTyBpcyBub3Qgc2V0CiBDT05GSUdfSkZGUzJfUlRJTUU9eQogIyBDT05GSUdfSkZGUzJfUlVCSU4gaXMgbm90IHNldAogQ09ORklHX0NSQU1GUz15CiAjIENPTkZJR19WWEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX01JTklYX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0hQRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfUU5YNEZTX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19ST01GU19GUz15CiAjIENPTkZJR19TWVNWX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1VGU19GUyBpcyBub3Qgc2V0Ci0KLSMKLSMgTmV0d29yayBGaWxlIFN5c3RlbXMKLSMKK0NPTkZJR19ORVRXT1JLX0ZJTEVTWVNURU1TPXkKIENPTkZJR19ORlNfRlM9eQogIyBDT05GSUdfTkZTX1YzIGlzIG5vdCBzZXQKICMgQ09ORklHX05GU19WNCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ORlNfRElSRUNUSU8gaXMgbm90IHNldAogIyBDT05GSUdfTkZTRCBpcyBub3Qgc2V0CiBDT05GSUdfUk9PVF9ORlM9eQogQ09ORklHX0xPQ0tEPXkKIENPTkZJR19ORlNfQ09NTU9OPXkKIENPTkZJR19TVU5SUEM9eQorIyBDT05GSUdfU1VOUlBDX0JJTkQzNCBpcyBub3Qgc2V0CiAjIENPTkZJR19SUENTRUNfR1NTX0tSQjUgaXMgbm90IHNldAogIyBDT05GSUdfUlBDU0VDX0dTU19TUEtNMyBpcyBub3Qgc2V0CiAjIENPTkZJR19TTUJfRlMgaXMgbm90IHNldApAQCAtMTI4MCw3ICsxNDY4LDYgQEAKICMgQ09ORklHX05DUF9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19DT0RBX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0FGU19GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR185UF9GUyBpcyBub3Qgc2V0CiAKICMKICMgUGFydGl0aW9uIFR5cGVzCkBAIC0xMzAyLDk0ICsxNDg5LDkzIEBACiAjIENPTkZJR19TVU5fUEFSVElUSU9OIGlzIG5vdCBzZXQKICMgQ09ORklHX0tBUk1BX1BBUlRJVElPTiBpcyBub3Qgc2V0CiAjIENPTkZJR19FRklfUEFSVElUSU9OIGlzIG5vdCBzZXQKLQotIwotIyBOYXRpdmUgTGFuZ3VhZ2UgU3VwcG9ydAotIworIyBDT05GSUdfU1lTVjY4X1BBUlRJVElPTiBpcyBub3Qgc2V0CiBDT05GSUdfTkxTPXkKIENPTkZJR19OTFNfREVGQVVMVD0iaXNvODg1OS0xIgotIyBDT05GSUdfTkxTX0NPREVQQUdFXzQzNyBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfNzM3IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV83NzUgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfODUyIGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV84NTUgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1NyBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfODYwIGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV84NjEgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2MiBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfODYzIGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV84NjQgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2NSBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfODY2IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV84NjkgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzkzNiBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfOTUwIGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV85MzIgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzk0OSBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfODc0IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19JU084ODU5XzggaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzEyNTAgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzEyNTEgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0FTQ0lJIGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19JU084ODU5XzEgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0lTTzg4NTlfMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfSVNPODg1OV8zIGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19JU084ODU5XzQgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0lTTzg4NTlfNSBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfSVNPODg1OV82IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19JU084ODU5XzcgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0lTTzg4NTlfOSBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfSVNPODg1OV8xMyBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfSVNPODg1OV8xNCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfSVNPODg1OV8xNSBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfS09JOF9SIGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19LT0k4X1UgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX1VURjggaXMgbm90IHNldAotCi0jCi0jIERpc3RyaWJ1dGVkIExvY2sgTWFuYWdlcgotIworQ09ORklHX05MU19DT0RFUEFHRV80Mzc9eQorQ09ORklHX05MU19DT0RFUEFHRV83Mzc9bQorQ09ORklHX05MU19DT0RFUEFHRV83NzU9bQorQ09ORklHX05MU19DT0RFUEFHRV84NTA9eQorQ09ORklHX05MU19DT0RFUEFHRV84NTI9bQorQ09ORklHX05MU19DT0RFUEFHRV84NTU9bQorQ09ORklHX05MU19DT0RFUEFHRV84NTc9bQorQ09ORklHX05MU19DT0RFUEFHRV84NjA9bQorQ09ORklHX05MU19DT0RFUEFHRV84NjE9bQorQ09ORklHX05MU19DT0RFUEFHRV84NjI9bQorQ09ORklHX05MU19DT0RFUEFHRV84NjM9bQorQ09ORklHX05MU19DT0RFUEFHRV84NjQ9bQorQ09ORklHX05MU19DT0RFUEFHRV84NjU9bQorQ09ORklHX05MU19DT0RFUEFHRV84NjY9bQorQ09ORklHX05MU19DT0RFUEFHRV84Njk9bQorQ09ORklHX05MU19DT0RFUEFHRV85MzY9bQorQ09ORklHX05MU19DT0RFUEFHRV85NTA9bQorQ09ORklHX05MU19DT0RFUEFHRV85MzI9bQorQ09ORklHX05MU19DT0RFUEFHRV85NDk9bQorQ09ORklHX05MU19DT0RFUEFHRV84NzQ9bQorQ09ORklHX05MU19JU084ODU5Xzg9bQorQ09ORklHX05MU19DT0RFUEFHRV8xMjUwPW0KK0NPTkZJR19OTFNfQ09ERVBBR0VfMTI1MT1tCitDT05GSUdfTkxTX0FTQ0lJPXkKK0NPTkZJR19OTFNfSVNPODg1OV8xPXkKK0NPTkZJR19OTFNfSVNPODg1OV8yPW0KK0NPTkZJR19OTFNfSVNPODg1OV8zPW0KK0NPTkZJR19OTFNfSVNPODg1OV80PW0KK0NPTkZJR19OTFNfSVNPODg1OV81PW0KK0NPTkZJR19OTFNfSVNPODg1OV82PW0KK0NPTkZJR19OTFNfSVNPODg1OV83PW0KK0NPTkZJR19OTFNfSVNPODg1OV85PW0KK0NPTkZJR19OTFNfSVNPODg1OV8xMz1tCitDT05GSUdfTkxTX0lTTzg4NTlfMTQ9bQorQ09ORklHX05MU19JU084ODU5XzE1PW0KK0NPTkZJR19OTFNfS09JOF9SPW0KK0NPTkZJR19OTFNfS09JOF9VPW0KK0NPTkZJR19OTFNfVVRGOD1tCiAjIENPTkZJR19ETE0gaXMgbm90IHNldAogCiAjCi0jIFByb2ZpbGluZyBzdXBwb3J0Ci0jCi0jIENPTkZJR19QUk9GSUxJTkcgaXMgbm90IHNldAotCi0jCiAjIEtlcm5lbCBoYWNraW5nCiAjCiAjIENPTkZJR19QUklOVEtfVElNRSBpcyBub3Qgc2V0CitDT05GSUdfRU5BQkxFX1dBUk5fREVQUkVDQVRFRD15CiBDT05GSUdfRU5BQkxFX01VU1RfQ0hFQ0s9eQorQ09ORklHX0ZSQU1FX1dBUk49MTAyNAogQ09ORklHX01BR0lDX1NZU1JRPXkKICMgQ09ORklHX1VOVVNFRF9TWU1CT0xTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0hFQURFUlNfQ0hFQ0sgaXMgbm90IHNldAogQ09ORklHX0RFQlVHX0tFUk5FTD15CiAjIENPTkZJR19ERUJVR19TSElSUSBpcyBub3Qgc2V0Ci1DT05GSUdfTE9HX0JVRl9TSElGVD0xNgogQ09ORklHX0RFVEVDVF9TT0ZUTE9DS1VQPXkKK0NPTkZJR19TQ0hFRF9ERUJVRz15CiAjIENPTkZJR19TQ0hFRFNUQVRTIGlzIG5vdCBzZXQKICMgQ09ORklHX1RJTUVSX1NUQVRTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX09CSkVDVFMgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfU0xBQiBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19SVF9NVVRFWEVTIGlzIG5vdCBzZXQKICMgQ09ORklHX1JUX01VVEVYX1RFU1RFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19TUElOTE9DSyBpcyBub3Qgc2V0CiBDT05GSUdfREVCVUdfTVVURVhFUz15CisjIENPTkZJR19ERUJVR19MT0NLX0FMTE9DIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BST1ZFX0xPQ0tJTkcgaXMgbm90IHNldAorIyBDT05GSUdfTE9DS19TVEFUIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX1NQSU5MT0NLX1NMRUVQIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0xPQ0tJTkdfQVBJX1NFTEZURVNUUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19LT0JKRUNUIGlzIG5vdCBzZXQKIENPTkZJR19ERUJVR19CVUdWRVJCT1NFPXkKIENPTkZJR19ERUJVR19JTkZPPXkKICMgQ09ORklHX0RFQlVHX1ZNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX1dSSVRFQ09VTlQgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfTElTVCBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19TRyBpcyBub3Qgc2V0CiBDT05GSUdfRlJBTUVfUE9JTlRFUj15Ci1DT05GSUdfRk9SQ0VEX0lOTElOSU5HPXkKKyMgQ09ORklHX0JPT1RfUFJJTlRLX0RFTEFZIGlzIG5vdCBzZXQKICMgQ09ORklHX1JDVV9UT1JUVVJFX1RFU1QgaXMgbm90IHNldAorIyBDT05GSUdfQkFDS1RSQUNFX1NFTEZfVEVTVCBpcyBub3Qgc2V0CiAjIENPTkZJR19GQVVMVF9JTkpFQ1RJT04gaXMgbm90IHNldAorIyBDT05GSUdfU0FNUExFUyBpcyBub3Qgc2V0CiBDT05GSUdfREVCVUdfVVNFUj15Ci0jIENPTkZJR19ERUJVR19FUlJPUlMgaXMgbm90IHNldAorQ09ORklHX0RFQlVHX0VSUk9SUz15CisjIENPTkZJR19ERUJVR19TVEFDS19VU0FHRSBpcyBub3Qgc2V0CiBDT05GSUdfREVCVUdfTEw9eQogIyBDT05GSUdfREVCVUdfSUNFRENDIGlzIG5vdCBzZXQKIENPTkZJR19ERUJVR19TM0NfUE9SVD15CkBAIC0xNDAwLDIxICsxNTg2LDEwMCBAQAogIwogIyBDT05GSUdfS0VZUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TRUNVUklUWSBpcyBub3Qgc2V0CisjIENPTkZJR19TRUNVUklUWV9GSUxFX0NBUEFCSUxJVElFUyBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPPXkKIAogIwotIyBDcnlwdG9ncmFwaGljIG9wdGlvbnMKKyMgQ3J5cHRvIGNvcmUgb3IgaGVscGVyCiAjCi0jIENPTkZJR19DUllQVE8gaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19BTEdBUEk9bQorQ09ORklHX0NSWVBUT19BRUFEPW0KK0NPTkZJR19DUllQVE9fQkxLQ0lQSEVSPW0KK0NPTkZJR19DUllQVE9fSEFTSD1tCitDT05GSUdfQ1JZUFRPX01BTkFHRVI9bQorIyBDT05GSUdfQ1JZUFRPX0dGMTI4TVVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19OVUxMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DUllQVEQgaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19BVVRIRU5DPW0KKyMgQ09ORklHX0NSWVBUT19URVNUIGlzIG5vdCBzZXQKKworIworIyBBdXRoZW50aWNhdGVkIEVuY3J5cHRpb24gd2l0aCBBc3NvY2lhdGVkIERhdGEKKyMKKyMgQ09ORklHX0NSWVBUT19DQ00gaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0dDTSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0VRSVYgaXMgbm90IHNldAorCisjCisjIEJsb2NrIG1vZGVzCisjCitDT05GSUdfQ1JZUFRPX0NCQz1tCisjIENPTkZJR19DUllQVE9fQ1RSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DVFMgaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19FQ0I9bQorIyBDT05GSUdfQ1JZUFRPX0xSVyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fUENCQyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fWFRTIGlzIG5vdCBzZXQKKworIworIyBIYXNoIG1vZGVzCisjCitDT05GSUdfQ1JZUFRPX0hNQUM9bQorIyBDT05GSUdfQ1JZUFRPX1hDQkMgaXMgbm90IHNldAorCisjCisjIERpZ2VzdAorIworIyBDT05GSUdfQ1JZUFRPX0NSQzMyQyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fTUQ0IGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fTUQ1PW0KKyMgQ09ORklHX0NSWVBUT19NSUNIQUVMX01JQyBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX1NIQTE9bQorIyBDT05GSUdfQ1JZUFRPX1NIQTI1NiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0hBNTEyIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19UR1IxOTIgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1dQNTEyIGlzIG5vdCBzZXQKKworIworIyBDaXBoZXJzCisjCitDT05GSUdfQ1JZUFRPX0FFUz1tCisjIENPTkZJR19DUllQVE9fQU5VQklTIGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fQVJDND1tCisjIENPTkZJR19DUllQVE9fQkxPV0ZJU0ggaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NBTUVMTElBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DQVNUNSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ0FTVDYgaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19ERVM9bQorIyBDT05GSUdfQ1JZUFRPX0ZDUllQVCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fS0hBWkFEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TQUxTQTIwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TRUVEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TRVJQRU5UIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19URUEgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1RXT0ZJU0ggaXMgbm90IHNldAorCisjCisjIENvbXByZXNzaW9uCisjCitDT05GSUdfQ1JZUFRPX0RFRkxBVEU9bQorIyBDT05GSUdfQ1JZUFRPX0xaTyBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX0hXPXkKIAogIwogIyBMaWJyYXJ5IHJvdXRpbmVzCiAjCiBDT05GSUdfQklUUkVWRVJTRT15CisjIENPTkZJR19HRU5FUklDX0ZJTkRfRklSU1RfQklUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0dFTkVSSUNfRklORF9ORVhUX0JJVCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUkNfQ0NJVFQgaXMgbm90IHNldAogIyBDT05GSUdfQ1JDMTYgaXMgbm90IHNldAorQ09ORklHX0NSQ19JVFVfVD1tCiBDT05GSUdfQ1JDMzI9eQorIyBDT05GSUdfQ1JDNyBpcyBub3Qgc2V0CiAjIENPTkZJR19MSUJDUkMzMkMgaXMgbm90IHNldAogQ09ORklHX1pMSUJfSU5GTEFURT15CiBDT05GSUdfWkxJQl9ERUZMQVRFPXkKIENPTkZJR19QTElTVD15CiBDT05GSUdfSEFTX0lPTUVNPXkKK0NPTkZJR19IQVNfRE1BPXkKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3Mvc2FtOV9sOTI2MF9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL3NhbTlfbDkyNjBfZGVmY29uZmlnCmluZGV4IDQ4NGRjOTcuLjg2ODgzNjIgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3Mvc2FtOV9sOTI2MF9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9zYW05X2w5MjYwX2RlZmNvbmZpZwpAQCAtMjExLDcgKzIxMSw2IEBACiAjCiAjIENPTkZJR19USUNLX09ORVNIT1QgaXMgbm90IHNldAogQ09ORklHX1BSRUVNUFQ9eQotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiBDT05GSUdfSFo9MTAwCiAjIENPTkZJR19BRUFCSSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9FTkFCTEUgaXMgbm90IHNldApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9zcGl0el9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL3NwaXR6X2RlZmNvbmZpZwppbmRleCBhYTdhMDExLi43ZDU5ZmIxIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL3NwaXR6X2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL3NwaXR6X2RlZmNvbmZpZwpAQCAtMTY0LDcgKzE2NCw2IEBACiAjIEtlcm5lbCBGZWF0dXJlcwogIwogQ09ORklHX1BSRUVNUFQ9eQotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9FTkFCTEUgaXMgbm90IHNldAogQ09ORklHX1NFTEVDVF9NRU1PUllfTU9ERUw9eQogQ09ORklHX0ZMQVRNRU1fTUFOVUFMPXkKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvdGN0X2hhbW1lcl9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL3RjdF9oYW1tZXJfZGVmY29uZmlnCmluZGV4IDU3NmI4MzMuLjA3ZGZiOTggMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvdGN0X2hhbW1lcl9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy90Y3RfaGFtbWVyX2RlZmNvbmZpZwpAQCAtMjQ3LDcgKzI0Nyw2IEBACiAjCiAjIENPTkZJR19USUNLX09ORVNIT1QgaXMgbm90IHNldAogIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19IWj0yMDAKICMgQ09ORklHX0FFQUJJIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL3RyaXplcHM0X2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvdHJpemVwczRfZGVmY29uZmlnCmluZGV4IDZkYjYzOTIuLjhiN2E0MzEgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvdHJpemVwczRfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvdHJpemVwczRfZGVmY29uZmlnCkBAIC0xOTUsNyArMTk1LDYgQEAKICMgS2VybmVsIEZlYXR1cmVzCiAjCiBDT05GSUdfUFJFRU1QVD15Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19IWj0xMDAKIENPTkZJR19BRUFCST15CiBDT05GSUdfT0FCSV9DT01QQVQ9eQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9lbV94MjcwX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvdXNiLWE5MjYwX2RlZmNvbmZpZwpzaW1pbGFyaXR5IGluZGV4IDcwJQpjb3B5IGZyb20gYXJjaC9hcm0vY29uZmlncy9lbV94MjcwX2RlZmNvbmZpZwpjb3B5IHRvIGFyY2gvYXJtL2NvbmZpZ3MvdXNiLWE5MjYwX2RlZmNvbmZpZwppbmRleCA2YmVhMDkwLi4zNjgwYmQyIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL2VtX3gyNzBfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvdXNiLWE5MjYwX2RlZmNvbmZpZwpAQCAtMSwxMyArMSwxMyBAQAogIwogIyBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBtYWtlIGNvbmZpZzogZG9uJ3QgZWRpdAotIyBMaW51eCBrZXJuZWwgdmVyc2lvbjogMi42LjIyCi0jIE1vbiBKdWwgIDkgMTU6MTg6MjAgMjAwNworIyBMaW51eCBrZXJuZWwgdmVyc2lvbjogMi42LjI0CisjIFR1ZSBBcHIgMTUgMTE6Mzk6MzUgMjAwOAogIwogQ09ORklHX0FSTT15CiBDT05GSUdfU1lTX1NVUFBPUlRTX0FQTV9FTVVMQVRJT049eQogQ09ORklHX0dFTkVSSUNfR1BJTz15CiBDT05GSUdfR0VORVJJQ19USU1FPXkKLSMgQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFMgaXMgbm90IHNldAorQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFM9eQogQ09ORklHX01NVT15CiAjIENPTkZJR19OT19JT1BPUlQgaXMgbm90IHNldAogQ09ORklHX0dFTkVSSUNfSEFSRElSUVM9eQpAQCAtMjIsNDEgKzIyLDM4IEBACiBDT05GSUdfR0VORVJJQ19IV0VJR0hUPXkKIENPTkZJR19HRU5FUklDX0NBTElCUkFURV9ERUxBWT15CiBDT05GSUdfWk9ORV9ETUE9eQotQ09ORklHX0FSQ0hfTVREX1hJUD15CiBDT05GSUdfVkVDVE9SU19CQVNFPTB4ZmZmZjAwMDAKIENPTkZJR19ERUZDT05GSUdfTElTVD0iL2xpYi9tb2R1bGVzLyRVTkFNRV9SRUxFQVNFLy5jb25maWciCiAKICMKLSMgQ29kZSBtYXR1cml0eSBsZXZlbCBvcHRpb25zCisjIEdlbmVyYWwgc2V0dXAKICMKIENPTkZJR19FWFBFUklNRU5UQUw9eQogQ09ORklHX0JST0tFTl9PTl9TTVA9eQogQ09ORklHX0lOSVRfRU5WX0FSR19MSU1JVD0zMgotCi0jCi0jIEdlbmVyYWwgc2V0dXAKLSMKLUNPTkZJR19MT0NBTFZFUlNJT049Ii1lbS14MjcwIgorQ09ORklHX0xPQ0FMVkVSU0lPTj0iIgogIyBDT05GSUdfTE9DQUxWRVJTSU9OX0FVVE8gaXMgbm90IHNldAotQ09ORklHX1NXQVA9eQorIyBDT05GSUdfU1dBUCBpcyBub3Qgc2V0CiBDT05GSUdfU1lTVklQQz15Ci0jIENPTkZJR19JUENfTlMgaXMgbm90IHNldAogQ09ORklHX1NZU1ZJUENfU1lTQ1RMPXkKICMgQ09ORklHX1BPU0lYX01RVUVVRSBpcyBub3Qgc2V0CiAjIENPTkZJR19CU0RfUFJPQ0VTU19BQ0NUIGlzIG5vdCBzZXQKICMgQ09ORklHX1RBU0tTVEFUUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VVFNfTlMgaXMgbm90IHNldAorIyBDT05GSUdfVVNFUl9OUyBpcyBub3Qgc2V0CisjIENPTkZJR19QSURfTlMgaXMgbm90IHNldAogIyBDT05GSUdfQVVESVQgaXMgbm90IHNldAotQ09ORklHX0lLQ09ORklHPXkKLUNPTkZJR19JS0NPTkZJR19QUk9DPXkKLUNPTkZJR19MT0dfQlVGX1NISUZUPTE3Ci1DT05GSUdfU1lTRlNfREVQUkVDQVRFRD15CisjIENPTkZJR19JS0NPTkZJRyBpcyBub3Qgc2V0CitDT05GSUdfTE9HX0JVRl9TSElGVD0xNAorIyBDT05GSUdfQ0dST1VQUyBpcyBub3Qgc2V0CitDT05GSUdfRkFJUl9HUk9VUF9TQ0hFRD15CitDT05GSUdfRkFJUl9VU0VSX1NDSEVEPXkKKyMgQ09ORklHX0ZBSVJfQ0dST1VQX1NDSEVEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NZU0ZTX0RFUFJFQ0FURUQgaXMgbm90IHNldAogIyBDT05GSUdfUkVMQVkgaXMgbm90IHNldAotQ09ORklHX0JMS19ERVZfSU5JVFJEPXkKLUNPTkZJR19JTklUUkFNRlNfU09VUkNFPSIiCi1DT05GSUdfQ0NfT1BUSU1JWkVfRk9SX1NJWkU9eQorIyBDT05GSUdfQkxLX0RFVl9JTklUUkQgaXMgbm90IHNldAorIyBDT05GSUdfQ0NfT1BUSU1JWkVfRk9SX1NJWkUgaXMgbm90IHNldAogQ09ORklHX1NZU0NUTD15Ci1DT05GSUdfRU1CRURERUQ9eQorIyBDT05GSUdfRU1CRURERUQgaXMgbm90IHNldAogQ09ORklHX1VJRDE2PXkKIENPTkZJR19TWVNDVExfU1lTQ0FMTD15CiBDT05GSUdfS0FMTFNZTVM9eQpAQCAtNzEsNDIgKzY4LDM1IEBACiBDT05GSUdfQU5PTl9JTk9ERVM9eQogQ09ORklHX0VQT0xMPXkKIENPTkZJR19TSUdOQUxGRD15Ci1DT05GSUdfVElNRVJGRD15CiBDT05GSUdfRVZFTlRGRD15CiBDT05GSUdfU0hNRU09eQogQ09ORklHX1ZNX0VWRU5UX0NPVU5URVJTPXkKIENPTkZJR19TTEFCPXkKICMgQ09ORklHX1NMVUIgaXMgbm90IHNldAogIyBDT05GSUdfU0xPQiBpcyBub3Qgc2V0CitDT05GSUdfU0xBQklORk89eQogQ09ORklHX1JUX01VVEVYRVM9eQogIyBDT05GSUdfVElOWV9TSE1FTSBpcyBub3Qgc2V0CiBDT05GSUdfQkFTRV9TTUFMTD0wCi0KLSMKLSMgTG9hZGFibGUgbW9kdWxlIHN1cHBvcnQKLSMKIENPTkZJR19NT0RVTEVTPXkKIENPTkZJR19NT0RVTEVfVU5MT0FEPXkKLUNPTkZJR19NT0RVTEVfRk9SQ0VfVU5MT0FEPXkKKyMgQ09ORklHX01PRFVMRV9GT1JDRV9VTkxPQUQgaXMgbm90IHNldAogIyBDT05GSUdfTU9EVkVSU0lPTlMgaXMgbm90IHNldAogIyBDT05GSUdfTU9EVUxFX1NSQ1ZFUlNJT05fQUxMIGlzIG5vdCBzZXQKIENPTkZJR19LTU9EPXkKLQotIwotIyBCbG9jayBsYXllcgotIwogQ09ORklHX0JMT0NLPXkKICMgQ09ORklHX0xCRCBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfREVWX0lPX1RSQUNFIGlzIG5vdCBzZXQKICMgQ09ORklHX0xTRiBpcyBub3Qgc2V0CisjIENPTkZJR19CTEtfREVWX0JTRyBpcyBub3Qgc2V0CiAKICMKICMgSU8gU2NoZWR1bGVycwogIwogQ09ORklHX0lPU0NIRURfTk9PUD15CiBDT05GSUdfSU9TQ0hFRF9BUz15Ci1DT05GSUdfSU9TQ0hFRF9ERUFETElORT15Ci1DT05GSUdfSU9TQ0hFRF9DRlE9eQorIyBDT05GSUdfSU9TQ0hFRF9ERUFETElORSBpcyBub3Qgc2V0CisjIENPTkZJR19JT1NDSEVEX0NGUSBpcyBub3Qgc2V0CiBDT05GSUdfREVGQVVMVF9BUz15CiAjIENPTkZJR19ERUZBVUxUX0RFQURMSU5FIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFRkFVTFRfQ0ZRIGlzIG5vdCBzZXQKQEAgLTEyMCw3ICsxMTAsNyBAQAogIyBDT05GSUdfQVJDSF9JTlRFR1JBVE9SIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfUkVBTFZJRVcgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9WRVJTQVRJTEUgaXMgbm90IHNldAotIyBDT05GSUdfQVJDSF9BVDkxIGlzIG5vdCBzZXQKK0NPTkZJR19BUkNIX0FUOTE9eQogIyBDT05GSUdfQVJDSF9DTFBTNzUwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0NMUFM3MTFYIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfQ08yODUgaXMgbm90IHNldApAQCAtMTM5LDggKzEyOSw5IEBACiAjIENPTkZJR19BUkNIX0w3MjAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfS1M4Njk1IGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfTlM5WFhYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfTVhDIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfUE5YNDAwOCBpcyBub3Qgc2V0Ci1DT05GSUdfQVJDSF9QWEE9eQorIyBDT05GSUdfQVJDSF9QWEEgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9SUEMgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9TQTExMDAgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9TM0MyNDEwIGlzIG5vdCBzZXQKQEAgLTE1MCwyNSArMTQxLDY2IEBACiAjIENPTkZJR19BUkNIX09NQVAgaXMgbm90IHNldAogCiAjCi0jIEludGVsIFBYQTJ4eCBJbXBsZW1lbnRhdGlvbnMKKyMgQm9vdCBvcHRpb25zCiAjCi0jIENPTkZJR19BUkNIX0xVQkJPQ0sgaXMgbm90IHNldAotIyBDT05GSUdfTUFDSF9MT0dJQ1BEX1BYQTI3MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NQUNIX01BSU5TVE9ORSBpcyBub3Qgc2V0Ci0jIENPTkZJR19BUkNIX1BYQV9JRFAgaXMgbm90IHNldAotIyBDT05GSUdfUFhBX1NIQVJQU0wgaXMgbm90IHNldAotIyBDT05GSUdfTUFDSF9UUklaRVBTNCBpcyBub3Qgc2V0Ci1DT05GSUdfTUFDSF9FTV9YMjcwPXkKLUNPTkZJR19QWEEyN3g9eQorCisjCisjIFBvd2VyIG1hbmFnZW1lbnQKKyMKKworIworIyBBdG1lbCBBVDkxIFN5c3RlbS1vbi1DaGlwCisjCisjIENPTkZJR19BUkNIX0FUOTFSTTkyMDAgaXMgbm90IHNldAorQ09ORklHX0FSQ0hfQVQ5MVNBTTkyNjA9eQorIyBDT05GSUdfQVJDSF9BVDkxU0FNOTI2MSBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0FUOTFTQU05MjYzIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfQVQ5MVNBTTlSTCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0FUOTFDQVA5IGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfQVQ5MVg0MCBpcyBub3Qgc2V0CitDT05GSUdfQVQ5MV9QTUNfVU5JVD15CisKKyMKKyMgQVQ5MVNBTTkyNjAgVmFyaWFudHMKKyMKKyMgQ09ORklHX0FSQ0hfQVQ5MVNBTTkyNjBfU0FNOVhFIGlzIG5vdCBzZXQKKworIworIyBBVDkxU0FNOTI2MCAvIEFUOTFTQU05WEUgQm9hcmQgVHlwZQorIworIyBDT05GSUdfTUFDSF9BVDkxU0FNOTI2MEVLIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BQ0hfQ0FNNjAgaXMgbm90IHNldAorIyBDT05GSUdfTUFDSF9TQU05X0w5MjYwIGlzIG5vdCBzZXQKK0NPTkZJR19NQUNIX1VTQl9BOTI2MD15CisjIENPTkZJR19NQUNIX1FJTF9BOTI2MCBpcyBub3Qgc2V0CisKKyMKKyMgQVQ5MSBCb2FyZCBPcHRpb25zCisjCisKKyMKKyMgQVQ5MSBGZWF0dXJlIFNlbGVjdGlvbnMKKyMKKyMgQ09ORklHX0FUOTFfUFJPR1JBTU1BQkxFX0NMT0NLUyBpcyBub3Qgc2V0CitDT05GSUdfQVQ5MV9TTE9XX0NMT0NLPXkKK0NPTkZJR19BVDkxX1RJTUVSX0haPTEwMAorQ09ORklHX0FUOTFfRUFSTFlfREJHVT15CisjIENPTkZJR19BVDkxX0VBUkxZX1VTQVJUMCBpcyBub3Qgc2V0CisjIENPTkZJR19BVDkxX0VBUkxZX1VTQVJUMSBpcyBub3Qgc2V0CisjIENPTkZJR19BVDkxX0VBUkxZX1VTQVJUMiBpcyBub3Qgc2V0CisjIENPTkZJR19BVDkxX0VBUkxZX1VTQVJUMyBpcyBub3Qgc2V0CisjIENPTkZJR19BVDkxX0VBUkxZX1VTQVJUNCBpcyBub3Qgc2V0CisjIENPTkZJR19BVDkxX0VBUkxZX1VTQVJUNSBpcyBub3Qgc2V0CiAKICMKICMgUHJvY2Vzc29yIFR5cGUKICMKIENPTkZJR19DUFVfMzI9eQotQ09ORklHX0NQVV9YU0NBTEU9eQorQ09ORklHX0NQVV9BUk05MjZUPXkKIENPTkZJR19DUFVfMzJ2NT15Ci1DT05GSUdfQ1BVX0FCUlRfRVY1VD15CitDT05GSUdfQ1BVX0FCUlRfRVY1VEo9eQogQ09ORklHX0NQVV9DQUNIRV9WSVZUPXkKK0NPTkZJR19DUFVfQ09QWV9WNFdCPXkKIENPTkZJR19DUFVfVExCX1Y0V0JJPXkKIENPTkZJR19DUFVfQ1AxNT15CiBDT05GSUdfQ1BVX0NQMTVfTU1VPXkKQEAgLTE3NiwyOCArMjA4LDI4IEBACiAjCiAjIFByb2Nlc3NvciBGZWF0dXJlcwogIwotQ09ORklHX0FSTV9USFVNQj15CisjIENPTkZJR19BUk1fVEhVTUIgaXMgbm90IHNldAorIyBDT05GSUdfQ1BVX0lDQUNIRV9ESVNBQkxFIGlzIG5vdCBzZXQKICMgQ09ORklHX0NQVV9EQ0FDSEVfRElTQUJMRSBpcyBub3Qgc2V0CisjIENPTkZJR19DUFVfRENBQ0hFX1dSSVRFVEhST1VHSCBpcyBub3Qgc2V0CisjIENPTkZJR19DUFVfQ0FDSEVfUk9VTkRfUk9CSU4gaXMgbm90IHNldAogIyBDT05GSUdfT1VURVJfQ0FDSEUgaXMgbm90IHNldAotQ09ORklHX0lXTU1YVD15Ci1DT05GSUdfWFNDQUxFX1BNVT15CiAKICMKICMgQnVzIHN1cHBvcnQKICMKKyMgQ09ORklHX1BDSV9TWVNDQUxMIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfU1VQUE9SVFNfTVNJIGlzIG5vdCBzZXQKLQotIwotIyBQQ0NBUkQgKFBDTUNJQS9DYXJkQnVzKSBzdXBwb3J0Ci0jCiAjIENPTkZJR19QQ0NBUkQgaXMgbm90IHNldAogCiAjCiAjIEtlcm5lbCBGZWF0dXJlcwogIwogIyBDT05GSUdfVElDS19PTkVTSE9UIGlzIG5vdCBzZXQKKyMgQ09ORklHX05PX0haIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hJR0hfUkVTX1RJTUVSUyBpcyBub3Qgc2V0CitDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UU19CVUlMRD15CiAjIENPTkZJR19QUkVFTVBUIGlzIG5vdCBzZXQKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX0haPTEwMAogQ09ORklHX0FFQUJJPXkKIENPTkZJR19PQUJJX0NPTVBBVD15CkBAIC0yMDksOSArMjQxLDEzIEBACiBDT05GSUdfRkxBVE1FTT15CiBDT05GSUdfRkxBVF9OT0RFX01FTV9NQVA9eQogIyBDT05GSUdfU1BBUlNFTUVNX1NUQVRJQyBpcyBub3Qgc2V0CisjIENPTkZJR19TUEFSU0VNRU1fVk1FTU1BUF9FTkFCTEUgaXMgbm90IHNldAogQ09ORklHX1NQTElUX1BUTE9DS19DUFVTPTQwOTYKICMgQ09ORklHX1JFU09VUkNFU182NEJJVCBpcyBub3Qgc2V0CiBDT05GSUdfWk9ORV9ETUFfRkxBRz0xCitDT05GSUdfQk9VTkNFPXkKK0NPTkZJR19WSVJUX1RPX0JVUz15CisjIENPTkZJR19MRURTIGlzIG5vdCBzZXQKIENPTkZJR19BTElHTk1FTlRfVFJBUD15CiAKICMKQEAgLTIxOSw3ICsyNTUsNyBAQAogIwogQ09ORklHX1pCT09UX1JPTV9URVhUPTB4MAogQ09ORklHX1pCT09UX1JPTV9CU1M9MHgwCi1DT05GSUdfQ01ETElORT0iIgorQ09ORklHX0NNRExJTkU9Im1lbT02NE0gY29uc29sZT10dHlTMCwxMTUyMDAiCiAjIENPTkZJR19YSVBfS0VSTkVMIGlzIG5vdCBzZXQKICMgQ09ORklHX0tFWEVDIGlzIG5vdCBzZXQKIApAQCAtMjMzLDYgKzI2OSw3IEBACiBDT05GSUdfRlBFX05XRlBFPXkKICMgQ09ORklHX0ZQRV9OV0ZQRV9YUCBpcyBub3Qgc2V0CiAjIENPTkZJR19GUEVfRkFTVEZQRSBpcyBub3Qgc2V0CisjIENPTkZJR19WRlAgaXMgbm90IHNldAogCiAjCiAjIFVzZXJzcGFjZSBiaW5hcnkgZm9ybWF0cwpAQCAtMjQ1LDEwICsyODIsMTIgQEAKICMgUG93ZXIgbWFuYWdlbWVudCBvcHRpb25zCiAjCiBDT05GSUdfUE09eQotQ09ORklHX1BNX0xFR0FDWT15CisjIENPTkZJR19QTV9MRUdBQ1kgaXMgbm90IHNldAogIyBDT05GSUdfUE1fREVCVUcgaXMgbm90IHNldAotIyBDT05GSUdfUE1fU1lTRlNfREVQUkVDQVRFRCBpcyBub3Qgc2V0Ci1DT05GSUdfQVBNX0VNVUxBVElPTj1tCitDT05GSUdfUE1fU0xFRVA9eQorQ09ORklHX1NVU1BFTkRfVVBfUE9TU0lCTEU9eQorQ09ORklHX1NVU1BFTkQ9eQorIyBDT05GSUdfQVBNX0VNVUxBVElPTiBpcyBub3Qgc2V0CiAKICMKICMgTmV0d29ya2luZwpAQCAtMjYxLDIxICszMDAsMjUgQEAKIENPTkZJR19QQUNLRVQ9eQogIyBDT05GSUdfUEFDS0VUX01NQVAgaXMgbm90IHNldAogQ09ORklHX1VOSVg9eQotQ09ORklHX1hGUk09eQotIyBDT05GSUdfWEZSTV9VU0VSIGlzIG5vdCBzZXQKLSMgQ09ORklHX1hGUk1fU1VCX1BPTElDWSBpcyBub3Qgc2V0Ci0jIENPTkZJR19YRlJNX01JR1JBVEUgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0tFWSBpcyBub3Qgc2V0CiBDT05GSUdfSU5FVD15Ci0jIENPTkZJR19JUF9NVUxUSUNBU1QgaXMgbm90IHNldAotIyBDT05GSUdfSVBfQURWQU5DRURfUk9VVEVSIGlzIG5vdCBzZXQKK0NPTkZJR19JUF9NVUxUSUNBU1Q9eQorQ09ORklHX0lQX0FEVkFOQ0VEX1JPVVRFUj15CitDT05GSUdfQVNLX0lQX0ZJQl9IQVNIPXkKKyMgQ09ORklHX0lQX0ZJQl9UUklFIGlzIG5vdCBzZXQKIENPTkZJR19JUF9GSUJfSEFTSD15CisjIENPTkZJR19JUF9NVUxUSVBMRV9UQUJMRVMgaXMgbm90IHNldAorIyBDT05GSUdfSVBfUk9VVEVfTVVMVElQQVRIIGlzIG5vdCBzZXQKK0NPTkZJR19JUF9ST1VURV9WRVJCT1NFPXkKIENPTkZJR19JUF9QTlA9eQotQ09ORklHX0lQX1BOUF9ESENQPXkKKyMgQ09ORklHX0lQX1BOUF9ESENQIGlzIG5vdCBzZXQKIENPTkZJR19JUF9QTlBfQk9PVFA9eQotIyBDT05GSUdfSVBfUE5QX1JBUlAgaXMgbm90IHNldAorQ09ORklHX0lQX1BOUF9SQVJQPXkKICMgQ09ORklHX05FVF9JUElQIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9JUEdSRSBpcyBub3Qgc2V0CitDT05GSUdfSVBfTVJPVVRFPXkKK0NPTkZJR19JUF9QSU1TTV9WMT15CitDT05GSUdfSVBfUElNU01fVjI9eQogIyBDT05GSUdfQVJQRCBpcyBub3Qgc2V0CiAjIENPTkZJR19TWU5fQ09PS0lFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkVUX0FIIGlzIG5vdCBzZXQKQEAgLTI4MywxMSArMzI2LDExIEBACiAjIENPTkZJR19JTkVUX0lQQ09NUCBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkVUX1hGUk1fVFVOTkVMIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORVRfVFVOTkVMIGlzIG5vdCBzZXQKLUNPTkZJR19JTkVUX1hGUk1fTU9ERV9UUkFOU1BPUlQ9eQotQ09ORklHX0lORVRfWEZSTV9NT0RFX1RVTk5FTD15Ci1DT05GSUdfSU5FVF9YRlJNX01PREVfQkVFVD15Ci1DT05GSUdfSU5FVF9ESUFHPXkKLUNPTkZJR19JTkVUX1RDUF9ESUFHPXkKKyMgQ09ORklHX0lORVRfWEZSTV9NT0RFX1RSQU5TUE9SVCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX1hGUk1fTU9ERV9UVU5ORUwgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9YRlJNX01PREVfQkVFVCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX0xSTyBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX0RJQUcgaXMgbm90IHNldAogIyBDT05GSUdfVENQX0NPTkdfQURWQU5DRUQgaXMgbm90IHNldAogQ09ORklHX1RDUF9DT05HX0NVQklDPXkKIENPTkZJR19ERUZBVUxUX1RDUF9DT05HPSJjdWJpYyIKQEAgLTMxMSwxMCArMzU0LDYgQEAKICMgQ09ORklHX0xBUEIgaXMgbm90IHNldAogIyBDT05GSUdfRUNPTkVUIGlzIG5vdCBzZXQKICMgQ09ORklHX1dBTl9ST1VURVIgaXMgbm90IHNldAotCi0jCi0jIFFvUyBhbmQvb3IgZmFpciBxdWV1ZWluZwotIwogIyBDT05GSUdfTkVUX1NDSEVEIGlzIG5vdCBzZXQKIAogIwpAQCAtMzIzLDI4ICszNjIsNyBAQAogIyBDT05GSUdfTkVUX1BLVEdFTiBpcyBub3Qgc2V0CiAjIENPTkZJR19IQU1SQURJTyBpcyBub3Qgc2V0CiAjIENPTkZJR19JUkRBIGlzIG5vdCBzZXQKLUNPTkZJR19CVD1tCi1DT05GSUdfQlRfTDJDQVA9bQotQ09ORklHX0JUX1NDTz1tCi1DT05GSUdfQlRfUkZDT01NPW0KLSMgQ09ORklHX0JUX1JGQ09NTV9UVFkgaXMgbm90IHNldAotQ09ORklHX0JUX0JORVA9bQotIyBDT05GSUdfQlRfQk5FUF9NQ19GSUxURVIgaXMgbm90IHNldAotIyBDT05GSUdfQlRfQk5FUF9QUk9UT19GSUxURVIgaXMgbm90IHNldAotQ09ORklHX0JUX0hJRFA9bQotCi0jCi0jIEJsdWV0b290aCBkZXZpY2UgZHJpdmVycwotIwotQ09ORklHX0JUX0hDSVVTQj1tCi0jIENPTkZJR19CVF9IQ0lVU0JfU0NPIGlzIG5vdCBzZXQKLUNPTkZJR19CVF9IQ0lVQVJUPW0KLSMgQ09ORklHX0JUX0hDSVVBUlRfSDQgaXMgbm90IHNldAotIyBDT05GSUdfQlRfSENJVUFSVF9CQ1NQIGlzIG5vdCBzZXQKLUNPTkZJR19CVF9IQ0lCQ00yMDNYPW0KLUNPTkZJR19CVF9IQ0lCUEExMFg9bQotQ09ORklHX0JUX0hDSUJGVVNCPW0KLSMgQ09ORklHX0JUX0hDSVZIQ0kgaXMgbm90IHNldAorIyBDT05GSUdfQlQgaXMgbm90IHNldAogIyBDT05GSUdfQUZfUlhSUEMgaXMgbm90IHNldAogCiAjCkBAIC0zNTMsMTMgKzM3MSw5IEBACiAjIENPTkZJR19DRkc4MDIxMSBpcyBub3Qgc2V0CiAjIENPTkZJR19XSVJFTEVTU19FWFQgaXMgbm90IHNldAogIyBDT05GSUdfTUFDODAyMTEgaXMgbm90IHNldAotQ09ORklHX0lFRUU4MDIxMT1tCi0jIENPTkZJR19JRUVFODAyMTFfREVCVUcgaXMgbm90IHNldAotQ09ORklHX0lFRUU4MDIxMV9DUllQVF9XRVA9bQotQ09ORklHX0lFRUU4MDIxMV9DUllQVF9DQ01QPW0KLSMgQ09ORklHX0lFRUU4MDIxMV9DUllQVF9US0lQIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lFRUU4MDIxMV9TT0ZUTUFDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lFRUU4MDIxMSBpcyBub3Qgc2V0CiAjIENPTkZJR19SRktJTEwgaXMgbm90IHNldAorIyBDT05GSUdfTkVUXzlQIGlzIG5vdCBzZXQKIAogIwogIyBEZXZpY2UgRHJpdmVycwpAQCAtMzY4LDIzICszODIsMjAgQEAKICMKICMgR2VuZXJpYyBEcml2ZXIgT3B0aW9ucwogIworQ09ORklHX1VFVkVOVF9IRUxQRVJfUEFUSD0iL3NiaW4vaG90cGx1ZyIKIENPTkZJR19TVEFOREFMT05FPXkKIENPTkZJR19QUkVWRU5UX0ZJUk1XQVJFX0JVSUxEPXkKLUNPTkZJR19GV19MT0FERVI9eQorIyBDT05GSUdfRldfTE9BREVSIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0RSSVZFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19ERVZSRVMgaXMgbm90IHNldAogIyBDT05GSUdfU1lTX0hZUEVSVklTT1IgaXMgbm90IHNldAotCi0jCi0jIENvbm5lY3RvciAtIHVuaWZpZWQgdXNlcnNwYWNlIDwtPiBrZXJuZWxzcGFjZSBsaW5rZXIKLSMKICMgQ09ORklHX0NPTk5FQ1RPUiBpcyBub3Qgc2V0CiBDT05GSUdfTVREPXkKICMgQ09ORklHX01URF9ERUJVRyBpcyBub3Qgc2V0Ci1DT05GSUdfTVREX0NPTkNBVD15CisjIENPTkZJR19NVERfQ09OQ0FUIGlzIG5vdCBzZXQKIENPTkZJR19NVERfUEFSVElUSU9OUz15CiAjIENPTkZJR19NVERfUkVEQk9PVF9QQVJUUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfQ01ETElORV9QQVJUUyBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NNRExJTkVfUEFSVFM9eQogIyBDT05GSUdfTVREX0FGU19QQVJUUyBpcyBub3Qgc2V0CiAKICMKQEAgLTM5OCwxNSArNDA5LDEzIEBACiAjIENPTkZJR19JTkZUTCBpcyBub3Qgc2V0CiAjIENPTkZJR19SRkRfRlRMIGlzIG5vdCBzZXQKICMgQ09ORklHX1NTRkRDIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9PT1BTIGlzIG5vdCBzZXQKIAogIwogIyBSQU0vUk9NL0ZsYXNoIGNoaXAgZHJpdmVycwogIwogIyBDT05GSUdfTVREX0NGSSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfSkVERUNQUk9CRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfQ0ZJX05PU1dBUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfQ0ZJX0JFX0JZVEVfU1dBUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfQ0ZJX0xFX0JZVEVfU1dBUCBpcyBub3Qgc2V0CiBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzE9eQogQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8yPXkKIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfND15CkBAIC00MjUsMTIgKzQzNCwxMyBAQAogIyBNYXBwaW5nIGRyaXZlcnMgZm9yIGNoaXAgYWNjZXNzCiAjCiAjIENPTkZJR19NVERfQ09NUExFWF9NQVBQSU5HUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfU0hBUlBfU0wgaXMgbm90IHNldAogIyBDT05GSUdfTVREX1BMQVRSQU0gaXMgbm90IHNldAogCiAjCiAjIFNlbGYtY29udGFpbmVkIE1URCBkZXZpY2UgZHJpdmVycwogIworQ09ORklHX01URF9EQVRBRkxBU0g9eQorIyBDT05GSUdfTVREX00yNVA4MCBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfU0xSQU0gaXMgbm90IHNldAogIyBDT05GSUdfTVREX1BIUkFNIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9NVERSQU0gaXMgbm90IHNldApAQCAtNDQ2LDUzICs0NTYsNDIgQEAKICMgQ09ORklHX01URF9OQU5EX1ZFUklGWV9XUklURSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTkFORF9FQ0NfU01DIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9OQU5EX01VU0VVTV9JRFMgaXMgbm90IHNldAotIyBDT05GSUdfTVREX05BTkRfSDE5MDAgaXMgbm90IHNldAogQ09ORklHX01URF9OQU5EX0lEUz15CiAjIENPTkZJR19NVERfTkFORF9ESVNLT05DSElQIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9OQU5EX1NIQVJQU0wgaXMgbm90IHNldAorQ09ORklHX01URF9OQU5EX0FUOTE9eQorQ09ORklHX01URF9OQU5EX0FUOTFfRUNDX1NPRlQ9eQorIyBDT05GSUdfTVREX05BTkRfQVQ5MV9FQ0NfSFcgaXMgbm90IHNldAorIyBDT05GSUdfTVREX05BTkRfQVQ5MV9FQ0NfTk9ORSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTkFORF9OQU5EU0lNIGlzIG5vdCBzZXQKLUNPTkZJR19NVERfTkFORF9QTEFURk9STT15CisjIENPTkZJR19NVERfTkFORF9QTEFURk9STSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQUxBVURBIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9PTkVOQU5EIGlzIG5vdCBzZXQKIAogIwogIyBVQkkgLSBVbnNvcnRlZCBibG9jayBpbWFnZXMKICMKICMgQ09ORklHX01URF9VQkkgaXMgbm90IHNldAotCi0jCi0jIFBhcmFsbGVsIHBvcnQgc3VwcG9ydAotIwogIyBDT05GSUdfUEFSUE9SVCBpcyBub3Qgc2V0Ci0KLSMKLSMgUGx1ZyBhbmQgUGxheSBzdXBwb3J0Ci0jCi0jIENPTkZJR19QTlBBQ1BJIGlzIG5vdCBzZXQKLQotIwotIyBCbG9jayBkZXZpY2VzCi0jCitDT05GSUdfQkxLX0RFVj15CiAjIENPTkZJR19CTEtfREVWX0NPV19DT01NT04gaXMgbm90IHNldAogQ09ORklHX0JMS19ERVZfTE9PUD15CiAjIENPTkZJR19CTEtfREVWX0NSWVBUT0xPT1AgaXMgbm90IHNldAogIyBDT05GSUdfQkxLX0RFVl9OQkQgaXMgbm90IHNldAogIyBDT05GSUdfQkxLX0RFVl9VQiBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9SQU09eQotQ09ORklHX0JMS19ERVZfUkFNX0NPVU5UPTE2Ci1DT05GSUdfQkxLX0RFVl9SQU1fU0laRT0xMjAwMAotQ09ORklHX0JMS19ERVZfUkFNX0JMT0NLU0laRT0xMDI0CisjIENPTkZJR19CTEtfREVWX1JBTSBpcyBub3Qgc2V0CiAjIENPTkZJR19DRFJPTV9QS1RDRFZEIGlzIG5vdCBzZXQKICMgQ09ORklHX0FUQV9PVkVSX0VUSCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JREUgaXMgbm90IHNldAorIyBDT05GSUdfTUlTQ19ERVZJQ0VTIGlzIG5vdCBzZXQKIAogIwogIyBTQ1NJIGRldmljZSBzdXBwb3J0CiAjCiAjIENPTkZJR19SQUlEX0FUVFJTIGlzIG5vdCBzZXQKIENPTkZJR19TQ1NJPXkKK0NPTkZJR19TQ1NJX0RNQT15CiAjIENPTkZJR19TQ1NJX1RHVCBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX05FVExJTksgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9QUk9DX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19TQ1NJX1BST0NfRlM9eQogCiAjCiAjIFNDU0kgc3VwcG9ydCB0eXBlIChkaXNrLCB0YXBlLCBDRC1ST00pCkBAIC01MDcsNyArNTA2LDcgQEAKICMKICMgU29tZSBTQ1NJIGRldmljZXMgKGUuZy4gQ0QganVrZWJveCkgc3VwcG9ydCBtdWx0aXBsZSBMVU5zCiAjCi0jIENPTkZJR19TQ1NJX01VTFRJX0xVTiBpcyBub3Qgc2V0CitDT05GSUdfU0NTSV9NVUxUSV9MVU49eQogIyBDT05GSUdfU0NTSV9DT05TVEFOVFMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9MT0dHSU5HIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfU0NBTl9BU1lOQyBpcyBub3Qgc2V0CkBAIC01MTksNDEgKzUxOCw1MCBAQAogIyBDT05GSUdfU0NTSV9TUElfQVRUUlMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9GQ19BVFRSUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0lTQ1NJX0FUVFJTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfU0FTX0FUVFJTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfU0FTX0xJQlNBUyBpcyBub3Qgc2V0Ci0KLSMKLSMgU0NTSSBsb3ctbGV2ZWwgZHJpdmVycwotIworIyBDT05GSUdfU0NTSV9TUlBfQVRUUlMgaXMgbm90IHNldAorQ09ORklHX1NDU0lfTE9XTEVWRUw9eQogIyBDT05GSUdfSVNDU0lfVENQIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfREVCVUcgaXMgbm90IHNldAogIyBDT05GSUdfQVRBIGlzIG5vdCBzZXQKLQotIwotIyBNdWx0aS1kZXZpY2Ugc3VwcG9ydCAoUkFJRCBhbmQgTFZNKQotIwogIyBDT05GSUdfTUQgaXMgbm90IHNldAotCi0jCi0jIE5ldHdvcmsgZGV2aWNlIHN1cHBvcnQKLSMKIENPTkZJR19ORVRERVZJQ0VTPXkKKyMgQ09ORklHX05FVERFVklDRVNfTVVMVElRVUVVRSBpcyBub3Qgc2V0CiAjIENPTkZJR19EVU1NWSBpcyBub3Qgc2V0CiAjIENPTkZJR19CT05ESU5HIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BQ1ZMQU4gaXMgbm90IHNldAogIyBDT05GSUdfRVFVQUxJWkVSIGlzIG5vdCBzZXQKICMgQ09ORklHX1RVTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19QSFlMSUIgaXMgbm90IHNldAorIyBDT05GSUdfVkVUSCBpcyBub3Qgc2V0CitDT05GSUdfUEhZTElCPXkKIAogIwotIyBFdGhlcm5ldCAoMTAgb3IgMTAwTWJpdCkKKyMgTUlJIFBIWSBkZXZpY2UgZHJpdmVycwogIworIyBDT05GSUdfTUFSVkVMTF9QSFkgaXMgbm90IHNldAorIyBDT05GSUdfREFWSUNPTV9QSFkgaXMgbm90IHNldAorIyBDT05GSUdfUVNFTUlfUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xYVF9QSFkgaXMgbm90IHNldAorIyBDT05GSUdfQ0lDQURBX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19WSVRFU1NFX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19TTVNDX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19CUk9BRENPTV9QSFkgaXMgbm90IHNldAorIyBDT05GSUdfSUNQTFVTX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19GSVhFRF9QSFkgaXMgbm90IHNldAorIyBDT05GSUdfTURJT19CSVRCQU5HIGlzIG5vdCBzZXQKIENPTkZJR19ORVRfRVRIRVJORVQ9eQogQ09ORklHX01JST15CitDT05GSUdfTUFDQj15CisjIENPTkZJR19BWDg4Nzk2IGlzIG5vdCBzZXQKICMgQ09ORklHX1NNQzkxWCBpcyBub3Qgc2V0Ci1DT05GSUdfRE05MDAwPXkKLSMgQ09ORklHX1NNQzkxMVggaXMgbm90IHNldAotIyBDT05GSUdfTkVUREVWXzEwMDAgaXMgbm90IHNldAotIyBDT05GSUdfTkVUREVWXzEwMDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RNOTAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfWk1JSSBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfUkdNSUkgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1RBSCBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfRU1BQzQgaXMgbm90IHNldAorIyBDT05GSUdfQjQ0IGlzIG5vdCBzZXQKK0NPTkZJR19ORVRERVZfMTAwMD15CitDT05GSUdfTkVUREVWXzEwMDAwPXkKIAogIwogIyBXaXJlbGVzcyBMQU4KQEAgLTU2OCw3ICs1NzYsNiBAQAogIyBDT05GSUdfVVNCX0tBV0VUSCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfUEVHQVNVUyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfUlRMODE1MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfVVNCTkVUX01JSSBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfVVNCTkVUIGlzIG5vdCBzZXQKICMgQ09ORklHX1dBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19QUFAgaXMgbm90IHNldApAQCAtNTc3LDEwICs1ODQsNiBAQAogIyBDT05GSUdfTkVUQ09OU09MRSBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRQT0xMIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9QT0xMX0NPTlRST0xMRVIgaXMgbm90IHNldAotCi0jCi0jIElTRE4gc3Vic3lzdGVtCi0jCiAjIENPTkZJR19JU0ROIGlzIG5vdCBzZXQKIAogIwpAQCAtNTk4LDkgKzYwMSw4IEBACiBDT05GSUdfSU5QVVRfTU9VU0VERVZfU0NSRUVOX1g9MTAyNAogQ09ORklHX0lOUFVUX01PVVNFREVWX1NDUkVFTl9ZPTc2OAogIyBDT05GSUdfSU5QVVRfSk9ZREVWIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lOUFVUX1RTREVWIGlzIG5vdCBzZXQKIENPTkZJR19JTlBVVF9FVkRFVj15Ci0jIENPTkZJR19JTlBVVF9FVkJVRyBpcyBub3Qgc2V0CitDT05GSUdfSU5QVVRfRVZCVUc9eQogCiAjCiAjIElucHV0IERldmljZSBEcml2ZXJzCkBAIC02MTIsMzAgKzYxNCwxNyBAQAogIyBDT05GSUdfS0VZQk9BUkRfWFRLQkQgaXMgbm90IHNldAogIyBDT05GSUdfS0VZQk9BUkRfTkVXVE9OIGlzIG5vdCBzZXQKICMgQ09ORklHX0tFWUJPQVJEX1NUT1dBV0FZIGlzIG5vdCBzZXQKLUNPTkZJR19LRVlCT0FSRF9QWEEyN3g9bQotIyBDT05GSUdfS0VZQk9BUkRfR1BJTyBpcyBub3Qgc2V0CitDT05GSUdfS0VZQk9BUkRfR1BJTz15CiAjIENPTkZJR19JTlBVVF9NT1VTRSBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9KT1lTVElDSyBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9UQUJMRVQgaXMgbm90IHNldAotQ09ORklHX0lOUFVUX1RPVUNIU0NSRUVOPXkKLSMgQ09ORklHX1RPVUNIU0NSRUVOX0dVTlpFIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX0VMTyBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9NVE9VQ0ggaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fTUs3MTIgaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fUEVOTU9VTlQgaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVE9VQ0hSSUdIVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9UT1VDSFdJTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9VQ0IxNDAwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX1VTQl9DT01QT1NJVEUgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfVE9VQ0hTQ1JFRU4gaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfTUlTQyBpcyBub3Qgc2V0CiAKICMKICMgSGFyZHdhcmUgSS9PIHBvcnRzCiAjCi1DT05GSUdfU0VSSU89eQotIyBDT05GSUdfU0VSSU9fU0VSUE9SVCBpcyBub3Qgc2V0Ci1DT05GSUdfU0VSSU9fTElCUFMyPXkKLSMgQ09ORklHX1NFUklPX1JBVyBpcyBub3Qgc2V0CisjIENPTkZJR19TRVJJTyBpcyBub3Qgc2V0CiAjIENPTkZJR19HQU1FUE9SVCBpcyBub3Qgc2V0CiAKICMKQEAgLTY1NSw0NSArNjQ0LDUxIEBACiAjCiAjIE5vbi04MjUwIHNlcmlhbCBwb3J0IHN1cHBvcnQKICMKLUNPTkZJR19TRVJJQUxfUFhBPXkKLUNPTkZJR19TRVJJQUxfUFhBX0NPTlNPTEU9eQorQ09ORklHX1NFUklBTF9BVE1FTD15CitDT05GSUdfU0VSSUFMX0FUTUVMX0NPTlNPTEU9eQorIyBDT05GSUdfU0VSSUFMX0FUTUVMX1RUWUFUIGlzIG5vdCBzZXQKIENPTkZJR19TRVJJQUxfQ09SRT15CiBDT05GSUdfU0VSSUFMX0NPUkVfQ09OU09MRT15CiBDT05GSUdfVU5JWDk4X1BUWVM9eQogQ09ORklHX0xFR0FDWV9QVFlTPXkKIENPTkZJR19MRUdBQ1lfUFRZX0NPVU5UPTI1NgotCi0jCi0jIElQTUkKLSMKICMgQ09ORklHX0lQTUlfSEFORExFUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19XQVRDSERPRyBpcyBub3Qgc2V0Ci1DT05GSUdfSFdfUkFORE9NPW0KK0NPTkZJR19IV19SQU5ET009eQogIyBDT05GSUdfTlZSQU0gaXMgbm90IHNldAogIyBDT05GSUdfUjM5NjQgaXMgbm90IHNldAogIyBDT05GSUdfUkFXX0RSSVZFUiBpcyBub3Qgc2V0Ci0KLSMKLSMgVFBNIGRldmljZXMKLSMKICMgQ09ORklHX1RDR19UUE0gaXMgbm90IHNldAogIyBDT05GSUdfSTJDIGlzIG5vdCBzZXQKIAogIwogIyBTUEkgc3VwcG9ydAogIwotIyBDT05GSUdfU1BJIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NQSV9NQVNURVIgaXMgbm90IHNldAorQ09ORklHX1NQST15CisjIENPTkZJR19TUElfREVCVUcgaXMgbm90IHNldAorQ09ORklHX1NQSV9NQVNURVI9eQogCiAjCi0jIERhbGxhcydzIDEtd2lyZSBidXMKKyMgU1BJIE1hc3RlciBDb250cm9sbGVyIERyaXZlcnMKICMKK0NPTkZJR19TUElfQVRNRUw9eQorIyBDT05GSUdfU1BJX0JJVEJBTkcgaXMgbm90IHNldAorCisjCisjIFNQSSBQcm90b2NvbCBNYXN0ZXJzCisjCisjIENPTkZJR19TUElfQVQyNSBpcyBub3Qgc2V0CisjIENPTkZJR19TUElfU1BJREVWIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQSV9UTEU2MlgwIGlzIG5vdCBzZXQKICMgQ09ORklHX1cxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BPV0VSX1NVUFBMWSBpcyBub3Qgc2V0CiAjIENPTkZJR19IV01PTiBpcyBub3Qgc2V0CisjIENPTkZJR19XQVRDSERPRyBpcyBub3Qgc2V0CiAKICMKLSMgTWlzYyBkZXZpY2VzCisjIFNvbmljcyBTaWxpY29uIEJhY2twbGFuZQogIworQ09ORklHX1NTQl9QT1NTSUJMRT15CisjIENPTkZJR19TU0IgaXMgbm90IHNldAogCiAjCiAjIE11bHRpZnVuY3Rpb24gZGV2aWNlIGRyaXZlcnMKQEAgLTcwMSwxOSArNjk2LDYgQEAKICMgQ09ORklHX01GRF9TTTUwMSBpcyBub3Qgc2V0CiAKICMKLSMgTEVEIGRldmljZXMKLSMKLSMgQ09ORklHX05FV19MRURTIGlzIG5vdCBzZXQKLQotIwotIyBMRUQgZHJpdmVycwotIwotCi0jCi0jIExFRCBUcmlnZ2VycwotIwotCi0jCiAjIE11bHRpbWVkaWEgZGV2aWNlcwogIwogIyBDT05GSUdfVklERU9fREVWIGlzIG5vdCBzZXQKQEAgLTcyMywxMjUgKzcwNSw0MiBAQAogIwogIyBHcmFwaGljcyBzdXBwb3J0CiAjCisjIENPTkZJR19WR0FTVEFURSBpcyBub3Qgc2V0CisjIENPTkZJR19WSURFT19PVVRQVVRfQ09OVFJPTCBpcyBub3Qgc2V0CisjIENPTkZJR19GQiBpcyBub3Qgc2V0CiAjIENPTkZJR19CQUNLTElHSFRfTENEX1NVUFBPUlQgaXMgbm90IHNldAogCiAjCiAjIERpc3BsYXkgZGV2aWNlIHN1cHBvcnQKICMKICMgQ09ORklHX0RJU1BMQVlfU1VQUE9SVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19WR0FTVEFURSBpcyBub3Qgc2V0Ci1DT05GSUdfRkI9eQotIyBDT05GSUdfRklSTVdBUkVfRURJRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9EREMgaXMgbm90IHNldAotQ09ORklHX0ZCX0NGQl9GSUxMUkVDVD15Ci1DT05GSUdfRkJfQ0ZCX0NPUFlBUkVBPXkKLUNPTkZJR19GQl9DRkJfSU1BR0VCTElUPXkKLSMgQ09ORklHX0ZCX1NZU19GSUxMUkVDVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9TWVNfQ09QWUFSRUEgaXMgbm90IHNldAotIyBDT05GSUdfRkJfU1lTX0lNQUdFQkxJVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9TWVNfRk9QUyBpcyBub3Qgc2V0Ci1DT05GSUdfRkJfREVGRVJSRURfSU89eQotIyBDT05GSUdfRkJfU1ZHQUxJQiBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9NQUNNT0RFUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9CQUNLTElHSFQgaXMgbm90IHNldAotIyBDT05GSUdfRkJfTU9ERV9IRUxQRVJTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1RJTEVCTElUVElORyBpcyBub3Qgc2V0Ci0KLSMKLSMgRnJhbWUgYnVmZmVyIGhhcmR3YXJlIGRyaXZlcnMKLSMKLSMgQ09ORklHX0ZCX1MxRDEzWFhYIGlzIG5vdCBzZXQKLUNPTkZJR19GQl9QWEE9eQotIyBDT05GSUdfRkJfUFhBX1BBUkFNRVRFUlMgaXMgbm90IHNldAotIyBDT05GSUdfRkJfTUJYIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1ZJUlRVQUwgaXMgbm90IHNldAogCiAjCiAjIENvbnNvbGUgZGlzcGxheSBkcml2ZXIgc3VwcG9ydAogIwogIyBDT05GSUdfVkdBX0NPTlNPTEUgaXMgbm90IHNldAogQ09ORklHX0RVTU1ZX0NPTlNPTEU9eQotQ09ORklHX0ZSQU1FQlVGRkVSX0NPTlNPTEU9eQotIyBDT05GSUdfRlJBTUVCVUZGRVJfQ09OU09MRV9ST1RBVElPTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19GT05UUyBpcyBub3Qgc2V0Ci1DT05GSUdfRk9OVF84eDg9eQotQ09ORklHX0ZPTlRfOHgxNj15Ci1DT05GSUdfTE9HTz15Ci1DT05GSUdfTE9HT19MSU5VWF9NT05PPXkKLUNPTkZJR19MT0dPX0xJTlVYX1ZHQTE2PXkKLUNPTkZJR19MT0dPX0xJTlVYX0NMVVQyMjQ9eQogCiAjCiAjIFNvdW5kCiAjCi1DT05GSUdfU09VTkQ9bQotCi0jCi0jIEFkdmFuY2VkIExpbnV4IFNvdW5kIEFyY2hpdGVjdHVyZQotIwotQ09ORklHX1NORD1tCi1DT05GSUdfU05EX1RJTUVSPW0KLUNPTkZJR19TTkRfUENNPW0KLSMgQ09ORklHX1NORF9TRVFVRU5DRVIgaXMgbm90IHNldAotQ09ORklHX1NORF9PU1NFTVVMPXkKLUNPTkZJR19TTkRfTUlYRVJfT1NTPW0KLUNPTkZJR19TTkRfUENNX09TUz1tCi1DT05GSUdfU05EX1BDTV9PU1NfUExVR0lOUz15Ci0jIENPTkZJR19TTkRfRFlOQU1JQ19NSU5PUlMgaXMgbm90IHNldAotQ09ORklHX1NORF9TVVBQT1JUX09MRF9BUEk9eQotQ09ORklHX1NORF9WRVJCT1NFX1BST0NGUz15Ci0jIENPTkZJR19TTkRfVkVSQk9TRV9QUklOVEsgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0RFQlVHIGlzIG5vdCBzZXQKLQotIwotIyBHZW5lcmljIGRldmljZXMKLSMKLUNPTkZJR19TTkRfQUM5N19DT0RFQz1tCi0jIENPTkZJR19TTkRfRFVNTVkgaXMgbm90IHNldAotIyBDT05GSUdfU05EX01UUEFWIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9TRVJJQUxfVTE2NTUwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9NUFU0MDEgaXMgbm90IHNldAotCi0jCi0jIEFMU0EgQVJNIGRldmljZXMKLSMKLUNPTkZJR19TTkRfUFhBMlhYX1BDTT1tCi1DT05GSUdfU05EX1BYQTJYWF9BQzk3PW0KLQotIwotIyBVU0IgZGV2aWNlcwotIwotIyBDT05GSUdfU05EX1VTQl9BVURJTyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfVVNCX0NBSUFRIGlzIG5vdCBzZXQKLQotIwotIyBTeXN0ZW0gb24gQ2hpcCBhdWRpbyBzdXBwb3J0Ci0jCi0jIENPTkZJR19TTkRfU09DIGlzIG5vdCBzZXQKLQotIwotIyBPcGVuIFNvdW5kIFN5c3RlbQotIwotIyBDT05GSUdfU09VTkRfUFJJTUUgaXMgbm90IHNldAotQ09ORklHX0FDOTdfQlVTPW0KLQotIwotIyBISUQgRGV2aWNlcwotIworIyBDT05GSUdfU09VTkQgaXMgbm90IHNldAorQ09ORklHX0hJRF9TVVBQT1JUPXkKIENPTkZJR19ISUQ9eQogIyBDT05GSUdfSElEX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hJRFJBVyBpcyBub3Qgc2V0CiAKICMKICMgVVNCIElucHV0IERldmljZXMKICMKLUNPTkZJR19VU0JfSElEPXkKLSMgQ09ORklHX1VTQl9ISURJTlBVVF9QT1dFUkJPT0sgaXMgbm90IHNldAotIyBDT05GSUdfSElEX0ZGIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9ISURERVYgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0hJRCBpcyBub3Qgc2V0CiAKICMKLSMgVVNCIHN1cHBvcnQKKyMgVVNCIEhJRCBCb290IFByb3RvY29sIGRyaXZlcnMKICMKKyMgQ09ORklHX1VTQl9LQkQgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX01PVVNFIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfU1VQUE9SVD15CiBDT05GSUdfVVNCX0FSQ0hfSEFTX0hDRD15CiBDT05GSUdfVVNCX0FSQ0hfSEFTX09IQ0k9eQogIyBDT05GSUdfVVNCX0FSQ0hfSEFTX0VIQ0kgaXMgbm90IHNldApAQCAtODUyLDkgKzc1MSwxMCBAQAogIyBNaXNjZWxsYW5lb3VzIFVTQiBvcHRpb25zCiAjCiBDT05GSUdfVVNCX0RFVklDRUZTPXkKLSMgQ09ORklHX1VTQl9ERVZJQ0VfQ0xBU1MgaXMgbm90IHNldAorQ09ORklHX1VTQl9ERVZJQ0VfQ0xBU1M9eQogIyBDT05GSUdfVVNCX0RZTkFNSUNfTUlOT1JTIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVVNQRU5EIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9QRVJTSVNUIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9PVEcgaXMgbm90IHNldAogCiAjCkBAIC04NjYsNiArNzY2LDcgQEAKICMgQ09ORklHX1VTQl9PSENJX0JJR19FTkRJQU5fTU1JTyBpcyBub3Qgc2V0CiBDT05GSUdfVVNCX09IQ0lfTElUVExFX0VORElBTj15CiAjIENPTkZJR19VU0JfU0w4MTFfSENEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9SOEE2NjU5N19IQ0QgaXMgbm90IHNldAogCiAjCiAjIFVTQiBEZXZpY2UgQ2xhc3MgZHJpdmVycwpAQCAtODg0LDYgKzc4NSw3IEBACiAjIENPTkZJR19VU0JfU1RPUkFHRV9ERUJVRyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9EQVRBRkFCIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX0ZSRUVDT00gaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NUT1JBR0VfSVNEMjAwIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX0RQQ00gaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfVVNCQVQgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfU0REUjA5IGlzIG5vdCBzZXQKQEAgLTg5OCw3ICs4MDAsNyBAQAogIwogIyBDT05GSUdfVVNCX01EQzgwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfTUlDUk9URUsgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX01PTiBpcyBub3Qgc2V0CitDT05GSUdfVVNCX01PTj15CiAKICMKICMgVVNCIHBvcnQgZHJpdmVycwpAQCAtOTM5LDU3ICs4NDEsNDggQEAKICMKICMgVVNCIEdhZGdldCBTdXBwb3J0CiAjCi0jIENPTkZJR19VU0JfR0FER0VUIGlzIG5vdCBzZXQKLUNPTkZJR19NTUM9bQotIyBDT05GSUdfTU1DX0RFQlVHIGlzIG5vdCBzZXQKLSMgQ09ORklHX01NQ19VTlNBRkVfUkVTVU1FIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfR0FER0VUPXkKKyMgQ09ORklHX1VTQl9HQURHRVRfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9ERUJVR19GSUxFUyBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0dBREdFVF9TRUxFQ1RFRD15CisjIENPTkZJR19VU0JfR0FER0VUX0FNRDU1MzZVREMgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9BVE1FTF9VU0JBIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfRlNMX1VTQjIgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9ORVQyMjgwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfUFhBMlhYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfTTY2NTkyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfR09LVSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX0xIN0E0MFggaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9PTUFQIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfUzNDMjQxMCBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0dBREdFVF9BVDkxPXkKK0NPTkZJR19VU0JfQVQ5MT15CisjIENPTkZJR19VU0JfR0FER0VUX0RVTU1ZX0hDRCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX0RVQUxTUEVFRCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfWkVSTyBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0VUSD15CitDT05GSUdfVVNCX0VUSF9STkRJUz15CisjIENPTkZJR19VU0JfR0FER0VURlMgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0ZJTEVfU1RPUkFHRSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR19TRVJJQUwgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX01JRElfR0FER0VUIGlzIG5vdCBzZXQKKyMgQ09ORklHX01NQyBpcyBub3Qgc2V0CitDT05GSUdfTkVXX0xFRFM9eQorQ09ORklHX0xFRFNfQ0xBU1M9eQogCiAjCi0jIE1NQy9TRCBDYXJkIERyaXZlcnMKKyMgTEVEIGRyaXZlcnMKICMKLUNPTkZJR19NTUNfQkxPQ0s9bQorQ09ORklHX0xFRFNfR1BJTz15CiAKICMKLSMgTU1DL1NEIEhvc3QgQ29udHJvbGxlciBEcml2ZXJzCisjIExFRCBUcmlnZ2VycwogIwotQ09ORklHX01NQ19QWEE9bQotCi0jCi0jIFJlYWwgVGltZSBDbG9jawotIworQ09ORklHX0xFRFNfVFJJR0dFUlM9eQorIyBDT05GSUdfTEVEU19UUklHR0VSX1RJTUVSIGlzIG5vdCBzZXQKK0NPTkZJR19MRURTX1RSSUdHRVJfSEVBUlRCRUFUPXkKIENPTkZJR19SVENfTElCPXkKLUNPTkZJR19SVENfQ0xBU1M9bQotCi0jCi0jIFJUQyBpbnRlcmZhY2VzCi0jCi1DT05GSUdfUlRDX0lOVEZfU1lTRlM9eQotQ09ORklHX1JUQ19JTlRGX1BST0M9eQotQ09ORklHX1JUQ19JTlRGX0RFVj15Ci0jIENPTkZJR19SVENfSU5URl9ERVZfVUlFX0VNVUwgaXMgbm90IHNldAotIyBDT05GSUdfUlRDX0RSVl9URVNUIGlzIG5vdCBzZXQKLQotIwotIyBJMkMgUlRDIGRyaXZlcnMKLSMKLQotIwotIyBTUEkgUlRDIGRyaXZlcnMKLSMKLQotIwotIyBQbGF0Zm9ybSBSVEMgZHJpdmVycwotIwotIyBDT05GSUdfUlRDX0RSVl9DTU9TIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JUQ19EUlZfRFMxNTUzIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JUQ19EUlZfRFMxNzQyIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JUQ19EUlZfTTQ4VDg2IGlzIG5vdCBzZXQKLUNPTkZJR19SVENfRFJWX1YzMDIwPW0KLQotIwotIyBvbi1DUFUgUlRDIGRyaXZlcnMKLSMKLUNPTkZJR19SVENfRFJWX1NBMTEwMD1tCisjIENPTkZJR19SVENfQ0xBU1MgaXMgbm90IHNldAogCiAjCiAjIEZpbGUgc3lzdGVtcwpAQCAtOTk3LDE3ICs4OTAsMTEgQEAKIENPTkZJR19FWFQyX0ZTPXkKICMgQ09ORklHX0VYVDJfRlNfWEFUVFIgaXMgbm90IHNldAogIyBDT05GSUdfRVhUMl9GU19YSVAgaXMgbm90IHNldAotQ09ORklHX0VYVDNfRlM9eQotQ09ORklHX0VYVDNfRlNfWEFUVFI9eQotIyBDT05GSUdfRVhUM19GU19QT1NJWF9BQ0wgaXMgbm90IHNldAotIyBDT05GSUdfRVhUM19GU19TRUNVUklUWSBpcyBub3Qgc2V0CisjIENPTkZJR19FWFQzX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0VYVDRERVZfRlMgaXMgbm90IHNldAotQ09ORklHX0pCRD15Ci0jIENPTkZJR19KQkRfREVCVUcgaXMgbm90IHNldAotQ09ORklHX0ZTX01CQ0FDSEU9eQogIyBDT05GSUdfUkVJU0VSRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfSkZTX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0CitDT05GSUdfRlNfUE9TSVhfQUNMPXkKICMgQ09ORklHX1hGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19HRlMyX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX09DRlMyX0ZTIGlzIG5vdCBzZXQKQEAgLTEwMTksNyArOTA2LDcgQEAKIENPTkZJR19ETk9USUZZPXkKICMgQ09ORklHX0FVVE9GU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19BVVRPRlM0X0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZVU0VfRlMgaXMgbm90IHNldAorQ09ORklHX0ZVU0VfRlM9bQogCiAjCiAjIENELVJPTS9EVkQgRmlsZXN5c3RlbXMKQEAgLTEwMzEsNyArOTE4LDcgQEAKICMgRE9TL0ZBVC9OVCBGaWxlc3lzdGVtcwogIwogQ09ORklHX0ZBVF9GUz15Ci1DT05GSUdfTVNET1NfRlM9eQorIyBDT05GSUdfTVNET1NfRlMgaXMgbm90IHNldAogQ09ORklHX1ZGQVRfRlM9eQogQ09ORklHX0ZBVF9ERUZBVUxUX0NPREVQQUdFPTQzNwogQ09ORklHX0ZBVF9ERUZBVUxUX0lPQ0hBUlNFVD0iaXNvODg1OS0xIgpAQCAtMTA0Niw3ICs5MzMsNiBAQAogQ09ORklHX1RNUEZTPXkKICMgQ09ORklHX1RNUEZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0CiAjIENPTkZJR19IVUdFVExCX1BBR0UgaXMgbm90IHNldAotQ09ORklHX1JBTUZTPXkKICMgQ09ORklHX0NPTkZJR0ZTX0ZTIGlzIG5vdCBzZXQKIAogIwpAQCAtMTA2MiwxMCArOTQ4LDEyIEBACiBDT05GSUdfSkZGUzJfRlM9eQogQ09ORklHX0pGRlMyX0ZTX0RFQlVHPTAKIENPTkZJR19KRkZTMl9GU19XUklURUJVRkZFUj15Ci1DT05GSUdfSkZGUzJfU1VNTUFSWT15CisjIENPTkZJR19KRkZTMl9GU19XQlVGX1ZFUklGWSBpcyBub3Qgc2V0CisjIENPTkZJR19KRkZTMl9TVU1NQVJZIGlzIG5vdCBzZXQKICMgQ09ORklHX0pGRlMyX0ZTX1hBVFRSIGlzIG5vdCBzZXQKICMgQ09ORklHX0pGRlMyX0NPTVBSRVNTSU9OX09QVElPTlMgaXMgbm90IHNldAogQ09ORklHX0pGRlMyX1pMSUI9eQorIyBDT05GSUdfSkZGUzJfTFpPIGlzIG5vdCBzZXQKIENPTkZJR19KRkZTMl9SVElNRT15CiAjIENPTkZJR19KRkZTMl9SVUJJTiBpcyBub3Qgc2V0CiAjIENPTkZJR19DUkFNRlMgaXMgbm90IHNldApAQCAtMTA3NCw0NyArOTYyLDQwIEBACiAjIENPTkZJR19RTlg0RlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfU1lTVl9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19VRlNfRlMgaXMgbm90IHNldAotCi0jCi0jIE5ldHdvcmsgRmlsZSBTeXN0ZW1zCi0jCitDT05GSUdfTkVUV09SS19GSUxFU1lTVEVNUz15CiBDT05GSUdfTkZTX0ZTPXkKIENPTkZJR19ORlNfVjM9eQotIyBDT05GSUdfTkZTX1YzX0FDTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ORlNfVjQgaXMgbm90IHNldAorQ09ORklHX05GU19WM19BQ0w9eQorQ09ORklHX05GU19WND15CiAjIENPTkZJR19ORlNfRElSRUNUSU8gaXMgbm90IHNldAogIyBDT05GSUdfTkZTRCBpcyBub3Qgc2V0CiBDT05GSUdfUk9PVF9ORlM9eQogQ09ORklHX0xPQ0tEPXkKIENPTkZJR19MT0NLRF9WND15CitDT05GSUdfTkZTX0FDTF9TVVBQT1JUPXkKIENPTkZJR19ORlNfQ09NTU9OPXkKIENPTkZJR19TVU5SUEM9eQorQ09ORklHX1NVTlJQQ19HU1M9eQogIyBDT05GSUdfU1VOUlBDX0JJTkQzNCBpcyBub3Qgc2V0Ci0jIENPTkZJR19SUENTRUNfR1NTX0tSQjUgaXMgbm90IHNldAorQ09ORklHX1JQQ1NFQ19HU1NfS1JCNT15CiAjIENPTkZJR19SUENTRUNfR1NTX1NQS00zIGlzIG5vdCBzZXQKLUNPTkZJR19TTUJfRlM9eQotIyBDT05GSUdfU01CX05MU19ERUZBVUxUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NNQl9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19DSUZTIGlzIG5vdCBzZXQKICMgQ09ORklHX05DUF9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19DT0RBX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0FGU19GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR185UF9GUyBpcyBub3Qgc2V0CiAKICMKICMgUGFydGl0aW9uIFR5cGVzCiAjCiAjIENPTkZJR19QQVJUSVRJT05fQURWQU5DRUQgaXMgbm90IHNldAogQ09ORklHX01TRE9TX1BBUlRJVElPTj15Ci0KLSMKLSMgTmF0aXZlIExhbmd1YWdlIFN1cHBvcnQKLSMKIENPTkZJR19OTFM9eQogQ09ORklHX05MU19ERUZBVUxUPSJpc284ODU5LTEiCiBDT05GSUdfTkxTX0NPREVQQUdFXzQzNz15CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfNzM3IGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19DT0RFUEFHRV83NzUgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1MCBpcyBub3Qgc2V0CitDT05GSUdfTkxTX0NPREVQQUdFXzg1MD15CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfODUyIGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19DT0RFUEFHRV84NTUgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1NyBpcyBub3Qgc2V0CkBAIC0xMTQ4LDMwICsxMDI5LDI0IEBACiAjIENPTkZJR19OTFNfSVNPODg1OV8xNSBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfS09JOF9SIGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19LT0k4X1UgaXMgbm90IHNldAotQ09ORklHX05MU19VVEY4PXkKLQotIwotIyBEaXN0cmlidXRlZCBMb2NrIE1hbmFnZXIKLSMKKyMgQ09ORklHX05MU19VVEY4IGlzIG5vdCBzZXQKICMgQ09ORklHX0RMTSBpcyBub3Qgc2V0Ci0KLSMKLSMgUHJvZmlsaW5nIHN1cHBvcnQKLSMKLSMgQ09ORklHX1BST0ZJTElORyBpcyBub3Qgc2V0CisjIENPTkZJR19JTlNUUlVNRU5UQVRJT04gaXMgbm90IHNldAogCiAjCiAjIEtlcm5lbCBoYWNraW5nCiAjCiAjIENPTkZJR19QUklOVEtfVElNRSBpcyBub3Qgc2V0CitDT05GSUdfRU5BQkxFX1dBUk5fREVQUkVDQVRFRD15CiBDT05GSUdfRU5BQkxFX01VU1RfQ0hFQ0s9eQotQ09ORklHX01BR0lDX1NZU1JRPXkKKyMgQ09ORklHX01BR0lDX1NZU1JRIGlzIG5vdCBzZXQKICMgQ09ORklHX1VOVVNFRF9TWU1CT0xTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0hFQURFUlNfQ0hFQ0sgaXMgbm90IHNldAogQ09ORklHX0RFQlVHX0tFUk5FTD15CiAjIENPTkZJR19ERUJVR19TSElSUSBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERVRFQ1RfU09GVExPQ0tVUCBpcyBub3Qgc2V0CitDT05GSUdfREVURUNUX1NPRlRMT0NLVVA9eQorQ09ORklHX1NDSEVEX0RFQlVHPXkKICMgQ09ORklHX1NDSEVEU1RBVFMgaXMgbm90IHNldAogIyBDT05GSUdfVElNRVJfU1RBVFMgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfU0xBQiBpcyBub3Qgc2V0CkBAIC0xMTgxLDE5ICsxMDU2LDIzIEBACiAjIENPTkZJR19ERUJVR19NVVRFWEVTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0xPQ0tfQUxMT0MgaXMgbm90IHNldAogIyBDT05GSUdfUFJPVkVfTE9DS0lORyBpcyBub3Qgc2V0CisjIENPTkZJR19MT0NLX1NUQVQgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfU1BJTkxPQ0tfU0xFRVAgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfTE9DS0lOR19BUElfU0VMRlRFU1RTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0tPQkpFQ1QgaXMgbm90IHNldAotIyBDT05GSUdfREVCVUdfQlVHVkVSQk9TRSBpcyBub3Qgc2V0Ci1DT05GSUdfREVCVUdfSU5GTz15CitDT05GSUdfREVCVUdfQlVHVkVSQk9TRT15CisjIENPTkZJR19ERUJVR19JTkZPIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX1ZNIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0xJU1QgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfU0cgaXMgbm90IHNldAogQ09ORklHX0ZSQU1FX1BPSU5URVI9eQogQ09ORklHX0ZPUkNFRF9JTkxJTklORz15CisjIENPTkZJR19CT09UX1BSSU5US19ERUxBWSBpcyBub3Qgc2V0CiAjIENPTkZJR19SQ1VfVE9SVFVSRV9URVNUIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZBVUxUX0lOSkVDVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19TQU1QTEVTIGlzIG5vdCBzZXQKIENPTkZJR19ERUJVR19VU0VSPXkKLUNPTkZJR19ERUJVR19FUlJPUlM9eQorIyBDT05GSUdfREVCVUdfRVJST1JTIGlzIG5vdCBzZXQKIENPTkZJR19ERUJVR19MTD15CiAjIENPTkZJR19ERUJVR19JQ0VEQ0MgaXMgbm90IHNldAogCkBAIC0xMjAyLDUxICsxMDgxLDQ4IEBACiAjCiAjIENPTkZJR19LRVlTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NFQ1VSSVRZIGlzIG5vdCBzZXQKLQotIwotIyBDcnlwdG9ncmFwaGljIG9wdGlvbnMKLSMKKyMgQ09ORklHX1NFQ1VSSVRZX0ZJTEVfQ0FQQUJJTElUSUVTIGlzIG5vdCBzZXQKIENPTkZJR19DUllQVE89eQotQ09ORklHX0NSWVBUT19BTEdBUEk9bQotQ09ORklHX0NSWVBUT19CTEtDSVBIRVI9bQotQ09ORklHX0NSWVBUT19NQU5BR0VSPW0KK0NPTkZJR19DUllQVE9fQUxHQVBJPXkKK0NPTkZJR19DUllQVE9fQkxLQ0lQSEVSPXkKK0NPTkZJR19DUllQVE9fTUFOQUdFUj15CiAjIENPTkZJR19DUllQVE9fSE1BQyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fWENCQyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fTlVMTCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fTUQ0IGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19NRDUgaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19NRDU9eQogIyBDT05GSUdfQ1JZUFRPX1NIQTEgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1NIQTI1NiBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fU0hBNTEyIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19XUDUxMiBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fVEdSMTkyIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19HRjEyOE1VTCBpcyBub3Qgc2V0Ci1DT05GSUdfQ1JZUFRPX0VDQj1tCi1DT05GSUdfQ1JZUFRPX0NCQz1tCi1DT05GSUdfQ1JZUFRPX1BDQkM9bQorIyBDT05GSUdfQ1JZUFRPX0VDQiBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX0NCQz15CisjIENPTkZJR19DUllQVE9fUENCQyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fTFJXIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19YVFMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0NSWVBURCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fREVTIGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fREVTPXkKICMgQ09ORklHX0NSWVBUT19GQ1JZUFQgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0JMT1dGSVNIIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19UV09GSVNIIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19TRVJQRU5UIGlzIG5vdCBzZXQKLUNPTkZJR19DUllQVE9fQUVTPW0KKyMgQ09ORklHX0NSWVBUT19BRVMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0NBU1Q1IGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19DQVNUNiBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fVEVBIGlzIG5vdCBzZXQKLUNPTkZJR19DUllQVE9fQVJDND1tCisjIENPTkZJR19DUllQVE9fQVJDNCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fS0hBWkFEIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19BTlVCSVMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NFRUQgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0RFRkxBVEUgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX01JQ0hBRUxfTUlDIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19DUkMzMkMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0NBTUVMTElBIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19URVNUIGlzIG5vdCBzZXQKLQotIwotIyBIYXJkd2FyZSBjcnlwdG8gZGV2aWNlcwotIworIyBDT05GSUdfQ1JZUFRPX0FVVEhFTkMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0hXIGlzIG5vdCBzZXQKIAogIwogIyBMaWJyYXJ5IHJvdXRpbmVzCkBAIC0xMjU2LDYgKzExMzIsNyBAQAogIyBDT05GSUdfQ1JDMTYgaXMgbm90IHNldAogIyBDT05GSUdfQ1JDX0lUVV9UIGlzIG5vdCBzZXQKIENPTkZJR19DUkMzMj15CisjIENPTkZJR19DUkM3IGlzIG5vdCBzZXQKICMgQ09ORklHX0xJQkNSQzMyQyBpcyBub3Qgc2V0CiBDT05GSUdfWkxJQl9JTkZMQVRFPXkKIENPTkZJR19aTElCX0RFRkxBVEU9eQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9lbV94MjcwX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvdXNiLWE5MjYzX2RlZmNvbmZpZwpzaW1pbGFyaXR5IGluZGV4IDcwJQpyZW5hbWUgZnJvbSBhcmNoL2FybS9jb25maWdzL2VtX3gyNzBfZGVmY29uZmlnCnJlbmFtZSB0byBhcmNoL2FybS9jb25maWdzL3VzYi1hOTI2M19kZWZjb25maWcKaW5kZXggNmJlYTA5MC4uNDhkNDU1YiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9lbV94MjcwX2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL3VzYi1hOTI2M19kZWZjb25maWcKQEAgLTEsMTMgKzEsMTMgQEAKICMKICMgQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgbWFrZSBjb25maWc6IGRvbid0IGVkaXQKLSMgTGludXgga2VybmVsIHZlcnNpb246IDIuNi4yMgotIyBNb24gSnVsICA5IDE1OjE4OjIwIDIwMDcKKyMgTGludXgga2VybmVsIHZlcnNpb246IDIuNi4yNAorIyBUdWUgQXByIDE1IDExOjE1OjE5IDIwMDgKICMKIENPTkZJR19BUk09eQogQ09ORklHX1NZU19TVVBQT1JUU19BUE1fRU1VTEFUSU9OPXkKIENPTkZJR19HRU5FUklDX0dQSU89eQogQ09ORklHX0dFTkVSSUNfVElNRT15Ci0jIENPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTIGlzIG5vdCBzZXQKK0NPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTPXkKIENPTkZJR19NTVU9eQogIyBDT05GSUdfTk9fSU9QT1JUIGlzIG5vdCBzZXQKIENPTkZJR19HRU5FUklDX0hBUkRJUlFTPXkKQEAgLTIyLDQxICsyMiwzOCBAQAogQ09ORklHX0dFTkVSSUNfSFdFSUdIVD15CiBDT05GSUdfR0VORVJJQ19DQUxJQlJBVEVfREVMQVk9eQogQ09ORklHX1pPTkVfRE1BPXkKLUNPTkZJR19BUkNIX01URF9YSVA9eQogQ09ORklHX1ZFQ1RPUlNfQkFTRT0weGZmZmYwMDAwCiBDT05GSUdfREVGQ09ORklHX0xJU1Q9Ii9saWIvbW9kdWxlcy8kVU5BTUVfUkVMRUFTRS8uY29uZmlnIgogCiAjCi0jIENvZGUgbWF0dXJpdHkgbGV2ZWwgb3B0aW9ucworIyBHZW5lcmFsIHNldHVwCiAjCiBDT05GSUdfRVhQRVJJTUVOVEFMPXkKIENPTkZJR19CUk9LRU5fT05fU01QPXkKIENPTkZJR19JTklUX0VOVl9BUkdfTElNSVQ9MzIKLQotIwotIyBHZW5lcmFsIHNldHVwCi0jCi1DT05GSUdfTE9DQUxWRVJTSU9OPSItZW0teDI3MCIKK0NPTkZJR19MT0NBTFZFUlNJT049IiIKICMgQ09ORklHX0xPQ0FMVkVSU0lPTl9BVVRPIGlzIG5vdCBzZXQKLUNPTkZJR19TV0FQPXkKKyMgQ09ORklHX1NXQVAgaXMgbm90IHNldAogQ09ORklHX1NZU1ZJUEM9eQotIyBDT05GSUdfSVBDX05TIGlzIG5vdCBzZXQKIENPTkZJR19TWVNWSVBDX1NZU0NUTD15CiAjIENPTkZJR19QT1NJWF9NUVVFVUUgaXMgbm90IHNldAogIyBDT05GSUdfQlNEX1BST0NFU1NfQUNDVCBpcyBub3Qgc2V0CiAjIENPTkZJR19UQVNLU1RBVFMgaXMgbm90IHNldAotIyBDT05GSUdfVVRTX05TIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTRVJfTlMgaXMgbm90IHNldAorIyBDT05GSUdfUElEX05TIGlzIG5vdCBzZXQKICMgQ09ORklHX0FVRElUIGlzIG5vdCBzZXQKLUNPTkZJR19JS0NPTkZJRz15Ci1DT05GSUdfSUtDT05GSUdfUFJPQz15Ci1DT05GSUdfTE9HX0JVRl9TSElGVD0xNwotQ09ORklHX1NZU0ZTX0RFUFJFQ0FURUQ9eQorIyBDT05GSUdfSUtDT05GSUcgaXMgbm90IHNldAorQ09ORklHX0xPR19CVUZfU0hJRlQ9MTQKKyMgQ09ORklHX0NHUk9VUFMgaXMgbm90IHNldAorQ09ORklHX0ZBSVJfR1JPVVBfU0NIRUQ9eQorQ09ORklHX0ZBSVJfVVNFUl9TQ0hFRD15CisjIENPTkZJR19GQUlSX0NHUk9VUF9TQ0hFRCBpcyBub3Qgc2V0CisjIENPTkZJR19TWVNGU19ERVBSRUNBVEVEIGlzIG5vdCBzZXQKICMgQ09ORklHX1JFTEFZIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX0lOSVRSRD15Ci1DT05GSUdfSU5JVFJBTUZTX1NPVVJDRT0iIgotQ09ORklHX0NDX09QVElNSVpFX0ZPUl9TSVpFPXkKKyMgQ09ORklHX0JMS19ERVZfSU5JVFJEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NDX09QVElNSVpFX0ZPUl9TSVpFIGlzIG5vdCBzZXQKIENPTkZJR19TWVNDVEw9eQotQ09ORklHX0VNQkVEREVEPXkKKyMgQ09ORklHX0VNQkVEREVEIGlzIG5vdCBzZXQKIENPTkZJR19VSUQxNj15CiBDT05GSUdfU1lTQ1RMX1NZU0NBTEw9eQogQ09ORklHX0tBTExTWU1TPXkKQEAgLTcxLDQyICs2OCwzNSBAQAogQ09ORklHX0FOT05fSU5PREVTPXkKIENPTkZJR19FUE9MTD15CiBDT05GSUdfU0lHTkFMRkQ9eQotQ09ORklHX1RJTUVSRkQ9eQogQ09ORklHX0VWRU5URkQ9eQogQ09ORklHX1NITUVNPXkKIENPTkZJR19WTV9FVkVOVF9DT1VOVEVSUz15CiBDT05GSUdfU0xBQj15CiAjIENPTkZJR19TTFVCIGlzIG5vdCBzZXQKICMgQ09ORklHX1NMT0IgaXMgbm90IHNldAorQ09ORklHX1NMQUJJTkZPPXkKIENPTkZJR19SVF9NVVRFWEVTPXkKICMgQ09ORklHX1RJTllfU0hNRU0gaXMgbm90IHNldAogQ09ORklHX0JBU0VfU01BTEw9MAotCi0jCi0jIExvYWRhYmxlIG1vZHVsZSBzdXBwb3J0Ci0jCiBDT05GSUdfTU9EVUxFUz15CiBDT05GSUdfTU9EVUxFX1VOTE9BRD15Ci1DT05GSUdfTU9EVUxFX0ZPUkNFX1VOTE9BRD15CisjIENPTkZJR19NT0RVTEVfRk9SQ0VfVU5MT0FEIGlzIG5vdCBzZXQKICMgQ09ORklHX01PRFZFUlNJT05TIGlzIG5vdCBzZXQKICMgQ09ORklHX01PRFVMRV9TUkNWRVJTSU9OX0FMTCBpcyBub3Qgc2V0CiBDT05GSUdfS01PRD15Ci0KLSMKLSMgQmxvY2sgbGF5ZXIKLSMKIENPTkZJR19CTE9DSz15CiAjIENPTkZJR19MQkQgaXMgbm90IHNldAogIyBDT05GSUdfQkxLX0RFVl9JT19UUkFDRSBpcyBub3Qgc2V0CiAjIENPTkZJR19MU0YgaXMgbm90IHNldAorIyBDT05GSUdfQkxLX0RFVl9CU0cgaXMgbm90IHNldAogCiAjCiAjIElPIFNjaGVkdWxlcnMKICMKIENPTkZJR19JT1NDSEVEX05PT1A9eQogQ09ORklHX0lPU0NIRURfQVM9eQotQ09ORklHX0lPU0NIRURfREVBRExJTkU9eQotQ09ORklHX0lPU0NIRURfQ0ZRPXkKKyMgQ09ORklHX0lPU0NIRURfREVBRExJTkUgaXMgbm90IHNldAorIyBDT05GSUdfSU9TQ0hFRF9DRlEgaXMgbm90IHNldAogQ09ORklHX0RFRkFVTFRfQVM9eQogIyBDT05GSUdfREVGQVVMVF9ERUFETElORSBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUZBVUxUX0NGUSBpcyBub3Qgc2V0CkBAIC0xMjAsNyArMTEwLDcgQEAKICMgQ09ORklHX0FSQ0hfSU5URUdSQVRPUiBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1JFQUxWSUVXIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfVkVSU0FUSUxFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0FSQ0hfQVQ5MSBpcyBub3Qgc2V0CitDT05GSUdfQVJDSF9BVDkxPXkKICMgQ09ORklHX0FSQ0hfQ0xQUzc1MDAgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9DTFBTNzExWCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0NPMjg1IGlzIG5vdCBzZXQKQEAgLTEzOSw4ICsxMjksOSBAQAogIyBDT05GSUdfQVJDSF9MNzIwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0tTODY5NSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX05TOVhYWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX01YQyBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1BOWDQwMDggaXMgbm90IHNldAotQ09ORklHX0FSQ0hfUFhBPXkKKyMgQ09ORklHX0FSQ0hfUFhBIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfUlBDIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfU0ExMTAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfUzNDMjQxMCBpcyBub3Qgc2V0CkBAIC0xNTAsMjUgKzE0MSw1OCBAQAogIyBDT05GSUdfQVJDSF9PTUFQIGlzIG5vdCBzZXQKIAogIwotIyBJbnRlbCBQWEEyeHggSW1wbGVtZW50YXRpb25zCisjIEJvb3Qgb3B0aW9ucwogIwotIyBDT05GSUdfQVJDSF9MVUJCT0NLIGlzIG5vdCBzZXQKLSMgQ09ORklHX01BQ0hfTE9HSUNQRF9QWEEyNzAgaXMgbm90IHNldAotIyBDT05GSUdfTUFDSF9NQUlOU1RPTkUgaXMgbm90IHNldAotIyBDT05GSUdfQVJDSF9QWEFfSURQIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BYQV9TSEFSUFNMIGlzIG5vdCBzZXQKLSMgQ09ORklHX01BQ0hfVFJJWkVQUzQgaXMgbm90IHNldAotQ09ORklHX01BQ0hfRU1fWDI3MD15Ci1DT05GSUdfUFhBMjd4PXkKKworIworIyBQb3dlciBtYW5hZ2VtZW50CisjCisKKyMKKyMgQXRtZWwgQVQ5MSBTeXN0ZW0tb24tQ2hpcAorIworIyBDT05GSUdfQVJDSF9BVDkxUk05MjAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfQVQ5MVNBTTkyNjAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9BVDkxU0FNOTI2MSBpcyBub3Qgc2V0CitDT05GSUdfQVJDSF9BVDkxU0FNOTI2Mz15CisjIENPTkZJR19BUkNIX0FUOTFTQU05UkwgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9BVDkxQ0FQOSBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0FUOTFYNDAgaXMgbm90IHNldAorQ09ORklHX0FUOTFfUE1DX1VOSVQ9eQorCisjCisjIEFUOTFTQU05MjYzIEJvYXJkIFR5cGUKKyMKKyMgQ09ORklHX01BQ0hfQVQ5MVNBTTkyNjNFSyBpcyBub3Qgc2V0CitDT05GSUdfTUFDSF9VU0JfQTkyNjM9eQorCisjCisjIEFUOTEgQm9hcmQgT3B0aW9ucworIworCisjCisjIEFUOTEgRmVhdHVyZSBTZWxlY3Rpb25zCisjCisjIENPTkZJR19BVDkxX1BST0dSQU1NQUJMRV9DTE9DS1MgaXMgbm90IHNldAorQ09ORklHX0FUOTFfU0xPV19DTE9DSz15CitDT05GSUdfQVQ5MV9USU1FUl9IWj0xMDAKK0NPTkZJR19BVDkxX0VBUkxZX0RCR1U9eQorIyBDT05GSUdfQVQ5MV9FQVJMWV9VU0FSVDAgaXMgbm90IHNldAorIyBDT05GSUdfQVQ5MV9FQVJMWV9VU0FSVDEgaXMgbm90IHNldAorIyBDT05GSUdfQVQ5MV9FQVJMWV9VU0FSVDIgaXMgbm90IHNldAorIyBDT05GSUdfQVQ5MV9FQVJMWV9VU0FSVDMgaXMgbm90IHNldAorIyBDT05GSUdfQVQ5MV9FQVJMWV9VU0FSVDQgaXMgbm90IHNldAorIyBDT05GSUdfQVQ5MV9FQVJMWV9VU0FSVDUgaXMgbm90IHNldAogCiAjCiAjIFByb2Nlc3NvciBUeXBlCiAjCiBDT05GSUdfQ1BVXzMyPXkKLUNPTkZJR19DUFVfWFNDQUxFPXkKK0NPTkZJR19DUFVfQVJNOTI2VD15CiBDT05GSUdfQ1BVXzMydjU9eQotQ09ORklHX0NQVV9BQlJUX0VWNVQ9eQorQ09ORklHX0NQVV9BQlJUX0VWNVRKPXkKIENPTkZJR19DUFVfQ0FDSEVfVklWVD15CitDT05GSUdfQ1BVX0NPUFlfVjRXQj15CiBDT05GSUdfQ1BVX1RMQl9WNFdCST15CiBDT05GSUdfQ1BVX0NQMTU9eQogQ09ORklHX0NQVV9DUDE1X01NVT15CkBAIC0xNzYsMjggKzIwMCwyOCBAQAogIwogIyBQcm9jZXNzb3IgRmVhdHVyZXMKICMKLUNPTkZJR19BUk1fVEhVTUI9eQorIyBDT05GSUdfQVJNX1RIVU1CIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NQVV9JQ0FDSEVfRElTQUJMRSBpcyBub3Qgc2V0CiAjIENPTkZJR19DUFVfRENBQ0hFX0RJU0FCTEUgaXMgbm90IHNldAorIyBDT05GSUdfQ1BVX0RDQUNIRV9XUklURVRIUk9VR0ggaXMgbm90IHNldAorIyBDT05GSUdfQ1BVX0NBQ0hFX1JPVU5EX1JPQklOIGlzIG5vdCBzZXQKICMgQ09ORklHX09VVEVSX0NBQ0hFIGlzIG5vdCBzZXQKLUNPTkZJR19JV01NWFQ9eQotQ09ORklHX1hTQ0FMRV9QTVU9eQogCiAjCiAjIEJ1cyBzdXBwb3J0CiAjCisjIENPTkZJR19QQ0lfU1lTQ0FMTCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1NVUFBPUlRTX01TSSBpcyBub3Qgc2V0Ci0KLSMKLSMgUENDQVJEIChQQ01DSUEvQ2FyZEJ1cykgc3VwcG9ydAotIwogIyBDT05GSUdfUENDQVJEIGlzIG5vdCBzZXQKIAogIwogIyBLZXJuZWwgRmVhdHVyZXMKICMKICMgQ09ORklHX1RJQ0tfT05FU0hPVCBpcyBub3Qgc2V0CisjIENPTkZJR19OT19IWiBpcyBub3Qgc2V0CisjIENPTkZJR19ISUdIX1JFU19USU1FUlMgaXMgbm90IHNldAorQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFNfQlVJTEQ9eQogIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19IWj0xMDAKIENPTkZJR19BRUFCST15CiBDT05GSUdfT0FCSV9DT01QQVQ9eQpAQCAtMjA5LDkgKzIzMywxMyBAQAogQ09ORklHX0ZMQVRNRU09eQogQ09ORklHX0ZMQVRfTk9ERV9NRU1fTUFQPXkKICMgQ09ORklHX1NQQVJTRU1FTV9TVEFUSUMgaXMgbm90IHNldAorIyBDT05GSUdfU1BBUlNFTUVNX1ZNRU1NQVBfRU5BQkxFIGlzIG5vdCBzZXQKIENPTkZJR19TUExJVF9QVExPQ0tfQ1BVUz00MDk2CiAjIENPTkZJR19SRVNPVVJDRVNfNjRCSVQgaXMgbm90IHNldAogQ09ORklHX1pPTkVfRE1BX0ZMQUc9MQorQ09ORklHX0JPVU5DRT15CitDT05GSUdfVklSVF9UT19CVVM9eQorIyBDT05GSUdfTEVEUyBpcyBub3Qgc2V0CiBDT05GSUdfQUxJR05NRU5UX1RSQVA9eQogCiAjCkBAIC0yMTksNyArMjQ3LDcgQEAKICMKIENPTkZJR19aQk9PVF9ST01fVEVYVD0weDAKIENPTkZJR19aQk9PVF9ST01fQlNTPTB4MAotQ09ORklHX0NNRExJTkU9IiIKK0NPTkZJR19DTURMSU5FPSJtZW09NjRNIGNvbnNvbGU9dHR5UzAsMTE1MjAwIgogIyBDT05GSUdfWElQX0tFUk5FTCBpcyBub3Qgc2V0CiAjIENPTkZJR19LRVhFQyBpcyBub3Qgc2V0CiAKQEAgLTIzMyw2ICsyNjEsNyBAQAogQ09ORklHX0ZQRV9OV0ZQRT15CiAjIENPTkZJR19GUEVfTldGUEVfWFAgaXMgbm90IHNldAogIyBDT05GSUdfRlBFX0ZBU1RGUEUgaXMgbm90IHNldAorIyBDT05GSUdfVkZQIGlzIG5vdCBzZXQKIAogIwogIyBVc2Vyc3BhY2UgYmluYXJ5IGZvcm1hdHMKQEAgLTI0NSwxMCArMjc0LDEyIEBACiAjIFBvd2VyIG1hbmFnZW1lbnQgb3B0aW9ucwogIwogQ09ORklHX1BNPXkKLUNPTkZJR19QTV9MRUdBQ1k9eQorIyBDT05GSUdfUE1fTEVHQUNZIGlzIG5vdCBzZXQKICMgQ09ORklHX1BNX0RFQlVHIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BNX1NZU0ZTX0RFUFJFQ0FURUQgaXMgbm90IHNldAotQ09ORklHX0FQTV9FTVVMQVRJT049bQorQ09ORklHX1BNX1NMRUVQPXkKK0NPTkZJR19TVVNQRU5EX1VQX1BPU1NJQkxFPXkKK0NPTkZJR19TVVNQRU5EPXkKKyMgQ09ORklHX0FQTV9FTVVMQVRJT04gaXMgbm90IHNldAogCiAjCiAjIE5ldHdvcmtpbmcKQEAgLTI2MSwyMSArMjkyLDI1IEBACiBDT05GSUdfUEFDS0VUPXkKICMgQ09ORklHX1BBQ0tFVF9NTUFQIGlzIG5vdCBzZXQKIENPTkZJR19VTklYPXkKLUNPTkZJR19YRlJNPXkKLSMgQ09ORklHX1hGUk1fVVNFUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19YRlJNX1NVQl9QT0xJQ1kgaXMgbm90IHNldAotIyBDT05GSUdfWEZSTV9NSUdSQVRFIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9LRVkgaXMgbm90IHNldAogQ09ORklHX0lORVQ9eQotIyBDT05GSUdfSVBfTVVMVElDQVNUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lQX0FEVkFOQ0VEX1JPVVRFUiBpcyBub3Qgc2V0CitDT05GSUdfSVBfTVVMVElDQVNUPXkKK0NPTkZJR19JUF9BRFZBTkNFRF9ST1VURVI9eQorQ09ORklHX0FTS19JUF9GSUJfSEFTSD15CisjIENPTkZJR19JUF9GSUJfVFJJRSBpcyBub3Qgc2V0CiBDT05GSUdfSVBfRklCX0hBU0g9eQorIyBDT05GSUdfSVBfTVVMVElQTEVfVEFCTEVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQX1JPVVRFX01VTFRJUEFUSCBpcyBub3Qgc2V0CitDT05GSUdfSVBfUk9VVEVfVkVSQk9TRT15CiBDT05GSUdfSVBfUE5QPXkKLUNPTkZJR19JUF9QTlBfREhDUD15CisjIENPTkZJR19JUF9QTlBfREhDUCBpcyBub3Qgc2V0CiBDT05GSUdfSVBfUE5QX0JPT1RQPXkKLSMgQ09ORklHX0lQX1BOUF9SQVJQIGlzIG5vdCBzZXQKK0NPTkZJR19JUF9QTlBfUkFSUD15CiAjIENPTkZJR19ORVRfSVBJUCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfSVBHUkUgaXMgbm90IHNldAorQ09ORklHX0lQX01ST1VURT15CitDT05GSUdfSVBfUElNU01fVjE9eQorQ09ORklHX0lQX1BJTVNNX1YyPXkKICMgQ09ORklHX0FSUEQgaXMgbm90IHNldAogIyBDT05GSUdfU1lOX0NPT0tJRVMgaXMgbm90IHNldAogIyBDT05GSUdfSU5FVF9BSCBpcyBub3Qgc2V0CkBAIC0yODMsMTEgKzMxOCwxMSBAQAogIyBDT05GSUdfSU5FVF9JUENPTVAgaXMgbm90IHNldAogIyBDT05GSUdfSU5FVF9YRlJNX1RVTk5FTCBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkVUX1RVTk5FTCBpcyBub3Qgc2V0Ci1DT05GSUdfSU5FVF9YRlJNX01PREVfVFJBTlNQT1JUPXkKLUNPTkZJR19JTkVUX1hGUk1fTU9ERV9UVU5ORUw9eQotQ09ORklHX0lORVRfWEZSTV9NT0RFX0JFRVQ9eQotQ09ORklHX0lORVRfRElBRz15Ci1DT05GSUdfSU5FVF9UQ1BfRElBRz15CisjIENPTkZJR19JTkVUX1hGUk1fTU9ERV9UUkFOU1BPUlQgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9YRlJNX01PREVfVFVOTkVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfWEZSTV9NT0RFX0JFRVQgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9MUk8gaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9ESUFHIGlzIG5vdCBzZXQKICMgQ09ORklHX1RDUF9DT05HX0FEVkFOQ0VEIGlzIG5vdCBzZXQKIENPTkZJR19UQ1BfQ09OR19DVUJJQz15CiBDT05GSUdfREVGQVVMVF9UQ1BfQ09ORz0iY3ViaWMiCkBAIC0zMTEsMTAgKzM0Niw2IEBACiAjIENPTkZJR19MQVBCIGlzIG5vdCBzZXQKICMgQ09ORklHX0VDT05FVCBpcyBub3Qgc2V0CiAjIENPTkZJR19XQU5fUk9VVEVSIGlzIG5vdCBzZXQKLQotIwotIyBRb1MgYW5kL29yIGZhaXIgcXVldWVpbmcKLSMKICMgQ09ORklHX05FVF9TQ0hFRCBpcyBub3Qgc2V0CiAKICMKQEAgLTMyMywyOCArMzU0LDcgQEAKICMgQ09ORklHX05FVF9QS1RHRU4gaXMgbm90IHNldAogIyBDT05GSUdfSEFNUkFESU8gaXMgbm90IHNldAogIyBDT05GSUdfSVJEQSBpcyBub3Qgc2V0Ci1DT05GSUdfQlQ9bQotQ09ORklHX0JUX0wyQ0FQPW0KLUNPTkZJR19CVF9TQ089bQotQ09ORklHX0JUX1JGQ09NTT1tCi0jIENPTkZJR19CVF9SRkNPTU1fVFRZIGlzIG5vdCBzZXQKLUNPTkZJR19CVF9CTkVQPW0KLSMgQ09ORklHX0JUX0JORVBfTUNfRklMVEVSIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JUX0JORVBfUFJPVE9fRklMVEVSIGlzIG5vdCBzZXQKLUNPTkZJR19CVF9ISURQPW0KLQotIwotIyBCbHVldG9vdGggZGV2aWNlIGRyaXZlcnMKLSMKLUNPTkZJR19CVF9IQ0lVU0I9bQotIyBDT05GSUdfQlRfSENJVVNCX1NDTyBpcyBub3Qgc2V0Ci1DT05GSUdfQlRfSENJVUFSVD1tCi0jIENPTkZJR19CVF9IQ0lVQVJUX0g0IGlzIG5vdCBzZXQKLSMgQ09ORklHX0JUX0hDSVVBUlRfQkNTUCBpcyBub3Qgc2V0Ci1DT05GSUdfQlRfSENJQkNNMjAzWD1tCi1DT05GSUdfQlRfSENJQlBBMTBYPW0KLUNPTkZJR19CVF9IQ0lCRlVTQj1tCi0jIENPTkZJR19CVF9IQ0lWSENJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JUIGlzIG5vdCBzZXQKICMgQ09ORklHX0FGX1JYUlBDIGlzIG5vdCBzZXQKIAogIwpAQCAtMzUzLDEzICszNjMsOSBAQAogIyBDT05GSUdfQ0ZHODAyMTEgaXMgbm90IHNldAogIyBDT05GSUdfV0lSRUxFU1NfRVhUIGlzIG5vdCBzZXQKICMgQ09ORklHX01BQzgwMjExIGlzIG5vdCBzZXQKLUNPTkZJR19JRUVFODAyMTE9bQotIyBDT05GSUdfSUVFRTgwMjExX0RFQlVHIGlzIG5vdCBzZXQKLUNPTkZJR19JRUVFODAyMTFfQ1JZUFRfV0VQPW0KLUNPTkZJR19JRUVFODAyMTFfQ1JZUFRfQ0NNUD1tCi0jIENPTkZJR19JRUVFODAyMTFfQ1JZUFRfVEtJUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JRUVFODAyMTFfU09GVE1BQyBpcyBub3Qgc2V0CisjIENPTkZJR19JRUVFODAyMTEgaXMgbm90IHNldAogIyBDT05GSUdfUkZLSUxMIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF85UCBpcyBub3Qgc2V0CiAKICMKICMgRGV2aWNlIERyaXZlcnMKQEAgLTM2OCwyMyArMzc0LDIwIEBACiAjCiAjIEdlbmVyaWMgRHJpdmVyIE9wdGlvbnMKICMKK0NPTkZJR19VRVZFTlRfSEVMUEVSX1BBVEg9Ii9zYmluL2hvdHBsdWciCiBDT05GSUdfU1RBTkRBTE9ORT15CiBDT05GSUdfUFJFVkVOVF9GSVJNV0FSRV9CVUlMRD15Ci1DT05GSUdfRldfTE9BREVSPXkKKyMgQ09ORklHX0ZXX0xPQURFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19EUklWRVIgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfREVWUkVTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NZU19IWVBFUlZJU09SIGlzIG5vdCBzZXQKLQotIwotIyBDb25uZWN0b3IgLSB1bmlmaWVkIHVzZXJzcGFjZSA8LT4ga2VybmVsc3BhY2UgbGlua2VyCi0jCiAjIENPTkZJR19DT05ORUNUT1IgaXMgbm90IHNldAogQ09ORklHX01URD15CiAjIENPTkZJR19NVERfREVCVUcgaXMgbm90IHNldAotQ09ORklHX01URF9DT05DQVQ9eQorIyBDT05GSUdfTVREX0NPTkNBVCBpcyBub3Qgc2V0CiBDT05GSUdfTVREX1BBUlRJVElPTlM9eQogIyBDT05GSUdfTVREX1JFREJPT1RfUEFSVFMgaXMgbm90IHNldAotIyBDT05GSUdfTVREX0NNRExJTkVfUEFSVFMgaXMgbm90IHNldAorQ09ORklHX01URF9DTURMSU5FX1BBUlRTPXkKICMgQ09ORklHX01URF9BRlNfUEFSVFMgaXMgbm90IHNldAogCiAjCkBAIC0zOTgsMTUgKzQwMSwxMyBAQAogIyBDT05GSUdfSU5GVEwgaXMgbm90IHNldAogIyBDT05GSUdfUkZEX0ZUTCBpcyBub3Qgc2V0CiAjIENPTkZJR19TU0ZEQyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfT09QUyBpcyBub3Qgc2V0CiAKICMKICMgUkFNL1JPTS9GbGFzaCBjaGlwIGRyaXZlcnMKICMKICMgQ09ORklHX01URF9DRkkgaXMgbm90IHNldAogIyBDT05GSUdfTVREX0pFREVDUFJPQkUgaXMgbm90IHNldAotIyBDT05GSUdfTVREX0NGSV9OT1NXQVAgaXMgbm90IHNldAotIyBDT05GSUdfTVREX0NGSV9CRV9CWVRFX1NXQVAgaXMgbm90IHNldAotIyBDT05GSUdfTVREX0NGSV9MRV9CWVRFX1NXQVAgaXMgbm90IHNldAogQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8xPXkKIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMj15CiBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzQ9eQpAQCAtNDI1LDEyICs0MjYsMTMgQEAKICMgTWFwcGluZyBkcml2ZXJzIGZvciBjaGlwIGFjY2VzcwogIwogIyBDT05GSUdfTVREX0NPTVBMRVhfTUFQUElOR1MgaXMgbm90IHNldAotIyBDT05GSUdfTVREX1NIQVJQX1NMIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9QTEFUUkFNIGlzIG5vdCBzZXQKIAogIwogIyBTZWxmLWNvbnRhaW5lZCBNVEQgZGV2aWNlIGRyaXZlcnMKICMKK0NPTkZJR19NVERfREFUQUZMQVNIPXkKKyMgQ09ORklHX01URF9NMjVQODAgaXMgbm90IHNldAogIyBDT05GSUdfTVREX1NMUkFNIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9QSFJBTSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTVREUkFNIGlzIG5vdCBzZXQKQEAgLTQ0Niw1MyArNDQ4LDQyIEBACiAjIENPTkZJR19NVERfTkFORF9WRVJJRllfV1JJVEUgaXMgbm90IHNldAogIyBDT05GSUdfTVREX05BTkRfRUNDX1NNQyBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTkFORF9NVVNFVU1fSURTIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9OQU5EX0gxOTAwIGlzIG5vdCBzZXQKIENPTkZJR19NVERfTkFORF9JRFM9eQogIyBDT05GSUdfTVREX05BTkRfRElTS09OQ0hJUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfTkFORF9TSEFSUFNMIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfTkFORF9BVDkxPXkKK0NPTkZJR19NVERfTkFORF9BVDkxX0VDQ19TT0ZUPXkKKyMgQ09ORklHX01URF9OQU5EX0FUOTFfRUNDX0hXIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9OQU5EX0FUOTFfRUNDX05PTkUgaXMgbm90IHNldAogIyBDT05GSUdfTVREX05BTkRfTkFORFNJTSBpcyBub3Qgc2V0Ci1DT05GSUdfTVREX05BTkRfUExBVEZPUk09eQorIyBDT05GSUdfTVREX05BTkRfUExBVEZPUk0gaXMgbm90IHNldAorIyBDT05GSUdfTVREX0FMQVVEQSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfT05FTkFORCBpcyBub3Qgc2V0CiAKICMKICMgVUJJIC0gVW5zb3J0ZWQgYmxvY2sgaW1hZ2VzCiAjCiAjIENPTkZJR19NVERfVUJJIGlzIG5vdCBzZXQKLQotIwotIyBQYXJhbGxlbCBwb3J0IHN1cHBvcnQKLSMKICMgQ09ORklHX1BBUlBPUlQgaXMgbm90IHNldAotCi0jCi0jIFBsdWcgYW5kIFBsYXkgc3VwcG9ydAotIwotIyBDT05GSUdfUE5QQUNQSSBpcyBub3Qgc2V0Ci0KLSMKLSMgQmxvY2sgZGV2aWNlcwotIworQ09ORklHX0JMS19ERVY9eQogIyBDT05GSUdfQkxLX0RFVl9DT1dfQ09NTU9OIGlzIG5vdCBzZXQKIENPTkZJR19CTEtfREVWX0xPT1A9eQogIyBDT05GSUdfQkxLX0RFVl9DUllQVE9MT09QIGlzIG5vdCBzZXQKICMgQ09ORklHX0JMS19ERVZfTkJEIGlzIG5vdCBzZXQKICMgQ09ORklHX0JMS19ERVZfVUIgaXMgbm90IHNldAotQ09ORklHX0JMS19ERVZfUkFNPXkKLUNPTkZJR19CTEtfREVWX1JBTV9DT1VOVD0xNgotQ09ORklHX0JMS19ERVZfUkFNX1NJWkU9MTIwMDAKLUNPTkZJR19CTEtfREVWX1JBTV9CTE9DS1NJWkU9MTAyNAorIyBDT05GSUdfQkxLX0RFVl9SQU0gaXMgbm90IHNldAogIyBDT05GSUdfQ0RST01fUEtUQ0RWRCBpcyBub3Qgc2V0CiAjIENPTkZJR19BVEFfT1ZFUl9FVEggaXMgbm90IHNldAotIyBDT05GSUdfSURFIGlzIG5vdCBzZXQKKyMgQ09ORklHX01JU0NfREVWSUNFUyBpcyBub3Qgc2V0CiAKICMKICMgU0NTSSBkZXZpY2Ugc3VwcG9ydAogIwogIyBDT05GSUdfUkFJRF9BVFRSUyBpcyBub3Qgc2V0CiBDT05GSUdfU0NTST15CitDT05GSUdfU0NTSV9ETUE9eQogIyBDT05GSUdfU0NTSV9UR1QgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9ORVRMSU5LIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfUFJPQ19GUyBpcyBub3Qgc2V0CitDT05GSUdfU0NTSV9QUk9DX0ZTPXkKIAogIwogIyBTQ1NJIHN1cHBvcnQgdHlwZSAoZGlzaywgdGFwZSwgQ0QtUk9NKQpAQCAtNTA3LDcgKzQ5OCw3IEBACiAjCiAjIFNvbWUgU0NTSSBkZXZpY2VzIChlLmcuIENEIGp1a2Vib3gpIHN1cHBvcnQgbXVsdGlwbGUgTFVOcwogIwotIyBDT05GSUdfU0NTSV9NVUxUSV9MVU4gaXMgbm90IHNldAorQ09ORklHX1NDU0lfTVVMVElfTFVOPXkKICMgQ09ORklHX1NDU0lfQ09OU1RBTlRTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfTE9HR0lORyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1NDQU5fQVNZTkMgaXMgbm90IHNldApAQCAtNTE5LDQxICs1MTAsNTAgQEAKICMgQ09ORklHX1NDU0lfU1BJX0FUVFJTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfRkNfQVRUUlMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9JU0NTSV9BVFRSUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX1NBU19BVFRSUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1NBU19MSUJTQVMgaXMgbm90IHNldAotCi0jCi0jIFNDU0kgbG93LWxldmVsIGRyaXZlcnMKLSMKKyMgQ09ORklHX1NDU0lfU1JQX0FUVFJTIGlzIG5vdCBzZXQKK0NPTkZJR19TQ1NJX0xPV0xFVkVMPXkKICMgQ09ORklHX0lTQ1NJX1RDUCBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0RFQlVHIGlzIG5vdCBzZXQKICMgQ09ORklHX0FUQSBpcyBub3Qgc2V0Ci0KLSMKLSMgTXVsdGktZGV2aWNlIHN1cHBvcnQgKFJBSUQgYW5kIExWTSkKLSMKICMgQ09ORklHX01EIGlzIG5vdCBzZXQKLQotIwotIyBOZXR3b3JrIGRldmljZSBzdXBwb3J0Ci0jCiBDT05GSUdfTkVUREVWSUNFUz15CisjIENPTkZJR19ORVRERVZJQ0VTX01VTFRJUVVFVUUgaXMgbm90IHNldAogIyBDT05GSUdfRFVNTVkgaXMgbm90IHNldAogIyBDT05GSUdfQk9ORElORyBpcyBub3Qgc2V0CisjIENPTkZJR19NQUNWTEFOIGlzIG5vdCBzZXQKICMgQ09ORklHX0VRVUFMSVpFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19UVU4gaXMgbm90IHNldAotIyBDT05GSUdfUEhZTElCIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZFVEggaXMgbm90IHNldAorQ09ORklHX1BIWUxJQj15CiAKICMKLSMgRXRoZXJuZXQgKDEwIG9yIDEwME1iaXQpCisjIE1JSSBQSFkgZGV2aWNlIGRyaXZlcnMKICMKKyMgQ09ORklHX01BUlZFTExfUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RBVklDT01fUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1FTRU1JX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19MWFRfUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NJQ0FEQV9QSFkgaXMgbm90IHNldAorIyBDT05GSUdfVklURVNTRV9QSFkgaXMgbm90IHNldAorIyBDT05GSUdfU01TQ19QSFkgaXMgbm90IHNldAorIyBDT05GSUdfQlJPQURDT01fUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lDUExVU19QSFkgaXMgbm90IHNldAorIyBDT05GSUdfRklYRURfUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX01ESU9fQklUQkFORyBpcyBub3Qgc2V0CiBDT05GSUdfTkVUX0VUSEVSTkVUPXkKIENPTkZJR19NSUk9eQorQ09ORklHX01BQ0I9eQorIyBDT05GSUdfQVg4ODc5NiBpcyBub3Qgc2V0CiAjIENPTkZJR19TTUM5MVggaXMgbm90IHNldAotQ09ORklHX0RNOTAwMD15Ci0jIENPTkZJR19TTUM5MTFYIGlzIG5vdCBzZXQKLSMgQ09ORklHX05FVERFVl8xMDAwIGlzIG5vdCBzZXQKLSMgQ09ORklHX05FVERFVl8xMDAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19ETTkwMDAgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1pNSUkgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1JHTUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19UQUggaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX0VNQUM0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0I0NCBpcyBub3Qgc2V0CitDT05GSUdfTkVUREVWXzEwMDA9eQorQ09ORklHX05FVERFVl8xMDAwMD15CiAKICMKICMgV2lyZWxlc3MgTEFOCkBAIC01NjgsNyArNTY4LDYgQEAKICMgQ09ORklHX1VTQl9LQVdFVEggaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1BFR0FTVVMgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1JUTDgxNTAgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1VTQk5FVF9NSUkgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1VTQk5FVCBpcyBub3Qgc2V0CiAjIENPTkZJR19XQU4gaXMgbm90IHNldAogIyBDT05GSUdfUFBQIGlzIG5vdCBzZXQKQEAgLTU3NywxMCArNTc2LDYgQEAKICMgQ09ORklHX05FVENPTlNPTEUgaXMgbm90IHNldAogIyBDT05GSUdfTkVUUE9MTCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfUE9MTF9DT05UUk9MTEVSIGlzIG5vdCBzZXQKLQotIwotIyBJU0ROIHN1YnN5c3RlbQotIwogIyBDT05GSUdfSVNETiBpcyBub3Qgc2V0CiAKICMKQEAgLTU5OCw5ICs1OTMsOCBAQAogQ09ORklHX0lOUFVUX01PVVNFREVWX1NDUkVFTl9YPTEwMjQKIENPTkZJR19JTlBVVF9NT1VTRURFVl9TQ1JFRU5fWT03NjgKICMgQ09ORklHX0lOUFVUX0pPWURFViBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTlBVVF9UU0RFViBpcyBub3Qgc2V0CiBDT05GSUdfSU5QVVRfRVZERVY9eQotIyBDT05GSUdfSU5QVVRfRVZCVUcgaXMgbm90IHNldAorQ09ORklHX0lOUFVUX0VWQlVHPXkKIAogIwogIyBJbnB1dCBEZXZpY2UgRHJpdmVycwpAQCAtNjEyLDMwICs2MDYsMTcgQEAKICMgQ09ORklHX0tFWUJPQVJEX1hUS0JEIGlzIG5vdCBzZXQKICMgQ09ORklHX0tFWUJPQVJEX05FV1RPTiBpcyBub3Qgc2V0CiAjIENPTkZJR19LRVlCT0FSRF9TVE9XQVdBWSBpcyBub3Qgc2V0Ci1DT05GSUdfS0VZQk9BUkRfUFhBMjd4PW0KLSMgQ09ORklHX0tFWUJPQVJEX0dQSU8gaXMgbm90IHNldAorQ09ORklHX0tFWUJPQVJEX0dQSU89eQogIyBDT05GSUdfSU5QVVRfTU9VU0UgaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfSk9ZU1RJQ0sgaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfVEFCTEVUIGlzIG5vdCBzZXQKLUNPTkZJR19JTlBVVF9UT1VDSFNDUkVFTj15Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9HVU5aRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9FTE8gaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fTVRPVUNIIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX01LNzEyIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX1BFTk1PVU5UIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX1RPVUNIUklHSFQgaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVE9VQ0hXSU4gaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVUNCMTQwMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9VU0JfQ09NUE9TSVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX1RPVUNIU0NSRUVOIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX01JU0MgaXMgbm90IHNldAogCiAjCiAjIEhhcmR3YXJlIEkvTyBwb3J0cwogIwotQ09ORklHX1NFUklPPXkKLSMgQ09ORklHX1NFUklPX1NFUlBPUlQgaXMgbm90IHNldAotQ09ORklHX1NFUklPX0xJQlBTMj15Ci0jIENPTkZJR19TRVJJT19SQVcgaXMgbm90IHNldAorIyBDT05GSUdfU0VSSU8gaXMgbm90IHNldAogIyBDT05GSUdfR0FNRVBPUlQgaXMgbm90IHNldAogCiAjCkBAIC02NTUsNDUgKzYzNiw1MSBAQAogIwogIyBOb24tODI1MCBzZXJpYWwgcG9ydCBzdXBwb3J0CiAjCi1DT05GSUdfU0VSSUFMX1BYQT15Ci1DT05GSUdfU0VSSUFMX1BYQV9DT05TT0xFPXkKK0NPTkZJR19TRVJJQUxfQVRNRUw9eQorQ09ORklHX1NFUklBTF9BVE1FTF9DT05TT0xFPXkKKyMgQ09ORklHX1NFUklBTF9BVE1FTF9UVFlBVCBpcyBub3Qgc2V0CiBDT05GSUdfU0VSSUFMX0NPUkU9eQogQ09ORklHX1NFUklBTF9DT1JFX0NPTlNPTEU9eQogQ09ORklHX1VOSVg5OF9QVFlTPXkKIENPTkZJR19MRUdBQ1lfUFRZUz15CiBDT05GSUdfTEVHQUNZX1BUWV9DT1VOVD0yNTYKLQotIwotIyBJUE1JCi0jCiAjIENPTkZJR19JUE1JX0hBTkRMRVIgaXMgbm90IHNldAotIyBDT05GSUdfV0FUQ0hET0cgaXMgbm90IHNldAotQ09ORklHX0hXX1JBTkRPTT1tCitDT05GSUdfSFdfUkFORE9NPXkKICMgQ09ORklHX05WUkFNIGlzIG5vdCBzZXQKICMgQ09ORklHX1IzOTY0IGlzIG5vdCBzZXQKICMgQ09ORklHX1JBV19EUklWRVIgaXMgbm90IHNldAotCi0jCi0jIFRQTSBkZXZpY2VzCi0jCiAjIENPTkZJR19UQ0dfVFBNIGlzIG5vdCBzZXQKICMgQ09ORklHX0kyQyBpcyBub3Qgc2V0CiAKICMKICMgU1BJIHN1cHBvcnQKICMKLSMgQ09ORklHX1NQSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TUElfTUFTVEVSIGlzIG5vdCBzZXQKK0NPTkZJR19TUEk9eQorIyBDT05GSUdfU1BJX0RFQlVHIGlzIG5vdCBzZXQKK0NPTkZJR19TUElfTUFTVEVSPXkKIAogIwotIyBEYWxsYXMncyAxLXdpcmUgYnVzCisjIFNQSSBNYXN0ZXIgQ29udHJvbGxlciBEcml2ZXJzCiAjCitDT05GSUdfU1BJX0FUTUVMPXkKKyMgQ09ORklHX1NQSV9CSVRCQU5HIGlzIG5vdCBzZXQKKworIworIyBTUEkgUHJvdG9jb2wgTWFzdGVycworIworIyBDT05GSUdfU1BJX0FUMjUgaXMgbm90IHNldAorIyBDT05GSUdfU1BJX1NQSURFViBpcyBub3Qgc2V0CisjIENPTkZJR19TUElfVExFNjJYMCBpcyBub3Qgc2V0CiAjIENPTkZJR19XMSBpcyBub3Qgc2V0CisjIENPTkZJR19QT1dFUl9TVVBQTFkgaXMgbm90IHNldAogIyBDT05GSUdfSFdNT04gaXMgbm90IHNldAorIyBDT05GSUdfV0FUQ0hET0cgaXMgbm90IHNldAogCiAjCi0jIE1pc2MgZGV2aWNlcworIyBTb25pY3MgU2lsaWNvbiBCYWNrcGxhbmUKICMKK0NPTkZJR19TU0JfUE9TU0lCTEU9eQorIyBDT05GSUdfU1NCIGlzIG5vdCBzZXQKIAogIwogIyBNdWx0aWZ1bmN0aW9uIGRldmljZSBkcml2ZXJzCkBAIC03MDEsMTkgKzY4OCw2IEBACiAjIENPTkZJR19NRkRfU001MDEgaXMgbm90IHNldAogCiAjCi0jIExFRCBkZXZpY2VzCi0jCi0jIENPTkZJR19ORVdfTEVEUyBpcyBub3Qgc2V0Ci0KLSMKLSMgTEVEIGRyaXZlcnMKLSMKLQotIwotIyBMRUQgVHJpZ2dlcnMKLSMKLQotIwogIyBNdWx0aW1lZGlhIGRldmljZXMKICMKICMgQ09ORklHX1ZJREVPX0RFViBpcyBub3Qgc2V0CkBAIC03MjMsMTI1ICs2OTcsNDIgQEAKICMKICMgR3JhcGhpY3Mgc3VwcG9ydAogIworIyBDT05GSUdfVkdBU1RBVEUgaXMgbm90IHNldAorIyBDT05GSUdfVklERU9fT1VUUFVUX0NPTlRST0wgaXMgbm90IHNldAorIyBDT05GSUdfRkIgaXMgbm90IHNldAogIyBDT05GSUdfQkFDS0xJR0hUX0xDRF9TVVBQT1JUIGlzIG5vdCBzZXQKIAogIwogIyBEaXNwbGF5IGRldmljZSBzdXBwb3J0CiAjCiAjIENPTkZJR19ESVNQTEFZX1NVUFBPUlQgaXMgbm90IHNldAotIyBDT05GSUdfVkdBU1RBVEUgaXMgbm90IHNldAotQ09ORklHX0ZCPXkKLSMgQ09ORklHX0ZJUk1XQVJFX0VESUQgaXMgbm90IHNldAotIyBDT05GSUdfRkJfRERDIGlzIG5vdCBzZXQKLUNPTkZJR19GQl9DRkJfRklMTFJFQ1Q9eQotQ09ORklHX0ZCX0NGQl9DT1BZQVJFQT15Ci1DT05GSUdfRkJfQ0ZCX0lNQUdFQkxJVD15Ci0jIENPTkZJR19GQl9TWVNfRklMTFJFQ1QgaXMgbm90IHNldAotIyBDT05GSUdfRkJfU1lTX0NPUFlBUkVBIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1NZU19JTUFHRUJMSVQgaXMgbm90IHNldAotIyBDT05GSUdfRkJfU1lTX0ZPUFMgaXMgbm90IHNldAotQ09ORklHX0ZCX0RFRkVSUkVEX0lPPXkKLSMgQ09ORklHX0ZCX1NWR0FMSUIgaXMgbm90IHNldAotIyBDT05GSUdfRkJfTUFDTU9ERVMgaXMgbm90IHNldAotIyBDT05GSUdfRkJfQkFDS0xJR0hUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX01PREVfSEVMUEVSUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9USUxFQkxJVFRJTkcgaXMgbm90IHNldAotCi0jCi0jIEZyYW1lIGJ1ZmZlciBoYXJkd2FyZSBkcml2ZXJzCi0jCi0jIENPTkZJR19GQl9TMUQxM1hYWCBpcyBub3Qgc2V0Ci1DT05GSUdfRkJfUFhBPXkKLSMgQ09ORklHX0ZCX1BYQV9QQVJBTUVURVJTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX01CWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9WSVJUVUFMIGlzIG5vdCBzZXQKIAogIwogIyBDb25zb2xlIGRpc3BsYXkgZHJpdmVyIHN1cHBvcnQKICMKICMgQ09ORklHX1ZHQV9DT05TT0xFIGlzIG5vdCBzZXQKIENPTkZJR19EVU1NWV9DT05TT0xFPXkKLUNPTkZJR19GUkFNRUJVRkZFUl9DT05TT0xFPXkKLSMgQ09ORklHX0ZSQU1FQlVGRkVSX0NPTlNPTEVfUk9UQVRJT04gaXMgbm90IHNldAotIyBDT05GSUdfRk9OVFMgaXMgbm90IHNldAotQ09ORklHX0ZPTlRfOHg4PXkKLUNPTkZJR19GT05UXzh4MTY9eQotQ09ORklHX0xPR089eQotQ09ORklHX0xPR09fTElOVVhfTU9OTz15Ci1DT05GSUdfTE9HT19MSU5VWF9WR0ExNj15Ci1DT05GSUdfTE9HT19MSU5VWF9DTFVUMjI0PXkKIAogIwogIyBTb3VuZAogIwotQ09ORklHX1NPVU5EPW0KLQotIwotIyBBZHZhbmNlZCBMaW51eCBTb3VuZCBBcmNoaXRlY3R1cmUKLSMKLUNPTkZJR19TTkQ9bQotQ09ORklHX1NORF9USU1FUj1tCi1DT05GSUdfU05EX1BDTT1tCi0jIENPTkZJR19TTkRfU0VRVUVOQ0VSIGlzIG5vdCBzZXQKLUNPTkZJR19TTkRfT1NTRU1VTD15Ci1DT05GSUdfU05EX01JWEVSX09TUz1tCi1DT05GSUdfU05EX1BDTV9PU1M9bQotQ09ORklHX1NORF9QQ01fT1NTX1BMVUdJTlM9eQotIyBDT05GSUdfU05EX0RZTkFNSUNfTUlOT1JTIGlzIG5vdCBzZXQKLUNPTkZJR19TTkRfU1VQUE9SVF9PTERfQVBJPXkKLUNPTkZJR19TTkRfVkVSQk9TRV9QUk9DRlM9eQotIyBDT05GSUdfU05EX1ZFUkJPU0VfUFJJTlRLIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9ERUJVRyBpcyBub3Qgc2V0Ci0KLSMKLSMgR2VuZXJpYyBkZXZpY2VzCi0jCi1DT05GSUdfU05EX0FDOTdfQ09ERUM9bQotIyBDT05GSUdfU05EX0RVTU1ZIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9NVFBBViBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfU0VSSUFMX1UxNjU1MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfTVBVNDAxIGlzIG5vdCBzZXQKLQotIwotIyBBTFNBIEFSTSBkZXZpY2VzCi0jCi1DT05GSUdfU05EX1BYQTJYWF9QQ009bQotQ09ORklHX1NORF9QWEEyWFhfQUM5Nz1tCi0KLSMKLSMgVVNCIGRldmljZXMKLSMKLSMgQ09ORklHX1NORF9VU0JfQVVESU8gaXMgbm90IHNldAotIyBDT05GSUdfU05EX1VTQl9DQUlBUSBpcyBub3Qgc2V0Ci0KLSMKLSMgU3lzdGVtIG9uIENoaXAgYXVkaW8gc3VwcG9ydAotIwotIyBDT05GSUdfU05EX1NPQyBpcyBub3Qgc2V0Ci0KLSMKLSMgT3BlbiBTb3VuZCBTeXN0ZW0KLSMKLSMgQ09ORklHX1NPVU5EX1BSSU1FIGlzIG5vdCBzZXQKLUNPTkZJR19BQzk3X0JVUz1tCi0KLSMKLSMgSElEIERldmljZXMKLSMKKyMgQ09ORklHX1NPVU5EIGlzIG5vdCBzZXQKK0NPTkZJR19ISURfU1VQUE9SVD15CiBDT05GSUdfSElEPXkKICMgQ09ORklHX0hJRF9ERUJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19ISURSQVcgaXMgbm90IHNldAogCiAjCiAjIFVTQiBJbnB1dCBEZXZpY2VzCiAjCi1DT05GSUdfVVNCX0hJRD15Ci0jIENPTkZJR19VU0JfSElESU5QVVRfUE9XRVJCT09LIGlzIG5vdCBzZXQKLSMgQ09ORklHX0hJRF9GRiBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfSElEREVWIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9ISUQgaXMgbm90IHNldAogCiAjCi0jIFVTQiBzdXBwb3J0CisjIFVTQiBISUQgQm9vdCBQcm90b2NvbCBkcml2ZXJzCiAjCisjIENPTkZJR19VU0JfS0JEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9NT1VTRSBpcyBub3Qgc2V0CitDT05GSUdfVVNCX1NVUFBPUlQ9eQogQ09ORklHX1VTQl9BUkNIX0hBU19IQ0Q9eQogQ09ORklHX1VTQl9BUkNIX0hBU19PSENJPXkKICMgQ09ORklHX1VTQl9BUkNIX0hBU19FSENJIGlzIG5vdCBzZXQKQEAgLTg1Miw5ICs3NDMsMTAgQEAKICMgTWlzY2VsbGFuZW91cyBVU0Igb3B0aW9ucwogIwogQ09ORklHX1VTQl9ERVZJQ0VGUz15Ci0jIENPTkZJR19VU0JfREVWSUNFX0NMQVNTIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfREVWSUNFX0NMQVNTPXkKICMgQ09ORklHX1VTQl9EWU5BTUlDX01JTk9SUyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1VTUEVORCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfUEVSU0lTVCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfT1RHIGlzIG5vdCBzZXQKIAogIwpAQCAtODY2LDYgKzc1OCw3IEBACiAjIENPTkZJR19VU0JfT0hDSV9CSUdfRU5ESUFOX01NSU8gaXMgbm90IHNldAogQ09ORklHX1VTQl9PSENJX0xJVFRMRV9FTkRJQU49eQogIyBDT05GSUdfVVNCX1NMODExX0hDRCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfUjhBNjY1OTdfSENEIGlzIG5vdCBzZXQKIAogIwogIyBVU0IgRGV2aWNlIENsYXNzIGRyaXZlcnMKQEAgLTg4NCw2ICs3NzcsNyBAQAogIyBDT05GSUdfVVNCX1NUT1JBR0VfREVCVUcgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfREFUQUZBQiBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9GUkVFQ09NIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVE9SQUdFX0lTRDIwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9EUENNIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX1VTQkFUIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX1NERFIwOSBpcyBub3Qgc2V0CkBAIC04OTgsNyArNzkyLDcgQEAKICMKICMgQ09ORklHX1VTQl9NREM4MDAgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX01JQ1JPVEVLIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9NT04gaXMgbm90IHNldAorQ09ORklHX1VTQl9NT049eQogCiAjCiAjIFVTQiBwb3J0IGRyaXZlcnMKQEAgLTkzOSw1NyArODMzLDQ4IEBACiAjCiAjIFVTQiBHYWRnZXQgU3VwcG9ydAogIwotIyBDT05GSUdfVVNCX0dBREdFVCBpcyBub3Qgc2V0Ci1DT05GSUdfTU1DPW0KLSMgQ09ORklHX01NQ19ERUJVRyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NTUNfVU5TQUZFX1JFU1VNRSBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0dBREdFVD15CisjIENPTkZJR19VU0JfR0FER0VUX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfREVCVUdfRklMRVMgaXMgbm90IHNldAorQ09ORklHX1VTQl9HQURHRVRfU0VMRUNURUQ9eQorIyBDT05GSUdfVVNCX0dBREdFVF9BTUQ1NTM2VURDIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfQVRNRUxfVVNCQSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX0ZTTF9VU0IyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfTkVUMjI4MCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX1BYQTJYWCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX002NjU5MiBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX0dPS1UgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9MSDdBNDBYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfT01BUCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX1MzQzI0MTAgaXMgbm90IHNldAorQ09ORklHX1VTQl9HQURHRVRfQVQ5MT15CitDT05GSUdfVVNCX0FUOTE9eQorIyBDT05GSUdfVVNCX0dBREdFVF9EVU1NWV9IQ0QgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9EVUFMU1BFRUQgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1pFUk8gaXMgbm90IHNldAorQ09ORklHX1VTQl9FVEg9eQorQ09ORklHX1VTQl9FVEhfUk5ESVM9eQorIyBDT05GSUdfVVNCX0dBREdFVEZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9GSUxFX1NUT1JBR0UgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dfU0VSSUFMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9NSURJX0dBREdFVCBpcyBub3Qgc2V0CisjIENPTkZJR19NTUMgaXMgbm90IHNldAorQ09ORklHX05FV19MRURTPXkKK0NPTkZJR19MRURTX0NMQVNTPXkKIAogIwotIyBNTUMvU0QgQ2FyZCBEcml2ZXJzCisjIExFRCBkcml2ZXJzCiAjCi1DT05GSUdfTU1DX0JMT0NLPW0KK0NPTkZJR19MRURTX0dQSU89eQogCiAjCi0jIE1NQy9TRCBIb3N0IENvbnRyb2xsZXIgRHJpdmVycworIyBMRUQgVHJpZ2dlcnMKICMKLUNPTkZJR19NTUNfUFhBPW0KLQotIwotIyBSZWFsIFRpbWUgQ2xvY2sKLSMKK0NPTkZJR19MRURTX1RSSUdHRVJTPXkKKyMgQ09ORklHX0xFRFNfVFJJR0dFUl9USU1FUiBpcyBub3Qgc2V0CitDT05GSUdfTEVEU19UUklHR0VSX0hFQVJUQkVBVD15CiBDT05GSUdfUlRDX0xJQj15Ci1DT05GSUdfUlRDX0NMQVNTPW0KLQotIwotIyBSVEMgaW50ZXJmYWNlcwotIwotQ09ORklHX1JUQ19JTlRGX1NZU0ZTPXkKLUNPTkZJR19SVENfSU5URl9QUk9DPXkKLUNPTkZJR19SVENfSU5URl9ERVY9eQotIyBDT05GSUdfUlRDX0lOVEZfREVWX1VJRV9FTVVMIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JUQ19EUlZfVEVTVCBpcyBub3Qgc2V0Ci0KLSMKLSMgSTJDIFJUQyBkcml2ZXJzCi0jCi0KLSMKLSMgU1BJIFJUQyBkcml2ZXJzCi0jCi0KLSMKLSMgUGxhdGZvcm0gUlRDIGRyaXZlcnMKLSMKLSMgQ09ORklHX1JUQ19EUlZfQ01PUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19SVENfRFJWX0RTMTU1MyBpcyBub3Qgc2V0Ci0jIENPTkZJR19SVENfRFJWX0RTMTc0MiBpcyBub3Qgc2V0Ci0jIENPTkZJR19SVENfRFJWX000OFQ4NiBpcyBub3Qgc2V0Ci1DT05GSUdfUlRDX0RSVl9WMzAyMD1tCi0KLSMKLSMgb24tQ1BVIFJUQyBkcml2ZXJzCi0jCi1DT05GSUdfUlRDX0RSVl9TQTExMDA9bQorIyBDT05GSUdfUlRDX0NMQVNTIGlzIG5vdCBzZXQKIAogIwogIyBGaWxlIHN5c3RlbXMKQEAgLTk5NywxNyArODgyLDExIEBACiBDT05GSUdfRVhUMl9GUz15CiAjIENPTkZJR19FWFQyX0ZTX1hBVFRSIGlzIG5vdCBzZXQKICMgQ09ORklHX0VYVDJfRlNfWElQIGlzIG5vdCBzZXQKLUNPTkZJR19FWFQzX0ZTPXkKLUNPTkZJR19FWFQzX0ZTX1hBVFRSPXkKLSMgQ09ORklHX0VYVDNfRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKLSMgQ09ORklHX0VYVDNfRlNfU0VDVVJJVFkgaXMgbm90IHNldAorIyBDT05GSUdfRVhUM19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19FWFQ0REVWX0ZTIGlzIG5vdCBzZXQKLUNPTkZJR19KQkQ9eQotIyBDT05GSUdfSkJEX0RFQlVHIGlzIG5vdCBzZXQKLUNPTkZJR19GU19NQkNBQ0hFPXkKICMgQ09ORklHX1JFSVNFUkZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0pGU19GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GU19QT1NJWF9BQ0wgaXMgbm90IHNldAorQ09ORklHX0ZTX1BPU0lYX0FDTD15CiAjIENPTkZJR19YRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfR0ZTMl9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19PQ0ZTMl9GUyBpcyBub3Qgc2V0CkBAIC0xMDE5LDcgKzg5OCw3IEBACiBDT05GSUdfRE5PVElGWT15CiAjIENPTkZJR19BVVRPRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQVVUT0ZTNF9GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GVVNFX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19GVVNFX0ZTPW0KIAogIwogIyBDRC1ST00vRFZEIEZpbGVzeXN0ZW1zCkBAIC0xMDMxLDcgKzkxMCw3IEBACiAjIERPUy9GQVQvTlQgRmlsZXN5c3RlbXMKICMKIENPTkZJR19GQVRfRlM9eQotQ09ORklHX01TRE9TX0ZTPXkKKyMgQ09ORklHX01TRE9TX0ZTIGlzIG5vdCBzZXQKIENPTkZJR19WRkFUX0ZTPXkKIENPTkZJR19GQVRfREVGQVVMVF9DT0RFUEFHRT00MzcKIENPTkZJR19GQVRfREVGQVVMVF9JT0NIQVJTRVQ9Imlzbzg4NTktMSIKQEAgLTEwNDYsNyArOTI1LDYgQEAKIENPTkZJR19UTVBGUz15CiAjIENPTkZJR19UTVBGU19QT1NJWF9BQ0wgaXMgbm90IHNldAogIyBDT05GSUdfSFVHRVRMQl9QQUdFIGlzIG5vdCBzZXQKLUNPTkZJR19SQU1GUz15CiAjIENPTkZJR19DT05GSUdGU19GUyBpcyBub3Qgc2V0CiAKICMKQEAgLTEwNjIsMTAgKzk0MCwxMiBAQAogQ09ORklHX0pGRlMyX0ZTPXkKIENPTkZJR19KRkZTMl9GU19ERUJVRz0wCiBDT05GSUdfSkZGUzJfRlNfV1JJVEVCVUZGRVI9eQotQ09ORklHX0pGRlMyX1NVTU1BUlk9eQorIyBDT05GSUdfSkZGUzJfRlNfV0JVRl9WRVJJRlkgaXMgbm90IHNldAorIyBDT05GSUdfSkZGUzJfU1VNTUFSWSBpcyBub3Qgc2V0CiAjIENPTkZJR19KRkZTMl9GU19YQVRUUiBpcyBub3Qgc2V0CiAjIENPTkZJR19KRkZTMl9DT01QUkVTU0lPTl9PUFRJT05TIGlzIG5vdCBzZXQKIENPTkZJR19KRkZTMl9aTElCPXkKKyMgQ09ORklHX0pGRlMyX0xaTyBpcyBub3Qgc2V0CiBDT05GSUdfSkZGUzJfUlRJTUU9eQogIyBDT05GSUdfSkZGUzJfUlVCSU4gaXMgbm90IHNldAogIyBDT05GSUdfQ1JBTUZTIGlzIG5vdCBzZXQKQEAgLTEwNzQsNDcgKzk1NCw0MCBAQAogIyBDT05GSUdfUU5YNEZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NZU1ZfRlMgaXMgbm90IHNldAogIyBDT05GSUdfVUZTX0ZTIGlzIG5vdCBzZXQKLQotIwotIyBOZXR3b3JrIEZpbGUgU3lzdGVtcwotIworQ09ORklHX05FVFdPUktfRklMRVNZU1RFTVM9eQogQ09ORklHX05GU19GUz15CiBDT05GSUdfTkZTX1YzPXkKLSMgQ09ORklHX05GU19WM19BQ0wgaXMgbm90IHNldAotIyBDT05GSUdfTkZTX1Y0IGlzIG5vdCBzZXQKK0NPTkZJR19ORlNfVjNfQUNMPXkKK0NPTkZJR19ORlNfVjQ9eQogIyBDT05GSUdfTkZTX0RJUkVDVElPIGlzIG5vdCBzZXQKICMgQ09ORklHX05GU0QgaXMgbm90IHNldAogQ09ORklHX1JPT1RfTkZTPXkKIENPTkZJR19MT0NLRD15CiBDT05GSUdfTE9DS0RfVjQ9eQorQ09ORklHX05GU19BQ0xfU1VQUE9SVD15CiBDT05GSUdfTkZTX0NPTU1PTj15CiBDT05GSUdfU1VOUlBDPXkKK0NPTkZJR19TVU5SUENfR1NTPXkKICMgQ09ORklHX1NVTlJQQ19CSU5EMzQgaXMgbm90IHNldAotIyBDT05GSUdfUlBDU0VDX0dTU19LUkI1IGlzIG5vdCBzZXQKK0NPTkZJR19SUENTRUNfR1NTX0tSQjU9eQogIyBDT05GSUdfUlBDU0VDX0dTU19TUEtNMyBpcyBub3Qgc2V0Ci1DT05GSUdfU01CX0ZTPXkKLSMgQ09ORklHX1NNQl9OTFNfREVGQVVMVCBpcyBub3Qgc2V0CisjIENPTkZJR19TTUJfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQ0lGUyBpcyBub3Qgc2V0CiAjIENPTkZJR19OQ1BfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQ09EQV9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19BRlNfRlMgaXMgbm90IHNldAotIyBDT05GSUdfOVBfRlMgaXMgbm90IHNldAogCiAjCiAjIFBhcnRpdGlvbiBUeXBlcwogIwogIyBDT05GSUdfUEFSVElUSU9OX0FEVkFOQ0VEIGlzIG5vdCBzZXQKIENPTkZJR19NU0RPU19QQVJUSVRJT049eQotCi0jCi0jIE5hdGl2ZSBMYW5ndWFnZSBTdXBwb3J0Ci0jCiBDT05GSUdfTkxTPXkKIENPTkZJR19OTFNfREVGQVVMVD0iaXNvODg1OS0xIgogQ09ORklHX05MU19DT0RFUEFHRV80Mzc9eQogIyBDT05GSUdfTkxTX0NPREVQQUdFXzczNyBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfNzc1IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV84NTAgaXMgbm90IHNldAorQ09ORklHX05MU19DT0RFUEFHRV84NTA9eQogIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1MiBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfODU1IGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19DT0RFUEFHRV84NTcgaXMgbm90IHNldApAQCAtMTE0OCwzMCArMTAyMSwyNCBAQAogIyBDT05GSUdfTkxTX0lTTzg4NTlfMTUgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0tPSThfUiBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfS09JOF9VIGlzIG5vdCBzZXQKLUNPTkZJR19OTFNfVVRGOD15Ci0KLSMKLSMgRGlzdHJpYnV0ZWQgTG9jayBNYW5hZ2VyCi0jCisjIENPTkZJR19OTFNfVVRGOCBpcyBub3Qgc2V0CiAjIENPTkZJR19ETE0gaXMgbm90IHNldAotCi0jCi0jIFByb2ZpbGluZyBzdXBwb3J0Ci0jCi0jIENPTkZJR19QUk9GSUxJTkcgaXMgbm90IHNldAorIyBDT05GSUdfSU5TVFJVTUVOVEFUSU9OIGlzIG5vdCBzZXQKIAogIwogIyBLZXJuZWwgaGFja2luZwogIwogIyBDT05GSUdfUFJJTlRLX1RJTUUgaXMgbm90IHNldAorQ09ORklHX0VOQUJMRV9XQVJOX0RFUFJFQ0FURUQ9eQogQ09ORklHX0VOQUJMRV9NVVNUX0NIRUNLPXkKLUNPTkZJR19NQUdJQ19TWVNSUT15CisjIENPTkZJR19NQUdJQ19TWVNSUSBpcyBub3Qgc2V0CiAjIENPTkZJR19VTlVTRURfU1lNQk9MUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19IRUFERVJTX0NIRUNLIGlzIG5vdCBzZXQKIENPTkZJR19ERUJVR19LRVJORUw9eQogIyBDT05GSUdfREVCVUdfU0hJUlEgaXMgbm90IHNldAotIyBDT05GSUdfREVURUNUX1NPRlRMT0NLVVAgaXMgbm90IHNldAorQ09ORklHX0RFVEVDVF9TT0ZUTE9DS1VQPXkKK0NPTkZJR19TQ0hFRF9ERUJVRz15CiAjIENPTkZJR19TQ0hFRFNUQVRTIGlzIG5vdCBzZXQKICMgQ09ORklHX1RJTUVSX1NUQVRTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX1NMQUIgaXMgbm90IHNldApAQCAtMTE4MSwxOSArMTA0OCwyMyBAQAogIyBDT05GSUdfREVCVUdfTVVURVhFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19MT0NLX0FMTE9DIGlzIG5vdCBzZXQKICMgQ09ORklHX1BST1ZFX0xPQ0tJTkcgaXMgbm90IHNldAorIyBDT05GSUdfTE9DS19TVEFUIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX1NQSU5MT0NLX1NMRUVQIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0xPQ0tJTkdfQVBJX1NFTEZURVNUUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19LT0JKRUNUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFQlVHX0JVR1ZFUkJPU0UgaXMgbm90IHNldAotQ09ORklHX0RFQlVHX0lORk89eQorQ09ORklHX0RFQlVHX0JVR1ZFUkJPU0U9eQorIyBDT05GSUdfREVCVUdfSU5GTyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19WTSBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19MSVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX1NHIGlzIG5vdCBzZXQKIENPTkZJR19GUkFNRV9QT0lOVEVSPXkKIENPTkZJR19GT1JDRURfSU5MSU5JTkc9eQorIyBDT05GSUdfQk9PVF9QUklOVEtfREVMQVkgaXMgbm90IHNldAogIyBDT05GSUdfUkNVX1RPUlRVUkVfVEVTVCBpcyBub3Qgc2V0CiAjIENPTkZJR19GQVVMVF9JTkpFQ1RJT04gaXMgbm90IHNldAorIyBDT05GSUdfU0FNUExFUyBpcyBub3Qgc2V0CiBDT05GSUdfREVCVUdfVVNFUj15Ci1DT05GSUdfREVCVUdfRVJST1JTPXkKKyMgQ09ORklHX0RFQlVHX0VSUk9SUyBpcyBub3Qgc2V0CiBDT05GSUdfREVCVUdfTEw9eQogIyBDT05GSUdfREVCVUdfSUNFRENDIGlzIG5vdCBzZXQKIApAQCAtMTIwMiw1MSArMTA3Myw0OCBAQAogIwogIyBDT05GSUdfS0VZUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TRUNVUklUWSBpcyBub3Qgc2V0Ci0KLSMKLSMgQ3J5cHRvZ3JhcGhpYyBvcHRpb25zCi0jCisjIENPTkZJR19TRUNVUklUWV9GSUxFX0NBUEFCSUxJVElFUyBpcyBub3Qgc2V0CiBDT05GSUdfQ1JZUFRPPXkKLUNPTkZJR19DUllQVE9fQUxHQVBJPW0KLUNPTkZJR19DUllQVE9fQkxLQ0lQSEVSPW0KLUNPTkZJR19DUllQVE9fTUFOQUdFUj1tCitDT05GSUdfQ1JZUFRPX0FMR0FQST15CitDT05GSUdfQ1JZUFRPX0JMS0NJUEhFUj15CitDT05GSUdfQ1JZUFRPX01BTkFHRVI9eQogIyBDT05GSUdfQ1JZUFRPX0hNQUMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1hDQkMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX05VTEwgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX01ENCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fTUQ1IGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fTUQ1PXkKICMgQ09ORklHX0NSWVBUT19TSEExIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19TSEEyNTYgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1NIQTUxMiBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fV1A1MTIgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1RHUjE5MiBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fR0YxMjhNVUwgaXMgbm90IHNldAotQ09ORklHX0NSWVBUT19FQ0I9bQotQ09ORklHX0NSWVBUT19DQkM9bQotQ09ORklHX0NSWVBUT19QQ0JDPW0KKyMgQ09ORklHX0NSWVBUT19FQ0IgaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19DQkM9eQorIyBDT05GSUdfQ1JZUFRPX1BDQkMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0xSVyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fWFRTIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19DUllQVEQgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0RFUyBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX0RFUz15CiAjIENPTkZJR19DUllQVE9fRkNSWVBUIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19CTE9XRklTSCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fVFdPRklTSCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fU0VSUEVOVCBpcyBub3Qgc2V0Ci1DT05GSUdfQ1JZUFRPX0FFUz1tCisjIENPTkZJR19DUllQVE9fQUVTIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19DQVNUNSBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fQ0FTVDYgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1RFQSBpcyBub3Qgc2V0Ci1DT05GSUdfQ1JZUFRPX0FSQzQ9bQorIyBDT05GSUdfQ1JZUFRPX0FSQzQgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0tIQVpBRCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fQU5VQklTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TRUVEIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19ERUZMQVRFIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19NSUNIQUVMX01JQyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fQ1JDMzJDIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19DQU1FTExJQSBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fVEVTVCBpcyBub3Qgc2V0Ci0KLSMKLSMgSGFyZHdhcmUgY3J5cHRvIGRldmljZXMKLSMKKyMgQ09ORklHX0NSWVBUT19BVVRIRU5DIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19IVyBpcyBub3Qgc2V0CiAKICMKICMgTGlicmFyeSByb3V0aW5lcwpAQCAtMTI1Niw2ICsxMTI0LDcgQEAKICMgQ09ORklHX0NSQzE2IGlzIG5vdCBzZXQKICMgQ09ORklHX0NSQ19JVFVfVCBpcyBub3Qgc2V0CiBDT05GSUdfQ1JDMzI9eQorIyBDT05GSUdfQ1JDNyBpcyBub3Qgc2V0CiAjIENPTkZJR19MSUJDUkMzMkMgaXMgbm90IHNldAogQ09ORklHX1pMSUJfSU5GTEFURT15CiBDT05GSUdfWkxJQl9ERUZMQVRFPXkKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvdmVyc2F0aWxlX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvdmVyc2F0aWxlX2RlZmNvbmZpZwppbmRleCA0OGRjYTY5Li44MzU1Zjg4IDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL3ZlcnNhdGlsZV9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy92ZXJzYXRpbGVfZGVmY29uZmlnCkBAIC0xNTEsNyArMTUxLDYgQEAKICMgS2VybmVsIEZlYXR1cmVzCiAjCiAjIENPTkZJR19QUkVFTVBUIGlzIG5vdCBzZXQKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX0haPTEwMAogIyBDT05GSUdfQUVBQkkgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvY21feDI3MF9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL3htX3gyNzBfZGVmY29uZmlnCnNpbWlsYXJpdHkgaW5kZXggNjYlCnJlbmFtZSBmcm9tIGFyY2gvYXJtL2NvbmZpZ3MvY21feDI3MF9kZWZjb25maWcKcmVuYW1lIHRvIGFyY2gvYXJtL2NvbmZpZ3MveG1feDI3MF9kZWZjb25maWcKaW5kZXggNWNhYjA4My4uYWE0MGQ5MSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9jbV94MjcwX2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL3htX3gyNzBfZGVmY29uZmlnCkBAIC0xLDEzICsxLDEzIEBACiAjCiAjIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIG1ha2UgY29uZmlnOiBkb24ndCBlZGl0Ci0jIExpbnV4IGtlcm5lbCB2ZXJzaW9uOiAyLjYuMjIKLSMgV2VkIEp1bCAxOCAxNDoxMTo0OCAyMDA3CisjIExpbnV4IGtlcm5lbCB2ZXJzaW9uOiAyLjYuMjUKKyMgU3VuIE1heSAxMSAxNToxMjo1MiAyMDA4CiAjCiBDT05GSUdfQVJNPXkKIENPTkZJR19TWVNfU1VQUE9SVFNfQVBNX0VNVUxBVElPTj15CiBDT05GSUdfR0VORVJJQ19HUElPPXkKIENPTkZJR19HRU5FUklDX1RJTUU9eQotIyBDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UUyBpcyBub3Qgc2V0CitDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UUz15CiBDT05GSUdfTU1VPXkKICMgQ09ORklHX05PX0lPUE9SVCBpcyBub3Qgc2V0CiBDT05GSUdfR0VORVJJQ19IQVJESVJRUz15CkBAIC0yMSwyMSArMjEsMTggQEAKICMgQ09ORklHX0FSQ0hfSEFTX0lMT0cyX1U2NCBpcyBub3Qgc2V0CiBDT05GSUdfR0VORVJJQ19IV0VJR0hUPXkKIENPTkZJR19HRU5FUklDX0NBTElCUkFURV9ERUxBWT15CitDT05GSUdfQVJDSF9TVVBQT1JUU19BT1VUPXkKIENPTkZJR19aT05FX0RNQT15CiBDT05GSUdfQVJDSF9NVERfWElQPXkKIENPTkZJR19WRUNUT1JTX0JBU0U9MHhmZmZmMDAwMAogQ09ORklHX0RFRkNPTkZJR19MSVNUPSIvbGliL21vZHVsZXMvJFVOQU1FX1JFTEVBU0UvLmNvbmZpZyIKIAogIwotIyBDb2RlIG1hdHVyaXR5IGxldmVsIG9wdGlvbnMKKyMgR2VuZXJhbCBzZXR1cAogIwogQ09ORklHX0VYUEVSSU1FTlRBTD15CiBDT05GSUdfQlJPS0VOX09OX1NNUD15CiBDT05GSUdfSU5JVF9FTlZfQVJHX0xJTUlUPTMyCi0KLSMKLSMgR2VuZXJhbCBzZXR1cAotIwogQ09ORklHX0xPQ0FMVkVSU0lPTj0iIgogIyBDT05GSUdfTE9DQUxWRVJTSU9OX0FVVE8gaXMgbm90IHNldAogQ09ORklHX1NXQVA9eQpAQCAtNDQsMTMgKzQxLDIwIEBACiAjIENPTkZJR19QT1NJWF9NUVVFVUUgaXMgbm90IHNldAogIyBDT05GSUdfQlNEX1BST0NFU1NfQUNDVCBpcyBub3Qgc2V0CiAjIENPTkZJR19UQVNLU1RBVFMgaXMgbm90IHNldAotIyBDT05GSUdfVVNFUl9OUyBpcyBub3Qgc2V0CiAjIENPTkZJR19BVURJVCBpcyBub3Qgc2V0CiBDT05GSUdfSUtDT05GSUc9eQogQ09ORklHX0lLQ09ORklHX1BST0M9eQotQ09ORklHX0xPR19CVUZfU0hJRlQ9MTcKK0NPTkZJR19MT0dfQlVGX1NISUZUPTE0CisjIENPTkZJR19DR1JPVVBTIGlzIG5vdCBzZXQKK0NPTkZJR19HUk9VUF9TQ0hFRD15CitDT05GSUdfRkFJUl9HUk9VUF9TQ0hFRD15CisjIENPTkZJR19SVF9HUk9VUF9TQ0hFRCBpcyBub3Qgc2V0CitDT05GSUdfVVNFUl9TQ0hFRD15CisjIENPTkZJR19DR1JPVVBfU0NIRUQgaXMgbm90IHNldAogQ09ORklHX1NZU0ZTX0RFUFJFQ0FURUQ9eQorQ09ORklHX1NZU0ZTX0RFUFJFQ0FURURfVjI9eQogIyBDT05GSUdfUkVMQVkgaXMgbm90IHNldAorIyBDT05GSUdfTkFNRVNQQUNFUyBpcyBub3Qgc2V0CiBDT05GSUdfQkxLX0RFVl9JTklUUkQ9eQogQ09ORklHX0lOSVRSQU1GU19TT1VSQ0U9IiIKIENPTkZJR19DQ19PUFRJTUlaRV9GT1JfU0laRT15CkBAIC01OCw2ICs2Miw3IEBACiBDT05GSUdfRU1CRURERUQ9eQogQ09ORklHX1VJRDE2PXkKIENPTkZJR19TWVNDVExfU1lTQ0FMTD15CitDT05GSUdfU1lTQ1RMX1NZU0NBTExfQ0hFQ0s9eQogQ09ORklHX0tBTExTWU1TPXkKICMgQ09ORklHX0tBTExTWU1TX0FMTCBpcyBub3Qgc2V0CiAjIENPTkZJR19LQUxMU1lNU19FWFRSQV9QQVNTIGlzIG5vdCBzZXQKQEAgLTY1LDI0ICs3MCwzNCBAQAogQ09ORklHX1BSSU5USz15CiBDT05GSUdfQlVHPXkKIENPTkZJR19FTEZfQ09SRT15CisjIENPTkZJR19DT01QQVRfQlJLIGlzIG5vdCBzZXQKIENPTkZJR19CQVNFX0ZVTEw9eQogQ09ORklHX0ZVVEVYPXkKIENPTkZJR19BTk9OX0lOT0RFUz15Ci0jIENPTkZJR19FUE9MTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TSUdOQUxGRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19USU1FUkZEIGlzIG5vdCBzZXQKLSMgQ09ORklHX0VWRU5URkQgaXMgbm90IHNldAorQ09ORklHX0VQT0xMPXkKK0NPTkZJR19TSUdOQUxGRD15CitDT05GSUdfVElNRVJGRD15CitDT05GSUdfRVZFTlRGRD15CiBDT05GSUdfU0hNRU09eQotQ09ORklHX1ZNX0VWRU5UX0NPVU5URVJTPXkKLUNPTkZJR19TTEFCPXkKLSMgQ09ORklHX1NMVUIgaXMgbm90IHNldAorIyBDT05GSUdfVk1fRVZFTlRfQ09VTlRFUlMgaXMgbm90IHNldAorIyBDT05GSUdfU0xVQl9ERUJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19TTEFCIGlzIG5vdCBzZXQKK0NPTkZJR19TTFVCPXkKICMgQ09ORklHX1NMT0IgaXMgbm90IHNldAorIyBDT05GSUdfUFJPRklMSU5HIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BUktFUlMgaXMgbm90IHNldAorQ09ORklHX0hBVkVfT1BST0ZJTEU9eQorIyBDT05GSUdfS1BST0JFUyBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9LUFJPQkVTPXkKK0NPTkZJR19IQVZFX0tSRVRQUk9CRVM9eQorIyBDT05GSUdfSEFWRV9ETUFfQVRUUlMgaXMgbm90IHNldAorIyBDT05GSUdfUFJPQ19QQUdFX01PTklUT1IgaXMgbm90IHNldAogQ09ORklHX1JUX01VVEVYRVM9eQogIyBDT05GSUdfVElOWV9TSE1FTSBpcyBub3Qgc2V0CiBDT05GSUdfQkFTRV9TTUFMTD0wCiBDT05GSUdfTU9EVUxFUz15CiBDT05GSUdfTU9EVUxFX1VOTE9BRD15Ci1DT05GSUdfTU9EVUxFX0ZPUkNFX1VOTE9BRD15CisjIENPTkZJR19NT0RVTEVfRk9SQ0VfVU5MT0FEIGlzIG5vdCBzZXQKICMgQ09ORklHX01PRFZFUlNJT05TIGlzIG5vdCBzZXQKICMgQ09ORklHX01PRFVMRV9TUkNWRVJTSU9OX0FMTCBpcyBub3Qgc2V0CiBDT05GSUdfS01PRD15CkBAIC05OSwxMSArMTE0LDEyIEBACiBDT05GSUdfSU9TQ0hFRF9BUz15CiBDT05GSUdfSU9TQ0hFRF9ERUFETElORT15CiBDT05GSUdfSU9TQ0hFRF9DRlE9eQotQ09ORklHX0RFRkFVTFRfQVM9eQorIyBDT05GSUdfREVGQVVMVF9BUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUZBVUxUX0RFQURMSU5FIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFRkFVTFRfQ0ZRIGlzIG5vdCBzZXQKK0NPTkZJR19ERUZBVUxUX0NGUT15CiAjIENPTkZJR19ERUZBVUxUX05PT1AgaXMgbm90IHNldAotQ09ORklHX0RFRkFVTFRfSU9TQ0hFRD0iYW50aWNpcGF0b3J5IgorQ09ORklHX0RFRkFVTFRfSU9TQ0hFRD0iY2ZxIgorQ09ORklHX0NMQVNTSUNfUkNVPXkKIAogIwogIyBTeXN0ZW0gVHlwZQpAQCAtMTMxLDYgKzE0Nyw4IEBACiAjIENPTkZJR19BUkNIX0w3MjAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfS1M4Njk1IGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfTlM5WFhYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfTVhDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfT1JJT041WCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1BOWDQwMDggaXMgbm90IHNldAogQ09ORklHX0FSQ0hfUFhBPXkKICMgQ09ORklHX0FSQ0hfUlBDIGlzIG5vdCBzZXQKQEAgLTE0MCwxOSArMTU4LDQxIEBACiAjIENPTkZJR19BUkNIX0xIN0E0MFggaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9EQVZJTkNJIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfT01BUCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX01TTTdYMDBBIGlzIG5vdCBzZXQKIENPTkZJR19ETUFCT1VOQ0U9eQogCiAjCi0jIEludGVsIFBYQTJ4eCBJbXBsZW1lbnRhdGlvbnMKKyMgSW50ZWwgUFhBMnh4L1BYQTN4eCBJbXBsZW1lbnRhdGlvbnMKICMKKworIworIyBTZWxlY3QgdGFyZ2V0IGJvYXJkcworIworIyBDT05GSUdfQVJDSF9HVU1TVElYIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfTFVCQk9DSyBpcyBub3Qgc2V0CiAjIENPTkZJR19NQUNIX0xPR0lDUERfUFhBMjcwIGlzIG5vdCBzZXQKICMgQ09ORklHX01BQ0hfTUFJTlNUT05FIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfUFhBX0lEUCBpcyBub3Qgc2V0CiAjIENPTkZJR19QWEFfU0hBUlBTTCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1BYQV9FU0VSSUVTIGlzIG5vdCBzZXQKICMgQ09ORklHX01BQ0hfVFJJWkVQUzQgaXMgbm90IHNldAorQ09ORklHX01BQ0hfRU1fWDI3MD15CisjIENPTkZJR19NQUNIX0NPTElCUkkgaXMgbm90IHNldAorIyBDT05GSUdfTUFDSF9aWUxPTklURSBpcyBub3Qgc2V0CisjIENPTkZJR19NQUNIX0xJVFRMRVRPTiBpcyBub3Qgc2V0CiBDT05GSUdfTUFDSF9BUk1DT1JFPXkKKyMgQ09ORklHX01BQ0hfTUFHSUNJQU4gaXMgbm90IHNldAorIyBDT05GSUdfTUFDSF9QQ00wMjcgaXMgbm90IHNldAogQ09ORklHX1BYQTI3eD15CisjIENPTkZJR19QWEFfUFdNIGlzIG5vdCBzZXQKKworIworIyBCb290IG9wdGlvbnMKKyMKKworIworIyBQb3dlciBtYW5hZ2VtZW50CisjCiAKICMKICMgUHJvY2Vzc29yIFR5cGUKQEAgLTE2MSw2ICsyMDEsNyBAQAogQ09ORklHX0NQVV9YU0NBTEU9eQogQ09ORklHX0NQVV8zMnY1PXkKIENPTkZJR19DUFVfQUJSVF9FVjVUPXkKK0NPTkZJR19DUFVfUEFCUlRfTk9JRkFSPXkKIENPTkZJR19DUFVfQ0FDSEVfVklWVD15CiBDT05GSUdfQ1BVX1RMQl9WNFdCST15CiBDT05GSUdfQ1BVX0NQMTU9eQpAQCAtMTgyLDIxICsyMjMsNDAgQEAKIENPTkZJR19QQ0lfU1lTQ0FMTD15CiBDT05GSUdfUENJX0hPU1RfSVRFODE1Mj15CiAjIENPTkZJR19BUkNIX1NVUFBPUlRTX01TSSBpcyBub3Qgc2V0CitDT05GSUdfUENJX0xFR0FDWT15CiAjIENPTkZJR19QQ0lfREVCVUcgaXMgbm90IHNldAorQ09ORklHX1BDQ0FSRD1tCisjIENPTkZJR19QQ01DSUFfREVCVUcgaXMgbm90IHNldAorQ09ORklHX1BDTUNJQT1tCitDT05GSUdfUENNQ0lBX0xPQURfQ0lTPXkKK0NPTkZJR19QQ01DSUFfSU9DVEw9eQorQ09ORklHX0NBUkRCVVM9eQogCiAjCi0jIFBDQ0FSRCAoUENNQ0lBL0NhcmRCdXMpIHN1cHBvcnQKKyMgUEMtY2FyZCBicmlkZ2VzCiAjCi0jIENPTkZJR19QQ0NBUkQgaXMgbm90IHNldAorQ09ORklHX1lFTlRBPW0KKyMgQ09ORklHX1lFTlRBX08yIGlzIG5vdCBzZXQKKyMgQ09ORklHX1lFTlRBX1JJQ09IIGlzIG5vdCBzZXQKK0NPTkZJR19ZRU5UQV9UST15CisjIENPTkZJR19ZRU5UQV9FTkVfVFVORSBpcyBub3Qgc2V0CisjIENPTkZJR19ZRU5UQV9UT1NISUJBIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BENjcyOSBpcyBub3Qgc2V0CisjIENPTkZJR19JODIwOTIgaXMgbm90IHNldAorQ09ORklHX1BDTUNJQV9QWEEyWFg9bQorQ09ORklHX1BDQ0FSRF9OT05TVEFUSUM9bQogCiAjCiAjIEtlcm5lbCBGZWF0dXJlcwogIwotIyBDT05GSUdfVElDS19PTkVTSE9UIGlzIG5vdCBzZXQKK0NPTkZJR19USUNLX09ORVNIT1Q9eQorQ09ORklHX05PX0haPXkKKyMgQ09ORklHX0hJR0hfUkVTX1RJTUVSUyBpcyBub3Qgc2V0CitDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UU19CVUlMRD15CiAjIENPTkZJR19QUkVFTVBUIGlzIG5vdCBzZXQKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX0haPTEwMAotIyBDT05GSUdfQUVBQkkgaXMgbm90IHNldAorQ09ORklHX0FFQUJJPXkKK0NPTkZJR19PQUJJX0NPTVBBVD15CiAjIENPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9FTkFCTEUgaXMgbm90IHNldAogQ09ORklHX1NFTEVDVF9NRU1PUllfTU9ERUw9eQogQ09ORklHX0ZMQVRNRU1fTUFOVUFMPXkKQEAgLTIwNSw2ICsyNjUsOCBAQAogQ09ORklHX0ZMQVRNRU09eQogQ09ORklHX0ZMQVRfTk9ERV9NRU1fTUFQPXkKICMgQ09ORklHX1NQQVJTRU1FTV9TVEFUSUMgaXMgbm90IHNldAorIyBDT05GSUdfU1BBUlNFTUVNX1ZNRU1NQVBfRU5BQkxFIGlzIG5vdCBzZXQKK0NPTkZJR19QQUdFRkxBR1NfRVhURU5ERUQ9eQogQ09ORklHX1NQTElUX1BUTE9DS19DUFVTPTQwOTYKICMgQ09ORklHX1JFU09VUkNFU182NEJJVCBpcyBub3Qgc2V0CiBDT05GSUdfWk9ORV9ETUFfRkxBRz0xCkBAIC0yMTcsMTEgKzI3OSwxNiBAQAogIwogQ09ORklHX1pCT09UX1JPTV9URVhUPTB4MAogQ09ORklHX1pCT09UX1JPTV9CU1M9MHgwCi1DT05GSUdfQ01ETElORT0iIgorQ09ORklHX0NNRExJTkU9InJvb3Q9MWYwMyBtZW09MzJNIgogIyBDT05GSUdfWElQX0tFUk5FTCBpcyBub3Qgc2V0CiAjIENPTkZJR19LRVhFQyBpcyBub3Qgc2V0CiAKICMKKyMgQ1BVIEZyZXF1ZW5jeSBzY2FsaW5nCisjCisjIENPTkZJR19DUFVfRlJFUSBpcyBub3Qgc2V0CisKKyMKICMgRmxvYXRpbmcgcG9pbnQgZW11bGF0aW9uCiAjCiAKQEAgLTIzOCwxNiArMzA1LDE3IEBACiBDT05GSUdfQklORk1UX0VMRj15CiAjIENPTkZJR19CSU5GTVRfQU9VVCBpcyBub3Qgc2V0CiAjIENPTkZJR19CSU5GTVRfTUlTQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19BUlRIVVIgaXMgbm90IHNldAogCiAjCiAjIFBvd2VyIG1hbmFnZW1lbnQgb3B0aW9ucwogIwogQ09ORklHX1BNPXkKLSMgQ09ORklHX1BNX0xFR0FDWSBpcyBub3Qgc2V0CiAjIENPTkZJR19QTV9ERUJVRyBpcyBub3Qgc2V0Ci0jIENPTkZJR19QTV9TWVNGU19ERVBSRUNBVEVEIGlzIG5vdCBzZXQKLSMgQ09ORklHX0FQTV9FTVVMQVRJT04gaXMgbm90IHNldAorQ09ORklHX1BNX1NMRUVQPXkKK0NPTkZJR19TVVNQRU5EPXkKK0NPTkZJR19TVVNQRU5EX0ZSRUVaRVI9eQorQ09ORklHX0FQTV9FTVVMQVRJT049bQorQ09ORklHX0FSQ0hfU1VTUEVORF9QT1NTSUJMRT15CiAKICMKICMgTmV0d29ya2luZwpAQCAtMjU4LDE1ICszMjYsMTYgQEAKICMgTmV0d29ya2luZyBvcHRpb25zCiAjCiBDT05GSUdfUEFDS0VUPXkKLSMgQ09ORklHX1BBQ0tFVF9NTUFQIGlzIG5vdCBzZXQKK0NPTkZJR19QQUNLRVRfTU1BUD15CiBDT05GSUdfVU5JWD15CiBDT05GSUdfWEZSTT15CiAjIENPTkZJR19YRlJNX1VTRVIgaXMgbm90IHNldAogIyBDT05GSUdfWEZSTV9TVUJfUE9MSUNZIGlzIG5vdCBzZXQKICMgQ09ORklHX1hGUk1fTUlHUkFURSBpcyBub3Qgc2V0CisjIENPTkZJR19YRlJNX1NUQVRJU1RJQ1MgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0tFWSBpcyBub3Qgc2V0CiBDT05GSUdfSU5FVD15Ci0jIENPTkZJR19JUF9NVUxUSUNBU1QgaXMgbm90IHNldAorQ09ORklHX0lQX01VTFRJQ0FTVD15CiAjIENPTkZJR19JUF9BRFZBTkNFRF9ST1VURVIgaXMgbm90IHNldAogQ09ORklHX0lQX0ZJQl9IQVNIPXkKIENPTkZJR19JUF9QTlA9eQpAQCAtMjc1LDYgKzM0NCw3IEBACiAjIENPTkZJR19JUF9QTlBfUkFSUCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfSVBJUCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfSVBHUkUgaXMgbm90IHNldAorIyBDT05GSUdfSVBfTVJPVVRFIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSUEQgaXMgbm90IHNldAogIyBDT05GSUdfU1lOX0NPT0tJRVMgaXMgbm90IHNldAogIyBDT05GSUdfSU5FVF9BSCBpcyBub3Qgc2V0CkBAIC0yODUsMTUgKzM1NSwxMyBAQAogQ09ORklHX0lORVRfWEZSTV9NT0RFX1RSQU5TUE9SVD15CiBDT05GSUdfSU5FVF9YRlJNX01PREVfVFVOTkVMPXkKIENPTkZJR19JTkVUX1hGUk1fTU9ERV9CRUVUPXkKLUNPTkZJR19JTkVUX0RJQUc9eQotQ09ORklHX0lORVRfVENQX0RJQUc9eQorIyBDT05GSUdfSU5FVF9MUk8gaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9ESUFHIGlzIG5vdCBzZXQKICMgQ09ORklHX1RDUF9DT05HX0FEVkFOQ0VEIGlzIG5vdCBzZXQKIENPTkZJR19UQ1BfQ09OR19DVUJJQz15CiBDT05GSUdfREVGQVVMVF9UQ1BfQ09ORz0iY3ViaWMiCiAjIENPTkZJR19UQ1BfTUQ1U0lHIGlzIG5vdCBzZXQKICMgQ09ORklHX0lQVjYgaXMgbm90IHNldAotIyBDT05GSUdfSU5FVDZfWEZSTV9UVU5ORUwgaXMgbm90IHNldAotIyBDT05GSUdfSU5FVDZfVFVOTkVMIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVFdPUktfU0VDTUFSSyBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRGSUxURVIgaXMgbm90IHNldAogIyBDT05GSUdfSVBfRENDUCBpcyBub3Qgc2V0CkBAIC0zMTAsMTAgKzM3OCw2IEBACiAjIENPTkZJR19MQVBCIGlzIG5vdCBzZXQKICMgQ09ORklHX0VDT05FVCBpcyBub3Qgc2V0CiAjIENPTkZJR19XQU5fUk9VVEVSIGlzIG5vdCBzZXQKLQotIwotIyBRb1MgYW5kL29yIGZhaXIgcXVldWVpbmcKLSMKICMgQ09ORklHX05FVF9TQ0hFRCBpcyBub3Qgc2V0CiAKICMKQEAgLTMyMSw4ICszODUsMzMgQEAKICMKICMgQ09ORklHX05FVF9QS1RHRU4gaXMgbm90IHNldAogIyBDT05GSUdfSEFNUkFESU8gaXMgbm90IHNldAorIyBDT05GSUdfQ0FOIGlzIG5vdCBzZXQKICMgQ09ORklHX0lSREEgaXMgbm90IHNldAotIyBDT05GSUdfQlQgaXMgbm90IHNldAorQ09ORklHX0JUPW0KK0NPTkZJR19CVF9MMkNBUD1tCitDT05GSUdfQlRfU0NPPW0KK0NPTkZJR19CVF9SRkNPTU09bQorIyBDT05GSUdfQlRfUkZDT01NX1RUWSBpcyBub3Qgc2V0CitDT05GSUdfQlRfQk5FUD1tCisjIENPTkZJR19CVF9CTkVQX01DX0ZJTFRFUiBpcyBub3Qgc2V0CisjIENPTkZJR19CVF9CTkVQX1BST1RPX0ZJTFRFUiBpcyBub3Qgc2V0CitDT05GSUdfQlRfSElEUD1tCisKKyMKKyMgQmx1ZXRvb3RoIGRldmljZSBkcml2ZXJzCisjCitDT05GSUdfQlRfSENJVVNCPW0KK0NPTkZJR19CVF9IQ0lVU0JfU0NPPXkKKyMgQ09ORklHX0JUX0hDSUJUU0RJTyBpcyBub3Qgc2V0CisjIENPTkZJR19CVF9IQ0lVQVJUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JUX0hDSUJDTTIwM1ggaXMgbm90IHNldAorIyBDT05GSUdfQlRfSENJQlBBMTBYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JUX0hDSUJGVVNCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JUX0hDSURUTDEgaXMgbm90IHNldAorIyBDT05GSUdfQlRfSENJQlQzQyBpcyBub3Qgc2V0CisjIENPTkZJR19CVF9IQ0lCTFVFQ0FSRCBpcyBub3Qgc2V0CisjIENPTkZJR19CVF9IQ0lCVFVBUlQgaXMgbm90IHNldAorIyBDT05GSUdfQlRfSENJVkhDSSBpcyBub3Qgc2V0CiAjIENPTkZJR19BRl9SWFJQQyBpcyBub3Qgc2V0CiAKICMKQEAgLTMzMSwxMiArNDIwLDcgQEAKICMgQ09ORklHX0NGRzgwMjExIGlzIG5vdCBzZXQKIENPTkZJR19XSVJFTEVTU19FWFQ9eQogIyBDT05GSUdfTUFDODAyMTEgaXMgbm90IHNldAotQ09ORklHX0lFRUU4MDIxMT1tCi0jIENPTkZJR19JRUVFODAyMTFfREVCVUcgaXMgbm90IHNldAotQ09ORklHX0lFRUU4MDIxMV9DUllQVF9XRVA9bQotQ09ORklHX0lFRUU4MDIxMV9DUllQVF9DQ01QPW0KLSMgQ09ORklHX0lFRUU4MDIxMV9DUllQVF9US0lQIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lFRUU4MDIxMV9TT0ZUTUFDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lFRUU4MDIxMSBpcyBub3Qgc2V0CiAjIENPTkZJR19SRktJTEwgaXMgbm90IHNldAogIyBDT05GSUdfTkVUXzlQIGlzIG5vdCBzZXQKIApAQCAtMzQ3LDM4ICs0MzEsNDcgQEAKICMKICMgR2VuZXJpYyBEcml2ZXIgT3B0aW9ucwogIworQ09ORklHX1VFVkVOVF9IRUxQRVJfUEFUSD0iL3NiaW4vaG90cGx1ZyIKIENPTkZJR19TVEFOREFMT05FPXkKIENPTkZJR19QUkVWRU5UX0ZJUk1XQVJFX0JVSUxEPXkKLUNPTkZJR19GV19MT0FERVI9eQorQ09ORklHX0ZXX0xPQURFUj1tCiAjIENPTkZJR19ERUJVR19EUklWRVIgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfREVWUkVTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NZU19IWVBFUlZJU09SIGlzIG5vdCBzZXQKICMgQ09ORklHX0NPTk5FQ1RPUiBpcyBub3Qgc2V0Ci1DT05GSUdfTVREPW0KK0NPTkZJR19NVEQ9eQogIyBDT05GSUdfTVREX0RFQlVHIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9DT05DQVQgaXMgbm90IHNldAogQ09ORklHX01URF9QQVJUSVRJT05TPXkKICMgQ09ORklHX01URF9SRURCT09UX1BBUlRTIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ01ETElORV9QQVJUUz15CiAjIENPTkZJR19NVERfQUZTX1BBUlRTIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9BUjdfUEFSVFMgaXMgbm90IHNldAogCiAjCiAjIFVzZXIgTW9kdWxlcyBBbmQgVHJhbnNsYXRpb24gTGF5ZXJzCiAjCi1DT05GSUdfTVREX0NIQVI9bQotQ09ORklHX01URF9CTEtERVZTPW0KLUNPTkZJR19NVERfQkxPQ0s9bQotIyBDT05GSUdfTVREX0JMT0NLX1JPIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ0hBUj15CitDT05GSUdfTVREX0JMS0RFVlM9eQorQ09ORklHX01URF9CTE9DSz15CiAjIENPTkZJR19GVEwgaXMgbm90IHNldAogIyBDT05GSUdfTkZUTCBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkZUTCBpcyBub3Qgc2V0CiAjIENPTkZJR19SRkRfRlRMIGlzIG5vdCBzZXQKICMgQ09ORklHX1NTRkRDIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9PT1BTIGlzIG5vdCBzZXQKIAogIwogIyBSQU0vUk9NL0ZsYXNoIGNoaXAgZHJpdmVycwogIwotIyBDT05GSUdfTVREX0NGSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfSkVERUNQUk9CRSBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NGST15CitDT05GSUdfTVREX0pFREVDUFJPQkU9eQorQ09ORklHX01URF9HRU5fUFJPQkU9eQorQ09ORklHX01URF9DRklfQURWX09QVElPTlM9eQorQ09ORklHX01URF9DRklfTk9TV0FQPXkKKyMgQ09ORklHX01URF9DRklfQkVfQllURV9TV0FQIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9DRklfTEVfQllURV9TV0FQIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9DRklfR0VPTUVUUlkgaXMgbm90IHNldAogQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8xPXkKIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMj15CiBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzQ9eQpAQCAtMzg5LDE1ICs0ODIsMjkgQEAKIENPTkZJR19NVERfQ0ZJX0kyPXkKICMgQ09ORklHX01URF9DRklfSTQgaXMgbm90IHNldAogIyBDT05GSUdfTVREX0NGSV9JOCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfT1RQIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ0ZJX0lOVEVMRVhUPXkKK0NPTkZJR19NVERfQ0ZJX0FNRFNURD15CitDT05GSUdfTVREX0NGSV9TVEFBPXkKK0NPTkZJR19NVERfQ0ZJX1VUSUw9eQogIyBDT05GSUdfTVREX1JBTSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfUk9NIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9BQlNFTlQgaXMgbm90IHNldAorIyBDT05GSUdfTVREX1hJUCBpcyBub3Qgc2V0CiAKICMKICMgTWFwcGluZyBkcml2ZXJzIGZvciBjaGlwIGFjY2VzcwogIwogIyBDT05GSUdfTVREX0NPTVBMRVhfTUFQUElOR1MgaXMgbm90IHNldAorQ09ORklHX01URF9QSFlTTUFQPXkKK0NPTkZJR19NVERfUEhZU01BUF9TVEFSVD0weDAKK0NPTkZJR19NVERfUEhZU01BUF9MRU49MHg0MDAwMDAKK0NPTkZJR19NVERfUEhZU01BUF9CQU5LV0lEVEg9MgorQ09ORklHX01URF9QWEEyWFg9eQorIyBDT05GSUdfTVREX0FSTV9JTlRFR1JBVE9SIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9JTVBBNyBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfU0hBUlBfU0wgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0lOVEVMX1ZSX05PUiBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfUExBVFJBTSBpcyBub3Qgc2V0CiAKICMKQEAgLTQxNSwxOCArNTIyLDE5IEBACiAjIENPTkZJR19NVERfRE9DMjAwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfRE9DMjAwMSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfRE9DMjAwMVBMVVMgaXMgbm90IHNldAotQ09ORklHX01URF9OQU5EPW0KK0NPTkZJR19NVERfTkFORD15CiAjIENPTkZJR19NVERfTkFORF9WRVJJRllfV1JJVEUgaXMgbm90IHNldAogIyBDT05GSUdfTVREX05BTkRfRUNDX1NNQyBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTkFORF9NVVNFVU1fSURTIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9OQU5EX0gxOTAwIGlzIG5vdCBzZXQKLUNPTkZJR19NVERfTkFORF9JRFM9bQorQ09ORklHX01URF9OQU5EX0lEUz15CiAjIENPTkZJR19NVERfTkFORF9ESVNLT05DSElQIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9OQU5EX1NIQVJQU0wgaXMgbm90IHNldAogIyBDT05GSUdfTVREX05BTkRfQ0FGRSBpcyBub3Qgc2V0Ci1DT05GSUdfTVREX05BTkRfQ01fWDI3MD1tCitDT05GSUdfTVREX05BTkRfQ01fWDI3MD15CiAjIENPTkZJR19NVERfTkFORF9OQU5EU0lNIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9OQU5EX1BMQVRGT1JNIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfTkFORF9QTEFURk9STT15CisjIENPTkZJR19NVERfQUxBVURBIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9PTkVOQU5EIGlzIG5vdCBzZXQKIAogIwpAQCAtNDQ3LDM2ICs1NTUsMTMgQEAKICMgQ09ORklHX0JMS19ERVZfVUIgaXMgbm90IHNldAogQ09ORklHX0JMS19ERVZfUkFNPXkKIENPTkZJR19CTEtfREVWX1JBTV9DT1VOVD0xNgotQ09ORklHX0JMS19ERVZfUkFNX1NJWkU9MTIwMDAKLUNPTkZJR19CTEtfREVWX1JBTV9CTE9DS1NJWkU9MTAyNAorQ09ORklHX0JMS19ERVZfUkFNX1NJWkU9NDA5NgorIyBDT05GSUdfQkxLX0RFVl9YSVAgaXMgbm90IHNldAogIyBDT05GSUdfQ0RST01fUEtUQ0RWRCBpcyBub3Qgc2V0CiAjIENPTkZJR19BVEFfT1ZFUl9FVEggaXMgbm90IHNldAotQ09ORklHX0lERT1tCi1DT05GSUdfSURFX01BWF9IV0lGUz00Ci1DT05GSUdfQkxLX0RFVl9JREU9bQotCi0jCi0jIFBsZWFzZSBzZWUgRG9jdW1lbnRhdGlvbi9pZGUudHh0IGZvciBoZWxwL2luZm8gb24gSURFIGRyaXZlcwotIwotIyBDT05GSUdfQkxLX0RFVl9JREVfU0FUQSBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9JREVESVNLPW0KLSMgQ09ORklHX0lERURJU0tfTVVMVElfTU9ERSBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9JREVDRD1tCi0jIENPTkZJR19CTEtfREVWX0lERVRBUEUgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9JREVGTE9QUFkgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9JREVTQ1NJIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lERV9UQVNLX0lPQ1RMIGlzIG5vdCBzZXQKLUNPTkZJR19JREVfUFJPQ19GUz15Ci0KLSMKLSMgSURFIGNoaXBzZXQgc3VwcG9ydC9idWdmaXhlcwotIwotIyBDT05GSUdfSURFX0dFTkVSSUMgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9JREVQQ0kgaXMgbm90IHNldAotIyBDT05GSUdfSURFUENJX1BDSUJVU19PUkRFUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19JREVfQVJNIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfSURFRE1BIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfSEQgaXMgbm90IHNldAorIyBDT05GSUdfTUlTQ19ERVZJQ0VTIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX0lERT15CisjIENPTkZJR19JREUgaXMgbm90IHNldAogCiAjCiAjIFNDU0kgZGV2aWNlIHN1cHBvcnQKQEAgLTQ4Niw3ICs1NzEsNyBAQAogQ09ORklHX1NDU0lfRE1BPXkKICMgQ09ORklHX1NDU0lfVEdUIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfTkVUTElOSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX1BST0NfRlMgaXMgbm90IHNldAorQ09ORklHX1NDU0lfUFJPQ19GUz15CiAKICMKICMgU0NTSSBzdXBwb3J0IHR5cGUgKGRpc2ssIHRhcGUsIENELVJPTSkKQEAgLTUxMywxMiArNTk4LDkgQEAKICMgQ09ORklHX1NDU0lfU1BJX0FUVFJTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfRkNfQVRUUlMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9JU0NTSV9BVFRSUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX1NBU19BVFRSUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1NBU19MSUJTQVMgaXMgbm90IHNldAotCi0jCi0jIFNDU0kgbG93LWxldmVsIGRyaXZlcnMKLSMKKyMgQ09ORklHX1NDU0lfU1JQX0FUVFJTIGlzIG5vdCBzZXQKK0NPTkZJR19TQ1NJX0xPV0xFVkVMPXkKICMgQ09ORklHX0lTQ1NJX1RDUCBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfREVWXzNXX1hYWFhfUkFJRCBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJXzNXXzlYWFggaXMgbm90IHNldApAQCAtNTI5LDYgKzYxMSw3IEBACiAjIENPTkZJR19TQ1NJX0FJQzc5WFggaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9BSUM5NFhYIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfRFBUX0kyTyBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX0FEVkFOU1lTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfQVJDTVNSIGlzIG5vdCBzZXQKICMgQ09ORklHX01FR0FSQUlEX05FV0dFTiBpcyBub3Qgc2V0CiAjIENPTkZJR19NRUdBUkFJRF9MRUdBQ1kgaXMgbm90IHNldApAQCAtNTM5LDggKzYyMiwxMCBAQAogIyBDT05GSUdfU0NTSV9JUFMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9JTklUSU8gaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9JTklBMTAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfTVZTQVMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9TVEVYIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfU1lNNTNDOFhYXzIgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9JUFIgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9RTE9HSUNfMTI4MCBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1FMQV9GQyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1FMQV9JU0NTSSBpcyBub3Qgc2V0CkBAIC01NTAsMTYgKzYzNSw2OSBAQAogIyBDT05GSUdfU0NTSV9OU1AzMiBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0RFQlVHIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfU1JQIGlzIG5vdCBzZXQKLSMgQ09ORklHX0FUQSBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX0xPV0xFVkVMX1BDTUNJQSBpcyBub3Qgc2V0CitDT05GSUdfQVRBPW0KKyMgQ09ORklHX0FUQV9OT05TVEFOREFSRCBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX1BNUCBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX0FIQ0kgaXMgbm90IHNldAorIyBDT05GSUdfU0FUQV9TSUwyNCBpcyBub3Qgc2V0CitDT05GSUdfQVRBX1NGRj15CisjIENPTkZJR19TQVRBX1NWVyBpcyBub3Qgc2V0CisjIENPTkZJR19BVEFfUElJWCBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX01WIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBVEFfTlYgaXMgbm90IHNldAorIyBDT05GSUdfUERDX0FETUEgaXMgbm90IHNldAorIyBDT05GSUdfU0FUQV9RU1RPUiBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX1BST01JU0UgaXMgbm90IHNldAorIyBDT05GSUdfU0FUQV9TWDQgaXMgbm90IHNldAorIyBDT05GSUdfU0FUQV9TSUwgaXMgbm90IHNldAorIyBDT05GSUdfU0FUQV9TSVMgaXMgbm90IHNldAorIyBDT05GSUdfU0FUQV9VTEkgaXMgbm90IHNldAorIyBDT05GSUdfU0FUQV9WSUEgaXMgbm90IHNldAorIyBDT05GSUdfU0FUQV9WSVRFU1NFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBVEFfSU5JQzE2MlggaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9BTEkgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9BTUQgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9BUlRPUCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0FUSUlYUCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0NNRDY0MF9QQ0kgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9DTUQ2NFggaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9DUzU1MjAgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9DUzU1MzAgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9DWVBSRVNTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfRUZBUiBpcyBub3Qgc2V0CisjIENPTkZJR19BVEFfR0VORVJJQyBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0hQVDM2NiBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0hQVDM3WCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0hQVDNYMk4gaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9IUFQzWDMgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9JVDgyMVggaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9JVDgyMTMgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9KTUlDUk9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfVFJJRkxFWCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX01BUlZFTEwgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9NUElJWCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX09MRFBJSVggaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9ORVRDRUxMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfTklOSkEzMiBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX05TODc0MTAgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9OUzg3NDE1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfT1BUSSBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX09QVElETUEgaXMgbm90IHNldAorQ09ORklHX1BBVEFfUENNQ0lBPW0KKyMgQ09ORklHX1BBVEFfUERDX09MRCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1JBRElTWVMgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9SWjEwMDAgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9TQzEyMDAgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9TRVJWRVJXT1JLUyBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1BEQzIwMjdYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfU0lMNjgwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfU0lTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfVklBIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfV0lOQk9ORCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1BMQVRGT1JNIGlzIG5vdCBzZXQKICMgQ09ORklHX01EIGlzIG5vdCBzZXQKLQotIwotIyBGdXNpb24gTVBUIGRldmljZSBzdXBwb3J0Ci0jCiAjIENPTkZJR19GVVNJT04gaXMgbm90IHNldAotIyBDT05GSUdfRlVTSU9OX1NQSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19GVVNJT05fRkMgaXMgbm90IHNldAotIyBDT05GSUdfRlVTSU9OX1NBUyBpcyBub3Qgc2V0CiAKICMKICMgSUVFRSAxMzk0IChGaXJlV2lyZSkgc3VwcG9ydApAQCAtNTc0LDYgKzcxMiw3IEBACiAjIENPTkZJR19NQUNWTEFOIGlzIG5vdCBzZXQKICMgQ09ORklHX0VRVUFMSVpFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19UVU4gaXMgbm90IHNldAorIyBDT05GSUdfVkVUSCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNORVQgaXMgbm90IHNldAogIyBDT05GSUdfUEhZTElCIGlzIG5vdCBzZXQKIENPTkZJR19ORVRfRVRIRVJORVQ9eQpAQCAtNTg1LDY0ICs3MjQsNjUgQEAKICMgQ09ORklHX05FVF9WRU5ET1JfM0NPTSBpcyBub3Qgc2V0CiAjIENPTkZJR19TTUM5MVggaXMgbm90IHNldAogQ09ORklHX0RNOTAwMD15CitDT05GSUdfRE05MDAwX0RFQlVHTEVWRUw9MQogIyBDT05GSUdfU01DOTExWCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfVFVMSVAgaXMgbm90IHNldAogIyBDT05GSUdfSFAxMDAgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1pNSUkgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1JHTUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19UQUggaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX0VNQUM0IGlzIG5vdCBzZXQKIENPTkZJR19ORVRfUENJPXkKICMgQ09ORklHX1BDTkVUMzIgaXMgbm90IHNldAogIyBDT05GSUdfQU1EODExMV9FVEggaXMgbm90IHNldAogIyBDT05GSUdfQURBUFRFQ19TVEFSRklSRSBpcyBub3Qgc2V0CiAjIENPTkZJR19CNDQgaXMgbm90IHNldAogIyBDT05GSUdfRk9SQ0VERVRIIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RHUlMgaXMgbm90IHNldAogIyBDT05GSUdfRUVQUk8xMDAgaXMgbm90IHNldAogIyBDT05GSUdfRTEwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19GRUFMTlggaXMgbm90IHNldAogIyBDT05GSUdfTkFUU0VNSSBpcyBub3Qgc2V0CiAjIENPTkZJR19ORTJLX1BDSSBpcyBub3Qgc2V0CiAjIENPTkZJR184MTM5Q1AgaXMgbm90IHNldAotQ09ORklHXzgxMzlUT089bQorQ09ORklHXzgxMzlUT089eQogIyBDT05GSUdfODEzOVRPT19QSU8gaXMgbm90IHNldAogIyBDT05GSUdfODEzOVRPT19UVU5FX1RXSVNURVIgaXMgbm90IHNldAogIyBDT05GSUdfODEzOVRPT184MTI5IGlzIG5vdCBzZXQKICMgQ09ORklHXzgxMzlfT0xEX1JYX1JFU0VUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1I2MDQwIGlzIG5vdCBzZXQKICMgQ09ORklHX1NJUzkwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19FUElDMTAwIGlzIG5vdCBzZXQKICMgQ09ORklHX1NVTkRBTkNFIGlzIG5vdCBzZXQKICMgQ09ORklHX1RMQU4gaXMgbm90IHNldAogIyBDT05GSUdfVklBX1JISU5FIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDOTIwMzEgaXMgbm90IHNldAotQ09ORklHX05FVERFVl8xMDAwPXkKLSMgQ09ORklHX0FDRU5JQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19ETDJLIGlzIG5vdCBzZXQKLSMgQ09ORklHX0UxMDAwIGlzIG5vdCBzZXQKLSMgQ09ORklHX05TODM4MjAgaXMgbm90IHNldAotIyBDT05GSUdfSEFNQUNISSBpcyBub3Qgc2V0Ci0jIENPTkZJR19ZRUxMT1dGSU4gaXMgbm90IHNldAotIyBDT05GSUdfUjgxNjkgaXMgbm90IHNldAotIyBDT05GSUdfU0lTMTkwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NLR0UgaXMgbm90IHNldAotIyBDT05GSUdfU0tZMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19WSUFfVkVMT0NJVFkgaXMgbm90IHNldAotIyBDT05GSUdfVElHT04zIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JOWDIgaXMgbm90IHNldAotIyBDT05GSUdfUUxBM1hYWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19BVEwxIGlzIG5vdCBzZXQKLUNPTkZJR19ORVRERVZfMTAwMDA9eQotIyBDT05GSUdfQ0hFTFNJT19UMSBpcyBub3Qgc2V0Ci0jIENPTkZJR19DSEVMU0lPX1QzIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lYR0IgaXMgbm90IHNldAotIyBDT05GSUdfUzJJTyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NWVJJMTBHRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19ORVRYRU5fTklDIGlzIG5vdCBzZXQKLSMgQ09ORklHX01MWDRfQ09SRSBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRERVZfMTAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRERVZfMTAwMDAgaXMgbm90IHNldAogIyBDT05GSUdfVFIgaXMgbm90IHNldAogCiAjCiAjIFdpcmVsZXNzIExBTgogIwogIyBDT05GSUdfV0xBTl9QUkU4MDIxMSBpcyBub3Qgc2V0Ci0jIENPTkZJR19XTEFOXzgwMjExIGlzIG5vdCBzZXQKK0NPTkZJR19XTEFOXzgwMjExPXkKKyMgQ09ORklHX1BDTUNJQV9SQVlDUyBpcyBub3Qgc2V0CisjIENPTkZJR19JUFcyMTAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQVzIyMDAgaXMgbm90IHNldAorQ09ORklHX0xJQkVSVEFTPW0KKyMgQ09ORklHX0xJQkVSVEFTX1VTQiBpcyBub3Qgc2V0CisjIENPTkZJR19MSUJFUlRBU19DUyBpcyBub3Qgc2V0CitDT05GSUdfTElCRVJUQVNfU0RJTz1tCisjIENPTkZJR19MSUJFUlRBU19ERUJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19IRVJNRVMgaXMgbm90IHNldAorIyBDT05GSUdfQVRNRUwgaXMgbm90IHNldAorIyBDT05GSUdfQUlST19DUyBpcyBub3Qgc2V0CisjIENPTkZJR19QQ01DSUFfV0wzNTAxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BSSVNNNTQgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1pEMTIwMSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfTkVUX1JORElTX1dMQU4gaXMgbm90IHNldAorIyBDT05GSUdfSVdMV0lGSSBpcyBub3Qgc2V0CisjIENPTkZJR19JV0xXSUZJX0xFRFMgaXMgbm90IHNldAorIyBDT05GSUdfSE9TVEFQIGlzIG5vdCBzZXQKIAogIwogIyBVU0IgTmV0d29yayBBZGFwdGVycwpAQCAtNjUxLDE1ICs3OTEsMjQgQEAKICMgQ09ORklHX1VTQl9LQVdFVEggaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1BFR0FTVVMgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1JUTDgxNTAgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1VTQk5FVF9NSUkgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1VTQk5FVCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfUENNQ0lBIGlzIG5vdCBzZXQKICMgQ09ORklHX1dBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19GRERJIGlzIG5vdCBzZXQKICMgQ09ORklHX0hJUFBJIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BQUCBpcyBub3Qgc2V0CitDT05GSUdfUFBQPW0KK0NPTkZJR19QUFBfTVVMVElMSU5LPXkKK0NPTkZJR19QUFBfRklMVEVSPXkKK0NPTkZJR19QUFBfQVNZTkM9bQorIyBDT05GSUdfUFBQX1NZTkNfVFRZIGlzIG5vdCBzZXQKK0NPTkZJR19QUFBfREVGTEFURT1tCitDT05GSUdfUFBQX0JTRENPTVA9bQorIyBDT05GSUdfUFBQX01QUEUgaXMgbm90IHNldAorIyBDT05GSUdfUFBQT0UgaXMgbm90IHNldAorIyBDT05GSUdfUFBQT0wyVFAgaXMgbm90IHNldAogIyBDT05GSUdfU0xJUCBpcyBub3Qgc2V0CitDT05GSUdfU0xIQz1tCiAjIENPTkZJR19ORVRfRkMgaXMgbm90IHNldAotIyBDT05GSUdfU0hBUEVSIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVENPTlNPTEUgaXMgbm90IHNldAogIyBDT05GSUdfTkVUUE9MTCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfUE9MTF9DT05UUk9MTEVSIGlzIG5vdCBzZXQKQEAgLTY3NSwyMCArODI0LDMyIEBACiAjCiAjIFVzZXJsYW5kIGludGVyZmFjZXMKICMKLSMgQ09ORklHX0lOUFVUX01PVVNFREVWIGlzIG5vdCBzZXQKK0NPTkZJR19JTlBVVF9NT1VTRURFVj15CitDT05GSUdfSU5QVVRfTU9VU0VERVZfUFNBVVg9eQorQ09ORklHX0lOUFVUX01PVVNFREVWX1NDUkVFTl9YPTEwMjQKK0NPTkZJR19JTlBVVF9NT1VTRURFVl9TQ1JFRU5fWT03NjgKICMgQ09ORklHX0lOUFVUX0pPWURFViBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTlBVVF9UU0RFViBpcyBub3Qgc2V0CiBDT05GSUdfSU5QVVRfRVZERVY9eQogIyBDT05GSUdfSU5QVVRfRVZCVUcgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfQVBNUE9XRVIgaXMgbm90IHNldAogCiAjCiAjIElucHV0IERldmljZSBEcml2ZXJzCiAjCi0jIENPTkZJR19JTlBVVF9LRVlCT0FSRCBpcyBub3Qgc2V0CitDT05GSUdfSU5QVVRfS0VZQk9BUkQ9eQorQ09ORklHX0tFWUJPQVJEX0FUS0JEPXkKKyMgQ09ORklHX0tFWUJPQVJEX1NVTktCRCBpcyBub3Qgc2V0CisjIENPTkZJR19LRVlCT0FSRF9MS0tCRCBpcyBub3Qgc2V0CisjIENPTkZJR19LRVlCT0FSRF9YVEtCRCBpcyBub3Qgc2V0CisjIENPTkZJR19LRVlCT0FSRF9ORVdUT04gaXMgbm90IHNldAorIyBDT05GSUdfS0VZQk9BUkRfU1RPV0FXQVkgaXMgbm90IHNldAorQ09ORklHX0tFWUJPQVJEX1BYQTI3eD1tCisjIENPTkZJR19LRVlCT0FSRF9HUElPIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX01PVVNFIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX0pPWVNUSUNLIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX1RBQkxFVCBpcyBub3Qgc2V0CiBDT05GSUdfSU5QVVRfVE9VQ0hTQ1JFRU49eQorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fRlVKSVRTVSBpcyBub3Qgc2V0CiAjIENPTkZJR19UT1VDSFNDUkVFTl9HVU5aRSBpcyBub3Qgc2V0CiAjIENPTkZJR19UT1VDSFNDUkVFTl9FTE8gaXMgbm90IHNldAogIyBDT05GSUdfVE9VQ0hTQ1JFRU5fTVRPVUNIIGlzIG5vdCBzZXQKQEAgLTY5NywxMyArODU4LDIyIEBACiAjIENPTkZJR19UT1VDSFNDUkVFTl9UT1VDSFJJR0hUIGlzIG5vdCBzZXQKICMgQ09ORklHX1RPVUNIU0NSRUVOX1RPVUNIV0lOIGlzIG5vdCBzZXQKIENPTkZJR19UT1VDSFNDUkVFTl9VQ0IxNDAwPW0KK0NPTkZJR19UT1VDSFNDUkVFTl9XTTk3WFg9bQorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fV005NzA1IGlzIG5vdCBzZXQKK0NPTkZJR19UT1VDSFNDUkVFTl9XTTk3MTI9eQorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fV005NzEzIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RPVUNIU0NSRUVOX1dNOTdYWF9NQUlOU1RPTkUgaXMgbm90IHNldAogIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVVNCX0NPTVBPU0lURSBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9NSVNDIGlzIG5vdCBzZXQKIAogIwogIyBIYXJkd2FyZSBJL08gcG9ydHMKICMKLSMgQ09ORklHX1NFUklPIGlzIG5vdCBzZXQKK0NPTkZJR19TRVJJTz15CisjIENPTkZJR19TRVJJT19TRVJQT1JUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFUklPX1BDSVBTMiBpcyBub3Qgc2V0CitDT05GSUdfU0VSSU9fTElCUFMyPXkKKyMgQ09ORklHX1NFUklPX1JBVyBpcyBub3Qgc2V0CiAjIENPTkZJR19HQU1FUE9SVCBpcyBub3Qgc2V0CiAKICMKQEAgLTcxMyw3ICs4ODMsOSBAQAogQ09ORklHX1ZUX0NPTlNPTEU9eQogQ09ORklHX0hXX0NPTlNPTEU9eQogIyBDT05GSUdfVlRfSFdfQ09OU09MRV9CSU5ESU5HIGlzIG5vdCBzZXQKK0NPTkZJR19ERVZLTUVNPXkKICMgQ09ORklHX1NFUklBTF9OT05TVEFOREFSRCBpcyBub3Qgc2V0CisjIENPTkZJR19OT1pPTUkgaXMgbm90IHNldAogCiAjCiAjIFNlcmlhbCBkcml2ZXJzCkBAIC03MzAsODMgKzkwMiwxNDEgQEAKICMgQ09ORklHX1NFUklBTF9KU00gaXMgbm90IHNldAogQ09ORklHX1VOSVg5OF9QVFlTPXkKIENPTkZJR19MRUdBQ1lfUFRZUz15Ci1DT05GSUdfTEVHQUNZX1BUWV9DT1VOVD0yNTYKK0NPTkZJR19MRUdBQ1lfUFRZX0NPVU5UPTE2CiAjIENPTkZJR19JUE1JX0hBTkRMRVIgaXMgbm90IHNldAotIyBDT05GSUdfV0FUQ0hET0cgaXMgbm90IHNldAotQ09ORklHX0hXX1JBTkRPTT1tCisjIENPTkZJR19IV19SQU5ET00gaXMgbm90IHNldAogIyBDT05GSUdfTlZSQU0gaXMgbm90IHNldAogIyBDT05GSUdfUjM5NjQgaXMgbm90IHNldAogIyBDT05GSUdfQVBQTElDT00gaXMgbm90IHNldAotIyBDT05GSUdfRFJNIGlzIG5vdCBzZXQKKworIworIyBQQ01DSUEgY2hhcmFjdGVyIGRldmljZXMKKyMKKyMgQ09ORklHX1NZTkNMSU5LX0NTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NBUkRNQU5fNDAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19DQVJETUFOXzQwNDAgaXMgbm90IHNldAorIyBDT05GSUdfSVBXSVJFTEVTUyBpcyBub3Qgc2V0CiAjIENPTkZJR19SQVdfRFJJVkVSIGlzIG5vdCBzZXQKICMgQ09ORklHX1RDR19UUE0gaXMgbm90IHNldAogQ09ORklHX0RFVlBPUlQ9eQotIyBDT05GSUdfSTJDIGlzIG5vdCBzZXQKK0NPTkZJR19JMkM9eQorQ09ORklHX0kyQ19CT0FSRElORk89eQorQ09ORklHX0kyQ19DSEFSREVWPW0KIAogIwotIyBTUEkgc3VwcG9ydAorIyBJMkMgSGFyZHdhcmUgQnVzIHN1cHBvcnQKICMKKyMgQ09ORklHX0kyQ19BTEkxNTM1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19BTEkxNTYzIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19BTEkxNVgzIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19BTUQ3NTYgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0FNRDgxMTEgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0dQSU8gaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0k4MDEgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0k4MTAgaXMgbm90IHNldAorQ09ORklHX0kyQ19QWEE9eQorIyBDT05GSUdfSTJDX1BYQV9TTEFWRSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfUElJWDQgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX05GT1JDRTIgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX09DT1JFUyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfUEFSUE9SVF9MSUdIVCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfUFJPU0FWQUdFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TQVZBR0U0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TSU1URUMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1NJUzU1OTUgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1NJUzYzMCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfU0lTOTZYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19UQU9TX0VWTSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfU1RVQiBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfVElOWV9VU0IgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1ZJQSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfVklBUFJPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19WT09ET08zIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19QQ0FfUExBVEZPUk0gaXMgbm90IHNldAorCisjCisjIE1pc2NlbGxhbmVvdXMgSTJDIENoaXAgc3VwcG9ydAorIworIyBDT05GSUdfRFMxNjgyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfRUVQUk9NIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfUENGODU3NCBpcyBub3Qgc2V0CisjIENPTkZJR19QQ0Y4NTc1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfUENGODU5MSBpcyBub3Qgc2V0CisjIENPTkZJR19UUFM2NTAxMCBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX01BWDY4NzUgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19UU0wyNTUwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ERUJVR19DT1JFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ERUJVR19BTEdPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ERUJVR19CVVMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0RFQlVHX0NISVAgaXMgbm90IHNldAogIyBDT05GSUdfU1BJIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NQSV9NQVNURVIgaXMgbm90IHNldAorQ09ORklHX0hBVkVfR1BJT19MSUI9eQorCisjCisjIEdQSU8gU3VwcG9ydAorIworIyBDT05GSUdfREVCVUdfR1BJTyBpcyBub3Qgc2V0CisKKyMKKyMgSTJDIEdQSU8gZXhwYW5kZXJzOgorIworIyBDT05GSUdfR1BJT19QQ0E5NTNYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0dQSU9fUENGODU3WCBpcyBub3Qgc2V0CisKKyMKKyMgU1BJIEdQSU8gZXhwYW5kZXJzOgorIwogIyBDT05GSUdfVzEgaXMgbm90IHNldAorIyBDT05GSUdfUE9XRVJfU1VQUExZIGlzIG5vdCBzZXQKICMgQ09ORklHX0hXTU9OIGlzIG5vdCBzZXQKLUNPTkZJR19NSVNDX0RFVklDRVM9eQotIyBDT05GSUdfUEhBTlRPTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19FRVBST01fOTNDWDYgaXMgbm90IHNldAotIyBDT05GSUdfU0dJX0lPQzQgaXMgbm90IHNldAotIyBDT05GSUdfVElGTV9DT1JFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1dBVENIRE9HIGlzIG5vdCBzZXQKKworIworIyBTb25pY3MgU2lsaWNvbiBCYWNrcGxhbmUKKyMKK0NPTkZJR19TU0JfUE9TU0lCTEU9eQorIyBDT05GSUdfU1NCIGlzIG5vdCBzZXQKIAogIwogIyBNdWx0aWZ1bmN0aW9uIGRldmljZSBkcml2ZXJzCiAjCiAjIENPTkZJR19NRkRfU001MDEgaXMgbm90IHNldAotCi0jCi0jIExFRCBkZXZpY2VzCi0jCi1DT05GSUdfTkVXX0xFRFM9eQotQ09ORklHX0xFRFNfQ0xBU1M9eQotCi0jCi0jIExFRCBkcml2ZXJzCi0jCi1DT05GSUdfTEVEU19DTV9YMjcwPXkKLQotIwotIyBMRUQgVHJpZ2dlcnMKLSMKLUNPTkZJR19MRURTX1RSSUdHRVJTPXkKLSMgQ09ORklHX0xFRFNfVFJJR0dFUl9USU1FUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19MRURTX1RSSUdHRVJfSURFX0RJU0sgaXMgbm90IHNldAotQ09ORklHX0xFRFNfVFJJR0dFUl9IRUFSVEJFQVQ9eQorIyBDT05GSUdfTUZEX0FTSUMzIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hUQ19FR1BJTyBpcyBub3Qgc2V0CisjIENPTkZJR19IVENfUEFTSUMzIGlzIG5vdCBzZXQKIAogIwogIyBNdWx0aW1lZGlhIGRldmljZXMKICMKKworIworIyBNdWx0aW1lZGlhIGNvcmUgc3VwcG9ydAorIwogIyBDT05GSUdfVklERU9fREVWIGlzIG5vdCBzZXQKICMgQ09ORklHX0RWQl9DT1JFIGlzIG5vdCBzZXQKLUNPTkZJR19EQUI9eQotIyBDT05GSUdfVVNCX0RBQlVTQiBpcyBub3Qgc2V0CisKKyMKKyMgTXVsdGltZWRpYSBkcml2ZXJzCisjCisjIENPTkZJR19EQUIgaXMgbm90IHNldAogCiAjCiAjIEdyYXBoaWNzIHN1cHBvcnQKICMKLSMgQ09ORklHX0JBQ0tMSUdIVF9MQ0RfU1VQUE9SVCBpcyBub3Qgc2V0Ci0KLSMKLSMgRGlzcGxheSBkZXZpY2Ugc3VwcG9ydAotIwotIyBDT05GSUdfRElTUExBWV9TVVBQT1JUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RSTSBpcyBub3Qgc2V0CiAjIENPTkZJR19WR0FTVEFURSBpcyBub3Qgc2V0CisjIENPTkZJR19WSURFT19PVVRQVVRfQ09OVFJPTCBpcyBub3Qgc2V0CiBDT05GSUdfRkI9eQogIyBDT05GSUdfRklSTVdBUkVfRURJRCBpcyBub3Qgc2V0CiAjIENPTkZJR19GQl9EREMgaXMgbm90IHNldAogQ09ORklHX0ZCX0NGQl9GSUxMUkVDVD15CiBDT05GSUdfRkJfQ0ZCX0NPUFlBUkVBPXkKIENPTkZJR19GQl9DRkJfSU1BR0VCTElUPXkKKyMgQ09ORklHX0ZCX0NGQl9SRVZfUElYRUxTX0lOX0JZVEUgaXMgbm90IHNldAogIyBDT05GSUdfRkJfU1lTX0ZJTExSRUNUIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZCX1NZU19DT1BZQVJFQSBpcyBub3Qgc2V0CiAjIENPTkZJR19GQl9TWVNfSU1BR0VCTElUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0ZPUkVJR05fRU5ESUFOIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZCX1NZU19GT1BTIGlzIG5vdCBzZXQKIENPTkZJR19GQl9ERUZFUlJFRF9JTz15CiAjIENPTkZJR19GQl9TVkdBTElCIGlzIG5vdCBzZXQKQEAgLTg0Miw5ICsxMDcyLDE3IEBACiAjIENPTkZJR19GQl9BUksgaXMgbm90IHNldAogIyBDT05GSUdfRkJfUE0zIGlzIG5vdCBzZXQKIENPTkZJR19GQl9QWEE9eQotIyBDT05GSUdfRkJfUFhBX1BBUkFNRVRFUlMgaXMgbm90IHNldAorIyBDT05GSUdfRkJfUFhBX1NNQVJUUEFORUwgaXMgbm90IHNldAorQ09ORklHX0ZCX1BYQV9QQVJBTUVURVJTPXkKIENPTkZJR19GQl9NQlg9bQorIyBDT05GSUdfRkJfQU0yMDBFUEQgaXMgbm90IHNldAogIyBDT05GSUdfRkJfVklSVFVBTCBpcyBub3Qgc2V0CisjIENPTkZJR19CQUNLTElHSFRfTENEX1NVUFBPUlQgaXMgbm90IHNldAorCisjCisjIERpc3BsYXkgZGV2aWNlIHN1cHBvcnQKKyMKKyMgQ09ORklHX0RJU1BMQVlfU1VQUE9SVCBpcyBub3Qgc2V0CiAKICMKICMgQ29uc29sZSBkaXNwbGF5IGRyaXZlciBzdXBwb3J0CkBAIC05MDQsMTAgKzExNDIsMTIgQEAKICMgQ09ORklHX1NORF9BVTg4MTAgaXMgbm90IHNldAogIyBDT05GSUdfU05EX0FVODgyMCBpcyBub3Qgc2V0CiAjIENPTkZJR19TTkRfQVU4ODMwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9BVzIgaXMgbm90IHNldAogIyBDT05GSUdfU05EX0FaVDMzMjggaXMgbm90IHNldAogIyBDT05GSUdfU05EX0JUODdYIGlzIG5vdCBzZXQKICMgQ09ORklHX1NORF9DQTAxMDYgaXMgbm90IHNldAogIyBDT05GSUdfU05EX0NNSVBDSSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfT1hZR0VOIGlzIG5vdCBzZXQKICMgQ09ORklHX1NORF9DUzQyODEgaXMgbm90IHNldAogIyBDT05GSUdfU05EX0NTNDZYWCBpcyBub3Qgc2V0CiAjIENPTkZJR19TTkRfREFSTEEyMCBpcyBub3Qgc2V0CkBAIC05MzIsNiArMTE3Miw3IEBACiAjIENPTkZJR19TTkRfSERBX0lOVEVMIGlzIG5vdCBzZXQKICMgQ09ORklHX1NORF9IRFNQIGlzIG5vdCBzZXQKICMgQ09ORklHX1NORF9IRFNQTSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfSElGSUVSIGlzIG5vdCBzZXQKICMgQ09ORklHX1NORF9JQ0UxNzEyIGlzIG5vdCBzZXQKICMgQ09ORklHX1NORF9JQ0UxNzI0IGlzIG5vdCBzZXQKICMgQ09ORklHX1NORF9JTlRFTDhYMCBpcyBub3Qgc2V0CkBAIC05NDksNiArMTE5MCw3IEBACiAjIENPTkZJR19TTkRfVFJJREVOVCBpcyBub3Qgc2V0CiAjIENPTkZJR19TTkRfVklBODJYWCBpcyBub3Qgc2V0CiAjIENPTkZJR19TTkRfVklBODJYWF9NT0RFTSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfVklSVFVPU08gaXMgbm90IHNldAogIyBDT05GSUdfU05EX1ZYMjIyIGlzIG5vdCBzZXQKICMgQ09ORklHX1NORF9ZTUZQQ0kgaXMgbm90IHNldAogIyBDT05GSUdfU05EX0FDOTdfUE9XRVJfU0FWRSBpcyBub3Qgc2V0CkBAIC05NjYsMTggKzEyMDgsMzMgQEAKICMgQ09ORklHX1NORF9VU0JfQ0FJQVEgaXMgbm90IHNldAogCiAjCisjIFBDTUNJQSBkZXZpY2VzCisjCisjIENPTkZJR19TTkRfVlhQT0NLRVQgaXMgbm90IHNldAorIyBDT05GSUdfU05EX1BEQVVESU9DRiBpcyBub3Qgc2V0CisKKyMKICMgU3lzdGVtIG9uIENoaXAgYXVkaW8gc3VwcG9ydAogIwogIyBDT05GSUdfU05EX1NPQyBpcyBub3Qgc2V0CiAKICMKKyMgQUxTQSBTb0MgYXVkaW8gZm9yIEZyZWVzY2FsZSBTT0NzCisjCisKKyMKKyMgU29DIEF1ZGlvIGZvciB0aGUgVGV4YXMgSW5zdHJ1bWVudHMgT01BUAorIworCisjCiAjIE9wZW4gU291bmQgU3lzdGVtCiAjCiAjIENPTkZJR19TT1VORF9QUklNRSBpcyBub3Qgc2V0CiBDT05GSUdfQUM5N19CVVM9bQogQ09ORklHX0hJRF9TVVBQT1JUPXkKIENPTkZJR19ISUQ9eQotIyBDT05GSUdfSElEX0RFQlVHIGlzIG5vdCBzZXQKK0NPTkZJR19ISURfREVCVUc9eQorIyBDT05GSUdfSElEUkFXIGlzIG5vdCBzZXQKIAogIwogIyBVU0IgSW5wdXQgRGV2aWNlcwpAQCAtOTkyLDYgKzEyNDksNyBAQAogQ09ORklHX1VTQl9BUkNIX0hBU19FSENJPXkKIENPTkZJR19VU0I9eQogIyBDT05GSUdfVVNCX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9BTk5PVU5DRV9ORVdfREVWSUNFUyBpcyBub3Qgc2V0CiAKICMKICMgTWlzY2VsbGFuZW91cyBVU0Igb3B0aW9ucwpAQCAtMTAwMCw4ICsxMjU4LDkgQEAKICMgQ09ORklHX1VTQl9ERVZJQ0VfQ0xBU1MgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0RZTkFNSUNfTUlOT1JTIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVVNQRU5EIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9QRVJTSVNUIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9PVEcgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX09UR19XSElURUxJU1QgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX09UR19CTEFDS0xJU1RfSFVCIGlzIG5vdCBzZXQKIAogIwogIyBVU0IgSG9zdCBDb250cm9sbGVyIERyaXZlcnMKQEAgLTEwMzMsMTMgKzEyOTIsMTYgQEAKICMgQ09ORklHX1VTQl9TVE9SQUdFX0RFQlVHIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX0RBVEFGQUIgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfRlJFRUNPTSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1RPUkFHRV9JU0QyMDAgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfRFBDTSBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9VU0JBVCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9TRERSMDkgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfU0REUjU1IGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX0pVTVBTSE9UIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX0FMQVVEQSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1RPUkFHRV9PTkVUT1VDSCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9LQVJNQSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1RPUkFHRV9DWVBSRVNTX0FUQUNCIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9MSUJVU1VBTCBpcyBub3Qgc2V0CiAKICMKQEAgLTEwNTIsMTAgKzEzMTQsNiBAQAogIwogIyBVU0IgcG9ydCBkcml2ZXJzCiAjCi0KLSMKLSMgVVNCIFNlcmlhbCBDb252ZXJ0ZXIgc3VwcG9ydAotIwogIyBDT05GSUdfVVNCX1NFUklBTCBpcyBub3Qgc2V0CiAKICMKQEAgLTEwODAsMTQgKzEzMzgsNiBAQAogIyBDT05GSUdfVVNCX1RSQU5DRVZJQlJBVE9SIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9JT1dBUlJJT1IgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1RFU1QgaXMgbm90IHNldAotCi0jCi0jIFVTQiBEU0wgbW9kZW0gc3VwcG9ydAotIwotCi0jCi0jIFVTQiBHYWRnZXQgU3VwcG9ydAotIwogIyBDT05GSUdfVVNCX0dBREdFVCBpcyBub3Qgc2V0CiBDT05GSUdfTU1DPW0KICMgQ09ORklHX01NQ19ERUJVRyBpcyBub3Qgc2V0CkBAIC0xMDk4LDYgKzEzNDgsNyBAQAogIwogQ09ORklHX01NQ19CTE9DSz1tCiBDT05GSUdfTU1DX0JMT0NLX0JPVU5DRT15CisjIENPTkZJR19TRElPX1VBUlQgaXMgbm90IHNldAogCiAjCiAjIE1NQy9TRCBIb3N0IENvbnRyb2xsZXIgRHJpdmVycwpAQCAtMTEwNSwxMCArMTM1NiwyMiBAQAogQ09ORklHX01NQ19QWEE9bQogIyBDT05GSUdfTU1DX1NESENJIGlzIG5vdCBzZXQKICMgQ09ORklHX01NQ19USUZNX1NEIGlzIG5vdCBzZXQKK0NPTkZJR19ORVdfTEVEUz15CitDT05GSUdfTEVEU19DTEFTUz15CiAKICMKLSMgUmVhbCBUaW1lIENsb2NrCisjIExFRCBkcml2ZXJzCiAjCisjIENPTkZJR19MRURTX0dQSU8gaXMgbm90IHNldAorQ09ORklHX0xFRFNfQ01fWDI3MD15CisKKyMKKyMgTEVEIFRyaWdnZXJzCisjCitDT05GSUdfTEVEU19UUklHR0VSUz15CisjIENPTkZJR19MRURTX1RSSUdHRVJfVElNRVIgaXMgbm90IHNldAorQ09ORklHX0xFRFNfVFJJR0dFUl9IRUFSVEJFQVQ9eQorIyBDT05GSUdfTEVEU19UUklHR0VSX0RFRkFVTFRfT04gaXMgbm90IHNldAogQ09ORklHX1JUQ19MSUI9eQogQ09ORklHX1JUQ19DTEFTUz15CiBDT05GSUdfUlRDX0hDVE9TWVM9eQpAQCAtMTEyNSwxMSArMTM4OCwzMiBAQAogIyBDT05GSUdfUlRDX0RSVl9URVNUIGlzIG5vdCBzZXQKIAogIworIyBJMkMgUlRDIGRyaXZlcnMKKyMKKyMgQ09ORklHX1JUQ19EUlZfRFMxMzA3IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfRFMxMzc0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfRFMxNjcyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfTUFYNjkwMCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1JTNUMzNzIgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9JU0wxMjA4IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfWDEyMDUgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9QQ0Y4NTYzIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUENGODU4MyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX000MVQ4MCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1MzNTM5MEEgaXMgbm90IHNldAorCisjCisjIFNQSSBSVEMgZHJpdmVycworIworCisjCiAjIFBsYXRmb3JtIFJUQyBkcml2ZXJzCiAjCiAjIENPTkZJR19SVENfRFJWX0NNT1MgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9EUzE1MTEgaXMgbm90IHNldAogIyBDT05GSUdfUlRDX0RSVl9EUzE1NTMgaXMgbm90IHNldAogIyBDT05GSUdfUlRDX0RSVl9EUzE3NDIgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9TVEsxN1RBOCBpcyBub3Qgc2V0CiAjIENPTkZJR19SVENfRFJWX000OFQ4NiBpcyBub3Qgc2V0CiAjIENPTkZJR19SVENfRFJWX000OFQ1OSBpcyBub3Qgc2V0CiBDT05GSUdfUlRDX0RSVl9WMzAyMD15CkBAIC0xMTM4LDE5ICsxNDIyLDcgQEAKICMgb24tQ1BVIFJUQyBkcml2ZXJzCiAjCiBDT05GSUdfUlRDX0RSVl9TQTExMDA9eQotCi0jCi0jIERNQSBFbmdpbmUgc3VwcG9ydAotIwotIyBDT05GSUdfRE1BX0VOR0lORSBpcyBub3Qgc2V0Ci0KLSMKLSMgRE1BIENsaWVudHMKLSMKLQotIwotIyBETUEgRGV2aWNlcwotIworIyBDT05GSUdfVUlPIGlzIG5vdCBzZXQKIAogIwogIyBGaWxlIHN5c3RlbXMKQEAgLTExNjQsMjAgKzE0MzYsMTYgQEAKICMgQ09ORklHX0VYVDNfRlNfU0VDVVJJVFkgaXMgbm90IHNldAogIyBDT05GSUdfRVhUNERFVl9GUyBpcyBub3Qgc2V0CiBDT05GSUdfSkJEPXkKLSMgQ09ORklHX0pCRF9ERUJVRyBpcyBub3Qgc2V0CiBDT05GSUdfRlNfTUJDQUNIRT15CiAjIENPTkZJR19SRUlTRVJGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19KRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKICMgQ09ORklHX1hGU19GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19HRlMyX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX09DRlMyX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX01JTklYX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JPTUZTX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19ETk9USUZZPXkKIENPTkZJR19JTk9USUZZPXkKIENPTkZJR19JTk9USUZZX1VTRVI9eQogIyBDT05GSUdfUVVPVEEgaXMgbm90IHNldAotQ09ORklHX0ROT1RJRlk9eQogIyBDT05GSUdfQVVUT0ZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0FVVE9GUzRfRlMgaXMgbm90IHNldAogIyBDT05GSUdfRlVTRV9GUyBpcyBub3Qgc2V0CkBAIC0xMTkxLDkgKzE0NTksOSBAQAogIwogIyBET1MvRkFUL05UIEZpbGVzeXN0ZW1zCiAjCi1DT05GSUdfRkFUX0ZTPXkKLUNPTkZJR19NU0RPU19GUz15Ci1DT05GSUdfVkZBVF9GUz15CitDT05GSUdfRkFUX0ZTPW0KKyMgQ09ORklHX01TRE9TX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19WRkFUX0ZTPW0KIENPTkZJR19GQVRfREVGQVVMVF9DT0RFUEFHRT00MzcKIENPTkZJR19GQVRfREVGQVVMVF9JT0NIQVJTRVQ9Imlzbzg4NTktMSIKICMgQ09ORklHX05URlNfRlMgaXMgbm90IHNldApAQCAtMTIwNyw3ICsxNDc1LDYgQEAKIENPTkZJR19UTVBGUz15CiAjIENPTkZJR19UTVBGU19QT1NJWF9BQ0wgaXMgbm90IHNldAogIyBDT05GSUdfSFVHRVRMQl9QQUdFIGlzIG5vdCBzZXQKLUNPTkZJR19SQU1GUz15CiAjIENPTkZJR19DT05GSUdGU19GUyBpcyBub3Qgc2V0CiAKICMKQEAgLTEyMjAsMjIgKzE0ODcsMzAgQEAKICMgQ09ORklHX0JFRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQkZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0VGU19GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19KRkZTMl9GUyBpcyBub3Qgc2V0CitDT05GSUdfSkZGUzJfRlM9eQorQ09ORklHX0pGRlMyX0ZTX0RFQlVHPTAKK0NPTkZJR19KRkZTMl9GU19XUklURUJVRkZFUj15CisjIENPTkZJR19KRkZTMl9GU19XQlVGX1ZFUklGWSBpcyBub3Qgc2V0CitDT05GSUdfSkZGUzJfU1VNTUFSWT15CisjIENPTkZJR19KRkZTMl9GU19YQVRUUiBpcyBub3Qgc2V0CisjIENPTkZJR19KRkZTMl9DT01QUkVTU0lPTl9PUFRJT05TIGlzIG5vdCBzZXQKK0NPTkZJR19KRkZTMl9aTElCPXkKKyMgQ09ORklHX0pGRlMyX0xaTyBpcyBub3Qgc2V0CitDT05GSUdfSkZGUzJfUlRJTUU9eQorIyBDT05GSUdfSkZGUzJfUlVCSU4gaXMgbm90IHNldAogIyBDT05GSUdfQ1JBTUZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1ZYRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfTUlOSVhfRlMgaXMgbm90IHNldAogIyBDT05GSUdfSFBGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19RTlg0RlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfUk9NRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfU1lTVl9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19VRlNfRlMgaXMgbm90IHNldAotCi0jCi0jIE5ldHdvcmsgRmlsZSBTeXN0ZW1zCi0jCitDT05GSUdfTkVUV09SS19GSUxFU1lTVEVNUz15CiBDT05GSUdfTkZTX0ZTPXkKIENPTkZJR19ORlNfVjM9eQogIyBDT05GSUdfTkZTX1YzX0FDTCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORlNfVjQgaXMgbm90IHNldAotIyBDT05GSUdfTkZTX0RJUkVDVElPIGlzIG5vdCBzZXQKICMgQ09ORklHX05GU0QgaXMgbm90IHNldAogQ09ORklHX1JPT1RfTkZTPXkKIENPTkZJR19MT0NLRD15CkBAIC0xMjQ1LDkgKzE1MjAsMTMgQEAKICMgQ09ORklHX1NVTlJQQ19CSU5EMzQgaXMgbm90IHNldAogIyBDT05GSUdfUlBDU0VDX0dTU19LUkI1IGlzIG5vdCBzZXQKICMgQ09ORklHX1JQQ1NFQ19HU1NfU1BLTTMgaXMgbm90IHNldAotQ09ORklHX1NNQl9GUz15Ci0jIENPTkZJR19TTUJfTkxTX0RFRkFVTFQgaXMgbm90IHNldAotIyBDT05GSUdfQ0lGUyBpcyBub3Qgc2V0CisjIENPTkZJR19TTUJfRlMgaXMgbm90IHNldAorQ09ORklHX0NJRlM9bQorIyBDT05GSUdfQ0lGU19TVEFUUyBpcyBub3Qgc2V0CisjIENPTkZJR19DSUZTX1dFQUtfUFdfSEFTSCBpcyBub3Qgc2V0CisjIENPTkZJR19DSUZTX1hBVFRSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NJRlNfREVCVUcyIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NJRlNfRVhQRVJJTUVOVEFMIGlzIG5vdCBzZXQKICMgQ09ORklHX05DUF9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19DT0RBX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0FGU19GUyBpcyBub3Qgc2V0CkBAIC0xMjU1LDE1ICsxNTM0LDI3IEBACiAjCiAjIFBhcnRpdGlvbiBUeXBlcwogIwotIyBDT05GSUdfUEFSVElUSU9OX0FEVkFOQ0VEIGlzIG5vdCBzZXQKK0NPTkZJR19QQVJUSVRJT05fQURWQU5DRUQ9eQorIyBDT05GSUdfQUNPUk5fUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX09TRl9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfQU1JR0FfUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUQVJJX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19NQUNfUEFSVElUSU9OIGlzIG5vdCBzZXQKIENPTkZJR19NU0RPU19QQVJUSVRJT049eQotCi0jCi0jIE5hdGl2ZSBMYW5ndWFnZSBTdXBwb3J0Ci0jCi1DT05GSUdfTkxTPXkKKyMgQ09ORklHX0JTRF9ESVNLTEFCRUwgaXMgbm90IHNldAorIyBDT05GSUdfTUlOSVhfU1VCUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NPTEFSSVNfWDg2X1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19VTklYV0FSRV9ESVNLTEFCRUwgaXMgbm90IHNldAorIyBDT05GSUdfTERNX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19TR0lfUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VMVFJJWF9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfU1VOX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19LQVJNQV9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfRUZJX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19TWVNWNjhfUEFSVElUSU9OIGlzIG5vdCBzZXQKK0NPTkZJR19OTFM9bQogQ09ORklHX05MU19ERUZBVUxUPSJpc284ODU5LTEiCi1DT05GSUdfTkxTX0NPREVQQUdFXzQzNz15CitDT05GSUdfTkxTX0NPREVQQUdFXzQzNz1tCiAjIENPTkZJR19OTFNfQ09ERVBBR0VfNzM3IGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19DT0RFUEFHRV83NzUgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1MCBpcyBub3Qgc2V0CkBAIC0xMjg3LDcgKzE1NzgsNyBAQAogIyBDT05GSUdfTkxTX0NPREVQQUdFXzEyNTAgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0NPREVQQUdFXzEyNTEgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0FTQ0lJIGlzIG5vdCBzZXQKLUNPTkZJR19OTFNfSVNPODg1OV8xPXkKK0NPTkZJR19OTFNfSVNPODg1OV8xPW0KICMgQ09ORklHX05MU19JU084ODU5XzIgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0lTTzg4NTlfMyBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfSVNPODg1OV80IGlzIG5vdCBzZXQKQEAgLTEzMDAsNTMgKzE1OTEsNTIgQEAKICMgQ09ORklHX05MU19JU084ODU5XzE1IGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19LT0k4X1IgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0tPSThfVSBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfVVRGOCBpcyBub3Qgc2V0Ci0KLSMKLSMgRGlzdHJpYnV0ZWQgTG9jayBNYW5hZ2VyCi0jCitDT05GSUdfTkxTX1VURjg9bQogIyBDT05GSUdfRExNIGlzIG5vdCBzZXQKIAogIwotIyBQcm9maWxpbmcgc3VwcG9ydAotIwotIyBDT05GSUdfUFJPRklMSU5HIGlzIG5vdCBzZXQKLQotIwogIyBLZXJuZWwgaGFja2luZwogIwogIyBDT05GSUdfUFJJTlRLX1RJTUUgaXMgbm90IHNldAorQ09ORklHX0VOQUJMRV9XQVJOX0RFUFJFQ0FURUQ9eQogQ09ORklHX0VOQUJMRV9NVVNUX0NIRUNLPXkKLUNPTkZJR19NQUdJQ19TWVNSUT15CitDT05GSUdfRlJBTUVfV0FSTj0wCisjIENPTkZJR19NQUdJQ19TWVNSUSBpcyBub3Qgc2V0CiAjIENPTkZJR19VTlVTRURfU1lNQk9MUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19IRUFERVJTX0NIRUNLIGlzIG5vdCBzZXQKIENPTkZJR19ERUJVR19LRVJORUw9eQogIyBDT05GSUdfREVCVUdfU0hJUlEgaXMgbm90IHNldAogIyBDT05GSUdfREVURUNUX1NPRlRMT0NLVVAgaXMgbm90IHNldAotQ09ORklHX1NDSEVEX0RFQlVHPXkKKyMgQ09ORklHX1NDSEVEX0RFQlVHIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDSEVEU1RBVFMgaXMgbm90IHNldAogIyBDT05GSUdfVElNRVJfU1RBVFMgaXMgbm90IHNldAotIyBDT05GSUdfREVCVUdfU0xBQiBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19PQkpFQ1RTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX1JUX01VVEVYRVMgaXMgbm90IHNldAogIyBDT05GSUdfUlRfTVVURVhfVEVTVEVSIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX1NQSU5MT0NLIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX01VVEVYRVMgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfTE9DS19BTExPQyBpcyBub3Qgc2V0CiAjIENPTkZJR19QUk9WRV9MT0NLSU5HIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xPQ0tfU1RBVCBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19TUElOTE9DS19TTEVFUCBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19MT0NLSU5HX0FQSV9TRUxGVEVTVFMgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfS09CSkVDVCBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19CVUdWRVJCT1NFIGlzIG5vdCBzZXQKLUNPTkZJR19ERUJVR19JTkZPPXkKKyMgQ09ORklHX0RFQlVHX0lORk8gaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfVk0gaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfV1JJVEVDT1VOVCBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19MSVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX1NHIGlzIG5vdCBzZXQKIENPTkZJR19GUkFNRV9QT0lOVEVSPXkKLUNPTkZJR19GT1JDRURfSU5MSU5JTkc9eQorIyBDT05GSUdfQk9PVF9QUklOVEtfREVMQVkgaXMgbm90IHNldAogIyBDT05GSUdfUkNVX1RPUlRVUkVfVEVTVCBpcyBub3Qgc2V0CisjIENPTkZJR19CQUNLVFJBQ0VfU0VMRl9URVNUIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZBVUxUX0lOSkVDVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19TQU1QTEVTIGlzIG5vdCBzZXQKIENPTkZJR19ERUJVR19VU0VSPXkKIENPTkZJR19ERUJVR19FUlJPUlM9eQorIyBDT05GSUdfREVCVUdfU1RBQ0tfVVNBR0UgaXMgbm90IHNldAogQ09ORklHX0RFQlVHX0xMPXkKICMgQ09ORklHX0RFQlVHX0lDRURDQyBpcyBub3Qgc2V0CiAKQEAgLTEzNTUsNTUgKzE2NDUsOTYgQEAKICMKICMgQ09ORklHX0tFWVMgaXMgbm90IHNldAogIyBDT05GSUdfU0VDVVJJVFkgaXMgbm90IHNldAorIyBDT05GSUdfU0VDVVJJVFlfRklMRV9DQVBBQklMSVRJRVMgaXMgbm90IHNldAogQ09ORklHX0NSWVBUTz15Ci1DT05GSUdfQ1JZUFRPX0FMR0FQST1tCi1DT05GSUdfQ1JZUFRPX0JMS0NJUEhFUj1tCi1DT05GSUdfQ1JZUFRPX01BTkFHRVI9bQorCisjCisjIENyeXB0byBjb3JlIG9yIGhlbHBlcgorIworIyBDT05GSUdfQ1JZUFRPX01BTkFHRVIgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0dGMTI4TVVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19OVUxMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DUllQVEQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0FVVEhFTkMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1RFU1QgaXMgbm90IHNldAorCisjCisjIEF1dGhlbnRpY2F0ZWQgRW5jcnlwdGlvbiB3aXRoIEFzc29jaWF0ZWQgRGF0YQorIworIyBDT05GSUdfQ1JZUFRPX0NDTSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fR0NNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TRVFJViBpcyBub3Qgc2V0CisKKyMKKyMgQmxvY2sgbW9kZXMKKyMKKyMgQ09ORklHX0NSWVBUT19DQkMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NUUiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ1RTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19FQ0IgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0xSVyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fUENCQyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fWFRTIGlzIG5vdCBzZXQKKworIworIyBIYXNoIG1vZGVzCisjCiAjIENPTkZJR19DUllQVE9fSE1BQyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fWENCQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fTlVMTCBpcyBub3Qgc2V0CisKKyMKKyMgRGlnZXN0CisjCisjIENPTkZJR19DUllQVE9fQ1JDMzJDIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19NRDQgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX01ENSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fTUlDSEFFTF9NSUMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1NIQTEgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1NIQTI1NiBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fU0hBNTEyIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19XUDUxMiBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fVEdSMTkyIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19HRjEyOE1VTCBpcyBub3Qgc2V0Ci1DT05GSUdfQ1JZUFRPX0VDQj1tCi1DT05GSUdfQ1JZUFRPX0NCQz1tCi1DT05GSUdfQ1JZUFRPX1BDQkM9bQotIyBDT05GSUdfQ1JZUFRPX0xSVyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQ1JZUFREIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19ERVMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0ZDUllQVCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fV1A1MTIgaXMgbm90IHNldAorCisjCisjIENpcGhlcnMKKyMKKyMgQ09ORklHX0NSWVBUT19BRVMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0FOVUJJUyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQVJDNCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fQkxPV0ZJU0ggaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1RXT0ZJU0ggaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1NFUlBFTlQgaXMgbm90IHNldAotQ09ORklHX0NSWVBUT19BRVM9bQorIyBDT05GSUdfQ1JZUFRPX0NBTUVMTElBIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19DQVNUNSBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fQ0FTVDYgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1RFQSBpcyBub3Qgc2V0Ci1DT05GSUdfQ1JZUFRPX0FSQzQ9bQorIyBDT05GSUdfQ1JZUFRPX0RFUyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fRkNSWVBUIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19LSEFaQUQgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0FOVUJJUyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0FMU0EyMCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0VFRCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0VSUEVOVCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fVEVBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19UV09GSVNIIGlzIG5vdCBzZXQKKworIworIyBDb21wcmVzc2lvbgorIwogIyBDT05GSUdfQ1JZUFRPX0RFRkxBVEUgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX01JQ0hBRUxfTUlDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19DUkMzMkMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0NBTUVMTElBIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19URVNUIGlzIG5vdCBzZXQKLUNPTkZJR19DUllQVE9fSFc9eQorIyBDT05GSUdfQ1JZUFRPX0xaTyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fSFcgaXMgbm90IHNldAogCiAjCiAjIExpYnJhcnkgcm91dGluZXMKICMKIENPTkZJR19CSVRSRVZFUlNFPXkKLSMgQ09ORklHX0NSQ19DQ0lUVCBpcyBub3Qgc2V0CisjIENPTkZJR19HRU5FUklDX0ZJTkRfRklSU1RfQklUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0dFTkVSSUNfRklORF9ORVhUX0JJVCBpcyBub3Qgc2V0CitDT05GSUdfQ1JDX0NDSVRUPW0KICMgQ09ORklHX0NSQzE2IGlzIG5vdCBzZXQKICMgQ09ORklHX0NSQ19JVFVfVCBpcyBub3Qgc2V0CiBDT05GSUdfQ1JDMzI9eQogIyBDT05GSUdfQ1JDNyBpcyBub3Qgc2V0CiAjIENPTkZJR19MSUJDUkMzMkMgaXMgbm90IHNldAorQ09ORklHX1pMSUJfSU5GTEFURT15CitDT05GSUdfWkxJQl9ERUZMQVRFPXkKIENPTkZJR19QTElTVD15CiBDT05GSUdfSEFTX0lPTUVNPXkKIENPTkZJR19IQVNfSU9QT1JUPXkKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2tlcm5lbC9NYWtlZmlsZSBiL2FyY2gvYXJtL2tlcm5lbC9NYWtlZmlsZQppbmRleCBhZDQ1NWZmLi5lYjkwOTJjIDEwMDY0NAotLS0gYS9hcmNoL2FybS9rZXJuZWwvTWFrZWZpbGUKKysrIGIvYXJjaC9hcm0va2VybmVsL01ha2VmaWxlCkBAIC00LDYgKzQsMTAgQEAKIAogQUZMQUdTX2hlYWQubyA6PSAtRFRFWFRfT0ZGU0VUPSQoVEVYVF9PRkZTRVQpCiAKK2lmZGVmIENPTkZJR19EWU5BTUlDX0ZUUkFDRQorQ0ZMQUdTX1JFTU9WRV9mdHJhY2UubyA9IC1wZworZW5kaWYKKwogIyBPYmplY3QgZmlsZSBsaXN0cy4KIAogb2JqLXkJCTo9IGNvbXBhdC5vIGVudHJ5LWFybXYubyBlbnRyeS1jb21tb24ubyBpcnEubyBcCkBAIC0xOCw2ICsyMiw3IEBACiBvYmotJChDT05GSUdfSVNBX0RNQSkJCSs9IGRtYS1pc2Eubwogb2JqLSQoQ09ORklHX1BDSSkJCSs9IGJpb3MzMi5vIGlzYS5vCiBvYmotJChDT05GSUdfU01QKQkJKz0gc21wLm8KK29iai0kKENPTkZJR19EWU5BTUlDX0ZUUkFDRSkJKz0gZnRyYWNlLm8KIG9iai0kKENPTkZJR19LRVhFQykJCSs9IG1hY2hpbmVfa2V4ZWMubyByZWxvY2F0ZV9rZXJuZWwubwogb2JqLSQoQ09ORklHX0tQUk9CRVMpCQkrPSBrcHJvYmVzLm8ga3Byb2Jlcy1kZWNvZGUubwogb2JqLSQoQ09ORklHX0FUQUdTX1BST0MpCSs9IGF0YWdzLm8KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2tlcm5lbC9hcm1rc3ltcy5jIGIvYXJjaC9hcm0va2VybmVsL2FybWtzeW1zLmMKaW5kZXggNjg4YjdiMS4uY2M3YjI0NiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0va2VybmVsL2FybWtzeW1zLmMKKysrIGIvYXJjaC9hcm0va2VybmVsL2FybWtzeW1zLmMKQEAgLTE4LDYgKzE4LDcgQEAKICNpbmNsdWRlIDxhc20vaW8uaD4KICNpbmNsdWRlIDxhc20vc3lzdGVtLmg+CiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KKyNpbmNsdWRlIDxhc20vZnRyYWNlLmg+CiAKIC8qCiAgKiBsaWJnY2MgZnVuY3Rpb25zIC0gZnVuY3Rpb25zIHRoYXQgYXJlIHVzZWQgaW50ZXJuYWxseSBieSB0aGUKQEAgLTE4MSwzICsxODIsNyBAQAogI2VuZGlmCiAKIEVYUE9SVF9TWU1CT0woY29weV9wYWdlKTsKKworI2lmZGVmIENPTkZJR19GVFJBQ0UKK0VYUE9SVF9TWU1CT0wobWNvdW50KTsKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0va2VybmVsL2F0YWdzLmMgYi9hcmNoL2FybS9rZXJuZWwvYXRhZ3MuYwppbmRleCA2NGM0MjA4Li40MmExYTE0IDEwMDY0NAotLS0gYS9hcmNoL2FybS9rZXJuZWwvYXRhZ3MuYworKysgYi9hcmNoL2FybS9rZXJuZWwvYXRhZ3MuYwpAQCAtMSw1ICsxLDQgQEAKICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+Ci0jaW5jbHVkZSA8bGludXgva2V4ZWMuaD4KICNpbmNsdWRlIDxsaW51eC9wcm9jX2ZzLmg+CiAjaW5jbHVkZSA8YXNtL3NldHVwLmg+CiAjaW5jbHVkZSA8YXNtL3R5cGVzLmg+CkBAIC03LDkgKzYsOCBAQAogCiBzdHJ1Y3QgYnVmZmVyIHsKIAlzaXplX3Qgc2l6ZTsKLQljaGFyICpkYXRhOworCWNoYXIgZGF0YVtdOwogfTsKLXN0YXRpYyBzdHJ1Y3QgYnVmZmVyIHRhZ3NfYnVmZmVyOwogCiBzdGF0aWMgaW50CiByZWFkX2J1ZmZlcihjaGFyKiBwYWdlLCBjaGFyKiogc3RhcnQsIG9mZl90IG9mZiwgaW50IGNvdW50LApAQCAtMjksNTggKzI3LDU3IEBACiAJcmV0dXJuIGNvdW50OwogfQogCi0KLXN0YXRpYyBpbnQKLWNyZWF0ZV9wcm9jX2VudHJpZXModm9pZCkKLXsKLQlzdHJ1Y3QgcHJvY19kaXJfZW50cnkqIHRhZ3NfZW50cnk7Ci0KLQl0YWdzX2VudHJ5ID0gY3JlYXRlX3Byb2NfcmVhZF9lbnRyeSgiYXRhZ3MiLCAwNDAwLCBOVUxMLCByZWFkX2J1ZmZlciwgJnRhZ3NfYnVmZmVyKTsKLQlpZiAoIXRhZ3NfZW50cnkpCi0JCXJldHVybiAtRU5PTUVNOwotCi0JcmV0dXJuIDA7Ci19Ci0KLQotc3RhdGljIGNoYXIgX19pbml0ZGF0YSBhdGFnc19jb3B5X2J1ZltLRVhFQ19CT09UX1BBUkFNU19TSVpFXTsKLXN0YXRpYyBjaGFyIF9faW5pdGRhdGEgKmF0YWdzX2NvcHk7CisjZGVmaW5lIEJPT1RfUEFSQU1TX1NJWkUgMTUzNgorc3RhdGljIGNoYXIgX19pbml0ZGF0YSBhdGFnc19jb3B5W0JPT1RfUEFSQU1TX1NJWkVdOwogCiB2b2lkIF9faW5pdCBzYXZlX2F0YWdzKGNvbnN0IHN0cnVjdCB0YWcgKnRhZ3MpCiB7Ci0JYXRhZ3NfY29weSA9IGF0YWdzX2NvcHlfYnVmOwotCW1lbWNweShhdGFnc19jb3B5LCB0YWdzLCBLRVhFQ19CT09UX1BBUkFNU19TSVpFKTsKKwltZW1jcHkoYXRhZ3NfY29weSwgdGFncywgc2l6ZW9mKGF0YWdzX2NvcHkpKTsKIH0KIAotCiBzdGF0aWMgaW50IF9faW5pdCBpbml0X2F0YWdzX3Byb2Nmcyh2b2lkKQogewotCXN0cnVjdCB0YWcgKnRhZzsKLQlpbnQgZXJyb3I7CisJLyoKKwkgKiBUaGlzIGNhbm5vdCBnbyBpbnRvIHNhdmVfYXRhZ3MoKSBiZWNhdXNlIGttYWxsb2MgYW5kIHByb2MgZG9uJ3Qgd29yaworCSAqIHlldCB3aGVuIGl0IGlzIGNhbGxlZC4KKwkgKi8KKwlzdHJ1Y3QgcHJvY19kaXJfZW50cnkgKnRhZ3NfZW50cnk7CisJc3RydWN0IHRhZyAqdGFnID0gKHN0cnVjdCB0YWcgKilhdGFnc19jb3B5OworCXN0cnVjdCBidWZmZXIgKmI7CisJc2l6ZV90IHNpemU7CiAKLQlpZiAoIWF0YWdzX2NvcHkpIHsKLQkJcHJpbnRrKEtFUk5fV0FSTklORyAiRXhwb3J0aW5nIEFUQUdzOiBObyBzYXZlZCB0YWdzIGZvdW5kXG4iKTsKLQkJcmV0dXJuIC1FSU87CisJaWYgKHRhZy0+aGRyLnRhZyAhPSBBVEFHX0NPUkUpIHsKKwkJcHJpbnRrKEtFUk5fSU5GTyAiTm8gQVRBR3M/Iik7CisJCXJldHVybiAtRUlOVkFMOwogCX0KIAotCWZvciAodGFnID0gKHN0cnVjdCB0YWcgKikgYXRhZ3NfY29weTsgdGFnLT5oZHIuc2l6ZTsgdGFnID0gdGFnX25leHQodGFnKSkKKwlmb3IgKDsgdGFnLT5oZHIuc2l6ZTsgdGFnID0gdGFnX25leHQodGFnKSkKIAkJOwogCi0JdGFnc19idWZmZXIuc2l6ZSA9ICgoY2hhciAqKSB0YWcgLSBhdGFnc19jb3B5KSArIHNpemVvZih0YWctPmhkcik7Ci0JdGFnc19idWZmZXIuZGF0YSA9IGttYWxsb2ModGFnc19idWZmZXIuc2l6ZSwgR0ZQX0tFUk5FTCk7Ci0JaWYgKHRhZ3NfYnVmZmVyLmRhdGEgPT0gTlVMTCkKLQkJcmV0dXJuIC1FTk9NRU07Ci0JbWVtY3B5KHRhZ3NfYnVmZmVyLmRhdGEsIGF0YWdzX2NvcHksIHRhZ3NfYnVmZmVyLnNpemUpOworCS8qIGluY2x1ZGUgdGhlIHRlcm1pbmF0aW5nIEFUQUdfTk9ORSAqLworCXNpemUgPSAoY2hhciAqKXRhZyAtIGF0YWdzX2NvcHkgKyBzaXplb2Yoc3RydWN0IHRhZ19oZWFkZXIpOwogCi0JZXJyb3IgPSBjcmVhdGVfcHJvY19lbnRyaWVzKCk7Ci0JaWYgKGVycm9yKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiRXhwb3J0aW5nIEFUQUdzOiBub3QgZW5vdWdoIG1lbW9yeVxuIik7Ci0JCWtmcmVlKHRhZ3NfYnVmZmVyLmRhdGEpOwotCQl0YWdzX2J1ZmZlci5zaXplID0gMDsKLQkJdGFnc19idWZmZXIuZGF0YSA9IE5VTEw7Ci0JfQorCVdBUk5fT04odGFnLT5oZHIudGFnICE9IEFUQUdfTk9ORSk7CiAKLQlyZXR1cm4gZXJyb3I7CisJYiA9IGttYWxsb2Moc2l6ZW9mKCpiKSArIHNpemUsIEdGUF9LRVJORUwpOworCWlmICghYikKKwkJZ290byBub21lbTsKKworCWItPnNpemUgPSBzaXplOworCW1lbWNweShiLT5kYXRhLCBhdGFnc19jb3B5LCBzaXplKTsKKworCXRhZ3NfZW50cnkgPSBjcmVhdGVfcHJvY19yZWFkX2VudHJ5KCJhdGFncyIsIDA0MDAsCisJCQlOVUxMLCByZWFkX2J1ZmZlciwgYik7CisKKwlpZiAoIXRhZ3NfZW50cnkpCisJCWdvdG8gbm9tZW07CisKKwlyZXR1cm4gMDsKKworbm9tZW06CisJa2ZyZWUoYik7CisJcHJpbnRrKEtFUk5fRVJSICJFeHBvcnRpbmcgQVRBR3M6IG5vdCBlbm91Z2ggbWVtb3J5XG4iKTsKKworCXJldHVybiAtRU5PTUVNOwogfQotCiBhcmNoX2luaXRjYWxsKGluaXRfYXRhZ3NfcHJvY2ZzKTsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2tlcm5lbC9lY2FyZC5jIGIvYXJjaC9hcm0va2VybmVsL2VjYXJkLmMKaW5kZXggYTUzYzBhYi4uOGJmZDI5OSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0va2VybmVsL2VjYXJkLmMKKysrIGIvYXJjaC9hcm0va2VybmVsL2VjYXJkLmMKQEAgLTY4MCw3ICs2ODAsNyBAQAogI2RlZmluZSBJT19FQ19NRU1DOF9CQVNFIDAKICNlbmRpZgogCi11bnNpZ25lZCBpbnQgX19lY2FyZF9hZGRyZXNzKGVjYXJkX3QgKmVjLCBjYXJkX3R5cGVfdCB0eXBlLCBjYXJkX3NwZWVkX3Qgc3BlZWQpCitzdGF0aWMgdW5zaWduZWQgaW50IF9fZWNhcmRfYWRkcmVzcyhlY2FyZF90ICplYywgY2FyZF90eXBlX3QgdHlwZSwgY2FyZF9zcGVlZF90IHNwZWVkKQogewogCXVuc2lnbmVkIGxvbmcgYWRkcmVzcyA9IDA7CiAJaW50IHNsb3QgPSBlYy0+c2xvdF9ubzsKQEAgLTEwMDIsNyArMTAwMiw3IEBACiAJfQogCiAJcmMgPSAtRU5PREVWOwotCWlmICgoZWMtPnBvZGFkZHIgPSBlY2FyZF9hZGRyZXNzKGVjLCB0eXBlLCBFQ0FSRF9TWU5DKSkgPT0gMCkKKwlpZiAoKGVjLT5wb2RhZGRyID0gX19lY2FyZF9hZGRyZXNzKGVjLCB0eXBlLCBFQ0FSRF9TWU5DKSkgPT0gMCkKIAkJZ290byBub2RldjsKIAogCWNpZC5yX3plcm8gPSAxOwpAQCAtMTE0MSwxMCArMTE0MSwxMCBAQAogCiAJaWQgPSBlY2FyZF9tYXRjaF9kZXZpY2UoZHJ2LT5pZF90YWJsZSwgZWMpOwogCi0JZWNhcmRfY2xhaW0oZWMpOworCWVjLT5jbGFpbWVkID0gMTsKIAlyZXQgPSBkcnYtPnByb2JlKGVjLCBpZCk7CiAJaWYgKHJldCkKLQkJZWNhcmRfcmVsZWFzZShlYyk7CisJCWVjLT5jbGFpbWVkID0gMDsKIAlyZXR1cm4gcmV0OwogfQogCkBAIC0xMTU0LDcgKzExNTQsNyBAQAogCXN0cnVjdCBlY2FyZF9kcml2ZXIgKmRydiA9IEVDQVJEX0RSVihkZXYtPmRyaXZlcik7CiAKIAlkcnYtPnJlbW92ZShlYyk7Ci0JZWNhcmRfcmVsZWFzZShlYyk7CisJZWMtPmNsYWltZWQgPSAwOwogCiAJLyoKIAkgKiBSZXN0b3JlIHRoZSBkZWZhdWx0IG9wZXJhdGlvbnMuICBXZSBlbnN1cmUgdGhhdCB0aGUKQEAgLTExODIsNyArMTE4Miw3IEBACiAJaWYgKGRldi0+ZHJpdmVyKSB7CiAJCWlmIChkcnYtPnNodXRkb3duKQogCQkJZHJ2LT5zaHV0ZG93bihlYyk7Ci0JCWVjYXJkX3JlbGVhc2UoZWMpOworCQllYy0+Y2xhaW1lZCA9IDA7CiAJfQogCiAJLyoKQEAgLTEyMzksNyArMTIzOSw2IEBACiBwb3N0Y29yZV9pbml0Y2FsbChlY2FyZF9idXNfaW5pdCk7CiAKIEVYUE9SVF9TWU1CT0woZWNhcmRfcmVhZGNodW5rKTsKLUVYUE9SVF9TWU1CT0woX19lY2FyZF9hZGRyZXNzKTsKIEVYUE9SVF9TWU1CT0woZWNhcmRfcmVnaXN0ZXJfZHJpdmVyKTsKIEVYUE9SVF9TWU1CT0woZWNhcmRfcmVtb3ZlX2RyaXZlcik7CiBFWFBPUlRfU1lNQk9MKGVjYXJkX2J1c190eXBlKTsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2tlcm5lbC9lY2FyZC5oIGIvYXJjaC9hcm0va2VybmVsL2VjYXJkLmgKaW5kZXggZDdjMmRhYy4uNDY0MmQ0MyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0va2VybmVsL2VjYXJkLmgKKysrIGIvYXJjaC9hcm0va2VybmVsL2VjYXJkLmgKQEAgLTU0LDMgKzU0LDE2IEBACiAjZGVmaW5lIGNfbGVuKHgpCSgoeCktPnJfbGVuWzBdfCgoeCktPnJfbGVuWzFdPDw4KXwoKHgpLT5yX2xlblsyXTw8MTYpKQogI2RlZmluZSBjX3N0YXJ0KHgpCSgoeCktPnJfc3RhcnQpCiB9OworCit0eXBlZGVmIGVudW0gZWNhcmRfdHlwZSB7CQkvKiBDYXJkcyBhZGRyZXNzIHNwYWNlCQkqLworCUVDQVJEX0lPQywKKwlFQ0FSRF9NRU1DLAorCUVDQVJEX0VBU0kKK30gY2FyZF90eXBlX3Q7CisKK3R5cGVkZWYgZW51bSB7CQkJCS8qIFNwZWVkIGZvciBFQ0FSRF9JT0Mgc3BhY2UJKi8KKwlFQ0FSRF9TTE9XCSA9IDAsCisJRUNBUkRfTUVESVVNCSA9IDEsCisJRUNBUkRfRkFTVAkgPSAyLAorCUVDQVJEX1NZTkMJID0gMworfSBjYXJkX3NwZWVkX3Q7CmRpZmYgLS1naXQgYS9hcmNoL2FybS9rZXJuZWwvZW50cnktY29tbW9uLlMgYi9hcmNoL2FybS9rZXJuZWwvZW50cnktY29tbW9uLlMKaW5kZXggNTk3ZWQwMC4uODQ2OTRlOCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0va2VybmVsL2VudHJ5LWNvbW1vbi5TCisrKyBiL2FyY2gvYXJtL2tlcm5lbC9lbnRyeS1jb21tb24uUwpAQCAtOSw2ICs5LDcgQEAKICAqLwogCiAjaW5jbHVkZSA8YXNtL3VuaXN0ZC5oPgorI2luY2x1ZGUgPGFzbS9mdHJhY2UuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9lbnRyeS1tYWNyby5TPgogCiAjaW5jbHVkZSAiZW50cnktaGVhZGVyLlMiCkBAIC05OSw2ICsxMDAsNTYgQEAKICN1bmRlZiBDQUxMCiAjZGVmaW5lIENBTEwoeCkgLmxvbmcgeAogCisjaWZkZWYgQ09ORklHX0ZUUkFDRQorI2lmZGVmIENPTkZJR19EWU5BTUlDX0ZUUkFDRQorRU5UUlkobWNvdW50KQorCXN0bWRiIHNwISwge3IwLXIzLCBscn0KKwltb3YgcjAsIGxyCisJc3ViIHIwLCByMCwgI01DT1VOVF9JTlNOX1NJWkUKKworCS5nbG9ibCBtY291bnRfY2FsbAorbWNvdW50X2NhbGw6CisJYmwgZnRyYWNlX3N0dWIKKwlsZG1pYSBzcCEsIHtyMC1yMywgcGN9CisKK0VOVFJZKGZ0cmFjZV9jYWxsZXIpCisJc3RtZGIgc3AhLCB7cjAtcjMsIGxyfQorCWxkciByMSwgW2ZwLCAjLTRdCisJbW92IHIwLCBscgorCXN1YiByMCwgcjAsICNNQ09VTlRfSU5TTl9TSVpFCisKKwkuZ2xvYmwgZnRyYWNlX2NhbGwKK2Z0cmFjZV9jYWxsOgorCWJsIGZ0cmFjZV9zdHViCisJbGRtaWEgc3AhLCB7cjAtcjMsIHBjfQorCisjZWxzZQorCitFTlRSWShtY291bnQpCisJc3RtZGIgc3AhLCB7cjAtcjMsIGxyfQorCWxkciByMCwgPWZ0cmFjZV90cmFjZV9mdW5jdGlvbgorCWxkciByMiwgW3IwXQorCWFkciByMCwgZnRyYWNlX3N0dWIKKwljbXAgcjAsIHIyCisJYm5lIHRyYWNlCisJbGRtaWEgc3AhLCB7cjAtcjMsIHBjfQorCit0cmFjZToKKwlsZHIgcjEsIFtmcCwgIy00XQorCW1vdiByMCwgbHIKKwlzdWIgcjAsIHIwLCAjTUNPVU5UX0lOU05fU0laRQorCW1vdiBsciwgcGMKKwltb3YgcGMsIHIyCisJbGRtaWEgc3AhLCB7cjAtcjMsIHBjfQorCisjZW5kaWYgLyogQ09ORklHX0RZTkFNSUNfRlRSQUNFICovCisKKwkuZ2xvYmwgZnRyYWNlX3N0dWIKK2Z0cmFjZV9zdHViOgorCW1vdiBwYywgbHIKKworI2VuZGlmIC8qIENPTkZJR19GVFJBQ0UgKi8KKwogLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICogU1dJIGhhbmRsZXIKICAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2tlcm5lbC9mdHJhY2UuYyBiL2FyY2gvYXJtL2tlcm5lbC9mdHJhY2UuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NmQ1MGU2Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0va2VybmVsL2Z0cmFjZS5jCkBAIC0wLDAgKzEsMTE2IEBACisvKgorICogRHluYW1pYyBmdW5jdGlvbiB0cmFjaW5nIHN1cHBvcnQuCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA4IEFiaGlzaGVrIFNhZ2FyIDxzYWdhci5hYmhpc2hla0BnbWFpbC5jb20+CisgKgorICogRm9yIGxpY2VuY2luZyBkZXRhaWxzLCBzZWUgQ09QWUlORy4KKyAqCisgKiBEZWZpbmVzIGxvdy1sZXZlbCBoYW5kbGluZyBvZiBtY291bnQgY2FsbHMgd2hlbiB0aGUga2VybmVsCisgKiBpcyBjb21waWxlZCB3aXRoIHRoZSAtcGcgZmxhZy4gV2hlbiB1c2luZyBkeW5hbWljIGZ0cmFjZSwgdGhlCisgKiBtY291bnQgY2FsbC1zaXRlcyBnZXQgcGF0Y2hlZCBsYXppbHkgd2l0aCBOT1AgdGlsbCB0aGV5IGFyZQorICogZW5hYmxlZC4gQWxsIGNvZGUgbXV0YXRpb24gcm91dGluZXMgaGVyZSB0YWtlIGVmZmVjdCBhdG9taWNhbGx5LgorICovCisKKyNpbmNsdWRlIDxsaW51eC9mdHJhY2UuaD4KKworI2luY2x1ZGUgPGFzbS9jYWNoZWZsdXNoLmg+CisjaW5jbHVkZSA8YXNtL2Z0cmFjZS5oPgorCisjZGVmaW5lIFBDX09GRlNFVCAgICAgIDgKKyNkZWZpbmUgQkxfT1BDT0RFICAgICAgMHhlYjAwMDAwMAorI2RlZmluZSBCTF9PRkZTRVRfTUFTSyAweDAwZmZmZmZmCisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGJsX2luc247CitzdGF0aWMgY29uc3QgdW5zaWduZWQgbG9uZyBOT1AgPSAweGUxYTAwMDAwOyAvKiBtb3YgcjAsIHIwICovCisKK3Vuc2lnbmVkIGNoYXIgKmZ0cmFjZV9ub3BfcmVwbGFjZSh2b2lkKQoreworCXJldHVybiAoY2hhciAqKSZOT1A7Cit9CisKKy8qIGNvbnN0cnVjdCBhIGJyYW5jaCAoQkwpIGluc3RydWN0aW9uIHRvIGFkZHIgKi8KK3Vuc2lnbmVkIGNoYXIgKmZ0cmFjZV9jYWxsX3JlcGxhY2UodW5zaWduZWQgbG9uZyBwYywgdW5zaWduZWQgbG9uZyBhZGRyKQoreworCWxvbmcgb2Zmc2V0OworCisJb2Zmc2V0ID0gKGxvbmcpYWRkciAtIChsb25nKShwYyArIFBDX09GRlNFVCk7CisJaWYgKHVubGlrZWx5KG9mZnNldCA8IC0zMzU1NDQzMiB8fCBvZmZzZXQgPiAzMzU1NDQyOCkpIHsKKwkJLyogQ2FuJ3QgZ2VuZXJhdGUgYnJhbmNoZXMgdGhhdCBmYXIgKGZyb20gQVJNIEFSTSkuIEZ0cmFjZQorCQkgKiBkb2Vzbid0IGdlbmVyYXRlIGJyYW5jaGVzIG91dHNpZGUgb2Yga2VybmVsIHRleHQuCisJCSAqLworCQlXQVJOX09OX09OQ0UoMSk7CisJCXJldHVybiBOVUxMOworCX0KKwlvZmZzZXQgPSAob2Zmc2V0ID4+IDIpICYgQkxfT0ZGU0VUX01BU0s7CisJYmxfaW5zbiA9IEJMX09QQ09ERSB8IG9mZnNldDsKKwlyZXR1cm4gKHVuc2lnbmVkIGNoYXIgKikmYmxfaW5zbjsKK30KKworaW50IGZ0cmFjZV9tb2RpZnlfY29kZSh1bnNpZ25lZCBsb25nIHBjLCB1bnNpZ25lZCBjaGFyICpvbGRfY29kZSwKKwkJICAgICAgIHVuc2lnbmVkIGNoYXIgKm5ld19jb2RlKQoreworCXVuc2lnbmVkIGxvbmcgZXJyID0gMCwgcmVwbGFjZWQgPSAwLCBvbGQsIG5ldzsKKworCW9sZCA9ICoodW5zaWduZWQgbG9uZyAqKW9sZF9jb2RlOworCW5ldyA9ICoodW5zaWduZWQgbG9uZyAqKW5ld19jb2RlOworCisJX19hc21fXyBfX3ZvbGF0aWxlX18gKAorCQkiMTogIGxkciAgICAlMSwgWyUyXSAgXG4iCisJCSIgICAgY21wICAgICUxLCAlNCAgICBcbiIKKwkJIjI6ICBzdHJlcSAgJTMsIFslMl0gIFxuIgorCQkiICAgIGNtcG5lICAlMSwgJTMgICAgXG4iCisJCSIgICAgbW92bmUgICUwLCAjMiAgICBcbiIKKwkJIjM6XG4iCisKKwkJIi5zZWN0aW9uIC5maXh1cCwgXCJheFwiXG4iCisJCSI0OiAgbW92ICAlMCwgIzEgIFxuIgorCQkiICAgIGIgICAgM2IgICAgICBcbiIKKwkJIi5wcmV2aW91c1xuIgorCisJCSIuc2VjdGlvbiBfX2V4X3RhYmxlLCBcImFcIlxuIgorCQkiICAgIC5sb25nIDFiLCA0YiBcbiIKKwkJIiAgICAubG9uZyAyYiwgNGIgXG4iCisJCSIucHJldmlvdXNcbiIKKworCQk6ICI9ciIoZXJyKSwgIj1yIihyZXBsYWNlZCkKKwkJOiAiciIocGMpLCAiciIobmV3KSwgInIiKG9sZCksICIwIihlcnIpLCAiMSIocmVwbGFjZWQpCisJCTogIm1lbW9yeSIpOworCisJaWYgKCFlcnIgJiYgKHJlcGxhY2VkID09IG9sZCkpCisJCWZsdXNoX2ljYWNoZV9yYW5nZShwYywgcGMgKyBNQ09VTlRfSU5TTl9TSVpFKTsKKworCXJldHVybiBlcnI7Cit9CisKK2ludCBmdHJhY2VfdXBkYXRlX2Z0cmFjZV9mdW5jKGZ0cmFjZV9mdW5jX3QgZnVuYykKK3sKKwlpbnQgcmV0OworCXVuc2lnbmVkIGxvbmcgcGMsIG9sZDsKKwl1bnNpZ25lZCBjaGFyICpuZXc7CisKKwlwYyA9ICh1bnNpZ25lZCBsb25nKSZmdHJhY2VfY2FsbDsKKwltZW1jcHkoJm9sZCwgJmZ0cmFjZV9jYWxsLCBNQ09VTlRfSU5TTl9TSVpFKTsKKwluZXcgPSBmdHJhY2VfY2FsbF9yZXBsYWNlKHBjLCAodW5zaWduZWQgbG9uZylmdW5jKTsKKwlyZXQgPSBmdHJhY2VfbW9kaWZ5X2NvZGUocGMsICh1bnNpZ25lZCBjaGFyICopJm9sZCwgbmV3KTsKKwlyZXR1cm4gcmV0OworfQorCitpbnQgZnRyYWNlX21jb3VudF9zZXQodW5zaWduZWQgbG9uZyAqZGF0YSkKK3sKKwl1bnNpZ25lZCBsb25nIHBjLCBvbGQ7CisJdW5zaWduZWQgbG9uZyAqYWRkciA9IGRhdGE7CisJdW5zaWduZWQgY2hhciAqbmV3OworCisJcGMgPSAodW5zaWduZWQgbG9uZykmbWNvdW50X2NhbGw7CisJbWVtY3B5KCZvbGQsICZtY291bnRfY2FsbCwgTUNPVU5UX0lOU05fU0laRSk7CisJbmV3ID0gZnRyYWNlX2NhbGxfcmVwbGFjZShwYywgKmFkZHIpOworCSphZGRyID0gZnRyYWNlX21vZGlmeV9jb2RlKHBjLCAodW5zaWduZWQgY2hhciAqKSZvbGQsIG5ldyk7CisJcmV0dXJuIDA7Cit9CisKKy8qIHJ1biBmcm9tIGtzdG9wX21hY2hpbmUgKi8KK2ludCBfX2luaXQgZnRyYWNlX2R5bl9hcmNoX2luaXQodm9pZCAqZGF0YSkKK3sKKwlmdHJhY2VfbWNvdW50X3NldChkYXRhKTsKKwlyZXR1cm4gMDsKK30KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2tlcm5lbC9rcHJvYmVzLmMgYi9hcmNoL2FybS9rZXJuZWwva3Byb2Jlcy5jCmluZGV4IDU1OTNkZDIuLjVlZTM5ZTEgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2tlcm5lbC9rcHJvYmVzLmMKKysrIGIvYXJjaC9hcm0va2VybmVsL2twcm9iZXMuYwpAQCAtMjc0LDcgKzI3NCw3IEBACiAgKiBmb3Iga3JldHByb2JlIGhhbmRsZXJzIHdoaWNoIHNob3VsZCBub3JtYWxseSBiZSBpbnRlcmVzdGVkIGluIHIwIG9ubHkKICAqIGFueXdheS4KICAqLwotc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygobmFrZWQpKSBfX2twcm9iZXMga3JldHByb2JlX3RyYW1wb2xpbmUodm9pZCkKK3ZvaWQgX19uYWtlZCBfX2twcm9iZXMga3JldHByb2JlX3RyYW1wb2xpbmUodm9pZCkKIHsKIAlfX2FzbV9fIF9fdm9sYXRpbGVfXyAoCiAJCSJzdG1kYglzcCEsIHtyMCAtIHIxMX0JCVxuXHQiCmRpZmYgLS1naXQgYS9hcmNoL2FybS9rZXJuZWwvcHJvY2Vzcy5jIGIvYXJjaC9hcm0va2VybmVsL3Byb2Nlc3MuYwppbmRleCA0NmJmMmVkZS4uMTk5YjM2OCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0va2VybmVsL3Byb2Nlc3MuYworKysgYi9hcmNoL2FybS9rZXJuZWwvcHJvY2Vzcy5jCkBAIC0xMzMsMTAgKzEzMyw4IEBACiAJCWNwdV9yZWxheCgpOwogCWVsc2UgewogCQlsb2NhbF9pcnFfZGlzYWJsZSgpOwotCQlpZiAoIW5lZWRfcmVzY2hlZCgpKSB7Ci0JCQl0aW1lcl9keW5fcmVwcm9ncmFtKCk7CisJCWlmICghbmVlZF9yZXNjaGVkKCkpCiAJCQlhcmNoX2lkbGUoKTsKLQkJfQogCQlsb2NhbF9pcnFfZW5hYmxlKCk7CiAJfQogfQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0va2VybmVsL3NtcC5jIGIvYXJjaC9hcm0va2VybmVsL3NtcC5jCmluZGV4IGVlZmFlMWQuLjVhN2MwOTUgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2tlcm5lbC9zbXAuYworKysgYi9hcmNoL2FybS9rZXJuZWwvc21wLmMKQEAgLTY4LDIwICs2OCwxMCBAQAogCUlQSV9USU1FUiwKIAlJUElfUkVTQ0hFRFVMRSwKIAlJUElfQ0FMTF9GVU5DLAorCUlQSV9DQUxMX0ZVTkNfU0lOR0xFLAogCUlQSV9DUFVfU1RPUCwKIH07CiAKLXN0cnVjdCBzbXBfY2FsbF9zdHJ1Y3QgewotCXZvaWQgKCpmdW5jKSh2b2lkICppbmZvKTsKLQl2b2lkICppbmZvOwotCWludCB3YWl0OwotCWNwdW1hc2tfdCBwZW5kaW5nOwotCWNwdW1hc2tfdCB1bmZpbmlzaGVkOwotfTsKLQotc3RhdGljIHN0cnVjdCBzbXBfY2FsbF9zdHJ1Y3QgKiB2b2xhdGlsZSBzbXBfY2FsbF9mdW5jdGlvbl9kYXRhOwotc3RhdGljIERFRklORV9TUElOTE9DSyhzbXBfY2FsbF9mdW5jdGlvbl9sb2NrKTsKLQogaW50IF9fY3B1aW5pdCBfX2NwdV91cCh1bnNpZ25lZCBpbnQgY3B1KQogewogCXN0cnVjdCBjcHVpbmZvX2FybSAqY2kgPSAmcGVyX2NwdShjcHVfZGF0YSwgY3B1KTsKQEAgLTM2NiwxMTQgKzM1NiwxNSBAQAogCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKIH0KIAotLyoKLSAqIFlvdSBtdXN0IG5vdCBjYWxsIHRoaXMgZnVuY3Rpb24gd2l0aCBkaXNhYmxlZCBpbnRlcnJ1cHRzLCBmcm9tIGEKLSAqIGhhcmR3YXJlIGludGVycnVwdCBoYW5kbGVyLCBub3IgZnJvbSBhIGJvdHRvbSBoYWxmIGhhbmRsZXIuCi0gKi8KLXN0YXRpYyBpbnQgc21wX2NhbGxfZnVuY3Rpb25fb25fY3B1KHZvaWQgKCpmdW5jKSh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywKLQkJCQkgICAgaW50IHJldHJ5LCBpbnQgd2FpdCwgY3B1bWFza190IGNhbGxtYXApCit2b2lkIGFyY2hfc2VuZF9jYWxsX2Z1bmN0aW9uX2lwaShjcHVtYXNrX3QgbWFzaykKIHsKLQlzdHJ1Y3Qgc21wX2NhbGxfc3RydWN0IGRhdGE7Ci0JdW5zaWduZWQgbG9uZyB0aW1lb3V0OwotCWludCByZXQgPSAwOwotCi0JZGF0YS5mdW5jID0gZnVuYzsKLQlkYXRhLmluZm8gPSBpbmZvOwotCWRhdGEud2FpdCA9IHdhaXQ7Ci0KLQljcHVfY2xlYXIoc21wX3Byb2Nlc3Nvcl9pZCgpLCBjYWxsbWFwKTsKLQlpZiAoY3B1c19lbXB0eShjYWxsbWFwKSkKLQkJZ290byBvdXQ7Ci0KLQlkYXRhLnBlbmRpbmcgPSBjYWxsbWFwOwotCWlmICh3YWl0KQotCQlkYXRhLnVuZmluaXNoZWQgPSBjYWxsbWFwOwotCi0JLyoKLQkgKiB0cnkgdG8gZ2V0IHRoZSBtdXRleCBvbiBzbXBfY2FsbF9mdW5jdGlvbl9kYXRhCi0JICovCi0Jc3Bpbl9sb2NrKCZzbXBfY2FsbF9mdW5jdGlvbl9sb2NrKTsKLQlzbXBfY2FsbF9mdW5jdGlvbl9kYXRhID0gJmRhdGE7Ci0KLQlzZW5kX2lwaV9tZXNzYWdlKGNhbGxtYXAsIElQSV9DQUxMX0ZVTkMpOwotCi0JdGltZW91dCA9IGppZmZpZXMgKyBIWjsKLQl3aGlsZSAoIWNwdXNfZW1wdHkoZGF0YS5wZW5kaW5nKSAmJiB0aW1lX2JlZm9yZShqaWZmaWVzLCB0aW1lb3V0KSkKLQkJYmFycmllcigpOwotCi0JLyoKLQkgKiBkaWQgd2UgdGltZSBvdXQ/Ci0JICovCi0JaWYgKCFjcHVzX2VtcHR5KGRhdGEucGVuZGluZykpIHsKLQkJLyoKLQkJICogdGhpcyBtYXkgYmUgY2F1c2luZyBvdXIgcGFuaWMgLSByZXBvcnQgaXQKLQkJICovCi0JCXByaW50ayhLRVJOX0NSSVQKLQkJICAgICAgICJDUFUldTogc21wX2NhbGxfZnVuY3Rpb24gdGltZW91dCBmb3IgJXAoJXApXG4iCi0JCSAgICAgICAiICAgICAgY2FsbG1hcCAlbHggcGVuZGluZyAlbHgsICVzd2FpdFxuIiwKLQkJICAgICAgIHNtcF9wcm9jZXNzb3JfaWQoKSwgZnVuYywgaW5mbywgKmNwdXNfYWRkcihjYWxsbWFwKSwKLQkJICAgICAgICpjcHVzX2FkZHIoZGF0YS5wZW5kaW5nKSwgd2FpdCA/ICIiIDogIm5vICIpOwotCi0JCS8qCi0JCSAqIFRSQUNFCi0JCSAqLwotCQl0aW1lb3V0ID0gamlmZmllcyArICg1ICogSFopOwotCQl3aGlsZSAoIWNwdXNfZW1wdHkoZGF0YS5wZW5kaW5nKSAmJiB0aW1lX2JlZm9yZShqaWZmaWVzLCB0aW1lb3V0KSkKLQkJCWJhcnJpZXIoKTsKLQotCQlpZiAoY3B1c19lbXB0eShkYXRhLnBlbmRpbmcpKQotCQkJcHJpbnRrKEtFUk5fQ1JJVCAiICAgICBSRVNPTFZFRFxuIik7Ci0JCWVsc2UKLQkJCXByaW50ayhLRVJOX0NSSVQgIiAgICAgU1RJTEwgU1RVQ0tcbiIpOwotCX0KLQotCS8qCi0JICogd2hhdGV2ZXIgaGFwcGVuZWQsIHdlJ3JlIGRvbmUgd2l0aCB0aGUgZGF0YSwgc28gcmVsZWFzZSBpdAotCSAqLwotCXNtcF9jYWxsX2Z1bmN0aW9uX2RhdGEgPSBOVUxMOwotCXNwaW5fdW5sb2NrKCZzbXBfY2FsbF9mdW5jdGlvbl9sb2NrKTsKLQotCWlmICghY3B1c19lbXB0eShkYXRhLnBlbmRpbmcpKSB7Ci0JCXJldCA9IC1FVElNRURPVVQ7Ci0JCWdvdG8gb3V0OwotCX0KLQotCWlmICh3YWl0KQotCQl3aGlsZSAoIWNwdXNfZW1wdHkoZGF0YS51bmZpbmlzaGVkKSkKLQkJCWJhcnJpZXIoKTsKLSBvdXQ6Ci0KLQlyZXR1cm4gMDsKKwlzZW5kX2lwaV9tZXNzYWdlKG1hc2ssIElQSV9DQUxMX0ZVTkMpOwogfQogCi1pbnQgc21wX2NhbGxfZnVuY3Rpb24odm9pZCAoKmZ1bmMpKHZvaWQgKmluZm8pLCB2b2lkICppbmZvLCBpbnQgcmV0cnksCi0gICAgICAgICAgICAgICAgICAgICAgaW50IHdhaXQpCit2b2lkIGFyY2hfc2VuZF9jYWxsX2Z1bmN0aW9uX3NpbmdsZV9pcGkoaW50IGNwdSkKIHsKLQlyZXR1cm4gc21wX2NhbGxfZnVuY3Rpb25fb25fY3B1KGZ1bmMsIGluZm8sIHJldHJ5LCB3YWl0LAotCQkJCQljcHVfb25saW5lX21hcCk7CisJc2VuZF9pcGlfbWVzc2FnZShjcHVtYXNrX29mX2NwdShjcHUpLCBJUElfQ0FMTF9GVU5DX1NJTkdMRSk7CiB9Ci1FWFBPUlRfU1lNQk9MX0dQTChzbXBfY2FsbF9mdW5jdGlvbik7Ci0KLWludCBzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoaW50IGNwdSwgdm9pZCAoKmZ1bmMpKHZvaWQgKmluZm8pLCB2b2lkICppbmZvLAotCQkJICAgICBpbnQgcmV0cnksIGludCB3YWl0KQotewotCS8qIHByZXZlbnQgcHJlZW1wdGlvbiBhbmQgcmVzY2hlZHVsZSBvbiBhbm90aGVyIHByb2Nlc3NvciAqLwotCWludCBjdXJyZW50X2NwdSA9IGdldF9jcHUoKTsKLQlpbnQgcmV0ID0gMDsKLQotCWlmIChjcHUgPT0gY3VycmVudF9jcHUpIHsKLQkJbG9jYWxfaXJxX2Rpc2FibGUoKTsKLQkJZnVuYyhpbmZvKTsKLQkJbG9jYWxfaXJxX2VuYWJsZSgpOwotCX0gZWxzZQotCQlyZXQgPSBzbXBfY2FsbF9mdW5jdGlvbl9vbl9jcHUoZnVuYywgaW5mbywgcmV0cnksIHdhaXQsCi0JCQkJCSAgICAgICBjcHVtYXNrX29mX2NwdShjcHUpKTsKLQotCXB1dF9jcHUoKTsKLQotCXJldHVybiByZXQ7Ci19Ci1FWFBPUlRfU1lNQk9MX0dQTChzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUpOwogCiB2b2lkIHNob3dfaXBpX2xpc3Qoc3RydWN0IHNlcV9maWxlICpwKQogewpAQCAtNTIxLDI3ICs0MTIsNiBAQAogfQogI2VuZGlmCiAKLS8qCi0gKiBpcGlfY2FsbF9mdW5jdGlvbiAtIGhhbmRsZSBJUEkgZnJvbSBzbXBfY2FsbF9mdW5jdGlvbigpCi0gKgotICogTm90ZSB0aGF0IHdlIGNvcHkgZGF0YSBvdXQgb2YgdGhlIGNyb3NzLWNhbGwgc3RydWN0dXJlIGFuZCB0aGVuCi0gKiBsZXQgdGhlIGNhbGxlciBrbm93IHRoYXQgd2UncmUgaGVyZSBhbmQgaGF2ZSBkb25lIHdpdGggdGhlaXIgZGF0YQotICovCi1zdGF0aWMgdm9pZCBpcGlfY2FsbF9mdW5jdGlvbih1bnNpZ25lZCBpbnQgY3B1KQotewotCXN0cnVjdCBzbXBfY2FsbF9zdHJ1Y3QgKmRhdGEgPSBzbXBfY2FsbF9mdW5jdGlvbl9kYXRhOwotCXZvaWQgKCpmdW5jKSh2b2lkICppbmZvKSA9IGRhdGEtPmZ1bmM7Ci0Jdm9pZCAqaW5mbyA9IGRhdGEtPmluZm87Ci0JaW50IHdhaXQgPSBkYXRhLT53YWl0OwotCi0JY3B1X2NsZWFyKGNwdSwgZGF0YS0+cGVuZGluZyk7Ci0KLQlmdW5jKGluZm8pOwotCi0JaWYgKHdhaXQpCi0JCWNwdV9jbGVhcihjcHUsIGRhdGEtPnVuZmluaXNoZWQpOwotfQotCiBzdGF0aWMgREVGSU5FX1NQSU5MT0NLKHN0b3BfbG9jayk7CiAKIC8qCkBAIC02MTEsNyArNDgxLDExIEBACiAJCQkJYnJlYWs7CiAKIAkJCWNhc2UgSVBJX0NBTExfRlVOQzoKLQkJCQlpcGlfY2FsbF9mdW5jdGlvbihjcHUpOworCQkJCWdlbmVyaWNfc21wX2NhbGxfZnVuY3Rpb25faW50ZXJydXB0KCk7CisJCQkJYnJlYWs7CisKKwkJCWNhc2UgSVBJX0NBTExfRlVOQ19TSU5HTEU6CisJCQkJZ2VuZXJpY19zbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGVfaW50ZXJydXB0KCk7CiAJCQkJYnJlYWs7CiAKIAkJCWNhc2UgSVBJX0NQVV9TVE9QOgpAQCAtNjYyLDE0ICs1MzYsMTMgQEAKIH0KIAogc3RhdGljIGludAotb25fZWFjaF9jcHVfbWFzayh2b2lkICgqZnVuYykodm9pZCAqKSwgdm9pZCAqaW5mbywgaW50IHJldHJ5LCBpbnQgd2FpdCwKLQkJIGNwdW1hc2tfdCBtYXNrKQorb25fZWFjaF9jcHVfbWFzayh2b2lkICgqZnVuYykodm9pZCAqKSwgdm9pZCAqaW5mbywgaW50IHdhaXQsIGNwdW1hc2tfdCBtYXNrKQogewogCWludCByZXQgPSAwOwogCiAJcHJlZW1wdF9kaXNhYmxlKCk7CiAKLQlyZXQgPSBzbXBfY2FsbF9mdW5jdGlvbl9vbl9jcHUoZnVuYywgaW5mbywgcmV0cnksIHdhaXQsIG1hc2spOworCXJldCA9IHNtcF9jYWxsX2Z1bmN0aW9uX21hc2sobWFzaywgZnVuYywgaW5mbywgd2FpdCk7CiAJaWYgKGNwdV9pc3NldChzbXBfcHJvY2Vzc29yX2lkKCksIG1hc2spKQogCQlmdW5jKGluZm8pOwogCkBAIC03MzEsMTQgKzYwNCwxNCBAQAogCiB2b2lkIGZsdXNoX3RsYl9hbGwodm9pZCkKIHsKLQlvbl9lYWNoX2NwdShpcGlfZmx1c2hfdGxiX2FsbCwgTlVMTCwgMSwgMSk7CisJb25fZWFjaF9jcHUoaXBpX2ZsdXNoX3RsYl9hbGwsIE5VTEwsIDEpOwogfQogCiB2b2lkIGZsdXNoX3RsYl9tbShzdHJ1Y3QgbW1fc3RydWN0ICptbSkKIHsKIAljcHVtYXNrX3QgbWFzayA9IG1tLT5jcHVfdm1fbWFzazsKIAotCW9uX2VhY2hfY3B1X21hc2soaXBpX2ZsdXNoX3RsYl9tbSwgbW0sIDEsIDEsIG1hc2spOworCW9uX2VhY2hfY3B1X21hc2soaXBpX2ZsdXNoX3RsYl9tbSwgbW0sIDEsIG1hc2spOwogfQogCiB2b2lkIGZsdXNoX3RsYl9wYWdlKHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hLCB1bnNpZ25lZCBsb25nIHVhZGRyKQpAQCAtNzQ5LDcgKzYyMiw3IEBACiAJdGEudGFfdm1hID0gdm1hOwogCXRhLnRhX3N0YXJ0ID0gdWFkZHI7CiAKLQlvbl9lYWNoX2NwdV9tYXNrKGlwaV9mbHVzaF90bGJfcGFnZSwgJnRhLCAxLCAxLCBtYXNrKTsKKwlvbl9lYWNoX2NwdV9tYXNrKGlwaV9mbHVzaF90bGJfcGFnZSwgJnRhLCAxLCBtYXNrKTsKIH0KIAogdm9pZCBmbHVzaF90bGJfa2VybmVsX3BhZ2UodW5zaWduZWQgbG9uZyBrYWRkcikKQEAgLTc1OCw3ICs2MzEsNyBAQAogCiAJdGEudGFfc3RhcnQgPSBrYWRkcjsKIAotCW9uX2VhY2hfY3B1KGlwaV9mbHVzaF90bGJfa2VybmVsX3BhZ2UsICZ0YSwgMSwgMSk7CisJb25fZWFjaF9jcHUoaXBpX2ZsdXNoX3RsYl9rZXJuZWxfcGFnZSwgJnRhLCAxKTsKIH0KIAogdm9pZCBmbHVzaF90bGJfcmFuZ2Uoc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEsCkBAIC03NzEsNyArNjQ0LDcgQEAKIAl0YS50YV9zdGFydCA9IHN0YXJ0OwogCXRhLnRhX2VuZCA9IGVuZDsKIAotCW9uX2VhY2hfY3B1X21hc2soaXBpX2ZsdXNoX3RsYl9yYW5nZSwgJnRhLCAxLCAxLCBtYXNrKTsKKwlvbl9lYWNoX2NwdV9tYXNrKGlwaV9mbHVzaF90bGJfcmFuZ2UsICZ0YSwgMSwgbWFzayk7CiB9CiAKIHZvaWQgZmx1c2hfdGxiX2tlcm5lbF9yYW5nZSh1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIGVuZCkKQEAgLTc4MSw1ICs2NTQsNSBAQAogCXRhLnRhX3N0YXJ0ID0gc3RhcnQ7CiAJdGEudGFfZW5kID0gZW5kOwogCi0Jb25fZWFjaF9jcHUoaXBpX2ZsdXNoX3RsYl9rZXJuZWxfcmFuZ2UsICZ0YSwgMSwgMSk7CisJb25fZWFjaF9jcHUoaXBpX2ZsdXNoX3RsYl9rZXJuZWxfcmFuZ2UsICZ0YSwgMSk7CiB9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9rZXJuZWwvc3RhY2t0cmFjZS5jIGIvYXJjaC9hcm0va2VybmVsL3N0YWNrdHJhY2UuYwppbmRleCBhZTMxZGViLi5mYzY1MGY2IDEwMDY0NAotLS0gYS9hcmNoL2FybS9rZXJuZWwvc3RhY2t0cmFjZS5jCisrKyBiL2FyY2gvYXJtL2tlcm5lbC9zdGFja3RyYWNlLmMKQEAgLTM2LDYgKzM2LDcgQEAKICNpZmRlZiBDT05GSUdfU1RBQ0tUUkFDRQogc3RydWN0IHN0YWNrX3RyYWNlX2RhdGEgewogCXN0cnVjdCBzdGFja190cmFjZSAqdHJhY2U7CisJdW5zaWduZWQgaW50IG5vX3NjaGVkX2Z1bmN0aW9uczsKIAl1bnNpZ25lZCBpbnQgc2tpcDsKIH07CiAKQEAgLTQzLDI3ICs0NCw1MyBAQAogewogCXN0cnVjdCBzdGFja190cmFjZV9kYXRhICpkYXRhID0gZDsKIAlzdHJ1Y3Qgc3RhY2tfdHJhY2UgKnRyYWNlID0gZGF0YS0+dHJhY2U7CisJdW5zaWduZWQgbG9uZyBhZGRyID0gZnJhbWUtPmxyOwogCisJaWYgKGRhdGEtPm5vX3NjaGVkX2Z1bmN0aW9ucyAmJiBpbl9zY2hlZF9mdW5jdGlvbnMoYWRkcikpCisJCXJldHVybiAwOwogCWlmIChkYXRhLT5za2lwKSB7CiAJCWRhdGEtPnNraXAtLTsKIAkJcmV0dXJuIDA7CiAJfQogCi0JdHJhY2UtPmVudHJpZXNbdHJhY2UtPm5yX2VudHJpZXMrK10gPSBmcmFtZS0+bHI7CisJdHJhY2UtPmVudHJpZXNbdHJhY2UtPm5yX2VudHJpZXMrK10gPSBhZGRyOwogCiAJcmV0dXJuIHRyYWNlLT5ucl9lbnRyaWVzID49IHRyYWNlLT5tYXhfZW50cmllczsKIH0KIAotdm9pZCBzYXZlX3N0YWNrX3RyYWNlKHN0cnVjdCBzdGFja190cmFjZSAqdHJhY2UpCit2b2lkIHNhdmVfc3RhY2tfdHJhY2VfdHNrKHN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrLCBzdHJ1Y3Qgc3RhY2tfdHJhY2UgKnRyYWNlKQogewogCXN0cnVjdCBzdGFja190cmFjZV9kYXRhIGRhdGE7CiAJdW5zaWduZWQgbG9uZyBmcCwgYmFzZTsKIAogCWRhdGEudHJhY2UgPSB0cmFjZTsKIAlkYXRhLnNraXAgPSB0cmFjZS0+c2tpcDsKLQliYXNlID0gKHVuc2lnbmVkIGxvbmcpdGFza19zdGFja19wYWdlKGN1cnJlbnQpOwotCWFzbSgibW92ICUwLCBmcCIgOiAiPXIiIChmcCkpOworCWJhc2UgPSAodW5zaWduZWQgbG9uZyl0YXNrX3N0YWNrX3BhZ2UodHNrKTsKKworCWlmICh0c2sgIT0gY3VycmVudCkgeworI2lmZGVmIENPTkZJR19TTVAKKwkJLyoKKwkJICogV2hhdCBndWFyYW50ZWVzIGRvIHdlIGhhdmUgaGVyZSB0aGF0ICd0c2snCisJCSAqIGlzIG5vdCBydW5uaW5nIG9uIGFub3RoZXIgQ1BVPworCQkgKi8KKwkJQlVHKCk7CisjZWxzZQorCQlkYXRhLm5vX3NjaGVkX2Z1bmN0aW9ucyA9IDE7CisJCWZwID0gdGhyZWFkX3NhdmVkX2ZwKHRzayk7CisjZW5kaWYKKwl9IGVsc2UgeworCQlkYXRhLm5vX3NjaGVkX2Z1bmN0aW9ucyA9IDA7CisJCWFzbSgibW92ICUwLCBmcCIgOiAiPXIiIChmcCkpOworCX0KIAogCXdhbGtfc3RhY2tmcmFtZShmcCwgYmFzZSwgYmFzZSArIFRIUkVBRF9TSVpFLCBzYXZlX3RyYWNlLCAmZGF0YSk7CisJaWYgKHRyYWNlLT5ucl9lbnRyaWVzIDwgdHJhY2UtPm1heF9lbnRyaWVzKQorCQl0cmFjZS0+ZW50cmllc1t0cmFjZS0+bnJfZW50cmllcysrXSA9IFVMT05HX01BWDsKIH0KKwordm9pZCBzYXZlX3N0YWNrX3RyYWNlKHN0cnVjdCBzdGFja190cmFjZSAqdHJhY2UpCit7CisJc2F2ZV9zdGFja190cmFjZV90c2soY3VycmVudCwgdHJhY2UpOworfQorRVhQT1JUX1NZTUJPTF9HUEwoc2F2ZV9zdGFja190cmFjZSk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2tlcm5lbC90aW1lLmMgYi9hcmNoL2FybS9rZXJuZWwvdGltZS5jCmluZGV4IGI1ODY3ZWMuLmNjNTE0NWIgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2tlcm5lbC90aW1lLmMKKysrIGIvYXJjaC9hcm0va2VybmVsL3RpbWUuYwpAQCAtMzY1LDEwOCArMzY1LDYgQEAKIAkucmVzdW1lCQk9IHRpbWVyX3Jlc3VtZSwKIH07CiAKLSNpZmRlZiBDT05GSUdfTk9fSURMRV9IWgotc3RhdGljIGludCB0aW1lcl9keW5fdGlja19lbmFibGUodm9pZCkKLXsKLQlzdHJ1Y3QgZHluX3RpY2tfdGltZXIgKmR5bl90aWNrID0gc3lzdGVtX3RpbWVyLT5keW5fdGljazsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCWludCByZXQgPSAtRU5PREVWOwotCi0JaWYgKGR5bl90aWNrKSB7Ci0JCXNwaW5fbG9ja19pcnFzYXZlKCZkeW5fdGljay0+bG9jaywgZmxhZ3MpOwotCQlyZXQgPSAwOwotCQlpZiAoIShkeW5fdGljay0+c3RhdGUgJiBEWU5fVElDS19FTkFCTEVEKSkgewotCQkJcmV0ID0gZHluX3RpY2stPmVuYWJsZSgpOwotCi0JCQlpZiAocmV0ID09IDApCi0JCQkJZHluX3RpY2stPnN0YXRlIHw9IERZTl9USUNLX0VOQUJMRUQ7Ci0JCX0KLQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZHluX3RpY2stPmxvY2ssIGZsYWdzKTsKLQl9Ci0KLQlyZXR1cm4gcmV0OwotfQotCi1zdGF0aWMgaW50IHRpbWVyX2R5bl90aWNrX2Rpc2FibGUodm9pZCkKLXsKLQlzdHJ1Y3QgZHluX3RpY2tfdGltZXIgKmR5bl90aWNrID0gc3lzdGVtX3RpbWVyLT5keW5fdGljazsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCWludCByZXQgPSAtRU5PREVWOwotCi0JaWYgKGR5bl90aWNrKSB7Ci0JCXNwaW5fbG9ja19pcnFzYXZlKCZkeW5fdGljay0+bG9jaywgZmxhZ3MpOwotCQlyZXQgPSAwOwotCQlpZiAoZHluX3RpY2stPnN0YXRlICYgRFlOX1RJQ0tfRU5BQkxFRCkgewotCQkJcmV0ID0gZHluX3RpY2stPmRpc2FibGUoKTsKLQotCQkJaWYgKHJldCA9PSAwKQotCQkJCWR5bl90aWNrLT5zdGF0ZSAmPSB+RFlOX1RJQ0tfRU5BQkxFRDsKLQkJfQotCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZkeW5fdGljay0+bG9jaywgZmxhZ3MpOwotCX0KLQotCXJldHVybiByZXQ7Ci19Ci0KLS8qCi0gKiBSZXByb2dyYW0gdGhlIHN5c3RlbSB0aW1lciBmb3IgYXQgbGVhc3QgdGhlIGNhbGN1bGF0ZWQgdGltZSBpbnRlcnZhbC4KLSAqIFRoaXMgZnVuY3Rpb24gc2hvdWxkIGJlIGNhbGxlZCBmcm9tIHRoZSBpZGxlIHRocmVhZCB3aXRoIElSUXMgZGlzYWJsZWQsCi0gKiBpbW1lZGlhdGVseSBiZWZvcmUgc2xlZXBpbmcuCi0gKi8KLXZvaWQgdGltZXJfZHluX3JlcHJvZ3JhbSh2b2lkKQotewotCXN0cnVjdCBkeW5fdGlja190aW1lciAqZHluX3RpY2sgPSBzeXN0ZW1fdGltZXItPmR5bl90aWNrOwotCXVuc2lnbmVkIGxvbmcgbmV4dCwgc2VxLCBmbGFnczsKLQotCWlmICghZHluX3RpY2spCi0JCXJldHVybjsKLQotCXNwaW5fbG9ja19pcnFzYXZlKCZkeW5fdGljay0+bG9jaywgZmxhZ3MpOwotCWlmIChkeW5fdGljay0+c3RhdGUgJiBEWU5fVElDS19FTkFCTEVEKSB7Ci0JCW5leHQgPSBuZXh0X3RpbWVyX2ludGVycnVwdCgpOwotCQlkbyB7Ci0JCQlzZXEgPSByZWFkX3NlcWJlZ2luKCZ4dGltZV9sb2NrKTsKLQkJCWR5bl90aWNrLT5yZXByb2dyYW0obmV4dCAtIGppZmZpZXMpOwotCQl9IHdoaWxlIChyZWFkX3NlcXJldHJ5KCZ4dGltZV9sb2NrLCBzZXEpKTsKLQl9Ci0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZHluX3RpY2stPmxvY2ssIGZsYWdzKTsKLX0KLQotc3RhdGljIHNzaXplX3QgdGltZXJfc2hvd19keW5fdGljayhzdHJ1Y3Qgc3lzX2RldmljZSAqZGV2LCBjaGFyICpidWYpCi17Ci0JcmV0dXJuIHNwcmludGYoYnVmLCAiJWlcbiIsCi0JCSAgICAgICAoc3lzdGVtX3RpbWVyLT5keW5fdGljay0+c3RhdGUgJiBEWU5fVElDS19FTkFCTEVEKSA+PiAxKTsKLX0KLQotc3RhdGljIHNzaXplX3QgdGltZXJfc2V0X2R5bl90aWNrKHN0cnVjdCBzeXNfZGV2aWNlICpkZXYsIGNvbnN0IGNoYXIgKmJ1ZiwKLQkJCQkgIHNpemVfdCBjb3VudCkKLXsKLQl1bnNpZ25lZCBpbnQgZW5hYmxlID0gc2ltcGxlX3N0cnRvdWwoYnVmLCBOVUxMLCAyKTsKLQotCWlmIChlbmFibGUpCi0JCXRpbWVyX2R5bl90aWNrX2VuYWJsZSgpOwotCWVsc2UKLQkJdGltZXJfZHluX3RpY2tfZGlzYWJsZSgpOwotCi0JcmV0dXJuIGNvdW50OwotfQotc3RhdGljIFNZU0RFVl9BVFRSKGR5bl90aWNrLCAwNjQ0LCB0aW1lcl9zaG93X2R5bl90aWNrLCB0aW1lcl9zZXRfZHluX3RpY2spOwotCi0vKgotICogZHludGljaz1lbmFibGV8ZGlzYWJsZQotICovCi1zdGF0aWMgY2hhciBkeW50aWNrX3N0cls0XSBfX2luaXRkYXRhID0gIiI7Ci0KLXN0YXRpYyBpbnQgX19pbml0IGR5bnRpY2tfc2V0dXAoY2hhciAqc3RyKQotewotCWlmIChzdHIpCi0JCXN0cmxjcHkoZHludGlja19zdHIsIHN0ciwgc2l6ZW9mKGR5bnRpY2tfc3RyKSk7Ci0JcmV0dXJuIDE7Ci19Ci0KLV9fc2V0dXAoImR5bnRpY2s9IiwgZHludGlja19zZXR1cCk7Ci0jZW5kaWYKLQogc3RhdGljIGludCBfX2luaXQgdGltZXJfaW5pdF9zeXNmcyh2b2lkKQogewogCWludCByZXQgPSBzeXNkZXZfY2xhc3NfcmVnaXN0ZXIoJnRpbWVyX3N5c2NsYXNzKTsKQEAgLTQ3NSwxOSArMzczLDYgQEAKIAkJcmV0ID0gc3lzZGV2X3JlZ2lzdGVyKCZzeXN0ZW1fdGltZXItPmRldik7CiAJfQogCi0jaWZkZWYgQ09ORklHX05PX0lETEVfSFoKLQlpZiAocmV0ID09IDAgJiYgc3lzdGVtX3RpbWVyLT5keW5fdGljaykgewotCQlyZXQgPSBzeXNkZXZfY3JlYXRlX2ZpbGUoJnN5c3RlbV90aW1lci0+ZGV2LCAmYXR0cl9keW5fdGljayk7Ci0KLQkJLyoKLQkJICogVHVybiBvbiBkeW5hbWljIHRpY2sgYWZ0ZXIgY2FsaWJyYXRlIGRlbGF5Ci0JCSAqIGZvciBjb3JyZWN0IGJvZ29taXBzCi0JCSAqLwotCQlpZiAocmV0ID09IDAgJiYgZHludGlja19zdHJbMF0gPT0gJ2UnKQotCQkJcmV0ID0gdGltZXJfZHluX3RpY2tfZW5hYmxlKCk7Ci0JfQotI2VuZGlmCi0KIAlyZXR1cm4gcmV0OwogfQogCkBAIC01MDAsMTAgKzM4NSw1IEBACiAJCXN5c3RlbV90aW1lci0+b2Zmc2V0ID0gZHVtbXlfZ2V0dGltZW9mZnNldDsKICNlbmRpZgogCXN5c3RlbV90aW1lci0+aW5pdCgpOwotCi0jaWZkZWYgQ09ORklHX05PX0lETEVfSFoKLQlpZiAoc3lzdGVtX3RpbWVyLT5keW5fdGljaykKLQkJc3Bpbl9sb2NrX2luaXQoJnN5c3RlbV90aW1lci0+ZHluX3RpY2stPmxvY2spOwotI2VuZGlmCiB9CiAKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2xpYi9jb3B5X3RlbXBsYXRlLlMgYi9hcmNoL2FybS9saWIvY29weV90ZW1wbGF0ZS5TCmluZGV4IGNhYjM1NWMuLjEzOWNjZTYgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2xpYi9jb3B5X3RlbXBsYXRlLlMKKysrIGIvYXJjaC9hcm0vbGliL2NvcHlfdGVtcGxhdGUuUwpAQCAtMTMsMTQgKzEzLDYgQEAKICAqLwogCiAvKgotICogVGhpcyBjYW4gYmUgdXNlZCB0byBlbmFibGUgY29kZSB0byBjYWNoZWxpbmUgYWxpZ24gdGhlIHNvdXJjZSBwb2ludGVyLgotICogRXhwZXJpbWVudHMgb24gdGVzdGVkIGFyY2hpdGVjdHVyZXMgKFN0cm9uZ0FSTSBhbmQgWFNjYWxlKSBkaWRuJ3Qgc2hvdwotICogdGhpcyBhIHdvcnRod2hpbGUgdGhpbmcgdG8gZG8uICBUaGF0IG1pZ2h0IGJlIGRpZmZlcmVudCBpbiB0aGUgZnV0dXJlLgotICovCi0vLyNkZWZpbmUgQ0FMR04oY29kZS4uLikJY29kZQotI2RlZmluZSBDQUxHTihjb2RlLi4uKQotCi0vKgogICogVGhlb3J5IG9mIG9wZXJhdGlvbgogICogLS0tLS0tLS0tLS0tLS0tLS0tLQogICoKQEAgLTgyLDcgKzc0LDcgQEAKIAkJc3RtZmQJc3AhLCB7cjUgLSByOH0KIAkJYmx0CTVmCiAKLQlDQUxHTigJYW5kcwlpcCwgcjEsICMzMQkJKQorCUNBTEdOKAlhbmRzCWlwLCByMCwgIzMxCQkpCiAJQ0FMR04oCXJzYglyMywgaXAsICMzMgkJKQogCUNBTEdOKAlzYmNuZXMJcjQsIHIzLCByMgkJKSAgQCBDIGlzIGFsd2F5cyBzZXQgaGVyZQogCUNBTEdOKAliY3MJMmYJCQkpCkBAIC0xNjgsNyArMTYwLDcgQEAKIAkJc3VicwlyMiwgcjIsICMyOAogCQlibHQJMTRmCiAKLQlDQUxHTigJYW5kcwlpcCwgcjEsICMzMQkJKQorCUNBTEdOKAlhbmRzCWlwLCByMCwgIzMxCQkpCiAJQ0FMR04oCXJzYglpcCwgaXAsICMzMgkJKQogCUNBTEdOKAlzYmNuZXMJcjQsIGlwLCByMgkJKSAgQCBDIGlzIGFsd2F5cyBzZXQgaGVyZQogCUNBTEdOKAlzdWJjYwlyMiwgcjIsIGlwCQkpCmRpZmYgLS1naXQgYS9hcmNoL2FybS9saWIvbWVtbW92ZS5TIGIvYXJjaC9hcm0vbGliL21lbW1vdmUuUwppbmRleCBlZjdmZGRjLi4yZTMwMWI3IDEwMDY0NAotLS0gYS9hcmNoL2FybS9saWIvbWVtbW92ZS5TCisrKyBiL2FyY2gvYXJtL2xpYi9tZW1tb3ZlLlMKQEAgLTEzLDE0ICsxMyw2IEBACiAjaW5jbHVkZSA8bGludXgvbGlua2FnZS5oPgogI2luY2x1ZGUgPGFzbS9hc3NlbWJsZXIuaD4KIAotLyoKLSAqIFRoaXMgY2FuIGJlIHVzZWQgdG8gZW5hYmxlIGNvZGUgdG8gY2FjaGVsaW5lIGFsaWduIHRoZSBzb3VyY2UgcG9pbnRlci4KLSAqIEV4cGVyaW1lbnRzIG9uIHRlc3RlZCBhcmNoaXRlY3R1cmVzIChTdHJvbmdBUk0gYW5kIFhTY2FsZSkgZGlkbid0IHNob3cKLSAqIHRoaXMgYSB3b3J0aHdoaWxlIHRoaW5nIHRvIGRvLiAgVGhhdCBtaWdodCBiZSBkaWZmZXJlbnQgaW4gdGhlIGZ1dHVyZS4KLSAqLwotLy8jZGVmaW5lIENBTEdOKGNvZGUuLi4pICAgICAgICBjb2RlCi0jZGVmaW5lIENBTEdOKGNvZGUuLi4pCi0KIAkJLnRleHQKIAogLyoKQEAgLTU1LDExICs0NywxMiBAQAogCQlzdG1mZAlzcCEsIHtyNSAtIHI4fQogCQlibHQJNWYKIAotCUNBTEdOKAlhbmRzCWlwLCByMSwgIzMxCQkpCisJQ0FMR04oCWFuZHMJaXAsIHIwLCAjMzEJCSkKIAlDQUxHTigJc2JjbmVzCXI0LCBpcCwgcjIJCSkgIEAgQyBpcyBhbHdheXMgc2V0IGhlcmUKIAlDQUxHTigJYmNzCTJmCQkJKQogCUNBTEdOKAlhZHIJcjQsIDZmCQkJKQogCUNBTEdOKAlzdWJzCXIyLCByMiwgaXAJCSkgIEAgQyBpcyBzZXQgaGVyZQorCUNBTEdOKAlyc2IJaXAsIGlwLCAjMzIJCSkKIAlDQUxHTigJYWRkCXBjLCByNCwgaXAJCSkKIAogCVBMRCgJcGxkCVtyMSwgIy00XQkJKQpAQCAtMTM4LDggKzEzMSw3IEBACiAJCXN1YnMJcjIsIHIyLCAjMjgKIAkJYmx0CTE0ZgogCi0JQ0FMR04oCWFuZHMJaXAsIHIxLCAjMzEJCSkKLQlDQUxHTigJcnNiCWlwLCBpcCwgIzMyCQkpCisJQ0FMR04oCWFuZHMJaXAsIHIwLCAjMzEJCSkKIAlDQUxHTigJc2JjbmVzCXI0LCBpcCwgcjIJCSkgIEAgQyBpcyBhbHdheXMgc2V0IGhlcmUKIAlDQUxHTigJc3ViY2MJcjIsIHIyLCBpcAkJKQogCUNBTEdOKAliY2MJMTVmCQkJKQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbGliL21lbXNldC5TIGIvYXJjaC9hcm0vbGliL21lbXNldC5TCmluZGV4IDk1YjExMGIuLmI0NzdkNGEgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2xpYi9tZW1zZXQuUworKysgYi9hcmNoL2FybS9saWIvbWVtc2V0LlMKQEAgLTM5LDYgKzM5LDkgQEAKIAltb3YJcjMsIHIxCiAJY21wCXIyLCAjMTYKIAlibHQJNGYKKworI2lmICEgQ0FMR04oMSkrMAorCiAvKgogICogV2UgbmVlZCBhbiBleHRyYSByZWdpc3RlciBmb3IgdGhpcyBsb29wIC0gc2F2ZSB0aGUgcmV0dXJuIGFkZHJlc3MgYW5kCiAgKiB1c2UgdGhlIExSCkBAIC02NCw2ICs2Nyw0OSBAQAogCXN0bW5laWEJcjAhLCB7cjEsIHIzLCBpcCwgbHJ9CiAJbGRyCWxyLCBbc3BdLCAjNAogCisjZWxzZQorCisvKgorICogVGhpcyB2ZXJzaW9uIGFsaWducyB0aGUgZGVzdGluYXRpb24gcG9pbnRlciBpbiBvcmRlciB0byB3cml0ZQorICogd2hvbGUgY2FjaGUgbGluZXMgYXQgb25jZS4KKyAqLworCisJc3RtZmQJc3AhLCB7cjQtcjcsIGxyfQorCW1vdglyNCwgcjEKKwltb3YJcjUsIHIxCisJbW92CXI2LCByMQorCW1vdglyNywgcjEKKwltb3YJaXAsIHIxCisJbW92CWxyLCByMQorCisJY21wCXIyLCAjOTYKKwl0c3RndAlyMCwgIzMxCisJYmxlCTNmCisKKwlhbmQJaXAsIHIwLCAjMzEKKwlyc2IJaXAsIGlwLCAjMzIKKwlzdWIJcjIsIHIyLCBpcAorCW1vdnMJaXAsIGlwLCBsc2wgIygzMiAtIDQpCisJc3RtY3NpYQlyMCEsIHtyNCwgcjUsIHI2LCByN30KKwlzdG1taWlhCXIwISwge3I0LCByNX0KKwl0c3QJaXAsICMoMSA8PCAzMCkKKwltb3YJaXAsIHIxCisJc3RybmUJcjEsIFtyMF0sICM0CisKKzM6CXN1YnMJcjIsIHIyLCAjNjQKKwlzdG1nZWlhCXIwISwge3IxLCByMy1yNywgaXAsIGxyfQorCXN0bWdlaWEJcjAhLCB7cjEsIHIzLXI3LCBpcCwgbHJ9CisJYmd0CTNiCisJbGRtZXFmZAlzcCEsIHtyNC1yNywgcGN9CisKKwl0c3QJcjIsICMzMgorCXN0bW5laWEJcjAhLCB7cjEsIHIzLXI3LCBpcCwgbHJ9CisJdHN0CXIyLCAjMTYKKwlzdG1uZWlhCXIwISwge3I0LXI3fQorCWxkbWZkCXNwISwge3I0LXI3LCBscn0KKworI2VuZGlmCisKIDQ6CXRzdAlyMiwgIzgKIAlzdG1uZWlhCXIwISwge3IxLCByM30KIAl0c3QJcjIsICM0CmRpZmYgLS1naXQgYS9hcmNoL2FybS9saWIvbWVtemVyby5TIGIvYXJjaC9hcm0vbGliL21lbXplcm8uUwppbmRleCBhYmYyNTA4Li5iOGY3OWQ4IDEwMDY0NAotLS0gYS9hcmNoL2FybS9saWIvbWVtemVyby5TCisrKyBiL2FyY2gvYXJtL2xpYi9tZW16ZXJvLlMKQEAgLTM5LDYgKzM5LDkgQEAKICAqLwogCWNtcAlyMSwgIzE2CQkJQCAxIHdlIGNhbiBza2lwIHRoaXMgY2h1bmsgaWYgd2UKIAlibHQJNGYJCQlAIDEgaGF2ZSA8IDE2IGJ5dGVzCisKKyNpZiAhIENBTEdOKDEpKzAKKwogLyoKICAqIFdlIG5lZWQgYW4gZXh0cmEgcmVnaXN0ZXIgZm9yIHRoaXMgbG9vcCAtIHNhdmUgdGhlIHJldHVybiBhZGRyZXNzIGFuZAogICogdXNlIHRoZSBMUgpAQCAtNjQsNiArNjcsNDcgQEAKIAlzdG1uZWlhCXIwISwge3IyLCByMywgaXAsIGxyfQlAIDQKIAlsZHIJbHIsIFtzcF0sICM0CQlAIDEKIAorI2Vsc2UKKworLyoKKyAqIFRoaXMgdmVyc2lvbiBhbGlnbnMgdGhlIGRlc3RpbmF0aW9uIHBvaW50ZXIgaW4gb3JkZXIgdG8gd3JpdGUKKyAqIHdob2xlIGNhY2hlIGxpbmVzIGF0IG9uY2UuCisgKi8KKworCXN0bWZkCXNwISwge3I0LXI3LCBscn0KKwltb3YJcjQsIHIyCisJbW92CXI1LCByMgorCW1vdglyNiwgcjIKKwltb3YJcjcsIHIyCisJbW92CWlwLCByMgorCW1vdglsciwgcjIKKworCWNtcAlyMSwgIzk2CisJYW5kZ3RzCWlwLCByMCwgIzMxCisJYmxlCTNmCisKKwlyc2IJaXAsIGlwLCAjMzIKKwlzdWIJcjEsIHIxLCBpcAorCW1vdnMJaXAsIGlwLCBsc2wgIygzMiAtIDQpCisJc3RtY3NpYQlyMCEsIHtyNCwgcjUsIHI2LCByN30KKwlzdG1taWlhCXIwISwge3I0LCByNX0KKwltb3ZzCWlwLCBpcCwgbHNsICMyCisJc3RyY3MJcjIsIFtyMF0sICM0CisKKzM6CXN1YnMJcjEsIHIxLCAjNjQKKwlzdG1nZWlhCXIwISwge3IyLXI3LCBpcCwgbHJ9CisJc3RtZ2VpYQlyMCEsIHtyMi1yNywgaXAsIGxyfQorCWJndAkzYgorCWxkbWVxZmQJc3AhLCB7cjQtcjcsIHBjfQorCisJdHN0CXIxLCAjMzIKKwlzdG1uZWlhCXIwISwge3IyLXI3LCBpcCwgbHJ9CisJdHN0CXIxLCAjMTYKKwlzdG1uZWlhCXIwISwge3I0LXI3fQorCWxkbWZkCXNwISwge3I0LXI3LCBscn0KKworI2VuZGlmCisKIDQ6CXRzdAlyMSwgIzgJCQlAIDEgOCBieXRlcyBvciBtb3JlPwogCXN0bW5laWEJcjAhLCB7cjIsIHIzfQkJQCAyCiAJdHN0CXIxLCAjNAkJCUAgMSA0IGJ5dGVzIG9yIG1vcmU/CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWF0OTEvS2NvbmZpZyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9LY29uZmlnCmluZGV4IDBmYzA3YjYuLjViYWQ2YjkgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtYXQ5MS9LY29uZmlnCisrKyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9LY29uZmlnCkBAIC0zMCw2ICszMCwxMSBAQAogCXNlbGVjdCBHRU5FUklDX1RJTUUKIAlzZWxlY3QgR0VORVJJQ19DTE9DS0VWRU5UUwogCitjb25maWcgQVJDSF9BVDkxU0FNOUcyMAorCWJvb2wgIkFUOTFTQU05RzIwIgorCXNlbGVjdCBHRU5FUklDX1RJTUUKKwlzZWxlY3QgR0VORVJJQ19DTE9DS0VWRU5UUworCiBjb25maWcgQVJDSF9BVDkxQ0FQOQogCWJvb2wgIkFUOTFDQVA5IgogCXNlbGVjdCBHRU5FUklDX1RJTUUKQEAgLTEyNiw2ICsxMzEsMTIgQEAKIAkgIFNlbGVjdCB0aGlzIGlmIHlvdSBhcmUgdXNpbmcgZW1RYml0J3MgRUNCX0FUOTEgYm9hcmQuCiAJICA8aHR0cDovL3dpa2kuZW1xYml0LmNvbS9mcmVlLWVjYi1hdDkxPgogCitjb25maWcgTUFDSF9ZTDkyMDAKKwlib29sICJ1Y0RyYWdvbiBZTC05MjAwIgorCWRlcGVuZHMgb24gQVJDSF9BVDkxUk05MjAwCisJaGVscAorCSAgU2VsZWN0IHRoaXMgaWYgeW91IGFyZSB1c2luZyB0aGUgdWNEcmFnb24gWUwtOTIwMCBib2FyZC4KKwogZW5kaWYKIAogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkBAIC0xNjQsNiArMTc1LDIwIEBACiAJICBTZWxlY3QgdGhpcyBpZiB5b3UgYXJlIHVzaW5nIE9saW1leCdzIFNBTTktTDkyNjAgYm9hcmQgYmFzZWQgb24gdGhlIEF0bWVsIEFUOTFTQU05MjYwLgogCSAgPGh0dHA6Ly93d3cub2xpbWV4LmNvbS9kZXYvc2FtOS1MOTI2MC5odG1sPgogCitjb25maWcgTUFDSF9VU0JfQTkyNjAKKwlib29sICJDQUxBTyBVU0ItQTkyNjAiCisJZGVwZW5kcyBvbiBBUkNIX0FUOTFTQU05MjYwCisJaGVscAorCSAgU2VsZWN0IHRoaXMgaWYgeW91IGFyZSB1c2luZyBhIENhbGFvIFN5c3RlbXMgVVNCLUE5MjYwLgorCSAgPGh0dHA6Ly93d3cuY2FsYW8tc3lzdGVtcy5jb20+CisKK2NvbmZpZyBNQUNIX1FJTF9BOTI2MAorCWJvb2wgIkNBTEFPIFFJTC1BOTI2MCBib2FyZCIKKwlkZXBlbmRzIG9uIEFSQ0hfQVQ5MVNBTTkyNjAKKwloZWxwCisJICBTZWxlY3QgdGhpcyBpZiB5b3UgYXJlIHVzaW5nIGEgQ2FsYW8gU3lzdGVtcyBRSUwtQTkyNjAgQm9hcmQuCisJICA8aHR0cDovL3d3dy5jYWxhby1zeXN0ZW1zLmNvbT4KKwogZW5kaWYKIAogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkBAIC0xOTQsNiArMjE5LDEzIEBACiAJICBTZWxlY3QgdGhpcyBpZiB5b3UgYXJlIHVzaW5nIEF0bWVsJ3MgQVQ5MVNBTTkyNjMtRUsgRXZhbHVhdGlvbiBLaXQuCiAJICA8aHR0cDovL3d3dy5hdG1lbC5jb20vZHluL3Byb2R1Y3RzL3Rvb2xzX2NhcmQuYXNwP3Rvb2xfaWQ9NDA1Nz4KIAorY29uZmlnIE1BQ0hfVVNCX0E5MjYzCisJYm9vbCAiQ0FMQU8gVVNCLUE5MjYzIgorCWRlcGVuZHMgb24gQVJDSF9BVDkxU0FNOTI2MworCWhlbHAKKwkgIFNlbGVjdCB0aGlzIGlmIHlvdSBhcmUgdXNpbmcgYSBDYWxhbyBTeXN0ZW1zIFVTQi1BOTI2My4KKwkgIDxodHRwOi8vd3d3LmNhbGFvLXN5c3RlbXMuY29tPgorCiBlbmRpZgogCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTIxMiw2ICsyNDQsMjAgQEAKIAogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKK2lmIEFSQ0hfQVQ5MVNBTTlHMjAKKworY29tbWVudCAiQVQ5MVNBTTlHMjAgQm9hcmQgVHlwZSIKKworY29uZmlnIE1BQ0hfQVQ5MVNBTTlHMjBFSworCWJvb2wgIkF0bWVsIEFUOTFTQU05RzIwLUVLIEV2YWx1YXRpb24gS2l0IgorCWRlcGVuZHMgb24gQVJDSF9BVDkxU0FNOUcyMAorCWhlbHAKKwkgIFNlbGVjdCB0aGlzIGlmIHlvdSBhcmUgdXNpbmcgQXRtZWwncyBBVDkxU0FNOUcyMC1FSyBFdmFsdWF0aW9uIEtpdC4KKworZW5kaWYKKworIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKIGlmIEFSQ0hfQVQ5MUNBUDkKIAogY29tbWVudCAiQVQ5MUNBUDkgQm9hcmQgVHlwZSIKQEAgLTI0NywxMyArMjkzLDEzIEBACiAKIGNvbmZpZyBNVERfQVQ5MV9EQVRBRkxBU0hfQ0FSRAogCWJvb2wgIkVuYWJsZSBEYXRhRmxhc2ggQ2FyZCBzdXBwb3J0IgotCWRlcGVuZHMgb24gKEFSQ0hfQVQ5MVJNOTIwMERLIHx8IE1BQ0hfQVQ5MVJNOTIwMEVLIHx8IE1BQ0hfQVQ5MVNBTTkyNjBFSyB8fCBNQUNIX0FUOTFTQU05MjYxRUsgfHwgTUFDSF9BVDkxU0FNOTI2M0VLIHx8IE1BQ0hfQVQ5MUNBUDlBREsgfHwgTUFDSF9TQU05X0w5MjYwIHx8IE1BQ0hfRUNCQVQ5MSkKKwlkZXBlbmRzIG9uIChBUkNIX0FUOTFSTTkyMDBESyB8fCBNQUNIX0FUOTFSTTkyMDBFSyB8fCBNQUNIX0FUOTFTQU05MjYwRUsgfHwgTUFDSF9BVDkxU0FNOTI2MUVLIHx8IE1BQ0hfQVQ5MVNBTTkyNjNFSyB8fCBNQUNIX0FUOTFTQU05RzIwRUsgfHwgTUFDSF9FQ0JBVDkxIHx8IE1BQ0hfU0FNOV9MOTI2MCB8fCBNQUNIX0FUOTFDQVA5QURLKQogCWhlbHAKIAkgIEVuYWJsZSBzdXBwb3J0IGZvciB0aGUgRGF0YUZsYXNoIGNhcmQuCiAKIGNvbmZpZyBNVERfTkFORF9BVDkxX0JVU1dJRFRIXzE2CiAJYm9vbCAiRW5hYmxlIDE2LWJpdCBkYXRhIGJ1cyBpbnRlcmZhY2UgdG8gTkFORCBmbGFzaCIKLQlkZXBlbmRzIG9uIChNQUNIX0FUOTFTQU05MjYwRUsgfHwgTUFDSF9BVDkxU0FNOTI2MUVLIHx8IE1BQ0hfQVQ5MVNBTTkyNjNFSyB8fCBNQUNIX0FUOTFDQVA5QURLKQorCWRlcGVuZHMgb24gKE1BQ0hfQVQ5MVNBTTkyNjBFSyB8fCBNQUNIX0FUOTFTQU05MjYxRUsgfHwgTUFDSF9BVDkxU0FNOTI2M0VLIHx8IE1BQ0hfQVQ5MVNBTTlHMjBFSyB8fCBNQUNIX0FUOTFDQVA5QURLKQogCWhlbHAKIAkgIE9uIEFUOTFTQU05MjZ4IGJvYXJkcyBib3RoIHR5cGVzIG9mIE5BTkQgZmxhc2ggY2FuIGJlIHByZXNlbnQKIAkgICg4IGFuZCAxNiBiaXQgZGF0YSBidXMgd2lkdGgpLgpAQCAtMzAyLDE1ICszNDgsMTUgQEAKIAogY29uZmlnIEFUOTFfRUFSTFlfVVNBUlQzCiAJYm9vbCAiVVNBUlQzIgotCWRlcGVuZHMgb24gKEFSQ0hfQVQ5MVJNOTIwMCB8fCBBUkNIX0FUOTFTQU05UkwgfHwgQVJDSF9BVDkxU0FNOTI2MCkKKwlkZXBlbmRzIG9uIChBUkNIX0FUOTFSTTkyMDAgfHwgQVJDSF9BVDkxU0FNOVJMIHx8IEFSQ0hfQVQ5MVNBTTkyNjAgfHwgQVJDSF9BVDkxU0FNOUcyMCkKIAogY29uZmlnIEFUOTFfRUFSTFlfVVNBUlQ0CiAJYm9vbCAiVVNBUlQ0IgotCWRlcGVuZHMgb24gQVJDSF9BVDkxU0FNOTI2MAorCWRlcGVuZHMgb24gQVJDSF9BVDkxU0FNOTI2MCB8fCBBUkNIX0FUOTFTQU05RzIwCiAKIGNvbmZpZyBBVDkxX0VBUkxZX1VTQVJUNQogCWJvb2wgIlVTQVJUNSIKLQlkZXBlbmRzIG9uIEFSQ0hfQVQ5MVNBTTkyNjAKKwlkZXBlbmRzIG9uIEFSQ0hfQVQ5MVNBTTkyNjAgfHwgQVJDSF9BVDkxU0FNOUcyMAogCiBlbmRjaG9pY2UKIApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1hdDkxL01ha2VmaWxlIGIvYXJjaC9hcm0vbWFjaC1hdDkxL01ha2VmaWxlCmluZGV4IDhkOWJjMDEuLjdkNjQxZjkgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtYXQ5MS9NYWtlZmlsZQorKysgYi9hcmNoL2FybS9tYWNoLWF0OTEvTWFrZWZpbGUKQEAgLTE1LDYgKzE1LDcgQEAKIG9iai0kKENPTkZJR19BUkNIX0FUOTFTQU05MjYxKQkrPSBhdDkxc2FtOTI2MS5vIGF0OTFzYW05MjZ4X3RpbWUubyBhdDkxc2FtOTI2MV9kZXZpY2VzLm8KIG9iai0kKENPTkZJR19BUkNIX0FUOTFTQU05MjYzKQkrPSBhdDkxc2FtOTI2My5vIGF0OTFzYW05MjZ4X3RpbWUubyBhdDkxc2FtOTI2M19kZXZpY2VzLm8KIG9iai0kKENPTkZJR19BUkNIX0FUOTFTQU05UkwpCSs9IGF0OTFzYW05cmwubyBhdDkxc2FtOTI2eF90aW1lLm8gYXQ5MXNhbTlybF9kZXZpY2VzLm8KK29iai0kKENPTkZJR19BUkNIX0FUOTFTQU05RzIwKQkrPSBhdDkxc2FtOTI2MC5vIGF0OTFzYW05MjZ4X3RpbWUubyBhdDkxc2FtOTI2MF9kZXZpY2VzLm8KIG9iai0kKENPTkZJR19BUkNIX0FUOTFDQVA5KQkrPSBhdDkxY2FwOS5vIGF0OTFzYW05MjZ4X3RpbWUubyBhdDkxY2FwOV9kZXZpY2VzLm8KIG9iai0kKENPTkZJR19BUkNIX0FUOTFYNDApCSs9IGF0OTF4NDAubyBhdDkxeDQwX3RpbWUubwogCkBAIC0zMCwyMSArMzEsMjggQEAKIG9iai0kKENPTkZJR19NQUNIX0tBRkEpCQkrPSBib2FyZC1rYWZhLm8KIG9iai0kKENPTkZJR19NQUNIX1BJQ09UVVgyWFgpCSs9IGJvYXJkLXBpY290dXgyMDAubwogb2JqLSQoQ09ORklHX01BQ0hfRUNCQVQ5MSkJKz0gYm9hcmQtZWNiYXQ5MS5vCitvYmotJChDT05GSUdfTUFDSF9ZTDkyMDApCSs9IGJvYXJkLXlsLTkyMDAubwogCiAjIEFUOTFTQU05MjYwIGJvYXJkLXNwZWNpZmljIHN1cHBvcnQKIG9iai0kKENPTkZJR19NQUNIX0FUOTFTQU05MjYwRUspICs9IGJvYXJkLXNhbTkyNjBlay5vCiBvYmotJChDT05GSUdfTUFDSF9DQU02MCkJKz0gYm9hcmQtY2FtNjAubwogb2JqLSQoQ09ORklHX01BQ0hfU0FNOV9MOTI2MCkJKz0gYm9hcmQtc2FtOS1sOTI2MC5vCitvYmotJChDT05GSUdfTUFDSF9VU0JfQTkyNjApCSs9IGJvYXJkLXVzYi1hOTI2MC5vCitvYmotJChDT05GSUdfTUFDSF9RSUxfQTkyNjApCSs9IGJvYXJkLXFpbC1hOTI2MC5vCiAKICMgQVQ5MVNBTTkyNjEgYm9hcmQtc3BlY2lmaWMgc3VwcG9ydAogb2JqLSQoQ09ORklHX01BQ0hfQVQ5MVNBTTkyNjFFSykgKz0gYm9hcmQtc2FtOTI2MWVrLm8KIAogIyBBVDkxU0FNOTI2MyBib2FyZC1zcGVjaWZpYyBzdXBwb3J0CiBvYmotJChDT05GSUdfTUFDSF9BVDkxU0FNOTI2M0VLKSArPSBib2FyZC1zYW05MjYzZWsubworb2JqLSQoQ09ORklHX01BQ0hfVVNCX0E5MjYzKQkrPSBib2FyZC11c2ItYTkyNjMubwogCiAjIEFUOTFTQU05UkwgYm9hcmQtc3BlY2lmaWMgc3VwcG9ydAogb2JqLSQoQ09ORklHX01BQ0hfQVQ5MVNBTTlSTEVLKQkrPSBib2FyZC1zYW05cmxlay5vCiAKKyMgQVQ5MVNBTTlHMjAgYm9hcmQtc3BlY2lmaWMgc3VwcG9ydAorb2JqLSQoQ09ORklHX01BQ0hfQVQ5MVNBTTlHMjBFSykgKz0gYm9hcmQtc2FtOWcyMGVrLm8KKwogIyBBVDkxQ0FQOSBib2FyZC1zcGVjaWZpYyBzdXBwb3J0CiBvYmotJChDT05GSUdfTUFDSF9BVDkxQ0FQOUFESykJKz0gYm9hcmQtY2FwOWFkay5vCiAKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtYXQ5MS9hdDkxY2FwOV9kZXZpY2VzLmMgYi9hcmNoL2FybS9tYWNoLWF0OTEvYXQ5MWNhcDlfZGV2aWNlcy5jCmluZGV4IGJlNTI2NzQuLjc0N2I5ZGUgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtYXQ5MS9hdDkxY2FwOV9kZXZpY2VzLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2F0OTFjYXA5X2RldmljZXMuYwpAQCAtODQsNiArODQsMTA1IEBACiAKIAogLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqICBVU0IgSFMgRGV2aWNlIChHYWRnZXQpCisgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCisjaWYgZGVmaW5lZChDT05GSUdfVVNCX0dBREdFVF9BVE1FTF9VU0JBKSB8fCBkZWZpbmVkKENPTkZJR19VU0JfR0FER0VUX0FUTUVMX1VTQkFfTU9EVUxFKQorCitzdGF0aWMgc3RydWN0IHJlc291cmNlIHVzYmFfdWRjX3Jlc291cmNlc1tdID0geworCVswXSA9IHsKKwkJLnN0YXJ0CT0gQVQ5MUNBUDlfVURQSFNfRklGTywKKwkJLmVuZAk9IEFUOTFDQVA5X1VEUEhTX0ZJRk8gKyBTWl81MTJLIC0gMSwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwKKwlbMV0gPSB7CisJCS5zdGFydAk9IEFUOTFDQVA5X0JBU0VfVURQSFMsCisJCS5lbmQJPSBBVDkxQ0FQOV9CQVNFX1VEUEhTICsgU1pfMUsgLSAxLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKKwl9LAorCVsyXSA9IHsKKwkJLnN0YXJ0CT0gQVQ5MUNBUDlfSURfVURQSFMsCisJCS5lbmQJPSBBVDkxQ0FQOV9JRF9VRFBIUywKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9JUlEsCisJfSwKK307CisKKyNkZWZpbmUgRVAobmFtLCBpZHgsIG1heHBrdCwgbWF4YmssIGRtYSwgaXNvYykJCQlcCisJW2lkeF0gPSB7CQkJCQkJXAorCQkubmFtZQkJPSBuYW0sCQkJCVwKKwkJLmluZGV4CQk9IGlkeCwJCQkJXAorCQkuZmlmb19zaXplCT0gbWF4cGt0LAkJCVwKKwkJLm5yX2JhbmtzCT0gbWF4YmssCQkJXAorCQkuY2FuX2RtYQk9IGRtYSwJCQkJXAorCQkuY2FuX2lzb2MJPSBpc29jLAkJCQlcCisJfQorCitzdGF0aWMgc3RydWN0IHVzYmFfZXBfZGF0YSB1c2JhX3VkY19lcFtdID0geworCUVQKCJlcDAiLCAwLCAgIDY0LCAxLCAwLCAwKSwKKwlFUCgiZXAxIiwgMSwgMTAyNCwgMywgMSwgMSksCisJRVAoImVwMiIsIDIsIDEwMjQsIDMsIDEsIDEpLAorCUVQKCJlcDMiLCAzLCAxMDI0LCAyLCAxLCAxKSwKKwlFUCgiZXA0IiwgNCwgMTAyNCwgMiwgMSwgMSksCisJRVAoImVwNSIsIDUsIDEwMjQsIDIsIDEsIDApLAorCUVQKCJlcDYiLCA2LCAxMDI0LCAyLCAxLCAwKSwKKwlFUCgiZXA3IiwgNywgMTAyNCwgMiwgMCwgMCksCit9OworCisjdW5kZWYgRVAKKworLyoKKyAqIHBkYXRhIGRvZXNuJ3QgaGF2ZSByb29tIGZvciBhbnkgZW5kcG9pbnRzLCBzbyB3ZSBuZWVkIHRvCisgKiBhcHBlbmQgcm9vbSBmb3IgdGhlIG9uZXMgd2UgbmVlZCByaWdodCBhZnRlciBpdC4KKyAqLworc3RhdGljIHN0cnVjdCB7CisJc3RydWN0IHVzYmFfcGxhdGZvcm1fZGF0YSBwZGF0YTsKKwlzdHJ1Y3QgdXNiYV9lcF9kYXRhIGVwWzhdOworfSB1c2JhX3VkY19kYXRhOworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBhdDkxX3VzYmFfdWRjX2RldmljZSA9IHsKKwkubmFtZQkJPSAiYXRtZWxfdXNiYV91ZGMiLAorCS5pZAkJPSAtMSwKKwkuZGV2CQk9IHsKKwkJCQkucGxhdGZvcm1fZGF0YQk9ICZ1c2JhX3VkY19kYXRhLnBkYXRhLAorCX0sCisJLnJlc291cmNlCT0gdXNiYV91ZGNfcmVzb3VyY2VzLAorCS5udW1fcmVzb3VyY2VzCT0gQVJSQVlfU0laRSh1c2JhX3VkY19yZXNvdXJjZXMpLAorfTsKKwordm9pZCBfX2luaXQgYXQ5MV9hZGRfZGV2aWNlX3VzYmEoc3RydWN0IHVzYmFfcGxhdGZvcm1fZGF0YSAqZGF0YSkKK3sKKwlhdDkxX3N5c193cml0ZShBVDkxX01BVFJJWF9VRFBIUywgQVQ5MV9NQVRSSVhfU0VMRUNUX1VEUEhTIHwKKwkJCQkJICBBVDkxX01BVFJJWF9VRFBIU19CWVBBU1NfTE9DSyk7CisKKwkvKgorCSAqIEludmFsaWQgcGlucyBhcmUgMCBvbiBBVDkxLCBidXQgdGhlIHVzYmEgZHJpdmVyIGlzIHNoYXJlZAorCSAqIHdpdGggQVZSMzIsIHdoaWNoIHVzZSBuZWdhdGl2ZSB2YWx1ZXMgaW5zdGVhZC4gT25jZS9pZgorCSAqIGdwaW9faXNfdmFsaWQoKSBpcyBwb3J0ZWQgdG8gQVQ5MSwgcmV2aXNpdCB0aGlzIGNvZGUuCisJICovCisJdXNiYV91ZGNfZGF0YS5wZGF0YS52YnVzX3BpbiA9IC1FSU5WQUw7CisJdXNiYV91ZGNfZGF0YS5wZGF0YS5udW1fZXAgPSBBUlJBWV9TSVpFKHVzYmFfdWRjX2VwKTsKKwltZW1jcHkodXNiYV91ZGNfZGF0YS5lcCwgdXNiYV91ZGNfZXAsIHNpemVvZih1c2JhX3VkY19lcCkpOzsKKworCWlmIChkYXRhICYmIGRhdGEtPnZidXNfcGluID4gMCkgeworCQlhdDkxX3NldF9ncGlvX2lucHV0KGRhdGEtPnZidXNfcGluLCAwKTsKKwkJYXQ5MV9zZXRfZGVnbGl0Y2goZGF0YS0+dmJ1c19waW4sIDEpOworCQl1c2JhX3VkY19kYXRhLnBkYXRhLnZidXNfcGluID0gZGF0YS0+dmJ1c19waW47CisJfQorCisJLyogUHVsbHVwIHBpbiBpcyBoYW5kbGVkIGludGVybmFsbHkgYnkgVVNCIGRldmljZSBwZXJpcGhlcmFsICovCisKKwkvKiBDbG9ja3MgKi8KKwlhdDkxX2Nsb2NrX2Fzc29jaWF0ZSgidXRtaV9jbGsiLCAmYXQ5MV91c2JhX3VkY19kZXZpY2UuZGV2LCAiaGNsayIpOworCWF0OTFfY2xvY2tfYXNzb2NpYXRlKCJ1ZHBoc19jbGsiLCAmYXQ5MV91c2JhX3VkY19kZXZpY2UuZGV2LCAicGNsayIpOworCisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZhdDkxX3VzYmFfdWRjX2RldmljZSk7Cit9CisjZWxzZQordm9pZCBfX2luaXQgYXQ5MV9hZGRfZGV2aWNlX3VzYmEoc3RydWN0IHVzYmFfcGxhdGZvcm1fZGF0YSAqZGF0YSkge30KKyNlbmRpZgorCisKKy8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgKiAgRXRoZXJuZXQKICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCiAKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtYXQ5MS9hdDkxc2FtOTI2MC5jIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2F0OTFzYW05MjYwLmMKaW5kZXggZWUyNjU1MC4uMzgwZjEyYSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1hdDkxL2F0OTFzYW05MjYwLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2F0OTFzYW05MjYwLmMKQEAgLTQ3LDYgKzQ3LDIwIEBACiAJfQogfTsKIAorc3RhdGljIHN0cnVjdCBtYXBfZGVzYyBhdDkxc2FtOWcyMF9zcmFtX2Rlc2NbXSBfX2luaXRkYXRhID0geworCXsKKwkJLnZpcnR1YWwJPSBBVDkxX0lPX1ZJUlRfQkFTRSAtIEFUOTFTQU05RzIwX1NSQU0wX1NJWkUsCisJCS5wZm4JCT0gX19waHlzX3RvX3BmbihBVDkxU0FNOUcyMF9TUkFNMF9CQVNFKSwKKwkJLmxlbmd0aAkJPSBBVDkxU0FNOUcyMF9TUkFNMF9TSVpFLAorCQkudHlwZQkJPSBNVF9ERVZJQ0UsCisJfSwgeworCQkudmlydHVhbAk9IEFUOTFfSU9fVklSVF9CQVNFIC0gQVQ5MVNBTTlHMjBfU1JBTTBfU0laRSAtIEFUOTFTQU05RzIwX1NSQU0xX1NJWkUsCisJCS5wZm4JCT0gX19waHlzX3RvX3BmbihBVDkxU0FNOUcyMF9TUkFNMV9CQVNFKSwKKwkJLmxlbmd0aAkJPSBBVDkxU0FNOUcyMF9TUkFNMV9TSVpFLAorCQkudHlwZQkJPSBNVF9ERVZJQ0UsCisJfQorfTsKKwogc3RhdGljIHN0cnVjdCBtYXBfZGVzYyBhdDkxc2FtOXhlX3NyYW1fZGVzY1tdIF9faW5pdGRhdGEgPSB7CiAJewogCQkucGZuCQk9IF9fcGh5c190b19wZm4oQVQ5MVNBTTlYRV9TUkFNX0JBU0UpLApAQCAtMzA3LDYgKzMyMSw4IEBACiAKIAlpZiAoY3B1X2lzX2F0OTFzYW05eGUoKSkKIAkJYXQ5MXNhbTl4ZV9pbml0aWFsaXplKCk7CisJZWxzZSBpZiAoY3B1X2lzX2F0OTFzYW05ZzIwKCkpCisJCWlvdGFibGVfaW5pdChhdDkxc2FtOWcyMF9zcmFtX2Rlc2MsIEFSUkFZX1NJWkUoYXQ5MXNhbTlnMjBfc3JhbV9kZXNjKSk7CiAJZWxzZQogCQlpb3RhYmxlX2luaXQoYXQ5MXNhbTkyNjBfc3JhbV9kZXNjLCBBUlJBWV9TSVpFKGF0OTFzYW05MjYwX3NyYW1fZGVzYykpOwogCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWF0OTEvYXQ5MXNhbTkyNjBfZGV2aWNlcy5jIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2F0OTFzYW05MjYwX2RldmljZXMuYwppbmRleCAzOTNhMzJhLi44NmNiYTRhIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLWF0OTEvYXQ5MXNhbTkyNjBfZGV2aWNlcy5jCisrKyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9hdDkxc2FtOTI2MF9kZXZpY2VzLmMKQEAgLTE4LDYgKzE4LDcgQEAKIAogI2luY2x1ZGUgPGFzbS9hcmNoL2JvYXJkLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvZ3Bpby5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2NwdS5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL2F0OTFzYW05MjYwLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvYXQ5MXNhbTkyNjBfbWF0cml4Lmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvYXQ5MXNhbTlfc21jLmg+CkBAIC0zMjAsMjAgKzMyMSw0MSBAQAogCWNzYSA9IGF0OTFfc3lzX3JlYWQoQVQ5MV9NQVRSSVhfRUJJQ1NBKTsKIAlhdDkxX3N5c193cml0ZShBVDkxX01BVFJJWF9FQklDU0EsIGNzYSB8IEFUOTFfTUFUUklYX0NTM0FfU01DX1NNQVJUTUVESUEpOwogCi0JLyogc2V0IHRoZSBidXMgaW50ZXJmYWNlIGNoYXJhY3RlcmlzdGljcyAqLwotCWF0OTFfc3lzX3dyaXRlKEFUOTFfU01DX1NFVFVQKDMpLCBBVDkxX1NNQ19OV0VTRVRVUF8oMCkgfCBBVDkxX1NNQ19OQ1NfV1JTRVRVUF8oMCkKLQkJCXwgQVQ5MV9TTUNfTlJEU0VUVVBfKDApIHwgQVQ5MV9TTUNfTkNTX1JEU0VUVVBfKDApKTsKKwlpZiAoY3B1X2lzX2F0OTFzYW05MjYwKCkpIHsKKwkJLyogVGltaW5nIGZvciBzYW05MjYwICovCisJCS8qIHNldCB0aGUgYnVzIGludGVyZmFjZSBjaGFyYWN0ZXJpc3RpY3MgKi8KKwkJYXQ5MV9zeXNfd3JpdGUoQVQ5MV9TTUNfU0VUVVAoMyksIEFUOTFfU01DX05XRVNFVFVQXygxKSB8IEFUOTFfU01DX05DU19XUlNFVFVQXygwKQorCQkJCXwgQVQ5MV9TTUNfTlJEU0VUVVBfKDEpIHwgQVQ5MV9TTUNfTkNTX1JEU0VUVVBfKDApKTsKIAotCWF0OTFfc3lzX3dyaXRlKEFUOTFfU01DX1BVTFNFKDMpLCBBVDkxX1NNQ19OV0VQVUxTRV8oMykgfCBBVDkxX1NNQ19OQ1NfV1JQVUxTRV8oMykKLQkJCXwgQVQ5MV9TTUNfTlJEUFVMU0VfKDMpIHwgQVQ5MV9TTUNfTkNTX1JEUFVMU0VfKDMpKTsKKwkJYXQ5MV9zeXNfd3JpdGUoQVQ5MV9TTUNfUFVMU0UoMyksIEFUOTFfU01DX05XRVBVTFNFXygzKSB8IEFUOTFfU01DX05DU19XUlBVTFNFXygzKQorCQkJCXwgQVQ5MV9TTUNfTlJEUFVMU0VfKDMpIHwgQVQ5MV9TTUNfTkNTX1JEUFVMU0VfKDMpKTsKIAotCWF0OTFfc3lzX3dyaXRlKEFUOTFfU01DX0NZQ0xFKDMpLCBBVDkxX1NNQ19OV0VDWUNMRV8oNSkgfCBBVDkxX1NNQ19OUkRDWUNMRV8oNSkpOworCQlhdDkxX3N5c193cml0ZShBVDkxX1NNQ19DWUNMRSgzKSwgQVQ5MV9TTUNfTldFQ1lDTEVfKDUpIHwgQVQ5MV9TTUNfTlJEQ1lDTEVfKDUpKTsKIAotCWlmIChkYXRhLT5idXNfd2lkdGhfMTYpCi0JCW1vZGUgPSBBVDkxX1NNQ19EQldfMTY7Ci0JZWxzZQotCQltb2RlID0gQVQ5MV9TTUNfREJXXzg7Ci0JYXQ5MV9zeXNfd3JpdGUoQVQ5MV9TTUNfTU9ERSgzKSwgbW9kZSB8IEFUOTFfU01DX1JFQURNT0RFIHwgQVQ5MV9TTUNfV1JJVEVNT0RFIHwgQVQ5MV9TTUNfRVhOV01PREVfRElTQUJMRSB8IEFUOTFfU01DX1RERl8oMikpOworCQlpZiAoZGF0YS0+YnVzX3dpZHRoXzE2KQorCQkJbW9kZSA9IEFUOTFfU01DX0RCV18xNjsKKwkJZWxzZQorCQkJbW9kZSA9IEFUOTFfU01DX0RCV184OworCQlhdDkxX3N5c193cml0ZShBVDkxX1NNQ19NT0RFKDMpLCBtb2RlIHwgQVQ5MV9TTUNfUkVBRE1PREUgfCBBVDkxX1NNQ19XUklURU1PREUgfCBBVDkxX1NNQ19FWE5XTU9ERV9ESVNBQkxFIHwgQVQ5MV9TTUNfVERGXygyKSk7CisJfQorCisJaWYgKGNwdV9pc19hdDkxc2FtOWcyMCgpKSB7CisJCS8qIFRpbWluZyBmb3Igc2FtOWcyMCAqLworCQkvKiBzZXQgdGhlIGJ1cyBpbnRlcmZhY2UgY2hhcmFjdGVyaXN0aWNzICovCisJCWF0OTFfc3lzX3dyaXRlKEFUOTFfU01DX1NFVFVQKDMpLCBBVDkxX1NNQ19OV0VTRVRVUF8oMikgfCBBVDkxX1NNQ19OQ1NfV1JTRVRVUF8oMCkKKwkJCQl8IEFUOTFfU01DX05SRFNFVFVQXygyKSB8IEFUOTFfU01DX05DU19SRFNFVFVQXygwKSk7CisKKwkJYXQ5MV9zeXNfd3JpdGUoQVQ5MV9TTUNfUFVMU0UoMyksIEFUOTFfU01DX05XRVBVTFNFXyg0KSB8IEFUOTFfU01DX05DU19XUlBVTFNFXyg0KQorCQkJCXwgQVQ5MV9TTUNfTlJEUFVMU0VfKDQpIHwgQVQ5MV9TTUNfTkNTX1JEUFVMU0VfKDQpKTsKKworCQlhdDkxX3N5c193cml0ZShBVDkxX1NNQ19DWUNMRSgzKSwgQVQ5MV9TTUNfTldFQ1lDTEVfKDcpIHwgQVQ5MV9TTUNfTlJEQ1lDTEVfKDcpKTsKKworCQlpZiAoZGF0YS0+YnVzX3dpZHRoXzE2KQorCQkJbW9kZSA9IEFUOTFfU01DX0RCV18xNjsKKwkJZWxzZQorCQkJbW9kZSA9IEFUOTFfU01DX0RCV184OworCQlhdDkxX3N5c193cml0ZShBVDkxX1NNQ19NT0RFKDMpLCBtb2RlIHwgQVQ5MV9TTUNfUkVBRE1PREUgfCBBVDkxX1NNQ19XUklURU1PREUgfCBBVDkxX1NNQ19FWE5XTU9ERV9ESVNBQkxFIHwgQVQ5MV9TTUNfVERGXygzKSk7CisJfQogCiAJLyogZW5hYmxlIHBpbiAqLwogCWlmIChkYXRhLT5lbmFibGVfcGluKQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1hdDkxL2F0OTFzYW05MjYxX2RldmljZXMuYyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9hdDkxc2FtOTI2MV9kZXZpY2VzLmMKaW5kZXggMGJhYmI2NC4uZWMxODkxMyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1hdDkxL2F0OTFzYW05MjYxX2RldmljZXMuYworKysgYi9hcmNoL2FybS9tYWNoLWF0OTEvYXQ5MXNhbTkyNjFfZGV2aWNlcy5jCkBAIC0yMzIsMTkgKzIzMiwxOSBAQAogCWF0OTFfc3lzX3dyaXRlKEFUOTFfTUFUUklYX0VCSUNTQSwgY3NhIHwgQVQ5MV9NQVRSSVhfQ1MzQV9TTUNfU01BUlRNRURJQSk7CiAKIAkvKiBzZXQgdGhlIGJ1cyBpbnRlcmZhY2UgY2hhcmFjdGVyaXN0aWNzICovCi0JYXQ5MV9zeXNfd3JpdGUoQVQ5MV9TTUNfU0VUVVAoMyksIEFUOTFfU01DX05XRVNFVFVQXygwKSB8IEFUOTFfU01DX05DU19XUlNFVFVQXygwKQotCQkJfCBBVDkxX1NNQ19OUkRTRVRVUF8oMCkgfCBBVDkxX1NNQ19OQ1NfUkRTRVRVUF8oMCkpOworCWF0OTFfc3lzX3dyaXRlKEFUOTFfU01DX1NFVFVQKDMpLCBBVDkxX1NNQ19OV0VTRVRVUF8oMSkgfCBBVDkxX1NNQ19OQ1NfV1JTRVRVUF8oMCkKKwkJCXwgQVQ5MV9TTUNfTlJEU0VUVVBfKDEpIHwgQVQ5MV9TTUNfTkNTX1JEU0VUVVBfKDApKTsKIAotCWF0OTFfc3lzX3dyaXRlKEFUOTFfU01DX1BVTFNFKDMpLCBBVDkxX1NNQ19OV0VQVUxTRV8oMikgfCBBVDkxX1NNQ19OQ1NfV1JQVUxTRV8oNSkKLQkJCXwgQVQ5MV9TTUNfTlJEUFVMU0VfKDIpIHwgQVQ5MV9TTUNfTkNTX1JEUFVMU0VfKDUpKTsKKwlhdDkxX3N5c193cml0ZShBVDkxX1NNQ19QVUxTRSgzKSwgQVQ5MV9TTUNfTldFUFVMU0VfKDMpIHwgQVQ5MV9TTUNfTkNTX1dSUFVMU0VfKDMpCisJCQl8IEFUOTFfU01DX05SRFBVTFNFXygzKSB8IEFUOTFfU01DX05DU19SRFBVTFNFXygzKSk7CiAKLQlhdDkxX3N5c193cml0ZShBVDkxX1NNQ19DWUNMRSgzKSwgQVQ5MV9TTUNfTldFQ1lDTEVfKDcpIHwgQVQ5MV9TTUNfTlJEQ1lDTEVfKDcpKTsKKwlhdDkxX3N5c193cml0ZShBVDkxX1NNQ19DWUNMRSgzKSwgQVQ5MV9TTUNfTldFQ1lDTEVfKDUpIHwgQVQ5MV9TTUNfTlJEQ1lDTEVfKDUpKTsKIAogCWlmIChkYXRhLT5idXNfd2lkdGhfMTYpCiAJCW1vZGUgPSBBVDkxX1NNQ19EQldfMTY7CiAJZWxzZQogCQltb2RlID0gQVQ5MV9TTUNfREJXXzg7Ci0JYXQ5MV9zeXNfd3JpdGUoQVQ5MV9TTUNfTU9ERSgzKSwgbW9kZSB8IEFUOTFfU01DX1JFQURNT0RFIHwgQVQ5MV9TTUNfV1JJVEVNT0RFIHwgQVQ5MV9TTUNfRVhOV01PREVfRElTQUJMRSB8IEFUOTFfU01DX1RERl8oMSkpOworCWF0OTFfc3lzX3dyaXRlKEFUOTFfU01DX01PREUoMyksIG1vZGUgfCBBVDkxX1NNQ19SRUFETU9ERSB8IEFUOTFfU01DX1dSSVRFTU9ERSB8IEFUOTFfU01DX0VYTldNT0RFX0RJU0FCTEUgfCBBVDkxX1NNQ19UREZfKDIpKTsKIAogCS8qIGVuYWJsZSBwaW4gKi8KIAlpZiAoZGF0YS0+ZW5hYmxlX3BpbikKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtYXQ5MS9hdDkxc2FtOTI2M19kZXZpY2VzLmMgYi9hcmNoL2FybS9tYWNoLWF0OTEvYXQ5MXNhbTkyNjNfZGV2aWNlcy5jCmluZGV4IDcxOTY2N2UuLjhhODFmNzYgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtYXQ5MS9hdDkxc2FtOTI2M19kZXZpY2VzLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2F0OTFzYW05MjYzX2RldmljZXMuYwpAQCAtMzkxLDggKzM5MSw4IEBACiAJYXQ5MV9zeXNfd3JpdGUoQVQ5MV9NQVRSSVhfRUJJMENTQSwgY3NhIHwgQVQ5MV9NQVRSSVhfRUJJMF9DUzNBX1NNQ19TTUFSVE1FRElBKTsKIAogCS8qIHNldCB0aGUgYnVzIGludGVyZmFjZSBjaGFyYWN0ZXJpc3RpY3MgKi8KLQlhdDkxX3N5c193cml0ZShBVDkxX1NNQ19TRVRVUCgzKSwgQVQ5MV9TTUNfTldFU0VUVVBfKDApIHwgQVQ5MV9TTUNfTkNTX1dSU0VUVVBfKDApCi0JCQl8IEFUOTFfU01DX05SRFNFVFVQXygwKSB8IEFUOTFfU01DX05DU19SRFNFVFVQXygwKSk7CisJYXQ5MV9zeXNfd3JpdGUoQVQ5MV9TTUNfU0VUVVAoMyksIEFUOTFfU01DX05XRVNFVFVQXygxKSB8IEFUOTFfU01DX05DU19XUlNFVFVQXygwKQorCQkJfCBBVDkxX1NNQ19OUkRTRVRVUF8oMSkgfCBBVDkxX1NNQ19OQ1NfUkRTRVRVUF8oMCkpOwogCiAJYXQ5MV9zeXNfd3JpdGUoQVQ5MV9TTUNfUFVMU0UoMyksIEFUOTFfU01DX05XRVBVTFNFXygzKSB8IEFUOTFfU01DX05DU19XUlBVTFNFXygzKQogCQkJfCBBVDkxX1NNQ19OUkRQVUxTRV8oMykgfCBBVDkxX1NNQ19OQ1NfUkRQVUxTRV8oMykpOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1hdDkxL2F0OTFzYW05cmxfZGV2aWNlcy5jIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2F0OTFzYW05cmxfZGV2aWNlcy5jCmluZGV4IDQ1MGRiMzAuLmFlMjgxMDEgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtYXQ5MS9hdDkxc2FtOXJsX2RldmljZXMuYworKysgYi9hcmNoL2FybS9tYWNoLWF0OTEvYXQ5MXNhbTlybF9kZXZpY2VzLmMKQEAgLTI2LDYgKzI2LDEwMSBAQAogCiAKIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiAgVVNCIEhTIERldmljZSAoR2FkZ2V0KQorICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKworI2lmIGRlZmluZWQoQ09ORklHX1VTQl9HQURHRVRfQVRNRUxfVVNCQSkgfHwgZGVmaW5lZChDT05GSUdfVVNCX0dBREdFVF9BVE1FTF9VU0JBX01PRFVMRSkKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSB1c2JhX3VkY19yZXNvdXJjZXNbXSA9IHsKKwlbMF0gPSB7CisJCS5zdGFydAk9IEFUOTFTQU05UkxfVURQSFNfRklGTywKKwkJLmVuZAk9IEFUOTFTQU05UkxfVURQSFNfRklGTyArIFNaXzUxMksgLSAxLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKKwl9LAorCVsxXSA9IHsKKwkJLnN0YXJ0CT0gQVQ5MVNBTTlSTF9CQVNFX1VEUEhTLAorCQkuZW5kCT0gQVQ5MVNBTTlSTF9CQVNFX1VEUEhTICsgU1pfMUsgLSAxLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKKwl9LAorCVsyXSA9IHsKKwkJLnN0YXJ0CT0gQVQ5MVNBTTlSTF9JRF9VRFBIUywKKwkJLmVuZAk9IEFUOTFTQU05UkxfSURfVURQSFMsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCisjZGVmaW5lIEVQKG5hbSwgaWR4LCBtYXhwa3QsIG1heGJrLCBkbWEsIGlzb2MpCQkJXAorCVtpZHhdID0gewkJCQkJCVwKKwkJLm5hbWUJCT0gbmFtLAkJCQlcCisJCS5pbmRleAkJPSBpZHgsCQkJCVwKKwkJLmZpZm9fc2l6ZQk9IG1heHBrdCwJCQlcCisJCS5ucl9iYW5rcwk9IG1heGJrLAkJCVwKKwkJLmNhbl9kbWEJPSBkbWEsCQkJCVwKKwkJLmNhbl9pc29jCT0gaXNvYywJCQkJXAorCX0KKworc3RhdGljIHN0cnVjdCB1c2JhX2VwX2RhdGEgdXNiYV91ZGNfZXBbXSBfX2luaXRkYXRhID0geworCUVQKCJlcDAiLCAwLCA2NCwgMSwgMCwgMCksCisJRVAoImVwMSIsIDEsIDEwMjQsIDIsIDEsIDEpLAorCUVQKCJlcDIiLCAyLCAxMDI0LCAyLCAxLCAxKSwKKwlFUCgiZXAzIiwgMywgMTAyNCwgMywgMSwgMCksCisJRVAoImVwNCIsIDQsIDEwMjQsIDMsIDEsIDApLAorCUVQKCJlcDUiLCA1LCAxMDI0LCAzLCAxLCAxKSwKKwlFUCgiZXA2IiwgNiwgMTAyNCwgMywgMSwgMSksCit9OworCisjdW5kZWYgRVAKKworLyoKKyAqIHBkYXRhIGRvZXNuJ3QgaGF2ZSByb29tIGZvciBhbnkgZW5kcG9pbnRzLCBzbyB3ZSBuZWVkIHRvCisgKiBhcHBlbmQgcm9vbSBmb3IgdGhlIG9uZXMgd2UgbmVlZCByaWdodCBhZnRlciBpdC4KKyAqLworc3RhdGljIHN0cnVjdCB7CisJc3RydWN0IHVzYmFfcGxhdGZvcm1fZGF0YSBwZGF0YTsKKwlzdHJ1Y3QgdXNiYV9lcF9kYXRhIGVwWzddOworfSB1c2JhX3VkY19kYXRhOworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBhdDkxX3VzYmFfdWRjX2RldmljZSA9IHsKKwkubmFtZQkJPSAiYXRtZWxfdXNiYV91ZGMiLAorCS5pZAkJPSAtMSwKKwkuZGV2CQk9IHsKKwkJCQkucGxhdGZvcm1fZGF0YQk9ICZ1c2JhX3VkY19kYXRhLnBkYXRhLAorCX0sCisJLnJlc291cmNlCT0gdXNiYV91ZGNfcmVzb3VyY2VzLAorCS5udW1fcmVzb3VyY2VzCT0gQVJSQVlfU0laRSh1c2JhX3VkY19yZXNvdXJjZXMpLAorfTsKKwordm9pZCBfX2luaXQgYXQ5MV9hZGRfZGV2aWNlX3VzYmEoc3RydWN0IHVzYmFfcGxhdGZvcm1fZGF0YSAqZGF0YSkKK3sKKwkvKgorCSAqIEludmFsaWQgcGlucyBhcmUgMCBvbiBBVDkxLCBidXQgdGhlIHVzYmEgZHJpdmVyIGlzIHNoYXJlZAorCSAqIHdpdGggQVZSMzIsIHdoaWNoIHVzZSBuZWdhdGl2ZSB2YWx1ZXMgaW5zdGVhZC4gT25jZS9pZgorCSAqIGdwaW9faXNfdmFsaWQoKSBpcyBwb3J0ZWQgdG8gQVQ5MSwgcmV2aXNpdCB0aGlzIGNvZGUuCisJICovCisJdXNiYV91ZGNfZGF0YS5wZGF0YS52YnVzX3BpbiA9IC1FSU5WQUw7CisJdXNiYV91ZGNfZGF0YS5wZGF0YS5udW1fZXAgPSBBUlJBWV9TSVpFKHVzYmFfdWRjX2VwKTsKKwltZW1jcHkodXNiYV91ZGNfZGF0YS5lcCwgdXNiYV91ZGNfZXAsIHNpemVvZih1c2JhX3VkY19lcCkpOzsKKworCWlmIChkYXRhICYmIGRhdGEtPnZidXNfcGluID4gMCkgeworCQlhdDkxX3NldF9ncGlvX2lucHV0KGRhdGEtPnZidXNfcGluLCAwKTsKKwkJYXQ5MV9zZXRfZGVnbGl0Y2goZGF0YS0+dmJ1c19waW4sIDEpOworCQl1c2JhX3VkY19kYXRhLnBkYXRhLnZidXNfcGluID0gZGF0YS0+dmJ1c19waW47CisJfQorCisJLyogUHVsbHVwIHBpbiBpcyBoYW5kbGVkIGludGVybmFsbHkgYnkgVVNCIGRldmljZSBwZXJpcGhlcmFsICovCisKKwkvKiBDbG9ja3MgKi8KKwlhdDkxX2Nsb2NrX2Fzc29jaWF0ZSgidXRtaV9jbGsiLCAmYXQ5MV91c2JhX3VkY19kZXZpY2UuZGV2LCAiaGNsayIpOworCWF0OTFfY2xvY2tfYXNzb2NpYXRlKCJ1ZHBoc19jbGsiLCAmYXQ5MV91c2JhX3VkY19kZXZpY2UuZGV2LCAicGNsayIpOworCisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZhdDkxX3VzYmFfdWRjX2RldmljZSk7Cit9CisjZWxzZQordm9pZCBfX2luaXQgYXQ5MV9hZGRfZGV2aWNlX3VzYmEoc3RydWN0IHVzYmFfcGxhdGZvcm1fZGF0YSAqZGF0YSkge30KKyNlbmRpZgorCisKKy8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgKiAgTU1DIC8gU0QKICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCiAKQEAgLTEzOCwxNSArMjMzLDE1IEBACiAJYXQ5MV9zeXNfd3JpdGUoQVQ5MV9NQVRSSVhfRUJJQ1NBLCBjc2EgfCBBVDkxX01BVFJJWF9DUzNBX1NNQ19TTUFSVE1FRElBKTsKIAogCS8qIHNldCB0aGUgYnVzIGludGVyZmFjZSBjaGFyYWN0ZXJpc3RpY3MgKi8KLQlhdDkxX3N5c193cml0ZShBVDkxX1NNQ19TRVRVUCgzKSwgQVQ5MV9TTUNfTldFU0VUVVBfKDApIHwgQVQ5MV9TTUNfTkNTX1dSU0VUVVBfKDApCi0JCQl8IEFUOTFfU01DX05SRFNFVFVQXygwKSB8IEFUOTFfU01DX05DU19SRFNFVFVQXygwKSk7CisJYXQ5MV9zeXNfd3JpdGUoQVQ5MV9TTUNfU0VUVVAoMyksIEFUOTFfU01DX05XRVNFVFVQXygxKSB8IEFUOTFfU01DX05DU19XUlNFVFVQXygwKQorCQkJfCBBVDkxX1NNQ19OUkRTRVRVUF8oMSkgfCBBVDkxX1NNQ19OQ1NfUkRTRVRVUF8oMCkpOwogCi0JYXQ5MV9zeXNfd3JpdGUoQVQ5MV9TTUNfUFVMU0UoMyksIEFUOTFfU01DX05XRVBVTFNFXygyKSB8IEFUOTFfU01DX05DU19XUlBVTFNFXyg1KQotCQkJfCBBVDkxX1NNQ19OUkRQVUxTRV8oMikgfCBBVDkxX1NNQ19OQ1NfUkRQVUxTRV8oNSkpOworCWF0OTFfc3lzX3dyaXRlKEFUOTFfU01DX1BVTFNFKDMpLCBBVDkxX1NNQ19OV0VQVUxTRV8oMykgfCBBVDkxX1NNQ19OQ1NfV1JQVUxTRV8oMykKKwkJCXwgQVQ5MV9TTUNfTlJEUFVMU0VfKDMpIHwgQVQ5MV9TTUNfTkNTX1JEUFVMU0VfKDMpKTsKIAotCWF0OTFfc3lzX3dyaXRlKEFUOTFfU01DX0NZQ0xFKDMpLCBBVDkxX1NNQ19OV0VDWUNMRV8oNykgfCBBVDkxX1NNQ19OUkRDWUNMRV8oNykpOworCWF0OTFfc3lzX3dyaXRlKEFUOTFfU01DX0NZQ0xFKDMpLCBBVDkxX1NNQ19OV0VDWUNMRV8oNSkgfCBBVDkxX1NNQ19OUkRDWUNMRV8oNSkpOwogCi0JYXQ5MV9zeXNfd3JpdGUoQVQ5MV9TTUNfTU9ERSgzKSwgQVQ5MV9TTUNfREJXXzggfCBBVDkxX1NNQ19SRUFETU9ERSB8IEFUOTFfU01DX1dSSVRFTU9ERSB8IEFUOTFfU01DX0VYTldNT0RFX0RJU0FCTEUgfCBBVDkxX1NNQ19UREZfKDEpKTsKKwlhdDkxX3N5c193cml0ZShBVDkxX1NNQ19NT0RFKDMpLCBBVDkxX1NNQ19EQldfOCB8IEFUOTFfU01DX1JFQURNT0RFIHwgQVQ5MV9TTUNfV1JJVEVNT0RFIHwgQVQ5MV9TTUNfRVhOV01PREVfRElTQUJMRSB8IEFUOTFfU01DX1RERl8oMikpOwogCiAJLyogZW5hYmxlIHBpbiAqLwogCWlmIChkYXRhLT5lbmFibGVfcGluKQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLWNhcDlhZGsuYyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1jYXA5YWRrLmMKaW5kZXggZTU1MTJkMS4uOGEyYTk1OCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLWNhcDlhZGsuYworKysgYi9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtY2FwOWFkay5jCkBAIC03OCw2ICs3OCwxMiBAQAogCS5wb3J0cwkJPSAyLAogfTsKIAorLyoKKyAqIFVTQiBIUyBEZXZpY2UgcG9ydAorICovCitzdGF0aWMgc3RydWN0IHVzYmFfcGxhdGZvcm1fZGF0YSBfX2luaXRkYXRhIGNhcDlhZGtfdXNiYV91ZGNfZGF0YSA9IHsKKwkudmJ1c19waW4JPSBBVDkxX1BJTl9QQjMxLAorfTsKIAogLyoKICAqIEFEUzc4NDYgVG91Y2hzY3JlZW4KQEAgLTMyNiw2ICszMzIsOSBAQAogCS8qIFVTQiBIb3N0ICovCiAJc2V0X2lycV90eXBlKEFUOTFDQVA5X0lEX1VIUCwgSVJRVF9ISUdIKTsKIAlhdDkxX2FkZF9kZXZpY2VfdXNiaCgmY2FwOWFka191c2JoX2RhdGEpOworCS8qIFVTQiBIUyAqLworCXNldF9pcnFfdHlwZShBVDkxQ0FQOV9JRF9VRFBIUywgSVJRVF9ISUdIKTsKKwlhdDkxX2FkZF9kZXZpY2VfdXNiYSgmY2FwOWFka191c2JhX3VkY19kYXRhKTsKIAkvKiBTUEkgKi8KIAlhdDkxX2FkZF9kZXZpY2Vfc3BpKGNhcDlhZGtfc3BpX2RldmljZXMsIEFSUkFZX1NJWkUoY2FwOWFka19zcGlfZGV2aWNlcykpOwogCS8qIFRvdWNoc2NyZWVuICovCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtY2FybWV2YS5jIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLWNhcm1ldmEuYwppbmRleCAwZjA4NzgyOS4uOTg1NGZjMyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLWNhcm1ldmEuYworKysgYi9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtY2FybWV2YS5jCkBAIC00MCwyNCArNDAsMjEgQEAKICNpbmNsdWRlICJnZW5lcmljLmgiCiAKIAotLyoKLSAqIFNlcmlhbCBwb3J0IGNvbmZpZ3VyYXRpb24uCi0gKiAgICAwIC4uIDMgPSBVU0FSVDAgLi4gVVNBUlQzCi0gKiAgICA0ICAgICAgPSBEQkdVCi0gKi8KLXN0YXRpYyBzdHJ1Y3QgYXQ5MV91YXJ0X2NvbmZpZyBfX2luaXRkYXRhIGNhcm1ldmFfdWFydF9jb25maWcgPSB7Ci0JLmNvbnNvbGVfdHR5CT0gMCwJCQkJLyogdHR5UzAgKi8KLQkubnJfdHR5CQk9IDIsCi0JLnR0eV9tYXAJPSB7IDQsIDEsIC0xLCAtMSwgLTEgfQkJLyogdHR5UzAsIC4uLiwgdHR5UzQgKi8KLX07Ci0KIHN0YXRpYyB2b2lkIF9faW5pdCBjYXJtZXZhX21hcF9pbyh2b2lkKQogewogCS8qIEluaXRpYWxpemUgcHJvY2Vzc29yOiAyMC4wMDAgTUh6IGNyeXN0YWwgKi8KIAlhdDkxcm05MjAwX2luaXRpYWxpemUoMjAwMDAwMDAsIEFUOTFSTTkyMDBfQkdBKTsKIAotCS8qIFNldHVwIHRoZSBzZXJpYWwgcG9ydHMgYW5kIGNvbnNvbGUgKi8KLQlhdDkxX2luaXRfc2VyaWFsKCZjYXJtZXZhX3VhcnRfY29uZmlnKTsKKwkvKiBEQkdVIG9uIHR0eVMwLiAoUnggJiBUeCBvbmx5KSAqLworCWF0OTFfcmVnaXN0ZXJfdWFydCgwLCAwLCAwKTsKKworCS8qIFVTQVJUMSBvbiB0dHlTMS4gKFJ4LCBUeCwgQ1RTLCBSVFMsIERUUiwgRFNSLCBEQ0QsIFJJKSAqLworCWF0OTFfcmVnaXN0ZXJfdWFydChBVDkxUk05MjAwX0lEX1VTMSwgMSwgQVRNRUxfVUFSVF9DVFMgfCBBVE1FTF9VQVJUX1JUUworCQkJICAgfCBBVE1FTF9VQVJUX0RUUiB8IEFUTUVMX1VBUlRfRFNSIHwgQVRNRUxfVUFSVF9EQ0QKKwkJCSAgIHwgQVRNRUxfVUFSVF9SSSk7CisKKwkvKiBzZXQgc2VyaWFsIGNvbnNvbGUgdG8gdHR5UzAgKGllLCBEQkdVKSAqLworCWF0OTFfc2V0X3NlcmlhbF9jb25zb2xlKDApOwogfQogCiBzdGF0aWMgdm9pZCBfX2luaXQgY2FybWV2YV9pbml0X2lycSh2b2lkKQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLWNzYjYzNy5jIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLWNzYjYzNy5jCmluZGV4IDQxOWZkMTkuLmJiMWE1NDcgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1jc2I2MzcuYworKysgYi9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtY3NiNjM3LmMKQEAgLTQ1LDEwICs0NSwxMCBAQAogCS8qIEluaXRpYWxpemUgcHJvY2Vzc29yOiAzLjY4NjQgTUh6IGNyeXN0YWwgKi8KIAlhdDkxcm05MjAwX2luaXRpYWxpemUoMzY4NjQwMCwgQVQ5MVJNOTIwMF9CR0EpOwogCi0JLyogREJHVSBvbiB0dHlTMCAqLworCS8qIERCR1Ugb24gdHR5UzAuIChSeCAmIFR4IG9ubHkpICovCiAJYXQ5MV9yZWdpc3Rlcl91YXJ0KDAsIDAsIDApOwogCi0JLyogbWFrZSBjb25zb2xlPXR0eVMwIHRoZSBkZWZhdWx0ICovCisJLyogbWFrZSBjb25zb2xlPXR0eVMwIChpZSwgREJHVSkgdGhlIGRlZmF1bHQgKi8KIAlhdDkxX3NldF9zZXJpYWxfY29uc29sZSgwKTsKIH0KIApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLWRrLmMgYi9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtZGsuYwppbmRleCBjMWE4MTNjLi5kYWI5NThkIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtZGsuYworKysgYi9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtZGsuYwpAQCAtNDUsMTcgKzQ1LDYgQEAKICNpbmNsdWRlICJnZW5lcmljLmgiCiAKIAotLyoKLSAqIFNlcmlhbCBwb3J0IGNvbmZpZ3VyYXRpb24uCi0gKiAgICAwIC4uIDMgPSBVU0FSVDAgLi4gVVNBUlQzCi0gKiAgICA0ICAgICAgPSBEQkdVCi0gKi8KLXN0YXRpYyBzdHJ1Y3QgYXQ5MV91YXJ0X2NvbmZpZyBfX2luaXRkYXRhIGRrX3VhcnRfY29uZmlnID0gewotCS5jb25zb2xlX3R0eQk9IDAsCQkJCS8qIHR0eVMwICovCi0JLm5yX3R0eQkJPSAyLAotCS50dHlfbWFwCT0geyA0LCAxLCAtMSwgLTEsIC0xIH0JCS8qIHR0eVMwLCAuLi4sIHR0eVM0ICovCi19OwotCiBzdGF0aWMgdm9pZCBfX2luaXQgZGtfbWFwX2lvKHZvaWQpCiB7CiAJLyogSW5pdGlhbGl6ZSBwcm9jZXNzb3I6IDE4LjQzMiBNSHogY3J5c3RhbCAqLwpAQCAtNjQsOCArNTMsMTYgQEAKIAkvKiBTZXR1cCB0aGUgTEVEcyAqLwogCWF0OTFfaW5pdF9sZWRzKEFUOTFfUElOX1BCMiwgQVQ5MV9QSU5fUEIyKTsKIAotCS8qIFNldHVwIHRoZSBzZXJpYWwgcG9ydHMgYW5kIGNvbnNvbGUgKi8KLQlhdDkxX2luaXRfc2VyaWFsKCZka191YXJ0X2NvbmZpZyk7CisJLyogREJHVSBvbiB0dHlTMC4gKFJ4ICYgVHggb25seSkgKi8KKwlhdDkxX3JlZ2lzdGVyX3VhcnQoMCwgMCwgMCk7CisKKwkvKiBVU0FSVDEgb24gdHR5UzEuIChSeCwgVHgsIENUUywgUlRTLCBEVFIsIERTUiwgRENELCBSSSkgKi8KKwlhdDkxX3JlZ2lzdGVyX3VhcnQoQVQ5MVJNOTIwMF9JRF9VUzEsIDEsIEFUTUVMX1VBUlRfQ1RTIHwgQVRNRUxfVUFSVF9SVFMKKwkJCSAgIHwgQVRNRUxfVUFSVF9EVFIgfCBBVE1FTF9VQVJUX0RTUiB8IEFUTUVMX1VBUlRfRENECisJCQkgICB8IEFUTUVMX1VBUlRfUkkpOworCisJLyogc2V0IHNlcmlhbCBjb25zb2xlIHRvIHR0eVMwIChpZSwgREJHVSkgKi8KKwlhdDkxX3NldF9zZXJpYWxfY29uc29sZSgwKTsKIH0KIAogc3RhdGljIHZvaWQgX19pbml0IGRrX2luaXRfaXJxKHZvaWQpCkBAIC0xNjMsNyArMTYwLDcgQEAKICNkZWZpbmUgREtfRkxBU0hfU0laRQkweDIwMDAwMAogCiBzdGF0aWMgc3RydWN0IHBoeXNtYXBfZmxhc2hfZGF0YSBka19mbGFzaF9kYXRhID0gewotCS53aWR0aAk9IDIsCisJLndpZHRoCQk9IDIsCiB9OwogCiBzdGF0aWMgc3RydWN0IHJlc291cmNlIGRrX2ZsYXNoX3Jlc291cmNlID0gewpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLWViOTIwMC5jIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLWViOTIwMC5jCmluZGV4IGFmMWExZDguLjNmZTA1NGUgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1lYjkyMDAuYworKysgYi9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtZWI5MjAwLmMKQEAgLTQwLDI0ICs0MCwyNCBAQAogI2luY2x1ZGUgImdlbmVyaWMuaCIKIAogCi0vKgotICogU2VyaWFsIHBvcnQgY29uZmlndXJhdGlvbi4KLSAqICAgIDAgLi4gMyA9IFVTQVJUMCAuLiBVU0FSVDMKLSAqICAgIDQgICAgICA9IERCR1UKLSAqLwotc3RhdGljIHN0cnVjdCBhdDkxX3VhcnRfY29uZmlnIF9faW5pdGRhdGEgZWI5MjAwX3VhcnRfY29uZmlnID0gewotCS5jb25zb2xlX3R0eQk9IDAsCQkJCS8qIHR0eVMwICovCi0JLm5yX3R0eQkJPSAyLAotCS50dHlfbWFwCT0geyA0LCAxLCAtMSwgLTEsIC0xIH0JCS8qIHR0eVMwLCAuLi4sIHR0eVM0ICovCi19OwotCiBzdGF0aWMgdm9pZCBfX2luaXQgZWI5MjAwX21hcF9pbyh2b2lkKQogewogCS8qIEluaXRpYWxpemUgcHJvY2Vzc29yOiAxOC40MzIgTUh6IGNyeXN0YWwgKi8KIAlhdDkxcm05MjAwX2luaXRpYWxpemUoMTg0MzIwMDAsIEFUOTFSTTkyMDBfQkdBKTsKIAotCS8qIFNldHVwIHRoZSBzZXJpYWwgcG9ydHMgYW5kIGNvbnNvbGUgKi8KLQlhdDkxX2luaXRfc2VyaWFsKCZlYjkyMDBfdWFydF9jb25maWcpOworCS8qIERCR1Ugb24gdHR5UzAuIChSeCAmIFR4IG9ubHkpICovCisJYXQ5MV9yZWdpc3Rlcl91YXJ0KDAsIDAsIDApOworCisJLyogVVNBUlQxIG9uIHR0eVMxLiAoUngsIFR4LCBDVFMsIFJUUywgRFRSLCBEU1IsIERDRCwgUkkpICovCisJYXQ5MV9yZWdpc3Rlcl91YXJ0KEFUOTFSTTkyMDBfSURfVVMxLCAxLCBBVE1FTF9VQVJUX0NUUyB8IEFUTUVMX1VBUlRfUlRTCisJCQl8IEFUTUVMX1VBUlRfRFRSIHwgQVRNRUxfVUFSVF9EU1IgfCBBVE1FTF9VQVJUX0RDRAorCQkJfCBBVE1FTF9VQVJUX1JJKTsKKworCS8qIFVTQVJUMiBvbiB0dHlTMi4gKFJ4LCBUeCkgLSBJUkRBICovCisJYXQ5MV9yZWdpc3Rlcl91YXJ0KEFUOTFSTTkyMDBfSURfVVMyLCAyLCAwKTsKKworCS8qIHNldCBzZXJpYWwgY29uc29sZSB0byB0dHlTMCAoaWUsIERCR1UpICovCisJYXQ5MV9zZXRfc2VyaWFsX2NvbnNvbGUoMCk7CiB9CiAKIHN0YXRpYyB2b2lkIF9faW5pdCBlYjkyMDBfaW5pdF9pcnEodm9pZCkKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1lay5jIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLWVrLmMKaW5kZXggMDU3NGU1MC4uNzRhYTQzMiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLWVrLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLWVrLmMKQEAgLTQ1LDE3ICs0NSw2IEBACiAjaW5jbHVkZSAiZ2VuZXJpYy5oIgogCiAKLS8qCi0gKiBTZXJpYWwgcG9ydCBjb25maWd1cmF0aW9uLgotICogICAgMCAuLiAzID0gVVNBUlQwIC4uIFVTQVJUMwotICogICAgNCAgICAgID0gREJHVQotICovCi1zdGF0aWMgc3RydWN0IGF0OTFfdWFydF9jb25maWcgX19pbml0ZGF0YSBla191YXJ0X2NvbmZpZyA9IHsKLQkuY29uc29sZV90dHkJPSAwLAkJCQkvKiB0dHlTMCAqLwotCS5ucl90dHkJCT0gMiwKLQkudHR5X21hcAk9IHsgNCwgMSwgLTEsIC0xLCAtMSB9CQkvKiB0dHlTMCwgLi4uLCB0dHlTNCAqLwotfTsKLQogc3RhdGljIHZvaWQgX19pbml0IGVrX21hcF9pbyh2b2lkKQogewogCS8qIEluaXRpYWxpemUgcHJvY2Vzc29yOiAxOC40MzIgTUh6IGNyeXN0YWwgKi8KQEAgLTY0LDggKzUzLDE2IEBACiAJLyogU2V0dXAgdGhlIExFRHMgKi8KIAlhdDkxX2luaXRfbGVkcyhBVDkxX1BJTl9QQjEsIEFUOTFfUElOX1BCMik7CiAKLQkvKiBTZXR1cCB0aGUgc2VyaWFsIHBvcnRzIGFuZCBjb25zb2xlICovCi0JYXQ5MV9pbml0X3NlcmlhbCgmZWtfdWFydF9jb25maWcpOworCS8qIERCR1Ugb24gdHR5UzAuIChSeCAmIFR4IG9ubHkpICovCisJYXQ5MV9yZWdpc3Rlcl91YXJ0KDAsIDAsIDApOworCisJLyogVVNBUlQxIG9uIHR0eVMxLiAoUngsIFR4LCBDVFMsIFJUUywgRFRSLCBEU1IsIERDRCwgUkkpICovCisJYXQ5MV9yZWdpc3Rlcl91YXJ0KEFUOTFSTTkyMDBfSURfVVMxLCAxLCBBVE1FTF9VQVJUX0NUUyB8IEFUTUVMX1VBUlRfUlRTCisJCQkgICB8IEFUTUVMX1VBUlRfRFRSIHwgQVRNRUxfVUFSVF9EU1IgfCBBVE1FTF9VQVJUX0RDRAorCQkJICAgfCBBVE1FTF9VQVJUX1JJKTsKKworCS8qIHNldCBzZXJpYWwgY29uc29sZSB0byB0dHlTMCAoaWUsIERCR1UpICovCisJYXQ5MV9zZXRfc2VyaWFsX2NvbnNvbGUoMCk7CiB9CiAKIHN0YXRpYyB2b2lkIF9faW5pdCBla19pbml0X2lycSh2b2lkKQpAQCAtMTIyLDcgKzExOSw3IEBACiAjZGVmaW5lIEVLX0ZMQVNIX1NJWkUJMHgyMDAwMDAKIAogc3RhdGljIHN0cnVjdCBwaHlzbWFwX2ZsYXNoX2RhdGEgZWtfZmxhc2hfZGF0YSA9IHsKLQkud2lkdGgJPSAyLAorCS53aWR0aAkJPSAyLAogfTsKIAogc3RhdGljIHN0cnVjdCByZXNvdXJjZSBla19mbGFzaF9yZXNvdXJjZSA9IHsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1rYjkyMDIuYyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1rYjkyMDIuYwppbmRleCA0YjM5YjljLi5jYjA2NWZlIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQta2I5MjAyLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLWtiOTIwMi5jCkBAIC0zNywyMCArMzcsMTEgQEAKICNpbmNsdWRlIDxhc20vYXJjaC9ib2FyZC5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL2dwaW8uaD4KIAorI2luY2x1ZGUgPGFzbS9hcmNoL2F0OTFybTkyMDBfbWMuaD4KKwogI2luY2x1ZGUgImdlbmVyaWMuaCIKIAogCi0vKgotICogU2VyaWFsIHBvcnQgY29uZmlndXJhdGlvbi4KLSAqICAgIDAgLi4gMyA9IFVTQVJUMCAuLiBVU0FSVDMKLSAqICAgIDQgICAgICA9IERCR1UKLSAqLwotc3RhdGljIHN0cnVjdCBhdDkxX3VhcnRfY29uZmlnIF9faW5pdGRhdGEga2I5MjAyX3VhcnRfY29uZmlnID0gewotCS5jb25zb2xlX3R0eQk9IDAsCQkJCQkvKiB0dHlTMCAqLwotCS5ucl90dHkJCT0gMywKLQkudHR5X21hcAk9IHsgNCwgMCwgMSwgLTEsIC0xIH0JCQkvKiB0dHlTMCwgLi4uLCB0dHlTNCAqLwotfTsKLQogc3RhdGljIHZvaWQgX19pbml0IGtiOTIwMl9tYXBfaW8odm9pZCkKIHsKIAkvKiBJbml0aWFsaXplIHByb2Nlc3NvcjogMTAgTUh6IGNyeXN0YWwgKi8KQEAgLTU5LDggKzUwLDIwIEBACiAJLyogU2V0IHVwIHRoZSBMRURzICovCiAJYXQ5MV9pbml0X2xlZHMoQVQ5MV9QSU5fUEMxOSwgQVQ5MV9QSU5fUEMxOCk7CiAKLQkvKiBTZXR1cCB0aGUgc2VyaWFsIHBvcnRzIGFuZCBjb25zb2xlICovCi0JYXQ5MV9pbml0X3NlcmlhbCgma2I5MjAyX3VhcnRfY29uZmlnKTsKKwkvKiBEQkdVIG9uIHR0eVMwLiAoUnggJiBUeCBvbmx5KSAqLworCWF0OTFfcmVnaXN0ZXJfdWFydCgwLCAwLCAwKTsKKworCS8qIFVTQVJUMCBvbiB0dHlTMSAoUnggJiBUeCBvbmx5KSAqLworCWF0OTFfcmVnaXN0ZXJfdWFydChBVDkxUk05MjAwX0lEX1VTMCwgMSwgMCk7CisKKwkvKiBVU0FSVDEgb24gdHR5UzIgKFJ4ICYgVHggb25seSkgLSBJUkRBIChvcHRpb25hbCkgKi8KKwlhdDkxX3JlZ2lzdGVyX3VhcnQoQVQ5MVJNOTIwMF9JRF9VUzEsIDIsIDApOworCisJLyogVVNBUlQzIG9uIHR0eVMzIChSeCwgVHgsIENUUywgUlRTKSAtIFJTNDg1IChvcHRpb25hbCkgKi8KKwlhdDkxX3JlZ2lzdGVyX3VhcnQoQVQ5MVJNOTIwMF9JRF9VUzMsIDMsIEFUTUVMX1VBUlRfQ1RTIHwgQVRNRUxfVUFSVF9SVFMpOworCisJLyogc2V0IHNlcmlhbCBjb25zb2xlIHRvIHR0eVMwIChpZSwgREJHVSkgKi8KKwlhdDkxX3NldF9zZXJpYWxfY29uc29sZSgwKTsKIH0KIAogc3RhdGljIHZvaWQgX19pbml0IGtiOTIwMl9pbml0X2lycSh2b2lkKQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLXFpbC1hOTI2MC5jIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLXFpbC1hOTI2MC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk5YjRlYzMKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtcWlsLWE5MjYwLmMKQEAgLTAsMCArMSwyNTUgQEAKKy8qCisgKiBsaW51eC9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtcWlsLWE5MjYwLmMKKyAqCisgKiAgQ29weXJpZ2h0IChDKSAyMDA1IFNBTiBQZW9wbGUKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDYgQXRtZWwKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDcgQ2FsYW8tc3lzdGVtcworICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKKyAqLworCisjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+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+cmVzKSk7CisJfSBlbHNlIHsKKwkJcHJpbnRrKCJsaW5rIGRvd24sIGlnbm9yaW5nXG4iKTsKKwl9Cit9CisKK3ZvaWQgX19pbml0IG12Nzh4eDBfcGNpZV9pbml0KGludCBpbml0X3BvcnQwLCBpbnQgaW5pdF9wb3J0MSkKK3sKKwlpZiAoaW5pdF9wb3J0MCkgeworCQlhZGRfcGNpZV9wb3J0KDAsIDAsIFBDSUUwMF9WSVJUX0JBU0UpOworCQlpZiAoIW9yaW9uX3BjaWVfeDRfbW9kZSgodm9pZCBfX2lvbWVtICopUENJRTAwX1ZJUlRfQkFTRSkpIHsKKwkJCWFkZF9wY2llX3BvcnQoMCwgMSwgUENJRTAxX1ZJUlRfQkFTRSk7CisJCQlhZGRfcGNpZV9wb3J0KDAsIDIsIFBDSUUwMl9WSVJUX0JBU0UpOworCQkJYWRkX3BjaWVfcG9ydCgwLCAzLCBQQ0lFMDNfVklSVF9CQVNFKTsKKwkJfQorCX0KKworCWlmIChpbml0X3BvcnQxKSB7CisJCWFkZF9wY2llX3BvcnQoMSwgMCwgUENJRTEwX1ZJUlRfQkFTRSk7CisJCWlmICghb3Jpb25fcGNpZV94NF9tb2RlKCh2b2lkIF9faW9tZW0gKilQQ0lFMTBfVklSVF9CQVNFKSkgeworCQkJYWRkX3BjaWVfcG9ydCgxLCAxLCBQQ0lFMTFfVklSVF9CQVNFKTsKKwkJCWFkZF9wY2llX3BvcnQoMSwgMiwgUENJRTEyX1ZJUlRfQkFTRSk7CisJCQlhZGRfcGNpZV9wb3J0KDEsIDMsIFBDSUUxM19WSVJUX0JBU0UpOworCQl9CisJfQorCisJcGNpX2NvbW1vbl9pbml0KCZtdjc4eHgwX3BjaSk7Cit9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW14Mi9LY29uZmlnIGIvYXJjaC9hcm0vbWFjaC1teDIvS2NvbmZpZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZWFhOTdjCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1teDIvS2NvbmZpZwpAQCAtMCwwICsxLDM5IEBACitjb21tZW50ICJNWDIgZmFtaWx5IENQVSBzdXBwb3J0IgorCWRlcGVuZHMgb24gQVJDSF9NWDIKKworY29uZmlnIE1BQ0hfTVgyNworCWJvb2wgImkuTVgyNyBzdXBwb3J0IgorCWRlcGVuZHMgb24gQVJDSF9NWDIKKwloZWxwCisJICBUaGlzIGVuYWJsZXMgc3VwcG9ydCBmb3IgRnJlZXNjYWxlJ3MgTVgyIGJhc2VkIGkuTVgyNyBwcm9jZXNzb3IuCisKK2NvbW1lbnQgIk1YMiBQbGF0Zm9ybXMiCisJZGVwZW5kcyBvbiBBUkNIX01YMgorCitjb25maWcgTUFDSF9NWDI3QURTCisJYm9vbCAiTVgyN0FEUyBwbGF0Zm9ybSIKKwlkZXBlbmRzIG9uIE1BQ0hfTVgyNworCWhlbHAKKwkgIEluY2x1ZGUgc3VwcG9ydCBmb3IgTVgyN0FEUyBwbGF0Zm9ybS4gVGhpcyBpbmNsdWRlcyBzcGVjaWZpYworCSAgY29uZmlndXJhdGlvbnMgZm9yIHRoZSBib2FyZCBhbmQgaXRzIHBlcmlwaGVyYWxzLgorCitjb25maWcgTUFDSF9QQ00wMzgKKwlib29sICJQaHl0ZWMgcGh5Q09SRS1pLk1YMjcgQ1BVIG1vZHVsZSAocGNtMDM4KSIKKwlkZXBlbmRzIG9uIE1BQ0hfTVgyNworCWhlbHAKKwkgIEluY2x1ZGUgc3VwcG9ydCBmb3IgcGh5Q09SRS1pLk1YMjcgKGFrYSBwY20wMzgpIHBsYXRmb3JtLiBUaGlzCisJICBpbmNsdWRlcyBzcGVjaWZpYyBjb25maWd1cmF0aW9ucyBmb3IgdGhlIG1vZHVsZSBhbmQgaXRzIHBlcmlwaGVyYWxzLgorCitjaG9pY2UKKwlwcm9tcHQgIkJhc2Vib2FyZCIKKwlkZXBlbmRzIG9uIE1BQ0hfUENNMDM4CisJZGVmYXVsdCBNQUNIX1BDTTk3MF9CQVNFQk9BUkQKKworY29uZmlnIE1BQ0hfUENNOTcwX0JBU0VCT0FSRAorCXByb21wdCAiUEhZVEVDIFBDTTk3MCBkZXZlbG9wbWVudCBib2FyZCIKKwlib29sCisJaGVscAorCSAgVGhpcyBhZGRzIGJvYXJkIHNwZWNpZmljIGRldmljZXMgdGhhdCBjYW4gYmUgZm91bmQgb24gUGh5dGVjJ3MKKwkgIFBDTTk3MCBldmFsdWF0aW9uIGJvYXJkLgorCitlbmRjaG9pY2UKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtbXgyL01ha2VmaWxlIGIvYXJjaC9hcm0vbWFjaC1teDIvTWFrZWZpbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzgyZDg2MAotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtbXgyL01ha2VmaWxlCkBAIC0wLDAgKzEsMTQgQEAKKyMKKyMgTWFrZWZpbGUgZm9yIHRoZSBsaW51eCBrZXJuZWwuCisjCisKKyMgT2JqZWN0IGZpbGUgbGlzdHMuCisKK29iai15CTo9ICBzeXN0ZW0ubyBnZW5lcmljLm8gZGV2aWNlcy5vIHNlcmlhbC5vCisKK29iai0kKENPTkZJR19NQUNIX01YMjcpICs9IGNwdV9pbXgyNy5vCitvYmotJChDT05GSUdfTUFDSF9NWDI3KSArPSBjbG9ja19pbXgyNy5vCisKK29iai0kKENPTkZJR19NQUNIX01YMjdBRFMpICs9IG14MjdhZHMubworb2JqLSQoQ09ORklHX01BQ0hfUENNMDM4KSArPSBwY20wMzgubworb2JqLSQoQ09ORklHX01BQ0hfUENNOTcwX0JBU0VCT0FSRCkgKz0gcGNtOTcwLWJhc2Vib2FyZC5vCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW14Mi9NYWtlZmlsZS5ib290IGIvYXJjaC9hcm0vbWFjaC1teDIvTWFrZWZpbGUuYm9vdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42OTY4MzFkY2QKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW14Mi9NYWtlZmlsZS5ib290CkBAIC0wLDAgKzEsMyBAQAorICAgenJlbGFkZHIteQk6PSAweEEwMDA4MDAwCitwYXJhbXNfcGh5cy15CTo9IDB4QTAwMDAxMDAKK2luaXRyZF9waHlzLXkJOj0gMHhBMDgwMDAwMApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1teDIvY2xvY2tfaW14MjcuYyBiL2FyY2gvYXJtL21hY2gtbXgyL2Nsb2NrX2lteDI3LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGEyOWVmMgotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtbXgyL2Nsb2NrX2lteDI3LmMKQEAgLTAsMCArMSwxNjI2IEBACisvKgorICogQ29weXJpZ2h0IDIwMDQtMjAwNyBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICogQ29weXJpZ2h0IDIwMDggSnVlcmdlbiBCZWlzZXJ0LCBrZXJuZWxAcGVuZ3V0cm9uaXguZGUKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIKKyAqIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwKKyAqIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaW5jbHVkZSA8bGludXgvY2xrLmg+CisjaW5jbHVkZSA8bGludXgvaW8uaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgorCisjaW5jbHVkZSA8YXNtL2FyY2gvY2xvY2suaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9jb21tb24uaD4KKyNpbmNsdWRlIDxhc20vZGl2NjQuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC10eXBlcy5oPgorCisjaW5jbHVkZSAiY3JtX3JlZ3MuaCIKKworc3RhdGljIHN0cnVjdCBjbGsgY2tpbF9jbGs7CitzdGF0aWMgc3RydWN0IGNsayBtcGxsX2NsazsKK3N0YXRpYyBzdHJ1Y3QgY2xrIG1wbGxfbWFpbl9jbGtbXTsKK3N0YXRpYyBzdHJ1Y3QgY2xrIHNwbGxfY2xrOworCitzdGF0aWMgaW50IF9jbGtfZW5hYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIHJlZzsKKworCXJlZyA9IF9fcmF3X3JlYWRsKGNsay0+ZW5hYmxlX3JlZyk7CisJcmVnIHw9IDEgPDwgY2xrLT5lbmFibGVfc2hpZnQ7CisJX19yYXdfd3JpdGVsKHJlZywgY2xrLT5lbmFibGVfcmVnKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBfY2xrX2Rpc2FibGUoc3RydWN0IGNsayAqY2xrKQoreworCXVuc2lnbmVkIGxvbmcgcmVnOworCisJcmVnID0gX19yYXdfcmVhZGwoY2xrLT5lbmFibGVfcmVnKTsKKwlyZWcgJj0gfigxIDw8IGNsay0+ZW5hYmxlX3NoaWZ0KTsKKwlfX3Jhd193cml0ZWwocmVnLCBjbGstPmVuYWJsZV9yZWcpOworfQorCitzdGF0aWMgaW50IF9jbGtfc3BsbF9lbmFibGUoc3RydWN0IGNsayAqY2xrKQoreworCXVuc2lnbmVkIGxvbmcgcmVnOworCisJcmVnID0gX19yYXdfcmVhZGwoQ0NNX0NTQ1IpOworCXJlZyB8PSBDQ01fQ1NDUl9TUEVOOworCV9fcmF3X3dyaXRlbChyZWcsIENDTV9DU0NSKTsKKworCXdoaWxlICgoX19yYXdfcmVhZGwoQ0NNX1NQQ1RMMSkgJiBDQ01fU1BDVEwxX0xGKSA9PSAwKQorCQk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgX2Nsa19zcGxsX2Rpc2FibGUoc3RydWN0IGNsayAqY2xrKQoreworCXVuc2lnbmVkIGxvbmcgcmVnOworCisJcmVnID0gX19yYXdfcmVhZGwoQ0NNX0NTQ1IpOworCXJlZyAmPSB+Q0NNX0NTQ1JfU1BFTjsKKwlfX3Jhd193cml0ZWwocmVnLCBDQ01fQ1NDUik7Cit9CisKK3N0YXRpYyB2b2lkIF9jbGtfcGNjcjAxX2VuYWJsZSh1bnNpZ25lZCBsb25nIG1hc2swLCB1bnNpZ25lZCBsb25nIG1hc2sxKQoreworCXVuc2lnbmVkIGxvbmcgcmVnOworCisJcmVnID0gX19yYXdfcmVhZGwoQ0NNX1BDQ1IwKTsKKwlyZWcgfD0gbWFzazA7CisJX19yYXdfd3JpdGVsKHJlZywgQ0NNX1BDQ1IwKTsKKworCXJlZyA9IF9fcmF3X3JlYWRsKENDTV9QQ0NSMSk7CisJcmVnIHw9IG1hc2sxOworCV9fcmF3X3dyaXRlbChyZWcsIENDTV9QQ0NSMSk7CisKK30KKworc3RhdGljIHZvaWQgX2Nsa19wY2NyMDFfZGlzYWJsZSh1bnNpZ25lZCBsb25nIG1hc2swLCB1bnNpZ25lZCBsb25nIG1hc2sxKQoreworCXVuc2lnbmVkIGxvbmcgcmVnOworCisJcmVnID0gX19yYXdfcmVhZGwoQ0NNX1BDQ1IwKTsKKwlyZWcgJj0gfm1hc2swOworCV9fcmF3X3dyaXRlbChyZWcsIENDTV9QQ0NSMCk7CisKKwlyZWcgPSBfX3Jhd19yZWFkbChDQ01fUENDUjEpOworCXJlZyAmPSB+bWFzazE7CisJX19yYXdfd3JpdGVsKHJlZywgQ0NNX1BDQ1IxKTsKK30KKworc3RhdGljIHZvaWQgX2Nsa19wY2NyMTBfZW5hYmxlKHVuc2lnbmVkIGxvbmcgbWFzazEsIHVuc2lnbmVkIGxvbmcgbWFzazApCit7CisJdW5zaWduZWQgbG9uZyByZWc7CisKKwlyZWcgPSBfX3Jhd19yZWFkbChDQ01fUENDUjEpOworCXJlZyB8PSBtYXNrMTsKKwlfX3Jhd193cml0ZWwocmVnLCBDQ01fUENDUjEpOworCisJcmVnID0gX19yYXdfcmVhZGwoQ0NNX1BDQ1IwKTsKKwlyZWcgfD0gbWFzazA7CisJX19yYXdfd3JpdGVsKHJlZywgQ0NNX1BDQ1IwKTsKK30KKworc3RhdGljIHZvaWQgX2Nsa19wY2NyMTBfZGlzYWJsZSh1bnNpZ25lZCBsb25nIG1hc2sxLCB1bnNpZ25lZCBsb25nIG1hc2swKQoreworCXVuc2lnbmVkIGxvbmcgcmVnOworCisJcmVnID0gX19yYXdfcmVhZGwoQ0NNX1BDQ1IxKTsKKwlyZWcgJj0gfm1hc2sxOworCV9fcmF3X3dyaXRlbChyZWcsIENDTV9QQ0NSMSk7CisKKwlyZWcgPSBfX3Jhd19yZWFkbChDQ01fUENDUjApOworCXJlZyAmPSB+bWFzazA7CisJX19yYXdfd3JpdGVsKHJlZywgQ0NNX1BDQ1IwKTsKK30KKworc3RhdGljIGludCBfY2xrX2RtYV9lbmFibGUoc3RydWN0IGNsayAqY2xrKQoreworCV9jbGtfcGNjcjAxX2VuYWJsZShDQ01fUENDUjBfRE1BX01BU0ssIENDTV9QQ0NSMV9IQ0xLX0RNQV9NQVNLKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBfY2xrX2RtYV9kaXNhYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwlfY2xrX3BjY3IwMV9kaXNhYmxlKENDTV9QQ0NSMF9ETUFfTUFTSywgQ0NNX1BDQ1IxX0hDTEtfRE1BX01BU0spOworfQorCitzdGF0aWMgaW50IF9jbGtfcnRpY19lbmFibGUoc3RydWN0IGNsayAqY2xrKQoreworCV9jbGtfcGNjcjAxX2VuYWJsZShDQ01fUENDUjBfUlRJQ19NQVNLLCBDQ01fUENDUjFfSENMS19SVElDX01BU0spOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIF9jbGtfcnRpY19kaXNhYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwlfY2xrX3BjY3IwMV9kaXNhYmxlKENDTV9QQ0NSMF9SVElDX01BU0ssIENDTV9QQ0NSMV9IQ0xLX1JUSUNfTUFTSyk7Cit9CisKK3N0YXRpYyBpbnQgX2Nsa19lbW1hX2VuYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJX2Nsa19wY2NyMDFfZW5hYmxlKENDTV9QQ0NSMF9FTU1BX01BU0ssIENDTV9QQ0NSMV9IQ0xLX0VNTUFfTUFTSyk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgX2Nsa19lbW1hX2Rpc2FibGUoc3RydWN0IGNsayAqY2xrKQoreworCV9jbGtfcGNjcjAxX2Rpc2FibGUoQ0NNX1BDQ1IwX0VNTUFfTUFTSywgQ0NNX1BDQ1IxX0hDTEtfRU1NQV9NQVNLKTsKK30KKworc3RhdGljIGludCBfY2xrX3NsY2RjX2VuYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJX2Nsa19wY2NyMDFfZW5hYmxlKENDTV9QQ0NSMF9TTENEQ19NQVNLLCBDQ01fUENDUjFfSENMS19TTENEQ19NQVNLKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBfY2xrX3NsY2RjX2Rpc2FibGUoc3RydWN0IGNsayAqY2xrKQoreworCV9jbGtfcGNjcjAxX2Rpc2FibGUoQ0NNX1BDQ1IwX1NMQ0RDX01BU0ssIENDTV9QQ0NSMV9IQ0xLX1NMQ0RDX01BU0spOworfQorCitzdGF0aWMgaW50IF9jbGtfZmVjX2VuYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJX2Nsa19wY2NyMDFfZW5hYmxlKENDTV9QQ0NSMF9GRUNfTUFTSywgQ0NNX1BDQ1IxX0hDTEtfRkVDX01BU0spOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIF9jbGtfZmVjX2Rpc2FibGUoc3RydWN0IGNsayAqY2xrKQoreworCV9jbGtfcGNjcjAxX2Rpc2FibGUoQ0NNX1BDQ1IwX0ZFQ19NQVNLLCBDQ01fUENDUjFfSENMS19GRUNfTUFTSyk7Cit9CisKK3N0YXRpYyBpbnQgX2Nsa192cHVfZW5hYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIHJlZzsKKworCXJlZyA9IF9fcmF3X3JlYWRsKENDTV9QQ0NSMSk7CisJcmVnIHw9IENDTV9QQ0NSMV9WUFVfQkFVRF9NQVNLIHwgQ0NNX1BDQ1IxX0hDTEtfVlBVX01BU0s7CisJX19yYXdfd3JpdGVsKHJlZywgQ0NNX1BDQ1IxKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBfY2xrX3ZwdV9kaXNhYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIHJlZzsKKworCXJlZyA9IF9fcmF3X3JlYWRsKENDTV9QQ0NSMSk7CisJcmVnICY9IH4oQ0NNX1BDQ1IxX1ZQVV9CQVVEX01BU0sgfCBDQ01fUENDUjFfSENMS19WUFVfTUFTSyk7CisJX19yYXdfd3JpdGVsKHJlZywgQ0NNX1BDQ1IxKTsKK30KKworc3RhdGljIGludCBfY2xrX3NhaGFyYTJfZW5hYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwlfY2xrX3BjY3IwMV9lbmFibGUoQ0NNX1BDQ1IwX1NBSEFSQV9NQVNLLCBDQ01fUENDUjFfSENMS19TQUhBUkFfTUFTSyk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgX2Nsa19zYWhhcmEyX2Rpc2FibGUoc3RydWN0IGNsayAqY2xrKQoreworCV9jbGtfcGNjcjAxX2Rpc2FibGUoQ0NNX1BDQ1IwX1NBSEFSQV9NQVNLLCBDQ01fUENDUjFfSENMS19TQUhBUkFfTUFTSyk7Cit9CisKK3N0YXRpYyBpbnQgX2Nsa19tc3RpY2sxX2VuYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJX2Nsa19wY2NyMTBfZW5hYmxlKENDTV9QQ0NSMV9NU0hDX0JBVURfTUFTSywgQ0NNX1BDQ1IwX01TSENfTUFTSyk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgX2Nsa19tc3RpY2sxX2Rpc2FibGUoc3RydWN0IGNsayAqY2xrKQoreworCV9jbGtfcGNjcjEwX2Rpc2FibGUoQ0NNX1BDQ1IxX01TSENfQkFVRF9NQVNLLCBDQ01fUENDUjBfTVNIQ19NQVNLKTsKK30KKworI2RlZmluZSBDU0NSKCkgKF9fcmF3X3JlYWRsKENDTV9DU0NSKSkKKyNkZWZpbmUgUENEUjAoKSAoX19yYXdfcmVhZGwoQ0NNX1BDRFIwKSkKKyNkZWZpbmUgUENEUjEoKSAoX19yYXdfcmVhZGwoQ0NNX1BDRFIxKSkKKworc3RhdGljIGludCBfY2xrX2NwdV9zZXRfcGFyZW50KHN0cnVjdCBjbGsgKmNsaywgc3RydWN0IGNsayAqcGFyZW50KQoreworCWludCBjc2NyID0gQ1NDUigpOworCisJaWYgKGNsay0+cGFyZW50ID09IHBhcmVudCkKKwkJcmV0dXJuIDA7CisKKwlpZiAobXgyN19yZXZpc2lvbigpID49IENISVBfUkVWXzJfMCkgeworCQlpZiAocGFyZW50ID09ICZtcGxsX21haW5fY2xrWzBdKSB7CisJCQljc2NyIHw9IENDTV9DU0NSX0FSTV9TUkM7CisJCX0gZWxzZSB7CisJCQlpZiAocGFyZW50ID09ICZtcGxsX21haW5fY2xrWzFdKQorCQkJCWNzY3IgJj0gfkNDTV9DU0NSX0FSTV9TUkM7CisJCQllbHNlCisJCQkJcmV0dXJuIC1FSU5WQUw7CisJCX0KKwkJX19yYXdfd3JpdGVsKGNzY3IsIENDTV9DU0NSKTsKKwl9IGVsc2UKKwkJcmV0dXJuIC1FTk9ERVY7CisKKwljbGstPnBhcmVudCA9IHBhcmVudDsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2Nsa19jcHVfcm91bmRfcmF0ZShzdHJ1Y3QgY2xrICpjbGssIHVuc2lnbmVkIGxvbmcgcmF0ZSkKK3sKKwlpbnQgZGl2OworCXVuc2lnbmVkIGxvbmcgcGFyZW50X3JhdGU7CisKKwlwYXJlbnRfcmF0ZSA9IGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCk7CisKKwlkaXYgPSBwYXJlbnRfcmF0ZSAvIHJhdGU7CisJaWYgKHBhcmVudF9yYXRlICUgcmF0ZSkKKwkJZGl2Kys7CisKKwlpZiAoZGl2ID4gNCkKKwkJZGl2ID0gNDsKKworCXJldHVybiBwYXJlbnRfcmF0ZSAvIGRpdjsKK30KKworc3RhdGljIGludCBfY2xrX2NwdV9zZXRfcmF0ZShzdHJ1Y3QgY2xrICpjbGssIHVuc2lnbmVkIGxvbmcgcmF0ZSkKK3sKKwl1bnNpZ25lZCBpbnQgZGl2OworCXVpbnQzMl90IHJlZzsKKwl1bnNpZ25lZCBsb25nIHBhcmVudF9yYXRlOworCisJcGFyZW50X3JhdGUgPSBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpOworCisJZGl2ID0gcGFyZW50X3JhdGUgLyByYXRlOworCisJaWYgKGRpdiA+IDQgfHwgZGl2IDwgMSB8fCAoKHBhcmVudF9yYXRlIC8gZGl2KSAhPSByYXRlKSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlkaXYtLTsKKworCXJlZyA9IF9fcmF3X3JlYWRsKENDTV9DU0NSKTsKKwlpZiAobXgyN19yZXZpc2lvbigpID49IENISVBfUkVWXzJfMCkgeworCQlyZWcgJj0gfkNDTV9DU0NSX0FSTV9NQVNLOworCQlyZWcgfD0gZGl2IDw8IENDTV9DU0NSX0FSTV9PRkZTRVQ7CisJCXJlZyAmPSB+MHgwNjsKKwkJX19yYXdfd3JpdGVsKHJlZyB8IDB4ODAwMDAwMDAsIENDTV9DU0NSKTsKKwl9IGVsc2UgeworCQlwcmludGsoS0VSTl9FUlIgIkNhbnQgc2V0IENQVSBmcmVxdWVuY3khXG4iKTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2Nsa19wZXJjbGt4X3JvdW5kX3JhdGUoc3RydWN0IGNsayAqY2xrLAorCQkJCQkgICAgIHVuc2lnbmVkIGxvbmcgcmF0ZSkKK3sKKwl1MzIgZGl2OworCXVuc2lnbmVkIGxvbmcgcGFyZW50X3JhdGU7CisKKwlwYXJlbnRfcmF0ZSA9IGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCk7CisKKwlkaXYgPSBwYXJlbnRfcmF0ZSAvIHJhdGU7CisJaWYgKHBhcmVudF9yYXRlICUgcmF0ZSkKKwkJZGl2Kys7CisKKwlpZiAoZGl2ID4gNjQpCisJCWRpdiA9IDY0OworCisJcmV0dXJuIHBhcmVudF9yYXRlIC8gZGl2OworfQorCitzdGF0aWMgaW50IF9jbGtfcGVyY2xreF9zZXRfcmF0ZShzdHJ1Y3QgY2xrICpjbGssIHVuc2lnbmVkIGxvbmcgcmF0ZSkKK3sKKwl1MzIgcmVnOworCXUzMiBkaXY7CisJdW5zaWduZWQgbG9uZyBwYXJlbnRfcmF0ZTsKKworCXBhcmVudF9yYXRlID0gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KTsKKworCWlmIChjbGstPmlkIDwgMCB8fCBjbGstPmlkID4gMykKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlkaXYgPSBwYXJlbnRfcmF0ZSAvIHJhdGU7CisJaWYgKGRpdiA+IDY0IHx8IGRpdiA8IDEgfHwgKChwYXJlbnRfcmF0ZSAvIGRpdikgIT0gcmF0ZSkpCisJCXJldHVybiAtRUlOVkFMOworCWRpdi0tOworCisJcmVnID0KKwkgICAgX19yYXdfcmVhZGwoQ0NNX1BDRFIxKSAmIH4oQ0NNX1BDRFIxX1BFUkRJVjFfTUFTSyA8PAorCQkJCSAgICAgICAoY2xrLT5pZCA8PCAzKSk7CisJcmVnIHw9IGRpdiA8PCAoY2xrLT5pZCA8PCAzKTsKKwlfX3Jhd193cml0ZWwocmVnLCBDQ01fUENEUjEpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9jbGtfdXNiX3JlY2FsYyhzdHJ1Y3QgY2xrICpjbGspCit7CisJdW5zaWduZWQgbG9uZyB1c2JfcGRmOworCXVuc2lnbmVkIGxvbmcgcGFyZW50X3JhdGU7CisKKwlwYXJlbnRfcmF0ZSA9IGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCk7CisKKwl1c2JfcGRmID0gKENTQ1IoKSAmIENDTV9DU0NSX1VTQl9NQVNLKSA+PiBDQ01fQ1NDUl9VU0JfT0ZGU0VUOworCisJcmV0dXJuIHBhcmVudF9yYXRlIC8gKHVzYl9wZGYgKyAxVSk7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9jbGtfc3NpMV9yZWNhbGMoc3RydWN0IGNsayAqY2xrKQoreworCXVuc2lnbmVkIGxvbmcgc3NpMV9wZGY7CisJdW5zaWduZWQgbG9uZyBwYXJlbnRfcmF0ZTsKKworCXBhcmVudF9yYXRlID0gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KTsKKworCXNzaTFfcGRmID0gKFBDRFIwKCkgJiBDQ01fUENEUjBfU1NJMUJBVURESVZfTUFTSykgPj4KKwkJCQkJQ0NNX1BDRFIwX1NTSTFCQVVERElWX09GRlNFVDsKKworCWlmIChteDI3X3JldmlzaW9uKCkgPj0gQ0hJUF9SRVZfMl8wKQorCQlzc2kxX3BkZiArPSA0OworCWVsc2UKKwkJc3NpMV9wZGYgPSAoc3NpMV9wZGYgPCAyKSA/IDEyNFVMIDogc3NpMV9wZGY7CisKKwlyZXR1cm4gMlVMICogcGFyZW50X3JhdGUgLyBzc2kxX3BkZjsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2Nsa19zc2kyX3JlY2FsYyhzdHJ1Y3QgY2xrICpjbGspCit7CisJdW5zaWduZWQgbG9uZyBzc2kyX3BkZjsKKwl1bnNpZ25lZCBsb25nIHBhcmVudF9yYXRlOworCisJcGFyZW50X3JhdGUgPSBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpOworCisJc3NpMl9wZGYgPSAoUENEUjAoKSAmIENDTV9QQ0RSMF9TU0kyQkFVRERJVl9NQVNLKSA+PgorCSAgICBDQ01fUENEUjBfU1NJMkJBVURESVZfT0ZGU0VUOworCisJaWYgKG14MjdfcmV2aXNpb24oKSA+PSBDSElQX1JFVl8yXzApCisJCXNzaTJfcGRmICs9IDQ7CisJZWxzZQorCQlzc2kyX3BkZiA9IChzc2kyX3BkZiA8IDIpID8gMTI0VUwgOiBzc2kyX3BkZjsKKworCXJldHVybiAyVUwgKiBwYXJlbnRfcmF0ZSAvIHNzaTJfcGRmOworfQorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfY2xrX25mY19yZWNhbGMoc3RydWN0IGNsayAqY2xrKQoreworCXVuc2lnbmVkIGxvbmcgbmZjX3BkZjsKKwl1bnNpZ25lZCBsb25nIHBhcmVudF9yYXRlOworCisJcGFyZW50X3JhdGUgPSBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpOworCisJaWYgKG14MjdfcmV2aXNpb24oKSA+PSBDSElQX1JFVl8yXzApIHsKKwkJbmZjX3BkZiA9CisJCSAgICAoUENEUjAoKSAmIENDTV9QQ0RSMF9ORkNESVYyX01BU0spID4+CisJCSAgICBDQ01fUENEUjBfTkZDRElWMl9PRkZTRVQ7CisJfSBlbHNlIHsKKwkJbmZjX3BkZiA9CisJCSAgICAoUENEUjAoKSAmIENDTV9QQ0RSMF9ORkNESVZfTUFTSykgPj4KKwkJICAgIENDTV9QQ0RSMF9ORkNESVZfT0ZGU0VUOworCX0KKworCXJldHVybiBwYXJlbnRfcmF0ZSAvIChuZmNfcGRmICsgMSk7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9jbGtfdnB1X3JlY2FsYyhzdHJ1Y3QgY2xrICpjbGspCit7CisJdW5zaWduZWQgbG9uZyB2cHVfcGRmOworCXVuc2lnbmVkIGxvbmcgcGFyZW50X3JhdGU7CisKKwlwYXJlbnRfcmF0ZSA9IGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCk7CisKKwlpZiAobXgyN19yZXZpc2lvbigpID49IENISVBfUkVWXzJfMCkgeworCQl2cHVfcGRmID0KKwkJICAgIChQQ0RSMCgpICYgQ0NNX1BDRFIwX1ZQVURJVjJfTUFTSykgPj4KKwkJICAgIENDTV9QQ0RSMF9WUFVESVYyX09GRlNFVDsKKwkJdnB1X3BkZiArPSA0OworCX0gZWxzZSB7CisJCXZwdV9wZGYgPQorCQkgICAgKFBDRFIwKCkgJiBDQ01fUENEUjBfVlBVRElWX01BU0spID4+CisJCSAgICBDQ01fUENEUjBfVlBVRElWX09GRlNFVDsKKwkJdnB1X3BkZiA9ICh2cHVfcGRmIDwgMikgPyAxMjQgOiB2cHVfcGRmOworCX0KKwlyZXR1cm4gMlVMICogcGFyZW50X3JhdGUgLyB2cHVfcGRmOworfQorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfY2xrX3BhcmVudF9yb3VuZF9yYXRlKHN0cnVjdCBjbGsgKmNsaywgdW5zaWduZWQgbG9uZyByYXRlKQoreworCXJldHVybiBjbGstPnBhcmVudC0+cm91bmRfcmF0ZShjbGstPnBhcmVudCwgcmF0ZSk7Cit9CisKK3N0YXRpYyBpbnQgX2Nsa19wYXJlbnRfc2V0X3JhdGUoc3RydWN0IGNsayAqY2xrLCB1bnNpZ25lZCBsb25nIHJhdGUpCit7CisJcmV0dXJuIGNsay0+cGFyZW50LT5zZXRfcmF0ZShjbGstPnBhcmVudCwgcmF0ZSk7Cit9CisKKy8qIGluIEh6ICovCitzdGF0aWMgdW5zaWduZWQgbG9uZyBleHRlcm5hbF9oaWdoX3JlZmVyZW5jZSA9IDI2MDAwMDAwOworCitzdGF0aWMgdW5zaWduZWQgbG9uZyBnZXRfaGlnaF9yZWZlcmVuY2VfY2xvY2tfcmF0ZShzdHJ1Y3QgY2xrICpjbGspCit7CisJcmV0dXJuIGV4dGVybmFsX2hpZ2hfcmVmZXJlbmNlOworfQorCisvKgorICogdGhlIGhpZ2ggZnJlcXVlbmN5IGV4dGVybmFsIGNsb2NrIHJlZmVyZW5jZQorICogRGVmYXVsdCBjYXNlIGlzIDI2TUh6LiBDb3VsZCBiZSBjaGFuZ2VkIGF0IHJ1bnRpbWUKKyAqIHdpdGggYSBjYWxsIHRvIGNoYW5nZV9leHRlcm5hbF9oaWdoX3JlZmVyZW5jZSgpCisgKi8KK3N0YXRpYyBzdHJ1Y3QgY2xrIGNraWhfY2xrID0geworCS5uYW1lID0gImNraWgiLAorCS5nZXRfcmF0ZSA9IGdldF9oaWdoX3JlZmVyZW5jZV9jbG9ja19yYXRlLAorfTsKKworLyogaW4gSHogKi8KK3N0YXRpYyB1bnNpZ25lZCBsb25nIGV4dGVybmFsX2xvd19yZWZlcmVuY2UgPSAzMjc2ODsKKworc3RhdGljIHVuc2lnbmVkIGxvbmcgZ2V0X2xvd19yZWZlcmVuY2VfY2xvY2tfcmF0ZShzdHJ1Y3QgY2xrICpjbGspCit7CisJcmV0dXJuIGV4dGVybmFsX2xvd19yZWZlcmVuY2U7Cit9CisKKy8qCisgKiB0aGUgbG93IGZyZXF1ZW5jeSBleHRlcm5hbCBjbG9jayByZWZlcmVuY2UKKyAqIERlZmF1bHQgY2FzZSBpcyAzMi43NjhrSHogQ291bGQgYmUgY2hhbmdlZCBhdCBydW50aW1lCisgKiB3aXRoIGEgY2FsbCB0byBjaGFuZ2VfZXh0ZXJuYWxfbG93X3JlZmVyZW5jZSgpCisgKi8KK3N0YXRpYyBzdHJ1Y3QgY2xrIGNraWxfY2xrID0geworCS5uYW1lID0gImNraWwiLAorCS5nZXRfcmF0ZSA9IGdldF9sb3dfcmVmZXJlbmNlX2Nsb2NrX3JhdGUsCit9OworCitzdGF0aWMgdW5zaWduZWQgbG9uZyBnZXRfbXBsbF9jbGsoc3RydWN0IGNsayAqY2xrKQoreworCXVpbnQzMl90IHJlZzsKKwl1bnNpZ25lZCBsb25nIHJlZl9jbGs7CisJdW5zaWduZWQgbG9uZyBtZmkgPSAwLCBtZm4gPSAwLCBtZmQgPSAwLCBwZGYgPSAwOworCXVuc2lnbmVkIGxvbmcgbG9uZyB0ZW1wOworCisJcmVmX2NsayA9IGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCk7CisKKwlyZWcgPSBfX3Jhd19yZWFkbChDQ01fTVBDVEwwKTsKKwlwZGYgPSAocmVnICYgQ0NNX01QQ1RMMF9QRF9NQVNLKSA+PiBDQ01fTVBDVEwwX1BEX09GRlNFVDsKKwltZmQgPSAocmVnICYgQ0NNX01QQ1RMMF9NRkRfTUFTSykgPj4gQ0NNX01QQ1RMMF9NRkRfT0ZGU0VUOworCW1maSA9IChyZWcgJiBDQ01fTVBDVEwwX01GSV9NQVNLKSA+PiBDQ01fTVBDVEwwX01GSV9PRkZTRVQ7CisJbWZuID0gKHJlZyAmIENDTV9NUENUTDBfTUZOX01BU0spID4+IENDTV9NUENUTDBfTUZOX09GRlNFVDsKKworCW1maSA9IChtZmkgPD0gNSkgPyA1IDogbWZpOworCXRlbXAgPSAyTEwgKiByZWZfY2xrICogbWZuOworCWRvX2Rpdih0ZW1wLCBtZmQgKyAxKTsKKwl0ZW1wID0gMkxMICogcmVmX2NsayAqIG1maSArIHRlbXA7CisJZG9fZGl2KHRlbXAsIHBkZiArIDEpOworCisJcmV0dXJuICh1bnNpZ25lZCBsb25nKXRlbXA7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIG1wbGxfY2xrID0geworCS5uYW1lID0gIm1wbGwiLAorCS5wYXJlbnQgPSAmY2tpaF9jbGssCisJLmdldF9yYXRlID0gZ2V0X21wbGxfY2xrLAorfTsKKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2Nsa19tcGxsX21haW5fZ2V0X3JhdGUoc3RydWN0IGNsayAqY2xrKQoreworCXVuc2lnbmVkIGxvbmcgcGFyZW50X3JhdGU7CisKKwlwYXJlbnRfcmF0ZSA9IGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCk7CisKKwkvKiBpLk1YMjcgVE8yOgorCSAqIGNsay0+aWQgPT0gMDogYXJtIGNsb2NrIHNvdXJjZSBwYXRoIDEgd2hpY2ggaXMgZnJvbSAyKk1QTEwvRElWXzIKKwkgKiBjbGstPmlkID09IDE6IGFybSBjbG9jayBzb3VyY2UgcGF0aCAyIHdoaWNoIGlzIGZyb20gMipNUExML0RJVl8zCisJICovCisKKwlpZiAobXgyN19yZXZpc2lvbigpID49IENISVBfUkVWXzJfMCAmJiBjbGstPmlkID09IDEpCisJCXJldHVybiAyVUwgKiBwYXJlbnRfcmF0ZSAvIDNVTDsKKworCXJldHVybiBwYXJlbnRfcmF0ZTsKK30KKworc3RhdGljIHN0cnVjdCBjbGsgbXBsbF9tYWluX2Nsa1tdID0geworCXsKKwkJLyogRm9yIGkuTVgyNyBUTzIsIGl0IGlzIHRoZSBNUExMIHBhdGggMSBvZiBBUk0gY29yZQorCQkgKiBJdCBwcm92aWRlIHRoZSBjbG9jayBzb3VyY2Ugd2hvc2UgcmF0ZSBpcyBzYW1lIGFzIE1QTEwKKwkJICovCisJCS5uYW1lID0gIm1wbGxfbWFpbiIsCisJCS5pZCA9IDAsCisJCS5wYXJlbnQgPSAmbXBsbF9jbGssCisJCS5nZXRfcmF0ZSA9IF9jbGtfbXBsbF9tYWluX2dldF9yYXRlCisJfSwgeworCQkvKiBGb3IgaS5NWDI3IFRPMiwgaXQgaXMgdGhlIE1QTEwgcGF0aCAyIG9mIEFSTSBjb3JlCisJCSAqIEl0IHByb3ZpZGUgdGhlIGNsb2NrIHNvdXJjZSB3aG9zZSByYXRlIGlzIHNhbWUgTVBMTCAqIDIvMworCQkgKi8KKwkJLm5hbWUgPSAibXBsbF9tYWluIiwKKwkJLmlkID0gMSwKKwkJLnBhcmVudCA9ICZtcGxsX2NsaywKKwkJLmdldF9yYXRlID0gX2Nsa19tcGxsX21haW5fZ2V0X3JhdGUKKwl9Cit9OworCitzdGF0aWMgdW5zaWduZWQgbG9uZyBnZXRfc3BsbF9jbGsoc3RydWN0IGNsayAqY2xrKQoreworCXVpbnQzMl90IHJlZzsKKwl1bnNpZ25lZCBsb25nIHJlZl9jbGs7CisJdW5zaWduZWQgbG9uZyBtZmkgPSAwLCBtZm4gPSAwLCBtZmQgPSAwLCBwZGYgPSAwOworCXVuc2lnbmVkIGxvbmcgbG9uZyB0ZW1wOworCisJcmVmX2NsayA9IGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCk7CisKKwlyZWcgPSBfX3Jhd19yZWFkbChDQ01fU1BDVEwwKTsKKwkvKlRPRE86IFRoaXMgaXMgVE8yIEJ1ZyAqLworCWlmIChteDI3X3JldmlzaW9uKCkgPj0gQ0hJUF9SRVZfMl8wKQorCQlfX3Jhd193cml0ZWwocmVnLCBDQ01fU1BDVEwwKTsKKworCXBkZiA9IChyZWcgJiBDQ01fU1BDVEwwX1BEX01BU0spID4+IENDTV9TUENUTDBfUERfT0ZGU0VUOworCW1mZCA9IChyZWcgJiBDQ01fU1BDVEwwX01GRF9NQVNLKSA+PiBDQ01fU1BDVEwwX01GRF9PRkZTRVQ7CisJbWZpID0gKHJlZyAmIENDTV9TUENUTDBfTUZJX01BU0spID4+IENDTV9TUENUTDBfTUZJX09GRlNFVDsKKwltZm4gPSAocmVnICYgQ0NNX1NQQ1RMMF9NRk5fTUFTSykgPj4gQ0NNX1NQQ1RMMF9NRk5fT0ZGU0VUOworCisJbWZpID0gKG1maSA8PSA1KSA/IDUgOiBtZmk7CisJdGVtcCA9IDJMTCAqIHJlZl9jbGsgKiBtZm47CisJZG9fZGl2KHRlbXAsIG1mZCArIDEpOworCXRlbXAgPSAyTEwgKiByZWZfY2xrICogbWZpICsgdGVtcDsKKwlkb19kaXYodGVtcCwgcGRmICsgMSk7CisKKwlyZXR1cm4gKHVuc2lnbmVkIGxvbmcpdGVtcDsKK30KKworc3RhdGljIHN0cnVjdCBjbGsgc3BsbF9jbGsgPSB7CisJLm5hbWUgPSAic3BsbCIsCisJLnBhcmVudCA9ICZja2loX2NsaywKKwkuZ2V0X3JhdGUgPSBnZXRfc3BsbF9jbGssCisJLmVuYWJsZSA9IF9jbGtfc3BsbF9lbmFibGUsCisJLmRpc2FibGUgPSBfY2xrX3NwbGxfZGlzYWJsZSwKK307CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGdldF9jcHVfY2xrKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1MzIgZGl2OworCXVuc2lnbmVkIGxvbmcgcmF0ZTsKKworCWlmIChteDI3X3JldmlzaW9uKCkgPj0gQ0hJUF9SRVZfMl8wKQorCQlkaXYgPSAoQ1NDUigpICYgQ0NNX0NTQ1JfQVJNX01BU0spID4+IENDTV9DU0NSX0FSTV9PRkZTRVQ7CisJZWxzZQorCQlkaXYgPSAoQ1NDUigpICYgQ0NNX0NTQ1JfUFJFU0NfTUFTSykgPj4gQ0NNX0NTQ1JfUFJFU0NfT0ZGU0VUOworCisJcmF0ZSA9IGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCk7CisJcmV0dXJuIHJhdGUgLyAoZGl2ICsgMSk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGNwdV9jbGsgPSB7CisJLm5hbWUgPSAiY3B1X2NsayIsCisJLnBhcmVudCA9ICZtcGxsX21haW5fY2xrWzFdLAorCS5zZXRfcGFyZW50ID0gX2Nsa19jcHVfc2V0X3BhcmVudCwKKwkucm91bmRfcmF0ZSA9IF9jbGtfY3B1X3JvdW5kX3JhdGUsCisJLmdldF9yYXRlID0gZ2V0X2NwdV9jbGssCisJLnNldF9yYXRlID0gX2Nsa19jcHVfc2V0X3JhdGUsCit9OworCitzdGF0aWMgdW5zaWduZWQgbG9uZyBnZXRfYWhiX2NsayhzdHJ1Y3QgY2xrICpjbGspCit7CisJdW5zaWduZWQgbG9uZyByYXRlOworCXVuc2lnbmVkIGxvbmcgYmNsa19wZGY7CisKKwlpZiAobXgyN19yZXZpc2lvbigpID49IENISVBfUkVWXzJfMCkKKwkJYmNsa19wZGYgPSAoQ1NDUigpICYgQ0NNX0NTQ1JfQUhCX01BU0spCisJCQkJCT4+IENDTV9DU0NSX0FIQl9PRkZTRVQ7CisJZWxzZQorCQliY2xrX3BkZiA9IChDU0NSKCkgJiBDQ01fQ1NDUl9CQ0xLX01BU0spCisJCQkJCT4+IENDTV9DU0NSX0JDTEtfT0ZGU0VUOworCisJcmF0ZSA9IGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCk7CisJcmV0dXJuIHJhdGUgLyAoYmNsa19wZGYgKyAxKTsKK30KKworc3RhdGljIHN0cnVjdCBjbGsgYWhiX2NsayA9IHsKKwkubmFtZSA9ICJhaGJfY2xrIiwKKwkucGFyZW50ID0gJm1wbGxfbWFpbl9jbGtbMV0sCisJLmdldF9yYXRlID0gZ2V0X2FoYl9jbGssCit9OworCitzdGF0aWMgdW5zaWduZWQgbG9uZyBnZXRfaXBnX2NsayhzdHJ1Y3QgY2xrICpjbGspCit7CisJdW5zaWduZWQgbG9uZyByYXRlOworCXVuc2lnbmVkIGxvbmcgaXBnX3BkZjsKKworCWlmIChteDI3X3JldmlzaW9uKCkgPj0gQ0hJUF9SRVZfMl8wKQorCQlyZXR1cm4gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KTsKKwllbHNlCisJCWlwZ19wZGYgPSAoQ1NDUigpICYgQ0NNX0NTQ1JfSVBESVYpID4+IENDTV9DU0NSX0lQRElWX09GRlNFVDsKKworCXJhdGUgPSBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpOworCXJldHVybiByYXRlIC8gKGlwZ19wZGYgKyAxKTsKK30KKworc3RhdGljIHN0cnVjdCBjbGsgaXBnX2NsayA9IHsKKwkubmFtZSA9ICJpcGdfY2xrIiwKKwkucGFyZW50ID0gJmFoYl9jbGssCisJLmdldF9yYXRlID0gZ2V0X2lwZ19jbGssCit9OworCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfY2xrX3BlcmNsa3hfcmVjYWxjKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIHBlcmNsa19wZGY7CisJdW5zaWduZWQgbG9uZyBwYXJlbnRfcmF0ZTsKKworCXBhcmVudF9yYXRlID0gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KTsKKworCWlmIChjbGstPmlkIDwgMCB8fCBjbGstPmlkID4gMykKKwkJcmV0dXJuIDA7CisKKwlwZXJjbGtfcGRmID0gKFBDRFIxKCkgPj4gKGNsay0+aWQgPDwgMykpICYgQ0NNX1BDRFIxX1BFUkRJVjFfTUFTSzsKKworCXJldHVybiBwYXJlbnRfcmF0ZSAvIChwZXJjbGtfcGRmICsgMSk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIHBlcl9jbGtbXSA9IHsKKwl7CisJCS5uYW1lID0gInBlcl9jbGsiLAorCQkuaWQgPSAwLAorCQkucGFyZW50ID0gJm1wbGxfbWFpbl9jbGtbMV0sCisJCS5nZXRfcmF0ZSA9IF9jbGtfcGVyY2xreF9yZWNhbGMsCisJCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjEsCisJCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjFfUEVSQ0xLMV9PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sIHsKKwkJLm5hbWUgPSAicGVyX2NsayIsCisJCS5pZCA9IDEsCisJCS5wYXJlbnQgPSAmbXBsbF9tYWluX2Nsa1sxXSwKKwkJLmdldF9yYXRlID0gX2Nsa19wZXJjbGt4X3JlY2FsYywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMSwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMV9QRVJDTEsyX09GRlNFVCwKKwkJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCisJfSwgeworCQkubmFtZSA9ICJwZXJfY2xrIiwKKwkJLmlkID0gMiwKKwkJLnBhcmVudCA9ICZtcGxsX21haW5fY2xrWzFdLAorCQkucm91bmRfcmF0ZSA9IF9jbGtfcGVyY2xreF9yb3VuZF9yYXRlLAorCQkuc2V0X3JhdGUgPSBfY2xrX3BlcmNsa3hfc2V0X3JhdGUsCisJCS5nZXRfcmF0ZSA9IF9jbGtfcGVyY2xreF9yZWNhbGMsCisJCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjEsCisJCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjFfUEVSQ0xLM19PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sIHsKKwkJLm5hbWUgPSAicGVyX2NsayIsCisJCS5pZCA9IDMsCisJCS5wYXJlbnQgPSAmbXBsbF9tYWluX2Nsa1sxXSwKKwkJLnJvdW5kX3JhdGUgPSBfY2xrX3BlcmNsa3hfcm91bmRfcmF0ZSwKKwkJLnNldF9yYXRlID0gX2Nsa19wZXJjbGt4X3NldF9yYXRlLAorCQkuZ2V0X3JhdGUgPSBfY2xrX3BlcmNsa3hfcmVjYWxjLAorCQkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IxLAorCQkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IxX1BFUkNMSzRfT0ZGU0VULAorCQkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKKwl9LAorfTsKKworc3RydWN0IGNsayB1YXJ0MV9jbGtbXSA9IHsKKwl7CisJCS5uYW1lID0gInVhcnRfY2xrIiwKKwkJLmlkID0gMCwKKwkJLnBhcmVudCA9ICZwZXJfY2xrWzBdLAorCQkuc2Vjb25kYXJ5ID0gJnVhcnQxX2Nsa1sxXSwKKwl9LCB7CisJCS5uYW1lID0gInVhcnRfaXBnX2NsayIsCisJCS5pZCA9IDAsCisJCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMSwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMV9VQVJUMV9PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sCit9OworCitzdHJ1Y3QgY2xrIHVhcnQyX2Nsa1tdID0geworCXsKKwkJLm5hbWUgPSAidWFydF9jbGsiLAorCQkuaWQgPSAxLAorCQkucGFyZW50ID0gJnBlcl9jbGtbMF0sCisJCS5zZWNvbmRhcnkgPSAmdWFydDJfY2xrWzFdLAorCX0sIHsKKwkJLm5hbWUgPSAidWFydF9pcGdfY2xrIiwKKwkJLmlkID0gMSwKKwkJLnBhcmVudCA9ICZpcGdfY2xrLAorCQkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IxLAorCQkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IxX1VBUlQyX09GRlNFVCwKKwkJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCisJfSwKK307CisKK3N0cnVjdCBjbGsgdWFydDNfY2xrW10gPSB7CisJeworCQkubmFtZSA9ICJ1YXJ0X2NsayIsCisJCS5pZCA9IDIsCisJCS5wYXJlbnQgPSAmcGVyX2Nsa1swXSwKKwkJLnNlY29uZGFyeSA9ICZ1YXJ0M19jbGtbMV0sCisJfSwgeworCQkubmFtZSA9ICJ1YXJ0X2lwZ19jbGsiLAorCQkuaWQgPSAyLAorCQkucGFyZW50ID0gJmlwZ19jbGssCisJCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjEsCisJCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjFfVUFSVDNfT0ZGU0VULAorCQkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKKwl9LAorfTsKKworc3RydWN0IGNsayB1YXJ0NF9jbGtbXSA9IHsKKwl7CisJCS5uYW1lID0gInVhcnRfY2xrIiwKKwkJLmlkID0gMywKKwkJLnBhcmVudCA9ICZwZXJfY2xrWzBdLAorCQkuc2Vjb25kYXJ5ID0gJnVhcnQ0X2Nsa1sxXSwKKwl9LCB7CisJCS5uYW1lID0gInVhcnRfaXBnX2NsayIsCisJCS5pZCA9IDMsCisJCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMSwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMV9VQVJUNF9PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sCit9OworCitzdHJ1Y3QgY2xrIHVhcnQ1X2Nsa1tdID0geworCXsKKwkJLm5hbWUgPSAidWFydF9jbGsiLAorCQkuaWQgPSA0LAorCQkucGFyZW50ID0gJnBlcl9jbGtbMF0sCisJCS5zZWNvbmRhcnkgPSAmdWFydDVfY2xrWzFdLAorCX0sIHsKKwkJLm5hbWUgPSAidWFydF9pcGdfY2xrIiwKKwkJLmlkID0gNCwKKwkJLnBhcmVudCA9ICZpcGdfY2xrLAorCQkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IxLAorCQkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IxX1VBUlQ1X09GRlNFVCwKKwkJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCisJfSwKK307CisKK3N0cnVjdCBjbGsgdWFydDZfY2xrW10gPSB7CisJeworCQkubmFtZSA9ICJ1YXJ0X2NsayIsCisJCS5pZCA9IDUsCisJCS5wYXJlbnQgPSAmcGVyX2Nsa1swXSwKKwkJLnNlY29uZGFyeSA9ICZ1YXJ0Nl9jbGtbMV0sCisJfSwgeworCQkubmFtZSA9ICJ1YXJ0X2lwZ19jbGsiLAorCQkuaWQgPSA1LAorCQkucGFyZW50ID0gJmlwZ19jbGssCisJCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjEsCisJCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjFfVUFSVDZfT0ZGU0VULAorCQkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgZ3B0MV9jbGtbXSA9IHsKKwl7CisJCS5uYW1lID0gImdwdF9jbGsiLAorCQkuaWQgPSAwLAorCQkucGFyZW50ID0gJnBlcl9jbGtbMF0sCisJCS5zZWNvbmRhcnkgPSAmZ3B0MV9jbGtbMV0sCisJfSwgeworCQkubmFtZSA9ICJncHRfaXBnX2NsayIsCisJCS5pZCA9IDAsCisJCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMCwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMF9HUFQxX09GRlNFVCwKKwkJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGdwdDJfY2xrW10gPSB7CisJeworCQkubmFtZSA9ICJncHRfY2xrIiwKKwkJLmlkID0gMSwKKwkJLnBhcmVudCA9ICZwZXJfY2xrWzBdLAorCQkuc2Vjb25kYXJ5ID0gJmdwdDJfY2xrWzFdLAorCX0sIHsKKwkJLm5hbWUgPSAiZ3B0X2lwZ19jbGsiLAorCQkuaWQgPSAxLAorCQkucGFyZW50ID0gJmlwZ19jbGssCisJCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjAsCisJCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjBfR1BUMl9PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IGNsayBncHQzX2Nsa1tdID0geworCXsKKwkJLm5hbWUgPSAiZ3B0X2NsayIsCisJCS5pZCA9IDIsCisJCS5wYXJlbnQgPSAmcGVyX2Nsa1swXSwKKwkJLnNlY29uZGFyeSA9ICZncHQzX2Nsa1sxXSwKKwl9LCB7CisJCS5uYW1lID0gImdwdF9pcGdfY2xrIiwKKwkJLmlkID0gMiwKKwkJLnBhcmVudCA9ICZpcGdfY2xrLAorCQkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IwLAorCQkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IwX0dQVDNfT0ZGU0VULAorCQkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgZ3B0NF9jbGtbXSA9IHsKKwl7CisJCS5uYW1lID0gImdwdF9jbGsiLAorCQkuaWQgPSAzLAorCQkucGFyZW50ID0gJnBlcl9jbGtbMF0sCisJCS5zZWNvbmRhcnkgPSAmZ3B0NF9jbGtbMV0sCisJfSwgeworCQkubmFtZSA9ICJncHRfaXBnX2NsayIsCisJCS5pZCA9IDMsCisJCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMCwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMF9HUFQ0X09GRlNFVCwKKwkJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGdwdDVfY2xrW10gPSB7CisJeworCQkubmFtZSA9ICJncHRfY2xrIiwKKwkJLmlkID0gNCwKKwkJLnBhcmVudCA9ICZwZXJfY2xrWzBdLAorCQkuc2Vjb25kYXJ5ID0gJmdwdDVfY2xrWzFdLAorCX0sIHsKKwkJLm5hbWUgPSAiZ3B0X2lwZ19jbGsiLAorCQkuaWQgPSA0LAorCQkucGFyZW50ID0gJmlwZ19jbGssCisJCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjAsCisJCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjBfR1BUNV9PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IGNsayBncHQ2X2Nsa1tdID0geworCXsKKwkJLm5hbWUgPSAiZ3B0X2NsayIsCisJCS5pZCA9IDUsCisJCS5wYXJlbnQgPSAmcGVyX2Nsa1swXSwKKwkJLnNlY29uZGFyeSA9ICZncHQ2X2Nsa1sxXSwKKwl9LCB7CisJCS5uYW1lID0gImdwdF9pcGdfY2xrIiwKKwkJLmlkID0gNSwKKwkJLnBhcmVudCA9ICZpcGdfY2xrLAorCQkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IwLAorCQkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IwX0dQVDZfT0ZGU0VULAorCQkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgcHdtX2Nsa1tdID0geworCXsKKwkJLm5hbWUgPSAicHdtX2NsayIsCisJCS5wYXJlbnQgPSAmcGVyX2Nsa1swXSwKKwkJLnNlY29uZGFyeSA9ICZwd21fY2xrWzFdLAorCX0sIHsKKwkJLm5hbWUgPSAicHdtX2NsayIsCisJCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMCwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMF9QV01fT0ZGU0VULAorCQkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgc2RoYzFfY2xrW10gPSB7CisJeworCQkubmFtZSA9ICJzZGhjX2NsayIsCisJCS5pZCA9IDAsCisJCS5wYXJlbnQgPSAmcGVyX2Nsa1sxXSwKKwkJLnNlY29uZGFyeSA9ICZzZGhjMV9jbGtbMV0sCisJfSwgeworCQkubmFtZSA9ICJzZGhjX2lwZ19jbGsiLAorCQkuaWQgPSAwLAorCQkucGFyZW50ID0gJmlwZ19jbGssCisJCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjAsCisJCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjBfU0RIQzFfT0ZGU0VULAorCQkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgc2RoYzJfY2xrW10gPSB7CisJeworCQkubmFtZSA9ICJzZGhjX2NsayIsCisJCS5pZCA9IDEsCisJCS5wYXJlbnQgPSAmcGVyX2Nsa1sxXSwKKwkJLnNlY29uZGFyeSA9ICZzZGhjMl9jbGtbMV0sCisJfSwgeworCQkubmFtZSA9ICJzZGhjX2lwZ19jbGsiLAorCQkuaWQgPSAxLAorCQkucGFyZW50ID0gJmlwZ19jbGssCisJCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjAsCisJCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjBfU0RIQzJfT0ZGU0VULAorCQkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgc2RoYzNfY2xrW10gPSB7CisJeworCQkubmFtZSA9ICJzZGhjX2NsayIsCisJCS5pZCA9IDIsCisJCS5wYXJlbnQgPSAmcGVyX2Nsa1sxXSwKKwkJLnNlY29uZGFyeSA9ICZzZGhjM19jbGtbMV0sCisJfSwgeworCQkubmFtZSA9ICJzZGhjX2lwZ19jbGsiLAorCQkuaWQgPSAyLAorCQkucGFyZW50ID0gJmlwZ19jbGssCisJCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjAsCisJCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjBfU0RIQzNfT0ZGU0VULAorCQkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgY3NwaTFfY2xrW10gPSB7CisJeworCQkubmFtZSA9ICJjc3BpX2NsayIsCisJCS5pZCA9IDAsCisJCS5wYXJlbnQgPSAmcGVyX2Nsa1sxXSwKKwkJLnNlY29uZGFyeSA9ICZjc3BpMV9jbGtbMV0sCisJfSwgeworCQkubmFtZSA9ICJjc3BpX2lwZ19jbGsiLAorCQkuaWQgPSAwLAorCQkucGFyZW50ID0gJmlwZ19jbGssCisJCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjAsCisJCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjBfQ1NQSTFfT0ZGU0VULAorCQkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgY3NwaTJfY2xrW10gPSB7CisJeworCQkubmFtZSA9ICJjc3BpX2NsayIsCisJCS5pZCA9IDEsCisJCS5wYXJlbnQgPSAmcGVyX2Nsa1sxXSwKKwkJLnNlY29uZGFyeSA9ICZjc3BpMl9jbGtbMV0sCisJfSwgeworCQkubmFtZSA9ICJjc3BpX2lwZ19jbGsiLAorCQkuaWQgPSAxLAorCQkucGFyZW50ID0gJmlwZ19jbGssCisJCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjAsCisJCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjBfQ1NQSTJfT0ZGU0VULAorCQkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgY3NwaTNfY2xrW10gPSB7CisJeworCQkubmFtZSA9ICJjc3BpX2NsayIsCisJCS5pZCA9IDIsCisJCS5wYXJlbnQgPSAmcGVyX2Nsa1sxXSwKKwkJLnNlY29uZGFyeSA9ICZjc3BpM19jbGtbMV0sCisJfSwgeworCQkubmFtZSA9ICJjc3BpX2lwZ19jbGsiLAorCQkuaWQgPSAyLAorCQkucGFyZW50ID0gJmlwZ19jbGssCisJCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjAsCisJCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjBfQ1NQSTNfT0ZGU0VULAorCQkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgbGNkY19jbGtbXSA9IHsKKwl7CisJCS5uYW1lID0gImxjZGNfY2xrIiwKKwkJLnBhcmVudCA9ICZwZXJfY2xrWzJdLAorCQkuc2Vjb25kYXJ5ID0gJmxjZGNfY2xrWzFdLAorCQkucm91bmRfcmF0ZSA9IF9jbGtfcGFyZW50X3JvdW5kX3JhdGUsCisJCS5zZXRfcmF0ZSA9IF9jbGtfcGFyZW50X3NldF9yYXRlLAorCX0sIHsKKwkJLm5hbWUgPSAibGNkY19pcGdfY2xrIiwKKwkJLnBhcmVudCA9ICZpcGdfY2xrLAorCQkuc2Vjb25kYXJ5ID0gJmxjZGNfY2xrWzJdLAorCQkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IwLAorCQkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IwX0xDRENfT0ZGU0VULAorCQkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKKwl9LCB7CisJCS5uYW1lID0gImxjZGNfYWhiX2NsayIsCisJCS5wYXJlbnQgPSAmYWhiX2NsaywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMSwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMV9IQ0xLX0xDRENfT0ZGU0VULAorCQkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgY3NpX2Nsa1tdID0geworCXsKKwkJLm5hbWUgPSAiY3NpX3BlcmNsayIsCisJCS5wYXJlbnQgPSAmcGVyX2Nsa1szXSwKKwkJLnNlY29uZGFyeSA9ICZjc2lfY2xrWzFdLAorCQkucm91bmRfcmF0ZSA9IF9jbGtfcGFyZW50X3JvdW5kX3JhdGUsCisJCS5zZXRfcmF0ZSA9IF9jbGtfcGFyZW50X3NldF9yYXRlLAorCX0sIHsKKwkJLm5hbWUgPSAiY3NpX2FoYl9jbGsiLAorCQkucGFyZW50ID0gJmFoYl9jbGssCisJCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjEsCisJCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjFfSENMS19DU0lfT0ZGU0VULAorCQkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgdXNiX2Nsa1tdID0geworCXsKKwkJLm5hbWUgPSAidXNiX2NsayIsCisJCS5wYXJlbnQgPSAmc3BsbF9jbGssCisJCS5nZXRfcmF0ZSA9IF9jbGtfdXNiX3JlY2FsYywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMSwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMV9VU0JPVEdfT0ZGU0VULAorCQkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKKwl9LCB7CisJCS5uYW1lID0gInVzYl9haGJfY2xrIiwKKwkJLnBhcmVudCA9ICZhaGJfY2xrLAorCQkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IxLAorCQkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IxX0hDTEtfVVNCT1RHX09GRlNFVCwKKwkJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCisJfQorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgc3NpMV9jbGtbXSA9IHsKKwl7CisJCS5uYW1lID0gInNzaV9jbGsiLAorCQkuaWQgPSAwLAorCQkucGFyZW50ID0gJm1wbGxfbWFpbl9jbGtbMV0sCisJCS5zZWNvbmRhcnkgPSAmc3NpMV9jbGtbMV0sCisJCS5nZXRfcmF0ZSA9IF9jbGtfc3NpMV9yZWNhbGMsCisJCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjEsCisJCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjFfU1NJMV9CQVVEX09GRlNFVCwKKwkJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCisJfSwgeworCQkubmFtZSA9ICJzc2lfaXBnX2NsayIsCisJCS5pZCA9IDAsCisJCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMCwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMF9TU0kxX0lQR19PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IGNsayBzc2kyX2Nsa1tdID0geworCXsKKwkJLm5hbWUgPSAic3NpX2NsayIsCisJCS5pZCA9IDEsCisJCS5wYXJlbnQgPSAmbXBsbF9tYWluX2Nsa1sxXSwKKwkJLnNlY29uZGFyeSA9ICZzc2kyX2Nsa1sxXSwKKwkJLmdldF9yYXRlID0gX2Nsa19zc2kyX3JlY2FsYywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMSwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMV9TU0kyX0JBVURfT0ZGU0VULAorCQkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKKwl9LCB7CisJCS5uYW1lID0gInNzaV9pcGdfY2xrIiwKKwkJLmlkID0gMSwKKwkJLnBhcmVudCA9ICZpcGdfY2xrLAorCQkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IwLAorCQkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IwX1NTSTJfSVBHX09GRlNFVCwKKwkJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIG5mY19jbGsgPSB7CisJLm5hbWUgPSAibmZjX2NsayIsCisJLnBhcmVudCA9ICZjcHVfY2xrLAorCS5nZXRfcmF0ZSA9IF9jbGtfbmZjX3JlY2FsYywKKwkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjEsCisJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMV9ORkNfQkFVRF9PRkZTRVQsCisJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayB2cHVfY2xrID0geworCS5uYW1lID0gInZwdV9jbGsiLAorCS5wYXJlbnQgPSAmbXBsbF9tYWluX2Nsa1sxXSwKKwkuZ2V0X3JhdGUgPSBfY2xrX3ZwdV9yZWNhbGMsCisJLmVuYWJsZSA9IF9jbGtfdnB1X2VuYWJsZSwKKwkuZGlzYWJsZSA9IF9jbGtfdnB1X2Rpc2FibGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayBkbWFfY2xrID0geworCS5uYW1lID0gImRtYV9jbGsiLAorCS5wYXJlbnQgPSAmYWhiX2NsaywKKwkuZW5hYmxlID0gX2Nsa19kbWFfZW5hYmxlLAorCS5kaXNhYmxlID0gX2Nsa19kbWFfZGlzYWJsZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIHJ0aWNfY2xrID0geworCS5uYW1lID0gInJ0aWNfY2xrIiwKKwkucGFyZW50ID0gJmFoYl9jbGssCisJLmVuYWJsZSA9IF9jbGtfcnRpY19lbmFibGUsCisJLmRpc2FibGUgPSBfY2xrX3J0aWNfZGlzYWJsZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGJyb21fY2xrID0geworCS5uYW1lID0gImJyb21fY2xrIiwKKwkucGFyZW50ID0gJmFoYl9jbGssCisJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IxLAorCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjFfSENMS19CUk9NX09GRlNFVCwKKwkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGVtbWFfY2xrID0geworCS5uYW1lID0gImVtbWFfY2xrIiwKKwkucGFyZW50ID0gJmFoYl9jbGssCisJLmVuYWJsZSA9IF9jbGtfZW1tYV9lbmFibGUsCisJLmRpc2FibGUgPSBfY2xrX2VtbWFfZGlzYWJsZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIHNsY2RjX2NsayA9IHsKKwkubmFtZSA9ICJzbGNkY19jbGsiLAorCS5wYXJlbnQgPSAmYWhiX2NsaywKKwkuZW5hYmxlID0gX2Nsa19zbGNkY19lbmFibGUsCisJLmRpc2FibGUgPSBfY2xrX3NsY2RjX2Rpc2FibGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayBmZWNfY2xrID0geworCS5uYW1lID0gImZlY19jbGsiLAorCS5wYXJlbnQgPSAmYWhiX2NsaywKKwkuZW5hYmxlID0gX2Nsa19mZWNfZW5hYmxlLAorCS5kaXNhYmxlID0gX2Nsa19mZWNfZGlzYWJsZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGVtaV9jbGsgPSB7CisJLm5hbWUgPSAiZW1pX2NsayIsCisJLnBhcmVudCA9ICZhaGJfY2xrLAorCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMSwKKwkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IxX0hDTEtfRU1JX09GRlNFVCwKKwkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIHNhaGFyYTJfY2xrID0geworCS5uYW1lID0gInNhaGFyYV9jbGsiLAorCS5wYXJlbnQgPSAmYWhiX2NsaywKKwkuZW5hYmxlID0gX2Nsa19zYWhhcmEyX2VuYWJsZSwKKwkuZGlzYWJsZSA9IF9jbGtfc2FoYXJhMl9kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgYXRhX2NsayA9IHsKKwkubmFtZSA9ICJhdGFfY2xrIiwKKwkucGFyZW50ID0gJmFoYl9jbGssCisJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IxLAorCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjFfSENMS19BVEFfT0ZGU0VULAorCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgbXN0aWNrMV9jbGsgPSB7CisJLm5hbWUgPSAibXN0aWNrMV9jbGsiLAorCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkuZW5hYmxlID0gX2Nsa19tc3RpY2sxX2VuYWJsZSwKKwkuZGlzYWJsZSA9IF9jbGtfbXN0aWNrMV9kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgd2RvZ19jbGsgPSB7CisJLm5hbWUgPSAid2RvZ19jbGsiLAorCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjEsCisJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMV9XRFRfT0ZGU0VULAorCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgZ3Bpb19jbGsgPSB7CisJLm5hbWUgPSAiZ3Bpb19jbGsiLAorCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjEsCisJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMF9HUElPX09GRlNFVCwKKwkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGkyY19jbGtbXSA9IHsKKwl7CisJCS5uYW1lID0gImkyY19jbGsiLAorCQkuaWQgPSAwLAorCQkucGFyZW50ID0gJmlwZ19jbGssCisJCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjAsCisJCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjBfSTJDMV9PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sIHsKKwkJLm5hbWUgPSAiaTJjX2NsayIsCisJCS5pZCA9IDEsCisJCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMCwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMF9JMkMyX09GRlNFVCwKKwkJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGlpbV9jbGsgPSB7CisJLm5hbWUgPSAiaWltX2NsayIsCisJLnBhcmVudCA9ICZpcGdfY2xrLAorCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMCwKKwkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IwX0lJTV9PRkZTRVQsCisJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayBrcHBfY2xrID0geworCS5uYW1lID0gImtwcF9jbGsiLAorCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjAsCisJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMF9LUFBfT0ZGU0VULAorCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgb3dpcmVfY2xrID0geworCS5uYW1lID0gIm93aXJlX2NsayIsCisJLnBhcmVudCA9ICZpcGdfY2xrLAorCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMCwKKwkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IwX09XSVJFX09GRlNFVCwKKwkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIHJ0Y19jbGsgPSB7CisJLm5hbWUgPSAicnRjX2NsayIsCisJLnBhcmVudCA9ICZpcGdfY2xrLAorCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMCwKKwkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IwX1JUQ19PRkZTRVQsCisJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayBzY2NfY2xrID0geworCS5uYW1lID0gInNjY19jbGsiLAorCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjAsCisJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMF9TQ0NfT0ZGU0VULAorCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorfTsKKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2Nsa19jbGtvX3JvdW5kX3JhdGUoc3RydWN0IGNsayAqY2xrLCB1bnNpZ25lZCBsb25nIHJhdGUpCit7CisJdTMyIGRpdjsKKwl1bnNpZ25lZCBsb25nIHBhcmVudF9yYXRlOworCisJcGFyZW50X3JhdGUgPSBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpOworCWRpdiA9IHBhcmVudF9yYXRlIC8gcmF0ZTsKKwlpZiAocGFyZW50X3JhdGUgJSByYXRlKQorCQlkaXYrKzsKKworCWlmIChkaXYgPiA4KQorCQlkaXYgPSA4OworCisJcmV0dXJuIHBhcmVudF9yYXRlIC8gZGl2OworfQorCitzdGF0aWMgaW50IF9jbGtfY2xrb19zZXRfcmF0ZShzdHJ1Y3QgY2xrICpjbGssIHVuc2lnbmVkIGxvbmcgcmF0ZSkKK3sKKwl1MzIgcmVnOworCXUzMiBkaXY7CisJdW5zaWduZWQgbG9uZyBwYXJlbnRfcmF0ZTsKKworCXBhcmVudF9yYXRlID0gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KTsKKworCWRpdiA9IHBhcmVudF9yYXRlIC8gcmF0ZTsKKworCWlmIChkaXYgPiA4IHx8IGRpdiA8IDEgfHwgKChwYXJlbnRfcmF0ZSAvIGRpdikgIT0gcmF0ZSkpCisJCXJldHVybiAtRUlOVkFMOworCWRpdi0tOworCisJcmVnID0gX19yYXdfcmVhZGwoQ0NNX1BDRFIwKSAmIH5DQ01fUENEUjBfQ0xLT0RJVl9NQVNLOworCXJlZyB8PSBkaXYgPDwgQ0NNX1BDRFIwX0NMS09ESVZfT0ZGU0VUOworCV9fcmF3X3dyaXRlbChyZWcsIENDTV9QQ0RSMCk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2Nsa19jbGtvX3JlY2FsYyhzdHJ1Y3QgY2xrICpjbGspCit7CisJdTMyIGRpdjsKKwl1bnNpZ25lZCBsb25nIHBhcmVudF9yYXRlOworCisJcGFyZW50X3JhdGUgPSBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpOworCisJZGl2ID0gX19yYXdfcmVhZGwoQ0NNX1BDRFIwKSAmIENDTV9QQ0RSMF9DTEtPRElWX01BU0sgPj4KKwkJQ0NNX1BDRFIwX0NMS09ESVZfT0ZGU0VUOworCWRpdisrOworCisJcmV0dXJuIHBhcmVudF9yYXRlIC8gZGl2OworfQorCitzdGF0aWMgaW50IF9jbGtfY2xrb19zZXRfcGFyZW50KHN0cnVjdCBjbGsgKmNsaywgc3RydWN0IGNsayAqcGFyZW50KQoreworCXUzMiByZWc7CisKKwlyZWcgPSBfX3Jhd19yZWFkbChDQ01fQ0NTUikgJiB+Q0NNX0NDU1JfQ0xLT1NFTF9NQVNLOworCisJaWYgKHBhcmVudCA9PSAmY2tpbF9jbGspCisJCXJlZyB8PSAwIDw8IENDTV9DQ1NSX0NMS09TRUxfT0ZGU0VUOworCWVsc2UgaWYgKHBhcmVudCA9PSAmY2tpaF9jbGspCisJCXJlZyB8PSAyIDw8IENDTV9DQ1NSX0NMS09TRUxfT0ZGU0VUOworCWVsc2UgaWYgKHBhcmVudCA9PSBtcGxsX2Nsay5wYXJlbnQpCisJCXJlZyB8PSAzIDw8IENDTV9DQ1NSX0NMS09TRUxfT0ZGU0VUOworCWVsc2UgaWYgKHBhcmVudCA9PSBzcGxsX2Nsay5wYXJlbnQpCisJCXJlZyB8PSA0IDw8IENDTV9DQ1NSX0NMS09TRUxfT0ZGU0VUOworCWVsc2UgaWYgKHBhcmVudCA9PSAmbXBsbF9jbGspCisJCXJlZyB8PSA1IDw8IENDTV9DQ1NSX0NMS09TRUxfT0ZGU0VUOworCWVsc2UgaWYgKHBhcmVudCA9PSAmc3BsbF9jbGspCisJCXJlZyB8PSA2IDw8IENDTV9DQ1NSX0NMS09TRUxfT0ZGU0VUOworCWVsc2UgaWYgKHBhcmVudCA9PSAmY3B1X2NsaykKKwkJcmVnIHw9IDcgPDwgQ0NNX0NDU1JfQ0xLT1NFTF9PRkZTRVQ7CisJZWxzZSBpZiAocGFyZW50ID09ICZhaGJfY2xrKQorCQlyZWcgfD0gOCA8PCBDQ01fQ0NTUl9DTEtPU0VMX09GRlNFVDsKKwllbHNlIGlmIChwYXJlbnQgPT0gJmlwZ19jbGspCisJCXJlZyB8PSA5IDw8IENDTV9DQ1NSX0NMS09TRUxfT0ZGU0VUOworCWVsc2UgaWYgKHBhcmVudCA9PSAmcGVyX2Nsa1swXSkKKwkJcmVnIHw9IDB4QSA8PCBDQ01fQ0NTUl9DTEtPU0VMX09GRlNFVDsKKwllbHNlIGlmIChwYXJlbnQgPT0gJnBlcl9jbGtbMV0pCisJCXJlZyB8PSAweEIgPDwgQ0NNX0NDU1JfQ0xLT1NFTF9PRkZTRVQ7CisJZWxzZSBpZiAocGFyZW50ID09ICZwZXJfY2xrWzJdKQorCQlyZWcgfD0gMHhDIDw8IENDTV9DQ1NSX0NMS09TRUxfT0ZGU0VUOworCWVsc2UgaWYgKHBhcmVudCA9PSAmcGVyX2Nsa1szXSkKKwkJcmVnIHw9IDB4RCA8PCBDQ01fQ0NTUl9DTEtPU0VMX09GRlNFVDsKKwllbHNlIGlmIChwYXJlbnQgPT0gJnNzaTFfY2xrWzBdKQorCQlyZWcgfD0gMHhFIDw8IENDTV9DQ1NSX0NMS09TRUxfT0ZGU0VUOworCWVsc2UgaWYgKHBhcmVudCA9PSAmc3NpMl9jbGtbMF0pCisJCXJlZyB8PSAweEYgPDwgQ0NNX0NDU1JfQ0xLT1NFTF9PRkZTRVQ7CisJZWxzZSBpZiAocGFyZW50ID09ICZuZmNfY2xrKQorCQlyZWcgfD0gMHgxMCA8PCBDQ01fQ0NTUl9DTEtPU0VMX09GRlNFVDsKKwllbHNlIGlmIChwYXJlbnQgPT0gJm1zdGljazFfY2xrKQorCQlyZWcgfD0gMHgxMSA8PCBDQ01fQ0NTUl9DTEtPU0VMX09GRlNFVDsKKwllbHNlIGlmIChwYXJlbnQgPT0gJnZwdV9jbGspCisJCXJlZyB8PSAweDEyIDw8IENDTV9DQ1NSX0NMS09TRUxfT0ZGU0VUOworCWVsc2UgaWYgKHBhcmVudCA9PSAmdXNiX2Nsa1swXSkKKwkJcmVnIHw9IDB4MTUgPDwgQ0NNX0NDU1JfQ0xLT1NFTF9PRkZTRVQ7CisJZWxzZQorCQlyZXR1cm4gLUVJTlZBTDsKKworCV9fcmF3X3dyaXRlbChyZWcsIENDTV9DQ1NSKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IF9jbGtfY2xrb19lbmFibGUoc3RydWN0IGNsayAqY2xrKQoreworCXUzMiByZWc7CisKKwlyZWcgPSBfX3Jhd19yZWFkbChDQ01fUENEUjApIHwgQ0NNX1BDRFIwX0NMS09fRU47CisJX19yYXdfd3JpdGVsKHJlZywgQ0NNX1BDRFIwKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBfY2xrX2Nsa29fZGlzYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJdTMyIHJlZzsKKworCXJlZyA9IF9fcmF3X3JlYWRsKENDTV9QQ0RSMCkgJiB+Q0NNX1BDRFIwX0NMS09fRU47CisJX19yYXdfd3JpdGVsKHJlZywgQ0NNX1BDRFIwKTsKK30KKworc3RhdGljIHN0cnVjdCBjbGsgY2xrb19jbGsgPSB7CisJLm5hbWUgPSAiY2xrb19jbGsiLAorCS5nZXRfcmF0ZSA9IF9jbGtfY2xrb19yZWNhbGMsCisJLnNldF9yYXRlID0gX2Nsa19jbGtvX3NldF9yYXRlLAorCS5yb3VuZF9yYXRlID0gX2Nsa19jbGtvX3JvdW5kX3JhdGUsCisJLnNldF9wYXJlbnQgPSBfY2xrX2Nsa29fc2V0X3BhcmVudCwKKwkuZW5hYmxlID0gX2Nsa19jbGtvX2VuYWJsZSwKKwkuZGlzYWJsZSA9IF9jbGtfY2xrb19kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgKm14Y19jbGtzW10gPSB7CisJJmNraWhfY2xrLAorCSZja2lsX2NsaywKKwkmbXBsbF9jbGssCisJJm1wbGxfbWFpbl9jbGtbMF0sCisJJm1wbGxfbWFpbl9jbGtbMV0sCisJJnNwbGxfY2xrLAorCSZjcHVfY2xrLAorCSZhaGJfY2xrLAorCSZpcGdfY2xrLAorCSZwZXJfY2xrWzBdLAorCSZwZXJfY2xrWzFdLAorCSZwZXJfY2xrWzJdLAorCSZwZXJfY2xrWzNdLAorCSZjbGtvX2NsaywKKwkmdWFydDFfY2xrWzBdLAorCSZ1YXJ0MV9jbGtbMV0sCisJJnVhcnQyX2Nsa1swXSwKKwkmdWFydDJfY2xrWzFdLAorCSZ1YXJ0M19jbGtbMF0sCisJJnVhcnQzX2Nsa1sxXSwKKwkmdWFydDRfY2xrWzBdLAorCSZ1YXJ0NF9jbGtbMV0sCisJJnVhcnQ1X2Nsa1swXSwKKwkmdWFydDVfY2xrWzFdLAorCSZ1YXJ0Nl9jbGtbMF0sCisJJnVhcnQ2X2Nsa1sxXSwKKwkmZ3B0MV9jbGtbMF0sCisJJmdwdDFfY2xrWzFdLAorCSZncHQyX2Nsa1swXSwKKwkmZ3B0Ml9jbGtbMV0sCisJJmdwdDNfY2xrWzBdLAorCSZncHQzX2Nsa1sxXSwKKwkmZ3B0NF9jbGtbMF0sCisJJmdwdDRfY2xrWzFdLAorCSZncHQ1X2Nsa1swXSwKKwkmZ3B0NV9jbGtbMV0sCisJJmdwdDZfY2xrWzBdLAorCSZncHQ2X2Nsa1sxXSwKKwkmcHdtX2Nsa1swXSwKKwkmcHdtX2Nsa1sxXSwKKwkmc2RoYzFfY2xrWzBdLAorCSZzZGhjMV9jbGtbMV0sCisJJnNkaGMyX2Nsa1swXSwKKwkmc2RoYzJfY2xrWzFdLAorCSZzZGhjM19jbGtbMF0sCisJJnNkaGMzX2Nsa1sxXSwKKwkmY3NwaTFfY2xrWzBdLAorCSZjc3BpMV9jbGtbMV0sCisJJmNzcGkyX2Nsa1swXSwKKwkmY3NwaTJfY2xrWzFdLAorCSZjc3BpM19jbGtbMF0sCisJJmNzcGkzX2Nsa1sxXSwKKwkmbGNkY19jbGtbMF0sCisJJmxjZGNfY2xrWzFdLAorCSZsY2RjX2Nsa1syXSwKKwkmY3NpX2Nsa1swXSwKKwkmY3NpX2Nsa1sxXSwKKwkmdXNiX2Nsa1swXSwKKwkmdXNiX2Nsa1sxXSwKKwkmc3NpMV9jbGtbMF0sCisJJnNzaTFfY2xrWzFdLAorCSZzc2kyX2Nsa1swXSwKKwkmc3NpMl9jbGtbMV0sCisJJm5mY19jbGssCisJJnZwdV9jbGssCisJJmRtYV9jbGssCisJJnJ0aWNfY2xrLAorCSZicm9tX2NsaywKKwkmZW1tYV9jbGssCisJJnNsY2RjX2NsaywKKwkmZmVjX2NsaywKKwkmZW1pX2NsaywKKwkmc2FoYXJhMl9jbGssCisJJmF0YV9jbGssCisJJm1zdGljazFfY2xrLAorCSZ3ZG9nX2NsaywKKwkmZ3Bpb19jbGssCisJJmkyY19jbGtbMF0sCisJJmkyY19jbGtbMV0sCisJJmlpbV9jbGssCisJJmtwcF9jbGssCisJJm93aXJlX2NsaywKKwkmcnRjX2NsaywKKwkmc2NjX2NsaywKK307CisKK3ZvaWQgX19pbml0IGNoYW5nZV9leHRlcm5hbF9sb3dfcmVmZXJlbmNlKHVuc2lnbmVkIGxvbmcgbmV3X3JlZikKK3sKKwlleHRlcm5hbF9sb3dfcmVmZXJlbmNlID0gbmV3X3JlZjsKK30KKwordW5zaWduZWQgbG9uZyBfX2luaXQgY2xrX2Vhcmx5X2dldF90aW1lcl9yYXRlKHZvaWQpCit7CisJcmV0dXJuIGNsa19nZXRfcmF0ZSgmcGVyX2Nsa1swXSk7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBwcm9iZV9teGNfY2xvY2tzKHZvaWQpCit7CisJaW50IGk7CisKKwlpZiAobXgyN19yZXZpc2lvbigpID49IENISVBfUkVWXzJfMCkgeworCQlpZiAoQ1NDUigpICYgMHg4MDAwKQorCQkJY3B1X2Nsay5wYXJlbnQgPSAmbXBsbF9tYWluX2Nsa1swXTsKKworCQlpZiAoIShDU0NSKCkgJiAweDAwODAwMDAwKSkKKwkJCXNzaTJfY2xrWzBdLnBhcmVudCA9ICZzcGxsX2NsazsKKworCQlpZiAoIShDU0NSKCkgJiAweDAwNDAwMDAwKSkKKwkJCXNzaTFfY2xrWzBdLnBhcmVudCA9ICZzcGxsX2NsazsKKworCQlpZiAoIShDU0NSKCkgJiAweDAwMjAwMDAwKSkKKwkJCXZwdV9jbGsucGFyZW50ID0gJnNwbGxfY2xrOworCX0gZWxzZSB7CisJCWNwdV9jbGsucGFyZW50ID0gJm1wbGxfY2xrOworCQljcHVfY2xrLnNldF9wYXJlbnQgPSBOVUxMOworCQljcHVfY2xrLnJvdW5kX3JhdGUgPSBOVUxMOworCQljcHVfY2xrLnNldF9yYXRlID0gTlVMTDsKKwkJYWhiX2Nsay5wYXJlbnQgPSAmbXBsbF9jbGs7CisKKwkJZm9yIChpID0gMDsgaSA8IHNpemVvZihwZXJfY2xrKSAvIHNpemVvZihwZXJfY2xrWzBdKTsgaSsrKQorCQkJcGVyX2Nsa1tpXS5wYXJlbnQgPSAmbXBsbF9jbGs7CisKKwkJc3NpMV9jbGtbMF0ucGFyZW50ID0gJm1wbGxfY2xrOworCQlzc2kyX2Nsa1swXS5wYXJlbnQgPSAmbXBsbF9jbGs7CisKKwkJdnB1X2Nsay5wYXJlbnQgPSAmbXBsbF9jbGs7CisJfQorfQorCisvKgorICogbXVzdCBiZSBjYWxsZWQgdmVyeSBlYXJseSB0byBnZXQgaW5mb3JtYXRpb24gYWJvdXQgdGhlCisgKiBhdmFpbGFibGUgY2xvY2sgcmF0ZSB3aGVuIHRoZSB0aW1lciBmcmFtZXdvcmsgc3RhcnRzCisgKi8KK2ludCBfX2luaXQgbXhjX2Nsb2Nrc19pbml0KHVuc2lnbmVkIGxvbmcgZnJlZikKK3sKKwl1MzIgY3NjcjsKKwlzdHJ1Y3QgY2xrICoqY2xrcDsKKworCWV4dGVybmFsX2hpZ2hfcmVmZXJlbmNlID0gZnJlZjsKKworCS8qIGRldGVjdCBjbG9jayByZWZlcmVuY2UgZm9yIGJvdGggc3lzdGVtIFBMTCAqLworCWNzY3IgPSBDU0NSKCk7CisJaWYgKGNzY3IgJiBDQ01fQ1NDUl9NQ1UpCisJCW1wbGxfY2xrLnBhcmVudCA9ICZja2loX2NsazsKKwllbHNlCisJCW1wbGxfY2xrLnBhcmVudCA9ICZja2lsX2NsazsKKworCWlmIChjc2NyICYgQ0NNX0NTQ1JfU1ApCisJCXNwbGxfY2xrLnBhcmVudCA9ICZja2loX2NsazsKKwllbHNlCisJCXNwbGxfY2xrLnBhcmVudCA9ICZja2lsX2NsazsKKworCXByb2JlX214Y19jbG9ja3MoKTsKKworCXBlcl9jbGtbMF0uZW5hYmxlKCZwZXJfY2xrWzBdKTsKKwlncHQxX2Nsa1sxXS5lbmFibGUoJmdwdDFfY2xrWzFdKTsKKworCWZvciAoY2xrcCA9IG14Y19jbGtzOyBjbGtwIDwgbXhjX2Nsa3MgKyBBUlJBWV9TSVpFKG14Y19jbGtzKTsgY2xrcCsrKQorCQljbGtfcmVnaXN0ZXIoKmNsa3ApOworCisJLyogVHVybiBvZmYgYWxsIHBvc3NpYmxlIGNsb2NrcyAqLworCV9fcmF3X3dyaXRlbChDQ01fUENDUjBfR1BUMV9NQVNLLCBDQ01fUENDUjApOworCV9fcmF3X3dyaXRlbChDQ01fUENDUjFfUEVSQ0xLMV9NQVNLIHwgQ0NNX1BDQ1IxX0hDTEtfRU1JX01BU0ssCisJCSAgICAgQ0NNX1BDQ1IxKTsKKwlzcGxsX2Nsay5kaXNhYmxlKCZzcGxsX2Nsayk7CisKKwkvKiBUaGlzIHdpbGwgcHJvcGFnYXRlIHRvIGFsbCBjaGlsZHJlbiBhbmQgaW5pdCBhbGwgdGhlIGNsb2NrIHJhdGVzICovCisKKwljbGtfZW5hYmxlKCZlbWlfY2xrKTsKKwljbGtfZW5hYmxlKCZncGlvX2Nsayk7CisJY2xrX2VuYWJsZSgmaWltX2Nsayk7CisJY2xrX2VuYWJsZSgmZ3B0MV9jbGtbMF0pOworI2lmZGVmIENPTkZJR19ERUJVR19MTF9DT05TT0xFCisJY2xrX2VuYWJsZSgmdWFydDFfY2xrWzBdKTsKKyNlbmRpZgorCXJldHVybiAwOworfQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1teDIvY3B1X2lteDI3LmMgYi9hcmNoL2FybS9tYWNoLW14Mi9jcHVfaW14MjcuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNmI1YzJlCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1teDIvY3B1X2lteDI3LmMKQEAgLTAsMCArMSw2MyBAQAorLyoKKyAqIENvcHlyaWdodCAyMDA3IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgMjAwOCBKdWVyZ2VuIEJlaXNlcnQsIGtlcm5lbEBwZW5ndXRyb25peC5kZQorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMgorICogb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLAorICogTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKy8qCisgKiBpLk1YMjcgc3BlY2lmaWMgQ1BVIGRldGVjdGlvbiBjb2RlCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2lvLmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisKKyNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KKworI2luY2x1ZGUgImNybV9yZWdzLmgiCisKK3N0YXRpYyBpbnQgY3B1X3NpbGljb25fcmV2ID0gLTE7CitzdGF0aWMgaW50IGNwdV9wYXJ0bnVtYmVyOworCitzdGF0aWMgdm9pZCBxdWVyeV9zaWxpY29uX3BhcmFtZXRlcih2b2lkKQoreworCXUzMiB2YWw7CisJLyoKKwkgKiBub3cgd2UgaGF2ZSBhY2Nlc3MgdG8gdGhlIElPIHJlZ2lzdGVycy4gQXMgd2UgbmVlZAorCSAqIHRoZSBzaWxpY29uIHJldmlzaW9uIHZlcnkgZWFybHkgd2UgcmVhZCBpdCBoZXJlIHRvCisJICogYXZvaWQgYW55IGZ1cnRoZXIgaG9va3MKKwkqLworCXZhbCA9IF9fcmF3X3JlYWRsKElPX0FERFJFU1MoU1lTQ1RSTF9CQVNFX0FERFIpICsgU1lTX0NISVBfSUQpOworCisJY3B1X3NpbGljb25fcmV2ID0gKGludCkodmFsID4+IDI4KTsKKwljcHVfcGFydG51bWJlciA9IChpbnQpKCh2YWwgPj4gMTIpICYgMHhGRkZGKTsKK30KKworLyoKKyAqIFJldHVybnM6CisgKgl0aGUgc2lsaWNvbiByZXZpc2lvbiBvZiB0aGUgY3B1CisgKgktRUlOVkFMIC0gbm90IGEgbXgyNworICovCitpbnQgbXgyN19yZXZpc2lvbih2b2lkKQoreworCWlmIChjcHVfc2lsaWNvbl9yZXYgPT0gLTEpCisJCXF1ZXJ5X3NpbGljb25fcGFyYW1ldGVyKCk7CisKKwlpZiAoY3B1X3BhcnRudW1iZXIgIT0gMHg4ODIxKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXJldHVybiBjcHVfc2lsaWNvbl9yZXY7Cit9CitFWFBPUlRfU1lNQk9MKG14MjdfcmV2aXNpb24pOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1teDIvY3JtX3JlZ3MuaCBiL2FyY2gvYXJtL21hY2gtbXgyL2NybV9yZWdzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTQwYTliOQotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtbXgyL2NybV9yZWdzLmgKQEAgLTAsMCArMSwyNzMgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAwNC0yMDA3IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgMjAwOCBKdWVyZ2VuIEJlaXNlcnQsIGtlcm5lbEBwZW5ndXRyb25peC5kZQorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMgorICogb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLAorICogTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpZm5kZWYgX19BUkNIX0FSTV9NQUNIX01YMl9DUk1fUkVHU19IX18KKyNkZWZpbmUgX19BUkNIX0FSTV9NQUNIX01YMl9DUk1fUkVHU19IX18KKworI2luY2x1ZGUgPGFzbS9hcmNoL2hhcmR3YXJlLmg+CisKKy8qIFJlZ2lzdGVyIG9mZnNldHMgKi8KKyNkZWZpbmUgQ0NNX0NTQ1IgICAgICAgICAgICAgICAgKElPX0FERFJFU1MoQ0NNX0JBU0VfQUREUikgKyAweDApCisjZGVmaW5lIENDTV9NUENUTDAgICAgICAgICAgICAgIChJT19BRERSRVNTKENDTV9CQVNFX0FERFIpICsgMHg0KQorI2RlZmluZSBDQ01fTVBDVEwxICAgICAgICAgICAgICAoSU9fQUREUkVTUyhDQ01fQkFTRV9BRERSKSArIDB4OCkKKyNkZWZpbmUgQ0NNX1NQQ1RMMCAgICAgICAgICAgICAgKElPX0FERFJFU1MoQ0NNX0JBU0VfQUREUikgKyAweEMpCisjZGVmaW5lIENDTV9TUENUTDEgICAgICAgICAgICAgIChJT19BRERSRVNTKENDTV9CQVNFX0FERFIpICsgMHgxMCkKKyNkZWZpbmUgQ0NNX09TQzI2TUNUTCAgICAgICAgICAgKElPX0FERFJFU1MoQ0NNX0JBU0VfQUREUikgKyAweDE0KQorI2RlZmluZSBDQ01fUENEUjAgICAgICAgICAgICAgICAoSU9fQUREUkVTUyhDQ01fQkFTRV9BRERSKSArIDB4MTgpCisjZGVmaW5lIENDTV9QQ0RSMSAgICAgICAgICAgICAgIChJT19BRERSRVNTKENDTV9CQVNFX0FERFIpICsgMHgxYykKKyNkZWZpbmUgQ0NNX1BDQ1IwICAgICAgICAgICAgICAgKElPX0FERFJFU1MoQ0NNX0JBU0VfQUREUikgKyAweDIwKQorI2RlZmluZSBDQ01fUENDUjEgICAgICAgICAgICAgICAoSU9fQUREUkVTUyhDQ01fQkFTRV9BRERSKSArIDB4MjQpCisjZGVmaW5lIENDTV9DQ1NSICAgICAgICAgICAgICAgIChJT19BRERSRVNTKENDTV9CQVNFX0FERFIpICsgMHgyOCkKKyNkZWZpbmUgQ0NNX1BNQ1RMICAgICAgICAgICAgICAgKElPX0FERFJFU1MoQ0NNX0JBU0VfQUREUikgKyAweDJjKQorI2RlZmluZSBDQ01fUE1DT1VOVCAgICAgICAgICAgICAoSU9fQUREUkVTUyhDQ01fQkFTRV9BRERSKSArIDB4MzApCisjZGVmaW5lIENDTV9XS0dEQ1RMICAgICAgICAgICAgIChJT19BRERSRVNTKENDTV9CQVNFX0FERFIpICsgMHgzNCkKKworI2RlZmluZSBDQ01fQ1NDUl9VU0JfT0ZGU0VUICAgICAyOAorI2RlZmluZSBDQ01fQ1NDUl9VU0JfTUFTSyAgICAgICAoMHg3IDw8IDI4KQorI2RlZmluZSBDQ01fQ1NDUl9TRF9PRkZTRVQgICAgICAyNAorI2RlZmluZSBDQ01fQ1NDUl9TRF9NQVNLICAgICAgICAoMHgzIDw8IDI0KQorI2RlZmluZSBDQ01fQ1NDUl9TU0kyICAgICAgICAgICAoMSA8PCAyMykKKyNkZWZpbmUgQ0NNX0NTQ1JfU1NJMl9PRkZTRVQgICAgMjMKKyNkZWZpbmUgQ0NNX0NTQ1JfU1NJMSAgICAgICAgICAgKDEgPDwgMjIpCisjZGVmaW5lIENDTV9DU0NSX1NTSTFfT0ZGU0VUICAgIDIyCisjZGVmaW5lIENDTV9DU0NSX1ZQVSAgICAgICAgICAgKDEgPDwgMjEpCisjZGVmaW5lIENDTV9DU0NSX1ZQVV9PRkZTRVQgICAgMjEKKyNkZWZpbmUgQ0NNX0NTQ1JfTVNIQyAgICAgICAgICAgKDEgPDwgMjApCisjZGVmaW5lIENDTV9DU0NSX1NQTExSRVMgICAgICAgICgxIDw8IDE5KQorI2RlZmluZSBDQ01fQ1NDUl9NUExMUkVTICAgICAgICAoMSA8PCAxOCkKKyNkZWZpbmUgQ0NNX0NTQ1JfU1AgICAgICAgICAgICAgKDEgPDwgMTcpCisjZGVmaW5lIENDTV9DU0NSX01DVSAgICAgICAgICAgICgxIDw8IDE2KQorLyogQ0NNX0NTQ1JfQVJNX3h4eCBqdXN0IGJlIGF2YWxpYWJsZSBvbiBpLk1YMjcgVE8yKi8KKyNkZWZpbmUgQ0NNX0NTQ1JfQVJNX1NSQyAgICAgICAgKDEgPDwgMTUpCisjZGVmaW5lIENDTV9DU0NSX0FSTV9PRkZTRVQgICAgIDEyCisjZGVmaW5lIENDTV9DU0NSX0FSTV9NQVNLICAgICAgICgweDMgPDwgMTIpCisvKiBDQ01fQ1NDUl9BUk1feHh4IGp1c3QgYmUgYXZhbGlhYmxlIG9uIGkuTVgyNyBUTzIqLworI2RlZmluZSBDQ01fQ1NDUl9QUkVTQ19PRkZTRVQgICAxMworI2RlZmluZSBDQ01fQ1NDUl9QUkVTQ19NQVNLICAgICAoMHg3IDw8IDEzKQorI2RlZmluZSBDQ01fQ1NDUl9CQ0xLX09GRlNFVCAgICA5CisjZGVmaW5lIENDTV9DU0NSX0JDTEtfTUFTSyAgICAgICgweGYgPDwgOSkKKyNkZWZpbmUgQ0NNX0NTQ1JfSVBESVZfT0ZGU0VUICAgOAorI2RlZmluZSBDQ01fQ1NDUl9JUERJViAgICAgICAgICAoMSA8PCA4KQorLyogQ0NNX0NTQ1JfQUhCX3h4eCBqdXN0IGJlIGF2YWxpYWJsZSBvbiBpLk1YMjcgVE8yKi8KKyNkZWZpbmUgQ0NNX0NTQ1JfQUhCX09GRlNFVCAgICAgOAorI2RlZmluZSBDQ01fQ1NDUl9BSEJfTUFTSyAgICAgICAoMHgzIDw8IDgpCisvKiBDQ01fQ1NDUl9BSEJfeHh4IGp1c3QgYmUgYXZhbGlhYmxlIG9uIGkuTVgyNyBUTzIqLworI2RlZmluZSBDQ01fQ1NDUl9PU0MyNk1ESVYgICAgICAoMSA8PCA0KQorI2RlZmluZSBDQ01fQ1NDUl9PU0MyNk0gICAgICAgICAoMSA8PCAzKQorI2RlZmluZSBDQ01fQ1NDUl9GUE0gICAgICAgICAgICAoMSA8PCAyKQorI2RlZmluZSBDQ01fQ1NDUl9TUEVOICAgICAgICAgICAoMSA8PCAxKQorI2RlZmluZSBDQ01fQ1NDUl9NUEVOICAgICAgICAgICAxCisKKyNkZWZpbmUgQ0NNX01QQ1RMMF9DUExNICAgICAgICAgKDEgPDwgMzEpCisjZGVmaW5lIENDTV9NUENUTDBfUERfT0ZGU0VUICAgIDI2CisjZGVmaW5lIENDTV9NUENUTDBfUERfTUFTSyAgICAgICgweGYgPDwgMjYpCisjZGVmaW5lIENDTV9NUENUTDBfTUZEX09GRlNFVCAgIDE2CisjZGVmaW5lIENDTV9NUENUTDBfTUZEX01BU0sgICAgICgweDNmZiA8PCAxNikKKyNkZWZpbmUgQ0NNX01QQ1RMMF9NRklfT0ZGU0VUICAgMTAKKyNkZWZpbmUgQ0NNX01QQ1RMMF9NRklfTUFTSyAgICAgKDB4ZiA8PCAxMCkKKyNkZWZpbmUgQ0NNX01QQ1RMMF9NRk5fT0ZGU0VUICAgMAorI2RlZmluZSBDQ01fTVBDVEwwX01GTl9NQVNLICAgICAweDNmZgorCisjZGVmaW5lIENDTV9NUENUTDFfTEYgICAgICAgICAgICgxIDw8IDE1KQorI2RlZmluZSBDQ01fTVBDVEwxX0JSTU8gICAgICAgICAoMSA8PCA2KQorCisjZGVmaW5lIENDTV9TUENUTDBfQ1BMTSAgICAgICAgICgxIDw8IDMxKQorI2RlZmluZSBDQ01fU1BDVEwwX1BEX09GRlNFVCAgICAyNgorI2RlZmluZSBDQ01fU1BDVEwwX1BEX01BU0sgICAgICAoMHhmIDw8IDI2KQorI2RlZmluZSBDQ01fU1BDVEwwX01GRF9PRkZTRVQgICAxNgorI2RlZmluZSBDQ01fU1BDVEwwX01GRF9NQVNLICAgICAoMHgzZmYgPDwgMTYpCisjZGVmaW5lIENDTV9TUENUTDBfTUZJX09GRlNFVCAgIDEwCisjZGVmaW5lIENDTV9TUENUTDBfTUZJX01BU0sgICAgICgweGYgPDwgMTApCisjZGVmaW5lIENDTV9TUENUTDBfTUZOX09GRlNFVCAgIDAKKyNkZWZpbmUgQ0NNX1NQQ1RMMF9NRk5fTUFTSyAgICAgMHgzZmYKKworI2RlZmluZSBDQ01fU1BDVEwxX0xGICAgICAgICAgICAoMSA8PCAxNSkKKyNkZWZpbmUgQ0NNX1NQQ1RMMV9CUk1PICAgICAgICAgKDEgPDwgNikKKworI2RlZmluZSBDQ01fT1NDMjZNQ1RMX1BFQUtfT0ZGU0VUICAgICAgIDE2CisjZGVmaW5lIENDTV9PU0MyNk1DVExfUEVBS19NQVNLICAgICAgICAgKDB4MyA8PCAxNikKKyNkZWZpbmUgQ0NNX09TQzI2TUNUTF9BR0NfT0ZGU0VUICAgICAgICA4CisjZGVmaW5lIENDTV9PU0MyNk1DVExfQUdDX01BU0sgICAgICAgICAgKDB4M2YgPDwgOCkKKyNkZWZpbmUgQ0NNX09TQzI2TUNUTF9BTkFURVNUX09GRlNFVCAgICAwCisjZGVmaW5lIENDTV9PU0MyNk1DVExfQU5BVEVTVF9NQVNLICAgICAgMHgzZgorCisjZGVmaW5lIENDTV9QQ0RSMF9TU0kyQkFVRERJVl9PRkZTRVQgICAgMjYKKyNkZWZpbmUgQ0NNX1BDRFIwX1NTSTJCQVVERElWX01BU0sgICAgICAoMHgzZiA8PCAyNikKKyNkZWZpbmUgQ0NNX1BDRFIwX0NMS09fRU4gICAgICAgICAgICAgICAyNQorI2RlZmluZSBDQ01fUENEUjBfQ0xLT0RJVl9PRkZTRVQgICAgICAgIDIyCisjZGVmaW5lIENDTV9QQ0RSMF9DTEtPRElWX01BU0sgICAgICAgICAgKDB4NyA8PCAyMikKKyNkZWZpbmUgQ0NNX1BDRFIwX1NTSTFCQVVERElWX09GRlNFVCAgICAxNgorI2RlZmluZSBDQ01fUENEUjBfU1NJMUJBVURESVZfTUFTSyAgICAgICgweDNmIDw8IDE2KQorLypUaGUgZGlmaW5pdGlvbiBmb3IgaS5NWDI3IFRPMiovCisjZGVmaW5lIENDTV9QQ0RSMF9WUFVESVYyX09GRlNFVCAgICAgICAgMTAKKyNkZWZpbmUgQ0NNX1BDRFIwX1ZQVURJVjJfTUFTSyAgICAgICAgICAoMHgzZiA8PCAxMCkKKyNkZWZpbmUgQ0NNX1BDRFIwX05GQ0RJVjJfT0ZGU0VUICAgICAgICAgNgorI2RlZmluZSBDQ01fUENEUjBfTkZDRElWMl9NQVNLICAgICAgICAgICAoMHhmIDw8IDYpCisjZGVmaW5lIENDTV9QQ0RSMF9NU0hDRElWMl9NQVNLICAgICAgICAgIDB4M2YKKy8qVGhlIGRpZmluaXRpb24gZm9yIGkuTVgyNyBUTzIqLworI2RlZmluZSBDQ01fUENEUjBfTkZDRElWX09GRlNFVCAgICAgICAgIDEyCisjZGVmaW5lIENDTV9QQ0RSMF9ORkNESVZfTUFTSyAgICAgICAgICAgKDB4ZiA8PCAxMikKKyNkZWZpbmUgQ0NNX1BDRFIwX1ZQVURJVl9PRkZTRVQgICAgICAgIDgKKyNkZWZpbmUgQ0NNX1BDRFIwX1ZQVURJVl9NQVNLICAgICAgICAgICgweGYgPDwgOCkKKyNkZWZpbmUgQ0NNX1BDRFIwX01TSENESVZfT0ZGU0VUICAgICAgICAwCisjZGVmaW5lIENDTV9QQ0RSMF9NU0hDRElWX01BU0sgICAgICAgICAgMHgxZgorCisjZGVmaW5lIENDTV9QQ0RSMV9QRVJESVY0X09GRlNFVCAgICAgICAgMjQKKyNkZWZpbmUgQ0NNX1BDRFIxX1BFUkRJVjRfTUFTSyAgICAgICAgICAoMHgzZiA8PCAyNCkKKyNkZWZpbmUgQ0NNX1BDRFIxX1BFUkRJVjNfT0ZGU0VUICAgICAgICAxNgorI2RlZmluZSBDQ01fUENEUjFfUEVSRElWM19NQVNLICAgICAgICAgICgweDNmIDw8IDE2KQorI2RlZmluZSBDQ01fUENEUjFfUEVSRElWMl9PRkZTRVQgICAgICAgIDgKKyNkZWZpbmUgQ0NNX1BDRFIxX1BFUkRJVjJfTUFTSyAgICAgICAgICAoMHgzZiA8PCA4KQorI2RlZmluZSBDQ01fUENEUjFfUEVSRElWMV9PRkZTRVQgICAgICAgIDAKKyNkZWZpbmUgQ0NNX1BDRFIxX1BFUkRJVjFfTUFTSyAgICAgICAgICAweDNmCisKKyNkZWZpbmUgQ0NNX1BDQ1IwX0NTUEkxX09GRlNFVCAgICAgICAgICAzMQorI2RlZmluZSBDQ01fUENDUjBfQ1NQSTFfTUFTSyAgICAgICAgICAgICgxIDw8IDMxKQorI2RlZmluZSBDQ01fUENDUjBfQ1NQSTJfT0ZGU0VUICAgICAgICAgIDMwCisjZGVmaW5lIENDTV9QQ0NSMF9DU1BJMl9NQVNLICAgICAgICAgICAgKDEgPDwgMzApCisjZGVmaW5lIENDTV9QQ0NSMF9DU1BJM19PRkZTRVQgICAgICAgICAgMjkKKyNkZWZpbmUgQ0NNX1BDQ1IwX0NTUEkzX01BU0sgICAgICAgICAgICAoMSA8PCAyOSkKKyNkZWZpbmUgQ0NNX1BDQ1IwX0RNQV9PRkZTRVQgICAgICAgICAgICAyOAorI2RlZmluZSBDQ01fUENDUjBfRE1BX01BU0sgICAgICAgICAgICAgICgxIDw8IDI4KQorI2RlZmluZSBDQ01fUENDUjBfRU1NQV9PRkZTRVQgICAgICAgICAgIDI3CisjZGVmaW5lIENDTV9QQ0NSMF9FTU1BX01BU0sgICAgICAgICAgICAgKDEgPDwgMjcpCisjZGVmaW5lIENDTV9QQ0NSMF9GRUNfT0ZGU0VUICAgICAgICAgICAgMjYKKyNkZWZpbmUgQ0NNX1BDQ1IwX0ZFQ19NQVNLICAgICAgICAgICAgICAoMSA8PCAyNikKKyNkZWZpbmUgQ0NNX1BDQ1IwX0dQSU9fT0ZGU0VUICAgICAgICAgICAyNQorI2RlZmluZSBDQ01fUENDUjBfR1BJT19NQVNLICAgICAgICAgICAgICgxIDw8IDI1KQorI2RlZmluZSBDQ01fUENDUjBfR1BUMV9PRkZTRVQgICAgICAgICAgIDI0CisjZGVmaW5lIENDTV9QQ0NSMF9HUFQxX01BU0sgICAgICAgICAgICAgKDEgPDwgMjQpCisjZGVmaW5lIENDTV9QQ0NSMF9HUFQyX09GRlNFVCAgICAgICAgICAgMjMKKyNkZWZpbmUgQ0NNX1BDQ1IwX0dQVDJfTUFTSyAgICAgICAgICAgICAoMSA8PCAyMykKKyNkZWZpbmUgQ0NNX1BDQ1IwX0dQVDNfT0ZGU0VUICAgICAgICAgICAyMgorI2RlZmluZSBDQ01fUENDUjBfR1BUM19NQVNLICAgICAgICAgICAgICgxIDw8IDIyKQorI2RlZmluZSBDQ01fUENDUjBfR1BUNF9PRkZTRVQgICAgICAgICAgIDIxCisjZGVmaW5lIENDTV9QQ0NSMF9HUFQ0X01BU0sgICAgICAgICAgICAgKDEgPDwgMjEpCisjZGVmaW5lIENDTV9QQ0NSMF9HUFQ1X09GRlNFVCAgICAgICAgICAgMjAKKyNkZWZpbmUgQ0NNX1BDQ1IwX0dQVDVfTUFTSyAgICAgICAgICAgICAoMSA8PCAyMCkKKyNkZWZpbmUgQ0NNX1BDQ1IwX0dQVDZfT0ZGU0VUICAgICAgICAgICAxOQorI2RlZmluZSBDQ01fUENDUjBfR1BUNl9NQVNLICAgICAgICAgICAgICgxIDw8IDE5KQorI2RlZmluZSBDQ01fUENDUjBfSTJDMV9PRkZTRVQgICAgICAgICAgIDE4CisjZGVmaW5lIENDTV9QQ0NSMF9JMkMxX01BU0sgICAgICAgICAgICAgKDEgPDwgMTgpCisjZGVmaW5lIENDTV9QQ0NSMF9JMkMyX09GRlNFVCAgICAgICAgICAgMTcKKyNkZWZpbmUgQ0NNX1BDQ1IwX0kyQzJfTUFTSyAgICAgICAgICAgICAoMSA8PCAxNykKKyNkZWZpbmUgQ0NNX1BDQ1IwX0lJTV9PRkZTRVQgICAgICAgICAgICAxNgorI2RlZmluZSBDQ01fUENDUjBfSUlNX01BU0sgICAgICAgICAgICAgICgxIDw8IDE2KQorI2RlZmluZSBDQ01fUENDUjBfS1BQX09GRlNFVCAgICAgICAgICAgIDE1CisjZGVmaW5lIENDTV9QQ0NSMF9LUFBfTUFTSyAgICAgICAgICAgICAgKDEgPDwgMTUpCisjZGVmaW5lIENDTV9QQ0NSMF9MQ0RDX09GRlNFVCAgICAgICAgICAgMTQKKyNkZWZpbmUgQ0NNX1BDQ1IwX0xDRENfTUFTSyAgICAgICAgICAgICAoMSA8PCAxNCkKKyNkZWZpbmUgQ0NNX1BDQ1IwX01TSENfT0ZGU0VUICAgICAgICAgICAxMworI2RlZmluZSBDQ01fUENDUjBfTVNIQ19NQVNLICAgICAgICAgICAgICgxIDw8IDEzKQorI2RlZmluZSBDQ01fUENDUjBfT1dJUkVfT0ZGU0VUICAgICAgICAgIDEyCisjZGVmaW5lIENDTV9QQ0NSMF9PV0lSRV9NQVNLICAgICAgICAgICAgKDEgPDwgMTIpCisjZGVmaW5lIENDTV9QQ0NSMF9QV01fT0ZGU0VUICAgICAgICAgICAgMTEKKyNkZWZpbmUgQ0NNX1BDQ1IwX1BXTV9NQVNLICAgICAgICAgICAgICAoMSA8PCAxMSkKKyNkZWZpbmUgQ0NNX1BDQ1IwX1JUQ19PRkZTRVQgICAgICAgICAgICA5CisjZGVmaW5lIENDTV9QQ0NSMF9SVENfTUFTSyAgICAgICAgICAgICAgKDEgPDwgOSkKKyNkZWZpbmUgQ0NNX1BDQ1IwX1JUSUNfT0ZGU0VUICAgICAgICAgICA4CisjZGVmaW5lIENDTV9QQ0NSMF9SVElDX01BU0sgICAgICAgICAgICAgKDEgPDwgOCkKKyNkZWZpbmUgQ0NNX1BDQ1IwX1NBSEFSQV9PRkZTRVQgICAgICAgICA3CisjZGVmaW5lIENDTV9QQ0NSMF9TQUhBUkFfTUFTSyAgICAgICAgICAgKDEgPDwgNykKKyNkZWZpbmUgQ0NNX1BDQ1IwX1NDQ19PRkZTRVQgICAgICAgICAgICA2CisjZGVmaW5lIENDTV9QQ0NSMF9TQ0NfTUFTSyAgICAgICAgICAgICAgKDEgPDwgNikKKyNkZWZpbmUgQ0NNX1BDQ1IwX1NESEMxX09GRlNFVCAgICAgICAgICA1CisjZGVmaW5lIENDTV9QQ0NSMF9TREhDMV9NQVNLICAgICAgICAgICAgKDEgPDwgNSkKKyNkZWZpbmUgQ0NNX1BDQ1IwX1NESEMyX09GRlNFVCAgICAgICAgICA0CisjZGVmaW5lIENDTV9QQ0NSMF9TREhDMl9NQVNLICAgICAgICAgICAgKDEgPDwgNCkKKyNkZWZpbmUgQ0NNX1BDQ1IwX1NESEMzX09GRlNFVCAgICAgICAgICAzCisjZGVmaW5lIENDTV9QQ0NSMF9TREhDM19NQVNLICAgICAgICAgICAgKDEgPDwgMykKKyNkZWZpbmUgQ0NNX1BDQ1IwX1NMQ0RDX09GRlNFVCAgICAgICAgICAyCisjZGVmaW5lIENDTV9QQ0NSMF9TTENEQ19NQVNLICAgICAgICAgICAgKDEgPDwgMikKKyNkZWZpbmUgQ0NNX1BDQ1IwX1NTSTFfSVBHX09GRlNFVCAgICAgICAxCisjZGVmaW5lIENDTV9QQ0NSMF9TU0kxX0lQR19NQVNLICAgICAgICAgKDEgPDwgMSkKKyNkZWZpbmUgQ0NNX1BDQ1IwX1NTSTJfSVBHX09GRlNFVCAgICAgICAwCisjZGVmaW5lIENDTV9QQ0NSMF9TU0kyX0lQR19NQVNLICAgICAgICAgKDEgPDwgMCkKKworI2RlZmluZSBDQ01fUENDUjFfVUFSVDFfT0ZGU0VUICAgICAgICAgIDMxCisjZGVmaW5lIENDTV9QQ0NSMV9VQVJUMV9NQVNLICAgICAgICAgICAgKDEgPDwgMzEpCisjZGVmaW5lIENDTV9QQ0NSMV9VQVJUMl9PRkZTRVQgICAgICAgICAgMzAKKyNkZWZpbmUgQ0NNX1BDQ1IxX1VBUlQyX01BU0sgICAgICAgICAgICAoMSA8PCAzMCkKKyNkZWZpbmUgQ0NNX1BDQ1IxX1VBUlQzX09GRlNFVCAgICAgICAgICAyOQorI2RlZmluZSBDQ01fUENDUjFfVUFSVDNfTUFTSyAgICAgICAgICAgICgxIDw8IDI5KQorI2RlZmluZSBDQ01fUENDUjFfVUFSVDRfT0ZGU0VUICAgICAgICAgIDI4CisjZGVmaW5lIENDTV9QQ0NSMV9VQVJUNF9NQVNLICAgICAgICAgICAgKDEgPDwgMjgpCisjZGVmaW5lIENDTV9QQ0NSMV9VQVJUNV9PRkZTRVQgICAgICAgICAgMjcKKyNkZWZpbmUgQ0NNX1BDQ1IxX1VBUlQ1X01BU0sgICAgICAgICAgICAoMSA8PCAyNykKKyNkZWZpbmUgQ0NNX1BDQ1IxX1VBUlQ2X09GRlNFVCAgICAgICAgICAyNgorI2RlZmluZSBDQ01fUENDUjFfVUFSVDZfTUFTSyAgICAgICAgICAgICgxIDw8IDI2KQorI2RlZmluZSBDQ01fUENDUjFfVVNCT1RHX09GRlNFVCAgICAgICAgIDI1CisjZGVmaW5lIENDTV9QQ0NSMV9VU0JPVEdfTUFTSyAgICAgICAgICAgKDEgPDwgMjUpCisjZGVmaW5lIENDTV9QQ0NSMV9XRFRfT0ZGU0VUICAgICAgICAgICAgMjQKKyNkZWZpbmUgQ0NNX1BDQ1IxX1dEVF9NQVNLICAgICAgICAgICAgICAoMSA8PCAyNCkKKyNkZWZpbmUgQ0NNX1BDQ1IxX0hDTEtfQVRBX09GRlNFVCAgICAgICAyMworI2RlZmluZSBDQ01fUENDUjFfSENMS19BVEFfTUFTSyAgICAgICAgICgxIDw8IDIzKQorI2RlZmluZSBDQ01fUENDUjFfSENMS19CUk9NX09GRlNFVCAgICAgIDIyCisjZGVmaW5lIENDTV9QQ0NSMV9IQ0xLX0JST01fTUFTSyAgICAgICAgKDEgPDwgMjIpCisjZGVmaW5lIENDTV9QQ0NSMV9IQ0xLX0NTSV9PRkZTRVQgICAgICAgMjEKKyNkZWZpbmUgQ0NNX1BDQ1IxX0hDTEtfQ1NJX01BU0sgICAgICAgICAoMSA8PCAyMSkKKyNkZWZpbmUgQ0NNX1BDQ1IxX0hDTEtfRE1BX09GRlNFVCAgICAgICAyMAorI2RlZmluZSBDQ01fUENDUjFfSENMS19ETUFfTUFTSyAgICAgICAgICgxIDw8IDIwKQorI2RlZmluZSBDQ01fUENDUjFfSENMS19FTUlfT0ZGU0VUICAgICAgIDE5CisjZGVmaW5lIENDTV9QQ0NSMV9IQ0xLX0VNSV9NQVNLICAgICAgICAgKDEgPDwgMTkpCisjZGVmaW5lIENDTV9QQ0NSMV9IQ0xLX0VNTUFfT0ZGU0VUICAgICAgMTgKKyNkZWZpbmUgQ0NNX1BDQ1IxX0hDTEtfRU1NQV9NQVNLICAgICAgICAoMSA8PCAxOCkKKyNkZWZpbmUgQ0NNX1BDQ1IxX0hDTEtfRkVDX09GRlNFVCAgICAgICAxNworI2RlZmluZSBDQ01fUENDUjFfSENMS19GRUNfTUFTSyAgICAgICAgICgxIDw8IDE3KQorI2RlZmluZSBDQ01fUENDUjFfSENMS19WUFVfT0ZGU0VUICAgICAgIDE2CisjZGVmaW5lIENDTV9QQ0NSMV9IQ0xLX1ZQVV9NQVNLICAgICAgICAgKDEgPDwgMTYpCisjZGVmaW5lIENDTV9QQ0NSMV9IQ0xLX0xDRENfT0ZGU0VUICAgICAgMTUKKyNkZWZpbmUgQ0NNX1BDQ1IxX0hDTEtfTENEQ19NQVNLICAgICAgICAoMSA8PCAxNSkKKyNkZWZpbmUgQ0NNX1BDQ1IxX0hDTEtfUlRJQ19PRkZTRVQgICAgICAxNAorI2RlZmluZSBDQ01fUENDUjFfSENMS19SVElDX01BU0sgICAgICAgICgxIDw8IDE0KQorI2RlZmluZSBDQ01fUENDUjFfSENMS19TQUhBUkFfT0ZGU0VUICAgIDEzCisjZGVmaW5lIENDTV9QQ0NSMV9IQ0xLX1NBSEFSQV9NQVNLICAgICAgKDEgPDwgMTMpCisjZGVmaW5lIENDTV9QQ0NSMV9IQ0xLX1NMQ0RDX09GRlNFVCAgICAgMTIKKyNkZWZpbmUgQ0NNX1BDQ1IxX0hDTEtfU0xDRENfTUFTSyAgICAgICAoMSA8PCAxMikKKyNkZWZpbmUgQ0NNX1BDQ1IxX0hDTEtfVVNCT1RHX09GRlNFVCAgICAxMQorI2RlZmluZSBDQ01fUENDUjFfSENMS19VU0JPVEdfTUFTSyAgICAgICgxIDw8IDExKQorI2RlZmluZSBDQ01fUENDUjFfUEVSQ0xLMV9PRkZTRVQgICAgICAgIDEwCisjZGVmaW5lIENDTV9QQ0NSMV9QRVJDTEsxX01BU0sgICAgICAgICAgKDEgPDwgMTApCisjZGVmaW5lIENDTV9QQ0NSMV9QRVJDTEsyX09GRlNFVCAgICAgICAgOQorI2RlZmluZSBDQ01fUENDUjFfUEVSQ0xLMl9NQVNLICAgICAgICAgICgxIDw8IDkpCisjZGVmaW5lIENDTV9QQ0NSMV9QRVJDTEszX09GRlNFVCAgICAgICAgOAorI2RlZmluZSBDQ01fUENDUjFfUEVSQ0xLM19NQVNLICAgICAgICAgICgxIDw8IDgpCisjZGVmaW5lIENDTV9QQ0NSMV9QRVJDTEs0X09GRlNFVCAgICAgICAgNworI2RlZmluZSBDQ01fUENDUjFfUEVSQ0xLNF9NQVNLICAgICAgICAgICgxIDw8IDcpCisjZGVmaW5lIENDTV9QQ0NSMV9WUFVfQkFVRF9PRkZTRVQgICAgICAgNgorI2RlZmluZSBDQ01fUENDUjFfVlBVX0JBVURfTUFTSyAgICAgICAgICgxIDw8IDYpCisjZGVmaW5lIENDTV9QQ0NSMV9TU0kxX0JBVURfT0ZGU0VUICAgICAgNQorI2RlZmluZSBDQ01fUENDUjFfU1NJMV9CQVVEX01BU0sgICAgICAgICgxIDw8IDUpCisjZGVmaW5lIENDTV9QQ0NSMV9TU0kyX0JBVURfT0ZGU0VUICAgICAgNAorI2RlZmluZSBDQ01fUENDUjFfU1NJMl9CQVVEX01BU0sgICAgICAgICgxIDw8IDQpCisjZGVmaW5lIENDTV9QQ0NSMV9ORkNfQkFVRF9PRkZTRVQgICAgICAgMworI2RlZmluZSBDQ01fUENDUjFfTkZDX0JBVURfTUFTSyAgICAgICAgICgxIDw8IDMpCisjZGVmaW5lIENDTV9QQ0NSMV9NU0hDX0JBVURfT0ZGU0VUICAgICAgMgorI2RlZmluZSBDQ01fUENDUjFfTVNIQ19CQVVEX01BU0sgICAgICAgICgxIDw8IDIpCisKKyNkZWZpbmUgQ0NNX0NDU1JfMzJLU1IgICAgICAgICAgKDEgPDwgMTUpCisjZGVmaW5lIENDTV9DQ1NSX0NMS01PREUxICAgICAgICgxIDw8IDkpCisjZGVmaW5lIENDTV9DQ1NSX0NMS01PREUwICAgICAgICgxIDw8IDgpCisjZGVmaW5lIENDTV9DQ1NSX0NMS09TRUxfT0ZGU0VUIDAKKyNkZWZpbmUgQ0NNX0NDU1JfQ0xLT1NFTF9NQVNLICAgMHgxZgorCisjZGVmaW5lIFNZU19GTUNSICAgICAgICAgICAgICAgIDB4MTQJLyogIEZ1bmN0aW9uYWwgTXV4aW5nIENvbnRyb2wgUmVnICovCisjZGVmaW5lIFNZU19DSElQX0lEICAgICAgICAgICAgIDB4MDAJLyogVGhlIG9mZnNldCBvZiBDSElQIElEIHJlZ2lzdGVyICovCisKKyNlbmRpZiAvKiBfX0FSQ0hfQVJNX01BQ0hfTVgyX0NSTV9SRUdTX0hfXyAqLwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1teDIvZGV2aWNlcy5jIGIvYXJjaC9hcm0vbWFjaC1teDIvZGV2aWNlcy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmExZjQ0YzMKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW14Mi9kZXZpY2VzLmMKQEAgLTAsMCArMSwyMzEgQEAKKy8qCisgKiBBdXRob3I6IE1vbnRhVmlzdGEgU29mdHdhcmUsIEluYy4KKyAqICAgICAgIDxzb3VyY2VAbXZpc3RhLmNvbT4KKyAqCisgKiBCYXNlZCBvbiB0aGUgT01BUCBkZXZpY2VzLmMKKyAqCisgKiAyMDA1IChjKSBNb250YVZpc3RhIFNvZnR3YXJlLCBJbmMuIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIuIFRoaXMgcHJvZ3JhbSBpcworICogbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueSB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzCisgKiBvciBpbXBsaWVkLgorICoKKyAqIENvcHlyaWdodCAyMDA2LTIwMDcgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqIENvcHlyaWdodCAyMDA4IEp1ZXJnZW4gQmVpc2VydCwga2VybmVsQHBlbmd1dHJvbml4LmRlCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyCisgKiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sCisgKiBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvZ3Bpby5oPgorCisjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CisKKy8qCisgKiBSZXNvdXJjZSBkZWZpbml0aW9uIGZvciB0aGUgTVhDIElyREEKKyAqLworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBteGNfaXJkYV9yZXNvdXJjZXNbXSA9IHsKKwlbMF0gPSB7CisJCS5zdGFydCAgID0gVUFSVDNfQkFTRV9BRERSLAorCQkuZW5kICAgICA9IFVBUlQzX0JBU0VfQUREUiArIFNaXzRLIC0gMSwKKwkJLmZsYWdzICAgPSBJT1JFU09VUkNFX01FTSwKKwl9LAorCVsxXSA9IHsKKwkJLnN0YXJ0ICAgPSBNWENfSU5UX1VBUlQzLAorCQkuZW5kICAgICA9IE1YQ19JTlRfVUFSVDMsCisJCS5mbGFncyAgID0gSU9SRVNPVVJDRV9JUlEsCisJfSwKK307CisKKy8qIFBsYXRmb3JtIERhdGEgZm9yIE1YQyBJckRBICovCitzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG14Y19pcmRhX2RldmljZSA9IHsKKwkubmFtZSA9ICJteGNfaXJkYSIsCisJLmlkID0gMCwKKwkubnVtX3Jlc291cmNlcyA9IEFSUkFZX1NJWkUobXhjX2lyZGFfcmVzb3VyY2VzKSwKKwkucmVzb3VyY2UgPSBteGNfaXJkYV9yZXNvdXJjZXMsCit9OworCisvKgorICogR2VuZXJhbCBQdXJwb3NlIFRpbWVyCisgKiAtIGkuTVgxOiAyIHRpbWVyIChzbGlnaGx5IGRpZmZlcmVudCByZWdpc3RlciBoYW5kbGluZykKKyAqIC0gaS5NWDIxOiAzIHRpbWVyCisgKiAtIGkuTVgyNzogNiB0aW1lcgorICovCisKKy8qIFdlIHVzZSBncHQwIGFzIHN5c3RlbSB0aW1lciwgc28gZG8gbm90IGFkZCBhIGRldmljZSBmb3IgdGhpcyBvbmUgKi8KKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSB0aW1lcjFfcmVzb3VyY2VzW10gPSB7CisJWzBdID0geworCQkuc3RhcnQJPSBHUFQyX0JBU0VfQUREUiwKKwkJLmVuZAk9IEdQVDJfQkFTRV9BRERSICsgMHgxNywKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0KKwl9LAorCVsxXSA9IHsKKwkJLnN0YXJ0ICAgPSBNWENfSU5UX0dQVDIsCisJCS5lbmQgICAgID0gTVhDX0lOVF9HUFQyLAorCQkuZmxhZ3MgICA9IElPUkVTT1VSQ0VfSVJRLAorCX0KK307CisKK3N0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXhjX2dwdDEgPSB7CisJLm5hbWUgPSAiaW14X2dwdCIsCisJLmlkID0gMSwKKwkubnVtX3Jlc291cmNlcyA9IEFSUkFZX1NJWkUodGltZXIxX3Jlc291cmNlcyksCisJLnJlc291cmNlID0gdGltZXIxX3Jlc291cmNlcworfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSB0aW1lcjJfcmVzb3VyY2VzW10gPSB7CisJWzBdID0geworCQkuc3RhcnQJPSBHUFQzX0JBU0VfQUREUiwKKwkJLmVuZAk9IEdQVDNfQkFTRV9BRERSICsgMHgxNywKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0KKwl9LAorCVsxXSA9IHsKKwkJLnN0YXJ0ICAgPSBNWENfSU5UX0dQVDMsCisJCS5lbmQgICAgID0gTVhDX0lOVF9HUFQzLAorCQkuZmxhZ3MgICA9IElPUkVTT1VSQ0VfSVJRLAorCX0KK307CisKK3N0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXhjX2dwdDIgPSB7CisJLm5hbWUgPSAiaW14X2dwdCIsCisJLmlkID0gMiwKKwkubnVtX3Jlc291cmNlcyA9IEFSUkFZX1NJWkUodGltZXIyX3Jlc291cmNlcyksCisJLnJlc291cmNlID0gdGltZXIyX3Jlc291cmNlcworfTsKKworI2lmZGVmIENPTkZJR19NQUNIX01YMjcKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgdGltZXIzX3Jlc291cmNlc1tdID0geworCVswXSA9IHsKKwkJLnN0YXJ0CT0gR1BUNF9CQVNFX0FERFIsCisJCS5lbmQJPSBHUFQ0X0JBU0VfQUREUiArIDB4MTcsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNCisJfSwKKwlbMV0gPSB7CisJCS5zdGFydCAgID0gTVhDX0lOVF9HUFQ0LAorCQkuZW5kICAgICA9IE1YQ19JTlRfR1BUNCwKKwkJLmZsYWdzICAgPSBJT1JFU09VUkNFX0lSUSwKKwl9Cit9OworCitzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG14Y19ncHQzID0geworCS5uYW1lID0gImlteF9ncHQiLAorCS5pZCA9IDMsCisJLm51bV9yZXNvdXJjZXMgPSBBUlJBWV9TSVpFKHRpbWVyM19yZXNvdXJjZXMpLAorCS5yZXNvdXJjZSA9IHRpbWVyM19yZXNvdXJjZXMKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgdGltZXI0X3Jlc291cmNlc1tdID0geworCVswXSA9IHsKKwkJLnN0YXJ0CT0gR1BUNV9CQVNFX0FERFIsCisJCS5lbmQJPSBHUFQ1X0JBU0VfQUREUiArIDB4MTcsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNCisJfSwKKwlbMV0gPSB7CisJCS5zdGFydCAgID0gTVhDX0lOVF9HUFQ1LAorCQkuZW5kICAgICA9IE1YQ19JTlRfR1BUNSwKKwkJLmZsYWdzICAgPSBJT1JFU09VUkNFX0lSUSwKKwl9Cit9OworCitzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG14Y19ncHQ0ID0geworCS5uYW1lID0gImlteF9ncHQiLAorCS5pZCA9IDQsCisJLm51bV9yZXNvdXJjZXMgPSBBUlJBWV9TSVpFKHRpbWVyNF9yZXNvdXJjZXMpLAorCS5yZXNvdXJjZSA9IHRpbWVyNF9yZXNvdXJjZXMKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgdGltZXI1X3Jlc291cmNlc1tdID0geworCVswXSA9IHsKKwkJLnN0YXJ0CT0gR1BUNl9CQVNFX0FERFIsCisJCS5lbmQJPSBHUFQ2X0JBU0VfQUREUiArIDB4MTcsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNCisJfSwKKwlbMV0gPSB7CisJCS5zdGFydCAgID0gTVhDX0lOVF9HUFQ2LAorCQkuZW5kICAgICA9IE1YQ19JTlRfR1BUNiwKKwkJLmZsYWdzICAgPSBJT1JFU09VUkNFX0lSUSwKKwl9Cit9OworCitzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG14Y19ncHQ1ID0geworCS5uYW1lID0gImlteF9ncHQiLAorCS5pZCA9IDUsCisJLm51bV9yZXNvdXJjZXMgPSBBUlJBWV9TSVpFKHRpbWVyNV9yZXNvdXJjZXMpLAorCS5yZXNvdXJjZSA9IHRpbWVyNV9yZXNvdXJjZXMKK307CisjZW5kaWYKKworLyoKKyAqIFdhdGNoZG9nOgorICogLSBpLk1YMQorICogLSBpLk1YMjEKKyAqIC0gaS5NWDI3CisgKi8KK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgbXhjX3dkdF9yZXNvdXJjZXNbXSA9IHsKKwl7CisJCS5zdGFydAk9IFdET0dfQkFTRV9BRERSLAorCQkuZW5kCT0gV0RPR19CQVNFX0FERFIgKyAweDMwLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKKwl9LAorfTsKKworc3RydWN0IHBsYXRmb3JtX2RldmljZSBteGNfd2R0ID0geworCS5uYW1lID0gIm14Y193ZHQiLAorCS5pZCA9IDAsCisJLm51bV9yZXNvdXJjZXMgPSBBUlJBWV9TSVpFKG14Y193ZHRfcmVzb3VyY2VzKSwKKwkucmVzb3VyY2UgPSBteGNfd2R0X3Jlc291cmNlcywKK307CisKKy8qIEdQSU8gcG9ydCBkZXNjcmlwdGlvbiAqLworc3RhdGljIHN0cnVjdCBteGNfZ3Bpb19wb3J0IGlteF9ncGlvX3BvcnRzW10gPSB7CisJWzBdID0geworCQkuY2hpcC5sYWJlbCA9ICJncGlvLTAiLAorCQkuaXJxID0gTVhDX0lOVF9HUElPLAorCQkuYmFzZSA9ICh2b2lkKikoQUlQSV9CQVNFX0FERFJfVklSVCArIDB4MTUwMDAgKyAweDEwMCAqIDApLAorCQkudmlydHVhbF9pcnFfc3RhcnQgPSBNWENfTUFYX0lOVF9MSU5FUywKKwl9LAorCVsxXSA9IHsKKwkJLmNoaXAubGFiZWwgPSAiZ3Bpby0xIiwKKwkJLmJhc2UgPSAodm9pZCopKEFJUElfQkFTRV9BRERSX1ZJUlQgKyAweDE1MDAwICsgMHgxMDAgKiAxKSwKKwkJLnZpcnR1YWxfaXJxX3N0YXJ0ID0gTVhDX01BWF9JTlRfTElORVMgKyAzMiwKKwl9LAorCVsyXSA9IHsKKwkJLmNoaXAubGFiZWwgPSAiZ3Bpby0yIiwKKwkJLmJhc2UgPSAodm9pZCopKEFJUElfQkFTRV9BRERSX1ZJUlQgKyAweDE1MDAwICsgMHgxMDAgKiAyKSwKKwkJLnZpcnR1YWxfaXJxX3N0YXJ0ID0gTVhDX01BWF9JTlRfTElORVMgKyA2NCwKKwl9LAorCVszXSA9IHsKKwkJLmNoaXAubGFiZWwgPSAiZ3Bpby0zIiwKKwkJLmJhc2UgPSAodm9pZCopKEFJUElfQkFTRV9BRERSX1ZJUlQgKyAweDE1MDAwICsgMHgxMDAgKiAzKSwKKwkJLnZpcnR1YWxfaXJxX3N0YXJ0ID0gTVhDX01BWF9JTlRfTElORVMgKyA5NiwKKwl9LAorCVs0XSA9IHsKKwkJLmNoaXAubGFiZWwgPSAiZ3Bpby00IiwKKwkJLmJhc2UgPSAodm9pZCopKEFJUElfQkFTRV9BRERSX1ZJUlQgKyAweDE1MDAwICsgMHgxMDAgKiA0KSwKKwkJLnZpcnR1YWxfaXJxX3N0YXJ0ID0gTVhDX01BWF9JTlRfTElORVMgKyAxMjgsCisJfSwKKwlbNV0gPSB7CisJCS5jaGlwLmxhYmVsID0gImdwaW8tNSIsCisJCS5iYXNlID0gKHZvaWQqKShBSVBJX0JBU0VfQUREUl9WSVJUICsgMHgxNTAwMCArIDB4MTAwICogNSksCisJCS52aXJ0dWFsX2lycV9zdGFydCA9IE1YQ19NQVhfSU5UX0xJTkVTICsgMTYwLAorCX0KK307CisKK2ludCBfX2luaXQgbXhjX3JlZ2lzdGVyX2dwaW9zKHZvaWQpCit7CisJcmV0dXJuIG14Y19ncGlvX2luaXQoaW14X2dwaW9fcG9ydHMsIEFSUkFZX1NJWkUoaW14X2dwaW9fcG9ydHMpKTsKK30KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtbXgyL2dlbmVyaWMuYyBiL2FyY2gvYXJtL21hY2gtbXgyL2dlbmVyaWMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNzg3NWNmCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1teDIvZ2VuZXJpYy5jCkBAIC0wLDAgKzEsNzQgQEAKKy8qCisgKiBnZW5lcmljLmMKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggSnVlcmdlbiBCZWlzZXJ0IChrZXJuZWxAcGVuZ3V0cm9uaXguZGUpCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyCisgKiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sCisgKiBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L21tLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgorI2luY2x1ZGUgPGFzbS9wZ3RhYmxlLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvbWFwLmg+CisKKy8qIE1YMjcgbWVtb3J5IG1hcCBkZWZpbml0aW9uICovCitzdGF0aWMgc3RydWN0IG1hcF9kZXNjIG14Y19pb19kZXNjW10gX19pbml0ZGF0YSA9IHsKKwkvKgorCSAqIHRoaXMgZml4ZWQgbWFwcGluZyBjb3ZlcnM6CisJICogLSBBSVBJMQorCSAqIC0gQUlQSTIKKwkgKiAtIEFJVEMKKwkgKiAtIFJPTSBQYXRjaAorCSAqIC0gYW5kIHNvbWUgcmVzZXJ2ZWQgc3BhY2UKKwkgKi8KKwl7CisJCS52aXJ0dWFsID0gQUlQSV9CQVNFX0FERFJfVklSVCwKKwkJLnBmbiA9IF9fcGh5c190b19wZm4oQUlQSV9CQVNFX0FERFIpLAorCQkubGVuZ3RoID0gQUlQSV9TSVpFLAorCQkudHlwZSA9IE1UX0RFVklDRQorCX0sCisJLyoKKwkgKiB0aGlzIGZpeGVkIG1hcHBpbmcgY292ZXJzOgorCSAqIC0gQ1NJCisJICogLSBBVEEKKwkgKi8KKwl7CisJCS52aXJ0dWFsID0gU0FIQjFfQkFTRV9BRERSX1ZJUlQsCisJCS5wZm4gPSBfX3BoeXNfdG9fcGZuKFNBSEIxX0JBU0VfQUREUiksCisJCS5sZW5ndGggPSBTQUhCMV9TSVpFLAorCQkudHlwZSA9IE1UX0RFVklDRQorCX0sCisJLyoKKwkgKiB0aGlzIGZpeGVkIG1hcHBpbmcgY292ZXJzOgorCSAqIC0gRU1JCisJICovCisJeworCQkudmlydHVhbCA9IFhfTUVNQ19CQVNFX0FERFJfVklSVCwKKwkJLnBmbiA9IF9fcGh5c190b19wZm4oWF9NRU1DX0JBU0VfQUREUiksCisJCS5sZW5ndGggPSBYX01FTUNfU0laRSwKKwkJLnR5cGUgPSBNVF9ERVZJQ0UKKwl9Cit9OworCisvKgorICogSW5pdGlhbGl6ZSB0aGUgbWVtb3J5IG1hcC4gSXQgaXMgY2FsbGVkIGR1cmluZyB0aGUKKyAqIHN5c3RlbSBzdGFydHVwIHRvIGNyZWF0ZSBzdGF0aWMgcGh5c2ljYWwgdG8gdmlydHVhbAorICogbWVtb3J5IG1hcCBmb3IgdGhlIElPIG1vZHVsZXMuCisgKi8KK3ZvaWQgX19pbml0IG14Y19tYXBfaW8odm9pZCkKK3sKKwlpb3RhYmxlX2luaXQobXhjX2lvX2Rlc2MsIEFSUkFZX1NJWkUobXhjX2lvX2Rlc2MpKTsKK30KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtbXgyL214MjdhZHMuYyBiL2FyY2gvYXJtL21hY2gtbXgyL214MjdhZHMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOWZmMDFmCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1teDIvbXgyN2Fkcy5jCkBAIC0wLDAgKzEsMzA0IEBACisvKgorICogIENvcHlyaWdodCAoQykgMjAwMCBEZWVwIEJsdWUgU29sdXRpb25zIEx0ZAorICogIENvcHlyaWdodCAoQykgMjAwMiBTaGFuZSBOYXkgKHNoYW5lQG1pbmlybC5jb20pCisgKiAgQ29weXJpZ2h0IDIwMDYtMjAwNyBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKKyAqLworCisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvbXRkL210ZC5oPgorI2luY2x1ZGUgPGxpbnV4L210ZC9tYXAuaD4KKyNpbmNsdWRlIDxsaW51eC9tdGQvcGFydGl0aW9ucy5oPgorI2luY2x1ZGUgPGxpbnV4L210ZC9waHlzbWFwLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvY29tbW9uLmg+CisjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CisjaW5jbHVkZSA8YXNtL21hY2gtdHlwZXMuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9hcmNoLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvdGltZS5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL21hcC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2dwaW8uaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9pbXgtdWFydC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2lvbXV4LW14MS1teDIuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9ib2FyZC1teDI3YWRzLmg+CisKKy8qIEFEUydzIE5PUiBmbGFzaCAqLworc3RhdGljIHN0cnVjdCBwaHlzbWFwX2ZsYXNoX2RhdGEgbXgyN2Fkc19mbGFzaF9kYXRhID0geworCS53aWR0aCA9IDIsCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIG14MjdhZHNfZmxhc2hfcmVzb3VyY2UgPSB7CisJLnN0YXJ0ID0gMHhjMDAwMDAwMCwKKwkuZW5kID0gMHhjMDAwMDAwMCArIDB4MDIwMDAwMDAgLSAxLAorCS5mbGFncyA9IElPUkVTT1VSQ0VfTUVNLAorCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBteDI3YWRzX25vcl9tdGRfZGV2aWNlID0geworCS5uYW1lID0gInBoeXNtYXAtZmxhc2giLAorCS5pZCA9IDAsCisJLmRldiA9IHsKKwkJLnBsYXRmb3JtX2RhdGEgPSAmbXgyN2Fkc19mbGFzaF9kYXRhLAorCX0sCisJLm51bV9yZXNvdXJjZXMgPSAxLAorCS5yZXNvdXJjZSA9ICZteDI3YWRzX2ZsYXNoX3Jlc291cmNlLAorfTsKKworc3RhdGljIGludCBteGNfdWFydDBfcGluc1tdID0geworCVBFMTJfUEZfVUFSVDFfVFhELAorCVBFMTNfUEZfVUFSVDFfUlhELAorCVBFMTRfUEZfVUFSVDFfQ1RTLAorCVBFMTVfUEZfVUFSVDFfUlRTCit9OworCitzdGF0aWMgaW50IHVhcnRfbXhjX3BvcnQwX2luaXQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlyZXR1cm4gbXhjX2dwaW9fc2V0dXBfbXVsdGlwbGVfcGlucyhteGNfdWFydDBfcGlucywKKwkJCUFSUkFZX1NJWkUobXhjX3VhcnQwX3BpbnMpLAorCQkJTVhDX0dQSU9fQUxMT0NfTU9ERV9OT1JNQUwsICJVQVJUMCIpOworfQorCitzdGF0aWMgaW50IHVhcnRfbXhjX3BvcnQwX2V4aXQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlyZXR1cm4gbXhjX2dwaW9fc2V0dXBfbXVsdGlwbGVfcGlucyhteGNfdWFydDBfcGlucywKKwkJCUFSUkFZX1NJWkUobXhjX3VhcnQwX3BpbnMpLAorCQkJTVhDX0dQSU9fQUxMT0NfTU9ERV9SRUxFQVNFLCAiVUFSVDAiKTsKK30KKworc3RhdGljIGludCBteGNfdWFydDFfcGluc1tdID0geworCVBFM19QRl9VQVJUMl9DVFMsCisJUEU0X1BGX1VBUlQyX1JUUywKKwlQRTZfUEZfVUFSVDJfVFhELAorCVBFN19QRl9VQVJUMl9SWEQKK307CisKK3N0YXRpYyBpbnQgdWFydF9teGNfcG9ydDFfaW5pdChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXJldHVybiBteGNfZ3Bpb19zZXR1cF9tdWx0aXBsZV9waW5zKG14Y191YXJ0MV9waW5zLAorCQkJQVJSQVlfU0laRShteGNfdWFydDFfcGlucyksCisJCQlNWENfR1BJT19BTExPQ19NT0RFX05PUk1BTCwgIlVBUlQxIik7Cit9CisKK3N0YXRpYyBpbnQgdWFydF9teGNfcG9ydDFfZXhpdChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXJldHVybiBteGNfZ3Bpb19zZXR1cF9tdWx0aXBsZV9waW5zKG14Y191YXJ0MV9waW5zLAorCQkJQVJSQVlfU0laRShteGNfdWFydDFfcGlucyksCisJCQlNWENfR1BJT19BTExPQ19NT0RFX1JFTEVBU0UsICJVQVJUMSIpOworfQorCitzdGF0aWMgaW50IG14Y191YXJ0Ml9waW5zW10gPSB7CisJUEU4X1BGX1VBUlQzX1RYRCwKKwlQRTlfUEZfVUFSVDNfUlhELAorCVBFMTBfUEZfVUFSVDNfQ1RTLAorCVBFMTFfUEZfVUFSVDNfUlRTCit9OworCitzdGF0aWMgaW50IHVhcnRfbXhjX3BvcnQyX2luaXQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlyZXR1cm4gbXhjX2dwaW9fc2V0dXBfbXVsdGlwbGVfcGlucyhteGNfdWFydDJfcGlucywKKwkJCUFSUkFZX1NJWkUobXhjX3VhcnQyX3BpbnMpLAorCQkJTVhDX0dQSU9fQUxMT0NfTU9ERV9OT1JNQUwsICJVQVJUMiIpOworfQorCitzdGF0aWMgaW50IHVhcnRfbXhjX3BvcnQyX2V4aXQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlyZXR1cm4gbXhjX2dwaW9fc2V0dXBfbXVsdGlwbGVfcGlucyhteGNfdWFydDJfcGlucywKKwkJCUFSUkFZX1NJWkUobXhjX3VhcnQyX3BpbnMpLAorCQkJTVhDX0dQSU9fQUxMT0NfTU9ERV9SRUxFQVNFLCAiVUFSVDIiKTsKK30KKworc3RhdGljIGludCBteGNfdWFydDNfcGluc1tdID0geworCVBCMjZfQUZfVUFSVDRfUlRTLAorCVBCMjhfQUZfVUFSVDRfVFhELAorCVBCMjlfQUZfVUFSVDRfQ1RTLAorCVBCMzFfQUZfVUFSVDRfUlhECit9OworCitzdGF0aWMgaW50IHVhcnRfbXhjX3BvcnQzX2luaXQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlyZXR1cm4gbXhjX2dwaW9fc2V0dXBfbXVsdGlwbGVfcGlucyhteGNfdWFydDNfcGlucywKKwkJCUFSUkFZX1NJWkUobXhjX3VhcnQzX3BpbnMpLAorCQkJTVhDX0dQSU9fQUxMT0NfTU9ERV9OT1JNQUwsICJVQVJUMyIpOworfQorCitzdGF0aWMgaW50IHVhcnRfbXhjX3BvcnQzX2V4aXQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlyZXR1cm4gbXhjX2dwaW9fc2V0dXBfbXVsdGlwbGVfcGlucyhteGNfdWFydDNfcGlucywKKwkJCUFSUkFZX1NJWkUobXhjX3VhcnQzX3BpbnMpLAorCQkJTVhDX0dQSU9fQUxMT0NfTU9ERV9SRUxFQVNFLCAiVUFSVDMiKTsKK30KKworc3RhdGljIGludCBteGNfdWFydDRfcGluc1tdID0geworCVBCMThfQUZfVUFSVDVfVFhELAorCVBCMTlfQUZfVUFSVDVfUlhELAorCVBCMjBfQUZfVUFSVDVfQ1RTLAorCVBCMjFfQUZfVUFSVDVfUlRTCit9OworCitzdGF0aWMgaW50IHVhcnRfbXhjX3BvcnQ0X2luaXQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlyZXR1cm4gbXhjX2dwaW9fc2V0dXBfbXVsdGlwbGVfcGlucyhteGNfdWFydDRfcGlucywKKwkJCUFSUkFZX1NJWkUobXhjX3VhcnQ0X3BpbnMpLAorCQkJTVhDX0dQSU9fQUxMT0NfTU9ERV9OT1JNQUwsICJVQVJUNCIpOworfQorCitzdGF0aWMgaW50IHVhcnRfbXhjX3BvcnQ0X2V4aXQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlyZXR1cm4gbXhjX2dwaW9fc2V0dXBfbXVsdGlwbGVfcGlucyhteGNfdWFydDRfcGlucywKKwkJCUFSUkFZX1NJWkUobXhjX3VhcnQ0X3BpbnMpLAorCQkJTVhDX0dQSU9fQUxMT0NfTU9ERV9SRUxFQVNFLCAiVUFSVDQiKTsKK30KKworc3RhdGljIGludCBteGNfdWFydDVfcGluc1tdID0geworCVBCMTBfQUZfVUFSVDZfVFhELAorCVBCMTJfQUZfVUFSVDZfQ1RTLAorCVBCMTFfQUZfVUFSVDZfUlhELAorCVBCMTNfQUZfVUFSVDZfUlRTCit9OworCitzdGF0aWMgaW50IHVhcnRfbXhjX3BvcnQ1X2luaXQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlyZXR1cm4gbXhjX2dwaW9fc2V0dXBfbXVsdGlwbGVfcGlucyhteGNfdWFydDVfcGlucywKKwkJCUFSUkFZX1NJWkUobXhjX3VhcnQ1X3BpbnMpLAorCQkJTVhDX0dQSU9fQUxMT0NfTU9ERV9OT1JNQUwsICJVQVJUNSIpOworfQorCitzdGF0aWMgaW50IHVhcnRfbXhjX3BvcnQ1X2V4aXQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlyZXR1cm4gbXhjX2dwaW9fc2V0dXBfbXVsdGlwbGVfcGlucyhteGNfdWFydDVfcGlucywKKwkJCUFSUkFZX1NJWkUobXhjX3VhcnQ1X3BpbnMpLAorCQkJTVhDX0dQSU9fQUxMT0NfTU9ERV9SRUxFQVNFLCAiVUFSVDUiKTsKK30KKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBsYXRmb3JtX2RldmljZXNbXSBfX2luaXRkYXRhID0geworCSZteDI3YWRzX25vcl9tdGRfZGV2aWNlLAorfTsKKworc3RhdGljIGludCBteGNfZmVjX3BpbnNbXSA9IHsKKwlQRDBfQUlOX0ZFQ19UWEQwLAorCVBEMV9BSU5fRkVDX1RYRDEsCisJUEQyX0FJTl9GRUNfVFhEMiwKKwlQRDNfQUlOX0ZFQ19UWEQzLAorCVBENF9BT1VUX0ZFQ19SWF9FUiwKKwlQRDVfQU9VVF9GRUNfUlhEMSwKKwlQRDZfQU9VVF9GRUNfUlhEMiwKKwlQRDdfQU9VVF9GRUNfUlhEMywKKwlQRDhfQUZfRkVDX01ESU8sCisJUEQ5X0FJTl9GRUNfTURDLAorCVBEMTBfQU9VVF9GRUNfQ1JTLAorCVBEMTFfQU9VVF9GRUNfVFhfQ0xLLAorCVBEMTJfQU9VVF9GRUNfUlhEMCwKKwlQRDEzX0FPVVRfRkVDX1JYX0RWLAorCVBEMTRfQU9VVF9GRUNfQ0xSLAorCVBEMTVfQU9VVF9GRUNfQ09MLAorCVBEMTZfQUlOX0ZFQ19UWF9FUiwKKwlQRjIzX0FJTl9GRUNfVFhfRU4KK307CisKK3N0YXRpYyB2b2lkIGdwaW9fZmVjX2FjdGl2ZSh2b2lkKQoreworCW14Y19ncGlvX3NldHVwX211bHRpcGxlX3BpbnMobXhjX2ZlY19waW5zLAorCQkJQVJSQVlfU0laRShteGNfZmVjX3BpbnMpLAorCQkJTVhDX0dQSU9fQUxMT0NfTU9ERV9OT1JNQUwsICJGRUMiKTsKK30KKworc3RhdGljIHZvaWQgZ3Bpb19mZWNfaW5hY3RpdmUodm9pZCkKK3sKKwlteGNfZ3Bpb19zZXR1cF9tdWx0aXBsZV9waW5zKG14Y19mZWNfcGlucywKKwkJCUFSUkFZX1NJWkUobXhjX2ZlY19waW5zKSwKKwkJCU1YQ19HUElPX0FMTE9DX01PREVfUkVMRUFTRSwgIkZFQyIpOworfQorCitzdGF0aWMgc3RydWN0IGlteHVhcnRfcGxhdGZvcm1fZGF0YSB1YXJ0X3BkYXRhW10gPSB7CisJeworCQkuaW5pdCA9IHVhcnRfbXhjX3BvcnQwX2luaXQsCisJCS5leGl0ID0gdWFydF9teGNfcG9ydDBfZXhpdCwKKwkJLmZsYWdzID0gSU1YVUFSVF9IQVZFX1JUU0NUUywKKwl9LCB7CisJCS5pbml0ID0gdWFydF9teGNfcG9ydDFfaW5pdCwKKwkJLmV4aXQgPSB1YXJ0X214Y19wb3J0MV9leGl0LAorCQkuZmxhZ3MgPSBJTVhVQVJUX0hBVkVfUlRTQ1RTLAorCX0sIHsKKwkJLmluaXQgPSB1YXJ0X214Y19wb3J0Ml9pbml0LAorCQkuZXhpdCA9IHVhcnRfbXhjX3BvcnQyX2V4aXQsCisJCS5mbGFncyA9IElNWFVBUlRfSEFWRV9SVFNDVFMsCisJfSwgeworCQkuaW5pdCA9IHVhcnRfbXhjX3BvcnQzX2luaXQsCisJCS5leGl0ID0gdWFydF9teGNfcG9ydDNfZXhpdCwKKwkJLmZsYWdzID0gSU1YVUFSVF9IQVZFX1JUU0NUUywKKwl9LCB7CisJCS5pbml0ID0gdWFydF9teGNfcG9ydDRfaW5pdCwKKwkJLmV4aXQgPSB1YXJ0X214Y19wb3J0NF9leGl0LAorCQkuZmxhZ3MgPSBJTVhVQVJUX0hBVkVfUlRTQ1RTLAorCX0sIHsKKwkJLmluaXQgPSB1YXJ0X214Y19wb3J0NV9pbml0LAorCQkuZXhpdCA9IHVhcnRfbXhjX3BvcnQ1X2V4aXQsCisJCS5mbGFncyA9IElNWFVBUlRfSEFWRV9SVFNDVFMsCisJfSwKK307CisKK3N0YXRpYyB2b2lkIF9faW5pdCBteDI3YWRzX2JvYXJkX2luaXQodm9pZCkKK3sKKwlpbnQgaTsKKworCWdwaW9fZmVjX2FjdGl2ZSgpOworCisJZm9yIChpID0gMDsgaSA8IDY7IGkrKykKKwkJaW14X2luaXRfdWFydChpLCAmdWFydF9wZGF0YVtpXSk7CisKKwlwbGF0Zm9ybV9hZGRfZGV2aWNlcyhwbGF0Zm9ybV9kZXZpY2VzLCBBUlJBWV9TSVpFKHBsYXRmb3JtX2RldmljZXMpKTsKK30KKworc3RhdGljIHZvaWQgX19pbml0IG14MjdhZHNfdGltZXJfaW5pdCh2b2lkKQoreworCXVuc2lnbmVkIGxvbmcgZnJlZiA9IDI2MDAwMDAwOworCisJaWYgKChfX3Jhd19yZWFkdyhQQkNfVkVSU0lPTl9SRUcpICYgQ0tJSF8yN01IWl9CSVRfU0VUKSA9PSAwKQorCQlmcmVmID0gMjcwMDAwMDA7CisKKwlteGNfY2xvY2tzX2luaXQoZnJlZik7CisJbXhjX3RpbWVyX2luaXQoImdwdF9jbGsuMCIpOworfQorCitzdHJ1Y3Qgc3lzX3RpbWVyIG14MjdhZHNfdGltZXIgPSB7CisJLmluaXQJPSBteDI3YWRzX3RpbWVyX2luaXQsCit9OworCitzdGF0aWMgc3RydWN0IG1hcF9kZXNjIG14MjdhZHNfaW9fZGVzY1tdIF9faW5pdGRhdGEgPSB7CisJeworCQkudmlydHVhbCA9IFBCQ19CQVNFX0FERFJFU1MsCisJCS5wZm4gPSBfX3BoeXNfdG9fcGZuKENTNF9CQVNFX0FERFIpLAorCQkubGVuZ3RoID0gU1pfMU0sCisJCS50eXBlID0gTVRfREVWSUNFLAorCX0sCit9OworCit2b2lkIF9faW5pdCBteDI3YWRzX21hcF9pbyh2b2lkKQoreworCW14Y19tYXBfaW8oKTsKKwlpb3RhYmxlX2luaXQobXgyN2Fkc19pb19kZXNjLCBBUlJBWV9TSVpFKG14MjdhZHNfaW9fZGVzYykpOworfQorCitNQUNISU5FX1NUQVJUKE1YMjdBRFMsICJGcmVlc2NhbGUgaS5NWDI3QURTIikKKwkvKiBtYWludGFpbmVyOiBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLiAqLworCS5waHlzX2lvICAgICAgICA9IEFJUElfQkFTRV9BRERSLAorCS5pb19wZ19vZmZzdCAgICA9ICgoQUlQSV9CQVNFX0FERFJfVklSVCkgPj4gMTgpICYgMHhmZmZjLAorCS5ib290X3BhcmFtcyAgICA9IFBIWVNfT0ZGU0VUICsgMHgxMDAsCisJLm1hcF9pbyAgICAgICAgID0gbXgyN2Fkc19tYXBfaW8sCisJLmluaXRfaXJxICAgICAgID0gbXhjX2luaXRfaXJxLAorCS5pbml0X21hY2hpbmUgICA9IG14MjdhZHNfYm9hcmRfaW5pdCwKKwkudGltZXIgICAgICAgICAgPSAmbXgyN2Fkc190aW1lciwKK01BQ0hJTkVfRU5ECisKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtbXgyL3BjbTAzOC5jIGIvYXJjaC9hcm0vbWFjaC1teDIvcGNtMDM4LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTlhMjhmNQotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtbXgyL3BjbTAzOC5jCkBAIC0wLDAgKzEsMjA0IEBACisvKgorICogQ29weXJpZ2h0IDIwMDcgUm9iZXJ0IFNjaHdlYmVsIDxyLnNjaHdlYmVsQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKKyAqIENvcHlyaWdodCAoQykgMjAwOCBKdWVyZ2VuIEJlaXNlcnQgKGtlcm5lbEBwZW5ndXRyb25peC5kZSkKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIKKyAqIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwKKyAqIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvbXRkL3BoeXNtYXAuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9hcmNoLmg+CisjaW5jbHVkZSA8YXNtL21hY2gtdHlwZXMuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9jb21tb24uaD4KKyNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9pb211eC1teDEtbXgyLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvdGltZS5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2lteC11YXJ0Lmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvYm9hcmQtcGNtMDM4Lmg+CisKKy8qCisgKiBQaHl0ZWMncyBwaHlDT1JFLWkuTVgyNyBjb21lcyB3aXRoIDMyTWlCIGZsYXNoLAorICogMTYgYml0IHdpZHRoCisgKi8KK3N0YXRpYyBzdHJ1Y3QgcGh5c21hcF9mbGFzaF9kYXRhIHBjbTAzOF9mbGFzaF9kYXRhID0geworCS53aWR0aCA9IDIsCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIHBjbTAzOF9mbGFzaF9yZXNvdXJjZSA9IHsKKwkuc3RhcnQgPSAweGMwMDAwMDAwLAorCS5lbmQgICA9IDB4YzFmZmZmZmYsCisJLmZsYWdzID0gSU9SRVNPVVJDRV9NRU0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBwY20wMzhfbm9yX210ZF9kZXZpY2UgPSB7CisJLm5hbWUgPSAicGh5c21hcC1mbGFzaCIsCisJLmlkID0gMCwKKwkuZGV2ID0geworCQkucGxhdGZvcm1fZGF0YSA9ICZwY20wMzhfZmxhc2hfZGF0YSwKKwl9LAorCS5udW1fcmVzb3VyY2VzID0gMSwKKwkucmVzb3VyY2UgPSAmcGNtMDM4X2ZsYXNoX3Jlc291cmNlLAorfTsKKworc3RhdGljIGludCBteGNfdWFydDBfcGluc1tdID0geworCVBFMTJfUEZfVUFSVDFfVFhELAorCVBFMTNfUEZfVUFSVDFfUlhELAorCVBFMTRfUEZfVUFSVDFfQ1RTLAorCVBFMTVfUEZfVUFSVDFfUlRTCit9OworCitzdGF0aWMgaW50IHVhcnRfbXhjX3BvcnQwX2luaXQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlyZXR1cm4gbXhjX2dwaW9fc2V0dXBfbXVsdGlwbGVfcGlucyhteGNfdWFydDBfcGlucywKKwkJCUFSUkFZX1NJWkUobXhjX3VhcnQwX3BpbnMpLAorCQkJTVhDX0dQSU9fQUxMT0NfTU9ERV9OT1JNQUwsICJVQVJUMCIpOworfQorCitzdGF0aWMgaW50IHVhcnRfbXhjX3BvcnQwX2V4aXQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlyZXR1cm4gbXhjX2dwaW9fc2V0dXBfbXVsdGlwbGVfcGlucyhteGNfdWFydDBfcGlucywKKwkJCUFSUkFZX1NJWkUobXhjX3VhcnQwX3BpbnMpLAorCQkJTVhDX0dQSU9fQUxMT0NfTU9ERV9SRUxFQVNFLCAiVUFSVDAiKTsKK30KKworc3RhdGljIGludCBteGNfdWFydDFfcGluc1tdID0geworCVBFM19QRl9VQVJUMl9DVFMsCisJUEU0X1BGX1VBUlQyX1JUUywKKwlQRTZfUEZfVUFSVDJfVFhELAorCVBFN19QRl9VQVJUMl9SWEQKK307CisKK3N0YXRpYyBpbnQgdWFydF9teGNfcG9ydDFfaW5pdChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXJldHVybiBteGNfZ3Bpb19zZXR1cF9tdWx0aXBsZV9waW5zKG14Y191YXJ0MV9waW5zLAorCQkJQVJSQVlfU0laRShteGNfdWFydDFfcGlucyksCisJCQlNWENfR1BJT19BTExPQ19NT0RFX05PUk1BTCwgIlVBUlQxIik7Cit9CisKK3N0YXRpYyBpbnQgdWFydF9teGNfcG9ydDFfZXhpdChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXJldHVybiBteGNfZ3Bpb19zZXR1cF9tdWx0aXBsZV9waW5zKG14Y191YXJ0MV9waW5zLAorCQkJQVJSQVlfU0laRShteGNfdWFydDFfcGlucyksCisJCQlNWENfR1BJT19BTExPQ19NT0RFX1JFTEVBU0UsICJVQVJUMSIpOworfQorCitzdGF0aWMgaW50IG14Y191YXJ0Ml9waW5zW10gPSB7IFBFMTBfUEZfVUFSVDNfQ1RTLAorCQkJCVBFOV9QRl9VQVJUM19SWEQsCisJCQkJUEUxMF9QRl9VQVJUM19DVFMsCisJCQkJUEU5X1BGX1VBUlQzX1JYRCB9OworCitzdGF0aWMgaW50IHVhcnRfbXhjX3BvcnQyX2luaXQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlyZXR1cm4gbXhjX2dwaW9fc2V0dXBfbXVsdGlwbGVfcGlucyhteGNfdWFydDJfcGlucywKKwkJCUFSUkFZX1NJWkUobXhjX3VhcnQyX3BpbnMpLAorCQkJTVhDX0dQSU9fQUxMT0NfTU9ERV9OT1JNQUwsICJVQVJUMiIpOworfQorCitzdGF0aWMgaW50IHVhcnRfbXhjX3BvcnQyX2V4aXQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlyZXR1cm4gbXhjX2dwaW9fc2V0dXBfbXVsdGlwbGVfcGlucyhteGNfdWFydDJfcGlucywKKwkJCUFSUkFZX1NJWkUobXhjX3VhcnQyX3BpbnMpLAorCQkJTVhDX0dQSU9fQUxMT0NfTU9ERV9SRUxFQVNFLCAiVUFSVDIiKTsKK30KKworc3RhdGljIHN0cnVjdCBpbXh1YXJ0X3BsYXRmb3JtX2RhdGEgdWFydF9wZGF0YVtdID0geworCXsKKwkJLmluaXQgPSB1YXJ0X214Y19wb3J0MF9pbml0LAorCQkuZXhpdCA9IHVhcnRfbXhjX3BvcnQwX2V4aXQsCisJCS5mbGFncyA9IElNWFVBUlRfSEFWRV9SVFNDVFMsCisJfSwgeworCQkuaW5pdCA9IHVhcnRfbXhjX3BvcnQxX2luaXQsCisJCS5leGl0ID0gdWFydF9teGNfcG9ydDFfZXhpdCwKKwkJLmZsYWdzID0gSU1YVUFSVF9IQVZFX1JUU0NUUywKKwl9LCB7CisJCS5pbml0ID0gdWFydF9teGNfcG9ydDJfaW5pdCwKKwkJLmV4aXQgPSB1YXJ0X214Y19wb3J0Ml9leGl0LAorCQkuZmxhZ3MgPSBJTVhVQVJUX0hBVkVfUlRTQ1RTLAorCX0sCit9OworCitzdGF0aWMgaW50IG14Y19mZWNfcGluc1tdID0geworCVBEMF9BSU5fRkVDX1RYRDAsCisJUEQxX0FJTl9GRUNfVFhEMSwKKwlQRDJfQUlOX0ZFQ19UWEQyLAorCVBEM19BSU5fRkVDX1RYRDMsCisJUEQ0X0FPVVRfRkVDX1JYX0VSLAorCVBENV9BT1VUX0ZFQ19SWEQxLAorCVBENl9BT1VUX0ZFQ19SWEQyLAorCVBEN19BT1VUX0ZFQ19SWEQzLAorCVBEOF9BRl9GRUNfTURJTywKKwlQRDlfQUlOX0ZFQ19NREMsCisJUEQxMF9BT1VUX0ZFQ19DUlMsCisJUEQxMV9BT1VUX0ZFQ19UWF9DTEssCisJUEQxMl9BT1VUX0ZFQ19SWEQwLAorCVBEMTNfQU9VVF9GRUNfUlhfRFYsCisJUEQxNF9BT1VUX0ZFQ19DTFIsCisJUEQxNV9BT1VUX0ZFQ19DT0wsCisJUEQxNl9BSU5fRkVDX1RYX0VSLAorCVBGMjNfQUlOX0ZFQ19UWF9FTgorfTsKKworc3RhdGljIHZvaWQgZ3Bpb19mZWNfYWN0aXZlKHZvaWQpCit7CisJbXhjX2dwaW9fc2V0dXBfbXVsdGlwbGVfcGlucyhteGNfZmVjX3BpbnMsCisJCQlBUlJBWV9TSVpFKG14Y19mZWNfcGlucyksCisJCQlNWENfR1BJT19BTExPQ19NT0RFX05PUk1BTCwgIkZFQyIpOworfQorCitzdGF0aWMgdm9pZCBncGlvX2ZlY19pbmFjdGl2ZSh2b2lkKQoreworCW14Y19ncGlvX3NldHVwX211bHRpcGxlX3BpbnMobXhjX2ZlY19waW5zLAorCQkJQVJSQVlfU0laRShteGNfZmVjX3BpbnMpLAorCQkJTVhDX0dQSU9fQUxMT0NfTU9ERV9SRUxFQVNFLCAiRkVDIik7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwbGF0Zm9ybV9kZXZpY2VzW10gX19pbml0ZGF0YSA9IHsKKwkmcGNtMDM4X25vcl9tdGRfZGV2aWNlLAorfTsKKworc3RhdGljIHZvaWQgX19pbml0IHBjbTAzOF9pbml0KHZvaWQpCit7CisJaW50IGk7CisJZ3Bpb19mZWNfYWN0aXZlKCk7CisKKwlmb3IgKGkgPSAwOyBpIDwgMzsgaSsrKQorCQlpbXhfaW5pdF91YXJ0KGksICZ1YXJ0X3BkYXRhW2ldKTsKKworCXBsYXRmb3JtX2FkZF9kZXZpY2VzKHBsYXRmb3JtX2RldmljZXMsIEFSUkFZX1NJWkUocGxhdGZvcm1fZGV2aWNlcykpOworCisjaWZkZWYgQ09ORklHX01BQ0hfUENNOTcwX0JBU0VCT0FSRAorCXBjbTk3MF9iYXNlYm9hcmRfaW5pdCgpOworI2VuZGlmCit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBwY20wMzhfdGltZXJfaW5pdCh2b2lkKQoreworCW14Y19jbG9ja3NfaW5pdCgyNjAwMDAwMCk7CisJbXhjX3RpbWVyX2luaXQoImdwdF9jbGsuMCIpOworfQorCitzdHJ1Y3Qgc3lzX3RpbWVyIHBjbTAzOF90aW1lciA9IHsKKwkuaW5pdCA9IHBjbTAzOF90aW1lcl9pbml0LAorfTsKKworTUFDSElORV9TVEFSVChQQ00wMzgsICJwaHlDT1JFLWkuTVgyNyIpCisJLnBoeXNfaW8gICAgICAgID0gQUlQSV9CQVNFX0FERFIsCisJLmlvX3BnX29mZnN0ICAgID0gKChBSVBJX0JBU0VfQUREUl9WSVJUKSA+PiAxOCkgJiAweGZmZmMsCisJLmJvb3RfcGFyYW1zICAgID0gUEhZU19PRkZTRVQgKyAweDEwMCwKKwkubWFwX2lvICAgICAgICAgPSBteGNfbWFwX2lvLAorCS5pbml0X2lycSAgICAgICA9IG14Y19pbml0X2lycSwKKwkuaW5pdF9tYWNoaW5lICAgPSBwY20wMzhfaW5pdCwKKwkudGltZXIgICAgICAgICAgPSAmcGNtMDM4X3RpbWVyLAorTUFDSElORV9FTkQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtbXgyL3BjbTk3MC1iYXNlYm9hcmQuYyBiL2FyY2gvYXJtL21hY2gtbXgyL3BjbTk3MC1iYXNlYm9hcmQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMjhhYzRkCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1teDIvcGNtOTcwLWJhc2Vib2FyZC5jCkBAIC0wLDAgKzEsMzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggSnVlcmdlbiBCZWlzZXJ0IChrZXJuZWxAcGVuZ3V0cm9uaXguZGUpCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyCisgKiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sCisgKiBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvYXJjaC5oPgorCisvKgorICogc3lzdGVtIGluaXQgZm9yIGJhc2Vib2FyZCB1c2FnZS4gV2lsbCBiZSBjYWxsZWQgYnkgcGNtMDM4IGluaXQuCisgKgorICogQWRkIHBsYXRmb3JtIGRldmljZXMgcHJlc2VudCBvbiB0aGlzIGJhc2Vib2FyZCBhbmQgaW5pdAorICogdGhlbSBmcm9tIENQVSBzaWRlIGFzIGZhciBhcyByZXF1aXJlZCB0byB1c2UgdGhlbSBsYXRlciBvbgorICovCit2b2lkIF9faW5pdCBwY205NzBfYmFzZWJvYXJkX2luaXQodm9pZCkKK3sKK30KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtbXgyL3NlcmlhbC5jIGIvYXJjaC9hcm0vbWFjaC1teDIvc2VyaWFsLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTcwYzAyYgotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtbXgyL3NlcmlhbC5jCkBAIC0wLDAgKzEsMTc3IEBACisvKgorICogQ29weXJpZ2h0IDIwMDYtMjAwNyBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICogQ29weXJpZ2h0IDIwMDggSnVlcmdlbiBCZWlzZXJ0LCBrZXJuZWxAcGVuZ3V0cm9uaXguZGUKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIKKyAqIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwKKyAqIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvc2VyaWFsLmg+CisjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvaW14LXVhcnQuaD4KKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSB1YXJ0MFtdID0geworCXsKKwkJLnN0YXJ0ID0gVUFSVDFfQkFTRV9BRERSLAorCQkuZW5kID0gVUFSVDFfQkFTRV9BRERSICsgMHgwQjUsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfTUVNLAorCX0sIHsKKwkJLnN0YXJ0ID0gTVhDX0lOVF9VQVJUMSwKKwkJLmVuZCA9IE1YQ19JTlRfVUFSVDEsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBteGNfdWFydF9kZXZpY2UwID0geworCS5uYW1lID0gImlteC11YXJ0IiwKKwkuaWQgPSAwLAorCS5yZXNvdXJjZSA9IHVhcnQwLAorCS5udW1fcmVzb3VyY2VzID0gQVJSQVlfU0laRSh1YXJ0MCksCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIHVhcnQxW10gPSB7CisJeworCQkuc3RhcnQgPSBVQVJUMl9CQVNFX0FERFIsCisJCS5lbmQgPSBVQVJUMl9CQVNFX0FERFIgKyAweDBCNSwKKwkJLmZsYWdzID0gSU9SRVNPVVJDRV9NRU0sCisJfSwgeworCQkuc3RhcnQgPSBNWENfSU5UX1VBUlQyLAorCQkuZW5kID0gTVhDX0lOVF9VQVJUMiwKKwkJLmZsYWdzID0gSU9SRVNPVVJDRV9JUlEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG14Y191YXJ0X2RldmljZTEgPSB7CisJLm5hbWUgPSAiaW14LXVhcnQiLAorCS5pZCA9IDEsCisJLnJlc291cmNlID0gdWFydDEsCisJLm51bV9yZXNvdXJjZXMgPSBBUlJBWV9TSVpFKHVhcnQxKSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgdWFydDJbXSA9IHsKKwl7CisJCS5zdGFydCA9IFVBUlQzX0JBU0VfQUREUiwKKwkJLmVuZCA9IFVBUlQzX0JBU0VfQUREUiArIDB4MEI1LAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX01FTSwKKwl9LCB7CisJCS5zdGFydCA9IE1YQ19JTlRfVUFSVDMsCisJCS5lbmQgPSBNWENfSU5UX1VBUlQzLAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXhjX3VhcnRfZGV2aWNlMiA9IHsKKwkubmFtZSA9ICJpbXgtdWFydCIsCisJLmlkID0gMiwKKwkucmVzb3VyY2UgPSB1YXJ0MiwKKwkubnVtX3Jlc291cmNlcyA9IEFSUkFZX1NJWkUodWFydDIpLAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSB1YXJ0M1tdID0geworCXsKKwkJLnN0YXJ0ID0gVUFSVDRfQkFTRV9BRERSLAorCQkuZW5kID0gVUFSVDRfQkFTRV9BRERSICsgMHgwQjUsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfTUVNLAorCX0sIHsKKwkJLnN0YXJ0ID0gTVhDX0lOVF9VQVJUNCwKKwkJLmVuZCA9IE1YQ19JTlRfVUFSVDQsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBteGNfdWFydF9kZXZpY2UzID0geworCS5uYW1lID0gImlteC11YXJ0IiwKKwkuaWQgPSAzLAorCS5yZXNvdXJjZSA9IHVhcnQzLAorCS5udW1fcmVzb3VyY2VzID0gQVJSQVlfU0laRSh1YXJ0MyksCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIHVhcnQ0W10gPSB7CisJeworCQkuc3RhcnQgPSBVQVJUNV9CQVNFX0FERFIsCisJCS5lbmQgPSBVQVJUNV9CQVNFX0FERFIgKyAweDBCNSwKKwkJLmZsYWdzID0gSU9SRVNPVVJDRV9NRU0sCisJfSwgeworCQkuc3RhcnQgPSBNWENfSU5UX1VBUlQ1LAorCQkuZW5kID0gTVhDX0lOVF9VQVJUNSwKKwkJLmZsYWdzID0gSU9SRVNPVVJDRV9JUlEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG14Y191YXJ0X2RldmljZTQgPSB7CisJLm5hbWUgPSAiaW14LXVhcnQiLAorCS5pZCA9IDQsCisJLnJlc291cmNlID0gdWFydDQsCisJLm51bV9yZXNvdXJjZXMgPSBBUlJBWV9TSVpFKHVhcnQ0KSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgdWFydDVbXSA9IHsKKwl7CisJCS5zdGFydCA9IFVBUlQ2X0JBU0VfQUREUiwKKwkJLmVuZCA9IFVBUlQ2X0JBU0VfQUREUiArIDB4MEI1LAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX01FTSwKKwl9LCB7CisJCS5zdGFydCA9IE1YQ19JTlRfVUFSVDYsCisJCS5lbmQgPSBNWENfSU5UX1VBUlQ2LAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXhjX3VhcnRfZGV2aWNlNSA9IHsKKwkubmFtZSA9ICJpbXgtdWFydCIsCisJLmlkID0gNSwKKwkucmVzb3VyY2UgPSB1YXJ0NSwKKwkubnVtX3Jlc291cmNlcyA9IEFSUkFZX1NJWkUodWFydDUpLAorfTsKKworLyoKKyAqIFJlZ2lzdGVyIG9ubHkgdGhvc2UgVUFSVHMgdGhhdCBwaHlzaWNhbGx5IGV4aXN0cworICovCitpbnQgX19pbml0IGlteF9pbml0X3VhcnQoaW50IHVhcnRfbm8sIHN0cnVjdCBpbXh1YXJ0X3BsYXRmb3JtX2RhdGEgKnBkYXRhKQoreworCXN3aXRjaCAodWFydF9ubykgeworCWNhc2UgMDoKKwkJbXhjX3VhcnRfZGV2aWNlMC5kZXYucGxhdGZvcm1fZGF0YSA9IHBkYXRhOworCQlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm14Y191YXJ0X2RldmljZTApOworCQlicmVhazsKKwljYXNlIDE6CisJCW14Y191YXJ0X2RldmljZTEuZGV2LnBsYXRmb3JtX2RhdGEgPSBwZGF0YTsKKwkJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZteGNfdWFydF9kZXZpY2UxKTsKKwkJYnJlYWs7CisjaWZuZGVmIENPTkZJR19NWENfSVJEQQorCWNhc2UgMjoKKwkJbXhjX3VhcnRfZGV2aWNlMi5kZXYucGxhdGZvcm1fZGF0YSA9IHBkYXRhOworCQlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm14Y191YXJ0X2RldmljZTIpOworCQlicmVhazsKKyNlbmRpZgorCWNhc2UgMzoKKwkJbXhjX3VhcnRfZGV2aWNlMy5kZXYucGxhdGZvcm1fZGF0YSA9IHBkYXRhOworCQlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm14Y191YXJ0X2RldmljZTMpOworCQlicmVhazsKKwljYXNlIDQ6CisJCW14Y191YXJ0X2RldmljZTQuZGV2LnBsYXRmb3JtX2RhdGEgPSBwZGF0YTsKKwkJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZteGNfdWFydF9kZXZpY2U0KTsKKwkJYnJlYWs7CisJY2FzZSA1OgorCQlteGNfdWFydF9kZXZpY2U1LmRldi5wbGF0Zm9ybV9kYXRhID0gcGRhdGE7CisJCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmbXhjX3VhcnRfZGV2aWNlNSk7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXJldHVybiAtRU5PREVWOworCX0KKworCXJldHVybiAwOworfQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1teDIvc3lzdGVtLmMgYi9hcmNoL2FybS9tYWNoLW14Mi9zeXN0ZW0uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45OTMwNDY0Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1teDIvc3lzdGVtLmMKQEAgLTAsMCArMSw2MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMTk5OSBBUk0gTGltaXRlZAorICogQ29weXJpZ2h0IChDKSAyMDAwIERlZXAgQmx1ZSBTb2x1dGlvbnMgTHRkCisgKiBDb3B5cmlnaHQgMjAwNi0yMDA3IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgMjAwOCBKdWVyZ2VuIEJlaXNlcnQsIGtlcm5lbEBwZW5ndXRyb25peC5kZQorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKKyAqLworCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvY2xrLmg+CisjaW5jbHVkZSA8bGludXgvaW8uaD4KKworI2luY2x1ZGUgPGFzbS9hcmNoL2hhcmR3YXJlLmg+CisjaW5jbHVkZSA8YXNtL3Byb2MtZm5zLmg+CisjaW5jbHVkZSA8YXNtL3N5c3RlbS5oPgorCisvKgorICogUHV0IHRoZSBDUFUgaW50byBpZGxlIG1vZGUuIEl0IGlzIGNhbGxlZCBieSBkZWZhdWx0X2lkbGUoKQorICogaW4gcHJvY2Vzcy5jIGZpbGUuCisgKi8KK3ZvaWQgYXJjaF9pZGxlKHZvaWQpCit7CisJLyoKKwkgKiBUaGlzIHNob3VsZCBkbyBhbGwgdGhlIGNsb2NrIHN3aXRjaGluZworCSAqIGFuZCB3YWl0IGZvciBpbnRlcnJ1cHQgdHJpY2tzLgorCSAqLworCWNwdV9kb19pZGxlKCk7Cit9CisKKyNkZWZpbmUgV0RPR19XQ1JfUkVHICAgICAgICAgICAgICAgICAgICBJT19BRERSRVNTKFdET0dfQkFTRV9BRERSKQorI2RlZmluZSBXRE9HX1dDUl9TUlMgICAgICAgICAgICAgICAgICAgICgxIDw8IDQpCisKKy8qCisgKiBSZXNldCB0aGUgc3lzdGVtLiBJdCBpcyBjYWxsZWQgYnkgbWFjaGluZV9yZXN0YXJ0KCkuCisgKi8KK3ZvaWQgYXJjaF9yZXNldChjaGFyIG1vZGUpCit7CisJc3RydWN0IGNsayAqY2xrOworCisJY2xrID0gY2xrX2dldChOVUxMLCAid2RvZ19jbGsiKTsKKwlpZiAoIWNsaykgeworCQlwcmludGsoS0VSTl9FUlIiQ2Fubm90IGFjdGl2YXRlIHRoZSB3YXRjaGRvZy4gR2l2aW5nIHVwXG4iKTsKKwkJcmV0dXJuOworCX0KKworCWNsa19lbmFibGUoY2xrKTsKKworCS8qIEFzc2VydCBTUlMgc2lnbmFsICovCisJX19yYXdfd3JpdGV3KF9fcmF3X3JlYWR3KFdET0dfV0NSX1JFRykgJiB+V0RPR19XQ1JfU1JTLCBXRE9HX1dDUl9SRUcpOworfQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1teDMvS2NvbmZpZyBiL2FyY2gvYXJtL21hY2gtbXgzL0tjb25maWcKaW5kZXggNWZlODYwNi4uZGI5NDMxZCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1teDMvS2NvbmZpZworKysgYi9hcmNoL2FybS9tYWNoLW14My9LY29uZmlnCkBAIC04LDUgKzgsMTggQEAKIAkgIEluY2x1ZGUgc3VwcG9ydCBmb3IgTVgzMUFEUyBwbGF0Zm9ybS4gVGhpcyBpbmNsdWRlcyBzcGVjaWZpYwogCSAgY29uZmlndXJhdGlvbnMgZm9yIHRoZSBib2FyZCBhbmQgaXRzIHBlcmlwaGVyYWxzLgogCitjb25maWcgTUFDSF9QQ00wMzcKKwlib29sICJTdXBwb3J0IFBoeXRlYyBwY20wMzcgcGxhdGZvcm1zIgorCWhlbHAKKwkgIEluY2x1ZGUgc3VwcG9ydCBmb3IgUGh5dGVjIHBjbTAzNyBwbGF0Zm9ybS4gVGhpcyBpbmNsdWRlcworCSAgc3BlY2lmaWMgY29uZmlndXJhdGlvbnMgZm9yIHRoZSBib2FyZCBhbmQgaXRzIHBlcmlwaGVyYWxzLgorCitjb25maWcgTUFDSF9NWDMxTElURQorCWJvb2wgIlN1cHBvcnQgTVgzMSBMSVRFS0lUIChMb2dpY1BEKSIKKwlkZWZhdWx0IG4KKwloZWxwCisJICBJbmNsdWRlIHN1cHBvcnQgZm9yIE1YMzEgTElURUtJVCBwbGF0Zm9ybS4gVGhpcyBpbmNsdWRlcyBzcGVjaWZpYworCSAgY29uZmlndXJhdGlvbnMgZm9yIHRoZSBib2FyZCBhbmQgaXRzIHBlcmlwaGVyYWxzLgorCiBlbmRtZW51CiAKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtbXgzL01ha2VmaWxlIGIvYXJjaC9hcm0vbWFjaC1teDMvTWFrZWZpbGUKaW5kZXggY2JlYzk5Ny4uOGIyMWFiYiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1teDMvTWFrZWZpbGUKKysrIGIvYXJjaC9hcm0vbWFjaC1teDMvTWFrZWZpbGUKQEAgLTQsNSArNCw3IEBACiAKICMgT2JqZWN0IGZpbGUgbGlzdHMuCiAKLW9iai15CQkJOj0gbW0ubyB0aW1lLm8KK29iai15CQkJOj0gbW0ubyBjbG9jay5vIGRldmljZXMubyBpb211eC5vCiBvYmotJChDT05GSUdfTUFDSF9NWDMxQURTKQkrPSBteDMxYWRzLm8KK29iai0kKENPTkZJR19NQUNIX01YMzFMSVRFKQkrPSBteDMxbGl0ZS5vCitvYmotJChDT05GSUdfTUFDSF9QQ00wMzcpCSs9IHBjbTAzNy5vCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW14My9jbG9jay5jIGIvYXJjaC9hcm0vbWFjaC1teDMvY2xvY2suYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZjM2MzU5Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1teDMvY2xvY2suYwpAQCAtMCwwICsxLDExNDcgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAwNS0yMDA3IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggYnkgU2FzY2hhIEhhdWVyIDxrZXJuZWxAcGVuZ3V0cm9uaXguZGU+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyCisgKiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sCisgKiBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CisjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KKyNpbmNsdWRlIDxsaW51eC9jbGsuaD4KKyNpbmNsdWRlIDxsaW51eC9lcnIuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2Nsb2NrLmg+CisjaW5jbHVkZSA8YXNtL2RpdjY0Lmg+CisKKyNpbmNsdWRlICJjcm1fcmVncy5oIgorCisjZGVmaW5lIFBSRV9ESVZfTUlOX0ZSRVEgICAgMTAwMDAwMDAgLyogTWluaW11bSBGcmVxdWVuY3kgYWZ0ZXIgUHJlZGl2aWRlciAqLworCitzdGF0aWMgdm9pZCBfX2NhbGNfcHJlX3Bvc3RfZGl2aWRlcnModTMyIGRpdiwgdTMyICpwcmUsIHUzMiAqcG9zdCkKK3sKKwl1MzIgbWluX3ByZSwgdGVtcF9wcmUsIG9sZF9lcnIsIGVycjsKKworCWlmIChkaXYgPj0gNTEyKSB7CisJCSpwcmUgPSA4OworCQkqcG9zdCA9IDY0OworCX0gZWxzZSBpZiAoZGl2ID49IDY0KSB7CisJCW1pbl9wcmUgPSAoZGl2IC0gMSkgLyA2NCArIDE7CisJCW9sZF9lcnIgPSA4OworCQlmb3IgKHRlbXBfcHJlID0gODsgdGVtcF9wcmUgPj0gbWluX3ByZTsgdGVtcF9wcmUtLSkgeworCQkJZXJyID0gZGl2ICUgdGVtcF9wcmU7CisJCQlpZiAoZXJyID09IDApIHsKKwkJCQkqcHJlID0gdGVtcF9wcmU7CisJCQkJYnJlYWs7CisJCQl9CisJCQllcnIgPSB0ZW1wX3ByZSAtIGVycjsKKwkJCWlmIChlcnIgPCBvbGRfZXJyKSB7CisJCQkJb2xkX2VyciA9IGVycjsKKwkJCQkqcHJlID0gdGVtcF9wcmU7CisJCQl9CisJCX0KKwkJKnBvc3QgPSAoZGl2ICsgKnByZSAtIDEpIC8gKnByZTsKKwl9IGVsc2UgaWYgKGRpdiA8PSA4KSB7CisJCSpwcmUgPSBkaXY7CisJCSpwb3N0ID0gMTsKKwl9IGVsc2UgeworCQkqcHJlID0gMTsKKwkJKnBvc3QgPSBkaXY7CisJfQorfQorCitzdGF0aWMgc3RydWN0IGNsayBtY3VfcGxsX2NsazsKK3N0YXRpYyBzdHJ1Y3QgY2xrIG1jdV9tYWluX2NsazsKK3N0YXRpYyBzdHJ1Y3QgY2xrIHVzYl9wbGxfY2xrOworc3RhdGljIHN0cnVjdCBjbGsgc2VyaWFsX3BsbF9jbGs7CitzdGF0aWMgc3RydWN0IGNsayBpcGdfY2xrOworc3RhdGljIHN0cnVjdCBjbGsgY2tpaF9jbGs7CitzdGF0aWMgc3RydWN0IGNsayBhaGJfY2xrOworCitzdGF0aWMgaW50IF9jbGtfZW5hYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1MzIgcmVnOworCisJcmVnID0gX19yYXdfcmVhZGwoY2xrLT5lbmFibGVfcmVnKTsKKwlyZWcgfD0gMyA8PCBjbGstPmVuYWJsZV9zaGlmdDsKKwlfX3Jhd193cml0ZWwocmVnLCBjbGstPmVuYWJsZV9yZWcpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIF9jbGtfZGlzYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJdTMyIHJlZzsKKworCXJlZyA9IF9fcmF3X3JlYWRsKGNsay0+ZW5hYmxlX3JlZyk7CisJcmVnICY9IH4oMyA8PCBjbGstPmVuYWJsZV9zaGlmdCk7CisJX19yYXdfd3JpdGVsKHJlZywgY2xrLT5lbmFibGVfcmVnKTsKK30KKworc3RhdGljIHZvaWQgX2Nsa19lbWlfZGlzYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJdTMyIHJlZzsKKworCXJlZyA9IF9fcmF3X3JlYWRsKGNsay0+ZW5hYmxlX3JlZyk7CisJcmVnICY9IH4oMyA8PCBjbGstPmVuYWJsZV9zaGlmdCk7CisJcmVnIHw9ICgxIDw8IGNsay0+ZW5hYmxlX3NoaWZ0KTsKKwlfX3Jhd193cml0ZWwocmVnLCBjbGstPmVuYWJsZV9yZWcpOworfQorCitzdGF0aWMgaW50IF9jbGtfcGxsX3NldF9yYXRlKHN0cnVjdCBjbGsgKmNsaywgdW5zaWduZWQgbG9uZyByYXRlKQoreworCXUzMiByZWc7CisJc2lnbmVkIGxvbmcgcGQgPSAxOwkvKiBQcmUtZGl2aWRlciAqLworCXNpZ25lZCBsb25nIG1maTsJLyogTXVsdGlwbGljYXRpb24gRmFjdG9yIChJbnRlZ2VyIHBhcnQpICovCisJc2lnbmVkIGxvbmcgbWZuOwkvKiBNdWx0aXBsaWNhdGlvbiBGYWN0b3IgKEludGVnZXIgcGFydCkgKi8KKwlzaWduZWQgbG9uZyBtZmQ7CS8qIE11bHRpcGxpY2F0aW9uIEZhY3RvciAoRGVub21pbmF0b3IgUGFydCkgKi8KKwlzaWduZWQgbG9uZyB0bXA7CisJdTMyIHJlZl9mcmVxID0gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KTsKKworCXdoaWxlICgoKHJlZl9mcmVxIC8gcGQpICogMTApID4gcmF0ZSkKKwkJcGQrKzsKKworCWlmICgocmVmX2ZyZXEgLyBwZCkgPCBQUkVfRElWX01JTl9GUkVRKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCS8qIHRoZSByZWZfZnJlcS8yIGluIHRoZSBmb2xsb3dpbmcgaXMgdG8gcm91bmQgdXAgKi8KKwltZmkgPSAoKChyYXRlIC8gMikgKiBwZCkgKyAocmVmX2ZyZXEgLyAyKSkgLyByZWZfZnJlcTsKKwlpZiAobWZpIDwgNSB8fCBtZmkgPiAxNSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwkvKiBwaWNrIGEgbWZkIHZhbHVlIHRoYXQgd2lsbCB3b3JrCisJICogdGhlbiBzb2x2ZSBmb3IgbWZuICovCisJbWZkID0gcmVmX2ZyZXEgLyA1MDAwMDsKKworCS8qCisJICogICAgICAgICAgcGxsX2ZyZXEgKiBwZCAqIG1mZAorCSAqICAgbWZuID0gLS0tLS0tLS0tLS0tLS0tLS0tLS0gIC0gIChtZmkgKiBtZmQpCisJICogICAgICAgICAgIDIgKiByZWZfZnJlcQorCSAqLworCS8qIHRoZSB0bXAvMiBpcyBmb3Igcm91bmRpbmcgKi8KKwl0bXAgPSByZWZfZnJlcSAvIDEwMDAwOworCW1mbiA9CisJICAgICgoKCgoKHJhdGUgLyAyKSArICh0bXAgLyAyKSkgLyB0bXApICogcGQpICogbWZkKSAvIDEwMDAwKSAtCisJICAgIChtZmkgKiBtZmQpOworCisJbWZuID0gbWZuICYgMHgzZmY7CisJcGQtLTsKKwltZmQtLTsKKworCS8qIENoYW5nZSB0aGUgUGxsIHZhbHVlICovCisJcmVnID0gKG1maSA8PCBNWENfQ0NNX1BDVExfTUZJX09GRlNFVCkgfAorCSAgICAobWZuIDw8IE1YQ19DQ01fUENUTF9NRk5fT0ZGU0VUKSB8CisJICAgIChtZmQgPDwgTVhDX0NDTV9QQ1RMX01GRF9PRkZTRVQpIHwgKHBkIDw8IE1YQ19DQ01fUENUTF9QRF9PRkZTRVQpOworCisJaWYgKGNsayA9PSAmbWN1X3BsbF9jbGspCisJCV9fcmF3X3dyaXRlbChyZWcsIE1YQ19DQ01fTVBDVEwpOworCWVsc2UgaWYgKGNsayA9PSAmdXNiX3BsbF9jbGspCisJCV9fcmF3X3dyaXRlbChyZWcsIE1YQ19DQ01fVVBDVEwpOworCWVsc2UgaWYgKGNsayA9PSAmc2VyaWFsX3BsbF9jbGspCisJCV9fcmF3X3dyaXRlbChyZWcsIE1YQ19DQ01fU1JQQ1RMKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfY2xrX3BsbF9nZXRfcmF0ZShzdHJ1Y3QgY2xrICpjbGspCit7CisJbG9uZyBtZmksIG1mbiwgbWZkLCBwZGYsIHJlZl9jbGssIG1mbl9hYnM7CisJdW5zaWduZWQgbG9uZyByZWcsIGNjbXI7CisJczY0IHRlbXA7CisJdW5zaWduZWQgaW50IHByY3M7CisKKwljY21yID0gX19yYXdfcmVhZGwoTVhDX0NDTV9DQ01SKTsKKwlwcmNzID0gKGNjbXIgJiBNWENfQ0NNX0NDTVJfUFJDU19NQVNLKSA+PiBNWENfQ0NNX0NDTVJfUFJDU19PRkZTRVQ7CisJaWYgKHByY3MgPT0gMHgxKQorCQlyZWZfY2xrID0gQ0tJTF9DTEtfRlJFUSAqIDEwMjQ7CisJZWxzZQorCQlyZWZfY2xrID0gY2xrX2dldF9yYXRlKCZja2loX2Nsayk7CisKKwlpZiAoY2xrID09ICZtY3VfcGxsX2NsaykgeworCQlpZiAoKGNjbXIgJiBNWENfQ0NNX0NDTVJfTVBFKSA9PSAwKQorCQkJcmV0dXJuIHJlZl9jbGs7CisJCWlmICgoY2NtciAmIE1YQ19DQ01fQ0NNUl9NRFMpICE9IDApCisJCQlyZXR1cm4gcmVmX2NsazsKKwkJcmVnID0gX19yYXdfcmVhZGwoTVhDX0NDTV9NUENUTCk7CisJfSBlbHNlIGlmIChjbGsgPT0gJnVzYl9wbGxfY2xrKQorCQlyZWcgPSBfX3Jhd19yZWFkbChNWENfQ0NNX1VQQ1RMKTsKKwllbHNlIGlmIChjbGsgPT0gJnNlcmlhbF9wbGxfY2xrKQorCQlyZWcgPSBfX3Jhd19yZWFkbChNWENfQ0NNX1NSUENUTCk7CisJZWxzZSB7CisJCUJVRygpOworCQlyZXR1cm4gMDsKKwl9CisKKwlwZGYgPSAocmVnICYgTVhDX0NDTV9QQ1RMX1BEX01BU0spID4+IE1YQ19DQ01fUENUTF9QRF9PRkZTRVQ7CisJbWZkID0gKHJlZyAmIE1YQ19DQ01fUENUTF9NRkRfTUFTSykgPj4gTVhDX0NDTV9QQ1RMX01GRF9PRkZTRVQ7CisJbWZpID0gKHJlZyAmIE1YQ19DQ01fUENUTF9NRklfTUFTSykgPj4gTVhDX0NDTV9QQ1RMX01GSV9PRkZTRVQ7CisJbWZpID0gKG1maSA8PSA1KSA/IDUgOiBtZmk7CisJbWZuID0gbWZuX2FicyA9IHJlZyAmIE1YQ19DQ01fUENUTF9NRk5fTUFTSzsKKworCWlmIChtZm4gPj0gMHgyMDApIHsKKwkJbWZuIHw9IDB4RkZGRkZFMDA7CisJCW1mbl9hYnMgPSAtbWZuOworCX0KKworCXJlZl9jbGsgKj0gMjsKKwlyZWZfY2xrIC89IHBkZiArIDE7CisKKwl0ZW1wID0gKHU2NCkgcmVmX2NsayAqIG1mbl9hYnM7CisJZG9fZGl2KHRlbXAsIG1mZCArIDEpOworCWlmIChtZm4gPCAwKQorCQl0ZW1wID0gLXRlbXA7CisJdGVtcCA9IChyZWZfY2xrICogbWZpKSArIHRlbXA7CisKKwlyZXR1cm4gdGVtcDsKK30KKworc3RhdGljIGludCBfY2xrX3VzYl9wbGxfZW5hYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1MzIgcmVnOworCisJcmVnID0gX19yYXdfcmVhZGwoTVhDX0NDTV9DQ01SKTsKKwlyZWcgfD0gTVhDX0NDTV9DQ01SX1VQRTsKKwlfX3Jhd193cml0ZWwocmVnLCBNWENfQ0NNX0NDTVIpOworCisJLyogTm8gbG9jayBiaXQgb24gTVgzMSwgc28gdXNpbmcgbWF4IHRpbWUgZnJvbSBzcGVjICovCisJdWRlbGF5KDgwKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBfY2xrX3VzYl9wbGxfZGlzYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJdTMyIHJlZzsKKworCXJlZyA9IF9fcmF3X3JlYWRsKE1YQ19DQ01fQ0NNUik7CisJcmVnICY9IH5NWENfQ0NNX0NDTVJfVVBFOworCV9fcmF3X3dyaXRlbChyZWcsIE1YQ19DQ01fQ0NNUik7Cit9CisKK3N0YXRpYyBpbnQgX2Nsa19zZXJpYWxfcGxsX2VuYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJdTMyIHJlZzsKKworCXJlZyA9IF9fcmF3X3JlYWRsKE1YQ19DQ01fQ0NNUik7CisJcmVnIHw9IE1YQ19DQ01fQ0NNUl9TUEU7CisJX19yYXdfd3JpdGVsKHJlZywgTVhDX0NDTV9DQ01SKTsKKworCS8qIE5vIGxvY2sgYml0IG9uIE1YMzEsIHNvIHVzaW5nIG1heCB0aW1lIGZyb20gc3BlYyAqLworCXVkZWxheSg4MCk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgX2Nsa19zZXJpYWxfcGxsX2Rpc2FibGUoc3RydWN0IGNsayAqY2xrKQoreworCXUzMiByZWc7CisKKwlyZWcgPSBfX3Jhd19yZWFkbChNWENfQ0NNX0NDTVIpOworCXJlZyAmPSB+TVhDX0NDTV9DQ01SX1NQRTsKKwlfX3Jhd193cml0ZWwocmVnLCBNWENfQ0NNX0NDTVIpOworfQorCisjZGVmaW5lIFBEUjAobWFzaywgb2ZmKSAoKF9fcmF3X3JlYWRsKE1YQ19DQ01fUERSMCkgJiBtYXNrKSA+PiBvZmYpCisjZGVmaW5lIFBEUjEobWFzaywgb2ZmKSAoKF9fcmF3X3JlYWRsKE1YQ19DQ01fUERSMSkgJiBtYXNrKSA+PiBvZmYpCisjZGVmaW5lIFBEUjIobWFzaywgb2ZmKSAoKF9fcmF3X3JlYWRsKE1YQ19DQ01fUERSMikgJiBtYXNrKSA+PiBvZmYpCisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9jbGtfbWN1X21haW5fZ2V0X3JhdGUoc3RydWN0IGNsayAqY2xrKQoreworCXUzMiBwbWNyMCA9IF9fcmF3X3JlYWRsKE1YQ19DQ01fUE1DUjApOworCisJaWYgKChwbWNyMCAmIE1YQ19DQ01fUE1DUjBfREZTVVAxKSA9PSBNWENfQ0NNX1BNQ1IwX0RGU1VQMV9TUExMKQorCQlyZXR1cm4gY2xrX2dldF9yYXRlKCZzZXJpYWxfcGxsX2Nsayk7CisJZWxzZQorCQlyZXR1cm4gY2xrX2dldF9yYXRlKCZtY3VfcGxsX2Nsayk7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9jbGtfaGNsa19nZXRfcmF0ZShzdHJ1Y3QgY2xrICpjbGspCit7CisJdW5zaWduZWQgbG9uZyBtYXhfcGRmOworCisJbWF4X3BkZiA9IFBEUjAoTVhDX0NDTV9QRFIwX01BWF9QT0RGX01BU0ssCisJCSAgICAgICBNWENfQ0NNX1BEUjBfTUFYX1BPREZfT0ZGU0VUKTsKKwlyZXR1cm4gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KSAvIChtYXhfcGRmICsgMSk7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9jbGtfaXBnX2dldF9yYXRlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIGlwZ19wZGY7CisKKwlpcGdfcGRmID0gUERSMChNWENfQ0NNX1BEUjBfSVBHX1BPREZfTUFTSywKKwkJICAgICAgIE1YQ19DQ01fUERSMF9JUEdfUE9ERl9PRkZTRVQpOworCXJldHVybiBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpIC8gKGlwZ19wZGYgKyAxKTsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2Nsa19uZmNfZ2V0X3JhdGUoc3RydWN0IGNsayAqY2xrKQoreworCXVuc2lnbmVkIGxvbmcgbmZjX3BkZjsKKworCW5mY19wZGYgPSBQRFIwKE1YQ19DQ01fUERSMF9ORkNfUE9ERl9NQVNLLAorCQkgICAgICAgTVhDX0NDTV9QRFIwX05GQ19QT0RGX09GRlNFVCk7CisJcmV0dXJuIGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCkgLyAobmZjX3BkZiArIDEpOworfQorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfY2xrX2hzcF9nZXRfcmF0ZShzdHJ1Y3QgY2xrICpjbGspCit7CisJdW5zaWduZWQgbG9uZyBoc3BfcGRmOworCisJaHNwX3BkZiA9IFBEUjAoTVhDX0NDTV9QRFIwX0hTUF9QT0RGX01BU0ssCisJCSAgICAgICBNWENfQ0NNX1BEUjBfSFNQX1BPREZfT0ZGU0VUKTsKKwlyZXR1cm4gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KSAvIChoc3BfcGRmICsgMSk7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9jbGtfdXNiX2dldF9yYXRlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIHVzYl9wZGYsIHVzYl9wcmVwZGY7CisKKwl1c2JfcGRmID0gUERSMShNWENfQ0NNX1BEUjFfVVNCX1BPREZfTUFTSywKKwkJICAgICAgIE1YQ19DQ01fUERSMV9VU0JfUE9ERl9PRkZTRVQpOworCXVzYl9wcmVwZGYgPSBQRFIxKE1YQ19DQ01fUERSMV9VU0JfUFJERl9NQVNLLAorCQkJICBNWENfQ0NNX1BEUjFfVVNCX1BSREZfT0ZGU0VUKTsKKwlyZXR1cm4gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KSAvICh1c2JfcHJlcGRmICsgMSkgLyAodXNiX3BkZiArIDEpOworfQorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfY2xrX2NzaV9nZXRfcmF0ZShzdHJ1Y3QgY2xrICpjbGspCit7CisJdTMyIHJlZywgcHJlLCBwb3N0OworCisJcmVnID0gX19yYXdfcmVhZGwoTVhDX0NDTV9QRFIwKTsKKwlwcmUgPSAocmVnICYgTVhDX0NDTV9QRFIwX0NTSV9QUkRGX01BU0spID4+CisJICAgIE1YQ19DQ01fUERSMF9DU0lfUFJERl9PRkZTRVQ7CisJcHJlKys7CisJcG9zdCA9IChyZWcgJiBNWENfQ0NNX1BEUjBfQ1NJX1BPREZfTUFTSykgPj4KKwkgICAgTVhDX0NDTV9QRFIwX0NTSV9QT0RGX09GRlNFVDsKKwlwb3N0Kys7CisJcmV0dXJuIGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCkgLyAocHJlICogcG9zdCk7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9jbGtfY3NpX3JvdW5kX3JhdGUoc3RydWN0IGNsayAqY2xrLCB1bnNpZ25lZCBsb25nIHJhdGUpCit7CisJdTMyIHByZSwgcG9zdCwgcGFyZW50ID0gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KTsKKwl1MzIgZGl2ID0gcGFyZW50IC8gcmF0ZTsKKworCWlmIChwYXJlbnQgJSByYXRlKQorCQlkaXYrKzsKKworCV9fY2FsY19wcmVfcG9zdF9kaXZpZGVycyhkaXYsICZwcmUsICZwb3N0KTsKKworCXJldHVybiBwYXJlbnQgLyAocHJlICogcG9zdCk7Cit9CisKK3N0YXRpYyBpbnQgX2Nsa19jc2lfc2V0X3JhdGUoc3RydWN0IGNsayAqY2xrLCB1bnNpZ25lZCBsb25nIHJhdGUpCit7CisJdTMyIHJlZywgZGl2LCBwcmUsIHBvc3QsIHBhcmVudCA9IGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCk7CisKKwlkaXYgPSBwYXJlbnQgLyByYXRlOworCisJaWYgKChwYXJlbnQgLyBkaXYpICE9IHJhdGUpCisJCXJldHVybiAtRUlOVkFMOworCisJX19jYWxjX3ByZV9wb3N0X2RpdmlkZXJzKGRpdiwgJnByZSwgJnBvc3QpOworCisJLyogU2V0IENTSSBjbG9jayBkaXZpZGVyICovCisJcmVnID0gX19yYXdfcmVhZGwoTVhDX0NDTV9QRFIwKSAmCisJICAgIH4oTVhDX0NDTV9QRFIwX0NTSV9QT0RGX01BU0sgfCBNWENfQ0NNX1BEUjBfQ1NJX1BSREZfTUFTSyk7CisJcmVnIHw9IChwb3N0IC0gMSkgPDwgTVhDX0NDTV9QRFIwX0NTSV9QT0RGX09GRlNFVDsKKwlyZWcgfD0gKHByZSAtIDEpIDw8IE1YQ19DQ01fUERSMF9DU0lfUFJERl9PRkZTRVQ7CisJX19yYXdfd3JpdGVsKHJlZywgTVhDX0NDTV9QRFIwKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfY2xrX3Blcl9nZXRfcmF0ZShzdHJ1Y3QgY2xrICpjbGspCit7CisJdW5zaWduZWQgbG9uZyBwZXJfcGRmOworCisJcGVyX3BkZiA9IFBEUjAoTVhDX0NDTV9QRFIwX1BFUl9QT0RGX01BU0ssCisJCSAgICAgICBNWENfQ0NNX1BEUjBfUEVSX1BPREZfT0ZGU0VUKTsKKwlyZXR1cm4gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KSAvIChwZXJfcGRmICsgMSk7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9jbGtfc3NpMV9nZXRfcmF0ZShzdHJ1Y3QgY2xrICpjbGspCit7CisJdW5zaWduZWQgbG9uZyBzc2kxX3BkZiwgc3NpMV9wcmVwZGY7CisKKwlzc2kxX3BkZiA9IFBEUjEoTVhDX0NDTV9QRFIxX1NTSTFfUE9ERl9NQVNLLAorCQkJTVhDX0NDTV9QRFIxX1NTSTFfUE9ERl9PRkZTRVQpOworCXNzaTFfcHJlcGRmID0gUERSMShNWENfQ0NNX1BEUjFfU1NJMV9QUkVfUE9ERl9NQVNLLAorCQkJICAgTVhDX0NDTV9QRFIxX1NTSTFfUFJFX1BPREZfT0ZGU0VUKTsKKwlyZXR1cm4gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KSAvIChzc2kxX3ByZXBkZiArIDEpIC8gKHNzaTFfcGRmICsgMSk7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9jbGtfc3NpMl9nZXRfcmF0ZShzdHJ1Y3QgY2xrICpjbGspCit7CisJdW5zaWduZWQgbG9uZyBzc2kyX3BkZiwgc3NpMl9wcmVwZGY7CisKKwlzc2kyX3BkZiA9IFBEUjEoTVhDX0NDTV9QRFIxX1NTSTJfUE9ERl9NQVNLLAorCQkJTVhDX0NDTV9QRFIxX1NTSTJfUE9ERl9PRkZTRVQpOworCXNzaTJfcHJlcGRmID0gUERSMShNWENfQ0NNX1BEUjFfU1NJMl9QUkVfUE9ERl9NQVNLLAorCQkJICAgTVhDX0NDTV9QRFIxX1NTSTJfUFJFX1BPREZfT0ZGU0VUKTsKKwlyZXR1cm4gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KSAvIChzc2kyX3ByZXBkZiArIDEpIC8gKHNzaTJfcGRmICsgMSk7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9jbGtfZmlyaV9nZXRfcmF0ZShzdHJ1Y3QgY2xrICpjbGspCit7CisJdW5zaWduZWQgbG9uZyBmaXJpX3BkZiwgZmlyaV9wcmVwZGY7CisKKwlmaXJpX3BkZiA9IFBEUjEoTVhDX0NDTV9QRFIxX0ZJUklfUE9ERl9NQVNLLAorCQkJTVhDX0NDTV9QRFIxX0ZJUklfUE9ERl9PRkZTRVQpOworCWZpcmlfcHJlcGRmID0gUERSMShNWENfQ0NNX1BEUjFfRklSSV9QUkVfUE9ERl9NQVNLLAorCQkJICAgTVhDX0NDTV9QRFIxX0ZJUklfUFJFX1BPREZfT0ZGU0VUKTsKKwlyZXR1cm4gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KSAvIChmaXJpX3ByZXBkZiArIDEpIC8gKGZpcmlfcGRmICsgMSk7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9jbGtfZmlyaV9yb3VuZF9yYXRlKHN0cnVjdCBjbGsgKmNsaywgdW5zaWduZWQgbG9uZyByYXRlKQoreworCXUzMiBwcmUsIHBvc3Q7CisJdTMyIHBhcmVudCA9IGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCk7CisJdTMyIGRpdiA9IHBhcmVudCAvIHJhdGU7CisKKwlpZiAocGFyZW50ICUgcmF0ZSkKKwkJZGl2Kys7CisKKwlfX2NhbGNfcHJlX3Bvc3RfZGl2aWRlcnMoZGl2LCAmcHJlLCAmcG9zdCk7CisKKwlyZXR1cm4gcGFyZW50IC8gKHByZSAqIHBvc3QpOworCit9CisKK3N0YXRpYyBpbnQgX2Nsa19maXJpX3NldF9yYXRlKHN0cnVjdCBjbGsgKmNsaywgdW5zaWduZWQgbG9uZyByYXRlKQoreworCXUzMiByZWcsIGRpdiwgcHJlLCBwb3N0LCBwYXJlbnQgPSBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpOworCisJZGl2ID0gcGFyZW50IC8gcmF0ZTsKKworCWlmICgocGFyZW50IC8gZGl2KSAhPSByYXRlKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCV9fY2FsY19wcmVfcG9zdF9kaXZpZGVycyhkaXYsICZwcmUsICZwb3N0KTsKKworCS8qIFNldCBGSVJJIGNsb2NrIGRpdmlkZXIgKi8KKwlyZWcgPSBfX3Jhd19yZWFkbChNWENfQ0NNX1BEUjEpICYKKwkgICAgfihNWENfQ0NNX1BEUjFfRklSSV9QT0RGX01BU0sgfCBNWENfQ0NNX1BEUjFfRklSSV9QUkVfUE9ERl9NQVNLKTsKKwlyZWcgfD0gKHByZSAtIDEpIDw8IE1YQ19DQ01fUERSMV9GSVJJX1BSRV9QT0RGX09GRlNFVDsKKwlyZWcgfD0gKHBvc3QgLSAxKSA8PCBNWENfQ0NNX1BEUjFfRklSSV9QT0RGX09GRlNFVDsKKwlfX3Jhd193cml0ZWwocmVnLCBNWENfQ0NNX1BEUjEpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9jbGtfbWJ4X2dldF9yYXRlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwlyZXR1cm4gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KSAvIDI7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9jbGtfbXN0aWNrMV9nZXRfcmF0ZShzdHJ1Y3QgY2xrICpjbGspCit7CisJdW5zaWduZWQgbG9uZyBtc3RpX3BkZjsKKworCW1zdGlfcGRmID0gUERSMihNWENfQ0NNX1BEUjJfTVNUMV9QREZfTUFTSywKKwkJCU1YQ19DQ01fUERSMl9NU1QxX1BERl9PRkZTRVQpOworCXJldHVybiBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpIC8gKG1zdGlfcGRmICsgMSk7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9jbGtfbXN0aWNrMl9nZXRfcmF0ZShzdHJ1Y3QgY2xrICpjbGspCit7CisJdW5zaWduZWQgbG9uZyBtc3RpX3BkZjsKKworCW1zdGlfcGRmID0gUERSMihNWENfQ0NNX1BEUjJfTVNUMl9QREZfTUFTSywKKwkJCU1YQ19DQ01fUERSMl9NU1QyX1BERl9PRkZTRVQpOworCXJldHVybiBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpIC8gKG1zdGlfcGRmICsgMSk7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGNraWhfcmF0ZTsKKworc3RhdGljIHVuc2lnbmVkIGxvbmcgY2xrX2NraWhfZ2V0X3JhdGUoc3RydWN0IGNsayAqY2xrKQoreworCXJldHVybiBja2loX3JhdGU7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGNraWhfY2xrID0geworCS5uYW1lID0gImNraWgiLAorCS5nZXRfcmF0ZSA9IGNsa19ja2loX2dldF9yYXRlLAorfTsKKworc3RhdGljIHVuc2lnbmVkIGxvbmcgY2xrX2NraWxfZ2V0X3JhdGUoc3RydWN0IGNsayAqY2xrKQoreworCXJldHVybiBDS0lMX0NMS19GUkVROworfQorCitzdGF0aWMgc3RydWN0IGNsayBja2lsX2NsayA9IHsKKwkubmFtZSA9ICJja2lsIiwKKwkuZ2V0X3JhdGUgPSBjbGtfY2tpbF9nZXRfcmF0ZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIG1jdV9wbGxfY2xrID0geworCS5uYW1lID0gIm1jdV9wbGwiLAorCS5wYXJlbnQgPSAmY2tpaF9jbGssCisJLnNldF9yYXRlID0gX2Nsa19wbGxfc2V0X3JhdGUsCisJLmdldF9yYXRlID0gX2Nsa19wbGxfZ2V0X3JhdGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayBtY3VfbWFpbl9jbGsgPSB7CisJLm5hbWUgPSAibWN1X21haW5fY2xrIiwKKwkucGFyZW50ID0gJm1jdV9wbGxfY2xrLAorCS5nZXRfcmF0ZSA9IF9jbGtfbWN1X21haW5fZ2V0X3JhdGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayBzZXJpYWxfcGxsX2NsayA9IHsKKwkubmFtZSA9ICJzZXJpYWxfcGxsIiwKKwkucGFyZW50ID0gJmNraWhfY2xrLAorCS5zZXRfcmF0ZSA9IF9jbGtfcGxsX3NldF9yYXRlLAorCS5nZXRfcmF0ZSA9IF9jbGtfcGxsX2dldF9yYXRlLAorCS5lbmFibGUgPSBfY2xrX3NlcmlhbF9wbGxfZW5hYmxlLAorCS5kaXNhYmxlID0gX2Nsa19zZXJpYWxfcGxsX2Rpc2FibGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayB1c2JfcGxsX2NsayA9IHsKKwkubmFtZSA9ICJ1c2JfcGxsIiwKKwkucGFyZW50ID0gJmNraWhfY2xrLAorCS5zZXRfcmF0ZSA9IF9jbGtfcGxsX3NldF9yYXRlLAorCS5nZXRfcmF0ZSA9IF9jbGtfcGxsX2dldF9yYXRlLAorCS5lbmFibGUgPSBfY2xrX3VzYl9wbGxfZW5hYmxlLAorCS5kaXNhYmxlID0gX2Nsa191c2JfcGxsX2Rpc2FibGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayBhaGJfY2xrID0geworCS5uYW1lID0gImFoYl9jbGsiLAorCS5wYXJlbnQgPSAmbWN1X21haW5fY2xrLAorCS5nZXRfcmF0ZSA9IF9jbGtfaGNsa19nZXRfcmF0ZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIHBlcl9jbGsgPSB7CisJLm5hbWUgPSAicGVyX2NsayIsCisJLnBhcmVudCA9ICZ1c2JfcGxsX2NsaywKKwkuZ2V0X3JhdGUgPSBfY2xrX3Blcl9nZXRfcmF0ZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIHBlcmNsa19jbGsgPSB7CisJLm5hbWUgPSAicGVyY2xrX2NsayIsCisJLnBhcmVudCA9ICZpcGdfY2xrLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgY3NwaV9jbGtbXSA9IHsKKwl7CisJIC5uYW1lID0gImNzcGlfY2xrIiwKKwkgLmlkID0gMCwKKwkgLnBhcmVudCA9ICZpcGdfY2xrLAorCSAuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJIC5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IyLAorCSAuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IyX0NTUEkxX09GRlNFVCwKKwkgLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsfSwKKwl7CisJIC5uYW1lID0gImNzcGlfY2xrIiwKKwkgLmlkID0gMSwKKwkgLnBhcmVudCA9ICZpcGdfY2xrLAorCSAuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJIC5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IyLAorCSAuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IyX0NTUEkyX09GRlNFVCwKKwkgLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsfSwKKwl7CisJIC5uYW1lID0gImNzcGlfY2xrIiwKKwkgLmlkID0gMiwKKwkgLnBhcmVudCA9ICZpcGdfY2xrLAorCSAuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJIC5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IwLAorCSAuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IwX0NTUEkzX09GRlNFVCwKKwkgLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGlwZ19jbGsgPSB7CisJLm5hbWUgPSAiaXBnX2NsayIsCisJLnBhcmVudCA9ICZhaGJfY2xrLAorCS5nZXRfcmF0ZSA9IF9jbGtfaXBnX2dldF9yYXRlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgZW1pX2NsayA9IHsKKwkubmFtZSA9ICJlbWlfY2xrIiwKKwkucGFyZW50ID0gJmFoYl9jbGssCisJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCS5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IyLAorCS5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjJfRU1JX09GRlNFVCwKKwkuZGlzYWJsZSA9IF9jbGtfZW1pX2Rpc2FibGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayBncHRfY2xrID0geworCS5uYW1lID0gImdwdF9jbGsiLAorCS5wYXJlbnQgPSAmcGVyY2xrX2NsaywKKwkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjAsCisJLmVuYWJsZV9zaGlmdCA9IE1YQ19DQ01fQ0dSMF9HUFRfT0ZGU0VULAorCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgcHdtX2NsayA9IHsKKwkubmFtZSA9ICJwd21fY2xrIiwKKwkucGFyZW50ID0gJnBlcmNsa19jbGssCisJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCS5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IwLAorCS5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjFfUFdNX09GRlNFVCwKKwkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGVwaXRfY2xrW10gPSB7CisJeworCSAubmFtZSA9ICJlcGl0X2NsayIsCisJIC5pZCA9IDAsCisJIC5wYXJlbnQgPSAmcGVyY2xrX2NsaywKKwkgLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCSAuZW5hYmxlX3JlZyA9IE1YQ19DQ01fQ0dSMCwKKwkgLmVuYWJsZV9zaGlmdCA9IE1YQ19DQ01fQ0dSMF9FUElUMV9PRkZTRVQsCisJIC5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLH0sCisJeworCSAubmFtZSA9ICJlcGl0X2NsayIsCisJIC5pZCA9IDEsCisJIC5wYXJlbnQgPSAmcGVyY2xrX2NsaywKKwkgLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCSAuZW5hYmxlX3JlZyA9IE1YQ19DQ01fQ0dSMCwKKwkgLmVuYWJsZV9zaGlmdCA9IE1YQ19DQ01fQ0dSMF9FUElUMl9PRkZTRVQsCisJIC5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLH0sCit9OworCitzdGF0aWMgc3RydWN0IGNsayBuZmNfY2xrID0geworCS5uYW1lID0gIm5mY19jbGsiLAorCS5wYXJlbnQgPSAmYWhiX2NsaywKKwkuZ2V0X3JhdGUgPSBfY2xrX25mY19nZXRfcmF0ZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIHNjY19jbGsgPSB7CisJLm5hbWUgPSAic2NjX2NsayIsCisJLnBhcmVudCA9ICZpcGdfY2xrLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgaXB1X2NsayA9IHsKKwkubmFtZSA9ICJpcHVfY2xrIiwKKwkucGFyZW50ID0gJm1jdV9tYWluX2NsaywKKwkuZ2V0X3JhdGUgPSBfY2xrX2hzcF9nZXRfcmF0ZSwKKwkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjEsCisJLmVuYWJsZV9zaGlmdCA9IE1YQ19DQ01fQ0dSMV9JUFVfT0ZGU0VULAorCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsga3BwX2NsayA9IHsKKwkubmFtZSA9ICJrcHBfY2xrIiwKKwkucGFyZW50ID0gJmlwZ19jbGssCisJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCS5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IxLAorCS5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjFfS1BQX09GRlNFVCwKKwkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIHdkb2dfY2xrID0geworCS5uYW1lID0gIndkb2dfY2xrIiwKKwkucGFyZW50ID0gJmlwZ19jbGssCisJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCS5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IxLAorCS5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjFfV0RPR19PRkZTRVQsCisJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCit9Oworc3RhdGljIHN0cnVjdCBjbGsgcnRjX2NsayA9IHsKKwkubmFtZSA9ICJydGNfY2xrIiwKKwkucGFyZW50ID0gJmlwZ19jbGssCisJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCS5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IxLAorCS5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjFfUlRDX09GRlNFVCwKKwkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIHVzYl9jbGtbXSA9IHsKKwl7CisJIC5uYW1lID0gInVzYl9jbGsiLAorCSAucGFyZW50ID0gJnVzYl9wbGxfY2xrLAorCSAuZ2V0X3JhdGUgPSBfY2xrX3VzYl9nZXRfcmF0ZSx9LAorCXsKKwkgLm5hbWUgPSAidXNiX2FoYl9jbGsiLAorCSAucGFyZW50ID0gJmFoYl9jbGssCisJIC5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkgLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjEsCisJIC5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjFfVVNCT1RHX09GRlNFVCwKKwkgLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGNzaV9jbGsgPSB7CisJLm5hbWUgPSAiY3NpX2NsayIsCisJLnBhcmVudCA9ICZzZXJpYWxfcGxsX2NsaywKKwkuZ2V0X3JhdGUgPSBfY2xrX2NzaV9nZXRfcmF0ZSwKKwkucm91bmRfcmF0ZSA9IF9jbGtfY3NpX3JvdW5kX3JhdGUsCisJLnNldF9yYXRlID0gX2Nsa19jc2lfc2V0X3JhdGUsCisJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCS5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IxLAorCS5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjFfQ1NJX09GRlNFVCwKKwkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIHVhcnRfY2xrW10gPSB7CisJeworCSAubmFtZSA9ICJ1YXJ0X2NsayIsCisJIC5pZCA9IDAsCisJIC5wYXJlbnQgPSAmcGVyY2xrX2NsaywKKwkgLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCSAuZW5hYmxlX3JlZyA9IE1YQ19DQ01fQ0dSMCwKKwkgLmVuYWJsZV9zaGlmdCA9IE1YQ19DQ01fQ0dSMF9VQVJUMV9PRkZTRVQsCisJIC5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLH0sCisJeworCSAubmFtZSA9ICJ1YXJ0X2NsayIsCisJIC5pZCA9IDEsCisJIC5wYXJlbnQgPSAmcGVyY2xrX2NsaywKKwkgLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCSAuZW5hYmxlX3JlZyA9IE1YQ19DQ01fQ0dSMCwKKwkgLmVuYWJsZV9zaGlmdCA9IE1YQ19DQ01fQ0dSMF9VQVJUMl9PRkZTRVQsCisJIC5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLH0sCisJeworCSAubmFtZSA9ICJ1YXJ0X2NsayIsCisJIC5pZCA9IDIsCisJIC5wYXJlbnQgPSAmcGVyY2xrX2NsaywKKwkgLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCSAuZW5hYmxlX3JlZyA9IE1YQ19DQ01fQ0dSMSwKKwkgLmVuYWJsZV9zaGlmdCA9IE1YQ19DQ01fQ0dSMV9VQVJUM19PRkZTRVQsCisJIC5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLH0sCisJeworCSAubmFtZSA9ICJ1YXJ0X2NsayIsCisJIC5pZCA9IDMsCisJIC5wYXJlbnQgPSAmcGVyY2xrX2NsaywKKwkgLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCSAuZW5hYmxlX3JlZyA9IE1YQ19DQ01fQ0dSMSwKKwkgLmVuYWJsZV9zaGlmdCA9IE1YQ19DQ01fQ0dSMV9VQVJUNF9PRkZTRVQsCisJIC5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLH0sCisJeworCSAubmFtZSA9ICJ1YXJ0X2NsayIsCisJIC5pZCA9IDQsCisJIC5wYXJlbnQgPSAmcGVyY2xrX2NsaywKKwkgLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCSAuZW5hYmxlX3JlZyA9IE1YQ19DQ01fQ0dSMSwKKwkgLmVuYWJsZV9zaGlmdCA9IE1YQ19DQ01fQ0dSMV9VQVJUNV9PRkZTRVQsCisJIC5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLH0sCit9OworCitzdGF0aWMgc3RydWN0IGNsayBpMmNfY2xrW10gPSB7CisJeworCSAubmFtZSA9ICJpMmNfY2xrIiwKKwkgLmlkID0gMCwKKwkgLnBhcmVudCA9ICZwZXJjbGtfY2xrLAorCSAuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJIC5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IwLAorCSAuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IwX0kyQzFfT0ZGU0VULAorCSAuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSx9LAorCXsKKwkgLm5hbWUgPSAiaTJjX2NsayIsCisJIC5pZCA9IDEsCisJIC5wYXJlbnQgPSAmcGVyY2xrX2NsaywKKwkgLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCSAuZW5hYmxlX3JlZyA9IE1YQ19DQ01fQ0dSMCwKKwkgLmVuYWJsZV9zaGlmdCA9IE1YQ19DQ01fQ0dSMF9JMkMyX09GRlNFVCwKKwkgLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsfSwKKwl7CisJIC5uYW1lID0gImkyY19jbGsiLAorCSAuaWQgPSAyLAorCSAucGFyZW50ID0gJnBlcmNsa19jbGssCisJIC5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkgLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjAsCisJIC5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjBfSTJDM19PRkZTRVQsCisJIC5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLH0sCit9OworCitzdGF0aWMgc3RydWN0IGNsayBvd2lyZV9jbGsgPSB7CisJLm5hbWUgPSAib3dpcmVfY2xrIiwKKwkucGFyZW50ID0gJnBlcmNsa19jbGssCisJLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjEsCisJLmVuYWJsZV9zaGlmdCA9IE1YQ19DQ01fQ0dSMV9PV0lSRV9PRkZTRVQsCisJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgc2RoY19jbGtbXSA9IHsKKwl7CisJIC5uYW1lID0gInNkaGNfY2xrIiwKKwkgLmlkID0gMCwKKwkgLnBhcmVudCA9ICZwZXJjbGtfY2xrLAorCSAuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJIC5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IwLAorCSAuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IwX1NEX01NQzFfT0ZGU0VULAorCSAuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSx9LAorCXsKKwkgLm5hbWUgPSAic2RoY19jbGsiLAorCSAuaWQgPSAxLAorCSAucGFyZW50ID0gJnBlcmNsa19jbGssCisJIC5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkgLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjAsCisJIC5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjBfU0RfTU1DMl9PRkZTRVQsCisJIC5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLH0sCit9OworCitzdGF0aWMgc3RydWN0IGNsayBzc2lfY2xrW10gPSB7CisJeworCSAubmFtZSA9ICJzc2lfY2xrIiwKKwkgLnBhcmVudCA9ICZzZXJpYWxfcGxsX2NsaywKKwkgLmdldF9yYXRlID0gX2Nsa19zc2kxX2dldF9yYXRlLAorCSAuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJIC5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IwLAorCSAuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IwX1NTSTFfT0ZGU0VULAorCSAuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSx9LAorCXsKKwkgLm5hbWUgPSAic3NpX2NsayIsCisJIC5pZCA9IDEsCisJIC5wYXJlbnQgPSAmc2VyaWFsX3BsbF9jbGssCisJIC5nZXRfcmF0ZSA9IF9jbGtfc3NpMl9nZXRfcmF0ZSwKKwkgLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCSAuZW5hYmxlX3JlZyA9IE1YQ19DQ01fQ0dSMiwKKwkgLmVuYWJsZV9zaGlmdCA9IE1YQ19DQ01fQ0dSMl9TU0kyX09GRlNFVCwKKwkgLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGZpcmlfY2xrID0geworCS5uYW1lID0gImZpcmlfY2xrIiwKKwkucGFyZW50ID0gJnVzYl9wbGxfY2xrLAorCS5yb3VuZF9yYXRlID0gX2Nsa19maXJpX3JvdW5kX3JhdGUsCisJLnNldF9yYXRlID0gX2Nsa19maXJpX3NldF9yYXRlLAorCS5nZXRfcmF0ZSA9IF9jbGtfZmlyaV9nZXRfcmF0ZSwKKwkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjIsCisJLmVuYWJsZV9zaGlmdCA9IE1YQ19DQ01fQ0dSMl9GSVJJX09GRlNFVCwKKwkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGF0YV9jbGsgPSB7CisJLm5hbWUgPSAiYXRhX2NsayIsCisJLnBhcmVudCA9ICZpcGdfY2xrLAorCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkuZW5hYmxlX3JlZyA9IE1YQ19DQ01fQ0dSMCwKKwkuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IwX0FUQV9PRkZTRVQsCisJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayBtYnhfY2xrID0geworCS5uYW1lID0gIm1ieF9jbGsiLAorCS5wYXJlbnQgPSAmYWhiX2NsaywKKwkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjIsCisJLmVuYWJsZV9zaGlmdCA9IE1YQ19DQ01fQ0dSMl9HQUNDX09GRlNFVCwKKwkuZ2V0X3JhdGUgPSBfY2xrX21ieF9nZXRfcmF0ZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIHZwdV9jbGsgPSB7CisJLm5hbWUgPSAidnB1X2NsayIsCisJLnBhcmVudCA9ICZhaGJfY2xrLAorCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkuZW5hYmxlX3JlZyA9IE1YQ19DQ01fQ0dSMiwKKwkuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IyX0dBQ0NfT0ZGU0VULAorCS5nZXRfcmF0ZSA9IF9jbGtfbWJ4X2dldF9yYXRlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgcnRpY19jbGsgPSB7CisJLm5hbWUgPSAicnRpY19jbGsiLAorCS5wYXJlbnQgPSAmYWhiX2NsaywKKwkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjIsCisJLmVuYWJsZV9zaGlmdCA9IE1YQ19DQ01fQ0dSMl9SVElDX09GRlNFVCwKKwkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIHJuZ19jbGsgPSB7CisJLm5hbWUgPSAicm5nX2NsayIsCisJLnBhcmVudCA9ICZpcGdfY2xrLAorCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkuZW5hYmxlX3JlZyA9IE1YQ19DQ01fQ0dSMCwKKwkuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IwX1JOR19PRkZTRVQsCisJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayBzZG1hX2Nsa1tdID0geworCXsKKwkgLm5hbWUgPSAic2RtYV9haGJfY2xrIiwKKwkgLnBhcmVudCA9ICZhaGJfY2xrLAorCSAuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJIC5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IwLAorCSAuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IwX1NETUFfT0ZGU0VULAorCSAuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSx9LAorCXsKKwkgLm5hbWUgPSAic2RtYV9pcGdfY2xrIiwKKwkgLnBhcmVudCA9ICZpcGdfY2xrLH0KK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIG1wZWc0X2NsayA9IHsKKwkubmFtZSA9ICJtcGVnNF9jbGsiLAorCS5wYXJlbnQgPSAmYWhiX2NsaywKKwkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjEsCisJLmVuYWJsZV9zaGlmdCA9IE1YQ19DQ01fQ0dSMV9IQU5UUk9fT0ZGU0VULAorCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgdmwyY2NfY2xrID0geworCS5uYW1lID0gInZsMmNjX2NsayIsCisJLnBhcmVudCA9ICZhaGJfY2xrLAorCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkuZW5hYmxlX3JlZyA9IE1YQ19DQ01fQ0dSMSwKKwkuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IxX0hBTlRST19PRkZTRVQsCisJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayBtc3RpY2tfY2xrW10gPSB7CisJeworCSAubmFtZSA9ICJtc3RpY2tfY2xrIiwKKwkgLmlkID0gMCwKKwkgLnBhcmVudCA9ICZ1c2JfcGxsX2NsaywKKwkgLmdldF9yYXRlID0gX2Nsa19tc3RpY2sxX2dldF9yYXRlLAorCSAuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJIC5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IxLAorCSAuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IxX01FTVNUSUNLMV9PRkZTRVQsCisJIC5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLH0sCisJeworCSAubmFtZSA9ICJtc3RpY2tfY2xrIiwKKwkgLmlkID0gMSwKKwkgLnBhcmVudCA9ICZ1c2JfcGxsX2NsaywKKwkgLmdldF9yYXRlID0gX2Nsa19tc3RpY2syX2dldF9yYXRlLAorCSAuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJIC5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IxLAorCSAuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IxX01FTVNUSUNLMl9PRkZTRVQsCisJIC5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLH0sCit9OworCitzdGF0aWMgc3RydWN0IGNsayBpaW1fY2xrID0geworCS5uYW1lID0gImlpbV9jbGsiLAorCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjAsCisJLmVuYWJsZV9zaGlmdCA9IE1YQ19DQ01fQ0dSMF9JSU1fT0ZGU0VULAorCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorfTsKKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2Nsa19ja28xX3JvdW5kX3JhdGUoc3RydWN0IGNsayAqY2xrLCB1bnNpZ25lZCBsb25nIHJhdGUpCit7CisJdTMyIGRpdiwgcGFyZW50ID0gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KTsKKworCWRpdiA9IHBhcmVudCAvIHJhdGU7CisJaWYgKHBhcmVudCAlIHJhdGUpCisJCWRpdisrOworCisJaWYgKGRpdiA+IDgpCisJCWRpdiA9IDE2OworCWVsc2UgaWYgKGRpdiA+IDQpCisJCWRpdiA9IDg7CisJZWxzZSBpZiAoZGl2ID4gMikKKwkJZGl2ID0gNDsKKworCXJldHVybiBwYXJlbnQgLyBkaXY7Cit9CisKK3N0YXRpYyBpbnQgX2Nsa19ja28xX3NldF9yYXRlKHN0cnVjdCBjbGsgKmNsaywgdW5zaWduZWQgbG9uZyByYXRlKQoreworCXUzMiByZWcsIGRpdiwgcGFyZW50ID0gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KTsKKworCWRpdiA9IHBhcmVudCAvIHJhdGU7CisKKwlpZiAoZGl2ID09IDE2KQorCQlkaXYgPSA0OworCWVsc2UgaWYgKGRpdiA9PSA4KQorCQlkaXYgPSAzOworCWVsc2UgaWYgKGRpdiA9PSA0KQorCQlkaXYgPSAyOworCWVsc2UgaWYgKGRpdiA9PSAyKQorCQlkaXYgPSAxOworCWVsc2UgaWYgKGRpdiA9PSAxKQorCQlkaXYgPSAwOworCWVsc2UKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlyZWcgPSBfX3Jhd19yZWFkbChNWENfQ0NNX0NPU1IpICYgfk1YQ19DQ01fQ09TUl9DTEtPVVRESVZfTUFTSzsKKwlyZWcgfD0gZGl2IDw8IE1YQ19DQ01fQ09TUl9DTEtPVVRESVZfT0ZGU0VUOworCV9fcmF3X3dyaXRlbChyZWcsIE1YQ19DQ01fQ09TUik7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2Nsa19ja28xX2dldF9yYXRlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1MzIgZGl2OworCisJZGl2ID0gX19yYXdfcmVhZGwoTVhDX0NDTV9DT1NSKSAmIE1YQ19DQ01fQ09TUl9DTEtPVVRESVZfTUFTSyA+PgorCSAgICBNWENfQ0NNX0NPU1JfQ0xLT1VURElWX09GRlNFVDsKKworCXJldHVybiBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpIC8gKDEgPDwgZGl2KTsKK30KKworc3RhdGljIGludCBfY2xrX2NrbzFfc2V0X3BhcmVudChzdHJ1Y3QgY2xrICpjbGssIHN0cnVjdCBjbGsgKnBhcmVudCkKK3sKKwl1MzIgcmVnOworCisJcmVnID0gX19yYXdfcmVhZGwoTVhDX0NDTV9DT1NSKSAmIH5NWENfQ0NNX0NPU1JfQ0xLT1NFTF9NQVNLOworCisJaWYgKHBhcmVudCA9PSAmbWN1X21haW5fY2xrKQorCQlyZWcgfD0gMCA8PCBNWENfQ0NNX0NPU1JfQ0xLT1NFTF9PRkZTRVQ7CisJZWxzZSBpZiAocGFyZW50ID09ICZpcGdfY2xrKQorCQlyZWcgfD0gMSA8PCBNWENfQ0NNX0NPU1JfQ0xLT1NFTF9PRkZTRVQ7CisJZWxzZSBpZiAocGFyZW50ID09ICZ1c2JfcGxsX2NsaykKKwkJcmVnIHw9IDIgPDwgTVhDX0NDTV9DT1NSX0NMS09TRUxfT0ZGU0VUOworCWVsc2UgaWYgKHBhcmVudCA9PSBtY3VfbWFpbl9jbGsucGFyZW50KQorCQlyZWcgfD0gMyA8PCBNWENfQ0NNX0NPU1JfQ0xLT1NFTF9PRkZTRVQ7CisJZWxzZSBpZiAocGFyZW50ID09ICZhaGJfY2xrKQorCQlyZWcgfD0gNSA8PCBNWENfQ0NNX0NPU1JfQ0xLT1NFTF9PRkZTRVQ7CisJZWxzZSBpZiAocGFyZW50ID09ICZzZXJpYWxfcGxsX2NsaykKKwkJcmVnIHw9IDcgPDwgTVhDX0NDTV9DT1NSX0NMS09TRUxfT0ZGU0VUOworCWVsc2UgaWYgKHBhcmVudCA9PSAmY2tpaF9jbGspCisJCXJlZyB8PSA4IDw8IE1YQ19DQ01fQ09TUl9DTEtPU0VMX09GRlNFVDsKKwllbHNlIGlmIChwYXJlbnQgPT0gJmVtaV9jbGspCisJCXJlZyB8PSA5IDw8IE1YQ19DQ01fQ09TUl9DTEtPU0VMX09GRlNFVDsKKwllbHNlIGlmIChwYXJlbnQgPT0gJmlwdV9jbGspCisJCXJlZyB8PSAweEEgPDwgTVhDX0NDTV9DT1NSX0NMS09TRUxfT0ZGU0VUOworCWVsc2UgaWYgKHBhcmVudCA9PSAmbmZjX2NsaykKKwkJcmVnIHw9IDB4QiA8PCBNWENfQ0NNX0NPU1JfQ0xLT1NFTF9PRkZTRVQ7CisJZWxzZSBpZiAocGFyZW50ID09ICZ1YXJ0X2Nsa1swXSkKKwkJcmVnIHw9IDB4QyA8PCBNWENfQ0NNX0NPU1JfQ0xLT1NFTF9PRkZTRVQ7CisJZWxzZQorCQlyZXR1cm4gLUVJTlZBTDsKKworCV9fcmF3X3dyaXRlbChyZWcsIE1YQ19DQ01fQ09TUik7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBfY2xrX2NrbzFfZW5hYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1MzIgcmVnOworCisJcmVnID0gX19yYXdfcmVhZGwoTVhDX0NDTV9DT1NSKSB8IE1YQ19DQ01fQ09TUl9DTEtPRU47CisJX19yYXdfd3JpdGVsKHJlZywgTVhDX0NDTV9DT1NSKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBfY2xrX2NrbzFfZGlzYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJdTMyIHJlZzsKKworCXJlZyA9IF9fcmF3X3JlYWRsKE1YQ19DQ01fQ09TUikgJiB+TVhDX0NDTV9DT1NSX0NMS09FTjsKKwlfX3Jhd193cml0ZWwocmVnLCBNWENfQ0NNX0NPU1IpOworfQorCitzdGF0aWMgc3RydWN0IGNsayBja28xX2NsayA9IHsKKwkubmFtZSA9ICJja28xX2NsayIsCisJLmdldF9yYXRlID0gX2Nsa19ja28xX2dldF9yYXRlLAorCS5zZXRfcmF0ZSA9IF9jbGtfY2tvMV9zZXRfcmF0ZSwKKwkucm91bmRfcmF0ZSA9IF9jbGtfY2tvMV9yb3VuZF9yYXRlLAorCS5zZXRfcGFyZW50ID0gX2Nsa19ja28xX3NldF9wYXJlbnQsCisJLmVuYWJsZSA9IF9jbGtfY2tvMV9lbmFibGUsCisJLmRpc2FibGUgPSBfY2xrX2NrbzFfZGlzYWJsZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrICpteGNfY2xrc1tdID0geworCSZja2loX2NsaywKKwkmY2tpbF9jbGssCisJJm1jdV9wbGxfY2xrLAorCSZ1c2JfcGxsX2NsaywKKwkmc2VyaWFsX3BsbF9jbGssCisJJm1jdV9tYWluX2NsaywKKwkmYWhiX2NsaywKKwkmcGVyX2NsaywKKwkmcGVyY2xrX2NsaywKKwkmY2tvMV9jbGssCisJJmVtaV9jbGssCisJJmNzcGlfY2xrWzBdLAorCSZjc3BpX2Nsa1sxXSwKKwkmY3NwaV9jbGtbMl0sCisJJmlwZ19jbGssCisJJmdwdF9jbGssCisJJnB3bV9jbGssCisJJndkb2dfY2xrLAorCSZydGNfY2xrLAorCSZlcGl0X2Nsa1swXSwKKwkmZXBpdF9jbGtbMV0sCisJJm5mY19jbGssCisJJmlwdV9jbGssCisJJmtwcF9jbGssCisJJnVzYl9jbGtbMF0sCisJJnVzYl9jbGtbMV0sCisJJmNzaV9jbGssCisJJnVhcnRfY2xrWzBdLAorCSZ1YXJ0X2Nsa1sxXSwKKwkmdWFydF9jbGtbMl0sCisJJnVhcnRfY2xrWzNdLAorCSZ1YXJ0X2Nsa1s0XSwKKwkmaTJjX2Nsa1swXSwKKwkmaTJjX2Nsa1sxXSwKKwkmaTJjX2Nsa1syXSwKKwkmb3dpcmVfY2xrLAorCSZzZGhjX2Nsa1swXSwKKwkmc2RoY19jbGtbMV0sCisJJnNzaV9jbGtbMF0sCisJJnNzaV9jbGtbMV0sCisJJmZpcmlfY2xrLAorCSZhdGFfY2xrLAorCSZydGljX2NsaywKKwkmcm5nX2NsaywKKwkmc2RtYV9jbGtbMF0sCisJJnNkbWFfY2xrWzFdLAorCSZtc3RpY2tfY2xrWzBdLAorCSZtc3RpY2tfY2xrWzFdLAorCSZzY2NfY2xrLAorCSZpaW1fY2xrLAorfTsKKworaW50IF9faW5pdCBteGNfY2xvY2tzX2luaXQodW5zaWduZWQgbG9uZyBmcmVmKQoreworCXUzMiByZWc7CisJc3RydWN0IGNsayAqKmNsa3A7CisKKwlja2loX3JhdGUgPSBmcmVmOworCisJZm9yIChjbGtwID0gbXhjX2Nsa3M7IGNsa3AgPCBteGNfY2xrcyArIEFSUkFZX1NJWkUobXhjX2Nsa3MpOyBjbGtwKyspCisJCWNsa19yZWdpc3RlcigqY2xrcCk7CisKKwlpZiAoY3B1X2lzX214MzEoKSkgeworCQljbGtfcmVnaXN0ZXIoJm1wZWc0X2Nsayk7CisJCWNsa19yZWdpc3RlcigmbWJ4X2Nsayk7CisJfSBlbHNlIHsKKwkJY2xrX3JlZ2lzdGVyKCZ2cHVfY2xrKTsKKwkJY2xrX3JlZ2lzdGVyKCZ2bDJjY19jbGspOworCX0KKworCS8qIFR1cm4gb2ZmIGFsbCBwb3NzaWJsZSBjbG9ja3MgKi8KKwlfX3Jhd193cml0ZWwoTVhDX0NDTV9DR1IwX0dQVF9NQVNLLCBNWENfQ0NNX0NHUjApOworCV9fcmF3X3dyaXRlbCgwLCBNWENfQ0NNX0NHUjEpOworCisJX19yYXdfd3JpdGVsKE1YQ19DQ01fQ0dSMl9FTUlfTUFTSyB8CisJCSAgICAgTVhDX0NDTV9DR1IyX0lQTVVYMV9NQVNLIHwKKwkJICAgICBNWENfQ0NNX0NHUjJfSVBNVVgyX01BU0sgfAorCQkgICAgIE1YQ19DQ01fQ0dSMl9NWENDTEtFTlNFTF9NQVNLIHwJLyogZm9yIE1YMzIgKi8KKwkJICAgICBNWENfQ0NNX0NHUjJfQ0hJS0NBTVBFTl9NQVNLIHwJLyogZm9yIE1YMzIgKi8KKwkJICAgICBNWENfQ0NNX0NHUjJfT1ZSVlBVQlVTWV9NQVNLIHwJLyogZm9yIE1YMzIgKi8KKwkJICAgICAxIDw8IDI3IHwgMSA8PCAyOCwgLyogQml0IDI3IGFuZCAyOCBhcmUgbm90IGRlZmluZWQgZm9yCisJCQkJCSAgIE1YMzIsIGJ1dCBzdGlsbCByZXF1aXJlZCB0byBiZSBzZXQgKi8KKwkJICAgICBNWENfQ0NNX0NHUjIpOworCisJY2xrX2Rpc2FibGUoJmNrbzFfY2xrKTsKKwljbGtfZGlzYWJsZSgmdXNiX3BsbF9jbGspOworCisJcHJfaW5mbygiQ2xvY2sgaW5wdXQgc291cmNlIGlzICVsZFxuIiwgY2xrX2dldF9yYXRlKCZja2loX2NsaykpOworCisJY2xrX2VuYWJsZSgmZ3B0X2Nsayk7CisJY2xrX2VuYWJsZSgmZW1pX2Nsayk7CisJY2xrX2VuYWJsZSgmaWltX2Nsayk7CisKKwljbGtfZW5hYmxlKCZzZXJpYWxfcGxsX2Nsayk7CisKKwlpZiAobXgzMV9yZXZpc2lvbigpID49IENISVBfUkVWXzJfMCkgeworCQlyZWcgPSBfX3Jhd19yZWFkbChNWENfQ0NNX1BNQ1IxKTsKKwkJLyogTm8gUExMIHJlc3RhcnQgb24gRFZGUyBzd2l0Y2g7IGVuYWJsZSBhdXRvIEVNSSBoYW5kc2hha2UgKi8KKwkJcmVnIHw9IE1YQ19DQ01fUE1DUjFfUExMUkRJUyB8IE1YQ19DQ01fUE1DUjFfRU1JUlFfRU47CisJCV9fcmF3X3dyaXRlbChyZWcsIE1YQ19DQ01fUE1DUjEpOworCX0KKworCXJldHVybiAwOworfQorCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW14My9jcm1fcmVncy5oIGIvYXJjaC9hcm0vbWFjaC1teDMvY3JtX3JlZ3MuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YTBlMGVkCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1teDMvY3JtX3JlZ3MuaApAQCAtMCwwICsxLDQwMSBAQAorLyoKKyAqIENvcHlyaWdodCAyMDA0LTIwMDcgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOCBieSBTYXNjaGEgSGF1ZXIgPGtlcm5lbEBwZW5ndXRyb25peC5kZT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIKKyAqIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwKKyAqIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaWZuZGVmIF9fQVJDSF9BUk1fTUFDSF9NWDNfQ1JNX1JFR1NfSF9fCisjZGVmaW5lIF9fQVJDSF9BUk1fTUFDSF9NWDNfQ1JNX1JFR1NfSF9fCisKKyNkZWZpbmUgQ0tJSF9DTEtfRlJFUSAgICAgICAgICAgMjYwMDAwMDAKKyNkZWZpbmUgQ0tJSF9DTEtfRlJFUV8yN01IWiAgICAgMjcwMDAwMDAKKyNkZWZpbmUgQ0tJTF9DTEtfRlJFUSAgICAgICAgICAgMzI3NjgKKworI2RlZmluZSBNWENfQ0NNX0JBU0UJCUlPX0FERFJFU1MoQ0NNX0JBU0VfQUREUikKKworLyogUmVnaXN0ZXIgYWRkcmVzc2VzICovCisjZGVmaW5lIE1YQ19DQ01fQ0NNUgkJKE1YQ19DQ01fQkFTRSArIDB4MDApCisjZGVmaW5lIE1YQ19DQ01fUERSMAkJKE1YQ19DQ01fQkFTRSArIDB4MDQpCisjZGVmaW5lIE1YQ19DQ01fUERSMQkJKE1YQ19DQ01fQkFTRSArIDB4MDgpCisjZGVmaW5lIE1YQ19DQ01fUkNTUgkJKE1YQ19DQ01fQkFTRSArIDB4MEMpCisjZGVmaW5lIE1YQ19DQ01fTVBDVEwJCShNWENfQ0NNX0JBU0UgKyAweDEwKQorI2RlZmluZSBNWENfQ0NNX1VQQ1RMCQkoTVhDX0NDTV9CQVNFICsgMHgxNCkKKyNkZWZpbmUgTVhDX0NDTV9TUlBDVEwJCShNWENfQ0NNX0JBU0UgKyAweDE4KQorI2RlZmluZSBNWENfQ0NNX0NPU1IJCShNWENfQ0NNX0JBU0UgKyAweDFDKQorI2RlZmluZSBNWENfQ0NNX0NHUjAJCShNWENfQ0NNX0JBU0UgKyAweDIwKQorI2RlZmluZSBNWENfQ0NNX0NHUjEJCShNWENfQ0NNX0JBU0UgKyAweDI0KQorI2RlZmluZSBNWENfQ0NNX0NHUjIJCShNWENfQ0NNX0JBU0UgKyAweDI4KQorI2RlZmluZSBNWENfQ0NNX1dJTVIJCShNWENfQ0NNX0JBU0UgKyAweDJDKQorI2RlZmluZSBNWENfQ0NNX0xEQwkJKE1YQ19DQ01fQkFTRSArIDB4MzApCisjZGVmaW5lIE1YQ19DQ01fRENWUjAJCShNWENfQ0NNX0JBU0UgKyAweDM0KQorI2RlZmluZSBNWENfQ0NNX0RDVlIxCQkoTVhDX0NDTV9CQVNFICsgMHgzOCkKKyNkZWZpbmUgTVhDX0NDTV9EQ1ZSMgkJKE1YQ19DQ01fQkFTRSArIDB4M0MpCisjZGVmaW5lIE1YQ19DQ01fRENWUjMJCShNWENfQ0NNX0JBU0UgKyAweDQwKQorI2RlZmluZSBNWENfQ0NNX0xUUjAJCShNWENfQ0NNX0JBU0UgKyAweDQ0KQorI2RlZmluZSBNWENfQ0NNX0xUUjEJCShNWENfQ0NNX0JBU0UgKyAweDQ4KQorI2RlZmluZSBNWENfQ0NNX0xUUjIJCShNWENfQ0NNX0JBU0UgKyAweDRDKQorI2RlZmluZSBNWENfQ0NNX0xUUjMJCShNWENfQ0NNX0JBU0UgKyAweDUwKQorI2RlZmluZSBNWENfQ0NNX0xUQlIwCQkoTVhDX0NDTV9CQVNFICsgMHg1NCkKKyNkZWZpbmUgTVhDX0NDTV9MVEJSMQkJKE1YQ19DQ01fQkFTRSArIDB4NTgpCisjZGVmaW5lIE1YQ19DQ01fUE1DUjAJCShNWENfQ0NNX0JBU0UgKyAweDVDKQorI2RlZmluZSBNWENfQ0NNX1BNQ1IxCQkoTVhDX0NDTV9CQVNFICsgMHg2MCkKKyNkZWZpbmUgTVhDX0NDTV9QRFIyCQkoTVhDX0NDTV9CQVNFICsgMHg2NCkKKworLyogUmVnaXN0ZXIgYml0IGRlZmluaXRpb25zICovCisjZGVmaW5lIE1YQ19DQ01fQ0NNUl9XQkVOICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAyNykKKyNkZWZpbmUgTVhDX0NDTV9DQ01SX0NTQ1MgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDI1KQorI2RlZmluZSBNWENfQ0NNX0NDTVJfUEVSQ1MgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMjQpCisjZGVmaW5lIE1YQ19DQ01fQ0NNUl9TU0kxU19PRkZTRVQgICAgICAgICAgICAgICAxOAorI2RlZmluZSBNWENfQ0NNX0NDTVJfU1NJMVNfTUFTSyAgICAgICAgICAgICAgICAgKDB4MyA8PCAxOCkKKyNkZWZpbmUgTVhDX0NDTV9DQ01SX1NTSTJTX09GRlNFVCAgICAgICAgICAgICAgIDIxCisjZGVmaW5lIE1YQ19DQ01fQ0NNUl9TU0kyU19NQVNLICAgICAgICAgICAgICAgICAoMHgzIDw8IDIxKQorI2RlZmluZSBNWENfQ0NNX0NDTVJfTFBNX09GRlNFVCAgICAgICAgICAgICAgICAgMTQKKyNkZWZpbmUgTVhDX0NDTV9DQ01SX0xQTV9NQVNLICAgICAgICAgICAgICAgICAgICgweDMgPDwgMTQpCisjZGVmaW5lIE1YQ19DQ01fQ0NNUl9GSVJTX09GRlNFVCAgICAgICAgICAgICAgICAxMQorI2RlZmluZSBNWENfQ0NNX0NDTVJfRklSU19NQVNLICAgICAgICAgICAgICAgICAgKDB4MyA8PCAxMSkKKyNkZWZpbmUgTVhDX0NDTV9DQ01SX1VQRSAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDkpCisjZGVmaW5lIE1YQ19DQ01fQ0NNUl9TUEUgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCA4KQorI2RlZmluZSBNWENfQ0NNX0NDTVJfTURTICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgNykKKyNkZWZpbmUgTVhDX0NDTV9DQ01SX1NCWUNTICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDQpCisjZGVmaW5lIE1YQ19DQ01fQ0NNUl9NUEUgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAzKQorI2RlZmluZSBNWENfQ0NNX0NDTVJfUFJDU19PRkZTRVQgICAgICAgICAgICAgICAgMQorI2RlZmluZSBNWENfQ0NNX0NDTVJfUFJDU19NQVNLICAgICAgICAgICAgICAgICAgKDB4MyA8PCAxKQorCisjZGVmaW5lIE1YQ19DQ01fUERSMF9DU0lfUE9ERl9PRkZTRVQgICAgICAgICAgICAyNgorI2RlZmluZSBNWENfQ0NNX1BEUjBfQ1NJX1BPREZfTUFTSyAgICAgICAgICAgICAgKDB4M0YgPDwgMjYpCisjZGVmaW5lIE1YQ19DQ01fUERSMF9DU0lfUFJERl9PRkZTRVQgICAgICAgICAgICAyMworI2RlZmluZSBNWENfQ0NNX1BEUjBfQ1NJX1BSREZfTUFTSyAgICAgICAgICAgICAgKDB4NyA8PCAyMykKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX1BFUl9QT0RGX09GRlNFVCAgICAgICAgICAgIDE2CisjZGVmaW5lIE1YQ19DQ01fUERSMF9QRVJfUE9ERl9NQVNLICAgICAgICAgICAgICAoMHgxRiA8PCAxNikKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX0hTUF9QT0RGX09GRlNFVCAgICAgICAgICAgIDExCisjZGVmaW5lIE1YQ19DQ01fUERSMF9IU1BfUE9ERl9NQVNLICAgICAgICAgICAgICAoMHg3IDw8IDExKQorI2RlZmluZSBNWENfQ0NNX1BEUjBfTkZDX1BPREZfT0ZGU0VUICAgICAgICAgICAgOAorI2RlZmluZSBNWENfQ0NNX1BEUjBfTkZDX1BPREZfTUFTSyAgICAgICAgICAgICAgKDB4NyA8PCA4KQorI2RlZmluZSBNWENfQ0NNX1BEUjBfSVBHX1BPREZfT0ZGU0VUICAgICAgICAgICAgNgorI2RlZmluZSBNWENfQ0NNX1BEUjBfSVBHX1BPREZfTUFTSyAgICAgICAgICAgICAgKDB4MyA8PCA2KQorI2RlZmluZSBNWENfQ0NNX1BEUjBfTUFYX1BPREZfT0ZGU0VUICAgICAgICAgICAgMworI2RlZmluZSBNWENfQ0NNX1BEUjBfTUFYX1BPREZfTUFTSyAgICAgICAgICAgICAgKDB4NyA8PCAzKQorI2RlZmluZSBNWENfQ0NNX1BEUjBfTUNVX1BPREZfT0ZGU0VUICAgICAgICAgICAgMAorI2RlZmluZSBNWENfQ0NNX1BEUjBfTUNVX1BPREZfTUFTSyAgICAgICAgICAgICAgMHg3CisKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX0hTUF9ESVZfMSAgICAgICAgICAgICAgICAgICgweDAgPDwgMTEpCisjZGVmaW5lIE1YQ19DQ01fUERSMF9IU1BfRElWXzIgICAgICAgICAgICAgICAgICAoMHgxIDw8IDExKQorI2RlZmluZSBNWENfQ0NNX1BEUjBfSFNQX0RJVl8zICAgICAgICAgICAgICAgICAgKDB4MiA8PCAxMSkKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX0hTUF9ESVZfNCAgICAgICAgICAgICAgICAgICgweDMgPDwgMTEpCisjZGVmaW5lIE1YQ19DQ01fUERSMF9IU1BfRElWXzUgICAgICAgICAgICAgICAgICAoMHg0IDw8IDExKQorI2RlZmluZSBNWENfQ0NNX1BEUjBfSFNQX0RJVl82ICAgICAgICAgICAgICAgICAgKDB4NSA8PCAxMSkKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX0hTUF9ESVZfNyAgICAgICAgICAgICAgICAgICgweDYgPDwgMTEpCisjZGVmaW5lIE1YQ19DQ01fUERSMF9IU1BfRElWXzggICAgICAgICAgICAgICAgICAoMHg3IDw8IDExKQorCisjZGVmaW5lIE1YQ19DQ01fUERSMF9JUEdfRElWXzEgICAgICAgICAgICAgICAgICAoMHgwIDw8IDYpCisjZGVmaW5lIE1YQ19DQ01fUERSMF9JUEdfRElWXzIgICAgICAgICAgICAgICAgICAoMHgxIDw8IDYpCisjZGVmaW5lIE1YQ19DQ01fUERSMF9JUEdfRElWXzMgICAgICAgICAgICAgICAgICAoMHgyIDw8IDYpCisjZGVmaW5lIE1YQ19DQ01fUERSMF9JUEdfRElWXzQgICAgICAgICAgICAgICAgICAoMHgzIDw8IDYpCisKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX01BWF9ESVZfMSAgICAgICAgICAgICAgICAgICgweDAgPDwgMykKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX01BWF9ESVZfMiAgICAgICAgICAgICAgICAgICgweDEgPDwgMykKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX01BWF9ESVZfMyAgICAgICAgICAgICAgICAgICgweDIgPDwgMykKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX01BWF9ESVZfNCAgICAgICAgICAgICAgICAgICgweDMgPDwgMykKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX01BWF9ESVZfNSAgICAgICAgICAgICAgICAgICgweDQgPDwgMykKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX01BWF9ESVZfNiAgICAgICAgICAgICAgICAgICgweDUgPDwgMykKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX01BWF9ESVZfNyAgICAgICAgICAgICAgICAgICgweDYgPDwgMykKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX01BWF9ESVZfOCAgICAgICAgICAgICAgICAgICgweDcgPDwgMykKKworI2RlZmluZSBNWENfQ0NNX1BEUjBfTkZDX0RJVl8xICAgICAgICAgICAgICAgICAgKDB4MCA8PCA4KQorI2RlZmluZSBNWENfQ0NNX1BEUjBfTkZDX0RJVl8yICAgICAgICAgICAgICAgICAgKDB4MSA8PCA4KQorI2RlZmluZSBNWENfQ0NNX1BEUjBfTkZDX0RJVl8zICAgICAgICAgICAgICAgICAgKDB4MiA8PCA4KQorI2RlZmluZSBNWENfQ0NNX1BEUjBfTkZDX0RJVl80ICAgICAgICAgICAgICAgICAgKDB4MyA8PCA4KQorI2RlZmluZSBNWENfQ0NNX1BEUjBfTkZDX0RJVl81ICAgICAgICAgICAgICAgICAgKDB4NCA8PCA4KQorI2RlZmluZSBNWENfQ0NNX1BEUjBfTkZDX0RJVl82ICAgICAgICAgICAgICAgICAgKDB4NSA8PCA4KQorI2RlZmluZSBNWENfQ0NNX1BEUjBfTkZDX0RJVl83ICAgICAgICAgICAgICAgICAgKDB4NiA8PCA4KQorI2RlZmluZSBNWENfQ0NNX1BEUjBfTkZDX0RJVl84ICAgICAgICAgICAgICAgICAgKDB4NyA8PCA4KQorCisjZGVmaW5lIE1YQ19DQ01fUERSMF9NQ1VfRElWXzEgICAgICAgICAgICAgICAgICAweDAKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX01DVV9ESVZfMiAgICAgICAgICAgICAgICAgIDB4MQorI2RlZmluZSBNWENfQ0NNX1BEUjBfTUNVX0RJVl8zICAgICAgICAgICAgICAgICAgMHgyCisjZGVmaW5lIE1YQ19DQ01fUERSMF9NQ1VfRElWXzQgICAgICAgICAgICAgICAgICAweDMKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX01DVV9ESVZfNSAgICAgICAgICAgICAgICAgIDB4NAorI2RlZmluZSBNWENfQ0NNX1BEUjBfTUNVX0RJVl82ICAgICAgICAgICAgICAgICAgMHg1CisjZGVmaW5lIE1YQ19DQ01fUERSMF9NQ1VfRElWXzcgICAgICAgICAgICAgICAgICAweDYKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX01DVV9ESVZfOCAgICAgICAgICAgICAgICAgIDB4NworCisjZGVmaW5lIE1YQ19DQ01fUERSMV9VU0JfUFJERl9PRkZTRVQgICAgICAgICAgICAzMAorI2RlZmluZSBNWENfQ0NNX1BEUjFfVVNCX1BSREZfTUFTSyAgICAgICAgICAgICAgKDB4MyA8PCAzMCkKKyNkZWZpbmUgTVhDX0NDTV9QRFIxX1VTQl9QT0RGX09GRlNFVCAgICAgICAgICAgIDI3CisjZGVmaW5lIE1YQ19DQ01fUERSMV9VU0JfUE9ERl9NQVNLICAgICAgICAgICAgICAoMHg3IDw8IDI3KQorI2RlZmluZSBNWENfQ0NNX1BEUjFfRklSSV9QUkVfUE9ERl9PRkZTRVQgICAgICAgMjQKKyNkZWZpbmUgTVhDX0NDTV9QRFIxX0ZJUklfUFJFX1BPREZfTUFTSyAgICAgICAgICgweDcgPDwgMjQpCisjZGVmaW5lIE1YQ19DQ01fUERSMV9GSVJJX1BPREZfT0ZGU0VUICAgICAgICAgICAxOAorI2RlZmluZSBNWENfQ0NNX1BEUjFfRklSSV9QT0RGX01BU0sgICAgICAgICAgICAgKDB4M0YgPDwgMTgpCisjZGVmaW5lIE1YQ19DQ01fUERSMV9TU0kyX1BSRV9QT0RGX09GRlNFVCAgICAgICAxNQorI2RlZmluZSBNWENfQ0NNX1BEUjFfU1NJMl9QUkVfUE9ERl9NQVNLICAgICAgICAgKDB4NyA8PCAxNSkKKyNkZWZpbmUgTVhDX0NDTV9QRFIxX1NTSTJfUE9ERl9PRkZTRVQgICAgICAgICAgIDkKKyNkZWZpbmUgTVhDX0NDTV9QRFIxX1NTSTJfUE9ERl9NQVNLICAgICAgICAgICAgICgweDNGIDw8IDkpCisjZGVmaW5lIE1YQ19DQ01fUERSMV9TU0kxX1BSRV9QT0RGX09GRlNFVCAgICAgICA2CisjZGVmaW5lIE1YQ19DQ01fUERSMV9TU0kxX1BSRV9QT0RGX01BU0sgICAgICAgICAoMHg3IDw8IDYpCisjZGVmaW5lIE1YQ19DQ01fUERSMV9TU0kxX1BPREZfT0ZGU0VUICAgICAgICAgICAwCisjZGVmaW5lIE1YQ19DQ01fUERSMV9TU0kxX1BPREZfTUFTSyAgICAgICAgICAgICAweDNGCisKKy8qIEJpdCBkZWZpbml0aW9ucyBmb3IgUkNTUiAqLworI2RlZmluZSBNWENfQ0NNX1JDU1JfTkYxNkIJCQkweDgwMDAwMDAwCisKKy8qIEJpdCBkZWZpbml0aW9ucyBmb3IgYm90aCBNQ1UsIFVTQiBhbmQgU1IgUExMIGNvbnRyb2wgcmVnaXN0ZXJzICovCisjZGVmaW5lIE1YQ19DQ01fUENUTF9CUk0gICAgICAgICAgICAgICAgICAgICAgICAweDgwMDAwMDAwCisjZGVmaW5lIE1YQ19DQ01fUENUTF9QRF9PRkZTRVQgICAgICAgICAgICAgICAgICAyNgorI2RlZmluZSBNWENfQ0NNX1BDVExfUERfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4RiA8PCAyNikKKyNkZWZpbmUgTVhDX0NDTV9QQ1RMX01GRF9PRkZTRVQgICAgICAgICAgICAgICAgIDE2CisjZGVmaW5lIE1YQ19DQ01fUENUTF9NRkRfTUFTSyAgICAgICAgICAgICAgICAgICAoMHgzRkYgPDwgMTYpCisjZGVmaW5lIE1YQ19DQ01fUENUTF9NRklfT0ZGU0VUICAgICAgICAgICAgICAgICAxMAorI2RlZmluZSBNWENfQ0NNX1BDVExfTUZJX01BU0sgICAgICAgICAgICAgICAgICAgKDB4RiA8PCAxMCkKKyNkZWZpbmUgTVhDX0NDTV9QQ1RMX01GTl9PRkZTRVQgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVhDX0NDTV9QQ1RMX01GTl9NQVNLICAgICAgICAgICAgICAgICAgIDB4M0ZGCisKKyNkZWZpbmUgTVhDX0NDTV9DR1IwX1NEX01NQzFfT0ZGU0VUICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVhDX0NDTV9DR1IwX1NEX01NQzFfTUFTSyAgICAgICAgICAgICAgICgweDMgPDwgMCkKKyNkZWZpbmUgTVhDX0NDTV9DR1IwX1NEX01NQzJfT0ZGU0VUICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVhDX0NDTV9DR1IwX1NEX01NQzJfTUFTSyAgICAgICAgICAgICAgICgweDMgPDwgMikKKyNkZWZpbmUgTVhDX0NDTV9DR1IwX0dQVF9PRkZTRVQgICAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVhDX0NDTV9DR1IwX0dQVF9NQVNLICAgICAgICAgICAgICAgICAgICgweDMgPDwgNCkKKyNkZWZpbmUgTVhDX0NDTV9DR1IwX0VQSVQxX09GRlNFVCAgICAgICAgICAgICAgIDYKKyNkZWZpbmUgTVhDX0NDTV9DR1IwX0VQSVQxX01BU0sgICAgICAgICAgICAgICAgICgweDMgPDwgNikKKyNkZWZpbmUgTVhDX0NDTV9DR1IwX0VQSVQyX09GRlNFVCAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVhDX0NDTV9DR1IwX0VQSVQyX01BU0sgICAgICAgICAgICAgICAgICgweDMgPDwgOCkKKyNkZWZpbmUgTVhDX0NDTV9DR1IwX0lJTV9PRkZTRVQgICAgICAgICAgICAgICAgIDEwCisjZGVmaW5lIE1YQ19DQ01fQ0dSMF9JSU1fTUFTSyAgICAgICAgICAgICAgICAgICAoMHgzIDw8IDEwKQorI2RlZmluZSBNWENfQ0NNX0NHUjBfQVRBX09GRlNFVCAgICAgICAgICAgICAgICAgMTIKKyNkZWZpbmUgTVhDX0NDTV9DR1IwX0FUQV9NQVNLICAgICAgICAgICAgICAgICAgICgweDMgPDwgMTIpCisjZGVmaW5lIE1YQ19DQ01fQ0dSMF9TRE1BX09GRlNFVCAgICAgICAgICAgICAgICAxNAorI2RlZmluZSBNWENfQ0NNX0NHUjBfU0RNQV9NQVNLICAgICAgICAgICAgICAgICAgKDB4MyA8PCAxNCkKKyNkZWZpbmUgTVhDX0NDTV9DR1IwX0NTUEkzX09GRlNFVCAgICAgICAgICAgICAgIDE2CisjZGVmaW5lIE1YQ19DQ01fQ0dSMF9DU1BJM19NQVNLICAgICAgICAgICAgICAgICAoMHgzIDw8IDE2KQorI2RlZmluZSBNWENfQ0NNX0NHUjBfUk5HX09GRlNFVCAgICAgICAgICAgICAgICAgMTgKKyNkZWZpbmUgTVhDX0NDTV9DR1IwX1JOR19NQVNLICAgICAgICAgICAgICAgICAgICgweDMgPDwgMTgpCisjZGVmaW5lIE1YQ19DQ01fQ0dSMF9VQVJUMV9PRkZTRVQgICAgICAgICAgICAgICAyMAorI2RlZmluZSBNWENfQ0NNX0NHUjBfVUFSVDFfTUFTSyAgICAgICAgICAgICAgICAgKDB4MyA8PCAyMCkKKyNkZWZpbmUgTVhDX0NDTV9DR1IwX1VBUlQyX09GRlNFVCAgICAgICAgICAgICAgIDIyCisjZGVmaW5lIE1YQ19DQ01fQ0dSMF9VQVJUMl9NQVNLICAgICAgICAgICAgICAgICAoMHgzIDw8IDIyKQorI2RlZmluZSBNWENfQ0NNX0NHUjBfU1NJMV9PRkZTRVQgICAgICAgICAgICAgICAgMjQKKyNkZWZpbmUgTVhDX0NDTV9DR1IwX1NTSTFfTUFTSyAgICAgICAgICAgICAgICAgICgweDMgPDwgMjQpCisjZGVmaW5lIE1YQ19DQ01fQ0dSMF9JMkMxX09GRlNFVCAgICAgICAgICAgICAgICAyNgorI2RlZmluZSBNWENfQ0NNX0NHUjBfSTJDMV9NQVNLICAgICAgICAgICAgICAgICAgKDB4MyA8PCAyNikKKyNkZWZpbmUgTVhDX0NDTV9DR1IwX0kyQzJfT0ZGU0VUICAgICAgICAgICAgICAgIDI4CisjZGVmaW5lIE1YQ19DQ01fQ0dSMF9JMkMyX01BU0sgICAgICAgICAgICAgICAgICAoMHgzIDw8IDI4KQorI2RlZmluZSBNWENfQ0NNX0NHUjBfSTJDM19PRkZTRVQgICAgICAgICAgICAgICAgMzAKKyNkZWZpbmUgTVhDX0NDTV9DR1IwX0kyQzNfTUFTSyAgICAgICAgICAgICAgICAgICgweDMgPDwgMzApCisKKyNkZWZpbmUgTVhDX0NDTV9DR1IxX0hBTlRST19PRkZTRVQgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVhDX0NDTV9DR1IxX0hBTlRST19NQVNLICAgICAgICAgICAgICAgICgweDMgPDwgMCkKKyNkZWZpbmUgTVhDX0NDTV9DR1IxX01FTVNUSUNLMV9PRkZTRVQgICAgICAgICAgIDIKKyNkZWZpbmUgTVhDX0NDTV9DR1IxX01FTVNUSUNLMV9NQVNLICAgICAgICAgICAgICgweDMgPDwgMikKKyNkZWZpbmUgTVhDX0NDTV9DR1IxX01FTVNUSUNLMl9PRkZTRVQgICAgICAgICAgIDQKKyNkZWZpbmUgTVhDX0NDTV9DR1IxX01FTVNUSUNLMl9NQVNLICAgICAgICAgICAgICgweDMgPDwgNCkKKyNkZWZpbmUgTVhDX0NDTV9DR1IxX0NTSV9PRkZTRVQgICAgICAgICAgICAgICAgIDYKKyNkZWZpbmUgTVhDX0NDTV9DR1IxX0NTSV9NQVNLICAgICAgICAgICAgICAgICAgICgweDMgPDwgNikKKyNkZWZpbmUgTVhDX0NDTV9DR1IxX1JUQ19PRkZTRVQgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVhDX0NDTV9DR1IxX1JUQ19NQVNLICAgICAgICAgICAgICAgICAgICgweDMgPDwgOCkKKyNkZWZpbmUgTVhDX0NDTV9DR1IxX1dET0dfT0ZGU0VUICAgICAgICAgICAgICAgIDEwCisjZGVmaW5lIE1YQ19DQ01fQ0dSMV9XRE9HX01BU0sgICAgICAgICAgICAgICAgICAoMHgzIDw8IDEwKQorI2RlZmluZSBNWENfQ0NNX0NHUjFfUFdNX09GRlNFVCAgICAgICAgICAgICAgICAgMTIKKyNkZWZpbmUgTVhDX0NDTV9DR1IxX1BXTV9NQVNLICAgICAgICAgICAgICAgICAgICgweDMgPDwgMTIpCisjZGVmaW5lIE1YQ19DQ01fQ0dSMV9TSU1fT0ZGU0VUICAgICAgICAgICAgICAgICAxNAorI2RlZmluZSBNWENfQ0NNX0NHUjFfU0lNX01BU0sgICAgICAgICAgICAgICAgICAgKDB4MyA8PCAxNCkKKyNkZWZpbmUgTVhDX0NDTV9DR1IxX0VDVF9PRkZTRVQgICAgICAgICAgICAgICAgIDE2CisjZGVmaW5lIE1YQ19DQ01fQ0dSMV9FQ1RfTUFTSyAgICAgICAgICAgICAgICAgICAoMHgzIDw8IDE2KQorI2RlZmluZSBNWENfQ0NNX0NHUjFfVVNCT1RHX09GRlNFVCAgICAgICAgICAgICAgMTgKKyNkZWZpbmUgTVhDX0NDTV9DR1IxX1VTQk9UR19NQVNLICAgICAgICAgICAgICAgICgweDMgPDwgMTgpCisjZGVmaW5lIE1YQ19DQ01fQ0dSMV9LUFBfT0ZGU0VUICAgICAgICAgICAgICAgICAyMAorI2RlZmluZSBNWENfQ0NNX0NHUjFfS1BQX01BU0sgICAgICAgICAgICAgICAgICAgKDB4MyA8PCAyMCkKKyNkZWZpbmUgTVhDX0NDTV9DR1IxX0lQVV9PRkZTRVQgICAgICAgICAgICAgICAgIDIyCisjZGVmaW5lIE1YQ19DQ01fQ0dSMV9JUFVfTUFTSyAgICAgICAgICAgICAgICAgICAoMHgzIDw8IDIyKQorI2RlZmluZSBNWENfQ0NNX0NHUjFfVUFSVDNfT0ZGU0VUICAgICAgICAgICAgICAgMjQKKyNkZWZpbmUgTVhDX0NDTV9DR1IxX1VBUlQzX01BU0sgICAgICAgICAgICAgICAgICgweDMgPDwgMjQpCisjZGVmaW5lIE1YQ19DQ01fQ0dSMV9VQVJUNF9PRkZTRVQgICAgICAgICAgICAgICAyNgorI2RlZmluZSBNWENfQ0NNX0NHUjFfVUFSVDRfTUFTSyAgICAgICAgICAgICAgICAgKDB4MyA8PCAyNikKKyNkZWZpbmUgTVhDX0NDTV9DR1IxX1VBUlQ1X09GRlNFVCAgICAgICAgICAgICAgIDI4CisjZGVmaW5lIE1YQ19DQ01fQ0dSMV9VQVJUNV9NQVNLICAgICAgICAgICAgICAgICAoMHgzIDw8IDI4KQorI2RlZmluZSBNWENfQ0NNX0NHUjFfT1dJUkVfT0ZGU0VUICAgICAgICAgICAgICAgMzAKKyNkZWZpbmUgTVhDX0NDTV9DR1IxX09XSVJFX01BU0sgICAgICAgICAgICAgICAgICgweDMgPDwgMzApCisKKyNkZWZpbmUgTVhDX0NDTV9DR1IyX1NTSTJfT0ZGU0VUICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVhDX0NDTV9DR1IyX1NTSTJfTUFTSyAgICAgICAgICAgICAgICAgICgweDMgPDwgMCkKKyNkZWZpbmUgTVhDX0NDTV9DR1IyX0NTUEkxX09GRlNFVCAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgTVhDX0NDTV9DR1IyX0NTUEkxX01BU0sgICAgICAgICAgICAgICAgICgweDMgPDwgMikKKyNkZWZpbmUgTVhDX0NDTV9DR1IyX0NTUEkyX09GRlNFVCAgICAgICAgICAgICAgIDQKKyNkZWZpbmUgTVhDX0NDTV9DR1IyX0NTUEkyX01BU0sgICAgICAgICAgICAgICAgICgweDMgPDwgNCkKKyNkZWZpbmUgTVhDX0NDTV9DR1IyX0dBQ0NfT0ZGU0VUICAgICAgICAgICAgICAgIDYKKyNkZWZpbmUgTVhDX0NDTV9DR1IyX0dBQ0NfTUFTSyAgICAgICAgICAgICAgICAgICgweDMgPDwgNikKKyNkZWZpbmUgTVhDX0NDTV9DR1IyX0VNSV9PRkZTRVQgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgTVhDX0NDTV9DR1IyX0VNSV9NQVNLICAgICAgICAgICAgICAgICAgICgweDMgPDwgOCkKKyNkZWZpbmUgTVhDX0NDTV9DR1IyX1JUSUNfT0ZGU0VUICAgICAgICAgICAgICAgIDEwCisjZGVmaW5lIE1YQ19DQ01fQ0dSMl9SVElDX01BU0sgICAgICAgICAgICAgICAgICAoMHgzIDw8IDEwKQorI2RlZmluZSBNWENfQ0NNX0NHUjJfRklSSV9PRkZTRVQgICAgICAgICAgICAgICAgMTIKKyNkZWZpbmUgTVhDX0NDTV9DR1IyX0ZJUklfTUFTSyAgICAgICAgICAgICAgICAgICgweDMgPDwgMTIpCisjZGVmaW5lIE1YQ19DQ01fQ0dSMl9JUE1VWDFfT0ZGU0VUICAgICAgICAgICAgICAxNAorI2RlZmluZSBNWENfQ0NNX0NHUjJfSVBNVVgxX01BU0sgICAgICAgICAgICAgICAgKDB4MyA8PCAxNCkKKyNkZWZpbmUgTVhDX0NDTV9DR1IyX0lQTVVYMl9PRkZTRVQgICAgICAgICAgICAgIDE2CisjZGVmaW5lIE1YQ19DQ01fQ0dSMl9JUE1VWDJfTUFTSyAgICAgICAgICAgICAgICAoMHgzIDw8IDE2KQorCisvKiBUaGVzZSBuZXcgQ0dSMiBiaXRzIGFyZSBhZGRlZCBpbiBNWDMyICovCisjZGVmaW5lIE1YQ19DQ01fQ0dSMl9BUE1TWVNDTEtTRUxfT0ZGU0VUCTE4CisjZGVmaW5lIE1YQ19DQ01fQ0dSMl9BUE1TWVNDTEtTRUxfTUFTSwkJKDB4MyA8PCAxOCkKKyNkZWZpbmUgTVhDX0NDTV9DR1IyX0FQTVNTSUNMS1NFTF9PRkZTRVQJMjAKKyNkZWZpbmUgTVhDX0NDTV9DR1IyX0FQTVNTSUNMS1NFTF9NQVNLCQkoMHgzIDw8IDIwKQorI2RlZmluZSBNWENfQ0NNX0NHUjJfQVBNUEVSQ0xLU0VMX09GRlNFVAkyMgorI2RlZmluZSBNWENfQ0NNX0NHUjJfQVBNUEVSQ0xLU0VMX01BU0sJCSgweDMgPDwgMjIpCisjZGVmaW5lIE1YQ19DQ01fQ0dSMl9NWENDTEtFTlNFTF9PRkZTRVQJCTI0CisjZGVmaW5lIE1YQ19DQ01fQ0dSMl9NWENDTEtFTlNFTF9NQVNLCQkoMHgxIDw8IDI0KQorI2RlZmluZSBNWENfQ0NNX0NHUjJfQ0hJS0NBTVBFTl9PRkZTRVQJCTI1CisjZGVmaW5lIE1YQ19DQ01fQ0dSMl9DSElLQ0FNUEVOX01BU0sJCSgweDEgPDwgMjUpCisjZGVmaW5lIE1YQ19DQ01fQ0dSMl9PVlJWUFVCVVNZX09GRlNFVAkJMjYKKyNkZWZpbmUgTVhDX0NDTV9DR1IyX09WUlZQVUJVU1lfTUFTSwkJKDB4MSA8PCAyNikKKyNkZWZpbmUgTVhDX0NDTV9DR1IyX0FQTUVOQV9PRkZTRVQJCTMwCisjZGVmaW5lIE1YQ19DQ01fQ0dSMl9BT01FTkFfTUFTSwkJKDB4MSA8PCAzMCkKKworLyoKKyAqIExUUjAgcmVnaXN0ZXIgb2Zmc2V0cworICovCisjZGVmaW5lIE1YQ19DQ01fTFRSMF9ESVYzQ0tfT0ZGU0VUICAgICAgICAgICAgICAxCisjZGVmaW5lIE1YQ19DQ01fTFRSMF9ESVYzQ0tfTUFTSyAgICAgICAgICAgICAgICAoMHgzIDw8IDEpCisjZGVmaW5lIE1YQ19DQ01fTFRSMF9ETlRIUl9PRkZTRVQgICAgICAgICAgICAgICAxNgorI2RlZmluZSBNWENfQ0NNX0xUUjBfRE5USFJfTUFTSyAgICAgICAgICAgICAgICAgKDB4M0YgPDwgMTYpCisjZGVmaW5lIE1YQ19DQ01fTFRSMF9VUFRIUl9PRkZTRVQgICAgICAgICAgICAgICAyMgorI2RlZmluZSBNWENfQ0NNX0xUUjBfVVBUSFJfTUFTSyAgICAgICAgICAgICAgICAgKDB4M0YgPDwgMjIpCisKKy8qCisgKiBMVFIxIHJlZ2lzdGVyIG9mZnNldHMKKyAqLworI2RlZmluZSBNWENfQ0NNX0xUUjFfUE5DVEhSX09GRlNFVCAgICAgICAgICAgICAgMAorI2RlZmluZSBNWENfQ0NNX0xUUjFfUE5DVEhSX01BU0sgICAgICAgICAgICAgICAgMHgzRgorI2RlZmluZSBNWENfQ0NNX0xUUjFfVVBDTlRfT0ZGU0VUICAgICAgICAgICAgICAgNgorI2RlZmluZSBNWENfQ0NNX0xUUjFfVVBDTlRfTUFTSyAgICAgICAgICAgICAgICAgKDB4RkYgPDwgNikKKyNkZWZpbmUgTVhDX0NDTV9MVFIxX0ROQ05UX09GRlNFVCAgICAgICAgICAgICAgIDE0CisjZGVmaW5lIE1YQ19DQ01fTFRSMV9ETkNOVF9NQVNLICAgICAgICAgICAgICAgICAoMHhGRiA8PCAxNCkKKyNkZWZpbmUgTVhDX0NDTV9MVFIxX0xUQlJTUl9NQVNLICAgICAgICAgICAgICAgIDB4NDAwMDAwCisjZGVmaW5lIE1YQ19DQ01fTFRSMV9MVEJSU1JfT0ZGU0VUICAgICAgICAgICAgICAyMgorI2RlZmluZSBNWENfQ0NNX0xUUjFfTFRCUlNSICAgICAgICAgICAgICAgICAgICAgMHg0MDAwMDAKKyNkZWZpbmUgTVhDX0NDTV9MVFIxX0xUQlJTSCAgICAgICAgICAgICAgICAgICAgIDB4ODAwMDAwCisKKy8qCisgKiBMVFIyIGJpdCBkZWZpbml0aW9ucy4geCByYW5nZXMgZnJvbSAwIGZvciBXU1c5IHRvIDYgZm9yIFdTVzE1CisgKi8KKyNkZWZpbmUgTVhDX0NDTV9MVFIyX1dTV19PRkZTRVQoeCkgICAgICAgICAgICAgICgxMSArICh4KSAqIDMpCisjZGVmaW5lIE1YQ19DQ01fTFRSMl9XU1dfTUFTSyh4KSAgICAgICAgICAgICAgICAoMHg3IDw8IFwKKwkJCQkJTVhDX0NDTV9MVFIyX1dTV19PRkZTRVQoKHgpKSkKKyNkZWZpbmUgTVhDX0NDTV9MVFIyX0VNQUNfT0ZGU0VUICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVhDX0NDTV9MVFIyX0VNQUNfTUFTSyAgICAgICAgICAgICAgICAgIDB4MUZGCisKKy8qCisgKiBMVFIzIGJpdCBkZWZpbml0aW9ucy4geCByYW5nZXMgZnJvbSAwIGZvciBXU1cwIHRvIDggZm9yIFdTVzgKKyAqLworI2RlZmluZSBNWENfQ0NNX0xUUjNfV1NXX09GRlNFVCh4KSAgICAgICAgICAgICAgKDUgKyAoeCkgKiAzKQorI2RlZmluZSBNWENfQ0NNX0xUUjNfV1NXX01BU0soeCkgICAgICAgICAgICAgICAgKDB4NyA8PCBcCisJCQkJCU1YQ19DQ01fTFRSM19XU1dfT0ZGU0VUKCh4KSkpCisKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9ERlNVUDEgICAgICAgICAgICAgICAgICAgIDB4ODAwMDAwMDAKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9ERlNVUDFfU1BMTCAgICAgICAgICAgICAgICgwIDw8IDMxKQorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX0RGU1VQMV9NUExMICAgICAgICAgICAgICAgKDEgPDwgMzEpCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfREZTVVAwICAgICAgICAgICAgICAgICAgICAweDQwMDAwMDAwCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfREZTVVAwX1BMTCAgICAgICAgICAgICAgICAoMCA8PCAzMCkKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9ERlNVUDBfUERSICAgICAgICAgICAgICAgICgxIDw8IDMwKQorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX0RGU1VQX01BU0sgICAgICAgICAgICAgICAgKDB4MyA8PCAzMCkKKworI2RlZmluZSBEVlNVUF9UVVJCTwkJCQkwCisjZGVmaW5lIERWU1VQX0hJR0gJCQkJMQorI2RlZmluZSBEVlNVUF9NRURJVU0JCQkJMgorI2RlZmluZSBEVlNVUF9MT1cJCQkJMworI2RlZmluZSBNWENfQ0NNX1BNQ1IwX0RWU1VQX1RVUkJPICAgICAgICAgICAgICAgKERWU1VQX1RVUkJPIDw8IDI4KQorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX0RWU1VQX0hJR0ggICAgICAgICAgICAgICAgKERWU1VQX0hJR0ggPDwgMjgpCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfRFZTVVBfTUVESVVNICAgICAgICAgICAgICAoRFZTVVBfTUVESVVNIDw8IDI4KQorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX0RWU1VQX0xPVyAgICAgICAgICAgICAgICAgKERWU1VQX0xPVyA8PCAyOCkKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9EVlNVUF9PRkZTRVQgICAgICAgICAgICAgIDI4CisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfRFZTVVBfTUFTSyAgICAgICAgICAgICAgICAoMHgzIDw8IDI4KQorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX1VEU0MgICAgICAgICAgICAgICAgICAgICAgMHgwODAwMDAwMAorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX1VEU0NfTUFTSyAgICAgICAgICAgICAgICAgKDEgPDwgMjcpCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfVURTQ19VUCAgICAgICAgICAgICAgICAgICAoMSA8PCAyNykKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9VRFNDX0RPV04gICAgICAgICAgICAgICAgICgwIDw8IDI3KQorCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfVlNDTlRfMSAgICAgICAgICAgICAgICAgICAoMHgwIDw8IDI0KQorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX1ZTQ05UXzIgICAgICAgICAgICAgICAgICAgKDB4MSA8PCAyNCkKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9WU0NOVF8zICAgICAgICAgICAgICAgICAgICgweDIgPDwgMjQpCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfVlNDTlRfNCAgICAgICAgICAgICAgICAgICAoMHgzIDw8IDI0KQorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX1ZTQ05UXzUgICAgICAgICAgICAgICAgICAgKDB4NCA8PCAyNCkKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9WU0NOVF82ICAgICAgICAgICAgICAgICAgICgweDUgPDwgMjQpCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfVlNDTlRfNyAgICAgICAgICAgICAgICAgICAoMHg2IDw8IDI0KQorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX1ZTQ05UXzggICAgICAgICAgICAgICAgICAgKDB4NyA8PCAyNCkKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9WU0NOVF9PRkZTRVQgICAgICAgICAgICAgIDI0CisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfVlNDTlRfTUFTSyAgICAgICAgICAgICAgICAoMHg3IDw8IDI0KQorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX0RWRkVWICAgICAgICAgICAgICAgICAgICAgMHgwMDgwMDAwMAorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX0RWRklTICAgICAgICAgICAgICAgICAgICAgMHgwMDQwMDAwMAorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX0xCTUkgICAgICAgICAgICAgICAgICAgICAgMHgwMDIwMDAwMAorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX0xCRkwgICAgICAgICAgICAgICAgICAgICAgMHgwMDEwMDAwMAorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX0xCQ0ZfNCAgICAgICAgICAgICAgICAgICAgKDB4MCA8PCAxOCkKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9MQkNGXzggICAgICAgICAgICAgICAgICAgICgweDEgPDwgMTgpCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfTEJDRl8xMiAgICAgICAgICAgICAgICAgICAoMHgyIDw8IDE4KQorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX0xCQ0ZfMTYgICAgICAgICAgICAgICAgICAgKDB4MyA8PCAxOCkKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9MQkNGX09GRlNFVCAgICAgICAgICAgICAgIDE4CisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfTEJDRl9NQVNLICAgICAgICAgICAgICAgICAoMHgzIDw8IDE4KQorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX1BUVklTICAgICAgICAgICAgICAgICAgICAgMHgwMDAyMDAwMAorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX1VQRFRFTiAgICAgICAgICAgICAgICAgICAgMHgwMDAxMDAwMAorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX1VQRFRFTl9NQVNLICAgICAgICAgICAgICAgKDB4MSA8PCAxNikKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9GU1ZBSU0gICAgICAgICAgICAgICAgICAgIDB4MDAwMDgwMDAKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9GU1ZBSV9PRkZTRVQgICAgICAgICAgICAgIDEzCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfRlNWQUlfTUFTSyAgICAgICAgICAgICAgICAoMHgzIDw8IDEzKQorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX0RQVkNSICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMTAwMAorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX0RQVlYgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDgwMAorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX1dGSU0gICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDQwMAorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX0RSQ0UzICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDIwMAorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX0RSQ0UyICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDEwMAorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX0RSQ0UxICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDA4MAorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX0RSQ0UwICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDA0MAorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX0RDUiAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAyMAorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX0RWRkVOICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAxMAorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX1BUVkFJTSAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwOAorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX1BUVkFJX09GRlNFVCAgICAgICAgICAgICAgMQorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX1BUVkFJX01BU0sgICAgICAgICAgICAgICAgKDB4MyA8PCAxKQorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX0RQVEVOICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMQorCisjZGVmaW5lIE1YQ19DQ01fUE1DUjFfRFZHUF9PRkZTRVQgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1YQ19DQ01fUE1DUjFfRFZHUF9NQVNLICAgICAgICAgICAgICAgICAoMHhGKQorCisjZGVmaW5lIE1YQ19DQ01fUE1DUjFfUExMUkRJUyAgICAgICAgICAgICAgICAgICAgICAoMHgxIDw8IDcpCisjZGVmaW5lIE1YQ19DQ01fUE1DUjFfRU1JUlFfRU4gICAgICAgICAgICAgICAgICAgICAgKDB4MSA8PCA4KQorCisjZGVmaW5lIE1YQ19DQ01fRENWUl9VTFZfTUFTSyAgICAgICAgICAgICAgICAgICAoMHgzRkYgPDwgMjIpCisjZGVmaW5lIE1YQ19DQ01fRENWUl9VTFZfT0ZGU0VUICAgICAgICAgICAgICAgICAyMgorI2RlZmluZSBNWENfQ0NNX0RDVlJfTExWX01BU0sgICAgICAgICAgICAgICAgICAgKDB4M0ZGIDw8IDEyKQorI2RlZmluZSBNWENfQ0NNX0RDVlJfTExWX09GRlNFVCAgICAgICAgICAgICAgICAgMTIKKyNkZWZpbmUgTVhDX0NDTV9EQ1ZSX0VMVl9NQVNLICAgICAgICAgICAgICAgICAgICgweDNGRiA8PCAyKQorI2RlZmluZSBNWENfQ0NNX0RDVlJfRUxWX09GRlNFVCAgICAgICAgICAgICAgICAgMgorCisjZGVmaW5lIE1YQ19DQ01fUERSMl9NU1QyX1BERl9NQVNLICAgICAgICAgICAgICAoMHgzRiA8PCA3KQorI2RlZmluZSBNWENfQ0NNX1BEUjJfTVNUMl9QREZfT0ZGU0VUICAgICAgICAgICAgNworI2RlZmluZSBNWENfQ0NNX1BEUjJfTVNUMV9QREZfTUFTSyAgICAgICAgICAgICAgMHgzRgorI2RlZmluZSBNWENfQ0NNX1BEUjJfTVNUMV9QREZfT0ZGU0VUICAgICAgICAgICAgMAorCisjZGVmaW5lIE1YQ19DQ01fQ09TUl9DTEtPU0VMX01BU0sgICAgICAgICAgICAgICAweDBGCisjZGVmaW5lIE1YQ19DQ01fQ09TUl9DTEtPU0VMX09GRlNFVCAgICAgICAgICAgICAwCisjZGVmaW5lIE1YQ19DQ01fQ09TUl9DTEtPVVRESVZfTUFTSyAgICAgICAgICAgICAoMHgwNyA8PCA2KQorI2RlZmluZSBNWENfQ0NNX0NPU1JfQ0xLT1VURElWX09GRlNFVCAgICAgICAgICAgNgorI2RlZmluZSBNWENfQ0NNX0NPU1JfQ0xLT0VOICAgICAgICAgICAgICAgICAgICAgKDEgPDwgOSkKKworLyoKKyAqIFBNQ1IwIHJlZ2lzdGVyIG9mZnNldHMKKyAqLworI2RlZmluZSBNWENfQ0NNX1BNQ1IwX0xCRkxfT0ZGU0VUICAgMjAKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9ERlNVUDBfT0ZGU0VUIDMwCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfREZTVVAxX09GRlNFVCAzMQorCisjZW5kaWYJCQkJLyogX19BUkNIX0FSTV9NQUNIX01YM19DUk1fUkVHU19IX18gKi8KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtbXgzL2RldmljZXMuYyBiL2FyY2gvYXJtL21hY2gtbXgzL2RldmljZXMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YzAzMjBmCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1teDMvZGV2aWNlcy5jCkBAIC0wLDAgKzEsMTgwIEBACisvKgorICogQ29weXJpZ2h0IDIwMDYtMjAwNyBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICogQ29weXJpZ2h0IDIwMDggU2FzY2hhIEhhdWVyLCBrZXJuZWxAcGVuZ3V0cm9uaXguZGUKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIKKyAqIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BICAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NlcmlhbC5oPgorI2luY2x1ZGUgPGxpbnV4L2dwaW8uaD4KKyNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9pbXgtdWFydC5oPgorCitzdGF0aWMgc3RydWN0IHJlc291cmNlIHVhcnQwW10gPSB7CisJeworCQkuc3RhcnQgPSBVQVJUMV9CQVNFX0FERFIsCisJCS5lbmQgPSBVQVJUMV9CQVNFX0FERFIgKyAweDBCNSwKKwkJLmZsYWdzID0gSU9SRVNPVVJDRV9NRU0sCisJfSwgeworCQkuc3RhcnQgPSBNWENfSU5UX1VBUlQxLAorCQkuZW5kID0gTVhDX0lOVF9VQVJUMSwKKwkJLmZsYWdzID0gSU9SRVNPVVJDRV9JUlEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG14Y191YXJ0X2RldmljZTAgPSB7CisJLm5hbWUgPSAiaW14LXVhcnQiLAorCS5pZCA9IDAsCisJLnJlc291cmNlID0gdWFydDAsCisJLm51bV9yZXNvdXJjZXMgPSBBUlJBWV9TSVpFKHVhcnQwKSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgdWFydDFbXSA9IHsKKwl7CisJCS5zdGFydCA9IFVBUlQyX0JBU0VfQUREUiwKKwkJLmVuZCA9IFVBUlQyX0JBU0VfQUREUiArIDB4MEI1LAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX01FTSwKKwl9LCB7CisJCS5zdGFydCA9IE1YQ19JTlRfVUFSVDIsCisJCS5lbmQgPSBNWENfSU5UX1VBUlQyLAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXhjX3VhcnRfZGV2aWNlMSA9IHsKKwkubmFtZSA9ICJpbXgtdWFydCIsCisJLmlkID0gMSwKKwkucmVzb3VyY2UgPSB1YXJ0MSwKKwkubnVtX3Jlc291cmNlcyA9IEFSUkFZX1NJWkUodWFydDEpLAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSB1YXJ0MltdID0geworCXsKKwkJLnN0YXJ0ID0gVUFSVDNfQkFTRV9BRERSLAorCQkuZW5kID0gVUFSVDNfQkFTRV9BRERSICsgMHgwQjUsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfTUVNLAorCX0sIHsKKwkJLnN0YXJ0ID0gTVhDX0lOVF9VQVJUMywKKwkJLmVuZCA9IE1YQ19JTlRfVUFSVDMsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBteGNfdWFydF9kZXZpY2UyID0geworCS5uYW1lID0gImlteC11YXJ0IiwKKwkuaWQgPSAyLAorCS5yZXNvdXJjZSA9IHVhcnQyLAorCS5udW1fcmVzb3VyY2VzID0gQVJSQVlfU0laRSh1YXJ0MiksCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIHVhcnQzW10gPSB7CisJeworCQkuc3RhcnQgPSBVQVJUNF9CQVNFX0FERFIsCisJCS5lbmQgPSBVQVJUNF9CQVNFX0FERFIgKyAweDBCNSwKKwkJLmZsYWdzID0gSU9SRVNPVVJDRV9NRU0sCisJfSwgeworCQkuc3RhcnQgPSBNWENfSU5UX1VBUlQ0LAorCQkuZW5kID0gTVhDX0lOVF9VQVJUNCwKKwkJLmZsYWdzID0gSU9SRVNPVVJDRV9JUlEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG14Y191YXJ0X2RldmljZTMgPSB7CisJLm5hbWUgPSAiaW14LXVhcnQiLAorCS5pZCA9IDMsCisJLnJlc291cmNlID0gdWFydDMsCisJLm51bV9yZXNvdXJjZXMgPSBBUlJBWV9TSVpFKHVhcnQzKSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgdWFydDRbXSA9IHsKKwl7CisJCS5zdGFydCA9IFVBUlQ1X0JBU0VfQUREUiwKKwkJLmVuZCA9IFVBUlQ1X0JBU0VfQUREUiArIDB4MEI1LAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX01FTSwKKwl9LCB7CisJCS5zdGFydCA9IE1YQ19JTlRfVUFSVDUsCisJCS5lbmQgPSBNWENfSU5UX1VBUlQ1LAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXhjX3VhcnRfZGV2aWNlNCA9IHsKKwkubmFtZSA9ICJpbXgtdWFydCIsCisJLmlkID0gNCwKKwkucmVzb3VyY2UgPSB1YXJ0NCwKKwkubnVtX3Jlc291cmNlcyA9IEFSUkFZX1NJWkUodWFydDQpLAorfTsKKworLyoKKyAqIFJlZ2lzdGVyIG9ubHkgdGhvc2UgVUFSVHMgdGhhdCBwaHlzaWNhbGx5IGV4aXN0CisgKi8KK2ludCBfX2luaXQgaW14X2luaXRfdWFydChpbnQgdWFydF9ubywgc3RydWN0IGlteHVhcnRfcGxhdGZvcm1fZGF0YSAqcGRhdGEpCit7CisJc3dpdGNoICh1YXJ0X25vKSB7CisJY2FzZSAwOgorCQlteGNfdWFydF9kZXZpY2UwLmRldi5wbGF0Zm9ybV9kYXRhID0gcGRhdGE7CisJCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmbXhjX3VhcnRfZGV2aWNlMCk7CisJCWJyZWFrOworCWNhc2UgMToKKwkJbXhjX3VhcnRfZGV2aWNlMS5kZXYucGxhdGZvcm1fZGF0YSA9IHBkYXRhOworCQlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm14Y191YXJ0X2RldmljZTEpOworCQlicmVhazsKKwljYXNlIDI6CisJCW14Y191YXJ0X2RldmljZTIuZGV2LnBsYXRmb3JtX2RhdGEgPSBwZGF0YTsKKwkJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZteGNfdWFydF9kZXZpY2UyKTsKKwkJYnJlYWs7CisJY2FzZSAzOgorCQlteGNfdWFydF9kZXZpY2UzLmRldi5wbGF0Zm9ybV9kYXRhID0gcGRhdGE7CisJCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmbXhjX3VhcnRfZGV2aWNlMyk7CisJCWJyZWFrOworCWNhc2UgNDoKKwkJbXhjX3VhcnRfZGV2aWNlNC5kZXYucGxhdGZvcm1fZGF0YSA9IHBkYXRhOworCQlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm14Y191YXJ0X2RldmljZTQpOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlyZXR1cm4gLUVOT0RFVjsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworLyogR1BJTyBwb3J0IGRlc2NyaXB0aW9uICovCitzdGF0aWMgc3RydWN0IG14Y19ncGlvX3BvcnQgaW14X2dwaW9fcG9ydHNbXSA9IHsKKwlbMF0gPSB7CisJCS5jaGlwLmxhYmVsID0gImdwaW8tMCIsCisJCS5iYXNlID0gSU9fQUREUkVTUyhHUElPMV9CQVNFX0FERFIpLAorCQkuaXJxID0gTVhDX0lOVF9HUElPMSwKKwkJLnZpcnR1YWxfaXJxX3N0YXJ0ID0gTVhDX0dQSU9fSU5UX0JBU0UKKwl9LAorCVsxXSA9IHsKKwkJLmNoaXAubGFiZWwgPSAiZ3Bpby0xIiwKKwkJLmJhc2UgPSBJT19BRERSRVNTKEdQSU8yX0JBU0VfQUREUiksCisJCS5pcnEgPSBNWENfSU5UX0dQSU8yLAorCQkudmlydHVhbF9pcnFfc3RhcnQgPSBNWENfR1BJT19JTlRfQkFTRSArIEdQSU9fTlVNX1BJTgorCX0sCisJWzJdID0geworCQkuY2hpcC5sYWJlbCA9ICJncGlvLTIiLAorCQkuYmFzZSA9IElPX0FERFJFU1MoR1BJTzNfQkFTRV9BRERSKSwKKwkJLmlycSA9IE1YQ19JTlRfR1BJTzMsCisJCS52aXJ0dWFsX2lycV9zdGFydCA9IE1YQ19HUElPX0lOVF9CQVNFICsgR1BJT19OVU1fUElOICogMgorCX0KK307CisKK2ludCBfX2luaXQgbXhjX3JlZ2lzdGVyX2dwaW9zKHZvaWQpCit7CisJcmV0dXJuIG14Y19ncGlvX2luaXQoaW14X2dwaW9fcG9ydHMsIEFSUkFZX1NJWkUoaW14X2dwaW9fcG9ydHMpKTsKK30KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtbXgzL2lvbXV4LmMgYi9hcmNoL2FybS9tYWNoLW14My9pb211eC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFkYzUxZmUKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW14My9pb211eC5jCkBAIC0wLDAgKzEsMTExIEBACisvKgorICogQ29weXJpZ2h0IDIwMDQtMjAwNiBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA4IGJ5IFNhc2NoYSBIYXVlciA8a2VybmVsQHBlbmd1dHJvbml4LmRlPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMgorICogb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLAorICogTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgorI2luY2x1ZGUgPGxpbnV4L2lvLmg+CisjaW5jbHVkZSA8bGludXgvZ3Bpby5oPgorI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2dwaW8uaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9pb211eC1teDMuaD4KKworLyoKKyAqIElPTVVYIHJlZ2lzdGVyIChiYXNlKSBhZGRyZXNzZXMKKyAqLworI2RlZmluZSBJT01VWF9CQVNFCUlPX0FERFJFU1MoSU9NVVhDX0JBU0VfQUREUikKKyNkZWZpbmUgSU9NVVhJTlRfT0JTMQkoSU9NVVhfQkFTRSArIDB4MDAwKQorI2RlZmluZSBJT01VWElOVF9PQlMyCShJT01VWF9CQVNFICsgMHgwMDQpCisjZGVmaW5lIElPTVVYR1BSCShJT01VWF9CQVNFICsgMHgwMDgpCisjZGVmaW5lIElPTVVYU1dfTVVYX0NUTAkoSU9NVVhfQkFTRSArIDB4MDBDKQorI2RlZmluZSBJT01VWFNXX1BBRF9DVEwJKElPTVVYX0JBU0UgKyAweDE1NCkKKworc3RhdGljIERFRklORV9TUElOTE9DSyhncGlvX211eF9sb2NrKTsKKworI2RlZmluZSBJT01VWF9SRUdfTUFTSyAoSU9NVVhfUEFETlVNX01BU0sgJiB+MHgzKQorLyoKKyAqIHNldCB0aGUgbW9kZSBmb3IgYSBJT01VWCBwaW4uCisgKi8KK2ludCBteGNfaW9tdXhfbW9kZSh1bnNpZ25lZCBpbnQgcGluX21vZGUpCit7CisJdTMyIHJlZywgZmllbGQsIGwsIG1vZGUsIHJldCA9IDA7CisKKwlyZWcgPSBJT01VWFNXX01VWF9DVEwgKyAocGluX21vZGUgJiBJT01VWF9SRUdfTUFTSyk7CisJZmllbGQgPSBwaW5fbW9kZSAmIDB4MzsKKwltb2RlID0gKHBpbl9tb2RlICYgSU9NVVhfTU9ERV9NQVNLKSA+PiBJT01VWF9NT0RFX1NISUZUOworCisJcHJfZGVidWcoIiVzOiByZWcgb2Zmc2V0ID0gMHgleCBmaWVsZCA9ICVkIG1vZGUgPSAweCUwMnhcbiIsCisJCQlfX2Z1bmNfXywgKHBpbl9tb2RlICYgSU9NVVhfUkVHX01BU0spLCBmaWVsZCwgbW9kZSk7CisKKwlzcGluX2xvY2soJmdwaW9fbXV4X2xvY2spOworCisJbCA9IF9fcmF3X3JlYWRsKHJlZyk7CisJbCAmPSB+KDB4ZmYgPDwgKGZpZWxkICogOCkpOworCWwgfD0gbW9kZSA8PCAoZmllbGQgKiA4KTsKKwlfX3Jhd193cml0ZWwobCwgcmVnKTsKKworCXNwaW5fdW5sb2NrKCZncGlvX211eF9sb2NrKTsKKworCXJldHVybiByZXQ7Cit9CitFWFBPUlRfU1lNQk9MKG14Y19pb211eF9tb2RlKTsKKworLyoKKyAqIFRoaXMgZnVuY3Rpb24gY29uZmlndXJlcyB0aGUgcGFkIHZhbHVlIGZvciBhIElPTVVYIHBpbi4KKyAqLwordm9pZCBteGNfaW9tdXhfc2V0X3BhZChlbnVtIGlvbXV4X3BpbnMgcGluLCB1MzIgY29uZmlnKQoreworCXUzMiByZWcsIGZpZWxkLCBsOworCisJcmVnID0gSU9NVVhTV19QQURfQ1RMICsgKHBpbiArIDIpIC8gMzsKKwlmaWVsZCA9IChwaW4gKyAyKSAlIDM7CisKKwlwcl9kZWJ1ZygiJXM6IHJlZyBvZmZzZXQgPSAweCV4IGZpZWxkID0gJWRcbiIsCisJCQlfX2Z1bmNfXywgKHBpbiArIDIpIC8gMywgZmllbGQpOworCisJc3Bpbl9sb2NrKCZncGlvX211eF9sb2NrKTsKKworCWwgPSBfX3Jhd19yZWFkbChyZWcpOworCWwgJj0gfigweDFmZiA8PCAoZmllbGQgKiA5KSk7CisJbCB8PSBjb25maWcgPDwgKGZpZWxkICogOSk7CisJX19yYXdfd3JpdGVsKGwsIHJlZyk7CisKKwlzcGluX3VubG9jaygmZ3Bpb19tdXhfbG9jayk7Cit9CitFWFBPUlRfU1lNQk9MKG14Y19pb211eF9zZXRfcGFkKTsKKworLyoKKyAqIFRoaXMgZnVuY3Rpb24gZW5hYmxlcy9kaXNhYmxlcyB0aGUgZ2VuZXJhbCBwdXJwb3NlIGZ1bmN0aW9uIGZvciBhIHBhcnRpY3VsYXIKKyAqIHNpZ25hbC4KKyAqLwordm9pZCBteGNfaW9tdXhfc2V0X2dwcihlbnVtIGlvbXV4X2dwX2Z1bmMgZ3AsIGJvb2wgZW4pCit7CisJdTMyIGw7CisKKwlzcGluX2xvY2soJmdwaW9fbXV4X2xvY2spOworCWwgPSBfX3Jhd19yZWFkbChJT01VWEdQUik7CisJaWYgKGVuKQorCQlsIHw9IGdwOworCWVsc2UKKwkJbCAmPSB+Z3A7CisKKwlfX3Jhd193cml0ZWwobCwgSU9NVVhHUFIpOworCXNwaW5fdW5sb2NrKCZncGlvX211eF9sb2NrKTsKK30KK0VYUE9SVF9TWU1CT0wobXhjX2lvbXV4X3NldF9ncHIpOworCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW14My9teDMxYWRzLmMgYi9hcmNoL2FybS9tYWNoLW14My9teDMxYWRzLmMKaW5kZXggN2U4OWJkYy4uZWJhM2UwYyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1teDMvbXgzMWFkcy5jCisrKyBiL2FyY2gvYXJtL21hY2gtbXgzL214MzFhZHMuYwpAQCAtMjYsOSArMjYsMTEgQEAKICNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KICNpbmNsdWRlIDxhc20vbWFjaC10eXBlcy5oPgogI2luY2x1ZGUgPGFzbS9tYWNoL2FyY2guaD4KKyNpbmNsdWRlIDxhc20vbWFjaC90aW1lLmg+CiAjaW5jbHVkZSA8YXNtL21lbW9yeS5oPgogI2luY2x1ZGUgPGFzbS9tYWNoL21hcC5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL2NvbW1vbi5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2JvYXJkLW14MzFhZHMuaD4KIAogLyohCiAgKiBAZmlsZSBteDMxYWRzLmMKQEAgLTEyNiw2ICsxMjgsMTYgQEAKIAlteGNfaW5pdF9leHR1YXJ0KCk7CiB9CiAKK3N0YXRpYyB2b2lkIF9faW5pdCBteDMxYWRzX3RpbWVyX2luaXQodm9pZCkKK3sKKwlteGNfY2xvY2tzX2luaXQoMjYwMDAwMDApOworCW14Y190aW1lcl9pbml0KCJpcGdfY2xrLjAiKTsKK30KKworc3RydWN0IHN5c190aW1lciBteDMxYWRzX3RpbWVyID0geworCS5pbml0CT0gbXgzMWFkc190aW1lcl9pbml0LAorfTsKKwogLyoKICAqIFRoZSBmb2xsb3dpbmcgdXNlcyBzdGFuZGFyZCBrZXJuZWwgbWFjcm9zIGRlZmluZWQgaW4gYXJjaC5oIGluIG9yZGVyIHRvCiAgKiBpbml0aWFsaXplIF9fbWFjaF9kZXNjX01YMzFBRFMgZGF0YSBzdHJ1Y3R1cmUuCkBAIC0xMzgsNSArMTUwLDUgQEAKIAkubWFwX2lvICAgICAgICAgPSBteDMxYWRzX21hcF9pbywKIAkuaW5pdF9pcnEgICAgICAgPSBteGNfaW5pdF9pcnEsCiAJLmluaXRfbWFjaGluZSAgID0gbXhjX2JvYXJkX2luaXQsCi0JLnRpbWVyICAgICAgICAgID0gJm14Y190aW1lciwKKwkudGltZXIgICAgICAgICAgPSAmbXgzMWFkc190aW1lciwKIE1BQ0hJTkVfRU5ECmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW14My9teDMxbGl0ZS5jIGIvYXJjaC9hcm0vbWFjaC1teDMvbXgzMWxpdGUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMzcyYzFhCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1teDMvbXgzMWxpdGUuYwpAQCAtMCwwICsxLDEwNyBAQAorLyoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDAgRGVlcCBCbHVlIFNvbHV0aW9ucyBMdGQKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDIgU2hhbmUgTmF5IChzaGFuZUBtaW5pcmwuY29tKQorICogIENvcHlyaWdodCAyMDA1LTIwMDcgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L21lbW9yeS5oPgorCisjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CisjaW5jbHVkZSA8YXNtL21hY2gtdHlwZXMuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9hcmNoLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvdGltZS5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL21hcC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2NvbW1vbi5oPgorI2luY2x1ZGUgPGFzbS9wYWdlLmg+CisjaW5jbHVkZSA8YXNtL3NldHVwLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvYm9hcmQtbXgzMWxpdGUuaD4KKworLyoKKyAqIFRoaXMgZmlsZSBjb250YWlucyB0aGUgYm9hcmQtc3BlY2lmaWMgaW5pdGlhbGl6YXRpb24gcm91dGluZXMuCisgKi8KKworLyoKKyAqIFRoaXMgc3RydWN0dXJlIGRlZmluZXMgdGhlIE1YMzEgbWVtb3J5IG1hcC4KKyAqLworc3RhdGljIHN0cnVjdCBtYXBfZGVzYyBteDMxbGl0ZV9pb19kZXNjW10gX19pbml0ZGF0YSA9IHsKKwl7CisJCS52aXJ0dWFsID0gQUlQUzFfQkFTRV9BRERSX1ZJUlQsCisJCS5wZm4gPSBfX3BoeXNfdG9fcGZuKEFJUFMxX0JBU0VfQUREUiksCisJCS5sZW5ndGggPSBBSVBTMV9TSVpFLAorCQkudHlwZSA9IE1UX05PTlNIQVJFRF9ERVZJQ0UKKwl9LCB7CisJCS52aXJ0dWFsID0gU1BCQTBfQkFTRV9BRERSX1ZJUlQsCisJCS5wZm4gPSBfX3BoeXNfdG9fcGZuKFNQQkEwX0JBU0VfQUREUiksCisJCS5sZW5ndGggPSBTUEJBMF9TSVpFLAorCQkudHlwZSA9IE1UX05PTlNIQVJFRF9ERVZJQ0UKKwl9LCB7CisJCS52aXJ0dWFsID0gQUlQUzJfQkFTRV9BRERSX1ZJUlQsCisJCS5wZm4gPSBfX3BoeXNfdG9fcGZuKEFJUFMyX0JBU0VfQUREUiksCisJCS5sZW5ndGggPSBBSVBTMl9TSVpFLAorCQkudHlwZSA9IE1UX05PTlNIQVJFRF9ERVZJQ0UKKwl9LCB7CisJCS52aXJ0dWFsID0gQ1M0X0JBU0VfQUREUl9WSVJULAorCQkucGZuID0gX19waHlzX3RvX3BmbihDUzRfQkFTRV9BRERSKSwKKwkJLmxlbmd0aCA9IENTNF9TSVpFLAorCQkudHlwZSA9IE1UX0RFVklDRQorCX0KK307CisKKy8qCisgKiBTZXQgdXAgc3RhdGljIHZpcnR1YWwgbWFwcGluZ3MuCisgKi8KK3ZvaWQgX19pbml0IG14MzFsaXRlX21hcF9pbyh2b2lkKQoreworCW14Y19tYXBfaW8oKTsKKwlpb3RhYmxlX2luaXQobXgzMWxpdGVfaW9fZGVzYywgQVJSQVlfU0laRShteDMxbGl0ZV9pb19kZXNjKSk7Cit9CisKKy8qCisgKiBCb2FyZCBzcGVjaWZpYyBpbml0aWFsaXphdGlvbi4KKyAqLworc3RhdGljIHZvaWQgX19pbml0IG14Y19ib2FyZF9pbml0KHZvaWQpCit7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBteDMxbGl0ZV90aW1lcl9pbml0KHZvaWQpCit7CisJbXhjX2Nsb2Nrc19pbml0KDI2MDAwMDAwKTsKKwlteGNfdGltZXJfaW5pdCgiaXBnX2Nsay4wIik7Cit9CisKK3N0cnVjdCBzeXNfdGltZXIgbXgzMWxpdGVfdGltZXIgPSB7CisJLmluaXQJPSBteDMxbGl0ZV90aW1lcl9pbml0LAorfTsKKworLyoKKyAqIFRoZSBmb2xsb3dpbmcgdXNlcyBzdGFuZGFyZCBrZXJuZWwgbWFjcm9zIGRlZmluZWQgaW4gYXJjaC5oIGluIG9yZGVyIHRvCisgKiBpbml0aWFsaXplIF9fbWFjaF9kZXNjX01YMzFMSVRFIGRhdGEgc3RydWN0dXJlLgorICovCisKK01BQ0hJTkVfU1RBUlQoTVgzMUxJVEUsICJMb2dpY1BEIE1YMzEgTElURUtJVCIpCisJLyogTWFpbnRhaW5lcjogRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4gKi8KKwkucGh5c19pbyAgICAgICAgPSBBSVBTMV9CQVNFX0FERFIsCisJLmlvX3BnX29mZnN0ICAgID0gKChBSVBTMV9CQVNFX0FERFJfVklSVCkgPj4gMTgpICYgMHhmZmZjLAorCS5ib290X3BhcmFtcyAgICA9IFBIWVNfT0ZGU0VUICsgMHgxMDAsCisJLm1hcF9pbyAgICAgICAgID0gbXgzMWxpdGVfbWFwX2lvLAorCS5pbml0X2lycSAgICAgICA9IG14Y19pbml0X2lycSwKKwkuaW5pdF9tYWNoaW5lICAgPSBteGNfYm9hcmRfaW5pdCwKKwkudGltZXIgICAgICAgICAgPSAmbXgzMWxpdGVfdGltZXIsCitNQUNISU5FX0VORApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1teDMvcGNtMDM3LmMgYi9hcmNoL2FybS9tYWNoLW14My9wY20wMzcuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMzRhZTZkCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1teDMvcGNtMDM3LmMKQEAgLTAsMCArMSwxMzAgQEAKKy8qCisgKiAgQ29weXJpZ2h0IChDKSAyMDA4IFNhc2NoYSBIYXVlciwgUGVuZ3V0cm9uaXgKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorCisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvbXRkL3BoeXNtYXAuaD4KKyNpbmNsdWRlIDxsaW51eC9tZW1vcnkuaD4KKworI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvYXJjaC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL3RpbWUuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9tYXAuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9jb21tb24uaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9pbXgtdWFydC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2lvbXV4LW14My5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2JvYXJkLXBjbTAzNy5oPgorCitzdGF0aWMgc3RydWN0IHBoeXNtYXBfZmxhc2hfZGF0YSBwY20wMzdfZmxhc2hfZGF0YSA9IHsKKwkud2lkdGggID0gMiwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgcGNtMDM3X2ZsYXNoX3Jlc291cmNlID0geworCS5zdGFydAk9IDB4YTAwMDAwMDAsCisJLmVuZAk9IDB4YTFmZmZmZmYsCisJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBwY20wMzdfZmxhc2ggPSB7CisJLm5hbWUJPSAicGh5c21hcC1mbGFzaCIsCisJLmlkCT0gMCwKKwkuZGV2CT0geworCQkucGxhdGZvcm1fZGF0YSAgPSAmcGNtMDM3X2ZsYXNoX2RhdGEsCisJfSwKKwkucmVzb3VyY2UgPSAmcGNtMDM3X2ZsYXNoX3Jlc291cmNlLAorCS5udW1fcmVzb3VyY2VzID0gMSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgaW14dWFydF9wbGF0Zm9ybV9kYXRhIHVhcnRfcGRhdGEgPSB7CisJLmZsYWdzID0gMCwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpkZXZpY2VzW10gX19pbml0ZGF0YSA9IHsKKwkmcGNtMDM3X2ZsYXNoLAorfTsKKworLyoKKyAqIEJvYXJkIHNwZWNpZmljIGluaXRpYWxpemF0aW9uLgorICovCitzdGF0aWMgdm9pZCBfX2luaXQgbXhjX2JvYXJkX2luaXQodm9pZCkKK3sKKwlwbGF0Zm9ybV9hZGRfZGV2aWNlcyhkZXZpY2VzLCBBUlJBWV9TSVpFKGRldmljZXMpKTsKKworCW14Y19pb211eF9tb2RlKE1YMzFfUElOX0NUUzFfX0NUUzEpOworCW14Y19pb211eF9tb2RlKE1YMzFfUElOX1JUUzFfX1JUUzEpOworCW14Y19pb211eF9tb2RlKE1YMzFfUElOX1RYRDFfX1RYRDEpOworCW14Y19pb211eF9tb2RlKE1YMzFfUElOX1JYRDFfX1JYRDEpOworCisJaW14X2luaXRfdWFydCgwLCAmdWFydF9wZGF0YSk7CisKKwlteGNfaW9tdXhfbW9kZShNWDMxX1BJTl9DU1BJM19NT1NJX19SWEQzKTsKKwlteGNfaW9tdXhfbW9kZShNWDMxX1BJTl9DU1BJM19NSVNPX19UWEQzKTsKKworCWlteF9pbml0X3VhcnQoMiwgJnVhcnRfcGRhdGEpOworfQorCisvKgorICogVGhpcyBzdHJ1Y3R1cmUgZGVmaW5lcyBzdGF0aWMgbWFwcGluZ3MgZm9yIHRoZSBwY20wMzcgYm9hcmQuCisgKi8KK3N0YXRpYyBzdHJ1Y3QgbWFwX2Rlc2MgcGNtMDM3X2lvX2Rlc2NbXSBfX2luaXRkYXRhID0geworCXsKKwkJLnZpcnR1YWwJPSBBSVBTMV9CQVNFX0FERFJfVklSVCwKKwkJLnBmbgkJPSBfX3BoeXNfdG9fcGZuKEFJUFMxX0JBU0VfQUREUiksCisJCS5sZW5ndGgJCT0gQUlQUzFfU0laRSwKKwkJLnR5cGUJCT0gTVRfREVWSUNFCisJfSwgeworCQkudmlydHVhbAk9IEFJUFMyX0JBU0VfQUREUl9WSVJULAorCQkucGZuCQk9IF9fcGh5c190b19wZm4oQUlQUzJfQkFTRV9BRERSKSwKKwkJLmxlbmd0aAkJPSBBSVBTMl9TSVpFLAorCQkudHlwZQkJPSBNVF9ERVZJQ0UKKwl9LAorfTsKKworLyoKKyAqIFNldCB1cCBzdGF0aWMgdmlydHVhbCBtYXBwaW5ncy4KKyAqLwordm9pZCBfX2luaXQgcGNtMDM3X21hcF9pbyh2b2lkKQoreworCW14Y19tYXBfaW8oKTsKKwlpb3RhYmxlX2luaXQocGNtMDM3X2lvX2Rlc2MsIEFSUkFZX1NJWkUocGNtMDM3X2lvX2Rlc2MpKTsKK30KKworc3RhdGljIHZvaWQgX19pbml0IHBjbTAzN190aW1lcl9pbml0KHZvaWQpCit7CisJbXhjX2Nsb2Nrc19pbml0KDI2MDAwMDAwKTsKKwlteGNfdGltZXJfaW5pdCgiaXBnX2Nsay4wIik7Cit9CisKK3N0cnVjdCBzeXNfdGltZXIgcGNtMDM3X3RpbWVyID0geworCS5pbml0CT0gcGNtMDM3X3RpbWVyX2luaXQsCit9OworCitNQUNISU5FX1NUQVJUKFBDTTAzNywgIlBoeXRlYyBQaHljb3JlIHBjbTAzNyIpCisJLyogTWFpbnRhaW5lcjogUGVuZ3V0cm9uaXggKi8KKwkucGh5c19pbwk9IEFJUFMxX0JBU0VfQUREUiwKKwkuaW9fcGdfb2Zmc3QJPSAoKEFJUFMxX0JBU0VfQUREUl9WSVJUKSA+PiAxOCkgJiAweGZmZmMsCisJLmJvb3RfcGFyYW1zICAgID0gUEhZU19PRkZTRVQgKyAweDEwMCwKKwkubWFwX2lvICAgICAgICAgPSBwY20wMzdfbWFwX2lvLAorCS5pbml0X2lycSAgICAgICA9IG14Y19pbml0X2lycSwKKwkuaW5pdF9tYWNoaW5lICAgPSBteGNfYm9hcmRfaW5pdCwKKwkudGltZXIgICAgICAgICAgPSAmcGNtMDM3X3RpbWVyLAorTUFDSElORV9FTkQKKwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1teDMvdGltZS5jIGIvYXJjaC9hcm0vbWFjaC1teDMvdGltZS5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmYjU2NWM5Li4wMDAwMDAwCi0tLSBhL2FyY2gvYXJtL21hY2gtbXgzL3RpbWUuYworKysgL2Rldi9udWxsCkBAIC0xLDE0OCArMCwwIEBACi0vKgotICogU3lzdGVtIFRpbWVyIEludGVycnVwdCByZWNvbmZpZ3VyZWQgdG8gcnVuIGluIGZyZWUtcnVuIG1vZGUuCi0gKiBBdXRob3I6IFZpdGFseSBXb29sCi0gKiBDb3B5cmlnaHQgMjAwNCBNb250YVZpc3RhIFNvZnR3YXJlIEluYy4KLSAqIENvcHlyaWdodCAyMDA0LTIwMDcgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSAqLwotCi0vKgotICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCi0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KLSAqLwotCi0vKiEKLSAqIEBmaWxlIHRpbWUuYwotICogQGJyaWVmIFRoaXMgZmlsZSBjb250YWlucyBPUyB0aWNrIGFuZCB3ZG9nIHRpbWVyIGltcGxlbWVudGF0aW9ucy4KLSAqCi0gKiBUaGlzIGZpbGUgY29udGFpbnMgT1MgdGljayBhbmQgd2RvZyB0aW1lciBpbXBsZW1lbnRhdGlvbnMuCi0gKgotICogQGluZ3JvdXAgVGltZXJzCi0gKi8KLQotI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgotI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KLSNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KLSNpbmNsdWRlIDxsaW51eC9pcnEuaD4KLSNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KLSNpbmNsdWRlIDxhc20vbWFjaC90aW1lLmg+Ci0jaW5jbHVkZSA8YXNtL2lvLmg+Ci0jaW5jbHVkZSA8YXNtL2FyY2gvY29tbW9uLmg+Ci0KLS8qIQotICogVGhpcyBpcyB0aGUgdGltZXIgaW50ZXJydXB0IHNlcnZpY2Ugcm91dGluZSB0byBkbyByZXF1aXJlZCB0YXNrcy4KLSAqIEl0IGFsc28gc2VydmljZXMgdGhlIFdET0cgdGltZXIgYXQgdGhlIGZyZXF1ZW5jeSBvZiB0d2ljZSBwZXIgV0RPRwotICogdGltZW91dCB2YWx1ZS4gRm9yIGV4YW1wbGUsIGlmIHRoZSBXRE9HJ3MgdGltZW91dCB2YWx1ZSBpcyA0ICgyCi0gKiBzZWNvbmRzIHNpbmNlIHRoZSBXRE9HIHJ1bnMgYXQgMC41SHopLCBpdCB3aWxsIGJlIHNlcnZpY2VkIG9uY2UKLSAqIGV2ZXJ5IDIvMj0xIHNlY29uZC4KLSAqCi0gKiBAcGFyYW0gIGlycSAgICAgICAgICBHUFQgaW50ZXJydXB0IHNvdXJjZSBudW1iZXIgKG5vdCB1c2VkKQotICogQHBhcmFtICBkZXZfaWQgICAgICAgdGhpcyBwYXJhbWV0ZXIgaXMgbm90IHVzZWQKLSAqIEByZXR1cm4gYWx3YXlzIHJldHVybnMgXGIgSVJRX0hBTkRMRUQgYXMgZGVmaW5lZCBpbgotICogICAgICAgICBpbmNsdWRlL2xpbnV4L2ludGVycnVwdC5oLgotICovCi1zdGF0aWMgaXJxcmV0dXJuX3QgbXhjX3RpbWVyX2ludGVycnVwdChpbnQgaXJxLCB2b2lkICpkZXZfaWQpCi17Ci0JdW5zaWduZWQgaW50IG5leHRfbWF0Y2g7Ci0KLQlpZiAoX19yYXdfcmVhZGwoTVhDX0dQVF9HUFRTUikgJiBHUFRTUl9PRjEpIHsKLQkJZG8gewotCQkJdGltZXJfdGljaygpOwotCQkJbmV4dF9tYXRjaCA9IF9fcmF3X3JlYWRsKE1YQ19HUFRfR1BUT0NSMSkgKyBMQVRDSDsKLQkJCV9fcmF3X3dyaXRlbChHUFRTUl9PRjEsIE1YQ19HUFRfR1BUU1IpOwotCQkJX19yYXdfd3JpdGVsKG5leHRfbWF0Y2gsIE1YQ19HUFRfR1BUT0NSMSk7Ci0JCX0gd2hpbGUgKChzaWduZWQgbG9uZykobmV4dF9tYXRjaCAtCi0JCQkJICAgICAgIF9fcmF3X3JlYWRsKE1YQ19HUFRfR1BUQ05UKSkgPD0gMCk7Ci0JfQotCi0JcmV0dXJuIElSUV9IQU5ETEVEOwotfQotCi0vKiEKLSAqIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byBvYnRhaW4gdGhlIG51bWJlciBvZiBtaWNyb3NlY29uZHMgc2luY2UgdGhlIGxhc3QKLSAqIHRpbWVyIGludGVycnVwdC4gTm90ZSB0aGF0IGludGVycnVwdHMgaXMgZGlzYWJsZWQgYnkgZG9fZ2V0dGltZW9mZGF5KCkuCi0gKgotICogQHJldHVybiB0aGUgbnVtYmVyIG9mIG1pY3Jvc2Vjb25kcyBzaW5jZSB0aGUgbGFzdCB0aW1lciBpbnRlcnJ1cHQuCi0gKi8KLXN0YXRpYyB1bnNpZ25lZCBsb25nIG14Y19nZXR0aW1lb2Zmc2V0KHZvaWQpCi17Ci0JdW5zaWduZWQgbG9uZyB0aWNrc190b19tYXRjaCwgZWxhcHNlZCwgdXNlYywgdGlja191c2VjLCBpOwotCi0JLyogR2V0IHRpY2tzIGJlZm9yZSBuZXh0IHRpbWVyIG1hdGNoICovCi0JdGlja3NfdG9fbWF0Y2ggPQotCSAgICBfX3Jhd19yZWFkbChNWENfR1BUX0dQVE9DUjEpIC0gX19yYXdfcmVhZGwoTVhDX0dQVF9HUFRDTlQpOwotCi0JLyogV2UgbmVlZCBlbGFwc2VkIHRpY2tzIHNpbmNlIGxhc3QgbWF0Y2ggKi8KLQllbGFwc2VkID0gTEFUQ0ggLSB0aWNrc190b19tYXRjaDsKLQotCS8qIE5vdyBjb252ZXJ0IHRoZW0gdG8gdXNlYyAqLwotCS8qIEluc3VyZSBubyBvdmVyZmxvdyB3aGVuIGNhbGN1bGF0aW5nIHRoZSB1c2VjIGJlbG93ICovCi0JZm9yIChpID0gMSwgdGlja191c2VjID0gdGlja19uc2VjIC8gMTAwMDs7IGkgKj0gMikgewotCQl0aWNrX3VzZWMgLz0gaTsKLQkJaWYgKCgweEZGRkZGRkZGIC8gdGlja191c2VjKSA+IGVsYXBzZWQpCi0JCQlicmVhazsKLQl9Ci0JdXNlYyA9ICh1bnNpZ25lZCBsb25nKShlbGFwc2VkICogdGlja191c2VjKSAvIChMQVRDSCAvIGkpOwotCi0JcmV0dXJuIHVzZWM7Ci19Ci0KLS8qIQotICogVGhlIE9TIHRpY2sgdGltZXIgaW50ZXJydXB0IHN0cnVjdHVyZS4KLSAqLwotc3RhdGljIHN0cnVjdCBpcnFhY3Rpb24gdGltZXJfaXJxID0gewotCS5uYW1lID0gIk1YQyBUaW1lciBUaWNrIiwKLQkuZmxhZ3MgPSBJUlFGX0RJU0FCTEVEIHwgSVJRRl9USU1FUiwKLQkuaGFuZGxlciA9IG14Y190aW1lcl9pbnRlcnJ1cHQKLX07Ci0KLS8qIQotICogVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIGluaXRpYWxpemUgdGhlIEdQVCB0byBwcm9kdWNlIGFuIGludGVycnVwdAotICogYmFzZWQgb24gSFouICBJdCBpcyBjYWxsZWQgYnkgc3RhcnRfa2VybmVsKCkgZHVyaW5nIHN5c3RlbSBzdGFydHVwLgotICovCi12b2lkIF9faW5pdCBteGNfaW5pdF90aW1lKHZvaWQpCi17Ci0JdTMyIHJlZywgdjsKLQlyZWcgPSBfX3Jhd19yZWFkbChNWENfR1BUX0dQVENSKTsKLQlyZWcgJj0gfkdQVENSX0VOQUJMRTsKLQlfX3Jhd193cml0ZWwocmVnLCBNWENfR1BUX0dQVENSKTsKLQlyZWcgfD0gR1BUQ1JfU1dSOwotCV9fcmF3X3dyaXRlbChyZWcsIE1YQ19HUFRfR1BUQ1IpOwotCi0Jd2hpbGUgKChfX3Jhd19yZWFkbChNWENfR1BUX0dQVENSKSAmIEdQVENSX1NXUikgIT0gMCkKLQkJY3B1X3JlbGF4KCk7Ci0KLQlyZWcgPSBHUFRDUl9GUlIgfCBHUFRDUl9DTEtTUkNfSElHSEZSRVE7Ci0JX19yYXdfd3JpdGVsKHJlZywgTVhDX0dQVF9HUFRDUik7Ci0KLQkvKiBUT0RPOiBnZXQgdGltZXIgcmF0ZSBmcm9tIGNsayBkcml2ZXIgKi8KLQl2ID0gNjY1MDAwMDA7Ci0KLQlfX3Jhd193cml0ZWwoKHYgLyBDTE9DS19USUNLX1JBVEUpIC0gMSwgTVhDX0dQVF9HUFRQUik7Ci0KLQlpZiAoKHYgJSBDTE9DS19USUNLX1JBVEUpICE9IDApIHsKLQkJcHJfaW5mbygiXG5XQVJOSU5HOiBDYW4ndCBnZW5lcmF0ZSBDTE9DS19USUNLX1JBVEUgYXQgJWQgSHpcbiIsCi0JCQlDTE9DS19USUNLX1JBVEUpOwotCX0KLQlwcl9pbmZvKCJBY3R1YWwgQ0xPQ0tfVElDS19SQVRFIGlzICVkIEh6XG4iLAotCQl2IC8gKChfX3Jhd19yZWFkbChNWENfR1BUX0dQVFBSKSAmIDB4RkZGKSArIDEpKTsKLQotCXJlZyA9IF9fcmF3X3JlYWRsKE1YQ19HUFRfR1BUQ05UKTsKLQlyZWcgKz0gTEFUQ0g7Ci0JX19yYXdfd3JpdGVsKHJlZywgTVhDX0dQVF9HUFRPQ1IxKTsKLQotCXNldHVwX2lycShNWENfSU5UX0dQVCwgJnRpbWVyX2lycSk7Ci0KLQlyZWcgPSBfX3Jhd19yZWFkbChNWENfR1BUX0dQVENSKTsKLQlyZWcgPQotCSAgICBHUFRDUl9GUlIgfCBHUFRDUl9DTEtTUkNfSElHSEZSRVEgfCBHUFRDUl9TVE9QRU4gfCBHUFRDUl9ET1pFTiB8Ci0JICAgIEdQVENSX1dBSVRFTiB8IEdQVENSX0VOTU9EIHwgR1BUQ1JfRU5BQkxFOwotCV9fcmF3X3dyaXRlbChyZWcsIE1YQ19HUFRfR1BUQ1IpOwotCi0JX19yYXdfd3JpdGVsKEdQVElSX09GMUlFLCBNWENfR1BUX0dQVElSKTsKLX0KLQotc3RydWN0IHN5c190aW1lciBteGNfdGltZXIgPSB7Ci0JLmluaXQgPSBteGNfaW5pdF90aW1lLAotCS5vZmZzZXQgPSBteGNfZ2V0dGltZW9mZnNldCwKLX07CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9tYXAxL01ha2VmaWxlIGIvYXJjaC9hcm0vbWFjaC1vbWFwMS9NYWtlZmlsZQppbmRleCBjMDZmNTI1Li4xYmRhOGY1IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9tYXAxL01ha2VmaWxlCisrKyBiL2FyY2gvYXJtL21hY2gtb21hcDEvTWFrZWZpbGUKQEAgLTMsNyArMyw5IEBACiAjCiAKICMgQ29tbW9uIHN1cHBvcnQKLW9iai15IDo9IGlvLm8gaWQubyBjbG9jay5vIGlycS5vIG11eC5vIHNlcmlhbC5vIGRldmljZXMubworb2JqLXkgOj0gaW8ubyBpZC5vIHNyYW0ubyBjbG9jay5vIGlycS5vIG11eC5vIHNlcmlhbC5vIGRldmljZXMubworCitvYmotJChDT05GSUdfT01BUF9NQ0JTUCkgKz0gbWNic3AubwogCiBvYmotJChDT05GSUdfT01BUF9NUFVfVElNRVIpCSs9IHRpbWUubwogb2JqLSQoQ09ORklHX09NQVBfMzJLX1RJTUVSKQkrPSB0aW1lcjMyay5vCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9tYXAxL2JvYXJkLW5va2lhNzcwLmMgYi9hcmNoL2FybS9tYWNoLW9tYXAxL2JvYXJkLW5va2lhNzcwLmMKaW5kZXggYmNiOTg0Zi4uM2YzOWUwZSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vbWFwMS9ib2FyZC1ub2tpYTc3MC5jCisrKyBiL2FyY2gvYXJtL21hY2gtb21hcDEvYm9hcmQtbm9raWE3NzAuYwpAQCAtMTAsNiArMTAsNyBAQAogCiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CiAjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvaW5wdXQuaD4KICNpbmNsdWRlIDxsaW51eC9jbGsuaD4KQEAgLTIwMiw3ICsyMDMsNyBAQAogI2RlZmluZQlBTVBMSUZJRVJfQ1RSTF9HUElPCTU4CiAKIHN0YXRpYyBzdHJ1Y3QgY2xrICpkc3B4b3JfY2s7Ci1zdGF0aWMgREVDTEFSRV9NVVRFWChhdWRpb19wd3Jfc2VtKTsKK3N0YXRpYyBERUZJTkVfTVVURVgoYXVkaW9fcHdyX2xvY2spOwogLyoKICAqIGF1ZGlvX3B3cl9zdGF0ZQogICogKy0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwpAQCAtMjE4LDcgKzIxOSw3IEBACiBzdGF0aWMgaW50IGF1ZGlvX3B3cl9zdGF0ZSA9IC0xOwogCiAvKgotICogYXVkaW9fcHdyX3VwIC8gZG93biBzaG91bGQgYmUgY2FsbGVkIHVuZGVyIGF1ZGlvX3B3cl9zZW0KKyAqIGF1ZGlvX3B3cl91cCAvIGRvd24gc2hvdWxkIGJlIGNhbGxlZCB1bmRlciBhdWRpb19wd3JfbG9jawogICovCiBzdGF0aWMgdm9pZCBub2tpYTc3MF9hdWRpb19wd3JfdXAodm9pZCkKIHsKQEAgLTIzNywxMSArMjM4LDExIEBACiAKIHN0YXRpYyB2b2lkIGNvZGVjX2RlbGF5ZWRfcG93ZXJfZG93bihzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCiB7Ci0JZG93bigmYXVkaW9fcHdyX3NlbSk7CisJbXV0ZXhfbG9jaygmYXVkaW9fcHdyX2xvY2spOwogCWlmIChhdWRpb19wd3Jfc3RhdGUgPT0gLTEpCiAJCWFpYzIzX3Bvd2VyX2Rvd24oKTsKIAljbGtfZGlzYWJsZShkc3B4b3JfY2spOwotCXVwKCZhdWRpb19wd3Jfc2VtKTsKKwltdXRleF91bmxvY2soJmF1ZGlvX3B3cl9sb2NrKTsKIH0KIAogc3RhdGljIERFQ0xBUkVfREVMQVlFRF9XT1JLKGNvZGVjX3Bvd2VyX2Rvd25fd29yaywgY29kZWNfZGVsYXllZF9wb3dlcl9kb3duKTsKQEAgLTI1OCwxOSArMjU5LDE5IEBACiBzdGF0aWMgaW50CiBub2tpYTc3MF9hdWRpb19wd3JfdXBfcmVxdWVzdChzdHJ1Y3QgZHNwX2tmdW5jX2RldmljZSAqa2RldiwgaW50IHN0YWdlKQogewotCWRvd24oJmF1ZGlvX3B3cl9zZW0pOworCW11dGV4X2xvY2soJmF1ZGlvX3B3cl9sb2NrKTsKIAlpZiAoYXVkaW9fcHdyX3N0YXRlID09IC0xKQogCQlub2tpYTc3MF9hdWRpb19wd3JfdXAoKTsKIAkvKiBmb3JjZSBhdWRpb19wd3Jfc3RhdGUgPSAwLCBldmVuIGlmIGl0IHdhcyAxLiAqLwogCWF1ZGlvX3B3cl9zdGF0ZSA9IDA7Ci0JdXAoJmF1ZGlvX3B3cl9zZW0pOworCW11dGV4X3VubG9jaygmYXVkaW9fcHdyX2xvY2spOwogCXJldHVybiAwOwogfQogCiBzdGF0aWMgaW50CiBub2tpYTc3MF9hdWRpb19wd3JfZG93bl9yZXF1ZXN0KHN0cnVjdCBkc3Bfa2Z1bmNfZGV2aWNlICprZGV2LCBpbnQgc3RhZ2UpCiB7Ci0JZG93bigmYXVkaW9fcHdyX3NlbSk7CisJbXV0ZXhfbG9jaygmYXVkaW9fcHdyX2xvY2spOwogCXN3aXRjaCAoc3RhZ2UpIHsKIAljYXNlIDE6CiAJCWlmIChhdWRpb19wd3Jfc3RhdGUgPT0gMCkKQEAgLTI4Myw3ICsyODQsNyBAQAogCQl9CiAJCWJyZWFrOwogCX0KLQl1cCgmYXVkaW9fcHdyX3NlbSk7CisJbXV0ZXhfdW5sb2NrKCZhdWRpb19wd3JfbG9jayk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDEvYm9hcmQtb3NrLmMgYi9hcmNoL2FybS9tYWNoLW9tYXAxL2JvYXJkLW9zay5jCmluZGV4IGE2NjUwNWYuLjg0NWM2NjMgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb21hcDEvYm9hcmQtb3NrLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMS9ib2FyZC1vc2suYwpAQCAtMjY3LDEzICsyNjcsMTcgQEAKIAogc3RhdGljIHZvaWQgX19pbml0IG9za19pbml0X3NtYzkxeCh2b2lkKQogeworCXUzMiBsOworCiAJaWYgKChncGlvX3JlcXVlc3QoMCwgInNtY19pcnEiKSkgPCAwKSB7CiAJCXByaW50aygiRXJyb3IgcmVxdWVzdGluZyBncGlvIDAgZm9yIHNtYzkxeCBpcnFcbiIpOwogCQlyZXR1cm47CiAJfQogCiAJLyogQ2hlY2sgRU1JRlMgd2FpdCBzdGF0ZXMgdG8gZml4IGVycm9ycyB3aXRoIFNNQ19HRVRfUEtUX0hEUiAqLwotCUVNSUZTX0NDUygxKSB8PSAweDM7CisJbCA9IG9tYXBfcmVhZGwoRU1JRlNfQ0NTKDEpKTsKKwlsIHw9IDB4MzsKKwlvbWFwX3dyaXRlbChsLCBFTUlGU19DQ1MoMSkpOwogfQogCiBzdGF0aWMgdm9pZCBfX2luaXQgb3NrX2luaXRfY2Yodm9pZCkKQEAgLTUyNiwyMCArNTMwLDI2IEBACiAKIHN0YXRpYyB2b2lkIF9faW5pdCBvc2tfaW5pdCh2b2lkKQogeworCXUzMiBsOworCiAJLyogV29ya2Fyb3VuZCBmb3Igd3JvbmcgQ1MzIChOT1IgZmxhc2gpIHRpbWluZwogCSAqIFRoZXJlIGFyZSBzb21lIFUtQm9vdCB2ZXJzaW9ucyBvdXQgdGhlcmUgd2hpY2ggY29uZmlndXJlCiAJICogd3JvbmcgQ1MzIG1lbW9yeSB0aW1pbmdzLiBUaGlzIG1haW5seSBsZWFkcyB0byBDUkMKIAkgKiBvciBzaW1pbGFyIGVycm9ycyBpZiB5b3UgdXNlIE5PUiBmbGFzaCAoZS5nLiB3aXRoIEpGRlMyKQogCSAqLwotCWlmIChFTUlGU19DQ1MoMykgIT0gRU1JRlNfQ1MzX1ZBTCkKLQkJRU1JRlNfQ0NTKDMpID0gRU1JRlNfQ1MzX1ZBTDsKKwlsID0gb21hcF9yZWFkbChFTUlGU19DQ1MoMykpOworCWlmIChsICE9IEVNSUZTX0NTM19WQUwpCisJCW9tYXBfd3JpdGVsKEVNSUZTX0NTM19WQUwsIEVNSUZTX0NDUygzKSk7CiAKIAlvc2tfZmxhc2hfcmVzb3VyY2UuZW5kID0gb3NrX2ZsYXNoX3Jlc291cmNlLnN0YXJ0ID0gb21hcF9jczNfcGh5cygpOwogCW9za19mbGFzaF9yZXNvdXJjZS5lbmQgKz0gU1pfMzJNIC0gMTsKIAlwbGF0Zm9ybV9hZGRfZGV2aWNlcyhvc2s1OTEyX2RldmljZXMsIEFSUkFZX1NJWkUob3NrNTkxMl9kZXZpY2VzKSk7CiAJb21hcF9ib2FyZF9jb25maWcgPSBvc2tfY29uZmlnOwogCW9tYXBfYm9hcmRfY29uZmlnX3NpemUgPSBBUlJBWV9TSVpFKG9za19jb25maWcpOwotCVVTQl9UUkFOU0NFSVZFUl9DVFJMX1JFRyB8PSAoMyA8PCAxKTsKKworCWwgPSBvbWFwX3JlYWRsKFVTQl9UUkFOU0NFSVZFUl9DVFJMKTsKKwlsIHw9ICgzIDw8IDEpOworCW9tYXBfd3JpdGVsKGwsIFVTQl9UUkFOU0NFSVZFUl9DVFJMKTsKIAogCS8qIGlycSBmb3IgdHBzNjUwMTAgY2hpcCAqLwogCS8qIGJvb3Rsb2FkZXIgZWZmZWN0aXZlbHkgZG9lczogIG9tYXBfY2ZnX3JlZyhVMTlfMTYxMF9NUFVJTzEpOyAqLwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vbWFwMS9mcGdhLmMgYi9hcmNoL2FybS9tYWNoLW9tYXAxL2ZwZ2EuYwppbmRleCAzMGUxODgxLi4wY2Y2MmVmIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9tYXAxL2ZwZ2EuYworKysgYi9hcmNoL2FybS9tYWNoLW9tYXAxL2ZwZ2EuYwpAQCAtMzIsNyArMzIsNyBAQAogCiBzdGF0aWMgdm9pZCBmcGdhX21hc2tfaXJxKHVuc2lnbmVkIGludCBpcnEpCiB7Ci0JaXJxIC09IE9NQVAxNTEwX0lIX0ZQR0FfQkFTRTsKKwlpcnEgLT0gT01BUF9GUEdBX0lSUV9CQVNFOwogCiAJaWYgKGlycSA8IDgpCiAJCV9fcmF3X3dyaXRlYigoX19yYXdfcmVhZGIoT01BUDE1MTBfRlBHQV9JTVJfTE8pCkBAIC02NSw3ICs2NSw3IEBACiAKIHN0YXRpYyB2b2lkIGZwZ2FfdW5tYXNrX2lycSh1bnNpZ25lZCBpbnQgaXJxKQogewotCWlycSAtPSBPTUFQMTUxMF9JSF9GUEdBX0JBU0U7CisJaXJxIC09IE9NQVBfRlBHQV9JUlFfQkFTRTsKIAogCWlmIChpcnEgPCA4KQogCQlfX3Jhd193cml0ZWIoKF9fcmF3X3JlYWRiKE9NQVAxNTEwX0ZQR0FfSU1SX0xPKSB8ICgxIDw8IGlycSkpLApAQCAtOTUsOCArOTUsOCBAQAogCWlmICghc3RhdCkKIAkJcmV0dXJuOwogCi0JZm9yIChmcGdhX2lycSA9IE9NQVAxNTEwX0lIX0ZQR0FfQkFTRTsKLQkgICAgIChmcGdhX2lycSA8IChPTUFQMTUxMF9JSF9GUEdBX0JBU0UgKyBOUl9GUEdBX0lSUVMpKSAmJiBzdGF0OworCWZvciAoZnBnYV9pcnEgPSBPTUFQX0ZQR0FfSVJRX0JBU0U7CisJICAgICAoZnBnYV9pcnEgPCBPTUFQX0ZQR0FfSVJRX0VORCkgJiYgc3RhdDsKIAkgICAgIGZwZ2FfaXJxKyssIHN0YXQgPj49IDEpIHsKIAkJaWYgKHN0YXQgJiAxKSB7CiAJCQlkID0gaXJxX2Rlc2MgKyBmcGdhX2lycTsKQEAgLTE1MSw3ICsxNTEsNyBAQAogCV9fcmF3X3dyaXRlYigwLCBPTUFQMTUxMF9GUEdBX0lNUl9ISSk7CiAJX19yYXdfd3JpdGViKDAsIElOTk9WQVRPUl9GUEdBX0lNUjIpOwogCi0JZm9yIChpID0gT01BUDE1MTBfSUhfRlBHQV9CQVNFOyBpIDwgKE9NQVAxNTEwX0lIX0ZQR0FfQkFTRSArIE5SX0ZQR0FfSVJRUyk7IGkrKykgeworCWZvciAoaSA9IE9NQVBfRlBHQV9JUlFfQkFTRTsgaSA8IE9NQVBfRlBHQV9JUlFfRU5EOyBpKyspIHsKIAogCQlpZiAoaSA9PSBPTUFQMTUxMF9JTlRfRlBHQV9UUykgewogCQkJLyoKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDEvbWNic3AuYyBiL2FyY2gvYXJtL21hY2gtb21hcDEvbWNic3AuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZDJjMjUyCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMS9tY2JzcC5jCkBAIC0wLDAgKzEsMjgwIEBACisvKgorICogbGludXgvYXJjaC9hcm0vbWFjaC1vbWFwMS9tY2JzcC5jCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA4IEluc3RpdHV0byBOb2tpYSBkZSBUZWNub2xvZ2lhCisgKiBDb250YWN0OiBFZHVhcmRvIFZhbGVudGluIDxlZHVhcmRvLnZhbGVudGluQGluZHQub3JnLmJyPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKgorICogTXVsdGljaGFubmVsIG1vZGUgbm90IHN1cHBvcnRlZC4KKyAqLworI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9jbGsuaD4KKyNpbmNsdWRlIDxsaW51eC9lcnIuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorCisjaW5jbHVkZSA8YXNtL2FyY2gvZG1hLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvbXV4Lmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvY3B1Lmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvbWNic3AuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9kc3BfY29tbW9uLmg+CisKKyNkZWZpbmUgRFBTX1JTVENUMl9QRVJfRU4JKDEgPDwgMCkKKyNkZWZpbmUgRFNQX1JTVENUMl9XRF9QRVJfRU4JKDEgPDwgMSkKKworc3RydWN0IG1jYnNwX2ludGVybmFsX2NsayB7CisJc3RydWN0IGNsayBjbGs7CisJc3RydWN0IGNsayAqKmNoaWxkczsKKwlpbnQgbl9jaGlsZHM7Cit9OworCisjaWYgZGVmaW5lZChDT05GSUdfQVJDSF9PTUFQMTVYWCkgfHwgZGVmaW5lZChDT05GSUdfQVJDSF9PTUFQMTZYWCkKK3N0YXRpYyB2b2lkIG9tYXBfbWNic3BfY2xrX2luaXQoc3RydWN0IG1jYnNwX2ludGVybmFsX2NsayAqbWNsaykKK3sKKwljb25zdCBjaGFyICpjbGtfbmFtZXNbXSA9IHsgImRzcF9jayIsICJhcGlfY2siLCAiZHNweG9yX2NrIiB9OworCWludCBpOworCisJbWNsay0+bl9jaGlsZHMgPSBBUlJBWV9TSVpFKGNsa19uYW1lcyk7CisJbWNsay0+Y2hpbGRzID0ga3phbGxvYyhtY2xrLT5uX2NoaWxkcyAqIHNpemVvZihzdHJ1Y3QgY2xrICopLAorCQkJCUdGUF9LRVJORUwpOworCisJZm9yIChpID0gMDsgaSA8IG1jbGstPm5fY2hpbGRzOyBpKyspIHsKKwkJLyogV2UgZmFrZSBhIHBsYXRmb3JtIGRldmljZSB0byBnZXQgY29ycmVjdCBkZXZpY2UgaWQgKi8KKwkJc3RydWN0IHBsYXRmb3JtX2RldmljZSBwZGV2OworCisJCXBkZXYuZGV2LmJ1cyA9ICZwbGF0Zm9ybV9idXNfdHlwZTsKKwkJcGRldi5pZCA9IG1jbGstPmNsay5pZDsKKwkJbWNsay0+Y2hpbGRzW2ldID0gY2xrX2dldCgmcGRldi5kZXYsIGNsa19uYW1lc1tpXSk7CisJCWlmIChJU19FUlIobWNsay0+Y2hpbGRzW2ldKSkKKwkJCXByaW50ayhLRVJOX0VSUiAiQ291bGQgbm90IGdldCBjbG9jayAlcyAoJWQpLlxuIiwKKwkJCQljbGtfbmFtZXNbaV0sIG1jbGstPmNsay5pZCk7CisJfQorfQorCitzdGF0aWMgaW50IG9tYXBfbWNic3BfY2xrX2VuYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJc3RydWN0IG1jYnNwX2ludGVybmFsX2NsayAqbWNsayA9IGNvbnRhaW5lcl9vZihjbGssCisJCQkJCXN0cnVjdCBtY2JzcF9pbnRlcm5hbF9jbGssIGNsayk7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgbWNsay0+bl9jaGlsZHM7IGkrKykKKwkJY2xrX2VuYWJsZShtY2xrLT5jaGlsZHNbaV0pOworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBvbWFwX21jYnNwX2Nsa19kaXNhYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwlzdHJ1Y3QgbWNic3BfaW50ZXJuYWxfY2xrICptY2xrID0gY29udGFpbmVyX29mKGNsaywKKwkJCQkJc3RydWN0IG1jYnNwX2ludGVybmFsX2NsaywgY2xrKTsKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCBtY2xrLT5uX2NoaWxkczsgaSsrKQorCQljbGtfZGlzYWJsZShtY2xrLT5jaGlsZHNbaV0pOworfQorCitzdGF0aWMgc3RydWN0IG1jYnNwX2ludGVybmFsX2NsayBvbWFwX21jYnNwX2Nsa3NbXSA9IHsKKwl7CisJCS5jbGsgPSB7CisJCQkubmFtZSAJCT0gIm1jYnNwX2NsayIsCisJCQkuaWQJCT0gMSwKKwkJCS5lbmFibGUJCT0gb21hcF9tY2JzcF9jbGtfZW5hYmxlLAorCQkJLmRpc2FibGUJPSBvbWFwX21jYnNwX2Nsa19kaXNhYmxlLAorCQl9LAorCX0sCisJeworCQkuY2xrID0geworCQkJLm5hbWUgCQk9ICJtY2JzcF9jbGsiLAorCQkJLmlkCQk9IDMsCisJCQkuZW5hYmxlCQk9IG9tYXBfbWNic3BfY2xrX2VuYWJsZSwKKwkJCS5kaXNhYmxlCT0gb21hcF9tY2JzcF9jbGtfZGlzYWJsZSwKKwkJfSwKKwl9LAorfTsKKworI2RlZmluZSBvbWFwX21jYnNwX2Nsa3Nfc2l6ZQlBUlJBWV9TSVpFKG9tYXBfbWNic3BfY2xrcykKKyNlbHNlCisjZGVmaW5lIG9tYXBfbWNic3BfY2xrc19zaXplCTAKK3N0YXRpYyBzdHJ1Y3QgbWNic3BfaW50ZXJuYWxfY2xrIF9faW5pdGRhdGEgKm9tYXBfbWNic3BfY2xrczsKK3N0YXRpYyBpbmxpbmUgdm9pZCBvbWFwX21jYnNwX2Nsa19pbml0KHN0cnVjdCBtY2JzcF9pbnRlcm5hbF9jbGsgKm1jbGspCit7IH0KKyNlbmRpZgorCitzdGF0aWMgaW50IG9tYXAxX21jYnNwX2NoZWNrKHVuc2lnbmVkIGludCBpZCkKK3sKKwkvKiBSRVZJU0lUOiBDaGVjayBjb3JyZWN0bHkgZm9yIG51bWJlciBvZiByZWdpc3RlcmVkIE1jQlNQcyAqLworCWlmIChjcHVfaXNfb21hcDczMCgpKSB7CisJCWlmIChpZCA+IE9NQVBfTUFYX01DQlNQX0NPVU5UIC0gMikgeworCQkgICAgICAgcHJpbnRrKEtFUk5fRVJSICJPTUFQLU1jQlNQOiBNY0JTUCVkIGRvZXNuJ3QgZXhpc3RcbiIsCisJCQkJaWQgKyAxKTsKKwkJICAgICAgIHJldHVybiAtRU5PREVWOworCQl9CisJCXJldHVybiAwOworCX0KKworCWlmIChjcHVfaXNfb21hcDE1eHgoKSB8fCBjcHVfaXNfb21hcDE2eHgoKSkgeworCQlpZiAoaWQgPiBPTUFQX01BWF9NQ0JTUF9DT1VOVCAtIDEpIHsKKwkJCXByaW50ayhLRVJOX0VSUiAiT01BUC1NY0JTUDogTWNCU1AlZCBkb2Vzbid0IGV4aXN0XG4iLAorCQkJCWlkICsgMSk7CisJCQlyZXR1cm4gLUVOT0RFVjsKKwkJfQorCQlyZXR1cm4gMDsKKwl9CisKKwlyZXR1cm4gLUVOT0RFVjsKK30KKworc3RhdGljIHZvaWQgb21hcDFfbWNic3BfcmVxdWVzdCh1bnNpZ25lZCBpbnQgaWQpCit7CisJLyoKKwkgKiBPbiAxNTEwLCAxNjEwIGFuZCAxNzEwLCBNY0JTUDEgYW5kIE1jQlNQMworCSAqIGFyZSBEU1AgcHVibGljIHBlcmlwaGVyYWxzLgorCSAqLworCWlmIChpZCA9PSBPTUFQX01DQlNQMSB8fCBpZCA9PSBPTUFQX01DQlNQMykgeworCQlvbWFwX2RzcF9yZXF1ZXN0X21lbSgpOworCQkvKgorCQkgKiBEU1AgZXh0ZXJuYWwgcGVyaXBoZXJhbCByZXNldAorCQkgKiBGSVhNRTogVGhpcyBzaG91bGQgYmUgbW92ZWQgdG8gZHNwIGNvZGUKKwkJICovCisJCV9fcmF3X3dyaXRldyhfX3Jhd19yZWFkdyhEU1BfUlNUQ1QyKSB8IERQU19SU1RDVDJfUEVSX0VOIHwKKwkJCQlEU1BfUlNUQ1QyX1dEX1BFUl9FTiwgRFNQX1JTVENUMik7CisJfQorfQorCitzdGF0aWMgdm9pZCBvbWFwMV9tY2JzcF9mcmVlKHVuc2lnbmVkIGludCBpZCkKK3sKKwlpZiAoaWQgPT0gT01BUF9NQ0JTUDEgfHwgaWQgPT0gT01BUF9NQ0JTUDMpCisJCW9tYXBfZHNwX3JlbGVhc2VfbWVtKCk7Cit9CisKK3N0YXRpYyBzdHJ1Y3Qgb21hcF9tY2JzcF9vcHMgb21hcDFfbWNic3Bfb3BzID0geworCS5jaGVjawkJPSBvbWFwMV9tY2JzcF9jaGVjaywKKwkucmVxdWVzdAk9IG9tYXAxX21jYnNwX3JlcXVlc3QsCisJLmZyZWUJCT0gb21hcDFfbWNic3BfZnJlZSwKK307CisKKyNpZmRlZiBDT05GSUdfQVJDSF9PTUFQNzMwCitzdGF0aWMgc3RydWN0IG9tYXBfbWNic3BfcGxhdGZvcm1fZGF0YSBvbWFwNzMwX21jYnNwX3BkYXRhW10gPSB7CisJeworCQkudmlydF9iYXNlCT0gaW9fcDJ2KE9NQVA3MzBfTUNCU1AxX0JBU0UpLAorCQkuZG1hX3J4X3N5bmMJPSBPTUFQX0RNQV9NQ0JTUDFfUlgsCisJCS5kbWFfdHhfc3luYwk9IE9NQVBfRE1BX01DQlNQMV9UWCwKKwkJLnJ4X2lycQkJPSBJTlRfNzMwX01jQlNQMVJYLAorCQkudHhfaXJxCQk9IElOVF83MzBfTWNCU1AxVFgsCisJCS5vcHMJCT0gJm9tYXAxX21jYnNwX29wcywKKwl9LAorCXsKKwkJLnZpcnRfYmFzZQk9IGlvX3AydihPTUFQNzMwX01DQlNQMl9CQVNFKSwKKwkJLmRtYV9yeF9zeW5jCT0gT01BUF9ETUFfTUNCU1AzX1JYLAorCQkuZG1hX3R4X3N5bmMJPSBPTUFQX0RNQV9NQ0JTUDNfVFgsCisJCS5yeF9pcnEJCT0gSU5UXzczMF9NY0JTUDJSWCwKKwkJLnR4X2lycQkJPSBJTlRfNzMwX01jQlNQMlRYLAorCQkub3BzCQk9ICZvbWFwMV9tY2JzcF9vcHMsCisJfSwKK307CisjZGVmaW5lIE9NQVA3MzBfTUNCU1BfUERBVEFfU1oJCUFSUkFZX1NJWkUob21hcDczMF9tY2JzcF9wZGF0YSkKKyNlbHNlCisjZGVmaW5lIG9tYXA3MzBfbWNic3BfcGRhdGEJCU5VTEwKKyNkZWZpbmUgT01BUDczMF9NQ0JTUF9QREFUQV9TWgkJMAorI2VuZGlmCisKKyNpZmRlZiBDT05GSUdfQVJDSF9PTUFQMTVYWAorc3RhdGljIHN0cnVjdCBvbWFwX21jYnNwX3BsYXRmb3JtX2RhdGEgb21hcDE1eHhfbWNic3BfcGRhdGFbXSA9IHsKKwl7CisJCS52aXJ0X2Jhc2UJPSBPTUFQMTUxMF9NQ0JTUDFfQkFTRSwKKwkJLmRtYV9yeF9zeW5jCT0gT01BUF9ETUFfTUNCU1AxX1JYLAorCQkuZG1hX3R4X3N5bmMJPSBPTUFQX0RNQV9NQ0JTUDFfVFgsCisJCS5yeF9pcnEJCT0gSU5UX01jQlNQMVJYLAorCQkudHhfaXJxCQk9IElOVF9NY0JTUDFUWCwKKwkJLm9wcwkJPSAmb21hcDFfbWNic3Bfb3BzLAorCQkuY2xrX25hbWUJPSAibWNic3BfY2xrIiwKKwkJfSwKKwl7CisJCS52aXJ0X2Jhc2UJPSBpb19wMnYoT01BUDE1MTBfTUNCU1AyX0JBU0UpLAorCQkuZG1hX3J4X3N5bmMJPSBPTUFQX0RNQV9NQ0JTUDJfUlgsCisJCS5kbWFfdHhfc3luYwk9IE9NQVBfRE1BX01DQlNQMl9UWCwKKwkJLnJ4X2lycQkJPSBJTlRfMTUxMF9TUElfUlgsCisJCS50eF9pcnEJCT0gSU5UXzE1MTBfU1BJX1RYLAorCQkub3BzCQk9ICZvbWFwMV9tY2JzcF9vcHMsCisJfSwKKwl7CisJCS52aXJ0X2Jhc2UJPSBPTUFQMTUxMF9NQ0JTUDNfQkFTRSwKKwkJLmRtYV9yeF9zeW5jCT0gT01BUF9ETUFfTUNCU1AzX1JYLAorCQkuZG1hX3R4X3N5bmMJPSBPTUFQX0RNQV9NQ0JTUDNfVFgsCisJCS5yeF9pcnEJCT0gSU5UX01jQlNQM1JYLAorCQkudHhfaXJxCQk9IElOVF9NY0JTUDNUWCwKKwkJLm9wcwkJPSAmb21hcDFfbWNic3Bfb3BzLAorCQkuY2xrX25hbWUJPSAibWNic3BfY2xrIiwKKwl9LAorfTsKKyNkZWZpbmUgT01BUDE1WFhfTUNCU1BfUERBVEFfU1oJCUFSUkFZX1NJWkUob21hcDE1eHhfbWNic3BfcGRhdGEpCisjZWxzZQorI2RlZmluZSBvbWFwMTV4eF9tY2JzcF9wZGF0YQkJTlVMTAorI2RlZmluZSBPTUFQMTVYWF9NQ0JTUF9QREFUQV9TWgkJMAorI2VuZGlmCisKKyNpZmRlZiBDT05GSUdfQVJDSF9PTUFQMTZYWAorc3RhdGljIHN0cnVjdCBvbWFwX21jYnNwX3BsYXRmb3JtX2RhdGEgb21hcDE2eHhfbWNic3BfcGRhdGFbXSA9IHsKKwl7CisJCS52aXJ0X2Jhc2UJPSBPTUFQMTYxMF9NQ0JTUDFfQkFTRSwKKwkJLmRtYV9yeF9zeW5jCT0gT01BUF9ETUFfTUNCU1AxX1JYLAorCQkuZG1hX3R4X3N5bmMJPSBPTUFQX0RNQV9NQ0JTUDFfVFgsCisJCS5yeF9pcnEJCT0gSU5UX01jQlNQMVJYLAorCQkudHhfaXJxCQk9IElOVF9NY0JTUDFUWCwKKwkJLm9wcwkJPSAmb21hcDFfbWNic3Bfb3BzLAorCQkuY2xrX25hbWUJPSAibWNic3BfY2xrIiwKKwl9LAorCXsKKwkJLnZpcnRfYmFzZQk9IGlvX3AydihPTUFQMTYxMF9NQ0JTUDJfQkFTRSksCisJCS5kbWFfcnhfc3luYwk9IE9NQVBfRE1BX01DQlNQMl9SWCwKKwkJLmRtYV90eF9zeW5jCT0gT01BUF9ETUFfTUNCU1AyX1RYLAorCQkucnhfaXJxCQk9IElOVF8xNjEwX01jQlNQMl9SWCwKKwkJLnR4X2lycQkJPSBJTlRfMTYxMF9NY0JTUDJfVFgsCisJCS5vcHMJCT0gJm9tYXAxX21jYnNwX29wcywKKwl9LAorCXsKKwkJLnZpcnRfYmFzZQk9IE9NQVAxNjEwX01DQlNQM19CQVNFLAorCQkuZG1hX3J4X3N5bmMJPSBPTUFQX0RNQV9NQ0JTUDNfUlgsCisJCS5kbWFfdHhfc3luYwk9IE9NQVBfRE1BX01DQlNQM19UWCwKKwkJLnJ4X2lycQkJPSBJTlRfTWNCU1AzUlgsCisJCS50eF9pcnEJCT0gSU5UX01jQlNQM1RYLAorCQkub3BzCQk9ICZvbWFwMV9tY2JzcF9vcHMsCisJCS5jbGtfbmFtZQk9ICJtY2JzcF9jbGsiLAorCX0sCit9OworI2RlZmluZSBPTUFQMTZYWF9NQ0JTUF9QREFUQV9TWgkJQVJSQVlfU0laRShvbWFwMTZ4eF9tY2JzcF9wZGF0YSkKKyNlbHNlCisjZGVmaW5lIG9tYXAxNnh4X21jYnNwX3BkYXRhCQlOVUxMCisjZGVmaW5lIE9NQVAxNlhYX01DQlNQX1BEQVRBX1NaCQkwCisjZW5kaWYKKworaW50IF9faW5pdCBvbWFwMV9tY2JzcF9pbml0KHZvaWQpCit7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgb21hcF9tY2JzcF9jbGtzX3NpemU7IGkrKykgeworCQlpZiAoY3B1X2lzX29tYXAxNXh4KCkgfHwgY3B1X2lzX29tYXAxNnh4KCkpIHsKKwkJCW9tYXBfbWNic3BfY2xrX2luaXQoJm9tYXBfbWNic3BfY2xrc1tpXSk7CisJCQljbGtfcmVnaXN0ZXIoJm9tYXBfbWNic3BfY2xrc1tpXS5jbGspOworCQl9CisJfQorCisJaWYgKGNwdV9pc19vbWFwNzMwKCkpCisJCW9tYXBfbWNic3BfcmVnaXN0ZXJfYm9hcmRfY2ZnKG9tYXA3MzBfbWNic3BfcGRhdGEsCisJCQkJCQlPTUFQNzMwX01DQlNQX1BEQVRBX1NaKTsKKworCWlmIChjcHVfaXNfb21hcDE1eHgoKSkKKwkJb21hcF9tY2JzcF9yZWdpc3Rlcl9ib2FyZF9jZmcob21hcDE1eHhfbWNic3BfcGRhdGEsCisJCQkJCQlPTUFQMTVYWF9NQ0JTUF9QREFUQV9TWik7CisKKwlpZiAoY3B1X2lzX29tYXAxNnh4KCkpCisJCW9tYXBfbWNic3BfcmVnaXN0ZXJfYm9hcmRfY2ZnKG9tYXAxNnh4X21jYnNwX3BkYXRhLAorCQkJCQkJT01BUDE2WFhfTUNCU1BfUERBVEFfU1opOworCisJcmV0dXJuIG9tYXBfbWNic3BfaW5pdCgpOworfQorCithcmNoX2luaXRjYWxsKG9tYXAxX21jYnNwX2luaXQpOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vbWFwMS9wbS5jIGIvYXJjaC9hcm0vbWFjaC1vbWFwMS9wbS5jCmluZGV4IGU2YzY0ZTEuLjc0MmY3OWUgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb21hcDEvcG0uYworKysgYi9hcmNoL2FybS9tYWNoLW9tYXAxL3BtLmMKQEAgLTExNiwxMyArMTE2LDYgQEAKIAkJcmV0dXJuOwogCX0KIAotCS8qCi0JICogU2luY2UgYW4gaW50ZXJydXB0IG1heSBzZXQgdXAgYSB0aW1lciwgd2UgZG9uJ3Qgd2FudCB0bwotCSAqIHJlcHJvZ3JhbSB0aGUgaGFyZHdhcmUgdGltZXIgd2l0aCBpbnRlcnJ1cHRzIGVuYWJsZWQuCi0JICogUmUtZW5hYmxlIGludGVycnVwdHMgb25seSBhZnRlciByZXR1cm5pbmcgZnJvbSBpZGxlLgotCSAqLwotCXRpbWVyX2R5bl9yZXByb2dyYW0oKTsKLQogI2lmZGVmIENPTkZJR19PTUFQX01QVV9USU1FUgogI3dhcm5pbmcgRW5hYmxlIDMya0h6IE9TIHRpbWVyIGluIG9yZGVyIHRvIGFsbG93IHNsZWVwIHN0YXRlcyBpbiBpZGxlCiAJdXNlX2lkbGVjdDEgPSB1c2VfaWRsZWN0MSAmIH4oMSA8PCA5KTsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL3BsYXQtb21hcC9zcmFtLWZuLlMgYi9hcmNoL2FybS9tYWNoLW9tYXAxL3NyYW0uUwpzaW1pbGFyaXR5IGluZGV4IDkyJQpyZW5hbWUgZnJvbSBhcmNoL2FybS9wbGF0LW9tYXAvc3JhbS1mbi5TCnJlbmFtZSB0byBhcmNoL2FybS9tYWNoLW9tYXAxL3NyYW0uUwppbmRleCA5ZTE4MTNjLi4xMjZkMjUyIDEwMDY0NAotLS0gYS9hcmNoL2FybS9wbGF0LW9tYXAvc3JhbS1mbi5TCisrKyBiL2FyY2gvYXJtL21hY2gtb21hcDEvc3JhbS5TCkBAIC0xOCw3ICsxOCw3IEBACiAvKgogICogUmVwcm9ncmFtcyBVTFBEIGFuZCBDS0NUTC4KICAqLwotRU5UUlkoc3JhbV9yZXByb2dyYW1fY2xvY2spCitFTlRSWShvbWFwMV9zcmFtX3JlcHJvZ3JhbV9jbG9jaykKIAlzdG1mZAlzcCEsIHtyMCAtIHIxMiwgbHJ9CQlAIHNhdmUgcmVnaXN0ZXJzIG9uIHN0YWNrCiAKIAltb3YJcjIsICNJT19BRERSRVNTKERQTExfQ1RMKSAmIDB4ZmYwMDAwMDAKQEAgLTUzLDUgKzUzLDUgQEAKIAogb3V0OgogCWxkbWZkCXNwISwge3IwIC0gcjEyLCBwY30JCUAgcmVzdG9yZSByZWdzIGFuZCByZXR1cm4KLUVOVFJZKHNyYW1fcmVwcm9ncmFtX2Nsb2NrX3N6KQotCS53b3JkCS4gLSBzcmFtX3JlcHJvZ3JhbV9jbG9jaworRU5UUlkob21hcDFfc3JhbV9yZXByb2dyYW1fY2xvY2tfc3opCisJLndvcmQJLiAtIG9tYXAxX3NyYW1fcmVwcm9ncmFtX2Nsb2NrCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9tYXAyL01ha2VmaWxlIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9NYWtlZmlsZQppbmRleCAyZmViNjg3Li45M2VlOTkwIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9tYXAyL01ha2VmaWxlCisrKyBiL2FyY2gvYXJtL21hY2gtb21hcDIvTWFrZWZpbGUKQEAgLTMsOSArMywxNSBAQAogIwogCiAjIENvbW1vbiBzdXBwb3J0Ci1vYmoteSA6PSBpcnEubyBpZC5vIGlvLm8gc3JhbS1mbi5vIG1lbW9yeS5vIGNvbnRyb2wubyBwcmNtLm8gY2xvY2subyBtdXgubyBcCitvYmoteSA6PSBpcnEubyBpZC5vIGlvLm8gbWVtb3J5Lm8gY29udHJvbC5vIHByY20ubyBjbG9jay5vIG11eC5vIFwKIAkJZGV2aWNlcy5vIHNlcmlhbC5vIGdwbWMubyB0aW1lci1ncC5vCiAKK29iai0kKENPTkZJR19PTUFQX01DQlNQKSArPSBtY2JzcC5vCisKKyMgRnVuY3Rpb25zIGxvYWRlZCB0byBTUkFNCitvYmotJChDT05GSUdfQVJDSF9PTUFQMjQyMCkJCSs9IHNyYW0yNDJ4Lm8KK29iai0kKENPTkZJR19BUkNIX09NQVAyNDMwKQkJKz0gc3JhbTI0M3gubworCiAjIFBvd2VyIE1hbmFnZW1lbnQKIG9iai0kKENPTkZJR19QTSkgKz0gcG0ubyBzbGVlcC5vCiAKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDIvY2xvY2suYyBiL2FyY2gvYXJtL21hY2gtb21hcDIvY2xvY2suYwppbmRleCBhYjlmYzU3Li4xNTY3NWJjIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9tYXAyL2Nsb2NrLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9jbG9jay5jCkBAIC00MSw2ICs0MSwyNCBAQAogCiAjZGVmaW5lIE1BWF9DTE9DS19FTkFCTEVfV0FJVAkJMTAwMDAwCiAKKy8qIERQTEwgcmF0ZSByb3VuZGluZzogbWluaW11bSBEUExMIG11bHRpcGxpZXIsIGRpdmlkZXIgdmFsdWVzICovCisjZGVmaW5lIERQTExfTUlOX01VTFRJUExJRVIJCTEKKyNkZWZpbmUgRFBMTF9NSU5fRElWSURFUgkJMQorCisvKiBQb3NzaWJsZSBlcnJvciByZXN1bHRzIGZyb20gX2RwbGxfdGVzdF9tdWx0ICovCisjZGVmaW5lIERQTExfTVVMVF9VTkRFUkZMT1cJCSgxIDw8IDApCisKKy8qCisgKiBTY2FsZSBmYWN0b3IgdG8gbWl0aWdhdGUgcm91bmRvZmYgZXJyb3JzIGluIERQTEwgcmF0ZSByb3VuZGluZy4KKyAqIFRoZSBoaWdoZXIgdGhlIHNjYWxlIGZhY3RvciwgdGhlIGdyZWF0ZXIgdGhlIHJpc2sgb2YgYXJpdGhtZXRpYyBvdmVyZmxvdywKKyAqIGJ1dCB0aGUgY2xvc2VyIHRoZSByb3VuZGVkIHJhdGUgdG8gdGhlIHRhcmdldCByYXRlLiAgRFBMTF9TQ0FMRV9GQUNUT1IKKyAqIG11c3QgYmUgYSBwb3dlciBvZiBEUExMX1NDQUxFX0JBU0UuCisgKi8KKyNkZWZpbmUgRFBMTF9TQ0FMRV9GQUNUT1IJCTY0CisjZGVmaW5lIERQTExfU0NBTEVfQkFTRQkJCTIKKyNkZWZpbmUgRFBMTF9ST1VORElOR19WQUwJCSgoRFBMTF9TQ0FMRV9CQVNFIC8gMikgKiBcCisJCQkJCSAoRFBMTF9TQ0FMRV9GQUNUT1IgLyBEUExMX1NDQUxFX0JBU0UpKQorCiB1OCBjcHVfbWFzazsKIAogLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkBAIC05NSw3ICsxMTMsNyBAQAogewogCWxvbmcgbG9uZyBkcGxsX2NsazsKIAl1MzIgZHBsbF9tdWx0LCBkcGxsX2RpdiwgZHBsbDsKLQljb25zdCBzdHJ1Y3QgZHBsbF9kYXRhICpkZDsKKwlzdHJ1Y3QgZHBsbF9kYXRhICpkZDsKIAogCWRkID0gY2xrLT5kcGxsX2RhdGE7CiAJLyogUkVWSVNJVDogV2hhdCBkbyB3ZSByZXR1cm4gb24gZXJyb3I/ICovCkBAIC02MDMsNyArNjIxLDggQEAKIAljbGstPnJhdGUgPSBjbGstPnBhcmVudC0+cmF0ZSAvIG5ld19kaXY7CiAKIAlpZiAoY2xrLT5mbGFncyAmIERFTEFZRURfQVBQICYmIGNwdV9pc19vbWFwMjR4eCgpKSB7Ci0JCV9fcmF3X3dyaXRlbChPTUFQMjRYWF9WQUxJRF9DT05GSUcsIE9NQVAyNFhYX1BSQ01fQ0xLQ0ZHX0NUUkwpOworCQlwcm1fd3JpdGVfbW9kX3JlZyhPTUFQMjRYWF9WQUxJRF9DT05GSUcsCisJCQlPTUFQMjRYWF9HUl9NT0QsIE9NQVAyNFhYX1BSQ01fQ0xLQ0ZHX0NUUkxfT0ZGU0VUKTsKIAkJd21iKCk7CiAJfQogCkBAIC03MjMsNiArNzQyLDE4NCBAQAogCXJldHVybiAwOwogfQogCisvKiBEUExMIHJhdGUgcm91bmRpbmcgY29kZSAqLworCisvKioKKyAqIG9tYXAyX2RwbGxfc2V0X3JhdGVfdG9sZXJhbmNlOiBzZXQgdGhlIGVycm9yIHRvbGVyYW5jZSBkdXJpbmcgcmF0ZSByb3VuZGluZworICogQGNsazogc3RydWN0IGNsayAqIG9mIHRoZSBEUExMCisgKiBAdG9sZXJhbmNlOiBtYXhpbXVtIHJhdGUgZXJyb3IgdG9sZXJhbmNlCisgKgorICogU2V0IHRoZSBtYXhpbXVtIERQTEwgcmF0ZSBlcnJvciB0b2xlcmFuY2UgZm9yIHRoZSByYXRlIHJvdW5kaW5nCisgKiBhbGdvcml0aG0uICBUaGUgcmF0ZSB0b2xlcmFuY2UgaXMgYW4gYXR0ZW1wdCB0byBiYWxhbmNlIERQTEwgcG93ZXIKKyAqIHNhdmluZyAodGhlIGxlYXN0IGRpdmlkZXIgdmFsdWUgIm4iKSB2cy4gcmF0ZSBmaWRlbGl0eSAodGhlIGxlYXN0CisgKiBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIGRlc2lyZWQgRFBMTCB0YXJnZXQgcmF0ZSBhbmQgdGhlIHJvdW5kZWQKKyAqIHJhdGUgb3V0IG9mIHRoZSBhbGdvcml0aG0pLiAgU28sIGluY3JlYXNpbmcgdGhlIHRvbGVyYW5jZSBpcyBsaWtlbHkKKyAqIHRvIGRlY3JlYXNlIERQTEwgcG93ZXIgY29uc3VtcHRpb24gYW5kIGluY3JlYXNlIERQTEwgcmF0ZSBlcnJvci4KKyAqIFJldHVybnMgLUVJTlZBTCBpZiBwcm92aWRlZCBhIG51bGwgY2xvY2sgcHRyIG9yIGEgY2xrIHRoYXQgaXMgbm90IGEKKyAqIERQTEw7IG9yIDAgdXBvbiBzdWNjZXNzLgorICovCitpbnQgb21hcDJfZHBsbF9zZXRfcmF0ZV90b2xlcmFuY2Uoc3RydWN0IGNsayAqY2xrLCB1bnNpZ25lZCBpbnQgdG9sZXJhbmNlKQoreworCWlmICghY2xrIHx8ICFjbGstPmRwbGxfZGF0YSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwljbGstPmRwbGxfZGF0YS0+cmF0ZV90b2xlcmFuY2UgPSB0b2xlcmFuY2U7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2RwbGxfY29tcHV0ZV9uZXdfcmF0ZSh1bnNpZ25lZCBsb25nIHBhcmVudF9yYXRlLCB1bnNpZ25lZCBpbnQgbSwgdW5zaWduZWQgaW50IG4pCit7CisJdW5zaWduZWQgbG9uZyBsb25nIG51bTsKKworCW51bSA9ICh1bnNpZ25lZCBsb25nIGxvbmcpcGFyZW50X3JhdGUgKiBtOworCWRvX2RpdihudW0sIG4pOworCXJldHVybiBudW07Cit9CisKKy8qCisgKiBfZHBsbF90ZXN0X211bHQgLSB0ZXN0IGEgRFBMTCBtdWx0aXBsaWVyIHZhbHVlCisgKiBAbTogcG9pbnRlciB0byB0aGUgRFBMTCBtIChtdWx0aXBsaWVyKSB2YWx1ZSB1bmRlciB0ZXN0CisgKiBAbjogY3VycmVudCBEUExMIG4gKGRpdmlkZXIpIHZhbHVlIHVuZGVyIHRlc3QKKyAqIEBuZXdfcmF0ZTogcG9pbnRlciB0byBzdG9yYWdlIGZvciB0aGUgcmVzdWx0aW5nIHJvdW5kZWQgcmF0ZQorICogQHRhcmdldF9yYXRlOiB0aGUgZGVzaXJlZCBEUExMIHJhdGUKKyAqIEBwYXJlbnRfcmF0ZTogdGhlIERQTEwncyBwYXJlbnQgY2xvY2sgcmF0ZQorICoKKyAqIFRoaXMgY29kZSB0ZXN0cyBhIERQTEwgbXVsdGlwbGllciB2YWx1ZSwgZW5zdXJpbmcgdGhhdCB0aGUKKyAqIHJlc3VsdGluZyByYXRlIHdpbGwgbm90IGJlIGhpZ2hlciB0aGFuIHRoZSB0YXJnZXRfcmF0ZSwgYW5kIHRoYXQKKyAqIHRoZSBtdWx0aXBsaWVyIHZhbHVlIGl0c2VsZiBpcyB2YWxpZCBmb3IgdGhlIERQTEwuICBJbml0aWFsbHksIHRoZQorICogaW50ZWdlciBwb2ludGVkIHRvIGJ5IHRoZSBtIGFyZ3VtZW50IHNob3VsZCBiZSBwcmVzY2FsZWQgYnkKKyAqIG11bHRpcGx5aW5nIGJ5IERQTExfU0NBTEVfRkFDVE9SLiAgVGhlIGNvZGUgd2lsbCByZXBsYWNlIHRoaXMgd2l0aAorICogYSBub24tc2NhbGVkIG0gdXBvbiByZXR1cm4uICBUaGlzIG5vbi1zY2FsZWQgbSB3aWxsIHJlc3VsdCBpbiBhCisgKiBuZXdfcmF0ZSBhcyBjbG9zZSBhcyBwb3NzaWJsZSB0byB0YXJnZXRfcmF0ZSAoYnV0IG5vdCBncmVhdGVyIHRoYW4KKyAqIHRhcmdldF9yYXRlKSBnaXZlbiB0aGUgY3VycmVudCAocGFyZW50X3JhdGUsIG4sIHByZXNjYWxlZCBtKQorICogdHJpcGxlLiBSZXR1cm5zIERQTExfTVVMVF9VTkRFUkZMT1cgaW4gdGhlIGV2ZW50IHRoYXQgdGhlCisgKiBub24tc2NhbGVkIG0gYXR0ZW1wdGVkIHRvIHVuZGVyZmxvdywgd2hpY2ggY2FuIGFsbG93IHRoZSBjYWxsaW5nCisgKiBmdW5jdGlvbiB0byBiYWlsIG91dCBlYXJseTsgb3IgMCB1cG9uIHN1Y2Nlc3MuCisgKi8KK3N0YXRpYyBpbnQgX2RwbGxfdGVzdF9tdWx0KGludCAqbSwgaW50IG4sIHVuc2lnbmVkIGxvbmcgKm5ld19yYXRlLAorCQkJICAgdW5zaWduZWQgbG9uZyB0YXJnZXRfcmF0ZSwKKwkJCSAgIHVuc2lnbmVkIGxvbmcgcGFyZW50X3JhdGUpCit7CisJaW50IGZsYWdzID0gMCwgY2FycnkgPSAwOworCisJLyogVW5zY2FsZSBtIGFuZCByb3VuZCBpZiBuZWNlc3NhcnkgKi8KKwlpZiAoKm0gJSBEUExMX1NDQUxFX0ZBQ1RPUiA+PSBEUExMX1JPVU5ESU5HX1ZBTCkKKwkJY2FycnkgPSAxOworCSptID0gKCptIC8gRFBMTF9TQ0FMRV9GQUNUT1IpICsgY2Fycnk7CisKKwkvKgorCSAqIFRoZSBuZXcgcmF0ZSBtdXN0IGJlIDw9IHRoZSB0YXJnZXQgcmF0ZSB0byBhdm9pZCBwcm9ncmFtbWluZworCSAqIGEgcmF0ZSB0aGF0IGlzIGltcG9zc2libGUgZm9yIHRoZSBoYXJkd2FyZSB0byBoYW5kbGUKKwkgKi8KKwkqbmV3X3JhdGUgPSBfZHBsbF9jb21wdXRlX25ld19yYXRlKHBhcmVudF9yYXRlLCAqbSwgbik7CisJaWYgKCpuZXdfcmF0ZSA+IHRhcmdldF9yYXRlKSB7CisJCSgqbSktLTsKKwkJKm5ld19yYXRlID0gMDsKKwl9CisKKwkvKiBHdWFyZCBhZ2FpbnN0IG0gdW5kZXJmbG93ICovCisJaWYgKCptIDwgRFBMTF9NSU5fTVVMVElQTElFUikgeworCQkqbSA9IERQTExfTUlOX01VTFRJUExJRVI7CisJCSpuZXdfcmF0ZSA9IDA7CisJCWZsYWdzID0gRFBMTF9NVUxUX1VOREVSRkxPVzsKKwl9CisKKwlpZiAoKm5ld19yYXRlID09IDApCisJCSpuZXdfcmF0ZSA9IF9kcGxsX2NvbXB1dGVfbmV3X3JhdGUocGFyZW50X3JhdGUsICptLCBuKTsKKworCXJldHVybiBmbGFnczsKK30KKworLyoqCisgKiBvbWFwMl9kcGxsX3JvdW5kX3JhdGUgLSByb3VuZCBhIHRhcmdldCByYXRlIGZvciBhbiBPTUFQIERQTEwKKyAqIEBjbGs6IHN0cnVjdCBjbGsgKiBmb3IgYSBEUExMCisgKiBAdGFyZ2V0X3JhdGU6IGRlc2lyZWQgRFBMTCBjbG9jayByYXRlCisgKgorICogR2l2ZW4gYSBEUExMLCBhIGRlc2lyZWQgdGFyZ2V0IHJhdGUsIGFuZCBhIHJhdGUgdG9sZXJhbmNlLCByb3VuZAorICogdGhlIHRhcmdldCByYXRlIHRvIGEgcG9zc2libGUsIHByb2dyYW1tYWJsZSByYXRlIGZvciB0aGlzIERQTEwuCisgKiBSYXRlIHRvbGVyYW5jZSBpcyBhc3N1bWVkIHRvIGJlIHNldCBieSB0aGUgY2FsbGVyIGJlZm9yZSB0aGlzCisgKiBmdW5jdGlvbiBpcyBjYWxsZWQuICBBdHRlbXB0cyB0byBzZWxlY3QgdGhlIG1pbmltdW0gcG9zc2libGUgbgorICogd2l0aGluIHRoZSB0b2xlcmFuY2UgdG8gcmVkdWNlIHBvd2VyIGNvbnN1bXB0aW9uLiAgU3RvcmVzIHRoZQorICogY29tcHV0ZWQgKG0sIG4pIGluIHRoZSBEUExMJ3MgZHBsbF9kYXRhIHN0cnVjdHVyZSBzbyBzZXRfcmF0ZSgpCisgKiB3aWxsIG5vdCBuZWVkIHRvIGNhbGwgdGhpcyAoZXhwZW5zaXZlKSBmdW5jdGlvbiBhZ2Fpbi4gIFJldHVybnMgfjAKKyAqIGlmIHRoZSB0YXJnZXQgcmF0ZSBjYW5ub3QgYmUgcm91bmRlZCwgZWl0aGVyIGJlY2F1c2UgdGhlIHJhdGUgaXMKKyAqIHRvbyBsb3cgb3IgYmVjYXVzZSB0aGUgcmF0ZSB0b2xlcmFuY2UgaXMgc2V0IHRvbyB0aWdodGx5OyBvciB0aGUKKyAqIHJvdW5kZWQgcmF0ZSB1cG9uIHN1Y2Nlc3MuCisgKi8KK2xvbmcgb21hcDJfZHBsbF9yb3VuZF9yYXRlKHN0cnVjdCBjbGsgKmNsaywgdW5zaWduZWQgbG9uZyB0YXJnZXRfcmF0ZSkKK3sKKwlpbnQgbSwgbiwgciwgZSwgc2NhbGVkX21heF9tOworCXVuc2lnbmVkIGxvbmcgc2NhbGVkX3J0X3JwLCBuZXdfcmF0ZTsKKwlpbnQgbWluX2UgPSAtMSwgbWluX2VfbSA9IC0xLCBtaW5fZV9uID0gLTE7CisKKwlpZiAoIWNsayB8fCAhY2xrLT5kcGxsX2RhdGEpCisJCXJldHVybiB+MDsKKworCXByX2RlYnVnKCJjbG9jazogc3RhcnRpbmcgRFBMTCByb3VuZF9yYXRlIGZvciBjbG9jayAlcywgdGFyZ2V0IHJhdGUgIgorCQkgIiVsZFxuIiwgY2xrLT5uYW1lLCB0YXJnZXRfcmF0ZSk7CisKKwlzY2FsZWRfcnRfcnAgPSB0YXJnZXRfcmF0ZSAvIChjbGstPnBhcmVudC0+cmF0ZSAvIERQTExfU0NBTEVfRkFDVE9SKTsKKwlzY2FsZWRfbWF4X20gPSBjbGstPmRwbGxfZGF0YS0+bWF4X211bHRpcGxpZXIgKiBEUExMX1NDQUxFX0ZBQ1RPUjsKKworCWNsay0+ZHBsbF9kYXRhLT5sYXN0X3JvdW5kZWRfcmF0ZSA9IDA7CisKKwlmb3IgKG4gPSBjbGstPmRwbGxfZGF0YS0+bWF4X2RpdmlkZXI7IG4gPj0gRFBMTF9NSU5fRElWSURFUjsgbi0tKSB7CisKKwkJLyogQ29tcHV0ZSB0aGUgc2NhbGVkIERQTEwgbXVsdGlwbGllciwgYmFzZWQgb24gdGhlIGRpdmlkZXIgKi8KKwkJbSA9IHNjYWxlZF9ydF9ycCAqIG47CisKKwkJLyoKKwkJICogU2luY2Ugd2UncmUgY291bnRpbmcgbiBkb3duLCBhIG0gb3ZlcmZsb3cgbWVhbnMgd2UgY2FuCisJCSAqIGNhbiBpbW1lZGlhdGVseSBza2lwIHRvIHRoZSBuZXh0IG4KKwkJICovCisJCWlmIChtID4gc2NhbGVkX21heF9tKQorCQkJY29udGludWU7CisKKwkJciA9IF9kcGxsX3Rlc3RfbXVsdCgmbSwgbiwgJm5ld19yYXRlLCB0YXJnZXRfcmF0ZSwKKwkJCQkgICAgY2xrLT5wYXJlbnQtPnJhdGUpOworCisJCWUgPSB0YXJnZXRfcmF0ZSAtIG5ld19yYXRlOworCQlwcl9kZWJ1ZygiY2xvY2s6IG4gPSAlZDogbSA9ICVkOiByYXRlIGVycm9yIGlzICVkICIKKwkJCSAiKG5ld19yYXRlID0gJWxkKVxuIiwgbiwgbSwgZSwgbmV3X3JhdGUpOworCisJCWlmIChtaW5fZSA9PSAtMSB8fAorCQkgICAgbWluX2UgPj0gKGludCkoYWJzKGUpIC0gY2xrLT5kcGxsX2RhdGEtPnJhdGVfdG9sZXJhbmNlKSkgeworCQkJbWluX2UgPSBlOworCQkJbWluX2VfbSA9IG07CisJCQltaW5fZV9uID0gbjsKKworCQkJcHJfZGVidWcoImNsb2NrOiBmb3VuZCBuZXcgbGVhc3QgZXJyb3IgJWRcbiIsIG1pbl9lKTsKKwkJfQorCisJCS8qCisJCSAqIFNpbmNlIHdlJ3JlIGNvdW50aW5nIG4gZG93biwgYSBtIHVuZGVyZmxvdyBtZWFucyB3ZQorCQkgKiBjYW4gYmFpbCBvdXQgY29tcGxldGVseSAoc2luY2UgYXMgbiBkZWNyZWFzZXMgaW4KKwkJICogdGhlIG5leHQgaXRlcmF0aW9uLCB0aGVyZSdzIG5vIHdheSB0aGF0IG0gY2FuCisJCSAqIGluY3JlYXNlIGJleW9uZCB0aGUgY3VycmVudCBtKQorCQkgKi8KKwkJaWYgKHIgJiBEUExMX01VTFRfVU5ERVJGTE9XKQorCQkJYnJlYWs7CisJfQorCisJaWYgKG1pbl9lIDwgMCkgeworCQlwcl9kZWJ1ZygiY2xvY2s6IGVycm9yOiB0YXJnZXQgcmF0ZSBvciB0b2xlcmFuY2UgdG9vIGxvd1xuIik7CisJCXJldHVybiB+MDsKKwl9CisKKwljbGstPmRwbGxfZGF0YS0+bGFzdF9yb3VuZGVkX20gPSBtaW5fZV9tOworCWNsay0+ZHBsbF9kYXRhLT5sYXN0X3JvdW5kZWRfbiA9IG1pbl9lX247CisJY2xrLT5kcGxsX2RhdGEtPmxhc3Rfcm91bmRlZF9yYXRlID0KKwkJX2RwbGxfY29tcHV0ZV9uZXdfcmF0ZShjbGstPnBhcmVudC0+cmF0ZSwgbWluX2VfbSwgIG1pbl9lX24pOworCisJcHJfZGVidWcoImNsb2NrOiBmaW5hbCBsZWFzdCBlcnJvcjogZSA9ICVkLCBtID0gJWQsIG4gPSAlZFxuIiwKKwkJIG1pbl9lLCBtaW5fZV9tLCBtaW5fZV9uKTsKKwlwcl9kZWJ1ZygiY2xvY2s6IGZpbmFsIHJhdGU6ICVsZCAgKHRhcmdldCByYXRlOiAlbGQpXG4iLAorCQkgY2xrLT5kcGxsX2RhdGEtPmxhc3Rfcm91bmRlZF9yYXRlLCB0YXJnZXRfcmF0ZSk7CisKKwlyZXR1cm4gY2xrLT5kcGxsX2RhdGEtPmxhc3Rfcm91bmRlZF9yYXRlOworfQorCiAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAqIE9tYXAyIGNsb2NrIHJlc2V0IGFuZCBpbml0IGZ1bmN0aW9ucwogICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDIvY2xvY2suaCBiL2FyY2gvYXJtL21hY2gtb21hcDIvY2xvY2suaAppbmRleCBkNTk4MGE5Li4zY2QzN2NiIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9tYXAyL2Nsb2NrLmgKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9jbG9jay5oCkBAIC0xOCwxMSArMTgsMTYgQEAKIAogI2luY2x1ZGUgPGFzbS9hcmNoL2Nsb2NrLmg+CiAKKy8qIFRoZSBtYXhpbXVtIGVycm9yIGJldHdlZW4gYSB0YXJnZXQgRFBMTCByYXRlIGFuZCB0aGUgcm91bmRlZCByYXRlIGluIEh6ICovCisjZGVmaW5lIERFRkFVTFRfRFBMTF9SQVRFX1RPTEVSQU5DRQk1MDAwMAorCiBpbnQgb21hcDJfY2xrX2VuYWJsZShzdHJ1Y3QgY2xrICpjbGspOwogdm9pZCBvbWFwMl9jbGtfZGlzYWJsZShzdHJ1Y3QgY2xrICpjbGspOwogbG9uZyBvbWFwMl9jbGtfcm91bmRfcmF0ZShzdHJ1Y3QgY2xrICpjbGssIHVuc2lnbmVkIGxvbmcgcmF0ZSk7CiBpbnQgb21hcDJfY2xrX3NldF9yYXRlKHN0cnVjdCBjbGsgKmNsaywgdW5zaWduZWQgbG9uZyByYXRlKTsKIGludCBvbWFwMl9jbGtfc2V0X3BhcmVudChzdHJ1Y3QgY2xrICpjbGssIHN0cnVjdCBjbGsgKm5ld19wYXJlbnQpOworaW50IG9tYXAyX2RwbGxfcmF0ZV90b2xlcmFuY2Vfc2V0KHN0cnVjdCBjbGsgKmNsaywgdW5zaWduZWQgaW50IHRvbGVyYW5jZSk7Citsb25nIG9tYXAyX2RwbGxfcm91bmRfcmF0ZShzdHJ1Y3QgY2xrICpjbGssIHVuc2lnbmVkIGxvbmcgdGFyZ2V0X3JhdGUpOwogCiAjaWZkZWYgQ09ORklHX09NQVBfUkVTRVRfQ0xPQ0tTCiB2b2lkIG9tYXAyX2Nsa19kaXNhYmxlX3VudXNlZChzdHJ1Y3QgY2xrICpjbGspOwpAQCAtNDIsNiArNDcsNyBAQAogaW50IG9tYXAyX2Nsa3NlbF9zZXRfcmF0ZShzdHJ1Y3QgY2xrICpjbGssIHVuc2lnbmVkIGxvbmcgcmF0ZSk7CiB1MzIgb21hcDJfZ2V0X2RwbGxfcmF0ZShzdHJ1Y3QgY2xrICpjbGspOwogaW50IG9tYXAyX3dhaXRfY2xvY2tfcmVhZHkodm9pZCBfX2lvbWVtICpyZWcsIHUzMiBjdmFsLCBjb25zdCBjaGFyICpuYW1lKTsKK3ZvaWQgb21hcDJfY2xrX3ByZXBhcmVfZm9yX3JlYm9vdCh2b2lkKTsKIAogZXh0ZXJuIHU4IGNwdV9tYXNrOwogCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9tYXAyL2Nsb2NrMjR4eC5jIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9jbG9jazI0eHguYwppbmRleCBlY2UzMmQ4Li5hYTU2Nzg3IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9tYXAyL2Nsb2NrMjR4eC5jCisrKyBiL2FyY2gvYXJtL21hY2gtb21hcDIvY2xvY2syNHh4LmMKQEAgLTE1NCw3ICsxNTQsNyBAQAogICogVXNlcyB0aGUgY3VycmVudCBwcmNtIHNldCB0byB0ZWxsIGlmIGEgcmF0ZSBpcyB2YWxpZC4KICAqIFlvdSBjYW4gZ28gc2xvd2VyLCBidXQgbm90IGZhc3RlciB3aXRoaW4gYSBnaXZlbiByYXRlIHNldC4KICAqLwotc3RhdGljIHUzMiBvbWFwMl9kcGxsX3JvdW5kX3JhdGUodW5zaWduZWQgbG9uZyB0YXJnZXRfcmF0ZSkKK2xvbmcgb21hcDJfZHBsbGNvcmVfcm91bmRfcmF0ZSh1bnNpZ25lZCBsb25nIHRhcmdldF9yYXRlKQogewogCXUzMiBoaWdoLCBsb3csIGNvcmVfY2xrX3NyYzsKIApAQCAtMTgzLDE0ICsxODMsMTQgQEAKIAogfQogCi1zdGF0aWMgdm9pZCBvbWFwMl9kcGxsX3JlY2FsYyhzdHJ1Y3QgY2xrICpjbGspCitzdGF0aWMgdm9pZCBvbWFwMl9kcGxsY29yZV9yZWNhbGMoc3RydWN0IGNsayAqY2xrKQogewogCWNsay0+cmF0ZSA9IG9tYXAyX2dldF9kcGxsX3JhdGVfMjR4eChjbGspOwogCiAJcHJvcGFnYXRlX3JhdGUoY2xrKTsKIH0KIAotc3RhdGljIGludCBvbWFwMl9yZXByb2dyYW1fZHBsbChzdHJ1Y3QgY2xrICpjbGssIHVuc2lnbmVkIGxvbmcgcmF0ZSkKK3N0YXRpYyBpbnQgb21hcDJfcmVwcm9ncmFtX2RwbGxjb3JlKHN0cnVjdCBjbGsgKmNsaywgdW5zaWduZWQgbG9uZyByYXRlKQogewogCXUzMiBjdXJfcmF0ZSwgbG93LCBtdWx0LCBkaXYsIHZhbGlkX3JhdGUsIGRvbmVfcmF0ZTsKIAl1MzIgYnlwYXNzID0gMDsKQEAgLTIwOSw3ICsyMDksNyBAQAogCX0gZWxzZSBpZiAoKHJhdGUgPT0gKGN1cl9yYXRlICogMikpICYmIChtdWx0ID09IDEpKSB7CiAJCW9tYXAyX3JlcHJvZ3JhbV9zZHJjKENPUkVfQ0xLX1NSQ19EUExMX1gyLCAxKTsKIAl9IGVsc2UgaWYgKHJhdGUgIT0gY3VyX3JhdGUpIHsKLQkJdmFsaWRfcmF0ZSA9IG9tYXAyX2RwbGxfcm91bmRfcmF0ZShyYXRlKTsKKwkJdmFsaWRfcmF0ZSA9IG9tYXAyX2RwbGxjb3JlX3JvdW5kX3JhdGUocmF0ZSk7CiAJCWlmICh2YWxpZF9yYXRlICE9IHJhdGUpCiAJCQlnb3RvIGRwbGxfZXhpdDsKIApAQCAtMjU2LDcgKzI1Niw3IEBACiAJCW9tYXAyX2luaXRfbWVtb3J5X3BhcmFtcyhvbWFwMl9kbGxfZm9yY2VfbmVlZGVkKCkpOwogCQlvbWFwMl9yZXByb2dyYW1fc2RyYyhkb25lX3JhdGUsIDApOwogCX0KLQlvbWFwMl9kcGxsX3JlY2FsYygmZHBsbF9jayk7CisJb21hcDJfZHBsbGNvcmVfcmVjYWxjKCZkcGxsX2NrKTsKIAlyZXQgPSAwOwogCiBkcGxsX2V4aXQ6CkBAIC0zODMsNyArMzgzLDcgQEAKIAogCQlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7CiAJfQotCW9tYXAyX2RwbGxfcmVjYWxjKCZkcGxsX2NrKTsKKwlvbWFwMl9kcGxsY29yZV9yZWNhbGMoJmRwbGxfY2spOwogCiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9tYXAyL2Nsb2NrMjR4eC5oIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9jbG9jazI0eHguaAppbmRleCA4ODA4MWVkLi5iZTRlMjU1IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9tYXAyL2Nsb2NrMjR4eC5oCisrKyBiL2FyY2gvYXJtL21hY2gtb21hcDIvY2xvY2syNHh4LmgKQEAgLTMwLDEyICszMCwxMiBAQAogc3RhdGljIHZvaWQgb21hcDJfc3lzX2Nsa19yZWNhbGMoc3RydWN0IGNsayAqY2xrKTsKIHN0YXRpYyB2b2lkIG9tYXAyX29zY19jbGtfcmVjYWxjKHN0cnVjdCBjbGsgKmNsayk7CiBzdGF0aWMgdm9pZCBvbWFwMl9zeXNfY2xrX3JlY2FsYyhzdHJ1Y3QgY2xrICpjbGspOwotc3RhdGljIHZvaWQgb21hcDJfZHBsbF9yZWNhbGMoc3RydWN0IGNsayAqY2xrKTsKK3N0YXRpYyB2b2lkIG9tYXAyX2RwbGxjb3JlX3JlY2FsYyhzdHJ1Y3QgY2xrICpjbGspOwogc3RhdGljIGludCBvbWFwMl9jbGtfZml4ZWRfZW5hYmxlKHN0cnVjdCBjbGsgKmNsayk7CiBzdGF0aWMgdm9pZCBvbWFwMl9jbGtfZml4ZWRfZGlzYWJsZShzdHJ1Y3QgY2xrICpjbGspOwogc3RhdGljIGludCBvbWFwMl9lbmFibGVfb3NjX2NrKHN0cnVjdCBjbGsgKmNsayk7CiBzdGF0aWMgdm9pZCBvbWFwMl9kaXNhYmxlX29zY19jayhzdHJ1Y3QgY2xrICpjbGspOwotc3RhdGljIGludCBvbWFwMl9yZXByb2dyYW1fZHBsbChzdHJ1Y3QgY2xrICpjbGssIHVuc2lnbmVkIGxvbmcgcmF0ZSk7CitzdGF0aWMgaW50IG9tYXAyX3JlcHJvZ3JhbV9kcGxsY29yZShzdHJ1Y3QgY2xrICpjbGssIHVuc2lnbmVkIGxvbmcgcmF0ZSk7CiAKIC8qIEtleSBkaXZpZGVycyB3aGljaCBtYWtlIHVwIGEgUFJDTSBzZXQuIFJhdGlvJ3MgZm9yIGEgUFJDTSBhcmUgbWFuZGF0ZWQuCiAgKiB4dGFsX3NwZWVkLCBkcGxsX3NwZWVkLCBtcHVfc3BlZWQsIENNX0NMS1NFTF9NUFUsQ01fQ0xLU0VMX0RTUApAQCAtNjY1LDIwICs2NjUsMjcgQEAKICAqIGRlYWwgd2l0aCB0aGlzCiAgKi8KIAotc3RhdGljIGNvbnN0IHN0cnVjdCBkcGxsX2RhdGEgZHBsbF9kZCA9IHsKK3N0YXRpYyBzdHJ1Y3QgZHBsbF9kYXRhIGRwbGxfZGQgPSB7CiAJLm11bHRfZGl2MV9yZWcJCT0gT01BUF9DTV9SRUdBRERSKFBMTF9NT0QsIENNX0NMS1NFTDEpLAogCS5tdWx0X21hc2sJCT0gT01BUDI0WFhfRFBMTF9NVUxUX01BU0ssCiAJLmRpdjFfbWFzawkJPSBPTUFQMjRYWF9EUExMX0RJVl9NQVNLLAorCS5tYXhfbXVsdGlwbGllcgkJPSAxMDI0LAorCS5tYXhfZGl2aWRlcgkJPSAxNiwKKwkucmF0ZV90b2xlcmFuY2UJCT0gREVGQVVMVF9EUExMX1JBVEVfVE9MRVJBTkNFCiB9OwogCisvKgorICogWFhYIENhbm5vdCBhZGQgcm91bmRfcmF0ZSBoZXJlIHlldCwgYXMgdGhpcyBpcyBzdGlsbCBhIGNvbXBvc2l0ZSBjbG9jaywKKyAqIG5vdCBqdXN0IGEgRFBMTAorICovCiBzdGF0aWMgc3RydWN0IGNsayBkcGxsX2NrID0gewogCS5uYW1lCQk9ICJkcGxsX2NrIiwKIAkucGFyZW50CQk9ICZzeXNfY2ssCQkvKiBDYW4gYmUgZnVuY18zMmsgYWxzbyAqLwogCS5kcGxsX2RhdGEJPSAmZHBsbF9kZCwKIAkuZmxhZ3MJCT0gQ0xPQ0tfSU5fT01BUDI0MlggfCBDTE9DS19JTl9PTUFQMjQzWCB8CiAJCQkJUkFURV9QUk9QQUdBVEVTIHwgQUxXQVlTX0VOQUJMRUQsCi0JLnJlY2FsYwkJPSAmb21hcDJfZHBsbF9yZWNhbGMsCi0JLnNldF9yYXRlCT0gJm9tYXAyX3JlcHJvZ3JhbV9kcGxsLAorCS5yZWNhbGMJCT0gJm9tYXAyX2RwbGxjb3JlX3JlY2FsYywKKwkuc2V0X3JhdGUJPSAmb21hcDJfcmVwcm9ncmFtX2RwbGxjb3JlLAogfTsKIAogc3RhdGljIHN0cnVjdCBjbGsgYXBsbDk2X2NrID0gewpAQCAtMTc0Nyw3ICsxNzU0LDggQEAKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgY2xrIG1jYnNwMV9pY2sgPSB7Ci0JLm5hbWUJCT0gIm1jYnNwMV9pY2siLAorCS5uYW1lCQk9ICJtY2JzcF9pY2siLAorCS5pZAkJPSAxLAogCS5wYXJlbnQJCT0gJmw0X2NrLAogCS5mbGFncwkJPSBDTE9DS19JTl9PTUFQMjQyWCB8IENMT0NLX0lOX09NQVAyNDNYLAogCS5lbmFibGVfcmVnCT0gT01BUF9DTV9SRUdBRERSKENPUkVfTU9ELCBDTV9JQ0xLRU4xKSwKQEAgLTE3NTYsNyArMTc2NCw4IEBACiB9OwogCiBzdGF0aWMgc3RydWN0IGNsayBtY2JzcDFfZmNrID0gewotCS5uYW1lCQk9ICJtY2JzcDFfZmNrIiwKKwkubmFtZQkJPSAibWNic3BfZmNrIiwKKwkuaWQJCT0gMSwKIAkucGFyZW50CQk9ICZmdW5jXzk2bV9jaywKIAkuZmxhZ3MJCT0gQ0xPQ0tfSU5fT01BUDI0MlggfCBDTE9DS19JTl9PTUFQMjQzWCwKIAkuZW5hYmxlX3JlZwk9IE9NQVBfQ01fUkVHQUREUihDT1JFX01PRCwgQ01fRkNMS0VOMSksCkBAIC0xNzY1LDcgKzE3NzQsOCBAQAogfTsKIAogc3RhdGljIHN0cnVjdCBjbGsgbWNic3AyX2ljayA9IHsKLQkubmFtZQkJPSAibWNic3AyX2ljayIsCisJLm5hbWUJCT0gIm1jYnNwX2ljayIsCisJLmlkCQk9IDIsCiAJLnBhcmVudAkJPSAmbDRfY2ssCiAJLmZsYWdzCQk9IENMT0NLX0lOX09NQVAyNDJYIHwgQ0xPQ0tfSU5fT01BUDI0M1gsCiAJLmVuYWJsZV9yZWcJPSBPTUFQX0NNX1JFR0FERFIoQ09SRV9NT0QsIENNX0lDTEtFTjEpLApAQCAtMTc3NCw3ICsxNzg0LDggQEAKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgY2xrIG1jYnNwMl9mY2sgPSB7Ci0JLm5hbWUJCT0gIm1jYnNwMl9mY2siLAorCS5uYW1lCQk9ICJtY2JzcF9mY2siLAorCS5pZAkJPSAyLAogCS5wYXJlbnQJCT0gJmZ1bmNfOTZtX2NrLAogCS5mbGFncwkJPSBDTE9DS19JTl9PTUFQMjQyWCB8IENMT0NLX0lOX09NQVAyNDNYLAogCS5lbmFibGVfcmVnCT0gT01BUF9DTV9SRUdBRERSKENPUkVfTU9ELCBDTV9GQ0xLRU4xKSwKQEAgLTE3ODMsNyArMTc5NCw4IEBACiB9OwogCiBzdGF0aWMgc3RydWN0IGNsayBtY2JzcDNfaWNrID0gewotCS5uYW1lCQk9ICJtY2JzcDNfaWNrIiwKKwkubmFtZQkJPSAibWNic3BfaWNrIiwKKwkuaWQJCT0gMywKIAkucGFyZW50CQk9ICZsNF9jaywKIAkuZmxhZ3MJCT0gQ0xPQ0tfSU5fT01BUDI0M1gsCiAJLmVuYWJsZV9yZWcJPSBPTUFQX0NNX1JFR0FERFIoQ09SRV9NT0QsIENNX0lDTEtFTjIpLApAQCAtMTc5Miw3ICsxODA0LDggQEAKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgY2xrIG1jYnNwM19mY2sgPSB7Ci0JLm5hbWUJCT0gIm1jYnNwM19mY2siLAorCS5uYW1lCQk9ICJtY2JzcF9mY2siLAorCS5pZAkJPSAzLAogCS5wYXJlbnQJCT0gJmZ1bmNfOTZtX2NrLAogCS5mbGFncwkJPSBDTE9DS19JTl9PTUFQMjQzWCwKIAkuZW5hYmxlX3JlZwk9IE9NQVBfQ01fUkVHQUREUihDT1JFX01PRCwgT01BUDI0WFhfQ01fRkNMS0VOMiksCkBAIC0xODAxLDcgKzE4MTQsOCBAQAogfTsKIAogc3RhdGljIHN0cnVjdCBjbGsgbWNic3A0X2ljayA9IHsKLQkubmFtZQkJPSAibWNic3A0X2ljayIsCisJLm5hbWUJCT0gIm1jYnNwX2ljayIsCisJLmlkCQk9IDQsCiAJLnBhcmVudAkJPSAmbDRfY2ssCiAJLmZsYWdzCQk9IENMT0NLX0lOX09NQVAyNDNYLAogCS5lbmFibGVfcmVnCT0gT01BUF9DTV9SRUdBRERSKENPUkVfTU9ELCBDTV9JQ0xLRU4yKSwKQEAgLTE4MTAsNyArMTgyNCw4IEBACiB9OwogCiBzdGF0aWMgc3RydWN0IGNsayBtY2JzcDRfZmNrID0gewotCS5uYW1lCQk9ICJtY2JzcDRfZmNrIiwKKwkubmFtZQkJPSAibWNic3BfZmNrIiwKKwkuaWQJCT0gNCwKIAkucGFyZW50CQk9ICZmdW5jXzk2bV9jaywKIAkuZmxhZ3MJCT0gQ0xPQ0tfSU5fT01BUDI0M1gsCiAJLmVuYWJsZV9yZWcJPSBPTUFQX0NNX1JFR0FERFIoQ09SRV9NT0QsIE9NQVAyNFhYX0NNX0ZDTEtFTjIpLApAQCAtMTgxOSw3ICsxODM0LDggQEAKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgY2xrIG1jYnNwNV9pY2sgPSB7Ci0JLm5hbWUJCT0gIm1jYnNwNV9pY2siLAorCS5uYW1lCQk9ICJtY2JzcF9pY2siLAorCS5pZAkJPSA1LAogCS5wYXJlbnQJCT0gJmw0X2NrLAogCS5mbGFncwkJPSBDTE9DS19JTl9PTUFQMjQzWCwKIAkuZW5hYmxlX3JlZwk9IE9NQVBfQ01fUkVHQUREUihDT1JFX01PRCwgQ01fSUNMS0VOMiksCkBAIC0xODI4LDcgKzE4NDQsOCBAQAogfTsKIAogc3RhdGljIHN0cnVjdCBjbGsgbWNic3A1X2ZjayA9IHsKLQkubmFtZQkJPSAibWNic3A1X2ZjayIsCisJLm5hbWUJCT0gIm1jYnNwX2ZjayIsCisJLmlkCQk9IDUsCiAJLnBhcmVudAkJPSAmZnVuY185Nm1fY2ssCiAJLmZsYWdzCQk9IENMT0NLX0lOX09NQVAyNDNYLAogCS5lbmFibGVfcmVnCT0gT01BUF9DTV9SRUdBRERSKENPUkVfTU9ELCBPTUFQMjRYWF9DTV9GQ0xLRU4yKSwKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDIvY2xvY2szNHh4LmMgYi9hcmNoL2FybS9tYWNoLW9tYXAyL2Nsb2NrMzR4eC5jCmluZGV4IGI0MmJkZDYuLjQyNjMwOTkgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb21hcDIvY2xvY2szNHh4LmMKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9jbG9jazM0eHguYwpAQCAtMSwxMCArMSwxMSBAQAogLyoKICAqIE9NQVAzLXNwZWNpZmljIGNsb2NrIGZyYW1ld29yayBmdW5jdGlvbnMKICAqCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDcgVGV4YXMgSW5zdHJ1bWVudHMsIEluYy4KLSAqIENvcHlyaWdodCAoQykgMjAwNyBOb2tpYSBDb3Jwb3JhdGlvbgorICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMDggVGV4YXMgSW5zdHJ1bWVudHMsIEluYy4KKyAqIENvcHlyaWdodCAoQykgMjAwNy0yMDA4IE5va2lhIENvcnBvcmF0aW9uCiAgKgogICogV3JpdHRlbiBieSBQYXVsIFdhbG1zbGV5CisgKiBUZXN0aW5nIGFuZCBpbnRlZ3JhdGlvbiBmaXhlcyBieSBKb3VuaSBIw7ZnYW5kZXIKICAqCiAgKiBQYXJ0cyBvZiB0aGlzIGNvZGUgYXJlIGJhc2VkIG9uIGNvZGUgd3JpdHRlbiBieQogICogUmljaGFyZCBXb29kcnVmZiwgVG9ueSBMaW5kZ3JlbiwgVHV1a2thIFRpa2thbmVuLCBLYXJ0aGlrIERhc3UKQEAgLTIzLDYgKzI0LDcgQEAKICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgogI2luY2x1ZGUgPGxpbnV4L2Nsay5oPgogI2luY2x1ZGUgPGxpbnV4L2lvLmg+CisjaW5jbHVkZSA8bGludXgvbGltaXRzLmg+CiAKICNpbmNsdWRlIDxhc20vYXJjaC9jbG9jay5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3NyYW0uaD4KQEAgLTM3LDggKzM5LDExIEBACiAjaW5jbHVkZSAiY20uaCIKICNpbmNsdWRlICJjbS1yZWdiaXRzLTM0eHguaCIKIAotLyogQ01fQ0xLRU5fUExMKi5FTiogYml0IHZhbHVlcyAqLwotI2RlZmluZSBEUExMX0xPQ0tFRAkJMHg3CisvKiBDTV9BVVRPSURMRV9QTEwqLkFVVE9fKiBiaXQgdmFsdWVzICovCisjZGVmaW5lIERQTExfQVVUT0lETEVfRElTQUJMRQkJCTB4MAorI2RlZmluZSBEUExMX0FVVE9JRExFX0xPV19QT1dFUl9TVE9QCQkweDEKKworI2RlZmluZSBNQVhfRFBMTF9XQUlUX1RSSUVTCQkxMDAwMDAwCiAKIC8qKgogICogb21hcDNfZHBsbF9yZWNhbGMgLSByZWNhbGN1bGF0ZSBEUExMIHJhdGUKQEAgLTUzLDYgKzU4LDI5MCBAQAogCXByb3BhZ2F0ZV9yYXRlKGNsayk7CiB9CiAKKy8qIF9vbWFwM19kcGxsX3dyaXRlX2Nsa2VuIC0gd3JpdGUgY2xrZW5fYml0cyBhcmcgdG8gYSBEUExMJ3MgZW5hYmxlIGJpdHMgKi8KK3N0YXRpYyB2b2lkIF9vbWFwM19kcGxsX3dyaXRlX2Nsa2VuKHN0cnVjdCBjbGsgKmNsaywgdTggY2xrZW5fYml0cykKK3sKKwljb25zdCBzdHJ1Y3QgZHBsbF9kYXRhICpkZDsKKworCWRkID0gY2xrLT5kcGxsX2RhdGE7CisKKwljbV9ybXdfcmVnX2JpdHMoZGQtPmVuYWJsZV9tYXNrLCBjbGtlbl9iaXRzIDw8IF9fZmZzKGRkLT5lbmFibGVfbWFzayksCisJCQlkZC0+Y29udHJvbF9yZWcpOworfQorCisvKiBfb21hcDNfd2FpdF9kcGxsX3N0YXR1czogd2FpdCBmb3IgYSBEUExMIHRvIGVudGVyIGEgc3BlY2lmaWMgc3RhdGUgKi8KK3N0YXRpYyBpbnQgX29tYXAzX3dhaXRfZHBsbF9zdGF0dXMoc3RydWN0IGNsayAqY2xrLCB1OCBzdGF0ZSkKK3sKKwljb25zdCBzdHJ1Y3QgZHBsbF9kYXRhICpkZDsKKwlpbnQgaSA9IDA7CisJaW50IHJldCA9IC1FSU5WQUw7CisJdTMyIGlkbGVzdF9tYXNrOworCisJZGQgPSBjbGstPmRwbGxfZGF0YTsKKworCXN0YXRlIDw8PSBkZC0+aWRsZXN0X2JpdDsKKwlpZGxlc3RfbWFzayA9IDEgPDwgZGQtPmlkbGVzdF9iaXQ7CisKKwl3aGlsZSAoKChjbV9yZWFkX3JlZyhkZC0+aWRsZXN0X3JlZykgJiBpZGxlc3RfbWFzaykgIT0gc3RhdGUpICYmCisJICAgICAgIGkgPCBNQVhfRFBMTF9XQUlUX1RSSUVTKSB7CisJCWkrKzsKKwkJdWRlbGF5KDEpOworCX0KKworCWlmIChpID09IE1BWF9EUExMX1dBSVRfVFJJRVMpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJjbG9jazogJXMgZmFpbGVkIHRyYW5zaXRpb24gdG8gJyVzJ1xuIiwKKwkJICAgICAgIGNsay0+bmFtZSwgKHN0YXRlKSA/ICJsb2NrZWQiIDogImJ5cGFzc2VkIik7CisJfSBlbHNlIHsKKwkJcHJfZGVidWcoImNsb2NrOiAlcyB0cmFuc2l0aW9uIHRvICclcycgaW4gJWQgbG9vcHNcbiIsCisJCQkgY2xrLT5uYW1lLCAoc3RhdGUpID8gImxvY2tlZCIgOiAiYnlwYXNzZWQiLCBpKTsKKworCQlyZXQgPSAwOworCX0KKworCXJldHVybiByZXQ7Cit9CisKKy8qIE5vbi1DT1JFIERQTEwgKGUuZy4sIERQTExzIHRoYXQgZG8gbm90IGNvbnRyb2wgU0RSQykgY2xvY2sgZnVuY3Rpb25zICovCisKKy8qCisgKiBfb21hcDNfbm9uY29yZV9kcGxsX2xvY2sgLSBpbnN0cnVjdCBhIERQTEwgdG8gbG9jayBhbmQgd2FpdCBmb3IgcmVhZGluZXNzCisgKiBAY2xrOiBwb2ludGVyIHRvIGEgRFBMTCBzdHJ1Y3QgY2xrCisgKgorICogSW5zdHJ1Y3RzIGEgbm9uLUNPUkUgRFBMTCB0byBsb2NrLiAgV2FpdHMgZm9yIHRoZSBEUExMIHRvIHJlcG9ydAorICogcmVhZGluZXNzIGJlZm9yZSByZXR1cm5pbmcuICBXaWxsIHNhdmUgYW5kIHJlc3RvcmUgdGhlIERQTEwncworICogYXV0b2lkbGUgc3RhdGUgYWNyb3NzIHRoZSBlbmFibGUsIHBlciB0aGUgQ0RQIGNvZGUuICBJZiB0aGUgRFBMTAorICogbG9ja2VkIHN1Y2Nlc3NmdWxseSwgcmV0dXJuIDA7IGlmIHRoZSBEUExMIGRpZCBub3QgbG9jayBpbiB0aGUgdGltZQorICogYWxsb3R0ZWQsIG9yIERQTEwzIHdhcyBwYXNzZWQgaW4sIHJldHVybiAtRUlOVkFMLgorICovCitzdGF0aWMgaW50IF9vbWFwM19ub25jb3JlX2RwbGxfbG9jayhzdHJ1Y3QgY2xrICpjbGspCit7CisJdTggYWk7CisJaW50IHI7CisKKwlpZiAoY2xrID09ICZkcGxsM19jaykKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlwcl9kZWJ1ZygiY2xvY2s6IGxvY2tpbmcgRFBMTCAlc1xuIiwgY2xrLT5uYW1lKTsKKworCWFpID0gb21hcDNfZHBsbF9hdXRvaWRsZV9yZWFkKGNsayk7CisKKwlfb21hcDNfZHBsbF93cml0ZV9jbGtlbihjbGssIERQTExfTE9DS0VEKTsKKworCWlmIChhaSkgeworCQkvKgorCQkgKiBJZiBubyBkb3duc3RyZWFtIGNsb2NrcyBhcmUgZW5hYmxlZCwgQ01fSURMRVNUIGJpdAorCQkgKiBtYXkgbmV2ZXIgYmVjb21lIGFjdGl2ZSwgc28gZG9uJ3Qgd2FpdCBmb3IgRFBMTCB0byBsb2NrLgorCQkgKi8KKwkJciA9IDA7CisJCW9tYXAzX2RwbGxfYWxsb3dfaWRsZShjbGspOworCX0gZWxzZSB7CisJCXIgPSBfb21hcDNfd2FpdF9kcGxsX3N0YXR1cyhjbGssIDEpOworCQlvbWFwM19kcGxsX2RlbnlfaWRsZShjbGspOworCX07CisKKwlyZXR1cm4gcjsKK30KKworLyoKKyAqIG9tYXAzX25vbmNvcmVfZHBsbF9ieXBhc3MgLSBpbnN0cnVjdCBhIERQTEwgdG8gYnlwYXNzIGFuZCB3YWl0IGZvciByZWFkaW5lc3MKKyAqIEBjbGs6IHBvaW50ZXIgdG8gYSBEUExMIHN0cnVjdCBjbGsKKyAqCisgKiBJbnN0cnVjdHMgYSBub24tQ09SRSBEUExMIHRvIGVudGVyIGxvdy1wb3dlciBieXBhc3MgbW9kZS4gIEluCisgKiBieXBhc3MgbW9kZSwgdGhlIERQTEwncyByYXRlIGlzIHNldCBlcXVhbCB0byBpdHMgcGFyZW50IGNsb2NrJ3MKKyAqIHJhdGUuICBXYWl0cyBmb3IgdGhlIERQTEwgdG8gcmVwb3J0IHJlYWRpbmVzcyBiZWZvcmUgcmV0dXJuaW5nLgorICogV2lsbCBzYXZlIGFuZCByZXN0b3JlIHRoZSBEUExMJ3MgYXV0b2lkbGUgc3RhdGUgYWNyb3NzIHRoZSBlbmFibGUsCisgKiBwZXIgdGhlIENEUCBjb2RlLiAgSWYgdGhlIERQTEwgZW50ZXJlZCBieXBhc3MgbW9kZSBzdWNjZXNzZnVsbHksCisgKiByZXR1cm4gMDsgaWYgdGhlIERQTEwgZGlkIG5vdCBlbnRlciBieXBhc3MgaW4gdGhlIHRpbWUgYWxsb3R0ZWQsIG9yCisgKiBEUExMMyB3YXMgcGFzc2VkIGluLCBvciB0aGUgRFBMTCBkb2VzIG5vdCBzdXBwb3J0IGxvdy1wb3dlciBieXBhc3MsCisgKiByZXR1cm4gLUVJTlZBTC4KKyAqLworc3RhdGljIGludCBfb21hcDNfbm9uY29yZV9kcGxsX2J5cGFzcyhzdHJ1Y3QgY2xrICpjbGspCit7CisJaW50IHI7CisJdTggYWk7CisKKwlpZiAoY2xrID09ICZkcGxsM19jaykKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlpZiAoIShjbGstPmRwbGxfZGF0YS0+bW9kZXMgJiAoMSA8PCBEUExMX0xPV19QT1dFUl9CWVBBU1MpKSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlwcl9kZWJ1ZygiY2xvY2s6IGNvbmZpZ3VyaW5nIERQTEwgJXMgZm9yIGxvdy1wb3dlciBieXBhc3NcbiIsCisJCSBjbGstPm5hbWUpOworCisJYWkgPSBvbWFwM19kcGxsX2F1dG9pZGxlX3JlYWQoY2xrKTsKKworCV9vbWFwM19kcGxsX3dyaXRlX2Nsa2VuKGNsaywgRFBMTF9MT1dfUE9XRVJfQllQQVNTKTsKKworCXIgPSBfb21hcDNfd2FpdF9kcGxsX3N0YXR1cyhjbGssIDApOworCisJaWYgKGFpKQorCQlvbWFwM19kcGxsX2FsbG93X2lkbGUoY2xrKTsKKwllbHNlCisJCW9tYXAzX2RwbGxfZGVueV9pZGxlKGNsayk7CisKKwlyZXR1cm4gcjsKK30KKworLyoKKyAqIF9vbWFwM19ub25jb3JlX2RwbGxfc3RvcCAtIGluc3RydWN0IGEgRFBMTCB0byBzdG9wCisgKiBAY2xrOiBwb2ludGVyIHRvIGEgRFBMTCBzdHJ1Y3QgY2xrCisgKgorICogSW5zdHJ1Y3RzIGEgbm9uLUNPUkUgRFBMTCB0byBlbnRlciBsb3ctcG93ZXIgc3RvcC4gV2lsbCBzYXZlIGFuZAorICogcmVzdG9yZSB0aGUgRFBMTCdzIGF1dG9pZGxlIHN0YXRlIGFjcm9zcyB0aGUgc3RvcCwgcGVyIHRoZSBDRFAKKyAqIGNvZGUuICBJZiBEUExMMyB3YXMgcGFzc2VkIGluLCBvciB0aGUgRFBMTCBkb2VzIG5vdCBzdXBwb3J0CisgKiBsb3ctcG93ZXIgc3RvcCwgcmV0dXJuIC1FSU5WQUw7IG90aGVyd2lzZSwgcmV0dXJuIDAuCisgKi8KK3N0YXRpYyBpbnQgX29tYXAzX25vbmNvcmVfZHBsbF9zdG9wKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1OCBhaTsKKworCWlmIChjbGsgPT0gJmRwbGwzX2NrKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWlmICghKGNsay0+ZHBsbF9kYXRhLT5tb2RlcyAmICgxIDw8IERQTExfTE9XX1BPV0VSX1NUT1ApKSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlwcl9kZWJ1ZygiY2xvY2s6IHN0b3BwaW5nIERQTEwgJXNcbiIsIGNsay0+bmFtZSk7CisKKwlhaSA9IG9tYXAzX2RwbGxfYXV0b2lkbGVfcmVhZChjbGspOworCisJX29tYXAzX2RwbGxfd3JpdGVfY2xrZW4oY2xrLCBEUExMX0xPV19QT1dFUl9TVE9QKTsKKworCWlmIChhaSkKKwkJb21hcDNfZHBsbF9hbGxvd19pZGxlKGNsayk7CisJZWxzZQorCQlvbWFwM19kcGxsX2RlbnlfaWRsZShjbGspOworCisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogb21hcDNfbm9uY29yZV9kcGxsX2VuYWJsZSAtIGluc3RydWN0IGEgRFBMTCB0byBlbnRlciBieXBhc3Mgb3IgbG9jayBtb2RlCisgKiBAY2xrOiBwb2ludGVyIHRvIGEgRFBMTCBzdHJ1Y3QgY2xrCisgKgorICogSW5zdHJ1Y3RzIGEgbm9uLUNPUkUgRFBMTCB0byBlbmFibGUsIGUuZy4sIHRvIGVudGVyIGJ5cGFzcyBvciBsb2NrLgorICogVGhlIGNob2ljZSBvZiBtb2RlcyBkZXBlbmRzIG9uIHRoZSBEUExMJ3MgcHJvZ3JhbW1lZCByYXRlOiBpZiBpdCBpcworICogdGhlIHNhbWUgYXMgdGhlIERQTEwncyBwYXJlbnQgY2xvY2ssIGl0IHdpbGwgZW50ZXIgYnlwYXNzOworICogb3RoZXJ3aXNlLCBpdCB3aWxsIGVudGVyIGxvY2suICBUaGlzIGNvZGUgd2lsbCB3YWl0IGZvciB0aGUgRFBMTCB0bworICogaW5kaWNhdGUgcmVhZGluZXNzIGJlZm9yZSByZXR1cm5pbmcsIHVubGVzcyB0aGUgRFBMTCB0YWtlcyB0b28gbG9uZworICogdG8gZW50ZXIgdGhlIHRhcmdldCBzdGF0ZS4gIEludGVuZGVkIHRvIGJlIHVzZWQgYXMgdGhlIHN0cnVjdCBjbGsncworICogZW5hYmxlIGZ1bmN0aW9uLiAgSWYgRFBMTDMgd2FzIHBhc3NlZCBpbiwgb3IgdGhlIERQTEwgZG9lcyBub3QKKyAqIHN1cHBvcnQgbG93LXBvd2VyIHN0b3AsIG9yIGlmIHRoZSBEUExMIHRvb2sgdG9vIGxvbmcgdG8gZW50ZXIKKyAqIGJ5cGFzcyBvciBsb2NrLCByZXR1cm4gLUVJTlZBTDsgb3RoZXJ3aXNlLCByZXR1cm4gMC4KKyAqLworc3RhdGljIGludCBvbWFwM19ub25jb3JlX2RwbGxfZW5hYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwlpbnQgcjsKKworCWlmIChjbGsgPT0gJmRwbGwzX2NrKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWlmIChjbGstPnBhcmVudC0+cmF0ZSA9PSBjbGtfZ2V0X3JhdGUoY2xrKSkKKwkJciA9IF9vbWFwM19ub25jb3JlX2RwbGxfYnlwYXNzKGNsayk7CisJZWxzZQorCQlyID0gX29tYXAzX25vbmNvcmVfZHBsbF9sb2NrKGNsayk7CisKKwlyZXR1cm4gcjsKK30KKworLyoqCisgKiBvbWFwM19ub25jb3JlX2RwbGxfZW5hYmxlIC0gaW5zdHJ1Y3QgYSBEUExMIHRvIGVudGVyIGJ5cGFzcyBvciBsb2NrIG1vZGUKKyAqIEBjbGs6IHBvaW50ZXIgdG8gYSBEUExMIHN0cnVjdCBjbGsKKyAqCisgKiBJbnN0cnVjdHMgYSBub24tQ09SRSBEUExMIHRvIGVuYWJsZSwgZS5nLiwgdG8gZW50ZXIgYnlwYXNzIG9yIGxvY2suCisgKiBUaGUgY2hvaWNlIG9mIG1vZGVzIGRlcGVuZHMgb24gdGhlIERQTEwncyBwcm9ncmFtbWVkIHJhdGU6IGlmIGl0IGlzCisgKiB0aGUgc2FtZSBhcyB0aGUgRFBMTCdzIHBhcmVudCBjbG9jaywgaXQgd2lsbCBlbnRlciBieXBhc3M7CisgKiBvdGhlcndpc2UsIGl0IHdpbGwgZW50ZXIgbG9jay4gIFRoaXMgY29kZSB3aWxsIHdhaXQgZm9yIHRoZSBEUExMIHRvCisgKiBpbmRpY2F0ZSByZWFkaW5lc3MgYmVmb3JlIHJldHVybmluZywgdW5sZXNzIHRoZSBEUExMIHRha2VzIHRvbyBsb25nCisgKiB0byBlbnRlciB0aGUgdGFyZ2V0IHN0YXRlLiAgSW50ZW5kZWQgdG8gYmUgdXNlZCBhcyB0aGUgc3RydWN0IGNsaydzCisgKiBlbmFibGUgZnVuY3Rpb24uICBJZiBEUExMMyB3YXMgcGFzc2VkIGluLCBvciB0aGUgRFBMTCBkb2VzIG5vdAorICogc3VwcG9ydCBsb3ctcG93ZXIgc3RvcCwgb3IgaWYgdGhlIERQTEwgdG9vayB0b28gbG9uZyB0byBlbnRlcgorICogYnlwYXNzIG9yIGxvY2ssIHJldHVybiAtRUlOVkFMOyBvdGhlcndpc2UsIHJldHVybiAwLgorICovCitzdGF0aWMgdm9pZCBvbWFwM19ub25jb3JlX2RwbGxfZGlzYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJaWYgKGNsayA9PSAmZHBsbDNfY2spCisJCXJldHVybjsKKworCV9vbWFwM19ub25jb3JlX2RwbGxfc3RvcChjbGspOworfQorCisvKioKKyAqIG9tYXAzX2RwbGxfYXV0b2lkbGVfcmVhZCAtIHJlYWQgYSBEUExMJ3MgYXV0b2lkbGUgYml0cworICogQGNsazogc3RydWN0IGNsayAqIG9mIHRoZSBEUExMIHRvIHJlYWQKKyAqCisgKiBSZXR1cm4gdGhlIERQTEwncyBhdXRvaWRsZSBiaXRzLCBzaGlmdGVkIGRvd24gdG8gYml0IDAuICBSZXR1cm5zCisgKiAtRUlOVkFMIGlmIHBhc3NlZCBhIG51bGwgcG9pbnRlciBvciBpZiB0aGUgc3RydWN0IGNsayBkb2VzIG5vdAorICogYXBwZWFyIHRvIHJlZmVyIHRvIGEgRFBMTC4KKyAqLworc3RhdGljIHUzMiBvbWFwM19kcGxsX2F1dG9pZGxlX3JlYWQoc3RydWN0IGNsayAqY2xrKQoreworCWNvbnN0IHN0cnVjdCBkcGxsX2RhdGEgKmRkOworCXUzMiB2OworCisJaWYgKCFjbGsgfHwgIWNsay0+ZHBsbF9kYXRhKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWRkID0gY2xrLT5kcGxsX2RhdGE7CisKKwl2ID0gY21fcmVhZF9yZWcoZGQtPmF1dG9pZGxlX3JlZyk7CisJdiAmPSBkZC0+YXV0b2lkbGVfbWFzazsKKwl2ID4+PSBfX2ZmcyhkZC0+YXV0b2lkbGVfbWFzayk7CisKKwlyZXR1cm4gdjsKK30KKworLyoqCisgKiBvbWFwM19kcGxsX2FsbG93X2lkbGUgLSBlbmFibGUgRFBMTCBhdXRvaWRsZSBiaXRzCisgKiBAY2xrOiBzdHJ1Y3QgY2xrICogb2YgdGhlIERQTEwgdG8gb3BlcmF0ZSBvbgorICoKKyAqIEVuYWJsZSBEUExMIGF1dG9tYXRpYyBpZGxlIGNvbnRyb2wuICBUaGlzIGF1dG9tYXRpYyBpZGxlIG1vZGUKKyAqIHN3aXRjaGluZyB0YWtlcyBlZmZlY3Qgb25seSB3aGVuIHRoZSBEUExMIGlzIGxvY2tlZCwgYXQgbGVhc3Qgb24KKyAqIE9NQVAzNDMwLiAgVGhlIERQTEwgd2lsbCBlbnRlciBsb3ctcG93ZXIgc3RvcCB3aGVuIGl0cyBkb3duc3RyZWFtCisgKiBjbG9ja3MgYXJlIGdhdGVkLiAgTm8gcmV0dXJuIHZhbHVlLgorICovCitzdGF0aWMgdm9pZCBvbWFwM19kcGxsX2FsbG93X2lkbGUoc3RydWN0IGNsayAqY2xrKQoreworCWNvbnN0IHN0cnVjdCBkcGxsX2RhdGEgKmRkOworCisJaWYgKCFjbGsgfHwgIWNsay0+ZHBsbF9kYXRhKQorCQlyZXR1cm47CisKKwlkZCA9IGNsay0+ZHBsbF9kYXRhOworCisJLyoKKwkgKiBSRVZJU0lUOiBDT1JFIERQTEwgY2FuIG9wdGlvbmFsbHkgZW50ZXIgbG93LXBvd2VyIGJ5cGFzcworCSAqIGJ5IHdyaXRpbmcgMHg1IGluc3RlYWQgb2YgMHgxLiAgQWRkIHNvbWUgbWVjaGFuaXNtIHRvCisJICogb3B0aW9uYWxseSBlbnRlciB0aGlzIG1vZGUuCisJICovCisJY21fcm13X3JlZ19iaXRzKGRkLT5hdXRvaWRsZV9tYXNrLAorCQkJRFBMTF9BVVRPSURMRV9MT1dfUE9XRVJfU1RPUCA8PCBfX2ZmcyhkZC0+YXV0b2lkbGVfbWFzayksCisJCQlkZC0+YXV0b2lkbGVfcmVnKTsKK30KKworLyoqCisgKiBvbWFwM19kcGxsX2RlbnlfaWRsZSAtIHByZXZlbnQgRFBMTCBmcm9tIGF1dG9tYXRpY2FsbHkgaWRsaW5nCisgKiBAY2xrOiBzdHJ1Y3QgY2xrICogb2YgdGhlIERQTEwgdG8gb3BlcmF0ZSBvbgorICoKKyAqIERpc2FibGUgRFBMTCBhdXRvbWF0aWMgaWRsZSBjb250cm9sLiAgTm8gcmV0dXJuIHZhbHVlLgorICovCitzdGF0aWMgdm9pZCBvbWFwM19kcGxsX2RlbnlfaWRsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJY29uc3Qgc3RydWN0IGRwbGxfZGF0YSAqZGQ7CisKKwlpZiAoIWNsayB8fCAhY2xrLT5kcGxsX2RhdGEpCisJCXJldHVybjsKKworCWRkID0gY2xrLT5kcGxsX2RhdGE7CisKKwljbV9ybXdfcmVnX2JpdHMoZGQtPmF1dG9pZGxlX21hc2ssCisJCQlEUExMX0FVVE9JRExFX0RJU0FCTEUgPDwgX19mZnMoZGQtPmF1dG9pZGxlX21hc2spLAorCQkJZGQtPmF1dG9pZGxlX3JlZyk7Cit9CisKKy8qIENsb2NrIGNvbnRyb2wgZm9yIERQTEwgb3V0cHV0cyAqLworCiAvKioKICAqIG9tYXAzX2Nsa291dHgyX3JlY2FsYyAtIHJlY2FsY3VsYXRlIERQTEwgWDIgb3V0cHV0IHZpcnR1YWwgY2xvY2sgcmF0ZQogICogQGNsazogRFBMTCBvdXRwdXQgc3RydWN0IGNsawpAQCAtODksNiArMzc4LDggQEAKIAkJcHJvcGFnYXRlX3JhdGUoY2xrKTsKIH0KIAorLyogQ29tbW9uIGNsb2NrIGNvZGUgKi8KKwogLyoKICAqIEFzIGl0IGlzIHN0cnVjdHVyZWQgbm93LCB0aGlzIHdpbGwgcHJldmVudCBhbiBPTUFQMi8zIG11bHRpYm9vdAogICoga2VybmVsIGZyb20gY29tcGlsaW5nLiAgVGhpcyB3aWxsIG5lZWQgZnVydGhlciBhdHRlbnRpb24uCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9tYXAyL2Nsb2NrMzR4eC5oIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9jbG9jazM0eHguaAppbmRleCBjOWM1OTcyLi4wNTc1N2ViIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9tYXAyL2Nsb2NrMzR4eC5oCisrKyBiL2FyY2gvYXJtL21hY2gtb21hcDIvY2xvY2szNHh4LmgKQEAgLTEsMTQgKzEsMTkgQEAKIC8qCiAgKiBPTUFQMyBjbG9jayBmcmFtZXdvcmsKICAqCi0gKiBWaXJ0dWFsIGNsb2NrcyBhcmUgaW50cm9kdWNlZCBhcyBhIGNvbnZlbmllbnQgdG9vbHMuCi0gKiBUaGV5IGFyZSBzb3VyY2VzIGZvciBvdGhlciBjbG9ja3MgYW5kIG5vdCBzdXBwb3NlZAotICogdG8gYmUgcmVxdWVzdGVkIGZyb20gZHJpdmVycyBkaXJlY3RseS4KLSAqCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDctMjAwOCBUZXhhcyBJbnN0cnVtZW50cywgSW5jLgogICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMDggTm9raWEgQ29ycG9yYXRpb24KICAqCiAgKiBXcml0dGVuIGJ5IFBhdWwgV2FsbXNsZXkKKyAqIFdpdGggbWFueSBkZXZpY2UgY2xvY2sgZml4ZXMgYnkgS2V2aW4gSGlsbWFuIGFuZCBKb3VuaSBIw7ZnYW5kZXIKKyAqIERQTEwgYnlwYXNzIGNsb2NrIHN1cHBvcnQgYWRkZWQgYnkgUm9tYW4gVGVyZXNob25rb3YKKyAqCisgKi8KKworLyoKKyAqIFZpcnR1YWwgY2xvY2tzIGFyZSBpbnRyb2R1Y2VkIGFzIGNvbnZlbmllbnQgdG9vbHMuCisgKiBUaGV5IGFyZSBzb3VyY2VzIGZvciBvdGhlciBjbG9ja3MgYW5kIG5vdCBzdXBwb3NlZAorICogdG8gYmUgcmVxdWVzdGVkIGZyb20gZHJpdmVycyBkaXJlY3RseS4KICAqLwogCiAjaWZuZGVmIF9fQVJDSF9BUk1fTUFDSF9PTUFQMl9DTE9DSzM0WFhfSApAQCAtMjQsNiArMjksMTUgQEAKIAogc3RhdGljIHZvaWQgb21hcDNfZHBsbF9yZWNhbGMoc3RydWN0IGNsayAqY2xrKTsKIHN0YXRpYyB2b2lkIG9tYXAzX2Nsa291dHgyX3JlY2FsYyhzdHJ1Y3QgY2xrICpjbGspOworc3RhdGljIHZvaWQgb21hcDNfZHBsbF9hbGxvd19pZGxlKHN0cnVjdCBjbGsgKmNsayk7CitzdGF0aWMgdm9pZCBvbWFwM19kcGxsX2RlbnlfaWRsZShzdHJ1Y3QgY2xrICpjbGspOworc3RhdGljIHUzMiBvbWFwM19kcGxsX2F1dG9pZGxlX3JlYWQoc3RydWN0IGNsayAqY2xrKTsKK3N0YXRpYyBpbnQgb21hcDNfbm9uY29yZV9kcGxsX2VuYWJsZShzdHJ1Y3QgY2xrICpjbGspOworc3RhdGljIHZvaWQgb21hcDNfbm9uY29yZV9kcGxsX2Rpc2FibGUoc3RydWN0IGNsayAqY2xrKTsKKworLyogTWF4aW11bSBEUExMIG11bHRpcGxpZXIsIGRpdmlkZXIgdmFsdWVzIGZvciBPTUFQMyAqLworI2RlZmluZSBPTUFQM19NQVhfRFBMTF9NVUxUCQkyMDQ4CisjZGVmaW5lIE9NQVAzX01BWF9EUExMX0RJVgkJMTI4CiAKIC8qCiAgKiBEUExMMSBzdXBwbGllcyBjbG9jayB0byB0aGUgTVBVLgpAQCAtMzMsNiArNDcsMTEgQEAKICAqIERQTEw1IHN1cHBsaWVzIG90aGVyIHBlcmlwaGVyYWwgY2xvY2tzIChVU0JIT1NULCBVU0lNKS4KICAqLwogCisvKiBDTV9DTEtFTl9QTEwqLkVOKiBiaXQgdmFsdWVzIC0gbm90IGFsbCBhcmUgYXZhaWxhYmxlIGZvciBldmVyeSBEUExMICovCisjZGVmaW5lIERQTExfTE9XX1BPV0VSX1NUT1AJCTB4MQorI2RlZmluZSBEUExMX0xPV19QT1dFUl9CWVBBU1MJCTB4NQorI2RlZmluZSBEUExMX0xPQ0tFRAkJCTB4NworCiAvKiBQUk0gQ0xPQ0tTICovCiAKIC8qIEFjY29yZGluZyB0byB0aW1lcjMyay5jLCB0aGlzIGlzIGEgMzI3NjhIeiBjbG9jaywgbm90IGEgMzIwMDBIeiBjbG9jay4gKi8KQEAgLTI0MCwxNSArMjU5LDIzIEBACiAvKiBEUExMMSAqLwogLyogTVBVIGNsb2NrIHNvdXJjZSAqLwogLyogVHlwZTogRFBMTCAqLwotc3RhdGljIGNvbnN0IHN0cnVjdCBkcGxsX2RhdGEgZHBsbDFfZGQgPSB7CitzdGF0aWMgc3RydWN0IGRwbGxfZGF0YSBkcGxsMV9kZCA9IHsKIAkubXVsdF9kaXYxX3JlZwk9IE9NQVBfQ01fUkVHQUREUihNUFVfTU9ELCBPTUFQMzQzMF9DTV9DTEtTRUwxX1BMTCksCiAJLm11bHRfbWFzawk9IE9NQVAzNDMwX01QVV9EUExMX01VTFRfTUFTSywKIAkuZGl2MV9tYXNrCT0gT01BUDM0MzBfTVBVX0RQTExfRElWX01BU0ssCiAJLmNvbnRyb2xfcmVnCT0gT01BUF9DTV9SRUdBRERSKE1QVV9NT0QsIE9NQVAzNDMwX0NNX0NMS0VOX1BMTCksCiAJLmVuYWJsZV9tYXNrCT0gT01BUDM0MzBfRU5fTVBVX0RQTExfTUFTSywKKwkubW9kZXMJCT0gKDEgPDwgRFBMTF9MT1dfUE9XRVJfQllQQVNTKSB8ICgxIDw8IERQTExfTE9DS0VEKSwKIAkuYXV0b19yZWNhbF9iaXQJPSBPTUFQMzQzMF9FTl9NUFVfRFBMTF9EUklGVEdVQVJEX1NISUZULAogCS5yZWNhbF9lbl9iaXQJPSBPTUFQMzQzMF9NUFVfRFBMTF9SRUNBTF9FTl9TSElGVCwKIAkucmVjYWxfc3RfYml0CT0gT01BUDM0MzBfTVBVX0RQTExfU1RfU0hJRlQsCisJLmF1dG9pZGxlX3JlZwk9IE9NQVBfQ01fUkVHQUREUihNUFVfTU9ELCBPTUFQMzQzMF9DTV9BVVRPSURMRV9QTEwpLAorCS5hdXRvaWRsZV9tYXNrCT0gT01BUDM0MzBfQVVUT19NUFVfRFBMTF9NQVNLLAorCS5pZGxlc3RfcmVnCT0gT01BUF9DTV9SRUdBRERSKE1QVV9NT0QsIE9NQVAzNDMwX0NNX0lETEVTVF9QTEwpLAorCS5pZGxlc3RfYml0CT0gT01BUDM0MzBfU1RfTVBVX0NMS19TSElGVCwKKwkubWF4X211bHRpcGxpZXIgPSBPTUFQM19NQVhfRFBMTF9NVUxULAorCS5tYXhfZGl2aWRlcgk9IE9NQVAzX01BWF9EUExMX0RJViwKKwkucmF0ZV90b2xlcmFuY2UgPSBERUZBVUxUX0RQTExfUkFURV9UT0xFUkFOQ0UKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgY2xrIGRwbGwxX2NrID0gewpAQCAtMjU2LDYgKzI4Myw3IEBACiAJLnBhcmVudAkJPSAmc3lzX2NrLAogCS5kcGxsX2RhdGEJPSAmZHBsbDFfZGQsCiAJLmZsYWdzCQk9IENMT0NLX0lOX09NQVAzNDNYIHwgUkFURV9QUk9QQUdBVEVTIHwgQUxXQVlTX0VOQUJMRUQsCisJLnJvdW5kX3JhdGUJPSAmb21hcDJfZHBsbF9yb3VuZF9yYXRlLAogCS5yZWNhbGMJCT0gJm9tYXAzX2RwbGxfcmVjYWxjLAogfTsKIApAQCAtMjk3LDIyICszMjUsMzQgQEAKIC8qIElWQTIgY2xvY2sgc291cmNlICovCiAvKiBUeXBlOiBEUExMICovCiAKLXN0YXRpYyBjb25zdCBzdHJ1Y3QgZHBsbF9kYXRhIGRwbGwyX2RkID0geworc3RhdGljIHN0cnVjdCBkcGxsX2RhdGEgZHBsbDJfZGQgPSB7CiAJLm11bHRfZGl2MV9yZWcJPSBPTUFQX0NNX1JFR0FERFIoT01BUDM0MzBfSVZBMl9NT0QsIE9NQVAzNDMwX0NNX0NMS1NFTDFfUExMKSwKIAkubXVsdF9tYXNrCT0gT01BUDM0MzBfSVZBMl9EUExMX01VTFRfTUFTSywKIAkuZGl2MV9tYXNrCT0gT01BUDM0MzBfSVZBMl9EUExMX0RJVl9NQVNLLAogCS5jb250cm9sX3JlZwk9IE9NQVBfQ01fUkVHQUREUihPTUFQMzQzMF9JVkEyX01PRCwgT01BUDM0MzBfQ01fQ0xLRU5fUExMKSwKIAkuZW5hYmxlX21hc2sJPSBPTUFQMzQzMF9FTl9JVkEyX0RQTExfTUFTSywKKwkubW9kZXMJCT0gKDEgPDwgRFBMTF9MT1dfUE9XRVJfU1RPUCkgfCAoMSA8PCBEUExMX0xPQ0tFRCkgfAorCQkJCSgxIDw8IERQTExfTE9XX1BPV0VSX0JZUEFTUyksCiAJLmF1dG9fcmVjYWxfYml0CT0gT01BUDM0MzBfRU5fSVZBMl9EUExMX0RSSUZUR1VBUkRfU0hJRlQsCiAJLnJlY2FsX2VuX2JpdAk9IE9NQVAzNDMwX1BSTV9JUlFFTkFCTEVfTVBVX0lWQTJfRFBMTF9SRUNBTF9FTl9TSElGVCwKIAkucmVjYWxfc3RfYml0CT0gT01BUDM0MzBfUFJNX0lSUVNUQVRVU19NUFVfSVZBMl9EUExMX1NUX1NISUZULAorCS5hdXRvaWRsZV9yZWcJPSBPTUFQX0NNX1JFR0FERFIoT01BUDM0MzBfSVZBMl9NT0QsIE9NQVAzNDMwX0NNX0FVVE9JRExFX1BMTCksCisJLmF1dG9pZGxlX21hc2sJPSBPTUFQMzQzMF9BVVRPX0lWQTJfRFBMTF9NQVNLLAorCS5pZGxlc3RfcmVnCT0gT01BUF9DTV9SRUdBRERSKE9NQVAzNDMwX0lWQTJfTU9ELCBPTUFQMzQzMF9DTV9JRExFU1RfUExMKSwKKwkuaWRsZXN0X2JpdAk9IE9NQVAzNDMwX1NUX0lWQTJfQ0xLX1NISUZULAorCS5tYXhfbXVsdGlwbGllciA9IE9NQVAzX01BWF9EUExMX01VTFQsCisJLm1heF9kaXZpZGVyCT0gT01BUDNfTUFYX0RQTExfRElWLAorCS5yYXRlX3RvbGVyYW5jZSA9IERFRkFVTFRfRFBMTF9SQVRFX1RPTEVSQU5DRQogfTsKIAogc3RhdGljIHN0cnVjdCBjbGsgZHBsbDJfY2sgPSB7CiAJLm5hbWUJCT0gImRwbGwyX2NrIiwKIAkucGFyZW50CQk9ICZzeXNfY2ssCiAJLmRwbGxfZGF0YQk9ICZkcGxsMl9kZCwKLQkuZmxhZ3MJCT0gQ0xPQ0tfSU5fT01BUDM0M1ggfCBSQVRFX1BST1BBR0FURVMgfCBBTFdBWVNfRU5BQkxFRCwKKwkuZmxhZ3MJCT0gQ0xPQ0tfSU5fT01BUDM0M1ggfCBSQVRFX1BST1BBR0FURVMsCisJLmVuYWJsZQkJPSAmb21hcDNfbm9uY29yZV9kcGxsX2VuYWJsZSwKKwkuZGlzYWJsZQk9ICZvbWFwM19ub25jb3JlX2RwbGxfZGlzYWJsZSwKKwkucm91bmRfcmF0ZQk9ICZvbWFwMl9kcGxsX3JvdW5kX3JhdGUsCiAJLnJlY2FsYwkJPSAmb21hcDNfZHBsbF9yZWNhbGMsCiB9OwogCkBAIC0zMzgsMTAgKzM3OCwxMiBAQAogCS5yZWNhbGMJCT0gJm9tYXAyX2Nsa3NlbF9yZWNhbGMsCiB9OwogCi0vKiBEUExMMyAqLwotLyogU291cmNlIGNsb2NrIGZvciBhbGwgaW50ZXJmYWNlcyBhbmQgZm9yIHNvbWUgZGV2aWNlIGZjbGtzICovCi0vKiBUeXBlOiBEUExMICovCi1zdGF0aWMgY29uc3Qgc3RydWN0IGRwbGxfZGF0YSBkcGxsM19kZCA9IHsKKy8qCisgKiBEUExMMworICogU291cmNlIGNsb2NrIGZvciBhbGwgaW50ZXJmYWNlcyBhbmQgZm9yIHNvbWUgZGV2aWNlIGZjbGtzCisgKiBSRVZJU0lUOiBBbHNvIHN1cHBvcnRzIGZhc3QgcmVsb2NrIGJ5cGFzcyAtIG5vdCBpbmNsdWRlZCBiZWxvdworICovCitzdGF0aWMgc3RydWN0IGRwbGxfZGF0YSBkcGxsM19kZCA9IHsKIAkubXVsdF9kaXYxX3JlZwk9IE9NQVBfQ01fUkVHQUREUihQTExfTU9ELCBDTV9DTEtTRUwxKSwKIAkubXVsdF9tYXNrCT0gT01BUDM0MzBfQ09SRV9EUExMX01VTFRfTUFTSywKIAkuZGl2MV9tYXNrCT0gT01BUDM0MzBfQ09SRV9EUExMX0RJVl9NQVNLLApAQCAtMzUwLDYgKzM5MiwxMSBAQAogCS5hdXRvX3JlY2FsX2JpdAk9IE9NQVAzNDMwX0VOX0NPUkVfRFBMTF9EUklGVEdVQVJEX1NISUZULAogCS5yZWNhbF9lbl9iaXQJPSBPTUFQMzQzMF9DT1JFX0RQTExfUkVDQUxfRU5fU0hJRlQsCiAJLnJlY2FsX3N0X2JpdAk9IE9NQVAzNDMwX0NPUkVfRFBMTF9TVF9TSElGVCwKKwkuYXV0b2lkbGVfcmVnCT0gT01BUF9DTV9SRUdBRERSKFBMTF9NT0QsIENNX0FVVE9JRExFKSwKKwkuYXV0b2lkbGVfbWFzawk9IE9NQVAzNDMwX0FVVE9fQ09SRV9EUExMX01BU0ssCisJLm1heF9tdWx0aXBsaWVyID0gT01BUDNfTUFYX0RQTExfTVVMVCwKKwkubWF4X2RpdmlkZXIJPSBPTUFQM19NQVhfRFBMTF9ESVYsCisJLnJhdGVfdG9sZXJhbmNlID0gREVGQVVMVF9EUExMX1JBVEVfVE9MRVJBTkNFCiB9OwogCiBzdGF0aWMgc3RydWN0IGNsayBkcGxsM19jayA9IHsKQEAgLTM1Nyw2ICs0MDQsNyBAQAogCS5wYXJlbnQJCT0gJnN5c19jaywKIAkuZHBsbF9kYXRhCT0gJmRwbGwzX2RkLAogCS5mbGFncwkJPSBDTE9DS19JTl9PTUFQMzQzWCB8IFJBVEVfUFJPUEFHQVRFUyB8IEFMV0FZU19FTkFCTEVELAorCS5yb3VuZF9yYXRlCT0gJm9tYXAyX2RwbGxfcm91bmRfcmF0ZSwKIAkucmVjYWxjCQk9ICZvbWFwM19kcGxsX3JlY2FsYywKIH07CiAKQEAgLTQzOSw3ICs0ODcsNyBAQAogCS5uYW1lCQk9ICJjb3JlX2NrIiwKIAkuaW5pdAkJPSAmb21hcDJfaW5pdF9jbGtzZWxfcGFyZW50LAogCS5jbGtzZWxfcmVnCT0gT01BUF9DTV9SRUdBRERSKFBMTF9NT0QsIENNX0lETEVTVCksCi0JLmNsa3NlbF9tYXNrCT0gT01BUDM0MzBfU1RfQ09SRV9DTEssCisJLmNsa3NlbF9tYXNrCT0gT01BUDM0MzBfU1RfQ09SRV9DTEtfTUFTSywKIAkuY2xrc2VsCQk9IGNvcmVfY2tfY2xrc2VsLAogCS5mbGFncwkJPSBDTE9DS19JTl9PTUFQMzQzWCB8IFJBVEVfUFJPUEFHQVRFUyB8CiAJCQkJUEFSRU5UX0NPTlRST0xTX0NMT0NLLApAQCAtNDU2LDcgKzUwNCw3IEBACiAJLm5hbWUJCT0gImRwbGwzX20yeDJfY2siLAogCS5pbml0CQk9ICZvbWFwMl9pbml0X2Nsa3NlbF9wYXJlbnQsCiAJLmNsa3NlbF9yZWcJPSBPTUFQX0NNX1JFR0FERFIoUExMX01PRCwgQ01fSURMRVNUKSwKLQkuY2xrc2VsX21hc2sJPSBPTUFQMzQzMF9TVF9DT1JFX0NMSywKKwkuY2xrc2VsX21hc2sJPSBPTUFQMzQzMF9TVF9DT1JFX0NMS19NQVNLLAogCS5jbGtzZWwJCT0gZHBsbDNfbTJ4Ml9ja19jbGtzZWwsCiAJLmZsYWdzCQk9IENMT0NLX0lOX09NQVAzNDNYIHwgUkFURV9QUk9QQUdBVEVTIHwKIAkJCQlQQVJFTlRfQ09OVFJPTFNfQ0xPQ0ssCkBAIC01MDMsNyArNTUxLDcgQEAKIAkucGFyZW50CQk9ICZkcGxsM19tM3gyX2NrLAogCS5pbml0CQk9ICZvbWFwMl9pbml0X2Nsa3NlbF9wYXJlbnQsCiAJLmNsa3NlbF9yZWcJPSBPTUFQX0NNX1JFR0FERFIoUExMX01PRCwgQ01fSURMRVNUKSwKLQkuY2xrc2VsX21hc2sJPSBPTUFQMzQzMF9TVF9DT1JFX0NMSywKKwkuY2xrc2VsX21hc2sJPSBPTUFQMzQzMF9TVF9DT1JFX0NMS19NQVNLLAogCS5jbGtzZWwJCT0gZW11X2NvcmVfYWx3b25fY2tfY2xrc2VsLAogCS5mbGFncwkJPSBDTE9DS19JTl9PTUFQMzQzWCB8IFJBVEVfUFJPUEFHQVRFUyB8CiAJCQkJUEFSRU5UX0NPTlRST0xTX0NMT0NLLApAQCAtNTEzLDIyICs1NjEsMzMgQEAKIC8qIERQTEw0ICovCiAvKiBTdXBwbGllcyA5Nk1IeiwgNTRNaHogVFYgREFDLCBEU1MgZmNsaywgQ0FNIHNlbnNvciBjbG9jaywgZW11bCB0cmFjZSBjbGsgKi8KIC8qIFR5cGU6IERQTEwgKi8KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgZHBsbF9kYXRhIGRwbGw0X2RkID0geworc3RhdGljIHN0cnVjdCBkcGxsX2RhdGEgZHBsbDRfZGQgPSB7CiAJLm11bHRfZGl2MV9yZWcJPSBPTUFQX0NNX1JFR0FERFIoUExMX01PRCwgQ01fQ0xLU0VMMiksCiAJLm11bHRfbWFzawk9IE9NQVAzNDMwX1BFUklQSF9EUExMX01VTFRfTUFTSywKIAkuZGl2MV9tYXNrCT0gT01BUDM0MzBfUEVSSVBIX0RQTExfRElWX01BU0ssCiAJLmNvbnRyb2xfcmVnCT0gT01BUF9DTV9SRUdBRERSKFBMTF9NT0QsIENNX0NMS0VOKSwKIAkuZW5hYmxlX21hc2sJPSBPTUFQMzQzMF9FTl9QRVJJUEhfRFBMTF9NQVNLLAorCS5tb2RlcwkJPSAoMSA8PCBEUExMX0xPV19QT1dFUl9TVE9QKSB8ICgxIDw8IERQTExfTE9DS0VEKSwKIAkuYXV0b19yZWNhbF9iaXQJPSBPTUFQMzQzMF9FTl9QRVJJUEhfRFBMTF9EUklGVEdVQVJEX1NISUZULAogCS5yZWNhbF9lbl9iaXQJPSBPTUFQMzQzMF9QRVJJUEhfRFBMTF9SRUNBTF9FTl9TSElGVCwKIAkucmVjYWxfc3RfYml0CT0gT01BUDM0MzBfUEVSSVBIX0RQTExfU1RfU0hJRlQsCisJLmF1dG9pZGxlX3JlZwk9IE9NQVBfQ01fUkVHQUREUihQTExfTU9ELCBDTV9BVVRPSURMRSksCisJLmF1dG9pZGxlX21hc2sJPSBPTUFQMzQzMF9BVVRPX1BFUklQSF9EUExMX01BU0ssCisJLmlkbGVzdF9yZWcJPSBPTUFQX0NNX1JFR0FERFIoUExMX01PRCwgQ01fSURMRVNUKSwKKwkuaWRsZXN0X2JpdAk9IE9NQVAzNDMwX1NUX1BFUklQSF9DTEtfU0hJRlQsCisJLm1heF9tdWx0aXBsaWVyID0gT01BUDNfTUFYX0RQTExfTVVMVCwKKwkubWF4X2RpdmlkZXIJPSBPTUFQM19NQVhfRFBMTF9ESVYsCisJLnJhdGVfdG9sZXJhbmNlID0gREVGQVVMVF9EUExMX1JBVEVfVE9MRVJBTkNFCiB9OwogCiBzdGF0aWMgc3RydWN0IGNsayBkcGxsNF9jayA9IHsKIAkubmFtZQkJPSAiZHBsbDRfY2siLAogCS5wYXJlbnQJCT0gJnN5c19jaywKIAkuZHBsbF9kYXRhCT0gJmRwbGw0X2RkLAotCS5mbGFncwkJPSBDTE9DS19JTl9PTUFQMzQzWCB8IFJBVEVfUFJPUEFHQVRFUyB8IEFMV0FZU19FTkFCTEVELAorCS5mbGFncwkJPSBDTE9DS19JTl9PTUFQMzQzWCB8IFJBVEVfUFJPUEFHQVRFUywKKwkuZW5hYmxlCQk9ICZvbWFwM19ub25jb3JlX2RwbGxfZW5hYmxlLAorCS5kaXNhYmxlCT0gJm9tYXAzX25vbmNvcmVfZHBsbF9kaXNhYmxlLAorCS5yb3VuZF9yYXRlCT0gJm9tYXAyX2RwbGxfcm91bmRfcmF0ZSwKIAkucmVjYWxjCQk9ICZvbWFwM19kcGxsX3JlY2FsYywKIH07CiAKQEAgLTU4NCw3ICs2NDMsNyBAQAogCS5wYXJlbnQJCT0gJmRwbGw0X20yeDJfY2ssCiAJLmluaXQJCT0gJm9tYXAyX2luaXRfY2xrc2VsX3BhcmVudCwKIAkuY2xrc2VsX3JlZwk9IE9NQVBfQ01fUkVHQUREUihQTExfTU9ELCBDTV9JRExFU1QpLAotCS5jbGtzZWxfbWFzawk9IE9NQVAzNDMwX1NUX1BFUklQSF9DTEssCisJLmNsa3NlbF9tYXNrCT0gT01BUDM0MzBfU1RfUEVSSVBIX0NMS19NQVNLLAogCS5jbGtzZWwJCT0gb21hcF85Nm1fYWx3b25fZmNrX2Nsa3NlbCwKIAkuZmxhZ3MJCT0gQ0xPQ0tfSU5fT01BUDM0M1ggfCBSQVRFX1BST1BBR0FURVMgfAogCQkJCSBQQVJFTlRfQ09OVFJPTFNfQ0xPQ0ssCkBAIC02MTAsNyArNjY5LDcgQEAKIAkucGFyZW50CQk9ICZkcGxsNF9tMngyX2NrLAogCS5pbml0CQk9ICZvbWFwMl9pbml0X2Nsa3NlbF9wYXJlbnQsCiAJLmNsa3NlbF9yZWcJPSBPTUFQX0NNX1JFR0FERFIoUExMX01PRCwgQ01fSURMRVNUKSwKLQkuY2xrc2VsX21hc2sJPSBPTUFQMzQzMF9TVF9QRVJJUEhfQ0xLLAorCS5jbGtzZWxfbWFzawk9IE9NQVAzNDMwX1NUX1BFUklQSF9DTEtfTUFTSywKIAkuY2xrc2VsCQk9IGNtXzk2bV9mY2tfY2xrc2VsLAogCS5mbGFncwkJPSBDTE9DS19JTl9PTUFQMzQzWCB8IFJBVEVfUFJPUEFHQVRFUyB8CiAJCQkJUEFSRU5UX0NPTlRST0xTX0NMT0NLLApAQCAtNjUyLDcgKzcxMSw3IEBACiAJLnBhcmVudAkJPSAmZHBsbDRfbTN4Ml9jaywKIAkuaW5pdAkJPSAmb21hcDJfaW5pdF9jbGtzZWxfcGFyZW50LAogCS5jbGtzZWxfcmVnCT0gT01BUF9DTV9SRUdBRERSKFBMTF9NT0QsIENNX0lETEVTVCksCi0JLmNsa3NlbF9tYXNrCT0gT01BUDM0MzBfU1RfUEVSSVBIX0NMSywKKwkuY2xrc2VsX21hc2sJPSBPTUFQMzQzMF9TVF9QRVJJUEhfQ0xLX01BU0ssCiAJLmNsa3NlbAkJPSB2aXJ0X29tYXBfNTRtX2Zja19jbGtzZWwsCiAJLmZsYWdzCQk9IENMT0NLX0lOX09NQVAzNDNYIHwgUkFURV9QUk9QQUdBVEVTIHwKIAkJCQlQQVJFTlRfQ09OVFJPTFNfQ0xPQ0ssCkBAIC04MDQsMjMgKzg2MywzMyBAQAogLyogU3VwcGxpZXMgMTIwTUh6IGNsb2NrLCBVU0lNIHNvdXJjZSBjbG9jayAqLwogLyogVHlwZTogRFBMTCAqLwogLyogMzQzMEVTMiBvbmx5ICovCi1zdGF0aWMgY29uc3Qgc3RydWN0IGRwbGxfZGF0YSBkcGxsNV9kZCA9IHsKK3N0YXRpYyBzdHJ1Y3QgZHBsbF9kYXRhIGRwbGw1X2RkID0gewogCS5tdWx0X2RpdjFfcmVnCT0gT01BUF9DTV9SRUdBRERSKFBMTF9NT0QsIE9NQVAzNDMwRVMyX0NNX0NMS1NFTDQpLAogCS5tdWx0X21hc2sJPSBPTUFQMzQzMEVTMl9QRVJJUEgyX0RQTExfTVVMVF9NQVNLLAogCS5kaXYxX21hc2sJPSBPTUFQMzQzMEVTMl9QRVJJUEgyX0RQTExfRElWX01BU0ssCiAJLmNvbnRyb2xfcmVnCT0gT01BUF9DTV9SRUdBRERSKFBMTF9NT0QsIE9NQVAzNDMwRVMyX0NNX0NMS0VOMiksCiAJLmVuYWJsZV9tYXNrCT0gT01BUDM0MzBFUzJfRU5fUEVSSVBIMl9EUExMX01BU0ssCisJLm1vZGVzCQk9ICgxIDw8IERQTExfTE9XX1BPV0VSX1NUT1ApIHwgKDEgPDwgRFBMTF9MT0NLRUQpLAogCS5hdXRvX3JlY2FsX2JpdAk9IE9NQVAzNDMwRVMyX0VOX1BFUklQSDJfRFBMTF9EUklGVEdVQVJEX1NISUZULAogCS5yZWNhbF9lbl9iaXQJPSBPTUFQMzQzMEVTMl9TTkRfUEVSSVBIX0RQTExfUkVDQUxfRU5fU0hJRlQsCiAJLnJlY2FsX3N0X2JpdAk9IE9NQVAzNDMwRVMyX1NORF9QRVJJUEhfRFBMTF9TVF9TSElGVCwKKwkuYXV0b2lkbGVfcmVnCT0gT01BUF9DTV9SRUdBRERSKFBMTF9NT0QsIE9NQVAzNDMwRVMyX0NNX0FVVE9JRExFMl9QTEwpLAorCS5hdXRvaWRsZV9tYXNrCT0gT01BUDM0MzBFUzJfQVVUT19QRVJJUEgyX0RQTExfTUFTSywKKwkuaWRsZXN0X3JlZwk9IE9NQVBfQ01fUkVHQUREUihQTExfTU9ELCBDTV9JRExFU1QyKSwKKwkuaWRsZXN0X2JpdAk9IE9NQVAzNDMwRVMyX1NUX1BFUklQSDJfQ0xLX1NISUZULAorCS5tYXhfbXVsdGlwbGllciA9IE9NQVAzX01BWF9EUExMX01VTFQsCisJLm1heF9kaXZpZGVyCT0gT01BUDNfTUFYX0RQTExfRElWLAorCS5yYXRlX3RvbGVyYW5jZSA9IERFRkFVTFRfRFBMTF9SQVRFX1RPTEVSQU5DRQogfTsKIAogc3RhdGljIHN0cnVjdCBjbGsgZHBsbDVfY2sgPSB7CiAJLm5hbWUJCT0gImRwbGw1X2NrIiwKIAkucGFyZW50CQk9ICZzeXNfY2ssCiAJLmRwbGxfZGF0YQk9ICZkcGxsNV9kZCwKLQkuZmxhZ3MJCT0gQ0xPQ0tfSU5fT01BUDM0MzBFUzIgfCBSQVRFX1BST1BBR0FURVMgfAotCQkJCUFMV0FZU19FTkFCTEVELAorCS5mbGFncwkJPSBDTE9DS19JTl9PTUFQMzQzMEVTMiB8IFJBVEVfUFJPUEFHQVRFUywKKwkuZW5hYmxlCQk9ICZvbWFwM19ub25jb3JlX2RwbGxfZW5hYmxlLAorCS5kaXNhYmxlCT0gJm9tYXAzX25vbmNvcmVfZHBsbF9kaXNhYmxlLAorCS5yb3VuZF9yYXRlCT0gJm9tYXAyX2RwbGxfcm91bmRfcmF0ZSwKIAkucmVjYWxjCQk9ICZvbWFwM19kcGxsX3JlY2FsYywKIH07CiAKQEAgLTEzNjUsNyArMTQzNCw4IEBACiB9OwogCiBzdGF0aWMgc3RydWN0IGNsayBtY2JzcDVfZmNrID0gewotCS5uYW1lCQk9ICJtY2JzcDVfZmNrIiwKKwkubmFtZQkJPSAibWNic3BfZmNrIiwKKwkuaWQJCT0gNSwKIAkuaW5pdAkJPSAmb21hcDJfaW5pdF9jbGtzZWxfcGFyZW50LAogCS5lbmFibGVfcmVnCT0gT01BUF9DTV9SRUdBRERSKENPUkVfTU9ELCBDTV9GQ0xLRU4xKSwKIAkuZW5hYmxlX2JpdAk9IE9NQVAzNDMwX0VOX01DQlNQNV9TSElGVCwKQEAgLTEzNzcsNyArMTQ0Nyw4IEBACiB9OwogCiBzdGF0aWMgc3RydWN0IGNsayBtY2JzcDFfZmNrID0gewotCS5uYW1lCQk9ICJtY2JzcDFfZmNrIiwKKwkubmFtZQkJPSAibWNic3BfZmNrIiwKKwkuaWQJCT0gMSwKIAkuaW5pdAkJPSAmb21hcDJfaW5pdF9jbGtzZWxfcGFyZW50LAogCS5lbmFibGVfcmVnCT0gT01BUF9DTV9SRUdBRERSKENPUkVfTU9ELCBDTV9GQ0xLRU4xKSwKIAkuZW5hYmxlX2JpdAk9IE9NQVAzNDMwX0VOX01DQlNQMV9TSElGVCwKQEAgLTE3ODksNyArMTg2MCw4IEBACiB9OwogCiBzdGF0aWMgc3RydWN0IGNsayBtY2JzcDVfaWNrID0gewotCS5uYW1lCQk9ICJtY2JzcDVfaWNrIiwKKwkubmFtZQkJPSAibWNic3BfaWNrIiwKKwkuaWQJCT0gNSwKIAkucGFyZW50CQk9ICZjb3JlX2w0X2ljaywKIAkuZW5hYmxlX3JlZwk9IE9NQVBfQ01fUkVHQUREUihDT1JFX01PRCwgQ01fSUNMS0VOMSksCiAJLmVuYWJsZV9iaXQJPSBPTUFQMzQzMF9FTl9NQ0JTUDVfU0hJRlQsCkBAIC0xNzk4LDcgKzE4NzAsOCBAQAogfTsKIAogc3RhdGljIHN0cnVjdCBjbGsgbWNic3AxX2ljayA9IHsKLQkubmFtZQkJPSAibWNic3AxX2ljayIsCisJLm5hbWUJCT0gIm1jYnNwX2ljayIsCisJLmlkCQk9IDEsCiAJLnBhcmVudAkJPSAmY29yZV9sNF9pY2ssCiAJLmVuYWJsZV9yZWcJPSBPTUFQX0NNX1JFR0FERFIoQ09SRV9NT0QsIENNX0lDTEtFTjEpLAogCS5lbmFibGVfYml0CT0gT01BUDM0MzBfRU5fTUNCU1AxX1NISUZULApAQCAtMTkzNSw3ICsyMDA4LDcgQEAKIAkuZW5hYmxlX3JlZwk9IE9NQVBfQ01fUkVHQUREUihPTUFQMzQzMF9EU1NfTU9ELCBDTV9GQ0xLRU4pLAogCS5lbmFibGVfYml0CT0gT01BUDM0MzBfRU5fRFNTMV9TSElGVCwKIAkuY2xrc2VsX3JlZwk9IE9NQVBfQ01fUkVHQUREUihQTExfTU9ELCBDTV9JRExFU1QpLAotCS5jbGtzZWxfbWFzawk9IE9NQVAzNDMwX1NUX1BFUklQSF9DTEssCisJLmNsa3NlbF9tYXNrCT0gT01BUDM0MzBfU1RfUEVSSVBIX0NMS19NQVNLLAogCS5jbGtzZWwJCT0gZHNzMV9hbHdvbl9mY2tfY2xrc2VsLAogCS5mbGFncwkJPSBDTE9DS19JTl9PTUFQMzQzWCwKIAkucmVjYWxjCQk9ICZvbWFwMl9jbGtzZWxfcmVjYWxjLApAQCAtMTk5MSw3ICsyMDY0LDcgQEAKIAkucGFyZW50CQk9ICZkcGxsNF9tNXgyX2NrLAogCS5pbml0CQk9ICZvbWFwMl9pbml0X2Nsa3NlbF9wYXJlbnQsCiAJLmNsa3NlbF9yZWcJPSBPTUFQX0NNX1JFR0FERFIoUExMX01PRCwgQ01fSURMRVNUKSwKLQkuY2xrc2VsX21hc2sJPSBPTUFQMzQzMF9TVF9QRVJJUEhfQ0xLLAorCS5jbGtzZWxfbWFzawk9IE9NQVAzNDMwX1NUX1BFUklQSF9DTEtfTUFTSywKIAkuY2xrc2VsCQk9IGNhbV9tY2xrX2Nsa3NlbCwKIAkuZW5hYmxlX3JlZwk9IE9NQVBfQ01fUkVHQUREUihPTUFQMzQzMF9DQU1fTU9ELCBDTV9GQ0xLRU4pLAogCS5lbmFibGVfYml0CT0gT01BUDM0MzBfRU5fQ0FNX1NISUZULApAQCAtMjU0MSw3ICsyNjE0LDggQEAKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgY2xrIG1jYnNwMl9pY2sgPSB7Ci0JLm5hbWUJCT0gIm1jYnNwMl9pY2siLAorCS5uYW1lCQk9ICJtY2JzcF9pY2siLAorCS5pZAkJPSAyLAogCS5wYXJlbnQJCT0gJnBlcl9sNF9pY2ssCiAJLmVuYWJsZV9yZWcJPSBPTUFQX0NNX1JFR0FERFIoT01BUDM0MzBfUEVSX01PRCwgQ01fSUNMS0VOKSwKIAkuZW5hYmxlX2JpdAk9IE9NQVAzNDMwX0VOX01DQlNQMl9TSElGVCwKQEAgLTI1NTAsNyArMjYyNCw4IEBACiB9OwogCiBzdGF0aWMgc3RydWN0IGNsayBtY2JzcDNfaWNrID0gewotCS5uYW1lCQk9ICJtY2JzcDNfaWNrIiwKKwkubmFtZQkJPSAibWNic3BfaWNrIiwKKwkuaWQJCT0gMywKIAkucGFyZW50CQk9ICZwZXJfbDRfaWNrLAogCS5lbmFibGVfcmVnCT0gT01BUF9DTV9SRUdBRERSKE9NQVAzNDMwX1BFUl9NT0QsIENNX0lDTEtFTiksCiAJLmVuYWJsZV9iaXQJPSBPTUFQMzQzMF9FTl9NQ0JTUDNfU0hJRlQsCkBAIC0yNTU5LDcgKzI2MzQsOCBAQAogfTsKIAogc3RhdGljIHN0cnVjdCBjbGsgbWNic3A0X2ljayA9IHsKLQkubmFtZQkJPSAibWNic3A0X2ljayIsCisJLm5hbWUJCT0gIm1jYnNwX2ljayIsCisJLmlkCQk9IDQsCiAJLnBhcmVudAkJPSAmcGVyX2w0X2ljaywKIAkuZW5hYmxlX3JlZwk9IE9NQVBfQ01fUkVHQUREUihPTUFQMzQzMF9QRVJfTU9ELCBDTV9JQ0xLRU4pLAogCS5lbmFibGVfYml0CT0gT01BUDM0MzBfRU5fTUNCU1A0X1NISUZULApAQCAtMjU3NCw3ICsyNjUwLDggQEAKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgY2xrIG1jYnNwMl9mY2sgPSB7Ci0JLm5hbWUJCT0gIm1jYnNwMl9mY2siLAorCS5uYW1lCQk9ICJtY2JzcF9mY2siLAorCS5pZAkJPSAyLAogCS5pbml0CQk9ICZvbWFwMl9pbml0X2Nsa3NlbF9wYXJlbnQsCiAJLmVuYWJsZV9yZWcJPSBPTUFQX0NNX1JFR0FERFIoT01BUDM0MzBfUEVSX01PRCwgQ01fRkNMS0VOKSwKIAkuZW5hYmxlX2JpdAk9IE9NQVAzNDMwX0VOX01DQlNQMl9TSElGVCwKQEAgLTI1ODYsNyArMjY2Myw4IEBACiB9OwogCiBzdGF0aWMgc3RydWN0IGNsayBtY2JzcDNfZmNrID0gewotCS5uYW1lCQk9ICJtY2JzcDNfZmNrIiwKKwkubmFtZQkJPSAibWNic3BfZmNrIiwKKwkuaWQJCT0gMywKIAkuaW5pdAkJPSAmb21hcDJfaW5pdF9jbGtzZWxfcGFyZW50LAogCS5lbmFibGVfcmVnCT0gT01BUF9DTV9SRUdBRERSKE9NQVAzNDMwX1BFUl9NT0QsIENNX0ZDTEtFTiksCiAJLmVuYWJsZV9iaXQJPSBPTUFQMzQzMF9FTl9NQ0JTUDNfU0hJRlQsCkBAIC0yNTk4LDcgKzI2NzYsOCBAQAogfTsKIAogc3RhdGljIHN0cnVjdCBjbGsgbWNic3A0X2ZjayA9IHsKLQkubmFtZQkJPSAibWNic3A0X2ZjayIsCisJLm5hbWUJCT0gIm1jYnNwX2ZjayIsCisJLmlkCQk9IDQsCiAJLmluaXQJCT0gJm9tYXAyX2luaXRfY2xrc2VsX3BhcmVudCwKIAkuZW5hYmxlX3JlZwk9IE9NQVBfQ01fUkVHQUREUihPTUFQMzQzMF9QRVJfTU9ELCBDTV9GQ0xLRU4pLAogCS5lbmFibGVfYml0CT0gT01BUDM0MzBfRU5fTUNCU1A0X1NISUZULApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9jbS1yZWdiaXRzLTM0eHguaCBiL2FyY2gvYXJtL21hY2gtb21hcDIvY20tcmVnYml0cy0zNHh4LmgKaW5kZXggM2MzODM5NS4uZWU0YzBjYSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9jbS1yZWdiaXRzLTM0eHguaAorKysgYi9hcmNoL2FybS9tYWNoLW9tYXAyL2NtLXJlZ2JpdHMtMzR4eC5oCkBAIC03Miw3ICs3Miw4IEBACiAjZGVmaW5lIE9NQVAzNDMwX1NUX0lWQTIJCQkJKDEgPDwgMCkKIAogLyogQ01fSURMRVNUX1BMTF9JVkEyICovCi0jZGVmaW5lIE9NQVAzNDMwX1NUX0lWQTJfQ0xLCQkJCSgxIDw8IDApCisjZGVmaW5lIE9NQVAzNDMwX1NUX0lWQTJfQ0xLX1NISUZUCQkJMAorI2RlZmluZSBPTUFQMzQzMF9TVF9JVkEyX0NMS19NQVNLCQkJKDEgPDwgMCkKIAogLyogQ01fQVVUT0lETEVfUExMX0lWQTIgKi8KICNkZWZpbmUgT01BUDM0MzBfQVVUT19JVkEyX0RQTExfU0hJRlQJCQkwCkBAIC0xMTUsMTAgKzExNiw3IEBACiAjZGVmaW5lIE9NQVAzNDMwX1NUX01QVQkJCQkJKDEgPDwgMCkKIAogLyogQ01fSURMRVNUX1BMTF9NUFUgKi8KLSNkZWZpbmUgT01BUDM0MzBfU1RfTVBVX0NMSwkJCQkoMSA8PCAwKQotI2RlZmluZSBPTUFQMzQzMF9TVF9JVkEyX0NMS19NQVNLCQkJKDEgPDwgMCkKLQotLyogQ01fSURMRVNUX1BMTF9NUFUgKi8KKyNkZWZpbmUgT01BUDM0MzBfU1RfTVBVX0NMS19TSElGVAkJCTAKICNkZWZpbmUgT01BUDM0MzBfU1RfTVBVX0NMS19NQVNLCQkJKDEgPDwgMCkKIAogLyogQ01fQVVUT0lETEVfUExMX01QVSAqLwpAQCAtNDA4LDggKzQwNiwxMCBAQAogI2RlZmluZSBPTUFQMzQzMF9TVF8xMk1fQ0xLCQkJCSgxIDw8IDQpCiAjZGVmaW5lIE9NQVAzNDMwX1NUXzQ4TV9DTEsJCQkJKDEgPDwgMykKICNkZWZpbmUgT01BUDM0MzBfU1RfOTZNX0NMSwkJCQkoMSA8PCAyKQotI2RlZmluZSBPTUFQMzQzMF9TVF9QRVJJUEhfQ0xLCQkJCSgxIDw8IDEpCi0jZGVmaW5lIE9NQVAzNDMwX1NUX0NPUkVfQ0xLCQkJCSgxIDw8IDApCisjZGVmaW5lIE9NQVAzNDMwX1NUX1BFUklQSF9DTEtfU0hJRlQJCQkxCisjZGVmaW5lIE9NQVAzNDMwX1NUX1BFUklQSF9DTEtfTUFTSwkJCSgxIDw8IDEpCisjZGVmaW5lIE9NQVAzNDMwX1NUX0NPUkVfQ0xLX1NISUZUCQkJMAorI2RlZmluZSBPTUFQMzQzMF9TVF9DT1JFX0NMS19NQVNLCQkJKDEgPDwgMCkKIAogLyogQ01fSURMRVNUMl9DS0dFTiAqLwogI2RlZmluZSBPTUFQMzQzMEVTMl9TVF8xMjBNX0NMS19TSElGVAkJCTEKQEAgLTQyMyw2ICs0MjMsMTAgQEAKICNkZWZpbmUgT01BUDM0MzBfQVVUT19DT1JFX0RQTExfU0hJRlQJCQkwCiAjZGVmaW5lIE9NQVAzNDMwX0FVVE9fQ09SRV9EUExMX01BU0sJCQkoMHg3IDw8IDApCiAKKy8qIENNX0FVVE9JRExFMl9QTEwgKi8KKyNkZWZpbmUgT01BUDM0MzBFUzJfQVVUT19QRVJJUEgyX0RQTExfU0hJRlQJCTAKKyNkZWZpbmUgT01BUDM0MzBFUzJfQVVUT19QRVJJUEgyX0RQTExfTUFTSwkJKDB4NyA8PCAwKQorCiAvKiBDTV9DTEtTRUwxX1BMTCAqLwogLyogTm90ZSB0aGF0IE9NQVAzNDMwX0NPUkVfRFBMTF9DTEtPVVRfRElWX01BU0sgd2FzICgweDMgPDwgMjcpIG9uIDM0MzBFUzEgKi8KICNkZWZpbmUgT01BUDM0MzBfQ09SRV9EUExMX0NMS09VVF9ESVZfU0hJRlQJCTI3CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9tYXAyL2NtLmggYi9hcmNoL2FybS9tYWNoLW9tYXAyL2NtLmgKaW5kZXggODQ4OWYzMC4uODdhNDRjNyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9jbS5oCisrKyBiL2FyY2gvYXJtL21hY2gtb21hcDIvY20uaApAQCAtODEsNiArODEsNyBAQAogI2RlZmluZSBPTUFQMzQzMEVTMl9DTV9GQ0xLRU4zCQkJCTB4MDAwOAogI2RlZmluZSBPTUFQMzQzMF9DTV9JRExFU1RfUExMCQkJCUNNX0lETEVTVDIKICNkZWZpbmUgT01BUDM0MzBfQ01fQVVUT0lETEVfUExMCQkJQ01fQVVUT0lETEUyCisjZGVmaW5lIE9NQVAzNDMwRVMyX0NNX0FVVE9JRExFMl9QTEwJCQlDTV9BVVRPSURMRTIKICNkZWZpbmUgT01BUDM0MzBfQ01fQ0xLU0VMMQkJCQlDTV9DTEtTRUwKICNkZWZpbmUgT01BUDM0MzBfQ01fQ0xLU0VMMV9QTEwJCQkJQ01fQ0xLU0VMCiAjZGVmaW5lIE9NQVAzNDMwX0NNX0NMS1NFTDJfUExMCQkJCUNNX0NMS1NFTDIKQEAgLTk2LDE1ICs5NywyMSBAQAogLyogQ2xvY2sgbWFuYWdlbWVudCBkb21haW4gcmVnaXN0ZXIgZ2V0L3NldCAqLwogCiAjaWZuZGVmIF9fQVNTRU1CTEVSX18KLXN0YXRpYyBpbmxpbmUgdm9pZCBjbV93cml0ZV9tb2RfcmVnKHUzMiB2YWwsIHMxNiBtb2R1bGUsIHMxNiBpZHgpCisKK2V4dGVybiB1MzIgY21fcmVhZF9tb2RfcmVnKHMxNiBtb2R1bGUsIHUxNiBpZHgpOworZXh0ZXJuIHZvaWQgY21fd3JpdGVfbW9kX3JlZyh1MzIgdmFsLCBzMTYgbW9kdWxlLCB1MTYgaWR4KTsKK2V4dGVybiB1MzIgY21fcm13X21vZF9yZWdfYml0cyh1MzIgbWFzaywgdTMyIGJpdHMsIHMxNiBtb2R1bGUsIHMxNiBpZHgpOworCitzdGF0aWMgaW5saW5lIHUzMiBjbV9zZXRfbW9kX3JlZ19iaXRzKHUzMiBiaXRzLCBzMTYgbW9kdWxlLCBzMTYgaWR4KQogewotCV9fcmF3X3dyaXRlbCh2YWwsIE9NQVBfQ01fUkVHQUREUihtb2R1bGUsIGlkeCkpOworCXJldHVybiBjbV9ybXdfbW9kX3JlZ19iaXRzKGJpdHMsIGJpdHMsIG1vZHVsZSwgaWR4KTsKIH0KIAotc3RhdGljIGlubGluZSB1MzIgY21fcmVhZF9tb2RfcmVnKHMxNiBtb2R1bGUsIHMxNiBpZHgpCitzdGF0aWMgaW5saW5lIHUzMiBjbV9jbGVhcl9tb2RfcmVnX2JpdHModTMyIGJpdHMsIHMxNiBtb2R1bGUsIHMxNiBpZHgpCiB7Ci0JcmV0dXJuIF9fcmF3X3JlYWRsKE9NQVBfQ01fUkVHQUREUihtb2R1bGUsIGlkeCkpOworCXJldHVybiBjbV9ybXdfbW9kX3JlZ19iaXRzKGJpdHMsIDB4MCwgbW9kdWxlLCBpZHgpOwogfQorCiAjZW5kaWYKIAogLyogQ00gcmVnaXN0ZXIgYml0cyBzaGFyZWQgYmV0d2VlbiAyNFhYIGFuZCAzNDMwICovCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9tYXAyL2NvbnRyb2wuYyBiL2FyY2gvYXJtL21hY2gtb21hcDIvY29udHJvbC5jCmluZGV4IGE1ZDg2YTQuLjUxZjcwMzAgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb21hcDIvY29udHJvbC5jCisrKyBiL2FyY2gvYXJtL21hY2gtb21hcDIvY29udHJvbC5jCkBAIC0xMywyMiArMTMsMjEgQEAKICN1bmRlZiBERUJVRwogCiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvaW8uaD4KIAotI2luY2x1ZGUgPGFzbS9pby5oPgotCisjaW5jbHVkZSA8YXNtL2FyY2gvY29tbW9uLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvY29udHJvbC5oPgogCi1zdGF0aWMgdTMyIG9tYXAyX2N0cmxfYmFzZTsKK3N0YXRpYyB2b2lkIF9faW9tZW0gKm9tYXAyX2N0cmxfYmFzZTsKIAotI2RlZmluZSBPTUFQX0NUUkxfUkVHQUREUihyZWcpCSh2b2lkIF9faW9tZW0gKilJT19BRERSRVNTKG9tYXAyX2N0cmxfYmFzZSBcCi0JCQkJCQkJCSsgKHJlZykpCisjZGVmaW5lIE9NQVBfQ1RSTF9SRUdBRERSKHJlZykJCShvbWFwMl9jdHJsX2Jhc2UgKyAocmVnKSkKIAotdm9pZCBvbWFwX2N0cmxfYmFzZV9zZXQodTMyIGJhc2UpCit2b2lkIF9faW5pdCBvbWFwMl9zZXRfZ2xvYmFsc19jb250cm9sKHN0cnVjdCBvbWFwX2dsb2JhbHMgKm9tYXAyX2dsb2JhbHMpCiB7Ci0Jb21hcDJfY3RybF9iYXNlID0gYmFzZTsKKwlvbWFwMl9jdHJsX2Jhc2UgPSBvbWFwMl9nbG9iYWxzLT5jdHJsOwogfQogCi11MzIgb21hcF9jdHJsX2Jhc2VfZ2V0KHZvaWQpCit2b2lkIF9faW9tZW0gKm9tYXBfY3RybF9iYXNlX2dldCh2b2lkKQogewogCXJldHVybiBvbWFwMl9jdHJsX2Jhc2U7CiB9CkBAIC01MCwyNSArNDksMTYgQEAKIAogdm9pZCBvbWFwX2N0cmxfd3JpdGViKHU4IHZhbCwgdTE2IG9mZnNldCkKIHsKLQlwcl9kZWJ1Zygib21hcF9jdHJsX3dyaXRlYjogd3JpdGluZyAweCUweCB0byAweCUweFxuIiwgdmFsLAotCQkgKHUzMilPTUFQX0NUUkxfUkVHQUREUihvZmZzZXQpKTsKLQogCV9fcmF3X3dyaXRlYih2YWwsIE9NQVBfQ1RSTF9SRUdBRERSKG9mZnNldCkpOwogfQogCiB2b2lkIG9tYXBfY3RybF93cml0ZXcodTE2IHZhbCwgdTE2IG9mZnNldCkKIHsKLQlwcl9kZWJ1Zygib21hcF9jdHJsX3dyaXRldzogd3JpdGluZyAweCUweCB0byAweCUweFxuIiwgdmFsLAotCQkgKHUzMilPTUFQX0NUUkxfUkVHQUREUihvZmZzZXQpKTsKLQogCV9fcmF3X3dyaXRldyh2YWwsIE9NQVBfQ1RSTF9SRUdBRERSKG9mZnNldCkpOwogfQogCiB2b2lkIG9tYXBfY3RybF93cml0ZWwodTMyIHZhbCwgdTE2IG9mZnNldCkKIHsKLQlwcl9kZWJ1Zygib21hcF9jdHJsX3dyaXRlbDogd3JpdGluZyAweCUweCB0byAweCUweFxuIiwgdmFsLAotCQkgKHUzMilPTUFQX0NUUkxfUkVHQUREUihvZmZzZXQpKTsKLQogCV9fcmF3X3dyaXRlbCh2YWwsIE9NQVBfQ1RSTF9SRUdBRERSKG9mZnNldCkpOwogfQogCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9tYXAyL2lkLmMgYi9hcmNoL2FybS9tYWNoLW9tYXAyL2lkLmMKaW5kZXggNGRmZDg3OC4uZGZmNGIxNiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9pZC5jCisrKyBiL2FyY2gvYXJtL21hY2gtb21hcDIvaWQuYwpAQCAtMTcsMTYgKzE3LDIzIEBACiAKICNpbmNsdWRlIDxhc20vaW8uaD4KIAotI2lmIGRlZmluZWQoQ09ORklHX0FSQ0hfT01BUDI0MjApCi0jZGVmaW5lIE9NQVAyNFhYX1RBUF9CQVNFCWlvX3AydigweDQ4MDE0MDAwKQotI2VuZGlmCisjaW5jbHVkZSA8YXNtL2FyY2gvY29udHJvbC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2NwdS5oPgogCi0jaWYgZGVmaW5lZChDT05GSUdfQVJDSF9PTUFQMjQzMCkKLSNkZWZpbmUgT01BUDI0WFhfVEFQX0JBU0UJaW9fcDJ2KDB4NDkwMEEwMDApCisjaWYgZGVmaW5lZChDT05GSUdfQVJDSF9PTUFQMjQyMCkKKyNkZWZpbmUgVEFQX0JBU0UJaW9fcDJ2KDB4NDgwMTQwMDApCisjZWxpZiBkZWZpbmVkKENPTkZJR19BUkNIX09NQVAyNDMwKQorI2RlZmluZSBUQVBfQkFTRQlpb19wMnYoMHg0OTAwQTAwMCkKKyNlbGlmIGRlZmluZWQoQ09ORklHX0FSQ0hfT01BUDM0WFgpCisjZGVmaW5lIFRBUF9CQVNFCWlvX3AydigweDQ4MzBBMDAwKQogI2VuZGlmCiAKICNkZWZpbmUgT01BUF9UQVBfSURDT0RFCQkweDAyMDQKKyNpZiBkZWZpbmVkKENPTkZJR19BUkNIX09NQVAzNFhYKQorI2RlZmluZSBPTUFQX1RBUF9QUk9EX0lECTB4MDIxMAorI2Vsc2UKICNkZWZpbmUgT01BUF9UQVBfUFJPRF9JRAkweDAyMDgKKyNlbmRpZgogCiAjZGVmaW5lIE9NQVBfVEFQX0RJRV9JRF8wCTB4MDIxOAogI2RlZmluZSBPTUFQX1RBUF9ESUVfSURfMQkweDAyMUMKQEAgLTU2LDkgKzYzLDEzNCBAQAogCXsgLmhhd2tleWUgPSAweGI2OGEsIC5kZXYgPSAweDAsIC50eXBlID0gMHgyNDMwMDAwMCB9LAogfTsKIAorc3RhdGljIHN0cnVjdCBvbWFwX2NoaXBfaWQgb21hcF9jaGlwOworCisvKioKKyAqIG9tYXBfY2hpcF9pcyAtIHRlc3Qgd2hldGhlciBjdXJyZW50bHkgcnVubmluZyBPTUFQIG1hdGNoZXMgYSBjaGlwIHR5cGUKKyAqIEBvYzogb21hcF9jaGlwX3QgdG8gdGVzdCBhZ2FpbnN0CisgKgorICogVGVzdCB3aGV0aGVyIHRoZSBjdXJyZW50bHktcnVubmluZyBPTUFQIGNoaXAgbWF0Y2hlcyB0aGUgc3VwcGxpZWQKKyAqIGNoaXAgdHlwZSAnb2MnLiAgUmV0dXJucyAxIHVwb24gYSBtYXRjaDsgMCB1cG9uIGZhaWx1cmUuCisgKi8KK2ludCBvbWFwX2NoaXBfaXMoc3RydWN0IG9tYXBfY2hpcF9pZCBvY2kpCit7CisJcmV0dXJuIChvY2kub2MgJiBvbWFwX2NoaXAub2MpID8gMSA6IDA7Cit9CitFWFBPUlRfU1lNQk9MKG9tYXBfY2hpcF9pcyk7CisKIHN0YXRpYyB1MzIgX19pbml0IHJlYWRfdGFwX3JlZyhpbnQgcmVnKQogewotCXJldHVybiBfX3Jhd19yZWFkbChPTUFQMjRYWF9UQVBfQkFTRSArIHJlZyk7CisJdW5zaWduZWQgaW50IHJlZ3ZhbCA9IDA7CisJdTMyIGNwdWlkOworCisJLyogUmVhZGluZyB0aGUgSURDT0RFIHJlZ2lzdGVyIG9uIDM0MzAgRVMxIHJlc3VsdHMgaW4gYQorCSAqIGRhdGEgYWJvcnQgYXMgdGhlIHJlZ2lzdGVyIGlzIG5vdCBleHBvc2VkIG9uIHRoZSBPQ1AKKwkgKiBIZW5jZSByZWFkaW5nIHRoZSBDb3J0ZXggUmV2CisJICovCisJY3B1aWQgPSByZWFkX2NwdWlkKENQVUlEX0lEKTsKKworCS8qIElmIHRoZSBwcm9jZXNzb3IgdHlwZSBpcyBDb3J0ZXgtQTggYW5kIHRoZSByZXZpc2lvbiBpcyAweDAKKwkgKiBpdCBtZWFucyBpdHMgQ29ydGV4IHIwcDAgd2hpY2ggaXMgMzQzMCBFUzEKKwkgKi8KKwlpZiAoKCgoY3B1aWQgPj4gNCkgJiAweEZGRikgPT0gMHhDMDgpICYmICgoY3B1aWQgJiAweEYpID09IDB4MCkpIHsKKwkJc3dpdGNoIChyZWcpIHsKKwkJY2FzZSBPTUFQX1RBUF9JRENPREUgIDogcmVndmFsID0gMHgwQjdBRTAyRjsgYnJlYWs7CisJCS8qIE1ha2luZyBEZXZUeXBlIGFzIDB4RiBpbiBFUzEgdG8gZGlmZmVyIGZyb20gRVMyICovCisJCWNhc2UgT01BUF9UQVBfUFJPRF9JRCA6IHJlZ3ZhbCA9IDB4MDAwRjAwRjA7IGJyZWFrOworCQljYXNlIE9NQVBfVEFQX0RJRV9JRF8wOiByZWd2YWwgPSAweDAxMDAwMDAwOyBicmVhazsKKwkJY2FzZSBPTUFQX1RBUF9ESUVfSURfMTogcmVndmFsID0gMHgxMDEyZDY4NzsgYnJlYWs7CisJCWNhc2UgT01BUF9UQVBfRElFX0lEXzI6CXJlZ3ZhbCA9IDB4MDAwMDAwMDA7IGJyZWFrOworCQljYXNlIE9NQVBfVEFQX0RJRV9JRF8zOglyZWd2YWwgPSAweDJkMmMwMDAwOyBicmVhazsKKwkJfQorCX0gZWxzZQorCQlyZWd2YWwgPSBfX3Jhd19yZWFkbChUQVBfQkFTRSArIHJlZyk7CisKKwlyZXR1cm4gcmVndmFsOworCit9CisKKy8qCisgKiBfc2V0X3N5c3RlbV9yZXYgLSBzZXQgdGhlIHN5c3RlbV9yZXYgZ2xvYmFsIGJhc2VkIG9uIGN1cnJlbnQgT01BUCBjaGlwIHR5cGUKKyAqCisgKiBTZXQgdGhlIHN5c3RlbV9yZXYgZ2xvYmFsLiAgVGhpcyBpcyBwcmltYXJpbHkgdXNlZCBieSB0aGUgY3B1X2lzX29tYXB4eHh4KCkKKyAqIG1hY3Jvcy4KKyAqLworc3RhdGljIHZvaWQgX19pbml0IF9zZXRfc3lzdGVtX3Jldih1MzIgdHlwZSwgdTggcmV2KQoreworCXUzMiBpLCBjdHJsX3N0YXR1czsKKworCS8qCisJICogc3lzdGVtX3JldiBlbmNvZGluZyBpcyBhcyBmb2xsb3dzCisJICogc3lzdGVtX3JldiAmIDB4ZmYwMDAwMDAgLT4gT21hcCBDbGFzcyAoMjR4eC8zNHh4KQorCSAqIHN5c3RlbV9yZXYgJiAweGZmZjAwMDAwIC0+IE9tYXAgU3ViIENsYXNzICgyNDJ4LzM0M3gpCisJICogc3lzdGVtX3JldiAmIDB4ZmZmZjAwMDAgLT4gT21hcCB0eXBlICgyNDIwLzI0MjIvMjQyMy8yNDMwLzM0MzApCisJICogc3lzdGVtX3JldiAmIDB4MDAwMGYwMDAgLT4gU2lsaWNvbiByZXZpc2lvbiAoRVMxLCBFUzIgKQorCSAqIHN5c3RlbV9yZXYgJiAweDAwMDAwNzAwIC0+IERldmljZSBUeXBlICggRU1VL0hTL0dQL0JBRCApCisJICogc3lzdGVtX3JldiAmIDB4MDAwMDAwYzAgLT4gSURDT0RFIHJldmlzaW9uWzY6N10KKwkgKiBzeXN0ZW1fcmV2ICYgMHgwMDAwMDAzZiAtPiBzeXNfYm9vdFswOjVdCisJICovCisJLyogRW1iZWRkaW5nIHRoZSBFUyByZXZpc2lvbiBpbmZvIGluIHR5cGUgZmllbGQgKi8KKwlzeXN0ZW1fcmV2ID0gdHlwZTsKKwkvKiBBbHNvIGFkZCBJRENPREUgcmV2aXNpb24gaW5mbyBvbmx5IHR3byBsb3dlciBiaXRzICovCisJc3lzdGVtX3JldiB8PSAoKHJldiAmIDB4MykgPDwgNik7CisKKwkvKiBBZGQgaW4gdGhlIGRldmljZSB0eXBlIGFuZCBzeXNfYm9vdCBmaWVsZHMgKHNlZSBhYm92ZSkgKi8KKwlpZiAoY3B1X2lzX29tYXAyNHh4KCkpIHsKKwkJaSA9IE9NQVAyNFhYX0NPTlRST0xfU1RBVFVTOworCX0gZWxzZSBpZiAoY3B1X2lzX29tYXAzNDN4KCkpIHsKKwkJaSA9IE9NQVAzNDNYX0NPTlRST0xfU1RBVFVTOworCX0gZWxzZSB7CisJCXByaW50ayhLRVJOX0VSUiAiaWQ6IHVua25vd24gQ1BVIHR5cGVcbiIpOworCQlCVUcoKTsKKwl9CisJY3RybF9zdGF0dXMgPSBvbWFwX2N0cmxfcmVhZGwoaSk7CisJc3lzdGVtX3JldiB8PSAoY3RybF9zdGF0dXMgJiAoT01BUDJfU1lTQk9PVF81X01BU0sgfAorCQkJCSAgICAgIE9NQVAyX1NZU0JPT1RfNF9NQVNLIHwKKwkJCQkgICAgICBPTUFQMl9TWVNCT09UXzNfTUFTSyB8CisJCQkJICAgICAgT01BUDJfU1lTQk9PVF8yX01BU0sgfAorCQkJCSAgICAgIE9NQVAyX1NZU0JPT1RfMV9NQVNLIHwKKwkJCQkgICAgICBPTUFQMl9TWVNCT09UXzBfTUFTSykpOworCXN5c3RlbV9yZXYgfD0gKGN0cmxfc3RhdHVzICYgT01BUDJfREVWSUNFVFlQRV9NQVNLKTsKK30KKworCisvKgorICogX3NldF9vbWFwX2NoaXAgLSBzZXQgdGhlIG9tYXBfY2hpcCBnbG9iYWwgYmFzZWQgb24gT01BUCBjaGlwIHR5cGUKKyAqCisgKiBCdWlsZCB0aGUgb21hcF9jaGlwIGJpdHMuICBUaGlzIHZhcmlhYmxlIGlzIHVzZWQgYnkgcG93ZXJkb21haW4gYW5kCisgKiBjbG9ja2RvbWFpbiBjb2RlIHRvIGluZGljYXRlIHdoZXRoZXIgc3RydWN0dXJlcyBhcmUgYXBwbGljYWJsZSBmb3IKKyAqIHRoZSBjdXJyZW50IE9NQVAgY2hpcCB0eXBlIGJ5IEFORGluZyBpdCBhZ2FpbnN0IGEgJ3BsYXRmb3JtJyBiaXRmaWVsZAorICogaW4gdGhlIHN0cnVjdHVyZS4KKyAqLworc3RhdGljIHZvaWQgX19pbml0IF9zZXRfb21hcF9jaGlwKHZvaWQpCit7CisJaWYgKGNwdV9pc19vbWFwMzQzeCgpKSB7CisKKwkJb21hcF9jaGlwLm9jID0gQ0hJUF9JU19PTUFQMzQzMDsKKwkJaWYgKGlzX3NpbF9yZXZfZXF1YWxfdG8oT01BUDM0MzBfUkVWX0VTMV8wKSkKKwkJCW9tYXBfY2hpcC5vYyB8PSBDSElQX0lTX09NQVAzNDMwRVMxOworCQllbHNlIGlmIChpc19zaWxfcmV2X2dyZWF0ZXJfdGhhbihPTUFQMzQzMF9SRVZfRVMxXzApKQorCQkJb21hcF9jaGlwLm9jIHw9IENISVBfSVNfT01BUDM0MzBFUzI7CisKKwl9IGVsc2UgaWYgKGNwdV9pc19vbWFwMjQzeCgpKSB7CisKKwkJLyogQ3VycmVudGx5IG9ubHkgc3VwcG9ydHMgMjQzMEVTMi4xIGFuZCAyNDMwLWFsbCAqLworCQlvbWFwX2NoaXAub2MgfD0gQ0hJUF9JU19PTUFQMjQzMDsKKworCX0gZWxzZSBpZiAoY3B1X2lzX29tYXAyNDJ4KCkpIHsKKworCQkvKiBDdXJyZW50bHkgb25seSBzdXBwb3J0cyAyNDIwRVMyLjEuMSBhbmQgMjQyMC1hbGwgKi8KKwkJb21hcF9jaGlwLm9jIHw9IENISVBfSVNfT01BUDI0MjA7CisKKwl9IGVsc2UgeworCisJCS8qIEN1cnJlbnQgQ1BVIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBjb2RlLiAqLworCQlwcmludGsoS0VSTl9XQVJOSU5HICJPTUFQIGNoaXAgdHlwZSBjb2RlIGRvZXMgbm90IHlldCBzdXBwb3J0ICIKKwkJICAgICAgICJ0aGlzIENQVSB0eXBlLlxuIik7CisJCVdBUk5fT04oMSk7CisKKwl9CisKIH0KIAogdm9pZCBfX2luaXQgb21hcDJfY2hlY2tfcmV2aXNpb24odm9pZCkKQEAgLTc2LDIxICsyMDgsMzEgQEAKIAlyZXYgPSAoaWRjb2RlID4+IDI4KSAmIDB4MGY7CiAJZGV2X3R5cGUgPSAocHJvZF9pZCA+PiAxNikgJiAweDBmOwogCi0jaWZkZWYgREVCVUcKLQlwcmludGsoS0VSTl9ERUJVRyAiT01BUF9UQVBfSURDT0RFIDB4JTA4eCBSRVYgJWkgSEFXS0VZRSAweCUwNHggTUFORiAlMDN4XG4iLAotCQlpZGNvZGUsIHJldiwgaGF3a2V5ZSwgKGlkY29kZSA+PiAxKSAmIDB4N2ZmKTsKLQlwcmludGsoS0VSTl9ERUJVRyAiT01BUF9UQVBfRElFX0lEXzA6IDB4JTA4eFxuIiwKLQkJcmVhZF90YXBfcmVnKE9NQVBfVEFQX0RJRV9JRF8wKSk7Ci0JcHJpbnRrKEtFUk5fREVCVUcgIk9NQVBfVEFQX0RJRV9JRF8xOiAweCUwOHggREVWX1JFVjogJWlcbiIsCi0JCXJlYWRfdGFwX3JlZyhPTUFQX1RBUF9ESUVfSURfMSksCi0JICAgICAgIChyZWFkX3RhcF9yZWcoT01BUF9UQVBfRElFX0lEXzEpID4+IDI4KSAmIDB4Zik7Ci0JcHJpbnRrKEtFUk5fREVCVUcgIk9NQVBfVEFQX0RJRV9JRF8yOiAweCUwOHhcbiIsCi0JCXJlYWRfdGFwX3JlZyhPTUFQX1RBUF9ESUVfSURfMikpOwotCXByaW50ayhLRVJOX0RFQlVHICJPTUFQX1RBUF9ESUVfSURfMzogMHglMDh4XG4iLAotCQlyZWFkX3RhcF9yZWcoT01BUF9UQVBfRElFX0lEXzMpKTsKLQlwcmludGsoS0VSTl9ERUJVRyAiT01BUF9UQVBfUFJPRF9JRF8wOiAweCUwOHggREVWX1RZUEU6ICVpXG4iLAotCQlwcm9kX2lkLCBkZXZfdHlwZSk7Ci0jZW5kaWYKKwlwcl9kZWJ1ZygiT01BUF9UQVBfSURDT0RFIDB4JTA4eCBSRVYgJWkgSEFXS0VZRSAweCUwNHggTUFORiAlMDN4XG4iLAorCQkgaWRjb2RlLCByZXYsIGhhd2tleWUsIChpZGNvZGUgPj4gMSkgJiAweDdmZik7CisJcHJfZGVidWcoIk9NQVBfVEFQX0RJRV9JRF8wOiAweCUwOHhcbiIsCisJCSByZWFkX3RhcF9yZWcoT01BUF9UQVBfRElFX0lEXzApKTsKKwlwcl9kZWJ1ZygiT01BUF9UQVBfRElFX0lEXzE6IDB4JTA4eCBERVZfUkVWOiAlaVxuIiwKKwkJIHJlYWRfdGFwX3JlZyhPTUFQX1RBUF9ESUVfSURfMSksCisJCSAocmVhZF90YXBfcmVnKE9NQVBfVEFQX0RJRV9JRF8xKSA+PiAyOCkgJiAweGYpOworCXByX2RlYnVnKCJPTUFQX1RBUF9ESUVfSURfMjogMHglMDh4XG4iLAorCQkgcmVhZF90YXBfcmVnKE9NQVBfVEFQX0RJRV9JRF8yKSk7CisJcHJfZGVidWcoIk9NQVBfVEFQX0RJRV9JRF8zOiAweCUwOHhcbiIsCisJCSByZWFkX3RhcF9yZWcoT01BUF9UQVBfRElFX0lEXzMpKTsKKwlwcl9kZWJ1ZygiT01BUF9UQVBfUFJPRF9JRF8wOiAweCUwOHggREVWX1RZUEU6ICVpXG4iLAorCQkgcHJvZF9pZCwgZGV2X3R5cGUpOworCisJLyoKKwkgKiBEZXRlY3Rpb24gZm9yIDM0eHggRVMyLjAgYW5kIGFib3ZlIGNhbiBiZSBkb25lIHdpdGgganVzdAorCSAqIGhhd2tleWUgYW5kIHJldi4gU2VlIFRSTSAxLjUuMiBEZXZpY2UgSWRlbnRpZmljYXRpb24uCisJICogTm90ZSB0aGF0IHJldiBjYW5ub3QgYmUgdXNlZCBkaXJlY3RseSBhcyBFUzEuMCB1c2VzIHZhbHVlIDAuCisJICovCisJaWYgKGhhd2tleWUgPT0gMHhiN2FlKSB7CisJCXN5c3RlbV9yZXYgPSAweDM0MzAwMDAwIHwgKCgxICsgcmV2KSA8PCAxMik7CisJCXByX2luZm8oIk9NQVAlMDR4IEVTMi4laVxuIiwgc3lzdGVtX3JldiA+PiAxNiwgcmV2KTsKKwkJX3NldF9vbWFwX2NoaXAoKTsKKwkJcmV0dXJuOworCX0KIAogCS8qIENoZWNrIGhhd2tleWUgaWRzICovCiAJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUob21hcF9pZHMpOyBpKyspIHsKQEAgLTExNCwxNiArMjU2LDE1IEBACiAJCQkJb21hcF9pZHNbaV0udHlwZSA+PiAxNik7CiAJCWogPSBpOwogCX0KLQlzeXN0ZW1fcmV2ID0gb21hcF9pZHNbal0udHlwZTsKIAotCXN5c3RlbV9yZXYgfD0gcmV2IDw8IDg7CisJX3NldF9zeXN0ZW1fcmV2KG9tYXBfaWRzW2pdLnR5cGUsIHJldik7CiAKLQkvKiBBZGQgdGhlIGNwdSBjbGFzcyBpbmZvICgyNHh4KSAqLwotCXN5c3RlbV9yZXYgfD0gMHgyNDsKKwlfc2V0X29tYXBfY2hpcCgpOwogCiAJcHJfaW5mbygiT01BUCUwNHgiLCBzeXN0ZW1fcmV2ID4+IDE2KTsKIAlpZiAoKHN5c3RlbV9yZXYgPj4gOCkgJiAweDBmKQotCQlwcmludGsoIiV4IiwgKHN5c3RlbV9yZXYgPj4gOCkgJiAweDBmKTsKLQlwcmludGsoIlxuIik7CisJCXByX2luZm8oIkVTJXgiLCAoc3lzdGVtX3JldiA+PiAxMikgJiAweGYpOworCXByX2luZm8oIlxuIik7CisKIH0KIApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9tY2JzcC5jIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9tY2JzcC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE3Y2YxOTkKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW9tYXAyL21jYnNwLmMKQEAgLTAsMCArMSwyMDggQEAKKy8qCisgKiBsaW51eC9hcmNoL2FybS9tYWNoLW9tYXAyL21jYnNwLmMKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggSW5zdGl0dXRvIE5va2lhIGRlIFRlY25vbG9naWEKKyAqIENvbnRhY3Q6IEVkdWFyZG8gVmFsZW50aW4gPGVkdWFyZG8udmFsZW50aW5AaW5kdC5vcmcuYnI+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqCisgKiBNdWx0aWNoYW5uZWwgbW9kZSBub3Qgc3VwcG9ydGVkLgorICovCisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L2Nsay5oPgorI2luY2x1ZGUgPGxpbnV4L2Vyci5oPgorI2luY2x1ZGUgPGxpbnV4L2lvLmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisKKyNpbmNsdWRlIDxhc20vYXJjaC9kbWEuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9tdXguaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9jcHUuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9tY2JzcC5oPgorCitzdHJ1Y3QgbWNic3BfaW50ZXJuYWxfY2xrIHsKKwlzdHJ1Y3QgY2xrIGNsazsKKwlzdHJ1Y3QgY2xrICoqY2hpbGRzOworCWludCBuX2NoaWxkczsKK307CisKKyNpZiBkZWZpbmVkKENPTkZJR19BUkNIX09NQVAyNFhYKSB8fCBkZWZpbmVkKENPTkZJR19BUkNIX09NQVAzNFhYKQorc3RhdGljIHZvaWQgb21hcF9tY2JzcF9jbGtfaW5pdChzdHJ1Y3QgbWNic3BfaW50ZXJuYWxfY2xrICptY2xrKQoreworCWNvbnN0IGNoYXIgKmNsa19uYW1lc1tdID0geyAibWNic3BfaWNrIiwgIm1jYnNwX2ZjayIgfTsKKwlpbnQgaTsKKworCW1jbGstPm5fY2hpbGRzID0gQVJSQVlfU0laRShjbGtfbmFtZXMpOworCW1jbGstPmNoaWxkcyA9IGt6YWxsb2MobWNsay0+bl9jaGlsZHMgKiBzaXplb2Yoc3RydWN0IGNsayAqKSwKKwkJCQlHRlBfS0VSTkVMKTsKKworCWZvciAoaSA9IDA7IGkgPCBtY2xrLT5uX2NoaWxkczsgaSsrKSB7CisJCS8qIFdlIGZha2UgYSBwbGF0Zm9ybSBkZXZpY2UgdG8gZ2V0IGNvcnJlY3QgZGV2aWNlIGlkICovCisJCXN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgcGRldjsKKworCQlwZGV2LmRldi5idXMgPSAmcGxhdGZvcm1fYnVzX3R5cGU7CisJCXBkZXYuaWQgPSBtY2xrLT5jbGsuaWQ7CisJCW1jbGstPmNoaWxkc1tpXSA9IGNsa19nZXQoJnBkZXYuZGV2LCBjbGtfbmFtZXNbaV0pOworCQlpZiAoSVNfRVJSKG1jbGstPmNoaWxkc1tpXSkpCisJCQlwcmludGsoS0VSTl9FUlIgIkNvdWxkIG5vdCBnZXQgY2xvY2sgJXMgKCVkKS5cbiIsCisJCQkJY2xrX25hbWVzW2ldLCBtY2xrLT5jbGsuaWQpOworCX0KK30KKworc3RhdGljIGludCBvbWFwX21jYnNwX2Nsa19lbmFibGUoc3RydWN0IGNsayAqY2xrKQoreworCXN0cnVjdCBtY2JzcF9pbnRlcm5hbF9jbGsgKm1jbGsgPSBjb250YWluZXJfb2YoY2xrLAorCQkJCQlzdHJ1Y3QgbWNic3BfaW50ZXJuYWxfY2xrLCBjbGspOworCWludCBpOworCisJZm9yIChpID0gMDsgaSA8IG1jbGstPm5fY2hpbGRzOyBpKyspCisJCWNsa19lbmFibGUobWNsay0+Y2hpbGRzW2ldKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgb21hcF9tY2JzcF9jbGtfZGlzYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJc3RydWN0IG1jYnNwX2ludGVybmFsX2NsayAqbWNsayA9IGNvbnRhaW5lcl9vZihjbGssCisJCQkJCXN0cnVjdCBtY2JzcF9pbnRlcm5hbF9jbGssIGNsayk7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgbWNsay0+bl9jaGlsZHM7IGkrKykKKwkJY2xrX2Rpc2FibGUobWNsay0+Y2hpbGRzW2ldKTsKK30KKworc3RhdGljIHN0cnVjdCBtY2JzcF9pbnRlcm5hbF9jbGsgb21hcF9tY2JzcF9jbGtzW10gPSB7CisJeworCQkuY2xrID0geworCQkJLm5hbWUgCQk9ICJtY2JzcF9jbGsiLAorCQkJLmlkCQk9IDEsCisJCQkuZW5hYmxlCQk9IG9tYXBfbWNic3BfY2xrX2VuYWJsZSwKKwkJCS5kaXNhYmxlCT0gb21hcF9tY2JzcF9jbGtfZGlzYWJsZSwKKwkJfSwKKwl9LAorCXsKKwkJLmNsayA9IHsKKwkJCS5uYW1lIAkJPSAibWNic3BfY2xrIiwKKwkJCS5pZAkJPSAyLAorCQkJLmVuYWJsZQkJPSBvbWFwX21jYnNwX2Nsa19lbmFibGUsCisJCQkuZGlzYWJsZQk9IG9tYXBfbWNic3BfY2xrX2Rpc2FibGUsCisJCX0sCisJfSwKK307CisKKyNkZWZpbmUgb21hcF9tY2JzcF9jbGtzX3NpemUJQVJSQVlfU0laRShvbWFwX21jYnNwX2Nsa3MpCisjZWxzZQorI2RlZmluZSBvbWFwX21jYnNwX2Nsa3Nfc2l6ZQkwCitzdGF0aWMgc3RydWN0IG1jYnNwX2ludGVybmFsX2NsayBfX2luaXRkYXRhICpvbWFwX21jYnNwX2Nsa3M7CitzdGF0aWMgaW5saW5lIHZvaWQgb21hcF9tY2JzcF9jbGtfaW5pdChzdHJ1Y3QgY2xrICpjbGspCit7IH0KKyNlbmRpZgorCitzdGF0aWMgdm9pZCBvbWFwMl9tY2JzcDJfbXV4X3NldHVwKHZvaWQpCit7CisJb21hcF9jZmdfcmVnKFkxNV8yNFhYX01DQlNQMl9DTEtYKTsKKwlvbWFwX2NmZ19yZWcoUjE0XzI0WFhfTUNCU1AyX0ZTWCk7CisJb21hcF9jZmdfcmVnKFcxNV8yNFhYX01DQlNQMl9EUik7CisJb21hcF9jZmdfcmVnKFYxNV8yNFhYX01DQlNQMl9EWCk7CisJb21hcF9jZmdfcmVnKFYxNF8yNFhYX0dQSU8xMTcpOworCS8qCisJICogVE9ETzogTmVlZCB0byBhZGQgTVVYIHNldHRpbmdzIGZvciBPTUFQIDI0MzAgU0RQCisJICovCit9CisKK3N0YXRpYyB2b2lkIG9tYXAyX21jYnNwX3JlcXVlc3QodW5zaWduZWQgaW50IGlkKQoreworCWlmIChjcHVfaXNfb21hcDI0MjAoKSAmJiAoaWQgPT0gT01BUF9NQ0JTUDIpKQorCQlvbWFwMl9tY2JzcDJfbXV4X3NldHVwKCk7Cit9CisKK3N0YXRpYyBpbnQgb21hcDJfbWNic3BfY2hlY2sodW5zaWduZWQgaW50IGlkKQoreworCWlmIChpZCA+IE9NQVBfTUFYX01DQlNQX0NPVU5UIC0gMSkgeworCQlwcmludGsoS0VSTl9FUlIgIk9NQVAtTWNCU1A6IE1jQlNQJWQgZG9lc24ndCBleGlzdFxuIiwgaWQgKyAxKTsKKwkJcmV0dXJuIC1FTk9ERVY7CisJfQorCXJldHVybiAwOworfQorCitzdGF0aWMgc3RydWN0IG9tYXBfbWNic3Bfb3BzIG9tYXAyX21jYnNwX29wcyA9IHsKKwkucmVxdWVzdAk9IG9tYXAyX21jYnNwX3JlcXVlc3QsCisJLmNoZWNrCQk9IG9tYXAyX21jYnNwX2NoZWNrLAorfTsKKworI2lmZGVmIENPTkZJR19BUkNIX09NQVAyNFhYCitzdGF0aWMgc3RydWN0IG9tYXBfbWNic3BfcGxhdGZvcm1fZGF0YSBvbWFwMjR4eF9tY2JzcF9wZGF0YVtdID0geworCXsKKwkJLnZpcnRfYmFzZQk9IElPX0FERFJFU1MoT01BUDI0WFhfTUNCU1AxX0JBU0UpLAorCQkuZG1hX3J4X3N5bmMJPSBPTUFQMjRYWF9ETUFfTUNCU1AxX1JYLAorCQkuZG1hX3R4X3N5bmMJPSBPTUFQMjRYWF9ETUFfTUNCU1AxX1RYLAorCQkucnhfaXJxCQk9IElOVF8yNFhYX01DQlNQMV9JUlFfUlgsCisJCS50eF9pcnEJCT0gSU5UXzI0WFhfTUNCU1AxX0lSUV9UWCwKKwkJLm9wcwkJPSAmb21hcDJfbWNic3Bfb3BzLAorCQkuY2xrX25hbWUJPSAibWNic3BfY2xrIiwKKwl9LAorCXsKKwkJLnZpcnRfYmFzZQk9IElPX0FERFJFU1MoT01BUDI0WFhfTUNCU1AyX0JBU0UpLAorCQkuZG1hX3J4X3N5bmMJPSBPTUFQMjRYWF9ETUFfTUNCU1AyX1JYLAorCQkuZG1hX3R4X3N5bmMJPSBPTUFQMjRYWF9ETUFfTUNCU1AyX1RYLAorCQkucnhfaXJxCQk9IElOVF8yNFhYX01DQlNQMl9JUlFfUlgsCisJCS50eF9pcnEJCT0gSU5UXzI0WFhfTUNCU1AyX0lSUV9UWCwKKwkJLm9wcwkJPSAmb21hcDJfbWNic3Bfb3BzLAorCQkuY2xrX25hbWUJPSAibWNic3BfY2xrIiwKKwl9LAorfTsKKyNkZWZpbmUgT01BUDI0WFhfTUNCU1BfUERBVEFfU1oJCUFSUkFZX1NJWkUob21hcDI0eHhfbWNic3BfcGRhdGEpCisjZWxzZQorI2RlZmluZSBvbWFwMjR4eF9tY2JzcF9wZGF0YQkJTlVMTAorI2RlZmluZSBPTUFQMjRYWF9NQ0JTUF9QREFUQV9TWgkJMAorI2VuZGlmCisKKyNpZmRlZiBDT05GSUdfQVJDSF9PTUFQMzRYWAorc3RhdGljIHN0cnVjdCBvbWFwX21jYnNwX3BsYXRmb3JtX2RhdGEgb21hcDM0eHhfbWNic3BfcGRhdGFbXSA9IHsKKwl7CisJCS52aXJ0X2Jhc2UJPSBJT19BRERSRVNTKE9NQVAzNFhYX01DQlNQMV9CQVNFKSwKKwkJLmRtYV9yeF9zeW5jCT0gT01BUDI0WFhfRE1BX01DQlNQMV9SWCwKKwkJLmRtYV90eF9zeW5jCT0gT01BUDI0WFhfRE1BX01DQlNQMV9UWCwKKwkJLnJ4X2lycQkJPSBJTlRfMjRYWF9NQ0JTUDFfSVJRX1JYLAorCQkudHhfaXJxCQk9IElOVF8yNFhYX01DQlNQMV9JUlFfVFgsCisJCS5vcHMJCT0gJm9tYXAyX21jYnNwX29wcywKKwkJLmNsa19uYW1lCT0gIm1jYnNwX2NsayIsCisJfSwKKwl7CisJCS52aXJ0X2Jhc2UJPSBJT19BRERSRVNTKE9NQVAzNFhYX01DQlNQMl9CQVNFKSwKKwkJLmRtYV9yeF9zeW5jCT0gT01BUDI0WFhfRE1BX01DQlNQMl9SWCwKKwkJLmRtYV90eF9zeW5jCT0gT01BUDI0WFhfRE1BX01DQlNQMl9UWCwKKwkJLnJ4X2lycQkJPSBJTlRfMjRYWF9NQ0JTUDJfSVJRX1JYLAorCQkudHhfaXJxCQk9IElOVF8yNFhYX01DQlNQMl9JUlFfVFgsCisJCS5vcHMJCT0gJm9tYXAyX21jYnNwX29wcywKKwkJLmNsa19uYW1lCT0gIm1jYnNwX2NsayIsCisJfSwKK307CisjZGVmaW5lIE9NQVAzNFhYX01DQlNQX1BEQVRBX1NaCQlBUlJBWV9TSVpFKG9tYXAzNHh4X21jYnNwX3BkYXRhKQorI2Vsc2UKKyNkZWZpbmUgb21hcDM0eHhfbWNic3BfcGRhdGEJCU5VTEwKKyNkZWZpbmUgT01BUDM0WFhfTUNCU1BfUERBVEFfU1oJCTAKKyNlbmRpZgorCitpbnQgX19pbml0IG9tYXAyX21jYnNwX2luaXQodm9pZCkKK3sKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCBvbWFwX21jYnNwX2Nsa3Nfc2l6ZTsgaSsrKSB7CisJCS8qIE9uY2Ugd2UgY2FsbCBjbGtfZ2V0IGluc2lkZSBpbml0LCB3ZSBkbyBub3QgcmVnaXN0ZXIgaXQgKi8KKwkJb21hcF9tY2JzcF9jbGtfaW5pdCgmb21hcF9tY2JzcF9jbGtzW2ldKTsKKwkJY2xrX3JlZ2lzdGVyKCZvbWFwX21jYnNwX2Nsa3NbaV0uY2xrKTsKKwl9CisKKwlpZiAoY3B1X2lzX29tYXAyNHh4KCkpCisJCW9tYXBfbWNic3BfcmVnaXN0ZXJfYm9hcmRfY2ZnKG9tYXAyNHh4X21jYnNwX3BkYXRhLAorCQkJCQkJT01BUDI0WFhfTUNCU1BfUERBVEFfU1opOworCisJaWYgKGNwdV9pc19vbWFwMzR4eCgpKQorCQlvbWFwX21jYnNwX3JlZ2lzdGVyX2JvYXJkX2NmZyhvbWFwMzR4eF9tY2JzcF9wZGF0YSwKKwkJCQkJCU9NQVAzNFhYX01DQlNQX1BEQVRBX1NaKTsKKworCXJldHVybiBvbWFwX21jYnNwX2luaXQoKTsKK30KK2FyY2hfaW5pdGNhbGwob21hcDJfbWNic3BfaW5pdCk7CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9tYXAyL21lbW9yeS5jIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9tZW1vcnkuYwppbmRleCAxMjQ3OTA4Li43M2NhZGIyIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9tYXAyL21lbW9yeS5jCisrKyBiL2FyY2gvYXJtL21hY2gtb21hcDIvbWVtb3J5LmMKQEAgLTI0LDYgKzI0LDcgQEAKIAogI2luY2x1ZGUgPGFzbS9pby5oPgogCisjaW5jbHVkZSA8YXNtL2FyY2gvY29tbW9uLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvY2xvY2suaD4KICNpbmNsdWRlIDxhc20vYXJjaC9zcmFtLmg+CiAKQEAgLTMyLDggKzMzLDggQEAKICNpbmNsdWRlICJtZW1vcnkuaCIKICNpbmNsdWRlICJzZHJjLmgiCiAKLXVuc2lnbmVkIGxvbmcgb21hcDJfc2RyY19iYXNlOwotdW5zaWduZWQgbG9uZyBvbWFwMl9zbXNfYmFzZTsKK3ZvaWQgX19pb21lbSAqb21hcDJfc2RyY19iYXNlOwordm9pZCBfX2lvbWVtICpvbWFwMl9zbXNfYmFzZTsKIAogc3RhdGljIHN0cnVjdCBtZW1vcnlfdGltaW5ncyBtZW1fdGltaW5nczsKIHN0YXRpYyB1MzIgY3Vycl9wZXJmX2xldmVsID0gQ09SRV9DTEtfU1JDX0RQTExfWDI7CkBAIC0xNTQsNiArMTU1LDEyIEBACiAJbWVtX3RpbWluZ3Muc2xvd19kbGxfY3RybCB8PSAoKDEgPDwgMSkgfCAoMyA8PCA4KSk7CiB9CiAKK3ZvaWQgX19pbml0IG9tYXAyX3NldF9nbG9iYWxzX21lbW9yeShzdHJ1Y3Qgb21hcF9nbG9iYWxzICpvbWFwMl9nbG9iYWxzKQoreworCW9tYXAyX3NkcmNfYmFzZSA9IG9tYXAyX2dsb2JhbHMtPnNkcmM7CisJb21hcDJfc21zX2Jhc2UgPSBvbWFwMl9nbG9iYWxzLT5zbXM7Cit9CisKIC8qIHR1cm4gb24gc21hcnQgaWRsZSBtb2RlcyBmb3IgU0RSQU0gc2NoZWR1bGVyIGFuZCBjb250cm9sbGVyICovCiB2b2lkIF9faW5pdCBvbWFwMl9pbml0X21lbW9yeSh2b2lkKQogewpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9tdXguYyBiL2FyY2gvYXJtL21hY2gtb21hcDIvbXV4LmMKaW5kZXggOTMwNzcwMC4uOGY5OGIyMCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9tdXguYworKysgYi9hcmNoL2FybS9tYWNoLW9tYXAyL211eC5jCkBAIC0yMzYsNyArMjM2LDcgQEAKIAl3YXJuID0gKG9yaWcgIT0gcmVnKTsKIAlpZiAoZGVidWcgfHwgd2FybikKIAkJcHJpbnRrKEtFUk5fV0FSTklORwotCQkJIk1VWDogc2V0dXAgJXMgKDB4JTA4eCk6IDB4JTAyeCAtPiAweCUwMnhcbiIsCisJCQkiTVVYOiBzZXR1cCAlcyAoMHglcCk6IDB4JTA0eCAtPiAweCUwNHhcbiIsCiAJCQljZmctPm5hbWUsIG9tYXBfY3RybF9iYXNlX2dldCgpICsgY2ZnLT5tdXhfcmVnLAogCQkJb3JpZywgcmVnKTsKIH0KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDIvcG0uYyBiL2FyY2gvYXJtL21hY2gtb21hcDIvcG0uYwppbmRleCBhYWQ3ODFkLi5kNmM5ZGU4IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9tYXAyL3BtLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9wbS5jCkBAIC01NywxMyArNTcsNiBAQAogCQlyZXR1cm47CiAJfQogCi0JLyoKLQkgKiBTaW5jZSBhbiBpbnRlcnJ1cHQgbWF5IHNldCB1cCBhIHRpbWVyLCB3ZSBkb24ndCB3YW50IHRvCi0JICogcmVwcm9ncmFtIHRoZSBoYXJkd2FyZSB0aW1lciB3aXRoIGludGVycnVwdHMgZW5hYmxlZC4KLQkgKiBSZS1lbmFibGUgaW50ZXJydXB0cyBvbmx5IGFmdGVyIHJldHVybmluZyBmcm9tIGlkbGUuCi0JICovCi0JdGltZXJfZHluX3JlcHJvZ3JhbSgpOwotCiAJb21hcDJfc3JhbV9pZGxlKCk7CiAJbG9jYWxfZmlxX2VuYWJsZSgpOwogCWxvY2FsX2lycV9lbmFibGUoKTsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDIvcHJjbS1jb21tb24uaCBiL2FyY2gvYXJtL21hY2gtb21hcDIvcHJjbS1jb21tb24uaAppbmRleCBjYWNiMzQwLi41NGMzMmY0IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9tYXAyL3ByY20tY29tbW9uLmgKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9wcmNtLWNvbW1vbi5oCkBAIC0zMiw2ICszMiw3IEBACiAKIAogLyogQ2hpcC1zcGVjaWZpYyBtb2R1bGUgb2Zmc2V0cyAqLworI2RlZmluZSBPTUFQMjRYWF9HUl9NT0QJCQkJCU9DUF9NT0QKICNkZWZpbmUgT01BUDI0WFhfRFNQX01PRAkJCQkweDgwMAogCiAjZGVmaW5lIE9NQVAyNDMwX01ETV9NT0QJCQkJMHhjMDAKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDIvcHJjbS5jIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9wcmNtLmMKaW5kZXggYjEyZjQyMy4uZmQ5MmE4MCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9wcmNtLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9wcmNtLmMKQEAgLTE2LDE2ICsxNiwyMSBAQAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9jbGsuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgogCi0jaW5jbHVkZSA8YXNtL2lvLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvY29tbW9uLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvcHJjbS5oPgogCisjaW5jbHVkZSAiY2xvY2suaCIKICNpbmNsdWRlICJwcm0uaCIKICNpbmNsdWRlICJwcm0tcmVnYml0cy0yNHh4LmgiCiAKLWV4dGVybiB2b2lkIG9tYXAyX2Nsa19wcmVwYXJlX2Zvcl9yZWJvb3Qodm9pZCk7CitzdGF0aWMgdm9pZCBfX2lvbWVtICpwcm1fYmFzZTsKK3N0YXRpYyB2b2lkIF9faW9tZW0gKmNtX2Jhc2U7CiAKIHUzMiBvbWFwX3ByY21fZ2V0X3Jlc2V0X3NvdXJjZXModm9pZCkKIHsKKwkvKiBYWFggVGhpcyBwcmVzdW1hYmx5IG5lZWRzIG1vZGlmaWNhdGlvbiBmb3IgMzRYWCAqLwogCXJldHVybiBwcm1fcmVhZF9tb2RfcmVnKFdLVVBfTU9ELCBSTV9SU1RTVCkgJiAweDdmOwogfQogRVhQT1JUX1NZTUJPTChvbWFwX3ByY21fZ2V0X3Jlc2V0X3NvdXJjZXMpOwpAQCAtMzMsMTEgKzM4LDkwIEBACiAvKiBSZXNldHMgY2xvY2sgcmF0ZXMgYW5kIHJlYm9vdHMgdGhlIHN5c3RlbS4gT25seSBjYWxsZWQgZnJvbSBzeXN0ZW0uaCAqLwogdm9pZCBvbWFwX3ByY21fYXJjaF9yZXNldChjaGFyIG1vZGUpCiB7Ci0JdTMyIHdrdXA7CisJczE2IHByY21fb2ZmczsKIAlvbWFwMl9jbGtfcHJlcGFyZV9mb3JfcmVib290KCk7CiAKLQlpZiAoY3B1X2lzX29tYXAyNHh4KCkpIHsKLQkJd2t1cCA9IHBybV9yZWFkX21vZF9yZWcoV0tVUF9NT0QsIFJNX1JTVENUUkwpIHwgT01BUF9SU1RfRFBMTDM7Ci0JCXBybV93cml0ZV9tb2RfcmVnKHdrdXAsIFdLVVBfTU9ELCBSTV9SU1RDVFJMKTsKLQl9CisJaWYgKGNwdV9pc19vbWFwMjR4eCgpKQorCQlwcmNtX29mZnMgPSBXS1VQX01PRDsKKwllbHNlIGlmIChjcHVfaXNfb21hcDM0eHgoKSkKKwkJcHJjbV9vZmZzID0gT01BUDM0MzBfR1JfTU9EOworCWVsc2UKKwkJV0FSTl9PTigxKTsKKworCXBybV9zZXRfbW9kX3JlZ19iaXRzKE9NQVBfUlNUX0RQTEwzLCBwcmNtX29mZnMsIFJNX1JTVENUUkwpOworfQorCitzdGF0aWMgaW5saW5lIHUzMiBfX29tYXBfcHJjbV9yZWFkKHZvaWQgX19pb21lbSAqYmFzZSwgczE2IG1vZHVsZSwgdTE2IHJlZykKK3sKKwlCVUdfT04oIWJhc2UpOworCXJldHVybiBfX3Jhd19yZWFkbChiYXNlICsgbW9kdWxlICsgcmVnKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIF9fb21hcF9wcmNtX3dyaXRlKHUzMiB2YWx1ZSwgdm9pZCBfX2lvbWVtICpiYXNlLAorCQkJCQkJczE2IG1vZHVsZSwgdTE2IHJlZykKK3sKKwlCVUdfT04oIWJhc2UpOworCV9fcmF3X3dyaXRlbCh2YWx1ZSwgYmFzZSArIG1vZHVsZSArIHJlZyk7Cit9CisKKy8qIFJlYWQgYSByZWdpc3RlciBpbiBhIFBSTSBtb2R1bGUgKi8KK3UzMiBwcm1fcmVhZF9tb2RfcmVnKHMxNiBtb2R1bGUsIHUxNiBpZHgpCit7CisJcmV0dXJuIF9fb21hcF9wcmNtX3JlYWQocHJtX2Jhc2UsIG1vZHVsZSwgaWR4KTsKK30KK0VYUE9SVF9TWU1CT0wocHJtX3JlYWRfbW9kX3JlZyk7CisKKy8qIFdyaXRlIGludG8gYSByZWdpc3RlciBpbiBhIFBSTSBtb2R1bGUgKi8KK3ZvaWQgcHJtX3dyaXRlX21vZF9yZWcodTMyIHZhbCwgczE2IG1vZHVsZSwgdTE2IGlkeCkKK3sKKwlfX29tYXBfcHJjbV93cml0ZSh2YWwsIHBybV9iYXNlLCBtb2R1bGUsIGlkeCk7Cit9CitFWFBPUlRfU1lNQk9MKHBybV93cml0ZV9tb2RfcmVnKTsKKworLyogUmVhZC1tb2RpZnktd3JpdGUgYSByZWdpc3RlciBpbiBhIFBSTSBtb2R1bGUuIENhbGxlciBtdXN0IGxvY2sgKi8KK3UzMiBwcm1fcm13X21vZF9yZWdfYml0cyh1MzIgbWFzaywgdTMyIGJpdHMsIHMxNiBtb2R1bGUsIHMxNiBpZHgpCit7CisJdTMyIHY7CisKKwl2ID0gcHJtX3JlYWRfbW9kX3JlZyhtb2R1bGUsIGlkeCk7CisJdiAmPSB+bWFzazsKKwl2IHw9IGJpdHM7CisJcHJtX3dyaXRlX21vZF9yZWcodiwgbW9kdWxlLCBpZHgpOworCisJcmV0dXJuIHY7Cit9CitFWFBPUlRfU1lNQk9MKHBybV9ybXdfbW9kX3JlZ19iaXRzKTsKKworLyogUmVhZCBhIHJlZ2lzdGVyIGluIGEgQ00gbW9kdWxlICovCit1MzIgY21fcmVhZF9tb2RfcmVnKHMxNiBtb2R1bGUsIHUxNiBpZHgpCit7CisJcmV0dXJuIF9fb21hcF9wcmNtX3JlYWQoY21fYmFzZSwgbW9kdWxlLCBpZHgpOworfQorRVhQT1JUX1NZTUJPTChjbV9yZWFkX21vZF9yZWcpOworCisvKiBXcml0ZSBpbnRvIGEgcmVnaXN0ZXIgaW4gYSBDTSBtb2R1bGUgKi8KK3ZvaWQgY21fd3JpdGVfbW9kX3JlZyh1MzIgdmFsLCBzMTYgbW9kdWxlLCB1MTYgaWR4KQoreworCV9fb21hcF9wcmNtX3dyaXRlKHZhbCwgY21fYmFzZSwgbW9kdWxlLCBpZHgpOworfQorRVhQT1JUX1NZTUJPTChjbV93cml0ZV9tb2RfcmVnKTsKKworLyogUmVhZC1tb2RpZnktd3JpdGUgYSByZWdpc3RlciBpbiBhIENNIG1vZHVsZS4gQ2FsbGVyIG11c3QgbG9jayAqLwordTMyIGNtX3Jtd19tb2RfcmVnX2JpdHModTMyIG1hc2ssIHUzMiBiaXRzLCBzMTYgbW9kdWxlLCBzMTYgaWR4KQoreworCXUzMiB2OworCisJdiA9IGNtX3JlYWRfbW9kX3JlZyhtb2R1bGUsIGlkeCk7CisJdiAmPSB+bWFzazsKKwl2IHw9IGJpdHM7CisJY21fd3JpdGVfbW9kX3JlZyh2LCBtb2R1bGUsIGlkeCk7CisKKwlyZXR1cm4gdjsKK30KK0VYUE9SVF9TWU1CT0woY21fcm13X21vZF9yZWdfYml0cyk7CisKK3ZvaWQgX19pbml0IG9tYXAyX3NldF9nbG9iYWxzX3ByY20oc3RydWN0IG9tYXBfZ2xvYmFscyAqb21hcDJfZ2xvYmFscykKK3sKKwlwcm1fYmFzZSA9IG9tYXAyX2dsb2JhbHMtPnBybTsKKwljbV9iYXNlID0gb21hcDJfZ2xvYmFscy0+Y207CiB9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9tYXAyL3BybS5oIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9wcm0uaAppbmRleCA2MThmODExLi5iYmY0MWZjIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9tYXAyL3BybS5oCisrKyBiL2FyY2gvYXJtL21hY2gtb21hcDIvcHJtLmgKQEAgLTM4LDEzICszOCwyOSBAQAogICoKICAqLwogCisvKiBHbG9iYWwgMjR4eCByZWdpc3RlcnMgaW4gR1JfTU9EIChTYW1lIGFzIE9DUF9NT0QgZm9yIDI0eHgpICovCisjZGVmaW5lIE9NQVAyNFhYX1BSQ01fVk9MVENUUkxfT0ZGU0VUCQkweDAwNTAKKyNkZWZpbmUgT01BUDI0WFhfUFJDTV9DTEtDRkdfQ1RSTF9PRkZTRVQJMHgwMDgwCisKKy8qIDI0MnggR1JfTU9EIHJlZ2lzdGVycywgdXNlIHRoZXNlIG9ubHkgZm9yIGFzc2VtYmx5IGNvZGUgKi8KKyNkZWZpbmUgT01BUDI0MlhfUFJDTV9WT0xUQ1RSTAkJT01BUDI0MjBfUFJNX1JFR0FERFIoT01BUDI0WFhfR1JfTU9ELAlcCisJCQkJCQlPTUFQMjRYWF9QUkNNX1ZPTFRDVFJMX09GRlNFVCkKKyNkZWZpbmUgT01BUDI0MlhfUFJDTV9DTEtDRkdfQ1RSTAlPTUFQMjQyMF9QUk1fUkVHQUREUihPTUFQMjRYWF9HUl9NT0QsCVwKKwkJCQkJCU9NQVAyNFhYX1BSQ01fQ0xLQ0ZHX0NUUkxfT0ZGU0VUKQorCisvKiAyNDN4IEdSX01PRCByZWdpc3RlcnMsIHVzZSB0aGVzZSBvbmx5IGZvciBhc3NlbWJseSBjb2RlICovCisjZGVmaW5lIE9NQVAyNDNYX1BSQ01fVk9MVENUUkwJCU9NQVAyNDMwX1BSTV9SRUdBRERSKE9NQVAyNFhYX0dSX01PRCwJXAorCQkJCQkJT01BUDI0WFhfUFJDTV9WT0xUQ1RSTF9PRkZTRVQpCisjZGVmaW5lIE9NQVAyNDNYX1BSQ01fQ0xLQ0ZHX0NUUkwJT01BUDI0MzBfUFJNX1JFR0FERFIoT01BUDI0WFhfR1JfTU9ELAlcCisJCQkJCQlPTUFQMjRYWF9QUkNNX0NMS0NGR19DVFJMX09GRlNFVCkKKworLyogVGhlc2Ugd2lsbCBkaXNhcHBlYXIgKi8KICNkZWZpbmUgT01BUDI0WFhfUFJDTV9SRVZJU0lPTgkJT01BUF9QUk1fUkVHQUREUihPQ1BfTU9ELCAweDAwMDApCiAjZGVmaW5lIE9NQVAyNFhYX1BSQ01fU1lTQ09ORklHCQlPTUFQX1BSTV9SRUdBRERSKE9DUF9NT0QsIDB4MDAxMCkKIAogI2RlZmluZSBPTUFQMjRYWF9QUkNNX0lSUVNUQVRVU19NUFUJT01BUF9QUk1fUkVHQUREUihPQ1BfTU9ELCAweDAwMTgpCiAjZGVmaW5lIE9NQVAyNFhYX1BSQ01fSVJRRU5BQkxFX01QVQlPTUFQX1BSTV9SRUdBRERSKE9DUF9NT0QsIDB4MDAxYykKIAotI2RlZmluZSBPTUFQMjRYWF9QUkNNX1ZPTFRDVFJMCQlPTUFQX1BSTV9SRUdBRERSKE9DUF9NT0QsIDB4MDA1MCkKICNkZWZpbmUgT01BUDI0WFhfUFJDTV9WT0xUU1QJCU9NQVBfUFJNX1JFR0FERFIoT0NQX01PRCwgMHgwMDU0KQogI2RlZmluZSBPTUFQMjRYWF9QUkNNX0NMS1NSQ19DVFJMCU9NQVBfUFJNX1JFR0FERFIoT0NQX01PRCwgMHgwMDYwKQogI2RlZmluZSBPTUFQMjRYWF9QUkNNX0NMS09VVF9DVFJMCU9NQVBfUFJNX1JFR0FERFIoT0NQX01PRCwgMHgwMDcwKQpAQCAtMTUwLDE1ICsxNjYsMTkgQEAKICNpZm5kZWYgX19BU1NFTUJMRVJfXwogCiAvKiBQb3dlci9yZXNldCBtYW5hZ2VtZW50IGRvbWFpbiByZWdpc3RlciBnZXQvc2V0ICovCitleHRlcm4gdTMyIHBybV9yZWFkX21vZF9yZWcoczE2IG1vZHVsZSwgdTE2IGlkeCk7CitleHRlcm4gdm9pZCBwcm1fd3JpdGVfbW9kX3JlZyh1MzIgdmFsLCBzMTYgbW9kdWxlLCB1MTYgaWR4KTsKK2V4dGVybiB1MzIgcHJtX3Jtd19tb2RfcmVnX2JpdHModTMyIG1hc2ssIHUzMiBiaXRzLCBzMTYgbW9kdWxlLCBzMTYgaWR4KTsKIAotc3RhdGljIGlubGluZSB2b2lkIHBybV93cml0ZV9tb2RfcmVnKHUzMiB2YWwsIHMxNiBtb2R1bGUsIHMxNiBpZHgpCisvKiBSZWFkLW1vZGlmeS13cml0ZSBiaXRzIGluIGEgUFJNIHJlZ2lzdGVyIChieSBkb21haW4pICovCitzdGF0aWMgaW5saW5lIHUzMiBwcm1fc2V0X21vZF9yZWdfYml0cyh1MzIgYml0cywgczE2IG1vZHVsZSwgczE2IGlkeCkKIHsKLQlfX3Jhd193cml0ZWwodmFsLCBPTUFQX1BSTV9SRUdBRERSKG1vZHVsZSwgaWR4KSk7CisJcmV0dXJuIHBybV9ybXdfbW9kX3JlZ19iaXRzKGJpdHMsIGJpdHMsIG1vZHVsZSwgaWR4KTsKIH0KIAotc3RhdGljIGlubGluZSB1MzIgcHJtX3JlYWRfbW9kX3JlZyhzMTYgbW9kdWxlLCBzMTYgaWR4KQorc3RhdGljIGlubGluZSB1MzIgcHJtX2NsZWFyX21vZF9yZWdfYml0cyh1MzIgYml0cywgczE2IG1vZHVsZSwgczE2IGlkeCkKIHsKLQlyZXR1cm4gX19yYXdfcmVhZGwoT01BUF9QUk1fUkVHQUREUihtb2R1bGUsIGlkeCkpOworCXJldHVybiBwcm1fcm13X21vZF9yZWdfYml0cyhiaXRzLCAweDAsIG1vZHVsZSwgaWR4KTsKIH0KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9tYXAyL3NkcmMuaCBiL2FyY2gvYXJtL21hY2gtb21hcDIvc2RyYy5oCmluZGV4IGQ3ZjIzYmMuLjFiMWZlNGYgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb21hcDIvc2RyYy5oCisrKyBiL2FyY2gvYXJtL21hY2gtb21hcDIvc2RyYy5oCkBAIC0xOCwxMyArMTgsMTEgQEAKICNpbmNsdWRlIDxhc20vYXJjaC9zZHJjLmg+CiAKICNpZm5kZWYgX19BU1NFTUJMRVJfXwotZXh0ZXJuIHVuc2lnbmVkIGxvbmcgb21hcDJfc2RyY19iYXNlOwotZXh0ZXJuIHVuc2lnbmVkIGxvbmcgb21hcDJfc21zX2Jhc2U7CitleHRlcm4gdm9pZCBfX2lvbWVtICpvbWFwMl9zZHJjX2Jhc2U7CitleHRlcm4gdm9pZCBfX2lvbWVtICpvbWFwMl9zbXNfYmFzZTsKIAotI2RlZmluZSBPTUFQX1NEUkNfUkVHQUREUihyZWcpCQkJCQkJXAotCQkodm9pZCBfX2lvbWVtICopSU9fQUREUkVTUyhvbWFwMl9zZHJjX2Jhc2UgKyAocmVnKSkKLSNkZWZpbmUgT01BUF9TTVNfUkVHQUREUihyZWcpCQkJCQkJXAotCQkodm9pZCBfX2lvbWVtICopSU9fQUREUkVTUyhvbWFwMl9zbXNfYmFzZSArIChyZWcpKQorI2RlZmluZSBPTUFQX1NEUkNfUkVHQUREUihyZWcpCQkJKG9tYXAyX3NkcmNfYmFzZSArIChyZWcpKQorI2RlZmluZSBPTUFQX1NNU19SRUdBRERSKHJlZykJCQkob21hcDJfc21zX2Jhc2UgKyAocmVnKSkKIAogLyogU0RSQyBnbG9iYWwgcmVnaXN0ZXIgZ2V0L3NldCAqLwogCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9tYXAyL3NyYW0tZm4uUyBiL2FyY2gvYXJtL21hY2gtb21hcDIvc3JhbTI0MnguUwpzaW1pbGFyaXR5IGluZGV4IDgwJQpyZW5hbWUgZnJvbSBhcmNoL2FybS9tYWNoLW9tYXAyL3NyYW0tZm4uUwpyZW5hbWUgdG8gYXJjaC9hcm0vbWFjaC1vbWFwMi9zcmFtMjQyeC5TCmluZGV4IDRhOWU0OTEuLjRjMjc0NTEgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb21hcDIvc3JhbS1mbi5TCisrKyBiL2FyY2gvYXJtL21hY2gtb21hcDIvc3JhbTI0MnguUwpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBsaW51eC9hcmNoL2FybS9tYWNoLW9tYXAyL3NyYW0tZm4uUworICogbGludXgvYXJjaC9hcm0vbWFjaC1vbWFwMi9zcmFtMjQyeC5TCiAgKgogICogT21hcDIgc3BlY2lmaWMgZnVuY3Rpb25zIHRoYXQgbmVlZCB0byBiZSBydW4gaW4gaW50ZXJuYWwgU1JBTQogICoKQEAgLTI3LDIyICsyNywyMCBAQAogI2luY2x1ZGUgPGFzbS9hcmNoL2lvLmg+CiAjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CiAKLSNpbmNsdWRlICJzZHJjLmgiCiAjaW5jbHVkZSAicHJtLmgiCiAjaW5jbHVkZSAiY20uaCIKLQotI2RlZmluZSBUSU1FUl8zMktTWU5DVF9DUl9WCUlPX0FERFJFU1MoT01BUDI0MjBfMzJLU1lOQ1RfQkFTRSArIDB4MDEwKQorI2luY2x1ZGUgInNkcmMuaCIKIAogCS50ZXh0CiAKLUVOVFJZKHNyYW1fZGRyX2luaXQpCitFTlRSWShvbWFwMjQyeF9zcmFtX2Rkcl9pbml0KQogCXN0bWZkCXNwISwge3IwIC0gcjEyLCBscn0JQCBzYXZlIHJlZ2lzdGVycyBvbiBzdGFjawogCiAJbW92CXIxMiwgcjIJCQlAIGNhcHR1cmUgQ1MxIHZzIENTMAogCW1vdglyOCwgcjMJCQlAIGNhcHR1cmUgZm9yY2UgcGFyYW1ldGVyCiAKIAkvKiBmcmVxdWVuY3kgc2hpZnQgZG93biAqLwotCWxkcglyMiwgY21fY2xrc2VsMl9wbGwJQCBnZXQgYWRkcmVzcyBvZiBkcGxsb3V0IHJlZworCWxkcglyMiwgb21hcDI0Mnhfc2RpX2NtX2Nsa3NlbDJfcGxsCUAgZ2V0IGFkZHJlc3Mgb2YgZHBsbG91dCByZWcKIAltb3YJcjMsICMweDEJCUAgdmFsdWUgZm9yIDF4IG9wZXJhdGlvbgogCXN0cglyMywgW3IyXQkJQCBnbyB0byBMMS1mcmVxIG9wZXJhdGlvbgogCkBAIC01MSw3ICs0OSw3IEBACiAJYmwgdm9sdGFnZV9zaGlmdAkJQCBnbyBkcm9wIHZvbHRhZ2UKIAogCS8qIGRsbCBsb2NrIG1vZGUgKi8KLQlsZHIJcjExLCBzZHJjX2RsbGFfY3RybAlAIGFkZHIgb2YgZGxsYSBjdHJsCisJbGRyCXIxMSwgb21hcDI0Mnhfc2RpX3NkcmNfZGxsYV9jdHJsCUAgYWRkciBvZiBkbGxhIGN0cmwKIAlsZHIJcjEwLCBbcjExXQkJQCBnZXQgY3VycmVudCB2YWwKIAljbXAJcjEyLCAjMHgxCQlAIGNzMSBiYXNlICgyNDIyIGVzMi4wNS8xKQogCWFkZGVxCXIxMSwgcjExLCAjMHg4CQlAIGlmIGNzMSBiYXNlLCBtb3ZlIHRvIERMTEIKQEAgLTEwMiw3ICsxMDAsNyBAQAogCSAqIHdhaXQgZm9yIGl0IHRvIGZpbmlzaCwgdXNlIDMyayBzeW5jIGNvdW50ZXIsIDF0aWNrPTMxdVMuCiAJICovCiB2b2x0YWdlX3NoaWZ0OgotCWxkcglyNCwgcHJjbV92b2x0Y3RybAlAIGdldCBhZGRyIG9mIHZvbHQgY3RybC4KKwlsZHIJcjQsIG9tYXAyNDJ4X3NkaV9wcmNtX3ZvbHRjdHJsCUAgZ2V0IGFkZHIgb2Ygdm9sdCBjdHJsLgogCWxkcglyNSwgW3I0XQkJQCBnZXQgdmFsdWUuCiAJbGRyCXI2LCBwcmNtX21hc2tfdmFsCUAgZ2V0IHZhbHVlIG9mIG1hc2sKIAlhbmQJcjUsIHI1LCByNgkJQCBhcHBseSBtYXNrIHRvIGNsZWFyIGJpdHMKQEAgLTExMiw3ICsxMTAsNyBAQAogCW9ycglyNSwgcjUsIHIzCQlAIGJ1aWxkIHZhbHVlIGZvciBmb3JjZQogCXN0cglyNSwgW3I0XQkJQCBGb3JjZSB0cmFuc2l0aW9uIHRvIEwxCiAKLQlsZHIJcjMsIHRpbWVyXzMya3N5bmN0X2NyCUAgZ2V0IGFkZHIgb2YgY291bnRlcgorCWxkcglyMywgb21hcDI0Mnhfc2RpX3RpbWVyXzMya3N5bmN0X2NyCUAgZ2V0IGFkZHIgb2YgY291bnRlcgogCWxkcglyNSwgW3IzXQkJQCBnZXQgdmFsdWUKIAlhZGQJcjUsIHI1LCAjMHgzCQlAIGdpdmUgaXQgYXQgbW9zdCA5M3VTCiB2b2x0X2RlbGF5OgpAQCAtMTIxLDMyICsxMTksMzEgQEAKIAliaGkJdm9sdF9kZWxheQkJQCBub3QgeWV0LT5icmFuY2gKIAltb3YJcGMsIGxyCQkJQCBiYWNrIHRvIGNhbGxlci4KIAotLyogcmVsYXRpdmUgbG9hZCBjb25zdGFudHMgKi8KLWNtX2Nsa3NlbDJfcGxsOgorb21hcDI0Mnhfc2RpX2NtX2Nsa3NlbDJfcGxsOgogCS53b3JkIE9NQVAyNDIwX0NNX1JFR0FERFIoUExMX01PRCwgQ01fQ0xLU0VMMikKLXNkcmNfZGxsYV9jdHJsOgorb21hcDI0Mnhfc2RpX3NkcmNfZGxsYV9jdHJsOgogCS53b3JkIE9NQVAyNDJYX1NEUkNfUkVHQUREUihTRFJDX0RMTEFfQ1RSTCkKLXByY21fdm9sdGN0cmw6Ci0JLndvcmQgT01BUDI0MjBfUFJNX1JFR0FERFIoT0NQX01PRCwgMHg1MCkKK29tYXAyNDJ4X3NkaV9wcmNtX3ZvbHRjdHJsOgorCS53b3JkIE9NQVAyNDJYX1BSQ01fVk9MVENUUkwKIHByY21fbWFza192YWw6CiAJLndvcmQgMHhGRkZGM0ZGQwotdGltZXJfMzJrc3luY3RfY3I6Ci0JLndvcmQgVElNRVJfMzJLU1lOQ1RfQ1JfVgotRU5UUlkoc3JhbV9kZHJfaW5pdF9zeikKLQkud29yZAkuIC0gc3JhbV9kZHJfaW5pdAorb21hcDI0Mnhfc2RpX3RpbWVyXzMya3N5bmN0X2NyOgorCS53b3JkIElPX0FERFJFU1MoT01BUDJfMzJLU1lOQ1RfQkFTRSArIDB4MDEwKQorRU5UUlkob21hcDI0Mnhfc3JhbV9kZHJfaW5pdF9zeikKKwkud29yZAkuIC0gb21hcDI0Mnhfc3JhbV9kZHJfaW5pdAogCiAvKgogICogUmVwcm9ncmFtcyBtZW1vcnkgdGltaW5ncy4KICAqIHIwID0gW1BSQ01fRlVMTCB8IFBSQ01fSEFMRl0gcjEgPSBTRFJDX0RMTEFfQ1RSTCB2YWx1ZSByMiA9IFtERFIgfCBTRFJdCiAgKiBQUkNNX0ZVTEwgPSAyLCBQUkNNX0hBTEYgPSAxLCBERFIgPSAxLCBTRFIgPSAwCiAgKi8KLUVOVFJZKHNyYW1fcmVwcm9ncmFtX3NkcmMpCitFTlRSWShvbWFwMjQyeF9zcmFtX3JlcHJvZ3JhbV9zZHJjKQogCXN0bWZkCXNwISwge3IwIC0gcjEwLCBscn0JQCBzYXZlIHJlZ2lzdGVycyBvbiBzdGFjawogCW1vdglyMywgIzB4MAkJQCBjbGVhciBmb3IgbXJjIGNhbGwKIAltY3IJcDE1LCAwLCByMywgYzcsIGMxMCwgNAlAIG1lbW9yeSBiYXJyaWVyLCBmaW5pc2ggQVJNIFNEUi9ERFIKIAlub3AKIAlub3AKLQlsZHIJcjYsIGRkcl9zZHJjX3Jmcl9jdHJsCUAgZ2V0IGFkZHIgb2YgcmVmcmVzaCByZWcKKwlsZHIJcjYsIG9tYXAyNDJ4X3Nyc19zZHJjX3Jmcl9jdHJsCUAgZ2V0IGFkZHIgb2YgcmVmcmVzaCByZWcKIAlsZHIJcjUsIFtyNl0JCUAgZ2V0IHZhbHVlCiAJbW92CXI1LCByNSwgbHNyICM4CQlAIGlzb2xhdGUgcmZyIGZpZWxkIGFuZCBkcm9wIGJ1cnN0CiAKQEAgLTE2MCw3ICsxNTcsNyBAQAogCW1vdm5lCXI1LCByNSwgbHNsICMxCQlAIG11bHQgYnkgMiBpZiB0byBmdWxsCiAJbW92CXI1LCByNSwgbHNsICM4CQlAIHB1dCByZnIgZmllbGQgYmFjayBpbnRvIHBsYWNlCiAJYWRkCXI1LCByNSwgIzB4MQkJQCB0dXJuIG9uIGJ1cnN0IG9mIDEKLQlsZHIJcjQsIGRkcl9jbV9jbGtzZWwyX3BsbAlAIGdldCBhZGRyZXNzIG9mIG91dCByZWcKKwlsZHIJcjQsIG9tYXAyNDJ4X3Nyc19jbV9jbGtzZWwyX3BsbAlAIGdldCBhZGRyZXNzIG9mIG91dCByZWcKIAlsZHIJcjMsIFtyNF0JCUAgZ2V0IGN1cnIgdmFsdWUKIAlvcnIJcjMsIHIzLCAjMHgzCiAJYmljCXIzLCByMywgIzB4MwkJQCBjbGVhciBsb3dlciBiaXRzCkBAIC0xODEsNyArMTc4LDcgQEAKIAlibmUJZnJlcV9vdXQJCUAgbGVhdmUgaWYgU0RSLCBubyBETEwgZnVuY3Rpb24KIAogCS8qIFdpdGggRERSLCB3ZSBuZWVkIHRvIHRha2UgY2FyZSBvZiB0aGUgRExMIGZvciB0aGUgZnJlcXVlbmN5IGNoYW5nZSAqLwotCWxkcglyMiwgZGRyX3NkcmNfZGxsYV9jdHJsCUAgYWRkciBvZiBkbGxhIGN0cmwKKwlsZHIJcjIsIG9tYXAyNDJ4X3Nyc19zZHJjX2RsbGFfY3RybAlAIGFkZHIgb2YgZGxsYSBjdHJsCiAJc3RyCXIxLCBbcjJdCQlAIHdyaXRlIG91dCBuZXcgU0RSQ19ETExBX0NUUkwKIAlhZGQJcjIsIHIyLCAjMHg4CQlAIGFkZHIgdG8gU0RSQ19ETExCX0NUUkwKIAlzdHIJcjEsIFtyMl0JCUAgY29tbWl0IHRvIFNEUkNfRExMQl9DVFJMCkBAIC0xOTcsNyArMTk0LDcgQEAKICAgICAgKgl3YWl0IGZvciBpdCB0byBmaW5pc2gsIHVzZSAzMmsgc3luYyBjb3VudGVyLCAxdGljaz0zMXVTLgogICAgICAqLwogdm9sdGFnZV9zaGlmdF9jOgotCWxkcglyMTAsIGRkcl9wcmNtX3ZvbHRjdHJsCUAgZ2V0IGFkZHIgb2Ygdm9sdCBjdHJsCisJbGRyCXIxMCwgb21hcDI0Mnhfc3JzX3ByY21fdm9sdGN0cmwJQCBnZXQgYWRkciBvZiB2b2x0IGN0cmwKIAlsZHIJcjgsIFtyMTBdCQlAIGdldCB2YWx1ZQogCWxkcglyNywgZGRyX3ByY21fbWFza192YWwJQCBnZXQgdmFsdWUgb2YgbWFzawogCWFuZAlyOCwgcjgsIHI3CQlAIGFwcGx5IG1hc2sgdG8gY2xlYXIgYml0cwpAQCAtMjA3LDcgKzIwNCw3IEBACiAJb3JyCXI4LCByOCwgcjcJCUAgYnVpbGQgdmFsdWUgZm9yIGZvcmNlCiAJc3RyCXI4LCBbcjEwXQkJQCBGb3JjZSB0cmFuc2l0aW9uIHRvIEwxCiAKLQlsZHIJcjEwLCBkZHJfdGltZXJfMzJrc3luY3QJQCBnZXQgYWRkciBvZiBjb3VudGVyCisJbGRyCXIxMCwgb21hcDI0Mnhfc3JzX3RpbWVyXzMya3N5bmN0CUAgZ2V0IGFkZHIgb2YgY291bnRlcgogCWxkcglyOCwgW3IxMF0JCUAgZ2V0IHZhbHVlCiAJYWRkCXI4LCByOCwgIzB4MgkJQCBnaXZlIGl0IGF0IG1vc3QgNjJ1UyAobWluIDMxKykKIHZvbHRfZGVsYXlfYzoKQEAgLTIxNiwzOSArMjEzLDM5IEBACiAJYmhpCXZvbHRfZGVsYXlfYwkJQCBub3QgeWV0LT5icmFuY2gKIAltb3YJcGMsIGxyCQkJQCBiYWNrIHRvIGNhbGxlcgogCi1kZHJfY21fY2xrc2VsMl9wbGw6CitvbWFwMjQyeF9zcnNfY21fY2xrc2VsMl9wbGw6CiAJLndvcmQgT01BUDI0MjBfQ01fUkVHQUREUihQTExfTU9ELCBDTV9DTEtTRUwyKQotZGRyX3NkcmNfZGxsYV9jdHJsOgorb21hcDI0Mnhfc3JzX3NkcmNfZGxsYV9jdHJsOgogCS53b3JkIE9NQVAyNDJYX1NEUkNfUkVHQUREUihTRFJDX0RMTEFfQ1RSTCkKLWRkcl9zZHJjX3Jmcl9jdHJsOgorb21hcDI0Mnhfc3JzX3NkcmNfcmZyX2N0cmw6CiAJLndvcmQgT01BUDI0MlhfU0RSQ19SRUdBRERSKFNEUkNfUkZSX0NUUkxfMCkKLWRkcl9wcmNtX3ZvbHRjdHJsOgotCS53b3JkIE9NQVAyNDIwX1BSTV9SRUdBRERSKE9DUF9NT0QsIDB4NTApCitvbWFwMjQyeF9zcnNfcHJjbV92b2x0Y3RybDoKKwkud29yZCBPTUFQMjQyWF9QUkNNX1ZPTFRDVFJMCiBkZHJfcHJjbV9tYXNrX3ZhbDoKIAkud29yZCAweEZGRkYzRkZDCi1kZHJfdGltZXJfMzJrc3luY3Q6Ci0JLndvcmQgVElNRVJfMzJLU1lOQ1RfQ1JfVgorb21hcDI0Mnhfc3JzX3RpbWVyXzMya3N5bmN0OgorCS53b3JkIElPX0FERFJFU1MoT01BUDJfMzJLU1lOQ1RfQkFTRSArIDB4MDEwKQogCi1FTlRSWShzcmFtX3JlcHJvZ3JhbV9zZHJjX3N6KQotCS53b3JkCS4gLSBzcmFtX3JlcHJvZ3JhbV9zZHJjCitFTlRSWShvbWFwMjQyeF9zcmFtX3JlcHJvZ3JhbV9zZHJjX3N6KQorCS53b3JkCS4gLSBvbWFwMjQyeF9zcmFtX3JlcHJvZ3JhbV9zZHJjCiAKIC8qCiAgKiBTZXQgZGl2aWRlcnMgYW5kIHBsbC4gQWxzbyByZWNhbGN1bGF0ZSBETEwgdmFsdWUgZm9yIEREUiBhbmQgdW5sb2NrIG1vZGUuCiAgKi8KLUVOVFJZKHNyYW1fc2V0X3ByY20pCitFTlRSWShvbWFwMjQyeF9zcmFtX3NldF9wcmNtKQogCXN0bWZkCXNwISwge3IwLXIxMiwgbHJ9CUAgcmVncyB0byBzdGFjawogCWFkcglyNCwgcGJlZ2luCQlAIGFkZHIgb2YgcHJlbG9hZCBzdGFydAogCWFkcglyOCwgcGVuZAkJQCBhZGRyIG9mIHByZWxvYWQgZW5kCiAJbWNycglwMTUsIDEsIHI4LCByNCwgYzEyCUAgcHJlbG9hZCBpbnRvIGljYWNoZQogcGJlZ2luOgogCS8qIG1vdmUgaW50byBmYXN0IHJlbG9jayBieXBhc3MgKi8KLQlsZHIJcjgsIHBsbF9jdGwJCUAgZ2V0IGFkZHIKKwlsZHIJcjgsIG9tYXAyNDJ4X3NzcF9wbGxfY3RsCUAgZ2V0IGFkZHIKIAlsZHIJcjUsIFtyOF0JCUAgZ2V0IHZhbAogCW12bglyNiwgIzB4MwkJQCBjbGVhciBtYXNrCiAJYW5kCXI1LCByNSwgcjYJCUAgY2xlYXIgZmllbGQKIAlvcnIJcjcsIHI1LCAjMHgyCQlAIGZhc3QgcmVsb2NrIHZhbAogCXN0cglyNywgW3I4XQkJQCBnbyB0byBmYXN0IHJlbG9jawotCWxkcglyNCwgcGxsX3N0YXQJCUAgYWRkciBvZiBzdGF0CisJbGRyCXI0LCBvbWFwMjQyeF9zc3BfcGxsX3N0YXQJQCBhZGRyIG9mIHN0YXQKIGJsb2NrOgogCS8qIHdhaXQgZm9yIGJ5cGFzcyAqLwogCWxkcglyOCwgW3I0XQkJQCBzdGF0IHZhbHVlCkBAIC0yNTcsMTAgKzI1NCwxMCBAQAogCWJuZQlibG9jawkJCUAgbG9vcCBpZiBub3QKIAogCS8qIHNldCBuZXcgZHBsbCBkaXZpZGVycyBfYWZ0ZXJfIGluIGJ5cGFzcyAqLwotCWxkcglyNCwgcGxsX2RpdgkJQCBnZXQgYWRkcgorCWxkcglyNCwgb21hcDI0Mnhfc3NwX3BsbF9kaXYJQCBnZXQgYWRkcgogCXN0cglyMCwgW3I0XQkJQCBzZXQgZHBsbCBjdHJsIHZhbAogCi0JbGRyCXI0LCBzZXRfY29uZmlnCQlAIGdldCBhZGRyCisJbGRyCXI0LCBvbWFwMjQyeF9zc3Bfc2V0X2NvbmZpZwlAIGdldCBhZGRyCiAJbW92CXI4LCAjMQkJCUAgdmFsaWQgY2ZnIG1zawogCXN0cglyOCwgW3I0XQkJQCBtYWtlIGRpdmlkZXJzIHRha2UKIApAQCAtMjc0LDggKzI3MSw4IEBACiAJYmVxCXBlbmQJCQlAIGp1bXAgb3ZlciBkcGxsIHJlbG9jawogCiAJLyogcmVsb2NrIERQTEwgd2l0aCBuZXcgdmFscyAqLwotCWxkcglyNSwgcGxsX3N0YXQJCUAgZ2V0IGFkZHIKLQlsZHIJcjQsIHBsbF9jdGwJCUAgZ2V0IGFkZHIKKwlsZHIJcjUsIG9tYXAyNDJ4X3NzcF9wbGxfc3RhdAlAIGdldCBhZGRyCisJbGRyCXI0LCBvbWFwMjQyeF9zc3BfcGxsX2N0bAlAIGdldCBhZGRyCiAJb3JyCXI4LCByNywgIzB4MwkJQCB2YWwgZm9yIGxvY2sgZHBsbAogCXN0cglyOCwgW3I0XQkJQCBzZXQgdmFsCiAJbW92CXIwLCAjMTAwMAkJQCBkZWFkIHNwaW4gYSBiaXQKQEAgLTI4OSw5ICsyODYsOSBAQAogCWJuZQl3YWl0X2xvY2sJCUAgd2FpdCBpZiBub3QKIHBlbmQ6CiAJLyogdXBkYXRlIG1lbW9yeSB0aW1pbmdzICYgYnJpZWZseSBsb2NrIGRsbCAqLwotCWxkcglyNCwgc2RyY19yZnIJCUAgZ2V0IGFkZHIKKwlsZHIJcjQsIG9tYXAyNDJ4X3NzcF9zZHJjX3JmcglAIGdldCBhZGRyCiAJc3RyCXIxLCBbcjRdCQlAIHVwZGF0ZSByZWZyZXNoIHRpbWluZwotCWxkcglyMTEsIGRsbGFfY3RybAkJQCBnZXQgYWRkciBvZiBETExBIGN0cmwKKwlsZHIJcjExLCBvbWFwMjQyeF9zc3BfZGxsYV9jdHJsCUAgZ2V0IGFkZHIgb2YgRExMQSBjdHJsCiAJbGRyCXIxMCwgW3IxMV0JCUAgZ2V0IGN1cnJlbnQgdmFsCiAJbXZuCXI5LCAjMHg0CQlAIG1hc2sgdG8gZ2V0IGNsZWFyIGJpdDIKIAlhbmQJcjEwLCByMTAsIHI5CQlAIGNsZWFyIGJpdDIgZm9yIGxvY2sgbW9kZQpAQCAtMzA3LDE4ICszMDQsMTggQEAKIAlub3AKIAlsZG1mZAlzcCEsIHtyMC1yMTIsIHBjfQlAIHJlc3RvcmUgcmVncyBhbmQgcmV0dXJuCiAKLXNldF9jb25maWc6Ci0JLndvcmQgT01BUDI0MjBfUFJNX1JFR0FERFIoT0NQX01PRCwgMHg4MCkKLXBsbF9jdGw6Ci0JLndvcmQgT01BUDI0MjBfQ01fUkVHQUREUihQTExfTU9ELCBDTV9GQ0xLRU4xKQotcGxsX3N0YXQ6Ci0JLndvcmQgT01BUDI0MjBfQ01fUkVHQUREUihQTExfTU9ELCBDTV9JRExFU1QxKQotcGxsX2RpdjoKLQkud29yZCBPTUFQMjQyMF9DTV9SRUdBRERSKFBMTF9NT0QsIENNX0NMS1NFTCkKLXNkcmNfcmZyOgorb21hcDI0Mnhfc3NwX3NldF9jb25maWc6CisJLndvcmQgT01BUDI0MlhfUFJDTV9DTEtDRkdfQ1RSTAorb21hcDI0Mnhfc3NwX3BsbF9jdGw6CisJLndvcmQgT01BUDI0MjBfQ01fUkVHQUREUihQTExfTU9ELCBDTV9DTEtFTikKK29tYXAyNDJ4X3NzcF9wbGxfc3RhdDoKKwkud29yZCBPTUFQMjQyMF9DTV9SRUdBRERSKFBMTF9NT0QsIENNX0lETEVTVCkKK29tYXAyNDJ4X3NzcF9wbGxfZGl2OgorCS53b3JkIE9NQVAyNDIwX0NNX1JFR0FERFIoUExMX01PRCwgQ01fQ0xLU0VMMSkKK29tYXAyNDJ4X3NzcF9zZHJjX3JmcjoKIAkud29yZCBPTUFQMjQyWF9TRFJDX1JFR0FERFIoU0RSQ19SRlJfQ1RSTF8wKQotZGxsYV9jdHJsOgorb21hcDI0Mnhfc3NwX2RsbGFfY3RybDoKIAkud29yZCBPTUFQMjQyWF9TRFJDX1JFR0FERFIoU0RSQ19ETExBX0NUUkwpCiAKLUVOVFJZKHNyYW1fc2V0X3ByY21fc3opCi0JLndvcmQJLiAtIHNyYW1fc2V0X3ByY20KK0VOVFJZKG9tYXAyNDJ4X3NyYW1fc2V0X3ByY21fc3opCisJLndvcmQJLiAtIG9tYXAyNDJ4X3NyYW1fc2V0X3ByY20KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDIvc3JhbS1mbi5TIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9zcmFtMjQzeC5TCnNpbWlsYXJpdHkgaW5kZXggNzclCmNvcHkgZnJvbSBhcmNoL2FybS9tYWNoLW9tYXAyL3NyYW0tZm4uUwpjb3B5IHRvIGFyY2gvYXJtL21hY2gtb21hcDIvc3JhbTI0M3guUwppbmRleCA0YTllNDkxLi5hM2ZhNDhkYyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9zcmFtLWZuLlMKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9zcmFtMjQzeC5TCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIGxpbnV4L2FyY2gvYXJtL21hY2gtb21hcDIvc3JhbS1mbi5TCisgKiBsaW51eC9hcmNoL2FybS9tYWNoLW9tYXAyL3NyYW0yNDN4LlMKICAqCiAgKiBPbWFwMiBzcGVjaWZpYyBmdW5jdGlvbnMgdGhhdCBuZWVkIHRvIGJlIHJ1biBpbiBpbnRlcm5hbCBTUkFNCiAgKgpAQCAtMjcsMjIgKzI3LDIwIEBACiAjaW5jbHVkZSA8YXNtL2FyY2gvaW8uaD4KICNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KIAotI2luY2x1ZGUgInNkcmMuaCIKICNpbmNsdWRlICJwcm0uaCIKICNpbmNsdWRlICJjbS5oIgotCi0jZGVmaW5lIFRJTUVSXzMyS1NZTkNUX0NSX1YJSU9fQUREUkVTUyhPTUFQMjQyMF8zMktTWU5DVF9CQVNFICsgMHgwMTApCisjaW5jbHVkZSAic2RyYy5oIgogCiAJLnRleHQKIAotRU5UUlkoc3JhbV9kZHJfaW5pdCkKK0VOVFJZKG9tYXAyNDN4X3NyYW1fZGRyX2luaXQpCiAJc3RtZmQJc3AhLCB7cjAgLSByMTIsIGxyfQlAIHNhdmUgcmVnaXN0ZXJzIG9uIHN0YWNrCiAKIAltb3YJcjEyLCByMgkJCUAgY2FwdHVyZSBDUzEgdnMgQ1MwCiAJbW92CXI4LCByMwkJCUAgY2FwdHVyZSBmb3JjZSBwYXJhbWV0ZXIKIAogCS8qIGZyZXF1ZW5jeSBzaGlmdCBkb3duICovCi0JbGRyCXIyLCBjbV9jbGtzZWwyX3BsbAlAIGdldCBhZGRyZXNzIG9mIGRwbGxvdXQgcmVnCisJbGRyCXIyLCBvbWFwMjQzeF9zZGlfY21fY2xrc2VsMl9wbGwJQCBnZXQgYWRkcmVzcyBvZiBkcGxsb3V0IHJlZwogCW1vdglyMywgIzB4MQkJQCB2YWx1ZSBmb3IgMXggb3BlcmF0aW9uCiAJc3RyCXIzLCBbcjJdCQlAIGdvIHRvIEwxLWZyZXEgb3BlcmF0aW9uCiAKQEAgLTUxLDcgKzQ5LDcgQEAKIAlibCB2b2x0YWdlX3NoaWZ0CQlAIGdvIGRyb3Agdm9sdGFnZQogCiAJLyogZGxsIGxvY2sgbW9kZSAqLwotCWxkcglyMTEsIHNkcmNfZGxsYV9jdHJsCUAgYWRkciBvZiBkbGxhIGN0cmwKKwlsZHIJcjExLCBvbWFwMjQzeF9zZGlfc2RyY19kbGxhX2N0cmwJQCBhZGRyIG9mIGRsbGEgY3RybAogCWxkcglyMTAsIFtyMTFdCQlAIGdldCBjdXJyZW50IHZhbAogCWNtcAlyMTIsICMweDEJCUAgY3MxIGJhc2UgKDI0MjIgZXMyLjA1LzEpCiAJYWRkZXEJcjExLCByMTEsICMweDgJCUAgaWYgY3MxIGJhc2UsIG1vdmUgdG8gRExMQgpAQCAtMTAyLDcgKzEwMCw3IEBACiAJICogd2FpdCBmb3IgaXQgdG8gZmluaXNoLCB1c2UgMzJrIHN5bmMgY291bnRlciwgMXRpY2s9MzF1Uy4KIAkgKi8KIHZvbHRhZ2Vfc2hpZnQ6Ci0JbGRyCXI0LCBwcmNtX3ZvbHRjdHJsCUAgZ2V0IGFkZHIgb2Ygdm9sdCBjdHJsLgorCWxkcglyNCwgb21hcDI0M3hfc2RpX3ByY21fdm9sdGN0cmwJQCBnZXQgYWRkciBvZiB2b2x0IGN0cmwuCiAJbGRyCXI1LCBbcjRdCQlAIGdldCB2YWx1ZS4KIAlsZHIJcjYsIHByY21fbWFza192YWwJQCBnZXQgdmFsdWUgb2YgbWFzawogCWFuZAlyNSwgcjUsIHI2CQlAIGFwcGx5IG1hc2sgdG8gY2xlYXIgYml0cwpAQCAtMTEyLDcgKzExMCw3IEBACiAJb3JyCXI1LCByNSwgcjMJCUAgYnVpbGQgdmFsdWUgZm9yIGZvcmNlCiAJc3RyCXI1LCBbcjRdCQlAIEZvcmNlIHRyYW5zaXRpb24gdG8gTDEKIAotCWxkcglyMywgdGltZXJfMzJrc3luY3RfY3IJQCBnZXQgYWRkciBvZiBjb3VudGVyCisJbGRyCXIzLCBvbWFwMjQzeF9zZGlfdGltZXJfMzJrc3luY3RfY3IJQCBnZXQgYWRkciBvZiBjb3VudGVyCiAJbGRyCXI1LCBbcjNdCQlAIGdldCB2YWx1ZQogCWFkZAlyNSwgcjUsICMweDMJCUAgZ2l2ZSBpdCBhdCBtb3N0IDkzdVMKIHZvbHRfZGVsYXk6CkBAIC0xMjEsMzIgKzExOSwzMSBAQAogCWJoaQl2b2x0X2RlbGF5CQlAIG5vdCB5ZXQtPmJyYW5jaAogCW1vdglwYywgbHIJCQlAIGJhY2sgdG8gY2FsbGVyLgogCi0vKiByZWxhdGl2ZSBsb2FkIGNvbnN0YW50cyAqLwotY21fY2xrc2VsMl9wbGw6Ci0JLndvcmQgT01BUDI0MjBfQ01fUkVHQUREUihQTExfTU9ELCBDTV9DTEtTRUwyKQotc2RyY19kbGxhX2N0cmw6Ci0JLndvcmQgT01BUDI0MlhfU0RSQ19SRUdBRERSKFNEUkNfRExMQV9DVFJMKQotcHJjbV92b2x0Y3RybDoKLQkud29yZCBPTUFQMjQyMF9QUk1fUkVHQUREUihPQ1BfTU9ELCAweDUwKQorb21hcDI0M3hfc2RpX2NtX2Nsa3NlbDJfcGxsOgorCS53b3JkIE9NQVAyNDMwX0NNX1JFR0FERFIoUExMX01PRCwgQ01fQ0xLU0VMMikKK29tYXAyNDN4X3NkaV9zZHJjX2RsbGFfY3RybDoKKwkud29yZCBPTUFQMjQzWF9TRFJDX1JFR0FERFIoU0RSQ19ETExBX0NUUkwpCitvbWFwMjQzeF9zZGlfcHJjbV92b2x0Y3RybDoKKwkud29yZCBPTUFQMjQzWF9QUkNNX1ZPTFRDVFJMCiBwcmNtX21hc2tfdmFsOgogCS53b3JkIDB4RkZGRjNGRkMKLXRpbWVyXzMya3N5bmN0X2NyOgotCS53b3JkIFRJTUVSXzMyS1NZTkNUX0NSX1YKLUVOVFJZKHNyYW1fZGRyX2luaXRfc3opCi0JLndvcmQJLiAtIHNyYW1fZGRyX2luaXQKK29tYXAyNDN4X3NkaV90aW1lcl8zMmtzeW5jdF9jcjoKKwkud29yZCBJT19BRERSRVNTKE9NQVAyXzMyS1NZTkNUX0JBU0UgKyAweDAxMCkKK0VOVFJZKG9tYXAyNDN4X3NyYW1fZGRyX2luaXRfc3opCisJLndvcmQJLiAtIG9tYXAyNDN4X3NyYW1fZGRyX2luaXQKIAogLyoKICAqIFJlcHJvZ3JhbXMgbWVtb3J5IHRpbWluZ3MuCiAgKiByMCA9IFtQUkNNX0ZVTEwgfCBQUkNNX0hBTEZdIHIxID0gU0RSQ19ETExBX0NUUkwgdmFsdWUgcjIgPSBbRERSIHwgU0RSXQogICogUFJDTV9GVUxMID0gMiwgUFJDTV9IQUxGID0gMSwgRERSID0gMSwgU0RSID0gMAogICovCi1FTlRSWShzcmFtX3JlcHJvZ3JhbV9zZHJjKQorRU5UUlkob21hcDI0M3hfc3JhbV9yZXByb2dyYW1fc2RyYykKIAlzdG1mZAlzcCEsIHtyMCAtIHIxMCwgbHJ9CUAgc2F2ZSByZWdpc3RlcnMgb24gc3RhY2sKIAltb3YJcjMsICMweDAJCUAgY2xlYXIgZm9yIG1yYyBjYWxsCiAJbWNyCXAxNSwgMCwgcjMsIGM3LCBjMTAsIDQJQCBtZW1vcnkgYmFycmllciwgZmluaXNoIEFSTSBTRFIvRERSCiAJbm9wCiAJbm9wCi0JbGRyCXI2LCBkZHJfc2RyY19yZnJfY3RybAlAIGdldCBhZGRyIG9mIHJlZnJlc2ggcmVnCisJbGRyCXI2LCBvbWFwMjQzeF9zcnNfc2RyY19yZnJfY3RybAlAIGdldCBhZGRyIG9mIHJlZnJlc2ggcmVnCiAJbGRyCXI1LCBbcjZdCQlAIGdldCB2YWx1ZQogCW1vdglyNSwgcjUsIGxzciAjOAkJQCBpc29sYXRlIHJmciBmaWVsZCBhbmQgZHJvcCBidXJzdAogCkBAIC0xNjAsNyArMTU3LDcgQEAKIAltb3ZuZQlyNSwgcjUsIGxzbCAjMQkJQCBtdWx0IGJ5IDIgaWYgdG8gZnVsbAogCW1vdglyNSwgcjUsIGxzbCAjOAkJQCBwdXQgcmZyIGZpZWxkIGJhY2sgaW50byBwbGFjZQogCWFkZAlyNSwgcjUsICMweDEJCUAgdHVybiBvbiBidXJzdCBvZiAxCi0JbGRyCXI0LCBkZHJfY21fY2xrc2VsMl9wbGwJQCBnZXQgYWRkcmVzcyBvZiBvdXQgcmVnCisJbGRyCXI0LCBvbWFwMjQzeF9zcnNfY21fY2xrc2VsMl9wbGwJQCBnZXQgYWRkcmVzcyBvZiBvdXQgcmVnCiAJbGRyCXIzLCBbcjRdCQlAIGdldCBjdXJyIHZhbHVlCiAJb3JyCXIzLCByMywgIzB4MwogCWJpYwlyMywgcjMsICMweDMJCUAgY2xlYXIgbG93ZXIgYml0cwpAQCAtMTgxLDcgKzE3OCw3IEBACiAJYm5lCWZyZXFfb3V0CQlAIGxlYXZlIGlmIFNEUiwgbm8gRExMIGZ1bmN0aW9uCiAKIAkvKiBXaXRoIEREUiwgd2UgbmVlZCB0byB0YWtlIGNhcmUgb2YgdGhlIERMTCBmb3IgdGhlIGZyZXF1ZW5jeSBjaGFuZ2UgKi8KLQlsZHIJcjIsIGRkcl9zZHJjX2RsbGFfY3RybAlAIGFkZHIgb2YgZGxsYSBjdHJsCisJbGRyCXIyLCBvbWFwMjQzeF9zcnNfc2RyY19kbGxhX2N0cmwJQCBhZGRyIG9mIGRsbGEgY3RybAogCXN0cglyMSwgW3IyXQkJQCB3cml0ZSBvdXQgbmV3IFNEUkNfRExMQV9DVFJMCiAJYWRkCXIyLCByMiwgIzB4OAkJQCBhZGRyIHRvIFNEUkNfRExMQl9DVFJMCiAJc3RyCXIxLCBbcjJdCQlAIGNvbW1pdCB0byBTRFJDX0RMTEJfQ1RSTApAQCAtMTk3LDcgKzE5NCw3IEBACiAgICAgICoJd2FpdCBmb3IgaXQgdG8gZmluaXNoLCB1c2UgMzJrIHN5bmMgY291bnRlciwgMXRpY2s9MzF1Uy4KICAgICAgKi8KIHZvbHRhZ2Vfc2hpZnRfYzoKLQlsZHIJcjEwLCBkZHJfcHJjbV92b2x0Y3RybAlAIGdldCBhZGRyIG9mIHZvbHQgY3RybAorCWxkcglyMTAsIG9tYXAyNDN4X3Nyc19wcmNtX3ZvbHRjdHJsCUAgZ2V0IGFkZHIgb2Ygdm9sdCBjdHJsCiAJbGRyCXI4LCBbcjEwXQkJQCBnZXQgdmFsdWUKIAlsZHIJcjcsIGRkcl9wcmNtX21hc2tfdmFsCUAgZ2V0IHZhbHVlIG9mIG1hc2sKIAlhbmQJcjgsIHI4LCByNwkJQCBhcHBseSBtYXNrIHRvIGNsZWFyIGJpdHMKQEAgLTIwNyw3ICsyMDQsNyBAQAogCW9ycglyOCwgcjgsIHI3CQlAIGJ1aWxkIHZhbHVlIGZvciBmb3JjZQogCXN0cglyOCwgW3IxMF0JCUAgRm9yY2UgdHJhbnNpdGlvbiB0byBMMQogCi0JbGRyCXIxMCwgZGRyX3RpbWVyXzMya3N5bmN0CUAgZ2V0IGFkZHIgb2YgY291bnRlcgorCWxkcglyMTAsIG9tYXAyNDN4X3Nyc190aW1lcl8zMmtzeW5jdAlAIGdldCBhZGRyIG9mIGNvdW50ZXIKIAlsZHIJcjgsIFtyMTBdCQlAIGdldCB2YWx1ZQogCWFkZAlyOCwgcjgsICMweDIJCUAgZ2l2ZSBpdCBhdCBtb3N0IDYydVMgKG1pbiAzMSspCiB2b2x0X2RlbGF5X2M6CkBAIC0yMTYsMzkgKzIxMywzOSBAQAogCWJoaQl2b2x0X2RlbGF5X2MJCUAgbm90IHlldC0+YnJhbmNoCiAJbW92CXBjLCBscgkJCUAgYmFjayB0byBjYWxsZXIKIAotZGRyX2NtX2Nsa3NlbDJfcGxsOgotCS53b3JkIE9NQVAyNDIwX0NNX1JFR0FERFIoUExMX01PRCwgQ01fQ0xLU0VMMikKLWRkcl9zZHJjX2RsbGFfY3RybDoKLQkud29yZCBPTUFQMjQyWF9TRFJDX1JFR0FERFIoU0RSQ19ETExBX0NUUkwpCi1kZHJfc2RyY19yZnJfY3RybDoKLQkud29yZCBPTUFQMjQyWF9TRFJDX1JFR0FERFIoU0RSQ19SRlJfQ1RSTF8wKQotZGRyX3ByY21fdm9sdGN0cmw6Ci0JLndvcmQgT01BUDI0MjBfUFJNX1JFR0FERFIoT0NQX01PRCwgMHg1MCkKK29tYXAyNDN4X3Nyc19jbV9jbGtzZWwyX3BsbDoKKwkud29yZCBPTUFQMjQzMF9DTV9SRUdBRERSKFBMTF9NT0QsIENNX0NMS1NFTDIpCitvbWFwMjQzeF9zcnNfc2RyY19kbGxhX2N0cmw6CisJLndvcmQgT01BUDI0M1hfU0RSQ19SRUdBRERSKFNEUkNfRExMQV9DVFJMKQorb21hcDI0M3hfc3JzX3NkcmNfcmZyX2N0cmw6CisJLndvcmQgT01BUDI0M1hfU0RSQ19SRUdBRERSKFNEUkNfUkZSX0NUUkxfMCkKK29tYXAyNDN4X3Nyc19wcmNtX3ZvbHRjdHJsOgorCS53b3JkIE9NQVAyNDNYX1BSQ01fVk9MVENUUkwKIGRkcl9wcmNtX21hc2tfdmFsOgogCS53b3JkIDB4RkZGRjNGRkMKLWRkcl90aW1lcl8zMmtzeW5jdDoKLQkud29yZCBUSU1FUl8zMktTWU5DVF9DUl9WCitvbWFwMjQzeF9zcnNfdGltZXJfMzJrc3luY3Q6CisJLndvcmQgSU9fQUREUkVTUyhPTUFQMl8zMktTWU5DVF9CQVNFICsgMHgwMTApCiAKLUVOVFJZKHNyYW1fcmVwcm9ncmFtX3NkcmNfc3opCi0JLndvcmQJLiAtIHNyYW1fcmVwcm9ncmFtX3NkcmMKK0VOVFJZKG9tYXAyNDN4X3NyYW1fcmVwcm9ncmFtX3NkcmNfc3opCisJLndvcmQJLiAtIG9tYXAyNDN4X3NyYW1fcmVwcm9ncmFtX3NkcmMKIAogLyoKICAqIFNldCBkaXZpZGVycyBhbmQgcGxsLiBBbHNvIHJlY2FsY3VsYXRlIERMTCB2YWx1ZSBmb3IgRERSIGFuZCB1bmxvY2sgbW9kZS4KICAqLwotRU5UUlkoc3JhbV9zZXRfcHJjbSkKK0VOVFJZKG9tYXAyNDN4X3NyYW1fc2V0X3ByY20pCiAJc3RtZmQJc3AhLCB7cjAtcjEyLCBscn0JQCByZWdzIHRvIHN0YWNrCiAJYWRyCXI0LCBwYmVnaW4JCUAgYWRkciBvZiBwcmVsb2FkIHN0YXJ0CiAJYWRyCXI4LCBwZW5kCQlAIGFkZHIgb2YgcHJlbG9hZCBlbmQKIAltY3JyCXAxNSwgMSwgcjgsIHI0LCBjMTIJQCBwcmVsb2FkIGludG8gaWNhY2hlCiBwYmVnaW46CiAJLyogbW92ZSBpbnRvIGZhc3QgcmVsb2NrIGJ5cGFzcyAqLwotCWxkcglyOCwgcGxsX2N0bAkJQCBnZXQgYWRkcgorCWxkcglyOCwgb21hcDI0M3hfc3NwX3BsbF9jdGwJQCBnZXQgYWRkcgogCWxkcglyNSwgW3I4XQkJQCBnZXQgdmFsCiAJbXZuCXI2LCAjMHgzCQlAIGNsZWFyIG1hc2sKIAlhbmQJcjUsIHI1LCByNgkJQCBjbGVhciBmaWVsZAogCW9ycglyNywgcjUsICMweDIJCUAgZmFzdCByZWxvY2sgdmFsCiAJc3RyCXI3LCBbcjhdCQlAIGdvIHRvIGZhc3QgcmVsb2NrCi0JbGRyCXI0LCBwbGxfc3RhdAkJQCBhZGRyIG9mIHN0YXQKKwlsZHIJcjQsIG9tYXAyNDN4X3NzcF9wbGxfc3RhdAlAIGFkZHIgb2Ygc3RhdAogYmxvY2s6CiAJLyogd2FpdCBmb3IgYnlwYXNzICovCiAJbGRyCXI4LCBbcjRdCQlAIHN0YXQgdmFsdWUKQEAgLTI1NywxMCArMjU0LDEwIEBACiAJYm5lCWJsb2NrCQkJQCBsb29wIGlmIG5vdAogCiAJLyogc2V0IG5ldyBkcGxsIGRpdmlkZXJzIF9hZnRlcl8gaW4gYnlwYXNzICovCi0JbGRyCXI0LCBwbGxfZGl2CQlAIGdldCBhZGRyCisJbGRyCXI0LCBvbWFwMjQzeF9zc3BfcGxsX2RpdglAIGdldCBhZGRyCiAJc3RyCXIwLCBbcjRdCQlAIHNldCBkcGxsIGN0cmwgdmFsCiAKLQlsZHIJcjQsIHNldF9jb25maWcJCUAgZ2V0IGFkZHIKKwlsZHIJcjQsIG9tYXAyNDN4X3NzcF9zZXRfY29uZmlnCUAgZ2V0IGFkZHIKIAltb3YJcjgsICMxCQkJQCB2YWxpZCBjZmcgbXNrCiAJc3RyCXI4LCBbcjRdCQlAIG1ha2UgZGl2aWRlcnMgdGFrZQogCkBAIC0yNzQsOCArMjcxLDggQEAKIAliZXEJcGVuZAkJCUAganVtcCBvdmVyIGRwbGwgcmVsb2NrCiAKIAkvKiByZWxvY2sgRFBMTCB3aXRoIG5ldyB2YWxzICovCi0JbGRyCXI1LCBwbGxfc3RhdAkJQCBnZXQgYWRkcgotCWxkcglyNCwgcGxsX2N0bAkJQCBnZXQgYWRkcgorCWxkcglyNSwgb21hcDI0M3hfc3NwX3BsbF9zdGF0CUAgZ2V0IGFkZHIKKwlsZHIJcjQsIG9tYXAyNDN4X3NzcF9wbGxfY3RsCUAgZ2V0IGFkZHIKIAlvcnIJcjgsIHI3LCAjMHgzCQlAIHZhbCBmb3IgbG9jayBkcGxsCiAJc3RyCXI4LCBbcjRdCQlAIHNldCB2YWwKIAltb3YJcjAsICMxMDAwCQlAIGRlYWQgc3BpbiBhIGJpdApAQCAtMjg5LDkgKzI4Niw5IEBACiAJYm5lCXdhaXRfbG9jawkJQCB3YWl0IGlmIG5vdAogcGVuZDoKIAkvKiB1cGRhdGUgbWVtb3J5IHRpbWluZ3MgJiBicmllZmx5IGxvY2sgZGxsICovCi0JbGRyCXI0LCBzZHJjX3JmcgkJQCBnZXQgYWRkcgorCWxkcglyNCwgb21hcDI0M3hfc3NwX3NkcmNfcmZyCUAgZ2V0IGFkZHIKIAlzdHIJcjEsIFtyNF0JCUAgdXBkYXRlIHJlZnJlc2ggdGltaW5nCi0JbGRyCXIxMSwgZGxsYV9jdHJsCQlAIGdldCBhZGRyIG9mIERMTEEgY3RybAorCWxkcglyMTEsIG9tYXAyNDN4X3NzcF9kbGxhX2N0cmwJQCBnZXQgYWRkciBvZiBETExBIGN0cmwKIAlsZHIJcjEwLCBbcjExXQkJQCBnZXQgY3VycmVudCB2YWwKIAltdm4JcjksICMweDQJCUAgbWFzayB0byBnZXQgY2xlYXIgYml0MgogCWFuZAlyMTAsIHIxMCwgcjkJCUAgY2xlYXIgYml0MiBmb3IgbG9jayBtb2RlCkBAIC0zMDcsMTggKzMwNCwxOCBAQAogCW5vcAogCWxkbWZkCXNwISwge3IwLXIxMiwgcGN9CUAgcmVzdG9yZSByZWdzIGFuZCByZXR1cm4KIAotc2V0X2NvbmZpZzoKLQkud29yZCBPTUFQMjQyMF9QUk1fUkVHQUREUihPQ1BfTU9ELCAweDgwKQotcGxsX2N0bDoKLQkud29yZCBPTUFQMjQyMF9DTV9SRUdBRERSKFBMTF9NT0QsIENNX0ZDTEtFTjEpCi1wbGxfc3RhdDoKLQkud29yZCBPTUFQMjQyMF9DTV9SRUdBRERSKFBMTF9NT0QsIENNX0lETEVTVDEpCi1wbGxfZGl2OgotCS53b3JkIE9NQVAyNDIwX0NNX1JFR0FERFIoUExMX01PRCwgQ01fQ0xLU0VMKQotc2RyY19yZnI6Ci0JLndvcmQgT01BUDI0MlhfU0RSQ19SRUdBRERSKFNEUkNfUkZSX0NUUkxfMCkKLWRsbGFfY3RybDoKLQkud29yZCBPTUFQMjQyWF9TRFJDX1JFR0FERFIoU0RSQ19ETExBX0NUUkwpCitvbWFwMjQzeF9zc3Bfc2V0X2NvbmZpZzoKKwkud29yZCBPTUFQMjQzWF9QUkNNX0NMS0NGR19DVFJMCitvbWFwMjQzeF9zc3BfcGxsX2N0bDoKKwkud29yZCBPTUFQMjQzMF9DTV9SRUdBRERSKFBMTF9NT0QsIENNX0NMS0VOKQorb21hcDI0M3hfc3NwX3BsbF9zdGF0OgorCS53b3JkIE9NQVAyNDMwX0NNX1JFR0FERFIoUExMX01PRCwgQ01fSURMRVNUKQorb21hcDI0M3hfc3NwX3BsbF9kaXY6CisJLndvcmQgT01BUDI0MzBfQ01fUkVHQUREUihQTExfTU9ELCBDTV9DTEtTRUwxKQorb21hcDI0M3hfc3NwX3NkcmNfcmZyOgorCS53b3JkIE9NQVAyNDNYX1NEUkNfUkVHQUREUihTRFJDX1JGUl9DVFJMXzApCitvbWFwMjQzeF9zc3BfZGxsYV9jdHJsOgorCS53b3JkIE9NQVAyNDNYX1NEUkNfUkVHQUREUihTRFJDX0RMTEFfQ1RSTCkKIAotRU5UUlkoc3JhbV9zZXRfcHJjbV9zeikKLQkud29yZAkuIC0gc3JhbV9zZXRfcHJjbQorRU5UUlkob21hcDI0M3hfc3JhbV9zZXRfcHJjbV9zeikKKwkud29yZAkuIC0gb21hcDI0M3hfc3JhbV9zZXRfcHJjbQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vbWFwMi90aW1lci1ncC5jIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi90aW1lci1ncC5jCmluZGV4IDc4ZDA1ZjIuLjU1NzYwM2YgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb21hcDIvdGltZXItZ3AuYworKysgYi9hcmNoL2FybS9tYWNoLW9tYXAyL3RpbWVyLWdwLmMKQEAgLTU5LDggKzU5LDcgQEAKIHN0YXRpYyBpbnQgb21hcDJfZ3BfdGltZXJfc2V0X25leHRfZXZlbnQodW5zaWduZWQgbG9uZyBjeWNsZXMsCiAJCQkJCSBzdHJ1Y3QgY2xvY2tfZXZlbnRfZGV2aWNlICpldnQpCiB7Ci0Jb21hcF9kbV90aW1lcl9zZXRfbG9hZChncHRpbWVyLCAwLCAweGZmZmZmZmZmIC0gY3ljbGVzKTsKLQlvbWFwX2RtX3RpbWVyX3N0YXJ0KGdwdGltZXIpOworCW9tYXBfZG1fdGltZXJfc2V0X2xvYWRfc3RhcnQoZ3B0aW1lciwgMCwgMHhmZmZmZmZmZiAtIGN5Y2xlcyk7CiAKIAlyZXR1cm4gMDsKIH0KQEAgLTc3LDggKzc2LDcgQEAKIAkJcGVyaW9kID0gY2xrX2dldF9yYXRlKG9tYXBfZG1fdGltZXJfZ2V0X2ZjbGsoZ3B0aW1lcikpIC8gSFo7CiAJCXBlcmlvZCAtPSAxOwogCi0JCW9tYXBfZG1fdGltZXJfc2V0X2xvYWQoZ3B0aW1lciwgMSwgMHhmZmZmZmZmZiAtIHBlcmlvZCk7Ci0JCW9tYXBfZG1fdGltZXJfc3RhcnQoZ3B0aW1lcik7CisJCW9tYXBfZG1fdGltZXJfc2V0X2xvYWRfc3RhcnQoZ3B0aW1lciwgMSwgMHhmZmZmZmZmZiAtIHBlcmlvZCk7CiAJCWJyZWFrOwogCWNhc2UgQ0xPQ0tfRVZUX01PREVfT05FU0hPVDoKIAkJYnJlYWs7CkBAIC0xNzIsOCArMTcwLDcgQEAKIAl0aWNrX3JhdGUgPSBjbGtfZ2V0X3JhdGUob21hcF9kbV90aW1lcl9nZXRfZmNsayhncHQpKTsKIAl0aWNrX3BlcmlvZCA9ICh0aWNrX3JhdGUgLyBIWikgLSAxOwogCi0Jb21hcF9kbV90aW1lcl9zZXRfbG9hZChncHQsIDEsIDApOwotCW9tYXBfZG1fdGltZXJfc3RhcnQoZ3B0KTsKKwlvbWFwX2RtX3RpbWVyX3NldF9sb2FkX3N0YXJ0KGdwdCwgMSwgMCk7CiAKIAljbG9ja3NvdXJjZV9ncHQubXVsdCA9CiAJCWNsb2Nrc291cmNlX2toejJtdWx0KHRpY2tfcmF0ZS8xMDAwLCBjbG9ja3NvdXJjZV9ncHQuc2hpZnQpOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L0tjb25maWcgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvS2NvbmZpZwppbmRleCA5M2RlYmYzLi5kZGNkNDFiIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgvS2NvbmZpZworKysgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvS2NvbmZpZwpAQCAtNDQsNiArNDQsNTQgQEAKIAkgIEJ1ZmZhbG8gTGlua3N0YXRpb24gUHJvL0xpdmUgcGxhdGZvcm0uIEJvdGggdjEgYW5kCiAJICB2MiBkZXZpY2VzIGFyZSBzdXBwb3J0ZWQuCiAKK2NvbmZpZyBNQUNIX1RTNDA5CisJYm9vbCAiUU5BUCBUUy00MDkiCisJaGVscAorCSAgU2F5ICdZJyBoZXJlIGlmIHlvdSB3YW50IHlvdXIga2VybmVsIHRvIHN1cHBvcnQgdGhlCisJICBRTkFQIFRTLTQwOSBwbGF0Zm9ybS4KKworY29uZmlnIE1BQ0hfV1JUMzUwTl9WMgorCWJvb2wgIkxpbmtzeXMgV1JUMzUwTiB2MiIKKwloZWxwCisJICBTYXkgJ1knIGhlcmUgaWYgeW91IHdhbnQgeW91ciBrZXJuZWwgdG8gc3VwcG9ydCB0aGUKKwkgIExpbmtzeXMgV1JUMzUwTiB2MiBwbGF0Zm9ybS4KKworY29uZmlnIE1BQ0hfVFM3OFhYCisJYm9vbCAiVGVjaG5vbG9naWMgU3lzdGVtcyBUUy03OHh4IgorCWhlbHAKKwkgIFNheSAnWScgaGVyZSBpZiB5b3Ugd2FudCB5b3VyIGtlcm5lbCB0byBzdXBwb3J0IHRoZQorCSAgVGVjaG5vbG9naWMgU3lzdGVtcyBUUy03OHh4IHBsYXRmb3JtLgorCitjb25maWcgTUFDSF9NVjIxMjAKKwlib29sICJIUCBNZWRpYSBWYXVsdCBtdjIxMjAiCisJaGVscAorCSAgU2F5ICdZJyBoZXJlIGlmIHlvdSB3YW50IHlvdXIga2VybmVsIHRvIHN1cHBvcnQgdGhlCisJICBIUCBNZWRpYSBWYXVsdCBtdjIxMjAgb3IgbXY1MTAwLgorCitjb25maWcgTUFDSF9NU1MyCisJYm9vbCAiTWF4dG9yIFNoYXJlZCBTdG9yYWdlIElJIgorCWhlbHAKKwkgIFNheSAnWScgaGVyZSBpZiB5b3Ugd2FudCB5b3VyIGtlcm5lbCB0byBzdXBwb3J0IHRoZQorCSAgTWF4dG9yIFNoYXJlZCBTdG9yYWdlIElJIHBsYXRmb3JtLgorCitjb25maWcgTUFDSF9XTlI4NTRUCisJYm9vbCAiTmV0Z2VhciBXTlI4NTRUIgorCWhlbHAKKwkgIFNheSAnWScgaGVyZSBpZiB5b3Ugd2FudCB5b3VyIGtlcm5lbCB0byBzdXBwb3J0IHRoZQorCSAgTmV0Z2VhciBXTlI4NTRUIHBsYXRmb3JtLgorCitjb25maWcgTUFDSF9SRDg4RjUxODFMX0dFCisJYm9vbCAiTWFydmVsbCBPcmlvbi1Wb0lQIEdFIFJlZmVyZW5jZSBEZXNpZ24iCisJaGVscAorCSAgU2F5ICdZJyBoZXJlIGlmIHlvdSB3YW50IHlvdXIga2VybmVsIHRvIHN1cHBvcnQgdGhlCisJICBNYXJ2ZWxsIE9yaW9uLVZvSVAgR0UgKDg4RjUxODFMKSBSRC4KKworY29uZmlnIE1BQ0hfUkQ4OEY1MTgxTF9GWE8KKwlib29sICJNYXJ2ZWxsIE9yaW9uLVZvSVAgRlhPIFJlZmVyZW5jZSBEZXNpZ24iCisJaGVscAorCSAgU2F5ICdZJyBoZXJlIGlmIHlvdSB3YW50IHlvdXIga2VybmVsIHRvIHN1cHBvcnQgdGhlCisJICBNYXJ2ZWxsIE9yaW9uLVZvSVAgRlhPICg4OEY1MTgxTCkgUkQuCisKIGVuZG1lbnUKIAogZW5kaWYKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb3Jpb241eC9NYWtlZmlsZSBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9NYWtlZmlsZQppbmRleCA5MzAxYmY1Li5mY2M0OGE4IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgvTWFrZWZpbGUKKysrIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L01ha2VmaWxlCkBAIC0xLDcgKzEsMTUgQEAKLW9iai15CQkJCSs9IGNvbW1vbi5vIGFkZHItbWFwLm8gcGNpLm8gZ3Bpby5vIGlycS5vCitvYmoteQkJCQkrPSBjb21tb24ubyBhZGRyLW1hcC5vIHBjaS5vIGdwaW8ubyBpcnEubyBtcHAubwogb2JqLSQoQ09ORklHX01BQ0hfREI4OEY1MjgxKQkrPSBkYjg4ZjUyODEtc2V0dXAubwogb2JqLSQoQ09ORklHX01BQ0hfUkQ4OEY1MTgyKQkrPSByZDg4ZjUxODItc2V0dXAubwogb2JqLSQoQ09ORklHX01BQ0hfS1VST0JPWF9QUk8pCSs9IGt1cm9ib3hfcHJvLXNldHVwLm8KIG9iai0kKENPTkZJR19NQUNIX0xJTktTVEFUSU9OX1BSTykgKz0ga3Vyb2JveF9wcm8tc2V0dXAubwogb2JqLSQoQ09ORklHX01BQ0hfRE5TMzIzKQkrPSBkbnMzMjMtc2V0dXAubwotb2JqLSQoQ09ORklHX01BQ0hfVFMyMDkpCSs9IHRzMjA5LXNldHVwLm8KK29iai0kKENPTkZJR19NQUNIX1RTMjA5KQkrPSB0czIwOS1zZXR1cC5vIHRzeDA5LWNvbW1vbi5vCitvYmotJChDT05GSUdfTUFDSF9UUzQwOSkJKz0gdHM0MDktc2V0dXAubyB0c3gwOS1jb21tb24ubworb2JqLSQoQ09ORklHX01BQ0hfV1JUMzUwTl9WMikJKz0gd3J0MzUwbi12Mi1zZXR1cC5vCitvYmotJChDT05GSUdfTUFDSF9UUzc4WFgpCSs9IHRzNzh4eC1zZXR1cC5vCitvYmotJChDT05GSUdfTUFDSF9NVjIxMjApCSs9IG12MjEyMC1zZXR1cC5vCitvYmotJChDT05GSUdfTUFDSF9NU1MyKQkJKz0gbXNzMi1zZXR1cC5vCitvYmotJChDT05GSUdfTUFDSF9XTlI4NTRUKQkrPSB3bnI4NTR0LXNldHVwLm8KK29iai0kKENPTkZJR19NQUNIX1JEODhGNTE4MUxfR0UpCSs9IHJkODhmNTE4MWwtZ2Utc2V0dXAubworb2JqLSQoQ09ORklHX01BQ0hfUkQ4OEY1MTgxTF9GWE8pCSs9IHJkODhmNTE4MWwtZnhvLXNldHVwLm8KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb3Jpb241eC9hZGRyLW1hcC5jIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L2FkZHItbWFwLmMKaW5kZXggZTYzZmIwNS4uNmYwZGJkYSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L2FkZHItbWFwLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L2FkZHItbWFwLmMKQEAgLTcwLDYgKzcwLDcgQEAKIAogCiBzdHJ1Y3QgbWJ1c19kcmFtX3RhcmdldF9pbmZvIG9yaW9uNXhfbWJ1c19kcmFtX2luZm87CitzdGF0aWMgaW50IF9faW5pdGRhdGEgd2luX2FsbG9jX2NvdW50OwogCiBzdGF0aWMgaW50IF9faW5pdCBvcmlvbjV4X2NwdV93aW5fY2FuX3JlbWFwKGludCB3aW4pCiB7CkBAIC04NywxNiArODgsMjIgQEAKIHN0YXRpYyB2b2lkIF9faW5pdCBzZXR1cF9jcHVfd2luKGludCB3aW4sIHUzMiBiYXNlLCB1MzIgc2l6ZSwKIAkJCQkgdTggdGFyZ2V0LCB1OCBhdHRyLCBpbnQgcmVtYXApCiB7Ci0Jb3Jpb241eF93cml0ZShDUFVfV0lOX0JBU0Uod2luKSwgYmFzZSAmIDB4ZmZmZjAwMDApOwotCW9yaW9uNXhfd3JpdGUoQ1BVX1dJTl9DVFJMKHdpbiksCi0JCSgoc2l6ZSAtIDEpICYgMHhmZmZmMDAwMCkgfCAoYXR0ciA8PCA4KSB8ICh0YXJnZXQgPDwgNCkgfCAxKTsKKwlpZiAod2luID49IDgpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJzZXR1cF9jcHVfd2luOiB0cnlpbmcgdG8gYWxsb2NhdGUgIgorCQkJCSJ3aW5kb3cgJWRcbiIsIHdpbik7CisJCXJldHVybjsKKwl9CisKKwl3cml0ZWwoYmFzZSAmIDB4ZmZmZjAwMDAsIENQVV9XSU5fQkFTRSh3aW4pKTsKKwl3cml0ZWwoKChzaXplIC0gMSkgJiAweGZmZmYwMDAwKSB8IChhdHRyIDw8IDgpIHwgKHRhcmdldCA8PCA0KSB8IDEsCisJCUNQVV9XSU5fQ1RSTCh3aW4pKTsKIAogCWlmIChvcmlvbjV4X2NwdV93aW5fY2FuX3JlbWFwKHdpbikpIHsKIAkJaWYgKHJlbWFwIDwgMCkKIAkJCXJlbWFwID0gYmFzZTsKIAotCQlvcmlvbjV4X3dyaXRlKENQVV9XSU5fUkVNQVBfTE8od2luKSwgcmVtYXAgJiAweGZmZmYwMDAwKTsKLQkJb3Jpb241eF93cml0ZShDUFVfV0lOX1JFTUFQX0hJKHdpbiksIDApOworCQl3cml0ZWwocmVtYXAgJiAweGZmZmYwMDAwLCBDUFVfV0lOX1JFTUFQX0xPKHdpbikpOworCQl3cml0ZWwoMCwgQ1BVX1dJTl9SRU1BUF9ISSh3aW4pKTsKIAl9CiB9CiAKQEAgLTEwOSwxMSArMTE2LDExIEBACiAJICogRmlyc3QsIGRpc2FibGUgYW5kIGNsZWFyIHdpbmRvd3MuCiAJICovCiAJZm9yIChpID0gMDsgaSA8IDg7IGkrKykgewotCQlvcmlvbjV4X3dyaXRlKENQVV9XSU5fQkFTRShpKSwgMCk7Ci0JCW9yaW9uNXhfd3JpdGUoQ1BVX1dJTl9DVFJMKGkpLCAwKTsKKwkJd3JpdGVsKDAsIENQVV9XSU5fQkFTRShpKSk7CisJCXdyaXRlbCgwLCBDUFVfV0lOX0NUUkwoaSkpOwogCQlpZiAob3Jpb241eF9jcHVfd2luX2Nhbl9yZW1hcChpKSkgewotCQkJb3Jpb241eF93cml0ZShDUFVfV0lOX1JFTUFQX0xPKGkpLCAwKTsKLQkJCW9yaW9uNXhfd3JpdGUoQ1BVX1dJTl9SRU1BUF9ISShpKSwgMCk7CisJCQl3cml0ZWwoMCwgQ1BVX1dJTl9SRU1BUF9MTyhpKSk7CisJCQl3cml0ZWwoMCwgQ1BVX1dJTl9SRU1BUF9ISShpKSk7CiAJCX0KIAl9CiAKQEAgLTEyOCw2ICsxMzUsNyBAQAogCQlUQVJHRVRfUENJRSwgQVRUUl9QQ0lFX01FTSwgLTEpOwogCXNldHVwX2NwdV93aW4oMywgT1JJT041WF9QQ0lfTUVNX1BIWVNfQkFTRSwgT1JJT041WF9QQ0lfTUVNX1NJWkUsCiAJCVRBUkdFVF9QQ0ksIEFUVFJfUENJX01FTSwgLTEpOworCXdpbl9hbGxvY19jb3VudCA9IDQ7CiAKIAkvKgogCSAqIFNldHVwIE1CVVMgZHJhbSB0YXJnZXQgaW5mby4KQEAgLTE0Nyw4ICsxNTUsOCBAQAogCQkJdyA9ICZvcmlvbjV4X21idXNfZHJhbV9pbmZvLmNzW2NzKytdOwogCQkJdy0+Y3NfaW5kZXggPSBpOwogCQkJdy0+bWJ1c19hdHRyID0gMHhmICYgfigxIDw8IGkpOwotCQkJdy0+YmFzZSA9IGJhc2UgJiAweGZmMDAwMDAwOwotCQkJdy0+c2l6ZSA9IChzaXplIHwgMHgwMGZmZmZmZikgKyAxOworCQkJdy0+YmFzZSA9IGJhc2UgJiAweGZmZmYwMDAwOworCQkJdy0+c2l6ZSA9IChzaXplIHwgMHgwMDAwZmZmZikgKyAxOwogCQl9CiAJfQogCW9yaW9uNXhfbWJ1c19kcmFtX2luZm8ubnVtX2NzID0gY3M7CkBAIC0xNTYsMjUgKzE2NCwzMCBAQAogCiB2b2lkIF9faW5pdCBvcmlvbjV4X3NldHVwX2Rldl9ib290X3dpbih1MzIgYmFzZSwgdTMyIHNpemUpCiB7Ci0Jc2V0dXBfY3B1X3dpbig0LCBiYXNlLCBzaXplLCBUQVJHRVRfREVWX0JVUywgQVRUUl9ERVZfQk9PVCwgLTEpOworCXNldHVwX2NwdV93aW4od2luX2FsbG9jX2NvdW50KyssIGJhc2UsIHNpemUsCisJCSAgICAgIFRBUkdFVF9ERVZfQlVTLCBBVFRSX0RFVl9CT09ULCAtMSk7CiB9CiAKIHZvaWQgX19pbml0IG9yaW9uNXhfc2V0dXBfZGV2MF93aW4odTMyIGJhc2UsIHUzMiBzaXplKQogewotCXNldHVwX2NwdV93aW4oNSwgYmFzZSwgc2l6ZSwgVEFSR0VUX0RFVl9CVVMsIEFUVFJfREVWX0NTMCwgLTEpOworCXNldHVwX2NwdV93aW4od2luX2FsbG9jX2NvdW50KyssIGJhc2UsIHNpemUsCisJCSAgICAgIFRBUkdFVF9ERVZfQlVTLCBBVFRSX0RFVl9DUzAsIC0xKTsKIH0KIAogdm9pZCBfX2luaXQgb3Jpb241eF9zZXR1cF9kZXYxX3dpbih1MzIgYmFzZSwgdTMyIHNpemUpCiB7Ci0Jc2V0dXBfY3B1X3dpbig2LCBiYXNlLCBzaXplLCBUQVJHRVRfREVWX0JVUywgQVRUUl9ERVZfQ1MxLCAtMSk7CisJc2V0dXBfY3B1X3dpbih3aW5fYWxsb2NfY291bnQrKywgYmFzZSwgc2l6ZSwKKwkJICAgICAgVEFSR0VUX0RFVl9CVVMsIEFUVFJfREVWX0NTMSwgLTEpOwogfQogCiB2b2lkIF9faW5pdCBvcmlvbjV4X3NldHVwX2RldjJfd2luKHUzMiBiYXNlLCB1MzIgc2l6ZSkKIHsKLQlzZXR1cF9jcHVfd2luKDcsIGJhc2UsIHNpemUsIFRBUkdFVF9ERVZfQlVTLCBBVFRSX0RFVl9DUzIsIC0xKTsKKwlzZXR1cF9jcHVfd2luKHdpbl9hbGxvY19jb3VudCsrLCBiYXNlLCBzaXplLAorCQkgICAgICBUQVJHRVRfREVWX0JVUywgQVRUUl9ERVZfQ1MyLCAtMSk7CiB9CiAKIHZvaWQgX19pbml0IG9yaW9uNXhfc2V0dXBfcGNpZV93YV93aW4odTMyIGJhc2UsIHUzMiBzaXplKQogewotCXNldHVwX2NwdV93aW4oNywgYmFzZSwgc2l6ZSwgVEFSR0VUX1BDSUUsIEFUVFJfUENJRV9XQSwgLTEpOworCXNldHVwX2NwdV93aW4od2luX2FsbG9jX2NvdW50KyssIGJhc2UsIHNpemUsCisJCSAgICAgIFRBUkdFVF9QQ0lFLCBBVFRSX1BDSUVfV0EsIC0xKTsKIH0KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb3Jpb241eC9jb21tb24uYyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9jb21tb24uYwppbmRleCA0ZjEzZmQwLi5mYWY0ZTMyIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgvY29tbW9uLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L2NvbW1vbi5jCkBAIC0zOSwyNSArMzksMjIgQEAKIAkJLnZpcnR1YWwJPSBPUklPTjVYX1JFR1NfVklSVF9CQVNFLAogCQkucGZuCQk9IF9fcGh5c190b19wZm4oT1JJT041WF9SRUdTX1BIWVNfQkFTRSksCiAJCS5sZW5ndGgJCT0gT1JJT041WF9SRUdTX1NJWkUsCi0JCS50eXBlCQk9IE1UX0RFVklDRQotCX0sCi0JeworCQkudHlwZQkJPSBNVF9ERVZJQ0UsCisJfSwgewogCQkudmlydHVhbAk9IE9SSU9ONVhfUENJRV9JT19WSVJUX0JBU0UsCiAJCS5wZm4JCT0gX19waHlzX3RvX3BmbihPUklPTjVYX1BDSUVfSU9fUEhZU19CQVNFKSwKIAkJLmxlbmd0aAkJPSBPUklPTjVYX1BDSUVfSU9fU0laRSwKLQkJLnR5cGUJCT0gTVRfREVWSUNFCi0JfSwKLQl7CisJCS50eXBlCQk9IE1UX0RFVklDRSwKKwl9LCB7CiAJCS52aXJ0dWFsCT0gT1JJT041WF9QQ0lfSU9fVklSVF9CQVNFLAogCQkucGZuCQk9IF9fcGh5c190b19wZm4oT1JJT041WF9QQ0lfSU9fUEhZU19CQVNFKSwKIAkJLmxlbmd0aAkJPSBPUklPTjVYX1BDSV9JT19TSVpFLAotCQkudHlwZQkJPSBNVF9ERVZJQ0UKLQl9LAotCXsKKwkJLnR5cGUJCT0gTVRfREVWSUNFLAorCX0sIHsKIAkJLnZpcnR1YWwJPSBPUklPTjVYX1BDSUVfV0FfVklSVF9CQVNFLAogCQkucGZuCQk9IF9fcGh5c190b19wZm4oT1JJT041WF9QQ0lFX1dBX1BIWVNfQkFTRSksCiAJCS5sZW5ndGgJCT0gT1JJT041WF9QQ0lFX1dBX1NJWkUsCi0JCS50eXBlCQk9IE1UX0RFVklDRQorCQkudHlwZQkJPSBNVF9ERVZJQ0UsCiAJfSwKIH07CiAKQEAgLTY2LDEwMSArNjMsMzIgQEAKIAlpb3RhYmxlX2luaXQob3Jpb241eF9pb19kZXNjLCBBUlJBWV9TSVpFKG9yaW9uNXhfaW9fZGVzYykpOwogfQogCisKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogVUFSVAorICogRUhDSQogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0KLXN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2Ugb3Jpb241eF91YXJ0X3Jlc291cmNlc1tdID0gewotCXsKLQkJLnN0YXJ0CQk9IFVBUlQwX1BIWVNfQkFTRSwKLQkJLmVuZAkJPSBVQVJUMF9QSFlTX0JBU0UgKyAweGZmLAotCQkuZmxhZ3MJCT0gSU9SRVNPVVJDRV9NRU0sCi0JfSwKLQl7Ci0JCS5zdGFydAkJPSBJUlFfT1JJT041WF9VQVJUMCwKLQkJLmVuZAkJPSBJUlFfT1JJT041WF9VQVJUMCwKLQkJLmZsYWdzCQk9IElPUkVTT1VSQ0VfSVJRLAotCX0sCi0JewotCQkuc3RhcnQJCT0gVUFSVDFfUEhZU19CQVNFLAotCQkuZW5kCQk9IFVBUlQxX1BIWVNfQkFTRSArIDB4ZmYsCi0JCS5mbGFncwkJPSBJT1JFU09VUkNFX01FTSwKLQl9LAotCXsKLQkJLnN0YXJ0CQk9IElSUV9PUklPTjVYX1VBUlQxLAotCQkuZW5kCQk9IElSUV9PUklPTjVYX1VBUlQxLAotCQkuZmxhZ3MJCT0gSU9SRVNPVVJDRV9JUlEsCi0JfSwKLX07Ci0KLXN0YXRpYyBzdHJ1Y3QgcGxhdF9zZXJpYWw4MjUwX3BvcnQgb3Jpb241eF91YXJ0X2RhdGFbXSA9IHsKLQl7Ci0JCS5tYXBiYXNlCT0gVUFSVDBfUEhZU19CQVNFLAotCQkubWVtYmFzZQk9IChjaGFyICopVUFSVDBfVklSVF9CQVNFLAotCQkuaXJxCQk9IElSUV9PUklPTjVYX1VBUlQwLAotCQkuZmxhZ3MJCT0gVVBGX1NLSVBfVEVTVCB8IFVQRl9CT09UX0FVVE9DT05GLAotCQkuaW90eXBlCQk9IFVQSU9fTUVNLAotCQkucmVnc2hpZnQJPSAyLAotCQkudWFydGNsawk9IE9SSU9ONVhfVENMSywKLQl9LAotCXsKLQkJLm1hcGJhc2UJPSBVQVJUMV9QSFlTX0JBU0UsCi0JCS5tZW1iYXNlCT0gKGNoYXIgKilVQVJUMV9WSVJUX0JBU0UsCi0JCS5pcnEJCT0gSVJRX09SSU9ONVhfVUFSVDEsCi0JCS5mbGFncwkJPSBVUEZfU0tJUF9URVNUIHwgVVBGX0JPT1RfQVVUT0NPTkYsCi0JCS5pb3R5cGUJCT0gVVBJT19NRU0sCi0JCS5yZWdzaGlmdAk9IDIsCi0JCS51YXJ0Y2xrCT0gT1JJT041WF9UQ0xLLAotCX0sCi0JeyB9LAotfTsKLQotc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2Ugb3Jpb241eF91YXJ0ID0gewotCS5uYW1lCQkJPSAic2VyaWFsODI1MCIsCi0JLmlkCQkJPSBQTEFUODI1MF9ERVZfUExBVEZPUk0sCi0JLmRldgkJCT0gewotCQkucGxhdGZvcm1fZGF0YQk9IG9yaW9uNXhfdWFydF9kYXRhLAotCX0sCi0JLnJlc291cmNlCQk9IG9yaW9uNXhfdWFydF9yZXNvdXJjZXMsCi0JLm51bV9yZXNvdXJjZXMJCT0gQVJSQVlfU0laRShvcmlvbjV4X3VhcnRfcmVzb3VyY2VzKSwKLX07Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBVU0IgQ29udHJvbGxlciAtIDIgaW50ZXJmYWNlcwotICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLQotc3RhdGljIHN0cnVjdCByZXNvdXJjZSBvcmlvbjV4X2VoY2kwX3Jlc291cmNlc1tdID0gewotCXsKLQkJLnN0YXJ0CT0gT1JJT041WF9VU0IwX1BIWVNfQkFTRSwKLQkJLmVuZAk9IE9SSU9ONVhfVVNCMF9QSFlTX0JBU0UgKyBTWl80SyAtIDEsCi0JCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAotCX0sCi0JewotCQkuc3RhcnQJPSBJUlFfT1JJT041WF9VU0IwX0NUUkwsCi0JCS5lbmQJPSBJUlFfT1JJT041WF9VU0IwX0NUUkwsCi0JCS5mbGFncwk9IElPUkVTT1VSQ0VfSVJRLAotCX0sCi19OwotCi1zdGF0aWMgc3RydWN0IHJlc291cmNlIG9yaW9uNXhfZWhjaTFfcmVzb3VyY2VzW10gPSB7Ci0JewotCQkuc3RhcnQJPSBPUklPTjVYX1VTQjFfUEhZU19CQVNFLAotCQkuZW5kCT0gT1JJT041WF9VU0IxX1BIWVNfQkFTRSArIFNaXzRLIC0gMSwKLQkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCi0JfSwKLQl7Ci0JCS5zdGFydAk9IElSUV9PUklPTjVYX1VTQjFfQ1RSTCwKLQkJLmVuZAk9IElSUV9PUklPTjVYX1VTQjFfQ1RSTCwKLQkJLmZsYWdzCT0gSU9SRVNPVVJDRV9JUlEsCi0JfSwKLX07Ci0KIHN0YXRpYyBzdHJ1Y3Qgb3Jpb25fZWhjaV9kYXRhIG9yaW9uNXhfZWhjaV9kYXRhID0gewogCS5kcmFtCQk9ICZvcmlvbjV4X21idXNfZHJhbV9pbmZvLAogfTsKIAogc3RhdGljIHU2NCBlaGNpX2RtYW1hc2sgPSAweGZmZmZmZmZmVUw7CiAKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBFSENJMAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgc3RydWN0IHJlc291cmNlIG9yaW9uNXhfZWhjaTBfcmVzb3VyY2VzW10gPSB7CisJeworCQkuc3RhcnQJPSBPUklPTjVYX1VTQjBfUEhZU19CQVNFLAorCQkuZW5kCT0gT1JJT041WF9VU0IwX1BIWVNfQkFTRSArIFNaXzRLIC0gMSwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwgeworCQkuc3RhcnQJPSBJUlFfT1JJT041WF9VU0IwX0NUUkwsCisJCS5lbmQJPSBJUlFfT1JJT041WF9VU0IwX0NUUkwsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCiBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBvcmlvbjV4X2VoY2kwID0gewogCS5uYW1lCQk9ICJvcmlvbi1laGNpIiwKIAkuaWQJCT0gMCwKQEAgLTE3Myw2ICsxMDEsMjcgQEAKIAkubnVtX3Jlc291cmNlcwk9IEFSUkFZX1NJWkUob3Jpb241eF9laGNpMF9yZXNvdXJjZXMpLAogfTsKIAordm9pZCBfX2luaXQgb3Jpb241eF9laGNpMF9pbml0KHZvaWQpCit7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZvcmlvbjV4X2VoY2kwKTsKK30KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEVIQ0kxCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2Ugb3Jpb241eF9laGNpMV9yZXNvdXJjZXNbXSA9IHsKKwl7CisJCS5zdGFydAk9IE9SSU9ONVhfVVNCMV9QSFlTX0JBU0UsCisJCS5lbmQJPSBPUklPTjVYX1VTQjFfUEhZU19CQVNFICsgU1pfNEsgLSAxLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKKwl9LCB7CisJCS5zdGFydAk9IElSUV9PUklPTjVYX1VTQjFfQ1RSTCwKKwkJLmVuZAk9IElSUV9PUklPTjVYX1VTQjFfQ1RSTCwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9JUlEsCisJfSwKK307CisKIHN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG9yaW9uNXhfZWhjaTEgPSB7CiAJLm5hbWUJCT0gIm9yaW9uLWVoY2kiLAogCS5pZAkJPSAxLApAQCAtMTg1LDExICsxMzQsMTUgQEAKIAkubnVtX3Jlc291cmNlcwk9IEFSUkFZX1NJWkUob3Jpb241eF9laGNpMV9yZXNvdXJjZXMpLAogfTsKIAotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBHaWdhYml0IEV0aGVybmV0IHBvcnQKLSAqIChUaGUgT3Jpb24gYW5kIERpc2NvdmVyeSAoTVY2NDN4eCkgZmFtaWxpZXMgdXNlIHRoZSBzYW1lIEV0aGVybmV0IGRyaXZlcikKLSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwordm9pZCBfX2luaXQgb3Jpb241eF9laGNpMV9pbml0KHZvaWQpCit7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZvcmlvbjV4X2VoY2kxKTsKK30KIAorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEdpZ0UKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogc3RydWN0IG12NjQzeHhfZXRoX3NoYXJlZF9wbGF0Zm9ybV9kYXRhIG9yaW9uNXhfZXRoX3NoYXJlZF9kYXRhID0gewogCS5kcmFtCQk9ICZvcmlvbjV4X21idXNfZHJhbV9pbmZvLAogCS50X2NsawkJPSBPUklPTjVYX1RDTEssCkBAIC0yMTksNyArMTcyLDcgQEAKIAkJLnN0YXJ0CT0gSVJRX09SSU9ONVhfRVRIX1NVTSwKIAkJLmVuZAk9IElSUV9PUklPTjVYX0VUSF9TVU0sCiAJCS5mbGFncwk9IElPUkVTT1VSQ0VfSVJRLAotCX0KKwl9LAogfTsKIAogc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2Ugb3Jpb241eF9ldGggPSB7CkBAIC0yMzgsMTEgKzE5MSwxMCBAQAogCXBsYXRmb3JtX2RldmljZV9yZWdpc3Rlcigmb3Jpb241eF9ldGgpOwogfQogCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIEkyQyBjb250cm9sbGVyCi0gKiAoVGhlIE9yaW9uIGFuZCBEaXNjb3ZlcnkgKE1WNjQzeHgpIGZhbWlsaWVzIHNoYXJlIHRoZSBzYW1lIEkyQyBjb250cm9sbGVyKQotICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogSTJDCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIHN0YXRpYyBzdHJ1Y3QgbXY2NHh4eF9pMmNfcGRhdGEgb3Jpb241eF9pMmNfcGRhdGEgPSB7CiAJLmZyZXFfbQkJPSA4LCAvKiBhc3N1bWVzIDE2NiBNSHogVENMSyAqLwogCS5mcmVxX24JCT0gMywKQEAgLTI1MSwxNiArMjAzLDE1IEBACiAKIHN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2Ugb3Jpb241eF9pMmNfcmVzb3VyY2VzW10gPSB7CiAJewotCQkubmFtZSAgID0gImkyYyBiYXNlIiwKLQkJLnN0YXJ0ICA9IEkyQ19QSFlTX0JBU0UsCi0JCS5lbmQgICAgPSBJMkNfUEhZU19CQVNFICsgMHgyMCAtMSwKLQkJLmZsYWdzICA9IElPUkVTT1VSQ0VfTUVNLAotCX0sCi0JewotCQkubmFtZSAgID0gImkyYyBpcnEiLAotCQkuc3RhcnQgID0gSVJRX09SSU9ONVhfSTJDLAotCQkuZW5kICAgID0gSVJRX09SSU9ONVhfSTJDLAotCQkuZmxhZ3MgID0gSU9SRVNPVVJDRV9JUlEsCisJCS5uYW1lCT0gImkyYyBiYXNlIiwKKwkJLnN0YXJ0CT0gSTJDX1BIWVNfQkFTRSwKKwkJLmVuZAk9IEkyQ19QSFlTX0JBU0UgKyAweDFmLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKKwl9LCB7CisJCS5uYW1lCT0gImkyYyBpcnEiLAorCQkuc3RhcnQJPSBJUlFfT1JJT041WF9JMkMsCisJCS5lbmQJPSBJUlFfT1JJT041WF9JMkMsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfSVJRLAogCX0sCiB9OwogCkBAIC0yNzAsMzYgKzIyMSw0MSBAQAogCS5udW1fcmVzb3VyY2VzCT0gQVJSQVlfU0laRShvcmlvbjV4X2kyY19yZXNvdXJjZXMpLAogCS5yZXNvdXJjZQk9IG9yaW9uNXhfaTJjX3Jlc291cmNlcywKIAkuZGV2CQk9IHsKLQkJLnBsYXRmb3JtX2RhdGEgPSAmb3Jpb241eF9pMmNfcGRhdGEsCisJCS5wbGF0Zm9ybV9kYXRhCT0gJm9yaW9uNXhfaTJjX3BkYXRhLAogCX0sCiB9OwogCit2b2lkIF9faW5pdCBvcmlvbjV4X2kyY19pbml0KHZvaWQpCit7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZvcmlvbjV4X2kyYyk7Cit9CisKKwogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBTYXRhIHBvcnQKKyAqIFNBVEEKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogc3RhdGljIHN0cnVjdCByZXNvdXJjZSBvcmlvbjV4X3NhdGFfcmVzb3VyY2VzW10gPSB7Ci0gICAgICAgIHsKLSAgICAgICAgICAgICAgICAubmFtZSAgID0gInNhdGEgYmFzZSIsCi0gICAgICAgICAgICAgICAgLnN0YXJ0ICA9IE9SSU9ONVhfU0FUQV9QSFlTX0JBU0UsCi0gICAgICAgICAgICAgICAgLmVuZCAgICA9IE9SSU9ONVhfU0FUQV9QSFlTX0JBU0UgKyAweDUwMDAgLSAxLAotICAgICAgICAgICAgICAgIC5mbGFncyAgPSBJT1JFU09VUkNFX01FTSwKLSAgICAgICAgfSwKIAl7Ci0gICAgICAgICAgICAgICAgLm5hbWUgICA9ICJzYXRhIGlycSIsCi0gICAgICAgICAgICAgICAgLnN0YXJ0ICA9IElSUV9PUklPTjVYX1NBVEEsCi0gICAgICAgICAgICAgICAgLmVuZCAgICA9IElSUV9PUklPTjVYX1NBVEEsCi0gICAgICAgICAgICAgICAgLmZsYWdzICA9IElPUkVTT1VSQ0VfSVJRLAotICAgICAgICB9LAorCQkubmFtZQk9ICJzYXRhIGJhc2UiLAorCQkuc3RhcnQJPSBPUklPTjVYX1NBVEFfUEhZU19CQVNFLAorCQkuZW5kCT0gT1JJT041WF9TQVRBX1BIWVNfQkFTRSArIDB4NTAwMCAtIDEsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCX0sIHsKKwkJLm5hbWUJPSAic2F0YSBpcnEiLAorCQkuc3RhcnQJPSBJUlFfT1JJT041WF9TQVRBLAorCQkuZW5kCT0gSVJRX09SSU9ONVhfU0FUQSwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9JUlEsCisJfSwKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG9yaW9uNXhfc2F0YSA9IHsKLQkubmFtZSAgICAgICAgICAgPSAic2F0YV9tdiIsCi0JLmlkICAgICAgICAgICAgID0gMCwKKwkubmFtZQkJPSAic2F0YV9tdiIsCisJLmlkCQk9IDAsCiAJLmRldgkJPSB7CiAJCS5jb2hlcmVudF9kbWFfbWFzawk9IDB4ZmZmZmZmZmYsCiAJfSwKLQkubnVtX3Jlc291cmNlcyAgPSBBUlJBWV9TSVpFKG9yaW9uNXhfc2F0YV9yZXNvdXJjZXMpLAotCS5yZXNvdXJjZSAgICAgICA9IG9yaW9uNXhfc2F0YV9yZXNvdXJjZXMsCisJLm51bV9yZXNvdXJjZXMJPSBBUlJBWV9TSVpFKG9yaW9uNXhfc2F0YV9yZXNvdXJjZXMpLAorCS5yZXNvdXJjZQk9IG9yaW9uNXhfc2F0YV9yZXNvdXJjZXMsCiB9OwogCiB2b2lkIF9faW5pdCBvcmlvbjV4X3NhdGFfaW5pdChzdHJ1Y3QgbXZfc2F0YV9wbGF0Zm9ybV9kYXRhICpzYXRhX2RhdGEpCkBAIC0zMDksMjMgKzI2NSwxMTEgQEAKIAlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm9yaW9uNXhfc2F0YSk7CiB9CiAKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBVQVJUMAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgc3RydWN0IHBsYXRfc2VyaWFsODI1MF9wb3J0IG9yaW9uNXhfdWFydDBfZGF0YVtdID0geworCXsKKwkJLm1hcGJhc2UJPSBVQVJUMF9QSFlTX0JBU0UsCisJCS5tZW1iYXNlCT0gKGNoYXIgKilVQVJUMF9WSVJUX0JBU0UsCisJCS5pcnEJCT0gSVJRX09SSU9ONVhfVUFSVDAsCisJCS5mbGFncwkJPSBVUEZfU0tJUF9URVNUIHwgVVBGX0JPT1RfQVVUT0NPTkYsCisJCS5pb3R5cGUJCT0gVVBJT19NRU0sCisJCS5yZWdzaGlmdAk9IDIsCisJCS51YXJ0Y2xrCT0gT1JJT041WF9UQ0xLLAorCX0sIHsKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBvcmlvbjV4X3VhcnQwX3Jlc291cmNlc1tdID0geworCXsKKwkJLnN0YXJ0CQk9IFVBUlQwX1BIWVNfQkFTRSwKKwkJLmVuZAkJPSBVQVJUMF9QSFlTX0JBU0UgKyAweGZmLAorCQkuZmxhZ3MJCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwgeworCQkuc3RhcnQJCT0gSVJRX09SSU9ONVhfVUFSVDAsCisJCS5lbmQJCT0gSVJRX09SSU9ONVhfVUFSVDAsCisJCS5mbGFncwkJPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2Ugb3Jpb241eF91YXJ0MCA9IHsKKwkubmFtZQkJCT0gInNlcmlhbDgyNTAiLAorCS5pZAkJCT0gUExBVDgyNTBfREVWX1BMQVRGT1JNLAorCS5kZXYJCQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSBvcmlvbjV4X3VhcnQwX2RhdGEsCisJfSwKKwkucmVzb3VyY2UJCT0gb3Jpb241eF91YXJ0MF9yZXNvdXJjZXMsCisJLm51bV9yZXNvdXJjZXMJCT0gQVJSQVlfU0laRShvcmlvbjV4X3VhcnQwX3Jlc291cmNlcyksCit9OworCit2b2lkIF9faW5pdCBvcmlvbjV4X3VhcnQwX2luaXQodm9pZCkKK3sKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm9yaW9uNXhfdWFydDApOworfQorCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVUFSVDEKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHN0cnVjdCBwbGF0X3NlcmlhbDgyNTBfcG9ydCBvcmlvbjV4X3VhcnQxX2RhdGFbXSA9IHsKKwl7CisJCS5tYXBiYXNlCT0gVUFSVDFfUEhZU19CQVNFLAorCQkubWVtYmFzZQk9IChjaGFyICopVUFSVDFfVklSVF9CQVNFLAorCQkuaXJxCQk9IElSUV9PUklPTjVYX1VBUlQxLAorCQkuZmxhZ3MJCT0gVVBGX1NLSVBfVEVTVCB8IFVQRl9CT09UX0FVVE9DT05GLAorCQkuaW90eXBlCQk9IFVQSU9fTUVNLAorCQkucmVnc2hpZnQJPSAyLAorCQkudWFydGNsawk9IE9SSU9ONVhfVENMSywKKwl9LCB7CisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2Ugb3Jpb241eF91YXJ0MV9yZXNvdXJjZXNbXSA9IHsKKwl7CisJCS5zdGFydAkJPSBVQVJUMV9QSFlTX0JBU0UsCisJCS5lbmQJCT0gVUFSVDFfUEhZU19CQVNFICsgMHhmZiwKKwkJLmZsYWdzCQk9IElPUkVTT1VSQ0VfTUVNLAorCX0sIHsKKwkJLnN0YXJ0CQk9IElSUV9PUklPTjVYX1VBUlQxLAorCQkuZW5kCQk9IElSUV9PUklPTjVYX1VBUlQxLAorCQkuZmxhZ3MJCT0gSU9SRVNPVVJDRV9JUlEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG9yaW9uNXhfdWFydDEgPSB7CisJLm5hbWUJCQk9ICJzZXJpYWw4MjUwIiwKKwkuaWQJCQk9IFBMQVQ4MjUwX0RFVl9QTEFURk9STTEsCisJLmRldgkJCT0geworCQkucGxhdGZvcm1fZGF0YQk9IG9yaW9uNXhfdWFydDFfZGF0YSwKKwl9LAorCS5yZXNvdXJjZQkJPSBvcmlvbjV4X3VhcnQxX3Jlc291cmNlcywKKwkubnVtX3Jlc291cmNlcwkJPSBBUlJBWV9TSVpFKG9yaW9uNXhfdWFydDFfcmVzb3VyY2VzKSwKK307CisKK3ZvaWQgX19pbml0IG9yaW9uNXhfdWFydDFfaW5pdCh2b2lkKQoreworCXBsYXRmb3JtX2RldmljZV9yZWdpc3Rlcigmb3Jpb241eF91YXJ0MSk7Cit9CisKKwogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBUaW1lIGhhbmRsaW5nCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLQogc3RhdGljIHZvaWQgb3Jpb241eF90aW1lcl9pbml0KHZvaWQpCiB7CiAJb3Jpb25fdGltZV9pbml0KElSUV9PUklPTjVYX0JSSURHRSwgT1JJT041WF9UQ0xLKTsKIH0KIAogc3RydWN0IHN5c190aW1lciBvcmlvbjV4X3RpbWVyID0gewotICAgICAgICAuaW5pdCA9IG9yaW9uNXhfdGltZXJfaW5pdCwKKwkuaW5pdCA9IG9yaW9uNXhfdGltZXJfaW5pdCwKIH07CiAKKwogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBHZW5lcmFsCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLQogLyoKICAqIElkZW50aWZ5IGRldmljZSBJRCBhbmQgcmV2IGZyb20gUENJZSBjb25maWd1cmF0aW9uIGhlYWRlciBzcGFjZSAnMCcuCiAgKi8KQEAgLTM1MCw4ICszOTQsMTAgQEAKIAl9IGVsc2UgaWYgKCpkZXYgPT0gTVY4OEY1MTgxX0RFVl9JRCkgewogCQlpZiAoKnJldiA9PSBNVjg4RjUxODFfUkVWX0IxKSB7CiAJCQkqZGV2X25hbWUgPSAiTVY4OEY1MTgxLVJldi1CMSI7CisJCX0gZWxzZSBpZiAoKnJldiA9PSBNVjg4RjUxODFMX1JFVl9BMSkgeworCQkJKmRldl9uYW1lID0gIk1WODhGNTE4MUwtUmV2LUExIjsKIAkJfSBlbHNlIHsKLQkJCSpkZXZfbmFtZSA9ICJNVjg4RjUxODEtUmV2LVVuc3VwcG9ydGVkIjsKKwkJCSpkZXZfbmFtZSA9ICJNVjg4RjUxODEoTCktUmV2LVVuc3VwcG9ydGVkIjsKIAkJfQogCX0gZWxzZSB7CiAJCSpkZXZfbmFtZSA9ICJEZXZpY2UtVW5rbm93biI7CkBAIC0zNzAsMTUgKzQxNiw2IEBACiAJICogU2V0dXAgT3Jpb24gYWRkcmVzcyBtYXAKIAkgKi8KIAlvcmlvbjV4X3NldHVwX2NwdV9tYnVzX2JyaWRnZSgpOwotCi0JLyoKLQkgKiBSZWdpc3RlciBkZXZpY2VzLgotCSAqLwotCXBsYXRmb3JtX2RldmljZV9yZWdpc3Rlcigmb3Jpb241eF91YXJ0KTsKLQlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm9yaW9uNXhfZWhjaTApOwotCWlmIChkZXYgPT0gTVY4OEY1MTgyX0RFVl9JRCkKLQkJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZvcmlvbjV4X2VoY2kxKTsKLQlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm9yaW9uNXhfaTJjKTsKIH0KIAogLyoKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb3Jpb241eC9jb21tb24uaCBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9jb21tb24uaAppbmRleCBiZDBmMDVkLi5mNzJjZjBlIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgvY29tbW9uLmgKKysrIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L2NvbW1vbi5oCkBAIC0xLDEwICsxLDEyIEBACiAjaWZuZGVmIF9fQVJDSF9PUklPTjVYX0NPTU1PTl9ICiAjZGVmaW5lIF9fQVJDSF9PUklPTjVYX0NPTU1PTl9ICiAKK3N0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhOworc3RydWN0IG12X3NhdGFfcGxhdGZvcm1fZGF0YTsKKwogLyoKICAqIEJhc2ljIE9yaW9uIGluaXQgZnVuY3Rpb25zIHVzZWQgZWFybHkgYnkgbWFjaGluZS1zZXR1cC4KICAqLwotCiB2b2lkIG9yaW9uNXhfbWFwX2lvKHZvaWQpOwogdm9pZCBvcmlvbjV4X2luaXRfaXJxKHZvaWQpOwogdm9pZCBvcmlvbjV4X2luaXQodm9pZCk7CkBAIC0yMywxNSArMjUsMjIgQEAKIHZvaWQgb3Jpb241eF9zZXR1cF9kZXYyX3dpbih1MzIgYmFzZSwgdTMyIHNpemUpOwogdm9pZCBvcmlvbjV4X3NldHVwX3BjaWVfd2Ffd2luKHUzMiBiYXNlLCB1MzIgc2l6ZSk7CiAKLS8qCi0gKiBTaGFyZWQgY29kZSB1c2VkIGludGVybmFsbHkgYnkgb3RoZXIgT3Jpb24gY29yZSBmdW5jdGlvbnMuCi0gKiAoL21hY2gtb3Jpb24vcGNpLmMpCi0gKi8KK3ZvaWQgb3Jpb241eF9laGNpMF9pbml0KHZvaWQpOwordm9pZCBvcmlvbjV4X2VoY2kxX2luaXQodm9pZCk7Cit2b2lkIG9yaW9uNXhfZXRoX2luaXQoc3RydWN0IG12NjQzeHhfZXRoX3BsYXRmb3JtX2RhdGEgKmV0aF9kYXRhKTsKK3ZvaWQgb3Jpb241eF9pMmNfaW5pdCh2b2lkKTsKK3ZvaWQgb3Jpb241eF9zYXRhX2luaXQoc3RydWN0IG12X3NhdGFfcGxhdGZvcm1fZGF0YSAqc2F0YV9kYXRhKTsKK3ZvaWQgb3Jpb241eF91YXJ0MF9pbml0KHZvaWQpOwordm9pZCBvcmlvbjV4X3VhcnQxX2luaXQodm9pZCk7CiAKLXN0cnVjdCBwY2lfc3lzX2RhdGE7CisvKgorICogUENJZS9QQ0kgZnVuY3Rpb25zLgorICovCiBzdHJ1Y3QgcGNpX2J1czsKK3N0cnVjdCBwY2lfc3lzX2RhdGE7CiAKIHZvaWQgb3Jpb241eF9wY2llX2lkKHUzMiAqZGV2LCB1MzIgKnJldik7Cit2b2lkIG9yaW9uNXhfcGNpX3NldF9jYXJkYnVzX21vZGUodm9pZCk7CiBpbnQgb3Jpb241eF9wY2lfc3lzX3NldHVwKGludCBuciwgc3RydWN0IHBjaV9zeXNfZGF0YSAqc3lzKTsKIHN0cnVjdCBwY2lfYnVzICpvcmlvbjV4X3BjaV9zeXNfc2Nhbl9idXMoaW50IG5yLCBzdHJ1Y3QgcGNpX3N5c19kYXRhICpzeXMpOwogaW50IG9yaW9uNXhfcGNpX21hcF9pcnEoc3RydWN0IHBjaV9kZXYgKmRldiwgdTggc2xvdCwgdTggcGluKTsKQEAgLTQwLDI2ICs0OSw5IEBACiAgKiBWYWxpZCBHUElPIHBpbnMgYWNjb3JkaW5nIHRvIE1QUCBzZXR1cCwgdXNlZCBieSBtYWNoaW5lLXNldHVwLgogICogKC9tYWNoLW9yaW9uL2dwaW8uYykuCiAgKi8KLQotdm9pZCBvcmlvbjV4X2dwaW9fc2V0X3ZhbGlkX3BpbnModTMyIHBpbnMpOwordm9pZCBvcmlvbjV4X2dwaW9fc2V0X3ZhbGlkKHVuc2lnbmVkIHBpbiwgaW50IHZhbGlkKTsKIHZvaWQgZ3Bpb19kaXNwbGF5KHZvaWQpOwkvKiBkZWJ1ZyAqLwogCi0vKgotICogUHVsbCBpbiBPcmlvbiBFdGhlcm5ldCBwbGF0Zm9ybV9kYXRhLCB1c2VkIGJ5IG1hY2hpbmUtc2V0dXAKLSAqLwotCi1zdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YTsKLQotdm9pZCBvcmlvbjV4X2V0aF9pbml0KHN0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhICpldGhfZGF0YSk7Ci0KLS8qCi0gKiBPcmlvbiBTYXRhIHBsYXRmb3JtX2RhdGEsIHVzZWQgYnkgbWFjaGluZS1zZXR1cAotICovCi0KLXN0cnVjdCBtdl9zYXRhX3BsYXRmb3JtX2RhdGE7Ci0KLXZvaWQgb3Jpb241eF9zYXRhX2luaXQoc3RydWN0IG12X3NhdGFfcGxhdGZvcm1fZGF0YSAqc2F0YV9kYXRhKTsKLQogc3RydWN0IG1hY2hpbmVfZGVzYzsKIHN0cnVjdCBtZW1pbmZvOwogc3RydWN0IHRhZzsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb3Jpb241eC9kYjg4ZjUyODEtc2V0dXAuYyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9kYjg4ZjUyODEtc2V0dXAuYwppbmRleCA0NGM2NDM0Li44ODQwNWU3IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgvZGI4OGY1MjgxLXNldHVwLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L2RiODhmNTI4MS1zZXR1cC5jCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSA8YXNtL2FyY2gvb3Jpb241eC5oPgogI2luY2x1ZGUgPGFzbS9wbGF0LW9yaW9uL29yaW9uX25hbmQuaD4KICNpbmNsdWRlICJjb21tb24uaCIKKyNpbmNsdWRlICJtcHAuaCIKIAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBEQi04OEY1MjgxIG9uIGJvYXJkIGRldmljZXMKQEAgLTg2LDcgKzg3LDcgQEAKIAkubmFtZQkJPSAicGh5c21hcC1mbGFzaCIsCiAJLmlkCQk9IDAsCiAJLmRldgkJPSB7Ci0JCS5wbGF0Zm9ybV9kYXRhID0gJmRiODhmNTI4MV9ib290X2ZsYXNoX2RhdGEsCisJCS5wbGF0Zm9ybV9kYXRhCT0gJmRiODhmNTI4MV9ib290X2ZsYXNoX2RhdGEsCiAJfSwKIAkubnVtX3Jlc291cmNlcwk9IDEsCiAJLnJlc291cmNlCT0gJmRiODhmNTI4MV9ib290X2ZsYXNoX3Jlc291cmNlLApAQCAtMTEwLDcgKzExMSw3IEBACiAJLm5hbWUJCT0gInBoeXNtYXAtZmxhc2giLAogCS5pZAkJPSAxLAogCS5kZXYJCT0gewotCQkucGxhdGZvcm1fZGF0YSA9ICZkYjg4ZjUyODFfbm9yX2ZsYXNoX2RhdGEsCisJCS5wbGF0Zm9ybV9kYXRhCT0gJmRiODhmNTI4MV9ub3JfZmxhc2hfZGF0YSwKIAl9LAogCS5udW1fcmVzb3VyY2VzCT0gMSwKIAkucmVzb3VyY2UJPSAmZGI4OGY1MjgxX25vcl9mbGFzaF9yZXNvdXJjZSwKQEAgLTEyNSwxOCArMTI2LDE1IEBACiAJCS5uYW1lID0gImtlcm5lbCIsCiAJCS5vZmZzZXQgPSAwLAogCQkuc2l6ZSA9IFNaXzJNLAotCX0sCi0JeworCX0sIHsKIAkJLm5hbWUgPSAicm9vdCIsCiAJCS5vZmZzZXQgPSBTWl8yTSwKIAkJLnNpemUgPSAoU1pfMTZNIC0gU1pfMk0pLAotCX0sCi0JeworCX0sIHsKIAkJLm5hbWUgPSAidXNlciIsCiAJCS5vZmZzZXQgPSBTWl8xNk0sCiAJCS5zaXplID0gU1pfOE0sCi0JfSwKLQl7CisJfSwgewogCQkubmFtZSA9ICJyZWNvdmVyeSIsCiAJCS5vZmZzZXQgPSAoU1pfMTZNICsgU1pfOE0pLAogCQkuc2l6ZSA9IFNaXzhNLApAQCAtMjg4LDcgKzI4Niw2IEBACiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIHN0YXRpYyBzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YSBkYjg4ZjUyODFfZXRoX2RhdGEgPSB7CiAJLnBoeV9hZGRyCT0gOCwKLQkuZm9yY2VfcGh5X2FkZHIgPSAxLAogfTsKIAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCkBAIC0zMDEsMTEgKzI5OCwyOCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBHZW5lcmFsIFNldHVwCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLQotc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRiODhmNTI4MV9kZXZzW10gX19pbml0ZGF0YSA9IHsKLQkmZGI4OGY1MjgxX2Jvb3RfZmxhc2gsCi0JJmRiODhmNTI4MV9ub3JfZmxhc2gsCi0JJmRiODhmNTI4MV9uYW5kX2ZsYXNoLAorc3RhdGljIHN0cnVjdCBvcmlvbjV4X21wcF9tb2RlIGRiODhmNTI4MV9tcHBfbW9kZXNbXSBfX2luaXRkYXRhID0geworCXsgIDAsIE1QUF9HUElPIH0sCQkvKiBVU0IgT3ZlciBDdXJyZW50ICovCisJeyAgMSwgTVBQX0dQSU8gfSwJCS8qIFVTQiBWYmF0IGlucHV0ICovCisJeyAgMiwgTVBQX1BDSV9BUkIgfSwJCS8qIFBDSV9SRVFuWzJdICovCisJeyAgMywgTVBQX1BDSV9BUkIgfSwJCS8qIFBDSV9HTlRuWzJdICovCisJeyAgNCwgTVBQX1BDSV9BUkIgfSwJCS8qIFBDSV9SRVFuWzNdICovCisJeyAgNSwgTVBQX1BDSV9BUkIgfSwJCS8qIFBDSV9HTlRuWzNdICovCisJeyAgNiwgTVBQX0dQSU8gfSwJCS8qIEpQMCwgQ09OMTcuMiAqLworCXsgIDcsIE1QUF9HUElPIH0sCQkvKiBKUDEsIENPTjE3LjEgKi8KKwl7ICA4LCBNUFBfR1BJTyB9LAkJLyogSlAyLCBDT04xMS4yICovCisJeyAgOSwgTVBQX0dQSU8gfSwJCS8qIEpQMywgQ09OMTEuMyAqLworCXsgMTAsIE1QUF9HUElPIH0sCQkvKiBSVEMgaW50ICovCisJeyAxMSwgTVBQX0dQSU8gfSwJCS8qIEJhdWQgUmF0ZSBHZW5lcmF0b3IgKi8KKwl7IDEyLCBNUFBfR1BJTyB9LAkJLyogUENJIGludCAxICovCisJeyAxMywgTVBQX0dQSU8gfSwJCS8qIFBDSSBpbnQgMiAqLworCXsgMTQsIE1QUF9OQU5EIH0sCQkvKiBOQU5EX1JFblsyXSAqLworCXsgMTUsIE1QUF9OQU5EIH0sCQkvKiBOQU5EX1dFblsyXSAqLworCXsgMTYsIE1QUF9VQVJUIH0sCQkvKiBVQVJUMV9SWCAqLworCXsgMTcsIE1QUF9VQVJUIH0sCQkvKiBVQVJUMV9UWCAqLworCXsgMTgsIE1QUF9VQVJUIH0sCQkvKiBVQVJUMV9DVFNuICovCisJeyAxOSwgTVBQX1VBUlQgfSwJCS8qIFVBUlQxX1JUU24gKi8KKwl7IC0xIH0sCiB9OwogCiBzdGF0aWMgdm9pZCBfX2luaXQgZGI4OGY1MjgxX2luaXQodm9pZCkKQEAgLTMxNSwzOSArMzI5LDMxIEBACiAJICovCiAJb3Jpb241eF9pbml0KCk7CiAKKwlvcmlvbjV4X21wcF9jb25mKGRiODhmNTI4MV9tcHBfbW9kZXMpOworCXdyaXRlbCgwLCBNUFBfREVWX0NUUkwpOwkJLyogREVWX0RbMzE6MTZdICovCisKIAkvKgotCSAqIFNldHVwIHRoZSBDUFUgYWRkcmVzcyBkZWNvZGUgd2luZG93cyBmb3Igb3VyIG9uLWJvYXJkIGRldmljZXMKKwkgKiBDb25maWd1cmUgcGVyaXBoZXJhbHMuCiAJICovCisJb3Jpb241eF9laGNpMF9pbml0KCk7CisJb3Jpb241eF9ldGhfaW5pdCgmZGI4OGY1MjgxX2V0aF9kYXRhKTsKKwlvcmlvbjV4X2kyY19pbml0KCk7CisJb3Jpb241eF91YXJ0MF9pbml0KCk7CisJb3Jpb241eF91YXJ0MV9pbml0KCk7CisKIAlvcmlvbjV4X3NldHVwX2Rldl9ib290X3dpbihEQjg4RjUyODFfTk9SX0JPT1RfQkFTRSwKIAkJCQlEQjg4RjUyODFfTk9SX0JPT1RfU0laRSk7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZkYjg4ZjUyODFfYm9vdF9mbGFzaCk7CisKIAlvcmlvbjV4X3NldHVwX2RldjBfd2luKERCODhGNTI4MV83U0VHX0JBU0UsIERCODhGNTI4MV83U0VHX1NJWkUpOworCiAJb3Jpb241eF9zZXR1cF9kZXYxX3dpbihEQjg4RjUyODFfTk9SX0JBU0UsIERCODhGNTI4MV9OT1JfU0laRSk7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZkYjg4ZjUyODFfbm9yX2ZsYXNoKTsKKwogCW9yaW9uNXhfc2V0dXBfZGV2Ml93aW4oREI4OEY1MjgxX05BTkRfQkFTRSwgREI4OEY1MjgxX05BTkRfU0laRSk7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZkYjg4ZjUyODFfbmFuZF9mbGFzaCk7CiAKLQkvKgotCSAqIFNldHVwIE11bHRpcGxleGluZyBQaW5zOgotCSAqIE1QUDA6IEdQSU8gKFVTQiBPdmVyIEN1cnJlbnQpCU1QUDE6IEdQSU8gKFVTQiBWYmF0IGlucHV0KQotCSAqIE1QUDI6IFBDSV9SRVFuWzJdCQkJTVBQMzogUENJX0dOVG5bMl0KLQkgKiBNUFA0OiBQQ0lfUkVRblszXQkJCU1QUDU6IFBDSV9HTlRuWzNdCi0JICogTVBQNjogR1BJTyAoSlAwLCBDT04xNy4yKQkJTVBQNzogR1BJTyAoSlAxLCBDT04xNy4xKQotCSAqIE1QUDg6IEdQSU8gKEpQMiwgQ09OMTEuMikJCU1QUDk6IEdQSU8gKEpQMywgQ09OMTEuMykKLQkgKiBNUFAxMDogR1BJTyAoUlRDIGludCkJCU1QUDExOiBHUElPIChCYXVkIFJhdGUgR2VuZXJhdG9yKQotCSAqIE1QUDEyOiBHUElPIChQQ0kgaW50IDEpCQlNUFAxMzogR1BJTyAoUENJIGludCAyKQotCSAqIE1QUDE0OiBOQU5EX1JFblsyXQkJCU1QUDE1OiBOQU5EX1dFblsyXQotCSAqIE1QUDE2OiBVQVJUMV9SWAkJCU1QUDE3OiBVQVJUMV9UWAotCSAqIE1QUDE4OiBVQVJUMV9DVFMJCQlNUFAxOTogVUFSVDFfUlRTCi0JICogTVBQLURFVjogREVWX0RbMTY6MzFdCi0JICovCi0Jb3Jpb241eF93cml0ZShNUFBfMF83X0NUUkwsIDB4MDAyMjIyMDMpOwotCW9yaW9uNXhfd3JpdGUoTVBQXzhfMTVfQ1RSTCwgMHg0NDAwMDAwMCk7Ci0Jb3Jpb241eF93cml0ZShNUFBfMTZfMTlfQ1RSTCwgMCk7Ci0Jb3Jpb241eF93cml0ZShNUFBfREVWX0NUUkwsIDApOwotCi0Jb3Jpb241eF9ncGlvX3NldF92YWxpZF9waW5zKDB4MDAwMDNmYzMpOwotCi0JcGxhdGZvcm1fYWRkX2RldmljZXMoZGI4OGY1MjgxX2RldnMsIEFSUkFZX1NJWkUoZGI4OGY1MjgxX2RldnMpKTsKIAlpMmNfcmVnaXN0ZXJfYm9hcmRfaW5mbygwLCAmZGI4OGY1MjgxX2kyY19ydGMsIDEpOwotCW9yaW9uNXhfZXRoX2luaXQoJmRiODhmNTI4MV9ldGhfZGF0YSk7CiB9CiAKIE1BQ0hJTkVfU1RBUlQoREI4OEY1MjgxLCAiTWFydmVsbCBPcmlvbi0yIERldmVsb3BtZW50IEJvYXJkIikKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb3Jpb241eC9kbnMzMjMtc2V0dXAuYyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9kbnMzMjMtc2V0dXAuYwppbmRleCAyN2NlOTY3Li4zNzkxY2E2IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgvZG5zMzIzLXNldHVwLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L2RuczMyMy1zZXR1cC5jCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSA8YXNtL21hY2gvcGNpLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvb3Jpb241eC5oPgogI2luY2x1ZGUgImNvbW1vbi5oIgorI2luY2x1ZGUgIm1wcC5oIgogCiAjZGVmaW5lIEROUzMyM19HUElPX0xFRF9SSUdIVF9BTUJFUgkxCiAjZGVmaW5lIEROUzMyM19HUElPX0xFRF9MRUZUX0FNQkVSCTIKQEAgLTUyLDggKzUzLDYgQEAKIAlpZiAoaXJxICE9IC0xKQogCQlyZXR1cm4gaXJxOwogCi0JcHJfZXJyKCIlczogcmVxdWVzdGVkIG1hcHBpbmcgZm9yIHVua25vd24gZGV2aWNlXG4iLCBfX2Z1bmNfXyk7Ci0KIAlyZXR1cm4gLTE7CiB9CiAKQEAgLTgxLDcgKzgwLDYgQEAKIAogc3RhdGljIHN0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhIGRuczMyM19ldGhfZGF0YSA9IHsKIAkucGh5X2FkZHIgPSA4LAotCS5mb3JjZV9waHlfYWRkciA9IDEsCiB9OwogCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpAQCAtMTE5LDcgKzExNyw3IEBACiAJCS5uYW1lCT0gInUtYm9vdCIsCiAJCS5zaXplCT0gMHgwMDAzMDAwMCwKIAkJLm9mZnNldAk9IDB4MDA3ZDAwMDAsCi0JfQorCX0sCiB9OwogCiBzdGF0aWMgc3RydWN0IHBoeXNtYXBfZmxhc2hfZGF0YSBkbnMzMjNfbm9yX2ZsYXNoX2RhdGEgPSB7CkBAIC0xMzcsNyArMTM1LDkgQEAKIHN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGRuczMyM19ub3JfZmxhc2ggPSB7CiAJLm5hbWUJCT0gInBoeXNtYXAtZmxhc2giLAogCS5pZAkJPSAwLAotCS5kZXYJCT0geyAucGxhdGZvcm1fZGF0YSA9ICZkbnMzMjNfbm9yX2ZsYXNoX2RhdGEsIH0sCisJLmRldgkJPSB7CisJCS5wbGF0Zm9ybV9kYXRhCT0gJmRuczMyM19ub3JfZmxhc2hfZGF0YSwKKwl9LAogCS5yZXNvdXJjZQk9ICZkbnMzMjNfbm9yX2ZsYXNoX3Jlc291cmNlLAogCS5udW1fcmVzb3VyY2VzCT0gMSwKIH07CkBAIC0xNzAsNyArMTcwLDkgQEAKIHN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGRuczMyM19ncGlvX2xlZHMgPSB7CiAJLm5hbWUJCT0gImxlZHMtZ3BpbyIsCiAJLmlkCQk9IC0xLAotCS5kZXYJCT0geyAucGxhdGZvcm1fZGF0YSA9ICZkbnMzMjNfbGVkX2RhdGEsIH0sCisJLmRldgkJPSB7CisJCS5wbGF0Zm9ybV9kYXRhCT0gJmRuczMyM19sZWRfZGF0YSwKKwl9LAogfTsKIAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKQEAgLTE4MywzNSArMTg1LDUzIEBACiAJCS5ncGlvCQk9IEROUzMyM19HUElPX0tFWV9SRVNFVCwKIAkJLmRlc2MJCT0gIlJlc2V0IEJ1dHRvbiIsCiAJCS5hY3RpdmVfbG93CT0gMSwKLQl9LAotCXsKKwl9LCB7CiAJCS5jb2RlCQk9IEtFWV9QT1dFUiwKIAkJLmdwaW8JCT0gRE5TMzIzX0dQSU9fS0VZX1BPV0VSLAogCQkuZGVzYwkJPSAiUG93ZXIgQnV0dG9uIiwKIAkJLmFjdGl2ZV9sb3cJPSAxLAotCX0KKwl9LAogfTsKIAogc3RhdGljIHN0cnVjdCBncGlvX2tleXNfcGxhdGZvcm1fZGF0YSBkbnMzMjNfYnV0dG9uX2RhdGEgPSB7CiAJLmJ1dHRvbnMJPSBkbnMzMjNfYnV0dG9ucywKLQkubmJ1dHRvbnMgICAgICAgPSBBUlJBWV9TSVpFKGRuczMyM19idXR0b25zKSwKKwkubmJ1dHRvbnMJPSBBUlJBWV9TSVpFKGRuczMyM19idXR0b25zKSwKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGRuczMyM19idXR0b25fZGV2aWNlID0gewogCS5uYW1lCQk9ICJncGlvLWtleXMiLAogCS5pZAkJPSAtMSwKIAkubnVtX3Jlc291cmNlcwk9IDAsCi0JLmRldgkJPSB7IC5wbGF0Zm9ybV9kYXRhICA9ICZkbnMzMjNfYnV0dG9uX2RhdGEsIH0sCisJLmRldgkJPSB7CisJCS5wbGF0Zm9ybV9kYXRhCT0gJmRuczMyM19idXR0b25fZGF0YSwKKwl9LAogfTsKIAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIEdlbmVyYWwgU2V0dXAKICAqLwotCi1zdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZG5zMzIzX3BsYXRfZGV2aWNlc1tdIF9faW5pdGRhdGEgPSB7Ci0JJmRuczMyM19ub3JfZmxhc2gsCi0JJmRuczMyM19ncGlvX2xlZHMsCi0JJmRuczMyM19idXR0b25fZGV2aWNlLAorc3RhdGljIHN0cnVjdCBvcmlvbjV4X21wcF9tb2RlIGRuczMyM19tcHBfbW9kZXNbXSBfX2luaXRkYXRhID0geworCXsgIDAsIE1QUF9QQ0lFX1JTVF9PVVRuIH0sCisJeyAgMSwgTVBQX0dQSU8gfSwJCS8qIHJpZ2h0IGFtYmVyIExFRCAoc2F0YSBjaDApICovCisJeyAgMiwgTVBQX0dQSU8gfSwJCS8qIGxlZnQgYW1iZXIgTEVEIChzYXRhIGNoMSkgKi8KKwl7ICAzLCBNUFBfVU5VU0VEIH0sCisJeyAgNCwgTVBQX0dQSU8gfSwJCS8qIHBvd2VyIGJ1dHRvbiBMRUQgKi8KKwl7ICA1LCBNUFBfR1BJTyB9LAkJLyogcG93ZXIgYnV0dG9uIExFRCAqLworCXsgIDYsIE1QUF9HUElPIH0sCQkvKiBHTVQgRzc1MS0yZiBvdmVydGVtcCAqLworCXsgIDcsIE1QUF9HUElPIH0sCQkvKiBNNDFUODAgbklSUS9PVVQvU1FXICovCisJeyAgOCwgTVBQX0dQSU8gfSwJCS8qIHRyaWdnZXJzIHBvd2VyIG9mZiAqLworCXsgIDksIE1QUF9HUElPIH0sCQkvKiBwb3dlciBidXR0b24gc3dpdGNoICovCisJeyAxMCwgTVBQX0dQSU8gfSwJCS8qIHJlc2V0IGJ1dHRvbiBzd2l0Y2ggKi8KKwl7IDExLCBNUFBfVU5VU0VEIH0sCisJeyAxMiwgTVBQX1VOVVNFRCB9LAorCXsgMTMsIE1QUF9VTlVTRUQgfSwKKwl7IDE0LCBNUFBfVU5VU0VEIH0sCisJeyAxNSwgTVBQX1VOVVNFRCB9LAorCXsgMTYsIE1QUF9VTlVTRUQgfSwKKwl7IDE3LCBNUFBfVU5VU0VEIH0sCisJeyAxOCwgTVBQX1VOVVNFRCB9LAorCXsgMTksIE1QUF9VTlVTRUQgfSwKKwl7IC0xIH0sCiB9OwogCiAvKgpAQCAtMjI1LDE3ICsyNDUsMTUgQEAKIHN0YXRpYyBzdHJ1Y3QgaTJjX2JvYXJkX2luZm8gX19pbml0ZGF0YSBkbnMzMjNfaTJjX2RldmljZXNbXSA9IHsKIAl7CiAJCUkyQ19CT0FSRF9JTkZPKCJnNzYwYSIsIDB4M2UpLAotCX0sCiAjaWYgMAogCS8qIHRoaXMgZW50cnkgcmVxdWlyZXMgdGhlIG5ldy1zdHlsZSBkcml2ZXIgbW9kZWwgbG03NSBkcml2ZXIsCiAJICogZm9yIHRoZSBtZWFudGltZSAiaW5zbW9kIGxtNzUua28gZm9yY2VfbG03NT0wLDB4NDgiIGlzIG5lZWRlZCAqLwotCXsKKwl9LCB7CiAJCUkyQ19CT0FSRF9JTkZPKCJnNzUxIiwgMHg0OCksCi0JfSwKICNlbmRpZgotCXsKKwl9LCB7CiAJCUkyQ19CT0FSRF9JTkZPKCJtNDF0ODAiLCAweDY4KSwKLQl9CisJfSwKIH07CiAKIC8qIEROUy0zMjMgc3BlY2lmaWMgcG93ZXIgb2ZmIG1ldGhvZCAqLwpAQCAtMjUwLDYyICsyNjgsMzUgQEAKIAkvKiBTZXR1cCBiYXNpYyBPcmlvbiBmdW5jdGlvbnMuIE5lZWQgdG8gYmUgY2FsbGVkIGVhcmx5LiAqLwogCW9yaW9uNXhfaW5pdCgpOwogCisJb3Jpb241eF9tcHBfY29uZihkbnMzMjNfbXBwX21vZGVzKTsKKwl3cml0ZWwoMCwgTVBQX0RFVl9DVFJMKTsJCS8qIERFVl9EWzMxOjE2XSAqLworCisJLyoKKwkgKiBDb25maWd1cmUgcGVyaXBoZXJhbHMuCisJICovCisJb3Jpb241eF9laGNpMF9pbml0KCk7CisJb3Jpb241eF9ldGhfaW5pdCgmZG5zMzIzX2V0aF9kYXRhKTsKKwlvcmlvbjV4X2kyY19pbml0KCk7CisJb3Jpb241eF91YXJ0MF9pbml0KCk7CisKIAkvKiBzZXR1cCBmbGFzaCBtYXBwaW5nCiAJICogQ1MzIGhvbGRzIGEgOCBNQiBTcGFuc2lvbiBTMjlHTDA2NE05MFRGSVI0CiAJICovCiAJb3Jpb241eF9zZXR1cF9kZXZfYm9vdF93aW4oRE5TMzIzX05PUl9CT09UX0JBU0UsIEROUzMyM19OT1JfQk9PVF9TSVpFKTsKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJmRuczMyM19ub3JfZmxhc2gpOwogCi0JLyogRE5TLTMyMyBoYXMgYSBNYXJ2ZWxsIDg4WDcwNDIgU0FUQSBjb250cm9sbGVyIGF0dGFjaGVkIHZpYSBQQ0llCi0JICoKLQkgKiBPcGVuIGEgc3BlY2lhbCBhZGRyZXNzIGRlY29kZSB3aW5kb3dzIGZvciB0aGUgUENJZSBXQS4KLQkgKi8KLQlvcmlvbjV4X3NldHVwX3BjaWVfd2Ffd2luKE9SSU9ONVhfUENJRV9XQV9QSFlTX0JBU0UsCi0JCQkJT1JJT041WF9QQ0lFX1dBX1NJWkUpOworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmZG5zMzIzX2dwaW9fbGVkcyk7CiAKLQkvKiBzZXQgTVBQIHRvIDAgYXMgRC1MaW5rJ3MgMi42LjEyLjYga2VybmVsIGRpZCAqLwotCW9yaW9uNXhfd3JpdGUoTVBQXzBfN19DVFJMLCAwKTsKLQlvcmlvbjV4X3dyaXRlKE1QUF84XzE1X0NUUkwsIDApOwotCW9yaW9uNXhfd3JpdGUoTVBQXzE2XzE5X0NUUkwsIDApOwotCW9yaW9uNXhfd3JpdGUoTVBQX0RFVl9DVFJMLCAwKTsKLQotCS8qIERlZmluZSB1c2VkIEdQSU8gcGlucwotCi0JICBHUElPIE1hcDoKLQotCSAgfCAgMCB8ICAgICB8IFBFWF9SU1RfT1VUIChub3QgY29udHJvbGxlZCBieSBHUElPKQotCSAgfCAgMSB8IE91dCB8IHJpZ2h0IGFtYmVyIExFRCAoPSBzYXRhIGNoMCBMRUQpICAobG93LWFjdGl2ZSkKLQkgIHwgIDIgfCBPdXQgfCBsZWZ0ICBhbWJlciBMRUQgKD0gc2F0YSBjaDEgTEVEKSAgKGxvdy1hY3RpdmUpCi0JICB8ICAzIHwgT3V0IHwgLy91bmtub3duLy8KLQkgIHwgIDQgfCBPdXQgfCBwb3dlciBidXR0b24gTEVEIChsb3ctYWN0aXZlLCB0b2dldGhlciB3aXRoIHBpbiAjNSkKLQkgIHwgIDUgfCBPdXQgfCBwb3dlciBidXR0b24gTEVEIChsb3ctYWN0aXZlLCB0b2dldGhlciB3aXRoIHBpbiAjNCkKLQkgIHwgIDYgfCBJbiAgfCBHTVQgRzc1MS0yZiBvdmVydGVtcC4gc2h1dGRvd24gc2lnbmFsIChsb3ctYWN0aXZlKQotCSAgfCAgNyB8IEluICB8IE00MVQ4MCBuSVJRL09VVC9TUVcgc2lnbmFsCi0JICB8ICA4IHwgT3V0IHwgdHJpZ2dlcnMgcG93ZXIgb2ZmIChoaWdoLWFjdGl2ZSkKLQkgIHwgIDkgfCBJbiAgfCBwb3dlciBidXR0b24gc3dpdGNoIChsb3ctYWN0aXZlKQotCSAgfCAxMCB8IEluICB8IHJlc2V0IGJ1dHRvbiBzd2l0Y2ggKGxvdy1hY3RpdmUpCi0JICB8IDExIHwgT3V0IHwgLy91bmtub3duLy8KLQkgIHwgMTIgfCBPdXQgfCAvL3Vua25vd24vLwotCSAgfCAxMyB8IE91dCB8IC8vdW5rbm93bi8vCi0JICB8IDE0IHwgT3V0IHwgLy91bmtub3duLy8KLQkgIHwgMTUgfCBPdXQgfCAvL3Vua25vd24vLwotCSovCi0Jb3Jpb241eF9ncGlvX3NldF92YWxpZF9waW5zKDB4MDdmNik7Ci0KLQkvKiByZWdpc3RlciBkbnMzMjMgc3BlY2lmaWMgcG93ZXItb2ZmIG1ldGhvZCAqLwotCWlmICgoZ3Bpb19yZXF1ZXN0KEROUzMyM19HUElPX1BPV0VSX09GRiwgIlBPV0VST0ZGIikgIT0gMCkKLQkgICAgfHwgKGdwaW9fZGlyZWN0aW9uX291dHB1dChETlMzMjNfR1BJT19QT1dFUl9PRkYsIDApICE9IDApKQotCQlwcl9lcnIoIkROUzMyMzogZmFpbGVkIHRvIHNldHVwIHBvd2VyLW9mZiBHUElPXG4iKTsKLQotCXBtX3Bvd2VyX29mZiA9IGRuczMyM19wb3dlcl9vZmY7Ci0KLQkvKiByZWdpc3RlciBmbGFzaCBhbmQgb3RoZXIgcGxhdGZvcm0gZGV2aWNlcyAqLwotCXBsYXRmb3JtX2FkZF9kZXZpY2VzKGRuczMyM19wbGF0X2RldmljZXMsCi0JCQkgICAgIEFSUkFZX1NJWkUoZG5zMzIzX3BsYXRfZGV2aWNlcykpOworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmZG5zMzIzX2J1dHRvbl9kZXZpY2UpOwogCiAJaTJjX3JlZ2lzdGVyX2JvYXJkX2luZm8oMCwgZG5zMzIzX2kyY19kZXZpY2VzLAogCQkJCUFSUkFZX1NJWkUoZG5zMzIzX2kyY19kZXZpY2VzKSk7CiAKLQlvcmlvbjV4X2V0aF9pbml0KCZkbnMzMjNfZXRoX2RhdGEpOworCS8qIHJlZ2lzdGVyIGRuczMyMyBzcGVjaWZpYyBwb3dlci1vZmYgbWV0aG9kICovCisJaWYgKGdwaW9fcmVxdWVzdChETlMzMjNfR1BJT19QT1dFUl9PRkYsICJQT1dFUk9GRiIpICE9IDAgfHwKKwkgICAgZ3Bpb19kaXJlY3Rpb25fb3V0cHV0KEROUzMyM19HUElPX1BPV0VSX09GRiwgMCkgIT0gMCkKKwkJcHJfZXJyKCJETlMzMjM6IGZhaWxlZCB0byBzZXR1cCBwb3dlci1vZmYgR1BJT1xuIik7CisJcG1fcG93ZXJfb2ZmID0gZG5zMzIzX3Bvd2VyX29mZjsKIH0KIAogLyogV2FybmluZzogRC1MaW5rIHVzZXMgYSB3cm9uZyBtYWNoLXR5cGUgKD01MjYpIGluIHRoZWlyIGJvb3Rsb2FkZXIgKi8KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb3Jpb241eC9ncGlvLmMgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvZ3Bpby5jCmluZGV4IDgxMDhjMzEuLmQwOTc5NzkgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb3Jpb241eC9ncGlvLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L2dwaW8uYwpAQCAtMjQsOSArMjQsMTIgQEAKIHN0YXRpYyB1bnNpZ25lZCBsb25nIGdwaW9fdmFsaWRbQklUU19UT19MT05HUyhHUElPX01BWCldOwogc3RhdGljIGNvbnN0IGNoYXIgKmdwaW9fbGFiZWxbR1BJT19NQVhdOyAgLyogbm9uIG51bGwgZm9yIGFsbG9jYXRlZCBHUElPcyAqLwogCi12b2lkIF9faW5pdCBvcmlvbjV4X2dwaW9fc2V0X3ZhbGlkX3BpbnModTMyIHBpbnMpCit2b2lkIF9faW5pdCBvcmlvbjV4X2dwaW9fc2V0X3ZhbGlkKHVuc2lnbmVkIHBpbiwgaW50IHZhbGlkKQogewotCWdwaW9fdmFsaWRbMF0gPSBwaW5zOworCWlmICh2YWxpZCkKKwkJX19zZXRfYml0KHBpbiwgZ3Bpb192YWxpZCk7CisJZWxzZQorCQlfX2NsZWFyX2JpdChwaW4sIGdwaW9fdmFsaWQpOwogfQogCiAvKgpAQCAtOTMsMTAgKzk2LDEwIEBACiB7CiAJaW50IHZhbCwgbWFzayA9IDEgPDwgcGluOwogCi0JaWYgKG9yaW9uNXhfcmVhZChHUElPX0lPX0NPTkYpICYgbWFzaykKLQkJdmFsID0gb3Jpb241eF9yZWFkKEdQSU9fREFUQV9JTikgXiBvcmlvbjV4X3JlYWQoR1BJT19JTl9QT0wpOworCWlmIChyZWFkbChHUElPX0lPX0NPTkYpICYgbWFzaykKKwkJdmFsID0gcmVhZGwoR1BJT19EQVRBX0lOKSBeIHJlYWRsKEdQSU9fSU5fUE9MKTsKIAllbHNlCi0JCXZhbCA9IG9yaW9uNXhfcmVhZChHUElPX09VVCk7CisJCXZhbCA9IHJlYWRsKEdQSU9fT1VUKTsKIAogCXJldHVybiB2YWwgJiBtYXNrOwogfQpAQCAtMTg4LDM5ICsxOTEsMzkgQEAKIAkJCXByaW50aygiR1BJTywgZnJlZVxuIik7CiAJCX0gZWxzZSB7CiAJCQlwcmludGsoIkdQSU8sIHVzZWQgYnkgJXMsICIsIGdwaW9fbGFiZWxbaV0pOwotCQkJaWYgKG9yaW9uNXhfcmVhZChHUElPX0lPX0NPTkYpICYgKDEgPDwgaSkpIHsKKwkJCWlmIChyZWFkbChHUElPX0lPX0NPTkYpICYgKDEgPDwgaSkpIHsKIAkJCQlwcmludGsoImlucHV0LCBhY3RpdmUgJXMsIGxldmVsICVzLCBlZGdlICVzXG4iLAotCQkJCSgob3Jpb241eF9yZWFkKEdQSU9fSU5fUE9MKSA+PiBpKSAmIDEpID8gImxvdyIgOiAiaGlnaCIsCi0JCQkJKChvcmlvbjV4X3JlYWQoR1BJT19MRVZFTF9NQVNLKSA+PiBpKSAmIDEpID8gImVuYWJsZWQiIDogIm1hc2tlZCIsCi0JCQkJKChvcmlvbjV4X3JlYWQoR1BJT19FREdFX01BU0spID4+IGkpICYgMSkgPyAiZW5hYmxlZCIgOiAibWFza2VkIik7CisJCQkJKChyZWFkbChHUElPX0lOX1BPTCkgPj4gaSkgJiAxKSA/ICJsb3ciIDogImhpZ2giLAorCQkJCSgocmVhZGwoR1BJT19MRVZFTF9NQVNLKSA+PiBpKSAmIDEpID8gImVuYWJsZWQiIDogIm1hc2tlZCIsCisJCQkJKChyZWFkbChHUElPX0VER0VfTUFTSykgPj4gaSkgJiAxKSA/ICJlbmFibGVkIiA6ICJtYXNrZWQiKTsKIAkJCX0gZWxzZSB7Ci0JCQkJcHJpbnRrKCJvdXRwdXQsIHZhbD0lZFxuIiwgKG9yaW9uNXhfcmVhZChHUElPX09VVCkgPj4gaSkgJiAxKTsKKwkJCQlwcmludGsoIm91dHB1dCwgdmFsPSVkXG4iLCAocmVhZGwoR1BJT19PVVQpID4+IGkpICYgMSk7CiAJCQl9CiAJCX0KIAl9CiAKIAlwcmludGsoS0VSTl9ERUJVRyAiTVBQXzBfN19DVFJMICgweCUwOHgpID0gMHglMDh4XG4iLAotCQkJCU1QUF8wXzdfQ1RSTCwgb3Jpb241eF9yZWFkKE1QUF8wXzdfQ1RSTCkpOworCQkJCU1QUF8wXzdfQ1RSTCwgcmVhZGwoTVBQXzBfN19DVFJMKSk7CiAJcHJpbnRrKEtFUk5fREVCVUcgIk1QUF84XzE1X0NUUkwgKDB4JTA4eCkgPSAweCUwOHhcbiIsCi0JCQkJTVBQXzhfMTVfQ1RSTCwgb3Jpb241eF9yZWFkKE1QUF84XzE1X0NUUkwpKTsKKwkJCQlNUFBfOF8xNV9DVFJMLCByZWFkbChNUFBfOF8xNV9DVFJMKSk7CiAJcHJpbnRrKEtFUk5fREVCVUcgIk1QUF8xNl8xOV9DVFJMICgweCUwOHgpID0gMHglMDh4XG4iLAotCQkJCU1QUF8xNl8xOV9DVFJMLCBvcmlvbjV4X3JlYWQoTVBQXzE2XzE5X0NUUkwpKTsKKwkJCQlNUFBfMTZfMTlfQ1RSTCwgcmVhZGwoTVBQXzE2XzE5X0NUUkwpKTsKIAlwcmludGsoS0VSTl9ERUJVRyAiTVBQX0RFVl9DVFJMICgweCUwOHgpID0gMHglMDh4XG4iLAotCQkJCU1QUF9ERVZfQ1RSTCwgb3Jpb241eF9yZWFkKE1QUF9ERVZfQ1RSTCkpOworCQkJCU1QUF9ERVZfQ1RSTCwgcmVhZGwoTVBQX0RFVl9DVFJMKSk7CiAJcHJpbnRrKEtFUk5fREVCVUcgIkdQSU9fT1VUICgweCUwOHgpID0gMHglMDh4XG4iLAotCQkJCUdQSU9fT1VULCBvcmlvbjV4X3JlYWQoR1BJT19PVVQpKTsKKwkJCQlHUElPX09VVCwgcmVhZGwoR1BJT19PVVQpKTsKIAlwcmludGsoS0VSTl9ERUJVRyAiR1BJT19JT19DT05GICgweCUwOHgpID0gMHglMDh4XG4iLAotCQkJCUdQSU9fSU9fQ09ORiwgb3Jpb241eF9yZWFkKEdQSU9fSU9fQ09ORikpOworCQkJCUdQSU9fSU9fQ09ORiwgcmVhZGwoR1BJT19JT19DT05GKSk7CiAJcHJpbnRrKEtFUk5fREVCVUcgIkdQSU9fQkxJTktfRU4gKDB4JTA4eCkgPSAweCUwOHhcbiIsCi0JCQkJR1BJT19CTElOS19FTiwgb3Jpb241eF9yZWFkKEdQSU9fQkxJTktfRU4pKTsKKwkJCQlHUElPX0JMSU5LX0VOLCByZWFkbChHUElPX0JMSU5LX0VOKSk7CiAJcHJpbnRrKEtFUk5fREVCVUcgIkdQSU9fSU5fUE9MICgweCUwOHgpID0gMHglMDh4XG4iLAotCQkJCUdQSU9fSU5fUE9MLCBvcmlvbjV4X3JlYWQoR1BJT19JTl9QT0wpKTsKKwkJCQlHUElPX0lOX1BPTCwgcmVhZGwoR1BJT19JTl9QT0wpKTsKIAlwcmludGsoS0VSTl9ERUJVRyAiR1BJT19EQVRBX0lOICgweCUwOHgpID0gMHglMDh4XG4iLAotCQkJCUdQSU9fREFUQV9JTiwgb3Jpb241eF9yZWFkKEdQSU9fREFUQV9JTikpOworCQkJCUdQSU9fREFUQV9JTiwgcmVhZGwoR1BJT19EQVRBX0lOKSk7CiAJcHJpbnRrKEtFUk5fREVCVUcgIkdQSU9fTEVWRUxfTUFTSyAoMHglMDh4KSA9IDB4JTA4eFxuIiwKLQkJCQlHUElPX0xFVkVMX01BU0ssIG9yaW9uNXhfcmVhZChHUElPX0xFVkVMX01BU0spKTsKKwkJCQlHUElPX0xFVkVMX01BU0ssIHJlYWRsKEdQSU9fTEVWRUxfTUFTSykpOwogCXByaW50ayhLRVJOX0RFQlVHICJHUElPX0VER0VfQ0FVU0UgKDB4JTA4eCkgPSAweCUwOHhcbiIsCi0JCQkJR1BJT19FREdFX0NBVVNFLCBvcmlvbjV4X3JlYWQoR1BJT19FREdFX0NBVVNFKSk7CisJCQkJR1BJT19FREdFX0NBVVNFLCByZWFkbChHUElPX0VER0VfQ0FVU0UpKTsKIAlwcmludGsoS0VSTl9ERUJVRyAiR1BJT19FREdFX01BU0sgKDB4JTA4eCkgPSAweCUwOHhcbiIsCi0JCQkJR1BJT19FREdFX01BU0ssIG9yaW9uNXhfcmVhZChHUElPX0VER0VfTUFTSykpOworCQkJCUdQSU9fRURHRV9NQVNLLCByZWFkbChHUElPX0VER0VfTUFTSykpOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L2lycS5jIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L2lycS5jCmluZGV4IGRkMjFmMzguLmUyYTAwODQgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb3Jpb241eC9pcnEuYworKysgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvaXJxLmMKQEAgLTgyLDcgKzgyLDcgQEAKIAlpbnQgcGluID0gaXJxX3RvX2dwaW8oaXJxKTsKIAlzdHJ1Y3QgaXJxX2Rlc2MgKmRlc2M7CiAKLQlpZiAoKG9yaW9uNXhfcmVhZChHUElPX0lPX0NPTkYpICYgKDEgPDwgcGluKSkgPT0gMCkgeworCWlmICgocmVhZGwoR1BJT19JT19DT05GKSAmICgxIDw8IHBpbikpID09IDApIHsKIAkJcHJpbnRrKEtFUk5fRVJSICJvcmlvbjV4X2dwaW9fc2V0X2lycV90eXBlIGZhaWxlZCAiCiAJCQkJIihpcnEgJWQsIHBpbiAlZCkuXG4iLCBpcnEsIHBpbik7CiAJCXJldHVybiAtRUlOVkFMOwpAQCAtMTE3LDcgKzExNyw3IEBACiAJCS8qCiAJCSAqIHNldCBpbml0aWFsIHBvbGFyaXR5IGJhc2VkIG9uIGN1cnJlbnQgaW5wdXQgbGV2ZWwKIAkJICovCi0JCWlmICgob3Jpb241eF9yZWFkKEdQSU9fSU5fUE9MKSBeIG9yaW9uNXhfcmVhZChHUElPX0RBVEFfSU4pKQorCQlpZiAoKHJlYWRsKEdQSU9fSU5fUE9MKSBeIHJlYWRsKEdQSU9fREFUQV9JTikpCiAJCSAgICAmICgxIDw8IHBpbikpCiAJCQlvcmlvbjV4X3NldGJpdHMoR1BJT19JTl9QT0wsICgxIDw8IHBpbikpOyAvKiBmYWxsaW5nICovCiAJCWVsc2UKQEAgLTE0OSw4ICsxNDksOCBAQAogCiAJQlVHX09OKGlycSA8IElSUV9PUklPTjVYX0dQSU9fMF83IHx8IGlycSA+IElSUV9PUklPTjVYX0dQSU9fMjRfMzEpOwogCW9mZnMgPSAoaXJxIC0gSVJRX09SSU9ONVhfR1BJT18wXzcpICogODsKLQljYXVzZSA9IChvcmlvbjV4X3JlYWQoR1BJT19EQVRBX0lOKSAmIG9yaW9uNXhfcmVhZChHUElPX0xFVkVMX01BU0spKSB8Ci0JCShvcmlvbjV4X3JlYWQoR1BJT19FREdFX0NBVVNFKSAmIG9yaW9uNXhfcmVhZChHUElPX0VER0VfTUFTSykpOworCWNhdXNlID0gKHJlYWRsKEdQSU9fREFUQV9JTikgJiByZWFkbChHUElPX0xFVkVMX01BU0spKSB8CisJCShyZWFkbChHUElPX0VER0VfQ0FVU0UpICYgcmVhZGwoR1BJT19FREdFX01BU0spKTsKIAogCWZvciAocGluID0gb2ZmczsgcGluIDwgb2ZmcyArIDg7IHBpbisrKSB7CiAJCWlmIChjYXVzZSAmICgxIDw8IHBpbikpIHsKQEAgLTE1OCw5ICsxNTgsOSBAQAogCQkJZGVzYyA9IGlycV9kZXNjICsgaXJxOwogCQkJaWYgKChkZXNjLT5zdGF0dXMgJiBJUlFfVFlQRV9TRU5TRV9NQVNLKSA9PSBJUlFUX0JPVEhFREdFKSB7CiAJCQkJLyogU3dhcCBwb2xhcml0eSAocmFjZSB3aXRoIEdQSU8gbGluZSkgKi8KLQkJCQl1MzIgcG9sYXJpdHkgPSBvcmlvbjV4X3JlYWQoR1BJT19JTl9QT0wpOworCQkJCXUzMiBwb2xhcml0eSA9IHJlYWRsKEdQSU9fSU5fUE9MKTsKIAkJCQlwb2xhcml0eSBePSAxIDw8IHBpbjsKLQkJCQlvcmlvbjV4X3dyaXRlKEdQSU9fSU5fUE9MLCBwb2xhcml0eSk7CisJCQkJd3JpdGVsKHBvbGFyaXR5LCBHUElPX0lOX1BPTCk7CiAJCQl9CiAJCQlkZXNjX2hhbmRsZV9pcnEoaXJxLCBkZXNjKTsKIAkJfQpAQCAtMTc1LDkgKzE3NSw5IEBACiAJLyoKIAkgKiBNYXNrIGFuZCBjbGVhciBHUElPIElSUSBpbnRlcnJ1cHRzCiAJICovCi0Jb3Jpb241eF93cml0ZShHUElPX0xFVkVMX01BU0ssIDB4MCk7Ci0Jb3Jpb241eF93cml0ZShHUElPX0VER0VfTUFTSywgMHgwKTsKLQlvcmlvbjV4X3dyaXRlKEdQSU9fRURHRV9DQVVTRSwgMHgwKTsKKwl3cml0ZWwoMHgwLCBHUElPX0xFVkVMX01BU0spOworCXdyaXRlbCgweDAsIEdQSU9fRURHRV9NQVNLKTsKKwl3cml0ZWwoMHgwLCBHUElPX0VER0VfQ0FVU0UpOwogCiAJLyoKIAkgKiBSZWdpc3RlciBjaGFpbmVkIGxldmVsIGhhbmRsZXJzIGZvciBHUElPIElSUXMgYnkgZGVmYXVsdC4KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb3Jpb241eC9rdXJvYm94X3Byby1zZXR1cC5jIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L2t1cm9ib3hfcHJvLXNldHVwLmMKaW5kZXggZjUwNzRiOC4uODRmZWFjNCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L2t1cm9ib3hfcHJvLXNldHVwLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L2t1cm9ib3hfcHJvLXNldHVwLmMKQEAgLTEzLDEwICsxMywxMiBAQAogI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgogI2luY2x1ZGUgPGxpbnV4L2lycS5oPgorI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CiAjaW5jbHVkZSA8bGludXgvbXRkL3BoeXNtYXAuaD4KICNpbmNsdWRlIDxsaW51eC9tdGQvbmFuZC5oPgogI2luY2x1ZGUgPGxpbnV4L212NjQzeHhfZXRoLmg+CiAjaW5jbHVkZSA8bGludXgvaTJjLmg+CisjaW5jbHVkZSA8bGludXgvc2VyaWFsX3JlZy5oPgogI2luY2x1ZGUgPGxpbnV4L2F0YV9wbGF0Zm9ybS5oPgogI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+CiAjaW5jbHVkZSA8YXNtL2dwaW8uaD4KQEAgLTI1LDYgKzI3LDcgQEAKICNpbmNsdWRlIDxhc20vYXJjaC9vcmlvbjV4Lmg+CiAjaW5jbHVkZSA8YXNtL3BsYXQtb3Jpb24vb3Jpb25fbmFuZC5oPgogI2luY2x1ZGUgImNvbW1vbi5oIgorI2luY2x1ZGUgIm1wcC5oIgogCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIEtVUk9CT1gtUFJPIEluZm8KQEAgLTUzLDEzICs1NiwxMSBAQAogCQkubmFtZQk9ICJ1SW1hZ2UiLAogCQkub2Zmc2V0CT0gMCwKIAkJLnNpemUJPSBTWl80TSwKLQl9LAotCXsKKwl9LCB7CiAJCS5uYW1lCT0gInJvb3RmcyIsCiAJCS5vZmZzZXQJPSBTWl80TSwKIAkJLnNpemUJPSBTWl82NE0sCi0JfSwKLQl7CisJfSwgewogCQkubmFtZQk9ICJleHRyYSIsCiAJCS5vZmZzZXQJPSBTWl80TSArIFNaXzY0TSwKIAkJLnNpemUJPSBTWl8yNTZNIC0gKFNaXzRNICsgU1pfNjRNKSwKQEAgLTEzMiw4ICsxMzMsNiBAQAogCS8qCiAJICogUENJIGlzbid0IHVzZWQgb24gdGhlIEt1cm8KIAkgKi8KLQlwcmludGsoS0VSTl9FUlIgImt1cm9ib3hfcHJvX3BjaV9tYXBfaXJxIGZhaWxlZCwgdW5rbm93biBidXNcbiIpOwotCiAJcmV0dXJuIC0xOwogfQogCkBAIC0xNjEsNyArMTYwLDYgQEAKIAogc3RhdGljIHN0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhIGt1cm9ib3hfcHJvX2V0aF9kYXRhID0gewogCS5waHlfYWRkcgk9IDgsCi0JLmZvcmNlX3BoeV9hZGRyID0gMSwKIH07CiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpAQCAtMTc1LDEyICsxNzMsMTY5IEBACiAgKiBTQVRBCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIHN0YXRpYyBzdHJ1Y3QgbXZfc2F0YV9wbGF0Zm9ybV9kYXRhIGt1cm9ib3hfcHJvX3NhdGFfZGF0YSA9IHsKLQkubl9wb3J0cyAgICAgICAgPSAyLAorCS5uX3BvcnRzCT0gMiwKIH07CiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogS3Vyb2JveCBQcm8gc3BlY2lmaWMgcG93ZXIgb2ZmIG1ldGhvZCB2aWEgVUFSVDEtYXR0YWNoZWQgbWljcm9jb250cm9sbGVyCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2RlZmluZSBVQVJUMV9SRUcoeCkJKFVBUlQxX1ZJUlRfQkFTRSArICgoVUFSVF8jI3gpIDw8IDIpKQorCitzdGF0aWMgaW50IGt1cm9ib3hfcHJvX21pY29ucmVhZCh1bnNpZ25lZCBjaGFyICpidWYsIGludCBjb3VudCkKK3sKKwlpbnQgaTsKKwlpbnQgdGltZW91dDsKKworCWZvciAoaSA9IDA7IGkgPCBjb3VudDsgaSsrKSB7CisJCXRpbWVvdXQgPSAxMDsKKworCQl3aGlsZSAoIShyZWFkbChVQVJUMV9SRUcoTFNSKSkgJiBVQVJUX0xTUl9EUikpIHsKKwkJCWlmICgtLXRpbWVvdXQgPT0gMCkKKwkJCQlicmVhazsKKwkJCXVkZWxheSgxMDAwKTsKKwkJfQorCisJCWlmICh0aW1lb3V0ID09IDApCisJCQlicmVhazsKKwkJYnVmW2ldID0gcmVhZGwoVUFSVDFfUkVHKFJYKSk7CisJfQorCisJLyogcmV0dXJuIHJlYWQgYnl0ZXMgKi8KKwlyZXR1cm4gaTsKK30KKworc3RhdGljIGludCBrdXJvYm94X3Byb19taWNvbndyaXRlKGNvbnN0IHVuc2lnbmVkIGNoYXIgKmJ1ZiwgaW50IGNvdW50KQoreworCWludCBpID0gMDsKKworCXdoaWxlIChjb3VudC0tKSB7CisJCXdoaWxlICghKHJlYWRsKFVBUlQxX1JFRyhMU1IpKSAmIFVBUlRfTFNSX1RIUkUpKQorCQkJYmFycmllcigpOworCQl3cml0ZWwoYnVmW2krK10sIFVBUlQxX1JFRyhUWCkpOworCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGt1cm9ib3hfcHJvX21pY29uc2VuZChjb25zdCB1bnNpZ25lZCBjaGFyICpkYXRhLCBpbnQgY291bnQpCit7CisJaW50IGk7CisJdW5zaWduZWQgY2hhciBjaGVja3N1bSA9IDA7CisJdW5zaWduZWQgY2hhciByZWN2X2J1Zls0MF07CisJdW5zaWduZWQgY2hhciBzZW5kX2J1Zls0MF07CisJdW5zaWduZWQgY2hhciBjb3JyZWN0X2Fja1szXTsKKwlpbnQgcmV0cnkgPSAyOworCisJLyogR2VuZXJhdGUgY2hlY2tzdW0gKi8KKwlmb3IgKGkgPSAwOyBpIDwgY291bnQ7IGkrKykKKwkJY2hlY2tzdW0gLT0gIGRhdGFbaV07CisKKwlkbyB7CisJCS8qIFNlbmQgZGF0YSAqLworCQlrdXJvYm94X3Byb19taWNvbndyaXRlKGRhdGEsIGNvdW50KTsKKworCQkvKiBzZW5kIGNoZWNrc3VtICovCisJCWt1cm9ib3hfcHJvX21pY29ud3JpdGUoJmNoZWNrc3VtLCAxKTsKKworCQlpZiAoa3Vyb2JveF9wcm9fbWljb25yZWFkKHJlY3ZfYnVmLCBzaXplb2YocmVjdl9idWYpKSA8PSAzKSB7CisJCQlwcmludGsoS0VSTl9FUlIgIj4lczogcmVjZWl2ZSBmYWlsZWQuXG4iLCBfX2Z1bmNfXyk7CisKKwkJCS8qIHNlbmQgcHJlYW1ibGUgdG8gY2xlYXIgdGhlIHJlY2VpdmUgYnVmZmVyICovCisJCQltZW1zZXQoJnNlbmRfYnVmLCAweGZmLCBzaXplb2Yoc2VuZF9idWYpKTsKKwkJCWt1cm9ib3hfcHJvX21pY29ud3JpdGUoc2VuZF9idWYsIHNpemVvZihzZW5kX2J1ZikpOworCisJCQkvKiBtYWtlIGR1bW15IHJlYWRzICovCisJCQltZGVsYXkoMTAwKTsKKwkJCWt1cm9ib3hfcHJvX21pY29ucmVhZChyZWN2X2J1Ziwgc2l6ZW9mKHJlY3ZfYnVmKSk7CisJCX0gZWxzZSB7CisJCQkvKiBHZW5lcmF0ZSBleHBlY3RlZCBhY2sgKi8KKwkJCWNvcnJlY3RfYWNrWzBdID0gMHgwMTsKKwkJCWNvcnJlY3RfYWNrWzFdID0gZGF0YVsxXTsKKwkJCWNvcnJlY3RfYWNrWzJdID0gMHgwMDsKKworCQkJLyogY2hlY2tzdW0gQ2hlY2sgKi8KKwkJCWlmICgocmVjdl9idWZbMF0gKyByZWN2X2J1ZlsxXSArIHJlY3ZfYnVmWzJdICsKKwkJCSAgICAgcmVjdl9idWZbM10pICYgMHhGRikgeworCQkJCXByaW50ayhLRVJOX0VSUiAiPiVzOiBDaGVja3N1bSBFcnJvciA6ICIKKwkJCQkJIlJlY2VpdmVkIGRhdGFbJTAyeCwgJTAyeCwgJTAyeCwgJTAyeF0iCisJCQkJCSJcbiIsIF9fZnVuY19fLCByZWN2X2J1ZlswXSwKKwkJCQkJcmVjdl9idWZbMV0sIHJlY3ZfYnVmWzJdLCByZWN2X2J1ZlszXSk7CisJCQl9IGVsc2UgeworCQkJCS8qIENoZWNrIFJlY2VpdmVkIERhdGEgKi8KKwkJCQlpZiAoY29ycmVjdF9hY2tbMF0gPT0gcmVjdl9idWZbMF0gJiYKKwkJCQkgICAgY29ycmVjdF9hY2tbMV0gPT0gcmVjdl9idWZbMV0gJiYKKwkJCQkgICAgY29ycmVjdF9hY2tbMl0gPT0gcmVjdl9idWZbMl0pIHsKKwkJCQkJLyogSW50ZXJ2YWwgZm9yIG5leHQgY29tbWFuZCAqLworCQkJCQltZGVsYXkoMTApOworCisJCQkJCS8qIFJlY2VpdmUgQUNLICovCisJCQkJCXJldHVybiAwOworCQkJCX0KKwkJCX0KKwkJCS8qIFJlY2VpdmVkIE5BSyBvciBpbGxlZ2FsIERhdGEgKi8KKwkJCXByaW50ayhLRVJOX0VSUiAiPiVzOiBFcnJvciA6IE5BSyBvciBJbGxlZ2FsIERhdGEgIgorCQkJCQkiUmVjZWl2ZWRcbiIsIF9fZnVuY19fKTsKKwkJfQorCX0gd2hpbGUgKHJldHJ5LS0pOworCisJLyogSW50ZXJ2YWwgZm9yIG5leHQgY29tbWFuZCAqLworCW1kZWxheSgxMCk7CisKKwlyZXR1cm4gLTE7Cit9CisKK3N0YXRpYyB2b2lkIGt1cm9ib3hfcHJvX3Bvd2VyX29mZih2b2lkKQoreworCWNvbnN0IHVuc2lnbmVkIGNoYXIgd2F0Y2hkb2draWxsW10JPSB7MHgwMSwgMHgzNSwgMHgwMH07CisJY29uc3QgdW5zaWduZWQgY2hhciBzaHV0ZG93bndhaXRbXQk9IHsweDAwLCAweDBjfTsKKwljb25zdCB1bnNpZ25lZCBjaGFyIHBvd2Vyb2ZmW10JCT0gezB4MDAsIDB4MDZ9OworCS8qIDM4NDAwIGJhdWQgZGl2aXNvciAqLworCWNvbnN0IHVuc2lnbmVkIGRpdmlzb3IgPSAoKE9SSU9ONVhfVENMSyArICg4ICogMzg0MDApKSAvICgxNiAqIDM4NDAwKSk7CisKKwlwcl9pbmZvKCIlczogdHJpZ2dlcmluZyBwb3dlci1vZmYuLi5cbiIsIF9fZnVuY19fKTsKKworCS8qIGhpamFjayB1YXJ0MSBhbmQgcmVzZXQgaW50byBzYW5lIHN0YXRlICgzODQwMCw4bjEsZXZlbiBwYXJpdHkpICovCisJd3JpdGVsKDB4ODMsIFVBUlQxX1JFRyhMQ1IpKTsKKwl3cml0ZWwoZGl2aXNvciAmIDB4ZmYsIFVBUlQxX1JFRyhETEwpKTsKKwl3cml0ZWwoKGRpdmlzb3IgPj4gOCkgJiAweGZmLCBVQVJUMV9SRUcoRExNKSk7CisJd3JpdGVsKDB4MWIsIFVBUlQxX1JFRyhMQ1IpKTsKKwl3cml0ZWwoMHgwMCwgVUFSVDFfUkVHKElFUikpOworCXdyaXRlbCgweDA3LCBVQVJUMV9SRUcoRkNSKSk7CisJd3JpdGVsKDB4MDAsIFVBUlQxX1JFRyhNQ1IpKTsKKworCS8qIFNlbmQgdGhlIGNvbW1hbmRzIHRvIHNodXRkb3duIHRoZSBLdXJvYm94IFBybyAqLworCWt1cm9ib3hfcHJvX21pY29uc2VuZCh3YXRjaGRvZ2tpbGwsIHNpemVvZih3YXRjaGRvZ2tpbGwpKSA7CisJa3Vyb2JveF9wcm9fbWljb25zZW5kKHNodXRkb3dud2FpdCwgc2l6ZW9mKHNodXRkb3dud2FpdCkpIDsKKwlrdXJvYm94X3Byb19taWNvbnNlbmQocG93ZXJvZmYsIHNpemVvZihwb3dlcm9mZikpOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIEdlbmVyYWwgU2V0dXAKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHN0cnVjdCBvcmlvbjV4X21wcF9tb2RlIGt1cm9ib3hfcHJvX21wcF9tb2Rlc1tdIF9faW5pdGRhdGEgPSB7CisJeyAgMCwgTVBQX1VOVVNFRCB9LAorCXsgIDEsIE1QUF9VTlVTRUQgfSwKKwl7ICAyLCBNUFBfR1BJTyB9LAkJLyogR1BJTyBNaWNvbiAqLworCXsgIDMsIE1QUF9HUElPIH0sCQkvKiBHUElPIFJ0YyAqLworCXsgIDQsIE1QUF9VTlVTRUQgfSwKKwl7ICA1LCBNUFBfVU5VU0VEIH0sCisJeyAgNiwgTVBQX05BTkQgfSwJCS8qIE5BTkQgRmxhc2ggUkVuICovCisJeyAgNywgTVBQX05BTkQgfSwJCS8qIE5BTkQgRmxhc2ggV0VuICovCisJeyAgOCwgTVBQX1VOVVNFRCB9LAorCXsgIDksIE1QUF9VTlVTRUQgfSwKKwl7IDEwLCBNUFBfVU5VU0VEIH0sCisJeyAxMSwgTVBQX1VOVVNFRCB9LAorCXsgMTIsIE1QUF9TQVRBX0xFRCB9LAkJLyogU0FUQSAwIHByZXNlbmNlICovCisJeyAxMywgTVBQX1NBVEFfTEVEIH0sCQkvKiBTQVRBIDEgcHJlc2VuY2UgKi8KKwl7IDE0LCBNUFBfU0FUQV9MRUQgfSwJCS8qIFNBVEEgMCBhY3RpdmUgKi8KKwl7IDE1LCBNUFBfU0FUQV9MRUQgfSwJCS8qIFNBVEEgMSBhY3RpdmUgKi8KKwl7IDE2LCBNUFBfVUFSVCB9LAkJLyogVUFSVDEgUlhEICovCisJeyAxNywgTVBQX1VBUlQgfSwJCS8qIFVBUlQxIFRYRCAqLworCXsgMTgsIE1QUF9VQVJUIH0sCQkvKiBVQVJUMSBDVFNuICovCisJeyAxOSwgTVBQX1VBUlQgfSwJCS8qIFVBUlQxIFJUU24gKi8KKwl7IC0xIH0sCit9OwogCiBzdGF0aWMgdm9pZCBfX2luaXQga3Vyb2JveF9wcm9faW5pdCh2b2lkKQogewpAQCAtMTg5LDQ2ICszNDQsMzMgQEAKIAkgKi8KIAlvcmlvbjV4X2luaXQoKTsKIAotCS8qCi0JICogU2V0dXAgdGhlIENQVSBhZGRyZXNzIGRlY29kZSB3aW5kb3dzIGZvciBvdXIgZGV2aWNlcwotCSAqLwotCW9yaW9uNXhfc2V0dXBfZGV2X2Jvb3Rfd2luKEtVUk9CT1hfUFJPX05PUl9CT09UX0JBU0UsCi0JCQkJS1VST0JPWF9QUk9fTk9SX0JPT1RfU0laRSk7Ci0Jb3Jpb241eF9zZXR1cF9kZXYwX3dpbihLVVJPQk9YX1BST19OQU5EX0JBU0UsIEtVUk9CT1hfUFJPX05BTkRfU0laRSk7CisJb3Jpb241eF9tcHBfY29uZihrdXJvYm94X3Byb19tcHBfbW9kZXMpOwogCiAJLyoKLQkgKiBPcGVuIGEgc3BlY2lhbCBhZGRyZXNzIGRlY29kZSB3aW5kb3dzIGZvciB0aGUgUENJZSBXQS4KKwkgKiBDb25maWd1cmUgcGVyaXBoZXJhbHMuCiAJICovCi0Jb3Jpb241eF9zZXR1cF9wY2llX3dhX3dpbihPUklPTjVYX1BDSUVfV0FfUEhZU19CQVNFLAotCQkJCU9SSU9ONVhfUENJRV9XQV9TSVpFKTsKLQotCS8qCi0JICogU2V0dXAgTXVsdGlwbGV4aW5nIFBpbnMgLS0KLQkgKiBNUFBbMC0xXSBOb3QgdXNlZAotCSAqIE1QUFsyXSBHUElPIE1pY29uCi0JICogTVBQWzNdIEdQSU8gUlRDCi0JICogTVBQWzQtNV0gTm90IHVzZWQKLQkgKiBNUFBbNl0gTmFuZCBGbGFzaCBSRW4KLQkgKiBNUFBbN10gTmFuZCBGbGFzaCBXRW4KLQkgKiBNUFBbOC0xMV0gTm90IHVzZWQKLQkgKiBNUFBbMTJdIFNBVEEgMCBwcmVzZW5jZSBJbmRpY2F0aW9uCi0JICogTVBQWzEzXSBTQVRBIDEgcHJlc2VuY2UgSW5kaWNhdGlvbgotCSAqIE1QUFsxNF0gU0FUQSAwIGFjdGl2ZSBJbmRpY2F0aW9uCi0JICogTVBQWzE1XSBTQVRBIDEgYWN0aXZlIGluZGljYXRpb24KLQkgKiBNUFBbMTYtMTldIE5vdCB1c2VkCi0JICovCi0Jb3Jpb241eF93cml0ZShNUFBfMF83X0NUUkwsIDB4NDQyMjAwMDMpOwotCW9yaW9uNXhfd3JpdGUoTVBQXzhfMTVfQ1RSTCwgMHg1NTU1MDAwMCk7Ci0Jb3Jpb241eF93cml0ZShNUFBfMTZfMTlfQ1RSTCwgMHgwKTsKLQotCW9yaW9uNXhfZ3Bpb19zZXRfdmFsaWRfcGlucygweDAwMDAwMDBjKTsKLQotCXBsYXRmb3JtX2RldmljZV9yZWdpc3Rlcigma3Vyb2JveF9wcm9fbm9yX2ZsYXNoKTsKLQlpZiAobWFjaGluZV9pc19rdXJvYm94X3BybygpKQotCQlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJmt1cm9ib3hfcHJvX25hbmRfZmxhc2gpOwotCWkyY19yZWdpc3Rlcl9ib2FyZF9pbmZvKDAsICZrdXJvYm94X3Byb19pMmNfcnRjLCAxKTsKKwlvcmlvbjV4X2VoY2kwX2luaXQoKTsKKwlvcmlvbjV4X2VoY2kxX2luaXQoKTsKIAlvcmlvbjV4X2V0aF9pbml0KCZrdXJvYm94X3Byb19ldGhfZGF0YSk7CisJb3Jpb241eF9pMmNfaW5pdCgpOwogCW9yaW9uNXhfc2F0YV9pbml0KCZrdXJvYm94X3Byb19zYXRhX2RhdGEpOworCW9yaW9uNXhfdWFydDBfaW5pdCgpOworCW9yaW9uNXhfdWFydDFfaW5pdCgpOworCisJb3Jpb241eF9zZXR1cF9kZXZfYm9vdF93aW4oS1VST0JPWF9QUk9fTk9SX0JPT1RfQkFTRSwKKwkJCQkgICBLVVJPQk9YX1BST19OT1JfQk9PVF9TSVpFKTsKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJmt1cm9ib3hfcHJvX25vcl9mbGFzaCk7CisKKwlpZiAobWFjaGluZV9pc19rdXJvYm94X3BybygpKSB7CisJCW9yaW9uNXhfc2V0dXBfZGV2MF93aW4oS1VST0JPWF9QUk9fTkFORF9CQVNFLAorCQkJCSAgICAgICBLVVJPQk9YX1BST19OQU5EX1NJWkUpOworCQlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJmt1cm9ib3hfcHJvX25hbmRfZmxhc2gpOworCX0KKworCWkyY19yZWdpc3Rlcl9ib2FyZF9pbmZvKDAsICZrdXJvYm94X3Byb19pMmNfcnRjLCAxKTsKKworCS8qIHJlZ2lzdGVyIEt1cm9ib3ggUHJvIHNwZWNpZmljIHBvd2VyLW9mZiBtZXRob2QgKi8KKwlwbV9wb3dlcl9vZmYgPSBrdXJvYm94X3Byb19wb3dlcl9vZmY7CiB9CiAKICNpZmRlZiBDT05GSUdfTUFDSF9LVVJPQk9YX1BSTwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L21wcC5jIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L21wcC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE0OGNhZGIKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvbXBwLmMKQEAgLTAsMCArMSwxNjMgQEAKKy8qCisgKiBhcmNoL2FybS9tYWNoLW9yaW9uNXgvbXBwLmMKKyAqCisgKiBNUFAgZnVuY3Rpb25zIGZvciBNYXJ2ZWxsIE9yaW9uIDV4IFNvQ3MKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L21idXMuaD4KKyNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KKyNpbmNsdWRlIDxhc20vaW8uaD4KKyNpbmNsdWRlICJjb21tb24uaCIKKyNpbmNsdWRlICJtcHAuaCIKKworc3RhdGljIGludCBpc181MTgxbCh2b2lkKQoreworCXUzMiBkZXY7CisJdTMyIHJldjsKKworCW9yaW9uNXhfcGNpZV9pZCgmZGV2LCAmcmV2KTsKKworCXJldHVybiAhIShkZXYgPT0gTVY4OEY1MTgxX0RFVl9JRCAmJiByZXYgPj0gTVY4OEY1MTgxTF9SRVZfQTApOworfQorCitzdGF0aWMgaW50IGlzXzUxODIodm9pZCkKK3sKKwl1MzIgZGV2OworCXUzMiByZXY7CisKKwlvcmlvbjV4X3BjaWVfaWQoJmRldiwgJnJldik7CisKKwlyZXR1cm4gISEoZGV2ID09IE1WODhGNTE4Ml9ERVZfSUQpOworfQorCitzdGF0aWMgaW50IGlzXzUyODEodm9pZCkKK3sKKwl1MzIgZGV2OworCXUzMiByZXY7CisKKwlvcmlvbjV4X3BjaWVfaWQoJmRldiwgJnJldik7CisKKwlyZXR1cm4gISEoZGV2ID09IE1WODhGNTI4MV9ERVZfSUQpOworfQorCitzdGF0aWMgaW50IF9faW5pdCBkZXRlcm1pbmVfdHlwZV9lbmNvZGluZyhpbnQgbXBwLCBlbnVtIG9yaW9uNXhfbXBwX3R5cGUgdHlwZSkKK3sKKwlzd2l0Y2ggKHR5cGUpIHsKKwljYXNlIE1QUF9VTlVTRUQ6CisJY2FzZSBNUFBfR1BJTzoKKwkJaWYgKG1wcCA9PSAwKQorCQkJcmV0dXJuIDM7CisJCWlmIChtcHAgPj0gMSAmJiBtcHAgPD0gMTUpCisJCQlyZXR1cm4gMDsKKwkJaWYgKG1wcCA+PSAxNiAmJiBtcHAgPD0gMTkpIHsKKwkJCWlmIChpc181MTgyKCkpCisJCQkJcmV0dXJuIDU7CisJCQlpZiAodHlwZSA9PSBNUFBfVU5VU0VEKQorCQkJCXJldHVybiAwOworCQl9CisJCXJldHVybiAtMTsKKworCWNhc2UgTVBQX1BDSUVfUlNUX09VVG46CisJCWlmIChtcHAgPT0gMCkKKwkJCXJldHVybiAwOworCQlyZXR1cm4gLTE7CisKKwljYXNlIE1QUF9QQ0lfQVJCOgorCQlpZiAobXBwID49IDAgJiYgbXBwIDw9IDcpCisJCQlyZXR1cm4gMjsKKwkJcmV0dXJuIC0xOworCisJY2FzZSBNUFBfUENJX1BNRW46CisJCWlmIChtcHAgPT0gMikKKwkJCXJldHVybiAzOworCQlyZXR1cm4gLTE7CisKKwljYXNlIE1QUF9HSUdFOgorCQlpZiAobXBwID49IDggJiYgbXBwIDw9IDE5KQorCQkJcmV0dXJuIDE7CisJCXJldHVybiAtMTsKKworCWNhc2UgTVBQX05BTkQ6CisJCWlmIChpc181MTgyKCkgfHwgaXNfNTI4MSgpKSB7CisJCQlpZiAobXBwID49IDQgJiYgbXBwIDw9IDcpCisJCQkJcmV0dXJuIDQ7CisJCQlpZiAobXBwID49IDEyICYmIG1wcCA8PSAxNykKKwkJCQlyZXR1cm4gNDsKKwkJfQorCQlyZXR1cm4gLTE7CisKKwljYXNlIE1QUF9QQ0lfQ0xLOgorCQlpZiAoaXNfNTE4MWwoKSAmJiBtcHAgPj0gNiAmJiBtcHAgPD0gNykKKwkJCXJldHVybiA1OworCQlyZXR1cm4gLTE7CisKKwljYXNlIE1QUF9TQVRBX0xFRDoKKwkJaWYgKGlzXzUxODIoKSkgeworCQkJaWYgKG1wcCA+PSA0ICYmIG1wcCA8PSA3KQorCQkJCXJldHVybiA1OworCQkJaWYgKG1wcCA+PSAxMiAmJiBtcHAgPD0gMTUpCisJCQkJcmV0dXJuIDU7CisJCX0KKwkJcmV0dXJuIC0xOworCisJY2FzZSBNUFBfVUFSVDoKKwkJaWYgKG1wcCA+PSAxNiAmJiBtcHAgPD0gMTkpCisJCQlyZXR1cm4gMDsKKwkJcmV0dXJuIC0xOworCX0KKworCXByaW50ayhLRVJOX0lORk8gInVua25vd24gTVBQIHR5cGUgJWRcbiIsIHR5cGUpOworCisJcmV0dXJuIC0xOworfQorCit2b2lkIF9faW5pdCBvcmlvbjV4X21wcF9jb25mKHN0cnVjdCBvcmlvbjV4X21wcF9tb2RlICptb2RlKQoreworCXUzMiBtcHBfMF83X2N0cmwgPSByZWFkbChNUFBfMF83X0NUUkwpOworCXUzMiBtcHBfOF8xNV9jdHJsID0gcmVhZGwoTVBQXzhfMTVfQ1RSTCk7CisJdTMyIG1wcF8xNl8xOV9jdHJsID0gcmVhZGwoTVBQXzE2XzE5X0NUUkwpOworCisJd2hpbGUgKG1vZGUtPm1wcCA+PSAwKSB7CisJCXUzMiAqcmVnOworCQlpbnQgbnVtX3R5cGU7CisJCWludCBzaGlmdDsKKworCQlpZiAobW9kZS0+bXBwID49IDAgJiYgbW9kZS0+bXBwIDw9IDcpCisJCQlyZWcgPSAmbXBwXzBfN19jdHJsOworCQllbHNlIGlmIChtb2RlLT5tcHAgPj0gOCAmJiBtb2RlLT5tcHAgPD0gMTUpCisJCQlyZWcgPSAmbXBwXzhfMTVfY3RybDsKKwkJZWxzZSBpZiAobW9kZS0+bXBwID49IDE2ICYmIG1vZGUtPm1wcCA8PSAxOSkKKwkJCXJlZyA9ICZtcHBfMTZfMTlfY3RybDsKKwkJZWxzZSB7CisJCQlwcmludGsoS0VSTl9FUlIgIm9yaW9uNXhfbXBwX2NvbmY6IGludmFsaWQgTVBQICIKKwkJCQkJIiglZClcbiIsIG1vZGUtPm1wcCk7CisJCQljb250aW51ZTsKKwkJfQorCisJCW51bV90eXBlID0gZGV0ZXJtaW5lX3R5cGVfZW5jb2RpbmcobW9kZS0+bXBwLCBtb2RlLT50eXBlKTsKKwkJaWYgKG51bV90eXBlIDwgMCkgeworCQkJcHJpbnRrKEtFUk5fRVJSICJvcmlvbjV4X21wcF9jb25mOiBpbnZhbGlkIE1QUCAiCisJCQkJCSJjb21iaW5hdGlvbiAoJWQsICVkKVxuIiwgbW9kZS0+bXBwLAorCQkJCQltb2RlLT50eXBlKTsKKwkJCWNvbnRpbnVlOworCQl9CisKKwkJc2hpZnQgPSAobW9kZS0+bXBwICYgNykgPDwgMjsKKwkJKnJlZyAmPSB+KDB4ZiA8PCBzaGlmdCk7CisJCSpyZWcgfD0gKG51bV90eXBlICYgMHhmKSA8PCBzaGlmdDsKKworCQlvcmlvbjV4X2dwaW9fc2V0X3ZhbGlkKG1vZGUtPm1wcCwgISEobW9kZS0+dHlwZSA9PSBNUFBfR1BJTykpOworCisJCW1vZGUrKzsKKwl9CisKKwl3cml0ZWwobXBwXzBfN19jdHJsLCBNUFBfMF83X0NUUkwpOworCXdyaXRlbChtcHBfOF8xNV9jdHJsLCBNUFBfOF8xNV9DVFJMKTsKKwl3cml0ZWwobXBwXzE2XzE5X2N0cmwsIE1QUF8xNl8xOV9DVFJMKTsKK30KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb3Jpb241eC9tcHAuaCBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9tcHAuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yOTBlNjEwCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L21wcC5oCkBAIC0wLDAgKzEsNzQgQEAKKyNpZm5kZWYgX19BUkNIX09SSU9ONVhfTVBQX0gKKyNkZWZpbmUgX19BUkNIX09SSU9ONVhfTVBQX0gKKworZW51bSBvcmlvbjV4X21wcF90eXBlIHsKKwkvKgorCSAqIFRoaXMgTVBQIGlzIHVudXNlZC4KKwkgKi8KKwlNUFBfVU5VU0VELAorCisJLyoKKwkgKiBUaGlzIE1QUCBwaW4gaXMgdXNlZCBhcyBhIGdlbmVyaWMgR1BJTyBwaW4uICBWYWxpZCBmb3IKKwkgKiBNUFBzIDAtMTUgYW5kIGRldmljZSBidXMgZGF0YSBwaW5zIDE2LTMxLiAgT24gNTE4MiwgYWxzbworCSAqIHZhbGlkIGZvciBNUFBzIDE2LTE5LgorCSAqLworCU1QUF9HUElPLAorCisJLyoKKwkgKiBUaGlzIE1QUCBpcyB1c2VkIGFzIFBDSWVfUlNUX09VVG4gcGluLiAgVmFsaWQgZm9yCisJICogTVBQIDAgb25seS4KKwkgKi8KKwlNUFBfUENJRV9SU1RfT1VUbiwKKworCS8qCisJICogVGhpcyBNUFAgaXMgdXNlZCBhcyBQQ0kgYXJiaXRlciBwaW4gKFJFUW4vR05UbikuCisJICogVmFsaWQgZm9yIE1QUHMgMC03IG9ubHkuCisJICovCisJTVBQX1BDSV9BUkIsCisKKwkvKgorCSAqIFRoaXMgTVBQIGlzIHVzZWQgYXMgUENJX1BNRW4gcGluLiAgVmFsaWQgZm9yIE1QUCAyIG9ubHkuCisJICovCisJTVBQX1BDSV9QTUVuLAorCisJLyoKKwkgKiBUaGlzIE1QUCBpcyB1c2VkIGFzIEdpZ0UgaGFsZi1kdXBsZXggKENPTCwgQ1JTKSBvciBHTUlJCisJICogKFJYRVJSLCBDUlMsIFRYRVJSLCBUWERbNzo0XSwgUlhEWzc6NF0pIHBpbi4gIFZhbGlkIGZvcgorCSAqIE1QUHMgOC0xOSBvbmx5LgorCSAqLworCU1QUF9HSUdFLAorCisJLyoKKwkgKiBUaGlzIE1QUCBpcyB1c2VkIGFzIE5BTkQgUkVuL1dFbiBwaW4uICBWYWxpZCBmb3IgTVBQcworCSAqIDQtNyBhbmQgMTItMTcgb25seSwgYW5kIG9ubHkgb24gdGhlIDUxODFsLzUxODIvNTI4MS4KKwkgKi8KKwlNUFBfTkFORCwKKworCS8qCisJICogVGhpcyBNUFAgaXMgdXNlZCBhcyBhIFBDSSBjbG9jayBvdXRwdXQgcGluLiAgVmFsaWQgZm9yCisJICogTVBQcyA2LTcgb25seSwgYW5kIG9ubHkgb24gdGhlIDUxODFsLgorCSAqLworCU1QUF9QQ0lfQ0xLLAorCisJLyoKKwkgKiBUaGlzIE1QUCBpcyB1c2VkIGFzIGEgU0FUQSBwcmVzZW5jZS9hY3Rpdml0eSBMRUQuCisJICogVmFsaWQgZm9yIE1QUHMgNC03IGFuZCAxMi0xNSBvbmx5LCBhbmQgb25seSBvbiB0aGUgNTE4Mi4KKwkgKi8KKwlNUFBfU0FUQV9MRUQsCisKKwkvKgorCSAqIFRoaXMgTVBQIGlzIHVzZWQgYXMgVUFSVDEgUlhEL1RYRC9DVFNuL1JUU24gcGluLgorCSAqIFZhbGlkIGZvciBNUFBzIDE2LTE5IG9ubHkuCisJICovCisJTVBQX1VBUlQsCit9OworCitzdHJ1Y3Qgb3Jpb241eF9tcHBfbW9kZSB7CisJaW50CQkJbXBwOworCWVudW0gb3Jpb241eF9tcHBfdHlwZQl0eXBlOworfTsKKwordm9pZCBvcmlvbjV4X21wcF9jb25mKHN0cnVjdCBvcmlvbjV4X21wcF9tb2RlICptb2RlKTsKKworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb3Jpb241eC9tc3MyLXNldHVwLmMgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvbXNzMi1zZXR1cC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdjZTllNDAKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvbXNzMi1zZXR1cC5jCkBAIC0wLDAgKzEsMjcwIEBACisvKgorICogTWF4dG9yIFNoYXJlZCBTdG9yYWdlIElJIEJvYXJkIFNldHVwCisgKgorICogTWFpbnRhaW5lcjogU3lsdmVyIEJydW5lYXUgPHN5bHZlci5icnVuZWF1QGdvb2dsZW1haWwuY29tPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24KKyAqIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9wY2kuaD4KKyNpbmNsdWRlIDxsaW51eC9pcnEuaD4KKyNpbmNsdWRlIDxsaW51eC9tdGQvcGh5c21hcC5oPgorI2luY2x1ZGUgPGxpbnV4L212NjQzeHhfZXRoLmg+CisjaW5jbHVkZSA8bGludXgvbGVkcy5oPgorI2luY2x1ZGUgPGxpbnV4L2dwaW9fa2V5cy5oPgorI2luY2x1ZGUgPGxpbnV4L2lucHV0Lmg+CisjaW5jbHVkZSA8bGludXgvaTJjLmg+CisjaW5jbHVkZSA8bGludXgvYXRhX3BsYXRmb3JtLmg+CisjaW5jbHVkZSA8bGludXgvZ3Bpby5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvYXJjaC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL3BjaS5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL29yaW9uNXguaD4KKyNpbmNsdWRlICJjb21tb24uaCIKKyNpbmNsdWRlICJtcHAuaCIKKworI2RlZmluZSBNU1MyX05PUl9CT09UX0JBU0UJMHhmZjgwMDAwMAorI2RlZmluZSBNU1MyX05PUl9CT09UX1NJWkUJU1pfMjU2SworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIE1heHRvciBTaGFyZWQgU3RvcmFnZSBJSSBJbmZvCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoKKyAqIE1heHRvciBTaGFyZWQgU3RvcmFnZSBJSSBoYXJkd2FyZSA6CisgKiAtIE1hcnZlbGwgODhGNTE4Mi1BMiBDNTAwCisgKiAtIE1hcnZlbGwgODhFMTExMSBHaWdhYml0IEV0aGVybmV0IFBIWQorICogLSBSVEMgTTQxVDgxIChAMHg2OCkgb24gSTJDIGJ1cworICogLSAyNTZLQiBOT1IgZmxhc2gKKyAqIC0gNjRNQiBvZiBSQU0KKyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIDI1NktCIE5PUiBGbGFzaCBvbiBCT09UIERldmljZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3N0YXRpYyBzdHJ1Y3QgcGh5c21hcF9mbGFzaF9kYXRhIG1zczJfbm9yX2ZsYXNoX2RhdGEgPSB7CisJLndpZHRoCQk9IDEsCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIG1zczJfbm9yX2ZsYXNoX3Jlc291cmNlID0geworCS5mbGFncwkJPSBJT1JFU09VUkNFX01FTSwKKwkuc3RhcnQJCT0gTVNTMl9OT1JfQk9PVF9CQVNFLAorCS5lbmQJCT0gTVNTMl9OT1JfQk9PVF9CQVNFICsgTVNTMl9OT1JfQk9PVF9TSVpFIC0gMSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG1zczJfbm9yX2ZsYXNoID0geworCS5uYW1lCQk9ICJwaHlzbWFwLWZsYXNoIiwKKwkuaWQJCT0gMCwKKwkuZGV2CQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSAmbXNzMl9ub3JfZmxhc2hfZGF0YSwKKwl9LAorCS5yZXNvdXJjZQk9ICZtc3MyX25vcl9mbGFzaF9yZXNvdXJjZSwKKwkubnVtX3Jlc291cmNlcwk9IDEsCit9OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogUENJIHNldHVwCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBpbnQgX19pbml0IG1zczJfcGNpX21hcF9pcnEoc3RydWN0IHBjaV9kZXYgKmRldiwgdTggc2xvdCwgdTggcGluKQoreworCWludCBpcnE7CisKKwkvKgorCSAqIENoZWNrIGZvciBkZXZpY2VzIHdpdGggaGFyZC13aXJlZCBJUlFzLgorCSAqLworCWlycSA9IG9yaW9uNXhfcGNpX21hcF9pcnEoZGV2LCBzbG90LCBwaW4pOworCWlmIChpcnEgIT0gLTEpCisJCXJldHVybiBpcnE7CisKKwlyZXR1cm4gLTE7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgaHdfcGNpIG1zczJfcGNpIF9faW5pdGRhdGEgPSB7CisJLm5yX2NvbnRyb2xsZXJzID0gMiwKKwkuc3dpenpsZQk9IHBjaV9zdGRfc3dpenpsZSwKKwkuc2V0dXAJCT0gb3Jpb241eF9wY2lfc3lzX3NldHVwLAorCS5zY2FuCQk9IG9yaW9uNXhfcGNpX3N5c19zY2FuX2J1cywKKwkubWFwX2lycQk9IG1zczJfcGNpX21hcF9pcnEsCit9OworCitzdGF0aWMgaW50IF9faW5pdCBtc3MyX3BjaV9pbml0KHZvaWQpCit7CisJaWYgKG1hY2hpbmVfaXNfbXNzMigpKQorCQlwY2lfY29tbW9uX2luaXQoJm1zczJfcGNpKTsKKworCXJldHVybiAwOworfQorc3Vic3lzX2luaXRjYWxsKG1zczJfcGNpX2luaXQpOworCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRXRoZXJuZXQKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitzdGF0aWMgc3RydWN0IG12NjQzeHhfZXRoX3BsYXRmb3JtX2RhdGEgbXNzMl9ldGhfZGF0YSA9IHsKKwkucGh5X2FkZHIJPSA4LAorfTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBTQVRBCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworc3RhdGljIHN0cnVjdCBtdl9zYXRhX3BsYXRmb3JtX2RhdGEgbXNzMl9zYXRhX2RhdGEgPSB7CisJLm5fcG9ydHMJPSAyLAorfTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBHUElPIGJ1dHRvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjZGVmaW5lIE1TUzJfR1BJT19LRVlfUkVTRVQJMTIKKyNkZWZpbmUgTVNTMl9HUElPX0tFWV9QT1dFUgkxMQorCitzdGF0aWMgc3RydWN0IGdwaW9fa2V5c19idXR0b24gbXNzMl9idXR0b25zW10gPSB7CisJeworCQkuY29kZQkJPSBLRVlfUE9XRVIsCisJCS5ncGlvCQk9IE1TUzJfR1BJT19LRVlfUE9XRVIsCisJCS5kZXNjCQk9ICJQb3dlciIsCisJCS5hY3RpdmVfbG93CT0gMSwKKwl9LCB7CisJCS5jb2RlCQk9IEtFWV9SRVNUQVJULAorCQkuZ3BpbwkJPSBNU1MyX0dQSU9fS0VZX1JFU0VULAorCQkuZGVzYwkJPSAiUmVzZXQiLAorCQkuYWN0aXZlX2xvdwk9IDEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgZ3Bpb19rZXlzX3BsYXRmb3JtX2RhdGEgbXNzMl9idXR0b25fZGF0YSA9IHsKKwkuYnV0dG9ucwk9IG1zczJfYnV0dG9ucywKKwkubmJ1dHRvbnMJPSBBUlJBWV9TSVpFKG1zczJfYnV0dG9ucyksCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBtc3MyX2J1dHRvbl9kZXZpY2UgPSB7CisJLm5hbWUJCT0gImdwaW8ta2V5cyIsCisJLmlkCQk9IC0xLAorCS5kZXYJCT0geworCQkucGxhdGZvcm1fZGF0YQk9ICZtc3MyX2J1dHRvbl9kYXRhLAorCX0sCit9OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFJUQyBtNDF0ODEgb24gSTJDIGJ1cworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNkZWZpbmUgTVNTMl9HUElPX1JUQ19JUlEJMworCitzdGF0aWMgc3RydWN0IGkyY19ib2FyZF9pbmZvIF9faW5pdGRhdGEgbXNzMl9pMmNfcnRjID0geworCUkyQ19CT0FSRF9JTkZPKCJtNDF0ODEiLCAweDY4KSwKK307CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogTVNTMiBwb3dlciBvZmYgbWV0aG9kCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qCisgKiBPbiB0aGUgTWF4dG9yIFNoYXJlZCBTdG9yYWdlIElJLCB0aGUgc2h1dGRvd24gcHJvY2VzcyBpcyB0aGUgZm9sbG93aW5nIDoKKyAqIC0gVXNlcmxhbmQgbW9kaWZpZXMgVS1ib290IGVudiB0byB0ZWxsIFUtYm9vdCB0byBnbyBpZGxlIGF0IG5leHQgYm9vdAorICogLSBUaGUgYm9hcmQgcmVib290cworICogLSBVLWJvb3Qgc3RhcnRzIGFuZCBnbyBpbnRvIGFuIGlkbGUgbW9kZSB1bnRpbCB0aGUgdXNlciBwcmVzcyAicG93ZXIiCisgKi8KK3N0YXRpYyB2b2lkIG1zczJfcG93ZXJfb2ZmKHZvaWQpCit7CisJdTMyIHJlZzsKKworCS8qCisJICogRW5hYmxlIGFuZCBpc3N1ZSBzb2Z0IHJlc2V0CisJICovCisJcmVnID0gcmVhZGwoQ1BVX1JFU0VUX01BU0spOworCXJlZyB8PSAxIDw8IDI7CisJd3JpdGVsKHJlZywgQ1BVX1JFU0VUX01BU0spOworCisJcmVnID0gcmVhZGwoQ1BVX1NPRlRfUkVTRVQpOworCXJlZyB8PSAxOworCXdyaXRlbChyZWcsIENQVV9TT0ZUX1JFU0VUKTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEdlbmVyYWwgU2V0dXAKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHN0cnVjdCBvcmlvbjV4X21wcF9tb2RlIG1zczJfbXBwX21vZGVzW10gX19pbml0ZGF0YSA9IHsKKwl7ICAwLCBNUFBfR1BJTyB9LAkJLyogUG93ZXIgTEVEICovCisJeyAgMSwgTVBQX0dQSU8gfSwJCS8qIEVycm9yIExFRCAqLworCXsgIDIsIE1QUF9VTlVTRUQgfSwKKwl7ICAzLCBNUFBfR1BJTyB9LAkJLyogUlRDIGludGVycnVwdCAqLworCXsgIDQsIE1QUF9HUElPIH0sCQkvKiBIREQgaW5kLiAoU2luZ2xlL0R1YWwpKi8KKwl7ICA1LCBNUFBfR1BJTyB9LAkJLyogSEQwIDVWIGNvbnRyb2wgKi8KKwl7ICA2LCBNUFBfR1BJTyB9LAkJLyogSEQwIDEyViBjb250cm9sICovCisJeyAgNywgTVBQX0dQSU8gfSwJCS8qIEhEMSA1ViBjb250cm9sICovCisJeyAgOCwgTVBQX0dQSU8gfSwJCS8qIEhEMSAxMlYgY29udHJvbCAqLworCXsgIDksIE1QUF9VTlVTRUQgfSwKKwl7IDEwLCBNUFBfR1BJTyB9LAkJLyogRmFuIGNvbnRyb2wgKi8KKwl7IDExLCBNUFBfR1BJTyB9LAkJLyogUG93ZXIgYnV0dG9uICovCisJeyAxMiwgTVBQX0dQSU8gfSwJCS8qIFJlc2V0IGJ1dHRvbiAqLworCXsgMTMsIE1QUF9VTlVTRUQgfSwKKwl7IDE0LCBNUFBfU0FUQV9MRUQgfSwJCS8qIFNBVEEgMCBhY3RpdmUgKi8KKwl7IDE1LCBNUFBfU0FUQV9MRUQgfSwJCS8qIFNBVEEgMSBhY3RpdmUgKi8KKwl7IDE2LCBNUFBfVU5VU0VEIH0sCisJeyAxNywgTVBQX1VOVVNFRCB9LAorCXsgMTgsIE1QUF9VTlVTRUQgfSwKKwl7IDE5LCBNUFBfVU5VU0VEIH0sCisJeyAtMSB9LAorfTsKKworc3RhdGljIHZvaWQgX19pbml0IG1zczJfaW5pdCh2b2lkKQoreworCS8qIFNldHVwIGJhc2ljIE9yaW9uIGZ1bmN0aW9ucy4gTmVlZCB0byBiZSBjYWxsZWQgZWFybHkuICovCisJb3Jpb241eF9pbml0KCk7CisKKwlvcmlvbjV4X21wcF9jb25mKG1zczJfbXBwX21vZGVzKTsKKworCS8qCisJICogTVBQWzIwXSBVbnVzZWQKKwkgKiBNUFBbMjFdIFBDSSBjbG9jaworCSAqIE1QUFsyMl0gVVNCIDAgb3ZlciBjdXJyZW50CisJICogTVBQWzIzXSBVU0IgMSBvdmVyIGN1cnJlbnQKKwkgKi8KKworCS8qCisJICogQ29uZmlndXJlIHBlcmlwaGVyYWxzLgorCSAqLworCW9yaW9uNXhfZWhjaTBfaW5pdCgpOworCW9yaW9uNXhfZWhjaTFfaW5pdCgpOworCW9yaW9uNXhfZXRoX2luaXQoJm1zczJfZXRoX2RhdGEpOworCW9yaW9uNXhfaTJjX2luaXQoKTsKKwlvcmlvbjV4X3NhdGFfaW5pdCgmbXNzMl9zYXRhX2RhdGEpOworCW9yaW9uNXhfdWFydDBfaW5pdCgpOworCisJb3Jpb241eF9zZXR1cF9kZXZfYm9vdF93aW4oTVNTMl9OT1JfQk9PVF9CQVNFLCBNU1MyX05PUl9CT09UX1NJWkUpOworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmbXNzMl9ub3JfZmxhc2gpOworCisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZtc3MyX2J1dHRvbl9kZXZpY2UpOworCisJaWYgKGdwaW9fcmVxdWVzdChNU1MyX0dQSU9fUlRDX0lSUSwgInJ0YyIpID09IDApIHsKKwkJaWYgKGdwaW9fZGlyZWN0aW9uX2lucHV0KE1TUzJfR1BJT19SVENfSVJRKSA9PSAwKQorCQkJbXNzMl9pMmNfcnRjLmlycSA9IGdwaW9fdG9faXJxKE1TUzJfR1BJT19SVENfSVJRKTsKKwkJZWxzZQorCQkJZ3Bpb19mcmVlKE1TUzJfR1BJT19SVENfSVJRKTsKKwl9CisJaTJjX3JlZ2lzdGVyX2JvYXJkX2luZm8oMCwgJm1zczJfaTJjX3J0YywgMSk7CisKKwkvKiByZWdpc3RlciBtc3MyIHNwZWNpZmljIHBvd2VyLW9mZiBtZXRob2QgKi8KKwlwbV9wb3dlcl9vZmYgPSBtc3MyX3Bvd2VyX29mZjsKK30KKworTUFDSElORV9TVEFSVChNU1MyLCAiTWF4dG9yIFNoYXJlZCBTdG9yYWdlIElJIikKKwkvKiBNYWludGFpbmVyOiBTeWx2ZXIgQnJ1bmVhdSA8c3lsdmVyLmJydW5lYXVAZ29vZ2xlbWFpbC5jb20+ICovCisJLnBoeXNfaW8JPSBPUklPTjVYX1JFR1NfUEhZU19CQVNFLAorCS5pb19wZ19vZmZzdAk9ICgoT1JJT041WF9SRUdTX1ZJUlRfQkFTRSkgPj4gMTgpICYgMHhGRkZDLAorCS5ib290X3BhcmFtcwk9IDB4MDAwMDAxMDAsCisJLmluaXRfbWFjaGluZQk9IG1zczJfaW5pdCwKKwkubWFwX2lvCQk9IG9yaW9uNXhfbWFwX2lvLAorCS5pbml0X2lycQk9IG9yaW9uNXhfaW5pdF9pcnEsCisJLnRpbWVyCQk9ICZvcmlvbjV4X3RpbWVyLAorCS5maXh1cAkJPSB0YWdfZml4dXBfbWVtMzIKK01BQ0hJTkVfRU5ECmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgvbXYyMTIwLXNldHVwLmMgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvbXYyMTIwLXNldHVwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTVmM2IwZgotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9tdjIxMjAtc2V0dXAuYwpAQCAtMCwwICsxLDIzOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNyBIZXJiZXJ0IFZhbGVyaW8gUmllZGVsIDxodnJAZ251Lm9yZz4KKyAqIENvcHlyaWdodCAoQykgMjAwOCBNYXJ0aW4gTWljaGxtYXlyIDx0Ym1AY3lyaXVzLmNvbT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZQorICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqLworCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L2lycS5oPgorI2luY2x1ZGUgPGxpbnV4L210ZC9waHlzbWFwLmg+CisjaW5jbHVkZSA8bGludXgvbXY2NDN4eF9ldGguaD4KKyNpbmNsdWRlIDxsaW51eC9sZWRzLmg+CisjaW5jbHVkZSA8bGludXgvZ3Bpb19rZXlzLmg+CisjaW5jbHVkZSA8bGludXgvaW5wdXQuaD4KKyNpbmNsdWRlIDxsaW51eC9pMmMuaD4KKyNpbmNsdWRlIDxsaW51eC9hdGFfcGxhdGZvcm0uaD4KKyNpbmNsdWRlIDxhc20vbWFjaC10eXBlcy5oPgorI2luY2x1ZGUgPGFzbS9ncGlvLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvYXJjaC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL29yaW9uNXguaD4KKyNpbmNsdWRlICJjb21tb24uaCIKKyNpbmNsdWRlICJtcHAuaCIKKworI2RlZmluZSBNVjIxMjBfTk9SX0JPT1RfQkFTRQkweGY0MDAwMDAwCisjZGVmaW5lIE1WMjEyMF9OT1JfQk9PVF9TSVpFCVNaXzUxMksKKworI2RlZmluZSBNVjIxMjBfR1BJT19SVENfSVJRCTMKKyNkZWZpbmUgTVYyMTIwX0dQSU9fS0VZX1JFU0VUCTE3CisjZGVmaW5lIE1WMjEyMF9HUElPX0tFWV9QT1dFUgkxOAorI2RlZmluZSBNVjIxMjBfR1BJT19QT1dFUl9PRkYJMTkKKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEV0aGVybmV0CisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YSBtdjIxMjBfZXRoX2RhdGEgPSB7CisJLnBoeV9hZGRyCT0gOCwKK307CisKK3N0YXRpYyBzdHJ1Y3QgbXZfc2F0YV9wbGF0Zm9ybV9kYXRhIG12MjEyMF9zYXRhX2RhdGEgPSB7CisJLm5fcG9ydHMJPSAyLAorfTsKKworc3RhdGljIHN0cnVjdCBtdGRfcGFydGl0aW9uIG12MjEyMF9wYXJ0aXRpb25zW10gPSB7CisJeworCQkubmFtZQk9ICJmaXJtd2FyZSIsCisJCS5zaXplCT0gMHgwMDA4MDAwMCwKKwkJLm9mZnNldAk9IDAsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGh5c21hcF9mbGFzaF9kYXRhIG12MjEyMF9ub3JfZmxhc2hfZGF0YSA9IHsKKwkud2lkdGgJCT0gMSwKKwkucGFydHMJCT0gbXYyMTIwX3BhcnRpdGlvbnMsCisJLm5yX3BhcnRzCT0gQVJSQVlfU0laRShtdjIxMjBfcGFydGl0aW9ucykKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgbXYyMTIwX25vcl9mbGFzaF9yZXNvdXJjZSA9IHsKKwkuZmxhZ3MJCT0gSU9SRVNPVVJDRV9NRU0sCisJLnN0YXJ0CQk9IE1WMjEyMF9OT1JfQk9PVF9CQVNFLAorCS5lbmQJCT0gTVYyMTIwX05PUl9CT09UX0JBU0UgKyBNVjIxMjBfTk9SX0JPT1RfU0laRSAtIDEsCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBtdjIxMjBfbm9yX2ZsYXNoID0geworCS5uYW1lCQk9ICJwaHlzbWFwLWZsYXNoIiwKKwkuaWQJCT0gMCwKKwkuZGV2CQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSAmbXYyMTIwX25vcl9mbGFzaF9kYXRhLAorCX0sCisJLnJlc291cmNlCT0gJm12MjEyMF9ub3JfZmxhc2hfcmVzb3VyY2UsCisJLm51bV9yZXNvdXJjZXMJPSAxLAorfTsKKworc3RhdGljIHN0cnVjdCBncGlvX2tleXNfYnV0dG9uIG12MjEyMF9idXR0b25zW10gPSB7CisJeworCQkuY29kZQkJPSBLRVlfUkVTVEFSVCwKKwkJLmdwaW8JCT0gTVYyMTIwX0dQSU9fS0VZX1JFU0VULAorCQkuZGVzYwkJPSAicmVzZXQiLAorCQkuYWN0aXZlX2xvdwk9IDEsCisJfSwgeworCQkuY29kZQkJPSBLRVlfUE9XRVIsCisJCS5ncGlvCQk9IE1WMjEyMF9HUElPX0tFWV9QT1dFUiwKKwkJLmRlc2MJCT0gInBvd2VyIiwKKwkJLmFjdGl2ZV9sb3cJPSAxLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IGdwaW9fa2V5c19wbGF0Zm9ybV9kYXRhIG12MjEyMF9idXR0b25fZGF0YSA9IHsKKwkuYnV0dG9ucwk9IG12MjEyMF9idXR0b25zLAorCS5uYnV0dG9ucwk9IEFSUkFZX1NJWkUobXYyMTIwX2J1dHRvbnMpLAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXYyMTIwX2J1dHRvbl9kZXZpY2UgPSB7CisJLm5hbWUJCT0gImdwaW8ta2V5cyIsCisJLmlkCQk9IC0xLAorCS5udW1fcmVzb3VyY2VzCT0gMCwKKwkuZGV2CQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSAmbXYyMTIwX2J1dHRvbl9kYXRhLAorCX0sCit9OworCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBHZW5lcmFsIFNldHVwCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBzdHJ1Y3Qgb3Jpb241eF9tcHBfbW9kZSBtdjIxMjBfbXBwX21vZGVzW10gX19pbml0ZGF0YSA9IHsKKwl7ICAwLCBNUFBfR1BJTyB9LAkJLyogU3lzIHN0YXR1cyBMRUQgKi8KKwl7ICAxLCBNUFBfR1BJTyB9LAkJLyogU3lzIGVycm9yIExFRCAqLworCXsgIDIsIE1QUF9HUElPIH0sCQkvKiBPdmVyVGVtcCBpbnRlcnJ1cHQgKi8KKwl7ICAzLCBNUFBfR1BJTyB9LAkJLyogUlRDIGludGVycnVwdCAqLworCXsgIDQsIE1QUF9HUElPIH0sCQkvKiBWX0xFRCA1ViAqLworCXsgIDUsIE1QUF9HUElPIH0sCQkvKiBWX0xFRCAzLjNWICovCisJeyAgNiwgTVBQX1VOVVNFRCB9LAorCXsgIDcsIE1QUF9VTlVTRUQgfSwKKwl7ICA4LCBNUFBfR1BJTyB9LAkJLyogU0FUQSAwIGZhaWwgTEVEICovCisJeyAgOSwgTVBQX0dQSU8gfSwJCS8qIFNBVEEgMSBmYWlsIExFRCAqLworCXsgMTAsIE1QUF9VTlVTRUQgfSwKKwl7IDExLCBNUFBfVU5VU0VEIH0sCisJeyAxMiwgTVBQX1NBVEFfTEVEIH0sCQkvKiBTQVRBIDAgcHJlc2VuY2UgKi8KKwl7IDEzLCBNUFBfU0FUQV9MRUQgfSwJCS8qIFNBVEEgMSBwcmVzZW5jZSAqLworCXsgMTQsIE1QUF9TQVRBX0xFRCB9LAkJLyogU0FUQSAwIGFjdGl2ZSAqLworCXsgMTUsIE1QUF9TQVRBX0xFRCB9LAkJLyogU0FUQSAxIGFjdGl2ZSAqLworCXsgMTYsIE1QUF9VTlVTRUQgfSwKKwl7IDE3LCBNUFBfR1BJTyB9LAkJLyogUmVzZXQgYnV0dG9uICovCisJeyAxOCwgTVBQX0dQSU8gfSwJCS8qIFBvd2VyIGJ1dHRvbiAqLworCXsgMTksIE1QUF9HUElPIH0sCQkvKiBQb3dlciBvZmYgKi8KKwl7IC0xIH0sCit9OworCitzdGF0aWMgc3RydWN0IGkyY19ib2FyZF9pbmZvIF9faW5pdGRhdGEgbXYyMTIwX2kyY19ydGMgPSB7CisJSTJDX0JPQVJEX0lORk8oInBjZjg1NjMiLCAweDUxKSwKKwkuaXJxCT0gMCwKK307CisKK3N0YXRpYyBzdHJ1Y3QgZ3Bpb19sZWQgbXYyMTIwX2xlZF9waW5zW10gPSB7CisJeworCQkubmFtZQkJCT0gIm12MjEyMDpibHVlOmhlYWx0aCIsCisJCS5ncGlvCQkJPSAwLAorCX0sCisJeworCQkubmFtZQkJCT0gIm12MjEyMDpyZWQ6aGVhbHRoIiwKKwkJLmdwaW8JCQk9IDEsCisJfSwKKwl7CisJCS5uYW1lCQkJPSAibXYyMTIwOmxlZDpicmlnaHQiLAorCQkuZ3BpbwkJCT0gNCwKKwkJLmRlZmF1bHRfdHJpZ2dlcgk9ICJkZWZhdWx0LW9uIiwKKwl9LAorCXsKKwkJLm5hbWUJCQk9ICJtdjIxMjA6bGVkOmRpbW1lZCIsCisJCS5ncGlvCQkJPSA1LAorCX0sCisJeworCQkubmFtZQkJCT0gIm12MjEyMDpyZWQ6c2F0YTAiLAorCQkuZ3BpbwkJCT0gOCwKKwkJLmFjdGl2ZV9sb3cJCT0gMSwKKwl9LAorCXsKKwkJLm5hbWUJCQk9ICJtdjIxMjA6cmVkOnNhdGExIiwKKwkJLmdwaW8JCQk9IDksCisJCS5hY3RpdmVfbG93CQk9IDEsCisJfSwKKworfTsKKworc3RhdGljIHN0cnVjdCBncGlvX2xlZF9wbGF0Zm9ybV9kYXRhIG12MjEyMF9sZWRfZGF0YSA9IHsKKwkubGVkcwkJPSBtdjIxMjBfbGVkX3BpbnMsCisJLm51bV9sZWRzCT0gQVJSQVlfU0laRShtdjIxMjBfbGVkX3BpbnMpLAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXYyMTIwX2xlZHMgPSB7CisJLm5hbWUJPSAibGVkcy1ncGlvIiwKKwkuaWQJPSAtMSwKKwkuZGV2CT0geworCQkucGxhdGZvcm1fZGF0YQk9ICZtdjIxMjBfbGVkX2RhdGEsCisJfQorfTsKKworc3RhdGljIHZvaWQgbXYyMTIwX3Bvd2VyX29mZih2b2lkKQoreworCXByX2luZm8oIiVzOiB0cmlnZ2VyaW5nIHBvd2VyLW9mZi4uLlxuIiwgX19mdW5jX18pOworCWdwaW9fc2V0X3ZhbHVlKE1WMjEyMF9HUElPX1BPV0VSX09GRiwgMCk7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBtdjIxMjBfaW5pdCh2b2lkKQoreworCS8qIFNldHVwIGJhc2ljIE9yaW9uIGZ1bmN0aW9ucy4gTmVlZCB0byBiZSBjYWxsZWQgZWFybHkuICovCisJb3Jpb241eF9pbml0KCk7CisKKwlvcmlvbjV4X21wcF9jb25mKG12MjEyMF9tcHBfbW9kZXMpOworCisJLyoKKwkgKiBDb25maWd1cmUgcGVyaXBoZXJhbHMuCisJICovCisJb3Jpb241eF9laGNpMF9pbml0KCk7CisJb3Jpb241eF9laGNpMV9pbml0KCk7CisJb3Jpb241eF9ldGhfaW5pdCgmbXYyMTIwX2V0aF9kYXRhKTsKKwlvcmlvbjV4X2kyY19pbml0KCk7CisJb3Jpb241eF9zYXRhX2luaXQoJm12MjEyMF9zYXRhX2RhdGEpOworCW9yaW9uNXhfdWFydDBfaW5pdCgpOworCisJb3Jpb241eF9zZXR1cF9kZXZfYm9vdF93aW4oTVYyMTIwX05PUl9CT09UX0JBU0UsIE1WMjEyMF9OT1JfQk9PVF9TSVpFKTsKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm12MjEyMF9ub3JfZmxhc2gpOworCisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZtdjIxMjBfYnV0dG9uX2RldmljZSk7CisKKwlpZiAoZ3Bpb19yZXF1ZXN0KE1WMjEyMF9HUElPX1JUQ19JUlEsICJydGMiKSA9PSAwKSB7CisJCWlmIChncGlvX2RpcmVjdGlvbl9pbnB1dChNVjIxMjBfR1BJT19SVENfSVJRKSA9PSAwKQorCQkJbXYyMTIwX2kyY19ydGMuaXJxID0gZ3Bpb190b19pcnEoTVYyMTIwX0dQSU9fUlRDX0lSUSk7CisJCWVsc2UKKwkJCWdwaW9fZnJlZShNVjIxMjBfR1BJT19SVENfSVJRKTsKKwl9CisJaTJjX3JlZ2lzdGVyX2JvYXJkX2luZm8oMCwgJm12MjEyMF9pMmNfcnRjLCAxKTsKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm12MjEyMF9sZWRzKTsKKworCS8qIHJlZ2lzdGVyIG12MjEyMCBzcGVjaWZpYyBwb3dlci1vZmYgbWV0aG9kICovCisJaWYgKGdwaW9fcmVxdWVzdChNVjIxMjBfR1BJT19QT1dFUl9PRkYsICJQT1dFUk9GRiIpICE9IDAgfHwKKwkgICAgZ3Bpb19kaXJlY3Rpb25fb3V0cHV0KE1WMjEyMF9HUElPX1BPV0VSX09GRiwgMSkgIT0gMCkKKwkJcHJfZXJyKCJtdjIxMjA6IGZhaWxlZCB0byBzZXR1cCBwb3dlci1vZmYgR1BJT1xuIik7CisJcG1fcG93ZXJfb2ZmID0gbXYyMTIwX3Bvd2VyX29mZjsKK30KKworLyogV2FybmluZzogSFAgdXNlcyBhIHdyb25nIG1hY2gtdHlwZSAoPTUyNikgaW4gdGhlaXIgYm9vdGxvYWRlciAqLworTUFDSElORV9TVEFSVChNVjIxMjAsICJIUCBNZWRpYSBWYXVsdCBtdjIxMjAiKQorCS8qIE1haW50YWluZXI6IE1hcnRpbiBNaWNobG1heXIgPHRibUBjeXJpdXMuY29tPiAqLworCS5waHlzX2lvCT0gT1JJT041WF9SRUdTX1BIWVNfQkFTRSwKKwkuaW9fcGdfb2Zmc3QJPSAoKE9SSU9ONVhfUkVHU19WSVJUX0JBU0UpID4+IDE4KSAmIDB4RkZGQywKKwkuYm9vdF9wYXJhbXMJPSAweDAwMDAwMTAwLAorCS5pbml0X21hY2hpbmUJPSBtdjIxMjBfaW5pdCwKKwkubWFwX2lvCQk9IG9yaW9uNXhfbWFwX2lvLAorCS5pbml0X2lycQk9IG9yaW9uNXhfaW5pdF9pcnEsCisJLnRpbWVyCQk9ICZvcmlvbjV4X3RpbWVyLAorCS5maXh1cAkJPSB0YWdfZml4dXBfbWVtMzIKK01BQ0hJTkVfRU5ECmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgvcGNpLmMgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvcGNpLmMKaW5kZXggOWQ1ZDM5Zi4uMjU2YTRmNjggMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb3Jpb241eC9wY2kuYworKysgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvcGNpLmMKQEAgLTE1Miw2ICsxNTIsOCBAQAogCWlmIChkZXYgPT0gTVY4OEY1MTgxX0RFVl9JRCB8fCBkZXYgPT0gTVY4OEY1MTgyX0RFVl9JRCkgewogCQlwcmludGsoS0VSTl9OT1RJQ0UgIkFwcGx5aW5nIE9yaW9uLTEvT3Jpb24tTkFTIFBDSWUgY29uZmlnICIKIAkJCQkgICAicmVhZCB0cmFuc2FjdGlvbiB3b3JrYXJvdW5kXG4iKTsKKwkJb3Jpb241eF9zZXR1cF9wY2llX3dhX3dpbihPUklPTjVYX1BDSUVfV0FfUEhZU19CQVNFLAorCQkJCQkgIE9SSU9ONVhfUENJRV9XQV9TSVpFKTsKIAkJcGNpZV9vcHMucmVhZCA9IHBjaWVfcmRfY29uZl93YTsKIAl9CiAKQEAgLTI0MCwxMyArMjQyLDEzIEBACiAgKiBQQ0kgQWRkcmVzcyBEZWNvZGUgV2luZG93cyByZWdpc3RlcnMKICAqLwogI2RlZmluZSBQQ0lfQkFSX1NJWkVfRERSX0NTKG4pCSgoKG4pID09IDApID8gT1JJT041WF9QQ0lfUkVHKDB4YzA4KSA6IFwKLQkJCQkoKG4pID09IDEpID8gT1JJT041WF9QQ0lfUkVHKDB4ZDA4KSA6ICBcCi0JCQkJKChuKSA9PSAyKSA/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+CiAKZGlmZiAtLWdpdCBhL2FyY2gvYXZyMzIva2VybmVsL3ZtbGludXgubGRzLlMgYi9hcmNoL2F2cjMyL2tlcm5lbC92bWxpbnV4Lmxkcy5TCmluZGV4IDQ4MWNmZDQuLjc5MTBkNDEgMTAwNjQ0Ci0tLSBhL2FyY2gvYXZyMzIva2VybmVsL3ZtbGludXgubGRzLlMKKysrIGIvYXJjaC9hdnIzMi9rZXJuZWwvdm1saW51eC5sZHMuUwpAQCAtNjgsMTQgKzY4LDYgQEAKIAkJX2V2YmEgPSAuOwogCQlfdGV4dCA9IC47CiAJCSooLmV4LnRleHQpCi0JCS4gPSAweDUwOwotCQkqKC50bGJ4LmV4LnRleHQpCi0JCS4gPSAweDYwOwotCQkqKC50bGJyLmV4LnRleHQpCi0JCS4gPSAweDcwOwotCQkqKC50bGJ3LmV4LnRleHQpCi0JCS4gPSAweDEwMDsKLQkJKiguc2NhbGwudGV4dCkKIAkJKiguaXJxLnRleHQpCiAJCUtQUk9CRVNfVEVYVAogCQlURVhUX1RFWFQKQEAgLTkzLDggKzg1LDYgQEAKIAkJX19zdG9wX19fZXhfdGFibGUgPSAuOwogCX0KIAotCUJVR19UQUJMRQotCiAJUk9EQVRBCiAKIAkuID0gQUxJR04oVEhSRUFEX1NJWkUpOwpAQCAtMTA3LDYgKzk3LDEwIEBACiAJCSAqLwogCQkqKC5kYXRhLmluaXRfdGFzaykKIAorCQkvKiBUaGVuLCB0aGUgcGFnZS1hbGlnbmVkIGRhdGEgKi8KKwkJLiA9IEFMSUdOKFBBR0VfU0laRSk7CisJCSooLmRhdGEucGFnZV9hbGlnbmVkKQorCiAJCS8qIFRoZW4sIHRoZSBjYWNoZWxpbmUgYWxpZ25lZCBkYXRhICovCiAJCS4gPSBBTElHTihMMV9DQUNIRV9CWVRFUyk7CiAJCSooLmRhdGEuY2FjaGVsaW5lX2FsaWduZWQpCmRpZmYgLS1naXQgYS9hcmNoL2F2cjMyL2xpYi9pby1yZWFkc2IuUyBiL2FyY2gvYXZyMzIvbGliL2lvLXJlYWRzYi5TCmluZGV4IDJiZTVkYTcuLmNiMmQ4NjkgMTAwNjQ0Ci0tLSBhL2FyY2gvYXZyMzIvbGliL2lvLXJlYWRzYi5TCisrKyBiL2FyY2gvYXZyMzIvbGliL2lvLXJlYWRzYi5TCkBAIC00MSw3ICs0MSw3IEBACiAyOglzdWIJcjEwLCAtNAogCXJldGVxCXIxMgogCi0zOglsZC51aAlyOCwgcjEyWzBdCiszOglsZC51YglyOCwgcjEyWzBdCiAJc3ViCXIxMCwgMQogCXN0LmIJcjExKyssIHI4CiAJYnJuZQkzYgpkaWZmIC0tZ2l0IGEvYXJjaC9hdnIzMi9tYWNoLWF0MzJhcC9NYWtlZmlsZSBiL2FyY2gvYXZyMzIvbWFjaC1hdDMyYXAvTWFrZWZpbGUKaW5kZXggZTg5MDA5NC4uZDUwMThlMiAxMDA2NDQKLS0tIGEvYXJjaC9hdnIzMi9tYWNoLWF0MzJhcC9NYWtlZmlsZQorKysgYi9hcmNoL2F2cjMyL21hY2gtYXQzMmFwL01ha2VmaWxlCkBAIC0xLDMgKzEsOCBAQAotb2JqLXkJCQkJKz0gYXQzMmFwLm8gY2xvY2subyBpbnRjLm8gZXh0aW50Lm8gcGlvLm8gaHNtYy5vCitvYmoteQkJCQkrPSBwZGMubyBjbG9jay5vIGludGMubyBleHRpbnQubyBwaW8ubyBoc21jLm8KIG9iai0kKENPTkZJR19DUFVfQVQzMkFQNzAwWCkJKz0gYXQzMmFwNzAweC5vIHBtLWF0MzJhcDcwMHgubwogb2JqLSQoQ09ORklHX0NQVV9GUkVRX0FUMzJBUCkJKz0gY3B1ZnJlcS5vCitvYmotJChDT05GSUdfUE0pCQkrPSBwbS5vCisKK2lmZXEgKCQoQ09ORklHX1BNX0RFQlVHKSx5KQorQ0ZMQUdTX3BtLm8JKz0gLURERUJVRworZW5kaWYKZGlmZiAtLWdpdCBhL2FyY2gvYXZyMzIvbWFjaC1hdDMyYXAvYXQzMmFwNzAweC5jIGIvYXJjaC9hdnIzMi9tYWNoLWF0MzJhcC9hdDMyYXA3MDB4LmMKaW5kZXggMGYyNGI0ZjguLjA3YjIxYjEgMTAwNjQ0Ci0tLSBhL2FyY2gvYXZyMzIvbWFjaC1hdDMyYXAvYXQzMmFwNzAweC5jCisrKyBiL2FyY2gvYXZyMzIvbWFjaC1hdDMyYXAvYXQzMmFwNzAweC5jCkBAIC0yMCw2ICsyMCw3IEBACiAjaW5jbHVkZSA8YXNtL2FyY2gvYXQzMmFwNzAweC5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL2JvYXJkLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvcG9ydG11eC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL3NyYW0uaD4KIAogI2luY2x1ZGUgPHZpZGVvL2F0bWVsX2xjZGMuaD4KIApAQCAtOTMsMTkgKzk0LDEyIEBACiAKIHN0YXRpYyBERUZJTkVfU1BJTkxPQ0socG1fbG9jayk7CiAKLXVuc2lnbmVkIGxvbmcgYXQzMmFwNzAwMF9vc2NfcmF0ZXNbM10gPSB7Ci0JWzBdID0gMzI3NjgsCi0JLyogRklYTUU6IHRoZXNlIGFyZSBBVFNUSzEwMDItc3BlY2lmaWMgKi8KLQlbMV0gPSAyMDAwMDAwMCwKLQlbMl0gPSAxMjAwMDAwMCwKLX07Ci0KIHN0YXRpYyBzdHJ1Y3QgY2xrIG9zYzA7CiBzdGF0aWMgc3RydWN0IGNsayBvc2MxOwogCiBzdGF0aWMgdW5zaWduZWQgbG9uZyBvc2NfZ2V0X3JhdGUoc3RydWN0IGNsayAqY2xrKQogewotCXJldHVybiBhdDMyYXA3MDAwX29zY19yYXRlc1tjbGstPmluZGV4XTsKKwlyZXR1cm4gYXQzMl9ib2FyZF9vc2NfcmF0ZXNbY2xrLT5pbmRleF07CiB9CiAKIHN0YXRpYyB1bnNpZ25lZCBsb25nIHBsbF9nZXRfcmF0ZShzdHJ1Y3QgY2xrICpjbGssIHVuc2lnbmVkIGxvbmcgY29udHJvbCkKQEAgLTY4Miw2ICs2NzYsMTQgQEAKIAkudXNlcnMJCT0gMSwKIAkuaW5kZXgJCT0gMywKIH07CitzdGF0aWMgc3RydWN0IGNsayBzZHJhbWNfY2xrID0geworCS5uYW1lCQk9ICJzZHJhbWNfY2xrIiwKKwkucGFyZW50CQk9ICZwYmJfY2xrLAorCS5tb2RlCQk9IHBiYl9jbGtfbW9kZSwKKwkuZ2V0X3JhdGUJPSBwYmJfY2xrX2dldF9yYXRlLAorCS51c2VycwkJPSAxLAorCS5pbmRleAkJPSAxNCwKK307CiAKIHN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2Ugc21jMF9yZXNvdXJjZVtdID0gewogCVBCTUVNKDB4ZmZmMDM0MDApLApAQCAtODQxLDYgKzg0Myw4MSBAQAogfQogCiAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogIFBTSUYKKyAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCitzdGF0aWMgc3RydWN0IHJlc291cmNlIGF0bWVsX3BzaWYwX3Jlc291cmNlW10gX19pbml0ZGF0YSA9IHsKKwl7CisJCS5zdGFydAk9IDB4ZmZlMDNjMDAsCisJCS5lbmQJPSAweGZmZTAzY2ZmLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKKwl9LAorCUlSUSgxOCksCit9Oworc3RhdGljIHN0cnVjdCBjbGsgYXRtZWxfcHNpZjBfcGNsayA9IHsKKwkubmFtZQkJPSAicGNsayIsCisJLnBhcmVudAkJPSAmcGJhX2NsaywKKwkubW9kZQkJPSBwYmFfY2xrX21vZGUsCisJLmdldF9yYXRlCT0gcGJhX2Nsa19nZXRfcmF0ZSwKKwkuaW5kZXgJCT0gMTUsCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIGF0bWVsX3BzaWYxX3Jlc291cmNlW10gX19pbml0ZGF0YSA9IHsKKwl7CisJCS5zdGFydAk9IDB4ZmZlMDNkMDAsCisJCS5lbmQJPSAweGZmZTAzZGZmLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKKwl9LAorCUlSUSgxOCksCit9Oworc3RhdGljIHN0cnVjdCBjbGsgYXRtZWxfcHNpZjFfcGNsayA9IHsKKwkubmFtZQkJPSAicGNsayIsCisJLnBhcmVudAkJPSAmcGJhX2NsaywKKwkubW9kZQkJPSBwYmFfY2xrX21vZGUsCisJLmdldF9yYXRlCT0gcGJhX2Nsa19nZXRfcmF0ZSwKKwkuaW5kZXgJCT0gMTUsCit9OworCitzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpfX2luaXQgYXQzMl9hZGRfZGV2aWNlX3BzaWYodW5zaWduZWQgaW50IGlkKQoreworCXN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXY7CisKKwlpZiAoIShpZCA9PSAwIHx8IGlkID09IDEpKQorCQlyZXR1cm4gTlVMTDsKKworCXBkZXYgPSBwbGF0Zm9ybV9kZXZpY2VfYWxsb2MoImF0bWVsX3BzaWYiLCBpZCk7CisJaWYgKCFwZGV2KQorCQlyZXR1cm4gTlVMTDsKKworCXN3aXRjaCAoaWQpIHsKKwljYXNlIDA6CisJCWlmIChwbGF0Zm9ybV9kZXZpY2VfYWRkX3Jlc291cmNlcyhwZGV2LCBhdG1lbF9wc2lmMF9yZXNvdXJjZSwKKwkJCQkJQVJSQVlfU0laRShhdG1lbF9wc2lmMF9yZXNvdXJjZSkpKQorCQkJZ290byBlcnJfYWRkX3Jlc291cmNlczsKKwkJYXRtZWxfcHNpZjBfcGNsay5kZXYgPSAmcGRldi0+ZGV2OworCQlzZWxlY3RfcGVyaXBoZXJhbChQQSg4KSwgUEVSSVBIX0EsIDApOyAvKiBDTE9DSyAqLworCQlzZWxlY3RfcGVyaXBoZXJhbChQQSg5KSwgUEVSSVBIX0EsIDApOyAvKiBEQVRBICAqLworCQlicmVhazsKKwljYXNlIDE6CisJCWlmIChwbGF0Zm9ybV9kZXZpY2VfYWRkX3Jlc291cmNlcyhwZGV2LCBhdG1lbF9wc2lmMV9yZXNvdXJjZSwKKwkJCQkJQVJSQVlfU0laRShhdG1lbF9wc2lmMV9yZXNvdXJjZSkpKQorCQkJZ290byBlcnJfYWRkX3Jlc291cmNlczsKKwkJYXRtZWxfcHNpZjFfcGNsay5kZXYgPSAmcGRldi0+ZGV2OworCQlzZWxlY3RfcGVyaXBoZXJhbChQQigxMSksIFBFUklQSF9BLCAwKTsgLyogQ0xPQ0sgKi8KKwkJc2VsZWN0X3BlcmlwaGVyYWwoUEIoMTIpLCBQRVJJUEhfQSwgMCk7IC8qIERBVEEgICovCisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXJldHVybiBOVUxMOworCX0KKworCXBsYXRmb3JtX2RldmljZV9hZGQocGRldik7CisJcmV0dXJuIHBkZXY7CisKK2Vycl9hZGRfcmVzb3VyY2VzOgorCXBsYXRmb3JtX2RldmljZV9wdXQocGRldik7CisJcmV0dXJuIE5VTEw7Cit9CisKKy8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgKiAgVVNBUlQKICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCiAKQEAgLTExMTMsNyArMTE5MCw4IEBACiAJc3dpdGNoIChpZCkgewogCWNhc2UgMDoKIAkJcGRldiA9ICZhdG1lbF9zcGkwX2RldmljZTsKLQkJc2VsZWN0X3BlcmlwaGVyYWwoUEEoMCksICBQRVJJUEhfQSwgMCk7CS8qIE1JU08JICovCisJCS8qIHB1bGx1cCBNSVNPIHNvIGEgbGV2ZWwgaXMgYWx3YXlzIGRlZmluZWQgKi8KKwkJc2VsZWN0X3BlcmlwaGVyYWwoUEEoMCksICBQRVJJUEhfQSwgQVQzMl9HUElPRl9QVUxMVVApOwogCQlzZWxlY3RfcGVyaXBoZXJhbChQQSgxKSwgIFBFUklQSF9BLCAwKTsJLyogTU9TSQkgKi8KIAkJc2VsZWN0X3BlcmlwaGVyYWwoUEEoMiksICBQRVJJUEhfQSwgMCk7CS8qIFNDSwkgKi8KIAkJYXQzMl9zcGlfc2V0dXBfc2xhdmVzKDAsIGIsIG4sIHNwaTBfcGlucyk7CkBAIC0xMTIxLDcgKzExOTksOCBAQAogCiAJY2FzZSAxOgogCQlwZGV2ID0gJmF0bWVsX3NwaTFfZGV2aWNlOwotCQlzZWxlY3RfcGVyaXBoZXJhbChQQigwKSwgIFBFUklQSF9CLCAwKTsJLyogTUlTTyAgKi8KKwkJLyogcHVsbHVwIE1JU08gc28gYSBsZXZlbCBpcyBhbHdheXMgZGVmaW5lZCAqLworCQlzZWxlY3RfcGVyaXBoZXJhbChQQigwKSwgIFBFUklQSF9CLCBBVDMyX0dQSU9GX1BVTExVUCk7CiAJCXNlbGVjdF9wZXJpcGhlcmFsKFBCKDEpLCAgUEVSSVBIX0IsIDApOwkvKiBNT1NJICAqLwogCQlzZWxlY3RfcGVyaXBoZXJhbChQQig1KSwgIFBFUklQSF9CLCAwKTsJLyogU0NLICAgKi8KIAkJYXQzMl9zcGlfc2V0dXBfc2xhdmVzKDEsIGIsIG4sIHNwaTFfcGlucyk7CkBAIC0xMjY0LDcgKzEzNDMsOCBAQAogCiBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpfX2luaXQKIGF0MzJfYWRkX2RldmljZV9sY2RjKHVuc2lnbmVkIGludCBpZCwgc3RydWN0IGF0bWVsX2xjZGZiX2luZm8gKmRhdGEsCi0JCSAgICAgdW5zaWduZWQgbG9uZyBmYm1lbV9zdGFydCwgdW5zaWduZWQgbG9uZyBmYm1lbV9sZW4pCisJCSAgICAgdW5zaWduZWQgbG9uZyBmYm1lbV9zdGFydCwgdW5zaWduZWQgbG9uZyBmYm1lbV9sZW4sCisJCSAgICAgdW5zaWduZWQgaW50IHBpbl9jb25maWcpCiB7CiAJc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldjsKIAlzdHJ1Y3QgYXRtZWxfbGNkZmJfaW5mbyAqaW5mbzsKQEAgLTEyOTEsMzcgKzEzNzEsNzcgQEAKIAlzd2l0Y2ggKGlkKSB7CiAJY2FzZSAwOgogCQlwZGV2ID0gJmF0bWVsX2xjZGZiMF9kZXZpY2U7Ci0JCXNlbGVjdF9wZXJpcGhlcmFsKFBDKDE5KSwgUEVSSVBIX0EsIDApOwkvKiBDQwkgICovCi0JCXNlbGVjdF9wZXJpcGhlcmFsKFBDKDIwKSwgUEVSSVBIX0EsIDApOwkvKiBIU1lOQyAgKi8KLQkJc2VsZWN0X3BlcmlwaGVyYWwoUEMoMjEpLCBQRVJJUEhfQSwgMCk7CS8qIFBDTEsJICAqLwotCQlzZWxlY3RfcGVyaXBoZXJhbChQQygyMiksIFBFUklQSF9BLCAwKTsJLyogVlNZTkMgICovCi0JCXNlbGVjdF9wZXJpcGhlcmFsKFBDKDIzKSwgUEVSSVBIX0EsIDApOwkvKiBEVkFMCSAgKi8KLQkJc2VsZWN0X3BlcmlwaGVyYWwoUEMoMjQpLCBQRVJJUEhfQSwgMCk7CS8qIE1PREUJICAqLwotCQlzZWxlY3RfcGVyaXBoZXJhbChQQygyNSksIFBFUklQSF9BLCAwKTsJLyogUFdSCSAgKi8KLQkJc2VsZWN0X3BlcmlwaGVyYWwoUEMoMjYpLCBQRVJJUEhfQSwgMCk7CS8qIERBVEEwICAqLwotCQlzZWxlY3RfcGVyaXBoZXJhbChQQygyNyksIFBFUklQSF9BLCAwKTsJLyogREFUQTEgICovCi0JCXNlbGVjdF9wZXJpcGhlcmFsKFBDKDI4KSwgUEVSSVBIX0EsIDApOwkvKiBEQVRBMiAgKi8KLQkJc2VsZWN0X3BlcmlwaGVyYWwoUEMoMjkpLCBQRVJJUEhfQSwgMCk7CS8qIERBVEEzICAqLwotCQlzZWxlY3RfcGVyaXBoZXJhbChQQygzMCksIFBFUklQSF9BLCAwKTsJLyogREFUQTQgICovCi0JCXNlbGVjdF9wZXJpcGhlcmFsKFBDKDMxKSwgUEVSSVBIX0EsIDApOwkvKiBEQVRBNSAgKi8KLQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoMCksICBQRVJJUEhfQSwgMCk7CS8qIERBVEE2ICAqLwotCQlzZWxlY3RfcGVyaXBoZXJhbChQRCgxKSwgIFBFUklQSF9BLCAwKTsJLyogREFUQTcgICovCi0JCXNlbGVjdF9wZXJpcGhlcmFsKFBEKDIpLCAgUEVSSVBIX0EsIDApOwkvKiBEQVRBOCAgKi8KLQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoMyksICBQRVJJUEhfQSwgMCk7CS8qIERBVEE5ICAqLwotCQlzZWxlY3RfcGVyaXBoZXJhbChQRCg0KSwgIFBFUklQSF9BLCAwKTsJLyogREFUQTEwICovCi0JCXNlbGVjdF9wZXJpcGhlcmFsKFBEKDUpLCAgUEVSSVBIX0EsIDApOwkvKiBEQVRBMTEgKi8KLQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoNiksICBQRVJJUEhfQSwgMCk7CS8qIERBVEExMiAqLwotCQlzZWxlY3RfcGVyaXBoZXJhbChQRCg3KSwgIFBFUklQSF9BLCAwKTsJLyogREFUQTEzICovCi0JCXNlbGVjdF9wZXJpcGhlcmFsKFBEKDgpLCAgUEVSSVBIX0EsIDApOwkvKiBEQVRBMTQgKi8KLQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoOSksICBQRVJJUEhfQSwgMCk7CS8qIERBVEExNSAqLwotCQlzZWxlY3RfcGVyaXBoZXJhbChQRCgxMCksIFBFUklQSF9BLCAwKTsJLyogREFUQTE2ICovCi0JCXNlbGVjdF9wZXJpcGhlcmFsKFBEKDExKSwgUEVSSVBIX0EsIDApOwkvKiBEQVRBMTcgKi8KLQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoMTIpLCBQRVJJUEhfQSwgMCk7CS8qIERBVEExOCAqLwotCQlzZWxlY3RfcGVyaXBoZXJhbChQRCgxMyksIFBFUklQSF9BLCAwKTsJLyogREFUQTE5ICovCi0JCXNlbGVjdF9wZXJpcGhlcmFsKFBEKDE0KSwgUEVSSVBIX0EsIDApOwkvKiBEQVRBMjAgKi8KLQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoMTUpLCBQRVJJUEhfQSwgMCk7CS8qIERBVEEyMSAqLwotCQlzZWxlY3RfcGVyaXBoZXJhbChQRCgxNiksIFBFUklQSF9BLCAwKTsJLyogREFUQTIyICovCi0JCXNlbGVjdF9wZXJpcGhlcmFsKFBEKDE3KSwgUEVSSVBIX0EsIDApOwkvKiBEQVRBMjMgKi8KKworCQlzd2l0Y2ggKHBpbl9jb25maWcpIHsKKwkJY2FzZSAwOgorCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEMoMTkpLCBQRVJJUEhfQSwgMCk7CS8qIENDCSAgKi8KKwkJCXNlbGVjdF9wZXJpcGhlcmFsKFBDKDIwKSwgUEVSSVBIX0EsIDApOwkvKiBIU1lOQyAgKi8KKwkJCXNlbGVjdF9wZXJpcGhlcmFsKFBDKDIxKSwgUEVSSVBIX0EsIDApOwkvKiBQQ0xLCSAgKi8KKwkJCXNlbGVjdF9wZXJpcGhlcmFsKFBDKDIyKSwgUEVSSVBIX0EsIDApOwkvKiBWU1lOQyAgKi8KKwkJCXNlbGVjdF9wZXJpcGhlcmFsKFBDKDIzKSwgUEVSSVBIX0EsIDApOwkvKiBEVkFMCSAgKi8KKwkJCXNlbGVjdF9wZXJpcGhlcmFsKFBDKDI0KSwgUEVSSVBIX0EsIDApOwkvKiBNT0RFCSAgKi8KKwkJCXNlbGVjdF9wZXJpcGhlcmFsKFBDKDI1KSwgUEVSSVBIX0EsIDApOwkvKiBQV1IJICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEMoMjYpLCBQRVJJUEhfQSwgMCk7CS8qIERBVEEwICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEMoMjcpLCBQRVJJUEhfQSwgMCk7CS8qIERBVEExICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEMoMjgpLCBQRVJJUEhfQSwgMCk7CS8qIERBVEEyICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEMoMjkpLCBQRVJJUEhfQSwgMCk7CS8qIERBVEEzICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEMoMzApLCBQRVJJUEhfQSwgMCk7CS8qIERBVEE0ICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEMoMzEpLCBQRVJJUEhfQSwgMCk7CS8qIERBVEE1ICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoMCksICBQRVJJUEhfQSwgMCk7CS8qIERBVEE2ICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoMSksICBQRVJJUEhfQSwgMCk7CS8qIERBVEE3ICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoMiksICBQRVJJUEhfQSwgMCk7CS8qIERBVEE4ICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoMyksICBQRVJJUEhfQSwgMCk7CS8qIERBVEE5ICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoNCksICBQRVJJUEhfQSwgMCk7CS8qIERBVEExMCAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoNSksICBQRVJJUEhfQSwgMCk7CS8qIERBVEExMSAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoNiksICBQRVJJUEhfQSwgMCk7CS8qIERBVEExMiAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoNyksICBQRVJJUEhfQSwgMCk7CS8qIERBVEExMyAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoOCksICBQRVJJUEhfQSwgMCk7CS8qIERBVEExNCAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoOSksICBQRVJJUEhfQSwgMCk7CS8qIERBVEExNSAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoMTApLCBQRVJJUEhfQSwgMCk7CS8qIERBVEExNiAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoMTEpLCBQRVJJUEhfQSwgMCk7CS8qIERBVEExNyAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoMTIpLCBQRVJJUEhfQSwgMCk7CS8qIERBVEExOCAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoMTMpLCBQRVJJUEhfQSwgMCk7CS8qIERBVEExOSAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoMTQpLCBQRVJJUEhfQSwgMCk7CS8qIERBVEEyMCAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoMTUpLCBQRVJJUEhfQSwgMCk7CS8qIERBVEEyMSAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoMTYpLCBQRVJJUEhfQSwgMCk7CS8qIERBVEEyMiAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoMTcpLCBQRVJJUEhfQSwgMCk7CS8qIERBVEEyMyAqLworCQkJYnJlYWs7CisJCWNhc2UgMToKKwkJCXNlbGVjdF9wZXJpcGhlcmFsKFBFKDApLCAgUEVSSVBIX0IsIDApOwkvKiBDQwkgICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQQygyMCksIFBFUklQSF9BLCAwKTsJLyogSFNZTkMgICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQQygyMSksIFBFUklQSF9BLCAwKTsJLyogUENMSwkgICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQQygyMiksIFBFUklQSF9BLCAwKTsJLyogVlNZTkMgICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQRSgxKSwgIFBFUklQSF9CLCAwKTsJLyogRFZBTAkgICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQRSgyKSwgIFBFUklQSF9CLCAwKTsJLyogTU9ERQkgICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQQygyNSksIFBFUklQSF9BLCAwKTsJLyogUFdSCSAgKi8KKwkJCXNlbGVjdF9wZXJpcGhlcmFsKFBFKDMpLCAgUEVSSVBIX0IsIDApOwkvKiBEQVRBMCAgKi8KKwkJCXNlbGVjdF9wZXJpcGhlcmFsKFBFKDQpLCAgUEVSSVBIX0IsIDApOwkvKiBEQVRBMSAgKi8KKwkJCXNlbGVjdF9wZXJpcGhlcmFsKFBFKDUpLCAgUEVSSVBIX0IsIDApOwkvKiBEQVRBMiAgKi8KKwkJCXNlbGVjdF9wZXJpcGhlcmFsKFBFKDYpLCAgUEVSSVBIX0IsIDApOwkvKiBEQVRBMyAgKi8KKwkJCXNlbGVjdF9wZXJpcGhlcmFsKFBFKDcpLCAgUEVSSVBIX0IsIDApOwkvKiBEQVRBNCAgKi8KKwkJCXNlbGVjdF9wZXJpcGhlcmFsKFBDKDMxKSwgUEVSSVBIX0EsIDApOwkvKiBEQVRBNSAgKi8KKwkJCXNlbGVjdF9wZXJpcGhlcmFsKFBEKDApLCAgUEVSSVBIX0EsIDApOwkvKiBEQVRBNiAgKi8KKwkJCXNlbGVjdF9wZXJpcGhlcmFsKFBEKDEpLCAgUEVSSVBIX0EsIDApOwkvKiBEQVRBNyAgKi8KKwkJCXNlbGVjdF9wZXJpcGhlcmFsKFBFKDgpLCAgUEVSSVBIX0IsIDApOwkvKiBEQVRBOCAgKi8KKwkJCXNlbGVjdF9wZXJpcGhlcmFsKFBFKDkpLCAgUEVSSVBIX0IsIDApOwkvKiBEQVRBOSAgKi8KKwkJCXNlbGVjdF9wZXJpcGhlcmFsKFBFKDEwKSwgUEVSSVBIX0IsIDApOwkvKiBEQVRBMTAgKi8KKwkJCXNlbGVjdF9wZXJpcGhlcmFsKFBFKDExKSwgUEVSSVBIX0IsIDApOwkvKiBEQVRBMTEgKi8KKwkJCXNlbGVjdF9wZXJpcGhlcmFsKFBFKDEyKSwgUEVSSVBIX0IsIDApOwkvKiBEQVRBMTIgKi8KKwkJCXNlbGVjdF9wZXJpcGhlcmFsKFBEKDcpLCAgUEVSSVBIX0EsIDApOwkvKiBEQVRBMTMgKi8KKwkJCXNlbGVjdF9wZXJpcGhlcmFsKFBEKDgpLCAgUEVSSVBIX0EsIDApOwkvKiBEQVRBMTQgKi8KKwkJCXNlbGVjdF9wZXJpcGhlcmFsKFBEKDkpLCAgUEVSSVBIX0EsIDApOwkvKiBEQVRBMTUgKi8KKwkJCXNlbGVjdF9wZXJpcGhlcmFsKFBFKDEzKSwgUEVSSVBIX0IsIDApOwkvKiBEQVRBMTYgKi8KKwkJCXNlbGVjdF9wZXJpcGhlcmFsKFBFKDE0KSwgUEVSSVBIX0IsIDApOwkvKiBEQVRBMTcgKi8KKwkJCXNlbGVjdF9wZXJpcGhlcmFsKFBFKDE1KSwgUEVSSVBIX0IsIDApOwkvKiBEQVRBMTggKi8KKwkJCXNlbGVjdF9wZXJpcGhlcmFsKFBFKDE2KSwgUEVSSVBIX0IsIDApOwkvKiBEQVRBMTkgKi8KKwkJCXNlbGVjdF9wZXJpcGhlcmFsKFBFKDE3KSwgUEVSSVBIX0IsIDApOwkvKiBEQVRBMjAgKi8KKwkJCXNlbGVjdF9wZXJpcGhlcmFsKFBFKDE4KSwgUEVSSVBIX0IsIDApOwkvKiBEQVRBMjEgKi8KKwkJCXNlbGVjdF9wZXJpcGhlcmFsKFBEKDE2KSwgUEVSSVBIX0EsIDApOwkvKiBEQVRBMjIgKi8KKwkJCXNlbGVjdF9wZXJpcGhlcmFsKFBEKDE3KSwgUEVSSVBIX0EsIDApOwkvKiBEQVRBMjMgKi8KKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJZ290byBlcnJfaW52YWxpZF9pZDsKKwkJfQogCiAJCWNsa19zZXRfcGFyZW50KCZhdG1lbF9sY2RmYjBfcGl4Y2xrLCAmcGxsMCk7CiAJCWNsa19zZXRfcmF0ZSgmYXRtZWxfbGNkZmIwX3BpeGNsaywgY2xrX2dldF9yYXRlKCZwbGwwKSk7CkBAIC0xMzYwLDcgKzE0ODAsNyBAQAogCUlSUSgyNCksCiB9Owogc3RhdGljIHN0cnVjdCBjbGsgYXRtZWxfcHdtMF9tY2sgPSB7Ci0JLm5hbWUJCT0gIm1jayIsCisJLm5hbWUJCT0gInB3bV9jbGsiLAogCS5wYXJlbnQJCT0gJnBiYl9jbGssCiAJLm1vZGUJCT0gcGJiX2Nsa19tb2RlLAogCS5nZXRfcmF0ZQk9IHBiYl9jbGtfZ2V0X3JhdGUsCkBAIC0xODg3LDYgKzIwMDcsNyBAQAogCSZobWF0cml4X2NsaywKIAkmZWJpX2NsaywKIAkmaHJhbWNfY2xrLAorCSZzZHJhbWNfY2xrLAogCSZzbWMwX3BjbGssCiAJJnNtYzBfbWNrLAogCSZwZGNfaGNsaywKQEAgLTE5MDAsNiArMjAyMSw4IEBACiAJJnBpbzRfbWNrLAogCSZhdDMyX3RjYjBfdDBfY2xrLAogCSZhdDMyX3RjYjFfdDBfY2xrLAorCSZhdG1lbF9wc2lmMF9wY2xrLAorCSZhdG1lbF9wc2lmMV9wY2xrLAogCSZhdG1lbF91c2FydDBfdXNhcnQsCiAJJmF0bWVsX3VzYXJ0MV91c2FydCwKIAkmYXRtZWxfdXNhcnQyX3VzYXJ0LApAQCAtMTkzNSwxNiArMjA1OCw3IEBACiB9OwogdW5zaWduZWQgaW50IGF0MzJfbnJfY2xvY2tzID0gQVJSQVlfU0laRShhdDMyX2Nsb2NrX2xpc3QpOwogCi12b2lkIF9faW5pdCBhdDMyX3BvcnRtdXhfaW5pdCh2b2lkKQotewotCWF0MzJfaW5pdF9waW8oJnBpbzBfZGV2aWNlKTsKLQlhdDMyX2luaXRfcGlvKCZwaW8xX2RldmljZSk7Ci0JYXQzMl9pbml0X3BpbygmcGlvMl9kZXZpY2UpOwotCWF0MzJfaW5pdF9waW8oJnBpbzNfZGV2aWNlKTsKLQlhdDMyX2luaXRfcGlvKCZwaW80X2RldmljZSk7Ci19Ci0KLXZvaWQgX19pbml0IGF0MzJfY2xvY2tfaW5pdCh2b2lkKQordm9pZCBfX2luaXQgc2V0dXBfcGxhdGZvcm0odm9pZCkKIHsKIAl1MzIgY3B1X21hc2sgPSAwLCBoc2JfbWFzayA9IDAsIHBiYV9tYXNrID0gMCwgcGJiX21hc2sgPSAwOwogCWludCBpOwpAQCAtMTk5OSw0ICsyMTEzLDM2IEBACiAJcG1fd3JpdGVsKEhTQl9NQVNLLCBoc2JfbWFzayk7CiAJcG1fd3JpdGVsKFBCQV9NQVNLLCBwYmFfbWFzayk7CiAJcG1fd3JpdGVsKFBCQl9NQVNLLCBwYmJfbWFzayk7CisKKwkvKiBJbml0aWFsaXplIHRoZSBwb3J0IG11eGVzICovCisJYXQzMl9pbml0X3BpbygmcGlvMF9kZXZpY2UpOworCWF0MzJfaW5pdF9waW8oJnBpbzFfZGV2aWNlKTsKKwlhdDMyX2luaXRfcGlvKCZwaW8yX2RldmljZSk7CisJYXQzMl9pbml0X3BpbygmcGlvM19kZXZpY2UpOworCWF0MzJfaW5pdF9waW8oJnBpbzRfZGV2aWNlKTsKIH0KKworc3RydWN0IGdlbl9wb29sICpzcmFtX3Bvb2w7CisKK3N0YXRpYyBpbnQgX19pbml0IHNyYW1faW5pdCh2b2lkKQoreworCXN0cnVjdCBnZW5fcG9vbCAqcG9vbDsKKworCS8qIDFLaUIgZ3JhbnVsYXJpdHkgKi8KKwlwb29sID0gZ2VuX3Bvb2xfY3JlYXRlKDEwLCAtMSk7CisJaWYgKCFwb29sKQorCQlnb3RvIGZhaWw7CisKKwlpZiAoZ2VuX3Bvb2xfYWRkKHBvb2wsIDB4MjQwMDAwMDAsIDB4ODAwMCwgLTEpKQorCQlnb3RvIGVycl9wb29sX2FkZDsKKworCXNyYW1fcG9vbCA9IHBvb2w7CisJcmV0dXJuIDA7CisKK2Vycl9wb29sX2FkZDoKKwlnZW5fcG9vbF9kZXN0cm95KHBvb2wpOworZmFpbDoKKwlwcl9lcnIoIkZhaWxlZCB0byBjcmVhdGUgU1JBTSBwb29sXG4iKTsKKwlyZXR1cm4gLUVOT01FTTsKK30KK2NvcmVfaW5pdGNhbGwoc3JhbV9pbml0KTsKZGlmZiAtLWdpdCBhL2FyY2gvYXZyMzIvbWFjaC1hdDMyYXAvaW50Yy5jIGIvYXJjaC9hdnIzMi9tYWNoLWF0MzJhcC9pbnRjLmMKaW5kZXggMDk3Y2Y0ZS4uOTk0YzQ1NDUgMTAwNjQ0Ci0tLSBhL2FyY2gvYXZyMzIvbWFjaC1hdDMyYXAvaW50Yy5jCisrKyBiL2FyY2gvYXZyMzIvbWFjaC1hdDMyYXAvaW50Yy5jCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNiBBdG1lbCBDb3Jwb3JhdGlvbgorICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA4IEF0bWVsIENvcnBvcmF0aW9uCiAgKgogICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCkBAIC0xMiwxNCArMTIsMjAgQEAKICNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KICNpbmNsdWRlIDxsaW51eC9pcnEuaD4KICNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9zeXNkZXYuaD4KIAogI2luY2x1ZGUgPGFzbS9pby5oPgogCiAjaW5jbHVkZSAiaW50Yy5oIgogCiBzdHJ1Y3QgaW50YyB7Ci0Jdm9pZCBfX2lvbWVtCSpyZWdzOwotCXN0cnVjdCBpcnFfY2hpcAljaGlwOworCXZvaWQgX19pb21lbQkJKnJlZ3M7CisJc3RydWN0IGlycV9jaGlwCQljaGlwOworCXN0cnVjdCBzeXNfZGV2aWNlCXN5c2RldjsKKyNpZmRlZiBDT05GSUdfUE0KKwl1bnNpZ25lZCBsb25nCQlzdXNwZW5kX2lwcjsKKwl1bnNpZ25lZCBsb25nCQlzYXZlZF9pcHJbNjRdOworI2VuZGlmCiB9OwogCiBleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RldmljZSBhdDMyX2ludGMwX2RldmljZTsKQEAgLTEzNiw2ICsxNDIsNzQgQEAKIAlwYW5pYygiSW50ZXJydXB0IGNvbnRyb2xsZXIgaW5pdGlhbGl6YXRpb24gZmFpbGVkIVxuIik7CiB9CiAKKyNpZmRlZiBDT05GSUdfUE0KK3ZvaWQgaW50Y19zZXRfc3VzcGVuZF9oYW5kbGVyKHVuc2lnbmVkIGxvbmcgb2Zmc2V0KQoreworCWludGMwLnN1c3BlbmRfaXByID0gb2Zmc2V0OworfQorCitzdGF0aWMgaW50IGludGNfc3VzcGVuZChzdHJ1Y3Qgc3lzX2RldmljZSAqc2RldiwgcG1fbWVzc2FnZV90IHN0YXRlKQoreworCXN0cnVjdCBpbnRjICppbnRjID0gY29udGFpbmVyX29mKHNkZXYsIHN0cnVjdCBpbnRjLCBzeXNkZXYpOworCWludCBpOworCisJaWYgKHVubGlrZWx5KCFpcnFzX2Rpc2FibGVkKCkpKSB7CisJCXByX2VycigiaW50Y19zdXNwZW5kOiBjYWxsZWQgd2l0aCBpbnRlcnJ1cHRzIGVuYWJsZWRcbiIpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwlpZiAodW5saWtlbHkoIWludGMtPnN1c3BlbmRfaXByKSkgeworCQlwcl9lcnIoImludGNfc3VzcGVuZDogc3VzcGVuZF9pcHIgbm90IGluaXRpYWxpemVkXG4iKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJZm9yIChpID0gMDsgaSA8IDY0OyBpKyspIHsKKwkJaW50Yy0+c2F2ZWRfaXByW2ldID0gaW50Y19yZWFkbChpbnRjLCBJTlRQUjAgKyA0ICogaSk7CisJCWludGNfd3JpdGVsKGludGMsIElOVFBSMCArIDQgKiBpLCBpbnRjLT5zdXNwZW5kX2lwcik7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgaW50Y19yZXN1bWUoc3RydWN0IHN5c19kZXZpY2UgKnNkZXYpCit7CisJc3RydWN0IGludGMgKmludGMgPSBjb250YWluZXJfb2Yoc2Rldiwgc3RydWN0IGludGMsIHN5c2Rldik7CisJaW50IGk7CisKKwlXQVJOX09OKCFpcnFzX2Rpc2FibGVkKCkpOworCisJZm9yIChpID0gMDsgaSA8IDY0OyBpKyspCisJCWludGNfd3JpdGVsKGludGMsIElOVFBSMCArIDQgKiBpLCBpbnRjLT5zYXZlZF9pcHJbaV0pOworCisJcmV0dXJuIDA7Cit9CisjZWxzZQorI2RlZmluZSBpbnRjX3N1c3BlbmQJTlVMTAorI2RlZmluZSBpbnRjX3Jlc3VtZQlOVUxMCisjZW5kaWYKKworc3RhdGljIHN0cnVjdCBzeXNkZXZfY2xhc3MgaW50Y19jbGFzcyA9IHsKKwkubmFtZQkJPSAiaW50YyIsCisJLnN1c3BlbmQJPSBpbnRjX3N1c3BlbmQsCisJLnJlc3VtZQkJPSBpbnRjX3Jlc3VtZSwKK307CisKK3N0YXRpYyBpbnQgX19pbml0IGludGNfaW5pdF9zeXNkZXYodm9pZCkKK3sKKwlpbnQgcmV0OworCisJcmV0ID0gc3lzZGV2X2NsYXNzX3JlZ2lzdGVyKCZpbnRjX2NsYXNzKTsKKwlpZiAocmV0KQorCQlyZXR1cm4gcmV0OworCisJaW50YzAuc3lzZGV2LmlkID0gMDsKKwlpbnRjMC5zeXNkZXYuY2xzID0gJmludGNfY2xhc3M7CisJcmV0ID0gc3lzZGV2X3JlZ2lzdGVyKCZpbnRjMC5zeXNkZXYpOworCisJcmV0dXJuIHJldDsKK30KK2RldmljZV9pbml0Y2FsbChpbnRjX2luaXRfc3lzZGV2KTsKKwogdW5zaWduZWQgbG9uZyBpbnRjX2dldF9wZW5kaW5nKHVuc2lnbmVkIGludCBncm91cCkKIHsKIAlyZXR1cm4gaW50Y19yZWFkbCgmaW50YzAsIElOVFJFUTAgKyA0ICogZ3JvdXApOwpkaWZmIC0tZ2l0IGEvYXJjaC9hdnIzMi9tYWNoLWF0MzJhcC9hdDMyYXAuYyBiL2FyY2gvYXZyMzIvbWFjaC1hdDMyYXAvcGRjLmMKc2ltaWxhcml0eSBpbmRleCA5MCUKcmVuYW1lIGZyb20gYXJjaC9hdnIzMi9tYWNoLWF0MzJhcC9hdDMyYXAuYwpyZW5hbWUgdG8gYXJjaC9hdnIzMi9tYWNoLWF0MzJhcC9wZGMuYwppbmRleCA3YzQ5ODdmLi4xMDQwYmRhIDEwMDY0NAotLS0gYS9hcmNoL2F2cjMyL21hY2gtYXQzMmFwL2F0MzJhcC5jCisrKyBiL2FyY2gvYXZyMzIvbWFjaC1hdDMyYXAvcGRjLmMKQEAgLTExLDE0ICsxMSw2IEBACiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgogCi0jaW5jbHVkZSA8YXNtL2FyY2gvaW5pdC5oPgotCi12b2lkIF9faW5pdCBzZXR1cF9wbGF0Zm9ybSh2b2lkKQotewotCWF0MzJfY2xvY2tfaW5pdCgpOwotCWF0MzJfcG9ydG11eF9pbml0KCk7Ci19Ci0KIHN0YXRpYyBpbnQgX19pbml0IHBkY19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQogewogCXN0cnVjdCBjbGsgKnBjbGssICpoY2xrOwpkaWZmIC0tZ2l0IGEvYXJjaC9hdnIzMi9tYWNoLWF0MzJhcC9waW8uYyBiL2FyY2gvYXZyMzIvbWFjaC1hdDMyYXAvcGlvLmMKaW5kZXggMzhhOGZhMy4uNjBkYTAzYiAxMDA2NDQKLS0tIGEvYXJjaC9hdnIzMi9tYWNoLWF0MzJhcC9waW8uYworKysgYi9hcmNoL2F2cjMyL21hY2gtYXQzMmFwL3Bpby5jCkBAIC0zMTgsNiArMzE4LDggQEAKIAkJY29uc3QgY2hhciAqbGFiZWw7CiAKIAkJbGFiZWwgPSBncGlvY2hpcF9pc19yZXF1ZXN0ZWQoY2hpcCwgaSk7CisJCWlmICghbGFiZWwgJiYgKGltciAmIG1hc2spKQorCQkJbGFiZWwgPSAiW2lycV0iOwogCQlpZiAoIWxhYmVsKQogCQkJY29udGludWU7CiAKZGlmZiAtLWdpdCBhL2FyY2gvYXZyMzIvbWFjaC1hdDMyYXAvcGlvLmggYi9hcmNoL2F2cjMyL21hY2gtYXQzMmFwL3Bpby5oCmluZGV4IDc3OTUxMTYuLjk0ODRkZmMgMTAwNjQ0Ci0tLSBhL2FyY2gvYXZyMzIvbWFjaC1hdDMyYXAvcGlvLmgKKysrIGIvYXJjaC9hdnIzMi9tYWNoLWF0MzJhcC9waW8uaApAQCAtNTcsNyArNTcsNyBAQAogCiAvKiBCaXRmaWVsZHMgaW4gSUZEUiAqLwogCi0vKiBCaXRmaWVsZHMgaW4gSVNGUiAqLworLyogQml0ZmllbGRzIGluIElGU1IgKi8KIAogLyogQml0ZmllbGRzIGluIFNPRFIgKi8KIApkaWZmIC0tZ2l0IGEvYXJjaC9hdnIzMi9tYWNoLWF0MzJhcC9wbS1hdDMyYXA3MDB4LlMgYi9hcmNoL2F2cjMyL21hY2gtYXQzMmFwL3BtLWF0MzJhcDcwMHguUwppbmRleCA5NDllMjQ4Li4wYTUzYWQzIDEwMDY0NAotLS0gYS9hcmNoL2F2cjMyL21hY2gtYXQzMmFwL3BtLWF0MzJhcDcwMHguUworKysgYi9hcmNoL2F2cjMyL21hY2gtYXQzMmFwL3BtLWF0MzJhcDcwMHguUwpAQCAtMTIsNiArMTIsMTIgQEAKICNpbmNsdWRlIDxhc20vdGhyZWFkX2luZm8uaD4KICNpbmNsdWRlIDxhc20vYXJjaC9wbS5oPgogCisjaW5jbHVkZSAicG0uaCIKKyNpbmNsdWRlICJzZHJhbWMuaCIKKworLyogU2FtZSBhcyAweGZmZjAwMDAwIGJ1dCBmaXRzIGluIGEgMjEgYml0IHNpZ25lZCBpbW1lZGlhdGUgKi8KKyNkZWZpbmUgUE1fQkFTRQktMHgxMDAwMDAKKwogCS5zZWN0aW9uIC5ic3MsICJ3YSIsIEBub2JpdHMKIAkuZ2xvYmFsCWRpc2FibGVfaWRsZV9zbGVlcAogCS50eXBlCWRpc2FibGVfaWRsZV9zbGVlcCwgQG9iamVjdApAQCAtNjQsMyArNzAsMTA1IEBACiAJdW5tYXNrX2ludGVycnVwdHMKIAlyZXRhbAlyMTIKIAkuc2l6ZQljcHVfaWRsZV9za2lwX3NsZWVwLCAuIC0gY3B1X2lkbGVfc2tpcF9zbGVlcAorCisjaWZkZWYgQ09ORklHX1BNCisJLnNlY3Rpb24gLmluaXQudGV4dCwgImF4IiwgQHByb2diaXRzCisKKwkuZ2xvYmFsCXBtX2V4Y2VwdGlvbgorCS50eXBlCXBtX2V4Y2VwdGlvbiwgQGZ1bmN0aW9uCitwbV9leGNlcHRpb246CisJLyoKKwkgKiBFeGNlcHRpb25zIGFyZSBtYXNrZWQgd2hlbiB3ZSBzd2l0Y2ggdG8gdGhpcyBoYW5kbGVyLCBzbworCSAqIHdlJ2xsIG9ubHkgZ2V0ICJ1bnJlY292ZXJhYmxlIiBleGNlcHRpb25zIChvZmZzZXQgMC4pCisJICovCisJc3ViCXIxMiwgcGMsIC4gLSAuTHBhbmljX21zZworCWxkZHBjCXBjLCAuTHBhbmljX2FkZHIKKworCS5hbGlnbgkyCisuTHBhbmljX2FkZHI6CisJLmxvbmcJcGFuaWMKKy5McGFuaWNfbXNnOgorCS5hc2NpegkiVW5yZWNvdmVyYWJsZSBleGNlcHRpb24gZHVyaW5nIHN1c3BlbmRcbiIKKwkuc2l6ZQlwbV9leGNlcHRpb24sIC4gLSBwbV9leGNlcHRpb24KKworCS5nbG9iYWwJcG1faXJxMAorCS50eXBlCXBtX2lycTAsIEBmdW5jdGlvbgorcG1faXJxMDoKKwkvKiBEaXNhYmxlIGludGVycnVwdHMgYW5kIHJldHVybiBhZnRlciB0aGUgc2xlZXAgaW5zdHJ1Y3Rpb24gKi8KKwltZnNyCXI5LCBTWVNSRUdfUlNSX0lOVDAKKwltdHNyCVNZU1JFR19SQVJfSU5UMCwgcjgKKwlzYnIJcjksIFNZU1JFR19HTV9PRkZTRVQKKwltdHNyCVNZU1JFR19SU1JfSU5UMCwgcjkKKwlyZXRlCisKKwkvKgorCSAqIHZvaWQgY3B1X2VudGVyX3N0YW5kYnkodW5zaWduZWQgbG9uZyBzZHJhbWNfYmFzZSkKKwkgKgorCSAqIEVudGVyIFBNX1NVU1BFTkRfU1RBTkRCWSBtb2RlLiBBdCB0aGlzIHBvaW50LCBhbGwgZHJpdmVycworCSAqIGFyZSBzdXNwZW5kZWQgYW5kIGludGVycnVwdHMgYXJlIGRpc2FibGVkLiBJbnRlcnJ1cHRzCisJICogbWFya2VkIGFzICd3YWtldXAnIGV2ZW50IHNvdXJjZXMgbWF5IHN0aWxsIGNvbWUgYWxvbmcgYW5kCisJICogZ2V0IHVzIG91dCBvZiBoZXJlLgorCSAqCisJICogVGhlIFNEUkFNIHdpbGwgYmUgcHV0IGludG8gc2VsZi1yZWZyZXNoIG1vZGUgKHdoaWNoIGRvZXMKKwkgKiBub3QgcmVxdWlyZSBhIGNsb2NrIGZyb20gdGhlIENQVSksIGFuZCB0aGUgQ1BVIHdpbGwgYmUgcHV0CisJICogaW50byAiZnJvemVuIiBtb2RlIChIU0IgYnVzIHN0b3BwZWQpLiBUaGUgU0RSQU0gY29udHJvbGxlcgorCSAqIHdpbGwgYXV0b21hdGljYWxseSBicmluZyB0aGUgU0RSQU0gaW50byBub3JtYWwgbW9kZSBvbiB0aGUKKwkgKiBmaXJzdCBhY2Nlc3MsIGFuZCB0aGUgcG93ZXIgbWFuYWdlciB3aWxsIGF1dG9tYXRpY2FsbHkKKwkgKiBzdGFydCB0aGUgSFNCIGFuZCBDUFUgY2xvY2tzIHVwb24gYSB3YWtldXAgZXZlbnQuCisJICoKKwkgKiBUaGlzIGNvZGUgdXNlcyB0aGUgc2FtZSAic2tpcCBzbGVlcCIgdGVjaG5pcXVlIGFzIGFib3ZlLgorCSAqIEl0IGlzIHZlcnkgaW1wb3J0YW50IHRoYXQgd2UganVtcCBkaXJlY3RseSB0bworCSAqIGNwdV9hZnRlcl9zbGVlcCBhZnRlciB0aGUgc2xlZXAgaW5zdHJ1Y3Rpb24gc2luY2UgdGhhdCdzCisJICogd2hlcmUgd2UnbGwgZW5kIHVwIGlmIHRoZSBpbnRlcnJ1cHQgaGFuZGxlciBkZWNpZGVzIHRoYXQgd2UKKwkgKiBuZWVkIHRvIHNraXAgdGhlIHNsZWVwIGluc3RydWN0aW9uLgorCSAqLworCS5nbG9iYWwJcG1fc3RhbmRieQorCS50eXBlCXBtX3N0YW5kYnksIEBmdW5jdGlvbgorcG1fc3RhbmRieToKKwkvKgorCSAqIGludGVycnVwdHMgYXJlIGFscmVhZHkgbWFza2VkIGF0IHRoaXMgcG9pbnQsIGFuZCBFVkJBCisJICogcG9pbnRzIHRvIHBtX2V4Y2VwdGlvbiBhYm92ZS4KKwkgKi8KKwlsZC53CXIxMCwgcjEyW1NEUkFNQ19MUFJdCisJc3ViCXI4LCBwYywgLiAtIDFmCQkvKiByZXR1cm4gYWRkcmVzcyBmb3IgaXJxIGhhbmRsZXIgKi8KKwltb3YJcjExLCBTRFJBTUNfTFBSX0xQQ0JfU0VMRl9SRlIKKwliZmlucwlyMTAsIHIxMSwgMCwgMgkJLyogTFBDQiA8LSBzZWxmIFJlZnJlc2ggKi8KKwlzeW5jCTAJCQkvKiBmbHVzaCB3cml0ZSBidWZmZXIgKi8KKwlzdC53CXIxMltTRFJBTUNfTFBSXSwgcjExCS8qIHB1dCBTRFJBTSBpbiBzZWxmLXJlZnJlc2ggbW9kZSAqLworCWxkLncJcjExLCByMTJbU0RSQU1DX0xQUl0KKwl1bm1hc2tfaW50ZXJydXB0cworCXNsZWVwCUNQVV9TTEVFUF9GUk9aRU4KKzE6CW1hc2tfaW50ZXJydXB0cworCXJldGFsCXIxMgorCS5zaXplCXBtX3N0YW5kYnksIC4gLSBwbV9zdGFuZGJ5CisKKwkuZ2xvYmFsCXBtX3N1c3BlbmRfdG9fcmFtCisJLnR5cGUJcG1fc3VzcGVuZF90b19yYW0sIEBmdW5jdGlvbgorcG1fc3VzcGVuZF90b19yYW06CisJLyoKKwkgKiBpbnRlcnJ1cHRzIGFyZSBhbHJlYWR5IG1hc2tlZCBhdCB0aGlzIHBvaW50LCBhbmQgRVZCQQorCSAqIHBvaW50cyB0byBwbV9leGNlcHRpb24gYWJvdmUuCisJICovCisJbW92CXIxMSwgMAorCWNhY2hlCXIxMVsyXSwgOAkJLyogY2xlYW4gYWxsIGRjYWNoZSBsaW5lcyAqLworCXN5bmMJMAkJCS8qIGZsdXNoIHdyaXRlIGJ1ZmZlciAqLworCWxkLncJcjEwLCByMTJbU0RSQU1DX0xQUl0KKwlzdWIJcjgsIHBjLCAuIC0gMWYJCS8qIHJldHVybiBhZGRyZXNzIGZvciBpcnEgaGFuZGxlciAqLworCW1vdglyMTEsIFNEUkFNQ19MUFJfTFBDQl9TRUxGX1JGUgorCWJmaW5zCXIxMCwgcjExLCAwLCAyCQkvKiBMUENCIDwtIHNlbGYgcmVmcmVzaCAqLworCXN0LncJcjEyW1NEUkFNQ19MUFJdLCByMTAJLyogcHV0IFNEUkFNIGluIHNlbGYtcmVmcmVzaCBtb2RlICovCisJbGQudwlyMTEsIHIxMltTRFJBTUNfTFBSXQorCisJdW5tYXNrX2ludGVycnVwdHMKKwlzbGVlcAlDUFVfU0xFRVBfU1RPUAorMToJbWFza19pbnRlcnJ1cHRzCisKKwlyZXRhbAlyMTIKKwkuc2l6ZQlwbV9zdXNwZW5kX3RvX3JhbSwgLiAtIHBtX3N1c3BlbmRfdG9fcmFtCisKKwkuZ2xvYmFsCXBtX3NyYW1fZW5kCisJLnR5cGUJcG1fc3JhbV9lbmQsIEBmdW5jdGlvbgorcG1fc3JhbV9lbmQ6CisJLnNpemUJcG1fc3JhbV9lbmQsIDAKKworI2VuZGlmIC8qIENPTkZJR19QTSAqLwpkaWZmIC0tZ2l0IGEvYXJjaC9hdnIzMi9tYWNoLWF0MzJhcC9wbS5jIGIvYXJjaC9hdnIzMi9tYWNoLWF0MzJhcC9wbS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBiNzY0MzIKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2F2cjMyL21hY2gtYXQzMmFwL3BtLmMKQEAgLTAsMCArMSwyNDUgQEAKKy8qCisgKiBBVlIzMiBBUCBQb3dlciBNYW5hZ2VtZW50CisgKgorICogQ29weXJpZ2h0IChDKSAyMDA4IEF0bWVsIENvcnBvcmF0aW9uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIHZlcnNpb24gMiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqLworI2luY2x1ZGUgPGxpbnV4L2lvLmg+CisjaW5jbHVkZSA8bGludXgvc3VzcGVuZC5oPgorI2luY2x1ZGUgPGxpbnV4L3ZtYWxsb2MuaD4KKworI2luY2x1ZGUgPGFzbS9jYWNoZWZsdXNoLmg+CisjaW5jbHVkZSA8YXNtL3N5c3JlZy5oPgorCisjaW5jbHVkZSA8YXNtL2FyY2gvcG0uaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9zcmFtLmg+CisKKy8qIEZJWE1FOiBUaGlzIGlzIG9ubHkgdmFsaWQgZm9yIEFQNzAwMCAqLworI2RlZmluZSBTRFJBTUNfQkFTRQkweGZmZjAzODAwCisKKyNpbmNsdWRlICJzZHJhbWMuaCIKKworI2RlZmluZSBTUkFNX1BBR0VfRkxBR1MJKFNZU1JFR19CSVQoVExCRUxPX0QpIHwgU1lTUkVHX0JGKFNaLCAxKQlcCisJCQkJfCBTWVNSRUdfQkYoQVAsIDMpIHwgU1lTUkVHX0JJVChHKSkKKworCitzdGF0aWMgdW5zaWduZWQgbG9uZwlwbV9zcmFtX3N0YXJ0Oworc3RhdGljIHNpemVfdAkJcG1fc3JhbV9zaXplOworc3RhdGljIHN0cnVjdCB2bV9zdHJ1Y3QJKnBtX3NyYW1fYXJlYTsKKworc3RhdGljIHZvaWQgKCphdnIzMl9wbV9lbnRlcl9zdGFuZGJ5KSh1bnNpZ25lZCBsb25nIHNkcmFtY19iYXNlKTsKK3N0YXRpYyB2b2lkICgqYXZyMzJfcG1fZW50ZXJfc3RyKSh1bnNpZ25lZCBsb25nIHNkcmFtY19iYXNlKTsKKworLyoKKyAqIE11c3QgYmUgY2FsbGVkIHdpdGggaW50ZXJydXB0cyBkaXNhYmxlZC4gRXhjZXB0aW9ucyB3aWxsIGJlIG1hc2tlZAorICogb24gcmV0dXJuIChpLmUuIGFsbCBleGNlcHRpb25zIHdpbGwgYmUgInVucmVjb3ZlcmFibGUiLikKKyAqLworc3RhdGljIHZvaWQgKmF2cjMyX3BtX21hcF9zcmFtKHZvaWQpCit7CisJdW5zaWduZWQgbG9uZwl2YWRkcjsKKwl1bnNpZ25lZCBsb25nCXBhZ2VfYWRkcjsKKwl1MzIJCXRsYmVoaTsKKwl1MzIJCW1tdWNyOworCisJdmFkZHIgPSAodW5zaWduZWQgbG9uZylwbV9zcmFtX2FyZWEtPmFkZHI7CisJcGFnZV9hZGRyID0gcG1fc3JhbV9zdGFydCAmIFBBR0VfTUFTSzsKKworCS8qCisJICogTWFzayBleGNlcHRpb25zIGFuZCBncmFiIHRoZSBmaXJzdCBUTEIgZW50cnkuIFdlIHdvbid0IGJlCisJICogbmVlZGluZyBpdCB3aGlsZSBzbGVlcGluZy4KKwkgKi8KKwlhc20gdm9sYXRpbGUoInNzcmYJJTAiIDogOiAiaSIoU1lTUkVHX0VNX09GRlNFVCkgOiAibWVtb3J5Iik7CisKKwltbXVjciA9IHN5c3JlZ19yZWFkKE1NVUNSKTsKKwl0bGJlaGkgPSBzeXNyZWdfcmVhZChUTEJFSEkpOworCXN5c3JlZ193cml0ZShNTVVDUiwgU1lTUkVHX0JGSU5TKERSUCwgMCwgbW11Y3IpKTsKKworCXRsYmVoaSA9IFNZU1JFR19CRihBU0lELCBTWVNSRUdfQkZFWFQoQVNJRCwgdGxiZWhpKSk7CisJdGxiZWhpIHw9IHZhZGRyICYgUEFHRV9NQVNLOworCXRsYmVoaSB8PSBTWVNSRUdfQklUKFRMQkVISV9WKTsKKworCXN5c3JlZ193cml0ZShUTEJFTE8sIHBhZ2VfYWRkciB8IFNSQU1fUEFHRV9GTEFHUyk7CisJc3lzcmVnX3dyaXRlKFRMQkVISSwgdGxiZWhpKTsKKwlfX2J1aWx0aW5fdGxidygpOworCisJcmV0dXJuICh2b2lkICopKHZhZGRyICsgcG1fc3JhbV9zdGFydCAtIHBhZ2VfYWRkcik7Cit9CisKKy8qCisgKiBNdXN0IGJlIGNhbGxlZCB3aXRoIGludGVycnVwdHMgZGlzYWJsZWQuIEV4Y2VwdGlvbnMgd2lsbCBiZQorICogdW5tYXNrZWQgb24gcmV0dXJuLgorICovCitzdGF0aWMgdm9pZCBhdnIzMl9wbV91bm1hcF9zcmFtKHZvaWQpCit7CisJdTMyCW1tdWNyOworCXUzMgl0bGJlaGk7CisJdTMyCXRsYmFybG87CisKKwkvKiBHb2luZyB0byB1cGRhdGUgVExCIGVudHJ5IGF0IGluZGV4IDAgKi8KKwltbXVjciA9IHN5c3JlZ19yZWFkKE1NVUNSKTsKKwl0bGJlaGkgPSBzeXNyZWdfcmVhZChUTEJFSEkpOworCXN5c3JlZ193cml0ZShNTVVDUiwgU1lTUkVHX0JGSU5TKERSUCwgMCwgbW11Y3IpKTsKKworCS8qIENsZWFyIHRoZSAidmFsaWQiIGJpdCAqLworCXRsYmVoaSA9IFNZU1JFR19CRihBU0lELCBTWVNSRUdfQkZFWFQoQVNJRCwgdGxiZWhpKSk7CisJc3lzcmVnX3dyaXRlKFRMQkVISSwgdGxiZWhpKTsKKworCS8qIE1hcmsgaXQgYXMgIm5vdCBhY2Nlc3NlZCIgKi8KKwl0bGJhcmxvID0gc3lzcmVnX3JlYWQoVExCQVJMTyk7CisJc3lzcmVnX3dyaXRlKFRMQkFSTE8sIHRsYmFybG8gfCAweDgwMDAwMDAwVSk7CisKKwkvKiBVcGRhdGUgdGhlIFRMQiAqLworCV9fYnVpbHRpbl90bGJ3KCk7CisKKwkvKiBVbm1hc2sgZXhjZXB0aW9ucyAqLworCWFzbSB2b2xhdGlsZSgiY3NyZgklMCIgOiA6ICJpIihTWVNSRUdfRU1fT0ZGU0VUKSA6ICJtZW1vcnkiKTsKK30KKworc3RhdGljIGludCBhdnIzMl9wbV92YWxpZF9zdGF0ZShzdXNwZW5kX3N0YXRlX3Qgc3RhdGUpCit7CisJc3dpdGNoIChzdGF0ZSkgeworCWNhc2UgUE1fU1VTUEVORF9PTjoKKwljYXNlIFBNX1NVU1BFTkRfU1RBTkRCWToKKwljYXNlIFBNX1NVU1BFTkRfTUVNOgorCQlyZXR1cm4gMTsKKworCWRlZmF1bHQ6CisJCXJldHVybiAwOworCX0KK30KKworc3RhdGljIGludCBhdnIzMl9wbV9lbnRlcihzdXNwZW5kX3N0YXRlX3Qgc3RhdGUpCit7CisJdTMyCQlscHJfc2F2ZWQ7CisJdTMyCQlldmJhX3NhdmVkOworCXZvaWQJCSpzcmFtOworCisJc3dpdGNoIChzdGF0ZSkgeworCWNhc2UgUE1fU1VTUEVORF9TVEFOREJZOgorCQlzcmFtID0gYXZyMzJfcG1fbWFwX3NyYW0oKTsKKworCQkvKiBTd2l0Y2ggdG8gaW4tc3JhbSBleGNlcHRpb24gaGFuZGxlcnMgKi8KKwkJZXZiYV9zYXZlZCA9IHN5c3JlZ19yZWFkKEVWQkEpOworCQlzeXNyZWdfd3JpdGUoRVZCQSwgKHVuc2lnbmVkIGxvbmcpc3JhbSk7CisKKwkJLyoKKwkJICogU2F2ZSB0aGUgTFBSIHJlZ2lzdGVyIHNvIHRoYXQgd2UgY2FuIHJlLWVuYWJsZQorCQkgKiBTRFJBTSBMb3cgUG93ZXIgbW9kZSBvbiByZXN1bWUuCisJCSAqLworCQlscHJfc2F2ZWQgPSBzZHJhbWNfcmVhZGwoTFBSKTsKKwkJcHJfZGVidWcoIiVzOiBFbnRlcmluZyBzdGFuZGJ5Li4uXG4iLCBfX2Z1bmNfXyk7CisJCWF2cjMyX3BtX2VudGVyX3N0YW5kYnkoU0RSQU1DX0JBU0UpOworCQlzZHJhbWNfd3JpdGVsKExQUiwgbHByX3NhdmVkKTsKKworCQkvKiBTd2l0Y2ggYmFjayB0byByZWd1bGFyIGV4Y2VwdGlvbiBoYW5kbGVycyAqLworCQlzeXNyZWdfd3JpdGUoRVZCQSwgZXZiYV9zYXZlZCk7CisKKwkJYXZyMzJfcG1fdW5tYXBfc3JhbSgpOworCQlicmVhazsKKworCWNhc2UgUE1fU1VTUEVORF9NRU06CisJCXNyYW0gPSBhdnIzMl9wbV9tYXBfc3JhbSgpOworCisJCS8qIFN3aXRjaCB0byBpbi1zcmFtIGV4Y2VwdGlvbiBoYW5kbGVycyAqLworCQlldmJhX3NhdmVkID0gc3lzcmVnX3JlYWQoRVZCQSk7CisJCXN5c3JlZ193cml0ZShFVkJBLCAodW5zaWduZWQgbG9uZylzcmFtKTsKKworCQkvKgorCQkgKiBTYXZlIHRoZSBMUFIgcmVnaXN0ZXIgc28gdGhhdCB3ZSBjYW4gcmUtZW5hYmxlCisJCSAqIFNEUkFNIExvdyBQb3dlciBtb2RlIG9uIHJlc3VtZS4KKwkJICovCisJCWxwcl9zYXZlZCA9IHNkcmFtY19yZWFkbChMUFIpOworCQlwcl9kZWJ1ZygiJXM6IEVudGVyaW5nIHN1c3BlbmQtdG8tcmFtLi4uXG4iLCBfX2Z1bmNfXyk7CisJCWF2cjMyX3BtX2VudGVyX3N0cihTRFJBTUNfQkFTRSk7CisJCXNkcmFtY193cml0ZWwoTFBSLCBscHJfc2F2ZWQpOworCisJCS8qIFN3aXRjaCBiYWNrIHRvIHJlZ3VsYXIgZXhjZXB0aW9uIGhhbmRsZXJzICovCisJCXN5c3JlZ193cml0ZShFVkJBLCBldmJhX3NhdmVkKTsKKworCQlhdnIzMl9wbV91bm1hcF9zcmFtKCk7CisJCWJyZWFrOworCisJY2FzZSBQTV9TVVNQRU5EX09OOgorCQlwcl9kZWJ1ZygiJXM6IEVudGVyaW5nIGlkbGUuLi5cbiIsIF9fZnVuY19fKTsKKwkJY3B1X2VudGVyX2lkbGUoKTsKKwkJYnJlYWs7CisKKwlkZWZhdWx0OgorCQlwcl9kZWJ1ZygiJXM6IEludmFsaWQgc3VzcGVuZCBzdGF0ZSAlZFxuIiwgX19mdW5jX18sIHN0YXRlKTsKKwkJZ290byBvdXQ7CisJfQorCisJcHJfZGVidWcoIiVzOiB3YWtldXBcbiIsIF9fZnVuY19fKTsKKworb3V0OgorCXJldHVybiAwOworfQorCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX3N1c3BlbmRfb3BzIGF2cjMyX3BtX29wcyA9IHsKKwkudmFsaWQJPSBhdnIzMl9wbV92YWxpZF9zdGF0ZSwKKwkuZW50ZXIJPSBhdnIzMl9wbV9lbnRlciwKK307CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGF2cjMyX3BtX29mZnNldCh2b2lkICpzeW1ib2wpCit7CisJZXh0ZXJuIHU4IHBtX2V4Y2VwdGlvbltdOworCisJcmV0dXJuICh1bnNpZ25lZCBsb25nKXN5bWJvbCAtICh1bnNpZ25lZCBsb25nKXBtX2V4Y2VwdGlvbjsKK30KKworc3RhdGljIGludCBfX2luaXQgYXZyMzJfcG1faW5pdCh2b2lkKQoreworCWV4dGVybiB1OCBwbV9leGNlcHRpb25bXTsKKwlleHRlcm4gdTggcG1faXJxMFtdOworCWV4dGVybiB1OCBwbV9zdGFuZGJ5W107CisJZXh0ZXJuIHU4IHBtX3N1c3BlbmRfdG9fcmFtW107CisJZXh0ZXJuIHU4IHBtX3NyYW1fZW5kW107CisJdm9pZCAqZHN0OworCisJLyoKKwkgKiBUbyBrZWVwIHRoaW5ncyBzaW1wbGUsIHdlIGRlcGVuZCBvbiBub3QgbmVlZGluZyBtb3JlIHRoYW4gYQorCSAqIHNpbmdsZSBwYWdlLgorCSAqLworCXBtX3NyYW1fc2l6ZSA9IGF2cjMyX3BtX29mZnNldChwbV9zcmFtX2VuZCk7CisJaWYgKHBtX3NyYW1fc2l6ZSA+IFBBR0VfU0laRSkKKwkJZ290byBlcnI7CisKKwlwbV9zcmFtX3N0YXJ0ID0gc3JhbV9hbGxvYyhwbV9zcmFtX3NpemUpOworCWlmICghcG1fc3JhbV9zdGFydCkKKwkJZ290byBlcnJfYWxsb2Nfc3JhbTsKKworCS8qIEdyYWIgYSB2aXJ0dWFsIGFyZWEgd2UgY2FuIHVzZSBsYXRlciBvbi4gKi8KKwlwbV9zcmFtX2FyZWEgPSBnZXRfdm1fYXJlYShwbV9zcmFtX3NpemUsIFZNX0lPUkVNQVApOworCWlmICghcG1fc3JhbV9hcmVhKQorCQlnb3RvIGVycl92bV9hcmVhOworCXBtX3NyYW1fYXJlYS0+cGh5c19hZGRyID0gcG1fc3JhbV9zdGFydDsKKworCWxvY2FsX2lycV9kaXNhYmxlKCk7CisJZHN0ID0gYXZyMzJfcG1fbWFwX3NyYW0oKTsKKwltZW1jcHkoZHN0LCBwbV9leGNlcHRpb24sIHBtX3NyYW1fc2l6ZSk7CisJZmx1c2hfZGNhY2hlX3JlZ2lvbihkc3QsIHBtX3NyYW1fc2l6ZSk7CisJaW52YWxpZGF0ZV9pY2FjaGVfcmVnaW9uKGRzdCwgcG1fc3JhbV9zaXplKTsKKwlhdnIzMl9wbV91bm1hcF9zcmFtKCk7CisJbG9jYWxfaXJxX2VuYWJsZSgpOworCisJYXZyMzJfcG1fZW50ZXJfc3RhbmRieSA9IGRzdCArIGF2cjMyX3BtX29mZnNldChwbV9zdGFuZGJ5KTsKKwlhdnIzMl9wbV9lbnRlcl9zdHIgPSBkc3QgKyBhdnIzMl9wbV9vZmZzZXQocG1fc3VzcGVuZF90b19yYW0pOworCWludGNfc2V0X3N1c3BlbmRfaGFuZGxlcihhdnIzMl9wbV9vZmZzZXQocG1faXJxMCkpOworCisJc3VzcGVuZF9zZXRfb3BzKCZhdnIzMl9wbV9vcHMpOworCisJcHJpbnRrKCJBVlIzMiBBUCBQb3dlciBNYW5hZ2VtZW50IGVuYWJsZWRcbiIpOworCisJcmV0dXJuIDA7CisKK2Vycl92bV9hcmVhOgorCXNyYW1fZnJlZShwbV9zcmFtX3N0YXJ0LCBwbV9zcmFtX3NpemUpOworZXJyX2FsbG9jX3NyYW06CitlcnI6CisJcHJfZXJyKCJBVlIzMiBQb3dlciBNYW5hZ2VtZW50IGluaXRpYWxpemF0aW9uIGZhaWxlZFxuIik7CisJcmV0dXJuIC1FTk9NRU07Cit9CithcmNoX2luaXRjYWxsKGF2cjMyX3BtX2luaXQpOwpkaWZmIC0tZ2l0IGEvYXJjaC9hdnIzMi9tYWNoLWF0MzJhcC9zZHJhbWMuaCBiL2FyY2gvYXZyMzIvbWFjaC1hdDMyYXAvc2RyYW1jLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjZlZWFlZAotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXZyMzIvbWFjaC1hdDMyYXAvc2RyYW1jLmgKQEAgLTAsMCArMSw3NiBAQAorLyoKKyAqIFJlZ2lzdGVyIGRlZmluaXRpb25zIGZvciB0aGUgQVQzMkFQIFNEUkFNIENvbnRyb2xsZXIKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggQXRtZWwgQ29ycG9yYXRpb24KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogdmVyc2lvbiAyIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICovCisKKy8qIFJlZ2lzdGVyIG9mZnNldHMgKi8KKyNkZWZpbmUgU0RSQU1DX01SCQkJMHgwMDAwCisjZGVmaW5lIFNEUkFNQ19UUgkJCTB4MDAwNAorI2RlZmluZSBTRFJBTUNfQ1IJCQkweDAwMDgKKyNkZWZpbmUgU0RSQU1DX0hTUgkJCTB4MDAwYworI2RlZmluZSBTRFJBTUNfTFBSCQkJMHgwMDEwCisjZGVmaW5lIFNEUkFNQ19JRVIJCQkweDAwMTQKKyNkZWZpbmUgU0RSQU1DX0lEUgkJCTB4MDAxOAorI2RlZmluZSBTRFJBTUNfSU1SCQkJMHgwMDFjCisjZGVmaW5lIFNEUkFNQ19JU1IJCQkweDAwMjAKKyNkZWZpbmUgU0RSQU1DX01EUgkJCTB4MDAyNAorCisvKiBNUiAtIE1vZGUgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgU0RSQU1DX01SX01PREVfTk9STUFMCQkoICAwIDw8ICAwKQorI2RlZmluZSBTRFJBTUNfTVJfTU9ERV9OT1AJCSggIDEgPDwgIDApCisjZGVmaW5lIFNEUkFNQ19NUl9NT0RFX0JBTktTX1BSRUNIQVJHRQkoICAyIDw8ICAwKQorI2RlZmluZSBTRFJBTUNfTVJfTU9ERV9MT0FEX01PREUJKCAgMyA8PCAgMCkKKyNkZWZpbmUgU0RSQU1DX01SX01PREVfQVVUT19SRUZSRVNICSggIDQgPDwgIDApCisjZGVmaW5lIFNEUkFNQ19NUl9NT0RFX0VYVF9MT0FEX01PREUJKCAgNSA8PCAgMCkKKyNkZWZpbmUgU0RSQU1DX01SX01PREVfUE9XRVJfRE9XTgkoICA2IDw8ICAwKQorCisvKiBDUiAtIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIgKi8KKyNkZWZpbmUgU0RSQU1DX0NSX05DXzhfQklUUwkJKCAgMCA8PCAgMCkKKyNkZWZpbmUgU0RSQU1DX0NSX05DXzlfQklUUwkJKCAgMSA8PCAgMCkKKyNkZWZpbmUgU0RSQU1DX0NSX05DXzEwX0JJVFMJCSggIDIgPDwgIDApCisjZGVmaW5lIFNEUkFNQ19DUl9OQ18xMV9CSVRTCQkoICAzIDw8ICAwKQorI2RlZmluZSBTRFJBTUNfQ1JfTlJfMTFfQklUUwkJKCAgMCA8PCAgMikKKyNkZWZpbmUgU0RSQU1DX0NSX05SXzEyX0JJVFMJCSggIDEgPDwgIDIpCisjZGVmaW5lIFNEUkFNQ19DUl9OUl8xM19CSVRTCQkoICAyIDw8ICAyKQorI2RlZmluZSBTRFJBTUNfQ1JfTkJfMl9CQU5LUwkJKCAgMCA8PCAgNCkKKyNkZWZpbmUgU0RSQU1DX0NSX05CXzRfQkFOS1MJCSggIDEgPDwgIDQpCisjZGVmaW5lIFNEUkFNQ19DUl9DQVMoeCkJCSgoeCkgPDwgIDUpCisjZGVmaW5lIFNEUkFNQ19DUl9EQldfMzJfQklUUwkJKCAgMCA8PCAgNykKKyNkZWZpbmUgU0RSQU1DX0NSX0RCV18xNl9CSVRTCQkoICAxIDw8ICA3KQorI2RlZmluZSBTRFJBTUNfQ1JfVFdSKHgpCQkoKHgpIDw8ICA4KQorI2RlZmluZSBTRFJBTUNfQ1JfVFJDKHgpCQkoKHgpIDw8IDEyKQorI2RlZmluZSBTRFJBTUNfQ1JfVFJQKHgpCQkoKHgpIDw8IDE2KQorI2RlZmluZSBTRFJBTUNfQ1JfVFJDRCh4KQkJKCh4KSA8PCAyMCkKKyNkZWZpbmUgU0RSQU1DX0NSX1RSQVMoeCkJCSgoeCkgPDwgMjQpCisjZGVmaW5lIFNEUkFNQ19DUl9UWFNSKHgpCQkoKHgpIDw8IDI4KQorCisvKiBIU1IgLSBIaWdoIFNwZWVkIFJlZ2lzdGVyICovCisjZGVmaW5lIFNEUkFNQ19IU1JfREEJCQkoICAxIDw8ICAwKQorCisvKiBMUFIgLSBMb3cgUG93ZXIgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgU0RSQU1DX0xQUl9MUENCX0lOSElCSVQJCSggIDAgPDwgIDApCisjZGVmaW5lIFNEUkFNQ19MUFJfTFBDQl9TRUxGX1JGUgkoICAxIDw8ICAwKQorI2RlZmluZSBTRFJBTUNfTFBSX0xQQ0JfUERPV04JCSggIDIgPDwgIDApCisjZGVmaW5lIFNEUkFNQ19MUFJfTFBDQl9ERUVQX1BET1dOCSggIDMgPDwgIDApCisjZGVmaW5lIFNEUkFNQ19MUFJfUEFTUih4KQkJKCh4KSA8PCAgNCkKKyNkZWZpbmUgU0RSQU1DX0xQUl9UQ1NSKHgpCQkoKHgpIDw8ICA4KQorI2RlZmluZSBTRFJBTUNfTFBSX0RTKHgpCQkoKHgpIDw8IDEwKQorI2RlZmluZSBTRFJBTUNfTFBSX1RJTUVPVVQoeCkJCSgoeCkgPDwgMTIpCisKKy8qIElFUi9JRFIvSU1SL0lTUiAtIEludGVycnVwdCBFbmFibGUvRGlzYWJsZS9NYXNrL1N0YXR1cyBSZWdpc3RlciAqLworI2RlZmluZSBTRFJBTUNfSVNSX1JFUwkJCSggIDEgPDwgIDApCisKKy8qIE1EUiAtIE1lbW9yeSBEZXZpY2UgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgU0RSQU1DX01EUl9NRF9TRFJBTQkJKCAgMCA8PCAgMCkKKyNkZWZpbmUgU0RSQU1DX01EUl9NRF9MT1dfUFdSX1NEUkFNCSggIDEgPDwgIDApCisKKy8qIFJlZ2lzdGVyIGFjY2VzcyBtYWNyb3MgKi8KKyNkZWZpbmUgc2RyYW1jX3JlYWRsKHJlZykgXAorCV9fcmF3X3JlYWRsKCh2b2lkIF9faW9tZW0gX19mb3JjZSAqKVNEUkFNQ19CQVNFICsgU0RSQU1DXyMjcmVnKQorI2RlZmluZSBzZHJhbWNfd3JpdGVsKHJlZywgdmFsdWUpIFwKKwlfX3Jhd193cml0ZWwodmFsdWUsICh2b2lkIF9faW9tZW0gX19mb3JjZSAqKVNEUkFNQ19CQVNFICsgU0RSQU1DXyMjcmVnKQpkaWZmIC0tZ2l0IGEvYXJjaC9hdnIzMi9tbS9pbml0LmMgYi9hcmNoL2F2cjMyL21tL2luaXQuYwppbmRleCAwZTY0ZGRjLi4zZjkwYTg3IDEwMDY0NAotLS0gYS9hcmNoL2F2cjMyL21tL2luaXQuYworKysgYi9hcmNoL2F2cjMyL21tL2luaXQuYwpAQCAtMTEsNiArMTEsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3N3YXAuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvbW16b25lLmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvYm9vdG1lbS5oPgogI2luY2x1ZGUgPGxpbnV4L3BhZ2VtYXAuaD4KICNpbmNsdWRlIDxsaW51eC9ub2RlbWFzay5oPgpAQCAtMjMsMTEgKzI0LDE0IEBACiAjaW5jbHVkZSA8YXNtL3NldHVwLmg+CiAjaW5jbHVkZSA8YXNtL3NlY3Rpb25zLmg+CiAKKyNkZWZpbmUgX19wYWdlX2FsaWduZWQJX19hdHRyaWJ1dGVfXygoc2VjdGlvbigiLmRhdGEucGFnZV9hbGlnbmVkIikpKQorCiBERUZJTkVfUEVSX0NQVShzdHJ1Y3QgbW11X2dhdGhlciwgbW11X2dhdGhlcnMpOwogCi1wZ2RfdCBzd2FwcGVyX3BnX2RpcltQVFJTX1BFUl9QR0RdOworcGdkX3Qgc3dhcHBlcl9wZ19kaXJbUFRSU19QRVJfUEdEXSBfX3BhZ2VfYWxpZ25lZDsKIAogc3RydWN0IHBhZ2UgKmVtcHR5X3plcm9fcGFnZTsKK0VYUE9SVF9TWU1CT0woZW1wdHlfemVyb19wYWdlKTsKIAogLyoKICAqIENhY2hlIG9mIE1NVSBjb250ZXh0IGxhc3QgdXNlZC4KQEAgLTEwNiwxOSArMTEwLDkgQEAKIAl6ZXJvX3BhZ2UgPSBhbGxvY19ib290bWVtX2xvd19wYWdlc19ub2RlKE5PREVfREFUQSgwKSwKIAkJCQkJCSBQQUdFX1NJWkUpOwogCi0JewotCQlwZ2RfdCAqcGdfZGlyOwotCQlpbnQgaTsKLQotCQlwZ19kaXIgPSBzd2FwcGVyX3BnX2RpcjsKLQkJc3lzcmVnX3dyaXRlKFBUQlIsICh1bnNpZ25lZCBsb25nKXBnX2Rpcik7Ci0KLQkJZm9yIChpID0gMDsgaSA8IFBUUlNfUEVSX1BHRDsgaSsrKQotCQkJcGdkX3ZhbChwZ19kaXJbaV0pID0gMDsKLQotCQllbmFibGVfbW11KCk7Ci0JCXByaW50ayAoIkNQVTogUGFnaW5nIGVuYWJsZWRcbiIpOwotCX0KKwlzeXNyZWdfd3JpdGUoUFRCUiwgKHVuc2lnbmVkIGxvbmcpc3dhcHBlcl9wZ19kaXIpOworCWVuYWJsZV9tbXUoKTsKKwlwcmludGsgKCJDUFU6IFBhZ2luZyBlbmFibGVkXG4iKTsKIAogCWZvcl9lYWNoX29ubGluZV9ub2RlKG5pZCkgewogCQlwZ19kYXRhX3QgKnBnZGF0ID0gTk9ERV9EQVRBKG5pZCk7CmRpZmYgLS1naXQgYS9hcmNoL2F2cjMyL21tL3RsYi5jIGIvYXJjaC9hdnIzMi9tbS90bGIuYwppbmRleCBjZDEyZWRiLi4wNjY3N2JlIDEwMDY0NAotLS0gYS9hcmNoL2F2cjMyL21tL3RsYi5jCisrKyBiL2FyY2gvYXZyMzIvbW0vdGxiLmMKQEAgLTExLDIxICsxMSwyMSBAQAogCiAjaW5jbHVkZSA8YXNtL21tdV9jb250ZXh0Lmg+CiAKLSNkZWZpbmUgX1RMQkVISV9JCTB4MTAwCisvKiBUT0RPOiBHZXQgdGhlIGNvcnJlY3QgbnVtYmVyIGZyb20gdGhlIENPTkZJRzEgc3lzdGVtIHJlZ2lzdGVyICovCisjZGVmaW5lIE5SX1RMQl9FTlRSSUVTIDMyCiAKLXZvaWQgc2hvd19kdGxiX2VudHJ5KHVuc2lnbmVkIGludCBpbmRleCkKK3N0YXRpYyB2b2lkIHNob3dfZHRsYl9lbnRyeSh1bnNpZ25lZCBpbnQgaW5kZXgpCiB7Ci0JdW5zaWduZWQgaW50IHRsYmVoaSwgdGxiZWhpX3NhdmUsIHRsYmVsbywgbW11Y3IsIG1tdWNyX3NhdmU7CisJdTMyIHRsYmVoaSwgdGxiZWhpX3NhdmUsIHRsYmVsbywgbW11Y3IsIG1tdWNyX3NhdmU7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAogCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKIAltbXVjcl9zYXZlID0gc3lzcmVnX3JlYWQoTU1VQ1IpOwogCXRsYmVoaV9zYXZlID0gc3lzcmVnX3JlYWQoVExCRUhJKTsKLQltbXVjciA9IG1tdWNyX3NhdmUgJiAweDEzOwotCW1tdWNyIHw9IGluZGV4IDw8IDE0OworCW1tdWNyID0gU1lTUkVHX0JGSU5TKERSUCwgaW5kZXgsIG1tdWNyX3NhdmUpOwogCXN5c3JlZ193cml0ZShNTVVDUiwgbW11Y3IpOwogCi0JYXNtIHZvbGF0aWxlKCJ0bGJyIiA6IDogOiAibWVtb3J5Iik7CisJX19idWlsdGluX3RsYnIoKTsKIAljcHVfc3luY19waXBlbGluZSgpOwogCiAJdGxiZWhpID0gc3lzcmVnX3JlYWQoVExCRUhJKTsKQEAgLTMzLDE1ICszMywxNyBAQAogCiAJcHJpbnRrKCIlMnU6ICVjICVjICUwMnggICAlMDV4ICUwNXggJW8gICVvICAlYyAlYyAlYyAlY1xuIiwKIAkgICAgICAgaW5kZXgsCi0JICAgICAgICh0bGJlaGkgJiAweDIwMCk/JzEnOicwJywKLQkgICAgICAgKHRsYmVsbyAmIDB4MTAwKT8nMSc6JzAnLAotCSAgICAgICAodGxiZWhpICYgMHhmZiksCi0JICAgICAgICh0bGJlaGkgPj4gMTIpLCAodGxiZWxvID4+IDEyKSwKLQkgICAgICAgKHRsYmVsbyA+PiA0KSAmIDcsICh0bGJlbG8gPj4gMikgJiAzLAotCSAgICAgICAodGxiZWxvICYgMHgyMDApPycxJzonMCcsCi0JICAgICAgICh0bGJlbG8gJiAweDA4MCk/JzEnOicwJywKLQkgICAgICAgKHRsYmVsbyAmIDB4MDAxKT8nMSc6JzAnLAotCSAgICAgICAodGxiZWxvICYgMHgwMDIpPycxJzonMCcpOworCSAgICAgICBTWVNSRUdfQkZFWFQoVExCRUhJX1YsIHRsYmVoaSkgPyAnMScgOiAnMCcsCisJICAgICAgIFNZU1JFR19CRkVYVChHLCB0bGJlbG8pID8gJzEnIDogJzAnLAorCSAgICAgICBTWVNSRUdfQkZFWFQoQVNJRCwgdGxiZWhpKSwKKwkgICAgICAgU1lTUkVHX0JGRVhUKFZQTiwgdGxiZWhpKSA+PiAyLAorCSAgICAgICBTWVNSRUdfQkZFWFQoUEZOLCB0bGJlbG8pID4+IDIsCisJICAgICAgIFNZU1JFR19CRkVYVChBUCwgdGxiZWxvKSwKKwkgICAgICAgU1lTUkVHX0JGRVhUKFNaLCB0bGJlbG8pLAorCSAgICAgICBTWVNSRUdfQkZFWFQoVExCRUxPX0MsIHRsYmVsbykgPyAnQycgOiAnICcsCisJICAgICAgIFNZU1JFR19CRkVYVChCLCB0bGJlbG8pID8gJ0InIDogJyAnLAorCSAgICAgICBTWVNSRUdfQkZFWFQoVywgdGxiZWxvKSA/ICdXJyA6ICcgJywKKwkgICAgICAgU1lTUkVHX0JGRVhUKFRMQkVMT19ELCB0bGJlbG8pID8gJ0QnIDogJyAnKTsKIAogCXN5c3JlZ193cml0ZShNTVVDUiwgbW11Y3Jfc2F2ZSk7CiAJc3lzcmVnX3dyaXRlKFRMQkVISSwgdGxiZWhpX3NhdmUpOwpAQCAtNTQsMjkgKzU2LDMzIEBACiAJdW5zaWduZWQgaW50IGk7CiAKIAlwcmludGsoIklEICBWIEcgQVNJRCBWUE4gICBQRk4gICBBUCBTWiBDIEIgVyBEXG4iKTsKLQlmb3IgKGkgPSAwOyBpIDwgMzI7IGkrKykKKwlmb3IgKGkgPSAwOyBpIDwgTlJfVExCX0VOVFJJRVM7IGkrKykKIAkJc2hvd19kdGxiX2VudHJ5KGkpOwogfQogCi1zdGF0aWMgdW5zaWduZWQgbG9uZyBsYXN0X21tdWNyOwotCi1zdGF0aWMgaW5saW5lIHZvaWQgc2V0X3JlcGxhY2VtZW50X3BvaW50ZXIodW5zaWduZWQgc2hpZnQpCitzdGF0aWMgdm9pZCB1cGRhdGVfZHRsYih1bnNpZ25lZCBsb25nIGFkZHJlc3MsIHB0ZV90IHB0ZSkKIHsKLQl1bnNpZ25lZCBsb25nIG1tdWNyLCBtbXVjcl9zYXZlOworCXUzMiB0bGJlaGk7CisJdTMyIG1tdWNyOwogCi0JbW11Y3IgPSBtbXVjcl9zYXZlID0gc3lzcmVnX3JlYWQoTU1VQ1IpOworCS8qCisJICogV2UncmUgbm90IGNoYW5naW5nIHRoZSBBU0lEIGhlcmUsIHNvIG5vIG5lZWQgdG8gZmx1c2ggdGhlCisJICogcGlwZWxpbmUuCisJICovCisJdGxiZWhpID0gc3lzcmVnX3JlYWQoVExCRUhJKTsKKwl0bGJlaGkgPSBTWVNSRUdfQkYoQVNJRCwgU1lTUkVHX0JGRVhUKEFTSUQsIHRsYmVoaSkpOworCXRsYmVoaSB8PSBhZGRyZXNzICYgTU1VX1ZQTl9NQVNLOworCXRsYmVoaSB8PSBTWVNSRUdfQklUKFRMQkVISV9WKTsKKwlzeXNyZWdfd3JpdGUoVExCRUhJLCB0bGJlaGkpOwogCiAJLyogRG9lcyB0aGlzIG1hcHBpbmcgYWxyZWFkeSBleGlzdD8gKi8KLQlfX2FzbV9fIF9fdm9sYXRpbGVfXygKLQkJIgl0bGJzXG4iCi0JCSIJbWZzciAlMCwgJTEiCi0JCTogIj1yIihtbXVjcikKLQkJOiAiaSIoU1lTUkVHX01NVUNSKSk7CisJX19idWlsdGluX3RsYnMoKTsKKwltbXVjciA9IHN5c3JlZ19yZWFkKE1NVUNSKTsKIAogCWlmIChtbXVjciAmIFNZU1JFR19CSVQoTU1VQ1JfTikpIHsKIAkJLyogTm90IGZvdW5kIC0tIHBpY2sgYSBub3QtcmVjZW50bHktYWNjZXNzZWQgZW50cnkgKi8KLQkJdW5zaWduZWQgbG9uZyBycDsKLQkJdW5zaWduZWQgbG9uZyB0bGJhciA9IHN5c3JlZ19yZWFkKFRMQkFSTE8pOworCQl1bnNpZ25lZCBpbnQgcnA7CisJCXUzMiB0bGJhciA9IHN5c3JlZ19yZWFkKFRMQkFSTE8pOwogCiAJCXJwID0gMzIgLSBmbHModGxiYXIpOwogCQlpZiAocnAgPT0gMzIpIHsKQEAgLTg0LDMwICs5MCwxNCBAQAogCQkJc3lzcmVnX3dyaXRlKFRMQkFSTE8sIC0xTCk7CiAJCX0KIAotCQltbXVjciAmPSAweDEzOwotCQltbXVjciB8PSAocnAgPDwgc2hpZnQpOwotCisJCW1tdWNyID0gU1lTUkVHX0JGSU5TKERSUCwgcnAsIG1tdWNyKTsKIAkJc3lzcmVnX3dyaXRlKE1NVUNSLCBtbXVjcik7CiAJfQogCi0JbGFzdF9tbXVjciA9IG1tdWNyOwotfQotCi1zdGF0aWMgdm9pZCB1cGRhdGVfZHRsYih1bnNpZ25lZCBsb25nIGFkZHJlc3MsIHB0ZV90IHB0ZSwgdW5zaWduZWQgbG9uZyBhc2lkKQotewotCXVuc2lnbmVkIGxvbmcgdnBuOwotCi0JdnBuID0gKGFkZHJlc3MgJiBNTVVfVlBOX01BU0spIHwgX1RMQkVISV9WQUxJRCB8IGFzaWQ7Ci0Jc3lzcmVnX3dyaXRlKFRMQkVISSwgdnBuKTsKLQljcHVfc3luY19waXBlbGluZSgpOwotCi0Jc2V0X3JlcGxhY2VtZW50X3BvaW50ZXIoMTQpOwotCiAJc3lzcmVnX3dyaXRlKFRMQkVMTywgcHRlX3ZhbChwdGUpICYgX1BBR0VfRkxBR1NfSEFSRFdBUkVfTUFTSyk7CiAKIAkvKiBMZXQncyBnbyAqLwotCWFzbSB2b2xhdGlsZSgibm9wXG5cdHRsYnciIDogOiA6ICJtZW1vcnkiKTsKLQljcHVfc3luY19waXBlbGluZSgpOworCV9fYnVpbHRpbl90bGJ3KCk7CiB9CiAKIHZvaWQgdXBkYXRlX21tdV9jYWNoZShzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSwKQEAgLTEyMCwzOSArMTEwLDQwIEBACiAJCXJldHVybjsKIAogCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKLQl1cGRhdGVfZHRsYihhZGRyZXNzLCBwdGUsIGdldF9hc2lkKCkpOworCXVwZGF0ZV9kdGxiKGFkZHJlc3MsIHB0ZSk7CiAJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOwogfQogCi12b2lkIF9fZmx1c2hfdGxiX3BhZ2UodW5zaWduZWQgbG9uZyBhc2lkLCB1bnNpZ25lZCBsb25nIHBhZ2UpCitzdGF0aWMgdm9pZCBfX2ZsdXNoX3RsYl9wYWdlKHVuc2lnbmVkIGxvbmcgYXNpZCwgdW5zaWduZWQgbG9uZyBwYWdlKQogewotCXVuc2lnbmVkIGxvbmcgbW11Y3IsIHRsYmVoaTsKKwl1MzIgbW11Y3IsIHRsYmVoaTsKIAotCXBhZ2UgfD0gYXNpZDsKLQlzeXNyZWdfd3JpdGUoVExCRUhJLCBwYWdlKTsKLQljcHVfc3luY19waXBlbGluZSgpOwotCWFzbSB2b2xhdGlsZSgidGxicyIpOworCS8qCisJICogQ2FsbGVyIGlzIHJlc3BvbnNpYmxlIGZvciBtYXNraW5nIG91dCBub24tUEZOIGJpdHMgaW4gcGFnZQorCSAqIGFuZCBjaGFuZ2luZyB0aGUgY3VycmVudCBBU0lEIGlmIG5lY2Vzc2FyeS4gVGhpcyBtZWFucyB0aGF0CisJICogd2UgZG9uJ3QgbmVlZCB0byBmbHVzaCB0aGUgcGlwZWxpbmUgYWZ0ZXIgd3JpdGluZyBUTEJFSEkuCisJICovCisJdGxiZWhpID0gcGFnZSB8IGFzaWQ7CisJc3lzcmVnX3dyaXRlKFRMQkVISSwgdGxiZWhpKTsKKworCV9fYnVpbHRpbl90bGJzKCk7CiAJbW11Y3IgPSBzeXNyZWdfcmVhZChNTVVDUik7CiAKIAlpZiAoIShtbXVjciAmIFNZU1JFR19CSVQoTU1VQ1JfTikpKSB7Ci0JCXVuc2lnbmVkIGxvbmcgdGxiYXJsbzsKLQkJdW5zaWduZWQgbG9uZyBlbnRyeTsKKwkJdW5zaWduZWQgaW50IGVudHJ5OworCQl1MzIgdGxiYXJsbzsKIAogCQkvKiBDbGVhciB0aGUgInZhbGlkIiBiaXQgKi8KLQkJdGxiZWhpID0gc3lzcmVnX3JlYWQoVExCRUhJKTsKLQkJdGxiZWhpICY9IH5fVExCRUhJX1ZBTElEOwogCQlzeXNyZWdfd3JpdGUoVExCRUhJLCB0bGJlaGkpOwotCQljcHVfc3luY19waXBlbGluZSgpOwogCiAJCS8qIG1hcmsgdGhlIGVudHJ5IGFzICJub3QgYWNjZXNzZWQiICovCi0JCWVudHJ5ID0gKG1tdWNyID4+IDE0KSAmIDB4M2Y7CisJCWVudHJ5ID0gU1lTUkVHX0JGRVhUKERSUCwgbW11Y3IpOwogCQl0bGJhcmxvID0gc3lzcmVnX3JlYWQoVExCQVJMTyk7Ci0JCXRsYmFybG8gfD0gKDB4ODAwMDAwMDAgPj4gZW50cnkpOworCQl0bGJhcmxvIHw9ICgweDgwMDAwMDAwVUwgPj4gZW50cnkpOwogCQlzeXNyZWdfd3JpdGUoVExCQVJMTywgdGxiYXJsbyk7CiAKIAkJLyogdXBkYXRlIHRoZSBlbnRyeSB3aXRoIHZhbGlkIGJpdCBjbGVhciAqLwotCQlhc20gdm9sYXRpbGUoInRsYnciKTsKLQkJY3B1X3N5bmNfcGlwZWxpbmUoKTsKKwkJX19idWlsdGluX3RsYncoKTsKIAl9CiB9CiAKQEAgLTE5MCwxNyArMTgxLDIyIEBACiAKIAkJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOwogCQlzaXplID0gKGVuZCAtIHN0YXJ0ICsgKFBBR0VfU0laRSAtIDEpKSA+PiBQQUdFX1NISUZUOworCiAJCWlmIChzaXplID4gKE1NVV9EVExCX0VOVFJJRVMgLyA0KSkgeyAvKiBUb28gbWFueSBlbnRyaWVzIHRvIGZsdXNoICovCiAJCQltbS0+Y29udGV4dCA9IE5PX0NPTlRFWFQ7CiAJCQlpZiAobW0gPT0gY3VycmVudC0+bW0pCiAJCQkJYWN0aXZhdGVfY29udGV4dChtbSk7CiAJCX0gZWxzZSB7Ci0JCQl1bnNpZ25lZCBsb25nIGFzaWQgPSBtbS0+Y29udGV4dCAmIE1NVV9DT05URVhUX0FTSURfTUFTSzsKLQkJCXVuc2lnbmVkIGxvbmcgc2F2ZWRfYXNpZCA9IE1NVV9OT19BU0lEOworCQkJdW5zaWduZWQgbG9uZyBhc2lkOworCQkJdW5zaWduZWQgbG9uZyBzYXZlZF9hc2lkOworCisJCQlhc2lkID0gbW0tPmNvbnRleHQgJiBNTVVfQ09OVEVYVF9BU0lEX01BU0s7CisJCQlzYXZlZF9hc2lkID0gTU1VX05PX0FTSUQ7CiAKIAkJCXN0YXJ0ICY9IFBBR0VfTUFTSzsKIAkJCWVuZCArPSAoUEFHRV9TSVpFIC0gMSk7CiAJCQllbmQgJj0gUEFHRV9NQVNLOworCiAJCQlpZiAobW0gIT0gY3VycmVudC0+bW0pIHsKIAkJCQlzYXZlZF9hc2lkID0gZ2V0X2FzaWQoKTsKIAkJCQlzZXRfYXNpZChhc2lkKTsKQEAgLTIxOCwzMyArMjE0LDM0IEBACiB9CiAKIC8qCi0gKiBUT0RPOiBJZiB0aGlzIGlzIG9ubHkgY2FsbGVkIGZvciBhZGRyZXNzZXMgPiBUQVNLX1NJWkUsIHdlIGNhbiBwcm9iYWJseQotICogc2tpcCB0aGUgQVNJRCBzdHVmZiBhbmQganVzdCB1c2UgdGhlIEdsb2JhbCBiaXQuLi4KKyAqIFRoaXMgZnVuY3Rpb24gZGVwZW5kcyBvbiB0aGUgcGFnZXMgdG8gYmUgZmx1c2hlZCBoYXZpbmcgdGhlIEcKKyAqIChnbG9iYWwpIGJpdCBzZXQgaW4gdGhlaXIgcHRlLiBUaGlzIGlzIHRydWUgZm9yIGFsbAorICogUEFHRV9LRVJORUwoX1JPKSBwYWdlcy4KICAqLwogdm9pZCBmbHVzaF90bGJfa2VybmVsX3JhbmdlKHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kKQogewogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAJaW50IHNpemU7CiAKLQlsb2NhbF9pcnFfc2F2ZShmbGFncyk7CiAJc2l6ZSA9IChlbmQgLSBzdGFydCArIChQQUdFX1NJWkUgLSAxKSkgPj4gUEFHRV9TSElGVDsKIAlpZiAoc2l6ZSA+IChNTVVfRFRMQl9FTlRSSUVTIC8gNCkpIHsgLyogVG9vIG1hbnkgZW50cmllcyB0byBmbHVzaCAqLwogCQlmbHVzaF90bGJfYWxsKCk7CiAJfSBlbHNlIHsKLQkJdW5zaWduZWQgbG9uZyBhc2lkID0gaW5pdF9tbS5jb250ZXh0ICYgTU1VX0NPTlRFWFRfQVNJRF9NQVNLOwotCQl1bnNpZ25lZCBsb25nIHNhdmVkX2FzaWQgPSBnZXRfYXNpZCgpOworCQl1bnNpZ25lZCBsb25nIGFzaWQ7CisKKwkJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOworCQlhc2lkID0gZ2V0X2FzaWQoKTsKIAogCQlzdGFydCAmPSBQQUdFX01BU0s7CiAJCWVuZCArPSAoUEFHRV9TSVpFIC0gMSk7CiAJCWVuZCAmPSBQQUdFX01BU0s7Ci0JCXNldF9hc2lkKGFzaWQpOworCiAJCXdoaWxlIChzdGFydCA8IGVuZCkgewogCQkJX19mbHVzaF90bGJfcGFnZShhc2lkLCBzdGFydCk7CiAJCQlzdGFydCArPSBQQUdFX1NJWkU7CiAJCX0KLQkJc2V0X2FzaWQoc2F2ZWRfYXNpZCk7CisJCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKIAl9Ci0JbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOwogfQogCiB2b2lkIGZsdXNoX3RsYl9tbShzdHJ1Y3QgbW1fc3RydWN0ICptbSkKQEAgLTI4MCw3ICsyNzcsNyBAQAogewogCXN0YXRpYyB1bnNpZ25lZCBsb25nIHRsYl9pbmRleDsKIAotCWlmICgqcG9zID49IDMyKQorCWlmICgqcG9zID49IE5SX1RMQl9FTlRSSUVTKQogCQlyZXR1cm4gTlVMTDsKIAogCXRsYl9pbmRleCA9IDA7CkBAIC0yOTEsNyArMjg4LDcgQEAKIHsKIAl1bnNpZ25lZCBsb25nICppbmRleCA9IHY7CiAKLQlpZiAoKmluZGV4ID49IDMxKQorCWlmICgqaW5kZXggPj0gTlJfVExCX0VOVFJJRVMgLSAxKQogCQlyZXR1cm4gTlVMTDsKIAogCSsrKnBvczsKQEAgLTMxMywxNiArMzEwLDE2IEBACiAJaWYgKCppbmRleCA9PSAwKQogCQlzZXFfcHV0cyh0bGIsICJJRCAgViBHIEFTSUQgVlBOICAgUEZOICAgQVAgU1ogQyBCIFcgRFxuIik7CiAKLQlCVUdfT04oKmluZGV4ID49IDMyKTsKKwlCVUdfT04oKmluZGV4ID49IE5SX1RMQl9FTlRSSUVTKTsKIAogCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKIAltbXVjcl9zYXZlID0gc3lzcmVnX3JlYWQoTU1VQ1IpOwogCXRsYmVoaV9zYXZlID0gc3lzcmVnX3JlYWQoVExCRUhJKTsKLQltbXVjciA9IG1tdWNyX3NhdmUgJiAweDEzOwotCW1tdWNyIHw9ICppbmRleCA8PCAxNDsKKwltbXVjciA9IFNZU1JFR19CRklOUyhEUlAsICppbmRleCwgbW11Y3Jfc2F2ZSk7CiAJc3lzcmVnX3dyaXRlKE1NVUNSLCBtbXVjcik7CiAKLQlhc20gdm9sYXRpbGUoInRsYnIiIDogOiA6ICJtZW1vcnkiKTsKKwkvKiBUTEJSIG1pZ2h0IGNoYW5nZSB0aGUgQVNJRCAqLworCV9fYnVpbHRpbl90bGJyKCk7CiAJY3B1X3N5bmNfcGlwZWxpbmUoKTsKIAogCXRsYmVoaSA9IHN5c3JlZ19yZWFkKFRMQkVISSk7CkBAIC0zMzQsMTYgKzMzMSwxOCBAQAogCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKIAogCXNlcV9wcmludGYodGxiLCAiJTJsdTogJWMgJWMgJTAyeCAgICUwNXggJTA1eCAlbyAgJW8gICVjICVjICVjICVjXG4iLAotCSAgICAgICAqaW5kZXgsCi0JICAgICAgICh0bGJlaGkgJiAweDIwMCk/JzEnOicwJywKLQkgICAgICAgKHRsYmVsbyAmIDB4MTAwKT8nMSc6JzAnLAotCSAgICAgICAodGxiZWhpICYgMHhmZiksCi0JICAgICAgICh0bGJlaGkgPj4gMTIpLCAodGxiZWxvID4+IDEyKSwKLQkgICAgICAgKHRsYmVsbyA+PiA0KSAmIDcsICh0bGJlbG8gPj4gMikgJiAzLAotCSAgICAgICAodGxiZWxvICYgMHgyMDApPycxJzonMCcsCi0JICAgICAgICh0bGJlbG8gJiAweDA4MCk/JzEnOicwJywKLQkgICAgICAgKHRsYmVsbyAmIDB4MDAxKT8nMSc6JzAnLAotCSAgICAgICAodGxiZWxvICYgMHgwMDIpPycxJzonMCcpOworCQkgICAqaW5kZXgsCisJCSAgIFNZU1JFR19CRkVYVChUTEJFSElfViwgdGxiZWhpKSA/ICcxJyA6ICcwJywKKwkJICAgU1lTUkVHX0JGRVhUKEcsIHRsYmVsbykgPyAnMScgOiAnMCcsCisJCSAgIFNZU1JFR19CRkVYVChBU0lELCB0bGJlaGkpLAorCQkgICBTWVNSRUdfQkZFWFQoVlBOLCB0bGJlaGkpID4+IDIsCisJCSAgIFNZU1JFR19CRkVYVChQRk4sIHRsYmVsbykgPj4gMiwKKwkJICAgU1lTUkVHX0JGRVhUKEFQLCB0bGJlbG8pLAorCQkgICBTWVNSRUdfQkZFWFQoU1osIHRsYmVsbyksCisJCSAgIFNZU1JFR19CRkVYVChUTEJFTE9fQywgdGxiZWxvKSA/ICcxJyA6ICcwJywKKwkJICAgU1lTUkVHX0JGRVhUKEIsIHRsYmVsbykgPyAnMScgOiAnMCcsCisJCSAgIFNZU1JFR19CRkVYVChXLCB0bGJlbG8pID8gJzEnIDogJzAnLAorCQkgICBTWVNSRUdfQkZFWFQoVExCRUxPX0QsIHRsYmVsbykgPyAnMScgOiAnMCcpOwogCiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9hcmNoL2JsYWNrZmluL21hY2gtYmY1NjEvY29yZWIuYyBiL2FyY2gvYmxhY2tmaW4vbWFjaC1iZjU2MS9jb3JlYi5jCmluZGV4IDFiNDRlOWUuLjg1OTgwOTggMTAwNjQ0Ci0tLSBhL2FyY2gvYmxhY2tmaW4vbWFjaC1iZjU2MS9jb3JlYi5jCisrKyBiL2FyY2gvYmxhY2tmaW4vbWFjaC1iZjU2MS9jb3JlYi5jCkBAIC0xOTQsNiArMTk0LDcgQEAKIAlyZXR1cm4gcmV0OwogfQogCisvKiBObyBCS0wgbmVlZGVkIGhlcmUgKi8KIHN0YXRpYyBpbnQgY29yZWJfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKIAlzcGluX2xvY2tfaXJxKCZjb3JlYl9sb2NrKTsKZGlmZiAtLWdpdCBhL2FyY2gvY3Jpcy9hcmNoLXYxMC9kcml2ZXJzL2VlcHJvbS5jIGIvYXJjaC9jcmlzL2FyY2gtdjEwL2RyaXZlcnMvZWVwcm9tLmMKaW5kZXggZjFjYWM5ZC4uMWYyYWU5MCAxMDA2NDQKLS0tIGEvYXJjaC9jcmlzL2FyY2gtdjEwL2RyaXZlcnMvZWVwcm9tLmMKKysrIGIvYXJjaC9jcmlzL2FyY2gtdjEwL2RyaXZlcnMvZWVwcm9tLmMKQEAgLTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KICNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3dhaXQuaD4KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogI2luY2x1ZGUgImkyYy5oIgpAQCAtMzc1LDEwICszNzYsOSBAQAogfQogCiAvKiBPcGVucyB0aGUgZGV2aWNlLiAqLwotCiBzdGF0aWMgaW50IGVlcHJvbV9vcGVuKHN0cnVjdCBpbm9kZSAqIGlub2RlLCBzdHJ1Y3QgZmlsZSAqIGZpbGUpCiB7Ci0KKyAgY3ljbGVfa2VybmVsX2xvY2soKTsKICAgaWYoaW1pbm9yKGlub2RlKSAhPSBFRVBST01fTUlOT1JfTlIpCiAgICAgIHJldHVybiAtRU5YSU87CiAgIGlmKGltYWpvcihpbm9kZSkgIT0gRUVQUk9NX01BSk9SX05SKQpkaWZmIC0tZ2l0IGEvYXJjaC9jcmlzL2FyY2gtdjEwL2RyaXZlcnMvZ3Bpby5jIGIvYXJjaC9jcmlzL2FyY2gtdjEwL2RyaXZlcnMvZ3Bpby5jCmluZGV4IDY4YTk5OGIuLjg2MDQ4ZTYgMTAwNjQ0Ci0tLSBhL2FyY2gvY3Jpcy9hcmNoLXYxMC9kcml2ZXJzL2dwaW8uYworKysgYi9hcmNoL2NyaXMvYXJjaC12MTAvZHJpdmVycy9ncGlvLmMKQEAgLTE2LDYgKzE2LDcgQEAKICNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgogI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KICNpbmNsdWRlIDxsaW51eC9wb2xsLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgpAQCAtMzIzLDYgKzMyNCw3IEBACiAJaWYgKCFwcml2KQogCQlyZXR1cm4gLUVOT01FTTsKIAorCWxvY2tfa2VybmVsKCk7CiAJcHJpdi0+bWlub3IgPSBwOwogCiAJLyogaW5pdGlhbGl6ZSB0aGUgaW8vYWxhcm0gc3RydWN0ICovCkBAIC0zNTcsNiArMzU5LDcgQEAKIAlhbGFybWxpc3QgPSBwcml2OwogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmdwaW9fbG9jaywgZmxhZ3MpOwogCisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9hcmNoL2NyaXMvYXJjaC12MTAvZHJpdmVycy9pMmMuYyBiL2FyY2gvY3Jpcy9hcmNoLXYxMC9kcml2ZXJzL2kyYy5jCmluZGV4IGQ2ZDIyMDYuLjI3OTdlNjcgMTAwNjQ0Ci0tLSBhL2FyY2gvY3Jpcy9hcmNoLXYxMC9kcml2ZXJzL2kyYy5jCisrKyBiL2FyY2gvY3Jpcy9hcmNoLXYxMC9kcml2ZXJzL2kyYy5jCkBAIC0xNSw2ICsxNSw3IEBACiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgogI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CkBAIC01NjYsNiArNTY3LDcgQEAKIHN0YXRpYyBpbnQKIGkyY19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxwKQogeworCWN5Y2xlX2tlcm5lbF9sb2NrKCk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2FyY2gvY3Jpcy9hcmNoLXYxMC9kcml2ZXJzL3N5bmNfc2VyaWFsLmMgYi9hcmNoL2NyaXMvYXJjaC12MTAvZHJpdmVycy9zeW5jX3NlcmlhbC5jCmluZGV4IDA2OTU0NmUuLjkxZmVhNjIgMTAwNjQ0Ci0tLSBhL2FyY2gvY3Jpcy9hcmNoLXYxMC9kcml2ZXJzL3N5bmNfc2VyaWFsLmMKKysrIGIvYXJjaC9jcmlzL2FyY2gtdjEwL2RyaXZlcnMvc3luY19zZXJpYWwuYwpAQCAtMjEsNiArMjEsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgogI2luY2x1ZGUgPGxpbnV4L3BvbGwuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC90aW1lci5oPgogI2luY2x1ZGUgPGFzbS9pcnEuaD4KICNpbmNsdWRlIDxhc20vZG1hLmg+CkBAIC00NDMsMTggKzQ0NCwyMSBAQAogCWludCBkZXYgPSBNSU5PUihpbm9kZS0+aV9yZGV2KTsKIAlzdHJ1Y3Qgc3luY19wb3J0ICpwb3J0OwogCWludCBtb2RlOworCWludCBlcnIgPSAtRUJVU1k7CiAKKwlsb2NrX2tlcm5lbCgpOwogCURFQlVHKHByaW50ayhLRVJOX0RFQlVHICJPcGVuIHN5bmMgc2VyaWFsIHBvcnQgJWRcbiIsIGRldikpOwogCiAJaWYgKGRldiA8IDAgfHwgZGV2ID49IE5VTUJFUl9PRl9QT1JUUyB8fCAhcG9ydHNbZGV2XS5lbmFibGVkKSB7CiAJCURFQlVHKHByaW50ayhLRVJOX0RFQlVHICJJbnZhbGlkIG1pbm9yICVkXG4iLCBkZXYpKTsKLQkJcmV0dXJuIC1FTk9ERVY7CisJCWVyciA9IC1FTk9ERVY7CisJCWdvdG8gb3V0OwogCX0KIAlwb3J0ID0gJnBvcnRzW2Rldl07CiAJLyogQWxsb3cgb3BlbiB0aGlzIGRldmljZSB0d2ljZSAoYXNzdW1pbmcgb25lIHJlYWRlciBhbmQgb25lIHdyaXRlcikgKi8KIAlpZiAocG9ydC0+YnVzeSA9PSAyKSB7CiAJCURFQlVHKHByaW50ayhLRVJOX0RFQlVHICJEZXZpY2UgaXMgYnVzeS4uIFxuIikpOwotCQlyZXR1cm4gLUVCVVNZOworCQlnb3RvIG91dDsKIAl9CiAJaWYgKHBvcnQtPmluaXRfaXJxcykgewogCQlpZiAocG9ydC0+dXNlX2RtYSkgewpAQCAtNDY1LDE0ICs0NjksMTQgQEAKIAkJCQkJCSZwb3J0c1swXSkpIHsKIAkJCQkJcHJpbnRrKEtFUk5fQ1JJVCAiQ2FuJ3QgYWxsb2MgIgogCQkJCQkJInN5bmMgc2VyaWFsIHBvcnQgMSBJUlEiKTsKLQkJCQkJcmV0dXJuIC1FQlVTWTsKKwkJCQkJZ290byBvdXQ7CiAJCQkJfSBlbHNlIGlmIChyZXF1ZXN0X2lycSgyNSwgcnhfaW50ZXJydXB0LCAwLAogCQkJCQkJInN5bmNocm9ub3VzIHNlcmlhbCAxIGRtYSByeCIsCiAJCQkJCQkmcG9ydHNbMF0pKSB7CiAJCQkJCWZyZWVfaXJxKDI0LCAmcG9ydFswXSk7CiAJCQkJCXByaW50ayhLRVJOX0NSSVQgIkNhbid0IGFsbG9jICIKIAkJCQkJCSJzeW5jIHNlcmlhbCBwb3J0IDEgSVJRIik7Ci0JCQkJCXJldHVybiAtRUJVU1k7CisJCQkJCWdvdG8gb3V0OwogCQkJCX0gZWxzZSBpZiAoY3Jpc19yZXF1ZXN0X2RtYSg4LAogCQkJCQkJInN5bmNocm9ub3VzIHNlcmlhbCAxIGRtYSB0ciIsCiAJCQkJCQlETUFfVkVSQk9TRV9PTl9FUlJPUiwKQEAgLTQ4Miw3ICs0ODYsNyBAQAogCQkJCQlwcmludGsoS0VSTl9DUklUICJDYW4ndCBhbGxvYyAiCiAJCQkJCQkic3luYyBzZXJpYWwgcG9ydCAxICIKIAkJCQkJCSJUWCBETUEgY2hhbm5lbCIpOwotCQkJCQlyZXR1cm4gLUVCVVNZOworCQkJCQlnb3RvIG91dDsKIAkJCQl9IGVsc2UgaWYgKGNyaXNfcmVxdWVzdF9kbWEoOSwKIAkJCQkJCSJzeW5jaHJvbm91cyBzZXJpYWwgMSBkbWEgcmVjIiwKIAkJCQkJCURNQV9WRVJCT1NFX09OX0VSUk9SLApAQCAtNDkzLDcgKzQ5Nyw3IEBACiAJCQkJCXByaW50ayhLRVJOX0NSSVQgIkNhbid0IGFsbG9jICIKIAkJCQkJCSJzeW5jIHNlcmlhbCBwb3J0IDEgIgogCQkJCQkJIlJYIERNQSBjaGFubmVsIik7Ci0JCQkJCXJldHVybiAtRUJVU1k7CisJCQkJCWdvdG8gb3V0OwogCQkJCX0KICNlbmRpZgogCQkJCVJFU0VUX0RNQSg4KTsgV0FJVF9ETUEoOCk7CkBAIC01MjAsMTQgKzUyNCwxNCBAQAogCQkJCQkJJnBvcnRzWzFdKSkgewogCQkJCQlwcmludGsoS0VSTl9DUklUICJDYW4ndCBhbGxvYyAiCiAJCQkJCQkic3luYyBzZXJpYWwgcG9ydCAzIElSUSIpOwotCQkJCQlyZXR1cm4gLUVCVVNZOworCQkJCQlnb3RvIG91dDsKIAkJCQl9IGVsc2UgaWYgKHJlcXVlc3RfaXJxKDIxLCByeF9pbnRlcnJ1cHQsIDAsCiAJCQkJCQkic3luY2hyb25vdXMgc2VyaWFsIDMgZG1hIHJ4IiwKIAkJCQkJCSZwb3J0c1sxXSkpIHsKIAkJCQkJZnJlZV9pcnEoMjAsICZwb3J0c1sxXSk7CiAJCQkJCXByaW50ayhLRVJOX0NSSVQgIkNhbid0IGFsbG9jICIKIAkJCQkJCSJzeW5jIHNlcmlhbCBwb3J0IDMgSVJRIik7Ci0JCQkJCXJldHVybiAtRUJVU1k7CisJCQkJCWdvdG8gb3V0OwogCQkJCX0gZWxzZSBpZiAoY3Jpc19yZXF1ZXN0X2RtYSg0LAogCQkJCQkJInN5bmNocm9ub3VzIHNlcmlhbCAzIGRtYSB0ciIsCiAJCQkJCQlETUFfVkVSQk9TRV9PTl9FUlJPUiwKQEAgLTUzNyw3ICs1NDEsNyBAQAogCQkJCQlwcmludGsoS0VSTl9DUklUICJDYW4ndCBhbGxvYyAiCiAJCQkJCQkic3luYyBzZXJpYWwgcG9ydCAzICIKIAkJCQkJCSJUWCBETUEgY2hhbm5lbCIpOwotCQkJCQlyZXR1cm4gLUVCVVNZOworCQkJCQlnb3RvIG91dDsKIAkJCQl9IGVsc2UgaWYgKGNyaXNfcmVxdWVzdF9kbWEoNSwKIAkJCQkJCSJzeW5jaHJvbm91cyBzZXJpYWwgMyBkbWEgcmVjIiwKIAkJCQkJCURNQV9WRVJCT1NFX09OX0VSUk9SLApAQCAtNTQ4LDcgKzU1Miw3IEBACiAJCQkJCXByaW50ayhLRVJOX0NSSVQgIkNhbid0IGFsbG9jICIKIAkJCQkJCSJzeW5jIHNlcmlhbCBwb3J0IDMgIgogCQkJCQkJIlJYIERNQSBjaGFubmVsIik7Ci0JCQkJCXJldHVybiAtRUJVU1k7CisJCQkJCWdvdG8gb3V0OwogCQkJCX0KICNlbmRpZgogCQkJCVJFU0VUX0RNQSg0KTsgV0FJVF9ETUEoNCk7CkBAIC01ODEsNyArNTg1LDcgQEAKIAkJCQkJCSZwb3J0c1swXSkpIHsKIAkJCQkJcHJpbnRrKEtFUk5fQ1JJVCAiQ2FuJ3QgYWxsb2MgIgogCQkJCQkJInN5bmMgc2VyaWFsIG1hbnVhbCBpcnEiKTsKLQkJCQkJcmV0dXJuIC1FQlVTWTsKKwkJCQkJZ290byBvdXQ7CiAJCQkJfQogCQkJfSBlbHNlIGlmIChwb3J0ID09ICZwb3J0c1sxXSkgewogCQkJCWlmIChyZXF1ZXN0X2lycSg4LApAQCAtNTkxLDcgKzU5NSw3IEBACiAJCQkJCQkmcG9ydHNbMV0pKSB7CiAJCQkJCXByaW50ayhLRVJOX0NSSVQgIkNhbid0IGFsbG9jICIKIAkJCQkJCSJzeW5jIHNlcmlhbCBtYW51YWwgaXJxIik7Ci0JCQkJCXJldHVybiAtRUJVU1k7CisJCQkJCWdvdG8gb3V0OwogCQkJCX0KIAkJCX0KIAkJCXBvcnQtPmluaXRfaXJxcyA9IDA7CkBAIC02MjAsNyArNjI0LDExIEBACiAJCQkqUl9JUlFfTUFTSzFfU0VUID0gMSA8PCBwb3J0LT5kYXRhX2F2YWlsX2JpdDsKIAkJREVCVUcocHJpbnRrKEtFUk5fREVCVUcgInNzZXIlZCByZWMgc3RhcnRlZFxuIiwgZGV2KSk7CiAJfQotCXJldHVybiAwOworCXJldCA9IDA7CisJCitvdXQ6CisJdW5sb2NrX2tlcm5lbCgpOworCXJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyBpbnQgc3luY19zZXJpYWxfcmVsZWFzZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKZGlmZiAtLWdpdCBhL2FyY2gvY3Jpcy9hcmNoLXYzMi9kcml2ZXJzL2NyeXB0b2NvcC5jIGIvYXJjaC9jcmlzL2FyY2gtdjMyL2RyaXZlcnMvY3J5cHRvY29wLmMKaW5kZXggOWZiNTgyMC4uNjdjNjFlYSAxMDA2NDQKLS0tIGEvYXJjaC9jcmlzL2FyY2gtdjMyL2RyaXZlcnMvY3J5cHRvY29wLmMKKysrIGIvYXJjaC9jcmlzL2FyY2gtdjMyL2RyaXZlcnMvY3J5cHRvY29wLmMKQEAgLTExLDYgKzExLDcgQEAKICNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KICNpbmNsdWRlIDxsaW51eC9mcy5oPgogI2luY2x1ZGUgPGxpbnV4L21tLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3N0ZGRlZi5oPgogCkBAIC0yMzAyLDExICsyMzAzLDExIEBACiAJcmV0dXJuIDA7CiB9CiAKLQogc3RhdGljIGludCBjcnlwdG9jb3Bfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlscCkKIHsKIAlpbnQgcCA9IGltaW5vcihpbm9kZSk7CiAKKwljeWNsZV9rZXJuZWxfbG9jaygpOwogCWlmIChwICE9IENSWVBUT0NPUF9NSU5PUikgcmV0dXJuIC1FSU5WQUw7CiAKIAlmaWxwLT5wcml2YXRlX2RhdGEgPSBOVUxMOwpkaWZmIC0tZ2l0IGEvYXJjaC9jcmlzL2FyY2gtdjMyL2RyaXZlcnMvaTJjLmMgYi9hcmNoL2NyaXMvYXJjaC12MzIvZHJpdmVycy9pMmMuYwppbmRleCBjMmZiN2E1Li4xNzllN2I4IDEwMDY0NAotLS0gYS9hcmNoL2NyaXMvYXJjaC12MzIvZHJpdmVycy9pMmMuYworKysgYi9hcmNoL2NyaXMvYXJjaC12MzIvZHJpdmVycy9pMmMuYwpAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvc3RyaW5nLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICNpbmNsdWRlIDxhc20vZXRyYXhpMmMuaD4KIApAQCAtNjM2LDYgKzYzNyw3IEBACiBzdGF0aWMgaW50CiBpMmNfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlscCkKIHsKKwljeWNsZV9rZXJuZWxfbG9jaygpOwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9hcmNoL2NyaXMvYXJjaC12MzIvZHJpdmVycy9tYWNoLWEzL2dwaW8uYyBiL2FyY2gvY3Jpcy9hcmNoLXYzMi9kcml2ZXJzL21hY2gtYTMvZ3Bpby5jCmluZGV4IGRlMTA3ZGEuLmVmOTg2MDggMTAwNjQ0Ci0tLSBhL2FyY2gvY3Jpcy9hcmNoLXYzMi9kcml2ZXJzL21hY2gtYTMvZ3Bpby5jCisrKyBiL2FyY2gvY3Jpcy9hcmNoLXYzMi9kcml2ZXJzL21hY2gtYTMvZ3Bpby5jCkBAIC0yMyw2ICsyMyw3IEBACiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgogI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogI2luY2x1ZGUgPGFzbS9ldHJheGdwaW8uaD4KICNpbmNsdWRlIDxod3JlZ3MvcmVnX21hcC5oPgpAQCAtMzkwLDYgKzM5MSw4IEBACiAKIAlpZiAoIXByaXYpCiAJCXJldHVybiAtRU5PTUVNOworCisJbG9ja19rZXJuZWwoKTsKIAltZW1zZXQocHJpdiwgMCwgc2l6ZW9mKCpwcml2KSk7CiAKIAlwcml2LT5taW5vciA9IHA7CkBAIC00MTIsNiArNDE1LDcgQEAKIAkJc3Bpbl91bmxvY2tfaXJxKCZncGlvX2xvY2spOwogCX0KIAorCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvYXJjaC9jcmlzL2FyY2gtdjMyL2RyaXZlcnMvbWFjaC1mcy9ncGlvLmMgYi9hcmNoL2NyaXMvYXJjaC12MzIvZHJpdmVycy9tYWNoLWZzL2dwaW8uYwppbmRleCA3ODYzZmQ0Li5mZTFmZGU4IDEwMDY0NAotLS0gYS9hcmNoL2NyaXMvYXJjaC12MzIvZHJpdmVycy9tYWNoLWZzL2dwaW8uYworKysgYi9hcmNoL2NyaXMvYXJjaC12MzIvZHJpdmVycy9tYWNoLWZzL2dwaW8uYwpAQCAtMjIsNiArMjIsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KICNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICNpbmNsdWRlIDxhc20vZXRyYXhncGlvLmg+CiAjaW5jbHVkZSA8aHdyZWdzL3JlZ19tYXAuaD4KQEAgLTQyNiw5ICs0MjcsMTAgQEAKIAkJcmV0dXJuIC1FSU5WQUw7CiAKIAlwcml2ID0ga21hbGxvYyhzaXplb2Yoc3RydWN0IGdwaW9fcHJpdmF0ZSksIEdGUF9LRVJORUwpOwotCiAJaWYgKCFwcml2KQogCQlyZXR1cm4gLUVOT01FTTsKKworCWxvY2tfa2VybmVsKCk7CiAJbWVtc2V0KHByaXYsIDAsIHNpemVvZigqcHJpdikpOwogCiAJcHJpdi0+bWlub3IgPSBwOwpAQCAtNDQ5LDYgKzQ1MSw3IEBACiAJYWxhcm1saXN0ID0gcHJpdjsKIAlzcGluX3VubG9ja19pcnEoJmFsYXJtX2xvY2spOwogCisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9hcmNoL2NyaXMvYXJjaC12MzIvZHJpdmVycy9zeW5jX3NlcmlhbC5jIGIvYXJjaC9jcmlzL2FyY2gtdjMyL2RyaXZlcnMvc3luY19zZXJpYWwuYwppbmRleCA0N2MzNzdkLi5kMmEwZmJmIDEwMDY0NAotLS0gYS9hcmNoL2NyaXMvYXJjaC12MzIvZHJpdmVycy9zeW5jX3NlcmlhbC5jCisrKyBiL2FyY2gvY3Jpcy9hcmNoLXYzMi9kcml2ZXJzL3N5bmNfc2VyaWFsLmMKQEAgLTE0LDYgKzE0LDcgQEAKICNpbmNsdWRlIDxsaW51eC9tYWpvci5oPgogI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CiAjaW5jbHVkZSA8bGludXgvcG9sbC5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KQEAgLTQyOSwyMyArNDMwLDI2IEBACiBzdGF0aWMgaW50IHN5bmNfc2VyaWFsX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCiB7CiAJaW50IGRldiA9IGltaW5vcihpbm9kZSk7CisJaW50IHJldCA9IC1FQlVTWTsKIAlzeW5jX3BvcnQgKnBvcnQ7CiAJcmVnX2RtYV9yd19jZmcgY2ZnID0gey5lbiA9IHJlZ2tfZG1hX3llc307CiAJcmVnX2RtYV9yd19pbnRyX21hc2sgaW50cl9tYXNrID0gey5kYXRhID0gcmVna19kbWFfeWVzfTsKIAorCWxvY2tfa2VybmVsKCk7CiAJREVCVUcocHJpbnRrKEtFUk5fREVCVUcgIk9wZW4gc3luYyBzZXJpYWwgcG9ydCAlZFxuIiwgZGV2KSk7CiAKIAlpZiAoZGV2IDwgMCB8fCBkZXYgPj0gTkJSX1BPUlRTIHx8ICFwb3J0c1tkZXZdLmVuYWJsZWQpCiAJewogCQlERUJVRyhwcmludGsoS0VSTl9ERUJVRyAiSW52YWxpZCBtaW5vciAlZFxuIiwgZGV2KSk7Ci0JCXJldHVybiAtRU5PREVWOworCQlyZXQgPSAtRU5PREVWOworCQlnb3RvIG91dDsKIAl9CiAJcG9ydCA9ICZwb3J0c1tkZXZdOwogCS8qIEFsbG93IG9wZW4gdGhpcyBkZXZpY2UgdHdpY2UgKGFzc3VtaW5nIG9uZSByZWFkZXIgYW5kIG9uZSB3cml0ZXIpICovCiAJaWYgKHBvcnQtPmJ1c3kgPT0gMikKIAl7CiAJCURFQlVHKHByaW50ayhLRVJOX0RFQlVHICJEZXZpY2UgaXMgYnVzeS4uIFxuIikpOwotCQlyZXR1cm4gLUVCVVNZOworCQlnb3RvIG91dDsKIAl9CiAKIApAQCAtNDU5LDcgKzQ2Myw3IEBACiAJCQkJCQkic3luY2hyb25vdXMgc2VyaWFsIDAgZG1hIHRyIiwKIAkJCQkJCSZwb3J0c1swXSkpIHsKIAkJCQkJcHJpbnRrKEtFUk5fQ1JJVCAiQ2FuJ3QgYWxsb2NhdGUgc3luYyBzZXJpYWwgcG9ydCAwIElSUSIpOwotCQkJCQlyZXR1cm4gLUVCVVNZOworCQkJCQlnb3RvIG91dDsKIAkJCQl9IGVsc2UgaWYgKHJlcXVlc3RfaXJxKERNQV9JTl9JTlRSX1ZFQ1QsCiAJCQkJCQlyeF9pbnRlcnJ1cHQsCiAJCQkJCQkwLApAQCAtNDY3LDcgKzQ3MSw3IEBACiAJCQkJCQkmcG9ydHNbMF0pKSB7CiAJCQkJCWZyZWVfaXJxKERNQV9PVVRfSU5UUl9WRUNULCAmcG9ydFswXSk7CiAJCQkJCXByaW50ayhLRVJOX0NSSVQgIkNhbid0IGFsbG9jYXRlIHN5bmMgc2VyaWFsIHBvcnQgMCBJUlEiKTsKLQkJCQkJcmV0dXJuIC1FQlVTWTsKKwkJCQkJZ290byBvdXQ7CiAJCQkJfSBlbHNlIGlmIChjcmlzdjMyX3JlcXVlc3RfZG1hKE9VVF9ETUFfTkJSLAogCQkJCQkJInN5bmNocm9ub3VzIHNlcmlhbCAwIGRtYSB0ciIsCiAJCQkJCQlETUFfVkVSQk9TRV9PTl9FUlJPUiwKQEAgLTQ3Niw3ICs0ODAsNyBAQAogCQkJCQlmcmVlX2lycShETUFfT1VUX0lOVFJfVkVDVCwgJnBvcnRbMF0pOwogCQkJCQlmcmVlX2lycShETUFfSU5fSU5UUl9WRUNULCAmcG9ydFswXSk7CiAJCQkJCXByaW50ayhLRVJOX0NSSVQgIkNhbid0IGFsbG9jYXRlIHN5bmMgc2VyaWFsIHBvcnQgMCBUWCBETUEgY2hhbm5lbCIpOwotCQkJCQlyZXR1cm4gLUVCVVNZOworCQkJCQlnb3RvIG91dDsKIAkJCQl9IGVsc2UgaWYgKGNyaXN2MzJfcmVxdWVzdF9kbWEoSU5fRE1BX05CUiwKIAkJCQkJCSJzeW5jaHJvbm91cyBzZXJpYWwgMCBkbWEgcmVjIiwKIAkJCQkJCURNQV9WRVJCT1NFX09OX0VSUk9SLApAQCAtNDg2LDcgKzQ5MCw3IEBACiAJCQkJCWZyZWVfaXJxKERNQV9PVVRfSU5UUl9WRUNULCAmcG9ydFswXSk7CiAJCQkJCWZyZWVfaXJxKERNQV9JTl9JTlRSX1ZFQ1QsICZwb3J0WzBdKTsKIAkJCQkJcHJpbnRrKEtFUk5fQ1JJVCAiQ2FuJ3QgYWxsb2NhdGUgc3luYyBzZXJpYWwgcG9ydCAxIFJYIERNQSBjaGFubmVsIik7Ci0JCQkJCXJldHVybiAtRUJVU1k7CisJCQkJCWdvdG8gb3V0OwogCQkJCX0KICNlbmRpZgogCQkJfQpAQCAtNDk5LDcgKzUwMyw3IEBACiAJCQkJCQkic3luY2hyb25vdXMgc2VyaWFsIDEgZG1hIHRyIiwKIAkJCQkJCSZwb3J0c1sxXSkpIHsKIAkJCQkJcHJpbnRrKEtFUk5fQ1JJVCAiQ2FuJ3QgYWxsb2NhdGUgc3luYyBzZXJpYWwgcG9ydCAxIElSUSIpOwotCQkJCQlyZXR1cm4gLUVCVVNZOworCQkJCQlnb3RvIG91dDsKIAkJCQl9IGVsc2UgaWYgKHJlcXVlc3RfaXJxKERNQTdfSU5UUl9WRUNULAogCQkJCQkJICAgICAgIHJ4X2ludGVycnVwdCwKIAkJCQkJCSAgICAgICAwLApAQCAtNTA3LDcgKzUxMSw3IEBACiAJCQkJCQkgICAgICAgJnBvcnRzWzFdKSkgewogCQkJCQlmcmVlX2lycShETUE2X0lOVFJfVkVDVCwgJnBvcnRzWzFdKTsKIAkJCQkJcHJpbnRrKEtFUk5fQ1JJVCAiQ2FuJ3QgYWxsb2NhdGUgc3luYyBzZXJpYWwgcG9ydCAzIElSUSIpOwotCQkJCQlyZXR1cm4gLUVCVVNZOworCQkJCQlnb3RvIG91dDsKIAkJCQl9IGVsc2UgaWYgKGNyaXN2MzJfcmVxdWVzdF9kbWEoCiAJCQkJCQlTWU5DX1NFUjFfVFhfRE1BX05CUiwKIAkJCQkJCSJzeW5jaHJvbm91cyBzZXJpYWwgMSBkbWEgdHIiLApAQCAtNTE3LDcgKzUyMSw3IEBACiAJCQkJCWZyZWVfaXJxKERNQTZfSU5UUl9WRUNULCAmcG9ydHNbMV0pOwogCQkJCQlmcmVlX2lycShETUE3X0lOVFJfVkVDVCwgJnBvcnRzWzFdKTsKIAkJCQkJcHJpbnRrKEtFUk5fQ1JJVCAiQ2FuJ3QgYWxsb2NhdGUgc3luYyBzZXJpYWwgcG9ydCAzIFRYIERNQSBjaGFubmVsIik7Ci0JCQkJCXJldHVybiAtRUJVU1k7CisJCQkJCWdvdG8gb3V0OwogCQkJCX0gZWxzZSBpZiAoY3Jpc3YzMl9yZXF1ZXN0X2RtYSgKIAkJCQkJCVNZTkNfU0VSMV9SWF9ETUFfTkJSLAogCQkJCQkJInN5bmNocm9ub3VzIHNlcmlhbCAzIGRtYSByZWMiLApAQCAtNTI4LDcgKzUzMiw3IEBACiAJCQkJCWZyZWVfaXJxKERNQTZfSU5UUl9WRUNULCAmcG9ydHNbMV0pOwogCQkJCQlmcmVlX2lycShETUE3X0lOVFJfVkVDVCwgJnBvcnRzWzFdKTsKIAkJCQkJcHJpbnRrKEtFUk5fQ1JJVCAiQ2FuJ3QgYWxsb2NhdGUgc3luYyBzZXJpYWwgcG9ydCAzIFJYIERNQSBjaGFubmVsIik7Ci0JCQkJCXJldHVybiAtRUJVU1k7CisJCQkJCWdvdG8gb3V0OwogCQkJCX0KICNlbmRpZgogCQkJfQpAQCAtNTU0LDcgKzU1OCw3IEBACiAJCQkJCQkic3luY2hyb25vdXMgc2VyaWFsIG1hbnVhbCBpcnEiLAogCQkJCQkJJnBvcnRzWzBdKSkgewogCQkJCQlwcmludGsoIkNhbid0IGFsbG9jYXRlIHN5bmMgc2VyaWFsIG1hbnVhbCBpcnEiKTsKLQkJCQkJcmV0dXJuIC1FQlVTWTsKKwkJCQkJZ290byBvdXQ7CiAJCQkJfQogCQkJfQogI2lmZGVmIENPTkZJR19FVFJBWEZTCkBAIC01NjUsNyArNTY5LDcgQEAKIAkJCQkJCSJzeW5jaHJvbm91cyBzZXJpYWwgbWFudWFsIGlycSIsCiAJCQkJCQkmcG9ydHNbMV0pKSB7CiAJCQkJCXByaW50ayhLRVJOX0NSSVQgIkNhbid0IGFsbG9jYXRlIHN5bmMgc2VyaWFsIG1hbnVhbCBpcnEiKTsKLQkJCQkJcmV0dXJuIC1FQlVTWTsKKwkJCQkJZ290byBvdXQ7CiAJCQkJfQogCQkJfQogI2VuZGlmCkBAIC01NzgsNyArNTgyLDEwIEBACiAJfSAvKiBwb3J0LT5pbml0X2lycXMgKi8KIAogCXBvcnQtPmJ1c3krKzsKLQlyZXR1cm4gMDsKKwlyZXQgPSAwOworb3V0OgorCXVubG9ja19rZXJuZWwoKTsKKwlyZXR1cm4gcmV0OwogfQogCiBzdGF0aWMgaW50IHN5bmNfc2VyaWFsX3JlbGVhc2Uoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCmRpZmYgLS1naXQgYS9hcmNoL2NyaXMvYXJjaC12MzIva2VybmVsL3NtcC5jIGIvYXJjaC9jcmlzL2FyY2gtdjMyL2tlcm5lbC9zbXAuYwppbmRleCBhOWMzMzM0Li45NTJhMjRiIDEwMDY0NAotLS0gYS9hcmNoL2NyaXMvYXJjaC12MzIva2VybmVsL3NtcC5jCisrKyBiL2FyY2gvY3Jpcy9hcmNoLXYzMi9rZXJuZWwvc21wLmMKQEAgLTE5NCw3ICsxOTQsNyBAQAogLyogT3RoZXIgY2FsbHMgKi8KIHZvaWQgc21wX3NlbmRfc3RvcCh2b2lkKQogewotCXNtcF9jYWxsX2Z1bmN0aW9uKHN0b3BfdGhpc19jcHUsIE5VTEwsIDEsIDApOworCXNtcF9jYWxsX2Z1bmN0aW9uKHN0b3BfdGhpc19jcHUsIE5VTEwsIDApOwogfQogCiBpbnQgc2V0dXBfcHJvZmlsaW5nX3RpbWVyKHVuc2lnbmVkIGludCBtdWx0aXBsaWVyKQpAQCAtMzE2LDggKzMxNiw3IEBACiAgKiBZb3UgbXVzdCBub3QgY2FsbCB0aGlzIGZ1bmN0aW9uIHdpdGggZGlzYWJsZWQgaW50ZXJydXB0cyBvciBmcm9tIGEKICAqIGhhcmR3YXJlIGludGVycnVwdCBoYW5kbGVyIG9yIGZyb20gYSBib3R0b20gaGFsZiBoYW5kbGVyLgogICovCi1pbnQgc21wX2NhbGxfZnVuY3Rpb24odm9pZCAoKmZ1bmMpKHZvaWQgKmluZm8pLCB2b2lkICppbmZvLAotCQkgICAgICBpbnQgbm9uYXRvbWljLCBpbnQgd2FpdCkKK2ludCBzbXBfY2FsbF9mdW5jdGlvbih2b2lkICgqZnVuYykodm9pZCAqaW5mbyksIHZvaWQgKmluZm8sIGludCB3YWl0KQogewogCWNwdW1hc2tfdCBjcHVfbWFzayA9IENQVV9NQVNLX0FMTDsKIAlzdHJ1Y3QgY2FsbF9kYXRhX3N0cnVjdCBkYXRhOwpkaWZmIC0tZ2l0IGEvYXJjaC9pYTY0L0tjb25maWcgYi9hcmNoL2lhNjQvS2NvbmZpZwppbmRleCAxNmJlNDE0Li4xOGJjYzEwIDEwMDY0NAotLS0gYS9hcmNoL2lhNjQvS2NvbmZpZworKysgYi9hcmNoL2lhNjQvS2NvbmZpZwpAQCAtMzAzLDYgKzMwMyw3IEBACiAKIGNvbmZpZyBTTVAKIAlib29sICJTeW1tZXRyaWMgbXVsdGktcHJvY2Vzc2luZyBzdXBwb3J0IgorCXNlbGVjdCBVU0VfR0VORVJJQ19TTVBfSEVMUEVSUwogCWhlbHAKIAkgIFRoaXMgZW5hYmxlcyBzdXBwb3J0IGZvciBzeXN0ZW1zIHdpdGggbW9yZSB0aGFuIG9uZSBDUFUuIElmIHlvdSBoYXZlCiAJICBhIHN5c3RlbSB3aXRoIG9ubHkgb25lIENQVSwgc2F5IE4uICBJZiB5b3UgaGF2ZSBhIHN5c3RlbSB3aXRoIG1vcmUKZGlmZiAtLWdpdCBhL2FyY2gvaWE2NC9rZXJuZWwvbWNhLmMgYi9hcmNoL2lhNjQva2VybmVsL21jYS5jCmluZGV4IDcwNTE3NmIuLjdkZDk2YzEgMTAwNjQ0Ci0tLSBhL2FyY2gvaWE2NC9rZXJuZWwvbWNhLmMKKysrIGIvYXJjaC9pYTY0L2tlcm5lbC9tY2EuYwpAQCAtNzA3LDcgKzcwNyw3IEBACiBzdGF0aWMgdm9pZAogaWE2NF9tY2FfY21jX3ZlY3Rvcl9kaXNhYmxlX2tldmVudGQoc3RydWN0IHdvcmtfc3RydWN0ICp1bnVzZWQpCiB7Ci0Jb25fZWFjaF9jcHUoaWE2NF9tY2FfY21jX3ZlY3Rvcl9kaXNhYmxlLCBOVUxMLCAxLCAwKTsKKwlvbl9lYWNoX2NwdShpYTY0X21jYV9jbWNfdmVjdG9yX2Rpc2FibGUsIE5VTEwsIDApOwogfQogCiAvKgpAQCAtNzE5LDcgKzcxOSw3IEBACiBzdGF0aWMgdm9pZAogaWE2NF9tY2FfY21jX3ZlY3Rvcl9lbmFibGVfa2V2ZW50ZChzdHJ1Y3Qgd29ya19zdHJ1Y3QgKnVudXNlZCkKIHsKLQlvbl9lYWNoX2NwdShpYTY0X21jYV9jbWNfdmVjdG9yX2VuYWJsZSwgTlVMTCwgMSwgMCk7CisJb25fZWFjaF9jcHUoaWE2NF9tY2FfY21jX3ZlY3Rvcl9lbmFibGUsIE5VTEwsIDApOwogfQogCiAvKgpAQCAtMTg4MSw3ICsxODgxLDcgQEAKIAljYXNlIENQVV9PTkxJTkU6CiAJY2FzZSBDUFVfT05MSU5FX0ZST1pFTjoKIAkJc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGhvdGNwdSwgaWE2NF9tY2FfY21jX3ZlY3Rvcl9hZGp1c3QsCi0JCQkJCSBOVUxMLCAxLCAwKTsKKwkJCQkJIE5VTEwsIDApOwogCQlicmVhazsKIAl9CiAJcmV0dXJuIE5PVElGWV9PSzsKZGlmZiAtLWdpdCBhL2FyY2gvaWE2NC9rZXJuZWwvcGFsaW5mby5jIGIvYXJjaC9pYTY0L2tlcm5lbC9wYWxpbmZvLmMKaW5kZXggOWRjMDBmNy4uZTVjNTdmNCAxMDA2NDQKLS0tIGEvYXJjaC9pYTY0L2tlcm5lbC9wYWxpbmZvLmMKKysrIGIvYXJjaC9pYTY0L2tlcm5lbC9wYWxpbmZvLmMKQEAgLTkyMSw3ICs5MjEsNyBAQAogCiAKIAkvKiB3aWxsIHNlbmQgSVBJIHRvIG90aGVyIENQVSBhbmQgd2FpdCBmb3IgY29tcGxldGlvbiBvZiByZW1vdGUgY2FsbCAqLwotCWlmICgocmV0PXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShmLT5yZXFfY3B1LCBwYWxpbmZvX3NtcF9jYWxsLCAmcHRyLCAwLCAxKSkpIHsKKwlpZiAoKHJldD1zbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoZi0+cmVxX2NwdSwgcGFsaW5mb19zbXBfY2FsbCwgJnB0ciwgMSkpKSB7CiAJCXByaW50ayhLRVJOX0VSUiAicGFsaW5mbzogcmVtb3RlIENQVSBjYWxsIGZyb20gJWQgdG8gJWQgb24gZnVuY3Rpb24gJWQ6ICIKIAkJICAgICAgICJlcnJvciAlZFxuIiwgc21wX3Byb2Nlc3Nvcl9pZCgpLCBmLT5yZXFfY3B1LCBmLT5mdW5jX2lkLCByZXQpOwogCQlyZXR1cm4gMDsKZGlmZiAtLWdpdCBhL2FyY2gvaWE2NC9rZXJuZWwvcGVyZm1vbi5jIGIvYXJjaC9pYTY0L2tlcm5lbC9wZXJmbW9uLmMKaW5kZXggNzcxNGE5Ny4uMTlkNDQ5MyAxMDA2NDQKLS0tIGEvYXJjaC9pYTY0L2tlcm5lbC9wZXJmbW9uLmMKKysrIGIvYXJjaC9pYTY0L2tlcm5lbC9wZXJmbW9uLmMKQEAgLTE4MjAsNyArMTgyMCw3IEBACiAJaW50IHJldDsKIAogCURQUklOVCgoImNhbGxpbmcgQ1BVJWQgZm9yIGNsZWFudXBcbiIsIGN0eC0+Y3R4X2NwdSkpOwotCXJldCA9IHNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShjdHgtPmN0eF9jcHUsIHBmbV9zeXN3aWRlX2ZvcmNlX3N0b3AsIGN0eCwgMCwgMSk7CisJcmV0ID0gc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGN0eC0+Y3R4X2NwdSwgcGZtX3N5c3dpZGVfZm9yY2Vfc3RvcCwgY3R4LCAxKTsKIAlEUFJJTlQoKCJjYWxsZWQgQ1BVJWQgZm9yIGNsZWFudXAgcmV0PSVkXG4iLCBjdHgtPmN0eF9jcHUsIHJldCkpOwogfQogI2VuZGlmIC8qIENPTkZJR19TTVAgKi8KQEAgLTY1MDgsNyArNjUwOCw3IEBACiAJfQogCiAJLyogc2F2ZSB0aGUgY3VycmVudCBzeXN0ZW0gd2lkZSBwbXUgc3RhdGVzICovCi0JcmV0ID0gb25fZWFjaF9jcHUocGZtX2FsdF9zYXZlX3BtdV9zdGF0ZSwgTlVMTCwgMCwgMSk7CisJcmV0ID0gb25fZWFjaF9jcHUocGZtX2FsdF9zYXZlX3BtdV9zdGF0ZSwgTlVMTCwgMSk7CiAJaWYgKHJldCkgewogCQlEUFJJTlQoKCJvbl9lYWNoX2NwdSgpIGZhaWxlZDogJWRcbiIsIHJldCkpOwogCQlnb3RvIGNsZWFudXBfcmVzZXJ2ZTsKQEAgLTY1NTMsNyArNjU1Myw3IEBACiAKIAlwZm1fYWx0X2ludHJfaGFuZGxlciA9IE5VTEw7CiAKLQlyZXQgPSBvbl9lYWNoX2NwdShwZm1fYWx0X3Jlc3RvcmVfcG11X3N0YXRlLCBOVUxMLCAwLCAxKTsKKwlyZXQgPSBvbl9lYWNoX2NwdShwZm1fYWx0X3Jlc3RvcmVfcG11X3N0YXRlLCBOVUxMLCAxKTsKIAlpZiAocmV0KSB7CiAJCURQUklOVCgoIm9uX2VhY2hfY3B1KCkgZmFpbGVkOiAlZFxuIiwgcmV0KSk7CiAJfQpkaWZmIC0tZ2l0IGEvYXJjaC9pYTY0L2tlcm5lbC9wcm9jZXNzLmMgYi9hcmNoL2lhNjQva2VybmVsL3Byb2Nlc3MuYwppbmRleCBhM2EzNGI0Li5mYWJhZjA4IDEwMDY0NAotLS0gYS9hcmNoL2lhNjQva2VybmVsL3Byb2Nlc3MuYworKysgYi9hcmNoL2lhNjQva2VybmVsL3Byb2Nlc3MuYwpAQCAtMjg2LDcgKzI4Niw3IEBACiB7CiAJc21wX21iKCk7CiAJLyoga2ljayBhbGwgdGhlIENQVXMgc28gdGhhdCB0aGV5IGV4aXQgb3V0IG9mIHBtX2lkbGUgKi8KLQlzbXBfY2FsbF9mdW5jdGlvbihkb19ub3RoaW5nLCBOVUxMLCAwLCAxKTsKKwlzbXBfY2FsbF9mdW5jdGlvbihkb19ub3RoaW5nLCBOVUxMLCAxKTsKIH0KIEVYUE9SVF9TWU1CT0xfR1BMKGNwdV9pZGxlX3dhaXQpOwogCmRpZmYgLS1naXQgYS9hcmNoL2lhNjQva2VybmVsL3NtcC5jIGIvYXJjaC9pYTY0L2tlcm5lbC9zbXAuYwppbmRleCA5ODMyOTZmLi4zNjc2NDY4IDEwMDY0NAotLS0gYS9hcmNoL2lhNjQva2VybmVsL3NtcC5jCisrKyBiL2FyY2gvaWE2NC9rZXJuZWwvc21wLmMKQEAgLTYwLDI1ICs2MCw5IEBACiAKIHN0YXRpYyBERUZJTkVfUEVSX0NQVSh1bnNpZ25lZCBpbnQsIHNoYWRvd19mbHVzaF9jb3VudHNbTlJfQ1BVU10pIF9fX19jYWNoZWxpbmVfYWxpZ25lZDsKIAotCi0vKgotICogU3RydWN0dXJlIGFuZCBkYXRhIGZvciBzbXBfY2FsbF9mdW5jdGlvbigpLiBUaGlzIGlzIGRlc2lnbmVkIHRvIG1pbmltaXNlIHN0YXRpYyBtZW1vcnkKLSAqIHJlcXVpcmVtZW50cy4gSXQgYWxzbyBsb29rcyBjbGVhbmVyLgotICovCi1zdGF0aWMgIF9fY2FjaGVsaW5lX2FsaWduZWQgREVGSU5FX1NQSU5MT0NLKGNhbGxfbG9jayk7Ci0KLXN0cnVjdCBjYWxsX2RhdGFfc3RydWN0IHsKLQl2b2lkICgqZnVuYykgKHZvaWQgKmluZm8pOwotCXZvaWQgKmluZm87Ci0JbG9uZyB3YWl0OwotCWF0b21pY190IHN0YXJ0ZWQ7Ci0JYXRvbWljX3QgZmluaXNoZWQ7Ci19OwotCi1zdGF0aWMgdm9sYXRpbGUgc3RydWN0IGNhbGxfZGF0YV9zdHJ1Y3QgKmNhbGxfZGF0YTsKLQogI2RlZmluZSBJUElfQ0FMTF9GVU5DCQkwCiAjZGVmaW5lIElQSV9DUFVfU1RPUAkJMQorI2RlZmluZSBJUElfQ0FMTF9GVU5DX1NJTkdMRQkyCiAjZGVmaW5lIElQSV9LRFVNUF9DUFVfU1RPUAkzCiAKIC8qIFRoaXMgbmVlZHMgdG8gYmUgY2FjaGVsaW5lIGFsaWduZWQgYmVjYXVzZSBpdCBpcyB3cml0dGVuIHRvIGJ5ICpvdGhlciogQ1BVcy4gICovCkBAIC04Niw0MyArNzAsNiBAQAogCiBleHRlcm4gdm9pZCBjcHVfaGFsdCAodm9pZCk7CiAKLXZvaWQKLWxvY2tfaXBpX2NhbGxsb2NrKHZvaWQpCi17Ci0Jc3Bpbl9sb2NrX2lycSgmY2FsbF9sb2NrKTsKLX0KLQotdm9pZAotdW5sb2NrX2lwaV9jYWxsbG9jayh2b2lkKQotewotCXNwaW5fdW5sb2NrX2lycSgmY2FsbF9sb2NrKTsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkCi1oYW5kbGVfY2FsbF9kYXRhKHZvaWQpCi17Ci0Jc3RydWN0IGNhbGxfZGF0YV9zdHJ1Y3QgKmRhdGE7Ci0Jdm9pZCAoKmZ1bmMpKHZvaWQgKmluZm8pOwotCXZvaWQgKmluZm87Ci0JaW50IHdhaXQ7Ci0KLQkvKiByZWxlYXNlIHRoZSAncG9pbnRlciBsb2NrJyAqLwotCWRhdGEgPSAoc3RydWN0IGNhbGxfZGF0YV9zdHJ1Y3QgKiljYWxsX2RhdGE7Ci0JZnVuYyA9IGRhdGEtPmZ1bmM7Ci0JaW5mbyA9IGRhdGEtPmluZm87Ci0Jd2FpdCA9IGRhdGEtPndhaXQ7Ci0KLQltYigpOwotCWF0b21pY19pbmMoJmRhdGEtPnN0YXJ0ZWQpOwotCS8qIEF0IHRoaXMgcG9pbnQgdGhlIHN0cnVjdHVyZSBtYXkgYmUgZ29uZSB1bmxlc3Mgd2FpdCBpcyB0cnVlLiAqLwotCSgqZnVuYykoaW5mbyk7Ci0KLQkvKiBOb3RpZnkgdGhlIHNlbmRpbmcgQ1BVIHRoYXQgdGhlIHRhc2sgaXMgZG9uZS4gKi8KLQltYigpOwotCWlmICh3YWl0KQotCQlhdG9taWNfaW5jKCZkYXRhLT5maW5pc2hlZCk7Ci19Ci0KIHN0YXRpYyB2b2lkCiBzdG9wX3RoaXNfY3B1KHZvaWQpCiB7CkBAIC0xNjMsMTMgKzExMCwxNSBAQAogCQkJb3BzICY9IH4oMSA8PCB3aGljaCk7CiAKIAkJCXN3aXRjaCAod2hpY2gpIHsKLQkJCWNhc2UgSVBJX0NBTExfRlVOQzoKLQkJCQloYW5kbGVfY2FsbF9kYXRhKCk7Ci0JCQkJYnJlYWs7Ci0KIAkJCWNhc2UgSVBJX0NQVV9TVE9QOgogCQkJCXN0b3BfdGhpc19jcHUoKTsKIAkJCQlicmVhazsKKwkJCWNhc2UgSVBJX0NBTExfRlVOQzoKKwkJCQlnZW5lcmljX3NtcF9jYWxsX2Z1bmN0aW9uX2ludGVycnVwdCgpOworCQkJCWJyZWFrOworCQkJY2FzZSBJUElfQ0FMTF9GVU5DX1NJTkdMRToKKwkJCQlnZW5lcmljX3NtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZV9pbnRlcnJ1cHQoKTsKKwkJCQlicmVhazsKICNpZmRlZiBDT05GSUdfS0VYRUMKIAkJCWNhc2UgSVBJX0tEVU1QX0NQVV9TVE9QOgogCQkJCXVud19pbml0X3J1bm5pbmcoa2R1bXBfY3B1X2ZyZWV6ZSwgTlVMTCk7CkBAIC0xODcsNiArMTM2LDggQEAKIAlyZXR1cm4gSVJRX0hBTkRMRUQ7CiB9CiAKKworCiAvKgogICogQ2FsbGVkIHdpdGggcHJlZW1wdGlvbiBkaXNhYmxlZC4KICAqLwpAQCAtMzM0LDcgKzI4NSw3IEBACiB2b2lkCiBzbXBfZmx1c2hfdGxiX2FsbCAodm9pZCkKIHsKLQlvbl9lYWNoX2NwdSgodm9pZCAoKikodm9pZCAqKSlsb2NhbF9mbHVzaF90bGJfYWxsLCBOVUxMLCAxLCAxKTsKKwlvbl9lYWNoX2NwdSgodm9pZCAoKikodm9pZCAqKSlsb2NhbF9mbHVzaF90bGJfYWxsLCBOVUxMLCAxKTsKIH0KIAogdm9pZApAQCAtMzU3LDE5MyArMzA4LDE4IEBACiAJICogYW55aG93LCBhbmQgb25jZSBhIENQVSBpcyBpbnRlcnJ1cHRlZCwgdGhlIGNvc3Qgb2YgbG9jYWxfZmx1c2hfdGxiX2FsbCgpIGlzCiAJICogcmF0aGVyIHRyaXZpYWwuCiAJICovCi0Jb25fZWFjaF9jcHUoKHZvaWQgKCopKHZvaWQgKikpbG9jYWxfZmluaXNoX2ZsdXNoX3RsYl9tbSwgbW0sIDEsIDEpOworCW9uX2VhY2hfY3B1KCh2b2lkICgqKSh2b2lkICopKWxvY2FsX2ZpbmlzaF9mbHVzaF90bGJfbW0sIG1tLCAxKTsKIH0KIAotLyoKLSAqIFJ1biBhIGZ1bmN0aW9uIG9uIGEgc3BlY2lmaWMgQ1BVCi0gKiAgPGZ1bmM+CVRoZSBmdW5jdGlvbiB0byBydW4uIFRoaXMgbXVzdCBiZSBmYXN0IGFuZCBub24tYmxvY2tpbmcuCi0gKiAgPGluZm8+CUFuIGFyYml0cmFyeSBwb2ludGVyIHRvIHBhc3MgdG8gdGhlIGZ1bmN0aW9uLgotICogIDxub25hdG9taWM+CUN1cnJlbnRseSB1bnVzZWQuCi0gKiAgPHdhaXQ+CUlmIHRydWUsIHdhaXQgdW50aWwgZnVuY3Rpb24gaGFzIGNvbXBsZXRlZCBvbiBvdGhlciBDUFVzLgotICogIFtSRVRVUk5TXSAgIDAgb24gc3VjY2VzcywgZWxzZSBhIG5lZ2F0aXZlIHN0YXR1cyBjb2RlLgotICoKLSAqIERvZXMgbm90IHJldHVybiB1bnRpbCB0aGUgcmVtb3RlIENQVSBpcyBuZWFybHkgcmVhZHkgdG8gZXhlY3V0ZSA8ZnVuYz4KLSAqIG9yIGlzIG9yIGhhcyBleGVjdXRlZC4KLSAqLwotCi1pbnQKLXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZSAoaW50IGNwdWlkLCB2b2lkICgqZnVuYykgKHZvaWQgKmluZm8pLCB2b2lkICppbmZvLCBpbnQgbm9uYXRvbWljLAotCQkJICBpbnQgd2FpdCkKK3ZvaWQgYXJjaF9zZW5kX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2lwaShpbnQgY3B1KQogewotCXN0cnVjdCBjYWxsX2RhdGFfc3RydWN0IGRhdGE7Ci0JaW50IGNwdXMgPSAxOwotCWludCBtZSA9IGdldF9jcHUoKTsgLyogcHJldmVudCBwcmVlbXB0aW9uIGFuZCByZXNjaGVkdWxlIG9uIGFub3RoZXIgcHJvY2Vzc29yICovCi0KLQlpZiAoY3B1aWQgPT0gbWUpIHsKLQkJbG9jYWxfaXJxX2Rpc2FibGUoKTsKLQkJZnVuYyhpbmZvKTsKLQkJbG9jYWxfaXJxX2VuYWJsZSgpOwotCQlwdXRfY3B1KCk7Ci0JCXJldHVybiAwOwotCX0KLQotCWRhdGEuZnVuYyA9IGZ1bmM7Ci0JZGF0YS5pbmZvID0gaW5mbzsKLQlhdG9taWNfc2V0KCZkYXRhLnN0YXJ0ZWQsIDApOwotCWRhdGEud2FpdCA9IHdhaXQ7Ci0JaWYgKHdhaXQpCi0JCWF0b21pY19zZXQoJmRhdGEuZmluaXNoZWQsIDApOwotCi0Jc3Bpbl9sb2NrX2JoKCZjYWxsX2xvY2spOwotCi0JY2FsbF9kYXRhID0gJmRhdGE7Ci0JbWIoKTsJLyogZW5zdXJlIHN0b3JlIHRvIGNhbGxfZGF0YSBwcmVjZWRlcyBzZXR0aW5nIG9mIElQSV9DQUxMX0ZVTkMgKi8KLSAgCXNlbmRfSVBJX3NpbmdsZShjcHVpZCwgSVBJX0NBTExfRlVOQyk7Ci0KLQkvKiBXYWl0IGZvciByZXNwb25zZSAqLwotCXdoaWxlIChhdG9taWNfcmVhZCgmZGF0YS5zdGFydGVkKSAhPSBjcHVzKQotCQljcHVfcmVsYXgoKTsKLQotCWlmICh3YWl0KQotCQl3aGlsZSAoYXRvbWljX3JlYWQoJmRhdGEuZmluaXNoZWQpICE9IGNwdXMpCi0JCQljcHVfcmVsYXgoKTsKLQljYWxsX2RhdGEgPSBOVUxMOwotCi0Jc3Bpbl91bmxvY2tfYmgoJmNhbGxfbG9jayk7Ci0JcHV0X2NwdSgpOwotCXJldHVybiAwOworCXNlbmRfSVBJX3NpbmdsZShjcHUsIElQSV9DQUxMX0ZVTkNfU0lOR0xFKTsKIH0KLUVYUE9SVF9TWU1CT0woc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKTsKIAotLyoqCi0gKiBzbXBfY2FsbF9mdW5jdGlvbl9tYXNrKCk6IFJ1biBhIGZ1bmN0aW9uIG9uIGEgc2V0IG9mIG90aGVyIENQVXMuCi0gKiA8bWFzaz4JVGhlIHNldCBvZiBjcHVzIHRvIHJ1biBvbi4gIE11c3Qgbm90IGluY2x1ZGUgdGhlIGN1cnJlbnQgY3B1LgotICogPGZ1bmM+IAlUaGUgZnVuY3Rpb24gdG8gcnVuLiBUaGlzIG11c3QgYmUgZmFzdCBhbmQgbm9uLWJsb2NraW5nLgotICogPGluZm8+CUFuIGFyYml0cmFyeSBwb2ludGVyIHRvIHBhc3MgdG8gdGhlIGZ1bmN0aW9uLgotICogPHdhaXQ+CUlmIHRydWUsIHdhaXQgKGF0b21pY2FsbHkpIHVudGlsIGZ1bmN0aW9uCi0gKgkJaGFzIGNvbXBsZXRlZCBvbiBvdGhlciBDUFVzLgotICoKLSAqIFJldHVybnMgMCBvbiBzdWNjZXNzLCBlbHNlIGEgbmVnYXRpdmUgc3RhdHVzIGNvZGUuCi0gKgotICogSWYgQHdhaXQgaXMgdHJ1ZSwgdGhlbiByZXR1cm5zIG9uY2UgQGZ1bmMgaGFzIHJldHVybmVkOyBvdGhlcndpc2UKLSAqIGl0IHJldHVybnMganVzdCBiZWZvcmUgdGhlIHRhcmdldCBjcHUgY2FsbHMgQGZ1bmMuCi0gKgotICogWW91IG11c3Qgbm90IGNhbGwgdGhpcyBmdW5jdGlvbiB3aXRoIGRpc2FibGVkIGludGVycnVwdHMgb3IgZnJvbSBhCi0gKiBoYXJkd2FyZSBpbnRlcnJ1cHQgaGFuZGxlciBvciBmcm9tIGEgYm90dG9tIGhhbGYgaGFuZGxlci4KLSAqLwotaW50IHNtcF9jYWxsX2Z1bmN0aW9uX21hc2soY3B1bWFza190IG1hc2ssCi0JCQkgICB2b2lkICgqZnVuYykodm9pZCAqKSwgdm9pZCAqaW5mbywKLQkJCSAgIGludCB3YWl0KQordm9pZCBhcmNoX3NlbmRfY2FsbF9mdW5jdGlvbl9pcGkoY3B1bWFza190IG1hc2spCiB7Ci0Jc3RydWN0IGNhbGxfZGF0YV9zdHJ1Y3QgZGF0YTsKLQljcHVtYXNrX3QgYWxsYnV0c2VsZjsKLQlpbnQgY3B1czsKLQotCXNwaW5fbG9jaygmY2FsbF9sb2NrKTsKLQlhbGxidXRzZWxmID0gY3B1X29ubGluZV9tYXA7Ci0JY3B1X2NsZWFyKHNtcF9wcm9jZXNzb3JfaWQoKSwgYWxsYnV0c2VsZik7Ci0KLQljcHVzX2FuZChtYXNrLCBtYXNrLCBhbGxidXRzZWxmKTsKLQljcHVzID0gY3B1c193ZWlnaHQobWFzayk7Ci0JaWYgKCFjcHVzKSB7Ci0JCXNwaW5fdW5sb2NrKCZjYWxsX2xvY2spOwotCQlyZXR1cm4gMDsKLQl9Ci0KLQkvKiBDYW4gZGVhZGxvY2sgd2hlbiBjYWxsZWQgd2l0aCBpbnRlcnJ1cHRzIGRpc2FibGVkICovCi0JV0FSTl9PTihpcnFzX2Rpc2FibGVkKCkpOwotCi0JZGF0YS5mdW5jID0gZnVuYzsKLQlkYXRhLmluZm8gPSBpbmZvOwotCWF0b21pY19zZXQoJmRhdGEuc3RhcnRlZCwgMCk7Ci0JZGF0YS53YWl0ID0gd2FpdDsKLQlpZiAod2FpdCkKLQkJYXRvbWljX3NldCgmZGF0YS5maW5pc2hlZCwgMCk7Ci0KLQljYWxsX2RhdGEgPSAmZGF0YTsKLQltYigpOyAvKiBlbnN1cmUgc3RvcmUgdG8gY2FsbF9kYXRhIHByZWNlZGVzIHNldHRpbmcgb2YgSVBJX0NBTExfRlVOQyovCi0KLQkvKiBTZW5kIGEgbWVzc2FnZSB0byBvdGhlciBDUFVzICovCi0JaWYgKGNwdXNfZXF1YWwobWFzaywgYWxsYnV0c2VsZikpCi0JCXNlbmRfSVBJX2FsbGJ1dHNlbGYoSVBJX0NBTExfRlVOQyk7Ci0JZWxzZQotCQlzZW5kX0lQSV9tYXNrKG1hc2ssIElQSV9DQUxMX0ZVTkMpOwotCi0JLyogV2FpdCBmb3IgcmVzcG9uc2UgKi8KLQl3aGlsZSAoYXRvbWljX3JlYWQoJmRhdGEuc3RhcnRlZCkgIT0gY3B1cykKLQkJY3B1X3JlbGF4KCk7Ci0KLQlpZiAod2FpdCkKLQkJd2hpbGUgKGF0b21pY19yZWFkKCZkYXRhLmZpbmlzaGVkKSAhPSBjcHVzKQotCQkJY3B1X3JlbGF4KCk7Ci0JY2FsbF9kYXRhID0gTlVMTDsKLQotCXNwaW5fdW5sb2NrKCZjYWxsX2xvY2spOwotCXJldHVybiAwOwotCisJc2VuZF9JUElfbWFzayhtYXNrLCBJUElfQ0FMTF9GVU5DKTsKIH0KLUVYUE9SVF9TWU1CT0woc21wX2NhbGxfZnVuY3Rpb25fbWFzayk7Ci0KLS8qCi0gKiB0aGlzIGZ1bmN0aW9uIHNlbmRzIGEgJ2dlbmVyaWMgY2FsbCBmdW5jdGlvbicgSVBJIHRvIGFsbCBvdGhlciBDUFVzCi0gKiBpbiB0aGUgc3lzdGVtLgotICovCi0KLS8qCi0gKiAgW1NVTU1BUlldCVJ1biBhIGZ1bmN0aW9uIG9uIGFsbCBvdGhlciBDUFVzLgotICogIDxmdW5jPglUaGUgZnVuY3Rpb24gdG8gcnVuLiBUaGlzIG11c3QgYmUgZmFzdCBhbmQgbm9uLWJsb2NraW5nLgotICogIDxpbmZvPglBbiBhcmJpdHJhcnkgcG9pbnRlciB0byBwYXNzIHRvIHRoZSBmdW5jdGlvbi4KLSAqICA8bm9uYXRvbWljPgljdXJyZW50bHkgdW51c2VkLgotICogIDx3YWl0PglJZiB0cnVlLCB3YWl0IChhdG9taWNhbGx5KSB1bnRpbCBmdW5jdGlvbiBoYXMgY29tcGxldGVkIG9uIG90aGVyIENQVXMuCi0gKiAgW1JFVFVSTlNdICAgMCBvbiBzdWNjZXNzLCBlbHNlIGEgbmVnYXRpdmUgc3RhdHVzIGNvZGUuCi0gKgotICogRG9lcyBub3QgcmV0dXJuIHVudGlsIHJlbW90ZSBDUFVzIGFyZSBuZWFybHkgcmVhZHkgdG8gZXhlY3V0ZSA8ZnVuYz4gb3IgYXJlIG9yIGhhdmUKLSAqIGV4ZWN1dGVkLgotICoKLSAqIFlvdSBtdXN0IG5vdCBjYWxsIHRoaXMgZnVuY3Rpb24gd2l0aCBkaXNhYmxlZCBpbnRlcnJ1cHRzIG9yIGZyb20gYQotICogaGFyZHdhcmUgaW50ZXJydXB0IGhhbmRsZXIgb3IgZnJvbSBhIGJvdHRvbSBoYWxmIGhhbmRsZXIuCi0gKi8KLWludAotc21wX2NhbGxfZnVuY3Rpb24gKHZvaWQgKCpmdW5jKSAodm9pZCAqaW5mbyksIHZvaWQgKmluZm8sIGludCBub25hdG9taWMsIGludCB3YWl0KQotewotCXN0cnVjdCBjYWxsX2RhdGFfc3RydWN0IGRhdGE7Ci0JaW50IGNwdXM7Ci0KLQlzcGluX2xvY2soJmNhbGxfbG9jayk7Ci0JY3B1cyA9IG51bV9vbmxpbmVfY3B1cygpIC0gMTsKLQlpZiAoIWNwdXMpIHsKLQkJc3Bpbl91bmxvY2soJmNhbGxfbG9jayk7Ci0JCXJldHVybiAwOwotCX0KLQotCS8qIENhbiBkZWFkbG9jayB3aGVuIGNhbGxlZCB3aXRoIGludGVycnVwdHMgZGlzYWJsZWQgKi8KLQlXQVJOX09OKGlycXNfZGlzYWJsZWQoKSk7Ci0KLQlkYXRhLmZ1bmMgPSBmdW5jOwotCWRhdGEuaW5mbyA9IGluZm87Ci0JYXRvbWljX3NldCgmZGF0YS5zdGFydGVkLCAwKTsKLQlkYXRhLndhaXQgPSB3YWl0OwotCWlmICh3YWl0KQotCQlhdG9taWNfc2V0KCZkYXRhLmZpbmlzaGVkLCAwKTsKLQotCWNhbGxfZGF0YSA9ICZkYXRhOwotCW1iKCk7CS8qIGVuc3VyZSBzdG9yZSB0byBjYWxsX2RhdGEgcHJlY2VkZXMgc2V0dGluZyBvZiBJUElfQ0FMTF9GVU5DICovCi0Jc2VuZF9JUElfYWxsYnV0c2VsZihJUElfQ0FMTF9GVU5DKTsKLQotCS8qIFdhaXQgZm9yIHJlc3BvbnNlICovCi0Jd2hpbGUgKGF0b21pY19yZWFkKCZkYXRhLnN0YXJ0ZWQpICE9IGNwdXMpCi0JCWNwdV9yZWxheCgpOwotCi0JaWYgKHdhaXQpCi0JCXdoaWxlIChhdG9taWNfcmVhZCgmZGF0YS5maW5pc2hlZCkgIT0gY3B1cykKLQkJCWNwdV9yZWxheCgpOwotCWNhbGxfZGF0YSA9IE5VTEw7Ci0KLQlzcGluX3VubG9jaygmY2FsbF9sb2NrKTsKLQlyZXR1cm4gMDsKLX0KLUVYUE9SVF9TWU1CT0woc21wX2NhbGxfZnVuY3Rpb24pOwogCiAvKgogICogdGhpcyBmdW5jdGlvbiBjYWxscyB0aGUgJ3N0b3AnIGZ1bmN0aW9uIG9uIGFsbCBvdGhlciBDUFVzIGluIHRoZSBzeXN0ZW0uCmRpZmYgLS1naXQgYS9hcmNoL2lhNjQva2VybmVsL3NtcGJvb3QuYyBiL2FyY2gvaWE2NC9rZXJuZWwvc21wYm9vdC5jCmluZGV4IGQ3YWQ0MmIuLjlkMWQ0MjkgMTAwNjQ0Ci0tLSBhL2FyY2gvaWE2NC9rZXJuZWwvc21wYm9vdC5jCisrKyBiL2FyY2gvaWE2NC9rZXJuZWwvc21wYm9vdC5jCkBAIC0zMTcsNyArMzE3LDcgQEAKIAogCWdvW01BU1RFUl0gPSAxOwogCi0JaWYgKHNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShtYXN0ZXIsIHN5bmNfbWFzdGVyLCBOVUxMLCAxLCAwKSA8IDApIHsKKwlpZiAoc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKG1hc3Rlciwgc3luY19tYXN0ZXIsIE5VTEwsIDApIDwgMCkgewogCQlwcmludGsoS0VSTl9FUlIgInN5bmNfaXRjOiBmYWlsZWQgdG8gZ2V0IGF0dGVudGlvbiBvZiBDUFUgJXUhXG4iLCBtYXN0ZXIpOwogCQlyZXR1cm47CiAJfQpAQCAtMzk1LDE0ICszOTUsMTQgQEAKIAogCWZpeF9iMF9mb3JfYnNwKCk7CiAKLQlsb2NrX2lwaV9jYWxsbG9jaygpOworCWlwaV9jYWxsX2xvY2tfaXJxKCk7CiAJc3Bpbl9sb2NrKCZ2ZWN0b3JfbG9jayk7CiAJLyogU2V0dXAgdGhlIHBlciBjcHUgaXJxIGhhbmRsaW5nIGRhdGEgc3RydWN0dXJlcyAqLwogCV9fc2V0dXBfdmVjdG9yX2lycShjcHVpZCk7CiAJY3B1X3NldChjcHVpZCwgY3B1X29ubGluZV9tYXApOwogCXBlcl9jcHUoY3B1X3N0YXRlLCBjcHVpZCkgPSBDUFVfT05MSU5FOwogCXNwaW5fdW5sb2NrKCZ2ZWN0b3JfbG9jayk7Ci0JdW5sb2NrX2lwaV9jYWxsbG9jaygpOworCWlwaV9jYWxsX3VubG9ja19pcnEoKTsKIAogCXNtcF9zZXR1cF9wZXJjcHVfdGltZXIoKTsKIApkaWZmIC0tZ2l0IGEvYXJjaC9pYTY0L2tlcm5lbC91bmNhY2hlZC5jIGIvYXJjaC9pYTY0L2tlcm5lbC91bmNhY2hlZC5jCmluZGV4IGU3Nzk5NWEuLjhlZmY4YzEgMTAwNjQ0Ci0tLSBhL2FyY2gvaWE2NC9rZXJuZWwvdW5jYWNoZWQuYworKysgYi9hcmNoL2lhNjQva2VybmVsL3VuY2FjaGVkLmMKQEAgLTEyMyw4ICsxMjMsNyBAQAogCXN0YXR1cyA9IGlhNjRfcGFsX3ByZWZldGNoX3Zpc2liaWxpdHkoUEFMX1ZJU0lCSUxJVFlfUEhZU0lDQUwpOwogCWlmIChzdGF0dXMgPT0gUEFMX1ZJU0lCSUxJVFlfT0tfUkVNT1RFX05FRURFRCkgewogCQlhdG9taWNfc2V0KCZ1Y19wb29sLT5zdGF0dXMsIDApOwotCQlzdGF0dXMgPSBzbXBfY2FsbF9mdW5jdGlvbih1bmNhY2hlZF9pcGlfdmlzaWJpbGl0eSwgdWNfcG9vbCwKLQkJCQkJICAgMCwgMSk7CisJCXN0YXR1cyA9IHNtcF9jYWxsX2Z1bmN0aW9uKHVuY2FjaGVkX2lwaV92aXNpYmlsaXR5LCB1Y19wb29sLCAxKTsKIAkJaWYgKHN0YXR1cyB8fCBhdG9taWNfcmVhZCgmdWNfcG9vbC0+c3RhdHVzKSkKIAkJCWdvdG8gZmFpbGVkOwogCX0gZWxzZSBpZiAoc3RhdHVzICE9IFBBTF9WSVNJQklMSVRZX09LKQpAQCAtMTQ2LDcgKzE0NSw3IEBACiAJaWYgKHN0YXR1cyAhPSBQQUxfU1RBVFVTX1NVQ0NFU1MpCiAJCWdvdG8gZmFpbGVkOwogCWF0b21pY19zZXQoJnVjX3Bvb2wtPnN0YXR1cywgMCk7Ci0Jc3RhdHVzID0gc21wX2NhbGxfZnVuY3Rpb24odW5jYWNoZWRfaXBpX21jX2RyYWluLCB1Y19wb29sLCAwLCAxKTsKKwlzdGF0dXMgPSBzbXBfY2FsbF9mdW5jdGlvbih1bmNhY2hlZF9pcGlfbWNfZHJhaW4sIHVjX3Bvb2wsIDEpOwogCWlmIChzdGF0dXMgfHwgYXRvbWljX3JlYWQoJnVjX3Bvb2wtPnN0YXR1cykpCiAJCWdvdG8gZmFpbGVkOwogCmRpZmYgLS1naXQgYS9hcmNoL2lhNjQvc24va2VybmVsL2lycS5jIGIvYXJjaC9pYTY0L3NuL2tlcm5lbC9pcnEuYwppbmRleCA1MzM1MWMzLi45NmMzMWI0IDEwMDY0NAotLS0gYS9hcmNoL2lhNjQvc24va2VybmVsL2lycS5jCisrKyBiL2FyY2gvaWE2NC9zbi9rZXJuZWwvaXJxLmMKQEAgLTExLDYgKzExLDcgQEAKICNpbmNsdWRlIDxsaW51eC9pcnEuaD4KICNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9yY3VsaXN0Lmg+CiAjaW5jbHVkZSA8YXNtL3NuL2FkZHJzLmg+CiAjaW5jbHVkZSA8YXNtL3NuL2FyY2guaD4KICNpbmNsdWRlIDxhc20vc24vaW50ci5oPgpkaWZmIC0tZ2l0IGEvYXJjaC9pYTY0L3NuL2tlcm5lbC9zbjIvc25faHdwZXJmLmMgYi9hcmNoL2lhNjQvc24va2VybmVsL3NuMi9zbl9od3BlcmYuYwppbmRleCA4Y2MwYzQ3Li42MzY1ODhlIDEwMDY0NAotLS0gYS9hcmNoL2lhNjQvc24va2VybmVsL3NuMi9zbl9od3BlcmYuYworKysgYi9hcmNoL2lhNjQvc24va2VybmVsL3NuMi9zbl9od3BlcmYuYwpAQCAtNjI5LDcgKzYyOSw3IEBACiAJCWlmICh1c2VfaXBpKSB7CiAJCQkvKiB1c2UgYW4gaW50ZXJwcm9jZXNzb3IgaW50ZXJydXB0IHRvIGNhbGwgU0FMICovCiAJCQlzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoY3B1LCBzbl9od3BlcmZfY2FsbF9zYWwsCi0JCQkJb3BfaW5mbywgMSwgMSk7CisJCQkJb3BfaW5mbywgMSk7CiAJCX0KIAkJZWxzZSB7CiAJCQkvKiBtaWdyYXRlIHRoZSB0YXNrIGJlZm9yZSBjYWxsaW5nIFNBTCAqLyAKZGlmZiAtLWdpdCBhL2FyY2gvbTMyci9LY29uZmlnIGIvYXJjaC9tMzJyL0tjb25maWcKaW5kZXggZGUxNTNkZS4uYTVmODY0YyAxMDA2NDQKLS0tIGEvYXJjaC9tMzJyL0tjb25maWcKKysrIGIvYXJjaC9tMzJyL0tjb25maWcKQEAgLTI5Niw2ICsyOTYsNyBAQAogCiBjb25maWcgU01QCiAJYm9vbCAiU3ltbWV0cmljIG11bHRpLXByb2Nlc3Npbmcgc3VwcG9ydCIKKwlzZWxlY3QgVVNFX0dFTkVSSUNfU01QX0hFTFBFUlMKIAktLS1oZWxwLS0tCiAJICBUaGlzIGVuYWJsZXMgc3VwcG9ydCBmb3Igc3lzdGVtcyB3aXRoIG1vcmUgdGhhbiBvbmUgQ1BVLiBJZiB5b3UgaGF2ZQogCSAgYSBzeXN0ZW0gd2l0aCBvbmx5IG9uZSBDUFUsIGxpa2UgbW9zdCBwZXJzb25hbCBjb21wdXRlcnMsIHNheSBOLiBJZgpkaWZmIC0tZ2l0IGEvYXJjaC9tMzJyL2tlcm5lbC9tMzJyX2tzeW1zLmMgYi9hcmNoL20zMnIva2VybmVsL20zMnJfa3N5bXMuYwppbmRleCBlNjcwOWZlLi4xNmJjYjE4IDEwMDY0NAotLS0gYS9hcmNoL20zMnIva2VybmVsL20zMnJfa3N5bXMuYworKysgYi9hcmNoL20zMnIva2VybmVsL20zMnJfa3N5bXMuYwpAQCAtNDMsOSArNDMsNiBAQAogI2VuZGlmCiBFWFBPUlRfU1lNQk9MKGNwdV9kYXRhKTsKIAotLyogR2xvYmFsIFNNUCBzdHVmZiAqLwotRVhQT1JUX1NZTUJPTChzbXBfY2FsbF9mdW5jdGlvbik7Ci0KIC8qIFRMQiBmbHVzaGluZyAqLwogRVhQT1JUX1NZTUJPTChzbXBfZmx1c2hfdGxiX3BhZ2UpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9hcmNoL20zMnIva2VybmVsL3NtcC5jIGIvYXJjaC9tMzJyL2tlcm5lbC9zbXAuYwppbmRleCBjODM3YmMxMy4uNzU3N2Y5NyAxMDA2NDQKLS0tIGEvYXJjaC9tMzJyL2tlcm5lbC9zbXAuYworKysgYi9hcmNoL20zMnIva2VybmVsL3NtcC5jCkBAIC0zNSwyMiArMzUsNiBAQAogLyo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qLwogCiAvKgotICogU3RydWN0dXJlIGFuZCBkYXRhIGZvciBzbXBfY2FsbF9mdW5jdGlvbigpLiBUaGlzIGlzIGRlc2lnbmVkIHRvIG1pbmltaXNlCi0gKiBzdGF0aWMgbWVtb3J5IHJlcXVpcmVtZW50cy4gSXQgYWxzbyBsb29rcyBjbGVhbmVyLgotICovCi1zdGF0aWMgREVGSU5FX1NQSU5MT0NLKGNhbGxfbG9jayk7Ci0KLXN0cnVjdCBjYWxsX2RhdGFfc3RydWN0IHsKLQl2b2lkICgqZnVuYykgKHZvaWQgKmluZm8pOwotCXZvaWQgKmluZm87Ci0JYXRvbWljX3Qgc3RhcnRlZDsKLQlhdG9taWNfdCBmaW5pc2hlZDsKLQlpbnQgd2FpdDsKLX0gX19hdHRyaWJ1dGVfXyAoKF9fYWxpZ25lZF9fKFNNUF9DQUNIRV9CWVRFUykpKTsKLQotc3RhdGljIHN0cnVjdCBjYWxsX2RhdGFfc3RydWN0ICpjYWxsX2RhdGE7Ci0KLS8qCiAgKiBGb3IgZmx1c2hfY2FjaGVfYWxsKCkKICAqLwogc3RhdGljIERFRklORV9TUElOTE9DSyhmbHVzaGNhY2hlX2xvY2spOwpAQCAtOTYsOSArODAsNiBAQAogdm9pZCBzbXBfc2VuZF9zdG9wKHZvaWQpOwogc3RhdGljIHZvaWQgc3RvcF90aGlzX2NwdSh2b2lkICopOwogCi1pbnQgc21wX2NhbGxfZnVuY3Rpb24odm9pZCAoKikgKHZvaWQgKiksIHZvaWQgKiwgaW50LCBpbnQpOwotdm9pZCBzbXBfY2FsbF9mdW5jdGlvbl9pbnRlcnJ1cHQodm9pZCk7Ci0KIHZvaWQgc21wX3NlbmRfdGltZXIodm9pZCk7CiB2b2lkIHNtcF9pcGlfdGltZXJfaW50ZXJydXB0KHN0cnVjdCBwdF9yZWdzICopOwogdm9pZCBzbXBfbG9jYWxfdGltZXJfaW50ZXJydXB0KHZvaWQpOwpAQCAtMjMxLDcgKzIxMiw3IEBACiAJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOwogCV9fZmx1c2hfdGxiX2FsbCgpOwogCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKLQlzbXBfY2FsbF9mdW5jdGlvbihmbHVzaF90bGJfYWxsX2lwaSwgTlVMTCwgMSwgMSk7CisJc21wX2NhbGxfZnVuY3Rpb24oZmx1c2hfdGxiX2FsbF9pcGksIE5VTEwsIDEpOwogCXByZWVtcHRfZW5hYmxlKCk7CiB9CiAKQEAgLTUyNCw3ICs1MDUsNyBAQAogICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovCiB2b2lkIHNtcF9zZW5kX3N0b3Aodm9pZCkKIHsKLQlzbXBfY2FsbF9mdW5jdGlvbihzdG9wX3RoaXNfY3B1LCBOVUxMLCAxLCAwKTsKKwlzbXBfY2FsbF9mdW5jdGlvbihzdG9wX3RoaXNfY3B1LCBOVUxMLCAwKTsKIH0KIAogLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSoKQEAgLTU2NSw4NiArNTQ2LDE0IEBACiAJZm9yICggOyA7ICk7CiB9CiAKLS8qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Ki8KLS8qIENhbGwgZnVuY3Rpb24gUm91dGluZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLS8qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Ki8KLQotLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSoKLSAqIE5hbWU6ICAgICAgICAgc21wX2NhbGxfZnVuY3Rpb24KLSAqCi0gKiBEZXNjcmlwdGlvbjogIFRoaXMgcm91dGluZSBzZW5kcyBhICdDQUxMX0ZVTkNUSU9OX0lQSScgdG8gYWxsIG90aGVyIENQVXMKLSAqICAgICAgICAgICAgICAgaW4gdGhlIHN5c3RlbS4KLSAqCi0gKiBCb3JuIG9uIERhdGU6IDIwMDIuMDIuMDUKLSAqCi0gKiBBcmd1bWVudHM6ICAgICpmdW5jIC0gVGhlIGZ1bmN0aW9uIHRvIHJ1bi4gVGhpcyBtdXN0IGJlIGZhc3QgYW5kCi0gKiAgICAgICAgICAgICAgICAgICAgICAgbm9uLWJsb2NraW5nLgotICogICAgICAgICAgICAgICAqaW5mbyAtIEFuIGFyYml0cmFyeSBwb2ludGVyIHRvIHBhc3MgdG8gdGhlIGZ1bmN0aW9uLgotICogICAgICAgICAgICAgICBub25hdG9taWMgLSBjdXJyZW50bHkgdW51c2VkLgotICogICAgICAgICAgICAgICB3YWl0IC0gSWYgdHJ1ZSwgd2FpdCAoYXRvbWljYWxseSkgdW50aWwgZnVuY3Rpb24gaGFzCi0gKiAgICAgICAgICAgICAgICAgICAgICBjb21wbGV0ZWQgb24gb3RoZXIgQ1BVcy4KLSAqCi0gKiBSZXR1cm5zOiAgICAgIDAgb24gc3VjY2VzcywgZWxzZSBhIG5lZ2F0aXZlIHN0YXR1cyBjb2RlLiBEb2VzIG5vdCByZXR1cm4KLSAqICAgICAgICAgICAgICAgdW50aWwgcmVtb3RlIENQVXMgYXJlIG5lYXJseSByZWFkeSB0byBleGVjdXRlIDw8ZnVuYz4+IG9yCi0gKiAgICAgICAgICAgICAgIGFyZSBvciBoYXZlIGV4ZWN1dGVkLgotICoKLSAqIENhdXRpb25zOiAgICAgWW91IG11c3Qgbm90IGNhbGwgdGhpcyBmdW5jdGlvbiB3aXRoIGRpc2FibGVkIGludGVycnVwdHMgb3IKLSAqICAgICAgICAgICAgICAgZnJvbSBhIGhhcmR3YXJlIGludGVycnVwdCBoYW5kbGVyLCB5b3UgbWF5IGNhbGwgaXQgZnJvbSBhCi0gKiAgICAgICAgICAgICAgIGJvdHRvbSBoYWxmIGhhbmRsZXIuCi0gKgotICogTW9kaWZpY2F0aW9uIGxvZzoKLSAqIERhdGUgICAgICAgV2hvIERlc2NyaXB0aW9uCi0gKiAtLS0tLS0tLS0tIC0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotICoKLSAqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwotaW50IHNtcF9jYWxsX2Z1bmN0aW9uKHZvaWQgKCpmdW5jKSAodm9pZCAqaW5mbyksIHZvaWQgKmluZm8sIGludCBub25hdG9taWMsCi0JaW50IHdhaXQpCit2b2lkIGFyY2hfc2VuZF9jYWxsX2Z1bmN0aW9uX2lwaShjcHVtYXNrX3QgbWFzaykKIHsKLQlzdHJ1Y3QgY2FsbF9kYXRhX3N0cnVjdCBkYXRhOwotCWludCBjcHVzOworCXNlbmRfSVBJX21hc2sobWFzaywgQ0FMTF9GVU5DVElPTl9JUEksIDApOworfQogCi0jaWZkZWYgREVCVUdfU01QCi0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQlfX3NhdmVfZmxhZ3MoZmxhZ3MpOwotCWlmICghKGZsYWdzICYgMHgwMDQwKSkJLyogSW50ZXJydXB0IERpc2FibGUgTk9OT05PICovCi0JCUJVRygpOwotI2VuZGlmIC8qIERFQlVHX1NNUCAqLwotCi0JLyogSG9sZGluZyBhbnkgbG9jayBzdG9wcyBjcHVzIGZyb20gZ29pbmcgZG93bi4gKi8KLQlzcGluX2xvY2soJmNhbGxfbG9jayk7Ci0JY3B1cyA9IG51bV9vbmxpbmVfY3B1cygpIC0gMTsKLQotCWlmICghY3B1cykgewotCQlzcGluX3VubG9jaygmY2FsbF9sb2NrKTsKLQkJcmV0dXJuIDA7Ci0JfQotCi0JLyogQ2FuIGRlYWRsb2NrIHdoZW4gY2FsbGVkIHdpdGggaW50ZXJydXB0cyBkaXNhYmxlZCAqLwotCVdBUk5fT04oaXJxc19kaXNhYmxlZCgpKTsKLQotCWRhdGEuZnVuYyA9IGZ1bmM7Ci0JZGF0YS5pbmZvID0gaW5mbzsKLQlhdG9taWNfc2V0KCZkYXRhLnN0YXJ0ZWQsIDApOwotCWRhdGEud2FpdCA9IHdhaXQ7Ci0JaWYgKHdhaXQpCi0JCWF0b21pY19zZXQoJmRhdGEuZmluaXNoZWQsIDApOwotCi0JY2FsbF9kYXRhID0gJmRhdGE7Ci0JbWIoKTsKLQotCS8qIFNlbmQgYSBtZXNzYWdlIHRvIGFsbCBvdGhlciBDUFVzIGFuZCB3YWl0IGZvciB0aGVtIHRvIHJlc3BvbmQgKi8KLQlzZW5kX0lQSV9hbGxidXRzZWxmKENBTExfRlVOQ1RJT05fSVBJLCAwKTsKLQotCS8qIFdhaXQgZm9yIHJlc3BvbnNlICovCi0Jd2hpbGUgKGF0b21pY19yZWFkKCZkYXRhLnN0YXJ0ZWQpICE9IGNwdXMpCi0JCWJhcnJpZXIoKTsKLQotCWlmICh3YWl0KQotCQl3aGlsZSAoYXRvbWljX3JlYWQoJmRhdGEuZmluaXNoZWQpICE9IGNwdXMpCi0JCQliYXJyaWVyKCk7Ci0Jc3Bpbl91bmxvY2soJmNhbGxfbG9jayk7Ci0KLQlyZXR1cm4gMDsKK3ZvaWQgYXJjaF9zZW5kX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2lwaShpbnQgY3B1KQoreworCXNlbmRfSVBJX21hc2soY3B1bWFza19vZl9jcHUoY3B1KSwgQ0FMTF9GVU5DX1NJTkdMRV9JUEksIDApOwogfQogCiAvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09KgpAQCAtNjY2LDI3ICs1NzUsMTYgQEAKICAqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwogdm9pZCBzbXBfY2FsbF9mdW5jdGlvbl9pbnRlcnJ1cHQodm9pZCkKIHsKLQl2b2lkICgqZnVuYykgKHZvaWQgKmluZm8pID0gY2FsbF9kYXRhLT5mdW5jOwotCXZvaWQgKmluZm8gPSBjYWxsX2RhdGEtPmluZm87Ci0JaW50IHdhaXQgPSBjYWxsX2RhdGEtPndhaXQ7Ci0KLQkvKgotCSAqIE5vdGlmeSBpbml0aWF0aW5nIENQVSB0aGF0IEkndmUgZ3JhYmJlZCB0aGUgZGF0YSBhbmQgYW0KLQkgKiBhYm91dCB0byBleGVjdXRlIHRoZSBmdW5jdGlvbgotCSAqLwotCW1iKCk7Ci0JYXRvbWljX2luYygmY2FsbF9kYXRhLT5zdGFydGVkKTsKLQkvKgotCSAqIEF0IHRoaXMgcG9pbnQgdGhlIGluZm8gc3RydWN0dXJlIG1heSBiZSBvdXQgb2Ygc2NvcGUgdW5sZXNzIHdhaXQ9PTEKLQkgKi8KIAlpcnFfZW50ZXIoKTsKLQkoKmZ1bmMpKGluZm8pOworCWdlbmVyaWNfc21wX2NhbGxfZnVuY3Rpb25faW50ZXJydXB0KCk7CiAJaXJxX2V4aXQoKTsKK30KIAotCWlmICh3YWl0KSB7Ci0JCW1iKCk7Ci0JCWF0b21pY19pbmMoJmNhbGxfZGF0YS0+ZmluaXNoZWQpOwotCX0KK3ZvaWQgc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2ludGVycnVwdCh2b2lkKQoreworCWlycV9lbnRlcigpOworCWdlbmVyaWNfc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2ludGVycnVwdCgpOworCWlycV9leGl0KCk7CiB9CiAKIC8qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Ki8KZGlmZiAtLWdpdCBhL2FyY2gvbTMyci9rZXJuZWwvdHJhcHMuYyBiL2FyY2gvbTMyci9rZXJuZWwvdHJhcHMuYwppbmRleCA4OWJhNGEwLi40NjE1OWE0IDEwMDY0NAotLS0gYS9hcmNoL20zMnIva2VybmVsL3RyYXBzLmMKKysrIGIvYXJjaC9tMzJyL2tlcm5lbC90cmFwcy5jCkBAIC00MCw2ICs0MCw3IEBACiBleHRlcm4gdm9pZCBzbXBfY2FsbF9mdW5jdGlvbl9pbnRlcnJ1cHQodm9pZCk7CiBleHRlcm4gdm9pZCBzbXBfaXBpX3RpbWVyX2ludGVycnVwdCh2b2lkKTsKIGV4dGVybiB2b2lkIHNtcF9mbHVzaF9jYWNoZV9hbGxfaW50ZXJydXB0KHZvaWQpOworZXh0ZXJuIHZvaWQgc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2ludGVycnVwdCh2b2lkKTsKIAogLyoKICAqIGZvciBCb290IEFQIGZ1bmN0aW9uCkBAIC0xMDMsNyArMTA0LDcgQEAKIAllaXRfdmVjdG9yWzE4Nl0gPSAodW5zaWduZWQgbG9uZylzbXBfY2FsbF9mdW5jdGlvbl9pbnRlcnJ1cHQ7CiAJZWl0X3ZlY3RvclsxODddID0gKHVuc2lnbmVkIGxvbmcpc21wX2lwaV90aW1lcl9pbnRlcnJ1cHQ7CiAJZWl0X3ZlY3RvclsxODhdID0gKHVuc2lnbmVkIGxvbmcpc21wX2ZsdXNoX2NhY2hlX2FsbF9pbnRlcnJ1cHQ7Ci0JZWl0X3ZlY3RvclsxODldID0gMDsKKwllaXRfdmVjdG9yWzE4OV0gPSAodW5zaWduZWQgbG9uZylzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGVfaW50ZXJydXB0OwogCWVpdF92ZWN0b3JbMTkwXSA9IDA7CiAJZWl0X3ZlY3RvclsxOTFdID0gMDsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvYXJjaC9tNjhrL2J2bWU2MDAwL3J0Yy5jIGIvYXJjaC9tNjhrL2J2bWU2MDAwL3J0Yy5jCmluZGV4IGE4MTJkMDMuLmU4YWMzZjcgMTAwNjQ0Ci0tLSBhL2FyY2gvbTY4ay9idm1lNjAwMC9ydGMuYworKysgYi9hcmNoL202OGsvYnZtZTYwMDAvcnRjLmMKQEAgLTEwLDYgKzEwLDcgQEAKICNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgogI2luY2x1ZGUgPGxpbnV4L21pc2NkZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4KICNpbmNsdWRlIDxsaW51eC9jYXBhYmlsaXR5Lmg+CiAjaW5jbHVkZSA8bGludXgvZmNudGwuaD4KQEAgLTE0MCwxMCArMTQxLDE0IEBACiAKIHN0YXRpYyBpbnQgcnRjX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCiB7Ci0JaWYocnRjX3N0YXR1cykKKwlsb2NrX2tlcm5lbCgpOworCWlmKHJ0Y19zdGF0dXMpIHsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gLUVCVVNZOworCX0KIAogCXJ0Y19zdGF0dXMgPSAxOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvYXJjaC9tNjhrL212bWUxNngvcnRjLmMgYi9hcmNoL202OGsvbXZtZTE2eC9ydGMuYwppbmRleCBlMzQxMzg3Li40MzJhOWYxIDEwMDY0NAotLS0gYS9hcmNoL202OGsvbXZtZTE2eC9ydGMuYworKysgYi9hcmNoL202OGsvbXZtZTE2eC9ydGMuYwpAQCAtMTAsNiArMTAsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CiAjaW5jbHVkZSA8bGludXgvbWlzY2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L2lvcG9ydC5oPgogI2luY2x1ZGUgPGxpbnV4L2NhcGFiaWxpdHkuaD4KICNpbmNsdWRlIDxsaW51eC9mY250bC5oPgpAQCAtMTI3LDExICsxMjgsMTQgQEAKIAogc3RhdGljIGludCBydGNfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKKwlsb2NrX2tlcm5lbCgpOwogCWlmKCAhYXRvbWljX2RlY19hbmRfdGVzdCgmcnRjX3JlYWR5KSApCiAJewogCQlhdG9taWNfaW5jKCAmcnRjX3JlYWR5ICk7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIC1FQlVTWTsKIAl9CisJdW5sb2NrX2tlcm5lbCgpOwogCiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9hcmNoL21pcHMvS2NvbmZpZyBiL2FyY2gvbWlwcy9LY29uZmlnCmluZGV4IDI0YzVkZWUuLmQyYmUzZmYgMTAwNjQ0Ci0tLSBhL2FyY2gvbWlwcy9LY29uZmlnCisrKyBiL2FyY2gvbWlwcy9LY29uZmlnCkBAIC0xNzYzLDYgKzE3NjMsNyBAQAogCWJvb2wgIk11bHRpLVByb2Nlc3Npbmcgc3VwcG9ydCIKIAlkZXBlbmRzIG9uIFNZU19TVVBQT1JUU19TTVAKIAlzZWxlY3QgSVJRX1BFUl9DUFUKKwlzZWxlY3QgVVNFX0dFTkVSSUNfU01QX0hFTFBFUlMKIAloZWxwCiAJICBUaGlzIGVuYWJsZXMgc3VwcG9ydCBmb3Igc3lzdGVtcyB3aXRoIG1vcmUgdGhhbiBvbmUgQ1BVLiBJZiB5b3UgaGF2ZQogCSAgYSBzeXN0ZW0gd2l0aCBvbmx5IG9uZSBDUFUsIGxpa2UgbW9zdCBwZXJzb25hbCBjb21wdXRlcnMsIHNheSBOLiBJZgpkaWZmIC0tZ2l0IGEvYXJjaC9taXBzL2Jhc2xlci9leGNpdGUvZXhjaXRlX2lvZGV2LmMgYi9hcmNoL21pcHMvYmFzbGVyL2V4Y2l0ZS9leGNpdGVfaW9kZXYuYwppbmRleCA0NzZkMjBlLi5hMWUzNTI2IDEwMDY0NAotLS0gYS9hcmNoL21pcHMvYmFzbGVyL2V4Y2l0ZS9leGNpdGVfaW9kZXYuYworKysgYi9hcmNoL21pcHMvYmFzbGVyL2V4Y2l0ZS9leGNpdGVfaW9kZXYuYwpAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgogI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L21pc2NkZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAjaW5jbHVkZSAiZXhjaXRlX2lvZGV2LmgiCiAKQEAgLTExMCw4ICsxMTEsMTQgQEAKIAogc3RhdGljIGludCBpb2Rldl9vcGVuKHN0cnVjdCBpbm9kZSAqaSwgc3RydWN0IGZpbGUgKmYpCiB7Ci0JcmV0dXJuIHJlcXVlc3RfaXJxKGlvZGV2X2lycSwgaW9kZXZfaXJxaGRsLCBJUlFGX0RJU0FCTEVELAorCWludCByZXQ7CisKKwlsb2NrX2tlcm5lbCgpOworCXJldCA9IHJlcXVlc3RfaXJxKGlvZGV2X2lycSwgaW9kZXZfaXJxaGRsLCBJUlFGX0RJU0FCTEVELAogCQkJICAgaW9kZXZfbmFtZSwgJm1pc2NkZXYpOworCXVubG9ja19rZXJuZWwoKTsKKworCXJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyBpbnQgaW9kZXZfcmVsZWFzZShzdHJ1Y3QgaW5vZGUgKmksIHN0cnVjdCBmaWxlICpmKQpkaWZmIC0tZ2l0IGEvYXJjaC9taXBzL2tlcm5lbC9pcnEtcm05MDAwLmMgYi9hcmNoL21pcHMva2VybmVsL2lycS1ybTkwMDAuYwppbmRleCBlZDlmZWJlLi5iNDdlNDYxIDEwMDY0NAotLS0gYS9hcmNoL21pcHMva2VybmVsL2lycS1ybTkwMDAuYworKysgYi9hcmNoL21pcHMva2VybmVsL2lycS1ybTkwMDAuYwpAQCAtNDksNyArNDksNyBAQAogCiBzdGF0aWMgdW5zaWduZWQgaW50IHJtOWtfcGVyZmNvdW50ZXJfaXJxX3N0YXJ0dXAodW5zaWduZWQgaW50IGlycSkKIHsKLQlvbl9lYWNoX2NwdShsb2NhbF9ybTlrX3BlcmZjb3VudGVyX2lycV9zdGFydHVwLCAodm9pZCAqKSBpcnEsIDAsIDEpOworCW9uX2VhY2hfY3B1KGxvY2FsX3JtOWtfcGVyZmNvdW50ZXJfaXJxX3N0YXJ0dXAsICh2b2lkICopIGlycSwgMSk7CiAKIAlyZXR1cm4gMDsKIH0KQEAgLTY2LDcgKzY2LDcgQEAKIAogc3RhdGljIHZvaWQgcm05a19wZXJmY291bnRlcl9pcnFfc2h1dGRvd24odW5zaWduZWQgaW50IGlycSkKIHsKLQlvbl9lYWNoX2NwdShsb2NhbF9ybTlrX3BlcmZjb3VudGVyX2lycV9zaHV0ZG93biwgKHZvaWQgKikgaXJxLCAwLCAxKTsKKwlvbl9lYWNoX2NwdShsb2NhbF9ybTlrX3BlcmZjb3VudGVyX2lycV9zaHV0ZG93biwgKHZvaWQgKikgaXJxLCAxKTsKIH0KIAogc3RhdGljIHN0cnVjdCBpcnFfY2hpcCBybTlrX2lycV9jb250cm9sbGVyID0gewpkaWZmIC0tZ2l0IGEvYXJjaC9taXBzL2tlcm5lbC9ydGx4LmMgYi9hcmNoL21pcHMva2VybmVsL3J0bHguYwppbmRleCBiODhmMWMxLi5iNTU2NDE5IDEwMDY0NAotLS0gYS9hcmNoL21pcHMva2VybmVsL3J0bHguYworKysgYi9hcmNoL21pcHMva2VybmVsL3J0bHguYwpAQCAtMjgsNiArMjgsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3ZtYWxsb2MuaD4KICNpbmNsdWRlIDxsaW51eC9lbGYuaD4KICNpbmNsdWRlIDxsaW51eC9zZXFfZmlsZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvc3lzY2FsbHMuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGVsb2FkZXIuaD4KICNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KQEAgLTM5Miw4ICszOTMsMTIgQEAKIHN0YXRpYyBpbnQgZmlsZV9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxwKQogewogCWludCBtaW5vciA9IGltaW5vcihpbm9kZSk7CisJaW50IGVycjsKIAotCXJldHVybiBydGx4X29wZW4obWlub3IsIChmaWxwLT5mX2ZsYWdzICYgT19OT05CTE9DSykgPyAwIDogMSk7CisJbG9ja19rZXJuZWwoKTsKKwllcnIgPSBydGx4X29wZW4obWlub3IsIChmaWxwLT5mX2ZsYWdzICYgT19OT05CTE9DSykgPyAwIDogMSk7CisJdW5sb2NrX2tlcm5lbCgpOworCXJldHVybiBlcnI7CiB9CiAKIHN0YXRpYyBpbnQgZmlsZV9yZWxlYXNlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxwKQpkaWZmIC0tZ2l0IGEvYXJjaC9taXBzL2tlcm5lbC9zbXAuYyBiL2FyY2gvbWlwcy9rZXJuZWwvc21wLmMKaW5kZXggY2RmODdhOS4uNDQxMGYxNyAxMDA2NDQKLS0tIGEvYXJjaC9taXBzL2tlcm5lbC9zbXAuYworKysgYi9hcmNoL21pcHMva2VybmVsL3NtcC5jCkBAIC0xMzEsMTQ5ICsxMzEsMzAgQEAKIAljcHVfaWRsZSgpOwogfQogCi1ERUZJTkVfU1BJTkxPQ0soc21wX2NhbGxfbG9jayk7Ci0KLXN0cnVjdCBjYWxsX2RhdGFfc3RydWN0ICpjYWxsX2RhdGE7Cit2b2lkIGFyY2hfc2VuZF9jYWxsX2Z1bmN0aW9uX2lwaShjcHVtYXNrX3QgbWFzaykKK3sKKwltcF9vcHMtPnNlbmRfaXBpX21hc2sobWFzaywgU01QX0NBTExfRlVOQ1RJT04pOworfQogCiAvKgotICogUnVuIGEgZnVuY3Rpb24gb24gYWxsIG90aGVyIENQVXMuCi0gKgotICogIDxtYXNrPgljcHVzZXRfdCBvZiBhbGwgcHJvY2Vzc29ycyB0byBydW4gdGhlIGZ1bmN0aW9uIG9uLgotICogIDxmdW5jPiAgICAgIFRoZSBmdW5jdGlvbiB0byBydW4uIFRoaXMgbXVzdCBiZSBmYXN0IGFuZCBub24tYmxvY2tpbmcuCi0gKiAgPGluZm8+ICAgICAgQW4gYXJiaXRyYXJ5IHBvaW50ZXIgdG8gcGFzcyB0byB0aGUgZnVuY3Rpb24uCi0gKiAgPHJldHJ5PiAgICAgSWYgdHJ1ZSwga2VlcCByZXRyeWluZyB1bnRpbCByZWFkeS4KLSAqICA8d2FpdD4gICAgICBJZiB0cnVlLCB3YWl0IHVudGlsIGZ1bmN0aW9uIGhhcyBjb21wbGV0ZWQgb24gb3RoZXIgQ1BVcy4KLSAqICBbUkVUVVJOU10gICAwIG9uIHN1Y2Nlc3MsIGVsc2UgYSBuZWdhdGl2ZSBzdGF0dXMgY29kZS4KLSAqCi0gKiBEb2VzIG5vdCByZXR1cm4gdW50aWwgcmVtb3RlIENQVXMgYXJlIG5lYXJseSByZWFkeSB0byBleGVjdXRlIDxmdW5jPgotICogb3IgYXJlIG9yIGhhdmUgZXhlY3V0ZWQuCi0gKgotICogWW91IG11c3Qgbm90IGNhbGwgdGhpcyBmdW5jdGlvbiB3aXRoIGRpc2FibGVkIGludGVycnVwdHMgb3IgZnJvbSBhCi0gKiBoYXJkd2FyZSBpbnRlcnJ1cHQgaGFuZGxlciBvciBmcm9tIGEgYm90dG9tIGhhbGYgaGFuZGxlcjoKLSAqCi0gKiBDUFUgQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDUFUgQgotICogRGlzYWJsZSBpbnRlcnJ1cHRzCi0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbXBfY2FsbF9mdW5jdGlvbigpCi0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUYWtlIGNhbGxfbG9jawotICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2VuZCBJUElzCi0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXYWl0IGZvciBhbGwgY3B1cyB0byBhY2tub3dsZWRnZSBJUEkKLSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENQVSBBIGhhcyBub3QgcmVzcG9uZGVkLCBzcGluIHdhaXRpbmcKLSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBjcHUgQSB0byByZXNwb25kLCBob2xkaW5nIGNhbGxfbG9jawotICogc21wX2NhbGxfZnVuY3Rpb24oKQotICogU3BpbiB3YWl0aW5nIGZvciBjYWxsX2xvY2sKLSAqIERlYWRsb2NrICAgICAgICAgICAgICAgICAgICAgICAgICAgIERlYWRsb2NrCisgKiBXZSByZXVzZSB0aGUgc2FtZSB2ZWN0b3IgZm9yIHRoZSBzaW5nbGUgSVBJCiAgKi8KLWludCBzbXBfY2FsbF9mdW5jdGlvbl9tYXNrKGNwdW1hc2tfdCBtYXNrLCB2b2lkICgqZnVuYykgKHZvaWQgKmluZm8pLAotCXZvaWQgKmluZm8sIGludCByZXRyeSwgaW50IHdhaXQpCit2b2lkIGFyY2hfc2VuZF9jYWxsX2Z1bmN0aW9uX3NpbmdsZV9pcGkoaW50IGNwdSkKIHsKLQlzdHJ1Y3QgY2FsbF9kYXRhX3N0cnVjdCBkYXRhOwotCWludCBjcHUgPSBzbXBfcHJvY2Vzc29yX2lkKCk7Ci0JaW50IGNwdXM7Ci0KLQkvKgotCSAqIENhbiBkaWUgc3BlY3RhY3VsYXJseSBpZiB0aGlzIENQVSBpc24ndCB5ZXQgbWFya2VkIG9ubGluZQotCSAqLwotCUJVR19PTighY3B1X29ubGluZShjcHUpKTsKLQotCWNwdV9jbGVhcihjcHUsIG1hc2spOwotCWNwdXMgPSBjcHVzX3dlaWdodChtYXNrKTsKLQlpZiAoIWNwdXMpCi0JCXJldHVybiAwOwotCi0JLyogQ2FuIGRlYWRsb2NrIHdoZW4gY2FsbGVkIHdpdGggaW50ZXJydXB0cyBkaXNhYmxlZCAqLwotCVdBUk5fT04oaXJxc19kaXNhYmxlZCgpKTsKLQotCWRhdGEuZnVuYyA9IGZ1bmM7Ci0JZGF0YS5pbmZvID0gaW5mbzsKLQlhdG9taWNfc2V0KCZkYXRhLnN0YXJ0ZWQsIDApOwotCWRhdGEud2FpdCA9IHdhaXQ7Ci0JaWYgKHdhaXQpCi0JCWF0b21pY19zZXQoJmRhdGEuZmluaXNoZWQsIDApOwotCi0Jc3Bpbl9sb2NrKCZzbXBfY2FsbF9sb2NrKTsKLQljYWxsX2RhdGEgPSAmZGF0YTsKLQlzbXBfbWIoKTsKLQotCS8qIFNlbmQgYSBtZXNzYWdlIHRvIGFsbCBvdGhlciBDUFVzIGFuZCB3YWl0IGZvciB0aGVtIHRvIHJlc3BvbmQgKi8KLQltcF9vcHMtPnNlbmRfaXBpX21hc2sobWFzaywgU01QX0NBTExfRlVOQ1RJT04pOwotCi0JLyogV2FpdCBmb3IgcmVzcG9uc2UgKi8KLQkvKiBGSVhNRTogbG9jay11cCBkZXRlY3Rpb24sIGJhY2t0cmFjZSBvbiBsb2NrLXVwICovCi0Jd2hpbGUgKGF0b21pY19yZWFkKCZkYXRhLnN0YXJ0ZWQpICE9IGNwdXMpCi0JCWJhcnJpZXIoKTsKLQotCWlmICh3YWl0KQotCQl3aGlsZSAoYXRvbWljX3JlYWQoJmRhdGEuZmluaXNoZWQpICE9IGNwdXMpCi0JCQliYXJyaWVyKCk7Ci0JY2FsbF9kYXRhID0gTlVMTDsKLQlzcGluX3VubG9jaygmc21wX2NhbGxfbG9jayk7Ci0KLQlyZXR1cm4gMDsKKwltcF9vcHMtPnNlbmRfaXBpX21hc2soY3B1bWFza19vZl9jcHUoY3B1KSwgU01QX0NBTExfRlVOQ1RJT04pOwogfQogCi1pbnQgc21wX2NhbGxfZnVuY3Rpb24odm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywgaW50IHJldHJ5LAotCWludCB3YWl0KQotewotCXJldHVybiBzbXBfY2FsbF9mdW5jdGlvbl9tYXNrKGNwdV9vbmxpbmVfbWFwLCBmdW5jLCBpbmZvLCByZXRyeSwgd2FpdCk7Ci19Ci1FWFBPUlRfU1lNQk9MKHNtcF9jYWxsX2Z1bmN0aW9uKTsKLQorLyoKKyAqIENhbGwgaW50byBib3RoIGludGVycnVwdCBoYW5kbGVycywgYXMgd2Ugc2hhcmUgdGhlIElQSSBmb3IgdGhlbQorICovCiB2b2lkIHNtcF9jYWxsX2Z1bmN0aW9uX2ludGVycnVwdCh2b2lkKQogewotCXZvaWQgKCpmdW5jKSAodm9pZCAqaW5mbykgPSBjYWxsX2RhdGEtPmZ1bmM7Ci0Jdm9pZCAqaW5mbyA9IGNhbGxfZGF0YS0+aW5mbzsKLQlpbnQgd2FpdCA9IGNhbGxfZGF0YS0+d2FpdDsKLQotCS8qCi0JICogTm90aWZ5IGluaXRpYXRpbmcgQ1BVIHRoYXQgSSd2ZSBncmFiYmVkIHRoZSBkYXRhIGFuZCBhbQotCSAqIGFib3V0IHRvIGV4ZWN1dGUgdGhlIGZ1bmN0aW9uLgotCSAqLwotCXNtcF9tYigpOwotCWF0b21pY19pbmMoJmNhbGxfZGF0YS0+c3RhcnRlZCk7Ci0KLQkvKgotCSAqIEF0IHRoaXMgcG9pbnQgdGhlIGluZm8gc3RydWN0dXJlIG1heSBiZSBvdXQgb2Ygc2NvcGUgdW5sZXNzIHdhaXQ9PTEuCi0JICovCiAJaXJxX2VudGVyKCk7Ci0JKCpmdW5jKShpbmZvKTsKKwlnZW5lcmljX3NtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZV9pbnRlcnJ1cHQoKTsKKwlnZW5lcmljX3NtcF9jYWxsX2Z1bmN0aW9uX2ludGVycnVwdCgpOwogCWlycV9leGl0KCk7Ci0KLQlpZiAod2FpdCkgewotCQlzbXBfbWIoKTsKLQkJYXRvbWljX2luYygmY2FsbF9kYXRhLT5maW5pc2hlZCk7Ci0JfQogfQogCi1pbnQgc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGludCBjcHUsIHZvaWQgKCpmdW5jKSAodm9pZCAqaW5mbyksIHZvaWQgKmluZm8sCi0JCQkgICAgIGludCByZXRyeSwgaW50IHdhaXQpCi17Ci0JaW50IHJldCwgbWU7Ci0KLQkvKgotCSAqIENhbiBkaWUgc3BlY3RhY3VsYXJseSBpZiB0aGlzIENQVSBpc24ndCB5ZXQgbWFya2VkIG9ubGluZQotCSAqLwotCWlmICghY3B1X29ubGluZShjcHUpKQotCQlyZXR1cm4gMDsKLQotCW1lID0gZ2V0X2NwdSgpOwotCUJVR19PTighY3B1X29ubGluZShtZSkpOwotCi0JaWYgKGNwdSA9PSBtZSkgewotCQlsb2NhbF9pcnFfZGlzYWJsZSgpOwotCQlmdW5jKGluZm8pOwotCQlsb2NhbF9pcnFfZW5hYmxlKCk7Ci0JCXB1dF9jcHUoKTsKLQkJcmV0dXJuIDA7Ci0JfQotCi0JcmV0ID0gc21wX2NhbGxfZnVuY3Rpb25fbWFzayhjcHVtYXNrX29mX2NwdShjcHUpLCBmdW5jLCBpbmZvLCByZXRyeSwKLQkJCQkgICAgIHdhaXQpOwotCi0JcHV0X2NwdSgpOwotCXJldHVybiAwOwotfQotRVhQT1JUX1NZTUJPTChzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUpOwotCiBzdGF0aWMgdm9pZCBzdG9wX3RoaXNfY3B1KHZvaWQgKmR1bW15KQogewogCS8qCkBAIC0yODYsNyArMTY3LDcgQEAKIAogdm9pZCBzbXBfc2VuZF9zdG9wKHZvaWQpCiB7Ci0Jc21wX2NhbGxfZnVuY3Rpb24oc3RvcF90aGlzX2NwdSwgTlVMTCwgMSwgMCk7CisJc21wX2NhbGxfZnVuY3Rpb24oc3RvcF90aGlzX2NwdSwgTlVMTCwgMCk7CiB9CiAKIHZvaWQgX19pbml0IHNtcF9jcHVzX2RvbmUodW5zaWduZWQgaW50IG1heF9jcHVzKQpAQCAtMzY1LDcgKzI0Niw3IEBACiAKIHZvaWQgZmx1c2hfdGxiX2FsbCh2b2lkKQogewotCW9uX2VhY2hfY3B1KGZsdXNoX3RsYl9hbGxfaXBpLCBOVUxMLCAxLCAxKTsKKwlvbl9lYWNoX2NwdShmbHVzaF90bGJfYWxsX2lwaSwgTlVMTCwgMSk7CiB9CiAKIHN0YXRpYyB2b2lkIGZsdXNoX3RsYl9tbV9pcGkodm9pZCAqbW0pCkBAIC0zODUsNyArMjY2LDcgQEAKIHN0YXRpYyBpbmxpbmUgdm9pZCBzbXBfb25fb3RoZXJfdGxicyh2b2lkICgqZnVuYykgKHZvaWQgKmluZm8pLCB2b2lkICppbmZvKQogewogI2lmbmRlZiBDT05GSUdfTUlQU19NVF9TTVRDCi0Jc21wX2NhbGxfZnVuY3Rpb24oZnVuYywgaW5mbywgMSwgMSk7CisJc21wX2NhbGxfZnVuY3Rpb24oZnVuYywgaW5mbywgMSk7CiAjZW5kaWYKIH0KIApAQCAtNDg1LDcgKzM2Niw3IEBACiAJCS5hZGRyMiA9IGVuZCwKIAl9OwogCi0Jb25fZWFjaF9jcHUoZmx1c2hfdGxiX2tlcm5lbF9yYW5nZV9pcGksICZmZCwgMSwgMSk7CisJb25fZWFjaF9jcHUoZmx1c2hfdGxiX2tlcm5lbF9yYW5nZV9pcGksICZmZCwgMSk7CiB9CiAKIHN0YXRpYyB2b2lkIGZsdXNoX3RsYl9wYWdlX2lwaSh2b2lkICppbmZvKQpkaWZmIC0tZ2l0IGEvYXJjaC9taXBzL2tlcm5lbC9zbXRjLmMgYi9hcmNoL21pcHMva2VybmVsL3NtdGMuYwppbmRleCAzZTg2MzE4Li5hNTE2Mjg2IDEwMDY0NAotLS0gYS9hcmNoL21pcHMva2VybmVsL3NtdGMuYworKysgYi9hcmNoL21pcHMva2VybmVsL3NtdGMuYwpAQCAtODc3LDcgKzg3Nyw2IEBACiAJLyogUmV0dXJuIGZyb20gaW50ZXJydXB0IHNob3VsZCBiZSBlbm91Z2ggdG8gY2F1c2Ugc2NoZWR1bGVyIGNoZWNrICovCiB9CiAKLQogc3RhdGljIHZvaWQgaXBpX2NhbGxfaW50ZXJydXB0KHZvaWQpCiB7CiAJLyogSW52b2tlIGdlbmVyaWMgZnVuY3Rpb24gaW52b2NhdGlvbiBjb2RlIGluIHNtcC5jICovCmRpZmYgLS1naXQgYS9hcmNoL21pcHMva2VybmVsL3N0YWNrdHJhY2UuYyBiL2FyY2gvbWlwcy9rZXJuZWwvc3RhY2t0cmFjZS5jCmluZGV4IGViZDlkYjguLjVlYjQ2ODEgMTAwNjQ0Ci0tLSBhL2FyY2gvbWlwcy9rZXJuZWwvc3RhY2t0cmFjZS5jCisrKyBiL2FyY2gvbWlwcy9rZXJuZWwvc3RhY2t0cmFjZS5jCkBAIC03MywzICs3Myw0IEBACiAJcHJlcGFyZV9mcmFtZXRyYWNlKHJlZ3MpOwogCXNhdmVfY29udGV4dF9zdGFjayh0cmFjZSwgcmVncyk7CiB9CitFWFBPUlRfU1lNQk9MX0dQTChzYXZlX3N0YWNrX3RyYWNlKTsKZGlmZiAtLWdpdCBhL2FyY2gvbWlwcy9rZXJuZWwvdnBlLmMgYi9hcmNoL21pcHMva2VybmVsL3ZwZS5jCmluZGV4IDI3OTQ1MDEuLjk3MmIyZDIgMTAwNjQ0Ci0tLSBhL2FyY2gvbWlwcy9rZXJuZWwvdnBlLmMKKysrIGIvYXJjaC9taXBzL2tlcm5lbC92cGUuYwpAQCAtMzgsNiArMzgsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3ZtYWxsb2MuaD4KICNpbmNsdWRlIDxsaW51eC9lbGYuaD4KICNpbmNsdWRlIDxsaW51eC9zZXFfZmlsZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvc3lzY2FsbHMuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGVsb2FkZXIuaD4KICNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KQEAgLTEwNTAsMTcgKzEwNTEsMjAgQEAKIAllbnVtIHZwZV9zdGF0ZSBzdGF0ZTsKIAlzdHJ1Y3QgdnBlX25vdGlmaWNhdGlvbnMgKm5vdDsKIAlzdHJ1Y3QgdnBlICp2OwotCWludCByZXQ7CisJaW50IHJldCwgZXJyID0gMDsKIAorCWxvY2tfa2VybmVsKCk7CiAJaWYgKG1pbm9yICE9IGltaW5vcihpbm9kZSkpIHsKIAkJLyogYXNzdW1lIG9ubHkgMSBkZXZpY2UgYXQgdGhlIG1vbWVudC4gKi8KIAkJcHJpbnRrKEtFUk5fV0FSTklORyAiVlBFIGxvYWRlcjogb25seSB2cGUxIGlzIHN1cHBvcnRlZFxuIik7Ci0JCXJldHVybiAtRU5PREVWOworCQllcnIgPSAtRU5PREVWOworCQlnb3RvIG91dDsKIAl9CiAKIAlpZiAoKHYgPSBnZXRfdnBlKHRjbGltaXQpKSA9PSBOVUxMKSB7CiAJCXByaW50ayhLRVJOX1dBUk5JTkcgIlZQRSBsb2FkZXI6IHVuYWJsZSB0byBnZXQgdnBlXG4iKTsKLQkJcmV0dXJuIC1FTk9ERVY7CisJCWVyciA9IC1FTk9ERVY7CisJCWdvdG8gb3V0OwogCX0KIAogCXN0YXRlID0geGNoZygmdi0+c3RhdGUsIFZQRV9TVEFURV9JTlVTRSk7CkBAIC0xMTAwLDYgKzExMDQsOCBAQAogCXYtPnNoYXJlZF9wdHIgPSBOVUxMOwogCXYtPl9fc3RhcnQgPSAwOwogCitvdXQ6CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9hcmNoL21pcHMvbW0vYy1yNGsuYyBiL2FyY2gvbWlwcy9tbS9jLXI0ay5jCmluZGV4IDI3MDk2NzUuLjcxZGYzMzkgMTAwNjQ0Ci0tLSBhL2FyY2gvbWlwcy9tbS9jLXI0ay5jCisrKyBiL2FyY2gvbWlwcy9tbS9jLXI0ay5jCkBAIC00MywxMiArNDMsMTIgQEAKICAqICAgIHByaW1hcnkgY2FjaGUuCiAgKi8KIHN0YXRpYyBpbmxpbmUgdm9pZCByNGtfb25fZWFjaF9jcHUodm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJldHJ5LCBpbnQgd2FpdCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHdhaXQpCiB7CiAJcHJlZW1wdF9kaXNhYmxlKCk7CiAKICNpZiAhZGVmaW5lZChDT05GSUdfTUlQU19NVF9TTVApICYmICFkZWZpbmVkKENPTkZJR19NSVBTX01UX1NNVEMpCi0Jc21wX2NhbGxfZnVuY3Rpb24oZnVuYywgaW5mbywgcmV0cnksIHdhaXQpOworCXNtcF9jYWxsX2Z1bmN0aW9uKGZ1bmMsIGluZm8sIHdhaXQpOwogI2VuZGlmCiAJZnVuYyhpbmZvKTsKIAlwcmVlbXB0X2VuYWJsZSgpOwpAQCAtMzUwLDcgKzM1MCw3IEBACiAKIHN0YXRpYyB2b2lkIHI0a19fX2ZsdXNoX2NhY2hlX2FsbCh2b2lkKQogewotCXI0a19vbl9lYWNoX2NwdShsb2NhbF9yNGtfX19mbHVzaF9jYWNoZV9hbGwsIE5VTEwsIDEsIDEpOworCXI0a19vbl9lYWNoX2NwdShsb2NhbF9yNGtfX19mbHVzaF9jYWNoZV9hbGwsIE5VTEwsIDEpOwogfQogCiBzdGF0aWMgaW5saW5lIGludCBoYXNfdmFsaWRfYXNpZChjb25zdCBzdHJ1Y3QgbW1fc3RydWN0ICptbSkKQEAgLTM5Nyw3ICszOTcsNyBAQAogCWludCBleGVjID0gdm1hLT52bV9mbGFncyAmIFZNX0VYRUM7CiAKIAlpZiAoY3B1X2hhc19kY19hbGlhc2VzIHx8IChleGVjICYmICFjcHVfaGFzX2ljX2ZpbGxzX2ZfZGMpKQotCQlyNGtfb25fZWFjaF9jcHUobG9jYWxfcjRrX2ZsdXNoX2NhY2hlX3JhbmdlLCB2bWEsIDEsIDEpOworCQlyNGtfb25fZWFjaF9jcHUobG9jYWxfcjRrX2ZsdXNoX2NhY2hlX3JhbmdlLCB2bWEsIDEpOwogfQogCiBzdGF0aWMgaW5saW5lIHZvaWQgbG9jYWxfcjRrX2ZsdXNoX2NhY2hlX21tKHZvaWQgKiBhcmdzKQpAQCAtNDI5LDcgKzQyOSw3IEBACiAJaWYgKCFjcHVfaGFzX2RjX2FsaWFzZXMpCiAJCXJldHVybjsKIAotCXI0a19vbl9lYWNoX2NwdShsb2NhbF9yNGtfZmx1c2hfY2FjaGVfbW0sIG1tLCAxLCAxKTsKKwlyNGtfb25fZWFjaF9jcHUobG9jYWxfcjRrX2ZsdXNoX2NhY2hlX21tLCBtbSwgMSk7CiB9CiAKIHN0cnVjdCBmbHVzaF9jYWNoZV9wYWdlX2FyZ3MgewpAQCAtNTIxLDcgKzUyMSw3IEBACiAJYXJncy5hZGRyID0gYWRkcjsKIAlhcmdzLnBmbiA9IHBmbjsKIAotCXI0a19vbl9lYWNoX2NwdShsb2NhbF9yNGtfZmx1c2hfY2FjaGVfcGFnZSwgJmFyZ3MsIDEsIDEpOworCXI0a19vbl9lYWNoX2NwdShsb2NhbF9yNGtfZmx1c2hfY2FjaGVfcGFnZSwgJmFyZ3MsIDEpOwogfQogCiBzdGF0aWMgaW5saW5lIHZvaWQgbG9jYWxfcjRrX2ZsdXNoX2RhdGFfY2FjaGVfcGFnZSh2b2lkICogYWRkcikKQEAgLTUzNSw3ICs1MzUsNyBAQAogCQlsb2NhbF9yNGtfZmx1c2hfZGF0YV9jYWNoZV9wYWdlKCh2b2lkICopYWRkcik7CiAJZWxzZQogCQlyNGtfb25fZWFjaF9jcHUobG9jYWxfcjRrX2ZsdXNoX2RhdGFfY2FjaGVfcGFnZSwgKHZvaWQgKikgYWRkciwKLQkJCSAgICAgICAgMSwgMSk7CisJCQkgICAgICAgIDEpOwogfQogCiBzdHJ1Y3QgZmx1c2hfaWNhY2hlX3JhbmdlX2FyZ3MgewpAQCAtNTcxLDcgKzU3MSw3IEBACiAJYXJncy5zdGFydCA9IHN0YXJ0OwogCWFyZ3MuZW5kID0gZW5kOwogCi0JcjRrX29uX2VhY2hfY3B1KGxvY2FsX3I0a19mbHVzaF9pY2FjaGVfcmFuZ2UsICZhcmdzLCAxLCAxKTsKKwlyNGtfb25fZWFjaF9jcHUobG9jYWxfcjRrX2ZsdXNoX2ljYWNoZV9yYW5nZSwgJmFyZ3MsIDEpOwogCWluc3RydWN0aW9uX2hhemFyZCgpOwogfQogCkBAIC02NzIsNyArNjcyLDcgQEAKIAogc3RhdGljIHZvaWQgcjRrX2ZsdXNoX2NhY2hlX3NpZ3RyYW1wKHVuc2lnbmVkIGxvbmcgYWRkcikKIHsKLQlyNGtfb25fZWFjaF9jcHUobG9jYWxfcjRrX2ZsdXNoX2NhY2hlX3NpZ3RyYW1wLCAodm9pZCAqKSBhZGRyLCAxLCAxKTsKKwlyNGtfb25fZWFjaF9jcHUobG9jYWxfcjRrX2ZsdXNoX2NhY2hlX3NpZ3RyYW1wLCAodm9pZCAqKSBhZGRyLCAxKTsKIH0KIAogc3RhdGljIHZvaWQgcjRrX2ZsdXNoX2ljYWNoZV9hbGwodm9pZCkKZGlmZiAtLWdpdCBhL2FyY2gvbWlwcy9vcHJvZmlsZS9jb21tb24uYyBiL2FyY2gvbWlwcy9vcHJvZmlsZS9jb21tb24uYwppbmRleCBiNWY2ZjcxLi5kZDJmYmQ2IDEwMDY0NAotLS0gYS9hcmNoL21pcHMvb3Byb2ZpbGUvY29tbW9uLmMKKysrIGIvYXJjaC9taXBzL29wcm9maWxlL2NvbW1vbi5jCkBAIC0yNyw3ICsyNyw3IEBACiAJbW9kZWwtPnJlZ19zZXR1cChjdHIpOwogCiAJLyogQ29uZmlndXJlIHRoZSByZWdpc3RlcnMgb24gYWxsIGNwdXMuICAqLwotCW9uX2VhY2hfY3B1KG1vZGVsLT5jcHVfc2V0dXAsIE5VTEwsIDAsIDEpOworCW9uX2VhY2hfY3B1KG1vZGVsLT5jcHVfc2V0dXAsIE5VTEwsIDEpOwogCiAgICAgICAgIHJldHVybiAwOwogfQpAQCAtNTgsNyArNTgsNyBAQAogCiBzdGF0aWMgaW50IG9wX21pcHNfc3RhcnQodm9pZCkKIHsKLQlvbl9lYWNoX2NwdShtb2RlbC0+Y3B1X3N0YXJ0LCBOVUxMLCAwLCAxKTsKKwlvbl9lYWNoX2NwdShtb2RlbC0+Y3B1X3N0YXJ0LCBOVUxMLCAxKTsKIAogCXJldHVybiAwOwogfQpAQCAtNjYsNyArNjYsNyBAQAogc3RhdGljIHZvaWQgb3BfbWlwc19zdG9wKHZvaWQpCiB7CiAJLyogRGlzYWJsZSBwZXJmb3JtYW5jZSBtb25pdG9yaW5nIGZvciBhbGwgY291bnRlcnMuICAqLwotCW9uX2VhY2hfY3B1KG1vZGVsLT5jcHVfc3RvcCwgTlVMTCwgMCwgMSk7CisJb25fZWFjaF9jcHUobW9kZWwtPmNwdV9zdG9wLCBOVUxMLCAxKTsKIH0KIAogaW50IF9faW5pdCBvcHJvZmlsZV9hcmNoX2luaXQoc3RydWN0IG9wcm9maWxlX29wZXJhdGlvbnMgKm9wcykKZGlmZiAtLWdpdCBhL2FyY2gvbWlwcy9vcHJvZmlsZS9vcF9tb2RlbF9taXBzeHguYyBiL2FyY2gvbWlwcy9vcHJvZmlsZS9vcF9tb2RlbF9taXBzeHguYwppbmRleCBiNDBkZjdkLi41NDc1OWYxIDEwMDY0NAotLS0gYS9hcmNoL21pcHMvb3Byb2ZpbGUvb3BfbW9kZWxfbWlwc3h4LmMKKysrIGIvYXJjaC9taXBzL29wcm9maWxlL29wX21vZGVsX21pcHN4eC5jCkBAIC0zMTMsNyArMzEzLDcgQEAKIAlpZiAoIWNwdV9oYXNfbWlwc210X3BlcnRjY291bnRlcnMpCiAJCWNvdW50ZXJzID0gY291bnRlcnNfdG90YWxfdG9fcGVyX2NwdShjb3VudGVycyk7CiAjZW5kaWYKLQlvbl9lYWNoX2NwdShyZXNldF9jb3VudGVycywgKHZvaWQgKikobG9uZyljb3VudGVycywgMCwgMSk7CisJb25fZWFjaF9jcHUocmVzZXRfY291bnRlcnMsICh2b2lkICopKGxvbmcpY291bnRlcnMsIDEpOwogCiAJb3BfbW9kZWxfbWlwc3h4X29wcy5udW1fY291bnRlcnMgPSBjb3VudGVyczsKIAlzd2l0Y2ggKGN1cnJlbnRfY3B1X3R5cGUoKSkgewpAQCAtMzgyLDcgKzM4Miw3IEBACiAJaW50IGNvdW50ZXJzID0gb3BfbW9kZWxfbWlwc3h4X29wcy5udW1fY291bnRlcnM7CiAKIAljb3VudGVycyA9IGNvdW50ZXJzX3Blcl9jcHVfdG9fdG90YWwoY291bnRlcnMpOwotCW9uX2VhY2hfY3B1KHJlc2V0X2NvdW50ZXJzLCAodm9pZCAqKShsb25nKWNvdW50ZXJzLCAwLCAxKTsKKwlvbl9lYWNoX2NwdShyZXNldF9jb3VudGVycywgKHZvaWQgKikobG9uZyljb3VudGVycywgMSk7CiAKIAlwZXJmX2lycSA9IHNhdmVfcGVyZl9pcnE7CiB9CmRpZmYgLS1naXQgYS9hcmNoL21pcHMvcG1jLXNpZXJyYS95b3NlbWl0ZS9wcm9tLmMgYi9hcmNoL21pcHMvcG1jLXNpZXJyYS95b3NlbWl0ZS9wcm9tLmMKaW5kZXggMzVkYzQzNS4uY2Y0Yzg2OCAxMDA2NDQKLS0tIGEvYXJjaC9taXBzL3BtYy1zaWVycmEveW9zZW1pdGUvcHJvbS5jCisrKyBiL2FyY2gvbWlwcy9wbWMtc2llcnJhL3lvc2VtaXRlL3Byb20uYwpAQCAtNjQsNyArNjQsNyBAQAogI2lmZGVmIENPTkZJR19TTVAKIAlpZiAoc21wX3Byb2Nlc3Nvcl9pZCgpKQogCQkvKiBDUFUgMSAqLwotCQlzbXBfY2FsbF9mdW5jdGlvbihwcm9tX2NwdTBfZXhpdCwgTlVMTCwgMSwgMSk7CisJCXNtcF9jYWxsX2Z1bmN0aW9uKHByb21fY3B1MF9leGl0LCBOVUxMLCAxKTsKICNlbmRpZgogCXByb21fY3B1MF9leGl0KE5VTEwpOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC9taXBzL3NpYnl0ZS9jZmUvc2V0dXAuYyBiL2FyY2gvbWlwcy9zaWJ5dGUvY2ZlL3NldHVwLmMKaW5kZXggMzNmY2U4Mi4uZmQ5NjA0ZCAxMDA2NDQKLS0tIGEvYXJjaC9taXBzL3NpYnl0ZS9jZmUvc2V0dXAuYworKysgYi9hcmNoL21pcHMvc2lieXRlL2NmZS9zZXR1cC5jCkBAIC03NCw3ICs3NCw3IEBACiAJCWlmICghcmVib290X3NtcCkgewogCQkJLyogR2V0IENQVSAwIHRvIGRvIHRoZSBjZmVfZXhpdCAqLwogCQkJcmVib290X3NtcCA9IDE7Ci0JCQlzbXBfY2FsbF9mdW5jdGlvbihjZmVfbGludXhfZXhpdCwgYXJnLCAxLCAwKTsKKwkJCXNtcF9jYWxsX2Z1bmN0aW9uKGNmZV9saW51eF9leGl0LCBhcmcsIDApOwogCQl9CiAJfSBlbHNlIHsKIAkJcHJpbnRrKCJQYXNzaW5nIGNvbnRyb2wgYmFjayB0byBDRkUuLi5cbiIpOwpkaWZmIC0tZ2l0IGEvYXJjaC9taXBzL3NpYnl0ZS9jb21tb24vc2JfdGJwcm9mLmMgYi9hcmNoL21pcHMvc2lieXRlL2NvbW1vbi9zYl90YnByb2YuYwppbmRleCA2M2I0NDRlLi4yOGIwMTJhIDEwMDY0NAotLS0gYS9hcmNoL21pcHMvc2lieXRlL2NvbW1vbi9zYl90YnByb2YuYworKysgYi9hcmNoL21pcHMvc2lieXRlL2NvbW1vbi9zYl90YnByb2YuYwpAQCAtMjgsNiArMjgsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC92bWFsbG9jLmg+CiAjaW5jbHVkZSA8bGludXgvZnMuaD4KICNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgpAQCAtNDAyLDE4ICs0MDMsMjYgQEAKIHN0YXRpYyBpbnQgc2Jwcm9mX3RiX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbHApCiB7CiAJaW50IG1pbm9yOworCWludCBlcnIgPSAwOwogCisJbG9ja19rZXJuZWwoKTsKIAltaW5vciA9IGltaW5vcihpbm9kZSk7Ci0JaWYgKG1pbm9yICE9IDApCi0JCXJldHVybiAtRU5PREVWOworCWlmIChtaW5vciAhPSAwKSB7CisJCWVyciA9IC1FTk9ERVY7CisJCWdvdG8gb3V0OworCX0KIAotCWlmICh4Y2hnKCZzYnAub3BlbiwgU0JfT1BFTklORykgIT0gU0JfQ0xPU0VEKQotCQlyZXR1cm4gLUVCVVNZOworCWlmICh4Y2hnKCZzYnAub3BlbiwgU0JfT1BFTklORykgIT0gU0JfQ0xPU0VEKSB7CisJCWVyciA9IC1FQlVTWTsKKwkJZ290byBvdXQ7CisJfQogCiAJbWVtc2V0KCZzYnAsIDAsIHNpemVvZihzdHJ1Y3Qgc2Jwcm9mX3RiKSk7CiAJc2JwLnNicHJvZl90YmJ1ZiA9IHZtYWxsb2MoTUFYX1RCU0FNUExFX0JZVEVTKTsKLQlpZiAoIXNicC5zYnByb2ZfdGJidWYpCi0JCXJldHVybiAtRU5PTUVNOworCWlmICghc2JwLnNicHJvZl90YmJ1ZikgeworCQllcnIgPSAtRU5PTUVNOworCQlnb3RvIG91dDsKKwl9CiAJbWVtc2V0KHNicC5zYnByb2ZfdGJidWYsIDAsIE1BWF9UQlNBTVBMRV9CWVRFUyk7CiAJaW5pdF93YWl0cXVldWVfaGVhZCgmc2JwLnRiX3N5bmMpOwogCWluaXRfd2FpdHF1ZXVlX2hlYWQoJnNicC50Yl9yZWFkKTsKQEAgLTQyMSw3ICs0MzAsOSBAQAogCiAJc2JwLm9wZW4gPSBTQl9PUEVOOwogCi0JcmV0dXJuIDA7CisgIG91dDoKKwl1bmxvY2tfa2VybmVsKCk7CisJcmV0dXJuIGVycjsKIH0KIAogc3RhdGljIGludCBzYnByb2ZfdGJfcmVsZWFzZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlscCkKZGlmZiAtLWdpdCBhL2FyY2gvbWlwcy9zaWJ5dGUvc2IxMjUwL3Byb20uYyBiL2FyY2gvbWlwcy9zaWJ5dGUvc2IxMjUwL3Byb20uYwppbmRleCBjZjhmNmIzLi42NWIxYWY2IDEwMDY0NAotLS0gYS9hcmNoL21pcHMvc2lieXRlL3NiMTI1MC9wcm9tLmMKKysrIGIvYXJjaC9taXBzL3NpYnl0ZS9zYjEyNTAvcHJvbS5jCkBAIC02Niw3ICs2Niw3IEBACiB7CiAjaWZkZWYgQ09ORklHX1NNUAogCWlmIChzbXBfcHJvY2Vzc29yX2lkKCkpIHsKLQkJc21wX2NhbGxfZnVuY3Rpb24ocHJvbV9jcHUwX2V4aXQsIE5VTEwsIDEsIDEpOworCQlzbXBfY2FsbF9mdW5jdGlvbihwcm9tX2NwdTBfZXhpdCwgTlVMTCwgMSk7CiAJfQogI2VuZGlmCiAJd2hpbGUoMSk7CmRpZmYgLS1naXQgYS9hcmNoL21pcHMvc2lieXRlL3N3YXJtL01ha2VmaWxlIGIvYXJjaC9taXBzL3NpYnl0ZS9zd2FybS9NYWtlZmlsZQppbmRleCAxNzc1NzU1Li4yNTVkNjkyIDEwMDY0NAotLS0gYS9hcmNoL21pcHMvc2lieXRlL3N3YXJtL01ha2VmaWxlCisrKyBiL2FyY2gvbWlwcy9zaWJ5dGUvc3dhcm0vTWFrZWZpbGUKQEAgLTEsMyArMSw0IEBACiBvYmoteQkJCQk6PSBzZXR1cC5vIHJ0Y194aWNvcjEyNDEubyBydGNfbTQxdDgxLm8KIAorb2JqLSQoQ09ORklHX0kyQ19CT0FSRElORk8pCSs9IHN3YXJtLWkyYy5vCiBvYmotJChDT05GSUdfS0dEQikJCSs9IGRiZ19pby5vCmRpZmYgLS1naXQgYS9hcmNoL21pcHMvc2lieXRlL3N3YXJtL3N3YXJtLWkyYy5jIGIvYXJjaC9taXBzL3NpYnl0ZS9zd2FybS9zd2FybS1pMmMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MjgyYWM5Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9taXBzL3NpYnl0ZS9zd2FybS9zd2FybS1pMmMuYwpAQCAtMCwwICsxLDM3IEBACisvKgorICoJYXJjaC9taXBzL3NpYnl0ZS9zd2FybS9zd2FybS1pMmMuYworICoKKyAqCUJyb2FkY29tIEJDTTkxMjUwQSAoU1dBUk0pLCBldGMuIEkyQyBwbGF0Zm9ybSBzZXR1cC4KKyAqCisgKglDb3B5cmlnaHQgKGMpIDIwMDggIE1hY2llaiBXLiBSb3p5Y2tpCisgKgorICoJVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICoJbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqCWFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbgorICoJMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqLworCisjaW5jbHVkZSA8bGludXgvaTJjLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorCisKK3N0YXRpYyBzdHJ1Y3QgaTJjX2JvYXJkX2luZm8gc3dhcm1faTJjX2luZm8xW10gX19pbml0ZGF0YSA9IHsKKwl7CisJCUkyQ19CT0FSRF9JTkZPKCJtNDF0ODEiLCAweDY4KSwKKwl9LAorfTsKKworc3RhdGljIGludCBfX2luaXQgc3dhcm1faTJjX2luaXQodm9pZCkKK3sKKwlpbnQgZXJyOworCisJZXJyID0gaTJjX3JlZ2lzdGVyX2JvYXJkX2luZm8oMSwgc3dhcm1faTJjX2luZm8xLAorCQkJCSAgICAgIEFSUkFZX1NJWkUoc3dhcm1faTJjX2luZm8xKSk7CisJaWYgKGVyciA8IDApCisJCXByaW50ayhLRVJOX0VSUgorCQkgICAgICAgInN3YXJtLWkyYzogY2Fubm90IHJlZ2lzdGVyIGJvYXJkIEkyQyBkZXZpY2VzXG4iKTsKKwlyZXR1cm4gZXJyOworfQorCithcmNoX2luaXRjYWxsKHN3YXJtX2kyY19pbml0KTsKZGlmZiAtLWdpdCBhL2FyY2gvcGFyaXNjL0tjb25maWcgYi9hcmNoL3BhcmlzYy9LY29uZmlnCmluZGV4IGJjN2ExOWQuLmE3ZDRmZDM1IDEwMDY0NAotLS0gYS9hcmNoL3BhcmlzYy9LY29uZmlnCisrKyBiL2FyY2gvcGFyaXNjL0tjb25maWcKQEAgLTE5OSw2ICsxOTksNyBAQAogCiBjb25maWcgU01QCiAJYm9vbCAiU3ltbWV0cmljIG11bHRpLXByb2Nlc3Npbmcgc3VwcG9ydCIKKwlzZWxlY3QgVVNFX0dFTkVSSUNfU01QX0hFTFBFUlMKIAktLS1oZWxwLS0tCiAJICBUaGlzIGVuYWJsZXMgc3VwcG9ydCBmb3Igc3lzdGVtcyB3aXRoIG1vcmUgdGhhbiBvbmUgQ1BVLiBJZiB5b3UgaGF2ZQogCSAgYSBzeXN0ZW0gd2l0aCBvbmx5IG9uZSBDUFUsIGxpa2UgbW9zdCBwZXJzb25hbCBjb21wdXRlcnMsIHNheSBOLiBJZgpkaWZmIC0tZ2l0IGEvYXJjaC9wYXJpc2Mva2VybmVsL2NhY2hlLmMgYi9hcmNoL3BhcmlzYy9rZXJuZWwvY2FjaGUuYwppbmRleCBlMTBkMjVkLi41MjU5ZDhjIDEwMDY0NAotLS0gYS9hcmNoL3BhcmlzYy9rZXJuZWwvY2FjaGUuYworKysgYi9hcmNoL3BhcmlzYy9rZXJuZWwvY2FjaGUuYwpAQCAtNTEsMTIgKzUxLDEyIEBACiB2b2lkCiBmbHVzaF9kYXRhX2NhY2hlKHZvaWQpCiB7Ci0Jb25fZWFjaF9jcHUoZmx1c2hfZGF0YV9jYWNoZV9sb2NhbCwgTlVMTCwgMSwgMSk7CisJb25fZWFjaF9jcHUoZmx1c2hfZGF0YV9jYWNoZV9sb2NhbCwgTlVMTCwgMSk7CiB9CiB2b2lkIAogZmx1c2hfaW5zdHJ1Y3Rpb25fY2FjaGUodm9pZCkKIHsKLQlvbl9lYWNoX2NwdShmbHVzaF9pbnN0cnVjdGlvbl9jYWNoZV9sb2NhbCwgTlVMTCwgMSwgMSk7CisJb25fZWFjaF9jcHUoZmx1c2hfaW5zdHJ1Y3Rpb25fY2FjaGVfbG9jYWwsIE5VTEwsIDEpOwogfQogI2VuZGlmCiAKQEAgLTUxNSw3ICs1MTUsNyBAQAogCiB2b2lkIGZsdXNoX2NhY2hlX2FsbCh2b2lkKQogewotCW9uX2VhY2hfY3B1KGNhY2hlZmx1c2hfaF90bXBfZnVuY3Rpb24sIE5VTEwsIDEsIDEpOworCW9uX2VhY2hfY3B1KGNhY2hlZmx1c2hfaF90bXBfZnVuY3Rpb24sIE5VTEwsIDEpOwogfQogCiB2b2lkIGZsdXNoX2NhY2hlX21tKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tKQpkaWZmIC0tZ2l0IGEvYXJjaC9wYXJpc2Mva2VybmVsL3BlcmYuYyBiL2FyY2gvcGFyaXNjL2tlcm5lbC9wZXJmLmMKaW5kZXggODlkNmQ1YS4uZjY5NmY1NyAxMDA2NDQKLS0tIGEvYXJjaC9wYXJpc2Mva2VybmVsL3BlcmYuYworKysgYi9hcmNoL3BhcmlzYy9rZXJuZWwvcGVyZi5jCkBAIC00Niw2ICs0Niw3IEBACiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L3Byb2NfZnMuaD4KICNpbmNsdWRlIDxsaW51eC9taXNjZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgogCiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KQEAgLTI2MCwxMyArMjYxLDE2IEBACiAgKi8KIHN0YXRpYyBpbnQgcGVyZl9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogeworCWxvY2tfa2VybmVsKCk7CiAJc3Bpbl9sb2NrKCZwZXJmX2xvY2spOwogCWlmIChwZXJmX2VuYWJsZWQpIHsKIAkJc3Bpbl91bmxvY2soJnBlcmZfbG9jayk7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIC1FQlVTWTsKIAl9CiAJcGVyZl9lbmFibGVkID0gMTsKICAJc3Bpbl91bmxvY2soJnBlcmZfbG9jayk7CisJdW5sb2NrX2tlcm5lbCgpOwogCiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9hcmNoL3BhcmlzYy9rZXJuZWwvc21wLmMgYi9hcmNoL3BhcmlzYy9rZXJuZWwvc21wLmMKaW5kZXggODVmYzc3NS4uZDQ3ZjM5NyAxMDA2NDQKLS0tIGEvYXJjaC9wYXJpc2Mva2VybmVsL3NtcC5jCisrKyBiL2FyY2gvcGFyaXNjL2tlcm5lbC9zbXAuYwpAQCAtODQsMTkgKzg0LDExIEBACiAKIERFRklORV9QRVJfQ1BVKHNwaW5sb2NrX3QsIGlwaV9sb2NrKSA9IFNQSU5fTE9DS19VTkxPQ0tFRDsKIAotc3RydWN0IHNtcF9jYWxsX3N0cnVjdCB7Ci0Jdm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKTsKLQl2b2lkICppbmZvOwotCWxvbmcgd2FpdDsKLQlhdG9taWNfdCB1bnN0YXJ0ZWRfY291bnQ7Ci0JYXRvbWljX3QgdW5maW5pc2hlZF9jb3VudDsKLX07Ci1zdGF0aWMgdm9sYXRpbGUgc3RydWN0IHNtcF9jYWxsX3N0cnVjdCAqc21wX2NhbGxfZnVuY3Rpb25fZGF0YTsKLQogZW51bSBpcGlfbWVzc2FnZV90eXBlIHsKIAlJUElfTk9QPTAsCiAJSVBJX1JFU0NIRURVTEU9MSwKIAlJUElfQ0FMTF9GVU5DLAorCUlQSV9DQUxMX0ZVTkNfU0lOR0xFLAogCUlQSV9DUFVfU1RBUlQsCiAJSVBJX0NQVV9TVE9QLAogCUlQSV9DUFVfVEVTVApAQCAtMTg3LDMzICsxNzksMTIgQEAKIAogCQkJY2FzZSBJUElfQ0FMTF9GVU5DOgogCQkJCXNtcF9kZWJ1ZygxMDAsIEtFUk5fREVCVUcgIkNQVSVkIElQSV9DQUxMX0ZVTkNcbiIsIHRoaXNfY3B1KTsKLQkJCQl7Ci0JCQkJCXZvbGF0aWxlIHN0cnVjdCBzbXBfY2FsbF9zdHJ1Y3QgKmRhdGE7Ci0JCQkJCXZvaWQgKCpmdW5jKSh2b2lkICppbmZvKTsKLQkJCQkJdm9pZCAqaW5mbzsKLQkJCQkJaW50IHdhaXQ7CisJCQkJZ2VuZXJpY19zbXBfY2FsbF9mdW5jdGlvbl9pbnRlcnJ1cHQoKTsKKwkJCQlicmVhazsKIAotCQkJCQlkYXRhID0gc21wX2NhbGxfZnVuY3Rpb25fZGF0YTsKLQkJCQkJZnVuYyA9IGRhdGEtPmZ1bmM7Ci0JCQkJCWluZm8gPSBkYXRhLT5pbmZvOwotCQkJCQl3YWl0ID0gZGF0YS0+d2FpdDsKLQotCQkJCQltYigpOwotCQkJCQlhdG9taWNfZGVjICgoYXRvbWljX3QgKikmZGF0YS0+dW5zdGFydGVkX2NvdW50KTsKLQotCQkJCQkvKiBBdCB0aGlzIHBvaW50LCAqZGF0YSBjYW4ndAotCQkJCQkgKiBiZSByZWxpZWQgdXBvbi4KLQkJCQkJICovCi0KLQkJCQkJKCpmdW5jKShpbmZvKTsKLQotCQkJCQkvKiBOb3RpZnkgdGhlIHNlbmRpbmcgQ1BVIHRoYXQgdGhlCi0JCQkJCSAqIHRhc2sgaXMgZG9uZS4KLQkJCQkJICovCi0JCQkJCW1iKCk7Ci0JCQkJCWlmICh3YWl0KQotCQkJCQkJYXRvbWljX2RlYyAoKGF0b21pY190ICopJmRhdGEtPnVuZmluaXNoZWRfY291bnQpOwotCQkJCX0KKwkJCWNhc2UgSVBJX0NBTExfRlVOQ19TSU5HTEU6CisJCQkJc21wX2RlYnVnKDEwMCwgS0VSTl9ERUJVRyAiQ1BVJWQgSVBJX0NBTExfRlVOQ19TSU5HTEVcbiIsIHRoaXNfY3B1KTsKKwkJCQlnZW5lcmljX3NtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZV9pbnRlcnJ1cHQoKTsKIAkJCQlicmVhazsKIAogCQkJY2FzZSBJUElfQ1BVX1NUQVJUOgpAQCAtMjU2LDYgKzIyNywxNCBAQAogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUobG9jaywgZmxhZ3MpOwogfQogCitzdGF0aWMgdm9pZAorc2VuZF9JUElfbWFzayhjcHVtYXNrX3QgbWFzaywgZW51bSBpcGlfbWVzc2FnZV90eXBlIG9wKQoreworCWludCBjcHU7CisKKwlmb3JfZWFjaF9jcHVfbWFzayhjcHUsIG1hc2spCisJCWlwaV9zZW5kKGNwdSwgb3ApOworfQogCiBzdGF0aWMgaW5saW5lIHZvaWQKIHNlbmRfSVBJX3NpbmdsZShpbnQgZGVzdF9jcHUsIGVudW0gaXBpX21lc3NhZ2VfdHlwZSBvcCkKQEAgLTI5NSw4NiArMjc0LDE1IEBACiAJc2VuZF9JUElfYWxsYnV0c2VsZihJUElfTk9QKTsKIH0KIAotCi0vKioKLSAqIFJ1biBhIGZ1bmN0aW9uIG9uIGFsbCBvdGhlciBDUFVzLgotICogIDxmdW5jPglUaGUgZnVuY3Rpb24gdG8gcnVuLiBUaGlzIG11c3QgYmUgZmFzdCBhbmQgbm9uLWJsb2NraW5nLgotICogIDxpbmZvPglBbiBhcmJpdHJhcnkgcG9pbnRlciB0byBwYXNzIHRvIHRoZSBmdW5jdGlvbi4KLSAqICA8cmV0cnk+CUlmIHRydWUsIGtlZXAgcmV0cnlpbmcgdW50aWwgcmVhZHkuCi0gKiAgPHdhaXQ+CUlmIHRydWUsIHdhaXQgdW50aWwgZnVuY3Rpb24gaGFzIGNvbXBsZXRlZCBvbiBvdGhlciBDUFVzLgotICogIFtSRVRVUk5TXSAgIDAgb24gc3VjY2VzcywgZWxzZSBhIG5lZ2F0aXZlIHN0YXR1cyBjb2RlLgotICoKLSAqIERvZXMgbm90IHJldHVybiB1bnRpbCByZW1vdGUgQ1BVcyBhcmUgbmVhcmx5IHJlYWR5IHRvIGV4ZWN1dGUgPGZ1bmM+Ci0gKiBvciBoYXZlIGV4ZWN1dGVkLgotICovCi0KLWludAotc21wX2NhbGxfZnVuY3Rpb24gKHZvaWQgKCpmdW5jKSAodm9pZCAqaW5mbyksIHZvaWQgKmluZm8sIGludCByZXRyeSwgaW50IHdhaXQpCit2b2lkIGFyY2hfc2VuZF9jYWxsX2Z1bmN0aW9uX2lwaShjcHVtYXNrX3QgbWFzaykKIHsKLQlzdHJ1Y3Qgc21wX2NhbGxfc3RydWN0IGRhdGE7Ci0JdW5zaWduZWQgbG9uZyB0aW1lb3V0OwotCXN0YXRpYyBERUZJTkVfU1BJTkxPQ0sobG9jayk7Ci0JaW50IHJldHJpZXMgPSAwOwotCi0JaWYgKG51bV9vbmxpbmVfY3B1cygpIDwgMikKLQkJcmV0dXJuIDA7Ci0KLQkvKiBDYW4gZGVhZGxvY2sgd2hlbiBjYWxsZWQgd2l0aCBpbnRlcnJ1cHRzIGRpc2FibGVkICovCi0JV0FSTl9PTihpcnFzX2Rpc2FibGVkKCkpOwotCi0JLyogY2FuIGFsc28gZGVhZGxvY2sgaWYgSVBJcyBhcmUgZGlzYWJsZWQgKi8KLQlXQVJOX09OKChnZXRfZWllbSgpICYgKDFVTDw8KENQVV9JUlFfTUFYIC0gSVBJX0lSUSkpKSA9PSAwKTsKLQotCQotCWRhdGEuZnVuYyA9IGZ1bmM7Ci0JZGF0YS5pbmZvID0gaW5mbzsKLQlkYXRhLndhaXQgPSB3YWl0OwotCWF0b21pY19zZXQoJmRhdGEudW5zdGFydGVkX2NvdW50LCBudW1fb25saW5lX2NwdXMoKSAtIDEpOwotCWF0b21pY19zZXQoJmRhdGEudW5maW5pc2hlZF9jb3VudCwgbnVtX29ubGluZV9jcHVzKCkgLSAxKTsKLQotCWlmIChyZXRyeSkgewotCQlzcGluX2xvY2sgKCZsb2NrKTsKLQkJd2hpbGUgKHNtcF9jYWxsX2Z1bmN0aW9uX2RhdGEgIT0gMCkKLQkJCWJhcnJpZXIoKTsKLQl9Ci0JZWxzZSB7Ci0JCXNwaW5fbG9jayAoJmxvY2spOwotCQlpZiAoc21wX2NhbGxfZnVuY3Rpb25fZGF0YSkgewotCQkJc3Bpbl91bmxvY2sgKCZsb2NrKTsKLQkJCXJldHVybiAtRUJVU1k7Ci0JCX0KLQl9Ci0KLQlzbXBfY2FsbF9mdW5jdGlvbl9kYXRhID0gJmRhdGE7Ci0Jc3Bpbl91bmxvY2sgKCZsb2NrKTsKLQkKLQkvKiAgU2VuZCBhIG1lc3NhZ2UgdG8gYWxsIG90aGVyIENQVXMgYW5kIHdhaXQgZm9yIHRoZW0gdG8gcmVzcG9uZCAgKi8KLQlzZW5kX0lQSV9hbGxidXRzZWxmKElQSV9DQUxMX0ZVTkMpOwotCi0gcmV0cnk6Ci0JLyogIFdhaXQgZm9yIHJlc3BvbnNlICAqLwotCXRpbWVvdXQgPSBqaWZmaWVzICsgSFo7Ci0Jd2hpbGUgKCAoYXRvbWljX3JlYWQgKCZkYXRhLnVuc3RhcnRlZF9jb3VudCkgPiAwKSAmJgotCQl0aW1lX2JlZm9yZSAoamlmZmllcywgdGltZW91dCkgKQotCQliYXJyaWVyICgpOwotCi0JaWYgKGF0b21pY19yZWFkICgmZGF0YS51bnN0YXJ0ZWRfY291bnQpID4gMCkgewotCQlwcmludGsoS0VSTl9DUklUICJTTVAgQ0FMTCBGVU5DVElPTiBUSU1FRCBPVVQhIChjcHU9JWQpLCB0cnkgJWRcbiIsCi0JCSAgICAgIHNtcF9wcm9jZXNzb3JfaWQoKSwgKytyZXRyaWVzKTsKLQkJZ290byByZXRyeTsKLQl9Ci0JLyogV2UgZWl0aGVyIGdvdCBvbmUgb3IgdGltZWQgb3V0LiBSZWxlYXNlIHRoZSBsb2NrICovCi0KLQltYigpOwotCXNtcF9jYWxsX2Z1bmN0aW9uX2RhdGEgPSBOVUxMOwotCi0Jd2hpbGUgKHdhaXQgJiYgYXRvbWljX3JlYWQgKCZkYXRhLnVuZmluaXNoZWRfY291bnQpID4gMCkKLQkJCWJhcnJpZXIgKCk7Ci0KLQlyZXR1cm4gMDsKKwlzZW5kX0lQSV9tYXNrKG1hc2ssIElQSV9DQUxMX0ZVTkMpOwogfQogCi1FWFBPUlRfU1lNQk9MKHNtcF9jYWxsX2Z1bmN0aW9uKTsKK3ZvaWQgYXJjaF9zZW5kX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2lwaShpbnQgY3B1KQoreworCXNlbmRfSVBJX3NpbmdsZShjcHUsIElQSV9DQUxMX0ZVTkNfU0lOR0xFKTsKK30KIAogLyoKICAqIEZsdXNoIGFsbCBvdGhlciBDUFUncyB0bGIgYW5kIHRoZW4gbWluZS4gIERvIHRoaXMgd2l0aCBvbl9lYWNoX2NwdSgpCkBAIC0zODQsNyArMjkyLDcgQEAKIHZvaWQKIHNtcF9mbHVzaF90bGJfYWxsKHZvaWQpCiB7Ci0Jb25fZWFjaF9jcHUoZmx1c2hfdGxiX2FsbF9sb2NhbCwgTlVMTCwgMSwgMSk7CisJb25fZWFjaF9jcHUoZmx1c2hfdGxiX2FsbF9sb2NhbCwgTlVMTCwgMSk7CiB9CiAKIC8qCmRpZmYgLS1naXQgYS9hcmNoL3BhcmlzYy9rZXJuZWwvdm1saW51eC5sZHMuUyBiL2FyY2gvcGFyaXNjL2tlcm5lbC92bWxpbnV4Lmxkcy5TCmluZGV4IDJlNTE2YjguLjFhM2I2Y2MgMTAwNjQ0Ci0tLSBhL2FyY2gvcGFyaXNjL2tlcm5lbC92bWxpbnV4Lmxkcy5TCisrKyBiL2FyY2gvcGFyaXNjL2tlcm5lbC92bWxpbnV4Lmxkcy5TCkBAIC02Nyw3ICs2Nyw2IEBACiAJX2V0ZXh0ID0gLjsKIAogCVJPREFUQQotCUJVR19UQUJMRQogCiAJLyogd3JpdGVhYmxlICovCiAJLyogTWFrZSBzdXJlIHRoaXMgaXMgcGFnZSBhbGlnbmVkIHNvCmRpZmYgLS1naXQgYS9hcmNoL3BhcmlzYy9tbS9pbml0LmMgYi9hcmNoL3BhcmlzYy9tbS9pbml0LmMKaW5kZXggY2UwZGE2OC4uYjRkNmM4NyAxMDA2NDQKLS0tIGEvYXJjaC9wYXJpc2MvbW0vaW5pdC5jCisrKyBiL2FyY2gvcGFyaXNjL21tL2luaXQuYwpAQCAtMTA1Myw3ICsxMDUzLDcgQEAKIAkgICAgZG9fcmVjeWNsZSsrOwogCX0KIAlzcGluX3VubG9jaygmc2lkX2xvY2spOwotCW9uX2VhY2hfY3B1KGZsdXNoX3RsYl9hbGxfbG9jYWwsIE5VTEwsIDEsIDEpOworCW9uX2VhY2hfY3B1KGZsdXNoX3RsYl9hbGxfbG9jYWwsIE5VTEwsIDEpOwogCWlmIChkb19yZWN5Y2xlKSB7CiAJICAgIHNwaW5fbG9jaygmc2lkX2xvY2spOwogCSAgICByZWN5Y2xlX3NpZHMocmVjeWNsZV9uZGlydHkscmVjeWNsZV9kaXJ0eV9hcnJheSk7CmRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMvS2NvbmZpZyBiL2FyY2gvcG93ZXJwYy9LY29uZmlnCmluZGV4IDM5MzRlMjYuLjIwZWFjZjIgMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9LY29uZmlnCisrKyBiL2FyY2gvcG93ZXJwYy9LY29uZmlnCkBAIC0xMDUsMTEgKzEwNSwxNCBAQAogY29uZmlnIFBQQwogCWJvb2wKIAlkZWZhdWx0IHkKKwlzZWxlY3QgSEFWRV9EWU5BTUlDX0ZUUkFDRQorCXNlbGVjdCBIQVZFX0ZUUkFDRQogCXNlbGVjdCBIQVZFX0lERQotCXNlbGVjdCBIQVZFX09QUk9GSUxFCiAJc2VsZWN0IEhBVkVfS1BST0JFUwogCXNlbGVjdCBIQVZFX0tSRVRQUk9CRVMKIAlzZWxlY3QgSEFWRV9MTUIKKwlzZWxlY3QgVVNFX0dFTkVSSUNfU01QX0hFTFBFUlMgaWYgU01QCisJc2VsZWN0IEhBVkVfT1BST0ZJTEUKIAogY29uZmlnIEVBUkxZX1BSSU5USwogCWJvb2wKZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9rZXJuZWwvTWFrZWZpbGUgYi9hcmNoL3Bvd2VycGMva2VybmVsL01ha2VmaWxlCmluZGV4IDIzNDZkMjcuLmYzZjVlMjYgMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9rZXJuZWwvTWFrZWZpbGUKKysrIGIvYXJjaC9wb3dlcnBjL2tlcm5lbC9NYWtlZmlsZQpAQCAtMTIsNiArMTIsMTggQEAKIENGTEFHU19idGV4dC5vCQkrPSAtZlBJQwogZW5kaWYKIAoraWZkZWYgQ09ORklHX0ZUUkFDRQorIyBEbyBub3QgdHJhY2UgZWFybHkgYm9vdCBjb2RlCitDRkxBR1NfUkVNT1ZFX2NwdXRhYmxlLm8gPSAtcGcKK0NGTEFHU19SRU1PVkVfcHJvbV9pbml0Lm8gPSAtcGcKKworaWZkZWYgQ09ORklHX0RZTkFNSUNfRlRSQUNFCisjIGR5bmFtaWMgZnRyYWNlIHNldHVwLgorQ0ZMQUdTX1JFTU9WRV9mdHJhY2UubyA9IC1wZworZW5kaWYKKworZW5kaWYKKwogb2JqLXkJCQkJOj0gY3B1dGFibGUubyBwdHJhY2UubyBzeXNjYWxscy5vIFwKIAkJCQkgICBpcnEubyBhbGlnbi5vIHNpZ25hbF8zMi5vIHBtYy5vIHZkc28ubyBcCiAJCQkJICAgaW5pdF90YXNrLm8gcHJvY2Vzcy5vIHN5c3RibC5vIGlkbGUubyBcCkBAIC03OCw2ICs5MCw4IEBACiBvYmotJChDT05GSUdfQVVESVQpCQkrPSBhdWRpdC5vCiBvYmo2NC0kKENPTkZJR19BVURJVCkJCSs9IGNvbXBhdF9hdWRpdC5vCiAKK29iai0kKENPTkZJR19EWU5BTUlDX0ZUUkFDRSkJKz0gZnRyYWNlLm8KKwogb2JqLSQoQ09ORklHXzhYWF9NSU5JTUFMX0ZQRU1VKSArPSBzb2Z0ZW11OHh4Lm8KIAogaWZuZXEgKCQoQ09ORklHX1BQQ19JTkRJUkVDVF9JTykseSkKZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9rZXJuZWwvZW50cnlfMzIuUyBiL2FyY2gvcG93ZXJwYy9rZXJuZWwvZW50cnlfMzIuUwppbmRleCAwYzg2MTRkLi43MjMxYTcwIDEwMDY0NAotLS0gYS9hcmNoL3Bvd2VycGMva2VybmVsL2VudHJ5XzMyLlMKKysrIGIvYXJjaC9wb3dlcnBjL2tlcm5lbC9lbnRyeV8zMi5TCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSA8YXNtL3BwY19hc20uaD4KICNpbmNsdWRlIDxhc20vYXNtLW9mZnNldHMuaD4KICNpbmNsdWRlIDxhc20vdW5pc3RkLmg+CisjaW5jbHVkZSA8YXNtL2Z0cmFjZS5oPgogCiAjdW5kZWYgU0hPV19TWVNDQUxMUwogI3VuZGVmIFNIT1dfU1lTQ0FMTFNfVEFTSwpAQCAtMTAzNSwzICsxMDM2LDEyOSBAQAogCS8qIFhYWCBsb2FkIHVwIEJBVHMgYW5kIHBhbmljICovCiAKICNlbmRpZiAvKiBDT05GSUdfUFBDX1JUQVMgKi8KKworI2lmZGVmIENPTkZJR19GVFJBQ0UKKyNpZmRlZiBDT05GSUdfRFlOQU1JQ19GVFJBQ0UKK19HTE9CQUwobWNvdW50KQorX0dMT0JBTChfbWNvdW50KQorCXN0d3UJcjEsLTQ4KHIxKQorCXN0dwlyMywgMTIocjEpCisJc3R3CXI0LCAxNihyMSkKKwlzdHcJcjUsIDIwKHIxKQorCXN0dwlyNiwgMjQocjEpCisJbWZscglyMworCXN0dwlyNywgMjgocjEpCisJbWZjcglyNQorCXN0dwlyOCwgMzIocjEpCisJc3R3CXI5LCAzNihyMSkKKwlzdHcJcjEwLDQwKHIxKQorCXN0dwlyMywgNDQocjEpCisJc3R3CXI1LCA4KHIxKQorCXN1YmkJcjMsIHIzLCBNQ09VTlRfSU5TTl9TSVpFCisJLmdsb2JsIG1jb3VudF9jYWxsCittY291bnRfY2FsbDoKKwlibAlmdHJhY2Vfc3R1YgorCW5vcAorCWx3eglyNiwgOChyMSkKKwlsd3oJcjAsIDQ0KHIxKQorCWx3eglyMywgMTIocjEpCisJbXRjdHIJcjAKKwlsd3oJcjQsIDE2KHIxKQorCW10Y3IJcjYKKwlsd3oJcjUsIDIwKHIxKQorCWx3eglyNiwgMjQocjEpCisJbHd6CXIwLCA1MihyMSkKKwlsd3oJcjcsIDI4KHIxKQorCWx3eglyOCwgMzIocjEpCisJbXRscglyMAorCWx3eglyOSwgMzYocjEpCisJbHd6CXIxMCw0MChyMSkKKwlhZGRpCXIxLCByMSwgNDgKKwliY3RyCisKK19HTE9CQUwoZnRyYWNlX2NhbGxlcikKKwkvKiBCYXNlZCBvZmYgb2Ygb2JqZHVtcCBvcHRwdXQgZnJvbSBnbGliYyAqLworCXN0d3UJcjEsLTQ4KHIxKQorCXN0dwlyMywgMTIocjEpCisJc3R3CXI0LCAxNihyMSkKKwlzdHcJcjUsIDIwKHIxKQorCXN0dwlyNiwgMjQocjEpCisJbWZscglyMworCWx3eglyNCwgNTIocjEpCisJbWZjcglyNQorCXN0dwlyNywgMjgocjEpCisJc3R3CXI4LCAzMihyMSkKKwlzdHcJcjksIDM2KHIxKQorCXN0dwlyMTAsNDAocjEpCisJc3R3CXIzLCA0NChyMSkKKwlzdHcJcjUsIDgocjEpCisJc3ViaQlyMywgcjMsIE1DT1VOVF9JTlNOX1NJWkUKKy5nbG9ibCBmdHJhY2VfY2FsbAorZnRyYWNlX2NhbGw6CisJYmwJZnRyYWNlX3N0dWIKKwlub3AKKwlsd3oJcjYsIDgocjEpCisJbHd6CXIwLCA0NChyMSkKKwlsd3oJcjMsIDEyKHIxKQorCW10Y3RyCXIwCisJbHd6CXI0LCAxNihyMSkKKwltdGNyCXI2CisJbHd6CXI1LCAyMChyMSkKKwlsd3oJcjYsIDI0KHIxKQorCWx3eglyMCwgNTIocjEpCisJbHd6CXI3LCAyOChyMSkKKwlsd3oJcjgsIDMyKHIxKQorCW10bHIJcjAKKwlsd3oJcjksIDM2KHIxKQorCWx3eglyMTAsNDAocjEpCisJYWRkaQlyMSwgcjEsIDQ4CisJYmN0cgorI2Vsc2UKK19HTE9CQUwobWNvdW50KQorX0dMT0JBTChfbWNvdW50KQorCXN0d3UJcjEsLTQ4KHIxKQorCXN0dwlyMywgMTIocjEpCisJc3R3CXI0LCAxNihyMSkKKwlzdHcJcjUsIDIwKHIxKQorCXN0dwlyNiwgMjQocjEpCisJbWZscglyMworCWx3eglyNCwgNTIocjEpCisJbWZjcglyNQorCXN0dwlyNywgMjgocjEpCisJc3R3CXI4LCAzMihyMSkKKwlzdHcJcjksIDM2KHIxKQorCXN0dwlyMTAsNDAocjEpCisJc3R3CXIzLCA0NChyMSkKKwlzdHcJcjUsIDgocjEpCisKKwlzdWJpCXIzLCByMywgTUNPVU5UX0lOU05fU0laRQorCUxPQURfUkVHX0FERFIocjUsIGZ0cmFjZV90cmFjZV9mdW5jdGlvbikKKwlsd3oJcjUsMChyNSkKKworCW10Y3RyCXI1CisJYmN0cmwKKworCW5vcAorCisJbHd6CXI2LCA4KHIxKQorCWx3eglyMCwgNDQocjEpCisJbHd6CXIzLCAxMihyMSkKKwltdGN0cglyMAorCWx3eglyNCwgMTYocjEpCisJbXRjcglyNgorCWx3eglyNSwgMjAocjEpCisJbHd6CXI2LCAyNChyMSkKKwlsd3oJcjAsIDUyKHIxKQorCWx3eglyNywgMjgocjEpCisJbHd6CXI4LCAzMihyMSkKKwltdGxyCXIwCisJbHd6CXI5LCAzNihyMSkKKwlsd3oJcjEwLDQwKHIxKQorCWFkZGkJcjEsIHIxLCA0OAorCWJjdHIKKyNlbmRpZgorCitfR0xPQkFMKGZ0cmFjZV9zdHViKQorCWJscgorCisjZW5kaWYgLyogQ09ORklHX01DT1VOVCAqLwpkaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL2tlcm5lbC9lbnRyeV82NC5TIGIvYXJjaC9wb3dlcnBjL2tlcm5lbC9lbnRyeV82NC5TCmluZGV4IGMwZGI1YjcuLjJmNTExYTkgMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9rZXJuZWwvZW50cnlfNjQuUworKysgYi9hcmNoL3Bvd2VycGMva2VybmVsL2VudHJ5XzY0LlMKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlIDxhc20vYnVnLmg+CiAjaW5jbHVkZSA8YXNtL3B0cmFjZS5oPgogI2luY2x1ZGUgPGFzbS9pcnFmbGFncy5oPgorI2luY2x1ZGUgPGFzbS9mdHJhY2UuaD4KIAogLyoKICAqIFN5c3RlbSBjYWxscy4KQEAgLTg3MCwzICs4NzEsNjcgQEAKIAlsZAlyMCwxNihyMSkKIAltdGxyICAgIHIwCiAgICAgICAgIGJscgorCisjaWZkZWYgQ09ORklHX0ZUUkFDRQorI2lmZGVmIENPTkZJR19EWU5BTUlDX0ZUUkFDRQorX0dMT0JBTChtY291bnQpCitfR0xPQkFMKF9tY291bnQpCisJLyogVGFrZW4gZnJvbSBvdXRwdXQgb2Ygb2JqZHVtcCBmcm9tIGxpYjY0L2dsaWJjICovCisJbWZscglyMworCXN0ZHUJcjEsIC0xMTIocjEpCisJc3RkCXIzLCAxMjgocjEpCisJc3ViaQlyMywgcjMsIE1DT1VOVF9JTlNOX1NJWkUKKwkuZ2xvYmwgbWNvdW50X2NhbGwKK21jb3VudF9jYWxsOgorCWJsCWZ0cmFjZV9zdHViCisJbm9wCisJbGQJcjAsIDEyOChyMSkKKwltdGxyCXIwCisJYWRkaQlyMSwgcjEsIDExMgorCWJscgorCitfR0xPQkFMKGZ0cmFjZV9jYWxsZXIpCisJLyogVGFrZW4gZnJvbSBvdXRwdXQgb2Ygb2JqZHVtcCBmcm9tIGxpYjY0L2dsaWJjICovCisJbWZscglyMworCWxkCXIxMSwgMChyMSkKKwlzdGR1CXIxLCAtMTEyKHIxKQorCXN0ZAlyMywgMTI4KHIxKQorCWxkCXI0LCAxNihyMTEpCisJc3ViaQlyMywgcjMsIE1DT1VOVF9JTlNOX1NJWkUKKy5nbG9ibCBmdHJhY2VfY2FsbAorZnRyYWNlX2NhbGw6CisJYmwJZnRyYWNlX3N0dWIKKwlub3AKKwlsZAlyMCwgMTI4KHIxKQorCW10bHIJcjAKKwlhZGRpCXIxLCByMSwgMTEyCitfR0xPQkFMKGZ0cmFjZV9zdHViKQorCWJscgorI2Vsc2UKK19HTE9CQUwobWNvdW50KQorCWJscgorCitfR0xPQkFMKF9tY291bnQpCisJLyogVGFrZW4gZnJvbSBvdXRwdXQgb2Ygb2JqZHVtcCBmcm9tIGxpYjY0L2dsaWJjICovCisJbWZscglyMworCWxkCXIxMSwgMChyMSkKKwlzdGR1CXIxLCAtMTEyKHIxKQorCXN0ZAlyMywgMTI4KHIxKQorCWxkCXI0LCAxNihyMTEpCisKKwlzdWJpCXIzLCByMywgTUNPVU5UX0lOU05fU0laRQorCUxPQURfUkVHX0FERFIocjUsZnRyYWNlX3RyYWNlX2Z1bmN0aW9uKQorCWxkCXI1LDAocjUpCisJbGQJcjUsMChyNSkKKwltdGN0cglyNQorCWJjdHJsCisKKwlub3AKKwlsZAlyMCwgMTI4KHIxKQorCW10bHIJcjAKKwlhZGRpCXIxLCByMSwgMTEyCitfR0xPQkFMKGZ0cmFjZV9zdHViKQorCWJscgorCisjZW5kaWYKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL2tlcm5lbC9mdHJhY2UuYyBiL2FyY2gvcG93ZXJwYy9rZXJuZWwvZnRyYWNlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzg1NWNlYgotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvcG93ZXJwYy9rZXJuZWwvZnRyYWNlLmMKQEAgLTAsMCArMSwxNTQgQEAKKy8qCisgKiBDb2RlIGZvciByZXBsYWNpbmcgZnRyYWNlIGNhbGxzIHdpdGgganVtcHMuCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMDggU3RldmVuIFJvc3RlZHQgPHNyb3N0ZWR0QHJlZGhhdC5jb20+CisgKgorICogVGhhbmtzIGdvZXMgb3V0IHRvIFAuQS4gU2VtaSwgSW5jIGZvciBzdXBwbHlpbmcgbWUgd2l0aCBhIFBQQzY0IGJveC4KKyAqCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CisjaW5jbHVkZSA8bGludXgvaGFyZGlycS5oPgorI2luY2x1ZGUgPGxpbnV4L2Z0cmFjZS5oPgorI2luY2x1ZGUgPGxpbnV4L3BlcmNwdS5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9saXN0Lmg+CisKKyNpbmNsdWRlIDxhc20vY2FjaGVmbHVzaC5oPgorI2luY2x1ZGUgPGFzbS9mdHJhY2UuaD4KKworCitzdGF0aWMgdW5zaWduZWQgaW50IGZ0cmFjZV9ub3AgPSAweDYwMDAwMDAwOworCisjaWZkZWYgQ09ORklHX1BQQzMyCisjIGRlZmluZSBHRVRfQUREUihhZGRyKSBhZGRyCisjZWxzZQorLyogUG93ZXJQQzY0J3MgZnVuY3Rpb25zIGFyZSBkYXRhIHRoYXQgcG9pbnRzIHRvIHRoZSBmdW5jdGlvbnMgKi8KKyMgZGVmaW5lIEdFVF9BRERSKGFkZHIpICoodW5zaWduZWQgbG9uZyAqKWFkZHIKKyNlbmRpZgorCisKK3N0YXRpYyB1bnNpZ25lZCBpbnQgbm90cmFjZSBmdHJhY2VfY2FsY19vZmZzZXQobG9uZyBpcCwgbG9uZyBhZGRyKQoreworCXJldHVybiAoaW50KShhZGRyIC0gaXApOworfQorCitub3RyYWNlIHVuc2lnbmVkIGNoYXIgKmZ0cmFjZV9ub3BfcmVwbGFjZSh2b2lkKQoreworCXJldHVybiAoY2hhciAqKSZmdHJhY2Vfbm9wOworfQorCitub3RyYWNlIHVuc2lnbmVkIGNoYXIgKmZ0cmFjZV9jYWxsX3JlcGxhY2UodW5zaWduZWQgbG9uZyBpcCwgdW5zaWduZWQgbG9uZyBhZGRyKQoreworCXN0YXRpYyB1bnNpZ25lZCBpbnQgb3A7CisKKwkvKgorCSAqIEl0IHdvdWxkIGJlIG5pY2UgdG8ganVzdCB1c2UgY3JlYXRlX2Z1bmN0aW9uX2NhbGwsIGJ1dCB0aGF0IHdpbGwKKwkgKiB1cGRhdGUgdGhlIGNvZGUgaXRzZWxmLiBIZXJlIHdlIG5lZWQgdG8ganVzdCByZXR1cm4gdGhlCisJICogaW5zdHJ1Y3Rpb24gdGhhdCBpcyBnb2luZyB0byBiZSBtb2RpZmllZCwgd2l0aG91dCBtb2RpZnlpbmcgdGhlCisJICogY29kZS4KKwkgKi8KKwlhZGRyID0gR0VUX0FERFIoYWRkcik7CisKKwkvKiBTZXQgdG8gImJsIGFkZHIiICovCisJb3AgPSAweDQ4MDAwMDAxIHwgKGZ0cmFjZV9jYWxjX29mZnNldChpcCwgYWRkcikgJiAweDAzZmZmZmZjKTsKKworCS8qCisJICogTm8gbG9ja2luZyBuZWVkZWQsIHRoaXMgbXVzdCBiZSBjYWxsZWQgdmlhIGtzdG9wX21hY2hpbmUKKwkgKiB3aGljaCBpbiBlc3NlbmNlIGlzIGxpa2UgcnVubmluZyBvbiBhIHVuaXByb2Nlc3NvciBtYWNoaW5lLgorCSAqLworCXJldHVybiAodW5zaWduZWQgY2hhciAqKSZvcDsKK30KKworI2lmZGVmIENPTkZJR19QUEM2NAorIyBkZWZpbmUgX0FTTV9BTElHTgkiIC5hbGlnbiAzICIKKyMgZGVmaW5lIF9BU01fUFRSCSIgLmxsb25nICIKKyNlbHNlCisjIGRlZmluZSBfQVNNX0FMSUdOCSIgLmFsaWduIDIgIgorIyBkZWZpbmUgX0FTTV9QVFIJIiAubG9uZyAiCisjZW5kaWYKKworbm90cmFjZSBpbnQKK2Z0cmFjZV9tb2RpZnlfY29kZSh1bnNpZ25lZCBsb25nIGlwLCB1bnNpZ25lZCBjaGFyICpvbGRfY29kZSwKKwkJICAgdW5zaWduZWQgY2hhciAqbmV3X2NvZGUpCit7CisJdW5zaWduZWQgcmVwbGFjZWQ7CisJdW5zaWduZWQgb2xkID0gKih1bnNpZ25lZCAqKW9sZF9jb2RlOworCXVuc2lnbmVkIG5ldyA9ICoodW5zaWduZWQgKiluZXdfY29kZTsKKwlpbnQgZmF1bHRlZCA9IDA7CisKKwkvKgorCSAqIE5vdGU6IER1ZSB0byBtb2R1bGVzIGFuZCBfX2luaXQsIGNvZGUgY2FuCisJICogIGRpc2FwcGVhciBhbmQgY2hhbmdlLCB3ZSBuZWVkIHRvIHByb3RlY3QgYWdhaW5zdCBmYXVsdGluZworCSAqICBhcyB3ZWxsIGFzIGNvZGUgY2hhbmdpbmcuCisJICoKKwkgKiBObyByZWFsIGxvY2tpbmcgbmVlZGVkLCB0aGlzIGNvZGUgaXMgcnVuIHRocm91Z2gKKwkgKiBrc3RvcF9tYWNoaW5lLgorCSAqLworCWFzbSB2b2xhdGlsZSAoCisJCSIxOiBsd3oJCSUxLCAwKCUyKVxuIgorCQkiICAgY21wdwklMSwgJTVcbiIKKwkJIiAgIGJuZQkJMmZcbiIKKwkJIiAgIHN0d3UJJTMsIDAoJTIpXG4iCisJCSIyOlxuIgorCQkiLnNlY3Rpb24gLmZpeHVwLCBcImF4XCJcbiIKKwkJIjM6CWxpICUwLCAxXG4iCisJCSIJYiAyYlxuIgorCQkiLnByZXZpb3VzXG4iCisJCSIuc2VjdGlvbiBfX2V4X3RhYmxlLFwiYVwiXG4iCisJCV9BU01fQUxJR04gIlxuIgorCQlfQVNNX1BUUiAiMWIsIDNiXG4iCisJCSIucHJldmlvdXMiCisJCTogIj1yIihmYXVsdGVkKSwgIj1yIihyZXBsYWNlZCkKKwkJOiAiciIoaXApLCAiciIobmV3KSwKKwkJICAiMCIoZmF1bHRlZCksICJyIihvbGQpCisJCTogIm1lbW9yeSIpOworCisJaWYgKHJlcGxhY2VkICE9IG9sZCAmJiByZXBsYWNlZCAhPSBuZXcpCisJCWZhdWx0ZWQgPSAyOworCisJaWYgKCFmYXVsdGVkKQorCQlmbHVzaF9pY2FjaGVfcmFuZ2UoaXAsIGlwICsgOCk7CisKKwlyZXR1cm4gZmF1bHRlZDsKK30KKworbm90cmFjZSBpbnQgZnRyYWNlX3VwZGF0ZV9mdHJhY2VfZnVuYyhmdHJhY2VfZnVuY190IGZ1bmMpCit7CisJdW5zaWduZWQgbG9uZyBpcCA9ICh1bnNpZ25lZCBsb25nKSgmZnRyYWNlX2NhbGwpOworCXVuc2lnbmVkIGNoYXIgb2xkW01DT1VOVF9JTlNOX1NJWkVdLCAqbmV3OworCWludCByZXQ7CisKKwltZW1jcHkob2xkLCAmZnRyYWNlX2NhbGwsIE1DT1VOVF9JTlNOX1NJWkUpOworCW5ldyA9IGZ0cmFjZV9jYWxsX3JlcGxhY2UoaXAsICh1bnNpZ25lZCBsb25nKWZ1bmMpOworCXJldCA9IGZ0cmFjZV9tb2RpZnlfY29kZShpcCwgb2xkLCBuZXcpOworCisJcmV0dXJuIHJldDsKK30KKworbm90cmFjZSBpbnQgZnRyYWNlX21jb3VudF9zZXQodW5zaWduZWQgbG9uZyAqZGF0YSkKK3sKKwl1bnNpZ25lZCBsb25nIGlwID0gKGxvbmcpKCZtY291bnRfY2FsbCk7CisJdW5zaWduZWQgbG9uZyAqYWRkciA9IGRhdGE7CisJdW5zaWduZWQgY2hhciBvbGRbTUNPVU5UX0lOU05fU0laRV0sICpuZXc7CisKKwkvKgorCSAqIFJlcGxhY2UgdGhlIG1jb3VudCBzdHViIHdpdGggYSBwb2ludGVyIHRvIHRoZQorCSAqIGlwIHJlY29yZGVyIGZ1bmN0aW9uLgorCSAqLworCW1lbWNweShvbGQsICZtY291bnRfY2FsbCwgTUNPVU5UX0lOU05fU0laRSk7CisJbmV3ID0gZnRyYWNlX2NhbGxfcmVwbGFjZShpcCwgKmFkZHIpOworCSphZGRyID0gZnRyYWNlX21vZGlmeV9jb2RlKGlwLCBvbGQsIG5ldyk7CisKKwlyZXR1cm4gMDsKK30KKworaW50IF9faW5pdCBmdHJhY2VfZHluX2FyY2hfaW5pdCh2b2lkICpkYXRhKQoreworCS8qIFRoaXMgaXMgcnVubmluZyBpbiBrc3RvcF9tYWNoaW5lICovCisKKwlmdHJhY2VfbWNvdW50X3NldChkYXRhKTsKKworCXJldHVybiAwOworfQorCmRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMva2VybmVsL2lvLmMgYi9hcmNoL3Bvd2VycGMva2VybmVsL2lvLmMKaW5kZXggZTMxYWNhOTIuLjE4ODJiZjQgMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9rZXJuZWwvaW8uYworKysgYi9hcmNoL3Bvd2VycGMva2VybmVsL2lvLmMKQEAgLTEyMCw3ICsxMjAsOCBAQAogCiAjZGVmaW5lIElPX0NIRUNLX0FMSUdOKHYsYSkgKCgoKHVuc2lnbmVkIGxvbmcpKHYpKSAmICgoYSkgLSAxKSkgPT0gMCkKIAotdm9pZCBfbWVtc2V0X2lvKHZvbGF0aWxlIHZvaWQgX19pb21lbSAqYWRkciwgaW50IGMsIHVuc2lnbmVkIGxvbmcgbikKK25vdHJhY2Ugdm9pZAorX21lbXNldF9pbyh2b2xhdGlsZSB2b2lkIF9faW9tZW0gKmFkZHIsIGludCBjLCB1bnNpZ25lZCBsb25nIG4pCiB7CiAJdm9pZCAqcCA9ICh2b2lkIF9fZm9yY2UgKilhZGRyOwogCXUzMiBsYyA9IGM7CmRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMva2VybmVsL2lycS5jIGIvYXJjaC9wb3dlcnBjL2tlcm5lbC9pcnEuYwppbmRleCBiY2MyNDlkLi5kY2M5NDZlIDEwMDY0NAotLS0gYS9hcmNoL3Bvd2VycGMva2VybmVsL2lycS5jCisrKyBiL2FyY2gvcG93ZXJwYy9rZXJuZWwvaXJxLmMKQEAgLTk4LDcgKzk4LDcgQEAKIAogaW50IGRpc3RyaWJ1dGVfaXJxcyA9IDE7CiAKLXN0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyBnZXRfaGFyZF9lbmFibGVkKHZvaWQpCitzdGF0aWMgaW5saW5lIG5vdHJhY2UgdW5zaWduZWQgbG9uZyBnZXRfaGFyZF9lbmFibGVkKHZvaWQpCiB7CiAJdW5zaWduZWQgbG9uZyBlbmFibGVkOwogCkBAIC0xMDgsMTMgKzEwOCwxMyBAQAogCXJldHVybiBlbmFibGVkOwogfQogCi1zdGF0aWMgaW5saW5lIHZvaWQgc2V0X3NvZnRfZW5hYmxlZCh1bnNpZ25lZCBsb25nIGVuYWJsZSkKK3N0YXRpYyBpbmxpbmUgbm90cmFjZSB2b2lkIHNldF9zb2Z0X2VuYWJsZWQodW5zaWduZWQgbG9uZyBlbmFibGUpCiB7CiAJX19hc21fXyBfX3ZvbGF0aWxlX18oInN0YiAlMCwlMSgxMykiCiAJOiA6ICJyIiAoZW5hYmxlKSwgImkiIChvZmZzZXRvZihzdHJ1Y3QgcGFjYV9zdHJ1Y3QsIHNvZnRfZW5hYmxlZCkpKTsKIH0KIAotdm9pZCByYXdfbG9jYWxfaXJxX3Jlc3RvcmUodW5zaWduZWQgbG9uZyBlbikKK25vdHJhY2Ugdm9pZCByYXdfbG9jYWxfaXJxX3Jlc3RvcmUodW5zaWduZWQgbG9uZyBlbikKIHsKIAkvKgogCSAqIGdldF9wYWNhKCktPnNvZnRfZW5hYmxlZCA9IGVuOwpkaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL2tlcm5lbC9tYWNoaW5lX2tleGVjXzY0LmMgYi9hcmNoL3Bvd2VycGMva2VybmVsL21hY2hpbmVfa2V4ZWNfNjQuYwppbmRleCA3MDQzNzViLi5iNzMyYjVmIDEwMDY0NAotLS0gYS9hcmNoL3Bvd2VycGMva2VybmVsL21hY2hpbmVfa2V4ZWNfNjQuYworKysgYi9hcmNoL3Bvd2VycGMva2VybmVsL21hY2hpbmVfa2V4ZWNfNjQuYwpAQCAtMTcyLDcgKzE3Miw3IEBACiB7CiAJaW50IG15X2NwdSwgaSwgbm90aWZpZWQ9LTE7CiAKLQlzbXBfY2FsbF9mdW5jdGlvbihrZXhlY19zbXBfZG93biwgTlVMTCwgMCwgLyogd2FpdCAqLzApOworCXNtcF9jYWxsX2Z1bmN0aW9uKGtleGVjX3NtcF9kb3duLCBOVUxMLCAvKiB3YWl0ICovMCk7CiAJbXlfY3B1ID0gZ2V0X2NwdSgpOwogCiAJLyogY2hlY2sgdGhlIG90aGVycyBjcHVzIGFyZSBub3cgZG93biAodmlhIHBhY2EgaHcgY3B1IGlkID09IC0xKSAqLwpkaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL2tlcm5lbC9vZl9wbGF0Zm9ybS5jIGIvYXJjaC9wb3dlcnBjL2tlcm5lbC9vZl9wbGF0Zm9ybS5jCmluZGV4IGU3OWFkOGEuLjNmMzdhNmUgMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9rZXJuZWwvb2ZfcGxhdGZvcm0uYworKysgYi9hcmNoL3Bvd2VycGMva2VybmVsL29mX3BsYXRmb3JtLmMKQEAgLTc2LDYgKzc2LDggQEAKIAkJcmV0dXJuIE5VTEw7CiAKIAlkZXYtPmRtYV9tYXNrID0gMHhmZmZmZmZmZlVMOworCWRldi0+ZGV2LmNvaGVyZW50X2RtYV9tYXNrID0gRE1BXzMyQklUX01BU0s7CisKIAlkZXYtPmRldi5idXMgPSAmb2ZfcGxhdGZvcm1fYnVzX3R5cGU7CiAKIAkvKiBXZSBkbyBub3QgZmlsbCB0aGUgRE1BIG9wcyBmb3IgcGxhdGZvcm0gZGV2aWNlcyBieSBkZWZhdWx0LgpkaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL2tlcm5lbC9wcGNfa3N5bXMuYyBiL2FyY2gvcG93ZXJwYy9rZXJuZWwvcHBjX2tzeW1zLmMKaW5kZXggZDNhYzYzMS4uYThkMDI1MCAxMDA2NDQKLS0tIGEvYXJjaC9wb3dlcnBjL2tlcm5lbC9wcGNfa3N5bXMuYworKysgYi9hcmNoL3Bvd2VycGMva2VybmVsL3BwY19rc3ltcy5jCkBAIC00Miw2ICs0Miw3IEBACiAjaW5jbHVkZSA8YXNtL2RpdjY0Lmg+CiAjaW5jbHVkZSA8YXNtL3NpZ25hbC5oPgogI2luY2x1ZGUgPGFzbS9kY3IuaD4KKyNpbmNsdWRlIDxhc20vZnRyYWNlLmg+CiAKICNpZmRlZiBDT05GSUdfUFBDMzIKIGV4dGVybiB2b2lkIHRyYW5zZmVyX3RvX2hhbmRsZXIodm9pZCk7CkBAIC02Nyw2ICs2OCwxMCBAQAogRVhQT1JUX1NZTUJPTChzeXNfc2lncmV0dXJuKTsKICNlbmRpZgogCisjaWZkZWYgQ09ORklHX0ZUUkFDRQorRVhQT1JUX1NZTUJPTChfbWNvdW50KTsKKyNlbmRpZgorCiBFWFBPUlRfU1lNQk9MKHN0cmNweSk7CiBFWFBPUlRfU1lNQk9MKHN0cm5jcHkpOwogRVhQT1JUX1NZTUJPTChzdHJjYXQpOwpkaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL2tlcm5lbC9ydGFzLmMgYi9hcmNoL3Bvd2VycGMva2VybmVsL3J0YXMuYwppbmRleCAzNDg0M2MzLi42NDdmM2U4IDEwMDY0NAotLS0gYS9hcmNoL3Bvd2VycGMva2VybmVsL3J0YXMuYworKysgYi9hcmNoL3Bvd2VycGMva2VybmVsL3J0YXMuYwpAQCAtNzQ3LDcgKzc0Nyw3IEBACiAJLyogQ2FsbCBmdW5jdGlvbiBvbiBhbGwgQ1BVcy4gIE9uZSBvZiB1cyB3aWxsIG1ha2UgdGhlCiAJICogcnRhcyBjYWxsCiAJICovCi0JaWYgKG9uX2VhY2hfY3B1KHJ0YXNfcGVyY3B1X3N1c3BlbmRfbWUsICZkYXRhLCAxLCAwKSkKKwlpZiAob25fZWFjaF9jcHUocnRhc19wZXJjcHVfc3VzcGVuZF9tZSwgJmRhdGEsIDApKQogCQlkYXRhLmVycm9yID0gLUVJTlZBTDsKIAogCXdhaXRfZm9yX2NvbXBsZXRpb24oJmRvbmUpOwpkaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL2tlcm5lbC9zZXR1cF8zMi5jIGIvYXJjaC9wb3dlcnBjL2tlcm5lbC9zZXR1cF8zMi5jCmluZGV4IDUxMTJhNGEuLjE5ZThmY2IgMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9rZXJuZWwvc2V0dXBfMzIuYworKysgYi9hcmNoL3Bvd2VycGMva2VybmVsL3NldHVwXzMyLmMKQEAgLTgxLDcgKzgxLDcgQEAKICAqIGZyb20gdGhlIGFkZHJlc3MgdGhhdCBpdCB3YXMgbGlua2VkIGF0LCBzbyB3ZSBtdXN0IHVzZSBSRUxPQy9QVFJSRUxPQwogICogdG8gYWNjZXNzIHN0YXRpYyBkYXRhIChpbmNsdWRpbmcgc3RyaW5ncykuICAtLSBwYXVsdXMKICAqLwotdW5zaWduZWQgbG9uZyBfX2luaXQgZWFybHlfaW5pdCh1bnNpZ25lZCBsb25nIGR0X3B0cikKK25vdHJhY2UgdW5zaWduZWQgbG9uZyBfX2luaXQgZWFybHlfaW5pdCh1bnNpZ25lZCBsb25nIGR0X3B0cikKIHsKIAl1bnNpZ25lZCBsb25nIG9mZnNldCA9IHJlbG9jX29mZnNldCgpOwogCXN0cnVjdCBjcHVfc3BlYyAqc3BlYzsKQEAgLTExMSw3ICsxMTEsNyBAQAogICogVGhpcyBpcyBjYWxsZWQgdmVyeSBlYXJseSBvbiB0aGUgYm9vdCBwcm9jZXNzLCBhZnRlciBhIG1pbmltYWwKICAqIE1NVSBlbnZpcm9ubWVudCBoYXMgYmVlbiBzZXQgdXAgYnV0IGJlZm9yZSBNTVVfaW5pdCBpcyBjYWxsZWQuCiAgKi8KLXZvaWQgX19pbml0IG1hY2hpbmVfaW5pdCh1bnNpZ25lZCBsb25nIGR0X3B0ciwgdW5zaWduZWQgbG9uZyBwaHlzKQorbm90cmFjZSB2b2lkIF9faW5pdCBtYWNoaW5lX2luaXQodW5zaWduZWQgbG9uZyBkdF9wdHIsIHVuc2lnbmVkIGxvbmcgcGh5cykKIHsKIAkvKiBFbmFibGUgZWFybHkgZGVidWdnaW5nIGlmIGFueSBzcGVjaWZpZWQgKHNlZSB1ZGJnLmgpICovCiAJdWRiZ19lYXJseV9pbml0KCk7CkBAIC0xMzMsNyArMTMzLDcgQEAKIAogI2lmZGVmIENPTkZJR19CT09LRV9XRFQKIC8qIENoZWNrcyB3ZHQ9eCBhbmQgd2R0X3BlcmlvZD14eCBjb21tYW5kLWxpbmUgb3B0aW9uICovCi1pbnQgX19pbml0IGVhcmx5X3BhcnNlX3dkdChjaGFyICpwKQorbm90cmFjZSBpbnQgX19pbml0IGVhcmx5X3BhcnNlX3dkdChjaGFyICpwKQogewogCWlmIChwICYmIHN0cm5jbXAocCwgIjAiLCAxKSAhPSAwKQogCSAgICAgICBib29rZV93ZHRfZW5hYmxlZCA9IDE7CmRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMva2VybmVsL3NtcC5jIGIvYXJjaC9wb3dlcnBjL2tlcm5lbC9zbXAuYwppbmRleCAxNDU3YWEwLi41MTkxYjQ2IDEwMDY0NAotLS0gYS9hcmNoL3Bvd2VycGMva2VybmVsL3NtcC5jCisrKyBiL2FyY2gvcG93ZXJwYy9rZXJuZWwvc21wLmMKQEAgLTcyLDEyICs3Miw4IEBACiAKIHN0YXRpYyB2b2xhdGlsZSB1bnNpZ25lZCBpbnQgY3B1X2NhbGxpbl9tYXBbTlJfQ1BVU107CiAKLXZvaWQgc21wX2NhbGxfZnVuY3Rpb25faW50ZXJydXB0KHZvaWQpOwotCiBpbnQgc210X2VuYWJsZWRfYXRfYm9vdCA9IDE7CiAKLXN0YXRpYyBpbnQgaXBpX2ZhaWxfb2s7Ci0KIHN0YXRpYyB2b2lkICgqY3Jhc2hfaXBpX2Z1bmN0aW9uX3B0cikoc3RydWN0IHB0X3JlZ3MgKikgPSBOVUxMOwogCiAjaWZkZWYgQ09ORklHX1BQQzY0CkBAIC05OSwxMiArOTUsMTUgQEAKIHsKIAlzd2l0Y2gobXNnKSB7CiAJY2FzZSBQUENfTVNHX0NBTExfRlVOQ1RJT046Ci0JCXNtcF9jYWxsX2Z1bmN0aW9uX2ludGVycnVwdCgpOworCQlnZW5lcmljX3NtcF9jYWxsX2Z1bmN0aW9uX2ludGVycnVwdCgpOwogCQlicmVhazsKIAljYXNlIFBQQ19NU0dfUkVTQ0hFRFVMRToKIAkJLyogWFhYIERvIHdlIGhhdmUgdG8gZG8gdGhpcz8gKi8KIAkJc2V0X25lZWRfcmVzY2hlZCgpOwogCQlicmVhazsKKwljYXNlIFBQQ19NU0dfQ0FMTF9GVU5DX1NJTkdMRToKKwkJZ2VuZXJpY19zbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGVfaW50ZXJydXB0KCk7CisJCWJyZWFrOwogCWNhc2UgUFBDX01TR19ERUJVR0dFUl9CUkVBSzoKIAkJaWYgKGNyYXNoX2lwaV9mdW5jdGlvbl9wdHIpIHsKIAkJCWNyYXNoX2lwaV9mdW5jdGlvbl9wdHIoZ2V0X2lycV9yZWdzKCkpOwpAQCAtMTI4LDYgKzEyNywxOSBAQAogCQlzbXBfb3BzLT5tZXNzYWdlX3Bhc3MoY3B1LCBQUENfTVNHX1JFU0NIRURVTEUpOwogfQogCit2b2lkIGFyY2hfc2VuZF9jYWxsX2Z1bmN0aW9uX3NpbmdsZV9pcGkoaW50IGNwdSkKK3sKKwlzbXBfb3BzLT5tZXNzYWdlX3Bhc3MoY3B1LCBQUENfTVNHX0NBTExfRlVOQ19TSU5HTEUpOworfQorCit2b2lkIGFyY2hfc2VuZF9jYWxsX2Z1bmN0aW9uX2lwaShjcHVtYXNrX3QgbWFzaykKK3sKKwl1bnNpZ25lZCBpbnQgY3B1OworCisJZm9yX2VhY2hfY3B1X21hc2soY3B1LCBtYXNrKQorCQlzbXBfb3BzLT5tZXNzYWdlX3Bhc3MoY3B1LCBQUENfTVNHX0NBTExfRlVOQ1RJT04pOworfQorCiAjaWZkZWYgQ09ORklHX0RFQlVHR0VSCiB2b2lkIHNtcF9zZW5kX2RlYnVnZ2VyX2JyZWFrKGludCBjcHUpCiB7CkBAIC0xNTQsMjE1ICsxNjYsOSBAQAogCQk7CiB9CiAKLS8qCi0gKiBTdHJ1Y3R1cmUgYW5kIGRhdGEgZm9yIHNtcF9jYWxsX2Z1bmN0aW9uKCkuIFRoaXMgaXMgZGVzaWduZWQgdG8gbWluaW1pc2UKLSAqIHN0YXRpYyBtZW1vcnkgcmVxdWlyZW1lbnRzLiBJdCBhbHNvIGxvb2tzIGNsZWFuZXIuCi0gKiBTdG9sZW4gZnJvbSB0aGUgaTM4NiB2ZXJzaW9uLgotICovCi1zdGF0aWMgIF9fY2FjaGVsaW5lX2FsaWduZWRfaW5fc21wIERFRklORV9TUElOTE9DSyhjYWxsX2xvY2spOwotCi1zdGF0aWMgc3RydWN0IGNhbGxfZGF0YV9zdHJ1Y3QgewotCXZvaWQgKCpmdW5jKSAodm9pZCAqaW5mbyk7Ci0Jdm9pZCAqaW5mbzsKLQlhdG9taWNfdCBzdGFydGVkOwotCWF0b21pY190IGZpbmlzaGVkOwotCWludCB3YWl0OwotfSAqY2FsbF9kYXRhOwotCi0vKiBkZWxheSBvZiBhdCBsZWFzdCA4IHNlY29uZHMgKi8KLSNkZWZpbmUgU01QX0NBTExfVElNRU9VVAk4Ci0KLS8qCi0gKiBUaGVzZSBmdW5jdGlvbnMgc2VuZCBhICdnZW5lcmljIGNhbGwgZnVuY3Rpb24nIElQSSB0byBvdGhlciBvbmxpbmUKLSAqIENQVVMgaW4gdGhlIHN5c3RlbS4KLSAqCi0gKiBbU1VNTUFSWV0gUnVuIGEgZnVuY3Rpb24gb24gb3RoZXIgQ1BVcy4KLSAqIDxmdW5jPiBUaGUgZnVuY3Rpb24gdG8gcnVuLiBUaGlzIG11c3QgYmUgZmFzdCBhbmQgbm9uLWJsb2NraW5nLgotICogPGluZm8+IEFuIGFyYml0cmFyeSBwb2ludGVyIHRvIHBhc3MgdG8gdGhlIGZ1bmN0aW9uLgotICogPG5vbmF0b21pYz4gY3VycmVudGx5IHVudXNlZC4KLSAqIDx3YWl0PiBJZiB0cnVlLCB3YWl0IChhdG9taWNhbGx5KSB1bnRpbCBmdW5jdGlvbiBoYXMgY29tcGxldGVkIG9uIG90aGVyIENQVXMuCi0gKiBbUkVUVVJOU10gMCBvbiBzdWNjZXNzLCBlbHNlIGEgbmVnYXRpdmUgc3RhdHVzIGNvZGUuIERvZXMgbm90IHJldHVybiB1bnRpbAotICogcmVtb3RlIENQVXMgYXJlIG5lYXJseSByZWFkeSB0byBleGVjdXRlIDw8ZnVuYz4+IG9yIGFyZSBvciBoYXZlIGV4ZWN1dGVkLgotICogPG1hcD4gaXMgYSBjcHUgbWFwIG9mIHRoZSBjcHVzIHRvIHNlbmQgSVBJIHRvLgotICoKLSAqIFlvdSBtdXN0IG5vdCBjYWxsIHRoaXMgZnVuY3Rpb24gd2l0aCBkaXNhYmxlZCBpbnRlcnJ1cHRzIG9yIGZyb20gYQotICogaGFyZHdhcmUgaW50ZXJydXB0IGhhbmRsZXIgb3IgZnJvbSBhIGJvdHRvbSBoYWxmIGhhbmRsZXIuCi0gKi8KLXN0YXRpYyBpbnQgX19zbXBfY2FsbF9mdW5jdGlvbl9tYXAodm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywKLQkJCQkgICBpbnQgbm9uYXRvbWljLCBpbnQgd2FpdCwgY3B1bWFza190IG1hcCkKLXsKLQlzdHJ1Y3QgY2FsbF9kYXRhX3N0cnVjdCBkYXRhOwotCWludCByZXQgPSAtMSwgbnVtX2NwdXM7Ci0JaW50IGNwdTsKLQl1NjQgdGltZW91dDsKLQotCWlmICh1bmxpa2VseShzbXBfb3BzID09IE5VTEwpKQotCQlyZXR1cm4gcmV0OwotCi0JZGF0YS5mdW5jID0gZnVuYzsKLQlkYXRhLmluZm8gPSBpbmZvOwotCWF0b21pY19zZXQoJmRhdGEuc3RhcnRlZCwgMCk7Ci0JZGF0YS53YWl0ID0gd2FpdDsKLQlpZiAod2FpdCkKLQkJYXRvbWljX3NldCgmZGF0YS5maW5pc2hlZCwgMCk7Ci0KLQkvKiByZW1vdmUgJ3NlbGYnIGZyb20gdGhlIG1hcCAqLwotCWlmIChjcHVfaXNzZXQoc21wX3Byb2Nlc3Nvcl9pZCgpLCBtYXApKQotCQljcHVfY2xlYXIoc21wX3Byb2Nlc3Nvcl9pZCgpLCBtYXApOwotCi0JLyogc2FuaXR5IGNoZWNrIHRoZSBtYXAsIHJlbW92ZSBhbnkgbm9uLW9ubGluZSBwcm9jZXNzb3JzLiAqLwotCWNwdXNfYW5kKG1hcCwgbWFwLCBjcHVfb25saW5lX21hcCk7Ci0KLQludW1fY3B1cyA9IGNwdXNfd2VpZ2h0KG1hcCk7Ci0JaWYgKCFudW1fY3B1cykKLQkJZ290byBkb25lOwotCi0JY2FsbF9kYXRhID0gJmRhdGE7Ci0Jc21wX3dtYigpOwotCS8qIFNlbmQgYSBtZXNzYWdlIHRvIGFsbCBDUFVzIGluIHRoZSBtYXAgKi8KLQlmb3JfZWFjaF9jcHVfbWFzayhjcHUsIG1hcCkKLQkJc21wX29wcy0+bWVzc2FnZV9wYXNzKGNwdSwgUFBDX01TR19DQUxMX0ZVTkNUSU9OKTsKLQotCXRpbWVvdXQgPSBnZXRfdGIoKSArICh1NjQpIFNNUF9DQUxMX1RJTUVPVVQgKiB0Yl90aWNrc19wZXJfc2VjOwotCi0JLyogV2FpdCBmb3IgaW5kaWNhdGlvbiB0aGF0IHRoZXkgaGF2ZSByZWNlaXZlZCB0aGUgbWVzc2FnZSAqLwotCXdoaWxlIChhdG9taWNfcmVhZCgmZGF0YS5zdGFydGVkKSAhPSBudW1fY3B1cykgewotCQlITVRfbG93KCk7Ci0JCWlmIChnZXRfdGIoKSA+PSB0aW1lb3V0KSB7Ci0JCQlwcmludGsoInNtcF9jYWxsX2Z1bmN0aW9uIG9uIGNwdSAlZDogb3RoZXIgY3B1cyBub3QgIgotCQkJCSJyZXNwb25kaW5nICglZClcbiIsIHNtcF9wcm9jZXNzb3JfaWQoKSwKLQkJCQlhdG9taWNfcmVhZCgmZGF0YS5zdGFydGVkKSk7Ci0JCQlpZiAoIWlwaV9mYWlsX29rKQotCQkJCWRlYnVnZ2VyKE5VTEwpOwotCQkJZ290byBvdXQ7Ci0JCX0KLQl9Ci0KLQkvKiBvcHRpb25hbGx5IHdhaXQgZm9yIHRoZSBDUFVzIHRvIGNvbXBsZXRlICovCi0JaWYgKHdhaXQpIHsKLQkJd2hpbGUgKGF0b21pY19yZWFkKCZkYXRhLmZpbmlzaGVkKSAhPSBudW1fY3B1cykgewotCQkJSE1UX2xvdygpOwotCQkJaWYgKGdldF90YigpID49IHRpbWVvdXQpIHsKLQkJCQlwcmludGsoInNtcF9jYWxsX2Z1bmN0aW9uIG9uIGNwdSAlZDogb3RoZXIgIgotCQkJCQkiY3B1cyBub3QgZmluaXNoaW5nICglZC8lZClcbiIsCi0JCQkJCXNtcF9wcm9jZXNzb3JfaWQoKSwKLQkJCQkJYXRvbWljX3JlYWQoJmRhdGEuZmluaXNoZWQpLAotCQkJCQlhdG9taWNfcmVhZCgmZGF0YS5zdGFydGVkKSk7Ci0JCQkJZGVidWdnZXIoTlVMTCk7Ci0JCQkJZ290byBvdXQ7Ci0JCQl9Ci0JCX0KLQl9Ci0KLSBkb25lOgotCXJldCA9IDA7Ci0KLSBvdXQ6Ci0JY2FsbF9kYXRhID0gTlVMTDsKLQlITVRfbWVkaXVtKCk7Ci0JcmV0dXJuIHJldDsKLX0KLQotc3RhdGljIGludCBfX3NtcF9jYWxsX2Z1bmN0aW9uKHZvaWQgKCpmdW5jKSh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywKLQkJCSAgICAgICBpbnQgbm9uYXRvbWljLCBpbnQgd2FpdCkKLXsKLQlpbnQgcmV0OwotCXNwaW5fbG9jaygmY2FsbF9sb2NrKTsKLQlyZXQgPV9fc21wX2NhbGxfZnVuY3Rpb25fbWFwKGZ1bmMsIGluZm8sIG5vbmF0b21pYywgd2FpdCwKLQkJCQkgICAgICAgY3B1X29ubGluZV9tYXApOwotCXNwaW5fdW5sb2NrKCZjYWxsX2xvY2spOwotCXJldHVybiByZXQ7Ci19Ci0KLWludCBzbXBfY2FsbF9mdW5jdGlvbih2b2lkICgqZnVuYykgKHZvaWQgKmluZm8pLCB2b2lkICppbmZvLCBpbnQgbm9uYXRvbWljLAotCQkJaW50IHdhaXQpCi17Ci0JLyogQ2FuIGRlYWRsb2NrIHdoZW4gY2FsbGVkIHdpdGggaW50ZXJydXB0cyBkaXNhYmxlZCAqLwotCVdBUk5fT04oaXJxc19kaXNhYmxlZCgpKTsKLQotCXJldHVybiBfX3NtcF9jYWxsX2Z1bmN0aW9uKGZ1bmMsIGluZm8sIG5vbmF0b21pYywgd2FpdCk7Ci19Ci1FWFBPUlRfU1lNQk9MKHNtcF9jYWxsX2Z1bmN0aW9uKTsKLQotaW50IHNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShpbnQgY3B1LCB2b2lkICgqZnVuYykgKHZvaWQgKmluZm8pLCB2b2lkICppbmZvLAotCQkJICAgICBpbnQgbm9uYXRvbWljLCBpbnQgd2FpdCkKLXsKLQljcHVtYXNrX3QgbWFwID0gQ1BVX01BU0tfTk9ORTsKLQlpbnQgcmV0ID0gMDsKLQotCS8qIENhbiBkZWFkbG9jayB3aGVuIGNhbGxlZCB3aXRoIGludGVycnVwdHMgZGlzYWJsZWQgKi8KLQlXQVJOX09OKGlycXNfZGlzYWJsZWQoKSk7Ci0KLQlpZiAoIWNwdV9vbmxpbmUoY3B1KSkKLQkJcmV0dXJuIC1FSU5WQUw7Ci0KLQljcHVfc2V0KGNwdSwgbWFwKTsKLQlpZiAoY3B1ICE9IGdldF9jcHUoKSkgewotCQlzcGluX2xvY2soJmNhbGxfbG9jayk7Ci0JCXJldCA9IF9fc21wX2NhbGxfZnVuY3Rpb25fbWFwKGZ1bmMsIGluZm8sIG5vbmF0b21pYywgd2FpdCwgbWFwKTsKLQkJc3Bpbl91bmxvY2soJmNhbGxfbG9jayk7Ci0JfSBlbHNlIHsKLQkJbG9jYWxfaXJxX2Rpc2FibGUoKTsKLQkJZnVuYyhpbmZvKTsKLQkJbG9jYWxfaXJxX2VuYWJsZSgpOwotCX0KLQlwdXRfY3B1KCk7Ci0JcmV0dXJuIHJldDsKLX0KLUVYUE9SVF9TWU1CT0woc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKTsKLQogdm9pZCBzbXBfc2VuZF9zdG9wKHZvaWQpCiB7Ci0JaW50IG5vbG9jazsKLQotCS8qIEl0J3MgT0sgdG8gZmFpbCBzZW5kaW5nIHRoZSBJUEksIHNpbmNlIHRoZSBhbHRlcm5hdGl2ZSBpcyB0bwotCSAqIGJlIHN0dWNrIGZvcmV2ZXIgd2FpdGluZyBvbiB0aGUgb3RoZXIgQ1BVIHRvIHRha2UgdGhlIGludGVycnVwdC4KLQkgKgotCSAqIEl0J3MgYmV0dGVyIHRvIGF0IGxlYXN0IGNvbnRpbnVlIGFuZCBnbyB0aHJvdWdoIHJlYm9vdCwgc2luY2UgdGhpcwotCSAqIGZ1bmN0aW9uIGlzIHVzdWFsbHkgY2FsbGVkIGF0IHBhbmljIG9yIHJlYm9vdCB0aW1lIGluIHRoZSBmaXJzdAotCSAqIHBsYWNlLgotCSAqLwotCWlwaV9mYWlsX29rID0gMTsKLQotCS8qIERvbid0IGRlYWRsb2NrIGluIGNhc2Ugd2UgZ290IGNhbGxlZCB0aHJvdWdoIHBhbmljICovCi0Jbm9sb2NrID0gIXNwaW5fdHJ5bG9jaygmY2FsbF9sb2NrKTsKLQlfX3NtcF9jYWxsX2Z1bmN0aW9uX21hcChzdG9wX3RoaXNfY3B1LCBOVUxMLCAxLCAwLCBjcHVfb25saW5lX21hcCk7Ci0JaWYgKCFub2xvY2spCi0JCXNwaW5fdW5sb2NrKCZjYWxsX2xvY2spOwotfQotCi12b2lkIHNtcF9jYWxsX2Z1bmN0aW9uX2ludGVycnVwdCh2b2lkKQotewotCXZvaWQgKCpmdW5jKSAodm9pZCAqaW5mbyk7Ci0Jdm9pZCAqaW5mbzsKLQlpbnQgd2FpdDsKLQotCS8qIGNhbGxfZGF0YSB3aWxsIGJlIE5VTEwgaWYgdGhlIHNlbmRlciB0aW1lZCBvdXQgd2hpbGUKLQkgKiB3YWl0aW5nIG9uIHVzIHRvIHJlY2VpdmUgdGhlIGNhbGwuCi0JICovCi0JaWYgKCFjYWxsX2RhdGEpCi0JCXJldHVybjsKLQotCWZ1bmMgPSBjYWxsX2RhdGEtPmZ1bmM7Ci0JaW5mbyA9IGNhbGxfZGF0YS0+aW5mbzsKLQl3YWl0ID0gY2FsbF9kYXRhLT53YWl0OwotCi0JaWYgKCF3YWl0KQotCQlzbXBfbWJfX2JlZm9yZV9hdG9taWNfaW5jKCk7Ci0KLQkvKgotCSAqIE5vdGlmeSBpbml0aWF0aW5nIENQVSB0aGF0IEkndmUgZ3JhYmJlZCB0aGUgZGF0YSBhbmQgYW0KLQkgKiBhYm91dCB0byBleGVjdXRlIHRoZSBmdW5jdGlvbgotCSAqLwotCWF0b21pY19pbmMoJmNhbGxfZGF0YS0+c3RhcnRlZCk7Ci0JLyoKLQkgKiBBdCB0aGlzIHBvaW50IHRoZSBpbmZvIHN0cnVjdHVyZSBtYXkgYmUgb3V0IG9mIHNjb3BlIHVubGVzcyB3YWl0PT0xCi0JICovCi0JKCpmdW5jKShpbmZvKTsKLQlpZiAod2FpdCkgewotCQlzbXBfbWJfX2JlZm9yZV9hdG9taWNfaW5jKCk7Ci0JCWF0b21pY19pbmMoJmNhbGxfZGF0YS0+ZmluaXNoZWQpOwotCX0KKwlzbXBfY2FsbF9mdW5jdGlvbihzdG9wX3RoaXNfY3B1LCBOVUxMLCAwKTsKIH0KIAogZXh0ZXJuIHN0cnVjdCBnZXR0aW1lb2ZkYXlfc3RydWN0IGRvX2d0b2Q7CkBAIC01OTYsOSArNDAyLDkgQEAKIAogCXNlY29uZGFyeV9jcHVfdGltZV9pbml0KCk7CiAKLQlzcGluX2xvY2soJmNhbGxfbG9jayk7CisJaXBpX2NhbGxfbG9jaygpOwogCWNwdV9zZXQoY3B1LCBjcHVfb25saW5lX21hcCk7Ci0Jc3Bpbl91bmxvY2soJmNhbGxfbG9jayk7CisJaXBpX2NhbGxfdW5sb2NrKCk7CiAKIAlsb2NhbF9pcnFfZW5hYmxlKCk7CiAKZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9rZXJuZWwvc3RhY2t0cmFjZS5jIGIvYXJjaC9wb3dlcnBjL2tlcm5lbC9zdGFja3RyYWNlLmMKaW5kZXggOTYyOTQ0MC4uM2NmMGQ5NCAxMDA2NDQKLS0tIGEvYXJjaC9wb3dlcnBjL2tlcm5lbC9zdGFja3RyYWNlLmMKKysrIGIvYXJjaC9wb3dlcnBjL2tlcm5lbC9zdGFja3RyYWNlLmMKQEAgLTEyLDYgKzEyLDcgQEAKIAogI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CiAjaW5jbHVkZSA8bGludXgvc3RhY2t0cmFjZS5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGFzbS9wdHJhY2UuaD4KIAogLyoKQEAgLTQ0LDMgKzQ1LDQgQEAKIAkJc3AgPSBuZXdzcDsKIAl9CiB9CitFWFBPUlRfU1lNQk9MX0dQTChzYXZlX3N0YWNrX3RyYWNlKTsKZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9rZXJuZWwvdGF1XzZ4eC5jIGIvYXJjaC9wb3dlcnBjL2tlcm5lbC90YXVfNnh4LmMKaW5kZXggMzY4YTQ5My4uYzNhNTZkNiAxMDA2NDQKLS0tIGEvYXJjaC9wb3dlcnBjL2tlcm5lbC90YXVfNnh4LmMKKysrIGIvYXJjaC9wb3dlcnBjL2tlcm5lbC90YXVfNnh4LmMKQEAgLTE5Miw3ICsxOTIsNyBAQAogCiAJLyogc2NoZWR1bGUgb3Vyc2VsdmVzIHRvIGJlIHJ1biBhZ2FpbiAqLwogCW1vZF90aW1lcigmdGF1X3RpbWVyLCBqaWZmaWVzICsgc2hyaW5rX3RpbWVyKSA7Ci0Jb25fZWFjaF9jcHUodGF1X3RpbWVvdXQsIE5VTEwsIDEsIDApOworCW9uX2VhY2hfY3B1KHRhdV90aW1lb3V0LCBOVUxMLCAwKTsKIH0KIAogLyoKQEAgLTIzNCw3ICsyMzQsNyBAQAogCXRhdV90aW1lci5leHBpcmVzID0gamlmZmllcyArIHNocmlua190aW1lcjsKIAlhZGRfdGltZXIoJnRhdV90aW1lcik7CiAKLQlvbl9lYWNoX2NwdShUQVVfaW5pdF9zbXAsIE5VTEwsIDEsIDApOworCW9uX2VhY2hfY3B1KFRBVV9pbml0X3NtcCwgTlVMTCwgMCk7CiAKIAlwcmludGsoIlRoZXJtYWwgYXNzaXN0IHVuaXQgIik7CiAjaWZkZWYgQ09ORklHX1RBVV9JTlQKZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9rZXJuZWwvdGltZS5jIGIvYXJjaC9wb3dlcnBjL2tlcm5lbC90aW1lLmMKaW5kZXggNzM0MDFlOC4uZjFhMzhhNiAxMDA2NDQKLS0tIGEvYXJjaC9wb3dlcnBjL2tlcm5lbC90aW1lLmMKKysrIGIvYXJjaC9wb3dlcnBjL2tlcm5lbC90aW1lLmMKQEAgLTMyMiw3ICszMjIsNyBAQAogewogCWlmICghY3B1X2hhc19mZWF0dXJlKENQVV9GVFJfUFVSUikpCiAJCXJldHVybjsKLQlvbl9lYWNoX2NwdShzbmFwc2hvdF90Yl9hbmRfcHVyciwgTlVMTCwgMCwgMSk7CisJb25fZWFjaF9jcHUoc25hcHNob3RfdGJfYW5kX3B1cnIsIE5VTEwsIDEpOwogfQogCiAvKgpkaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL2tlcm5lbC92bWxpbnV4Lmxkcy5TIGIvYXJjaC9wb3dlcnBjL2tlcm5lbC92bWxpbnV4Lmxkcy5TCmluZGV4IDBjMzAwMGIuLjUzZDU3ZDEgMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9rZXJuZWwvdm1saW51eC5sZHMuUworKysgYi9hcmNoL3Bvd2VycGMva2VybmVsL3ZtbGludXgubGRzLlMKQEAgLTY0LDggKzY0LDYgQEAKIAogCU5PVEVTCiAKLQlCVUdfVEFCTEUKLQogLyoKICAqIEluaXQgc2VjdGlvbnMgZGlzY2FyZGVkIGF0IHJ1bnRpbWUKICAqLwpkaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL21tL3NsaWNlLmMgYi9hcmNoL3Bvd2VycGMvbW0vc2xpY2UuYwppbmRleCBhZDkyOGVkLi4yYmQxMmQ5IDEwMDY0NAotLS0gYS9hcmNoL3Bvd2VycGMvbW0vc2xpY2UuYworKysgYi9hcmNoL3Bvd2VycGMvbW0vc2xpY2UuYwpAQCAtMjE4LDcgKzIxOCw3IEBACiAJbWIoKTsKIAogCS8qIFhYWCB0aGlzIGlzIHN1Yi1vcHRpbWFsIGJ1dCB3aWxsIGRvIGZvciBub3cgKi8KLQlvbl9lYWNoX2NwdShzbGljZV9mbHVzaF9zZWdtZW50cywgbW0sIDAsIDEpOworCW9uX2VhY2hfY3B1KHNsaWNlX2ZsdXNoX3NlZ21lbnRzLCBtbSwgMSk7CiAjaWZkZWYgQ09ORklHX1NQVV9CQVNFCiAJc3B1X2ZsdXNoX2FsbF9zbGJzKG1tKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL21tL3RsYl82NC5jIGIvYXJjaC9wb3dlcnBjL21tL3RsYl82NC5jCmluZGV4IGUyZDg2N2MuLjY5YWQ4MjkgMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9tbS90bGJfNjQuYworKysgYi9hcmNoL3Bvd2VycGMvbW0vdGxiXzY0LmMKQEAgLTY2LDcgKzY2LDcgQEAKIHsKIAlwdGVfZnJlZWxpc3RfZm9yY2VkX2ZyZWUrKzsKIAotCXNtcF9jYWxsX2Z1bmN0aW9uKHB0ZV9mcmVlX3NtcF9zeW5jLCBOVUxMLCAwLCAxKTsKKwlzbXBfY2FsbF9mdW5jdGlvbihwdGVfZnJlZV9zbXBfc3luYywgTlVMTCwgMSk7CiAKIAlwZ3RhYmxlX2ZyZWUocGdmKTsKIH0KZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9vcHJvZmlsZS9jb21tb24uYyBiL2FyY2gvcG93ZXJwYy9vcHJvZmlsZS9jb21tb24uYwppbmRleCA0OTA4ZGM5Li4xNzgwN2FjIDEwMDY0NAotLS0gYS9hcmNoL3Bvd2VycGMvb3Byb2ZpbGUvY29tbW9uLmMKKysrIGIvYXJjaC9wb3dlcnBjL29wcm9maWxlL2NvbW1vbi5jCkBAIC02NSw3ICs2NSw3IEBACiAKIAkvKiBDb25maWd1cmUgdGhlIHJlZ2lzdGVycyBvbiBhbGwgY3B1cy4JIElmIGFuIGVycm9yIG9jY3VycyBvbiBvbmUKIAkgKiBvZiB0aGUgY3B1cywgb3BfcGVyX2NwdV9yYyB3aWxsIGJlIHNldCB0byB0aGUgZXJyb3IgKi8KLQlvbl9lYWNoX2NwdShvcF9wb3dlcnBjX2NwdV9zZXR1cCwgTlVMTCwgMCwgMSk7CisJb25fZWFjaF9jcHUob3BfcG93ZXJwY19jcHVfc2V0dXAsIE5VTEwsIDEpOwogCiBvdXQ6CWlmIChvcF9wZXJfY3B1X3JjKSB7CiAJCS8qIGVycm9yIG9uIHNldHVwIHJlbGVhc2UgdGhlIHBlcmZvcm1hbmNlIGNvdW50ZXIgaGFyZHdhcmUgKi8KQEAgLTEwMCw3ICsxMDAsNyBAQAogCWlmIChtb2RlbC0+Z2xvYmFsX3N0YXJ0KQogCQlyZXR1cm4gbW9kZWwtPmdsb2JhbF9zdGFydChjdHIpOwogCWlmIChtb2RlbC0+c3RhcnQpIHsKLQkJb25fZWFjaF9jcHUob3BfcG93ZXJwY19jcHVfc3RhcnQsIE5VTEwsIDAsIDEpOworCQlvbl9lYWNoX2NwdShvcF9wb3dlcnBjX2NwdV9zdGFydCwgTlVMTCwgMSk7CiAJCXJldHVybiBvcF9wZXJfY3B1X3JjOwogCX0KIAlyZXR1cm4gLUVJTzsgLyogTm8gc3RhcnQgZnVuY3Rpb24gaXMgZGVmaW5lZCBmb3IgdGhpcwpAQCAtMTE1LDcgKzExNSw3IEBACiBzdGF0aWMgdm9pZCBvcF9wb3dlcnBjX3N0b3Aodm9pZCkKIHsKIAlpZiAobW9kZWwtPnN0b3ApCi0JCW9uX2VhY2hfY3B1KG9wX3Bvd2VycGNfY3B1X3N0b3AsIE5VTEwsIDAsIDEpOworCQlvbl9lYWNoX2NwdShvcF9wb3dlcnBjX2NwdV9zdG9wLCBOVUxMLCAxKTsKICAgICAgICAgaWYgKG1vZGVsLT5nbG9iYWxfc3RvcCkKICAgICAgICAgICAgICAgICBtb2RlbC0+Z2xvYmFsX3N0b3AoKTsKIH0KZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvY2VsbC9pbnRlcnJ1cHQuYyBiL2FyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvY2VsbC9pbnRlcnJ1cHQuYwppbmRleCA1YmY3ZGYxLi4yZDViYjIyIDEwMDY0NAotLS0gYS9hcmNoL3Bvd2VycGMvcGxhdGZvcm1zL2NlbGwvaW50ZXJydXB0LmMKKysrIGIvYXJjaC9wb3dlcnBjL3BsYXRmb3Jtcy9jZWxsL2ludGVycnVwdC5jCkBAIC0yMTgsNiArMjE4LDcgQEAKIHsKIAlpaWNfcmVxdWVzdF9pcGkoUFBDX01TR19DQUxMX0ZVTkNUSU9OLCAiSVBJLWNhbGwiKTsKIAlpaWNfcmVxdWVzdF9pcGkoUFBDX01TR19SRVNDSEVEVUxFLCAiSVBJLXJlc2NoZWQiKTsKKwlpaWNfcmVxdWVzdF9pcGkoUFBDX01TR19DQUxMX0ZVTkNfU0lOR0xFLCAiSVBJLWNhbGwtc2luZ2xlIik7CiAjaWZkZWYgQ09ORklHX0RFQlVHR0VSCiAJaWljX3JlcXVlc3RfaXBpKFBQQ19NU0dfREVCVUdHRVJfQlJFQUssICJJUEktZGVidWciKTsKICNlbmRpZiAvKiBDT05GSUdfREVCVUdHRVIgKi8KZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvcG93ZXJtYWMvTWFrZWZpbGUgYi9hcmNoL3Bvd2VycGMvcGxhdGZvcm1zL3Bvd2VybWFjL01ha2VmaWxlCmluZGV4IDRkNzJjOGYuLjg5Nzc0MTcgMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvcG93ZXJtYWMvTWFrZWZpbGUKKysrIGIvYXJjaC9wb3dlcnBjL3BsYXRmb3Jtcy9wb3dlcm1hYy9NYWtlZmlsZQpAQCAtMSw1ICsxLDEwIEBACiBDRkxBR1NfYm9vdHhfaW5pdC5vICAJCSs9IC1mUElDCiAKK2lmZGVmIENPTkZJR19GVFJBQ0UKKyMgRG8gbm90IHRyYWNlIGVhcmx5IGJvb3QgY29kZQorQ0ZMQUdTX1JFTU9WRV9ib290eF9pbml0Lm8gPSAtcGcKK2VuZGlmCisKIG9iai15CQkJCSs9IHBpYy5vIHNldHVwLm8gdGltZS5vIGZlYXR1cmUubyBwY2kubyBcCiAJCQkJICAgc2xlZXAubyBsb3dfaTJjLm8gY2FjaGUubyBwZnVuY19jb3JlLm8gXAogCQkJCSAgIHBmdW5jX2Jhc2UubwpkaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL3BsYXRmb3Jtcy9wczMvc21wLmMgYi9hcmNoL3Bvd2VycGMvcGxhdGZvcm1zL3BzMy9zbXAuYwppbmRleCBmMGIxMmYyLi5hMDkyN2EzIDEwMDY0NAotLS0gYS9hcmNoL3Bvd2VycGMvcGxhdGZvcm1zL3BzMy9zbXAuYworKysgYi9hcmNoL3Bvd2VycGMvcGxhdGZvcm1zL3BzMy9zbXAuYwpAQCAtMTA1LDkgKzEwNSwxMCBAQAogCSAqIHRvIGluZGV4IG5lZWRzIHRvIGJlIHNldHVwLgogCSAqLwogCi0JQlVJTERfQlVHX09OKFBQQ19NU0dfQ0FMTF9GVU5DVElPTiAgIT0gMCk7Ci0JQlVJTERfQlVHX09OKFBQQ19NU0dfUkVTQ0hFRFVMRSAgICAgIT0gMSk7Ci0JQlVJTERfQlVHX09OKFBQQ19NU0dfREVCVUdHRVJfQlJFQUsgIT0gMyk7CisJQlVJTERfQlVHX09OKFBQQ19NU0dfQ0FMTF9GVU5DVElPTiAgICAhPSAwKTsKKwlCVUlMRF9CVUdfT04oUFBDX01TR19SRVNDSEVEVUxFICAgICAgICE9IDEpOworCUJVSUxEX0JVR19PTihQUENfTVNHX0NBTExfRlVOQ19TSU5HTEUgIT0gMik7CisJQlVJTERfQlVHX09OKFBQQ19NU0dfREVCVUdHRVJfQlJFQUsgICAhPSAzKTsKIAogCWZvciAoaSA9IDA7IGkgPCBNU0dfQ09VTlQ7IGkrKykgewogCQlyZXN1bHQgPSBwczNfZXZlbnRfcmVjZWl2ZV9wb3J0X3NldHVwKGNwdSwgJnZpcnFzW2ldKTsKZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvcHNlcmllcy94aWNzLmMgYi9hcmNoL3Bvd2VycGMvcGxhdGZvcm1zL3BzZXJpZXMveGljcy5jCmluZGV4IGViZWJjMjguLjBmYzgzMGYgMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvcHNlcmllcy94aWNzLmMKKysrIGIvYXJjaC9wb3dlcnBjL3BsYXRmb3Jtcy9wc2VyaWVzL3hpY3MuYwpAQCAtMzgzLDEzICszODMsMTEgQEAKIAkJCW1iKCk7CiAJCQlzbXBfbWVzc2FnZV9yZWN2KFBQQ19NU0dfUkVTQ0hFRFVMRSk7CiAJCX0KLSNpZiAwCi0JCWlmICh0ZXN0X2FuZF9jbGVhcl9iaXQoUFBDX01TR19NSUdSQVRFX1RBU0ssCisJCWlmICh0ZXN0X2FuZF9jbGVhcl9iaXQoUFBDX01TR19DQUxMX0ZVTkNfU0lOR0xFLAogCQkJCSAgICAgICAmeGljc19pcGlfbWVzc2FnZVtjcHVdLnZhbHVlKSkgewogCQkJbWIoKTsKLQkJCXNtcF9tZXNzYWdlX3JlY3YoUFBDX01TR19NSUdSQVRFX1RBU0spOworCQkJc21wX21lc3NhZ2VfcmVjdihQUENfTVNHX0NBTExfRlVOQ19TSU5HTEUpOwogCQl9Ci0jZW5kaWYKICNpZiBkZWZpbmVkKENPTkZJR19ERUJVR0dFUikgfHwgZGVmaW5lZChDT05GSUdfS0VYRUMpCiAJCWlmICh0ZXN0X2FuZF9jbGVhcl9iaXQoUFBDX01TR19ERUJVR0dFUl9CUkVBSywKIAkJCQkgICAgICAgJnhpY3NfaXBpX21lc3NhZ2VbY3B1XS52YWx1ZSkpIHsKZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9zeXNkZXYvbXBpYy5jIGIvYXJjaC9wb3dlcnBjL3N5c2Rldi9tcGljLmMKaW5kZXggNzY4MDAwMS4uNmM5MGM5NSAxMDA2NDQKLS0tIGEvYXJjaC9wb3dlcnBjL3N5c2Rldi9tcGljLmMKKysrIGIvYXJjaC9wb3dlcnBjL3N5c2Rldi9tcGljLmMKQEAgLTE0OTQsNyArMTQ5NCw3IEBACiAJc3RhdGljIGNoYXIgKmlwaV9uYW1lc1tdID0gewogCQkiSVBJMCAoY2FsbCBmdW5jdGlvbikiLAogCQkiSVBJMSAocmVzY2hlZHVsZSkiLAotCQkiSVBJMiAodW51c2VkKSIsCisJCSJJUEkyIChjYWxsIGZ1bmN0aW9uIHNpbmdsZSkiLAogCQkiSVBJMyAoZGVidWdnZXIgYnJlYWspIiwKIAl9OwogCUJVR19PTihtcGljID09IE5VTEwpOwpkaWZmIC0tZ2l0IGEvYXJjaC9wcGMva2VybmVsL3NtcC5jIGIvYXJjaC9wcGMva2VybmVsL3NtcC5jCmluZGV4IDA1NTk5ODUuLmJjYWIwZDIgMTAwNjQ0Ci0tLSBhL2FyY2gvcHBjL2tlcm5lbC9zbXAuYworKysgYi9hcmNoL3BwYy9rZXJuZWwvc21wLmMKQEAgLTE1Miw3ICsxNTIsNyBAQAogCiB2b2lkIHNtcF9zZW5kX3N0b3Aodm9pZCkKIHsKLQlzbXBfY2FsbF9mdW5jdGlvbihzdG9wX3RoaXNfY3B1LCBOVUxMLCAxLCAwKTsKKwlzbXBfY2FsbF9mdW5jdGlvbihzdG9wX3RoaXNfY3B1LCBOVUxMLCAwKTsKIH0KIAogLyoKZGlmZiAtLWdpdCBhL2FyY2gvczM5MC9LY29uZmlnIGIvYXJjaC9zMzkwL0tjb25maWcKaW5kZXggMTA3ZTQ5Mi4uNWRjOGY4MCAxMDA2NDQKLS0tIGEvYXJjaC9zMzkwL0tjb25maWcKKysrIGIvYXJjaC9zMzkwL0tjb25maWcKQEAgLTE0Niw2ICsxNDYsNyBAQAogY29uZmlnIENPTVBBVAogCWJvb2wgIktlcm5lbCBzdXBwb3J0IGZvciAzMSBiaXQgZW11bGF0aW9uIgogCWRlcGVuZHMgb24gNjRCSVQKKwlzZWxlY3QgQ09NUEFUX0JJTkZNVF9FTEYKIAloZWxwCiAJICBTZWxlY3QgdGhpcyBvcHRpb24gaWYgeW91IHdhbnQgdG8gZW5hYmxlIHlvdXIgc3lzdGVtIGtlcm5lbCB0bwogCSAgaGFuZGxlIHN5c3RlbS1jYWxscyBmcm9tIEVMRiBiaW5hcmllcyBmb3IgMzEgYml0IEVTQS4gIFRoaXMgb3B0aW9uCkBAIC0zMTIsNiArMzEzLDEwIEBACiBjb25maWcgQVJDSF9TRUxFQ1RfTUVNT1JZX01PREVMCiAgICAgICAgZGVmX2Jvb2wgeQogCitjb25maWcgQVJDSF9FTkFCTEVfTUVNT1JZX0hPVFBMVUcKKwlkZWZfYm9vbCB5CisJZGVwZW5kcyBvbiBTUEFSU0VNRU0KKwogc291cmNlICJtbS9LY29uZmlnIgogCiBjb21tZW50ICJJL08gc3Vic3lzdGVtIGNvbmZpZ3VyYXRpb24iCkBAIC0zNDQsNiArMzQ5LDIyIEBACiAKIAkgIElmIHVuc3VyZSwgc2F5IE4uCiAKK2NvbmZpZyBDSFNDX1NDSAorCXRyaXN0YXRlICJTdXBwb3J0IGZvciBDSFNDIHN1YmNoYW5uZWxzIgorCWhlbHAKKwkgIFRoaXMgZHJpdmVyIGFsbG93cyB1c2FnZSBvZiBDSFNDIHN1YmNoYW5uZWxzLiBBIENIU0Mgc3ViY2hhbm5lbAorCSAgaXMgdXN1YWxseSBwcmVzZW50IG9uIExQQVIgb25seS4KKwkgIFRoZSBkcml2ZXIgY3JlYXRlcyBhIGRldmljZSAvZGV2L2Noc2MsIHdoaWNoIG1heSBiZSB1c2VkIHRvCisJICBvYnRhaW4gSS9PIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gYWJvdXQgdGhlIG1hY2hpbmUgYW5kCisJICB0byBpc3N1ZSBhc3luY2hyb25vdXMgY2hzYyBjb21tYW5kcyAoREFOR0VST1VTKS4KKwkgIFlvdSB3aWxsIHVzdWFsbHkgb25seSB3YW50IHRvIHVzZSB0aGlzIGludGVyZmFjZSBvbiBhIHNwZWNpYWwKKwkgIExQQVIgZGVzaWduYXRlZCBmb3Igc3lzdGVtIG1hbmFnZW1lbnQuCisKKwkgIFRvIGNvbXBpbGUgdGhpcyBkcml2ZXIgYXMgYSBtb2R1bGUsIGNob29zZSBNIGhlcmU6IHRoZQorCSAgbW9kdWxlIHdpbGwgYmUgY2FsbGVkIGNoc2Nfc2NoLgorCisJICBJZiB1bnN1cmUsIHNheSBOLgorCiBjb21tZW50ICJNaXNjIgogCiBjb25maWcgSVBMCmRpZmYgLS1naXQgYS9hcmNoL3MzOTAvYXBwbGRhdGEvYXBwbGRhdGEuaCBiL2FyY2gvczM5MC9hcHBsZGF0YS9hcHBsZGF0YS5oCmluZGV4IGRiM2FlODUwLi4xN2EyNjM2IDEwMDY0NAotLS0gYS9hcmNoL3MzOTAvYXBwbGRhdGEvYXBwbGRhdGEuaAorKysgYi9hcmNoL3MzOTAvYXBwbGRhdGEvYXBwbGRhdGEuaApAQCAtMywxMyArMywxMSBAQAogICoKICAqIERlZmluaXRpb25zIGFuZCBpbnRlcmZhY2UgZm9yIExpbnV4IC0gei9WTSBNb25pdG9yIFN0cmVhbS4KICAqCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDMsMjAwNiBJQk0gQ29ycG9yYXRpb24sIElCTSBEZXV0c2NobGFuZCBFbnR3aWNrbHVuZyBHbWJILgorICogQ29weXJpZ2h0IElCTSBDb3JwLiAyMDAzLCAyMDA4CiAgKgogICogQXV0aG9yOiBHZXJhbGQgU2NoYWVmZXIgPGdlcmFsZC5zY2hhZWZlckBkZS5pYm0uY29tPgogICovCiAKLS8vI2RlZmluZSBBUFBMREFUQV9ERUJVRwkJCS8qIERlYnVnIG1lc3NhZ2VzIG9uL29mZiAqLwotCiAjZGVmaW5lIEFQUExEQVRBX01BWF9SRUNfU0laRQkgIDQwMjQJLyogTWF4aW11bSBzaXplIG9mIHRoZSAqLwogCQkJCQkvKiBkYXRhIGJ1ZmZlciAqLwogI2RlZmluZSBBUFBMREFUQV9NQVhfUFJPQ1MgMTAwCkBAIC0zMiwxMiArMzAsNiBAQAogI2RlZmluZSBQX0VSUk9SKHguLi4pCXByaW50ayhLRVJOX0VSUiBNWV9QUklOVF9OQU1FICIgZXJyb3I6ICIgeCkKICNkZWZpbmUgUF9XQVJOSU5HKHguLi4pCXByaW50ayhLRVJOX1dBUk5JTkcgTVlfUFJJTlRfTkFNRSAiIHN0YXR1czogIiB4KQogCi0jaWZkZWYgQVBQTERBVEFfREVCVUcKLSNkZWZpbmUgUF9ERUJVRyh4Li4uKSAgIHByaW50ayhLRVJOX0RFQlVHIE1ZX1BSSU5UX05BTUUgIiBkZWJ1ZzogIiB4KQotI2Vsc2UKLSNkZWZpbmUgUF9ERUJVRyh4Li4uKSAgIGRvIHt9IHdoaWxlICgwKQotI2VuZGlmCi0KIHN0cnVjdCBhcHBsZGF0YV9vcHMgewogCXN0cnVjdCBsaXN0X2hlYWQgbGlzdDsKIAlzdHJ1Y3QgY3RsX3RhYmxlX2hlYWRlciAqc3lzY3RsX2hlYWRlcjsKZGlmZiAtLWdpdCBhL2FyY2gvczM5MC9hcHBsZGF0YS9hcHBsZGF0YV9iYXNlLmMgYi9hcmNoL3MzOTAvYXBwbGRhdGEvYXBwbGRhdGFfYmFzZS5jCmluZGV4IGFkNDA3MjkuLmE3Zjg5NzkgMTAwNjQ0Ci0tLSBhL2FyY2gvczM5MC9hcHBsZGF0YS9hcHBsZGF0YV9iYXNlLmMKKysrIGIvYXJjaC9zMzkwL2FwcGxkYXRhL2FwcGxkYXRhX2Jhc2UuYwpAQCAtNSw3ICs1LDcgQEAKICAqIEV4cG9ydHMgYXBwbGRhdGFfcmVnaXN0ZXJfb3BzKCkgYW5kIGFwcGxkYXRhX3VucmVnaXN0ZXJfb3BzKCkgZm9yIHRoZQogICogZGF0YSBnYXRoZXJpbmcgbW9kdWxlcy4KICAqCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDMsMjAwNiBJQk0gQ29ycG9yYXRpb24sIElCTSBEZXV0c2NobGFuZCBFbnR3aWNrbHVuZyBHbWJILgorICogQ29weXJpZ2h0IElCTSBDb3JwLiAyMDAzLCAyMDA4CiAgKgogICogQXV0aG9yOiBHZXJhbGQgU2NoYWVmZXIgPGdlcmFsZC5zY2hhZWZlckBkZS5pYm0uY29tPgogICovCkBAIC0xMDgsOSArMTA4LDYgQEAKICAqLwogc3RhdGljIHZvaWQgYXBwbGRhdGFfdGltZXJfZnVuY3Rpb24odW5zaWduZWQgbG9uZyBkYXRhKQogewotCVBfREVCVUcoIiAgIC09IFRpbWVyID0tXG4iKTsKLQlQX0RFQlVHKCJDUFU6ICVpLCBleHBpcmVfY291bnQ6ICVpXG4iLCBzbXBfcHJvY2Vzc29yX2lkKCksCi0JCWF0b21pY19yZWFkKCZhcHBsZGF0YV9leHBpcmVfY291bnQpKTsKIAlpZiAoYXRvbWljX2RlY19hbmRfdGVzdCgmYXBwbGRhdGFfZXhwaXJlX2NvdW50KSkgewogCQlhdG9taWNfc2V0KCZhcHBsZGF0YV9leHBpcmVfY291bnQsIG51bV9vbmxpbmVfY3B1cygpKTsKIAkJcXVldWVfd29yayhhcHBsZGF0YV93cSwgKHN0cnVjdCB3b3JrX3N0cnVjdCAqKSBkYXRhKTsKQEAgLTEyOCwxNCArMTI1LDExIEBACiAJc3RydWN0IGFwcGxkYXRhX29wcyAqb3BzOwogCWludCBpOwogCi0JUF9ERUJVRygiICAtPSBXb3JrIFF1ZXVlID0tXG4iKTsKIAlpID0gMDsKIAlnZXRfb25saW5lX2NwdXMoKTsKIAlzcGluX2xvY2soJmFwcGxkYXRhX29wc19sb2NrKTsKIAlsaXN0X2Zvcl9lYWNoKGxoLCAmYXBwbGRhdGFfb3BzX2xpc3QpIHsKIAkJb3BzID0gbGlzdF9lbnRyeShsaCwgc3RydWN0IGFwcGxkYXRhX29wcywgbGlzdCk7Ci0JCVBfREVCVUcoImxpc3RfZm9yX2VhY2ggbG9vcDogJWkpIGFjdGl2ZSA9ICV1LCBuYW1lID0gJXNcbiIsCi0JCQkrK2ksIG9wcy0+YWN0aXZlLCBvcHMtPm5hbWUpOwogCQlpZiAob3BzLT5hY3RpdmUgPT0gMSkgewogCQkJb3BzLT5jYWxsYmFjayhvcHMtPmRhdGEpOwogCQl9CkBAIC0yMDksMTAgKzIwMyw5IEBACiAJCQlwZXJfY3B1KGFwcGxkYXRhX3RpbWVyLCBpKS5leHBpcmVzID0gcGVyX2NwdV9pbnRlcnZhbDsKIAkJCXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShpLCBhZGRfdmlydF90aW1lcl9wZXJpb2RpYywKIAkJCQkJCSAmcGVyX2NwdShhcHBsZGF0YV90aW1lciwgaSksCi0JCQkJCQkgMCwgMSk7CisJCQkJCQkgMSk7CiAJCX0KIAkJYXBwbGRhdGFfdGltZXJfYWN0aXZlID0gMTsKLQkJUF9JTkZPKCJNb25pdG9yaW5nIHRpbWVyIHN0YXJ0ZWQuXG4iKTsKIAkJYnJlYWs7CiAJY2FzZSBBUFBMREFUQV9ERUxfVElNRVI6CiAJCWZvcl9lYWNoX29ubGluZV9jcHUoaSkKQEAgLTIyMSw3ICsyMTQsNiBAQAogCQkJYnJlYWs7CiAJCWFwcGxkYXRhX3RpbWVyX2FjdGl2ZSA9IDA7CiAJCWF0b21pY19zZXQoJmFwcGxkYXRhX2V4cGlyZV9jb3VudCwgbnVtX29ubGluZV9jcHVzKCkpOwotCQlQX0lORk8oIk1vbml0b3JpbmcgdGltZXIgc3RvcHBlZC5cbiIpOwogCQlicmVhazsKIAljYXNlIEFQUExEQVRBX01PRF9USU1FUjoKIAkJcGVyX2NwdV9pbnRlcnZhbCA9ICh1NjQpIChhcHBsZGF0YV9pbnRlcnZhbCoxMDAwIC8KQEAgLTIzNiw3ICsyMjgsNyBAQAogCQkJYXJncy50aW1lciA9ICZwZXJfY3B1KGFwcGxkYXRhX3RpbWVyLCBpKTsKIAkJCWFyZ3MuZXhwaXJlcyA9IHBlcl9jcHVfaW50ZXJ2YWw7CiAJCQlzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoaSwgX19hcHBsZGF0YV9tb2RfdnRpbWVyX3dyYXAsCi0JCQkJCQkgJmFyZ3MsIDAsIDEpOworCQkJCQkJICZhcmdzLCAxKTsKIAkJfQogCX0KIH0KQEAgLTMxMywxMCArMzA1LDggQEAKIAl9CiAJaW50ZXJ2YWwgPSAwOwogCXNzY2FuZihidWYsICIlaSIsICZpbnRlcnZhbCk7Ci0JaWYgKGludGVydmFsIDw9IDApIHsKLQkJUF9FUlJPUigiVGltZXIgQ1BVIGludGVydmFsIGhhcyB0byBiZSA+IDAhXG4iKTsKKwlpZiAoaW50ZXJ2YWwgPD0gMCkKIAkJcmV0dXJuIC1FSU5WQUw7Ci0JfQogCiAJZ2V0X29ubGluZV9jcHVzKCk7CiAJc3Bpbl9sb2NrKCZhcHBsZGF0YV90aW1lcl9sb2NrKTsKQEAgLTMyNCw5ICszMTQsNiBAQAogCV9fYXBwbGRhdGFfdnRpbWVyX3NldHVwKEFQUExEQVRBX01PRF9USU1FUik7CiAJc3Bpbl91bmxvY2soJmFwcGxkYXRhX3RpbWVyX2xvY2spOwogCXB1dF9vbmxpbmVfY3B1cygpOwotCi0JUF9JTkZPKCJNb25pdG9yaW5nIENQVSBpbnRlcnZhbCBzZXQgdG8gJXUgbWlsbGlzZWNvbmRzLlxuIiwKLQkJIGludGVydmFsKTsKIG91dDoKIAkqbGVucCA9IGxlbjsKIAkqcHBvcyArPSBsZW47CkBAIC00MDYsMjMgKzM5MywxNiBAQAogCQkJUF9FUlJPUigiU1RBUlQgRElBRyAweERDIGZvciAlcyBmYWlsZWQsICIKIAkJCQkicmV0dXJuIGNvZGU6ICVkXG4iLCBvcHMtPm5hbWUsIHJjKTsKIAkJCW1vZHVsZV9wdXQob3BzLT5vd25lcik7Ci0JCX0gZWxzZSB7Ci0JCQlQX0lORk8oIk1vbml0b3JpbmcgJXMgZGF0YSBlbmFibGVkLCAiCi0JCQkJIkRJQUcgMHhEQyBzdGFydGVkLlxuIiwgb3BzLT5uYW1lKTsKKwkJfSBlbHNlCiAJCQlvcHMtPmFjdGl2ZSA9IDE7Ci0JCX0KIAl9IGVsc2UgaWYgKChidWZbMF0gPT0gJzAnKSAmJiAob3BzLT5hY3RpdmUgPT0gMSkpIHsKIAkJb3BzLT5hY3RpdmUgPSAwOwogCQlyYyA9IGFwcGxkYXRhX2RpYWcob3BzLT5yZWNvcmRfbnIsIEFQUExEQVRBX1NUT1BfUkVDLAogCQkJCSh1bnNpZ25lZCBsb25nKSBvcHMtPmRhdGEsIG9wcy0+c2l6ZSwKIAkJCQlvcHMtPm1vZF9sdmwpOwotCQlpZiAocmMgIT0gMCkgeworCQlpZiAocmMgIT0gMCkKIAkJCVBfRVJST1IoIlNUT1AgRElBRyAweERDIGZvciAlcyBmYWlsZWQsICIKIAkJCQkicmV0dXJuIGNvZGU6ICVkXG4iLCBvcHMtPm5hbWUsIHJjKTsKLQkJfSBlbHNlIHsKLQkJCVBfSU5GTygiTW9uaXRvcmluZyAlcyBkYXRhIGRpc2FibGVkLCAiCi0JCQkJIkRJQUcgMHhEQyBzdG9wcGVkLlxuIiwgb3BzLT5uYW1lKTsKLQkJfQogCQltb2R1bGVfcHV0KG9wcy0+b3duZXIpOwogCX0KIAlzcGluX3VubG9jaygmYXBwbGRhdGFfb3BzX2xvY2spOwpAQCAtNDY4LDcgKzQ0OCw2IEBACiAJb3BzLT5zeXNjdGxfaGVhZGVyID0gcmVnaXN0ZXJfc3lzY3RsX3RhYmxlKG9wcy0+Y3RsX3RhYmxlKTsKIAlpZiAoIW9wcy0+c3lzY3RsX2hlYWRlcikKIAkJZ290byBvdXQ7Ci0JUF9JTkZPKCIlcy1vcHMgcmVnaXN0ZXJlZCFcbiIsIG9wcy0+bmFtZSk7CiAJcmV0dXJuIDA7CiBvdXQ6CiAJc3Bpbl9sb2NrKCZhcHBsZGF0YV9vcHNfbG9jayk7CkBAIC00OTAsNyArNDY5LDYgQEAKIAlzcGluX3VubG9jaygmYXBwbGRhdGFfb3BzX2xvY2spOwogCXVucmVnaXN0ZXJfc3lzY3RsX3RhYmxlKG9wcy0+c3lzY3RsX2hlYWRlcik7CiAJa2ZyZWUob3BzLT5jdGxfdGFibGUpOwotCVBfSU5GTygiJXMtb3BzIHVucmVnaXN0ZXJlZCFcbiIsIG9wcy0+bmFtZSk7CiB9CiAvKioqKioqKioqKioqKioqKioqKioqKiBtb2R1bGUtb3BzIG1hbmFnZW1lbnQgPEVORD4gKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAKQEAgLTU1MywxNCArNTMxLDkgQEAKIHsKIAlpbnQgaTsKIAotCVBfREVCVUcoInNpemVvZihwYXJhbWV0ZXJfbGlzdCkgPSAlbHVcbiIsCi0JCXNpemVvZihzdHJ1Y3QgYXBwbGRhdGFfcGFyYW1ldGVyX2xpc3QpKTsKLQogCWFwcGxkYXRhX3dxID0gY3JlYXRlX3NpbmdsZXRocmVhZF93b3JrcXVldWUoImFwcGxkYXRhIik7Ci0JaWYgKCFhcHBsZGF0YV93cSkgewotCQlQX0VSUk9SKCJDb3VsZCBub3QgY3JlYXRlIHdvcmsgcXVldWVcbiIpOworCWlmICghYXBwbGRhdGFfd3EpCiAJCXJldHVybiAtRU5PTUVNOwotCX0KIAogCWdldF9vbmxpbmVfY3B1cygpOwogCWZvcl9lYWNoX29ubGluZV9jcHUoaSkKQEAgLTU3MSw4ICs1NDQsNiBAQAogCXJlZ2lzdGVyX2hvdGNwdV9ub3RpZmllcigmYXBwbGRhdGFfbmIpOwogCiAJYXBwbGRhdGFfc3lzY3RsX2hlYWRlciA9IHJlZ2lzdGVyX3N5c2N0bF90YWJsZShhcHBsZGF0YV9kaXJfdGFibGUpOwotCi0JUF9ERUJVRygiQmFzZSBpbnRlcmZhY2UgaW5pdGlhbGl6ZWQuXG4iKTsKIAlyZXR1cm4gMDsKIH0KIApAQCAtNTg0LDcgKzU1NSw5IEBACiBFWFBPUlRfU1lNQk9MX0dQTChhcHBsZGF0YV91bnJlZ2lzdGVyX29wcyk7CiBFWFBPUlRfU1lNQk9MX0dQTChhcHBsZGF0YV9kaWFnKTsKIAorI2lmZGVmIENPTkZJR19TV0FQCiBFWFBPUlRfU1lNQk9MX0dQTChzaV9zd2FwaW5mbyk7CisjZW5kaWYKIEVYUE9SVF9TWU1CT0xfR1BMKG5yX3RocmVhZHMpOwogRVhQT1JUX1NZTUJPTF9HUEwobnJfcnVubmluZyk7CiBFWFBPUlRfU1lNQk9MX0dQTChucl9pb3dhaXQpOwpkaWZmIC0tZ2l0IGEvYXJjaC9zMzkwL2FwcGxkYXRhL2FwcGxkYXRhX21lbS5jIGIvYXJjaC9zMzkwL2FwcGxkYXRhL2FwcGxkYXRhX21lbS5jCmluZGV4IDUxMTgxY2MuLjNlZDU2YjcgMTAwNjQ0Ci0tLSBhL2FyY2gvczM5MC9hcHBsZGF0YS9hcHBsZGF0YV9tZW0uYworKysgYi9hcmNoL3MzOTAvYXBwbGRhdGEvYXBwbGRhdGFfbWVtLmMKQEAgLTE0LDE0ICsxNCwxMyBAQAogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KICNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbF9zdGF0Lmg+Ci0jaW5jbHVkZSA8YXNtL2lvLmg+CiAjaW5jbHVkZSA8bGludXgvcGFnZW1hcC5oPgogI2luY2x1ZGUgPGxpbnV4L3N3YXAuaD4KKyNpbmNsdWRlIDxhc20vaW8uaD4KIAogI2luY2x1ZGUgImFwcGxkYXRhLmgiCiAKIAotI2RlZmluZSBNWV9QUklOVF9OQU1FICJhcHBsZGF0YV9tZW0iCQkvKiBmb3IgZGVidWcgbWVzc2FnZXMsIGV0Yy4gKi8KICNkZWZpbmUgUDJLKHgpICgoeCkgPDwgKFBBR0VfU0hJRlQgLSAxMCkpCS8qIENvbnZlcnRzICNQYWdlcyB0byBLQiAqLwogCiAvKgpAQCAtNzAsMzAgKzY5LDYgQEAKIH0gX19hdHRyaWJ1dGVfXygocGFja2VkKSkgYXBwbGRhdGFfbWVtX2RhdGE7CiAKIAotc3RhdGljIGlubGluZSB2b2lkIGFwcGxkYXRhX2RlYnVnX3ByaW50KHN0cnVjdCBhcHBsZGF0YV9tZW1fZGF0YSAqbWVtX2RhdGEpCi17Ci0JUF9ERUJVRygiLS0tIE1FTSAtIFJFQ09SRCAtLS1cbiIpOwotCVBfREVCVUcoInBncGdpbiAgICAgPSAlOGx1IEtCXG4iLCBtZW1fZGF0YS0+cGdwZ2luKTsKLQlQX0RFQlVHKCJwZ3Bnb3V0ICAgID0gJThsdSBLQlxuIiwgbWVtX2RhdGEtPnBncGdvdXQpOwotCVBfREVCVUcoInBzd3BpbiAgICAgPSAlOGx1IFBhZ2VzXG4iLCBtZW1fZGF0YS0+cHN3cGluKTsKLQlQX0RFQlVHKCJwc3dwb3V0ICAgID0gJThsdSBQYWdlc1xuIiwgbWVtX2RhdGEtPnBzd3BvdXQpOwotCVBfREVCVUcoInBnYWxsb2MgICAgPSAlOGx1IFxuIiwgbWVtX2RhdGEtPnBnYWxsb2MpOwotCVBfREVCVUcoInBnZmF1bHQgICAgPSAlOGx1IFxuIiwgbWVtX2RhdGEtPnBnZmF1bHQpOwotCVBfREVCVUcoInBnbWFqZmF1bHQgPSAlOGx1IFxuIiwgbWVtX2RhdGEtPnBnbWFqZmF1bHQpOwotCVBfREVCVUcoInNoYXJlZHJhbSAgPSAlOGx1IEtCXG4iLCBtZW1fZGF0YS0+c2hhcmVkcmFtKTsKLQlQX0RFQlVHKCJ0b3RhbHJhbSAgID0gJThsdSBLQlxuIiwgbWVtX2RhdGEtPnRvdGFscmFtKTsKLQlQX0RFQlVHKCJmcmVlcmFtICAgID0gJThsdSBLQlxuIiwgbWVtX2RhdGEtPmZyZWVyYW0pOwotCVBfREVCVUcoInRvdGFsaGlnaCAgPSAlOGx1IEtCXG4iLCBtZW1fZGF0YS0+dG90YWxoaWdoKTsKLQlQX0RFQlVHKCJmcmVlaGlnaCAgID0gJThsdSBLQlxuIiwgbWVtX2RhdGEtPmZyZWVoaWdoKTsKLQlQX0RFQlVHKCJidWZmZXJyYW0gID0gJThsdSBLQlxuIiwgbWVtX2RhdGEtPmJ1ZmZlcnJhbSk7Ci0JUF9ERUJVRygiY2FjaGVkICAgICA9ICU4bHUgS0JcbiIsIG1lbV9kYXRhLT5jYWNoZWQpOwotCVBfREVCVUcoInRvdGFsc3dhcCAgPSAlOGx1IEtCXG4iLCBtZW1fZGF0YS0+dG90YWxzd2FwKTsKLQlQX0RFQlVHKCJmcmVlc3dhcCAgID0gJThsdSBLQlxuIiwgbWVtX2RhdGEtPmZyZWVzd2FwKTsKLQlQX0RFQlVHKCJzeW5jX2NvdW50XzEgPSAldVxuIiwgbWVtX2RhdGEtPnN5bmNfY291bnRfMSk7Ci0JUF9ERUJVRygic3luY19jb3VudF8yID0gJXVcbiIsIG1lbV9kYXRhLT5zeW5jX2NvdW50XzIpOwotCVBfREVCVUcoInRpbWVzdGFtcCAgICA9ICVsWFxuIiwgbWVtX2RhdGEtPnRpbWVzdGFtcCk7Ci19Ci0KIC8qCiAgKiBhcHBsZGF0YV9nZXRfbWVtX2RhdGEoKQogICoKQEAgLTE0MCw5ICsxMTUsNiBAQAogCiAJbWVtX2RhdGEtPnRpbWVzdGFtcCA9IGdldF9jbG9jaygpOwogCW1lbV9kYXRhLT5zeW5jX2NvdW50XzIrKzsKLSNpZmRlZiBBUFBMREFUQV9ERUJVRwotCWFwcGxkYXRhX2RlYnVnX3ByaW50KG1lbV9kYXRhKTsKLSNlbmRpZgogfQogCiAKQEAgLTE2NCwxNyArMTM2LDcgQEAKICAqLwogc3RhdGljIGludCBfX2luaXQgYXBwbGRhdGFfbWVtX2luaXQodm9pZCkKIHsKLQlpbnQgcmM7Ci0KLQlQX0RFQlVHKCJzaXplb2YobWVtKSA9ICVsdVxuIiwgc2l6ZW9mKHN0cnVjdCBhcHBsZGF0YV9tZW1fZGF0YSkpOwotCi0JcmMgPSBhcHBsZGF0YV9yZWdpc3Rlcl9vcHMoJm9wcyk7Ci0JaWYgKHJjICE9IDApIHsKLQkJUF9FUlJPUigiRXJyb3IgcmVnaXN0ZXJpbmcgb3BzLCByYyA9ICVpXG4iLCByYyk7Ci0JfSBlbHNlIHsKLQkJUF9ERUJVRygiJXMtb3BzIHJlZ2lzdGVyZWQhXG4iLCBvcHMubmFtZSk7Ci0JfQotCXJldHVybiByYzsKKwlyZXR1cm4gYXBwbGRhdGFfcmVnaXN0ZXJfb3BzKCZvcHMpOwogfQogCiAvKgpAQCAtMTg1LDcgKzE0Nyw2IEBACiBzdGF0aWMgdm9pZCBfX2V4aXQgYXBwbGRhdGFfbWVtX2V4aXQodm9pZCkKIHsKIAlhcHBsZGF0YV91bnJlZ2lzdGVyX29wcygmb3BzKTsKLQlQX0RFQlVHKCIlcy1vcHMgdW5yZWdpc3RlcmVkIVxuIiwgb3BzLm5hbWUpOwogfQogCiAKZGlmZiAtLWdpdCBhL2FyY2gvczM5MC9hcHBsZGF0YS9hcHBsZGF0YV9uZXRfc3VtLmMgYi9hcmNoL3MzOTAvYXBwbGRhdGEvYXBwbGRhdGFfbmV0X3N1bS5jCmluZGV4IDRkODM0NDMuLjNiNzQ2NTUgMTAwNjQ0Ci0tLSBhL2FyY2gvczM5MC9hcHBsZGF0YS9hcHBsZGF0YV9uZXRfc3VtLmMKKysrIGIvYXJjaC9zMzkwL2FwcGxkYXRhL2FwcGxkYXRhX25ldF9zdW0uYwpAQCAtMjEsOSArMjEsNiBAQAogI2luY2x1ZGUgImFwcGxkYXRhLmgiCiAKIAotI2RlZmluZSBNWV9QUklOVF9OQU1FCSJhcHBsZGF0YV9uZXRfc3VtIgkvKiBmb3IgZGVidWcgbWVzc2FnZXMsIGV0Yy4gKi8KLQotCiAvKgogICogTmV0d29yayBkYXRhCiAgKgpAQCAtNjAsMjYgKzU3LDYgQEAKIH0gX19hdHRyaWJ1dGVfXygocGFja2VkKSkgYXBwbGRhdGFfbmV0X3N1bV9kYXRhOwogCiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBhcHBsZGF0YV9wcmludF9kZWJ1ZyhzdHJ1Y3QgYXBwbGRhdGFfbmV0X3N1bV9kYXRhICpuZXRfZGF0YSkKLXsKLQlQX0RFQlVHKCItLS0gTkVUIC0gUkVDT1JEIC0tLVxuIik7Ci0KLQlQX0RFQlVHKCJucl9pbnRlcmZhY2VzID0gJXVcbiIsIG5ldF9kYXRhLT5ucl9pbnRlcmZhY2VzKTsKLQlQX0RFQlVHKCJyeF9wYWNrZXRzICAgID0gJThsdVxuIiwgbmV0X2RhdGEtPnJ4X3BhY2tldHMpOwotCVBfREVCVUcoInR4X3BhY2tldHMgICAgPSAlOGx1XG4iLCBuZXRfZGF0YS0+dHhfcGFja2V0cyk7Ci0JUF9ERUJVRygicnhfYnl0ZXMgICAgICA9ICU4bHVcbiIsIG5ldF9kYXRhLT5yeF9ieXRlcyk7Ci0JUF9ERUJVRygidHhfYnl0ZXMgICAgICA9ICU4bHVcbiIsIG5ldF9kYXRhLT50eF9ieXRlcyk7Ci0JUF9ERUJVRygicnhfZXJyb3JzICAgICA9ICU4bHVcbiIsIG5ldF9kYXRhLT5yeF9lcnJvcnMpOwotCVBfREVCVUcoInR4X2Vycm9ycyAgICAgPSAlOGx1XG4iLCBuZXRfZGF0YS0+dHhfZXJyb3JzKTsKLQlQX0RFQlVHKCJyeF9kcm9wcGVkICAgID0gJThsdVxuIiwgbmV0X2RhdGEtPnJ4X2Ryb3BwZWQpOwotCVBfREVCVUcoInR4X2Ryb3BwZWQgICAgPSAlOGx1XG4iLCBuZXRfZGF0YS0+dHhfZHJvcHBlZCk7Ci0JUF9ERUJVRygiY29sbGlzaW9ucyAgICA9ICU4bHVcbiIsIG5ldF9kYXRhLT5jb2xsaXNpb25zKTsKLQotCVBfREVCVUcoInN5bmNfY291bnRfMSA9ICV1XG4iLCBuZXRfZGF0YS0+c3luY19jb3VudF8xKTsKLQlQX0RFQlVHKCJzeW5jX2NvdW50XzIgPSAldVxuIiwgbmV0X2RhdGEtPnN5bmNfY291bnRfMik7Ci0JUF9ERUJVRygidGltZXN0YW1wICAgID0gJWxYXG4iLCBuZXRfZGF0YS0+dGltZXN0YW1wKTsKLX0KLQogLyoKICAqIGFwcGxkYXRhX2dldF9uZXRfc3VtX2RhdGEoKQogICoKQEAgLTEzNSw5ICsxMTIsNiBAQAogCiAJbmV0X2RhdGEtPnRpbWVzdGFtcCA9IGdldF9jbG9jaygpOwogCW5ldF9kYXRhLT5zeW5jX2NvdW50XzIrKzsKLSNpZmRlZiBBUFBMREFUQV9ERUJVRwotCWFwcGxkYXRhX3ByaW50X2RlYnVnKG5ldF9kYXRhKTsKLSNlbmRpZgogfQogCiAKQEAgLTE1OSwxNyArMTMzLDcgQEAKICAqLwogc3RhdGljIGludCBfX2luaXQgYXBwbGRhdGFfbmV0X2luaXQodm9pZCkKIHsKLQlpbnQgcmM7Ci0KLQlQX0RFQlVHKCJzaXplb2YobmV0KSA9ICVsdVxuIiwgc2l6ZW9mKHN0cnVjdCBhcHBsZGF0YV9uZXRfc3VtX2RhdGEpKTsKLQotCXJjID0gYXBwbGRhdGFfcmVnaXN0ZXJfb3BzKCZvcHMpOwotCWlmIChyYyAhPSAwKSB7Ci0JCVBfRVJST1IoIkVycm9yIHJlZ2lzdGVyaW5nIG9wcywgcmMgPSAlaVxuIiwgcmMpOwotCX0gZWxzZSB7Ci0JCVBfREVCVUcoIiVzLW9wcyByZWdpc3RlcmVkIVxuIiwgb3BzLm5hbWUpOwotCX0KLQlyZXR1cm4gcmM7CisJcmV0dXJuIGFwcGxkYXRhX3JlZ2lzdGVyX29wcygmb3BzKTsKIH0KIAogLyoKQEAgLTE4MCw3ICsxNDQsNiBAQAogc3RhdGljIHZvaWQgX19leGl0IGFwcGxkYXRhX25ldF9leGl0KHZvaWQpCiB7CiAJYXBwbGRhdGFfdW5yZWdpc3Rlcl9vcHMoJm9wcyk7Ci0JUF9ERUJVRygiJXMtb3BzIHVucmVnaXN0ZXJlZCFcbiIsIG9wcy5uYW1lKTsKIH0KIAogCmRpZmYgLS1naXQgYS9hcmNoL3MzOTAvYXBwbGRhdGEvYXBwbGRhdGFfb3MuYyBiL2FyY2gvczM5MC9hcHBsZGF0YS9hcHBsZGF0YV9vcy5jCmluZGV4IDZiM2VhZmUuLmViNDRmOWYgMTAwNjQ0Ci0tLSBhL2FyY2gvczM5MC9hcHBsZGF0YS9hcHBsZGF0YV9vcy5jCisrKyBiL2FyY2gvczM5MC9hcHBsZGF0YS9hcHBsZGF0YV9vcy5jCkBAIC04OSw0NCArODksNiBAQAogfTsKIAogCi1zdGF0aWMgaW5saW5lIHZvaWQgYXBwbGRhdGFfcHJpbnRfZGVidWcoc3RydWN0IGFwcGxkYXRhX29zX2RhdGEgKm9zX2RhdGEpCi17Ci0JaW50IGEwLCBhMSwgYTIsIGk7Ci0KLQlQX0RFQlVHKCItLS0gT1MgLSBSRUNPUkQgLS0tXG4iKTsKLQlQX0RFQlVHKCJucl90aHJlYWRzICAgPSAldVxuIiwgb3NfZGF0YS0+bnJfdGhyZWFkcyk7Ci0JUF9ERUJVRygibnJfcnVubmluZyAgID0gJXVcbiIsIG9zX2RhdGEtPm5yX3J1bm5pbmcpOwotCVBfREVCVUcoIm5yX2lvd2FpdCAgICA9ICV1XG4iLCBvc19kYXRhLT5ucl9pb3dhaXQpOwotCVBfREVCVUcoImF2ZW5ydW4oaW50KSA9ICU4eCAvICU4eCAvICU4eFxuIiwgb3NfZGF0YS0+YXZlbnJ1blswXSwKLQkJb3NfZGF0YS0+YXZlbnJ1blsxXSwgb3NfZGF0YS0+YXZlbnJ1blsyXSk7Ci0JYTAgPSBvc19kYXRhLT5hdmVucnVuWzBdOwotCWExID0gb3NfZGF0YS0+YXZlbnJ1blsxXTsKLQlhMiA9IG9zX2RhdGEtPmF2ZW5ydW5bMl07Ci0JUF9ERUJVRygiYXZlbnJ1bihmbG9hdCkgPSAlZC4lMDJkIC8gJWQuJTAyZCAvICVkLiUwMmRcbiIsCi0JCUxPQURfSU5UKGEwKSwgTE9BRF9GUkFDKGEwKSwgTE9BRF9JTlQoYTEpLCBMT0FEX0ZSQUMoYTEpLAotCQlMT0FEX0lOVChhMiksIExPQURfRlJBQyhhMikpOwotCi0JUF9ERUJVRygibnJfY3B1cyA9ICV1XG4iLCBvc19kYXRhLT5ucl9jcHVzKTsKLQlmb3IgKGkgPSAwOyBpIDwgb3NfZGF0YS0+bnJfY3B1czsgaSsrKSB7Ci0JCVBfREVCVUcoImNwdSV1IDogdXNlciA9ICV1LCBuaWNlID0gJXUsIHN5c3RlbSA9ICV1LCAiCi0JCQkiaWRsZSA9ICV1LCBpcnEgPSAldSwgc29mdGlycSA9ICV1LCBpb3dhaXQgPSAldSwgIgotCQkJInN0ZWFsID0gJXVcbiIsCi0JCQkJb3NfZGF0YS0+b3NfY3B1W2ldLmNwdV9pZCwKLQkJCQlvc19kYXRhLT5vc19jcHVbaV0ucGVyX2NwdV91c2VyLAotCQkJCW9zX2RhdGEtPm9zX2NwdVtpXS5wZXJfY3B1X25pY2UsCi0JCQkJb3NfZGF0YS0+b3NfY3B1W2ldLnBlcl9jcHVfc3lzdGVtLAotCQkJCW9zX2RhdGEtPm9zX2NwdVtpXS5wZXJfY3B1X2lkbGUsCi0JCQkJb3NfZGF0YS0+b3NfY3B1W2ldLnBlcl9jcHVfaXJxLAotCQkJCW9zX2RhdGEtPm9zX2NwdVtpXS5wZXJfY3B1X3NvZnRpcnEsCi0JCQkJb3NfZGF0YS0+b3NfY3B1W2ldLnBlcl9jcHVfaW93YWl0LAotCQkJCW9zX2RhdGEtPm9zX2NwdVtpXS5wZXJfY3B1X3N0ZWFsKTsKLQl9Ci0KLQlQX0RFQlVHKCJzeW5jX2NvdW50XzEgPSAldVxuIiwgb3NfZGF0YS0+c3luY19jb3VudF8xKTsKLQlQX0RFQlVHKCJzeW5jX2NvdW50XzIgPSAldVxuIiwgb3NfZGF0YS0+c3luY19jb3VudF8yKTsKLQlQX0RFQlVHKCJ0aW1lc3RhbXAgICAgPSAlbFhcbiIsIG9zX2RhdGEtPnRpbWVzdGFtcCk7Ci19Ci0KIC8qCiAgKiBhcHBsZGF0YV9nZXRfb3NfZGF0YSgpCiAgKgpAQCAtMTgwLDEzICsxNDIsMTAgQEAKIAkJCQkJICAgQVBQTERBVEFfU1RBUlRfSU5URVJWQUxfUkVDLAogCQkJCQkgICAodW5zaWduZWQgbG9uZykgb3BzLmRhdGEsIG5ld19zaXplLAogCQkJCQkgICBvcHMubW9kX2x2bCk7Ci0JCQlpZiAocmMgIT0gMCkgeworCQkJaWYgKHJjICE9IDApCiAJCQkJUF9FUlJPUigib3M6IFNUQVJUIE5FVyBESUFHIDB4REMgZmFpbGVkLCAiCiAJCQkJCSJyZXR1cm4gY29kZTogJWQsIG5ldyBzaXplID0gJWlcbiIsIHJjLAogCQkJCQluZXdfc2l6ZSk7Ci0JCQkJUF9JTkZPKCJvczogc3RvcHBpbmcgb2xkIHJlY29yZCBub3dcbiIpOwotCQkJfSBlbHNlCi0JCQkJUF9JTkZPKCJvczogbmV3IHJlY29yZCBzaXplID0gJWlcbiIsIG5ld19zaXplKTsKIAogCQkJcmMgPSBhcHBsZGF0YV9kaWFnKEFQUExEQVRBX1JFQ09SRF9PU19JRCwKIAkJCQkJICAgQVBQTERBVEFfU1RPUF9SRUMsCkBAIC0yMDQsOSArMTYzLDYgQEAKIAl9CiAJb3NfZGF0YS0+dGltZXN0YW1wID0gZ2V0X2Nsb2NrKCk7CiAJb3NfZGF0YS0+c3luY19jb3VudF8yKys7Ci0jaWZkZWYgQVBQTERBVEFfREVCVUcKLQlhcHBsZGF0YV9wcmludF9kZWJ1Zyhvc19kYXRhKTsKLSNlbmRpZgogfQogCiAKQEAgLTIyNywxMiArMTgzLDkgQEAKIAkJcmMgPSAtRU5PTUVNOwogCQlnb3RvIG91dDsKIAl9Ci0JUF9ERUJVRygibWF4LiBzaXplb2Yob3MpID0gJWksIHNpemVvZihvc19jcHUpID0gJWx1XG4iLCBtYXhfc2l6ZSwKLQkJc2l6ZW9mKHN0cnVjdCBhcHBsZGF0YV9vc19wZXJfY3B1KSk7CiAKIAlhcHBsZGF0YV9vc19kYXRhID0ga3phbGxvYyhtYXhfc2l6ZSwgR0ZQX0RNQSk7CiAJaWYgKGFwcGxkYXRhX29zX2RhdGEgPT0gTlVMTCkgewotCQlQX0VSUk9SKCJObyBtZW1vcnkgZm9yICVzIVxuIiwgb3BzLm5hbWUpOwogCQlyYyA9IC1FTk9NRU07CiAJCWdvdG8gb3V0OwogCX0KQEAgLTI0MCwxNyArMTkzLDEyIEBACiAJYXBwbGRhdGFfb3NfZGF0YS0+cGVyX2NwdV9zaXplID0gc2l6ZW9mKHN0cnVjdCBhcHBsZGF0YV9vc19wZXJfY3B1KTsKIAlhcHBsZGF0YV9vc19kYXRhLT5jcHVfb2Zmc2V0ICAgPSBvZmZzZXRvZihzdHJ1Y3QgYXBwbGRhdGFfb3NfZGF0YSwKIAkJCQkJCQlvc19jcHUpOwotCVBfREVCVUcoImNwdSBvZmZzZXQgPSAldVxuIiwgYXBwbGRhdGFfb3NfZGF0YS0+Y3B1X29mZnNldCk7CiAKIAlvcHMuZGF0YSA9IGFwcGxkYXRhX29zX2RhdGE7CiAJb3BzLmNhbGxiYWNrICA9ICZhcHBsZGF0YV9nZXRfb3NfZGF0YTsKIAlyYyA9IGFwcGxkYXRhX3JlZ2lzdGVyX29wcygmb3BzKTsKLQlpZiAocmMgIT0gMCkgewotCQlQX0VSUk9SKCJFcnJvciByZWdpc3RlcmluZyBvcHMsIHJjID0gJWlcbiIsIHJjKTsKKwlpZiAocmMgIT0gMCkKIAkJa2ZyZWUoYXBwbGRhdGFfb3NfZGF0YSk7Ci0JfSBlbHNlIHsKLQkJUF9ERUJVRygiJXMtb3BzIHJlZ2lzdGVyZWQhXG4iLCBvcHMubmFtZSk7Ci0JfQogb3V0OgogCXJldHVybiByYzsKIH0KQEAgLTI2NCw3ICsyMTIsNiBAQAogewogCWFwcGxkYXRhX3VucmVnaXN0ZXJfb3BzKCZvcHMpOwogCWtmcmVlKGFwcGxkYXRhX29zX2RhdGEpOwotCVBfREVCVUcoIiVzLW9wcyB1bnJlZ2lzdGVyZWQhXG4iLCBvcHMubmFtZSk7CiB9CiAKIApkaWZmIC0tZ2l0IGEvYXJjaC9zMzkwL2NyeXB0by9jcnlwdF9zMzkwLmggYi9hcmNoL3MzOTAvY3J5cHRvL2NyeXB0X3MzOTAuaAppbmRleCA5OTkyZjk1Li4wZWY5ODI5IDEwMDY0NAotLS0gYS9hcmNoL3MzOTAvY3J5cHRvL2NyeXB0X3MzOTAuaAorKysgYi9hcmNoL3MzOTAvY3J5cHRvL2NyeXB0X3MzOTAuaApAQCAtMjk2LDYgKzI5NiwxMCBAQAogCXVuc2lnbmVkIGNoYXIgc3RhdHVzWzE2XTsKIAlpbnQgcmV0OwogCisJLyogY2hlY2sgaWYgQ1BBQ0YgZmFjaWxpdHkgKGJpdCAxNykgaXMgYXZhaWxhYmxlICovCisJaWYgKCEoc3RmbCgpICYgMVVMTCA8PCAoMzEgLSAxNykpKQorCQlyZXR1cm4gMDsKKwogCXN3aXRjaCAoZnVuYyAmIENSWVBUX1MzOTBfT1BfTUFTSykgewogCWNhc2UgQ1JZUFRfUzM5MF9LTToKIAkJcmV0ID0gY3J5cHRfczM5MF9rbShLTV9RVUVSWSwgJnN0YXR1cywgTlVMTCwgTlVMTCwgMCk7CmRpZmYgLS1naXQgYS9hcmNoL3MzOTAvY3J5cHRvL3BybmcuYyBiL2FyY2gvczM5MC9jcnlwdG8vcHJuZy5jCmluZGV4IDBjZmVmZGQuLmVjYTcyNGQgMTAwNjQ0Ci0tLSBhL2FyY2gvczM5MC9jcnlwdG8vcHJuZy5jCisrKyBiL2FyY2gvczM5MC9jcnlwdG8vcHJuZy5jCkBAIC02LDYgKzYsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvbWlzY2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZXBhcmFtLmg+CkBAIC00OCw2ICs0OSw3IEBACiAKIHN0YXRpYyBpbnQgcHJuZ19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogeworCWN5Y2xlX2tlcm5lbF9sb2NrKCk7CiAJcmV0dXJuIG5vbnNlZWthYmxlX29wZW4oaW5vZGUsIGZpbGUpOwogfQogCkBAIC0xODUsMTEgKzE4Nyw4IEBACiAJcHJuZ19zZWVkKDE2KTsKIAogCXJldCA9IG1pc2NfcmVnaXN0ZXIoJnBybmdfZGV2KTsKLQlpZiAocmV0KSB7Ci0JCXByaW50ayhLRVJOX1dBUk5JTkcKLQkJICAgICAgICJDb3VsZCBub3QgcmVnaXN0ZXIgbWlzYyBkZXZpY2UgZm9yIFBSTkcuXG4iKTsKKwlpZiAocmV0KQogCQlnb3RvIG91dF9idWY7Ci0JfQogCXJldHVybiAwOwogCiBvdXRfYnVmOgpkaWZmIC0tZ2l0IGEvYXJjaC9zMzkwL2h5cGZzL2lub2RlLmMgYi9hcmNoL3MzOTAvaHlwZnMvaW5vZGUuYwppbmRleCA0YjAxMGZmLi43MzgzNzgxIDEwMDY0NAotLS0gYS9hcmNoL3MzOTAvaHlwZnMvaW5vZGUuYworKysgYi9hcmNoL3MzOTAvaHlwZnMvaW5vZGUuYwpAQCAtMTUwLDMzICsxNTAsMjQgQEAKIAkJCSAgICAgIHVuc2lnbmVkIGxvbmcgbnJfc2VncywgbG9mZl90IG9mZnNldCkKIHsKIAljaGFyICpkYXRhOwotCXNpemVfdCBsZW47CisJc3NpemVfdCByZXQ7CiAJc3RydWN0IGZpbGUgKmZpbHAgPSBpb2NiLT5raV9maWxwOwogCS8qIFhYWDogdGVtcG9yYXJ5ICovCiAJY2hhciBfX3VzZXIgKmJ1ZiA9IGlvdlswXS5pb3ZfYmFzZTsKIAlzaXplX3QgY291bnQgPSBpb3ZbMF0uaW92X2xlbjsKIAotCWlmIChucl9zZWdzICE9IDEpIHsKLQkJY291bnQgPSAtRUlOVkFMOwotCQlnb3RvIG91dDsKLQl9CisJaWYgKG5yX3NlZ3MgIT0gMSkKKwkJcmV0dXJuIC1FSU5WQUw7CiAKIAlkYXRhID0gZmlscC0+cHJpdmF0ZV9kYXRhOwotCWxlbiA9IHN0cmxlbihkYXRhKTsKLQlpZiAob2Zmc2V0ID4gbGVuKSB7Ci0JCWNvdW50ID0gMDsKLQkJZ290byBvdXQ7Ci0JfQotCWlmIChjb3VudCA+IGxlbiAtIG9mZnNldCkKLQkJY291bnQgPSBsZW4gLSBvZmZzZXQ7Ci0JaWYgKGNvcHlfdG9fdXNlcihidWYsIGRhdGEgKyBvZmZzZXQsIGNvdW50KSkgewotCQljb3VudCA9IC1FRkFVTFQ7Ci0JCWdvdG8gb3V0OwotCX0KLQlpb2NiLT5raV9wb3MgKz0gY291bnQ7CisJcmV0ID0gc2ltcGxlX3JlYWRfZnJvbV9idWZmZXIoYnVmLCBjb3VudCwgJm9mZnNldCwgZGF0YSwgc3RybGVuKGRhdGEpKTsKKwlpZiAocmV0IDw9IDApCisJCXJldHVybiByZXQ7CisKKwlpb2NiLT5raV9wb3MgKz0gcmV0OwogCWZpbGVfYWNjZXNzZWQoZmlscCk7Ci1vdXQ6Ci0JcmV0dXJuIGNvdW50OworCisJcmV0dXJuIHJldDsKIH0KIHN0YXRpYyBzc2l6ZV90IGh5cGZzX2Fpb193cml0ZShzdHJ1Y3Qga2lvY2IgKmlvY2IsIGNvbnN0IHN0cnVjdCBpb3ZlYyAqaW92LAogCQkJICAgICAgdW5zaWduZWQgbG9uZyBucl9zZWdzLCBsb2ZmX3Qgb2Zmc2V0KQpkaWZmIC0tZ2l0IGEvYXJjaC9zMzkwL2tlcm5lbC9NYWtlZmlsZSBiL2FyY2gvczM5MC9rZXJuZWwvTWFrZWZpbGUKaW5kZXggNjMwMmY1MC4uNTBmNjU3ZSAxMDA2NDQKLS0tIGEvYXJjaC9zMzkwL2tlcm5lbC9NYWtlZmlsZQorKysgYi9hcmNoL3MzOTAva2VybmVsL01ha2VmaWxlCkBAIC03LDkgKzcsMTQgQEAKICMKIENGTEFHU19zbXAubwk6PSAtV25vLW5vbm51bGwKIAorIworIyBQYXNzIFVUU19NQUNISU5FIGZvciB1c2VyX3JlZ3NldCBkZWZpbml0aW9uCisjCitDRkxBR1NfcHRyYWNlLm8JCSs9IC1EVVRTX01BQ0hJTkU9JyIkKFVUU19NQUNISU5FKSInCisKIG9iai15CTo9ICBiaXRtYXAubyB0cmFwcy5vIHRpbWUubyBwcm9jZXNzLm8gYmFzZS5vIGVhcmx5Lm8gXAogICAgICAgICAgICAgc2V0dXAubyBzeXNfczM5MC5vIHB0cmFjZS5vIHNpZ25hbC5vIGNwY21kLm8gZWJjZGljLm8gXAotCSAgICBzMzkwX2V4dC5vIGRlYnVnLm8gaXJxLm8gaXBsLm8gZGlzLm8gZGlhZy5vCisJICAgIHMzOTBfZXh0Lm8gZGVidWcubyBpcnEubyBpcGwubyBkaXMubyBkaWFnLm8gbWVtX2RldGVjdC5vCiAKIG9iai15CSs9ICQoaWYgJChDT05GSUdfNjRCSVQpLGVudHJ5NjQubyxlbnRyeS5vKQogb2JqLXkJKz0gJChpZiAkKENPTkZJR182NEJJVCkscmVpcGw2NC5vLHJlaXBsLm8pCkBAIC0yMyw3ICsyOCw3IEBACiBjb21wYXQtb2JqLSQoQ09ORklHX0FVRElUKQkrPSBjb21wYXRfYXVkaXQubwogb2JqLSQoQ09ORklHX0NPTVBBVCkJCSs9IGNvbXBhdF9saW51eC5vIGNvbXBhdF9zaWduYWwubyBcCiAJCQkJCWNvbXBhdF93cmFwcGVyLm8gY29tcGF0X2V4ZWNfZG9tYWluLm8gXAotCQkJCQliaW5mbXRfZWxmMzIubyAkKGNvbXBhdC1vYmoteSkKKwkJCQkJJChjb21wYXQtb2JqLXkpCiAKIG9iai0kKENPTkZJR19WSVJUX1RJTUVSKQkrPSB2dGltZS5vCiBvYmotJChDT05GSUdfU1RBQ0tUUkFDRSkJKz0gc3RhY2t0cmFjZS5vCmRpZmYgLS1naXQgYS9hcmNoL3MzOTAva2VybmVsL2JpbmZtdF9lbGYzMi5jIGIvYXJjaC9zMzkwL2tlcm5lbC9iaW5mbXRfZWxmMzIuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2UxYzMxNS4uMDAwMDAwMAotLS0gYS9hcmNoL3MzOTAva2VybmVsL2JpbmZtdF9lbGYzMi5jCisrKyAvZGV2L251bGwKQEAgLTEsMjE0ICswLDAgQEAKLS8qCi0gKiBTdXBwb3J0IGZvciAzMi1iaXQgTGludXggZm9yIFMzOTAgRUxGIGJpbmFyaWVzLgotICoKLSAqIENvcHlyaWdodCAoQykgMjAwMCBJQk0gRGV1dHNjaGxhbmQgRW50d2lja2x1bmcgR21iSCwgSUJNIENvcnBvcmF0aW9uCi0gKiBBdXRob3Iocyk6IEdlcmhhcmQgVG9ubiAodG9uQGRlLmlibS5jb20pCi0gKgotICogSGVhdmlseSBpbnNwaXJlZCBieSB0aGUgMzItYml0IFNwYXJjIGNvbXBhdCBjb2RlIHdoaWNoIGlzCi0gKiBDb3B5cmlnaHQgKEMpIDE5OTUsIDE5OTYsIDE5OTcsIDE5OTggRGF2aWQgUy4gTWlsbGVyIChkYXZlbUByZWRoYXQuY29tKQotICogQ29weXJpZ2h0IChDKSAxOTk1LCAxOTk2LCAxOTk3LCAxOTk4IEpha3ViIEplbGluZWsgICAoampAdWx0cmEubGludXguY3opCi0gKi8KLQotI2RlZmluZSBfX0FTTVMzOTBfRUxGX0gKLQotI2luY2x1ZGUgPGxpbnV4L3RpbWUuaD4KLQotLyoKLSAqIFRoZXNlIGFyZSB1c2VkIHRvIHNldCBwYXJhbWV0ZXJzIGluIHRoZSBjb3JlIGR1bXBzLgotICovCi0jZGVmaW5lIEVMRl9DTEFTUwlFTEZDTEFTUzMyCi0jZGVmaW5lIEVMRl9EQVRBCUVMRkRBVEEyTVNCCi0jZGVmaW5lIEVMRl9BUkNICUVNX1MzOTAKLQotLyoKLSAqIFRoaXMgaXMgdXNlZCB0byBlbnN1cmUgd2UgZG9uJ3QgbG9hZCBzb21ldGhpbmcgZm9yIHRoZSB3cm9uZyBhcmNoaXRlY3R1cmUuCi0gKi8KLSNkZWZpbmUgZWxmX2NoZWNrX2FyY2goeCkgXAotCSgoKHgpLT5lX21hY2hpbmUgPT0gRU1fUzM5MCB8fCAoeCktPmVfbWFjaGluZSA9PSBFTV9TMzkwX09MRCkgXAotICAgICAgICAgJiYgKHgpLT5lX2lkZW50W0VJX0NMQVNTXSA9PSBFTEZfQ0xBU1MpCi0KLS8qIEVMRiByZWdpc3RlciBkZWZpbml0aW9ucyAqLwotI2RlZmluZSBOVU1fR1BSUyAgICAgIDE2Ci0jZGVmaW5lIE5VTV9GUFJTICAgICAgMTYKLSNkZWZpbmUgTlVNX0FDUlMgICAgICAxNiAgICAKLQotLyogRm9yIFNWUjQvUzM5MCB0aGUgZnVuY3Rpb24gcG9pbnRlciB0byBiZSByZWdpc3RlcmVkIHdpdGggYGF0ZXhpdGAgaXMKLSAgIHBhc3NlZCBpbiBSMTQuICovCi0jZGVmaW5lIEVMRl9QTEFUX0lOSVQoX3IsIGxvYWRfYWRkcikgXAotCWRvIHsgXAotCQlfci0+Z3Byc1sxNF0gPSAwOyBcCi0JfSB3aGlsZSgwKQotCi0jZGVmaW5lIFVTRV9FTEZfQ09SRV9EVU1QCi0jZGVmaW5lIEVMRl9FWEVDX1BBR0VTSVpFICAgICAgIDQwOTYKLQotLyogVGhpcyBpcyB0aGUgbG9jYXRpb24gdGhhdCBhbiBFVF9EWU4gcHJvZ3JhbSBpcyBsb2FkZWQgaWYgZXhlYydlZC4gIFR5cGljYWwKLSAgIHVzZSBvZiB0aGlzIGlzIHRvIGludm9rZSAiLi9sZC5zbyBzb21lcHJvZyIgdG8gdGVzdCBvdXQgYSBuZXcgdmVyc2lvbiBvZgotICAgdGhlIGxvYWRlci4gIFdlIG5lZWQgdG8gbWFrZSBzdXJlIHRoYXQgaXQgaXMgb3V0IG9mIHRoZSB3YXkgb2YgdGhlIHByb2dyYW0KLSAgIHRoYXQgaXQgd2lsbCAiZXhlYyIsIGFuZCB0aGF0IHRoZXJlIGlzIHN1ZmZpY2llbnQgcm9vbSBmb3IgdGhlIGJyay4gICovCi0KLSNkZWZpbmUgRUxGX0VUX0RZTl9CQVNFICAgICAgICAgKFRBU0tfU0laRSAvIDMgKiAyKQotCi0vKiBXb3csIHRoZSAibWFpbiIgYXJjaCBuZWVkcyBhcmNoIGRlcGVuZGVudCBmdW5jdGlvbnMgdG9vLi4gOikgKi8KLQotLyogcmVncyBpcyBzdHJ1Y3QgcHRfcmVncywgcHJfcmVnIGlzIGVsZl9ncmVnc2V0X3QgKHdoaWNoIGlzCi0gICBub3cgc3RydWN0X3VzZXJfcmVncywgdGhleSBhcmUgZGlmZmVyZW50KSAqLwotCi0jZGVmaW5lIEVMRl9DT1JFX0NPUFlfUkVHUyhwcl9yZWcsIHJlZ3MpIGR1bXBfcmVnczMyKHJlZ3MsICZwcl9yZWcpOwotCi0jZGVmaW5lIEVMRl9DT1JFX0NPUFlfVEFTS19SRUdTKHRzaywgcmVncykgZHVtcF90YXNrX3JlZ3MzMih0c2ssIHJlZ3MpCi0KLSNkZWZpbmUgRUxGX0NPUkVfQ09QWV9GUFJFR1ModHNrLCBmcHJlZ3MpIGR1bXBfdGFza19mcHUodHNrLCBmcHJlZ3MpCi0KLS8qIFRoaXMgeWllbGRzIGEgbWFzayB0aGF0IHVzZXIgcHJvZ3JhbXMgY2FuIHVzZSB0byBmaWd1cmUgb3V0IHdoYXQKLSAgIGluc3RydWN0aW9uIHNldCB0aGlzIENQVSBzdXBwb3J0cy4gKi8KLQotI2RlZmluZSBFTEZfSFdDQVAgKDApCi0KLS8qIFRoaXMgeWllbGRzIGEgc3RyaW5nIHRoYXQgbGQuc28gd2lsbCB1c2UgdG8gbG9hZCBpbXBsZW1lbnRhdGlvbgotICAgc3BlY2lmaWMgbGlicmFyaWVzIGZvciBvcHRpbWl6YXRpb24uICBUaGlzIGlzIG1vcmUgc3BlY2lmaWMgaW4KLSAgIGludGVudCB0aGFuIHBva2luZyBhdCB1bmFtZSBvciAvcHJvYy9jcHVpbmZvLgotCi0gICBGb3IgdGhlIG1vbWVudCwgd2UgaGF2ZSBvbmx5IG9wdGltaXphdGlvbnMgZm9yIHRoZSBJbnRlbCBnZW5lcmF0aW9ucywKLSAgIGJ1dCB0aGF0IGNvdWxkIGNoYW5nZS4uLiAqLwotCi0jZGVmaW5lIEVMRl9QTEFURk9STSAoTlVMTCkKLQotI2RlZmluZSBTRVRfUEVSU09OQUxJVFkoZXgsIGliY3MyKQkJCVwKLWRvIHsJCQkJCQkJXAotCWlmIChpYmNzMikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLQkJc2V0X3BlcnNvbmFsaXR5KFBFUl9TVlI0KTsgICAgICAgICAgICAgIFwKLQllbHNlIGlmIChjdXJyZW50LT5wZXJzb25hbGl0eSAhPSBQRVJfTElOVVgzMikgICBcCi0JCXNldF9wZXJzb25hbGl0eShQRVJfTElOVVgpOyAgICAgICAgICAgICBcCi0Jc2V0X3RocmVhZF9mbGFnKFRJRl8zMUJJVCk7CQkJXAotfSB3aGlsZSAoMCkKLQotI2luY2x1ZGUgImNvbXBhdF9saW51eC5oIgotCi10eXBlZGVmIF9zMzkwX2ZwX3JlZ3MzMiBlbGZfZnByZWdzZXRfdDsKLQotdHlwZWRlZiBzdHJ1Y3QKLXsKLQkKLQlfcHN3X3QzMglwc3c7Ci0JX191MzIJCWdwcnNbX19OVU1fR1BSU107IAotCV9fdTMyCQlhY3JzW19fTlVNX0FDUlNdOyAKLQlfX3UzMgkJb3JpZ19ncHIyOwotfSBzMzkwX3JlZ3MzMjsKLXR5cGVkZWYgczM5MF9yZWdzMzIgZWxmX2dyZWdzZXRfdDsKLQotc3RhdGljIGlubGluZSBpbnQgZHVtcF9yZWdzMzIoc3RydWN0IHB0X3JlZ3MgKnB0cmVncywgZWxmX2dyZWdzZXRfdCAqcmVncykKLXsKLQlpbnQgaTsKLQotCW1lbWNweSgmcmVncy0+cHN3Lm1hc2ssICZwdHJlZ3MtPnBzdy5tYXNrLCA0KTsKLQltZW1jcHkoJnJlZ3MtPnBzdy5hZGRyLCAoY2hhciAqKSZwdHJlZ3MtPnBzdy5hZGRyICsgNCwgNCk7Ci0JZm9yIChpID0gMDsgaSA8IE5VTV9HUFJTOyBpKyspCi0JCXJlZ3MtPmdwcnNbaV0gPSBwdHJlZ3MtPmdwcnNbaV07Ci0Jc2F2ZV9hY2Nlc3NfcmVncyhyZWdzLT5hY3JzKTsKLQlyZWdzLT5vcmlnX2dwcjIgPSBwdHJlZ3MtPm9yaWdfZ3ByMjsKLQlyZXR1cm4gMTsKLX0KLQotc3RhdGljIGlubGluZSBpbnQgZHVtcF90YXNrX3JlZ3MzMihzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzaywgZWxmX2dyZWdzZXRfdCAqcmVncykKLXsKLQlzdHJ1Y3QgcHRfcmVncyAqcHRyZWdzID0gdGFza19wdF9yZWdzKHRzayk7Ci0JaW50IGk7Ci0KLQltZW1jcHkoJnJlZ3MtPnBzdy5tYXNrLCAmcHRyZWdzLT5wc3cubWFzaywgNCk7Ci0JbWVtY3B5KCZyZWdzLT5wc3cuYWRkciwgKGNoYXIgKikmcHRyZWdzLT5wc3cuYWRkciArIDQsIDQpOwotCWZvciAoaSA9IDA7IGkgPCBOVU1fR1BSUzsgaSsrKQotCQlyZWdzLT5ncHJzW2ldID0gcHRyZWdzLT5ncHJzW2ldOwotCW1lbWNweShyZWdzLT5hY3JzLCB0c2stPnRocmVhZC5hY3JzLCBzaXplb2YocmVncy0+YWNycykpOwotCXJlZ3MtPm9yaWdfZ3ByMiA9IHB0cmVncy0+b3JpZ19ncHIyOwotCXJldHVybiAxOwotfQotCi1zdGF0aWMgaW5saW5lIGludCBkdW1wX3Rhc2tfZnB1KHN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrLCBlbGZfZnByZWdzZXRfdCAqZnByZWdzKQotewotCWlmICh0c2sgPT0gY3VycmVudCkKLQkJc2F2ZV9mcF9yZWdzKChzMzkwX2ZwX3JlZ3MgKikgZnByZWdzKTsKLQllbHNlCi0JCW1lbWNweShmcHJlZ3MsICZ0c2stPnRocmVhZC5mcF9yZWdzLCBzaXplb2YoZWxmX2ZwcmVnc2V0X3QpKTsKLQlyZXR1cm4gMTsKLX0KLQotI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3IuaD4KLSNpbmNsdWRlIDxhc20vcGdhbGxvYy5oPgotI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgotI2luY2x1ZGUgPGxpbnV4L2VsZmNvcmUuaD4KLSNpbmNsdWRlIDxsaW51eC9iaW5mbXRzLmg+Ci0jaW5jbHVkZSA8bGludXgvY29tcGF0Lmg+Ci0KLSNkZWZpbmUgZWxmX3Byc3RhdHVzIGVsZl9wcnN0YXR1czMyCi1zdHJ1Y3QgZWxmX3Byc3RhdHVzMzIKLXsKLQlzdHJ1Y3QgZWxmX3NpZ2luZm8gcHJfaW5mbzsJLyogSW5mbyBhc3NvY2lhdGVkIHdpdGggc2lnbmFsICovCi0Jc2hvcnQJcHJfY3Vyc2lnOwkJLyogQ3VycmVudCBzaWduYWwgKi8KLQl1MzIJcHJfc2lncGVuZDsJLyogU2V0IG9mIHBlbmRpbmcgc2lnbmFscyAqLwotCXUzMglwcl9zaWdob2xkOwkvKiBTZXQgb2YgaGVsZCBzaWduYWxzICovCi0JcGlkX3QJcHJfcGlkOwotCXBpZF90CXByX3BwaWQ7Ci0JcGlkX3QJcHJfcGdycDsKLQlwaWRfdAlwcl9zaWQ7Ci0Jc3RydWN0IGNvbXBhdF90aW1ldmFsIHByX3V0aW1lOwkvKiBVc2VyIHRpbWUgKi8KLQlzdHJ1Y3QgY29tcGF0X3RpbWV2YWwgcHJfc3RpbWU7CS8qIFN5c3RlbSB0aW1lICovCi0Jc3RydWN0IGNvbXBhdF90aW1ldmFsIHByX2N1dGltZTsJLyogQ3VtdWxhdGl2ZSB1c2VyIHRpbWUgKi8KLQlzdHJ1Y3QgY29tcGF0X3RpbWV2YWwgcHJfY3N0aW1lOwkvKiBDdW11bGF0aXZlIHN5c3RlbSB0aW1lICovCi0JZWxmX2dyZWdzZXRfdCBwcl9yZWc7CS8qIEdQIHJlZ2lzdGVycyAqLwotCWludCBwcl9mcHZhbGlkOwkJLyogVHJ1ZSBpZiBtYXRoIGNvLXByb2Nlc3NvciBiZWluZyB1c2VkLiAgKi8KLX07Ci0KLSNkZWZpbmUgZWxmX3BycHNpbmZvIGVsZl9wcnBzaW5mbzMyCi1zdHJ1Y3QgZWxmX3BycHNpbmZvMzIKLXsKLQljaGFyCXByX3N0YXRlOwkvKiBudW1lcmljIHByb2Nlc3Mgc3RhdGUgKi8KLQljaGFyCXByX3NuYW1lOwkvKiBjaGFyIGZvciBwcl9zdGF0ZSAqLwotCWNoYXIJcHJfem9tYjsJLyogem9tYmllICovCi0JY2hhcglwcl9uaWNlOwkvKiBuaWNlIHZhbCAqLwotCXUzMglwcl9mbGFnOwkvKiBmbGFncyAqLwotCXUxNglwcl91aWQ7Ci0JdTE2CXByX2dpZDsKLQlwaWRfdAlwcl9waWQsIHByX3BwaWQsIHByX3BncnAsIHByX3NpZDsKLQkvKiBMb3RzIG1pc3NpbmcgKi8KLQljaGFyCXByX2ZuYW1lWzE2XTsJLyogZmlsZW5hbWUgb2YgZXhlY3V0YWJsZSAqLwotCWNoYXIJcHJfcHNhcmdzW0VMRl9QUkFSR1NaXTsJLyogaW5pdGlhbCBwYXJ0IG9mIGFyZyBsaXN0ICovCi19OwotCi0jaW5jbHVkZSA8bGludXgvaGlnaHVpZC5oPgotCi0vKgotI2RlZmluZSBpbml0X2VsZl9iaW5mbXQgaW5pdF9lbGYzMl9iaW5mbXQKLSovCi0KLSN1bmRlZiBzdGFydF90aHJlYWQKLSNkZWZpbmUgc3RhcnRfdGhyZWFkICAgICAgICAgICAgICAgICAgICBzdGFydF90aHJlYWQzMSAKLQotc3RhdGljIGlubGluZSB2b2lkIHN0YXJ0X3RocmVhZDMxKHN0cnVjdCBwdF9yZWdzICpyZWdzLCB1bnNpZ25lZCBsb25nIG5ld19wc3csCi0JCQkJICB1bnNpZ25lZCBsb25nIG5ld19zdGFja3ApCi17Ci0Jc2V0X2ZzKFVTRVJfRFMpOwotCXJlZ3MtPnBzdy5tYXNrCT0gcHN3X3VzZXIzMl9iaXRzOwotCXJlZ3MtPnBzdy5hZGRyCT0gbmV3X3BzdzsKLQlyZWdzLT5ncHJzWzE1XQk9IG5ld19zdGFja3A7Ci0JY3JzdF90YWJsZV9kb3duZ3JhZGUoY3VycmVudC0+bW0sIDFVTCA8PCAzMSk7Ci19Ci0KLU1PRFVMRV9ERVNDUklQVElPTigiQmluYXJ5IGZvcm1hdCBsb2FkZXIgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCAzMmJpdCBMaW51eCBmb3IgUzM5MCBiaW5hcmllcywiCi0gICAgICAgICAgICAgICAgICAgIiBDb3B5cmlnaHQgMjAwMCBJQk0gQ29ycG9yYXRpb24iKTsgCi1NT0RVTEVfQVVUSE9SKCJHZXJoYXJkIFRvbm4gPHRvbkBkZS5pYm0uY29tPiIpOwotCi0jdW5kZWYgTU9EVUxFX0RFU0NSSVBUSU9OCi0jdW5kZWYgTU9EVUxFX0FVVEhPUgotCi0jdW5kZWYgY3B1dGltZV90b190aW1ldmFsCi0jZGVmaW5lIGNwdXRpbWVfdG9fdGltZXZhbCBjcHV0aW1lX3RvX2NvbXBhdF90aW1ldmFsCi1zdGF0aWMgaW5saW5lIHZvaWQKLWNwdXRpbWVfdG9fY29tcGF0X3RpbWV2YWwoY29uc3QgY3B1dGltZV90IGNwdXRpbWUsIHN0cnVjdCBjb21wYXRfdGltZXZhbCAqdmFsdWUpCi17Ci0JdmFsdWUtPnR2X3VzZWMgPSBjcHV0aW1lICUgMTAwMDAwMDsKLQl2YWx1ZS0+dHZfc2VjID0gY3B1dGltZSAvIDEwMDAwMDA7Ci19Ci0KLSNpbmNsdWRlICIuLi8uLi8uLi9mcy9iaW5mbXRfZWxmLmMiCi0KZGlmZiAtLWdpdCBhL2FyY2gvczM5MC9rZXJuZWwvY29tcGF0X3B0cmFjZS5oIGIvYXJjaC9zMzkwL2tlcm5lbC9jb21wYXRfcHRyYWNlLmgKaW5kZXggNDE5YWVmOS4uY2RlODFmYSAxMDA2NDQKLS0tIGEvYXJjaC9zMzkwL2tlcm5lbC9jb21wYXRfcHRyYWNlLmgKKysrIGIvYXJjaC9zMzkwL2tlcm5lbC9jb21wYXRfcHRyYWNlLmgKQEAgLTEsNyArMSw3IEBACiAjaWZuZGVmIF9QVFJBQ0UzMl9ICiAjZGVmaW5lIF9QVFJBQ0UzMl9ICiAKLSNpbmNsdWRlICJjb21wYXRfbGludXguaCIgIC8qIG5lZWRlZCBmb3IgX3Bzd190MzIgKi8KKyNpbmNsdWRlICJjb21wYXRfbGludXguaCIgIC8qIG5lZWRlZCBmb3IgcHN3X2NvbXBhdF90ICovCiAKIHR5cGVkZWYgc3RydWN0IHsKIAlfX3UzMiBjclszXTsKQEAgLTM4LDcgKzM4LDcgQEAKIAogc3RydWN0IHVzZXJfcmVnc19zdHJ1Y3QzMgogewotCV9wc3dfdDMyIHBzdzsKKwlwc3dfY29tcGF0X3QgcHN3OwogCXUzMiBncHJzW05VTV9HUFJTXTsKIAl1MzIgYWNyc1tOVU1fQUNSU107CiAJdTMyIG9yaWdfZ3ByMjsKZGlmZiAtLWdpdCBhL2FyY2gvczM5MC9rZXJuZWwvZGVidWcuYyBiL2FyY2gvczM5MC9rZXJuZWwvZGVidWcuYwppbmRleCBjOTNkMTI5Li5kODBmY2Q0IDEwMDY0NAotLS0gYS9hcmNoL3MzOTAva2VybmVsL2RlYnVnLmMKKysrIGIvYXJjaC9zMzkwL2tlcm5lbC9kZWJ1Zy5jCkBAIC0xMDc5LDcgKzEwNzksNiBAQAogCXMzOTBkYmZfc3lzY3RsX2hlYWRlciA9IHJlZ2lzdGVyX3N5c2N0bF90YWJsZShzMzkwZGJmX2Rpcl90YWJsZSk7CiAJbXV0ZXhfbG9jaygmZGVidWdfbXV0ZXgpOwogCWRlYnVnX2RlYnVnZnNfcm9vdF9lbnRyeSA9IGRlYnVnZnNfY3JlYXRlX2RpcihERUJVR19ESVJfUk9PVCxOVUxMKTsKLQlwcmludGsoS0VSTl9JTkZPICJkZWJ1ZzogSW5pdGlhbGl6YXRpb24gY29tcGxldGVcbiIpOwogCWluaXRpYWxpemVkID0gMTsKIAltdXRleF91bmxvY2soJmRlYnVnX211dGV4KTsKIApAQCAtMTE5Myw3ICsxMTkyLDYgQEAKIAlmb3IoOyBpc3NwYWNlKCpidWYpOyBidWYrKyk7CiAJcmMgPSBzaW1wbGVfc3RydG91bChidWYsICZidWYsIDEwKTsKIAlpZigqYnVmKXsKLQkJcHJpbnRrKCJkZWJ1Zzogbm8gaW50ZWdlciBzcGVjaWZpZWQhXG4iKTsKIAkJcmMgPSAtRUlOVkFMOwogCX0KIAlyZXR1cm4gcmM7CkBAIC0xMzQwLDE5ICsxMzM4LDEyIEBACiAgICAgICAgICAgICAgICAgICAgICAgICAJbWVtc2V0KGlkLT5hcmVhc1tpXVtqXSwgMCwgUEFHRV9TSVpFKTsKIAkJCX0KIAkJfQotICAgICAgICAgICAgICAgIHByaW50ayhLRVJOX0lORk8gImRlYnVnOiAlczogYWxsIGFyZWFzIGZsdXNoZWRcbiIsaWQtPm5hbWUpOwogICAgICAgICB9IGVsc2UgaWYoYXJlYSA+PSAwICYmIGFyZWEgPCBpZC0+bnJfYXJlYXMpIHsKICAgICAgICAgICAgICAgICBpZC0+YWN0aXZlX2VudHJpZXNbYXJlYV0gPSAwOwogCQlpZC0+YWN0aXZlX3BhZ2VzW2FyZWFdID0gMDsKIAkJZm9yKGkgPSAwOyBpIDwgaWQtPnBhZ2VzX3Blcl9hcmVhOyBpKyspIHsKICAgICAgICAgICAgICAgICAJbWVtc2V0KGlkLT5hcmVhc1thcmVhXVtpXSwwLFBBR0VfU0laRSk7CiAJCX0KLSAgICAgICAgICAgICAgICBwcmludGsoS0VSTl9JTkZPICJkZWJ1ZzogJXM6IGFyZWEgJWkgaGFzIGJlZW4gZmx1c2hlZFxuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGlkLT5uYW1lLCBhcmVhKTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBwcmludGsoS0VSTl9JTkZPCi0gICAgICAgICAgICAgICAgICAgICAgImRlYnVnOiAlczogYXJlYSAlaSBjYW5ub3QgYmUgZmx1c2hlZCAocmFuZ2U6ICVpIC0gJWkpXG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgaWQtPm5hbWUsIGFyZWEsIDAsIGlkLT5ucl9hcmVhcy0xKTsKICAgICAgICAgfQogICAgICAgICBzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpZC0+bG9jayxmbGFncyk7CiB9CmRpZmYgLS1naXQgYS9hcmNoL3MzOTAva2VybmVsL2Vhcmx5LmMgYi9hcmNoL3MzOTAva2VybmVsL2Vhcmx5LmMKaW5kZXggZDBlMDk2OC4uMmEyY2EyNiAxMDA2NDQKLS0tIGEvYXJjaC9zMzkwL2tlcm5lbC9lYXJseS5jCisrKyBiL2FyY2gvczM5MC9rZXJuZWwvZWFybHkuYwpAQCAtMTQsNiArMTQsNyBAQAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L3Bmbi5oPgogI2luY2x1ZGUgPGxpbnV4L3VhY2Nlc3MuaD4KKyNpbmNsdWRlIDxhc20vZWJjZGljLmg+CiAjaW5jbHVkZSA8YXNtL2lwbC5oPgogI2luY2x1ZGUgPGFzbS9sb3djb3JlLmg+CiAjaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci5oPgpAQCAtMjYsMTIgKzI3LDQwIEBACiAvKgogICogQ3JlYXRlIGEgS2VybmVsIE5TUyBpZiB0aGUgU0FWRVNZUz0gcGFyYW1ldGVyIGlzIGRlZmluZWQKICAqLwotI2RlZmluZSBERUZTWVNfQ01EX1NJWkUJCTk2CisjZGVmaW5lIERFRlNZU19DTURfU0laRQkJMTI4CiAjZGVmaW5lIFNBVkVTWVNfQ01EX1NJWkUJMzIKIAogY2hhciBrZXJuZWxfbnNzX25hbWVbTlNTX05BTUVfU0laRSArIDFdOwogCitzdGF0aWMgdm9pZCBfX2luaXQgc2V0dXBfYm9vdF9jb21tYW5kX2xpbmUodm9pZCk7CisKKwogI2lmZGVmIENPTkZJR19TSEFSRURfS0VSTkVMCitpbnQgX19pbml0IHNhdmVzeXNfaXBsX25zcyhjaGFyICpjbWQsIGNvbnN0IGludCBjbWRsZW4pOworCithc20oCisJIgkuc2VjdGlvbiAuaW5pdC50ZXh0LFwiYXhcIixAcHJvZ2JpdHNcbiIKKwkiCS5hbGlnbgk0XG4iCisJIgkudHlwZQlzYXZlc3lzX2lwbF9uc3MsIEBmdW5jdGlvblxuIgorCSJzYXZlc3lzX2lwbF9uc3M6XG4iCisjaWZkZWYgQ09ORklHXzY0QklUCisJIglzdG1nCTYsMTUsNDgoMTUpXG4iCisJIglsZ3IJMTQsM1xuIgorCSIJc2FtMzFcbiIKKwkiCWRpYWcJMiwxNCwweDhcbiIKKwkiCXNhbTY0XG4iCisJIglsZ3IJMiwxNFxuIgorCSIJbG1nCTYsMTUsNDgoMTUpXG4iCisjZWxzZQorCSIJc3RtCTYsMTUsMjQoMTUpXG4iCisJIglscgkxNCwzXG4iCisJIglkaWFnCTIsMTQsMHg4XG4iCisJIglscgkyLDE0XG4iCisJIglsbQk2LDE1LDI0KDE1KVxuIgorI2VuZGlmCisJIglicgkxNFxuIgorCSIJLnNpemUJc2F2ZXN5c19pcGxfbnNzLCAuLXNhdmVzeXNfaXBsX25zc1xuIik7CisKIHN0YXRpYyBub2lubGluZSBfX2luaXQgdm9pZCBjcmVhdGVfa2VybmVsX25zcyh2b2lkKQogewogCXVuc2lnbmVkIGludCBpLCBzdGV4dF9wZm4sIGVzaGFyZWRfcGZuLCBlbmRfcGZuLCBtaW5fc2l6ZTsKQEAgLTM5LDYgKzY4LDcgQEAKIAl1bnNpZ25lZCBpbnQgc2luaXRyZF9wZm4sIGVpbml0cmRfcGZuOwogI2VuZGlmCiAJaW50IHJlc3BvbnNlOworCXNpemVfdCBsZW47CiAJY2hhciAqc2F2ZXN5c19wdHI7CiAJY2hhciB1cHBlcl9jb21tYW5kX2xpbmVbQ09NTUFORF9MSU5FX1NJWkVdOwogCWNoYXIgZGVmc3lzX2NtZFtERUZTWVNfQ01EX1NJWkVdOwpAQCAtNDksOCArNzksOCBAQAogCQlyZXR1cm47CiAKIAkvKiBDb252ZXJ0IENPTU1BTkRfTElORSB0byB1cHBlciBjYXNlICovCi0JZm9yIChpID0gMDsgaSA8IHN0cmxlbihDT01NQU5EX0xJTkUpOyBpKyspCi0JCXVwcGVyX2NvbW1hbmRfbGluZVtpXSA9IHRvdXBwZXIoQ09NTUFORF9MSU5FW2ldKTsKKwlmb3IgKGkgPSAwOyBpIDwgc3RybGVuKGJvb3RfY29tbWFuZF9saW5lKTsgaSsrKQorCQl1cHBlcl9jb21tYW5kX2xpbmVbaV0gPSB0b3VwcGVyKGJvb3RfY29tbWFuZF9saW5lW2ldKTsKIAogCXNhdmVzeXNfcHRyID0gc3Ryc3RyKHVwcGVyX2NvbW1hbmRfbGluZSwgIlNBVkVTWVM9Iik7CiAKQEAgLTgzLDcgKzExMyw4IEBACiAJfQogI2VuZGlmCiAKLQlzcHJpbnRmKGRlZnN5c19jbWQsICIlcyBFVyBNSU5TSVpFPSUuN2lLIiwgZGVmc3lzX2NtZCwgbWluX3NpemUpOworCXNwcmludGYoZGVmc3lzX2NtZCwgIiVzIEVXIE1JTlNJWkU9JS43aUsgUEFSTVJFR1M9MC0xMyIsCisJCWRlZnN5c19jbWQsIG1pbl9zaXplKTsKIAlzcHJpbnRmKHNhdmVzeXNfY21kLCAiU0FWRVNZUyAlcyBcbiBJUEwgJXMiLAogCQlrZXJuZWxfbnNzX25hbWUsIGtlcm5lbF9uc3NfbmFtZSk7CiAKQEAgLTk0LDEzICsxMjUsMjQgQEAKIAkJcmV0dXJuOwogCX0KIAotCV9fY3BjbWQoc2F2ZXN5c19jbWQsIE5VTEwsIDAsICZyZXNwb25zZSk7CisJbGVuID0gc3RybGVuKHNhdmVzeXNfY21kKTsKKwlBU0NFQkMoc2F2ZXN5c19jbWQsIGxlbik7CisJcmVzcG9uc2UgPSBzYXZlc3lzX2lwbF9uc3Moc2F2ZXN5c19jbWQsIGxlbik7CiAKLQlpZiAocmVzcG9uc2UgIT0gc3RybGVuKHNhdmVzeXNfY21kKSkgeworCS8qIE9uIHN1Y2Nlc3M6IHJlc3BvbnNlIGlzIGVxdWFsIHRvIHRoZSBjb21tYW5kIHNpemUsCisJICoJICAgICAgIG1heCBTQVZFU1lTX0NNRF9TSVpFCisJICogT24gZXJyb3I6IHJlc3BvbnNlIGNvbnRhaW5zIHRoZSBudW1lcmljIHBvcnRpb24gb2YgY3AgZXJyb3IgbWVzc2FnZS4KKwkgKgkgICAgIGZvciBTQVZFU1lTIGl0IHdpbGwgYmUgPj0gMjYzCisJICovCisJaWYgKHJlc3BvbnNlID4gU0FWRVNZU19DTURfU0laRSkgewogCQlrZXJuZWxfbnNzX25hbWVbMF0gPSAnXDAnOwogCQlyZXR1cm47CiAJfQogCisJLyogcmUtc2V0dXAgYm9vdCBjb21tYW5kIGxpbmUgd2l0aCBuZXcgaXBsIHZtIHBhcm1zICovCisJaXBsX3VwZGF0ZV9wYXJhbWV0ZXJzKCk7CisJc2V0dXBfYm9vdF9jb21tYW5kX2xpbmUoKTsKKwogCWlwbF9mbGFncyA9IElQTF9OU1NfVkFMSUQ7CiB9CiAKQEAgLTE0MSwxMDkgKzE4MywxMSBAQAogCWlmIChjcHVpbmZvLT5jcHVfaWQudmVyc2lvbiA9PSAweGZmKQogCQltYWNoaW5lX2ZsYWdzIHw9IE1BQ0hJTkVfRkxBR19WTTsKIAotCS8qIFJ1bm5pbmcgb24gYSBQLzM5MCA/ICovCi0JaWYgKGNwdWluZm8tPmNwdV9pZC5tYWNoaW5lID09IDB4NzQ5MCkKLQkJbWFjaGluZV9mbGFncyB8PSBNQUNISU5FX0ZMQUdfUDM5MDsKLQogCS8qIFJ1bm5pbmcgdW5kZXIgS1ZNID8gKi8KIAlpZiAoY3B1aW5mby0+Y3B1X2lkLnZlcnNpb24gPT0gMHhmZSkKIAkJbWFjaGluZV9mbGFncyB8PSBNQUNISU5FX0ZMQUdfS1ZNOwogfQogCi0jaWZkZWYgQ09ORklHXzY0QklUCi1zdGF0aWMgbm9pbmxpbmUgX19pbml0IGludCBtZW1vcnlfZmFzdF9kZXRlY3Qodm9pZCkKLXsKLQl1bnNpZ25lZCBsb25nIHZhbDAgPSAwOwotCXVuc2lnbmVkIGxvbmcgdmFsMSA9IDB4YzsKLQlpbnQgcmV0ID0gLUVOT1NZUzsKLQotCWlmIChpcGxfZmxhZ3MgJiBJUExfTlNTX1ZBTElEKQotCQlyZXR1cm4gLUVOT1NZUzsKLQotCWFzbSB2b2xhdGlsZSgKLQkJIglkaWFnCSUxLCUyLDB4MjYwXG4iCi0JCSIwOglsaGkJJTAsMFxuIgotCQkiMTpcbiIKLQkJRVhfVEFCTEUoMGIsMWIpCi0JCTogIitkIiAocmV0KSwgIitkIiAodmFsMCksICIrZCIgKHZhbDEpIDogOiAiY2MiKTsKLQotCWlmIChyZXQgfHwgdmFsMCAhPSB2YWwxKQotCQlyZXR1cm4gLUVOT1NZUzsKLQotCW1lbW9yeV9jaHVua1swXS5zaXplID0gdmFsMCArIDE7Ci0JcmV0dXJuIDA7Ci19Ci0jZWxzZQotc3RhdGljIGlubGluZSBpbnQgbWVtb3J5X2Zhc3RfZGV0ZWN0KHZvaWQpCi17Ci0JcmV0dXJuIC1FTk9TWVM7Ci19Ci0jZW5kaWYKLQotc3RhdGljIGlubGluZSBfX2luaXQgdW5zaWduZWQgbG9uZyBfX3Rwcm90KHVuc2lnbmVkIGxvbmcgYWRkcikKLXsKLQlpbnQgY2MgPSAtMTsKLQotCWFzbSB2b2xhdGlsZSgKLQkJIgl0cHJvdAkwKCUxKSwwXG4iCi0JCSIwOglpcG0JJTBcbiIKLQkJIglzcmwJJTAsMjhcbiIKLQkJIjE6XG4iCi0JCUVYX1RBQkxFKDBiLDFiKQotCQk6ICIrZCIgKGNjKSA6ICJhIiAoYWRkcikgOiAiY2MiKTsKLQlyZXR1cm4gKHVuc2lnbmVkIGxvbmcpY2M7Ci19Ci0KLS8qIENoZWNraW5nIG1lbW9yeSBpbiAxMjhLQiBpbmNyZW1lbnRzLiAqLwotI2RlZmluZSBDSFVOS19JTkNSCSgxVUwgPDwgMTcpCi0jZGVmaW5lIEFERFIyRwkJKDFVTCA8PCAzMSkKLQotc3RhdGljIG5vaW5saW5lIF9faW5pdCB2b2lkIGZpbmRfbWVtb3J5X2NodW5rcyh1bnNpZ25lZCBsb25nIG1lbXNpemUpCi17Ci0JdW5zaWduZWQgbG9uZyBhZGRyID0gMCwgb2xkX2FkZHIgPSAwOwotCXVuc2lnbmVkIGxvbmcgb2xkX2NjID0gQ0hVTktfUkVBRF9XUklURTsKLQl1bnNpZ25lZCBsb25nIGNjOwotCWludCBjaHVuayA9IDA7Ci0KLQl3aGlsZSAoY2h1bmsgPCBNRU1PUllfQ0hVTktTKSB7Ci0JCWNjID0gX190cHJvdChhZGRyKTsKLQkJd2hpbGUgKGNjID09IG9sZF9jYykgewotCQkJYWRkciArPSBDSFVOS19JTkNSOwotCQkJaWYgKG1lbXNpemUgJiYgYWRkciA+PSBtZW1zaXplKQotCQkJCWJyZWFrOwotI2lmbmRlZiBDT05GSUdfNjRCSVQKLQkJCWlmIChhZGRyID09IEFERFIyRykKLQkJCQlicmVhazsKLSNlbmRpZgotCQkJY2MgPSBfX3Rwcm90KGFkZHIpOwotCQl9Ci0KLQkJaWYgKG9sZF9hZGRyICE9IGFkZHIgJiYKLQkJICAgIChvbGRfY2MgPT0gQ0hVTktfUkVBRF9XUklURSB8fCBvbGRfY2MgPT0gQ0hVTktfUkVBRF9PTkxZKSkgewotCQkJbWVtb3J5X2NodW5rW2NodW5rXS5hZGRyID0gb2xkX2FkZHI7Ci0JCQltZW1vcnlfY2h1bmtbY2h1bmtdLnNpemUgPSBhZGRyIC0gb2xkX2FkZHI7Ci0JCQltZW1vcnlfY2h1bmtbY2h1bmtdLnR5cGUgPSBvbGRfY2M7Ci0JCQljaHVuaysrOwotCQl9Ci0KLQkJb2xkX2FkZHIgPSBhZGRyOwotCQlvbGRfY2MgPSBjYzsKLQotI2lmbmRlZiBDT05GSUdfNjRCSVQKLQkJaWYgKGFkZHIgPT0gQUREUjJHKQotCQkJYnJlYWs7Ci0jZW5kaWYKLQkJLyoKLQkJICogRmluaXNoIG1lbW9yeSBkZXRlY3Rpb24gYXQgdGhlIGZpcnN0IGhvbGUKLQkJICogaWYgc3RvcmFnZSBzaXplIGlzIHVua25vd24uCi0JCSAqLwotCQlpZiAoY2MgPT0gLTFVTCAmJiAhbWVtc2l6ZSkKLQkJCWJyZWFrOwotCQlpZiAobWVtc2l6ZSAmJiBhZGRyID49IG1lbXNpemUpCi0JCQlicmVhazsKLQl9Ci19Ci0KIHN0YXRpYyBfX2luaXQgdm9pZCBlYXJseV9wZ21fY2hlY2tfaGFuZGxlcih2b2lkKQogewogCXVuc2lnbmVkIGxvbmcgYWRkcjsKQEAgLTM4MCwyMyArMzI0LDYxIEBACiAjZW5kaWYKIH0KIAorc3RhdGljIF9faW5pdCB2b2lkIHJlc2N1ZV9pbml0cmQodm9pZCkKK3sKKyNpZmRlZiBDT05GSUdfQkxLX0RFVl9JTklUUkQKKwkvKgorCSAqIE1vdmUgdGhlIGluaXRyZCByaWdodCBiZWhpbmQgdGhlIGJzcyBzZWN0aW9uIGluIGNhc2UgaXQgc3RhcnRzCisJICogd2l0aGluIHRoZSBic3Mgc2VjdGlvbi4gU28gd2UgZG9uJ3Qgb3ZlcndyaXRlIGl0IHdoZW4gdGhlIGJzcworCSAqIHNlY3Rpb24gZ2V0cyBjbGVhcmVkLgorCSAqLworCWlmICghSU5JVFJEX1NUQVJUIHx8ICFJTklUUkRfU0laRSkKKwkJcmV0dXJuOworCWlmIChJTklUUkRfU1RBUlQgPj0gKHVuc2lnbmVkIGxvbmcpIF9fYnNzX3N0b3ApCisJCXJldHVybjsKKwltZW1tb3ZlKF9fYnNzX3N0b3AsICh2b2lkICopIElOSVRSRF9TVEFSVCwgSU5JVFJEX1NJWkUpOworCUlOSVRSRF9TVEFSVCA9ICh1bnNpZ25lZCBsb25nKSBfX2Jzc19zdG9wOworI2VuZGlmCit9CisKKy8qIFNldCB1cCBib290IGNvbW1hbmQgbGluZSAqLworc3RhdGljIHZvaWQgX19pbml0IHNldHVwX2Jvb3RfY29tbWFuZF9saW5lKHZvaWQpCit7CisJY2hhciAqcGFybSA9IE5VTEw7CisKKwkvKiBjb3B5IGFyY2ggY29tbWFuZCBsaW5lICovCisJc3RybGNweShib290X2NvbW1hbmRfbGluZSwgQ09NTUFORF9MSU5FLCBBUkNIX0NPTU1BTkRfTElORV9TSVpFKTsKKwlib290X2NvbW1hbmRfbGluZVtBUkNIX0NPTU1BTkRfTElORV9TSVpFIC0gMV0gPSAwOworCisJLyogYXBwZW5kIElQTCBQQVJNIGRhdGEgdG8gdGhlIGJvb3QgY29tbWFuZCBsaW5lICovCisJaWYgKE1BQ0hJTkVfSVNfVk0pIHsKKwkJcGFybSA9IGJvb3RfY29tbWFuZF9saW5lICsgc3RybGVuKGJvb3RfY29tbWFuZF9saW5lKTsKKwkJKnBhcm0rKyA9ICcgJzsKKwkJZ2V0X2lwbF92bXBhcm0ocGFybSk7CisJCWlmIChwYXJtWzBdID09ICc9JykKKwkJCW1lbW1vdmUoYm9vdF9jb21tYW5kX2xpbmUsIHBhcm0gKyAxLCBzdHJsZW4ocGFybSkpOworCX0KK30KKworCiAvKgogICogU2F2ZSBpcGwgcGFyYW1ldGVycywgY2xlYXIgYnNzIG1lbW9yeSwgaW5pdGlhbGl6ZSBzdG9yYWdlIGtleXMKICAqIGFuZCBjcmVhdGUgYSBrZXJuZWwgTlNTIGF0IHN0YXJ0dXAgaWYgdGhlIFNBVkVTWVM9IHBhcm0gaXMgZGVmaW5lZAogICovCiB2b2lkIF9faW5pdCBzdGFydHVwX2luaXQodm9pZCkKIHsKLQl1bnNpZ25lZCBsb25nIGxvbmcgbWVtc2l6ZTsKLQogCWlwbF9zYXZlX3BhcmFtZXRlcnMoKTsKKwlyZXNjdWVfaW5pdHJkKCk7CiAJY2xlYXJfYnNzX3NlY3Rpb24oKTsKIAlpbml0X2tlcm5lbF9zdG9yYWdlX2tleSgpOwogCWxvY2tkZXBfaW5pdCgpOwogCWxvY2tkZXBfb2ZmKCk7Ci0JZGV0ZWN0X21hY2hpbmVfdHlwZSgpOwotCWNyZWF0ZV9rZXJuZWxfbnNzKCk7CiAJc29ydF9tYWluX2V4dGFibGUoKTsKIAlzZXR1cF9sb3djb3JlX2Vhcmx5KCk7CisJZGV0ZWN0X21hY2hpbmVfdHlwZSgpOworCWlwbF91cGRhdGVfcGFyYW1ldGVycygpOworCXNldHVwX2Jvb3RfY29tbWFuZF9saW5lKCk7CisJY3JlYXRlX2tlcm5lbF9uc3MoKTsKIAlkZXRlY3RfbXZwZygpOwogCWRldGVjdF9pZWVlKCk7CiAJZGV0ZWN0X2NzcCgpOwpAQCAtNDA0LDE4ICszODYsNyBAQAogCWRldGVjdF9kaWFnNDQoKTsKIAlkZXRlY3RfbWFjaGluZV9mYWNpbGl0aWVzKCk7CiAJc2V0dXBfaHBhZ2UoKTsKLQlzY2xwX3JlYWRfaW5mb19lYXJseSgpOwogCXNjbHBfZmFjaWxpdGllc19kZXRlY3QoKTsKLQltZW1zaXplID0gc2NscF9tZW1vcnlfZGV0ZWN0KCk7Ci0jaWZuZGVmIENPTkZJR182NEJJVAotCS8qCi0JICogQ2FuJ3QgZGVhbCB3aXRoIG1vcmUgdGhhbiAyRyBpbiAzMSBiaXQgYWRkcmVzc2luZyBtb2RlLCBzbwotCSAqIGxpbWl0IHRoZSB2YWx1ZSBpbiBvcmRlciB0byBhdm9pZCBzdHJhbmdlIHNpZGUgZWZmZWN0cy4KLQkgKi8KLQlpZiAobWVtc2l6ZSA+IEFERFIyRykKLQkJbWVtc2l6ZSA9IEFERFIyRzsKLSNlbmRpZgotCWlmIChtZW1vcnlfZmFzdF9kZXRlY3QoKSA8IDApCi0JCWZpbmRfbWVtb3J5X2NodW5rcygodW5zaWduZWQgbG9uZykgbWVtc2l6ZSk7CisJZGV0ZWN0X21lbW9yeV9sYXlvdXQobWVtb3J5X2NodW5rKTsKIAlsb2NrZGVwX29uKCk7CiB9CmRpZmYgLS1naXQgYS9hcmNoL3MzOTAva2VybmVsL2lwbC5jIGIvYXJjaC9zMzkwL2tlcm5lbC9pcGwuYwppbmRleCA1MzI1NDI0Li41NGIyNzc5IDEwMDY0NAotLS0gYS9hcmNoL3MzOTAva2VybmVsL2lwbC5jCisrKyBiL2FyY2gvczM5MC9rZXJuZWwvaXBsLmMKQEAgLTE0LDYgKzE0LDcgQEAKICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgogI2luY2x1ZGUgPGxpbnV4L3JlYm9vdC5oPgogI2luY2x1ZGUgPGxpbnV4L2N0eXBlLmg+CisjaW5jbHVkZSA8bGludXgvZnMuaD4KICNpbmNsdWRlIDxhc20vaXBsLmg+CiAjaW5jbHVkZSA8YXNtL3NtcC5oPgogI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgpAQCAtMjIsNiArMjMsNyBAQAogI2luY2x1ZGUgPGFzbS9lYmNkaWMuaD4KICNpbmNsdWRlIDxhc20vcmVzZXQuaD4KICNpbmNsdWRlIDxhc20vc2NscC5oPgorI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgogCiAjZGVmaW5lIElQTF9QQVJNX0JMT0NLX1ZFUlNJT04gMAogCkBAIC0xMjEsNiArMTIzLDcgQEAKIAlSRUlQTF9NRVRIT0RfRkNQX1JPX1ZNLAogCVJFSVBMX01FVEhPRF9GQ1BfRFVNUCwKIAlSRUlQTF9NRVRIT0RfTlNTLAorCVJFSVBMX01FVEhPRF9OU1NfRElBRywKIAlSRUlQTF9NRVRIT0RfREVGQVVMVCwKIH07CiAKQEAgLTEzNCwxNCArMTM3LDE1IEBACiAKIHN0YXRpYyBpbnQgZGlhZzMwOF9zZXRfd29ya3MgPSAwOwogCitzdGF0aWMgc3RydWN0IGlwbF9wYXJhbWV0ZXJfYmxvY2sgaXBsX2Jsb2NrOworCiBzdGF0aWMgaW50IHJlaXBsX2NhcGFiaWxpdGllcyA9IElQTF9UWVBFX1VOS05PV047CiAKIHN0YXRpYyBlbnVtIGlwbF90eXBlIHJlaXBsX3R5cGUgPSBJUExfVFlQRV9VTktOT1dOOwogc3RhdGljIGVudW0gaXBsX21ldGhvZCByZWlwbF9tZXRob2QgPSBSRUlQTF9NRVRIT0RfREVGQVVMVDsKIHN0YXRpYyBzdHJ1Y3QgaXBsX3BhcmFtZXRlcl9ibG9jayAqcmVpcGxfYmxvY2tfZmNwOwogc3RhdGljIHN0cnVjdCBpcGxfcGFyYW1ldGVyX2Jsb2NrICpyZWlwbF9ibG9ja19jY3c7Ci0KLXN0YXRpYyBjaGFyIHJlaXBsX25zc19uYW1lW05TU19OQU1FX1NJWkUgKyAxXTsKK3N0YXRpYyBzdHJ1Y3QgaXBsX3BhcmFtZXRlcl9ibG9jayAqcmVpcGxfYmxvY2tfbnNzOwogCiBzdGF0aWMgaW50IGR1bXBfY2FwYWJpbGl0aWVzID0gRFVNUF9UWVBFX05PTkU7CiBzdGF0aWMgZW51bSBkdW1wX3R5cGUgZHVtcF90eXBlID0gRFVNUF9UWVBFX05PTkU7CkBAIC0yNjMsNiArMjY3LDU2IEBACiAKIHN0YXRpYyBzdHJ1Y3Qga29ial9hdHRyaWJ1dGUgc3lzX2lwbF90eXBlX2F0dHIgPSBfX0FUVFJfUk8oaXBsX3R5cGUpOwogCisvKiBWTSBJUEwgUEFSTSByb3V0aW5lcyAqLworc3RhdGljIHZvaWQgcmVpcGxfZ2V0X2FzY2lpX3ZtcGFybShjaGFyICpkZXN0LAorCQkJCSAgIGNvbnN0IHN0cnVjdCBpcGxfcGFyYW1ldGVyX2Jsb2NrICppcGIpCit7CisJaW50IGk7CisJaW50IGxlbiA9IDA7CisJY2hhciBoYXNfbG93ZXJjYXNlID0gMDsKKworCWlmICgoaXBiLT5pcGxfaW5mby5jY3cudm1fZmxhZ3MgJiBESUFHMzA4X1ZNX0ZMQUdTX1ZQX1ZBTElEKSAmJgorCSAgICAoaXBiLT5pcGxfaW5mby5jY3cudm1fcGFybV9sZW4gPiAwKSkgeworCisJCWxlbiA9IGlwYi0+aXBsX2luZm8uY2N3LnZtX3Bhcm1fbGVuOworCQltZW1jcHkoZGVzdCwgaXBiLT5pcGxfaW5mby5jY3cudm1fcGFybSwgbGVuKTsKKwkJLyogSWYgYXQgbGVhc3Qgb25lIGNoYXJhY3RlciBpcyBsb3dlcmNhc2UsIHdlIGFzc3VtZSBtaXhlZAorCQkgKiBjYXNlOyBvdGhlcndpc2Ugd2UgY29udmVydCBldmVyeXRoaW5nIHRvIGxvd2VyY2FzZS4KKwkJICovCisJCWZvciAoaSA9IDA7IGkgPCBsZW47IGkrKykKKwkJCWlmICgoZGVzdFtpXSA+IDB4ODAgJiYgZGVzdFtpXSA8IDB4OGEpIHx8IC8qIGEtaSAqLworCQkJICAgIChkZXN0W2ldID4gMHg5MCAmJiBkZXN0W2ldIDwgMHg5YSkgfHwgLyogai1yICovCisJCQkgICAgKGRlc3RbaV0gPiAweGExICYmIGRlc3RbaV0gPCAweGFhKSkgeyAvKiBzLXogKi8KKwkJCQloYXNfbG93ZXJjYXNlID0gMTsKKwkJCQlicmVhazsKKwkJCX0KKwkJaWYgKCFoYXNfbG93ZXJjYXNlKQorCQkJRUJDX1RPTE9XRVIoZGVzdCwgbGVuKTsKKwkJRUJDQVNDKGRlc3QsIGxlbik7CisJfQorCWRlc3RbbGVuXSA9IDA7Cit9CisKK3ZvaWQgZ2V0X2lwbF92bXBhcm0oY2hhciAqZGVzdCkKK3sKKwlpZiAoZGlhZzMwOF9zZXRfd29ya3MgJiYgKGlwbF9ibG9jay5oZHIucGJ0ID09IERJQUczMDhfSVBMX1RZUEVfQ0NXKSkKKwkJcmVpcGxfZ2V0X2FzY2lpX3ZtcGFybShkZXN0LCAmaXBsX2Jsb2NrKTsKKwllbHNlCisJCWRlc3RbMF0gPSAwOworfQorCitzdGF0aWMgc3NpemVfdCBpcGxfdm1fcGFybV9zaG93KHN0cnVjdCBrb2JqZWN0ICprb2JqLAorCQkJCXN0cnVjdCBrb2JqX2F0dHJpYnV0ZSAqYXR0ciwgY2hhciAqcGFnZSkKK3sKKwljaGFyIHBhcm1bRElBRzMwOF9WTVBBUk1fU0laRSArIDFdID0ge307CisKKwlnZXRfaXBsX3ZtcGFybShwYXJtKTsKKwlyZXR1cm4gc3ByaW50ZihwYWdlLCAiJXNcbiIsIHBhcm0pOworfQorCitzdGF0aWMgc3RydWN0IGtvYmpfYXR0cmlidXRlIHN5c19pcGxfdm1fcGFybV9hdHRyID0KKwlfX0FUVFIocGFybSwgU19JUlVHTywgaXBsX3ZtX3Bhcm1fc2hvdywgTlVMTCk7CisKIHN0YXRpYyBzc2l6ZV90IHN5c19pcGxfZGV2aWNlX3Nob3coc3RydWN0IGtvYmplY3QgKmtvYmosCiAJCQkJICAgc3RydWN0IGtvYmpfYXR0cmlidXRlICphdHRyLCBjaGFyICpwYWdlKQogewpAQCAtMjg1LDE0ICszMzksOCBAQAogc3RhdGljIHNzaXplX3QgaXBsX3BhcmFtZXRlcl9yZWFkKHN0cnVjdCBrb2JqZWN0ICprb2JqLCBzdHJ1Y3QgYmluX2F0dHJpYnV0ZSAqYXR0ciwKIAkJCQkgIGNoYXIgKmJ1ZiwgbG9mZl90IG9mZiwgc2l6ZV90IGNvdW50KQogewotCXVuc2lnbmVkIGludCBzaXplID0gSVBMX1BBUk1CTE9DS19TSVpFOwotCi0JaWYgKG9mZiA+IHNpemUpCi0JCXJldHVybiAwOwotCWlmIChvZmYgKyBjb3VudCA+IHNpemUpCi0JCWNvdW50ID0gc2l6ZSAtIG9mZjsKLQltZW1jcHkoYnVmLCAodm9pZCAqKUlQTF9QQVJNQkxPQ0tfU1RBUlQgKyBvZmYsIGNvdW50KTsKLQlyZXR1cm4gY291bnQ7CisJcmV0dXJuIG1lbW9yeV9yZWFkX2Zyb21fYnVmZmVyKGJ1ZiwgY291bnQsICZvZmYsIElQTF9QQVJNQkxPQ0tfU1RBUlQsCisJCQkJCUlQTF9QQVJNQkxPQ0tfU0laRSk7CiB9CiAKIHN0YXRpYyBzdHJ1Y3QgYmluX2F0dHJpYnV0ZSBpcGxfcGFyYW1ldGVyX2F0dHIgPSB7CkBAIC0zMTAsMTIgKzM1OCw3IEBACiAJdW5zaWduZWQgaW50IHNpemUgPSBJUExfUEFSTUJMT0NLX1NUQVJULT5pcGxfaW5mby5mY3Auc2NwX2RhdGFfbGVuOwogCXZvaWQgKnNjcF9kYXRhID0gJklQTF9QQVJNQkxPQ0tfU1RBUlQtPmlwbF9pbmZvLmZjcC5zY3BfZGF0YTsKIAotCWlmIChvZmYgPiBzaXplKQotCQlyZXR1cm4gMDsKLQlpZiAob2ZmICsgY291bnQgPiBzaXplKQotCQljb3VudCA9IHNpemUgLSBvZmY7Ci0JbWVtY3B5KGJ1Ziwgc2NwX2RhdGEgKyBvZmYsIGNvdW50KTsKLQlyZXR1cm4gY291bnQ7CisJcmV0dXJuIG1lbW9yeV9yZWFkX2Zyb21fYnVmZmVyKGJ1ZiwgY291bnQsICZvZmYsIHNjcF9kYXRhLCBzaXplKTsKIH0KIAogc3RhdGljIHN0cnVjdCBiaW5fYXR0cmlidXRlIGlwbF9zY3BfZGF0YV9hdHRyID0gewpAQCAtMzcwLDE1ICs0MTMsMjcgQEAKIHN0YXRpYyBzdHJ1Y3Qga29ial9hdHRyaWJ1dGUgc3lzX2lwbF9jY3dfbG9hZHBhcm1fYXR0ciA9CiAJX19BVFRSKGxvYWRwYXJtLCAwNDQ0LCBpcGxfY2N3X2xvYWRwYXJtX3Nob3csIE5VTEwpOwogCi1zdGF0aWMgc3RydWN0IGF0dHJpYnV0ZSAqaXBsX2Njd19hdHRyc1tdID0geworc3RhdGljIHN0cnVjdCBhdHRyaWJ1dGUgKmlwbF9jY3dfYXR0cnNfdm1bXSA9IHsKKwkmc3lzX2lwbF90eXBlX2F0dHIuYXR0ciwKKwkmc3lzX2lwbF9kZXZpY2VfYXR0ci5hdHRyLAorCSZzeXNfaXBsX2Njd19sb2FkcGFybV9hdHRyLmF0dHIsCisJJnN5c19pcGxfdm1fcGFybV9hdHRyLmF0dHIsCisJTlVMTCwKK307CisKK3N0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlICppcGxfY2N3X2F0dHJzX2xwYXJbXSA9IHsKIAkmc3lzX2lwbF90eXBlX2F0dHIuYXR0ciwKIAkmc3lzX2lwbF9kZXZpY2VfYXR0ci5hdHRyLAogCSZzeXNfaXBsX2Njd19sb2FkcGFybV9hdHRyLmF0dHIsCiAJTlVMTCwKIH07CiAKLXN0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlX2dyb3VwIGlwbF9jY3dfYXR0cl9ncm91cCA9IHsKLQkuYXR0cnMgPSBpcGxfY2N3X2F0dHJzLAorc3RhdGljIHN0cnVjdCBhdHRyaWJ1dGVfZ3JvdXAgaXBsX2Njd19hdHRyX2dyb3VwX3ZtID0geworCS5hdHRycyA9IGlwbF9jY3dfYXR0cnNfdm0sCit9OworCitzdGF0aWMgc3RydWN0IGF0dHJpYnV0ZV9ncm91cCBpcGxfY2N3X2F0dHJfZ3JvdXBfbHBhciA9IHsKKwkuYXR0cnMgPSBpcGxfY2N3X2F0dHJzX2xwYXIKIH07CiAKIC8qIE5TUyBpcGwgZGV2aWNlIGF0dHJpYnV0ZXMgKi8KQEAgLTM4OCw2ICs0NDMsOCBAQAogc3RhdGljIHN0cnVjdCBhdHRyaWJ1dGUgKmlwbF9uc3NfYXR0cnNbXSA9IHsKIAkmc3lzX2lwbF90eXBlX2F0dHIuYXR0ciwKIAkmc3lzX2lwbF9uc3NfbmFtZV9hdHRyLmF0dHIsCisJJnN5c19pcGxfY2N3X2xvYWRwYXJtX2F0dHIuYXR0ciwKKwkmc3lzX2lwbF92bV9wYXJtX2F0dHIuYXR0ciwKIAlOVUxMLAogfTsKIApAQCAtNDUwLDcgKzUwNywxMiBAQAogCX0KIAlzd2l0Y2ggKGlwbF9pbmZvLnR5cGUpIHsKIAljYXNlIElQTF9UWVBFX0NDVzoKLQkJcmMgPSBzeXNmc19jcmVhdGVfZ3JvdXAoJmlwbF9rc2V0LT5rb2JqLCAmaXBsX2Njd19hdHRyX2dyb3VwKTsKKwkJaWYgKE1BQ0hJTkVfSVNfVk0pCisJCQlyYyA9IHN5c2ZzX2NyZWF0ZV9ncm91cCgmaXBsX2tzZXQtPmtvYmosCisJCQkJCQkmaXBsX2Njd19hdHRyX2dyb3VwX3ZtKTsKKwkJZWxzZQorCQkJcmMgPSBzeXNmc19jcmVhdGVfZ3JvdXAoJmlwbF9rc2V0LT5rb2JqLAorCQkJCQkJJmlwbF9jY3dfYXR0cl9ncm91cF9scGFyKTsKIAkJYnJlYWs7CiAJY2FzZSBJUExfVFlQRV9GQ1A6CiAJY2FzZSBJUExfVFlQRV9GQ1BfRFVNUDoKQEAgLTQ4MSw2ICs1NDMsODMgQEAKICAqIHJlaXBsIHNodXRkb3duIGFjdGlvbjogUmVib290IExpbnV4IG9uIHNodXRkb3duLgogICovCiAKKy8qIFZNIElQTCBQQVJNIGF0dHJpYnV0ZXMgKi8KK3N0YXRpYyBzc2l6ZV90IHJlaXBsX2dlbmVyaWNfdm1wYXJtX3Nob3coc3RydWN0IGlwbF9wYXJhbWV0ZXJfYmxvY2sgKmlwYiwKKwkJCQkJICBjaGFyICpwYWdlKQoreworCWNoYXIgdm1wYXJtW0RJQUczMDhfVk1QQVJNX1NJWkUgKyAxXSA9IHt9OworCisJcmVpcGxfZ2V0X2FzY2lpX3ZtcGFybSh2bXBhcm0sIGlwYik7CisJcmV0dXJuIHNwcmludGYocGFnZSwgIiVzXG4iLCB2bXBhcm0pOworfQorCitzdGF0aWMgc3NpemVfdCByZWlwbF9nZW5lcmljX3ZtcGFybV9zdG9yZShzdHJ1Y3QgaXBsX3BhcmFtZXRlcl9ibG9jayAqaXBiLAorCQkJCQkgIHNpemVfdCB2bXBhcm1fbWF4LAorCQkJCQkgIGNvbnN0IGNoYXIgKmJ1Ziwgc2l6ZV90IGxlbikKK3sKKwlpbnQgaSwgaXBfbGVuOworCisJLyogaWdub3JlIHRyYWlsaW5nIG5ld2xpbmUgKi8KKwlpcF9sZW4gPSBsZW47CisJaWYgKChsZW4gPiAwKSAmJiAoYnVmW2xlbiAtIDFdID09ICdcbicpKQorCQlpcF9sZW4tLTsKKworCWlmIChpcF9sZW4gPiB2bXBhcm1fbWF4KQorCQlyZXR1cm4gLUVJTlZBTDsKKworCS8qIHBhcm0gaXMgdXNlZCB0byBzdG9yZSBrZXJuZWwgb3B0aW9ucywgY2hlY2sgZm9yIGNvbW1vbiBjaGFycyAqLworCWZvciAoaSA9IDA7IGkgPCBpcF9sZW47IGkrKykKKwkJaWYgKCEoaXNhbG51bShidWZbaV0pIHx8IGlzYXNjaWkoYnVmW2ldKSB8fCBpc3ByaW50KGJ1ZltpXSkpKQorCQkJcmV0dXJuIC1FSU5WQUw7CisKKwltZW1zZXQoaXBiLT5pcGxfaW5mby5jY3cudm1fcGFybSwgMCwgRElBRzMwOF9WTVBBUk1fU0laRSk7CisJaXBiLT5pcGxfaW5mby5jY3cudm1fcGFybV9sZW4gPSBpcF9sZW47CisJaWYgKGlwX2xlbiA+IDApIHsKKwkJaXBiLT5pcGxfaW5mby5jY3cudm1fZmxhZ3MgfD0gRElBRzMwOF9WTV9GTEFHU19WUF9WQUxJRDsKKwkJbWVtY3B5KGlwYi0+aXBsX2luZm8uY2N3LnZtX3Bhcm0sIGJ1ZiwgaXBfbGVuKTsKKwkJQVNDRUJDKGlwYi0+aXBsX2luZm8uY2N3LnZtX3Bhcm0sIGlwX2xlbik7CisJfSBlbHNlIHsKKwkJaXBiLT5pcGxfaW5mby5jY3cudm1fZmxhZ3MgJj0gfkRJQUczMDhfVk1fRkxBR1NfVlBfVkFMSUQ7CisJfQorCisJcmV0dXJuIGxlbjsKK30KKworLyogTlNTIHdyYXBwZXIgKi8KK3N0YXRpYyBzc2l6ZV90IHJlaXBsX25zc192bXBhcm1fc2hvdyhzdHJ1Y3Qga29iamVjdCAqa29iaiwKKwkJCQkgICAgIHN0cnVjdCBrb2JqX2F0dHJpYnV0ZSAqYXR0ciwgY2hhciAqcGFnZSkKK3sKKwlyZXR1cm4gcmVpcGxfZ2VuZXJpY192bXBhcm1fc2hvdyhyZWlwbF9ibG9ja19uc3MsIHBhZ2UpOworfQorCitzdGF0aWMgc3NpemVfdCByZWlwbF9uc3Nfdm1wYXJtX3N0b3JlKHN0cnVjdCBrb2JqZWN0ICprb2JqLAorCQkJCSAgICAgIHN0cnVjdCBrb2JqX2F0dHJpYnV0ZSAqYXR0ciwKKwkJCQkgICAgICBjb25zdCBjaGFyICpidWYsIHNpemVfdCBsZW4pCit7CisJcmV0dXJuIHJlaXBsX2dlbmVyaWNfdm1wYXJtX3N0b3JlKHJlaXBsX2Jsb2NrX25zcywgNTYsIGJ1ZiwgbGVuKTsKK30KKworLyogQ0NXIHdyYXBwZXIgKi8KK3N0YXRpYyBzc2l6ZV90IHJlaXBsX2Njd192bXBhcm1fc2hvdyhzdHJ1Y3Qga29iamVjdCAqa29iaiwKKwkJCQkgICAgIHN0cnVjdCBrb2JqX2F0dHJpYnV0ZSAqYXR0ciwgY2hhciAqcGFnZSkKK3sKKwlyZXR1cm4gcmVpcGxfZ2VuZXJpY192bXBhcm1fc2hvdyhyZWlwbF9ibG9ja19jY3csIHBhZ2UpOworfQorCitzdGF0aWMgc3NpemVfdCByZWlwbF9jY3dfdm1wYXJtX3N0b3JlKHN0cnVjdCBrb2JqZWN0ICprb2JqLAorCQkJCSAgICAgIHN0cnVjdCBrb2JqX2F0dHJpYnV0ZSAqYXR0ciwKKwkJCQkgICAgICBjb25zdCBjaGFyICpidWYsIHNpemVfdCBsZW4pCit7CisJcmV0dXJuIHJlaXBsX2dlbmVyaWNfdm1wYXJtX3N0b3JlKHJlaXBsX2Jsb2NrX2NjdywgNjQsIGJ1ZiwgbGVuKTsKK30KKworc3RhdGljIHN0cnVjdCBrb2JqX2F0dHJpYnV0ZSBzeXNfcmVpcGxfbnNzX3ZtcGFybV9hdHRyID0KKwlfX0FUVFIocGFybSwgU19JUlVHTyB8IFNfSVdVU1IsIHJlaXBsX25zc192bXBhcm1fc2hvdywKKwkJCQkJcmVpcGxfbnNzX3ZtcGFybV9zdG9yZSk7CitzdGF0aWMgc3RydWN0IGtvYmpfYXR0cmlidXRlIHN5c19yZWlwbF9jY3dfdm1wYXJtX2F0dHIgPQorCV9fQVRUUihwYXJtLCBTX0lSVUdPIHwgU19JV1VTUiwgcmVpcGxfY2N3X3ZtcGFybV9zaG93LAorCQkJCQlyZWlwbF9jY3dfdm1wYXJtX3N0b3JlKTsKKwogLyogRkNQIHJlaXBsIGRldmljZSBhdHRyaWJ1dGVzICovCiAKIERFRklORV9JUExfQVRUUl9SVyhyZWlwbF9mY3AsIHd3cG4sICIweCUwMTZsbHhcbiIsICIlMDE2bGx4XG4iLApAQCAtNTEzLDI3ICs2NTIsMjYgQEAKIERFRklORV9JUExfQVRUUl9SVyhyZWlwbF9jY3csIGRldmljZSwgIjAuMC4lMDRsbHhcbiIsICIwLjAuJWxseFxuIiwKIAlyZWlwbF9ibG9ja19jY3ctPmlwbF9pbmZvLmNjdy5kZXZubyk7CiAKLXN0YXRpYyB2b2lkIHJlaXBsX2dldF9hc2NpaV9sb2FkcGFybShjaGFyICpsb2FkcGFybSkKK3N0YXRpYyB2b2lkIHJlaXBsX2dldF9hc2NpaV9sb2FkcGFybShjaGFyICpsb2FkcGFybSwKKwkJCQkgICAgIHN0cnVjdCBpcGxfcGFyYW1ldGVyX2Jsb2NrICppYnApCiB7Ci0JbWVtY3B5KGxvYWRwYXJtLCAmcmVpcGxfYmxvY2tfY2N3LT5pcGxfaW5mby5jY3cubG9hZF9wYXJhbSwKLQkgICAgICAgTE9BRFBBUk1fTEVOKTsKKwltZW1jcHkobG9hZHBhcm0sIGlicC0+aXBsX2luZm8uY2N3LmxvYWRfcGFybSwgTE9BRFBBUk1fTEVOKTsKIAlFQkNBU0MobG9hZHBhcm0sIExPQURQQVJNX0xFTik7CiAJbG9hZHBhcm1bTE9BRFBBUk1fTEVOXSA9IDA7CiAJc3Ryc3RyaXAobG9hZHBhcm0pOwogfQogCi1zdGF0aWMgc3NpemVfdCByZWlwbF9jY3dfbG9hZHBhcm1fc2hvdyhzdHJ1Y3Qga29iamVjdCAqa29iaiwKLQkJCQkgICAgICAgc3RydWN0IGtvYmpfYXR0cmlidXRlICphdHRyLCBjaGFyICpwYWdlKQorc3RhdGljIHNzaXplX3QgcmVpcGxfZ2VuZXJpY19sb2FkcGFybV9zaG93KHN0cnVjdCBpcGxfcGFyYW1ldGVyX2Jsb2NrICppcGIsCisJCQkJCSAgIGNoYXIgKnBhZ2UpCiB7CiAJY2hhciBidWZbTE9BRFBBUk1fTEVOICsgMV07CiAKLQlyZWlwbF9nZXRfYXNjaWlfbG9hZHBhcm0oYnVmKTsKKwlyZWlwbF9nZXRfYXNjaWlfbG9hZHBhcm0oYnVmLCBpcGIpOwogCXJldHVybiBzcHJpbnRmKHBhZ2UsICIlc1xuIiwgYnVmKTsKIH0KIAotc3RhdGljIHNzaXplX3QgcmVpcGxfY2N3X2xvYWRwYXJtX3N0b3JlKHN0cnVjdCBrb2JqZWN0ICprb2JqLAotCQkJCQlzdHJ1Y3Qga29ial9hdHRyaWJ1dGUgKmF0dHIsCi0JCQkJCWNvbnN0IGNoYXIgKmJ1Ziwgc2l6ZV90IGxlbikKK3N0YXRpYyBzc2l6ZV90IHJlaXBsX2dlbmVyaWNfbG9hZHBhcm1fc3RvcmUoc3RydWN0IGlwbF9wYXJhbWV0ZXJfYmxvY2sgKmlwYiwKKwkJCQkJICAgIGNvbnN0IGNoYXIgKmJ1Ziwgc2l6ZV90IGxlbikKIHsKIAlpbnQgaSwgbHBfbGVuOwogCkBAIC01NTIsMzUgKzY5MCwxMjggQEAKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQogCS8qIGluaXRpYWxpemUgbG9hZHBhcm0gd2l0aCBibGFua3MgKi8KLQltZW1zZXQoJnJlaXBsX2Jsb2NrX2Njdy0+aXBsX2luZm8uY2N3LmxvYWRfcGFyYW0sICcgJywgTE9BRFBBUk1fTEVOKTsKKwltZW1zZXQoaXBiLT5pcGxfaW5mby5jY3cubG9hZF9wYXJtLCAnICcsIExPQURQQVJNX0xFTik7CiAJLyogY29weSBhbmQgY29udmVydCB0byBlYmNkaWMgKi8KLQltZW1jcHkoJnJlaXBsX2Jsb2NrX2Njdy0+aXBsX2luZm8uY2N3LmxvYWRfcGFyYW0sIGJ1ZiwgbHBfbGVuKTsKLQlBU0NFQkMocmVpcGxfYmxvY2tfY2N3LT5pcGxfaW5mby5jY3cubG9hZF9wYXJhbSwgTE9BRFBBUk1fTEVOKTsKKwltZW1jcHkoaXBiLT5pcGxfaW5mby5jY3cubG9hZF9wYXJtLCBidWYsIGxwX2xlbik7CisJQVNDRUJDKGlwYi0+aXBsX2luZm8uY2N3LmxvYWRfcGFybSwgTE9BRFBBUk1fTEVOKTsKIAlyZXR1cm4gbGVuOwogfQogCi1zdGF0aWMgc3RydWN0IGtvYmpfYXR0cmlidXRlIHN5c19yZWlwbF9jY3dfbG9hZHBhcm1fYXR0ciA9Ci0JX19BVFRSKGxvYWRwYXJtLCAwNjQ0LCByZWlwbF9jY3dfbG9hZHBhcm1fc2hvdywKLQkgICAgICAgcmVpcGxfY2N3X2xvYWRwYXJtX3N0b3JlKTsKKy8qIE5TUyB3cmFwcGVyICovCitzdGF0aWMgc3NpemVfdCByZWlwbF9uc3NfbG9hZHBhcm1fc2hvdyhzdHJ1Y3Qga29iamVjdCAqa29iaiwKKwkJCQkgICAgICAgc3RydWN0IGtvYmpfYXR0cmlidXRlICphdHRyLCBjaGFyICpwYWdlKQoreworCXJldHVybiByZWlwbF9nZW5lcmljX2xvYWRwYXJtX3Nob3cocmVpcGxfYmxvY2tfbnNzLCBwYWdlKTsKK30KIAotc3RhdGljIHN0cnVjdCBhdHRyaWJ1dGUgKnJlaXBsX2Njd19hdHRyc1tdID0geworc3RhdGljIHNzaXplX3QgcmVpcGxfbnNzX2xvYWRwYXJtX3N0b3JlKHN0cnVjdCBrb2JqZWN0ICprb2JqLAorCQkJCQlzdHJ1Y3Qga29ial9hdHRyaWJ1dGUgKmF0dHIsCisJCQkJCWNvbnN0IGNoYXIgKmJ1Ziwgc2l6ZV90IGxlbikKK3sKKwlyZXR1cm4gcmVpcGxfZ2VuZXJpY19sb2FkcGFybV9zdG9yZShyZWlwbF9ibG9ja19uc3MsIGJ1ZiwgbGVuKTsKK30KKworLyogQ0NXIHdyYXBwZXIgKi8KK3N0YXRpYyBzc2l6ZV90IHJlaXBsX2Njd19sb2FkcGFybV9zaG93KHN0cnVjdCBrb2JqZWN0ICprb2JqLAorCQkJCSAgICAgICBzdHJ1Y3Qga29ial9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKnBhZ2UpCit7CisJcmV0dXJuIHJlaXBsX2dlbmVyaWNfbG9hZHBhcm1fc2hvdyhyZWlwbF9ibG9ja19jY3csIHBhZ2UpOworfQorCitzdGF0aWMgc3NpemVfdCByZWlwbF9jY3dfbG9hZHBhcm1fc3RvcmUoc3RydWN0IGtvYmplY3QgKmtvYmosCisJCQkJCXN0cnVjdCBrb2JqX2F0dHJpYnV0ZSAqYXR0ciwKKwkJCQkJY29uc3QgY2hhciAqYnVmLCBzaXplX3QgbGVuKQoreworCXJldHVybiByZWlwbF9nZW5lcmljX2xvYWRwYXJtX3N0b3JlKHJlaXBsX2Jsb2NrX2NjdywgYnVmLCBsZW4pOworfQorCitzdGF0aWMgc3RydWN0IGtvYmpfYXR0cmlidXRlIHN5c19yZWlwbF9jY3dfbG9hZHBhcm1fYXR0ciA9CisJX19BVFRSKGxvYWRwYXJtLCBTX0lSVUdPIHwgU19JV1VTUiwgcmVpcGxfY2N3X2xvYWRwYXJtX3Nob3csCisJCQkJCSAgICByZWlwbF9jY3dfbG9hZHBhcm1fc3RvcmUpOworCitzdGF0aWMgc3RydWN0IGF0dHJpYnV0ZSAqcmVpcGxfY2N3X2F0dHJzX3ZtW10gPSB7CisJJnN5c19yZWlwbF9jY3dfZGV2aWNlX2F0dHIuYXR0ciwKKwkmc3lzX3JlaXBsX2Njd19sb2FkcGFybV9hdHRyLmF0dHIsCisJJnN5c19yZWlwbF9jY3dfdm1wYXJtX2F0dHIuYXR0ciwKKwlOVUxMLAorfTsKKworc3RhdGljIHN0cnVjdCBhdHRyaWJ1dGUgKnJlaXBsX2Njd19hdHRyc19scGFyW10gPSB7CiAJJnN5c19yZWlwbF9jY3dfZGV2aWNlX2F0dHIuYXR0ciwKIAkmc3lzX3JlaXBsX2Njd19sb2FkcGFybV9hdHRyLmF0dHIsCiAJTlVMTCwKIH07CiAKLXN0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlX2dyb3VwIHJlaXBsX2Njd19hdHRyX2dyb3VwID0geworc3RhdGljIHN0cnVjdCBhdHRyaWJ1dGVfZ3JvdXAgcmVpcGxfY2N3X2F0dHJfZ3JvdXBfdm0gPSB7CiAJLm5hbWUgID0gSVBMX0NDV19TVFIsCi0JLmF0dHJzID0gcmVpcGxfY2N3X2F0dHJzLAorCS5hdHRycyA9IHJlaXBsX2Njd19hdHRyc192bSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlX2dyb3VwIHJlaXBsX2Njd19hdHRyX2dyb3VwX2xwYXIgPSB7CisJLm5hbWUgID0gSVBMX0NDV19TVFIsCisJLmF0dHJzID0gcmVpcGxfY2N3X2F0dHJzX2xwYXIsCiB9OwogCiAKIC8qIE5TUyByZWlwbCBkZXZpY2UgYXR0cmlidXRlcyAqLworc3RhdGljIHZvaWQgcmVpcGxfZ2V0X2FzY2lpX25zc19uYW1lKGNoYXIgKmRzdCwKKwkJCQkgICAgIHN0cnVjdCBpcGxfcGFyYW1ldGVyX2Jsb2NrICppcGIpCit7CisJbWVtY3B5KGRzdCwgaXBiLT5pcGxfaW5mby5jY3cubnNzX25hbWUsIE5TU19OQU1FX1NJWkUpOworCUVCQ0FTQyhkc3QsIE5TU19OQU1FX1NJWkUpOworCWRzdFtOU1NfTkFNRV9TSVpFXSA9IDA7Cit9CiAKLURFRklORV9JUExfQVRUUl9TVFJfUlcocmVpcGxfbnNzLCBuYW1lLCAiJXNcbiIsICIlc1xuIiwgcmVpcGxfbnNzX25hbWUpOworc3RhdGljIHNzaXplX3QgcmVpcGxfbnNzX25hbWVfc2hvdyhzdHJ1Y3Qga29iamVjdCAqa29iaiwKKwkJCQkgICBzdHJ1Y3Qga29ial9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKnBhZ2UpCit7CisJY2hhciBuc3NfbmFtZVtOU1NfTkFNRV9TSVpFICsgMV0gPSB7fTsKKworCXJlaXBsX2dldF9hc2NpaV9uc3NfbmFtZShuc3NfbmFtZSwgcmVpcGxfYmxvY2tfbnNzKTsKKwlyZXR1cm4gc3ByaW50ZihwYWdlLCAiJXNcbiIsIG5zc19uYW1lKTsKK30KKworc3RhdGljIHNzaXplX3QgcmVpcGxfbnNzX25hbWVfc3RvcmUoc3RydWN0IGtvYmplY3QgKmtvYmosCisJCQkJICAgIHN0cnVjdCBrb2JqX2F0dHJpYnV0ZSAqYXR0ciwKKwkJCQkgICAgY29uc3QgY2hhciAqYnVmLCBzaXplX3QgbGVuKQoreworCWludCBuc3NfbGVuOworCisJLyogaWdub3JlIHRyYWlsaW5nIG5ld2xpbmUgKi8KKwluc3NfbGVuID0gbGVuOworCWlmICgobGVuID4gMCkgJiYgKGJ1ZltsZW4gLSAxXSA9PSAnXG4nKSkKKwkJbnNzX2xlbi0tOworCisJaWYgKG5zc19sZW4gPiBOU1NfTkFNRV9TSVpFKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCW1lbXNldChyZWlwbF9ibG9ja19uc3MtPmlwbF9pbmZvLmNjdy5uc3NfbmFtZSwgMHg0MCwgTlNTX05BTUVfU0laRSk7CisJaWYgKG5zc19sZW4gPiAwKSB7CisJCXJlaXBsX2Jsb2NrX25zcy0+aXBsX2luZm8uY2N3LnZtX2ZsYWdzIHw9CisJCQlESUFHMzA4X1ZNX0ZMQUdTX05TU19WQUxJRDsKKwkJbWVtY3B5KHJlaXBsX2Jsb2NrX25zcy0+aXBsX2luZm8uY2N3Lm5zc19uYW1lLCBidWYsIG5zc19sZW4pOworCQlBU0NFQkMocmVpcGxfYmxvY2tfbnNzLT5pcGxfaW5mby5jY3cubnNzX25hbWUsIG5zc19sZW4pOworCQlFQkNfVE9VUFBFUihyZWlwbF9ibG9ja19uc3MtPmlwbF9pbmZvLmNjdy5uc3NfbmFtZSwgbnNzX2xlbik7CisJfSBlbHNlIHsKKwkJcmVpcGxfYmxvY2tfbnNzLT5pcGxfaW5mby5jY3cudm1fZmxhZ3MgJj0KKwkJCX5ESUFHMzA4X1ZNX0ZMQUdTX05TU19WQUxJRDsKKwl9CisKKwlyZXR1cm4gbGVuOworfQorCitzdGF0aWMgc3RydWN0IGtvYmpfYXR0cmlidXRlIHN5c19yZWlwbF9uc3NfbmFtZV9hdHRyID0KKwlfX0FUVFIobmFtZSwgU19JUlVHTyB8IFNfSVdVU1IsIHJlaXBsX25zc19uYW1lX3Nob3csCisJCQkJCXJlaXBsX25zc19uYW1lX3N0b3JlKTsKKworc3RhdGljIHN0cnVjdCBrb2JqX2F0dHJpYnV0ZSBzeXNfcmVpcGxfbnNzX2xvYWRwYXJtX2F0dHIgPQorCV9fQVRUUihsb2FkcGFybSwgU19JUlVHTyB8IFNfSVdVU1IsIHJlaXBsX25zc19sb2FkcGFybV9zaG93LAorCQkJCQkgICAgcmVpcGxfbnNzX2xvYWRwYXJtX3N0b3JlKTsKIAogc3RhdGljIHN0cnVjdCBhdHRyaWJ1dGUgKnJlaXBsX25zc19hdHRyc1tdID0gewogCSZzeXNfcmVpcGxfbnNzX25hbWVfYXR0ci5hdHRyLAorCSZzeXNfcmVpcGxfbnNzX2xvYWRwYXJtX2F0dHIuYXR0ciwKKwkmc3lzX3JlaXBsX25zc192bXBhcm1fYXR0ci5hdHRyLAogCU5VTEwsCiB9OwogCkBAIC02MTcsNyArODQ4LDEwIEBACiAJCXJlaXBsX21ldGhvZCA9IFJFSVBMX01FVEhPRF9GQ1BfRFVNUDsKIAkJYnJlYWs7CiAJY2FzZSBJUExfVFlQRV9OU1M6Ci0JCXJlaXBsX21ldGhvZCA9IFJFSVBMX01FVEhPRF9OU1M7CisJCWlmIChkaWFnMzA4X3NldF93b3JrcykKKwkJCXJlaXBsX21ldGhvZCA9IFJFSVBMX01FVEhPRF9OU1NfRElBRzsKKwkJZWxzZQorCQkJcmVpcGxfbWV0aG9kID0gUkVJUExfTUVUSE9EX05TUzsKIAkJYnJlYWs7CiAJY2FzZSBJUExfVFlQRV9VTktOT1dOOgogCQlyZWlwbF9tZXRob2QgPSBSRUlQTF9NRVRIT0RfREVGQVVMVDsKQEAgLTY1NSwxMSArODg5LDM4IEBACiAKIHN0YXRpYyBzdHJ1Y3Qga3NldCAqcmVpcGxfa3NldDsKIAorc3RhdGljIHZvaWQgZ2V0X2lwbF9zdHJpbmcoY2hhciAqZHN0LCBzdHJ1Y3QgaXBsX3BhcmFtZXRlcl9ibG9jayAqaXBiLAorCQkJICAgY29uc3QgZW51bSBpcGxfbWV0aG9kIG0pCit7CisJY2hhciBsb2FkcGFybVtMT0FEUEFSTV9MRU4gKyAxXSA9IHt9OworCWNoYXIgdm1wYXJtW0RJQUczMDhfVk1QQVJNX1NJWkUgKyAxXSA9IHt9OworCWNoYXIgbnNzX25hbWVbTlNTX05BTUVfU0laRSArIDFdID0ge307CisJc2l6ZV90IHBvcyA9IDA7CisKKwlyZWlwbF9nZXRfYXNjaWlfbG9hZHBhcm0obG9hZHBhcm0sIGlwYik7CisJcmVpcGxfZ2V0X2FzY2lpX25zc19uYW1lKG5zc19uYW1lLCBpcGIpOworCXJlaXBsX2dldF9hc2NpaV92bXBhcm0odm1wYXJtLCBpcGIpOworCisJc3dpdGNoIChtKSB7CisJY2FzZSBSRUlQTF9NRVRIT0RfQ0NXX1ZNOgorCQlwb3MgPSBzcHJpbnRmKGRzdCwgIklQTCAlWCBDTEVBUiIsIGlwYi0+aXBsX2luZm8uY2N3LmRldm5vKTsKKwkJYnJlYWs7CisJY2FzZSBSRUlQTF9NRVRIT0RfTlNTOgorCQlwb3MgPSBzcHJpbnRmKGRzdCwgIklQTCAlcyIsIG5zc19uYW1lKTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJYnJlYWs7CisJfQorCWlmIChzdHJsZW4obG9hZHBhcm0pID4gMCkKKwkJcG9zICs9IHNwcmludGYoZHN0ICsgcG9zLCAiIExPQURQQVJNICclcyciLCBsb2FkcGFybSk7CisJaWYgKHN0cmxlbih2bXBhcm0pID4gMCkKKwkJc3ByaW50Zihkc3QgKyBwb3MsICIgUEFSTSAlcyIsIHZtcGFybSk7Cit9CisKIHN0YXRpYyB2b2lkIHJlaXBsX3J1bihzdHJ1Y3Qgc2h1dGRvd25fdHJpZ2dlciAqdHJpZ2dlcikKIHsKIAlzdHJ1Y3QgY2N3X2Rldl9pZCBkZXZpZDsKLQlzdGF0aWMgY2hhciBidWZbMTAwXTsKLQljaGFyIGxvYWRwYXJtW0xPQURQQVJNX0xFTiArIDFdOworCXN0YXRpYyBjaGFyIGJ1ZlsxMjhdOwogCiAJc3dpdGNoIChyZWlwbF9tZXRob2QpIHsKIAljYXNlIFJFSVBMX01FVEhPRF9DQ1dfQ0lPOgpAQCAtNjY4LDEzICs5MjksNyBAQAogCQlyZWlwbF9jY3dfZGV2KCZkZXZpZCk7CiAJCWJyZWFrOwogCWNhc2UgUkVJUExfTUVUSE9EX0NDV19WTToKLQkJcmVpcGxfZ2V0X2FzY2lpX2xvYWRwYXJtKGxvYWRwYXJtKTsKLQkJaWYgKHN0cmxlbihsb2FkcGFybSkgPT0gMCkKLQkJCXNwcmludGYoYnVmLCAiSVBMICVYIENMRUFSIiwKLQkJCQlyZWlwbF9ibG9ja19jY3ctPmlwbF9pbmZvLmNjdy5kZXZubyk7Ci0JCWVsc2UKLQkJCXNwcmludGYoYnVmLCAiSVBMICVYIENMRUFSIExPQURQQVJNICclcyciLAotCQkJCXJlaXBsX2Jsb2NrX2Njdy0+aXBsX2luZm8uY2N3LmRldm5vLCBsb2FkcGFybSk7CisJCWdldF9pcGxfc3RyaW5nKGJ1ZiwgcmVpcGxfYmxvY2tfY2N3LCBSRUlQTF9NRVRIT0RfQ0NXX1ZNKTsKIAkJX19jcGNtZChidWYsIE5VTEwsIDAsIE5VTEwpOwogCQlicmVhazsKIAljYXNlIFJFSVBMX01FVEhPRF9DQ1dfRElBRzoKQEAgLTY5MSw4ICs5NDYsMTIgQEAKIAljYXNlIFJFSVBMX01FVEhPRF9GQ1BfUk9fVk06CiAJCV9fY3BjbWQoIklQTCIsIE5VTEwsIDAsIE5VTEwpOwogCQlicmVhazsKKwljYXNlIFJFSVBMX01FVEhPRF9OU1NfRElBRzoKKwkJZGlhZzMwOChESUFHMzA4X1NFVCwgcmVpcGxfYmxvY2tfbnNzKTsKKwkJZGlhZzMwOChESUFHMzA4X0lQTCwgTlVMTCk7CisJCWJyZWFrOwogCWNhc2UgUkVJUExfTUVUSE9EX05TUzoKLQkJc3ByaW50ZihidWYsICJJUEwgJXMiLCByZWlwbF9uc3NfbmFtZSk7CisJCWdldF9pcGxfc3RyaW5nKGJ1ZiwgcmVpcGxfYmxvY2tfbnNzLCBSRUlQTF9NRVRIT0RfTlNTKTsKIAkJX19jcGNtZChidWYsIE5VTEwsIDAsIE5VTEwpOwogCQlicmVhazsKIAljYXNlIFJFSVBMX01FVEhPRF9ERUZBVUxUOgpAQCAtNzA3LDE2ICs5NjYsMzYgQEAKIAlkaXNhYmxlZF93YWl0KCh1bnNpZ25lZCBsb25nKSBfX2J1aWx0aW5fcmV0dXJuX2FkZHJlc3MoMCkpOwogfQogCi1zdGF0aWMgdm9pZCBfX2luaXQgcmVpcGxfcHJvYmUodm9pZCkKK3N0YXRpYyB2b2lkIHJlaXBsX2Jsb2NrX2Njd19pbml0KHN0cnVjdCBpcGxfcGFyYW1ldGVyX2Jsb2NrICppcGIpCiB7Ci0Jdm9pZCAqYnVmZmVyOworCWlwYi0+aGRyLmxlbiA9IElQTF9QQVJNX0JMS19DQ1dfTEVOOworCWlwYi0+aGRyLnZlcnNpb24gPSBJUExfUEFSTV9CTE9DS19WRVJTSU9OOworCWlwYi0+aGRyLmJsazBfbGVuID0gSVBMX1BBUk1fQkxLMF9DQ1dfTEVOOworCWlwYi0+aGRyLnBidCA9IERJQUczMDhfSVBMX1RZUEVfQ0NXOworfQogCi0JYnVmZmVyID0gKHZvaWQgKikgZ2V0X3plcm9lZF9wYWdlKEdGUF9LRVJORUwpOwotCWlmICghYnVmZmVyKQotCQlyZXR1cm47Ci0JaWYgKGRpYWczMDgoRElBRzMwOF9TVE9SRSwgYnVmZmVyKSA9PSBESUFHMzA4X1JDX09LKQotCQlkaWFnMzA4X3NldF93b3JrcyA9IDE7Ci0JZnJlZV9wYWdlKCh1bnNpZ25lZCBsb25nKWJ1ZmZlcik7CitzdGF0aWMgdm9pZCByZWlwbF9ibG9ja19jY3dfZmlsbF9wYXJtcyhzdHJ1Y3QgaXBsX3BhcmFtZXRlcl9ibG9jayAqaXBiKQoreworCS8qIExPQURQQVJNICovCisJLyogY2hlY2sgaWYgcmVhZCBzY3AgaW5mbyB3b3JrZWQgYW5kIHNldCBsb2FkcGFybSAqLworCWlmIChzY2xwX2lwbF9pbmZvLmlzX3ZhbGlkKQorCQltZW1jcHkoaXBiLT5pcGxfaW5mby5jY3cubG9hZF9wYXJtLAorCQkJCSZzY2xwX2lwbF9pbmZvLmxvYWRwYXJtLCBMT0FEUEFSTV9MRU4pOworCWVsc2UKKwkJLyogcmVhZCBzY3AgaW5mbyBmYWlsZWQ6IHNldCBlbXB0eSBsb2FkcGFybSAoRUJDRElDIGJsYW5rcykgKi8KKwkJbWVtc2V0KGlwYi0+aXBsX2luZm8uY2N3LmxvYWRfcGFybSwgMHg0MCwgTE9BRFBBUk1fTEVOKTsKKwlpcGItPmhkci5mbGFncyA9IERJQUczMDhfRkxBR1NfTFBfVkFMSUQ7CisKKwkvKiBWTSBQQVJNICovCisJaWYgKE1BQ0hJTkVfSVNfVk0gJiYgZGlhZzMwOF9zZXRfd29ya3MgJiYKKwkgICAgKGlwbF9ibG9jay5pcGxfaW5mby5jY3cudm1fZmxhZ3MgJiBESUFHMzA4X1ZNX0ZMQUdTX1ZQX1ZBTElEKSkgeworCisJCWlwYi0+aXBsX2luZm8uY2N3LnZtX2ZsYWdzIHw9IERJQUczMDhfVk1fRkxBR1NfVlBfVkFMSUQ7CisJCWlwYi0+aXBsX2luZm8uY2N3LnZtX3Bhcm1fbGVuID0KKwkJCQkJaXBsX2Jsb2NrLmlwbF9pbmZvLmNjdy52bV9wYXJtX2xlbjsKKwkJbWVtY3B5KGlwYi0+aXBsX2luZm8uY2N3LnZtX3Bhcm0sCisJCSAgICAgICBpcGxfYmxvY2suaXBsX2luZm8uY2N3LnZtX3Bhcm0sIERJQUczMDhfVk1QQVJNX1NJWkUpOworCX0KIH0KIAogc3RhdGljIGludCBfX2luaXQgcmVpcGxfbnNzX2luaXQodm9pZCkKQEAgLTcyNSwxMCArMTAwNCwzMSBAQAogCiAJaWYgKCFNQUNISU5FX0lTX1ZNKQogCQlyZXR1cm4gMDsKKworCXJlaXBsX2Jsb2NrX25zcyA9ICh2b2lkICopIGdldF96ZXJvZWRfcGFnZShHRlBfS0VSTkVMKTsKKwlpZiAoIXJlaXBsX2Jsb2NrX25zcykKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlpZiAoIWRpYWczMDhfc2V0X3dvcmtzKQorCQlzeXNfcmVpcGxfbnNzX3ZtcGFybV9hdHRyLmF0dHIubW9kZSA9IFNfSVJVR087CisKIAlyYyA9IHN5c2ZzX2NyZWF0ZV9ncm91cCgmcmVpcGxfa3NldC0+a29iaiwgJnJlaXBsX25zc19hdHRyX2dyb3VwKTsKIAlpZiAocmMpCiAJCXJldHVybiByYzsKLQlzdHJuY3B5KHJlaXBsX25zc19uYW1lLCBrZXJuZWxfbnNzX25hbWUsIE5TU19OQU1FX1NJWkUgKyAxKTsKKworCXJlaXBsX2Jsb2NrX2Njd19pbml0KHJlaXBsX2Jsb2NrX25zcyk7CisJaWYgKGlwbF9pbmZvLnR5cGUgPT0gSVBMX1RZUEVfTlNTKSB7CisJCW1lbXNldChyZWlwbF9ibG9ja19uc3MtPmlwbF9pbmZvLmNjdy5uc3NfbmFtZSwKKwkJCScgJywgTlNTX05BTUVfU0laRSk7CisJCW1lbWNweShyZWlwbF9ibG9ja19uc3MtPmlwbF9pbmZvLmNjdy5uc3NfbmFtZSwKKwkJCWtlcm5lbF9uc3NfbmFtZSwgc3RybGVuKGtlcm5lbF9uc3NfbmFtZSkpOworCQlBU0NFQkMocmVpcGxfYmxvY2tfbnNzLT5pcGxfaW5mby5jY3cubnNzX25hbWUsIE5TU19OQU1FX1NJWkUpOworCQlyZWlwbF9ibG9ja19uc3MtPmlwbF9pbmZvLmNjdy52bV9mbGFncyB8PQorCQkJRElBRzMwOF9WTV9GTEFHU19OU1NfVkFMSUQ7CisKKwkJcmVpcGxfYmxvY2tfY2N3X2ZpbGxfcGFybXMocmVpcGxfYmxvY2tfbnNzKTsKKwl9CisKIAlyZWlwbF9jYXBhYmlsaXRpZXMgfD0gSVBMX1RZUEVfTlNTOwogCXJldHVybiAwOwogfQpAQCAtNzQwLDI4ICsxMDQwLDI3IEBACiAJcmVpcGxfYmxvY2tfY2N3ID0gKHZvaWQgKikgZ2V0X3plcm9lZF9wYWdlKEdGUF9LRVJORUwpOwogCWlmICghcmVpcGxfYmxvY2tfY2N3KQogCQlyZXR1cm4gLUVOT01FTTsKLQlyYyA9IHN5c2ZzX2NyZWF0ZV9ncm91cCgmcmVpcGxfa3NldC0+a29iaiwgJnJlaXBsX2Njd19hdHRyX2dyb3VwKTsKLQlpZiAocmMpIHsKLQkJZnJlZV9wYWdlKCh1bnNpZ25lZCBsb25nKXJlaXBsX2Jsb2NrX2Njdyk7Ci0JCXJldHVybiByYzsKKworCWlmIChNQUNISU5FX0lTX1ZNKSB7CisJCWlmICghZGlhZzMwOF9zZXRfd29ya3MpCisJCQlzeXNfcmVpcGxfY2N3X3ZtcGFybV9hdHRyLmF0dHIubW9kZSA9IFNfSVJVR087CisJCXJjID0gc3lzZnNfY3JlYXRlX2dyb3VwKCZyZWlwbF9rc2V0LT5rb2JqLAorCQkJCQkmcmVpcGxfY2N3X2F0dHJfZ3JvdXBfdm0pOworCX0gZWxzZSB7CisJCWlmKCFkaWFnMzA4X3NldF93b3JrcykKKwkJCXN5c19yZWlwbF9jY3dfbG9hZHBhcm1fYXR0ci5hdHRyLm1vZGUgPSBTX0lSVUdPOworCQlyYyA9IHN5c2ZzX2NyZWF0ZV9ncm91cCgmcmVpcGxfa3NldC0+a29iaiwKKwkJCQkJJnJlaXBsX2Njd19hdHRyX2dyb3VwX2xwYXIpOwogCX0KLQlyZWlwbF9ibG9ja19jY3ctPmhkci5sZW4gPSBJUExfUEFSTV9CTEtfQ0NXX0xFTjsKLQlyZWlwbF9ibG9ja19jY3ctPmhkci52ZXJzaW9uID0gSVBMX1BBUk1fQkxPQ0tfVkVSU0lPTjsKLQlyZWlwbF9ibG9ja19jY3ctPmhkci5ibGswX2xlbiA9IElQTF9QQVJNX0JMSzBfQ0NXX0xFTjsKLQlyZWlwbF9ibG9ja19jY3ctPmhkci5wYnQgPSBESUFHMzA4X0lQTF9UWVBFX0NDVzsKLQlyZWlwbF9ibG9ja19jY3ctPmhkci5mbGFncyA9IERJQUczMDhfRkxBR1NfTFBfVkFMSUQ7Ci0JLyogY2hlY2sgaWYgcmVhZCBzY3AgaW5mbyB3b3JrZWQgYW5kIHNldCBsb2FkcGFybSAqLwotCWlmIChzY2xwX2lwbF9pbmZvLmlzX3ZhbGlkKQotCQltZW1jcHkocmVpcGxfYmxvY2tfY2N3LT5pcGxfaW5mby5jY3cubG9hZF9wYXJhbSwKLQkJICAgICAgICZzY2xwX2lwbF9pbmZvLmxvYWRwYXJtLCBMT0FEUEFSTV9MRU4pOwotCWVsc2UKLQkJLyogcmVhZCBzY3AgaW5mbyBmYWlsZWQ6IHNldCBlbXB0eSBsb2FkcGFybSAoRUJDRElDIGJsYW5rcykgKi8KLQkJbWVtc2V0KHJlaXBsX2Jsb2NrX2Njdy0+aXBsX2luZm8uY2N3LmxvYWRfcGFyYW0sIDB4NDAsCi0JCSAgICAgICBMT0FEUEFSTV9MRU4pOwotCWlmICghTUFDSElORV9JU19WTSAmJiAhZGlhZzMwOF9zZXRfd29ya3MpCi0JCXN5c19yZWlwbF9jY3dfbG9hZHBhcm1fYXR0ci5hdHRyLm1vZGUgPSBTX0lSVUdPOwotCWlmIChpcGxfaW5mby50eXBlID09IElQTF9UWVBFX0NDVykKKwlpZiAocmMpCisJCXJldHVybiByYzsKKworCXJlaXBsX2Jsb2NrX2Njd19pbml0KHJlaXBsX2Jsb2NrX2Njdyk7CisJaWYgKGlwbF9pbmZvLnR5cGUgPT0gSVBMX1RZUEVfQ0NXKSB7CiAJCXJlaXBsX2Jsb2NrX2Njdy0+aXBsX2luZm8uY2N3LmRldm5vID0gaXBsX2Rldm5vOworCQlyZWlwbF9ibG9ja19jY3dfZmlsbF9wYXJtcyhyZWlwbF9ibG9ja19jY3cpOworCX0KKwogCXJlaXBsX2NhcGFiaWxpdGllcyB8PSBJUExfVFlQRV9DQ1c7CiAJcmV0dXJuIDA7CiB9CkBAIC0xMjk4LDcgKzE1OTcsNiBAQAogCiBzdGF0aWMgaW50IF9faW5pdCBzMzkwX2lwbF9pbml0KHZvaWQpCiB7Ci0JcmVpcGxfcHJvYmUoKTsKIAlzY2xwX2dldF9pcGxfaW5mbygmc2NscF9pcGxfaW5mbyk7CiAJc2h1dGRvd25fYWN0aW9uc19pbml0KCk7CiAJc2h1dGRvd25fdHJpZ2dlcnNfaW5pdCgpOwpAQCAtMTQwNSw2ICsxNzAzLDEyIEBACiAJYXRvbWljX25vdGlmaWVyX2NoYWluX3JlZ2lzdGVyKCZwYW5pY19ub3RpZmllcl9saXN0LCAmb25fcGFuaWNfbmIpOwogfQogCit2b2lkIF9faW5pdCBpcGxfdXBkYXRlX3BhcmFtZXRlcnModm9pZCkKK3sKKwlpZiAoZGlhZzMwOChESUFHMzA4X1NUT1JFLCAmaXBsX2Jsb2NrKSA9PSBESUFHMzA4X1JDX09LKQorCQlkaWFnMzA4X3NldF93b3JrcyA9IDE7Cit9CisKIHZvaWQgX19pbml0IGlwbF9zYXZlX3BhcmFtZXRlcnModm9pZCkKIHsKIAlzdHJ1Y3QgY2lvX2lwbGluZm8gaXBsaW5mbzsKZGlmZiAtLWdpdCBhL2FyY2gvczM5MC9rZXJuZWwva3Byb2Jlcy5jIGIvYXJjaC9zMzkwL2tlcm5lbC9rcHJvYmVzLmMKaW5kZXggZWQwNGQxMy4uMjg4YWQ0OSAxMDA2NDQKLS0tIGEvYXJjaC9zMzkwL2tlcm5lbC9rcHJvYmVzLmMKKysrIGIvYXJjaC9zMzkwL2tlcm5lbC9rcHJvYmVzLmMKQEAgLTQxLDEwICs0MSw4IEBACiAJaWYgKGlzX3Byb2hpYml0ZWRfb3Bjb2RlKChrcHJvYmVfb3Bjb2RlX3QgKikgcC0+YWRkcikpCiAJCXJldHVybiAtRUlOVkFMOwogCi0JaWYgKCh1bnNpZ25lZCBsb25nKXAtPmFkZHIgJiAweDAxKSB7Ci0JCXByaW50aygiQXR0ZW1wdCB0byByZWdpc3RlciBrcHJvYmUgYXQgYW4gdW5hbGlnbmVkIGFkZHJlc3NcbiIpOworCWlmICgodW5zaWduZWQgbG9uZylwLT5hZGRyICYgMHgwMSkKIAkJcmV0dXJuIC1FSU5WQUw7Ci0JCX0KIAogCS8qIFVzZSB0aGUgZ2V0X2luc25fc2xvdCgpIGZhY2lsaXR5IGZvciBjb3JyZWN0bmVzcyAqLwogCWlmICghKHAtPmFpbnNuLmluc24gPSBnZXRfaW5zbl9zbG90KCkpKQpkaWZmIC0tZ2l0IGEvYXJjaC9zMzkwL2tlcm5lbC9tYWNoaW5lX2tleGVjLmMgYi9hcmNoL3MzOTAva2VybmVsL21hY2hpbmVfa2V4ZWMuYwppbmRleCAzYzc3ZGQzLi4xMzFkN2VlIDEwMDY0NAotLS0gYS9hcmNoL3MzOTAva2VybmVsL21hY2hpbmVfa2V4ZWMuYworKysgYi9hcmNoL3MzOTAva2VybmVsL21hY2hpbmVfa2V4ZWMuYwpAQCAtNTIsNyArNTIsNiBAQAogCiB2b2lkIG1hY2hpbmVfc2h1dGRvd24odm9pZCkKIHsKLQlwcmludGsoS0VSTl9JTkZPICJrZXhlYzogbWFjaGluZV9zaHV0ZG93biBjYWxsZWRcbiIpOwogfQogCiB2b2lkIG1hY2hpbmVfa2V4ZWMoc3RydWN0IGtpbWFnZSAqaW1hZ2UpCmRpZmYgLS1naXQgYS9hcmNoL3MzOTAva2VybmVsL21lbV9kZXRlY3QuYyBiL2FyY2gvczM5MC9rZXJuZWwvbWVtX2RldGVjdC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE4ZWQ3YWIKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL3MzOTAva2VybmVsL21lbV9kZXRlY3QuYwpAQCAtMCwwICsxLDEwMCBAQAorLyoKKyAqICAgIENvcHlyaWdodCBJQk0gQ29ycC4gMjAwOAorICogICAgQXV0aG9yKHMpOiBIZWlrbyBDYXJzdGVucyA8aGVpa28uY2Fyc3RlbnNAZGUuaWJtLmNvbT4KKyAqLworCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8YXNtL2lwbC5oPgorI2luY2x1ZGUgPGFzbS9zY2xwLmg+CisjaW5jbHVkZSA8YXNtL3NldHVwLmg+CisKK3N0YXRpYyBpbnQgbWVtb3J5X2Zhc3RfZGV0ZWN0KHN0cnVjdCBtZW1fY2h1bmsgKmNodW5rKQoreworCXVuc2lnbmVkIGxvbmcgdmFsMCA9IDA7CisJdW5zaWduZWQgbG9uZyB2YWwxID0gMHhjOworCWludCByYyA9IC1FT1BOT1RTVVBQOworCisJaWYgKGlwbF9mbGFncyAmIElQTF9OU1NfVkFMSUQpCisJCXJldHVybiAtRU9QTk9UU1VQUDsKKwlhc20gdm9sYXRpbGUoCisJCSIJZGlhZwklMSwlMiwweDI2MFxuIgorCQkiMDoJbGhpCSUwLDBcbiIKKwkJIjE6XG4iCisJCUVYX1RBQkxFKDBiLDFiKQorCQk6ICIrZCIgKHJjKSwgIitkIiAodmFsMCksICIrZCIgKHZhbDEpIDogOiAiY2MiKTsKKworCWlmIChyYyB8fCB2YWwwICE9IHZhbDEpCisJCXJldHVybiAtRU9QTk9UU1VQUDsKKwljaHVuay0+c2l6ZSA9IHZhbDAgKyAxOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW5saW5lIGludCB0cHJvdCh1bnNpZ25lZCBsb25nIGFkZHIpCit7CisJaW50IHJjID0gLUVGQVVMVDsKKworCWFzbSB2b2xhdGlsZSgKKwkJIgl0cHJvdAkwKCUxKSwwXG4iCisJCSIwOglpcG0JJTBcbiIKKwkJIglzcmwJJTAsMjhcbiIKKwkJIjE6XG4iCisJCUVYX1RBQkxFKDBiLDFiKQorCQk6ICIrZCIgKHJjKSA6ICJhIiAoYWRkcikgOiAiY2MiKTsKKwlyZXR1cm4gcmM7Cit9CisKKyNkZWZpbmUgQUREUjJHICgxVUxMIDw8IDMxKQorCitzdGF0aWMgdm9pZCBmaW5kX21lbW9yeV9jaHVua3Moc3RydWN0IG1lbV9jaHVuayBjaHVua1tdKQoreworCXVuc2lnbmVkIGxvbmcgbG9uZyBtZW1zaXplLCBybm1heCwgcnptOworCXVuc2lnbmVkIGxvbmcgYWRkciA9IDAsIHNpemU7CisJaW50IGkgPSAwLCB0eXBlOworCisJcnptID0gc2NscF9nZXRfcnptKCk7CisJcm5tYXggPSBzY2xwX2dldF9ybm1heCgpOworCW1lbXNpemUgPSByem0gKiBybm1heDsKKwlpZiAoIXJ6bSkKKwkJcnptID0gMVVMTCA8PCAxNzsKKwlpZiAoc2l6ZW9mKGxvbmcpID09IDQpIHsKKwkJcnptID0gbWluKEFERFIyRywgcnptKTsKKwkJbWVtc2l6ZSA9IG1lbXNpemUgPyBtaW4oQUREUjJHLCBtZW1zaXplKSA6IEFERFIyRzsKKwl9CisJZG8geworCQlzaXplID0gMDsKKwkJdHlwZSA9IHRwcm90KGFkZHIpOworCQlkbyB7CisJCQlzaXplICs9IHJ6bTsKKwkJCWlmIChtZW1zaXplICYmIGFkZHIgKyBzaXplID49IG1lbXNpemUpCisJCQkJYnJlYWs7CisJCX0gd2hpbGUgKHR5cGUgPT0gdHByb3QoYWRkciArIHNpemUpKTsKKwkJaWYgKHR5cGUgPT0gQ0hVTktfUkVBRF9XUklURSB8fCB0eXBlID09IENIVU5LX1JFQURfT05MWSkgeworCQkJY2h1bmtbaV0uYWRkciA9IGFkZHI7CisJCQljaHVua1tpXS5zaXplID0gc2l6ZTsKKwkJCWNodW5rW2ldLnR5cGUgPSB0eXBlOworCQkJaSsrOworCQl9CisJCWFkZHIgKz0gc2l6ZTsKKwl9IHdoaWxlIChhZGRyIDwgbWVtc2l6ZSAmJiBpIDwgTUVNT1JZX0NIVU5LUyk7Cit9CisKK3ZvaWQgZGV0ZWN0X21lbW9yeV9sYXlvdXQoc3RydWN0IG1lbV9jaHVuayBjaHVua1tdKQoreworCXVuc2lnbmVkIGxvbmcgZmxhZ3MsIGNyMDsKKworCW1lbXNldChjaHVuaywgMCwgTUVNT1JZX0NIVU5LUyAqIHNpemVvZihzdHJ1Y3QgbWVtX2NodW5rKSk7CisJaWYgKG1lbW9yeV9mYXN0X2RldGVjdCgmY2h1bmtbMF0pID09IDApCisJCXJldHVybjsKKwkvKiBEaXNhYmxlIElSUXMsIERBVCBhbmQgbG93IGFkZHJlc3MgcHJvdGVjdGlvbiBzbyB0cHJvdCBkb2VzIHRoZQorCSAqIHJpZ2h0IHRoaW5nIGFuZCB3ZSBkb24ndCBnZXQgc2NoZWR1bGVkIGF3YXkgd2l0aCBsb3cgYWRkcmVzcworCSAqIHByb3RlY3Rpb24gZGlzYWJsZWQuCisJICovCisJZmxhZ3MgPSBfX3Jhd19sb2NhbF9pcnFfc3Ruc20oMHhmOCk7CisJX19jdGxfc3RvcmUoY3IwLCAwLCAwKTsKKwlfX2N0bF9jbGVhcl9iaXQoMCwgMjgpOworCWZpbmRfbWVtb3J5X2NodW5rcyhjaHVuayk7CisJX19jdGxfbG9hZChjcjAsIDAsIDApOworCV9fcmF3X2xvY2FsX2lycV9zc20oZmxhZ3MpOworfQorRVhQT1JUX1NZTUJPTChkZXRlY3RfbWVtb3J5X2xheW91dCk7CmRpZmYgLS1naXQgYS9hcmNoL3MzOTAva2VybmVsL3Byb2Nlc3MuYyBiL2FyY2gvczM5MC9rZXJuZWwvcHJvY2Vzcy5jCmluZGV4IDc5MjA4NjEuLjg1ZGVmZDAgMTAwNjQ0Ci0tLSBhL2FyY2gvczM5MC9rZXJuZWwvcHJvY2Vzcy5jCisrKyBiL2FyY2gvczM5MC9rZXJuZWwvcHJvY2Vzcy5jCkBAIC03NSw0NiArNzUsMTkgQEAKIAlyZXR1cm4gc2YtPmdwcnNbOF07CiB9CiAKLS8qCi0gKiBOZWVkIHRvIGtub3cgYWJvdXQgQ1BVcyBnb2luZyBpZGxlPwotICovCi1zdGF0aWMgQVRPTUlDX05PVElGSUVSX0hFQUQoaWRsZV9jaGFpbik7CiBERUZJTkVfUEVSX0NQVShzdHJ1Y3QgczM5MF9pZGxlX2RhdGEsIHMzOTBfaWRsZSk7CiAKLWludCByZWdpc3Rlcl9pZGxlX25vdGlmaWVyKHN0cnVjdCBub3RpZmllcl9ibG9jayAqbmIpCi17Ci0JcmV0dXJuIGF0b21pY19ub3RpZmllcl9jaGFpbl9yZWdpc3RlcigmaWRsZV9jaGFpbiwgbmIpOwotfQotRVhQT1JUX1NZTUJPTChyZWdpc3Rlcl9pZGxlX25vdGlmaWVyKTsKLQotaW50IHVucmVnaXN0ZXJfaWRsZV9ub3RpZmllcihzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKm5iKQotewotCXJldHVybiBhdG9taWNfbm90aWZpZXJfY2hhaW5fdW5yZWdpc3RlcigmaWRsZV9jaGFpbiwgbmIpOwotfQotRVhQT1JUX1NZTUJPTCh1bnJlZ2lzdGVyX2lkbGVfbm90aWZpZXIpOwotCiBzdGF0aWMgaW50IHMzOTBfaWRsZV9lbnRlcih2b2lkKQogewogCXN0cnVjdCBzMzkwX2lkbGVfZGF0YSAqaWRsZTsKLQlpbnQgbnJfY2FsbHMgPSAwOwotCXZvaWQgKmhjcHU7Ci0JaW50IHJjOwogCi0JaGNwdSA9ICh2b2lkICopKGxvbmcpc21wX3Byb2Nlc3Nvcl9pZCgpOwotCXJjID0gX19hdG9taWNfbm90aWZpZXJfY2FsbF9jaGFpbigmaWRsZV9jaGFpbiwgUzM5MF9DUFVfSURMRSwgaGNwdSwgLTEsCi0JCQkJCSAgJm5yX2NhbGxzKTsKLQlpZiAocmMgPT0gTk9USUZZX0JBRCkgewotCQlucl9jYWxscy0tOwotCQlfX2F0b21pY19ub3RpZmllcl9jYWxsX2NoYWluKCZpZGxlX2NoYWluLCBTMzkwX0NQVV9OT1RfSURMRSwKLQkJCQkJICAgICBoY3B1LCBucl9jYWxscywgTlVMTCk7Ci0JCXJldHVybiByYzsKLQl9CiAJaWRsZSA9ICZfX2dldF9jcHVfdmFyKHMzOTBfaWRsZSk7CiAJc3Bpbl9sb2NrKCZpZGxlLT5sb2NrKTsKIAlpZGxlLT5pZGxlX2NvdW50Kys7CiAJaWRsZS0+aW5faWRsZSA9IDE7CiAJaWRsZS0+aWRsZV9lbnRlciA9IGdldF9jbG9jaygpOwogCXNwaW5fdW5sb2NrKCZpZGxlLT5sb2NrKTsKKwl2dGltZV9zdG9wX2NwdV90aW1lcigpOwogCXJldHVybiBOT1RJRllfT0s7CiB9CiAKQEAgLTEyMiwxMyArOTUsMTIgQEAKIHsKIAlzdHJ1Y3QgczM5MF9pZGxlX2RhdGEgKmlkbGU7CiAKKwl2dGltZV9zdGFydF9jcHVfdGltZXIoKTsKIAlpZGxlID0gJl9fZ2V0X2NwdV92YXIoczM5MF9pZGxlKTsKIAlzcGluX2xvY2soJmlkbGUtPmxvY2spOwogCWlkbGUtPmlkbGVfdGltZSArPSBnZXRfY2xvY2soKSAtIGlkbGUtPmlkbGVfZW50ZXI7CiAJaWRsZS0+aW5faWRsZSA9IDA7CiAJc3Bpbl91bmxvY2soJmlkbGUtPmxvY2spOwotCWF0b21pY19ub3RpZmllcl9jYWxsX2NoYWluKCZpZGxlX2NoYWluLCBTMzkwX0NQVV9OT1RfSURMRSwKLQkJCQkgICAodm9pZCAqKShsb25nKSBzbXBfcHJvY2Vzc29yX2lkKCkpOwogfQogCiBleHRlcm4gdm9pZCBzMzkwX2hhbmRsZV9tY2NrKHZvaWQpOwpkaWZmIC0tZ2l0IGEvYXJjaC9zMzkwL2tlcm5lbC9wdHJhY2UuYyBiL2FyY2gvczM5MC9rZXJuZWwvcHRyYWNlLmMKaW5kZXggMzU4MjdiOS4uMjgxNWJmZSAxMDA2NDQKLS0tIGEvYXJjaC9zMzkwL2tlcm5lbC9wdHJhY2UuYworKysgYi9hcmNoL3MzOTAva2VybmVsL3B0cmFjZS5jCkBAIC0zMyw2ICszMyw4IEBACiAjaW5jbHVkZSA8bGludXgvc2VjdXJpdHkuaD4KICNpbmNsdWRlIDxsaW51eC9hdWRpdC5oPgogI2luY2x1ZGUgPGxpbnV4L3NpZ25hbC5oPgorI2luY2x1ZGUgPGxpbnV4L2VsZi5oPgorI2luY2x1ZGUgPGxpbnV4L3JlZ3NldC5oPgogCiAjaW5jbHVkZSA8YXNtL3NlZ21lbnQuaD4KICNpbmNsdWRlIDxhc20vcGFnZS5oPgpAQCAtNDcsNiArNDksMTEgQEAKICNpbmNsdWRlICJjb21wYXRfcHRyYWNlLmgiCiAjZW5kaWYKIAorZW51bSBzMzkwX3JlZ3NldCB7CisJUkVHU0VUX0dFTkVSQUwsCisJUkVHU0VUX0ZQLAorfTsKKwogc3RhdGljIHZvaWQKIEZpeFBlclJlZ2lzdGVycyhzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2spCiB7CkBAIC0xMjYsMjQgKzEzMywxMCBAQAogICogc3RydWN0IHVzZXIgY29udGFpbiBwYWQgYnl0ZXMgdGhhdCBzaG91bGQgYmUgcmVhZCBhcyB6ZXJvZXMuCiAgKiBMb3ZlbHkuLi4KICAqLwotc3RhdGljIGludAotcGVla191c2VyKHN0cnVjdCB0YXNrX3N0cnVjdCAqY2hpbGQsIGFkZHJfdCBhZGRyLCBhZGRyX3QgZGF0YSkKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9fcGVla191c2VyKHN0cnVjdCB0YXNrX3N0cnVjdCAqY2hpbGQsIGFkZHJfdCBhZGRyKQogewogCXN0cnVjdCB1c2VyICpkdW1teSA9IE5VTEw7Ci0JYWRkcl90IG9mZnNldCwgdG1wLCBtYXNrOwotCi0JLyoKLQkgKiBTdHVwaWQgZ2RiIHBlZWtzL3Bva2VzIHRoZSBhY2Nlc3MgcmVnaXN0ZXJzIGluIDY0IGJpdCB3aXRoCi0JICogYW4gYWxpZ25tZW50IG9mIDQuIFByb2dyYW1tZXJzIGZyb20gaGVsbC4uLgotCSAqLwotCW1hc2sgPSBfX0FERFJfTUFTSzsKLSNpZmRlZiBDT05GSUdfNjRCSVQKLQlpZiAoYWRkciA+PSAoYWRkcl90KSAmZHVtbXktPnJlZ3MuYWNycyAmJgotCSAgICBhZGRyIDwgKGFkZHJfdCkgJmR1bW15LT5yZWdzLm9yaWdfZ3ByMikKLQkJbWFzayA9IDM7Ci0jZW5kaWYKLQlpZiAoKGFkZHIgJiBtYXNrKSB8fCBhZGRyID4gc2l6ZW9mKHN0cnVjdCB1c2VyKSAtIF9fQUREUl9NQVNLKQotCQlyZXR1cm4gLUVJTzsKKwlhZGRyX3Qgb2Zmc2V0LCB0bXA7CiAKIAlpZiAoYWRkciA8IChhZGRyX3QpICZkdW1teS0+cmVncy5hY3JzKSB7CiAJCS8qCkBAIC0xOTcsMjQgKzE5MCwxOCBAQAogCX0gZWxzZQogCQl0bXAgPSAwOwogCi0JcmV0dXJuIHB1dF91c2VyKHRtcCwgKGFkZHJfdCBfX3VzZXIgKikgZGF0YSk7CisJcmV0dXJuIHRtcDsKIH0KIAotLyoKLSAqIFdyaXRlIGEgd29yZCB0byB0aGUgdXNlciBhcmVhIG9mIGEgcHJvY2VzcyBhdCBsb2NhdGlvbiBhZGRyLiBUaGlzCi0gKiBvcGVyYXRpb24gZG9lcyBoYXZlIGFuIGFkZGl0aW9uYWwgcHJvYmxlbSBjb21wYXJlZCB0byBwZWVrX3VzZXIuCi0gKiBTdG9yZXMgdG8gdGhlIHByb2dyYW0gc3RhdHVzIHdvcmQgYW5kIG9uIHRoZSBmbG9hdGluZyBwb2ludAotICogY29udHJvbCByZWdpc3RlciBuZWVkcyB0byBnZXQgY2hlY2tlZCBmb3IgdmFsaWRpdHkuCi0gKi8KIHN0YXRpYyBpbnQKLXBva2VfdXNlcihzdHJ1Y3QgdGFza19zdHJ1Y3QgKmNoaWxkLCBhZGRyX3QgYWRkciwgYWRkcl90IGRhdGEpCitwZWVrX3VzZXIoc3RydWN0IHRhc2tfc3RydWN0ICpjaGlsZCwgYWRkcl90IGFkZHIsIGFkZHJfdCBkYXRhKQogewogCXN0cnVjdCB1c2VyICpkdW1teSA9IE5VTEw7Ci0JYWRkcl90IG9mZnNldCwgbWFzazsKKwlhZGRyX3QgdG1wLCBtYXNrOwogCiAJLyoKIAkgKiBTdHVwaWQgZ2RiIHBlZWtzL3Bva2VzIHRoZSBhY2Nlc3MgcmVnaXN0ZXJzIGluIDY0IGJpdCB3aXRoCi0JICogYW4gYWxpZ25tZW50IG9mIDQuIFByb2dyYW1tZXJzIGZyb20gaGVsbCBpbmRlZWQuLi4KKwkgKiBhbiBhbGlnbm1lbnQgb2YgNC4gUHJvZ3JhbW1lcnMgZnJvbSBoZWxsLi4uCiAJICovCiAJbWFzayA9IF9fQUREUl9NQVNLOwogI2lmZGVmIENPTkZJR182NEJJVApAQCAtMjI1LDYgKzIxMiwyMSBAQAogCWlmICgoYWRkciAmIG1hc2spIHx8IGFkZHIgPiBzaXplb2Yoc3RydWN0IHVzZXIpIC0gX19BRERSX01BU0spCiAJCXJldHVybiAtRUlPOwogCisJdG1wID0gX19wZWVrX3VzZXIoY2hpbGQsIGFkZHIpOworCXJldHVybiBwdXRfdXNlcih0bXAsIChhZGRyX3QgX191c2VyICopIGRhdGEpOworfQorCisvKgorICogV3JpdGUgYSB3b3JkIHRvIHRoZSB1c2VyIGFyZWEgb2YgYSBwcm9jZXNzIGF0IGxvY2F0aW9uIGFkZHIuIFRoaXMKKyAqIG9wZXJhdGlvbiBkb2VzIGhhdmUgYW4gYWRkaXRpb25hbCBwcm9ibGVtIGNvbXBhcmVkIHRvIHBlZWtfdXNlci4KKyAqIFN0b3JlcyB0byB0aGUgcHJvZ3JhbSBzdGF0dXMgd29yZCBhbmQgb24gdGhlIGZsb2F0aW5nIHBvaW50CisgKiBjb250cm9sIHJlZ2lzdGVyIG5lZWRzIHRvIGdldCBjaGVja2VkIGZvciB2YWxpZGl0eS4KKyAqLworc3RhdGljIGludCBfX3Bva2VfdXNlcihzdHJ1Y3QgdGFza19zdHJ1Y3QgKmNoaWxkLCBhZGRyX3QgYWRkciwgYWRkcl90IGRhdGEpCit7CisJc3RydWN0IHVzZXIgKmR1bW15ID0gTlVMTDsKKwlhZGRyX3Qgb2Zmc2V0OworCiAJaWYgKGFkZHIgPCAoYWRkcl90KSAmZHVtbXktPnJlZ3MuYWNycykgewogCQkvKgogCQkgKiBwc3cgYW5kIGdwcnMgYXJlIHN0b3JlZCBvbiB0aGUgc3RhY2sKQEAgLTI5Miw2ICsyOTQsMjggQEAKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIGludAorcG9rZV91c2VyKHN0cnVjdCB0YXNrX3N0cnVjdCAqY2hpbGQsIGFkZHJfdCBhZGRyLCBhZGRyX3QgZGF0YSkKK3sKKwlzdHJ1Y3QgdXNlciAqZHVtbXkgPSBOVUxMOworCWFkZHJfdCBtYXNrOworCisJLyoKKwkgKiBTdHVwaWQgZ2RiIHBlZWtzL3Bva2VzIHRoZSBhY2Nlc3MgcmVnaXN0ZXJzIGluIDY0IGJpdCB3aXRoCisJICogYW4gYWxpZ25tZW50IG9mIDQuIFByb2dyYW1tZXJzIGZyb20gaGVsbCBpbmRlZWQuLi4KKwkgKi8KKwltYXNrID0gX19BRERSX01BU0s7CisjaWZkZWYgQ09ORklHXzY0QklUCisJaWYgKGFkZHIgPj0gKGFkZHJfdCkgJmR1bW15LT5yZWdzLmFjcnMgJiYKKwkgICAgYWRkciA8IChhZGRyX3QpICZkdW1teS0+cmVncy5vcmlnX2dwcjIpCisJCW1hc2sgPSAzOworI2VuZGlmCisJaWYgKChhZGRyICYgbWFzaykgfHwgYWRkciA+IHNpemVvZihzdHJ1Y3QgdXNlcikgLSBfX0FERFJfTUFTSykKKwkJcmV0dXJuIC1FSU87CisKKwlyZXR1cm4gX19wb2tlX3VzZXIoY2hpbGQsIGFkZHIsIGRhdGEpOworfQorCiBsb25nIGFyY2hfcHRyYWNlKHN0cnVjdCB0YXNrX3N0cnVjdCAqY2hpbGQsIGxvbmcgcmVxdWVzdCwgbG9uZyBhZGRyLCBsb25nIGRhdGEpCiB7CiAJcHRyYWNlX2FyZWEgcGFyZWE7IApAQCAtMzY3LDE4ICszOTEsMTMgQEAKIC8qCiAgKiBTYW1lIGFzIHBlZWtfdXNlciBidXQgZm9yIGEgMzEgYml0IHByb2dyYW0uCiAgKi8KLXN0YXRpYyBpbnQKLXBlZWtfdXNlcl9lbXUzMShzdHJ1Y3QgdGFza19zdHJ1Y3QgKmNoaWxkLCBhZGRyX3QgYWRkciwgYWRkcl90IGRhdGEpCitzdGF0aWMgdTMyIF9fcGVla191c2VyX2NvbXBhdChzdHJ1Y3QgdGFza19zdHJ1Y3QgKmNoaWxkLCBhZGRyX3QgYWRkcikKIHsKIAlzdHJ1Y3QgdXNlcjMyICpkdW1teTMyID0gTlVMTDsKIAlwZXJfc3RydWN0MzIgKmR1bW15X3BlcjMyID0gTlVMTDsKIAlhZGRyX3Qgb2Zmc2V0OwogCV9fdTMyIHRtcDsKIAotCWlmICghdGVzdF90aHJlYWRfZmxhZyhUSUZfMzFCSVQpIHx8Ci0JICAgIChhZGRyICYgMykgfHwgYWRkciA+IHNpemVvZihzdHJ1Y3QgdXNlcikgLSAzKQotCQlyZXR1cm4gLUVJTzsKLQogCWlmIChhZGRyIDwgKGFkZHJfdCkgJmR1bW15MzItPnJlZ3MuYWNycykgewogCQkvKgogCQkgKiBwc3cgYW5kIGdwcnMgYXJlIHN0b3JlZCBvbiB0aGUgc3RhY2sKQEAgLTQzNSwyNSArNDU0LDMyIEBACiAJfSBlbHNlCiAJCXRtcCA9IDA7CiAKKwlyZXR1cm4gdG1wOworfQorCitzdGF0aWMgaW50IHBlZWtfdXNlcl9jb21wYXQoc3RydWN0IHRhc2tfc3RydWN0ICpjaGlsZCwKKwkJCSAgICBhZGRyX3QgYWRkciwgYWRkcl90IGRhdGEpCit7CisJX191MzIgdG1wOworCisJaWYgKCF0ZXN0X3RocmVhZF9mbGFnKFRJRl8zMUJJVCkgfHwKKwkgICAgKGFkZHIgJiAzKSB8fCBhZGRyID4gc2l6ZW9mKHN0cnVjdCB1c2VyKSAtIDMpCisJCXJldHVybiAtRUlPOworCisJdG1wID0gX19wZWVrX3VzZXJfY29tcGF0KGNoaWxkLCBhZGRyKTsKIAlyZXR1cm4gcHV0X3VzZXIodG1wLCAoX191MzIgX191c2VyICopIGRhdGEpOwogfQogCiAvKgogICogU2FtZSBhcyBwb2tlX3VzZXIgYnV0IGZvciBhIDMxIGJpdCBwcm9ncmFtLgogICovCi1zdGF0aWMgaW50Ci1wb2tlX3VzZXJfZW11MzEoc3RydWN0IHRhc2tfc3RydWN0ICpjaGlsZCwgYWRkcl90IGFkZHIsIGFkZHJfdCBkYXRhKQorc3RhdGljIGludCBfX3Bva2VfdXNlcl9jb21wYXQoc3RydWN0IHRhc2tfc3RydWN0ICpjaGlsZCwKKwkJCSAgICAgIGFkZHJfdCBhZGRyLCBhZGRyX3QgZGF0YSkKIHsKIAlzdHJ1Y3QgdXNlcjMyICpkdW1teTMyID0gTlVMTDsKIAlwZXJfc3RydWN0MzIgKmR1bW15X3BlcjMyID0gTlVMTDsKKwlfX3UzMiB0bXAgPSAoX191MzIpIGRhdGE7CiAJYWRkcl90IG9mZnNldDsKLQlfX3UzMiB0bXA7Ci0KLQlpZiAoIXRlc3RfdGhyZWFkX2ZsYWcoVElGXzMxQklUKSB8fAotCSAgICAoYWRkciAmIDMpIHx8IGFkZHIgPiBzaXplb2Yoc3RydWN0IHVzZXIzMikgLSAzKQotCQlyZXR1cm4gLUVJTzsKLQotCXRtcCA9IChfX3UzMikgZGF0YTsKIAogCWlmIChhZGRyIDwgKGFkZHJfdCkgJmR1bW15MzItPnJlZ3MuYWNycykgewogCQkvKgpAQCAtNTI4LDYgKzU1NCwxNiBAQAogCXJldHVybiAwOwogfQogCitzdGF0aWMgaW50IHBva2VfdXNlcl9jb21wYXQoc3RydWN0IHRhc2tfc3RydWN0ICpjaGlsZCwKKwkJCSAgICBhZGRyX3QgYWRkciwgYWRkcl90IGRhdGEpCit7CisJaWYgKCF0ZXN0X3RocmVhZF9mbGFnKFRJRl8zMUJJVCkgfHwKKwkgICAgKGFkZHIgJiAzKSB8fCBhZGRyID4gc2l6ZW9mKHN0cnVjdCB1c2VyMzIpIC0gMykKKwkJcmV0dXJuIC1FSU87CisKKwlyZXR1cm4gX19wb2tlX3VzZXJfY29tcGF0KGNoaWxkLCBhZGRyLCBkYXRhKTsKK30KKwogbG9uZyBjb21wYXRfYXJjaF9wdHJhY2Uoc3RydWN0IHRhc2tfc3RydWN0ICpjaGlsZCwgY29tcGF0X2xvbmdfdCByZXF1ZXN0LAogCQkJY29tcGF0X3Vsb25nX3QgY2FkZHIsIGNvbXBhdF91bG9uZ190IGNkYXRhKQogewpAQCAtNTM5LDExICs1NzUsMTEgQEAKIAlzd2l0Y2ggKHJlcXVlc3QpIHsKIAljYXNlIFBUUkFDRV9QRUVLVVNSOgogCQkvKiByZWFkIHRoZSB3b3JkIGF0IGxvY2F0aW9uIGFkZHIgaW4gdGhlIFVTRVIgYXJlYS4gKi8KLQkJcmV0dXJuIHBlZWtfdXNlcl9lbXUzMShjaGlsZCwgYWRkciwgZGF0YSk7CisJCXJldHVybiBwZWVrX3VzZXJfY29tcGF0KGNoaWxkLCBhZGRyLCBkYXRhKTsKIAogCWNhc2UgUFRSQUNFX1BPS0VVU1I6CiAJCS8qIHdyaXRlIHRoZSB3b3JkIGF0IGxvY2F0aW9uIGFkZHIgaW4gdGhlIFVTRVIgYXJlYSAqLwotCQlyZXR1cm4gcG9rZV91c2VyX2VtdTMxKGNoaWxkLCBhZGRyLCBkYXRhKTsKKwkJcmV0dXJuIHBva2VfdXNlcl9jb21wYXQoY2hpbGQsIGFkZHIsIGRhdGEpOwogCiAJY2FzZSBQVFJBQ0VfUEVFS1VTUl9BUkVBOgogCWNhc2UgUFRSQUNFX1BPS0VVU1JfQVJFQToKQEAgLTU1NSwxMyArNTkxLDEzIEBACiAJCWNvcGllZCA9IDA7CiAJCXdoaWxlIChjb3BpZWQgPCBwYXJlYS5sZW4pIHsKIAkJCWlmIChyZXF1ZXN0ID09IFBUUkFDRV9QRUVLVVNSX0FSRUEpCi0JCQkJcmV0ID0gcGVla191c2VyX2VtdTMxKGNoaWxkLCBhZGRyLCBkYXRhKTsKKwkJCQlyZXQgPSBwZWVrX3VzZXJfY29tcGF0KGNoaWxkLCBhZGRyLCBkYXRhKTsKIAkJCWVsc2UgewogCQkJCV9fdTMyIHV0bXA7CiAJCQkJaWYgKGdldF91c2VyKHV0bXAsCiAJCQkJCSAgICAgKF9fdTMyIF9fZm9yY2UgX191c2VyICopIGRhdGEpKQogCQkJCQlyZXR1cm4gLUVGQVVMVDsKLQkJCQlyZXQgPSBwb2tlX3VzZXJfZW11MzEoY2hpbGQsIGFkZHIsIHV0bXApOworCQkJCXJldCA9IHBva2VfdXNlcl9jb21wYXQoY2hpbGQsIGFkZHIsIHV0bXApOwogCQkJfQogCQkJaWYgKHJldCkKIAkJCQlyZXR1cm4gcmV0OwpAQCAtNjEwLDMgKzY0NiwyNDAgQEAKIAkJCQkgICAgcmVncy0+Z3Byc1syXSwgcmVncy0+b3JpZ19ncHIyLCByZWdzLT5ncHJzWzNdLAogCQkJCSAgICByZWdzLT5ncHJzWzRdLCByZWdzLT5ncHJzWzVdKTsKIH0KKworLyoKKyAqIHVzZXJfcmVnc2V0IGRlZmluaXRpb25zLgorICovCisKK3N0YXRpYyBpbnQgczM5MF9yZWdzX2dldChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhcmdldCwKKwkJCSBjb25zdCBzdHJ1Y3QgdXNlcl9yZWdzZXQgKnJlZ3NldCwKKwkJCSB1bnNpZ25lZCBpbnQgcG9zLCB1bnNpZ25lZCBpbnQgY291bnQsCisJCQkgdm9pZCAqa2J1Ziwgdm9pZCBfX3VzZXIgKnVidWYpCit7CisJaWYgKHRhcmdldCA9PSBjdXJyZW50KQorCQlzYXZlX2FjY2Vzc19yZWdzKHRhcmdldC0+dGhyZWFkLmFjcnMpOworCisJaWYgKGtidWYpIHsKKwkJdW5zaWduZWQgbG9uZyAqayA9IGtidWY7CisJCXdoaWxlIChjb3VudCA+IDApIHsKKwkJCSprKysgPSBfX3BlZWtfdXNlcih0YXJnZXQsIHBvcyk7CisJCQljb3VudCAtPSBzaXplb2YoKmspOworCQkJcG9zICs9IHNpemVvZigqayk7CisJCX0KKwl9IGVsc2UgeworCQl1bnNpZ25lZCBsb25nIF9fdXNlciAqdSA9IHVidWY7CisJCXdoaWxlIChjb3VudCA+IDApIHsKKwkJCWlmIChfX3B1dF91c2VyKF9fcGVla191c2VyKHRhcmdldCwgcG9zKSwgdSsrKSkKKwkJCQlyZXR1cm4gLUVGQVVMVDsKKwkJCWNvdW50IC09IHNpemVvZigqdSk7CisJCQlwb3MgKz0gc2l6ZW9mKCp1KTsKKwkJfQorCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBzMzkwX3JlZ3Nfc2V0KHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFyZ2V0LAorCQkJIGNvbnN0IHN0cnVjdCB1c2VyX3JlZ3NldCAqcmVnc2V0LAorCQkJIHVuc2lnbmVkIGludCBwb3MsIHVuc2lnbmVkIGludCBjb3VudCwKKwkJCSBjb25zdCB2b2lkICprYnVmLCBjb25zdCB2b2lkIF9fdXNlciAqdWJ1ZikKK3sKKwlpbnQgcmMgPSAwOworCisJaWYgKHRhcmdldCA9PSBjdXJyZW50KQorCQlzYXZlX2FjY2Vzc19yZWdzKHRhcmdldC0+dGhyZWFkLmFjcnMpOworCisJaWYgKGtidWYpIHsKKwkJY29uc3QgdW5zaWduZWQgbG9uZyAqayA9IGtidWY7CisJCXdoaWxlIChjb3VudCA+IDAgJiYgIXJjKSB7CisJCQlyYyA9IF9fcG9rZV91c2VyKHRhcmdldCwgcG9zLCAqaysrKTsKKwkJCWNvdW50IC09IHNpemVvZigqayk7CisJCQlwb3MgKz0gc2l6ZW9mKCprKTsKKwkJfQorCX0gZWxzZSB7CisJCWNvbnN0IHVuc2lnbmVkIGxvbmcgIF9fdXNlciAqdSA9IHVidWY7CisJCXdoaWxlIChjb3VudCA+IDAgJiYgIXJjKSB7CisJCQl1bnNpZ25lZCBsb25nIHdvcmQ7CisJCQlyYyA9IF9fZ2V0X3VzZXIod29yZCwgdSsrKTsKKwkJCWlmIChyYykKKwkJCQlicmVhazsKKwkJCXJjID0gX19wb2tlX3VzZXIodGFyZ2V0LCBwb3MsIHdvcmQpOworCQkJY291bnQgLT0gc2l6ZW9mKCp1KTsKKwkJCXBvcyArPSBzaXplb2YoKnUpOworCQl9CisJfQorCisJaWYgKHJjID09IDAgJiYgdGFyZ2V0ID09IGN1cnJlbnQpCisJCXJlc3RvcmVfYWNjZXNzX3JlZ3ModGFyZ2V0LT50aHJlYWQuYWNycyk7CisKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgczM5MF9mcHJlZ3NfZ2V0KHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFyZ2V0LAorCQkJICAgY29uc3Qgc3RydWN0IHVzZXJfcmVnc2V0ICpyZWdzZXQsIHVuc2lnbmVkIGludCBwb3MsCisJCQkgICB1bnNpZ25lZCBpbnQgY291bnQsIHZvaWQgKmtidWYsIHZvaWQgX191c2VyICp1YnVmKQoreworCWlmICh0YXJnZXQgPT0gY3VycmVudCkKKwkJc2F2ZV9mcF9yZWdzKCZ0YXJnZXQtPnRocmVhZC5mcF9yZWdzKTsKKworCXJldHVybiB1c2VyX3JlZ3NldF9jb3B5b3V0KCZwb3MsICZjb3VudCwgJmtidWYsICZ1YnVmLAorCQkJCSAgICZ0YXJnZXQtPnRocmVhZC5mcF9yZWdzLCAwLCAtMSk7Cit9CisKK3N0YXRpYyBpbnQgczM5MF9mcHJlZ3Nfc2V0KHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFyZ2V0LAorCQkJICAgY29uc3Qgc3RydWN0IHVzZXJfcmVnc2V0ICpyZWdzZXQsIHVuc2lnbmVkIGludCBwb3MsCisJCQkgICB1bnNpZ25lZCBpbnQgY291bnQsIGNvbnN0IHZvaWQgKmtidWYsCisJCQkgICBjb25zdCB2b2lkIF9fdXNlciAqdWJ1ZikKK3sKKwlpbnQgcmMgPSAwOworCisJaWYgKHRhcmdldCA9PSBjdXJyZW50KQorCQlzYXZlX2ZwX3JlZ3MoJnRhcmdldC0+dGhyZWFkLmZwX3JlZ3MpOworCisJLyogSWYgc2V0dGluZyBGUEMsIG11c3QgdmFsaWRhdGUgaXQgZmlyc3QuICovCisJaWYgKGNvdW50ID4gMCAmJiBwb3MgPCBvZmZzZXRvZihzMzkwX2ZwX3JlZ3MsIGZwcnMpKSB7CisJCXUzMiBmcGNbMl0gPSB7IHRhcmdldC0+dGhyZWFkLmZwX3JlZ3MuZnBjLCAwIH07CisJCXJjID0gdXNlcl9yZWdzZXRfY29weWluKCZwb3MsICZjb3VudCwgJmtidWYsICZ1YnVmLCAmZnBjLAorCQkJCQkwLCBvZmZzZXRvZihzMzkwX2ZwX3JlZ3MsIGZwcnMpKTsKKwkJaWYgKHJjKQorCQkJcmV0dXJuIHJjOworCQlpZiAoKGZwY1swXSAmIH5GUENfVkFMSURfTUFTSykgIT0gMCB8fCBmcGNbMV0gIT0gMCkKKwkJCXJldHVybiAtRUlOVkFMOworCQl0YXJnZXQtPnRocmVhZC5mcF9yZWdzLmZwYyA9IGZwY1swXTsKKwl9CisKKwlpZiAocmMgPT0gMCAmJiBjb3VudCA+IDApCisJCXJjID0gdXNlcl9yZWdzZXRfY29weWluKCZwb3MsICZjb3VudCwgJmtidWYsICZ1YnVmLAorCQkJCQl0YXJnZXQtPnRocmVhZC5mcF9yZWdzLmZwcnMsCisJCQkJCW9mZnNldG9mKHMzOTBfZnBfcmVncywgZnBycyksIC0xKTsKKworCWlmIChyYyA9PSAwICYmIHRhcmdldCA9PSBjdXJyZW50KQorCQlyZXN0b3JlX2ZwX3JlZ3MoJnRhcmdldC0+dGhyZWFkLmZwX3JlZ3MpOworCisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgY29uc3Qgc3RydWN0IHVzZXJfcmVnc2V0IHMzOTBfcmVnc2V0c1tdID0geworCVtSRUdTRVRfR0VORVJBTF0gPSB7CisJCS5jb3JlX25vdGVfdHlwZSA9IE5UX1BSU1RBVFVTLAorCQkubiA9IHNpemVvZihzMzkwX3JlZ3MpIC8gc2l6ZW9mKGxvbmcpLAorCQkuc2l6ZSA9IHNpemVvZihsb25nKSwKKwkJLmFsaWduID0gc2l6ZW9mKGxvbmcpLAorCQkuZ2V0ID0gczM5MF9yZWdzX2dldCwKKwkJLnNldCA9IHMzOTBfcmVnc19zZXQsCisJfSwKKwlbUkVHU0VUX0ZQXSA9IHsKKwkJLmNvcmVfbm90ZV90eXBlID0gTlRfUFJGUFJFRywKKwkJLm4gPSBzaXplb2YoczM5MF9mcF9yZWdzKSAvIHNpemVvZihsb25nKSwKKwkJLnNpemUgPSBzaXplb2YobG9uZyksCisJCS5hbGlnbiA9IHNpemVvZihsb25nKSwKKwkJLmdldCA9IHMzOTBfZnByZWdzX2dldCwKKwkJLnNldCA9IHMzOTBfZnByZWdzX3NldCwKKwl9LAorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCB1c2VyX3JlZ3NldF92aWV3IHVzZXJfczM5MF92aWV3ID0geworCS5uYW1lID0gVVRTX01BQ0hJTkUsCisJLmVfbWFjaGluZSA9IEVNX1MzOTAsCisJLnJlZ3NldHMgPSBzMzkwX3JlZ3NldHMsCisJLm4gPSBBUlJBWV9TSVpFKHMzOTBfcmVnc2V0cykKK307CisKKyNpZmRlZiBDT05GSUdfQ09NUEFUCitzdGF0aWMgaW50IHMzOTBfY29tcGF0X3JlZ3NfZ2V0KHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFyZ2V0LAorCQkJCWNvbnN0IHN0cnVjdCB1c2VyX3JlZ3NldCAqcmVnc2V0LAorCQkJCXVuc2lnbmVkIGludCBwb3MsIHVuc2lnbmVkIGludCBjb3VudCwKKwkJCQl2b2lkICprYnVmLCB2b2lkIF9fdXNlciAqdWJ1ZikKK3sKKwlpZiAodGFyZ2V0ID09IGN1cnJlbnQpCisJCXNhdmVfYWNjZXNzX3JlZ3ModGFyZ2V0LT50aHJlYWQuYWNycyk7CisKKwlpZiAoa2J1ZikgeworCQljb21wYXRfdWxvbmdfdCAqayA9IGtidWY7CisJCXdoaWxlIChjb3VudCA+IDApIHsKKwkJCSprKysgPSBfX3BlZWtfdXNlcl9jb21wYXQodGFyZ2V0LCBwb3MpOworCQkJY291bnQgLT0gc2l6ZW9mKCprKTsKKwkJCXBvcyArPSBzaXplb2YoKmspOworCQl9CisJfSBlbHNlIHsKKwkJY29tcGF0X3Vsb25nX3QgX191c2VyICp1ID0gdWJ1ZjsKKwkJd2hpbGUgKGNvdW50ID4gMCkgeworCQkJaWYgKF9fcHV0X3VzZXIoX19wZWVrX3VzZXJfY29tcGF0KHRhcmdldCwgcG9zKSwgdSsrKSkKKwkJCQlyZXR1cm4gLUVGQVVMVDsKKwkJCWNvdW50IC09IHNpemVvZigqdSk7CisJCQlwb3MgKz0gc2l6ZW9mKCp1KTsKKwkJfQorCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBzMzkwX2NvbXBhdF9yZWdzX3NldChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhcmdldCwKKwkJCQljb25zdCBzdHJ1Y3QgdXNlcl9yZWdzZXQgKnJlZ3NldCwKKwkJCQl1bnNpZ25lZCBpbnQgcG9zLCB1bnNpZ25lZCBpbnQgY291bnQsCisJCQkJY29uc3Qgdm9pZCAqa2J1ZiwgY29uc3Qgdm9pZCBfX3VzZXIgKnVidWYpCit7CisJaW50IHJjID0gMDsKKworCWlmICh0YXJnZXQgPT0gY3VycmVudCkKKwkJc2F2ZV9hY2Nlc3NfcmVncyh0YXJnZXQtPnRocmVhZC5hY3JzKTsKKworCWlmIChrYnVmKSB7CisJCWNvbnN0IGNvbXBhdF91bG9uZ190ICprID0ga2J1ZjsKKwkJd2hpbGUgKGNvdW50ID4gMCAmJiAhcmMpIHsKKwkJCXJjID0gX19wb2tlX3VzZXJfY29tcGF0KHRhcmdldCwgcG9zLCAqaysrKTsKKwkJCWNvdW50IC09IHNpemVvZigqayk7CisJCQlwb3MgKz0gc2l6ZW9mKCprKTsKKwkJfQorCX0gZWxzZSB7CisJCWNvbnN0IGNvbXBhdF91bG9uZ190ICBfX3VzZXIgKnUgPSB1YnVmOworCQl3aGlsZSAoY291bnQgPiAwICYmICFyYykgeworCQkJY29tcGF0X3Vsb25nX3Qgd29yZDsKKwkJCXJjID0gX19nZXRfdXNlcih3b3JkLCB1KyspOworCQkJaWYgKHJjKQorCQkJCWJyZWFrOworCQkJcmMgPSBfX3Bva2VfdXNlcl9jb21wYXQodGFyZ2V0LCBwb3MsIHdvcmQpOworCQkJY291bnQgLT0gc2l6ZW9mKCp1KTsKKwkJCXBvcyArPSBzaXplb2YoKnUpOworCQl9CisJfQorCisJaWYgKHJjID09IDAgJiYgdGFyZ2V0ID09IGN1cnJlbnQpCisJCXJlc3RvcmVfYWNjZXNzX3JlZ3ModGFyZ2V0LT50aHJlYWQuYWNycyk7CisKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgdXNlcl9yZWdzZXQgczM5MF9jb21wYXRfcmVnc2V0c1tdID0geworCVtSRUdTRVRfR0VORVJBTF0gPSB7CisJCS5jb3JlX25vdGVfdHlwZSA9IE5UX1BSU1RBVFVTLAorCQkubiA9IHNpemVvZihzMzkwX2NvbXBhdF9yZWdzKSAvIHNpemVvZihjb21wYXRfbG9uZ190KSwKKwkJLnNpemUgPSBzaXplb2YoY29tcGF0X2xvbmdfdCksCisJCS5hbGlnbiA9IHNpemVvZihjb21wYXRfbG9uZ190KSwKKwkJLmdldCA9IHMzOTBfY29tcGF0X3JlZ3NfZ2V0LAorCQkuc2V0ID0gczM5MF9jb21wYXRfcmVnc19zZXQsCisJfSwKKwlbUkVHU0VUX0ZQXSA9IHsKKwkJLmNvcmVfbm90ZV90eXBlID0gTlRfUFJGUFJFRywKKwkJLm4gPSBzaXplb2YoczM5MF9mcF9yZWdzKSAvIHNpemVvZihjb21wYXRfbG9uZ190KSwKKwkJLnNpemUgPSBzaXplb2YoY29tcGF0X2xvbmdfdCksCisJCS5hbGlnbiA9IHNpemVvZihjb21wYXRfbG9uZ190KSwKKwkJLmdldCA9IHMzOTBfZnByZWdzX2dldCwKKwkJLnNldCA9IHMzOTBfZnByZWdzX3NldCwKKwl9LAorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCB1c2VyX3JlZ3NldF92aWV3IHVzZXJfczM5MF9jb21wYXRfdmlldyA9IHsKKwkubmFtZSA9ICJzMzkwIiwKKwkuZV9tYWNoaW5lID0gRU1fUzM5MCwKKwkucmVnc2V0cyA9IHMzOTBfY29tcGF0X3JlZ3NldHMsCisJLm4gPSBBUlJBWV9TSVpFKHMzOTBfY29tcGF0X3JlZ3NldHMpCit9OworI2VuZGlmCisKK2NvbnN0IHN0cnVjdCB1c2VyX3JlZ3NldF92aWV3ICp0YXNrX3VzZXJfcmVnc2V0X3ZpZXcoc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrKQoreworI2lmZGVmIENPTkZJR19DT01QQVQKKwlpZiAodGVzdF90c2tfdGhyZWFkX2ZsYWcodGFzaywgVElGXzMxQklUKSkKKwkJcmV0dXJuICZ1c2VyX3MzOTBfY29tcGF0X3ZpZXc7CisjZW5kaWYKKwlyZXR1cm4gJnVzZXJfczM5MF92aWV3OworfQpkaWZmIC0tZ2l0IGEvYXJjaC9zMzkwL2tlcm5lbC9zZXR1cC5jIGIvYXJjaC9zMzkwL2tlcm5lbC9zZXR1cC5jCmluZGV4IDJiYzcwYjYuLmIzNThlMTggMTAwNjQ0Ci0tLSBhL2FyY2gvczM5MC9rZXJuZWwvc2V0dXAuYworKysgYi9hcmNoL3MzOTAva2VybmVsL3NldHVwLmMKQEAgLTc3LDcgKzc3LDcgQEAKIHVuc2lnbmVkIGxvbmcgZWxmX2h3Y2FwID0gMDsKIGNoYXIgZWxmX3BsYXRmb3JtW0VMRl9QTEFURk9STV9TSVpFXTsKIAotc3RydWN0IG1lbV9jaHVuayBfX21lbWluaXRkYXRhIG1lbW9yeV9jaHVua1tNRU1PUllfQ0hVTktTXTsKK3N0cnVjdCBtZW1fY2h1bmsgX19pbml0ZGF0YSBtZW1vcnlfY2h1bmtbTUVNT1JZX0NIVU5LU107CiB2b2xhdGlsZSBpbnQgX19jcHVfbG9naWNhbF9tYXBbTlJfQ1BVU107IC8qIGxvZ2ljYWwgY3B1IHRvIGNwdSBhZGRyZXNzICovCiBzdGF0aWMgdW5zaWduZWQgbG9uZyBfX2luaXRkYXRhIG1lbW9yeV9lbmQ7CiAKQEAgLTIwNSwxMiArMjA1LDYgQEAKIAkJCVNFVF9DT05TT0xFX1NDTFA7CiAjZW5kaWYKIAkJfQotICAgICAgICB9IGVsc2UgaWYgKE1BQ0hJTkVfSVNfUDM5MCkgewotI2lmIGRlZmluZWQoQ09ORklHX1ROMzIxNV9DT05TT0xFKQotCQlTRVRfQ09OU09MRV8zMjE1OwotI2VsaWYgZGVmaW5lZChDT05GSUdfVE4zMjcwX0NPTlNPTEUpCi0JCVNFVF9DT05TT0xFXzMyNzA7Ci0jZW5kaWYKIAl9IGVsc2UgewogI2lmIGRlZmluZWQoQ09ORklHX1NDTFBfQ09OU09MRSkgfHwgZGVmaW5lZChDT05GSUdfU0NMUF9WVDIyMF9DT05TT0xFKQogCQlTRVRfQ09OU09MRV9TQ0xQOwpAQCAtMjIxLDE4ICsyMTUsMTcgQEAKICNpZiBkZWZpbmVkKENPTkZJR19aRkNQRFVNUCkgfHwgZGVmaW5lZChDT05GSUdfWkZDUERVTVBfTU9EVUxFKQogc3RhdGljIHZvaWQgX19pbml0IHNldHVwX3pmY3BkdW1wKHVuc2lnbmVkIGludCBjb25zb2xlX2Rldm5vKQogewotCXN0YXRpYyBjaGFyIHN0cls2NF07CisJc3RhdGljIGNoYXIgc3RyWzQxXTsKIAogCWlmIChpcGxfaW5mby50eXBlICE9IElQTF9UWVBFX0ZDUF9EVU1QKQogCQlyZXR1cm47CiAJaWYgKGNvbnNvbGVfZGV2bm8gIT0gLTEpCi0JCXNwcmludGYoc3RyLCAiY2lvX2lnbm9yZT1hbGwsITAuMC4lMDR4LCEwLjAuJTA0eCIsCisJCXNwcmludGYoc3RyLCAiIGNpb19pZ25vcmU9YWxsLCEwLjAuJTA0eCwhMC4wLiUwNHgiLAogCQkJaXBsX2luZm8uZGF0YS5mY3AuZGV2X2lkLmRldm5vLCBjb25zb2xlX2Rldm5vKTsKIAllbHNlCi0JCXNwcmludGYoc3RyLCAiY2lvX2lnbm9yZT1hbGwsITAuMC4lMDR4IiwKKwkJc3ByaW50ZihzdHIsICIgY2lvX2lnbm9yZT1hbGwsITAuMC4lMDR4IiwKIAkJCWlwbF9pbmZvLmRhdGEuZmNwLmRldl9pZC5kZXZubyk7Ci0Jc3RyY2F0KENPTU1BTkRfTElORSwgIiAiKTsKLQlzdHJjYXQoQ09NTUFORF9MSU5FLCBzdHIpOworCXN0cmNhdChib290X2NvbW1hbmRfbGluZSwgc3RyKTsKIAljb25zb2xlX2xvZ2xldmVsID0gMjsKIH0KICNlbHNlCkBAIC0yODksMzIgKzI4Miw2IEBACiB9CiBlYXJseV9wYXJhbSgibWVtIiwgZWFybHlfcGFyc2VfbWVtKTsKIAotLyoKLSAqICJpcGxkZWxheT1YWFhbc21dIiBzZXRzIGlwbCBkZWxheSBpbiBzZWNvbmRzIG9yIG1pbnV0ZXMKLSAqLwotc3RhdGljIGludCBfX2luaXQgZWFybHlfcGFyc2VfaXBsZGVsYXkoY2hhciAqcCkKLXsKLQl1bnNpZ25lZCBsb25nIGRlbGF5ID0gMDsKLQotCWRlbGF5ID0gc2ltcGxlX3N0cnRvdWwocCwgJnAsIDApOwotCi0Jc3dpdGNoICgqcCkgewotCWNhc2UgJ3MnOgotCWNhc2UgJ1MnOgotCQlkZWxheSAqPSAxMDAwMDAwOwotCQlicmVhazsKLQljYXNlICdtJzoKLQljYXNlICdNJzoKLQkJZGVsYXkgKj0gNjAgKiAxMDAwMDAwOwotCX0KLQotCS8qIG5vdyB3YWl0IGZvciB0aGUgcmVxdWVzdGVkIGFtb3VudCBvZiB0aW1lICovCi0JdWRlbGF5KGRlbGF5KTsKLQotCXJldHVybiAwOwotfQotZWFybHlfcGFyYW0oImlwbGRlbGF5IiwgZWFybHlfcGFyc2VfaXBsZGVsYXkpOwotCiAjaWZkZWYgQ09ORklHX1MzOTBfU1dJVENIX0FNT0RFCiAjaWZkZWYgQ09ORklHX1BHU1RFCiB1bnNpZ25lZCBpbnQgc3dpdGNoX2Ftb2RlID0gMTsKQEAgLTgwNCwxMSArNzcxLDkgQEAKIAkJcHJpbnRrKCJXZSBhcmUgcnVubmluZyBuYXRpdmUgKDY0IGJpdCBtb2RlKVxuIik7CiAjZW5kaWYgLyogQ09ORklHXzY0QklUICovCiAKLQkvKiBTYXZlIHVucGFyc2VkIGNvbW1hbmQgbGluZSBjb3B5IGZvciAvcHJvYy9jbWRsaW5lICovCi0Jc3RybGNweShib290X2NvbW1hbmRfbGluZSwgQ09NTUFORF9MSU5FLCBDT01NQU5EX0xJTkVfU0laRSk7Ci0KLQkqY21kbGluZV9wID0gQ09NTUFORF9MSU5FOwotCSooKmNtZGxpbmVfcCArIENPTU1BTkRfTElORV9TSVpFIC0gMSkgPSAnXDAnOworCS8qIEhhdmUgb25lIGNvbW1hbmQgbGluZSB0aGF0IGlzIHBhcnNlZCBhbmQgc2F2ZWQgaW4gL3Byb2MvY21kbGluZSAqLworCS8qIGJvb3RfY29tbWFuZF9saW5lIGhhcyBiZWVuIGFscmVhZHkgc2V0IHVwIGluIGVhcmx5LmMgKi8KKwkqY21kbGluZV9wID0gYm9vdF9jb21tYW5kX2xpbmU7CiAKICAgICAgICAgUk9PVF9ERVYgPSBSb290X1JBTTA7CiAKZGlmZiAtLWdpdCBhL2FyY2gvczM5MC9rZXJuZWwvc21wLmMgYi9hcmNoL3MzOTAva2VybmVsL3NtcC5jCmluZGV4IDVkNGZhNGIuLmI2NzgxMDMgMTAwNjQ0Ci0tLSBhL2FyY2gvczM5MC9rZXJuZWwvc21wLmMKKysrIGIvYXJjaC9zMzkwL2tlcm5lbC9zbXAuYwpAQCAtMTA5LDcgKzEwOSw3IEBACiB9CiAKIHN0YXRpYyB2b2lkIF9fc21wX2NhbGxfZnVuY3Rpb25fbWFwKHZvaWQgKCpmdW5jKSAodm9pZCAqaW5mbyksIHZvaWQgKmluZm8sCi0JCQkJICAgIGludCBub25hdG9taWMsIGludCB3YWl0LCBjcHVtYXNrX3QgbWFwKQorCQkJCSAgICBpbnQgd2FpdCwgY3B1bWFza190IG1hcCkKIHsKIAlzdHJ1Y3QgY2FsbF9kYXRhX3N0cnVjdCBkYXRhOwogCWludCBjcHUsIGxvY2FsID0gMDsKQEAgLTE2Miw3ICsxNjIsNiBAQAogICogc21wX2NhbGxfZnVuY3Rpb246CiAgKiBAZnVuYzogdGhlIGZ1bmN0aW9uIHRvIHJ1bjsgdGhpcyBtdXN0IGJlIGZhc3QgYW5kIG5vbi1ibG9ja2luZwogICogQGluZm86IGFuIGFyYml0cmFyeSBwb2ludGVyIHRvIHBhc3MgdG8gdGhlIGZ1bmN0aW9uCi0gKiBAbm9uYXRvbWljOiB1bnVzZWQKICAqIEB3YWl0OiBpZiB0cnVlLCB3YWl0IChhdG9taWNhbGx5KSB1bnRpbCBmdW5jdGlvbiBoYXMgY29tcGxldGVkIG9uIG90aGVyIENQVXMKICAqCiAgKiBSdW4gYSBmdW5jdGlvbiBvbiBhbGwgb3RoZXIgQ1BVcy4KQEAgLTE3MCwxNSArMTY5LDE0IEBACiAgKiBZb3UgbXVzdCBub3QgY2FsbCB0aGlzIGZ1bmN0aW9uIHdpdGggZGlzYWJsZWQgaW50ZXJydXB0cywgZnJvbSBhCiAgKiBoYXJkd2FyZSBpbnRlcnJ1cHQgaGFuZGxlciBvciBmcm9tIGEgYm90dG9tIGhhbGYuCiAgKi8KLWludCBzbXBfY2FsbF9mdW5jdGlvbih2b2lkICgqZnVuYykgKHZvaWQgKmluZm8pLCB2b2lkICppbmZvLCBpbnQgbm9uYXRvbWljLAotCQkgICAgICBpbnQgd2FpdCkKK2ludCBzbXBfY2FsbF9mdW5jdGlvbih2b2lkICgqZnVuYykgKHZvaWQgKmluZm8pLCB2b2lkICppbmZvLCBpbnQgd2FpdCkKIHsKIAljcHVtYXNrX3QgbWFwOwogCiAJc3Bpbl9sb2NrKCZjYWxsX2xvY2spOwogCW1hcCA9IGNwdV9vbmxpbmVfbWFwOwogCWNwdV9jbGVhcihzbXBfcHJvY2Vzc29yX2lkKCksIG1hcCk7Ci0JX19zbXBfY2FsbF9mdW5jdGlvbl9tYXAoZnVuYywgaW5mbywgbm9uYXRvbWljLCB3YWl0LCBtYXApOworCV9fc21wX2NhbGxfZnVuY3Rpb25fbWFwKGZ1bmMsIGluZm8sIHdhaXQsIG1hcCk7CiAJc3Bpbl91bmxvY2soJmNhbGxfbG9jayk7CiAJcmV0dXJuIDA7CiB9CkBAIC0xODksNyArMTg3LDYgQEAKICAqIEBjcHU6IHRoZSBDUFUgd2hlcmUgZnVuYyBzaG91bGQgcnVuCiAgKiBAZnVuYzogdGhlIGZ1bmN0aW9uIHRvIHJ1bjsgdGhpcyBtdXN0IGJlIGZhc3QgYW5kIG5vbi1ibG9ja2luZwogICogQGluZm86IGFuIGFyYml0cmFyeSBwb2ludGVyIHRvIHBhc3MgdG8gdGhlIGZ1bmN0aW9uCi0gKiBAbm9uYXRvbWljOiB1bnVzZWQKICAqIEB3YWl0OiBpZiB0cnVlLCB3YWl0IChhdG9taWNhbGx5KSB1bnRpbCBmdW5jdGlvbiBoYXMgY29tcGxldGVkIG9uIG90aGVyIENQVXMKICAqCiAgKiBSdW4gYSBmdW5jdGlvbiBvbiBvbmUgcHJvY2Vzc29yLgpAQCAtMTk4LDExICsxOTUsMTAgQEAKICAqIGhhcmR3YXJlIGludGVycnVwdCBoYW5kbGVyIG9yIGZyb20gYSBib3R0b20gaGFsZi4KICAqLwogaW50IHNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShpbnQgY3B1LCB2b2lkICgqZnVuYykgKHZvaWQgKmluZm8pLCB2b2lkICppbmZvLAotCQkJICAgICBpbnQgbm9uYXRvbWljLCBpbnQgd2FpdCkKKwkJCSAgICAgaW50IHdhaXQpCiB7CiAJc3Bpbl9sb2NrKCZjYWxsX2xvY2spOwotCV9fc21wX2NhbGxfZnVuY3Rpb25fbWFwKGZ1bmMsIGluZm8sIG5vbmF0b21pYywgd2FpdCwKLQkJCQljcHVtYXNrX29mX2NwdShjcHUpKTsKKwlfX3NtcF9jYWxsX2Z1bmN0aW9uX21hcChmdW5jLCBpbmZvLCB3YWl0LCBjcHVtYXNrX29mX2NwdShjcHUpKTsKIAlzcGluX3VubG9jaygmY2FsbF9sb2NrKTsKIAlyZXR1cm4gMDsKIH0KQEAgLTIyOCw3ICsyMjQsNyBAQAogewogCXNwaW5fbG9jaygmY2FsbF9sb2NrKTsKIAljcHVfY2xlYXIoc21wX3Byb2Nlc3Nvcl9pZCgpLCBtYXNrKTsKLQlfX3NtcF9jYWxsX2Z1bmN0aW9uX21hcChmdW5jLCBpbmZvLCAwLCB3YWl0LCBtYXNrKTsKKwlfX3NtcF9jYWxsX2Z1bmN0aW9uX21hcChmdW5jLCBpbmZvLCB3YWl0LCBtYXNrKTsKIAlzcGluX3VubG9jaygmY2FsbF9sb2NrKTsKIAlyZXR1cm4gMDsKIH0KQEAgLTMwMyw3ICsyOTksNyBAQAogCiB2b2lkIHNtcF9wdGxiX2FsbCh2b2lkKQogewotCW9uX2VhY2hfY3B1KHNtcF9wdGxiX2NhbGxiYWNrLCBOVUxMLCAwLCAxKTsKKwlvbl9lYWNoX2NwdShzbXBfcHRsYl9jYWxsYmFjaywgTlVMTCwgMSk7CiB9CiBFWFBPUlRfU1lNQk9MKHNtcF9wdGxiX2FsbCk7CiAjZW5kaWYgLyogISBDT05GSUdfNjRCSVQgKi8KQEAgLTM1MSw3ICszNDcsNyBAQAogCW1lbXNldCgmcGFybXMub3J2YWxzLCAwLCBzaXplb2YocGFybXMub3J2YWxzKSk7CiAJbWVtc2V0KCZwYXJtcy5hbmR2YWxzLCAweGZmLCBzaXplb2YocGFybXMuYW5kdmFscykpOwogCXBhcm1zLm9ydmFsc1tjcl0gPSAxIDw8IGJpdDsKLQlvbl9lYWNoX2NwdShzbXBfY3RsX2JpdF9jYWxsYmFjaywgJnBhcm1zLCAwLCAxKTsKKwlvbl9lYWNoX2NwdShzbXBfY3RsX2JpdF9jYWxsYmFjaywgJnBhcm1zLCAxKTsKIH0KIEVYUE9SVF9TWU1CT0woc21wX2N0bF9zZXRfYml0KTsKIApAQCAtMzY1LDcgKzM2MSw3IEBACiAJbWVtc2V0KCZwYXJtcy5vcnZhbHMsIDAsIHNpemVvZihwYXJtcy5vcnZhbHMpKTsKIAltZW1zZXQoJnBhcm1zLmFuZHZhbHMsIDB4ZmYsIHNpemVvZihwYXJtcy5hbmR2YWxzKSk7CiAJcGFybXMuYW5kdmFsc1tjcl0gPSB+KDFMIDw8IGJpdCk7Ci0Jb25fZWFjaF9jcHUoc21wX2N0bF9iaXRfY2FsbGJhY2ssICZwYXJtcywgMCwgMSk7CisJb25fZWFjaF9jcHUoc21wX2N0bF9iaXRfY2FsbGJhY2ssICZwYXJtcywgMSk7CiB9CiBFWFBPUlRfU1lNQk9MKHNtcF9jdGxfY2xlYXJfYml0KTsKIApkaWZmIC0tZ2l0IGEvYXJjaC9zMzkwL2tlcm5lbC9zdGFja3RyYWNlLmMgYi9hcmNoL3MzOTAva2VybmVsL3N0YWNrdHJhY2UuYwppbmRleCA4NWU0NmE1Li41NzU3MWYxIDEwMDY0NAotLS0gYS9hcmNoL3MzOTAva2VybmVsL3N0YWNrdHJhY2UuYworKysgYi9hcmNoL3MzOTAva2VybmVsL3N0YWNrdHJhY2UuYwpAQCAtODEsNiArODEsNyBAQAogCQkJICAgUzM5MF9sb3djb3JlLnRocmVhZF9pbmZvLAogCQkJICAgUzM5MF9sb3djb3JlLnRocmVhZF9pbmZvICsgVEhSRUFEX1NJWkUsIDEpOwogfQorRVhQT1JUX1NZTUJPTF9HUEwoc2F2ZV9zdGFja190cmFjZSk7CiAKIHZvaWQgc2F2ZV9zdGFja190cmFjZV90c2soc3RydWN0IHRhc2tfc3RydWN0ICp0c2ssIHN0cnVjdCBzdGFja190cmFjZSAqdHJhY2UpCiB7CkBAIC05MywzICs5NCw0IEBACiAJaWYgKHRyYWNlLT5ucl9lbnRyaWVzIDwgdHJhY2UtPm1heF9lbnRyaWVzKQogCQl0cmFjZS0+ZW50cmllc1t0cmFjZS0+bnJfZW50cmllcysrXSA9IFVMT05HX01BWDsKIH0KK0VYUE9SVF9TWU1CT0xfR1BMKHNhdmVfc3RhY2tfdHJhY2VfdHNrKTsKZGlmZiAtLWdpdCBhL2FyY2gvczM5MC9rZXJuZWwvdGltZS5jIGIvYXJjaC9zMzkwL2tlcm5lbC90aW1lLmMKaW5kZXggN2FlYzY3Ni4uZjJjZWRlMyAxMDA2NDQKLS0tIGEvYXJjaC9zMzkwL2tlcm5lbC90aW1lLmMKKysrIGIvYXJjaC9zMzkwL2tlcm5lbC90aW1lLmMKQEAgLTMsNyArMyw3IEBACiAgKiAgICBUaW1lIG9mIGRheSBiYXNlZCB0aW1lciBmdW5jdGlvbnMuCiAgKgogICogIFMzOTAgdmVyc2lvbgotICogICAgQ29weXJpZ2h0IChDKSAxOTk5IElCTSBEZXV0c2NobGFuZCBFbnR3aWNrbHVuZyBHbWJILCBJQk0gQ29ycG9yYXRpb24KKyAqICAgIENvcHlyaWdodCBJQk0gQ29ycC4gMTk5OSwgMjAwOAogICogICAgQXV0aG9yKHMpOiBIYXJ0bXV0IFBlbm5lciAoaHBAZGUuaWJtLmNvbSksCiAgKiAgICAgICAgICAgICAgIE1hcnRpbiBTY2h3aWRlZnNreSAoc2Nod2lkZWZza3lAZGUuaWJtLmNvbSksCiAgKiAgICAgICAgICAgICAgIERlbmlzIEpvc2VwaCBCYXJyb3cgKGRqYmFycm93QGRlLmlibS5jb20sYmFycm93X2RqQHlhaG9vLmNvbSkKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlIDxsaW51eC9ub3RpZmllci5oPgogI2luY2x1ZGUgPGxpbnV4L2Nsb2Nrc291cmNlLmg+CiAjaW5jbHVkZSA8bGludXgvY2xvY2tjaGlwcy5oPgorI2luY2x1ZGUgPGxpbnV4L2Jvb3RtZW0uaD4KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogI2luY2x1ZGUgPGFzbS9kZWxheS5oPgogI2luY2x1ZGUgPGFzbS9zMzkwX2V4dC5oPgpAQCAtMTYyLDcgKzE2Myw3IEBACiAJLyogRW5hYmxlIGNsb2NrIGNvbXBhcmF0b3IgdGltZXIgaW50ZXJydXB0LiAqLwogCV9fY3RsX3NldF9iaXQoMCwxMSk7CiAKLQkvKiBBbHdheXMgYWxsb3cgRVRSIGV4dGVybmFsIGludGVycnVwdHMsIGV2ZW4gd2l0aG91dCBhbiBFVFIuICovCisJLyogQWx3YXlzIGFsbG93IHRoZSB0aW1pbmcgYWxlcnQgZXh0ZXJuYWwgaW50ZXJydXB0LiAqLwogCV9fY3RsX3NldF9iaXQoMCwgNCk7CiB9CiAKQEAgLTE3MCw4ICsxNzEsMjEgQEAKIHsKIH0KIAorc3RhdGljIHZvaWQgZXRyX3RpbWluZ19hbGVydChzdHJ1Y3QgZXRyX2lycV9wYXJtICopOworc3RhdGljIHZvaWQgc3RwX3RpbWluZ19hbGVydChzdHJ1Y3Qgc3RwX2lycV9wYXJtICopOworCitzdGF0aWMgdm9pZCB0aW1pbmdfYWxlcnRfaW50ZXJydXB0KF9fdTE2IGNvZGUpCit7CisJaWYgKFMzOTBfbG93Y29yZS5leHRfcGFyYW1zICYgMHgwMGM0MDAwMCkKKwkJZXRyX3RpbWluZ19hbGVydCgoc3RydWN0IGV0cl9pcnFfcGFybSAqKQorCQkJCSAmUzM5MF9sb3djb3JlLmV4dF9wYXJhbXMpOworCWlmIChTMzkwX2xvd2NvcmUuZXh0X3BhcmFtcyAmIDB4MDAwMzgwMDApCisJCXN0cF90aW1pbmdfYWxlcnQoKHN0cnVjdCBzdHBfaXJxX3Bhcm0gKikKKwkJCQkgJlMzOTBfbG93Y29yZS5leHRfcGFyYW1zKTsKK30KKwogc3RhdGljIHZvaWQgZXRyX3Jlc2V0KHZvaWQpOwotc3RhdGljIHZvaWQgZXRyX2V4dF9oYW5kbGVyKF9fdTE2KTsKK3N0YXRpYyB2b2lkIHN0cF9yZXNldCh2b2lkKTsKIAogLyoKICAqIEdldCB0aGUgVE9EIGNsb2NrIHJ1bm5pbmcuCkBAIC0xODEsNiArMTk1LDcgQEAKIAl1NjQgdGltZTsKIAogCWV0cl9yZXNldCgpOworCXN0cF9yZXNldCgpOwogCWlmIChzdG9yZV9jbG9jaygmdGltZSkgPT0gMCkKIAkJcmV0dXJuIHRpbWU7CiAJLyogVE9EIGNsb2NrIG5vdCBydW5uaW5nLiBTZXQgdGhlIGNsb2NrIHRvIFVuaXggRXBvY2guICovCkBAIC0yMzEsOCArMjQ2LDkgQEAKIAlpZiAoY2xvY2tzb3VyY2VfcmVnaXN0ZXIoJmNsb2Nrc291cmNlX3RvZCkgIT0gMCkKIAkJcGFuaWMoIkNvdWxkIG5vdCByZWdpc3RlciBUT0QgY2xvY2sgc291cmNlIik7CiAKLQkvKiByZXF1ZXN0IHRoZSBldHIgZXh0ZXJuYWwgaW50ZXJydXB0ICovCi0JaWYgKHJlZ2lzdGVyX2Vhcmx5X2V4dGVybmFsX2ludGVycnVwdCgweDE0MDYsIGV0cl9leHRfaGFuZGxlciwKKwkvKiByZXF1ZXN0IHRoZSB0aW1pbmcgYWxlcnQgZXh0ZXJuYWwgaW50ZXJydXB0ICovCisJaWYgKHJlZ2lzdGVyX2Vhcmx5X2V4dGVybmFsX2ludGVycnVwdCgweDE0MDYsCisJCQkJCSAgICAgIHRpbWluZ19hbGVydF9pbnRlcnJ1cHQsCiAJCQkJCSAgICAgICZleHRfaW50X2V0cl9jYykgIT0gMCkKIAkJcGFuaWMoIkNvdWxkbid0IHJlcXVlc3QgZXh0ZXJuYWwgaW50ZXJydXB0IDB4MTQwNiIpOwogCkBAIC0yNDUsMTAgKzI2MSwxMTIgQEAKIH0KIAogLyoKKyAqIFRoZSB0aW1lIGlzICJjbG9jayIuIG9sZCBpcyB3aGF0IHdlIHRoaW5rIHRoZSB0aW1lIGlzLgorICogQWRqdXN0IHRoZSB2YWx1ZSBieSBhIG11bHRpcGxlIG9mIGppZmZpZXMgYW5kIGFkZCB0aGUgZGVsdGEgdG8gbnRwLgorICogImRlbGF5IiBpcyBhbiBhcHByb3hpbWF0aW9uIGhvdyBsb25nIHRoZSBzeW5jaHJvbml6YXRpb24gdG9vay4gSWYKKyAqIHRoZSB0aW1lIGNvcnJlY3Rpb24gaXMgcG9zaXRpdmUsIHRoZW4gImRlbGF5IiBpcyBzdWJ0cmFjdGVkIGZyb20KKyAqIHRoZSB0aW1lIGRpZmZlcmVuY2UgYW5kIG9ubHkgdGhlIHJlbWFpbmluZyBwYXJ0IGlzIHBhc3NlZCB0byBudHAuCisgKi8KK3N0YXRpYyB1bnNpZ25lZCBsb25nIGxvbmcgYWRqdXN0X3RpbWUodW5zaWduZWQgbG9uZyBsb25nIG9sZCwKKwkJCQkgICAgICB1bnNpZ25lZCBsb25nIGxvbmcgY2xvY2ssCisJCQkJICAgICAgdW5zaWduZWQgbG9uZyBsb25nIGRlbGF5KQoreworCXVuc2lnbmVkIGxvbmcgbG9uZyBkZWx0YSwgdGlja3M7CisJc3RydWN0IHRpbWV4IGFkanVzdDsKKworCWlmIChjbG9jayA+IG9sZCkgeworCQkvKiBJdCBpcyBsYXRlciB0aGFuIHdlIHRob3VnaHQuICovCisJCWRlbHRhID0gdGlja3MgPSBjbG9jayAtIG9sZDsKKwkJZGVsdGEgPSB0aWNrcyA9IChkZWx0YSA8IGRlbGF5KSA/IDAgOiBkZWx0YSAtIGRlbGF5OworCQlkZWx0YSAtPSBkb19kaXYodGlja3MsIENMS19USUNLU19QRVJfSklGRlkpOworCQlhZGp1c3Qub2Zmc2V0ID0gdGlja3MgKiAoMTAwMDAwMCAvIEhaKTsKKwl9IGVsc2UgeworCQkvKiBJdCBpcyBlYXJsaWVyIHRoYW4gd2UgdGhvdWdodC4gKi8KKwkJZGVsdGEgPSB0aWNrcyA9IG9sZCAtIGNsb2NrOworCQlkZWx0YSAtPSBkb19kaXYodGlja3MsIENMS19USUNLU19QRVJfSklGRlkpOworCQlkZWx0YSA9IC1kZWx0YTsKKwkJYWRqdXN0Lm9mZnNldCA9IC10aWNrcyAqICgxMDAwMDAwIC8gSFopOworCX0KKwlqaWZmaWVzX3RpbWVyX2NjICs9IGRlbHRhOworCWlmIChhZGp1c3Qub2Zmc2V0ICE9IDApIHsKKwkJcHJpbnRrKEtFUk5fTk9USUNFICJldHI6IHRpbWUgYWRqdXN0ZWQgYnkgJWxpIG1pY3JvLXNlY29uZHNcbiIsCisJCSAgICAgICBhZGp1c3Qub2Zmc2V0KTsKKwkJYWRqdXN0Lm1vZGVzID0gQURKX09GRlNFVF9TSU5HTEVTSE9UOworCQlkb19hZGp0aW1leCgmYWRqdXN0KTsKKwl9CisJcmV0dXJuIGRlbHRhOworfQorCitzdGF0aWMgREVGSU5FX1BFUl9DUFUoYXRvbWljX3QsIGNsb2NrX3N5bmNfd29yZCk7CitzdGF0aWMgdW5zaWduZWQgbG9uZyBjbG9ja19zeW5jX2ZsYWdzOworCisjZGVmaW5lIENMT0NLX1NZTkNfSEFTX0VUUgkwCisjZGVmaW5lIENMT0NLX1NZTkNfSEFTX1NUUAkxCisjZGVmaW5lIENMT0NLX1NZTkNfRVRSCQkyCisjZGVmaW5lIENMT0NLX1NZTkNfU1RQCQkzCisKKy8qCisgKiBUaGUgc3luY2hyb25vdXMgZ2V0X2Nsb2NrIGZ1bmN0aW9uLiBJdCB3aWxsIHdyaXRlIHRoZSBjdXJyZW50IGNsb2NrCisgKiB2YWx1ZSB0byB0aGUgY2xvY2sgcG9pbnRlciBhbmQgcmV0dXJuIDAgaWYgdGhlIGNsb2NrIGlzIGluIHN5bmMgd2l0aAorICogdGhlIGV4dGVybmFsIHRpbWUgc291cmNlLiBJZiB0aGUgY2xvY2sgbW9kZSBpcyBsb2NhbCBpdCB3aWxsIHJldHVybgorICogLUVOT1NZUyBhbmQgLUVBR0FJTiBpZiB0aGUgY2xvY2sgaXMgbm90IGluIHN5bmMgd2l0aCB0aGUgZXh0ZXJuYWwKKyAqIHJlZmVyZW5jZS4KKyAqLworaW50IGdldF9zeW5jX2Nsb2NrKHVuc2lnbmVkIGxvbmcgbG9uZyAqY2xvY2spCit7CisJYXRvbWljX3QgKnN3X3B0cjsKKwl1bnNpZ25lZCBpbnQgc3cwLCBzdzE7CisKKwlzd19wdHIgPSAmZ2V0X2NwdV92YXIoY2xvY2tfc3luY193b3JkKTsKKwlzdzAgPSBhdG9taWNfcmVhZChzd19wdHIpOworCSpjbG9jayA9IGdldF9jbG9jaygpOworCXN3MSA9IGF0b21pY19yZWFkKHN3X3B0cik7CisJcHV0X2NwdV92YXIoY2xvY2tfc3luY19zeW5jKTsKKwlpZiAoc3cwID09IHN3MSAmJiAoc3cwICYgMHg4MDAwMDAwMFUpKQorCQkvKiBTdWNjZXNzOiB0aW1lIGlzIGluIHN5bmMuICovCisJCXJldHVybiAwOworCWlmICghdGVzdF9iaXQoQ0xPQ0tfU1lOQ19IQVNfRVRSLCAmY2xvY2tfc3luY19mbGFncykgJiYKKwkgICAgIXRlc3RfYml0KENMT0NLX1NZTkNfSEFTX1NUUCwgJmNsb2NrX3N5bmNfZmxhZ3MpKQorCQlyZXR1cm4gLUVOT1NZUzsKKwlpZiAoIXRlc3RfYml0KENMT0NLX1NZTkNfRVRSLCAmY2xvY2tfc3luY19mbGFncykgJiYKKwkgICAgIXRlc3RfYml0KENMT0NLX1NZTkNfU1RQLCAmY2xvY2tfc3luY19mbGFncykpCisJCXJldHVybiAtRUFDQ0VTOworCXJldHVybiAtRUFHQUlOOworfQorRVhQT1JUX1NZTUJPTChnZXRfc3luY19jbG9jayk7CisKKy8qCisgKiBNYWtlIGdldF9zeW5jX2Nsb2NrIHJldHVybiAtRUFHQUlOLgorICovCitzdGF0aWMgdm9pZCBkaXNhYmxlX3N5bmNfY2xvY2sodm9pZCAqZHVtbXkpCit7CisJYXRvbWljX3QgKnN3X3B0ciA9ICZfX2dldF9jcHVfdmFyKGNsb2NrX3N5bmNfd29yZCk7CisJLyoKKwkgKiBDbGVhciB0aGUgaW4tc3luYyBiaXQgMl4zMS4gQWxsIGdldF9zeW5jX2Nsb2NrIGNhbGxzIHdpbGwKKwkgKiBmYWlsIHVudGlsIHRoZSBzeW5jIGJpdCBpcyB0dXJuZWQgYmFjayBvbi4gSW4gYWRkaXRpb24KKwkgKiBpbmNyZWFzZSB0aGUgInNlcXVlbmNlIiBjb3VudGVyIHRvIGF2b2lkIHRoZSByYWNlIG9mIGFuCisJICogZXRyIGV2ZW50IGFuZCB0aGUgY29tcGxldGUgcmVjb3ZlcnkgYWdhaW5zdCBnZXRfc3luY19jbG9jay4KKwkgKi8KKwlhdG9taWNfY2xlYXJfbWFzaygweDgwMDAwMDAwLCBzd19wdHIpOworCWF0b21pY19pbmMoc3dfcHRyKTsKK30KKworLyoKKyAqIE1ha2UgZ2V0X3N5bmNfY2xvY2sgcmV0dXJuIDAgYWdhaW4uCisgKiBOZWVkcyB0byBiZSBjYWxsZWQgZnJvbSBhIGNvbnRleHQgZGlzYWJsZWQgZm9yIHByZWVtcHRpb24uCisgKi8KK3N0YXRpYyB2b2lkIGVuYWJsZV9zeW5jX2Nsb2NrKHZvaWQpCit7CisJYXRvbWljX3QgKnN3X3B0ciA9ICZfX2dldF9jcHVfdmFyKGNsb2NrX3N5bmNfd29yZCk7CisJYXRvbWljX3NldF9tYXNrKDB4ODAwMDAwMDAsIHN3X3B0cik7Cit9CisKKy8qCiAgKiBFeHRlcm5hbCBUaW1lIFJlZmVyZW5jZSAoRVRSKSBjb2RlLgogICovCiBzdGF0aWMgaW50IGV0cl9wb3J0MF9vbmxpbmU7CiBzdGF0aWMgaW50IGV0cl9wb3J0MV9vbmxpbmU7CitzdGF0aWMgaW50IGV0cl9zdGVhaV9hdmFpbGFibGU7CiAKIHN0YXRpYyBpbnQgX19pbml0IGVhcmx5X3BhcnNlX2V0cihjaGFyICpwKQogewpAQCAtMjczLDEyICszOTEsNiBAQAogCUVUUl9FVkVOVF9VUERBVEUsCiB9OwogCi1lbnVtIGV0cl9mbGFncyB7Ci0JRVRSX0ZMQUdfRU5PU1lTLAotCUVUUl9GTEFHX0VBQ0NFUywKLQlFVFJfRkxBR19TVEVBSSwKLX07Ci0KIC8qCiAgKiBWYWxpZCBiaXQgY29tYmluYXRpb25zIG9mIHRoZSBlYWNyIHJlZ2lzdGVyIGFyZSAoeCA9IGRvbid0IGNhcmUpOgogICogZTAgZTEgZHAgcDAgcDEgZWEgZXMgc2wKQEAgLTMwNSw3NCArNDE3LDE4IEBACiAgKi8KIHN0YXRpYyBzdHJ1Y3QgZXRyX2VhY3IgZXRyX2VhY3I7CiBzdGF0aWMgdTY0IGV0cl90b2xlYzsJCQkvKiB0aW1lIG9mIGxhc3QgZWFjciB1cGRhdGUgKi8KLXN0YXRpYyB1bnNpZ25lZCBsb25nIGV0cl9mbGFnczsKIHN0YXRpYyBzdHJ1Y3QgZXRyX2FpYiBldHJfcG9ydDA7CiBzdGF0aWMgaW50IGV0cl9wb3J0MF91cHRvZGF0ZTsKIHN0YXRpYyBzdHJ1Y3QgZXRyX2FpYiBldHJfcG9ydDE7CiBzdGF0aWMgaW50IGV0cl9wb3J0MV91cHRvZGF0ZTsKIHN0YXRpYyB1bnNpZ25lZCBsb25nIGV0cl9ldmVudHM7CiBzdGF0aWMgc3RydWN0IHRpbWVyX2xpc3QgZXRyX3RpbWVyOwotc3RhdGljIERFRklORV9QRVJfQ1BVKGF0b21pY190LCBldHJfc3luY193b3JkKTsKIAogc3RhdGljIHZvaWQgZXRyX3RpbWVvdXQodW5zaWduZWQgbG9uZyBkdW1teSk7CiBzdGF0aWMgdm9pZCBldHJfd29ya19mbihzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspOwogc3RhdGljIERFQ0xBUkVfV09SSyhldHJfd29yaywgZXRyX3dvcmtfZm4pOwogCiAvKgotICogVGhlIGV0ciBnZXRfY2xvY2sgZnVuY3Rpb24uIEl0IHdpbGwgd3JpdGUgdGhlIGN1cnJlbnQgY2xvY2sgdmFsdWUKLSAqIHRvIHRoZSBjbG9jayBwb2ludGVyIGFuZCByZXR1cm4gMCBpZiB0aGUgY2xvY2sgaXMgaW4gc3luYyB3aXRoIHRoZQotICogZXh0ZXJuYWwgdGltZSBzb3VyY2UuIElmIHRoZSBjbG9jayBtb2RlIGlzIGxvY2FsIGl0IHdpbGwgcmV0dXJuCi0gKiAtRU5PU1lTIGFuZCAtRUFHQUlOIGlmIHRoZSBjbG9jayBpcyBub3QgaW4gc3luYyB3aXRoIHRoZSBleHRlcm5hbAotICogcmVmZXJlbmNlLiBUaGlzIGZ1bmN0aW9uIGlzIHdoYXQgRVRSIGlzIGFsbCBhYm91dC4uCi0gKi8KLWludCBnZXRfc3luY19jbG9jayh1bnNpZ25lZCBsb25nIGxvbmcgKmNsb2NrKQotewotCWF0b21pY190ICpzd19wdHI7Ci0JdW5zaWduZWQgaW50IHN3MCwgc3cxOwotCi0Jc3dfcHRyID0gJmdldF9jcHVfdmFyKGV0cl9zeW5jX3dvcmQpOwotCXN3MCA9IGF0b21pY19yZWFkKHN3X3B0cik7Ci0JKmNsb2NrID0gZ2V0X2Nsb2NrKCk7Ci0Jc3cxID0gYXRvbWljX3JlYWQoc3dfcHRyKTsKLQlwdXRfY3B1X3ZhcihldHJfc3luY19zeW5jKTsKLQlpZiAoc3cwID09IHN3MSAmJiAoc3cwICYgMHg4MDAwMDAwMFUpKQotCQkvKiBTdWNjZXNzOiB0aW1lIGlzIGluIHN5bmMuICovCi0JCXJldHVybiAwOwotCWlmICh0ZXN0X2JpdChFVFJfRkxBR19FTk9TWVMsICZldHJfZmxhZ3MpKQotCQlyZXR1cm4gLUVOT1NZUzsKLQlpZiAodGVzdF9iaXQoRVRSX0ZMQUdfRUFDQ0VTLCAmZXRyX2ZsYWdzKSkKLQkJcmV0dXJuIC1FQUNDRVM7Ci0JcmV0dXJuIC1FQUdBSU47Ci19Ci1FWFBPUlRfU1lNQk9MKGdldF9zeW5jX2Nsb2NrKTsKLQotLyoKLSAqIE1ha2UgZ2V0X3N5bmNfY2xvY2sgcmV0dXJuIC1FQUdBSU4uCi0gKi8KLXN0YXRpYyB2b2lkIGV0cl9kaXNhYmxlX3N5bmNfY2xvY2sodm9pZCAqZHVtbXkpCi17Ci0JYXRvbWljX3QgKnN3X3B0ciA9ICZfX2dldF9jcHVfdmFyKGV0cl9zeW5jX3dvcmQpOwotCS8qCi0JICogQ2xlYXIgdGhlIGluLXN5bmMgYml0IDJeMzEuIEFsbCBnZXRfc3luY19jbG9jayBjYWxscyB3aWxsCi0JICogZmFpbCB1bnRpbCB0aGUgc3luYyBiaXQgaXMgdHVybmVkIGJhY2sgb24uIEluIGFkZGl0aW9uCi0JICogaW5jcmVhc2UgdGhlICJzZXF1ZW5jZSIgY291bnRlciB0byBhdm9pZCB0aGUgcmFjZSBvZiBhbgotCSAqIGV0ciBldmVudCBhbmQgdGhlIGNvbXBsZXRlIHJlY292ZXJ5IGFnYWluc3QgZ2V0X3N5bmNfY2xvY2suCi0JICovCi0JYXRvbWljX2NsZWFyX21hc2soMHg4MDAwMDAwMCwgc3dfcHRyKTsKLQlhdG9taWNfaW5jKHN3X3B0cik7Ci19Ci0KLS8qCi0gKiBNYWtlIGdldF9zeW5jX2Nsb2NrIHJldHVybiAwIGFnYWluLgotICogTmVlZHMgdG8gYmUgY2FsbGVkIGZyb20gYSBjb250ZXh0IGRpc2FibGVkIGZvciBwcmVlbXB0aW9uLgotICovCi1zdGF0aWMgdm9pZCBldHJfZW5hYmxlX3N5bmNfY2xvY2sodm9pZCkKLXsKLQlhdG9taWNfdCAqc3dfcHRyID0gJl9fZ2V0X2NwdV92YXIoZXRyX3N5bmNfd29yZCk7Ci0JYXRvbWljX3NldF9tYXNrKDB4ODAwMDAwMDAsIHN3X3B0cik7Ci19Ci0KLS8qCiAgKiBSZXNldCBFVFIgYXR0YWNobWVudC4KICAqLwogc3RhdGljIHZvaWQgZXRyX3Jlc2V0KHZvaWQpCkBAIC0zODEsMTUgKzQzNywxMyBAQAogCQkuZTAgPSAwLCAuZTEgPSAwLCAuX3BhZDAgPSA0LCAuZHAgPSAwLAogCQkucDAgPSAwLCAucDEgPSAwLCAuX3BhZDEgPSAwLCAuZWEgPSAwLAogCQkuZXMgPSAwLCAuc2wgPSAwIH07Ci0JaWYgKGV0cl9zZXRyKCZldHJfZWFjcikgPT0gMCkKKwlpZiAoZXRyX3NldHIoJmV0cl9lYWNyKSA9PSAwKSB7CiAJCWV0cl90b2xlYyA9IGdldF9jbG9jaygpOwotCWVsc2UgewotCQlzZXRfYml0KEVUUl9GTEFHX0VOT1NZUywgJmV0cl9mbGFncyk7Ci0JCWlmIChldHJfcG9ydDBfb25saW5lIHx8IGV0cl9wb3J0MV9vbmxpbmUpIHsKLQkJCXByaW50ayhLRVJOX1dBUk5JTkcgIlJ1bm5pbmcgb24gbm9uIEVUUiBjYXBhYmxlICIKLQkJCSAgICAgICAibWFjaGluZSwgb25seSBsb2NhbCBtb2RlIGF2YWlsYWJsZS5cbiIpOwotCQkJZXRyX3BvcnQwX29ubGluZSA9IGV0cl9wb3J0MV9vbmxpbmUgPSAwOwotCQl9CisJCXNldF9iaXQoQ0xPQ0tfU1lOQ19IQVNfRVRSLCAmY2xvY2tfc3luY19mbGFncyk7CisJfSBlbHNlIGlmIChldHJfcG9ydDBfb25saW5lIHx8IGV0cl9wb3J0MV9vbmxpbmUpIHsKKwkJcHJpbnRrKEtFUk5fV0FSTklORyAiUnVubmluZyBvbiBub24gRVRSIGNhcGFibGUgIgorCQkgICAgICAgIm1hY2hpbmUsIG9ubHkgbG9jYWwgbW9kZSBhdmFpbGFibGUuXG4iKTsKKwkJZXRyX3BvcnQwX29ubGluZSA9IGV0cl9wb3J0MV9vbmxpbmUgPSAwOwogCX0KIH0KIApAQCAtMzk3LDE0ICs0NTEsMTIgQEAKIHsKIAlzdHJ1Y3QgZXRyX2FpYiBhaWI7CiAKLQlpZiAodGVzdF9iaXQoRVRSX0ZMQUdfRU5PU1lTLCAmZXRyX2ZsYWdzKSkKKwlpZiAoIXRlc3RfYml0KENMT0NLX1NZTkNfSEFTX0VUUiwgJmNsb2NrX3N5bmNfZmxhZ3MpKQogCQlyZXR1cm4gMDsKIAkvKiBDaGVjayBpZiB0aGlzIG1hY2hpbmUgaGFzIHRoZSBzdGVhaSBpbnN0cnVjdGlvbi4gKi8KIAlpZiAoZXRyX3N0ZWFpKCZhaWIsIEVUUl9TVEVBSV9TVEVQUElOR19QT1JUKSA9PSAwKQotCQlzZXRfYml0KEVUUl9GTEFHX1NURUFJLCAmZXRyX2ZsYWdzKTsKKwkJZXRyX3N0ZWFpX2F2YWlsYWJsZSA9IDE7CiAJc2V0dXBfdGltZXIoJmV0cl90aW1lciwgZXRyX3RpbWVvdXQsIDBVTCk7Ci0JaWYgKCFldHJfcG9ydDBfb25saW5lICYmICFldHJfcG9ydDFfb25saW5lKQotCQlzZXRfYml0KEVUUl9GTEFHX0VBQ0NFUywgJmV0cl9mbGFncyk7CiAJaWYgKGV0cl9wb3J0MF9vbmxpbmUpIHsKIAkJc2V0X2JpdChFVFJfRVZFTlRfUE9SVDBfQ0hBTkdFLCAmZXRyX2V2ZW50cyk7CiAJCXNjaGVkdWxlX3dvcmsoJmV0cl93b3JrKTsKQEAgLTQzNSw3ICs0ODcsOCBAQAogewogCWlmICghZXRyX2VhY3Iuc2wpCiAJCXJldHVybjsKLQlldHJfZGlzYWJsZV9zeW5jX2Nsb2NrKE5VTEwpOworCWlmICh0ZXN0X2JpdChDTE9DS19TWU5DX0VUUiwgJmNsb2NrX3N5bmNfZmxhZ3MpKQorCQlkaXNhYmxlX3N5bmNfY2xvY2soTlVMTCk7CiAJc2V0X2JpdChFVFJfRVZFTlRfU1dJVENIX0xPQ0FMLCAmZXRyX2V2ZW50cyk7CiAJc2NoZWR1bGVfd29yaygmZXRyX3dvcmspOwogfQpAQCAtNDUwLDIzICs1MDMsMjEgQEAKIHsKIAlpZiAoIWV0cl9lYWNyLmVzKQogCQlyZXR1cm47Ci0JZXRyX2Rpc2FibGVfc3luY19jbG9jayhOVUxMKTsKKwlpZiAodGVzdF9iaXQoQ0xPQ0tfU1lOQ19FVFIsICZjbG9ja19zeW5jX2ZsYWdzKSkKKwkJZGlzYWJsZV9zeW5jX2Nsb2NrKE5VTEwpOwogCXNldF9iaXQoRVRSX0VWRU5UX1NZTkNfQ0hFQ0ssICZldHJfZXZlbnRzKTsKIAlzY2hlZHVsZV93b3JrKCZldHJfd29yayk7CiB9CiAKIC8qCi0gKiBFVFIgZXh0ZXJuYWwgaW50ZXJydXB0LiBUaGVyZSBhcmUgdHdvIGNhdXNlczoKKyAqIEVUUiB0aW1pbmcgYWxlcnQuIFRoZXJlIGFyZSB0d28gY2F1c2VzOgogICogMSkgcG9ydCBzdGF0ZSBjaGFuZ2UsIGNoZWNrIHRoZSB1c2FiaWxpdHkgb2YgdGhlIHBvcnQKICAqIDIpIHBvcnQgYWxlcnQsIG9uZSBvZiB0aGUgRVRSLWRhdGEtdmFsaWRpdHkgYml0cyAodjEtdjIgYml0cyBvZiB0aGUKICAqICAgIHNsZHItc3RhdHVzIHdvcmQpIG9yIEVUUi1kYXRhIHdvcmQgMSAoZWRmMSkgb3IgRVRSLWRhdGEgd29yZCAzIChlZGYzKQogICogICAgb3IgRVRSLWRhdGEgd29yZCA0IChlZGY0KSBoYXMgY2hhbmdlZC4KICAqLwotc3RhdGljIHZvaWQgZXRyX2V4dF9oYW5kbGVyKF9fdTE2IGNvZGUpCitzdGF0aWMgdm9pZCBldHJfdGltaW5nX2FsZXJ0KHN0cnVjdCBldHJfaXJxX3Bhcm0gKmludHBhcm0pCiB7Ci0Jc3RydWN0IGV0cl9pbnRlcnJ1cHRpb25fcGFyYW1ldGVyICppbnRwYXJtID0KLQkJKHN0cnVjdCBldHJfaW50ZXJydXB0aW9uX3BhcmFtZXRlciAqKSAmUzM5MF9sb3djb3JlLmV4dF9wYXJhbXM7Ci0KIAlpZiAoaW50cGFybS0+cGMwKQogCQkvKiBFVFIgcG9ydCAwIHN0YXRlIGNoYW5nZS4gKi8KIAkJc2V0X2JpdChFVFJfRVZFTlRfUE9SVDBfQ0hBTkdFLCAmZXRyX2V2ZW50cyk7CkBAIC01OTEsNTggKzY0MiwyMyBAQAogCXJldHVybiAxOwogfQogCi0vKgotICogVGhlIHRpbWUgaXMgImNsb2NrIi4gb2xkIGlzIHdoYXQgd2UgdGhpbmsgdGhlIHRpbWUgaXMuCi0gKiBBZGp1c3QgdGhlIHZhbHVlIGJ5IGEgbXVsdGlwbGUgb2YgamlmZmllcyBhbmQgYWRkIHRoZSBkZWx0YSB0byBudHAuCi0gKiAiZGVsYXkiIGlzIGFuIGFwcHJveGltYXRpb24gaG93IGxvbmcgdGhlIHN5bmNocm9uaXphdGlvbiB0b29rLiBJZgotICogdGhlIHRpbWUgY29ycmVjdGlvbiBpcyBwb3NpdGl2ZSwgdGhlbiAiZGVsYXkiIGlzIHN1YnRyYWN0ZWQgZnJvbQotICogdGhlIHRpbWUgZGlmZmVyZW5jZSBhbmQgb25seSB0aGUgcmVtYWluaW5nIHBhcnQgaXMgcGFzc2VkIHRvIG50cC4KLSAqLwotc3RhdGljIHVuc2lnbmVkIGxvbmcgbG9uZyBldHJfYWRqdXN0X3RpbWUodW5zaWduZWQgbG9uZyBsb25nIG9sZCwKLQkJCQkJICB1bnNpZ25lZCBsb25nIGxvbmcgY2xvY2ssCi0JCQkJCSAgdW5zaWduZWQgbG9uZyBsb25nIGRlbGF5KQotewotCXVuc2lnbmVkIGxvbmcgbG9uZyBkZWx0YSwgdGlja3M7Ci0Jc3RydWN0IHRpbWV4IGFkanVzdDsKLQotCWlmIChjbG9jayA+IG9sZCkgewotCQkvKiBJdCBpcyBsYXRlciB0aGFuIHdlIHRob3VnaHQuICovCi0JCWRlbHRhID0gdGlja3MgPSBjbG9jayAtIG9sZDsKLQkJZGVsdGEgPSB0aWNrcyA9IChkZWx0YSA8IGRlbGF5KSA/IDAgOiBkZWx0YSAtIGRlbGF5OwotCQlkZWx0YSAtPSBkb19kaXYodGlja3MsIENMS19USUNLU19QRVJfSklGRlkpOwotCQlhZGp1c3Qub2Zmc2V0ID0gdGlja3MgKiAoMTAwMDAwMCAvIEhaKTsKLQl9IGVsc2UgewotCQkvKiBJdCBpcyBlYXJsaWVyIHRoYW4gd2UgdGhvdWdodC4gKi8KLQkJZGVsdGEgPSB0aWNrcyA9IG9sZCAtIGNsb2NrOwotCQlkZWx0YSAtPSBkb19kaXYodGlja3MsIENMS19USUNLU19QRVJfSklGRlkpOwotCQlkZWx0YSA9IC1kZWx0YTsKLQkJYWRqdXN0Lm9mZnNldCA9IC10aWNrcyAqICgxMDAwMDAwIC8gSFopOwotCX0KLQlqaWZmaWVzX3RpbWVyX2NjICs9IGRlbHRhOwotCWlmIChhZGp1c3Qub2Zmc2V0ICE9IDApIHsKLQkJcHJpbnRrKEtFUk5fTk9USUNFICJldHI6IHRpbWUgYWRqdXN0ZWQgYnkgJWxpIG1pY3JvLXNlY29uZHNcbiIsCi0JCSAgICAgICBhZGp1c3Qub2Zmc2V0KTsKLQkJYWRqdXN0Lm1vZGVzID0gQURKX09GRlNFVF9TSU5HTEVTSE9UOwotCQlkb19hZGp0aW1leCgmYWRqdXN0KTsKLQl9Ci0JcmV0dXJuIGRlbHRhOwotfQotCi1zdGF0aWMgc3RydWN0IHsKK3N0cnVjdCBjbG9ja19zeW5jX2RhdGEgewogCWludCBpbl9zeW5jOwogCXVuc2lnbmVkIGxvbmcgbG9uZyBmaXh1cF9jYzsKLX0gZXRyX3N5bmM7Cit9OwogCi1zdGF0aWMgdm9pZCBldHJfc3luY19jcHVfc3RhcnQodm9pZCAqZHVtbXkpCitzdGF0aWMgdm9pZCBjbG9ja19zeW5jX2NwdV9zdGFydCh2b2lkICpkdW1teSkKIHsKLQlldHJfZW5hYmxlX3N5bmNfY2xvY2soKTsKKwlzdHJ1Y3QgY2xvY2tfc3luY19kYXRhICpzeW5jID0gZHVtbXk7CisKKwllbmFibGVfc3luY19jbG9jaygpOwogCS8qCiAJICogVGhpcyBsb29rcyBsaWtlIGEgYnVzeSB3YWl0IGxvb3AgYnV0IGl0IGlzbid0LiBldHJfc3luY19jcHVzCiAJICogaXMgY2FsbGVkIG9uIGFsbCBvdGhlciBjcHVzIHdoaWxlIHRoZSBUT0QgY2xvY2tzIGlzIHN0b3BwZWQuCiAJICogX191ZGVsYXkgd2lsbCBzdG9wIHRoZSBjcHUgb24gYW4gZW5hYmxlZCB3YWl0IHBzdyB1bnRpbCB0aGUKIAkgKiBUT0QgaXMgcnVubmluZyBhZ2Fpbi4KIAkgKi8KLQl3aGlsZSAoZXRyX3N5bmMuaW5fc3luYyA9PSAwKSB7CisJd2hpbGUgKHN5bmMtPmluX3N5bmMgPT0gMCkgewogCQlfX3VkZWxheSgxKTsKIAkJLyoKIAkJICogQSBkaWZmZXJlbnQgY3B1IGNoYW5nZXMgKmluX3N5bmMuIFRoZXJlZm9yZSB1c2UKQEAgLTY1MCwxNyArNjY2LDE3IEBACiAJCSAqLwogCQliYXJyaWVyKCk7CiAJfQotCWlmIChldHJfc3luYy5pbl9zeW5jICE9IDEpCisJaWYgKHN5bmMtPmluX3N5bmMgIT0gMSkKIAkJLyogRGlkbid0IHdvcmsuIENsZWFyIHBlci1jcHUgaW4gc3luYyBiaXQgYWdhaW4uICovCi0JCWV0cl9kaXNhYmxlX3N5bmNfY2xvY2soTlVMTCk7CisJCWRpc2FibGVfc3luY19jbG9jayhOVUxMKTsKIAkvKgogCSAqIFRoaXMgcm91bmQgb2YgVE9EIHN5bmNpbmcgaXMgZG9uZS4gU2V0IHRoZSBjbG9jayBjb21wYXJhdG9yCiAJICogdG8gdGhlIG5leHQgdGljayBhbmQgbGV0IHRoZSBwcm9jZXNzb3IgY29udGludWUuCiAJICovCi0JZml4dXBfY2xvY2tfY29tcGFyYXRvcihldHJfc3luYy5maXh1cF9jYyk7CisJZml4dXBfY2xvY2tfY29tcGFyYXRvcihzeW5jLT5maXh1cF9jYyk7CiB9CiAKLXN0YXRpYyB2b2lkIGV0cl9zeW5jX2NwdV9lbmQodm9pZCAqZHVtbXkpCitzdGF0aWMgdm9pZCBjbG9ja19zeW5jX2NwdV9lbmQodm9pZCAqZHVtbXkpCiB7CiB9CiAKQEAgLTY3Miw2ICs2ODgsNyBAQAogc3RhdGljIGludCBldHJfc3luY19jbG9jayhzdHJ1Y3QgZXRyX2FpYiAqYWliLCBpbnQgcG9ydCkKIHsKIAlzdHJ1Y3QgZXRyX2FpYiAqc3luY19wb3J0OworCXN0cnVjdCBjbG9ja19zeW5jX2RhdGEgZXRyX3N5bmM7CiAJdW5zaWduZWQgbG9uZyBsb25nIGNsb2NrLCBvbGRfY2xvY2ssIGRlbGF5LCBkZWx0YTsKIAlpbnQgZm9sbG93czsKIAlpbnQgcmM7CkBAIC02OTAsOSArNzA3LDkgQEAKIAkgKi8KIAltZW1zZXQoJmV0cl9zeW5jLCAwLCBzaXplb2YoZXRyX3N5bmMpKTsKIAlwcmVlbXB0X2Rpc2FibGUoKTsKLQlzbXBfY2FsbF9mdW5jdGlvbihldHJfc3luY19jcHVfc3RhcnQsIE5VTEwsIDAsIDApOworCXNtcF9jYWxsX2Z1bmN0aW9uKGNsb2NrX3N5bmNfY3B1X3N0YXJ0LCAmZXRyX3N5bmMsIDApOwogCWxvY2FsX2lycV9kaXNhYmxlKCk7Ci0JZXRyX2VuYWJsZV9zeW5jX2Nsb2NrKCk7CisJZW5hYmxlX3N5bmNfY2xvY2soKTsKIAogCS8qIFNldCBjbG9jayB0byBuZXh0IE9URS4gKi8KIAlfX2N0bF9zZXRfYml0KDE0LCAyMSk7CkBAIC03MDcsMTMgKzcyNCwxMyBAQAogCQkvKiBBZGp1c3QgTGludXggdGltaW5nIHZhcmlhYmxlcy4gKi8KIAkJZGVsYXkgPSAodW5zaWduZWQgbG9uZyBsb25nKQogCQkJKGFpYi0+ZWRmMi5ldHYgLSBzeW5jX3BvcnQtPmVkZjIuZXR2KSA8PCAzMjsKLQkJZGVsdGEgPSBldHJfYWRqdXN0X3RpbWUob2xkX2Nsb2NrLCBjbG9jaywgZGVsYXkpOworCQlkZWx0YSA9IGFkanVzdF90aW1lKG9sZF9jbG9jaywgY2xvY2ssIGRlbGF5KTsKIAkJZXRyX3N5bmMuZml4dXBfY2MgPSBkZWx0YTsKIAkJZml4dXBfY2xvY2tfY29tcGFyYXRvcihkZWx0YSk7CiAJCS8qIFZlcmlmeSB0aGF0IHRoZSBjbG9jayBpcyBwcm9wZXJseSBzZXQuICovCiAJCWlmICghZXRyX2FpYl9mb2xsb3dzKHN5bmNfcG9ydCwgYWliLCBwb3J0KSkgewogCQkJLyogRGlkbid0IHdvcmsuICovCi0JCQlldHJfZGlzYWJsZV9zeW5jX2Nsb2NrKE5VTEwpOworCQkJZGlzYWJsZV9zeW5jX2Nsb2NrKE5VTEwpOwogCQkJZXRyX3N5bmMuaW5fc3luYyA9IC1FQUdBSU47CiAJCQlyYyA9IC1FQUdBSU47CiAJCX0gZWxzZSB7CkBAIC03MjQsMTIgKzc0MSwxMiBAQAogCQkvKiBDb3VsZCBub3Qgc2V0IHRoZSBjbG9jayA/IT8gKi8KIAkJX19jdGxfY2xlYXJfYml0KDAsIDI5KTsKIAkJX19jdGxfY2xlYXJfYml0KDE0LCAyMSk7Ci0JCWV0cl9kaXNhYmxlX3N5bmNfY2xvY2soTlVMTCk7CisJCWRpc2FibGVfc3luY19jbG9jayhOVUxMKTsKIAkJZXRyX3N5bmMuaW5fc3luYyA9IC1FQUdBSU47CiAJCXJjID0gLUVBR0FJTjsKIAl9CiAJbG9jYWxfaXJxX2VuYWJsZSgpOwotCXNtcF9jYWxsX2Z1bmN0aW9uKGV0cl9zeW5jX2NwdV9lbmQsTlVMTCwwLDApOworCXNtcF9jYWxsX2Z1bmN0aW9uKGNsb2NrX3N5bmNfY3B1X2VuZCwgTlVMTCwgMCk7CiAJcHJlZW1wdF9lbmFibGUoKTsKIAlyZXR1cm4gcmM7CiB9CkBAIC04MzIsNyArODQ5LDcgQEAKIAkgKiBEbyBub3QgdHJ5IHRvIGdldCB0aGUgYWx0ZXJuYXRlIHBvcnQgYWliIGlmIHRoZSBjbG9jawogCSAqIGlzIG5vdCBpbiBzeW5jIHlldC4KIAkgKi8KLQlpZiAoIWVhY3IuZXMpCisJaWYgKCF0ZXN0X2JpdChDTE9DS19TWU5DX1NUUCwgJmNsb2NrX3N5bmNfZmxhZ3MpICYmICFlYWNyLmVzKQogCQlyZXR1cm4gZWFjcjsKIAogCS8qCkBAIC04NDAsNyArODU3LDcgQEAKIAkgKiB0aGUgb3RoZXIgcG9ydCBpbW1lZGlhdGVseS4gSWYgb25seSBzdGV0ciBpcyBhdmFpbGFibGUgdGhlCiAJICogZGF0YS1wb3J0IGJpdCB0b2dnbGUgaGFzIHRvIGJlIHVzZWQuCiAJICovCi0JaWYgKHRlc3RfYml0KEVUUl9GTEFHX1NURUFJLCAmZXRyX2ZsYWdzKSkgeworCWlmIChldHJfc3RlYWlfYXZhaWxhYmxlKSB7CiAJCWlmIChlYWNyLnAwICYmICFldHJfcG9ydDBfdXB0b2RhdGUpIHsKIAkJCWV0cl9zdGVhaV9jdigmZXRyX3BvcnQwLCBFVFJfU1RFQUlfUE9SVF8wKTsKIAkJCWV0cl9wb3J0MF91cHRvZGF0ZSA9IDE7CkBAIC05MDksMTAgKzkyNiwxMCBAQAogCWlmICghZWFjci5lYSkgewogCQkvKiBCb3RoIHBvcnRzIG9mZmxpbmUuIFJlc2V0IGV2ZXJ5dGhpbmcuICovCiAJCWVhY3IuZHAgPSBlYWNyLmVzID0gZWFjci5zbCA9IDA7Ci0JCW9uX2VhY2hfY3B1KGV0cl9kaXNhYmxlX3N5bmNfY2xvY2ssIE5VTEwsIDAsIDEpOworCQlvbl9lYWNoX2NwdShkaXNhYmxlX3N5bmNfY2xvY2ssIE5VTEwsIDEpOwogCQlkZWxfdGltZXJfc3luYygmZXRyX3RpbWVyKTsKIAkJZXRyX3VwZGF0ZV9lYWNyKGVhY3IpOwotCQlzZXRfYml0KEVUUl9GTEFHX0VBQ0NFUywgJmV0cl9mbGFncyk7CisJCWNsZWFyX2JpdChDTE9DS19TWU5DX0VUUiwgJmNsb2NrX3N5bmNfZmxhZ3MpOwogCQlyZXR1cm47CiAJfQogCkBAIC05NTMsNyArOTcwLDYgQEAKIAkJCWVhY3IuZTEgPSAxOwogCQlzeW5jX3BvcnQgPSAoZXRyX3BvcnQwX3VwdG9kYXRlICYmCiAJCQkgICAgIGV0cl9wb3J0X3ZhbGlkKCZldHJfcG9ydDAsIDApKSA/IDAgOiAtMTsKLQkJY2xlYXJfYml0KEVUUl9GTEFHX0VBQ0NFUywgJmV0cl9mbGFncyk7CiAJfSBlbHNlIGlmIChlYWNyLnAxICYmIGFpYi5lc3cucHNjMSA9PSBldHJfbHBzY19wcHNfbW9kZSkgewogCQllYWNyLnNsID0gMDsKIAkJZWFjci5lMCA9IDA7CkBAIC05NjIsNyArOTc4LDYgQEAKIAkJCWVhY3IuZXMgPSAwOwogCQlzeW5jX3BvcnQgPSAoZXRyX3BvcnQxX3VwdG9kYXRlICYmCiAJCQkgICAgIGV0cl9wb3J0X3ZhbGlkKCZldHJfcG9ydDEsIDEpKSA/IDEgOiAtMTsKLQkJY2xlYXJfYml0KEVUUl9GTEFHX0VBQ0NFUywgJmV0cl9mbGFncyk7CiAJfSBlbHNlIGlmIChlYWNyLnAwICYmIGFpYi5lc3cucHNjMCA9PSBldHJfbHBzY19vcGVyYXRpb25hbF9zdGVwKSB7CiAJCWVhY3Iuc2wgPSAxOwogCQllYWNyLmUwID0gMTsKQEAgLTk3Niw3ICs5OTEsNiBAQAogCQkJZWFjci5lMSA9IDE7CiAJCXN5bmNfcG9ydCA9IChldHJfcG9ydDBfdXB0b2RhdGUgJiYKIAkJCSAgICAgZXRyX3BvcnRfdmFsaWQoJmV0cl9wb3J0MCwgMCkpID8gMCA6IC0xOwotCQljbGVhcl9iaXQoRVRSX0ZMQUdfRUFDQ0VTLCAmZXRyX2ZsYWdzKTsKIAl9IGVsc2UgaWYgKGVhY3IucDEgJiYgYWliLmVzdy5wc2MxID09IGV0cl9scHNjX29wZXJhdGlvbmFsX3N0ZXApIHsKIAkJZWFjci5zbCA9IDE7CiAJCWVhY3IuZTAgPSAwOwpAQCAtOTg1LDE5ICs5OTksMjIgQEAKIAkJCWVhY3IuZXMgPSAwOwogCQlzeW5jX3BvcnQgPSAoZXRyX3BvcnQxX3VwdG9kYXRlICYmCiAJCQkgICAgIGV0cl9wb3J0X3ZhbGlkKCZldHJfcG9ydDEsIDEpKSA/IDEgOiAtMTsKLQkJY2xlYXJfYml0KEVUUl9GTEFHX0VBQ0NFUywgJmV0cl9mbGFncyk7CiAJfSBlbHNlIHsKIAkJLyogQm90aCBwb3J0cyBub3QgdXNhYmxlLiAqLwogCQllYWNyLmVzID0gZWFjci5zbCA9IDA7CiAJCXN5bmNfcG9ydCA9IC0xOwotCQlzZXRfYml0KEVUUl9GTEFHX0VBQ0NFUywgJmV0cl9mbGFncyk7CisJCWNsZWFyX2JpdChDTE9DS19TWU5DX0VUUiwgJmNsb2NrX3N5bmNfZmxhZ3MpOwogCX0KIAorCWlmICghdGVzdF9iaXQoQ0xPQ0tfU1lOQ19FVFIsICZjbG9ja19zeW5jX2ZsYWdzKSkKKwkJZWFjci5lcyA9IDA7CisKIAkvKgogCSAqIElmIHRoZSBjbG9jayBpcyBpbiBzeW5jIGp1c3QgdXBkYXRlIHRoZSBlYWNyIGFuZCByZXR1cm4uCiAJICogSWYgdGhlcmUgaXMgbm8gdmFsaWQgc3luYyBwb3J0IHdhaXQgZm9yIGEgcG9ydCB1cGRhdGUuCiAJICovCi0JaWYgKGVhY3IuZXMgfHwgc3luY19wb3J0IDwgMCkgeworCWlmICh0ZXN0X2JpdChDTE9DS19TWU5DX1NUUCwgJmNsb2NrX3N5bmNfZmxhZ3MpIHx8CisJICAgIGVhY3IuZXMgfHwgc3luY19wb3J0IDwgMCkgewogCQlldHJfdXBkYXRlX2VhY3IoZWFjcik7CiAJCWV0cl9zZXRfdG9sZWNfdGltZW91dChub3cpOwogCQlyZXR1cm47CkBAIC0xMDE4LDExICsxMDM1LDEzIEBACiAJICogYW5kIHNldCB1cCBhIHRpbWVyIHRvIHRyeSBhZ2FpbiBhZnRlciAwLjUgc2Vjb25kcwogCSAqLwogCWV0cl91cGRhdGVfZWFjcihlYWNyKTsKKwlzZXRfYml0KENMT0NLX1NZTkNfRVRSLCAmY2xvY2tfc3luY19mbGFncyk7CiAJaWYgKG5vdyA8IGV0cl90b2xlYyArICgxNjAwMDAwIDw8IDEyKSB8fAogCSAgICBldHJfc3luY19jbG9jaygmYWliLCBzeW5jX3BvcnQpICE9IDApIHsKIAkJLyogU3luYyBmYWlsZWQuIFRyeSBhZ2FpbiBpbiAxLzIgc2Vjb25kLiAqLwogCQllYWNyLmVzID0gMDsKIAkJZXRyX3VwZGF0ZV9lYWNyKGVhY3IpOworCQljbGVhcl9iaXQoQ0xPQ0tfU1lOQ19FVFIsICZjbG9ja19zeW5jX2ZsYWdzKTsKIAkJZXRyX3NldF9zeW5jX3RpbWVvdXQoKTsKIAl9IGVsc2UKIAkJZXRyX3NldF90b2xlY190aW1lb3V0KG5vdyk7CkBAIC0xMDk3LDggKzExMTYsOCBAQAogCXZhbHVlID0gc2ltcGxlX3N0cnRvdWwoYnVmLCBOVUxMLCAwKTsKIAlpZiAodmFsdWUgIT0gMCAmJiB2YWx1ZSAhPSAxKQogCQlyZXR1cm4gLUVJTlZBTDsKLQlpZiAodGVzdF9iaXQoRVRSX0ZMQUdfRU5PU1lTLCAmZXRyX2ZsYWdzKSkKLQkJcmV0dXJuIC1FTk9TWVM7CisJaWYgKCF0ZXN0X2JpdChDTE9DS19TWU5DX0hBU19FVFIsICZjbG9ja19zeW5jX2ZsYWdzKSkKKwkJcmV0dXJuIC1FT1BOT1RTVVBQOwogCWlmIChkZXYgPT0gJmV0cl9wb3J0MF9kZXYpIHsKIAkJaWYgKGV0cl9wb3J0MF9vbmxpbmUgPT0gdmFsdWUpCiAJCQlyZXR1cm4gY291bnQ7CS8qIE5vdGhpbmcgdG8gZG8uICovCkBAIC0xMjkyLDMgKzEzMTEsMzE4IEBACiB9CiAKIGRldmljZV9pbml0Y2FsbChldHJfaW5pdF9zeXNmcyk7CisKKy8qCisgKiBTZXJ2ZXIgVGltZSBQcm90b2NvbCAoU1RQKSBjb2RlLgorICovCitzdGF0aWMgaW50IHN0cF9vbmxpbmU7CitzdGF0aWMgc3RydWN0IHN0cF9zc3RwaSBzdHBfaW5mbzsKK3N0YXRpYyB2b2lkICpzdHBfcGFnZTsKKworc3RhdGljIHZvaWQgc3RwX3dvcmtfZm4oc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKTsKK3N0YXRpYyBERUNMQVJFX1dPUksoc3RwX3dvcmssIHN0cF93b3JrX2ZuKTsKKworc3RhdGljIGludCBfX2luaXQgZWFybHlfcGFyc2Vfc3RwKGNoYXIgKnApCit7CisJaWYgKHN0cm5jbXAocCwgIm9mZiIsIDMpID09IDApCisJCXN0cF9vbmxpbmUgPSAwOworCWVsc2UgaWYgKHN0cm5jbXAocCwgIm9uIiwgMikgPT0gMCkKKwkJc3RwX29ubGluZSA9IDE7CisJcmV0dXJuIDA7Cit9CitlYXJseV9wYXJhbSgic3RwIiwgZWFybHlfcGFyc2Vfc3RwKTsKKworLyoKKyAqIFJlc2V0IFNUUCBhdHRhY2htZW50LgorICovCitzdGF0aWMgdm9pZCBzdHBfcmVzZXQodm9pZCkKK3sKKwlpbnQgcmM7CisKKwlzdHBfcGFnZSA9IGFsbG9jX2Jvb3RtZW1fcGFnZXMoUEFHRV9TSVpFKTsKKwlyYyA9IGNoc2Nfc3N0cGMoc3RwX3BhZ2UsIFNUUF9PUF9DVFJMLCAweDAwMDApOworCWlmIChyYyA9PSAxKQorCQlzZXRfYml0KENMT0NLX1NZTkNfSEFTX1NUUCwgJmNsb2NrX3N5bmNfZmxhZ3MpOworCWVsc2UgaWYgKHN0cF9vbmxpbmUpIHsKKwkJcHJpbnRrKEtFUk5fV0FSTklORyAiUnVubmluZyBvbiBub24gU1RQIGNhcGFibGUgbWFjaGluZS5cbiIpOworCQlmcmVlX2Jvb3RtZW0oKHVuc2lnbmVkIGxvbmcpIHN0cF9wYWdlLCBQQUdFX1NJWkUpOworCQlzdHBfcGFnZSA9IE5VTEw7CisJCXN0cF9vbmxpbmUgPSAwOworCX0KK30KKworc3RhdGljIGludCBfX2luaXQgc3RwX2luaXQodm9pZCkKK3sKKwlpZiAodGVzdF9iaXQoQ0xPQ0tfU1lOQ19IQVNfU1RQLCAmY2xvY2tfc3luY19mbGFncykgJiYgc3RwX29ubGluZSkKKwkJc2NoZWR1bGVfd29yaygmc3RwX3dvcmspOworCXJldHVybiAwOworfQorCithcmNoX2luaXRjYWxsKHN0cF9pbml0KTsKKworLyoKKyAqIFNUUCB0aW1pbmcgYWxlcnQuIFRoZXJlIGFyZSB0aHJlZSBjYXVzZXM6CisgKiAxKSB0aW1pbmcgc3RhdHVzIGNoYW5nZQorICogMikgbGluayBhdmFpbGFiaWxpdHkgY2hhbmdlCisgKiAzKSB0aW1lIGNvbnRyb2wgcGFyYW1ldGVyIGNoYW5nZQorICogSW4gYWxsIHRocmVlIGNhc2VzIHdlIGFyZSBvbmx5IGludGVyZXN0ZWQgaW4gdGhlIGNsb2NrIHNvdXJjZSBzdGF0ZS4KKyAqIElmIGEgU1RQIGNsb2NrIHNvdXJjZSBpcyBub3cgYXZhaWxhYmxlIHVzZSBpdC4KKyAqLworc3RhdGljIHZvaWQgc3RwX3RpbWluZ19hbGVydChzdHJ1Y3Qgc3RwX2lycV9wYXJtICppbnRwYXJtKQoreworCWlmIChpbnRwYXJtLT50c2MgfHwgaW50cGFybS0+bGFjIHx8IGludHBhcm0tPnRjcGMpCisJCXNjaGVkdWxlX3dvcmsoJnN0cF93b3JrKTsKK30KKworLyoKKyAqIFNUUCBzeW5jIGNoZWNrIG1hY2hpbmUgY2hlY2suIFRoaXMgaXMgY2FsbGVkIHdoZW4gdGhlIHRpbWluZyBzdGF0ZQorICogY2hhbmdlcyBmcm9tIHRoZSBzeW5jaHJvbml6ZWQgc3RhdGUgdG8gdGhlIHVuc3luY2hyb25pemVkIHN0YXRlLgorICogQWZ0ZXIgYSBTVFAgc3luYyBjaGVjayB0aGUgY2xvY2sgaXMgbm90IGluIHN5bmMuIFRoZSBtYWNoaW5lIGNoZWNrCisgKiBpcyBicm9hZGNhc3RlZCB0byBhbGwgY3B1cyBhdCB0aGUgc2FtZSB0aW1lLgorICovCit2b2lkIHN0cF9zeW5jX2NoZWNrKHZvaWQpCit7CisJaWYgKCF0ZXN0X2JpdChDTE9DS19TWU5DX1NUUCwgJmNsb2NrX3N5bmNfZmxhZ3MpKQorCQlyZXR1cm47CisJZGlzYWJsZV9zeW5jX2Nsb2NrKE5VTEwpOworCXNjaGVkdWxlX3dvcmsoJnN0cF93b3JrKTsKK30KKworLyoKKyAqIFNUUCBpc2xhbmQgY29uZGl0aW9uIG1hY2hpbmUgY2hlY2suIFRoaXMgaXMgY2FsbGVkIHdoZW4gYW4gYXR0YWNoZWQKKyAqIHNlcnZlciAgYXR0ZW1wdHMgdG8gY29tbXVuaWNhdGUgb3ZlciBhbiBTVFAgbGluayBhbmQgdGhlIHNlcnZlcnMKKyAqIGhhdmUgbWF0Y2hpbmcgQ1ROIGlkcyBhbmQgaGF2ZSBhIHZhbGlkIHN0cmF0dW0tMSBjb25maWd1cmF0aW9uCisgKiBidXQgdGhlIGNvbmZpZ3VyYXRpb25zIGRvIG5vdCBtYXRjaC4KKyAqLwordm9pZCBzdHBfaXNsYW5kX2NoZWNrKHZvaWQpCit7CisJaWYgKCF0ZXN0X2JpdChDTE9DS19TWU5DX1NUUCwgJmNsb2NrX3N5bmNfZmxhZ3MpKQorCQlyZXR1cm47CisJZGlzYWJsZV9zeW5jX2Nsb2NrKE5VTEwpOworCXNjaGVkdWxlX3dvcmsoJnN0cF93b3JrKTsKK30KKworLyoKKyAqIFNUUCB0YXNrbGV0LiBDaGVjayBmb3IgdGhlIFNUUCBzdGF0ZSBhbmQgdGFrZSBvdmVyIHRoZSBjbG9jaworICogc3luY2hyb25pemF0aW9uIGlmIHRoZSBTVFAgY2xvY2sgc291cmNlIGlzIHVzYWJsZS4KKyAqLworc3RhdGljIHZvaWQgc3RwX3dvcmtfZm4oc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQoreworCXN0cnVjdCBjbG9ja19zeW5jX2RhdGEgc3RwX3N5bmM7CisJdW5zaWduZWQgbG9uZyBsb25nIG9sZF9jbG9jaywgZGVsdGE7CisJaW50IHJjOworCisJaWYgKCFzdHBfb25saW5lKSB7CisJCWNoc2Nfc3N0cGMoc3RwX3BhZ2UsIFNUUF9PUF9DVFJMLCAweDAwMDApOworCQlyZXR1cm47CisJfQorCisJcmMgPSBjaHNjX3NzdHBjKHN0cF9wYWdlLCBTVFBfT1BfQ1RSTCwgMHhiMGUwKTsKKwlpZiAocmMpCisJCXJldHVybjsKKworCXJjID0gY2hzY19zc3RwaShzdHBfcGFnZSwgJnN0cF9pbmZvLCBzaXplb2Yoc3RydWN0IHN0cF9zc3RwaSkpOworCWlmIChyYyB8fCBzdHBfaW5mby5jID09IDApCisJCXJldHVybjsKKworCS8qCisJICogQ2F0Y2ggYWxsIG90aGVyIGNwdXMgYW5kIG1ha2UgdGhlbSB3YWl0IHVudGlsIHdlIGhhdmUKKwkgKiBzdWNjZXNzZnVsbHkgc3luY2VkIHRoZSBjbG9jay4gc21wX2NhbGxfZnVuY3Rpb24gd2lsbAorCSAqIHJldHVybiBhZnRlciBhbGwgb3RoZXIgY3B1cyBhcmUgaW4gY2xvY2tfc3luY19jcHVfc3RhcnQuCisJICovCisJbWVtc2V0KCZzdHBfc3luYywgMCwgc2l6ZW9mKHN0cF9zeW5jKSk7CisJcHJlZW1wdF9kaXNhYmxlKCk7CisJc21wX2NhbGxfZnVuY3Rpb24oY2xvY2tfc3luY19jcHVfc3RhcnQsICZzdHBfc3luYywgMCk7CisJbG9jYWxfaXJxX2Rpc2FibGUoKTsKKwllbmFibGVfc3luY19jbG9jaygpOworCisJc2V0X2JpdChDTE9DS19TWU5DX1NUUCwgJmNsb2NrX3N5bmNfZmxhZ3MpOworCWlmICh0ZXN0X2FuZF9jbGVhcl9iaXQoQ0xPQ0tfU1lOQ19FVFIsICZjbG9ja19zeW5jX2ZsYWdzKSkKKwkJc2NoZWR1bGVfd29yaygmZXRyX3dvcmspOworCisJcmMgPSAwOworCWlmIChzdHBfaW5mby50b2RvZmZbMF0gfHwgc3RwX2luZm8udG9kb2ZmWzFdIHx8CisJICAgIHN0cF9pbmZvLnRvZG9mZlsyXSB8fCBzdHBfaW5mby50b2RvZmZbM10gfHwKKwkgICAgc3RwX2luZm8udG1kICE9IDIpIHsKKwkJb2xkX2Nsb2NrID0gZ2V0X2Nsb2NrKCk7CisJCXJjID0gY2hzY19zc3RwYyhzdHBfcGFnZSwgU1RQX09QX1NZTkMsIDApOworCQlpZiAocmMgPT0gMCkgeworCQkJZGVsdGEgPSBhZGp1c3RfdGltZShvbGRfY2xvY2ssIGdldF9jbG9jaygpLCAwKTsKKwkJCWZpeHVwX2Nsb2NrX2NvbXBhcmF0b3IoZGVsdGEpOworCQkJcmMgPSBjaHNjX3NzdHBpKHN0cF9wYWdlLCAmc3RwX2luZm8sCisJCQkJCXNpemVvZihzdHJ1Y3Qgc3RwX3NzdHBpKSk7CisJCQlpZiAocmMgPT0gMCAmJiBzdHBfaW5mby50bWQgIT0gMikKKwkJCQlyYyA9IC1FQUdBSU47CisJCX0KKwl9CisJaWYgKHJjKSB7CisJCWRpc2FibGVfc3luY19jbG9jayhOVUxMKTsKKwkJc3RwX3N5bmMuaW5fc3luYyA9IC1FQUdBSU47CisJCWNsZWFyX2JpdChDTE9DS19TWU5DX1NUUCwgJmNsb2NrX3N5bmNfZmxhZ3MpOworCQlpZiAoZXRyX3BvcnQwX29ubGluZSB8fCBldHJfcG9ydDFfb25saW5lKQorCQkJc2NoZWR1bGVfd29yaygmZXRyX3dvcmspOworCX0gZWxzZQorCQlzdHBfc3luYy5pbl9zeW5jID0gMTsKKworCWxvY2FsX2lycV9lbmFibGUoKTsKKwlzbXBfY2FsbF9mdW5jdGlvbihjbG9ja19zeW5jX2NwdV9lbmQsIE5VTEwsIDApOworCXByZWVtcHRfZW5hYmxlKCk7Cit9CisKKy8qCisgKiBTVFAgY2xhc3Mgc3lzZnMgaW50ZXJmYWNlIGZ1bmN0aW9ucworICovCitzdGF0aWMgc3RydWN0IHN5c2Rldl9jbGFzcyBzdHBfc3lzY2xhc3MgPSB7CisJLm5hbWUJPSAic3RwIiwKK307CisKK3N0YXRpYyBzc2l6ZV90IHN0cF9jdG5faWRfc2hvdyhzdHJ1Y3Qgc3lzZGV2X2NsYXNzICpjbGFzcywgY2hhciAqYnVmKQoreworCWlmICghc3RwX29ubGluZSkKKwkJcmV0dXJuIC1FTk9EQVRBOworCXJldHVybiBzcHJpbnRmKGJ1ZiwgIiUwMTZsbHhcbiIsCisJCSAgICAgICAqKHVuc2lnbmVkIGxvbmcgbG9uZyAqKSBzdHBfaW5mby5jdG5pZCk7Cit9CisKK3N0YXRpYyBTWVNERVZfQ0xBU1NfQVRUUihjdG5faWQsIDA0MDAsIHN0cF9jdG5faWRfc2hvdywgTlVMTCk7CisKK3N0YXRpYyBzc2l6ZV90IHN0cF9jdG5fdHlwZV9zaG93KHN0cnVjdCBzeXNkZXZfY2xhc3MgKmNsYXNzLCBjaGFyICpidWYpCit7CisJaWYgKCFzdHBfb25saW5lKQorCQlyZXR1cm4gLUVOT0RBVEE7CisJcmV0dXJuIHNwcmludGYoYnVmLCAiJWlcbiIsIHN0cF9pbmZvLmN0bik7Cit9CisKK3N0YXRpYyBTWVNERVZfQ0xBU1NfQVRUUihjdG5fdHlwZSwgMDQwMCwgc3RwX2N0bl90eXBlX3Nob3csIE5VTEwpOworCitzdGF0aWMgc3NpemVfdCBzdHBfZHN0X29mZnNldF9zaG93KHN0cnVjdCBzeXNkZXZfY2xhc3MgKmNsYXNzLCBjaGFyICpidWYpCit7CisJaWYgKCFzdHBfb25saW5lIHx8ICEoc3RwX2luZm8udmJpdHMgJiAweDIwMDApKQorCQlyZXR1cm4gLUVOT0RBVEE7CisJcmV0dXJuIHNwcmludGYoYnVmLCAiJWlcbiIsIChpbnQpKHMxNikgc3RwX2luZm8uZHN0byk7Cit9CisKK3N0YXRpYyBTWVNERVZfQ0xBU1NfQVRUUihkc3Rfb2Zmc2V0LCAwNDAwLCBzdHBfZHN0X29mZnNldF9zaG93LCBOVUxMKTsKKworc3RhdGljIHNzaXplX3Qgc3RwX2xlYXBfc2Vjb25kc19zaG93KHN0cnVjdCBzeXNkZXZfY2xhc3MgKmNsYXNzLCBjaGFyICpidWYpCit7CisJaWYgKCFzdHBfb25saW5lIHx8ICEoc3RwX2luZm8udmJpdHMgJiAweDgwMDApKQorCQlyZXR1cm4gLUVOT0RBVEE7CisJcmV0dXJuIHNwcmludGYoYnVmLCAiJWlcbiIsIChpbnQpKHMxNikgc3RwX2luZm8ubGVhcHMpOworfQorCitzdGF0aWMgU1lTREVWX0NMQVNTX0FUVFIobGVhcF9zZWNvbmRzLCAwNDAwLCBzdHBfbGVhcF9zZWNvbmRzX3Nob3csIE5VTEwpOworCitzdGF0aWMgc3NpemVfdCBzdHBfc3RyYXR1bV9zaG93KHN0cnVjdCBzeXNkZXZfY2xhc3MgKmNsYXNzLCBjaGFyICpidWYpCit7CisJaWYgKCFzdHBfb25saW5lKQorCQlyZXR1cm4gLUVOT0RBVEE7CisJcmV0dXJuIHNwcmludGYoYnVmLCAiJWlcbiIsIChpbnQpKHMxNikgc3RwX2luZm8uc3RyYXR1bSk7Cit9CisKK3N0YXRpYyBTWVNERVZfQ0xBU1NfQVRUUihzdHJhdHVtLCAwNDAwLCBzdHBfc3RyYXR1bV9zaG93LCBOVUxMKTsKKworc3RhdGljIHNzaXplX3Qgc3RwX3RpbWVfb2Zmc2V0X3Nob3coc3RydWN0IHN5c2Rldl9jbGFzcyAqY2xhc3MsIGNoYXIgKmJ1ZikKK3sKKwlpZiAoIXN0cF9vbmxpbmUgfHwgIShzdHBfaW5mby52Yml0cyAmIDB4MDgwMCkpCisJCXJldHVybiAtRU5PREFUQTsKKwlyZXR1cm4gc3ByaW50ZihidWYsICIlaVxuIiwgKGludCkgc3RwX2luZm8udHRvKTsKK30KKworc3RhdGljIFNZU0RFVl9DTEFTU19BVFRSKHRpbWVfb2Zmc2V0LCAwNDAwLCBzdHBfdGltZV9vZmZzZXRfc2hvdywgTlVMTCk7CisKK3N0YXRpYyBzc2l6ZV90IHN0cF90aW1lX3pvbmVfb2Zmc2V0X3Nob3coc3RydWN0IHN5c2Rldl9jbGFzcyAqY2xhc3MsIGNoYXIgKmJ1ZikKK3sKKwlpZiAoIXN0cF9vbmxpbmUgfHwgIShzdHBfaW5mby52Yml0cyAmIDB4NDAwMCkpCisJCXJldHVybiAtRU5PREFUQTsKKwlyZXR1cm4gc3ByaW50ZihidWYsICIlaVxuIiwgKGludCkoczE2KSBzdHBfaW5mby50em8pOworfQorCitzdGF0aWMgU1lTREVWX0NMQVNTX0FUVFIodGltZV96b25lX29mZnNldCwgMDQwMCwKKwkJCSBzdHBfdGltZV96b25lX29mZnNldF9zaG93LCBOVUxMKTsKKworc3RhdGljIHNzaXplX3Qgc3RwX3RpbWluZ19tb2RlX3Nob3coc3RydWN0IHN5c2Rldl9jbGFzcyAqY2xhc3MsIGNoYXIgKmJ1ZikKK3sKKwlpZiAoIXN0cF9vbmxpbmUpCisJCXJldHVybiAtRU5PREFUQTsKKwlyZXR1cm4gc3ByaW50ZihidWYsICIlaVxuIiwgc3RwX2luZm8udG1kKTsKK30KKworc3RhdGljIFNZU0RFVl9DTEFTU19BVFRSKHRpbWluZ19tb2RlLCAwNDAwLCBzdHBfdGltaW5nX21vZGVfc2hvdywgTlVMTCk7CisKK3N0YXRpYyBzc2l6ZV90IHN0cF90aW1pbmdfc3RhdGVfc2hvdyhzdHJ1Y3Qgc3lzZGV2X2NsYXNzICpjbGFzcywgY2hhciAqYnVmKQoreworCWlmICghc3RwX29ubGluZSkKKwkJcmV0dXJuIC1FTk9EQVRBOworCXJldHVybiBzcHJpbnRmKGJ1ZiwgIiVpXG4iLCBzdHBfaW5mby50c3QpOworfQorCitzdGF0aWMgU1lTREVWX0NMQVNTX0FUVFIodGltaW5nX3N0YXRlLCAwNDAwLCBzdHBfdGltaW5nX3N0YXRlX3Nob3csIE5VTEwpOworCitzdGF0aWMgc3NpemVfdCBzdHBfb25saW5lX3Nob3coc3RydWN0IHN5c2Rldl9jbGFzcyAqY2xhc3MsIGNoYXIgKmJ1ZikKK3sKKwlyZXR1cm4gc3ByaW50ZihidWYsICIlaVxuIiwgc3RwX29ubGluZSk7Cit9CisKK3N0YXRpYyBzc2l6ZV90IHN0cF9vbmxpbmVfc3RvcmUoc3RydWN0IHN5c2Rldl9jbGFzcyAqY2xhc3MsCisJCQkJY29uc3QgY2hhciAqYnVmLCBzaXplX3QgY291bnQpCit7CisJdW5zaWduZWQgaW50IHZhbHVlOworCisJdmFsdWUgPSBzaW1wbGVfc3RydG91bChidWYsIE5VTEwsIDApOworCWlmICh2YWx1ZSAhPSAwICYmIHZhbHVlICE9IDEpCisJCXJldHVybiAtRUlOVkFMOworCWlmICghdGVzdF9iaXQoQ0xPQ0tfU1lOQ19IQVNfU1RQLCAmY2xvY2tfc3luY19mbGFncykpCisJCXJldHVybiAtRU9QTk9UU1VQUDsKKwlzdHBfb25saW5lID0gdmFsdWU7CisJc2NoZWR1bGVfd29yaygmc3RwX3dvcmspOworCXJldHVybiBjb3VudDsKK30KKworLyoKKyAqIENhbid0IHVzZSBTWVNERVZfQ0xBU1NfQVRUUiBiZWNhdXNlIHRoZSBhdHRyaWJ1dGUgc2hvdWxkIGJlIG5hbWVkCisgKiBzdHAvb25saW5lIGJ1dCBhdHRyX29ubGluZSBhbHJlYWR5IGV4aXN0cyBpbiB0aGlzIGZpbGUgLi4KKyAqLworc3RhdGljIHN0cnVjdCBzeXNkZXZfY2xhc3NfYXR0cmlidXRlIGF0dHJfc3RwX29ubGluZSA9IHsKKwkuYXR0ciA9IHsgLm5hbWUgPSAib25saW5lIiwgLm1vZGUgPSAwNjAwIH0sCisJLnNob3cJPSBzdHBfb25saW5lX3Nob3csCisJLnN0b3JlCT0gc3RwX29ubGluZV9zdG9yZSwKK307CisKK3N0YXRpYyBzdHJ1Y3Qgc3lzZGV2X2NsYXNzX2F0dHJpYnV0ZSAqc3RwX2F0dHJpYnV0ZXNbXSA9IHsKKwkmYXR0cl9jdG5faWQsCisJJmF0dHJfY3RuX3R5cGUsCisJJmF0dHJfZHN0X29mZnNldCwKKwkmYXR0cl9sZWFwX3NlY29uZHMsCisJJmF0dHJfc3RwX29ubGluZSwKKwkmYXR0cl9zdHJhdHVtLAorCSZhdHRyX3RpbWVfb2Zmc2V0LAorCSZhdHRyX3RpbWVfem9uZV9vZmZzZXQsCisJJmF0dHJfdGltaW5nX21vZGUsCisJJmF0dHJfdGltaW5nX3N0YXRlLAorCU5VTEwKK307CisKK3N0YXRpYyBpbnQgX19pbml0IHN0cF9pbml0X3N5c2ZzKHZvaWQpCit7CisJc3RydWN0IHN5c2Rldl9jbGFzc19hdHRyaWJ1dGUgKiphdHRyOworCWludCByYzsKKworCXJjID0gc3lzZGV2X2NsYXNzX3JlZ2lzdGVyKCZzdHBfc3lzY2xhc3MpOworCWlmIChyYykKKwkJZ290byBvdXQ7CisJZm9yIChhdHRyID0gc3RwX2F0dHJpYnV0ZXM7ICphdHRyOyBhdHRyKyspIHsKKwkJcmMgPSBzeXNkZXZfY2xhc3NfY3JlYXRlX2ZpbGUoJnN0cF9zeXNjbGFzcywgKmF0dHIpOworCQlpZiAocmMpCisJCQlnb3RvIG91dF91bnJlZzsKKwl9CisJcmV0dXJuIDA7CitvdXRfdW5yZWc6CisJZm9yICg7IGF0dHIgPj0gc3RwX2F0dHJpYnV0ZXM7IGF0dHItLSkKKwkJc3lzZGV2X2NsYXNzX3JlbW92ZV9maWxlKCZzdHBfc3lzY2xhc3MsICphdHRyKTsKKwlzeXNkZXZfY2xhc3NfdW5yZWdpc3Rlcigmc3RwX3N5c2NsYXNzKTsKK291dDoKKwlyZXR1cm4gcmM7Cit9CisKK2RldmljZV9pbml0Y2FsbChzdHBfaW5pdF9zeXNmcyk7CmRpZmYgLS1naXQgYS9hcmNoL3MzOTAva2VybmVsL3RvcG9sb2d5LmMgYi9hcmNoL3MzOTAva2VybmVsL3RvcG9sb2d5LmMKaW5kZXggNjYxYTA3Mi4uMjEyZDYxOCAxMDA2NDQKLS0tIGEvYXJjaC9zMzkwL2tlcm5lbC90b3BvbG9neS5jCisrKyBiL2FyY2gvczM5MC9rZXJuZWwvdG9wb2xvZ3kuYwpAQCAtMzEzLDggKzMxMyw2IEBACiAJCW1hY2hpbmVfaGFzX3RvcG9sb2d5X2lycSA9IDE7CiAKIAl0bF9pbmZvID0gYWxsb2NfYm9vdG1lbV9wYWdlcyhQQUdFX1NJWkUpOwotCWlmICghdGxfaW5mbykKLQkJZ290byBlcnJvcjsKIAlpbmZvID0gdGxfaW5mbzsKIAlzdHNpKGluZm8sIDE1LCAxLCAyKTsKIApkaWZmIC0tZ2l0IGEvYXJjaC9zMzkwL2tlcm5lbC92bWxpbnV4Lmxkcy5TIGIvYXJjaC9zMzkwL2tlcm5lbC92bWxpbnV4Lmxkcy5TCmluZGV4IGI0NjA3MTUuLjc2YzFlNjAgMTAwNjQ0Ci0tLSBhL2FyY2gvczM5MC9rZXJuZWwvdm1saW51eC5sZHMuUworKysgYi9hcmNoL3MzOTAva2VybmVsL3ZtbGludXgubGRzLlMKQEAgLTQwLDcgKzQwLDYgQEAKIAlfZXRleHQgPSAuOwkJLyogRW5kIG9mIHRleHQgc2VjdGlvbiAqLwogCiAJTk9URVMgOnRleHQgOm5vdGUKLQlCVUdfVEFCTEUgOnRleHQKIAogCVJPREFUQQogCmRpZmYgLS1naXQgYS9hcmNoL3MzOTAva2VybmVsL3Z0aW1lLmMgYi9hcmNoL3MzOTAva2VybmVsL3Z0aW1lLmMKaW5kZXggY2E5MGVlMy4uMGZhNWRjNSAxMDA2NDQKLS0tIGEvYXJjaC9zMzkwL2tlcm5lbC92dGltZS5jCisrKyBiL2FyY2gvczM5MC9rZXJuZWwvdnRpbWUuYwpAQCAtMTM2LDcgKzEzNiw3IEBACiB9CiAjZW5kaWYKIAotc3RhdGljIHZvaWQgc3RhcnRfY3B1X3RpbWVyKHZvaWQpCit2b2lkIHZ0aW1lX3N0YXJ0X2NwdV90aW1lcih2b2lkKQogewogCXN0cnVjdCB2dGltZXJfcXVldWUgKnZ0X2xpc3Q7CiAKQEAgLTE1MCw3ICsxNTAsNyBAQAogCQlzZXRfdnRpbWVyKHZ0X2xpc3QtPmlkbGUpOwogfQogCi1zdGF0aWMgdm9pZCBzdG9wX2NwdV90aW1lcih2b2lkKQordm9pZCB2dGltZV9zdG9wX2NwdV90aW1lcih2b2lkKQogewogCXN0cnVjdCB2dGltZXJfcXVldWUgKnZ0X2xpc3Q7CiAKQEAgLTMxOCw4ICszMTgsNyBAQAogCXZ0X2xpc3QgPSAmcGVyX2NwdSh2aXJ0X2NwdV90aW1lciwgdGltZXItPmNwdSk7CiAJc3Bpbl9sb2NrX2lycXNhdmUoJnZ0X2xpc3QtPmxvY2ssIGZsYWdzKTsKIAotCWlmICh0aW1lci0+Y3B1ICE9IHNtcF9wcm9jZXNzb3JfaWQoKSkKLQkJcHJpbnRrKCJpbnRlcm5hbF9hZGRfdnRpbWVyOiBCVUcsIHJ1bm5pbmcgb24gd3JvbmcgQ1BVIik7CisJQlVHX09OKHRpbWVyLT5jcHUgIT0gc21wX3Byb2Nlc3Nvcl9pZCgpKTsKIAogCS8qIGlmIGxpc3QgaXMgZW1wdHkgd2Ugb25seSBoYXZlIHRvIHNldCB0aGUgdGltZXIgKi8KIAlpZiAobGlzdF9lbXB0eSgmdnRfbGlzdC0+bGlzdCkpIHsKQEAgLTM1MywyNSArMzUyLDEyIEBACiAJcHV0X2NwdSgpOwogfQogCi1zdGF0aWMgaW5saW5lIGludCBwcmVwYXJlX3Z0aW1lcihzdHJ1Y3QgdnRpbWVyX2xpc3QgKnRpbWVyKQorc3RhdGljIGlubGluZSB2b2lkIHByZXBhcmVfdnRpbWVyKHN0cnVjdCB2dGltZXJfbGlzdCAqdGltZXIpCiB7Ci0JaWYgKCF0aW1lci0+ZnVuY3Rpb24pIHsKLQkJcHJpbnRrKCJhZGRfdmlydF90aW1lcjogdW5pbml0aWFsaXplZCB0aW1lclxuIik7Ci0JCXJldHVybiAtRUlOVkFMOwotCX0KLQotCWlmICghdGltZXItPmV4cGlyZXMgfHwgdGltZXItPmV4cGlyZXMgPiBWVElNRVJfTUFYX1NMSUNFKSB7Ci0JCXByaW50aygiYWRkX3ZpcnRfdGltZXI6IGludmFsaWQgdGltZXIgZXhwaXJlIHZhbHVlIVxuIik7Ci0JCXJldHVybiAtRUlOVkFMOwotCX0KLQotCWlmICh2dGltZXJfcGVuZGluZyh0aW1lcikpIHsKLQkJcHJpbnRrKCJhZGRfdmlydF90aW1lcjogdGltZXIgcGVuZGluZ1xuIik7Ci0JCXJldHVybiAtRUJVU1k7Ci0JfQotCisJQlVHX09OKCF0aW1lci0+ZnVuY3Rpb24pOworCUJVR19PTighdGltZXItPmV4cGlyZXMgfHwgdGltZXItPmV4cGlyZXMgPiBWVElNRVJfTUFYX1NMSUNFKTsKKwlCVUdfT04odnRpbWVyX3BlbmRpbmcodGltZXIpKTsKIAl0aW1lci0+Y3B1ID0gZ2V0X2NwdSgpOwotCXJldHVybiAwOwogfQogCiAvKgpAQCAtMzgyLDEwICszNjgsNyBAQAogCXN0cnVjdCB2dGltZXJfbGlzdCAqdGltZXI7CiAKIAl0aW1lciA9IChzdHJ1Y3QgdnRpbWVyX2xpc3QgKiluZXc7Ci0KLQlpZiAocHJlcGFyZV92dGltZXIodGltZXIpIDwgMCkKLQkJcmV0dXJuOwotCisJcHJlcGFyZV92dGltZXIodGltZXIpOwogCXRpbWVyLT5pbnRlcnZhbCA9IDA7CiAJaW50ZXJuYWxfYWRkX3Z0aW1lcih0aW1lcik7CiB9CkBAIC0zOTksMTAgKzM4Miw3IEBACiAJc3RydWN0IHZ0aW1lcl9saXN0ICp0aW1lcjsKIAogCXRpbWVyID0gKHN0cnVjdCB2dGltZXJfbGlzdCAqKW5ldzsKLQotCWlmIChwcmVwYXJlX3Z0aW1lcih0aW1lcikgPCAwKQotCQlyZXR1cm47Ci0KKwlwcmVwYXJlX3Z0aW1lcih0aW1lcik7CiAJdGltZXItPmludGVydmFsID0gdGltZXItPmV4cGlyZXM7CiAJaW50ZXJuYWxfYWRkX3Z0aW1lcih0aW1lcik7CiB9CkBAIC00MjMsMTUgKzQwMyw4IEBACiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAlpbnQgY3B1OwogCi0JaWYgKCF0aW1lci0+ZnVuY3Rpb24pIHsKLQkJcHJpbnRrKCJtb2RfdmlydF90aW1lcjogdW5pbml0aWFsaXplZCB0aW1lclxuIik7Ci0JCXJldHVybgktRUlOVkFMOwotCX0KLQotCWlmICghZXhwaXJlcyB8fCBleHBpcmVzID4gVlRJTUVSX01BWF9TTElDRSkgewotCQlwcmludGsoIm1vZF92aXJ0X3RpbWVyOiBpbnZhbGlkIGV4cGlyZSByYW5nZVxuIik7Ci0JCXJldHVybiAtRUlOVkFMOwotCX0KKwlCVUdfT04oIXRpbWVyLT5mdW5jdGlvbik7CisJQlVHX09OKCFleHBpcmVzIHx8IGV4cGlyZXMgPiBWVElNRVJfTUFYX1NMSUNFKTsKIAogCS8qCiAJICogVGhpcyBpcyBhIGNvbW1vbiBvcHRpbWl6YXRpb24gdHJpZ2dlcmVkIGJ5IHRoZQpAQCAtNDQ0LDYgKzQxNyw5IEBACiAJY3B1ID0gZ2V0X2NwdSgpOwogCXZ0X2xpc3QgPSAmcGVyX2NwdSh2aXJ0X2NwdV90aW1lciwgY3B1KTsKIAorCS8qIGNoZWNrIGlmIHdlIHJ1biBvbiB0aGUgcmlnaHQgQ1BVICovCisJQlVHX09OKHRpbWVyLT5jcHUgIT0gY3B1KTsKKwogCS8qIGRpc2FibGUgaW50ZXJydXB0cyBiZWZvcmUgdGVzdCBpZiB0aW1lciBpcyBwZW5kaW5nICovCiAJc3Bpbl9sb2NrX2lycXNhdmUoJnZ0X2xpc3QtPmxvY2ssIGZsYWdzKTsKIApAQCAtNDU4LDE0ICs0MzQsNiBAQAogCQlyZXR1cm4gMDsKIAl9CiAKLQkvKiBjaGVjayBpZiB3ZSBydW4gb24gdGhlIHJpZ2h0IENQVSAqLwotCWlmICh0aW1lci0+Y3B1ICE9IGNwdSkgewotCQlwcmludGsoIm1vZF92aXJ0X3RpbWVyOiBydW5uaW5nIG9uIHdyb25nIENQVSwgY2hlY2sgeW91ciBjb2RlXG4iKTsKLQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmdnRfbGlzdC0+bG9jaywgZmxhZ3MpOwotCQlwdXRfY3B1KCk7Ci0JCXJldHVybiAtRUlOVkFMOwotCX0KLQogCWxpc3RfZGVsX2luaXQoJnRpbWVyLT5lbnRyeSk7CiAJdGltZXItPmV4cGlyZXMgPSBleHBpcmVzOwogCkBAIC01MzYsMjQgKzUwNCw2IEBACiAKIH0KIAotc3RhdGljIGludCB2dGltZXJfaWRsZV9ub3RpZnkoc3RydWN0IG5vdGlmaWVyX2Jsb2NrICpzZWxmLAotCQkJICAgICAgdW5zaWduZWQgbG9uZyBhY3Rpb24sIHZvaWQgKmhjcHUpCi17Ci0Jc3dpdGNoIChhY3Rpb24pIHsKLQljYXNlIFMzOTBfQ1BVX0lETEU6Ci0JCXN0b3BfY3B1X3RpbWVyKCk7Ci0JCWJyZWFrOwotCWNhc2UgUzM5MF9DUFVfTk9UX0lETEU6Ci0JCXN0YXJ0X2NwdV90aW1lcigpOwotCQlicmVhazsKLQl9Ci0JcmV0dXJuIE5PVElGWV9PSzsKLX0KLQotc3RhdGljIHN0cnVjdCBub3RpZmllcl9ibG9jayB2dGltZXJfaWRsZV9uYiA9IHsKLQkubm90aWZpZXJfY2FsbCA9IHZ0aW1lcl9pZGxlX25vdGlmeSwKLX07Ci0KIHZvaWQgX19pbml0IHZ0aW1lX2luaXQodm9pZCkKIHsKIAkvKiByZXF1ZXN0IHRoZSBjcHUgdGltZXIgZXh0ZXJuYWwgaW50ZXJydXB0ICovCkBAIC01NjEsOSArNTExLDYgQEAKIAkJCQkJICAgICAgJmV4dF9pbnRfaW5mb190aW1lcikgIT0gMCkKIAkJcGFuaWMoIkNvdWxkbid0IHJlcXVlc3QgZXh0ZXJuYWwgaW50ZXJydXB0IDB4MTAwNSIpOwogCi0JaWYgKHJlZ2lzdGVyX2lkbGVfbm90aWZpZXIoJnZ0aW1lcl9pZGxlX25iKSkKLQkJcGFuaWMoIkNvdWxkbid0IHJlZ2lzdGVyIGlkbGUgbm90aWZpZXIiKTsKLQogCS8qIEVuYWJsZSBjcHUgdGltZXIgaW50ZXJydXB0cyBvbiB0aGUgYm9vdCBjcHUuICovCiAJaW5pdF9jcHVfdnRpbWVyKCk7CiB9CmRpZmYgLS1naXQgYS9hcmNoL3MzOTAvbW0vaW5pdC5jIGIvYXJjaC9zMzkwL21tL2luaXQuYwppbmRleCAwNTU5ODY0Li4zODhjYzc0IDEwMDY0NAotLS0gYS9hcmNoL3MzOTAvbW0vaW5pdC5jCisrKyBiL2FyY2gvczM5MC9tbS9pbml0LmMKQEAgLTIwMiwzICsyMDIsMjIgQEAKICAgICAgICAgfQogfQogI2VuZGlmCisKKyNpZmRlZiBDT05GSUdfTUVNT1JZX0hPVFBMVUcKK2ludCBhcmNoX2FkZF9tZW1vcnkoaW50IG5pZCwgdTY0IHN0YXJ0LCB1NjQgc2l6ZSkKK3sKKwlzdHJ1Y3QgcGdsaXN0X2RhdGEgKnBnZGF0OworCXN0cnVjdCB6b25lICp6b25lOworCWludCByYzsKKworCXBnZGF0ID0gTk9ERV9EQVRBKG5pZCk7CisJem9uZSA9IHBnZGF0LT5ub2RlX3pvbmVzICsgWk9ORV9OT1JNQUw7CisJcmMgPSB2bWVtX2FkZF9tYXBwaW5nKHN0YXJ0LCBzaXplKTsKKwlpZiAocmMpCisJCXJldHVybiByYzsKKwlyYyA9IF9fYWRkX3BhZ2VzKHpvbmUsIFBGTl9ET1dOKHN0YXJ0KSwgUEZOX0RPV04oc2l6ZSkpOworCWlmIChyYykKKwkJdm1lbV9yZW1vdmVfbWFwcGluZyhzdGFydCwgc2l6ZSk7CisJcmV0dXJuIHJjOworfQorI2VuZGlmIC8qIENPTkZJR19NRU1PUllfSE9UUExVRyAqLwpkaWZmIC0tZ2l0IGEvYXJjaC9zaC9LY29uZmlnIGIvYXJjaC9zaC9LY29uZmlnCmluZGV4IDlhODU0YzguLjNlNzM4NGYgMTAwNjQ0Ci0tLSBhL2FyY2gvc2gvS2NvbmZpZworKysgYi9hcmNoL3NoL0tjb25maWcKQEAgLTY4OCw2ICs2ODgsNyBAQAogY29uZmlnIFNNUAogCWJvb2wgIlN5bW1ldHJpYyBtdWx0aS1wcm9jZXNzaW5nIHN1cHBvcnQiCiAJZGVwZW5kcyBvbiBTWVNfU1VQUE9SVFNfU01QCisJc2VsZWN0IFVTRV9HRU5FUklDX1NNUF9IRUxQRVJTCiAJLS0taGVscC0tLQogCSAgVGhpcyBlbmFibGVzIHN1cHBvcnQgZm9yIHN5c3RlbXMgd2l0aCBtb3JlIHRoYW4gb25lIENQVS4gSWYgeW91IGhhdmUKIAkgIGEgc3lzdGVtIHdpdGggb25seSBvbmUgQ1BVLCBsaWtlIG1vc3QgcGVyc29uYWwgY29tcHV0ZXJzLCBzYXkgTi4gSWYKZGlmZiAtLWdpdCBhL2FyY2gvc2gvYm9hcmRzL2xhbmRpc2svZ2lvLmMgYi9hcmNoL3NoL2JvYXJkcy9sYW5kaXNrL2dpby5jCmluZGV4IDE3MDI1MDguLjBjMTViMGEgMTAwNjQ0Ci0tLSBhL2FyY2gvc2gvYm9hcmRzL2xhbmRpc2svZ2lvLmMKKysrIGIvYXJjaC9zaC9ib2FyZHMvbGFuZGlzay9naW8uYwpAQCAtMTQsNiArMTQsNyBAQAogICovCiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgva2Rldl90Lmg+CiAjaW5jbHVkZSA8bGludXgvY2Rldi5oPgogI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CkBAIC0zMiwxNyArMzMsMjAgQEAKIHN0YXRpYyBpbnQgZ2lvX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbHApCiB7CiAJaW50IG1pbm9yOworCWludCByZXQgPSAtRU5PRU5UOwogCisJbG9ja19rZXJuZWwoKTsKIAltaW5vciA9IE1JTk9SKGlub2RlLT5pX3JkZXYpOwogCWlmIChtaW5vciA8IERFVkNPVU5UKSB7CiAJCWlmIChvcGVuQ250ID4gMCkgewotCQkJcmV0dXJuIC1FQUxSRUFEWTsKKwkJCXJldCA9IC1FQUxSRUFEWTsKIAkJfSBlbHNlIHsKIAkJCW9wZW5DbnQrKzsKLQkJCXJldHVybiAwOworCQkJcmV0ID0gMDsKIAkJfQogCX0KLQlyZXR1cm4gLUVOT0VOVDsKKwl1bmxvY2tfa2VybmVsKCk7CisJcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIGludCBnaW9fY2xvc2Uoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbHApCmRpZmYgLS1naXQgYS9hcmNoL3NoL2NvbmZpZ3MvbGFuZGlza19kZWZjb25maWcgYi9hcmNoL3NoL2NvbmZpZ3MvbGFuZGlza19kZWZjb25maWcKaW5kZXggZjUyZGIxMi4uMzhmOTM0YSAxMDA2NDQKLS0tIGEvYXJjaC9zaC9jb25maWdzL2xhbmRpc2tfZGVmY29uZmlnCisrKyBiL2FyY2gvc2gvY29uZmlncy9sYW5kaXNrX2RlZmNvbmZpZwpAQCAtMjI2LDcgKzIyNiw2IEBACiAjCiBDT05GSUdfU0hfVE1VPXkKIENPTkZJR19TSF9USU1FUl9JUlE9MTYKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX1NIX1BDTEtfRlJFUT0zMzMzMzMzMwogCiAjCmRpZmYgLS1naXQgYS9hcmNoL3NoL2NvbmZpZ3MvbGJveHJlMl9kZWZjb25maWcgYi9hcmNoL3NoL2NvbmZpZ3MvbGJveHJlMl9kZWZjb25maWcKaW5kZXggOWZhNjZkOS4uYjY4YjZjZCAxMDA2NDQKLS0tIGEvYXJjaC9zaC9jb25maWdzL2xib3hyZTJfZGVmY29uZmlnCisrKyBiL2FyY2gvc2gvY29uZmlncy9sYm94cmUyX2RlZmNvbmZpZwpAQCAtMjMxLDcgKzIzMSw2IEBACiAjCiBDT05GSUdfU0hfVE1VPXkKIENPTkZJR19TSF9USU1FUl9JUlE9MTYKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX1NIX1BDTEtfRlJFUT00MDAwMDAwMAogCiAjCmRpZmYgLS1naXQgYS9hcmNoL3NoL2NvbmZpZ3Mvc2U3NzA1X2RlZmNvbmZpZyBiL2FyY2gvc2gvY29uZmlncy9zZTc3MDVfZGVmY29uZmlnCmluZGV4IDg0NzE3ZDguLjQ5MGRjYmMgMTAwNjQ0Ci0tLSBhL2FyY2gvc2gvY29uZmlncy9zZTc3MDVfZGVmY29uZmlnCisrKyBiL2FyY2gvc2gvY29uZmlncy9zZTc3MDVfZGVmY29uZmlnCkBAIC0yMzksNyArMjM5LDYgQEAKICMKIENPTkZJR19TSF9UTVU9eQogQ09ORklHX1NIX1RJTUVSX0lSUT0xNgotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiBDT05GSUdfU0hfUENMS19GUkVRPTMzMzMzMzMzCiAKICMKZGlmZiAtLWdpdCBhL2FyY2gvc2gvY29uZmlncy9zZTc3MTJfZGVmY29uZmlnIGIvYXJjaC9zaC9jb25maWdzL3NlNzcxMl9kZWZjb25maWcKaW5kZXggMjQwYTFjZS4uMmRkODNhZiAxMDA2NDQKLS0tIGEvYXJjaC9zaC9jb25maWdzL3NlNzcxMl9kZWZjb25maWcKKysrIGIvYXJjaC9zaC9jb25maWdzL3NlNzcxMl9kZWZjb25maWcKQEAgLTIzNiw3ICsyMzYsNiBAQAogIwogQ09ORklHX1NIX1RNVT15CiBDT05GSUdfU0hfVElNRVJfSVJRPTE2Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19TSF9QQ0xLX0ZSRVE9NjY2NjY2NjYKIAogIwpkaWZmIC0tZ2l0IGEvYXJjaC9zaC9jb25maWdzL3NlNzc1MF9kZWZjb25maWcgYi9hcmNoL3NoL2NvbmZpZ3Mvc2U3NzUwX2RlZmNvbmZpZwppbmRleCBjNjBiNmZkLi4xNjc3ODZmIDEwMDY0NAotLS0gYS9hcmNoL3NoL2NvbmZpZ3Mvc2U3NzUwX2RlZmNvbmZpZworKysgYi9hcmNoL3NoL2NvbmZpZ3Mvc2U3NzUwX2RlZmNvbmZpZwpAQCAtMjM1LDcgKzIzNSw2IEBACiAjCiBDT05GSUdfU0hfVE1VPXkKIENPTkZJR19TSF9USU1FUl9JUlE9MTYKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX1NIX1BDTEtfRlJFUT0zMzMzMzMzMwogCiAjCmRpZmYgLS1naXQgYS9hcmNoL3NoL2tlcm5lbC9zbXAuYyBiL2FyY2gvc2gva2VybmVsL3NtcC5jCmluZGV4IDVkMDM5ZDEuLjYwYzUwODQgMTAwNjQ0Ci0tLSBhL2FyY2gvc2gva2VybmVsL3NtcC5jCisrKyBiL2FyY2gvc2gva2VybmVsL3NtcC5jCkBAIC0zNiwxMyArMzYsNiBAQAogY3B1bWFza190IGNwdV9vbmxpbmVfbWFwOwogRVhQT1JUX1NZTUJPTChjcHVfb25saW5lX21hcCk7CiAKLXN0YXRpYyBhdG9taWNfdCBjcHVzX2Jvb3RlZCA9IEFUT01JQ19JTklUKDApOwotCi0vKgotICogUnVuIHNwZWNpZmllZCBmdW5jdGlvbiBvbiBhIHBhcnRpY3VsYXIgcHJvY2Vzc29yLgotICovCi12b2lkIF9fc21wX2NhbGxfZnVuY3Rpb24odW5zaWduZWQgaW50IGNwdSk7Ci0KIHN0YXRpYyBpbmxpbmUgdm9pZCBfX2luaXQgc21wX3N0b3JlX2NwdV9pbmZvKHVuc2lnbmVkIGludCBjcHUpCiB7CiAJc3RydWN0IHNoX2NwdWluZm8gKmMgPSBjcHVfZGF0YSArIGNwdTsKQEAgLTE3NSw0NSArMTY4LDIwIEBACiAKIHZvaWQgc21wX3NlbmRfc3RvcCh2b2lkKQogewotCXNtcF9jYWxsX2Z1bmN0aW9uKHN0b3BfdGhpc19jcHUsIDAsIDEsIDApOworCXNtcF9jYWxsX2Z1bmN0aW9uKHN0b3BfdGhpc19jcHUsIDAsIDApOwogfQogCi1zdHJ1Y3Qgc21wX2ZuX2NhbGxfc3RydWN0IHNtcF9mbl9jYWxsID0gewotCS5sb2NrCQk9IF9fU1BJTl9MT0NLX1VOTE9DS0VEKHNtcF9mbl9jYWxsLmxvY2spLAotCS5maW5pc2hlZAk9IEFUT01JQ19JTklUKDApLAotfTsKLQotLyoKLSAqIFRoZSBjYWxsZXIgb2YgdGhpcyB3YW50cyB0aGUgcGFzc2VkIGZ1bmN0aW9uIHRvIHJ1biBvbiBldmVyeSBjcHUuICBJZiB3YWl0Ci0gKiBpcyBzZXQsIHdhaXQgdW50aWwgYWxsIGNwdXMgaGF2ZSBmaW5pc2hlZCB0aGUgZnVuY3Rpb24gYmVmb3JlIHJldHVybmluZy4KLSAqIFRoZSBsb2NrIGlzIGhlcmUgdG8gcHJvdGVjdCB0aGUgY2FsbCBzdHJ1Y3R1cmUuCi0gKiBZb3UgbXVzdCBub3QgY2FsbCB0aGlzIGZ1bmN0aW9uIHdpdGggZGlzYWJsZWQgaW50ZXJydXB0cyBvciBmcm9tIGEKLSAqIGhhcmR3YXJlIGludGVycnVwdCBoYW5kbGVyIG9yIGZyb20gYSBib3R0b20gaGFsZiBoYW5kbGVyLgotICovCi1pbnQgc21wX2NhbGxfZnVuY3Rpb24odm9pZCAoKmZ1bmMpKHZvaWQgKmluZm8pLCB2b2lkICppbmZvLCBpbnQgcmV0cnksIGludCB3YWl0KQordm9pZCBhcmNoX3NlbmRfY2FsbF9mdW5jdGlvbl9pcGkoY3B1bWFza190IG1hc2spCiB7Ci0JdW5zaWduZWQgaW50IG5yX2NwdXMgPSBhdG9taWNfcmVhZCgmY3B1c19ib290ZWQpOwotCWludCBpOworCWludCBjcHU7CiAKLQkvKiBDYW4gZGVhZGxvY2sgd2hlbiBjYWxsZWQgd2l0aCBpbnRlcnJ1cHRzIGRpc2FibGVkICovCi0JV0FSTl9PTihpcnFzX2Rpc2FibGVkKCkpOworCWZvcl9lYWNoX2NwdV9tYXNrKGNwdSwgbWFzaykKKwkJcGxhdF9zZW5kX2lwaShjcHUsIFNNUF9NU0dfRlVOQ1RJT04pOworfQogCi0Jc3Bpbl9sb2NrKCZzbXBfZm5fY2FsbC5sb2NrKTsKLQotCWF0b21pY19zZXQoJnNtcF9mbl9jYWxsLmZpbmlzaGVkLCAwKTsKLQlzbXBfZm5fY2FsbC5mbiA9IGZ1bmM7Ci0Jc21wX2ZuX2NhbGwuZGF0YSA9IGluZm87Ci0KLQlmb3IgKGkgPSAwOyBpIDwgbnJfY3B1czsgaSsrKQotCQlpZiAoaSAhPSBzbXBfcHJvY2Vzc29yX2lkKCkpCi0JCQlwbGF0X3NlbmRfaXBpKGksIFNNUF9NU0dfRlVOQ1RJT04pOwotCi0JaWYgKHdhaXQpCi0JCXdoaWxlIChhdG9taWNfcmVhZCgmc21wX2ZuX2NhbGwuZmluaXNoZWQpICE9IChucl9jcHVzIC0gMSkpOwotCi0Jc3Bpbl91bmxvY2soJnNtcF9mbl9jYWxsLmxvY2spOwotCi0JcmV0dXJuIDA7Cit2b2lkIGFyY2hfc2VuZF9jYWxsX2Z1bmN0aW9uX3NpbmdsZV9pcGkoaW50IGNwdSkKK3sKKwlwbGF0X3NlbmRfaXBpKGNwdSwgU01QX01TR19GVU5DVElPTl9TSU5HTEUpOwogfQogCiAvKiBOb3QgcmVhbGx5IFNNUCBzdHVmZiAuLi4gKi8KQEAgLTIyOSw3ICsxOTcsNyBAQAogCiB2b2lkIGZsdXNoX3RsYl9hbGwodm9pZCkKIHsKLQlvbl9lYWNoX2NwdShmbHVzaF90bGJfYWxsX2lwaSwgMCwgMSwgMSk7CisJb25fZWFjaF9jcHUoZmx1c2hfdGxiX2FsbF9pcGksIDAsIDEpOwogfQogCiBzdGF0aWMgdm9pZCBmbHVzaF90bGJfbW1faXBpKHZvaWQgKm1tKQpAQCAtMjU1LDcgKzIyMyw3IEBACiAJcHJlZW1wdF9kaXNhYmxlKCk7CiAKIAlpZiAoKGF0b21pY19yZWFkKCZtbS0+bW1fdXNlcnMpICE9IDEpIHx8IChjdXJyZW50LT5tbSAhPSBtbSkpIHsKLQkJc21wX2NhbGxfZnVuY3Rpb24oZmx1c2hfdGxiX21tX2lwaSwgKHZvaWQgKiltbSwgMSwgMSk7CisJCXNtcF9jYWxsX2Z1bmN0aW9uKGZsdXNoX3RsYl9tbV9pcGksICh2b2lkICopbW0sIDEpOwogCX0gZWxzZSB7CiAJCWludCBpOwogCQlmb3IgKGkgPSAwOyBpIDwgbnVtX29ubGluZV9jcHVzKCk7IGkrKykKQEAgLTI5Miw3ICsyNjAsNyBAQAogCQlmZC52bWEgPSB2bWE7CiAJCWZkLmFkZHIxID0gc3RhcnQ7CiAJCWZkLmFkZHIyID0gZW5kOwotCQlzbXBfY2FsbF9mdW5jdGlvbihmbHVzaF90bGJfcmFuZ2VfaXBpLCAodm9pZCAqKSZmZCwgMSwgMSk7CisJCXNtcF9jYWxsX2Z1bmN0aW9uKGZsdXNoX3RsYl9yYW5nZV9pcGksICh2b2lkICopJmZkLCAxKTsKIAl9IGVsc2UgewogCQlpbnQgaTsKIAkJZm9yIChpID0gMDsgaSA8IG51bV9vbmxpbmVfY3B1cygpOyBpKyspCkBAIC0zMTYsNyArMjg0LDcgQEAKIAogCWZkLmFkZHIxID0gc3RhcnQ7CiAJZmQuYWRkcjIgPSBlbmQ7Ci0Jb25fZWFjaF9jcHUoZmx1c2hfdGxiX2tlcm5lbF9yYW5nZV9pcGksICh2b2lkICopJmZkLCAxLCAxKTsKKwlvbl9lYWNoX2NwdShmbHVzaF90bGJfa2VybmVsX3JhbmdlX2lwaSwgKHZvaWQgKikmZmQsIDEpOwogfQogCiBzdGF0aWMgdm9pZCBmbHVzaF90bGJfcGFnZV9pcGkodm9pZCAqaW5mbykKQEAgLTMzNSw3ICszMDMsNyBAQAogCiAJCWZkLnZtYSA9IHZtYTsKIAkJZmQuYWRkcjEgPSBwYWdlOwotCQlzbXBfY2FsbF9mdW5jdGlvbihmbHVzaF90bGJfcGFnZV9pcGksICh2b2lkICopJmZkLCAxLCAxKTsKKwkJc21wX2NhbGxfZnVuY3Rpb24oZmx1c2hfdGxiX3BhZ2VfaXBpLCAodm9pZCAqKSZmZCwgMSk7CiAJfSBlbHNlIHsKIAkJaW50IGk7CiAJCWZvciAoaSA9IDA7IGkgPCBudW1fb25saW5lX2NwdXMoKTsgaSsrKQpAQCAtMzU5LDYgKzMyNyw2IEBACiAJZmQuYWRkcjEgPSBhc2lkOwogCWZkLmFkZHIyID0gdmFkZHI7CiAKLQlzbXBfY2FsbF9mdW5jdGlvbihmbHVzaF90bGJfb25lX2lwaSwgKHZvaWQgKikmZmQsIDEsIDEpOworCXNtcF9jYWxsX2Z1bmN0aW9uKGZsdXNoX3RsYl9vbmVfaXBpLCAodm9pZCAqKSZmZCwgMSk7CiAJbG9jYWxfZmx1c2hfdGxiX29uZShhc2lkLCB2YWRkcik7CiB9CmRpZmYgLS1naXQgYS9hcmNoL3NoL2tlcm5lbC9zdGFja3RyYWNlLmMgYi9hcmNoL3NoL2tlcm5lbC9zdGFja3RyYWNlLmMKaW5kZXggZDQxZTU2MS4uMWIyYWUzNSAxMDA2NDQKLS0tIGEvYXJjaC9zaC9rZXJuZWwvc3RhY2t0cmFjZS5jCisrKyBiL2FyY2gvc2gva2VybmVsL3N0YWNrdHJhY2UuYwpAQCAtMzQsMyArMzQsNCBAQAogCQl9CiAJfQogfQorRVhQT1JUX1NZTUJPTF9HUEwoc2F2ZV9zdGFja190cmFjZSk7CmRpZmYgLS1naXQgYS9hcmNoL3NoL2tlcm5lbC92bWxpbnV4XzMyLmxkcy5TIGIvYXJjaC9zaC9rZXJuZWwvdm1saW51eF8zMi5sZHMuUwppbmRleCBjNzExMzc4Li43YjRiODJiZCAxMDA2NDQKLS0tIGEvYXJjaC9zaC9rZXJuZWwvdm1saW51eF8zMi5sZHMuUworKysgYi9hcmNoL3NoL2tlcm5lbC92bWxpbnV4XzMyLmxkcy5TCkBAIC00NCw3ICs0NCw2IEBACiAKIAlfZXRleHQgPSAuOwkJCS8qIEVuZCBvZiB0ZXh0IHNlY3Rpb24gKi8KIAotCUJVR19UQUJMRQogCU5PVEVTCiAJUk9fREFUQShQQUdFX1NJWkUpCiAKZGlmZiAtLWdpdCBhL2FyY2gvc2gva2VybmVsL3ZtbGludXhfNjQubGRzLlMgYi9hcmNoL3NoL2tlcm5lbC92bWxpbnV4XzY0Lmxkcy5TCmluZGV4IGQxZTE3NzAuLjMzZmE0NjQgMTAwNjQ0Ci0tLSBhL2FyY2gvc2gva2VybmVsL3ZtbGludXhfNjQubGRzLlMKKysrIGIvYXJjaC9zaC9rZXJuZWwvdm1saW51eF82NC5sZHMuUwpAQCAtNjUsNyArNjUsNiBAQAogCiAJX2V0ZXh0ID0gLjsJCQkvKiBFbmQgb2YgdGV4dCBzZWN0aW9uICovCiAKLQlCVUdfVEFCTEUKIAlOT1RFUyAKIAlST19EQVRBKFBBR0VfU0laRSkKIApkaWZmIC0tZ2l0IGEvYXJjaC9zcGFyYy9rZXJuZWwvYXBjLmMgYi9hcmNoL3NwYXJjL2tlcm5lbC9hcGMuYwppbmRleCBkMDZhNDA1Li42NzA3NDIyIDEwMDY0NAotLS0gYS9hcmNoL3NwYXJjL2tlcm5lbC9hcGMuYworKysgYi9hcmNoL3NwYXJjL2tlcm5lbC9hcGMuYwpAQCAtMTAsNiArMTAsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L21pc2NkZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3BtLmg+CiAKICNpbmNsdWRlIDxhc20vaW8uaD4KQEAgLTc1LDYgKzc2LDcgQEAKIAogc3RhdGljIGludCBhcGNfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZikKIHsKKwljeWNsZV9rZXJuZWxfbG9jaygpOwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9hcmNoL3NwYXJjNjQvS2NvbmZpZyBiL2FyY2gvc3BhcmM2NC9LY29uZmlnCmluZGV4IGViMzZmM2IuLmZjYTkyNDYgMTAwNjQ0Ci0tLSBhL2FyY2gvc3BhcmM2NC9LY29uZmlnCisrKyBiL2FyY2gvc3BhcmM2NC9LY29uZmlnCkBAIC0xMSw2ICsxMSw4IEBACiBjb25maWcgU1BBUkM2NAogCWJvb2wKIAlkZWZhdWx0IHkKKwlzZWxlY3QgSEFWRV9EWU5BTUlDX0ZUUkFDRQorCXNlbGVjdCBIQVZFX0ZUUkFDRQogCXNlbGVjdCBIQVZFX0lERQogCXNlbGVjdCBIQVZFX0xNQgogCXNlbGVjdCBIQVZFX0FSQ0hfS0dEQgpkaWZmIC0tZ2l0IGEvYXJjaC9zcGFyYzY0L0tjb25maWcuZGVidWcgYi9hcmNoL3NwYXJjNjQvS2NvbmZpZy5kZWJ1ZwppbmRleCA2YTRkMjhhLi5kNmQzMmQxIDEwMDY0NAotLS0gYS9hcmNoL3NwYXJjNjQvS2NvbmZpZy5kZWJ1ZworKysgYi9hcmNoL3NwYXJjNjQvS2NvbmZpZy5kZWJ1ZwpAQCAtMzMsNyArMzMsNyBAQAogCiBjb25maWcgTUNPVU5UCiAJYm9vbAotCWRlcGVuZHMgb24gU1RBQ0tfREVCVUcKKwlkZXBlbmRzIG9uIFNUQUNLX0RFQlVHIHx8IEZUUkFDRQogCWRlZmF1bHQgeQogCiBjb25maWcgRlJBTUVfUE9JTlRFUgpkaWZmIC0tZ2l0IGEvYXJjaC9zcGFyYzY0L2tlcm5lbC9NYWtlZmlsZSBiL2FyY2gvc3BhcmM2NC9rZXJuZWwvTWFrZWZpbGUKaW5kZXggZWM0ZjVlYi4uNDE4YjU3OCAxMDA2NDQKLS0tIGEvYXJjaC9zcGFyYzY0L2tlcm5lbC9NYWtlZmlsZQorKysgYi9hcmNoL3NwYXJjNjQva2VybmVsL01ha2VmaWxlCkBAIC0xNCw2ICsxNCw3IEBACiAJCSAgIHBvd2VyLm8gc2J1cy5vIHNwYXJjNjRfa3N5bXMubyBjaG1jLm8gXAogCQkgICB2aXNlbXVsLm8gcHJvbS5vIG9mX2RldmljZS5vIGh2YXBpLm8gc3N0YXRlLm8gbWRlc2MubwogCitvYmotJChDT05GSUdfRFlOQU1JQ19GVFJBQ0UpICs9IGZ0cmFjZS5vCiBvYmotJChDT05GSUdfU1RBQ0tUUkFDRSkgKz0gc3RhY2t0cmFjZS5vCiBvYmotJChDT05GSUdfUENJKQkgKz0gZWJ1cy5vIHBjaV9jb21tb24ubyBcCiAJCQkgICAgcGNpX3BzeWNoby5vIHBjaV9zYWJyZS5vIHBjaV9zY2hpem8ubyBcCmRpZmYgLS1naXQgYS9hcmNoL3NwYXJjNjQva2VybmVsL2Z0cmFjZS5jIGIvYXJjaC9zcGFyYzY0L2tlcm5lbC9mdHJhY2UuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40Mjk4ZDBhCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9zcGFyYzY0L2tlcm5lbC9mdHJhY2UuYwpAQCAtMCwwICsxLDk0IEBACisjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KKyNpbmNsdWRlIDxsaW51eC9oYXJkaXJxLmg+CisjaW5jbHVkZSA8bGludXgvZnRyYWNlLmg+CisjaW5jbHVkZSA8bGludXgvcGVyY3B1Lmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KKworI2luY2x1ZGUgPGFzbS9mdHJhY2UuaD4KKworc3RhdGljIGNvbnN0IHUzMiBmdHJhY2Vfbm9wID0gMHgwMTAwMDAwMDsKKworbm90cmFjZSB1bnNpZ25lZCBjaGFyICpmdHJhY2Vfbm9wX3JlcGxhY2Uodm9pZCkKK3sKKwlyZXR1cm4gKGNoYXIgKikmZnRyYWNlX25vcDsKK30KKworbm90cmFjZSB1bnNpZ25lZCBjaGFyICpmdHJhY2VfY2FsbF9yZXBsYWNlKHVuc2lnbmVkIGxvbmcgaXAsIHVuc2lnbmVkIGxvbmcgYWRkcikKK3sKKwlzdGF0aWMgdTMyIGNhbGw7CisJczMyIG9mZjsKKworCW9mZiA9ICgoczMyKWFkZHIgLSAoczMyKWlwKTsKKwljYWxsID0gMHg0MDAwMDAwMCB8ICgodTMyKW9mZiA+PiAyKTsKKworCXJldHVybiAodW5zaWduZWQgY2hhciAqKSAmY2FsbDsKK30KKworbm90cmFjZSBpbnQKK2Z0cmFjZV9tb2RpZnlfY29kZSh1bnNpZ25lZCBsb25nIGlwLCB1bnNpZ25lZCBjaGFyICpvbGRfY29kZSwKKwkJICAgdW5zaWduZWQgY2hhciAqbmV3X2NvZGUpCit7CisJdTMyIG9sZCA9ICoodTMyICopb2xkX2NvZGU7CisJdTMyIG5ldyA9ICoodTMyICopbmV3X2NvZGU7CisJdTMyIHJlcGxhY2VkOworCWludCBmYXVsdGVkOworCisJX19hc21fXyBfX3ZvbGF0aWxlX18oCisJIjE6CWNhcwlbJVtpcF1dLCAlW29sZF0sICVbbmV3XVxuIgorCSIJZmx1c2gJJVtpcF1cbiIKKwkiCW1vdgkwLCAlW2ZhdWx0ZWRdXG4iCisJIjI6XG4iCisJIgkuc2VjdGlvbiAuZml4dXAsI2FsbG9jLCNleGVjaW5zdHJcbiIKKwkiCS5hbGlnbgk0XG4iCisJIjM6CXNldGhpCSUlaGkoMmIpLCAlW2ZhdWx0ZWRdXG4iCisJIglqbXBsCSVbZmF1bHRlZF0gKyAlJWxvKDJiKSwgJSVnMFxuIgorCSIJIG1vdgkxLCAlW2ZhdWx0ZWRdXG4iCisJIgkucHJldmlvdXNcbiIKKwkiCS5zZWN0aW9uIF9fZXhfdGFibGUsXCJhXCJcbiIKKwkiCS5hbGlnbgk0XG4iCisJIgkud29yZAkxYiwgM2JcbiIKKwkiCS5wcmV2aW91c1xuIgorCTogIj1yIiAocmVwbGFjZWQpLCBbZmF1bHRlZF0gIj1yIiAoZmF1bHRlZCkKKwk6IFtuZXddICIwIiAobmV3KSwgW29sZF0gInIiIChvbGQpLCBbaXBdICJyIiAoaXApCisJOiAibWVtb3J5Iik7CisKKwlpZiAocmVwbGFjZWQgIT0gb2xkICYmIHJlcGxhY2VkICE9IG5ldykKKwkJZmF1bHRlZCA9IDI7CisKKwlyZXR1cm4gZmF1bHRlZDsKK30KKworbm90cmFjZSBpbnQgZnRyYWNlX3VwZGF0ZV9mdHJhY2VfZnVuYyhmdHJhY2VfZnVuY190IGZ1bmMpCit7CisJdW5zaWduZWQgbG9uZyBpcCA9ICh1bnNpZ25lZCBsb25nKSgmZnRyYWNlX2NhbGwpOworCXVuc2lnbmVkIGNoYXIgb2xkW01DT1VOVF9JTlNOX1NJWkVdLCAqbmV3OworCisJbWVtY3B5KG9sZCwgJmZ0cmFjZV9jYWxsLCBNQ09VTlRfSU5TTl9TSVpFKTsKKwluZXcgPSBmdHJhY2VfY2FsbF9yZXBsYWNlKGlwLCAodW5zaWduZWQgbG9uZylmdW5jKTsKKwlyZXR1cm4gZnRyYWNlX21vZGlmeV9jb2RlKGlwLCBvbGQsIG5ldyk7Cit9CisKK25vdHJhY2UgaW50IGZ0cmFjZV9tY291bnRfc2V0KHVuc2lnbmVkIGxvbmcgKmRhdGEpCit7CisJdW5zaWduZWQgbG9uZyBpcCA9IChsb25nKSgmbWNvdW50X2NhbGwpOworCXVuc2lnbmVkIGxvbmcgKmFkZHIgPSBkYXRhOworCXVuc2lnbmVkIGNoYXIgb2xkW01DT1VOVF9JTlNOX1NJWkVdLCAqbmV3OworCisJLyoKKwkgKiBSZXBsYWNlIHRoZSBtY291bnQgc3R1YiB3aXRoIGEgcG9pbnRlciB0byB0aGUKKwkgKiBpcCByZWNvcmRlciBmdW5jdGlvbi4KKwkgKi8KKwltZW1jcHkob2xkLCAmbWNvdW50X2NhbGwsIE1DT1VOVF9JTlNOX1NJWkUpOworCW5ldyA9IGZ0cmFjZV9jYWxsX3JlcGxhY2UoaXAsICphZGRyKTsKKwkqYWRkciA9IGZ0cmFjZV9tb2RpZnlfY29kZShpcCwgb2xkLCBuZXcpOworCisJcmV0dXJuIDA7Cit9CisKKworaW50IF9faW5pdCBmdHJhY2VfZHluX2FyY2hfaW5pdCh2b2lkICpkYXRhKQoreworCWZ0cmFjZV9tY291bnRfc2V0KGRhdGEpOworCXJldHVybiAwOworfQpkaWZmIC0tZ2l0IGEvYXJjaC9zcGFyYzY0L2tlcm5lbC9zbXAuYyBiL2FyY2gvc3BhcmM2NC9rZXJuZWwvc21wLmMKaW5kZXggZmE2M2M2OC4uYzA5OWQ5NiAxMDA2NDQKLS0tIGEvYXJjaC9zcGFyYzY0L2tlcm5lbC9zbXAuYworKysgYi9hcmNoL3NwYXJjNjQva2VybmVsL3NtcC5jCkBAIC04MDcsNyArODA3LDYgQEAKICAqIHNtcF9jYWxsX2Z1bmN0aW9uKCk6IFJ1biBhIGZ1bmN0aW9uIG9uIGFsbCBvdGhlciBDUFVzLgogICogQGZ1bmM6IFRoZSBmdW5jdGlvbiB0byBydW4uIFRoaXMgbXVzdCBiZSBmYXN0IGFuZCBub24tYmxvY2tpbmcuCiAgKiBAaW5mbzogQW4gYXJiaXRyYXJ5IHBvaW50ZXIgdG8gcGFzcyB0byB0aGUgZnVuY3Rpb24uCi0gKiBAbm9uYXRvbWljOiBjdXJyZW50bHkgdW51c2VkLgogICogQHdhaXQ6IElmIHRydWUsIHdhaXQgKGF0b21pY2FsbHkpIHVudGlsIGZ1bmN0aW9uIGhhcyBjb21wbGV0ZWQgb24gb3RoZXIgQ1BVcy4KICAqCiAgKiBSZXR1cm5zIDAgb24gc3VjY2VzcywgZWxzZSBhIG5lZ2F0aXZlIHN0YXR1cyBjb2RlLiBEb2VzIG5vdCByZXR1cm4gdW50aWwKQEAgLTgxNiw4ICs4MTUsOCBAQAogICogWW91IG11c3Qgbm90IGNhbGwgdGhpcyBmdW5jdGlvbiB3aXRoIGRpc2FibGVkIGludGVycnVwdHMgb3IgZnJvbSBhCiAgKiBoYXJkd2FyZSBpbnRlcnJ1cHQgaGFuZGxlciBvciBmcm9tIGEgYm90dG9tIGhhbGYgaGFuZGxlci4KICAqLwotc3RhdGljIGludCBzbXBfY2FsbF9mdW5jdGlvbl9tYXNrKHZvaWQgKCpmdW5jKSh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywKLQkJCQkgIGludCBub25hdG9taWMsIGludCB3YWl0LCBjcHVtYXNrX3QgbWFzaykKK3N0YXRpYyBpbnQgc3BhcmM2NF9zbXBfY2FsbF9mdW5jdGlvbl9tYXNrKHZvaWQgKCpmdW5jKSh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywKKwkJCQkJICBpbnQgd2FpdCwgY3B1bWFza190IG1hc2spCiB7CiAJc3RydWN0IGNhbGxfZGF0YV9zdHJ1Y3QgZGF0YTsKIAlpbnQgY3B1czsKQEAgLTg1MiwxMSArODUxLDkgQEAKIAlyZXR1cm4gMDsKIH0KIAotaW50IHNtcF9jYWxsX2Z1bmN0aW9uKHZvaWQgKCpmdW5jKSh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywKLQkJICAgICAgaW50IG5vbmF0b21pYywgaW50IHdhaXQpCitpbnQgc21wX2NhbGxfZnVuY3Rpb24odm9pZCAoKmZ1bmMpKHZvaWQgKmluZm8pLCB2b2lkICppbmZvLCBpbnQgd2FpdCkKIHsKLQlyZXR1cm4gc21wX2NhbGxfZnVuY3Rpb25fbWFzayhmdW5jLCBpbmZvLCBub25hdG9taWMsIHdhaXQsCi0JCQkJICAgICAgY3B1X29ubGluZV9tYXApOworCXJldHVybiBzcGFyYzY0X3NtcF9jYWxsX2Z1bmN0aW9uX21hc2soZnVuYywgaW5mbywgd2FpdCwgY3B1X29ubGluZV9tYXApOwogfQogCiB2b2lkIHNtcF9jYWxsX2Z1bmN0aW9uX2NsaWVudChpbnQgaXJxLCBzdHJ1Y3QgcHRfcmVncyAqcmVncykKQEAgLTg5Myw3ICs4OTAsNyBAQAogCiB2b2lkIHNtcF90c2Jfc3luYyhzdHJ1Y3QgbW1fc3RydWN0ICptbSkKIHsKLQlzbXBfY2FsbF9mdW5jdGlvbl9tYXNrKHRzYl9zeW5jLCBtbSwgMCwgMSwgbW0tPmNwdV92bV9tYXNrKTsKKwlzcGFyYzY0X3NtcF9jYWxsX2Z1bmN0aW9uX21hc2sodHNiX3N5bmMsIG1tLCAxLCBtbS0+Y3B1X3ZtX21hc2spOwogfQogCiBleHRlcm4gdW5zaWduZWQgbG9uZyB4Y2FsbF9mbHVzaF90bGJfbW07CmRpZmYgLS1naXQgYS9hcmNoL3NwYXJjNjQva2VybmVsL3NwYXJjNjRfa3N5bXMuYyBiL2FyY2gvc3BhcmM2NC9rZXJuZWwvc3BhcmM2NF9rc3ltcy5jCmluZGV4IDhhYzBiOTkuLjQ5ZDNlYTUwIDEwMDY0NAotLS0gYS9hcmNoL3NwYXJjNjQva2VybmVsL3NwYXJjNjRfa3N5bXMuYworKysgYi9hcmNoL3NwYXJjNjQva2VybmVsL3NwYXJjNjRfa3N5bXMuYwpAQCAtNTMsNiArNTMsNyBAQAogI2luY2x1ZGUgPGFzbS9uczg3MzAzLmg+CiAjaW5jbHVkZSA8YXNtL3RpbWVyLmg+CiAjaW5jbHVkZSA8YXNtL2NwdWRhdGEuaD4KKyNpbmNsdWRlIDxhc20vZnRyYWNlLmg+CiAKIHN0cnVjdCBwb2xsIHsKIAlpbnQgZmQ7CkBAIC0xMTEsOCArMTEyLDcgQEAKIEVYUE9SVF9TWU1CT0woc21wX2NhbGxfZnVuY3Rpb24pOwogI2VuZGlmIC8qIENPTkZJR19TTVAgKi8KIAotI2lmIGRlZmluZWQoQ09ORklHX01DT1VOVCkKLWV4dGVybiB2b2lkIF9tY291bnQodm9pZCk7CisjaWZkZWYgQ09ORklHX01DT1VOVAogRVhQT1JUX1NZTUJPTChfbWNvdW50KTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9hcmNoL3NwYXJjNjQva2VybmVsL3N0YWNrdHJhY2UuYyBiL2FyY2gvc3BhcmM2NC9rZXJuZWwvc3RhY2t0cmFjZS5jCmluZGV4IGM3M2NlM2YuLmIzZTM3MzcgMTAwNjQ0Ci0tLSBhL2FyY2gvc3BhcmM2NC9rZXJuZWwvc3RhY2t0cmFjZS5jCisrKyBiL2FyY2gvc3BhcmM2NC9rZXJuZWwvc3RhY2t0cmFjZS5jCkBAIC0xLDYgKzEsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CiAjaW5jbHVkZSA8bGludXgvc3RhY2t0cmFjZS5oPgogI2luY2x1ZGUgPGxpbnV4L3RocmVhZF9pbmZvLmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8YXNtL3B0cmFjZS5oPgogI2luY2x1ZGUgPGFzbS9zdGFja3RyYWNlLmg+CiAKQEAgLTQ3LDMgKzQ4LDQgQEAKIAkJCXRyYWNlLT5lbnRyaWVzW3RyYWNlLT5ucl9lbnRyaWVzKytdID0gcGM7CiAJfSB3aGlsZSAodHJhY2UtPm5yX2VudHJpZXMgPCB0cmFjZS0+bWF4X2VudHJpZXMpOwogfQorRVhQT1JUX1NZTUJPTF9HUEwoc2F2ZV9zdGFja190cmFjZSk7CmRpZmYgLS1naXQgYS9hcmNoL3NwYXJjNjQva2VybmVsL3RpbWUuYyBiL2FyY2gvc3BhcmM2NC9rZXJuZWwvdGltZS5jCmluZGV4IGU1ZDIzODkuLmJlZGM0YzEgMTAwNjQ0Ci0tLSBhL2FyY2gvc3BhcmM2NC9rZXJuZWwvdGltZS5jCisrKyBiL2FyY2gvc3BhcmM2NC9rZXJuZWwvdGltZS5jCkBAIC0xMSw2ICsxMSw3IEBACiAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CiAjaW5jbHVkZSA8bGludXgvcGFyYW0uaD4KICNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KQEAgLTE2NTksMTAgKzE2NjAsMTQgQEAKIAogc3RhdGljIGludCBtaW5pX3J0Y19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogewotCWlmIChtaW5pX3J0Y19zdGF0dXMgJiBSVENfSVNfT1BFTikKKwlsb2NrX2tlcm5lbCgpOworCWlmIChtaW5pX3J0Y19zdGF0dXMgJiBSVENfSVNfT1BFTikgeworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiAtRUJVU1k7CisJfQogCiAJbWluaV9ydGNfc3RhdHVzIHw9IFJUQ19JU19PUEVOOworCXVubG9ja19rZXJuZWwoKTsKIAogCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC9zcGFyYzY0L2xpYi9tY291bnQuUyBiL2FyY2gvc3BhcmM2NC9saWIvbWNvdW50LlMKaW5kZXggOWU0NTM0Yi4uNzczNWE3YSAxMDA2NDQKLS0tIGEvYXJjaC9zcGFyYzY0L2xpYi9tY291bnQuUworKysgYi9hcmNoL3NwYXJjNjQvbGliL21jb3VudC5TCkBAIC0yOCwxMCArMjgsMTMgQEAKIAkuc2tpcAkJT1ZTVEFDS1NJWkUKICNlbmRpZgogCS50ZXh0Ci0JLmFsaWduIDMyCi0JLmdsb2JsIG1jb3VudCwgX21jb3VudAotbWNvdW50OgorCS5hbGlnbgkJMzIKKwkuZ2xvYmwJCV9tY291bnQKKwkudHlwZQkJX21jb3VudCwjZnVuY3Rpb24KKwkuZ2xvYmwJCW1jb3VudAorCS50eXBlCQltY291bnQsI2Z1bmN0aW9uCiBfbWNvdW50OgorbWNvdW50OgogI2lmZGVmIENPTkZJR19TVEFDS19ERUJVRwogCS8qCiAJICogQ2hlY2sgd2hldGhlciAlc3AgaXMgZGFuZ2Vyb3VzbHkgbG93LgpAQCAtNTUsNiArNTgsNTMgQEAKIAkgb3IJCSVnMywgJWxvKHBhbmljc3RyaW5nKSwgJW8wCiAJY2FsbAkJcHJvbV9oYWx0CiAJIG5vcAorMToKICNlbmRpZgotMToJcmV0bAorI2lmZGVmIENPTkZJR19GVFJBQ0UKKyNpZmRlZiBDT05GSUdfRFlOQU1JQ19GVFJBQ0UKKwltb3YJCSVvNywgJW8wCisJLmdsb2JsCQltY291bnRfY2FsbAorbWNvdW50X2NhbGw6CisJY2FsbAkJZnRyYWNlX3N0dWIKKwkgbW92CQklbzAsICVvNworI2Vsc2UKKwlzZXRoaQkJJWhpKGZ0cmFjZV90cmFjZV9mdW5jdGlvbiksICVnMQorCXNldGhpCQklaGkoZnRyYWNlX3N0dWIpLCAlZzIKKwlsZHgJCVslZzEgKyAlbG8oZnRyYWNlX3RyYWNlX2Z1bmN0aW9uKV0sICVnMQorCW9yCQklZzIsICVsbyhmdHJhY2Vfc3R1YiksICVnMgorCWNtcAkJJWcxLCAlZzIKKwliZSxwbgkJJWljYywgMWYKKwkgbW92CQklaTcsICVvMQorCWptcGwJCSVnMSwgJWcwCisJIG1vdgkJJW83LCAlbzAKKwkvKiBub3QgcmVhY2hlZCAqLworMToKKyNlbmRpZgorI2VuZGlmCisJcmV0bAogCSBub3AKKwkuc2l6ZQkJX21jb3VudCwuLV9tY291bnQKKwkuc2l6ZQkJbWNvdW50LC4tbWNvdW50CisKKyNpZmRlZiBDT05GSUdfRlRSQUNFCisJLmdsb2JsCQlmdHJhY2Vfc3R1YgorCS50eXBlCQlmdHJhY2Vfc3R1YiwjZnVuY3Rpb24KK2Z0cmFjZV9zdHViOgorCXJldGwKKwkgbm9wCisJLnNpemUJCWZ0cmFjZV9zdHViLC4tZnRyYWNlX3N0dWIKKyNpZmRlZiBDT05GSUdfRFlOQU1JQ19GVFJBQ0UKKwkuZ2xvYmwJCWZ0cmFjZV9jYWxsZXIKKwkudHlwZQkJZnRyYWNlX2NhbGxlciwjZnVuY3Rpb24KK2Z0cmFjZV9jYWxsZXI6CisJbW92CQklaTcsICVvMQorCW1vdgkJJW83LCAlbzAKKwkuZ2xvYmwJCWZ0cmFjZV9jYWxsCitmdHJhY2VfY2FsbDoKKwljYWxsCQlmdHJhY2Vfc3R1YgorCSBtb3YJCSVvMCwgJW83CisJcmV0bAorCSBub3AKKwkuc2l6ZQkJZnRyYWNlX2NhbGxlciwuLWZ0cmFjZV9jYWxsZXIKKyNlbmRpZgorI2VuZGlmCmRpZmYgLS1naXQgYS9hcmNoL3NwYXJjNjQvbW0vaHVnZXRsYnBhZ2UuYyBiL2FyY2gvc3BhcmM2NC9tbS9odWdldGxicGFnZS5jCmluZGV4IDZjZmFiMmUuLmViZWZkMmEgMTAwNjQ0Ci0tLSBhL2FyY2gvc3BhcmM2NC9tbS9odWdldGxicGFnZS5jCisrKyBiL2FyY2gvc3BhcmM2NC9tbS9odWdldGxicGFnZS5jCkBAIC0zNDQsNyArMzQ0LDcgQEAKIAkJCSAqIGFsc28gZXhlY3V0aW5nIGluIHRoaXMgYWRkcmVzcyBzcGFjZS4KIAkJCSAqLwogCQkJbW0tPmNvbnRleHQuc3BhcmM2NF9jdHhfdmFsID0gY3R4OwotCQkJb25fZWFjaF9jcHUoY29udGV4dF9yZWxvYWQsIG1tLCAwLCAwKTsKKwkJCW9uX2VhY2hfY3B1KGNvbnRleHRfcmVsb2FkLCBtbSwgMCk7CiAJCX0KIAkJc3Bpbl91bmxvY2soJmN0eF9hbGxvY19sb2NrKTsKIAl9CmRpZmYgLS1naXQgYS9hcmNoL3VtL2RyaXZlcnMvaGFyZGRvZ19rZXJuLmMgYi9hcmNoL3VtL2RyaXZlcnMvaGFyZGRvZ19rZXJuLmMKaW5kZXggYTlhZDRiZC4uZDMzMjUwMyAxMDA2NDQKLS0tIGEvYXJjaC91bS9kcml2ZXJzL2hhcmRkb2dfa2Vybi5jCisrKyBiL2FyY2gvdW0vZHJpdmVycy9oYXJkZG9nX2tlcm4uYwpAQCAtNjYsNiArNjYsNyBAQAogCWludCBlcnIgPSAtRUJVU1k7CiAJY2hhciAqc29jayA9IE5VTEw7CiAKKwlsb2NrX2tlcm5lbCgpOwogCXNwaW5fbG9jaygmbG9jayk7CiAJaWYodGltZXJfYWxpdmUpCiAJCWdvdG8gZXJyOwpAQCAtODIsOSArODMsMTEgQEAKIAogCXRpbWVyX2FsaXZlID0gMTsKIAlzcGluX3VubG9jaygmbG9jayk7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiBub25zZWVrYWJsZV9vcGVuKGlub2RlLCBmaWxlKTsKIGVycjoKIAlzcGluX3VubG9jaygmbG9jayk7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiBlcnI7CiB9CiAKZGlmZiAtLWdpdCBhL2FyY2gvdW0vZHJpdmVycy9tbWFwcGVyX2tlcm4uYyBiL2FyY2gvdW0vZHJpdmVycy9tbWFwcGVyX2tlcm4uYwppbmRleCA2N2IyZjU1Li5lYjI0MDMyIDEwMDY0NAotLS0gYS9hcmNoL3VtL2RyaXZlcnMvbW1hcHBlcl9rZXJuLmMKKysrIGIvYXJjaC91bS9kcml2ZXJzL21tYXBwZXJfa2Vybi5jCkBAIC0xNiw2ICsxNiw3IEBACiAjaW5jbHVkZSA8bGludXgvbWlzY2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L21tLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogI2luY2x1ZGUgIm1lbV91c2VyLmgiCiAKQEAgLTc3LDYgKzc4LDcgQEAKIAogc3RhdGljIGludCBtbWFwcGVyX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCiB7CisJY3ljbGVfa2VybmVsX2xvY2soKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvYXJjaC91bS9kcml2ZXJzL3JhbmRvbS5jIGIvYXJjaC91bS9kcml2ZXJzL3JhbmRvbS5jCmluZGV4IDQ5NDkwNDQuLjZlYWJiNzAgMTAwNjQ0Ci0tLSBhL2FyY2gvdW0vZHJpdmVycy9yYW5kb20uYworKysgYi9hcmNoL3VtL2RyaXZlcnMvcmFuZG9tLmMKQEAgLTcsNiArNyw3IEBACiAgKiBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIGluY29ycG9yYXRlZCBoZXJlaW4gYnkgcmVmZXJlbmNlLgogICovCiAjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CkBAIC0zMyw2ICszNCw4IEBACiAKIHN0YXRpYyBpbnQgcm5nX2Rldl9vcGVuIChzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlscCkKIHsKKwljeWNsZV9rZXJuZWxfbG9jaygpOworCiAJLyogZW5mb3JjZSByZWFkLW9ubHkgYWNjZXNzIHRvIHRoaXMgY2hyZGV2ICovCiAJaWYgKChmaWxwLT5mX21vZGUgJiBGTU9ERV9SRUFEKSA9PSAwKQogCQlyZXR1cm4gLUVJTlZBTDsKZGlmZiAtLWdpdCBhL2FyY2gvdW0va2VybmVsL3NtcC5jIGIvYXJjaC91bS9rZXJuZWwvc21wLmMKaW5kZXggZTEwNjJlYy4uYmUyZDUwYyAxMDA2NDQKLS0tIGEvYXJjaC91bS9rZXJuZWwvc21wLmMKKysrIGIvYXJjaC91bS9rZXJuZWwvc21wLmMKQEAgLTIxNCw4ICsyMTQsNyBAQAogCWF0b21pY19pbmMoJnNjZl9maW5pc2hlZCk7CiB9CiAKLWludCBzbXBfY2FsbF9mdW5jdGlvbih2b2lkICgqX2Z1bmMpKHZvaWQgKmluZm8pLCB2b2lkICpfaW5mbywgaW50IG5vbmF0b21pYywKLQkJICAgICAgaW50IHdhaXQpCitpbnQgc21wX2NhbGxfZnVuY3Rpb24odm9pZCAoKl9mdW5jKSh2b2lkICppbmZvKSwgdm9pZCAqX2luZm8sIGludCB3YWl0KQogewogCWludCBjcHVzID0gbnVtX29ubGluZV9jcHVzKCkgLSAxOwogCWludCBpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvS2NvbmZpZyBiL2FyY2gveDg2L0tjb25maWcKaW5kZXggYmYwN2I2Zi4uOTZlMGMyZSAxMDA2NDQKLS0tIGEvYXJjaC94ODYvS2NvbmZpZworKysgYi9hcmNoL3g4Ni9LY29uZmlnCkBAIC0yMyw2ICsyMyw4IEBACiAJc2VsZWN0IEhBVkVfT1BST0ZJTEUKIAlzZWxlY3QgSEFWRV9LUFJPQkVTCiAJc2VsZWN0IEhBVkVfS1JFVFBST0JFUworCXNlbGVjdCBIQVZFX0RZTkFNSUNfRlRSQUNFCisJc2VsZWN0IEhBVkVfRlRSQUNFCiAJc2VsZWN0IEhBVkVfS1ZNIGlmICgoWDg2XzMyICYmICFYODZfVk9ZQUdFUiAmJiAhWDg2X1ZJU1dTICYmICFYODZfTlVNQVEpIHx8IFg4Nl82NCkKIAlzZWxlY3QgSEFWRV9BUkNIX0tHREIgaWYgIVg4Nl9WT1lBR0VSCiAKQEAgLTEyMSw3ICsxMjMsNyBAQAogCWRlZl9ib29sIHkKIAogY29uZmlnIEhBVkVfU0VUVVBfUEVSX0NQVV9BUkVBCi0JZGVmX2Jvb2wgWDg2XzY0IHx8IChYODZfU01QICYmICFYODZfVk9ZQUdFUikKKwlkZWZfYm9vbCBYODZfNjRfU01QIHx8IChYODZfU01QICYmICFYODZfVk9ZQUdFUikKIAogY29uZmlnIEhBVkVfQ1BVTUFTS19PRl9DUFVfTUFQCiAJZGVmX2Jvb2wgWDg2XzY0X1NNUApAQCAtMTY4LDYgKzE3MCw3IEBACiBjb25maWcgWDg2X1NNUAogCWJvb2wKIAlkZXBlbmRzIG9uIFNNUCAmJiAoKFg4Nl8zMiAmJiAhWDg2X1ZPWUFHRVIpIHx8IFg4Nl82NCkKKwlzZWxlY3QgVVNFX0dFTkVSSUNfU01QX0hFTFBFUlMKIAlkZWZhdWx0IHkKIAogY29uZmlnIFg4Nl8zMl9TTVAKQEAgLTE4MSwxMiArMTg0LDEyIEBACiBjb25maWcgWDg2X0hUCiAJYm9vbAogCWRlcGVuZHMgb24gU01QCi0JZGVwZW5kcyBvbiAoWDg2XzMyICYmICEoWDg2X1ZJU1dTIHx8IFg4Nl9WT1lBR0VSKSkgfHwgWDg2XzY0CisJZGVwZW5kcyBvbiAoWDg2XzMyICYmICFYODZfVk9ZQUdFUikgfHwgWDg2XzY0CiAJZGVmYXVsdCB5CiAKIGNvbmZpZyBYODZfQklPU19SRUJPT1QKIAlib29sCi0JZGVwZW5kcyBvbiAhWDg2X1ZJU1dTICYmICFYODZfVk9ZQUdFUgorCWRlcGVuZHMgb24gIVg4Nl9WT1lBR0VSCiAJZGVmYXVsdCB5CiAKIGNvbmZpZyBYODZfVFJBTVBPTElORQpAQCAtMjMwLDYgKzIzMywyNiBAQAogCiAJICBJZiB5b3UgZG9uJ3Qga25vdyB3aGF0IHRvIGRvIGhlcmUsIHNheSBOLgogCitjb25maWcgWDg2X0ZJTkRfU01QX0NPTkZJRworCWRlZl9ib29sIHkKKwlkZXBlbmRzIG9uIFg4Nl9NUFBBUlNFIHx8IFg4Nl9WT1lBR0VSCisKK2lmIEFDUEkKK2NvbmZpZyBYODZfTVBQQVJTRQorCWRlZl9ib29sIHkKKwlib29sICJFbmFibGUgTVBTIHRhYmxlIgorCWRlcGVuZHMgb24gWDg2X0xPQ0FMX0FQSUMKKwloZWxwCisJICBGb3Igb2xkIHNtcCBzeXN0ZW1zIHRoYXQgZG8gbm90IGhhdmUgcHJvcGVyIGFjcGkgc3VwcG9ydC4gTmV3ZXIgc3lzdGVtcworCSAgKGVzcCB3aXRoIDY0Yml0IGNwdXMpIHdpdGggYWNwaSBzdXBwb3J0LCBNQURUIGFuZCBEU0RUIHdpbGwgb3ZlcnJpZGUgaXQKK2VuZGlmCisKK2lmICFBQ1BJCitjb25maWcgWDg2X01QUEFSU0UKKwlkZWZfYm9vbCB5CisJZGVwZW5kcyBvbiBYODZfTE9DQUxfQVBJQworZW5kaWYKKwogY2hvaWNlCiAJcHJvbXB0ICJTdWJhcmNoaXRlY3R1cmUgVHlwZSIKIAlkZWZhdWx0IFg4Nl9QQwpAQCAtMjUxLDcgKzI3NCw3IEBACiAKIGNvbmZpZyBYODZfVk9ZQUdFUgogCWJvb2wgIlZveWFnZXIgKE5DUikiCi0JZGVwZW5kcyBvbiBYODZfMzIgJiYgKFNNUCB8fCBCUk9LRU4pCisJZGVwZW5kcyBvbiBYODZfMzIgJiYgKFNNUCB8fCBCUk9LRU4pICYmICFQQ0kKIAloZWxwCiAJICBWb3lhZ2VyIGlzIGFuIE1DQS1iYXNlZCAzMi13YXkgY2FwYWJsZSBTTVAgYXJjaGl0ZWN0dXJlIHByb3ByaWV0YXJ5CiAJICB0byBOQ1IgQ29ycC4gIE1hY2hpbmUgY2xhc3NlcyAzNDV4LzM1eHgvNDEwMC81MXh4IGFyZSBWb3lhZ2VyLWJhc2VkLgpAQCAtMjYxLDE2ICsyODQsMjcgQEAKIAkgIElmIHlvdSBkbyBub3Qgc3BlY2lmaWNhbGx5IGtub3cgeW91IGhhdmUgYSBWb3lhZ2VyIGJhc2VkIG1hY2hpbmUsCiAJICBzYXkgTiBoZXJlLCBvdGhlcndpc2UgdGhlIGtlcm5lbCB5b3UgYnVpbGQgd2lsbCBub3QgYmUgYm9vdGFibGUuCiAKK2NvbmZpZyBYODZfR0VORVJJQ0FSQ0gKKyAgICAgICBib29sICJHZW5lcmljIGFyY2hpdGVjdHVyZSIKKwlkZXBlbmRzIG9uIFg4Nl8zMgorICAgICAgIGhlbHAKKyAgICAgICAgICBUaGlzIG9wdGlvbiBjb21waWxlcyBpbiB0aGUgTlVNQVEsIFN1bW1pdCwgYmlnc21wLCBFUzcwMDAsIGRlZmF1bHQKKwkgIHN1YmFyY2hpdGVjdHVyZXMuICBJdCBpcyBpbnRlbmRlZCBmb3IgYSBnZW5lcmljIGJpbmFyeSBrZXJuZWwuCisJICBpZiB5b3Ugc2VsZWN0IHRoZW0gYWxsLCBrZXJuZWwgd2lsbCBwcm9iZSBpdCBvbmUgYnkgb25lLiBhbmQgd2lsbAorCSAgZmFsbGJhY2sgdG8gZGVmYXVsdC4KKworaWYgWDg2X0dFTkVSSUNBUkNICisKIGNvbmZpZyBYODZfTlVNQVEKIAlib29sICJOVU1BUSAoSUJNL1NlcXVlbnQpIgotCWRlcGVuZHMgb24gU01QICYmIFg4Nl8zMgorCWRlcGVuZHMgb24gU01QICYmIFg4Nl8zMiAmJiBQQ0kgJiYgWDg2X01QUEFSU0UKIAlzZWxlY3QgTlVNQQogCWhlbHAKLQkgIFRoaXMgb3B0aW9uIGlzIHVzZWQgZm9yIGdldHRpbmcgTGludXggdG8gcnVuIG9uIGEgKElCTS9TZXF1ZW50KSBOVU1BCi0JICBtdWx0aXF1YWQgYm94LiBUaGlzIGNoYW5nZXMgdGhlIHdheSB0aGF0IHByb2Nlc3NvcnMgYXJlIGJvb3RzdHJhcHBlZCwKLQkgIGFuZCB1c2VzIENsdXN0ZXJlZCBMb2dpY2FsIEFQSUMgYWRkcmVzc2luZyBtb2RlIGluc3RlYWQgb2YgRmxhdCBMb2dpY2FsLgotCSAgWW91IHdpbGwgbmVlZCBhIG5ldyBseW54ZXIuZWxmIGZpbGUgdG8gZmxhc2ggeW91ciBmaXJtd2FyZSB3aXRoIC0gc2VuZAotCSAgZW1haWwgdG8gPE1hcnRpbi5CbGlnaEB1cy5pYm0uY29tPi4KKwkgIFRoaXMgb3B0aW9uIGlzIHVzZWQgZm9yIGdldHRpbmcgTGludXggdG8gcnVuIG9uIGEgTlVNQVEgKElCTS9TZXF1ZW50KQorCSAgTlVNQSBtdWx0aXF1YWQgYm94LiBUaGlzIGNoYW5nZXMgdGhlIHdheSB0aGF0IHByb2Nlc3NvcnMgYXJlCisJICBib290c3RyYXBwZWQsIGFuZCB1c2VzIENsdXN0ZXJlZCBMb2dpY2FsIEFQSUMgYWRkcmVzc2luZyBtb2RlIGluc3RlYWQKKwkgIG9mIEZsYXQgTG9naWNhbC4gIFlvdSB3aWxsIG5lZWQgYSBuZXcgbHlueGVyLmVsZiBmaWxlIHRvIGZsYXNoIHlvdXIKKwkgIGZpcm13YXJlIHdpdGggLSBzZW5kIGVtYWlsIHRvIDxNYXJ0aW4uQmxpZ2hAdXMuaWJtLmNvbT4uCiAKIGNvbmZpZyBYODZfU1VNTUlUCiAJYm9vbCAiU3VtbWl0L0VYQSAoSUJNIHg0NDApIgpAQCAtMjc5LDQ2ICszMTMsMjEgQEAKIAkgIFRoaXMgb3B0aW9uIGlzIG5lZWRlZCBmb3IgSUJNIHN5c3RlbXMgdGhhdCB1c2UgdGhlIFN1bW1pdC9FWEEgY2hpcHNldC4KIAkgIEluIHBhcnRpY3VsYXIsIGl0IGlzIG5lZWRlZCBmb3IgdGhlIHg0NDAuCiAKLQkgIElmIHlvdSBkb24ndCBoYXZlIG9uZSBvZiB0aGVzZSBjb21wdXRlcnMsIHlvdSBzaG91bGQgc2F5IE4gaGVyZS4KLQkgIElmIHlvdSB3YW50IHRvIGJ1aWxkIGEgTlVNQSBrZXJuZWwsIHlvdSBtdXN0IHNlbGVjdCBBQ1BJLgotCi1jb25maWcgWDg2X0JJR1NNUAotCWJvb2wgIlN1cHBvcnQgZm9yIG90aGVyIHN1Yi1hcmNoIFNNUCBzeXN0ZW1zIHdpdGggbW9yZSB0aGFuIDggQ1BVcyIKLQlkZXBlbmRzIG9uIFg4Nl8zMiAmJiBTTVAKLQloZWxwCi0JICBUaGlzIG9wdGlvbiBpcyBuZWVkZWQgZm9yIHRoZSBzeXN0ZW1zIHRoYXQgaGF2ZSBtb3JlIHRoYW4gOCBDUFVzCi0JICBhbmQgaWYgdGhlIHN5c3RlbSBpcyBub3Qgb2YgYW55IHN1Yi1hcmNoIHR5cGUgYWJvdmUuCi0KLQkgIElmIHlvdSBkb24ndCBoYXZlIHN1Y2ggYSBzeXN0ZW0sIHlvdSBzaG91bGQgc2F5IE4gaGVyZS4KLQotY29uZmlnIFg4Nl9WSVNXUwotCWJvb2wgIlNHSSAzMjAvNTQwIChWaXN1YWwgV29ya3N0YXRpb24pIgotCWRlcGVuZHMgb24gWDg2XzMyCi0JaGVscAotCSAgVGhlIFNHSSBWaXN1YWwgV29ya3N0YXRpb24gc2VyaWVzIGlzIGFuIElBMzItYmFzZWQgd29ya3N0YXRpb24KLQkgIGJhc2VkIG9uIFNHSSBzeXN0ZW1zIGNoaXBzIHdpdGggc29tZSBsZWdhY3kgUEMgaGFyZHdhcmUgYXR0YWNoZWQuCi0KLQkgIFNheSBZIGhlcmUgdG8gY3JlYXRlIGEga2VybmVsIHRvIHJ1biBvbiB0aGUgU0dJIDMyMCBvciA1NDAuCi0KLQkgIEEga2VybmVsIGNvbXBpbGVkIGZvciB0aGUgVmlzdWFsIFdvcmtzdGF0aW9uIHdpbGwgbm90IHJ1biBvbiBQQ3MKLQkgIGFuZCB2aWNlIHZlcnNhLiBTZWUgPGZpbGU6RG9jdW1lbnRhdGlvbi9zZ2ktdmlzd3MudHh0PiBmb3IgZGV0YWlscy4KLQotY29uZmlnIFg4Nl9HRU5FUklDQVJDSAotICAgICAgIGJvb2wgIkdlbmVyaWMgYXJjaGl0ZWN0dXJlIChTdW1taXQsIGJpZ3NtcCwgRVM3MDAwLCBkZWZhdWx0KSIKLQlkZXBlbmRzIG9uIFg4Nl8zMgotICAgICAgIGhlbHAKLSAgICAgICAgICBUaGlzIG9wdGlvbiBjb21waWxlcyBpbiB0aGUgU3VtbWl0LCBiaWdzbXAsIEVTNzAwMCwgZGVmYXVsdCBzdWJhcmNoaXRlY3R1cmVzLgotCSAgSXQgaXMgaW50ZW5kZWQgZm9yIGEgZ2VuZXJpYyBiaW5hcnkga2VybmVsLgotCSAgSWYgeW91IHdhbnQgYSBOVU1BIGtlcm5lbCwgc2VsZWN0IEFDUEkuICAgV2UgbmVlZCBTUkFUIGZvciBOVU1BLgotCiBjb25maWcgWDg2X0VTNzAwMAogCWJvb2wgIlN1cHBvcnQgZm9yIFVuaXN5cyBFUzcwMDAgSUEzMiBzZXJpZXMiCiAJZGVwZW5kcyBvbiBYODZfMzIgJiYgU01QCiAJaGVscAogCSAgU3VwcG9ydCBmb3IgVW5pc3lzIEVTNzAwMCBzeXN0ZW1zLiAgU2F5ICdZJyBoZXJlIGlmIHRoaXMga2VybmVsIGlzCiAJICBzdXBwb3NlZCB0byBydW4gb24gYW4gSUEzMi1iYXNlZCBVbmlzeXMgRVM3MDAwIHN5c3RlbS4KLQkgIE9ubHkgY2hvb3NlIHRoaXMgb3B0aW9uIGlmIHlvdSBoYXZlIHN1Y2ggYSBzeXN0ZW0sIG90aGVyd2lzZSB5b3UKLQkgIHNob3VsZCBzYXkgTiBoZXJlLgorCitjb25maWcgWDg2X0JJR1NNUAorCWJvb2wgIlN1cHBvcnQgZm9yIGJpZyBTTVAgc3lzdGVtcyB3aXRoIG1vcmUgdGhhbiA4IENQVXMiCisJZGVwZW5kcyBvbiBYODZfMzIgJiYgU01QCisJaGVscAorCSAgVGhpcyBvcHRpb24gaXMgbmVlZGVkIGZvciB0aGUgc3lzdGVtcyB0aGF0IGhhdmUgbW9yZSB0aGFuIDggQ1BVcworCSAgYW5kIGlmIHRoZSBzeXN0ZW0gaXMgbm90IG9mIGFueSBzdWItYXJjaCB0eXBlIGFib3ZlLgorCitlbmRpZgogCiBjb25maWcgWDg2X1JEQzMyMVgKIAlib29sICJSREMgUi0zMjF4IFNvQyIKQEAgLTMzNyw3ICszNDYsNyBAQAogY29uZmlnIFg4Nl9WU01QCiAJYm9vbCAiU3VwcG9ydCBmb3IgU2NhbGVNUCB2U01QIgogCXNlbGVjdCBQQVJBVklSVAotCWRlcGVuZHMgb24gWDg2XzY0CisJZGVwZW5kcyBvbiBYODZfNjQgJiYgUENJCiAJaGVscAogCSAgU3VwcG9ydCBmb3IgU2NhbGVNUCB2U01QIHN5c3RlbXMuICBTYXkgJ1knIGhlcmUgaWYgdGhpcyBrZXJuZWwgaXMKIAkgIHN1cHBvc2VkIHRvIHJ1biBvbiB0aGVzZSBFTTY0VC1iYXNlZCBtYWNoaW5lcy4gIE9ubHkgY2hvb3NlIHRoaXMgb3B0aW9uCkBAIC0zNDUsNiArMzU0LDE4IEBACiAKIGVuZGNob2ljZQogCitjb25maWcgWDg2X1ZJU1dTCisJYm9vbCAiU0dJIDMyMC81NDAgKFZpc3VhbCBXb3Jrc3RhdGlvbikiCisJZGVwZW5kcyBvbiBYODZfMzIgJiYgUENJICYmICFYODZfVk9ZQUdFUiAmJiBYODZfTVBQQVJTRSAmJiBQQ0lfR09ESVJFQ1QKKwloZWxwCisJICBUaGUgU0dJIFZpc3VhbCBXb3Jrc3RhdGlvbiBzZXJpZXMgaXMgYW4gSUEzMi1iYXNlZCB3b3Jrc3RhdGlvbgorCSAgYmFzZWQgb24gU0dJIHN5c3RlbXMgY2hpcHMgd2l0aCBzb21lIGxlZ2FjeSBQQyBoYXJkd2FyZSBhdHRhY2hlZC4KKworCSAgU2F5IFkgaGVyZSB0byBjcmVhdGUgYSBrZXJuZWwgdG8gcnVuIG9uIHRoZSBTR0kgMzIwIG9yIDU0MC4KKworCSAgQSBrZXJuZWwgY29tcGlsZWQgZm9yIHRoZSBWaXN1YWwgV29ya3N0YXRpb24gd2lsbCBydW4gb24gZ2VuZXJhbAorCSAgUENzIGFzIHdlbGwuIFNlZSA8ZmlsZTpEb2N1bWVudGF0aW9uL3NnaS12aXN3cy50eHQ+IGZvciBkZXRhaWxzLgorCiBjb25maWcgU0NIRURfTk9fTk9fT01JVF9GUkFNRV9QT0lOVEVSCiAJZGVmX2Jvb2wgeQogCXByb21wdCAiU2luZ2xlLWRlcHRoIFdDSEFOIG91dHB1dCIKQEAgLTM3Myw3ICszOTQsNyBAQAogCWJvb2wgIlZNSSBHdWVzdCBzdXBwb3J0IgogCXNlbGVjdCBQQVJBVklSVAogCWRlcGVuZHMgb24gWDg2XzMyCi0JZGVwZW5kcyBvbiAhKFg4Nl9WSVNXUyB8fCBYODZfVk9ZQUdFUikKKwlkZXBlbmRzIG9uICFYODZfVk9ZQUdFUgogCWhlbHAKIAkgIFZNSSBwcm92aWRlcyBhIHBhcmF2aXJ0dWFsaXplZCBpbnRlcmZhY2UgdG8gdGhlIFZNd2FyZSBFU1ggc2VydmVyCiAJICAoaXQgY291bGQgYmUgdXNlZCBieSBvdGhlciBoeXBlcnZpc29ycyBpbiB0aGVvcnkgdG9vLCBidXQgaXMgbm90CkBAIC0zODQsNyArNDA1LDcgQEAKIAlib29sICJLVk0gcGFyYXZpcnR1YWxpemVkIGNsb2NrIgogCXNlbGVjdCBQQVJBVklSVAogCXNlbGVjdCBQQVJBVklSVF9DTE9DSwotCWRlcGVuZHMgb24gIShYODZfVklTV1MgfHwgWDg2X1ZPWUFHRVIpCisJZGVwZW5kcyBvbiAhWDg2X1ZPWUFHRVIKIAloZWxwCiAJICBUdXJuaW5nIG9uIHRoaXMgb3B0aW9uIHdpbGwgYWxsb3cgeW91IHRvIHJ1biBhIHBhcmF2aXJ0dWFsaXplZCBjbG9jawogCSAgd2hlbiBydW5uaW5nIG92ZXIgdGhlIEtWTSBoeXBlcnZpc29yLiBJbnN0ZWFkIG9mIHJlbHlpbmcgb24gYSBQSVQKQEAgLTM5NSw3ICs0MTYsNyBAQAogY29uZmlnIEtWTV9HVUVTVAogCWJvb2wgIktWTSBHdWVzdCBzdXBwb3J0IgogCXNlbGVjdCBQQVJBVklSVAotCWRlcGVuZHMgb24gIShYODZfVklTV1MgfHwgWDg2X1ZPWUFHRVIpCisJZGVwZW5kcyBvbiAhWDg2X1ZPWUFHRVIKIAloZWxwCiAJIFRoaXMgb3B0aW9uIGVuYWJsZXMgdmFyaW91cyBvcHRpbWl6YXRpb25zIGZvciBydW5uaW5nIHVuZGVyIHRoZSBLVk0KIAkgaHlwZXJ2aXNvci4KQEAgLTQwNCw3ICs0MjUsNyBAQAogCiBjb25maWcgUEFSQVZJUlQKIAlib29sICJFbmFibGUgcGFyYXZpcnR1YWxpemF0aW9uIGNvZGUiCi0JZGVwZW5kcyBvbiAhKFg4Nl9WSVNXUyB8fCBYODZfVk9ZQUdFUikKKwlkZXBlbmRzIG9uICFYODZfVk9ZQUdFUgogCWhlbHAKIAkgIFRoaXMgY2hhbmdlcyB0aGUga2VybmVsIHNvIGl0IGNhbiBtb2RpZnkgaXRzZWxmIHdoZW4gaXQgaXMgcnVuCiAJICB1bmRlciBhIGh5cGVydmlzb3IsIHBvdGVudGlhbGx5IGltcHJvdmluZyBwZXJmb3JtYW5jZSBzaWduaWZpY2FudGx5CkBAIC00MTcsNTEgKzQzOCwzMiBAQAogCiBlbmRpZgogCi1jb25maWcgTUVNVEVTVF9CT09UUEFSQU0KLQlib29sICJNZW10ZXN0IGJvb3QgcGFyYW1ldGVyIgorY29uZmlnIFBBUkFWSVJUX0RFQlVHCisgICAgICAgYm9vbCAicGFyYXZpcnQtb3BzIGRlYnVnZ2luZyIKKyAgICAgICBkZXBlbmRzIG9uIFBBUkFWSVJUICYmIERFQlVHX0tFUk5FTAorICAgICAgIGhlbHAKKyAgICAgICAgIEVuYWJsZSB0byBkZWJ1ZyBwYXJhdmlydF9vcHMgaW50ZXJuYWxzLiAgU3BlY2lmaWNhbGx5LCBCVUcgaWYKKwkgYSBwYXJhdmlydF9vcCBpcyBtaXNzaW5nIHdoZW4gaXQgaXMgY2FsbGVkLgorCitjb25maWcgTUVNVEVTVAorCWJvb2wgIk1lbXRlc3QiCiAJZGVwZW5kcyBvbiBYODZfNjQKLQlkZWZhdWx0IHkKIAloZWxwCiAJICBUaGlzIG9wdGlvbiBhZGRzIGEga2VybmVsIHBhcmFtZXRlciAnbWVtdGVzdCcsIHdoaWNoIGFsbG93cyBtZW10ZXN0Ci0JICB0byBiZSBkaXNhYmxlZCBhdCBib290LiAgSWYgdGhpcyBvcHRpb24gaXMgc2VsZWN0ZWQsIG1lbXRlc3QKLQkgIGZ1bmN0aW9uYWxpdHkgY2FuIGJlIGRpc2FibGVkIHdpdGggbWVtdGVzdD0wIG9uIHRoZSBrZXJuZWwKLQkgIGNvbW1hbmQgbGluZS4gIFRoZSBwdXJwb3NlIG9mIHRoaXMgb3B0aW9uIGlzIHRvIGFsbG93IGEgc2luZ2xlCi0JICBrZXJuZWwgaW1hZ2UgdG8gYmUgZGlzdHJpYnV0ZWQgd2l0aCBtZW10ZXN0IGJ1aWx0IGluLCBidXQgbm90Ci0JICBuZWNlc3NhcmlseSBlbmFibGVkLgotCi0JICBJZiB5b3UgYXJlIHVuc3VyZSBob3cgdG8gYW5zd2VyIHRoaXMgcXVlc3Rpb24sIGFuc3dlciBZLgotCi1jb25maWcgTUVNVEVTVF9CT09UUEFSQU1fVkFMVUUKLQlpbnQgIk1lbXRlc3QgYm9vdCBwYXJhbWV0ZXIgZGVmYXVsdCB2YWx1ZSAoMC00KSIKLQlkZXBlbmRzIG9uIE1FTVRFU1RfQk9PVFBBUkFNCi0JcmFuZ2UgMCA0Ci0JZGVmYXVsdCAwCi0JaGVscAotCSAgVGhpcyBvcHRpb24gc2V0cyB0aGUgZGVmYXVsdCB2YWx1ZSBmb3IgdGhlIGtlcm5lbCBwYXJhbWV0ZXIKLQkgICdtZW10ZXN0Jywgd2hpY2ggYWxsb3dzIG1lbXRlc3QgdG8gYmUgZGlzYWJsZWQgYXQgYm9vdC4gIElmIHRoaXMKLQkgIG9wdGlvbiBpcyBzZXQgdG8gMCAoemVybyksIHRoZSBtZW10ZXN0IGtlcm5lbCBwYXJhbWV0ZXIgd2lsbAotCSAgZGVmYXVsdCB0byAwLCBkaXNhYmxpbmcgbWVtdGVzdCBhdCBib290dXAuICBJZiB0aGlzIG9wdGlvbiBpcwotCSAgc2V0IHRvIDQsIHRoZSBtZW10ZXN0IGtlcm5lbCBwYXJhbWV0ZXIgd2lsbCBkZWZhdWx0IHRvIDQsCi0JICBlbmFibGluZyBtZW10ZXN0IGF0IGJvb3R1cCwgYW5kIHVzZSB0aGF0IGFzIHBhdHRlcm4gbnVtYmVyLgotCi0JICBJZiB5b3UgYXJlIHVuc3VyZSBob3cgdG8gYW5zd2VyIHRoaXMgcXVlc3Rpb24sIGFuc3dlciAwLgotCi1jb25maWcgQUNQSV9TUkFUCi0JZGVmX2Jvb2wgeQotCWRlcGVuZHMgb24gWDg2XzMyICYmIEFDUEkgJiYgTlVNQSAmJiAoWDg2X1NVTU1JVCB8fCBYODZfR0VORVJJQ0FSQ0gpCi0Jc2VsZWN0IEFDUElfTlVNQQotCi1jb25maWcgSEFWRV9BUkNIX1BBUlNFX1NSQVQKLQlkZWZfYm9vbCB5Ci0JZGVwZW5kcyBvbiBBQ1BJX1NSQVQKKwkgIHRvIGJlIHNldC4KKwkJbWVtdGVzdD0wLCBtZWFuIGRpc2FibGVkOyAtLSBkZWZhdWx0CisJCW1lbXRlc3Q9MSwgbWVhbiBkbyAxIHRlc3QgcGF0dGVybjsKKwkJLi4uCisJCW1lbXRlc3Q9NCwgbWVhbiBkbyA0IHRlc3QgcGF0dGVybnMuCisJICBJZiB5b3UgYXJlIHVuc3VyZSBob3cgdG8gYW5zd2VyIHRoaXMgcXVlc3Rpb24sIGFuc3dlciBOLgogCiBjb25maWcgWDg2X1NVTU1JVF9OVU1BCiAJZGVmX2Jvb2wgeQotCWRlcGVuZHMgb24gWDg2XzMyICYmIE5VTUEgJiYgKFg4Nl9TVU1NSVQgfHwgWDg2X0dFTkVSSUNBUkNIKQorCWRlcGVuZHMgb24gWDg2XzMyICYmIE5VTUEgJiYgWDg2X0dFTkVSSUNBUkNICiAKIGNvbmZpZyBYODZfQ1lDTE9ORV9USU1FUgogCWRlZl9ib29sIHkKLQlkZXBlbmRzIG9uIFg4Nl8zMiAmJiBYODZfU1VNTUlUIHx8IFg4Nl9HRU5FUklDQVJDSAorCWRlcGVuZHMgb24gWDg2X0dFTkVSSUNBUkNICiAKIGNvbmZpZyBFUzcwMDBfQ0xVU1RFUkVEX0FQSUMKIAlkZWZfYm9vbCB5CkBAIC01NDksNiArNTUxLDIxIEBACiAJICBDYWxnYXJ5IGFueXdheSwgcGFzcyAnaW9tbXU9Y2FsZ2FyeScgb24gdGhlIGtlcm5lbCBjb21tYW5kIGxpbmUuCiAJICBJZiB1bnN1cmUsIHNheSBZLgogCitjb25maWcgQU1EX0lPTU1VCisJYm9vbCAiQU1EIElPTU1VIHN1cHBvcnQiCisJc2VsZWN0IFNXSU9UTEIKKwlkZXBlbmRzIG9uIFg4Nl82NCAmJiBQQ0kgJiYgQUNQSQorCWhlbHAKKwkgIFdpdGggdGhpcyBvcHRpb24geW91IGNhbiBlbmFibGUgc3VwcG9ydCBmb3IgQU1EIElPTU1VIGhhcmR3YXJlIGluCisJICB5b3VyIHN5c3RlbS4gQW4gSU9NTVUgaXMgYSBoYXJkd2FyZSBjb21wb25lbnQgd2hpY2ggcHJvdmlkZXMKKwkgIHJlbWFwcGluZyBvZiBETUEgbWVtb3J5IGFjY2Vzc2VzIGZyb20gZGV2aWNlcy4gV2l0aCBhbiBBTUQgSU9NTVUgeW91CisJICBjYW4gaXNvbGF0ZSB0aGUgdGhlIERNQSBtZW1vcnkgb2YgZGlmZmVyZW50IGRldmljZXMgYW5kIHByb3RlY3QgdGhlCisJICBzeXN0ZW0gZnJvbSBtaXNiZWhhdmluZyBkZXZpY2UgZHJpdmVycyBvciBoYXJkd2FyZS4KKworCSAgWW91IGNhbiBmaW5kIG91dCBpZiB5b3VyIHN5c3RlbSBoYXMgYW4gQU1EIElPTU1VIGlmIHlvdSBsb29rIGludG8KKwkgIHlvdXIgQklPUyBmb3IgYW4gb3B0aW9uIHRvIGVuYWJsZSBpdCBvciBpZiB5b3UgaGF2ZSBhbiBJVlJTIEFDUEkKKwkgIHRhYmxlLgorCiAjIG5lZWQgdGhpcyBhbHdheXMgc2VsZWN0ZWQgYnkgSU9NTVUgZm9yIHRoZSBWSUEgd29ya2Fyb3VuZAogY29uZmlnIFNXSU9UTEIKIAlib29sCkBAIC01NjAsMjEgKzU3NywzNiBAQAogCSAgMyBHQiBvZiBtZW1vcnkuIElmIHVuc3VyZSwgc2F5IFkuCiAKIGNvbmZpZyBJT01NVV9IRUxQRVIKLQlkZWZfYm9vbCAoQ0FMR0FSWV9JT01NVSB8fCBHQVJUX0lPTU1VIHx8IFNXSU9UTEIpCisJZGVmX2Jvb2wgKENBTEdBUllfSU9NTVUgfHwgR0FSVF9JT01NVSB8fCBTV0lPVExCIHx8IEFNRF9JT01NVSkKK2NvbmZpZyBNQVhTTVAKKwlib29sICJDb25maWd1cmUgTWF4aW11bSBudW1iZXIgb2YgU01QIFByb2Nlc3NvcnMgYW5kIE5VTUEgTm9kZXMiCisJZGVwZW5kcyBvbiBYODZfNjQgJiYgU01QCisJZGVmYXVsdCBuCisJaGVscAorCSAgQ29uZmlndXJlIG1heGltdW0gbnVtYmVyIG9mIENQVVMgYW5kIE5VTUEgTm9kZXMgZm9yIHRoaXMgYXJjaGl0ZWN0dXJlLgorCSAgSWYgdW5zdXJlLCBzYXkgTi4KIAoraWYgTUFYU01QCiBjb25maWcgTlJfQ1BVUwotCWludCAiTWF4aW11bSBudW1iZXIgb2YgQ1BVcyAoMi0yNTUpIgotCXJhbmdlIDIgMjU1CisJaW50CisJZGVmYXVsdCAiNDA5NiIKK2VuZGlmCisKK2lmICFNQVhTTVAKK2NvbmZpZyBOUl9DUFVTCisJaW50ICJNYXhpbXVtIG51bWJlciBvZiBDUFVzICgyLTQwOTYpIgorCXJhbmdlIDIgNDA5NgogCWRlcGVuZHMgb24gU01QCiAJZGVmYXVsdCAiMzIiIGlmIFg4Nl9OVU1BUSB8fCBYODZfU1VNTUlUIHx8IFg4Nl9CSUdTTVAgfHwgWDg2X0VTNzAwMAogCWRlZmF1bHQgIjgiCiAJaGVscAogCSAgVGhpcyBhbGxvd3MgeW91IHRvIHNwZWNpZnkgdGhlIG1heGltdW0gbnVtYmVyIG9mIENQVXMgd2hpY2ggdGhpcwotCSAga2VybmVsIHdpbGwgc3VwcG9ydC4gIFRoZSBtYXhpbXVtIHN1cHBvcnRlZCB2YWx1ZSBpcyAyNTUgYW5kIHRoZQorCSAga2VybmVsIHdpbGwgc3VwcG9ydC4gIFRoZSBtYXhpbXVtIHN1cHBvcnRlZCB2YWx1ZSBpcyA0MDk2IGFuZCB0aGUKIAkgIG1pbmltdW0gdmFsdWUgd2hpY2ggbWFrZXMgc2Vuc2UgaXMgMi4KIAogCSAgVGhpcyBpcyBwdXJlbHkgdG8gc2F2ZSBtZW1vcnkgLSBlYWNoIHN1cHBvcnRlZCBDUFUgYWRkcwogCSAgYXBwcm94aW1hdGVseSBlaWdodCBraWxvYnl0ZXMgdG8gdGhlIGtlcm5lbCBpbWFnZS4KK2VuZGlmCiAKIGNvbmZpZyBTQ0hFRF9TTVQKIAlib29sICJTTVQgKEh5cGVydGhyZWFkaW5nKSBzY2hlZHVsZXIgc3VwcG9ydCIKQEAgLTU5OCw3ICs2MzAsNyBAQAogCiBjb25maWcgWDg2X1VQX0FQSUMKIAlib29sICJMb2NhbCBBUElDIHN1cHBvcnQgb24gdW5pcHJvY2Vzc29ycyIKLQlkZXBlbmRzIG9uIFg4Nl8zMiAmJiAhU01QICYmICEoWDg2X1ZJU1dTIHx8IFg4Nl9WT1lBR0VSIHx8IFg4Nl9HRU5FUklDQVJDSCkKKwlkZXBlbmRzIG9uIFg4Nl8zMiAmJiAhU01QICYmICEoWDg2X1ZPWUFHRVIgfHwgWDg2X0dFTkVSSUNBUkNIKQogCWhlbHAKIAkgIEEgbG9jYWwgQVBJQyAoQWR2YW5jZWQgUHJvZ3JhbW1hYmxlIEludGVycnVwdCBDb250cm9sbGVyKSBpcyBhbgogCSAgaW50ZWdyYXRlZCBpbnRlcnJ1cHQgY29udHJvbGxlciBpbiB0aGUgQ1BVLiBJZiB5b3UgaGF2ZSBhIHNpbmdsZS1DUFUKQEAgLTYyMywxMSArNjU1LDExIEBACiAKIGNvbmZpZyBYODZfTE9DQUxfQVBJQwogCWRlZl9ib29sIHkKLQlkZXBlbmRzIG9uIFg4Nl82NCB8fCAoWDg2XzMyICYmIChYODZfVVBfQVBJQyB8fCAoKFg4Nl9WSVNXUyB8fCBTTVApICYmICFYODZfVk9ZQUdFUikgfHwgWDg2X0dFTkVSSUNBUkNIKSkKKwlkZXBlbmRzIG9uIFg4Nl82NCB8fCAoWDg2XzMyICYmIChYODZfVVBfQVBJQyB8fCAoU01QICYmICFYODZfVk9ZQUdFUikgfHwgWDg2X0dFTkVSSUNBUkNIKSkKIAogY29uZmlnIFg4Nl9JT19BUElDCiAJZGVmX2Jvb2wgeQotCWRlcGVuZHMgb24gWDg2XzY0IHx8IChYODZfMzIgJiYgKFg4Nl9VUF9JT0FQSUMgfHwgKFNNUCAmJiAhKFg4Nl9WSVNXUyB8fCBYODZfVk9ZQUdFUikpIHx8IFg4Nl9HRU5FUklDQVJDSCkpCisJZGVwZW5kcyBvbiBYODZfNjQgfHwgKFg4Nl8zMiAmJiAoWDg2X1VQX0lPQVBJQyB8fCAoU01QICYmICFYODZfVk9ZQUdFUikgfHwgWDg2X0dFTkVSSUNBUkNIKSkKIAogY29uZmlnIFg4Nl9WSVNXU19BUElDCiAJZGVmX2Jvb2wgeQpAQCAtNjgxLDcgKzcxMyw3IEBACiAKIGNvbmZpZyBYODZfTUNFX1A0VEhFUk1BTAogCWJvb2wgImNoZWNrIGZvciBQNCB0aGVybWFsIHRocm90dGxpbmcgaW50ZXJydXB0LiIKLQlkZXBlbmRzIG9uIFg4Nl8zMiAmJiBYODZfTUNFICYmIChYODZfVVBfQVBJQyB8fCBTTVApICYmICFYODZfVklTV1MKKwlkZXBlbmRzIG9uIFg4Nl8zMiAmJiBYODZfTUNFICYmIChYODZfVVBfQVBJQyB8fCBTTVApCiAJaGVscAogCSAgRW5hYmxpbmcgdGhpcyBmZWF0dXJlIHdpbGwgY2F1c2UgYSBtZXNzYWdlIHRvIGJlIHByaW50ZWQgd2hlbiB0aGUgUDQKIAkgIGVudGVycyB0aGVybWFsIHRocm90dGxpbmcuCkBAIC05MTEsOSArOTQzLDkgQEAKIGNvbmZpZyBOVU1BCiAJYm9vbCAiTnVtYSBNZW1vcnkgQWxsb2NhdGlvbiBhbmQgU2NoZWR1bGVyIFN1cHBvcnQgKEVYUEVSSU1FTlRBTCkiCiAJZGVwZW5kcyBvbiBTTVAKLQlkZXBlbmRzIG9uIFg4Nl82NCB8fCAoWDg2XzMyICYmIEhJR0hNRU02NEcgJiYgKFg4Nl9OVU1BUSB8fCAoWDg2X1NVTU1JVCB8fCBYODZfR0VORVJJQ0FSQ0gpICYmIEFDUEkpICYmIEVYUEVSSU1FTlRBTCkKKwlkZXBlbmRzIG9uIFg4Nl82NCB8fCAoWDg2XzMyICYmIEhJR0hNRU02NEcgJiYgKFg4Nl9OVU1BUSB8fCBYODZfQklHU01QIHx8IFg4Nl9TVU1NSVQgJiYgQUNQSSkgJiYgRVhQRVJJTUVOVEFMKQogCWRlZmF1bHQgbiBpZiBYODZfUEMKLQlkZWZhdWx0IHkgaWYgKFg4Nl9OVU1BUSB8fCBYODZfU1VNTUlUKQorCWRlZmF1bHQgeSBpZiAoWDg2X05VTUFRIHx8IFg4Nl9TVU1NSVQgfHwgWDg2X0JJR1NNUCkKIAloZWxwCiAJICBFbmFibGUgTlVNQSAoTm9uIFVuaWZvcm0gTWVtb3J5IEFjY2Vzcykgc3VwcG9ydC4KIAkgIFRoZSBrZXJuZWwgd2lsbCB0cnkgdG8gYWxsb2NhdGUgbWVtb3J5IHVzZWQgYnkgYSBDUFUgb24gdGhlCkBAIC05NjUsMTMgKzk5NywyNSBAQAogCSAgaW50byB2aXJ0dWFsIG5vZGVzIHdoZW4gYm9vdGVkIHdpdGggIm51bWE9ZmFrZT1OIiwgd2hlcmUgTiBpcyB0aGUKIAkgIG51bWJlciBvZiBub2Rlcy4gVGhpcyBpcyBvbmx5IHVzZWZ1bCBmb3IgZGVidWdnaW5nLgogCitpZiBNQVhTTVAKKwogY29uZmlnIE5PREVTX1NISUZUCi0JaW50ICJNYXggbnVtIG5vZGVzIHNoaWZ0KDEtOSkiCi0JcmFuZ2UgMSA5ICBpZiBYODZfNjQKKwlpbnQKKwlkZWZhdWx0ICI5IgorZW5kaWYKKworaWYgIU1BWFNNUAorY29uZmlnIE5PREVTX1NISUZUCisJaW50ICJNYXhpbXVtIE5VTUEgTm9kZXMgKGFzIGEgcG93ZXIgb2YgMikiCisJcmFuZ2UgMSA5ICAgaWYgWDg2XzY0CiAJZGVmYXVsdCAiNiIgaWYgWDg2XzY0CiAJZGVmYXVsdCAiNCIgaWYgWDg2X05VTUFRCiAJZGVmYXVsdCAiMyIKIAlkZXBlbmRzIG9uIE5FRURfTVVMVElQTEVfTk9ERVMKKwloZWxwCisJICBTcGVjaWZ5IHRoZSBtYXhpbXVtIG51bWJlciBvZiBOVU1BIE5vZGVzIGF2YWlsYWJsZSBvbiB0aGUgdGFyZ2V0CisJICBzeXN0ZW0uICBJbmNyZWFzZXMgbWVtb3J5IHJlc2VydmVkIHRvIGFjY29tb2RhdGUgdmFyaW91cyB0YWJsZXMuCitlbmRpZgogCiBjb25maWcgSEFWRV9BUkNIX0JPT1RNRU1fTk9ERQogCWRlZl9ib29sIHkKQEAgLTEwOTAsNiArMTEzNCwzNyBAQAogCiAJICBTZWUgPGZpbGU6RG9jdW1lbnRhdGlvbi9tdHJyLnR4dD4gZm9yIG1vcmUgaW5mb3JtYXRpb24uCiAKK2NvbmZpZyBNVFJSX1NBTklUSVpFUgorCWJvb2wKKwlwcm9tcHQgIk1UUlIgY2xlYW51cCBzdXBwb3J0IgorCWRlcGVuZHMgb24gTVRSUgorCWhlbHAKKwkgIENvbnZlcnQgTVRSUiBsYXlvdXQgZnJvbSBjb250aW51b3VzIHRvIGRpc2NyZXRlLCBzbyBYIGRyaXZlcnMgY2FuCisJICBhZGQgd3JpdGViYWNrIGVudHJpZXMuCisKKwkgIENhbiBiZSBkaXNhYmxlZCB3aXRoIGRpc2FibGVfbXRycl9jbGVhbnVwIG9uIHRoZSBrZXJuZWwgY29tbWFuZCBsaW5lLgorCSAgVGhlIGxhcmdlc3QgbXRyciBlbnRyeSBzaXplIGZvciBhIGNvbnRpbm91cyBibG9jayBjYW4gYmUgc2V0IHdpdGgKKwkgIG10cnJfY2h1bmtfc2l6ZS4KKworCSAgSWYgdW5zdXJlLCBzYXkgTi4KKworY29uZmlnIE1UUlJfU0FOSVRJWkVSX0VOQUJMRV9ERUZBVUxUCisJaW50ICJNVFJSIGNsZWFudXAgZW5hYmxlIHZhbHVlICgwLTEpIgorCXJhbmdlIDAgMQorCWRlZmF1bHQgIjAiCisJZGVwZW5kcyBvbiBNVFJSX1NBTklUSVpFUgorCWhlbHAKKwkgIEVuYWJsZSBtdHJyIGNsZWFudXAgZGVmYXVsdCB2YWx1ZQorCitjb25maWcgTVRSUl9TQU5JVElaRVJfU1BBUkVfUkVHX05SX0RFRkFVTFQKKwlpbnQgIk1UUlIgY2xlYW51cCBzcGFyZSByZWcgbnVtICgwLTcpIgorCXJhbmdlIDAgNworCWRlZmF1bHQgIjEiCisJZGVwZW5kcyBvbiBNVFJSX1NBTklUSVpFUgorCWhlbHAKKwkgIG10cnIgY2xlYW51cCBzcGFyZSBlbnRyaWVzIGRlZmF1bHQsIGl0IGNhbiBiZSBjaGFuZ2VkIHZpYQorCSAgbXRycl9zcGFyZV9yZWdfbnI9TiBvbiB0aGUga2VybmVsIGNvbW1hbmQgbGluZS4KKwogY29uZmlnIFg4Nl9QQVQKIAlib29sCiAJcHJvbXB0ICJ4ODYgUEFUIHN1cHBvcnQiCkBAIC0xMTkwLDcgKzEyNjUsNiBAQAogCiBjb25maWcgQ1JBU0hfRFVNUAogCWJvb2wgImtlcm5lbCBjcmFzaCBkdW1wcyAoRVhQRVJJTUVOVEFMKSIKLQlkZXBlbmRzIG9uIEVYUEVSSU1FTlRBTAogCWRlcGVuZHMgb24gWDg2XzY0IHx8IChYODZfMzIgJiYgSElHSE1FTSkKIAloZWxwCiAJICBHZW5lcmF0ZSBjcmFzaCBkdW1wIGFmdGVyIGJlaW5nIHN0YXJ0ZWQgYnkga2V4ZWMuCkBAIC0xMzM5LDcgKzE0MTMsNyBAQAogCiBtZW51Y29uZmlnIEFQTQogCXRyaXN0YXRlICJBUE0gKEFkdmFuY2VkIFBvd2VyIE1hbmFnZW1lbnQpIEJJT1Mgc3VwcG9ydCIKLQlkZXBlbmRzIG9uIFg4Nl8zMiAmJiBQTV9TTEVFUCAmJiAhWDg2X1ZJU1dTCisJZGVwZW5kcyBvbiBYODZfMzIgJiYgUE1fU0xFRVAKIAktLS1oZWxwLS0tCiAJICBBUE0gaXMgYSBCSU9TIHNwZWNpZmljYXRpb24gZm9yIHNhdmluZyBwb3dlciB1c2luZyBzZXZlcmFsIGRpZmZlcmVudAogCSAgdGVjaG5pcXVlcy4gVGhpcyBpcyBtb3N0bHkgdXNlZnVsIGZvciBiYXR0ZXJ5IHBvd2VyZWQgbGFwdG9wcyB3aXRoCkBAIC0xNDc1LDggKzE1NDksNyBAQAogbWVudSAiQnVzIG9wdGlvbnMgKFBDSSBldGMuKSIKIAogY29uZmlnIFBDSQotCWJvb2wgIlBDSSBzdXBwb3J0IiBpZiAhWDg2X1ZJU1dTICYmICFYODZfVlNNUAotCWRlcGVuZHMgb24gIVg4Nl9WT1lBR0VSCisJYm9vbCAiUENJIHN1cHBvcnQiCiAJZGVmYXVsdCB5CiAJc2VsZWN0IEFSQ0hfU1VQUE9SVFNfTVNJIGlmIChYODZfTE9DQUxfQVBJQyAmJiBYODZfSU9fQVBJQykKIAloZWxwCkBAIC0xNDg3LDcgKzE1NjAsNyBAQAogCiBjaG9pY2UKIAlwcm9tcHQgIlBDSSBhY2Nlc3MgbW9kZSIKLQlkZXBlbmRzIG9uIFg4Nl8zMiAmJiBQQ0kgJiYgIVg4Nl9WSVNXUworCWRlcGVuZHMgb24gWDg2XzMyICYmIFBDSQogCWRlZmF1bHQgUENJX0dPQU5ZCiAJLS0taGVscC0tLQogCSAgT24gUENJIHN5c3RlbXMsIHRoZSBCSU9TIGNhbiBiZSB1c2VkIHRvIGRldGVjdCB0aGUgUENJIGRldmljZXMgYW5kCkBAIC0xNTI0LDEyICsxNTk3LDEyIEBACiAKIGNvbmZpZyBQQ0lfQklPUwogCWRlZl9ib29sIHkKLQlkZXBlbmRzIG9uIFg4Nl8zMiAmJiAhWDg2X1ZJU1dTICYmIFBDSSAmJiAoUENJX0dPQklPUyB8fCBQQ0lfR09BTlkpCisJZGVwZW5kcyBvbiBYODZfMzIgJiYgUENJICYmIChQQ0lfR09CSU9TIHx8IFBDSV9HT0FOWSkKIAogIyB4ODYtNjQgZG9lc24ndCBzdXBwb3J0IFBDSSBCSU9TIGFjY2VzcyBmcm9tIGxvbmcgbW9kZSBzbyBhbHdheXMgZ28gZGlyZWN0LgogY29uZmlnIFBDSV9ESVJFQ1QKIAlkZWZfYm9vbCB5Ci0JZGVwZW5kcyBvbiBQQ0kgJiYgKFg4Nl82NCB8fCAoUENJX0dPRElSRUNUIHx8IFBDSV9HT0FOWSB8fCBQQ0lfR09PTFBDKSB8fCBYODZfVklTV1MpCisJZGVwZW5kcyBvbiBQQ0kgJiYgKFg4Nl82NCB8fCAoUENJX0dPRElSRUNUIHx8IFBDSV9HT0FOWSB8fCBQQ0lfR09PTFBDKSkKIAogY29uZmlnIFBDSV9NTUNPTkZJRwogCWRlZl9ib29sIHkKQEAgLTE1ODksNyArMTY2Miw3IEBACiAKIGNvbmZpZyBJU0EKIAlib29sICJJU0Egc3VwcG9ydCIKLQlkZXBlbmRzIG9uICEoWDg2X1ZPWUFHRVIgfHwgWDg2X1ZJU1dTKQorCWRlcGVuZHMgb24gIVg4Nl9WT1lBR0VSCiAJaGVscAogCSAgRmluZCBvdXQgd2hldGhlciB5b3UgaGF2ZSBJU0Egc2xvdHMgb24geW91ciBtb3RoZXJib2FyZC4gIElTQSBpcyB0aGUKIAkgIG5hbWUgb2YgYSBidXMgc3lzdGVtLCBpLmUuIHRoZSB3YXkgdGhlIENQVSB0YWxrcyB0byB0aGUgb3RoZXIgc3R1ZmYKQEAgLTE2MTYsNyArMTY4OSw3IEBACiBzb3VyY2UgImRyaXZlcnMvZWlzYS9LY29uZmlnIgogCiBjb25maWcgTUNBCi0JYm9vbCAiTUNBIHN1cHBvcnQiIGlmICEoWDg2X1ZJU1dTIHx8IFg4Nl9WT1lBR0VSKQorCWJvb2wgIk1DQSBzdXBwb3J0IiBpZiAhWDg2X1ZPWUFHRVIKIAlkZWZhdWx0IHkgaWYgWDg2X1ZPWUFHRVIKIAloZWxwCiAJICBNaWNyb0NoYW5uZWwgQXJjaGl0ZWN0dXJlIGlzIGZvdW5kIGluIHNvbWUgSUJNIFBTLzIgbWFjaGluZXMgYW5kCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9LY29uZmlnLmNwdSBiL2FyY2gveDg2L0tjb25maWcuY3B1CmluZGV4IDJhZDYzMDE4Li5hYmZmMWI4IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9LY29uZmlnLmNwdQorKysgYi9hcmNoL3g4Ni9LY29uZmlnLmNwdQpAQCAtMzQ0LDcgKzM0NCw3IEBACiAKIGNvbmZpZyBYODZfV1BfV09SS1NfT0sKIAlkZWZfYm9vbCB5Ci0JZGVwZW5kcyBvbiBYODZfMzIgJiYgIU0zODYKKwlkZXBlbmRzIG9uICFNMzg2CiAKIGNvbmZpZyBYODZfSU5WTFBHCiAJZGVmX2Jvb2wgeQpAQCAtMzk5LDYgKzM5OSwxMCBAQAogCWRlZl9ib29sIHkKIAlkZXBlbmRzIG9uICgoTVdJTkNISVAzRCB8fCBNV0lOQ0hJUDIgfHwgTUNSVVNPRSB8fCBNRUZGSUNFT04gfHwgTUNZUklYSUlJIHx8IE1LNyB8fCBNSzYgfHwgTVBFTlRJVU00IHx8IE1QRU5USVVNTSB8fCBNUEVOVElVTUlJSSB8fCBNUEVOVElVTUlJIHx8IE02ODYgfHwgTTU4Nk1NWCB8fCBNNTg2VFNDIHx8IE1LOCB8fCBNVklBQzNfMiB8fCBNVklBQzcgfHwgTUdFT0RFR1gxIHx8IE1HRU9ERV9MWCB8fCBNQ09SRTIpICYmICFYODZfTlVNQVEpIHx8IFg4Nl82NAogCitjb25maWcgWDg2X0NNUFhDSEc2NAorCWRlZl9ib29sIHkKKwlkZXBlbmRzIG9uIFg4Nl9QQUUgfHwgWDg2XzY0CisKICMgdGhpcyBzaG91bGQgYmUgc2V0IGZvciBhbGwgLW1hcmNoPS4uIG9wdGlvbnMgd2hlcmUgdGhlIGNvbXBpbGVyCiAjIGdlbmVyYXRlcyBjbW92LgogY29uZmlnIFg4Nl9DTU9WCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9LY29uZmlnLmRlYnVnIGIvYXJjaC94ODYvS2NvbmZpZy5kZWJ1ZwppbmRleCAxODM2MzM3Li5hZTM2YmZhIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9LY29uZmlnLmRlYnVnCisrKyBiL2FyY2gveDg2L0tjb25maWcuZGVidWcKQEAgLTIwLDYgKzIwLDE0IEBACiAKIAkgIElmIGluIGRvdWJ0LCBzYXkgWS4KIAorY29uZmlnIFg4Nl9WRVJCT1NFX0JPT1RVUAorCWJvb2wgIkVuYWJsZSB2ZXJib3NlIHg4NiBib290dXAgaW5mbyBtZXNzYWdlcyIKKwlkZWZhdWx0IHkKKwloZWxwCisJICBFbmFibGVzIHRoZSBpbmZvcm1hdGlvbmFsIG91dHB1dCBmcm9tIHRoZSBkZWNvbXByZXNzaW9uIHN0YWdlCisJICAoZS5nLiBiekltYWdlKSBvZiB0aGUgYm9vdC4gSWYgeW91IGRpc2FibGUgdGhpcyB5b3Ugd2lsbCBzdGlsbAorCSAgc2VlIGVycm9ycy4gRGlzYWJsZSB0aGlzIGlmIHlvdSB3YW50IHNpbGVudCBib290dXAuCisKIGNvbmZpZyBFQVJMWV9QUklOVEsKIAlib29sICJFYXJseSBwcmludGsiIGlmIEVNQkVEREVECiAJZGVmYXVsdCB5CkBAIC02MCw3ICs2OCw3IEBACiBjb25maWcgREVCVUdfUEVSX0NQVV9NQVBTCiAJYm9vbCAiRGVidWcgYWNjZXNzIHRvIHBlcl9jcHUgbWFwcyIKIAlkZXBlbmRzIG9uIERFQlVHX0tFUk5FTAotCWRlcGVuZHMgb24gWDg2XzY0X1NNUAorCWRlcGVuZHMgb24gWDg2X1NNUAogCWRlZmF1bHQgbgogCWhlbHAKIAkgIFNheSBZIHRvIHZlcmlmeSB0aGF0IHRoZSBwZXJfY3B1IG1hcCBiZWluZyBhY2Nlc3NlZCBoYXMKQEAgLTEyOSwxNSArMTM3LDYgQEAKIAkgIG9uIHRoZSBWTSBzdWJzeXN0ZW0gZm9yIGhpZ2hlciBvcmRlciBhbGxvY2F0aW9ucy4gVGhpcyBvcHRpb24KIAkgIHdpbGwgYWxzbyB1c2UgSVJRIHN0YWNrcyB0byBjb21wZW5zYXRlIGZvciB0aGUgcmVkdWNlZCBzdGFja3NwYWNlLgogCi1jb25maWcgWDg2X0ZJTkRfU01QX0NPTkZJRwotCWRlZl9ib29sIHkKLQlkZXBlbmRzIG9uIFg4Nl9MT0NBTF9BUElDIHx8IFg4Nl9WT1lBR0VSCi0JZGVwZW5kcyBvbiBYODZfMzIKLQotY29uZmlnIFg4Nl9NUFBBUlNFCi0JZGVmX2Jvb2wgeQotCWRlcGVuZHMgb24gKFg4Nl8zMiAmJiAoWDg2X0xPQ0FMX0FQSUMgJiYgIVg4Nl9WSVNXUykpIHx8IFg4Nl82NAotCiBjb25maWcgRE9VQkxFRkFVTFQKIAlkZWZhdWx0IHkKIAlib29sICJFbmFibGUgZG91YmxlZmF1bHQgZXhjZXB0aW9uIGhhbmRsZXIiIGlmIEVNQkVEREVECkBAIC0xNzIsNiArMTcxLDMzIEBACiAJICBBZGQgYSBzaW1wbGUgbGVhayB0cmFjZXIgdG8gdGhlIElPTU1VIGNvZGUuIFRoaXMgaXMgdXNlZnVsIHdoZW4geW91CiAJICBhcmUgZGVidWdnaW5nIGEgYnVnZ3kgZGV2aWNlIGRyaXZlciB0aGF0IGxlYWtzIElPTU1VIG1hcHBpbmdzLgogCitjb25maWcgTU1JT1RSQUNFX0hPT0tTCisJYm9vbAorCitjb25maWcgTU1JT1RSQUNFCisJYm9vbCAiTWVtb3J5IG1hcHBlZCBJTyB0cmFjaW5nIgorCWRlcGVuZHMgb24gREVCVUdfS0VSTkVMICYmIFBDSQorCXNlbGVjdCBUUkFDSU5HCisJc2VsZWN0IE1NSU9UUkFDRV9IT09LUworCWhlbHAKKwkgIE1taW90cmFjZSB0cmFjZXMgTWVtb3J5IE1hcHBlZCBJL08gYWNjZXNzIGFuZCBpcyBtZWFudCBmb3IKKwkgIGRlYnVnZ2luZyBhbmQgcmV2ZXJzZSBlbmdpbmVlcmluZy4gSXQgaXMgY2FsbGVkIGZyb20gdGhlIGlvcmVtYXAKKwkgIGltcGxlbWVudGF0aW9uIGFuZCB3b3JrcyB2aWEgcGFnZSBmYXVsdHMuIFRyYWNpbmcgaXMgZGlzYWJsZWQgYnkKKwkgIGRlZmF1bHQgYW5kIGNhbiBiZSBlbmFibGVkIGF0IHJ1bi10aW1lLgorCisJICBTZWUgRG9jdW1lbnRhdGlvbi90cmFjZXJzL21taW90cmFjZS50eHQuCisJICBJZiB5b3UgYXJlIG5vdCBoZWxwaW5nIHRvIGRldmVsb3AgZHJpdmVycywgc2F5IE4uCisKK2NvbmZpZyBNTUlPVFJBQ0VfVEVTVAorCXRyaXN0YXRlICJUZXN0IG1vZHVsZSBmb3IgbW1pb3RyYWNlIgorCWRlcGVuZHMgb24gTU1JT1RSQUNFICYmIG0KKwloZWxwCisJICBUaGlzIGlzIGEgZHVtYiBtb2R1bGUgZm9yIHRlc3RpbmcgbW1pb3RyYWNlLiBJdCBpcyB2ZXJ5IGRhbmdlcm91cworCSAgYXMgaXQgd2lsbCB3cml0ZSBnYXJiYWdlIHRvIElPIG1lbW9yeSBzdGFydGluZyBhdCBhIGdpdmVuIGFkZHJlc3MuCisJICBIb3dldmVyLCBpdCBzaG91bGQgYmUgc2FmZSB0byB1c2Ugb24gZS5nLiB1bnVzZWQgcG9ydGlvbiBvZiBWUkFNLgorCisJICBTYXkgTiwgdW5sZXNzIHlvdSBhYnNvbHV0ZWx5IGtub3cgd2hhdCB5b3UgYXJlIGRvaW5nLgorCiAjCiAjIElPIGRlbGF5IHR5cGVzOgogIwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvTWFrZWZpbGUgYi9hcmNoL3g4Ni9NYWtlZmlsZQppbmRleCAzY2ZmM2M4Li45MTljZTIxIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9NYWtlZmlsZQorKysgYi9hcmNoL3g4Ni9NYWtlZmlsZQpAQCAtMTEzLDMzICsxMTMsMTEgQEAKIG1mbGFncy0kKENPTkZJR19YODZfVk9ZQUdFUikJOj0gLUlpbmNsdWRlL2FzbS14ODYvbWFjaC12b3lhZ2VyCiBtY29yZS0kKENPTkZJR19YODZfVk9ZQUdFUikJOj0gYXJjaC94ODYvbWFjaC12b3lhZ2VyLwogCi0jIFZJU1dTIHN1YmFyY2ggc3VwcG9ydAotbWZsYWdzLSQoQ09ORklHX1g4Nl9WSVNXUykJOj0gLUlpbmNsdWRlL2FzbS14ODYvbWFjaC12aXN3cwotbWNvcmUtJChDT05GSUdfWDg2X1ZJU1dTKQk6PSBhcmNoL3g4Ni9tYWNoLXZpc3dzLwotCi0jIE5VTUFRIHN1YmFyY2ggc3VwcG9ydAotbWZsYWdzLSQoQ09ORklHX1g4Nl9OVU1BUSkJOj0gLUlpbmNsdWRlL2FzbS14ODYvbWFjaC1udW1hcQotbWNvcmUtJChDT05GSUdfWDg2X05VTUFRKQk6PSBhcmNoL3g4Ni9tYWNoLWRlZmF1bHQvCi0KLSMgQklHU01QIHN1YmFyY2ggc3VwcG9ydAotbWZsYWdzLSQoQ09ORklHX1g4Nl9CSUdTTVApCTo9IC1JaW5jbHVkZS9hc20teDg2L21hY2gtYmlnc21wCi1tY29yZS0kKENPTkZJR19YODZfQklHU01QKQk6PSBhcmNoL3g4Ni9tYWNoLWRlZmF1bHQvCi0KLSNTdW1taXQgc3ViYXJjaCBzdXBwb3J0Ci1tZmxhZ3MtJChDT05GSUdfWDg2X1NVTU1JVCkJOj0gLUlpbmNsdWRlL2FzbS14ODYvbWFjaC1zdW1taXQKLW1jb3JlLSQoQ09ORklHX1g4Nl9TVU1NSVQpCTo9IGFyY2gveDg2L21hY2gtZGVmYXVsdC8KLQogIyBnZW5lcmljIHN1YmFyY2hpdGVjdHVyZQogbWZsYWdzLSQoQ09ORklHX1g4Nl9HRU5FUklDQVJDSCk6PSAtSWluY2x1ZGUvYXNtLXg4Ni9tYWNoLWdlbmVyaWMKIGZjb3JlLSQoQ09ORklHX1g4Nl9HRU5FUklDQVJDSCkJKz0gYXJjaC94ODYvbWFjaC1nZW5lcmljLwogbWNvcmUtJChDT05GSUdfWDg2X0dFTkVSSUNBUkNIKQk6PSBhcmNoL3g4Ni9tYWNoLWRlZmF1bHQvCiAKLQotIyBFUzcwMDAgc3ViYXJjaCBzdXBwb3J0Ci1tZmxhZ3MtJChDT05GSUdfWDg2X0VTNzAwMCkJOj0gLUlpbmNsdWRlL2FzbS14ODYvbWFjaC1lczcwMDAKLWZjb3JlLSQoQ09ORklHX1g4Nl9FUzcwMDApCTo9IGFyY2gveDg2L21hY2gtZXM3MDAwLwotbWNvcmUtJChDT05GSUdfWDg2X0VTNzAwMCkJOj0gYXJjaC94ODYvbWFjaC1kZWZhdWx0LwotCiAjIFJEQyBSLTMyMXggc3ViYXJjaCBzdXBwb3J0CiBtZmxhZ3MtJChDT05GSUdfWDg2X1JEQzMyMVgpCTo9IC1JaW5jbHVkZS9hc20teDg2L21hY2gtcmRjMzIxeAogbWNvcmUtJChDT05GSUdfWDg2X1JEQzMyMVgpCTo9IGFyY2gveDg2L21hY2gtZGVmYXVsdC8KQEAgLTE2MCw2ICsxMzgsNyBAQAogCiBoZWFkLXkgOj0gYXJjaC94ODYva2VybmVsL2hlYWRfJChCSVRTKS5vCiBoZWFkLXkgKz0gYXJjaC94ODYva2VybmVsL2hlYWQkKEJJVFMpLm8KK2hlYWQteSArPSBhcmNoL3g4Ni9rZXJuZWwvaGVhZC5vCiBoZWFkLXkgKz0gYXJjaC94ODYva2VybmVsL2luaXRfdGFzay5vCiAKIGxpYnMteSAgKz0gYXJjaC94ODYvbGliLwpAQCAtMjEwLDEyICsxODksMTIgQEAKIAogIyBLQlVJTERfSU1BR0Ugc3BlY2lmeSB0YXJnZXQgaW1hZ2UgYmVpbmcgYnVpbHQKICAgICAgICAgICAgICAgICAgICAgS0JVSUxEX0lNQUdFIDo9ICQoYm9vdCkvYnpJbWFnZQotekltYWdlIHpsaWxvIHpkaXNrOiBLQlVJTERfSU1BR0UgOj0gYXJjaC94ODYvYm9vdC96SW1hZ2UKK3pJbWFnZSB6bGlsbyB6ZGlzazogS0JVSUxEX0lNQUdFIDo9ICQoYm9vdCkvekltYWdlCiAKIHpJbWFnZSBiekltYWdlOiB2bWxpbnV4CiAJJChRKSQoTUFLRSkgJChidWlsZCk9JChib290KSAkKEtCVUlMRF9JTUFHRSkKIAkkKFEpbWtkaXIgLXAgJChvYmp0cmVlKS9hcmNoLyQoVVRTX01BQ0hJTkUpL2Jvb3QKLQkkKFEpbG4gLWZzbiAuLi8uLi94ODYvYm9vdC9iekltYWdlICQob2JqdHJlZSkvYXJjaC8kKFVUU19NQUNISU5FKS9ib290L2J6SW1hZ2UKKwkkKFEpbG4gLWZzbiAuLi8uLi94ODYvYm9vdC9iekltYWdlICQob2JqdHJlZSkvYXJjaC8kKFVUU19NQUNISU5FKS9ib290LyRACiAKIGNvbXByZXNzZWQ6IHpJbWFnZQogCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9ib290L2EyMC5jIGIvYXJjaC94ODYvYm9vdC9hMjAuYwppbmRleCBlMDFhYWZkLi40MDYzZDYzIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9ib290L2EyMC5jCisrKyBiL2FyY2gveDg2L2Jvb3QvYTIwLmMKQEAgLTEsNyArMSw3IEBACiAvKiAtKi0gbGludXgtYyAtKi0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqCiAgKgogICogICBDb3B5cmlnaHQgKEMpIDE5OTEsIDE5OTIgTGludXMgVG9ydmFsZHMKLSAqICAgQ29weXJpZ2h0IDIwMDcgclBhdGgsIEluYy4gLSBBbGwgUmlnaHRzIFJlc2VydmVkCisgKiAgIENvcHlyaWdodCAyMDA3LTIwMDggclBhdGgsIEluYy4gLSBBbGwgUmlnaHRzIFJlc2VydmVkCiAgKgogICogICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgTGludXgga2VybmVsLCBhbmQgaXMgbWFkZSBhdmFpbGFibGUgdW5kZXIKICAqICAgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIuCkBAIC05NSw2ICs5NSw5IEBACiAKIAlvdXRiKDB4ZGYsIDB4NjApOwkvKiBBMjAgb24gKi8KIAllbXB0eV84MDQyKCk7CisKKwlvdXRiKDB4ZmYsIDB4NjQpOwkvKiBOdWxsIGNvbW1hbmQsIGJ1dCBVSENJIHdhbnRzIGl0ICovCisJZW1wdHlfODA0MigpOwogfQogCiBzdGF0aWMgdm9pZCBlbmFibGVfYTIwX2Zhc3Qodm9pZCkKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2Jvb3QvY29tcHJlc3NlZC9oZWFkXzY0LlMgYi9hcmNoL3g4Ni9ib290L2NvbXByZXNzZWQvaGVhZF82NC5TCmluZGV4IGQ4ODE5ZWYuLjFkNWRmZjQgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2Jvb3QvY29tcHJlc3NlZC9oZWFkXzY0LlMKKysrIGIvYXJjaC94ODYvYm9vdC9jb21wcmVzc2VkL2hlYWRfNjQuUwpAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgPGFzbS9wYWdlLmg+CiAjaW5jbHVkZSA8YXNtL2Jvb3QuaD4KICNpbmNsdWRlIDxhc20vbXNyLmg+CisjaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci1mbGFncy5oPgogI2luY2x1ZGUgPGFzbS9hc20tb2Zmc2V0cy5oPgogCiAuc2VjdGlvbiAiLnRleHQuaGVhZCIKQEAgLTEwOSw3ICsxMTAsNyBAQAogCiAJLyogRW5hYmxlIFBBRSBtb2RlICovCiAJeG9ybAklZWF4LCAlZWF4Ci0Jb3JsCSQoMSA8PCA1KSwgJWVheAorCW9ybAkkKFg4Nl9DUjRfUEFFKSwgJWVheAogCW1vdmwJJWVheCwgJWNyNAogCiAgLyoKQEAgLTE3MCw3ICsxNzEsNyBAQAogCXB1c2hsCSVlYXgKIAogCS8qIEVudGVyIHBhZ2VkIHByb3RlY3RlZCBNb2RlLCBhY3RpdmF0aW5nIExvbmcgTW9kZSAqLwotCW1vdmwJJDB4ODAwMDAwMDEsICVlYXggLyogRW5hYmxlIFBhZ2luZyBhbmQgUHJvdGVjdGVkIG1vZGUgKi8KKwltb3ZsCSQoWDg2X0NSMF9QRyB8IFg4Nl9DUjBfUEUpLCAlZWF4IC8qIEVuYWJsZSBQYWdpbmcgYW5kIFByb3RlY3RlZCBtb2RlICovCiAJbW92bAklZWF4LCAlY3IwCiAKIAkvKiBKdW1wIGZyb20gMzJiaXQgY29tcGF0aWJpbGl0eSBtb2RlIGludG8gNjRiaXQgbW9kZS4gKi8KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2Jvb3QvY29tcHJlc3NlZC9taXNjLmMgYi9hcmNoL3g4Ni9ib290L2NvbXByZXNzZWQvbWlzYy5jCmluZGV4IDkwNDU2Y2UuLmJjNTU1M2IgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2Jvb3QvY29tcHJlc3NlZC9taXNjLmMKKysrIGIvYXJjaC94ODYvYm9vdC9jb21wcmVzc2VkL21pc2MuYwpAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgPGFzbS9pby5oPgogI2luY2x1ZGUgPGFzbS9wYWdlLmg+CiAjaW5jbHVkZSA8YXNtL2Jvb3QuaD4KKyNpbmNsdWRlIDxhc20vYm9vdHBhcmFtLmg+CiAKIC8qIFdBUk5JTkchIQogICogVGhpcyBjb2RlIGlzIGNvbXBpbGVkIHdpdGggLWZQSUMgYW5kIGl0IGlzIHJlbG9jYXRlZCBkeW5hbWljYWxseQpAQCAtMTg3LDEzICsxODgsOCBAQAogLyoKICAqIFRoaXMgaXMgc2V0IHVwIGJ5IHRoZSBzZXR1cC1yb3V0aW5lIGF0IGJvb3QtdGltZQogICovCi1zdGF0aWMgdW5zaWduZWQgY2hhciAqcmVhbF9tb2RlOyAvKiBQb2ludGVyIHRvIHJlYWwtbW9kZSBkYXRhICovCi0KLSNkZWZpbmUgUk1fRVhUX01FTV9LICAgKCoodW5zaWduZWQgc2hvcnQgKikocmVhbF9tb2RlICsgMHgyKSkKLSNpZm5kZWYgU1RBTkRBUkRfTUVNT1JZX0JJT1NfQ0FMTAotI2RlZmluZSBSTV9BTFRfTUVNX0sgICAoKih1bnNpZ25lZCBsb25nICopKHJlYWxfbW9kZSArIDB4MWUwKSkKLSNlbmRpZgotI2RlZmluZSBSTV9TQ1JFRU5fSU5GTyAoKihzdHJ1Y3Qgc2NyZWVuX2luZm8gKikocmVhbF9tb2RlKzApKQorc3RhdGljIHN0cnVjdCBib290X3BhcmFtcyAqcmVhbF9tb2RlOwkJLyogUG9pbnRlciB0byByZWFsLW1vZGUgZGF0YSAqLworc3RhdGljIGludCBxdWlldDsKIAogZXh0ZXJuIHVuc2lnbmVkIGNoYXIgaW5wdXRfZGF0YVtdOwogZXh0ZXJuIGludCBpbnB1dF9sZW47CkBAIC0yMDYsNyArMjAyLDggQEAKIHN0YXRpYyB2b2lkICptZW1zZXQodm9pZCAqcywgaW50IGMsIHVuc2lnbmVkIG4pOwogc3RhdGljIHZvaWQgKm1lbWNweSh2b2lkICpkZXN0LCBjb25zdCB2b2lkICpzcmMsIHVuc2lnbmVkIG4pOwogCi1zdGF0aWMgdm9pZCBwdXRzdHIoY29uc3QgY2hhciAqKTsKK3N0YXRpYyB2b2lkIF9fcHV0c3RyKGludCwgY29uc3QgY2hhciAqKTsKKyNkZWZpbmUgcHV0c3RyKF9feCkgIF9fcHV0c3RyKDAsIF9feCkKIAogI2lmZGVmIENPTkZJR19YODZfNjQKICNkZWZpbmUgbWVtcHRyIGxvbmcKQEAgLTIyMSwxMCArMjE4LDYgQEAKIHN0YXRpYyBpbnQgdmlkcG9ydDsKIHN0YXRpYyBpbnQgbGluZXMsIGNvbHM7CiAKLSNpZmRlZiBDT05GSUdfWDg2X05VTUFRCi12b2lkICp4cXVhZF9wb3J0aW87Ci0jZW5kaWYKLQogI2luY2x1ZGUgIi4uLy4uLy4uLy4uL2xpYi9pbmZsYXRlLmMiCiAKIHN0YXRpYyB2b2lkICptYWxsb2MoaW50IHNpemUpCkBAIC0yNzAsMTggKzI2MywyNCBAQAogCQl2aWRtZW1baV0gPSAnICc7CiB9CiAKLXN0YXRpYyB2b2lkIHB1dHN0cihjb25zdCBjaGFyICpzKQorc3RhdGljIHZvaWQgX19wdXRzdHIoaW50IGVycm9yLCBjb25zdCBjaGFyICpzKQogewogCWludCB4LCB5LCBwb3M7CiAJY2hhciBjOwogCi0jaWZkZWYgQ09ORklHX1g4Nl8zMgotCWlmIChSTV9TQ1JFRU5fSU5GTy5vcmlnX3ZpZGVvX21vZGUgPT0gMCAmJiBsaW5lcyA9PSAwICYmIGNvbHMgPT0gMCkKKyNpZm5kZWYgQ09ORklHX1g4Nl9WRVJCT1NFX0JPT1RVUAorCWlmICghZXJyb3IpCiAJCXJldHVybjsKICNlbmRpZgogCi0JeCA9IFJNX1NDUkVFTl9JTkZPLm9yaWdfeDsKLQl5ID0gUk1fU0NSRUVOX0lORk8ub3JpZ195OworI2lmZGVmIENPTkZJR19YODZfMzIKKwlpZiAocmVhbF9tb2RlLT5zY3JlZW5faW5mby5vcmlnX3ZpZGVvX21vZGUgPT0gMCAmJgorCSAgICBsaW5lcyA9PSAwICYmIGNvbHMgPT0gMCkKKwkJcmV0dXJuOworI2VuZGlmCisKKwl4ID0gcmVhbF9tb2RlLT5zY3JlZW5faW5mby5vcmlnX3g7CisJeSA9IHJlYWxfbW9kZS0+c2NyZWVuX2luZm8ub3JpZ195OwogCiAJd2hpbGUgKChjID0gKnMrKykgIT0gJ1wwJykgewogCQlpZiAoYyA9PSAnXG4nKSB7CkBAIC0zMDIsOCArMzAxLDggQEAKIAkJfQogCX0KIAotCVJNX1NDUkVFTl9JTkZPLm9yaWdfeCA9IHg7Ci0JUk1fU0NSRUVOX0lORk8ub3JpZ195ID0geTsKKwlyZWFsX21vZGUtPnNjcmVlbl9pbmZvLm9yaWdfeCA9IHg7CisJcmVhbF9tb2RlLT5zY3JlZW5faW5mby5vcmlnX3kgPSB5OwogCiAJcG9zID0gKHggKyBjb2xzICogeSkgKiAyOwkvKiBVcGRhdGUgY3Vyc29yIHBvc2l0aW9uICovCiAJb3V0YigxNCwgdmlkcG9ydCk7CkBAIC0zNjYsOSArMzY1LDkgQEAKIAogc3RhdGljIHZvaWQgZXJyb3IoY2hhciAqeCkKIHsKLQlwdXRzdHIoIlxuXG4iKTsKLQlwdXRzdHIoeCk7Ci0JcHV0c3RyKCJcblxuIC0tIFN5c3RlbSBoYWx0ZWQiKTsKKwlfX3B1dHN0cigxLCAiXG5cbiIpOworCV9fcHV0c3RyKDEsIHgpOworCV9fcHV0c3RyKDEsICJcblxuIC0tIFN5c3RlbSBoYWx0ZWQiKTsKIAogCXdoaWxlICgxKQogCQlhc20oImhsdCIpOwpAQCAtMzk1LDcgKzM5NCw4IEBACiAJCXJldHVybjsKIAl9CiAKLQlwdXRzdHIoIlBhcnNpbmcgRUxGLi4uICIpOworCWlmICghcXVpZXQpCisJCXB1dHN0cigiUGFyc2luZyBFTEYuLi4gIik7CiAKIAlwaGRycyA9IG1hbGxvYyhzaXplb2YoKnBoZHJzKSAqIGVoZHIuZV9waG51bSk7CiAJaWYgKCFwaGRycykKQEAgLTQzMCw3ICs0MzAsMTAgQEAKIHsKIAlyZWFsX21vZGUgPSBybW9kZTsKIAotCWlmIChSTV9TQ1JFRU5fSU5GTy5vcmlnX3ZpZGVvX21vZGUgPT0gNykgeworCWlmIChyZWFsX21vZGUtPmhkci5sb2FkZmxhZ3MgJiBRVUlFVF9GTEFHKQorCQlxdWlldCA9IDE7CisKKwlpZiAocmVhbF9tb2RlLT5zY3JlZW5faW5mby5vcmlnX3ZpZGVvX21vZGUgPT0gNykgewogCQl2aWRtZW0gPSAoY2hhciAqKSAweGIwMDAwOwogCQl2aWRwb3J0ID0gMHgzYjQ7CiAJfSBlbHNlIHsKQEAgLTQzOCw4ICs0NDEsOCBAQAogCQl2aWRwb3J0ID0gMHgzZDQ7CiAJfQogCi0JbGluZXMgPSBSTV9TQ1JFRU5fSU5GTy5vcmlnX3ZpZGVvX2xpbmVzOwotCWNvbHMgPSBSTV9TQ1JFRU5fSU5GTy5vcmlnX3ZpZGVvX2NvbHM7CisJbGluZXMgPSByZWFsX21vZGUtPnNjcmVlbl9pbmZvLm9yaWdfdmlkZW9fbGluZXM7CisJY29scyA9IHJlYWxfbW9kZS0+c2NyZWVuX2luZm8ub3JpZ192aWRlb19jb2xzOwogCiAJd2luZG93ID0gb3V0cHV0OwkJLyogT3V0cHV0IGJ1ZmZlciAoTm9ybWFsbHkgYXQgMU0pICovCiAJZnJlZV9tZW1fcHRyICAgICA9IGhlYXA7CS8qIEhlYXAgKi8KQEAgLTQ2NSw5ICs0NjgsMTEgQEAKICNlbmRpZgogCiAJbWFrZWNyYygpOwotCXB1dHN0cigiXG5EZWNvbXByZXNzaW5nIExpbnV4Li4uICIpOworCWlmICghcXVpZXQpCisJCXB1dHN0cigiXG5EZWNvbXByZXNzaW5nIExpbnV4Li4uICIpOwogCWd1bnppcCgpOwogCXBhcnNlX2VsZihvdXRwdXQpOwotCXB1dHN0cigiZG9uZS5cbkJvb3RpbmcgdGhlIGtlcm5lbC5cbiIpOworCWlmICghcXVpZXQpCisJCXB1dHN0cigiZG9uZS5cbkJvb3RpbmcgdGhlIGtlcm5lbC5cbiIpOwogCXJldHVybjsKIH0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2Jvb3QvY29tcHJlc3NlZC9yZWxvY3MuYyBiL2FyY2gveDg2L2Jvb3QvY29tcHJlc3NlZC9yZWxvY3MuYwppbmRleCBlZGFhZGVhLi5hMTMxMGM1IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9ib290L2NvbXByZXNzZWQvcmVsb2NzLmMKKysrIGIvYXJjaC94ODYvYm9vdC9jb21wcmVzc2VkL3JlbG9jcy5jCkBAIC0xMCwxNiArMTAsMjAgQEAKICNkZWZpbmUgVVNFX0JTRAogI2luY2x1ZGUgPGVuZGlhbi5oPgogCi0jZGVmaW5lIE1BWF9TSERSUyAxMDAKICNkZWZpbmUgQVJSQVlfU0laRSh4KSAoc2l6ZW9mKHgpIC8gc2l6ZW9mKCh4KVswXSkpCiBzdGF0aWMgRWxmMzJfRWhkciBlaGRyOwotc3RhdGljIEVsZjMyX1NoZHIgc2hkcltNQVhfU0hEUlNdOwotc3RhdGljIEVsZjMyX1N5bSAgKnN5bXRhYltNQVhfU0hEUlNdOwotc3RhdGljIEVsZjMyX1JlbCAgKnJlbHRhYltNQVhfU0hEUlNdOwotc3RhdGljIGNoYXIgKnN0cnRhYltNQVhfU0hEUlNdOwogc3RhdGljIHVuc2lnbmVkIGxvbmcgcmVsb2NfY291bnQsIHJlbG9jX2lkeDsKIHN0YXRpYyB1bnNpZ25lZCBsb25nICpyZWxvY3M7CiAKK3N0cnVjdCBzZWN0aW9uIHsKKwlFbGYzMl9TaGRyICAgICBzaGRyOworCXN0cnVjdCBzZWN0aW9uICpsaW5rOworCUVsZjMyX1N5bSAgICAgICpzeW10YWI7CisJRWxmMzJfUmVsICAgICAgKnJlbHRhYjsKKwljaGFyICAgICAgICAgICAqc3RydGFiOworfTsKK3N0YXRpYyBzdHJ1Y3Qgc2VjdGlvbiAqc2VjczsKKwogLyoKICAqIEZvbGxvd2luZyBzeW1ib2xzIGhhdmUgYmVlbiBhdWRpdGVkLiBUaGVyZSB2YWx1ZXMgYXJlIGNvbnN0YW50IGFuZCBkbwogICogbm90IGNoYW5nZSBpZiBiekltYWdlIGlzIGxvYWRlZCBhdCBhIGRpZmZlcmVudCBwaHlzaWNhbCBhZGRyZXNzIHRoYW4KQEAgLTM1LDcgKzM5LDcgQEAKIHsKIAlpbnQgaTsKIAotCWZvcihpID0gMDsgaSA8IEFSUkFZX1NJWkUoc2FmZV9hYnNfcmVsb2NzKTsgaSsrKSB7CisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoc2FmZV9hYnNfcmVsb2NzKTsgaSsrKSB7CiAJCWlmICghc3RyY21wKHN5bV9uYW1lLCBzYWZlX2Fic19yZWxvY3NbaV0pKQogCQkJLyogTWF0Y2ggZm91bmQgKi8KIAkJCXJldHVybiAxOwpAQCAtMTM3LDEwICsxNDEsMTAgQEAKIHsKIAljb25zdCBjaGFyICpzZWNfc3RydGFiOwogCWNvbnN0IGNoYXIgKm5hbWU7Ci0Jc2VjX3N0cnRhYiA9IHN0cnRhYltlaGRyLmVfc2hzdHJuZHhdOworCXNlY19zdHJ0YWIgPSBzZWNzW2VoZHIuZV9zaHN0cm5keF0uc3RydGFiOwogCW5hbWUgPSAiPG5vbmFtZT4iOwogCWlmIChzaG5keCA8IGVoZHIuZV9zaG51bSkgewotCQluYW1lID0gc2VjX3N0cnRhYiArIHNoZHJbc2huZHhdLnNoX25hbWU7CisJCW5hbWUgPSBzZWNfc3RydGFiICsgc2Vjc1tzaG5keF0uc2hkci5zaF9uYW1lOwogCX0KIAllbHNlIGlmIChzaG5keCA9PSBTSE5fQUJTKSB7CiAJCW5hbWUgPSAiQUJTT0xVVEUiOwpAQCAtMTU5LDcgKzE2Myw3IEBACiAJCW5hbWUgPSBzeW1fc3RydGFiICsgc3ltLT5zdF9uYW1lOwogCX0KIAllbHNlIHsKLQkJbmFtZSA9IHNlY19uYW1lKHNoZHJbc3ltLT5zdF9zaG5keF0uc2hfbmFtZSk7CisJCW5hbWUgPSBzZWNfbmFtZShzZWNzW3N5bS0+c3Rfc2huZHhdLnNoZHIuc2hfbmFtZSk7CiAJfQogCXJldHVybiBuYW1lOwogfQpAQCAtMjQ0LDI5ICsyNDgsMzQgQEAKIHN0YXRpYyB2b2lkIHJlYWRfc2hkcnMoRklMRSAqZnApCiB7CiAJaW50IGk7Ci0JaWYgKGVoZHIuZV9zaG51bSA+IE1BWF9TSERSUykgewotCQlkaWUoIiVkIHNlY3Rpb24gaGVhZGVycyBzdXBwb3J0ZWQ6ICVkXG4iLAotCQkJZWhkci5lX3NobnVtLCBNQVhfU0hEUlMpOworCUVsZjMyX1NoZHIgc2hkcjsKKworCXNlY3MgPSBjYWxsb2MoZWhkci5lX3NobnVtLCBzaXplb2Yoc3RydWN0IHNlY3Rpb24pKTsKKwlpZiAoIXNlY3MpIHsKKwkJZGllKCJVbmFibGUgdG8gYWxsb2NhdGUgJWQgc2VjdGlvbiBoZWFkZXJzXG4iLAorCQkgICAgZWhkci5lX3NobnVtKTsKIAl9CiAJaWYgKGZzZWVrKGZwLCBlaGRyLmVfc2hvZmYsIFNFRUtfU0VUKSA8IDApIHsKIAkJZGllKCJTZWVrIHRvICVkIGZhaWxlZDogJXNcbiIsCiAJCQllaGRyLmVfc2hvZmYsIHN0cmVycm9yKGVycm5vKSk7CiAJfQotCWlmIChmcmVhZCgmc2hkciwgc2l6ZW9mKHNoZHJbMF0pLCBlaGRyLmVfc2hudW0sIGZwKSAhPSBlaGRyLmVfc2hudW0pIHsKLQkJZGllKCJDYW5ub3QgcmVhZCBFTEYgc2VjdGlvbiBoZWFkZXJzOiAlc1xuIiwKLQkJCXN0cmVycm9yKGVycm5vKSk7Ci0JfQotCWZvcihpID0gMDsgaSA8IGVoZHIuZV9zaG51bTsgaSsrKSB7Ci0JCXNoZHJbaV0uc2hfbmFtZSAgICAgID0gZWxmMzJfdG9fY3B1KHNoZHJbaV0uc2hfbmFtZSk7Ci0JCXNoZHJbaV0uc2hfdHlwZSAgICAgID0gZWxmMzJfdG9fY3B1KHNoZHJbaV0uc2hfdHlwZSk7Ci0JCXNoZHJbaV0uc2hfZmxhZ3MgICAgID0gZWxmMzJfdG9fY3B1KHNoZHJbaV0uc2hfZmxhZ3MpOwotCQlzaGRyW2ldLnNoX2FkZHIgICAgICA9IGVsZjMyX3RvX2NwdShzaGRyW2ldLnNoX2FkZHIpOwotCQlzaGRyW2ldLnNoX29mZnNldCAgICA9IGVsZjMyX3RvX2NwdShzaGRyW2ldLnNoX29mZnNldCk7Ci0JCXNoZHJbaV0uc2hfc2l6ZSAgICAgID0gZWxmMzJfdG9fY3B1KHNoZHJbaV0uc2hfc2l6ZSk7Ci0JCXNoZHJbaV0uc2hfbGluayAgICAgID0gZWxmMzJfdG9fY3B1KHNoZHJbaV0uc2hfbGluayk7Ci0JCXNoZHJbaV0uc2hfaW5mbyAgICAgID0gZWxmMzJfdG9fY3B1KHNoZHJbaV0uc2hfaW5mbyk7Ci0JCXNoZHJbaV0uc2hfYWRkcmFsaWduID0gZWxmMzJfdG9fY3B1KHNoZHJbaV0uc2hfYWRkcmFsaWduKTsKLQkJc2hkcltpXS5zaF9lbnRzaXplICAgPSBlbGYzMl90b19jcHUoc2hkcltpXS5zaF9lbnRzaXplKTsKKwlmb3IgKGkgPSAwOyBpIDwgZWhkci5lX3NobnVtOyBpKyspIHsKKwkJc3RydWN0IHNlY3Rpb24gKnNlYyA9ICZzZWNzW2ldOworCQlpZiAoZnJlYWQoJnNoZHIsIHNpemVvZiBzaGRyLCAxLCBmcCkgIT0gMSkKKwkJCWRpZSgiQ2Fubm90IHJlYWQgRUxGIHNlY3Rpb24gaGVhZGVycyAlZC8lZDogJXNcbiIsCisJCQkgICAgaSwgZWhkci5lX3NobnVtLCBzdHJlcnJvcihlcnJubykpOworCQlzZWMtPnNoZHIuc2hfbmFtZSAgICAgID0gZWxmMzJfdG9fY3B1KHNoZHIuc2hfbmFtZSk7CisJCXNlYy0+c2hkci5zaF90eXBlICAgICAgPSBlbGYzMl90b19jcHUoc2hkci5zaF90eXBlKTsKKwkJc2VjLT5zaGRyLnNoX2ZsYWdzICAgICA9IGVsZjMyX3RvX2NwdShzaGRyLnNoX2ZsYWdzKTsKKwkJc2VjLT5zaGRyLnNoX2FkZHIgICAgICA9IGVsZjMyX3RvX2NwdShzaGRyLnNoX2FkZHIpOworCQlzZWMtPnNoZHIuc2hfb2Zmc2V0ICAgID0gZWxmMzJfdG9fY3B1KHNoZHIuc2hfb2Zmc2V0KTsKKwkJc2VjLT5zaGRyLnNoX3NpemUgICAgICA9IGVsZjMyX3RvX2NwdShzaGRyLnNoX3NpemUpOworCQlzZWMtPnNoZHIuc2hfbGluayAgICAgID0gZWxmMzJfdG9fY3B1KHNoZHIuc2hfbGluayk7CisJCXNlYy0+c2hkci5zaF9pbmZvICAgICAgPSBlbGYzMl90b19jcHUoc2hkci5zaF9pbmZvKTsKKwkJc2VjLT5zaGRyLnNoX2FkZHJhbGlnbiA9IGVsZjMyX3RvX2NwdShzaGRyLnNoX2FkZHJhbGlnbik7CisJCXNlYy0+c2hkci5zaF9lbnRzaXplICAgPSBlbGYzMl90b19jcHUoc2hkci5zaF9lbnRzaXplKTsKKwkJaWYgKHNlYy0+c2hkci5zaF9saW5rIDwgZWhkci5lX3NobnVtKQorCQkJc2VjLT5saW5rID0gJnNlY3Nbc2VjLT5zaGRyLnNoX2xpbmtdOwogCX0KIAogfQpAQCAtMjc0LDIwICsyODMsMjIgQEAKIHN0YXRpYyB2b2lkIHJlYWRfc3RydGFicyhGSUxFICpmcCkKIHsKIAlpbnQgaTsKLQlmb3IoaSA9IDA7IGkgPCBlaGRyLmVfc2hudW07IGkrKykgewotCQlpZiAoc2hkcltpXS5zaF90eXBlICE9IFNIVF9TVFJUQUIpIHsKKwlmb3IgKGkgPSAwOyBpIDwgZWhkci5lX3NobnVtOyBpKyspIHsKKwkJc3RydWN0IHNlY3Rpb24gKnNlYyA9ICZzZWNzW2ldOworCQlpZiAoc2VjLT5zaGRyLnNoX3R5cGUgIT0gU0hUX1NUUlRBQikgewogCQkJY29udGludWU7CiAJCX0KLQkJc3RydGFiW2ldID0gbWFsbG9jKHNoZHJbaV0uc2hfc2l6ZSk7Ci0JCWlmICghc3RydGFiW2ldKSB7CisJCXNlYy0+c3RydGFiID0gbWFsbG9jKHNlYy0+c2hkci5zaF9zaXplKTsKKwkJaWYgKCFzZWMtPnN0cnRhYikgewogCQkJZGllKCJtYWxsb2Mgb2YgJWQgYnl0ZXMgZm9yIHN0cnRhYiBmYWlsZWRcbiIsCi0JCQkJc2hkcltpXS5zaF9zaXplKTsKKwkJCQlzZWMtPnNoZHIuc2hfc2l6ZSk7CiAJCX0KLQkJaWYgKGZzZWVrKGZwLCBzaGRyW2ldLnNoX29mZnNldCwgU0VFS19TRVQpIDwgMCkgeworCQlpZiAoZnNlZWsoZnAsIHNlYy0+c2hkci5zaF9vZmZzZXQsIFNFRUtfU0VUKSA8IDApIHsKIAkJCWRpZSgiU2VlayB0byAlZCBmYWlsZWQ6ICVzXG4iLAotCQkJCXNoZHJbaV0uc2hfb2Zmc2V0LCBzdHJlcnJvcihlcnJubykpOworCQkJCXNlYy0+c2hkci5zaF9vZmZzZXQsIHN0cmVycm9yKGVycm5vKSk7CiAJCX0KLQkJaWYgKGZyZWFkKHN0cnRhYltpXSwgMSwgc2hkcltpXS5zaF9zaXplLCBmcCkgIT0gc2hkcltpXS5zaF9zaXplKSB7CisJCWlmIChmcmVhZChzZWMtPnN0cnRhYiwgMSwgc2VjLT5zaGRyLnNoX3NpemUsIGZwKQorCQkgICAgIT0gc2VjLT5zaGRyLnNoX3NpemUpIHsKIAkJCWRpZSgiQ2Fubm90IHJlYWQgc3ltYm9sIHRhYmxlOiAlc1xuIiwKIAkJCQlzdHJlcnJvcihlcnJubykpOwogCQl9CkBAIC0yOTcsMjggKzMwOCwzMSBAQAogc3RhdGljIHZvaWQgcmVhZF9zeW10YWJzKEZJTEUgKmZwKQogewogCWludCBpLGo7Ci0JZm9yKGkgPSAwOyBpIDwgZWhkci5lX3NobnVtOyBpKyspIHsKLQkJaWYgKHNoZHJbaV0uc2hfdHlwZSAhPSBTSFRfU1lNVEFCKSB7CisJZm9yIChpID0gMDsgaSA8IGVoZHIuZV9zaG51bTsgaSsrKSB7CisJCXN0cnVjdCBzZWN0aW9uICpzZWMgPSAmc2Vjc1tpXTsKKwkJaWYgKHNlYy0+c2hkci5zaF90eXBlICE9IFNIVF9TWU1UQUIpIHsKIAkJCWNvbnRpbnVlOwogCQl9Ci0JCXN5bXRhYltpXSA9IG1hbGxvYyhzaGRyW2ldLnNoX3NpemUpOwotCQlpZiAoIXN5bXRhYltpXSkgeworCQlzZWMtPnN5bXRhYiA9IG1hbGxvYyhzZWMtPnNoZHIuc2hfc2l6ZSk7CisJCWlmICghc2VjLT5zeW10YWIpIHsKIAkJCWRpZSgibWFsbG9jIG9mICVkIGJ5dGVzIGZvciBzeW10YWIgZmFpbGVkXG4iLAotCQkJCXNoZHJbaV0uc2hfc2l6ZSk7CisJCQkJc2VjLT5zaGRyLnNoX3NpemUpOwogCQl9Ci0JCWlmIChmc2VlayhmcCwgc2hkcltpXS5zaF9vZmZzZXQsIFNFRUtfU0VUKSA8IDApIHsKKwkJaWYgKGZzZWVrKGZwLCBzZWMtPnNoZHIuc2hfb2Zmc2V0LCBTRUVLX1NFVCkgPCAwKSB7CiAJCQlkaWUoIlNlZWsgdG8gJWQgZmFpbGVkOiAlc1xuIiwKLQkJCQlzaGRyW2ldLnNoX29mZnNldCwgc3RyZXJyb3IoZXJybm8pKTsKKwkJCQlzZWMtPnNoZHIuc2hfb2Zmc2V0LCBzdHJlcnJvcihlcnJubykpOwogCQl9Ci0JCWlmIChmcmVhZChzeW10YWJbaV0sIDEsIHNoZHJbaV0uc2hfc2l6ZSwgZnApICE9IHNoZHJbaV0uc2hfc2l6ZSkgeworCQlpZiAoZnJlYWQoc2VjLT5zeW10YWIsIDEsIHNlYy0+c2hkci5zaF9zaXplLCBmcCkKKwkJICAgICE9IHNlYy0+c2hkci5zaF9zaXplKSB7CiAJCQlkaWUoIkNhbm5vdCByZWFkIHN5bWJvbCB0YWJsZTogJXNcbiIsCiAJCQkJc3RyZXJyb3IoZXJybm8pKTsKIAkJfQotCQlmb3IoaiA9IDA7IGogPCBzaGRyW2ldLnNoX3NpemUvc2l6ZW9mKHN5bXRhYltpXVswXSk7IGorKykgewotCQkJc3ltdGFiW2ldW2pdLnN0X25hbWUgID0gZWxmMzJfdG9fY3B1KHN5bXRhYltpXVtqXS5zdF9uYW1lKTsKLQkJCXN5bXRhYltpXVtqXS5zdF92YWx1ZSA9IGVsZjMyX3RvX2NwdShzeW10YWJbaV1bal0uc3RfdmFsdWUpOwotCQkJc3ltdGFiW2ldW2pdLnN0X3NpemUgID0gZWxmMzJfdG9fY3B1KHN5bXRhYltpXVtqXS5zdF9zaXplKTsKLQkJCXN5bXRhYltpXVtqXS5zdF9zaG5keCA9IGVsZjE2X3RvX2NwdShzeW10YWJbaV1bal0uc3Rfc2huZHgpOworCQlmb3IgKGogPSAwOyBqIDwgc2VjLT5zaGRyLnNoX3NpemUvc2l6ZW9mKEVsZjMyX1N5bSk7IGorKykgeworCQkJRWxmMzJfU3ltICpzeW0gPSAmc2VjLT5zeW10YWJbal07CisJCQlzeW0tPnN0X25hbWUgID0gZWxmMzJfdG9fY3B1KHN5bS0+c3RfbmFtZSk7CisJCQlzeW0tPnN0X3ZhbHVlID0gZWxmMzJfdG9fY3B1KHN5bS0+c3RfdmFsdWUpOworCQkJc3ltLT5zdF9zaXplICA9IGVsZjMyX3RvX2NwdShzeW0tPnN0X3NpemUpOworCQkJc3ltLT5zdF9zaG5keCA9IGVsZjE2X3RvX2NwdShzeW0tPnN0X3NobmR4KTsKIAkJfQogCX0KIH0KQEAgLTMyNywyNiArMzQxLDI5IEBACiBzdGF0aWMgdm9pZCByZWFkX3JlbG9jcyhGSUxFICpmcCkKIHsKIAlpbnQgaSxqOwotCWZvcihpID0gMDsgaSA8IGVoZHIuZV9zaG51bTsgaSsrKSB7Ci0JCWlmIChzaGRyW2ldLnNoX3R5cGUgIT0gU0hUX1JFTCkgeworCWZvciAoaSA9IDA7IGkgPCBlaGRyLmVfc2hudW07IGkrKykgeworCQlzdHJ1Y3Qgc2VjdGlvbiAqc2VjID0gJnNlY3NbaV07CisJCWlmIChzZWMtPnNoZHIuc2hfdHlwZSAhPSBTSFRfUkVMKSB7CiAJCQljb250aW51ZTsKIAkJfQotCQlyZWx0YWJbaV0gPSBtYWxsb2Moc2hkcltpXS5zaF9zaXplKTsKLQkJaWYgKCFyZWx0YWJbaV0pIHsKKwkJc2VjLT5yZWx0YWIgPSBtYWxsb2Moc2VjLT5zaGRyLnNoX3NpemUpOworCQlpZiAoIXNlYy0+cmVsdGFiKSB7CiAJCQlkaWUoIm1hbGxvYyBvZiAlZCBieXRlcyBmb3IgcmVsb2NzIGZhaWxlZFxuIiwKLQkJCQlzaGRyW2ldLnNoX3NpemUpOworCQkJCXNlYy0+c2hkci5zaF9zaXplKTsKIAkJfQotCQlpZiAoZnNlZWsoZnAsIHNoZHJbaV0uc2hfb2Zmc2V0LCBTRUVLX1NFVCkgPCAwKSB7CisJCWlmIChmc2VlayhmcCwgc2VjLT5zaGRyLnNoX29mZnNldCwgU0VFS19TRVQpIDwgMCkgewogCQkJZGllKCJTZWVrIHRvICVkIGZhaWxlZDogJXNcbiIsCi0JCQkJc2hkcltpXS5zaF9vZmZzZXQsIHN0cmVycm9yKGVycm5vKSk7CisJCQkJc2VjLT5zaGRyLnNoX29mZnNldCwgc3RyZXJyb3IoZXJybm8pKTsKIAkJfQotCQlpZiAoZnJlYWQocmVsdGFiW2ldLCAxLCBzaGRyW2ldLnNoX3NpemUsIGZwKSAhPSBzaGRyW2ldLnNoX3NpemUpIHsKKwkJaWYgKGZyZWFkKHNlYy0+cmVsdGFiLCAxLCBzZWMtPnNoZHIuc2hfc2l6ZSwgZnApCisJCSAgICAhPSBzZWMtPnNoZHIuc2hfc2l6ZSkgewogCQkJZGllKCJDYW5ub3QgcmVhZCBzeW1ib2wgdGFibGU6ICVzXG4iLAogCQkJCXN0cmVycm9yKGVycm5vKSk7CiAJCX0KLQkJZm9yKGogPSAwOyBqIDwgc2hkcltpXS5zaF9zaXplL3NpemVvZihyZWx0YWJbMF1bMF0pOyBqKyspIHsKLQkJCXJlbHRhYltpXVtqXS5yX29mZnNldCA9IGVsZjMyX3RvX2NwdShyZWx0YWJbaV1bal0ucl9vZmZzZXQpOwotCQkJcmVsdGFiW2ldW2pdLnJfaW5mbyAgID0gZWxmMzJfdG9fY3B1KHJlbHRhYltpXVtqXS5yX2luZm8pOworCQlmb3IgKGogPSAwOyBqIDwgc2VjLT5zaGRyLnNoX3NpemUvc2l6ZW9mKEVsZjMyX1JlbCk7IGorKykgeworCQkJRWxmMzJfUmVsICpyZWwgPSAmc2VjLT5yZWx0YWJbal07CisJCQlyZWwtPnJfb2Zmc2V0ID0gZWxmMzJfdG9fY3B1KHJlbC0+cl9vZmZzZXQpOworCQkJcmVsLT5yX2luZm8gICA9IGVsZjMyX3RvX2NwdShyZWwtPnJfaW5mbyk7CiAJCX0KIAl9CiB9CkBAIC0zNTcsMTkgKzM3NCwyMSBAQAogCWludCBpOwogCXByaW50ZigiQWJzb2x1dGUgc3ltYm9sc1xuIik7CiAJcHJpbnRmKCIgTnVtOiAgICBWYWx1ZSBTaXplICBUeXBlICAgICAgIEJpbmQgICAgICAgIFZpc2liaWxpdHkgIE5hbWVcbiIpOwotCWZvcihpID0gMDsgaSA8IGVoZHIuZV9zaG51bTsgaSsrKSB7CisJZm9yIChpID0gMDsgaSA8IGVoZHIuZV9zaG51bTsgaSsrKSB7CisJCXN0cnVjdCBzZWN0aW9uICpzZWMgPSAmc2Vjc1tpXTsKIAkJY2hhciAqc3ltX3N0cnRhYjsKIAkJRWxmMzJfU3ltICpzaF9zeW10YWI7CiAJCWludCBqOwotCQlpZiAoc2hkcltpXS5zaF90eXBlICE9IFNIVF9TWU1UQUIpIHsKKworCQlpZiAoc2VjLT5zaGRyLnNoX3R5cGUgIT0gU0hUX1NZTVRBQikgewogCQkJY29udGludWU7CiAJCX0KLQkJc2hfc3ltdGFiID0gc3ltdGFiW2ldOwotCQlzeW1fc3RydGFiID0gc3RydGFiW3NoZHJbaV0uc2hfbGlua107Ci0JCWZvcihqID0gMDsgaiA8IHNoZHJbaV0uc2hfc2l6ZS9zaXplb2Yoc3ltdGFiWzBdWzBdKTsgaisrKSB7CisJCXNoX3N5bXRhYiA9IHNlYy0+c3ltdGFiOworCQlzeW1fc3RydGFiID0gc2VjLT5saW5rLT5zdHJ0YWI7CisJCWZvciAoaiA9IDA7IGogPCBzZWMtPnNoZHIuc2hfc2l6ZS9zaXplb2YoRWxmMzJfU3ltKTsgaisrKSB7CiAJCQlFbGYzMl9TeW0gKnN5bTsKIAkJCWNvbnN0IGNoYXIgKm5hbWU7Ci0JCQlzeW0gPSAmc3ltdGFiW2ldW2pdOworCQkJc3ltID0gJnNlYy0+c3ltdGFiW2pdOwogCQkJbmFtZSA9IHN5bV9uYW1lKHN5bV9zdHJ0YWIsIHN5bSk7CiAJCQlpZiAoc3ltLT5zdF9zaG5keCAhPSBTSE5fQUJTKSB7CiAJCQkJY29udGludWU7CkBAIC0zODksMjYgKzQwOCwyNyBAQAogewogCWludCBpLCBwcmludGVkID0gMDsKIAotCWZvcihpID0gMDsgaSA8IGVoZHIuZV9zaG51bTsgaSsrKSB7CisJZm9yIChpID0gMDsgaSA8IGVoZHIuZV9zaG51bTsgaSsrKSB7CisJCXN0cnVjdCBzZWN0aW9uICpzZWMgPSAmc2Vjc1tpXTsKKwkJc3RydWN0IHNlY3Rpb24gKnNlY19hcHBsaWVzLCAqc2VjX3N5bXRhYjsKIAkJY2hhciAqc3ltX3N0cnRhYjsKIAkJRWxmMzJfU3ltICpzaF9zeW10YWI7Ci0JCXVuc2lnbmVkIHNlY19hcHBsaWVzLCBzZWNfc3ltdGFiOwogCQlpbnQgajsKLQkJaWYgKHNoZHJbaV0uc2hfdHlwZSAhPSBTSFRfUkVMKSB7CisJCWlmIChzZWMtPnNoZHIuc2hfdHlwZSAhPSBTSFRfUkVMKSB7CiAJCQljb250aW51ZTsKIAkJfQotCQlzZWNfc3ltdGFiICA9IHNoZHJbaV0uc2hfbGluazsKLQkJc2VjX2FwcGxpZXMgPSBzaGRyW2ldLnNoX2luZm87Ci0JCWlmICghKHNoZHJbc2VjX2FwcGxpZXNdLnNoX2ZsYWdzICYgU0hGX0FMTE9DKSkgeworCQlzZWNfc3ltdGFiICA9IHNlYy0+bGluazsKKwkJc2VjX2FwcGxpZXMgPSAmc2Vjc1tzZWMtPnNoZHIuc2hfaW5mb107CisJCWlmICghKHNlY19hcHBsaWVzLT5zaGRyLnNoX2ZsYWdzICYgU0hGX0FMTE9DKSkgewogCQkJY29udGludWU7CiAJCX0KLQkJc2hfc3ltdGFiID0gc3ltdGFiW3NlY19zeW10YWJdOwotCQlzeW1fc3RydGFiID0gc3RydGFiW3NoZHJbc2VjX3N5bXRhYl0uc2hfbGlua107Ci0JCWZvcihqID0gMDsgaiA8IHNoZHJbaV0uc2hfc2l6ZS9zaXplb2YocmVsdGFiWzBdWzBdKTsgaisrKSB7CisJCXNoX3N5bXRhYiAgPSBzZWNfc3ltdGFiLT5zeW10YWI7CisJCXN5bV9zdHJ0YWIgPSBzZWNfc3ltdGFiLT5saW5rLT5zdHJ0YWI7CisJCWZvciAoaiA9IDA7IGogPCBzZWMtPnNoZHIuc2hfc2l6ZS9zaXplb2YoRWxmMzJfUmVsKTsgaisrKSB7CiAJCQlFbGYzMl9SZWwgKnJlbDsKIAkJCUVsZjMyX1N5bSAqc3ltOwogCQkJY29uc3QgY2hhciAqbmFtZTsKLQkJCXJlbCA9ICZyZWx0YWJbaV1bal07CisJCQlyZWwgPSAmc2VjLT5yZWx0YWJbal07CiAJCQlzeW0gPSAmc2hfc3ltdGFiW0VMRjMyX1JfU1lNKHJlbC0+cl9pbmZvKV07CiAJCQluYW1lID0gc3ltX25hbWUoc3ltX3N0cnRhYiwgc3ltKTsKIAkJCWlmIChzeW0tPnN0X3NobmR4ICE9IFNITl9BQlMpIHsKQEAgLTQ1NiwyNiArNDc2LDI4IEBACiB7CiAJaW50IGk7CiAJLyogV2FsayB0aHJvdWdoIHRoZSByZWxvY2F0aW9ucyAqLwotCWZvcihpID0gMDsgaSA8IGVoZHIuZV9zaG51bTsgaSsrKSB7CisJZm9yIChpID0gMDsgaSA8IGVoZHIuZV9zaG51bTsgaSsrKSB7CiAJCWNoYXIgKnN5bV9zdHJ0YWI7CiAJCUVsZjMyX1N5bSAqc2hfc3ltdGFiOwotCQl1bnNpZ25lZCBzZWNfYXBwbGllcywgc2VjX3N5bXRhYjsKKwkJc3RydWN0IHNlY3Rpb24gKnNlY19hcHBsaWVzLCAqc2VjX3N5bXRhYjsKIAkJaW50IGo7Ci0JCWlmIChzaGRyW2ldLnNoX3R5cGUgIT0gU0hUX1JFTCkgeworCQlzdHJ1Y3Qgc2VjdGlvbiAqc2VjID0gJnNlY3NbaV07CisKKwkJaWYgKHNlYy0+c2hkci5zaF90eXBlICE9IFNIVF9SRUwpIHsKIAkJCWNvbnRpbnVlOwogCQl9Ci0JCXNlY19zeW10YWIgID0gc2hkcltpXS5zaF9saW5rOwotCQlzZWNfYXBwbGllcyA9IHNoZHJbaV0uc2hfaW5mbzsKLQkJaWYgKCEoc2hkcltzZWNfYXBwbGllc10uc2hfZmxhZ3MgJiBTSEZfQUxMT0MpKSB7CisJCXNlY19zeW10YWIgID0gc2VjLT5saW5rOworCQlzZWNfYXBwbGllcyA9ICZzZWNzW3NlYy0+c2hkci5zaF9pbmZvXTsKKwkJaWYgKCEoc2VjX2FwcGxpZXMtPnNoZHIuc2hfZmxhZ3MgJiBTSEZfQUxMT0MpKSB7CiAJCQljb250aW51ZTsKIAkJfQotCQlzaF9zeW10YWIgPSBzeW10YWJbc2VjX3N5bXRhYl07Ci0JCXN5bV9zdHJ0YWIgPSBzdHJ0YWJbc2hkcltzZWNfc3ltdGFiXS5zaF9saW5rXTsKLQkJZm9yKGogPSAwOyBqIDwgc2hkcltpXS5zaF9zaXplL3NpemVvZihyZWx0YWJbMF1bMF0pOyBqKyspIHsKKwkJc2hfc3ltdGFiID0gc2VjX3N5bXRhYi0+c3ltdGFiOworCQlzeW1fc3RydGFiID0gc2VjLT5saW5rLT5zdHJ0YWI7CisJCWZvciAoaiA9IDA7IGogPCBzZWMtPnNoZHIuc2hfc2l6ZS9zaXplb2YoRWxmMzJfUmVsKTsgaisrKSB7CiAJCQlFbGYzMl9SZWwgKnJlbDsKIAkJCUVsZjMyX1N5bSAqc3ltOwogCQkJdW5zaWduZWQgcl90eXBlOwotCQkJcmVsID0gJnJlbHRhYltpXVtqXTsKKwkJCXJlbCA9ICZzZWMtPnJlbHRhYltqXTsKIAkJCXN5bSA9ICZzaF9zeW10YWJbRUxGMzJfUl9TWU0ocmVsLT5yX2luZm8pXTsKIAkJCXJfdHlwZSA9IEVMRjMyX1JfVFlQRShyZWwtPnJfaW5mbyk7CiAJCQkvKiBEb24ndCB2aXNpdCByZWxvY2F0aW9ucyB0byBhYnNvbHV0ZSBzeW1ib2xzICovCkBAIC01MzksNyArNTYxLDcgQEAKIAkJICovCiAJCXByaW50ZigiLnNlY3Rpb24gXCIuZGF0YS5yZWxvY1wiLFwiYVwiXG4iKTsKIAkJcHJpbnRmKCIuYmFsaWduIDRcbiIpOwotCQlmb3IoaSA9IDA7IGkgPCByZWxvY19jb3VudDsgaSsrKSB7CisJCWZvciAoaSA9IDA7IGkgPCByZWxvY19jb3VudDsgaSsrKSB7CiAJCQlwcmludGYoIlx0IC5sb25nIDB4JTA4bHhcbiIsIHJlbG9jc1tpXSk7CiAJCX0KIAkJcHJpbnRmKCJcbiIpOwpAQCAtNTUwLDcgKzU3Miw3IEBACiAJCS8qIFByaW50IGEgc3RvcCAqLwogCQlwcmludGYoIiVjJWMlYyVjIiwgYnVmWzBdLCBidWZbMV0sIGJ1ZlsyXSwgYnVmWzNdKTsKIAkJLyogTm93IHByaW50IGVhY2ggcmVsb2NhdGlvbiAqLwotCQlmb3IoaSA9IDA7IGkgPCByZWxvY19jb3VudDsgaSsrKSB7CisJCWZvciAoaSA9IDA7IGkgPCByZWxvY19jb3VudDsgaSsrKSB7CiAJCQlidWZbMF0gPSAocmVsb2NzW2ldID4+ICAwKSAmIDB4ZmY7CiAJCQlidWZbMV0gPSAocmVsb2NzW2ldID4+ICA4KSAmIDB4ZmY7CiAJCQlidWZbMl0gPSAocmVsb2NzW2ldID4+IDE2KSAmIDB4ZmY7CkBAIC01NzcsNyArNTk5LDcgQEAKIAlzaG93X2Fic29sdXRlX3JlbG9jcyA9IDA7CiAJYXNfdGV4dCA9IDA7CiAJZm5hbWUgPSBOVUxMOwotCWZvcihpID0gMTsgaSA8IGFyZ2M7IGkrKykgeworCWZvciAoaSA9IDE7IGkgPCBhcmdjOyBpKyspIHsKIAkJY2hhciAqYXJnID0gYXJndltpXTsKIAkJaWYgKCphcmcgPT0gJy0nKSB7CiAJCQlpZiAoc3RyY21wKGFyZ3ZbMV0sICItLWFicy1zeW1zIikgPT0gMCkgewpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvYm9vdC9jcHUuYyBiL2FyY2gveDg2L2Jvb3QvY3B1LmMKaW5kZXggMDBlMTllZC4uOTJkNmZkNyAxMDA2NDQKLS0tIGEvYXJjaC94ODYvYm9vdC9jcHUuYworKysgYi9hcmNoL3g4Ni9ib290L2NwdS5jCkBAIC0yOCw2ICsyOCw4IEBACiAJaWYgKGxldmVsID09IDY0KSB7CiAJCXJldHVybiAieDg2LTY0IjsKIAl9IGVsc2UgeworCQlpZiAobGV2ZWwgPT0gMTUpCisJCQlsZXZlbCA9IDY7CiAJCXNwcmludGYoYnVmLCAiaSVkODYiLCBsZXZlbCk7CiAJCXJldHVybiBidWY7CiAJfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvYm9vdC9tYWluLmMgYi9hcmNoL3g4Ni9ib290L21haW4uYwppbmRleCA3NzU2OWE0Li4yMjk2MTY0IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9ib290L21haW4uYworKysgYi9hcmNoL3g4Ni9ib290L21haW4uYwpAQCAtMTY1LDYgKzE2NSwxMCBAQAogCS8qIFNldCB0aGUgdmlkZW8gbW9kZSAqLwogCXNldF92aWRlbygpOwogCisJLyogUGFyc2UgY29tbWFuZCBsaW5lIGZvciAncXVpZXQnIGFuZCBwYXNzIGl0IHRvIGRlY29tcHJlc3Nvci4gKi8KKwlpZiAoY21kbGluZV9maW5kX29wdGlvbl9ib29sKCJxdWlldCIpKQorCQlib290X3BhcmFtcy5oZHIubG9hZGZsYWdzIHw9IFFVSUVUX0ZMQUc7CisKIAkvKiBEbyB0aGUgbGFzdCB0aGluZ3MgYW5kIGludm9rZSBwcm90ZWN0ZWQgbW9kZSAqLwogCWdvX3RvX3Byb3RlY3RlZF9tb2RlKCk7CiB9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9ib290L21lbW9yeS5jIGIvYXJjaC94ODYvYm9vdC9tZW1vcnkuYwppbmRleCBhY2FkMzJlLi41MzE2NWM5IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9ib290L21lbW9yeS5jCisrKyBiL2FyY2gveDg2L2Jvb3QvbWVtb3J5LmMKQEAgLTEzLDYgKzEzLDcgQEAKICAqLwogCiAjaW5jbHVkZSAiYm9vdC5oIgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgogCiAjZGVmaW5lIFNNQVAJMHg1MzRkNDE1MAkvKiBBU0NJSSAiU01BUCIgKi8KIApAQCAtNTMsNyArNTQsNyBAQAogCiAJCWNvdW50Kys7CiAJCWRlc2MrKzsKLQl9IHdoaWxlIChuZXh0ICYmIGNvdW50IDwgRTgyME1BWCk7CisJfSB3aGlsZSAobmV4dCAmJiBjb3VudCA8IEFSUkFZX1NJWkUoYm9vdF9wYXJhbXMuZTgyMF9tYXApKTsKIAogCXJldHVybiBib290X3BhcmFtcy5lODIwX2VudHJpZXMgPSBjb3VudDsKIH0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2Jvb3QvcG1qdW1wLlMgYi9hcmNoL3g4Ni9ib290L3BtanVtcC5TCmluZGV4IGFiMDQ5ZDQuLjE0MWI2ZTIgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2Jvb3QvcG1qdW1wLlMKKysrIGIvYXJjaC94ODYvYm9vdC9wbWp1bXAuUwpAQCAtMzMsNiArMzMsOCBAQAogCW1vdncJJWNzLCAlYngKIAlzaGxsCSQ0LCAlZWJ4CiAJYWRkbAklZWJ4LCAyZgorCWptcAkxZgkJCSMgU2hvcnQganVtcCB0byBzZXJpYWxpemUgb24gMzg2LzQ4NgorMToKIAogCW1vdncJJF9fQk9PVF9EUywgJWN4CiAJbW92dwkkX19CT09UX1RTUywgJWRpCkBAIC00MCw4ICs0Miw2IEBACiAJbW92bAklY3IwLCAlZWR4CiAJb3JiCSRYODZfQ1IwX1BFLCAlZGwJIyBQcm90ZWN0ZWQgbW9kZQogCW1vdmwJJWVkeCwgJWNyMAotCWptcAkxZgkJCSMgU2hvcnQganVtcCB0byBzZXJpYWxpemUgb24gMzg2LzQ4NgotMToKIAogCSMgVHJhbnNpdGlvbiB0byAzMi1iaXQgbW9kZQogCS5ieXRlCTB4NjYsIDB4ZWEJCSMgbGptcGwgb3Bjb2RlCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9ib290L3ZpZGVvLXZnYS5jIGIvYXJjaC94ODYvYm9vdC92aWRlby12Z2EuYwppbmRleCA0MGVjYjhkLi5iOTM5Y2I0IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9ib290L3ZpZGVvLXZnYS5jCisrKyBiL2FyY2gveDg2L2Jvb3QvdmlkZW8tdmdhLmMKQEAgLTI1OSw4ICsyNTksNyBAQAogCXJldHVybiBtb2RlX2NvdW50W2FkYXB0ZXJdOwogfQogCi1fX3ZpZGVvY2FyZCB2aWRlb192Z2EgPQoteworX192aWRlb2NhcmQgdmlkZW9fdmdhID0gewogCS5jYXJkX25hbWUJPSAiVkdBIiwKIAkucHJvYmUJCT0gdmdhX3Byb2JlLAogCS5zZXRfbW9kZQk9IHZnYV9zZXRfbW9kZSwKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2NvbmZpZ3MvaTM4Nl9kZWZjb25maWcgYi9hcmNoL3g4Ni9jb25maWdzL2kzODZfZGVmY29uZmlnCmluZGV4IGFkN2RkYWEuLjliYzM0ZTIgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2NvbmZpZ3MvaTM4Nl9kZWZjb25maWcKKysrIGIvYXJjaC94ODYvY29uZmlncy9pMzg2X2RlZmNvbmZpZwpAQCAtMSw1NCArMSwxMDMgQEAKICMKICMgQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgbWFrZSBjb25maWc6IGRvbid0IGVkaXQKLSMgTGludXgga2VybmVsIHZlcnNpb246IDIuNi4yMi1naXQxNAotIyBGcmkgSnVsIDIwIDA5OjUzOjE1IDIwMDcKKyMgTGludXgga2VybmVsIHZlcnNpb246IDIuNi4yNi1yYzEKKyMgU3VuIE1heSAgNCAxOTo1OTowMiAyMDA4CiAjCisjIENPTkZJR182NEJJVCBpcyBub3Qgc2V0CiBDT05GSUdfWDg2XzMyPXkKKyMgQ09ORklHX1g4Nl82NCBpcyBub3Qgc2V0CitDT05GSUdfWDg2PXkKK0NPTkZJR19ERUZDT05GSUdfTElTVD0iYXJjaC94ODYvY29uZmlncy9pMzg2X2RlZmNvbmZpZyIKKyMgQ09ORklHX0dFTkVSSUNfTE9DS0JSRUFLIGlzIG5vdCBzZXQKIENPTkZJR19HRU5FUklDX1RJTUU9eQorQ09ORklHX0dFTkVSSUNfQ01PU19VUERBVEU9eQogQ09ORklHX0NMT0NLU09VUkNFX1dBVENIRE9HPXkKIENPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTPXkKIENPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTX0JST0FEQ0FTVD15CiBDT05GSUdfTE9DS0RFUF9TVVBQT1JUPXkKIENPTkZJR19TVEFDS1RSQUNFX1NVUFBPUlQ9eQotQ09ORklHX1NFTUFQSE9SRV9TTEVFUEVSUz15Ci1DT05GSUdfWDg2PXkKK0NPTkZJR19IQVZFX0xBVEVOQ1lUT1BfU1VQUE9SVD15CitDT05GSUdfRkFTVF9DTVBYQ0hHX0xPQ0FMPXkKIENPTkZJR19NTVU9eQogQ09ORklHX1pPTkVfRE1BPXkKLUNPTkZJR19RVUlDS0xJU1Q9eQogQ09ORklHX0dFTkVSSUNfSVNBX0RNQT15CiBDT05GSUdfR0VORVJJQ19JT01BUD15CiBDT05GSUdfR0VORVJJQ19CVUc9eQogQ09ORklHX0dFTkVSSUNfSFdFSUdIVD15CisjIENPTkZJR19HRU5FUklDX0dQSU8gaXMgbm90IHNldAogQ09ORklHX0FSQ0hfTUFZX0hBVkVfUENfRkRDPXkKLUNPTkZJR19ETUk9eQotQ09ORklHX0RFRkNPTkZJR19MSVNUPSIvbGliL21vZHVsZXMvJFVOQU1FX1JFTEVBU0UvLmNvbmZpZyIKLQotIwotIyBDb2RlIG1hdHVyaXR5IGxldmVsIG9wdGlvbnMKLSMKLUNPTkZJR19FWFBFUklNRU5UQUw9eQotQ09ORklHX0xPQ0tfS0VSTkVMPXkKLUNPTkZJR19JTklUX0VOVl9BUkdfTElNSVQ9MzIKKyMgQ09ORklHX1JXU0VNX0dFTkVSSUNfU1BJTkxPQ0sgaXMgbm90IHNldAorQ09ORklHX1JXU0VNX1hDSEdBRERfQUxHT1JJVEhNPXkKKyMgQ09ORklHX0FSQ0hfSEFTX0lMT0cyX1UzMiBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0hBU19JTE9HMl9VNjQgaXMgbm90IHNldAorQ09ORklHX0FSQ0hfSEFTX0NQVV9JRExFX1dBSVQ9eQorQ09ORklHX0dFTkVSSUNfQ0FMSUJSQVRFX0RFTEFZPXkKKyMgQ09ORklHX0dFTkVSSUNfVElNRV9WU1lTQ0FMTCBpcyBub3Qgc2V0CitDT05GSUdfQVJDSF9IQVNfQ1BVX1JFTEFYPXkKK0NPTkZJR19BUkNIX0hBU19DQUNIRV9MSU5FX1NJWkU9eQorQ09ORklHX0hBVkVfU0VUVVBfUEVSX0NQVV9BUkVBPXkKKyMgQ09ORklHX0hBVkVfQ1BVTUFTS19PRl9DUFVfTUFQIGlzIG5vdCBzZXQKK0NPTkZJR19BUkNIX0hJQkVSTkFUSU9OX1BPU1NJQkxFPXkKK0NPTkZJR19BUkNIX1NVU1BFTkRfUE9TU0lCTEU9eQorIyBDT05GSUdfWk9ORV9ETUEzMiBpcyBub3Qgc2V0CitDT05GSUdfQVJDSF9QT1BVTEFURVNfTk9ERV9NQVA9eQorIyBDT05GSUdfQVVESVRfQVJDSCBpcyBub3Qgc2V0CitDT05GSUdfQVJDSF9TVVBQT1JUU19BT1VUPXkKK0NPTkZJR19BUkNIX1NVUFBPUlRTX09QVElNSVpFRF9JTkxJTklORz15CitDT05GSUdfR0VORVJJQ19IQVJESVJRUz15CitDT05GSUdfR0VORVJJQ19JUlFfUFJPQkU9eQorQ09ORklHX0dFTkVSSUNfUEVORElOR19JUlE9eQorQ09ORklHX1g4Nl9TTVA9eQorQ09ORklHX1g4Nl8zMl9TTVA9eQorQ09ORklHX1g4Nl9IVD15CitDT05GSUdfWDg2X0JJT1NfUkVCT09UPXkKK0NPTkZJR19YODZfVFJBTVBPTElORT15CitDT05GSUdfS1RJTUVfU0NBTEFSPXkKIAogIwogIyBHZW5lcmFsIHNldHVwCiAjCitDT05GSUdfRVhQRVJJTUVOVEFMPXkKK0NPTkZJR19MT0NLX0tFUk5FTD15CitDT05GSUdfSU5JVF9FTlZfQVJHX0xJTUlUPTMyCiBDT05GSUdfTE9DQUxWRVJTSU9OPSIiCi1DT05GSUdfTE9DQUxWRVJTSU9OX0FVVE89eQorIyBDT05GSUdfTE9DQUxWRVJTSU9OX0FVVE8gaXMgbm90IHNldAogQ09ORklHX1NXQVA9eQogQ09ORklHX1NZU1ZJUEM9eQogQ09ORklHX1NZU1ZJUENfU1lTQ1RMPXkKIENPTkZJR19QT1NJWF9NUVVFVUU9eQotIyBDT05GSUdfQlNEX1BST0NFU1NfQUNDVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19UQVNLU1RBVFMgaXMgbm90IHNldAotIyBDT05GSUdfVVNFUl9OUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19BVURJVCBpcyBub3Qgc2V0Ci1DT05GSUdfSUtDT05GSUc9eQotQ09ORklHX0lLQ09ORklHX1BST0M9eQotQ09ORklHX0xPR19CVUZfU0hJRlQ9MTgKLSMgQ09ORklHX0NQVVNFVFMgaXMgbm90IHNldAotQ09ORklHX1NZU0ZTX0RFUFJFQ0FURUQ9eQorQ09ORklHX0JTRF9QUk9DRVNTX0FDQ1Q9eQorIyBDT05GSUdfQlNEX1BST0NFU1NfQUNDVF9WMyBpcyBub3Qgc2V0CitDT05GSUdfVEFTS1NUQVRTPXkKK0NPTkZJR19UQVNLX0RFTEFZX0FDQ1Q9eQorQ09ORklHX1RBU0tfWEFDQ1Q9eQorQ09ORklHX1RBU0tfSU9fQUNDT1VOVElORz15CitDT05GSUdfQVVESVQ9eQorQ09ORklHX0FVRElUU1lTQ0FMTD15CitDT05GSUdfQVVESVRfVFJFRT15CisjIENPTkZJR19JS0NPTkZJRyBpcyBub3Qgc2V0CitDT05GSUdfTE9HX0JVRl9TSElGVD0xNworQ09ORklHX0NHUk9VUFM9eQorIyBDT05GSUdfQ0dST1VQX0RFQlVHIGlzIG5vdCBzZXQKK0NPTkZJR19DR1JPVVBfTlM9eQorIyBDT05GSUdfQ0dST1VQX0RFVklDRSBpcyBub3Qgc2V0CitDT05GSUdfQ1BVU0VUUz15CitDT05GSUdfR1JPVVBfU0NIRUQ9eQorQ09ORklHX0ZBSVJfR1JPVVBfU0NIRUQ9eQorIyBDT05GSUdfUlRfR1JPVVBfU0NIRUQgaXMgbm90IHNldAorIyBDT05GSUdfVVNFUl9TQ0hFRCBpcyBub3Qgc2V0CitDT05GSUdfQ0dST1VQX1NDSEVEPXkKK0NPTkZJR19DR1JPVVBfQ1BVQUNDVD15CitDT05GSUdfUkVTT1VSQ0VfQ09VTlRFUlM9eQorIyBDT05GSUdfQ0dST1VQX01FTV9SRVNfQ1RMUiBpcyBub3Qgc2V0CisjIENPTkZJR19TWVNGU19ERVBSRUNBVEVEX1YyIGlzIG5vdCBzZXQKK0NPTkZJR19QUk9DX1BJRF9DUFVTRVQ9eQogQ09ORklHX1JFTEFZPXkKK0NPTkZJR19OQU1FU1BBQ0VTPXkKK0NPTkZJR19VVFNfTlM9eQorQ09ORklHX0lQQ19OUz15CitDT05GSUdfVVNFUl9OUz15CitDT05GSUdfUElEX05TPXkKIENPTkZJR19CTEtfREVWX0lOSVRSRD15CiBDT05GSUdfSU5JVFJBTUZTX1NPVVJDRT0iIgogQ09ORklHX0NDX09QVElNSVpFX0ZPUl9TSVpFPXkKQEAgLTU2LDEzICsxMDUsMTUgQEAKICMgQ09ORklHX0VNQkVEREVEIGlzIG5vdCBzZXQKIENPTkZJR19VSUQxNj15CiBDT05GSUdfU1lTQ1RMX1NZU0NBTEw9eQorQ09ORklHX1NZU0NUTF9TWVNDQUxMX0NIRUNLPXkKIENPTkZJR19LQUxMU1lNUz15CiBDT05GSUdfS0FMTFNZTVNfQUxMPXkKLSMgQ09ORklHX0tBTExTWU1TX0VYVFJBX1BBU1MgaXMgbm90IHNldAorQ09ORklHX0tBTExTWU1TX0VYVFJBX1BBU1M9eQogQ09ORklHX0hPVFBMVUc9eQogQ09ORklHX1BSSU5USz15CiBDT05GSUdfQlVHPXkKIENPTkZJR19FTEZfQ09SRT15CisjIENPTkZJR19DT01QQVRfQlJLIGlzIG5vdCBzZXQKIENPTkZJR19CQVNFX0ZVTEw9eQogQ09ORklHX0ZVVEVYPXkKIENPTkZJR19BTk9OX0lOT0RFUz15CkBAIC03Niw2ICsxMjcsMTcgQEAKICMgQ09ORklHX1NMQUIgaXMgbm90IHNldAogQ09ORklHX1NMVUI9eQogIyBDT05GSUdfU0xPQiBpcyBub3Qgc2V0CitDT05GSUdfUFJPRklMSU5HPXkKK0NPTkZJR19NQVJLRVJTPXkKKyMgQ09ORklHX09QUk9GSUxFIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX09QUk9GSUxFPXkKK0NPTkZJR19LUFJPQkVTPXkKK0NPTkZJR19LUkVUUFJPQkVTPXkKK0NPTkZJR19IQVZFX0tQUk9CRVM9eQorQ09ORklHX0hBVkVfS1JFVFBST0JFUz15CisjIENPTkZJR19IQVZFX0RNQV9BVFRSUyBpcyBub3Qgc2V0CitDT05GSUdfUFJPQ19QQUdFX01PTklUT1I9eQorQ09ORklHX1NMQUJJTkZPPXkKIENPTkZJR19SVF9NVVRFWEVTPXkKICMgQ09ORklHX1RJTllfU0hNRU0gaXMgbm90IHNldAogQ09ORklHX0JBU0VfU01BTEw9MApAQCAtODcsMTAgKzE0OSwxMCBAQAogIyBDT05GSUdfS01PRCBpcyBub3Qgc2V0CiBDT05GSUdfU1RPUF9NQUNISU5FPXkKIENPTkZJR19CTE9DSz15Ci1DT05GSUdfTEJEPXkKLSMgQ09ORklHX0JMS19ERVZfSU9fVFJBQ0UgaXMgbm90IHNldAorIyBDT05GSUdfTEJEIGlzIG5vdCBzZXQKK0NPTkZJR19CTEtfREVWX0lPX1RSQUNFPXkKICMgQ09ORklHX0xTRiBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0JTRyBpcyBub3Qgc2V0CitDT05GSUdfQkxLX0RFVl9CU0c9eQogCiAjCiAjIElPIFNjaGVkdWxlcnMKQEAgLTEwMyw3ICsxNjUsOCBAQAogIyBDT05GSUdfREVGQVVMVF9ERUFETElORSBpcyBub3Qgc2V0CiBDT05GSUdfREVGQVVMVF9DRlE9eQogIyBDT05GSUdfREVGQVVMVF9OT09QIGlzIG5vdCBzZXQKLUNPTkZJR19ERUZBVUxUX0lPU0NIRUQ9ImFudGljaXBhdG9yeSIKK0NPTkZJR19ERUZBVUxUX0lPU0NIRUQ9ImNmcSIKK0NPTkZJR19DTEFTU0lDX1JDVT15CiAKICMKICMgUHJvY2Vzc29yIHR5cGUgYW5kIGZlYXR1cmVzCkBAIC0xMTEsMTggKzE3NCwyMSBAQAogQ09ORklHX1RJQ0tfT05FU0hPVD15CiBDT05GSUdfTk9fSFo9eQogQ09ORklHX0hJR0hfUkVTX1RJTUVSUz15CitDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UU19CVUlMRD15CiBDT05GSUdfU01QPXkKLSMgQ09ORklHX1g4Nl9QQyBpcyBub3Qgc2V0CitDT05GSUdfWDg2X1BDPXkKICMgQ09ORklHX1g4Nl9FTEFOIGlzIG5vdCBzZXQKICMgQ09ORklHX1g4Nl9WT1lBR0VSIGlzIG5vdCBzZXQKICMgQ09ORklHX1g4Nl9OVU1BUSBpcyBub3Qgc2V0CiAjIENPTkZJR19YODZfU1VNTUlUIGlzIG5vdCBzZXQKICMgQ09ORklHX1g4Nl9CSUdTTVAgaXMgbm90IHNldAogIyBDT05GSUdfWDg2X1ZJU1dTIGlzIG5vdCBzZXQKLUNPTkZJR19YODZfR0VORVJJQ0FSQ0g9eQorIyBDT05GSUdfWDg2X0dFTkVSSUNBUkNIIGlzIG5vdCBzZXQKICMgQ09ORklHX1g4Nl9FUzcwMDAgaXMgbm90IHNldAotIyBDT05GSUdfUEFSQVZJUlQgaXMgbm90IHNldAotQ09ORklHX1g4Nl9DWUNMT05FX1RJTUVSPXkKKyMgQ09ORklHX1g4Nl9SREMzMjFYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1g4Nl9WU01QIGlzIG5vdCBzZXQKK0NPTkZJR19TQ0hFRF9OT19OT19PTUlUX0ZSQU1FX1BPSU5URVI9eQorIyBDT05GSUdfUEFSQVZJUlRfR1VFU1QgaXMgbm90IHNldAogIyBDT05GSUdfTTM4NiBpcyBub3Qgc2V0CiAjIENPTkZJR19NNDg2IGlzIG5vdCBzZXQKICMgQ09ORklHX001ODYgaXMgbm90IHNldApAQCAtMTMwLDkgKzE5Niw4IEBACiAjIENPTkZJR19NNTg2TU1YIGlzIG5vdCBzZXQKICMgQ09ORklHX002ODYgaXMgbm90IHNldAogIyBDT05GSUdfTVBFTlRJVU1JSSBpcyBub3Qgc2V0Ci1DT05GSUdfTVBFTlRJVU1JSUk9eQorIyBDT05GSUdfTVBFTlRJVU1JSUkgaXMgbm90IHNldAogIyBDT05GSUdfTVBFTlRJVU1NIGlzIG5vdCBzZXQKLSMgQ09ORklHX01DT1JFMiBpcyBub3Qgc2V0CiAjIENPTkZJR19NUEVOVElVTTQgaXMgbm90IHNldAogIyBDT05GSUdfTUs2IGlzIG5vdCBzZXQKICMgQ09ORklHX01LNyBpcyBub3Qgc2V0CkBAIC0xNDcsMTQgKzIxMiwxNCBAQAogIyBDT05GSUdfTUNZUklYSUlJIGlzIG5vdCBzZXQKICMgQ09ORklHX01WSUFDM18yIGlzIG5vdCBzZXQKICMgQ09ORklHX01WSUFDNyBpcyBub3Qgc2V0Ci1DT05GSUdfWDg2X0dFTkVSSUM9eQorIyBDT05GSUdfTVBTQyBpcyBub3Qgc2V0CitDT05GSUdfTUNPUkUyPXkKKyMgQ09ORklHX0dFTkVSSUNfQ1BVIGlzIG5vdCBzZXQKKyMgQ09ORklHX1g4Nl9HRU5FUklDIGlzIG5vdCBzZXQKK0NPTkZJR19YODZfQ1BVPXkKIENPTkZJR19YODZfQ01QWENIRz15Ci1DT05GSUdfWDg2X0wxX0NBQ0hFX1NISUZUPTcKK0NPTkZJR19YODZfTDFfQ0FDSEVfU0hJRlQ9NgogQ09ORklHX1g4Nl9YQUREPXkKLUNPTkZJR19SV1NFTV9YQ0hHQUREX0FMR09SSVRITT15Ci0jIENPTkZJR19BUkNIX0hBU19JTE9HMl9VMzIgaXMgbm90IHNldAotIyBDT05GSUdfQVJDSF9IQVNfSUxPRzJfVTY0IGlzIG5vdCBzZXQKLUNPTkZJR19HRU5FUklDX0NBTElCUkFURV9ERUxBWT15CiBDT05GSUdfWDg2X1dQX1dPUktTX09LPXkKIENPTkZJR19YODZfSU5WTFBHPXkKIENPTkZJR19YODZfQlNXQVA9eQpAQCAtMTYyLDEwNiArMjI3LDEyMCBAQAogQ09ORklHX1g4Nl9HT09EX0FQSUM9eQogQ09ORklHX1g4Nl9JTlRFTF9VU0VSQ09QWT15CiBDT05GSUdfWDg2X1VTRV9QUFJPX0NIRUNLU1VNPXkKK0NPTkZJR19YODZfUDZfTk9QPXkKIENPTkZJR19YODZfVFNDPXkKLUNPTkZJR19YODZfQ01PVj15Ci1DT05GSUdfWDg2X01JTklNVU1fQ1BVX0ZBTUlMWT00CitDT05GSUdfWDg2X01JTklNVU1fQ1BVX0ZBTUlMWT02CitDT05GSUdfWDg2X0RFQlVHQ1RMTVNSPXkKIENPTkZJR19IUEVUX1RJTUVSPXkKIENPTkZJR19IUEVUX0VNVUxBVEVfUlRDPXkKLUNPTkZJR19OUl9DUFVTPTMyCi1DT05GSUdfU0NIRURfU01UPXkKK0NPTkZJR19ETUk9eQorIyBDT05GSUdfSU9NTVVfSEVMUEVSIGlzIG5vdCBzZXQKK0NPTkZJR19OUl9DUFVTPTQKKyMgQ09ORklHX1NDSEVEX1NNVCBpcyBub3Qgc2V0CiBDT05GSUdfU0NIRURfTUM9eQogIyBDT05GSUdfUFJFRU1QVF9OT05FIGlzIG5vdCBzZXQKIENPTkZJR19QUkVFTVBUX1ZPTFVOVEFSWT15CiAjIENPTkZJR19QUkVFTVBUIGlzIG5vdCBzZXQKLUNPTkZJR19QUkVFTVBUX0JLTD15CiBDT05GSUdfWDg2X0xPQ0FMX0FQSUM9eQogQ09ORklHX1g4Nl9JT19BUElDPXkKLUNPTkZJR19YODZfTUNFPXkKLUNPTkZJR19YODZfTUNFX05PTkZBVEFMPXkKLUNPTkZJR19YODZfTUNFX1A0VEhFUk1BTD15CisjIENPTkZJR19YODZfTUNFIGlzIG5vdCBzZXQKIENPTkZJR19WTTg2PXkKICMgQ09ORklHX1RPU0hJQkEgaXMgbm90IHNldAogIyBDT05GSUdfSThLIGlzIG5vdCBzZXQKICMgQ09ORklHX1g4Nl9SRUJPT1RGSVhVUFMgaXMgbm90IHNldAotQ09ORklHX01JQ1JPQ09ERT15Ci1DT05GSUdfTUlDUk9DT0RFX09MRF9JTlRFUkZBQ0U9eQorIyBDT05GSUdfTUlDUk9DT0RFIGlzIG5vdCBzZXQKIENPTkZJR19YODZfTVNSPXkKIENPTkZJR19YODZfQ1BVSUQ9eQotCi0jCi0jIEZpcm13YXJlIERyaXZlcnMKLSMKLSMgQ09ORklHX0VERCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUxMX1JCVSBpcyBub3Qgc2V0Ci0jIENPTkZJR19EQ0RCQVMgaXMgbm90IHNldAotQ09ORklHX0RNSUlEPXkKICMgQ09ORklHX05PSElHSE1FTSBpcyBub3Qgc2V0CiBDT05GSUdfSElHSE1FTTRHPXkKICMgQ09ORklHX0hJR0hNRU02NEcgaXMgbm90IHNldAogQ09ORklHX1BBR0VfT0ZGU0VUPTB4QzAwMDAwMDAKIENPTkZJR19ISUdITUVNPXkKLUNPTkZJR19BUkNIX1BPUFVMQVRFU19OT0RFX01BUD15CitDT05GSUdfTkVFRF9OT0RFX01FTU1BUF9TSVpFPXkKK0NPTkZJR19BUkNIX0ZMQVRNRU1fRU5BQkxFPXkKK0NPTkZJR19BUkNIX1NQQVJTRU1FTV9FTkFCTEU9eQorQ09ORklHX0FSQ0hfU0VMRUNUX01FTU9SWV9NT0RFTD15CiBDT05GSUdfU0VMRUNUX01FTU9SWV9NT0RFTD15Ci1DT05GSUdfRkxBVE1FTV9NQU5VQUw9eQorIyBDT05GSUdfRkxBVE1FTV9NQU5VQUwgaXMgbm90IHNldAogIyBDT05GSUdfRElTQ09OVElHTUVNX01BTlVBTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TUEFSU0VNRU1fTUFOVUFMIGlzIG5vdCBzZXQKLUNPTkZJR19GTEFUTUVNPXkKLUNPTkZJR19GTEFUX05PREVfTUVNX01BUD15Ci0jIENPTkZJR19TUEFSU0VNRU1fU1RBVElDIGlzIG5vdCBzZXQKK0NPTkZJR19TUEFSU0VNRU1fTUFOVUFMPXkKK0NPTkZJR19TUEFSU0VNRU09eQorQ09ORklHX0hBVkVfTUVNT1JZX1BSRVNFTlQ9eQorQ09ORklHX1NQQVJTRU1FTV9TVEFUSUM9eQorIyBDT05GSUdfU1BBUlNFTUVNX1ZNRU1NQVBfRU5BQkxFIGlzIG5vdCBzZXQKKworIworIyBNZW1vcnkgaG90cGx1ZyBpcyBjdXJyZW50bHkgaW5jb21wYXRpYmxlIHdpdGggU29mdHdhcmUgU3VzcGVuZAorIworQ09ORklHX1BBR0VGTEFHU19FWFRFTkRFRD15CiBDT05GSUdfU1BMSVRfUFRMT0NLX0NQVVM9NAogQ09ORklHX1JFU09VUkNFU182NEJJVD15CiBDT05GSUdfWk9ORV9ETUFfRkxBRz0xCiBDT05GSUdfQk9VTkNFPXkKLUNPTkZJR19OUl9RVUlDSz0xCiBDT05GSUdfVklSVF9UT19CVVM9eQogIyBDT05GSUdfSElHSFBURSBpcyBub3Qgc2V0CiAjIENPTkZJR19NQVRIX0VNVUxBVElPTiBpcyBub3Qgc2V0CiBDT05GSUdfTVRSUj15Ci0jIENPTkZJR19FRkkgaXMgbm90IHNldAorIyBDT05GSUdfWDg2X1BBVCBpcyBub3Qgc2V0CitDT05GSUdfRUZJPXkKICMgQ09ORklHX0lSUUJBTEFOQ0UgaXMgbm90IHNldAogQ09ORklHX1NFQ0NPTVA9eQogIyBDT05GSUdfSFpfMTAwIGlzIG5vdCBzZXQKLUNPTkZJR19IWl8yNTA9eQorIyBDT05GSUdfSFpfMjUwIGlzIG5vdCBzZXQKICMgQ09ORklHX0haXzMwMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19IWl8xMDAwIGlzIG5vdCBzZXQKLUNPTkZJR19IWj0yNTAKLSMgQ09ORklHX0tFWEVDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSQVNIX0RVTVAgaXMgbm90IHNldAotQ09ORklHX1BIWVNJQ0FMX1NUQVJUPTB4MTAwMDAwCi0jIENPTkZJR19SRUxPQ0FUQUJMRSBpcyBub3Qgc2V0Ci1DT05GSUdfUEhZU0lDQUxfQUxJR049MHgxMDAwMDAKLSMgQ09ORklHX0hPVFBMVUdfQ1BVIGlzIG5vdCBzZXQKLUNPTkZJR19DT01QQVRfVkRTTz15CitDT05GSUdfSFpfMTAwMD15CitDT05GSUdfSFo9MTAwMAorQ09ORklHX1NDSEVEX0hSVElDSz15CitDT05GSUdfS0VYRUM9eQorQ09ORklHX0NSQVNIX0RVTVA9eQorQ09ORklHX1BIWVNJQ0FMX1NUQVJUPTB4MTAwMDAwMAorQ09ORklHX1JFTE9DQVRBQkxFPXkKK0NPTkZJR19QSFlTSUNBTF9BTElHTj0weDIwMDAwMAorQ09ORklHX0hPVFBMVUdfQ1BVPXkKKyMgQ09ORklHX0NPTVBBVF9WRFNPIGlzIG5vdCBzZXQKIENPTkZJR19BUkNIX0VOQUJMRV9NRU1PUllfSE9UUExVRz15CiAKICMKLSMgUG93ZXIgbWFuYWdlbWVudCBvcHRpb25zIChBQ1BJLCBBUE0pCisjIFBvd2VyIG1hbmFnZW1lbnQgb3B0aW9ucwogIwogQ09ORklHX1BNPXkKLUNPTkZJR19QTV9MRUdBQ1k9eQotIyBDT05GSUdfUE1fREVCVUcgaXMgbm90IHNldAotCi0jCi0jIEFDUEkgKEFkdmFuY2VkIENvbmZpZ3VyYXRpb24gYW5kIFBvd2VyIEludGVyZmFjZSkgU3VwcG9ydAotIworQ09ORklHX1BNX0RFQlVHPXkKKyMgQ09ORklHX1BNX1ZFUkJPU0UgaXMgbm90IHNldAorQ09ORklHX0NBTl9QTV9UUkFDRT15CitDT05GSUdfUE1fVFJBQ0U9eQorQ09ORklHX1BNX1RSQUNFX1JUQz15CitDT05GSUdfUE1fU0xFRVBfU01QPXkKK0NPTkZJR19QTV9TTEVFUD15CitDT05GSUdfU1VTUEVORD15CitDT05GSUdfU1VTUEVORF9GUkVFWkVSPXkKK0NPTkZJR19ISUJFUk5BVElPTj15CitDT05GSUdfUE1fU1REX1BBUlRJVElPTj0iIgogQ09ORklHX0FDUEk9eQorQ09ORklHX0FDUElfU0xFRVA9eQogQ09ORklHX0FDUElfUFJPQ0ZTPXkKK0NPTkZJR19BQ1BJX1BST0NGU19QT1dFUj15CitDT05GSUdfQUNQSV9TWVNGU19QT1dFUj15CitDT05GSUdfQUNQSV9QUk9DX0VWRU5UPXkKIENPTkZJR19BQ1BJX0FDPXkKIENPTkZJR19BQ1BJX0JBVFRFUlk9eQogQ09ORklHX0FDUElfQlVUVE9OPXkKIENPTkZJR19BQ1BJX0ZBTj15Ci0jIENPTkZJR19BQ1BJX0RPQ0sgaXMgbm90IHNldAorQ09ORklHX0FDUElfRE9DSz15CisjIENPTkZJR19BQ1BJX0JBWSBpcyBub3Qgc2V0CiBDT05GSUdfQUNQSV9QUk9DRVNTT1I9eQorQ09ORklHX0FDUElfSE9UUExVR19DUFU9eQogQ09ORklHX0FDUElfVEhFUk1BTD15CisjIENPTkZJR19BQ1BJX1dNSSBpcyBub3Qgc2V0CiAjIENPTkZJR19BQ1BJX0FTVVMgaXMgbm90IHNldAogIyBDT05GSUdfQUNQSV9UT1NISUJBIGlzIG5vdCBzZXQKLUNPTkZJR19BQ1BJX0JMQUNLTElTVF9ZRUFSPTIwMDEKLUNPTkZJR19BQ1BJX0RFQlVHPXkKKyMgQ09ORklHX0FDUElfQ1VTVE9NX0RTRFQgaXMgbm90IHNldAorQ09ORklHX0FDUElfQkxBQ0tMSVNUX1lFQVI9MAorIyBDT05GSUdfQUNQSV9ERUJVRyBpcyBub3Qgc2V0CiBDT05GSUdfQUNQSV9FQz15CiBDT05GSUdfQUNQSV9QT1dFUj15CiBDT05GSUdfQUNQSV9TWVNURU09eQogQ09ORklHX1g4Nl9QTV9USU1FUj15Ci0jIENPTkZJR19BQ1BJX0NPTlRBSU5FUiBpcyBub3Qgc2V0CitDT05GSUdfQUNQSV9DT05UQUlORVI9eQogIyBDT05GSUdfQUNQSV9TQlMgaXMgbm90IHNldAogIyBDT05GSUdfQVBNIGlzIG5vdCBzZXQKIApAQCAtMjcxLDE1ICszNTAsMTcgQEAKIENPTkZJR19DUFVfRlJFUT15CiBDT05GSUdfQ1BVX0ZSRVFfVEFCTEU9eQogQ09ORklHX0NQVV9GUkVRX0RFQlVHPXkKLUNPTkZJR19DUFVfRlJFUV9TVEFUPXkKLSMgQ09ORklHX0NQVV9GUkVRX1NUQVRfREVUQUlMUyBpcyBub3Qgc2V0Ci1DT05GSUdfQ1BVX0ZSRVFfREVGQVVMVF9HT1ZfUEVSRk9STUFOQ0U9eQotIyBDT05GSUdfQ1BVX0ZSRVFfREVGQVVMVF9HT1ZfVVNFUlNQQUNFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NQVV9GUkVRX1NUQVQgaXMgbm90IHNldAorIyBDT05GSUdfQ1BVX0ZSRVFfREVGQVVMVF9HT1ZfUEVSRk9STUFOQ0UgaXMgbm90IHNldAorIyBDT05GSUdfQ1BVX0ZSRVFfREVGQVVMVF9HT1ZfUE9XRVJTQVZFIGlzIG5vdCBzZXQKK0NPTkZJR19DUFVfRlJFUV9ERUZBVUxUX0dPVl9VU0VSU1BBQ0U9eQorIyBDT05GSUdfQ1BVX0ZSRVFfREVGQVVMVF9HT1ZfT05ERU1BTkQgaXMgbm90IHNldAorIyBDT05GSUdfQ1BVX0ZSRVFfREVGQVVMVF9HT1ZfQ09OU0VSVkFUSVZFIGlzIG5vdCBzZXQKIENPTkZJR19DUFVfRlJFUV9HT1ZfUEVSRk9STUFOQ0U9eQogIyBDT05GSUdfQ1BVX0ZSRVFfR09WX1BPV0VSU0FWRSBpcyBub3Qgc2V0CiBDT05GSUdfQ1BVX0ZSRVFfR09WX1VTRVJTUEFDRT15CiBDT05GSUdfQ1BVX0ZSRVFfR09WX09OREVNQU5EPXkKLUNPTkZJR19DUFVfRlJFUV9HT1ZfQ09OU0VSVkFUSVZFPXkKKyMgQ09ORklHX0NQVV9GUkVRX0dPVl9DT05TRVJWQVRJVkUgaXMgbm90IHNldAogCiAjCiAjIENQVUZyZXEgcHJvY2Vzc29yIGRyaXZlcnMKQEAgLTI4Nyw4ICszNjgsNyBAQAogQ09ORklHX1g4Nl9BQ1BJX0NQVUZSRVE9eQogIyBDT05GSUdfWDg2X1BPV0VSTk9XX0s2IGlzIG5vdCBzZXQKICMgQ09ORklHX1g4Nl9QT1dFUk5PV19LNyBpcyBub3Qgc2V0Ci1DT05GSUdfWDg2X1BPV0VSTk9XX0s4PXkKLUNPTkZJR19YODZfUE9XRVJOT1dfSzhfQUNQST15CisjIENPTkZJR19YODZfUE9XRVJOT1dfSzggaXMgbm90IHNldAogIyBDT05GSUdfWDg2X0dYX1NVU1BNT0QgaXMgbm90IHNldAogIyBDT05GSUdfWDg2X1NQRUVEU1RFUF9DRU5UUklOTyBpcyBub3Qgc2V0CiAjIENPTkZJR19YODZfU1BFRURTVEVQX0lDSCBpcyBub3Qgc2V0CkBAIC0zMDIsNDMgKzM4Miw3MiBAQAogIwogIyBzaGFyZWQgb3B0aW9ucwogIwotQ09ORklHX1g4Nl9BQ1BJX0NQVUZSRVFfUFJPQ19JTlRGPXkKKyMgQ09ORklHX1g4Nl9BQ1BJX0NQVUZSRVFfUFJPQ19JTlRGIGlzIG5vdCBzZXQKICMgQ09ORklHX1g4Nl9TUEVFRFNURVBfTElCIGlzIG5vdCBzZXQKK0NPTkZJR19DUFVfSURMRT15CitDT05GSUdfQ1BVX0lETEVfR09WX0xBRERFUj15CitDT05GSUdfQ1BVX0lETEVfR09WX01FTlU9eQogCiAjCi0jIEJ1cyBvcHRpb25zIChQQ0ksIFBDTUNJQSwgRUlTQSwgTUNBLCBJU0EpCisjIEJ1cyBvcHRpb25zIChQQ0kgZXRjLikKICMKIENPTkZJR19QQ0k9eQogIyBDT05GSUdfUENJX0dPQklPUyBpcyBub3Qgc2V0CiAjIENPTkZJR19QQ0lfR09NTUNPTkZJRyBpcyBub3Qgc2V0CiAjIENPTkZJR19QQ0lfR09ESVJFQ1QgaXMgbm90IHNldAogQ09ORklHX1BDSV9HT0FOWT15CisjIENPTkZJR19QQ0lfR09PTFBDIGlzIG5vdCBzZXQKIENPTkZJR19QQ0lfQklPUz15CiBDT05GSUdfUENJX0RJUkVDVD15CiBDT05GSUdfUENJX01NQ09ORklHPXkKLSMgQ09ORklHX1BDSUVQT1JUQlVTIGlzIG5vdCBzZXQKK0NPTkZJR19QQ0lfRE9NQUlOUz15CitDT05GSUdfUENJRVBPUlRCVVM9eQorIyBDT05GSUdfSE9UUExVR19QQ0lfUENJRSBpcyBub3Qgc2V0CitDT05GSUdfUENJRUFFUj15CisjIENPTkZJR19QQ0lFQVNQTSBpcyBub3Qgc2V0CiBDT05GSUdfQVJDSF9TVVBQT1JUU19NU0k9eQogQ09ORklHX1BDSV9NU0k9eQorIyBDT05GSUdfUENJX0xFR0FDWSBpcyBub3Qgc2V0CiAjIENPTkZJR19QQ0lfREVCVUcgaXMgbm90IHNldAotIyBDT05GSUdfSFRfSVJRIGlzIG5vdCBzZXQKK0NPTkZJR19IVF9JUlE9eQogQ09ORklHX0lTQV9ETUFfQVBJPXkKICMgQ09ORklHX0lTQSBpcyBub3Qgc2V0CiAjIENPTkZJR19NQ0EgaXMgbm90IHNldAogIyBDT05GSUdfU0N4MjAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX09MUEMgaXMgbm90IHNldAogQ09ORklHX0s4X05CPXkKK0NPTkZJR19QQ0NBUkQ9eQorIyBDT05GSUdfUENNQ0lBX0RFQlVHIGlzIG5vdCBzZXQKK0NPTkZJR19QQ01DSUE9eQorQ09ORklHX1BDTUNJQV9MT0FEX0NJUz15CitDT05GSUdfUENNQ0lBX0lPQ1RMPXkKK0NPTkZJR19DQVJEQlVTPXkKIAogIwotIyBQQ0NBUkQgKFBDTUNJQS9DYXJkQnVzKSBzdXBwb3J0CisjIFBDLWNhcmQgYnJpZGdlcwogIwotIyBDT05GSUdfUENDQVJEIGlzIG5vdCBzZXQKLSMgQ09ORklHX0hPVFBMVUdfUENJIGlzIG5vdCBzZXQKK0NPTkZJR19ZRU5UQT15CitDT05GSUdfWUVOVEFfTzI9eQorQ09ORklHX1lFTlRBX1JJQ09IPXkKK0NPTkZJR19ZRU5UQV9UST15CitDT05GSUdfWUVOVEFfRU5FX1RVTkU9eQorQ09ORklHX1lFTlRBX1RPU0hJQkE9eQorIyBDT05GSUdfUEQ2NzI5IGlzIG5vdCBzZXQKKyMgQ09ORklHX0k4MjA5MiBpcyBub3Qgc2V0CitDT05GSUdfUENDQVJEX05PTlNUQVRJQz15CitDT05GSUdfSE9UUExVR19QQ0k9eQorIyBDT05GSUdfSE9UUExVR19QQ0lfRkFLRSBpcyBub3Qgc2V0CisjIENPTkZJR19IT1RQTFVHX1BDSV9JQk0gaXMgbm90IHNldAorIyBDT05GSUdfSE9UUExVR19QQ0lfQUNQSSBpcyBub3Qgc2V0CisjIENPTkZJR19IT1RQTFVHX1BDSV9DUENJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hPVFBMVUdfUENJX1NIUEMgaXMgbm90IHNldAogCiAjCi0jIEV4ZWN1dGFibGUgZmlsZSBmb3JtYXRzCisjIEV4ZWN1dGFibGUgZmlsZSBmb3JtYXRzIC8gRW11bGF0aW9ucwogIwogQ09ORklHX0JJTkZNVF9FTEY9eQogIyBDT05GSUdfQklORk1UX0FPVVQgaXMgbm90IHNldAotIyBDT05GSUdfQklORk1UX01JU0MgaXMgbm90IHNldAorQ09ORklHX0JJTkZNVF9NSVNDPXkKIAogIwogIyBOZXR3b3JraW5nCkBAIC0zNDksNTkgKzQ1OCwxNDIgQEAKICMgTmV0d29ya2luZyBvcHRpb25zCiAjCiBDT05GSUdfUEFDS0VUPXkKLSMgQ09ORklHX1BBQ0tFVF9NTUFQIGlzIG5vdCBzZXQKK0NPTkZJR19QQUNLRVRfTU1BUD15CiBDT05GSUdfVU5JWD15CiBDT05GSUdfWEZSTT15Ci0jIENPTkZJR19YRlJNX1VTRVIgaXMgbm90IHNldAorQ09ORklHX1hGUk1fVVNFUj15CiAjIENPTkZJR19YRlJNX1NVQl9QT0xJQ1kgaXMgbm90IHNldAogIyBDT05GSUdfWEZSTV9NSUdSQVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1hGUk1fU1RBVElTVElDUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfS0VZIGlzIG5vdCBzZXQKIENPTkZJR19JTkVUPXkKIENPTkZJR19JUF9NVUxUSUNBU1Q9eQotIyBDT05GSUdfSVBfQURWQU5DRURfUk9VVEVSIGlzIG5vdCBzZXQKK0NPTkZJR19JUF9BRFZBTkNFRF9ST1VURVI9eQorQ09ORklHX0FTS19JUF9GSUJfSEFTSD15CisjIENPTkZJR19JUF9GSUJfVFJJRSBpcyBub3Qgc2V0CiBDT05GSUdfSVBfRklCX0hBU0g9eQotQ09ORklHX0lQX1BOUD15Ci1DT05GSUdfSVBfUE5QX0RIQ1A9eQotIyBDT05GSUdfSVBfUE5QX0JPT1RQIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lQX1BOUF9SQVJQIGlzIG5vdCBzZXQKK0NPTkZJR19JUF9NVUxUSVBMRV9UQUJMRVM9eQorQ09ORklHX0lQX1JPVVRFX01VTFRJUEFUSD15CitDT05GSUdfSVBfUk9VVEVfVkVSQk9TRT15CisjIENPTkZJR19JUF9QTlAgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0lQSVAgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0lQR1JFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lQX01ST1VURSBpcyBub3Qgc2V0CitDT05GSUdfSVBfTVJPVVRFPXkKK0NPTkZJR19JUF9QSU1TTV9WMT15CitDT05GSUdfSVBfUElNU01fVjI9eQogIyBDT05GSUdfQVJQRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TWU5fQ09PS0lFUyBpcyBub3Qgc2V0CitDT05GSUdfU1lOX0NPT0tJRVM9eQogIyBDT05GSUdfSU5FVF9BSCBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkVUX0VTUCBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkVUX0lQQ09NUCBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkVUX1hGUk1fVFVOTkVMIGlzIG5vdCBzZXQKIENPTkZJR19JTkVUX1RVTk5FTD15Ci1DT05GSUdfSU5FVF9YRlJNX01PREVfVFJBTlNQT1JUPXkKLUNPTkZJR19JTkVUX1hGUk1fTU9ERV9UVU5ORUw9eQorIyBDT05GSUdfSU5FVF9YRlJNX01PREVfVFJBTlNQT1JUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfWEZSTV9NT0RFX1RVTk5FTCBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkVUX1hGUk1fTU9ERV9CRUVUIGlzIG5vdCBzZXQKLUNPTkZJR19JTkVUX0RJQUc9eQotQ09ORklHX0lORVRfVENQX0RJQUc9eQotIyBDT05GSUdfVENQX0NPTkdfQURWQU5DRUQgaXMgbm90IHNldAorQ09ORklHX0lORVRfTFJPPXkKKyMgQ09ORklHX0lORVRfRElBRyBpcyBub3Qgc2V0CitDT05GSUdfVENQX0NPTkdfQURWQU5DRUQ9eQorIyBDT05GSUdfVENQX0NPTkdfQklDIGlzIG5vdCBzZXQKIENPTkZJR19UQ1BfQ09OR19DVUJJQz15CisjIENPTkZJR19UQ1BfQ09OR19XRVNUV09PRCBpcyBub3Qgc2V0CisjIENPTkZJR19UQ1BfQ09OR19IVENQIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RDUF9DT05HX0hTVENQIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RDUF9DT05HX0hZQkxBIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RDUF9DT05HX1ZFR0FTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RDUF9DT05HX1NDQUxBQkxFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RDUF9DT05HX0xQIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RDUF9DT05HX1ZFTk8gaXMgbm90IHNldAorIyBDT05GSUdfVENQX0NPTkdfWUVBSCBpcyBub3Qgc2V0CisjIENPTkZJR19UQ1BfQ09OR19JTExJTk9JUyBpcyBub3Qgc2V0CisjIENPTkZJR19ERUZBVUxUX0JJQyBpcyBub3Qgc2V0CitDT05GSUdfREVGQVVMVF9DVUJJQz15CisjIENPTkZJR19ERUZBVUxUX0hUQ1AgaXMgbm90IHNldAorIyBDT05GSUdfREVGQVVMVF9WRUdBUyBpcyBub3Qgc2V0CisjIENPTkZJR19ERUZBVUxUX1dFU1RXT09EIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFRkFVTFRfUkVOTyBpcyBub3Qgc2V0CiBDT05GSUdfREVGQVVMVF9UQ1BfQ09ORz0iY3ViaWMiCi0jIENPTkZJR19UQ1BfTUQ1U0lHIGlzIG5vdCBzZXQKK0NPTkZJR19UQ1BfTUQ1U0lHPXkKKyMgQ09ORklHX0lQX1ZTIGlzIG5vdCBzZXQKIENPTkZJR19JUFY2PXkKICMgQ09ORklHX0lQVjZfUFJJVkFDWSBpcyBub3Qgc2V0CiAjIENPTkZJR19JUFY2X1JPVVRFUl9QUkVGIGlzIG5vdCBzZXQKICMgQ09ORklHX0lQVjZfT1BUSU1JU1RJQ19EQUQgaXMgbm90IHNldAotIyBDT05GSUdfSU5FVDZfQUggaXMgbm90IHNldAotIyBDT05GSUdfSU5FVDZfRVNQIGlzIG5vdCBzZXQKK0NPTkZJR19JTkVUNl9BSD15CitDT05GSUdfSU5FVDZfRVNQPXkKICMgQ09ORklHX0lORVQ2X0lQQ09NUCBpcyBub3Qgc2V0CiAjIENPTkZJR19JUFY2X01JUDYgaXMgbm90IHNldAogIyBDT05GSUdfSU5FVDZfWEZSTV9UVU5ORUwgaXMgbm90IHNldAogIyBDT05GSUdfSU5FVDZfVFVOTkVMIGlzIG5vdCBzZXQKIENPTkZJR19JTkVUNl9YRlJNX01PREVfVFJBTlNQT1JUPXkKIENPTkZJR19JTkVUNl9YRlJNX01PREVfVFVOTkVMPXkKLSMgQ09ORklHX0lORVQ2X1hGUk1fTU9ERV9CRUVUIGlzIG5vdCBzZXQKK0NPTkZJR19JTkVUNl9YRlJNX01PREVfQkVFVD15CiAjIENPTkZJR19JTkVUNl9YRlJNX01PREVfUk9VVEVPUFRJTUlaQVRJT04gaXMgbm90IHNldAogQ09ORklHX0lQVjZfU0lUPXkKK0NPTkZJR19JUFY2X05ESVNDX05PREVUWVBFPXkKICMgQ09ORklHX0lQVjZfVFVOTkVMIGlzIG5vdCBzZXQKICMgQ09ORklHX0lQVjZfTVVMVElQTEVfVEFCTEVTIGlzIG5vdCBzZXQKLSMgQ09ORklHX05FVFdPUktfU0VDTUFSSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19ORVRGSUxURVIgaXMgbm90IHNldAorIyBDT05GSUdfSVBWNl9NUk9VVEUgaXMgbm90IHNldAorQ09ORklHX05FVExBQkVMPXkKK0NPTkZJR19ORVRXT1JLX1NFQ01BUks9eQorQ09ORklHX05FVEZJTFRFUj15CisjIENPTkZJR19ORVRGSUxURVJfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfTkVURklMVEVSX0FEVkFOQ0VEIGlzIG5vdCBzZXQKKworIworIyBDb3JlIE5ldGZpbHRlciBDb25maWd1cmF0aW9uCisjCitDT05GSUdfTkVURklMVEVSX05FVExJTks9eQorQ09ORklHX05FVEZJTFRFUl9ORVRMSU5LX0xPRz15CitDT05GSUdfTkZfQ09OTlRSQUNLPXkKK0NPTkZJR19ORl9DT05OVFJBQ0tfU0VDTUFSSz15CitDT05GSUdfTkZfQ09OTlRSQUNLX0ZUUD15CitDT05GSUdfTkZfQ09OTlRSQUNLX0lSQz15CitDT05GSUdfTkZfQ09OTlRSQUNLX1NJUD15CitDT05GSUdfTkZfQ1RfTkVUTElOSz15CitDT05GSUdfTkVURklMVEVSX1hUQUJMRVM9eQorQ09ORklHX05FVEZJTFRFUl9YVF9UQVJHRVRfTUFSSz15CitDT05GSUdfTkVURklMVEVSX1hUX1RBUkdFVF9ORkxPRz15CitDT05GSUdfTkVURklMVEVSX1hUX1RBUkdFVF9TRUNNQVJLPXkKK0NPTkZJR19ORVRGSUxURVJfWFRfVEFSR0VUX0NPTk5TRUNNQVJLPXkKK0NPTkZJR19ORVRGSUxURVJfWFRfVEFSR0VUX1RDUE1TUz15CitDT05GSUdfTkVURklMVEVSX1hUX01BVENIX0NPTk5UUkFDSz15CitDT05GSUdfTkVURklMVEVSX1hUX01BVENIX01BUks9eQorQ09ORklHX05FVEZJTFRFUl9YVF9NQVRDSF9QT0xJQ1k9eQorQ09ORklHX05FVEZJTFRFUl9YVF9NQVRDSF9TVEFURT15CisKKyMKKyMgSVA6IE5ldGZpbHRlciBDb25maWd1cmF0aW9uCisjCitDT05GSUdfTkZfQ09OTlRSQUNLX0lQVjQ9eQorQ09ORklHX05GX0NPTk5UUkFDS19QUk9DX0NPTVBBVD15CitDT05GSUdfSVBfTkZfSVBUQUJMRVM9eQorQ09ORklHX0lQX05GX0ZJTFRFUj15CitDT05GSUdfSVBfTkZfVEFSR0VUX1JFSkVDVD15CitDT05GSUdfSVBfTkZfVEFSR0VUX0xPRz15CitDT05GSUdfSVBfTkZfVEFSR0VUX1VMT0c9eQorQ09ORklHX05GX05BVD15CitDT05GSUdfTkZfTkFUX05FRURFRD15CitDT05GSUdfSVBfTkZfVEFSR0VUX01BU1FVRVJBREU9eQorQ09ORklHX05GX05BVF9GVFA9eQorQ09ORklHX05GX05BVF9JUkM9eQorIyBDT05GSUdfTkZfTkFUX1RGVFAgaXMgbm90IHNldAorIyBDT05GSUdfTkZfTkFUX0FNQU5EQSBpcyBub3Qgc2V0CisjIENPTkZJR19ORl9OQVRfUFBUUCBpcyBub3Qgc2V0CisjIENPTkZJR19ORl9OQVRfSDMyMyBpcyBub3Qgc2V0CitDT05GSUdfTkZfTkFUX1NJUD15CitDT05GSUdfSVBfTkZfTUFOR0xFPXkKKworIworIyBJUHY2OiBOZXRmaWx0ZXIgQ29uZmlndXJhdGlvbgorIworQ09ORklHX05GX0NPTk5UUkFDS19JUFY2PXkKK0NPTkZJR19JUDZfTkZfSVBUQUJMRVM9eQorQ09ORklHX0lQNl9ORl9NQVRDSF9JUFY2SEVBREVSPXkKK0NPTkZJR19JUDZfTkZfRklMVEVSPXkKK0NPTkZJR19JUDZfTkZfVEFSR0VUX0xPRz15CitDT05GSUdfSVA2X05GX1RBUkdFVF9SRUpFQ1Q9eQorQ09ORklHX0lQNl9ORl9NQU5HTEU9eQogIyBDT05GSUdfSVBfRENDUCBpcyBub3Qgc2V0CiAjIENPTkZJR19JUF9TQ1RQIGlzIG5vdCBzZXQKICMgQ09ORklHX1RJUEMgaXMgbm90IHNldApAQCAtNDA5LDYgKzYwMSw3IEBACiAjIENPTkZJR19CUklER0UgaXMgbm90IHNldAogIyBDT05GSUdfVkxBTl84MDIxUSBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUNORVQgaXMgbm90IHNldAorQ09ORklHX0xMQz15CiAjIENPTkZJR19MTEMyIGlzIG5vdCBzZXQKICMgQ09ORklHX0lQWCBpcyBub3Qgc2V0CiAjIENPTkZJR19BVEFMSyBpcyBub3Qgc2V0CkBAIC00MTYsMjggKzYwOSw5OSBAQAogIyBDT05GSUdfTEFQQiBpcyBub3Qgc2V0CiAjIENPTkZJR19FQ09ORVQgaXMgbm90IHNldAogIyBDT05GSUdfV0FOX1JPVVRFUiBpcyBub3Qgc2V0CitDT05GSUdfTkVUX1NDSEVEPXkKIAogIwotIyBRb1MgYW5kL29yIGZhaXIgcXVldWVpbmcKKyMgUXVldWVpbmcvU2NoZWR1bGluZwogIwotIyBDT05GSUdfTkVUX1NDSEVEIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9TQ0hfQ0JRIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9TQ0hfSFRCIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9TQ0hfSEZTQyBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfU0NIX1BSSU8gaXMgbm90IHNldAorIyBDT05GSUdfTkVUX1NDSF9SUiBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfU0NIX1JFRCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfU0NIX1NGUSBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfU0NIX1RFUUwgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX1NDSF9UQkYgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX1NDSF9HUkVEIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9TQ0hfRFNNQVJLIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9TQ0hfTkVURU0gaXMgbm90IHNldAorIyBDT05GSUdfTkVUX1NDSF9JTkdSRVNTIGlzIG5vdCBzZXQKKworIworIyBDbGFzc2lmaWNhdGlvbgorIworQ09ORklHX05FVF9DTFM9eQorIyBDT05GSUdfTkVUX0NMU19CQVNJQyBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfQ0xTX1RDSU5ERVggaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0NMU19ST1VURTQgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0NMU19GVyBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfQ0xTX1UzMiBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfQ0xTX1JTVlAgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0NMU19SU1ZQNiBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfQ0xTX0ZMT1cgaXMgbm90IHNldAorQ09ORklHX05FVF9FTUFUQ0g9eQorQ09ORklHX05FVF9FTUFUQ0hfU1RBQ0s9MzIKKyMgQ09ORklHX05FVF9FTUFUQ0hfQ01QIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9FTUFUQ0hfTkJZVEUgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0VNQVRDSF9VMzIgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0VNQVRDSF9NRVRBIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9FTUFUQ0hfVEVYVCBpcyBub3Qgc2V0CitDT05GSUdfTkVUX0NMU19BQ1Q9eQorIyBDT05GSUdfTkVUX0FDVF9QT0xJQ0UgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0FDVF9HQUNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9BQ1RfTUlSUkVEIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9BQ1RfSVBUIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9BQ1RfTkFUIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9BQ1RfUEVESVQgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0FDVF9TSU1QIGlzIG5vdCBzZXQKK0NPTkZJR19ORVRfU0NIX0ZJRk89eQogCiAjCiAjIE5ldHdvcmsgdGVzdGluZwogIwogIyBDT05GSUdfTkVUX1BLVEdFTiBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfVENQUFJPQkUgaXMgbm90IHNldAotIyBDT05GSUdfSEFNUkFESU8gaXMgbm90IHNldAorQ09ORklHX0hBTVJBRElPPXkKKworIworIyBQYWNrZXQgUmFkaW8gcHJvdG9jb2xzCisjCisjIENPTkZJR19BWDI1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19JUkRBIGlzIG5vdCBzZXQKICMgQ09ORklHX0JUIGlzIG5vdCBzZXQKICMgQ09ORklHX0FGX1JYUlBDIGlzIG5vdCBzZXQKK0NPTkZJR19GSUJfUlVMRVM9eQogCiAjCiAjIFdpcmVsZXNzCiAjCi0jIENPTkZJR19DRkc4MDIxMSBpcyBub3Qgc2V0Ci0jIENPTkZJR19XSVJFTEVTU19FWFQgaXMgbm90IHNldAotIyBDT05GSUdfTUFDODAyMTEgaXMgbm90IHNldAorQ09ORklHX0NGRzgwMjExPXkKK0NPTkZJR19OTDgwMjExPXkKK0NPTkZJR19XSVJFTEVTU19FWFQ9eQorQ09ORklHX01BQzgwMjExPXkKKworIworIyBSYXRlIGNvbnRyb2wgYWxnb3JpdGhtIHNlbGVjdGlvbgorIworQ09ORklHX01BQzgwMjExX1JDX0RFRkFVTFRfUElEPXkKKyMgQ09ORklHX01BQzgwMjExX1JDX0RFRkFVTFRfTk9ORSBpcyBub3Qgc2V0CisKKyMKKyMgU2VsZWN0aW5nICd5JyBmb3IgYW4gYWxnb3JpdGhtIHdpbGwKKyMKKworIworIyBidWlsZCB0aGUgYWxnb3JpdGhtIGludG8gbWFjODAyMTEuCisjCitDT05GSUdfTUFDODAyMTFfUkNfREVGQVVMVD0icGlkIgorQ09ORklHX01BQzgwMjExX1JDX1BJRD15CisjIENPTkZJR19NQUM4MDIxMV9NRVNIIGlzIG5vdCBzZXQKK0NPTkZJR19NQUM4MDIxMV9MRURTPXkKKyMgQ09ORklHX01BQzgwMjExX0RFQlVHRlMgaXMgbm90IHNldAorIyBDT05GSUdfTUFDODAyMTFfREVCVUdfUEFDS0VUX0FMSUdOTUVOVCBpcyBub3Qgc2V0CisjIENPTkZJR19NQUM4MDIxMV9ERUJVRyBpcyBub3Qgc2V0CiAjIENPTkZJR19JRUVFODAyMTEgaXMgbm90IHNldAogIyBDT05GSUdfUkZLSUxMIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF85UCBpcyBub3Qgc2V0CkBAIC00NDksMTMgKzcxMywxNSBAQAogIwogIyBHZW5lcmljIERyaXZlciBPcHRpb25zCiAjCitDT05GSUdfVUVWRU5UX0hFTFBFUl9QQVRIPSIvc2Jpbi9ob3RwbHVnIgogQ09ORklHX1NUQU5EQUxPTkU9eQogQ09ORklHX1BSRVZFTlRfRklSTVdBUkVfQlVJTEQ9eQogQ09ORklHX0ZXX0xPQURFUj15CiAjIENPTkZJR19ERUJVR19EUklWRVIgaXMgbm90IHNldAotIyBDT05GSUdfREVCVUdfREVWUkVTIGlzIG5vdCBzZXQKK0NPTkZJR19ERUJVR19ERVZSRVM9eQogIyBDT05GSUdfU1lTX0hZUEVSVklTT1IgaXMgbm90IHNldAotIyBDT05GSUdfQ09OTkVDVE9SIGlzIG5vdCBzZXQKK0NPTkZJR19DT05ORUNUT1I9eQorQ09ORklHX1BST0NfRVZFTlRTPXkKICMgQ09ORklHX01URCBpcyBub3Qgc2V0CiAjIENPTkZJR19QQVJQT1JUIGlzIG5vdCBzZXQKIENPTkZJR19QTlA9eQpAQCAtNDY2LDcgKzczMiw3IEBACiAjCiBDT05GSUdfUE5QQUNQST15CiBDT05GSUdfQkxLX0RFVj15Ci1DT05GSUdfQkxLX0RFVl9GRD15CisjIENPTkZJR19CTEtfREVWX0ZEIGlzIG5vdCBzZXQKICMgQ09ORklHX0JMS19DUFFfREEgaXMgbm90IHNldAogIyBDT05GSUdfQkxLX0NQUV9DSVNTX0RBIGlzIG5vdCBzZXQKICMgQ09ORklHX0JMS19ERVZfREFDOTYwIGlzIG5vdCBzZXQKQEAgLTQ3OSw4ICs3NDUsOCBAQAogIyBDT05GSUdfQkxLX0RFVl9VQiBpcyBub3Qgc2V0CiBDT05GSUdfQkxLX0RFVl9SQU09eQogQ09ORklHX0JMS19ERVZfUkFNX0NPVU5UPTE2Ci1DT05GSUdfQkxLX0RFVl9SQU1fU0laRT00MDk2Ci1DT05GSUdfQkxLX0RFVl9SQU1fQkxPQ0tTSVpFPTEwMjQKK0NPTkZJR19CTEtfREVWX1JBTV9TSVpFPTE2Mzg0CisjIENPTkZJR19CTEtfREVWX1hJUCBpcyBub3Qgc2V0CiAjIENPTkZJR19DRFJPTV9QS1RDRFZEIGlzIG5vdCBzZXQKICMgQ09ORklHX0FUQV9PVkVSX0VUSCBpcyBub3Qgc2V0CiBDT05GSUdfTUlTQ19ERVZJQ0VTPXkKQEAgLTQ4OSw3MyArNzU1LDE3IEBACiAjIENPTkZJR19FRVBST01fOTNDWDYgaXMgbm90IHNldAogIyBDT05GSUdfU0dJX0lPQzQgaXMgbm90IHNldAogIyBDT05GSUdfVElGTV9DT1JFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FDRVJfV01JIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FTVVNfTEFQVE9QIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZVSklUU1VfTEFQVE9QIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RDMTEwMF9XTUkgaXMgbm90IHNldAorIyBDT05GSUdfTVNJX0xBUFRPUCBpcyBub3Qgc2V0CiAjIENPTkZJR19TT05ZX0xBUFRPUCBpcyBub3Qgc2V0CiAjIENPTkZJR19USElOS1BBRF9BQ1BJIGlzIG5vdCBzZXQKLUNPTkZJR19JREU9eQotQ09ORklHX0JMS19ERVZfSURFPXkKLQotIwotIyBQbGVhc2Ugc2VlIERvY3VtZW50YXRpb24vaWRlLnR4dCBmb3IgaGVscC9pbmZvIG9uIElERSBkcml2ZXMKLSMKLSMgQ09ORklHX0JMS19ERVZfSURFX1NBVEEgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9IRF9JREUgaXMgbm90IHNldAotQ09ORklHX0JMS19ERVZfSURFRElTSz15Ci1DT05GSUdfSURFRElTS19NVUxUSV9NT0RFPXkKLUNPTkZJR19CTEtfREVWX0lERUNEPXkKLSMgQ09ORklHX0JMS19ERVZfSURFVEFQRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0lERUZMT1BQWSBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0lERVNDU0kgaXMgbm90IHNldAotQ09ORklHX0JMS19ERVZfSURFQUNQST15Ci0jIENPTkZJR19JREVfVEFTS19JT0NUTCBpcyBub3Qgc2V0Ci1DT05GSUdfSURFX1BST0NfRlM9eQotCi0jCi0jIElERSBjaGlwc2V0IHN1cHBvcnQvYnVnZml4ZXMKLSMKLUNPTkZJR19JREVfR0VORVJJQz15Ci0jIENPTkZJR19CTEtfREVWX0NNRDY0MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0lERVBOUCBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9JREVQQ0k9eQotIyBDT05GSUdfSURFUENJX1NIQVJFX0lSUSBpcyBub3Qgc2V0Ci1DT05GSUdfSURFUENJX1BDSUJVU19PUkRFUj15Ci0jIENPTkZJR19CTEtfREVWX09GRkJPQVJEIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfR0VORVJJQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX09QVEk2MjEgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9SWjEwMDAgaXMgbm90IHNldAotQ09ORklHX0JMS19ERVZfSURFRE1BX1BDST15Ci0jIENPTkZJR19CTEtfREVWX0lERURNQV9GT1JDRUQgaXMgbm90IHNldAotIyBDT05GSUdfSURFRE1BX09OTFlESVNLIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfQUVDNjJYWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0FMSTE1WDMgaXMgbm90IHNldAotQ09ORklHX0JMS19ERVZfQU1ENzRYWD15Ci0jIENPTkZJR19CTEtfREVWX0FUSUlYUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0NNRDY0WCBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX1RSSUZMRVggaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9DWTgyQzY5MyBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0NTNTUyMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0NTNTUzMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0NTNTUzNSBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0hQVDM0WCBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0hQVDM2NiBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0pNSUNST04gaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9TQzEyMDAgaXMgbm90IHNldAotQ09ORklHX0JMS19ERVZfUElJWD15Ci0jIENPTkZJR19CTEtfREVWX0lUODIxMyBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0lUODIxWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX05TODc0MTUgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9QREMyMDJYWF9PTEQgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9QREMyMDJYWF9ORVcgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9TVldLUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX1NJSU1BR0UgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9TSVM1NTEzIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfU0xDOTBFNjYgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9UUk0yOTAgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9WSUE4MkNYWFggaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9UQzg2QzAwMSBpcyBub3Qgc2V0Ci0jIENPTkZJR19JREVfQVJNIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX0lERURNQT15Ci0jIENPTkZJR19JREVETUFfSVZCIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfSEQgaXMgbm90IHNldAorIyBDT05GSUdfSU5URUxfTUVOTE9XIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VOQ0xPU1VSRV9TRVJWSUNFUyBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9JREU9eQorIyBDT05GSUdfSURFIGlzIG5vdCBzZXQKIAogIwogIyBTQ1NJIGRldmljZSBzdXBwb3J0CkBAIC01NjQsOCArNzc0LDggQEAKIENPTkZJR19TQ1NJPXkKIENPTkZJR19TQ1NJX0RNQT15CiAjIENPTkZJR19TQ1NJX1RHVCBpcyBub3Qgc2V0Ci1DT05GSUdfU0NTSV9ORVRMSU5LPXkKLSMgQ09ORklHX1NDU0lfUFJPQ19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX05FVExJTksgaXMgbm90IHNldAorQ09ORklHX1NDU0lfUFJPQ19GUz15CiAKICMKICMgU0NTSSBzdXBwb3J0IHR5cGUgKGRpc2ssIHRhcGUsIENELVJPTSkKQEAgLTU3NCw3ICs3ODQsNyBAQAogIyBDT05GSUdfQ0hSX0RFVl9TVCBpcyBub3Qgc2V0CiAjIENPTkZJR19DSFJfREVWX09TU1QgaXMgbm90IHNldAogQ09ORklHX0JMS19ERVZfU1I9eQotIyBDT05GSUdfQkxLX0RFVl9TUl9WRU5ET1IgaXMgbm90IHNldAorQ09ORklHX0JMS19ERVZfU1JfVkVORE9SPXkKIENPTkZJR19DSFJfREVWX1NHPXkKICMgQ09ORklHX0NIUl9ERVZfU0NIIGlzIG5vdCBzZXQKIApAQCAtNTgyLDcgKzc5Miw3IEBACiAjIFNvbWUgU0NTSSBkZXZpY2VzIChlLmcuIENEIGp1a2Vib3gpIHN1cHBvcnQgbXVsdGlwbGUgTFVOcwogIwogIyBDT05GSUdfU0NTSV9NVUxUSV9MVU4gaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9DT05TVEFOVFMgaXMgbm90IHNldAorQ09ORklHX1NDU0lfQ09OU1RBTlRTPXkKICMgQ09ORklHX1NDU0lfTE9HR0lORyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1NDQU5fQVNZTkMgaXMgbm90IHNldAogQ09ORklHX1NDU0lfV0FJVF9TQ0FOPW0KQEAgLTU5MSw4MSArODAxLDM3IEBACiAjIFNDU0kgVHJhbnNwb3J0cwogIwogQ09ORklHX1NDU0lfU1BJX0FUVFJTPXkKLUNPTkZJR19TQ1NJX0ZDX0FUVFJTPXkKKyMgQ09ORklHX1NDU0lfRkNfQVRUUlMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9JU0NTSV9BVFRSUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1NBU19BVFRSUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1NBU19MSUJTQVMgaXMgbm90IHNldAotCi0jCi0jIFNDU0kgbG93LWxldmVsIGRyaXZlcnMKLSMKLSMgQ09ORklHX0lTQ1NJX1RDUCBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl8zV19YWFhYX1JBSUQ9eQotIyBDT05GSUdfU0NTSV8zV185WFhYIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfQUNBUkQgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9BQUNSQUlEIGlzIG5vdCBzZXQKLUNPTkZJR19TQ1NJX0FJQzdYWFg9eQotQ09ORklHX0FJQzdYWFhfQ01EU19QRVJfREVWSUNFPTMyCi1DT05GSUdfQUlDN1hYWF9SRVNFVF9ERUxBWV9NUz01MDAwCi1DT05GSUdfQUlDN1hYWF9ERUJVR19FTkFCTEU9eQotQ09ORklHX0FJQzdYWFhfREVCVUdfTUFTSz0wCi1DT05GSUdfQUlDN1hYWF9SRUdfUFJFVFRZX1BSSU5UPXkKLSMgQ09ORklHX1NDU0lfQUlDN1hYWF9PTEQgaXMgbm90IHNldAotQ09ORklHX1NDU0lfQUlDNzlYWD15Ci1DT05GSUdfQUlDNzlYWF9DTURTX1BFUl9ERVZJQ0U9MzIKLUNPTkZJR19BSUM3OVhYX1JFU0VUX0RFTEFZX01TPTQwMDAKLSMgQ09ORklHX0FJQzc5WFhfREVCVUdfRU5BQkxFIGlzIG5vdCBzZXQKLUNPTkZJR19BSUM3OVhYX0RFQlVHX01BU0s9MAotIyBDT05GSUdfQUlDNzlYWF9SRUdfUFJFVFRZX1BSSU5UIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfQUlDOTRYWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0RQVF9JMk8gaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9BRFZBTlNZUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0FSQ01TUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19NRUdBUkFJRF9ORVdHRU4gaXMgbm90IHNldAotIyBDT05GSUdfTUVHQVJBSURfTEVHQUNZIGlzIG5vdCBzZXQKLSMgQ09ORklHX01FR0FSQUlEX1NBUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0hQVElPUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0JVU0xPR0lDIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfRE1YMzE5MUQgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9FQVRBIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfRlVUVVJFX0RPTUFJTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0dEVEggaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9JUFMgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9JTklUSU8gaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9JTklBMTAwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfU1RFWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX1NZTTUzQzhYWF8yIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfSVBSIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfUUxPR0lDXzEyODAgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9RTEFfRkMgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9RTEFfSVNDU0kgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9MUEZDIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfREMzOTV4IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfREMzOTBUIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfTlNQMzIgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9ERUJVRyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX1NSUCBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX1NSUF9BVFRSUyBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX0xPV0xFVkVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfTE9XTEVWRUxfUENNQ0lBIGlzIG5vdCBzZXQKIENPTkZJR19BVEE9eQogIyBDT05GSUdfQVRBX05PTlNUQU5EQVJEIGlzIG5vdCBzZXQKIENPTkZJR19BVEFfQUNQST15CitDT05GSUdfU0FUQV9QTVA9eQogQ09ORklHX1NBVEFfQUhDST15Ci1DT05GSUdfU0FUQV9TVlc9eQorIyBDT05GSUdfU0FUQV9TSUwyNCBpcyBub3Qgc2V0CitDT05GSUdfQVRBX1NGRj15CisjIENPTkZJR19TQVRBX1NWVyBpcyBub3Qgc2V0CiBDT05GSUdfQVRBX1BJSVg9eQogIyBDT05GSUdfU0FUQV9NViBpcyBub3Qgc2V0Ci1DT05GSUdfU0FUQV9OVj15CisjIENPTkZJR19TQVRBX05WIGlzIG5vdCBzZXQKICMgQ09ORklHX1BEQ19BRE1BIGlzIG5vdCBzZXQKICMgQ09ORklHX1NBVEFfUVNUT1IgaXMgbm90IHNldAogIyBDT05GSUdfU0FUQV9QUk9NSVNFIGlzIG5vdCBzZXQKICMgQ09ORklHX1NBVEFfU1g0IGlzIG5vdCBzZXQKLUNPTkZJR19TQVRBX1NJTD15Ci0jIENPTkZJR19TQVRBX1NJTDI0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBVEFfU0lMIGlzIG5vdCBzZXQKICMgQ09ORklHX1NBVEFfU0lTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NBVEFfVUxJIGlzIG5vdCBzZXQKLUNPTkZJR19TQVRBX1ZJQT15CisjIENPTkZJR19TQVRBX1ZJQSBpcyBub3Qgc2V0CiAjIENPTkZJR19TQVRBX1ZJVEVTU0UgaXMgbm90IHNldAogIyBDT05GSUdfU0FUQV9JTklDMTYyWCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0FDUEkgaXMgbm90IHNldAogIyBDT05GSUdfUEFUQV9BTEkgaXMgbm90IHNldAotIyBDT05GSUdfUEFUQV9BTUQgaXMgbm90IHNldAorQ09ORklHX1BBVEFfQU1EPXkKICMgQ09ORklHX1BBVEFfQVJUT1AgaXMgbm90IHNldAogIyBDT05GSUdfUEFUQV9BVElJWFAgaXMgbm90IHNldAogIyBDT05GSUdfUEFUQV9DTUQ2NDBfUENJIGlzIG5vdCBzZXQKQEAgLTY3Myw2ICs4MzksNyBAQAogIyBDT05GSUdfUEFUQV9DUzU1MjAgaXMgbm90IHNldAogIyBDT05GSUdfUEFUQV9DUzU1MzAgaXMgbm90IHNldAogIyBDT05GSUdfUEFUQV9DUzU1MzUgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9DUzU1MzYgaXMgbm90IHNldAogIyBDT05GSUdfUEFUQV9DWVBSRVNTIGlzIG5vdCBzZXQKICMgQ09ORklHX1BBVEFfRUZBUiBpcyBub3Qgc2V0CiAjIENPTkZJR19BVEFfR0VORVJJQyBpcyBub3Qgc2V0CkBAIC02ODYsMTEgKzg1MywxNCBAQAogIyBDT05GSUdfUEFUQV9UUklGTEVYIGlzIG5vdCBzZXQKICMgQ09ORklHX1BBVEFfTUFSVkVMTCBpcyBub3Qgc2V0CiAjIENPTkZJR19QQVRBX01QSUlYIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BBVEFfT0xEUElJWCBpcyBub3Qgc2V0CitDT05GSUdfUEFUQV9PTERQSUlYPXkKICMgQ09ORklHX1BBVEFfTkVUQ0VMTCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX05JTkpBMzIgaXMgbm90IHNldAogIyBDT05GSUdfUEFUQV9OUzg3NDEwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfTlM4NzQxNSBpcyBub3Qgc2V0CiAjIENPTkZJR19QQVRBX09QVEkgaXMgbm90IHNldAogIyBDT05GSUdfUEFUQV9PUFRJRE1BIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfUENNQ0lBIGlzIG5vdCBzZXQKICMgQ09ORklHX1BBVEFfUERDX09MRCBpcyBub3Qgc2V0CiAjIENPTkZJR19QQVRBX1JBRElTWVMgaXMgbm90IHNldAogIyBDT05GSUdfUEFUQV9SWjEwMDAgaXMgbm90IHNldApAQCAtNzAyLDY1ICs4NzIsNDIgQEAKICMgQ09ORklHX1BBVEFfVklBIGlzIG5vdCBzZXQKICMgQ09ORklHX1BBVEFfV0lOQk9ORCBpcyBub3Qgc2V0CiBDT05GSUdfTUQ9eQotIyBDT05GSUdfQkxLX0RFVl9NRCBpcyBub3Qgc2V0CitDT05GSUdfQkxLX0RFVl9NRD15CisjIENPTkZJR19NRF9MSU5FQVIgaXMgbm90IHNldAorIyBDT05GSUdfTURfUkFJRDAgaXMgbm90IHNldAorIyBDT05GSUdfTURfUkFJRDEgaXMgbm90IHNldAorIyBDT05GSUdfTURfUkFJRDEwIGlzIG5vdCBzZXQKKyMgQ09ORklHX01EX1JBSUQ0NTYgaXMgbm90IHNldAorIyBDT05GSUdfTURfTVVMVElQQVRIIGlzIG5vdCBzZXQKKyMgQ09ORklHX01EX0ZBVUxUWSBpcyBub3Qgc2V0CiBDT05GSUdfQkxLX0RFVl9ETT15CiAjIENPTkZJR19ETV9ERUJVRyBpcyBub3Qgc2V0CiAjIENPTkZJR19ETV9DUllQVCBpcyBub3Qgc2V0CiAjIENPTkZJR19ETV9TTkFQU0hPVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ETV9NSVJST1IgaXMgbm90IHNldAotIyBDT05GSUdfRE1fWkVSTyBpcyBub3Qgc2V0CitDT05GSUdfRE1fTUlSUk9SPXkKK0NPTkZJR19ETV9aRVJPPXkKICMgQ09ORklHX0RNX01VTFRJUEFUSCBpcyBub3Qgc2V0CiAjIENPTkZJR19ETV9ERUxBWSBpcyBub3Qgc2V0Ci0KLSMKLSMgRnVzaW9uIE1QVCBkZXZpY2Ugc3VwcG9ydAotIwotQ09ORklHX0ZVU0lPTj15Ci1DT05GSUdfRlVTSU9OX1NQST15Ci0jIENPTkZJR19GVVNJT05fRkMgaXMgbm90IHNldAotIyBDT05GSUdfRlVTSU9OX1NBUyBpcyBub3Qgc2V0Ci1DT05GSUdfRlVTSU9OX01BWF9TR0U9MTI4Ci0jIENPTkZJR19GVVNJT05fQ1RMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RNX1VFVkVOVCBpcyBub3Qgc2V0CisjIENPTkZJR19GVVNJT04gaXMgbm90IHNldAogCiAjCiAjIElFRUUgMTM5NCAoRmlyZVdpcmUpIHN1cHBvcnQKICMKICMgQ09ORklHX0ZJUkVXSVJFIGlzIG5vdCBzZXQKLUNPTkZJR19JRUVFMTM5ND15Ci0KLSMKLSMgU3Vic3lzdGVtIE9wdGlvbnMKLSMKLSMgQ09ORklHX0lFRUUxMzk0X1ZFUkJPU0VERUJVRyBpcyBub3Qgc2V0Ci0KLSMKLSMgQ29udHJvbGxlcnMKLSMKLQotIwotIyBUZXhhcyBJbnN0cnVtZW50cyBQQ0lMeW54IHJlcXVpcmVzIEkyQwotIwotQ09ORklHX0lFRUUxMzk0X09IQ0kxMzk0PXkKLQotIwotIyBQcm90b2NvbHMKLSMKLSMgQ09ORklHX0lFRUUxMzk0X1ZJREVPMTM5NCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JRUVFMTM5NF9TQlAyIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lFRUUxMzk0X0VUSDEzOTRfUk9NX0VOVFJZIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lFRUUxMzk0X0VUSDEzOTQgaXMgbm90IHNldAotIyBDT05GSUdfSUVFRTEzOTRfRFYxMzk0IGlzIG5vdCBzZXQKLUNPTkZJR19JRUVFMTM5NF9SQVdJTz15CisjIENPTkZJR19JRUVFMTM5NCBpcyBub3Qgc2V0CiAjIENPTkZJR19JMk8gaXMgbm90IHNldAogQ09ORklHX01BQ0lOVE9TSF9EUklWRVJTPXkKLSMgQ09ORklHX01BQ19FTVVNT1VTRUJUTiBpcyBub3Qgc2V0CitDT05GSUdfTUFDX0VNVU1PVVNFQlROPXkKIENPTkZJR19ORVRERVZJQ0VTPXkKLUNPTkZJR19ORVRERVZJQ0VTX01VTFRJUVVFVUU9eQorIyBDT05GSUdfTkVUREVWSUNFU19NVUxUSVFVRVVFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lGQiBpcyBub3Qgc2V0CiAjIENPTkZJR19EVU1NWSBpcyBub3Qgc2V0CiAjIENPTkZJR19CT05ESU5HIGlzIG5vdCBzZXQKICMgQ09ORklHX01BQ1ZMQU4gaXMgbm90IHNldAogIyBDT05GSUdfRVFVQUxJWkVSIGlzIG5vdCBzZXQKICMgQ09ORklHX1RVTiBpcyBub3Qgc2V0CisjIENPTkZJR19WRVRIIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9TQjEwMDAgaXMgbm90IHNldAogIyBDT05GSUdfQVJDTkVUIGlzIG5vdCBzZXQKICMgQ09ORklHX1BIWUxJQiBpcyBub3Qgc2V0CkBAIC03NzAsMzggKzkxNyw0MCBAQAogIyBDT05GSUdfU1VOR0VNIGlzIG5vdCBzZXQKICMgQ09ORklHX0NBU1NJTkkgaXMgbm90IHNldAogQ09ORklHX05FVF9WRU5ET1JfM0NPTT15Ci1DT05GSUdfVk9SVEVYPXkKKyMgQ09ORklHX1ZPUlRFWCBpcyBub3Qgc2V0CiAjIENPTkZJR19UWVBIT09OIGlzIG5vdCBzZXQKIENPTkZJR19ORVRfVFVMSVA9eQogIyBDT05GSUdfREUyMTA0WCBpcyBub3Qgc2V0Ci1DT05GSUdfVFVMSVA9eQotIyBDT05GSUdfVFVMSVBfTVdJIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RVTElQX01NSU8gaXMgbm90IHNldAotIyBDT05GSUdfVFVMSVBfTkFQSSBpcyBub3Qgc2V0CisjIENPTkZJR19UVUxJUCBpcyBub3Qgc2V0CiAjIENPTkZJR19ERTRYNSBpcyBub3Qgc2V0CiAjIENPTkZJR19XSU5CT05EXzg0MCBpcyBub3Qgc2V0CiAjIENPTkZJR19ETTkxMDIgaXMgbm90IHNldAogIyBDT05GSUdfVUxJNTI2WCBpcyBub3Qgc2V0CisjIENPTkZJR19QQ01DSUFfWElSQ09NIGlzIG5vdCBzZXQKICMgQ09ORklHX0hQMTAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19aTUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19SR01JSSBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfVEFIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19FTUFDNCBpcyBub3Qgc2V0CiBDT05GSUdfTkVUX1BDST15CiAjIENPTkZJR19QQ05FVDMyIGlzIG5vdCBzZXQKICMgQ09ORklHX0FNRDgxMTFfRVRIIGlzIG5vdCBzZXQKICMgQ09ORklHX0FEQVBURUNfU1RBUkZJUkUgaXMgbm90IHNldAotQ09ORklHX0I0ND15CisjIENPTkZJR19CNDQgaXMgbm90IHNldAogQ09ORklHX0ZPUkNFREVUSD15CiAjIENPTkZJR19GT1JDRURFVEhfTkFQSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19ER1JTIGlzIG5vdCBzZXQKICMgQ09ORklHX0VFUFJPMTAwIGlzIG5vdCBzZXQKIENPTkZJR19FMTAwPXkKICMgQ09ORklHX0ZFQUxOWCBpcyBub3Qgc2V0CiAjIENPTkZJR19OQVRTRU1JIGlzIG5vdCBzZXQKICMgQ09ORklHX05FMktfUENJIGlzIG5vdCBzZXQKLUNPTkZJR184MTM5Q1A9eQorIyBDT05GSUdfODEzOUNQIGlzIG5vdCBzZXQKIENPTkZJR184MTM5VE9PPXkKLSMgQ09ORklHXzgxMzlUT09fUElPIGlzIG5vdCBzZXQKK0NPTkZJR184MTM5VE9PX1BJTz15CiAjIENPTkZJR184MTM5VE9PX1RVTkVfVFdJU1RFUiBpcyBub3Qgc2V0CiAjIENPTkZJR184MTM5VE9PXzgxMjkgaXMgbm90IHNldAogIyBDT05GSUdfODEzOV9PTERfUlhfUkVTRVQgaXMgbm90IHNldAorIyBDT05GSUdfUjYwNDAgaXMgbm90IHNldAogIyBDT05GSUdfU0lTOTAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0VQSUMxMDAgaXMgbm90IHNldAogIyBDT05GSUdfU1VOREFOQ0UgaXMgbm90IHNldApAQCAtODE0LDM0ICs5NjMsNzUgQEAKIENPTkZJR19FMTAwMD15CiAjIENPTkZJR19FMTAwMF9OQVBJIGlzIG5vdCBzZXQKICMgQ09ORklHX0UxMDAwX0RJU0FCTEVfUEFDS0VUX1NQTElUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0UxMDAwRSBpcyBub3Qgc2V0CisjIENPTkZJR19FMTAwMEVfRU5BQkxFRCBpcyBub3Qgc2V0CisjIENPTkZJR19JUDEwMDAgaXMgbm90IHNldAorIyBDT05GSUdfSUdCIGlzIG5vdCBzZXQKICMgQ09ORklHX05TODM4MjAgaXMgbm90IHNldAogIyBDT05GSUdfSEFNQUNISSBpcyBub3Qgc2V0CiAjIENPTkZJR19ZRUxMT1dGSU4gaXMgbm90IHNldAotQ09ORklHX1I4MTY5PXkKLSMgQ09ORklHX1I4MTY5X05BUEkgaXMgbm90IHNldAorIyBDT05GSUdfUjgxNjkgaXMgbm90IHNldAogIyBDT05GSUdfU0lTMTkwIGlzIG5vdCBzZXQKICMgQ09ORklHX1NLR0UgaXMgbm90IHNldAogQ09ORklHX1NLWTI9eQorIyBDT05GSUdfU0tZMl9ERUJVRyBpcyBub3Qgc2V0CiAjIENPTkZJR19WSUFfVkVMT0NJVFkgaXMgbm90IHNldAogQ09ORklHX1RJR09OMz15Ci1DT05GSUdfQk5YMj15CisjIENPTkZJR19CTlgyIGlzIG5vdCBzZXQKICMgQ09ORklHX1FMQTNYWFggaXMgbm90IHNldAogIyBDT05GSUdfQVRMMSBpcyBub3Qgc2V0CiBDT05GSUdfTkVUREVWXzEwMDAwPXkKICMgQ09ORklHX0NIRUxTSU9fVDEgaXMgbm90IHNldAogIyBDT05GSUdfQ0hFTFNJT19UMyBpcyBub3Qgc2V0CisjIENPTkZJR19JWEdCRSBpcyBub3Qgc2V0CiAjIENPTkZJR19JWEdCIGlzIG5vdCBzZXQKICMgQ09ORklHX1MySU8gaXMgbm90IHNldAogIyBDT05GSUdfTVlSSTEwR0UgaXMgbm90IHNldAogIyBDT05GSUdfTkVUWEVOX05JQyBpcyBub3Qgc2V0CisjIENPTkZJR19OSVUgaXMgbm90IHNldAogIyBDT05GSUdfTUxYNF9DT1JFIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RSIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RFSFVUSSBpcyBub3Qgc2V0CisjIENPTkZJR19CTlgyWCBpcyBub3Qgc2V0CisjIENPTkZJR19TRkMgaXMgbm90IHNldAorQ09ORklHX1RSPXkKKyMgQ09ORklHX0lCTU9MIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTUxTIGlzIG5vdCBzZXQKKyMgQ09ORklHXzNDMzU5IGlzIG5vdCBzZXQKKyMgQ09ORklHX1RNUzM4MFRSIGlzIG5vdCBzZXQKIAogIwogIyBXaXJlbGVzcyBMQU4KICMKICMgQ09ORklHX1dMQU5fUFJFODAyMTEgaXMgbm90IHNldAotIyBDT05GSUdfV0xBTl84MDIxMSBpcyBub3Qgc2V0CitDT05GSUdfV0xBTl84MDIxMT15CisjIENPTkZJR19QQ01DSUFfUkFZQ1MgaXMgbm90IHNldAorIyBDT05GSUdfSVBXMjEwMCBpcyBub3Qgc2V0CisjIENPTkZJR19JUFcyMjAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xJQkVSVEFTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FJUk8gaXMgbm90IHNldAorIyBDT05GSUdfSEVSTUVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUTUVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FJUk9fQ1MgaXMgbm90IHNldAorIyBDT05GSUdfUENNQ0lBX1dMMzUwMSBpcyBub3Qgc2V0CisjIENPTkZJR19QUklTTTU0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9aRDEyMDEgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX05FVF9STkRJU19XTEFOIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUTDgxODAgaXMgbm90IHNldAorIyBDT05GSUdfUlRMODE4NyBpcyBub3Qgc2V0CisjIENPTkZJR19BRE04MjExIGlzIG5vdCBzZXQKKyMgQ09ORklHX1A1NF9DT01NT04gaXMgbm90IHNldAorQ09ORklHX0FUSDVLPXkKKyMgQ09ORklHX0FUSDVLX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lXTFdJRkkgaXMgbm90IHNldAorIyBDT05GSUdfSVdMQ09SRSBpcyBub3Qgc2V0CisjIENPTkZJR19JV0xXSUZJX0xFRFMgaXMgbm90IHNldAorIyBDT05GSUdfSVdMNDk2NSBpcyBub3Qgc2V0CisjIENPTkZJR19JV0wzOTQ1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0hPU1RBUCBpcyBub3Qgc2V0CisjIENPTkZJR19CNDMgaXMgbm90IHNldAorIyBDT05GSUdfQjQzTEVHQUNZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1pEMTIxMVJXIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUMlgwMCBpcyBub3Qgc2V0CiAKICMKICMgVVNCIE5ldHdvcmsgQWRhcHRlcnMKQEAgLTg1MCwxNiArMTA0MCwyNyBAQAogIyBDT05GSUdfVVNCX0tBV0VUSCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfUEVHQVNVUyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfUlRMODE1MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfVVNCTkVUX01JSSBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfVVNCTkVUIGlzIG5vdCBzZXQKK0NPTkZJR19ORVRfUENNQ0lBPXkKKyMgQ09ORklHX1BDTUNJQV8zQzU4OSBpcyBub3Qgc2V0CisjIENPTkZJR19QQ01DSUFfM0M1NzQgaXMgbm90IHNldAorIyBDT05GSUdfUENNQ0lBX0ZNVkoxOFggaXMgbm90IHNldAorIyBDT05GSUdfUENNQ0lBX1BDTkVUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDTUNJQV9OTUNMQU4gaXMgbm90IHNldAorIyBDT05GSUdfUENNQ0lBX1NNQzkxQzkyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDTUNJQV9YSVJDMlBTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDTUNJQV9BWE5FVCBpcyBub3Qgc2V0CisjIENPTkZJR19QQ01DSUFfSUJNVFIgaXMgbm90IHNldAogIyBDT05GSUdfV0FOIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZEREkgaXMgbm90IHNldAorQ09ORklHX0ZEREk9eQorIyBDT05GSUdfREVGWFggaXMgbm90IHNldAorIyBDT05GSUdfU0tGUCBpcyBub3Qgc2V0CiAjIENPTkZJR19ISVBQSSBpcyBub3Qgc2V0CiAjIENPTkZJR19QUFAgaXMgbm90IHNldAogIyBDT05GSUdfU0xJUCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfRkMgaXMgbm90IHNldAotIyBDT05GSUdfU0hBUEVSIGlzIG5vdCBzZXQKIENPTkZJR19ORVRDT05TT0xFPXkKKyMgQ09ORklHX05FVENPTlNPTEVfRFlOQU1JQyBpcyBub3Qgc2V0CiBDT05GSUdfTkVUUE9MTD15CiAjIENPTkZJR19ORVRQT0xMX1RSQVAgaXMgbm90IHNldAogQ09ORklHX05FVF9QT0xMX0NPTlRST0xMRVI9eQpAQCAtODcwLDE4ICsxMDcxLDE3IEBACiAjIElucHV0IGRldmljZSBzdXBwb3J0CiAjCiBDT05GSUdfSU5QVVQ9eQotIyBDT05GSUdfSU5QVVRfRkZfTUVNTEVTUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTlBVVF9QT0xMREVWIGlzIG5vdCBzZXQKK0NPTkZJR19JTlBVVF9GRl9NRU1MRVNTPXkKK0NPTkZJR19JTlBVVF9QT0xMREVWPXkKIAogIwogIyBVc2VybGFuZCBpbnRlcmZhY2VzCiAjCiBDT05GSUdfSU5QVVRfTU9VU0VERVY9eQotQ09ORklHX0lOUFVUX01PVVNFREVWX1BTQVVYPXkKKyMgQ09ORklHX0lOUFVUX01PVVNFREVWX1BTQVVYIGlzIG5vdCBzZXQKIENPTkZJR19JTlBVVF9NT1VTRURFVl9TQ1JFRU5fWD0xMDI0CiBDT05GSUdfSU5QVVRfTU9VU0VERVZfU0NSRUVOX1k9NzY4CiAjIENPTkZJR19JTlBVVF9KT1lERVYgaXMgbm90IHNldAotIyBDT05GSUdfSU5QVVRfVFNERVYgaXMgbm90IHNldAogQ09ORklHX0lOUFVUX0VWREVWPXkKICMgQ09ORklHX0lOUFVUX0VWQlVHIGlzIG5vdCBzZXQKIApAQCAtOTA2LDE3ICsxMTA2LDYzIEBACiAjIENPTkZJR19NT1VTRV9TRVJJQUwgaXMgbm90IHNldAogIyBDT05GSUdfTU9VU0VfQVBQTEVUT1VDSCBpcyBub3Qgc2V0CiAjIENPTkZJR19NT1VTRV9WU1hYWEFBIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lOUFVUX0pPWVNUSUNLIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lOUFVUX1RBQkxFVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTlBVVF9UT1VDSFNDUkVFTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTlBVVF9NSVNDIGlzIG5vdCBzZXQKK0NPTkZJR19JTlBVVF9KT1lTVElDSz15CisjIENPTkZJR19KT1lTVElDS19BTkFMT0cgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfQTNEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX0FESSBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19DT0JSQSBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19HRjJLIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX0dSSVAgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfR1JJUF9NUCBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19HVUlMTEVNT1QgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfSU5URVJBQ1QgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfU0lERVdJTkRFUiBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19UTURDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX0lGT1JDRSBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19XQVJSSU9SIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX01BR0VMTEFOIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX1NQQUNFT1JCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX1NQQUNFQkFMTCBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19TVElOR0VSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX1RXSURKT1kgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfWkhFTkhVQSBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19KT1lEVU1QIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX1hQQUQgaXMgbm90IHNldAorQ09ORklHX0lOUFVUX1RBQkxFVD15CisjIENPTkZJR19UQUJMRVRfVVNCX0FDRUNBRCBpcyBub3Qgc2V0CisjIENPTkZJR19UQUJMRVRfVVNCX0FJUFRFSyBpcyBub3Qgc2V0CisjIENPTkZJR19UQUJMRVRfVVNCX0dUQ08gaXMgbm90IHNldAorIyBDT05GSUdfVEFCTEVUX1VTQl9LQlRBQiBpcyBub3Qgc2V0CisjIENPTkZJR19UQUJMRVRfVVNCX1dBQ09NIGlzIG5vdCBzZXQKK0NPTkZJR19JTlBVVF9UT1VDSFNDUkVFTj15CisjIENPTkZJR19UT1VDSFNDUkVFTl9GVUpJVFNVIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RPVUNIU0NSRUVOX0dVTlpFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RPVUNIU0NSRUVOX0VMTyBpcyBub3Qgc2V0CisjIENPTkZJR19UT1VDSFNDUkVFTl9NVE9VQ0ggaXMgbm90IHNldAorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fTUs3MTIgaXMgbm90IHNldAorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fUEVOTU9VTlQgaXMgbm90IHNldAorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVE9VQ0hSSUdIVCBpcyBub3Qgc2V0CisjIENPTkZJR19UT1VDSFNDUkVFTl9UT1VDSFdJTiBpcyBub3Qgc2V0CisjIENPTkZJR19UT1VDSFNDUkVFTl9VQ0IxNDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RPVUNIU0NSRUVOX1VTQl9DT01QT1NJVEUgaXMgbm90IHNldAorQ09ORklHX0lOUFVUX01JU0M9eQorIyBDT05GSUdfSU5QVVRfUENTUEtSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX0FQQU5FTCBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9XSVNUUk9OX0JUTlMgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfQVRMQVNfQlROUyBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9BVElfUkVNT1RFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX0FUSV9SRU1PVEUyIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX0tFWVNQQU5fUkVNT1RFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX1BPV0VSTUFURSBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9ZRUFMSU5LIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX1VJTlBVVCBpcyBub3Qgc2V0CiAKICMKICMgSGFyZHdhcmUgSS9PIHBvcnRzCiAjCiBDT05GSUdfU0VSSU89eQogQ09ORklHX1NFUklPX0k4MDQyPXkKLSMgQ09ORklHX1NFUklPX1NFUlBPUlQgaXMgbm90IHNldAorQ09ORklHX1NFUklPX1NFUlBPUlQ9eQogIyBDT05GSUdfU0VSSU9fQ1Q4MkM3MTAgaXMgbm90IHNldAogIyBDT05GSUdfU0VSSU9fUENJUFMyIGlzIG5vdCBzZXQKIENPTkZJR19TRVJJT19MSUJQUzI9eQpAQCAtOTI5LDggKzExNzUsMjYgQEAKIENPTkZJR19WVD15CiBDT05GSUdfVlRfQ09OU09MRT15CiBDT05GSUdfSFdfQ09OU09MRT15Ci0jIENPTkZJR19WVF9IV19DT05TT0xFX0JJTkRJTkcgaXMgbm90IHNldAotIyBDT05GSUdfU0VSSUFMX05PTlNUQU5EQVJEIGlzIG5vdCBzZXQKK0NPTkZJR19WVF9IV19DT05TT0xFX0JJTkRJTkc9eQorQ09ORklHX0RFVktNRU09eQorQ09ORklHX1NFUklBTF9OT05TVEFOREFSRD15CisjIENPTkZJR19DT01QVVRPTkUgaXMgbm90IHNldAorIyBDT05GSUdfUk9DS0VUUE9SVCBpcyBub3Qgc2V0CisjIENPTkZJR19DWUNMQURFUyBpcyBub3Qgc2V0CisjIENPTkZJR19ESUdJRVBDQSBpcyBub3Qgc2V0CisjIENPTkZJR19NT1hBX0lOVEVMTElPIGlzIG5vdCBzZXQKKyMgQ09ORklHX01PWEFfU01BUlRJTyBpcyBub3Qgc2V0CisjIENPTkZJR19JU0kgaXMgbm90IHNldAorIyBDT05GSUdfU1lOQ0xJTksgaXMgbm90IHNldAorIyBDT05GSUdfU1lOQ0xJTktNUCBpcyBub3Qgc2V0CisjIENPTkZJR19TWU5DTElOS19HVCBpcyBub3Qgc2V0CisjIENPTkZJR19OX0hETEMgaXMgbm90IHNldAorIyBDT05GSUdfUklTQ09NOCBpcyBub3Qgc2V0CisjIENPTkZJR19TUEVDSUFMSVggaXMgbm90IHNldAorIyBDT05GSUdfU1ggaXMgbm90IHNldAorIyBDT05GSUdfUklPIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NUQUxEUlYgaXMgbm90IHNldAorIyBDT05GSUdfTk9aT01JIGlzIG5vdCBzZXQKIAogIwogIyBTZXJpYWwgZHJpdmVycwpAQCAtOTQwLDkgKzEyMDQsMTQgQEAKIENPTkZJR19GSVhfRUFSTFlDT05fTUVNPXkKIENPTkZJR19TRVJJQUxfODI1MF9QQ0k9eQogQ09ORklHX1NFUklBTF84MjUwX1BOUD15Ci1DT05GSUdfU0VSSUFMXzgyNTBfTlJfVUFSVFM9NAorIyBDT05GSUdfU0VSSUFMXzgyNTBfQ1MgaXMgbm90IHNldAorQ09ORklHX1NFUklBTF84MjUwX05SX1VBUlRTPTMyCiBDT05GSUdfU0VSSUFMXzgyNTBfUlVOVElNRV9VQVJUUz00Ci0jIENPTkZJR19TRVJJQUxfODI1MF9FWFRFTkRFRCBpcyBub3Qgc2V0CitDT05GSUdfU0VSSUFMXzgyNTBfRVhURU5ERUQ9eQorQ09ORklHX1NFUklBTF84MjUwX01BTllfUE9SVFM9eQorQ09ORklHX1NFUklBTF84MjUwX1NIQVJFX0lSUT15CitDT05GSUdfU0VSSUFMXzgyNTBfREVURUNUX0lSUT15CitDT05GSUdfU0VSSUFMXzgyNTBfUlNBPXkKIAogIwogIyBOb24tODI1MCBzZXJpYWwgcG9ydCBzdXBwb3J0CkBAIC05NTEsMjAgKzEyMjAsMTY4IEBACiBDT05GSUdfU0VSSUFMX0NPUkVfQ09OU09MRT15CiAjIENPTkZJR19TRVJJQUxfSlNNIGlzIG5vdCBzZXQKIENPTkZJR19VTklYOThfUFRZUz15Ci1DT05GSUdfTEVHQUNZX1BUWVM9eQotQ09ORklHX0xFR0FDWV9QVFlfQ09VTlQ9MjU2CisjIENPTkZJR19MRUdBQ1lfUFRZUyBpcyBub3Qgc2V0CiAjIENPTkZJR19JUE1JX0hBTkRMRVIgaXMgbm90IHNldAotIyBDT05GSUdfV0FUQ0hET0cgaXMgbm90IHNldAogQ09ORklHX0hXX1JBTkRPTT15Ci1DT05GSUdfSFdfUkFORE9NX0lOVEVMPXkKLUNPTkZJR19IV19SQU5ET01fQU1EPXkKKyMgQ09ORklHX0hXX1JBTkRPTV9JTlRFTCBpcyBub3Qgc2V0CisjIENPTkZJR19IV19SQU5ET01fQU1EIGlzIG5vdCBzZXQKIENPTkZJR19IV19SQU5ET01fR0VPREU9eQogQ09ORklHX0hXX1JBTkRPTV9WSUE9eQotIyBDT05GSUdfTlZSQU0gaXMgbm90IHNldAotQ09ORklHX1JUQz15CitDT05GSUdfTlZSQU09eQogIyBDT05GSUdfUjM5NjQgaXMgbm90IHNldAogIyBDT05GSUdfQVBQTElDT00gaXMgbm90IHNldAogIyBDT05GSUdfU09OWVBJIGlzIG5vdCBzZXQKKworIworIyBQQ01DSUEgY2hhcmFjdGVyIGRldmljZXMKKyMKKyMgQ09ORklHX1NZTkNMSU5LX0NTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NBUkRNQU5fNDAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19DQVJETUFOXzQwNDAgaXMgbm90IHNldAorIyBDT05GSUdfSVBXSVJFTEVTUyBpcyBub3Qgc2V0CisjIENPTkZJR19NV0FWRSBpcyBub3Qgc2V0CisjIENPTkZJR19QQzg3MzZ4X0dQSU8gaXMgbm90IHNldAorIyBDT05GSUdfTlNDX0dQSU8gaXMgbm90IHNldAorIyBDT05GSUdfQ1M1NTM1X0dQSU8gaXMgbm90IHNldAorIyBDT05GSUdfUkFXX0RSSVZFUiBpcyBub3Qgc2V0CitDT05GSUdfSFBFVD15CisjIENPTkZJR19IUEVUX1JUQ19JUlEgaXMgbm90IHNldAorIyBDT05GSUdfSFBFVF9NTUFQIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hBTkdDSEVDS19USU1FUiBpcyBub3Qgc2V0CisjIENPTkZJR19UQ0dfVFBNIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RFTENMT0NLIGlzIG5vdCBzZXQKK0NPTkZJR19ERVZQT1JUPXkKK0NPTkZJR19JMkM9eQorQ09ORklHX0kyQ19CT0FSRElORk89eQorIyBDT05GSUdfSTJDX0NIQVJERVYgaXMgbm90IHNldAorCisjCisjIEkyQyBIYXJkd2FyZSBCdXMgc3VwcG9ydAorIworIyBDT05GSUdfSTJDX0FMSTE1MzUgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0FMSTE1NjMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0FMSTE1WDMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0FNRDc1NiBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfQU1EODExMSBpcyBub3Qgc2V0CitDT05GSUdfSTJDX0k4MDE9eQorIyBDT05GSUdfSTJDX0k4MTAgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1BJSVg0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ORk9SQ0UyIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19PQ09SRVMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1BBUlBPUlRfTElHSFQgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1BST1NBVkFHRSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfU0FWQUdFNCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfU0lNVEVDIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDeDIwMF9BQ0IgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1NJUzU1OTUgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1NJUzYzMCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfU0lTOTZYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19UQU9TX0VWTSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfU1RVQiBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfVElOWV9VU0IgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1ZJQSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfVklBUFJPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19WT09ET08zIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19QQ0FfUExBVEZPUk0gaXMgbm90IHNldAorCisjCisjIE1pc2NlbGxhbmVvdXMgSTJDIENoaXAgc3VwcG9ydAorIworIyBDT05GSUdfRFMxNjgyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfRUVQUk9NIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfUENGODU3NCBpcyBub3Qgc2V0CisjIENPTkZJR19QQ0Y4NTc1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfUENGODU5MSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX01BWDY4NzUgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19UU0wyNTUwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ERUJVR19DT1JFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ERUJVR19BTEdPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ERUJVR19CVVMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0RFQlVHX0NISVAgaXMgbm90IHNldAorIyBDT05GSUdfU1BJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1cxIGlzIG5vdCBzZXQKK0NPTkZJR19QT1dFUl9TVVBQTFk9eQorIyBDT05GSUdfUE9XRVJfU1VQUExZX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BEQV9QT1dFUiBpcyBub3Qgc2V0CisjIENPTkZJR19CQVRURVJZX0RTMjc2MCBpcyBub3Qgc2V0CisjIENPTkZJR19IV01PTiBpcyBub3Qgc2V0CitDT05GSUdfVEhFUk1BTD15CitDT05GSUdfV0FUQ0hET0c9eQorIyBDT05GSUdfV0FUQ0hET0dfTk9XQVlPVVQgaXMgbm90IHNldAorCisjCisjIFdhdGNoZG9nIERldmljZSBEcml2ZXJzCisjCisjIENPTkZJR19TT0ZUX1dBVENIRE9HIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FDUVVJUkVfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FEVkFOVEVDSF9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfQUxJTTE1MzVfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FMSU03MTAxX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19TQzUyMF9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfRVVST1RFQ0hfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCNzAwX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1BU1IgaXMgbm90IHNldAorIyBDT05GSUdfV0FGRVJfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0k2MzAwRVNCX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19JVENPX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19JVDg3MTJGX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19IUF9XQVRDSERPRyBpcyBub3Qgc2V0CisjIENPTkZJR19TQzEyMDBfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDODc0MTNfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHXzYwWFhfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NCQzgzNjBfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NCQzcyNDBfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NQVTVfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NNU0MzN0I3ODdfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1c4MzYyN0hGX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19XODM2OTdIRl9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfVzgzODc3Rl9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfVzgzOTc3Rl9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfTUFDSFpfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NCQ19FUFhfQzNfV0FUQ0hET0cgaXMgbm90IHNldAorCisjCisjIFBDSS1iYXNlZCBXYXRjaGRvZyBDYXJkcworIworIyBDT05GSUdfUENJUENXQVRDSERPRyBpcyBub3Qgc2V0CisjIENPTkZJR19XRFRQQ0kgaXMgbm90IHNldAorCisjCisjIFVTQi1iYXNlZCBXYXRjaGRvZyBDYXJkcworIworIyBDT05GSUdfVVNCUENXQVRDSERPRyBpcyBub3Qgc2V0CisKKyMKKyMgU29uaWNzIFNpbGljb24gQmFja3BsYW5lCisjCitDT05GSUdfU1NCX1BPU1NJQkxFPXkKKyMgQ09ORklHX1NTQiBpcyBub3Qgc2V0CisKKyMKKyMgTXVsdGlmdW5jdGlvbiBkZXZpY2UgZHJpdmVycworIworIyBDT05GSUdfTUZEX1NNNTAxIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hUQ19QQVNJQzMgaXMgbm90IHNldAorCisjCisjIE11bHRpbWVkaWEgZGV2aWNlcworIworCisjCisjIE11bHRpbWVkaWEgY29yZSBzdXBwb3J0CisjCisjIENPTkZJR19WSURFT19ERVYgaXMgbm90IHNldAorIyBDT05GSUdfRFZCX0NPUkUgaXMgbm90IHNldAorCisjCisjIE11bHRpbWVkaWEgZHJpdmVycworIworQ09ORklHX0RBQj15CisjIENPTkZJR19VU0JfREFCVVNCIGlzIG5vdCBzZXQKKworIworIyBHcmFwaGljcyBzdXBwb3J0CisjCiBDT05GSUdfQUdQPXkKICMgQ09ORklHX0FHUF9BTEkgaXMgbm90IHNldAogIyBDT05GSUdfQUdQX0FUSSBpcyBub3Qgc2V0CkBAIC05NzYsNjQgKzEzOTMsMTAyIEBACiAjIENPTkZJR19BR1BfU1dPUktTIGlzIG5vdCBzZXQKICMgQ09ORklHX0FHUF9WSUEgaXMgbm90IHNldAogIyBDT05GSUdfQUdQX0VGRklDRU9OIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RSTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19NV0FWRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19QQzg3MzZ4X0dQSU8gaXMgbm90IHNldAotIyBDT05GSUdfTlNDX0dQSU8gaXMgbm90IHNldAotIyBDT05GSUdfQ1M1NTM1X0dQSU8gaXMgbm90IHNldAotQ09ORklHX1JBV19EUklWRVI9eQotQ09ORklHX01BWF9SQVdfREVWUz0yNTYKLUNPTkZJR19IUEVUPXkKLSMgQ09ORklHX0hQRVRfUlRDX0lSUSBpcyBub3Qgc2V0Ci1DT05GSUdfSFBFVF9NTUFQPXkKLSMgQ09ORklHX0hBTkdDSEVDS19USU1FUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19UQ0dfVFBNIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RFTENMT0NLIGlzIG5vdCBzZXQKLUNPTkZJR19ERVZQT1JUPXkKLSMgQ09ORklHX0kyQyBpcyBub3Qgc2V0CitDT05GSUdfRFJNPXkKKyMgQ09ORklHX0RSTV9UREZYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RSTV9SMTI4IGlzIG5vdCBzZXQKKyMgQ09ORklHX0RSTV9SQURFT04gaXMgbm90IHNldAorIyBDT05GSUdfRFJNX0k4MTAgaXMgbm90IHNldAorIyBDT05GSUdfRFJNX0k4MzAgaXMgbm90IHNldAorQ09ORklHX0RSTV9JOTE1PXkKKyMgQ09ORklHX0RSTV9NR0EgaXMgbm90IHNldAorIyBDT05GSUdfRFJNX1NJUyBpcyBub3Qgc2V0CisjIENPTkZJR19EUk1fVklBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RSTV9TQVZBR0UgaXMgbm90IHNldAorIyBDT05GSUdfVkdBU1RBVEUgaXMgbm90IHNldAorIyBDT05GSUdfVklERU9fT1VUUFVUX0NPTlRST0wgaXMgbm90IHNldAorQ09ORklHX0ZCPXkKKyMgQ09ORklHX0ZJUk1XQVJFX0VESUQgaXMgbm90IHNldAorIyBDT05GSUdfRkJfRERDIGlzIG5vdCBzZXQKK0NPTkZJR19GQl9DRkJfRklMTFJFQ1Q9eQorQ09ORklHX0ZCX0NGQl9DT1BZQVJFQT15CitDT05GSUdfRkJfQ0ZCX0lNQUdFQkxJVD15CisjIENPTkZJR19GQl9DRkJfUkVWX1BJWEVMU19JTl9CWVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1NZU19GSUxMUkVDVCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9TWVNfQ09QWUFSRUEgaXMgbm90IHNldAorIyBDT05GSUdfRkJfU1lTX0lNQUdFQkxJVCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9GT1JFSUdOX0VORElBTiBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9TWVNfRk9QUyBpcyBub3Qgc2V0CitDT05GSUdfRkJfREVGRVJSRURfSU89eQorIyBDT05GSUdfRkJfU1ZHQUxJQiBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9NQUNNT0RFUyBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9CQUNLTElHSFQgaXMgbm90IHNldAorQ09ORklHX0ZCX01PREVfSEVMUEVSUz15CitDT05GSUdfRkJfVElMRUJMSVRUSU5HPXkKIAogIwotIyBTUEkgc3VwcG9ydAorIyBGcmFtZSBidWZmZXIgaGFyZHdhcmUgZHJpdmVycwogIwotIyBDT05GSUdfU1BJIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NQSV9NQVNURVIgaXMgbm90IHNldAotIyBDT05GSUdfVzEgaXMgbm90IHNldAotIyBDT05GSUdfUE9XRVJfU1VQUExZIGlzIG5vdCBzZXQKLSMgQ09ORklHX0hXTU9OIGlzIG5vdCBzZXQKLQotIwotIyBNdWx0aWZ1bmN0aW9uIGRldmljZSBkcml2ZXJzCi0jCi0jIENPTkZJR19NRkRfU001MDEgaXMgbm90IHNldAotCi0jCi0jIE11bHRpbWVkaWEgZGV2aWNlcwotIwotIyBDT05GSUdfVklERU9fREVWIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RWQl9DT1JFIGlzIG5vdCBzZXQKLUNPTkZJR19EQUI9eQotIyBDT05GSUdfVVNCX0RBQlVTQiBpcyBub3Qgc2V0Ci0KLSMKLSMgR3JhcGhpY3Mgc3VwcG9ydAotIwotIyBDT05GSUdfQkFDS0xJR0hUX0xDRF9TVVBQT1JUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0NJUlJVUyBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9QTTIgaXMgbm90IHNldAorIyBDT05GSUdfRkJfQ1lCRVIyMDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0FSQyBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9BU0lMSUFOVCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9JTVNUVCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9WR0ExNiBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9VVkVTQSBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9WRVNBIGlzIG5vdCBzZXQKK0NPTkZJR19GQl9FRkk9eQorIyBDT05GSUdfRkJfSU1BQyBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9ONDExIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0hHQSBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9TMUQxM1hYWCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9OVklESUEgaXMgbm90IHNldAorIyBDT05GSUdfRkJfUklWQSBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9JODEwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0xFODA1NzggaXMgbm90IHNldAorIyBDT05GSUdfRkJfSU5URUwgaXMgbm90IHNldAorIyBDT05GSUdfRkJfTUFUUk9YIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1JBREVPTiBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9BVFkxMjggaXMgbm90IHNldAorIyBDT05GSUdfRkJfQVRZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1MzIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1NBVkFHRSBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9TSVMgaXMgbm90IHNldAorIyBDT05GSUdfRkJfTkVPTUFHSUMgaXMgbm90IHNldAorIyBDT05GSUdfRkJfS1lSTyBpcyBub3Qgc2V0CisjIENPTkZJR19GQl8zREZYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1ZPT0RPTzEgaXMgbm90IHNldAorIyBDT05GSUdfRkJfVlQ4NjIzIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0NZQkxBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1RSSURFTlQgaXMgbm90IHNldAorIyBDT05GSUdfRkJfQVJLIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1BNMyBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9HRU9ERSBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9WSVJUVUFMIGlzIG5vdCBzZXQKK0NPTkZJR19CQUNLTElHSFRfTENEX1NVUFBPUlQ9eQorIyBDT05GSUdfTENEX0NMQVNTX0RFVklDRSBpcyBub3Qgc2V0CitDT05GSUdfQkFDS0xJR0hUX0NMQVNTX0RFVklDRT15CisjIENPTkZJR19CQUNLTElHSFRfQ09SR0kgaXMgbm90IHNldAorIyBDT05GSUdfQkFDS0xJR0hUX1BST0dFQVIgaXMgbm90IHNldAogCiAjCiAjIERpc3BsYXkgZGV2aWNlIHN1cHBvcnQKICMKICMgQ09ORklHX0RJU1BMQVlfU1VQUE9SVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19WR0FTVEFURSBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQiBpcyBub3Qgc2V0CiAKICMKICMgQ29uc29sZSBkaXNwbGF5IGRyaXZlciBzdXBwb3J0CiAjCiBDT05GSUdfVkdBX0NPTlNPTEU9eQogQ09ORklHX1ZHQUNPTl9TT0ZUX1NDUk9MTEJBQ0s9eQotQ09ORklHX1ZHQUNPTl9TT0ZUX1NDUk9MTEJBQ0tfU0laRT0xMjgKK0NPTkZJR19WR0FDT05fU09GVF9TQ1JPTExCQUNLX1NJWkU9NjQKIENPTkZJR19WSURFT19TRUxFQ1Q9eQogQ09ORklHX0RVTU1ZX0NPTlNPTEU9eQorIyBDT05GSUdfRlJBTUVCVUZGRVJfQ09OU09MRSBpcyBub3Qgc2V0CitDT05GSUdfTE9HTz15CisjIENPTkZJR19MT0dPX0xJTlVYX01PTk8gaXMgbm90IHNldAorIyBDT05GSUdfTE9HT19MSU5VWF9WR0ExNiBpcyBub3Qgc2V0CitDT05GSUdfTE9HT19MSU5VWF9DTFVUMjI0PXkKIAogIwogIyBTb3VuZApAQCAtMTA0MywzMyArMTQ5OCwxNjcgQEAKICMKICMgQWR2YW5jZWQgTGludXggU291bmQgQXJjaGl0ZWN0dXJlCiAjCi0jIENPTkZJR19TTkQgaXMgbm90IHNldAorQ09ORklHX1NORD15CitDT05GSUdfU05EX1RJTUVSPXkKK0NPTkZJR19TTkRfUENNPXkKK0NPTkZJR19TTkRfSFdERVA9eQorQ09ORklHX1NORF9TRVFVRU5DRVI9eQorQ09ORklHX1NORF9TRVFfRFVNTVk9eQorQ09ORklHX1NORF9PU1NFTVVMPXkKK0NPTkZJR19TTkRfTUlYRVJfT1NTPXkKK0NPTkZJR19TTkRfUENNX09TUz15CitDT05GSUdfU05EX1BDTV9PU1NfUExVR0lOUz15CitDT05GSUdfU05EX1NFUVVFTkNFUl9PU1M9eQorQ09ORklHX1NORF9EWU5BTUlDX01JTk9SUz15CitDT05GSUdfU05EX1NVUFBPUlRfT0xEX0FQST15CitDT05GSUdfU05EX1ZFUkJPU0VfUFJPQ0ZTPXkKKyMgQ09ORklHX1NORF9WRVJCT1NFX1BSSU5USyBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfREVCVUcgaXMgbm90IHNldAorQ09ORklHX1NORF9WTUFTVEVSPXkKKworIworIyBHZW5lcmljIGRldmljZXMKKyMKKyMgQ09ORklHX1NORF9QQ1NQIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9EVU1NWSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfVklSTUlESSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfTVRQQVYgaXMgbm90IHNldAorIyBDT05GSUdfU05EX1NFUklBTF9VMTY1NTAgaXMgbm90IHNldAorIyBDT05GSUdfU05EX01QVTQwMSBpcyBub3Qgc2V0CisKKyMKKyMgUENJIGRldmljZXMKKyMKKyMgQ09ORklHX1NORF9BRDE4ODkgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0FMUzMwMCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfQUxTNDAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfQUxJNTQ1MSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfQVRJSVhQIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9BVElJWFBfTU9ERU0gaXMgbm90IHNldAorIyBDT05GSUdfU05EX0FVODgxMCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfQVU4ODIwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9BVTg4MzAgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0FXMiBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfQVpUMzMyOCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfQlQ4N1ggaXMgbm90IHNldAorIyBDT05GSUdfU05EX0NBMDEwNiBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfQ01JUENJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9PWFlHRU4gaXMgbm90IHNldAorIyBDT05GSUdfU05EX0NTNDI4MSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfQ1M0NlhYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9DUzU1MzAgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0NTNTUzNUFVRElPIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9EQVJMQTIwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9HSU5BMjAgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0xBWUxBMjAgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0RBUkxBMjQgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0dJTkEyNCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfTEFZTEEyNCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfTU9OQSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfTUlBIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9FQ0hPM0cgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0lORElHTyBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfSU5ESUdPSU8gaXMgbm90IHNldAorIyBDT05GSUdfU05EX0lORElHT0RKIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9FTVUxMEsxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9FTVUxMEsxWCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfRU5TMTM3MCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfRU5TMTM3MSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfRVMxOTM4IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9FUzE5NjggaXMgbm90IHNldAorIyBDT05GSUdfU05EX0ZNODAxIGlzIG5vdCBzZXQKK0NPTkZJR19TTkRfSERBX0lOVEVMPXkKK0NPTkZJR19TTkRfSERBX0hXREVQPXkKK0NPTkZJR19TTkRfSERBX0NPREVDX1JFQUxURUs9eQorQ09ORklHX1NORF9IREFfQ09ERUNfQU5BTE9HPXkKK0NPTkZJR19TTkRfSERBX0NPREVDX1NJR01BVEVMPXkKK0NPTkZJR19TTkRfSERBX0NPREVDX1ZJQT15CitDT05GSUdfU05EX0hEQV9DT0RFQ19BVElIRE1JPXkKK0NPTkZJR19TTkRfSERBX0NPREVDX0NPTkVYQU5UPXkKK0NPTkZJR19TTkRfSERBX0NPREVDX0NNRURJQT15CitDT05GSUdfU05EX0hEQV9DT0RFQ19TSTMwNTQ9eQorQ09ORklHX1NORF9IREFfR0VORVJJQz15CisjIENPTkZJR19TTkRfSERBX1BPV0VSX1NBVkUgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0hEU1AgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0hEU1BNIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9ISUZJRVIgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0lDRTE3MTIgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0lDRTE3MjQgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0lOVEVMOFgwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9JTlRFTDhYME0gaXMgbm90IHNldAorIyBDT05GSUdfU05EX0tPUkcxMjEyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9NQUVTVFJPMyBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfTUlYQVJUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9OTTI1NiBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfUENYSFIgaXMgbm90IHNldAorIyBDT05GSUdfU05EX1JJUFRJREUgaXMgbm90IHNldAorIyBDT05GSUdfU05EX1JNRTMyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9STUU5NiBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfUk1FOTY1MiBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfU0lTNzAxOSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfU09OSUNWSUJFUyBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfVFJJREVOVCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfVklBODJYWCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfVklBODJYWF9NT0RFTSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfVklSVFVPU08gaXMgbm90IHNldAorIyBDT05GSUdfU05EX1ZYMjIyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9ZTUZQQ0kgaXMgbm90IHNldAorCisjCisjIFVTQiBkZXZpY2VzCisjCisjIENPTkZJR19TTkRfVVNCX0FVRElPIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9VU0JfVVNYMlkgaXMgbm90IHNldAorIyBDT05GSUdfU05EX1VTQl9DQUlBUSBpcyBub3Qgc2V0CisKKyMKKyMgUENNQ0lBIGRldmljZXMKKyMKKyMgQ09ORklHX1NORF9WWFBPQ0tFVCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfUERBVURJT0NGIGlzIG5vdCBzZXQKKworIworIyBTeXN0ZW0gb24gQ2hpcCBhdWRpbyBzdXBwb3J0CisjCisjIENPTkZJR19TTkRfU09DIGlzIG5vdCBzZXQKKworIworIyBBTFNBIFNvQyBhdWRpbyBmb3IgRnJlZXNjYWxlIFNPQ3MKKyMKKworIworIyBTb0MgQXVkaW8gZm9yIHRoZSBUZXhhcyBJbnN0cnVtZW50cyBPTUFQCisjCiAKICMKICMgT3BlbiBTb3VuZCBTeXN0ZW0KICMKLUNPTkZJR19TT1VORF9QUklNRT15Ci0jIENPTkZJR19TT1VORF9UUklERU5UIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NPVU5EX01TTkRDTEFTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NPVU5EX01TTkRQSU4gaXMgbm90IHNldAotIyBDT05GSUdfU09VTkRfT1NTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NPVU5EX1BSSU1FIGlzIG5vdCBzZXQKIENPTkZJR19ISURfU1VQUE9SVD15CiBDT05GSUdfSElEPXkKLSMgQ09ORklHX0hJRF9ERUJVRyBpcyBub3Qgc2V0CitDT05GSUdfSElEX0RFQlVHPXkKK0NPTkZJR19ISURSQVc9eQogCiAjCiAjIFVTQiBJbnB1dCBEZXZpY2VzCiAjCiBDT05GSUdfVVNCX0hJRD15Ci0jIENPTkZJR19VU0JfSElESU5QVVRfUE9XRVJCT09LIGlzIG5vdCBzZXQKLSMgQ09ORklHX0hJRF9GRiBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfSElEREVWIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfSElESU5QVVRfUE9XRVJCT09LPXkKK0NPTkZJR19ISURfRkY9eQorQ09ORklHX0hJRF9QSUQ9eQorQ09ORklHX0xPR0lURUNIX0ZGPXkKKyMgQ09ORklHX0xPR0lSVU1CTEVQQUQyX0ZGIGlzIG5vdCBzZXQKK0NPTkZJR19QQU5USEVSTE9SRF9GRj15CitDT05GSUdfVEhSVVNUTUFTVEVSX0ZGPXkKK0NPTkZJR19aRVJPUExVU19GRj15CitDT05GSUdfVVNCX0hJRERFVj15CiBDT05GSUdfVVNCX1NVUFBPUlQ9eQogQ09ORklHX1VTQl9BUkNIX0hBU19IQ0Q9eQogQ09ORklHX1VTQl9BUkNIX0hBU19PSENJPXkKIENPTkZJR19VU0JfQVJDSF9IQVNfRUhDST15CiBDT05GSUdfVVNCPXkKLSMgQ09ORklHX1VTQl9ERUJVRyBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0RFQlVHPXkKK0NPTkZJR19VU0JfQU5OT1VOQ0VfTkVXX0RFVklDRVM9eQogCiAjCiAjIE1pc2NlbGxhbmVvdXMgVVNCIG9wdGlvbnMKQEAgLTEwNzcsMTggKzE2NjYsMTggQEAKIENPTkZJR19VU0JfREVWSUNFRlM9eQogIyBDT05GSUdfVVNCX0RFVklDRV9DTEFTUyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfRFlOQU1JQ19NSU5PUlMgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1NVU1BFTkQgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1BFUlNJU1QgaXMgbm90IHNldAorQ09ORklHX1VTQl9TVVNQRU5EPXkKICMgQ09ORklHX1VTQl9PVEcgaXMgbm90IHNldAogCiAjCiAjIFVTQiBIb3N0IENvbnRyb2xsZXIgRHJpdmVycwogIworIyBDT05GSUdfVVNCX0M2N1gwMF9IQ0QgaXMgbm90IHNldAogQ09ORklHX1VTQl9FSENJX0hDRD15Ci0jIENPTkZJR19VU0JfRUhDSV9TUExJVF9JU08gaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0VIQ0lfUk9PVF9IVUJfVFQgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0VIQ0lfVFRfTkVXU0NIRUQgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0lTUDExNlhfSENEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9JU1AxNzYwX0hDRCBpcyBub3Qgc2V0CiBDT05GSUdfVVNCX09IQ0lfSENEPXkKICMgQ09ORklHX1VTQl9PSENJX0JJR19FTkRJQU5fREVTQyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfT0hDSV9CSUdfRU5ESUFOX01NSU8gaXMgbm90IHNldApAQCAtMTEyMSw4ICsxNzEwLDEwIEBACiAjIENPTkZJR19VU0JfU1RPUkFHRV9TRERSNTUgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfSlVNUFNIT1QgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfQUxBVURBIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVE9SQUdFX09ORVRPVUNIIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX0tBUk1BIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9MSUJVU1VBTCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1RPUkFHRV9DWVBSRVNTX0FUQUNCIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfTElCVVNVQUw9eQogCiAjCiAjIFVTQiBJbWFnaW5nIGRldmljZXMKQEAgLTExMzQsMTAgKzE3MjUsNiBAQAogIwogIyBVU0IgcG9ydCBkcml2ZXJzCiAjCi0KLSMKLSMgVVNCIFNlcmlhbCBDb252ZXJ0ZXIgc3VwcG9ydAotIwogIyBDT05GSUdfVVNCX1NFUklBTCBpcyBub3Qgc2V0CiAKICMKQEAgLTExNjMsOTAgKzE3NTAsMTI1IEBACiAjIENPTkZJR19VU0JfVFJBTkNFVklCUkFUT1IgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0lPV0FSUklPUiBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfVEVTVCBpcyBub3Qgc2V0Ci0KLSMKLSMgVVNCIERTTCBtb2RlbSBzdXBwb3J0Ci0jCi0KLSMKLSMgVVNCIEdhZGdldCBTdXBwb3J0Ci0jCiAjIENPTkZJR19VU0JfR0FER0VUIGlzIG5vdCBzZXQKICMgQ09ORklHX01NQyBpcyBub3Qgc2V0Ci0KLSMKLSMgTEVEIGRldmljZXMKLSMKLSMgQ09ORklHX05FV19MRURTIGlzIG5vdCBzZXQKKyMgQ09ORklHX01FTVNUSUNLIGlzIG5vdCBzZXQKK0NPTkZJR19ORVdfTEVEUz15CitDT05GSUdfTEVEU19DTEFTUz15CiAKICMKICMgTEVEIGRyaXZlcnMKICMKKyMgQ09ORklHX0xFRFNfQ0xFVk9fTUFJTCBpcyBub3Qgc2V0CiAKICMKICMgTEVEIFRyaWdnZXJzCiAjCitDT05GSUdfTEVEU19UUklHR0VSUz15CisjIENPTkZJR19MRURTX1RSSUdHRVJfVElNRVIgaXMgbm90IHNldAorIyBDT05GSUdfTEVEU19UUklHR0VSX0hFQVJUQkVBVCBpcyBub3Qgc2V0CisjIENPTkZJR19MRURTX1RSSUdHRVJfREVGQVVMVF9PTiBpcyBub3Qgc2V0CisjIENPTkZJR19BQ0NFU1NJQklMSVRZIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORklOSUJBTkQgaXMgbm90IHNldAotIyBDT05GSUdfRURBQyBpcyBub3Qgc2V0CitDT05GSUdfRURBQz15CiAKICMKLSMgUmVhbCBUaW1lIENsb2NrCisjIFJlcG9ydGluZyBzdWJzeXN0ZW1zCiAjCi0jIENPTkZJR19SVENfQ0xBU1MgaXMgbm90IHNldAorIyBDT05GSUdfRURBQ19ERUJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19FREFDX01NX0VEQUMgaXMgbm90IHNldAorQ09ORklHX1JUQ19MSUI9eQorQ09ORklHX1JUQ19DTEFTUz15CisjIENPTkZJR19SVENfSENUT1NZUyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfREVCVUcgaXMgbm90IHNldAogCiAjCi0jIERNQSBFbmdpbmUgc3VwcG9ydAorIyBSVEMgaW50ZXJmYWNlcwogIwotIyBDT05GSUdfRE1BX0VOR0lORSBpcyBub3Qgc2V0CitDT05GSUdfUlRDX0lOVEZfU1lTRlM9eQorQ09ORklHX1JUQ19JTlRGX1BST0M9eQorQ09ORklHX1JUQ19JTlRGX0RFVj15CisjIENPTkZJR19SVENfSU5URl9ERVZfVUlFX0VNVUwgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9URVNUIGlzIG5vdCBzZXQKIAogIwotIyBETUEgQ2xpZW50cworIyBJMkMgUlRDIGRyaXZlcnMKICMKKyMgQ09ORklHX1JUQ19EUlZfRFMxMzA3IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfRFMxMzc0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfRFMxNjcyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfTUFYNjkwMCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1JTNUMzNzIgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9JU0wxMjA4IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfWDEyMDUgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9QQ0Y4NTYzIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUENGODU4MyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX000MVQ4MCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1MzNTM5MEEgaXMgbm90IHNldAorCisjCisjIFNQSSBSVEMgZHJpdmVycworIworCisjCisjIFBsYXRmb3JtIFJUQyBkcml2ZXJzCisjCitDT05GSUdfUlRDX0RSVl9DTU9TPXkKKyMgQ09ORklHX1JUQ19EUlZfRFMxNTExIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfRFMxNTUzIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfRFMxNzQyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfU1RLMTdUQTggaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9NNDhUODYgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9NNDhUNTkgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9WMzAyMCBpcyBub3Qgc2V0CisKKyMKKyMgb24tQ1BVIFJUQyBkcml2ZXJzCisjCitDT05GSUdfRE1BREVWSUNFUz15CiAKICMKICMgRE1BIERldmljZXMKICMKLUNPTkZJR19WSVJUVUFMSVpBVElPTj15Ci0jIENPTkZJR19LVk0gaXMgbm90IHNldAorIyBDT05GSUdfSU5URUxfSU9BVERNQSBpcyBub3Qgc2V0CisjIENPTkZJR19VSU8gaXMgbm90IHNldAogCiAjCi0jIFVzZXJzcGFjZSBJL08KKyMgRmlybXdhcmUgRHJpdmVycwogIwotIyBDT05GSUdfVUlPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VERCBpcyBub3Qgc2V0CitDT05GSUdfRUZJX1ZBUlM9eQorIyBDT05GSUdfREVMTF9SQlUgaXMgbm90IHNldAorIyBDT05GSUdfRENEQkFTIGlzIG5vdCBzZXQKK0NPTkZJR19ETUlJRD15CisjIENPTkZJR19JU0NTSV9JQkZUX0ZJTkQgaXMgbm90IHNldAogCiAjCiAjIEZpbGUgc3lzdGVtcwogIwotQ09ORklHX0VYVDJfRlM9eQotQ09ORklHX0VYVDJfRlNfWEFUVFI9eQotQ09ORklHX0VYVDJfRlNfUE9TSVhfQUNMPXkKLSMgQ09ORklHX0VYVDJfRlNfU0VDVVJJVFkgaXMgbm90IHNldAotIyBDT05GSUdfRVhUMl9GU19YSVAgaXMgbm90IHNldAorIyBDT05GSUdfRVhUMl9GUyBpcyBub3Qgc2V0CiBDT05GSUdfRVhUM19GUz15CiBDT05GSUdfRVhUM19GU19YQVRUUj15CiBDT05GSUdfRVhUM19GU19QT1NJWF9BQ0w9eQotIyBDT05GSUdfRVhUM19GU19TRUNVUklUWSBpcyBub3Qgc2V0CitDT05GSUdfRVhUM19GU19TRUNVUklUWT15CiAjIENPTkZJR19FWFQ0REVWX0ZTIGlzIG5vdCBzZXQKIENPTkZJR19KQkQ9eQogIyBDT05GSUdfSkJEX0RFQlVHIGlzIG5vdCBzZXQKIENPTkZJR19GU19NQkNBQ0hFPXkKLUNPTkZJR19SRUlTRVJGU19GUz15Ci0jIENPTkZJR19SRUlTRVJGU19DSEVDSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19SRUlTRVJGU19QUk9DX0lORk8gaXMgbm90IHNldAotQ09ORklHX1JFSVNFUkZTX0ZTX1hBVFRSPXkKLUNPTkZJR19SRUlTRVJGU19GU19QT1NJWF9BQ0w9eQotIyBDT05GSUdfUkVJU0VSRlNfRlNfU0VDVVJJVFkgaXMgbm90IHNldAorIyBDT05GSUdfUkVJU0VSRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfSkZTX0ZTIGlzIG5vdCBzZXQKIENPTkZJR19GU19QT1NJWF9BQ0w9eQogIyBDT05GSUdfWEZTX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0dGUzJfRlMgaXMgbm90IHNldAogIyBDT05GSUdfT0NGUzJfRlMgaXMgbm90IHNldAotIyBDT05GSUdfTUlOSVhfRlMgaXMgbm90IHNldAotIyBDT05GSUdfUk9NRlNfRlMgaXMgbm90IHNldAorQ09ORklHX0ROT1RJRlk9eQogQ09ORklHX0lOT1RJRlk9eQogQ09ORklHX0lOT1RJRllfVVNFUj15Ci0jIENPTkZJR19RVU9UQSBpcyBub3Qgc2V0Ci1DT05GSUdfRE5PVElGWT15CitDT05GSUdfUVVPVEE9eQorQ09ORklHX1FVT1RBX05FVExJTktfSU5URVJGQUNFPXkKKyMgQ09ORklHX1BSSU5UX1FVT1RBX1dBUk5JTkcgaXMgbm90IHNldAorIyBDT05GSUdfUUZNVF9WMSBpcyBub3Qgc2V0CitDT05GSUdfUUZNVF9WMj15CitDT05GSUdfUVVPVEFDVEw9eQogIyBDT05GSUdfQVVUT0ZTX0ZTIGlzIG5vdCBzZXQKIENPTkZJR19BVVRPRlM0X0ZTPXkKICMgQ09ORklHX0ZVU0VfRlMgaXMgbm90IHNldApAQCAtMTI1Niw4ICsxODc4LDggQEAKICMgQ0QtUk9NL0RWRCBGaWxlc3lzdGVtcwogIwogQ09ORklHX0lTTzk2NjBfRlM9eQotIyBDT05GSUdfSk9MSUVUIGlzIG5vdCBzZXQKLSMgQ09ORklHX1pJU09GUyBpcyBub3Qgc2V0CitDT05GSUdfSk9MSUVUPXkKK0NPTkZJR19aSVNPRlM9eQogIyBDT05GSUdfVURGX0ZTIGlzIG5vdCBzZXQKIAogIwpAQCAtMTI3NSwxMyArMTg5NywxMyBAQAogIwogQ09ORklHX1BST0NfRlM9eQogQ09ORklHX1BST0NfS0NPUkU9eQorQ09ORklHX1BST0NfVk1DT1JFPXkKIENPTkZJR19QUk9DX1NZU0NUTD15CiBDT05GSUdfU1lTRlM9eQogQ09ORklHX1RNUEZTPXkKIENPTkZJR19UTVBGU19QT1NJWF9BQ0w9eQogQ09ORklHX0hVR0VUTEJGUz15CiBDT05GSUdfSFVHRVRMQl9QQUdFPXkKLUNPTkZJR19SQU1GUz15CiAjIENPTkZJR19DT05GSUdGU19GUyBpcyBub3Qgc2V0CiAKICMKQEAgLTEyODksNiArMTkxMSw3IEBACiAjCiAjIENPTkZJR19BREZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0FGRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfRUNSWVBUX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0hGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19IRlNQTFVTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0JFRlNfRlMgaXMgbm90IHNldApAQCAtMTI5NiwzMyArMTkxOSwxNSBAQAogIyBDT05GSUdfRUZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSQU1GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19WWEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX01JTklYX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0hQRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfUU5YNEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JPTUZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NZU1ZfRlMgaXMgbm90IHNldAogIyBDT05GSUdfVUZTX0ZTIGlzIG5vdCBzZXQKLQotIwotIyBOZXR3b3JrIEZpbGUgU3lzdGVtcwotIwotQ09ORklHX05GU19GUz15Ci1DT05GSUdfTkZTX1YzPXkKLSMgQ09ORklHX05GU19WM19BQ0wgaXMgbm90IHNldAotIyBDT05GSUdfTkZTX1Y0IGlzIG5vdCBzZXQKLSMgQ09ORklHX05GU19ESVJFQ1RJTyBpcyBub3Qgc2V0Ci1DT05GSUdfTkZTRD15Ci1DT05GSUdfTkZTRF9WMz15Ci0jIENPTkZJR19ORlNEX1YzX0FDTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ORlNEX1Y0IGlzIG5vdCBzZXQKLUNPTkZJR19ORlNEX1RDUD15Ci1DT05GSUdfUk9PVF9ORlM9eQotQ09ORklHX0xPQ0tEPXkKLUNPTkZJR19MT0NLRF9WND15Ci1DT05GSUdfRVhQT1JURlM9eQotQ09ORklHX05GU19DT01NT049eQotQ09ORklHX1NVTlJQQz15Ci0jIENPTkZJR19TVU5SUENfQklORDM0IGlzIG5vdCBzZXQKLSMgQ09ORklHX1JQQ1NFQ19HU1NfS1JCNSBpcyBub3Qgc2V0Ci0jIENPTkZJR19SUENTRUNfR1NTX1NQS00zIGlzIG5vdCBzZXQKK0NPTkZJR19ORVRXT1JLX0ZJTEVTWVNURU1TPXkKKyMgQ09ORklHX05GU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19ORlNEIGlzIG5vdCBzZXQKICMgQ09ORklHX1NNQl9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19DSUZTIGlzIG5vdCBzZXQKICMgQ09ORklHX05DUF9GUyBpcyBub3Qgc2V0CkBAIC0xMzMyLDE0ICsxOTM3LDI2IEBACiAjCiAjIFBhcnRpdGlvbiBUeXBlcwogIwotIyBDT05GSUdfUEFSVElUSU9OX0FEVkFOQ0VEIGlzIG5vdCBzZXQKK0NPTkZJR19QQVJUSVRJT05fQURWQU5DRUQ9eQorIyBDT05GSUdfQUNPUk5fUEFSVElUSU9OIGlzIG5vdCBzZXQKK0NPTkZJR19PU0ZfUEFSVElUSU9OPXkKK0NPTkZJR19BTUlHQV9QQVJUSVRJT049eQorIyBDT05GSUdfQVRBUklfUEFSVElUSU9OIGlzIG5vdCBzZXQKK0NPTkZJR19NQUNfUEFSVElUSU9OPXkKIENPTkZJR19NU0RPU19QQVJUSVRJT049eQotCi0jCi0jIE5hdGl2ZSBMYW5ndWFnZSBTdXBwb3J0Ci0jCitDT05GSUdfQlNEX0RJU0tMQUJFTD15CitDT05GSUdfTUlOSVhfU1VCUEFSVElUSU9OPXkKK0NPTkZJR19TT0xBUklTX1g4Nl9QQVJUSVRJT049eQorQ09ORklHX1VOSVhXQVJFX0RJU0tMQUJFTD15CisjIENPTkZJR19MRE1fUEFSVElUSU9OIGlzIG5vdCBzZXQKK0NPTkZJR19TR0lfUEFSVElUSU9OPXkKKyMgQ09ORklHX1VMVFJJWF9QQVJUSVRJT04gaXMgbm90IHNldAorQ09ORklHX1NVTl9QQVJUSVRJT049eQorQ09ORklHX0tBUk1BX1BBUlRJVElPTj15CitDT05GSUdfRUZJX1BBUlRJVElPTj15CisjIENPTkZJR19TWVNWNjhfUEFSVElUSU9OIGlzIG5vdCBzZXQKIENPTkZJR19OTFM9eQotQ09ORklHX05MU19ERUZBVUxUPSJpc284ODU5LTEiCitDT05GSUdfTkxTX0RFRkFVTFQ9InV0ZjgiCiBDT05GSUdfTkxTX0NPREVQQUdFXzQzNz15CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfNzM3IGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19DT0RFUEFHRV83NzUgaXMgbm90IHNldApAQCAtMTM3NCwzNyArMTk5MSwzMyBAQAogIyBDT05GSUdfTkxTX0lTTzg4NTlfOSBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfSVNPODg1OV8xMyBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfSVNPODg1OV8xNCBpcyBub3Qgc2V0Ci1DT05GSUdfTkxTX0lTTzg4NTlfMTU9eQorIyBDT05GSUdfTkxTX0lTTzg4NTlfMTUgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0tPSThfUiBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfS09JOF9VIGlzIG5vdCBzZXQKIENPTkZJR19OTFNfVVRGOD15Ci0KLSMKLSMgRGlzdHJpYnV0ZWQgTG9jayBNYW5hZ2VyCi0jCiAjIENPTkZJR19ETE0gaXMgbm90IHNldAotQ09ORklHX0lOU1RSVU1FTlRBVElPTj15Ci1DT05GSUdfUFJPRklMSU5HPXkKLUNPTkZJR19PUFJPRklMRT15Ci1DT05GSUdfS1BST0JFUz15CiAKICMKICMgS2VybmVsIGhhY2tpbmcKICMKIENPTkZJR19UUkFDRV9JUlFGTEFHU19TVVBQT1JUPXkKICMgQ09ORklHX1BSSU5US19USU1FIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VOQUJMRV9XQVJOX0RFUFJFQ0FURUQgaXMgbm90IHNldAogIyBDT05GSUdfRU5BQkxFX01VU1RfQ0hFQ0sgaXMgbm90IHNldAorQ09ORklHX0ZSQU1FX1dBUk49MjA0OAogQ09ORklHX01BR0lDX1NZU1JRPXkKLUNPTkZJR19VTlVTRURfU1lNQk9MUz15Ci0jIENPTkZJR19ERUJVR19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19VTlVTRURfU1lNQk9MUyBpcyBub3Qgc2V0CitDT05GSUdfREVCVUdfRlM9eQogIyBDT05GSUdfSEVBREVSU19DSEVDSyBpcyBub3Qgc2V0CiBDT05GSUdfREVCVUdfS0VSTkVMPXkKICMgQ09ORklHX0RFQlVHX1NISVJRIGlzIG5vdCBzZXQKLUNPTkZJR19ERVRFQ1RfU09GVExPQ0tVUD15CisjIENPTkZJR19ERVRFQ1RfU09GVExPQ0tVUCBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ0hFRF9ERUJVRyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ0hFRFNUQVRTIGlzIG5vdCBzZXQKK0NPTkZJR19TQ0hFRFNUQVRTPXkKIENPTkZJR19USU1FUl9TVEFUUz15CisjIENPTkZJR19ERUJVR19PQkpFQ1RTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NMVUJfREVCVUdfT04gaXMgbm90IHNldAorIyBDT05GSUdfU0xVQl9TVEFUUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19SVF9NVVRFWEVTIGlzIG5vdCBzZXQKICMgQ09ORklHX1JUX01VVEVYX1RFU1RFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19TUElOTE9DSyBpcyBub3Qgc2V0CkBAIC0xNDE5LDQ4ICsyMDMyLDE3NCBAQAogQ09ORklHX0RFQlVHX0JVR1ZFUkJPU0U9eQogIyBDT05GSUdfREVCVUdfSU5GTyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19WTSBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19XUklURUNPVU5UIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0xJU1QgaXMgbm90IHNldAotIyBDT05GSUdfRlJBTUVfUE9JTlRFUiBpcyBub3Qgc2V0Ci1DT05GSUdfT1BUSU1JWkVfSU5MSU5JTkc9eQorIyBDT05GSUdfREVCVUdfU0cgaXMgbm90IHNldAorQ09ORklHX0ZSQU1FX1BPSU5URVI9eQorIyBDT05GSUdfQk9PVF9QUklOVEtfREVMQVkgaXMgbm90IHNldAogIyBDT05GSUdfUkNVX1RPUlRVUkVfVEVTVCBpcyBub3Qgc2V0CisjIENPTkZJR19LUFJPQkVTX1NBTklUWV9URVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JBQ0tUUkFDRV9TRUxGX1RFU1QgaXMgbm90IHNldAogIyBDT05GSUdfTEtEVE0gaXMgbm90IHNldAogIyBDT05GSUdfRkFVTFRfSU5KRUNUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xBVEVOQ1lUT1AgaXMgbm90IHNldAorQ09ORklHX1BST1ZJREVfT0hDSTEzOTRfRE1BX0lOSVQ9eQorIyBDT05GSUdfU0FNUExFUyBpcyBub3Qgc2V0CisjIENPTkZJR19LR0RCIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX0FSQ0hfS0dEQj15CisjIENPTkZJR19OT05QUk9NSVNDX0RFVk1FTSBpcyBub3Qgc2V0CiBDT05GSUdfRUFSTFlfUFJJTlRLPXkKIENPTkZJR19ERUJVR19TVEFDS09WRVJGTE9XPXkKLSMgQ09ORklHX0RFQlVHX1NUQUNLX1VTQUdFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFQlVHX1JPREFUQSBpcyBub3Qgc2V0CitDT05GSUdfREVCVUdfU1RBQ0tfVVNBR0U9eQorIyBDT05GSUdfREVCVUdfUEFHRUFMTE9DIGlzIG5vdCBzZXQKKyMgQ09ORklHX1g4Nl9QVERVTVAgaXMgbm90IHNldAorQ09ORklHX0RFQlVHX1JPREFUQT15CisjIENPTkZJR19ERUJVR19ST0RBVEFfVEVTVCBpcyBub3Qgc2V0CitDT05GSUdfREVCVUdfTlhfVEVTVD1tCiAjIENPTkZJR180S1NUQUNLUyBpcyBub3Qgc2V0CiBDT05GSUdfWDg2X0ZJTkRfU01QX0NPTkZJRz15CiBDT05GSUdfWDg2X01QUEFSU0U9eQogQ09ORklHX0RPVUJMRUZBVUxUPXkKK0NPTkZJR19JT19ERUxBWV9UWVBFXzBYODA9MAorQ09ORklHX0lPX0RFTEFZX1RZUEVfMFhFRD0xCitDT05GSUdfSU9fREVMQVlfVFlQRV9VREVMQVk9MgorQ09ORklHX0lPX0RFTEFZX1RZUEVfTk9ORT0zCitDT05GSUdfSU9fREVMQVlfMFg4MD15CisjIENPTkZJR19JT19ERUxBWV8wWEVEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lPX0RFTEFZX1VERUxBWSBpcyBub3Qgc2V0CisjIENPTkZJR19JT19ERUxBWV9OT05FIGlzIG5vdCBzZXQKK0NPTkZJR19ERUZBVUxUX0lPX0RFTEFZX1RZUEU9MAorQ09ORklHX0RFQlVHX0JPT1RfUEFSQU1TPXkKKyMgQ09ORklHX0NQQV9ERUJVRyBpcyBub3Qgc2V0CiAKICMKICMgU2VjdXJpdHkgb3B0aW9ucwogIwotIyBDT05GSUdfS0VZUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRUNVUklUWSBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE8gaXMgbm90IHNldAorQ09ORklHX0tFWVM9eQorQ09ORklHX0tFWVNfREVCVUdfUFJPQ19LRVlTPXkKK0NPTkZJR19TRUNVUklUWT15CitDT05GSUdfU0VDVVJJVFlfTkVUV09SSz15CisjIENPTkZJR19TRUNVUklUWV9ORVRXT1JLX1hGUk0gaXMgbm90IHNldAorQ09ORklHX1NFQ1VSSVRZX0NBUEFCSUxJVElFUz15CitDT05GSUdfU0VDVVJJVFlfRklMRV9DQVBBQklMSVRJRVM9eQorIyBDT05GSUdfU0VDVVJJVFlfUk9PVFBMVUcgaXMgbm90IHNldAorQ09ORklHX1NFQ1VSSVRZX0RFRkFVTFRfTU1BUF9NSU5fQUREUj02NTUzNgorQ09ORklHX1NFQ1VSSVRZX1NFTElOVVg9eQorQ09ORklHX1NFQ1VSSVRZX1NFTElOVVhfQk9PVFBBUkFNPXkKK0NPTkZJR19TRUNVUklUWV9TRUxJTlVYX0JPT1RQQVJBTV9WQUxVRT0xCitDT05GSUdfU0VDVVJJVFlfU0VMSU5VWF9ESVNBQkxFPXkKK0NPTkZJR19TRUNVUklUWV9TRUxJTlVYX0RFVkVMT1A9eQorQ09ORklHX1NFQ1VSSVRZX1NFTElOVVhfQVZDX1NUQVRTPXkKK0NPTkZJR19TRUNVUklUWV9TRUxJTlVYX0NIRUNLUkVRUFJPVF9WQUxVRT0xCisjIENPTkZJR19TRUNVUklUWV9TRUxJTlVYX0VOQUJMRV9TRUNNQVJLX0RFRkFVTFQgaXMgbm90IHNldAorIyBDT05GSUdfU0VDVVJJVFlfU0VMSU5VWF9QT0xJQ1lEQl9WRVJTSU9OX01BWCBpcyBub3Qgc2V0CisjIENPTkZJR19TRUNVUklUWV9TTUFDSyBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPPXkKKworIworIyBDcnlwdG8gY29yZSBvciBoZWxwZXIKKyMKK0NPTkZJR19DUllQVE9fQUxHQVBJPXkKK0NPTkZJR19DUllQVE9fQUVBRD15CitDT05GSUdfQ1JZUFRPX0JMS0NJUEhFUj15CitDT05GSUdfQ1JZUFRPX0hBU0g9eQorQ09ORklHX0NSWVBUT19NQU5BR0VSPXkKKyMgQ09ORklHX0NSWVBUT19HRjEyOE1VTCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fTlVMTCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ1JZUFREIGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fQVVUSEVOQz15CisjIENPTkZJR19DUllQVE9fVEVTVCBpcyBub3Qgc2V0CisKKyMKKyMgQXV0aGVudGljYXRlZCBFbmNyeXB0aW9uIHdpdGggQXNzb2NpYXRlZCBEYXRhCisjCisjIENPTkZJR19DUllQVE9fQ0NNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19HQ00gaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NFUUlWIGlzIG5vdCBzZXQKKworIworIyBCbG9jayBtb2RlcworIworQ09ORklHX0NSWVBUT19DQkM9eQorIyBDT05GSUdfQ1JZUFRPX0NUUiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ1RTIGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fRUNCPXkKKyMgQ09ORklHX0NSWVBUT19MUlcgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1BDQkMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1hUUyBpcyBub3Qgc2V0CisKKyMKKyMgSGFzaCBtb2RlcworIworQ09ORklHX0NSWVBUT19ITUFDPXkKKyMgQ09ORklHX0NSWVBUT19YQ0JDIGlzIG5vdCBzZXQKKworIworIyBEaWdlc3QKKyMKKyMgQ09ORklHX0NSWVBUT19DUkMzMkMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX01ENCBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX01ENT15CisjIENPTkZJR19DUllQVE9fTUlDSEFFTF9NSUMgaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19TSEExPXkKKyMgQ09ORklHX0NSWVBUT19TSEEyNTYgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NIQTUxMiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fVEdSMTkyIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19XUDUxMiBpcyBub3Qgc2V0CisKKyMKKyMgQ2lwaGVycworIworQ09ORklHX0NSWVBUT19BRVM9eQorIyBDT05GSUdfQ1JZUFRPX0FFU181ODYgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0FOVUJJUyBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX0FSQzQ9eQorIyBDT05GSUdfQ1JZUFRPX0JMT1dGSVNIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DQU1FTExJQSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ0FTVDUgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NBU1Q2IGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fREVTPXkKKyMgQ09ORklHX0NSWVBUT19GQ1JZUFQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0tIQVpBRCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0FMU0EyMCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0FMU0EyMF81ODYgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NFRUQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NFUlBFTlQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1RFQSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fVFdPRklTSCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fVFdPRklTSF81ODYgaXMgbm90IHNldAorCisjCisjIENvbXByZXNzaW9uCisjCisjIENPTkZJR19DUllQVE9fREVGTEFURSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fTFpPIGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fSFc9eQorIyBDT05GSUdfQ1JZUFRPX0RFVl9QQURMT0NLIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19ERVZfR0VPREUgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0RFVl9ISUZOXzc5NVggaXMgbm90IHNldAorQ09ORklHX0hBVkVfS1ZNPXkKK0NPTkZJR19WSVJUVUFMSVpBVElPTj15CisjIENPTkZJR19LVk0gaXMgbm90IHNldAorIyBDT05GSUdfTEdVRVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJUlRJT19QQ0kgaXMgbm90IHNldAorIyBDT05GSUdfVklSVElPX0JBTExPT04gaXMgbm90IHNldAogCiAjCiAjIExpYnJhcnkgcm91dGluZXMKICMKIENPTkZJR19CSVRSRVZFUlNFPXkKK0NPTkZJR19HRU5FUklDX0ZJTkRfRklSU1RfQklUPXkKK0NPTkZJR19HRU5FUklDX0ZJTkRfTkVYVF9CSVQ9eQogIyBDT05GSUdfQ1JDX0NDSVRUIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSQzE2IGlzIG5vdCBzZXQKICMgQ09ORklHX0NSQ19JVFVfVCBpcyBub3Qgc2V0CiBDT05GSUdfQ1JDMzI9eQogIyBDT05GSUdfQ1JDNyBpcyBub3Qgc2V0CiAjIENPTkZJR19MSUJDUkMzMkMgaXMgbm90IHNldAorQ09ORklHX0FVRElUX0dFTkVSSUM9eQogQ09ORklHX1pMSUJfSU5GTEFURT15CiBDT05GSUdfUExJU1Q9eQogQ09ORklHX0hBU19JT01FTT15CiBDT05GSUdfSEFTX0lPUE9SVD15CiBDT05GSUdfSEFTX0RNQT15Ci1DT05GSUdfR0VORVJJQ19IQVJESVJRUz15Ci1DT05GSUdfR0VORVJJQ19JUlFfUFJPQkU9eQotQ09ORklHX0dFTkVSSUNfUEVORElOR19JUlE9eQotQ09ORklHX1g4Nl9TTVA9eQotQ09ORklHX1g4Nl9IVD15Ci1DT05GSUdfWDg2X0JJT1NfUkVCT09UPXkKLUNPTkZJR19YODZfVFJBTVBPTElORT15Ci1DT05GSUdfS1RJTUVfU0NBTEFSPXkKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2NvbmZpZ3MveDg2XzY0X2RlZmNvbmZpZyBiL2FyY2gveDg2L2NvbmZpZ3MveDg2XzY0X2RlZmNvbmZpZwppbmRleCAyZDZmNWIyLi5hZTUxMjRlIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9jb25maWdzL3g4Nl82NF9kZWZjb25maWcKKysrIGIvYXJjaC94ODYvY29uZmlncy94ODZfNjRfZGVmY29uZmlnCkBAIC0xLDY0ICsxLDEwMyBAQAogIwogIyBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBtYWtlIGNvbmZpZzogZG9uJ3QgZWRpdAotIyBMaW51eCBrZXJuZWwgdmVyc2lvbjogMi42LjIyLWdpdDE0Ci0jIEZyaSBKdWwgMjAgMDk6NTM6MTUgMjAwNworIyBMaW51eCBrZXJuZWwgdmVyc2lvbjogMi42LjI2LXJjMQorIyBTdW4gTWF5ICA0IDE5OjU5OjU3IDIwMDgKICMKLUNPTkZJR19YODZfNjQ9eQogQ09ORklHXzY0QklUPXkKKyMgQ09ORklHX1g4Nl8zMiBpcyBub3Qgc2V0CitDT05GSUdfWDg2XzY0PXkKIENPTkZJR19YODY9eQorQ09ORklHX0RFRkNPTkZJR19MSVNUPSJhcmNoL3g4Ni9jb25maWdzL3g4Nl82NF9kZWZjb25maWciCisjIENPTkZJR19HRU5FUklDX0xPQ0tCUkVBSyBpcyBub3Qgc2V0CiBDT05GSUdfR0VORVJJQ19USU1FPXkKLUNPTkZJR19HRU5FUklDX1RJTUVfVlNZU0NBTEw9eQogQ09ORklHX0dFTkVSSUNfQ01PU19VUERBVEU9eQotQ09ORklHX1pPTkVfRE1BMzI9eQorQ09ORklHX0NMT0NLU09VUkNFX1dBVENIRE9HPXkKK0NPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTPXkKK0NPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTX0JST0FEQ0FTVD15CiBDT05GSUdfTE9DS0RFUF9TVVBQT1JUPXkKIENPTkZJR19TVEFDS1RSQUNFX1NVUFBPUlQ9eQotQ09ORklHX1NFTUFQSE9SRV9TTEVFUEVSUz15CitDT05GSUdfSEFWRV9MQVRFTkNZVE9QX1NVUFBPUlQ9eQorQ09ORklHX0ZBU1RfQ01QWENIR19MT0NBTD15CiBDT05GSUdfTU1VPXkKIENPTkZJR19aT05FX0RNQT15Ci1DT05GSUdfUVVJQ0tMSVNUPXkKLUNPTkZJR19OUl9RVUlDSz0yCi1DT05GSUdfUldTRU1fR0VORVJJQ19TUElOTE9DSz15Ci1DT05GSUdfR0VORVJJQ19IV0VJR0hUPXkKLUNPTkZJR19HRU5FUklDX0NBTElCUkFURV9ERUxBWT15Ci1DT05GSUdfWDg2X0NNUFhDSEc9eQotQ09ORklHX0VBUkxZX1BSSU5USz15CiBDT05GSUdfR0VORVJJQ19JU0FfRE1BPXkKIENPTkZJR19HRU5FUklDX0lPTUFQPXkKLUNPTkZJR19BUkNIX01BWV9IQVZFX1BDX0ZEQz15Ci1DT05GSUdfQVJDSF9QT1BVTEFURVNfTk9ERV9NQVA9eQotQ09ORklHX0RNST15Ci1DT05GSUdfQVVESVRfQVJDSD15CiBDT05GSUdfR0VORVJJQ19CVUc9eQorQ09ORklHX0dFTkVSSUNfSFdFSUdIVD15CisjIENPTkZJR19HRU5FUklDX0dQSU8gaXMgbm90IHNldAorQ09ORklHX0FSQ0hfTUFZX0hBVkVfUENfRkRDPXkKK0NPTkZJR19SV1NFTV9HRU5FUklDX1NQSU5MT0NLPXkKKyMgQ09ORklHX1JXU0VNX1hDSEdBRERfQUxHT1JJVEhNIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfSEFTX0lMT0cyX1UzMiBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0hBU19JTE9HMl9VNjQgaXMgbm90IHNldAotQ09ORklHX0RFRkNPTkZJR19MSVNUPSIvbGliL21vZHVsZXMvJFVOQU1FX1JFTEVBU0UvLmNvbmZpZyIKLQotIwotIyBDb2RlIG1hdHVyaXR5IGxldmVsIG9wdGlvbnMKLSMKLUNPTkZJR19FWFBFUklNRU5UQUw9eQotQ09ORklHX0xPQ0tfS0VSTkVMPXkKLUNPTkZJR19JTklUX0VOVl9BUkdfTElNSVQ9MzIKK0NPTkZJR19BUkNIX0hBU19DUFVfSURMRV9XQUlUPXkKK0NPTkZJR19HRU5FUklDX0NBTElCUkFURV9ERUxBWT15CitDT05GSUdfR0VORVJJQ19USU1FX1ZTWVNDQUxMPXkKK0NPTkZJR19BUkNIX0hBU19DUFVfUkVMQVg9eQorQ09ORklHX0FSQ0hfSEFTX0NBQ0hFX0xJTkVfU0laRT15CitDT05GSUdfSEFWRV9TRVRVUF9QRVJfQ1BVX0FSRUE9eQorQ09ORklHX0hBVkVfQ1BVTUFTS19PRl9DUFVfTUFQPXkKK0NPTkZJR19BUkNIX0hJQkVSTkFUSU9OX1BPU1NJQkxFPXkKK0NPTkZJR19BUkNIX1NVU1BFTkRfUE9TU0lCTEU9eQorQ09ORklHX1pPTkVfRE1BMzI9eQorQ09ORklHX0FSQ0hfUE9QVUxBVEVTX05PREVfTUFQPXkKK0NPTkZJR19BVURJVF9BUkNIPXkKK0NPTkZJR19BUkNIX1NVUFBPUlRTX0FPVVQ9eQorQ09ORklHX0FSQ0hfU1VQUE9SVFNfT1BUSU1JWkVEX0lOTElOSU5HPXkKK0NPTkZJR19HRU5FUklDX0hBUkRJUlFTPXkKK0NPTkZJR19HRU5FUklDX0lSUV9QUk9CRT15CitDT05GSUdfR0VORVJJQ19QRU5ESU5HX0lSUT15CitDT05GSUdfWDg2X1NNUD15CitDT05GSUdfWDg2XzY0X1NNUD15CitDT05GSUdfWDg2X0hUPXkKK0NPTkZJR19YODZfQklPU19SRUJPT1Q9eQorQ09ORklHX1g4Nl9UUkFNUE9MSU5FPXkKKyMgQ09ORklHX0tUSU1FX1NDQUxBUiBpcyBub3Qgc2V0CiAKICMKICMgR2VuZXJhbCBzZXR1cAogIworQ09ORklHX0VYUEVSSU1FTlRBTD15CitDT05GSUdfTE9DS19LRVJORUw9eQorQ09ORklHX0lOSVRfRU5WX0FSR19MSU1JVD0zMgogQ09ORklHX0xPQ0FMVkVSU0lPTj0iIgotQ09ORklHX0xPQ0FMVkVSU0lPTl9BVVRPPXkKKyMgQ09ORklHX0xPQ0FMVkVSU0lPTl9BVVRPIGlzIG5vdCBzZXQKIENPTkZJR19TV0FQPXkKIENPTkZJR19TWVNWSVBDPXkKIENPTkZJR19TWVNWSVBDX1NZU0NUTD15CiBDT05GSUdfUE9TSVhfTVFVRVVFPXkKLSMgQ09ORklHX0JTRF9QUk9DRVNTX0FDQ1QgaXMgbm90IHNldAotIyBDT05GSUdfVEFTS1NUQVRTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTRVJfTlMgaXMgbm90IHNldAotIyBDT05GSUdfQVVESVQgaXMgbm90IHNldAotQ09ORklHX0lLQ09ORklHPXkKLUNPTkZJR19JS0NPTkZJR19QUk9DPXkKLUNPTkZJR19MT0dfQlVGX1NISUZUPTE4Ci0jIENPTkZJR19DUFVTRVRTIGlzIG5vdCBzZXQKLUNPTkZJR19TWVNGU19ERVBSRUNBVEVEPXkKK0NPTkZJR19CU0RfUFJPQ0VTU19BQ0NUPXkKKyMgQ09ORklHX0JTRF9QUk9DRVNTX0FDQ1RfVjMgaXMgbm90IHNldAorQ09ORklHX1RBU0tTVEFUUz15CitDT05GSUdfVEFTS19ERUxBWV9BQ0NUPXkKK0NPTkZJR19UQVNLX1hBQ0NUPXkKK0NPTkZJR19UQVNLX0lPX0FDQ09VTlRJTkc9eQorQ09ORklHX0FVRElUPXkKK0NPTkZJR19BVURJVFNZU0NBTEw9eQorQ09ORklHX0FVRElUX1RSRUU9eQorIyBDT05GSUdfSUtDT05GSUcgaXMgbm90IHNldAorQ09ORklHX0xPR19CVUZfU0hJRlQ9MTcKK0NPTkZJR19DR1JPVVBTPXkKKyMgQ09ORklHX0NHUk9VUF9ERUJVRyBpcyBub3Qgc2V0CitDT05GSUdfQ0dST1VQX05TPXkKKyMgQ09ORklHX0NHUk9VUF9ERVZJQ0UgaXMgbm90IHNldAorQ09ORklHX0NQVVNFVFM9eQorQ09ORklHX0dST1VQX1NDSEVEPXkKK0NPTkZJR19GQUlSX0dST1VQX1NDSEVEPXkKKyMgQ09ORklHX1JUX0dST1VQX1NDSEVEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTRVJfU0NIRUQgaXMgbm90IHNldAorQ09ORklHX0NHUk9VUF9TQ0hFRD15CitDT05GSUdfQ0dST1VQX0NQVUFDQ1Q9eQorQ09ORklHX1JFU09VUkNFX0NPVU5URVJTPXkKKyMgQ09ORklHX0NHUk9VUF9NRU1fUkVTX0NUTFIgaXMgbm90IHNldAorIyBDT05GSUdfU1lTRlNfREVQUkVDQVRFRF9WMiBpcyBub3Qgc2V0CitDT05GSUdfUFJPQ19QSURfQ1BVU0VUPXkKIENPTkZJR19SRUxBWT15CitDT05GSUdfTkFNRVNQQUNFUz15CitDT05GSUdfVVRTX05TPXkKK0NPTkZJR19JUENfTlM9eQorQ09ORklHX1VTRVJfTlM9eQorQ09ORklHX1BJRF9OUz15CiBDT05GSUdfQkxLX0RFVl9JTklUUkQ9eQogQ09ORklHX0lOSVRSQU1GU19TT1VSQ0U9IiIKIENPTkZJR19DQ19PUFRJTUlaRV9GT1JfU0laRT15CkBAIC02NiwxMyArMTA1LDE1IEBACiAjIENPTkZJR19FTUJFRERFRCBpcyBub3Qgc2V0CiBDT05GSUdfVUlEMTY9eQogQ09ORklHX1NZU0NUTF9TWVNDQUxMPXkKK0NPTkZJR19TWVNDVExfU1lTQ0FMTF9DSEVDSz15CiBDT05GSUdfS0FMTFNZTVM9eQogQ09ORklHX0tBTExTWU1TX0FMTD15Ci0jIENPTkZJR19LQUxMU1lNU19FWFRSQV9QQVNTIGlzIG5vdCBzZXQKK0NPTkZJR19LQUxMU1lNU19FWFRSQV9QQVNTPXkKIENPTkZJR19IT1RQTFVHPXkKIENPTkZJR19QUklOVEs9eQogQ09ORklHX0JVRz15CiBDT05GSUdfRUxGX0NPUkU9eQorIyBDT05GSUdfQ09NUEFUX0JSSyBpcyBub3Qgc2V0CiBDT05GSUdfQkFTRV9GVUxMPXkKIENPTkZJR19GVVRFWD15CiBDT05GSUdfQU5PTl9JTk9ERVM9eQpAQCAtODIsOSArMTIzLDIxIEBACiBDT05GSUdfRVZFTlRGRD15CiBDT05GSUdfU0hNRU09eQogQ09ORklHX1ZNX0VWRU5UX0NPVU5URVJTPXkKLUNPTkZJR19TTEFCPXkKLSMgQ09ORklHX1NMVUIgaXMgbm90IHNldAorQ09ORklHX1NMVUJfREVCVUc9eQorIyBDT05GSUdfU0xBQiBpcyBub3Qgc2V0CitDT05GSUdfU0xVQj15CiAjIENPTkZJR19TTE9CIGlzIG5vdCBzZXQKK0NPTkZJR19QUk9GSUxJTkc9eQorQ09ORklHX01BUktFUlM9eQorIyBDT05GSUdfT1BST0ZJTEUgaXMgbm90IHNldAorQ09ORklHX0hBVkVfT1BST0ZJTEU9eQorQ09ORklHX0tQUk9CRVM9eQorQ09ORklHX0tSRVRQUk9CRVM9eQorQ09ORklHX0hBVkVfS1BST0JFUz15CitDT05GSUdfSEFWRV9LUkVUUFJPQkVTPXkKKyMgQ09ORklHX0hBVkVfRE1BX0FUVFJTIGlzIG5vdCBzZXQKK0NPTkZJR19QUk9DX1BBR0VfTU9OSVRPUj15CitDT05GSUdfU0xBQklORk89eQogQ09ORklHX1JUX01VVEVYRVM9eQogIyBDT05GSUdfVElOWV9TSE1FTSBpcyBub3Qgc2V0CiBDT05GSUdfQkFTRV9TTUFMTD0wCkBAIC05NiwxNCArMTQ5LDE1IEBACiAjIENPTkZJR19LTU9EIGlzIG5vdCBzZXQKIENPTkZJR19TVE9QX01BQ0hJTkU9eQogQ09ORklHX0JMT0NLPXkKLSMgQ09ORklHX0JMS19ERVZfSU9fVFJBQ0UgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9CU0cgaXMgbm90IHNldAorQ09ORklHX0JMS19ERVZfSU9fVFJBQ0U9eQorQ09ORklHX0JMS19ERVZfQlNHPXkKK0NPTkZJR19CTE9DS19DT01QQVQ9eQogCiAjCiAjIElPIFNjaGVkdWxlcnMKICMKIENPTkZJR19JT1NDSEVEX05PT1A9eQotIyBDT05GSUdfSU9TQ0hFRF9BUyBpcyBub3Qgc2V0CitDT05GSUdfSU9TQ0hFRF9BUz15CiBDT05GSUdfSU9TQ0hFRF9ERUFETElORT15CiBDT05GSUdfSU9TQ0hFRF9DRlE9eQogIyBDT05GSUdfREVGQVVMVF9BUyBpcyBub3Qgc2V0CkBAIC0xMTEsMTA3ICsxNjUsMTc3IEBACiBDT05GSUdfREVGQVVMVF9DRlE9eQogIyBDT05GSUdfREVGQVVMVF9OT09QIGlzIG5vdCBzZXQKIENPTkZJR19ERUZBVUxUX0lPU0NIRUQ9ImNmcSIKK0NPTkZJR19DTEFTU0lDX1JDVT15CiAKICMKICMgUHJvY2Vzc29yIHR5cGUgYW5kIGZlYXR1cmVzCiAjCi1DT05GSUdfWDg2X1BDPXkKLSMgQ09ORklHX1g4Nl9WU01QIGlzIG5vdCBzZXQKLSMgQ09ORklHX01LOCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NUFNDIGlzIG5vdCBzZXQKLSMgQ09ORklHX01DT1JFMiBpcyBub3Qgc2V0Ci1DT05GSUdfR0VORVJJQ19DUFU9eQotQ09ORklHX1g4Nl9MMV9DQUNIRV9CWVRFUz0xMjgKLUNPTkZJR19YODZfTDFfQ0FDSEVfU0hJRlQ9NwotQ09ORklHX1g4Nl9JTlRFUk5PREVfQ0FDSEVfQllURVM9MTI4Ci1DT05GSUdfWDg2X1RTQz15Ci1DT05GSUdfWDg2X0dPT0RfQVBJQz15Ci0jIENPTkZJR19NSUNST0NPREUgaXMgbm90IHNldAotQ09ORklHX1g4Nl9NU1I9eQotQ09ORklHX1g4Nl9DUFVJRD15Ci1DT05GSUdfWDg2X0hUPXkKLUNPTkZJR19YODZfSU9fQVBJQz15Ci1DT05GSUdfWDg2X0xPQ0FMX0FQSUM9eQotQ09ORklHX01UUlI9eQorQ09ORklHX1RJQ0tfT05FU0hPVD15CitDT05GSUdfTk9fSFo9eQorQ09ORklHX0hJR0hfUkVTX1RJTUVSUz15CitDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UU19CVUlMRD15CiBDT05GSUdfU01QPXkKLUNPTkZJR19TQ0hFRF9TTVQ9eQorQ09ORklHX1g4Nl9QQz15CisjIENPTkZJR19YODZfRUxBTiBpcyBub3Qgc2V0CisjIENPTkZJR19YODZfVk9ZQUdFUiBpcyBub3Qgc2V0CisjIENPTkZJR19YODZfTlVNQVEgaXMgbm90IHNldAorIyBDT05GSUdfWDg2X1NVTU1JVCBpcyBub3Qgc2V0CisjIENPTkZJR19YODZfQklHU01QIGlzIG5vdCBzZXQKKyMgQ09ORklHX1g4Nl9WSVNXUyBpcyBub3Qgc2V0CisjIENPTkZJR19YODZfR0VORVJJQ0FSQ0ggaXMgbm90IHNldAorIyBDT05GSUdfWDg2X0VTNzAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19YODZfUkRDMzIxWCBpcyBub3Qgc2V0CisjIENPTkZJR19YODZfVlNNUCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVJBVklSVF9HVUVTVCBpcyBub3Qgc2V0CitDT05GSUdfTUVNVEVTVF9CT09UUEFSQU09eQorQ09ORklHX01FTVRFU1RfQk9PVFBBUkFNX1ZBTFVFPTAKKyMgQ09ORklHX00zODYgaXMgbm90IHNldAorIyBDT05GSUdfTTQ4NiBpcyBub3Qgc2V0CisjIENPTkZJR19NNTg2IGlzIG5vdCBzZXQKKyMgQ09ORklHX001ODZUU0MgaXMgbm90IHNldAorIyBDT05GSUdfTTU4Nk1NWCBpcyBub3Qgc2V0CisjIENPTkZJR19NNjg2IGlzIG5vdCBzZXQKKyMgQ09ORklHX01QRU5USVVNSUkgaXMgbm90IHNldAorIyBDT05GSUdfTVBFTlRJVU1JSUkgaXMgbm90IHNldAorIyBDT05GSUdfTVBFTlRJVU1NIGlzIG5vdCBzZXQKKyMgQ09ORklHX01QRU5USVVNNCBpcyBub3Qgc2V0CisjIENPTkZJR19NSzYgaXMgbm90IHNldAorIyBDT05GSUdfTUs3IGlzIG5vdCBzZXQKKyMgQ09ORklHX01LOCBpcyBub3Qgc2V0CisjIENPTkZJR19NQ1JVU09FIGlzIG5vdCBzZXQKKyMgQ09ORklHX01FRkZJQ0VPTiBpcyBub3Qgc2V0CisjIENPTkZJR19NV0lOQ0hJUEM2IGlzIG5vdCBzZXQKKyMgQ09ORklHX01XSU5DSElQMiBpcyBub3Qgc2V0CisjIENPTkZJR19NV0lOQ0hJUDNEIGlzIG5vdCBzZXQKKyMgQ09ORklHX01HRU9ERUdYMSBpcyBub3Qgc2V0CisjIENPTkZJR19NR0VPREVfTFggaXMgbm90IHNldAorIyBDT05GSUdfTUNZUklYSUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX01WSUFDM18yIGlzIG5vdCBzZXQKKyMgQ09ORklHX01WSUFDNyBpcyBub3Qgc2V0CisjIENPTkZJR19NUFNDIGlzIG5vdCBzZXQKK0NPTkZJR19NQ09SRTI9eQorIyBDT05GSUdfR0VORVJJQ19DUFUgaXMgbm90IHNldAorQ09ORklHX1g4Nl9DUFU9eQorQ09ORklHX1g4Nl9MMV9DQUNIRV9CWVRFUz02NAorQ09ORklHX1g4Nl9JTlRFUk5PREVfQ0FDSEVfQllURVM9NjQKK0NPTkZJR19YODZfQ01QWENIRz15CitDT05GSUdfWDg2X0wxX0NBQ0hFX1NISUZUPTYKK0NPTkZJR19YODZfR09PRF9BUElDPXkKK0NPTkZJR19YODZfSU5URUxfVVNFUkNPUFk9eQorQ09ORklHX1g4Nl9VU0VfUFBST19DSEVDS1NVTT15CitDT05GSUdfWDg2X1A2X05PUD15CitDT05GSUdfWDg2X1RTQz15CitDT05GSUdfWDg2X0NNT1Y9eQorQ09ORklHX1g4Nl9NSU5JTVVNX0NQVV9GQU1JTFk9NjQKK0NPTkZJR19YODZfREVCVUdDVExNU1I9eQorQ09ORklHX0hQRVRfVElNRVI9eQorQ09ORklHX0hQRVRfRU1VTEFURV9SVEM9eQorQ09ORklHX0RNST15CitDT05GSUdfR0FSVF9JT01NVT15CitDT05GSUdfQ0FMR0FSWV9JT01NVT15CitDT05GSUdfQ0FMR0FSWV9JT01NVV9FTkFCTEVEX0JZX0RFRkFVTFQ9eQorQ09ORklHX1NXSU9UTEI9eQorQ09ORklHX0lPTU1VX0hFTFBFUj15CitDT05GSUdfTlJfQ1BVUz00CisjIENPTkZJR19TQ0hFRF9TTVQgaXMgbm90IHNldAogQ09ORklHX1NDSEVEX01DPXkKICMgQ09ORklHX1BSRUVNUFRfTk9ORSBpcyBub3Qgc2V0CiBDT05GSUdfUFJFRU1QVF9WT0xVTlRBUlk9eQogIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0Ci1DT05GSUdfUFJFRU1QVF9CS0w9eQorQ09ORklHX1g4Nl9MT0NBTF9BUElDPXkKK0NPTkZJR19YODZfSU9fQVBJQz15CisjIENPTkZJR19YODZfTUNFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0k4SyBpcyBub3Qgc2V0CisjIENPTkZJR19NSUNST0NPREUgaXMgbm90IHNldAorQ09ORklHX1g4Nl9NU1I9eQorQ09ORklHX1g4Nl9DUFVJRD15CiBDT05GSUdfTlVNQT15CiBDT05GSUdfSzhfTlVNQT15Ci1DT05GSUdfTk9ERVNfU0hJRlQ9NgogQ09ORklHX1g4Nl82NF9BQ1BJX05VTUE9eQotQ09ORklHX05VTUFfRU1VPXkKK0NPTkZJR19OT0RFU19TUEFOX09USEVSX05PREVTPXkKKyMgQ09ORklHX05VTUFfRU1VIGlzIG5vdCBzZXQKK0NPTkZJR19OT0RFU19TSElGVD02CitDT05GSUdfQVJDSF9TUEFSU0VNRU1fREVGQVVMVD15CitDT05GSUdfQVJDSF9TUEFSU0VNRU1fRU5BQkxFPXkKK0NPTkZJR19BUkNIX1NFTEVDVF9NRU1PUllfTU9ERUw9eQorQ09ORklHX1NFTEVDVF9NRU1PUllfTU9ERUw9eQorIyBDT05GSUdfRkxBVE1FTV9NQU5VQUwgaXMgbm90IHNldAorIyBDT05GSUdfRElTQ09OVElHTUVNX01BTlVBTCBpcyBub3Qgc2V0CitDT05GSUdfU1BBUlNFTUVNX01BTlVBTD15CitDT05GSUdfU1BBUlNFTUVNPXkKIENPTkZJR19ORUVEX01VTFRJUExFX05PREVTPXkKK0NPTkZJR19IQVZFX01FTU9SWV9QUkVTRU5UPXkKICMgQ09ORklHX1NQQVJTRU1FTV9TVEFUSUMgaXMgbm90IHNldAorQ09ORklHX1NQQVJTRU1FTV9FWFRSRU1FPXkKK0NPTkZJR19TUEFSU0VNRU1fVk1FTU1BUF9FTkFCTEU9eQorQ09ORklHX1NQQVJTRU1FTV9WTUVNTUFQPXkKKworIworIyBNZW1vcnkgaG90cGx1ZyBpcyBjdXJyZW50bHkgaW5jb21wYXRpYmxlIHdpdGggU29mdHdhcmUgU3VzcGVuZAorIworQ09ORklHX1BBR0VGTEFHU19FWFRFTkRFRD15CiBDT05GSUdfU1BMSVRfUFRMT0NLX0NQVVM9NAogQ09ORklHX01JR1JBVElPTj15CiBDT05GSUdfUkVTT1VSQ0VTXzY0QklUPXkKIENPTkZJR19aT05FX0RNQV9GTEFHPTEKIENPTkZJR19CT1VOQ0U9eQogQ09ORklHX1ZJUlRfVE9fQlVTPXkKLUNPTkZJR19IQVZFX0FSQ0hfRUFSTFlfUEZOX1RPX05JRD15Ci1DT05GSUdfT1VUX09GX0xJTkVfUEZOX1RPX1BBR0U9eQotQ09ORklHX05SX0NQVVM9MzIKK0NPTkZJR19NVFJSPXkKKyMgQ09ORklHX1g4Nl9QQVQgaXMgbm90IHNldAorQ09ORklHX0VGST15CitDT05GSUdfU0VDQ09NUD15CisjIENPTkZJR19IWl8xMDAgaXMgbm90IHNldAorIyBDT05GSUdfSFpfMjUwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0haXzMwMCBpcyBub3Qgc2V0CitDT05GSUdfSFpfMTAwMD15CitDT05GSUdfSFo9MTAwMAorQ09ORklHX1NDSEVEX0hSVElDSz15CitDT05GSUdfS0VYRUM9eQorQ09ORklHX0NSQVNIX0RVTVA9eQorQ09ORklHX1BIWVNJQ0FMX1NUQVJUPTB4MTAwMDAwMAorQ09ORklHX1JFTE9DQVRBQkxFPXkKIENPTkZJR19QSFlTSUNBTF9BTElHTj0weDIwMDAwMAogQ09ORklHX0hPVFBMVUdfQ1BVPXkKKyMgQ09ORklHX0NPTVBBVF9WRFNPIGlzIG5vdCBzZXQKIENPTkZJR19BUkNIX0VOQUJMRV9NRU1PUllfSE9UUExVRz15Ci1DT05GSUdfSFBFVF9USU1FUj15Ci1DT05GSUdfSFBFVF9FTVVMQVRFX1JUQz15Ci1DT05GSUdfR0FSVF9JT01NVT15Ci0jIENPTkZJR19DQUxHQVJZX0lPTU1VIGlzIG5vdCBzZXQKLUNPTkZJR19TV0lPVExCPXkKLUNPTkZJR19YODZfTUNFPXkKLUNPTkZJR19YODZfTUNFX0lOVEVMPXkKLUNPTkZJR19YODZfTUNFX0FNRD15Ci0jIENPTkZJR19LRVhFQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUkFTSF9EVU1QIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JFTE9DQVRBQkxFIGlzIG5vdCBzZXQKLUNPTkZJR19QSFlTSUNBTF9TVEFSVD0weDIwMDAwMAotQ09ORklHX1NFQ0NPTVA9eQotIyBDT05GSUdfQ0NfU1RBQ0tQUk9URUNUT1IgaXMgbm90IHNldAotIyBDT05GSUdfSFpfMTAwIGlzIG5vdCBzZXQKLUNPTkZJR19IWl8yNTA9eQotIyBDT05GSUdfSFpfMzAwIGlzIG5vdCBzZXQKLSMgQ09ORklHX0haXzEwMDAgaXMgbm90IHNldAotQ09ORklHX0haPTI1MAotQ09ORklHX0s4X05CPXkKLUNPTkZJR19HRU5FUklDX0hBUkRJUlFTPXkKLUNPTkZJR19HRU5FUklDX0lSUV9QUk9CRT15Ci1DT05GSUdfSVNBX0RNQV9BUEk9eQotQ09ORklHX0dFTkVSSUNfUEVORElOR19JUlE9eQorQ09ORklHX0hBVkVfQVJDSF9FQVJMWV9QRk5fVE9fTklEPXkKIAogIwogIyBQb3dlciBtYW5hZ2VtZW50IG9wdGlvbnMKICMKK0NPTkZJR19BUkNIX0hJQkVSTkFUSU9OX0hFQURFUj15CiBDT05GSUdfUE09eQotIyBDT05GSUdfUE1fTEVHQUNZIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BNX0RFQlVHIGlzIG5vdCBzZXQKK0NPTkZJR19QTV9ERUJVRz15CisjIENPTkZJR19QTV9WRVJCT1NFIGlzIG5vdCBzZXQKK0NPTkZJR19DQU5fUE1fVFJBQ0U9eQorQ09ORklHX1BNX1RSQUNFPXkKK0NPTkZJR19QTV9UUkFDRV9SVEM9eQorQ09ORklHX1BNX1NMRUVQX1NNUD15CitDT05GSUdfUE1fU0xFRVA9eQorQ09ORklHX1NVU1BFTkQ9eQorQ09ORklHX1NVU1BFTkRfRlJFRVpFUj15CiBDT05GSUdfSElCRVJOQVRJT049eQogQ09ORklHX1BNX1NURF9QQVJUSVRJT049IiIKLQotIwotIyBBQ1BJIChBZHZhbmNlZCBDb25maWd1cmF0aW9uIGFuZCBQb3dlciBJbnRlcmZhY2UpIFN1cHBvcnQKLSMKIENPTkZJR19BQ1BJPXkKIENPTkZJR19BQ1BJX1NMRUVQPXkKLUNPTkZJR19BQ1BJX1NMRUVQX1BST0NfRlM9eQotQ09ORklHX0FDUElfU0xFRVBfUFJPQ19TTEVFUD15CiBDT05GSUdfQUNQSV9QUk9DRlM9eQorQ09ORklHX0FDUElfUFJPQ0ZTX1BPV0VSPXkKK0NPTkZJR19BQ1BJX1NZU0ZTX1BPV0VSPXkKK0NPTkZJR19BQ1BJX1BST0NfRVZFTlQ9eQogQ09ORklHX0FDUElfQUM9eQogQ09ORklHX0FDUElfQkFUVEVSWT15CiBDT05GSUdfQUNQSV9CVVRUT049eQogQ09ORklHX0FDUElfRkFOPXkKLSMgQ09ORklHX0FDUElfRE9DSyBpcyBub3Qgc2V0CitDT05GSUdfQUNQSV9ET0NLPXkKKyMgQ09ORklHX0FDUElfQkFZIGlzIG5vdCBzZXQKIENPTkZJR19BQ1BJX1BST0NFU1NPUj15CiBDT05GSUdfQUNQSV9IT1RQTFVHX0NQVT15CiBDT05GSUdfQUNQSV9USEVSTUFMPXkKIENPTkZJR19BQ1BJX05VTUE9eQorIyBDT05GSUdfQUNQSV9XTUkgaXMgbm90IHNldAogIyBDT05GSUdfQUNQSV9BU1VTIGlzIG5vdCBzZXQKICMgQ09ORklHX0FDUElfVE9TSElCQSBpcyBub3Qgc2V0CisjIENPTkZJR19BQ1BJX0NVU1RPTV9EU0RUIGlzIG5vdCBzZXQKIENPTkZJR19BQ1BJX0JMQUNLTElTVF9ZRUFSPTAKICMgQ09ORklHX0FDUElfREVCVUcgaXMgbm90IHNldAogQ09ORklHX0FDUElfRUM9eQpAQCAtMjI3LDI5ICszNTEsMzQgQEAKIENPTkZJR19DUFVfRlJFUT15CiBDT05GSUdfQ1BVX0ZSRVFfVEFCTEU9eQogQ09ORklHX0NQVV9GUkVRX0RFQlVHPXkKLUNPTkZJR19DUFVfRlJFUV9TVEFUPXkKLSMgQ09ORklHX0NQVV9GUkVRX1NUQVRfREVUQUlMUyBpcyBub3Qgc2V0Ci1DT05GSUdfQ1BVX0ZSRVFfREVGQVVMVF9HT1ZfUEVSRk9STUFOQ0U9eQotIyBDT05GSUdfQ1BVX0ZSRVFfREVGQVVMVF9HT1ZfVVNFUlNQQUNFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NQVV9GUkVRX1NUQVQgaXMgbm90IHNldAorIyBDT05GSUdfQ1BVX0ZSRVFfREVGQVVMVF9HT1ZfUEVSRk9STUFOQ0UgaXMgbm90IHNldAorIyBDT05GSUdfQ1BVX0ZSRVFfREVGQVVMVF9HT1ZfUE9XRVJTQVZFIGlzIG5vdCBzZXQKK0NPTkZJR19DUFVfRlJFUV9ERUZBVUxUX0dPVl9VU0VSU1BBQ0U9eQorIyBDT05GSUdfQ1BVX0ZSRVFfREVGQVVMVF9HT1ZfT05ERU1BTkQgaXMgbm90IHNldAorIyBDT05GSUdfQ1BVX0ZSRVFfREVGQVVMVF9HT1ZfQ09OU0VSVkFUSVZFIGlzIG5vdCBzZXQKIENPTkZJR19DUFVfRlJFUV9HT1ZfUEVSRk9STUFOQ0U9eQogIyBDT05GSUdfQ1BVX0ZSRVFfR09WX1BPV0VSU0FWRSBpcyBub3Qgc2V0CiBDT05GSUdfQ1BVX0ZSRVFfR09WX1VTRVJTUEFDRT15CiBDT05GSUdfQ1BVX0ZSRVFfR09WX09OREVNQU5EPXkKLUNPTkZJR19DUFVfRlJFUV9HT1ZfQ09OU0VSVkFUSVZFPXkKKyMgQ09ORklHX0NQVV9GUkVRX0dPVl9DT05TRVJWQVRJVkUgaXMgbm90IHNldAogCiAjCiAjIENQVUZyZXEgcHJvY2Vzc29yIGRyaXZlcnMKICMKLUNPTkZJR19YODZfUE9XRVJOT1dfSzg9eQotQ09ORklHX1g4Nl9QT1dFUk5PV19LOF9BQ1BJPXkKLSMgQ09ORklHX1g4Nl9TUEVFRFNURVBfQ0VOVFJJTk8gaXMgbm90IHNldAogQ09ORklHX1g4Nl9BQ1BJX0NQVUZSRVE9eQorIyBDT05GSUdfWDg2X1BPV0VSTk9XX0s4IGlzIG5vdCBzZXQKKyMgQ09ORklHX1g4Nl9TUEVFRFNURVBfQ0VOVFJJTk8gaXMgbm90IHNldAorIyBDT05GSUdfWDg2X1A0X0NMT0NLTU9EIGlzIG5vdCBzZXQKIAogIwogIyBzaGFyZWQgb3B0aW9ucwogIwotQ09ORklHX1g4Nl9BQ1BJX0NQVUZSRVFfUFJPQ19JTlRGPXkKKyMgQ09ORklHX1g4Nl9BQ1BJX0NQVUZSRVFfUFJPQ19JTlRGIGlzIG5vdCBzZXQKICMgQ09ORklHX1g4Nl9TUEVFRFNURVBfTElCIGlzIG5vdCBzZXQKK0NPTkZJR19DUFVfSURMRT15CitDT05GSUdfQ1BVX0lETEVfR09WX0xBRERFUj15CitDT05GSUdfQ1BVX0lETEVfR09WX01FTlU9eQogCiAjCiAjIEJ1cyBvcHRpb25zIChQQ0kgZXRjLikKQEAgLTI1NywyNyArMzg2LDU2IEBACiBDT05GSUdfUENJPXkKIENPTkZJR19QQ0lfRElSRUNUPXkKIENPTkZJR19QQ0lfTU1DT05GSUc9eQorQ09ORklHX1BDSV9ET01BSU5TPXkKK0NPTkZJR19ETUFSPXkKK0NPTkZJR19ETUFSX0dGWF9XQT15CitDT05GSUdfRE1BUl9GTE9QUFlfV0E9eQogQ09ORklHX1BDSUVQT1JUQlVTPXkKKyMgQ09ORklHX0hPVFBMVUdfUENJX1BDSUUgaXMgbm90IHNldAogQ09ORklHX1BDSUVBRVI9eQorIyBDT05GSUdfUENJRUFTUE0gaXMgbm90IHNldAogQ09ORklHX0FSQ0hfU1VQUE9SVFNfTVNJPXkKIENPTkZJR19QQ0lfTVNJPXkKKyMgQ09ORklHX1BDSV9MRUdBQ1kgaXMgbm90IHNldAogIyBDT05GSUdfUENJX0RFQlVHIGlzIG5vdCBzZXQKLSMgQ09ORklHX0hUX0lSUSBpcyBub3Qgc2V0CitDT05GSUdfSFRfSVJRPXkKK0NPTkZJR19JU0FfRE1BX0FQST15CitDT05GSUdfSzhfTkI9eQorQ09ORklHX1BDQ0FSRD15CisjIENPTkZJR19QQ01DSUFfREVCVUcgaXMgbm90IHNldAorQ09ORklHX1BDTUNJQT15CitDT05GSUdfUENNQ0lBX0xPQURfQ0lTPXkKK0NPTkZJR19QQ01DSUFfSU9DVEw9eQorQ09ORklHX0NBUkRCVVM9eQogCiAjCi0jIFBDQ0FSRCAoUENNQ0lBL0NhcmRCdXMpIHN1cHBvcnQKKyMgUEMtY2FyZCBicmlkZ2VzCiAjCi0jIENPTkZJR19QQ0NBUkQgaXMgbm90IHNldAotIyBDT05GSUdfSE9UUExVR19QQ0kgaXMgbm90IHNldAorQ09ORklHX1lFTlRBPXkKK0NPTkZJR19ZRU5UQV9PMj15CitDT05GSUdfWUVOVEFfUklDT0g9eQorQ09ORklHX1lFTlRBX1RJPXkKK0NPTkZJR19ZRU5UQV9FTkVfVFVORT15CitDT05GSUdfWUVOVEFfVE9TSElCQT15CisjIENPTkZJR19QRDY3MjkgaXMgbm90IHNldAorIyBDT05GSUdfSTgyMDkyIGlzIG5vdCBzZXQKK0NPTkZJR19QQ0NBUkRfTk9OU1RBVElDPXkKK0NPTkZJR19IT1RQTFVHX1BDST15CisjIENPTkZJR19IT1RQTFVHX1BDSV9GQUtFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hPVFBMVUdfUENJX0FDUEkgaXMgbm90IHNldAorIyBDT05GSUdfSE9UUExVR19QQ0lfQ1BDSSBpcyBub3Qgc2V0CisjIENPTkZJR19IT1RQTFVHX1BDSV9TSFBDIGlzIG5vdCBzZXQKIAogIwogIyBFeGVjdXRhYmxlIGZpbGUgZm9ybWF0cyAvIEVtdWxhdGlvbnMKICMKIENPTkZJR19CSU5GTVRfRUxGPXkKLSMgQ09ORklHX0JJTkZNVF9NSVNDIGlzIG5vdCBzZXQKK0NPTkZJR19DT01QQVRfQklORk1UX0VMRj15CitDT05GSUdfQklORk1UX01JU0M9eQogQ09ORklHX0lBMzJfRU1VTEFUSU9OPXkKLUNPTkZJR19JQTMyX0FPVVQ9eQorIyBDT05GSUdfSUEzMl9BT1VUIGlzIG5vdCBzZXQKIENPTkZJR19DT01QQVQ9eQorQ09ORklHX0NPTVBBVF9GT1JfVTY0X0FMSUdOTUVOVD15CiBDT05GSUdfU1lTVklQQ19DT01QQVQ9eQogCiAjCkBAIC0yODksMjIgKzQ0NywzMSBAQAogIyBOZXR3b3JraW5nIG9wdGlvbnMKICMKIENPTkZJR19QQUNLRVQ9eQotIyBDT05GSUdfUEFDS0VUX01NQVAgaXMgbm90IHNldAorQ09ORklHX1BBQ0tFVF9NTUFQPXkKIENPTkZJR19VTklYPXkKK0NPTkZJR19YRlJNPXkKK0NPTkZJR19YRlJNX1VTRVI9eQorIyBDT05GSUdfWEZSTV9TVUJfUE9MSUNZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1hGUk1fTUlHUkFURSBpcyBub3Qgc2V0CisjIENPTkZJR19YRlJNX1NUQVRJU1RJQ1MgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0tFWSBpcyBub3Qgc2V0CiBDT05GSUdfSU5FVD15CiBDT05GSUdfSVBfTVVMVElDQVNUPXkKLSMgQ09ORklHX0lQX0FEVkFOQ0VEX1JPVVRFUiBpcyBub3Qgc2V0CitDT05GSUdfSVBfQURWQU5DRURfUk9VVEVSPXkKK0NPTkZJR19BU0tfSVBfRklCX0hBU0g9eQorIyBDT05GSUdfSVBfRklCX1RSSUUgaXMgbm90IHNldAogQ09ORklHX0lQX0ZJQl9IQVNIPXkKLUNPTkZJR19JUF9QTlA9eQotQ09ORklHX0lQX1BOUF9ESENQPXkKLSMgQ09ORklHX0lQX1BOUF9CT09UUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JUF9QTlBfUkFSUCBpcyBub3Qgc2V0CitDT05GSUdfSVBfTVVMVElQTEVfVEFCTEVTPXkKK0NPTkZJR19JUF9ST1VURV9NVUxUSVBBVEg9eQorQ09ORklHX0lQX1JPVVRFX1ZFUkJPU0U9eQorIyBDT05GSUdfSVBfUE5QIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9JUElQIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9JUEdSRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19JUF9NUk9VVEUgaXMgbm90IHNldAorQ09ORklHX0lQX01ST1VURT15CitDT05GSUdfSVBfUElNU01fVjE9eQorQ09ORklHX0lQX1BJTVNNX1YyPXkKICMgQ09ORklHX0FSUEQgaXMgbm90IHNldAotIyBDT05GSUdfU1lOX0NPT0tJRVMgaXMgbm90IHNldAorQ09ORklHX1NZTl9DT09LSUVTPXkKICMgQ09ORklHX0lORVRfQUggaXMgbm90IHNldAogIyBDT05GSUdfSU5FVF9FU1AgaXMgbm90IHNldAogIyBDT05GSUdfSU5FVF9JUENPTVAgaXMgbm90IHNldApAQCAtMzEzLDMxICs0ODAsMTA5IEBACiAjIENPTkZJR19JTkVUX1hGUk1fTU9ERV9UUkFOU1BPUlQgaXMgbm90IHNldAogIyBDT05GSUdfSU5FVF9YRlJNX01PREVfVFVOTkVMIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORVRfWEZSTV9NT0RFX0JFRVQgaXMgbm90IHNldAotQ09ORklHX0lORVRfRElBRz15Ci1DT05GSUdfSU5FVF9UQ1BfRElBRz15Ci0jIENPTkZJR19UQ1BfQ09OR19BRFZBTkNFRCBpcyBub3Qgc2V0CitDT05GSUdfSU5FVF9MUk89eQorIyBDT05GSUdfSU5FVF9ESUFHIGlzIG5vdCBzZXQKK0NPTkZJR19UQ1BfQ09OR19BRFZBTkNFRD15CisjIENPTkZJR19UQ1BfQ09OR19CSUMgaXMgbm90IHNldAogQ09ORklHX1RDUF9DT05HX0NVQklDPXkKKyMgQ09ORklHX1RDUF9DT05HX1dFU1RXT09EIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RDUF9DT05HX0hUQ1AgaXMgbm90IHNldAorIyBDT05GSUdfVENQX0NPTkdfSFNUQ1AgaXMgbm90IHNldAorIyBDT05GSUdfVENQX0NPTkdfSFlCTEEgaXMgbm90IHNldAorIyBDT05GSUdfVENQX0NPTkdfVkVHQVMgaXMgbm90IHNldAorIyBDT05GSUdfVENQX0NPTkdfU0NBTEFCTEUgaXMgbm90IHNldAorIyBDT05GSUdfVENQX0NPTkdfTFAgaXMgbm90IHNldAorIyBDT05GSUdfVENQX0NPTkdfVkVOTyBpcyBub3Qgc2V0CisjIENPTkZJR19UQ1BfQ09OR19ZRUFIIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RDUF9DT05HX0lMTElOT0lTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFRkFVTFRfQklDIGlzIG5vdCBzZXQKK0NPTkZJR19ERUZBVUxUX0NVQklDPXkKKyMgQ09ORklHX0RFRkFVTFRfSFRDUCBpcyBub3Qgc2V0CisjIENPTkZJR19ERUZBVUxUX1ZFR0FTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFRkFVTFRfV0VTVFdPT0QgaXMgbm90IHNldAorIyBDT05GSUdfREVGQVVMVF9SRU5PIGlzIG5vdCBzZXQKIENPTkZJR19ERUZBVUxUX1RDUF9DT05HPSJjdWJpYyIKLSMgQ09ORklHX1RDUF9NRDVTSUcgaXMgbm90IHNldAorQ09ORklHX1RDUF9NRDVTSUc9eQorIyBDT05GSUdfSVBfVlMgaXMgbm90IHNldAogQ09ORklHX0lQVjY9eQogIyBDT05GSUdfSVBWNl9QUklWQUNZIGlzIG5vdCBzZXQKICMgQ09ORklHX0lQVjZfUk9VVEVSX1BSRUYgaXMgbm90IHNldAogIyBDT05GSUdfSVBWNl9PUFRJTUlTVElDX0RBRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTkVUNl9BSCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTkVUNl9FU1AgaXMgbm90IHNldAorQ09ORklHX0lORVQ2X0FIPXkKK0NPTkZJR19JTkVUNl9FU1A9eQogIyBDT05GSUdfSU5FVDZfSVBDT01QIGlzIG5vdCBzZXQKICMgQ09ORklHX0lQVjZfTUlQNiBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkVUNl9YRlJNX1RVTk5FTCBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkVUNl9UVU5ORUwgaXMgbm90IHNldAotIyBDT05GSUdfSU5FVDZfWEZSTV9NT0RFX1RSQU5TUE9SVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTkVUNl9YRlJNX01PREVfVFVOTkVMIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lORVQ2X1hGUk1fTU9ERV9CRUVUIGlzIG5vdCBzZXQKK0NPTkZJR19JTkVUNl9YRlJNX01PREVfVFJBTlNQT1JUPXkKK0NPTkZJR19JTkVUNl9YRlJNX01PREVfVFVOTkVMPXkKK0NPTkZJR19JTkVUNl9YRlJNX01PREVfQkVFVD15CiAjIENPTkZJR19JTkVUNl9YRlJNX01PREVfUk9VVEVPUFRJTUlaQVRJT04gaXMgbm90IHNldAogQ09ORklHX0lQVjZfU0lUPXkKK0NPTkZJR19JUFY2X05ESVNDX05PREVUWVBFPXkKICMgQ09ORklHX0lQVjZfVFVOTkVMIGlzIG5vdCBzZXQKICMgQ09ORklHX0lQVjZfTVVMVElQTEVfVEFCTEVTIGlzIG5vdCBzZXQKLSMgQ09ORklHX05FVFdPUktfU0VDTUFSSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19ORVRGSUxURVIgaXMgbm90IHNldAorIyBDT05GSUdfSVBWNl9NUk9VVEUgaXMgbm90IHNldAorQ09ORklHX05FVExBQkVMPXkKK0NPTkZJR19ORVRXT1JLX1NFQ01BUks9eQorQ09ORklHX05FVEZJTFRFUj15CisjIENPTkZJR19ORVRGSUxURVJfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfTkVURklMVEVSX0FEVkFOQ0VEIGlzIG5vdCBzZXQKKworIworIyBDb3JlIE5ldGZpbHRlciBDb25maWd1cmF0aW9uCisjCitDT05GSUdfTkVURklMVEVSX05FVExJTks9eQorQ09ORklHX05FVEZJTFRFUl9ORVRMSU5LX0xPRz15CitDT05GSUdfTkZfQ09OTlRSQUNLPXkKK0NPTkZJR19ORl9DT05OVFJBQ0tfU0VDTUFSSz15CitDT05GSUdfTkZfQ09OTlRSQUNLX0ZUUD15CitDT05GSUdfTkZfQ09OTlRSQUNLX0lSQz15CitDT05GSUdfTkZfQ09OTlRSQUNLX1NJUD15CitDT05GSUdfTkZfQ1RfTkVUTElOSz15CitDT05GSUdfTkVURklMVEVSX1hUQUJMRVM9eQorQ09ORklHX05FVEZJTFRFUl9YVF9UQVJHRVRfTUFSSz15CitDT05GSUdfTkVURklMVEVSX1hUX1RBUkdFVF9ORkxPRz15CitDT05GSUdfTkVURklMVEVSX1hUX1RBUkdFVF9TRUNNQVJLPXkKK0NPTkZJR19ORVRGSUxURVJfWFRfVEFSR0VUX0NPTk5TRUNNQVJLPXkKK0NPTkZJR19ORVRGSUxURVJfWFRfVEFSR0VUX1RDUE1TUz15CitDT05GSUdfTkVURklMVEVSX1hUX01BVENIX0NPTk5UUkFDSz15CitDT05GSUdfTkVURklMVEVSX1hUX01BVENIX01BUks9eQorQ09ORklHX05FVEZJTFRFUl9YVF9NQVRDSF9QT0xJQ1k9eQorQ09ORklHX05FVEZJTFRFUl9YVF9NQVRDSF9TVEFURT15CisKKyMKKyMgSVA6IE5ldGZpbHRlciBDb25maWd1cmF0aW9uCisjCitDT05GSUdfTkZfQ09OTlRSQUNLX0lQVjQ9eQorQ09ORklHX05GX0NPTk5UUkFDS19QUk9DX0NPTVBBVD15CitDT05GSUdfSVBfTkZfSVBUQUJMRVM9eQorQ09ORklHX0lQX05GX0ZJTFRFUj15CitDT05GSUdfSVBfTkZfVEFSR0VUX1JFSkVDVD15CitDT05GSUdfSVBfTkZfVEFSR0VUX0xPRz15CitDT05GSUdfSVBfTkZfVEFSR0VUX1VMT0c9eQorQ09ORklHX05GX05BVD15CitDT05GSUdfTkZfTkFUX05FRURFRD15CitDT05GSUdfSVBfTkZfVEFSR0VUX01BU1FVRVJBREU9eQorQ09ORklHX05GX05BVF9GVFA9eQorQ09ORklHX05GX05BVF9JUkM9eQorIyBDT05GSUdfTkZfTkFUX1RGVFAgaXMgbm90IHNldAorIyBDT05GSUdfTkZfTkFUX0FNQU5EQSBpcyBub3Qgc2V0CisjIENPTkZJR19ORl9OQVRfUFBUUCBpcyBub3Qgc2V0CisjIENPTkZJR19ORl9OQVRfSDMyMyBpcyBub3Qgc2V0CitDT05GSUdfTkZfTkFUX1NJUD15CitDT05GSUdfSVBfTkZfTUFOR0xFPXkKKworIworIyBJUHY2OiBOZXRmaWx0ZXIgQ29uZmlndXJhdGlvbgorIworQ09ORklHX05GX0NPTk5UUkFDS19JUFY2PXkKK0NPTkZJR19JUDZfTkZfSVBUQUJMRVM9eQorQ09ORklHX0lQNl9ORl9NQVRDSF9JUFY2SEVBREVSPXkKK0NPTkZJR19JUDZfTkZfRklMVEVSPXkKK0NPTkZJR19JUDZfTkZfVEFSR0VUX0xPRz15CitDT05GSUdfSVA2X05GX1RBUkdFVF9SRUpFQ1Q9eQorQ09ORklHX0lQNl9ORl9NQU5HTEU9eQogIyBDT05GSUdfSVBfRENDUCBpcyBub3Qgc2V0CiAjIENPTkZJR19JUF9TQ1RQIGlzIG5vdCBzZXQKICMgQ09ORklHX1RJUEMgaXMgbm90IHNldApAQCAtMzQ1LDYgKzU5MCw3IEBACiAjIENPTkZJR19CUklER0UgaXMgbm90IHNldAogIyBDT05GSUdfVkxBTl84MDIxUSBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUNORVQgaXMgbm90IHNldAorQ09ORklHX0xMQz15CiAjIENPTkZJR19MTEMyIGlzIG5vdCBzZXQKICMgQ09ORklHX0lQWCBpcyBub3Qgc2V0CiAjIENPTkZJR19BVEFMSyBpcyBub3Qgc2V0CkBAIC0zNTIsMjggKzU5OCw5OSBAQAogIyBDT05GSUdfTEFQQiBpcyBub3Qgc2V0CiAjIENPTkZJR19FQ09ORVQgaXMgbm90IHNldAogIyBDT05GSUdfV0FOX1JPVVRFUiBpcyBub3Qgc2V0CitDT05GSUdfTkVUX1NDSEVEPXkKIAogIwotIyBRb1MgYW5kL29yIGZhaXIgcXVldWVpbmcKKyMgUXVldWVpbmcvU2NoZWR1bGluZwogIwotIyBDT05GSUdfTkVUX1NDSEVEIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9TQ0hfQ0JRIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9TQ0hfSFRCIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9TQ0hfSEZTQyBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfU0NIX1BSSU8gaXMgbm90IHNldAorIyBDT05GSUdfTkVUX1NDSF9SUiBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfU0NIX1JFRCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfU0NIX1NGUSBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfU0NIX1RFUUwgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX1NDSF9UQkYgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX1NDSF9HUkVEIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9TQ0hfRFNNQVJLIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9TQ0hfTkVURU0gaXMgbm90IHNldAorIyBDT05GSUdfTkVUX1NDSF9JTkdSRVNTIGlzIG5vdCBzZXQKKworIworIyBDbGFzc2lmaWNhdGlvbgorIworQ09ORklHX05FVF9DTFM9eQorIyBDT05GSUdfTkVUX0NMU19CQVNJQyBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfQ0xTX1RDSU5ERVggaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0NMU19ST1VURTQgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0NMU19GVyBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfQ0xTX1UzMiBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfQ0xTX1JTVlAgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0NMU19SU1ZQNiBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfQ0xTX0ZMT1cgaXMgbm90IHNldAorQ09ORklHX05FVF9FTUFUQ0g9eQorQ09ORklHX05FVF9FTUFUQ0hfU1RBQ0s9MzIKKyMgQ09ORklHX05FVF9FTUFUQ0hfQ01QIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9FTUFUQ0hfTkJZVEUgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0VNQVRDSF9VMzIgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0VNQVRDSF9NRVRBIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9FTUFUQ0hfVEVYVCBpcyBub3Qgc2V0CitDT05GSUdfTkVUX0NMU19BQ1Q9eQorIyBDT05GSUdfTkVUX0FDVF9QT0xJQ0UgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0FDVF9HQUNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9BQ1RfTUlSUkVEIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9BQ1RfSVBUIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9BQ1RfTkFUIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9BQ1RfUEVESVQgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0FDVF9TSU1QIGlzIG5vdCBzZXQKK0NPTkZJR19ORVRfU0NIX0ZJRk89eQogCiAjCiAjIE5ldHdvcmsgdGVzdGluZwogIwogIyBDT05GSUdfTkVUX1BLVEdFTiBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfVENQUFJPQkUgaXMgbm90IHNldAotIyBDT05GSUdfSEFNUkFESU8gaXMgbm90IHNldAorQ09ORklHX0hBTVJBRElPPXkKKworIworIyBQYWNrZXQgUmFkaW8gcHJvdG9jb2xzCisjCisjIENPTkZJR19BWDI1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19JUkRBIGlzIG5vdCBzZXQKICMgQ09ORklHX0JUIGlzIG5vdCBzZXQKICMgQ09ORklHX0FGX1JYUlBDIGlzIG5vdCBzZXQKK0NPTkZJR19GSUJfUlVMRVM9eQogCiAjCiAjIFdpcmVsZXNzCiAjCi0jIENPTkZJR19DRkc4MDIxMSBpcyBub3Qgc2V0Ci0jIENPTkZJR19XSVJFTEVTU19FWFQgaXMgbm90IHNldAotIyBDT05GSUdfTUFDODAyMTEgaXMgbm90IHNldAorQ09ORklHX0NGRzgwMjExPXkKK0NPTkZJR19OTDgwMjExPXkKK0NPTkZJR19XSVJFTEVTU19FWFQ9eQorQ09ORklHX01BQzgwMjExPXkKKworIworIyBSYXRlIGNvbnRyb2wgYWxnb3JpdGhtIHNlbGVjdGlvbgorIworQ09ORklHX01BQzgwMjExX1JDX0RFRkFVTFRfUElEPXkKKyMgQ09ORklHX01BQzgwMjExX1JDX0RFRkFVTFRfTk9ORSBpcyBub3Qgc2V0CisKKyMKKyMgU2VsZWN0aW5nICd5JyBmb3IgYW4gYWxnb3JpdGhtIHdpbGwKKyMKKworIworIyBidWlsZCB0aGUgYWxnb3JpdGhtIGludG8gbWFjODAyMTEuCisjCitDT05GSUdfTUFDODAyMTFfUkNfREVGQVVMVD0icGlkIgorQ09ORklHX01BQzgwMjExX1JDX1BJRD15CisjIENPTkZJR19NQUM4MDIxMV9NRVNIIGlzIG5vdCBzZXQKK0NPTkZJR19NQUM4MDIxMV9MRURTPXkKKyMgQ09ORklHX01BQzgwMjExX0RFQlVHRlMgaXMgbm90IHNldAorIyBDT05GSUdfTUFDODAyMTFfREVCVUdfUEFDS0VUX0FMSUdOTUVOVCBpcyBub3Qgc2V0CisjIENPTkZJR19NQUM4MDIxMV9ERUJVRyBpcyBub3Qgc2V0CiAjIENPTkZJR19JRUVFODAyMTEgaXMgbm90IHNldAogIyBDT05GSUdfUkZLSUxMIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF85UCBpcyBub3Qgc2V0CkBAIC0zODUsMTMgKzcwMiwxNSBAQAogIwogIyBHZW5lcmljIERyaXZlciBPcHRpb25zCiAjCitDT05GSUdfVUVWRU5UX0hFTFBFUl9QQVRIPSIvc2Jpbi9ob3RwbHVnIgogQ09ORklHX1NUQU5EQUxPTkU9eQogQ09ORklHX1BSRVZFTlRfRklSTVdBUkVfQlVJTEQ9eQogQ09ORklHX0ZXX0xPQURFUj15CiAjIENPTkZJR19ERUJVR19EUklWRVIgaXMgbm90IHNldAotIyBDT05GSUdfREVCVUdfREVWUkVTIGlzIG5vdCBzZXQKK0NPTkZJR19ERUJVR19ERVZSRVM9eQogIyBDT05GSUdfU1lTX0hZUEVSVklTT1IgaXMgbm90IHNldAotIyBDT05GSUdfQ09OTkVDVE9SIGlzIG5vdCBzZXQKK0NPTkZJR19DT05ORUNUT1I9eQorQ09ORklHX1BST0NfRVZFTlRTPXkKICMgQ09ORklHX01URCBpcyBub3Qgc2V0CiAjIENPTkZJR19QQVJQT1JUIGlzIG5vdCBzZXQKIENPTkZJR19QTlA9eQpAQCAtNDAyLDcgKzcyMSw3IEBACiAjCiBDT05GSUdfUE5QQUNQST15CiBDT05GSUdfQkxLX0RFVj15Ci1DT05GSUdfQkxLX0RFVl9GRD15CisjIENPTkZJR19CTEtfREVWX0ZEIGlzIG5vdCBzZXQKICMgQ09ORklHX0JMS19DUFFfREEgaXMgbm90IHNldAogIyBDT05GSUdfQkxLX0NQUV9DSVNTX0RBIGlzIG5vdCBzZXQKICMgQ09ORklHX0JMS19ERVZfREFDOTYwIGlzIG5vdCBzZXQKQEAgLTQxNSw4ICs3MzQsOCBAQAogIyBDT05GSUdfQkxLX0RFVl9VQiBpcyBub3Qgc2V0CiBDT05GSUdfQkxLX0RFVl9SQU09eQogQ09ORklHX0JMS19ERVZfUkFNX0NPVU5UPTE2Ci1DT05GSUdfQkxLX0RFVl9SQU1fU0laRT00MDk2Ci1DT05GSUdfQkxLX0RFVl9SQU1fQkxPQ0tTSVpFPTEwMjQKK0NPTkZJR19CTEtfREVWX1JBTV9TSVpFPTE2Mzg0CisjIENPTkZJR19CTEtfREVWX1hJUCBpcyBub3Qgc2V0CiAjIENPTkZJR19DRFJPTV9QS1RDRFZEIGlzIG5vdCBzZXQKICMgQ09ORklHX0FUQV9PVkVSX0VUSCBpcyBub3Qgc2V0CiBDT05GSUdfTUlTQ19ERVZJQ0VTPXkKQEAgLTQyNSw3MiArNzQ0LDE2IEBACiAjIENPTkZJR19FRVBST01fOTNDWDYgaXMgbm90IHNldAogIyBDT05GSUdfU0dJX0lPQzQgaXMgbm90IHNldAogIyBDT05GSUdfVElGTV9DT1JFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FDRVJfV01JIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FTVVNfTEFQVE9QIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZVSklUU1VfTEFQVE9QIGlzIG5vdCBzZXQKKyMgQ09ORklHX01TSV9MQVBUT1AgaXMgbm90IHNldAogIyBDT05GSUdfU09OWV9MQVBUT1AgaXMgbm90IHNldAogIyBDT05GSUdfVEhJTktQQURfQUNQSSBpcyBub3Qgc2V0Ci1DT05GSUdfSURFPXkKLUNPTkZJR19CTEtfREVWX0lERT15Ci0KLSMKLSMgUGxlYXNlIHNlZSBEb2N1bWVudGF0aW9uL2lkZS50eHQgZm9yIGhlbHAvaW5mbyBvbiBJREUgZHJpdmVzCi0jCi0jIENPTkZJR19CTEtfREVWX0lERV9TQVRBIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfSERfSURFIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX0lERURJU0s9eQotQ09ORklHX0lERURJU0tfTVVMVElfTU9ERT15Ci1DT05GSUdfQkxLX0RFVl9JREVDRD15Ci0jIENPTkZJR19CTEtfREVWX0lERVRBUEUgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9JREVGTE9QUFkgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9JREVTQ1NJIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX0lERUFDUEk9eQotIyBDT05GSUdfSURFX1RBU0tfSU9DVEwgaXMgbm90IHNldAotQ09ORklHX0lERV9QUk9DX0ZTPXkKLQotIwotIyBJREUgY2hpcHNldCBzdXBwb3J0L2J1Z2ZpeGVzCi0jCi1DT05GSUdfSURFX0dFTkVSSUM9eQotIyBDT05GSUdfQkxLX0RFVl9DTUQ2NDAgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9JREVQTlAgaXMgbm90IHNldAotQ09ORklHX0JMS19ERVZfSURFUENJPXkKLSMgQ09ORklHX0lERVBDSV9TSEFSRV9JUlEgaXMgbm90IHNldAotQ09ORklHX0lERVBDSV9QQ0lCVVNfT1JERVI9eQotIyBDT05GSUdfQkxLX0RFVl9PRkZCT0FSRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0dFTkVSSUMgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9PUFRJNjIxIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfUloxMDAwIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX0lERURNQV9QQ0k9eQotIyBDT05GSUdfQkxLX0RFVl9JREVETUFfRk9SQ0VEIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lERURNQV9PTkxZRElTSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0FFQzYyWFggaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9BTEkxNVgzIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX0FNRDc0WFg9eQotQ09ORklHX0JMS19ERVZfQVRJSVhQPXkKLSMgQ09ORklHX0JMS19ERVZfQ01ENjRYIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfVFJJRkxFWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0NZODJDNjkzIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfQ1M1NTIwIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfQ1M1NTMwIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfSFBUMzRYIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfSFBUMzY2IGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfSk1JQ1JPTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX1NDMTIwMCBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9QSUlYPXkKLSMgQ09ORklHX0JMS19ERVZfSVQ4MjEzIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfSVQ4MjFYIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfTlM4NzQxNSBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX1BEQzIwMlhYX09MRCBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9QREMyMDJYWF9ORVc9eQotIyBDT05GSUdfQkxLX0RFVl9TVldLUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX1NJSU1BR0UgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9TSVM1NTEzIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfU0xDOTBFNjYgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9UUk0yOTAgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9WSUE4MkNYWFggaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9UQzg2QzAwMSBpcyBub3Qgc2V0Ci0jIENPTkZJR19JREVfQVJNIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX0lERURNQT15Ci0jIENPTkZJR19JREVETUFfSVZCIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfSEQgaXMgbm90IHNldAorIyBDT05GSUdfSU5URUxfTUVOTE9XIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VOQ0xPU1VSRV9TRVJWSUNFUyBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9JREU9eQorIyBDT05GSUdfSURFIGlzIG5vdCBzZXQKIAogIwogIyBTQ1NJIGRldmljZSBzdXBwb3J0CkBAIC00OTksOCArNzYyLDggQEAKIENPTkZJR19TQ1NJPXkKIENPTkZJR19TQ1NJX0RNQT15CiAjIENPTkZJR19TQ1NJX1RHVCBpcyBub3Qgc2V0Ci1DT05GSUdfU0NTSV9ORVRMSU5LPXkKLSMgQ09ORklHX1NDU0lfUFJPQ19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX05FVExJTksgaXMgbm90IHNldAorQ09ORklHX1NDU0lfUFJPQ19GUz15CiAKICMKICMgU0NTSSBzdXBwb3J0IHR5cGUgKGRpc2ssIHRhcGUsIENELVJPTSkKQEAgLTUwOSw3ICs3NzIsNyBAQAogIyBDT05GSUdfQ0hSX0RFVl9TVCBpcyBub3Qgc2V0CiAjIENPTkZJR19DSFJfREVWX09TU1QgaXMgbm90IHNldAogQ09ORklHX0JMS19ERVZfU1I9eQotIyBDT05GSUdfQkxLX0RFVl9TUl9WRU5ET1IgaXMgbm90IHNldAorQ09ORklHX0JMS19ERVZfU1JfVkVORE9SPXkKIENPTkZJR19DSFJfREVWX1NHPXkKICMgQ09ORklHX0NIUl9ERVZfU0NIIGlzIG5vdCBzZXQKIApAQCAtNTI2LDczICs3ODksMzcgQEAKICMgU0NTSSBUcmFuc3BvcnRzCiAjCiBDT05GSUdfU0NTSV9TUElfQVRUUlM9eQotQ09ORklHX1NDU0lfRkNfQVRUUlM9eQorIyBDT05GSUdfU0NTSV9GQ19BVFRSUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0lTQ1NJX0FUVFJTIGlzIG5vdCBzZXQKLUNPTkZJR19TQ1NJX1NBU19BVFRSUz15CisjIENPTkZJR19TQ1NJX1NBU19BVFRSUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1NBU19MSUJTQVMgaXMgbm90IHNldAotCi0jCi0jIFNDU0kgbG93LWxldmVsIGRyaXZlcnMKLSMKLSMgQ09ORklHX0lTQ1NJX1RDUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWXzNXX1hYWFhfUkFJRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJXzNXXzlYWFggaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9BQ0FSRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0FBQ1JBSUQgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9BSUM3WFhYIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfQUlDN1hYWF9PTEQgaXMgbm90IHNldAotQ09ORklHX1NDU0lfQUlDNzlYWD15Ci1DT05GSUdfQUlDNzlYWF9DTURTX1BFUl9ERVZJQ0U9MzIKLUNPTkZJR19BSUM3OVhYX1JFU0VUX0RFTEFZX01TPTQwMDAKLSMgQ09ORklHX0FJQzc5WFhfREVCVUdfRU5BQkxFIGlzIG5vdCBzZXQKLUNPTkZJR19BSUM3OVhYX0RFQlVHX01BU0s9MAotIyBDT05GSUdfQUlDNzlYWF9SRUdfUFJFVFRZX1BSSU5UIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfQUlDOTRYWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0FSQ01TUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19NRUdBUkFJRF9ORVdHRU4gaXMgbm90IHNldAotIyBDT05GSUdfTUVHQVJBSURfTEVHQUNZIGlzIG5vdCBzZXQKLSMgQ09ORklHX01FR0FSQUlEX1NBUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0hQVElPUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0JVU0xPR0lDIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfRE1YMzE5MUQgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9FQVRBIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfRlVUVVJFX0RPTUFJTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0dEVEggaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9JUFMgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9JTklUSU8gaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9JTklBMTAwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfU1RFWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX1NZTTUzQzhYWF8yIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfSVBSIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfUUxPR0lDXzEyODAgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9RTEFfRkMgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9RTEFfSVNDU0kgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9MUEZDIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfREMzOTV4IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfREMzOTBUIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfREVCVUcgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9TUlAgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9TUlBfQVRUUlMgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9MT1dMRVZFTCBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX0xPV0xFVkVMX1BDTUNJQSBpcyBub3Qgc2V0CiBDT05GSUdfQVRBPXkKICMgQ09ORklHX0FUQV9OT05TVEFOREFSRCBpcyBub3Qgc2V0CiBDT05GSUdfQVRBX0FDUEk9eQorQ09ORklHX1NBVEFfUE1QPXkKIENPTkZJR19TQVRBX0FIQ0k9eQotQ09ORklHX1NBVEFfU1ZXPXkKKyMgQ09ORklHX1NBVEFfU0lMMjQgaXMgbm90IHNldAorQ09ORklHX0FUQV9TRkY9eQorIyBDT05GSUdfU0FUQV9TVlcgaXMgbm90IHNldAogQ09ORklHX0FUQV9QSUlYPXkKICMgQ09ORklHX1NBVEFfTVYgaXMgbm90IHNldAotQ09ORklHX1NBVEFfTlY9eQorIyBDT05GSUdfU0FUQV9OViBpcyBub3Qgc2V0CiAjIENPTkZJR19QRENfQURNQSBpcyBub3Qgc2V0CiAjIENPTkZJR19TQVRBX1FTVE9SIGlzIG5vdCBzZXQKICMgQ09ORklHX1NBVEFfUFJPTUlTRSBpcyBub3Qgc2V0CiAjIENPTkZJR19TQVRBX1NYNCBpcyBub3Qgc2V0Ci1DT05GSUdfU0FUQV9TSUw9eQotIyBDT05GSUdfU0FUQV9TSUwyNCBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX1NJTCBpcyBub3Qgc2V0CiAjIENPTkZJR19TQVRBX1NJUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQVRBX1VMSSBpcyBub3Qgc2V0Ci1DT05GSUdfU0FUQV9WSUE9eQorIyBDT05GSUdfU0FUQV9WSUEgaXMgbm90IHNldAogIyBDT05GSUdfU0FUQV9WSVRFU1NFIGlzIG5vdCBzZXQKICMgQ09ORklHX1NBVEFfSU5JQzE2MlggaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9BQ1BJIGlzIG5vdCBzZXQKICMgQ09ORklHX1BBVEFfQUxJIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BBVEFfQU1EIGlzIG5vdCBzZXQKK0NPTkZJR19QQVRBX0FNRD15CiAjIENPTkZJR19QQVRBX0FSVE9QIGlzIG5vdCBzZXQKICMgQ09ORklHX1BBVEFfQVRJSVhQIGlzIG5vdCBzZXQKICMgQ09ORklHX1BBVEFfQ01ENjQwX1BDSSBpcyBub3Qgc2V0CkBAIC02MTIsMTEgKzgzOSwxNCBAQAogIyBDT05GSUdfUEFUQV9UUklGTEVYIGlzIG5vdCBzZXQKICMgQ09ORklHX1BBVEFfTUFSVkVMTCBpcyBub3Qgc2V0CiAjIENPTkZJR19QQVRBX01QSUlYIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BBVEFfT0xEUElJWCBpcyBub3Qgc2V0CitDT05GSUdfUEFUQV9PTERQSUlYPXkKICMgQ09ORklHX1BBVEFfTkVUQ0VMTCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX05JTkpBMzIgaXMgbm90IHNldAogIyBDT05GSUdfUEFUQV9OUzg3NDEwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfTlM4NzQxNSBpcyBub3Qgc2V0CiAjIENPTkZJR19QQVRBX09QVEkgaXMgbm90IHNldAogIyBDT05GSUdfUEFUQV9PUFRJRE1BIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfUENNQ0lBIGlzIG5vdCBzZXQKICMgQ09ORklHX1BBVEFfUERDX09MRCBpcyBub3Qgc2V0CiAjIENPTkZJR19QQVRBX1JBRElTWVMgaXMgbm90IHNldAogIyBDT05GSUdfUEFUQV9SWjEwMDAgaXMgbm90IHNldApAQCAtNjI4LDY1ICs4NTgsNDIgQEAKICMgQ09ORklHX1BBVEFfVklBIGlzIG5vdCBzZXQKICMgQ09ORklHX1BBVEFfV0lOQk9ORCBpcyBub3Qgc2V0CiBDT05GSUdfTUQ9eQotIyBDT05GSUdfQkxLX0RFVl9NRCBpcyBub3Qgc2V0CitDT05GSUdfQkxLX0RFVl9NRD15CisjIENPTkZJR19NRF9MSU5FQVIgaXMgbm90IHNldAorIyBDT05GSUdfTURfUkFJRDAgaXMgbm90IHNldAorIyBDT05GSUdfTURfUkFJRDEgaXMgbm90IHNldAorIyBDT05GSUdfTURfUkFJRDEwIGlzIG5vdCBzZXQKKyMgQ09ORklHX01EX1JBSUQ0NTYgaXMgbm90IHNldAorIyBDT05GSUdfTURfTVVMVElQQVRIIGlzIG5vdCBzZXQKKyMgQ09ORklHX01EX0ZBVUxUWSBpcyBub3Qgc2V0CiBDT05GSUdfQkxLX0RFVl9ETT15CiAjIENPTkZJR19ETV9ERUJVRyBpcyBub3Qgc2V0CiAjIENPTkZJR19ETV9DUllQVCBpcyBub3Qgc2V0CiAjIENPTkZJR19ETV9TTkFQU0hPVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ETV9NSVJST1IgaXMgbm90IHNldAotIyBDT05GSUdfRE1fWkVSTyBpcyBub3Qgc2V0CitDT05GSUdfRE1fTUlSUk9SPXkKK0NPTkZJR19ETV9aRVJPPXkKICMgQ09ORklHX0RNX01VTFRJUEFUSCBpcyBub3Qgc2V0CiAjIENPTkZJR19ETV9ERUxBWSBpcyBub3Qgc2V0Ci0KLSMKLSMgRnVzaW9uIE1QVCBkZXZpY2Ugc3VwcG9ydAotIwotQ09ORklHX0ZVU0lPTj15Ci1DT05GSUdfRlVTSU9OX1NQST15Ci0jIENPTkZJR19GVVNJT05fRkMgaXMgbm90IHNldAotIyBDT05GSUdfRlVTSU9OX1NBUyBpcyBub3Qgc2V0Ci1DT05GSUdfRlVTSU9OX01BWF9TR0U9MTI4Ci0jIENPTkZJR19GVVNJT05fQ1RMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RNX1VFVkVOVCBpcyBub3Qgc2V0CisjIENPTkZJR19GVVNJT04gaXMgbm90IHNldAogCiAjCiAjIElFRUUgMTM5NCAoRmlyZVdpcmUpIHN1cHBvcnQKICMKICMgQ09ORklHX0ZJUkVXSVJFIGlzIG5vdCBzZXQKLUNPTkZJR19JRUVFMTM5ND15Ci0KLSMKLSMgU3Vic3lzdGVtIE9wdGlvbnMKLSMKLSMgQ09ORklHX0lFRUUxMzk0X1ZFUkJPU0VERUJVRyBpcyBub3Qgc2V0Ci0KLSMKLSMgQ29udHJvbGxlcnMKLSMKLQotIwotIyBUZXhhcyBJbnN0cnVtZW50cyBQQ0lMeW54IHJlcXVpcmVzIEkyQwotIwotQ09ORklHX0lFRUUxMzk0X09IQ0kxMzk0PXkKLQotIwotIyBQcm90b2NvbHMKLSMKLSMgQ09ORklHX0lFRUUxMzk0X1ZJREVPMTM5NCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JRUVFMTM5NF9TQlAyIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lFRUUxMzk0X0VUSDEzOTRfUk9NX0VOVFJZIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lFRUUxMzk0X0VUSDEzOTQgaXMgbm90IHNldAotIyBDT05GSUdfSUVFRTEzOTRfRFYxMzk0IGlzIG5vdCBzZXQKLUNPTkZJR19JRUVFMTM5NF9SQVdJTz15CisjIENPTkZJR19JRUVFMTM5NCBpcyBub3Qgc2V0CiAjIENPTkZJR19JMk8gaXMgbm90IHNldAogQ09ORklHX01BQ0lOVE9TSF9EUklWRVJTPXkKLSMgQ09ORklHX01BQ19FTVVNT1VTRUJUTiBpcyBub3Qgc2V0CitDT05GSUdfTUFDX0VNVU1PVVNFQlROPXkKIENPTkZJR19ORVRERVZJQ0VTPXkKLUNPTkZJR19ORVRERVZJQ0VTX01VTFRJUVVFVUU9eQorIyBDT05GSUdfTkVUREVWSUNFU19NVUxUSVFVRVVFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lGQiBpcyBub3Qgc2V0CiAjIENPTkZJR19EVU1NWSBpcyBub3Qgc2V0CiAjIENPTkZJR19CT05ESU5HIGlzIG5vdCBzZXQKICMgQ09ORklHX01BQ1ZMQU4gaXMgbm90IHNldAogIyBDT05GSUdfRVFVQUxJWkVSIGlzIG5vdCBzZXQKLUNPTkZJR19UVU49eQorIyBDT05GSUdfVFVOIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZFVEggaXMgbm90IHNldAogIyBDT05GSUdfTkVUX1NCMTAwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNORVQgaXMgbm90IHNldAogIyBDT05GSUdfUEhZTElCIGlzIG5vdCBzZXQKQEAgLTY5NiwzOSArOTAzLDQwIEBACiAjIENPTkZJR19TVU5HRU0gaXMgbm90IHNldAogIyBDT05GSUdfQ0FTU0lOSSBpcyBub3Qgc2V0CiBDT05GSUdfTkVUX1ZFTkRPUl8zQ09NPXkKLUNPTkZJR19WT1JURVg9eQorIyBDT05GSUdfVk9SVEVYIGlzIG5vdCBzZXQKICMgQ09ORklHX1RZUEhPT04gaXMgbm90IHNldAogQ09ORklHX05FVF9UVUxJUD15CiAjIENPTkZJR19ERTIxMDRYIGlzIG5vdCBzZXQKLUNPTkZJR19UVUxJUD15Ci0jIENPTkZJR19UVUxJUF9NV0kgaXMgbm90IHNldAotIyBDT05GSUdfVFVMSVBfTU1JTyBpcyBub3Qgc2V0Ci0jIENPTkZJR19UVUxJUF9OQVBJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RVTElQIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFNFg1IGlzIG5vdCBzZXQKICMgQ09ORklHX1dJTkJPTkRfODQwIGlzIG5vdCBzZXQKICMgQ09ORklHX0RNOTEwMiBpcyBub3Qgc2V0CiAjIENPTkZJR19VTEk1MjZYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDTUNJQV9YSVJDT00gaXMgbm90IHNldAogIyBDT05GSUdfSFAxMDAgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1pNSUkgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1JHTUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19UQUggaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX0VNQUM0IGlzIG5vdCBzZXQKIENPTkZJR19ORVRfUENJPXkKICMgQ09ORklHX1BDTkVUMzIgaXMgbm90IHNldAotQ09ORklHX0FNRDgxMTFfRVRIPXkKLSMgQ09ORklHX0FNRDgxMTFFX05BUEkgaXMgbm90IHNldAorIyBDT05GSUdfQU1EODExMV9FVEggaXMgbm90IHNldAogIyBDT05GSUdfQURBUFRFQ19TVEFSRklSRSBpcyBub3Qgc2V0Ci1DT05GSUdfQjQ0PXkKKyMgQ09ORklHX0I0NCBpcyBub3Qgc2V0CiBDT05GSUdfRk9SQ0VERVRIPXkKICMgQ09ORklHX0ZPUkNFREVUSF9OQVBJIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RHUlMgaXMgbm90IHNldAogIyBDT05GSUdfRUVQUk8xMDAgaXMgbm90IHNldAogQ09ORklHX0UxMDA9eQogIyBDT05GSUdfRkVBTE5YIGlzIG5vdCBzZXQKICMgQ09ORklHX05BVFNFTUkgaXMgbm90IHNldAogIyBDT05GSUdfTkUyS19QQ0kgaXMgbm90IHNldAotQ09ORklHXzgxMzlDUD15CisjIENPTkZJR184MTM5Q1AgaXMgbm90IHNldAogQ09ORklHXzgxMzlUT089eQotIyBDT05GSUdfODEzOVRPT19QSU8gaXMgbm90IHNldAorQ09ORklHXzgxMzlUT09fUElPPXkKICMgQ09ORklHXzgxMzlUT09fVFVORV9UV0lTVEVSIGlzIG5vdCBzZXQKICMgQ09ORklHXzgxMzlUT09fODEyOSBpcyBub3Qgc2V0CiAjIENPTkZJR184MTM5X09MRF9SWF9SRVNFVCBpcyBub3Qgc2V0CisjIENPTkZJR19SNjA0MCBpcyBub3Qgc2V0CiAjIENPTkZJR19TSVM5MDAgaXMgbm90IHNldAogIyBDT05GSUdfRVBJQzEwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19TVU5EQU5DRSBpcyBub3Qgc2V0CkBAIC03NDAsMzQgKzk0OCw3NCBAQAogQ09ORklHX0UxMDAwPXkKICMgQ09ORklHX0UxMDAwX05BUEkgaXMgbm90IHNldAogIyBDT05GSUdfRTEwMDBfRElTQUJMRV9QQUNLRVRfU1BMSVQgaXMgbm90IHNldAorIyBDT05GSUdfRTEwMDBFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0UxMDAwRV9FTkFCTEVEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQMTAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19JR0IgaXMgbm90IHNldAogIyBDT05GSUdfTlM4MzgyMCBpcyBub3Qgc2V0CiAjIENPTkZJR19IQU1BQ0hJIGlzIG5vdCBzZXQKICMgQ09ORklHX1lFTExPV0ZJTiBpcyBub3Qgc2V0CiAjIENPTkZJR19SODE2OSBpcyBub3Qgc2V0CiAjIENPTkZJR19TSVMxOTAgaXMgbm90IHNldAogIyBDT05GSUdfU0tHRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TS1kyIGlzIG5vdCBzZXQKK0NPTkZJR19TS1kyPXkKKyMgQ09ORklHX1NLWTJfREVCVUcgaXMgbm90IHNldAogIyBDT05GSUdfVklBX1ZFTE9DSVRZIGlzIG5vdCBzZXQKIENPTkZJR19USUdPTjM9eQotQ09ORklHX0JOWDI9eQorIyBDT05GSUdfQk5YMiBpcyBub3Qgc2V0CiAjIENPTkZJR19RTEEzWFhYIGlzIG5vdCBzZXQKICMgQ09ORklHX0FUTDEgaXMgbm90IHNldAogQ09ORklHX05FVERFVl8xMDAwMD15CiAjIENPTkZJR19DSEVMU0lPX1QxIGlzIG5vdCBzZXQKICMgQ09ORklHX0NIRUxTSU9fVDMgaXMgbm90IHNldAorIyBDT05GSUdfSVhHQkUgaXMgbm90IHNldAogIyBDT05GSUdfSVhHQiBpcyBub3Qgc2V0Ci1DT05GSUdfUzJJTz1tCi0jIENPTkZJR19TMklPX05BUEkgaXMgbm90IHNldAorIyBDT05GSUdfUzJJTyBpcyBub3Qgc2V0CiAjIENPTkZJR19NWVJJMTBHRSBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRYRU5fTklDIGlzIG5vdCBzZXQKKyMgQ09ORklHX05JVSBpcyBub3Qgc2V0CiAjIENPTkZJR19NTFg0X0NPUkUgaXMgbm90IHNldAotIyBDT05GSUdfVFIgaXMgbm90IHNldAorIyBDT05GSUdfVEVIVVRJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JOWDJYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NGQyBpcyBub3Qgc2V0CitDT05GSUdfVFI9eQorIyBDT05GSUdfSUJNT0wgaXMgbm90IHNldAorIyBDT05GSUdfM0MzNTkgaXMgbm90IHNldAorIyBDT05GSUdfVE1TMzgwVFIgaXMgbm90IHNldAogCiAjCiAjIFdpcmVsZXNzIExBTgogIwogIyBDT05GSUdfV0xBTl9QUkU4MDIxMSBpcyBub3Qgc2V0Ci0jIENPTkZJR19XTEFOXzgwMjExIGlzIG5vdCBzZXQKK0NPTkZJR19XTEFOXzgwMjExPXkKKyMgQ09ORklHX1BDTUNJQV9SQVlDUyBpcyBub3Qgc2V0CisjIENPTkZJR19JUFcyMTAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQVzIyMDAgaXMgbm90IHNldAorIyBDT05GSUdfTElCRVJUQVMgaXMgbm90IHNldAorIyBDT05GSUdfQUlSTyBpcyBub3Qgc2V0CisjIENPTkZJR19IRVJNRVMgaXMgbm90IHNldAorIyBDT05GSUdfQVRNRUwgaXMgbm90IHNldAorIyBDT05GSUdfQUlST19DUyBpcyBub3Qgc2V0CisjIENPTkZJR19QQ01DSUFfV0wzNTAxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BSSVNNNTQgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1pEMTIwMSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfTkVUX1JORElTX1dMQU4gaXMgbm90IHNldAorIyBDT05GSUdfUlRMODE4MCBpcyBub3Qgc2V0CisjIENPTkZJR19SVEw4MTg3IGlzIG5vdCBzZXQKKyMgQ09ORklHX0FETTgyMTEgaXMgbm90IHNldAorIyBDT05GSUdfUDU0X0NPTU1PTiBpcyBub3Qgc2V0CitDT05GSUdfQVRINUs9eQorIyBDT05GSUdfQVRINUtfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfSVdMV0lGSSBpcyBub3Qgc2V0CisjIENPTkZJR19JV0xDT1JFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lXTFdJRklfTEVEUyBpcyBub3Qgc2V0CisjIENPTkZJR19JV0w0OTY1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0lXTDM5NDUgaXMgbm90IHNldAorIyBDT05GSUdfSE9TVEFQIGlzIG5vdCBzZXQKKyMgQ09ORklHX0I0MyBpcyBub3Qgc2V0CisjIENPTkZJR19CNDNMRUdBQ1kgaXMgbm90IHNldAorIyBDT05GSUdfWkQxMjExUlcgaXMgbm90IHNldAorIyBDT05GSUdfUlQyWDAwIGlzIG5vdCBzZXQKIAogIwogIyBVU0IgTmV0d29yayBBZGFwdGVycwpAQCAtNzc2LDE2ICsxMDI0LDI2IEBACiAjIENPTkZJR19VU0JfS0FXRVRIIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9QRUdBU1VTIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9SVEw4MTUwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9VU0JORVRfTUlJIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9VU0JORVQgaXMgbm90IHNldAorQ09ORklHX05FVF9QQ01DSUE9eQorIyBDT05GSUdfUENNQ0lBXzNDNTg5IGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDTUNJQV8zQzU3NCBpcyBub3Qgc2V0CisjIENPTkZJR19QQ01DSUFfRk1WSjE4WCBpcyBub3Qgc2V0CisjIENPTkZJR19QQ01DSUFfUENORVQgaXMgbm90IHNldAorIyBDT05GSUdfUENNQ0lBX05NQ0xBTiBpcyBub3Qgc2V0CisjIENPTkZJR19QQ01DSUFfU01DOTFDOTIgaXMgbm90IHNldAorIyBDT05GSUdfUENNQ0lBX1hJUkMyUFMgaXMgbm90IHNldAorIyBDT05GSUdfUENNQ0lBX0FYTkVUIGlzIG5vdCBzZXQKICMgQ09ORklHX1dBTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19GRERJIGlzIG5vdCBzZXQKK0NPTkZJR19GRERJPXkKKyMgQ09ORklHX0RFRlhYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NLRlAgaXMgbm90IHNldAogIyBDT05GSUdfSElQUEkgaXMgbm90IHNldAogIyBDT05GSUdfUFBQIGlzIG5vdCBzZXQKICMgQ09ORklHX1NMSVAgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0ZDIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NIQVBFUiBpcyBub3Qgc2V0CiBDT05GSUdfTkVUQ09OU09MRT15CisjIENPTkZJR19ORVRDT05TT0xFX0RZTkFNSUMgaXMgbm90IHNldAogQ09ORklHX05FVFBPTEw9eQogIyBDT05GSUdfTkVUUE9MTF9UUkFQIGlzIG5vdCBzZXQKIENPTkZJR19ORVRfUE9MTF9DT05UUk9MTEVSPXkKQEAgLTc5NiwxOCArMTA1NCwxNyBAQAogIyBJbnB1dCBkZXZpY2Ugc3VwcG9ydAogIwogQ09ORklHX0lOUFVUPXkKLSMgQ09ORklHX0lOUFVUX0ZGX01FTUxFU1MgaXMgbm90IHNldAotIyBDT05GSUdfSU5QVVRfUE9MTERFViBpcyBub3Qgc2V0CitDT05GSUdfSU5QVVRfRkZfTUVNTEVTUz15CitDT05GSUdfSU5QVVRfUE9MTERFVj15CiAKICMKICMgVXNlcmxhbmQgaW50ZXJmYWNlcwogIwogQ09ORklHX0lOUFVUX01PVVNFREVWPXkKLUNPTkZJR19JTlBVVF9NT1VTRURFVl9QU0FVWD15CisjIENPTkZJR19JTlBVVF9NT1VTRURFVl9QU0FVWCBpcyBub3Qgc2V0CiBDT05GSUdfSU5QVVRfTU9VU0VERVZfU0NSRUVOX1g9MTAyNAogQ09ORklHX0lOUFVUX01PVVNFREVWX1NDUkVFTl9ZPTc2OAogIyBDT05GSUdfSU5QVVRfSk9ZREVWIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lOUFVUX1RTREVWIGlzIG5vdCBzZXQKIENPTkZJR19JTlBVVF9FVkRFVj15CiAjIENPTkZJR19JTlBVVF9FVkJVRyBpcyBub3Qgc2V0CiAKQEAgLTgzMiwxNyArMTA4OSw2MiBAQAogIyBDT05GSUdfTU9VU0VfU0VSSUFMIGlzIG5vdCBzZXQKICMgQ09ORklHX01PVVNFX0FQUExFVE9VQ0ggaXMgbm90IHNldAogIyBDT05GSUdfTU9VU0VfVlNYWFhBQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTlBVVF9KT1lTVElDSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTlBVVF9UQUJMRVQgaXMgbm90IHNldAotIyBDT05GSUdfSU5QVVRfVE9VQ0hTQ1JFRU4gaXMgbm90IHNldAotIyBDT05GSUdfSU5QVVRfTUlTQyBpcyBub3Qgc2V0CitDT05GSUdfSU5QVVRfSk9ZU1RJQ0s9eQorIyBDT05GSUdfSk9ZU1RJQ0tfQU5BTE9HIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX0EzRCBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19BREkgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfQ09CUkEgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfR0YySyBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19HUklQIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX0dSSVBfTVAgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfR1VJTExFTU9UIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX0lOVEVSQUNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX1NJREVXSU5ERVIgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfVE1EQyBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19JRk9SQ0UgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfV0FSUklPUiBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19NQUdFTExBTiBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19TUEFDRU9SQiBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19TUEFDRUJBTEwgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfU1RJTkdFUiBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19UV0lESk9ZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX1pIRU5IVUEgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfSk9ZRFVNUCBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19YUEFEIGlzIG5vdCBzZXQKK0NPTkZJR19JTlBVVF9UQUJMRVQ9eQorIyBDT05GSUdfVEFCTEVUX1VTQl9BQ0VDQUQgaXMgbm90IHNldAorIyBDT05GSUdfVEFCTEVUX1VTQl9BSVBURUsgaXMgbm90IHNldAorIyBDT05GSUdfVEFCTEVUX1VTQl9HVENPIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RBQkxFVF9VU0JfS0JUQUIgaXMgbm90IHNldAorIyBDT05GSUdfVEFCTEVUX1VTQl9XQUNPTSBpcyBub3Qgc2V0CitDT05GSUdfSU5QVVRfVE9VQ0hTQ1JFRU49eQorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fRlVKSVRTVSBpcyBub3Qgc2V0CisjIENPTkZJR19UT1VDSFNDUkVFTl9HVU5aRSBpcyBub3Qgc2V0CisjIENPTkZJR19UT1VDSFNDUkVFTl9FTE8gaXMgbm90IHNldAorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fTVRPVUNIIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RPVUNIU0NSRUVOX01LNzEyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RPVUNIU0NSRUVOX1BFTk1PVU5UIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RPVUNIU0NSRUVOX1RPVUNIUklHSFQgaXMgbm90IHNldAorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVE9VQ0hXSU4gaXMgbm90IHNldAorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVUNCMTQwMCBpcyBub3Qgc2V0CisjIENPTkZJR19UT1VDSFNDUkVFTl9VU0JfQ09NUE9TSVRFIGlzIG5vdCBzZXQKK0NPTkZJR19JTlBVVF9NSVNDPXkKKyMgQ09ORklHX0lOUFVUX1BDU1BLUiBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9BUEFORUwgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfQVRMQVNfQlROUyBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9BVElfUkVNT1RFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX0FUSV9SRU1PVEUyIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX0tFWVNQQU5fUkVNT1RFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX1BPV0VSTUFURSBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9ZRUFMSU5LIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX1VJTlBVVCBpcyBub3Qgc2V0CiAKICMKICMgSGFyZHdhcmUgSS9PIHBvcnRzCiAjCiBDT05GSUdfU0VSSU89eQogQ09ORklHX1NFUklPX0k4MDQyPXkKLSMgQ09ORklHX1NFUklPX1NFUlBPUlQgaXMgbm90IHNldAorQ09ORklHX1NFUklPX1NFUlBPUlQ9eQogIyBDT05GSUdfU0VSSU9fQ1Q4MkM3MTAgaXMgbm90IHNldAogIyBDT05GSUdfU0VSSU9fUENJUFMyIGlzIG5vdCBzZXQKIENPTkZJR19TRVJJT19MSUJQUzI9eQpAQCAtODU1LDggKzExNTcsMjYgQEAKIENPTkZJR19WVD15CiBDT05GSUdfVlRfQ09OU09MRT15CiBDT05GSUdfSFdfQ09OU09MRT15Ci0jIENPTkZJR19WVF9IV19DT05TT0xFX0JJTkRJTkcgaXMgbm90IHNldAotIyBDT05GSUdfU0VSSUFMX05PTlNUQU5EQVJEIGlzIG5vdCBzZXQKK0NPTkZJR19WVF9IV19DT05TT0xFX0JJTkRJTkc9eQorQ09ORklHX0RFVktNRU09eQorQ09ORklHX1NFUklBTF9OT05TVEFOREFSRD15CisjIENPTkZJR19DT01QVVRPTkUgaXMgbm90IHNldAorIyBDT05GSUdfUk9DS0VUUE9SVCBpcyBub3Qgc2V0CisjIENPTkZJR19DWUNMQURFUyBpcyBub3Qgc2V0CisjIENPTkZJR19ESUdJRVBDQSBpcyBub3Qgc2V0CisjIENPTkZJR19NT1hBX0lOVEVMTElPIGlzIG5vdCBzZXQKKyMgQ09ORklHX01PWEFfU01BUlRJTyBpcyBub3Qgc2V0CisjIENPTkZJR19JU0kgaXMgbm90IHNldAorIyBDT05GSUdfU1lOQ0xJTksgaXMgbm90IHNldAorIyBDT05GSUdfU1lOQ0xJTktNUCBpcyBub3Qgc2V0CisjIENPTkZJR19TWU5DTElOS19HVCBpcyBub3Qgc2V0CisjIENPTkZJR19OX0hETEMgaXMgbm90IHNldAorIyBDT05GSUdfUklTQ09NOCBpcyBub3Qgc2V0CisjIENPTkZJR19TUEVDSUFMSVggaXMgbm90IHNldAorIyBDT05GSUdfU1ggaXMgbm90IHNldAorIyBDT05GSUdfUklPIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NUQUxEUlYgaXMgbm90IHNldAorIyBDT05GSUdfTk9aT01JIGlzIG5vdCBzZXQKIAogIwogIyBTZXJpYWwgZHJpdmVycwpAQCAtODY2LDkgKzExODYsMTQgQEAKIENPTkZJR19GSVhfRUFSTFlDT05fTUVNPXkKIENPTkZJR19TRVJJQUxfODI1MF9QQ0k9eQogQ09ORklHX1NFUklBTF84MjUwX1BOUD15Ci1DT05GSUdfU0VSSUFMXzgyNTBfTlJfVUFSVFM9NAorIyBDT05GSUdfU0VSSUFMXzgyNTBfQ1MgaXMgbm90IHNldAorQ09ORklHX1NFUklBTF84MjUwX05SX1VBUlRTPTMyCiBDT05GSUdfU0VSSUFMXzgyNTBfUlVOVElNRV9VQVJUUz00Ci0jIENPTkZJR19TRVJJQUxfODI1MF9FWFRFTkRFRCBpcyBub3Qgc2V0CitDT05GSUdfU0VSSUFMXzgyNTBfRVhURU5ERUQ9eQorQ09ORklHX1NFUklBTF84MjUwX01BTllfUE9SVFM9eQorQ09ORklHX1NFUklBTF84MjUwX1NIQVJFX0lSUT15CitDT05GSUdfU0VSSUFMXzgyNTBfREVURUNUX0lSUT15CitDT05GSUdfU0VSSUFMXzgyNTBfUlNBPXkKIAogIwogIyBOb24tODI1MCBzZXJpYWwgcG9ydCBzdXBwb3J0CkBAIC04NzcsNzggKzEyMDIsMjYwIEBACiBDT05GSUdfU0VSSUFMX0NPUkVfQ09OU09MRT15CiAjIENPTkZJR19TRVJJQUxfSlNNIGlzIG5vdCBzZXQKIENPTkZJR19VTklYOThfUFRZUz15Ci1DT05GSUdfTEVHQUNZX1BUWVM9eQotQ09ORklHX0xFR0FDWV9QVFlfQ09VTlQ9MjU2CisjIENPTkZJR19MRUdBQ1lfUFRZUyBpcyBub3Qgc2V0CiAjIENPTkZJR19JUE1JX0hBTkRMRVIgaXMgbm90IHNldAotIyBDT05GSUdfV0FUQ0hET0cgaXMgbm90IHNldAogQ09ORklHX0hXX1JBTkRPTT15Ci1DT05GSUdfSFdfUkFORE9NX0lOVEVMPXkKLUNPTkZJR19IV19SQU5ET01fQU1EPXkKLSMgQ09ORklHX05WUkFNIGlzIG5vdCBzZXQKLUNPTkZJR19SVEM9eQorIyBDT05GSUdfSFdfUkFORE9NX0lOVEVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hXX1JBTkRPTV9BTUQgaXMgbm90IHNldAorQ09ORklHX05WUkFNPXkKICMgQ09ORklHX1IzOTY0IGlzIG5vdCBzZXQKICMgQ09ORklHX0FQUExJQ09NIGlzIG5vdCBzZXQKLUNPTkZJR19BR1A9eQotQ09ORklHX0FHUF9BTUQ2ND15Ci1DT05GSUdfQUdQX0lOVEVMPXkKLSMgQ09ORklHX0FHUF9TSVMgaXMgbm90IHNldAotIyBDT05GSUdfQUdQX1ZJQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19EUk0gaXMgbm90IHNldAorCisjCisjIFBDTUNJQSBjaGFyYWN0ZXIgZGV2aWNlcworIworIyBDT05GSUdfU1lOQ0xJTktfQ1MgaXMgbm90IHNldAorIyBDT05GSUdfQ0FSRE1BTl80MDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NBUkRNQU5fNDA0MCBpcyBub3Qgc2V0CisjIENPTkZJR19JUFdJUkVMRVNTIGlzIG5vdCBzZXQKICMgQ09ORklHX01XQVZFIGlzIG5vdCBzZXQKICMgQ09ORklHX1BDODczNnhfR1BJTyBpcyBub3Qgc2V0Ci1DT05GSUdfUkFXX0RSSVZFUj15Ci1DT05GSUdfTUFYX1JBV19ERVZTPTI1NgorIyBDT05GSUdfUkFXX0RSSVZFUiBpcyBub3Qgc2V0CiBDT05GSUdfSFBFVD15CiAjIENPTkZJR19IUEVUX1JUQ19JUlEgaXMgbm90IHNldAotQ09ORklHX0hQRVRfTU1BUD15CisjIENPTkZJR19IUEVUX01NQVAgaXMgbm90IHNldAogIyBDT05GSUdfSEFOR0NIRUNLX1RJTUVSIGlzIG5vdCBzZXQKICMgQ09ORklHX1RDR19UUE0gaXMgbm90IHNldAogIyBDT05GSUdfVEVMQ0xPQ0sgaXMgbm90IHNldAogQ09ORklHX0RFVlBPUlQ9eQotIyBDT05GSUdfSTJDIGlzIG5vdCBzZXQKK0NPTkZJR19JMkM9eQorQ09ORklHX0kyQ19CT0FSRElORk89eQorIyBDT05GSUdfSTJDX0NIQVJERVYgaXMgbm90IHNldAogCiAjCi0jIFNQSSBzdXBwb3J0CisjIEkyQyBIYXJkd2FyZSBCdXMgc3VwcG9ydAogIworIyBDT05GSUdfSTJDX0FMSTE1MzUgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0FMSTE1NjMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0FMSTE1WDMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0FNRDc1NiBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfQU1EODExMSBpcyBub3Qgc2V0CitDT05GSUdfSTJDX0k4MDE9eQorIyBDT05GSUdfSTJDX0k4MTAgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1BJSVg0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ORk9SQ0UyIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19PQ09SRVMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1BBUlBPUlRfTElHSFQgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1BST1NBVkFHRSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfU0FWQUdFNCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfU0lNVEVDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TSVM1NTk1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TSVM2MzAgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1NJUzk2WCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfVEFPU19FVk0gaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1NUVUIgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1RJTllfVVNCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19WSUEgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1ZJQVBSTyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfVk9PRE9PMyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfUENBX1BMQVRGT1JNIGlzIG5vdCBzZXQKKworIworIyBNaXNjZWxsYW5lb3VzIEkyQyBDaGlwIHN1cHBvcnQKKyMKKyMgQ09ORklHX0RTMTY4MiBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0VFUFJPTSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1BDRjg1NzQgaXMgbm90IHNldAorIyBDT05GSUdfUENGODU3NSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1BDRjg1OTEgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19NQVg2ODc1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfVFNMMjU1MCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQ09SRSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQUxHTyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQlVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ERUJVR19DSElQIGlzIG5vdCBzZXQKICMgQ09ORklHX1NQSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TUElfTUFTVEVSIGlzIG5vdCBzZXQKICMgQ09ORklHX1cxIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BPV0VSX1NVUFBMWSBpcyBub3Qgc2V0CitDT05GSUdfUE9XRVJfU1VQUExZPXkKKyMgQ09ORklHX1BPV0VSX1NVUFBMWV9ERUJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19QREFfUE9XRVIgaXMgbm90IHNldAorIyBDT05GSUdfQkFUVEVSWV9EUzI3NjAgaXMgbm90IHNldAogIyBDT05GSUdfSFdNT04gaXMgbm90IHNldAorQ09ORklHX1RIRVJNQUw9eQorQ09ORklHX1dBVENIRE9HPXkKKyMgQ09ORklHX1dBVENIRE9HX05PV0FZT1VUIGlzIG5vdCBzZXQKKworIworIyBXYXRjaGRvZyBEZXZpY2UgRHJpdmVycworIworIyBDT05GSUdfU09GVF9XQVRDSERPRyBpcyBub3Qgc2V0CisjIENPTkZJR19BQ1FVSVJFX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19BRFZBTlRFQ0hfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FMSU0xNTM1X1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19BTElNNzEwMV9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfU0M1MjBfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VVUk9URUNIX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19JQjcwMF9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfSUJNQVNSIGlzIG5vdCBzZXQKKyMgQ09ORklHX1dBRkVSX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19JNjMwMEVTQl9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfSVRDT19XRFQgaXMgbm90IHNldAorIyBDT05GSUdfSVQ4NzEyRl9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfSFBfV0FUQ0hET0cgaXMgbm90IHNldAorIyBDT05GSUdfU0MxMjAwX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19QQzg3NDEzX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR182MFhYX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19TQkM4MzYwX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19DUFU1X1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19TTVNDMzdCNzg3X1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19XODM2MjdIRl9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfVzgzNjk3SEZfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1c4Mzg3N0ZfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1c4Mzk3N0ZfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BQ0haX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19TQkNfRVBYX0MzX1dBVENIRE9HIGlzIG5vdCBzZXQKKworIworIyBQQ0ktYmFzZWQgV2F0Y2hkb2cgQ2FyZHMKKyMKKyMgQ09ORklHX1BDSVBDV0FUQ0hET0cgaXMgbm90IHNldAorIyBDT05GSUdfV0RUUENJIGlzIG5vdCBzZXQKKworIworIyBVU0ItYmFzZWQgV2F0Y2hkb2cgQ2FyZHMKKyMKKyMgQ09ORklHX1VTQlBDV0FUQ0hET0cgaXMgbm90IHNldAorCisjCisjIFNvbmljcyBTaWxpY29uIEJhY2twbGFuZQorIworQ09ORklHX1NTQl9QT1NTSUJMRT15CisjIENPTkZJR19TU0IgaXMgbm90IHNldAogCiAjCiAjIE11bHRpZnVuY3Rpb24gZGV2aWNlIGRyaXZlcnMKICMKICMgQ09ORklHX01GRF9TTTUwMSBpcyBub3Qgc2V0CisjIENPTkZJR19IVENfUEFTSUMzIGlzIG5vdCBzZXQKIAogIwogIyBNdWx0aW1lZGlhIGRldmljZXMKICMKKworIworIyBNdWx0aW1lZGlhIGNvcmUgc3VwcG9ydAorIwogIyBDT05GSUdfVklERU9fREVWIGlzIG5vdCBzZXQKICMgQ09ORklHX0RWQl9DT1JFIGlzIG5vdCBzZXQKKworIworIyBNdWx0aW1lZGlhIGRyaXZlcnMKKyMKIENPTkZJR19EQUI9eQogIyBDT05GSUdfVVNCX0RBQlVTQiBpcyBub3Qgc2V0CiAKICMKICMgR3JhcGhpY3Mgc3VwcG9ydAogIwotIyBDT05GSUdfQkFDS0xJR0hUX0xDRF9TVVBQT1JUIGlzIG5vdCBzZXQKK0NPTkZJR19BR1A9eQorQ09ORklHX0FHUF9BTUQ2ND15CitDT05GSUdfQUdQX0lOVEVMPXkKKyMgQ09ORklHX0FHUF9TSVMgaXMgbm90IHNldAorIyBDT05GSUdfQUdQX1ZJQSBpcyBub3Qgc2V0CitDT05GSUdfRFJNPXkKKyMgQ09ORklHX0RSTV9UREZYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RSTV9SMTI4IGlzIG5vdCBzZXQKKyMgQ09ORklHX0RSTV9SQURFT04gaXMgbm90IHNldAorIyBDT05GSUdfRFJNX0k4MTAgaXMgbm90IHNldAorIyBDT05GSUdfRFJNX0k4MzAgaXMgbm90IHNldAorQ09ORklHX0RSTV9JOTE1PXkKKyMgQ09ORklHX0RSTV9NR0EgaXMgbm90IHNldAorIyBDT05GSUdfRFJNX1NJUyBpcyBub3Qgc2V0CisjIENPTkZJR19EUk1fVklBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RSTV9TQVZBR0UgaXMgbm90IHNldAorIyBDT05GSUdfVkdBU1RBVEUgaXMgbm90IHNldAorIyBDT05GSUdfVklERU9fT1VUUFVUX0NPTlRST0wgaXMgbm90IHNldAorQ09ORklHX0ZCPXkKKyMgQ09ORklHX0ZJUk1XQVJFX0VESUQgaXMgbm90IHNldAorIyBDT05GSUdfRkJfRERDIGlzIG5vdCBzZXQKK0NPTkZJR19GQl9DRkJfRklMTFJFQ1Q9eQorQ09ORklHX0ZCX0NGQl9DT1BZQVJFQT15CitDT05GSUdfRkJfQ0ZCX0lNQUdFQkxJVD15CisjIENPTkZJR19GQl9DRkJfUkVWX1BJWEVMU19JTl9CWVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1NZU19GSUxMUkVDVCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9TWVNfQ09QWUFSRUEgaXMgbm90IHNldAorIyBDT05GSUdfRkJfU1lTX0lNQUdFQkxJVCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9GT1JFSUdOX0VORElBTiBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9TWVNfRk9QUyBpcyBub3Qgc2V0CitDT05GSUdfRkJfREVGRVJSRURfSU89eQorIyBDT05GSUdfRkJfU1ZHQUxJQiBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9NQUNNT0RFUyBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9CQUNLTElHSFQgaXMgbm90IHNldAorQ09ORklHX0ZCX01PREVfSEVMUEVSUz15CitDT05GSUdfRkJfVElMRUJMSVRUSU5HPXkKKworIworIyBGcmFtZSBidWZmZXIgaGFyZHdhcmUgZHJpdmVycworIworIyBDT05GSUdfRkJfQ0lSUlVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1BNMiBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9DWUJFUjIwMDAgaXMgbm90IHNldAorIyBDT05GSUdfRkJfQVJDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0FTSUxJQU5UIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0lNU1RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1ZHQTE2IGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1VWRVNBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1ZFU0EgaXMgbm90IHNldAorQ09ORklHX0ZCX0VGST15CisjIENPTkZJR19GQl9JTUFDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX040MTEgaXMgbm90IHNldAorIyBDT05GSUdfRkJfSEdBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1MxRDEzWFhYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX05WSURJQSBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9SSVZBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0xFODA1NzggaXMgbm90IHNldAorIyBDT05GSUdfRkJfSU5URUwgaXMgbm90IHNldAorIyBDT05GSUdfRkJfTUFUUk9YIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1JBREVPTiBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9BVFkxMjggaXMgbm90IHNldAorIyBDT05GSUdfRkJfQVRZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1MzIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1NBVkFHRSBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9TSVMgaXMgbm90IHNldAorIyBDT05GSUdfRkJfTkVPTUFHSUMgaXMgbm90IHNldAorIyBDT05GSUdfRkJfS1lSTyBpcyBub3Qgc2V0CisjIENPTkZJR19GQl8zREZYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1ZPT0RPTzEgaXMgbm90IHNldAorIyBDT05GSUdfRkJfVlQ4NjIzIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1RSSURFTlQgaXMgbm90IHNldAorIyBDT05GSUdfRkJfQVJLIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1BNMyBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9HRU9ERSBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9WSVJUVUFMIGlzIG5vdCBzZXQKK0NPTkZJR19CQUNLTElHSFRfTENEX1NVUFBPUlQ9eQorIyBDT05GSUdfTENEX0NMQVNTX0RFVklDRSBpcyBub3Qgc2V0CitDT05GSUdfQkFDS0xJR0hUX0NMQVNTX0RFVklDRT15CisjIENPTkZJR19CQUNLTElHSFRfQ09SR0kgaXMgbm90IHNldAorIyBDT05GSUdfQkFDS0xJR0hUX1BST0dFQVIgaXMgbm90IHNldAogCiAjCiAjIERpc3BsYXkgZGV2aWNlIHN1cHBvcnQKICMKICMgQ09ORklHX0RJU1BMQVlfU1VQUE9SVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19WR0FTVEFURSBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQiBpcyBub3Qgc2V0CiAKICMKICMgQ29uc29sZSBkaXNwbGF5IGRyaXZlciBzdXBwb3J0CiAjCiBDT05GSUdfVkdBX0NPTlNPTEU9eQogQ09ORklHX1ZHQUNPTl9TT0ZUX1NDUk9MTEJBQ0s9eQotQ09ORklHX1ZHQUNPTl9TT0ZUX1NDUk9MTEJBQ0tfU0laRT0yNTYKK0NPTkZJR19WR0FDT05fU09GVF9TQ1JPTExCQUNLX1NJWkU9NjQKIENPTkZJR19WSURFT19TRUxFQ1Q9eQogQ09ORklHX0RVTU1ZX0NPTlNPTEU9eQorIyBDT05GSUdfRlJBTUVCVUZGRVJfQ09OU09MRSBpcyBub3Qgc2V0CitDT05GSUdfTE9HTz15CisjIENPTkZJR19MT0dPX0xJTlVYX01PTk8gaXMgbm90IHNldAorIyBDT05GSUdfTE9HT19MSU5VWF9WR0ExNiBpcyBub3Qgc2V0CitDT05GSUdfTE9HT19MSU5VWF9DTFVUMjI0PXkKIAogIwogIyBTb3VuZApAQCAtOTU4LDMzICsxNDY1LDE2NSBAQAogIwogIyBBZHZhbmNlZCBMaW51eCBTb3VuZCBBcmNoaXRlY3R1cmUKICMKLSMgQ09ORklHX1NORCBpcyBub3Qgc2V0CitDT05GSUdfU05EPXkKK0NPTkZJR19TTkRfVElNRVI9eQorQ09ORklHX1NORF9QQ009eQorQ09ORklHX1NORF9IV0RFUD15CitDT05GSUdfU05EX1NFUVVFTkNFUj15CitDT05GSUdfU05EX1NFUV9EVU1NWT15CitDT05GSUdfU05EX09TU0VNVUw9eQorQ09ORklHX1NORF9NSVhFUl9PU1M9eQorQ09ORklHX1NORF9QQ01fT1NTPXkKK0NPTkZJR19TTkRfUENNX09TU19QTFVHSU5TPXkKK0NPTkZJR19TTkRfU0VRVUVOQ0VSX09TUz15CitDT05GSUdfU05EX0RZTkFNSUNfTUlOT1JTPXkKK0NPTkZJR19TTkRfU1VQUE9SVF9PTERfQVBJPXkKK0NPTkZJR19TTkRfVkVSQk9TRV9QUk9DRlM9eQorIyBDT05GSUdfU05EX1ZFUkJPU0VfUFJJTlRLIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9ERUJVRyBpcyBub3Qgc2V0CitDT05GSUdfU05EX1ZNQVNURVI9eQorCisjCisjIEdlbmVyaWMgZGV2aWNlcworIworIyBDT05GSUdfU05EX1BDU1AgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0RVTU1ZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9WSVJNSURJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9NVFBBViBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfU0VSSUFMX1UxNjU1MCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfTVBVNDAxIGlzIG5vdCBzZXQKKworIworIyBQQ0kgZGV2aWNlcworIworIyBDT05GSUdfU05EX0FEMTg4OSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfQUxTMzAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9BTFM0MDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9BTEk1NDUxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9BVElJWFAgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0FUSUlYUF9NT0RFTSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfQVU4ODEwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9BVTg4MjAgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0FVODgzMCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfQVcyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9BWlQzMzI4IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9CVDg3WCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfQ0EwMTA2IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9DTUlQQ0kgaXMgbm90IHNldAorIyBDT05GSUdfU05EX09YWUdFTiBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfQ1M0MjgxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9DUzQ2WFggaXMgbm90IHNldAorIyBDT05GSUdfU05EX0NTNTUzMCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfREFSTEEyMCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfR0lOQTIwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9MQVlMQTIwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9EQVJMQTI0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9HSU5BMjQgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0xBWUxBMjQgaXMgbm90IHNldAorIyBDT05GSUdfU05EX01PTkEgaXMgbm90IHNldAorIyBDT05GSUdfU05EX01JQSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfRUNITzNHIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9JTkRJR08gaXMgbm90IHNldAorIyBDT05GSUdfU05EX0lORElHT0lPIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9JTkRJR09ESiBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfRU1VMTBLMSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfRU1VMTBLMVggaXMgbm90IHNldAorIyBDT05GSUdfU05EX0VOUzEzNzAgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0VOUzEzNzEgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0VTMTkzOCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfRVMxOTY4IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9GTTgwMSBpcyBub3Qgc2V0CitDT05GSUdfU05EX0hEQV9JTlRFTD15CitDT05GSUdfU05EX0hEQV9IV0RFUD15CitDT05GSUdfU05EX0hEQV9DT0RFQ19SRUFMVEVLPXkKK0NPTkZJR19TTkRfSERBX0NPREVDX0FOQUxPRz15CitDT05GSUdfU05EX0hEQV9DT0RFQ19TSUdNQVRFTD15CitDT05GSUdfU05EX0hEQV9DT0RFQ19WSUE9eQorQ09ORklHX1NORF9IREFfQ09ERUNfQVRJSERNST15CitDT05GSUdfU05EX0hEQV9DT0RFQ19DT05FWEFOVD15CitDT05GSUdfU05EX0hEQV9DT0RFQ19DTUVESUE9eQorQ09ORklHX1NORF9IREFfQ09ERUNfU0kzMDU0PXkKK0NPTkZJR19TTkRfSERBX0dFTkVSSUM9eQorIyBDT05GSUdfU05EX0hEQV9QT1dFUl9TQVZFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9IRFNQIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9IRFNQTSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfSElGSUVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9JQ0UxNzEyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9JQ0UxNzI0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9JTlRFTDhYMCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfSU5URUw4WDBNIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9LT1JHMTIxMiBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfTUFFU1RSTzMgaXMgbm90IHNldAorIyBDT05GSUdfU05EX01JWEFSVCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfTk0yNTYgaXMgbm90IHNldAorIyBDT05GSUdfU05EX1BDWEhSIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9SSVBUSURFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9STUUzMiBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfUk1FOTYgaXMgbm90IHNldAorIyBDT05GSUdfU05EX1JNRTk2NTIgaXMgbm90IHNldAorIyBDT05GSUdfU05EX1NPTklDVklCRVMgaXMgbm90IHNldAorIyBDT05GSUdfU05EX1RSSURFTlQgaXMgbm90IHNldAorIyBDT05GSUdfU05EX1ZJQTgyWFggaXMgbm90IHNldAorIyBDT05GSUdfU05EX1ZJQTgyWFhfTU9ERU0gaXMgbm90IHNldAorIyBDT05GSUdfU05EX1ZJUlRVT1NPIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9WWDIyMiBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfWU1GUENJIGlzIG5vdCBzZXQKKworIworIyBVU0IgZGV2aWNlcworIworIyBDT05GSUdfU05EX1VTQl9BVURJTyBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfVVNCX1VTWDJZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9VU0JfQ0FJQVEgaXMgbm90IHNldAorCisjCisjIFBDTUNJQSBkZXZpY2VzCisjCisjIENPTkZJR19TTkRfVlhQT0NLRVQgaXMgbm90IHNldAorIyBDT05GSUdfU05EX1BEQVVESU9DRiBpcyBub3Qgc2V0CisKKyMKKyMgU3lzdGVtIG9uIENoaXAgYXVkaW8gc3VwcG9ydAorIworIyBDT05GSUdfU05EX1NPQyBpcyBub3Qgc2V0CisKKyMKKyMgQUxTQSBTb0MgYXVkaW8gZm9yIEZyZWVzY2FsZSBTT0NzCisjCisKKyMKKyMgU29DIEF1ZGlvIGZvciB0aGUgVGV4YXMgSW5zdHJ1bWVudHMgT01BUAorIwogCiAjCiAjIE9wZW4gU291bmQgU3lzdGVtCiAjCi1DT05GSUdfU09VTkRfUFJJTUU9eQotIyBDT05GSUdfU09VTkRfVFJJREVOVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TT1VORF9NU05EQ0xBUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TT1VORF9NU05EUElOIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NPVU5EX09TUyBpcyBub3Qgc2V0CisjIENPTkZJR19TT1VORF9QUklNRSBpcyBub3Qgc2V0CiBDT05GSUdfSElEX1NVUFBPUlQ9eQogQ09ORklHX0hJRD15Ci0jIENPTkZJR19ISURfREVCVUcgaXMgbm90IHNldAorQ09ORklHX0hJRF9ERUJVRz15CitDT05GSUdfSElEUkFXPXkKIAogIwogIyBVU0IgSW5wdXQgRGV2aWNlcwogIwogQ09ORklHX1VTQl9ISUQ9eQotIyBDT05GSUdfVVNCX0hJRElOUFVUX1BPV0VSQk9PSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19ISURfRkYgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX0hJRERFViBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0hJRElOUFVUX1BPV0VSQk9PSz15CitDT05GSUdfSElEX0ZGPXkKK0NPTkZJR19ISURfUElEPXkKK0NPTkZJR19MT0dJVEVDSF9GRj15CisjIENPTkZJR19MT0dJUlVNQkxFUEFEMl9GRiBpcyBub3Qgc2V0CitDT05GSUdfUEFOVEhFUkxPUkRfRkY9eQorQ09ORklHX1RIUlVTVE1BU1RFUl9GRj15CitDT05GSUdfWkVST1BMVVNfRkY9eQorQ09ORklHX1VTQl9ISURERVY9eQogQ09ORklHX1VTQl9TVVBQT1JUPXkKIENPTkZJR19VU0JfQVJDSF9IQVNfSENEPXkKIENPTkZJR19VU0JfQVJDSF9IQVNfT0hDST15CiBDT05GSUdfVVNCX0FSQ0hfSEFTX0VIQ0k9eQogQ09ORklHX1VTQj15Ci0jIENPTkZJR19VU0JfREVCVUcgaXMgbm90IHNldAorQ09ORklHX1VTQl9ERUJVRz15CitDT05GSUdfVVNCX0FOTk9VTkNFX05FV19ERVZJQ0VTPXkKIAogIwogIyBNaXNjZWxsYW5lb3VzIFVTQiBvcHRpb25zCkBAIC05OTIsMTggKzE2MzEsMTggQEAKIENPTkZJR19VU0JfREVWSUNFRlM9eQogIyBDT05GSUdfVVNCX0RFVklDRV9DTEFTUyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfRFlOQU1JQ19NSU5PUlMgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1NVU1BFTkQgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1BFUlNJU1QgaXMgbm90IHNldAorQ09ORklHX1VTQl9TVVNQRU5EPXkKICMgQ09ORklHX1VTQl9PVEcgaXMgbm90IHNldAogCiAjCiAjIFVTQiBIb3N0IENvbnRyb2xsZXIgRHJpdmVycwogIworIyBDT05GSUdfVVNCX0M2N1gwMF9IQ0QgaXMgbm90IHNldAogQ09ORklHX1VTQl9FSENJX0hDRD15Ci0jIENPTkZJR19VU0JfRUhDSV9TUExJVF9JU08gaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0VIQ0lfUk9PVF9IVUJfVFQgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0VIQ0lfVFRfTkVXU0NIRUQgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0lTUDExNlhfSENEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9JU1AxNzYwX0hDRCBpcyBub3Qgc2V0CiBDT05GSUdfVVNCX09IQ0lfSENEPXkKICMgQ09ORklHX1VTQl9PSENJX0JJR19FTkRJQU5fREVTQyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfT0hDSV9CSUdfRU5ESUFOX01NSU8gaXMgbm90IHNldApAQCAtMTAzNiw4ICsxNjc1LDEwIEBACiAjIENPTkZJR19VU0JfU1RPUkFHRV9TRERSNTUgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfSlVNUFNIT1QgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfQUxBVURBIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVE9SQUdFX09ORVRPVUNIIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX0tBUk1BIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9MSUJVU1VBTCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1RPUkFHRV9DWVBSRVNTX0FUQUNCIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfTElCVVNVQUw9eQogCiAjCiAjIFVTQiBJbWFnaW5nIGRldmljZXMKQEAgLTEwNDksMTAgKzE2OTAsNiBAQAogIwogIyBVU0IgcG9ydCBkcml2ZXJzCiAjCi0KLSMKLSMgVVNCIFNlcmlhbCBDb252ZXJ0ZXIgc3VwcG9ydAotIwogIyBDT05GSUdfVVNCX1NFUklBTCBpcyBub3Qgc2V0CiAKICMKQEAgLTEwNzgsOTggKzE3MTUsMTI2IEBACiAjIENPTkZJR19VU0JfVFJBTkNFVklCUkFUT1IgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0lPV0FSUklPUiBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfVEVTVCBpcyBub3Qgc2V0Ci0KLSMKLSMgVVNCIERTTCBtb2RlbSBzdXBwb3J0Ci0jCi0KLSMKLSMgVVNCIEdhZGdldCBTdXBwb3J0Ci0jCiAjIENPTkZJR19VU0JfR0FER0VUIGlzIG5vdCBzZXQKICMgQ09ORklHX01NQyBpcyBub3Qgc2V0Ci0KLSMKLSMgTEVEIGRldmljZXMKLSMKLSMgQ09ORklHX05FV19MRURTIGlzIG5vdCBzZXQKKyMgQ09ORklHX01FTVNUSUNLIGlzIG5vdCBzZXQKK0NPTkZJR19ORVdfTEVEUz15CitDT05GSUdfTEVEU19DTEFTUz15CiAKICMKICMgTEVEIGRyaXZlcnMKICMKKyMgQ09ORklHX0xFRFNfQ0xFVk9fTUFJTCBpcyBub3Qgc2V0CiAKICMKICMgTEVEIFRyaWdnZXJzCiAjCitDT05GSUdfTEVEU19UUklHR0VSUz15CisjIENPTkZJR19MRURTX1RSSUdHRVJfVElNRVIgaXMgbm90IHNldAorIyBDT05GSUdfTEVEU19UUklHR0VSX0hFQVJUQkVBVCBpcyBub3Qgc2V0CisjIENPTkZJR19MRURTX1RSSUdHRVJfREVGQVVMVF9PTiBpcyBub3Qgc2V0CisjIENPTkZJR19BQ0NFU1NJQklMSVRZIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORklOSUJBTkQgaXMgbm90IHNldAotIyBDT05GSUdfRURBQyBpcyBub3Qgc2V0CitDT05GSUdfRURBQz15CiAKICMKLSMgUmVhbCBUaW1lIENsb2NrCisjIFJlcG9ydGluZyBzdWJzeXN0ZW1zCiAjCi0jIENPTkZJR19SVENfQ0xBU1MgaXMgbm90IHNldAorIyBDT05GSUdfRURBQ19ERUJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19FREFDX01NX0VEQUMgaXMgbm90IHNldAorQ09ORklHX1JUQ19MSUI9eQorQ09ORklHX1JUQ19DTEFTUz15CisjIENPTkZJR19SVENfSENUT1NZUyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfREVCVUcgaXMgbm90IHNldAogCiAjCi0jIERNQSBFbmdpbmUgc3VwcG9ydAorIyBSVEMgaW50ZXJmYWNlcwogIwotIyBDT05GSUdfRE1BX0VOR0lORSBpcyBub3Qgc2V0CitDT05GSUdfUlRDX0lOVEZfU1lTRlM9eQorQ09ORklHX1JUQ19JTlRGX1BST0M9eQorQ09ORklHX1JUQ19JTlRGX0RFVj15CisjIENPTkZJR19SVENfSU5URl9ERVZfVUlFX0VNVUwgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9URVNUIGlzIG5vdCBzZXQKIAogIwotIyBETUEgQ2xpZW50cworIyBJMkMgUlRDIGRyaXZlcnMKICMKKyMgQ09ORklHX1JUQ19EUlZfRFMxMzA3IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfRFMxMzc0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfRFMxNjcyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfTUFYNjkwMCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1JTNUMzNzIgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9JU0wxMjA4IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfWDEyMDUgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9QQ0Y4NTYzIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUENGODU4MyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX000MVQ4MCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1MzNTM5MEEgaXMgbm90IHNldAorCisjCisjIFNQSSBSVEMgZHJpdmVycworIworCisjCisjIFBsYXRmb3JtIFJUQyBkcml2ZXJzCisjCitDT05GSUdfUlRDX0RSVl9DTU9TPXkKKyMgQ09ORklHX1JUQ19EUlZfRFMxNTExIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfRFMxNTUzIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfRFMxNzQyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfU1RLMTdUQTggaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9NNDhUODYgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9NNDhUNTkgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9WMzAyMCBpcyBub3Qgc2V0CisKKyMKKyMgb24tQ1BVIFJUQyBkcml2ZXJzCisjCitDT05GSUdfRE1BREVWSUNFUz15CiAKICMKICMgRE1BIERldmljZXMKICMKLUNPTkZJR19WSVJUVUFMSVpBVElPTj15Ci0jIENPTkZJR19LVk0gaXMgbm90IHNldAotCi0jCi0jIFVzZXJzcGFjZSBJL08KLSMKKyMgQ09ORklHX0lOVEVMX0lPQVRETUEgaXMgbm90IHNldAogIyBDT05GSUdfVUlPIGlzIG5vdCBzZXQKIAogIwogIyBGaXJtd2FyZSBEcml2ZXJzCiAjCiAjIENPTkZJR19FREQgaXMgbm90IHNldAorQ09ORklHX0VGSV9WQVJTPXkKICMgQ09ORklHX0RFTExfUkJVIGlzIG5vdCBzZXQKICMgQ09ORklHX0RDREJBUyBpcyBub3Qgc2V0CiBDT05GSUdfRE1JSUQ9eQorIyBDT05GSUdfSVNDU0lfSUJGVF9GSU5EIGlzIG5vdCBzZXQKIAogIwogIyBGaWxlIHN5c3RlbXMKICMKLUNPTkZJR19FWFQyX0ZTPXkKLUNPTkZJR19FWFQyX0ZTX1hBVFRSPXkKLUNPTkZJR19FWFQyX0ZTX1BPU0lYX0FDTD15Ci0jIENPTkZJR19FWFQyX0ZTX1NFQ1VSSVRZIGlzIG5vdCBzZXQKLSMgQ09ORklHX0VYVDJfRlNfWElQIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VYVDJfRlMgaXMgbm90IHNldAogQ09ORklHX0VYVDNfRlM9eQogQ09ORklHX0VYVDNfRlNfWEFUVFI9eQogQ09ORklHX0VYVDNfRlNfUE9TSVhfQUNMPXkKLSMgQ09ORklHX0VYVDNfRlNfU0VDVVJJVFkgaXMgbm90IHNldAorQ09ORklHX0VYVDNfRlNfU0VDVVJJVFk9eQogIyBDT05GSUdfRVhUNERFVl9GUyBpcyBub3Qgc2V0CiBDT05GSUdfSkJEPXkKICMgQ09ORklHX0pCRF9ERUJVRyBpcyBub3Qgc2V0CiBDT05GSUdfRlNfTUJDQUNIRT15Ci1DT05GSUdfUkVJU0VSRlNfRlM9eQotIyBDT05GSUdfUkVJU0VSRlNfQ0hFQ0sgaXMgbm90IHNldAotIyBDT05GSUdfUkVJU0VSRlNfUFJPQ19JTkZPIGlzIG5vdCBzZXQKLUNPTkZJR19SRUlTRVJGU19GU19YQVRUUj15Ci1DT05GSUdfUkVJU0VSRlNfRlNfUE9TSVhfQUNMPXkKLSMgQ09ORklHX1JFSVNFUkZTX0ZTX1NFQ1VSSVRZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JFSVNFUkZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0pGU19GUyBpcyBub3Qgc2V0CiBDT05GSUdfRlNfUE9TSVhfQUNMPXkKICMgQ09ORklHX1hGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19HRlMyX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX09DRlMyX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX01JTklYX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JPTUZTX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19ETk9USUZZPXkKIENPTkZJR19JTk9USUZZPXkKIENPTkZJR19JTk9USUZZX1VTRVI9eQotIyBDT05GSUdfUVVPVEEgaXMgbm90IHNldAotQ09ORklHX0ROT1RJRlk9eQorQ09ORklHX1FVT1RBPXkKK0NPTkZJR19RVU9UQV9ORVRMSU5LX0lOVEVSRkFDRT15CisjIENPTkZJR19QUklOVF9RVU9UQV9XQVJOSU5HIGlzIG5vdCBzZXQKKyMgQ09ORklHX1FGTVRfVjEgaXMgbm90IHNldAorQ09ORklHX1FGTVRfVjI9eQorQ09ORklHX1FVT1RBQ1RMPXkKICMgQ09ORklHX0FVVE9GU19GUyBpcyBub3Qgc2V0CiBDT05GSUdfQVVUT0ZTNF9GUz15CiAjIENPTkZJR19GVVNFX0ZTIGlzIG5vdCBzZXQKQEAgLTExODAsNyArMTg0NSw3IEBACiAjCiBDT05GSUdfSVNPOTY2MF9GUz15CiBDT05GSUdfSk9MSUVUPXkKLSMgQ09ORklHX1pJU09GUyBpcyBub3Qgc2V0CitDT05GSUdfWklTT0ZTPXkKICMgQ09ORklHX1VERl9GUyBpcyBub3Qgc2V0CiAKICMKQEAgLTExOTgsMTMgKzE4NjMsMTMgQEAKICMKIENPTkZJR19QUk9DX0ZTPXkKIENPTkZJR19QUk9DX0tDT1JFPXkKK0NPTkZJR19QUk9DX1ZNQ09SRT15CiBDT05GSUdfUFJPQ19TWVNDVEw9eQogQ09ORklHX1NZU0ZTPXkKIENPTkZJR19UTVBGUz15CiBDT05GSUdfVE1QRlNfUE9TSVhfQUNMPXkKIENPTkZJR19IVUdFVExCRlM9eQogQ09ORklHX0hVR0VUTEJfUEFHRT15Ci1DT05GSUdfUkFNRlM9eQogIyBDT05GSUdfQ09ORklHRlNfRlMgaXMgbm90IHNldAogCiAjCkBAIC0xMjEyLDYgKzE4NzcsNyBAQAogIwogIyBDT05GSUdfQURGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19BRkZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VDUllQVF9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19IRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfSEZTUExVU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19CRUZTX0ZTIGlzIG5vdCBzZXQKQEAgLTEyMTksMzMgKzE4ODUsMTUgQEAKICMgQ09ORklHX0VGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUkFNRlMgaXMgbm90IHNldAogIyBDT05GSUdfVlhGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19NSU5JWF9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19IUEZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1FOWDRGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19ST01GU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TWVNWX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1VGU19GUyBpcyBub3Qgc2V0Ci0KLSMKLSMgTmV0d29yayBGaWxlIFN5c3RlbXMKLSMKLUNPTkZJR19ORlNfRlM9eQotQ09ORklHX05GU19WMz15Ci0jIENPTkZJR19ORlNfVjNfQUNMIGlzIG5vdCBzZXQKLSMgQ09ORklHX05GU19WNCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ORlNfRElSRUNUSU8gaXMgbm90IHNldAotQ09ORklHX05GU0Q9eQotQ09ORklHX05GU0RfVjM9eQotIyBDT05GSUdfTkZTRF9WM19BQ0wgaXMgbm90IHNldAotIyBDT05GSUdfTkZTRF9WNCBpcyBub3Qgc2V0Ci1DT05GSUdfTkZTRF9UQ1A9eQotQ09ORklHX1JPT1RfTkZTPXkKLUNPTkZJR19MT0NLRD15Ci1DT05GSUdfTE9DS0RfVjQ9eQotQ09ORklHX0VYUE9SVEZTPXkKLUNPTkZJR19ORlNfQ09NTU9OPXkKLUNPTkZJR19TVU5SUEM9eQotIyBDT05GSUdfU1VOUlBDX0JJTkQzNCBpcyBub3Qgc2V0Ci0jIENPTkZJR19SUENTRUNfR1NTX0tSQjUgaXMgbm90IHNldAotIyBDT05GSUdfUlBDU0VDX0dTU19TUEtNMyBpcyBub3Qgc2V0CitDT05GSUdfTkVUV09SS19GSUxFU1lTVEVNUz15CisjIENPTkZJR19ORlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfTkZTRCBpcyBub3Qgc2V0CiAjIENPTkZJR19TTUJfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQ0lGUyBpcyBub3Qgc2V0CiAjIENPTkZJR19OQ1BfRlMgaXMgbm90IHNldApAQCAtMTI1NSwxNCArMTkwMywyNiBAQAogIwogIyBQYXJ0aXRpb24gVHlwZXMKICMKLSMgQ09ORklHX1BBUlRJVElPTl9BRFZBTkNFRCBpcyBub3Qgc2V0CitDT05GSUdfUEFSVElUSU9OX0FEVkFOQ0VEPXkKKyMgQ09ORklHX0FDT1JOX1BBUlRJVElPTiBpcyBub3Qgc2V0CitDT05GSUdfT1NGX1BBUlRJVElPTj15CitDT05GSUdfQU1JR0FfUEFSVElUSU9OPXkKKyMgQ09ORklHX0FUQVJJX1BBUlRJVElPTiBpcyBub3Qgc2V0CitDT05GSUdfTUFDX1BBUlRJVElPTj15CiBDT05GSUdfTVNET1NfUEFSVElUSU9OPXkKLQotIwotIyBOYXRpdmUgTGFuZ3VhZ2UgU3VwcG9ydAotIworQ09ORklHX0JTRF9ESVNLTEFCRUw9eQorQ09ORklHX01JTklYX1NVQlBBUlRJVElPTj15CitDT05GSUdfU09MQVJJU19YODZfUEFSVElUSU9OPXkKK0NPTkZJR19VTklYV0FSRV9ESVNLTEFCRUw9eQorIyBDT05GSUdfTERNX1BBUlRJVElPTiBpcyBub3Qgc2V0CitDT05GSUdfU0dJX1BBUlRJVElPTj15CisjIENPTkZJR19VTFRSSVhfUEFSVElUSU9OIGlzIG5vdCBzZXQKK0NPTkZJR19TVU5fUEFSVElUSU9OPXkKK0NPTkZJR19LQVJNQV9QQVJUSVRJT049eQorQ09ORklHX0VGSV9QQVJUSVRJT049eQorIyBDT05GSUdfU1lTVjY4X1BBUlRJVElPTiBpcyBub3Qgc2V0CiBDT05GSUdfTkxTPXkKLUNPTkZJR19OTFNfREVGQVVMVD0iaXNvODg1OS0xIgorQ09ORklHX05MU19ERUZBVUxUPSJ1dGY4IgogQ09ORklHX05MU19DT0RFUEFHRV80Mzc9eQogIyBDT05GSUdfTkxTX0NPREVQQUdFXzczNyBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfNzc1IGlzIG5vdCBzZXQKQEAgLTEyOTcsNDAgKzE5NTcsMzMgQEAKICMgQ09ORklHX05MU19JU084ODU5XzkgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0lTTzg4NTlfMTMgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0lTTzg4NTlfMTQgaXMgbm90IHNldAotQ09ORklHX05MU19JU084ODU5XzE1PXkKKyMgQ09ORklHX05MU19JU084ODU5XzE1IGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19LT0k4X1IgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0tPSThfVSBpcyBub3Qgc2V0CiBDT05GSUdfTkxTX1VURjg9eQotCi0jCi0jIERpc3RyaWJ1dGVkIExvY2sgTWFuYWdlcgotIwogIyBDT05GSUdfRExNIGlzIG5vdCBzZXQKIAogIwotIyBJbnN0cnVtZW50YXRpb24gU3VwcG9ydAotIwotQ09ORklHX1BST0ZJTElORz15Ci1DT05GSUdfT1BST0ZJTEU9eQotQ09ORklHX0tQUk9CRVM9eQotCi0jCiAjIEtlcm5lbCBoYWNraW5nCiAjCiBDT05GSUdfVFJBQ0VfSVJRRkxBR1NfU1VQUE9SVD15CiAjIENPTkZJR19QUklOVEtfVElNRSBpcyBub3Qgc2V0CisjIENPTkZJR19FTkFCTEVfV0FSTl9ERVBSRUNBVEVEIGlzIG5vdCBzZXQKICMgQ09ORklHX0VOQUJMRV9NVVNUX0NIRUNLIGlzIG5vdCBzZXQKK0NPTkZJR19GUkFNRV9XQVJOPTIwNDgKIENPTkZJR19NQUdJQ19TWVNSUT15Ci1DT05GSUdfVU5VU0VEX1NZTUJPTFM9eQorIyBDT05GSUdfVU5VU0VEX1NZTUJPTFMgaXMgbm90IHNldAogQ09ORklHX0RFQlVHX0ZTPXkKICMgQ09ORklHX0hFQURFUlNfQ0hFQ0sgaXMgbm90IHNldAogQ09ORklHX0RFQlVHX0tFUk5FTD15CiAjIENPTkZJR19ERUJVR19TSElSUSBpcyBub3Qgc2V0Ci1DT05GSUdfREVURUNUX1NPRlRMT0NLVVA9eQorIyBDT05GSUdfREVURUNUX1NPRlRMT0NLVVAgaXMgbm90IHNldAogIyBDT05GSUdfU0NIRURfREVCVUcgaXMgbm90IHNldAotIyBDT05GSUdfU0NIRURTVEFUUyBpcyBub3Qgc2V0CitDT05GSUdfU0NIRURTVEFUUz15CiBDT05GSUdfVElNRVJfU1RBVFM9eQotIyBDT05GSUdfREVCVUdfU0xBQiBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19PQkpFQ1RTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NMVUJfREVCVUdfT04gaXMgbm90IHNldAorIyBDT05GSUdfU0xVQl9TVEFUUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19SVF9NVVRFWEVTIGlzIG5vdCBzZXQKICMgQ09ORklHX1JUX01VVEVYX1RFU1RFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19TUElOTE9DSyBpcyBub3Qgc2V0CkBAIC0xMzQ0LDI4ICsxOTk3LDE2MiBAQAogQ09ORklHX0RFQlVHX0JVR1ZFUkJPU0U9eQogIyBDT05GSUdfREVCVUdfSU5GTyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19WTSBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19XUklURUNPVU5UIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0xJU1QgaXMgbm90IHNldAotIyBDT05GSUdfRlJBTUVfUE9JTlRFUiBpcyBub3Qgc2V0Ci1DT05GSUdfT1BUSU1JWkVfSU5MSU5JTkc9eQorIyBDT05GSUdfREVCVUdfU0cgaXMgbm90IHNldAorQ09ORklHX0ZSQU1FX1BPSU5URVI9eQorIyBDT05GSUdfQk9PVF9QUklOVEtfREVMQVkgaXMgbm90IHNldAogIyBDT05GSUdfUkNVX1RPUlRVUkVfVEVTVCBpcyBub3Qgc2V0CisjIENPTkZJR19LUFJPQkVTX1NBTklUWV9URVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JBQ0tUUkFDRV9TRUxGX1RFU1QgaXMgbm90IHNldAogIyBDT05GSUdfTEtEVE0gaXMgbm90IHNldAogIyBDT05GSUdfRkFVTFRfSU5KRUNUSU9OIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFQlVHX1JPREFUQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19JT01NVV9ERUJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19MQVRFTkNZVE9QIGlzIG5vdCBzZXQKK0NPTkZJR19QUk9WSURFX09IQ0kxMzk0X0RNQV9JTklUPXkKKyMgQ09ORklHX1NBTVBMRVMgaXMgbm90IHNldAorIyBDT05GSUdfS0dEQiBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9BUkNIX0tHREI9eQorIyBDT05GSUdfTk9OUFJPTUlTQ19ERVZNRU0gaXMgbm90IHNldAorQ09ORklHX0VBUkxZX1BSSU5USz15CiBDT05GSUdfREVCVUdfU1RBQ0tPVkVSRkxPVz15Ci0jIENPTkZJR19ERUJVR19TVEFDS19VU0FHRSBpcyBub3Qgc2V0CitDT05GSUdfREVCVUdfU1RBQ0tfVVNBR0U9eQorIyBDT05GSUdfREVCVUdfUEFHRUFMTE9DIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX1BFUl9DUFVfTUFQUyBpcyBub3Qgc2V0CisjIENPTkZJR19YODZfUFREVU1QIGlzIG5vdCBzZXQKK0NPTkZJR19ERUJVR19ST0RBVEE9eQorIyBDT05GSUdfRElSRUNUX0dCUEFHRVMgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfUk9EQVRBX1RFU1QgaXMgbm90IHNldAorQ09ORklHX0RFQlVHX05YX1RFU1Q9bQorQ09ORklHX1g4Nl9NUFBBUlNFPXkKKyMgQ09ORklHX0lPTU1VX0RFQlVHIGlzIG5vdCBzZXQKK0NPTkZJR19JT19ERUxBWV9UWVBFXzBYODA9MAorQ09ORklHX0lPX0RFTEFZX1RZUEVfMFhFRD0xCitDT05GSUdfSU9fREVMQVlfVFlQRV9VREVMQVk9MgorQ09ORklHX0lPX0RFTEFZX1RZUEVfTk9ORT0zCitDT05GSUdfSU9fREVMQVlfMFg4MD15CisjIENPTkZJR19JT19ERUxBWV8wWEVEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lPX0RFTEFZX1VERUxBWSBpcyBub3Qgc2V0CisjIENPTkZJR19JT19ERUxBWV9OT05FIGlzIG5vdCBzZXQKK0NPTkZJR19ERUZBVUxUX0lPX0RFTEFZX1RZUEU9MAorQ09ORklHX0RFQlVHX0JPT1RfUEFSQU1TPXkKKyMgQ09ORklHX0NQQV9ERUJVRyBpcyBub3Qgc2V0CiAKICMKICMgU2VjdXJpdHkgb3B0aW9ucwogIwotIyBDT05GSUdfS0VZUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRUNVUklUWSBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE8gaXMgbm90IHNldAorQ09ORklHX0tFWVM9eQorQ09ORklHX0tFWVNfREVCVUdfUFJPQ19LRVlTPXkKK0NPTkZJR19TRUNVUklUWT15CitDT05GSUdfU0VDVVJJVFlfTkVUV09SSz15CisjIENPTkZJR19TRUNVUklUWV9ORVRXT1JLX1hGUk0gaXMgbm90IHNldAorQ09ORklHX1NFQ1VSSVRZX0NBUEFCSUxJVElFUz15CitDT05GSUdfU0VDVVJJVFlfRklMRV9DQVBBQklMSVRJRVM9eQorIyBDT05GSUdfU0VDVVJJVFlfUk9PVFBMVUcgaXMgbm90IHNldAorQ09ORklHX1NFQ1VSSVRZX0RFRkFVTFRfTU1BUF9NSU5fQUREUj02NTUzNgorQ09ORklHX1NFQ1VSSVRZX1NFTElOVVg9eQorQ09ORklHX1NFQ1VSSVRZX1NFTElOVVhfQk9PVFBBUkFNPXkKK0NPTkZJR19TRUNVUklUWV9TRUxJTlVYX0JPT1RQQVJBTV9WQUxVRT0xCitDT05GSUdfU0VDVVJJVFlfU0VMSU5VWF9ESVNBQkxFPXkKK0NPTkZJR19TRUNVUklUWV9TRUxJTlVYX0RFVkVMT1A9eQorQ09ORklHX1NFQ1VSSVRZX1NFTElOVVhfQVZDX1NUQVRTPXkKK0NPTkZJR19TRUNVUklUWV9TRUxJTlVYX0NIRUNLUkVRUFJPVF9WQUxVRT0xCisjIENPTkZJR19TRUNVUklUWV9TRUxJTlVYX0VOQUJMRV9TRUNNQVJLX0RFRkFVTFQgaXMgbm90IHNldAorIyBDT05GSUdfU0VDVVJJVFlfU0VMSU5VWF9QT0xJQ1lEQl9WRVJTSU9OX01BWCBpcyBub3Qgc2V0CisjIENPTkZJR19TRUNVUklUWV9TTUFDSyBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPPXkKKworIworIyBDcnlwdG8gY29yZSBvciBoZWxwZXIKKyMKK0NPTkZJR19DUllQVE9fQUxHQVBJPXkKK0NPTkZJR19DUllQVE9fQUVBRD15CitDT05GSUdfQ1JZUFRPX0JMS0NJUEhFUj15CitDT05GSUdfQ1JZUFRPX0hBU0g9eQorQ09ORklHX0NSWVBUT19NQU5BR0VSPXkKKyMgQ09ORklHX0NSWVBUT19HRjEyOE1VTCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fTlVMTCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ1JZUFREIGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fQVVUSEVOQz15CisjIENPTkZJR19DUllQVE9fVEVTVCBpcyBub3Qgc2V0CisKKyMKKyMgQXV0aGVudGljYXRlZCBFbmNyeXB0aW9uIHdpdGggQXNzb2NpYXRlZCBEYXRhCisjCisjIENPTkZJR19DUllQVE9fQ0NNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19HQ00gaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NFUUlWIGlzIG5vdCBzZXQKKworIworIyBCbG9jayBtb2RlcworIworQ09ORklHX0NSWVBUT19DQkM9eQorIyBDT05GSUdfQ1JZUFRPX0NUUiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ1RTIGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fRUNCPXkKKyMgQ09ORklHX0NSWVBUT19MUlcgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1BDQkMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1hUUyBpcyBub3Qgc2V0CisKKyMKKyMgSGFzaCBtb2RlcworIworQ09ORklHX0NSWVBUT19ITUFDPXkKKyMgQ09ORklHX0NSWVBUT19YQ0JDIGlzIG5vdCBzZXQKKworIworIyBEaWdlc3QKKyMKKyMgQ09ORklHX0NSWVBUT19DUkMzMkMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX01ENCBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX01ENT15CisjIENPTkZJR19DUllQVE9fTUlDSEFFTF9NSUMgaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19TSEExPXkKKyMgQ09ORklHX0NSWVBUT19TSEEyNTYgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NIQTUxMiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fVEdSMTkyIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19XUDUxMiBpcyBub3Qgc2V0CisKKyMKKyMgQ2lwaGVycworIworQ09ORklHX0NSWVBUT19BRVM9eQorIyBDT05GSUdfQ1JZUFRPX0FFU19YODZfNjQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0FOVUJJUyBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX0FSQzQ9eQorIyBDT05GSUdfQ1JZUFRPX0JMT1dGSVNIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DQU1FTExJQSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ0FTVDUgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NBU1Q2IGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fREVTPXkKKyMgQ09ORklHX0NSWVBUT19GQ1JZUFQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0tIQVpBRCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0FMU0EyMCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0FMU0EyMF9YODZfNjQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NFRUQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NFUlBFTlQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1RFQSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fVFdPRklTSCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fVFdPRklTSF9YODZfNjQgaXMgbm90IHNldAorCisjCisjIENvbXByZXNzaW9uCisjCisjIENPTkZJR19DUllQVE9fREVGTEFURSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fTFpPIGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fSFc9eQorIyBDT05GSUdfQ1JZUFRPX0RFVl9ISUZOXzc5NVggaXMgbm90IHNldAorQ09ORklHX0hBVkVfS1ZNPXkKK0NPTkZJR19WSVJUVUFMSVpBVElPTj15CisjIENPTkZJR19LVk0gaXMgbm90IHNldAorIyBDT05GSUdfVklSVElPX1BDSSBpcyBub3Qgc2V0CisjIENPTkZJR19WSVJUSU9fQkFMTE9PTiBpcyBub3Qgc2V0CiAKICMKICMgTGlicmFyeSByb3V0aW5lcwogIwogQ09ORklHX0JJVFJFVkVSU0U9eQorQ09ORklHX0dFTkVSSUNfRklORF9GSVJTVF9CSVQ9eQorQ09ORklHX0dFTkVSSUNfRklORF9ORVhUX0JJVD15CiAjIENPTkZJR19DUkNfQ0NJVFQgaXMgbm90IHNldAogIyBDT05GSUdfQ1JDMTYgaXMgbm90IHNldAogIyBDT05GSUdfQ1JDX0lUVV9UIGlzIG5vdCBzZXQKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2lhMzIvaWEzMmVudHJ5LlMgYi9hcmNoL3g4Ni9pYTMyL2lhMzJlbnRyeS5TCmluZGV4IGI1ZTMyOWQuLjIwMzcxZDAgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2lhMzIvaWEzMmVudHJ5LlMKKysrIGIvYXJjaC94ODYvaWEzMi9pYTMyZW50cnkuUwpAQCAtNjEsNiArNjEsMTkgQEAKIAlDRklfVU5ERUZJTkVECXIxNQogCS5lbmRtCiAKKyNpZmRlZiBDT05GSUdfUEFSQVZJUlQKK0VOVFJZKG5hdGl2ZV91c2VyZ3Nfc3lzcmV0MzIpCisJc3dhcGdzCisJc3lzcmV0bAorRU5EUFJPQyhuYXRpdmVfdXNlcmdzX3N5c3JldDMyKQorCitFTlRSWShuYXRpdmVfaXJxX2VuYWJsZV9zeXNleGl0KQorCXN3YXBncworCXN0aQorCXN5c2V4aXQKK0VORFBST0MobmF0aXZlX2lycV9lbmFibGVfc3lzZXhpdCkKKyNlbmRpZgorCiAvKgogICogMzJiaXQgU1lTRU5URVIgaW5zdHJ1Y3Rpb24gZW50cnkuCiAgKgpAQCAtODUsMTQgKzk4LDE0IEBACiAJQ0ZJX1NJR05BTF9GUkFNRQogCUNGSV9ERUZfQ0ZBCXJzcCwwCiAJQ0ZJX1JFR0lTVEVSCXJzcCxyYnAKLQlzd2FwZ3MKKwlTV0FQR1NfVU5TQUZFX1NUQUNLCiAJbW92cQklZ3M6cGRhX2tlcm5lbHN0YWNrLCAlcnNwCiAJYWRkcQkkKFBEQV9TVEFDS09GRlNFVCksJXJzcAkKIAkvKgogCSAqIE5vIG5lZWQgdG8gZm9sbG93IHRoaXMgaXJxcyBvbi9vZmYgc2VjdGlvbjogdGhlIHN5c2NhbGwKIAkgKiBkaXNhYmxlZCBpcnFzLCBoZXJlIHdlIGVuYWJsZSBpdCBzdHJhaWdodCBhZnRlciBlbnRyeToKIAkgKi8KLQlzdGkJCisJRU5BQkxFX0lOVEVSUlVQVFMoQ0xCUl9OT05FKQogIAltb3ZsCSVlYnAsJWVicAkJLyogemVybyBleHRlbnNpb24gKi8KIAlwdXNocQkkX19VU0VSMzJfRFMKIAlDRklfQURKVVNUX0NGQV9PRkZTRVQgOApAQCAtMTAzLDcgKzExNiw3IEBACiAJcHVzaGZxCiAJQ0ZJX0FESlVTVF9DRkFfT0ZGU0VUIDgKIAkvKkNGSV9SRUxfT0ZGU0VUIHJmbGFncywwKi8KLQltb3ZsCTgqMy1USFJFQURfU0laRSt0aHJlYWRpbmZvX3N5c2VudGVyX3JldHVybiglcnNwKSwgJXIxMGQKKwltb3ZsCTgqMy1USFJFQURfU0laRStUSV9zeXNlbnRlcl9yZXR1cm4oJXJzcCksICVyMTBkCiAJQ0ZJX1JFR0lTVEVSIHJpcCxyMTAKIAlwdXNocQkkX19VU0VSMzJfQ1MKIAlDRklfQURKVVNUX0NGQV9PRkZTRVQgOApAQCAtMTIzLDggKzEzNiw5IEBACiAgCS5xdWFkIDFiLGlhMzJfYmFkYXJnCiAgCS5wcmV2aW91cwkKIAlHRVRfVEhSRUFEX0lORk8oJXIxMCkKLQlvcmwgICAgJFRTX0NPTVBBVCx0aHJlYWRpbmZvX3N0YXR1cyglcjEwKQotCXRlc3RsICAkKF9USUZfU1lTQ0FMTF9UUkFDRXxfVElGX1NZU0NBTExfQVVESVR8X1RJRl9TRUNDT01QKSx0aHJlYWRpbmZvX2ZsYWdzKCVyMTApCisJb3JsICAgICRUU19DT01QQVQsVElfc3RhdHVzKCVyMTApCisJdGVzdGwgICQoX1RJRl9TWVNDQUxMX1RSQUNFfF9USUZfU1lTQ0FMTF9BVURJVHxfVElGX1NFQ0NPTVApLCBcCisJCSBUSV9mbGFncyglcjEwKQogCUNGSV9SRU1FTUJFUl9TVEFURQogCWpueiAgc3lzZW50ZXJfdHJhY2VzeXMKIHN5c2VudGVyX2RvX2NhbGw6CQpAQCAtMTM0LDExICsxNDgsMTEgQEAKIAljYWxsCSppYTMyX3N5c19jYWxsX3RhYmxlKCwlcmF4LDgpCiAJbW92cQklcmF4LFJBWC1BUkdPRkZTRVQoJXJzcCkKIAlHRVRfVEhSRUFEX0lORk8oJXIxMCkKLQljbGkKKwlESVNBQkxFX0lOVEVSUlVQVFMoQ0xCUl9OT05FKQogCVRSQUNFX0lSUVNfT0ZGCi0JdGVzdGwJJF9USUZfQUxMV09SS19NQVNLLHRocmVhZGluZm9fZmxhZ3MoJXIxMCkKKwl0ZXN0bAkkX1RJRl9BTExXT1JLX01BU0ssVElfZmxhZ3MoJXIxMCkKIAlqbnoJaW50X3JldF9mcm9tX3N5c19jYWxsCi0JYW5kbCAgICAkflRTX0NPTVBBVCx0aHJlYWRpbmZvX3N0YXR1cyglcjEwKQorCWFuZGwgICAgJH5UU19DT01QQVQsVElfc3RhdHVzKCVyMTApCiAJLyogY2xlYXIgSUYsIHRoYXQgcG9wZnEgZG9lc24ndCBlbmFibGUgaW50ZXJydXB0cyBlYXJseSAqLwogCWFuZGwgICR+MHgyMDAsRUZMQUdTLVIxMSglcnNwKSAKIAltb3ZsCVJJUC1SMTEoJXJzcCksJWVkeAkJLyogVXNlciAlZWlwICovCkBAIC0xNTEsMTAgKzE2NSw3IEBACiAJQ0ZJX0FESlVTVF9DRkFfT0ZGU0VUIC04CiAJQ0ZJX1JFR0lTVEVSIHJzcCxyY3gKIAlUUkFDRV9JUlFTX09OCi0Jc3dhcGdzCi0Jc3RpCQkvKiBzdGkgb25seSB0YWtlcyBlZmZlY3QgYWZ0ZXIgdGhlIG5leHQgaW5zdHJ1Y3Rpb24gKi8KLQkvKiBzeXNleGl0ICovCi0JLmJ5dGUJMHhmLCAweDM1CisJRU5BQkxFX0lOVEVSUlVQVFNfU1lTRVhJVDMyCiAKIHN5c2VudGVyX3RyYWNlc3lzOgogCUNGSV9SRVNUT1JFX1NUQVRFCkBAIC0yMDAsNyArMjExLDcgQEAKIAlDRklfREVGX0NGQQlyc3AsUERBX1NUQUNLT0ZGU0VUCiAJQ0ZJX1JFR0lTVEVSCXJpcCxyY3gKIAkvKkNGSV9SRUdJU1RFUglyZmxhZ3MscjExKi8KLQlzd2FwZ3MKKwlTV0FQR1NfVU5TQUZFX1NUQUNLCiAJbW92bAklZXNwLCVyOGQKIAlDRklfUkVHSVNURVIJcnNwLHI4CiAJbW92cQklZ3M6cGRhX2tlcm5lbHN0YWNrLCVyc3AKQEAgLTIwOCw3ICsyMTksNyBAQAogCSAqIE5vIG5lZWQgdG8gZm9sbG93IHRoaXMgaXJxcyBvbi9vZmYgc2VjdGlvbjogdGhlIHN5c2NhbGwKIAkgKiBkaXNhYmxlZCBpcnFzIGFuZCBoZXJlIHdlIGVuYWJsZSBpdCBzdHJhaWdodCBhZnRlciBlbnRyeToKIAkgKi8KLQlzdGkKKwlFTkFCTEVfSU5URVJSVVBUUyhDTEJSX05PTkUpCiAJU0FWRV9BUkdTIDgsMSwxCiAJbW92bCAJJWVheCwlZWF4CS8qIHplcm8gZXh0ZW5zaW9uICovCiAJbW92cQklcmF4LE9SSUdfUkFYLUFSR09GRlNFVCglcnNwKQpAQCAtMjMwLDggKzI0MSw5IEBACiAJLnF1YWQgMWIsaWEzMl9iYWRhcmcKIAkucHJldmlvdXMJCiAJR0VUX1RIUkVBRF9JTkZPKCVyMTApCi0Jb3JsICAgJFRTX0NPTVBBVCx0aHJlYWRpbmZvX3N0YXR1cyglcjEwKQotCXRlc3RsICQoX1RJRl9TWVNDQUxMX1RSQUNFfF9USUZfU1lTQ0FMTF9BVURJVHxfVElGX1NFQ0NPTVApLHRocmVhZGluZm9fZmxhZ3MoJXIxMCkKKwlvcmwgICAkVFNfQ09NUEFULFRJX3N0YXR1cyglcjEwKQorCXRlc3RsICQoX1RJRl9TWVNDQUxMX1RSQUNFfF9USUZfU1lTQ0FMTF9BVURJVHxfVElGX1NFQ0NPTVApLCBcCisJCVRJX2ZsYWdzKCVyMTApCiAJQ0ZJX1JFTUVNQkVSX1NUQVRFCiAJam56ICAgY3N0YXJfdHJhY2VzeXMKIGNzdGFyX2RvX2NhbGw6CQpAQCAtMjQxLDExICsyNTMsMTEgQEAKIAljYWxsICppYTMyX3N5c19jYWxsX3RhYmxlKCwlcmF4LDgpCiAJbW92cSAlcmF4LFJBWC1BUkdPRkZTRVQoJXJzcCkKIAlHRVRfVEhSRUFEX0lORk8oJXIxMCkKLQljbGkKKwlESVNBQkxFX0lOVEVSUlVQVFMoQ0xCUl9OT05FKQogCVRSQUNFX0lSUVNfT0ZGCi0JdGVzdGwgJF9USUZfQUxMV09SS19NQVNLLHRocmVhZGluZm9fZmxhZ3MoJXIxMCkKKwl0ZXN0bCAkX1RJRl9BTExXT1JLX01BU0ssVElfZmxhZ3MoJXIxMCkKIAlqbnogIGludF9yZXRfZnJvbV9zeXNfY2FsbAotCWFuZGwgJH5UU19DT01QQVQsdGhyZWFkaW5mb19zdGF0dXMoJXIxMCkKKwlhbmRsICR+VFNfQ09NUEFULFRJX3N0YXR1cyglcjEwKQogCVJFU1RPUkVfQVJHUyAxLC1BUkdfU0tJUCwxLDEsMQogCW1vdmwgUklQLUFSR09GRlNFVCglcnNwKSwlZWN4CiAJQ0ZJX1JFR0lTVEVSIHJpcCxyY3gKQEAgLTI1NCw4ICsyNjYsNyBAQAogCVRSQUNFX0lSUVNfT04KIAltb3ZsIFJTUC1BUkdPRkZTRVQoJXJzcCksJWVzcAogCUNGSV9SRVNUT1JFIHJzcAotCXN3YXBncwotCXN5c3JldGwKKwlVU0VSR1NfU1lTUkVUMzIKIAkKIGNzdGFyX3RyYWNlc3lzOgkKIAlDRklfUkVTVE9SRV9TVEFURQpAQCAtMzEwLDEyICszMjEsMTIgQEAKIAkvKkNGSV9SRUxfT0ZGU0VUCXJmbGFncyxFRkxBR1MtUklQKi8KIAkvKkNGSV9SRUxfT0ZGU0VUCWNzLENTLVJJUCovCiAJQ0ZJX1JFTF9PRkZTRVQJcmlwLFJJUC1SSVAKLQlzd2FwZ3MKKwlTV0FQR1MKIAkvKgogCSAqIE5vIG5lZWQgdG8gZm9sbG93IHRoaXMgaXJxcyBvbi9vZmYgc2VjdGlvbjogdGhlIHN5c2NhbGwKIAkgKiBkaXNhYmxlZCBpcnFzIGFuZCBoZXJlIHdlIGVuYWJsZSBpdCBzdHJhaWdodCBhZnRlciBlbnRyeToKIAkgKi8KLQlzdGkKKwlFTkFCTEVfSU5URVJSVVBUUyhDTEJSX05PTkUpCiAJbW92bCAlZWF4LCVlYXgKIAlwdXNocSAlcmF4CiAJQ0ZJX0FESlVTVF9DRkFfT0ZGU0VUIDgKQEAgLTMyNCw4ICszMzUsOSBAQAogCSAgIHRoaXMgY291bGQgYmUgYSBwcm9ibGVtLiAqLwogCVNBVkVfQVJHUyAwLDAsMQogCUdFVF9USFJFQURfSU5GTyglcjEwKQotCW9ybCAgICRUU19DT01QQVQsdGhyZWFkaW5mb19zdGF0dXMoJXIxMCkKLQl0ZXN0bCAkKF9USUZfU1lTQ0FMTF9UUkFDRXxfVElGX1NZU0NBTExfQVVESVR8X1RJRl9TRUNDT01QKSx0aHJlYWRpbmZvX2ZsYWdzKCVyMTApCisJb3JsICAgJFRTX0NPTVBBVCxUSV9zdGF0dXMoJXIxMCkKKwl0ZXN0bCAkKF9USUZfU1lTQ0FMTF9UUkFDRXxfVElGX1NZU0NBTExfQVVESVR8X1RJRl9TRUNDT01QKSwgXAorCQlUSV9mbGFncyglcjEwKQogCWpueiBpYTMyX3RyYWNlc3lzCiBpYTMyX2RvX3N5c2NhbGw6CQogCWNtcGwgJChJQTMyX05SX3N5c2NhbGxzLTEpLCVlYXgKQEAgLTM3MCwxMyArMzgyLDExIEBACiAJUFRSRUdTQ0FMTCBzdHViMzJfcnRfc2lncmV0dXJuLCBzeXMzMl9ydF9zaWdyZXR1cm4sICVyZGkKIAlQVFJFR1NDQUxMIHN0dWIzMl9zaWdyZXR1cm4sIHN5czMyX3NpZ3JldHVybiwgJXJkaQogCVBUUkVHU0NBTEwgc3R1YjMyX3NpZ2FsdHN0YWNrLCBzeXMzMl9zaWdhbHRzdGFjaywgJXJkeAotCVBUUkVHU0NBTEwgc3R1YjMyX3NpZ3N1c3BlbmQsIHN5czMyX3NpZ3N1c3BlbmQsICVyY3gKIAlQVFJFR1NDQUxMIHN0dWIzMl9leGVjdmUsIHN5czMyX2V4ZWN2ZSwgJXJjeAogCVBUUkVHU0NBTEwgc3R1YjMyX2ZvcmssIHN5c19mb3JrLCAlcmRpCiAJUFRSRUdTQ0FMTCBzdHViMzJfY2xvbmUsIHN5czMyX2Nsb25lLCAlcmR4CiAJUFRSRUdTQ0FMTCBzdHViMzJfdmZvcmssIHN5c192Zm9yaywgJXJkaQogCVBUUkVHU0NBTEwgc3R1YjMyX2lvcGwsIHN5c19pb3BsLCAlcnNpCi0JUFRSRUdTQ0FMTCBzdHViMzJfcnRfc2lnc3VzcGVuZCwgc3lzX3J0X3NpZ3N1c3BlbmQsICVyZHgKIAogRU5UUlkoaWEzMl9wdHJlZ3NfY29tbW9uKQogCXBvcHEgJXIxMQpAQCAtNDc2LDcgKzQ4Niw3IEBACiAJLnF1YWQgc3lzX3NzZXRtYXNrCiAJLnF1YWQgc3lzX3NldHJldWlkMTYJLyogNzAgKi8KIAkucXVhZCBzeXNfc2V0cmVnaWQxNgotCS5xdWFkIHN0dWIzMl9zaWdzdXNwZW5kCisJLnF1YWQgc3lzMzJfc2lnc3VzcGVuZAogCS5xdWFkIGNvbXBhdF9zeXNfc2lncGVuZGluZwogCS5xdWFkIHN5c19zZXRob3N0bmFtZQogCS5xdWFkIGNvbXBhdF9zeXNfc2V0cmxpbWl0CS8qIDc1ICovCkBAIC01ODMsNyArNTkzLDcgQEAKIAkucXVhZCBzeXMzMl9ydF9zaWdwZW5kaW5nCiAJLnF1YWQgY29tcGF0X3N5c19ydF9zaWd0aW1lZHdhaXQKIAkucXVhZCBzeXMzMl9ydF9zaWdxdWV1ZWluZm8KLQkucXVhZCBzdHViMzJfcnRfc2lnc3VzcGVuZAorCS5xdWFkIHN5c19ydF9zaWdzdXNwZW5kCiAJLnF1YWQgc3lzMzJfcHJlYWQJCS8qIDE4MCAqLwogCS5xdWFkIHN5czMyX3B3cml0ZQogCS5xdWFkIHN5c19jaG93bjE2CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvLmdpdGlnbm9yZSBiL2FyY2gveDg2L2tlcm5lbC8uZ2l0aWdub3JlCmluZGV4IDRlYTM4YTMuLjA4ZjRmZDcgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC8uZ2l0aWdub3JlCisrKyBiL2FyY2gveDg2L2tlcm5lbC8uZ2l0aWdub3JlCkBAIC0xLDIgKzEsMyBAQAogdnN5c2NhbGwubGRzCiB2c3lzY2FsbF8zMi5sZHMKK3ZtbGludXgubGRzCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvTWFrZWZpbGUgYi9hcmNoL3g4Ni9rZXJuZWwvTWFrZWZpbGUKaW5kZXggNzc4MDdkNC4uNTExMmM4NCAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL01ha2VmaWxlCisrKyBiL2FyY2gveDg2L2tlcm5lbC9NYWtlZmlsZQpAQCAtMiwxMCArMiwxNyBAQAogIyBNYWtlZmlsZSBmb3IgdGhlIGxpbnV4IGtlcm5lbC4KICMKIAotZXh0cmEteSAgICAgICAgICAgICAgICA6PSBoZWFkXyQoQklUUykubyBoZWFkJChCSVRTKS5vIGluaXRfdGFzay5vIHZtbGludXgubGRzCitleHRyYS15ICAgICAgICAgICAgICAgIDo9IGhlYWRfJChCSVRTKS5vIGhlYWQkKEJJVFMpLm8gaGVhZC5vIGluaXRfdGFzay5vIHZtbGludXgubGRzCiAKIENQUEZMQUdTX3ZtbGludXgubGRzICs9IC1VJChVVFNfTUFDSElORSkKIAoraWZkZWYgQ09ORklHX0ZUUkFDRQorIyBEbyBub3QgcHJvZmlsZSBkZWJ1ZyB1dGlsaXRpZXMKK0NGTEFHU19SRU1PVkVfdHNjXzY0Lm8gPSAtcGcKK0NGTEFHU19SRU1PVkVfdHNjXzMyLm8gPSAtcGcKK0NGTEFHU19SRU1PVkVfcnRjLm8gPSAtcGcKK2VuZGlmCisKICMKICMgdnN5c2NhbGxzICh3aGljaCB3b3JrIG9uIHRoZSB1c2VyIHN0YWNrKSBzaG91bGQgaGF2ZQogIyBubyBzdGFjay1wcm90ZWN0b3IgY2hlY2tzOgpAQCAtMTMsMjAgKzIwLDIxIEBACiBub3N0YWNrcCA6PSAkKGNhbGwgY2Mtb3B0aW9uLCAtZm5vLXN0YWNrLXByb3RlY3RvcikKIENGTEFHU192c3lzY2FsbF82NC5vCTo9ICQoUFJPRklMSU5HKSAtZzAgJChub3N0YWNrcCkKIENGTEFHU19ocGV0Lm8JCTo9ICQobm9zdGFja3ApCi1DRkxBR1NfdHNjXzY0Lm8JCTo9ICQobm9zdGFja3ApCitDRkxBR1NfdHNjLm8JCTo9ICQobm9zdGFja3ApCiAKIG9iai15CQkJOj0gcHJvY2Vzc18kKEJJVFMpLm8gc2lnbmFsXyQoQklUUykubyBlbnRyeV8kKEJJVFMpLm8KIG9iai15CQkJKz0gdHJhcHNfJChCSVRTKS5vIGlycV8kKEJJVFMpLm8KIG9iai15CQkJKz0gdGltZV8kKEJJVFMpLm8gaW9wb3J0Lm8gbGR0Lm8KLW9iai15CQkJKz0gc2V0dXBfJChCSVRTKS5vIGk4MjU5XyQoQklUUykubyBzZXR1cC5vCitvYmoteQkJCSs9IHNldHVwLm8gaTgyNTkubyBpcnFpbml0XyQoQklUUykubyBzZXR1cF9wZXJjcHUubworb2JqLSQoQ09ORklHX1g4Nl9WSVNXUykJKz0gdmlzd3NfcXVpcmtzLm8KK29iai0kKENPTkZJR19YODZfMzIpCSs9IHByb2JlX3JvbXNfMzIubwogb2JqLSQoQ09ORklHX1g4Nl8zMikJKz0gc3lzX2kzODZfMzIubyBpMzg2X2tzeW1zXzMyLm8KIG9iai0kKENPTkZJR19YODZfNjQpCSs9IHN5c194ODZfNjQubyB4ODY2NF9rc3ltc182NC5vCi1vYmotJChDT05GSUdfWDg2XzY0KQkrPSBzeXNjYWxsXzY0Lm8gdnN5c2NhbGxfNjQubyBzZXR1cDY0Lm8KLW9iai15CQkJKz0gYm9vdGZsYWcubyBlODIwXyQoQklUUykubworb2JqLSQoQ09ORklHX1g4Nl82NCkJKz0gc3lzY2FsbF82NC5vIHZzeXNjYWxsXzY0Lm8KK29iai15CQkJKz0gYm9vdGZsYWcubyBlODIwLm8KIG9iai15CQkJKz0gcGNpLWRtYS5vIHF1aXJrcy5vIGk4MjM3Lm8gdG9wb2xvZ3kubyBrZGVidWdmcy5vCiBvYmoteQkJCSs9IGFsdGVybmF0aXZlLm8gaTgyNTMubyBwY2ktbm9tbXUubwotb2JqLSQoQ09ORklHX1g4Nl82NCkJKz0gYnVnc182NC5vCi1vYmoteQkJCSs9IHRzY18kKEJJVFMpLm8gaW9fZGVsYXkubyBydGMubworb2JqLXkJCQkrPSB0c2MubyBpb19kZWxheS5vIHJ0Yy5vCiAKIG9iai0kKENPTkZJR19YODZfVFJBTVBPTElORSkJKz0gdHJhbXBvbGluZS5vCiBvYmoteQkJCQkrPSBwcm9jZXNzLm8KQEAgLTUzLDkgKzYxLDEwIEBACiBvYmotJChDT05GSUdfWDg2XzY0X1NNUCkJKz0gdHNjX3N5bmMubyBzbXBjb21tb24ubwogb2JqLSQoQ09ORklHX1g4Nl9UUkFNUE9MSU5FKQkrPSB0cmFtcG9saW5lXyQoQklUUykubwogb2JqLSQoQ09ORklHX1g4Nl9NUFBBUlNFKQkrPSBtcHBhcnNlLm8KLW9iai0kKENPTkZJR19YODZfTE9DQUxfQVBJQykJKz0gYXBpY18kKEJJVFMpLm8gbm1pXyQoQklUUykubworb2JqLSQoQ09ORklHX1g4Nl9MT0NBTF9BUElDKQkrPSBhcGljXyQoQklUUykubyBubWkubwogb2JqLSQoQ09ORklHX1g4Nl9JT19BUElDKQkrPSBpb19hcGljXyQoQklUUykubwogb2JqLSQoQ09ORklHX1g4Nl9SRUJPT1RGSVhVUFMpCSs9IHJlYm9vdF9maXh1cHNfMzIubworb2JqLSQoQ09ORklHX0RZTkFNSUNfRlRSQUNFKQkrPSBmdHJhY2Uubwogb2JqLSQoQ09ORklHX0tFWEVDKQkJKz0gbWFjaGluZV9rZXhlY18kKEJJVFMpLm8KIG9iai0kKENPTkZJR19LRVhFQykJCSs9IHJlbG9jYXRlX2tlcm5lbF8kKEJJVFMpLm8gY3Jhc2gubwogb2JqLSQoQ09ORklHX0NSQVNIX0RVTVApCSs9IGNyYXNoX2R1bXBfJChCSVRTKS5vCkBAIC02NCw3ICs3Myw2IEBACiBvYmoteQkJCQkrPSB2c21wXzY0Lm8KIG9iai0kKENPTkZJR19LUFJPQkVTKQkJKz0ga3Byb2Jlcy5vCiBvYmotJChDT05GSUdfTU9EVUxFUykJCSs9IG1vZHVsZV8kKEJJVFMpLm8KLW9iai0kKENPTkZJR19BQ1BJX1NSQVQpIAkrPSBzcmF0XzMyLm8KIG9iai0kKENPTkZJR19FRkkpIAkJKz0gZWZpLm8gZWZpXyQoQklUUykubyBlZmlfc3R1Yl8kKEJJVFMpLm8KIG9iai0kKENPTkZJR19ET1VCTEVGQVVMVCkgCSs9IGRvdWJsZWZhdWx0XzMyLm8KIG9iai0kKENPTkZJR19LR0RCKQkJKz0ga2dkYi5vCkBAIC05NCwxMiArMTAyLDEzIEBACiAjIyMKICMgNjQgYml0IHNwZWNpZmljIGZpbGVzCiBpZmVxICgkKENPTkZJR19YODZfNjQpLHkpCi0gICAgICAgIG9iai15CQkJCSs9IGdlbmFwaWNfNjQubyBnZW5hcGljX2ZsYXRfNjQubyBnZW54MmFwaWNfdXZfeC5vCisgICAgICAgIG9iai15CQkJCSs9IGdlbmFwaWNfNjQubyBnZW5hcGljX2ZsYXRfNjQubyBnZW54MmFwaWNfdXZfeC5vIHRsYl91di5vCiAgICAgICAgIG9iai0kKENPTkZJR19YODZfUE1fVElNRVIpCSs9IHBtdGltZXJfNjQubwogICAgICAgICBvYmotJChDT05GSUdfQVVESVQpCQkrPSBhdWRpdF82NC5vCiAKICAgICAgICAgb2JqLSQoQ09ORklHX0dBUlRfSU9NTVUpCSs9IHBjaS1nYXJ0XzY0Lm8gYXBlcnR1cmVfNjQubwogICAgICAgICBvYmotJChDT05GSUdfQ0FMR0FSWV9JT01NVSkJKz0gcGNpLWNhbGdhcnlfNjQubyB0Y2VfNjQubworICAgICAgICBvYmotJChDT05GSUdfQU1EX0lPTU1VKQkJKz0gYW1kX2lvbW11X2luaXQubyBhbWRfaW9tbXUubwogICAgICAgICBvYmotJChDT05GSUdfU1dJT1RMQikJCSs9IHBjaS1zd2lvdGxiXzY0Lm8KIAogICAgICAgICBvYmotJChDT05GSUdfUENJX01NQ09ORklHKQkrPSBtbWNvbmYtZmFtMTBoXzY0Lm8KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9hY3BpL2Jvb3QuYyBiL2FyY2gveDg2L2tlcm5lbC9hY3BpL2Jvb3QuYwppbmRleCAzM2M1MjE2Li5mNDg5ZDdhIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvYWNwaS9ib290LmMKKysrIGIvYXJjaC94ODYva2VybmVsL2FjcGkvYm9vdC5jCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSA8YXNtL3BndGFibGUuaD4KICNpbmNsdWRlIDxhc20vaW9fYXBpYy5oPgogI2luY2x1ZGUgPGFzbS9hcGljLmg+CisjaW5jbHVkZSA8YXNtL2dlbmFwaWMuaD4KICNpbmNsdWRlIDxhc20vaW8uaD4KICNpbmNsdWRlIDxhc20vbXBzcGVjLmg+CiAjaW5jbHVkZSA8YXNtL3NtcC5oPgpAQCAtMTA2LDIxICsxMDcsNiBAQAogICovCiBlbnVtIGFjcGlfaXJxX21vZGVsX2lkIGFjcGlfaXJxX21vZGVsID0gQUNQSV9JUlFfTU9ERUxfUElDOwogCi0jaWZkZWYJQ09ORklHX1g4Nl82NAotCi0vKiByZWx5IG9uIGFsbCBBQ1BJIHRhYmxlcyBiZWluZyBpbiB0aGUgZGlyZWN0IG1hcHBpbmcgKi8KLWNoYXIgKl9faW5pdCBfX2FjcGlfbWFwX3RhYmxlKHVuc2lnbmVkIGxvbmcgcGh5c19hZGRyLCB1bnNpZ25lZCBsb25nIHNpemUpCi17Ci0JaWYgKCFwaHlzX2FkZHIgfHwgIXNpemUpCi0JCXJldHVybiBOVUxMOwotCi0JaWYgKHBoeXNfYWRkcitzaXplIDw9IChtYXhfcGZuX21hcHBlZCA8PCBQQUdFX1NISUZUKSArIFBBR0VfU0laRSkKLQkJcmV0dXJuIF9fdmEocGh5c19hZGRyKTsKLQotCXJldHVybiBOVUxMOwotfQotCi0jZWxzZQogCiAvKgogICogVGVtcG9yYXJpbHkgdXNlIHRoZSB2aXJ0dWFsIGFyZWEgc3RhcnRpbmcgZnJvbSBGSVhfSU9fQVBJQ19CQVNFX0VORCwKQEAgLTEzOSwxMSArMTI1LDE1IEBACiAJdW5zaWduZWQgbG9uZyBiYXNlLCBvZmZzZXQsIG1hcHBlZF9zaXplOwogCWludCBpZHg7CiAKLQlpZiAocGh5cyArIHNpemUgPCA4ICogMTAyNCAqIDEwMjQpCisJaWYgKCFwaHlzIHx8ICFzaXplKQorCQlyZXR1cm4gTlVMTDsKKworCWlmIChwaHlzK3NpemUgPD0gKG1heF9sb3dfcGZuX21hcHBlZCA8PCBQQUdFX1NISUZUKSkKIAkJcmV0dXJuIF9fdmEocGh5cyk7CiAKIAlvZmZzZXQgPSBwaHlzICYgKFBBR0VfU0laRSAtIDEpOwogCW1hcHBlZF9zaXplID0gUEFHRV9TSVpFIC0gb2Zmc2V0OworCWNsZWFyX2ZpeG1hcChGSVhfQUNQSV9FTkQpOwogCXNldF9maXhtYXAoRklYX0FDUElfRU5ELCBwaHlzKTsKIAliYXNlID0gZml4X3RvX3ZpcnQoRklYX0FDUElfRU5EKTsKIApAQCAtMTU1LDEzICsxNDUsMTMgQEAKIAkJaWYgKC0taWR4IDwgRklYX0FDUElfQkVHSU4pCiAJCQlyZXR1cm4gTlVMTDsJLyogY2Fubm90IGhhbmRsZSB0aGlzICovCiAJCXBoeXMgKz0gUEFHRV9TSVpFOworCQljbGVhcl9maXhtYXAoaWR4KTsKIAkJc2V0X2ZpeG1hcChpZHgsIHBoeXMpOwogCQltYXBwZWRfc2l6ZSArPSBQQUdFX1NJWkU7CiAJfQogCiAJcmV0dXJuICgodW5zaWduZWQgY2hhciAqKWJhc2UgKyBvZmZzZXQpOwogfQotI2VuZGlmCiAKICNpZmRlZiBDT05GSUdfUENJX01NQ09ORklHCiAvKiBUaGUgcGh5c2ljYWwgYWRkcmVzcyBvZiB0aGUgTU1DT05GSUcgYXBlcnR1cmUuICBTZXQgZnJvbSBBQ1BJIHRhYmxlcy4gKi8KQEAgLTMzOCw4ICszMjgsNiBAQAogCiAjaWZkZWYgQ09ORklHX1g4Nl9JT19BUElDCiAKLXN0cnVjdCBtcF9pb2FwaWNfcm91dGluZyBtcF9pb2FwaWNfcm91dGluZ1tNQVhfSU9fQVBJQ1NdOwotCiBzdGF0aWMgaW50IF9faW5pdAogYWNwaV9wYXJzZV9pb2FwaWMoc3RydWN0IGFjcGlfc3VidGFibGVfaGVhZGVyICogaGVhZGVyLCBjb25zdCB1bnNpZ25lZCBsb25nIGVuZCkKIHsKQEAgLTUxNCw4ICs1MDIsNiBAQAogCSAqIE1ha2Ugc3VyZSBhbGwgKGxlZ2FjeSkgUENJIElSUXMgYXJlIHNldCBhcyBsZXZlbC10cmlnZ2VyZWQuCiAJICovCiAJaWYgKGFjcGlfaXJxX21vZGVsID09IEFDUElfSVJRX01PREVMX1BJQykgewotCQlleHRlcm4gdm9pZCBlaXNhX3NldF9sZXZlbF9pcnEodW5zaWduZWQgaW50IGlycSk7Ci0KIAkJaWYgKHRyaWdnZXJpbmcgPT0gQUNQSV9MRVZFTF9TRU5TSVRJVkUpCiAJCQllaXNhX3NldF9sZXZlbF9pcnEoZ3NpKTsKIAl9CkBAIC04NjAsNiArODQ2LDM2NCBAQAogI2VuZGlmCQkJCS8qIENPTkZJR19YODZfTE9DQUxfQVBJQyAqLwogCiAjaWZkZWYJQ09ORklHX1g4Nl9JT19BUElDCisjZGVmaW5lIE1QX0lTQV9CVVMJCTAKKworI2lmZGVmIENPTkZJR19YODZfRVM3MDAwCitleHRlcm4gaW50IGVzNzAwMF9wbGF0OworI2VuZGlmCisKK3N0YXRpYyBzdHJ1Y3QgeworCWludCBhcGljX2lkOworCWludCBnc2lfYmFzZTsKKwlpbnQgZ3NpX2VuZDsKKwlERUNMQVJFX0JJVE1BUChwaW5fcHJvZ3JhbW1lZCwgTVBfTUFYX0lPQVBJQ19QSU4gKyAxKTsKK30gbXBfaW9hcGljX3JvdXRpbmdbTUFYX0lPX0FQSUNTXTsKKworc3RhdGljIGludCBtcF9maW5kX2lvYXBpYyhpbnQgZ3NpKQoreworCWludCBpID0gMDsKKworCS8qIEZpbmQgdGhlIElPQVBJQyB0aGF0IG1hbmFnZXMgdGhpcyBHU0kuICovCisJZm9yIChpID0gMDsgaSA8IG5yX2lvYXBpY3M7IGkrKykgeworCQlpZiAoKGdzaSA+PSBtcF9pb2FwaWNfcm91dGluZ1tpXS5nc2lfYmFzZSkKKwkJICAgICYmIChnc2kgPD0gbXBfaW9hcGljX3JvdXRpbmdbaV0uZ3NpX2VuZCkpCisJCQlyZXR1cm4gaTsKKwl9CisKKwlwcmludGsoS0VSTl9FUlIgIkVSUk9SOiBVbmFibGUgdG8gbG9jYXRlIElPQVBJQyBmb3IgR1NJICVkXG4iLCBnc2kpOworCXJldHVybiAtMTsKK30KKworc3RhdGljIHU4IF9faW5pdCB1bmlxX2lvYXBpY19pZCh1OCBpZCkKK3sKKyNpZmRlZiBDT05GSUdfWDg2XzMyCisJaWYgKChib290X2NwdV9kYXRhLng4Nl92ZW5kb3IgPT0gWDg2X1ZFTkRPUl9JTlRFTCkgJiYKKwkgICAgIUFQSUNfWEFQSUMoYXBpY192ZXJzaW9uW2Jvb3RfY3B1X3BoeXNpY2FsX2FwaWNpZF0pKQorCQlyZXR1cm4gaW9fYXBpY19nZXRfdW5pcXVlX2lkKG5yX2lvYXBpY3MsIGlkKTsKKwllbHNlCisJCXJldHVybiBpZDsKKyNlbHNlCisJaW50IGk7CisJREVDTEFSRV9CSVRNQVAodXNlZCwgMjU2KTsKKwliaXRtYXBfemVybyh1c2VkLCAyNTYpOworCWZvciAoaSA9IDA7IGkgPCBucl9pb2FwaWNzOyBpKyspIHsKKwkJc3RydWN0IG1wX2NvbmZpZ19pb2FwaWMgKmlhID0gJm1wX2lvYXBpY3NbaV07CisJCV9fc2V0X2JpdChpYS0+bXBfYXBpY2lkLCB1c2VkKTsKKwl9CisJaWYgKCF0ZXN0X2JpdChpZCwgdXNlZCkpCisJCXJldHVybiBpZDsKKwlyZXR1cm4gZmluZF9maXJzdF96ZXJvX2JpdCh1c2VkLCAyNTYpOworI2VuZGlmCit9CisKK3N0YXRpYyBpbnQgYmFkX2lvYXBpYyh1bnNpZ25lZCBsb25nIGFkZHJlc3MpCit7CisJaWYgKG5yX2lvYXBpY3MgPj0gTUFYX0lPX0FQSUNTKSB7CisJCXByaW50ayhLRVJOX0VSUiAiRVJST1I6IE1heCAjIG9mIEkvTyBBUElDcyAoJWQpIGV4Y2VlZGVkICIKKwkJICAgICAgICIoZm91bmQgJWQpXG4iLCBNQVhfSU9fQVBJQ1MsIG5yX2lvYXBpY3MpOworCQlwYW5pYygiUmVjb21waWxlIGtlcm5lbCB3aXRoIGJpZ2dlciBNQVhfSU9fQVBJQ1MhXG4iKTsKKwl9CisJaWYgKCFhZGRyZXNzKSB7CisJCXByaW50ayhLRVJOX0VSUiAiV0FSTklORzogQm9ndXMgKHplcm8pIEkvTyBBUElDIGFkZHJlc3MiCisJCSAgICAgICAiIGZvdW5kIGluIHRhYmxlLCBza2lwcGluZyFcbiIpOworCQlyZXR1cm4gMTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3ZvaWQgX19pbml0IG1wX3JlZ2lzdGVyX2lvYXBpYyhpbnQgaWQsIHUzMiBhZGRyZXNzLCB1MzIgZ3NpX2Jhc2UpCit7CisJaW50IGlkeCA9IDA7CisKKwlpZiAoYmFkX2lvYXBpYyhhZGRyZXNzKSkKKwkJcmV0dXJuOworCisJaWR4ID0gbnJfaW9hcGljczsKKworCW1wX2lvYXBpY3NbaWR4XS5tcF90eXBlID0gTVBfSU9BUElDOworCW1wX2lvYXBpY3NbaWR4XS5tcF9mbGFncyA9IE1QQ19BUElDX1VTQUJMRTsKKwltcF9pb2FwaWNzW2lkeF0ubXBfYXBpY2FkZHIgPSBhZGRyZXNzOworCisJc2V0X2ZpeG1hcF9ub2NhY2hlKEZJWF9JT19BUElDX0JBU0VfMCArIGlkeCwgYWRkcmVzcyk7CisJbXBfaW9hcGljc1tpZHhdLm1wX2FwaWNpZCA9IHVuaXFfaW9hcGljX2lkKGlkKTsKKyNpZmRlZiBDT05GSUdfWDg2XzMyCisJbXBfaW9hcGljc1tpZHhdLm1wX2FwaWN2ZXIgPSBpb19hcGljX2dldF92ZXJzaW9uKGlkeCk7CisjZWxzZQorCW1wX2lvYXBpY3NbaWR4XS5tcF9hcGljdmVyID0gMDsKKyNlbmRpZgorCS8qCisJICogQnVpbGQgYmFzaWMgR1NJIGxvb2t1cCB0YWJsZSB0byBmYWNpbGl0YXRlIGdzaS0+aW9fYXBpYyBsb29rdXBzCisJICogYW5kIHRvIHByZXZlbnQgcmVwcm9ncmFtbWluZyBvZiBJT0FQSUMgcGlucyAoUENJIEdTSXMpLgorCSAqLworCW1wX2lvYXBpY19yb3V0aW5nW2lkeF0uYXBpY19pZCA9IG1wX2lvYXBpY3NbaWR4XS5tcF9hcGljaWQ7CisJbXBfaW9hcGljX3JvdXRpbmdbaWR4XS5nc2lfYmFzZSA9IGdzaV9iYXNlOworCW1wX2lvYXBpY19yb3V0aW5nW2lkeF0uZ3NpX2VuZCA9IGdzaV9iYXNlICsKKwkgICAgaW9fYXBpY19nZXRfcmVkaXJfZW50cmllcyhpZHgpOworCisJcHJpbnRrKEtFUk5fSU5GTyAiSU9BUElDWyVkXTogYXBpY19pZCAlZCwgdmVyc2lvbiAlZCwgYWRkcmVzcyAweCVseCwgIgorCSAgICAgICAiR1NJICVkLSVkXG4iLCBpZHgsIG1wX2lvYXBpY3NbaWR4XS5tcF9hcGljaWQsCisJICAgICAgIG1wX2lvYXBpY3NbaWR4XS5tcF9hcGljdmVyLCBtcF9pb2FwaWNzW2lkeF0ubXBfYXBpY2FkZHIsCisJICAgICAgIG1wX2lvYXBpY19yb3V0aW5nW2lkeF0uZ3NpX2Jhc2UsIG1wX2lvYXBpY19yb3V0aW5nW2lkeF0uZ3NpX2VuZCk7CisKKwlucl9pb2FwaWNzKys7Cit9CisKK3N0YXRpYyB2b2lkIGFzc2lnbl90b19tcF9pcnEoc3RydWN0IG1wX2NvbmZpZ19pbnRzcmMgKm0sCisJCQkJICAgIHN0cnVjdCBtcF9jb25maWdfaW50c3JjICptcF9pcnEpCit7CisJbWVtY3B5KG1wX2lycSwgbSwgc2l6ZW9mKHN0cnVjdCBtcF9jb25maWdfaW50c3JjKSk7Cit9CisKK3N0YXRpYyBpbnQgbXBfaXJxX2NtcChzdHJ1Y3QgbXBfY29uZmlnX2ludHNyYyAqbXBfaXJxLAorCQkJCXN0cnVjdCBtcF9jb25maWdfaW50c3JjICptKQoreworCXJldHVybiBtZW1jbXAobXBfaXJxLCBtLCBzaXplb2Yoc3RydWN0IG1wX2NvbmZpZ19pbnRzcmMpKTsKK30KKworc3RhdGljIHZvaWQgc2F2ZV9tcF9pcnEoc3RydWN0IG1wX2NvbmZpZ19pbnRzcmMgKm0pCit7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgbXBfaXJxX2VudHJpZXM7IGkrKykgeworCQlpZiAoIW1wX2lycV9jbXAoJm1wX2lycXNbaV0sIG0pKQorCQkJcmV0dXJuOworCX0KKworCWFzc2lnbl90b19tcF9pcnEobSwgJm1wX2lycXNbbXBfaXJxX2VudHJpZXNdKTsKKwlpZiAoKyttcF9pcnFfZW50cmllcyA9PSBNQVhfSVJRX1NPVVJDRVMpCisJCXBhbmljKCJNYXggIyBvZiBpcnEgc291cmNlcyBleGNlZWRlZCEhXG4iKTsKK30KKwordm9pZCBfX2luaXQgbXBfb3ZlcnJpZGVfbGVnYWN5X2lycSh1OCBidXNfaXJxLCB1OCBwb2xhcml0eSwgdTggdHJpZ2dlciwgdTMyIGdzaSkKK3sKKwlpbnQgaW9hcGljOworCWludCBwaW47CisJc3RydWN0IG1wX2NvbmZpZ19pbnRzcmMgbXBfaXJxOworCisJLyoKKwkgKiBDb252ZXJ0ICdnc2knIHRvICdpb2FwaWMucGluJy4KKwkgKi8KKwlpb2FwaWMgPSBtcF9maW5kX2lvYXBpYyhnc2kpOworCWlmIChpb2FwaWMgPCAwKQorCQlyZXR1cm47CisJcGluID0gZ3NpIC0gbXBfaW9hcGljX3JvdXRpbmdbaW9hcGljXS5nc2lfYmFzZTsKKworCS8qCisJICogVEJEOiBUaGlzIGNoZWNrIGlzIGZvciBmYXVsdHkgdGltZXIgZW50cmllcywgd2hlcmUgdGhlIG92ZXJyaWRlCisJICogICAgICBlcnJvbmVvdXNseSBzZXRzIHRoZSB0cmlnZ2VyIHRvIGxldmVsLCByZXN1bHRpbmcgaW4gYSBIVUdFCisJICogICAgICBpbmNyZWFzZSBvZiB0aW1lciBpbnRlcnJ1cHRzIQorCSAqLworCWlmICgoYnVzX2lycSA9PSAwKSAmJiAodHJpZ2dlciA9PSAzKSkKKwkJdHJpZ2dlciA9IDE7CisKKwltcF9pcnEubXBfdHlwZSA9IE1QX0lOVFNSQzsKKwltcF9pcnEubXBfaXJxdHlwZSA9IG1wX0lOVDsKKwltcF9pcnEubXBfaXJxZmxhZyA9ICh0cmlnZ2VyIDw8IDIpIHwgcG9sYXJpdHk7CisJbXBfaXJxLm1wX3NyY2J1cyA9IE1QX0lTQV9CVVM7CisJbXBfaXJxLm1wX3NyY2J1c2lycSA9IGJ1c19pcnE7CS8qIElSUSAqLworCW1wX2lycS5tcF9kc3RhcGljID0gbXBfaW9hcGljc1tpb2FwaWNdLm1wX2FwaWNpZDsgLyogQVBJQyBJRCAqLworCW1wX2lycS5tcF9kc3RpcnEgPSBwaW47CS8qIElOVElOIyAqLworCisJc2F2ZV9tcF9pcnEoJm1wX2lycSk7Cit9CisKK3ZvaWQgX19pbml0IG1wX2NvbmZpZ19hY3BpX2xlZ2FjeV9pcnFzKHZvaWQpCit7CisJaW50IGk7CisJaW50IGlvYXBpYzsKKwl1bnNpZ25lZCBpbnQgZHN0YXBpYzsKKwlzdHJ1Y3QgbXBfY29uZmlnX2ludHNyYyBtcF9pcnE7CisKKyNpZiBkZWZpbmVkIChDT05GSUdfTUNBKSB8fCBkZWZpbmVkIChDT05GSUdfRUlTQSkKKwkvKgorCSAqIEZhYnJpY2F0ZSB0aGUgbGVnYWN5IElTQSBidXMgKGJ1cyAjMzEpLgorCSAqLworCW1wX2J1c19pZF90b190eXBlW01QX0lTQV9CVVNdID0gTVBfQlVTX0lTQTsKKyNlbmRpZgorCXNldF9iaXQoTVBfSVNBX0JVUywgbXBfYnVzX25vdF9wY2kpOworCURwcmludGsoIkJ1cyAjJWQgaXMgSVNBXG4iLCBNUF9JU0FfQlVTKTsKKworI2lmZGVmIENPTkZJR19YODZfRVM3MDAwCisJLyoKKwkgKiBPbGRlciBnZW5lcmF0aW9ucyBvZiBFUzcwMDAgaGF2ZSBubyBsZWdhY3kgaWRlbnRpdHkgbWFwcGluZ3MKKwkgKi8KKwlpZiAoZXM3MDAwX3BsYXQgPT0gMSkKKwkJcmV0dXJuOworI2VuZGlmCisKKwkvKgorCSAqIExvY2F0ZSB0aGUgSU9BUElDIHRoYXQgbWFuYWdlcyB0aGUgSVNBIElSUXMgKDAtMTUpLgorCSAqLworCWlvYXBpYyA9IG1wX2ZpbmRfaW9hcGljKDApOworCWlmIChpb2FwaWMgPCAwKQorCQlyZXR1cm47CisJZHN0YXBpYyA9IG1wX2lvYXBpY3NbaW9hcGljXS5tcF9hcGljaWQ7CisKKwkvKgorCSAqIFVzZSB0aGUgZGVmYXVsdCBjb25maWd1cmF0aW9uIGZvciB0aGUgSVJRcyAwLTE1LiAgVW5sZXNzCisJICogb3ZlcnJpZGRlbiBieSAoTUFEVCkgaW50ZXJydXB0IHNvdXJjZSBvdmVycmlkZSBlbnRyaWVzLgorCSAqLworCWZvciAoaSA9IDA7IGkgPCAxNjsgaSsrKSB7CisJCWludCBpZHg7CisKKwkJZm9yIChpZHggPSAwOyBpZHggPCBtcF9pcnFfZW50cmllczsgaWR4KyspIHsKKwkJCXN0cnVjdCBtcF9jb25maWdfaW50c3JjICppcnEgPSBtcF9pcnFzICsgaWR4OworCisJCQkvKiBEbyB3ZSBhbHJlYWR5IGhhdmUgYSBtYXBwaW5nIGZvciB0aGlzIElTQSBJUlE/ICovCisJCQlpZiAoaXJxLT5tcF9zcmNidXMgPT0gTVBfSVNBX0JVUworCQkJICAgICYmIGlycS0+bXBfc3JjYnVzaXJxID09IGkpCisJCQkJYnJlYWs7CisKKwkJCS8qIERvIHdlIGFscmVhZHkgaGF2ZSBhIG1hcHBpbmcgZm9yIHRoaXMgSU9BUElDIHBpbiAqLworCQkJaWYgKGlycS0+bXBfZHN0YXBpYyA9PSBkc3RhcGljICYmCisJCQkgICAgaXJxLT5tcF9kc3RpcnEgPT0gaSkKKwkJCQlicmVhazsKKwkJfQorCisJCWlmIChpZHggIT0gbXBfaXJxX2VudHJpZXMpIHsKKwkJCXByaW50ayhLRVJOX0RFQlVHICJBQ1BJOiBJUlElZCB1c2VkIGJ5IG92ZXJyaWRlLlxuIiwgaSk7CisJCQljb250aW51ZTsJLyogSVJRIGFscmVhZHkgdXNlZCAqLworCQl9CisKKwkJbXBfaXJxLm1wX3R5cGUgPSBNUF9JTlRTUkM7CisJCW1wX2lycS5tcF9pcnFmbGFnID0gMDsJLyogQ29uZm9ybWluZyAqLworCQltcF9pcnEubXBfc3JjYnVzID0gTVBfSVNBX0JVUzsKKwkJbXBfaXJxLm1wX2RzdGFwaWMgPSBkc3RhcGljOworCQltcF9pcnEubXBfaXJxdHlwZSA9IG1wX0lOVDsKKwkJbXBfaXJxLm1wX3NyY2J1c2lycSA9IGk7IC8qIElkZW50aXR5IG1hcHBlZCAqLworCQltcF9pcnEubXBfZHN0aXJxID0gaTsKKworCQlzYXZlX21wX2lycSgmbXBfaXJxKTsKKwl9Cit9CisKK2ludCBtcF9yZWdpc3Rlcl9nc2kodTMyIGdzaSwgaW50IHRyaWdnZXJpbmcsIGludCBwb2xhcml0eSkKK3sKKwlpbnQgaW9hcGljOworCWludCBpb2FwaWNfcGluOworI2lmZGVmIENPTkZJR19YODZfMzIKKyNkZWZpbmUgTUFYX0dTSV9OVU0JNDA5NgorI2RlZmluZSBJUlFfQ09NUFJFU1NJT05fU1RBUlQJNjQKKworCXN0YXRpYyBpbnQgcGNpX2lycSA9IElSUV9DT01QUkVTU0lPTl9TVEFSVDsKKwkvKgorCSAqIE1hcHBpbmcgYmV0d2VlbiBHbG9iYWwgU3lzdGVtIEludGVycnVwdHMsIHdoaWNoCisJICogcmVwcmVzZW50IGFsbCBwb3NzaWJsZSBpbnRlcnJ1cHRzLCBhbmQgSVJRcworCSAqIGFzc2lnbmVkIHRvIGFjdHVhbCBkZXZpY2VzLgorCSAqLworCXN0YXRpYyBpbnQgZ3NpX3RvX2lycVtNQVhfR1NJX05VTV07CisjZWxzZQorCisJaWYgKGFjcGlfaXJxX21vZGVsICE9IEFDUElfSVJRX01PREVMX0lPQVBJQykKKwkJcmV0dXJuIGdzaTsKKyNlbmRpZgorCisJLyogRG9uJ3Qgc2V0IHVwIHRoZSBBQ1BJIFNDSSBiZWNhdXNlIGl0J3MgYWxyZWFkeSBzZXQgdXAgKi8KKwlpZiAoYWNwaV9nYmxfRkFEVC5zY2lfaW50ZXJydXB0ID09IGdzaSkKKwkJcmV0dXJuIGdzaTsKKworCWlvYXBpYyA9IG1wX2ZpbmRfaW9hcGljKGdzaSk7CisJaWYgKGlvYXBpYyA8IDApIHsKKwkJcHJpbnRrKEtFUk5fV0FSTklORyAiTm8gSU9BUElDIGZvciBHU0kgJXVcbiIsIGdzaSk7CisJCXJldHVybiBnc2k7CisJfQorCisJaW9hcGljX3BpbiA9IGdzaSAtIG1wX2lvYXBpY19yb3V0aW5nW2lvYXBpY10uZ3NpX2Jhc2U7CisKKyNpZmRlZiBDT05GSUdfWDg2XzMyCisJaWYgKGlvYXBpY19yZW51bWJlcl9pcnEpCisJCWdzaSA9IGlvYXBpY19yZW51bWJlcl9pcnEoaW9hcGljLCBnc2kpOworI2VuZGlmCisKKwkvKgorCSAqIEF2b2lkIHBpbiByZXByb2dyYW1taW5nLiAgUFJUcyB0eXBpY2FsbHkgaW5jbHVkZSBlbnRyaWVzCisJICogd2l0aCByZWR1bmRhbnQgcGluLT5nc2kgbWFwcGluZ3MgKGJ1dCB1bmlxdWUgUENJIGRldmljZXMpOworCSAqIHdlIG9ubHkgcHJvZ3JhbSB0aGUgSU9BUElDIG9uIHRoZSBmaXJzdC4KKwkgKi8KKwlpZiAoaW9hcGljX3BpbiA+IE1QX01BWF9JT0FQSUNfUElOKSB7CisJCXByaW50ayhLRVJOX0VSUiAiSW52YWxpZCByZWZlcmVuY2UgdG8gSU9BUElDIHBpbiAiCisJCSAgICAgICAiJWQtJWRcbiIsIG1wX2lvYXBpY19yb3V0aW5nW2lvYXBpY10uYXBpY19pZCwKKwkJICAgICAgIGlvYXBpY19waW4pOworCQlyZXR1cm4gZ3NpOworCX0KKwlpZiAodGVzdF9iaXQoaW9hcGljX3BpbiwgbXBfaW9hcGljX3JvdXRpbmdbaW9hcGljXS5waW5fcHJvZ3JhbW1lZCkpIHsKKwkJRHByaW50ayhLRVJOX0RFQlVHICJQaW4gJWQtJWQgYWxyZWFkeSBwcm9ncmFtbWVkXG4iLAorCQkJbXBfaW9hcGljX3JvdXRpbmdbaW9hcGljXS5hcGljX2lkLCBpb2FwaWNfcGluKTsKKyNpZmRlZiBDT05GSUdfWDg2XzMyCisJCXJldHVybiAoZ3NpIDwgSVJRX0NPTVBSRVNTSU9OX1NUQVJUID8gZ3NpIDogZ3NpX3RvX2lycVtnc2ldKTsKKyNlbHNlCisJCXJldHVybiBnc2k7CisjZW5kaWYKKwl9CisKKwlzZXRfYml0KGlvYXBpY19waW4sIG1wX2lvYXBpY19yb3V0aW5nW2lvYXBpY10ucGluX3Byb2dyYW1tZWQpOworI2lmZGVmIENPTkZJR19YODZfMzIKKwkvKgorCSAqIEZvciBHU0kgPj0gNjQsIHVzZSBJUlEgY29tcHJlc3Npb24KKwkgKi8KKwlpZiAoKGdzaSA+PSBJUlFfQ09NUFJFU1NJT05fU1RBUlQpCisJICAgICYmICh0cmlnZ2VyaW5nID09IEFDUElfTEVWRUxfU0VOU0lUSVZFKSkgeworCQkvKgorCQkgKiBGb3IgUENJIGRldmljZXMgYXNzaWduIElSUXMgaW4gb3JkZXIsIGF2b2lkaW5nIGdhcHMKKwkJICogZHVlIHRvIHVudXNlZCBJL08gQVBJQyBwaW5zLgorCQkgKi8KKwkJaW50IGlycSA9IGdzaTsKKwkJaWYgKGdzaSA8IE1BWF9HU0lfTlVNKSB7CisJCQkvKgorCQkJICogUmV0YWluIHRoZSBWSUEgY2hpcHNldCB3b3JrLWFyb3VuZCAoZ3NpID4gMTUpLCBidXQKKwkJCSAqIGF2b2lkIGEgcHJvYmxlbSB3aGVyZSB0aGUgODI1NCB0aW1lciAoSVJRMCkgaXMgc2V0dXAKKwkJCSAqIHZpYSBhbiBvdmVycmlkZSAoc28gaXQncyBub3Qgb24gcGluIDAgb2YgdGhlIGlvYXBpYyksCisJCQkgKiBhbmQgYXQgdGhlIHNhbWUgdGltZSwgdGhlIHBpbiAwIGludGVycnVwdCBpcyBhIFBDSQorCQkJICogdHlwZS4gIFRoZSBnc2kgPiAxNSB0ZXN0IGNvdWxkIGNhdXNlIHRoZXNlIHR3byBwaW5zCisJCQkgKiB0byBiZSBzaGFyZWQgYXMgSVJRMCwgYW5kIHRoZXkgYXJlIG5vdCBzaGFyZWFibGUuCisJCQkgKiBTbyB0ZXN0IGZvciB0aGlzIGNvbmRpdGlvbiwgYW5kIGlmIG5lY2Vzc2FyeSwgYXZvaWQKKwkJCSAqIHRoZSBwaW4gY29sbGlzaW9uLgorCQkJICovCisJCQlnc2kgPSBwY2lfaXJxKys7CisJCQkvKgorCQkJICogRG9uJ3QgYXNzaWduIElSUSB1c2VkIGJ5IEFDUEkgU0NJCisJCQkgKi8KKwkJCWlmIChnc2kgPT0gYWNwaV9nYmxfRkFEVC5zY2lfaW50ZXJydXB0KQorCQkJCWdzaSA9IHBjaV9pcnErKzsKKwkJCWdzaV90b19pcnFbaXJxXSA9IGdzaTsKKwkJfSBlbHNlIHsKKwkJCXByaW50ayhLRVJOX0VSUiAiR1NJICV1IGlzIHRvbyBoaWdoXG4iLCBnc2kpOworCQkJcmV0dXJuIGdzaTsKKwkJfQorCX0KKyNlbmRpZgorCWlvX2FwaWNfc2V0X3BjaV9yb3V0aW5nKGlvYXBpYywgaW9hcGljX3BpbiwgZ3NpLAorCQkJCXRyaWdnZXJpbmcgPT0gQUNQSV9FREdFX1NFTlNJVElWRSA/IDAgOiAxLAorCQkJCXBvbGFyaXR5ID09IEFDUElfQUNUSVZFX0hJR0ggPyAwIDogMSk7CisJcmV0dXJuIGdzaTsKK30KKworaW50IG1wX2NvbmZpZ19hY3BpX2dzaSh1bnNpZ25lZCBjaGFyIG51bWJlciwgdW5zaWduZWQgaW50IGRldmZuLCB1OCBwaW4sCisJCQl1MzIgZ3NpLCBpbnQgdHJpZ2dlcmluZywgaW50IHBvbGFyaXR5KQoreworI2lmZGVmIENPTkZJR19YODZfTVBQQVJTRQorCXN0cnVjdCBtcF9jb25maWdfaW50c3JjIG1wX2lycTsKKwlpbnQgaW9hcGljOworCisJaWYgKCFhY3BpX2lvYXBpYykKKwkJcmV0dXJuIDA7CisKKwkvKiBwcmludCB0aGUgZW50cnkgc2hvdWxkIGhhcHBlbiBvbiBtcHRhYmxlIGlkZW50aWNhbGx5ICovCisJbXBfaXJxLm1wX3R5cGUgPSBNUF9JTlRTUkM7CisJbXBfaXJxLm1wX2lycXR5cGUgPSBtcF9JTlQ7CisJbXBfaXJxLm1wX2lycWZsYWcgPSAodHJpZ2dlcmluZyA9PSBBQ1BJX0VER0VfU0VOU0lUSVZFID8gNCA6IDB4MGMpIHwKKwkJCQkocG9sYXJpdHkgPT0gQUNQSV9BQ1RJVkVfSElHSCA/IDEgOiAzKTsKKwltcF9pcnEubXBfc3JjYnVzID0gbnVtYmVyOworCW1wX2lycS5tcF9zcmNidXNpcnEgPSAoKChkZXZmbiA+PiAzKSAmIDB4MWYpIDw8IDIpIHwgKChwaW4gLSAxKSAmIDMpOworCWlvYXBpYyA9IG1wX2ZpbmRfaW9hcGljKGdzaSk7CisJbXBfaXJxLm1wX2RzdGFwaWMgPSBtcF9pb2FwaWNfcm91dGluZ1tpb2FwaWNdLmFwaWNfaWQ7CisJbXBfaXJxLm1wX2RzdGlycSA9IGdzaSAtIG1wX2lvYXBpY19yb3V0aW5nW2lvYXBpY10uZ3NpX2Jhc2U7CisKKwlzYXZlX21wX2lycSgmbXBfaXJxKTsKKyNlbmRpZgorCXJldHVybiAwOworfQorCiAvKgogICogUGFyc2UgSU9BUElDIHJlbGF0ZWQgZW50cmllcyBpbiBNQURUCiAgKiByZXR1cm5zIDAgb24gc3VjY2VzcywgPCAwIG9uIGVycm9yCkBAIC0xMDA5LDggKzEzNTMsNiBAQAogCXJldHVybjsKIH0KIAotI2lmZGVmIF9faTM4Nl9fCi0KIHN0YXRpYyBpbnQgX19pbml0IGRpc2FibGVfYWNwaV9pcnEoY29uc3Qgc3RydWN0IGRtaV9zeXN0ZW1faWQgKmQpCiB7CiAJaWYgKCFhY3BpX2ZvcmNlKSB7CkBAIC0xMDYxLDYgKzE0MDMsMTYgQEAKIH0KIAogLyoKKyAqIEZvcmNlIGlnbm9yaW5nIEJJT1MgSVJRMCBwaW4yIG92ZXJyaWRlCisgKi8KK3N0YXRpYyBpbnQgX19pbml0IGRtaV9pZ25vcmVfaXJxMF90aW1lcl9vdmVycmlkZShjb25zdCBzdHJ1Y3QgZG1pX3N5c3RlbV9pZCAqZCkKK3sKKwlwcl9ub3RpY2UoIiVzIGRldGVjdGVkOiBJZ25vcmluZyBCSU9TIElSUTAgcGluMiBvdmVycmlkZVxuIiwgZC0+aWRlbnQpOworCWFjcGlfc2tpcF90aW1lcl9vdmVycmlkZSA9IDE7CisJcmV0dXJuIDA7Cit9CisKKy8qCiAgKiBJZiB5b3VyIHN5c3RlbSBpcyBibGFja2xpc3RlZCBoZXJlLCBidXQgeW91IGZpbmQgdGhhdCBhY3BpPWZvcmNlCiAgKiB3b3JrcyBmb3IgeW91LCBwbGVhc2UgY29udGFjdCBhY3BpLWRldmVsQHNvdXJjZWZvcmdlLm5ldAogICovCkBAIC0xMjI3LDExICsxNTc5LDM1IEBACiAJCSAgICAgRE1JX01BVENIKERNSV9QUk9EVUNUX05BTUUsICJUcmF2ZWxNYXRlIDM2MCIpLAogCQkgICAgIH0sCiAJIH0sCisJLyoKKwkgKiBIUCBsYXB0b3BzIHdoaWNoIHVzZSBhIERTRFQgcmVwb3J0aW5nIGFzIEhQL1NCNDAwLzEwMDAwLAorCSAqIHdoaWNoIGluY2x1ZGVzIHNvbWUgY29kZSB3aGljaCBvdmVycmlkZXMgYWxsIHRlbXBlcmF0dXJlCisJICogdHJpcCBwb2ludHMgdG8gMTZDIGlmIHRoZSBJTlRJTjIgaW5wdXQgb2YgdGhlIEkvTyBBUElDCisJICogaXMgZW5hYmxlZC4gIFRoaXMgaW5wdXQgaXMgaW5jb3JyZWN0bHkgZGVzaWduYXRlZCB0aGUKKwkgKiBJU0EgSVJRIDAgdmlhIGFuIGludGVycnVwdCBzb3VyY2Ugb3ZlcnJpZGUgZXZlbiB0aG91Z2gKKwkgKiBpdCBpcyB3aXJlZCB0byB0aGUgb3V0cHV0IG9mIHRoZSBtYXN0ZXIgODI1OUEgYW5kIElOVElOMAorCSAqIGlzIG5vdCBjb25uZWN0ZWQgYXQgYWxsLiAgRm9yY2UgaWdub3JpbmcgQklPUyBJUlEwIHBpbjIKKwkgKiBvdmVycmlkZSBpbiB0aGF0IGNhc2VzLgorCSAqLworCXsKKwkgLmNhbGxiYWNrID0gZG1pX2lnbm9yZV9pcnEwX3RpbWVyX292ZXJyaWRlLAorCSAuaWRlbnQgPSAiSFAgTlg2MTI1IGxhcHRvcCIsCisJIC5tYXRjaGVzID0geworCQkgICAgIERNSV9NQVRDSChETUlfU1lTX1ZFTkRPUiwgIkhld2xldHQtUGFja2FyZCIpLAorCQkgICAgIERNSV9NQVRDSChETUlfUFJPRFVDVF9OQU1FLCAiSFAgQ29tcGFxIG54NjEyNSIpLAorCQkgICAgIH0sCisJIH0sCisJeworCSAuY2FsbGJhY2sgPSBkbWlfaWdub3JlX2lycTBfdGltZXJfb3ZlcnJpZGUsCisJIC5pZGVudCA9ICJIUCBOWDYzMjUgbGFwdG9wIiwKKwkgLm1hdGNoZXMgPSB7CisJCSAgICAgRE1JX01BVENIKERNSV9TWVNfVkVORE9SLCAiSGV3bGV0dC1QYWNrYXJkIiksCisJCSAgICAgRE1JX01BVENIKERNSV9QUk9EVUNUX05BTUUsICJIUCBDb21wYXEgbng2MzI1IiksCisJCSAgICAgfSwKKwkgfSwKIAl7fQogfTsKIAotI2VuZGlmCQkJCS8qIF9faTM4Nl9fICovCi0KIC8qCiAgKiBhY3BpX2Jvb3RfdGFibGVfaW5pdCgpIGFuZCBhY3BpX2Jvb3RfaW5pdCgpCiAgKiAgY2FsbGVkIGZyb20gc2V0dXBfYXJjaCgpLCBhbHdheXMuCkBAIC0xMjU5LDkgKzE2MzUsNyBAQAogewogCWludCBlcnJvcjsKIAotI2lmZGVmIF9faTM4Nl9fCiAJZG1pX2NoZWNrX3N5c3RlbShhY3BpX2RtaV90YWJsZSk7Ci0jZW5kaWYKIAogCS8qCiAJICogSWYgYWNwaV9kaXNhYmxlZCwgYmFpbCBvdXQKQEAgLTEzODYsNiArMTc2MCwyMCBAQAogfQogZWFybHlfcGFyYW0oInBjaSIsIHBhcnNlX3BjaSk7CiAKK2ludCBfX2luaXQgYWNwaV9tcHNfY2hlY2sodm9pZCkKK3sKKyNpZiBkZWZpbmVkKENPTkZJR19YODZfTE9DQUxfQVBJQykgJiYgIWRlZmluZWQoQ09ORklHX1g4Nl9NUFBBUlNFKQorLyogbXB0YWJsZSBjb2RlIGlzIG5vdCBidWlsdC1pbiovCisJaWYgKGFjcGlfZGlzYWJsZWQgfHwgYWNwaV9ub2lycSkgeworCQlwcmludGsoS0VSTl9XQVJOSU5HICJNUFMgc3VwcG9ydCBjb2RlIGlzIG5vdCBidWlsdC1pbi5cbiIKKwkJICAgICAgICJVc2luZyBhY3BpPW9mZiBvciBhY3BpPW5vaXJxIG9yIHBjaT1ub2FjcGkgIgorCQkgICAgICAgIm1heSBoYXZlIHByb2JsZW1cbiIpOworCQlyZXR1cm4gMTsKKwl9CisjZW5kaWYKKwlyZXR1cm4gMDsKK30KKwogI2lmZGVmIENPTkZJR19YODZfSU9fQVBJQwogc3RhdGljIGludCBfX2luaXQgcGFyc2VfYWNwaV9za2lwX3RpbWVyX292ZXJyaWRlKGNoYXIgKmFyZykKIHsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9hY3BpL3NsZWVwLmMgYi9hcmNoL3g4Ni9rZXJuZWwvYWNwaS9zbGVlcC5jCmluZGV4IDM2YWYwMWYuLjc5M2FkMjAgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9hY3BpL3NsZWVwLmMKKysrIGIvYXJjaC94ODYva2VybmVsL2FjcGkvc2xlZXAuYwpAQCAtMjMsNiArMjMsMTUgQEAKIHN0YXRpYyBjaGFyIHRlbXBfc3RhY2tbMTAyNDBdOwogI2VuZGlmCiAKKy8qIFhYWDogdGhpcyBtYWNybyBzaG91bGQgbW92ZSB0byBhc20teDg2L3NlZ21lbnQuaCBhbmQgYmUgc2hhcmVkIHdpdGggdGhlCisgICBib290IGNvZGUuLi4gKi8KKyNkZWZpbmUgR0RUX0VOVFJZKGZsYWdzLCBiYXNlLCBsaW1pdCkJCVwKKwkoKCh1NjQpKGJhc2UgJiAweGZmMDAwMDAwKSA8PCAzMikgfAlcCisJICgodTY0KWZsYWdzIDw8IDQwKSB8CQkJXAorCSAoKHU2NCkobGltaXQgJiAweDAwZmYwMDAwKSA8PCAzMikgfAlcCisJICgodTY0KShiYXNlICYgMHgwMGZmZmZmZikgPDwgMTYpIHwJXAorCSAoKHU2NCkobGltaXQgJiAweDAwMDBmZmZmKSkpCisKIC8qKgogICogYWNwaV9zYXZlX3N0YXRlX21lbSAtIHNhdmUga2VybmVsIHN0YXRlCiAgKgpAQCAtNTEsMTggKzYwLDI3IEBACiAJaGVhZGVyLT52aWRlb19tb2RlID0gc2F2ZWRfdmlkZW9fbW9kZTsKIAogCWhlYWRlci0+d2FrZXVwX2ptcF9zZWcgPSBhY3BpX3dha2V1cF9hZGRyZXNzID4+IDQ7CisKKwkvKgorCSAqIFNldCB1cCB0aGUgd2FrZXVwIEdEVC4gIFdlIHNldCB0aGVzZSB1cCBhcyBCaWcgUmVhbCBNb2RlLAorCSAqIHRoYXQgaXMsIHdpdGggbGltaXRzIHNldCB0byA0IEdCLiAgQXQgbGVhc3QgdGhlIExlbm92bworCSAqIFRoaW5rcGFkIFg2MSBpcyBrbm93biB0byBuZWVkIHRoaXMgZm9yIHRoZSB2aWRlbyBCSU9TCisJICogaW5pdGlhbGl6YXRpb24gcXVpcmsgdG8gd29yazsgdGhpcyBpcyBsaWtlbHkgdG8gYWxzbworCSAqIGJlIHRoZSBjYXNlIGZvciBvdGhlciBsYXB0b3BzIG9yIGludGVncmF0ZWQgdmlkZW8gZGV2aWNlcy4KKwkgKi8KKwogCS8qIEdEVFswXTogR0RUIHNlbGYtcG9pbnRlciAqLwogCWhlYWRlci0+d2FrZXVwX2dkdFswXSA9CiAJCSh1NjQpKHNpemVvZihoZWFkZXItPndha2V1cF9nZHQpIC0gMSkgKwogCQkoKHU2NCkoYWNwaV93YWtldXBfYWRkcmVzcyArCiAJCQkoKGNoYXIgKikmaGVhZGVyLT53YWtldXBfZ2R0IC0gKGNoYXIgKilhY3BpX3JlYWxtb2RlKSkKIAkJCQk8PCAxNik7Ci0JLyogR0RUWzFdOiByZWFsLW1vZGUtbGlrZSBjb2RlIHNlZ21lbnQgKi8KLQloZWFkZXItPndha2V1cF9nZHRbMV0gPSAoMHgwMDliVUxMIDw8IDQwKSArCi0JCSgodTY0KWFjcGlfd2FrZXVwX2FkZHJlc3MgPDwgMTYpICsgMHhmZmZmOwotCS8qIEdEVFsyXTogcmVhbC1tb2RlLWxpa2UgZGF0YSBzZWdtZW50ICovCi0JaGVhZGVyLT53YWtldXBfZ2R0WzJdID0gKDB4MDA5M1VMTCA8PCA0MCkgKwotCQkoKHU2NClhY3BpX3dha2V1cF9hZGRyZXNzIDw8IDE2KSArIDB4ZmZmZjsKKwkvKiBHRFRbMV06IGJpZyByZWFsIG1vZGUtbGlrZSBjb2RlIHNlZ21lbnQgKi8KKwloZWFkZXItPndha2V1cF9nZHRbMV0gPQorCQlHRFRfRU5UUlkoMHg4MDliLCBhY3BpX3dha2V1cF9hZGRyZXNzLCAweGZmZmZmKTsKKwkvKiBHRFRbMl06IGJpZyByZWFsIG1vZGUtbGlrZSBkYXRhIHNlZ21lbnQgKi8KKwloZWFkZXItPndha2V1cF9nZHRbMl0gPQorCQlHRFRfRU5UUlkoMHg4MDkzLCBhY3BpX3dha2V1cF9hZGRyZXNzLCAweGZmZmZmKTsKIAogI2lmbmRlZiBDT05GSUdfNjRCSVQKIAlzdG9yZV9nZHQoKHN0cnVjdCBkZXNjX3B0ciAqKSZoZWFkZXItPnBtb2RlX2dkdCk7CkBAIC04Niw3ICsxMDQsOSBAQAogCXNhdmVkX21hZ2ljID0gMHgxMjM0NTY3ODsKICNlbHNlIC8qIENPTkZJR182NEJJVCAqLwogCWhlYWRlci0+dHJhbXBvbGluZV9zZWdtZW50ID0gc2V0dXBfdHJhbXBvbGluZSgpID4+IDQ7Ci0JaW5pdF9yc3AgPSAodW5zaWduZWQgbG9uZyl0ZW1wX3N0YWNrICsgNDA5NjsKKyNpZmRlZiBDT05GSUdfU01QCisJc3RhY2tfc3RhcnQuc3AgPSB0ZW1wX3N0YWNrICsgNDA5NjsKKyNlbmRpZgogCWluaXRpYWxfY29kZSA9ICh1bnNpZ25lZCBsb25nKXdha2V1cF9sb25nNjQ7CiAJc2F2ZWRfbWFnaWMgPSAweDEyMzQ1Njc4OWFiY2RlZjA7CiAjZW5kaWYgLyogQ09ORklHXzY0QklUICovCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvYWx0ZXJuYXRpdmUuYyBiL2FyY2gveDg2L2tlcm5lbC9hbHRlcm5hdGl2ZS5jCmluZGV4IDY1Yzc4NTcuLjI3NjNjYjMgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9hbHRlcm5hdGl2ZS5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9hbHRlcm5hdGl2ZS5jCkBAIC0xLDYgKzEsNiBAQAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+Ci0jaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KKyNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgogI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KICNpbmNsdWRlIDxsaW51eC9rcHJvYmVzLmg+CiAjaW5jbHVkZSA8bGludXgvbW0uaD4KQEAgLTE0Myw3ICsxNDMsNyBAQAogI2lmZGVmIENPTkZJR19YODZfNjQKIAogZXh0ZXJuIGNoYXIgX192c3lzY2FsbF8wOwotc3RhdGljIGlubGluZSBjb25zdCB1bnNpZ25lZCBjaGFyKmNvbnN0ICogZmluZF9ub3BfdGFibGUodm9pZCkKK2NvbnN0IHVuc2lnbmVkIGNoYXIgKmNvbnN0ICpmaW5kX25vcF90YWJsZSh2b2lkKQogewogCXJldHVybiBib290X2NwdV9kYXRhLng4Nl92ZW5kb3IgIT0gWDg2X1ZFTkRPUl9JTlRFTCB8fAogCSAgICAgICBib290X2NwdV9kYXRhLng4NiA8IDYgPyBrOF9ub3BzIDogcDZfbm9wczsKQEAgLTE2Miw3ICsxNjIsNyBAQAogCXsgLTEsIE5VTEwgfQogfTsKIAotc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIqY29uc3QgKiBmaW5kX25vcF90YWJsZSh2b2lkKQorY29uc3QgdW5zaWduZWQgY2hhciAqY29uc3QgKmZpbmRfbm9wX3RhYmxlKHZvaWQpCiB7CiAJY29uc3QgdW5zaWduZWQgY2hhciAqY29uc3QgKm5vcHRhYmxlID0gaW50ZWxfbm9wczsKIAlpbnQgaTsKQEAgLTI3OSw3ICsyNzksNyBAQAogCXN0cnVjdCBsaXN0X2hlYWQgbmV4dDsKIH07CiBzdGF0aWMgTElTVF9IRUFEKHNtcF9hbHRfbW9kdWxlcyk7Ci1zdGF0aWMgREVGSU5FX1NQSU5MT0NLKHNtcF9hbHQpOworc3RhdGljIERFRklORV9NVVRFWChzbXBfYWx0KTsKIHN0YXRpYyBpbnQgc21wX21vZGUgPSAxOwkvKiBwcm90ZWN0ZWQgYnkgc21wX2FsdCAqLwogCiB2b2lkIGFsdGVybmF0aXZlc19zbXBfbW9kdWxlX2FkZChzdHJ1Y3QgbW9kdWxlICptb2QsIGNoYXIgKm5hbWUsCkBAIC0zMTIsMTIgKzMxMiwxMiBAQAogCQlfX2Z1bmNfXywgc21wLT5sb2Nrcywgc21wLT5sb2Nrc19lbmQsCiAJCXNtcC0+dGV4dCwgc21wLT50ZXh0X2VuZCwgc21wLT5uYW1lKTsKIAotCXNwaW5fbG9jaygmc21wX2FsdCk7CisJbXV0ZXhfbG9jaygmc21wX2FsdCk7CiAJbGlzdF9hZGRfdGFpbCgmc21wLT5uZXh0LCAmc21wX2FsdF9tb2R1bGVzKTsKIAlpZiAoYm9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJFX1VQKSkKIAkJYWx0ZXJuYXRpdmVzX3NtcF91bmxvY2soc21wLT5sb2Nrcywgc21wLT5sb2Nrc19lbmQsCiAJCQkJCXNtcC0+dGV4dCwgc21wLT50ZXh0X2VuZCk7Ci0Jc3Bpbl91bmxvY2soJnNtcF9hbHQpOworCW11dGV4X3VubG9jaygmc21wX2FsdCk7CiB9CiAKIHZvaWQgYWx0ZXJuYXRpdmVzX3NtcF9tb2R1bGVfZGVsKHN0cnVjdCBtb2R1bGUgKm1vZCkKQEAgLTMyNywxNyArMzI3LDE3IEBACiAJaWYgKHNtcF9hbHRfb25jZSB8fCBub3JlcGxhY2Vfc21wKQogCQlyZXR1cm47CiAKLQlzcGluX2xvY2soJnNtcF9hbHQpOworCW11dGV4X2xvY2soJnNtcF9hbHQpOwogCWxpc3RfZm9yX2VhY2hfZW50cnkoaXRlbSwgJnNtcF9hbHRfbW9kdWxlcywgbmV4dCkgewogCQlpZiAobW9kICE9IGl0ZW0tPm1vZCkKIAkJCWNvbnRpbnVlOwogCQlsaXN0X2RlbCgmaXRlbS0+bmV4dCk7Ci0JCXNwaW5fdW5sb2NrKCZzbXBfYWx0KTsKKwkJbXV0ZXhfdW5sb2NrKCZzbXBfYWx0KTsKIAkJRFBSSU5USygiJXM6ICVzXG4iLCBfX2Z1bmNfXywgaXRlbS0+bmFtZSk7CiAJCWtmcmVlKGl0ZW0pOwogCQlyZXR1cm47CiAJfQotCXNwaW5fdW5sb2NrKCZzbXBfYWx0KTsKKwltdXRleF91bmxvY2soJnNtcF9hbHQpOwogfQogCiB2b2lkIGFsdGVybmF0aXZlc19zbXBfc3dpdGNoKGludCBzbXApCkBAIC0zNTksNyArMzU5LDcgQEAKIAkJcmV0dXJuOwogCUJVR19PTighc21wICYmIChudW1fb25saW5lX2NwdXMoKSA+IDEpKTsKIAotCXNwaW5fbG9jaygmc21wX2FsdCk7CisJbXV0ZXhfbG9jaygmc21wX2FsdCk7CiAKIAkvKgogCSAqIEF2b2lkIHVubmVjZXNzYXJ5IHN3aXRjaGVzIGJlY2F1c2UgaXQgZm9yY2VzIEpJVCBiYXNlZCBWTXMgdG8KQEAgLTM4Myw3ICszODMsNyBAQAogCQkJCQkJbW9kLT50ZXh0LCBtb2QtPnRleHRfZW5kKTsKIAl9CiAJc21wX21vZGUgPSBzbXA7Ci0Jc3Bpbl91bmxvY2soJnNtcF9hbHQpOworCW11dGV4X3VubG9jaygmc21wX2FsdCk7CiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2FtZF9pb21tdS5jIGIvYXJjaC94ODYva2VybmVsL2FtZF9pb21tdS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYyNzY2ZDgKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL3g4Ni9rZXJuZWwvYW1kX2lvbW11LmMKQEAgLTAsMCArMSw5NjIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDctMjAwOCBBZHZhbmNlZCBNaWNybyBEZXZpY2VzLCBJbmMuCisgKiBBdXRob3I6IEpvZXJnIFJvZWRlbCA8am9lcmcucm9lZGVsQGFtZC5jb20+CisgKiAgICAgICAgIExlbyBEdXJhbiA8bGVvLmR1cmFuQGFtZC5jb20+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKKyAqIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzIHB1Ymxpc2hlZAorICogYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgVVNBCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgorI2luY2x1ZGUgPGxpbnV4L2dmcC5oPgorI2luY2x1ZGUgPGxpbnV4L2JpdG9wcy5oPgorI2luY2x1ZGUgPGxpbnV4L3NjYXR0ZXJsaXN0Lmg+CisjaW5jbHVkZSA8bGludXgvaW9tbXUtaGVscGVyLmg+CisjaW5jbHVkZSA8YXNtL3Byb3RvLmg+CisjaW5jbHVkZSA8YXNtL2dhcnQuaD4KKyNpbmNsdWRlIDxhc20vYW1kX2lvbW11X3R5cGVzLmg+CisjaW5jbHVkZSA8YXNtL2FtZF9pb21tdS5oPgorCisjZGVmaW5lIENNRF9TRVRfVFlQRShjbWQsIHQpICgoY21kKS0+ZGF0YVsxXSB8PSAoKHQpIDw8IDI4KSkKKworI2RlZmluZSB0b19wYWdlcyhhZGRyLCBzaXplKSBcCisJIChyb3VuZF91cCgoKGFkZHIpICYgflBBR0VfTUFTSykgKyAoc2l6ZSksIFBBR0VfU0laRSkgPj4gUEFHRV9TSElGVCkKKworc3RhdGljIERFRklORV9SV0xPQ0soYW1kX2lvbW11X2RldnRhYmxlX2xvY2spOworCitzdHJ1Y3QgY29tbWFuZCB7CisJdTMyIGRhdGFbNF07Cit9OworCitzdGF0aWMgaW50IGRtYV9vcHNfdW5pdHlfbWFwKHN0cnVjdCBkbWFfb3BzX2RvbWFpbiAqZG1hX2RvbSwKKwkJCSAgICAgc3RydWN0IHVuaXR5X21hcF9lbnRyeSAqZSk7CisKK3N0YXRpYyBpbnQgaW9tbXVfaGFzX25wY2FjaGUoc3RydWN0IGFtZF9pb21tdSAqaW9tbXUpCit7CisJcmV0dXJuIGlvbW11LT5jYXAgJiBJT01NVV9DQVBfTlBDQUNIRTsKK30KKworc3RhdGljIGludCBfX2lvbW11X3F1ZXVlX2NvbW1hbmQoc3RydWN0IGFtZF9pb21tdSAqaW9tbXUsIHN0cnVjdCBjb21tYW5kICpjbWQpCit7CisJdTMyIHRhaWwsIGhlYWQ7CisJdTggKnRhcmdldDsKKworCXRhaWwgPSByZWFkbChpb21tdS0+bW1pb19iYXNlICsgTU1JT19DTURfVEFJTF9PRkZTRVQpOworCXRhcmdldCA9IChpb21tdS0+Y21kX2J1ZiArIHRhaWwpOworCW1lbWNweV90b2lvKHRhcmdldCwgY21kLCBzaXplb2YoKmNtZCkpOworCXRhaWwgPSAodGFpbCArIHNpemVvZigqY21kKSkgJSBpb21tdS0+Y21kX2J1Zl9zaXplOworCWhlYWQgPSByZWFkbChpb21tdS0+bW1pb19iYXNlICsgTU1JT19DTURfSEVBRF9PRkZTRVQpOworCWlmICh0YWlsID09IGhlYWQpCisJCXJldHVybiAtRU5PTUVNOworCXdyaXRlbCh0YWlsLCBpb21tdS0+bW1pb19iYXNlICsgTU1JT19DTURfVEFJTF9PRkZTRVQpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgaW9tbXVfcXVldWVfY29tbWFuZChzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSwgc3RydWN0IGNvbW1hbmQgKmNtZCkKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCWludCByZXQ7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmaW9tbXUtPmxvY2ssIGZsYWdzKTsKKwlyZXQgPSBfX2lvbW11X3F1ZXVlX2NvbW1hbmQoaW9tbXUsIGNtZCk7CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaW9tbXUtPmxvY2ssIGZsYWdzKTsKKworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgaW9tbXVfY29tcGxldGlvbl93YWl0KHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11KQoreworCWludCByZXQ7CisJc3RydWN0IGNvbW1hbmQgY21kOworCXZvbGF0aWxlIHU2NCByZWFkeSA9IDA7CisJdW5zaWduZWQgbG9uZyByZWFkeV9waHlzID0gdmlydF90b19waHlzKCZyZWFkeSk7CisKKwltZW1zZXQoJmNtZCwgMCwgc2l6ZW9mKGNtZCkpOworCWNtZC5kYXRhWzBdID0gTE9XX1UzMihyZWFkeV9waHlzKSB8IENNRF9DT01QTF9XQUlUX1NUT1JFX01BU0s7CisJY21kLmRhdGFbMV0gPSBISUdIX1UzMihyZWFkeV9waHlzKTsKKwljbWQuZGF0YVsyXSA9IDE7IC8qIHZhbHVlIHdyaXR0ZW4gdG8gJ3JlYWR5JyAqLworCUNNRF9TRVRfVFlQRSgmY21kLCBDTURfQ09NUExfV0FJVCk7CisKKwlpb21tdS0+bmVlZF9zeW5jID0gMDsKKworCXJldCA9IGlvbW11X3F1ZXVlX2NvbW1hbmQoaW9tbXUsICZjbWQpOworCisJaWYgKHJldCkKKwkJcmV0dXJuIHJldDsKKworCXdoaWxlICghcmVhZHkpCisJCWNwdV9yZWxheCgpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgaW9tbXVfcXVldWVfaW52X2Rldl9lbnRyeShzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSwgdTE2IGRldmlkKQoreworCXN0cnVjdCBjb21tYW5kIGNtZDsKKworCUJVR19PTihpb21tdSA9PSBOVUxMKTsKKworCW1lbXNldCgmY21kLCAwLCBzaXplb2YoY21kKSk7CisJQ01EX1NFVF9UWVBFKCZjbWQsIENNRF9JTlZfREVWX0VOVFJZKTsKKwljbWQuZGF0YVswXSA9IGRldmlkOworCisJaW9tbXUtPm5lZWRfc3luYyA9IDE7CisKKwlyZXR1cm4gaW9tbXVfcXVldWVfY29tbWFuZChpb21tdSwgJmNtZCk7Cit9CisKK3N0YXRpYyBpbnQgaW9tbXVfcXVldWVfaW52X2lvbW11X3BhZ2VzKHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11LAorCQl1NjQgYWRkcmVzcywgdTE2IGRvbWlkLCBpbnQgcGRlLCBpbnQgcykKK3sKKwlzdHJ1Y3QgY29tbWFuZCBjbWQ7CisKKwltZW1zZXQoJmNtZCwgMCwgc2l6ZW9mKGNtZCkpOworCWFkZHJlc3MgJj0gUEFHRV9NQVNLOworCUNNRF9TRVRfVFlQRSgmY21kLCBDTURfSU5WX0lPTU1VX1BBR0VTKTsKKwljbWQuZGF0YVsxXSB8PSBkb21pZDsKKwljbWQuZGF0YVsyXSA9IExPV19VMzIoYWRkcmVzcyk7CisJY21kLmRhdGFbM10gPSBISUdIX1UzMihhZGRyZXNzKTsKKwlpZiAocykKKwkJY21kLmRhdGFbMl0gfD0gQ01EX0lOVl9JT01NVV9QQUdFU19TSVpFX01BU0s7CisJaWYgKHBkZSkKKwkJY21kLmRhdGFbMl0gfD0gQ01EX0lOVl9JT01NVV9QQUdFU19QREVfTUFTSzsKKworCWlvbW11LT5uZWVkX3N5bmMgPSAxOworCisJcmV0dXJuIGlvbW11X3F1ZXVlX2NvbW1hbmQoaW9tbXUsICZjbWQpOworfQorCitzdGF0aWMgaW50IGlvbW11X2ZsdXNoX3BhZ2VzKHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11LCB1MTYgZG9taWQsCisJCXU2NCBhZGRyZXNzLCBzaXplX3Qgc2l6ZSkKK3sKKwlpbnQgcyA9IDA7CisJdW5zaWduZWQgcGFnZXMgPSB0b19wYWdlcyhhZGRyZXNzLCBzaXplKTsKKworCWFkZHJlc3MgJj0gUEFHRV9NQVNLOworCisJaWYgKHBhZ2VzID4gMSkgeworCQkvKgorCQkgKiBJZiB3ZSBoYXZlIHRvIGZsdXNoIG1vcmUgdGhhbiBvbmUgcGFnZSwgZmx1c2ggYWxsCisJCSAqIFRMQiBlbnRyaWVzIGZvciB0aGlzIGRvbWFpbgorCQkgKi8KKwkJYWRkcmVzcyA9IENNRF9JTlZfSU9NTVVfQUxMX1BBR0VTX0FERFJFU1M7CisJCXMgPSAxOworCX0KKworCWlvbW11X3F1ZXVlX2ludl9pb21tdV9wYWdlcyhpb21tdSwgYWRkcmVzcywgZG9taWQsIDAsIHMpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgaW9tbXVfbWFwKHN0cnVjdCBwcm90ZWN0aW9uX2RvbWFpbiAqZG9tLAorCQkgICAgIHVuc2lnbmVkIGxvbmcgYnVzX2FkZHIsCisJCSAgICAgdW5zaWduZWQgbG9uZyBwaHlzX2FkZHIsCisJCSAgICAgaW50IHByb3QpCit7CisJdTY0IF9fcHRlLCAqcHRlLCAqcGFnZTsKKworCWJ1c19hZGRyICA9IFBBR0VfQUxJR04oYnVzX2FkZHIpOworCXBoeXNfYWRkciA9IFBBR0VfQUxJR04oYnVzX2FkZHIpOworCisJLyogb25seSBzdXBwb3J0IDUxMkdCIGFkZHJlc3Mgc3BhY2VzIGZvciBub3cgKi8KKwlpZiAoYnVzX2FkZHIgPiBJT01NVV9NQVBfU0laRV9MMyB8fCAhKHByb3QgJiBJT01NVV9QUk9UX01BU0spKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXB0ZSA9ICZkb20tPnB0X3Jvb3RbSU9NTVVfUFRFX0wyX0lOREVYKGJ1c19hZGRyKV07CisKKwlpZiAoIUlPTU1VX1BURV9QUkVTRU5UKCpwdGUpKSB7CisJCXBhZ2UgPSAodTY0ICopZ2V0X3plcm9lZF9wYWdlKEdGUF9LRVJORUwpOworCQlpZiAoIXBhZ2UpCisJCQlyZXR1cm4gLUVOT01FTTsKKwkJKnB0ZSA9IElPTU1VX0wyX1BERSh2aXJ0X3RvX3BoeXMocGFnZSkpOworCX0KKworCXB0ZSA9IElPTU1VX1BURV9QQUdFKCpwdGUpOworCXB0ZSA9ICZwdGVbSU9NTVVfUFRFX0wxX0lOREVYKGJ1c19hZGRyKV07CisKKwlpZiAoIUlPTU1VX1BURV9QUkVTRU5UKCpwdGUpKSB7CisJCXBhZ2UgPSAodTY0ICopZ2V0X3plcm9lZF9wYWdlKEdGUF9LRVJORUwpOworCQlpZiAoIXBhZ2UpCisJCQlyZXR1cm4gLUVOT01FTTsKKwkJKnB0ZSA9IElPTU1VX0wxX1BERSh2aXJ0X3RvX3BoeXMocGFnZSkpOworCX0KKworCXB0ZSA9IElPTU1VX1BURV9QQUdFKCpwdGUpOworCXB0ZSA9ICZwdGVbSU9NTVVfUFRFX0wwX0lOREVYKGJ1c19hZGRyKV07CisKKwlpZiAoSU9NTVVfUFRFX1BSRVNFTlQoKnB0ZSkpCisJCXJldHVybiAtRUJVU1k7CisKKwlfX3B0ZSA9IHBoeXNfYWRkciB8IElPTU1VX1BURV9QOworCWlmIChwcm90ICYgSU9NTVVfUFJPVF9JUikKKwkJX19wdGUgfD0gSU9NTVVfUFRFX0lSOworCWlmIChwcm90ICYgSU9NTVVfUFJPVF9JVykKKwkJX19wdGUgfD0gSU9NTVVfUFRFX0lXOworCisJKnB0ZSA9IF9fcHRlOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgaW9tbXVfZm9yX3VuaXR5X21hcChzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSwKKwkJCSAgICAgICBzdHJ1Y3QgdW5pdHlfbWFwX2VudHJ5ICplbnRyeSkKK3sKKwl1MTYgYmRmLCBpOworCisJZm9yIChpID0gZW50cnktPmRldmlkX3N0YXJ0OyBpIDw9IGVudHJ5LT5kZXZpZF9lbmQ7ICsraSkgeworCQliZGYgPSBhbWRfaW9tbXVfYWxpYXNfdGFibGVbaV07CisJCWlmIChhbWRfaW9tbXVfcmxvb2t1cF90YWJsZVtiZGZdID09IGlvbW11KQorCQkJcmV0dXJuIDE7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgaW9tbXVfaW5pdF91bml0eV9tYXBwaW5ncyhzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSkKK3sKKwlzdHJ1Y3QgdW5pdHlfbWFwX2VudHJ5ICplbnRyeTsKKwlpbnQgcmV0OworCisJbGlzdF9mb3JfZWFjaF9lbnRyeShlbnRyeSwgJmFtZF9pb21tdV91bml0eV9tYXAsIGxpc3QpIHsKKwkJaWYgKCFpb21tdV9mb3JfdW5pdHlfbWFwKGlvbW11LCBlbnRyeSkpCisJCQljb250aW51ZTsKKwkJcmV0ID0gZG1hX29wc191bml0eV9tYXAoaW9tbXUtPmRlZmF1bHRfZG9tLCBlbnRyeSk7CisJCWlmIChyZXQpCisJCQlyZXR1cm4gcmV0OworCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGRtYV9vcHNfdW5pdHlfbWFwKHN0cnVjdCBkbWFfb3BzX2RvbWFpbiAqZG1hX2RvbSwKKwkJCSAgICAgc3RydWN0IHVuaXR5X21hcF9lbnRyeSAqZSkKK3sKKwl1NjQgYWRkcjsKKwlpbnQgcmV0OworCisJZm9yIChhZGRyID0gZS0+YWRkcmVzc19zdGFydDsgYWRkciA8IGUtPmFkZHJlc3NfZW5kOworCSAgICAgYWRkciArPSBQQUdFX1NJWkUpIHsKKwkJcmV0ID0gaW9tbXVfbWFwKCZkbWFfZG9tLT5kb21haW4sIGFkZHIsIGFkZHIsIGUtPnByb3QpOworCQlpZiAocmV0KQorCQkJcmV0dXJuIHJldDsKKwkJLyoKKwkJICogaWYgdW5pdHkgbWFwcGluZyBpcyBpbiBhcGVydHVyZSByYW5nZSBtYXJrIHRoZSBwYWdlCisJCSAqIGFzIGFsbG9jYXRlZCBpbiB0aGUgYXBlcnR1cmUKKwkJICovCisJCWlmIChhZGRyIDwgZG1hX2RvbS0+YXBlcnR1cmVfc2l6ZSkKKwkJCV9fc2V0X2JpdChhZGRyID4+IFBBR0VfU0hJRlQsIGRtYV9kb20tPmJpdG1hcCk7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgaW5pdF91bml0eV9tYXBwaW5nc19mb3JfZGV2aWNlKHN0cnVjdCBkbWFfb3BzX2RvbWFpbiAqZG1hX2RvbSwKKwkJCQkJICB1MTYgZGV2aWQpCit7CisJc3RydWN0IHVuaXR5X21hcF9lbnRyeSAqZTsKKwlpbnQgcmV0OworCisJbGlzdF9mb3JfZWFjaF9lbnRyeShlLCAmYW1kX2lvbW11X3VuaXR5X21hcCwgbGlzdCkgeworCQlpZiAoIShkZXZpZCA+PSBlLT5kZXZpZF9zdGFydCAmJiBkZXZpZCA8PSBlLT5kZXZpZF9lbmQpKQorCQkJY29udGludWU7CisJCXJldCA9IGRtYV9vcHNfdW5pdHlfbWFwKGRtYV9kb20sIGUpOworCQlpZiAocmV0KQorCQkJcmV0dXJuIHJldDsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgZG1hX21hc2tfdG9fcGFnZXModW5zaWduZWQgbG9uZyBtYXNrKQoreworCXJldHVybiAobWFzayA+PiBQQUdFX1NISUZUKSArCisJCShQQUdFX0FMSUdOKG1hc2sgJiB+UEFHRV9NQVNLKSA+PiBQQUdFX1NISUZUKTsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgZG1hX29wc19hbGxvY19hZGRyZXNzZXMoc3RydWN0IGRldmljZSAqZGV2LAorCQkJCQkgICAgIHN0cnVjdCBkbWFfb3BzX2RvbWFpbiAqZG9tLAorCQkJCQkgICAgIHVuc2lnbmVkIGludCBwYWdlcykKK3sKKwl1bnNpZ25lZCBsb25nIGxpbWl0ID0gZG1hX21hc2tfdG9fcGFnZXMoKmRldi0+ZG1hX21hc2spOworCXVuc2lnbmVkIGxvbmcgYWRkcmVzczsKKwl1bnNpZ25lZCBsb25nIHNpemUgPSBkb20tPmFwZXJ0dXJlX3NpemUgPj4gUEFHRV9TSElGVDsKKwl1bnNpZ25lZCBsb25nIGJvdW5kYXJ5X3NpemU7CisKKwlib3VuZGFyeV9zaXplID0gQUxJR04oZG1hX2dldF9zZWdfYm91bmRhcnkoZGV2KSArIDEsCisJCQlQQUdFX1NJWkUpID4+IFBBR0VfU0hJRlQ7CisJbGltaXQgPSBsaW1pdCA8IHNpemUgPyBsaW1pdCA6IHNpemU7CisKKwlpZiAoZG9tLT5uZXh0X2JpdCA+PSBsaW1pdCkKKwkJZG9tLT5uZXh0X2JpdCA9IDA7CisKKwlhZGRyZXNzID0gaW9tbXVfYXJlYV9hbGxvYyhkb20tPmJpdG1hcCwgbGltaXQsIGRvbS0+bmV4dF9iaXQsIHBhZ2VzLAorCQkJMCAsIGJvdW5kYXJ5X3NpemUsIDApOworCWlmIChhZGRyZXNzID09IC0xKQorCQlhZGRyZXNzID0gaW9tbXVfYXJlYV9hbGxvYyhkb20tPmJpdG1hcCwgbGltaXQsIDAsIHBhZ2VzLAorCQkJCTAsIGJvdW5kYXJ5X3NpemUsIDApOworCisJaWYgKGxpa2VseShhZGRyZXNzICE9IC0xKSkgeworCQlkb20tPm5leHRfYml0ID0gYWRkcmVzcyArIHBhZ2VzOworCQlhZGRyZXNzIDw8PSBQQUdFX1NISUZUOworCX0gZWxzZQorCQlhZGRyZXNzID0gYmFkX2RtYV9hZGRyZXNzOworCisJV0FSTl9PTigoYWRkcmVzcyArIChQQUdFX1NJWkUqcGFnZXMpKSA+IGRvbS0+YXBlcnR1cmVfc2l6ZSk7CisKKwlyZXR1cm4gYWRkcmVzczsKK30KKworc3RhdGljIHZvaWQgZG1hX29wc19mcmVlX2FkZHJlc3NlcyhzdHJ1Y3QgZG1hX29wc19kb21haW4gKmRvbSwKKwkJCQkgICB1bnNpZ25lZCBsb25nIGFkZHJlc3MsCisJCQkJICAgdW5zaWduZWQgaW50IHBhZ2VzKQoreworCWFkZHJlc3MgPj49IFBBR0VfU0hJRlQ7CisJaW9tbXVfYXJlYV9mcmVlKGRvbS0+Yml0bWFwLCBhZGRyZXNzLCBwYWdlcyk7Cit9CisKK3N0YXRpYyB1MTYgZG9tYWluX2lkX2FsbG9jKHZvaWQpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwlpbnQgaWQ7CisKKwl3cml0ZV9sb2NrX2lycXNhdmUoJmFtZF9pb21tdV9kZXZ0YWJsZV9sb2NrLCBmbGFncyk7CisJaWQgPSBmaW5kX2ZpcnN0X3plcm9fYml0KGFtZF9pb21tdV9wZF9hbGxvY19iaXRtYXAsIE1BWF9ET01BSU5fSUQpOworCUJVR19PTihpZCA9PSAwKTsKKwlpZiAoaWQgPiAwICYmIGlkIDwgTUFYX0RPTUFJTl9JRCkKKwkJX19zZXRfYml0KGlkLCBhbWRfaW9tbXVfcGRfYWxsb2NfYml0bWFwKTsKKwllbHNlCisJCWlkID0gMDsKKwl3cml0ZV91bmxvY2tfaXJxcmVzdG9yZSgmYW1kX2lvbW11X2RldnRhYmxlX2xvY2ssIGZsYWdzKTsKKworCXJldHVybiBpZDsKK30KKworc3RhdGljIHZvaWQgZG1hX29wc19yZXNlcnZlX2FkZHJlc3NlcyhzdHJ1Y3QgZG1hX29wc19kb21haW4gKmRvbSwKKwkJCQkgICAgICB1bnNpZ25lZCBsb25nIHN0YXJ0X3BhZ2UsCisJCQkJICAgICAgdW5zaWduZWQgaW50IHBhZ2VzKQoreworCXVuc2lnbmVkIGludCBsYXN0X3BhZ2UgPSBkb20tPmFwZXJ0dXJlX3NpemUgPj4gUEFHRV9TSElGVDsKKworCWlmIChzdGFydF9wYWdlICsgcGFnZXMgPiBsYXN0X3BhZ2UpCisJCXBhZ2VzID0gbGFzdF9wYWdlIC0gc3RhcnRfcGFnZTsKKworCXNldF9iaXRfc3RyaW5nKGRvbS0+Yml0bWFwLCBzdGFydF9wYWdlLCBwYWdlcyk7Cit9CisKK3N0YXRpYyB2b2lkIGRtYV9vcHNfZnJlZV9wYWdldGFibGUoc3RydWN0IGRtYV9vcHNfZG9tYWluICpkbWFfZG9tKQoreworCWludCBpLCBqOworCXU2NCAqcDEsICpwMiwgKnAzOworCisJcDEgPSBkbWFfZG9tLT5kb21haW4ucHRfcm9vdDsKKworCWlmICghcDEpCisJCXJldHVybjsKKworCWZvciAoaSA9IDA7IGkgPCA1MTI7ICsraSkgeworCQlpZiAoIUlPTU1VX1BURV9QUkVTRU5UKHAxW2ldKSkKKwkJCWNvbnRpbnVlOworCisJCXAyID0gSU9NTVVfUFRFX1BBR0UocDFbaV0pOworCQlmb3IgKGogPSAwOyBqIDwgNTEyOyArK2kpIHsKKwkJCWlmICghSU9NTVVfUFRFX1BSRVNFTlQocDJbal0pKQorCQkJCWNvbnRpbnVlOworCQkJcDMgPSBJT01NVV9QVEVfUEFHRShwMltqXSk7CisJCQlmcmVlX3BhZ2UoKHVuc2lnbmVkIGxvbmcpcDMpOworCQl9CisKKwkJZnJlZV9wYWdlKCh1bnNpZ25lZCBsb25nKXAyKTsKKwl9CisKKwlmcmVlX3BhZ2UoKHVuc2lnbmVkIGxvbmcpcDEpOworfQorCitzdGF0aWMgdm9pZCBkbWFfb3BzX2RvbWFpbl9mcmVlKHN0cnVjdCBkbWFfb3BzX2RvbWFpbiAqZG9tKQoreworCWlmICghZG9tKQorCQlyZXR1cm47CisKKwlkbWFfb3BzX2ZyZWVfcGFnZXRhYmxlKGRvbSk7CisKKwlrZnJlZShkb20tPnB0ZV9wYWdlcyk7CisKKwlrZnJlZShkb20tPmJpdG1hcCk7CisKKwlrZnJlZShkb20pOworfQorCitzdGF0aWMgc3RydWN0IGRtYV9vcHNfZG9tYWluICpkbWFfb3BzX2RvbWFpbl9hbGxvYyhzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSwKKwkJCQkJCSAgIHVuc2lnbmVkIG9yZGVyKQoreworCXN0cnVjdCBkbWFfb3BzX2RvbWFpbiAqZG1hX2RvbTsKKwl1bnNpZ25lZCBpLCBudW1fcHRlX3BhZ2VzOworCXU2NCAqbDJfcGRlOworCXU2NCBhZGRyZXNzOworCisJLyoKKwkgKiBDdXJyZW50bHkgdGhlIERNQSBhcGVydHVyZSBtdXN0IGJlIGJldHdlZW4gMzIgTUIgYW5kIDFHQiBpbiBzaXplCisJICovCisJaWYgKChvcmRlciA8IDI1KSB8fCAob3JkZXIgPiAzMCkpCisJCXJldHVybiBOVUxMOworCisJZG1hX2RvbSA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBkbWFfb3BzX2RvbWFpbiksIEdGUF9LRVJORUwpOworCWlmICghZG1hX2RvbSkKKwkJcmV0dXJuIE5VTEw7CisKKwlzcGluX2xvY2tfaW5pdCgmZG1hX2RvbS0+ZG9tYWluLmxvY2spOworCisJZG1hX2RvbS0+ZG9tYWluLmlkID0gZG9tYWluX2lkX2FsbG9jKCk7CisJaWYgKGRtYV9kb20tPmRvbWFpbi5pZCA9PSAwKQorCQlnb3RvIGZyZWVfZG1hX2RvbTsKKwlkbWFfZG9tLT5kb21haW4ubW9kZSA9IFBBR0VfTU9ERV8zX0xFVkVMOworCWRtYV9kb20tPmRvbWFpbi5wdF9yb290ID0gKHZvaWQgKilnZXRfemVyb2VkX3BhZ2UoR0ZQX0tFUk5FTCk7CisJZG1hX2RvbS0+ZG9tYWluLnByaXYgPSBkbWFfZG9tOworCWlmICghZG1hX2RvbS0+ZG9tYWluLnB0X3Jvb3QpCisJCWdvdG8gZnJlZV9kbWFfZG9tOworCWRtYV9kb20tPmFwZXJ0dXJlX3NpemUgPSAoMVVMTCA8PCBvcmRlcik7CisJZG1hX2RvbS0+Yml0bWFwID0ga3phbGxvYyhkbWFfZG9tLT5hcGVydHVyZV9zaXplIC8gKFBBR0VfU0laRSAqIDgpLAorCQkJCSAgR0ZQX0tFUk5FTCk7CisJaWYgKCFkbWFfZG9tLT5iaXRtYXApCisJCWdvdG8gZnJlZV9kbWFfZG9tOworCS8qCisJICogbWFyayB0aGUgZmlyc3QgcGFnZSBhcyBhbGxvY2F0ZWQgc28gd2UgbmV2ZXIgcmV0dXJuIDAgYXMKKwkgKiBhIHZhbGlkIGRtYS1hZGRyZXNzLiBTbyB3ZSBjYW4gdXNlIDAgYXMgZXJyb3IgdmFsdWUKKwkgKi8KKwlkbWFfZG9tLT5iaXRtYXBbMF0gPSAxOworCWRtYV9kb20tPm5leHRfYml0ID0gMDsKKworCWlmIChpb21tdS0+ZXhjbHVzaW9uX3N0YXJ0ICYmCisJICAgIGlvbW11LT5leGNsdXNpb25fc3RhcnQgPCBkbWFfZG9tLT5hcGVydHVyZV9zaXplKSB7CisJCXVuc2lnbmVkIGxvbmcgc3RhcnRwYWdlID0gaW9tbXUtPmV4Y2x1c2lvbl9zdGFydCA+PiBQQUdFX1NISUZUOworCQlpbnQgcGFnZXMgPSB0b19wYWdlcyhpb21tdS0+ZXhjbHVzaW9uX3N0YXJ0LAorCQkJCWlvbW11LT5leGNsdXNpb25fbGVuZ3RoKTsKKwkJZG1hX29wc19yZXNlcnZlX2FkZHJlc3NlcyhkbWFfZG9tLCBzdGFydHBhZ2UsIHBhZ2VzKTsKKwl9CisKKwludW1fcHRlX3BhZ2VzID0gZG1hX2RvbS0+YXBlcnR1cmVfc2l6ZSAvIChQQUdFX1NJWkUgKiA1MTIpOworCWRtYV9kb20tPnB0ZV9wYWdlcyA9IGt6YWxsb2MobnVtX3B0ZV9wYWdlcyAqIHNpemVvZih2b2lkICopLAorCQkJR0ZQX0tFUk5FTCk7CisJaWYgKCFkbWFfZG9tLT5wdGVfcGFnZXMpCisJCWdvdG8gZnJlZV9kbWFfZG9tOworCisJbDJfcGRlID0gKHU2NCAqKWdldF96ZXJvZWRfcGFnZShHRlBfS0VSTkVMKTsKKwlpZiAobDJfcGRlID09IE5VTEwpCisJCWdvdG8gZnJlZV9kbWFfZG9tOworCisJZG1hX2RvbS0+ZG9tYWluLnB0X3Jvb3RbMF0gPSBJT01NVV9MMl9QREUodmlydF90b19waHlzKGwyX3BkZSkpOworCisJZm9yIChpID0gMDsgaSA8IG51bV9wdGVfcGFnZXM7ICsraSkgeworCQlkbWFfZG9tLT5wdGVfcGFnZXNbaV0gPSAodTY0ICopZ2V0X3plcm9lZF9wYWdlKEdGUF9LRVJORUwpOworCQlpZiAoIWRtYV9kb20tPnB0ZV9wYWdlc1tpXSkKKwkJCWdvdG8gZnJlZV9kbWFfZG9tOworCQlhZGRyZXNzID0gdmlydF90b19waHlzKGRtYV9kb20tPnB0ZV9wYWdlc1tpXSk7CisJCWwyX3BkZVtpXSA9IElPTU1VX0wxX1BERShhZGRyZXNzKTsKKwl9CisKKwlyZXR1cm4gZG1hX2RvbTsKKworZnJlZV9kbWFfZG9tOgorCWRtYV9vcHNfZG9tYWluX2ZyZWUoZG1hX2RvbSk7CisKKwlyZXR1cm4gTlVMTDsKK30KKworc3RhdGljIHN0cnVjdCBwcm90ZWN0aW9uX2RvbWFpbiAqZG9tYWluX2Zvcl9kZXZpY2UodTE2IGRldmlkKQoreworCXN0cnVjdCBwcm90ZWN0aW9uX2RvbWFpbiAqZG9tOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwlyZWFkX2xvY2tfaXJxc2F2ZSgmYW1kX2lvbW11X2RldnRhYmxlX2xvY2ssIGZsYWdzKTsKKwlkb20gPSBhbWRfaW9tbXVfcGRfdGFibGVbZGV2aWRdOworCXJlYWRfdW5sb2NrX2lycXJlc3RvcmUoJmFtZF9pb21tdV9kZXZ0YWJsZV9sb2NrLCBmbGFncyk7CisKKwlyZXR1cm4gZG9tOworfQorCitzdGF0aWMgdm9pZCBzZXRfZGV2aWNlX2RvbWFpbihzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSwKKwkJCSAgICAgIHN0cnVjdCBwcm90ZWN0aW9uX2RvbWFpbiAqZG9tYWluLAorCQkJICAgICAgdTE2IGRldmlkKQoreworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwl1NjQgcHRlX3Jvb3QgPSB2aXJ0X3RvX3BoeXMoZG9tYWluLT5wdF9yb290KTsKKworCXB0ZV9yb290IHw9IChkb21haW4tPm1vZGUgJiAweDA3KSA8PCA5OworCXB0ZV9yb290IHw9IElPTU1VX1BURV9JUiB8IElPTU1VX1BURV9JVyB8IElPTU1VX1BURV9QIHwgMjsKKworCXdyaXRlX2xvY2tfaXJxc2F2ZSgmYW1kX2lvbW11X2RldnRhYmxlX2xvY2ssIGZsYWdzKTsKKwlhbWRfaW9tbXVfZGV2X3RhYmxlW2RldmlkXS5kYXRhWzBdID0gcHRlX3Jvb3Q7CisJYW1kX2lvbW11X2Rldl90YWJsZVtkZXZpZF0uZGF0YVsxXSA9IHB0ZV9yb290ID4+IDMyOworCWFtZF9pb21tdV9kZXZfdGFibGVbZGV2aWRdLmRhdGFbMl0gPSBkb21haW4tPmlkOworCisJYW1kX2lvbW11X3BkX3RhYmxlW2RldmlkXSA9IGRvbWFpbjsKKwl3cml0ZV91bmxvY2tfaXJxcmVzdG9yZSgmYW1kX2lvbW11X2RldnRhYmxlX2xvY2ssIGZsYWdzKTsKKworCWlvbW11X3F1ZXVlX2ludl9kZXZfZW50cnkoaW9tbXUsIGRldmlkKTsKKworCWlvbW11LT5uZWVkX3N5bmMgPSAxOworfQorCitzdGF0aWMgaW50IGdldF9kZXZpY2VfcmVzb3VyY2VzKHN0cnVjdCBkZXZpY2UgKmRldiwKKwkJCQlzdHJ1Y3QgYW1kX2lvbW11ICoqaW9tbXUsCisJCQkJc3RydWN0IHByb3RlY3Rpb25fZG9tYWluICoqZG9tYWluLAorCQkJCXUxNiAqYmRmKQoreworCXN0cnVjdCBkbWFfb3BzX2RvbWFpbiAqZG1hX2RvbTsKKwlzdHJ1Y3QgcGNpX2RldiAqcGNpZGV2OworCXUxNiBfYmRmOworCisJQlVHX09OKCFkZXYgfHwgZGV2LT5idXMgIT0gJnBjaV9idXNfdHlwZSB8fCAhZGV2LT5kbWFfbWFzayk7CisKKwlwY2lkZXYgPSB0b19wY2lfZGV2KGRldik7CisJX2JkZiA9IChwY2lkZXYtPmJ1cy0+bnVtYmVyIDw8IDgpIHwgcGNpZGV2LT5kZXZmbjsKKworCWlmIChfYmRmID49IGFtZF9pb21tdV9sYXN0X2JkZikgeworCQkqaW9tbXUgPSBOVUxMOworCQkqZG9tYWluID0gTlVMTDsKKwkJKmJkZiA9IDB4ZmZmZjsKKwkJcmV0dXJuIDA7CisJfQorCisJKmJkZiA9IGFtZF9pb21tdV9hbGlhc190YWJsZVtfYmRmXTsKKworCSppb21tdSA9IGFtZF9pb21tdV9ybG9va3VwX3RhYmxlWypiZGZdOworCWlmICgqaW9tbXUgPT0gTlVMTCkKKwkJcmV0dXJuIDA7CisJZG1hX2RvbSA9ICgqaW9tbXUpLT5kZWZhdWx0X2RvbTsKKwkqZG9tYWluID0gZG9tYWluX2Zvcl9kZXZpY2UoKmJkZik7CisJaWYgKCpkb21haW4gPT0gTlVMTCkgeworCQkqZG9tYWluID0gJmRtYV9kb20tPmRvbWFpbjsKKwkJc2V0X2RldmljZV9kb21haW4oKmlvbW11LCAqZG9tYWluLCAqYmRmKTsKKwkJcHJpbnRrKEtFUk5fSU5GTyAiQU1EIElPTU1VOiBVc2luZyBwcm90ZWN0aW9uIGRvbWFpbiAlZCBmb3IgIgorCQkJCSJkZXZpY2UgIiwgKCpkb21haW4pLT5pZCk7CisJCXByaW50X2RldmlkKF9iZGYsIDEpOworCX0KKworCXJldHVybiAxOworfQorCitzdGF0aWMgZG1hX2FkZHJfdCBkbWFfb3BzX2RvbWFpbl9tYXAoc3RydWN0IGFtZF9pb21tdSAqaW9tbXUsCisJCQkJICAgICBzdHJ1Y3QgZG1hX29wc19kb21haW4gKmRvbSwKKwkJCQkgICAgIHVuc2lnbmVkIGxvbmcgYWRkcmVzcywKKwkJCQkgICAgIHBoeXNfYWRkcl90IHBhZGRyLAorCQkJCSAgICAgaW50IGRpcmVjdGlvbikKK3sKKwl1NjQgKnB0ZSwgX19wdGU7CisKKwlXQVJOX09OKGFkZHJlc3MgPiBkb20tPmFwZXJ0dXJlX3NpemUpOworCisJcGFkZHIgJj0gUEFHRV9NQVNLOworCisJcHRlICA9IGRvbS0+cHRlX3BhZ2VzW0lPTU1VX1BURV9MMV9JTkRFWChhZGRyZXNzKV07CisJcHRlICs9IElPTU1VX1BURV9MMF9JTkRFWChhZGRyZXNzKTsKKworCV9fcHRlID0gcGFkZHIgfCBJT01NVV9QVEVfUCB8IElPTU1VX1BURV9GQzsKKworCWlmIChkaXJlY3Rpb24gPT0gRE1BX1RPX0RFVklDRSkKKwkJX19wdGUgfD0gSU9NTVVfUFRFX0lSOworCWVsc2UgaWYgKGRpcmVjdGlvbiA9PSBETUFfRlJPTV9ERVZJQ0UpCisJCV9fcHRlIHw9IElPTU1VX1BURV9JVzsKKwllbHNlIGlmIChkaXJlY3Rpb24gPT0gRE1BX0JJRElSRUNUSU9OQUwpCisJCV9fcHRlIHw9IElPTU1VX1BURV9JUiB8IElPTU1VX1BURV9JVzsKKworCVdBUk5fT04oKnB0ZSk7CisKKwkqcHRlID0gX19wdGU7CisKKwlyZXR1cm4gKGRtYV9hZGRyX3QpYWRkcmVzczsKK30KKworc3RhdGljIHZvaWQgZG1hX29wc19kb21haW5fdW5tYXAoc3RydWN0IGFtZF9pb21tdSAqaW9tbXUsCisJCQkJIHN0cnVjdCBkbWFfb3BzX2RvbWFpbiAqZG9tLAorCQkJCSB1bnNpZ25lZCBsb25nIGFkZHJlc3MpCit7CisJdTY0ICpwdGU7CisKKwlpZiAoYWRkcmVzcyA+PSBkb20tPmFwZXJ0dXJlX3NpemUpCisJCXJldHVybjsKKworCVdBUk5fT04oYWRkcmVzcyAmIDB4ZmZmVUxMIHx8IGFkZHJlc3MgPiBkb20tPmFwZXJ0dXJlX3NpemUpOworCisJcHRlICA9IGRvbS0+cHRlX3BhZ2VzW0lPTU1VX1BURV9MMV9JTkRFWChhZGRyZXNzKV07CisJcHRlICs9IElPTU1VX1BURV9MMF9JTkRFWChhZGRyZXNzKTsKKworCVdBUk5fT04oISpwdGUpOworCisJKnB0ZSA9IDBVTEw7Cit9CisKK3N0YXRpYyBkbWFfYWRkcl90IF9fbWFwX3NpbmdsZShzdHJ1Y3QgZGV2aWNlICpkZXYsCisJCQkgICAgICAgc3RydWN0IGFtZF9pb21tdSAqaW9tbXUsCisJCQkgICAgICAgc3RydWN0IGRtYV9vcHNfZG9tYWluICpkbWFfZG9tLAorCQkJICAgICAgIHBoeXNfYWRkcl90IHBhZGRyLAorCQkJICAgICAgIHNpemVfdCBzaXplLAorCQkJICAgICAgIGludCBkaXIpCit7CisJZG1hX2FkZHJfdCBvZmZzZXQgPSBwYWRkciAmIH5QQUdFX01BU0s7CisJZG1hX2FkZHJfdCBhZGRyZXNzLCBzdGFydDsKKwl1bnNpZ25lZCBpbnQgcGFnZXM7CisJaW50IGk7CisKKwlwYWdlcyA9IHRvX3BhZ2VzKHBhZGRyLCBzaXplKTsKKwlwYWRkciAmPSBQQUdFX01BU0s7CisKKwlhZGRyZXNzID0gZG1hX29wc19hbGxvY19hZGRyZXNzZXMoZGV2LCBkbWFfZG9tLCBwYWdlcyk7CisJaWYgKHVubGlrZWx5KGFkZHJlc3MgPT0gYmFkX2RtYV9hZGRyZXNzKSkKKwkJZ290byBvdXQ7CisKKwlzdGFydCA9IGFkZHJlc3M7CisJZm9yIChpID0gMDsgaSA8IHBhZ2VzOyArK2kpIHsKKwkJZG1hX29wc19kb21haW5fbWFwKGlvbW11LCBkbWFfZG9tLCBzdGFydCwgcGFkZHIsIGRpcik7CisJCXBhZGRyICs9IFBBR0VfU0laRTsKKwkJc3RhcnQgKz0gUEFHRV9TSVpFOworCX0KKwlhZGRyZXNzICs9IG9mZnNldDsKKworb3V0OgorCXJldHVybiBhZGRyZXNzOworfQorCitzdGF0aWMgdm9pZCBfX3VubWFwX3NpbmdsZShzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSwKKwkJCSAgIHN0cnVjdCBkbWFfb3BzX2RvbWFpbiAqZG1hX2RvbSwKKwkJCSAgIGRtYV9hZGRyX3QgZG1hX2FkZHIsCisJCQkgICBzaXplX3Qgc2l6ZSwKKwkJCSAgIGludCBkaXIpCit7CisJZG1hX2FkZHJfdCBpLCBzdGFydDsKKwl1bnNpZ25lZCBpbnQgcGFnZXM7CisKKwlpZiAoKGRtYV9hZGRyID09IDApIHx8IChkbWFfYWRkciArIHNpemUgPiBkbWFfZG9tLT5hcGVydHVyZV9zaXplKSkKKwkJcmV0dXJuOworCisJcGFnZXMgPSB0b19wYWdlcyhkbWFfYWRkciwgc2l6ZSk7CisJZG1hX2FkZHIgJj0gUEFHRV9NQVNLOworCXN0YXJ0ID0gZG1hX2FkZHI7CisKKwlmb3IgKGkgPSAwOyBpIDwgcGFnZXM7ICsraSkgeworCQlkbWFfb3BzX2RvbWFpbl91bm1hcChpb21tdSwgZG1hX2RvbSwgc3RhcnQpOworCQlzdGFydCArPSBQQUdFX1NJWkU7CisJfQorCisJZG1hX29wc19mcmVlX2FkZHJlc3NlcyhkbWFfZG9tLCBkbWFfYWRkciwgcGFnZXMpOworfQorCitzdGF0aWMgZG1hX2FkZHJfdCBtYXBfc2luZ2xlKHN0cnVjdCBkZXZpY2UgKmRldiwgcGh5c19hZGRyX3QgcGFkZHIsCisJCQkgICAgIHNpemVfdCBzaXplLCBpbnQgZGlyKQoreworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJc3RydWN0IGFtZF9pb21tdSAqaW9tbXU7CisJc3RydWN0IHByb3RlY3Rpb25fZG9tYWluICpkb21haW47CisJdTE2IGRldmlkOworCWRtYV9hZGRyX3QgYWRkcjsKKworCWdldF9kZXZpY2VfcmVzb3VyY2VzKGRldiwgJmlvbW11LCAmZG9tYWluLCAmZGV2aWQpOworCisJaWYgKGlvbW11ID09IE5VTEwgfHwgZG9tYWluID09IE5VTEwpCisJCXJldHVybiAoZG1hX2FkZHJfdClwYWRkcjsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZkb21haW4tPmxvY2ssIGZsYWdzKTsKKwlhZGRyID0gX19tYXBfc2luZ2xlKGRldiwgaW9tbXUsIGRvbWFpbi0+cHJpdiwgcGFkZHIsIHNpemUsIGRpcik7CisJaWYgKGFkZHIgPT0gYmFkX2RtYV9hZGRyZXNzKQorCQlnb3RvIG91dDsKKworCWlmIChpb21tdV9oYXNfbnBjYWNoZShpb21tdSkpCisJCWlvbW11X2ZsdXNoX3BhZ2VzKGlvbW11LCBkb21haW4tPmlkLCBhZGRyLCBzaXplKTsKKworCWlmIChpb21tdS0+bmVlZF9zeW5jKQorCQlpb21tdV9jb21wbGV0aW9uX3dhaXQoaW9tbXUpOworCitvdXQ6CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZG9tYWluLT5sb2NrLCBmbGFncyk7CisKKwlyZXR1cm4gYWRkcjsKK30KKworc3RhdGljIHZvaWQgdW5tYXBfc2luZ2xlKHN0cnVjdCBkZXZpY2UgKmRldiwgZG1hX2FkZHJfdCBkbWFfYWRkciwKKwkJCSBzaXplX3Qgc2l6ZSwgaW50IGRpcikKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCXN0cnVjdCBhbWRfaW9tbXUgKmlvbW11OworCXN0cnVjdCBwcm90ZWN0aW9uX2RvbWFpbiAqZG9tYWluOworCXUxNiBkZXZpZDsKKworCWlmICghZ2V0X2RldmljZV9yZXNvdXJjZXMoZGV2LCAmaW9tbXUsICZkb21haW4sICZkZXZpZCkpCisJCXJldHVybjsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZkb21haW4tPmxvY2ssIGZsYWdzKTsKKworCV9fdW5tYXBfc2luZ2xlKGlvbW11LCBkb21haW4tPnByaXYsIGRtYV9hZGRyLCBzaXplLCBkaXIpOworCisJaW9tbXVfZmx1c2hfcGFnZXMoaW9tbXUsIGRvbWFpbi0+aWQsIGRtYV9hZGRyLCBzaXplKTsKKworCWlmIChpb21tdS0+bmVlZF9zeW5jKQorCQlpb21tdV9jb21wbGV0aW9uX3dhaXQoaW9tbXUpOworCisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZG9tYWluLT5sb2NrLCBmbGFncyk7Cit9CisKK3N0YXRpYyBpbnQgbWFwX3NnX25vX2lvbW11KHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IHNjYXR0ZXJsaXN0ICpzZ2xpc3QsCisJCQkgICBpbnQgbmVsZW1zLCBpbnQgZGlyKQoreworCXN0cnVjdCBzY2F0dGVybGlzdCAqczsKKwlpbnQgaTsKKworCWZvcl9lYWNoX3NnKHNnbGlzdCwgcywgbmVsZW1zLCBpKSB7CisJCXMtPmRtYV9hZGRyZXNzID0gKGRtYV9hZGRyX3Qpc2dfcGh5cyhzKTsKKwkJcy0+ZG1hX2xlbmd0aCAgPSBzLT5sZW5ndGg7CisJfQorCisJcmV0dXJuIG5lbGVtczsKK30KKworc3RhdGljIGludCBtYXBfc2coc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnNnbGlzdCwKKwkJICBpbnQgbmVsZW1zLCBpbnQgZGlyKQoreworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJc3RydWN0IGFtZF9pb21tdSAqaW9tbXU7CisJc3RydWN0IHByb3RlY3Rpb25fZG9tYWluICpkb21haW47CisJdTE2IGRldmlkOworCWludCBpOworCXN0cnVjdCBzY2F0dGVybGlzdCAqczsKKwlwaHlzX2FkZHJfdCBwYWRkcjsKKwlpbnQgbWFwcGVkX2VsZW1zID0gMDsKKworCWdldF9kZXZpY2VfcmVzb3VyY2VzKGRldiwgJmlvbW11LCAmZG9tYWluLCAmZGV2aWQpOworCisJaWYgKCFpb21tdSB8fCAhZG9tYWluKQorCQlyZXR1cm4gbWFwX3NnX25vX2lvbW11KGRldiwgc2dsaXN0LCBuZWxlbXMsIGRpcik7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmZG9tYWluLT5sb2NrLCBmbGFncyk7CisKKwlmb3JfZWFjaF9zZyhzZ2xpc3QsIHMsIG5lbGVtcywgaSkgeworCQlwYWRkciA9IHNnX3BoeXMocyk7CisKKwkJcy0+ZG1hX2FkZHJlc3MgPSBfX21hcF9zaW5nbGUoZGV2LCBpb21tdSwgZG9tYWluLT5wcml2LAorCQkJCQkgICAgICBwYWRkciwgcy0+bGVuZ3RoLCBkaXIpOworCisJCWlmIChzLT5kbWFfYWRkcmVzcykgeworCQkJcy0+ZG1hX2xlbmd0aCA9IHMtPmxlbmd0aDsKKwkJCW1hcHBlZF9lbGVtcysrOworCQl9IGVsc2UKKwkJCWdvdG8gdW5tYXA7CisJCWlmIChpb21tdV9oYXNfbnBjYWNoZShpb21tdSkpCisJCQlpb21tdV9mbHVzaF9wYWdlcyhpb21tdSwgZG9tYWluLT5pZCwgcy0+ZG1hX2FkZHJlc3MsCisJCQkJCSAgcy0+ZG1hX2xlbmd0aCk7CisJfQorCisJaWYgKGlvbW11LT5uZWVkX3N5bmMpCisJCWlvbW11X2NvbXBsZXRpb25fd2FpdChpb21tdSk7CisKK291dDoKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZkb21haW4tPmxvY2ssIGZsYWdzKTsKKworCXJldHVybiBtYXBwZWRfZWxlbXM7Cit1bm1hcDoKKwlmb3JfZWFjaF9zZyhzZ2xpc3QsIHMsIG1hcHBlZF9lbGVtcywgaSkgeworCQlpZiAocy0+ZG1hX2FkZHJlc3MpCisJCQlfX3VubWFwX3NpbmdsZShpb21tdSwgZG9tYWluLT5wcml2LCBzLT5kbWFfYWRkcmVzcywKKwkJCQkgICAgICAgcy0+ZG1hX2xlbmd0aCwgZGlyKTsKKwkJcy0+ZG1hX2FkZHJlc3MgPSBzLT5kbWFfbGVuZ3RoID0gMDsKKwl9CisKKwltYXBwZWRfZWxlbXMgPSAwOworCisJZ290byBvdXQ7Cit9CisKK3N0YXRpYyB2b2lkIHVubWFwX3NnKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IHNjYXR0ZXJsaXN0ICpzZ2xpc3QsCisJCSAgICAgaW50IG5lbGVtcywgaW50IGRpcikKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCXN0cnVjdCBhbWRfaW9tbXUgKmlvbW11OworCXN0cnVjdCBwcm90ZWN0aW9uX2RvbWFpbiAqZG9tYWluOworCXN0cnVjdCBzY2F0dGVybGlzdCAqczsKKwl1MTYgZGV2aWQ7CisJaW50IGk7CisKKwlpZiAoIWdldF9kZXZpY2VfcmVzb3VyY2VzKGRldiwgJmlvbW11LCAmZG9tYWluLCAmZGV2aWQpKQorCQlyZXR1cm47CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmZG9tYWluLT5sb2NrLCBmbGFncyk7CisKKwlmb3JfZWFjaF9zZyhzZ2xpc3QsIHMsIG5lbGVtcywgaSkgeworCQlfX3VubWFwX3NpbmdsZShpb21tdSwgZG9tYWluLT5wcml2LCBzLT5kbWFfYWRkcmVzcywKKwkJCSAgICAgICBzLT5kbWFfbGVuZ3RoLCBkaXIpOworCQlpb21tdV9mbHVzaF9wYWdlcyhpb21tdSwgZG9tYWluLT5pZCwgcy0+ZG1hX2FkZHJlc3MsCisJCQkJICBzLT5kbWFfbGVuZ3RoKTsKKwkJcy0+ZG1hX2FkZHJlc3MgPSBzLT5kbWFfbGVuZ3RoID0gMDsKKwl9CisKKwlpZiAoaW9tbXUtPm5lZWRfc3luYykKKwkJaW9tbXVfY29tcGxldGlvbl93YWl0KGlvbW11KTsKKworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmRvbWFpbi0+bG9jaywgZmxhZ3MpOworfQorCitzdGF0aWMgdm9pZCAqYWxsb2NfY29oZXJlbnQoc3RydWN0IGRldmljZSAqZGV2LCBzaXplX3Qgc2l6ZSwKKwkJCSAgICBkbWFfYWRkcl90ICpkbWFfYWRkciwgZ2ZwX3QgZmxhZykKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCXZvaWQgKnZpcnRfYWRkcjsKKwlzdHJ1Y3QgYW1kX2lvbW11ICppb21tdTsKKwlzdHJ1Y3QgcHJvdGVjdGlvbl9kb21haW4gKmRvbWFpbjsKKwl1MTYgZGV2aWQ7CisJcGh5c19hZGRyX3QgcGFkZHI7CisKKwl2aXJ0X2FkZHIgPSAodm9pZCAqKV9fZ2V0X2ZyZWVfcGFnZXMoZmxhZywgZ2V0X29yZGVyKHNpemUpKTsKKwlpZiAoIXZpcnRfYWRkcikKKwkJcmV0dXJuIDA7CisKKwltZW1zZXQodmlydF9hZGRyLCAwLCBzaXplKTsKKwlwYWRkciA9IHZpcnRfdG9fcGh5cyh2aXJ0X2FkZHIpOworCisJZ2V0X2RldmljZV9yZXNvdXJjZXMoZGV2LCAmaW9tbXUsICZkb21haW4sICZkZXZpZCk7CisKKwlpZiAoIWlvbW11IHx8ICFkb21haW4pIHsKKwkJKmRtYV9hZGRyID0gKGRtYV9hZGRyX3QpcGFkZHI7CisJCXJldHVybiB2aXJ0X2FkZHI7CisJfQorCisJc3Bpbl9sb2NrX2lycXNhdmUoJmRvbWFpbi0+bG9jaywgZmxhZ3MpOworCisJKmRtYV9hZGRyID0gX19tYXBfc2luZ2xlKGRldiwgaW9tbXUsIGRvbWFpbi0+cHJpdiwgcGFkZHIsCisJCQkJIHNpemUsIERNQV9CSURJUkVDVElPTkFMKTsKKworCWlmICgqZG1hX2FkZHIgPT0gYmFkX2RtYV9hZGRyZXNzKSB7CisJCWZyZWVfcGFnZXMoKHVuc2lnbmVkIGxvbmcpdmlydF9hZGRyLCBnZXRfb3JkZXIoc2l6ZSkpOworCQl2aXJ0X2FkZHIgPSBOVUxMOworCQlnb3RvIG91dDsKKwl9CisKKwlpZiAoaW9tbXVfaGFzX25wY2FjaGUoaW9tbXUpKQorCQlpb21tdV9mbHVzaF9wYWdlcyhpb21tdSwgZG9tYWluLT5pZCwgKmRtYV9hZGRyLCBzaXplKTsKKworCWlmIChpb21tdS0+bmVlZF9zeW5jKQorCQlpb21tdV9jb21wbGV0aW9uX3dhaXQoaW9tbXUpOworCitvdXQ6CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZG9tYWluLT5sb2NrLCBmbGFncyk7CisKKwlyZXR1cm4gdmlydF9hZGRyOworfQorCitzdGF0aWMgdm9pZCBmcmVlX2NvaGVyZW50KHN0cnVjdCBkZXZpY2UgKmRldiwgc2l6ZV90IHNpemUsCisJCQkgIHZvaWQgKnZpcnRfYWRkciwgZG1hX2FkZHJfdCBkbWFfYWRkcikKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCXN0cnVjdCBhbWRfaW9tbXUgKmlvbW11OworCXN0cnVjdCBwcm90ZWN0aW9uX2RvbWFpbiAqZG9tYWluOworCXUxNiBkZXZpZDsKKworCWdldF9kZXZpY2VfcmVzb3VyY2VzKGRldiwgJmlvbW11LCAmZG9tYWluLCAmZGV2aWQpOworCisJaWYgKCFpb21tdSB8fCAhZG9tYWluKQorCQlnb3RvIGZyZWVfbWVtOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJmRvbWFpbi0+bG9jaywgZmxhZ3MpOworCisJX191bm1hcF9zaW5nbGUoaW9tbXUsIGRvbWFpbi0+cHJpdiwgZG1hX2FkZHIsIHNpemUsIERNQV9CSURJUkVDVElPTkFMKTsKKwlpb21tdV9mbHVzaF9wYWdlcyhpb21tdSwgZG9tYWluLT5pZCwgZG1hX2FkZHIsIHNpemUpOworCisJaWYgKGlvbW11LT5uZWVkX3N5bmMpCisJCWlvbW11X2NvbXBsZXRpb25fd2FpdChpb21tdSk7CisKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZkb21haW4tPmxvY2ssIGZsYWdzKTsKKworZnJlZV9tZW06CisJZnJlZV9wYWdlcygodW5zaWduZWQgbG9uZyl2aXJ0X2FkZHIsIGdldF9vcmRlcihzaXplKSk7Cit9CisKKy8qCisgKiBJZiB0aGUgZHJpdmVyIGNvcmUgaW5mb3JtcyB0aGUgRE1BIGxheWVyIGlmIGEgZHJpdmVyIGdyYWJzIGEgZGV2aWNlCisgKiB3ZSBkb24ndCBuZWVkIHRvIHByZWFsbG9jYXRlIHRoZSBwcm90ZWN0aW9uIGRvbWFpbnMgYW55bW9yZS4KKyAqIEZvciBub3cgd2UgaGF2ZSB0by4KKyAqLwordm9pZCBwcmVhbGxvY19wcm90ZWN0aW9uX2RvbWFpbnModm9pZCkKK3sKKwlzdHJ1Y3QgcGNpX2RldiAqZGV2ID0gTlVMTDsKKwlzdHJ1Y3QgZG1hX29wc19kb21haW4gKmRtYV9kb207CisJc3RydWN0IGFtZF9pb21tdSAqaW9tbXU7CisJaW50IG9yZGVyID0gYW1kX2lvbW11X2FwZXJ0dXJlX29yZGVyOworCXUxNiBkZXZpZDsKKworCXdoaWxlICgoZGV2ID0gcGNpX2dldF9kZXZpY2UoUENJX0FOWV9JRCwgUENJX0FOWV9JRCwgZGV2KSkgIT0gTlVMTCkgeworCQlkZXZpZCA9IChkZXYtPmJ1cy0+bnVtYmVyIDw8IDgpIHwgZGV2LT5kZXZmbjsKKwkJaWYgKGRldmlkID49IGFtZF9pb21tdV9sYXN0X2JkZikKKwkJCWNvbnRpbnVlOworCQlkZXZpZCA9IGFtZF9pb21tdV9hbGlhc190YWJsZVtkZXZpZF07CisJCWlmIChkb21haW5fZm9yX2RldmljZShkZXZpZCkpCisJCQljb250aW51ZTsKKwkJaW9tbXUgPSBhbWRfaW9tbXVfcmxvb2t1cF90YWJsZVtkZXZpZF07CisJCWlmICghaW9tbXUpCisJCQljb250aW51ZTsKKwkJZG1hX2RvbSA9IGRtYV9vcHNfZG9tYWluX2FsbG9jKGlvbW11LCBvcmRlcik7CisJCWlmICghZG1hX2RvbSkKKwkJCWNvbnRpbnVlOworCQlpbml0X3VuaXR5X21hcHBpbmdzX2Zvcl9kZXZpY2UoZG1hX2RvbSwgZGV2aWQpOworCQlzZXRfZGV2aWNlX2RvbWFpbihpb21tdSwgJmRtYV9kb20tPmRvbWFpbiwgZGV2aWQpOworCQlwcmludGsoS0VSTl9JTkZPICJBTUQgSU9NTVU6IEFsbG9jYXRlZCBkb21haW4gJWQgZm9yIGRldmljZSAiLAorCQkgICAgICAgZG1hX2RvbS0+ZG9tYWluLmlkKTsKKwkJcHJpbnRfZGV2aWQoZGV2aWQsIDEpOworCX0KK30KKworc3RhdGljIHN0cnVjdCBkbWFfbWFwcGluZ19vcHMgYW1kX2lvbW11X2RtYV9vcHMgPSB7CisJLmFsbG9jX2NvaGVyZW50ID0gYWxsb2NfY29oZXJlbnQsCisJLmZyZWVfY29oZXJlbnQgPSBmcmVlX2NvaGVyZW50LAorCS5tYXBfc2luZ2xlID0gbWFwX3NpbmdsZSwKKwkudW5tYXBfc2luZ2xlID0gdW5tYXBfc2luZ2xlLAorCS5tYXBfc2cgPSBtYXBfc2csCisJLnVubWFwX3NnID0gdW5tYXBfc2csCit9OworCitpbnQgX19pbml0IGFtZF9pb21tdV9pbml0X2RtYV9vcHModm9pZCkKK3sKKwlzdHJ1Y3QgYW1kX2lvbW11ICppb21tdTsKKwlpbnQgb3JkZXIgPSBhbWRfaW9tbXVfYXBlcnR1cmVfb3JkZXI7CisJaW50IHJldDsKKworCWxpc3RfZm9yX2VhY2hfZW50cnkoaW9tbXUsICZhbWRfaW9tbXVfbGlzdCwgbGlzdCkgeworCQlpb21tdS0+ZGVmYXVsdF9kb20gPSBkbWFfb3BzX2RvbWFpbl9hbGxvYyhpb21tdSwgb3JkZXIpOworCQlpZiAoaW9tbXUtPmRlZmF1bHRfZG9tID09IE5VTEwpCisJCQlyZXR1cm4gLUVOT01FTTsKKwkJcmV0ID0gaW9tbXVfaW5pdF91bml0eV9tYXBwaW5ncyhpb21tdSk7CisJCWlmIChyZXQpCisJCQlnb3RvIGZyZWVfZG9tYWluczsKKwl9CisKKwlpZiAoYW1kX2lvbW11X2lzb2xhdGUpCisJCXByZWFsbG9jX3Byb3RlY3Rpb25fZG9tYWlucygpOworCisJaW9tbXVfZGV0ZWN0ZWQgPSAxOworCWZvcmNlX2lvbW11ID0gMTsKKwliYWRfZG1hX2FkZHJlc3MgPSAwOworI2lmZGVmIENPTkZJR19HQVJUX0lPTU1VCisJZ2FydF9pb21tdV9hcGVydHVyZV9kaXNhYmxlZCA9IDE7CisJZ2FydF9pb21tdV9hcGVydHVyZSA9IDA7CisjZW5kaWYKKworCWRtYV9vcHMgPSAmYW1kX2lvbW11X2RtYV9vcHM7CisKKwlyZXR1cm4gMDsKKworZnJlZV9kb21haW5zOgorCisJbGlzdF9mb3JfZWFjaF9lbnRyeShpb21tdSwgJmFtZF9pb21tdV9saXN0LCBsaXN0KSB7CisJCWlmIChpb21tdS0+ZGVmYXVsdF9kb20pCisJCQlkbWFfb3BzX2RvbWFpbl9mcmVlKGlvbW11LT5kZWZhdWx0X2RvbSk7CisJfQorCisJcmV0dXJuIHJldDsKK30KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9hbWRfaW9tbXVfaW5pdC5jIGIvYXJjaC94ODYva2VybmVsL2FtZF9pb21tdV9pbml0LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmExM2U0MwotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gveDg2L2tlcm5lbC9hbWRfaW9tbXVfaW5pdC5jCkBAIC0wLDAgKzEsODc1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMDggQWR2YW5jZWQgTWljcm8gRGV2aWNlcywgSW5jLgorICogQXV0aG9yOiBKb2VyZyBSb2VkZWwgPGpvZXJnLnJvZWRlbEBhbWQuY29tPgorICogICAgICAgICBMZW8gRHVyYW4gPGxlby5kdXJhbkBhbWQuY29tPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0CisgKiB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcyBwdWJsaXNoZWQKKyAqIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3IFVTQQorICovCisKKyNpbmNsdWRlIDxsaW51eC9wY2kuaD4KKyNpbmNsdWRlIDxsaW51eC9hY3BpLmg+CisjaW5jbHVkZSA8bGludXgvZ2ZwLmg+CisjaW5jbHVkZSA8bGludXgvbGlzdC5oPgorI2luY2x1ZGUgPGxpbnV4L3N5c2Rldi5oPgorI2luY2x1ZGUgPGFzbS9wY2ktZGlyZWN0Lmg+CisjaW5jbHVkZSA8YXNtL2FtZF9pb21tdV90eXBlcy5oPgorI2luY2x1ZGUgPGFzbS9hbWRfaW9tbXUuaD4KKyNpbmNsdWRlIDxhc20vZ2FydC5oPgorCisvKgorICogZGVmaW5pdGlvbnMgZm9yIHRoZSBBQ1BJIHNjYW5uaW5nIGNvZGUKKyAqLworI2RlZmluZSBVUERBVEVfTEFTVF9CREYoeCkgZG8ge1wKKwlpZiAoKHgpID4gYW1kX2lvbW11X2xhc3RfYmRmKSBcCisJCWFtZF9pb21tdV9sYXN0X2JkZiA9ICh4KTsgXAorCX0gd2hpbGUgKDApOworCisjZGVmaW5lIERFVklEKGJ1cywgZGV2Zm4pICgoKGJ1cykgPDwgOCkgfCAoZGV2Zm4pKQorI2RlZmluZSBQQ0lfQlVTKHgpICgoKHgpID4+IDgpICYgMHhmZikKKyNkZWZpbmUgSVZSU19IRUFERVJfTEVOR1RIIDQ4CisjZGVmaW5lIFRCTF9TSVpFKHgpICgxIDw8IChQQUdFX1NISUZUICsgZ2V0X29yZGVyKGFtZF9pb21tdV9sYXN0X2JkZiAqICh4KSkpKQorCisjZGVmaW5lIEFDUElfSVZIRF9UWVBFICAgICAgICAgICAgICAgICAgMHgxMAorI2RlZmluZSBBQ1BJX0lWTURfVFlQRV9BTEwgICAgICAgICAgICAgIDB4MjAKKyNkZWZpbmUgQUNQSV9JVk1EX1RZUEUgICAgICAgICAgICAgICAgICAweDIxCisjZGVmaW5lIEFDUElfSVZNRF9UWVBFX1JBTkdFICAgICAgICAgICAgMHgyMgorCisjZGVmaW5lIElWSERfREVWX0FMTCAgICAgICAgICAgICAgICAgICAgMHgwMQorI2RlZmluZSBJVkhEX0RFVl9TRUxFQ1QgICAgICAgICAgICAgICAgIDB4MDIKKyNkZWZpbmUgSVZIRF9ERVZfU0VMRUNUX1JBTkdFX1NUQVJUICAgICAweDAzCisjZGVmaW5lIElWSERfREVWX1JBTkdFX0VORCAgICAgICAgICAgICAgMHgwNAorI2RlZmluZSBJVkhEX0RFVl9BTElBUyAgICAgICAgICAgICAgICAgIDB4NDIKKyNkZWZpbmUgSVZIRF9ERVZfQUxJQVNfUkFOR0UgICAgICAgICAgICAweDQzCisjZGVmaW5lIElWSERfREVWX0VYVF9TRUxFQ1QgICAgICAgICAgICAgMHg0NgorI2RlZmluZSBJVkhEX0RFVl9FWFRfU0VMRUNUX1JBTkdFICAgICAgIDB4NDcKKworI2RlZmluZSBJVkhEX0ZMQUdfSFRfVFVOX0VOICAgICAgICAgICAgIDB4MDAKKyNkZWZpbmUgSVZIRF9GTEFHX1BBU1NQV19FTiAgICAgICAgICAgICAweDAxCisjZGVmaW5lIElWSERfRkxBR19SRVNQQVNTUFdfRU4gICAgICAgICAgMHgwMgorI2RlZmluZSBJVkhEX0ZMQUdfSVNPQ19FTiAgICAgICAgICAgICAgIDB4MDMKKworI2RlZmluZSBJVk1EX0ZMQUdfRVhDTF9SQU5HRSAgICAgICAgICAgIDB4MDgKKyNkZWZpbmUgSVZNRF9GTEFHX1VOSVRZX01BUCAgICAgICAgICAgICAweDAxCisKKyNkZWZpbmUgQUNQSV9ERVZGTEFHX0lOSVRQQVNTICAgICAgICAgICAweDAxCisjZGVmaW5lIEFDUElfREVWRkxBR19FWFRJTlQgICAgICAgICAgICAgMHgwMgorI2RlZmluZSBBQ1BJX0RFVkZMQUdfTk1JICAgICAgICAgICAgICAgIDB4MDQKKyNkZWZpbmUgQUNQSV9ERVZGTEFHX1NZU01HVDEgICAgICAgICAgICAweDEwCisjZGVmaW5lIEFDUElfREVWRkxBR19TWVNNR1QyICAgICAgICAgICAgMHgyMAorI2RlZmluZSBBQ1BJX0RFVkZMQUdfTElOVDAgICAgICAgICAgICAgIDB4NDAKKyNkZWZpbmUgQUNQSV9ERVZGTEFHX0xJTlQxICAgICAgICAgICAgICAweDgwCisjZGVmaW5lIEFDUElfREVWRkxBR19BVFNESVMgICAgICAgICAgICAgMHgxMDAwMDAwMAorCitzdHJ1Y3QgaXZoZF9oZWFkZXIgeworCXU4IHR5cGU7CisJdTggZmxhZ3M7CisJdTE2IGxlbmd0aDsKKwl1MTYgZGV2aWQ7CisJdTE2IGNhcF9wdHI7CisJdTY0IG1taW9fcGh5czsKKwl1MTYgcGNpX3NlZzsKKwl1MTYgaW5mbzsKKwl1MzIgcmVzZXJ2ZWQ7Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworCitzdHJ1Y3QgaXZoZF9lbnRyeSB7CisJdTggdHlwZTsKKwl1MTYgZGV2aWQ7CisJdTggZmxhZ3M7CisJdTMyIGV4dDsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKK3N0cnVjdCBpdm1kX2hlYWRlciB7CisJdTggdHlwZTsKKwl1OCBmbGFnczsKKwl1MTYgbGVuZ3RoOworCXUxNiBkZXZpZDsKKwl1MTYgYXV4OworCXU2NCByZXN2OworCXU2NCByYW5nZV9zdGFydDsKKwl1NjQgcmFuZ2VfbGVuZ3RoOworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKKworc3RhdGljIGludCBfX2luaXRkYXRhIGFtZF9pb21tdV9kZXRlY3RlZDsKKwordTE2IGFtZF9pb21tdV9sYXN0X2JkZjsKK3N0cnVjdCBsaXN0X2hlYWQgYW1kX2lvbW11X3VuaXR5X21hcDsKK3Vuc2lnbmVkIGFtZF9pb21tdV9hcGVydHVyZV9vcmRlciA9IDI2OworaW50IGFtZF9pb21tdV9pc29sYXRlOworCitzdHJ1Y3QgbGlzdF9oZWFkIGFtZF9pb21tdV9saXN0Oworc3RydWN0IGRldl90YWJsZV9lbnRyeSAqYW1kX2lvbW11X2Rldl90YWJsZTsKK3UxNiAqYW1kX2lvbW11X2FsaWFzX3RhYmxlOworc3RydWN0IGFtZF9pb21tdSAqKmFtZF9pb21tdV9ybG9va3VwX3RhYmxlOworc3RydWN0IHByb3RlY3Rpb25fZG9tYWluICoqYW1kX2lvbW11X3BkX3RhYmxlOwordW5zaWduZWQgbG9uZyAqYW1kX2lvbW11X3BkX2FsbG9jX2JpdG1hcDsKKworc3RhdGljIHUzMiBkZXZfdGFibGVfc2l6ZTsKK3N0YXRpYyB1MzIgYWxpYXNfdGFibGVfc2l6ZTsKK3N0YXRpYyB1MzIgcmxvb2t1cF90YWJsZV9zaXplOworCitzdGF0aWMgdm9pZCBfX2luaXQgaW9tbXVfc2V0X2V4Y2x1c2lvbl9yYW5nZShzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSkKK3sKKwl1NjQgc3RhcnQgPSBpb21tdS0+ZXhjbHVzaW9uX3N0YXJ0ICYgUEFHRV9NQVNLOworCXU2NCBsaW1pdCA9IChzdGFydCArIGlvbW11LT5leGNsdXNpb25fbGVuZ3RoKSAmIFBBR0VfTUFTSzsKKwl1NjQgZW50cnk7CisKKwlpZiAoIWlvbW11LT5leGNsdXNpb25fc3RhcnQpCisJCXJldHVybjsKKworCWVudHJ5ID0gc3RhcnQgfCBNTUlPX0VYQ0xfRU5BQkxFX01BU0s7CisJbWVtY3B5X3RvaW8oaW9tbXUtPm1taW9fYmFzZSArIE1NSU9fRVhDTF9CQVNFX09GRlNFVCwKKwkJCSZlbnRyeSwgc2l6ZW9mKGVudHJ5KSk7CisKKwllbnRyeSA9IGxpbWl0OworCW1lbWNweV90b2lvKGlvbW11LT5tbWlvX2Jhc2UgKyBNTUlPX0VYQ0xfTElNSVRfT0ZGU0VULAorCQkJJmVudHJ5LCBzaXplb2YoZW50cnkpKTsKK30KKworc3RhdGljIHZvaWQgX19pbml0IGlvbW11X3NldF9kZXZpY2VfdGFibGUoc3RydWN0IGFtZF9pb21tdSAqaW9tbXUpCit7CisJdTMyIGVudHJ5OworCisJQlVHX09OKGlvbW11LT5tbWlvX2Jhc2UgPT0gTlVMTCk7CisKKwllbnRyeSA9IHZpcnRfdG9fcGh5cyhhbWRfaW9tbXVfZGV2X3RhYmxlKTsKKwllbnRyeSB8PSAoZGV2X3RhYmxlX3NpemUgPj4gMTIpIC0gMTsKKwltZW1jcHlfdG9pbyhpb21tdS0+bW1pb19iYXNlICsgTU1JT19ERVZfVEFCTEVfT0ZGU0VULAorCQkJJmVudHJ5LCBzaXplb2YoZW50cnkpKTsKK30KKworc3RhdGljIHZvaWQgX19pbml0IGlvbW11X2ZlYXR1cmVfZW5hYmxlKHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11LCB1OCBiaXQpCit7CisJdTMyIGN0cmw7CisKKwljdHJsID0gcmVhZGwoaW9tbXUtPm1taW9fYmFzZSArIE1NSU9fQ09OVFJPTF9PRkZTRVQpOworCWN0cmwgfD0gKDEgPDwgYml0KTsKKwl3cml0ZWwoY3RybCwgaW9tbXUtPm1taW9fYmFzZSArIE1NSU9fQ09OVFJPTF9PRkZTRVQpOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgaW9tbXVfZmVhdHVyZV9kaXNhYmxlKHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11LCB1OCBiaXQpCit7CisJdTMyIGN0cmw7CisKKwljdHJsID0gKHU2NClyZWFkbChpb21tdS0+bW1pb19iYXNlICsgTU1JT19DT05UUk9MX09GRlNFVCk7CisJY3RybCAmPSB+KDEgPDwgYml0KTsKKwl3cml0ZWwoY3RybCwgaW9tbXUtPm1taW9fYmFzZSArIE1NSU9fQ09OVFJPTF9PRkZTRVQpOworfQorCit2b2lkIF9faW5pdCBpb21tdV9lbmFibGUoc3RydWN0IGFtZF9pb21tdSAqaW9tbXUpCit7CisJcHJpbnRrKEtFUk5fSU5GTyAiQU1EIElPTU1VOiBFbmFibGluZyBJT01NVSBhdCAiKTsKKwlwcmludF9kZXZpZChpb21tdS0+ZGV2aWQsIDApOworCXByaW50aygiIGNhcCAweCVoeFxuIiwgaW9tbXUtPmNhcF9wdHIpOworCisJaW9tbXVfZmVhdHVyZV9lbmFibGUoaW9tbXUsIENPTlRST0xfSU9NTVVfRU4pOworfQorCitzdGF0aWMgdTggKiBfX2luaXQgaW9tbXVfbWFwX21taW9fc3BhY2UodTY0IGFkZHJlc3MpCit7CisJdTggKnJldDsKKworCWlmICghcmVxdWVzdF9tZW1fcmVnaW9uKGFkZHJlc3MsIE1NSU9fUkVHSU9OX0xFTkdUSCwgImFtZF9pb21tdSIpKQorCQlyZXR1cm4gTlVMTDsKKworCXJldCA9IGlvcmVtYXBfbm9jYWNoZShhZGRyZXNzLCBNTUlPX1JFR0lPTl9MRU5HVEgpOworCWlmIChyZXQgIT0gTlVMTCkKKwkJcmV0dXJuIHJldDsKKworCXJlbGVhc2VfbWVtX3JlZ2lvbihhZGRyZXNzLCBNTUlPX1JFR0lPTl9MRU5HVEgpOworCisJcmV0dXJuIE5VTEw7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBpb21tdV91bm1hcF9tbWlvX3NwYWNlKHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11KQoreworCWlmIChpb21tdS0+bW1pb19iYXNlKQorCQlpb3VubWFwKGlvbW11LT5tbWlvX2Jhc2UpOworCXJlbGVhc2VfbWVtX3JlZ2lvbihpb21tdS0+bW1pb19waHlzLCBNTUlPX1JFR0lPTl9MRU5HVEgpOworfQorCitzdGF0aWMgaW50IF9faW5pdCBmaW5kX2xhc3RfZGV2aWRfb25fcGNpKGludCBidXMsIGludCBkZXYsIGludCBmbiwgaW50IGNhcF9wdHIpCit7CisJdTMyIGNhcDsKKworCWNhcCA9IHJlYWRfcGNpX2NvbmZpZyhidXMsIGRldiwgZm4sIGNhcF9wdHIrTU1JT19SQU5HRV9PRkZTRVQpOworCVVQREFURV9MQVNUX0JERihERVZJRChNTUlPX0dFVF9CVVMoY2FwKSwgTU1JT19HRVRfTEQoY2FwKSkpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IGZpbmRfbGFzdF9kZXZpZF9mcm9tX2l2aGQoc3RydWN0IGl2aGRfaGVhZGVyICpoKQoreworCXU4ICpwID0gKHZvaWQgKiloLCAqZW5kID0gKHZvaWQgKiloOworCXN0cnVjdCBpdmhkX2VudHJ5ICpkZXY7CisKKwlwICs9IHNpemVvZigqaCk7CisJZW5kICs9IGgtPmxlbmd0aDsKKworCWZpbmRfbGFzdF9kZXZpZF9vbl9wY2koUENJX0JVUyhoLT5kZXZpZCksCisJCQlQQ0lfU0xPVChoLT5kZXZpZCksCisJCQlQQ0lfRlVOQyhoLT5kZXZpZCksCisJCQloLT5jYXBfcHRyKTsKKworCXdoaWxlIChwIDwgZW5kKSB7CisJCWRldiA9IChzdHJ1Y3QgaXZoZF9lbnRyeSAqKXA7CisJCXN3aXRjaCAoZGV2LT50eXBlKSB7CisJCWNhc2UgSVZIRF9ERVZfU0VMRUNUOgorCQljYXNlIElWSERfREVWX1JBTkdFX0VORDoKKwkJY2FzZSBJVkhEX0RFVl9BTElBUzoKKwkJY2FzZSBJVkhEX0RFVl9FWFRfU0VMRUNUOgorCQkJVVBEQVRFX0xBU1RfQkRGKGRldi0+ZGV2aWQpOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQlicmVhazsKKwkJfQorCQlwICs9IDB4MDQgPDwgKCpwID4+IDYpOworCX0KKworCVdBUk5fT04ocCAhPSBlbmQpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IGZpbmRfbGFzdF9kZXZpZF9hY3BpKHN0cnVjdCBhY3BpX3RhYmxlX2hlYWRlciAqdGFibGUpCit7CisJaW50IGk7CisJdTggY2hlY2tzdW0gPSAwLCAqcCA9ICh1OCAqKXRhYmxlLCAqZW5kID0gKHU4ICopdGFibGU7CisJc3RydWN0IGl2aGRfaGVhZGVyICpoOworCisJLyoKKwkgKiBWYWxpZGF0ZSBjaGVja3N1bSBoZXJlIHNvIHdlIGRvbid0IG5lZWQgdG8gZG8gaXQgd2hlbgorCSAqIHdlIGFjdHVhbGx5IHBhcnNlIHRoZSB0YWJsZQorCSAqLworCWZvciAoaSA9IDA7IGkgPCB0YWJsZS0+bGVuZ3RoOyArK2kpCisJCWNoZWNrc3VtICs9IHBbaV07CisJaWYgKGNoZWNrc3VtICE9IDApCisJCS8qIEFDUEkgdGFibGUgY29ycnVwdCAqLworCQlyZXR1cm4gLUVOT0RFVjsKKworCXAgKz0gSVZSU19IRUFERVJfTEVOR1RIOworCisJZW5kICs9IHRhYmxlLT5sZW5ndGg7CisJd2hpbGUgKHAgPCBlbmQpIHsKKwkJaCA9IChzdHJ1Y3QgaXZoZF9oZWFkZXIgKilwOworCQlzd2l0Y2ggKGgtPnR5cGUpIHsKKwkJY2FzZSBBQ1BJX0lWSERfVFlQRToKKwkJCWZpbmRfbGFzdF9kZXZpZF9mcm9tX2l2aGQoaCk7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCWJyZWFrOworCQl9CisJCXAgKz0gaC0+bGVuZ3RoOworCX0KKwlXQVJOX09OKHAgIT0gZW5kKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgdTggKiBfX2luaXQgYWxsb2NfY29tbWFuZF9idWZmZXIoc3RydWN0IGFtZF9pb21tdSAqaW9tbXUpCit7CisJdTggKmNtZF9idWYgPSAodTggKilfX2dldF9mcmVlX3BhZ2VzKEdGUF9LRVJORUwsCisJCQlnZXRfb3JkZXIoQ01EX0JVRkZFUl9TSVpFKSk7CisJdTY0IGVudHJ5ID0gMDsKKworCWlmIChjbWRfYnVmID09IE5VTEwpCisJCXJldHVybiBOVUxMOworCisJaW9tbXUtPmNtZF9idWZfc2l6ZSA9IENNRF9CVUZGRVJfU0laRTsKKworCW1lbXNldChjbWRfYnVmLCAwLCBDTURfQlVGRkVSX1NJWkUpOworCisJZW50cnkgPSAodTY0KXZpcnRfdG9fcGh5cyhjbWRfYnVmKTsKKwllbnRyeSB8PSBNTUlPX0NNRF9TSVpFXzUxMjsKKwltZW1jcHlfdG9pbyhpb21tdS0+bW1pb19iYXNlICsgTU1JT19DTURfQlVGX09GRlNFVCwKKwkJCSZlbnRyeSwgc2l6ZW9mKGVudHJ5KSk7CisKKwlpb21tdV9mZWF0dXJlX2VuYWJsZShpb21tdSwgQ09OVFJPTF9DTURCVUZfRU4pOworCisJcmV0dXJuIGNtZF9idWY7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBmcmVlX2NvbW1hbmRfYnVmZmVyKHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11KQoreworCWlmIChpb21tdS0+Y21kX2J1ZikKKwkJZnJlZV9wYWdlcygodW5zaWduZWQgbG9uZylpb21tdS0+Y21kX2J1ZiwKKwkJCQlnZXRfb3JkZXIoQ01EX0JVRkZFUl9TSVpFKSk7Cit9CisKK3N0YXRpYyB2b2lkIHNldF9kZXZfZW50cnlfYml0KHUxNiBkZXZpZCwgdTggYml0KQoreworCWludCBpID0gKGJpdCA+PiA1KSAmIDB4MDc7CisJaW50IF9iaXQgPSBiaXQgJiAweDFmOworCisJYW1kX2lvbW11X2Rldl90YWJsZVtkZXZpZF0uZGF0YVtpXSB8PSAoMSA8PCBfYml0KTsKK30KKworc3RhdGljIHZvaWQgX19pbml0IHNldF9kZXZfZW50cnlfZnJvbV9hY3BpKHUxNiBkZXZpZCwgdTMyIGZsYWdzLCB1MzIgZXh0X2ZsYWdzKQoreworCWlmIChmbGFncyAmIEFDUElfREVWRkxBR19JTklUUEFTUykKKwkJc2V0X2Rldl9lbnRyeV9iaXQoZGV2aWQsIERFVl9FTlRSWV9JTklUX1BBU1MpOworCWlmIChmbGFncyAmIEFDUElfREVWRkxBR19FWFRJTlQpCisJCXNldF9kZXZfZW50cnlfYml0KGRldmlkLCBERVZfRU5UUllfRUlOVF9QQVNTKTsKKwlpZiAoZmxhZ3MgJiBBQ1BJX0RFVkZMQUdfTk1JKQorCQlzZXRfZGV2X2VudHJ5X2JpdChkZXZpZCwgREVWX0VOVFJZX05NSV9QQVNTKTsKKwlpZiAoZmxhZ3MgJiBBQ1BJX0RFVkZMQUdfU1lTTUdUMSkKKwkJc2V0X2Rldl9lbnRyeV9iaXQoZGV2aWQsIERFVl9FTlRSWV9TWVNNR1QxKTsKKwlpZiAoZmxhZ3MgJiBBQ1BJX0RFVkZMQUdfU1lTTUdUMikKKwkJc2V0X2Rldl9lbnRyeV9iaXQoZGV2aWQsIERFVl9FTlRSWV9TWVNNR1QyKTsKKwlpZiAoZmxhZ3MgJiBBQ1BJX0RFVkZMQUdfTElOVDApCisJCXNldF9kZXZfZW50cnlfYml0KGRldmlkLCBERVZfRU5UUllfTElOVDBfUEFTUyk7CisJaWYgKGZsYWdzICYgQUNQSV9ERVZGTEFHX0xJTlQxKQorCQlzZXRfZGV2X2VudHJ5X2JpdChkZXZpZCwgREVWX0VOVFJZX0xJTlQxX1BBU1MpOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgc2V0X2lvbW11X2Zvcl9kZXZpY2Uoc3RydWN0IGFtZF9pb21tdSAqaW9tbXUsIHUxNiBkZXZpZCkKK3sKKwlhbWRfaW9tbXVfcmxvb2t1cF90YWJsZVtkZXZpZF0gPSBpb21tdTsKK30KKworc3RhdGljIHZvaWQgX19pbml0IHNldF9kZXZpY2VfZXhjbHVzaW9uX3JhbmdlKHUxNiBkZXZpZCwgc3RydWN0IGl2bWRfaGVhZGVyICptKQoreworCXN0cnVjdCBhbWRfaW9tbXUgKmlvbW11ID0gYW1kX2lvbW11X3Jsb29rdXBfdGFibGVbZGV2aWRdOworCisJaWYgKCEobS0+ZmxhZ3MgJiBJVk1EX0ZMQUdfRVhDTF9SQU5HRSkpCisJCXJldHVybjsKKworCWlmIChpb21tdSkgeworCQlzZXRfZGV2X2VudHJ5X2JpdChtLT5kZXZpZCwgREVWX0VOVFJZX0VYKTsKKwkJaW9tbXUtPmV4Y2x1c2lvbl9zdGFydCA9IG0tPnJhbmdlX3N0YXJ0OworCQlpb21tdS0+ZXhjbHVzaW9uX2xlbmd0aCA9IG0tPnJhbmdlX2xlbmd0aDsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBpbml0X2lvbW11X2Zyb21fcGNpKHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11KQoreworCWludCBidXMgPSBQQ0lfQlVTKGlvbW11LT5kZXZpZCk7CisJaW50IGRldiA9IFBDSV9TTE9UKGlvbW11LT5kZXZpZCk7CisJaW50IGZuICA9IFBDSV9GVU5DKGlvbW11LT5kZXZpZCk7CisJaW50IGNhcF9wdHIgPSBpb21tdS0+Y2FwX3B0cjsKKwl1MzIgcmFuZ2U7CisKKwlpb21tdS0+Y2FwID0gcmVhZF9wY2lfY29uZmlnKGJ1cywgZGV2LCBmbiwgY2FwX3B0citNTUlPX0NBUF9IRFJfT0ZGU0VUKTsKKworCXJhbmdlID0gcmVhZF9wY2lfY29uZmlnKGJ1cywgZGV2LCBmbiwgY2FwX3B0citNTUlPX1JBTkdFX09GRlNFVCk7CisJaW9tbXUtPmZpcnN0X2RldmljZSA9IERFVklEKE1NSU9fR0VUX0JVUyhyYW5nZSksIE1NSU9fR0VUX0ZEKHJhbmdlKSk7CisJaW9tbXUtPmxhc3RfZGV2aWNlID0gREVWSUQoTU1JT19HRVRfQlVTKHJhbmdlKSwgTU1JT19HRVRfTEQocmFuZ2UpKTsKK30KKworc3RhdGljIHZvaWQgX19pbml0IGluaXRfaW9tbXVfZnJvbV9hY3BpKHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11LAorCQkJCQlzdHJ1Y3QgaXZoZF9oZWFkZXIgKmgpCit7CisJdTggKnAgPSAodTggKiloOworCXU4ICplbmQgPSBwLCBmbGFncyA9IDA7CisJdTE2IGRldl9pLCBkZXZpZCA9IDAsIGRldmlkX3N0YXJ0ID0gMCwgZGV2aWRfdG8gPSAwOworCXUzMiBleHRfZmxhZ3MgPSAwOworCWJvb2wgYWxpYXMgPSAwOworCXN0cnVjdCBpdmhkX2VudHJ5ICplOworCisJLyoKKwkgKiBGaXJzdCBzZXQgdGhlIHJlY29tbWVuZGVkIGZlYXR1cmUgZW5hYmxlIGJpdHMgZnJvbSBBQ1BJCisJICogaW50byB0aGUgSU9NTVUgY29udHJvbCByZWdpc3RlcnMKKwkgKi8KKwloLT5mbGFncyAmIElWSERfRkxBR19IVF9UVU5fRU4gPworCQlpb21tdV9mZWF0dXJlX2VuYWJsZShpb21tdSwgQ09OVFJPTF9IVF9UVU5fRU4pIDoKKwkJaW9tbXVfZmVhdHVyZV9kaXNhYmxlKGlvbW11LCBDT05UUk9MX0hUX1RVTl9FTik7CisKKwloLT5mbGFncyAmIElWSERfRkxBR19QQVNTUFdfRU4gPworCQlpb21tdV9mZWF0dXJlX2VuYWJsZShpb21tdSwgQ09OVFJPTF9QQVNTUFdfRU4pIDoKKwkJaW9tbXVfZmVhdHVyZV9kaXNhYmxlKGlvbW11LCBDT05UUk9MX1BBU1NQV19FTik7CisKKwloLT5mbGFncyAmIElWSERfRkxBR19SRVNQQVNTUFdfRU4gPworCQlpb21tdV9mZWF0dXJlX2VuYWJsZShpb21tdSwgQ09OVFJPTF9SRVNQQVNTUFdfRU4pIDoKKwkJaW9tbXVfZmVhdHVyZV9kaXNhYmxlKGlvbW11LCBDT05UUk9MX1JFU1BBU1NQV19FTik7CisKKwloLT5mbGFncyAmIElWSERfRkxBR19JU09DX0VOID8KKwkJaW9tbXVfZmVhdHVyZV9lbmFibGUoaW9tbXUsIENPTlRST0xfSVNPQ19FTikgOgorCQlpb21tdV9mZWF0dXJlX2Rpc2FibGUoaW9tbXUsIENPTlRST0xfSVNPQ19FTik7CisKKwkvKgorCSAqIG1ha2UgSU9NTVUgbWVtb3J5IGFjY2Vzc2VzIGNhY2hlIGNvaGVyZW50CisJICovCisJaW9tbXVfZmVhdHVyZV9lbmFibGUoaW9tbXUsIENPTlRST0xfQ09IRVJFTlRfRU4pOworCisJLyoKKwkgKiBEb25lLiBOb3cgcGFyc2UgdGhlIGRldmljZSBlbnRyaWVzCisJICovCisJcCArPSBzaXplb2Yoc3RydWN0IGl2aGRfaGVhZGVyKTsKKwllbmQgKz0gaC0+bGVuZ3RoOworCisJd2hpbGUgKHAgPCBlbmQpIHsKKwkJZSA9IChzdHJ1Y3QgaXZoZF9lbnRyeSAqKXA7CisJCXN3aXRjaCAoZS0+dHlwZSkgeworCQljYXNlIElWSERfREVWX0FMTDoKKwkJCWZvciAoZGV2X2kgPSBpb21tdS0+Zmlyc3RfZGV2aWNlOworCQkJCQlkZXZfaSA8PSBpb21tdS0+bGFzdF9kZXZpY2U7ICsrZGV2X2kpCisJCQkJc2V0X2Rldl9lbnRyeV9mcm9tX2FjcGkoZGV2X2ksIGUtPmZsYWdzLCAwKTsKKwkJCWJyZWFrOworCQljYXNlIElWSERfREVWX1NFTEVDVDoKKwkJCWRldmlkID0gZS0+ZGV2aWQ7CisJCQlzZXRfZGV2X2VudHJ5X2Zyb21fYWNwaShkZXZpZCwgZS0+ZmxhZ3MsIDApOworCQkJYnJlYWs7CisJCWNhc2UgSVZIRF9ERVZfU0VMRUNUX1JBTkdFX1NUQVJUOgorCQkJZGV2aWRfc3RhcnQgPSBlLT5kZXZpZDsKKwkJCWZsYWdzID0gZS0+ZmxhZ3M7CisJCQlleHRfZmxhZ3MgPSAwOworCQkJYWxpYXMgPSAwOworCQkJYnJlYWs7CisJCWNhc2UgSVZIRF9ERVZfQUxJQVM6CisJCQlkZXZpZCA9IGUtPmRldmlkOworCQkJZGV2aWRfdG8gPSBlLT5leHQgPj4gODsKKwkJCXNldF9kZXZfZW50cnlfZnJvbV9hY3BpKGRldmlkLCBlLT5mbGFncywgMCk7CisJCQlhbWRfaW9tbXVfYWxpYXNfdGFibGVbZGV2aWRdID0gZGV2aWRfdG87CisJCQlicmVhazsKKwkJY2FzZSBJVkhEX0RFVl9BTElBU19SQU5HRToKKwkJCWRldmlkX3N0YXJ0ID0gZS0+ZGV2aWQ7CisJCQlmbGFncyA9IGUtPmZsYWdzOworCQkJZGV2aWRfdG8gPSBlLT5leHQgPj4gODsKKwkJCWV4dF9mbGFncyA9IDA7CisJCQlhbGlhcyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSBJVkhEX0RFVl9FWFRfU0VMRUNUOgorCQkJZGV2aWQgPSBlLT5kZXZpZDsKKwkJCXNldF9kZXZfZW50cnlfZnJvbV9hY3BpKGRldmlkLCBlLT5mbGFncywgZS0+ZXh0KTsKKwkJCWJyZWFrOworCQljYXNlIElWSERfREVWX0VYVF9TRUxFQ1RfUkFOR0U6CisJCQlkZXZpZF9zdGFydCA9IGUtPmRldmlkOworCQkJZmxhZ3MgPSBlLT5mbGFnczsKKwkJCWV4dF9mbGFncyA9IGUtPmV4dDsKKwkJCWFsaWFzID0gMDsKKwkJCWJyZWFrOworCQljYXNlIElWSERfREVWX1JBTkdFX0VORDoKKwkJCWRldmlkID0gZS0+ZGV2aWQ7CisJCQlmb3IgKGRldl9pID0gZGV2aWRfc3RhcnQ7IGRldl9pIDw9IGRldmlkOyArK2Rldl9pKSB7CisJCQkJaWYgKGFsaWFzKQorCQkJCQlhbWRfaW9tbXVfYWxpYXNfdGFibGVbZGV2X2ldID0gZGV2aWRfdG87CisJCQkJc2V0X2Rldl9lbnRyeV9mcm9tX2FjcGkoCisJCQkJCQlhbWRfaW9tbXVfYWxpYXNfdGFibGVbZGV2X2ldLAorCQkJCQkJZmxhZ3MsIGV4dF9mbGFncyk7CisJCQl9CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCWJyZWFrOworCQl9CisKKwkJcCArPSAweDA0IDw8IChlLT50eXBlID4+IDYpOworCX0KK30KKworc3RhdGljIGludCBfX2luaXQgaW5pdF9pb21tdV9kZXZpY2VzKHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11KQoreworCXUxNiBpOworCisJZm9yIChpID0gaW9tbXUtPmZpcnN0X2RldmljZTsgaSA8PSBpb21tdS0+bGFzdF9kZXZpY2U7ICsraSkKKwkJc2V0X2lvbW11X2Zvcl9kZXZpY2UoaW9tbXUsIGkpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBmcmVlX2lvbW11X29uZShzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSkKK3sKKwlmcmVlX2NvbW1hbmRfYnVmZmVyKGlvbW11KTsKKwlpb21tdV91bm1hcF9tbWlvX3NwYWNlKGlvbW11KTsKK30KKworc3RhdGljIHZvaWQgX19pbml0IGZyZWVfaW9tbXVfYWxsKHZvaWQpCit7CisJc3RydWN0IGFtZF9pb21tdSAqaW9tbXUsICpuZXh0OworCisJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKGlvbW11LCBuZXh0LCAmYW1kX2lvbW11X2xpc3QsIGxpc3QpIHsKKwkJbGlzdF9kZWwoJmlvbW11LT5saXN0KTsKKwkJZnJlZV9pb21tdV9vbmUoaW9tbXUpOworCQlrZnJlZShpb21tdSk7CisJfQorfQorCitzdGF0aWMgaW50IF9faW5pdCBpbml0X2lvbW11X29uZShzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSwgc3RydWN0IGl2aGRfaGVhZGVyICpoKQoreworCXNwaW5fbG9ja19pbml0KCZpb21tdS0+bG9jayk7CisJbGlzdF9hZGRfdGFpbCgmaW9tbXUtPmxpc3QsICZhbWRfaW9tbXVfbGlzdCk7CisKKwkvKgorCSAqIENvcHkgZGF0YSBmcm9tIEFDUEkgdGFibGUgZW50cnkgdG8gdGhlIGlvbW11IHN0cnVjdAorCSAqLworCWlvbW11LT5kZXZpZCA9IGgtPmRldmlkOworCWlvbW11LT5jYXBfcHRyID0gaC0+Y2FwX3B0cjsKKwlpb21tdS0+bW1pb19waHlzID0gaC0+bW1pb19waHlzOworCWlvbW11LT5tbWlvX2Jhc2UgPSBpb21tdV9tYXBfbW1pb19zcGFjZShoLT5tbWlvX3BoeXMpOworCWlmICghaW9tbXUtPm1taW9fYmFzZSkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlpb21tdV9zZXRfZGV2aWNlX3RhYmxlKGlvbW11KTsKKwlpb21tdS0+Y21kX2J1ZiA9IGFsbG9jX2NvbW1hbmRfYnVmZmVyKGlvbW11KTsKKwlpZiAoIWlvbW11LT5jbWRfYnVmKQorCQlyZXR1cm4gLUVOT01FTTsKKworCWluaXRfaW9tbXVfZnJvbV9wY2koaW9tbXUpOworCWluaXRfaW9tbXVfZnJvbV9hY3BpKGlvbW11LCBoKTsKKwlpbml0X2lvbW11X2RldmljZXMoaW9tbXUpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IGluaXRfaW9tbXVfYWxsKHN0cnVjdCBhY3BpX3RhYmxlX2hlYWRlciAqdGFibGUpCit7CisJdTggKnAgPSAodTggKil0YWJsZSwgKmVuZCA9ICh1OCAqKXRhYmxlOworCXN0cnVjdCBpdmhkX2hlYWRlciAqaDsKKwlzdHJ1Y3QgYW1kX2lvbW11ICppb21tdTsKKwlpbnQgcmV0OworCisJSU5JVF9MSVNUX0hFQUQoJmFtZF9pb21tdV9saXN0KTsKKworCWVuZCArPSB0YWJsZS0+bGVuZ3RoOworCXAgKz0gSVZSU19IRUFERVJfTEVOR1RIOworCisJd2hpbGUgKHAgPCBlbmQpIHsKKwkJaCA9IChzdHJ1Y3QgaXZoZF9oZWFkZXIgKilwOworCQlzd2l0Y2ggKCpwKSB7CisJCWNhc2UgQUNQSV9JVkhEX1RZUEU6CisJCQlpb21tdSA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBhbWRfaW9tbXUpLCBHRlBfS0VSTkVMKTsKKwkJCWlmIChpb21tdSA9PSBOVUxMKQorCQkJCXJldHVybiAtRU5PTUVNOworCQkJcmV0ID0gaW5pdF9pb21tdV9vbmUoaW9tbXUsIGgpOworCQkJaWYgKHJldCkKKwkJCQlyZXR1cm4gcmV0OworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQlicmVhazsKKwkJfQorCQlwICs9IGgtPmxlbmd0aDsKKworCX0KKwlXQVJOX09OKHAgIT0gZW5kKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgZnJlZV91bml0eV9tYXBzKHZvaWQpCit7CisJc3RydWN0IHVuaXR5X21hcF9lbnRyeSAqZW50cnksICpuZXh0OworCisJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKGVudHJ5LCBuZXh0LCAmYW1kX2lvbW11X3VuaXR5X21hcCwgbGlzdCkgeworCQlsaXN0X2RlbCgmZW50cnktPmxpc3QpOworCQlrZnJlZShlbnRyeSk7CisJfQorfQorCitzdGF0aWMgaW50IF9faW5pdCBpbml0X2V4Y2x1c2lvbl9yYW5nZShzdHJ1Y3QgaXZtZF9oZWFkZXIgKm0pCit7CisJaW50IGk7CisKKwlzd2l0Y2ggKG0tPnR5cGUpIHsKKwljYXNlIEFDUElfSVZNRF9UWVBFOgorCQlzZXRfZGV2aWNlX2V4Y2x1c2lvbl9yYW5nZShtLT5kZXZpZCwgbSk7CisJCWJyZWFrOworCWNhc2UgQUNQSV9JVk1EX1RZUEVfQUxMOgorCQlmb3IgKGkgPSAwOyBpIDwgYW1kX2lvbW11X2xhc3RfYmRmOyArK2kpCisJCQlzZXRfZGV2aWNlX2V4Y2x1c2lvbl9yYW5nZShpLCBtKTsKKwkJYnJlYWs7CisJY2FzZSBBQ1BJX0lWTURfVFlQRV9SQU5HRToKKwkJZm9yIChpID0gbS0+ZGV2aWQ7IGkgPD0gbS0+YXV4OyArK2kpCisJCQlzZXRfZGV2aWNlX2V4Y2x1c2lvbl9yYW5nZShpLCBtKTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJYnJlYWs7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IGluaXRfdW5pdHlfbWFwX3JhbmdlKHN0cnVjdCBpdm1kX2hlYWRlciAqbSkKK3sKKwlzdHJ1Y3QgdW5pdHlfbWFwX2VudHJ5ICplID0gMDsKKworCWUgPSBremFsbG9jKHNpemVvZigqZSksIEdGUF9LRVJORUwpOworCWlmIChlID09IE5VTEwpCisJCXJldHVybiAtRU5PTUVNOworCisJc3dpdGNoIChtLT50eXBlKSB7CisJZGVmYXVsdDoKKwljYXNlIEFDUElfSVZNRF9UWVBFOgorCQllLT5kZXZpZF9zdGFydCA9IGUtPmRldmlkX2VuZCA9IG0tPmRldmlkOworCQlicmVhazsKKwljYXNlIEFDUElfSVZNRF9UWVBFX0FMTDoKKwkJZS0+ZGV2aWRfc3RhcnQgPSAwOworCQllLT5kZXZpZF9lbmQgPSBhbWRfaW9tbXVfbGFzdF9iZGY7CisJCWJyZWFrOworCWNhc2UgQUNQSV9JVk1EX1RZUEVfUkFOR0U6CisJCWUtPmRldmlkX3N0YXJ0ID0gbS0+ZGV2aWQ7CisJCWUtPmRldmlkX2VuZCA9IG0tPmF1eDsKKwkJYnJlYWs7CisJfQorCWUtPmFkZHJlc3Nfc3RhcnQgPSBQQUdFX0FMSUdOKG0tPnJhbmdlX3N0YXJ0KTsKKwllLT5hZGRyZXNzX2VuZCA9IGUtPmFkZHJlc3Nfc3RhcnQgKyBQQUdFX0FMSUdOKG0tPnJhbmdlX2xlbmd0aCk7CisJZS0+cHJvdCA9IG0tPmZsYWdzID4+IDE7CisKKwlsaXN0X2FkZF90YWlsKCZlLT5saXN0LCAmYW1kX2lvbW11X3VuaXR5X21hcCk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBfX2luaXQgaW5pdF9tZW1vcnlfZGVmaW5pdGlvbnMoc3RydWN0IGFjcGlfdGFibGVfaGVhZGVyICp0YWJsZSkKK3sKKwl1OCAqcCA9ICh1OCAqKXRhYmxlLCAqZW5kID0gKHU4ICopdGFibGU7CisJc3RydWN0IGl2bWRfaGVhZGVyICptOworCisJSU5JVF9MSVNUX0hFQUQoJmFtZF9pb21tdV91bml0eV9tYXApOworCisJZW5kICs9IHRhYmxlLT5sZW5ndGg7CisJcCArPSBJVlJTX0hFQURFUl9MRU5HVEg7CisKKwl3aGlsZSAocCA8IGVuZCkgeworCQltID0gKHN0cnVjdCBpdm1kX2hlYWRlciAqKXA7CisJCWlmIChtLT5mbGFncyAmIElWTURfRkxBR19FWENMX1JBTkdFKQorCQkJaW5pdF9leGNsdXNpb25fcmFuZ2UobSk7CisJCWVsc2UgaWYgKG0tPmZsYWdzICYgSVZNRF9GTEFHX1VOSVRZX01BUCkKKwkJCWluaXRfdW5pdHlfbWFwX3JhbmdlKG0pOworCisJCXAgKz0gbS0+bGVuZ3RoOworCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgZW5hYmxlX2lvbW11cyh2b2lkKQoreworCXN0cnVjdCBhbWRfaW9tbXUgKmlvbW11OworCisJbGlzdF9mb3JfZWFjaF9lbnRyeShpb21tdSwgJmFtZF9pb21tdV9saXN0LCBsaXN0KSB7CisJCWlvbW11X3NldF9leGNsdXNpb25fcmFuZ2UoaW9tbXUpOworCQlpb21tdV9lbmFibGUoaW9tbXUpOworCX0KK30KKworLyoKKyAqIFN1c3BlbmQvUmVzdW1lIHN1cHBvcnQKKyAqIGRpc2FibGUgc3VzcGVuZCB1bnRpbCByZWFsIHJlc3VtZSBpbXBsZW1lbnRlZAorICovCisKK3N0YXRpYyBpbnQgYW1kX2lvbW11X3Jlc3VtZShzdHJ1Y3Qgc3lzX2RldmljZSAqZGV2KQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGFtZF9pb21tdV9zdXNwZW5kKHN0cnVjdCBzeXNfZGV2aWNlICpkZXYsIHBtX21lc3NhZ2VfdCBzdGF0ZSkKK3sKKwlyZXR1cm4gLUVJTlZBTDsKK30KKworc3RhdGljIHN0cnVjdCBzeXNkZXZfY2xhc3MgYW1kX2lvbW11X3N5c2Rldl9jbGFzcyA9IHsKKwkubmFtZSA9ICJhbWRfaW9tbXUiLAorCS5zdXNwZW5kID0gYW1kX2lvbW11X3N1c3BlbmQsCisJLnJlc3VtZSA9IGFtZF9pb21tdV9yZXN1bWUsCit9OworCitzdGF0aWMgc3RydWN0IHN5c19kZXZpY2UgZGV2aWNlX2FtZF9pb21tdSA9IHsKKwkuaWQgPSAwLAorCS5jbHMgPSAmYW1kX2lvbW11X3N5c2Rldl9jbGFzcywKK307CisKK2ludCBfX2luaXQgYW1kX2lvbW11X2luaXQodm9pZCkKK3sKKwlpbnQgaSwgcmV0ID0gMDsKKworCisJaWYgKG5vX2lvbW11KSB7CisJCXByaW50ayhLRVJOX0lORk8gIkFNRCBJT01NVSBkaXNhYmxlZCBieSBrZXJuZWwgY29tbWFuZCBsaW5lXG4iKTsKKwkJcmV0dXJuIDA7CisJfQorCisJaWYgKCFhbWRfaW9tbXVfZGV0ZWN0ZWQpCisJCXJldHVybiAtRU5PREVWOworCisJLyoKKwkgKiBGaXJzdCBwYXJzZSBBQ1BJIHRhYmxlcyB0byBmaW5kIHRoZSBsYXJnZXN0IEJ1cy9EZXYvRnVuYworCSAqIHdlIG5lZWQgdG8gaGFuZGxlLiBVcG9uIHRoaXMgaW5mb3JtYXRpb24gdGhlIHNoYXJlZCBkYXRhCisJICogc3RydWN0dXJlcyBmb3IgdGhlIElPTU1VcyBpbiB0aGUgc3lzdGVtIHdpbGwgYmUgYWxsb2NhdGVkCisJICovCisJaWYgKGFjcGlfdGFibGVfcGFyc2UoIklWUlMiLCBmaW5kX2xhc3RfZGV2aWRfYWNwaSkgIT0gMCkKKwkJcmV0dXJuIC1FTk9ERVY7CisKKwlkZXZfdGFibGVfc2l6ZSAgICAgPSBUQkxfU0laRShERVZfVEFCTEVfRU5UUllfU0laRSk7CisJYWxpYXNfdGFibGVfc2l6ZSAgID0gVEJMX1NJWkUoQUxJQVNfVEFCTEVfRU5UUllfU0laRSk7CisJcmxvb2t1cF90YWJsZV9zaXplID0gVEJMX1NJWkUoUkxPT0tVUF9UQUJMRV9FTlRSWV9TSVpFKTsKKworCXJldCA9IC1FTk9NRU07CisKKwkvKiBEZXZpY2UgdGFibGUgLSBkaXJlY3RseSB1c2VkIGJ5IGFsbCBJT01NVXMgKi8KKwlhbWRfaW9tbXVfZGV2X3RhYmxlID0gKHZvaWQgKilfX2dldF9mcmVlX3BhZ2VzKEdGUF9LRVJORUwsCisJCQkJICAgICAgZ2V0X29yZGVyKGRldl90YWJsZV9zaXplKSk7CisJaWYgKGFtZF9pb21tdV9kZXZfdGFibGUgPT0gTlVMTCkKKwkJZ290byBvdXQ7CisKKwkvKgorCSAqIEFsaWFzIHRhYmxlIC0gbWFwIFBDSSBCdXMvRGV2L0Z1bmMgdG8gQnVzL0Rldi9GdW5jIHRoZQorCSAqIElPTU1VIHNlZSBmb3IgdGhhdCBkZXZpY2UKKwkgKi8KKwlhbWRfaW9tbXVfYWxpYXNfdGFibGUgPSAodm9pZCAqKV9fZ2V0X2ZyZWVfcGFnZXMoR0ZQX0tFUk5FTCwKKwkJCWdldF9vcmRlcihhbGlhc190YWJsZV9zaXplKSk7CisJaWYgKGFtZF9pb21tdV9hbGlhc190YWJsZSA9PSBOVUxMKQorCQlnb3RvIGZyZWU7CisKKwkvKiBJT01NVSBybG9va3VwIHRhYmxlIC0gZmluZCB0aGUgSU9NTVUgZm9yIGEgc3BlY2lmaWMgZGV2aWNlICovCisJYW1kX2lvbW11X3Jsb29rdXBfdGFibGUgPSAodm9pZCAqKV9fZ2V0X2ZyZWVfcGFnZXMoR0ZQX0tFUk5FTCwKKwkJCWdldF9vcmRlcihybG9va3VwX3RhYmxlX3NpemUpKTsKKwlpZiAoYW1kX2lvbW11X3Jsb29rdXBfdGFibGUgPT0gTlVMTCkKKwkJZ290byBmcmVlOworCisJLyoKKwkgKiBQcm90ZWN0aW9uIERvbWFpbiB0YWJsZSAtIG1hcHMgZGV2aWNlcyB0byBwcm90ZWN0aW9uIGRvbWFpbnMKKwkgKiBUaGlzIHRhYmxlIGhhcyB0aGUgc2FtZSBzaXplIGFzIHRoZSBybG9va3VwX3RhYmxlCisJICovCisJYW1kX2lvbW11X3BkX3RhYmxlID0gKHZvaWQgKilfX2dldF9mcmVlX3BhZ2VzKEdGUF9LRVJORUwsCisJCQkJICAgICBnZXRfb3JkZXIocmxvb2t1cF90YWJsZV9zaXplKSk7CisJaWYgKGFtZF9pb21tdV9wZF90YWJsZSA9PSBOVUxMKQorCQlnb3RvIGZyZWU7CisKKwlhbWRfaW9tbXVfcGRfYWxsb2NfYml0bWFwID0gKHZvaWQgKilfX2dldF9mcmVlX3BhZ2VzKEdGUF9LRVJORUwsCisJCQkJCSAgICBnZXRfb3JkZXIoTUFYX0RPTUFJTl9JRC84KSk7CisJaWYgKGFtZF9pb21tdV9wZF9hbGxvY19iaXRtYXAgPT0gTlVMTCkKKwkJZ290byBmcmVlOworCisJLyoKKwkgKiBtZW1vcnkgaXMgYWxsb2NhdGVkIG5vdzsgaW5pdGlhbGl6ZSB0aGUgZGV2aWNlIHRhYmxlIHdpdGggYWxsIHplcm9lcworCSAqIGFuZCBsZXQgYWxsIGFsaWFzIGVudHJpZXMgcG9pbnQgdG8gaXRzZWxmCisJICovCisJbWVtc2V0KGFtZF9pb21tdV9kZXZfdGFibGUsIDAsIGRldl90YWJsZV9zaXplKTsKKwlmb3IgKGkgPSAwOyBpIDwgYW1kX2lvbW11X2xhc3RfYmRmOyArK2kpCisJCWFtZF9pb21tdV9hbGlhc190YWJsZVtpXSA9IGk7CisKKwltZW1zZXQoYW1kX2lvbW11X3BkX3RhYmxlLCAwLCBybG9va3VwX3RhYmxlX3NpemUpOworCW1lbXNldChhbWRfaW9tbXVfcGRfYWxsb2NfYml0bWFwLCAwLCBNQVhfRE9NQUlOX0lEIC8gOCk7CisKKwkvKgorCSAqIG5ldmVyIGFsbG9jYXRlIGRvbWFpbiAwIGJlY2F1c2UgaXRzIHVzZWQgYXMgdGhlIG5vbi1hbGxvY2F0ZWQgYW5kCisJICogZXJyb3IgdmFsdWUgcGxhY2Vob2xkZXIKKwkgKi8KKwlhbWRfaW9tbXVfcGRfYWxsb2NfYml0bWFwWzBdID0gMTsKKworCS8qCisJICogbm93IHRoZSBkYXRhIHN0cnVjdHVyZXMgYXJlIGFsbG9jYXRlZCBhbmQgYmFzaWNhbGx5IGluaXRpYWxpemVkCisJICogc3RhcnQgdGhlIHJlYWwgYWNwaSB0YWJsZSBzY2FuCisJICovCisJcmV0ID0gLUVOT0RFVjsKKwlpZiAoYWNwaV90YWJsZV9wYXJzZSgiSVZSUyIsIGluaXRfaW9tbXVfYWxsKSAhPSAwKQorCQlnb3RvIGZyZWU7CisKKwlpZiAoYWNwaV90YWJsZV9wYXJzZSgiSVZSUyIsIGluaXRfbWVtb3J5X2RlZmluaXRpb25zKSAhPSAwKQorCQlnb3RvIGZyZWU7CisKKwlyZXQgPSBhbWRfaW9tbXVfaW5pdF9kbWFfb3BzKCk7CisJaWYgKHJldCkKKwkJZ290byBmcmVlOworCisJcmV0ID0gc3lzZGV2X2NsYXNzX3JlZ2lzdGVyKCZhbWRfaW9tbXVfc3lzZGV2X2NsYXNzKTsKKwlpZiAocmV0KQorCQlnb3RvIGZyZWU7CisKKwlyZXQgPSBzeXNkZXZfcmVnaXN0ZXIoJmRldmljZV9hbWRfaW9tbXUpOworCWlmIChyZXQpCisJCWdvdG8gZnJlZTsKKworCWVuYWJsZV9pb21tdXMoKTsKKworCXByaW50ayhLRVJOX0lORk8gIkFNRCBJT01NVTogYXBlcnR1cmUgc2l6ZSBpcyAlZCBNQlxuIiwKKwkJCSgxIDw8IChhbWRfaW9tbXVfYXBlcnR1cmVfb3JkZXItMjApKSk7CisKKwlwcmludGsoS0VSTl9JTkZPICJBTUQgSU9NTVU6IGRldmljZSBpc29sYXRpb24gIik7CisJaWYgKGFtZF9pb21tdV9pc29sYXRlKQorCQlwcmludGsoImVuYWJsZWRcbiIpOworCWVsc2UKKwkJcHJpbnRrKCJkaXNhYmxlZFxuIik7CisKK291dDoKKwlyZXR1cm4gcmV0OworCitmcmVlOgorCWlmIChhbWRfaW9tbXVfcGRfYWxsb2NfYml0bWFwKQorCQlmcmVlX3BhZ2VzKCh1bnNpZ25lZCBsb25nKWFtZF9pb21tdV9wZF9hbGxvY19iaXRtYXAsIDEpOworCisJaWYgKGFtZF9pb21tdV9wZF90YWJsZSkKKwkJZnJlZV9wYWdlcygodW5zaWduZWQgbG9uZylhbWRfaW9tbXVfcGRfdGFibGUsCisJCQkJZ2V0X29yZGVyKHJsb29rdXBfdGFibGVfc2l6ZSkpOworCisJaWYgKGFtZF9pb21tdV9ybG9va3VwX3RhYmxlKQorCQlmcmVlX3BhZ2VzKCh1bnNpZ25lZCBsb25nKWFtZF9pb21tdV9ybG9va3VwX3RhYmxlLAorCQkJCWdldF9vcmRlcihybG9va3VwX3RhYmxlX3NpemUpKTsKKworCWlmIChhbWRfaW9tbXVfYWxpYXNfdGFibGUpCisJCWZyZWVfcGFnZXMoKHVuc2lnbmVkIGxvbmcpYW1kX2lvbW11X2FsaWFzX3RhYmxlLAorCQkJCWdldF9vcmRlcihhbGlhc190YWJsZV9zaXplKSk7CisKKwlpZiAoYW1kX2lvbW11X2Rldl90YWJsZSkKKwkJZnJlZV9wYWdlcygodW5zaWduZWQgbG9uZylhbWRfaW9tbXVfZGV2X3RhYmxlLAorCQkJCWdldF9vcmRlcihkZXZfdGFibGVfc2l6ZSkpOworCisJZnJlZV9pb21tdV9hbGwoKTsKKworCWZyZWVfdW5pdHlfbWFwcygpOworCisJZ290byBvdXQ7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IGVhcmx5X2FtZF9pb21tdV9kZXRlY3Qoc3RydWN0IGFjcGlfdGFibGVfaGVhZGVyICp0YWJsZSkKK3sKKwlyZXR1cm4gMDsKK30KKwordm9pZCBfX2luaXQgYW1kX2lvbW11X2RldGVjdCh2b2lkKQoreworCWlmIChzd2lvdGxiIHx8IG5vX2lvbW11IHx8IGlvbW11X2RldGVjdGVkKQorCQlyZXR1cm47CisKKwlpZiAoYWNwaV90YWJsZV9wYXJzZSgiSVZSUyIsIGVhcmx5X2FtZF9pb21tdV9kZXRlY3QpID09IDApIHsKKwkJaW9tbXVfZGV0ZWN0ZWQgPSAxOworCQlhbWRfaW9tbXVfZGV0ZWN0ZWQgPSAxOworI2lmZGVmIENPTkZJR19HQVJUX0lPTU1VCisJCWdhcnRfaW9tbXVfYXBlcnR1cmVfZGlzYWJsZWQgPSAxOworCQlnYXJ0X2lvbW11X2FwZXJ0dXJlID0gMDsKKyNlbmRpZgorCX0KK30KKworc3RhdGljIGludCBfX2luaXQgcGFyc2VfYW1kX2lvbW11X29wdGlvbnMoY2hhciAqc3RyKQoreworCWZvciAoOyAqc3RyOyArK3N0cikgeworCQlpZiAoc3RyY21wKHN0ciwgImlzb2xhdGUiKSA9PSAwKQorCQkJYW1kX2lvbW11X2lzb2xhdGUgPSAxOworCX0KKworCXJldHVybiAxOworfQorCitzdGF0aWMgaW50IF9faW5pdCBwYXJzZV9hbWRfaW9tbXVfc2l6ZV9vcHRpb25zKGNoYXIgKnN0cikKK3sKKwlmb3IgKDsgKnN0cjsgKytzdHIpIHsKKwkJaWYgKHN0cmNtcChzdHIsICIzMk0iKSA9PSAwKQorCQkJYW1kX2lvbW11X2FwZXJ0dXJlX29yZGVyID0gMjU7CisJCWlmIChzdHJjbXAoc3RyLCAiNjRNIikgPT0gMCkKKwkJCWFtZF9pb21tdV9hcGVydHVyZV9vcmRlciA9IDI2OworCQlpZiAoc3RyY21wKHN0ciwgIjEyOE0iKSA9PSAwKQorCQkJYW1kX2lvbW11X2FwZXJ0dXJlX29yZGVyID0gMjc7CisJCWlmIChzdHJjbXAoc3RyLCAiMjU2TSIpID09IDApCisJCQlhbWRfaW9tbXVfYXBlcnR1cmVfb3JkZXIgPSAyODsKKwkJaWYgKHN0cmNtcChzdHIsICI1MTJNIikgPT0gMCkKKwkJCWFtZF9pb21tdV9hcGVydHVyZV9vcmRlciA9IDI5OworCQlpZiAoc3RyY21wKHN0ciwgIjFHIikgPT0gMCkKKwkJCWFtZF9pb21tdV9hcGVydHVyZV9vcmRlciA9IDMwOworCX0KKworCXJldHVybiAxOworfQorCitfX3NldHVwKCJhbWRfaW9tbXU9IiwgcGFyc2VfYW1kX2lvbW11X29wdGlvbnMpOworX19zZXR1cCgiYW1kX2lvbW11X3NpemU9IiwgcGFyc2VfYW1kX2lvbW11X3NpemVfb3B0aW9ucyk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvYXBlcnR1cmVfNjQuYyBiL2FyY2gveDg2L2tlcm5lbC9hcGVydHVyZV82NC5jCmluZGV4IDQ3OTkyNmQuLjlmOTA3ODAgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9hcGVydHVyZV82NC5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9hcGVydHVyZV82NC5jCkBAIC0zNSw2ICszNSwxOCBAQAogCiBpbnQgZml4X2FwZXJ0dXJlIF9faW5pdGRhdGEgPSAxOwogCitzdHJ1Y3QgYnVzX2Rldl9yYW5nZSB7CisJaW50IGJ1czsKKwlpbnQgZGV2X2Jhc2U7CisJaW50IGRldl9saW1pdDsKK307CisKK3N0YXRpYyBzdHJ1Y3QgYnVzX2Rldl9yYW5nZSBidXNfZGV2X3Jhbmdlc1tdIF9faW5pdGRhdGEgPSB7CisJeyAweDAwLCAweDE4LCAweDIwfSwKKwl7IDB4ZmYsIDB4MDAsIDB4MjB9LAorCXsgMHhmZSwgMHgwMCwgMHgyMH0KK307CisKIHN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgZ2FydF9yZXNvdXJjZSA9IHsKIAkubmFtZQk9ICJHQVJUIiwKIAkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKQEAgLTU1LDggKzY3LDkgQEAKIAl1MzIgYXBlcl9zaXplOwogCXZvaWQgKnA7CiAKLQlpZiAoZmFsbGJhY2tfYXBlcl9vcmRlciA+IDcpCi0JCWZhbGxiYWNrX2FwZXJfb3JkZXIgPSA3OworCS8qIGFwZXJfc2l6ZSBzaG91bGQgPD0gMUcgKi8KKwlpZiAoZmFsbGJhY2tfYXBlcl9vcmRlciA+IDUpCisJCWZhbGxiYWNrX2FwZXJfb3JkZXIgPSA1OwogCWFwZXJfc2l6ZSA9ICgzMiAqIDEwMjQgKiAxMDI0KSA8PCBmYWxsYmFja19hcGVyX29yZGVyOwogCiAJLyoKQEAgLTY1LDcgKzc4LDIwIEBACiAJICogbWVtb3J5LiBVbmZvcnR1bmF0ZWx5IHdlIGNhbm5vdCBtb3ZlIGl0IHVwIGJlY2F1c2UgdGhhdCB3b3VsZAogCSAqIG1ha2UgdGhlIElPTU1VIHVzZWxlc3MuCiAJICovCi0JcCA9IF9fYWxsb2NfYm9vdG1lbV9ub3BhbmljKGFwZXJfc2l6ZSwgYXBlcl9zaXplLCAwKTsKKwkvKgorCSAqIHVzaW5nIDUxMk0gYXMgZ29hbCwgaW4gY2FzZSBrZXhlYyB3aWxsIGxvYWQga2VybmVsX2JpZworCSAqIHRoYXQgd2lsbCBkbyB0aGUgb24gcG9zaXRpb24gZGVjb21wcmVzcywgYW5kICBjb3VsZCBvdmVybGFwIHdpdGgKKwkgKiB0aGF0IHBvc2l0b24gd2l0aCBnYXJ0IHRoYXQgaXMgdXNlZC4KKwkgKiBzZXF1ZW5kZToKKwkgKiBrZXJuZWxfc21hbGwKKwkgKiA9PT4ga2V4ZWMgKHdpdGgga2R1bXAgdHJpZ2dlciBwYXRoIG9yIHByZXZpb3VzIGRvZXNuJ3Qgc2h1dGRvd24gZ2FydCkKKwkgKiA9PT4ga2VybmVsX3NtYWxsKGdhcnQgYXJlYSBiZWNvbWUgZTgyMF9yZXNlcnZlZCkKKwkgKiA9PT4ga2V4ZWMgKHdpdGgga2R1bXAgdHJpZ2dlciBwYXRoIG9yIHByZXZpb3VzIGRvZXNuJ3Qgc2h1dGRvd24gZ2FydCkKKwkgKiA9PT4ga2VybmVfYmlnICh1bmNvbXByZXNzZWQgc2l6ZSB3aWxsIGJlIGJpZyB0aGFuIDY0TSBvciAxMjhNKQorCSAqIHNvIGRvbid0IHVzZSA1MTJNIGJlbG93IGFzIGdhcnQgaW9tbXUsIGxlYXZlIHRoZSBzcGFjZSBmb3Iga2VybmVsCisJICogY29kZSBmb3Igc2FmZQorCSAqLworCXAgPSBfX2FsbG9jX2Jvb3RtZW1fbm9wYW5pYyhhcGVyX3NpemUsIGFwZXJfc2l6ZSwgNTEyVUxMPDwyMCk7CiAJaWYgKCFwIHx8IF9fcGEocCkrYXBlcl9zaXplID4gMHhmZmZmZmZmZikgewogCQlwcmludGsoS0VSTl9FUlIKIAkJCSJDYW5ub3QgYWxsb2NhdGUgYXBlcnR1cmUgbWVtb3J5IGhvbGUgKCVwLCV1SylcbiIsCkBAIC04Myw2OSArMTA5LDUzIEBACiAJcmV0dXJuICh1MzIpX19wYShwKTsKIH0KIAotc3RhdGljIGludCBfX2luaXQgYXBlcnR1cmVfdmFsaWQodTY0IGFwZXJfYmFzZSwgdTMyIGFwZXJfc2l6ZSkKLXsKLQlpZiAoIWFwZXJfYmFzZSkKLQkJcmV0dXJuIDA7Ci0KLQlpZiAoYXBlcl9iYXNlICsgYXBlcl9zaXplID4gMHgxMDAwMDAwMDBVTCkgewotCQlwcmludGsoS0VSTl9FUlIgIkFwZXJ0dXJlIGJleW9uZCA0R0IuIElnbm9yaW5nLlxuIik7Ci0JCXJldHVybiAwOwotCX0KLQlpZiAoZTgyMF9hbnlfbWFwcGVkKGFwZXJfYmFzZSwgYXBlcl9iYXNlICsgYXBlcl9zaXplLCBFODIwX1JBTSkpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJBcGVydHVyZSBwb2ludGluZyB0byBlODIwIFJBTS4gSWdub3JpbmcuXG4iKTsKLQkJcmV0dXJuIDA7Ci0JfQotCWlmIChhcGVyX3NpemUgPCA2NCoxMDI0KjEwMjQpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJBcGVydHVyZSB0b28gc21hbGwgKCVkIE1CKVxuIiwgYXBlcl9zaXplPj4yMCk7Ci0JCXJldHVybiAwOwotCX0KLQotCXJldHVybiAxOwotfQogCiAvKiBGaW5kIGEgUENJIGNhcGFiaWxpdHkgKi8KLXN0YXRpYyBfX3UzMiBfX2luaXQgZmluZF9jYXAoaW50IG51bSwgaW50IHNsb3QsIGludCBmdW5jLCBpbnQgY2FwKQorc3RhdGljIHUzMiBfX2luaXQgZmluZF9jYXAoaW50IGJ1cywgaW50IHNsb3QsIGludCBmdW5jLCBpbnQgY2FwKQogewogCWludCBieXRlczsKIAl1OCBwb3M7CiAKLQlpZiAoIShyZWFkX3BjaV9jb25maWdfMTYobnVtLCBzbG90LCBmdW5jLCBQQ0lfU1RBVFVTKSAmCisJaWYgKCEocmVhZF9wY2lfY29uZmlnXzE2KGJ1cywgc2xvdCwgZnVuYywgUENJX1NUQVRVUykgJgogCQkJCQkJUENJX1NUQVRVU19DQVBfTElTVCkpCiAJCXJldHVybiAwOwogCi0JcG9zID0gcmVhZF9wY2lfY29uZmlnX2J5dGUobnVtLCBzbG90LCBmdW5jLCBQQ0lfQ0FQQUJJTElUWV9MSVNUKTsKKwlwb3MgPSByZWFkX3BjaV9jb25maWdfYnl0ZShidXMsIHNsb3QsIGZ1bmMsIFBDSV9DQVBBQklMSVRZX0xJU1QpOwogCWZvciAoYnl0ZXMgPSAwOyBieXRlcyA8IDQ4ICYmIHBvcyA+PSAweDQwOyBieXRlcysrKSB7CiAJCXU4IGlkOwogCiAJCXBvcyAmPSB+MzsKLQkJaWQgPSByZWFkX3BjaV9jb25maWdfYnl0ZShudW0sIHNsb3QsIGZ1bmMsIHBvcytQQ0lfQ0FQX0xJU1RfSUQpOworCQlpZCA9IHJlYWRfcGNpX2NvbmZpZ19ieXRlKGJ1cywgc2xvdCwgZnVuYywgcG9zK1BDSV9DQVBfTElTVF9JRCk7CiAJCWlmIChpZCA9PSAweGZmKQogCQkJYnJlYWs7CiAJCWlmIChpZCA9PSBjYXApCiAJCQlyZXR1cm4gcG9zOwotCQlwb3MgPSByZWFkX3BjaV9jb25maWdfYnl0ZShudW0sIHNsb3QsIGZ1bmMsCisJCXBvcyA9IHJlYWRfcGNpX2NvbmZpZ19ieXRlKGJ1cywgc2xvdCwgZnVuYywKIAkJCQkJCXBvcytQQ0lfQ0FQX0xJU1RfTkVYVCk7CiAJfQogCXJldHVybiAwOwogfQogCiAvKiBSZWFkIGEgc3RhbmRhcmQgQUdQdjMgYnJpZGdlIGhlYWRlciAqLwotc3RhdGljIF9fdTMyIF9faW5pdCByZWFkX2FncChpbnQgbnVtLCBpbnQgc2xvdCwgaW50IGZ1bmMsIGludCBjYXAsIHUzMiAqb3JkZXIpCitzdGF0aWMgdTMyIF9faW5pdCByZWFkX2FncChpbnQgYnVzLCBpbnQgc2xvdCwgaW50IGZ1bmMsIGludCBjYXAsIHUzMiAqb3JkZXIpCiB7CiAJdTMyIGFwc2l6ZTsKIAl1MzIgYXBzaXplcmVnOwogCWludCBuYml0czsKIAl1MzIgYXBlcl9sb3csIGFwZXJfaGk7CiAJdTY0IGFwZXI7CisJdTMyIG9sZF9vcmRlcjsKIAotCXByaW50ayhLRVJOX0lORk8gIkFHUCBicmlkZ2UgYXQgJTAyeDolMDJ4OiUwMnhcbiIsIG51bSwgc2xvdCwgZnVuYyk7Ci0JYXBzaXplcmVnID0gcmVhZF9wY2lfY29uZmlnXzE2KG51bSwgc2xvdCwgZnVuYywgY2FwICsgMHgxNCk7CisJcHJpbnRrKEtFUk5fSU5GTyAiQUdQIGJyaWRnZSBhdCAlMDJ4OiUwMng6JTAyeFxuIiwgYnVzLCBzbG90LCBmdW5jKTsKKwlhcHNpemVyZWcgPSByZWFkX3BjaV9jb25maWdfMTYoYnVzLCBzbG90LCBmdW5jLCBjYXAgKyAweDE0KTsKIAlpZiAoYXBzaXplcmVnID09IDB4ZmZmZmZmZmYpIHsKIAkJcHJpbnRrKEtFUk5fRVJSICJBUFNJWkUgaW4gQUdQIGJyaWRnZSB1bnJlYWRhYmxlXG4iKTsKIAkJcmV0dXJuIDA7CiAJfQogCisJLyogb2xkX29yZGVyIGNvdWxkIGJlIHRoZSB2YWx1ZSBmcm9tIE5CIGdhcnQgc2V0dGluZyAqLworCW9sZF9vcmRlciA9ICpvcmRlcjsKKwogCWFwc2l6ZSA9IGFwc2l6ZXJlZyAmIDB4ZmZmOwogCS8qIFNvbWUgQklPUyB1c2Ugd2VpcmQgZW5jb2RpbmdzIG5vdCBpbiB0aGUgQUdQdjMgdGFibGUuICovCiAJaWYgKGFwc2l6ZSAmIDB4ZmYpCkBAIC0xNTUsMTQgKzE2NSwyNiBAQAogCWlmICgoaW50KSpvcmRlciA8IDApIC8qIDwgMzJNQiAqLwogCQkqb3JkZXIgPSAwOwogCi0JYXBlcl9sb3cgPSByZWFkX3BjaV9jb25maWcobnVtLCBzbG90LCBmdW5jLCAweDEwKTsKLQlhcGVyX2hpID0gcmVhZF9wY2lfY29uZmlnKG51bSwgc2xvdCwgZnVuYywgMHgxNCk7CisJYXBlcl9sb3cgPSByZWFkX3BjaV9jb25maWcoYnVzLCBzbG90LCBmdW5jLCAweDEwKTsKKwlhcGVyX2hpID0gcmVhZF9wY2lfY29uZmlnKGJ1cywgc2xvdCwgZnVuYywgMHgxNCk7CiAJYXBlciA9IChhcGVyX2xvdyAmIH4oKDE8PDIyKS0xKSkgfCAoKHU2NClhcGVyX2hpIDw8IDMyKTsKIAorCS8qCisJICogT24gc29tZSBzaWNrIGNoaXBzLCBBUFNJWkUgaXMgMC4gSXQgbWVhbnMgaXQgd2FudHMgNEcKKwkgKiBzbyBsZXQgZG91YmxlIGNoZWNrIHRoYXQgb3JkZXIsIGFuZCBsZXRzIHRydXN0IEFNRCBOQiBzZXR0aW5nczoKKwkgKi8KKwlwcmludGsoS0VSTl9JTkZPICJBcGVydHVyZSBmcm9tIEFHUCBAICVMeCBvbGQgc2l6ZSAldSBNQlxuIiwKKwkJCWFwZXIsIDMyIDw8IG9sZF9vcmRlcik7CisJaWYgKGFwZXIgKyAoMzJVTEw8PCgyMCArICpvcmRlcikpID4gMHgxMDAwMDAwMDBVTEwpIHsKKwkJcHJpbnRrKEtFUk5fSU5GTyAiQXBlcnR1cmUgc2l6ZSAldSBNQiAoQVBTSVpFICV4KSBpcyBub3QgcmlnaHQsIHVzaW5nIHNldHRpbmdzIGZyb20gTkJcbiIsCisJCQkJMzIgPDwgKm9yZGVyLCBhcHNpemVyZWcpOworCQkqb3JkZXIgPSBvbGRfb3JkZXI7CisJfQorCiAJcHJpbnRrKEtFUk5fSU5GTyAiQXBlcnR1cmUgZnJvbSBBR1AgQCAlTHggc2l6ZSAldSBNQiAoQVBTSVpFICV4KVxuIiwKIAkJCWFwZXIsIDMyIDw8ICpvcmRlciwgYXBzaXplcmVnKTsKIAotCWlmICghYXBlcnR1cmVfdmFsaWQoYXBlciwgKDMyKjEwMjQqMTAyNCkgPDwgKm9yZGVyKSkKKwlpZiAoIWFwZXJ0dXJlX3ZhbGlkKGFwZXIsICgzMioxMDI0KjEwMjQpIDw8ICpvcmRlciwgMzI8PDIwKSkKIAkJcmV0dXJuIDA7CiAJcmV0dXJuICh1MzIpYXBlcjsKIH0KQEAgLTE4MCwxNyArMjAyLDE3IEBACiAgKiB0aGUgQUdQIGJyaWRnZXMgc2hvdWxkIGJlIGFsd2F5cyBhbiBvd24gYnVzIG9uIHRoZSBIVCBoaWVyYXJjaHksCiAgKiBidXQgZG8gaXQgaGVyZSBmb3IgZnV0dXJlIHNhZmV0eS4KICAqLwotc3RhdGljIF9fdTMyIF9faW5pdCBzZWFyY2hfYWdwX2JyaWRnZSh1MzIgKm9yZGVyLCBpbnQgKnZhbGlkX2FncCkKK3N0YXRpYyB1MzIgX19pbml0IHNlYXJjaF9hZ3BfYnJpZGdlKHUzMiAqb3JkZXIsIGludCAqdmFsaWRfYWdwKQogewotCWludCBudW0sIHNsb3QsIGZ1bmM7CisJaW50IGJ1cywgc2xvdCwgZnVuYzsKIAogCS8qIFBvb3IgbWFuJ3MgUENJIGRpc2NvdmVyeSAqLwotCWZvciAobnVtID0gMDsgbnVtIDwgMjU2OyBudW0rKykgeworCWZvciAoYnVzID0gMDsgYnVzIDwgMjU2OyBidXMrKykgewogCQlmb3IgKHNsb3QgPSAwOyBzbG90IDwgMzI7IHNsb3QrKykgewogCQkJZm9yIChmdW5jID0gMDsgZnVuYyA8IDg7IGZ1bmMrKykgewogCQkJCXUzMiBjbGFzcywgY2FwOwogCQkJCXU4IHR5cGU7Ci0JCQkJY2xhc3MgPSByZWFkX3BjaV9jb25maWcobnVtLCBzbG90LCBmdW5jLAorCQkJCWNsYXNzID0gcmVhZF9wY2lfY29uZmlnKGJ1cywgc2xvdCwgZnVuYywKIAkJCQkJCQlQQ0lfQ0xBU1NfUkVWSVNJT04pOwogCQkJCWlmIChjbGFzcyA9PSAweGZmZmZmZmZmKQogCQkJCQlicmVhazsKQEAgLTE5OSwxNyArMjIxLDE3IEBACiAJCQkJY2FzZSBQQ0lfQ0xBU1NfQlJJREdFX0hPU1Q6CiAJCQkJY2FzZSBQQ0lfQ0xBU1NfQlJJREdFX09USEVSOiAvKiBuZWVkZWQ/ICovCiAJCQkJCS8qIEFHUCBicmlkZ2U/ICovCi0JCQkJCWNhcCA9IGZpbmRfY2FwKG51bSwgc2xvdCwgZnVuYywKKwkJCQkJY2FwID0gZmluZF9jYXAoYnVzLCBzbG90LCBmdW5jLAogCQkJCQkJCVBDSV9DQVBfSURfQUdQKTsKIAkJCQkJaWYgKCFjYXApCiAJCQkJCQlicmVhazsKIAkJCQkJKnZhbGlkX2FncCA9IDE7Ci0JCQkJCXJldHVybiByZWFkX2FncChudW0sIHNsb3QsIGZ1bmMsIGNhcCwKKwkJCQkJcmV0dXJuIHJlYWRfYWdwKGJ1cywgc2xvdCwgZnVuYywgY2FwLAogCQkJCQkJCW9yZGVyKTsKIAkJCQl9CiAKIAkJCQkvKiBObyBtdWx0aS1mdW5jdGlvbiBkZXZpY2U/ICovCi0JCQkJdHlwZSA9IHJlYWRfcGNpX2NvbmZpZ19ieXRlKG51bSwgc2xvdCwgZnVuYywKKwkJCQl0eXBlID0gcmVhZF9wY2lfY29uZmlnX2J5dGUoYnVzLCBzbG90LCBmdW5jLAogCQkJCQkJCSAgICAgICBQQ0lfSEVBREVSX1RZUEUpOwogCQkJCWlmICghKHR5cGUgJiAweDgwKSkKIAkJCQkJYnJlYWs7CkBAIC0yNDksMzYgKzI3MSw1MCBAQAogCSAqIG9yIEJJT1MgZm9yZ2V0IHRvIHB1dCB0aGF0IGluIHJlc2VydmVkLgogCSAqIHRyeSB0byB1cGRhdGUgZTgyMCB0byBtYWtlIHRoYXQgcmVnaW9uIGFzIHJlc2VydmVkLgogCSAqLwotCWludCBmaXgsIG51bTsKKwlpbnQgaSwgZml4LCBzbG90OwogCXUzMiBjdGw7CiAJdTMyIGFwZXJfc2l6ZSA9IDAsIGFwZXJfb3JkZXIgPSAwLCBsYXN0X2FwZXJfb3JkZXIgPSAwOwogCXU2NCBhcGVyX2Jhc2UgPSAwLCBsYXN0X2FwZXJfYmFzZSA9IDA7Ci0JaW50IGFwZXJfZW5hYmxlZCA9IDAsIGxhc3RfYXBlcl9lbmFibGVkID0gMDsKKwlpbnQgYXBlcl9lbmFibGVkID0gMCwgbGFzdF9hcGVyX2VuYWJsZWQgPSAwLCBsYXN0X3ZhbGlkID0gMDsKIAogCWlmICghZWFybHlfcGNpX2FsbG93ZWQoKSkKIAkJcmV0dXJuOwogCisJLyogVGhpcyBpcyBtb3N0bHkgZHVwbGljYXRlIG9mIGlvbW11X2hvbGVfaW5pdCAqLwogCWZpeCA9IDA7Ci0JZm9yIChudW0gPSAyNDsgbnVtIDwgMzI7IG51bSsrKSB7Ci0JCWlmICghZWFybHlfaXNfazhfbmIocmVhZF9wY2lfY29uZmlnKDAsIG51bSwgMywgMHgwMCkpKQotCQkJY29udGludWU7CisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoYnVzX2Rldl9yYW5nZXMpOyBpKyspIHsKKwkJaW50IGJ1czsKKwkJaW50IGRldl9iYXNlLCBkZXZfbGltaXQ7CiAKLQkJY3RsID0gcmVhZF9wY2lfY29uZmlnKDAsIG51bSwgMywgMHg5MCk7Ci0JCWFwZXJfZW5hYmxlZCA9IGN0bCAmIDE7Ci0JCWFwZXJfb3JkZXIgPSAoY3RsID4+IDEpICYgNzsKLQkJYXBlcl9zaXplID0gKDMyICogMTAyNCAqIDEwMjQpIDw8IGFwZXJfb3JkZXI7Ci0JCWFwZXJfYmFzZSA9IHJlYWRfcGNpX2NvbmZpZygwLCBudW0sIDMsIDB4OTQpICYgMHg3ZmZmOwotCQlhcGVyX2Jhc2UgPDw9IDI1OworCQlidXMgPSBidXNfZGV2X3Jhbmdlc1tpXS5idXM7CisJCWRldl9iYXNlID0gYnVzX2Rldl9yYW5nZXNbaV0uZGV2X2Jhc2U7CisJCWRldl9saW1pdCA9IGJ1c19kZXZfcmFuZ2VzW2ldLmRldl9saW1pdDsKIAotCQlpZiAoKGxhc3RfYXBlcl9vcmRlciAmJiBhcGVyX29yZGVyICE9IGxhc3RfYXBlcl9vcmRlcikgfHwKLQkJICAgIChsYXN0X2FwZXJfYmFzZSAmJiBhcGVyX2Jhc2UgIT0gbGFzdF9hcGVyX2Jhc2UpIHx8Ci0JCSAgICAobGFzdF9hcGVyX2VuYWJsZWQgJiYgYXBlcl9lbmFibGVkICE9IGxhc3RfYXBlcl9lbmFibGVkKSkgewotCQkJZml4ID0gMTsKLQkJCWJyZWFrOworCQlmb3IgKHNsb3QgPSBkZXZfYmFzZTsgc2xvdCA8IGRldl9saW1pdDsgc2xvdCsrKSB7CisJCQlpZiAoIWVhcmx5X2lzX2s4X25iKHJlYWRfcGNpX2NvbmZpZyhidXMsIHNsb3QsIDMsIDB4MDApKSkKKwkJCQljb250aW51ZTsKKworCQkJY3RsID0gcmVhZF9wY2lfY29uZmlnKGJ1cywgc2xvdCwgMywgQU1ENjRfR0FSVEFQRVJUVVJFQ1RMKTsKKwkJCWFwZXJfZW5hYmxlZCA9IGN0bCAmIEFNRDY0X0dBUlRFTjsKKwkJCWFwZXJfb3JkZXIgPSAoY3RsID4+IDEpICYgNzsKKwkJCWFwZXJfc2l6ZSA9ICgzMiAqIDEwMjQgKiAxMDI0KSA8PCBhcGVyX29yZGVyOworCQkJYXBlcl9iYXNlID0gcmVhZF9wY2lfY29uZmlnKGJ1cywgc2xvdCwgMywgQU1ENjRfR0FSVEFQRVJUVVJFQkFTRSkgJiAweDdmZmY7CisJCQlhcGVyX2Jhc2UgPDw9IDI1OworCisJCQlpZiAobGFzdF92YWxpZCkgeworCQkJCWlmICgoYXBlcl9vcmRlciAhPSBsYXN0X2FwZXJfb3JkZXIpIHx8CisJCQkJICAgIChhcGVyX2Jhc2UgIT0gbGFzdF9hcGVyX2Jhc2UpIHx8CisJCQkJICAgIChhcGVyX2VuYWJsZWQgIT0gbGFzdF9hcGVyX2VuYWJsZWQpKSB7CisJCQkJCWZpeCA9IDE7CisJCQkJCWJyZWFrOworCQkJCX0KKwkJCX0KKworCQkJbGFzdF9hcGVyX29yZGVyID0gYXBlcl9vcmRlcjsKKwkJCWxhc3RfYXBlcl9iYXNlID0gYXBlcl9iYXNlOworCQkJbGFzdF9hcGVyX2VuYWJsZWQgPSBhcGVyX2VuYWJsZWQ7CisJCQlsYXN0X3ZhbGlkID0gMTsKIAkJfQotCQlsYXN0X2FwZXJfb3JkZXIgPSBhcGVyX29yZGVyOwotCQlsYXN0X2FwZXJfYmFzZSA9IGFwZXJfYmFzZTsKLQkJbGFzdF9hcGVyX2VuYWJsZWQgPSBhcGVyX2VuYWJsZWQ7CiAJfQogCiAJaWYgKCFmaXggJiYgIWFwZXJfZW5hYmxlZCkKQEAgLTI5MCwzMiArMzI2LDQ2IEBACiAJaWYgKGdhcnRfZml4X2U4MjAgJiYgIWZpeCAmJiBhcGVyX2VuYWJsZWQpIHsKIAkJaWYgKGU4MjBfYW55X21hcHBlZChhcGVyX2Jhc2UsIGFwZXJfYmFzZSArIGFwZXJfc2l6ZSwKIAkJCQkgICAgRTgyMF9SQU0pKSB7Ci0JCQkvKiByZXNlcnZlZCBpdCwgc28gd2UgY2FuIHJlc3VzZSBpdCBpbiBzZWNvbmQga2VybmVsICovCisJCQkvKiByZXNlcnZlIGl0LCBzbyB3ZSBjYW4gcmV1c2UgaXQgaW4gc2Vjb25kIGtlcm5lbCAqLwogCQkJcHJpbnRrKEtFUk5fSU5GTyAidXBkYXRlIGU4MjAgZm9yIEdBUlRcbiIpOwotCQkJYWRkX21lbW9yeV9yZWdpb24oYXBlcl9iYXNlLCBhcGVyX3NpemUsIEU4MjBfUkVTRVJWRUQpOworCQkJZTgyMF9hZGRfcmVnaW9uKGFwZXJfYmFzZSwgYXBlcl9zaXplLCBFODIwX1JFU0VSVkVEKTsKIAkJCXVwZGF0ZV9lODIwKCk7CiAJCX0KLQkJcmV0dXJuOwogCX0KIAotCS8qIGRpZmZlcmVudCBub2RlcyBoYXZlIGRpZmZlcmVudCBzZXR0aW5nLCBkaXNhYmxlIHRoZW0gYWxsIGF0IGZpcnN0Ki8KLQlmb3IgKG51bSA9IDI0OyBudW0gPCAzMjsgbnVtKyspIHsKLQkJaWYgKCFlYXJseV9pc19rOF9uYihyZWFkX3BjaV9jb25maWcoMCwgbnVtLCAzLCAweDAwKSkpCi0JCQljb250aW51ZTsKKwlpZiAoIWZpeCkKKwkJcmV0dXJuOwogCi0JCWN0bCA9IHJlYWRfcGNpX2NvbmZpZygwLCBudW0sIDMsIDB4OTApOwotCQljdGwgJj0gfjE7Ci0JCXdyaXRlX3BjaV9jb25maWcoMCwgbnVtLCAzLCAweDkwLCBjdGwpOworCS8qIGRpZmZlcmVudCBub2RlcyBoYXZlIGRpZmZlcmVudCBzZXR0aW5nLCBkaXNhYmxlIHRoZW0gYWxsIGF0IGZpcnN0Ki8KKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShidXNfZGV2X3Jhbmdlcyk7IGkrKykgeworCQlpbnQgYnVzOworCQlpbnQgZGV2X2Jhc2UsIGRldl9saW1pdDsKKworCQlidXMgPSBidXNfZGV2X3Jhbmdlc1tpXS5idXM7CisJCWRldl9iYXNlID0gYnVzX2Rldl9yYW5nZXNbaV0uZGV2X2Jhc2U7CisJCWRldl9saW1pdCA9IGJ1c19kZXZfcmFuZ2VzW2ldLmRldl9saW1pdDsKKworCQlmb3IgKHNsb3QgPSBkZXZfYmFzZTsgc2xvdCA8IGRldl9saW1pdDsgc2xvdCsrKSB7CisJCQlpZiAoIWVhcmx5X2lzX2s4X25iKHJlYWRfcGNpX2NvbmZpZyhidXMsIHNsb3QsIDMsIDB4MDApKSkKKwkJCQljb250aW51ZTsKKworCQkJY3RsID0gcmVhZF9wY2lfY29uZmlnKGJ1cywgc2xvdCwgMywgQU1ENjRfR0FSVEFQRVJUVVJFQ1RMKTsKKwkJCWN0bCAmPSB+QU1ENjRfR0FSVEVOOworCQkJd3JpdGVfcGNpX2NvbmZpZyhidXMsIHNsb3QsIDMsIEFNRDY0X0dBUlRBUEVSVFVSRUNUTCwgY3RsKTsKKwkJfQogCX0KIAogfQogCitzdGF0aWMgaW50IF9faW5pdGRhdGEgcHJpbnRlZF9nYXJ0X3NpemVfbXNnOworCiB2b2lkIF9faW5pdCBnYXJ0X2lvbW11X2hvbGVfaW5pdCh2b2lkKQogeworCXUzMiBhZ3BfYXBlcl9iYXNlID0gMCwgYWdwX2FwZXJfb3JkZXIgPSAwOwogCXUzMiBhcGVyX3NpemUsIGFwZXJfYWxsb2MgPSAwLCBhcGVyX29yZGVyID0gMCwgbGFzdF9hcGVyX29yZGVyID0gMDsKIAl1NjQgYXBlcl9iYXNlLCBsYXN0X2FwZXJfYmFzZSA9IDA7Ci0JaW50IGZpeCwgbnVtLCB2YWxpZF9hZ3AgPSAwOwotCWludCBub2RlOworCWludCBmaXgsIHNsb3QsIHZhbGlkX2FncCA9IDA7CisJaW50IGksIG5vZGU7CiAKIAlpZiAoZ2FydF9pb21tdV9hcGVydHVyZV9kaXNhYmxlZCB8fCAhZml4X2FwZXJ0dXJlIHx8CiAJICAgICFlYXJseV9wY2lfYWxsb3dlZCgpKQpAQCAtMzIzLDM4ICszNzMsNjUgQEAKIAogCXByaW50ayhLRVJOX0lORk8gICJDaGVja2luZyBhcGVydHVyZS4uLlxuIik7CiAKKwlpZiAoIWZhbGxiYWNrX2FwZXJfZm9yY2UpCisJCWFncF9hcGVyX2Jhc2UgPSBzZWFyY2hfYWdwX2JyaWRnZSgmYWdwX2FwZXJfb3JkZXIsICZ2YWxpZF9hZ3ApOworCiAJZml4ID0gMDsKIAlub2RlID0gMDsKLQlmb3IgKG51bSA9IDI0OyBudW0gPCAzMjsgbnVtKyspIHsKLQkJaWYgKCFlYXJseV9pc19rOF9uYihyZWFkX3BjaV9jb25maWcoMCwgbnVtLCAzLCAweDAwKSkpCi0JCQljb250aW51ZTsKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShidXNfZGV2X3Jhbmdlcyk7IGkrKykgeworCQlpbnQgYnVzOworCQlpbnQgZGV2X2Jhc2UsIGRldl9saW1pdDsKIAotCQlpb21tdV9kZXRlY3RlZCA9IDE7Ci0JCWdhcnRfaW9tbXVfYXBlcnR1cmUgPSAxOworCQlidXMgPSBidXNfZGV2X3Jhbmdlc1tpXS5idXM7CisJCWRldl9iYXNlID0gYnVzX2Rldl9yYW5nZXNbaV0uZGV2X2Jhc2U7CisJCWRldl9saW1pdCA9IGJ1c19kZXZfcmFuZ2VzW2ldLmRldl9saW1pdDsKIAotCQlhcGVyX29yZGVyID0gKHJlYWRfcGNpX2NvbmZpZygwLCBudW0sIDMsIDB4OTApID4+IDEpICYgNzsKLQkJYXBlcl9zaXplID0gKDMyICogMTAyNCAqIDEwMjQpIDw8IGFwZXJfb3JkZXI7Ci0JCWFwZXJfYmFzZSA9IHJlYWRfcGNpX2NvbmZpZygwLCBudW0sIDMsIDB4OTQpICYgMHg3ZmZmOwotCQlhcGVyX2Jhc2UgPDw9IDI1OworCQlmb3IgKHNsb3QgPSBkZXZfYmFzZTsgc2xvdCA8IGRldl9saW1pdDsgc2xvdCsrKSB7CisJCQlpZiAoIWVhcmx5X2lzX2s4X25iKHJlYWRfcGNpX2NvbmZpZyhidXMsIHNsb3QsIDMsIDB4MDApKSkKKwkJCQljb250aW51ZTsKIAotCQlwcmludGsoS0VSTl9JTkZPICJOb2RlICVkOiBhcGVydHVyZSBAICVMeCBzaXplICV1IE1CXG4iLAotCQkJCW5vZGUsIGFwZXJfYmFzZSwgYXBlcl9zaXplID4+IDIwKTsKLQkJbm9kZSsrOworCQkJaW9tbXVfZGV0ZWN0ZWQgPSAxOworCQkJZ2FydF9pb21tdV9hcGVydHVyZSA9IDE7CiAKLQkJaWYgKCFhcGVydHVyZV92YWxpZChhcGVyX2Jhc2UsIGFwZXJfc2l6ZSkpIHsKLQkJCWZpeCA9IDE7Ci0JCQlicmVhazsKKwkJCWFwZXJfb3JkZXIgPSAocmVhZF9wY2lfY29uZmlnKGJ1cywgc2xvdCwgMywgQU1ENjRfR0FSVEFQRVJUVVJFQ1RMKSA+PiAxKSAmIDc7CisJCQlhcGVyX3NpemUgPSAoMzIgKiAxMDI0ICogMTAyNCkgPDwgYXBlcl9vcmRlcjsKKwkJCWFwZXJfYmFzZSA9IHJlYWRfcGNpX2NvbmZpZyhidXMsIHNsb3QsIDMsIEFNRDY0X0dBUlRBUEVSVFVSRUJBU0UpICYgMHg3ZmZmOworCQkJYXBlcl9iYXNlIDw8PSAyNTsKKworCQkJcHJpbnRrKEtFUk5fSU5GTyAiTm9kZSAlZDogYXBlcnR1cmUgQCAlTHggc2l6ZSAldSBNQlxuIiwKKwkJCQkJbm9kZSwgYXBlcl9iYXNlLCBhcGVyX3NpemUgPj4gMjApOworCQkJbm9kZSsrOworCisJCQlpZiAoIWFwZXJ0dXJlX3ZhbGlkKGFwZXJfYmFzZSwgYXBlcl9zaXplLCA2NDw8MjApKSB7CisJCQkJaWYgKHZhbGlkX2FncCAmJiBhZ3BfYXBlcl9iYXNlICYmCisJCQkJICAgIGFncF9hcGVyX2Jhc2UgPT0gYXBlcl9iYXNlICYmCisJCQkJICAgIGFncF9hcGVyX29yZGVyID09IGFwZXJfb3JkZXIpIHsKKwkJCQkJLyogdGhlIHNhbWUgYmV0d2VlbiB0d28gc2V0dGluZyBmcm9tIE5CIGFuZCBhZ3AgKi8KKwkJCQkJaWYgKCFub19pb21tdSAmJgorCQkJCQkgICAgbWF4X3BmbiA+IE1BWF9ETUEzMl9QRk4gJiYKKwkJCQkJICAgICFwcmludGVkX2dhcnRfc2l6ZV9tc2cpIHsKKwkJCQkJCXByaW50ayhLRVJOX0VSUiAieW91IGFyZSB1c2luZyBpb21tdSB3aXRoIGFncCwgYnV0IEdBUlQgc2l6ZSBpcyBsZXNzIHRoYW4gNjRNXG4iKTsKKwkJCQkJCXByaW50ayhLRVJOX0VSUiAicGxlYXNlIGluY3JlYXNlIEdBUlQgc2l6ZSBpbiB5b3VyIEJJT1Mgc2V0dXBcbiIpOworCQkJCQkJcHJpbnRrKEtFUk5fRVJSICJpZiBCSU9TIGRvZXNuJ3QgaGF2ZSB0aGF0IG9wdGlvbiwgY29udGFjdCB5b3VyIEhXIHZlbmRvciFcbiIpOworCQkJCQkJcHJpbnRlZF9nYXJ0X3NpemVfbXNnID0gMTsKKwkJCQkJfQorCQkJCX0gZWxzZSB7CisJCQkJCWZpeCA9IDE7CisJCQkJCWdvdG8gb3V0OworCQkJCX0KKwkJCX0KKworCQkJaWYgKChsYXN0X2FwZXJfb3JkZXIgJiYgYXBlcl9vcmRlciAhPSBsYXN0X2FwZXJfb3JkZXIpIHx8CisJCQkgICAgKGxhc3RfYXBlcl9iYXNlICYmIGFwZXJfYmFzZSAhPSBsYXN0X2FwZXJfYmFzZSkpIHsKKwkJCQlmaXggPSAxOworCQkJCWdvdG8gb3V0OworCQkJfQorCQkJbGFzdF9hcGVyX29yZGVyID0gYXBlcl9vcmRlcjsKKwkJCWxhc3RfYXBlcl9iYXNlID0gYXBlcl9iYXNlOwogCQl9Ci0KLQkJaWYgKChsYXN0X2FwZXJfb3JkZXIgJiYgYXBlcl9vcmRlciAhPSBsYXN0X2FwZXJfb3JkZXIpIHx8Ci0JCSAgICAobGFzdF9hcGVyX2Jhc2UgJiYgYXBlcl9iYXNlICE9IGxhc3RfYXBlcl9iYXNlKSkgewotCQkJZml4ID0gMTsKLQkJCWJyZWFrOwotCQl9Ci0JCWxhc3RfYXBlcl9vcmRlciA9IGFwZXJfb3JkZXI7Ci0JCWxhc3RfYXBlcl9iYXNlID0gYXBlcl9iYXNlOwogCX0KIAorb3V0OgogCWlmICghZml4ICYmICFmYWxsYmFja19hcGVyX2ZvcmNlKSB7CiAJCWlmIChsYXN0X2FwZXJfYmFzZSkgewogCQkJdW5zaWduZWQgbG9uZyBuID0gKDMyICogMTAyNCAqIDEwMjQpIDw8IGxhc3RfYXBlcl9vcmRlcjsKQEAgLTM2NCwxNCArNDQxLDE2IEBACiAJCXJldHVybjsKIAl9CiAKLQlpZiAoIWZhbGxiYWNrX2FwZXJfZm9yY2UpCi0JCWFwZXJfYWxsb2MgPSBzZWFyY2hfYWdwX2JyaWRnZSgmYXBlcl9vcmRlciwgJnZhbGlkX2FncCk7CisJaWYgKCFmYWxsYmFja19hcGVyX2ZvcmNlKSB7CisJCWFwZXJfYWxsb2MgPSBhZ3BfYXBlcl9iYXNlOworCQlhcGVyX29yZGVyID0gYWdwX2FwZXJfb3JkZXI7CisJfQogCiAJaWYgKGFwZXJfYWxsb2MpIHsKIAkJLyogR290IHRoZSBhcGVydHVyZSBmcm9tIHRoZSBBR1AgYnJpZGdlICovCiAJfSBlbHNlIGlmIChzd2lvdGxiICYmICF2YWxpZF9hZ3ApIHsKIAkJLyogRG8gbm90aGluZyAqLwotCX0gZWxzZSBpZiAoKCFub19pb21tdSAmJiBlbmRfcGZuID4gTUFYX0RNQTMyX1BGTikgfHwKKwl9IGVsc2UgaWYgKCghbm9faW9tbXUgJiYgbWF4X3BmbiA+IE1BWF9ETUEzMl9QRk4pIHx8CiAJCSAgIGZvcmNlX2lvbW11IHx8CiAJCSAgIHZhbGlkX2FncCB8fAogCQkgICBmYWxsYmFja19hcGVyX2ZvcmNlKSB7CkBAIC00MDEsMTYgKzQ4MCwyNCBAQAogCX0KIAogCS8qIEZpeCB1cCB0aGUgbm9ydGggYnJpZGdlcyAqLwotCWZvciAobnVtID0gMjQ7IG51bSA8IDMyOyBudW0rKykgewotCQlpZiAoIWVhcmx5X2lzX2s4X25iKHJlYWRfcGNpX2NvbmZpZygwLCBudW0sIDMsIDB4MDApKSkKLQkJCWNvbnRpbnVlOworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGJ1c19kZXZfcmFuZ2VzKTsgaSsrKSB7CisJCWludCBidXM7CisJCWludCBkZXZfYmFzZSwgZGV2X2xpbWl0OwogCi0JCS8qCi0JCSAqIERvbid0IGVuYWJsZSB0cmFuc2xhdGlvbiB5ZXQuIFRoYXQgaXMgZG9uZSBsYXRlci4KLQkJICogQXNzdW1lIHRoaXMgQklPUyBkaWRuJ3QgaW5pdGlhbGlzZSB0aGUgR0FSVCBzbwotCQkgKiBqdXN0IG92ZXJ3cml0ZSBhbGwgcHJldmlvdXMgYml0cwotCQkgKi8KLQkJd3JpdGVfcGNpX2NvbmZpZygwLCBudW0sIDMsIDB4OTAsIGFwZXJfb3JkZXI8PDEpOwotCQl3cml0ZV9wY2lfY29uZmlnKDAsIG51bSwgMywgMHg5NCwgYXBlcl9hbGxvYz4+MjUpOworCQlidXMgPSBidXNfZGV2X3Jhbmdlc1tpXS5idXM7CisJCWRldl9iYXNlID0gYnVzX2Rldl9yYW5nZXNbaV0uZGV2X2Jhc2U7CisJCWRldl9saW1pdCA9IGJ1c19kZXZfcmFuZ2VzW2ldLmRldl9saW1pdDsKKwkJZm9yIChzbG90ID0gZGV2X2Jhc2U7IHNsb3QgPCBkZXZfbGltaXQ7IHNsb3QrKykgeworCQkJaWYgKCFlYXJseV9pc19rOF9uYihyZWFkX3BjaV9jb25maWcoYnVzLCBzbG90LCAzLCAweDAwKSkpCisJCQkJY29udGludWU7CisKKwkJCS8qIERvbid0IGVuYWJsZSB0cmFuc2xhdGlvbiB5ZXQuIFRoYXQgaXMgZG9uZSBsYXRlci4KKwkJCSAgIEFzc3VtZSB0aGlzIEJJT1MgZGlkbid0IGluaXRpYWxpc2UgdGhlIEdBUlQgc28KKwkJCSAgIGp1c3Qgb3ZlcndyaXRlIGFsbCBwcmV2aW91cyBiaXRzICovCisJCQl3cml0ZV9wY2lfY29uZmlnKGJ1cywgc2xvdCwgMywgQU1ENjRfR0FSVEFQRVJUVVJFQ1RMLCBhcGVyX29yZGVyIDw8IDEpOworCQkJd3JpdGVfcGNpX2NvbmZpZyhidXMsIHNsb3QsIDMsIEFNRDY0X0dBUlRBUEVSVFVSRUJBU0UsIGFwZXJfYWxsb2MgPj4gMjUpOworCQl9CiAJfQorCisJc2V0X3VwX2dhcnRfcmVzdW1lKGFwZXJfb3JkZXIsIGFwZXJfYWxsb2MpOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2FwaWNfMzIuYyBiL2FyY2gveDg2L2tlcm5lbC9hcGljXzMyLmMKaW5kZXggNGI5OWIxYi4uYTQzN2QwMiAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2FwaWNfMzIuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvYXBpY18zMi5jCkBAIC01MiwzMCArNTIsNDEgQEAKIAogdW5zaWduZWQgbG9uZyBtcF9sYXBpY19hZGRyOwogCi1ERUZJTkVfUEVSX0NQVSh1MTYsIHg4Nl9iaW9zX2NwdV9hcGljaWQpID0gQkFEX0FQSUNJRDsKLUVYUE9SVF9QRVJfQ1BVX1NZTUJPTCh4ODZfYmlvc19jcHVfYXBpY2lkKTsKLQogLyoKICAqIEtub2IgdG8gY29udHJvbCBvdXIgd2lsbGluZ25lc3MgdG8gZW5hYmxlIHRoZSBsb2NhbCBBUElDLgogICoKLSAqIC0xPWZvcmNlLWRpc2FibGUsICsxPWZvcmNlLWVuYWJsZQorICogKzE9Zm9yY2UtZW5hYmxlCiAgKi8KLXN0YXRpYyBpbnQgZW5hYmxlX2xvY2FsX2FwaWMgX19pbml0ZGF0YTsKK3N0YXRpYyBpbnQgZm9yY2VfZW5hYmxlX2xvY2FsX2FwaWM7CitpbnQgZGlzYWJsZV9hcGljOwogCiAvKiBMb2NhbCBBUElDIHRpbWVyIHZlcmlmaWNhdGlvbiBvayAqLwogc3RhdGljIGludCBsb2NhbF9hcGljX3RpbWVyX3ZlcmlmeV9vazsKLS8qIERpc2FibGUgbG9jYWwgQVBJQyB0aW1lciBmcm9tIHRoZSBrZXJuZWwgY29tbWFuZGxpbmUgb3IgdmlhIGRtaSBxdWlyawotICAgb3IgdXNpbmcgQ1BVIE1TUiBjaGVjayAqLwotaW50IGxvY2FsX2FwaWNfdGltZXJfZGlzYWJsZWQ7CisvKiBEaXNhYmxlIGxvY2FsIEFQSUMgdGltZXIgZnJvbSB0aGUga2VybmVsIGNvbW1hbmRsaW5lIG9yIHZpYSBkbWkgcXVpcmsgKi8KK3N0YXRpYyBpbnQgbG9jYWxfYXBpY190aW1lcl9kaXNhYmxlZDsKIC8qIExvY2FsIEFQSUMgdGltZXIgd29ya3MgaW4gQzIgKi8KIGludCBsb2NhbF9hcGljX3RpbWVyX2MyX29rOwogRVhQT1JUX1NZTUJPTF9HUEwobG9jYWxfYXBpY190aW1lcl9jMl9vayk7CiAKK2ludCBmaXJzdF9zeXN0ZW1fdmVjdG9yID0gMHhmZTsKKworY2hhciBzeXN0ZW1fdmVjdG9yc1tOUl9WRUNUT1JTXSA9IHsgWzAgLi4uIE5SX1ZFQ1RPUlMtMV0gPSBTWVNfVkVDVE9SX0ZSRUV9OworCiAvKgogICogRGVidWcgbGV2ZWwsIGV4cG9ydGVkIGZvciBpb19hcGljLmMKICAqLwogaW50IGFwaWNfdmVyYm9zaXR5OwogCitpbnQgcGljX21vZGU7CisKKy8qIEhhdmUgd2UgZm91bmQgYW4gTVAgdGFibGUgKi8KK2ludCBzbXBfZm91bmRfY29uZmlnOworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIGxhcGljX3Jlc291cmNlID0geworCS5uYW1lID0gIkxvY2FsIEFQSUMiLAorCS5mbGFncyA9IElPUkVTT1VSQ0VfTUVNIHwgSU9SRVNPVVJDRV9CVVNZLAorfTsKKwogc3RhdGljIHVuc2lnbmVkIGludCBjYWxpYnJhdGlvbl9yZXN1bHQ7CiAKIHN0YXRpYyBpbnQgbGFwaWNfbmV4dF9ldmVudCh1bnNpZ25lZCBsb25nIGRlbHRhLApAQCAtNTQ1LDcgKzU1Niw3IEBACiAJCQlsYXBpY19jbG9ja2V2ZW50LmZlYXR1cmVzICY9IH5DTE9DS19FVlRfRkVBVF9EVU1NWTsKIAkJZWxzZQogCQkJcHJpbnRrKEtFUk5fV0FSTklORyAiQVBJQyB0aW1lciByZWdpc3RlcmVkIGFzIGR1bW15LCIKLQkJCSAgICAgICAiIGR1ZSB0byBubWlfd2F0Y2hkb2c9MSFcbiIpOworCQkJCSIgZHVlIHRvIG5taV93YXRjaGRvZz0lZCFcbiIsIG5taV93YXRjaGRvZyk7CiAJfQogCiAJLyogU2V0dXAgdGhlIGxhcGljIG9yIHJlcXVlc3QgdGhlIGJyb2FkY2FzdCAqLwpAQCAtOTYzLDcgKzk3NCw3IEBACiAJICogRG91YmxlLWNoZWNrIHdoZXRoZXIgdGhpcyBBUElDIGlzIHJlYWxseSByZWdpc3RlcmVkLgogCSAqLwogCWlmICghYXBpY19pZF9yZWdpc3RlcmVkKCkpCi0JCUJVRygpOworCQlXQVJOX09OX09OQ0UoMSk7CiAKIAkvKgogCSAqIEludGVsIHJlY29tbWVuZHMgdG8gc2V0IERGUiwgTERSIGFuZCBUUFIgYmVmb3JlIGVuYWJsaW5nCkBAIC0xMDk0LDcgKzExMDUsNyBAQAogCXUzMiBoLCBsLCBmZWF0dXJlczsKIAogCS8qIERpc2FibGVkIGJ5IGtlcm5lbCBvcHRpb24/ICovCi0JaWYgKGVuYWJsZV9sb2NhbF9hcGljIDwgMCkKKwlpZiAoZGlzYWJsZV9hcGljKQogCQlyZXR1cm4gLTE7CiAKIAlzd2l0Y2ggKGJvb3RfY3B1X2RhdGEueDg2X3ZlbmRvcikgewpAQCAtMTExNyw3ICsxMTI4LDcgQEAKIAkJICogT3Zlci1yaWRlIEJJT1MgYW5kIHRyeSB0byBlbmFibGUgdGhlIGxvY2FsIEFQSUMgb25seSBpZgogCQkgKiAibGFwaWMiIHNwZWNpZmllZC4KIAkJICovCi0JCWlmIChlbmFibGVfbG9jYWxfYXBpYyA8PSAwKSB7CisJCWlmICghZm9yY2VfZW5hYmxlX2xvY2FsX2FwaWMpIHsKIAkJCXByaW50ayhLRVJOX0lORk8gIkxvY2FsIEFQSUMgZGlzYWJsZWQgYnkgQklPUyAtLSAiCiAJCQkgICAgICAgInlvdSBjYW4gZW5hYmxlIGl0IHdpdGggXCJsYXBpY1wiXG4iKTsKIAkJCXJldHVybiAtMTsKQEAgLTExNTQsOSArMTE2NSw2IEBACiAJaWYgKGwgJiBNU1JfSUEzMl9BUElDQkFTRV9FTkFCTEUpCiAJCW1wX2xhcGljX2FkZHIgPSBsICYgTVNSX0lBMzJfQVBJQ0JBU0VfQkFTRTsKIAotCWlmIChubWlfd2F0Y2hkb2cgIT0gTk1JX05PTkUgJiYgbm1pX3dhdGNoZG9nICE9IE5NSV9ESVNBQkxFRCkKLQkJbm1pX3dhdGNoZG9nID0gTk1JX0xPQ0FMX0FQSUM7Ci0KIAlwcmludGsoS0VSTl9JTkZPICJGb3VuZCBhbmQgZW5hYmxlZCBsb2NhbCBBUElDIVxuIik7CiAKIAlhcGljX3BtX2FjdGl2YXRlKCk7CkBAIC0xMTk1LDM2ICsxMjAzLDYgQEAKIAlpZiAoYm9vdF9jcHVfcGh5c2ljYWxfYXBpY2lkID09IC0xVSkKIAkJYm9vdF9jcHVfcGh5c2ljYWxfYXBpY2lkID0gR0VUX0FQSUNfSUQocmVhZF9hcGljX2lkKCkpOwogCi0jaWZkZWYgQ09ORklHX1g4Nl9JT19BUElDCi0JewotCQl1bnNpZ25lZCBsb25nIGlvYXBpY19waHlzLCBpZHggPSBGSVhfSU9fQVBJQ19CQVNFXzA7Ci0JCWludCBpOwotCi0JCWZvciAoaSA9IDA7IGkgPCBucl9pb2FwaWNzOyBpKyspIHsKLQkJCWlmIChzbXBfZm91bmRfY29uZmlnKSB7Ci0JCQkJaW9hcGljX3BoeXMgPSBtcF9pb2FwaWNzW2ldLm1wY19hcGljYWRkcjsKLQkJCQlpZiAoIWlvYXBpY19waHlzKSB7Ci0JCQkJCXByaW50ayhLRVJOX0VSUgotCQkJCQkgICAgICAgIldBUk5JTkc6IGJvZ3VzIHplcm8gSU8tQVBJQyAiCi0JCQkJCSAgICAgICAiYWRkcmVzcyBmb3VuZCBpbiBNUFRBQkxFLCAiCi0JCQkJCSAgICAgICAiZGlzYWJsaW5nIElPL0FQSUMgc3VwcG9ydCFcbiIpOwotCQkJCQlzbXBfZm91bmRfY29uZmlnID0gMDsKLQkJCQkJc2tpcF9pb2FwaWNfc2V0dXAgPSAxOwotCQkJCQlnb3RvIGZha2VfaW9hcGljX3BhZ2U7Ci0JCQkJfQotCQkJfSBlbHNlIHsKLWZha2VfaW9hcGljX3BhZ2U6Ci0JCQkJaW9hcGljX3BoeXMgPSAodW5zaWduZWQgbG9uZykKLQkJCQkJICAgICAgYWxsb2NfYm9vdG1lbV9wYWdlcyhQQUdFX1NJWkUpOwotCQkJCWlvYXBpY19waHlzID0gX19wYShpb2FwaWNfcGh5cyk7Ci0JCQl9Ci0JCQlzZXRfZml4bWFwX25vY2FjaGUoaWR4LCBpb2FwaWNfcGh5cyk7Ci0JCQlwcmludGsoS0VSTl9ERUJVRyAibWFwcGVkIElPQVBJQyB0byAlMDhseCAoJTA4bHgpXG4iLAotCQkJICAgICAgIF9fZml4X3RvX3ZpcnQoaWR4KSwgaW9hcGljX3BoeXMpOwotCQkJaWR4Kys7Ci0JCX0KLQl9Ci0jZW5kaWYKIH0KIAogLyoKQEAgLTEyMzYsNyArMTIxNCw3IEBACiAKIGludCBfX2luaXQgQVBJQ19pbml0X3VuaXByb2Nlc3Nvcih2b2lkKQogewotCWlmIChlbmFibGVfbG9jYWxfYXBpYyA8IDApCisJaWYgKGRpc2FibGVfYXBpYykKIAkJY2xlYXJfY3B1X2NhcCgmYm9vdF9jcHVfZGF0YSwgWDg2X0ZFQVRVUkVfQVBJQyk7CiAKIAlpZiAoIXNtcF9mb3VuZF9jb25maWcgJiYgIWNwdV9oYXNfYXBpYykKQEAgLTEyNjUsMTAgKzEyNDMsMTQgQEAKICNpZmRlZiBDT05GSUdfQ1JBU0hfRFVNUAogCWJvb3RfY3B1X3BoeXNpY2FsX2FwaWNpZCA9IEdFVF9BUElDX0lEKHJlYWRfYXBpY19pZCgpKTsKICNlbmRpZgotCXBoeXNfY3B1X3ByZXNlbnRfbWFwID0gcGh5c2lkX21hc2tfb2ZfcGh5c2lkKGJvb3RfY3B1X3BoeXNpY2FsX2FwaWNpZCk7CisJcGh5c2lkX3NldF9tYXNrX29mX3BoeXNpZChib290X2NwdV9waHlzaWNhbF9hcGljaWQsICZwaHlzX2NwdV9wcmVzZW50X21hcCk7CiAKIAlzZXR1cF9sb2NhbF9BUElDKCk7CiAKKyNpZmRlZiBDT05GSUdfWDg2X0lPX0FQSUMKKwlpZiAoIXNtcF9mb3VuZF9jb25maWcgfHwgc2tpcF9pb2FwaWNfc2V0dXAgfHwgIW5yX2lvYXBpY3MpCisjZW5kaWYKKwkJbG9jYWxpc2Vfbm1pX3dhdGNoZG9nKCk7CiAJZW5kX2xvY2FsX0FQSUNfc2V0dXAoKTsKICNpZmRlZiBDT05GSUdfWDg2X0lPX0FQSUMKIAlpZiAoc21wX2ZvdW5kX2NvbmZpZykKQEAgLTEzNTEsMTMgKzEzMzMsMTcgQEAKIAkgKiBUaGUgcmVzY2hlZHVsZSBpbnRlcnJ1cHQgaXMgYSBDUFUtdG8tQ1BVIHJlc2NoZWR1bGUtaGVscGVyCiAJICogSVBJLCBkcml2ZW4gYnkgd2FrZXVwLgogCSAqLwotCXNldF9pbnRyX2dhdGUoUkVTQ0hFRFVMRV9WRUNUT1IsIHJlc2NoZWR1bGVfaW50ZXJydXB0KTsKKwlhbGxvY19pbnRyX2dhdGUoUkVTQ0hFRFVMRV9WRUNUT1IsIHJlc2NoZWR1bGVfaW50ZXJydXB0KTsKIAogCS8qIElQSSBmb3IgaW52YWxpZGF0aW9uICovCi0Jc2V0X2ludHJfZ2F0ZShJTlZBTElEQVRFX1RMQl9WRUNUT1IsIGludmFsaWRhdGVfaW50ZXJydXB0KTsKKwlhbGxvY19pbnRyX2dhdGUoSU5WQUxJREFURV9UTEJfVkVDVE9SLCBpbnZhbGlkYXRlX2ludGVycnVwdCk7CiAKIAkvKiBJUEkgZm9yIGdlbmVyaWMgZnVuY3Rpb24gY2FsbCAqLwotCXNldF9pbnRyX2dhdGUoQ0FMTF9GVU5DVElPTl9WRUNUT1IsIGNhbGxfZnVuY3Rpb25faW50ZXJydXB0KTsKKwlhbGxvY19pbnRyX2dhdGUoQ0FMTF9GVU5DVElPTl9WRUNUT1IsIGNhbGxfZnVuY3Rpb25faW50ZXJydXB0KTsKKworCS8qIElQSSBmb3Igc2luZ2xlIGNhbGwgZnVuY3Rpb24gKi8KKwlzZXRfaW50cl9nYXRlKENBTExfRlVOQ1RJT05fU0lOR0xFX1ZFQ1RPUiwKKwkJCQljYWxsX2Z1bmN0aW9uX3NpbmdsZV9pbnRlcnJ1cHQpOwogfQogI2VuZGlmCiAKQEAgLTEzNzAsMTUgKzEzNTYsMTUgQEAKIAlzbXBfaW50cl9pbml0KCk7CiAjZW5kaWYKIAkvKiBzZWxmIGdlbmVyYXRlZCBJUEkgZm9yIGxvY2FsIEFQSUMgdGltZXIgKi8KLQlzZXRfaW50cl9nYXRlKExPQ0FMX1RJTUVSX1ZFQ1RPUiwgYXBpY190aW1lcl9pbnRlcnJ1cHQpOworCWFsbG9jX2ludHJfZ2F0ZShMT0NBTF9USU1FUl9WRUNUT1IsIGFwaWNfdGltZXJfaW50ZXJydXB0KTsKIAogCS8qIElQSSB2ZWN0b3JzIGZvciBBUElDIHNwdXJpb3VzIGFuZCBlcnJvciBpbnRlcnJ1cHRzICovCi0Jc2V0X2ludHJfZ2F0ZShTUFVSSU9VU19BUElDX1ZFQ1RPUiwgc3B1cmlvdXNfaW50ZXJydXB0KTsKLQlzZXRfaW50cl9nYXRlKEVSUk9SX0FQSUNfVkVDVE9SLCBlcnJvcl9pbnRlcnJ1cHQpOworCWFsbG9jX2ludHJfZ2F0ZShTUFVSSU9VU19BUElDX1ZFQ1RPUiwgc3B1cmlvdXNfaW50ZXJydXB0KTsKKwlhbGxvY19pbnRyX2dhdGUoRVJST1JfQVBJQ19WRUNUT1IsIGVycm9yX2ludGVycnVwdCk7CiAKIAkvKiB0aGVybWFsIG1vbml0b3IgTFZUIGludGVycnVwdCAqLwogI2lmZGVmIENPTkZJR19YODZfTUNFX1A0VEhFUk1BTAotCXNldF9pbnRyX2dhdGUoVEhFUk1BTF9BUElDX1ZFQ1RPUiwgdGhlcm1hbF9pbnRlcnJ1cHQpOworCWFsbG9jX2ludHJfZ2F0ZShUSEVSTUFMX0FQSUNfVkVDVE9SLCB0aGVybWFsX2ludGVycnVwdCk7CiAjZW5kaWYKIH0KIApAQCAtMTUxMyw2ICsxNDk5LDkgQEAKIAkJICovCiAJCWNwdSA9IDA7CiAKKwlpZiAoYXBpY2lkID4gbWF4X3BoeXNpY2FsX2FwaWNpZCkKKwkJbWF4X3BoeXNpY2FsX2FwaWNpZCA9IGFwaWNpZDsKKwogCS8qCiAJICogV291bGQgYmUgcHJlZmVyYWJsZSB0byBzd2l0Y2ggdG8gYmlnc21wIHdoZW4gQ09ORklHX0hPVFBMVUdfQ1BVPXkKIAkgKiBidXQgd2UgbmVlZCB0byB3b3JrIG90aGVyIGRlcGVuZGVuY2llcyBsaWtlIFNNUF9TVVNQRU5EIGV0YwpAQCAtMTUyMCw3ICsxNTA5LDcgQEAKIAkgKiBpZiAoQ1BVX0hPVFBMVUdfRU5BQkxFRCB8fCBudW1fcHJvY2Vzc29ycyA+IDgpCiAJICogICAgICAgLSBBc2hvayBSYWogPGFzaG9rLnJhakBpbnRlbC5jb20+CiAJICovCi0JaWYgKG51bV9wcm9jZXNzb3JzID4gOCkgeworCWlmIChtYXhfcGh5c2ljYWxfYXBpY2lkID49IDgpIHsKIAkJc3dpdGNoIChib290X2NwdV9kYXRhLng4Nl92ZW5kb3IpIHsKIAkJY2FzZSBYODZfVkVORE9SX0lOVEVMOgogCQkJaWYgKCFBUElDX1hBUElDKHZlcnNpb24pKSB7CkBAIC0xNTM0LDkgKzE1MjMsOSBAQAogCX0KICNpZmRlZiBDT05GSUdfU01QCiAJLyogYXJlIHdlIGJlaW5nIGNhbGxlZCBlYXJseSBpbiBrZXJuZWwgc3RhcnR1cD8gKi8KLQlpZiAoeDg2X2NwdV90b19hcGljaWRfZWFybHlfcHRyKSB7Ci0JCXUxNiAqY3B1X3RvX2FwaWNpZCA9IHg4Nl9jcHVfdG9fYXBpY2lkX2Vhcmx5X3B0cjsKLQkJdTE2ICpiaW9zX2NwdV9hcGljaWQgPSB4ODZfYmlvc19jcHVfYXBpY2lkX2Vhcmx5X3B0cjsKKwlpZiAoZWFybHlfcGVyX2NwdV9wdHIoeDg2X2NwdV90b19hcGljaWQpKSB7CisJCXUxNiAqY3B1X3RvX2FwaWNpZCA9IGVhcmx5X3Blcl9jcHVfcHRyKHg4Nl9jcHVfdG9fYXBpY2lkKTsKKwkJdTE2ICpiaW9zX2NwdV9hcGljaWQgPSBlYXJseV9wZXJfY3B1X3B0cih4ODZfYmlvc19jcHVfYXBpY2lkKTsKIAogCQljcHVfdG9fYXBpY2lkW2NwdV0gPSBhcGljaWQ7CiAJCWJpb3NfY3B1X2FwaWNpZFtjcHVdID0gYXBpY2lkOwpAQCAtMTcwMywxNCArMTY5MiwxNCBAQAogICovCiBzdGF0aWMgaW50IF9faW5pdCBwYXJzZV9sYXBpYyhjaGFyICphcmcpCiB7Ci0JZW5hYmxlX2xvY2FsX2FwaWMgPSAxOworCWZvcmNlX2VuYWJsZV9sb2NhbF9hcGljID0gMTsKIAlyZXR1cm4gMDsKIH0KIGVhcmx5X3BhcmFtKCJsYXBpYyIsIHBhcnNlX2xhcGljKTsKIAogc3RhdGljIGludCBfX2luaXQgcGFyc2Vfbm9sYXBpYyhjaGFyICphcmcpCiB7Ci0JZW5hYmxlX2xvY2FsX2FwaWMgPSAtMTsKKwlkaXNhYmxlX2FwaWMgPSAxOwogCWNsZWFyX2NwdV9jYXAoJmJvb3RfY3B1X2RhdGEsIFg4Nl9GRUFUVVJFX0FQSUMpOwogCXJldHVybiAwOwogfQpAQCAtMTc0MCwzICsxNzI5LDIxIEBACiB9CiBfX3NldHVwKCJhcGljPSIsIGFwaWNfc2V0X3ZlcmJvc2l0eSk7CiAKK3N0YXRpYyBpbnQgX19pbml0IGxhcGljX2luc2VydF9yZXNvdXJjZSh2b2lkKQoreworCWlmICghYXBpY19waHlzKQorCQlyZXR1cm4gLTE7CisKKwkvKiBQdXQgbG9jYWwgQVBJQyBpbnRvIHRoZSByZXNvdXJjZSBtYXAuICovCisJbGFwaWNfcmVzb3VyY2Uuc3RhcnQgPSBhcGljX3BoeXM7CisJbGFwaWNfcmVzb3VyY2UuZW5kID0gbGFwaWNfcmVzb3VyY2Uuc3RhcnQgKyBQQUdFX1NJWkUgLSAxOworCWluc2VydF9yZXNvdXJjZSgmaW9tZW1fcmVzb3VyY2UsICZsYXBpY19yZXNvdXJjZSk7CisKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIG5lZWQgY2FsbCBpbnNlcnQgYWZ0ZXIgZTgyMF9yZXNlcnZlX3Jlc291cmNlcygpCisgKiB0aGF0IGlzIHVzaW5nIHJlcXVlc3RfcmVzb3VyY2UKKyAqLworbGF0ZV9pbml0Y2FsbChsYXBpY19pbnNlcnRfcmVzb3VyY2UpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2FwaWNfNjQuYyBiL2FyY2gveDg2L2tlcm5lbC9hcGljXzY0LmMKaW5kZXggMDYzM2NmZC4uMWUzZDMyZSAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2FwaWNfNjQuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvYXBpY182NC5jCkBAIC00Myw3ICs0Myw3IEBACiAjaW5jbHVkZSA8bWFjaF9pcGkuaD4KICNpbmNsdWRlIDxtYWNoX2FwaWMuaD4KIAotaW50IGRpc2FibGVfYXBpY190aW1lciBfX2NwdWluaXRkYXRhOworc3RhdGljIGludCBkaXNhYmxlX2FwaWNfdGltZXIgX19jcHVpbml0ZGF0YTsKIHN0YXRpYyBpbnQgYXBpY19jYWxpYnJhdGVfcG10bXIgX19pbml0ZGF0YTsKIGludCBkaXNhYmxlX2FwaWM7CiAKQEAgLTU2LDYgKzU2LDkgQEAKICAqLwogaW50IGFwaWNfdmVyYm9zaXR5OwogCisvKiBIYXZlIHdlIGZvdW5kIGFuIE1QIHRhYmxlICovCitpbnQgc21wX2ZvdW5kX2NvbmZpZzsKKwogc3RhdGljIHN0cnVjdCByZXNvdXJjZSBsYXBpY19yZXNvdXJjZSA9IHsKIAkubmFtZSA9ICJMb2NhbCBBUElDIiwKIAkuZmxhZ3MgPSBJT1JFU09VUkNFX01FTSB8IElPUkVTT1VSQ0VfQlVTWSwKQEAgLTg3LDkgKzkwLDYgQEAKIAogdW5zaWduZWQgbG9uZyBtcF9sYXBpY19hZGRyOwogCi1ERUZJTkVfUEVSX0NQVSh1MTYsIHg4Nl9iaW9zX2NwdV9hcGljaWQpID0gQkFEX0FQSUNJRDsKLUVYUE9SVF9QRVJfQ1BVX1NZTUJPTCh4ODZfYmlvc19jcHVfYXBpY2lkKTsKLQogdW5zaWduZWQgaW50IF9fY3B1aW5pdGRhdGEgbWF4Y3B1cyA9IE5SX0NQVVM7CiAvKgogICogR2V0IHRoZSBMQVBJQyB2ZXJzaW9uCkBAIC00MTcsMzcgKzQxNywxMyBAQAogCQlsYXBpY19jbG9ja2V2ZW50LmZlYXR1cmVzICY9IH5DTE9DS19FVlRfRkVBVF9EVU1NWTsKIAllbHNlCiAJCXByaW50ayhLRVJOX1dBUk5JTkcgIkFQSUMgdGltZXIgcmVnaXN0ZXJlZCBhcyBkdW1teSwiCi0JCSAgICAgICAiIGR1ZSB0byBubWlfd2F0Y2hkb2c9MSFcbiIpOworCQkJIiBkdWUgdG8gbm1pX3dhdGNoZG9nPSVkIVxuIiwgbm1pX3dhdGNoZG9nKTsKIAogCXNldHVwX0FQSUNfdGltZXIoKTsKIH0KIAotLyoKLSAqIEFNRCBDMUUgZW5hYmxlZCBDUFVzIGhhdmUgYSByZWFsIG5hc3R5IHByb2JsZW06IFNvbWUgQklPU2VzIHNldCB0aGUKLSAqIEMxRSBmbGFnIG9ubHkgaW4gdGhlIHNlY29uZGFyeSBDUFUsIHNvIHdoZW4gd2UgZGV0ZWN0IHRoZSB3cmVja2FnZQotICogd2UgYWxyZWFkeSBoYXZlIGVuYWJsZWQgdGhlIGJvb3QgQ1BVIGxvY2FsIGFwaWMgdGltZXIuIENoZWNrLCBpZgotICogZGlzYWJsZV9hcGljX3RpbWVyIGlzIHNldCBhbmQgdGhlIERVTU1ZIGZsYWcgaXMgY2xlYXJlZC4gSWYgeWVzLAotICogc2V0IHRoZSBEVU1NWSBmbGFnIGFnYWluIGFuZCBmb3JjZSB0aGUgYnJvYWRjYXN0IG1vZGUgaW4gdGhlCi0gKiBjbG9ja2V2ZW50cyBsYXllci4KLSAqLwotc3RhdGljIHZvaWQgX19jcHVpbml0IGNoZWNrX2Jvb3RfYXBpY190aW1lcl9icm9hZGNhc3Qodm9pZCkKLXsKLQlpZiAoIWRpc2FibGVfYXBpY190aW1lciB8fAotCSAgICAobGFwaWNfY2xvY2tldmVudC5mZWF0dXJlcyAmIENMT0NLX0VWVF9GRUFUX0RVTU1ZKSkKLQkJcmV0dXJuOwotCi0JcHJpbnRrKEtFUk5fSU5GTyAiQU1EIEMxRSBkZXRlY3RlZCBsYXRlLiBGb3JjZSB0aW1lciBicm9hZGNhc3QuXG4iKTsKLQlsYXBpY19jbG9ja2V2ZW50LmZlYXR1cmVzIHw9IENMT0NLX0VWVF9GRUFUX0RVTU1ZOwotCi0JbG9jYWxfaXJxX2VuYWJsZSgpOwotCWNsb2NrZXZlbnRzX25vdGlmeShDTE9DS19FVlRfTk9USUZZX0JST0FEQ0FTVF9GT1JDRSwKLQkJCSAgICZib290X2NwdV9waHlzaWNhbF9hcGljaWQpOwotCWxvY2FsX2lycV9kaXNhYmxlKCk7Ci19Ci0KIHZvaWQgX19jcHVpbml0IHNldHVwX3NlY29uZGFyeV9BUElDX2Nsb2NrKHZvaWQpCiB7Ci0JY2hlY2tfYm9vdF9hcGljX3RpbWVyX2Jyb2FkY2FzdCgpOwogCXNldHVwX0FQSUNfdGltZXIoKTsKIH0KIApAQCAtODUwLDcgKzgyNiw2IEBACiB2b2lkIF9fY3B1aW5pdCBlbmRfbG9jYWxfQVBJQ19zZXR1cCh2b2lkKQogewogCWxhcGljX3NldHVwX2VzcigpOwotCW5taV93YXRjaGRvZ19kZWZhdWx0KCk7CiAJc2V0dXBfYXBpY19ubWlfd2F0Y2hkb2coTlVMTCk7CiAJYXBpY19wbV9hY3RpdmF0ZSgpOwogfQpAQCAtODc1LDcgKzg1MCw3IEBACiAKIHZvaWQgX19pbml0IGVhcmx5X2luaXRfbGFwaWNfbWFwcGluZyh2b2lkKQogewotCXVuc2lnbmVkIGxvbmcgYXBpY19waHlzOworCXVuc2lnbmVkIGxvbmcgcGh5c19hZGRyOwogCiAJLyoKIAkgKiBJZiBubyBsb2NhbCBBUElDIGNhbiBiZSBmb3VuZCB0aGVuIGdvIG91dApAQCAtODg0LDExICs4NTksMTEgQEAKIAlpZiAoIXNtcF9mb3VuZF9jb25maWcpCiAJCXJldHVybjsKIAotCWFwaWNfcGh5cyA9IG1wX2xhcGljX2FkZHI7CisJcGh5c19hZGRyID0gbXBfbGFwaWNfYWRkcjsKIAotCXNldF9maXhtYXBfbm9jYWNoZShGSVhfQVBJQ19CQVNFLCBhcGljX3BoeXMpOworCXNldF9maXhtYXBfbm9jYWNoZShGSVhfQVBJQ19CQVNFLCBwaHlzX2FkZHIpOwogCWFwaWNfcHJpbnRrKEFQSUNfVkVSQk9TRSwgIm1hcHBlZCBBUElDIHRvICUxNmx4ICglMTZseClcbiIsCi0JCQkJIEFQSUNfQkFTRSwgYXBpY19waHlzKTsKKwkJICAgIEFQSUNfQkFTRSwgcGh5c19hZGRyKTsKIAogCS8qCiAJICogRmV0Y2ggdGhlIEFQSUMgSUQgb2YgdGhlIEJTUCBpbiBjYXNlIHdlIGhhdmUgYQpAQCAtOTQyLDcgKzkxNyw5IEBACiAKIAl2ZXJpZnlfbG9jYWxfQVBJQygpOwogCi0JcGh5c19jcHVfcHJlc2VudF9tYXAgPSBwaHlzaWRfbWFza19vZl9waHlzaWQoYm9vdF9jcHVfcGh5c2ljYWxfYXBpY2lkKTsKKwljb25uZWN0X2JzcF9BUElDKCk7CisKKwlwaHlzaWRfc2V0X21hc2tfb2ZfcGh5c2lkKGJvb3RfY3B1X3BoeXNpY2FsX2FwaWNpZCwgJnBoeXNfY3B1X3ByZXNlbnRfbWFwKTsKIAlhcGljX3dyaXRlKEFQSUNfSUQsIFNFVF9BUElDX0lEKGJvb3RfY3B1X3BoeXNpY2FsX2FwaWNpZCkpOwogCiAJc2V0dXBfbG9jYWxfQVBJQygpOwpAQCAtOTU0LDYgKzkzMSw4IEBACiAJaWYgKCFza2lwX2lvYXBpY19zZXR1cCAmJiBucl9pb2FwaWNzKQogCQllbmFibGVfSU9fQVBJQygpOwogCisJaWYgKCFzbXBfZm91bmRfY29uZmlnIHx8IHNraXBfaW9hcGljX3NldHVwIHx8ICFucl9pb2FwaWNzKQorCQlsb2NhbGlzZV9ubWlfd2F0Y2hkb2coKTsKIAllbmRfbG9jYWxfQVBJQ19zZXR1cCgpOwogCiAJaWYgKHNtcF9mb3VuZF9jb25maWcgJiYgIXNraXBfaW9hcGljX3NldHVwICYmIG5yX2lvYXBpY3MpCkBAIC0xMDIxLDYgKzEwMDAsMTQgQEAKIAlpcnFfZXhpdCgpOwogfQogCisvKioKKyAqICAqIGNvbm5lY3RfYnNwX0FQSUMgLSBhdHRhY2ggdGhlIEFQSUMgdG8gdGhlIGludGVycnVwdCBzeXN0ZW0KKyAqICAgKi8KK3ZvaWQgX19pbml0IGNvbm5lY3RfYnNwX0FQSUModm9pZCkKK3sKKwllbmFibGVfYXBpY19tb2RlKCk7Cit9CisKIHZvaWQgZGlzY29ubmVjdF9ic3BfQVBJQyhpbnQgdmlydF93aXJlX3NldHVwKQogewogCS8qIEdvIGJhY2sgdG8gVmlydHVhbCBXaXJlIGNvbXBhdGliaWxpdHkgbW9kZSAqLwpAQCAtMTA5MCwxMCArMTA3NywxMyBAQAogCQkgKi8KIAkJY3B1ID0gMDsKIAl9CisJaWYgKGFwaWNpZCA+IG1heF9waHlzaWNhbF9hcGljaWQpCisJCW1heF9waHlzaWNhbF9hcGljaWQgPSBhcGljaWQ7CisKIAkvKiBhcmUgd2UgYmVpbmcgY2FsbGVkIGVhcmx5IGluIGtlcm5lbCBzdGFydHVwPyAqLwotCWlmICh4ODZfY3B1X3RvX2FwaWNpZF9lYXJseV9wdHIpIHsKLQkJdTE2ICpjcHVfdG9fYXBpY2lkID0geDg2X2NwdV90b19hcGljaWRfZWFybHlfcHRyOwotCQl1MTYgKmJpb3NfY3B1X2FwaWNpZCA9IHg4Nl9iaW9zX2NwdV9hcGljaWRfZWFybHlfcHRyOworCWlmIChlYXJseV9wZXJfY3B1X3B0cih4ODZfY3B1X3RvX2FwaWNpZCkpIHsKKwkJdTE2ICpjcHVfdG9fYXBpY2lkID0gZWFybHlfcGVyX2NwdV9wdHIoeDg2X2NwdV90b19hcGljaWQpOworCQl1MTYgKmJpb3NfY3B1X2FwaWNpZCA9IGVhcmx5X3Blcl9jcHVfcHRyKHg4Nl9iaW9zX2NwdV9hcGljaWQpOwogCiAJCWNwdV90b19hcGljaWRbY3B1XSA9IGFwaWNpZDsKIAkJYmlvc19jcHVfYXBpY2lkW2NwdV0gPSBhcGljaWQ7CkBAIC0xMjY5LDcgKzEyNTksNyBAQAogCWlmICgoYm9vdF9jcHVfZGF0YS54ODZfdmVuZG9yID09IFg4Nl9WRU5ET1JfQU1EKSAmJiAhaXNfdnNtcF9ib3goKSkKIAkJcmV0dXJuIDA7CiAKLQliaW9zX2NwdV9hcGljaWQgPSB4ODZfYmlvc19jcHVfYXBpY2lkX2Vhcmx5X3B0cjsKKwliaW9zX2NwdV9hcGljaWQgPSBlYXJseV9wZXJfY3B1X3B0cih4ODZfYmlvc19jcHVfYXBpY2lkKTsKIAliaXRtYXBfemVybyhjbHVzdGVybWFwLCBOVU1fQVBJQ19DTFVTVEVSUyk7CiAKIAlmb3IgKGkgPSAwOyBpIDwgTlJfQ1BVUzsgaSsrKSB7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvYXBtXzMyLmMgYi9hcmNoL3g4Ni9rZXJuZWwvYXBtXzMyLmMKaW5kZXggYmY5MjkwZS4uNzVjYjVkYSAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2FwbV8zMi5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9hcG1fMzIuYwpAQCAtMjA0LDYgKzIwNCw3IEBACiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAKICNpbmNsdWRlIDxsaW51eC9wb2xsLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogI2luY2x1ZGUgPGxpbnV4L3N0ZGRlZi5oPgogI2luY2x1ZGUgPGxpbnV4L3RpbWVyLmg+CkBAIC0yMjgsNiArMjI5LDcgQEAKICNpbmNsdWRlIDxsaW51eC9zdXNwZW5kLmg+CiAjaW5jbHVkZSA8bGludXgva3RocmVhZC5oPgogI2luY2x1ZGUgPGxpbnV4L2ppZmZpZXMuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAjaW5jbHVkZSA8YXNtL3N5c3RlbS5oPgogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CkBAIC0xMTQ5LDcgKzExNTEsNyBAQAogCQkJCWFzLT5ldmVudF90YWlsID0gMDsKIAkJfQogCQlhcy0+ZXZlbnRzW2FzLT5ldmVudF9oZWFkXSA9IGV2ZW50OwotCQlpZiAoKCFhcy0+c3VzZXIpIHx8ICghYXMtPndyaXRlcikpCisJCWlmICghYXMtPnN1c2VyIHx8ICFhcy0+d3JpdGVyKQogCQkJY29udGludWU7CiAJCXN3aXRjaCAoZXZlbnQpIHsKIAkJY2FzZSBBUE1fU1lTX1NVU1BFTkQ6CkBAIC0xMzk2LDcgKzEzOTgsNyBAQAogCiBzdGF0aWMgaW50IGNoZWNrX2FwbV91c2VyKHN0cnVjdCBhcG1fdXNlciAqYXMsIGNvbnN0IGNoYXIgKmZ1bmMpCiB7Ci0JaWYgKChhcyA9PSBOVUxMKSB8fCAoYXMtPm1hZ2ljICE9IEFQTV9CSU9TX01BR0lDKSkgeworCWlmIChhcyA9PSBOVUxMIHx8IGFzLT5tYWdpYyAhPSBBUE1fQklPU19NQUdJQykgewogCQlwcmludGsoS0VSTl9FUlIgImFwbTogJXMgcGFzc2VkIGJhZCBmaWxwXG4iLCBmdW5jKTsKIAkJcmV0dXJuIDE7CiAJfQpAQCAtMTQ1OSwxOCArMTQ2MSwxOSBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGRvX2lvY3RsKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxwLAotCQkgICAgdV9pbnQgY21kLCB1X2xvbmcgYXJnKQorc3RhdGljIGxvbmcgZG9faW9jdGwoc3RydWN0IGZpbGUgKmZpbHAsIHVfaW50IGNtZCwgdV9sb25nIGFyZykKIHsKIAlzdHJ1Y3QgYXBtX3VzZXIgKmFzOworCWludCByZXQ7CiAKIAlhcyA9IGZpbHAtPnByaXZhdGVfZGF0YTsKIAlpZiAoY2hlY2tfYXBtX3VzZXIoYXMsICJpb2N0bCIpKQogCQlyZXR1cm4gLUVJTzsKLQlpZiAoKCFhcy0+c3VzZXIpIHx8ICghYXMtPndyaXRlcikpCisJaWYgKCFhcy0+c3VzZXIgfHwgIWFzLT53cml0ZXIpCiAJCXJldHVybiAtRVBFUk07CiAJc3dpdGNoIChjbWQpIHsKIAljYXNlIEFQTV9JT0NfU1RBTkRCWToKKwkJbG9ja19rZXJuZWwoKTsKIAkJaWYgKGFzLT5zdGFuZGJ5c19yZWFkID4gMCkgewogCQkJYXMtPnN0YW5kYnlzX3JlYWQtLTsKIAkJCWFzLT5zdGFuZGJ5c19wZW5kaW5nLS07CkBAIC0xNDc5LDggKzE0ODIsMTAgQEAKIAkJCXF1ZXVlX2V2ZW50KEFQTV9VU0VSX1NUQU5EQlksIGFzKTsKIAkJaWYgKHN0YW5kYnlzX3BlbmRpbmcgPD0gMCkKIAkJCXN0YW5kYnkoKTsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlicmVhazsKIAljYXNlIEFQTV9JT0NfU1VTUEVORDoKKwkJbG9ja19rZXJuZWwoKTsKIAkJaWYgKGFzLT5zdXNwZW5kc19yZWFkID4gMCkgewogCQkJYXMtPnN1c3BlbmRzX3JlYWQtLTsKIAkJCWFzLT5zdXNwZW5kc19wZW5kaW5nLS07CkBAIC0xNDg4LDE2ICsxNDkzLDE3IEBACiAJCX0gZWxzZQogCQkJcXVldWVfZXZlbnQoQVBNX1VTRVJfU1VTUEVORCwgYXMpOwogCQlpZiAoc3VzcGVuZHNfcGVuZGluZyA8PSAwKSB7Ci0JCQlyZXR1cm4gc3VzcGVuZCgxKTsKKwkJCXJldCA9IHN1c3BlbmQoMSk7CiAJCX0gZWxzZSB7CiAJCQlhcy0+c3VzcGVuZF93YWl0ID0gMTsKIAkJCXdhaXRfZXZlbnRfaW50ZXJydXB0aWJsZShhcG1fc3VzcGVuZF93YWl0cXVldWUsCiAJCQkJCWFzLT5zdXNwZW5kX3dhaXQgPT0gMCk7Ci0JCQlyZXR1cm4gYXMtPnN1c3BlbmRfcmVzdWx0OworCQkJcmV0ID0gYXMtPnN1c3BlbmRfcmVzdWx0OwogCQl9Ci0JCWJyZWFrOworCQl1bmxvY2tfa2VybmVsKCk7CisJCXJldHVybiByZXQ7CiAJZGVmYXVsdDoKLQkJcmV0dXJuIC1FSU5WQUw7CisJCXJldHVybiAtRU5PVFRZOwogCX0KIAlyZXR1cm4gMDsKIH0KQEAgLTE1NDQsMTAgKzE1NTAsMTIgQEAKIHsKIAlzdHJ1Y3QgYXBtX3VzZXIgKmFzOwogCisJbG9ja19rZXJuZWwoKTsKIAlhcyA9IGttYWxsb2Moc2l6ZW9mKCphcyksIEdGUF9LRVJORUwpOwogCWlmIChhcyA9PSBOVUxMKSB7CiAJCXByaW50ayhLRVJOX0VSUiAiYXBtOiBjYW5ub3QgYWxsb2NhdGUgc3RydWN0IG9mIHNpemUgJWQgYnl0ZXNcbiIsCiAJCSAgICAgICBzaXplb2YoKmFzKSk7CisJCSAgICAgICB1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiAtRU5PTUVNOwogCX0KIAlhcy0+bWFnaWMgPSBBUE1fQklPU19NQUdJQzsKQEAgLTE1NjksNiArMTU3Nyw3IEBACiAJdXNlcl9saXN0ID0gYXM7CiAJc3Bpbl91bmxvY2soJnVzZXJfbGlzdF9sb2NrKTsKIAlmaWxwLT5wcml2YXRlX2RhdGEgPSBhczsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTE4NjAsNyArMTg2OSw3IEBACiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5yZWFkCQk9IGRvX3JlYWQsCiAJLnBvbGwJCT0gZG9fcG9sbCwKLQkuaW9jdGwJCT0gZG9faW9jdGwsCisJLnVubG9ja2VkX2lvY3RsCT0gZG9faW9jdGwsCiAJLm9wZW4JCT0gZG9fb3BlbiwKIAkucmVsZWFzZQk9IGRvX3JlbGVhc2UsCiB9OwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2FzbS1vZmZzZXRzXzMyLmMgYi9hcmNoL3g4Ni9rZXJuZWwvYXNtLW9mZnNldHNfMzIuYwppbmRleCA5MjU4ODA4Li42NjQ5ZDA5IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvYXNtLW9mZnNldHNfMzIuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvYXNtLW9mZnNldHNfMzIuYwpAQCAtMTExLDcgKzExMSw3IEBACiAJT0ZGU0VUKFBWX0lSUV9pcnFfZGlzYWJsZSwgcHZfaXJxX29wcywgaXJxX2Rpc2FibGUpOwogCU9GRlNFVChQVl9JUlFfaXJxX2VuYWJsZSwgcHZfaXJxX29wcywgaXJxX2VuYWJsZSk7CiAJT0ZGU0VUKFBWX0NQVV9pcmV0LCBwdl9jcHVfb3BzLCBpcmV0KTsKLQlPRkZTRVQoUFZfQ1BVX2lycV9lbmFibGVfc3lzY2FsbF9yZXQsIHB2X2NwdV9vcHMsIGlycV9lbmFibGVfc3lzY2FsbF9yZXQpOworCU9GRlNFVChQVl9DUFVfaXJxX2VuYWJsZV9zeXNleGl0LCBwdl9jcHVfb3BzLCBpcnFfZW5hYmxlX3N5c2V4aXQpOwogCU9GRlNFVChQVl9DUFVfcmVhZF9jcjAsIHB2X2NwdV9vcHMsIHJlYWRfY3IwKTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvYXNtLW9mZnNldHNfNjQuYyBiL2FyY2gveDg2L2tlcm5lbC9hc20tb2Zmc2V0c182NC5jCmluZGV4IGYxMjZjMDUuLmJhY2Y1ZGUgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9hc20tb2Zmc2V0c182NC5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9hc20tb2Zmc2V0c182NC5jCkBAIC0zNCw3ICszNCw3IEBACiAJRU5UUlkocGlkKTsKIAlCTEFOSygpOwogI3VuZGVmIEVOVFJZCi0jZGVmaW5lIEVOVFJZKGVudHJ5KSBERUZJTkUodGhyZWFkaW5mb18gIyMgZW50cnksIG9mZnNldG9mKHN0cnVjdCB0aHJlYWRfaW5mbywgZW50cnkpKQorI2RlZmluZSBFTlRSWShlbnRyeSkgREVGSU5FKFRJXyAjIyBlbnRyeSwgb2Zmc2V0b2Yoc3RydWN0IHRocmVhZF9pbmZvLCBlbnRyeSkpCiAJRU5UUlkoZmxhZ3MpOwogCUVOVFJZKGFkZHJfbGltaXQpOwogCUVOVFJZKHByZWVtcHRfY291bnQpOwpAQCAtNjEsOCArNjEsMTEgQEAKIAlPRkZTRVQoUEFSQVZJUlRfUEFUQ0hfcHZfaXJxX29wcywgcGFyYXZpcnRfcGF0Y2hfdGVtcGxhdGUsIHB2X2lycV9vcHMpOwogCU9GRlNFVChQVl9JUlFfaXJxX2Rpc2FibGUsIHB2X2lycV9vcHMsIGlycV9kaXNhYmxlKTsKIAlPRkZTRVQoUFZfSVJRX2lycV9lbmFibGUsIHB2X2lycV9vcHMsIGlycV9lbmFibGUpOworCU9GRlNFVChQVl9JUlFfYWRqdXN0X2V4Y2VwdGlvbl9mcmFtZSwgcHZfaXJxX29wcywgYWRqdXN0X2V4Y2VwdGlvbl9mcmFtZSk7CiAJT0ZGU0VUKFBWX0NQVV9pcmV0LCBwdl9jcHVfb3BzLCBpcmV0KTsKLQlPRkZTRVQoUFZfQ1BVX2lycV9lbmFibGVfc3lzY2FsbF9yZXQsIHB2X2NwdV9vcHMsIGlycV9lbmFibGVfc3lzY2FsbF9yZXQpOworCU9GRlNFVChQVl9DUFVfdXNlcmdzX3N5c3JldDMyLCBwdl9jcHVfb3BzLCB1c2VyZ3Nfc3lzcmV0MzIpOworCU9GRlNFVChQVl9DUFVfdXNlcmdzX3N5c3JldDY0LCBwdl9jcHVfb3BzLCB1c2VyZ3Nfc3lzcmV0NjQpOworCU9GRlNFVChQVl9DUFVfaXJxX2VuYWJsZV9zeXNleGl0LCBwdl9jcHVfb3BzLCBpcnFfZW5hYmxlX3N5c2V4aXQpOwogCU9GRlNFVChQVl9DUFVfc3dhcGdzLCBwdl9jcHVfb3BzLCBzd2FwZ3MpOwogCU9GRlNFVChQVl9NTVVfcmVhZF9jcjIsIHB2X21tdV9vcHMsIHJlYWRfY3IyKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2NwdS9NYWtlZmlsZSBiL2FyY2gveDg2L2tlcm5lbC9jcHUvTWFrZWZpbGUKaW5kZXggYTBjNmY4MS4uZWU3NmVhYSAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2NwdS9NYWtlZmlsZQorKysgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L01ha2VmaWxlCkBAIC02LDExICs2LDE1IEBACiBvYmoteQkJCSs9IHByb2MubyBmZWF0dXJlX25hbWVzLm8KIAogb2JqLSQoQ09ORklHX1g4Nl8zMikJKz0gY29tbW9uLm8gYnVncy5vCitvYmotJChDT05GSUdfWDg2XzY0KQkrPSBjb21tb25fNjQubyBidWdzXzY0Lm8KIG9iai0kKENPTkZJR19YODZfMzIpCSs9IGFtZC5vCitvYmotJChDT05GSUdfWDg2XzY0KQkrPSBhbWRfNjQubwogb2JqLSQoQ09ORklHX1g4Nl8zMikJKz0gY3lyaXgubwogb2JqLSQoQ09ORklHX1g4Nl8zMikJKz0gY2VudGF1ci5vCitvYmotJChDT05GSUdfWDg2XzY0KQkrPSBjZW50YXVyXzY0Lm8KIG9iai0kKENPTkZJR19YODZfMzIpCSs9IHRyYW5zbWV0YS5vCiBvYmotJChDT05GSUdfWDg2XzMyKQkrPSBpbnRlbC5vCitvYmotJChDT05GSUdfWDg2XzY0KQkrPSBpbnRlbF82NC5vCiBvYmotJChDT05GSUdfWDg2XzMyKQkrPSB1bWMubwogCiBvYmotJChDT05GSUdfWDg2X01DRSkJKz0gbWNoZWNrLwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2NwdS9hZGRvbl9jcHVpZF9mZWF0dXJlcy5jIGIvYXJjaC94ODYva2VybmVsL2NwdS9hZGRvbl9jcHVpZF9mZWF0dXJlcy5jCmluZGV4IGMyZTFjZTMuLjg0YTgyMjAgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9jcHUvYWRkb25fY3B1aWRfZmVhdHVyZXMuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L2FkZG9uX2NwdWlkX2ZlYXR1cmVzLmMKQEAgLTEsOSArMSw3IEBACi0KIC8qCiAgKglSb3V0aW5lcyB0byBpbmRlbnRpZnkgYWRkaXRpb25hbCBjcHUgZmVhdHVyZXMgdGhhdCBhcmUgc2NhdHRlcmVkIGluCiAgKgljcHVpZCBzcGFjZS4KICAqLwotCiAjaW5jbHVkZSA8bGludXgvY3B1Lmg+CiAKICNpbmNsdWRlIDxhc20vcGF0Lmg+CkBAIC01MywxOSArNTEsMjAgQEAKICNpZmRlZiBDT05GSUdfWDg2X1BBVAogdm9pZCBfX2NwdWluaXQgdmFsaWRhdGVfcGF0X3N1cHBvcnQoc3RydWN0IGNwdWluZm9feDg2ICpjKQogeworCWlmICghY3B1X2hhc19wYXQpCisJCXBhdF9kaXNhYmxlKCJQQVQgbm90IHN1cHBvcnRlZCBieSBDUFUuIik7CisKIAlzd2l0Y2ggKGMtPng4Nl92ZW5kb3IpIHsKLQljYXNlIFg4Nl9WRU5ET1JfQU1EOgotCQlpZiAoYy0+eDg2ID49IDB4ZiAmJiBjLT54ODYgPD0gMHgxMSkKLQkJCXJldHVybjsKLQkJYnJlYWs7CiAJY2FzZSBYODZfVkVORE9SX0lOVEVMOgogCQlpZiAoYy0+eDg2ID09IDB4RiB8fCAoYy0+eDg2ID09IDYgJiYgYy0+eDg2X21vZGVsID49IDE1KSkKIAkJCXJldHVybjsKIAkJYnJlYWs7CisJY2FzZSBYODZfVkVORE9SX0FNRDoKKwljYXNlIFg4Nl9WRU5ET1JfQ0VOVEFVUjoKKwljYXNlIFg4Nl9WRU5ET1JfVFJBTlNNRVRBOgorCQlyZXR1cm47CiAJfQogCi0JcGF0X2Rpc2FibGUoY3B1X2hhc19wYXQgPwotCQkgICAgIlBBVCBkaXNhYmxlZC4gTm90IHlldCB2ZXJpZmllZCBvbiB0aGlzIENQVSB0eXBlLiIgOgotCQkgICAgIlBBVCBub3Qgc3VwcG9ydGVkIGJ5IENQVS4iKTsKKwlwYXRfZGlzYWJsZSgiUEFUIGRpc2FibGVkLiBOb3QgeWV0IHZlcmlmaWVkIG9uIHRoaXMgQ1BVIHR5cGUuIik7CiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9jcHUvYW1kLmMgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L2FtZC5jCmluZGV4IDI0NTg2NjguLjgxYTA3Y2EgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9jcHUvYW1kLmMKKysrIGIvYXJjaC94ODYva2VybmVsL2NwdS9hbWQuYwpAQCAtMjQsNDMgKzI0LDYgQEAKIGV4dGVybiB2b2lkIHZpZGUodm9pZCk7CiBfX2FzbV9fKCIuYWxpZ24gNFxudmlkZTogcmV0Iik7CiAKLSNpZmRlZiBDT05GSUdfWDg2X0xPQ0FMX0FQSUMKLSNkZWZpbmUgRU5BQkxFX0MxRV9NQVNLICAgICAgICAgMHgxODAwMDAwMAotI2RlZmluZSBDUFVJRF9QUk9DRVNTT1JfU0lHTkFUVVJFICAgICAgIDEKLSNkZWZpbmUgQ1BVSURfWEZBTSAgICAgICAgICAgICAgMHgwZmYwMDAwMAotI2RlZmluZSBDUFVJRF9YRkFNX0s4ICAgICAgICAgICAweDAwMDAwMDAwCi0jZGVmaW5lIENQVUlEX1hGQU1fMTBIICAgICAgICAgIDB4MDAxMDAwMDAKLSNkZWZpbmUgQ1BVSURfWEZBTV8xMUggICAgICAgICAgMHgwMDIwMDAwMAotI2RlZmluZSBDUFVJRF9YTU9EICAgICAgICAgICAgICAweDAwMGYwMDAwCi0jZGVmaW5lIENQVUlEX1hNT0RfUkVWX0YgICAgICAgIDB4MDAwNDAwMDAKLQotLyogQU1EIHN5c3RlbXMgd2l0aCBDMUUgZG9uJ3QgaGF2ZSBhIHdvcmtpbmcgbEFQSUMgdGltZXIuIENoZWNrIGZvciB0aGF0LiAqLwotc3RhdGljIF9fY3B1aW5pdCBpbnQgYW1kX2FwaWNfdGltZXJfYnJva2VuKHZvaWQpCi17Ci0JdTMyIGxvLCBoaTsKLQl1MzIgZWF4ID0gY3B1aWRfZWF4KENQVUlEX1BST0NFU1NPUl9TSUdOQVRVUkUpOwotCXN3aXRjaCAoZWF4ICYgQ1BVSURfWEZBTSkgewotCWNhc2UgQ1BVSURfWEZBTV9LODoKLQkJaWYgKChlYXggJiBDUFVJRF9YTU9EKSA8IENQVUlEX1hNT0RfUkVWX0YpCi0JCQlicmVhazsKLQljYXNlIENQVUlEX1hGQU1fMTBIOgotCWNhc2UgQ1BVSURfWEZBTV8xMUg6Ci0JCXJkbXNyKE1TUl9LOF9FTkFCTEVfQzFFLCBsbywgaGkpOwotCQlpZiAobG8gJiBFTkFCTEVfQzFFX01BU0spIHsKLQkJCWlmIChzbXBfcHJvY2Vzc29yX2lkKCkgIT0gYm9vdF9jcHVfcGh5c2ljYWxfYXBpY2lkKQotCQkJCXByaW50ayhLRVJOX0lORk8gIkFNRCBDMUUgZGV0ZWN0ZWQgbGF0ZS4gIgotCQkJCSAgICAgICAiCUZvcmNlIHRpbWVyIGJyb2FkY2FzdC5cbiIpOwotCQkJcmV0dXJuIDE7Ci0JCX0KLQkJYnJlYWs7Ci0JZGVmYXVsdDoKLQkJLyogZXJyIG9uIHRoZSBzaWRlIG9mIGNhdXRpb24gKi8KLQkJcmV0dXJuIDE7Ci0JfQotCXJldHVybiAwOwotfQotI2VuZGlmCi0KIGludCBmb3JjZV9td2FpdCBfX2NwdWluaXRkYXRhOwogCiBzdGF0aWMgdm9pZCBfX2NwdWluaXQgZWFybHlfaW5pdF9hbWQoc3RydWN0IGNwdWluZm9feDg2ICpjKQpAQCAtMjk3LDExICsyNjAsNiBAQAogCQkJbnVtX2NhY2hlX2xlYXZlcyA9IDM7CiAJfQogCi0jaWZkZWYgQ09ORklHX1g4Nl9MT0NBTF9BUElDCi0JaWYgKGFtZF9hcGljX3RpbWVyX2Jyb2tlbigpKQotCQlsb2NhbF9hcGljX3RpbWVyX2Rpc2FibGVkID0gMTsKLSNlbmRpZgotCiAJLyogSzZzIHJlcG9ydHMgTUNFcyBidXQgZG9uJ3QgYWN0dWFsbHkgaGF2ZSBhbGwgdGhlIE1TUnMgKi8KIAlpZiAoYy0+eDg2IDwgNikKIAkJY2xlYXJfY3B1X2NhcChjLCBYODZfRkVBVFVSRV9NQ0UpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2NwdS9hbWRfNjQuYyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvYW1kXzY0LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2MzNmZiOAotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvYW1kXzY0LmMKQEAgLTAsMCArMSwyMjIgQEAKKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvbW0uaD4KKworI2luY2x1ZGUgPGFzbS9udW1hXzY0Lmg+CisjaW5jbHVkZSA8YXNtL21tY29uZmlnLmg+CisjaW5jbHVkZSA8YXNtL2NhY2hlZmx1c2guaD4KKworI2luY2x1ZGUgPG1hY2hfYXBpYy5oPgorCisjaW5jbHVkZSAiY3B1LmgiCisKK2ludCBmb3JjZV9td2FpdCBfX2NwdWluaXRkYXRhOworCisjaWZkZWYgQ09ORklHX05VTUEKK3N0YXRpYyBpbnQgX19jcHVpbml0IG5lYXJieV9ub2RlKGludCBhcGljaWQpCit7CisJaW50IGksIG5vZGU7CisKKwlmb3IgKGkgPSBhcGljaWQgLSAxOyBpID49IDA7IGktLSkgeworCQlub2RlID0gYXBpY2lkX3RvX25vZGVbaV07CisJCWlmIChub2RlICE9IE5VTUFfTk9fTk9ERSAmJiBub2RlX29ubGluZShub2RlKSkKKwkJCXJldHVybiBub2RlOworCX0KKwlmb3IgKGkgPSBhcGljaWQgKyAxOyBpIDwgTUFYX0xPQ0FMX0FQSUM7IGkrKykgeworCQlub2RlID0gYXBpY2lkX3RvX25vZGVbaV07CisJCWlmIChub2RlICE9IE5VTUFfTk9fTk9ERSAmJiBub2RlX29ubGluZShub2RlKSkKKwkJCXJldHVybiBub2RlOworCX0KKwlyZXR1cm4gZmlyc3Rfbm9kZShub2RlX29ubGluZV9tYXApOyAvKiBTaG91bGRuJ3QgaGFwcGVuICovCit9CisjZW5kaWYKKworLyoKKyAqIE9uIGEgQU1EIGR1YWwgY29yZSBzZXR1cCB0aGUgbG93ZXIgYml0cyBvZiB0aGUgQVBJQyBpZCBkaXN0aW5ndXNoIHRoZSBjb3Jlcy4KKyAqIEFzc3VtZXMgbnVtYmVyIG9mIGNvcmVzIGlzIGEgcG93ZXIgb2YgdHdvLgorICovCitzdGF0aWMgdm9pZCBfX2NwdWluaXQgYW1kX2RldGVjdF9jbXAoc3RydWN0IGNwdWluZm9feDg2ICpjKQoreworI2lmZGVmIENPTkZJR19TTVAKKwl1bnNpZ25lZCBiaXRzOworI2lmZGVmIENPTkZJR19OVU1BCisJaW50IGNwdSA9IHNtcF9wcm9jZXNzb3JfaWQoKTsKKwlpbnQgbm9kZSA9IDA7CisJdW5zaWduZWQgYXBpY2lkID0gaGFyZF9zbXBfcHJvY2Vzc29yX2lkKCk7CisjZW5kaWYKKwliaXRzID0gYy0+eDg2X2NvcmVpZF9iaXRzOworCisJLyogTG93IG9yZGVyIGJpdHMgZGVmaW5lIHRoZSBjb3JlIGlkIChpbmRleCBvZiBjb3JlIGluIHNvY2tldCkgKi8KKwljLT5jcHVfY29yZV9pZCA9IGMtPmluaXRpYWxfYXBpY2lkICYgKCgxIDw8IGJpdHMpLTEpOworCS8qIENvbnZlcnQgdGhlIGluaXRpYWwgQVBJQyBJRCBpbnRvIHRoZSBzb2NrZXQgSUQgKi8KKwljLT5waHlzX3Byb2NfaWQgPSBjLT5pbml0aWFsX2FwaWNpZCA+PiBiaXRzOworCisjaWZkZWYgQ09ORklHX05VTUEKKwlub2RlID0gYy0+cGh5c19wcm9jX2lkOworCWlmIChhcGljaWRfdG9fbm9kZVthcGljaWRdICE9IE5VTUFfTk9fTk9ERSkKKwkJbm9kZSA9IGFwaWNpZF90b19ub2RlW2FwaWNpZF07CisJaWYgKCFub2RlX29ubGluZShub2RlKSkgeworCQkvKiBUd28gcG9zc2liaWxpdGllcyBoZXJlOgorCQkgICAtIFRoZSBDUFUgaXMgbWlzc2luZyBtZW1vcnkgYW5kIG5vIG5vZGUgd2FzIGNyZWF0ZWQuCisJCSAgIEluIHRoYXQgY2FzZSB0cnkgcGlja2luZyBvbmUgZnJvbSBhIG5lYXJieSBDUFUKKwkJICAgLSBUaGUgQVBJQyBJRHMgZGlmZmVyIGZyb20gdGhlIEh5cGVyVHJhbnNwb3J0IG5vZGUgSURzCisJCSAgIHdoaWNoIHRoZSBLOCBub3J0aGJyaWRnZSBwYXJzaW5nIGZpbGxzIGluLgorCQkgICBBc3N1bWUgdGhleSBhcmUgYWxsIGluY3JlYXNlZCBieSBhIGNvbnN0YW50IG9mZnNldCwKKwkJICAgYnV0IGluIHRoZSBzYW1lIG9yZGVyIGFzIHRoZSBIVCBub2RlaWRzLgorCQkgICBJZiB0aGF0IGRvZXNuJ3QgcmVzdWx0IGluIGEgdXNhYmxlIG5vZGUgZmFsbCBiYWNrIHRvIHRoZQorCQkgICBwYXRoIGZvciB0aGUgcHJldmlvdXMgY2FzZS4gICovCisKKwkJaW50IGh0X25vZGVpZCA9IGMtPmluaXRpYWxfYXBpY2lkOworCisJCWlmIChodF9ub2RlaWQgPj0gMCAmJgorCQkgICAgYXBpY2lkX3RvX25vZGVbaHRfbm9kZWlkXSAhPSBOVU1BX05PX05PREUpCisJCQlub2RlID0gYXBpY2lkX3RvX25vZGVbaHRfbm9kZWlkXTsKKwkJLyogUGljayBhIG5lYXJieSBub2RlICovCisJCWlmICghbm9kZV9vbmxpbmUobm9kZSkpCisJCQlub2RlID0gbmVhcmJ5X25vZGUoYXBpY2lkKTsKKwl9CisJbnVtYV9zZXRfbm9kZShjcHUsIG5vZGUpOworCisJcHJpbnRrKEtFUk5fSU5GTyAiQ1BVICVkLyV4IC0+IE5vZGUgJWRcbiIsIGNwdSwgYXBpY2lkLCBub2RlKTsKKyNlbmRpZgorI2VuZGlmCit9CisKK3N0YXRpYyB2b2lkIF9fY3B1aW5pdCBlYXJseV9pbml0X2FtZF9tYyhzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCit7CisjaWZkZWYgQ09ORklHX1NNUAorCXVuc2lnbmVkIGJpdHMsIGVjeDsKKworCS8qIE11bHRpIGNvcmUgQ1BVPyAqLworCWlmIChjLT5leHRlbmRlZF9jcHVpZF9sZXZlbCA8IDB4ODAwMDAwMDgpCisJCXJldHVybjsKKworCWVjeCA9IGNwdWlkX2VjeCgweDgwMDAwMDA4KTsKKworCWMtPng4Nl9tYXhfY29yZXMgPSAoZWN4ICYgMHhmZikgKyAxOworCisJLyogQ1BVIHRlbGxpbmcgdXMgdGhlIGNvcmUgaWQgYml0cyBzaGlmdD8gKi8KKwliaXRzID0gKGVjeCA+PiAxMikgJiAweEY7CisKKwkvKiBPdGhlcndpc2UgcmVjb21wdXRlICovCisJaWYgKGJpdHMgPT0gMCkgeworCQl3aGlsZSAoKDEgPDwgYml0cykgPCBjLT54ODZfbWF4X2NvcmVzKQorCQkJYml0cysrOworCX0KKworCWMtPng4Nl9jb3JlaWRfYml0cyA9IGJpdHM7CisKKyNlbmRpZgorfQorCitzdGF0aWMgdm9pZCBfX2NwdWluaXQgZWFybHlfaW5pdF9hbWQoc3RydWN0IGNwdWluZm9feDg2ICpjKQoreworCWVhcmx5X2luaXRfYW1kX21jKGMpOworCisJLyogYy0+eDg2X3Bvd2VyIGlzIDgwMDBfMDAwNyBlZHguIEJpdCA4IGlzIGNvbnN0YW50IFRTQyAqLworCWlmIChjLT54ODZfcG93ZXIgJiAoMTw8OCkpCisJCXNldF9jcHVfY2FwKGMsIFg4Nl9GRUFUVVJFX0NPTlNUQU5UX1RTQyk7Cit9CisKK3N0YXRpYyB2b2lkIF9fY3B1aW5pdCBpbml0X2FtZChzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCit7CisJdW5zaWduZWQgbGV2ZWw7CisKKyNpZmRlZiBDT05GSUdfU01QCisJdW5zaWduZWQgbG9uZyB2YWx1ZTsKKworCS8qCisJICogRGlzYWJsZSBUTEIgZmx1c2ggZmlsdGVyIGJ5IHNldHRpbmcgSFdDUi5GRkRJUyBvbiBLOAorCSAqIGJpdCA2IG9mIG1zciBDMDAxXzAwMTUKKwkgKgorCSAqIEVycmF0YSA2MyBmb3IgU0gtQjMgc3RlcHBpbmdzCisJICogRXJyYXRhIDEyMiBmb3IgYWxsIHN0ZXBwaW5ncyAoRisgaGF2ZSBpdCBkaXNhYmxlZCBieSBkZWZhdWx0KQorCSAqLworCWlmIChjLT54ODYgPT0gMHhmKSB7CisJCXJkbXNybChNU1JfSzhfSFdDUiwgdmFsdWUpOworCQl2YWx1ZSB8PSAxIDw8IDY7CisJCXdybXNybChNU1JfSzhfSFdDUiwgdmFsdWUpOworCX0KKyNlbmRpZgorCisJLyogQml0IDMxIGluIG5vcm1hbCBDUFVJRCB1c2VkIGZvciBub25zdGFuZGFyZCAzRE5vdyBJRDsKKwkgICAzRE5vdyBpcyBJRGQgYnkgYml0IDMxIGluIGV4dGVuZGVkIENQVUlEICgxKjMyKzMxKSBhbnl3YXkgKi8KKwljbGVhcl9jcHVfY2FwKGMsIDAqMzIrMzEpOworCisJLyogT24gQysgc3RlcHBpbmcgSzggcmVwIG1pY3JvY29kZSB3b3JrcyB3ZWxsIGZvciBjb3B5L21lbXNldCAqLworCWlmIChjLT54ODYgPT0gMHhmKSB7CisJCWxldmVsID0gY3B1aWRfZWF4KDEpOworCQlpZigobGV2ZWwgPj0gMHgwZjQ4ICYmIGxldmVsIDwgMHgwZjUwKSB8fCBsZXZlbCA+PSAweDBmNTgpCisJCQlzZXRfY3B1X2NhcChjLCBYODZfRkVBVFVSRV9SRVBfR09PRCk7CisJfQorCWlmIChjLT54ODYgPT0gMHgxMCB8fCBjLT54ODYgPT0gMHgxMSkKKwkJc2V0X2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfUkVQX0dPT0QpOworCisJLyogRW5hYmxlIHdvcmthcm91bmQgZm9yIEZYU0FWRSBsZWFrICovCisJaWYgKGMtPng4NiA+PSA2KQorCQlzZXRfY3B1X2NhcChjLCBYODZfRkVBVFVSRV9GWFNBVkVfTEVBSyk7CisKKwlsZXZlbCA9IGdldF9tb2RlbF9uYW1lKGMpOworCWlmICghbGV2ZWwpIHsKKwkJc3dpdGNoIChjLT54ODYpIHsKKwkJY2FzZSAweGY6CisJCQkvKiBTaG91bGQgZGlzdGluZ3Vpc2ggTW9kZWxzIGhlcmUsIGJ1dCB0aGlzIGlzIG9ubHkKKwkJCSAgIGEgZmFsbGJhY2sgYW55d2F5cy4gKi8KKwkJCXN0cmNweShjLT54ODZfbW9kZWxfaWQsICJIYW1tZXIiKTsKKwkJCWJyZWFrOworCQl9CisJfQorCWRpc3BsYXlfY2FjaGVpbmZvKGMpOworCisJLyogTXVsdGkgY29yZSBDUFU/ICovCisJaWYgKGMtPmV4dGVuZGVkX2NwdWlkX2xldmVsID49IDB4ODAwMDAwMDgpCisJCWFtZF9kZXRlY3RfY21wKGMpOworCisJaWYgKGMtPmV4dGVuZGVkX2NwdWlkX2xldmVsID49IDB4ODAwMDAwMDYgJiYKKwkJKGNwdWlkX2VkeCgweDgwMDAwMDA2KSAmIDB4ZjAwMCkpCisJCW51bV9jYWNoZV9sZWF2ZXMgPSA0OworCWVsc2UKKwkJbnVtX2NhY2hlX2xlYXZlcyA9IDM7CisKKwlpZiAoYy0+eDg2ID49IDB4ZiAmJiBjLT54ODYgPD0gMHgxMSkKKwkJc2V0X2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfSzgpOworCisJLyogTUZFTkNFIHN0b3BzIFJEVFNDIHNwZWN1bGF0aW9uICovCisJc2V0X2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfTUZFTkNFX1JEVFNDKTsKKworCWlmIChjLT54ODYgPT0gMHgxMCkgeworCQkvKiBkbyB0aGlzIGZvciBib290IGNwdSAqLworCQlpZiAoYyA9PSAmYm9vdF9jcHVfZGF0YSkKKwkJCWNoZWNrX2VuYWJsZV9hbWRfbW1jb25mX2RtaSgpOworCisJCWZhbTEwaF9jaGVja19lbmFibGVfbW1jZmcoKTsKKwl9CisKKwlpZiAoYyA9PSAmYm9vdF9jcHVfZGF0YSAmJiBjLT54ODYgPj0gMHhmICYmIGMtPng4NiA8PSAweDExKSB7CisJCXVuc2lnbmVkIGxvbmcgbG9uZyB0c2VnOworCisJCS8qCisJCSAqIFNwbGl0IHVwIGRpcmVjdCBtYXBwaW5nIGFyb3VuZCB0aGUgVFNFRyBTTU0gYXJlYS4KKwkJICogRG9uJ3QgZG8gaXQgZm9yIGdicGFnZXMgYmVjYXVzZSB0aGVyZSBzZWVtcyB2ZXJ5IGxpdHRsZQorCQkgKiBiZW5lZml0IGluIGRvaW5nIHNvLgorCQkgKi8KKwkJaWYgKCFyZG1zcmxfc2FmZShNU1JfSzhfVFNFR19BRERSLCAmdHNlZykpIHsKKwkJICAgIHByaW50ayhLRVJOX0RFQlVHICJ0c2VnOiAlMDEwbGx4XG4iLCB0c2VnKTsKKwkJICAgIGlmICgodHNlZz4+UE1EX1NISUZUKSA8CisJCQkJKG1heF9sb3dfcGZuX21hcHBlZD4+KFBNRF9TSElGVC1QQUdFX1NISUZUKSkgfHwKKwkJCSgodHNlZz4+UE1EX1NISUZUKSA8CisJCQkJKG1heF9wZm5fbWFwcGVkPj4oUE1EX1NISUZULVBBR0VfU0hJRlQpKSAmJgorCQkJICh0c2VnPj5QTURfU0hJRlQpID49ICgxVUxMPDwoMzIgLSBQTURfU0hJRlQpKSkpCisJCQlzZXRfbWVtb3J5XzRrKCh1bnNpZ25lZCBsb25nKV9fdmEodHNlZyksIDEpOworCQl9CisJfQorfQorCitzdGF0aWMgc3RydWN0IGNwdV9kZXYgYW1kX2NwdV9kZXYgX19jcHVpbml0ZGF0YSA9IHsKKwkuY192ZW5kb3IJPSAiQU1EIiwKKwkuY19pZGVudAk9IHsgIkF1dGhlbnRpY0FNRCIgfSwKKwkuY19lYXJseV9pbml0ICAgPSBlYXJseV9pbml0X2FtZCwKKwkuY19pbml0CQk9IGluaXRfYW1kLAorfTsKKworY3B1X3ZlbmRvcl9kZXZfcmVnaXN0ZXIoWDg2X1ZFTkRPUl9BTUQsICZhbWRfY3B1X2Rldik7CisKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9jcHUvYnVncy5jIGIvYXJjaC94ODYva2VybmVsL2NwdS9idWdzLmMKaW5kZXggMTcwZDJmNS4uMWIxYzU2YiAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2NwdS9idWdzLmMKKysrIGIvYXJjaC94ODYva2VybmVsL2NwdS9idWdzLmMKQEAgLTU5LDggKzU5LDEyIEBACiAJCXJldHVybjsKIAl9CiAKLS8qIHRyYXBfaW5pdCgpIGVuYWJsZWQgRlhTUiBhbmQgY29tcGFueSBfYmVmb3JlXyB0ZXN0aW5nIGZvciBGUCBwcm9ibGVtcyBoZXJlLiAqLwotCS8qIFRlc3QgZm9yIHRoZSBkaXZsIGJ1Zy4uICovCisJLyoKKwkgKiB0cmFwX2luaXQoKSBlbmFibGVkIEZYU1IgYW5kIGNvbXBhbnkgX2JlZm9yZV8gdGVzdGluZyBmb3IgRlAKKwkgKiBwcm9ibGVtcyBoZXJlLgorCSAqCisJICogVGVzdCBmb3IgdGhlIGRpdmwgYnVnLi4KKwkgKi8KIAlfX2FzbV9fKCJmbmluaXRcblx0IgogCQkiZmxkbCAlMVxuXHQiCiAJCSJmZGl2bCAlMlxuXHQiCkBAIC0xMDgsMTAgKzExMiwxNSBAQAogCSAgIm1vdmwgJDEyMzQ1Njc4LCUlZWF4OyBtb3ZsICQwLCUlZWRpOyBwdXNoYTsgcG9wYTsgbW92bCAoJSVlZHgsJSVlZGkpLCUlZWN4ICIKIAkgIDogIj0mYSIgKHJlcykKIAkgIDogImQiIChpbnApCi0JICA6ICJlY3giLCAiZWRpIiApOwotCS8qIElmIHRoaXMgZmFpbHMsIGl0IG1lYW5zIHRoYXQgYW55IHVzZXIgcHJvZ3JhbSBtYXkgbG9jayB0aGUgQ1BVIGhhcmQuIFRvbyBiYWQuICovCi0JaWYgKHJlcyAhPSAxMjM0NTY3OCkgcHJpbnRrKCAiQnVnZ3kuXG4iICk7Ci0JCSAgICAgICAgZWxzZSBwcmludGsoICJPSy5cbiIgKTsKKwkgIDogImVjeCIsICJlZGkiKTsKKwkvKgorCSAqIElmIHRoaXMgZmFpbHMsIGl0IG1lYW5zIHRoYXQgYW55IHVzZXIgcHJvZ3JhbSBtYXkgbG9jayB0aGUKKwkgKiBDUFUgaGFyZC4gVG9vIGJhZC4KKwkgKi8KKwlpZiAocmVzICE9IDEyMzQ1Njc4KQorCQlwcmludGsoIkJ1Z2d5LlxuIik7CisJZWxzZQorCQlwcmludGsoIk9LLlxuIik7CiAjZW5kaWYKIH0KIApAQCAtMTM3LDcgKzE0Niw4IEBACiAgKiBpNDg2KyBvbmx5IGZlYXR1cmVzISAoV1Agd29ya3MgaW4gc3VwZXJ2aXNvciBtb2RlIGFuZCB0aGUKICAqIG5ldyAiaW52bHBnIiBhbmQgImJzd2FwIiBpbnN0cnVjdGlvbnMpCiAgKi8KLSNpZiBkZWZpbmVkKENPTkZJR19YODZfV1BfV09SS1NfT0spIHx8IGRlZmluZWQoQ09ORklHX1g4Nl9JTlZMUEcpIHx8IGRlZmluZWQoQ09ORklHX1g4Nl9CU1dBUCkKKyNpZiBkZWZpbmVkKENPTkZJR19YODZfV1BfV09SS1NfT0spIHx8IGRlZmluZWQoQ09ORklHX1g4Nl9JTlZMUEcpIHx8IFwKKwlkZWZpbmVkKENPTkZJR19YODZfQlNXQVApCiAJaWYgKGJvb3RfY3B1X2RhdGEueDg2ID09IDMpCiAJCXBhbmljKCJLZXJuZWwgcmVxdWlyZXMgaTQ4NisgZm9yICdpbnZscGcnIGFuZCBvdGhlciBmZWF0dXJlcyIpOwogI2VuZGlmCkBAIC0xNzAsNiArMTgwLDcgQEAKIAljaGVja19mcHUoKTsKIAljaGVja19obHQoKTsKIAljaGVja19wb3BhZCgpOwotCWluaXRfdXRzbmFtZSgpLT5tYWNoaW5lWzFdID0gJzAnICsgKGJvb3RfY3B1X2RhdGEueDg2ID4gNiA/IDYgOiBib290X2NwdV9kYXRhLng4Nik7CisJaW5pdF91dHNuYW1lKCktPm1hY2hpbmVbMV0gPQorCQknMCcgKyAoYm9vdF9jcHVfZGF0YS54ODYgPiA2ID8gNiA6IGJvb3RfY3B1X2RhdGEueDg2KTsKIAlhbHRlcm5hdGl2ZV9pbnN0cnVjdGlvbnMoKTsKIH0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9idWdzXzY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L2J1Z3NfNjQuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gYXJjaC94ODYva2VybmVsL2J1Z3NfNjQuYwpyZW5hbWUgdG8gYXJjaC94ODYva2VybmVsL2NwdS9idWdzXzY0LmMKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9jcHUvY2VudGF1cl82NC5jIGIvYXJjaC94ODYva2VybmVsL2NwdS9jZW50YXVyXzY0LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWQxODFjNAotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvY2VudGF1cl82NC5jCkBAIC0wLDAgKzEsMzUgQEAKKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvc21wLmg+CisKKyNpbmNsdWRlIDxhc20vY3B1ZmVhdHVyZS5oPgorI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3IuaD4KKworI2luY2x1ZGUgImNwdS5oIgorCitzdGF0aWMgdm9pZCBfX2NwdWluaXQgZWFybHlfaW5pdF9jZW50YXVyKHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKK3sKKwlpZiAoYy0+eDg2ID09IDB4NiAmJiBjLT54ODZfbW9kZWwgPj0gMHhmKQorCQlzZXRfY3B1X2NhcChjLCBYODZfRkVBVFVSRV9DT05TVEFOVF9UU0MpOworCisJc2V0X2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfU1lTRU5URVIzMik7Cit9CisKK3N0YXRpYyB2b2lkIF9fY3B1aW5pdCBpbml0X2NlbnRhdXIoc3RydWN0IGNwdWluZm9feDg2ICpjKQoreworCWlmIChjLT54ODYgPT0gMHg2ICYmIGMtPng4Nl9tb2RlbCA+PSAweGYpIHsKKwkJYy0+eDg2X2NhY2hlX2FsaWdubWVudCA9IGMtPng4Nl9jbGZsdXNoX3NpemUgKiAyOworCQlzZXRfY3B1X2NhcChjLCBYODZfRkVBVFVSRV9DT05TVEFOVF9UU0MpOworCQlzZXRfY3B1X2NhcChjLCBYODZfRkVBVFVSRV9SRVBfR09PRCk7CisJfQorCXNldF9jcHVfY2FwKGMsIFg4Nl9GRUFUVVJFX0xGRU5DRV9SRFRTQyk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgY3B1X2RldiBjZW50YXVyX2NwdV9kZXYgX19jcHVpbml0ZGF0YSA9IHsKKwkuY192ZW5kb3IJPSAiQ2VudGF1ciIsCisJLmNfaWRlbnQJPSB7ICJDZW50YXVySGF1bHMiIH0sCisJLmNfZWFybHlfaW5pdAk9IGVhcmx5X2luaXRfY2VudGF1ciwKKwkuY19pbml0CQk9IGluaXRfY2VudGF1ciwKK307CisKK2NwdV92ZW5kb3JfZGV2X3JlZ2lzdGVyKFg4Nl9WRU5ET1JfQ0VOVEFVUiwgJmNlbnRhdXJfY3B1X2Rldik7CisKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9jcHUvY29tbW9uLmMgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L2NvbW1vbi5jCmluZGV4IGQwNDYzYTkuLjgwYWIyMGQgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9jcHUvY29tbW9uLmMKKysrIGIvYXJjaC94ODYva2VybmVsL2NwdS9jb21tb24uYwpAQCAtNDI3LDcgKzQyNyw3IEBACiAvKgogICogVGhpcyBkb2VzIHRoZSBoYXJkIHdvcmsgb2YgYWN0dWFsbHkgcGlja2luZyBhcGFydCB0aGUgQ1BVIHN0dWZmLi4uCiAgKi8KLXZvaWQgX19jcHVpbml0IGlkZW50aWZ5X2NwdShzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCitzdGF0aWMgdm9pZCBfX2NwdWluaXQgaWRlbnRpZnlfY3B1KHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKIHsKIAlpbnQgaTsKIApkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2NwdS9jb21tb25fNjQuYyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvY29tbW9uXzY0LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2I4Y2M3MgotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvY29tbW9uXzY0LmMKQEAgLTAsMCArMSw2ODEgQEAKKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KKyNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KKyNpbmNsdWRlIDxsaW51eC9ib290bWVtLmg+CisjaW5jbHVkZSA8bGludXgvYml0b3BzLmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgva2dkYi5oPgorI2luY2x1ZGUgPGxpbnV4L3RvcG9sb2d5Lmg+CisjaW5jbHVkZSA8bGludXgvc3RyaW5nLmg+CisjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXAuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9wZXJjcHUuaD4KKyNpbmNsdWRlIDxhc20vcHJvY2Vzc29yLmg+CisjaW5jbHVkZSA8YXNtL2kzODcuaD4KKyNpbmNsdWRlIDxhc20vbXNyLmg+CisjaW5jbHVkZSA8YXNtL2lvLmg+CisjaW5jbHVkZSA8YXNtL21tdV9jb250ZXh0Lmg+CisjaW5jbHVkZSA8YXNtL210cnIuaD4KKyNpbmNsdWRlIDxhc20vbWNlLmg+CisjaW5jbHVkZSA8YXNtL3BhdC5oPgorI2luY2x1ZGUgPGFzbS9udW1hLmg+CisjaWZkZWYgQ09ORklHX1g4Nl9MT0NBTF9BUElDCisjaW5jbHVkZSA8YXNtL21wc3BlYy5oPgorI2luY2x1ZGUgPGFzbS9hcGljLmg+CisjaW5jbHVkZSA8bWFjaF9hcGljLmg+CisjZW5kaWYKKyNpbmNsdWRlIDxhc20vcGRhLmg+CisjaW5jbHVkZSA8YXNtL3BndGFibGUuaD4KKyNpbmNsdWRlIDxhc20vcHJvY2Vzc29yLmg+CisjaW5jbHVkZSA8YXNtL2Rlc2MuaD4KKyNpbmNsdWRlIDxhc20vYXRvbWljLmg+CisjaW5jbHVkZSA8YXNtL3Byb3RvLmg+CisjaW5jbHVkZSA8YXNtL3NlY3Rpb25zLmg+CisjaW5jbHVkZSA8YXNtL3NldHVwLmg+CisjaW5jbHVkZSA8YXNtL2dlbmFwaWMuaD4KKworI2luY2x1ZGUgImNwdS5oIgorCisvKiBXZSBuZWVkIHZhbGlkIGtlcm5lbCBzZWdtZW50cyBmb3IgZGF0YSBhbmQgY29kZSBpbiBsb25nIG1vZGUgdG9vCisgKiBJUkVUIHdpbGwgY2hlY2sgdGhlIHNlZ21lbnQgdHlwZXMgIGtrZWlsIDIwMDAvMTAvMjgKKyAqIEFsc28gc3lzcmV0IG1hbmRhdGVzIGEgc3BlY2lhbCBHRFQgbGF5b3V0CisgKi8KKy8qIFRoZSBUTFMgZGVzY3JpcHRvcnMgYXJlIGN1cnJlbnRseSBhdCBhIGRpZmZlcmVudCBwbGFjZSBjb21wYXJlZCB0byBpMzg2LgorICAgSG9wZWZ1bGx5IG5vYm9keSBleHBlY3RzIHRoZW0gYXQgYSBmaXhlZCBwbGFjZSAoV2luZT8pICovCitERUZJTkVfUEVSX0NQVShzdHJ1Y3QgZ2R0X3BhZ2UsIGdkdF9wYWdlKSA9IHsgLmdkdCA9IHsKKwlbR0RUX0VOVFJZX0tFUk5FTDMyX0NTXSA9IHsgeyB7IDB4MDAwMGZmZmYsIDB4MDBjZjliMDAgfSB9IH0sCisJW0dEVF9FTlRSWV9LRVJORUxfQ1NdID0geyB7IHsgMHgwMDAwZmZmZiwgMHgwMGFmOWIwMCB9IH0gfSwKKwlbR0RUX0VOVFJZX0tFUk5FTF9EU10gPSB7IHsgeyAweDAwMDBmZmZmLCAweDAwY2Y5MzAwIH0gfSB9LAorCVtHRFRfRU5UUllfREVGQVVMVF9VU0VSMzJfQ1NdID0geyB7IHsgMHgwMDAwZmZmZiwgMHgwMGNmZmIwMCB9IH0gfSwKKwlbR0RUX0VOVFJZX0RFRkFVTFRfVVNFUl9EU10gPSB7IHsgeyAweDAwMDBmZmZmLCAweDAwY2ZmMzAwIH0gfSB9LAorCVtHRFRfRU5UUllfREVGQVVMVF9VU0VSX0NTXSA9IHsgeyB7IDB4MDAwMGZmZmYsIDB4MDBhZmZiMDAgfSB9IH0sCit9IH07CitFWFBPUlRfUEVSX0NQVV9TWU1CT0xfR1BMKGdkdF9wYWdlKTsKKworX191MzIgY2xlYXJlZF9jcHVfY2Fwc1tOQ0FQSU5UU10gX19jcHVpbml0ZGF0YTsKKworLyogQ3VycmVudCBnZHQgcG9pbnRzICVmcyBhdCB0aGUgIm1hc3RlciIgcGVyLWNwdSBhcmVhOiBhZnRlciB0aGlzLAorICogaXQncyBvbiB0aGUgcmVhbCBvbmUuICovCit2b2lkIHN3aXRjaF90b19uZXdfZ2R0KHZvaWQpCit7CisJc3RydWN0IGRlc2NfcHRyIGdkdF9kZXNjcjsKKworCWdkdF9kZXNjci5hZGRyZXNzID0gKGxvbmcpZ2V0X2NwdV9nZHRfdGFibGUoc21wX3Byb2Nlc3Nvcl9pZCgpKTsKKwlnZHRfZGVzY3Iuc2l6ZSA9IEdEVF9TSVpFIC0gMTsKKwlsb2FkX2dkdCgmZ2R0X2Rlc2NyKTsKK30KKworc3RydWN0IGNwdV9kZXYgKmNwdV9kZXZzW1g4Nl9WRU5ET1JfTlVNXSA9IHt9OworCitzdGF0aWMgdm9pZCBfX2NwdWluaXQgZGVmYXVsdF9pbml0KHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKK3sKKwlkaXNwbGF5X2NhY2hlaW5mbyhjKTsKK30KKworc3RhdGljIHN0cnVjdCBjcHVfZGV2IF9fY3B1aW5pdGRhdGEgZGVmYXVsdF9jcHUgPSB7CisJLmNfaW5pdAk9IGRlZmF1bHRfaW5pdCwKKwkuY192ZW5kb3IgPSAiVW5rbm93biIsCit9Oworc3RhdGljIHN0cnVjdCBjcHVfZGV2ICp0aGlzX2NwdSBfX2NwdWluaXRkYXRhID0gJmRlZmF1bHRfY3B1OworCitpbnQgX19jcHVpbml0IGdldF9tb2RlbF9uYW1lKHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKK3sKKwl1bnNpZ25lZCBpbnQgKnY7CisKKwlpZiAoYy0+ZXh0ZW5kZWRfY3B1aWRfbGV2ZWwgPCAweDgwMDAwMDA0KQorCQlyZXR1cm4gMDsKKworCXYgPSAodW5zaWduZWQgaW50ICopIGMtPng4Nl9tb2RlbF9pZDsKKwljcHVpZCgweDgwMDAwMDAyLCAmdlswXSwgJnZbMV0sICZ2WzJdLCAmdlszXSk7CisJY3B1aWQoMHg4MDAwMDAwMywgJnZbNF0sICZ2WzVdLCAmdls2XSwgJnZbN10pOworCWNwdWlkKDB4ODAwMDAwMDQsICZ2WzhdLCAmdls5XSwgJnZbMTBdLCAmdlsxMV0pOworCWMtPng4Nl9tb2RlbF9pZFs0OF0gPSAwOworCXJldHVybiAxOworfQorCisKK3ZvaWQgX19jcHVpbml0IGRpc3BsYXlfY2FjaGVpbmZvKHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKK3sKKwl1bnNpZ25lZCBpbnQgbiwgZHVtbXksIGVieCwgZWN4LCBlZHg7CisKKwluID0gYy0+ZXh0ZW5kZWRfY3B1aWRfbGV2ZWw7CisKKwlpZiAobiA+PSAweDgwMDAwMDA1KSB7CisJCWNwdWlkKDB4ODAwMDAwMDUsICZkdW1teSwgJmVieCwgJmVjeCwgJmVkeCk7CisJCXByaW50ayhLRVJOX0lORk8gIkNQVTogTDEgSSBDYWNoZTogJWRLICglZCBieXRlcy9saW5lKSwgIgorCQkgICAgICAgIkQgY2FjaGUgJWRLICglZCBieXRlcy9saW5lKVxuIiwKKwkJICAgICAgIGVkeD4+MjQsIGVkeCYweEZGLCBlY3g+PjI0LCBlY3gmMHhGRik7CisJCWMtPng4Nl9jYWNoZV9zaXplID0gKGVjeD4+MjQpICsgKGVkeD4+MjQpOworCQkvKiBPbiBLOCBMMSBUTEIgaXMgaW5jbHVzaXZlLCBzbyBkb24ndCBjb3VudCBpdCAqLworCQljLT54ODZfdGxic2l6ZSA9IDA7CisJfQorCisJaWYgKG4gPj0gMHg4MDAwMDAwNikgeworCQljcHVpZCgweDgwMDAwMDA2LCAmZHVtbXksICZlYngsICZlY3gsICZlZHgpOworCQllY3ggPSBjcHVpZF9lY3goMHg4MDAwMDAwNik7CisJCWMtPng4Nl9jYWNoZV9zaXplID0gZWN4ID4+IDE2OworCQljLT54ODZfdGxic2l6ZSArPSAoKGVieCA+PiAxNikgJiAweGZmZikgKyAoZWJ4ICYgMHhmZmYpOworCisJCXByaW50ayhLRVJOX0lORk8gIkNQVTogTDIgQ2FjaGU6ICVkSyAoJWQgYnl0ZXMvbGluZSlcbiIsCisJCWMtPng4Nl9jYWNoZV9zaXplLCBlY3ggJiAweEZGKTsKKwl9Cit9CisKK3ZvaWQgX19jcHVpbml0IGRldGVjdF9odChzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCit7CisjaWZkZWYgQ09ORklHX1NNUAorCXUzMiBlYXgsIGVieCwgZWN4LCBlZHg7CisJaW50IGluZGV4X21zYiwgY29yZV9iaXRzOworCisJY3B1aWQoMSwgJmVheCwgJmVieCwgJmVjeCwgJmVkeCk7CisKKworCWlmICghY3B1X2hhcyhjLCBYODZfRkVBVFVSRV9IVCkpCisJCXJldHVybjsKKwlpZiAoY3B1X2hhcyhjLCBYODZfRkVBVFVSRV9DTVBfTEVHQUNZKSkKKwkJZ290byBvdXQ7CisKKwlzbXBfbnVtX3NpYmxpbmdzID0gKGVieCAmIDB4ZmYwMDAwKSA+PiAxNjsKKworCWlmIChzbXBfbnVtX3NpYmxpbmdzID09IDEpIHsKKwkJcHJpbnRrKEtFUk5fSU5GTyAgIkNQVTogSHlwZXItVGhyZWFkaW5nIGlzIGRpc2FibGVkXG4iKTsKKwl9IGVsc2UgaWYgKHNtcF9udW1fc2libGluZ3MgPiAxKSB7CisKKwkJaWYgKHNtcF9udW1fc2libGluZ3MgPiBOUl9DUFVTKSB7CisJCQlwcmludGsoS0VSTl9XQVJOSU5HICJDUFU6IFVuc3VwcG9ydGVkIG51bWJlciBvZiAiCisJCQkgICAgICAgInNpYmxpbmdzICVkIiwgc21wX251bV9zaWJsaW5ncyk7CisJCQlzbXBfbnVtX3NpYmxpbmdzID0gMTsKKwkJCXJldHVybjsKKwkJfQorCisJCWluZGV4X21zYiA9IGdldF9jb3VudF9vcmRlcihzbXBfbnVtX3NpYmxpbmdzKTsKKwkJYy0+cGh5c19wcm9jX2lkID0gcGh5c19wa2dfaWQoaW5kZXhfbXNiKTsKKworCQlzbXBfbnVtX3NpYmxpbmdzID0gc21wX251bV9zaWJsaW5ncyAvIGMtPng4Nl9tYXhfY29yZXM7CisKKwkJaW5kZXhfbXNiID0gZ2V0X2NvdW50X29yZGVyKHNtcF9udW1fc2libGluZ3MpOworCisJCWNvcmVfYml0cyA9IGdldF9jb3VudF9vcmRlcihjLT54ODZfbWF4X2NvcmVzKTsKKworCQljLT5jcHVfY29yZV9pZCA9IHBoeXNfcGtnX2lkKGluZGV4X21zYikgJgorCQkJCQkgICAgICAgKCgxIDw8IGNvcmVfYml0cykgLSAxKTsKKwl9CitvdXQ6CisJaWYgKChjLT54ODZfbWF4X2NvcmVzICogc21wX251bV9zaWJsaW5ncykgPiAxKSB7CisJCXByaW50ayhLRVJOX0lORk8gICJDUFU6IFBoeXNpY2FsIFByb2Nlc3NvciBJRDogJWRcbiIsCisJCSAgICAgICBjLT5waHlzX3Byb2NfaWQpOworCQlwcmludGsoS0VSTl9JTkZPICAiQ1BVOiBQcm9jZXNzb3IgQ29yZSBJRDogJWRcbiIsCisJCSAgICAgICBjLT5jcHVfY29yZV9pZCk7CisJfQorCisjZW5kaWYKK30KKworc3RhdGljIHZvaWQgX19jcHVpbml0IGdldF9jcHVfdmVuZG9yKHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKK3sKKwljaGFyICp2ID0gYy0+eDg2X3ZlbmRvcl9pZDsKKwlpbnQgaTsKKwlzdGF0aWMgaW50IHByaW50ZWQ7CisKKwlmb3IgKGkgPSAwOyBpIDwgWDg2X1ZFTkRPUl9OVU07IGkrKykgeworCQlpZiAoY3B1X2RldnNbaV0pIHsKKwkJCWlmICghc3RyY21wKHYsIGNwdV9kZXZzW2ldLT5jX2lkZW50WzBdKSB8fAorCQkJICAgIChjcHVfZGV2c1tpXS0+Y19pZGVudFsxXSAmJgorCQkJICAgICFzdHJjbXAodiwgY3B1X2RldnNbaV0tPmNfaWRlbnRbMV0pKSkgeworCQkJCWMtPng4Nl92ZW5kb3IgPSBpOworCQkJCXRoaXNfY3B1ID0gY3B1X2RldnNbaV07CisJCQkJcmV0dXJuOworCQkJfQorCQl9CisJfQorCWlmICghcHJpbnRlZCkgeworCQlwcmludGVkKys7CisJCXByaW50ayhLRVJOX0VSUiAiQ1BVOiBWZW5kb3IgdW5rbm93biwgdXNpbmcgZ2VuZXJpYyBpbml0LlxuIik7CisJCXByaW50ayhLRVJOX0VSUiAiQ1BVOiBZb3VyIHN5c3RlbSBtYXkgYmUgdW5zdGFibGUuXG4iKTsKKwl9CisJYy0+eDg2X3ZlbmRvciA9IFg4Nl9WRU5ET1JfVU5LTk9XTjsKK30KKworc3RhdGljIHZvaWQgX19pbml0IGVhcmx5X2NwdV9zdXBwb3J0X3ByaW50KHZvaWQpCit7CisJaW50IGksajsKKwlzdHJ1Y3QgY3B1X2RldiAqY3B1X2Rldng7CisKKwlwcmludGsoIktFUk5FTCBzdXBwb3J0ZWQgY3B1czpcbiIpOworCWZvciAoaSA9IDA7IGkgPCBYODZfVkVORE9SX05VTTsgaSsrKSB7CisJCWNwdV9kZXZ4ID0gY3B1X2RldnNbaV07CisJCWlmICghY3B1X2RldngpCisJCQljb250aW51ZTsKKwkJZm9yIChqID0gMDsgaiA8IDI7IGorKykgeworCQkJaWYgKCFjcHVfZGV2eC0+Y19pZGVudFtqXSkKKwkJCQljb250aW51ZTsKKwkJCXByaW50aygiICAlcyAlc1xuIiwgY3B1X2RldngtPmNfdmVuZG9yLAorCQkJCWNwdV9kZXZ4LT5jX2lkZW50W2pdKTsKKwkJfQorCX0KK30KKworc3RhdGljIHZvaWQgX19jcHVpbml0IGVhcmx5X2lkZW50aWZ5X2NwdShzdHJ1Y3QgY3B1aW5mb194ODYgKmMpOworCit2b2lkIF9faW5pdCBlYXJseV9jcHVfaW5pdCh2b2lkKQoreworICAgICAgICBzdHJ1Y3QgY3B1X3ZlbmRvcl9kZXYgKmN2ZGV2OworCisgICAgICAgIGZvciAoY3ZkZXYgPSBfX3g4NmNwdXZlbmRvcl9zdGFydCA7CisgICAgICAgICAgICAgY3ZkZXYgPCBfX3g4NmNwdXZlbmRvcl9lbmQgICA7CisgICAgICAgICAgICAgY3ZkZXYrKykKKyAgICAgICAgICAgICAgICBjcHVfZGV2c1tjdmRldi0+dmVuZG9yXSA9IGN2ZGV2LT5jcHVfZGV2OworCWVhcmx5X2NwdV9zdXBwb3J0X3ByaW50KCk7CisJZWFybHlfaWRlbnRpZnlfY3B1KCZib290X2NwdV9kYXRhKTsKK30KKworLyogRG8gc29tZSBlYXJseSBjcHVpZCBvbiB0aGUgYm9vdCBDUFUgdG8gZ2V0IHNvbWUgcGFyYW1ldGVyIHRoYXQgYXJlCisgICBuZWVkZWQgYmVmb3JlIGNoZWNrX2J1Z3MuIEV2ZXJ5dGhpbmcgYWR2YW5jZWQgaXMgaW4gaWRlbnRpZnlfY3B1CisgICBiZWxvdy4gKi8KK3N0YXRpYyB2b2lkIF9fY3B1aW5pdCBlYXJseV9pZGVudGlmeV9jcHUoc3RydWN0IGNwdWluZm9feDg2ICpjKQoreworCXUzMiB0Zm1zLCB4bHZsOworCisJYy0+bG9vcHNfcGVyX2ppZmZ5ID0gbG9vcHNfcGVyX2ppZmZ5OworCWMtPng4Nl9jYWNoZV9zaXplID0gLTE7CisJYy0+eDg2X3ZlbmRvciA9IFg4Nl9WRU5ET1JfVU5LTk9XTjsKKwljLT54ODZfbW9kZWwgPSBjLT54ODZfbWFzayA9IDA7CS8qIFNvIGZhciB1bmtub3duLi4uICovCisJYy0+eDg2X3ZlbmRvcl9pZFswXSA9ICdcMCc7IC8qIFVuc2V0ICovCisJYy0+eDg2X21vZGVsX2lkWzBdID0gJ1wwJzsgIC8qIFVuc2V0ICovCisJYy0+eDg2X2NsZmx1c2hfc2l6ZSA9IDY0OworCWMtPng4Nl9jYWNoZV9hbGlnbm1lbnQgPSBjLT54ODZfY2xmbHVzaF9zaXplOworCWMtPng4Nl9tYXhfY29yZXMgPSAxOworCWMtPng4Nl9jb3JlaWRfYml0cyA9IDA7CisJYy0+ZXh0ZW5kZWRfY3B1aWRfbGV2ZWwgPSAwOworCW1lbXNldCgmYy0+eDg2X2NhcGFiaWxpdHksIDAsIHNpemVvZiBjLT54ODZfY2FwYWJpbGl0eSk7CisKKwkvKiBHZXQgdmVuZG9yIG5hbWUgKi8KKwljcHVpZCgweDAwMDAwMDAwLCAodW5zaWduZWQgaW50ICopJmMtPmNwdWlkX2xldmVsLAorCSAgICAgICh1bnNpZ25lZCBpbnQgKikmYy0+eDg2X3ZlbmRvcl9pZFswXSwKKwkgICAgICAodW5zaWduZWQgaW50ICopJmMtPng4Nl92ZW5kb3JfaWRbOF0sCisJICAgICAgKHVuc2lnbmVkIGludCAqKSZjLT54ODZfdmVuZG9yX2lkWzRdKTsKKworCWdldF9jcHVfdmVuZG9yKGMpOworCisJLyogSW5pdGlhbGl6ZSB0aGUgc3RhbmRhcmQgc2V0IG9mIGNhcGFiaWxpdGllcyAqLworCS8qIE5vdGUgdGhhdCB0aGUgdmVuZG9yLXNwZWNpZmljIGNvZGUgYmVsb3cgbWlnaHQgb3ZlcnJpZGUgKi8KKworCS8qIEludGVsLWRlZmluZWQgZmxhZ3M6IGxldmVsIDB4MDAwMDAwMDEgKi8KKwlpZiAoYy0+Y3B1aWRfbGV2ZWwgPj0gMHgwMDAwMDAwMSkgeworCQlfX3UzMiBtaXNjOworCQljcHVpZCgweDAwMDAwMDAxLCAmdGZtcywgJm1pc2MsICZjLT54ODZfY2FwYWJpbGl0eVs0XSwKKwkJICAgICAgJmMtPng4Nl9jYXBhYmlsaXR5WzBdKTsKKwkJYy0+eDg2ID0gKHRmbXMgPj4gOCkgJiAweGY7CisJCWMtPng4Nl9tb2RlbCA9ICh0Zm1zID4+IDQpICYgMHhmOworCQljLT54ODZfbWFzayA9IHRmbXMgJiAweGY7CisJCWlmIChjLT54ODYgPT0gMHhmKQorCQkJYy0+eDg2ICs9ICh0Zm1zID4+IDIwKSAmIDB4ZmY7CisJCWlmIChjLT54ODYgPj0gMHg2KQorCQkJYy0+eDg2X21vZGVsICs9ICgodGZtcyA+PiAxNikgJiAweEYpIDw8IDQ7CisJCWlmICh0ZXN0X2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfQ0xGTFNIKSkKKwkJCWMtPng4Nl9jbGZsdXNoX3NpemUgPSAoKG1pc2MgPj4gOCkgJiAweGZmKSAqIDg7CisJfSBlbHNlIHsKKwkJLyogSGF2ZSBDUFVJRCBsZXZlbCAwIG9ubHkgLSB1bmhlYXJkIG9mICovCisJCWMtPng4NiA9IDQ7CisJfQorCisJYy0+aW5pdGlhbF9hcGljaWQgPSAoY3B1aWRfZWJ4KDEpID4+IDI0KSAmIDB4ZmY7CisjaWZkZWYgQ09ORklHX1NNUAorCWMtPnBoeXNfcHJvY19pZCA9IGMtPmluaXRpYWxfYXBpY2lkOworI2VuZGlmCisJLyogQU1ELWRlZmluZWQgZmxhZ3M6IGxldmVsIDB4ODAwMDAwMDEgKi8KKwl4bHZsID0gY3B1aWRfZWF4KDB4ODAwMDAwMDApOworCWMtPmV4dGVuZGVkX2NwdWlkX2xldmVsID0geGx2bDsKKwlpZiAoKHhsdmwgJiAweGZmZmYwMDAwKSA9PSAweDgwMDAwMDAwKSB7CisJCWlmICh4bHZsID49IDB4ODAwMDAwMDEpIHsKKwkJCWMtPng4Nl9jYXBhYmlsaXR5WzFdID0gY3B1aWRfZWR4KDB4ODAwMDAwMDEpOworCQkJYy0+eDg2X2NhcGFiaWxpdHlbNl0gPSBjcHVpZF9lY3goMHg4MDAwMDAwMSk7CisJCX0KKwkJaWYgKHhsdmwgPj0gMHg4MDAwMDAwNCkKKwkJCWdldF9tb2RlbF9uYW1lKGMpOyAvKiBEZWZhdWx0IG5hbWUgKi8KKwl9CisKKwkvKiBUcmFuc21ldGEtZGVmaW5lZCBmbGFnczogbGV2ZWwgMHg4MDg2MDAwMSAqLworCXhsdmwgPSBjcHVpZF9lYXgoMHg4MDg2MDAwMCk7CisJaWYgKCh4bHZsICYgMHhmZmZmMDAwMCkgPT0gMHg4MDg2MDAwMCkgeworCQkvKiBEb24ndCBzZXQgeDg2X2NwdWlkX2xldmVsIGhlcmUgZm9yIG5vdyB0byBub3QgY29uZnVzZS4gKi8KKwkJaWYgKHhsdmwgPj0gMHg4MDg2MDAwMSkKKwkJCWMtPng4Nl9jYXBhYmlsaXR5WzJdID0gY3B1aWRfZWR4KDB4ODA4NjAwMDEpOworCX0KKworCWMtPmV4dGVuZGVkX2NwdWlkX2xldmVsID0gY3B1aWRfZWF4KDB4ODAwMDAwMDApOworCWlmIChjLT5leHRlbmRlZF9jcHVpZF9sZXZlbCA+PSAweDgwMDAwMDA3KQorCQljLT54ODZfcG93ZXIgPSBjcHVpZF9lZHgoMHg4MDAwMDAwNyk7CisKKwlpZiAoYy0+ZXh0ZW5kZWRfY3B1aWRfbGV2ZWwgPj0gMHg4MDAwMDAwOCkgeworCQl1MzIgZWF4ID0gY3B1aWRfZWF4KDB4ODAwMDAwMDgpOworCisJCWMtPng4Nl92aXJ0X2JpdHMgPSAoZWF4ID4+IDgpICYgMHhmZjsKKwkJYy0+eDg2X3BoeXNfYml0cyA9IGVheCAmIDB4ZmY7CisJfQorCisJLyogQXNzdW1lIGFsbCA2NC1iaXQgQ1BVcyBzdXBwb3J0IDMyLWJpdCBzeXNjYWxsICovCisJc2V0X2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfU1lTQ0FMTDMyKTsKKworCWlmIChjLT54ODZfdmVuZG9yICE9IFg4Nl9WRU5ET1JfVU5LTk9XTiAmJgorCSAgICBjcHVfZGV2c1tjLT54ODZfdmVuZG9yXS0+Y19lYXJseV9pbml0KQorCQljcHVfZGV2c1tjLT54ODZfdmVuZG9yXS0+Y19lYXJseV9pbml0KGMpOworCisJdmFsaWRhdGVfcGF0X3N1cHBvcnQoYyk7CisKKwkvKiBlYXJseV9wYXJhbSBjb3VsZCBjbGVhciB0aGF0LCBidXQgcmVjYWxsIGdldCBpdCBzZXQgYWdhaW4gKi8KKwlpZiAoZGlzYWJsZV9hcGljKQorCQljbGVhcl9jcHVfY2FwKGMsIFg4Nl9GRUFUVVJFX0FQSUMpOworfQorCisvKgorICogVGhpcyBkb2VzIHRoZSBoYXJkIHdvcmsgb2YgYWN0dWFsbHkgcGlja2luZyBhcGFydCB0aGUgQ1BVIHN0dWZmLi4uCisgKi8KK3N0YXRpYyB2b2lkIF9fY3B1aW5pdCBpZGVudGlmeV9jcHUoc3RydWN0IGNwdWluZm9feDg2ICpjKQoreworCWludCBpOworCisJZWFybHlfaWRlbnRpZnlfY3B1KGMpOworCisJaW5pdF9zY2F0dGVyZWRfY3B1aWRfZmVhdHVyZXMoYyk7CisKKwljLT5hcGljaWQgPSBwaHlzX3BrZ19pZCgwKTsKKworCS8qCisJICogVmVuZG9yLXNwZWNpZmljIGluaXRpYWxpemF0aW9uLiAgSW4gdGhpcyBzZWN0aW9uIHdlCisJICogY2Fub25pY2FsaXplIHRoZSBmZWF0dXJlIGZsYWdzLCBtZWFuaW5nIGlmIHRoZXJlIGFyZQorCSAqIGZlYXR1cmVzIGEgY2VydGFpbiBDUFUgc3VwcG9ydHMgd2hpY2ggQ1BVSUQgZG9lc24ndAorCSAqIHRlbGwgdXMsIENQVUlEIGNsYWltaW5nIGluY29ycmVjdCBmbGFncywgb3Igb3RoZXIgYnVncywKKwkgKiB3ZSBoYW5kbGUgdGhlbSBoZXJlLgorCSAqCisJICogQXQgdGhlIGVuZCBvZiB0aGlzIHNlY3Rpb24sIGMtPng4Nl9jYXBhYmlsaXR5IGJldHRlcgorCSAqIGluZGljYXRlIHRoZSBmZWF0dXJlcyB0aGlzIENQVSBnZW51aW5lbHkgc3VwcG9ydHMhCisJICovCisJaWYgKHRoaXNfY3B1LT5jX2luaXQpCisJCXRoaXNfY3B1LT5jX2luaXQoYyk7CisKKwlkZXRlY3RfaHQoYyk7CisKKwkvKgorCSAqIE9uIFNNUCwgYm9vdF9jcHVfZGF0YSBob2xkcyB0aGUgY29tbW9uIGZlYXR1cmUgc2V0IGJldHdlZW4KKwkgKiBhbGwgQ1BVczsgc28gbWFrZSBzdXJlIHRoYXQgd2UgaW5kaWNhdGUgd2hpY2ggZmVhdHVyZXMgYXJlCisJICogY29tbW9uIGJldHdlZW4gdGhlIENQVXMuICBUaGUgZmlyc3QgdGltZSB0aGlzIHJvdXRpbmUgZ2V0cworCSAqIGV4ZWN1dGVkLCBjID09ICZib290X2NwdV9kYXRhLgorCSAqLworCWlmIChjICE9ICZib290X2NwdV9kYXRhKSB7CisJCS8qIEFORCB0aGUgYWxyZWFkeSBhY2N1bXVsYXRlZCBmbGFncyB3aXRoIHRoZXNlICovCisJCWZvciAoaSA9IDA7IGkgPCBOQ0FQSU5UUzsgaSsrKQorCQkJYm9vdF9jcHVfZGF0YS54ODZfY2FwYWJpbGl0eVtpXSAmPSBjLT54ODZfY2FwYWJpbGl0eVtpXTsKKwl9CisKKwkvKiBDbGVhciBhbGwgZmxhZ3Mgb3ZlcnJpZGVuIGJ5IG9wdGlvbnMgKi8KKwlmb3IgKGkgPSAwOyBpIDwgTkNBUElOVFM7IGkrKykKKwkJYy0+eDg2X2NhcGFiaWxpdHlbaV0gJj0gfmNsZWFyZWRfY3B1X2NhcHNbaV07CisKKyNpZmRlZiBDT05GSUdfWDg2X01DRQorCW1jaGVja19pbml0KGMpOworI2VuZGlmCisJc2VsZWN0X2lkbGVfcm91dGluZShjKTsKKworI2lmZGVmIENPTkZJR19OVU1BCisJbnVtYV9hZGRfY3B1KHNtcF9wcm9jZXNzb3JfaWQoKSk7CisjZW5kaWYKKworfQorCit2b2lkIF9fY3B1aW5pdCBpZGVudGlmeV9ib290X2NwdSh2b2lkKQoreworCWlkZW50aWZ5X2NwdSgmYm9vdF9jcHVfZGF0YSk7Cit9CisKK3ZvaWQgX19jcHVpbml0IGlkZW50aWZ5X3NlY29uZGFyeV9jcHUoc3RydWN0IGNwdWluZm9feDg2ICpjKQoreworCUJVR19PTihjID09ICZib290X2NwdV9kYXRhKTsKKwlpZGVudGlmeV9jcHUoYyk7CisJbXRycl9hcF9pbml0KCk7Cit9CisKK3N0YXRpYyBfX2luaXQgaW50IHNldHVwX25vY2xmbHVzaChjaGFyICphcmcpCit7CisJc2V0dXBfY2xlYXJfY3B1X2NhcChYODZfRkVBVFVSRV9DTEZMU0gpOworCXJldHVybiAxOworfQorX19zZXR1cCgibm9jbGZsdXNoIiwgc2V0dXBfbm9jbGZsdXNoKTsKKwordm9pZCBfX2NwdWluaXQgcHJpbnRfY3B1X2luZm8oc3RydWN0IGNwdWluZm9feDg2ICpjKQoreworCWlmIChjLT54ODZfbW9kZWxfaWRbMF0pCisJCXByaW50ayhLRVJOX0NPTlQgIiVzIiwgYy0+eDg2X21vZGVsX2lkKTsKKworCWlmIChjLT54ODZfbWFzayB8fCBjLT5jcHVpZF9sZXZlbCA+PSAwKQorCQlwcmludGsoS0VSTl9DT05UICIgc3RlcHBpbmcgJTAyeFxuIiwgYy0+eDg2X21hc2spOworCWVsc2UKKwkJcHJpbnRrKEtFUk5fQ09OVCAiXG4iKTsKK30KKworc3RhdGljIF9faW5pdCBpbnQgc2V0dXBfZGlzYWJsZWNwdWlkKGNoYXIgKmFyZykKK3sKKwlpbnQgYml0OworCWlmIChnZXRfb3B0aW9uKCZhcmcsICZiaXQpICYmIGJpdCA8IE5DQVBJTlRTKjMyKQorCQlzZXR1cF9jbGVhcl9jcHVfY2FwKGJpdCk7CisJZWxzZQorCQlyZXR1cm4gMDsKKwlyZXR1cm4gMTsKK30KK19fc2V0dXAoImNsZWFyY3B1aWQ9Iiwgc2V0dXBfZGlzYWJsZWNwdWlkKTsKKworY3B1bWFza190IGNwdV9pbml0aWFsaXplZCBfX2NwdWluaXRkYXRhID0gQ1BVX01BU0tfTk9ORTsKKworc3RydWN0IHg4NjY0X3BkYSAqKl9jcHVfcGRhIF9fcmVhZF9tb3N0bHk7CitFWFBPUlRfU1lNQk9MKF9jcHVfcGRhKTsKKworc3RydWN0IGRlc2NfcHRyIGlkdF9kZXNjciA9IHsgMjU2ICogMTYgLSAxLCAodW5zaWduZWQgbG9uZykgaWR0X3RhYmxlIH07CisKK2NoYXIgYm9vdF9jcHVfc3RhY2tbSVJRU1RBQ0tTSVpFXSBfX3BhZ2VfYWxpZ25lZF9ic3M7CisKK3Vuc2lnbmVkIGxvbmcgX19zdXBwb3J0ZWRfcHRlX21hc2sgX19yZWFkX21vc3RseSA9IH4wVUw7CitFWFBPUlRfU1lNQk9MX0dQTChfX3N1cHBvcnRlZF9wdGVfbWFzayk7CisKK3N0YXRpYyBpbnQgZG9fbm90X254IF9fY3B1aW5pdGRhdGE7CisKKy8qIG5vZXhlYz1vbnxvZmYKK0NvbnRyb2wgbm9uIGV4ZWN1dGFibGUgbWFwcGluZ3MgZm9yIDY0Yml0IHByb2Nlc3Nlcy4KKworb24JRW5hYmxlKGRlZmF1bHQpCitvZmYJRGlzYWJsZQorKi8KK3N0YXRpYyBpbnQgX19pbml0IG5vbnhfc2V0dXAoY2hhciAqc3RyKQoreworCWlmICghc3RyKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAoIXN0cm5jbXAoc3RyLCAib24iLCAyKSkgeworCQlfX3N1cHBvcnRlZF9wdGVfbWFzayB8PSBfUEFHRV9OWDsKKwkJZG9fbm90X254ID0gMDsKKwl9IGVsc2UgaWYgKCFzdHJuY21wKHN0ciwgIm9mZiIsIDMpKSB7CisJCWRvX25vdF9ueCA9IDE7CisJCV9fc3VwcG9ydGVkX3B0ZV9tYXNrICY9IH5fUEFHRV9OWDsKKwl9CisJcmV0dXJuIDA7Cit9CitlYXJseV9wYXJhbSgibm9leGVjIiwgbm9ueF9zZXR1cCk7CisKK2ludCBmb3JjZV9wZXJzb25hbGl0eTMyOworCisvKiBub2V4ZWMzMj1vbnxvZmYKK0NvbnRyb2wgbm9uIGV4ZWN1dGFibGUgaGVhcCBmb3IgMzJiaXQgcHJvY2Vzc2VzLgorVG8gY29udHJvbCB0aGUgc3RhY2sgdG9vIHVzZSBub2V4ZWM9b2ZmCisKK29uCVBST1RfUkVBRCBkb2VzIG5vdCBpbXBseSBQUk9UX0VYRUMgZm9yIDMyYml0IHByb2Nlc3NlcyAoZGVmYXVsdCkKK29mZglQUk9UX1JFQUQgaW1wbGllcyBQUk9UX0VYRUMKKyovCitzdGF0aWMgaW50IF9faW5pdCBub254MzJfc2V0dXAoY2hhciAqc3RyKQoreworCWlmICghc3RyY21wKHN0ciwgIm9uIikpCisJCWZvcmNlX3BlcnNvbmFsaXR5MzIgJj0gflJFQURfSU1QTElFU19FWEVDOworCWVsc2UgaWYgKCFzdHJjbXAoc3RyLCAib2ZmIikpCisJCWZvcmNlX3BlcnNvbmFsaXR5MzIgfD0gUkVBRF9JTVBMSUVTX0VYRUM7CisJcmV0dXJuIDE7Cit9CitfX3NldHVwKCJub2V4ZWMzMj0iLCBub254MzJfc2V0dXApOworCit2b2lkIHBkYV9pbml0KGludCBjcHUpCit7CisJc3RydWN0IHg4NjY0X3BkYSAqcGRhID0gY3B1X3BkYShjcHUpOworCisJLyogU2V0dXAgdXAgZGF0YSB0aGF0IG1heSBiZSBuZWVkZWQgaW4gX19nZXRfZnJlZV9wYWdlcyBlYXJseSAqLworCWxvYWRzZWdtZW50KGZzLCAwKTsKKwlsb2Fkc2VnbWVudChncywgMCk7CisJLyogTWVtb3J5IGNsb2JiZXJzIHVzZWQgdG8gb3JkZXIgUERBIGFjY2Vzc2VkICovCisJbWIoKTsKKwl3cm1zcmwoTVNSX0dTX0JBU0UsIHBkYSk7CisJbWIoKTsKKworCXBkYS0+Y3B1bnVtYmVyID0gY3B1OworCXBkYS0+aXJxY291bnQgPSAtMTsKKwlwZGEtPmtlcm5lbHN0YWNrID0gKHVuc2lnbmVkIGxvbmcpc3RhY2tfdGhyZWFkX2luZm8oKSAtCisJCQkJIFBEQV9TVEFDS09GRlNFVCArIFRIUkVBRF9TSVpFOworCXBkYS0+YWN0aXZlX21tID0gJmluaXRfbW07CisJcGRhLT5tbXVfc3RhdGUgPSAwOworCisJaWYgKGNwdSA9PSAwKSB7CisJCS8qIG90aGVycyBhcmUgaW5pdGlhbGl6ZWQgaW4gc21wYm9vdC5jICovCisJCXBkYS0+cGN1cnJlbnQgPSAmaW5pdF90YXNrOworCQlwZGEtPmlycXN0YWNrcHRyID0gYm9vdF9jcHVfc3RhY2s7CisJfSBlbHNlIHsKKwkJcGRhLT5pcnFzdGFja3B0ciA9IChjaGFyICopCisJCQlfX2dldF9mcmVlX3BhZ2VzKEdGUF9BVE9NSUMsIElSUVNUQUNLX09SREVSKTsKKwkJaWYgKCFwZGEtPmlycXN0YWNrcHRyKQorCQkJcGFuaWMoImNhbm5vdCBhbGxvY2F0ZSBpcnFzdGFjayBmb3IgY3B1ICVkIiwgY3B1KTsKKworCQlpZiAocGRhLT5ub2RlbnVtYmVyID09IDAgJiYgY3B1X3RvX25vZGUoY3B1KSAhPSBOVU1BX05PX05PREUpCisJCQlwZGEtPm5vZGVudW1iZXIgPSBjcHVfdG9fbm9kZShjcHUpOworCX0KKworCXBkYS0+aXJxc3RhY2twdHIgKz0gSVJRU1RBQ0tTSVpFLTY0OworfQorCitjaGFyIGJvb3RfZXhjZXB0aW9uX3N0YWNrc1soTl9FWENFUFRJT05fU1RBQ0tTIC0gMSkgKiBFWENFUFRJT05fU1RLU1ogKworCQkJICAgREVCVUdfU1RLU1pdCitfX2F0dHJpYnV0ZV9fKChzZWN0aW9uKCIuYnNzLnBhZ2VfYWxpZ25lZCIpKSk7CisKK2V4dGVybiBhc21saW5rYWdlIHZvaWQgaWdub3JlX3N5c3JldCh2b2lkKTsKKworLyogTWF5IG5vdCBiZSBtYXJrZWQgX19pbml0OiB1c2VkIGJ5IHNvZnR3YXJlIHN1c3BlbmQgKi8KK3ZvaWQgc3lzY2FsbF9pbml0KHZvaWQpCit7CisJLyoKKwkgKiBMU1RBUiBhbmQgU1RBUiBsaXZlIGluIGEgYml0IHN0cmFuZ2Ugc3ltYmlvc2lzLgorCSAqIFRoZXkgYm90aCB3cml0ZSB0byB0aGUgc2FtZSBpbnRlcm5hbCByZWdpc3Rlci4gU1RBUiBhbGxvd3MgdG8KKwkgKiBzZXQgQ1MvRFMgYnV0IG9ubHkgYSAzMmJpdCB0YXJnZXQuIExTVEFSIHNldHMgdGhlIDY0Yml0IHJpcC4KKwkgKi8KKwl3cm1zcmwoTVNSX1NUQVIsICAoKHU2NClfX1VTRVIzMl9DUyk8PDQ4ICB8ICgodTY0KV9fS0VSTkVMX0NTKTw8MzIpOworCXdybXNybChNU1JfTFNUQVIsIHN5c3RlbV9jYWxsKTsKKwl3cm1zcmwoTVNSX0NTVEFSLCBpZ25vcmVfc3lzcmV0KTsKKworI2lmZGVmIENPTkZJR19JQTMyX0VNVUxBVElPTgorCXN5c2NhbGwzMl9jcHVfaW5pdCgpOworI2VuZGlmCisKKwkvKiBGbGFncyB0byBjbGVhciBvbiBzeXNjYWxsICovCisJd3Jtc3JsKE1TUl9TWVNDQUxMX01BU0ssCisJICAgICAgIFg4Nl9FRkxBR1NfVEZ8WDg2X0VGTEFHU19ERnxYODZfRUZMQUdTX0lGfFg4Nl9FRkxBR1NfSU9QTCk7Cit9CisKK3ZvaWQgX19jcHVpbml0IGNoZWNrX2VmZXIodm9pZCkKK3sKKwl1bnNpZ25lZCBsb25nIGVmZXI7CisKKwlyZG1zcmwoTVNSX0VGRVIsIGVmZXIpOworCWlmICghKGVmZXIgJiBFRkVSX05YKSB8fCBkb19ub3RfbngpCisJCV9fc3VwcG9ydGVkX3B0ZV9tYXNrICY9IH5fUEFHRV9OWDsKK30KKwordW5zaWduZWQgbG9uZyBrZXJuZWxfZWZsYWdzOworCisvKgorICogQ29waWVzIG9mIHRoZSBvcmlnaW5hbCBpc3QgdmFsdWVzIGZyb20gdGhlIHRzcyBhcmUgb25seSBhY2Nlc3NlZCBkdXJpbmcKKyAqIGRlYnVnZ2luZywgbm8gc3BlY2lhbCBhbGlnbm1lbnQgcmVxdWlyZWQuCisgKi8KK0RFRklORV9QRVJfQ1BVKHN0cnVjdCBvcmlnX2lzdCwgb3JpZ19pc3QpOworCisvKgorICogY3B1X2luaXQoKSBpbml0aWFsaXplcyBzdGF0ZSB0aGF0IGlzIHBlci1DUFUuIFNvbWUgZGF0YSBpcyBhbHJlYWR5CisgKiBpbml0aWFsaXplZCAobmF0dXJhbGx5KSBpbiB0aGUgYm9vdHN0cmFwIHByb2Nlc3MsIHN1Y2ggYXMgdGhlIEdEVAorICogYW5kIElEVC4gV2UgcmVsb2FkIHRoZW0gbmV2ZXJ0aGVsZXNzLCB0aGlzIGZ1bmN0aW9uIGFjdHMgYXMgYQorICogJ0NQVSBzdGF0ZSBiYXJyaWVyJywgbm90aGluZyBzaG91bGQgZ2V0IGFjcm9zcy4KKyAqIEEgbG90IG9mIHN0YXRlIGlzIGFscmVhZHkgc2V0IHVwIGluIFBEQSBpbml0LgorICovCit2b2lkIF9fY3B1aW5pdCBjcHVfaW5pdCh2b2lkKQoreworCWludCBjcHUgPSBzdGFja19zbXBfcHJvY2Vzc29yX2lkKCk7CisJc3RydWN0IHRzc19zdHJ1Y3QgKnQgPSAmcGVyX2NwdShpbml0X3RzcywgY3B1KTsKKwlzdHJ1Y3Qgb3JpZ19pc3QgKm9yaWdfaXN0ID0gJnBlcl9jcHUob3JpZ19pc3QsIGNwdSk7CisJdW5zaWduZWQgbG9uZyB2OworCWNoYXIgKmVzdGFja3MgPSBOVUxMOworCXN0cnVjdCB0YXNrX3N0cnVjdCAqbWU7CisJaW50IGk7CisKKwkvKiBDUFUgMCBpcyBpbml0aWFsaXNlZCBpbiBoZWFkNjQuYyAqLworCWlmIChjcHUgIT0gMCkKKwkJcGRhX2luaXQoY3B1KTsKKwllbHNlCisJCWVzdGFja3MgPSBib290X2V4Y2VwdGlvbl9zdGFja3M7CisKKwltZSA9IGN1cnJlbnQ7CisKKwlpZiAoY3B1X3Rlc3RfYW5kX3NldChjcHUsIGNwdV9pbml0aWFsaXplZCkpCisJCXBhbmljKCJDUFUjJWQgYWxyZWFkeSBpbml0aWFsaXplZCFcbiIsIGNwdSk7CisKKwlwcmludGsoS0VSTl9JTkZPICJJbml0aWFsaXppbmcgQ1BVIyVkXG4iLCBjcHUpOworCisJY2xlYXJfaW5fY3I0KFg4Nl9DUjRfVk1FfFg4Nl9DUjRfUFZJfFg4Nl9DUjRfVFNEfFg4Nl9DUjRfREUpOworCisJLyoKKwkgKiBJbml0aWFsaXplIHRoZSBwZXItQ1BVIEdEVCB3aXRoIHRoZSBib290IEdEVCwKKwkgKiBhbmQgc2V0IHVwIHRoZSBHRFQgZGVzY3JpcHRvcjoKKwkgKi8KKworCXN3aXRjaF90b19uZXdfZ2R0KCk7CisJbG9hZF9pZHQoKGNvbnN0IHN0cnVjdCBkZXNjX3B0ciAqKSZpZHRfZGVzY3IpOworCisJbWVtc2V0KG1lLT50aHJlYWQudGxzX2FycmF5LCAwLCBHRFRfRU5UUllfVExTX0VOVFJJRVMgKiA4KTsKKwlzeXNjYWxsX2luaXQoKTsKKworCXdybXNybChNU1JfRlNfQkFTRSwgMCk7CisJd3Jtc3JsKE1TUl9LRVJORUxfR1NfQkFTRSwgMCk7CisJYmFycmllcigpOworCisJY2hlY2tfZWZlcigpOworCisJLyoKKwkgKiBzZXQgdXAgYW5kIGxvYWQgdGhlIHBlci1DUFUgVFNTCisJICovCisJZm9yICh2ID0gMDsgdiA8IE5fRVhDRVBUSU9OX1NUQUNLUzsgdisrKSB7CisJCXN0YXRpYyBjb25zdCB1bnNpZ25lZCBpbnQgb3JkZXJbTl9FWENFUFRJT05fU1RBQ0tTXSA9IHsKKwkJCVswIC4uLiBOX0VYQ0VQVElPTl9TVEFDS1MgLSAxXSA9IEVYQ0VQVElPTl9TVEFDS19PUkRFUiwKKwkJCVtERUJVR19TVEFDSyAtIDFdID0gREVCVUdfU1RBQ0tfT1JERVIKKwkJfTsKKwkJaWYgKGNwdSkgeworCQkJZXN0YWNrcyA9IChjaGFyICopX19nZXRfZnJlZV9wYWdlcyhHRlBfQVRPTUlDLCBvcmRlclt2XSk7CisJCQlpZiAoIWVzdGFja3MpCisJCQkJcGFuaWMoIkNhbm5vdCBhbGxvY2F0ZSBleGNlcHRpb24gc3RhY2sgJWxkICVkXG4iLAorCQkJCSAgICAgIHYsIGNwdSk7CisJCX0KKwkJZXN0YWNrcyArPSBQQUdFX1NJWkUgPDwgb3JkZXJbdl07CisJCW9yaWdfaXN0LT5pc3Rbdl0gPSB0LT54ODZfdHNzLmlzdFt2XSA9ICh1bnNpZ25lZCBsb25nKWVzdGFja3M7CisJfQorCisJdC0+eDg2X3Rzcy5pb19iaXRtYXBfYmFzZSA9IG9mZnNldG9mKHN0cnVjdCB0c3Nfc3RydWN0LCBpb19iaXRtYXApOworCS8qCisJICogPD0gaXMgcmVxdWlyZWQgYmVjYXVzZSB0aGUgQ1BVIHdpbGwgYWNjZXNzIHVwIHRvCisJICogOCBiaXRzIGJleW9uZCB0aGUgZW5kIG9mIHRoZSBJTyBwZXJtaXNzaW9uIGJpdG1hcC4KKwkgKi8KKwlmb3IgKGkgPSAwOyBpIDw9IElPX0JJVE1BUF9MT05HUzsgaSsrKQorCQl0LT5pb19iaXRtYXBbaV0gPSB+MFVMOworCisJYXRvbWljX2luYygmaW5pdF9tbS5tbV9jb3VudCk7CisJbWUtPmFjdGl2ZV9tbSA9ICZpbml0X21tOworCWlmIChtZS0+bW0pCisJCUJVRygpOworCWVudGVyX2xhenlfdGxiKCZpbml0X21tLCBtZSk7CisKKwlsb2FkX3NwMCh0LCAmY3VycmVudC0+dGhyZWFkKTsKKwlzZXRfdHNzX2Rlc2MoY3B1LCB0KTsKKwlsb2FkX1RSX2Rlc2MoKTsKKwlsb2FkX0xEVCgmaW5pdF9tbS5jb250ZXh0KTsKKworI2lmZGVmIENPTkZJR19LR0RCCisJLyoKKwkgKiBJZiB0aGUga2dkYiBpcyBjb25uZWN0ZWQgbm8gZGVidWcgcmVncyBzaG91bGQgYmUgYWx0ZXJlZC4gIFRoaXMKKwkgKiBpcyBvbmx5IGFwcGxpY2FibGUgd2hlbiBLR0RCIGFuZCBhIEtHREIgSS9PIG1vZHVsZSBhcmUgYnVpbHQKKwkgKiBpbnRvIHRoZSBrZXJuZWwgYW5kIHlvdSBhcmUgdXNpbmcgZWFybHkgZGVidWdnaW5nIHdpdGgKKwkgKiBrZ2Rid2FpdC4gS0dEQiB3aWxsIGNvbnRyb2wgdGhlIGtlcm5lbCBIVyBicmVha3BvaW50IHJlZ2lzdGVycy4KKwkgKi8KKwlpZiAoa2dkYl9jb25uZWN0ZWQgJiYgYXJjaF9rZ2RiX29wcy5jb3JyZWN0X2h3X2JyZWFrKQorCQlhcmNoX2tnZGJfb3BzLmNvcnJlY3RfaHdfYnJlYWsoKTsKKwllbHNlIHsKKyNlbmRpZgorCS8qCisJICogQ2xlYXIgYWxsIDYgZGVidWcgcmVnaXN0ZXJzOgorCSAqLworCisJc2V0X2RlYnVncmVnKDBVTCwgMCk7CisJc2V0X2RlYnVncmVnKDBVTCwgMSk7CisJc2V0X2RlYnVncmVnKDBVTCwgMik7CisJc2V0X2RlYnVncmVnKDBVTCwgMyk7CisJc2V0X2RlYnVncmVnKDBVTCwgNik7CisJc2V0X2RlYnVncmVnKDBVTCwgNyk7CisjaWZkZWYgQ09ORklHX0tHREIKKwkvKiBJZiB0aGUga2dkYiBpcyBjb25uZWN0ZWQgbm8gZGVidWcgcmVncyBzaG91bGQgYmUgYWx0ZXJlZC4gKi8KKwl9CisjZW5kaWYKKworCWZwdV9pbml0KCk7CisKKwlyYXdfbG9jYWxfc2F2ZV9mbGFncyhrZXJuZWxfZWZsYWdzKTsKKworCWlmIChpc191dl9zeXN0ZW0oKSkKKwkJdXZfY3B1X2luaXQoKTsKK30KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9jcHUvY3B1LmggYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L2NwdS5oCmluZGV4IDc4MzY5MWIuLjRkODk0ZTggMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9jcHUvY3B1LmgKKysrIGIvYXJjaC94ODYva2VybmVsL2NwdS9jcHUuaApAQCAtMSwzICsxLDYgQEAKKyNpZm5kZWYgQVJDSF9YODZfQ1BVX0gKKworI2RlZmluZSBBUkNIX1g4Nl9DUFVfSAogCiBzdHJ1Y3QgY3B1X21vZGVsX2luZm8gewogCWludCB2ZW5kb3I7CkBAIC0zNiwzICszOSw1IEBACiAKIGV4dGVybiBpbnQgZ2V0X21vZGVsX25hbWUoc3RydWN0IGNwdWluZm9feDg2ICpjKTsKIGV4dGVybiB2b2lkIGRpc3BsYXlfY2FjaGVpbmZvKHN0cnVjdCBjcHVpbmZvX3g4NiAqYyk7CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2NwdS9jcHVmcmVxL2NwdWZyZXEtbmZvcmNlMi5jIGIvYXJjaC94ODYva2VybmVsL2NwdS9jcHVmcmVxL2NwdWZyZXEtbmZvcmNlMi5jCmluZGV4IGYwM2U5MTUzLi45NjVlYTUyIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L2NwdWZyZXEvY3B1ZnJlcS1uZm9yY2UyLmMKKysrIGIvYXJjaC94ODYva2VybmVsL2NwdS9jcHVmcmVxL2NwdWZyZXEtbmZvcmNlMi5jCkBAIC0yNiw5ICsyNiwxMCBAQAogI2RlZmluZSBORk9SQ0UyX1NBRkVfRElTVEFOQ0UgNTAKIAogLyogRGVsYXkgaW4gbXMgYmV0d2VlbiBGU0IgY2hhbmdlcyAqLwotLy8jZGVmaW5lIE5GT1JDRTJfREVMQVkgMTAKKy8qICNkZWZpbmUgTkZPUkNFMl9ERUxBWSAxMCAqLwogCi0vKiBuZm9yY2UyX2NoaXBzZXQ6CisvKgorICogbmZvcmNlMl9jaGlwc2V0OgogICogRlNCIGlzIGNoYW5nZWQgdXNpbmcgdGhlIGNoaXBzZXQKICAqLwogc3RhdGljIHN0cnVjdCBwY2lfZGV2ICpuZm9yY2UyX2NoaXBzZXRfZGV2OwpAQCAtMzYsMTMgKzM3LDEzIEBACiAvKiBmaWQ6CiAgKiBtdWx0aXBsaWVyICogMTAKICAqLwotc3RhdGljIGludCBmaWQgPSAwOworc3RhdGljIGludCBmaWQ7CiAKIC8qIG1pbl9mc2IsIG1heF9mc2I6CiAgKiBtaW5pbXVtIGFuZCBtYXhpbXVtIEZTQiAoPSBGU0IgYXQgYm9vdCB0aW1lKQogICovCi1zdGF0aWMgaW50IG1pbl9mc2IgPSAwOwotc3RhdGljIGludCBtYXhfZnNiID0gMDsKK3N0YXRpYyBpbnQgbWluX2ZzYjsKK3N0YXRpYyBpbnQgbWF4X2ZzYjsKIAogTU9EVUxFX0FVVEhPUigiU2ViYXN0aWFuIFdpdHQgPHNlLndpdHRAZ214Lm5ldD4iKTsKIE1PRFVMRV9ERVNDUklQVElPTigibkZvcmNlMiBGU0IgY2hhbmdpbmcgY3B1ZnJlcSBkcml2ZXIiKTsKQEAgLTUzLDcgKzU0LDcgQEAKIAogTU9EVUxFX1BBUk1fREVTQyhmaWQsICJDUFUgbXVsdGlwbGllciB0byB1c2UgKDExLjUgPSAxMTUpIik7CiBNT0RVTEVfUEFSTV9ERVNDKG1pbl9mc2IsCi0gICAgICAgICAgICAgICAgICJNaW5pbXVtIEZTQiB0byB1c2UsIGlmIG5vdCBkZWZpbmVkOiBjdXJyZW50IEZTQiAtIDUwIik7CisJCSJNaW5pbXVtIEZTQiB0byB1c2UsIGlmIG5vdCBkZWZpbmVkOiBjdXJyZW50IEZTQiAtIDUwIik7CiAKICNkZWZpbmUgZHByaW50ayhtc2cuLi4pIGNwdWZyZXFfZGVidWdfcHJpbnRrKENQVUZSRVFfREVCVUdfRFJJVkVSLCAiY3B1ZnJlcS1uZm9yY2UyIiwgbXNnKQogCkBAIC0xMzksNyArMTQwLDcgQEAKIAogCS8qIEdldCBjaGlwc2V0IGJvb3QgRlNCIGZyb20gc3ViZGV2aWNlIDUgKEZTQiBhdCBib290LXRpbWUpICovCiAJbmZvcmNlMl9zdWI1ID0gcGNpX2dldF9zdWJzeXMoUENJX1ZFTkRPUl9JRF9OVklESUEsCi0JCQkJCQkweDAxRUYsUENJX0FOWV9JRCxQQ0lfQU5ZX0lELE5VTEwpOworCQkJCQkJMHgwMUVGLCBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCBOVUxMKTsKIAlpZiAoIW5mb3JjZTJfc3ViNSkKIAkJcmV0dXJuIDA7CiAKQEAgLTE0NywxMyArMTQ4LDEzIEBACiAJZnNiIC89IDEwMDAwMDA7CiAKIAkvKiBDaGVjayBpZiBQTEwgcmVnaXN0ZXIgaXMgYWxyZWFkeSBzZXQgKi8KLQlwY2lfcmVhZF9jb25maWdfYnl0ZShuZm9yY2UyX2NoaXBzZXRfZGV2LE5GT1JDRTJfUExMRU5BQkxFLCAodTggKikmdGVtcCk7CisJcGNpX3JlYWRfY29uZmlnX2J5dGUobmZvcmNlMl9jaGlwc2V0X2RldiwgTkZPUkNFMl9QTExFTkFCTEUsICh1OCAqKSZ0ZW1wKTsKIAotCWlmKGJvb3Rmc2IgfHwgIXRlbXApCisJaWYgKGJvb3Rmc2IgfHwgIXRlbXApCiAJCXJldHVybiBmc2I7Ci0JCQorCiAJLyogVXNlIFBMTCByZWdpc3RlciBGU0IgdmFsdWUgKi8KLQlwY2lfcmVhZF9jb25maWdfZHdvcmQobmZvcmNlMl9jaGlwc2V0X2RldixORk9SQ0UyX1BMTFJFRywgJnRlbXApOworCXBjaV9yZWFkX2NvbmZpZ19kd29yZChuZm9yY2UyX2NoaXBzZXRfZGV2LCBORk9SQ0UyX1BMTFJFRywgJnRlbXApOwogCWZzYiA9IG5mb3JjZTJfY2FsY19mc2IodGVtcCk7CiAKIAlyZXR1cm4gZnNiOwpAQCAtMTg0LDcgKzE4NSw3IEBACiAJfQogCiAJLyogRmlyc3Qgd3JpdGU/IFRoZW4gc2V0IGFjdHVhbCB2YWx1ZSAqLwotCXBjaV9yZWFkX2NvbmZpZ19ieXRlKG5mb3JjZTJfY2hpcHNldF9kZXYsTkZPUkNFMl9QTExFTkFCTEUsICh1OCAqKSZ0ZW1wKTsKKwlwY2lfcmVhZF9jb25maWdfYnl0ZShuZm9yY2UyX2NoaXBzZXRfZGV2LCBORk9SQ0UyX1BMTEVOQUJMRSwgKHU4ICopJnRlbXApOwogCWlmICghdGVtcCkgewogCQlwbGwgPSBuZm9yY2UyX2NhbGNfcGxsKHRmc2IpOwogCkBAIC0yMTAsNyArMjExLDggQEAKIAkJCXRmc2ItLTsKIAogCQkvKiBDYWxjdWxhdGUgdGhlIFBMTCByZWcuIHZhbHVlICovCi0JCWlmICgocGxsID0gbmZvcmNlMl9jYWxjX3BsbCh0ZnNiKSkgPT0gLTEpCisJCXBsbCA9IG5mb3JjZTJfY2FsY19wbGwodGZzYik7CisJCWlmIChwbGwgPT0gLTEpCiAJCQlyZXR1cm4gLUVJTlZBTDsKIAogCQluZm9yY2UyX3dyaXRlX3BsbChwbGwpOwpAQCAtMjQ5LDcgKzI1MSw3IEBACiBzdGF0aWMgaW50IG5mb3JjZTJfdGFyZ2V0KHN0cnVjdCBjcHVmcmVxX3BvbGljeSAqcG9saWN5LAogCQkJICB1bnNpZ25lZCBpbnQgdGFyZ2V0X2ZyZXEsIHVuc2lnbmVkIGludCByZWxhdGlvbikKIHsKLS8vICAgICAgICB1bnNpZ25lZCBsb25nICAgICAgICAgZmxhZ3M7CisvKiAgICAgICAgdW5zaWduZWQgbG9uZyAgICAgICAgIGZsYWdzOyAqLwogCXN0cnVjdCBjcHVmcmVxX2ZyZXFzIGZyZXFzOwogCXVuc2lnbmVkIGludCB0YXJnZXRfZnNiOwogCkBAIC0yNzEsMTcgKzI3MywxNyBAQAogCWNwdWZyZXFfbm90aWZ5X3RyYW5zaXRpb24oJmZyZXFzLCBDUFVGUkVRX1BSRUNIQU5HRSk7CiAKIAkvKiBEaXNhYmxlIElSUXMgKi8KLQkvL2xvY2FsX2lycV9zYXZlKGZsYWdzKTsKKwkvKiBsb2NhbF9pcnFfc2F2ZShmbGFncyk7ICovCiAKIAlpZiAobmZvcmNlMl9zZXRfZnNiKHRhcmdldF9mc2IpIDwgMCkKIAkJcHJpbnRrKEtFUk5fRVJSICJjcHVmcmVxOiBDaGFuZ2luZyBGU0IgdG8gJWQgZmFpbGVkXG4iLAotICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRfZnNiKTsKKwkJCXRhcmdldF9mc2IpOwogCWVsc2UKIAkJZHByaW50aygiQ2hhbmdlZCBGU0Igc3VjY2Vzc2Z1bGx5IHRvICVkXG4iLAotICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRfZnNiKTsKKwkJCXRhcmdldF9mc2IpOwogCiAJLyogRW5hYmxlIElSUXMgKi8KLQkvL2xvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKKwkvKiBsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7ICovCiAKIAljcHVmcmVxX25vdGlmeV90cmFuc2l0aW9uKCZmcmVxcywgQ1BVRlJFUV9QT1NUQ0hBTkdFKTsKIApAQCAtMzAyLDggKzMwNCw4IEBACiAJCXBvbGljeS0+bWF4ID0gKGZzYl9wb2xfbWF4ICsgMSkgKiBmaWQgKiAxMDA7CiAKIAljcHVmcmVxX3ZlcmlmeV93aXRoaW5fbGltaXRzKHBvbGljeSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb2xpY3ktPmNwdWluZm8ubWluX2ZyZXEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9saWN5LT5jcHVpbmZvLm1heF9mcmVxKTsKKwkJCQkgICAgIHBvbGljeS0+Y3B1aW5mby5taW5fZnJlcSwKKwkJCQkgICAgIHBvbGljeS0+Y3B1aW5mby5tYXhfZnJlcSk7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTM0Nyw3ICszNDksNyBAQAogCS8qIFNldCBtYXhpbXVtIEZTQiB0byBGU0IgYXQgYm9vdCB0aW1lICovCiAJbWF4X2ZzYiA9IG5mb3JjZTJfZnNiX3JlYWQoMSk7CiAKLQlpZighbWF4X2ZzYikKKwlpZiAoIW1heF9mc2IpCiAJCXJldHVybiAtRUlPOwogCiAJaWYgKCFtaW5fZnNiKQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2NwdS9pbnRlbC5jIGIvYXJjaC94ODYva2VybmVsL2NwdS9pbnRlbC5jCmluZGV4IGZlOTIyNGMuLjcwNjA5ZWYgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9jcHUvaW50ZWwuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L2ludGVsLmMKQEAgLTIyNiw2ICsyMjYsMTAgQEAKIAogCWlmIChjcHVfaGFzX2J0cykKIAkJZHNfaW5pdF9pbnRlbChjKTsKKworI2lmZGVmIENPTkZJR19YODZfTlVNQVEKKwludW1hcV90c2NfZGlzYWJsZSgpOworI2VuZGlmCiB9CiAKIHN0YXRpYyB1bnNpZ25lZCBpbnQgX19jcHVpbml0IGludGVsX3NpemVfY2FjaGUoc3RydWN0IGNwdWluZm9feDg2ICpjLCB1bnNpZ25lZCBpbnQgc2l6ZSkKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9jcHUvaW50ZWxfNjQuYyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvaW50ZWxfNjQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMDE5YzU4Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaC94ODYva2VybmVsL2NwdS9pbnRlbF82NC5jCkBAIC0wLDAgKzEsOTUgQEAKKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvc21wLmg+CisjaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci5oPgorI2luY2x1ZGUgPGFzbS9wdHJhY2UuaD4KKyNpbmNsdWRlIDxhc20vdG9wb2xvZ3kuaD4KKyNpbmNsdWRlIDxhc20vbnVtYV82NC5oPgorCisjaW5jbHVkZSAiY3B1LmgiCisKK3N0YXRpYyB2b2lkIF9fY3B1aW5pdCBlYXJseV9pbml0X2ludGVsKHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKK3sKKwlpZiAoKGMtPng4NiA9PSAweGYgJiYgYy0+eDg2X21vZGVsID49IDB4MDMpIHx8CisJICAgIChjLT54ODYgPT0gMHg2ICYmIGMtPng4Nl9tb2RlbCA+PSAweDBlKSkKKwkJc2V0X2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfQ09OU1RBTlRfVFNDKTsKKworCXNldF9jcHVfY2FwKGMsIFg4Nl9GRUFUVVJFX1NZU0VOVEVSMzIpOworfQorCisvKgorICogZmluZCBvdXQgdGhlIG51bWJlciBvZiBwcm9jZXNzb3IgY29yZXMgb24gdGhlIGRpZQorICovCitzdGF0aWMgaW50IF9fY3B1aW5pdCBpbnRlbF9udW1fY3B1X2NvcmVzKHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKK3sKKwl1bnNpZ25lZCBpbnQgZWF4LCB0OworCisJaWYgKGMtPmNwdWlkX2xldmVsIDwgNCkKKwkJcmV0dXJuIDE7CisKKwljcHVpZF9jb3VudCg0LCAwLCAmZWF4LCAmdCwgJnQsICZ0KTsKKworCWlmIChlYXggJiAweDFmKQorCQlyZXR1cm4gKChlYXggPj4gMjYpICsgMSk7CisJZWxzZQorCQlyZXR1cm4gMTsKK30KKworc3RhdGljIHZvaWQgX19jcHVpbml0IHNyYXRfZGV0ZWN0X25vZGUodm9pZCkKK3sKKyNpZmRlZiBDT05GSUdfTlVNQQorCXVuc2lnbmVkIG5vZGU7CisJaW50IGNwdSA9IHNtcF9wcm9jZXNzb3JfaWQoKTsKKwlpbnQgYXBpY2lkID0gaGFyZF9zbXBfcHJvY2Vzc29yX2lkKCk7CisKKwkvKiBEb24ndCBkbyB0aGUgZnVua3kgZmFsbGJhY2sgaGV1cmlzdGljcyB0aGUgQU1EIHZlcnNpb24gZW1wbG95cworCSAgIGZvciBub3cuICovCisJbm9kZSA9IGFwaWNpZF90b19ub2RlW2FwaWNpZF07CisJaWYgKG5vZGUgPT0gTlVNQV9OT19OT0RFIHx8ICFub2RlX29ubGluZShub2RlKSkKKwkJbm9kZSA9IGZpcnN0X25vZGUobm9kZV9vbmxpbmVfbWFwKTsKKwludW1hX3NldF9ub2RlKGNwdSwgbm9kZSk7CisKKwlwcmludGsoS0VSTl9JTkZPICJDUFUgJWQvJXggLT4gTm9kZSAlZFxuIiwgY3B1LCBhcGljaWQsIG5vZGUpOworI2VuZGlmCit9CisKK3N0YXRpYyB2b2lkIF9fY3B1aW5pdCBpbml0X2ludGVsKHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKK3sKKwlpbml0X2ludGVsX2NhY2hlaW5mbyhjKTsKKwlpZiAoYy0+Y3B1aWRfbGV2ZWwgPiA5KSB7CisJCXVuc2lnbmVkIGVheCA9IGNwdWlkX2VheCgxMCk7CisJCS8qIENoZWNrIGZvciB2ZXJzaW9uIGFuZCB0aGUgbnVtYmVyIG9mIGNvdW50ZXJzICovCisJCWlmICgoZWF4ICYgMHhmZikgJiYgKCgoZWF4Pj44KSAmIDB4ZmYpID4gMSkpCisJCQlzZXRfY3B1X2NhcChjLCBYODZfRkVBVFVSRV9BUkNIX1BFUkZNT04pOworCX0KKworCWlmIChjcHVfaGFzX2RzKSB7CisJCXVuc2lnbmVkIGludCBsMSwgbDI7CisJCXJkbXNyKE1TUl9JQTMyX01JU0NfRU5BQkxFLCBsMSwgbDIpOworCQlpZiAoIShsMSAmICgxPDwxMSkpKQorCQkJc2V0X2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfQlRTKTsKKwkJaWYgKCEobDEgJiAoMTw8MTIpKSkKKwkJCXNldF9jcHVfY2FwKGMsIFg4Nl9GRUFUVVJFX1BFQlMpOworCX0KKworCisJaWYgKGNwdV9oYXNfYnRzKQorCQlkc19pbml0X2ludGVsKGMpOworCisJaWYgKGMtPng4NiA9PSAxNSkKKwkJYy0+eDg2X2NhY2hlX2FsaWdubWVudCA9IGMtPng4Nl9jbGZsdXNoX3NpemUgKiAyOworCWlmIChjLT54ODYgPT0gNikKKwkJc2V0X2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfUkVQX0dPT0QpOworCXNldF9jcHVfY2FwKGMsIFg4Nl9GRUFUVVJFX0xGRU5DRV9SRFRTQyk7CisJYy0+eDg2X21heF9jb3JlcyA9IGludGVsX251bV9jcHVfY29yZXMoYyk7CisKKwlzcmF0X2RldGVjdF9ub2RlKCk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgY3B1X2RldiBpbnRlbF9jcHVfZGV2IF9fY3B1aW5pdGRhdGEgPSB7CisJLmNfdmVuZG9yCT0gIkludGVsIiwKKwkuY19pZGVudAk9IHsgIkdlbnVpbmVJbnRlbCIgfSwKKwkuY19lYXJseV9pbml0ICAgPSBlYXJseV9pbml0X2ludGVsLAorCS5jX2luaXQJCT0gaW5pdF9pbnRlbCwKK307CitjcHVfdmVuZG9yX2Rldl9yZWdpc3RlcihYODZfVkVORE9SX0lOVEVMLCAmaW50ZWxfY3B1X2Rldik7CisKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9jcHUvaW50ZWxfY2FjaGVpbmZvLmMgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L2ludGVsX2NhY2hlaW5mby5jCmluZGV4IDI2ZDYxNWQuLjJjOGFmYWYgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9jcHUvaW50ZWxfY2FjaGVpbmZvLmMKKysrIGIvYXJjaC94ODYva2VybmVsL2NwdS9pbnRlbF9jYWNoZWluZm8uYwpAQCAtNjIsNiArNjIsNyBAQAogCXsgMHg0YiwgTFZMXzMsICAgICAgODE5MiB9LAkvKiAxNi13YXkgc2V0IGFzc29jLCA2NCBieXRlIGxpbmUgc2l6ZSAqLwogCXsgMHg0YywgTFZMXzMsICAgICAxMjI4OCB9LAkvKiAxMi13YXkgc2V0IGFzc29jLCA2NCBieXRlIGxpbmUgc2l6ZSAqLwogCXsgMHg0ZCwgTFZMXzMsICAgICAxNjM4NCB9LAkvKiAxNi13YXkgc2V0IGFzc29jLCA2NCBieXRlIGxpbmUgc2l6ZSAqLworCXsgMHg0ZSwgTFZMXzIsICAgICAgNjE0NCB9LAkvKiAyNC13YXkgc2V0IGFzc29jLCA2NCBieXRlIGxpbmUgc2l6ZSAqLwogCXsgMHg2MCwgTFZMXzFfREFUQSwgMTYgfSwJLyogOC13YXkgc2V0IGFzc29jLCBzZWN0b3JlZCBjYWNoZSwgNjQgYnl0ZSBsaW5lIHNpemUgKi8KIAl7IDB4NjYsIExWTF8xX0RBVEEsIDggfSwJLyogNC13YXkgc2V0IGFzc29jLCBzZWN0b3JlZCBjYWNoZSwgNjQgYnl0ZSBsaW5lIHNpemUgKi8KIAl7IDB4NjcsIExWTF8xX0RBVEEsIDE2IH0sCS8qIDQtd2F5IHNldCBhc3NvYywgc2VjdG9yZWQgY2FjaGUsIDY0IGJ5dGUgbGluZSBzaXplICovCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L21jaGVjay9rNy5jIGIvYXJjaC94ODYva2VybmVsL2NwdS9tY2hlY2svazcuYwppbmRleCBlNjMzYzljLi5mMzkwYzlmIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L21jaGVjay9rNy5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvbWNoZWNrL2s3LmMKQEAgLTksMjMgKzksMjMgQEAKICNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KICNpbmNsdWRlIDxsaW51eC9zbXAuaD4KIAotI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3IuaD4gCisjaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci5oPgogI2luY2x1ZGUgPGFzbS9zeXN0ZW0uaD4KICNpbmNsdWRlIDxhc20vbXNyLmg+CiAKICNpbmNsdWRlICJtY2UuaCIKIAogLyogTWFjaGluZSBDaGVjayBIYW5kbGVyIEZvciBBTUQgQXRobG9uL0R1cm9uICovCi1zdGF0aWMgdm9pZCBrN19tYWNoaW5lX2NoZWNrKHN0cnVjdCBwdF9yZWdzICogcmVncywgbG9uZyBlcnJvcl9jb2RlKQorc3RhdGljIHZvaWQgazdfbWFjaGluZV9jaGVjayhzdHJ1Y3QgcHRfcmVncyAqcmVncywgbG9uZyBlcnJvcl9jb2RlKQogewotCWludCByZWNvdmVyPTE7CisJaW50IHJlY292ZXIgPSAxOwogCXUzMiBhbG93LCBhaGlnaCwgaGlnaCwgbG93OwogCXUzMiBtY2dzdGwsIG1jZ3N0aDsKIAlpbnQgaTsKIAotCXJkbXNyIChNU1JfSUEzMl9NQ0dfU1RBVFVTLCBtY2dzdGwsIG1jZ3N0aCk7CisJcmRtc3IoTVNSX0lBMzJfTUNHX1NUQVRVUywgbWNnc3RsLCBtY2dzdGgpOwogCWlmIChtY2dzdGwgJiAoMTw8MCkpCS8qIFJlY292ZXJhYmxlID8gKi8KLQkJcmVjb3Zlcj0wOworCQlyZWNvdmVyID0gMDsKIAogCXByaW50ayhLRVJOX0VNRVJHICJDUFUgJWQ6IE1hY2hpbmUgQ2hlY2sgRXhjZXB0aW9uOiAlMDh4JTA4eFxuIiwKIAkJc21wX3Byb2Nlc3Nvcl9pZCgpLCBtY2dzdGgsIG1jZ3N0bCk7CkBAIC02MCwxMiArNjAsMTIgQEAKIAl9CiAKIAlpZiAocmVjb3ZlciYyKQotCQlwYW5pYyAoIkNQVSBjb250ZXh0IGNvcnJ1cHQiKTsKKwkJcGFuaWMoIkNQVSBjb250ZXh0IGNvcnJ1cHQiKTsKIAlpZiAocmVjb3ZlciYxKQotCQlwYW5pYyAoIlVuYWJsZSB0byBjb250aW51ZSIpOwotCXByaW50ayAoS0VSTl9FTUVSRyAiQXR0ZW1wdGluZyB0byBjb250aW51ZS5cbiIpOworCQlwYW5pYygiVW5hYmxlIHRvIGNvbnRpbnVlIik7CisJcHJpbnRrKEtFUk5fRU1FUkcgIkF0dGVtcHRpbmcgdG8gY29udGludWUuXG4iKTsKIAltY2dzdGwgJj0gfigxPDwyKTsKLQl3cm1zciAoTVNSX0lBMzJfTUNHX1NUQVRVUyxtY2dzdGwsIG1jZ3N0aCk7CisJd3Jtc3IoTVNSX0lBMzJfTUNHX1NUQVRVUywgbWNnc3RsLCBtY2dzdGgpOwogfQogCiAKQEAgLTgxLDI1ICs4MSwyNSBAQAogCW1hY2hpbmVfY2hlY2tfdmVjdG9yID0gazdfbWFjaGluZV9jaGVjazsKIAl3bWIoKTsKIAotCXByaW50ayAoS0VSTl9JTkZPICJJbnRlbCBtYWNoaW5lIGNoZWNrIGFyY2hpdGVjdHVyZSBzdXBwb3J0ZWQuXG4iKTsKLQlyZG1zciAoTVNSX0lBMzJfTUNHX0NBUCwgbCwgaCk7CisJcHJpbnRrKEtFUk5fSU5GTyAiSW50ZWwgbWFjaGluZSBjaGVjayBhcmNoaXRlY3R1cmUgc3VwcG9ydGVkLlxuIik7CisJcmRtc3IoTVNSX0lBMzJfTUNHX0NBUCwgbCwgaCk7CiAJaWYgKGwgJiAoMTw8OCkpCS8qIENvbnRyb2wgcmVnaXN0ZXIgcHJlc2VudCA/ICovCi0JCXdybXNyIChNU1JfSUEzMl9NQ0dfQ1RMLCAweGZmZmZmZmZmLCAweGZmZmZmZmZmKTsKKwkJd3Jtc3IoTVNSX0lBMzJfTUNHX0NUTCwgMHhmZmZmZmZmZiwgMHhmZmZmZmZmZik7CiAJbnJfbWNlX2JhbmtzID0gbCAmIDB4ZmY7CiAKIAkvKiBDbGVhciBzdGF0dXMgZm9yIE1DIGluZGV4IDAgc2VwYXJhdGVseSwgd2UgZG9uJ3QgdG91Y2ggQ1RMLAogCSAqIGFzIHNvbWUgSzcgQXRobG9ucyBjYXVzZSBzcHVyaW91cyBNQ0VzIHdoZW4gaXRzIGVuYWJsZWQuICovCiAJaWYgKGJvb3RfY3B1X2RhdGEueDg2ID09IDYpIHsKLQkJd3Jtc3IgKE1TUl9JQTMyX01DMF9TVEFUVVMsIDB4MCwgMHgwKTsKKwkJd3Jtc3IoTVNSX0lBMzJfTUMwX1NUQVRVUywgMHgwLCAweDApOwogCQlpID0gMTsKIAl9IGVsc2UKIAkJaSA9IDA7Ci0JZm9yICg7IGk8bnJfbWNlX2JhbmtzOyBpKyspIHsKLQkJd3Jtc3IgKE1TUl9JQTMyX01DMF9DVEwrNCppLCAweGZmZmZmZmZmLCAweGZmZmZmZmZmKTsKLQkJd3Jtc3IgKE1TUl9JQTMyX01DMF9TVEFUVVMrNCppLCAweDAsIDB4MCk7CisJZm9yICg7IGkgPCBucl9tY2VfYmFua3M7IGkrKykgeworCQl3cm1zcihNU1JfSUEzMl9NQzBfQ1RMKzQqaSwgMHhmZmZmZmZmZiwgMHhmZmZmZmZmZik7CisJCXdybXNyKE1TUl9JQTMyX01DMF9TVEFUVVMrNCppLCAweDAsIDB4MCk7CiAJfQogCi0Jc2V0X2luX2NyNCAoWDg2X0NSNF9NQ0UpOwotCXByaW50ayAoS0VSTl9JTkZPICJJbnRlbCBtYWNoaW5lIGNoZWNrIHJlcG9ydGluZyBlbmFibGVkIG9uIENQVSMlZC5cbiIsCisJc2V0X2luX2NyNChYODZfQ1I0X01DRSk7CisJcHJpbnRrKEtFUk5fSU5GTyAiSW50ZWwgbWFjaGluZSBjaGVjayByZXBvcnRpbmcgZW5hYmxlZCBvbiBDUFUjJWQuXG4iLAogCQlzbXBfcHJvY2Vzc29yX2lkKCkpOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2NwdS9tY2hlY2svbWNlXzY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L21jaGVjay9tY2VfNjQuYwppbmRleCBlMDdlOGMwLi5jNGE3ZWMzIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L21jaGVjay9tY2VfNjQuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L21jaGVjay9tY2VfNjQuYwpAQCAtOSw2ICs5LDcgQEAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgogI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KICNpbmNsdWRlIDxsaW51eC9yY3VwZGF0ZS5oPgogI2luY2x1ZGUgPGxpbnV4L2thbGxzeW1zLmg+CkBAIC0zMSw3ICszMiw3IEBACiAjaW5jbHVkZSA8YXNtL2lkbGUuaD4KIAogI2RlZmluZSBNSVNDX01DRUxPR19NSU5PUiAyMjcKLSNkZWZpbmUgTlJfQkFOS1MgNgorI2RlZmluZSBOUl9TWVNGU19CQU5LUyA2CiAKIGF0b21pY190IG1jZV9lbnRyeTsKIApAQCAtNDYsNyArNDcsNyBAQAogICovCiBzdGF0aWMgaW50IHRvbGVyYW50ID0gMTsKIHN0YXRpYyBpbnQgYmFua3M7Ci1zdGF0aWMgdW5zaWduZWQgbG9uZyBiYW5rW05SX0JBTktTXSA9IHsgWzAgLi4uIE5SX0JBTktTLTFdID0gfjBVTCB9Oworc3RhdGljIHVuc2lnbmVkIGxvbmcgYmFua1tOUl9TWVNGU19CQU5LU10gPSB7IFswIC4uLiBOUl9TWVNGU19CQU5LUy0xXSA9IH4wVUwgfTsKIHN0YXRpYyB1bnNpZ25lZCBsb25nIG5vdGlmeV91c2VyOwogc3RhdGljIGludCByaXBfbXNyOwogc3RhdGljIGludCBtY2VfYm9vdGxvZyA9IC0xOwpAQCAtMjA5LDcgKzIxMCw3IEBACiAJYmFycmllcigpOwogCiAJZm9yIChpID0gMDsgaSA8IGJhbmtzOyBpKyspIHsKLQkJaWYgKCFiYW5rW2ldKQorCQlpZiAoaSA8IE5SX1NZU0ZTX0JBTktTICYmICFiYW5rW2ldKQogCQkJY29udGludWU7CiAKIAkJbS5taXNjID0gMDsKQEAgLTM2Myw3ICszNjQsNyBAQAogCiBzdGF0aWMgdm9pZCBtY2hlY2tfdGltZXIoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQogewotCW9uX2VhY2hfY3B1KG1jaGVja19jaGVja19jcHUsIE5VTEwsIDEsIDEpOworCW9uX2VhY2hfY3B1KG1jaGVja19jaGVja19jcHUsIE5VTEwsIDEpOwogCiAJLyoKIAkgKiBBbGVydCB1c2Vyc3BhY2UgaWYgbmVlZGVkLiAgSWYgd2UgbG9nZ2VkIGFuIE1DRSwgcmVkdWNlIHRoZQpAQCAtNDQ0LDkgKzQ0NSwxMCBAQAogCiAJcmRtc3JsKE1TUl9JQTMyX01DR19DQVAsIGNhcCk7CiAJYmFua3MgPSBjYXAgJiAweGZmOwotCWlmIChiYW5rcyA+IE5SX0JBTktTKSB7Ci0JCXByaW50ayhLRVJOX0lORk8gIk1DRTogd2FybmluZzogdXNpbmcgb25seSAlZCBiYW5rc1xuIiwgYmFua3MpOwotCQliYW5rcyA9IE5SX0JBTktTOworCWlmIChiYW5rcyA+IE1DRV9FWFRFTkRFRF9CQU5LKSB7CisJCWJhbmtzID0gTUNFX0VYVEVOREVEX0JBTks7CisJCXByaW50ayhLRVJOX0lORk8gIk1DRTogd2FybmluZzogdXNpbmcgb25seSAlZCBiYW5rc1xuIiwKKwkJICAgICAgIE1DRV9FWFRFTkRFRF9CQU5LKTsKIAl9CiAJLyogVXNlIGFjY3VyYXRlIFJJUCByZXBvcnRpbmcgaWYgYXZhaWxhYmxlLiAqLwogCWlmICgoY2FwICYgKDE8PDkpKSAmJiAoKGNhcCA+PiAxNikgJiAweGZmKSA+PSA5KQpAQCAtNDYyLDcgKzQ2NCwxMSBAQAogCQl3cm1zcihNU1JfSUEzMl9NQ0dfQ1RMLCAweGZmZmZmZmZmLCAweGZmZmZmZmZmKTsKIAogCWZvciAoaSA9IDA7IGkgPCBiYW5rczsgaSsrKSB7Ci0JCXdybXNybChNU1JfSUEzMl9NQzBfQ1RMKzQqaSwgYmFua1tpXSk7CisJCWlmIChpIDwgTlJfU1lTRlNfQkFOS1MpCisJCQl3cm1zcmwoTVNSX0lBMzJfTUMwX0NUTCs0KmksIGJhbmtbaV0pOworCQllbHNlCisJCQl3cm1zcmwoTVNSX0lBMzJfTUMwX0NUTCs0KmksIH4wVUwpOworCiAJCXdybXNybChNU1JfSUEzMl9NQzBfU1RBVFVTKzQqaSwgMCk7CiAJfQogfQpAQCAtNTI3LDEwICs1MzMsMTIgQEAKIAogc3RhdGljIGludCBtY2Vfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKKwlsb2NrX2tlcm5lbCgpOwogCXNwaW5fbG9jaygmbWNlX3N0YXRlX2xvY2spOwogCiAJaWYgKG9wZW5fZXhjbHUgfHwgKG9wZW5fY291bnQgJiYgKGZpbGUtPmZfZmxhZ3MgJiBPX0VYQ0wpKSkgewogCQlzcGluX3VubG9jaygmbWNlX3N0YXRlX2xvY2spOworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiAtRUJVU1k7CiAJfQogCkBAIC01MzksNiArNTQ3LDcgQEAKIAlvcGVuX2NvdW50Kys7CiAKIAlzcGluX3VubG9jaygmbWNlX3N0YXRlX2xvY2spOworCXVubG9ja19rZXJuZWwoKTsKIAogCXJldHVybiBub25zZWVrYWJsZV9vcGVuKGlub2RlLCBmaWxlKTsKIH0KQEAgLTYxMiw3ICs2MjEsNyBAQAogCSAqIENvbGxlY3QgZW50cmllcyB0aGF0IHdlcmUgc3RpbGwgZ2V0dGluZyB3cml0dGVuIGJlZm9yZSB0aGUKIAkgKiBzeW5jaHJvbml6ZS4KIAkgKi8KLQlvbl9lYWNoX2NwdShjb2xsZWN0X3RzY3MsIGNwdV90c2MsIDEsIDEpOworCW9uX2VhY2hfY3B1KGNvbGxlY3RfdHNjcywgY3B1X3RzYywgMSk7CiAJZm9yIChpID0gbmV4dDsgaSA8IE1DRV9MT0dfTEVOOyBpKyspIHsKIAkJaWYgKG1jZWxvZy5lbnRyeVtpXS5maW5pc2hlZCAmJgogCQkgICAgbWNlbG9nLmVudHJ5W2ldLnRzYyA8IGNwdV90c2NbbWNlbG9nLmVudHJ5W2ldLmNwdV0pIHsKQEAgLTczNyw3ICs3NDYsNyBAQAogCWlmIChuZXh0X2ludGVydmFsKQogCQljYW5jZWxfZGVsYXllZF93b3JrKCZtY2hlY2tfd29yayk7CiAJLyogVGltZXIgcmFjZSBpcyBoYXJtbGVzcyBoZXJlICovCi0Jb25fZWFjaF9jcHUobWNlX2luaXQsIE5VTEwsIDEsIDEpOworCW9uX2VhY2hfY3B1KG1jZV9pbml0LCBOVUxMLCAxKTsKIAluZXh0X2ludGVydmFsID0gY2hlY2tfaW50ZXJ2YWwgKiBIWjsKIAlpZiAobmV4dF9pbnRlcnZhbCkKIAkJc2NoZWR1bGVfZGVsYXllZF93b3JrKCZtY2hlY2tfd29yaywKQEAgLTc2Niw3ICs3NzUsMTAgQEAKIAl9CQkJCQkJCQlcCiAJc3RhdGljIFNZU0RFVl9BVFRSKG5hbWUsIDA2NDQsIHNob3dfICMjIG5hbWUsIHNldF8gIyMgbmFtZSk7CiAKLS8qIFRCRCBzaG91bGQgZ2VuZXJhdGUgdGhlc2UgZHluYW1pY2FsbHkgYmFzZWQgb24gbnVtYmVyIG9mIGF2YWlsYWJsZSBiYW5rcyAqLworLyoKKyAqIFRCRCBzaG91bGQgZ2VuZXJhdGUgdGhlc2UgZHluYW1pY2FsbHkgYmFzZWQgb24gbnVtYmVyIG9mIGF2YWlsYWJsZSBiYW5rcy4KKyAqIEhhdmUgb25seSA2IGNvbnRvbCBiYW5rcyBpbiAvc3lzZnMgdW50aWwgdGhlbi4KKyAqLwogQUNDRVNTT1IoYmFuazBjdGwsYmFua1swXSxtY2VfcmVzdGFydCgpKQogQUNDRVNTT1IoYmFuazFjdGwsYmFua1sxXSxtY2VfcmVzdGFydCgpKQogQUNDRVNTT1IoYmFuazJjdGwsYmFua1syXSxtY2VfcmVzdGFydCgpKQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2NwdS9tY2hlY2svbm9uLWZhdGFsLmMgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L21jaGVjay9ub24tZmF0YWwuYwppbmRleCAwMGNjYjZjLi5jYzFmY2NkIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L21jaGVjay9ub24tZmF0YWwuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L21jaGVjay9ub24tZmF0YWwuYwpAQCAtNTksNyArNTksNyBAQAogCiBzdGF0aWMgdm9pZCBtY2Vfd29ya19mbihzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCiB7Ci0Jb25fZWFjaF9jcHUobWNlX2NoZWNrcmVncywgTlVMTCwgMSwgMSk7CisJb25fZWFjaF9jcHUobWNlX2NoZWNrcmVncywgTlVMTCwgMSk7CiAJc2NoZWR1bGVfZGVsYXllZF93b3JrKCZtY2Vfd29yaywgcm91bmRfamlmZmllc19yZWxhdGl2ZShNQ0VfUkFURSkpOwogfQogCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L21jaGVjay9wNC5jIGIvYXJjaC94ODYva2VybmVsL2NwdS9tY2hlY2svcDQuYwppbmRleCBjYjAzMzQ1Li5lZWYwMDFhIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L21jaGVjay9wNC5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvbWNoZWNrL3A0LmMKQEAgLTgsNyArOCw3IEBACiAjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CiAjaW5jbHVkZSA8bGludXgvc21wLmg+CiAKLSNpbmNsdWRlIDxhc20vcHJvY2Vzc29yLmg+IAorI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3IuaD4KICNpbmNsdWRlIDxhc20vc3lzdGVtLmg+CiAjaW5jbHVkZSA8YXNtL21zci5oPgogI2luY2x1ZGUgPGFzbS9hcGljLmg+CkBAIC0zMiwxMiArMzIsMTIgQEAKIAkvKiB1MzIgKnJlc2VydmVkW107ICovCiB9OwogCi1zdGF0aWMgaW50IG1jZV9udW1fZXh0ZW5kZWRfbXNycyA9IDA7CitzdGF0aWMgaW50IG1jZV9udW1fZXh0ZW5kZWRfbXNyczsKIAogCiAjaWZkZWYgQ09ORklHX1g4Nl9NQ0VfUDRUSEVSTUFMCiBzdGF0aWMgdm9pZCB1bmV4cGVjdGVkX3RoZXJtYWxfaW50ZXJydXB0KHN0cnVjdCBwdF9yZWdzICpyZWdzKQotewkKK3sKIAlwcmludGsoS0VSTl9FUlIgIkNQVSVkOiBVbmV4cGVjdGVkIExWVCBUTVIgaW50ZXJydXB0IVxuIiwKIAkJCXNtcF9wcm9jZXNzb3JfaWQoKSk7CiAJYWRkX3RhaW50KFRBSU5UX01BQ0hJTkVfQ0hFQ0spOwpAQCAtODMsNyArODMsNyBAQAogCSAqIGJlIHNvbWUgU01NIGdvbyB3aGljaCBoYW5kbGVzIGl0LCBzbyB3ZSBjYW4ndCBldmVuIHB1dCBhIGhhbmRsZXIKIAkgKiBzaW5jZSBpdCBtaWdodCBiZSBkZWxpdmVyZWQgdmlhIFNNSSBhbHJlYWR5IC16d2FuZW0uCiAJICovCi0JcmRtc3IgKE1TUl9JQTMyX01JU0NfRU5BQkxFLCBsLCBoKTsKKwlyZG1zcihNU1JfSUEzMl9NSVNDX0VOQUJMRSwgbCwgaCk7CiAJaCA9IGFwaWNfcmVhZChBUElDX0xWVFRITVIpOwogCWlmICgobCAmICgxPDwzKSkgJiYgKGggJiBBUElDX0RNX1NNSSkpIHsKIAkJcHJpbnRrKEtFUk5fREVCVUcgIkNQVSVkOiBUaGVybWFsIG1vbml0b3JpbmcgaGFuZGxlZCBieSBTTUlcbiIsCkBAIC05MSw3ICs5MSw3IEBACiAJCXJldHVybjsgLyogLUVCVVNZICovCiAJfQogCi0JLyogY2hlY2sgd2hldGhlciBhIHZlY3RvciBhbHJlYWR5IGV4aXN0cywgdGVtcG9yYXJpbHkgbWFza2VkPyAqLwkKKwkvKiBjaGVjayB3aGV0aGVyIGEgdmVjdG9yIGFscmVhZHkgZXhpc3RzLCB0ZW1wb3JhcmlseSBtYXNrZWQ/ICovCiAJaWYgKGggJiBBUElDX1ZFQ1RPUl9NQVNLKSB7CiAJCXByaW50ayhLRVJOX0RFQlVHICJDUFUlZDogVGhlcm1hbCBMVlQgdmVjdG9yICglI3gpIGFscmVhZHkgIgogCQkJCSJpbnN0YWxsZWRcbiIsCkBAIC0xMDQsMTggKzEwNCwxOCBAQAogCWggfD0gKEFQSUNfRE1fRklYRUQgfCBBUElDX0xWVF9NQVNLRUQpOwkvKiB3ZSdsbCBtYXNrIHRpbGwgd2UncmUgcmVhZHkgKi8KIAlhcGljX3dyaXRlX2Fyb3VuZChBUElDX0xWVFRITVIsIGgpOwogCi0JcmRtc3IgKE1TUl9JQTMyX1RIRVJNX0lOVEVSUlVQVCwgbCwgaCk7Ci0Jd3Jtc3IgKE1TUl9JQTMyX1RIRVJNX0lOVEVSUlVQVCwgbCB8IDB4MDMgLCBoKTsKKwlyZG1zcihNU1JfSUEzMl9USEVSTV9JTlRFUlJVUFQsIGwsIGgpOworCXdybXNyKE1TUl9JQTMyX1RIRVJNX0lOVEVSUlVQVCwgbCB8IDB4MDMgLCBoKTsKIAogCS8qIG9rIHdlJ3JlIGdvb2QgdG8gZ28uLi4gKi8KIAl2ZW5kb3JfdGhlcm1hbF9pbnRlcnJ1cHQgPSBpbnRlbF90aGVybWFsX2ludGVycnVwdDsKLQkKLQlyZG1zciAoTVNSX0lBMzJfTUlTQ19FTkFCTEUsIGwsIGgpOwotCXdybXNyIChNU1JfSUEzMl9NSVNDX0VOQUJMRSwgbCB8ICgxPDwzKSwgaCk7CiAKLQlsID0gYXBpY19yZWFkIChBUElDX0xWVFRITVIpOwotCWFwaWNfd3JpdGVfYXJvdW5kIChBUElDX0xWVFRITVIsIGwgJiB+QVBJQ19MVlRfTUFTS0VEKTsKLQlwcmludGsgKEtFUk5fSU5GTyAiQ1BVJWQ6IFRoZXJtYWwgbW9uaXRvcmluZyBlbmFibGVkXG4iLCBjcHUpOworCXJkbXNyKE1TUl9JQTMyX01JU0NfRU5BQkxFLCBsLCBoKTsKKwl3cm1zcihNU1JfSUEzMl9NSVNDX0VOQUJMRSwgbCB8ICgxPDwzKSwgaCk7CisKKwlsID0gYXBpY19yZWFkKEFQSUNfTFZUVEhNUik7CisJYXBpY193cml0ZV9hcm91bmQoQVBJQ19MVlRUSE1SLCBsICYgfkFQSUNfTFZUX01BU0tFRCk7CisJcHJpbnRrKEtFUk5fSU5GTyAiQ1BVJWQ6IFRoZXJtYWwgbW9uaXRvcmluZyBlbmFibGVkXG4iLCBjcHUpOwogCiAJLyogZW5hYmxlIHRoZXJtYWwgdGhyb3R0bGUgcHJvY2Vzc2luZyAqLwogCWF0b21pY19zZXQoJnRoZXJtX3Rocm90X2VuLCAxKTsKQEAgLTEyOSwyOCArMTI5LDI4IEBACiB7CiAJdTMyIGg7CiAKLQlyZG1zciAoTVNSX0lBMzJfTUNHX0VBWCwgci0+ZWF4LCBoKTsKLQlyZG1zciAoTVNSX0lBMzJfTUNHX0VCWCwgci0+ZWJ4LCBoKTsKLQlyZG1zciAoTVNSX0lBMzJfTUNHX0VDWCwgci0+ZWN4LCBoKTsKLQlyZG1zciAoTVNSX0lBMzJfTUNHX0VEWCwgci0+ZWR4LCBoKTsKLQlyZG1zciAoTVNSX0lBMzJfTUNHX0VTSSwgci0+ZXNpLCBoKTsKLQlyZG1zciAoTVNSX0lBMzJfTUNHX0VESSwgci0+ZWRpLCBoKTsKLQlyZG1zciAoTVNSX0lBMzJfTUNHX0VCUCwgci0+ZWJwLCBoKTsKLQlyZG1zciAoTVNSX0lBMzJfTUNHX0VTUCwgci0+ZXNwLCBoKTsKLQlyZG1zciAoTVNSX0lBMzJfTUNHX0VGTEFHUywgci0+ZWZsYWdzLCBoKTsKLQlyZG1zciAoTVNSX0lBMzJfTUNHX0VJUCwgci0+ZWlwLCBoKTsKKwlyZG1zcihNU1JfSUEzMl9NQ0dfRUFYLCByLT5lYXgsIGgpOworCXJkbXNyKE1TUl9JQTMyX01DR19FQlgsIHItPmVieCwgaCk7CisJcmRtc3IoTVNSX0lBMzJfTUNHX0VDWCwgci0+ZWN4LCBoKTsKKwlyZG1zcihNU1JfSUEzMl9NQ0dfRURYLCByLT5lZHgsIGgpOworCXJkbXNyKE1TUl9JQTMyX01DR19FU0ksIHItPmVzaSwgaCk7CisJcmRtc3IoTVNSX0lBMzJfTUNHX0VESSwgci0+ZWRpLCBoKTsKKwlyZG1zcihNU1JfSUEzMl9NQ0dfRUJQLCByLT5lYnAsIGgpOworCXJkbXNyKE1TUl9JQTMyX01DR19FU1AsIHItPmVzcCwgaCk7CisJcmRtc3IoTVNSX0lBMzJfTUNHX0VGTEFHUywgci0+ZWZsYWdzLCBoKTsKKwlyZG1zcihNU1JfSUEzMl9NQ0dfRUlQLCByLT5laXAsIGgpOwogfQogCi1zdGF0aWMgdm9pZCBpbnRlbF9tYWNoaW5lX2NoZWNrKHN0cnVjdCBwdF9yZWdzICogcmVncywgbG9uZyBlcnJvcl9jb2RlKQorc3RhdGljIHZvaWQgaW50ZWxfbWFjaGluZV9jaGVjayhzdHJ1Y3QgcHRfcmVncyAqcmVncywgbG9uZyBlcnJvcl9jb2RlKQogewotCWludCByZWNvdmVyPTE7CisJaW50IHJlY292ZXIgPSAxOwogCXUzMiBhbG93LCBhaGlnaCwgaGlnaCwgbG93OwogCXUzMiBtY2dzdGwsIG1jZ3N0aDsKIAlpbnQgaTsKIAotCXJkbXNyIChNU1JfSUEzMl9NQ0dfU1RBVFVTLCBtY2dzdGwsIG1jZ3N0aCk7CisJcmRtc3IoTVNSX0lBMzJfTUNHX1NUQVRVUywgbWNnc3RsLCBtY2dzdGgpOwogCWlmIChtY2dzdGwgJiAoMTw8MCkpCS8qIFJlY292ZXJhYmxlID8gKi8KLQkJcmVjb3Zlcj0wOworCQlyZWNvdmVyID0gMDsKIAogCXByaW50ayhLRVJOX0VNRVJHICJDUFUgJWQ6IE1hY2hpbmUgQ2hlY2sgRXhjZXB0aW9uOiAlMDh4JTA4eFxuIiwKIAkJc21wX3Byb2Nlc3Nvcl9pZCgpLCBtY2dzdGgsIG1jZ3N0bCk7CkBAIC0xOTEsMjAgKzE5MSwyMCBAQAogCX0KIAogCWlmIChyZWNvdmVyICYgMikKLQkJcGFuaWMgKCJDUFUgY29udGV4dCBjb3JydXB0Iik7CisJCXBhbmljKCJDUFUgY29udGV4dCBjb3JydXB0Iik7CiAJaWYgKHJlY292ZXIgJiAxKQotCQlwYW5pYyAoIlVuYWJsZSB0byBjb250aW51ZSIpOworCQlwYW5pYygiVW5hYmxlIHRvIGNvbnRpbnVlIik7CiAKIAlwcmludGsoS0VSTl9FTUVSRyAiQXR0ZW1wdGluZyB0byBjb250aW51ZS5cbiIpOwotCS8qIAotCSAqIERvIG5vdCBjbGVhciB0aGUgTVNSX0lBMzJfTUNpX1NUQVRVUyBpZiB0aGUgZXJyb3IgaXMgbm90IAorCS8qCisJICogRG8gbm90IGNsZWFyIHRoZSBNU1JfSUEzMl9NQ2lfU1RBVFVTIGlmIHRoZSBlcnJvciBpcyBub3QKIAkgKiByZWNvdmVyYWJsZS9jb250aW51YWJsZS5UaGlzIHdpbGwgYWxsb3cgQklPUyB0byBsb29rIGF0IHRoZSBNU1JzCiAJICogZm9yIGVycm9ycyBpZiB0aGUgT1MgY291bGQgbm90IGxvZyB0aGUgZXJyb3IuCiAJICovCi0JZm9yIChpPTA7IGk8bnJfbWNlX2JhbmtzOyBpKyspIHsKKwlmb3IgKGkgPSAwOyBpIDwgbnJfbWNlX2JhbmtzOyBpKyspIHsKIAkJdTMyIG1zcjsKIAkJbXNyID0gTVNSX0lBMzJfTUMwX1NUQVRVUytpKjQ7Ci0JCXJkbXNyIChtc3IsIGxvdywgaGlnaCk7CisJCXJkbXNyKG1zciwgbG93LCBoaWdoKTsKIAkJaWYgKGhpZ2gmKDE8PDMxKSkgewogCQkJLyogQ2xlYXIgaXQgKi8KIAkJCXdybXNyKG1zciwgMFVMLCAwVUwpOwpAQCAtMjE0LDcgKzIxNCw3IEBACiAJCX0KIAl9CiAJbWNnc3RsICY9IH4oMTw8Mik7Ci0Jd3Jtc3IgKE1TUl9JQTMyX01DR19TVEFUVVMsbWNnc3RsLCBtY2dzdGgpOworCXdybXNyKE1TUl9JQTMyX01DR19TVEFUVVMsIG1jZ3N0bCwgbWNnc3RoKTsKIH0KIAogCkBAIC0yMjIsMzAgKzIyMiwzMCBAQAogewogCXUzMiBsLCBoOwogCWludCBpOwotCQorCiAJbWFjaGluZV9jaGVja192ZWN0b3IgPSBpbnRlbF9tYWNoaW5lX2NoZWNrOwogCXdtYigpOwogCi0JcHJpbnRrIChLRVJOX0lORk8gIkludGVsIG1hY2hpbmUgY2hlY2sgYXJjaGl0ZWN0dXJlIHN1cHBvcnRlZC5cbiIpOwotCXJkbXNyIChNU1JfSUEzMl9NQ0dfQ0FQLCBsLCBoKTsKKwlwcmludGsoS0VSTl9JTkZPICJJbnRlbCBtYWNoaW5lIGNoZWNrIGFyY2hpdGVjdHVyZSBzdXBwb3J0ZWQuXG4iKTsKKwlyZG1zcihNU1JfSUEzMl9NQ0dfQ0FQLCBsLCBoKTsKIAlpZiAobCAmICgxPDw4KSkJLyogQ29udHJvbCByZWdpc3RlciBwcmVzZW50ID8gKi8KLQkJd3Jtc3IgKE1TUl9JQTMyX01DR19DVEwsIDB4ZmZmZmZmZmYsIDB4ZmZmZmZmZmYpOworCQl3cm1zcihNU1JfSUEzMl9NQ0dfQ1RMLCAweGZmZmZmZmZmLCAweGZmZmZmZmZmKTsKIAlucl9tY2VfYmFua3MgPSBsICYgMHhmZjsKIAotCWZvciAoaT0wOyBpPG5yX21jZV9iYW5rczsgaSsrKSB7Ci0JCXdybXNyIChNU1JfSUEzMl9NQzBfQ1RMKzQqaSwgMHhmZmZmZmZmZiwgMHhmZmZmZmZmZik7Ci0JCXdybXNyIChNU1JfSUEzMl9NQzBfU1RBVFVTKzQqaSwgMHgwLCAweDApOworCWZvciAoaSA9IDA7IGkgPCBucl9tY2VfYmFua3M7IGkrKykgeworCQl3cm1zcihNU1JfSUEzMl9NQzBfQ1RMKzQqaSwgMHhmZmZmZmZmZiwgMHhmZmZmZmZmZik7CisJCXdybXNyKE1TUl9JQTMyX01DMF9TVEFUVVMrNCppLCAweDAsIDB4MCk7CiAJfQogCi0Jc2V0X2luX2NyNCAoWDg2X0NSNF9NQ0UpOwotCXByaW50ayAoS0VSTl9JTkZPICJJbnRlbCBtYWNoaW5lIGNoZWNrIHJlcG9ydGluZyBlbmFibGVkIG9uIENQVSMlZC5cbiIsCisJc2V0X2luX2NyNChYODZfQ1I0X01DRSk7CisJcHJpbnRrKEtFUk5fSU5GTyAiSW50ZWwgbWFjaGluZSBjaGVjayByZXBvcnRpbmcgZW5hYmxlZCBvbiBDUFUjJWQuXG4iLAogCQlzbXBfcHJvY2Vzc29yX2lkKCkpOwogCiAJLyogQ2hlY2sgZm9yIFA0L1hlb24gZXh0ZW5kZWQgTUNFIE1TUnMgKi8KLQlyZG1zciAoTVNSX0lBMzJfTUNHX0NBUCwgbCwgaCk7CisJcmRtc3IoTVNSX0lBMzJfTUNHX0NBUCwgbCwgaCk7CiAJaWYgKGwgJiAoMTw8OSkpCXsvKiBNQ0dfRVhUX1AgKi8KIAkJbWNlX251bV9leHRlbmRlZF9tc3JzID0gKGwgPj4gMTYpICYgMHhmZjsKLQkJcHJpbnRrIChLRVJOX0lORk8gIkNQVSVkOiBJbnRlbCBQNC9YZW9uIEV4dGVuZGVkIE1DRSBNU1JzICglZCkiCisJCXByaW50ayhLRVJOX0lORk8gIkNQVSVkOiBJbnRlbCBQNC9YZW9uIEV4dGVuZGVkIE1DRSBNU1JzICglZCkiCiAJCQkJIiBhdmFpbGFibGVcbiIsCiAJCQlzbXBfcHJvY2Vzc29yX2lkKCksIG1jZV9udW1fZXh0ZW5kZWRfbXNycyk7CiAKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9jcHUvbXRyci9nZW5lcmljLmMgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L210cnIvZ2VuZXJpYy5jCmluZGV4IDVkMjQxY2UuLjUwOWJkM2QgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9jcHUvbXRyci9nZW5lcmljLmMKKysrIGIvYXJjaC94ODYva2VybmVsL2NwdS9tdHJyL2dlbmVyaWMuYwpAQCAtMzcsNyArMzcsNyBAQAogc3RhdGljIHVuc2lnbmVkIGxvbmcgc21wX2NoYW5nZXNfbWFzazsKIHN0YXRpYyBzdHJ1Y3QgbXRycl9zdGF0ZSBtdHJyX3N0YXRlID0ge307CiBzdGF0aWMgaW50IG10cnJfc3RhdGVfc2V0Owotc3RhdGljIHU2NCB0b20yOwordTY0IG10cnJfdG9tMjsKIAogI3VuZGVmIE1PRFVMRV9QQVJBTV9QUkVGSVgKICNkZWZpbmUgTU9EVUxFX1BBUkFNX1BSRUZJWCAibXRyci4iCkBAIC0xMzksOCArMTM5LDggQEAKIAkJfQogCX0KIAotCWlmICh0b20yKSB7Ci0JCWlmIChzdGFydCA+PSAoMVVMTDw8MzIpICYmIChlbmQgPCB0b20yKSkKKwlpZiAobXRycl90b20yKSB7CisJCWlmIChzdGFydCA+PSAoMVVMTDw8MzIpICYmIChlbmQgPCBtdHJyX3RvbTIpKQogCQkJcmV0dXJuIE1UUlJfVFlQRV9XUkJBQ0s7CiAJfQogCkBAIC0xNTgsNiArMTU4LDIwIEBACiAJcmRtc3IoTVRSUnBoeXNNYXNrX01TUihpbmRleCksIHZyLT5tYXNrX2xvLCB2ci0+bWFza19oaSk7CiB9CiAKKy8qICBmaWxsIHRoZSBNU1IgcGFpciByZWxhdGluZyB0byBhIHZhciByYW5nZSAgKi8KK3ZvaWQgZmlsbF9tdHJyX3Zhcl9yYW5nZSh1bnNpZ25lZCBpbnQgaW5kZXgsCisJCXUzMiBiYXNlX2xvLCB1MzIgYmFzZV9oaSwgdTMyIG1hc2tfbG8sIHUzMiBtYXNrX2hpKQoreworCXN0cnVjdCBtdHJyX3Zhcl9yYW5nZSAqdnI7CisKKwl2ciA9IG10cnJfc3RhdGUudmFyX3JhbmdlczsKKworCXZyW2luZGV4XS5iYXNlX2xvID0gYmFzZV9sbzsKKwl2cltpbmRleF0uYmFzZV9oaSA9IGJhc2VfaGk7CisJdnJbaW5kZXhdLm1hc2tfbG8gPSBtYXNrX2xvOworCXZyW2luZGV4XS5tYXNrX2hpID0gbWFza19oaTsKK30KKwogc3RhdGljIHZvaWQKIGdldF9maXhlZF9yYW5nZXMobXRycl90eXBlICogZnJzKQogewpAQCAtMjEzLDEzICsyMjcsMTMgQEAKIAltdHJyX3N0YXRlLmVuYWJsZWQgPSAobG8gJiAweGMwMCkgPj4gMTA7CiAKIAlpZiAoYW1kX3NwZWNpYWxfZGVmYXVsdF9tdHJyKCkpIHsKLQkJdW5zaWduZWQgbG8sIGhpOworCQl1bnNpZ25lZCBsb3csIGhpZ2g7CiAJCS8qIFRPUF9NRU0yICovCi0JCXJkbXNyKE1TUl9LOF9UT1BfTUVNMiwgbG8sIGhpKTsKLQkJdG9tMiA9IGhpOwotCQl0b20yIDw8PSAzMjsKLQkJdG9tMiB8PSBsbzsKLQkJdG9tMiAmPSAweGZmZmZmZjgwMDAwMDBVTEw7CisJCXJkbXNyKE1TUl9LOF9UT1BfTUVNMiwgbG93LCBoaWdoKTsKKwkJbXRycl90b20yID0gaGlnaDsKKwkJbXRycl90b20yIDw8PSAzMjsKKwkJbXRycl90b20yIHw9IGxvdzsKKwkJbXRycl90b20yICY9IDB4ZmZmZmZmODAwMDAwVUxMOwogCX0KIAlpZiAobXRycl9zaG93KSB7CiAJCWludCBoaWdoX3dpZHRoOwpAQCAtMjUxLDkgKzI2NSw5IEBACiAJCQllbHNlCiAJCQkJcHJpbnRrKEtFUk5fSU5GTyAiTVRSUiAldSBkaXNhYmxlZFxuIiwgaSk7CiAJCX0KLQkJaWYgKHRvbTIpIHsKKwkJaWYgKG10cnJfdG9tMikgewogCQkJcHJpbnRrKEtFUk5fSU5GTyAiVE9NMjogJTAxNmxseCBha2EgJWxsZE1cbiIsCi0JCQkJCSAgdG9tMiwgdG9tMj4+MjApOworCQkJCQkgIG10cnJfdG9tMiwgbXRycl90b20yPj4yMCk7CiAJCX0KIAl9CiAJbXRycl9zdGF0ZV9zZXQgPSAxOwpAQCAtMzI4LDcgKzM0Miw3IEBACiAKIAlpZiAobG8gIT0gbXNyd29yZHNbMF0gfHwgaGkgIT0gbXNyd29yZHNbMV0pIHsKIAkJaWYgKGJvb3RfY3B1X2RhdGEueDg2X3ZlbmRvciA9PSBYODZfVkVORE9SX0FNRCAmJgotCQkgICAgYm9vdF9jcHVfZGF0YS54ODYgPT0gMTUgJiYKKwkJICAgIChib290X2NwdV9kYXRhLng4NiA+PSAweDBmICYmIGJvb3RfY3B1X2RhdGEueDg2IDw9IDB4MTEpICYmCiAJCSAgICAoKG1zcndvcmRzWzBdIHwgbXNyd29yZHNbMV0pICYgSzhfTVRSUl9SRE1FTV9XUk1FTV9NQVNLKSkKIAkJCWs4X2VuYWJsZV9maXhlZF9pb3JycygpOwogCQltdHJyX3dybXNyKG1zciwgbXNyd29yZHNbMF0sIG1zcndvcmRzWzFdKTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9jcHUvbXRyci9tYWluLmMgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L210cnIvbWFpbi5jCmluZGV4IDZhMWUyNzguLjZmMjM5NjkgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9jcHUvbXRyci9tYWluLmMKKysrIGIvYXJjaC94ODYva2VybmVsL2NwdS9tdHJyL21haW4uYwpAQCAtMzcsNiArMzcsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3NtcC5oPgogI2luY2x1ZGUgPGxpbnV4L2NwdS5oPgogI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CisjaW5jbHVkZSA8bGludXgvc29ydC5oPgogCiAjaW5jbHVkZSA8YXNtL2U4MjAuaD4KICNpbmNsdWRlIDxhc20vbXRyci5oPgpAQCAtMjIyLDcgKzIyMyw3IEBACiAJYXRvbWljX3NldCgmZGF0YS5nYXRlLDApOwogCiAJLyogIFN0YXJ0IHRoZSBiYWxsIHJvbGxpbmcgb24gb3RoZXIgQ1BVcyAgKi8KLQlpZiAoc21wX2NhbGxfZnVuY3Rpb24oaXBpX2hhbmRsZXIsICZkYXRhLCAxLCAwKSAhPSAwKQorCWlmIChzbXBfY2FsbF9mdW5jdGlvbihpcGlfaGFuZGxlciwgJmRhdGEsIDApICE9IDApCiAJCXBhbmljKCJtdHJyOiB0aW1lZCBvdXQgd2FpdGluZyBmb3Igb3RoZXIgQ1BVc1xuIik7CiAKIAlsb2NhbF9pcnFfc2F2ZShmbGFncyk7CkBAIC02MDksNiArNjEwLDc4NyBAQAogCS5yZXN1bWUJCT0gbXRycl9yZXN0b3JlLAogfTsKIAorLyogc2hvdWxkIGJlIHJlbGF0ZWQgdG8gTVRSUl9WQVJfUkFOR0VTIG51bXMgKi8KKyNkZWZpbmUgUkFOR0VfTlVNIDI1NgorCitzdHJ1Y3QgcmVzX3JhbmdlIHsKKwl1bnNpZ25lZCBsb25nIHN0YXJ0OworCXVuc2lnbmVkIGxvbmcgZW5kOworfTsKKworc3RhdGljIGludCBfX2luaXQKK2FkZF9yYW5nZShzdHJ1Y3QgcmVzX3JhbmdlICpyYW5nZSwgaW50IG5yX3JhbmdlLCB1bnNpZ25lZCBsb25nIHN0YXJ0LAorCQkJICAgICAgdW5zaWduZWQgbG9uZyBlbmQpCit7CisJLyogb3V0IG9mIHNsb3RzICovCisJaWYgKG5yX3JhbmdlID49IFJBTkdFX05VTSkKKwkJcmV0dXJuIG5yX3JhbmdlOworCisJcmFuZ2VbbnJfcmFuZ2VdLnN0YXJ0ID0gc3RhcnQ7CisJcmFuZ2VbbnJfcmFuZ2VdLmVuZCA9IGVuZDsKKworCW5yX3JhbmdlKys7CisKKwlyZXR1cm4gbnJfcmFuZ2U7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0CithZGRfcmFuZ2Vfd2l0aF9tZXJnZShzdHJ1Y3QgcmVzX3JhbmdlICpyYW5nZSwgaW50IG5yX3JhbmdlLCB1bnNpZ25lZCBsb25nIHN0YXJ0LAorCQkJICAgICAgdW5zaWduZWQgbG9uZyBlbmQpCit7CisJaW50IGk7CisKKwkvKiB0cnkgdG8gbWVyZ2UgaXQgd2l0aCBvbGQgb25lICovCisJZm9yIChpID0gMDsgaSA8IG5yX3JhbmdlOyBpKyspIHsKKwkJdW5zaWduZWQgbG9uZyBmaW5hbF9zdGFydCwgZmluYWxfZW5kOworCQl1bnNpZ25lZCBsb25nIGNvbW1vbl9zdGFydCwgY29tbW9uX2VuZDsKKworCQlpZiAoIXJhbmdlW2ldLmVuZCkKKwkJCWNvbnRpbnVlOworCisJCWNvbW1vbl9zdGFydCA9IG1heChyYW5nZVtpXS5zdGFydCwgc3RhcnQpOworCQljb21tb25fZW5kID0gbWluKHJhbmdlW2ldLmVuZCwgZW5kKTsKKwkJaWYgKGNvbW1vbl9zdGFydCA+IGNvbW1vbl9lbmQgKyAxKQorCQkJY29udGludWU7CisKKwkJZmluYWxfc3RhcnQgPSBtaW4ocmFuZ2VbaV0uc3RhcnQsIHN0YXJ0KTsKKwkJZmluYWxfZW5kID0gbWF4KHJhbmdlW2ldLmVuZCwgZW5kKTsKKworCQlyYW5nZVtpXS5zdGFydCA9IGZpbmFsX3N0YXJ0OworCQlyYW5nZVtpXS5lbmQgPSAgZmluYWxfZW5kOworCQlyZXR1cm4gbnJfcmFuZ2U7CisJfQorCisJLyogbmVlZCB0byBhZGQgdGhhdCAqLworCXJldHVybiBhZGRfcmFuZ2UocmFuZ2UsIG5yX3JhbmdlLCBzdGFydCwgZW5kKTsKK30KKworc3RhdGljIHZvaWQgX19pbml0CitzdWJ0cmFjdF9yYW5nZShzdHJ1Y3QgcmVzX3JhbmdlICpyYW5nZSwgdW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQpCit7CisJaW50IGksIGo7CisKKwlmb3IgKGogPSAwOyBqIDwgUkFOR0VfTlVNOyBqKyspIHsKKwkJaWYgKCFyYW5nZVtqXS5lbmQpCisJCQljb250aW51ZTsKKworCQlpZiAoc3RhcnQgPD0gcmFuZ2Vbal0uc3RhcnQgJiYgZW5kID49IHJhbmdlW2pdLmVuZCkgeworCQkJcmFuZ2Vbal0uc3RhcnQgPSAwOworCQkJcmFuZ2Vbal0uZW5kID0gMDsKKwkJCWNvbnRpbnVlOworCQl9CisKKwkJaWYgKHN0YXJ0IDw9IHJhbmdlW2pdLnN0YXJ0ICYmIGVuZCA8IHJhbmdlW2pdLmVuZCAmJgorCQkgICAgcmFuZ2Vbal0uc3RhcnQgPCBlbmQgKyAxKSB7CisJCQlyYW5nZVtqXS5zdGFydCA9IGVuZCArIDE7CisJCQljb250aW51ZTsKKwkJfQorCisKKwkJaWYgKHN0YXJ0ID4gcmFuZ2Vbal0uc3RhcnQgJiYgZW5kID49IHJhbmdlW2pdLmVuZCAmJgorCQkgICAgcmFuZ2Vbal0uZW5kID4gc3RhcnQgLSAxKSB7CisJCQlyYW5nZVtqXS5lbmQgPSBzdGFydCAtIDE7CisJCQljb250aW51ZTsKKwkJfQorCisJCWlmIChzdGFydCA+IHJhbmdlW2pdLnN0YXJ0ICYmIGVuZCA8IHJhbmdlW2pdLmVuZCkgeworCQkJLyogZmluZCB0aGUgbmV3IHNwYXJlICovCisJCQlmb3IgKGkgPSAwOyBpIDwgUkFOR0VfTlVNOyBpKyspIHsKKwkJCQlpZiAocmFuZ2VbaV0uZW5kID09IDApCisJCQkJCWJyZWFrOworCQkJfQorCQkJaWYgKGkgPCBSQU5HRV9OVU0pIHsKKwkJCQlyYW5nZVtpXS5lbmQgPSByYW5nZVtqXS5lbmQ7CisJCQkJcmFuZ2VbaV0uc3RhcnQgPSBlbmQgKyAxOworCQkJfSBlbHNlIHsKKwkJCQlwcmludGsoS0VSTl9FUlIgInJ1biBvZiBzbG90IGluIHJhbmdlc1xuIik7CisJCQl9CisJCQlyYW5nZVtqXS5lbmQgPSBzdGFydCAtIDE7CisJCQljb250aW51ZTsKKwkJfQorCX0KK30KKworc3RhdGljIGludCBfX2luaXQgY21wX3JhbmdlKGNvbnN0IHZvaWQgKngxLCBjb25zdCB2b2lkICp4MikKK3sKKwljb25zdCBzdHJ1Y3QgcmVzX3JhbmdlICpyMSA9IHgxOworCWNvbnN0IHN0cnVjdCByZXNfcmFuZ2UgKnIyID0geDI7CisJbG9uZyBzdGFydDEsIHN0YXJ0MjsKKworCXN0YXJ0MSA9IHIxLT5zdGFydDsKKwlzdGFydDIgPSByMi0+c3RhcnQ7CisKKwlyZXR1cm4gc3RhcnQxIC0gc3RhcnQyOworfQorCitzdHJ1Y3QgdmFyX210cnJfcmFuZ2Vfc3RhdGUgeworCXVuc2lnbmVkIGxvbmcgYmFzZV9wZm47CisJdW5zaWduZWQgbG9uZyBzaXplX3BmbjsKKwltdHJyX3R5cGUgdHlwZTsKK307CisKK3N0cnVjdCB2YXJfbXRycl9yYW5nZV9zdGF0ZSBfX2luaXRkYXRhIHJhbmdlX3N0YXRlW1JBTkdFX05VTV07CitzdGF0aWMgaW50IF9faW5pdGRhdGEgZGVidWdfcHJpbnQ7CisKK3N0YXRpYyBpbnQgX19pbml0Cit4ODZfZ2V0X210cnJfbWVtX3JhbmdlKHN0cnVjdCByZXNfcmFuZ2UgKnJhbmdlLCBpbnQgbnJfcmFuZ2UsCisJCSAgICAgICB1bnNpZ25lZCBsb25nIGV4dHJhX3JlbW92ZV9iYXNlLAorCQkgICAgICAgdW5zaWduZWQgbG9uZyBleHRyYV9yZW1vdmVfc2l6ZSkKK3sKKwl1bnNpZ25lZCBsb25nIGksIGJhc2UsIHNpemU7CisJbXRycl90eXBlIHR5cGU7CisKKwlmb3IgKGkgPSAwOyBpIDwgbnVtX3Zhcl9yYW5nZXM7IGkrKykgeworCQl0eXBlID0gcmFuZ2Vfc3RhdGVbaV0udHlwZTsKKwkJaWYgKHR5cGUgIT0gTVRSUl9UWVBFX1dSQkFDSykKKwkJCWNvbnRpbnVlOworCQliYXNlID0gcmFuZ2Vfc3RhdGVbaV0uYmFzZV9wZm47CisJCXNpemUgPSByYW5nZV9zdGF0ZVtpXS5zaXplX3BmbjsKKwkJbnJfcmFuZ2UgPSBhZGRfcmFuZ2Vfd2l0aF9tZXJnZShyYW5nZSwgbnJfcmFuZ2UsIGJhc2UsCisJCQkJCQliYXNlICsgc2l6ZSAtIDEpOworCX0KKwlpZiAoZGVidWdfcHJpbnQpIHsKKwkJcHJpbnRrKEtFUk5fREVCVUcgIkFmdGVyIFdCIGNoZWNraW5nXG4iKTsKKwkJZm9yIChpID0gMDsgaSA8IG5yX3JhbmdlOyBpKyspCisJCQlwcmludGsoS0VSTl9ERUJVRyAiTVRSUiBNQVAgUEZOOiAlMDE2bHggLSAlMDE2bHhcbiIsCisJCQkJIHJhbmdlW2ldLnN0YXJ0LCByYW5nZVtpXS5lbmQgKyAxKTsKKwl9CisKKwkvKiB0YWtlIG91dCBVQyByYW5nZXMgKi8KKwlmb3IgKGkgPSAwOyBpIDwgbnVtX3Zhcl9yYW5nZXM7IGkrKykgeworCQl0eXBlID0gcmFuZ2Vfc3RhdGVbaV0udHlwZTsKKwkJaWYgKHR5cGUgIT0gTVRSUl9UWVBFX1VOQ0FDSEFCTEUpCisJCQljb250aW51ZTsKKwkJc2l6ZSA9IHJhbmdlX3N0YXRlW2ldLnNpemVfcGZuOworCQlpZiAoIXNpemUpCisJCQljb250aW51ZTsKKwkJYmFzZSA9IHJhbmdlX3N0YXRlW2ldLmJhc2VfcGZuOworCQlzdWJ0cmFjdF9yYW5nZShyYW5nZSwgYmFzZSwgYmFzZSArIHNpemUgLSAxKTsKKwl9CisJaWYgKGV4dHJhX3JlbW92ZV9zaXplKQorCQlzdWJ0cmFjdF9yYW5nZShyYW5nZSwgZXh0cmFfcmVtb3ZlX2Jhc2UsCisJCQkJIGV4dHJhX3JlbW92ZV9iYXNlICsgZXh0cmFfcmVtb3ZlX3NpemUgIC0gMSk7CisKKwkvKiBnZXQgbmV3IHJhbmdlIG51bSAqLworCW5yX3JhbmdlID0gMDsKKwlmb3IgKGkgPSAwOyBpIDwgUkFOR0VfTlVNOyBpKyspIHsKKwkJaWYgKCFyYW5nZVtpXS5lbmQpCisJCQljb250aW51ZTsKKwkJbnJfcmFuZ2UrKzsKKwl9CisJaWYgIChkZWJ1Z19wcmludCkgeworCQlwcmludGsoS0VSTl9ERUJVRyAiQWZ0ZXIgVUMgY2hlY2tpbmdcbiIpOworCQlmb3IgKGkgPSAwOyBpIDwgbnJfcmFuZ2U7IGkrKykKKwkJCXByaW50ayhLRVJOX0RFQlVHICJNVFJSIE1BUCBQRk46ICUwMTZseCAtICUwMTZseFxuIiwKKwkJCQkgcmFuZ2VbaV0uc3RhcnQsIHJhbmdlW2ldLmVuZCArIDEpOworCX0KKworCS8qIHNvcnQgdGhlIHJhbmdlcyAqLworCXNvcnQocmFuZ2UsIG5yX3JhbmdlLCBzaXplb2Yoc3RydWN0IHJlc19yYW5nZSksIGNtcF9yYW5nZSwgTlVMTCk7CisJaWYgIChkZWJ1Z19wcmludCkgeworCQlwcmludGsoS0VSTl9ERUJVRyAiQWZ0ZXIgc29ydGluZ1xuIik7CisJCWZvciAoaSA9IDA7IGkgPCBucl9yYW5nZTsgaSsrKQorCQkJcHJpbnRrKEtFUk5fREVCVUcgIk1UUlIgTUFQIFBGTjogJTAxNmx4IC0gJTAxNmx4XG4iLAorCQkJCSByYW5nZVtpXS5zdGFydCwgcmFuZ2VbaV0uZW5kICsgMSk7CisJfQorCisJLyogY2xlYXIgdGhvc2UgaXMgbm90IHVzZWQgKi8KKwlmb3IgKGkgPSBucl9yYW5nZTsgaSA8IFJBTkdFX05VTTsgaSsrKQorCQltZW1zZXQoJnJhbmdlW2ldLCAwLCBzaXplb2YocmFuZ2VbaV0pKTsKKworCXJldHVybiBucl9yYW5nZTsKK30KKworc3RhdGljIHN0cnVjdCByZXNfcmFuZ2UgX19pbml0ZGF0YSByYW5nZVtSQU5HRV9OVU1dOworCisjaWZkZWYgQ09ORklHX01UUlJfU0FOSVRJWkVSCisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9faW5pdCBzdW1fcmFuZ2VzKHN0cnVjdCByZXNfcmFuZ2UgKnJhbmdlLCBpbnQgbnJfcmFuZ2UpCit7CisJdW5zaWduZWQgbG9uZyBzdW07CisJaW50IGk7CisKKwlzdW0gPSAwOworCWZvciAoaSA9IDA7IGkgPCBucl9yYW5nZTsgaSsrKQorCQlzdW0gKz0gcmFuZ2VbaV0uZW5kICsgMSAtIHJhbmdlW2ldLnN0YXJ0OworCisJcmV0dXJuIHN1bTsKK30KKworc3RhdGljIGludCBlbmFibGVfbXRycl9jbGVhbnVwIF9faW5pdGRhdGEgPQorCUNPTkZJR19NVFJSX1NBTklUSVpFUl9FTkFCTEVfREVGQVVMVDsKKworc3RhdGljIGludCBfX2luaXQgZGlzYWJsZV9tdHJyX2NsZWFudXBfc2V0dXAoY2hhciAqc3RyKQoreworCWlmIChlbmFibGVfbXRycl9jbGVhbnVwICE9IC0xKQorCQllbmFibGVfbXRycl9jbGVhbnVwID0gMDsKKwlyZXR1cm4gMDsKK30KK2Vhcmx5X3BhcmFtKCJkaXNhYmxlX210cnJfY2xlYW51cCIsIGRpc2FibGVfbXRycl9jbGVhbnVwX3NldHVwKTsKKworc3RhdGljIGludCBfX2luaXQgZW5hYmxlX210cnJfY2xlYW51cF9zZXR1cChjaGFyICpzdHIpCit7CisJaWYgKGVuYWJsZV9tdHJyX2NsZWFudXAgIT0gLTEpCisJCWVuYWJsZV9tdHJyX2NsZWFudXAgPSAxOworCXJldHVybiAwOworfQorZWFybHlfcGFyYW0oImVuYmxlX210cnJfY2xlYW51cCIsIGVuYWJsZV9tdHJyX2NsZWFudXBfc2V0dXApOworCitzdHJ1Y3QgdmFyX210cnJfc3RhdGUgeworCXVuc2lnbmVkIGxvbmcJcmFuZ2Vfc3RhcnRrOworCXVuc2lnbmVkIGxvbmcJcmFuZ2Vfc2l6ZWs7CisJdW5zaWduZWQgbG9uZwljaHVua19zaXplazsKKwl1bnNpZ25lZCBsb25nCWdyYW5fc2l6ZWs7CisJdW5zaWduZWQgaW50CXJlZzsKK307CisKK3N0YXRpYyB2b2lkIF9faW5pdAorc2V0X3Zhcl9tdHJyKHVuc2lnbmVkIGludCByZWcsIHVuc2lnbmVkIGxvbmcgYmFzZWssIHVuc2lnbmVkIGxvbmcgc2l6ZWssCisJCXVuc2lnbmVkIGNoYXIgdHlwZSwgdW5zaWduZWQgaW50IGFkZHJlc3NfYml0cykKK3sKKwl1MzIgYmFzZV9sbywgYmFzZV9oaSwgbWFza19sbywgbWFza19oaTsKKwl1NjQgYmFzZSwgbWFzazsKKworCWlmICghc2l6ZWspIHsKKwkJZmlsbF9tdHJyX3Zhcl9yYW5nZShyZWcsIDAsIDAsIDAsIDApOworCQlyZXR1cm47CisJfQorCisJbWFzayA9ICgxVUxMIDw8IGFkZHJlc3NfYml0cykgLSAxOworCW1hc2sgJj0gfigoKCh1NjQpc2l6ZWspIDw8IDEwKSAtIDEpOworCisJYmFzZSAgPSAoKHU2NCliYXNlaykgPDwgMTA7CisKKwliYXNlIHw9IHR5cGU7CisJbWFzayB8PSAweDgwMDsKKworCWJhc2VfbG8gPSBiYXNlICYgKCgxVUxMPDwzMikgLSAxKTsKKwliYXNlX2hpID0gYmFzZSA+PiAzMjsKKworCW1hc2tfbG8gPSBtYXNrICYgKCgxVUxMPDwzMikgLSAxKTsKKwltYXNrX2hpID0gbWFzayA+PiAzMjsKKworCWZpbGxfbXRycl92YXJfcmFuZ2UocmVnLCBiYXNlX2xvLCBiYXNlX2hpLCBtYXNrX2xvLCBtYXNrX2hpKTsKK30KKworc3RhdGljIHZvaWQgX19pbml0CitzYXZlX3Zhcl9tdHJyKHVuc2lnbmVkIGludCByZWcsIHVuc2lnbmVkIGxvbmcgYmFzZWssIHVuc2lnbmVkIGxvbmcgc2l6ZWssCisJCXVuc2lnbmVkIGNoYXIgdHlwZSkKK3sKKwlyYW5nZV9zdGF0ZVtyZWddLmJhc2VfcGZuID0gYmFzZWsgPj4gKFBBR0VfU0hJRlQgLSAxMCk7CisJcmFuZ2Vfc3RhdGVbcmVnXS5zaXplX3BmbiA9IHNpemVrID4+IChQQUdFX1NISUZUIC0gMTApOworCXJhbmdlX3N0YXRlW3JlZ10udHlwZSA9IHR5cGU7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdAorc2V0X3Zhcl9tdHJyX2FsbCh1bnNpZ25lZCBpbnQgYWRkcmVzc19iaXRzKQoreworCXVuc2lnbmVkIGxvbmcgYmFzZWssIHNpemVrOworCXVuc2lnbmVkIGNoYXIgdHlwZTsKKwl1bnNpZ25lZCBpbnQgcmVnOworCisJZm9yIChyZWcgPSAwOyByZWcgPCBudW1fdmFyX3JhbmdlczsgcmVnKyspIHsKKwkJYmFzZWsgPSByYW5nZV9zdGF0ZVtyZWddLmJhc2VfcGZuIDw8IChQQUdFX1NISUZUIC0gMTApOworCQlzaXplayA9IHJhbmdlX3N0YXRlW3JlZ10uc2l6ZV9wZm4gPDwgKFBBR0VfU0hJRlQgLSAxMCk7CisJCXR5cGUgPSByYW5nZV9zdGF0ZVtyZWddLnR5cGU7CisKKwkJc2V0X3Zhcl9tdHJyKHJlZywgYmFzZWssIHNpemVrLCB0eXBlLCBhZGRyZXNzX2JpdHMpOworCX0KK30KKworc3RhdGljIHVuc2lnbmVkIGludCBfX2luaXQKK3JhbmdlX3RvX210cnIodW5zaWduZWQgaW50IHJlZywgdW5zaWduZWQgbG9uZyByYW5nZV9zdGFydGssCisJICAgICAgdW5zaWduZWQgbG9uZyByYW5nZV9zaXplaywgdW5zaWduZWQgY2hhciB0eXBlKQoreworCWlmICghcmFuZ2Vfc2l6ZWsgfHwgKHJlZyA+PSBudW1fdmFyX3JhbmdlcykpCisJCXJldHVybiByZWc7CisKKwl3aGlsZSAocmFuZ2Vfc2l6ZWspIHsKKwkJdW5zaWduZWQgbG9uZyBtYXhfYWxpZ24sIGFsaWduOworCQl1bnNpZ25lZCBsb25nIHNpemVrOworCisJCS8qIENvbXB1dGUgdGhlIG1heGltdW0gc2l6ZSBJIGNhbiBtYWtlIGEgcmFuZ2UgKi8KKwkJaWYgKHJhbmdlX3N0YXJ0aykKKwkJCW1heF9hbGlnbiA9IGZmcyhyYW5nZV9zdGFydGspIC0gMTsKKwkJZWxzZQorCQkJbWF4X2FsaWduID0gMzI7CisJCWFsaWduID0gZmxzKHJhbmdlX3NpemVrKSAtIDE7CisJCWlmIChhbGlnbiA+IG1heF9hbGlnbikKKwkJCWFsaWduID0gbWF4X2FsaWduOworCisJCXNpemVrID0gMSA8PCBhbGlnbjsKKwkJaWYgKGRlYnVnX3ByaW50KQorCQkJcHJpbnRrKEtFUk5fREVCVUcgIlNldHRpbmcgdmFyaWFibGUgTVRSUiAlZCwgIgorCQkJCSJiYXNlOiAlbGRNQiwgcmFuZ2U6ICVsZE1CLCB0eXBlICVzXG4iLAorCQkJCXJlZywgcmFuZ2Vfc3RhcnRrID4+IDEwLCBzaXplayA+PiAxMCwKKwkJCQkodHlwZSA9PSBNVFJSX1RZUEVfVU5DQUNIQUJMRSk/IlVDIjoKKwkJCQkgICAgKCh0eXBlID09IE1UUlJfVFlQRV9XUkJBQ0spPyJXQiI6Ik90aGVyIikKKwkJCQkpOworCQlzYXZlX3Zhcl9tdHJyKHJlZysrLCByYW5nZV9zdGFydGssIHNpemVrLCB0eXBlKTsKKwkJcmFuZ2Vfc3RhcnRrICs9IHNpemVrOworCQlyYW5nZV9zaXplayAtPSBzaXplazsKKwkJaWYgKHJlZyA+PSBudW1fdmFyX3JhbmdlcykKKwkJCWJyZWFrOworCX0KKwlyZXR1cm4gcmVnOworfQorCitzdGF0aWMgdW5zaWduZWQgX19pbml0CityYW5nZV90b19tdHJyX3dpdGhfaG9sZShzdHJ1Y3QgdmFyX210cnJfc3RhdGUgKnN0YXRlLCB1bnNpZ25lZCBsb25nIGJhc2VrLAorCQkJdW5zaWduZWQgbG9uZyBzaXplaykKK3sKKwl1bnNpZ25lZCBsb25nIGhvbGVfYmFzZWssIGhvbGVfc2l6ZWs7CisJdW5zaWduZWQgbG9uZyBzZWNvbmRfYmFzZWssIHNlY29uZF9zaXplazsKKwl1bnNpZ25lZCBsb25nIHJhbmdlMF9iYXNlaywgcmFuZ2UwX3NpemVrOworCXVuc2lnbmVkIGxvbmcgcmFuZ2VfYmFzZWssIHJhbmdlX3NpemVrOworCXVuc2lnbmVkIGxvbmcgY2h1bmtfc2l6ZWs7CisJdW5zaWduZWQgbG9uZyBncmFuX3NpemVrOworCisJaG9sZV9iYXNlayA9IDA7CisJaG9sZV9zaXplayA9IDA7CisJc2Vjb25kX2Jhc2VrID0gMDsKKwlzZWNvbmRfc2l6ZWsgPSAwOworCWNodW5rX3NpemVrID0gc3RhdGUtPmNodW5rX3NpemVrOworCWdyYW5fc2l6ZWsgPSBzdGF0ZS0+Z3Jhbl9zaXplazsKKworCS8qIGFsaWduIHdpdGggZ3JhbiBzaXplLCBwcmV2ZW50IHNtYWxsIGJsb2NrIHVzZWQgdXAgTVRSUnMgKi8KKwlyYW5nZV9iYXNlayA9IEFMSUdOKHN0YXRlLT5yYW5nZV9zdGFydGssIGdyYW5fc2l6ZWspOworCWlmICgocmFuZ2VfYmFzZWsgPiBiYXNlaykgJiYgYmFzZWspCisJCXJldHVybiBzZWNvbmRfc2l6ZWs7CisJc3RhdGUtPnJhbmdlX3NpemVrIC09IChyYW5nZV9iYXNlayAtIHN0YXRlLT5yYW5nZV9zdGFydGspOworCXJhbmdlX3NpemVrID0gQUxJR04oc3RhdGUtPnJhbmdlX3NpemVrLCBncmFuX3NpemVrKTsKKworCXdoaWxlIChyYW5nZV9zaXplayA+IHN0YXRlLT5yYW5nZV9zaXplaykgeworCQlyYW5nZV9zaXplayAtPSBncmFuX3NpemVrOworCQlpZiAoIXJhbmdlX3NpemVrKQorCQkJcmV0dXJuIDA7CisJfQorCXN0YXRlLT5yYW5nZV9zaXplayA9IHJhbmdlX3NpemVrOworCisJLyogdHJ5IHRvIGFwcGVuZCBzb21lIHNtYWxsIGhvbGUgKi8KKwlyYW5nZTBfYmFzZWsgPSBzdGF0ZS0+cmFuZ2Vfc3RhcnRrOworCXJhbmdlMF9zaXplayA9IEFMSUdOKHN0YXRlLT5yYW5nZV9zaXplaywgY2h1bmtfc2l6ZWspOworCWlmIChyYW5nZTBfc2l6ZWsgPT0gc3RhdGUtPnJhbmdlX3NpemVrKSB7CisJCWlmIChkZWJ1Z19wcmludCkKKwkJCXByaW50ayhLRVJOX0RFQlVHICJyYW5nZVg6ICUwMTZseCAtICUwMTZseFxuIiwKKwkJCQlyYW5nZTBfYmFzZWs8PDEwLAorCQkJCShyYW5nZTBfYmFzZWsgKyBzdGF0ZS0+cmFuZ2Vfc2l6ZWspPDwxMCk7CisJCXN0YXRlLT5yZWcgPSByYW5nZV90b19tdHJyKHN0YXRlLT5yZWcsIHJhbmdlMF9iYXNlaywKKwkJCQlzdGF0ZS0+cmFuZ2Vfc2l6ZWssIE1UUlJfVFlQRV9XUkJBQ0spOworCQlyZXR1cm4gMDsKKwl9CisKKwlyYW5nZTBfc2l6ZWsgLT0gY2h1bmtfc2l6ZWs7CisJaWYgKHJhbmdlMF9zaXplayAmJiBzaXplaykgeworCSAgICB3aGlsZSAocmFuZ2UwX2Jhc2VrICsgcmFuZ2UwX3NpemVrID4gKGJhc2VrICsgc2l6ZWspKSB7CisJCXJhbmdlMF9zaXplayAtPSBjaHVua19zaXplazsKKwkJaWYgKCFyYW5nZTBfc2l6ZWspCisJCQlicmVhazsKKwkgICAgfQorCX0KKworCWlmIChyYW5nZTBfc2l6ZWspIHsKKwkJaWYgKGRlYnVnX3ByaW50KQorCQkJcHJpbnRrKEtFUk5fREVCVUcgInJhbmdlMDogJTAxNmx4IC0gJTAxNmx4XG4iLAorCQkJCXJhbmdlMF9iYXNlazw8MTAsCisJCQkJKHJhbmdlMF9iYXNlayArIHJhbmdlMF9zaXplayk8PDEwKTsKKwkJc3RhdGUtPnJlZyA9IHJhbmdlX3RvX210cnIoc3RhdGUtPnJlZywgcmFuZ2UwX2Jhc2VrLAorCQkJCXJhbmdlMF9zaXplaywgTVRSUl9UWVBFX1dSQkFDSyk7CisKKwl9CisKKwlyYW5nZV9iYXNlayA9IHJhbmdlMF9iYXNlayArIHJhbmdlMF9zaXplazsKKwlyYW5nZV9zaXplayA9IGNodW5rX3NpemVrOworCisJaWYgKHJhbmdlX2Jhc2VrICsgcmFuZ2Vfc2l6ZWsgPiBiYXNlayAmJgorCSAgICByYW5nZV9iYXNlayArIHJhbmdlX3NpemVrIDw9IChiYXNlayArIHNpemVrKSkgeworCQkvKiBvbmUgaG9sZSAqLworCQlzZWNvbmRfYmFzZWsgPSBiYXNlazsKKwkJc2Vjb25kX3NpemVrID0gcmFuZ2VfYmFzZWsgKyByYW5nZV9zaXplayAtIGJhc2VrOworCX0KKworCS8qIGlmIGxhc3QgcGllY2UsIG9ubHkgY291bGQgb25lIGhvbGUgbmVhciBlbmQgKi8KKwlpZiAoKHNlY29uZF9iYXNlayB8fCAhYmFzZWspICYmCisJICAgIHJhbmdlX3NpemVrIC0gKHN0YXRlLT5yYW5nZV9zaXplayAtIHJhbmdlMF9zaXplaykgLSBzZWNvbmRfc2l6ZWsgPAorCSAgICAoY2h1bmtfc2l6ZWsgPj4gMSkpIHsKKwkJLyoKKwkJICogb25lIGhvbGUgaW4gbWlkZGxlIChzZWNvbmRfc2l6ZWsgaXMgMCkgb3IgYXQgZW5kCisJCSAqIChzZWNvbmRfc2l6ZWsgaXMgMCApCisJCSAqLworCQlob2xlX3NpemVrID0gcmFuZ2Vfc2l6ZWsgLSAoc3RhdGUtPnJhbmdlX3NpemVrIC0gcmFuZ2UwX3NpemVrKQorCQkJCSAtIHNlY29uZF9zaXplazsKKwkJaG9sZV9iYXNlayA9IHJhbmdlX2Jhc2VrICsgcmFuZ2Vfc2l6ZWsgLSBob2xlX3NpemVrCisJCQkJIC0gc2Vjb25kX3NpemVrOworCX0gZWxzZSB7CisJCS8qIGZhbGxiYWNrIGZvciBiaWcgaG9sZSwgb3Igc2V2ZXJhbCBob2xlcyAqLworCQlyYW5nZV9zaXplayA9IHN0YXRlLT5yYW5nZV9zaXplayAtIHJhbmdlMF9zaXplazsKKwkJc2Vjb25kX2Jhc2VrID0gMDsKKwkJc2Vjb25kX3NpemVrID0gMDsKKwl9CisKKwlpZiAoZGVidWdfcHJpbnQpCisJCXByaW50ayhLRVJOX0RFQlVHICJyYW5nZTogJTAxNmx4IC0gJTAxNmx4XG4iLCByYW5nZV9iYXNlazw8MTAsCisJCQkgKHJhbmdlX2Jhc2VrICsgcmFuZ2Vfc2l6ZWspPDwxMCk7CisJc3RhdGUtPnJlZyA9IHJhbmdlX3RvX210cnIoc3RhdGUtPnJlZywgcmFuZ2VfYmFzZWssIHJhbmdlX3NpemVrLAorCQkJCQkgTVRSUl9UWVBFX1dSQkFDSyk7CisJaWYgKGhvbGVfc2l6ZWspIHsKKwkJaWYgKGRlYnVnX3ByaW50KQorCQkJcHJpbnRrKEtFUk5fREVCVUcgImhvbGU6ICUwMTZseCAtICUwMTZseFxuIiwKKwkJCQkgaG9sZV9iYXNlazw8MTAsIChob2xlX2Jhc2VrICsgaG9sZV9zaXplayk8PDEwKTsKKwkJc3RhdGUtPnJlZyA9IHJhbmdlX3RvX210cnIoc3RhdGUtPnJlZywgaG9sZV9iYXNlaywgaG9sZV9zaXplaywKKwkJCQkJCSBNVFJSX1RZUEVfVU5DQUNIQUJMRSk7CisKKwl9CisKKwlyZXR1cm4gc2Vjb25kX3NpemVrOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQKK3NldF92YXJfbXRycl9yYW5nZShzdHJ1Y3QgdmFyX210cnJfc3RhdGUgKnN0YXRlLCB1bnNpZ25lZCBsb25nIGJhc2VfcGZuLAorCQkgICB1bnNpZ25lZCBsb25nIHNpemVfcGZuKQoreworCXVuc2lnbmVkIGxvbmcgYmFzZWssIHNpemVrOworCXVuc2lnbmVkIGxvbmcgc2Vjb25kX3NpemVrID0gMDsKKworCWlmIChzdGF0ZS0+cmVnID49IG51bV92YXJfcmFuZ2VzKQorCQlyZXR1cm47CisKKwliYXNlayA9IGJhc2VfcGZuIDw8IChQQUdFX1NISUZUIC0gMTApOworCXNpemVrID0gc2l6ZV9wZm4gPDwgKFBBR0VfU0hJRlQgLSAxMCk7CisKKwkvKiBTZWUgaWYgSSBjYW4gbWVyZ2Ugd2l0aCB0aGUgbGFzdCByYW5nZSAqLworCWlmICgoYmFzZWsgPD0gMTAyNCkgfHwKKwkgICAgKHN0YXRlLT5yYW5nZV9zdGFydGsgKyBzdGF0ZS0+cmFuZ2Vfc2l6ZWsgPT0gYmFzZWspKSB7CisJCXVuc2lnbmVkIGxvbmcgZW5kayA9IGJhc2VrICsgc2l6ZWs7CisJCXN0YXRlLT5yYW5nZV9zaXplayA9IGVuZGsgLSBzdGF0ZS0+cmFuZ2Vfc3RhcnRrOworCQlyZXR1cm47CisJfQorCS8qIFdyaXRlIHRoZSByYW5nZSBtdHJycyAqLworCWlmIChzdGF0ZS0+cmFuZ2Vfc2l6ZWsgIT0gMCkKKwkJc2Vjb25kX3NpemVrID0gcmFuZ2VfdG9fbXRycl93aXRoX2hvbGUoc3RhdGUsIGJhc2VrLCBzaXplayk7CisKKwkvKiBBbGxvY2F0ZSBhbiBtc3IgKi8KKwlzdGF0ZS0+cmFuZ2Vfc3RhcnRrID0gYmFzZWsgKyBzZWNvbmRfc2l6ZWs7CisJc3RhdGUtPnJhbmdlX3NpemVrICA9IHNpemVrIC0gc2Vjb25kX3NpemVrOworfQorCisvKiBtaW5pbnVtIHNpemUgb2YgbXRyciBibG9jayB0aGF0IGNhbiB0YWtlIGhvbGUgKi8KK3N0YXRpYyB1NjQgbXRycl9jaHVua19zaXplIF9faW5pdGRhdGEgPSAoMjU2VUxMPDwyMCk7CisKK3N0YXRpYyBpbnQgX19pbml0IHBhcnNlX210cnJfY2h1bmtfc2l6ZV9vcHQoY2hhciAqcCkKK3sKKwlpZiAoIXApCisJCXJldHVybiAtRUlOVkFMOworCW10cnJfY2h1bmtfc2l6ZSA9IG1lbXBhcnNlKHAsICZwKTsKKwlyZXR1cm4gMDsKK30KK2Vhcmx5X3BhcmFtKCJtdHJyX2NodW5rX3NpemUiLCBwYXJzZV9tdHJyX2NodW5rX3NpemVfb3B0KTsKKworLyogZ3Jhbml0eSBvZiBtdHJyIG9mIGJsb2NrICovCitzdGF0aWMgdTY0IG10cnJfZ3Jhbl9zaXplIF9faW5pdGRhdGE7CisKK3N0YXRpYyBpbnQgX19pbml0IHBhcnNlX210cnJfZ3Jhbl9zaXplX29wdChjaGFyICpwKQoreworCWlmICghcCkKKwkJcmV0dXJuIC1FSU5WQUw7CisJbXRycl9ncmFuX3NpemUgPSBtZW1wYXJzZShwLCAmcCk7CisJcmV0dXJuIDA7Cit9CitlYXJseV9wYXJhbSgibXRycl9ncmFuX3NpemUiLCBwYXJzZV9tdHJyX2dyYW5fc2l6ZV9vcHQpOworCitzdGF0aWMgaW50IG5yX210cnJfc3BhcmVfcmVnIF9faW5pdGRhdGEgPQorCQkJCSBDT05GSUdfTVRSUl9TQU5JVElaRVJfU1BBUkVfUkVHX05SX0RFRkFVTFQ7CisKK3N0YXRpYyBpbnQgX19pbml0IHBhcnNlX210cnJfc3BhcmVfcmVnKGNoYXIgKmFyZykKK3sKKwlpZiAoYXJnKQorCQlucl9tdHJyX3NwYXJlX3JlZyA9IHNpbXBsZV9zdHJ0b3VsKGFyZywgTlVMTCwgMCk7CisJcmV0dXJuIDA7Cit9CisKK2Vhcmx5X3BhcmFtKCJtdHJyX3NwYXJlX3JlZ19uciIsIHBhcnNlX210cnJfc3BhcmVfcmVnKTsKKworc3RhdGljIGludCBfX2luaXQKK3g4Nl9zZXR1cF92YXJfbXRycnMoc3RydWN0IHJlc19yYW5nZSAqcmFuZ2UsIGludCBucl9yYW5nZSwKKwkJICAgIHU2NCBjaHVua19zaXplLCB1NjQgZ3Jhbl9zaXplKQoreworCXN0cnVjdCB2YXJfbXRycl9zdGF0ZSB2YXJfc3RhdGU7CisJaW50IGk7CisJaW50IG51bV9yZWc7CisKKwl2YXJfc3RhdGUucmFuZ2Vfc3RhcnRrCT0gMDsKKwl2YXJfc3RhdGUucmFuZ2Vfc2l6ZWsJPSAwOworCXZhcl9zdGF0ZS5yZWcJCT0gMDsKKwl2YXJfc3RhdGUuY2h1bmtfc2l6ZWsJPSBjaHVua19zaXplID4+IDEwOworCXZhcl9zdGF0ZS5ncmFuX3NpemVrCT0gZ3Jhbl9zaXplID4+IDEwOworCisJbWVtc2V0KHJhbmdlX3N0YXRlLCAwLCBzaXplb2YocmFuZ2Vfc3RhdGUpKTsKKworCS8qIFdyaXRlIHRoZSByYW5nZSBldGMgKi8KKwlmb3IgKGkgPSAwOyBpIDwgbnJfcmFuZ2U7IGkrKykKKwkJc2V0X3Zhcl9tdHJyX3JhbmdlKCZ2YXJfc3RhdGUsIHJhbmdlW2ldLnN0YXJ0LAorCQkJCSAgIHJhbmdlW2ldLmVuZCAtIHJhbmdlW2ldLnN0YXJ0ICsgMSk7CisKKwkvKiBXcml0ZSB0aGUgbGFzdCByYW5nZSAqLworCWlmICh2YXJfc3RhdGUucmFuZ2Vfc2l6ZWsgIT0gMCkKKwkJcmFuZ2VfdG9fbXRycl93aXRoX2hvbGUoJnZhcl9zdGF0ZSwgMCwgMCk7CisKKwludW1fcmVnID0gdmFyX3N0YXRlLnJlZzsKKwkvKiBDbGVhciBvdXQgdGhlIGV4dHJhIE1UUlIncyAqLworCXdoaWxlICh2YXJfc3RhdGUucmVnIDwgbnVtX3Zhcl9yYW5nZXMpIHsKKwkJc2F2ZV92YXJfbXRycih2YXJfc3RhdGUucmVnLCAwLCAwLCAwKTsKKwkJdmFyX3N0YXRlLnJlZysrOworCX0KKworCXJldHVybiBudW1fcmVnOworfQorCitzdHJ1Y3QgbXRycl9jbGVhbnVwX3Jlc3VsdCB7CisJdW5zaWduZWQgbG9uZyBncmFuX3NpemVrOworCXVuc2lnbmVkIGxvbmcgY2h1bmtfc2l6ZWs7CisJdW5zaWduZWQgbG9uZyBsb3NlX2NvdmVyX3NpemVrOworCXVuc2lnbmVkIGludCBudW1fcmVnOworCWludCBiYWQ7Cit9OworCisvKgorICogZ3Jhbl9zaXplOiAxTSwgMk0sIC4uLiwgMkcKKyAqIGNodW5rIHNpemU6IGdyYW5fc2l6ZSwgLi4uLCA0RworICogc28gd2UgbmVlZCAoMisxMykqNgorICovCisjZGVmaW5lIE5VTV9SRVNVTFQJOTAKKyNkZWZpbmUgUFNISUZUCQkoUEFHRV9TSElGVCAtIDEwKQorCitzdGF0aWMgc3RydWN0IG10cnJfY2xlYW51cF9yZXN1bHQgX19pbml0ZGF0YSByZXN1bHRbTlVNX1JFU1VMVF07CitzdGF0aWMgc3RydWN0IHJlc19yYW5nZSBfX2luaXRkYXRhIHJhbmdlX25ld1tSQU5HRV9OVU1dOworc3RhdGljIHVuc2lnbmVkIGxvbmcgX19pbml0ZGF0YSBtaW5fbG9zc19wZm5bUkFOR0VfTlVNXTsKKworc3RhdGljIGludCBfX2luaXQgbXRycl9jbGVhbnVwKHVuc2lnbmVkIGFkZHJlc3NfYml0cykKK3sKKwl1bnNpZ25lZCBsb25nIGV4dHJhX3JlbW92ZV9iYXNlLCBleHRyYV9yZW1vdmVfc2l6ZTsKKwl1bnNpZ25lZCBsb25nIGksIGJhc2UsIHNpemUsIGRlZiwgZHVtbXk7CisJbXRycl90eXBlIHR5cGU7CisJaW50IG5yX3JhbmdlLCBucl9yYW5nZV9uZXc7CisJdTY0IGNodW5rX3NpemUsIGdyYW5fc2l6ZTsKKwl1bnNpZ25lZCBsb25nIHJhbmdlX3N1bXMsIHJhbmdlX3N1bXNfbmV3OworCWludCBpbmRleF9nb29kOworCWludCBudW1fcmVnX2dvb2Q7CisKKwkvKiBleHRyYSBvbmUgZm9yIGFsbCAwICovCisJaW50IG51bVtNVFJSX05VTV9UWVBFUyArIDFdOworCisJaWYgKCFpc19jcHUoSU5URUwpIHx8IGVuYWJsZV9tdHJyX2NsZWFudXAgPCAxKQorCQlyZXR1cm4gMDsKKwlyZG1zcihNVFJSZGVmVHlwZV9NU1IsIGRlZiwgZHVtbXkpOworCWRlZiAmPSAweGZmOworCWlmIChkZWYgIT0gTVRSUl9UWVBFX1VOQ0FDSEFCTEUpCisJCXJldHVybiAwOworCisJLyogZ2V0IGl0IGFuZCBzdG9yZSBpdCBhc2lkZSAqLworCW1lbXNldChyYW5nZV9zdGF0ZSwgMCwgc2l6ZW9mKHJhbmdlX3N0YXRlKSk7CisJZm9yIChpID0gMDsgaSA8IG51bV92YXJfcmFuZ2VzOyBpKyspIHsKKwkJbXRycl9pZi0+Z2V0KGksICZiYXNlLCAmc2l6ZSwgJnR5cGUpOworCQlyYW5nZV9zdGF0ZVtpXS5iYXNlX3BmbiA9IGJhc2U7CisJCXJhbmdlX3N0YXRlW2ldLnNpemVfcGZuID0gc2l6ZTsKKwkJcmFuZ2Vfc3RhdGVbaV0udHlwZSA9IHR5cGU7CisJfQorCisJLyogY2hlY2sgZW50cmllcyBudW1iZXIgKi8KKwltZW1zZXQobnVtLCAwLCBzaXplb2YobnVtKSk7CisJZm9yIChpID0gMDsgaSA8IG51bV92YXJfcmFuZ2VzOyBpKyspIHsKKwkJdHlwZSA9IHJhbmdlX3N0YXRlW2ldLnR5cGU7CisJCXNpemUgPSByYW5nZV9zdGF0ZVtpXS5zaXplX3BmbjsKKwkJaWYgKHR5cGUgPj0gTVRSUl9OVU1fVFlQRVMpCisJCQljb250aW51ZTsKKwkJaWYgKCFzaXplKQorCQkJdHlwZSA9IE1UUlJfTlVNX1RZUEVTOworCQludW1bdHlwZV0rKzsKKwl9CisKKwkvKiBjaGVjayBpZiB3ZSBnb3QgVUMgZW50cmllcyAqLworCWlmICghbnVtW01UUlJfVFlQRV9VTkNBQ0hBQkxFXSkKKwkJcmV0dXJuIDA7CisKKwkvKiBjaGVjayBpZiB3ZSBvbmx5IGhhZCBXQiBhbmQgVUMgKi8KKwlpZiAobnVtW01UUlJfVFlQRV9XUkJBQ0tdICsgbnVtW01UUlJfVFlQRV9VTkNBQ0hBQkxFXSAhPQorCQludW1fdmFyX3JhbmdlcyAtIG51bVtNVFJSX05VTV9UWVBFU10pCisJCXJldHVybiAwOworCisJbWVtc2V0KHJhbmdlLCAwLCBzaXplb2YocmFuZ2UpKTsKKwlleHRyYV9yZW1vdmVfc2l6ZSA9IDA7CisJaWYgKG10cnJfdG9tMikgeworCQlleHRyYV9yZW1vdmVfYmFzZSA9IDEgPDwgKDMyIC0gUEFHRV9TSElGVCk7CisJCWV4dHJhX3JlbW92ZV9zaXplID0KKwkJCShtdHJyX3RvbTIgPj4gUEFHRV9TSElGVCkgLSBleHRyYV9yZW1vdmVfYmFzZTsKKwl9CisJbnJfcmFuZ2UgPSB4ODZfZ2V0X210cnJfbWVtX3JhbmdlKHJhbmdlLCAwLCBleHRyYV9yZW1vdmVfYmFzZSwKKwkJCQkJICBleHRyYV9yZW1vdmVfc2l6ZSk7CisJcmFuZ2Vfc3VtcyA9IHN1bV9yYW5nZXMocmFuZ2UsIG5yX3JhbmdlKTsKKwlwcmludGsoS0VSTl9JTkZPICJ0b3RhbCBSQU0gY292ZXJyZWQ6ICVsZE1cbiIsCisJICAgICAgIHJhbmdlX3N1bXMgPj4gKDIwIC0gUEFHRV9TSElGVCkpOworCisJaWYgKG10cnJfY2h1bmtfc2l6ZSAmJiBtdHJyX2dyYW5fc2l6ZSkgeworCQlpbnQgbnVtX3JlZzsKKworCQlkZWJ1Z19wcmludCA9IDE7CisJCS8qIGNvbnZlcnQgcmFuZ2VzIHRvIHZhciByYW5nZXMgc3RhdGUgKi8KKwkJbnVtX3JlZyA9IHg4Nl9zZXR1cF92YXJfbXRycnMocmFuZ2UsIG5yX3JhbmdlLCBtdHJyX2NodW5rX3NpemUsCisJCQkJCSAgICAgIG10cnJfZ3Jhbl9zaXplKTsKKworCQkvKiB3ZSBnb3QgbmV3IHNldHRpbmcgaW4gcmFuZ2Vfc3RhdGUsIGNoZWNrIGl0ICovCisJCW1lbXNldChyYW5nZV9uZXcsIDAsIHNpemVvZihyYW5nZV9uZXcpKTsKKwkJbnJfcmFuZ2VfbmV3ID0geDg2X2dldF9tdHJyX21lbV9yYW5nZShyYW5nZV9uZXcsIDAsCisJCQkJCQkgICAgICBleHRyYV9yZW1vdmVfYmFzZSwKKwkJCQkJCSAgICAgIGV4dHJhX3JlbW92ZV9zaXplKTsKKwkJcmFuZ2Vfc3Vtc19uZXcgPSBzdW1fcmFuZ2VzKHJhbmdlX25ldywgbnJfcmFuZ2VfbmV3KTsKKworCQlpID0gMDsKKwkJcmVzdWx0W2ldLmNodW5rX3NpemVrID0gbXRycl9jaHVua19zaXplID4+IDEwOworCQlyZXN1bHRbaV0uZ3Jhbl9zaXplayA9IG10cnJfZ3Jhbl9zaXplID4+IDEwOworCQlyZXN1bHRbaV0ubnVtX3JlZyA9IG51bV9yZWc7CisJCWlmIChyYW5nZV9zdW1zIDwgcmFuZ2Vfc3Vtc19uZXcpIHsKKwkJCXJlc3VsdFtpXS5sb3NlX2NvdmVyX3NpemVrID0KKwkJCQkocmFuZ2Vfc3Vtc19uZXcgLSByYW5nZV9zdW1zKSA8PCBQU0hJRlQ7CisJCQlyZXN1bHRbaV0uYmFkID0gMTsKKwkJfSBlbHNlCisJCQlyZXN1bHRbaV0ubG9zZV9jb3Zlcl9zaXplayA9CisJCQkJKHJhbmdlX3N1bXMgLSByYW5nZV9zdW1zX25ldykgPDwgUFNISUZUOworCisJCXByaW50ayhLRVJOX0lORk8gIiVzZ3Jhbl9zaXplOiAlbGRNIFx0Y2h1bmtfc2l6ZTogJWxkTSBcdCIsCisJCQkgcmVzdWx0W2ldLmJhZD8iKkJBRCoiOiIgIiwgcmVzdWx0W2ldLmdyYW5fc2l6ZWsgPj4gMTAsCisJCQkgcmVzdWx0W2ldLmNodW5rX3NpemVrID4+IDEwKTsKKwkJcHJpbnRrKEtFUk5fQ09OVCAibnVtX3JlZzogJWQgIFx0bG9zZSBjb3ZlciBSQU06ICVzJWxkTSBcbiIsCisJCQkgcmVzdWx0W2ldLm51bV9yZWcsIHJlc3VsdFtpXS5iYWQ/Ii0iOiIiLAorCQkJIHJlc3VsdFtpXS5sb3NlX2NvdmVyX3NpemVrID4+IDEwKTsKKwkJaWYgKCFyZXN1bHRbaV0uYmFkKSB7CisJCQlzZXRfdmFyX210cnJfYWxsKGFkZHJlc3NfYml0cyk7CisJCQlyZXR1cm4gMTsKKwkJfQorCQlwcmludGsoS0VSTl9JTkZPICJpbnZhbGlkIG10cnJfZ3Jhbl9zaXplIG9yIG10cnJfY2h1bmtfc2l6ZSwgIgorCQkgICAgICAgIndpbGwgZmluZCBvcHRpbWFsIG9uZVxuIik7CisJCWRlYnVnX3ByaW50ID0gMDsKKwkJbWVtc2V0KHJlc3VsdCwgMCwgc2l6ZW9mKHJlc3VsdFswXSkpOworCX0KKworCWkgPSAwOworCW1lbXNldChtaW5fbG9zc19wZm4sIDB4ZmYsIHNpemVvZihtaW5fbG9zc19wZm4pKTsKKwltZW1zZXQocmVzdWx0LCAwLCBzaXplb2YocmVzdWx0KSk7CisJZm9yIChncmFuX3NpemUgPSAoMVVMTDw8MjApOyBncmFuX3NpemUgPCAoMVVMTDw8MzIpOyBncmFuX3NpemUgPDw9IDEpIHsKKwkJZm9yIChjaHVua19zaXplID0gZ3Jhbl9zaXplOyBjaHVua19zaXplIDwgKDFVTEw8PDMzKTsKKwkJICAgICBjaHVua19zaXplIDw8PSAxKSB7CisJCQlpbnQgbnVtX3JlZzsKKworCQkJaWYgKGRlYnVnX3ByaW50KQorCQkJCXByaW50ayhLRVJOX0lORk8KKwkJCSAgICAgICAiXG5ncmFuX3NpemU6ICVsbGRNICAgY2h1bmtfc2l6ZV9zaXplOiAlbGxkTVxuIiwKKwkJCQkgICAgICAgZ3Jhbl9zaXplID4+IDIwLCBjaHVua19zaXplID4+IDIwKTsKKwkJCWlmIChpID49IE5VTV9SRVNVTFQpCisJCQkJY29udGludWU7CisKKwkJCS8qIGNvbnZlcnQgcmFuZ2VzIHRvIHZhciByYW5nZXMgc3RhdGUgKi8KKwkJCW51bV9yZWcgPSB4ODZfc2V0dXBfdmFyX210cnJzKHJhbmdlLCBucl9yYW5nZSwKKwkJCQkJCQkgY2h1bmtfc2l6ZSwgZ3Jhbl9zaXplKTsKKworCQkJLyogd2UgZ290IG5ldyBzZXR0aW5nIGluIHJhbmdlX3N0YXRlLCBjaGVjayBpdCAqLworCQkJbWVtc2V0KHJhbmdlX25ldywgMCwgc2l6ZW9mKHJhbmdlX25ldykpOworCQkJbnJfcmFuZ2VfbmV3ID0geDg2X2dldF9tdHJyX21lbV9yYW5nZShyYW5nZV9uZXcsIDAsCisJCQkJCSBleHRyYV9yZW1vdmVfYmFzZSwgZXh0cmFfcmVtb3ZlX3NpemUpOworCQkJcmFuZ2Vfc3Vtc19uZXcgPSBzdW1fcmFuZ2VzKHJhbmdlX25ldywgbnJfcmFuZ2VfbmV3KTsKKworCQkJcmVzdWx0W2ldLmNodW5rX3NpemVrID0gY2h1bmtfc2l6ZSA+PiAxMDsKKwkJCXJlc3VsdFtpXS5ncmFuX3NpemVrID0gZ3Jhbl9zaXplID4+IDEwOworCQkJcmVzdWx0W2ldLm51bV9yZWcgPSBudW1fcmVnOworCQkJaWYgKHJhbmdlX3N1bXMgPCByYW5nZV9zdW1zX25ldykgeworCQkJCXJlc3VsdFtpXS5sb3NlX2NvdmVyX3NpemVrID0KKwkJCQkJKHJhbmdlX3N1bXNfbmV3IC0gcmFuZ2Vfc3VtcykgPDwgUFNISUZUOworCQkJCXJlc3VsdFtpXS5iYWQgPSAxOworCQkJfSBlbHNlCisJCQkJcmVzdWx0W2ldLmxvc2VfY292ZXJfc2l6ZWsgPQorCQkJCQkocmFuZ2Vfc3VtcyAtIHJhbmdlX3N1bXNfbmV3KSA8PCBQU0hJRlQ7CisKKwkJCS8qIGRvdWJsZSBjaGVjayBpdCAqLworCQkJaWYgKCFyZXN1bHRbaV0uYmFkICYmICFyZXN1bHRbaV0ubG9zZV9jb3Zlcl9zaXplaykgeworCQkJCWlmIChucl9yYW5nZV9uZXcgIT0gbnJfcmFuZ2UgfHwKKwkJCQkJbWVtY21wKHJhbmdlLCByYW5nZV9uZXcsIHNpemVvZihyYW5nZSkpKQorCQkJCQkJcmVzdWx0W2ldLmJhZCA9IDE7CisJCQl9CisKKwkJCWlmICghcmVzdWx0W2ldLmJhZCAmJiAocmFuZ2Vfc3VtcyAtIHJhbmdlX3N1bXNfbmV3IDwKKwkJCQkJICAgICAgIG1pbl9sb3NzX3BmbltudW1fcmVnXSkpIHsKKwkJCQltaW5fbG9zc19wZm5bbnVtX3JlZ10gPQorCQkJCQlyYW5nZV9zdW1zIC0gcmFuZ2Vfc3Vtc19uZXc7CisJCQl9CisJCQlpKys7CisJCX0KKwl9CisKKwkvKiBwcmludCBvdXQgYWxsICovCisJZm9yIChpID0gMDsgaSA8IE5VTV9SRVNVTFQ7IGkrKykgeworCQlwcmludGsoS0VSTl9JTkZPICIlc2dyYW5fc2l6ZTogJWxkTSBcdGNodW5rX3NpemU6ICVsZE0gXHQiLAorCQkgICAgICAgcmVzdWx0W2ldLmJhZD8iKkJBRCogIjoiICIsIHJlc3VsdFtpXS5ncmFuX3NpemVrID4+IDEwLAorCQkgICAgICAgcmVzdWx0W2ldLmNodW5rX3NpemVrID4+IDEwKTsKKwkJcHJpbnRrKEtFUk5fQ09OVCAibnVtX3JlZzogJWQgXHRsb3NlIFJBTTogJXMlbGRNXG4iLAorCQkgICAgICAgcmVzdWx0W2ldLm51bV9yZWcsIHJlc3VsdFtpXS5iYWQ/Ii0iOiIiLAorCQkgICAgICAgcmVzdWx0W2ldLmxvc2VfY292ZXJfc2l6ZWsgPj4gMTApOworCX0KKworCS8qIHRyeSB0byBmaW5kIHRoZSBvcHRpbWFsIGluZGV4ICovCisJaWYgKG5yX210cnJfc3BhcmVfcmVnID49IG51bV92YXJfcmFuZ2VzKQorCQlucl9tdHJyX3NwYXJlX3JlZyA9IG51bV92YXJfcmFuZ2VzIC0gMTsKKwludW1fcmVnX2dvb2QgPSAtMTsKKwlmb3IgKGkgPSBudW1fdmFyX3JhbmdlcyAtIG5yX210cnJfc3BhcmVfcmVnOyBpID4gMDsgaS0tKSB7CisJCWlmICghbWluX2xvc3NfcGZuW2ldKSB7CisJCQludW1fcmVnX2dvb2QgPSBpOworCQkJYnJlYWs7CisJCX0KKwl9CisKKwlpbmRleF9nb29kID0gLTE7CisJaWYgKG51bV9yZWdfZ29vZCAhPSAtMSkgeworCQlmb3IgKGkgPSAwOyBpIDwgTlVNX1JFU1VMVDsgaSsrKSB7CisJCQlpZiAoIXJlc3VsdFtpXS5iYWQgJiYKKwkJCSAgICByZXN1bHRbaV0ubnVtX3JlZyA9PSBudW1fcmVnX2dvb2QgJiYKKwkJCSAgICAhcmVzdWx0W2ldLmxvc2VfY292ZXJfc2l6ZWspIHsKKwkJCQlpbmRleF9nb29kID0gaTsKKwkJCQlicmVhazsKKwkJCX0KKwkJfQorCX0KKworCWlmIChpbmRleF9nb29kICE9IC0xKSB7CisJCXByaW50ayhLRVJOX0lORk8gIkZvdW5kIG9wdGltYWwgc2V0dGluZyBmb3IgbXRyciBjbGVhbiB1cFxuIik7CisJCWkgPSBpbmRleF9nb29kOworCQlwcmludGsoS0VSTl9JTkZPICJncmFuX3NpemU6ICVsZE0gXHRjaHVua19zaXplOiAlbGRNIFx0IiwKKwkJCQlyZXN1bHRbaV0uZ3Jhbl9zaXplayA+PiAxMCwKKwkJCQlyZXN1bHRbaV0uY2h1bmtfc2l6ZWsgPj4gMTApOworCQlwcmludGsoS0VSTl9DT05UICJudW1fcmVnOiAlZCBcdGxvc2UgUkFNOiAlbGRNXG4iLAorCQkJCXJlc3VsdFtpXS5udW1fcmVnLAorCQkJCXJlc3VsdFtpXS5sb3NlX2NvdmVyX3NpemVrID4+IDEwKTsKKwkJLyogY29udmVydCByYW5nZXMgdG8gdmFyIHJhbmdlcyBzdGF0ZSAqLworCQljaHVua19zaXplID0gcmVzdWx0W2ldLmNodW5rX3NpemVrOworCQljaHVua19zaXplIDw8PSAxMDsKKwkJZ3Jhbl9zaXplID0gcmVzdWx0W2ldLmdyYW5fc2l6ZWs7CisJCWdyYW5fc2l6ZSA8PD0gMTA7CisJCWRlYnVnX3ByaW50ID0gMTsKKwkJeDg2X3NldHVwX3Zhcl9tdHJycyhyYW5nZSwgbnJfcmFuZ2UsIGNodW5rX3NpemUsIGdyYW5fc2l6ZSk7CisJCXNldF92YXJfbXRycl9hbGwoYWRkcmVzc19iaXRzKTsKKwkJcmV0dXJuIDE7CisJfQorCisJcHJpbnRrKEtFUk5fSU5GTyAibXRycl9jbGVhbnVwOiBjYW4gbm90IGZpbmQgb3B0aW1hbCB2YWx1ZVxuIik7CisJcHJpbnRrKEtFUk5fSU5GTyAicGxlYXNlIHNwZWNpZnkgbXRycl9ncmFuX3NpemUvbXRycl9jaHVua19zaXplXG4iKTsKKworCXJldHVybiAwOworfQorI2Vsc2UKK3N0YXRpYyBpbnQgX19pbml0IG10cnJfY2xlYW51cCh1bnNpZ25lZCBhZGRyZXNzX2JpdHMpCit7CisJcmV0dXJuIDA7Cit9CisjZW5kaWYKKworc3RhdGljIGludCBfX2luaXRkYXRhIGNoYW5nZWRfYnlfbXRycl9jbGVhbnVwOworCiBzdGF0aWMgaW50IGRpc2FibGVfbXRycl90cmltOwogCiBzdGF0aWMgaW50IF9faW5pdCBkaXNhYmxlX210cnJfdHJpbV9zZXR1cChjaGFyICpzdHIpCkBAIC02NDgsNiArMTQzMCwxOSBAQAogCXJldHVybiAwOwogfQogCitzdGF0aWMgdTY0IF9faW5pdCByZWFsX3RyaW1fbWVtb3J5KHVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuLAorCQkJCSAgIHVuc2lnbmVkIGxvbmcgbGltaXRfcGZuKQoreworCXU2NCB0cmltX3N0YXJ0LCB0cmltX3NpemU7CisJdHJpbV9zdGFydCA9IHN0YXJ0X3BmbjsKKwl0cmltX3N0YXJ0IDw8PSBQQUdFX1NISUZUOworCXRyaW1fc2l6ZSA9IGxpbWl0X3BmbjsKKwl0cmltX3NpemUgPDw9IFBBR0VfU0hJRlQ7CisJdHJpbV9zaXplIC09IHRyaW1fc3RhcnQ7CisKKwlyZXR1cm4gZTgyMF91cGRhdGVfcmFuZ2UodHJpbV9zdGFydCwgdHJpbV9zaXplLCBFODIwX1JBTSwKKwkJCQlFODIwX1JFU0VSVkVEKTsKK30KIC8qKgogICogbXRycl90cmltX3VuY2FjaGVkX21lbW9yeSAtIHRyaW0gUkFNIG5vdCBjb3ZlcmVkIGJ5IE1UUlJzCiAgKiBAZW5kX3BmbjogZW5kaW5nIHBhZ2UgZnJhbWUgbnVtYmVyCkBAIC02NjMsOCArMTQ1OCwxMSBAQAogewogCXVuc2lnbmVkIGxvbmcgaSwgYmFzZSwgc2l6ZSwgaGlnaGVzdF9wZm4gPSAwLCBkZWYsIGR1bW15OwogCW10cnJfdHlwZSB0eXBlOwotCXU2NCB0cmltX3N0YXJ0LCB0cmltX3NpemU7CisJaW50IG5yX3JhbmdlOworCXU2NCB0b3RhbF90cmltX3NpemU7CiAKKwkvKiBleHRyYSBvbmUgZm9yIGFsbCAwICovCisJaW50IG51bVtNVFJSX05VTV9UWVBFUyArIDFdOwogCS8qCiAJICogTWFrZSBzdXJlIHdlIG9ubHkgdHJpbSB1bmNhY2hhYmxlIG1lbW9yeSBvbiBtYWNoaW5lcyB0aGF0CiAJICogc3VwcG9ydCB0aGUgSW50ZWwgTVRSUiBhcmNoaXRlY3R1cmU6CkBAIC02NzYsMTQgKzE0NzQsMjIgQEAKIAlpZiAoZGVmICE9IE1UUlJfVFlQRV9VTkNBQ0hBQkxFKQogCQlyZXR1cm4gMDsKIAotCWlmIChhbWRfc3BlY2lhbF9kZWZhdWx0X210cnIoKSkKLQkJcmV0dXJuIDA7CisJLyogZ2V0IGl0IGFuZCBzdG9yZSBpdCBhc2lkZSAqLworCW1lbXNldChyYW5nZV9zdGF0ZSwgMCwgc2l6ZW9mKHJhbmdlX3N0YXRlKSk7CisJZm9yIChpID0gMDsgaSA8IG51bV92YXJfcmFuZ2VzOyBpKyspIHsKKwkJbXRycl9pZi0+Z2V0KGksICZiYXNlLCAmc2l6ZSwgJnR5cGUpOworCQlyYW5nZV9zdGF0ZVtpXS5iYXNlX3BmbiA9IGJhc2U7CisJCXJhbmdlX3N0YXRlW2ldLnNpemVfcGZuID0gc2l6ZTsKKwkJcmFuZ2Vfc3RhdGVbaV0udHlwZSA9IHR5cGU7CisJfQogCiAJLyogRmluZCBoaWdoZXN0IGNhY2hlZCBwZm4gKi8KIAlmb3IgKGkgPSAwOyBpIDwgbnVtX3Zhcl9yYW5nZXM7IGkrKykgewotCQltdHJyX2lmLT5nZXQoaSwgJmJhc2UsICZzaXplLCAmdHlwZSk7CisJCXR5cGUgPSByYW5nZV9zdGF0ZVtpXS50eXBlOwogCQlpZiAodHlwZSAhPSBNVFJSX1RZUEVfV1JCQUNLKQogCQkJY29udGludWU7CisJCWJhc2UgPSByYW5nZV9zdGF0ZVtpXS5iYXNlX3BmbjsKKwkJc2l6ZSA9IHJhbmdlX3N0YXRlW2ldLnNpemVfcGZuOwogCQlpZiAoaGlnaGVzdF9wZm4gPCBiYXNlICsgc2l6ZSkKIAkJCWhpZ2hlc3RfcGZuID0gYmFzZSArIHNpemU7CiAJfQpAQCAtNjk4LDIyICsxNTA0LDY1IEBACiAJCXJldHVybiAwOwogCX0KIAotCWlmIChoaWdoZXN0X3BmbiA8IGVuZF9wZm4pIHsKLQkJcHJpbnRrKEtFUk5fV0FSTklORyAiV0FSTklORzogQklPUyBidWc6IENQVSBNVFJScyBkb24ndCBjb3ZlciIKLQkJCSIgYWxsIG9mIG1lbW9yeSwgbG9zaW5nICVsdU1CIG9mIFJBTS5cbiIsCi0JCQkoZW5kX3BmbiAtIGhpZ2hlc3RfcGZuKSA+PiAoMjAgLSBQQUdFX1NISUZUKSk7CisJLyogY2hlY2sgZW50cmllcyBudW1iZXIgKi8KKwltZW1zZXQobnVtLCAwLCBzaXplb2YobnVtKSk7CisJZm9yIChpID0gMDsgaSA8IG51bV92YXJfcmFuZ2VzOyBpKyspIHsKKwkJdHlwZSA9IHJhbmdlX3N0YXRlW2ldLnR5cGU7CisJCWlmICh0eXBlID49IE1UUlJfTlVNX1RZUEVTKQorCQkJY29udGludWU7CisJCXNpemUgPSByYW5nZV9zdGF0ZVtpXS5zaXplX3BmbjsKKwkJaWYgKCFzaXplKQorCQkJdHlwZSA9IE1UUlJfTlVNX1RZUEVTOworCQludW1bdHlwZV0rKzsKKwl9CiAKLQkJV0FSTl9PTigxKTsKKwkvKiBubyBlbnRyeSBmb3IgV0I/ICovCisJaWYgKCFudW1bTVRSUl9UWVBFX1dSQkFDS10pCisJCXJldHVybiAwOworCisJLyogY2hlY2sgaWYgd2Ugb25seSBoYWQgV0IgYW5kIFVDICovCisJaWYgKG51bVtNVFJSX1RZUEVfV1JCQUNLXSArIG51bVtNVFJSX1RZUEVfVU5DQUNIQUJMRV0gIT0KKwkJbnVtX3Zhcl9yYW5nZXMgLSBudW1bTVRSUl9OVU1fVFlQRVNdKQorCQlyZXR1cm4gMDsKKworCW1lbXNldChyYW5nZSwgMCwgc2l6ZW9mKHJhbmdlKSk7CisJbnJfcmFuZ2UgPSAwOworCWlmIChtdHJyX3RvbTIpIHsKKwkJcmFuZ2VbbnJfcmFuZ2VdLnN0YXJ0ID0gKDFVTEw8PCgzMiAtIFBBR0VfU0hJRlQpKTsKKwkJcmFuZ2VbbnJfcmFuZ2VdLmVuZCA9IChtdHJyX3RvbTIgPj4gUEFHRV9TSElGVCkgLSAxOworCQlpZiAoaGlnaGVzdF9wZm4gPCByYW5nZVtucl9yYW5nZV0uZW5kICsgMSkKKwkJCWhpZ2hlc3RfcGZuID0gcmFuZ2VbbnJfcmFuZ2VdLmVuZCArIDE7CisJCW5yX3JhbmdlKys7CisJfQorCW5yX3JhbmdlID0geDg2X2dldF9tdHJyX21lbV9yYW5nZShyYW5nZSwgbnJfcmFuZ2UsIDAsIDApOworCisJdG90YWxfdHJpbV9zaXplID0gMDsKKwkvKiBjaGVjayB0aGUgaGVhZCAqLworCWlmIChyYW5nZVswXS5zdGFydCkKKwkJdG90YWxfdHJpbV9zaXplICs9IHJlYWxfdHJpbV9tZW1vcnkoMCwgcmFuZ2VbMF0uc3RhcnQpOworCS8qIGNoZWNrIHRoZSBob2xlcyAqLworCWZvciAoaSA9IDA7IGkgPCBucl9yYW5nZSAtIDE7IGkrKykgeworCQlpZiAocmFuZ2VbaV0uZW5kICsgMSA8IHJhbmdlW2krMV0uc3RhcnQpCisJCQl0b3RhbF90cmltX3NpemUgKz0gcmVhbF90cmltX21lbW9yeShyYW5nZVtpXS5lbmQgKyAxLAorCQkJCQkJCSAgICByYW5nZVtpKzFdLnN0YXJ0KTsKKwl9CisJLyogY2hlY2sgdGhlIHRvcCAqLworCWkgPSBucl9yYW5nZSAtIDE7CisJaWYgKHJhbmdlW2ldLmVuZCArIDEgPCBlbmRfcGZuKQorCQl0b3RhbF90cmltX3NpemUgKz0gcmVhbF90cmltX21lbW9yeShyYW5nZVtpXS5lbmQgKyAxLAorCQkJCQkJCSBlbmRfcGZuKTsKKworCWlmICh0b3RhbF90cmltX3NpemUpIHsKKwkJcHJpbnRrKEtFUk5fV0FSTklORyAiV0FSTklORzogQklPUyBidWc6IENQVSBNVFJScyBkb24ndCBjb3ZlciIKKwkJCSIgYWxsIG9mIG1lbW9yeSwgbG9zaW5nICVsbHVNQiBvZiBSQU0uXG4iLAorCQkJdG90YWxfdHJpbV9zaXplID4+IDIwKTsKKworCQlpZiAoIWNoYW5nZWRfYnlfbXRycl9jbGVhbnVwKQorCQkJV0FSTl9PTigxKTsKIAogCQlwcmludGsoS0VSTl9JTkZPICJ1cGRhdGUgZTgyMCBmb3IgbXRyclxuIik7Ci0JCXRyaW1fc3RhcnQgPSBoaWdoZXN0X3BmbjsKLQkJdHJpbV9zdGFydCA8PD0gUEFHRV9TSElGVDsKLQkJdHJpbV9zaXplID0gZW5kX3BmbjsKLQkJdHJpbV9zaXplIDw8PSBQQUdFX1NISUZUOwotCQl0cmltX3NpemUgLT0gdHJpbV9zdGFydDsKLQkJdXBkYXRlX21lbW9yeV9yYW5nZSh0cmltX3N0YXJ0LCB0cmltX3NpemUsIEU4MjBfUkFNLAotCQkJCQlFODIwX1JFU0VSVkVEKTsKIAkJdXBkYXRlX2U4MjAoKTsKKwogCQlyZXR1cm4gMTsKIAl9CiAKQEAgLTcyOSwxOCArMTU3OCwyMSBAQAogICovCiB2b2lkIF9faW5pdCBtdHJyX2JwX2luaXQodm9pZCkKIHsKKwl1MzIgcGh5c19hZGRyOwogCWluaXRfaWZzKCk7CiAKKwlwaHlzX2FkZHIgPSAzMjsKKwogCWlmIChjcHVfaGFzX210cnIpIHsKIAkJbXRycl9pZiA9ICZnZW5lcmljX210cnJfb3BzOwogCQlzaXplX29yX21hc2sgPSAweGZmMDAwMDAwOwkvKiAzNiBiaXRzICovCiAJCXNpemVfYW5kX21hc2sgPSAweDAwZjAwMDAwOworCQlwaHlzX2FkZHIgPSAzNjsKIAogCQkvKiBUaGlzIGlzIGFuIEFNRCBzcGVjaWZpYyBNU1IsIGJ1dCB3ZSBhc3N1bWUoaG9wZT8pIHRoYXQKIAkJICAgSW50ZWwgd2lsbCBpbXBsZW1lbnQgaXQgdG8gd2hlbiB0aGV5IGV4dGVuZCB0aGUgYWRkcmVzcwogCQkgICBidXMgb2YgdGhlIFhlb24uICovCiAJCWlmIChjcHVpZF9lYXgoMHg4MDAwMDAwMCkgPj0gMHg4MDAwMDAwOCkgewotCQkJdTMyIHBoeXNfYWRkcjsKIAkJCXBoeXNfYWRkciA9IGNwdWlkX2VheCgweDgwMDAwMDA4KSAmIDB4ZmY7CiAJCQkvKiBDUFVJRCB3b3JrYXJvdW5kIGZvciBJbnRlbCAwRjMzLzBGMzQgQ1BVICovCiAJCQlpZiAoYm9vdF9jcHVfZGF0YS54ODZfdmVuZG9yID09IFg4Nl9WRU5ET1JfSU5URUwgJiYKQEAgLTc1OCw2ICsxNjEwLDcgQEAKIAkJCSAgIGRvbid0IHN1cHBvcnQgUEFFICovCiAJCQlzaXplX29yX21hc2sgPSAweGZmZjAwMDAwOwkvKiAzMiBiaXRzICovCiAJCQlzaXplX2FuZF9tYXNrID0gMDsKKwkJCXBoeXNfYWRkciA9IDMyOwogCQl9CiAJfSBlbHNlIHsKIAkJc3dpdGNoIChib290X2NwdV9kYXRhLng4Nl92ZW5kb3IpIHsKQEAgLTc5MSw4ICsxNjQ0LDE1IEBACiAJaWYgKG10cnJfaWYpIHsKIAkJc2V0X251bV92YXJfcmFuZ2VzKCk7CiAJCWluaXRfdGFibGUoKTsKLQkJaWYgKHVzZV9pbnRlbCgpKQorCQlpZiAodXNlX2ludGVsKCkpIHsKIAkJCWdldF9tdHJyX3N0YXRlKCk7CisKKwkJCWlmIChtdHJyX2NsZWFudXAocGh5c19hZGRyKSkgeworCQkJCWNoYW5nZWRfYnlfbXRycl9jbGVhbnVwID0gMTsKKwkJCQltdHJyX2lmLT5zZXRfYWxsKCk7CisJCQl9CisKKwkJfQogCX0KIH0KIApAQCAtODIyLDE2ICsxNjgyLDE3IEBACiAgKi8KIHZvaWQgbXRycl9zYXZlX3N0YXRlKHZvaWQpCiB7Ci0Jc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKDAsIG10cnJfc2F2ZV9maXhlZF9yYW5nZXMsIE5VTEwsIDEsIDEpOworCXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZSgwLCBtdHJyX3NhdmVfZml4ZWRfcmFuZ2VzLCBOVUxMLCAxKTsKIH0KIAogc3RhdGljIGludCBfX2luaXQgbXRycl9pbml0X2ZpbmlhbGl6ZSh2b2lkKQogewogCWlmICghbXRycl9pZikKIAkJcmV0dXJuIDA7Ci0JaWYgKHVzZV9pbnRlbCgpKQotCQltdHJyX3N0YXRlX3dhcm4oKTsKLQllbHNlIHsKKwlpZiAodXNlX2ludGVsKCkpIHsKKwkJaWYgKCFjaGFuZ2VkX2J5X210cnJfY2xlYW51cCkKKwkJCW10cnJfc3RhdGVfd2FybigpOworCX0gZWxzZSB7CiAJCS8qIFRoZSBDUFVzIGhhdmVuJ3QgTVRSUiBhbmQgc2VlbSB0byBub3Qgc3VwcG9ydCBTTVAuIFRoZXkgaGF2ZQogCQkgKiBzcGVjaWZpYyBkcml2ZXJzLCB3ZSB1c2UgYSB0cmlja3kgbWV0aG9kIHRvIHN1cHBvcnQKIAkJICogc3VzcGVuZC9yZXN1bWUgZm9yIHRoZW0uCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L210cnIvbXRyci5oIGIvYXJjaC94ODYva2VybmVsL2NwdS9tdHJyL210cnIuaAppbmRleCAyY2M3N2ViLi4yZGM0ZWM2IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L210cnIvbXRyci5oCisrKyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvbXRyci9tdHJyLmgKQEAgLTgxLDYgKzgxLDggQEAKIHZvaWQgc2V0X210cnJfY2FjaGVfZGlzYWJsZShzdHJ1Y3Qgc2V0X210cnJfY29udGV4dCAqY3R4dCk7CiB2b2lkIHNldF9tdHJyX3ByZXBhcmVfc2F2ZShzdHJ1Y3Qgc2V0X210cnJfY29udGV4dCAqY3R4dCk7CiAKK3ZvaWQgZmlsbF9tdHJyX3Zhcl9yYW5nZSh1bnNpZ25lZCBpbnQgaW5kZXgsCisJCXUzMiBiYXNlX2xvLCB1MzIgYmFzZV9oaSwgdTMyIG1hc2tfbG8sIHUzMiBtYXNrX2hpKTsKIHZvaWQgZ2V0X210cnJfc3RhdGUodm9pZCk7CiAKIGV4dGVybiB2b2lkIHNldF9tdHJyX29wcyhzdHJ1Y3QgbXRycl9vcHMgKiBvcHMpOwpAQCAtOTIsNiArOTQsNyBAQAogI2RlZmluZSB1c2VfaW50ZWwoKQkobXRycl9pZiAmJiBtdHJyX2lmLT51c2VfaW50ZWxfaWYgPT0gMSkKIAogZXh0ZXJuIHVuc2lnbmVkIGludCBudW1fdmFyX3JhbmdlczsKK2V4dGVybiB1NjQgbXRycl90b20yOwogCiB2b2lkIG10cnJfc3RhdGVfd2Fybih2b2lkKTsKIGNvbnN0IGNoYXIgKm10cnJfYXR0cmliX3RvX3N0cihpbnQgeCk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L3BlcmZjdHItd2F0Y2hkb2cuYyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvcGVyZmN0ci13YXRjaGRvZy5jCmluZGV4IGY5YWU5M2EuLjZkNGJkYzAgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9jcHUvcGVyZmN0ci13YXRjaGRvZy5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvcGVyZmN0ci13YXRjaGRvZy5jCkBAIC0xLDExICsxLDE1IEBACi0vKiBsb2NhbCBhcGljIGJhc2VkIE5NSSB3YXRjaGRvZyBmb3IgdmFyaW91cyBDUFVzLgotICAgVGhpcyBmaWxlIGFsc28gaGFuZGxlcyByZXNlcnZhdGlvbiBvZiBwZXJmb3JtYW5jZSBjb3VudGVycyBmb3IgY29vcmRpbmF0aW9uCi0gICB3aXRoIG90aGVyIHVzZXJzIChsaWtlIG9wcm9maWxlKS4KLQotICAgTm90ZSB0aGF0IHRoZXNlIGV2ZW50cyBub3JtYWxseSBkb24ndCB0aWNrIHdoZW4gdGhlIENQVSBpZGxlcy4gVGhpcyBtZWFucwotICAgdGhlIGZyZXF1ZW5jeSB2YXJpZXMgd2l0aCBDUFUgbG9hZC4KLQotICAgT3JpZ2luYWwgY29kZSBmb3IgSzcvUDYgd3JpdHRlbiBieSBLZWl0aCBPd2VucyAqLworLyoKKyAqIGxvY2FsIGFwaWMgYmFzZWQgTk1JIHdhdGNoZG9nIGZvciB2YXJpb3VzIENQVXMuCisgKgorICogVGhpcyBmaWxlIGFsc28gaGFuZGxlcyByZXNlcnZhdGlvbiBvZiBwZXJmb3JtYW5jZSBjb3VudGVycyBmb3IgY29vcmRpbmF0aW9uCisgKiB3aXRoIG90aGVyIHVzZXJzIChsaWtlIG9wcm9maWxlKS4KKyAqCisgKiBOb3RlIHRoYXQgdGhlc2UgZXZlbnRzIG5vcm1hbGx5IGRvbid0IHRpY2sgd2hlbiB0aGUgQ1BVIGlkbGVzLiBUaGlzIG1lYW5zCisgKiB0aGUgZnJlcXVlbmN5IHZhcmllcyB3aXRoIENQVSBsb2FkLgorICoKKyAqIE9yaWdpbmFsIGNvZGUgZm9yIEs3L1A2IHdyaXR0ZW4gYnkgS2VpdGggT3dlbnMKKyAqCisgKi8KIAogI2luY2x1ZGUgPGxpbnV4L3BlcmNwdS5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgpAQCAtMzYsMTIgKzQwLDE2IEBACiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgd2Rfb3BzICp3ZF9vcHM7CiAKLS8qIHRoaXMgbnVtYmVyIGlzIGNhbGN1bGF0ZWQgZnJvbSBJbnRlbCdzIE1TUl9QNF9DUlVfRVNDUjUgcmVnaXN0ZXIgYW5kIGl0J3MKLSAqIG9mZnNldCBmcm9tIE1TUl9QNF9CU1VfRVNDUjAuICBJdCB3aWxsIGJlIHRoZSBtYXggZm9yIGFsbCBwbGF0Zm9ybXMgKGZvciBub3cpCisvKgorICogdGhpcyBudW1iZXIgaXMgY2FsY3VsYXRlZCBmcm9tIEludGVsJ3MgTVNSX1A0X0NSVV9FU0NSNSByZWdpc3RlciBhbmQgaXQncworICogb2Zmc2V0IGZyb20gTVNSX1A0X0JTVV9FU0NSMC4KKyAqCisgKiBJdCB3aWxsIGJlIHRoZSBtYXggZm9yIGFsbCBwbGF0Zm9ybXMgKGZvciBub3cpCiAgKi8KICNkZWZpbmUgTk1JX01BWF9DT1VOVEVSX0JJVFMgNjYKIAotLyogcGVyZmN0cl9ubWlfb3duZXIgdHJhY2tzIHRoZSBvd25lcnNoaXAgb2YgdGhlIHBlcmZjdHIgcmVnaXN0ZXJzOgorLyoKKyAqIHBlcmZjdHJfbm1pX293bmVyIHRyYWNrcyB0aGUgb3duZXJzaGlwIG9mIHRoZSBwZXJmY3RyIHJlZ2lzdGVyczoKICAqIGV2dHNlbF9ubWlfb3duZXIgdHJhY2tzIHRoZSBvd25lcnNoaXAgb2YgdGhlIGV2ZW50IHNlbGVjdGlvbgogICogLSBkaWZmZXJlbnQgcGVyZm9ybWFuY2UgY291bnRlcnMvIGV2ZW50IHNlbGVjdGlvbiBtYXkgYmUgcmVzZXJ2ZWQgZm9yCiAgKiAgIGRpZmZlcmVudCBzdWJzeXN0ZW1zIHRoaXMgcmVzZXJ2YXRpb24gc3lzdGVtIGp1c3QgdHJpZXMgdG8gY29vcmRpbmF0ZQpAQCAtNzMsOCArODEsMTAgQEAKIAlyZXR1cm4gMDsKIH0KIAotLyogY29udmVydHMgYW4gbXNyIHRvIGFuIGFwcHJvcHJpYXRlIHJlc2VydmF0aW9uIGJpdCAqLwotLyogcmV0dXJucyB0aGUgYml0IG9mZnNldCBvZiB0aGUgZXZlbnQgc2VsZWN0aW9uIHJlZ2lzdGVyICovCisvKgorICogY29udmVydHMgYW4gbXNyIHRvIGFuIGFwcHJvcHJpYXRlIHJlc2VydmF0aW9uIGJpdAorICogcmV0dXJucyB0aGUgYml0IG9mZnNldCBvZiB0aGUgZXZlbnQgc2VsZWN0aW9uIHJlZ2lzdGVyCisgKi8KIHN0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IG5taV9ldm50c2VsX21zcl90b19iaXQodW5zaWduZWQgaW50IG1zcikKIHsKIAkvKiByZXR1cm5zIHRoZSBiaXQgb2Zmc2V0IG9mIHRoZSBldmVudCBzZWxlY3Rpb24gcmVnaXN0ZXIgKi8KQEAgLTExNCw2ICsxMjQsNyBAQAogCiAJcmV0dXJuICghdGVzdF9iaXQoY291bnRlciwgcGVyZmN0cl9ubWlfb3duZXIpKTsKIH0KK0VYUE9SVF9TWU1CT0woYXZhaWxfdG9fcmVzcnZfcGVyZmN0cl9ubWlfYml0KTsKIAogaW50IHJlc2VydmVfcGVyZmN0cl9ubWkodW5zaWduZWQgaW50IG1zcikKIHsKQEAgLTEyOCw2ICsxMzksNyBAQAogCQlyZXR1cm4gMTsKIAlyZXR1cm4gMDsKIH0KK0VYUE9SVF9TWU1CT0wocmVzZXJ2ZV9wZXJmY3RyX25taSk7CiAKIHZvaWQgcmVsZWFzZV9wZXJmY3RyX25taSh1bnNpZ25lZCBpbnQgbXNyKQogewpAQCAtMTQwLDYgKzE1Miw3IEBACiAKIAljbGVhcl9iaXQoY291bnRlciwgcGVyZmN0cl9ubWlfb3duZXIpOwogfQorRVhQT1JUX1NZTUJPTChyZWxlYXNlX3BlcmZjdHJfbm1pKTsKIAogaW50IHJlc2VydmVfZXZudHNlbF9ubWkodW5zaWduZWQgaW50IG1zcikKIHsKQEAgLTE1NCw2ICsxNjcsNyBAQAogCQlyZXR1cm4gMTsKIAlyZXR1cm4gMDsKIH0KK0VYUE9SVF9TWU1CT0wocmVzZXJ2ZV9ldm50c2VsX25taSk7CiAKIHZvaWQgcmVsZWFzZV9ldm50c2VsX25taSh1bnNpZ25lZCBpbnQgbXNyKQogewpAQCAtMTY2LDExICsxODAsNiBAQAogCiAJY2xlYXJfYml0KGNvdW50ZXIsIGV2bnRzZWxfbm1pX293bmVyKTsKIH0KLQotRVhQT1JUX1NZTUJPTChhdmFpbF90b19yZXNydl9wZXJmY3RyX25taV9iaXQpOwotRVhQT1JUX1NZTUJPTChyZXNlcnZlX3BlcmZjdHJfbm1pKTsKLUVYUE9SVF9TWU1CT0wocmVsZWFzZV9wZXJmY3RyX25taSk7Ci1FWFBPUlRfU1lNQk9MKHJlc2VydmVfZXZudHNlbF9ubWkpOwogRVhQT1JUX1NZTUJPTChyZWxlYXNlX2V2bnRzZWxfbm1pKTsKIAogdm9pZCBkaXNhYmxlX2xhcGljX25taV93YXRjaGRvZyh2b2lkKQpAQCAtMTgwLDggKzE4OSwxMCBAQAogCWlmIChhdG9taWNfcmVhZCgmbm1pX2FjdGl2ZSkgPD0gMCkKIAkJcmV0dXJuOwogCi0Jb25fZWFjaF9jcHUoc3RvcF9hcGljX25taV93YXRjaGRvZywgTlVMTCwgMCwgMSk7Ci0Jd2Rfb3BzLT51bnJlc2VydmUoKTsKKwlvbl9lYWNoX2NwdShzdG9wX2FwaWNfbm1pX3dhdGNoZG9nLCBOVUxMLCAxKTsKKworCWlmICh3ZF9vcHMpCisJCXdkX29wcy0+dW5yZXNlcnZlKCk7CiAKIAlCVUdfT04oYXRvbWljX3JlYWQoJm5taV9hY3RpdmUpICE9IDApOwogfQpAQCAtMjAyLDcgKzIxMyw3IEBACiAJCXJldHVybjsKIAl9CiAKLQlvbl9lYWNoX2NwdShzZXR1cF9hcGljX25taV93YXRjaGRvZywgTlVMTCwgMCwgMSk7CisJb25fZWFjaF9jcHUoc2V0dXBfYXBpY19ubWlfd2F0Y2hkb2csIE5VTEwsIDEpOwogCXRvdWNoX25taV93YXRjaGRvZygpOwogfQogCkBAIC0yMzIsOCArMjQzLDggQEAKIAlyZXR1cm4gcmV0dmFsOwogfQogCi1zdGF0aWMgdm9pZAotd3JpdGVfd2F0Y2hkb2dfY291bnRlcih1bnNpZ25lZCBpbnQgcGVyZmN0cl9tc3IsIGNvbnN0IGNoYXIgKmRlc2NyLCB1bnNpZ25lZCBubWlfaHopCitzdGF0aWMgdm9pZCB3cml0ZV93YXRjaGRvZ19jb3VudGVyKHVuc2lnbmVkIGludCBwZXJmY3RyX21zciwKKwkJCQljb25zdCBjaGFyICpkZXNjciwgdW5zaWduZWQgbm1pX2h6KQogewogCXU2NCBjb3VudCA9ICh1NjQpY3B1X2toeiAqIDEwMDA7CiAKQEAgLTI0NCw3ICsyNTUsNyBAQAogfQogCiBzdGF0aWMgdm9pZCB3cml0ZV93YXRjaGRvZ19jb3VudGVyMzIodW5zaWduZWQgaW50IHBlcmZjdHJfbXNyLAotCQljb25zdCBjaGFyICpkZXNjciwgdW5zaWduZWQgbm1pX2h6KQorCQkJCWNvbnN0IGNoYXIgKmRlc2NyLCB1bnNpZ25lZCBubWlfaHopCiB7CiAJdTY0IGNvdW50ID0gKHU2NCljcHVfa2h6ICogMTAwMDsKIApAQCAtMjU0LDkgKzI2NSwxMCBAQAogCXdybXNyKHBlcmZjdHJfbXNyLCAodTMyKSgtY291bnQpLCAwKTsKIH0KIAotLyogQU1EIEs3L0s4L0ZhbWlseTEwaC9GYW1pbHkxMWggc3VwcG9ydC4gQU1EIGtlZXBzIHRoaXMgaW50ZXJmYWNlCi0gICBuaWNlbHkgc3RhYmxlIHNvIHRoZXJlIGlzIG5vdCBtdWNoIHZhcmlldHkgKi8KLQorLyoKKyAqIEFNRCBLNy9LOC9GYW1pbHkxMGgvRmFtaWx5MTFoIHN1cHBvcnQuCisgKiBBTUQga2VlcHMgdGhpcyBpbnRlcmZhY2UgbmljZWx5IHN0YWJsZSBzbyB0aGVyZSBpcyBub3QgbXVjaCB2YXJpZXR5CisgKi8KICNkZWZpbmUgSzdfRVZOVFNFTF9FTkFCTEUJKDEgPDwgMjIpCiAjZGVmaW5lIEs3X0VWTlRTRUxfSU5UCQkoMSA8PCAyMCkKICNkZWZpbmUgSzdfRVZOVFNFTF9PUwkJKDEgPDwgMTcpCkBAIC0yODksNyArMzAxLDcgQEAKIAogCXdkLT5wZXJmY3RyX21zciA9IHBlcmZjdHJfbXNyOwogCXdkLT5ldm50c2VsX21zciA9IGV2bnRzZWxfbXNyOwotCXdkLT5jY2NyX21zciA9IDA7ICAvL3VudXNlZAorCXdkLT5jY2NyX21zciA9IDA7ICAvKiB1bnVzZWQgKi8KIAlyZXR1cm4gMTsKIH0KIApAQCAtMzI1LDE4ICszMzcsMTkgQEAKIH0KIAogc3RhdGljIGNvbnN0IHN0cnVjdCB3ZF9vcHMgazdfd2Rfb3BzID0gewotCS5yZXNlcnZlID0gc2luZ2xlX21zcl9yZXNlcnZlLAotCS51bnJlc2VydmUgPSBzaW5nbGVfbXNyX3VucmVzZXJ2ZSwKLQkuc2V0dXAgPSBzZXR1cF9rN193YXRjaGRvZywKLQkucmVhcm0gPSBzaW5nbGVfbXNyX3JlYXJtLAotCS5zdG9wID0gc2luZ2xlX21zcl9zdG9wX3dhdGNoZG9nLAotCS5wZXJmY3RyID0gTVNSX0s3X1BFUkZDVFIwLAotCS5ldm50c2VsID0gTVNSX0s3X0VWTlRTRUwwLAotCS5jaGVja2JpdCA9IDFVTEw8PDQ3LAorCS5yZXNlcnZlCT0gc2luZ2xlX21zcl9yZXNlcnZlLAorCS51bnJlc2VydmUJPSBzaW5nbGVfbXNyX3VucmVzZXJ2ZSwKKwkuc2V0dXAJCT0gc2V0dXBfazdfd2F0Y2hkb2csCisJLnJlYXJtCQk9IHNpbmdsZV9tc3JfcmVhcm0sCisJLnN0b3AJCT0gc2luZ2xlX21zcl9zdG9wX3dhdGNoZG9nLAorCS5wZXJmY3RyCT0gTVNSX0s3X1BFUkZDVFIwLAorCS5ldm50c2VsCT0gTVNSX0s3X0VWTlRTRUwwLAorCS5jaGVja2JpdAk9IDFVTEwgPDwgNDcsCiB9OwogCi0vKiBJbnRlbCBNb2RlbCA2IChQUHJvKyxQMixQMyxQLU0sQ29yZTEpICovCi0KKy8qCisgKiBJbnRlbCBNb2RlbCA2IChQUHJvKyxQMixQMyxQLU0sQ29yZTEpCisgKi8KICNkZWZpbmUgUDZfRVZOVFNFTDBfRU5BQkxFCSgxIDw8IDIyKQogI2RlZmluZSBQNl9FVk5UU0VMX0lOVAkJKDEgPDwgMjApCiAjZGVmaW5lIFA2X0VWTlRTRUxfT1MJCSgxIDw8IDE3KQpAQCAtMzcyLDUyICszODUsNTggQEAKIAogCXdkLT5wZXJmY3RyX21zciA9IHBlcmZjdHJfbXNyOwogCXdkLT5ldm50c2VsX21zciA9IGV2bnRzZWxfbXNyOwotCXdkLT5jY2NyX21zciA9IDA7ICAvL3VudXNlZAorCXdkLT5jY2NyX21zciA9IDA7ICAvKiB1bnVzZWQgKi8KIAlyZXR1cm4gMTsKIH0KIAogc3RhdGljIHZvaWQgcDZfcmVhcm0oc3RydWN0IG5taV93YXRjaGRvZ19jdGxibGsgKndkLCB1bnNpZ25lZCBubWlfaHopCiB7Ci0JLyogUDYgYmFzZWQgUGVudGl1bSBNIG5lZWQgdG8gcmUtdW5tYXNrCisJLyoKKwkgKiBQNiBiYXNlZCBQZW50aXVtIE0gbmVlZCB0byByZS11bm1hc2sKIAkgKiB0aGUgYXBpYyB2ZWN0b3IgYnV0IGl0IGRvZXNuJ3QgaHVydAogCSAqIG90aGVyIFA2IHZhcmlhbnQuCi0JICogQXJjaFBlcmZvbS9Db3JlIER1byBhbHNvIG5lZWRzIHRoaXMgKi8KKwkgKiBBcmNoUGVyZm9tL0NvcmUgRHVvIGFsc28gbmVlZHMgdGhpcworCSAqLwogCWFwaWNfd3JpdGUoQVBJQ19MVlRQQywgQVBJQ19ETV9OTUkpOworCiAJLyogUDYvQVJDSF9QRVJGTU9OIGhhcyAzMiBiaXQgY291bnRlciB3cml0ZSAqLwogCXdyaXRlX3dhdGNoZG9nX2NvdW50ZXIzMih3ZC0+cGVyZmN0cl9tc3IsIE5VTEwsbm1pX2h6KTsKIH0KIAogc3RhdGljIGNvbnN0IHN0cnVjdCB3ZF9vcHMgcDZfd2Rfb3BzID0gewotCS5yZXNlcnZlID0gc2luZ2xlX21zcl9yZXNlcnZlLAotCS51bnJlc2VydmUgPSBzaW5nbGVfbXNyX3VucmVzZXJ2ZSwKLQkuc2V0dXAgPSBzZXR1cF9wNl93YXRjaGRvZywKLQkucmVhcm0gPSBwNl9yZWFybSwKLQkuc3RvcCA9IHNpbmdsZV9tc3Jfc3RvcF93YXRjaGRvZywKLQkucGVyZmN0ciA9IE1TUl9QNl9QRVJGQ1RSMCwKLQkuZXZudHNlbCA9IE1TUl9QNl9FVk5UU0VMMCwKLQkuY2hlY2tiaXQgPSAxVUxMPDwzOSwKKwkucmVzZXJ2ZQk9IHNpbmdsZV9tc3JfcmVzZXJ2ZSwKKwkudW5yZXNlcnZlCT0gc2luZ2xlX21zcl91bnJlc2VydmUsCisJLnNldHVwCQk9IHNldHVwX3A2X3dhdGNoZG9nLAorCS5yZWFybQkJPSBwNl9yZWFybSwKKwkuc3RvcAkJPSBzaW5nbGVfbXNyX3N0b3Bfd2F0Y2hkb2csCisJLnBlcmZjdHIJPSBNU1JfUDZfUEVSRkNUUjAsCisJLmV2bnRzZWwJPSBNU1JfUDZfRVZOVFNFTDAsCisJLmNoZWNrYml0CT0gMVVMTCA8PCAzOSwKIH07CiAKLS8qIEludGVsIFA0IHBlcmZvcm1hbmNlIGNvdW50ZXJzLiBCeSBmYXIgdGhlIG1vc3QgY29tcGxpY2F0ZWQgb2YgYWxsLiAqLworLyoKKyAqIEludGVsIFA0IHBlcmZvcm1hbmNlIGNvdW50ZXJzLgorICogQnkgZmFyIHRoZSBtb3N0IGNvbXBsaWNhdGVkIG9mIGFsbC4KKyAqLworI2RlZmluZSBNU1JfUDRfTUlTQ19FTkFCTEVfUEVSRl9BVkFJTAkoMSA8PCA3KQorI2RlZmluZSBQNF9FU0NSX0VWRU5UX1NFTEVDVChOKQkoKE4pIDw8IDI1KQorI2RlZmluZSBQNF9FU0NSX09TCQkoMSA8PCAzKQorI2RlZmluZSBQNF9FU0NSX1VTUgkJKDEgPDwgMikKKyNkZWZpbmUgUDRfQ0NDUl9PVkZfUE1JMAkoMSA8PCAyNikKKyNkZWZpbmUgUDRfQ0NDUl9PVkZfUE1JMQkoMSA8PCAyNykKKyNkZWZpbmUgUDRfQ0NDUl9USFJFU0hPTEQoTikJKChOKSA8PCAyMCkKKyNkZWZpbmUgUDRfQ0NDUl9DT01QTEVNRU5UCSgxIDw8IDE5KQorI2RlZmluZSBQNF9DQ0NSX0NPTVBBUkUJCSgxIDw8IDE4KQorI2RlZmluZSBQNF9DQ0NSX1JFUVVJUkVECSgzIDw8IDE2KQorI2RlZmluZSBQNF9DQ0NSX0VTQ1JfU0VMRUNUKE4pCSgoTikgPDwgMTMpCisjZGVmaW5lIFA0X0NDQ1JfRU5BQkxFCQkoMSA8PCAxMikKKyNkZWZpbmUgUDRfQ0NDUl9PVkYgCQkoMSA8PCAzMSkKIAotI2RlZmluZSBNU1JfUDRfTUlTQ19FTkFCTEVfUEVSRl9BVkFJTAkoMTw8NykKLSNkZWZpbmUgUDRfRVNDUl9FVkVOVF9TRUxFQ1QoTikJKChOKTw8MjUpCi0jZGVmaW5lIFA0X0VTQ1JfT1MJCSgxPDwzKQotI2RlZmluZSBQNF9FU0NSX1VTUgkJKDE8PDIpCi0jZGVmaW5lIFA0X0NDQ1JfT1ZGX1BNSTAJKDE8PDI2KQotI2RlZmluZSBQNF9DQ0NSX09WRl9QTUkxCSgxPDwyNykKLSNkZWZpbmUgUDRfQ0NDUl9USFJFU0hPTEQoTikJKChOKTw8MjApCi0jZGVmaW5lIFA0X0NDQ1JfQ09NUExFTUVOVAkoMTw8MTkpCi0jZGVmaW5lIFA0X0NDQ1JfQ09NUEFSRQkJKDE8PDE4KQotI2RlZmluZSBQNF9DQ0NSX1JFUVVJUkVECSgzPDwxNikKLSNkZWZpbmUgUDRfQ0NDUl9FU0NSX1NFTEVDVChOKQkoKE4pPDwxMykKLSNkZWZpbmUgUDRfQ0NDUl9FTkFCTEUJCSgxPDwxMikKLSNkZWZpbmUgUDRfQ0NDUl9PVkYgCQkoMTw8MzEpCi0KLS8qIFNldCB1cCBJUV9DT1VOVEVSMCB0byBiZWhhdmUgbGlrZSBhIGNsb2NrLCBieSBoYXZpbmcgSVFfQ0NDUjAgZmlsdGVyCi0gICBDUlVfRVNDUjAgKHdpdGggYW55IG5vbi1udWxsIGV2ZW50IHNlbGVjdG9yKSB0aHJvdWdoIGEgY29tcGxlbWVudGVkCi0gICBtYXggdGhyZXNob2xkLiBbSUEzMi1Wb2wzLCBTZWN0aW9uIDE0LjkuOV0gKi8KLQorLyoKKyAqIFNldCB1cCBJUV9DT1VOVEVSMCB0byBiZWhhdmUgbGlrZSBhIGNsb2NrLCBieSBoYXZpbmcgSVFfQ0NDUjAgZmlsdGVyCisgKiBDUlVfRVNDUjAgKHdpdGggYW55IG5vbi1udWxsIGV2ZW50IHNlbGVjdG9yKSB0aHJvdWdoIGEgY29tcGxlbWVudGVkCisgKiBtYXggdGhyZXNob2xkLiBbSUEzMi1Wb2wzLCBTZWN0aW9uIDE0LjkuOV0KKyAqLwogc3RhdGljIGludCBzZXR1cF9wNF93YXRjaGRvZyh1bnNpZ25lZCBubWlfaHopCiB7CiAJdW5zaWduZWQgaW50IHBlcmZjdHJfbXNyLCBldm50c2VsX21zciwgY2Njcl9tc3I7CkBAIC00NDIsNyArNDYxLDggQEAKICNlbmRpZgogCQlodF9udW0gPSAwOwogCi0JLyogcGVyZm9ybWFuY2UgY291bnRlcnMgYXJlIHNoYXJlZCByZXNvdXJjZXMKKwkvKgorCSAqIHBlcmZvcm1hbmNlIGNvdW50ZXJzIGFyZSBzaGFyZWQgcmVzb3VyY2VzCiAJICogYXNzaWduIGVhY2ggaHlwZXJ0aHJlYWQgaXRzIG93biBzZXQKIAkgKiAocmUtdXNlIHRoZSBFU0NSMCByZWdpc3Rlciwgc2VlbXMgc2FmZQogCSAqIGFuZCBrZWVwcyB0aGUgY2Njcl92YWwgdGhlIHNhbWUpCkBAIC01NDAsMjAgKzU2MCwyMSBAQAogfQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IHdkX29wcyBwNF93ZF9vcHMgPSB7Ci0JLnJlc2VydmUgPSBwNF9yZXNlcnZlLAotCS51bnJlc2VydmUgPSBwNF91bnJlc2VydmUsCi0JLnNldHVwID0gc2V0dXBfcDRfd2F0Y2hkb2csCi0JLnJlYXJtID0gcDRfcmVhcm0sCi0JLnN0b3AgPSBzdG9wX3A0X3dhdGNoZG9nLAorCS5yZXNlcnZlCT0gcDRfcmVzZXJ2ZSwKKwkudW5yZXNlcnZlCT0gcDRfdW5yZXNlcnZlLAorCS5zZXR1cAkJPSBzZXR1cF9wNF93YXRjaGRvZywKKwkucmVhcm0JCT0gcDRfcmVhcm0sCisJLnN0b3AJCT0gc3RvcF9wNF93YXRjaGRvZywKIAkvKiBSRUQtUEVOIHRoaXMgaXMgd3JvbmcgZm9yIHRoZSBvdGhlciBzaWJsaW5nICovCi0JLnBlcmZjdHIgPSBNU1JfUDRfQlBVX1BFUkZDVFIwLAotCS5ldm50c2VsID0gTVNSX1A0X0JTVV9FU0NSMCwKLQkuY2hlY2tiaXQgPSAxVUxMPDwzOSwKKwkucGVyZmN0cgk9IE1TUl9QNF9CUFVfUEVSRkNUUjAsCisJLmV2bnRzZWwJPSBNU1JfUDRfQlNVX0VTQ1IwLAorCS5jaGVja2JpdAk9IDFVTEwgPDwgMzksCiB9OwogCi0vKiBXYXRjaGRvZyB1c2luZyB0aGUgSW50ZWwgYXJjaGl0ZWN0ZWQgUGVyZk1vbi4gVXNlZCBmb3IgQ29yZTIgYW5kIGhvcGVmdWxseQotICAgYWxsIGZ1dHVyZSBJbnRlbCBDUFVzLiAqLwotCisvKgorICogV2F0Y2hkb2cgdXNpbmcgdGhlIEludGVsIGFyY2hpdGVjdGVkIFBlcmZNb24uCisgKiBVc2VkIGZvciBDb3JlMiBhbmQgaG9wZWZ1bGx5IGFsbCBmdXR1cmUgSW50ZWwgQ1BVcy4KKyAqLwogI2RlZmluZSBBUkNIX1BFUkZNT05fTk1JX0VWRU5UX1NFTAlBUkNIX1BFUkZNT05fVU5IQUxURURfQ09SRV9DWUNMRVNfU0VMCiAjZGVmaW5lIEFSQ0hfUEVSRk1PTl9OTUlfRVZFTlRfVU1BU0sJQVJDSF9QRVJGTU9OX1VOSEFMVEVEX0NPUkVfQ1lDTEVTX1VNQVNLCiAKQEAgLTU5OSwxOSArNjIwLDE5IEBACiAKIAl3ZC0+cGVyZmN0cl9tc3IgPSBwZXJmY3RyX21zcjsKIAl3ZC0+ZXZudHNlbF9tc3IgPSBldm50c2VsX21zcjsKLQl3ZC0+Y2Njcl9tc3IgPSAwOyAgLy91bnVzZWQKKwl3ZC0+Y2Njcl9tc3IgPSAwOyAgLyogdW51c2VkICovCiAJaW50ZWxfYXJjaF93ZF9vcHMuY2hlY2tiaXQgPSAxVUxMIDw8IChlYXguc3BsaXQuYml0X3dpZHRoIC0gMSk7CiAJcmV0dXJuIDE7CiB9CiAKIHN0YXRpYyBzdHJ1Y3Qgd2Rfb3BzIGludGVsX2FyY2hfd2Rfb3BzIF9fcmVhZF9tb3N0bHkgPSB7Ci0JLnJlc2VydmUgPSBzaW5nbGVfbXNyX3Jlc2VydmUsCi0JLnVucmVzZXJ2ZSA9IHNpbmdsZV9tc3JfdW5yZXNlcnZlLAotCS5zZXR1cCA9IHNldHVwX2ludGVsX2FyY2hfd2F0Y2hkb2csCi0JLnJlYXJtID0gcDZfcmVhcm0sCi0JLnN0b3AgPSBzaW5nbGVfbXNyX3N0b3Bfd2F0Y2hkb2csCi0JLnBlcmZjdHIgPSBNU1JfQVJDSF9QRVJGTU9OX1BFUkZDVFIxLAotCS5ldm50c2VsID0gTVNSX0FSQ0hfUEVSRk1PTl9FVkVOVFNFTDEsCisJLnJlc2VydmUJPSBzaW5nbGVfbXNyX3Jlc2VydmUsCisJLnVucmVzZXJ2ZQk9IHNpbmdsZV9tc3JfdW5yZXNlcnZlLAorCS5zZXR1cAkJPSBzZXR1cF9pbnRlbF9hcmNoX3dhdGNoZG9nLAorCS5yZWFybQkJPSBwNl9yZWFybSwKKwkuc3RvcAkJPSBzaW5nbGVfbXNyX3N0b3Bfd2F0Y2hkb2csCisJLnBlcmZjdHIJPSBNU1JfQVJDSF9QRVJGTU9OX1BFUkZDVFIxLAorCS5ldm50c2VsCT0gTVNSX0FSQ0hfUEVSRk1PTl9FVkVOVFNFTDEsCiB9OwogCiBzdGF0aWMgdm9pZCBwcm9iZV9ubWlfd2F0Y2hkb2codm9pZCkKQEAgLTYyNCw4ICs2NDUsMTAgQEAKIAkJd2Rfb3BzID0gJms3X3dkX29wczsKIAkJYnJlYWs7CiAJY2FzZSBYODZfVkVORE9SX0lOVEVMOgotCQkvKiBXb3JrIGFyb3VuZCBDb3JlIER1byAoWW9uYWgpIGVycmF0YSBBRTQ5IHdoZXJlIHBlcmZjdHIxCi0JCSAgIGRvZXNuJ3QgaGF2ZSBhIHdvcmtpbmcgZW5hYmxlIGJpdC4gKi8KKwkJLyoKKwkJICogV29yayBhcm91bmQgQ29yZSBEdW8gKFlvbmFoKSBlcnJhdGEgQUU0OSB3aGVyZSBwZXJmY3RyMQorCQkgKiBkb2Vzbid0IGhhdmUgYSB3b3JraW5nIGVuYWJsZSBiaXQuCisJCSAqLwogCQlpZiAoYm9vdF9jcHVfZGF0YS54ODYgPT0gNiAmJiBib290X2NwdV9kYXRhLng4Nl9tb2RlbCA9PSAxNCkgewogCQkJaW50ZWxfYXJjaF93ZF9vcHMucGVyZmN0ciA9IE1TUl9BUkNIX1BFUkZNT05fUEVSRkNUUjA7CiAJCQlpbnRlbF9hcmNoX3dkX29wcy5ldm50c2VsID0gTVNSX0FSQ0hfUEVSRk1PTl9FVkVOVFNFTDA7CkBAIC02MzYsNyArNjU5LDcgQEAKIAkJfQogCQlzd2l0Y2ggKGJvb3RfY3B1X2RhdGEueDg2KSB7CiAJCWNhc2UgNjoKLQkJCWlmIChib290X2NwdV9kYXRhLng4Nl9tb2RlbCA+IDB4ZCkKKwkJCWlmIChib290X2NwdV9kYXRhLng4Nl9tb2RlbCA+IDEzKQogCQkJCXJldHVybjsKIAogCQkJd2Rfb3BzID0gJnA2X3dkX29wczsKQEAgLTY5NywxMCArNzIwLDExIEBACiB7CiAJc3RydWN0IG5taV93YXRjaGRvZ19jdGxibGsgKndkID0gJl9fZ2V0X2NwdV92YXIobm1pX3dhdGNoZG9nX2N0bGJsayk7CiAJdTY0IGN0cjsKKwogCXJkbXNybCh3ZC0+cGVyZmN0cl9tc3IsIGN0cik7Ci0JaWYgKGN0ciAmIHdkX29wcy0+Y2hlY2tiaXQpIHsgLyogcGVyZmN0ciBzdGlsbCBydW5uaW5nPyAqLworCWlmIChjdHIgJiB3ZF9vcHMtPmNoZWNrYml0KSAvKiBwZXJmY3RyIHN0aWxsIHJ1bm5pbmc/ICovCiAJCXJldHVybiAwOwotCX0KKwogCXdkX29wcy0+cmVhcm0od2QsIG5taV9oeik7CiAJcmV0dXJuIDE7CiB9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvY3B1aWQuYyBiL2FyY2gveDg2L2tlcm5lbC9jcHVpZC5jCmluZGV4IGRhZmY1MmEuLjJkZTVmYTIgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9jcHVpZC5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9jcHVpZC5jCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L3BvbGwuaD4KICNpbmNsdWRlIDxsaW51eC9zbXAuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L21ham9yLmg+CiAjaW5jbHVkZSA8bGludXgvZnMuaD4KICNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgpAQCAtOTUsNyArOTYsNyBAQAogCWZvciAoOyBjb3VudDsgY291bnQgLT0gMTYpIHsKIAkJY21kLmVheCA9IHBvczsKIAkJY21kLmVjeCA9IHBvcyA+PiAzMjsKLQkJc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGNwdSwgY3B1aWRfc21wX2NwdWlkLCAmY21kLCAxLCAxKTsKKwkJc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGNwdSwgY3B1aWRfc21wX2NwdWlkLCAmY21kLCAxKTsKIAkJaWYgKGNvcHlfdG9fdXNlcih0bXAsICZjbWQsIDE2KSkKIAkJCXJldHVybiAtRUZBVUxUOwogCQl0bXAgKz0gMTY7CkBAIC0xMDcsMTUgKzEwOCwyMyBAQAogCiBzdGF0aWMgaW50IGNwdWlkX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCiB7Ci0JdW5zaWduZWQgaW50IGNwdSA9IGltaW5vcihmaWxlLT5mX3BhdGguZGVudHJ5LT5kX2lub2RlKTsKLQlzdHJ1Y3QgY3B1aW5mb194ODYgKmMgPSAmY3B1X2RhdGEoY3B1KTsKKwl1bnNpZ25lZCBpbnQgY3B1OworCXN0cnVjdCBjcHVpbmZvX3g4NiAqYzsKKwlpbnQgcmV0ID0gMDsKKwkKKwlsb2NrX2tlcm5lbCgpOwogCi0JaWYgKGNwdSA+PSBOUl9DUFVTIHx8ICFjcHVfb25saW5lKGNwdSkpCi0JCXJldHVybiAtRU5YSU87CS8qIE5vIHN1Y2ggQ1BVICovCisJY3B1ID0gaW1pbm9yKGZpbGUtPmZfcGF0aC5kZW50cnktPmRfaW5vZGUpOworCWlmIChjcHUgPj0gTlJfQ1BVUyB8fCAhY3B1X29ubGluZShjcHUpKSB7CisJCXJldCA9IC1FTlhJTzsJLyogTm8gc3VjaCBDUFUgKi8KKwkJZ290byBvdXQ7CisJfQorCWMgPSAmY3B1X2RhdGEoY3B1KTsKIAlpZiAoYy0+Y3B1aWRfbGV2ZWwgPCAwKQotCQlyZXR1cm4gLUVJTzsJLyogQ1BVSUQgbm90IHN1cHBvcnRlZCAqLwotCi0JcmV0dXJuIDA7CisJCXJldCA9IC1FSU87CS8qIENQVUlEIG5vdCBzdXBwb3J0ZWQgKi8KK291dDoKKwl1bmxvY2tfa2VybmVsKCk7CisJcmV0dXJuIHJldDsKIH0KIAogLyoKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9lODIwLmMgYi9hcmNoL3g4Ni9rZXJuZWwvZTgyMC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI4YzI5MTgKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL3g4Ni9rZXJuZWwvZTgyMC5jCkBAIC0wLDAgKzEsMTM5MCBAQAorLyoKKyAqIEhhbmRsZSB0aGUgbWVtb3J5IG1hcC4KKyAqIFRoZSBmdW5jdGlvbnMgaGVyZSBkbyB0aGUgam9iIHVudGlsIGJvb3RtZW0gdGFrZXMgb3Zlci4KKyAqCisgKiAgR2V0dGluZyBzYW5pdGl6ZV9lODIwX21hcCgpIGluIHN5bmMgd2l0aCBpMzg2IHZlcnNpb24gYnkgYXBwbHlpbmcgY2hhbmdlOgorICogIC0gIFByb3Zpc2lvbnMgZm9yIGVtcHR5IEU4MjAgbWVtb3J5IHJlZ2lvbnMgKHJlcG9ydGVkIGJ5IGNlcnRhaW4gQklPU2VzKS4KKyAqICAgICBBbGV4IEFjaGVuYmFjaCA8eGVsYUBzbGl0LmRlPiwgRGVjZW1iZXIgMjAwMi4KKyAqICBWZW5rYXRlc2ggUGFsbGlwYWRpIDx2ZW5rYXRlc2gucGFsbGlwYWRpQGludGVsLmNvbT4KKyAqCisgKi8KKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9ib290bWVtLmg+CisjaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+CisjaW5jbHVkZSA8bGludXgvc3RyaW5nLmg+CisjaW5jbHVkZSA8bGludXgva2V4ZWMuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9tbS5oPgorI2luY2x1ZGUgPGxpbnV4L3Bmbi5oPgorI2luY2x1ZGUgPGxpbnV4L3N1c3BlbmQuaD4KKyNpbmNsdWRlIDxsaW51eC9maXJtd2FyZS1tYXAuaD4KKworI2luY2x1ZGUgPGFzbS9wZ3RhYmxlLmg+CisjaW5jbHVkZSA8YXNtL3BhZ2UuaD4KKyNpbmNsdWRlIDxhc20vZTgyMC5oPgorI2luY2x1ZGUgPGFzbS9wcm90by5oPgorI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgorI2luY2x1ZGUgPGFzbS90cmFtcG9saW5lLmg+CisKKy8qCisgKiBUaGUgZTgyMCBtYXAgaXMgdGhlIG1hcCB0aGF0IGdldHMgbW9kaWZpZWQgZS5nLiB3aXRoIGNvbW1hbmQgbGluZSBwYXJhbWV0ZXJzCisgKiBhbmQgdGhhdCBpcyBhbHNvIHJlZ2lzdGVyZWQgd2l0aCBtb2RpZmljYXRpb25zIGluIHRoZSBrZXJuZWwgcmVzb3VyY2UgdHJlZQorICogd2l0aCB0aGUgaW9tZW1fcmVzb3VyY2UgYXMgcGFyZW50LgorICoKKyAqIFRoZSBlODIwX3NhdmVkIGlzIGRpcmVjdGx5IHNhdmVkIGFmdGVyIHRoZSBCSU9TLXByb3ZpZGVkIG1lbW9yeSBtYXAgaXMKKyAqIGNvcGllZC4gSXQgZG9lc24ndCBnZXQgbW9kaWZpZWQgYWZ0ZXJ3YXJkcy4gSXQncyByZWdpc3RlcmVkIGZvciB0aGUKKyAqIC9zeXMvZmlybXdhcmUvbWVtbWFwIGludGVyZmFjZS4KKyAqCisgKiBUaGF0IG1lbW9yeSBtYXAgaXMgbm90IG1vZGlmaWVkIGFuZCBpcyB1c2VkIGFzIGJhc2UgZm9yIGtleGVjLiBUaGUga2V4ZWMnZAorICoga2VybmVsIHNob3VsZCBnZXQgdGhlIHNhbWUgbWVtb3J5IG1hcCBhcyB0aGUgZmlybXdhcmUgcHJvdmlkZXMuIFRoZW4gdGhlCisgKiB1c2VyIGNhbiBlLmcuIGJvb3QgdGhlIG9yaWdpbmFsIGtlcm5lbCB3aXRoIG1lbT0xRyB3aGlsZSBzdGlsbCBib290aW5nIHRoZQorICogbmV4dCBrZXJuZWwgd2l0aCBmdWxsIG1lbW9yeS4KKyAqLworc3RydWN0IGU4MjBtYXAgZTgyMDsKK3N0cnVjdCBlODIwbWFwIGU4MjBfc2F2ZWQ7CisKKy8qIEZvciBQQ0kgb3Igb3RoZXIgbWVtb3J5LW1hcHBlZCByZXNvdXJjZXMgKi8KK3Vuc2lnbmVkIGxvbmcgcGNpX21lbV9zdGFydCA9IDB4YWVlZGJhYmU7CisjaWZkZWYgQ09ORklHX1BDSQorRVhQT1JUX1NZTUJPTChwY2lfbWVtX3N0YXJ0KTsKKyNlbmRpZgorCisvKgorICogVGhpcyBmdW5jdGlvbiBjaGVja3MgaWYgYW55IHBhcnQgb2YgdGhlIHJhbmdlIDxzdGFydCxlbmQ+IGlzIG1hcHBlZAorICogd2l0aCB0eXBlLgorICovCitpbnQKK2U4MjBfYW55X21hcHBlZCh1NjQgc3RhcnQsIHU2NCBlbmQsIHVuc2lnbmVkIHR5cGUpCit7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgZTgyMC5ucl9tYXA7IGkrKykgeworCQlzdHJ1Y3QgZTgyMGVudHJ5ICplaSA9ICZlODIwLm1hcFtpXTsKKworCQlpZiAodHlwZSAmJiBlaS0+dHlwZSAhPSB0eXBlKQorCQkJY29udGludWU7CisJCWlmIChlaS0+YWRkciA+PSBlbmQgfHwgZWktPmFkZHIgKyBlaS0+c2l6ZSA8PSBzdGFydCkKKwkJCWNvbnRpbnVlOworCQlyZXR1cm4gMTsKKwl9CisJcmV0dXJuIDA7Cit9CitFWFBPUlRfU1lNQk9MX0dQTChlODIwX2FueV9tYXBwZWQpOworCisvKgorICogVGhpcyBmdW5jdGlvbiBjaGVja3MgaWYgdGhlIGVudGlyZSByYW5nZSA8c3RhcnQsZW5kPiBpcyBtYXBwZWQgd2l0aCB0eXBlLgorICoKKyAqIE5vdGU6IHRoaXMgZnVuY3Rpb24gb25seSB3b3JrcyBjb3JyZWN0IGlmIHRoZSBlODIwIHRhYmxlIGlzIHNvcnRlZCBhbmQKKyAqIG5vdC1vdmVybGFwcGluZywgd2hpY2ggaXMgdGhlIGNhc2UKKyAqLworaW50IF9faW5pdCBlODIwX2FsbF9tYXBwZWQodTY0IHN0YXJ0LCB1NjQgZW5kLCB1bnNpZ25lZCB0eXBlKQoreworCWludCBpOworCisJZm9yIChpID0gMDsgaSA8IGU4MjAubnJfbWFwOyBpKyspIHsKKwkJc3RydWN0IGU4MjBlbnRyeSAqZWkgPSAmZTgyMC5tYXBbaV07CisKKwkJaWYgKHR5cGUgJiYgZWktPnR5cGUgIT0gdHlwZSkKKwkJCWNvbnRpbnVlOworCQkvKiBpcyB0aGUgcmVnaW9uIChwYXJ0KSBpbiBvdmVybGFwIHdpdGggdGhlIGN1cnJlbnQgcmVnaW9uID8qLworCQlpZiAoZWktPmFkZHIgPj0gZW5kIHx8IGVpLT5hZGRyICsgZWktPnNpemUgPD0gc3RhcnQpCisJCQljb250aW51ZTsKKworCQkvKiBpZiB0aGUgcmVnaW9uIGlzIGF0IHRoZSBiZWdpbm5pbmcgb2YgPHN0YXJ0LGVuZD4gd2UgbW92ZQorCQkgKiBzdGFydCB0byB0aGUgZW5kIG9mIHRoZSByZWdpb24gc2luY2UgaXQncyBvayB1bnRpbCB0aGVyZQorCQkgKi8KKwkJaWYgKGVpLT5hZGRyIDw9IHN0YXJ0KQorCQkJc3RhcnQgPSBlaS0+YWRkciArIGVpLT5zaXplOworCQkvKgorCQkgKiBpZiBzdGFydCBpcyBub3cgYXQgb3IgYmV5b25kIGVuZCwgd2UncmUgZG9uZSwgZnVsbAorCQkgKiBjb3ZlcmFnZQorCQkgKi8KKwkJaWYgKHN0YXJ0ID49IGVuZCkKKwkJCXJldHVybiAxOworCX0KKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIEFkZCBhIG1lbW9yeSByZWdpb24gdG8gdGhlIGtlcm5lbCBlODIwIG1hcC4KKyAqLwordm9pZCBfX2luaXQgZTgyMF9hZGRfcmVnaW9uKHU2NCBzdGFydCwgdTY0IHNpemUsIGludCB0eXBlKQoreworCWludCB4ID0gZTgyMC5ucl9tYXA7CisKKwlpZiAoeCA9PSBBUlJBWV9TSVpFKGU4MjAubWFwKSkgeworCQlwcmludGsoS0VSTl9FUlIgIk9vb3BzISBUb28gbWFueSBlbnRyaWVzIGluIHRoZSBtZW1vcnkgbWFwIVxuIik7CisJCXJldHVybjsKKwl9CisKKwllODIwLm1hcFt4XS5hZGRyID0gc3RhcnQ7CisJZTgyMC5tYXBbeF0uc2l6ZSA9IHNpemU7CisJZTgyMC5tYXBbeF0udHlwZSA9IHR5cGU7CisJZTgyMC5ucl9tYXArKzsKK30KKwordm9pZCBfX2luaXQgZTgyMF9wcmludF9tYXAoY2hhciAqd2hvKQoreworCWludCBpOworCisJZm9yIChpID0gMDsgaSA8IGU4MjAubnJfbWFwOyBpKyspIHsKKwkJcHJpbnRrKEtFUk5fSU5GTyAiICVzOiAlMDE2THggLSAlMDE2THggIiwgd2hvLAorCQkgICAgICAgKHVuc2lnbmVkIGxvbmcgbG9uZykgZTgyMC5tYXBbaV0uYWRkciwKKwkJICAgICAgICh1bnNpZ25lZCBsb25nIGxvbmcpCisJCSAgICAgICAoZTgyMC5tYXBbaV0uYWRkciArIGU4MjAubWFwW2ldLnNpemUpKTsKKwkJc3dpdGNoIChlODIwLm1hcFtpXS50eXBlKSB7CisJCWNhc2UgRTgyMF9SQU06CisJCWNhc2UgRTgyMF9SRVNFUlZFRF9LRVJOOgorCQkJcHJpbnRrKEtFUk5fQ09OVCAiKHVzYWJsZSlcbiIpOworCQkJYnJlYWs7CisJCWNhc2UgRTgyMF9SRVNFUlZFRDoKKwkJCXByaW50ayhLRVJOX0NPTlQgIihyZXNlcnZlZClcbiIpOworCQkJYnJlYWs7CisJCWNhc2UgRTgyMF9BQ1BJOgorCQkJcHJpbnRrKEtFUk5fQ09OVCAiKEFDUEkgZGF0YSlcbiIpOworCQkJYnJlYWs7CisJCWNhc2UgRTgyMF9OVlM6CisJCQlwcmludGsoS0VSTl9DT05UICIoQUNQSSBOVlMpXG4iKTsKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJcHJpbnRrKEtFUk5fQ09OVCAidHlwZSAldVxuIiwgZTgyMC5tYXBbaV0udHlwZSk7CisJCQlicmVhazsKKwkJfQorCX0KK30KKworLyoKKyAqIFNhbml0aXplIHRoZSBCSU9TIGU4MjAgbWFwLgorICoKKyAqIFNvbWUgZTgyMCByZXNwb25zZXMgaW5jbHVkZSBvdmVybGFwcGluZyBlbnRyaWVzLiBUaGUgZm9sbG93aW5nCisgKiByZXBsYWNlcyB0aGUgb3JpZ2luYWwgZTgyMCBtYXAgd2l0aCBhIG5ldyBvbmUsIHJlbW92aW5nIG92ZXJsYXBzLAorICogYW5kIHJlc29sdmluZyBjb25mbGljdGluZyBtZW1vcnkgdHlwZXMgaW4gZmF2b3Igb2YgaGlnaGVzdAorICogbnVtYmVyZWQgdHlwZS4KKyAqCisgKiBUaGUgaW5wdXQgcGFyYW1ldGVyIGJpb3NtYXAgcG9pbnRzIHRvIGFuIGFycmF5IG9mICdzdHJ1Y3QKKyAqIGU4MjBlbnRyeScgd2hpY2ggb24gZW50cnkgaGFzIGVsZW1lbnRzIGluIHRoZSByYW5nZSBbMCwgKnBucl9tYXApCisgKiB2YWxpZCwgYW5kIHdoaWNoIGhhcyBzcGFjZSBmb3IgdXAgdG8gbWF4X25yX21hcCBlbnRyaWVzLgorICogT24gcmV0dXJuLCB0aGUgcmVzdWx0aW5nIHNhbml0aXplZCBlODIwIG1hcCBlbnRyaWVzIHdpbGwgYmUgaW4KKyAqIG92ZXJ3cml0dGVuIGluIHRoZSBzYW1lIGxvY2F0aW9uLCBzdGFydGluZyBhdCBiaW9zbWFwLgorICoKKyAqIFRoZSBpbnRlZ2VyIHBvaW50ZWQgdG8gYnkgcG5yX21hcCBtdXN0IGJlIHZhbGlkIG9uIGVudHJ5ICh0aGUKKyAqIGN1cnJlbnQgbnVtYmVyIG9mIHZhbGlkIGVudHJpZXMgbG9jYXRlZCBhdCBiaW9zbWFwKSBhbmQgd2lsbAorICogYmUgdXBkYXRlZCBvbiByZXR1cm4sIHdpdGggdGhlIG5ldyBudW1iZXIgb2YgdmFsaWQgZW50cmllcworICogKHNvbWV0aGluZyBubyBtb3JlIHRoYW4gbWF4X25yX21hcC4pCisgKgorICogVGhlIHJldHVybiB2YWx1ZSBmcm9tIHNhbml0aXplX2U4MjBfbWFwKCkgaXMgemVybyBpZiBpdAorICogc3VjY2Vzc2Z1bGx5ICdzYW5pdGl6ZWQnIHRoZSBtYXAgZW50cmllcyBwYXNzZWQgaW4sIGFuZCBpcyAtMQorICogaWYgaXQgZGlkIG5vdGhpbmcsIHdoaWNoIGNhbiBoYXBwZW4gaWYgZWl0aGVyIG9mICgxKSBpdCB3YXMKKyAqIG9ubHkgcGFzc2VkIG9uZSBtYXAgZW50cnksIG9yICgyKSBhbnkgb2YgdGhlIGlucHV0IG1hcCBlbnRyaWVzCisgKiB3ZXJlIGludmFsaWQgKHN0YXJ0ICsgc2l6ZSA8IHN0YXJ0LCBtZWFuaW5nIHRoYXQgdGhlIHNpemUgd2FzCisgKiBzbyBiaWcgdGhlIGRlc2NyaWJlZCBtZW1vcnkgcmFuZ2Ugd3JhcHBlZCBhcm91bmQgdGhyb3VnaCB6ZXJvLikKKyAqCisgKglWaXN1YWxseSB3ZSdyZSBwZXJmb3JtaW5nIHRoZSBmb2xsb3dpbmcKKyAqCSgxLDIsMyw0ID0gbWVtb3J5IHR5cGVzKS4uLgorICoKKyAqCVNhbXBsZSBtZW1vcnkgbWFwICh3L292ZXJsYXBzKToKKyAqCSAgIF9fX18yMl9fX19fX19fX19fX19fX19fXworICoJICAgX19fX19fX19fX19fX19fX19fX19fXzRfCisgKgkgICBfX19fMTExMV9fX19fX19fX19fX19fX18KKyAqCSAgIF80NF9fX19fX19fX19fX19fX19fX19fXworICoJICAgMTExMTExMTFfX19fX19fX19fX19fX19fCisgKgkgICBfX19fX19fX19fX19fX19fX19fXzMzX18KKyAqCSAgIF9fX19fX19fX19fNDRfX19fX19fX19fXworICoJICAgX19fX19fX19fXzMzMzMzX19fX19fX19fCisgKgkgICBfX19fX19fX19fX19fXzIyX19fX19fX18KKyAqCSAgIF9fX19fX19fX19fX19fX19fX18yMjIyXworICoJICAgX19fX19fX19fMTExMTExMTExX19fX19fCisgKgkgICBfX19fX19fX19fX19fX19fX19fX18xMV8KKyAqCSAgIF9fX19fX19fX19fX19fX19fNF9fX19fXworICoKKyAqCVNhbml0aXplZCBlcXVpdmFsZW50IChubyBvdmVybGFwKToKKyAqCSAgIDFfX19fX19fX19fX19fX19fX19fX19fXworICoJICAgXzQ0X19fX19fX19fX19fX19fX19fX19fCisgKgkgICBfX18xX19fX19fX19fX19fX19fX19fX18KKyAqCSAgIF9fX18yMl9fX19fX19fX19fX19fX19fXworICoJICAgX19fX19fMTFfX19fX19fX19fX19fX19fCisgKgkgICBfX19fX19fX18xX19fX19fX19fX19fX18KKyAqCSAgIF9fX19fX19fX18zX19fX19fX19fX19fXworICoJICAgX19fX19fX19fX180NF9fX19fX19fX19fCisgKgkgICBfX19fX19fX19fX19fMzNfX19fX19fX18KKyAqCSAgIF9fX19fX19fX19fX19fXzJfX19fX19fXworICoJICAgX19fX19fX19fX19fX19fXzFfX19fX19fCisgKgkgICBfX19fX19fX19fX19fX19fXzRfX19fX18KKyAqCSAgIF9fX19fX19fX19fX19fX19fX18yX19fXworICoJICAgX19fX19fX19fX19fX19fX19fX18zM19fCisgKgkgICBfX19fX19fX19fX19fX19fX19fX19fNF8KKyAqLworCitpbnQgX19pbml0IHNhbml0aXplX2U4MjBfbWFwKHN0cnVjdCBlODIwZW50cnkgKmJpb3NtYXAsIGludCBtYXhfbnJfbWFwLAorCQkJCWludCAqcG5yX21hcCkKK3sKKwlzdHJ1Y3QgY2hhbmdlX21lbWJlciB7CisJCXN0cnVjdCBlODIwZW50cnkgKnBiaW9zOyAvKiBwb2ludGVyIHRvIG9yaWdpbmFsIGJpb3MgZW50cnkgKi8KKwkJdW5zaWduZWQgbG9uZyBsb25nIGFkZHI7IC8qIGFkZHJlc3MgZm9yIHRoaXMgY2hhbmdlIHBvaW50ICovCisJfTsKKwlzdGF0aWMgc3RydWN0IGNoYW5nZV9tZW1iZXIgY2hhbmdlX3BvaW50X2xpc3RbMipFODIwX1hfTUFYXSBfX2luaXRkYXRhOworCXN0YXRpYyBzdHJ1Y3QgY2hhbmdlX21lbWJlciAqY2hhbmdlX3BvaW50WzIqRTgyMF9YX01BWF0gX19pbml0ZGF0YTsKKwlzdGF0aWMgc3RydWN0IGU4MjBlbnRyeSAqb3ZlcmxhcF9saXN0W0U4MjBfWF9NQVhdIF9faW5pdGRhdGE7CisJc3RhdGljIHN0cnVjdCBlODIwZW50cnkgbmV3X2Jpb3NbRTgyMF9YX01BWF0gX19pbml0ZGF0YTsKKwlzdHJ1Y3QgY2hhbmdlX21lbWJlciAqY2hhbmdlX3RtcDsKKwl1bnNpZ25lZCBsb25nIGN1cnJlbnRfdHlwZSwgbGFzdF90eXBlOworCXVuc2lnbmVkIGxvbmcgbG9uZyBsYXN0X2FkZHI7CisJaW50IGNoZ2lkeCwgc3RpbGxfY2hhbmdpbmc7CisJaW50IG92ZXJsYXBfZW50cmllczsKKwlpbnQgbmV3X2Jpb3NfZW50cnk7CisJaW50IG9sZF9uciwgbmV3X25yLCBjaGdfbnI7CisJaW50IGk7CisKKwkvKiBpZiB0aGVyZSdzIG9ubHkgb25lIG1lbW9yeSByZWdpb24sIGRvbid0IGJvdGhlciAqLworCWlmICgqcG5yX21hcCA8IDIpCisJCXJldHVybiAtMTsKKworCW9sZF9uciA9ICpwbnJfbWFwOworCUJVR19PTihvbGRfbnIgPiBtYXhfbnJfbWFwKTsKKworCS8qIGJhaWwgb3V0IGlmIHdlIGZpbmQgYW55IHVucmVhc29uYWJsZSBhZGRyZXNzZXMgaW4gYmlvcyBtYXAgKi8KKwlmb3IgKGkgPSAwOyBpIDwgb2xkX25yOyBpKyspCisJCWlmIChiaW9zbWFwW2ldLmFkZHIgKyBiaW9zbWFwW2ldLnNpemUgPCBiaW9zbWFwW2ldLmFkZHIpCisJCQlyZXR1cm4gLTE7CisKKwkvKiBjcmVhdGUgcG9pbnRlcnMgZm9yIGluaXRpYWwgY2hhbmdlLXBvaW50IGluZm9ybWF0aW9uIChmb3Igc29ydGluZykgKi8KKwlmb3IgKGkgPSAwOyBpIDwgMiAqIG9sZF9ucjsgaSsrKQorCQljaGFuZ2VfcG9pbnRbaV0gPSAmY2hhbmdlX3BvaW50X2xpc3RbaV07CisKKwkvKiByZWNvcmQgYWxsIGtub3duIGNoYW5nZS1wb2ludHMgKHN0YXJ0aW5nIGFuZCBlbmRpbmcgYWRkcmVzc2VzKSwKKwkgICBvbWl0dGluZyB0aG9zZSB0aGF0IGFyZSBmb3IgZW1wdHkgbWVtb3J5IHJlZ2lvbnMgKi8KKwljaGdpZHggPSAwOworCWZvciAoaSA9IDA7IGkgPCBvbGRfbnI7IGkrKykJeworCQlpZiAoYmlvc21hcFtpXS5zaXplICE9IDApIHsKKwkJCWNoYW5nZV9wb2ludFtjaGdpZHhdLT5hZGRyID0gYmlvc21hcFtpXS5hZGRyOworCQkJY2hhbmdlX3BvaW50W2NoZ2lkeCsrXS0+cGJpb3MgPSAmYmlvc21hcFtpXTsKKwkJCWNoYW5nZV9wb2ludFtjaGdpZHhdLT5hZGRyID0gYmlvc21hcFtpXS5hZGRyICsKKwkJCQliaW9zbWFwW2ldLnNpemU7CisJCQljaGFuZ2VfcG9pbnRbY2hnaWR4KytdLT5wYmlvcyA9ICZiaW9zbWFwW2ldOworCQl9CisJfQorCWNoZ19uciA9IGNoZ2lkeDsKKworCS8qIHNvcnQgY2hhbmdlLXBvaW50IGxpc3QgYnkgbWVtb3J5IGFkZHJlc3NlcyAobG93IC0+IGhpZ2gpICovCisJc3RpbGxfY2hhbmdpbmcgPSAxOworCXdoaWxlIChzdGlsbF9jaGFuZ2luZykJeworCQlzdGlsbF9jaGFuZ2luZyA9IDA7CisJCWZvciAoaSA9IDE7IGkgPCBjaGdfbnI7IGkrKykgIHsKKwkJCXVuc2lnbmVkIGxvbmcgbG9uZyBjdXJhZGRyLCBsYXN0YWRkcjsKKwkJCXVuc2lnbmVkIGxvbmcgbG9uZyBjdXJwYmFkZHIsIGxhc3RwYmFkZHI7CisKKwkJCWN1cmFkZHIgPSBjaGFuZ2VfcG9pbnRbaV0tPmFkZHI7CisJCQlsYXN0YWRkciA9IGNoYW5nZV9wb2ludFtpIC0gMV0tPmFkZHI7CisJCQljdXJwYmFkZHIgPSBjaGFuZ2VfcG9pbnRbaV0tPnBiaW9zLT5hZGRyOworCQkJbGFzdHBiYWRkciA9IGNoYW5nZV9wb2ludFtpIC0gMV0tPnBiaW9zLT5hZGRyOworCisJCQkvKgorCQkJICogc3dhcCBlbnRyaWVzLCB3aGVuOgorCQkJICoKKwkJCSAqIGN1cmFkZHIgPiBsYXN0YWRkciBvcgorCQkJICogY3VyYWRkciA9PSBsYXN0YWRkciBhbmQgY3VyYWRkciA9PSBjdXJwYmFkZHIgYW5kCisJCQkgKiBsYXN0YWRkciAhPSBsYXN0cGJhZGRyCisJCQkgKi8KKwkJCWlmIChjdXJhZGRyIDwgbGFzdGFkZHIgfHwKKwkJCSAgICAoY3VyYWRkciA9PSBsYXN0YWRkciAmJiBjdXJhZGRyID09IGN1cnBiYWRkciAmJgorCQkJICAgICBsYXN0YWRkciAhPSBsYXN0cGJhZGRyKSkgeworCQkJCWNoYW5nZV90bXAgPSBjaGFuZ2VfcG9pbnRbaV07CisJCQkJY2hhbmdlX3BvaW50W2ldID0gY2hhbmdlX3BvaW50W2ktMV07CisJCQkJY2hhbmdlX3BvaW50W2ktMV0gPSBjaGFuZ2VfdG1wOworCQkJCXN0aWxsX2NoYW5naW5nID0gMTsKKwkJCX0KKwkJfQorCX0KKworCS8qIGNyZWF0ZSBhIG5ldyBiaW9zIG1lbW9yeSBtYXAsIHJlbW92aW5nIG92ZXJsYXBzICovCisJb3ZlcmxhcF9lbnRyaWVzID0gMDsJIC8qIG51bWJlciBvZiBlbnRyaWVzIGluIHRoZSBvdmVybGFwIHRhYmxlICovCisJbmV3X2Jpb3NfZW50cnkgPSAwOwkgLyogaW5kZXggZm9yIGNyZWF0aW5nIG5ldyBiaW9zIG1hcCBlbnRyaWVzICovCisJbGFzdF90eXBlID0gMDsJCSAvKiBzdGFydCB3aXRoIHVuZGVmaW5lZCBtZW1vcnkgdHlwZSAqLworCWxhc3RfYWRkciA9IDA7CQkgLyogc3RhcnQgd2l0aCAwIGFzIGxhc3Qgc3RhcnRpbmcgYWRkcmVzcyAqLworCisJLyogbG9vcCB0aHJvdWdoIGNoYW5nZS1wb2ludHMsIGRldGVybWluaW5nIGFmZmVjdCBvbiB0aGUgbmV3IGJpb3MgbWFwICovCisJZm9yIChjaGdpZHggPSAwOyBjaGdpZHggPCBjaGdfbnI7IGNoZ2lkeCsrKSB7CisJCS8qIGtlZXAgdHJhY2sgb2YgYWxsIG92ZXJsYXBwaW5nIGJpb3MgZW50cmllcyAqLworCQlpZiAoY2hhbmdlX3BvaW50W2NoZ2lkeF0tPmFkZHIgPT0KKwkJICAgIGNoYW5nZV9wb2ludFtjaGdpZHhdLT5wYmlvcy0+YWRkcikgeworCQkJLyoKKwkJCSAqIGFkZCBtYXAgZW50cnkgdG8gb3ZlcmxhcCBsaXN0ICg+IDEgZW50cnkKKwkJCSAqIGltcGxpZXMgYW4gb3ZlcmxhcCkKKwkJCSAqLworCQkJb3ZlcmxhcF9saXN0W292ZXJsYXBfZW50cmllcysrXSA9CisJCQkJY2hhbmdlX3BvaW50W2NoZ2lkeF0tPnBiaW9zOworCQl9IGVsc2UgeworCQkJLyoKKwkJCSAqIHJlbW92ZSBlbnRyeSBmcm9tIGxpc3QgKG9yZGVyIGluZGVwZW5kZW50LAorCQkJICogc28gc3dhcCB3aXRoIGxhc3QpCisJCQkgKi8KKwkJCWZvciAoaSA9IDA7IGkgPCBvdmVybGFwX2VudHJpZXM7IGkrKykgeworCQkJCWlmIChvdmVybGFwX2xpc3RbaV0gPT0KKwkJCQkgICAgY2hhbmdlX3BvaW50W2NoZ2lkeF0tPnBiaW9zKQorCQkJCQlvdmVybGFwX2xpc3RbaV0gPQorCQkJCQkJb3ZlcmxhcF9saXN0W292ZXJsYXBfZW50cmllcy0xXTsKKwkJCX0KKwkJCW92ZXJsYXBfZW50cmllcy0tOworCQl9CisJCS8qCisJCSAqIGlmIHRoZXJlIGFyZSBvdmVybGFwcGluZyBlbnRyaWVzLCBkZWNpZGUgd2hpY2gKKwkJICogInR5cGUiIHRvIHVzZSAobGFyZ2VyIHZhbHVlIHRha2VzIHByZWNlZGVuY2UgLS0KKwkJICogMT11c2FibGUsIDIsMyw0LDQrPXVudXNhYmxlKQorCQkgKi8KKwkJY3VycmVudF90eXBlID0gMDsKKwkJZm9yIChpID0gMDsgaSA8IG92ZXJsYXBfZW50cmllczsgaSsrKQorCQkJaWYgKG92ZXJsYXBfbGlzdFtpXS0+dHlwZSA+IGN1cnJlbnRfdHlwZSkKKwkJCQljdXJyZW50X3R5cGUgPSBvdmVybGFwX2xpc3RbaV0tPnR5cGU7CisJCS8qCisJCSAqIGNvbnRpbnVlIGJ1aWxkaW5nIHVwIG5ldyBiaW9zIG1hcCBiYXNlZCBvbiB0aGlzCisJCSAqIGluZm9ybWF0aW9uCisJCSAqLworCQlpZiAoY3VycmVudF90eXBlICE9IGxhc3RfdHlwZSkJeworCQkJaWYgKGxhc3RfdHlwZSAhPSAwKQkgeworCQkJCW5ld19iaW9zW25ld19iaW9zX2VudHJ5XS5zaXplID0KKwkJCQkJY2hhbmdlX3BvaW50W2NoZ2lkeF0tPmFkZHIgLSBsYXN0X2FkZHI7CisJCQkJLyoKKwkJCQkgKiBtb3ZlIGZvcndhcmQgb25seSBpZiB0aGUgbmV3IHNpemUKKwkJCQkgKiB3YXMgbm9uLXplcm8KKwkJCQkgKi8KKwkJCQlpZiAobmV3X2Jpb3NbbmV3X2Jpb3NfZW50cnldLnNpemUgIT0gMCkKKwkJCQkJLyoKKwkJCQkJICogbm8gbW9yZSBzcGFjZSBsZWZ0IGZvciBuZXcKKwkJCQkJICogYmlvcyBlbnRyaWVzID8KKwkJCQkJICovCisJCQkJCWlmICgrK25ld19iaW9zX2VudHJ5ID49IG1heF9ucl9tYXApCisJCQkJCQlicmVhazsKKwkJCX0KKwkJCWlmIChjdXJyZW50X3R5cGUgIT0gMCkJeworCQkJCW5ld19iaW9zW25ld19iaW9zX2VudHJ5XS5hZGRyID0KKwkJCQkJY2hhbmdlX3BvaW50W2NoZ2lkeF0tPmFkZHI7CisJCQkJbmV3X2Jpb3NbbmV3X2Jpb3NfZW50cnldLnR5cGUgPSBjdXJyZW50X3R5cGU7CisJCQkJbGFzdF9hZGRyID0gY2hhbmdlX3BvaW50W2NoZ2lkeF0tPmFkZHI7CisJCQl9CisJCQlsYXN0X3R5cGUgPSBjdXJyZW50X3R5cGU7CisJCX0KKwl9CisJLyogcmV0YWluIGNvdW50IGZvciBuZXcgYmlvcyBlbnRyaWVzICovCisJbmV3X25yID0gbmV3X2Jpb3NfZW50cnk7CisKKwkvKiBjb3B5IG5ldyBiaW9zIG1hcHBpbmcgaW50byBvcmlnaW5hbCBsb2NhdGlvbiAqLworCW1lbWNweShiaW9zbWFwLCBuZXdfYmlvcywgbmV3X25yICogc2l6ZW9mKHN0cnVjdCBlODIwZW50cnkpKTsKKwkqcG5yX21hcCA9IG5ld19ucjsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IF9faW5pdCBfX2FwcGVuZF9lODIwX21hcChzdHJ1Y3QgZTgyMGVudHJ5ICpiaW9zbWFwLCBpbnQgbnJfbWFwKQoreworCXdoaWxlIChucl9tYXApIHsKKwkJdTY0IHN0YXJ0ID0gYmlvc21hcC0+YWRkcjsKKwkJdTY0IHNpemUgPSBiaW9zbWFwLT5zaXplOworCQl1NjQgZW5kID0gc3RhcnQgKyBzaXplOworCQl1MzIgdHlwZSA9IGJpb3NtYXAtPnR5cGU7CisKKwkJLyogT3ZlcmZsb3cgaW4gNjQgYml0cz8gSWdub3JlIHRoZSBtZW1vcnkgbWFwLiAqLworCQlpZiAoc3RhcnQgPiBlbmQpCisJCQlyZXR1cm4gLTE7CisKKwkJZTgyMF9hZGRfcmVnaW9uKHN0YXJ0LCBzaXplLCB0eXBlKTsKKworCQliaW9zbWFwKys7CisJCW5yX21hcC0tOworCX0KKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIENvcHkgdGhlIEJJT1MgZTgyMCBtYXAgaW50byBhIHNhZmUgcGxhY2UuCisgKgorICogU2FuaXR5LWNoZWNrIGl0IHdoaWxlIHdlJ3JlIGF0IGl0Li4KKyAqCisgKiBJZiB3ZSdyZSBsdWNreSBhbmQgbGl2ZSBvbiBhIG1vZGVybiBzeXN0ZW0sIHRoZSBzZXR1cCBjb2RlCisgKiB3aWxsIGhhdmUgZ2l2ZW4gdXMgYSBtZW1vcnkgbWFwIHRoYXQgd2UgY2FuIHVzZSB0byBwcm9wZXJseQorICogc2V0IHVwIG1lbW9yeS4gIElmIHdlIGFyZW4ndCwgd2UnbGwgZmFrZSBhIG1lbW9yeSBtYXAuCisgKi8KK3N0YXRpYyBpbnQgX19pbml0IGFwcGVuZF9lODIwX21hcChzdHJ1Y3QgZTgyMGVudHJ5ICpiaW9zbWFwLCBpbnQgbnJfbWFwKQoreworCS8qIE9ubHkgb25lIG1lbW9yeSByZWdpb24gKG9yIG5lZ2F0aXZlKT8gSWdub3JlIGl0ICovCisJaWYgKG5yX21hcCA8IDIpCisJCXJldHVybiAtMTsKKworCXJldHVybiBfX2FwcGVuZF9lODIwX21hcChiaW9zbWFwLCBucl9tYXApOworfQorCitzdGF0aWMgdTY0IF9faW5pdCBlODIwX3VwZGF0ZV9yYW5nZV9tYXAoc3RydWN0IGU4MjBtYXAgKmU4MjB4LCB1NjQgc3RhcnQsCisJCQkJCXU2NCBzaXplLCB1bnNpZ25lZCBvbGRfdHlwZSwKKwkJCQkJdW5zaWduZWQgbmV3X3R5cGUpCit7CisJaW50IGk7CisJdTY0IHJlYWxfdXBkYXRlZF9zaXplID0gMDsKKworCUJVR19PTihvbGRfdHlwZSA9PSBuZXdfdHlwZSk7CisKKwlpZiAoc2l6ZSA+IChVTExPTkdfTUFYIC0gc3RhcnQpKQorCQlzaXplID0gVUxMT05HX01BWCAtIHN0YXJ0OworCisJZm9yIChpID0gMDsgaSA8IGU4MjAubnJfbWFwOyBpKyspIHsKKwkJc3RydWN0IGU4MjBlbnRyeSAqZWkgPSAmZTgyMHgtPm1hcFtpXTsKKwkJdTY0IGZpbmFsX3N0YXJ0LCBmaW5hbF9lbmQ7CisJCWlmIChlaS0+dHlwZSAhPSBvbGRfdHlwZSkKKwkJCWNvbnRpbnVlOworCQkvKiB0b3RhbGx5IGNvdmVyZWQ/ICovCisJCWlmIChlaS0+YWRkciA+PSBzdGFydCAmJgorCQkgICAgKGVpLT5hZGRyICsgZWktPnNpemUpIDw9IChzdGFydCArIHNpemUpKSB7CisJCQllaS0+dHlwZSA9IG5ld190eXBlOworCQkJcmVhbF91cGRhdGVkX3NpemUgKz0gZWktPnNpemU7CisJCQljb250aW51ZTsKKwkJfQorCQkvKiBwYXJ0aWFsbHkgY292ZXJlZCAqLworCQlmaW5hbF9zdGFydCA9IG1heChzdGFydCwgZWktPmFkZHIpOworCQlmaW5hbF9lbmQgPSBtaW4oc3RhcnQgKyBzaXplLCBlaS0+YWRkciArIGVpLT5zaXplKTsKKwkJaWYgKGZpbmFsX3N0YXJ0ID49IGZpbmFsX2VuZCkKKwkJCWNvbnRpbnVlOworCQllODIwX2FkZF9yZWdpb24oZmluYWxfc3RhcnQsIGZpbmFsX2VuZCAtIGZpbmFsX3N0YXJ0LAorCQkJCQkgbmV3X3R5cGUpOworCQlyZWFsX3VwZGF0ZWRfc2l6ZSArPSBmaW5hbF9lbmQgLSBmaW5hbF9zdGFydDsKKworCQllaS0+c2l6ZSAtPSBmaW5hbF9lbmQgLSBmaW5hbF9zdGFydDsKKwkJaWYgKGVpLT5hZGRyIDwgZmluYWxfc3RhcnQpCisJCQljb250aW51ZTsKKwkJZWktPmFkZHIgPSBmaW5hbF9lbmQ7CisJfQorCXJldHVybiByZWFsX3VwZGF0ZWRfc2l6ZTsKK30KKwordTY0IF9faW5pdCBlODIwX3VwZGF0ZV9yYW5nZSh1NjQgc3RhcnQsIHU2NCBzaXplLCB1bnNpZ25lZCBvbGRfdHlwZSwKKwkJCSAgICAgdW5zaWduZWQgbmV3X3R5cGUpCit7CisJcmV0dXJuIGU4MjBfdXBkYXRlX3JhbmdlX21hcCgmZTgyMCwgc3RhcnQsIHNpemUsIG9sZF90eXBlLCBuZXdfdHlwZSk7Cit9CisKK3N0YXRpYyB1NjQgX19pbml0IGU4MjBfdXBkYXRlX3JhbmdlX3NhdmVkKHU2NCBzdGFydCwgdTY0IHNpemUsCisJCQkJCSAgdW5zaWduZWQgb2xkX3R5cGUsIHVuc2lnbmVkIG5ld190eXBlKQoreworCXJldHVybiBlODIwX3VwZGF0ZV9yYW5nZV9tYXAoJmU4MjBfc2F2ZWQsIHN0YXJ0LCBzaXplLCBvbGRfdHlwZSwKKwkJCQkgICAgIG5ld190eXBlKTsKK30KKworLyogbWFrZSBlODIwIG5vdCBjb3ZlciB0aGUgcmFuZ2UgKi8KK3U2NCBfX2luaXQgZTgyMF9yZW1vdmVfcmFuZ2UodTY0IHN0YXJ0LCB1NjQgc2l6ZSwgdW5zaWduZWQgb2xkX3R5cGUsCisJCQkgICAgIGludCBjaGVja3R5cGUpCit7CisJaW50IGk7CisJdTY0IHJlYWxfcmVtb3ZlZF9zaXplID0gMDsKKworCWlmIChzaXplID4gKFVMTE9OR19NQVggLSBzdGFydCkpCisJCXNpemUgPSBVTExPTkdfTUFYIC0gc3RhcnQ7CisKKwlmb3IgKGkgPSAwOyBpIDwgZTgyMC5ucl9tYXA7IGkrKykgeworCQlzdHJ1Y3QgZTgyMGVudHJ5ICplaSA9ICZlODIwLm1hcFtpXTsKKwkJdTY0IGZpbmFsX3N0YXJ0LCBmaW5hbF9lbmQ7CisKKwkJaWYgKGNoZWNrdHlwZSAmJiBlaS0+dHlwZSAhPSBvbGRfdHlwZSkKKwkJCWNvbnRpbnVlOworCQkvKiB0b3RhbGx5IGNvdmVyZWQ/ICovCisJCWlmIChlaS0+YWRkciA+PSBzdGFydCAmJgorCQkgICAgKGVpLT5hZGRyICsgZWktPnNpemUpIDw9IChzdGFydCArIHNpemUpKSB7CisJCQlyZWFsX3JlbW92ZWRfc2l6ZSArPSBlaS0+c2l6ZTsKKwkJCW1lbXNldChlaSwgMCwgc2l6ZW9mKHN0cnVjdCBlODIwZW50cnkpKTsKKwkJCWNvbnRpbnVlOworCQl9CisJCS8qIHBhcnRpYWxseSBjb3ZlcmVkICovCisJCWZpbmFsX3N0YXJ0ID0gbWF4KHN0YXJ0LCBlaS0+YWRkcik7CisJCWZpbmFsX2VuZCA9IG1pbihzdGFydCArIHNpemUsIGVpLT5hZGRyICsgZWktPnNpemUpOworCQlpZiAoZmluYWxfc3RhcnQgPj0gZmluYWxfZW5kKQorCQkJY29udGludWU7CisJCXJlYWxfcmVtb3ZlZF9zaXplICs9IGZpbmFsX2VuZCAtIGZpbmFsX3N0YXJ0OworCisJCWVpLT5zaXplIC09IGZpbmFsX2VuZCAtIGZpbmFsX3N0YXJ0OworCQlpZiAoZWktPmFkZHIgPCBmaW5hbF9zdGFydCkKKwkJCWNvbnRpbnVlOworCQllaS0+YWRkciA9IGZpbmFsX2VuZDsKKwl9CisJcmV0dXJuIHJlYWxfcmVtb3ZlZF9zaXplOworfQorCit2b2lkIF9faW5pdCB1cGRhdGVfZTgyMCh2b2lkKQoreworCWludCBucl9tYXA7CisKKwlucl9tYXAgPSBlODIwLm5yX21hcDsKKwlpZiAoc2FuaXRpemVfZTgyMF9tYXAoZTgyMC5tYXAsIEFSUkFZX1NJWkUoZTgyMC5tYXApLCAmbnJfbWFwKSkKKwkJcmV0dXJuOworCWU4MjAubnJfbWFwID0gbnJfbWFwOworCXByaW50ayhLRVJOX0lORk8gIm1vZGlmaWVkIHBoeXNpY2FsIFJBTSBtYXA6XG4iKTsKKwllODIwX3ByaW50X21hcCgibW9kaWZpZWQiKTsKK30KK3N0YXRpYyB2b2lkIF9faW5pdCB1cGRhdGVfZTgyMF9zYXZlZCh2b2lkKQoreworCWludCBucl9tYXA7CisKKwlucl9tYXAgPSBlODIwX3NhdmVkLm5yX21hcDsKKwlpZiAoc2FuaXRpemVfZTgyMF9tYXAoZTgyMF9zYXZlZC5tYXAsIEFSUkFZX1NJWkUoZTgyMF9zYXZlZC5tYXApLCAmbnJfbWFwKSkKKwkJcmV0dXJuOworCWU4MjBfc2F2ZWQubnJfbWFwID0gbnJfbWFwOworfQorI2RlZmluZSBNQVhfR0FQX0VORCAweDEwMDAwMDAwMHVsbAorLyoKKyAqIFNlYXJjaCBmb3IgYSBnYXAgaW4gdGhlIGU4MjAgbWVtb3J5IHNwYWNlIGZyb20gc3RhcnRfYWRkciB0byBlbmRfYWRkci4KKyAqLworX19pbml0IGludCBlODIwX3NlYXJjaF9nYXAodW5zaWduZWQgbG9uZyAqZ2Fwc3RhcnQsIHVuc2lnbmVkIGxvbmcgKmdhcHNpemUsCisJCXVuc2lnbmVkIGxvbmcgc3RhcnRfYWRkciwgdW5zaWduZWQgbG9uZyBsb25nIGVuZF9hZGRyKQoreworCXVuc2lnbmVkIGxvbmcgbG9uZyBsYXN0OworCWludCBpID0gZTgyMC5ucl9tYXA7CisJaW50IGZvdW5kID0gMDsKKworCWxhc3QgPSAoZW5kX2FkZHIgJiYgZW5kX2FkZHIgPCBNQVhfR0FQX0VORCkgPyBlbmRfYWRkciA6IE1BWF9HQVBfRU5EOworCisJd2hpbGUgKC0taSA+PSAwKSB7CisJCXVuc2lnbmVkIGxvbmcgbG9uZyBzdGFydCA9IGU4MjAubWFwW2ldLmFkZHI7CisJCXVuc2lnbmVkIGxvbmcgbG9uZyBlbmQgPSBzdGFydCArIGU4MjAubWFwW2ldLnNpemU7CisKKwkJaWYgKGVuZCA8IHN0YXJ0X2FkZHIpCisJCQljb250aW51ZTsKKworCQkvKgorCQkgKiBTaW5jZSAibGFzdCIgaXMgYXQgbW9zdCA0R0IsIHdlIGtub3cgd2UnbGwKKwkJICogZml0IGluIDMyIGJpdHMgaWYgdGhpcyBjb25kaXRpb24gaXMgdHJ1ZQorCQkgKi8KKwkJaWYgKGxhc3QgPiBlbmQpIHsKKwkJCXVuc2lnbmVkIGxvbmcgZ2FwID0gbGFzdCAtIGVuZDsKKworCQkJaWYgKGdhcCA+PSAqZ2Fwc2l6ZSkgeworCQkJCSpnYXBzaXplID0gZ2FwOworCQkJCSpnYXBzdGFydCA9IGVuZDsKKwkJCQlmb3VuZCA9IDE7CisJCQl9CisJCX0KKwkJaWYgKHN0YXJ0IDwgbGFzdCkKKwkJCWxhc3QgPSBzdGFydDsKKwl9CisJcmV0dXJuIGZvdW5kOworfQorCisvKgorICogU2VhcmNoIGZvciB0aGUgYmlnZ2VzdCBnYXAgaW4gdGhlIGxvdyAzMiBiaXRzIG9mIHRoZSBlODIwCisgKiBtZW1vcnkgc3BhY2UuICBXZSBwYXNzIHRoaXMgc3BhY2UgdG8gUENJIHRvIGFzc2lnbiBNTUlPIHJlc291cmNlcworICogZm9yIGhvdHBsdWcgb3IgdW5jb25maWd1cmVkIGRldmljZXMgaW4uCisgKiBIb3BlZnVsbHkgdGhlIEJJT1MgbGV0IGVub3VnaCBzcGFjZSBsZWZ0LgorICovCitfX2luaXQgdm9pZCBlODIwX3NldHVwX2dhcCh2b2lkKQoreworCXVuc2lnbmVkIGxvbmcgZ2Fwc3RhcnQsIGdhcHNpemUsIHJvdW5kOworCWludCBmb3VuZDsKKworCWdhcHN0YXJ0ID0gMHgxMDAwMDAwMDsKKwlnYXBzaXplID0gMHg0MDAwMDA7CisJZm91bmQgID0gZTgyMF9zZWFyY2hfZ2FwKCZnYXBzdGFydCwgJmdhcHNpemUsIDAsIE1BWF9HQVBfRU5EKTsKKworI2lmZGVmIENPTkZJR19YODZfNjQKKwlpZiAoIWZvdW5kKSB7CisJCWdhcHN0YXJ0ID0gKG1heF9wZm4gPDwgUEFHRV9TSElGVCkgKyAxMDI0KjEwMjQ7CisJCXByaW50ayhLRVJOX0VSUiAiUENJOiBXYXJuaW5nOiBDYW5ub3QgZmluZCBhIGdhcCBpbiB0aGUgMzJiaXQgIgorCQkgICAgICAgImFkZHJlc3MgcmFuZ2VcbiIKKwkJICAgICAgIEtFUk5fRVJSICJQQ0k6IFVuYXNzaWduZWQgZGV2aWNlcyB3aXRoIDMyYml0IHJlc291cmNlICIKKwkJICAgICAgICJyZWdpc3RlcnMgbWF5IGJyZWFrIVxuIik7CisJfQorI2VuZGlmCisKKwkvKgorCSAqIFNlZSBob3cgbXVjaCB3ZSB3YW50IHRvIHJvdW5kIHVwOiBzdGFydCBvZmYgd2l0aAorCSAqIHJvdW5kaW5nIHRvIHRoZSBuZXh0IDFNQiBhcmVhLgorCSAqLworCXJvdW5kID0gMHgxMDAwMDA7CisJd2hpbGUgKChnYXBzaXplID4+IDQpID4gcm91bmQpCisJCXJvdW5kICs9IHJvdW5kOworCS8qIEZ1biB3aXRoIHR3bydzIGNvbXBsZW1lbnQgKi8KKwlwY2lfbWVtX3N0YXJ0ID0gKGdhcHN0YXJ0ICsgcm91bmQpICYgLXJvdW5kOworCisJcHJpbnRrKEtFUk5fSU5GTworCSAgICAgICAiQWxsb2NhdGluZyBQQ0kgcmVzb3VyY2VzIHN0YXJ0aW5nIGF0ICVseCAoZ2FwOiAlbHg6JWx4KVxuIiwKKwkgICAgICAgcGNpX21lbV9zdGFydCwgZ2Fwc3RhcnQsIGdhcHNpemUpOworfQorCisvKioKKyAqIEJlY2F1c2Ugb2YgdGhlIHNpemUgbGltaXRhdGlvbiBvZiBzdHJ1Y3QgYm9vdF9wYXJhbXMsIG9ubHkgZmlyc3QKKyAqIDEyOCBFODIwIG1lbW9yeSBlbnRyaWVzIGFyZSBwYXNzZWQgdG8ga2VybmVsIHZpYQorICogYm9vdF9wYXJhbXMuZTgyMF9tYXAsIG90aGVycyBhcmUgcGFzc2VkIHZpYSBTRVRVUF9FODIwX0VYVCBub2RlIG9mCisgKiBsaW5rZWQgbGlzdCBvZiBzdHJ1Y3Qgc2V0dXBfZGF0YSwgd2hpY2ggaXMgcGFyc2VkIGhlcmUuCisgKi8KK3ZvaWQgX19pbml0IHBhcnNlX2U4MjBfZXh0KHN0cnVjdCBzZXR1cF9kYXRhICpzZGF0YSwgdW5zaWduZWQgbG9uZyBwYV9kYXRhKQoreworCXUzMiBtYXBfbGVuOworCWludCBlbnRyaWVzOworCXN0cnVjdCBlODIwZW50cnkgKmV4dG1hcDsKKworCWVudHJpZXMgPSBzZGF0YS0+bGVuIC8gc2l6ZW9mKHN0cnVjdCBlODIwZW50cnkpOworCW1hcF9sZW4gPSBzZGF0YS0+bGVuICsgc2l6ZW9mKHN0cnVjdCBzZXR1cF9kYXRhKTsKKwlpZiAobWFwX2xlbiA+IFBBR0VfU0laRSkKKwkJc2RhdGEgPSBlYXJseV9pb3JlbWFwKHBhX2RhdGEsIG1hcF9sZW4pOworCWV4dG1hcCA9IChzdHJ1Y3QgZTgyMGVudHJ5ICopKHNkYXRhLT5kYXRhKTsKKwlfX2FwcGVuZF9lODIwX21hcChleHRtYXAsIGVudHJpZXMpOworCXNhbml0aXplX2U4MjBfbWFwKGU4MjAubWFwLCBBUlJBWV9TSVpFKGU4MjAubWFwKSwgJmU4MjAubnJfbWFwKTsKKwlpZiAobWFwX2xlbiA+IFBBR0VfU0laRSkKKwkJZWFybHlfaW91bm1hcChzZGF0YSwgbWFwX2xlbik7CisJcHJpbnRrKEtFUk5fSU5GTyAiZXh0ZW5kZWQgcGh5c2ljYWwgUkFNIG1hcDpcbiIpOworCWU4MjBfcHJpbnRfbWFwKCJleHRlbmRlZCIpOworfQorCisjaWYgZGVmaW5lZChDT05GSUdfWDg2XzY0KSB8fCBcCisJKGRlZmluZWQoQ09ORklHX1g4Nl8zMikgJiYgZGVmaW5lZChDT05GSUdfSElCRVJOQVRJT04pKQorLyoqCisgKiBGaW5kIHRoZSByYW5nZXMgb2YgcGh5c2ljYWwgYWRkcmVzc2VzIHRoYXQgZG8gbm90IGNvcnJlc3BvbmQgdG8KKyAqIGU4MjAgUkFNIGFyZWFzIGFuZCBtYXJrIHRoZSBjb3JyZXNwb25kaW5nIHBhZ2VzIGFzIG5vc2F2ZSBmb3IKKyAqIGhpYmVybmF0aW9uICgzMiBiaXQpIG9yIHNvZnR3YXJlIHN1c3BlbmQgYW5kIHN1c3BlbmQgdG8gUkFNICg2NCBiaXQpLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gcmVxdWlyZXMgdGhlIGU4MjAgbWFwIHRvIGJlIHNvcnRlZCBhbmQgd2l0aG91dCBhbnkKKyAqIG92ZXJsYXBwaW5nIGVudHJpZXMgYW5kIGFzc3VtZXMgdGhlIGZpcnN0IGU4MjAgYXJlYSB0byBiZSBSQU0uCisgKi8KK3ZvaWQgX19pbml0IGU4MjBfbWFya19ub3NhdmVfcmVnaW9ucyh1bnNpZ25lZCBsb25nIGxpbWl0X3BmbikKK3sKKwlpbnQgaTsKKwl1bnNpZ25lZCBsb25nIHBmbjsKKworCXBmbiA9IFBGTl9ET1dOKGU4MjAubWFwWzBdLmFkZHIgKyBlODIwLm1hcFswXS5zaXplKTsKKwlmb3IgKGkgPSAxOyBpIDwgZTgyMC5ucl9tYXA7IGkrKykgeworCQlzdHJ1Y3QgZTgyMGVudHJ5ICplaSA9ICZlODIwLm1hcFtpXTsKKworCQlpZiAocGZuIDwgUEZOX1VQKGVpLT5hZGRyKSkKKwkJCXJlZ2lzdGVyX25vc2F2ZV9yZWdpb24ocGZuLCBQRk5fVVAoZWktPmFkZHIpKTsKKworCQlwZm4gPSBQRk5fRE9XTihlaS0+YWRkciArIGVpLT5zaXplKTsKKwkJaWYgKGVpLT50eXBlICE9IEU4MjBfUkFNICYmIGVpLT50eXBlICE9IEU4MjBfUkVTRVJWRURfS0VSTikKKwkJCXJlZ2lzdGVyX25vc2F2ZV9yZWdpb24oUEZOX1VQKGVpLT5hZGRyKSwgcGZuKTsKKworCQlpZiAocGZuID49IGxpbWl0X3BmbikKKwkJCWJyZWFrOworCX0KK30KKyNlbmRpZgorCisvKgorICogRWFybHkgcmVzZXJ2ZWQgbWVtb3J5IGFyZWFzLgorICovCisjZGVmaW5lIE1BWF9FQVJMWV9SRVMgMjAKKworc3RydWN0IGVhcmx5X3JlcyB7CisJdTY0IHN0YXJ0LCBlbmQ7CisJY2hhciBuYW1lWzE2XTsKKwljaGFyIG92ZXJsYXBfb2s7Cit9Oworc3RhdGljIHN0cnVjdCBlYXJseV9yZXMgZWFybHlfcmVzW01BWF9FQVJMWV9SRVNdIF9faW5pdGRhdGEgPSB7CisJeyAwLCBQQUdFX1NJWkUsICJCSU9TIGRhdGEgcGFnZSIgfSwJLyogQklPUyBkYXRhIHBhZ2UgKi8KKyNpZiBkZWZpbmVkKENPTkZJR19YODZfNjQpICYmIGRlZmluZWQoQ09ORklHX1g4Nl9UUkFNUE9MSU5FKQorCXsgVFJBTVBPTElORV9CQVNFLCBUUkFNUE9MSU5FX0JBU0UgKyAyICogUEFHRV9TSVpFLCAiVFJBTVBPTElORSIgfSwKKyNlbmRpZgorI2lmIGRlZmluZWQoQ09ORklHX1g4Nl8zMikgJiYgZGVmaW5lZChDT05GSUdfU01QKQorCS8qCisJICogQnV0IGZpcnN0IHBpbmNoIGEgZmV3IGZvciB0aGUgc3RhY2svdHJhbXBvbGluZSBzdHVmZgorCSAqIEZJWE1FOiBEb24ndCBuZWVkIHRoZSBleHRyYSBwYWdlIGF0IDRLLCBidXQgbmVlZCB0byBmaXgKKwkgKiB0cmFtcG9saW5lIGJlZm9yZSByZW1vdmluZyBpdC4gKHNlZSB0aGUgR0RUIHN0dWZmKQorCSAqLworCXsgUEFHRV9TSVpFLCBQQUdFX1NJWkUgKyBQQUdFX1NJWkUsICJFWCBUUkFNUE9MSU5FIiB9LAorCS8qCisJICogSGFzIHRvIGJlIGluIHZlcnkgbG93IG1lbW9yeSBzbyB3ZSBjYW4gZXhlY3V0ZQorCSAqIHJlYWwtbW9kZSBBUCBjb2RlLgorCSAqLworCXsgVFJBTVBPTElORV9CQVNFLCBUUkFNUE9MSU5FX0JBU0UgKyBQQUdFX1NJWkUsICJUUkFNUE9MSU5FIiB9LAorI2VuZGlmCisJe30KK307CisKK3N0YXRpYyBpbnQgX19pbml0IGZpbmRfb3ZlcmxhcHBlZF9lYXJseSh1NjQgc3RhcnQsIHU2NCBlbmQpCit7CisJaW50IGk7CisJc3RydWN0IGVhcmx5X3JlcyAqcjsKKworCWZvciAoaSA9IDA7IGkgPCBNQVhfRUFSTFlfUkVTICYmIGVhcmx5X3Jlc1tpXS5lbmQ7IGkrKykgeworCQlyID0gJmVhcmx5X3Jlc1tpXTsKKwkJaWYgKGVuZCA+IHItPnN0YXJ0ICYmIHN0YXJ0IDwgci0+ZW5kKQorCQkJYnJlYWs7CisJfQorCisJcmV0dXJuIGk7Cit9CisKKy8qCisgKiBEcm9wIHRoZSBpLXRoIHJhbmdlIGZyb20gdGhlIGVhcmx5IHJlc2VydmF0aW9uIG1hcCwKKyAqIGJ5IGNvcHlpbmcgYW55IGhpZ2hlciByYW5nZXMgZG93biBvbmUgb3ZlciBpdCwgYW5kCisgKiBjbGVhcmluZyB3aGF0IGhhZCBiZWVuIHRoZSBsYXN0IHNsb3QuCisgKi8KK3N0YXRpYyB2b2lkIF9faW5pdCBkcm9wX3JhbmdlKGludCBpKQoreworCWludCBqOworCisJZm9yIChqID0gaSArIDE7IGogPCBNQVhfRUFSTFlfUkVTICYmIGVhcmx5X3Jlc1tqXS5lbmQ7IGorKykKKwkJOworCisJbWVtbW92ZSgmZWFybHlfcmVzW2ldLCAmZWFybHlfcmVzW2kgKyAxXSwKKwkgICAgICAgKGogLSAxIC0gaSkgKiBzaXplb2Yoc3RydWN0IGVhcmx5X3JlcykpOworCisJZWFybHlfcmVzW2ogLSAxXS5lbmQgPSAwOworfQorCisvKgorICogU3BsaXQgYW55IGV4aXN0aW5nIHJhbmdlcyB0aGF0OgorICogIDEpIGFyZSBtYXJrZWQgJ292ZXJsYXBfb2snLCBhbmQKKyAqICAyKSBvdmVybGFwIHdpdGggdGhlIHN0YXRlZCByYW5nZSBbc3RhcnQsIGVuZCkKKyAqIGludG8gd2hhdGV2ZXIgcG9ydGlvbiAoaWYgYW55KSBvZiB0aGUgZXhpc3RpbmcgcmFuZ2UgaXMgZW50aXJlbHkKKyAqIGJlbG93IG9yIGVudGlyZWx5IGFib3ZlIHRoZSBzdGF0ZWQgcmFuZ2UuICBEcm9wIHRoZSBwb3J0aW9uCisgKiBvZiB0aGUgZXhpc3RpbmcgcmFuZ2UgdGhhdCBvdmVybGFwcyB3aXRoIHRoZSBzdGF0ZWQgcmFuZ2UsCisgKiB3aGljaCB3aWxsIGFsbG93IHRoZSBjYWxsZXIgb2YgdGhpcyByb3V0aW5lIHRvIHRoZW4gYWRkIHRoYXQKKyAqIHN0YXRlZCByYW5nZSB3aXRob3V0IGNvbmZsaWN0aW5nIHdpdGggYW55IGV4aXN0aW5nIHJhbmdlLgorICovCitzdGF0aWMgdm9pZCBfX2luaXQgZHJvcF9vdmVybGFwc190aGF0X2FyZV9vayh1NjQgc3RhcnQsIHU2NCBlbmQpCit7CisJaW50IGk7CisJc3RydWN0IGVhcmx5X3JlcyAqcjsKKwl1NjQgbG93ZXJfc3RhcnQsIGxvd2VyX2VuZDsKKwl1NjQgdXBwZXJfc3RhcnQsIHVwcGVyX2VuZDsKKwljaGFyIG5hbWVbMTZdOworCisJZm9yIChpID0gMDsgaSA8IE1BWF9FQVJMWV9SRVMgJiYgZWFybHlfcmVzW2ldLmVuZDsgaSsrKSB7CisJCXIgPSAmZWFybHlfcmVzW2ldOworCisJCS8qIENvbnRpbnVlIHBhc3Qgbm9uLW92ZXJsYXBwaW5nIHJhbmdlcyAqLworCQlpZiAoZW5kIDw9IHItPnN0YXJ0IHx8IHN0YXJ0ID49IHItPmVuZCkKKwkJCWNvbnRpbnVlOworCisJCS8qCisJCSAqIExlYXZlIG5vbi1vayBvdmVybGFwcyBhcyBpczsgbGV0IGNhbGxlcgorCQkgKiBwYW5pYyAiT3ZlcmxhcHBpbmcgZWFybHkgcmVzZXJ2YXRpb25zIgorCQkgKiB3aGVuIGl0IGhpdHMgdGhpcyBvdmVybGFwLgorCQkgKi8KKwkJaWYgKCFyLT5vdmVybGFwX29rKQorCQkJcmV0dXJuOworCisJCS8qCisJCSAqIFdlIGhhdmUgYW4gb2sgb3ZlcmxhcC4gIFdlIHdpbGwgZHJvcCBpdCBmcm9tIHRoZSBlYXJseQorCQkgKiByZXNlcnZhdGlvbiBtYXAsIGFuZCBhZGQgYmFjayBpbiBhbnkgbm9uLW92ZXJsYXBwaW5nCisJCSAqIHBvcnRpb25zIChsb3dlciBvciB1cHBlcikgYXMgc2VwYXJhdGUsIG92ZXJsYXBfb2ssCisJCSAqIG5vbi1vdmVybGFwcGluZyByYW5nZXMuCisJCSAqLworCisJCS8qIDEuIE5vdGUgYW55IG5vbi1vdmVybGFwcGluZyAobG93ZXIgb3IgdXBwZXIpIHJhbmdlcy4gKi8KKwkJc3RybmNweShuYW1lLCByLT5uYW1lLCBzaXplb2YobmFtZSkgLSAxKTsKKworCQlsb3dlcl9zdGFydCA9IGxvd2VyX2VuZCA9IDA7CisJCXVwcGVyX3N0YXJ0ID0gdXBwZXJfZW5kID0gMDsKKwkJaWYgKHItPnN0YXJ0IDwgc3RhcnQpIHsKKwkJIAlsb3dlcl9zdGFydCA9IHItPnN0YXJ0OworCQkJbG93ZXJfZW5kID0gc3RhcnQ7CisJCX0KKwkJaWYgKHItPmVuZCA+IGVuZCkgeworCQkJdXBwZXJfc3RhcnQgPSBlbmQ7CisJCQl1cHBlcl9lbmQgPSByLT5lbmQ7CisJCX0KKworCQkvKiAyLiBEcm9wIHRoZSBvcmlnaW5hbCBvayBvdmVybGFwcGluZyByYW5nZSAqLworCQlkcm9wX3JhbmdlKGkpOworCisJCWktLTsJCS8qIHJlc3VtZSBmb3ItbG9vcCBvbiBjb3BpZWQgZG93biBlbnRyeSAqLworCisJCS8qIDMuIEFkZCBiYWNrIGluIGFueSBub24tb3ZlcmxhcHBpbmcgcmFuZ2VzLiAqLworCQlpZiAobG93ZXJfZW5kKQorCQkJcmVzZXJ2ZV9lYXJseV9vdmVybGFwX29rKGxvd2VyX3N0YXJ0LCBsb3dlcl9lbmQsIG5hbWUpOworCQlpZiAodXBwZXJfZW5kKQorCQkJcmVzZXJ2ZV9lYXJseV9vdmVybGFwX29rKHVwcGVyX3N0YXJ0LCB1cHBlcl9lbmQsIG5hbWUpOworCX0KK30KKworc3RhdGljIHZvaWQgX19pbml0IF9fcmVzZXJ2ZV9lYXJseSh1NjQgc3RhcnQsIHU2NCBlbmQsIGNoYXIgKm5hbWUsCisJCQkJCQlpbnQgb3ZlcmxhcF9vaykKK3sKKwlpbnQgaTsKKwlzdHJ1Y3QgZWFybHlfcmVzICpyOworCisJaSA9IGZpbmRfb3ZlcmxhcHBlZF9lYXJseShzdGFydCwgZW5kKTsKKwlpZiAoaSA+PSBNQVhfRUFSTFlfUkVTKQorCQlwYW5pYygiVG9vIG1hbnkgZWFybHkgcmVzZXJ2YXRpb25zIik7CisJciA9ICZlYXJseV9yZXNbaV07CisJaWYgKHItPmVuZCkKKwkJcGFuaWMoIk92ZXJsYXBwaW5nIGVhcmx5IHJlc2VydmF0aW9ucyAiCisJCSAgICAgICIlbGx4LSVsbHggJXMgdG8gJWxseC0lbGx4ICVzXG4iLAorCQkgICAgICBzdGFydCwgZW5kIC0gMSwgbmFtZT9uYW1lOiIiLCByLT5zdGFydCwKKwkJICAgICAgci0+ZW5kIC0gMSwgci0+bmFtZSk7CisJci0+c3RhcnQgPSBzdGFydDsKKwlyLT5lbmQgPSBlbmQ7CisJci0+b3ZlcmxhcF9vayA9IG92ZXJsYXBfb2s7CisJaWYgKG5hbWUpCisJCXN0cm5jcHkoci0+bmFtZSwgbmFtZSwgc2l6ZW9mKHItPm5hbWUpIC0gMSk7Cit9CisKKy8qCisgKiBBIGZldyBlYXJseSByZXNlcnZ0YXRpb25zIGNvbWUgaGVyZS4KKyAqCisgKiBUaGUgJ292ZXJsYXBfb2snIGluIHRoZSBuYW1lIG9mIHRoaXMgcm91dGluZSBkb2VzIC1ub3QtIG1lYW4gaXQKKyAqIGlzIG9rIGZvciB0aGVzZSByZXNlcnZhdGlvbnMgdG8gb3ZlcmxhcCBhbiBlYXJsaWVyIHJlc2VydmF0aW9uLgorICogUmF0aGVyIGl0IG1lYW5zIHRoYXQgaXQgaXMgb2sgZm9yIHN1YnNlcXVlbnQgcmVzZXJ2YXRpb25zIHRvCisgKiBvdmVybGFwIHRoaXMgb25lLgorICoKKyAqIFVzZSB0aGlzIGVudHJ5IHBvaW50IHRvIHJlc2VydmUgZWFybHkgcmFuZ2VzIHdoZW4geW91IGFyZSBkb2luZworICogc28gb3V0IG9mICJQYXJhbm9pYSIsIHJlc2VydmluZyBwZXJoYXBzIG1vcmUgbWVtb3J5IHRoYW4geW91IG5lZWQsCisgKiBqdXN0IGluIGNhc2UsIGFuZCBkb24ndCBtaW5kIGEgc3Vic2VxdWVudCBvdmVybGFwcGluZyByZXNlcnZhdGlvbgorICogdGhhdCBpcyBrbm93biB0byBiZSBuZWVkZWQuCisgKgorICogVGhlIGRyb3Bfb3ZlcmxhcHNfdGhhdF9hcmVfb2soKSBjYWxsIGhlcmUgaXNuJ3QgcmVhbGx5IG5lZWRlZC4KKyAqIEl0IHdvdWxkIGJlIG5lZWRlZCBpZiB3ZSBoYWQgdHdvIGNvbGxpZGluZyAnb3ZlcmxhcF9vaycKKyAqIHJlc2VydmF0aW9ucywgc28gdGhhdCB0aGUgc2Vjb25kIHN1Y2ggd291bGQgbm90IHBhbmljIG9uIHRoZQorICogb3ZlcmxhcCB3aXRoIHRoZSBmaXJzdC4gIFdlIGRvbid0IGhhdmUgYW55IHN1Y2ggYXMgb2YgdGhpcworICogd3JpdGluZywgYnV0IG1pZ2h0IGFzIHdlbGwgdG9sZXJhdGUgc3VjaCBpZiBpdCBoYXBwZW5zIGluCisgKiB0aGUgZnV0dXJlLgorICovCit2b2lkIF9faW5pdCByZXNlcnZlX2Vhcmx5X292ZXJsYXBfb2sodTY0IHN0YXJ0LCB1NjQgZW5kLCBjaGFyICpuYW1lKQoreworCWRyb3Bfb3ZlcmxhcHNfdGhhdF9hcmVfb2soc3RhcnQsIGVuZCk7CisJX19yZXNlcnZlX2Vhcmx5KHN0YXJ0LCBlbmQsIG5hbWUsIDEpOworfQorCisvKgorICogTW9zdCBlYXJseSByZXNlcnZhdGlvbnMgY29tZSBoZXJlLgorICoKKyAqIFdlIGZpcnN0IGhhdmUgZHJvcF9vdmVybGFwc190aGF0X2FyZV9vaygpIGRyb3AgYW55IHByZS1leGlzdGluZworICogJ292ZXJsYXBfb2snIHJhbmdlcywgc28gdGhhdCB3ZSBjYW4gdGhlbiByZXNlcnZlIHRoaXMgbWVtb3J5CisgKiByYW5nZSB3aXRob3V0IHJpc2sgb2YgcGFuaWMnaW5nIG9uIGFuIG92ZXJsYXBwaW5nIG92ZXJsYXBfb2sKKyAqIGVhcmx5IHJlc2VydmF0aW9uLgorICovCit2b2lkIF9faW5pdCByZXNlcnZlX2Vhcmx5KHU2NCBzdGFydCwgdTY0IGVuZCwgY2hhciAqbmFtZSkKK3sKKwlkcm9wX292ZXJsYXBzX3RoYXRfYXJlX29rKHN0YXJ0LCBlbmQpOworCV9fcmVzZXJ2ZV9lYXJseShzdGFydCwgZW5kLCBuYW1lLCAwKTsKK30KKwordm9pZCBfX2luaXQgZnJlZV9lYXJseSh1NjQgc3RhcnQsIHU2NCBlbmQpCit7CisJc3RydWN0IGVhcmx5X3JlcyAqcjsKKwlpbnQgaTsKKworCWkgPSBmaW5kX292ZXJsYXBwZWRfZWFybHkoc3RhcnQsIGVuZCk7CisJciA9ICZlYXJseV9yZXNbaV07CisJaWYgKGkgPj0gTUFYX0VBUkxZX1JFUyB8fCByLT5lbmQgIT0gZW5kIHx8IHItPnN0YXJ0ICE9IHN0YXJ0KQorCQlwYW5pYygiZnJlZV9lYXJseSBvbiBub3QgcmVzZXJ2ZWQgYXJlYTogJWxseC0lbGx4ISIsCisJCQkgc3RhcnQsIGVuZCAtIDEpOworCisJZHJvcF9yYW5nZShpKTsKK30KKwordm9pZCBfX2luaXQgZWFybHlfcmVzX3RvX2Jvb3RtZW0odTY0IHN0YXJ0LCB1NjQgZW5kKQoreworCWludCBpLCBjb3VudDsKKwl1NjQgZmluYWxfc3RhcnQsIGZpbmFsX2VuZDsKKworCWNvdW50ICA9IDA7CisJZm9yIChpID0gMDsgaSA8IE1BWF9FQVJMWV9SRVMgJiYgZWFybHlfcmVzW2ldLmVuZDsgaSsrKQorCQljb3VudCsrOworCisJcHJpbnRrKEtFUk5fSU5GTyAiKCVkIGVhcmx5IHJlc2VydmF0aW9ucykgPT0+IGJvb3RtZW1cbiIsIGNvdW50KTsKKwlmb3IgKGkgPSAwOyBpIDwgY291bnQ7IGkrKykgeworCQlzdHJ1Y3QgZWFybHlfcmVzICpyID0gJmVhcmx5X3Jlc1tpXTsKKwkJcHJpbnRrKEtFUk5fSU5GTyAiICAjJWQgWyUwMTBsbHggLSAlMDEwbGx4XSAlMTZzIiwgaSwKKwkJCXItPnN0YXJ0LCByLT5lbmQsIHItPm5hbWUpOworCQlmaW5hbF9zdGFydCA9IG1heChzdGFydCwgci0+c3RhcnQpOworCQlmaW5hbF9lbmQgPSBtaW4oZW5kLCByLT5lbmQpOworCQlpZiAoZmluYWxfc3RhcnQgPj0gZmluYWxfZW5kKSB7CisJCQlwcmludGsoS0VSTl9DT05UICJcbiIpOworCQkJY29udGludWU7CisJCX0KKwkJcHJpbnRrKEtFUk5fQ09OVCAiID09PiBbJTAxMGxseCAtICUwMTBsbHhdXG4iLAorCQkJZmluYWxfc3RhcnQsIGZpbmFsX2VuZCk7CisJCXJlc2VydmVfYm9vdG1lbV9nZW5lcmljKGZpbmFsX3N0YXJ0LCBmaW5hbF9lbmQgLSBmaW5hbF9zdGFydCwKKwkJCQlCT09UTUVNX0RFRkFVTFQpOworCX0KK30KKworLyogQ2hlY2sgZm9yIGFscmVhZHkgcmVzZXJ2ZWQgYXJlYXMgKi8KK3N0YXRpYyBpbmxpbmUgaW50IF9faW5pdCBiYWRfYWRkcih1NjQgKmFkZHJwLCB1NjQgc2l6ZSwgdTY0IGFsaWduKQoreworCWludCBpOworCXU2NCBhZGRyID0gKmFkZHJwOworCWludCBjaGFuZ2VkID0gMDsKKwlzdHJ1Y3QgZWFybHlfcmVzICpyOworYWdhaW46CisJaSA9IGZpbmRfb3ZlcmxhcHBlZF9lYXJseShhZGRyLCBhZGRyICsgc2l6ZSk7CisJciA9ICZlYXJseV9yZXNbaV07CisJaWYgKGkgPCBNQVhfRUFSTFlfUkVTICYmIHItPmVuZCkgeworCQkqYWRkcnAgPSBhZGRyID0gcm91bmRfdXAoci0+ZW5kLCBhbGlnbik7CisJCWNoYW5nZWQgPSAxOworCQlnb3RvIGFnYWluOworCX0KKwlyZXR1cm4gY2hhbmdlZDsKK30KKworLyogQ2hlY2sgZm9yIGFscmVhZHkgcmVzZXJ2ZWQgYXJlYXMgKi8KK3N0YXRpYyBpbmxpbmUgaW50IF9faW5pdCBiYWRfYWRkcl9zaXplKHU2NCAqYWRkcnAsIHU2NCAqc2l6ZXAsIHU2NCBhbGlnbikKK3sKKwlpbnQgaTsKKwl1NjQgYWRkciA9ICphZGRycCwgbGFzdDsKKwl1NjQgc2l6ZSA9ICpzaXplcDsKKwlpbnQgY2hhbmdlZCA9IDA7CithZ2FpbjoKKwlsYXN0ID0gYWRkciArIHNpemU7CisJZm9yIChpID0gMDsgaSA8IE1BWF9FQVJMWV9SRVMgJiYgZWFybHlfcmVzW2ldLmVuZDsgaSsrKSB7CisJCXN0cnVjdCBlYXJseV9yZXMgKnIgPSAmZWFybHlfcmVzW2ldOworCQlpZiAobGFzdCA+IHItPnN0YXJ0ICYmIGFkZHIgPCByLT5zdGFydCkgeworCQkJc2l6ZSA9IHItPnN0YXJ0IC0gYWRkcjsKKwkJCWNoYW5nZWQgPSAxOworCQkJZ290byBhZ2FpbjsKKwkJfQorCQlpZiAobGFzdCA+IHItPmVuZCAmJiBhZGRyIDwgci0+ZW5kKSB7CisJCQlhZGRyID0gcm91bmRfdXAoci0+ZW5kLCBhbGlnbik7CisJCQlzaXplID0gbGFzdCAtIGFkZHI7CisJCQljaGFuZ2VkID0gMTsKKwkJCWdvdG8gYWdhaW47CisJCX0KKwkJaWYgKGxhc3QgPD0gci0+ZW5kICYmIGFkZHIgPj0gci0+c3RhcnQpIHsKKwkJCSgqc2l6ZXApKys7CisJCQlyZXR1cm4gMDsKKwkJfQorCX0KKwlpZiAoY2hhbmdlZCkgeworCQkqYWRkcnAgPSBhZGRyOworCQkqc2l6ZXAgPSBzaXplOworCX0KKwlyZXR1cm4gY2hhbmdlZDsKK30KKworLyoKKyAqIEZpbmQgYSBmcmVlIGFyZWEgd2l0aCBzcGVjaWZpZWQgYWxpZ25tZW50IGluIGEgc3BlY2lmaWMgcmFuZ2UuCisgKi8KK3U2NCBfX2luaXQgZmluZF9lODIwX2FyZWEodTY0IHN0YXJ0LCB1NjQgZW5kLCB1NjQgc2l6ZSwgdTY0IGFsaWduKQoreworCWludCBpOworCisJZm9yIChpID0gMDsgaSA8IGU4MjAubnJfbWFwOyBpKyspIHsKKwkJc3RydWN0IGU4MjBlbnRyeSAqZWkgPSAmZTgyMC5tYXBbaV07CisJCXU2NCBhZGRyLCBsYXN0OworCQl1NjQgZWlfbGFzdDsKKworCQlpZiAoZWktPnR5cGUgIT0gRTgyMF9SQU0pCisJCQljb250aW51ZTsKKwkJYWRkciA9IHJvdW5kX3VwKGVpLT5hZGRyLCBhbGlnbik7CisJCWVpX2xhc3QgPSBlaS0+YWRkciArIGVpLT5zaXplOworCQlpZiAoYWRkciA8IHN0YXJ0KQorCQkJYWRkciA9IHJvdW5kX3VwKHN0YXJ0LCBhbGlnbik7CisJCWlmIChhZGRyID49IGVpX2xhc3QpCisJCQljb250aW51ZTsKKwkJd2hpbGUgKGJhZF9hZGRyKCZhZGRyLCBzaXplLCBhbGlnbikgJiYgYWRkcitzaXplIDw9IGVpX2xhc3QpCisJCQk7CisJCWxhc3QgPSBhZGRyICsgc2l6ZTsKKwkJaWYgKGxhc3QgPiBlaV9sYXN0KQorCQkJY29udGludWU7CisJCWlmIChsYXN0ID4gZW5kKQorCQkJY29udGludWU7CisJCXJldHVybiBhZGRyOworCX0KKwlyZXR1cm4gLTFVTEw7Cit9CisKKy8qCisgKiBGaW5kIG5leHQgZnJlZSByYW5nZSBhZnRlciAqc3RhcnQKKyAqLwordTY0IF9faW5pdCBmaW5kX2U4MjBfYXJlYV9zaXplKHU2NCBzdGFydCwgdTY0ICpzaXplcCwgdTY0IGFsaWduKQoreworCWludCBpOworCisJZm9yIChpID0gMDsgaSA8IGU4MjAubnJfbWFwOyBpKyspIHsKKwkJc3RydWN0IGU4MjBlbnRyeSAqZWkgPSAmZTgyMC5tYXBbaV07CisJCXU2NCBhZGRyLCBsYXN0OworCQl1NjQgZWlfbGFzdDsKKworCQlpZiAoZWktPnR5cGUgIT0gRTgyMF9SQU0pCisJCQljb250aW51ZTsKKwkJYWRkciA9IHJvdW5kX3VwKGVpLT5hZGRyLCBhbGlnbik7CisJCWVpX2xhc3QgPSBlaS0+YWRkciArIGVpLT5zaXplOworCQlpZiAoYWRkciA8IHN0YXJ0KQorCQkJYWRkciA9IHJvdW5kX3VwKHN0YXJ0LCBhbGlnbik7CisJCWlmIChhZGRyID49IGVpX2xhc3QpCisJCQljb250aW51ZTsKKwkJKnNpemVwID0gZWlfbGFzdCAtIGFkZHI7CisJCXdoaWxlIChiYWRfYWRkcl9zaXplKCZhZGRyLCBzaXplcCwgYWxpZ24pICYmCisJCQlhZGRyICsgKnNpemVwIDw9IGVpX2xhc3QpCisJCQk7CisJCWxhc3QgPSBhZGRyICsgKnNpemVwOworCQlpZiAobGFzdCA+IGVpX2xhc3QpCisJCQljb250aW51ZTsKKwkJcmV0dXJuIGFkZHI7CisJfQorCXJldHVybiAtMVVMOworCit9CisKKy8qCisgKiBwcmUgYWxsb2NhdGVkIDRrIGFuZCByZXNlcnZlZCBpdCBpbiBlODIwCisgKi8KK3U2NCBfX2luaXQgZWFybHlfcmVzZXJ2ZV9lODIwKHU2NCBzdGFydHQsIHU2NCBzaXpldCwgdTY0IGFsaWduKQoreworCXU2NCBzaXplID0gMDsKKwl1NjQgYWRkcjsKKwl1NjQgc3RhcnQ7CisKKwlzdGFydCA9IHN0YXJ0dDsKKwl3aGlsZSAoc2l6ZSA8IHNpemV0KQorCQlzdGFydCA9IGZpbmRfZTgyMF9hcmVhX3NpemUoc3RhcnQsICZzaXplLCBhbGlnbik7CisKKwlpZiAoc2l6ZSA8IHNpemV0KQorCQlyZXR1cm4gMDsKKworCWFkZHIgPSByb3VuZF9kb3duKHN0YXJ0ICsgc2l6ZSAtIHNpemV0LCBhbGlnbik7CisJZTgyMF91cGRhdGVfcmFuZ2UoYWRkciwgc2l6ZXQsIEU4MjBfUkFNLCBFODIwX1JFU0VSVkVEKTsKKwllODIwX3VwZGF0ZV9yYW5nZV9zYXZlZChhZGRyLCBzaXpldCwgRTgyMF9SQU0sIEU4MjBfUkVTRVJWRUQpOworCXByaW50ayhLRVJOX0lORk8gInVwZGF0ZSBlODIwIGZvciBlYXJseV9yZXNlcnZlX2U4MjBcbiIpOworCXVwZGF0ZV9lODIwKCk7CisJdXBkYXRlX2U4MjBfc2F2ZWQoKTsKKworCXJldHVybiBhZGRyOworfQorCisjaWZkZWYgQ09ORklHX1g4Nl8zMgorIyBpZmRlZiBDT05GSUdfWDg2X1BBRQorIyAgZGVmaW5lIE1BWF9BUkNIX1BGTgkJKDFVTEw8PCgzNi1QQUdFX1NISUZUKSkKKyMgZWxzZQorIyAgZGVmaW5lIE1BWF9BUkNIX1BGTgkJKDFVTEw8PCgzMi1QQUdFX1NISUZUKSkKKyMgZW5kaWYKKyNlbHNlIC8qIENPTkZJR19YODZfMzIgKi8KKyMgZGVmaW5lIE1BWF9BUkNIX1BGTiBNQVhNRU0+PlBBR0VfU0hJRlQKKyNlbmRpZgorCisvKgorICogRmluZCB0aGUgaGlnaGVzdCBwYWdlIGZyYW1lIG51bWJlciB3ZSBoYXZlIGF2YWlsYWJsZQorICovCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfX2luaXQgZTgyMF9lbmRfcGZuKHVuc2lnbmVkIGxvbmcgbGltaXRfcGZuLCB1bnNpZ25lZCB0eXBlKQoreworCWludCBpOworCXVuc2lnbmVkIGxvbmcgbGFzdF9wZm4gPSAwOworCXVuc2lnbmVkIGxvbmcgbWF4X2FyY2hfcGZuID0gTUFYX0FSQ0hfUEZOOworCisJZm9yIChpID0gMDsgaSA8IGU4MjAubnJfbWFwOyBpKyspIHsKKwkJc3RydWN0IGU4MjBlbnRyeSAqZWkgPSAmZTgyMC5tYXBbaV07CisJCXVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuOworCQl1bnNpZ25lZCBsb25nIGVuZF9wZm47CisKKwkJaWYgKGVpLT50eXBlICE9IHR5cGUpCisJCQljb250aW51ZTsKKworCQlzdGFydF9wZm4gPSBlaS0+YWRkciA+PiBQQUdFX1NISUZUOworCQllbmRfcGZuID0gKGVpLT5hZGRyICsgZWktPnNpemUpID4+IFBBR0VfU0hJRlQ7CisKKwkJaWYgKHN0YXJ0X3BmbiA+PSBsaW1pdF9wZm4pCisJCQljb250aW51ZTsKKwkJaWYgKGVuZF9wZm4gPiBsaW1pdF9wZm4pIHsKKwkJCWxhc3RfcGZuID0gbGltaXRfcGZuOworCQkJYnJlYWs7CisJCX0KKwkJaWYgKGVuZF9wZm4gPiBsYXN0X3BmbikKKwkJCWxhc3RfcGZuID0gZW5kX3BmbjsKKwl9CisKKwlpZiAobGFzdF9wZm4gPiBtYXhfYXJjaF9wZm4pCisJCWxhc3RfcGZuID0gbWF4X2FyY2hfcGZuOworCisJcHJpbnRrKEtFUk5fSU5GTyAibGFzdF9wZm4gPSAlI2x4IG1heF9hcmNoX3BmbiA9ICUjbHhcbiIsCisJCQkgbGFzdF9wZm4sIG1heF9hcmNoX3Bmbik7CisJcmV0dXJuIGxhc3RfcGZuOworfQordW5zaWduZWQgbG9uZyBfX2luaXQgZTgyMF9lbmRfb2ZfcmFtX3Bmbih2b2lkKQoreworCXJldHVybiBlODIwX2VuZF9wZm4oTUFYX0FSQ0hfUEZOLCBFODIwX1JBTSk7Cit9CisKK3Vuc2lnbmVkIGxvbmcgX19pbml0IGU4MjBfZW5kX29mX2xvd19yYW1fcGZuKHZvaWQpCit7CisJcmV0dXJuIGU4MjBfZW5kX3BmbigxVUw8PCgzMiAtIFBBR0VfU0hJRlQpLCBFODIwX1JBTSk7Cit9CisvKgorICogRmluZHMgYW4gYWN0aXZlIHJlZ2lvbiBpbiB0aGUgYWRkcmVzcyByYW5nZSBmcm9tIHN0YXJ0X3BmbiB0byBsYXN0X3BmbiBhbmQKKyAqIHJldHVybnMgaXRzIHJhbmdlIGluIGVpX3N0YXJ0cGZuIGFuZCBlaV9lbmRwZm4gZm9yIHRoZSBlODIwIGVudHJ5LgorICovCitpbnQgX19pbml0IGU4MjBfZmluZF9hY3RpdmVfcmVnaW9uKGNvbnN0IHN0cnVjdCBlODIwZW50cnkgKmVpLAorCQkJCSAgdW5zaWduZWQgbG9uZyBzdGFydF9wZm4sCisJCQkJICB1bnNpZ25lZCBsb25nIGxhc3RfcGZuLAorCQkJCSAgdW5zaWduZWQgbG9uZyAqZWlfc3RhcnRwZm4sCisJCQkJICB1bnNpZ25lZCBsb25nICplaV9lbmRwZm4pCit7CisJdTY0IGFsaWduID0gUEFHRV9TSVpFOworCisJKmVpX3N0YXJ0cGZuID0gcm91bmRfdXAoZWktPmFkZHIsIGFsaWduKSA+PiBQQUdFX1NISUZUOworCSplaV9lbmRwZm4gPSByb3VuZF9kb3duKGVpLT5hZGRyICsgZWktPnNpemUsIGFsaWduKSA+PiBQQUdFX1NISUZUOworCisJLyogU2tpcCBtYXAgZW50cmllcyBzbWFsbGVyIHRoYW4gYSBwYWdlICovCisJaWYgKCplaV9zdGFydHBmbiA+PSAqZWlfZW5kcGZuKQorCQlyZXR1cm4gMDsKKworCS8qIFNraXAgaWYgbWFwIGlzIG91dHNpZGUgdGhlIG5vZGUgKi8KKwlpZiAoZWktPnR5cGUgIT0gRTgyMF9SQU0gfHwgKmVpX2VuZHBmbiA8PSBzdGFydF9wZm4gfHwKKwkJCQkgICAgKmVpX3N0YXJ0cGZuID49IGxhc3RfcGZuKQorCQlyZXR1cm4gMDsKKworCS8qIENoZWNrIGZvciBvdmVybGFwcyAqLworCWlmICgqZWlfc3RhcnRwZm4gPCBzdGFydF9wZm4pCisJCSplaV9zdGFydHBmbiA9IHN0YXJ0X3BmbjsKKwlpZiAoKmVpX2VuZHBmbiA+IGxhc3RfcGZuKQorCQkqZWlfZW5kcGZuID0gbGFzdF9wZm47CisKKwlyZXR1cm4gMTsKK30KKworLyogV2FsayB0aGUgZTgyMCBtYXAgYW5kIHJlZ2lzdGVyIGFjdGl2ZSByZWdpb25zIHdpdGhpbiBhIG5vZGUgKi8KK3ZvaWQgX19pbml0IGU4MjBfcmVnaXN0ZXJfYWN0aXZlX3JlZ2lvbnMoaW50IG5pZCwgdW5zaWduZWQgbG9uZyBzdGFydF9wZm4sCisJCQkJCSB1bnNpZ25lZCBsb25nIGxhc3RfcGZuKQoreworCXVuc2lnbmVkIGxvbmcgZWlfc3RhcnRwZm47CisJdW5zaWduZWQgbG9uZyBlaV9lbmRwZm47CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgZTgyMC5ucl9tYXA7IGkrKykKKwkJaWYgKGU4MjBfZmluZF9hY3RpdmVfcmVnaW9uKCZlODIwLm1hcFtpXSwKKwkJCQkJICAgIHN0YXJ0X3BmbiwgbGFzdF9wZm4sCisJCQkJCSAgICAmZWlfc3RhcnRwZm4sICZlaV9lbmRwZm4pKQorCQkJYWRkX2FjdGl2ZV9yYW5nZShuaWQsIGVpX3N0YXJ0cGZuLCBlaV9lbmRwZm4pOworfQorCisvKgorICogRmluZCB0aGUgaG9sZSBzaXplIChpbiBieXRlcykgaW4gdGhlIG1lbW9yeSByYW5nZS4KKyAqIEBzdGFydDogc3RhcnRpbmcgYWRkcmVzcyBvZiB0aGUgbWVtb3J5IHJhbmdlIHRvIHNjYW4KKyAqIEBlbmQ6IGVuZGluZyBhZGRyZXNzIG9mIHRoZSBtZW1vcnkgcmFuZ2UgdG8gc2NhbgorICovCit1NjQgX19pbml0IGU4MjBfaG9sZV9zaXplKHU2NCBzdGFydCwgdTY0IGVuZCkKK3sKKwl1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiA9IHN0YXJ0ID4+IFBBR0VfU0hJRlQ7CisJdW5zaWduZWQgbG9uZyBsYXN0X3BmbiA9IGVuZCA+PiBQQUdFX1NISUZUOworCXVuc2lnbmVkIGxvbmcgZWlfc3RhcnRwZm4sIGVpX2VuZHBmbiwgcmFtID0gMDsKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCBlODIwLm5yX21hcDsgaSsrKSB7CisJCWlmIChlODIwX2ZpbmRfYWN0aXZlX3JlZ2lvbigmZTgyMC5tYXBbaV0sCisJCQkJCSAgICBzdGFydF9wZm4sIGxhc3RfcGZuLAorCQkJCQkgICAgJmVpX3N0YXJ0cGZuLCAmZWlfZW5kcGZuKSkKKwkJCXJhbSArPSBlaV9lbmRwZm4gLSBlaV9zdGFydHBmbjsKKwl9CisJcmV0dXJuIGVuZCAtIHN0YXJ0IC0gKCh1NjQpcmFtIDw8IFBBR0VfU0hJRlQpOworfQorCitzdGF0aWMgdm9pZCBlYXJseV9wYW5pYyhjaGFyICptc2cpCit7CisJZWFybHlfcHJpbnRrKG1zZyk7CisJcGFuaWMobXNnKTsKK30KKworc3RhdGljIGludCB1c2VyZGVmIF9faW5pdGRhdGE7CisKKy8qICJtZW09bm9wZW50aXVtIiBkaXNhYmxlcyB0aGUgNE1CIHBhZ2UgdGFibGVzLiAqLworc3RhdGljIGludCBfX2luaXQgcGFyc2VfbWVtb3B0KGNoYXIgKnApCit7CisJdTY0IG1lbV9zaXplOworCisJaWYgKCFwKQorCQlyZXR1cm4gLUVJTlZBTDsKKworI2lmZGVmIENPTkZJR19YODZfMzIKKwlpZiAoIXN0cmNtcChwLCAibm9wZW50aXVtIikpIHsKKwkJc2V0dXBfY2xlYXJfY3B1X2NhcChYODZfRkVBVFVSRV9QU0UpOworCQlyZXR1cm4gMDsKKwl9CisjZW5kaWYKKworCXVzZXJkZWYgPSAxOworCW1lbV9zaXplID0gbWVtcGFyc2UocCwgJnApOworCWU4MjBfcmVtb3ZlX3JhbmdlKG1lbV9zaXplLCBVTExPTkdfTUFYIC0gbWVtX3NpemUsIEU4MjBfUkFNLCAxKTsKKworCXJldHVybiAwOworfQorZWFybHlfcGFyYW0oIm1lbSIsIHBhcnNlX21lbW9wdCk7CisKK3N0YXRpYyBpbnQgX19pbml0IHBhcnNlX21lbW1hcF9vcHQoY2hhciAqcCkKK3sKKwljaGFyICpvbGRwOworCXU2NCBzdGFydF9hdCwgbWVtX3NpemU7CisKKwlpZiAoIXApCisJCXJldHVybiAtRUlOVkFMOworCisJaWYgKCFzdHJjbXAocCwgImV4YWN0bWFwIikpIHsKKyNpZmRlZiBDT05GSUdfQ1JBU0hfRFVNUAorCQkvKgorCQkgKiBJZiB3ZSBhcmUgZG9pbmcgYSBjcmFzaCBkdW1wLCB3ZSBzdGlsbCBuZWVkIHRvIGtub3cKKwkJICogdGhlIHJlYWwgbWVtIHNpemUgYmVmb3JlIG9yaWdpbmFsIG1lbW9yeSBtYXAgaXMKKwkJICogcmVzZXQuCisJCSAqLworCQlzYXZlZF9tYXhfcGZuID0gZTgyMF9lbmRfb2ZfcmFtX3BmbigpOworI2VuZGlmCisJCWU4MjAubnJfbWFwID0gMDsKKwkJdXNlcmRlZiA9IDE7CisJCXJldHVybiAwOworCX0KKworCW9sZHAgPSBwOworCW1lbV9zaXplID0gbWVtcGFyc2UocCwgJnApOworCWlmIChwID09IG9sZHApCisJCXJldHVybiAtRUlOVkFMOworCisJdXNlcmRlZiA9IDE7CisJaWYgKCpwID09ICdAJykgeworCQlzdGFydF9hdCA9IG1lbXBhcnNlKHArMSwgJnApOworCQllODIwX2FkZF9yZWdpb24oc3RhcnRfYXQsIG1lbV9zaXplLCBFODIwX1JBTSk7CisJfSBlbHNlIGlmICgqcCA9PSAnIycpIHsKKwkJc3RhcnRfYXQgPSBtZW1wYXJzZShwKzEsICZwKTsKKwkJZTgyMF9hZGRfcmVnaW9uKHN0YXJ0X2F0LCBtZW1fc2l6ZSwgRTgyMF9BQ1BJKTsKKwl9IGVsc2UgaWYgKCpwID09ICckJykgeworCQlzdGFydF9hdCA9IG1lbXBhcnNlKHArMSwgJnApOworCQllODIwX2FkZF9yZWdpb24oc3RhcnRfYXQsIG1lbV9zaXplLCBFODIwX1JFU0VSVkVEKTsKKwl9IGVsc2UKKwkJZTgyMF9yZW1vdmVfcmFuZ2UobWVtX3NpemUsIFVMTE9OR19NQVggLSBtZW1fc2l6ZSwgRTgyMF9SQU0sIDEpOworCisJcmV0dXJuICpwID09ICdcMCcgPyAwIDogLUVJTlZBTDsKK30KK2Vhcmx5X3BhcmFtKCJtZW1tYXAiLCBwYXJzZV9tZW1tYXBfb3B0KTsKKwordm9pZCBfX2luaXQgZmluaXNoX2U4MjBfcGFyc2luZyh2b2lkKQoreworCWlmICh1c2VyZGVmKSB7CisJCWludCBuciA9IGU4MjAubnJfbWFwOworCisJCWlmIChzYW5pdGl6ZV9lODIwX21hcChlODIwLm1hcCwgQVJSQVlfU0laRShlODIwLm1hcCksICZucikgPCAwKQorCQkJZWFybHlfcGFuaWMoIkludmFsaWQgdXNlciBzdXBwbGllZCBtZW1vcnkgbWFwIik7CisJCWU4MjAubnJfbWFwID0gbnI7CisKKwkJcHJpbnRrKEtFUk5fSU5GTyAidXNlci1kZWZpbmVkIHBoeXNpY2FsIFJBTSBtYXA6XG4iKTsKKwkJZTgyMF9wcmludF9tYXAoInVzZXIiKTsKKwl9Cit9CisKK3N0YXRpYyBpbmxpbmUgY29uc3QgY2hhciAqZTgyMF90eXBlX3RvX3N0cmluZyhpbnQgZTgyMF90eXBlKQoreworCXN3aXRjaCAoZTgyMF90eXBlKSB7CisJY2FzZSBFODIwX1JFU0VSVkVEX0tFUk46CisJY2FzZSBFODIwX1JBTToJcmV0dXJuICJTeXN0ZW0gUkFNIjsKKwljYXNlIEU4MjBfQUNQSToJcmV0dXJuICJBQ1BJIFRhYmxlcyI7CisJY2FzZSBFODIwX05WUzoJcmV0dXJuICJBQ1BJIE5vbi12b2xhdGlsZSBTdG9yYWdlIjsKKwlkZWZhdWx0OglyZXR1cm4gInJlc2VydmVkIjsKKwl9Cit9CisKKy8qCisgKiBNYXJrIGU4MjAgcmVzZXJ2ZWQgYXJlYXMgYXMgYnVzeSBmb3IgdGhlIHJlc291cmNlIG1hbmFnZXIuCisgKi8KK3ZvaWQgX19pbml0IGU4MjBfcmVzZXJ2ZV9yZXNvdXJjZXModm9pZCkKK3sKKwlpbnQgaTsKKwlzdHJ1Y3QgcmVzb3VyY2UgKnJlczsKKwl1NjQgZW5kOworCisJcmVzID0gYWxsb2NfYm9vdG1lbV9sb3coc2l6ZW9mKHN0cnVjdCByZXNvdXJjZSkgKiBlODIwLm5yX21hcCk7CisJZm9yIChpID0gMDsgaSA8IGU4MjAubnJfbWFwOyBpKyspIHsKKwkJZW5kID0gZTgyMC5tYXBbaV0uYWRkciArIGU4MjAubWFwW2ldLnNpemUgLSAxOworI2lmbmRlZiBDT05GSUdfUkVTT1VSQ0VTXzY0QklUCisJCWlmIChlbmQgPiAweDEwMDAwMDAwMFVMTCkgeworCQkJcmVzKys7CisJCQljb250aW51ZTsKKwkJfQorI2VuZGlmCisJCXJlcy0+bmFtZSA9IGU4MjBfdHlwZV90b19zdHJpbmcoZTgyMC5tYXBbaV0udHlwZSk7CisJCXJlcy0+c3RhcnQgPSBlODIwLm1hcFtpXS5hZGRyOworCQlyZXMtPmVuZCA9IGVuZDsKKworCQlyZXMtPmZsYWdzID0gSU9SRVNPVVJDRV9NRU0gfCBJT1JFU09VUkNFX0JVU1k7CisJCWluc2VydF9yZXNvdXJjZSgmaW9tZW1fcmVzb3VyY2UsIHJlcyk7CisJCXJlcysrOworCX0KKworCWZvciAoaSA9IDA7IGkgPCBlODIwX3NhdmVkLm5yX21hcDsgaSsrKSB7CisJCXN0cnVjdCBlODIwZW50cnkgKmVudHJ5ID0gJmU4MjBfc2F2ZWQubWFwW2ldOworCQlmaXJtd2FyZV9tYXBfYWRkX2Vhcmx5KGVudHJ5LT5hZGRyLAorCQkJZW50cnktPmFkZHIgKyBlbnRyeS0+c2l6ZSAtIDEsCisJCQllODIwX3R5cGVfdG9fc3RyaW5nKGVudHJ5LT50eXBlKSk7CisJfQorfQorCisvKgorICogTm9uLXN0YW5kYXJkIG1lbW9yeSBzZXR1cCBjYW4gYmUgc3BlY2lmaWVkIHZpYSB0aGlzIHF1aXJrOgorICovCitjaGFyICogKCphcmNoX21lbW9yeV9zZXR1cF9xdWlyaykodm9pZCk7CisKK2NoYXIgKl9faW5pdCBkZWZhdWx0X21hY2hpbmVfc3BlY2lmaWNfbWVtb3J5X3NldHVwKHZvaWQpCit7CisJY2hhciAqd2hvID0gIkJJT1MtZTgyMCI7CisJaW50IG5ld19ucjsKKwkvKgorCSAqIFRyeSB0byBjb3B5IHRoZSBCSU9TLXN1cHBsaWVkIEU4MjAtbWFwLgorCSAqCisJICogT3RoZXJ3aXNlIGZha2UgYSBtZW1vcnkgbWFwOyBvbmUgc2VjdGlvbiBmcm9tIDBrLT42NDBrLAorCSAqIHRoZSBuZXh0IHNlY3Rpb24gZnJvbSAxbWItPmFwcHJvcHJpYXRlX21lbV9rCisJICovCisJbmV3X25yID0gYm9vdF9wYXJhbXMuZTgyMF9lbnRyaWVzOworCXNhbml0aXplX2U4MjBfbWFwKGJvb3RfcGFyYW1zLmU4MjBfbWFwLAorCQkJQVJSQVlfU0laRShib290X3BhcmFtcy5lODIwX21hcCksCisJCQkmbmV3X25yKTsKKwlib290X3BhcmFtcy5lODIwX2VudHJpZXMgPSBuZXdfbnI7CisJaWYgKGFwcGVuZF9lODIwX21hcChib290X3BhcmFtcy5lODIwX21hcCwgYm9vdF9wYXJhbXMuZTgyMF9lbnRyaWVzKQorCSAgPCAwKSB7CisJCXU2NCBtZW1fc2l6ZTsKKworCQkvKiBjb21wYXJlIHJlc3VsdHMgZnJvbSBvdGhlciBtZXRob2RzIGFuZCB0YWtlIHRoZSBncmVhdGVyICovCisJCWlmIChib290X3BhcmFtcy5hbHRfbWVtX2sKKwkJICAgIDwgYm9vdF9wYXJhbXMuc2NyZWVuX2luZm8uZXh0X21lbV9rKSB7CisJCQltZW1fc2l6ZSA9IGJvb3RfcGFyYW1zLnNjcmVlbl9pbmZvLmV4dF9tZW1fazsKKwkJCXdobyA9ICJCSU9TLTg4IjsKKwkJfSBlbHNlIHsKKwkJCW1lbV9zaXplID0gYm9vdF9wYXJhbXMuYWx0X21lbV9rOworCQkJd2hvID0gIkJJT1MtZTgwMSI7CisJCX0KKworCQllODIwLm5yX21hcCA9IDA7CisJCWU4MjBfYWRkX3JlZ2lvbigwLCBMT1dNRU1TSVpFKCksIEU4MjBfUkFNKTsKKwkJZTgyMF9hZGRfcmVnaW9uKEhJR0hfTUVNT1JZLCBtZW1fc2l6ZSA8PCAxMCwgRTgyMF9SQU0pOworCX0KKworCS8qIEluIGNhc2Ugc29tZW9uZSBjYXJlcy4uLiAqLworCXJldHVybiB3aG87Cit9CisKK2NoYXIgKl9faW5pdCBfX2F0dHJpYnV0ZV9fKCh3ZWFrKSkgbWFjaGluZV9zcGVjaWZpY19tZW1vcnlfc2V0dXAodm9pZCkKK3sKKwlpZiAoYXJjaF9tZW1vcnlfc2V0dXBfcXVpcmspIHsKKwkJY2hhciAqd2hvID0gYXJjaF9tZW1vcnlfc2V0dXBfcXVpcmsoKTsKKworCQlpZiAod2hvKQorCQkJcmV0dXJuIHdobzsKKwl9CisJcmV0dXJuIGRlZmF1bHRfbWFjaGluZV9zcGVjaWZpY19tZW1vcnlfc2V0dXAoKTsKK30KKworLyogT3ZlcnJpZGRlbiBpbiBwYXJhdmlydC5jIGlmIENPTkZJR19QQVJBVklSVCAqLworY2hhciAqIF9faW5pdCBfX2F0dHJpYnV0ZV9fKCh3ZWFrKSkgbWVtb3J5X3NldHVwKHZvaWQpCit7CisJcmV0dXJuIG1hY2hpbmVfc3BlY2lmaWNfbWVtb3J5X3NldHVwKCk7Cit9CisKK3ZvaWQgX19pbml0IHNldHVwX21lbW9yeV9tYXAodm9pZCkKK3sKKwljaGFyICp3aG87CisKKwl3aG8gPSBtZW1vcnlfc2V0dXAoKTsKKwltZW1jcHkoJmU4MjBfc2F2ZWQsICZlODIwLCBzaXplb2Yoc3RydWN0IGU4MjBtYXApKTsKKwlwcmludGsoS0VSTl9JTkZPICJCSU9TLXByb3ZpZGVkIHBoeXNpY2FsIFJBTSBtYXA6XG4iKTsKKwllODIwX3ByaW50X21hcCh3aG8pOworfQorCisjaWZkZWYgQ09ORklHX1g4Nl82NAoraW50IF9faW5pdCBhcmNoX2dldF9yYW1fcmFuZ2UoaW50IHNsb3QsIHU2NCAqYWRkciwgdTY0ICpzaXplKQoreworCWludCBpOworCisJaWYgKHNsb3QgPCAwIHx8IHNsb3QgPj0gZTgyMC5ucl9tYXApCisJCXJldHVybiAtMTsKKwlmb3IgKGkgPSBzbG90OyBpIDwgZTgyMC5ucl9tYXA7IGkrKykgeworCQlpZiAoZTgyMC5tYXBbaV0udHlwZSAhPSBFODIwX1JBTSkKKwkJCWNvbnRpbnVlOworCQlicmVhazsKKwl9CisJaWYgKGkgPT0gZTgyMC5ucl9tYXAgfHwgZTgyMC5tYXBbaV0uYWRkciA+IChtYXhfcGZuIDw8IFBBR0VfU0hJRlQpKQorCQlyZXR1cm4gLTE7CisJKmFkZHIgPSBlODIwLm1hcFtpXS5hZGRyOworCSpzaXplID0gbWluX3QodTY0LCBlODIwLm1hcFtpXS5zaXplICsgZTgyMC5tYXBbaV0uYWRkciwKKwkJbWF4X3BmbiA8PCBQQUdFX1NISUZUKSAtICphZGRyOworCXJldHVybiBpICsgMTsKK30KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2U4MjBfMzIuYyBiL2FyY2gveDg2L2tlcm5lbC9lODIwXzMyLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVkNzMzZTcuLjAwMDAwMDAKLS0tIGEvYXJjaC94ODYva2VybmVsL2U4MjBfMzIuYworKysgL2Rldi9udWxsCkBAIC0xLDc3NSArMCwwIEBACi0jaW5jbHVkZSA8bGludXgva2VybmVsLmg+Ci0jaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KLSNpbmNsdWRlIDxsaW51eC9pbml0Lmg+Ci0jaW5jbHVkZSA8bGludXgvYm9vdG1lbS5oPgotI2luY2x1ZGUgPGxpbnV4L2lvcG9ydC5oPgotI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgotI2luY2x1ZGUgPGxpbnV4L2tleGVjLmg+Ci0jaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+Ci0jaW5jbHVkZSA8bGludXgvbW0uaD4KLSNpbmNsdWRlIDxsaW51eC9wZm4uaD4KLSNpbmNsdWRlIDxsaW51eC91YWNjZXNzLmg+Ci0jaW5jbHVkZSA8bGludXgvc3VzcGVuZC5oPgotCi0jaW5jbHVkZSA8YXNtL3BndGFibGUuaD4KLSNpbmNsdWRlIDxhc20vcGFnZS5oPgotI2luY2x1ZGUgPGFzbS9lODIwLmg+Ci0jaW5jbHVkZSA8YXNtL3NldHVwLmg+Ci0KLXN0cnVjdCBlODIwbWFwIGU4MjA7Ci1zdHJ1Y3QgY2hhbmdlX21lbWJlciB7Ci0Jc3RydWN0IGU4MjBlbnRyeSAqcGJpb3M7IC8qIHBvaW50ZXIgdG8gb3JpZ2luYWwgYmlvcyBlbnRyeSAqLwotCXVuc2lnbmVkIGxvbmcgbG9uZyBhZGRyOyAvKiBhZGRyZXNzIGZvciB0aGlzIGNoYW5nZSBwb2ludCAqLwotfTsKLXN0YXRpYyBzdHJ1Y3QgY2hhbmdlX21lbWJlciBjaGFuZ2VfcG9pbnRfbGlzdFsyKkU4MjBNQVhdIF9faW5pdGRhdGE7Ci1zdGF0aWMgc3RydWN0IGNoYW5nZV9tZW1iZXIgKmNoYW5nZV9wb2ludFsyKkU4MjBNQVhdIF9faW5pdGRhdGE7Ci1zdGF0aWMgc3RydWN0IGU4MjBlbnRyeSAqb3ZlcmxhcF9saXN0W0U4MjBNQVhdIF9faW5pdGRhdGE7Ci1zdGF0aWMgc3RydWN0IGU4MjBlbnRyeSBuZXdfYmlvc1tFODIwTUFYXSBfX2luaXRkYXRhOwotLyogRm9yIFBDSSBvciBvdGhlciBtZW1vcnktbWFwcGVkIHJlc291cmNlcyAqLwotdW5zaWduZWQgbG9uZyBwY2lfbWVtX3N0YXJ0ID0gMHgxMDAwMDAwMDsKLSNpZmRlZiBDT05GSUdfUENJCi1FWFBPUlRfU1lNQk9MKHBjaV9tZW1fc3RhcnQpOwotI2VuZGlmCi1leHRlcm4gaW50IHVzZXJfZGVmaW5lZF9tZW1tYXA7Ci0KLXN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2Ugc3lzdGVtX3JvbV9yZXNvdXJjZSA9IHsKLQkubmFtZQk9ICJTeXN0ZW0gUk9NIiwKLQkuc3RhcnQJPSAweGYwMDAwLAotCS5lbmQJPSAweGZmZmZmLAotCS5mbGFncwk9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfUkVBRE9OTFkgfCBJT1JFU09VUkNFX01FTQotfTsKLQotc3RhdGljIHN0cnVjdCByZXNvdXJjZSBleHRlbnNpb25fcm9tX3Jlc291cmNlID0gewotCS5uYW1lCT0gIkV4dGVuc2lvbiBST00iLAotCS5zdGFydAk9IDB4ZTAwMDAsCi0JLmVuZAk9IDB4ZWZmZmYsCi0JLmZsYWdzCT0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9SRUFET05MWSB8IElPUkVTT1VSQ0VfTUVNCi19OwotCi1zdGF0aWMgc3RydWN0IHJlc291cmNlIGFkYXB0ZXJfcm9tX3Jlc291cmNlc1tdID0geyB7Ci0JLm5hbWUgCT0gIkFkYXB0ZXIgUk9NIiwKLQkuc3RhcnQJPSAweGM4MDAwLAotCS5lbmQJPSAwLAotCS5mbGFncwk9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfUkVBRE9OTFkgfCBJT1JFU09VUkNFX01FTQotfSwgewotCS5uYW1lIAk9ICJBZGFwdGVyIFJPTSIsCi0JLnN0YXJ0CT0gMCwKLQkuZW5kCT0gMCwKLQkuZmxhZ3MJPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX1JFQURPTkxZIHwgSU9SRVNPVVJDRV9NRU0KLX0sIHsKLQkubmFtZSAJPSAiQWRhcHRlciBST00iLAotCS5zdGFydAk9IDAsCi0JLmVuZAk9IDAsCi0JLmZsYWdzCT0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9SRUFET05MWSB8IElPUkVTT1VSQ0VfTUVNCi19LCB7Ci0JLm5hbWUgCT0gIkFkYXB0ZXIgUk9NIiwKLQkuc3RhcnQJPSAwLAotCS5lbmQJPSAwLAotCS5mbGFncwk9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfUkVBRE9OTFkgfCBJT1JFU09VUkNFX01FTQotfSwgewotCS5uYW1lIAk9ICJBZGFwdGVyIFJPTSIsCi0JLnN0YXJ0CT0gMCwKLQkuZW5kCT0gMCwKLQkuZmxhZ3MJPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX1JFQURPTkxZIHwgSU9SRVNPVVJDRV9NRU0KLX0sIHsKLQkubmFtZSAJPSAiQWRhcHRlciBST00iLAotCS5zdGFydAk9IDAsCi0JLmVuZAk9IDAsCi0JLmZsYWdzCT0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9SRUFET05MWSB8IElPUkVTT1VSQ0VfTUVNCi19IH07Ci0KLXN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgdmlkZW9fcm9tX3Jlc291cmNlID0gewotCS5uYW1lIAk9ICJWaWRlbyBST00iLAotCS5zdGFydAk9IDB4YzAwMDAsCi0JLmVuZAk9IDB4YzdmZmYsCi0JLmZsYWdzCT0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9SRUFET05MWSB8IElPUkVTT1VSQ0VfTUVNCi19OwotCi0jZGVmaW5lIFJPTVNJR05BVFVSRSAweGFhNTUKLQotc3RhdGljIGludCBfX2luaXQgcm9tc2lnbmF0dXJlKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnJvbSkKLXsKLQljb25zdCB1bnNpZ25lZCBzaG9ydCAqIGNvbnN0IHB0ciA9IChjb25zdCB1bnNpZ25lZCBzaG9ydCAqKXJvbTsKLQl1bnNpZ25lZCBzaG9ydCBzaWc7Ci0KLQlyZXR1cm4gcHJvYmVfa2VybmVsX2FkZHJlc3MocHRyLCBzaWcpID09IDAgJiYgc2lnID09IFJPTVNJR05BVFVSRTsKLX0KLQotc3RhdGljIGludCBfX2luaXQgcm9tY2hlY2tzdW0oY29uc3QgdW5zaWduZWQgY2hhciAqcm9tLCB1bnNpZ25lZCBsb25nIGxlbmd0aCkKLXsKLQl1bnNpZ25lZCBjaGFyIHN1bSwgYzsKLQotCWZvciAoc3VtID0gMDsgbGVuZ3RoICYmIHByb2JlX2tlcm5lbF9hZGRyZXNzKHJvbSsrLCBjKSA9PSAwOyBsZW5ndGgtLSkKLQkJc3VtICs9IGM7Ci0JcmV0dXJuICFsZW5ndGggJiYgIXN1bTsKLX0KLQotc3RhdGljIHZvaWQgX19pbml0IHByb2JlX3JvbXModm9pZCkKLXsKLQljb25zdCB1bnNpZ25lZCBjaGFyICpyb207Ci0JdW5zaWduZWQgbG9uZyBzdGFydCwgbGVuZ3RoLCB1cHBlcjsKLQl1bnNpZ25lZCBjaGFyIGM7Ci0JaW50IGk7Ci0KLQkvKiB2aWRlbyByb20gKi8KLQl1cHBlciA9IGFkYXB0ZXJfcm9tX3Jlc291cmNlc1swXS5zdGFydDsKLQlmb3IgKHN0YXJ0ID0gdmlkZW9fcm9tX3Jlc291cmNlLnN0YXJ0OyBzdGFydCA8IHVwcGVyOyBzdGFydCArPSAyMDQ4KSB7Ci0JCXJvbSA9IGlzYV9idXNfdG9fdmlydChzdGFydCk7Ci0JCWlmICghcm9tc2lnbmF0dXJlKHJvbSkpCi0JCQljb250aW51ZTsKLQotCQl2aWRlb19yb21fcmVzb3VyY2Uuc3RhcnQgPSBzdGFydDsKLQotCQlpZiAocHJvYmVfa2VybmVsX2FkZHJlc3Mocm9tICsgMiwgYykgIT0gMCkKLQkJCWNvbnRpbnVlOwotCi0JCS8qIDAgPCBsZW5ndGggPD0gMHg3ZiAqIDUxMiwgaGlzdG9yaWNhbGx5ICovCi0JCWxlbmd0aCA9IGMgKiA1MTI7Ci0KLQkJLyogaWYgY2hlY2tzdW0gb2theSwgdHJ1c3QgbGVuZ3RoIGJ5dGUgKi8KLQkJaWYgKGxlbmd0aCAmJiByb21jaGVja3N1bShyb20sIGxlbmd0aCkpCi0JCQl2aWRlb19yb21fcmVzb3VyY2UuZW5kID0gc3RhcnQgKyBsZW5ndGggLSAxOwotCi0JCXJlcXVlc3RfcmVzb3VyY2UoJmlvbWVtX3Jlc291cmNlLCAmdmlkZW9fcm9tX3Jlc291cmNlKTsKLQkJYnJlYWs7Ci0JfQotCi0Jc3RhcnQgPSAodmlkZW9fcm9tX3Jlc291cmNlLmVuZCArIDEgKyAyMDQ3KSAmIH4yMDQ3VUw7Ci0JaWYgKHN0YXJ0IDwgdXBwZXIpCi0JCXN0YXJ0ID0gdXBwZXI7Ci0KLQkvKiBzeXN0ZW0gcm9tICovCi0JcmVxdWVzdF9yZXNvdXJjZSgmaW9tZW1fcmVzb3VyY2UsICZzeXN0ZW1fcm9tX3Jlc291cmNlKTsKLQl1cHBlciA9IHN5c3RlbV9yb21fcmVzb3VyY2Uuc3RhcnQ7Ci0KLQkvKiBjaGVjayBmb3IgZXh0ZW5zaW9uIHJvbSAoaWdub3JlIGxlbmd0aCBieXRlISkgKi8KLQlyb20gPSBpc2FfYnVzX3RvX3ZpcnQoZXh0ZW5zaW9uX3JvbV9yZXNvdXJjZS5zdGFydCk7Ci0JaWYgKHJvbXNpZ25hdHVyZShyb20pKSB7Ci0JCWxlbmd0aCA9IGV4dGVuc2lvbl9yb21fcmVzb3VyY2UuZW5kIC0gZXh0ZW5zaW9uX3JvbV9yZXNvdXJjZS5zdGFydCArIDE7Ci0JCWlmIChyb21jaGVja3N1bShyb20sIGxlbmd0aCkpIHsKLQkJCXJlcXVlc3RfcmVzb3VyY2UoJmlvbWVtX3Jlc291cmNlLCAmZXh0ZW5zaW9uX3JvbV9yZXNvdXJjZSk7Ci0JCQl1cHBlciA9IGV4dGVuc2lvbl9yb21fcmVzb3VyY2Uuc3RhcnQ7Ci0JCX0KLQl9Ci0KLQkvKiBjaGVjayBmb3IgYWRhcHRlciByb21zIG9uIDJrIGJvdW5kYXJpZXMgKi8KLQlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShhZGFwdGVyX3JvbV9yZXNvdXJjZXMpICYmIHN0YXJ0IDwgdXBwZXI7IHN0YXJ0ICs9IDIwNDgpIHsKLQkJcm9tID0gaXNhX2J1c190b192aXJ0KHN0YXJ0KTsKLQkJaWYgKCFyb21zaWduYXR1cmUocm9tKSkKLQkJCWNvbnRpbnVlOwotCi0JCWlmIChwcm9iZV9rZXJuZWxfYWRkcmVzcyhyb20gKyAyLCBjKSAhPSAwKQotCQkJY29udGludWU7Ci0KLQkJLyogMCA8IGxlbmd0aCA8PSAweDdmICogNTEyLCBoaXN0b3JpY2FsbHkgKi8KLQkJbGVuZ3RoID0gYyAqIDUxMjsKLQotCQkvKiBidXQgYWNjZXB0IGFueSBsZW5ndGggdGhhdCBmaXRzIGlmIGNoZWNrc3VtIG9rYXkgKi8KLQkJaWYgKCFsZW5ndGggfHwgc3RhcnQgKyBsZW5ndGggPiB1cHBlciB8fCAhcm9tY2hlY2tzdW0ocm9tLCBsZW5ndGgpKQotCQkJY29udGludWU7Ci0KLQkJYWRhcHRlcl9yb21fcmVzb3VyY2VzW2ldLnN0YXJ0ID0gc3RhcnQ7Ci0JCWFkYXB0ZXJfcm9tX3Jlc291cmNlc1tpXS5lbmQgPSBzdGFydCArIGxlbmd0aCAtIDE7Ci0JCXJlcXVlc3RfcmVzb3VyY2UoJmlvbWVtX3Jlc291cmNlLCAmYWRhcHRlcl9yb21fcmVzb3VyY2VzW2ldKTsKLQotCQlzdGFydCA9IGFkYXB0ZXJfcm9tX3Jlc291cmNlc1tpKytdLmVuZCAmIH4yMDQ3VUw7Ci0JfQotfQotCi0vKgotICogUmVxdWVzdCBhZGRyZXNzIHNwYWNlIGZvciBhbGwgc3RhbmRhcmQgUkFNIGFuZCBST00gcmVzb3VyY2VzCi0gKiBhbmQgYWxzbyBmb3IgcmVnaW9ucyByZXBvcnRlZCBhcyByZXNlcnZlZCBieSB0aGUgZTgyMC4KLSAqLwotdm9pZCBfX2luaXQgaW5pdF9pb21lbV9yZXNvdXJjZXMoc3RydWN0IHJlc291cmNlICpjb2RlX3Jlc291cmNlLAotCQlzdHJ1Y3QgcmVzb3VyY2UgKmRhdGFfcmVzb3VyY2UsCi0JCXN0cnVjdCByZXNvdXJjZSAqYnNzX3Jlc291cmNlKQotewotCWludCBpOwotCi0JcHJvYmVfcm9tcygpOwotCWZvciAoaSA9IDA7IGkgPCBlODIwLm5yX21hcDsgaSsrKSB7Ci0JCXN0cnVjdCByZXNvdXJjZSAqcmVzOwotI2lmbmRlZiBDT05GSUdfUkVTT1VSQ0VTXzY0QklUCi0JCWlmIChlODIwLm1hcFtpXS5hZGRyICsgZTgyMC5tYXBbaV0uc2l6ZSA+IDB4MTAwMDAwMDAwVUxMKQotCQkJY29udGludWU7Ci0jZW5kaWYKLQkJcmVzID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IHJlc291cmNlKSwgR0ZQX0FUT01JQyk7Ci0JCXN3aXRjaCAoZTgyMC5tYXBbaV0udHlwZSkgewotCQljYXNlIEU4MjBfUkFNOglyZXMtPm5hbWUgPSAiU3lzdGVtIFJBTSI7IGJyZWFrOwotCQljYXNlIEU4MjBfQUNQSToJcmVzLT5uYW1lID0gIkFDUEkgVGFibGVzIjsgYnJlYWs7Ci0JCWNhc2UgRTgyMF9OVlM6CXJlcy0+bmFtZSA9ICJBQ1BJIE5vbi12b2xhdGlsZSBTdG9yYWdlIjsgYnJlYWs7Ci0JCWRlZmF1bHQ6CXJlcy0+bmFtZSA9ICJyZXNlcnZlZCI7Ci0JCX0KLQkJcmVzLT5zdGFydCA9IGU4MjAubWFwW2ldLmFkZHI7Ci0JCXJlcy0+ZW5kID0gcmVzLT5zdGFydCArIGU4MjAubWFwW2ldLnNpemUgLSAxOwotCQlyZXMtPmZsYWdzID0gSU9SRVNPVVJDRV9NRU0gfCBJT1JFU09VUkNFX0JVU1k7Ci0JCWlmIChyZXF1ZXN0X3Jlc291cmNlKCZpb21lbV9yZXNvdXJjZSwgcmVzKSkgewotCQkJa2ZyZWUocmVzKTsKLQkJCWNvbnRpbnVlOwotCQl9Ci0JCWlmIChlODIwLm1hcFtpXS50eXBlID09IEU4MjBfUkFNKSB7Ci0JCQkvKgotCQkJICogIFdlIGRvbid0IGtub3cgd2hpY2ggUkFNIHJlZ2lvbiBjb250YWlucyBrZXJuZWwgZGF0YSwKLQkJCSAqICBzbyB3ZSB0cnkgaXQgcmVwZWF0ZWRseSBhbmQgbGV0IHRoZSByZXNvdXJjZSBtYW5hZ2VyCi0JCQkgKiAgdGVzdCBpdC4KLQkJCSAqLwotCQkJcmVxdWVzdF9yZXNvdXJjZShyZXMsIGNvZGVfcmVzb3VyY2UpOwotCQkJcmVxdWVzdF9yZXNvdXJjZShyZXMsIGRhdGFfcmVzb3VyY2UpOwotCQkJcmVxdWVzdF9yZXNvdXJjZShyZXMsIGJzc19yZXNvdXJjZSk7Ci0jaWZkZWYgQ09ORklHX0tFWEVDCi0JCQlpZiAoY3Jhc2hrX3Jlcy5zdGFydCAhPSBjcmFzaGtfcmVzLmVuZCkKLQkJCQlyZXF1ZXN0X3Jlc291cmNlKHJlcywgJmNyYXNoa19yZXMpOwotI2VuZGlmCi0JCX0KLQl9Ci19Ci0KLSNpZiBkZWZpbmVkKENPTkZJR19QTSkgJiYgZGVmaW5lZChDT05GSUdfSElCRVJOQVRJT04pCi0vKioKLSAqIGU4MjBfbWFya19ub3NhdmVfcmVnaW9ucyAtIEZpbmQgdGhlIHJhbmdlcyBvZiBwaHlzaWNhbCBhZGRyZXNzZXMgdGhhdCBkbyBub3QKLSAqIGNvcnJlc3BvbmQgdG8gZTgyMCBSQU0gYXJlYXMgYW5kIG1hcmsgdGhlIGNvcnJlc3BvbmRpbmcgcGFnZXMgYXMgbm9zYXZlIGZvcgotICogaGliZXJuYXRpb24uCi0gKgotICogVGhpcyBmdW5jdGlvbiByZXF1aXJlcyB0aGUgZTgyMCBtYXAgdG8gYmUgc29ydGVkIGFuZCB3aXRob3V0IGFueQotICogb3ZlcmxhcHBpbmcgZW50cmllcyBhbmQgYXNzdW1lcyB0aGUgZmlyc3QgZTgyMCBhcmVhIHRvIGJlIFJBTS4KLSAqLwotdm9pZCBfX2luaXQgZTgyMF9tYXJrX25vc2F2ZV9yZWdpb25zKHZvaWQpCi17Ci0JaW50IGk7Ci0JdW5zaWduZWQgbG9uZyBwZm47Ci0KLQlwZm4gPSBQRk5fRE9XTihlODIwLm1hcFswXS5hZGRyICsgZTgyMC5tYXBbMF0uc2l6ZSk7Ci0JZm9yIChpID0gMTsgaSA8IGU4MjAubnJfbWFwOyBpKyspIHsKLQkJc3RydWN0IGU4MjBlbnRyeSAqZWkgPSAmZTgyMC5tYXBbaV07Ci0KLQkJaWYgKHBmbiA8IFBGTl9VUChlaS0+YWRkcikpCi0JCQlyZWdpc3Rlcl9ub3NhdmVfcmVnaW9uKHBmbiwgUEZOX1VQKGVpLT5hZGRyKSk7Ci0KLQkJcGZuID0gUEZOX0RPV04oZWktPmFkZHIgKyBlaS0+c2l6ZSk7Ci0JCWlmIChlaS0+dHlwZSAhPSBFODIwX1JBTSkKLQkJCXJlZ2lzdGVyX25vc2F2ZV9yZWdpb24oUEZOX1VQKGVpLT5hZGRyKSwgcGZuKTsKLQotCQlpZiAocGZuID49IG1heF9sb3dfcGZuKQotCQkJYnJlYWs7Ci0JfQotfQotI2VuZGlmCi0KLXZvaWQgX19pbml0IGFkZF9tZW1vcnlfcmVnaW9uKHVuc2lnbmVkIGxvbmcgbG9uZyBzdGFydCwKLQkJCSAgICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBzaXplLCBpbnQgdHlwZSkKLXsKLQlpbnQgeDsKLQotCXggPSBlODIwLm5yX21hcDsKLQotCWlmICh4ID09IEU4MjBNQVgpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJPb29wcyEgVG9vIG1hbnkgZW50cmllcyBpbiB0aGUgbWVtb3J5IG1hcCFcbiIpOwotCQlyZXR1cm47Ci0JfQotCi0JZTgyMC5tYXBbeF0uYWRkciA9IHN0YXJ0OwotCWU4MjAubWFwW3hdLnNpemUgPSBzaXplOwotCWU4MjAubWFwW3hdLnR5cGUgPSB0eXBlOwotCWU4MjAubnJfbWFwKys7Ci19IC8qIGFkZF9tZW1vcnlfcmVnaW9uICovCi0KLS8qCi0gKiBTYW5pdGl6ZSB0aGUgQklPUyBlODIwIG1hcC4KLSAqCi0gKiBTb21lIGU4MjAgcmVzcG9uc2VzIGluY2x1ZGUgb3ZlcmxhcHBpbmcgZW50cmllcy4gIFRoZSBmb2xsb3dpbmcKLSAqIHJlcGxhY2VzIHRoZSBvcmlnaW5hbCBlODIwIG1hcCB3aXRoIGEgbmV3IG9uZSwgcmVtb3Zpbmcgb3ZlcmxhcHMuCi0gKgotICovCi1pbnQgX19pbml0IHNhbml0aXplX2U4MjBfbWFwKHN0cnVjdCBlODIwZW50cnkgKiBiaW9zbWFwLCBjaGFyICogcG5yX21hcCkKLXsKLQlzdHJ1Y3QgY2hhbmdlX21lbWJlciAqY2hhbmdlX3RtcDsKLQl1bnNpZ25lZCBsb25nIGN1cnJlbnRfdHlwZSwgbGFzdF90eXBlOwotCXVuc2lnbmVkIGxvbmcgbG9uZyBsYXN0X2FkZHI7Ci0JaW50IGNoZ2lkeCwgc3RpbGxfY2hhbmdpbmc7Ci0JaW50IG92ZXJsYXBfZW50cmllczsKLQlpbnQgbmV3X2Jpb3NfZW50cnk7Ci0JaW50IG9sZF9uciwgbmV3X25yLCBjaGdfbnI7Ci0JaW50IGk7Ci0KLQkvKgotCQlWaXN1YWxseSB3ZSdyZSBwZXJmb3JtaW5nIHRoZSBmb2xsb3dpbmcgKDEsMiwzLDQgPSBtZW1vcnkgdHlwZXMpLi4uCi0KLQkJU2FtcGxlIG1lbW9yeSBtYXAgKHcvb3ZlcmxhcHMpOgotCQkgICBfX19fMjJfX19fX19fX19fX19fX19fX18KLQkJICAgX19fX19fX19fX19fX19fX19fX19fXzRfCi0JCSAgIF9fX18xMTExX19fX19fX19fX19fX19fXwotCQkgICBfNDRfX19fX19fX19fX19fX19fX19fX18KLQkJICAgMTExMTExMTFfX19fX19fX19fX19fX19fCi0JCSAgIF9fX19fX19fX19fX19fX19fX19fMzNfXwotCQkgICBfX19fX19fX19fXzQ0X19fX19fX19fX18KLQkJICAgX19fX19fX19fXzMzMzMzX19fX19fX19fCi0JCSAgIF9fX19fX19fX19fX19fMjJfX19fX19fXwotCQkgICBfX19fX19fX19fX19fX19fX19fMjIyMl8KLQkJICAgX19fX19fX19fMTExMTExMTExX19fX19fCi0JCSAgIF9fX19fX19fX19fX19fX19fX19fXzExXwotCQkgICBfX19fX19fX19fX19fX19fXzRfX19fX18KLQotCQlTYW5pdGl6ZWQgZXF1aXZhbGVudCAobm8gb3ZlcmxhcCk6Ci0JCSAgIDFfX19fX19fX19fX19fX19fX19fX19fXwotCQkgICBfNDRfX19fX19fX19fX19fX19fX19fX18KLQkJICAgX19fMV9fX19fX19fX19fX19fX19fX19fCi0JCSAgIF9fX18yMl9fX19fX19fX19fX19fX19fXwotCQkgICBfX19fX18xMV9fX19fX19fX19fX19fX18KLQkJICAgX19fX19fX19fMV9fX19fX19fX19fX19fCi0JCSAgIF9fX19fX19fX18zX19fX19fX19fX19fXwotCQkgICBfX19fX19fX19fXzQ0X19fX19fX19fX18KLQkJICAgX19fX19fX19fX19fXzMzX19fX19fX19fCi0JCSAgIF9fX19fX19fX19fX19fXzJfX19fX19fXwotCQkgICBfX19fX19fX19fX19fX19fMV9fX19fX18KLQkJICAgX19fX19fX19fX19fX19fX180X19fX19fCi0JCSAgIF9fX19fX19fX19fX19fX19fX18yX19fXwotCQkgICBfX19fX19fX19fX19fX19fX19fXzMzX18KLQkJICAgX19fX19fX19fX19fX19fX19fX19fXzRfCi0JKi8KLQkvKiBpZiB0aGVyZSdzIG9ubHkgb25lIG1lbW9yeSByZWdpb24sIGRvbid0IGJvdGhlciAqLwotCWlmICgqcG5yX21hcCA8IDIpIHsKLQkJcmV0dXJuIC0xOwotCX0KLQotCW9sZF9uciA9ICpwbnJfbWFwOwotCi0JLyogYmFpbCBvdXQgaWYgd2UgZmluZCBhbnkgdW5yZWFzb25hYmxlIGFkZHJlc3NlcyBpbiBiaW9zIG1hcCAqLwotCWZvciAoaT0wOyBpPG9sZF9ucjsgaSsrKQotCQlpZiAoYmlvc21hcFtpXS5hZGRyICsgYmlvc21hcFtpXS5zaXplIDwgYmlvc21hcFtpXS5hZGRyKSB7Ci0JCQlyZXR1cm4gLTE7Ci0JCX0KLQotCS8qIGNyZWF0ZSBwb2ludGVycyBmb3IgaW5pdGlhbCBjaGFuZ2UtcG9pbnQgaW5mb3JtYXRpb24gKGZvciBzb3J0aW5nKSAqLwotCWZvciAoaT0wOyBpIDwgMipvbGRfbnI7IGkrKykKLQkJY2hhbmdlX3BvaW50W2ldID0gJmNoYW5nZV9wb2ludF9saXN0W2ldOwotCi0JLyogcmVjb3JkIGFsbCBrbm93biBjaGFuZ2UtcG9pbnRzIChzdGFydGluZyBhbmQgZW5kaW5nIGFkZHJlc3NlcyksCi0JICAgb21pdHRpbmcgdGhvc2UgdGhhdCBhcmUgZm9yIGVtcHR5IG1lbW9yeSByZWdpb25zICovCi0JY2hnaWR4ID0gMDsKLQlmb3IgKGk9MDsgaSA8IG9sZF9ucjsgaSsrKQl7Ci0JCWlmIChiaW9zbWFwW2ldLnNpemUgIT0gMCkgewotCQkJY2hhbmdlX3BvaW50W2NoZ2lkeF0tPmFkZHIgPSBiaW9zbWFwW2ldLmFkZHI7Ci0JCQljaGFuZ2VfcG9pbnRbY2hnaWR4KytdLT5wYmlvcyA9ICZiaW9zbWFwW2ldOwotCQkJY2hhbmdlX3BvaW50W2NoZ2lkeF0tPmFkZHIgPSBiaW9zbWFwW2ldLmFkZHIgKyBiaW9zbWFwW2ldLnNpemU7Ci0JCQljaGFuZ2VfcG9pbnRbY2hnaWR4KytdLT5wYmlvcyA9ICZiaW9zbWFwW2ldOwotCQl9Ci0JfQotCWNoZ19uciA9IGNoZ2lkeDsgICAgCS8qIHRydWUgbnVtYmVyIG9mIGNoYW5nZS1wb2ludHMgKi8KLQotCS8qIHNvcnQgY2hhbmdlLXBvaW50IGxpc3QgYnkgbWVtb3J5IGFkZHJlc3NlcyAobG93IC0+IGhpZ2gpICovCi0Jc3RpbGxfY2hhbmdpbmcgPSAxOwotCXdoaWxlIChzdGlsbF9jaGFuZ2luZykJewotCQlzdGlsbF9jaGFuZ2luZyA9IDA7Ci0JCWZvciAoaT0xOyBpIDwgY2hnX25yOyBpKyspICB7Ci0JCQkvKiBpZiA8Y3VycmVudF9hZGRyPiA+IDxsYXN0X2FkZHI+LCBzd2FwICovCi0JCQkvKiBvciwgaWYgY3VycmVudD08c3RhcnRfYWRkcj4gJiBsYXN0PTxlbmRfYWRkcj4sIHN3YXAgKi8KLQkJCWlmICgoY2hhbmdlX3BvaW50W2ldLT5hZGRyIDwgY2hhbmdlX3BvaW50W2ktMV0tPmFkZHIpIHx8Ci0JCQkJKChjaGFuZ2VfcG9pbnRbaV0tPmFkZHIgPT0gY2hhbmdlX3BvaW50W2ktMV0tPmFkZHIpICYmCi0JCQkJIChjaGFuZ2VfcG9pbnRbaV0tPmFkZHIgPT0gY2hhbmdlX3BvaW50W2ldLT5wYmlvcy0+YWRkcikgJiYKLQkJCQkgKGNoYW5nZV9wb2ludFtpLTFdLT5hZGRyICE9IGNoYW5nZV9wb2ludFtpLTFdLT5wYmlvcy0+YWRkcikpCi0JCQkgICApCi0JCQl7Ci0JCQkJY2hhbmdlX3RtcCA9IGNoYW5nZV9wb2ludFtpXTsKLQkJCQljaGFuZ2VfcG9pbnRbaV0gPSBjaGFuZ2VfcG9pbnRbaS0xXTsKLQkJCQljaGFuZ2VfcG9pbnRbaS0xXSA9IGNoYW5nZV90bXA7Ci0JCQkJc3RpbGxfY2hhbmdpbmc9MTsKLQkJCX0KLQkJfQotCX0KLQotCS8qIGNyZWF0ZSBhIG5ldyBiaW9zIG1lbW9yeSBtYXAsIHJlbW92aW5nIG92ZXJsYXBzICovCi0Jb3ZlcmxhcF9lbnRyaWVzPTA7CSAvKiBudW1iZXIgb2YgZW50cmllcyBpbiB0aGUgb3ZlcmxhcCB0YWJsZSAqLwotCW5ld19iaW9zX2VudHJ5PTA7CSAvKiBpbmRleCBmb3IgY3JlYXRpbmcgbmV3IGJpb3MgbWFwIGVudHJpZXMgKi8KLQlsYXN0X3R5cGUgPSAwOwkJIC8qIHN0YXJ0IHdpdGggdW5kZWZpbmVkIG1lbW9yeSB0eXBlICovCi0JbGFzdF9hZGRyID0gMDsJCSAvKiBzdGFydCB3aXRoIDAgYXMgbGFzdCBzdGFydGluZyBhZGRyZXNzICovCi0JLyogbG9vcCB0aHJvdWdoIGNoYW5nZS1wb2ludHMsIGRldGVybWluaW5nIGFmZmVjdCBvbiB0aGUgbmV3IGJpb3MgbWFwICovCi0JZm9yIChjaGdpZHg9MDsgY2hnaWR4IDwgY2hnX25yOyBjaGdpZHgrKykKLQl7Ci0JCS8qIGtlZXAgdHJhY2sgb2YgYWxsIG92ZXJsYXBwaW5nIGJpb3MgZW50cmllcyAqLwotCQlpZiAoY2hhbmdlX3BvaW50W2NoZ2lkeF0tPmFkZHIgPT0gY2hhbmdlX3BvaW50W2NoZ2lkeF0tPnBiaW9zLT5hZGRyKQotCQl7Ci0JCQkvKiBhZGQgbWFwIGVudHJ5IHRvIG92ZXJsYXAgbGlzdCAoPiAxIGVudHJ5IGltcGxpZXMgYW4gb3ZlcmxhcCkgKi8KLQkJCW92ZXJsYXBfbGlzdFtvdmVybGFwX2VudHJpZXMrK109Y2hhbmdlX3BvaW50W2NoZ2lkeF0tPnBiaW9zOwotCQl9Ci0JCWVsc2UKLQkJewotCQkJLyogcmVtb3ZlIGVudHJ5IGZyb20gbGlzdCAob3JkZXIgaW5kZXBlbmRlbnQsIHNvIHN3YXAgd2l0aCBsYXN0KSAqLwotCQkJZm9yIChpPTA7IGk8b3ZlcmxhcF9lbnRyaWVzOyBpKyspCi0JCQl7Ci0JCQkJaWYgKG92ZXJsYXBfbGlzdFtpXSA9PSBjaGFuZ2VfcG9pbnRbY2hnaWR4XS0+cGJpb3MpCi0JCQkJCW92ZXJsYXBfbGlzdFtpXSA9IG92ZXJsYXBfbGlzdFtvdmVybGFwX2VudHJpZXMtMV07Ci0JCQl9Ci0JCQlvdmVybGFwX2VudHJpZXMtLTsKLQkJfQotCQkvKiBpZiB0aGVyZSBhcmUgb3ZlcmxhcHBpbmcgZW50cmllcywgZGVjaWRlIHdoaWNoICJ0eXBlIiB0byB1c2UgKi8KLQkJLyogKGxhcmdlciB2YWx1ZSB0YWtlcyBwcmVjZWRlbmNlIC0tIDE9dXNhYmxlLCAyLDMsNCw0Kz11bnVzYWJsZSkgKi8KLQkJY3VycmVudF90eXBlID0gMDsKLQkJZm9yIChpPTA7IGk8b3ZlcmxhcF9lbnRyaWVzOyBpKyspCi0JCQlpZiAob3ZlcmxhcF9saXN0W2ldLT50eXBlID4gY3VycmVudF90eXBlKQotCQkJCWN1cnJlbnRfdHlwZSA9IG92ZXJsYXBfbGlzdFtpXS0+dHlwZTsKLQkJLyogY29udGludWUgYnVpbGRpbmcgdXAgbmV3IGJpb3MgbWFwIGJhc2VkIG9uIHRoaXMgaW5mb3JtYXRpb24gKi8KLQkJaWYgKGN1cnJlbnRfdHlwZSAhPSBsYXN0X3R5cGUpCXsKLQkJCWlmIChsYXN0X3R5cGUgIT0gMCkJIHsKLQkJCQluZXdfYmlvc1tuZXdfYmlvc19lbnRyeV0uc2l6ZSA9Ci0JCQkJCWNoYW5nZV9wb2ludFtjaGdpZHhdLT5hZGRyIC0gbGFzdF9hZGRyOwotCQkJCS8qIG1vdmUgZm9yd2FyZCBvbmx5IGlmIHRoZSBuZXcgc2l6ZSB3YXMgbm9uLXplcm8gKi8KLQkJCQlpZiAobmV3X2Jpb3NbbmV3X2Jpb3NfZW50cnldLnNpemUgIT0gMCkKLQkJCQkJaWYgKCsrbmV3X2Jpb3NfZW50cnkgPj0gRTgyME1BWCkKLQkJCQkJCWJyZWFrOyAJLyogbm8gbW9yZSBzcGFjZSBsZWZ0IGZvciBuZXcgYmlvcyBlbnRyaWVzICovCi0JCQl9Ci0JCQlpZiAoY3VycmVudF90eXBlICE9IDApCXsKLQkJCQluZXdfYmlvc1tuZXdfYmlvc19lbnRyeV0uYWRkciA9IGNoYW5nZV9wb2ludFtjaGdpZHhdLT5hZGRyOwotCQkJCW5ld19iaW9zW25ld19iaW9zX2VudHJ5XS50eXBlID0gY3VycmVudF90eXBlOwotCQkJCWxhc3RfYWRkcj1jaGFuZ2VfcG9pbnRbY2hnaWR4XS0+YWRkcjsKLQkJCX0KLQkJCWxhc3RfdHlwZSA9IGN1cnJlbnRfdHlwZTsKLQkJfQotCX0KLQluZXdfbnIgPSBuZXdfYmlvc19lbnRyeTsgICAvKiByZXRhaW4gY291bnQgZm9yIG5ldyBiaW9zIGVudHJpZXMgKi8KLQotCS8qIGNvcHkgbmV3IGJpb3MgbWFwcGluZyBpbnRvIG9yaWdpbmFsIGxvY2F0aW9uICovCi0JbWVtY3B5KGJpb3NtYXAsIG5ld19iaW9zLCBuZXdfbnIqc2l6ZW9mKHN0cnVjdCBlODIwZW50cnkpKTsKLQkqcG5yX21hcCA9IG5ld19ucjsKLQotCXJldHVybiAwOwotfQotCi0vKgotICogQ29weSB0aGUgQklPUyBlODIwIG1hcCBpbnRvIGEgc2FmZSBwbGFjZS4KLSAqCi0gKiBTYW5pdHktY2hlY2sgaXQgd2hpbGUgd2UncmUgYXQgaXQuLgotICoKLSAqIElmIHdlJ3JlIGx1Y2t5IGFuZCBsaXZlIG9uIGEgbW9kZXJuIHN5c3RlbSwgdGhlIHNldHVwIGNvZGUKLSAqIHdpbGwgaGF2ZSBnaXZlbiB1cyBhIG1lbW9yeSBtYXAgdGhhdCB3ZSBjYW4gdXNlIHRvIHByb3Blcmx5Ci0gKiBzZXQgdXAgbWVtb3J5LiAgSWYgd2UgYXJlbid0LCB3ZSdsbCBmYWtlIGEgbWVtb3J5IG1hcC4KLSAqCi0gKiBXZSBjaGVjayB0byBzZWUgdGhhdCB0aGUgbWVtb3J5IG1hcCBjb250YWlucyBhdCBsZWFzdCAyIGVsZW1lbnRzCi0gKiBiZWZvcmUgd2UnbGwgdXNlIGl0LCBiZWNhdXNlIHRoZSBkZXRlY3Rpb24gY29kZSBpbiBzZXR1cC5TIG1heQotICogbm90IGJlIHBlcmZlY3QgYW5kIG1vc3QgZXZlcnkgUEMga25vd24gdG8gbWFuIGhhcyB0d28gbWVtb3J5Ci0gKiByZWdpb25zOiBvbmUgZnJvbSAwIHRvIDY0MGssIGFuZCBvbmUgZnJvbSAxbWIgdXAuICAoVGhlIElCTQotICogdGhpbmtwYWQgNTYweCwgZm9yIGV4YW1wbGUsIGRvZXMgbm90IGNvb3BlcmF0ZSB3aXRoIHRoZSBtZW1vcnkKLSAqIGRldGVjdGlvbiBjb2RlLikKLSAqLwotaW50IF9faW5pdCBjb3B5X2U4MjBfbWFwKHN0cnVjdCBlODIwZW50cnkgKmJpb3NtYXAsIGludCBucl9tYXApCi17Ci0JLyogT25seSBvbmUgbWVtb3J5IHJlZ2lvbiAob3IgbmVnYXRpdmUpPyBJZ25vcmUgaXQgKi8KLQlpZiAobnJfbWFwIDwgMikKLQkJcmV0dXJuIC0xOwotCi0JZG8gewotCQl1NjQgc3RhcnQgPSBiaW9zbWFwLT5hZGRyOwotCQl1NjQgc2l6ZSA9IGJpb3NtYXAtPnNpemU7Ci0JCXU2NCBlbmQgPSBzdGFydCArIHNpemU7Ci0JCXUzMiB0eXBlID0gYmlvc21hcC0+dHlwZTsKLQotCQkvKiBPdmVyZmxvdyBpbiA2NCBiaXRzPyBJZ25vcmUgdGhlIG1lbW9yeSBtYXAuICovCi0JCWlmIChzdGFydCA+IGVuZCkKLQkJCXJldHVybiAtMTsKLQotCQlhZGRfbWVtb3J5X3JlZ2lvbihzdGFydCwgc2l6ZSwgdHlwZSk7Ci0JfSB3aGlsZSAoYmlvc21hcCsrLCAtLW5yX21hcCk7Ci0KLQlyZXR1cm4gMDsKLX0KLQotLyoKLSAqIEZpbmQgdGhlIGhpZ2hlc3QgcGFnZSBmcmFtZSBudW1iZXIgd2UgaGF2ZSBhdmFpbGFibGUKLSAqLwotdm9pZCBfX2luaXQgcHJvcGFnYXRlX2U4MjBfbWFwKHZvaWQpCi17Ci0JaW50IGk7Ci0KLQltYXhfcGZuID0gMDsKLQotCWZvciAoaSA9IDA7IGkgPCBlODIwLm5yX21hcDsgaSsrKSB7Ci0JCXVuc2lnbmVkIGxvbmcgc3RhcnQsIGVuZDsKLQkJLyogUkFNPyAqLwotCQlpZiAoZTgyMC5tYXBbaV0udHlwZSAhPSBFODIwX1JBTSkKLQkJCWNvbnRpbnVlOwotCQlzdGFydCA9IFBGTl9VUChlODIwLm1hcFtpXS5hZGRyKTsKLQkJZW5kID0gUEZOX0RPV04oZTgyMC5tYXBbaV0uYWRkciArIGU4MjAubWFwW2ldLnNpemUpOwotCQlpZiAoc3RhcnQgPj0gZW5kKQotCQkJY29udGludWU7Ci0JCWlmIChlbmQgPiBtYXhfcGZuKQotCQkJbWF4X3BmbiA9IGVuZDsKLQkJbWVtb3J5X3ByZXNlbnQoMCwgc3RhcnQsIGVuZCk7Ci0JfQotfQotCi0vKgotICogUmVnaXN0ZXIgZnVsbHkgYXZhaWxhYmxlIGxvdyBSQU0gcGFnZXMgd2l0aCB0aGUgYm9vdG1lbSBhbGxvY2F0b3IuCi0gKi8KLXZvaWQgX19pbml0IHJlZ2lzdGVyX2Jvb3RtZW1fbG93X3BhZ2VzKHVuc2lnbmVkIGxvbmcgbWF4X2xvd19wZm4pCi17Ci0JaW50IGk7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgZTgyMC5ucl9tYXA7IGkrKykgewotCQl1bnNpZ25lZCBsb25nIGN1cnJfcGZuLCBsYXN0X3Bmbiwgc2l6ZTsKLQkJLyoKLQkJICogUmVzZXJ2ZSB1c2FibGUgbG93IG1lbW9yeQotCQkgKi8KLQkJaWYgKGU4MjAubWFwW2ldLnR5cGUgIT0gRTgyMF9SQU0pCi0JCQljb250aW51ZTsKLQkJLyoKLQkJICogV2UgYXJlIHJvdW5kaW5nIHVwIHRoZSBzdGFydCBhZGRyZXNzIG9mIHVzYWJsZSBtZW1vcnk6Ci0JCSAqLwotCQljdXJyX3BmbiA9IFBGTl9VUChlODIwLm1hcFtpXS5hZGRyKTsKLQkJaWYgKGN1cnJfcGZuID49IG1heF9sb3dfcGZuKQotCQkJY29udGludWU7Ci0JCS8qCi0JCSAqIC4uLiBhbmQgYXQgdGhlIGVuZCBvZiB0aGUgdXNhYmxlIHJhbmdlIGRvd253YXJkczoKLQkJICovCi0JCWxhc3RfcGZuID0gUEZOX0RPV04oZTgyMC5tYXBbaV0uYWRkciArIGU4MjAubWFwW2ldLnNpemUpOwotCi0JCWlmIChsYXN0X3BmbiA+IG1heF9sb3dfcGZuKQotCQkJbGFzdF9wZm4gPSBtYXhfbG93X3BmbjsKLQotCQkvKgotCQkgKiAuLiBmaW5hbGx5LCBkaWQgYWxsIHRoZSByb3VuZGluZyBhbmQgcGxheWluZwotCQkgKiBhcm91bmQganVzdCBtYWtlIHRoZSBhcmVhIGdvIGF3YXk/Ci0JCSAqLwotCQlpZiAobGFzdF9wZm4gPD0gY3Vycl9wZm4pCi0JCQljb250aW51ZTsKLQotCQlzaXplID0gbGFzdF9wZm4gLSBjdXJyX3BmbjsKLQkJZnJlZV9ib290bWVtKFBGTl9QSFlTKGN1cnJfcGZuKSwgUEZOX1BIWVMoc2l6ZSkpOwotCX0KLX0KLQotdm9pZCBfX2luaXQgZTgyMF9yZWdpc3Rlcl9tZW1vcnkodm9pZCkKLXsKLQl1bnNpZ25lZCBsb25nIGdhcHN0YXJ0LCBnYXBzaXplLCByb3VuZDsKLQl1bnNpZ25lZCBsb25nIGxvbmcgbGFzdDsKLQlpbnQgaTsKLQotCS8qCi0JICogU2VhcmNoIGZvciB0aGUgYmlnZ2VzdCBnYXAgaW4gdGhlIGxvdyAzMiBiaXRzIG9mIHRoZSBlODIwCi0JICogbWVtb3J5IHNwYWNlLgotCSAqLwotCWxhc3QgPSAweDEwMDAwMDAwMHVsbDsKLQlnYXBzdGFydCA9IDB4MTAwMDAwMDA7Ci0JZ2Fwc2l6ZSA9IDB4NDAwMDAwOwotCWkgPSBlODIwLm5yX21hcDsKLQl3aGlsZSAoLS1pID49IDApIHsKLQkJdW5zaWduZWQgbG9uZyBsb25nIHN0YXJ0ID0gZTgyMC5tYXBbaV0uYWRkcjsKLQkJdW5zaWduZWQgbG9uZyBsb25nIGVuZCA9IHN0YXJ0ICsgZTgyMC5tYXBbaV0uc2l6ZTsKLQotCQkvKgotCQkgKiBTaW5jZSAibGFzdCIgaXMgYXQgbW9zdCA0R0IsIHdlIGtub3cgd2UnbGwKLQkJICogZml0IGluIDMyIGJpdHMgaWYgdGhpcyBjb25kaXRpb24gaXMgdHJ1ZQotCQkgKi8KLQkJaWYgKGxhc3QgPiBlbmQpIHsKLQkJCXVuc2lnbmVkIGxvbmcgZ2FwID0gbGFzdCAtIGVuZDsKLQotCQkJaWYgKGdhcCA+IGdhcHNpemUpIHsKLQkJCQlnYXBzaXplID0gZ2FwOwotCQkJCWdhcHN0YXJ0ID0gZW5kOwotCQkJfQotCQl9Ci0JCWlmIChzdGFydCA8IGxhc3QpCi0JCQlsYXN0ID0gc3RhcnQ7Ci0JfQotCi0JLyoKLQkgKiBTZWUgaG93IG11Y2ggd2Ugd2FudCB0byByb3VuZCB1cDogc3RhcnQgb2ZmIHdpdGgKLQkgKiByb3VuZGluZyB0byB0aGUgbmV4dCAxTUIgYXJlYS4KLQkgKi8KLQlyb3VuZCA9IDB4MTAwMDAwOwotCXdoaWxlICgoZ2Fwc2l6ZSA+PiA0KSA+IHJvdW5kKQotCQlyb3VuZCArPSByb3VuZDsKLQkvKiBGdW4gd2l0aCB0d28ncyBjb21wbGVtZW50ICovCi0JcGNpX21lbV9zdGFydCA9IChnYXBzdGFydCArIHJvdW5kKSAmIC1yb3VuZDsKLQotCXByaW50aygiQWxsb2NhdGluZyBQQ0kgcmVzb3VyY2VzIHN0YXJ0aW5nIGF0ICUwOGx4IChnYXA6ICUwOGx4OiUwOGx4KVxuIiwKLQkJcGNpX21lbV9zdGFydCwgZ2Fwc3RhcnQsIGdhcHNpemUpOwotfQotCi12b2lkIF9faW5pdCBwcmludF9tZW1vcnlfbWFwKGNoYXIgKndobykKLXsKLQlpbnQgaTsKLQotCWZvciAoaSA9IDA7IGkgPCBlODIwLm5yX21hcDsgaSsrKSB7Ci0JCXByaW50aygiICVzOiAlMDE2THggLSAlMDE2THggIiwgd2hvLAotCQkJZTgyMC5tYXBbaV0uYWRkciwKLQkJCWU4MjAubWFwW2ldLmFkZHIgKyBlODIwLm1hcFtpXS5zaXplKTsKLQkJc3dpdGNoIChlODIwLm1hcFtpXS50eXBlKSB7Ci0JCWNhc2UgRTgyMF9SQU06CXByaW50aygiKHVzYWJsZSlcbiIpOwotCQkJCWJyZWFrOwotCQljYXNlIEU4MjBfUkVTRVJWRUQ6Ci0JCQkJcHJpbnRrKCIocmVzZXJ2ZWQpXG4iKTsKLQkJCQlicmVhazsKLQkJY2FzZSBFODIwX0FDUEk6Ci0JCQkJcHJpbnRrKCIoQUNQSSBkYXRhKVxuIik7Ci0JCQkJYnJlYWs7Ci0JCWNhc2UgRTgyMF9OVlM6Ci0JCQkJcHJpbnRrKCIoQUNQSSBOVlMpXG4iKTsKLQkJCQlicmVhazsKLQkJZGVmYXVsdDoJcHJpbnRrKCJ0eXBlICV1XG4iLCBlODIwLm1hcFtpXS50eXBlKTsKLQkJCQlicmVhazsKLQkJfQotCX0KLX0KLQotdm9pZCBfX2luaXQgbGltaXRfcmVnaW9ucyh1bnNpZ25lZCBsb25nIGxvbmcgc2l6ZSkKLXsKLQl1bnNpZ25lZCBsb25nIGxvbmcgY3VycmVudF9hZGRyOwotCWludCBpOwotCi0JcHJpbnRfbWVtb3J5X21hcCgibGltaXRfcmVnaW9ucyBzdGFydCIpOwotCWZvciAoaSA9IDA7IGkgPCBlODIwLm5yX21hcDsgaSsrKSB7Ci0JCWN1cnJlbnRfYWRkciA9IGU4MjAubWFwW2ldLmFkZHIgKyBlODIwLm1hcFtpXS5zaXplOwotCQlpZiAoY3VycmVudF9hZGRyIDwgc2l6ZSkKLQkJCWNvbnRpbnVlOwotCi0JCWlmIChlODIwLm1hcFtpXS50eXBlICE9IEU4MjBfUkFNKQotCQkJY29udGludWU7Ci0KLQkJaWYgKGU4MjAubWFwW2ldLmFkZHIgPj0gc2l6ZSkgewotCQkJLyoKLQkJCSAqIFRoaXMgcmVnaW9uIHN0YXJ0cyBwYXN0IHRoZSBlbmQgb2YgdGhlCi0JCQkgKiByZXF1ZXN0ZWQgc2l6ZSwgc2tpcCBpdCBjb21wbGV0ZWx5LgotCQkJICovCi0JCQllODIwLm5yX21hcCA9IGk7Ci0JCX0gZWxzZSB7Ci0JCQllODIwLm5yX21hcCA9IGkgKyAxOwotCQkJZTgyMC5tYXBbaV0uc2l6ZSAtPSBjdXJyZW50X2FkZHIgLSBzaXplOwotCQl9Ci0JCXByaW50X21lbW9yeV9tYXAoImxpbWl0X3JlZ2lvbnMgZW5kZm9yIik7Ci0JCXJldHVybjsKLQl9Ci0JcHJpbnRfbWVtb3J5X21hcCgibGltaXRfcmVnaW9ucyBlbmRmdW5jIik7Ci19Ci0KLS8qCi0gKiBUaGlzIGZ1bmN0aW9uIGNoZWNrcyBpZiBhbnkgcGFydCBvZiB0aGUgcmFuZ2UgPHN0YXJ0LGVuZD4gaXMgbWFwcGVkCi0gKiB3aXRoIHR5cGUuCi0gKi8KLWludAotZTgyMF9hbnlfbWFwcGVkKHU2NCBzdGFydCwgdTY0IGVuZCwgdW5zaWduZWQgdHlwZSkKLXsKLQlpbnQgaTsKLQlmb3IgKGkgPSAwOyBpIDwgZTgyMC5ucl9tYXA7IGkrKykgewotCQljb25zdCBzdHJ1Y3QgZTgyMGVudHJ5ICplaSA9ICZlODIwLm1hcFtpXTsKLQkJaWYgKHR5cGUgJiYgZWktPnR5cGUgIT0gdHlwZSkKLQkJCWNvbnRpbnVlOwotCQlpZiAoZWktPmFkZHIgPj0gZW5kIHx8IGVpLT5hZGRyICsgZWktPnNpemUgPD0gc3RhcnQpCi0JCQljb250aW51ZTsKLQkJcmV0dXJuIDE7Ci0JfQotCXJldHVybiAwOwotfQotRVhQT1JUX1NZTUJPTF9HUEwoZTgyMF9hbnlfbWFwcGVkKTsKLQotIC8qCi0gICogVGhpcyBmdW5jdGlvbiBjaGVja3MgaWYgdGhlIGVudGlyZSByYW5nZSA8c3RhcnQsZW5kPiBpcyBtYXBwZWQgd2l0aCB0eXBlLgotICAqCi0gICogTm90ZTogdGhpcyBmdW5jdGlvbiBvbmx5IHdvcmtzIGNvcnJlY3QgaWYgdGhlIGU4MjAgdGFibGUgaXMgc29ydGVkIGFuZAotICAqIG5vdC1vdmVybGFwcGluZywgd2hpY2ggaXMgdGhlIGNhc2UKLSAgKi8KLWludCBfX2luaXQKLWU4MjBfYWxsX21hcHBlZCh1bnNpZ25lZCBsb25nIHMsIHVuc2lnbmVkIGxvbmcgZSwgdW5zaWduZWQgdHlwZSkKLXsKLQl1NjQgc3RhcnQgPSBzOwotCXU2NCBlbmQgPSBlOwotCWludCBpOwotCWZvciAoaSA9IDA7IGkgPCBlODIwLm5yX21hcDsgaSsrKSB7Ci0JCXN0cnVjdCBlODIwZW50cnkgKmVpID0gJmU4MjAubWFwW2ldOwotCQlpZiAodHlwZSAmJiBlaS0+dHlwZSAhPSB0eXBlKQotCQkJY29udGludWU7Ci0JCS8qIGlzIHRoZSByZWdpb24gKHBhcnQpIGluIG92ZXJsYXAgd2l0aCB0aGUgY3VycmVudCByZWdpb24gPyovCi0JCWlmIChlaS0+YWRkciA+PSBlbmQgfHwgZWktPmFkZHIgKyBlaS0+c2l6ZSA8PSBzdGFydCkKLQkJCWNvbnRpbnVlOwotCQkvKiBpZiB0aGUgcmVnaW9uIGlzIGF0IHRoZSBiZWdpbm5pbmcgb2YgPHN0YXJ0LGVuZD4gd2UgbW92ZQotCQkgKiBzdGFydCB0byB0aGUgZW5kIG9mIHRoZSByZWdpb24gc2luY2UgaXQncyBvayB1bnRpbCB0aGVyZQotCQkgKi8KLQkJaWYgKGVpLT5hZGRyIDw9IHN0YXJ0KQotCQkJc3RhcnQgPSBlaS0+YWRkciArIGVpLT5zaXplOwotCQkvKiBpZiBzdGFydCBpcyBub3cgYXQgb3IgYmV5b25kIGVuZCwgd2UncmUgZG9uZSwgZnVsbAotCQkgKiBjb3ZlcmFnZSAqLwotCQlpZiAoc3RhcnQgPj0gZW5kKQotCQkJcmV0dXJuIDE7IC8qIHdlJ3JlIGRvbmUgKi8KLQl9Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgX19pbml0IHBhcnNlX21lbW1hcChjaGFyICphcmcpCi17Ci0JaWYgKCFhcmcpCi0JCXJldHVybiAtRUlOVkFMOwotCi0JaWYgKHN0cmNtcChhcmcsICJleGFjdG1hcCIpID09IDApIHsKLSNpZmRlZiBDT05GSUdfQ1JBU0hfRFVNUAotCQkvKiBJZiB3ZSBhcmUgZG9pbmcgYSBjcmFzaCBkdW1wLCB3ZQotCQkgKiBzdGlsbCBuZWVkIHRvIGtub3cgdGhlIHJlYWwgbWVtCi0JCSAqIHNpemUgYmVmb3JlIG9yaWdpbmFsIG1lbW9yeSBtYXAgaXMKLQkJICogcmVzZXQuCi0JCSAqLwotCQlwcm9wYWdhdGVfZTgyMF9tYXAoKTsKLQkJc2F2ZWRfbWF4X3BmbiA9IG1heF9wZm47Ci0jZW5kaWYKLQkJZTgyMC5ucl9tYXAgPSAwOwotCQl1c2VyX2RlZmluZWRfbWVtbWFwID0gMTsKLQl9IGVsc2UgewotCQkvKiBJZiB0aGUgdXNlciBzcGVjaWZpZXMgbWVtb3J5IHNpemUsIHdlCi0JCSAqIGxpbWl0IHRoZSBCSU9TLXByb3ZpZGVkIG1lbW9yeSBtYXAgdG8KLQkJICogdGhhdCBzaXplLiBleGFjdG1hcCBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5Ci0JCSAqIHRoZSBleGFjdCBtYXAuIG1lbT1udW1iZXIgY2FuIGJlIHVzZWQgdG8KLQkJICogdHJpbSB0aGUgZXhpc3RpbmcgbWVtb3J5IG1hcC4KLQkJICovCi0JCXVuc2lnbmVkIGxvbmcgbG9uZyBzdGFydF9hdCwgbWVtX3NpemU7Ci0KLQkJbWVtX3NpemUgPSBtZW1wYXJzZShhcmcsICZhcmcpOwotCQlpZiAoKmFyZyA9PSAnQCcpIHsKLQkJCXN0YXJ0X2F0ID0gbWVtcGFyc2UoYXJnKzEsICZhcmcpOwotCQkJYWRkX21lbW9yeV9yZWdpb24oc3RhcnRfYXQsIG1lbV9zaXplLCBFODIwX1JBTSk7Ci0JCX0gZWxzZSBpZiAoKmFyZyA9PSAnIycpIHsKLQkJCXN0YXJ0X2F0ID0gbWVtcGFyc2UoYXJnKzEsICZhcmcpOwotCQkJYWRkX21lbW9yeV9yZWdpb24oc3RhcnRfYXQsIG1lbV9zaXplLCBFODIwX0FDUEkpOwotCQl9IGVsc2UgaWYgKCphcmcgPT0gJyQnKSB7Ci0JCQlzdGFydF9hdCA9IG1lbXBhcnNlKGFyZysxLCAmYXJnKTsKLQkJCWFkZF9tZW1vcnlfcmVnaW9uKHN0YXJ0X2F0LCBtZW1fc2l6ZSwgRTgyMF9SRVNFUlZFRCk7Ci0JCX0gZWxzZSB7Ci0JCQlsaW1pdF9yZWdpb25zKG1lbV9zaXplKTsKLQkJCXVzZXJfZGVmaW5lZF9tZW1tYXAgPSAxOwotCQl9Ci0JfQotCXJldHVybiAwOwotfQotZWFybHlfcGFyYW0oIm1lbW1hcCIsIHBhcnNlX21lbW1hcCk7Ci12b2lkIF9faW5pdCB1cGRhdGVfbWVtb3J5X3JhbmdlKHU2NCBzdGFydCwgdTY0IHNpemUsIHVuc2lnbmVkIG9sZF90eXBlLAotCQkJCXVuc2lnbmVkIG5ld190eXBlKQotewotCWludCBpOwotCi0JQlVHX09OKG9sZF90eXBlID09IG5ld190eXBlKTsKLQotCWZvciAoaSA9IDA7IGkgPCBlODIwLm5yX21hcDsgaSsrKSB7Ci0JCXN0cnVjdCBlODIwZW50cnkgKmVpID0gJmU4MjAubWFwW2ldOwotCQl1NjQgZmluYWxfc3RhcnQsIGZpbmFsX2VuZDsKLQkJaWYgKGVpLT50eXBlICE9IG9sZF90eXBlKQotCQkJY29udGludWU7Ci0JCS8qIHRvdGFsbHkgY292ZXJlZD8gKi8KLQkJaWYgKGVpLT5hZGRyID49IHN0YXJ0ICYmIGVpLT5zaXplIDw9IHNpemUpIHsKLQkJCWVpLT50eXBlID0gbmV3X3R5cGU7Ci0JCQljb250aW51ZTsKLQkJfQotCQkvKiBwYXJ0aWFsbHkgY292ZXJlZCAqLwotCQlmaW5hbF9zdGFydCA9IG1heChzdGFydCwgZWktPmFkZHIpOwotCQlmaW5hbF9lbmQgPSBtaW4oc3RhcnQgKyBzaXplLCBlaS0+YWRkciArIGVpLT5zaXplKTsKLQkJaWYgKGZpbmFsX3N0YXJ0ID49IGZpbmFsX2VuZCkKLQkJCWNvbnRpbnVlOwotCQlhZGRfbWVtb3J5X3JlZ2lvbihmaW5hbF9zdGFydCwgZmluYWxfZW5kIC0gZmluYWxfc3RhcnQsCi0JCQkJCSBuZXdfdHlwZSk7Ci0JfQotfQotdm9pZCBfX2luaXQgdXBkYXRlX2U4MjAodm9pZCkKLXsKLQl1OCBucl9tYXA7Ci0KLQlucl9tYXAgPSBlODIwLm5yX21hcDsKLQlpZiAoc2FuaXRpemVfZTgyMF9tYXAoZTgyMC5tYXAsICZucl9tYXApKQotCQlyZXR1cm47Ci0JZTgyMC5ucl9tYXAgPSBucl9tYXA7Ci0JcHJpbnRrKEtFUk5fSU5GTyAibW9kaWZpZWQgcGh5c2ljYWwgUkFNIG1hcDpcbiIpOwotCXByaW50X21lbW9yeV9tYXAoIm1vZGlmaWVkIik7Ci19CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvZTgyMF82NC5jIGIvYXJjaC94ODYva2VybmVsL2U4MjBfNjQuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTI0NDgwYy4uMDAwMDAwMAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvZTgyMF82NC5jCisrKyAvZGV2L251bGwKQEAgLTEsOTUyICswLDAgQEAKLS8qCi0gKiBIYW5kbGUgdGhlIG1lbW9yeSBtYXAuCi0gKiBUaGUgZnVuY3Rpb25zIGhlcmUgZG8gdGhlIGpvYiB1bnRpbCBib290bWVtIHRha2VzIG92ZXIuCi0gKgotICogIEdldHRpbmcgc2FuaXRpemVfZTgyMF9tYXAoKSBpbiBzeW5jIHdpdGggaTM4NiB2ZXJzaW9uIGJ5IGFwcGx5aW5nIGNoYW5nZToKLSAqICAtICBQcm92aXNpb25zIGZvciBlbXB0eSBFODIwIG1lbW9yeSByZWdpb25zIChyZXBvcnRlZCBieSBjZXJ0YWluIEJJT1NlcykuCi0gKiAgICAgQWxleCBBY2hlbmJhY2ggPHhlbGFAc2xpdC5kZT4sIERlY2VtYmVyIDIwMDIuCi0gKiAgVmVua2F0ZXNoIFBhbGxpcGFkaSA8dmVua2F0ZXNoLnBhbGxpcGFkaUBpbnRlbC5jb20+Ci0gKgotICovCi0jaW5jbHVkZSA8bGludXgva2VybmVsLmg+Ci0jaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KLSNpbmNsdWRlIDxsaW51eC9pbml0Lmg+Ci0jaW5jbHVkZSA8bGludXgvYm9vdG1lbS5oPgotI2luY2x1ZGUgPGxpbnV4L2lvcG9ydC5oPgotI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgotI2luY2x1ZGUgPGxpbnV4L2tleGVjLmg+Ci0jaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+Ci0jaW5jbHVkZSA8bGludXgvbW0uaD4KLSNpbmNsdWRlIDxsaW51eC9zdXNwZW5kLmg+Ci0jaW5jbHVkZSA8bGludXgvcGZuLmg+Ci0KLSNpbmNsdWRlIDxhc20vcGd0YWJsZS5oPgotI2luY2x1ZGUgPGFzbS9wYWdlLmg+Ci0jaW5jbHVkZSA8YXNtL2U4MjAuaD4KLSNpbmNsdWRlIDxhc20vcHJvdG8uaD4KLSNpbmNsdWRlIDxhc20vc2V0dXAuaD4KLSNpbmNsdWRlIDxhc20vc2VjdGlvbnMuaD4KLSNpbmNsdWRlIDxhc20va2RlYnVnLmg+Ci0jaW5jbHVkZSA8YXNtL3RyYW1wb2xpbmUuaD4KLQotc3RydWN0IGU4MjBtYXAgZTgyMDsKLQotLyoKLSAqIFBGTiBvZiBsYXN0IG1lbW9yeSBwYWdlLgotICovCi11bnNpZ25lZCBsb25nIGVuZF9wZm47Ci0KLS8qCi0gKiBlbmRfcGZuIG9ubHkgaW5jbHVkZXMgUkFNLCB3aGlsZSBtYXhfcGZuX21hcHBlZCBpbmNsdWRlcyBhbGwgZTgyMCBlbnRyaWVzLgotICogVGhlIGRpcmVjdCBtYXBwaW5nIGV4dGVuZHMgdG8gbWF4X3Bmbl9tYXBwZWQsIHNvIHRoYXQgd2UgY2FuIGRpcmVjdGx5IGFjY2VzcwotICogYXBlcnR1cmVzLCBBQ1BJIGFuZCBvdGhlciB0YWJsZXMgd2l0aG91dCBoYXZpbmcgdG8gcGxheSB3aXRoIGZpeG1hcHMuCi0gKi8KLXVuc2lnbmVkIGxvbmcgbWF4X3Bmbl9tYXBwZWQ7Ci0KLS8qCi0gKiBMYXN0IHBmbiB3aGljaCB0aGUgdXNlciB3YW50cyB0byB1c2UuCi0gKi8KLXN0YXRpYyB1bnNpZ25lZCBsb25nIF9faW5pdGRhdGEgZW5kX3VzZXJfcGZuID0gTUFYTUVNPj5QQUdFX1NISUZUOwotCi0vKgotICogRWFybHkgcmVzZXJ2ZWQgbWVtb3J5IGFyZWFzLgotICovCi0jZGVmaW5lIE1BWF9FQVJMWV9SRVMgMjAKLQotc3RydWN0IGVhcmx5X3JlcyB7Ci0JdW5zaWduZWQgbG9uZyBzdGFydCwgZW5kOwotCWNoYXIgbmFtZVsxNl07Ci19Owotc3RhdGljIHN0cnVjdCBlYXJseV9yZXMgZWFybHlfcmVzW01BWF9FQVJMWV9SRVNdIF9faW5pdGRhdGEgPSB7Ci0JeyAwLCBQQUdFX1NJWkUsICJCSU9TIGRhdGEgcGFnZSIgfSwJCQkvKiBCSU9TIGRhdGEgcGFnZSAqLwotI2lmZGVmIENPTkZJR19YODZfVFJBTVBPTElORQotCXsgVFJBTVBPTElORV9CQVNFLCBUUkFNUE9MSU5FX0JBU0UgKyAyICogUEFHRV9TSVpFLCAiVFJBTVBPTElORSIgfSwKLSNlbmRpZgotCXt9Ci19OwotCi12b2lkIF9faW5pdCByZXNlcnZlX2Vhcmx5KHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kLCBjaGFyICpuYW1lKQotewotCWludCBpOwotCXN0cnVjdCBlYXJseV9yZXMgKnI7Ci0JZm9yIChpID0gMDsgaSA8IE1BWF9FQVJMWV9SRVMgJiYgZWFybHlfcmVzW2ldLmVuZDsgaSsrKSB7Ci0JCXIgPSAmZWFybHlfcmVzW2ldOwotCQlpZiAoZW5kID4gci0+c3RhcnQgJiYgc3RhcnQgPCByLT5lbmQpCi0JCQlwYW5pYygiT3ZlcmxhcHBpbmcgZWFybHkgcmVzZXJ2YXRpb25zICVseC0lbHggJXMgdG8gJWx4LSVseCAlc1xuIiwKLQkJCSAgICAgIHN0YXJ0LCBlbmQgLSAxLCBuYW1lP25hbWU6IiIsIHItPnN0YXJ0LCByLT5lbmQgLSAxLCByLT5uYW1lKTsKLQl9Ci0JaWYgKGkgPj0gTUFYX0VBUkxZX1JFUykKLQkJcGFuaWMoIlRvbyBtYW55IGVhcmx5IHJlc2VydmF0aW9ucyIpOwotCXIgPSAmZWFybHlfcmVzW2ldOwotCXItPnN0YXJ0ID0gc3RhcnQ7Ci0Jci0+ZW5kID0gZW5kOwotCWlmIChuYW1lKQotCQlzdHJuY3B5KHItPm5hbWUsIG5hbWUsIHNpemVvZihyLT5uYW1lKSAtIDEpOwotfQotCi12b2lkIF9faW5pdCBmcmVlX2Vhcmx5KHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kKQotewotCXN0cnVjdCBlYXJseV9yZXMgKnI7Ci0JaW50IGksIGo7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgTUFYX0VBUkxZX1JFUyAmJiBlYXJseV9yZXNbaV0uZW5kOyBpKyspIHsKLQkJciA9ICZlYXJseV9yZXNbaV07Ci0JCWlmIChzdGFydCA9PSByLT5zdGFydCAmJiBlbmQgPT0gci0+ZW5kKQotCQkJYnJlYWs7Ci0JfQotCWlmIChpID49IE1BWF9FQVJMWV9SRVMgfHwgIWVhcmx5X3Jlc1tpXS5lbmQpCi0JCXBhbmljKCJmcmVlX2Vhcmx5IG9uIG5vdCByZXNlcnZlZCBhcmVhOiAlbHgtJWx4ISIsIHN0YXJ0LCBlbmQpOwotCi0JZm9yIChqID0gaSArIDE7IGogPCBNQVhfRUFSTFlfUkVTICYmIGVhcmx5X3Jlc1tqXS5lbmQ7IGorKykKLQkJOwotCi0JbWVtbW92ZSgmZWFybHlfcmVzW2ldLCAmZWFybHlfcmVzW2kgKyAxXSwKLQkgICAgICAgKGogLSAxIC0gaSkgKiBzaXplb2Yoc3RydWN0IGVhcmx5X3JlcykpOwotCi0JZWFybHlfcmVzW2ogLSAxXS5lbmQgPSAwOwotfQotCi12b2lkIF9faW5pdCBlYXJseV9yZXNfdG9fYm9vdG1lbSh1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIGVuZCkKLXsKLQlpbnQgaTsKLQl1bnNpZ25lZCBsb25nIGZpbmFsX3N0YXJ0LCBmaW5hbF9lbmQ7Ci0JZm9yIChpID0gMDsgaSA8IE1BWF9FQVJMWV9SRVMgJiYgZWFybHlfcmVzW2ldLmVuZDsgaSsrKSB7Ci0JCXN0cnVjdCBlYXJseV9yZXMgKnIgPSAmZWFybHlfcmVzW2ldOwotCQlmaW5hbF9zdGFydCA9IG1heChzdGFydCwgci0+c3RhcnQpOwotCQlmaW5hbF9lbmQgPSBtaW4oZW5kLCByLT5lbmQpOwotCQlpZiAoZmluYWxfc3RhcnQgPj0gZmluYWxfZW5kKQotCQkJY29udGludWU7Ci0JCXByaW50ayhLRVJOX0lORk8gIiAgZWFybHkgcmVzOiAlZCBbJWx4LSVseF0gJXNcbiIsIGksCi0JCQlmaW5hbF9zdGFydCwgZmluYWxfZW5kIC0gMSwgci0+bmFtZSk7Ci0JCXJlc2VydmVfYm9vdG1lbV9nZW5lcmljKGZpbmFsX3N0YXJ0LCBmaW5hbF9lbmQgLSBmaW5hbF9zdGFydCk7Ci0JfQotfQotCi0vKiBDaGVjayBmb3IgYWxyZWFkeSByZXNlcnZlZCBhcmVhcyAqLwotc3RhdGljIGlubGluZSBpbnQgX19pbml0Ci1iYWRfYWRkcih1bnNpZ25lZCBsb25nICphZGRycCwgdW5zaWduZWQgbG9uZyBzaXplLCB1bnNpZ25lZCBsb25nIGFsaWduKQotewotCWludCBpOwotCXVuc2lnbmVkIGxvbmcgYWRkciA9ICphZGRycCwgbGFzdDsKLQlpbnQgY2hhbmdlZCA9IDA7Ci1hZ2FpbjoKLQlsYXN0ID0gYWRkciArIHNpemU7Ci0JZm9yIChpID0gMDsgaSA8IE1BWF9FQVJMWV9SRVMgJiYgZWFybHlfcmVzW2ldLmVuZDsgaSsrKSB7Ci0JCXN0cnVjdCBlYXJseV9yZXMgKnIgPSAmZWFybHlfcmVzW2ldOwotCQlpZiAobGFzdCA+PSByLT5zdGFydCAmJiBhZGRyIDwgci0+ZW5kKSB7Ci0JCQkqYWRkcnAgPSBhZGRyID0gcm91bmRfdXAoci0+ZW5kLCBhbGlnbik7Ci0JCQljaGFuZ2VkID0gMTsKLQkJCWdvdG8gYWdhaW47Ci0JCX0KLQl9Ci0JcmV0dXJuIGNoYW5nZWQ7Ci19Ci0KLS8qIENoZWNrIGZvciBhbHJlYWR5IHJlc2VydmVkIGFyZWFzICovCi1zdGF0aWMgaW5saW5lIGludCBfX2luaXQKLWJhZF9hZGRyX3NpemUodW5zaWduZWQgbG9uZyAqYWRkcnAsIHVuc2lnbmVkIGxvbmcgKnNpemVwLCB1bnNpZ25lZCBsb25nIGFsaWduKQotewotCWludCBpOwotCXVuc2lnbmVkIGxvbmcgYWRkciA9ICphZGRycCwgbGFzdDsKLQl1bnNpZ25lZCBsb25nIHNpemUgPSAqc2l6ZXA7Ci0JaW50IGNoYW5nZWQgPSAwOwotYWdhaW46Ci0JbGFzdCA9IGFkZHIgKyBzaXplOwotCWZvciAoaSA9IDA7IGkgPCBNQVhfRUFSTFlfUkVTICYmIGVhcmx5X3Jlc1tpXS5lbmQ7IGkrKykgewotCQlzdHJ1Y3QgZWFybHlfcmVzICpyID0gJmVhcmx5X3Jlc1tpXTsKLQkJaWYgKGxhc3QgPiByLT5zdGFydCAmJiBhZGRyIDwgci0+c3RhcnQpIHsKLQkJCXNpemUgPSByLT5zdGFydCAtIGFkZHI7Ci0JCQljaGFuZ2VkID0gMTsKLQkJCWdvdG8gYWdhaW47Ci0JCX0KLQkJaWYgKGxhc3QgPiByLT5lbmQgJiYgYWRkciA8IHItPmVuZCkgewotCQkJYWRkciA9IHJvdW5kX3VwKHItPmVuZCwgYWxpZ24pOwotCQkJc2l6ZSA9IGxhc3QgLSBhZGRyOwotCQkJY2hhbmdlZCA9IDE7Ci0JCQlnb3RvIGFnYWluOwotCQl9Ci0JCWlmIChsYXN0IDw9IHItPmVuZCAmJiBhZGRyID49IHItPnN0YXJ0KSB7Ci0JCQkoKnNpemVwKSsrOwotCQkJcmV0dXJuIDA7Ci0JCX0KLQl9Ci0JaWYgKGNoYW5nZWQpIHsKLQkJKmFkZHJwID0gYWRkcjsKLQkJKnNpemVwID0gc2l6ZTsKLQl9Ci0JcmV0dXJuIGNoYW5nZWQ7Ci19Ci0vKgotICogVGhpcyBmdW5jdGlvbiBjaGVja3MgaWYgYW55IHBhcnQgb2YgdGhlIHJhbmdlIDxzdGFydCxlbmQ+IGlzIG1hcHBlZAotICogd2l0aCB0eXBlLgotICovCi1pbnQKLWU4MjBfYW55X21hcHBlZCh1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIGVuZCwgdW5zaWduZWQgdHlwZSkKLXsKLQlpbnQgaTsKLQotCWZvciAoaSA9IDA7IGkgPCBlODIwLm5yX21hcDsgaSsrKSB7Ci0JCXN0cnVjdCBlODIwZW50cnkgKmVpID0gJmU4MjAubWFwW2ldOwotCi0JCWlmICh0eXBlICYmIGVpLT50eXBlICE9IHR5cGUpCi0JCQljb250aW51ZTsKLQkJaWYgKGVpLT5hZGRyID49IGVuZCB8fCBlaS0+YWRkciArIGVpLT5zaXplIDw9IHN0YXJ0KQotCQkJY29udGludWU7Ci0JCXJldHVybiAxOwotCX0KLQlyZXR1cm4gMDsKLX0KLUVYUE9SVF9TWU1CT0xfR1BMKGU4MjBfYW55X21hcHBlZCk7Ci0KLS8qCi0gKiBUaGlzIGZ1bmN0aW9uIGNoZWNrcyBpZiB0aGUgZW50aXJlIHJhbmdlIDxzdGFydCxlbmQ+IGlzIG1hcHBlZCB3aXRoIHR5cGUuCi0gKgotICogTm90ZTogdGhpcyBmdW5jdGlvbiBvbmx5IHdvcmtzIGNvcnJlY3QgaWYgdGhlIGU4MjAgdGFibGUgaXMgc29ydGVkIGFuZAotICogbm90LW92ZXJsYXBwaW5nLCB3aGljaCBpcyB0aGUgY2FzZQotICovCi1pbnQgX19pbml0IGU4MjBfYWxsX21hcHBlZCh1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIGVuZCwKLQkJCSAgIHVuc2lnbmVkIHR5cGUpCi17Ci0JaW50IGk7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgZTgyMC5ucl9tYXA7IGkrKykgewotCQlzdHJ1Y3QgZTgyMGVudHJ5ICplaSA9ICZlODIwLm1hcFtpXTsKLQotCQlpZiAodHlwZSAmJiBlaS0+dHlwZSAhPSB0eXBlKQotCQkJY29udGludWU7Ci0JCS8qIGlzIHRoZSByZWdpb24gKHBhcnQpIGluIG92ZXJsYXAgd2l0aCB0aGUgY3VycmVudCByZWdpb24gPyovCi0JCWlmIChlaS0+YWRkciA+PSBlbmQgfHwgZWktPmFkZHIgKyBlaS0+c2l6ZSA8PSBzdGFydCkKLQkJCWNvbnRpbnVlOwotCi0JCS8qIGlmIHRoZSByZWdpb24gaXMgYXQgdGhlIGJlZ2lubmluZyBvZiA8c3RhcnQsZW5kPiB3ZSBtb3ZlCi0JCSAqIHN0YXJ0IHRvIHRoZSBlbmQgb2YgdGhlIHJlZ2lvbiBzaW5jZSBpdCdzIG9rIHVudGlsIHRoZXJlCi0JCSAqLwotCQlpZiAoZWktPmFkZHIgPD0gc3RhcnQpCi0JCQlzdGFydCA9IGVpLT5hZGRyICsgZWktPnNpemU7Ci0JCS8qCi0JCSAqIGlmIHN0YXJ0IGlzIG5vdyBhdCBvciBiZXlvbmQgZW5kLCB3ZSdyZSBkb25lLCBmdWxsCi0JCSAqIGNvdmVyYWdlCi0JCSAqLwotCQlpZiAoc3RhcnQgPj0gZW5kKQotCQkJcmV0dXJuIDE7Ci0JfQotCXJldHVybiAwOwotfQotCi0vKgotICogRmluZCBhIGZyZWUgYXJlYSB3aXRoIHNwZWNpZmllZCBhbGlnbm1lbnQgaW4gYSBzcGVjaWZpYyByYW5nZS4KLSAqLwotdW5zaWduZWQgbG9uZyBfX2luaXQgZmluZF9lODIwX2FyZWEodW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQsCi0JCQkJICAgIHVuc2lnbmVkIGxvbmcgc2l6ZSwgdW5zaWduZWQgbG9uZyBhbGlnbikKLXsKLQlpbnQgaTsKLQotCWZvciAoaSA9IDA7IGkgPCBlODIwLm5yX21hcDsgaSsrKSB7Ci0JCXN0cnVjdCBlODIwZW50cnkgKmVpID0gJmU4MjAubWFwW2ldOwotCQl1bnNpZ25lZCBsb25nIGFkZHIsIGxhc3Q7Ci0JCXVuc2lnbmVkIGxvbmcgZWlfbGFzdDsKLQotCQlpZiAoZWktPnR5cGUgIT0gRTgyMF9SQU0pCi0JCQljb250aW51ZTsKLQkJYWRkciA9IHJvdW5kX3VwKGVpLT5hZGRyLCBhbGlnbik7Ci0JCWVpX2xhc3QgPSBlaS0+YWRkciArIGVpLT5zaXplOwotCQlpZiAoYWRkciA8IHN0YXJ0KQotCQkJYWRkciA9IHJvdW5kX3VwKHN0YXJ0LCBhbGlnbik7Ci0JCWlmIChhZGRyID49IGVpX2xhc3QpCi0JCQljb250aW51ZTsKLQkJd2hpbGUgKGJhZF9hZGRyKCZhZGRyLCBzaXplLCBhbGlnbikgJiYgYWRkcitzaXplIDw9IGVpX2xhc3QpCi0JCQk7Ci0JCWxhc3QgPSBhZGRyICsgc2l6ZTsKLQkJaWYgKGxhc3QgPiBlaV9sYXN0KQotCQkJY29udGludWU7Ci0JCWlmIChsYXN0ID4gZW5kKQotCQkJY29udGludWU7Ci0JCXJldHVybiBhZGRyOwotCX0KLQlyZXR1cm4gLTFVTDsKLX0KLQotLyoKLSAqIEZpbmQgbmV4dCBmcmVlIHJhbmdlIGFmdGVyICpzdGFydAotICovCi11bnNpZ25lZCBsb25nIF9faW5pdCBmaW5kX2U4MjBfYXJlYV9zaXplKHVuc2lnbmVkIGxvbmcgc3RhcnQsCi0JCQkJCSB1bnNpZ25lZCBsb25nICpzaXplcCwKLQkJCQkJIHVuc2lnbmVkIGxvbmcgYWxpZ24pCi17Ci0JaW50IGk7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgZTgyMC5ucl9tYXA7IGkrKykgewotCQlzdHJ1Y3QgZTgyMGVudHJ5ICplaSA9ICZlODIwLm1hcFtpXTsKLQkJdW5zaWduZWQgbG9uZyBhZGRyLCBsYXN0OwotCQl1bnNpZ25lZCBsb25nIGVpX2xhc3Q7Ci0KLQkJaWYgKGVpLT50eXBlICE9IEU4MjBfUkFNKQotCQkJY29udGludWU7Ci0JCWFkZHIgPSByb3VuZF91cChlaS0+YWRkciwgYWxpZ24pOwotCQllaV9sYXN0ID0gZWktPmFkZHIgKyBlaS0+c2l6ZTsKLQkJaWYgKGFkZHIgPCBzdGFydCkKLQkJCWFkZHIgPSByb3VuZF91cChzdGFydCwgYWxpZ24pOwotCQlpZiAoYWRkciA+PSBlaV9sYXN0KQotCQkJY29udGludWU7Ci0JCSpzaXplcCA9IGVpX2xhc3QgLSBhZGRyOwotCQl3aGlsZSAoYmFkX2FkZHJfc2l6ZSgmYWRkciwgc2l6ZXAsIGFsaWduKSAmJgotCQkJYWRkciArICpzaXplcCA8PSBlaV9sYXN0KQotCQkJOwotCQlsYXN0ID0gYWRkciArICpzaXplcDsKLQkJaWYgKGxhc3QgPiBlaV9sYXN0KQotCQkJY29udGludWU7Ci0JCXJldHVybiBhZGRyOwotCX0KLQlyZXR1cm4gLTFVTDsKLQotfQotLyoKLSAqIEZpbmQgdGhlIGhpZ2hlc3QgcGFnZSBmcmFtZSBudW1iZXIgd2UgaGF2ZSBhdmFpbGFibGUKLSAqLwotdW5zaWduZWQgbG9uZyBfX2luaXQgZTgyMF9lbmRfb2ZfcmFtKHZvaWQpCi17Ci0JdW5zaWduZWQgbG9uZyBlbmRfcGZuOwotCi0JZW5kX3BmbiA9IGZpbmRfbWF4X3Bmbl93aXRoX2FjdGl2ZV9yZWdpb25zKCk7Ci0KLQlpZiAoZW5kX3BmbiA+IG1heF9wZm5fbWFwcGVkKQotCQltYXhfcGZuX21hcHBlZCA9IGVuZF9wZm47Ci0JaWYgKG1heF9wZm5fbWFwcGVkID4gTUFYTUVNPj5QQUdFX1NISUZUKQotCQltYXhfcGZuX21hcHBlZCA9IE1BWE1FTT4+UEFHRV9TSElGVDsKLQlpZiAoZW5kX3BmbiA+IGVuZF91c2VyX3BmbikKLQkJZW5kX3BmbiA9IGVuZF91c2VyX3BmbjsKLQlpZiAoZW5kX3BmbiA+IG1heF9wZm5fbWFwcGVkKQotCQllbmRfcGZuID0gbWF4X3Bmbl9tYXBwZWQ7Ci0KLQlwcmludGsoS0VSTl9JTkZPICJtYXhfcGZuX21hcHBlZCA9ICVsdVxuIiwgbWF4X3Bmbl9tYXBwZWQpOwotCXJldHVybiBlbmRfcGZuOwotfQotCi0vKgotICogTWFyayBlODIwIHJlc2VydmVkIGFyZWFzIGFzIGJ1c3kgZm9yIHRoZSByZXNvdXJjZSBtYW5hZ2VyLgotICovCi12b2lkIF9faW5pdCBlODIwX3Jlc2VydmVfcmVzb3VyY2VzKHZvaWQpCi17Ci0JaW50IGk7Ci0Jc3RydWN0IHJlc291cmNlICpyZXM7Ci0KLQlyZXMgPSBhbGxvY19ib290bWVtX2xvdyhzaXplb2Yoc3RydWN0IHJlc291cmNlKSAqIGU4MjAubnJfbWFwKTsKLQlmb3IgKGkgPSAwOyBpIDwgZTgyMC5ucl9tYXA7IGkrKykgewotCQlzd2l0Y2ggKGU4MjAubWFwW2ldLnR5cGUpIHsKLQkJY2FzZSBFODIwX1JBTToJcmVzLT5uYW1lID0gIlN5c3RlbSBSQU0iOyBicmVhazsKLQkJY2FzZSBFODIwX0FDUEk6CXJlcy0+bmFtZSA9ICJBQ1BJIFRhYmxlcyI7IGJyZWFrOwotCQljYXNlIEU4MjBfTlZTOglyZXMtPm5hbWUgPSAiQUNQSSBOb24tdm9sYXRpbGUgU3RvcmFnZSI7IGJyZWFrOwotCQlkZWZhdWx0OglyZXMtPm5hbWUgPSAicmVzZXJ2ZWQiOwotCQl9Ci0JCXJlcy0+c3RhcnQgPSBlODIwLm1hcFtpXS5hZGRyOwotCQlyZXMtPmVuZCA9IHJlcy0+c3RhcnQgKyBlODIwLm1hcFtpXS5zaXplIC0gMTsKLQkJcmVzLT5mbGFncyA9IElPUkVTT1VSQ0VfTUVNIHwgSU9SRVNPVVJDRV9CVVNZOwotCQlpbnNlcnRfcmVzb3VyY2UoJmlvbWVtX3Jlc291cmNlLCByZXMpOwotCQlyZXMrKzsKLQl9Ci19Ci0KLS8qCi0gKiBGaW5kIHRoZSByYW5nZXMgb2YgcGh5c2ljYWwgYWRkcmVzc2VzIHRoYXQgZG8gbm90IGNvcnJlc3BvbmQgdG8KLSAqIGU4MjAgUkFNIGFyZWFzIGFuZCBtYXJrIHRoZSBjb3JyZXNwb25kaW5nIHBhZ2VzIGFzIG5vc2F2ZSBmb3Igc29mdHdhcmUKLSAqIHN1c3BlbmQgYW5kIHN1c3BlbmQgdG8gUkFNLgotICoKLSAqIFRoaXMgZnVuY3Rpb24gcmVxdWlyZXMgdGhlIGU4MjAgbWFwIHRvIGJlIHNvcnRlZCBhbmQgd2l0aG91dCBhbnkKLSAqIG92ZXJsYXBwaW5nIGVudHJpZXMgYW5kIGFzc3VtZXMgdGhlIGZpcnN0IGU4MjAgYXJlYSB0byBiZSBSQU0uCi0gKi8KLXZvaWQgX19pbml0IGU4MjBfbWFya19ub3NhdmVfcmVnaW9ucyh2b2lkKQotewotCWludCBpOwotCXVuc2lnbmVkIGxvbmcgcGFkZHI7Ci0KLQlwYWRkciA9IHJvdW5kX2Rvd24oZTgyMC5tYXBbMF0uYWRkciArIGU4MjAubWFwWzBdLnNpemUsIFBBR0VfU0laRSk7Ci0JZm9yIChpID0gMTsgaSA8IGU4MjAubnJfbWFwOyBpKyspIHsKLQkJc3RydWN0IGU4MjBlbnRyeSAqZWkgPSAmZTgyMC5tYXBbaV07Ci0KLQkJaWYgKHBhZGRyIDwgZWktPmFkZHIpCi0JCQlyZWdpc3Rlcl9ub3NhdmVfcmVnaW9uKFBGTl9ET1dOKHBhZGRyKSwKLQkJCQkJCVBGTl9VUChlaS0+YWRkcikpOwotCi0JCXBhZGRyID0gcm91bmRfZG93bihlaS0+YWRkciArIGVpLT5zaXplLCBQQUdFX1NJWkUpOwotCQlpZiAoZWktPnR5cGUgIT0gRTgyMF9SQU0pCi0JCQlyZWdpc3Rlcl9ub3NhdmVfcmVnaW9uKFBGTl9VUChlaS0+YWRkciksCi0JCQkJCQlQRk5fRE9XTihwYWRkcikpOwotCi0JCWlmIChwYWRkciA+PSAoZW5kX3BmbiA8PCBQQUdFX1NISUZUKSkKLQkJCWJyZWFrOwotCX0KLX0KLQotLyoKLSAqIEZpbmRzIGFuIGFjdGl2ZSByZWdpb24gaW4gdGhlIGFkZHJlc3MgcmFuZ2UgZnJvbSBzdGFydF9wZm4gdG8gZW5kX3BmbiBhbmQKLSAqIHJldHVybnMgaXRzIHJhbmdlIGluIGVpX3N0YXJ0cGZuIGFuZCBlaV9lbmRwZm4gZm9yIHRoZSBlODIwIGVudHJ5LgotICovCi1zdGF0aWMgaW50IF9faW5pdCBlODIwX2ZpbmRfYWN0aXZlX3JlZ2lvbihjb25zdCBzdHJ1Y3QgZTgyMGVudHJ5ICplaSwKLQkJCQkJICB1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwKLQkJCQkJICB1bnNpZ25lZCBsb25nIGVuZF9wZm4sCi0JCQkJCSAgdW5zaWduZWQgbG9uZyAqZWlfc3RhcnRwZm4sCi0JCQkJCSAgdW5zaWduZWQgbG9uZyAqZWlfZW5kcGZuKQotewotCSplaV9zdGFydHBmbiA9IHJvdW5kX3VwKGVpLT5hZGRyLCBQQUdFX1NJWkUpID4+IFBBR0VfU0hJRlQ7Ci0JKmVpX2VuZHBmbiA9IHJvdW5kX2Rvd24oZWktPmFkZHIgKyBlaS0+c2l6ZSwgUEFHRV9TSVpFKSA+PiBQQUdFX1NISUZUOwotCi0JLyogU2tpcCBtYXAgZW50cmllcyBzbWFsbGVyIHRoYW4gYSBwYWdlICovCi0JaWYgKCplaV9zdGFydHBmbiA+PSAqZWlfZW5kcGZuKQotCQlyZXR1cm4gMDsKLQotCS8qIENoZWNrIGlmIG1heF9wZm5fbWFwcGVkIHNob3VsZCBiZSB1cGRhdGVkICovCi0JaWYgKGVpLT50eXBlICE9IEU4MjBfUkFNICYmICplaV9lbmRwZm4gPiBtYXhfcGZuX21hcHBlZCkKLQkJbWF4X3Bmbl9tYXBwZWQgPSAqZWlfZW5kcGZuOwotCi0JLyogU2tpcCBpZiBtYXAgaXMgb3V0c2lkZSB0aGUgbm9kZSAqLwotCWlmIChlaS0+dHlwZSAhPSBFODIwX1JBTSB8fCAqZWlfZW5kcGZuIDw9IHN0YXJ0X3BmbiB8fAotCQkJCSAgICAqZWlfc3RhcnRwZm4gPj0gZW5kX3BmbikKLQkJcmV0dXJuIDA7Ci0KLQkvKiBDaGVjayBmb3Igb3ZlcmxhcHMgKi8KLQlpZiAoKmVpX3N0YXJ0cGZuIDwgc3RhcnRfcGZuKQotCQkqZWlfc3RhcnRwZm4gPSBzdGFydF9wZm47Ci0JaWYgKCplaV9lbmRwZm4gPiBlbmRfcGZuKQotCQkqZWlfZW5kcGZuID0gZW5kX3BmbjsKLQotCS8qIE9iZXkgZW5kX3VzZXJfcGZuIHRvIHNhdmUgb24gbWVtbWFwICovCi0JaWYgKCplaV9zdGFydHBmbiA+PSBlbmRfdXNlcl9wZm4pCi0JCXJldHVybiAwOwotCWlmICgqZWlfZW5kcGZuID4gZW5kX3VzZXJfcGZuKQotCQkqZWlfZW5kcGZuID0gZW5kX3VzZXJfcGZuOwotCi0JcmV0dXJuIDE7Ci19Ci0KLS8qIFdhbGsgdGhlIGU4MjAgbWFwIGFuZCByZWdpc3RlciBhY3RpdmUgcmVnaW9ucyB3aXRoaW4gYSBub2RlICovCi12b2lkIF9faW5pdAotZTgyMF9yZWdpc3Rlcl9hY3RpdmVfcmVnaW9ucyhpbnQgbmlkLCB1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwKLQkJCQkJCQl1bnNpZ25lZCBsb25nIGVuZF9wZm4pCi17Ci0JdW5zaWduZWQgbG9uZyBlaV9zdGFydHBmbjsKLQl1bnNpZ25lZCBsb25nIGVpX2VuZHBmbjsKLQlpbnQgaTsKLQotCWZvciAoaSA9IDA7IGkgPCBlODIwLm5yX21hcDsgaSsrKQotCQlpZiAoZTgyMF9maW5kX2FjdGl2ZV9yZWdpb24oJmU4MjAubWFwW2ldLAotCQkJCQkgICAgc3RhcnRfcGZuLCBlbmRfcGZuLAotCQkJCQkgICAgJmVpX3N0YXJ0cGZuLCAmZWlfZW5kcGZuKSkKLQkJCWFkZF9hY3RpdmVfcmFuZ2UobmlkLCBlaV9zdGFydHBmbiwgZWlfZW5kcGZuKTsKLX0KLQotLyoKLSAqIEFkZCBhIG1lbW9yeSByZWdpb24gdG8gdGhlIGtlcm5lbCBlODIwIG1hcC4KLSAqLwotdm9pZCBfX2luaXQgYWRkX21lbW9yeV9yZWdpb24odW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBzaXplLCBpbnQgdHlwZSkKLXsKLQlpbnQgeCA9IGU4MjAubnJfbWFwOwotCi0JaWYgKHggPT0gRTgyME1BWCkgewotCQlwcmludGsoS0VSTl9FUlIgIk9vb3BzISBUb28gbWFueSBlbnRyaWVzIGluIHRoZSBtZW1vcnkgbWFwIVxuIik7Ci0JCXJldHVybjsKLQl9Ci0KLQllODIwLm1hcFt4XS5hZGRyID0gc3RhcnQ7Ci0JZTgyMC5tYXBbeF0uc2l6ZSA9IHNpemU7Ci0JZTgyMC5tYXBbeF0udHlwZSA9IHR5cGU7Ci0JZTgyMC5ucl9tYXArKzsKLX0KLQotLyoKLSAqIEZpbmQgdGhlIGhvbGUgc2l6ZSAoaW4gYnl0ZXMpIGluIHRoZSBtZW1vcnkgcmFuZ2UuCi0gKiBAc3RhcnQ6IHN0YXJ0aW5nIGFkZHJlc3Mgb2YgdGhlIG1lbW9yeSByYW5nZSB0byBzY2FuCi0gKiBAZW5kOiBlbmRpbmcgYWRkcmVzcyBvZiB0aGUgbWVtb3J5IHJhbmdlIHRvIHNjYW4KLSAqLwotdW5zaWduZWQgbG9uZyBfX2luaXQgZTgyMF9ob2xlX3NpemUodW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQpCi17Ci0JdW5zaWduZWQgbG9uZyBzdGFydF9wZm4gPSBzdGFydCA+PiBQQUdFX1NISUZUOwotCXVuc2lnbmVkIGxvbmcgZW5kX3BmbiA9IGVuZCA+PiBQQUdFX1NISUZUOwotCXVuc2lnbmVkIGxvbmcgZWlfc3RhcnRwZm4sIGVpX2VuZHBmbiwgcmFtID0gMDsKLQlpbnQgaTsKLQotCWZvciAoaSA9IDA7IGkgPCBlODIwLm5yX21hcDsgaSsrKSB7Ci0JCWlmIChlODIwX2ZpbmRfYWN0aXZlX3JlZ2lvbigmZTgyMC5tYXBbaV0sCi0JCQkJCSAgICBzdGFydF9wZm4sIGVuZF9wZm4sCi0JCQkJCSAgICAmZWlfc3RhcnRwZm4sICZlaV9lbmRwZm4pKQotCQkJcmFtICs9IGVpX2VuZHBmbiAtIGVpX3N0YXJ0cGZuOwotCX0KLQlyZXR1cm4gZW5kIC0gc3RhcnQgLSAocmFtIDw8IFBBR0VfU0hJRlQpOwotfQotCi1zdGF0aWMgdm9pZCBfX2luaXQgZTgyMF9wcmludF9tYXAoY2hhciAqd2hvKQotewotCWludCBpOwotCi0JZm9yIChpID0gMDsgaSA8IGU4MjAubnJfbWFwOyBpKyspIHsKLQkJcHJpbnRrKEtFUk5fSU5GTyAiICVzOiAlMDE2THggLSAlMDE2THggIiwgd2hvLAotCQkgICAgICAgKHVuc2lnbmVkIGxvbmcgbG9uZykgZTgyMC5tYXBbaV0uYWRkciwKLQkJICAgICAgICh1bnNpZ25lZCBsb25nIGxvbmcpCi0JCSAgICAgICAoZTgyMC5tYXBbaV0uYWRkciArIGU4MjAubWFwW2ldLnNpemUpKTsKLQkJc3dpdGNoIChlODIwLm1hcFtpXS50eXBlKSB7Ci0JCWNhc2UgRTgyMF9SQU06Ci0JCQlwcmludGsoS0VSTl9DT05UICIodXNhYmxlKVxuIik7Ci0JCQlicmVhazsKLQkJY2FzZSBFODIwX1JFU0VSVkVEOgotCQkJcHJpbnRrKEtFUk5fQ09OVCAiKHJlc2VydmVkKVxuIik7Ci0JCQlicmVhazsKLQkJY2FzZSBFODIwX0FDUEk6Ci0JCQlwcmludGsoS0VSTl9DT05UICIoQUNQSSBkYXRhKVxuIik7Ci0JCQlicmVhazsKLQkJY2FzZSBFODIwX05WUzoKLQkJCXByaW50ayhLRVJOX0NPTlQgIihBQ1BJIE5WUylcbiIpOwotCQkJYnJlYWs7Ci0JCWRlZmF1bHQ6Ci0JCQlwcmludGsoS0VSTl9DT05UICJ0eXBlICV1XG4iLCBlODIwLm1hcFtpXS50eXBlKTsKLQkJCWJyZWFrOwotCQl9Ci0JfQotfQotCi0vKgotICogU2FuaXRpemUgdGhlIEJJT1MgZTgyMCBtYXAuCi0gKgotICogU29tZSBlODIwIHJlc3BvbnNlcyBpbmNsdWRlIG92ZXJsYXBwaW5nIGVudHJpZXMuIFRoZSBmb2xsb3dpbmcKLSAqIHJlcGxhY2VzIHRoZSBvcmlnaW5hbCBlODIwIG1hcCB3aXRoIGEgbmV3IG9uZSwgcmVtb3Zpbmcgb3ZlcmxhcHMuCi0gKgotICovCi1zdGF0aWMgaW50IF9faW5pdCBzYW5pdGl6ZV9lODIwX21hcChzdHJ1Y3QgZTgyMGVudHJ5ICpiaW9zbWFwLCBjaGFyICpwbnJfbWFwKQotewotCXN0cnVjdCBjaGFuZ2VfbWVtYmVyIHsKLQkJc3RydWN0IGU4MjBlbnRyeSAqcGJpb3M7IC8qIHBvaW50ZXIgdG8gb3JpZ2luYWwgYmlvcyBlbnRyeSAqLwotCQl1bnNpZ25lZCBsb25nIGxvbmcgYWRkcjsgLyogYWRkcmVzcyBmb3IgdGhpcyBjaGFuZ2UgcG9pbnQgKi8KLQl9OwotCXN0YXRpYyBzdHJ1Y3QgY2hhbmdlX21lbWJlciBjaGFuZ2VfcG9pbnRfbGlzdFsyKkU4MjBNQVhdIF9faW5pdGRhdGE7Ci0Jc3RhdGljIHN0cnVjdCBjaGFuZ2VfbWVtYmVyICpjaGFuZ2VfcG9pbnRbMipFODIwTUFYXSBfX2luaXRkYXRhOwotCXN0YXRpYyBzdHJ1Y3QgZTgyMGVudHJ5ICpvdmVybGFwX2xpc3RbRTgyME1BWF0gX19pbml0ZGF0YTsKLQlzdGF0aWMgc3RydWN0IGU4MjBlbnRyeSBuZXdfYmlvc1tFODIwTUFYXSBfX2luaXRkYXRhOwotCXN0cnVjdCBjaGFuZ2VfbWVtYmVyICpjaGFuZ2VfdG1wOwotCXVuc2lnbmVkIGxvbmcgY3VycmVudF90eXBlLCBsYXN0X3R5cGU7Ci0JdW5zaWduZWQgbG9uZyBsb25nIGxhc3RfYWRkcjsKLQlpbnQgY2hnaWR4LCBzdGlsbF9jaGFuZ2luZzsKLQlpbnQgb3ZlcmxhcF9lbnRyaWVzOwotCWludCBuZXdfYmlvc19lbnRyeTsKLQlpbnQgb2xkX25yLCBuZXdfbnIsIGNoZ19ucjsKLQlpbnQgaTsKLQotCS8qCi0JCVZpc3VhbGx5IHdlJ3JlIHBlcmZvcm1pbmcgdGhlIGZvbGxvd2luZwotCQkoMSwyLDMsNCA9IG1lbW9yeSB0eXBlcykuLi4KLQotCQlTYW1wbGUgbWVtb3J5IG1hcCAody9vdmVybGFwcyk6Ci0JCSAgIF9fX18yMl9fX19fX19fX19fX19fX19fXwotCQkgICBfX19fX19fX19fX19fX19fX19fX19fNF8KLQkJICAgX19fXzExMTFfX19fX19fX19fX19fX19fCi0JCSAgIF80NF9fX19fX19fX19fX19fX19fX19fXwotCQkgICAxMTExMTExMV9fX19fX19fX19fX19fX18KLQkJICAgX19fX19fX19fX19fX19fX19fX18zM19fCi0JCSAgIF9fX19fX19fX19fNDRfX19fX19fX19fXwotCQkgICBfX19fX19fX19fMzMzMzNfX19fX19fX18KLQkJICAgX19fX19fX19fX19fX18yMl9fX19fX19fCi0JCSAgIF9fX19fX19fX19fX19fX19fX18yMjIyXwotCQkgICBfX19fX19fX18xMTExMTExMTFfX19fX18KLQkJICAgX19fX19fX19fX19fX19fX19fX19fMTFfCi0JCSAgIF9fX19fX19fX19fX19fX19fNF9fX19fXwotCi0JCVNhbml0aXplZCBlcXVpdmFsZW50IChubyBvdmVybGFwKToKLQkJICAgMV9fX19fX19fX19fX19fX19fX19fX19fCi0JCSAgIF80NF9fX19fX19fX19fX19fX19fX19fXwotCQkgICBfX18xX19fX19fX19fX19fX19fX19fX18KLQkJICAgX19fXzIyX19fX19fX19fX19fX19fX19fCi0JCSAgIF9fX19fXzExX19fX19fX19fX19fX19fXwotCQkgICBfX19fX19fX18xX19fX19fX19fX19fX18KLQkJICAgX19fX19fX19fXzNfX19fX19fX19fX19fCi0JCSAgIF9fX19fX19fX19fNDRfX19fX19fX19fXwotCQkgICBfX19fX19fX19fX19fMzNfX19fX19fX18KLQkJICAgX19fX19fX19fX19fX19fMl9fX19fX19fCi0JCSAgIF9fX19fX19fX19fX19fX18xX19fX19fXwotCQkgICBfX19fX19fX19fX19fX19fXzRfX19fX18KLQkJICAgX19fX19fX19fX19fX19fX19fXzJfX19fCi0JCSAgIF9fX19fX19fX19fX19fX19fX19fMzNfXwotCQkgICBfX19fX19fX19fX19fX19fX19fX19fNF8KLQkqLwotCi0JLyogaWYgdGhlcmUncyBvbmx5IG9uZSBtZW1vcnkgcmVnaW9uLCBkb24ndCBib3RoZXIgKi8KLQlpZiAoKnBucl9tYXAgPCAyKQotCQlyZXR1cm4gLTE7Ci0KLQlvbGRfbnIgPSAqcG5yX21hcDsKLQotCS8qIGJhaWwgb3V0IGlmIHdlIGZpbmQgYW55IHVucmVhc29uYWJsZSBhZGRyZXNzZXMgaW4gYmlvcyBtYXAgKi8KLQlmb3IgKGkgPSAwOyBpIDwgb2xkX25yOyBpKyspCi0JCWlmIChiaW9zbWFwW2ldLmFkZHIgKyBiaW9zbWFwW2ldLnNpemUgPCBiaW9zbWFwW2ldLmFkZHIpCi0JCQlyZXR1cm4gLTE7Ci0KLQkvKiBjcmVhdGUgcG9pbnRlcnMgZm9yIGluaXRpYWwgY2hhbmdlLXBvaW50IGluZm9ybWF0aW9uIChmb3Igc29ydGluZykgKi8KLQlmb3IgKGkgPSAwOyBpIDwgMiAqIG9sZF9ucjsgaSsrKQotCQljaGFuZ2VfcG9pbnRbaV0gPSAmY2hhbmdlX3BvaW50X2xpc3RbaV07Ci0KLQkvKiByZWNvcmQgYWxsIGtub3duIGNoYW5nZS1wb2ludHMgKHN0YXJ0aW5nIGFuZCBlbmRpbmcgYWRkcmVzc2VzKSwKLQkgICBvbWl0dGluZyB0aG9zZSB0aGF0IGFyZSBmb3IgZW1wdHkgbWVtb3J5IHJlZ2lvbnMgKi8KLQljaGdpZHggPSAwOwotCWZvciAoaSA9IDA7IGkgPCBvbGRfbnI7IGkrKykJewotCQlpZiAoYmlvc21hcFtpXS5zaXplICE9IDApIHsKLQkJCWNoYW5nZV9wb2ludFtjaGdpZHhdLT5hZGRyID0gYmlvc21hcFtpXS5hZGRyOwotCQkJY2hhbmdlX3BvaW50W2NoZ2lkeCsrXS0+cGJpb3MgPSAmYmlvc21hcFtpXTsKLQkJCWNoYW5nZV9wb2ludFtjaGdpZHhdLT5hZGRyID0gYmlvc21hcFtpXS5hZGRyICsKLQkJCQliaW9zbWFwW2ldLnNpemU7Ci0JCQljaGFuZ2VfcG9pbnRbY2hnaWR4KytdLT5wYmlvcyA9ICZiaW9zbWFwW2ldOwotCQl9Ci0JfQotCWNoZ19uciA9IGNoZ2lkeDsKLQotCS8qIHNvcnQgY2hhbmdlLXBvaW50IGxpc3QgYnkgbWVtb3J5IGFkZHJlc3NlcyAobG93IC0+IGhpZ2gpICovCi0Jc3RpbGxfY2hhbmdpbmcgPSAxOwotCXdoaWxlIChzdGlsbF9jaGFuZ2luZykJewotCQlzdGlsbF9jaGFuZ2luZyA9IDA7Ci0JCWZvciAoaSA9IDE7IGkgPCBjaGdfbnI7IGkrKykgIHsKLQkJCXVuc2lnbmVkIGxvbmcgbG9uZyBjdXJhZGRyLCBsYXN0YWRkcjsKLQkJCXVuc2lnbmVkIGxvbmcgbG9uZyBjdXJwYmFkZHIsIGxhc3RwYmFkZHI7Ci0KLQkJCWN1cmFkZHIgPSBjaGFuZ2VfcG9pbnRbaV0tPmFkZHI7Ci0JCQlsYXN0YWRkciA9IGNoYW5nZV9wb2ludFtpIC0gMV0tPmFkZHI7Ci0JCQljdXJwYmFkZHIgPSBjaGFuZ2VfcG9pbnRbaV0tPnBiaW9zLT5hZGRyOwotCQkJbGFzdHBiYWRkciA9IGNoYW5nZV9wb2ludFtpIC0gMV0tPnBiaW9zLT5hZGRyOwotCi0JCQkvKgotCQkJICogc3dhcCBlbnRyaWVzLCB3aGVuOgotCQkJICoKLQkJCSAqIGN1cmFkZHIgPiBsYXN0YWRkciBvcgotCQkJICogY3VyYWRkciA9PSBsYXN0YWRkciBhbmQgY3VyYWRkciA9PSBjdXJwYmFkZHIgYW5kCi0JCQkgKiBsYXN0YWRkciAhPSBsYXN0cGJhZGRyCi0JCQkgKi8KLQkJCWlmIChjdXJhZGRyIDwgbGFzdGFkZHIgfHwKLQkJCSAgICAoY3VyYWRkciA9PSBsYXN0YWRkciAmJiBjdXJhZGRyID09IGN1cnBiYWRkciAmJgotCQkJICAgICBsYXN0YWRkciAhPSBsYXN0cGJhZGRyKSkgewotCQkJCWNoYW5nZV90bXAgPSBjaGFuZ2VfcG9pbnRbaV07Ci0JCQkJY2hhbmdlX3BvaW50W2ldID0gY2hhbmdlX3BvaW50W2ktMV07Ci0JCQkJY2hhbmdlX3BvaW50W2ktMV0gPSBjaGFuZ2VfdG1wOwotCQkJCXN0aWxsX2NoYW5naW5nID0gMTsKLQkJCX0KLQkJfQotCX0KLQotCS8qIGNyZWF0ZSBhIG5ldyBiaW9zIG1lbW9yeSBtYXAsIHJlbW92aW5nIG92ZXJsYXBzICovCi0Jb3ZlcmxhcF9lbnRyaWVzID0gMDsJIC8qIG51bWJlciBvZiBlbnRyaWVzIGluIHRoZSBvdmVybGFwIHRhYmxlICovCi0JbmV3X2Jpb3NfZW50cnkgPSAwOwkgLyogaW5kZXggZm9yIGNyZWF0aW5nIG5ldyBiaW9zIG1hcCBlbnRyaWVzICovCi0JbGFzdF90eXBlID0gMDsJCSAvKiBzdGFydCB3aXRoIHVuZGVmaW5lZCBtZW1vcnkgdHlwZSAqLwotCWxhc3RfYWRkciA9IDA7CQkgLyogc3RhcnQgd2l0aCAwIGFzIGxhc3Qgc3RhcnRpbmcgYWRkcmVzcyAqLwotCi0JLyogbG9vcCB0aHJvdWdoIGNoYW5nZS1wb2ludHMsIGRldGVybWluaW5nIGFmZmVjdCBvbiB0aGUgbmV3IGJpb3MgbWFwICovCi0JZm9yIChjaGdpZHggPSAwOyBjaGdpZHggPCBjaGdfbnI7IGNoZ2lkeCsrKSB7Ci0JCS8qIGtlZXAgdHJhY2sgb2YgYWxsIG92ZXJsYXBwaW5nIGJpb3MgZW50cmllcyAqLwotCQlpZiAoY2hhbmdlX3BvaW50W2NoZ2lkeF0tPmFkZHIgPT0KLQkJICAgIGNoYW5nZV9wb2ludFtjaGdpZHhdLT5wYmlvcy0+YWRkcikgewotCQkJLyoKLQkJCSAqIGFkZCBtYXAgZW50cnkgdG8gb3ZlcmxhcCBsaXN0ICg+IDEgZW50cnkKLQkJCSAqIGltcGxpZXMgYW4gb3ZlcmxhcCkKLQkJCSAqLwotCQkJb3ZlcmxhcF9saXN0W292ZXJsYXBfZW50cmllcysrXSA9Ci0JCQkJY2hhbmdlX3BvaW50W2NoZ2lkeF0tPnBiaW9zOwotCQl9IGVsc2UgewotCQkJLyoKLQkJCSAqIHJlbW92ZSBlbnRyeSBmcm9tIGxpc3QgKG9yZGVyIGluZGVwZW5kZW50LAotCQkJICogc28gc3dhcCB3aXRoIGxhc3QpCi0JCQkgKi8KLQkJCWZvciAoaSA9IDA7IGkgPCBvdmVybGFwX2VudHJpZXM7IGkrKykgewotCQkJCWlmIChvdmVybGFwX2xpc3RbaV0gPT0KLQkJCQkgICAgY2hhbmdlX3BvaW50W2NoZ2lkeF0tPnBiaW9zKQotCQkJCQlvdmVybGFwX2xpc3RbaV0gPQotCQkJCQkJb3ZlcmxhcF9saXN0W292ZXJsYXBfZW50cmllcy0xXTsKLQkJCX0KLQkJCW92ZXJsYXBfZW50cmllcy0tOwotCQl9Ci0JCS8qCi0JCSAqIGlmIHRoZXJlIGFyZSBvdmVybGFwcGluZyBlbnRyaWVzLCBkZWNpZGUgd2hpY2gKLQkJICogInR5cGUiIHRvIHVzZSAobGFyZ2VyIHZhbHVlIHRha2VzIHByZWNlZGVuY2UgLS0KLQkJICogMT11c2FibGUsIDIsMyw0LDQrPXVudXNhYmxlKQotCQkgKi8KLQkJY3VycmVudF90eXBlID0gMDsKLQkJZm9yIChpID0gMDsgaSA8IG92ZXJsYXBfZW50cmllczsgaSsrKQotCQkJaWYgKG92ZXJsYXBfbGlzdFtpXS0+dHlwZSA+IGN1cnJlbnRfdHlwZSkKLQkJCQljdXJyZW50X3R5cGUgPSBvdmVybGFwX2xpc3RbaV0tPnR5cGU7Ci0JCS8qCi0JCSAqIGNvbnRpbnVlIGJ1aWxkaW5nIHVwIG5ldyBiaW9zIG1hcCBiYXNlZCBvbiB0aGlzCi0JCSAqIGluZm9ybWF0aW9uCi0JCSAqLwotCQlpZiAoY3VycmVudF90eXBlICE9IGxhc3RfdHlwZSkJewotCQkJaWYgKGxhc3RfdHlwZSAhPSAwKQkgewotCQkJCW5ld19iaW9zW25ld19iaW9zX2VudHJ5XS5zaXplID0KLQkJCQkJY2hhbmdlX3BvaW50W2NoZ2lkeF0tPmFkZHIgLSBsYXN0X2FkZHI7Ci0JCQkJLyoKLQkJCQkgKiBtb3ZlIGZvcndhcmQgb25seSBpZiB0aGUgbmV3IHNpemUKLQkJCQkgKiB3YXMgbm9uLXplcm8KLQkJCQkgKi8KLQkJCQlpZiAobmV3X2Jpb3NbbmV3X2Jpb3NfZW50cnldLnNpemUgIT0gMCkKLQkJCQkJLyoKLQkJCQkJICogbm8gbW9yZSBzcGFjZSBsZWZ0IGZvciBuZXcKLQkJCQkJICogYmlvcyBlbnRyaWVzID8KLQkJCQkJICovCi0JCQkJCWlmICgrK25ld19iaW9zX2VudHJ5ID49IEU4MjBNQVgpCi0JCQkJCQlicmVhazsKLQkJCX0KLQkJCWlmIChjdXJyZW50X3R5cGUgIT0gMCkJewotCQkJCW5ld19iaW9zW25ld19iaW9zX2VudHJ5XS5hZGRyID0KLQkJCQkJY2hhbmdlX3BvaW50W2NoZ2lkeF0tPmFkZHI7Ci0JCQkJbmV3X2Jpb3NbbmV3X2Jpb3NfZW50cnldLnR5cGUgPSBjdXJyZW50X3R5cGU7Ci0JCQkJbGFzdF9hZGRyID0gY2hhbmdlX3BvaW50W2NoZ2lkeF0tPmFkZHI7Ci0JCQl9Ci0JCQlsYXN0X3R5cGUgPSBjdXJyZW50X3R5cGU7Ci0JCX0KLQl9Ci0JLyogcmV0YWluIGNvdW50IGZvciBuZXcgYmlvcyBlbnRyaWVzICovCi0JbmV3X25yID0gbmV3X2Jpb3NfZW50cnk7Ci0KLQkvKiBjb3B5IG5ldyBiaW9zIG1hcHBpbmcgaW50byBvcmlnaW5hbCBsb2NhdGlvbiAqLwotCW1lbWNweShiaW9zbWFwLCBuZXdfYmlvcywgbmV3X25yICogc2l6ZW9mKHN0cnVjdCBlODIwZW50cnkpKTsKLQkqcG5yX21hcCA9IG5ld19ucjsKLQotCXJldHVybiAwOwotfQotCi0vKgotICogQ29weSB0aGUgQklPUyBlODIwIG1hcCBpbnRvIGEgc2FmZSBwbGFjZS4KLSAqCi0gKiBTYW5pdHktY2hlY2sgaXQgd2hpbGUgd2UncmUgYXQgaXQuLgotICoKLSAqIElmIHdlJ3JlIGx1Y2t5IGFuZCBsaXZlIG9uIGEgbW9kZXJuIHN5c3RlbSwgdGhlIHNldHVwIGNvZGUKLSAqIHdpbGwgaGF2ZSBnaXZlbiB1cyBhIG1lbW9yeSBtYXAgdGhhdCB3ZSBjYW4gdXNlIHRvIHByb3Blcmx5Ci0gKiBzZXQgdXAgbWVtb3J5LiAgSWYgd2UgYXJlbid0LCB3ZSdsbCBmYWtlIGEgbWVtb3J5IG1hcC4KLSAqLwotc3RhdGljIGludCBfX2luaXQgY29weV9lODIwX21hcChzdHJ1Y3QgZTgyMGVudHJ5ICpiaW9zbWFwLCBpbnQgbnJfbWFwKQotewotCS8qIE9ubHkgb25lIG1lbW9yeSByZWdpb24gKG9yIG5lZ2F0aXZlKT8gSWdub3JlIGl0ICovCi0JaWYgKG5yX21hcCA8IDIpCi0JCXJldHVybiAtMTsKLQotCWRvIHsKLQkJdTY0IHN0YXJ0ID0gYmlvc21hcC0+YWRkcjsKLQkJdTY0IHNpemUgPSBiaW9zbWFwLT5zaXplOwotCQl1NjQgZW5kID0gc3RhcnQgKyBzaXplOwotCQl1MzIgdHlwZSA9IGJpb3NtYXAtPnR5cGU7Ci0KLQkJLyogT3ZlcmZsb3cgaW4gNjQgYml0cz8gSWdub3JlIHRoZSBtZW1vcnkgbWFwLiAqLwotCQlpZiAoc3RhcnQgPiBlbmQpCi0JCQlyZXR1cm4gLTE7Ci0KLQkJYWRkX21lbW9yeV9yZWdpb24oc3RhcnQsIHNpemUsIHR5cGUpOwotCX0gd2hpbGUgKGJpb3NtYXArKywgLS1ucl9tYXApOwotCXJldHVybiAwOwotfQotCi1zdGF0aWMgdm9pZCBlYXJseV9wYW5pYyhjaGFyICptc2cpCi17Ci0JZWFybHlfcHJpbnRrKG1zZyk7Ci0JcGFuaWMobXNnKTsKLX0KLQotLyogV2UncmUgbm90IHZvaWQgb25seSBmb3IgeDg2IDMyLWJpdCBjb21wYXQgKi8KLWNoYXIgKiBfX2luaXQgbWFjaGluZV9zcGVjaWZpY19tZW1vcnlfc2V0dXAodm9pZCkKLXsKLQljaGFyICp3aG8gPSAiQklPUy1lODIwIjsKLQkvKgotCSAqIFRyeSB0byBjb3B5IHRoZSBCSU9TLXN1cHBsaWVkIEU4MjAtbWFwLgotCSAqCi0JICogT3RoZXJ3aXNlIGZha2UgYSBtZW1vcnkgbWFwOyBvbmUgc2VjdGlvbiBmcm9tIDBrLT42NDBrLAotCSAqIHRoZSBuZXh0IHNlY3Rpb24gZnJvbSAxbWItPmFwcHJvcHJpYXRlX21lbV9rCi0JICovCi0Jc2FuaXRpemVfZTgyMF9tYXAoYm9vdF9wYXJhbXMuZTgyMF9tYXAsICZib290X3BhcmFtcy5lODIwX2VudHJpZXMpOwotCWlmIChjb3B5X2U4MjBfbWFwKGJvb3RfcGFyYW1zLmU4MjBfbWFwLCBib290X3BhcmFtcy5lODIwX2VudHJpZXMpIDwgMCkKLQkJZWFybHlfcGFuaWMoIkNhbm5vdCBmaW5kIGEgdmFsaWQgbWVtb3J5IG1hcCIpOwotCXByaW50ayhLRVJOX0lORk8gIkJJT1MtcHJvdmlkZWQgcGh5c2ljYWwgUkFNIG1hcDpcbiIpOwotCWU4MjBfcHJpbnRfbWFwKHdobyk7Ci0KLQkvKiBJbiBjYXNlIHNvbWVvbmUgY2FyZXMuLi4gKi8KLQlyZXR1cm4gd2hvOwotfQotCi1zdGF0aWMgaW50IF9faW5pdCBwYXJzZV9tZW1vcHQoY2hhciAqcCkKLXsKLQlpZiAoIXApCi0JCXJldHVybiAtRUlOVkFMOwotCWVuZF91c2VyX3BmbiA9IG1lbXBhcnNlKHAsICZwKTsKLQllbmRfdXNlcl9wZm4gPj49IFBBR0VfU0hJRlQ7Ci0JcmV0dXJuIDA7Ci19Ci1lYXJseV9wYXJhbSgibWVtIiwgcGFyc2VfbWVtb3B0KTsKLQotc3RhdGljIGludCB1c2VyZGVmIF9faW5pdGRhdGE7Ci0KLXN0YXRpYyBpbnQgX19pbml0IHBhcnNlX21lbW1hcF9vcHQoY2hhciAqcCkKLXsKLQljaGFyICpvbGRwOwotCXVuc2lnbmVkIGxvbmcgbG9uZyBzdGFydF9hdCwgbWVtX3NpemU7Ci0KLQlpZiAoIXN0cmNtcChwLCAiZXhhY3RtYXAiKSkgewotI2lmZGVmIENPTkZJR19DUkFTSF9EVU1QCi0JCS8qCi0JCSAqIElmIHdlIGFyZSBkb2luZyBhIGNyYXNoIGR1bXAsIHdlIHN0aWxsIG5lZWQgdG8ga25vdwotCQkgKiB0aGUgcmVhbCBtZW0gc2l6ZSBiZWZvcmUgb3JpZ2luYWwgbWVtb3J5IG1hcCBpcwotCQkgKiByZXNldC4KLQkJICovCi0JCWU4MjBfcmVnaXN0ZXJfYWN0aXZlX3JlZ2lvbnMoMCwgMCwgLTFVTCk7Ci0JCXNhdmVkX21heF9wZm4gPSBlODIwX2VuZF9vZl9yYW0oKTsKLQkJcmVtb3ZlX2FsbF9hY3RpdmVfcmFuZ2VzKCk7Ci0jZW5kaWYKLQkJbWF4X3Bmbl9tYXBwZWQgPSAwOwotCQllODIwLm5yX21hcCA9IDA7Ci0JCXVzZXJkZWYgPSAxOwotCQlyZXR1cm4gMDsKLQl9Ci0KLQlvbGRwID0gcDsKLQltZW1fc2l6ZSA9IG1lbXBhcnNlKHAsICZwKTsKLQlpZiAocCA9PSBvbGRwKQotCQlyZXR1cm4gLUVJTlZBTDsKLQotCXVzZXJkZWYgPSAxOwotCWlmICgqcCA9PSAnQCcpIHsKLQkJc3RhcnRfYXQgPSBtZW1wYXJzZShwKzEsICZwKTsKLQkJYWRkX21lbW9yeV9yZWdpb24oc3RhcnRfYXQsIG1lbV9zaXplLCBFODIwX1JBTSk7Ci0JfSBlbHNlIGlmICgqcCA9PSAnIycpIHsKLQkJc3RhcnRfYXQgPSBtZW1wYXJzZShwKzEsICZwKTsKLQkJYWRkX21lbW9yeV9yZWdpb24oc3RhcnRfYXQsIG1lbV9zaXplLCBFODIwX0FDUEkpOwotCX0gZWxzZSBpZiAoKnAgPT0gJyQnKSB7Ci0JCXN0YXJ0X2F0ID0gbWVtcGFyc2UocCsxLCAmcCk7Ci0JCWFkZF9tZW1vcnlfcmVnaW9uKHN0YXJ0X2F0LCBtZW1fc2l6ZSwgRTgyMF9SRVNFUlZFRCk7Ci0JfSBlbHNlIHsKLQkJZW5kX3VzZXJfcGZuID0gKG1lbV9zaXplID4+IFBBR0VfU0hJRlQpOwotCX0KLQlyZXR1cm4gKnAgPT0gJ1wwJyA/IDAgOiAtRUlOVkFMOwotfQotZWFybHlfcGFyYW0oIm1lbW1hcCIsIHBhcnNlX21lbW1hcF9vcHQpOwotCi12b2lkIF9faW5pdCBmaW5pc2hfZTgyMF9wYXJzaW5nKHZvaWQpCi17Ci0JaWYgKHVzZXJkZWYpIHsKLQkJY2hhciBuciA9IGU4MjAubnJfbWFwOwotCi0JCWlmIChzYW5pdGl6ZV9lODIwX21hcChlODIwLm1hcCwgJm5yKSA8IDApCi0JCQllYXJseV9wYW5pYygiSW52YWxpZCB1c2VyIHN1cHBsaWVkIG1lbW9yeSBtYXAiKTsKLQkJZTgyMC5ucl9tYXAgPSBucjsKLQotCQlwcmludGsoS0VSTl9JTkZPICJ1c2VyLWRlZmluZWQgcGh5c2ljYWwgUkFNIG1hcDpcbiIpOwotCQllODIwX3ByaW50X21hcCgidXNlciIpOwotCX0KLX0KLQotdm9pZCBfX2luaXQgdXBkYXRlX21lbW9yeV9yYW5nZSh1NjQgc3RhcnQsIHU2NCBzaXplLCB1bnNpZ25lZCBvbGRfdHlwZSwKLQkJCQl1bnNpZ25lZCBuZXdfdHlwZSkKLXsKLQlpbnQgaTsKLQotCUJVR19PTihvbGRfdHlwZSA9PSBuZXdfdHlwZSk7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgZTgyMC5ucl9tYXA7IGkrKykgewotCQlzdHJ1Y3QgZTgyMGVudHJ5ICplaSA9ICZlODIwLm1hcFtpXTsKLQkJdTY0IGZpbmFsX3N0YXJ0LCBmaW5hbF9lbmQ7Ci0JCWlmIChlaS0+dHlwZSAhPSBvbGRfdHlwZSkKLQkJCWNvbnRpbnVlOwotCQkvKiB0b3RhbGx5IGNvdmVyZWQ/ICovCi0JCWlmIChlaS0+YWRkciA+PSBzdGFydCAmJiBlaS0+c2l6ZSA8PSBzaXplKSB7Ci0JCQllaS0+dHlwZSA9IG5ld190eXBlOwotCQkJY29udGludWU7Ci0JCX0KLQkJLyogcGFydGlhbGx5IGNvdmVyZWQgKi8KLQkJZmluYWxfc3RhcnQgPSBtYXgoc3RhcnQsIGVpLT5hZGRyKTsKLQkJZmluYWxfZW5kID0gbWluKHN0YXJ0ICsgc2l6ZSwgZWktPmFkZHIgKyBlaS0+c2l6ZSk7Ci0JCWlmIChmaW5hbF9zdGFydCA+PSBmaW5hbF9lbmQpCi0JCQljb250aW51ZTsKLQkJYWRkX21lbW9yeV9yZWdpb24oZmluYWxfc3RhcnQsIGZpbmFsX2VuZCAtIGZpbmFsX3N0YXJ0LAotCQkJCQkgbmV3X3R5cGUpOwotCX0KLX0KLQotdm9pZCBfX2luaXQgdXBkYXRlX2U4MjAodm9pZCkKLXsKLQl1OCBucl9tYXA7Ci0KLQlucl9tYXAgPSBlODIwLm5yX21hcDsKLQlpZiAoc2FuaXRpemVfZTgyMF9tYXAoZTgyMC5tYXAsICZucl9tYXApKQotCQlyZXR1cm47Ci0JZTgyMC5ucl9tYXAgPSBucl9tYXA7Ci0JcHJpbnRrKEtFUk5fSU5GTyAibW9kaWZpZWQgcGh5c2ljYWwgUkFNIG1hcDpcbiIpOwotCWU4MjBfcHJpbnRfbWFwKCJtb2RpZmllZCIpOwotfQotCi11bnNpZ25lZCBsb25nIHBjaV9tZW1fc3RhcnQgPSAweGFlZWRiYWJlOwotRVhQT1JUX1NZTUJPTChwY2lfbWVtX3N0YXJ0KTsKLQotLyoKLSAqIFNlYXJjaCBmb3IgdGhlIGJpZ2dlc3QgZ2FwIGluIHRoZSBsb3cgMzIgYml0cyBvZiB0aGUgZTgyMAotICogbWVtb3J5IHNwYWNlLiAgV2UgcGFzcyB0aGlzIHNwYWNlIHRvIFBDSSB0byBhc3NpZ24gTU1JTyByZXNvdXJjZXMKLSAqIGZvciBob3RwbHVnIG9yIHVuY29uZmlndXJlZCBkZXZpY2VzIGluLgotICogSG9wZWZ1bGx5IHRoZSBCSU9TIGxldCBlbm91Z2ggc3BhY2UgbGVmdC4KLSAqLwotX19pbml0IHZvaWQgZTgyMF9zZXR1cF9nYXAodm9pZCkKLXsKLQl1bnNpZ25lZCBsb25nIGdhcHN0YXJ0LCBnYXBzaXplLCByb3VuZDsKLQl1bnNpZ25lZCBsb25nIGxhc3Q7Ci0JaW50IGk7Ci0JaW50IGZvdW5kID0gMDsKLQotCWxhc3QgPSAweDEwMDAwMDAwMHVsbDsKLQlnYXBzdGFydCA9IDB4MTAwMDAwMDA7Ci0JZ2Fwc2l6ZSA9IDB4NDAwMDAwOwotCWkgPSBlODIwLm5yX21hcDsKLQl3aGlsZSAoLS1pID49IDApIHsKLQkJdW5zaWduZWQgbG9uZyBsb25nIHN0YXJ0ID0gZTgyMC5tYXBbaV0uYWRkcjsKLQkJdW5zaWduZWQgbG9uZyBsb25nIGVuZCA9IHN0YXJ0ICsgZTgyMC5tYXBbaV0uc2l6ZTsKLQotCQkvKgotCQkgKiBTaW5jZSAibGFzdCIgaXMgYXQgbW9zdCA0R0IsIHdlIGtub3cgd2UnbGwKLQkJICogZml0IGluIDMyIGJpdHMgaWYgdGhpcyBjb25kaXRpb24gaXMgdHJ1ZQotCQkgKi8KLQkJaWYgKGxhc3QgPiBlbmQpIHsKLQkJCXVuc2lnbmVkIGxvbmcgZ2FwID0gbGFzdCAtIGVuZDsKLQotCQkJaWYgKGdhcCA+IGdhcHNpemUpIHsKLQkJCQlnYXBzaXplID0gZ2FwOwotCQkJCWdhcHN0YXJ0ID0gZW5kOwotCQkJCWZvdW5kID0gMTsKLQkJCX0KLQkJfQotCQlpZiAoc3RhcnQgPCBsYXN0KQotCQkJbGFzdCA9IHN0YXJ0OwotCX0KLQotCWlmICghZm91bmQpIHsKLQkJZ2Fwc3RhcnQgPSAoZW5kX3BmbiA8PCBQQUdFX1NISUZUKSArIDEwMjQqMTAyNDsKLQkJcHJpbnRrKEtFUk5fRVJSICJQQ0k6IFdhcm5pbmc6IENhbm5vdCBmaW5kIGEgZ2FwIGluIHRoZSAzMmJpdCAiCi0JCSAgICAgICAiYWRkcmVzcyByYW5nZVxuIgotCQkgICAgICAgS0VSTl9FUlIgIlBDSTogVW5hc3NpZ25lZCBkZXZpY2VzIHdpdGggMzJiaXQgcmVzb3VyY2UgIgotCQkgICAgICAgInJlZ2lzdGVycyBtYXkgYnJlYWshXG4iKTsKLQl9Ci0KLQkvKgotCSAqIFNlZSBob3cgbXVjaCB3ZSB3YW50IHRvIHJvdW5kIHVwOiBzdGFydCBvZmYgd2l0aAotCSAqIHJvdW5kaW5nIHRvIHRoZSBuZXh0IDFNQiBhcmVhLgotCSAqLwotCXJvdW5kID0gMHgxMDAwMDA7Ci0Jd2hpbGUgKChnYXBzaXplID4+IDQpID4gcm91bmQpCi0JCXJvdW5kICs9IHJvdW5kOwotCS8qIEZ1biB3aXRoIHR3bydzIGNvbXBsZW1lbnQgKi8KLQlwY2lfbWVtX3N0YXJ0ID0gKGdhcHN0YXJ0ICsgcm91bmQpICYgLXJvdW5kOwotCi0JcHJpbnRrKEtFUk5fSU5GTwotCSAgICAgICAiQWxsb2NhdGluZyBQQ0kgcmVzb3VyY2VzIHN0YXJ0aW5nIGF0ICVseCAoZ2FwOiAlbHg6JWx4KVxuIiwKLQkgICAgICAgcGNpX21lbV9zdGFydCwgZ2Fwc3RhcnQsIGdhcHNpemUpOwotfQotCi1pbnQgX19pbml0IGFyY2hfZ2V0X3JhbV9yYW5nZShpbnQgc2xvdCwgdTY0ICphZGRyLCB1NjQgKnNpemUpCi17Ci0JaW50IGk7Ci0KLQlpZiAoc2xvdCA8IDAgfHwgc2xvdCA+PSBlODIwLm5yX21hcCkKLQkJcmV0dXJuIC0xOwotCWZvciAoaSA9IHNsb3Q7IGkgPCBlODIwLm5yX21hcDsgaSsrKSB7Ci0JCWlmIChlODIwLm1hcFtpXS50eXBlICE9IEU4MjBfUkFNKQotCQkJY29udGludWU7Ci0JCWJyZWFrOwotCX0KLQlpZiAoaSA9PSBlODIwLm5yX21hcCB8fCBlODIwLm1hcFtpXS5hZGRyID4gKG1heF9wZm4gPDwgUEFHRV9TSElGVCkpCi0JCXJldHVybiAtMTsKLQkqYWRkciA9IGU4MjAubWFwW2ldLmFkZHI7Ci0JKnNpemUgPSBtaW5fdCh1NjQsIGU4MjAubWFwW2ldLnNpemUgKyBlODIwLm1hcFtpXS5hZGRyLAotCQltYXhfcGZuIDw8IFBBR0VfU0hJRlQpIC0gKmFkZHI7Ci0JcmV0dXJuIGkgKyAxOwotfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2Vhcmx5LXF1aXJrcy5jIGIvYXJjaC94ODYva2VybmVsL2Vhcmx5LXF1aXJrcy5jCmluZGV4IDlmNTFlMWUuLmE0NjY1ZjMgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9lYXJseS1xdWlya3MuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvZWFybHktcXVpcmtzLmMKQEAgLTUwLDcgKzUwLDcgQEAKIHN0YXRpYyB2b2lkIF9faW5pdCB2aWFfYnVncyhpbnQgIG51bSwgaW50IHNsb3QsIGludCBmdW5jKQogewogI2lmZGVmIENPTkZJR19HQVJUX0lPTU1VCi0JaWYgKChlbmRfcGZuID4gTUFYX0RNQTMyX1BGTiB8fCAgZm9yY2VfaW9tbXUpICYmCisJaWYgKChtYXhfcGZuID4gTUFYX0RNQTMyX1BGTiB8fCAgZm9yY2VfaW9tbXUpICYmCiAJICAgICFnYXJ0X2lvbW11X2FwZXJ0dXJlX2FsbG93ZWQpIHsKIAkJcHJpbnRrKEtFUk5fSU5GTwogCQkgICAgICAgIkxvb2tzIGxpa2UgYSBWSUEgY2hpcHNldC4gRGlzYWJsaW5nIElPTU1VLiIKQEAgLTk4LDE3ICs5OCw2IEBACiAKIH0KIAotc3RhdGljIHZvaWQgX19pbml0IGF0aV9idWdzKGludCBudW0sIGludCBzbG90LCBpbnQgZnVuYykKLXsKLSNpZmRlZiBDT05GSUdfWDg2X0lPX0FQSUMKLQlpZiAodGltZXJfb3Zlcl84MjU0ID09IDEpIHsKLQkJdGltZXJfb3Zlcl84MjU0ID0gMDsKLQkJcHJpbnRrKEtFUk5fSU5GTwotCQkiQVRJIGJvYXJkIGRldGVjdGVkLiBEaXNhYmxpbmcgdGltZXIgcm91dGluZyBvdmVyIDgyNTQuXG4iKTsKLQl9Ci0jZW5kaWYKLX0KLQogI2RlZmluZSBRRkxBR19BUFBMWV9PTkNFIAkweDEKICNkZWZpbmUgUUZMQUdfQVBQTElFRAkJMHgyCiAjZGVmaW5lIFFGTEFHX0RPTkUJCShRRkxBR19BUFBMWV9PTkNFfFFGTEFHX0FQUExJRUQpCkBAIC0xMjYsOCArMTE1LDYgQEAKIAkgIFBDSV9DTEFTU19CUklER0VfUENJLCBQQ0lfQU5ZX0lELCBRRkxBR19BUFBMWV9PTkNFLCBudmlkaWFfYnVncyB9LAogCXsgUENJX1ZFTkRPUl9JRF9WSUEsIFBDSV9BTllfSUQsCiAJICBQQ0lfQ0xBU1NfQlJJREdFX1BDSSwgUENJX0FOWV9JRCwgUUZMQUdfQVBQTFlfT05DRSwgdmlhX2J1Z3MgfSwKLQl7IFBDSV9WRU5ET1JfSURfQVRJLCBQQ0lfQU5ZX0lELAotCSAgUENJX0NMQVNTX0JSSURHRV9QQ0ksIFBDSV9BTllfSUQsIFFGTEFHX0FQUExZX09OQ0UsIGF0aV9idWdzIH0sCiAJeyBQQ0lfVkVORE9SX0lEX0FNRCwgUENJX0RFVklDRV9JRF9BTURfSzhfTkIsCiAJICBQQ0lfQ0xBU1NfQlJJREdFX0hPU1QsIFBDSV9BTllfSUQsIDAsIGZpeF9oeXBlcnRyYW5zcG9ydF9jb25maWcgfSwKIAl7fQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2Vhcmx5X3ByaW50ay5jIGIvYXJjaC94ODYva2VybmVsL2Vhcmx5X3ByaW50ay5jCmluZGV4IDY0M2ZkODYuLmZmOWU3MzUgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9lYXJseV9wcmludGsuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvZWFybHlfcHJpbnRrLmMKQEAgLTE5Niw3ICsxOTYsNyBAQAogc3RhdGljIHN0cnVjdCBjb25zb2xlICplYXJseV9jb25zb2xlID0gJmVhcmx5X3ZnYV9jb25zb2xlOwogc3RhdGljIGludCBlYXJseV9jb25zb2xlX2luaXRpYWxpemVkOwogCi12b2lkIGVhcmx5X3ByaW50ayhjb25zdCBjaGFyICpmbXQsIC4uLikKK2FzbWxpbmthZ2Ugdm9pZCBlYXJseV9wcmludGsoY29uc3QgY2hhciAqZm10LCAuLi4pCiB7CiAJY2hhciBidWZbNTEyXTsKIAlpbnQgbjsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9lZmkuYyBiL2FyY2gveDg2L2tlcm5lbC9lZmkuYwppbmRleCA3N2Q0MjRjLi4wNmNjOGQ0IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvZWZpLmMKKysrIGIvYXJjaC94ODYva2VybmVsL2VmaS5jCkBAIC02NCw2ICs2NCwxNyBAQAogfQogZWFybHlfcGFyYW0oIm5vZWZpIiwgc2V0dXBfbm9lZmkpOwogCitpbnQgYWRkX2VmaV9tZW1tYXA7CitFWFBPUlRfU1lNQk9MKGFkZF9lZmlfbWVtbWFwKTsKKworc3RhdGljIGludCBfX2luaXQgc2V0dXBfYWRkX2VmaV9tZW1tYXAoY2hhciAqYXJnKQoreworCWFkZF9lZmlfbWVtbWFwID0gMTsKKwlyZXR1cm4gMDsKK30KK2Vhcmx5X3BhcmFtKCJhZGRfZWZpX21lbW1hcCIsIHNldHVwX2FkZF9lZmlfbWVtbWFwKTsKKworCiBzdGF0aWMgZWZpX3N0YXR1c190IHZpcnRfZWZpX2dldF90aW1lKGVmaV90aW1lX3QgKnRtLCBlZmlfdGltZV9jYXBfdCAqdGMpCiB7CiAJcmV0dXJuIGVmaV9jYWxsX3ZpcnQyKGdldF90aW1lLCB0bSwgdGMpOwpAQCAtMjEzLDYgKzIyNCw1MCBAQAogCQkgICAgICBlZnQubWludXRlLCBlZnQuc2Vjb25kKTsKIH0KIAorLyoKKyAqIFRlbGwgdGhlIGtlcm5lbCBhYm91dCB0aGUgRUZJIG1lbW9yeSBtYXAuICBUaGlzIG1pZ2h0IGluY2x1ZGUKKyAqIG1vcmUgdGhhbiB0aGUgbWF4IDEyOCBlbnRyaWVzIHRoYXQgY2FuIGZpdCBpbiB0aGUgZTgyMCBsZWdhY3kKKyAqICh6ZXJvcGFnZSkgbWVtb3J5IG1hcC4KKyAqLworCitzdGF0aWMgdm9pZCBfX2luaXQgZG9fYWRkX2VmaV9tZW1tYXAodm9pZCkKK3sKKwl2b2lkICpwOworCisJZm9yIChwID0gbWVtbWFwLm1hcDsgcCA8IG1lbW1hcC5tYXBfZW5kOyBwICs9IG1lbW1hcC5kZXNjX3NpemUpIHsKKwkJZWZpX21lbW9yeV9kZXNjX3QgKm1kID0gcDsKKwkJdW5zaWduZWQgbG9uZyBsb25nIHN0YXJ0ID0gbWQtPnBoeXNfYWRkcjsKKwkJdW5zaWduZWQgbG9uZyBsb25nIHNpemUgPSBtZC0+bnVtX3BhZ2VzIDw8IEVGSV9QQUdFX1NISUZUOworCQlpbnQgZTgyMF90eXBlOworCisJCWlmIChtZC0+YXR0cmlidXRlICYgRUZJX01FTU9SWV9XQikKKwkJCWU4MjBfdHlwZSA9IEU4MjBfUkFNOworCQllbHNlCisJCQllODIwX3R5cGUgPSBFODIwX1JFU0VSVkVEOworCQllODIwX2FkZF9yZWdpb24oc3RhcnQsIHNpemUsIGU4MjBfdHlwZSk7CisJfQorCXNhbml0aXplX2U4MjBfbWFwKGU4MjAubWFwLCBBUlJBWV9TSVpFKGU4MjAubWFwKSwgJmU4MjAubnJfbWFwKTsKK30KKwordm9pZCBfX2luaXQgZWZpX3Jlc2VydmVfZWFybHkodm9pZCkKK3sKKwl1bnNpZ25lZCBsb25nIHBtYXA7CisKKyNpZmRlZiBDT05GSUdfWDg2XzMyCisJcG1hcCA9IGJvb3RfcGFyYW1zLmVmaV9pbmZvLmVmaV9tZW1tYXA7CisjZWxzZQorCXBtYXAgPSAoYm9vdF9wYXJhbXMuZWZpX2luZm8uZWZpX21lbW1hcCB8CisJCSgoX191NjQpYm9vdF9wYXJhbXMuZWZpX2luZm8uZWZpX21lbW1hcF9oaTw8MzIpKTsKKyNlbmRpZgorCW1lbW1hcC5waHlzX21hcCA9ICh2b2lkICopcG1hcDsKKwltZW1tYXAubnJfbWFwID0gYm9vdF9wYXJhbXMuZWZpX2luZm8uZWZpX21lbW1hcF9zaXplIC8KKwkJYm9vdF9wYXJhbXMuZWZpX2luZm8uZWZpX21lbWRlc2Nfc2l6ZTsKKwltZW1tYXAuZGVzY192ZXJzaW9uID0gYm9vdF9wYXJhbXMuZWZpX2luZm8uZWZpX21lbWRlc2NfdmVyc2lvbjsKKwltZW1tYXAuZGVzY19zaXplID0gYm9vdF9wYXJhbXMuZWZpX2luZm8uZWZpX21lbWRlc2Nfc2l6ZTsKKwlyZXNlcnZlX2Vhcmx5KHBtYXAsIHBtYXAgKyBtZW1tYXAubnJfbWFwICogbWVtbWFwLmRlc2Nfc2l6ZSwKKwkJICAgICAgIkVGSSBtZW1tYXAiKTsKK30KKwogI2lmIEVGSV9ERUJVRwogc3RhdGljIHZvaWQgX19pbml0IHByaW50X2VmaV9tZW1tYXAodm9pZCkKIHsKQEAgLTI0NCwxOSArMjk5LDExIEBACiAKICNpZmRlZiBDT05GSUdfWDg2XzMyCiAJZWZpX3BoeXMuc3lzdGFiID0gKGVmaV9zeXN0ZW1fdGFibGVfdCAqKWJvb3RfcGFyYW1zLmVmaV9pbmZvLmVmaV9zeXN0YWI7Ci0JbWVtbWFwLnBoeXNfbWFwID0gKHZvaWQgKilib290X3BhcmFtcy5lZmlfaW5mby5lZmlfbWVtbWFwOwogI2Vsc2UKIAllZmlfcGh5cy5zeXN0YWIgPSAoZWZpX3N5c3RlbV90YWJsZV90ICopCiAJCShib290X3BhcmFtcy5lZmlfaW5mby5lZmlfc3lzdGFiIHwKIAkJICgoX191NjQpYm9vdF9wYXJhbXMuZWZpX2luZm8uZWZpX3N5c3RhYl9oaTw8MzIpKTsKLQltZW1tYXAucGh5c19tYXAgPSAodm9pZCAqKQotCQkoYm9vdF9wYXJhbXMuZWZpX2luZm8uZWZpX21lbW1hcCB8Ci0JCSAoKF9fdTY0KWJvb3RfcGFyYW1zLmVmaV9pbmZvLmVmaV9tZW1tYXBfaGk8PDMyKSk7CiAjZW5kaWYKLQltZW1tYXAubnJfbWFwID0gYm9vdF9wYXJhbXMuZWZpX2luZm8uZWZpX21lbW1hcF9zaXplIC8KLQkJYm9vdF9wYXJhbXMuZWZpX2luZm8uZWZpX21lbWRlc2Nfc2l6ZTsKLQltZW1tYXAuZGVzY192ZXJzaW9uID0gYm9vdF9wYXJhbXMuZWZpX2luZm8uZWZpX21lbWRlc2NfdmVyc2lvbjsKLQltZW1tYXAuZGVzY19zaXplID0gYm9vdF9wYXJhbXMuZWZpX2luZm8uZWZpX21lbWRlc2Nfc2l6ZTsKIAogCWVmaS5zeXN0YWIgPSBlYXJseV9pb3JlbWFwKCh1bnNpZ25lZCBsb25nKWVmaV9waHlzLnN5c3RhYiwKIAkJCQkgICBzaXplb2YoZWZpX3N5c3RlbV90YWJsZV90KSk7CkBAIC0zNzAsNiArNDE3LDggQEAKIAlpZiAobWVtbWFwLmRlc2Nfc2l6ZSAhPSBzaXplb2YoZWZpX21lbW9yeV9kZXNjX3QpKQogCQlwcmludGsoS0VSTl9XQVJOSU5HICJLZXJuZWwtZGVmaW5lZCBtZW1kZXNjIgogCQkgICAgICAgImRvZXNuJ3QgbWF0Y2ggdGhlIG9uZSBmcm9tIEVGSSFcbiIpOworCWlmIChhZGRfZWZpX21lbW1hcCkKKwkJZG9fYWRkX2VmaV9tZW1tYXAoKTsKIAogCS8qIFNldHVwIGZvciBFRkkgcnVudGltZSBzZXJ2aWNlICovCiAJcmVib290X3R5cGUgPSBCT09UX0VGSTsKQEAgLTQyNCw3ICs0NzMsNyBAQAogCQlzaXplID0gbWQtPm51bV9wYWdlcyA8PCBFRklfUEFHRV9TSElGVDsKIAkJZW5kID0gbWQtPnBoeXNfYWRkciArIHNpemU7CiAKLQkJaWYgKFBGTl9VUChlbmQpIDw9IG1heF9wZm5fbWFwcGVkKQorCQlpZiAoUEZOX1VQKGVuZCkgPD0gbWF4X2xvd19wZm5fbWFwcGVkKQogCQkJdmEgPSBfX3ZhKG1kLT5waHlzX2FkZHIpOwogCQllbHNlCiAJCQl2YSA9IGVmaV9pb3JlbWFwKG1kLT5waHlzX2FkZHIsIHNpemUpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2VmaV82NC5jIGIvYXJjaC94ODYva2VybmVsL2VmaV82NC5jCmluZGV4IGQwMDYwZmQuLjY1MmM1MjggMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9lZmlfNjQuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvZWZpXzY0LmMKQEAgLTk3LDEzICs5Nyw3IEBACiAJZWFybHlfcnVudGltZV9jb2RlX21hcHBpbmdfc2V0X2V4ZWMoMCk7CiB9CiAKLXZvaWQgX19pbml0IGVmaV9yZXNlcnZlX2Jvb3RtZW0odm9pZCkKLXsKLQlyZXNlcnZlX2Jvb3RtZW1fZ2VuZXJpYygodW5zaWduZWQgbG9uZyltZW1tYXAucGh5c19tYXAsCi0JCQkJbWVtbWFwLm5yX21hcCAqIG1lbW1hcC5kZXNjX3NpemUpOwotfQotCi12b2lkIF9faW9tZW0gKiBfX2luaXQgZWZpX2lvcmVtYXAodW5zaWduZWQgbG9uZyBwaHlzX2FkZHIsIHVuc2lnbmVkIGxvbmcgc2l6ZSkKK3ZvaWQgX19pb21lbSAqX19pbml0IGVmaV9pb3JlbWFwKHVuc2lnbmVkIGxvbmcgcGh5c19hZGRyLCB1bnNpZ25lZCBsb25nIHNpemUpCiB7CiAJc3RhdGljIHVuc2lnbmVkIHBhZ2VzX21hcHBlZCBfX2luaXRkYXRhOwogCXVuc2lnbmVkIGksIHBhZ2VzOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2VudHJ5XzMyLlMgYi9hcmNoL3g4Ni9rZXJuZWwvZW50cnlfMzIuUwppbmRleCBjNzc4ZTRmLi42YmMwN2YwIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvZW50cnlfMzIuUworKysgYi9hcmNoL3g4Ni9rZXJuZWwvZW50cnlfMzIuUwpAQCAtNTEsMTQgKzUxLDE1IEBACiAjaW5jbHVkZSA8YXNtL3BlcmNwdS5oPgogI2luY2x1ZGUgPGFzbS9kd2FyZjIuaD4KICNpbmNsdWRlIDxhc20vcHJvY2Vzc29yLWZsYWdzLmg+Ci0jaW5jbHVkZSAiaXJxX3ZlY3RvcnMuaCIKKyNpbmNsdWRlIDxhc20vZnRyYWNlLmg+CisjaW5jbHVkZSA8YXNtL2lycV92ZWN0b3JzLmg+CiAKIC8qCiAgKiBXZSB1c2UgbWFjcm9zIGZvciBsb3ctbGV2ZWwgb3BlcmF0aW9ucyB3aGljaCBuZWVkIHRvIGJlIG92ZXJyaWRkZW4KICAqIGZvciBwYXJhdmlydHVhbGl6YXRpb24uICBUaGUgZm9sbG93aW5nIHdpbGwgbmV2ZXIgY2xvYmJlciBhbnkgcmVnaXN0ZXJzOgogICogICBJTlRFUlJVUFRfUkVUVVJOIChha2EuICJpcmV0IikKICAqICAgR0VUX0NSMF9JTlRPX0VBWCAoYWthLiAibW92bCAlY3IwLCAlZWF4IikKLSAqICAgRU5BQkxFX0lOVEVSUlVQVFNfU1lTQ0FMTF9SRVQgKGFrYSAic3RpOyBzeXNleGl0IikuCisgKiAgIEVOQUJMRV9JTlRFUlJVUFRTX1NZU0VYSVQgKGFrYSAic3RpOyBzeXNleGl0IikuCiAgKgogICogRm9yIERJU0FCTEVfSU5URVJSVVBUUy9FTkFCTEVfSU5URVJSVVBUUyAoYWthICJjbGkiLyJzdGkiKSwgeW91IG11c3QKICAqIHNwZWNpZnkgd2hhdCByZWdpc3RlcnMgY2FuIGJlIG92ZXJ3cml0dGVuIChDTEJSX05PTkUsIENMQlJfRUFYL0VEWC9FQ1gvQU5ZKS4KQEAgLTM0OSw3ICszNTAsNyBAQAogCXhvcmwgJWVicCwlZWJwCiAJVFJBQ0VfSVJRU19PTgogMToJbW92ICBQVF9GUyglZXNwKSwgJWZzCi0JRU5BQkxFX0lOVEVSUlVQVFNfU1lTQ0FMTF9SRVQKKwlFTkFCTEVfSU5URVJSVVBUU19TWVNFWElUCiAJQ0ZJX0VORFBST0MKIC5wdXNoc2VjdGlvbiAuZml4dXAsImF4IgogMjoJbW92bCAkMCxQVF9GUyglZXNwKQpAQCAtODc0LDEwICs4NzUsMTAgQEAKIC5wcmV2aW91cwogRU5EKG5hdGl2ZV9pcmV0KQogCi1FTlRSWShuYXRpdmVfaXJxX2VuYWJsZV9zeXNjYWxsX3JldCkKK0VOVFJZKG5hdGl2ZV9pcnFfZW5hYmxlX3N5c2V4aXQpCiAJc3RpCiAJc3lzZXhpdAotRU5EKG5hdGl2ZV9pcnFfZW5hYmxlX3N5c2NhbGxfcmV0KQorRU5EKG5hdGl2ZV9pcnFfZW5hYmxlX3N5c2V4aXQpCiAjZW5kaWYKIAogS1BST0JFX0VOVFJZKGludDMpCkBAIC0xMDI0LDYgKzEwMjUsNyBAQAogCVJJTkcwX0lOVF9GUkFNRQogCWFkZGwgJDUqNCwgJWVzcAkJLyogcmVtb3ZlIHhlbi1wcm92aWRlZCBmcmFtZSAqLwogCWptcCBzeXNlbnRlcl9wYXN0X2VzcAorCUNGSV9FTkRQUk9DCiAKIEVOVFJZKHhlbl9oeXBlcnZpc29yX2NhbGxiYWNrKQogCUNGSV9TVEFSVFBST0MKQEAgLTExMTAsNiArMTExMiw3NyBAQAogCiAjZW5kaWYJLyogQ09ORklHX1hFTiAqLwogCisjaWZkZWYgQ09ORklHX0ZUUkFDRQorI2lmZGVmIENPTkZJR19EWU5BTUlDX0ZUUkFDRQorCitFTlRSWShtY291bnQpCisJcHVzaGwgJWVheAorCXB1c2hsICVlY3gKKwlwdXNobCAlZWR4CisJbW92bCAweGMoJWVzcCksICVlYXgKKwlzdWJsICRNQ09VTlRfSU5TTl9TSVpFLCAlZWF4CisKKy5nbG9ibCBtY291bnRfY2FsbAorbWNvdW50X2NhbGw6CisJY2FsbCBmdHJhY2Vfc3R1YgorCisJcG9wbCAlZWR4CisJcG9wbCAlZWN4CisJcG9wbCAlZWF4CisKKwlyZXQKK0VORChtY291bnQpCisKK0VOVFJZKGZ0cmFjZV9jYWxsZXIpCisJcHVzaGwgJWVheAorCXB1c2hsICVlY3gKKwlwdXNobCAlZWR4CisJbW92bCAweGMoJWVzcCksICVlYXgKKwltb3ZsIDB4NCglZWJwKSwgJWVkeAorCXN1YmwgJE1DT1VOVF9JTlNOX1NJWkUsICVlYXgKKworLmdsb2JsIGZ0cmFjZV9jYWxsCitmdHJhY2VfY2FsbDoKKwljYWxsIGZ0cmFjZV9zdHViCisKKwlwb3BsICVlZHgKKwlwb3BsICVlY3gKKwlwb3BsICVlYXgKKworLmdsb2JsIGZ0cmFjZV9zdHViCitmdHJhY2Vfc3R1YjoKKwlyZXQKK0VORChmdHJhY2VfY2FsbGVyKQorCisjZWxzZSAvKiAhIENPTkZJR19EWU5BTUlDX0ZUUkFDRSAqLworCitFTlRSWShtY291bnQpCisJY21wbCAkZnRyYWNlX3N0dWIsIGZ0cmFjZV90cmFjZV9mdW5jdGlvbgorCWpueiB0cmFjZQorLmdsb2JsIGZ0cmFjZV9zdHViCitmdHJhY2Vfc3R1YjoKKwlyZXQKKworCS8qIHRha2VuIGZyb20gZ2xpYmMgKi8KK3RyYWNlOgorCXB1c2hsICVlYXgKKwlwdXNobCAlZWN4CisJcHVzaGwgJWVkeAorCW1vdmwgMHhjKCVlc3ApLCAlZWF4CisJbW92bCAweDQoJWVicCksICVlZHgKKwlzdWJsICRNQ09VTlRfSU5TTl9TSVpFLCAlZWF4CisKKwljYWxsICpmdHJhY2VfdHJhY2VfZnVuY3Rpb24KKworCXBvcGwgJWVkeAorCXBvcGwgJWVjeAorCXBvcGwgJWVheAorCisJam1wIGZ0cmFjZV9zdHViCitFTkQobWNvdW50KQorI2VuZGlmIC8qIENPTkZJR19EWU5BTUlDX0ZUUkFDRSAqLworI2VuZGlmIC8qIENPTkZJR19GVFJBQ0UgKi8KKwogLnNlY3Rpb24gLnJvZGF0YSwiYSIKICNpbmNsdWRlICJzeXNjYWxsX3RhYmxlXzMyLlMiCiAKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9lbnRyeV82NC5TIGIvYXJjaC94ODYva2VybmVsL2VudHJ5XzY0LlMKaW5kZXggNTU2YThkZi4uYWU2M2U1OCAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2VudHJ5XzY0LlMKKysrIGIvYXJjaC94ODYva2VybmVsL2VudHJ5XzY0LlMKQEAgLTUxLDE2ICs1MSwxMjEgQEAKICNpbmNsdWRlIDxhc20vcGFnZS5oPgogI2luY2x1ZGUgPGFzbS9pcnFmbGFncy5oPgogI2luY2x1ZGUgPGFzbS9wYXJhdmlydC5oPgorI2luY2x1ZGUgPGFzbS9mdHJhY2UuaD4KIAogCS5jb2RlNjQKIAorI2lmZGVmIENPTkZJR19GVFJBQ0UKKyNpZmRlZiBDT05GSUdfRFlOQU1JQ19GVFJBQ0UKK0VOVFJZKG1jb3VudCkKKworCXN1YnEgJDB4MzgsICVyc3AKKwltb3ZxICVyYXgsICglcnNwKQorCW1vdnEgJXJjeCwgOCglcnNwKQorCW1vdnEgJXJkeCwgMTYoJXJzcCkKKwltb3ZxICVyc2ksIDI0KCVyc3ApCisJbW92cSAlcmRpLCAzMiglcnNwKQorCW1vdnEgJXI4LCA0MCglcnNwKQorCW1vdnEgJXI5LCA0OCglcnNwKQorCisJbW92cSAweDM4KCVyc3ApLCAlcmRpCisJc3VicSAkTUNPVU5UX0lOU05fU0laRSwgJXJkaQorCisuZ2xvYmwgbWNvdW50X2NhbGwKK21jb3VudF9jYWxsOgorCWNhbGwgZnRyYWNlX3N0dWIKKworCW1vdnEgNDgoJXJzcCksICVyOQorCW1vdnEgNDAoJXJzcCksICVyOAorCW1vdnEgMzIoJXJzcCksICVyZGkKKwltb3ZxIDI0KCVyc3ApLCAlcnNpCisJbW92cSAxNiglcnNwKSwgJXJkeAorCW1vdnEgOCglcnNwKSwgJXJjeAorCW1vdnEgKCVyc3ApLCAlcmF4CisJYWRkcSAkMHgzOCwgJXJzcAorCisJcmV0cQorRU5EKG1jb3VudCkKKworRU5UUlkoZnRyYWNlX2NhbGxlcikKKworCS8qIHRha2VuIGZyb20gZ2xpYmMgKi8KKwlzdWJxICQweDM4LCAlcnNwCisJbW92cSAlcmF4LCAoJXJzcCkKKwltb3ZxICVyY3gsIDgoJXJzcCkKKwltb3ZxICVyZHgsIDE2KCVyc3ApCisJbW92cSAlcnNpLCAyNCglcnNwKQorCW1vdnEgJXJkaSwgMzIoJXJzcCkKKwltb3ZxICVyOCwgNDAoJXJzcCkKKwltb3ZxICVyOSwgNDgoJXJzcCkKKworCW1vdnEgMHgzOCglcnNwKSwgJXJkaQorCW1vdnEgOCglcmJwKSwgJXJzaQorCXN1YnEgJE1DT1VOVF9JTlNOX1NJWkUsICVyZGkKKworLmdsb2JsIGZ0cmFjZV9jYWxsCitmdHJhY2VfY2FsbDoKKwljYWxsIGZ0cmFjZV9zdHViCisKKwltb3ZxIDQ4KCVyc3ApLCAlcjkKKwltb3ZxIDQwKCVyc3ApLCAlcjgKKwltb3ZxIDMyKCVyc3ApLCAlcmRpCisJbW92cSAyNCglcnNwKSwgJXJzaQorCW1vdnEgMTYoJXJzcCksICVyZHgKKwltb3ZxIDgoJXJzcCksICVyY3gKKwltb3ZxICglcnNwKSwgJXJheAorCWFkZHEgJDB4MzgsICVyc3AKKworLmdsb2JsIGZ0cmFjZV9zdHViCitmdHJhY2Vfc3R1YjoKKwlyZXRxCitFTkQoZnRyYWNlX2NhbGxlcikKKworI2Vsc2UgLyogISBDT05GSUdfRFlOQU1JQ19GVFJBQ0UgKi8KK0VOVFJZKG1jb3VudCkKKwljbXBxICRmdHJhY2Vfc3R1YiwgZnRyYWNlX3RyYWNlX2Z1bmN0aW9uCisJam56IHRyYWNlCisuZ2xvYmwgZnRyYWNlX3N0dWIKK2Z0cmFjZV9zdHViOgorCXJldHEKKwordHJhY2U6CisJLyogdGFrZW4gZnJvbSBnbGliYyAqLworCXN1YnEgJDB4MzgsICVyc3AKKwltb3ZxICVyYXgsICglcnNwKQorCW1vdnEgJXJjeCwgOCglcnNwKQorCW1vdnEgJXJkeCwgMTYoJXJzcCkKKwltb3ZxICVyc2ksIDI0KCVyc3ApCisJbW92cSAlcmRpLCAzMiglcnNwKQorCW1vdnEgJXI4LCA0MCglcnNwKQorCW1vdnEgJXI5LCA0OCglcnNwKQorCisJbW92cSAweDM4KCVyc3ApLCAlcmRpCisJbW92cSA4KCVyYnApLCAlcnNpCisJc3VicSAkTUNPVU5UX0lOU05fU0laRSwgJXJkaQorCisJY2FsbCAgICpmdHJhY2VfdHJhY2VfZnVuY3Rpb24KKworCW1vdnEgNDgoJXJzcCksICVyOQorCW1vdnEgNDAoJXJzcCksICVyOAorCW1vdnEgMzIoJXJzcCksICVyZGkKKwltb3ZxIDI0KCVyc3ApLCAlcnNpCisJbW92cSAxNiglcnNwKSwgJXJkeAorCW1vdnEgOCglcnNwKSwgJXJjeAorCW1vdnEgKCVyc3ApLCAlcmF4CisJYWRkcSAkMHgzOCwgJXJzcAorCisJam1wIGZ0cmFjZV9zdHViCitFTkQobWNvdW50KQorI2VuZGlmIC8qIENPTkZJR19EWU5BTUlDX0ZUUkFDRSAqLworI2VuZGlmIC8qIENPTkZJR19GVFJBQ0UgKi8KKwogI2lmbmRlZiBDT05GSUdfUFJFRU1QVAogI2RlZmluZSByZXRpbnRfa2VybmVsIHJldGludF9yZXN0b3JlX2FyZ3MKICNlbmRpZgkKIAogI2lmZGVmIENPTkZJR19QQVJBVklSVAotRU5UUlkobmF0aXZlX2lycV9lbmFibGVfc3lzY2FsbF9yZXQpCi0JbW92cQklZ3M6cGRhX29sZHJzcCwlcnNwCitFTlRSWShuYXRpdmVfdXNlcmdzX3N5c3JldDY0KQogCXN3YXBncwogCXN5c3JldHEKICNlbmRpZiAvKiBDT05GSUdfUEFSQVZJUlQgKi8KQEAgLTEwNCw3ICsyMDksNyBAQAogCS5tYWNybyBGQUtFX1NUQUNLX0ZSQU1FIGNoaWxkX3JpcAogCS8qIHB1c2ggaW4gb3JkZXIgc3MsIHJzcCwgZWZsYWdzLCBjcywgcmlwICovCiAJeG9ybCAlZWF4LCAlZWF4Ci0JcHVzaHEgJXJheCAvKiBzcyAqLworCXB1c2hxICRfX0tFUk5FTF9EUyAvKiBzcyAqLwogCUNGSV9BREpVU1RfQ0ZBX09GRlNFVAk4CiAJLypDRklfUkVMX09GRlNFVAlzcywwKi8KIAlwdXNocSAlcmF4IC8qIHJzcCAqLwpAQCAtMTY5LDEzICsyNzQsMTMgQEAKIAlDRklfQURKVVNUX0NGQV9PRkZTRVQgLTQKIAljYWxsIHNjaGVkdWxlX3RhaWwKIAlHRVRfVEhSRUFEX0lORk8oJXJjeCkKLQl0ZXN0bCAkKF9USUZfU1lTQ0FMTF9UUkFDRXxfVElGX1NZU0NBTExfQVVESVQpLHRocmVhZGluZm9fZmxhZ3MoJXJjeCkKKwl0ZXN0bCAkKF9USUZfU1lTQ0FMTF9UUkFDRXxfVElGX1NZU0NBTExfQVVESVQpLFRJX2ZsYWdzKCVyY3gpCiAJam56IHJmZl90cmFjZQogcmZmX2FjdGlvbjoJCiAJUkVTVE9SRV9SRVNUCiAJdGVzdGwgJDMsQ1MtQVJHT0ZGU0VUKCVyc3ApCSMgZnJvbSBrZXJuZWxfdGhyZWFkPwogCWplICAgaW50X3JldF9mcm9tX3N5c19jYWxsCi0JdGVzdGwgJF9USUZfSUEzMix0aHJlYWRpbmZvX2ZsYWdzKCVyY3gpCisJdGVzdGwgJF9USUZfSUEzMixUSV9mbGFncyglcmN4KQogCWpueiAgaW50X3JldF9mcm9tX3N5c19jYWxsCiAJUkVTVE9SRV9UT1BfT0ZfU1RBQ0sgJXJkaSxBUkdPRkZTRVQKIAlqbXAgcmV0X2Zyb21fc3lzX2NhbGwKQEAgLTI0NCw3ICszNDksOCBAQAogCW1vdnEgICVyY3gsUklQLUFSR09GRlNFVCglcnNwKQogCUNGSV9SRUxfT0ZGU0VUIHJpcCxSSVAtQVJHT0ZGU0VUCiAJR0VUX1RIUkVBRF9JTkZPKCVyY3gpCi0JdGVzdGwgJChfVElGX1NZU0NBTExfVFJBQ0V8X1RJRl9TWVNDQUxMX0FVRElUfF9USUZfU0VDQ09NUCksdGhyZWFkaW5mb19mbGFncyglcmN4KQorCXRlc3RsICQoX1RJRl9TWVNDQUxMX1RSQUNFfF9USUZfU1lTQ0FMTF9BVURJVHxfVElGX1NFQ0NPTVApLCBcCisJCVRJX2ZsYWdzKCVyY3gpCiAJam56IHRyYWNlc3lzCiAJY21wcSAkX19OUl9zeXNjYWxsX21heCwlcmF4CiAJamEgYmFkc3lzCkBAIC0yNjMsNyArMzY5LDcgQEAKIAlHRVRfVEhSRUFEX0lORk8oJXJjeCkKIAlESVNBQkxFX0lOVEVSUlVQVFMoQ0xCUl9OT05FKQogCVRSQUNFX0lSUVNfT0ZGCi0JbW92bCB0aHJlYWRpbmZvX2ZsYWdzKCVyY3gpLCVlZHgKKwltb3ZsIFRJX2ZsYWdzKCVyY3gpLCVlZHgKIAlhbmRsICVlZGksJWVkeAogCWpueiAgc3lzcmV0X2NhcmVmdWwgCiAJQ0ZJX1JFTUVNQkVSX1NUQVRFCkBAIC0yNzUsNyArMzgxLDggQEAKIAlDRklfUkVHSVNURVIJcmlwLHJjeAogCVJFU1RPUkVfQVJHUyAwLC1BUkdfU0tJUCwxCiAJLypDRklfUkVHSVNURVIJcmZsYWdzLHIxMSovCi0JRU5BQkxFX0lOVEVSUlVQVFNfU1lTQ0FMTF9SRVQKKwltb3ZxCSVnczpwZGFfb2xkcnNwLCAlcnNwCisJVVNFUkdTX1NZU1JFVDY0CiAKIAlDRklfUkVTVE9SRV9TVEFURQogCS8qIEhhbmRsZSByZXNjaGVkdWxlcyAqLwpAQCAtMzA1LDcgKzQxMiw3IEBACiAJbGVhcSAtQVJHT0ZGU0VUKCVyc3ApLCVyZGkgIyAmcHRfcmVncyAtPiBhcmcxCiAJeG9ybCAlZXNpLCVlc2kgIyBvbGRzZXQgLT4gYXJnMgogCWNhbGwgcHRyZWdzY2FsbF9jb21tb24KLTE6CW1vdmwgJF9USUZfTkVFRF9SRVNDSEVELCVlZGkKKzE6CW1vdmwgJF9USUZfV09SS19NQVNLLCVlZGkKIAkvKiBVc2UgSVJFVCBiZWNhdXNlIHVzZXIgY291bGQgaGF2ZSBjaGFuZ2VkIGZyYW1lLiBUaGlzCiAJICAgd29ya3MgYmVjYXVzZSBwdHJlZ3NjYWxsX2NvbW1vbiBoYXMgY2FsbGVkIEZJWFVQX1RPUF9PRl9TVEFDSy4gKi8KIAlESVNBQkxFX0lOVEVSUlVQVFMoQ0xCUl9OT05FKQpAQCAtMzQ3LDEwICs0NTQsMTAgQEAKIGludF93aXRoX2NoZWNrOgogCUxPQ0tERVBfU1lTX0VYSVRfSVJRCiAJR0VUX1RIUkVBRF9JTkZPKCVyY3gpCi0JbW92bCB0aHJlYWRpbmZvX2ZsYWdzKCVyY3gpLCVlZHgKKwltb3ZsIFRJX2ZsYWdzKCVyY3gpLCVlZHgKIAlhbmRsICVlZGksJWVkeAogCWpueiAgIGludF9jYXJlZnVsCi0JYW5kbCAgICAkflRTX0NPTVBBVCx0aHJlYWRpbmZvX3N0YXR1cyglcmN4KQorCWFuZGwgICAgJH5UU19DT01QQVQsVElfc3RhdHVzKCVyY3gpCiAJam1wICAgcmV0aW50X3N3YXBncwogCiAJLyogRWl0aGVyIHJlc2NoZWR1bGUgb3Igc2lnbmFsIG9yIHN5c2NhbGwgZXhpdCB0cmFja2luZyBuZWVkZWQuICovCkBAIC0zOTMsNyArNTAwLDcgQEAKIAltb3ZxICVyc3AsJXJkaQkJIyAmcHRyZWdzIC0+IGFyZzEKIAl4b3JsICVlc2ksJWVzaQkJIyBvbGRzZXQgLT4gYXJnMgogCWNhbGwgZG9fbm90aWZ5X3Jlc3VtZQotMToJbW92bCAkX1RJRl9ORUVEX1JFU0NIRUQsJWVkaQkKKzE6CW1vdmwgJF9USUZfV09SS19NQVNLLCVlZGkKIGludF9yZXN0b3JlX3Jlc3Q6CiAJUkVTVE9SRV9SRVNUCiAJRElTQUJMRV9JTlRFUlJVUFRTKENMQlJfTk9ORSkKQEAgLTQyMCw3ICs1MjcsNiBAQAogCVBUUkVHU0NBTEwgc3R1Yl9jbG9uZSwgc3lzX2Nsb25lLCAlcjgKIAlQVFJFR1NDQUxMIHN0dWJfZm9yaywgc3lzX2ZvcmssICVyZGkKIAlQVFJFR1NDQUxMIHN0dWJfdmZvcmssIHN5c192Zm9yaywgJXJkaQotCVBUUkVHU0NBTEwgc3R1Yl9ydF9zaWdzdXNwZW5kLCBzeXNfcnRfc2lnc3VzcGVuZCwgJXJkeAogCVBUUkVHU0NBTEwgc3R1Yl9zaWdhbHRzdGFjaywgc3lzX3NpZ2FsdHN0YWNrLCAlcmR4CiAJUFRSRUdTQ0FMTCBzdHViX2lvcGwsIHN5c19pb3BsLCAlcnNpCiAKQEAgLTU1OSw3ICs2NjUsNyBAQAogCW1vdmwgJF9USUZfV09SS19NQVNLLCVlZGkKIHJldGludF9jaGVjazoKIAlMT0NLREVQX1NZU19FWElUX0lSUQotCW1vdmwgdGhyZWFkaW5mb19mbGFncyglcmN4KSwlZWR4CisJbW92bCBUSV9mbGFncyglcmN4KSwlZWR4CiAJYW5kbCAlZWRpLCVlZHgKIAlDRklfUkVNRU1CRVJfU1RBVEUKIAlqbnogIHJldGludF9jYXJlZnVsCkBAIC02NDcsMTcgKzc1MywxNiBAQAogCVJFU1RPUkVfUkVTVAogCURJU0FCTEVfSU5URVJSVVBUUyhDTEJSX05PTkUpCiAJVFJBQ0VfSVJRU19PRkYKLQltb3ZsICRfVElGX05FRURfUkVTQ0hFRCwlZWRpCiAJR0VUX1RIUkVBRF9JTkZPKCVyY3gpCi0Jam1wIHJldGludF9jaGVjaworCWptcCByZXRpbnRfd2l0aF9yZXNjaGVkdWxlCiAKICNpZmRlZiBDT05GSUdfUFJFRU1QVAogCS8qIFJldHVybmluZyB0byBrZXJuZWwgc3BhY2UuIENoZWNrIGlmIHdlIG5lZWQgcHJlZW1wdGlvbiAqLwogCS8qIHJjeDoJIHRocmVhZGluZm8uIGludGVycnVwdHMgb2ZmLiAqLwogRU5UUlkocmV0aW50X2tlcm5lbCkKLQljbXBsICQwLHRocmVhZGluZm9fcHJlZW1wdF9jb3VudCglcmN4KQorCWNtcGwgJDAsVElfcHJlZW1wdF9jb3VudCglcmN4KQogCWpueiAgcmV0aW50X3Jlc3RvcmVfYXJncwotCWJ0ICAkVElGX05FRURfUkVTQ0hFRCx0aHJlYWRpbmZvX2ZsYWdzKCVyY3gpCisJYnQgICRUSUZfTkVFRF9SRVNDSEVELFRJX2ZsYWdzKCVyY3gpCiAJam5jICByZXRpbnRfcmVzdG9yZV9hcmdzCiAJYnQgICAkOSxFRkxBR1MtQVJHT0ZGU0VUKCVyc3ApCS8qIGludGVycnVwdHMgb2ZmPyAqLwogCWpuYyAgcmV0aW50X3Jlc3RvcmVfYXJncwpAQCAtNzExLDYgKzgxNiw5IEBACiBFTlRSWShjYWxsX2Z1bmN0aW9uX2ludGVycnVwdCkKIAlhcGljaW50ZXJydXB0IENBTExfRlVOQ1RJT05fVkVDVE9SLHNtcF9jYWxsX2Z1bmN0aW9uX2ludGVycnVwdAogRU5EKGNhbGxfZnVuY3Rpb25faW50ZXJydXB0KQorRU5UUlkoY2FsbF9mdW5jdGlvbl9zaW5nbGVfaW50ZXJydXB0KQorCWFwaWNpbnRlcnJ1cHQgQ0FMTF9GVU5DVElPTl9TSU5HTEVfVkVDVE9SLHNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZV9pbnRlcnJ1cHQKK0VORChjYWxsX2Z1bmN0aW9uX3NpbmdsZV9pbnRlcnJ1cHQpCiBFTlRSWShpcnFfbW92ZV9jbGVhbnVwX2ludGVycnVwdCkKIAlhcGljaW50ZXJydXB0IElSUV9NT1ZFX0NMRUFOVVBfVkVDVE9SLHNtcF9pcnFfbW92ZV9jbGVhbnVwX2ludGVycnVwdAogRU5EKGlycV9tb3ZlX2NsZWFudXBfaW50ZXJydXB0KQpAQCAtNzIwLDYgKzgyOCwxMCBAQAogCWFwaWNpbnRlcnJ1cHQgTE9DQUxfVElNRVJfVkVDVE9SLHNtcF9hcGljX3RpbWVyX2ludGVycnVwdAogRU5EKGFwaWNfdGltZXJfaW50ZXJydXB0KQogCitFTlRSWSh1dl9iYXVfbWVzc2FnZV9pbnRyMSkKKwlhcGljaW50ZXJydXB0IDIyMCx1dl9iYXVfbWVzc2FnZV9pbnRlcnJ1cHQKK0VORCh1dl9iYXVfbWVzc2FnZV9pbnRyMSkKKwogRU5UUlkoZXJyb3JfaW50ZXJydXB0KQogCWFwaWNpbnRlcnJ1cHQgRVJST1JfQVBJQ19WRUNUT1Isc21wX2Vycm9yX2ludGVycnVwdAogRU5EKGVycm9yX2ludGVycnVwdCkKQEAgLTczMyw2ICs4NDUsNyBAQAogICovIAkJCiAJLm1hY3JvIHplcm9lbnRyeSBzeW0KIAlJTlRSX0ZSQU1FCisJUEFSQVZJUlRfQURKVVNUX0VYQ0VQVElPTl9GUkFNRQogCXB1c2hxICQwCS8qIHB1c2ggZXJyb3IgY29kZS9vbGRyYXggKi8gCiAJQ0ZJX0FESlVTVF9DRkFfT0ZGU0VUIDgKIAlwdXNocSAlcmF4CS8qIHB1c2ggcmVhbCBvbGRyYXggdG8gdGhlIHJkaSBzbG90ICovIApAQCAtNzQ1LDYgKzg1OCw3IEBACiAKIAkubWFjcm8gZXJyb3JlbnRyeSBzeW0KIAlYQ1BUX0ZSQU1FCisJUEFSQVZJUlRfQURKVVNUX0VYQ0VQVElPTl9GUkFNRQogCXB1c2hxICVyYXgKIAlDRklfQURKVVNUX0NGQV9PRkZTRVQgOAogCUNGSV9SRUxfT0ZGU0VUIHJheCwwCkBAIC04MTQsNyArOTI4LDcgQEAKIAlqbXAgaXJxX3JldHVybgogcGFyYW5vaWRfdXNlcnNwYWNlXHRyYWNlOgogCUdFVF9USFJFQURfSU5GTyglcmN4KQotCW1vdmwgdGhyZWFkaW5mb19mbGFncyglcmN4KSwlZWJ4CisJbW92bCBUSV9mbGFncyglcmN4KSwlZWJ4CiAJYW5kbCAkX1RJRl9XT1JLX01BU0ssJWVieAogCWp6IHBhcmFub2lkX3N3YXBnc1x0cmFjZQogCW1vdnEgJXJzcCwlcmRpCQkJLyogJnB0X3JlZ3MgKi8KQEAgLTkxMiw3ICsxMDI2LDcgQEAKIAl0ZXN0bCAlZWF4LCVlYXgKIAlqbmUgIHJldGludF9rZXJuZWwKIAlMT0NLREVQX1NZU19FWElUX0lSUQotCW1vdmwgIHRocmVhZGluZm9fZmxhZ3MoJXJjeCksJWVkeAorCW1vdmwgIFRJX2ZsYWdzKCVyY3gpLCVlZHgKIAltb3ZsICAkX1RJRl9XT1JLX01BU0ssJWVkaQogCWFuZGwgICVlZGksJWVkeAogCWpueiAgcmV0aW50X2NhcmVmdWwKQEAgLTkyNiwxMSArMTA0MCwxMSBAQAogCSAgIGlyZXQgcnVuIHdpdGgga2VybmVsIGdzIGFnYWluLCBzbyBkb24ndCBzZXQgdGhlIHVzZXIgc3BhY2UgZmxhZy4KIAkgICBCIHN0ZXBwaW5nIEs4cyBzb21ldGltZXMgcmVwb3J0IGFuIHRydW5jYXRlZCBSSVAgZm9yIElSRVQgCiAJICAgZXhjZXB0aW9ucyByZXR1cm5pbmcgdG8gY29tcGF0IG1vZGUuIENoZWNrIGZvciB0aGVzZSBoZXJlIHRvby4gKi8KLQlsZWFxIGlycV9yZXR1cm4oJXJpcCksJXJicAotCWNtcHEgJXJicCxSSVAoJXJzcCkgCisJbGVhcSBpcnFfcmV0dXJuKCVyaXApLCVyY3gKKwljbXBxICVyY3gsUklQKCVyc3ApCiAJamUgICBlcnJvcl9zd2FwZ3MKLQltb3ZsICVlYnAsJWVicAkvKiB6ZXJvIGV4dGVuZCAqLwotCWNtcHEgJXJicCxSSVAoJXJzcCkgCisJbW92bCAlZWN4LCVlY3gJLyogemVybyBleHRlbmQgKi8KKwljbXBxICVyY3gsUklQKCVyc3ApCiAJamUgICBlcnJvcl9zd2FwZ3MKIAljbXBxICRnc19jaGFuZ2UsUklQKCVyc3ApCiAgICAgICAgIGplICAgZXJyb3Jfc3dhcGdzCkBAIC05MzksNyArMTA1Myw3IEBACiAJCiAgICAgICAgLyogUmVsb2FkIGdzIHNlbGVjdG9yIHdpdGggZXhjZXB0aW9uIGhhbmRsaW5nICovCiAgICAgICAgLyogZWRpOiAgbmV3IHNlbGVjdG9yICovIAotRU5UUlkobG9hZF9nc19pbmRleCkKK0VOVFJZKG5hdGl2ZV9sb2FkX2dzX2luZGV4KQogCUNGSV9TVEFSVFBST0MKIAlwdXNoZgogCUNGSV9BREpVU1RfQ0ZBX09GRlNFVCA4CkBAIC05NTMsNyArMTA2Nyw3IEBACiAJQ0ZJX0FESlVTVF9DRkFfT0ZGU0VUIC04CiAgICAgICAgIHJldAogCUNGSV9FTkRQUk9DCi1FTkRQUk9DKGxvYWRfZ3NfaW5kZXgpCitFTkRQUk9DKG5hdGl2ZV9sb2FkX2dzX2luZGV4KQogICAgICAgIAogICAgICAgICAuc2VjdGlvbiBfX2V4X3RhYmxlLCJhIgogICAgICAgICAuYWxpZ24gOApAQCAtMTEyMCwxMCArMTIzNCw2IEBACiAJemVyb2VudHJ5IGRvX2NvcHJvY2Vzc29yX3NlZ21lbnRfb3ZlcnJ1bgogRU5EKGNvcHJvY2Vzc29yX3NlZ21lbnRfb3ZlcnJ1bikKIAotRU5UUlkocmVzZXJ2ZWQpCi0JemVyb2VudHJ5IGRvX3Jlc2VydmVkCi1FTkQocmVzZXJ2ZWQpCi0KIAkvKiBydW5zIG9uIGV4Y2VwdGlvbiBzdGFjayAqLwogRU5UUlkoZG91YmxlX2ZhdWx0KQogCVhDUFRfRlJBTUUKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9mdHJhY2UuYyBiL2FyY2gveDg2L2tlcm5lbC9mdHJhY2UuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYjExNWNkCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC94ODYva2VybmVsL2Z0cmFjZS5jCkBAIC0wLDAgKzEsMTQxIEBACisvKgorICogQ29kZSBmb3IgcmVwbGFjaW5nIGZ0cmFjZSBjYWxscyB3aXRoIGp1bXBzLgorICoKKyAqIENvcHlyaWdodCAoQykgMjAwNy0yMDA4IFN0ZXZlbiBSb3N0ZWR0IDxzcm9zdGVkdEByZWRoYXQuY29tPgorICoKKyAqIFRoYW5rcyBnb2VzIHRvIEluZ28gTW9sbmFyLCBmb3Igc3VnZ2VzdGluZyB0aGUgaWRlYS4KKyAqIE1hdGhpZXUgRGVzbm95ZXJzLCBmb3Igc3VnZ2VzdGluZyBwb3N0cG9uaW5nIHRoZSBtb2RpZmljYXRpb25zLgorICogQXJqYW4gdmFuIGRlIFZlbiwgZm9yIGtlZXBpbmcgbWUgc3RyYWlnaHQsIGFuZCBleHBsYWluaW5nIHRvIG1lCisgKiB0aGUgZGFuZ2VycyBvZiBtb2RpZnlpbmcgY29kZSBvbiB0aGUgcnVuLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgorI2luY2x1ZGUgPGxpbnV4L2hhcmRpcnEuaD4KKyNpbmNsdWRlIDxsaW51eC9mdHJhY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9wZXJjcHUuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvbGlzdC5oPgorCisjaW5jbHVkZSA8YXNtL2FsdGVybmF0aXZlLmg+CisjaW5jbHVkZSA8YXNtL2Z0cmFjZS5oPgorCisKKy8qIExvbmcgaXMgZmluZSwgZXZlbiBpZiBpdCBpcyBvbmx5IDQgYnl0ZXMgOy0pICovCitzdGF0aWMgbG9uZyAqZnRyYWNlX25vcDsKKwordW5pb24gZnRyYWNlX2NvZGVfdW5pb24geworCWNoYXIgY29kZVtNQ09VTlRfSU5TTl9TSVpFXTsKKwlzdHJ1Y3QgeworCQljaGFyIGU4OworCQlpbnQgb2Zmc2V0OworCX0gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7Cit9OworCisKK3N0YXRpYyBpbnQgbm90cmFjZSBmdHJhY2VfY2FsY19vZmZzZXQobG9uZyBpcCwgbG9uZyBhZGRyKQoreworCXJldHVybiAoaW50KShhZGRyIC0gaXApOworfQorCitub3RyYWNlIHVuc2lnbmVkIGNoYXIgKmZ0cmFjZV9ub3BfcmVwbGFjZSh2b2lkKQoreworCXJldHVybiAoY2hhciAqKWZ0cmFjZV9ub3A7Cit9CisKK25vdHJhY2UgdW5zaWduZWQgY2hhciAqZnRyYWNlX2NhbGxfcmVwbGFjZSh1bnNpZ25lZCBsb25nIGlwLCB1bnNpZ25lZCBsb25nIGFkZHIpCit7CisJc3RhdGljIHVuaW9uIGZ0cmFjZV9jb2RlX3VuaW9uIGNhbGM7CisKKwljYWxjLmU4CQk9IDB4ZTg7CisJY2FsYy5vZmZzZXQJPSBmdHJhY2VfY2FsY19vZmZzZXQoaXAgKyBNQ09VTlRfSU5TTl9TSVpFLCBhZGRyKTsKKworCS8qCisJICogTm8gbG9ja2luZyBuZWVkZWQsIHRoaXMgbXVzdCBiZSBjYWxsZWQgdmlhIGtzdG9wX21hY2hpbmUKKwkgKiB3aGljaCBpbiBlc3NlbmNlIGlzIGxpa2UgcnVubmluZyBvbiBhIHVuaXByb2Nlc3NvciBtYWNoaW5lLgorCSAqLworCXJldHVybiBjYWxjLmNvZGU7Cit9CisKK25vdHJhY2UgaW50CitmdHJhY2VfbW9kaWZ5X2NvZGUodW5zaWduZWQgbG9uZyBpcCwgdW5zaWduZWQgY2hhciAqb2xkX2NvZGUsCisJCSAgIHVuc2lnbmVkIGNoYXIgKm5ld19jb2RlKQoreworCXVuc2lnbmVkIHJlcGxhY2VkOworCXVuc2lnbmVkIG9sZCA9ICoodW5zaWduZWQgKilvbGRfY29kZTsgLyogNCBieXRlcyAqLworCXVuc2lnbmVkIG5ldyA9ICoodW5zaWduZWQgKiluZXdfY29kZTsgLyogNCBieXRlcyAqLworCXVuc2lnbmVkIGNoYXIgbmV3Y2ggPSBuZXdfY29kZVs0XTsKKwlpbnQgZmF1bHRlZCA9IDA7CisKKwkvKgorCSAqIE5vdGU6IER1ZSB0byBtb2R1bGVzIGFuZCBfX2luaXQsIGNvZGUgY2FuCisJICogIGRpc2FwcGVhciBhbmQgY2hhbmdlLCB3ZSBuZWVkIHRvIHByb3RlY3QgYWdhaW5zdCBmYXVsdGluZworCSAqICBhcyB3ZWxsIGFzIGNvZGUgY2hhbmdpbmcuCisJICoKKwkgKiBObyByZWFsIGxvY2tpbmcgbmVlZGVkLCB0aGlzIGNvZGUgaXMgcnVuIHRocm91Z2gKKwkgKiBrc3RvcF9tYWNoaW5lLgorCSAqLworCWFzbSB2b2xhdGlsZSAoCisJCSIxOiBsb2NrXG4iCisJCSIgICBjbXB4Y2hnICUzLCAoJTIpXG4iCisJCSIgICBqbnogMmZcbiIKKwkJIiAgIG1vdmIgJWI0LCA0KCUyKVxuIgorCQkiMjpcbiIKKwkJIi5zZWN0aW9uIC5maXh1cCwgXCJheFwiXG4iCisJCSIzOgltb3ZsICQxLCAlMFxuIgorCQkiCWptcCAyYlxuIgorCQkiLnByZXZpb3VzXG4iCisJCV9BU01fRVhUQUJMRSgxYiwgM2IpCisJCTogIj1yIihmYXVsdGVkKSwgIj1hIihyZXBsYWNlZCkKKwkJOiAiciIoaXApLCAiciIobmV3KSwgImMiKG5ld2NoKSwKKwkJICAiMCIoZmF1bHRlZCksICJhIihvbGQpCisJCTogIm1lbW9yeSIpOworCXN5bmNfY29yZSgpOworCisJaWYgKHJlcGxhY2VkICE9IG9sZCAmJiByZXBsYWNlZCAhPSBuZXcpCisJCWZhdWx0ZWQgPSAyOworCisJcmV0dXJuIGZhdWx0ZWQ7Cit9CisKK25vdHJhY2UgaW50IGZ0cmFjZV91cGRhdGVfZnRyYWNlX2Z1bmMoZnRyYWNlX2Z1bmNfdCBmdW5jKQoreworCXVuc2lnbmVkIGxvbmcgaXAgPSAodW5zaWduZWQgbG9uZykoJmZ0cmFjZV9jYWxsKTsKKwl1bnNpZ25lZCBjaGFyIG9sZFtNQ09VTlRfSU5TTl9TSVpFXSwgKm5ldzsKKwlpbnQgcmV0OworCisJbWVtY3B5KG9sZCwgJmZ0cmFjZV9jYWxsLCBNQ09VTlRfSU5TTl9TSVpFKTsKKwluZXcgPSBmdHJhY2VfY2FsbF9yZXBsYWNlKGlwLCAodW5zaWduZWQgbG9uZylmdW5jKTsKKwlyZXQgPSBmdHJhY2VfbW9kaWZ5X2NvZGUoaXAsIG9sZCwgbmV3KTsKKworCXJldHVybiByZXQ7Cit9CisKK25vdHJhY2UgaW50IGZ0cmFjZV9tY291bnRfc2V0KHVuc2lnbmVkIGxvbmcgKmRhdGEpCit7CisJdW5zaWduZWQgbG9uZyBpcCA9IChsb25nKSgmbWNvdW50X2NhbGwpOworCXVuc2lnbmVkIGxvbmcgKmFkZHIgPSBkYXRhOworCXVuc2lnbmVkIGNoYXIgb2xkW01DT1VOVF9JTlNOX1NJWkVdLCAqbmV3OworCisJLyoKKwkgKiBSZXBsYWNlIHRoZSBtY291bnQgc3R1YiB3aXRoIGEgcG9pbnRlciB0byB0aGUKKwkgKiBpcCByZWNvcmRlciBmdW5jdGlvbi4KKwkgKi8KKwltZW1jcHkob2xkLCAmbWNvdW50X2NhbGwsIE1DT1VOVF9JTlNOX1NJWkUpOworCW5ldyA9IGZ0cmFjZV9jYWxsX3JlcGxhY2UoaXAsICphZGRyKTsKKwkqYWRkciA9IGZ0cmFjZV9tb2RpZnlfY29kZShpcCwgb2xkLCBuZXcpOworCisJcmV0dXJuIDA7Cit9CisKK2ludCBfX2luaXQgZnRyYWNlX2R5bl9hcmNoX2luaXQodm9pZCAqZGF0YSkKK3sKKwljb25zdCB1bnNpZ25lZCBjaGFyICpjb25zdCAqbm9wdGFibGUgPSBmaW5kX25vcF90YWJsZSgpOworCisJLyogVGhpcyBpcyBydW5uaW5nIGluIGtzdG9wX21hY2hpbmUgKi8KKworCWZ0cmFjZV9tY291bnRfc2V0KGRhdGEpOworCisJZnRyYWNlX25vcCA9ICh1bnNpZ25lZCBsb25nICopbm9wdGFibGVbTUNPVU5UX0lOU05fU0laRV07CisKKwlyZXR1cm4gMDsKK30KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9nZW5hcGljXzY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvZ2VuYXBpY182NC5jCmluZGV4IGNiYWFmNjkuLjFmYThiZTUgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9nZW5hcGljXzY0LmMKKysrIGIvYXJjaC94ODYva2VybmVsL2dlbmFwaWNfNjQuYwpAQCAtNTEsNyArNTEsNyBAQAogCWVsc2UKICNlbmRpZgogCi0JaWYgKG51bV9wb3NzaWJsZV9jcHVzKCkgPD0gOCkKKwlpZiAobWF4X3BoeXNpY2FsX2FwaWNpZCA8IDgpCiAJCWdlbmFwaWMgPSAmYXBpY19mbGF0OwogCWVsc2UKIAkJZ2VuYXBpYyA9ICZhcGljX3BoeXNmbGF0OwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2dlbngyYXBpY191dl94LmMgYi9hcmNoL3g4Ni9rZXJuZWwvZ2VueDJhcGljX3V2X3guYwppbmRleCBlYmYxMzkwLi43MTFmMTFjIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvZ2VueDJhcGljX3V2X3guYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvZ2VueDJhcGljX3V2X3guYwpAQCAtNSw5ICs1LDEwIEBACiAgKgogICogU0dJIFVWIEFQSUMgZnVuY3Rpb25zIChub3RlOiBub3QgYW4gSW50ZWwgY29tcGF0aWJsZSBBUElDKQogICoKLSAqIENvcHlyaWdodCAoQykgMjAwNyBTaWxpY29uIEdyYXBoaWNzLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDctMjAwOCBTaWxpY29uIEdyYXBoaWNzLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKi8KIAorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgogI2luY2x1ZGUgPGxpbnV4L3RocmVhZHMuaD4KICNpbmNsdWRlIDxsaW51eC9jcHVtYXNrLmg+CiAjaW5jbHVkZSA8bGludXgvc3RyaW5nLmg+CkBAIC0yMCw2ICsyMSw3IEBACiAjaW5jbHVkZSA8YXNtL3NtcC5oPgogI2luY2x1ZGUgPGFzbS9pcGkuaD4KICNpbmNsdWRlIDxhc20vZ2VuYXBpYy5oPgorI2luY2x1ZGUgPGFzbS9wZ3RhYmxlLmg+CiAjaW5jbHVkZSA8YXNtL3V2L3V2X21tcnMuaD4KICNpbmNsdWRlIDxhc20vdXYvdXZfaHViLmg+CiAKQEAgLTU1LDM3ICs1NywzNyBAQAogaW50IHV2X3dha2V1cF9zZWNvbmRhcnkoaW50IHBoeXNfYXBpY2lkLCB1bnNpZ25lZCBpbnQgc3RhcnRfcmlwKQogewogCXVuc2lnbmVkIGxvbmcgdmFsOwotCWludCBuYXNpZDsKKwlpbnQgcG5vZGU7CiAKLQluYXNpZCA9IHV2X2FwaWNpZF90b19uYXNpZChwaHlzX2FwaWNpZCk7CisJcG5vZGUgPSB1dl9hcGljaWRfdG9fcG5vZGUocGh5c19hcGljaWQpOwogCXZhbCA9ICgxVUwgPDwgVVZIX0lQSV9JTlRfU0VORF9TSEZUKSB8CiAJICAgIChwaHlzX2FwaWNpZCA8PCBVVkhfSVBJX0lOVF9BUElDX0lEX1NIRlQpIHwKIAkgICAgKCgobG9uZylzdGFydF9yaXAgPDwgVVZIX0lQSV9JTlRfVkVDVE9SX1NIRlQpID4+IDEyKSB8CiAJICAgIEFQSUNfRE1fSU5JVDsKLQl1dl93cml0ZV9nbG9iYWxfbW1yNjQobmFzaWQsIFVWSF9JUElfSU5ULCB2YWwpOworCXV2X3dyaXRlX2dsb2JhbF9tbXI2NChwbm9kZSwgVVZIX0lQSV9JTlQsIHZhbCk7CiAJbWRlbGF5KDEwKTsKIAogCXZhbCA9ICgxVUwgPDwgVVZIX0lQSV9JTlRfU0VORF9TSEZUKSB8CiAJICAgIChwaHlzX2FwaWNpZCA8PCBVVkhfSVBJX0lOVF9BUElDX0lEX1NIRlQpIHwKIAkgICAgKCgobG9uZylzdGFydF9yaXAgPDwgVVZIX0lQSV9JTlRfVkVDVE9SX1NIRlQpID4+IDEyKSB8CiAJICAgIEFQSUNfRE1fU1RBUlRVUDsKLQl1dl93cml0ZV9nbG9iYWxfbW1yNjQobmFzaWQsIFVWSF9JUElfSU5ULCB2YWwpOworCXV2X3dyaXRlX2dsb2JhbF9tbXI2NChwbm9kZSwgVVZIX0lQSV9JTlQsIHZhbCk7CiAJcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyB2b2lkIHV2X3NlbmRfSVBJX29uZShpbnQgY3B1LCBpbnQgdmVjdG9yKQogewogCXVuc2lnbmVkIGxvbmcgdmFsLCBhcGljaWQsIGxhcGljaWQ7Ci0JaW50IG5hc2lkOworCWludCBwbm9kZTsKIAogCWFwaWNpZCA9IHBlcl9jcHUoeDg2X2NwdV90b19hcGljaWQsIGNwdSk7IC8qIFpaWiAtIGNhY2hlIG5vZGUtbG9jYWwgPyAqLwogCWxhcGljaWQgPSBhcGljaWQgJiAweDNmOwkJLyogWlpaIG1hY3JvIG5lZWRlZCAqLwotCW5hc2lkID0gdXZfYXBpY2lkX3RvX25hc2lkKGFwaWNpZCk7CisJcG5vZGUgPSB1dl9hcGljaWRfdG9fcG5vZGUoYXBpY2lkKTsKIAl2YWwgPQogCSAgICAoMVVMIDw8IFVWSF9JUElfSU5UX1NFTkRfU0hGVCkgfCAobGFwaWNpZCA8PAogCQkJCQkgICAgICBVVkhfSVBJX0lOVF9BUElDX0lEX1NIRlQpIHwKIAkgICAgKHZlY3RvciA8PCBVVkhfSVBJX0lOVF9WRUNUT1JfU0hGVCk7Ci0JdXZfd3JpdGVfZ2xvYmFsX21tcjY0KG5hc2lkLCBVVkhfSVBJX0lOVCwgdmFsKTsKKwl1dl93cml0ZV9nbG9iYWxfbW1yNjQocG5vZGUsIFVWSF9JUElfSU5ULCB2YWwpOwogfQogCiBzdGF0aWMgdm9pZCB1dl9zZW5kX0lQSV9tYXNrKGNwdW1hc2tfdCBtYXNrLCBpbnQgdmVjdG9yKQpAQCAtMTU5LDM5ICsxNjEsMTQ2IEBACiAJLnBoeXNfcGtnX2lkID0gcGh5c19wa2dfaWQsCS8qIEZpeG1lIFpaWiAqLwogfTsKIAotc3RhdGljIF9fY3B1aW5pdCB2b2lkIHNldF94MmFwaWNfZXh0cmFfYml0cyhpbnQgbmFzaWQpCitzdGF0aWMgX19jcHVpbml0IHZvaWQgc2V0X3gyYXBpY19leHRyYV9iaXRzKGludCBwbm9kZSkKIHsKLQlfX2dldF9jcHVfdmFyKHgyYXBpY19leHRyYV9iaXRzKSA9ICgobmFzaWQgPj4gMSkgPDwgNik7CisJX19nZXRfY3B1X3Zhcih4MmFwaWNfZXh0cmFfYml0cykgPSAocG5vZGUgPDwgNik7CiB9CiAKIC8qCiAgKiBDYWxsZWQgb24gYm9vdCBjcHUuCiAgKi8KK3N0YXRpYyBfX2luaXQgaW50IGJvb3RfcG5vZGVfdG9fYmxhZGUoaW50IHBub2RlKQoreworCWludCBibGFkZTsKKworCWZvciAoYmxhZGUgPSAwOyBibGFkZSA8IHV2X251bV9wb3NzaWJsZV9ibGFkZXMoKTsgYmxhZGUrKykKKwkJaWYgKHBub2RlID09IHV2X2JsYWRlX2luZm9bYmxhZGVdLnBub2RlKQorCQkJcmV0dXJuIGJsYWRlOworCUJVRygpOworfQorCitzdHJ1Y3QgcmVkaXJfYWRkciB7CisJdW5zaWduZWQgbG9uZyByZWRpcmVjdDsKKwl1bnNpZ25lZCBsb25nIGFsaWFzOworfTsKKworI2RlZmluZSBERVNUX1NISUZUIFVWSF9SSF9HQU1fQUxJQVMyMTBfUkVESVJFQ1RfQ09ORklHXzBfTU1SX0RFU1RfQkFTRV9TSEZUCisKK3N0YXRpYyBfX2luaXRkYXRhIHN0cnVjdCByZWRpcl9hZGRyIHJlZGlyX2FkZHJzW10gPSB7CisJe1VWSF9SSF9HQU1fQUxJQVMyMTBfUkVESVJFQ1RfQ09ORklHXzBfTU1SLCBVVkhfU0lfQUxJQVMwX09WRVJMQVlfQ09ORklHfSwKKwl7VVZIX1JIX0dBTV9BTElBUzIxMF9SRURJUkVDVF9DT05GSUdfMV9NTVIsIFVWSF9TSV9BTElBUzFfT1ZFUkxBWV9DT05GSUd9LAorCXtVVkhfUkhfR0FNX0FMSUFTMjEwX1JFRElSRUNUX0NPTkZJR18yX01NUiwgVVZIX1NJX0FMSUFTMl9PVkVSTEFZX0NPTkZJR30sCit9OworCitzdGF0aWMgX19pbml0IHZvaWQgZ2V0X2xvd21lbV9yZWRpcmVjdCh1bnNpZ25lZCBsb25nICpiYXNlLCB1bnNpZ25lZCBsb25nICpzaXplKQoreworCXVuaW9uIHV2aF9zaV9hbGlhczBfb3ZlcmxheV9jb25maWdfdSBhbGlhczsKKwl1bmlvbiB1dmhfcmhfZ2FtX2FsaWFzMjEwX3JlZGlyZWN0X2NvbmZpZ18yX21tcl91IHJlZGlyZWN0OworCWludCBpOworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUocmVkaXJfYWRkcnMpOyBpKyspIHsKKwkJYWxpYXMudiA9IHV2X3JlYWRfbG9jYWxfbW1yKHJlZGlyX2FkZHJzW2ldLmFsaWFzKTsKKwkJaWYgKGFsaWFzLnMuYmFzZSA9PSAwKSB7CisJCQkqc2l6ZSA9ICgxVUwgPDwgYWxpYXMucy5tX2FsaWFzKTsKKwkJCXJlZGlyZWN0LnYgPSB1dl9yZWFkX2xvY2FsX21tcihyZWRpcl9hZGRyc1tpXS5yZWRpcmVjdCk7CisJCQkqYmFzZSA9ICh1bnNpZ25lZCBsb25nKXJlZGlyZWN0LnMuZGVzdF9iYXNlIDw8IERFU1RfU0hJRlQ7CisJCQlyZXR1cm47CisJCX0KKwl9CisJQlVHKCk7Cit9CisKK3N0YXRpYyBfX2luaXQgdm9pZCBtYXBfbG93X21tcnModm9pZCkKK3sKKwlpbml0X2V4dHJhX21hcHBpbmdfdWMoVVZfR0xPQkFMX01NUjMyX0JBU0UsIFVWX0dMT0JBTF9NTVIzMl9TSVpFKTsKKwlpbml0X2V4dHJhX21hcHBpbmdfdWMoVVZfTE9DQUxfTU1SX0JBU0UsIFVWX0xPQ0FMX01NUl9TSVpFKTsKK30KKworZW51bSBtYXBfdHlwZSB7bWFwX3diLCBtYXBfdWN9OworCitzdGF0aWMgdm9pZCBtYXBfaGlnaChjaGFyICppZCwgdW5zaWduZWQgbG9uZyBiYXNlLCBpbnQgc2hpZnQsIGVudW0gbWFwX3R5cGUgbWFwX3R5cGUpCit7CisJdW5zaWduZWQgbG9uZyBieXRlcywgcGFkZHI7CisKKwlwYWRkciA9IGJhc2UgPDwgc2hpZnQ7CisJYnl0ZXMgPSAoMVVMIDw8IHNoaWZ0KTsKKwlwcmludGsoS0VSTl9JTkZPICJVVjogTWFwICVzX0hJIDB4JWx4IC0gMHglbHhcbiIsIGlkLCBwYWRkciwKKwkgICAgICAgCQkJCQlwYWRkciArIGJ5dGVzKTsKKwlpZiAobWFwX3R5cGUgPT0gbWFwX3VjKQorCQlpbml0X2V4dHJhX21hcHBpbmdfdWMocGFkZHIsIGJ5dGVzKTsKKwllbHNlCisJCWluaXRfZXh0cmFfbWFwcGluZ193YihwYWRkciwgYnl0ZXMpOworCit9CitzdGF0aWMgX19pbml0IHZvaWQgbWFwX2dydV9oaWdoKGludCBtYXhfcG5vZGUpCit7CisJdW5pb24gdXZoX3JoX2dhbV9ncnVfb3ZlcmxheV9jb25maWdfbW1yX3UgZ3J1OworCWludCBzaGlmdCA9IFVWSF9SSF9HQU1fR1JVX09WRVJMQVlfQ09ORklHX01NUl9CQVNFX1NIRlQ7CisKKwlncnUudiA9IHV2X3JlYWRfbG9jYWxfbW1yKFVWSF9SSF9HQU1fR1JVX09WRVJMQVlfQ09ORklHX01NUik7CisJaWYgKGdydS5zLmVuYWJsZSkKKwkJbWFwX2hpZ2goIkdSVSIsIGdydS5zLmJhc2UsIHNoaWZ0LCBtYXBfd2IpOworfQorCitzdGF0aWMgX19pbml0IHZvaWQgbWFwX2NvbmZpZ19oaWdoKGludCBtYXhfcG5vZGUpCit7CisJdW5pb24gdXZoX3JoX2dhbV9jZmdfb3ZlcmxheV9jb25maWdfbW1yX3UgY2ZnOworCWludCBzaGlmdCA9IFVWSF9SSF9HQU1fQ0ZHX09WRVJMQVlfQ09ORklHX01NUl9CQVNFX1NIRlQ7CisKKwljZmcudiA9IHV2X3JlYWRfbG9jYWxfbW1yKFVWSF9SSF9HQU1fQ0ZHX09WRVJMQVlfQ09ORklHX01NUik7CisJaWYgKGNmZy5zLmVuYWJsZSkKKwkJbWFwX2hpZ2goIkNPTkZJRyIsIGNmZy5zLmJhc2UsIHNoaWZ0LCBtYXBfdWMpOworfQorCitzdGF0aWMgX19pbml0IHZvaWQgbWFwX21tcl9oaWdoKGludCBtYXhfcG5vZGUpCit7CisJdW5pb24gdXZoX3JoX2dhbV9tbXJfb3ZlcmxheV9jb25maWdfbW1yX3UgbW1yOworCWludCBzaGlmdCA9IFVWSF9SSF9HQU1fTU1SX09WRVJMQVlfQ09ORklHX01NUl9CQVNFX1NIRlQ7CisKKwltbXIudiA9IHV2X3JlYWRfbG9jYWxfbW1yKFVWSF9SSF9HQU1fTU1SX09WRVJMQVlfQ09ORklHX01NUik7CisJaWYgKG1tci5zLmVuYWJsZSkKKwkJbWFwX2hpZ2goIk1NUiIsIG1tci5zLmJhc2UsIHNoaWZ0LCBtYXBfdWMpOworfQorCitzdGF0aWMgX19pbml0IHZvaWQgbWFwX21taW9oX2hpZ2goaW50IG1heF9wbm9kZSkKK3sKKwl1bmlvbiB1dmhfcmhfZ2FtX21taW9oX292ZXJsYXlfY29uZmlnX21tcl91IG1taW9oOworCWludCBzaGlmdCA9IFVWSF9SSF9HQU1fTU1JT0hfT1ZFUkxBWV9DT05GSUdfTU1SX0JBU0VfU0hGVDsKKworCW1taW9oLnYgPSB1dl9yZWFkX2xvY2FsX21tcihVVkhfUkhfR0FNX01NSU9IX09WRVJMQVlfQ09ORklHX01NUik7CisJaWYgKG1taW9oLnMuZW5hYmxlKQorCQltYXBfaGlnaCgiTU1JT0giLCBtbWlvaC5zLmJhc2UsIHNoaWZ0LCBtYXBfdWMpOworfQorCiBzdGF0aWMgX19pbml0IHZvaWQgdXZfc3lzdGVtX2luaXQodm9pZCkKIHsKIAl1bmlvbiB1dmhfc2lfYWRkcl9tYXBfY29uZmlnX3UgbV9uX2NvbmZpZzsKLQlpbnQgYnl0ZXMsIG5pZCwgY3B1LCBsY3B1LCBuYXNpZCwgbGFzdF9uYXNpZCwgYmxhZGU7Ci0JdW5zaWduZWQgbG9uZyBtbXJfYmFzZTsKKwl1bmlvbiB1dmhfbm9kZV9pZF91IG5vZGVfaWQ7CisJdW5zaWduZWQgbG9uZyBnbm9kZV91cHBlciwgbG93bWVtX3JlZGlyX2Jhc2UsIGxvd21lbV9yZWRpcl9zaXplOworCWludCBieXRlcywgbmlkLCBjcHUsIGxjcHUsIHBub2RlLCBibGFkZSwgaSwgaiwgbV92YWwsIG5fdmFsOworCWludCBtYXhfcG5vZGUgPSAwOworCXVuc2lnbmVkIGxvbmcgbW1yX2Jhc2UsIHByZXNlbnQ7CisKKwltYXBfbG93X21tcnMoKTsKIAogCW1fbl9jb25maWcudiA9IHV2X3JlYWRfbG9jYWxfbW1yKFVWSF9TSV9BRERSX01BUF9DT05GSUcpOworCW1fdmFsID0gbV9uX2NvbmZpZy5zLm1fc2t0OworCW5fdmFsID0gbV9uX2NvbmZpZy5zLm5fc2t0OwogCW1tcl9iYXNlID0KIAkgICAgdXZfcmVhZF9sb2NhbF9tbXIoVVZIX1JIX0dBTV9NTVJfT1ZFUkxBWV9DT05GSUdfTU1SKSAmCiAJICAgIH5VVl9NTVJfRU5BQkxFOwogCXByaW50ayhLRVJOX0RFQlVHICJVVjogZ2xvYmFsIE1NUiBiYXNlIDB4JWx4XG4iLCBtbXJfYmFzZSk7CiAKLQlsYXN0X25hc2lkID0gLTE7Ci0JZm9yX2VhY2hfcG9zc2libGVfY3B1KGNwdSkgewotCQluaWQgPSBjcHVfdG9fbm9kZShjcHUpOwotCQluYXNpZCA9IHV2X2FwaWNpZF90b19uYXNpZChwZXJfY3B1KHg4Nl9jcHVfdG9fYXBpY2lkLCBjcHUpKTsKLQkJaWYgKG5hc2lkICE9IGxhc3RfbmFzaWQpCi0JCQl1dl9wb3NzaWJsZV9ibGFkZXMrKzsKLQkJbGFzdF9uYXNpZCA9IG5hc2lkOwotCX0KKwlmb3IoaSA9IDA7IGkgPCBVVkhfTk9ERV9QUkVTRU5UX1RBQkxFX0RFUFRIOyBpKyspCisJCXV2X3Bvc3NpYmxlX2JsYWRlcyArPQorCQkgIGh3ZWlnaHQ2NCh1dl9yZWFkX2xvY2FsX21tciggVVZIX05PREVfUFJFU0VOVF9UQUJMRSArIGkgKiA4KSk7CiAJcHJpbnRrKEtFUk5fREVCVUcgIlVWOiBGb3VuZCAlZCBibGFkZXNcbiIsIHV2X251bV9wb3NzaWJsZV9ibGFkZXMoKSk7CiAKIAlieXRlcyA9IHNpemVvZihzdHJ1Y3QgdXZfYmxhZGVfaW5mbykgKiB1dl9udW1fcG9zc2libGVfYmxhZGVzKCk7CiAJdXZfYmxhZGVfaW5mbyA9IGFsbG9jX2Jvb3RtZW1fcGFnZXMoYnl0ZXMpOwogCisJZ2V0X2xvd21lbV9yZWRpcmVjdCgmbG93bWVtX3JlZGlyX2Jhc2UsICZsb3dtZW1fcmVkaXJfc2l6ZSk7CisKIAlieXRlcyA9IHNpemVvZih1dl9ub2RlX3RvX2JsYWRlWzBdKSAqIG51bV9wb3NzaWJsZV9ub2RlcygpOwogCXV2X25vZGVfdG9fYmxhZGUgPSBhbGxvY19ib290bWVtX3BhZ2VzKGJ5dGVzKTsKIAltZW1zZXQodXZfbm9kZV90b19ibGFkZSwgMjU1LCBieXRlcyk7CkBAIC0yMDAsNDMgKzMwOSw2MiBAQAogCXV2X2NwdV90b19ibGFkZSA9IGFsbG9jX2Jvb3RtZW1fcGFnZXMoYnl0ZXMpOwogCW1lbXNldCh1dl9jcHVfdG9fYmxhZGUsIDI1NSwgYnl0ZXMpOwogCi0JbGFzdF9uYXNpZCA9IC0xOwotCWJsYWRlID0gLTE7Ci0JbGNwdSA9IC0xOwotCWZvcl9lYWNoX3Bvc3NpYmxlX2NwdShjcHUpIHsKLQkJbmlkID0gY3B1X3RvX25vZGUoY3B1KTsKLQkJbmFzaWQgPSB1dl9hcGljaWRfdG9fbmFzaWQocGVyX2NwdSh4ODZfY3B1X3RvX2FwaWNpZCwgY3B1KSk7Ci0JCWlmIChuYXNpZCAhPSBsYXN0X25hc2lkKSB7Ci0JCQlibGFkZSsrOwotCQkJbGNwdSA9IC0xOwotCQkJdXZfYmxhZGVfaW5mb1tibGFkZV0ubnJfcG9zaWJsZV9jcHVzID0gMDsKKwlibGFkZSA9IDA7CisJZm9yIChpID0gMDsgaSA8IFVWSF9OT0RFX1BSRVNFTlRfVEFCTEVfREVQVEg7IGkrKykgeworCQlwcmVzZW50ID0gdXZfcmVhZF9sb2NhbF9tbXIoVVZIX05PREVfUFJFU0VOVF9UQUJMRSArIGkgKiA4KTsKKwkJZm9yIChqID0gMDsgaiA8IDY0OyBqKyspIHsKKwkJCWlmICghdGVzdF9iaXQoaiwgJnByZXNlbnQpKQorCQkJCWNvbnRpbnVlOworCQkJdXZfYmxhZGVfaW5mb1tibGFkZV0ucG5vZGUgPSAoaSAqIDY0ICsgaik7CisJCQl1dl9ibGFkZV9pbmZvW2JsYWRlXS5ucl9wb3NzaWJsZV9jcHVzID0gMDsKIAkJCXV2X2JsYWRlX2luZm9bYmxhZGVdLm5yX29ubGluZV9jcHVzID0gMDsKKwkJCWJsYWRlKys7CiAJCX0KLQkJbGFzdF9uYXNpZCA9IG5hc2lkOwotCQlsY3B1Kys7CisJfQogCi0JCXV2X2NwdV9odWJfaW5mbyhjcHUpLT5tX3ZhbCA9IG1fbl9jb25maWcucy5tX3NrdDsKLQkJdXZfY3B1X2h1Yl9pbmZvKGNwdSktPm5fdmFsID0gbV9uX2NvbmZpZy5zLm5fc2t0OworCW5vZGVfaWQudiA9IHV2X3JlYWRfbG9jYWxfbW1yKFVWSF9OT0RFX0lEKTsKKwlnbm9kZV91cHBlciA9ICgoKHVuc2lnbmVkIGxvbmcpbm9kZV9pZC5zLm5vZGVfaWQpICYKKwkJICAgICAgIH4oKDEgPDwgbl92YWwpIC0gMSkpIDw8IG1fdmFsOworCisJZm9yX2VhY2hfcHJlc2VudF9jcHUoY3B1KSB7CisJCW5pZCA9IGNwdV90b19ub2RlKGNwdSk7CisJCXBub2RlID0gdXZfYXBpY2lkX3RvX3Bub2RlKHBlcl9jcHUoeDg2X2NwdV90b19hcGljaWQsIGNwdSkpOworCQlibGFkZSA9IGJvb3RfcG5vZGVfdG9fYmxhZGUocG5vZGUpOworCQlsY3B1ID0gdXZfYmxhZGVfaW5mb1tibGFkZV0ubnJfcG9zc2libGVfY3B1czsKKwkJdXZfYmxhZGVfaW5mb1tibGFkZV0ubnJfcG9zc2libGVfY3B1cysrOworCisJCXV2X2NwdV9odWJfaW5mbyhjcHUpLT5sb3dtZW1fcmVtYXBfYmFzZSA9IGxvd21lbV9yZWRpcl9iYXNlOworCQl1dl9jcHVfaHViX2luZm8oY3B1KS0+bG93bWVtX3JlbWFwX3RvcCA9CisJCQkJCWxvd21lbV9yZWRpcl9iYXNlICsgbG93bWVtX3JlZGlyX3NpemU7CisJCXV2X2NwdV9odWJfaW5mbyhjcHUpLT5tX3ZhbCA9IG1fdmFsOworCQl1dl9jcHVfaHViX2luZm8oY3B1KS0+bl92YWwgPSBtX3ZhbDsKIAkJdXZfY3B1X2h1Yl9pbmZvKGNwdSktPm51bWFfYmxhZGVfaWQgPSBibGFkZTsKIAkJdXZfY3B1X2h1Yl9pbmZvKGNwdSktPmJsYWRlX3Byb2Nlc3Nvcl9pZCA9IGxjcHU7Ci0JCXV2X2NwdV9odWJfaW5mbyhjcHUpLT5sb2NhbF9uYXNpZCA9IG5hc2lkOwotCQl1dl9jcHVfaHViX2luZm8oY3B1KS0+Z25vZGVfdXBwZXIgPQotCQkgICAgbmFzaWQgJiB+KCgxIDw8IHV2X2h1Yl9pbmZvLT5uX3ZhbCkgLSAxKTsKKwkJdXZfY3B1X2h1Yl9pbmZvKGNwdSktPnBub2RlID0gcG5vZGU7CisJCXV2X2NwdV9odWJfaW5mbyhjcHUpLT5wbm9kZV9tYXNrID0gKDEgPDwgbl92YWwpIC0gMTsKKwkJdXZfY3B1X2h1Yl9pbmZvKGNwdSktPmdwYV9tYXNrID0gKDEgPDwgKG1fdmFsICsgbl92YWwpKSAtIDE7CisJCXV2X2NwdV9odWJfaW5mbyhjcHUpLT5nbm9kZV91cHBlciA9IGdub2RlX3VwcGVyOwogCQl1dl9jcHVfaHViX2luZm8oY3B1KS0+Z2xvYmFsX21tcl9iYXNlID0gbW1yX2Jhc2U7CiAJCXV2X2NwdV9odWJfaW5mbyhjcHUpLT5jb2hlcmVuY3lfZG9tYWluX251bWJlciA9IDA7LyogWlpaICovCi0JCXV2X2JsYWRlX2luZm9bYmxhZGVdLm5hc2lkID0gbmFzaWQ7Ci0JCXV2X2JsYWRlX2luZm9bYmxhZGVdLm5yX3Bvc2libGVfY3B1cysrOwogCQl1dl9ub2RlX3RvX2JsYWRlW25pZF0gPSBibGFkZTsKIAkJdXZfY3B1X3RvX2JsYWRlW2NwdV0gPSBibGFkZTsKKwkJbWF4X3Bub2RlID0gbWF4KHBub2RlLCBtYXhfcG5vZGUpOwogCi0JCXByaW50ayhLRVJOX0RFQlVHICJVViBjcHUgJWQsIGFwaWNpZCAweCV4LCBuYXNpZCAlZCwgbmlkICVkXG4iLAotCQkgICAgICAgY3B1LCBwZXJfY3B1KHg4Nl9jcHVfdG9fYXBpY2lkLCBjcHUpLCBuYXNpZCwgbmlkKTsKLQkJcHJpbnRrKEtFUk5fREVCVUcgIlVWICAgbGNwdSAlZCwgYmxhZGUgJWRcbiIsIGxjcHUsIGJsYWRlKTsKKwkJcHJpbnRrKEtFUk5fREVCVUcgIlVWOiBjcHUgJWQsIGFwaWNpZCAweCV4LCBwbm9kZSAlZCwgbmlkICVkLCAiCisJCQkibGNwdSAlZCwgYmxhZGUgJWRcbiIsCisJCQljcHUsIHBlcl9jcHUoeDg2X2NwdV90b19hcGljaWQsIGNwdSksIHBub2RlLCBuaWQsCisJCQlsY3B1LCBibGFkZSk7CiAJfQorCisJbWFwX2dydV9oaWdoKG1heF9wbm9kZSk7CisJbWFwX21tcl9oaWdoKG1heF9wbm9kZSk7CisJbWFwX2NvbmZpZ19oaWdoKG1heF9wbm9kZSk7CisJbWFwX21taW9oX2hpZ2gobWF4X3Bub2RlKTsKIH0KIAogLyoKICAqIENhbGxlZCBvbiBlYWNoIGNwdSB0byBpbml0aWFsaXplIHRoZSBwZXJfY3B1IFVWIGRhdGEgYXJlYS4KKyAqIAlaWlogaG90cGx1ZyBub3Qgc3VwcG9ydGVkIHlldAogICovCiB2b2lkIF9fY3B1aW5pdCB1dl9jcHVfaW5pdCh2b2lkKQogewpAQCAtMjQ2LDUgKzM3NCw1IEBACiAJdXZfYmxhZGVfaW5mb1t1dl9udW1hX2JsYWRlX2lkKCldLm5yX29ubGluZV9jcHVzKys7CiAKIAlpZiAoZ2V0X3V2X3N5c3RlbV90eXBlKCkgPT0gVVZfTk9OX1VOSVFVRV9BUElDKQotCQlzZXRfeDJhcGljX2V4dHJhX2JpdHModXZfaHViX2luZm8tPmxvY2FsX25hc2lkKTsKKwkJc2V0X3gyYXBpY19leHRyYV9iaXRzKHV2X2h1Yl9pbmZvLT5wbm9kZSk7CiB9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvaGVhZC5jIGIvYXJjaC94ODYva2VybmVsL2hlYWQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZTY2YmQzCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC94ODYva2VybmVsL2hlYWQuYwpAQCAtMCwwICsxLDU1IEBACisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorCisjaW5jbHVkZSA8YXNtL3NldHVwLmg+CisjaW5jbHVkZSA8YXNtL2Jpb3NfZWJkYS5oPgorCisjZGVmaW5lIEJJT1NfTE9XTUVNX0tJTE9CWVRFUyAweDQxMworCisvKgorICogVGhlIEJJT1MgcGxhY2VzIHRoZSBFQkRBL1hCREEgYXQgdGhlIHRvcCBvZiBjb252ZW50aW9uYWwKKyAqIG1lbW9yeSwgYW5kIHVzdWFsbHkgZGVjcmVhc2VzIHRoZSByZXBvcnRlZCBhbW91bnQgb2YKKyAqIGNvbnZlbnRpb25hbCBtZW1vcnkgKGludCAweDEyKSB0b28uIFRoaXMgYWxzbyBjb250YWlucyBhCisgKiB3b3JrYXJvdW5kIGZvciBEZWxsIHN5c3RlbXMgdGhhdCBuZWdsZWN0IHRvIHJlc2VydmUgRUJEQS4KKyAqIFRoZSBzYW1lIHdvcmthcm91bmQgYWxzbyBhdm9pZHMgYSBwcm9ibGVtIHdpdGggdGhlIEFNRDc2OE1QWAorICogY2hpcHNldDogcmVzZXJ2ZSBhIHBhZ2UgYmVmb3JlIFZHQSB0byBwcmV2ZW50IFBDSSBwcmVmZXRjaAorICogaW50byBpdCAoZXJyYXRhICM1NikuIFVzdWFsbHkgdGhlIHBhZ2UgaXMgcmVzZXJ2ZWQgYW55d2F5cywKKyAqIHVubGVzcyB5b3UgaGF2ZSBubyBQUy8yIG1vdXNlIHBsdWdnZWQgaW4uCisgKi8KK3ZvaWQgX19pbml0IHJlc2VydmVfZWJkYV9yZWdpb24odm9pZCkKK3sKKwl1bnNpZ25lZCBpbnQgbG93bWVtLCBlYmRhX2FkZHI7CisKKwkvKiBUbyBkZXRlcm1pbmUgdGhlIHBvc2l0aW9uIG9mIHRoZSBFQkRBIGFuZCB0aGUgKi8KKwkvKiBlbmQgb2YgY29udmVudGlvbmFsIG1lbW9yeSwgd2UgbmVlZCB0byBsb29rIGF0ICovCisJLyogdGhlIEJJT1MgZGF0YSBhcmVhLiBJbiBhIHBhcmF2aXJ0dWFsIGVudmlyb25tZW50ICovCisJLyogdGhhdCBhcmVhIGlzIGFic2VudC4gV2UnbGwganVzdCBoYXZlIHRvIGFzc3VtZSAqLworCS8qIHRoYXQgdGhlIHBhcmF2aXJ0IGNhc2UgY2FuIGhhbmRsZSBtZW1vcnkgc2V0dXAgKi8KKwkvKiBjb3JyZWN0bHksIHdpdGhvdXQgb3VyIGhlbHAuICovCisJaWYgKHBhcmF2aXJ0X2VuYWJsZWQoKSkKKwkJcmV0dXJuOworCisJLyogZW5kIG9mIGxvdyAoY29udmVudGlvbmFsKSBtZW1vcnkgKi8KKwlsb3dtZW0gPSAqKHVuc2lnbmVkIHNob3J0ICopX192YShCSU9TX0xPV01FTV9LSUxPQllURVMpOworCWxvd21lbSA8PD0gMTA7CisKKwkvKiBzdGFydCBvZiBFQkRBIGFyZWEgKi8KKwllYmRhX2FkZHIgPSBnZXRfYmlvc19lYmRhKCk7CisKKwkvKiBGaXh1cDogYmlvcyBwdXRzIGFuIEVCREEgaW4gdGhlIHRvcCA2NEsgc2VnbWVudCAqLworCS8qIG9mIGNvbnZlbnRpb25hbCBtZW1vcnksIGJ1dCBkb2VzIG5vdCBhZGp1c3QgbG93bWVtLiAqLworCWlmICgobG93bWVtIC0gZWJkYV9hZGRyKSA8PSAweDEwMDAwKQorCQlsb3dtZW0gPSBlYmRhX2FkZHI7CisKKwkvKiBGaXh1cDogYmlvcyBkb2VzIG5vdCByZXBvcnQgYW4gRUJEQSBhdCBhbGwuICovCisJLyogU29tZSBvbGQgRGVsbHMgc2VlbSB0byBuZWVkIDRrIGFueWhvdyAoYnVnemlsbGEgMjk5MCkgKi8KKwlpZiAoKGViZGFfYWRkciA9PSAwKSAmJiAobG93bWVtID49IDB4OWYwMDApKQorCQlsb3dtZW0gPSAweDlmMDAwOworCisJLyogUGFyYW5vaWE6IHNob3VsZCBuZXZlciBoYXBwZW4sIGJ1dC4uLiAqLworCWlmICgobG93bWVtID09IDApIHx8IChsb3dtZW0gPj0gMHgxMDAwMDApKQorCQlsb3dtZW0gPSAweDlmMDAwOworCisJLyogcmVzZXJ2ZSBhbGwgbWVtb3J5IGJldHdlZW4gbG93bWVtIGFuZCB0aGUgMU1CIG1hcmsgKi8KKwlyZXNlcnZlX2Vhcmx5X292ZXJsYXBfb2sobG93bWVtLCAweDEwMDAwMCwgIkJJT1MgcmVzZXJ2ZWQiKTsKK30KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9oZWFkMzIuYyBiL2FyY2gveDg2L2tlcm5lbC9oZWFkMzIuYwppbmRleCAzZGIwNTkwLi5mYTFkMjVkIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvaGVhZDMyLmMKKysrIGIvYXJjaC94ODYva2VybmVsL2hlYWQzMi5jCkBAIC04LDcgKzgsMzQgQEAKICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvc3RhcnRfa2VybmVsLmg+CiAKKyNpbmNsdWRlIDxhc20vc2V0dXAuaD4KKyNpbmNsdWRlIDxhc20vc2VjdGlvbnMuaD4KKyNpbmNsdWRlIDxhc20vZTgyMC5oPgorI2luY2x1ZGUgPGFzbS9iaW9zX2ViZGEuaD4KKwogdm9pZCBfX2luaXQgaTM4Nl9zdGFydF9rZXJuZWwodm9pZCkKIHsKKwlyZXNlcnZlX2Vhcmx5KF9fcGFfc3ltYm9sKCZfdGV4dCksIF9fcGFfc3ltYm9sKCZfZW5kKSwgIlRFWFQgREFUQSBCU1MiKTsKKworI2lmZGVmIENPTkZJR19CTEtfREVWX0lOSVRSRAorCS8qIFJlc2VydmUgSU5JVFJEICovCisJaWYgKGJvb3RfcGFyYW1zLmhkci50eXBlX29mX2xvYWRlciAmJiBib290X3BhcmFtcy5oZHIucmFtZGlza19pbWFnZSkgeworCQl1NjQgcmFtZGlza19pbWFnZSA9IGJvb3RfcGFyYW1zLmhkci5yYW1kaXNrX2ltYWdlOworCQl1NjQgcmFtZGlza19zaXplICA9IGJvb3RfcGFyYW1zLmhkci5yYW1kaXNrX3NpemU7CisJCXU2NCByYW1kaXNrX2VuZCAgID0gcmFtZGlza19pbWFnZSArIHJhbWRpc2tfc2l6ZTsKKwkJcmVzZXJ2ZV9lYXJseShyYW1kaXNrX2ltYWdlLCByYW1kaXNrX2VuZCwgIlJBTURJU0siKTsKKwl9CisjZW5kaWYKKwlyZXNlcnZlX2Vhcmx5KGluaXRfcGdfdGFibGVzX3N0YXJ0LCBpbml0X3BnX3RhYmxlc19lbmQsCisJCQkiSU5JVF9QR19UQUJMRSIpOworCisJcmVzZXJ2ZV9lYmRhX3JlZ2lvbigpOworCisJLyoKKwkgKiBBdCB0aGlzIHBvaW50IGV2ZXJ5dGhpbmcgc3RpbGwgbmVlZGVkIGZyb20gdGhlIGJvb3QgbG9hZGVyCisJICogb3IgQklPUyBvciBrZXJuZWwgdGV4dCBzaG91bGQgYmUgZWFybHkgcmVzZXJ2ZWQgb3IgbWFya2VkIG5vdAorCSAqIFJBTSBpbiBlODIwLiBBbGwgb3RoZXIgbWVtb3J5IGlzIGZyZWUgZ2FtZS4KKwkgKi8KKwogCXN0YXJ0X2tlcm5lbCgpOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2hlYWQ2NC5jIGIvYXJjaC94ODYva2VybmVsL2hlYWQ2NC5jCmluZGV4IGUyNWM1N2IuLmM5NzgxOTggMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9oZWFkNjQuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvaGVhZDY0LmMKQEAgLTI1LDYgKzI1LDIwIEBACiAjaW5jbHVkZSA8YXNtL2U4MjAuaD4KICNpbmNsdWRlIDxhc20vYmlvc19lYmRhLmg+CiAKKy8qIGJvb3QgY3B1IHBkYSAqLworc3RhdGljIHN0cnVjdCB4ODY2NF9wZGEgX2Jvb3RfY3B1X3BkYSBfX3JlYWRfbW9zdGx5OworCisjaWZkZWYgQ09ORklHX1NNUAorLyoKKyAqIFdlIGluc3RhbGwgYW4gZW1wdHkgY3B1X3BkYSBwb2ludGVyIHRhYmxlIHRvIGluZGljYXRlIHRvIGVhcmx5IHVzZXJzCisgKiAobnVtYV9zZXRfbm9kZSkgdGhhdCB0aGUgY3B1X3BkYSBwb2ludGVyIHRhYmxlIGZvciBjcHVzIG90aGVyIHRoYW4KKyAqIHRoZSBib290IGNwdSBpcyBub3QgeWV0IHNldHVwLgorICovCitzdGF0aWMgc3RydWN0IHg4NjY0X3BkYSAqX19jcHVfcGRhW05SX0NQVVNdIF9faW5pdGRhdGE7CisjZWxzZQorc3RhdGljIHN0cnVjdCB4ODY2NF9wZGEgKl9fY3B1X3BkYVtOUl9DUFVTXSBfX3JlYWRfbW9zdGx5OworI2VuZGlmCisKIHN0YXRpYyB2b2lkIF9faW5pdCB6YXBfaWRlbnRpdHlfbWFwcGluZ3Modm9pZCkKIHsKIAlwZ2RfdCAqcGdkID0gcGdkX29mZnNldF9rKDBVTCk7CkBAIC01MSw3NCArNjUsNiBAQAogCX0KIH0KIAotI2RlZmluZSBCSU9TX0xPV01FTV9LSUxPQllURVMgMHg0MTMKLQotLyoKLSAqIFRoZSBCSU9TIHBsYWNlcyB0aGUgRUJEQS9YQkRBIGF0IHRoZSB0b3Agb2YgY29udmVudGlvbmFsCi0gKiBtZW1vcnksIGFuZCB1c3VhbGx5IGRlY3JlYXNlcyB0aGUgcmVwb3J0ZWQgYW1vdW50IG9mCi0gKiBjb252ZW50aW9uYWwgbWVtb3J5IChpbnQgMHgxMikgdG9vLiBUaGlzIGFsc28gY29udGFpbnMgYQotICogd29ya2Fyb3VuZCBmb3IgRGVsbCBzeXN0ZW1zIHRoYXQgbmVnbGVjdCB0byByZXNlcnZlIEVCREEuCi0gKiBUaGUgc2FtZSB3b3JrYXJvdW5kIGFsc28gYXZvaWRzIGEgcHJvYmxlbSB3aXRoIHRoZSBBTUQ3NjhNUFgKLSAqIGNoaXBzZXQ6IHJlc2VydmUgYSBwYWdlIGJlZm9yZSBWR0EgdG8gcHJldmVudCBQQ0kgcHJlZmV0Y2gKLSAqIGludG8gaXQgKGVycmF0YSAjNTYpLiBVc3VhbGx5IHRoZSBwYWdlIGlzIHJlc2VydmVkIGFueXdheXMsCi0gKiB1bmxlc3MgeW91IGhhdmUgbm8gUFMvMiBtb3VzZSBwbHVnZ2VkIGluLgotICovCi1zdGF0aWMgdm9pZCBfX2luaXQgcmVzZXJ2ZV9lYmRhX3JlZ2lvbih2b2lkKQotewotCXVuc2lnbmVkIGludCBsb3dtZW0sIGViZGFfYWRkcjsKLQotCS8qIFRvIGRldGVybWluZSB0aGUgcG9zaXRpb24gb2YgdGhlIEVCREEgYW5kIHRoZSAqLwotCS8qIGVuZCBvZiBjb252ZW50aW9uYWwgbWVtb3J5LCB3ZSBuZWVkIHRvIGxvb2sgYXQgKi8KLQkvKiB0aGUgQklPUyBkYXRhIGFyZWEuIEluIGEgcGFyYXZpcnR1YWwgZW52aXJvbm1lbnQgKi8KLQkvKiB0aGF0IGFyZWEgaXMgYWJzZW50LiBXZSdsbCBqdXN0IGhhdmUgdG8gYXNzdW1lICovCi0JLyogdGhhdCB0aGUgcGFyYXZpcnQgY2FzZSBjYW4gaGFuZGxlIG1lbW9yeSBzZXR1cCAqLwotCS8qIGNvcnJlY3RseSwgd2l0aG91dCBvdXIgaGVscC4gKi8KLQlpZiAocGFyYXZpcnRfZW5hYmxlZCgpKQotCQlyZXR1cm47Ci0KLQkvKiBlbmQgb2YgbG93IChjb252ZW50aW9uYWwpIG1lbW9yeSAqLwotCWxvd21lbSA9ICoodW5zaWduZWQgc2hvcnQgKilfX3ZhKEJJT1NfTE9XTUVNX0tJTE9CWVRFUyk7Ci0JbG93bWVtIDw8PSAxMDsKLQotCS8qIHN0YXJ0IG9mIEVCREEgYXJlYSAqLwotCWViZGFfYWRkciA9IGdldF9iaW9zX2ViZGEoKTsKLQotCS8qIEZpeHVwOiBiaW9zIHB1dHMgYW4gRUJEQSBpbiB0aGUgdG9wIDY0SyBzZWdtZW50ICovCi0JLyogb2YgY29udmVudGlvbmFsIG1lbW9yeSwgYnV0IGRvZXMgbm90IGFkanVzdCBsb3dtZW0uICovCi0JaWYgKChsb3dtZW0gLSBlYmRhX2FkZHIpIDw9IDB4MTAwMDApCi0JCWxvd21lbSA9IGViZGFfYWRkcjsKLQotCS8qIEZpeHVwOiBiaW9zIGRvZXMgbm90IHJlcG9ydCBhbiBFQkRBIGF0IGFsbC4gKi8KLQkvKiBTb21lIG9sZCBEZWxscyBzZWVtIHRvIG5lZWQgNGsgYW55aG93IChidWd6aWxsYSAyOTkwKSAqLwotCWlmICgoZWJkYV9hZGRyID09IDApICYmIChsb3dtZW0gPj0gMHg5ZjAwMCkpCi0JCWxvd21lbSA9IDB4OWYwMDA7Ci0KLQkvKiBQYXJhbm9pYTogc2hvdWxkIG5ldmVyIGhhcHBlbiwgYnV0Li4uICovCi0JaWYgKChsb3dtZW0gPT0gMCkgfHwgKGxvd21lbSA+PSAweDEwMDAwMCkpCi0JCWxvd21lbSA9IDB4OWYwMDA7Ci0KLQkvKiByZXNlcnZlIGFsbCBtZW1vcnkgYmV0d2VlbiBsb3dtZW0gYW5kIHRoZSAxTUIgbWFyayAqLwotCXJlc2VydmVfZWFybHkobG93bWVtLCAweDEwMDAwMCwgIkJJT1MgcmVzZXJ2ZWQiKTsKLX0KLQotc3RhdGljIHZvaWQgX19pbml0IHJlc2VydmVfc2V0dXBfZGF0YSh2b2lkKQotewotCXN0cnVjdCBzZXR1cF9kYXRhICpkYXRhOwotCXVuc2lnbmVkIGxvbmcgcGFfZGF0YTsKLQljaGFyIGJ1ZlszMl07Ci0KLQlpZiAoYm9vdF9wYXJhbXMuaGRyLnZlcnNpb24gPCAweDAyMDkpCi0JCXJldHVybjsKLQlwYV9kYXRhID0gYm9vdF9wYXJhbXMuaGRyLnNldHVwX2RhdGE7Ci0Jd2hpbGUgKHBhX2RhdGEpIHsKLQkJZGF0YSA9IGVhcmx5X2lvcmVtYXAocGFfZGF0YSwgc2l6ZW9mKCpkYXRhKSk7Ci0JCXNwcmludGYoYnVmLCAic2V0dXAgZGF0YSAleCIsIGRhdGEtPnR5cGUpOwotCQlyZXNlcnZlX2Vhcmx5KHBhX2RhdGEsIHBhX2RhdGErc2l6ZW9mKCpkYXRhKStkYXRhLT5sZW4sIGJ1Zik7Ci0JCXBhX2RhdGEgPSBkYXRhLT5uZXh0OwotCQllYXJseV9pb3VubWFwKGRhdGEsIHNpemVvZigqZGF0YSkpOwotCX0KLX0KLQogdm9pZCBfX2luaXQgeDg2XzY0X3N0YXJ0X2tlcm5lbChjaGFyICogcmVhbF9tb2RlX2RhdGEpCiB7CiAJaW50IGk7CkBAIC0xNTYsMTAgKzEwMiwxNyBAQAogCiAJZWFybHlfcHJpbnRrKCJLZXJuZWwgYWxpdmVcbiIpOwogCi0gCWZvciAoaSA9IDA7IGkgPCBOUl9DUFVTOyBpKyspCi0gCQljcHVfcGRhKGkpID0gJmJvb3RfY3B1X3BkYVtpXTsKLQorCV9jcHVfcGRhID0gX19jcHVfcGRhOworCWNwdV9wZGEoMCkgPSAmX2Jvb3RfY3B1X3BkYTsKIAlwZGFfaW5pdCgwKTsKKworCWVhcmx5X3ByaW50aygiS2VybmVsIHJlYWxseSBhbGl2ZVxuIik7CisKKwl4ODZfNjRfc3RhcnRfcmVzZXJ2YXRpb25zKHJlYWxfbW9kZV9kYXRhKTsKK30KKwordm9pZCBfX2luaXQgeDg2XzY0X3N0YXJ0X3Jlc2VydmF0aW9ucyhjaGFyICpyZWFsX21vZGVfZGF0YSkKK3sKIAljb3B5X2Jvb3RkYXRhKF9fdmEocmVhbF9tb2RlX2RhdGEpKTsKIAogCXJlc2VydmVfZWFybHkoX19wYV9zeW1ib2woJl90ZXh0KSwgX19wYV9zeW1ib2woJl9lbmQpLCAiVEVYVCBEQVRBIEJTUyIpOwpAQCAtMTc1LDcgKzEyOCw2IEBACiAjZW5kaWYKIAogCXJlc2VydmVfZWJkYV9yZWdpb24oKTsKLQlyZXNlcnZlX3NldHVwX2RhdGEoKTsKIAogCS8qCiAJICogQXQgdGhpcyBwb2ludCBldmVyeXRoaW5nIHN0aWxsIG5lZWRlZCBmcm9tIHRoZSBib290IGxvYWRlcgpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2hlYWRfMzIuUyBiL2FyY2gveDg2L2tlcm5lbC9oZWFkXzMyLlMKaW5kZXggZjczNTdjYy4uZjY3ZTkzNCAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2hlYWRfMzIuUworKysgYi9hcmNoL3g4Ni9rZXJuZWwvaGVhZF8zMi5TCkBAIC0xOTQsNiArMTk0LDcgQEAKIAl4b3JsICVlYngsJWVieAkJCQkvKiAlZWJ4IGlzIGtlcHQgYXQgemVybyAqLwogCiAJbW92bCAkcGEocGcwKSwgJWVkaQorCW1vdmwgJWVkaSwgcGEoaW5pdF9wZ190YWJsZXNfc3RhcnQpCiAJbW92bCAkcGEoc3dhcHBlcl9wZ19wbWQpLCAlZWR4CiAJbW92bCAkUFRFX0FUVFIsICVlYXgKIDEwOgpAQCAtMjE5LDYgKzIyMCw4IEBACiAJamIgMTBiCiAxOgogCW1vdmwgJWVkaSxwYShpbml0X3BnX3RhYmxlc19lbmQpCisJc2hybCAkMTIsICVlYXgKKwltb3ZsICVlYXgsIHBhKG1heF9wZm5fbWFwcGVkKQogCiAJLyogRG8gZWFybHkgaW5pdGlhbGl6YXRpb24gb2YgdGhlIGZpeG1hcCBhcmVhICovCiAJbW92bCAkcGEoc3dhcHBlcl9wZ19maXhtYXApK1BERV9BVFRSLCVlYXgKQEAgLTIyOCw2ICsyMzEsNyBAQAogcGFnZV9wZGVfb2Zmc2V0ID0gKF9fUEFHRV9PRkZTRVQgPj4gMjApOwogCiAJbW92bCAkcGEocGcwKSwgJWVkaQorCW1vdmwgJWVkaSwgcGEoaW5pdF9wZ190YWJsZXNfc3RhcnQpCiAJbW92bCAkcGEoc3dhcHBlcl9wZ19kaXIpLCAlZWR4CiAJbW92bCAkUFRFX0FUVFIsICVlYXgKIDEwOgpAQCAtMjQ5LDYgKzI1Myw4IEBACiAJY21wbCAlZWJwLCVlYXgKIAlqYiAxMGIKIAltb3ZsICVlZGkscGEoaW5pdF9wZ190YWJsZXNfZW5kKQorCXNocmwgJDEyLCAlZWF4CisJbW92bCAlZWF4LCBwYShtYXhfcGZuX21hcHBlZCkKIAogCS8qIERvIGVhcmx5IGluaXRpYWxpemF0aW9uIG9mIHRoZSBmaXhtYXAgYXJlYSAqLwogCW1vdmwgJHBhKHN3YXBwZXJfcGdfZml4bWFwKStQREVfQVRUUiwlZWF4CkBAIC00NDYsMTAgKzQ1MiwxMyBAQAogCWplICAgMWYKIAltb3ZsICQoX19LRVJORUxfUEVSQ1BVKSwgJWVheAogCW1vdmwgJWVheCwlZnMJCSMgc2V0IHRoaXMgY3B1J3MgcGVyY3B1Ci0Jam1wIGluaXRpYWxpemVfc2Vjb25kYXJ5ICMgYWxsIG90aGVyIENQVXMgY2FsbCBpbml0aWFsaXplX3NlY29uZGFyeQorCW1vdmwgKHN0YWNrX3N0YXJ0KSwgJWVzcAogMToKICNlbmRpZiAvKiBDT05GSUdfU01QICovCi0Jam1wIGkzODZfc3RhcnRfa2VybmVsCisJam1wICooaW5pdGlhbF9jb2RlKQorLmFsaWduIDQKK0VOVFJZKGluaXRpYWxfY29kZSkKKwkubG9uZyBpMzg2X3N0YXJ0X2tlcm5lbAogCiAvKgogICogV2UgZGVwZW5kIG9uIEVUIHRvIGJlIGNvcnJlY3QuIFRoaXMgY2hlY2tzIGZvciAyODcvMzg3LgpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2hlYWRfNjQuUyBiL2FyY2gveDg2L2tlcm5lbC9oZWFkXzY0LlMKaW5kZXggYjgxNzk3NC4uYjA3YWM3YiAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2hlYWRfNjQuUworKysgYi9hcmNoL3g4Ni9rZXJuZWwvaGVhZF82NC5TCkBAIC0xOCw2ICsxOCw3IEBACiAjaW5jbHVkZSA8YXNtL3BhZ2UuaD4KICNpbmNsdWRlIDxhc20vbXNyLmg+CiAjaW5jbHVkZSA8YXNtL2NhY2hlLmg+CisjaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci1mbGFncy5oPgogCiAjaWZkZWYgQ09ORklHX1BBUkFWSVJUCiAjaW5jbHVkZSA8YXNtL2FzbS1vZmZzZXRzLmg+CkBAIC0zMSw2ICszMiwxMyBAQAogICoKICAqLwogCisjZGVmaW5lIHB1ZF9pbmRleCh4KQkoKCh4KSA+PiBQVURfU0hJRlQpICYgKFBUUlNfUEVSX1BVRC0xKSkKKworTDRfUEFHRV9PRkZTRVQgPSBwZ2RfaW5kZXgoX19QQUdFX09GRlNFVCkKK0wzX1BBR0VfT0ZGU0VUID0gcHVkX2luZGV4KF9fUEFHRV9PRkZTRVQpCitMNF9TVEFSVF9LRVJORUwgPSBwZ2RfaW5kZXgoX19TVEFSVF9LRVJORUxfbWFwKQorTDNfU1RBUlRfS0VSTkVMID0gcHVkX2luZGV4KF9fU1RBUlRfS0VSTkVMX21hcCkKKwogCS50ZXh0CiAJLnNlY3Rpb24gLnRleHQuaGVhZAogCS5jb2RlNjQKQEAgLTc2LDggKzg0LDggQEAKIAkvKiBGaXh1cCB0aGUgcGh5c2ljYWwgYWRkcmVzc2VzIGluIHRoZSBwYWdlIHRhYmxlCiAJICovCiAJYWRkcQklcmJwLCBpbml0X2xldmVsNF9wZ3QgKyAwKCVyaXApCi0JYWRkcQklcmJwLCBpbml0X2xldmVsNF9wZ3QgKyAoMjU4KjgpKCVyaXApCi0JYWRkcQklcmJwLCBpbml0X2xldmVsNF9wZ3QgKyAoNTExKjgpKCVyaXApCisJYWRkcQklcmJwLCBpbml0X2xldmVsNF9wZ3QgKyAoTDRfUEFHRV9PRkZTRVQqOCkoJXJpcCkKKwlhZGRxCSVyYnAsIGluaXRfbGV2ZWw0X3BndCArIChMNF9TVEFSVF9LRVJORUwqOCkoJXJpcCkKIAogCWFkZHEJJXJicCwgbGV2ZWwzX2lkZW50X3BndCArIDAoJXJpcCkKIApAQCAtMTU0LDkgKzE2Miw3IEBACiAJICovCiAKIAkvKiBFbmFibGUgUEFFIG1vZGUgYW5kIFBHRSAqLwotCXhvcnEJJXJheCwgJXJheAotCWJ0c3EJJDUsICVyYXgKLQlidHNxCSQ3LCAlcmF4CisJbW92bAkkKFg4Nl9DUjRfUEFFIHwgWDg2X0NSNF9QR0UpLCAlZWF4CiAJbW92cQklcmF4LCAlY3I0CiAKIAkvKiBTZXR1cCBlYXJseSBib290IHN0YWdlIDQgbGV2ZWwgcGFnZXRhYmxlcy4gKi8KQEAgLTE4NCwxOSArMTkwLDE1IEBACiAxOgl3cm1zcgkJCQkvKiBNYWtlIGNoYW5nZXMgZWZmZWN0aXZlICovCiAKIAkvKiBTZXR1cCBjcjAgKi8KLSNkZWZpbmUgQ1IwX1BNCQkJCTEJCS8qIHByb3RlY3RlZCBtb2RlICovCi0jZGVmaW5lIENSMF9NUAkJCQkoMTw8MSkKLSNkZWZpbmUgQ1IwX0VUCQkJCSgxPDw0KQotI2RlZmluZSBDUjBfTkUJCQkJKDE8PDUpCi0jZGVmaW5lIENSMF9XUAkJCQkoMTw8MTYpCi0jZGVmaW5lIENSMF9BTQkJCQkoMTw8MTgpCi0jZGVmaW5lIENSMF9QQUdJTkcgCQkJKDE8PDMxKQotCW1vdmwgJENSMF9QTXxDUjBfTVB8Q1IwX0VUfENSMF9ORXxDUjBfV1B8Q1IwX0FNfENSMF9QQUdJTkcsJWVheAorI2RlZmluZSBDUjBfU1RBVEUJKFg4Nl9DUjBfUEUgfCBYODZfQ1IwX01QIHwgWDg2X0NSMF9FVCB8IFwKKwkJCSBYODZfQ1IwX05FIHwgWDg2X0NSMF9XUCB8IFg4Nl9DUjBfQU0gfCBcCisJCQkgWDg2X0NSMF9QRykKKwltb3ZsCSRDUjBfU1RBVEUsICVlYXgKIAkvKiBNYWtlIGNoYW5nZXMgZWZmZWN0aXZlICovCiAJbW92cQklcmF4LCAlY3IwCiAKIAkvKiBTZXR1cCBhIGJvb3QgdGltZSBzdGFjayAqLwotCW1vdnEgaW5pdF9yc3AoJXJpcCksJXJzcAorCW1vdnEgc3RhY2tfc3RhcnQoJXJpcCksJXJzcAogCiAJLyogemVybyBFRkxBR1MgYWZ0ZXIgc2V0dGluZyByc3AgKi8KIAlwdXNocSAkMApAQCAtMjA4LDcgKzIxMCw3IEBACiAJICogYWRkcmVzc2VzIHdoZXJlIHdlJ3JlIGN1cnJlbnRseSBydW5uaW5nIG9uLiBXZSBoYXZlIHRvIGRvIHRoYXQgaGVyZQogCSAqIGJlY2F1c2UgaW4gMzJiaXQgd2UgY291bGRuJ3QgbG9hZCBhIDY0Yml0IGxpbmVhciBhZGRyZXNzLgogCSAqLwotCWxnZHQJY3B1X2dkdF9kZXNjciglcmlwKQorCWxnZHQJZWFybHlfZ2R0X2Rlc2NyKCVyaXApCiAKIAkvKiBzZXQgdXAgZGF0YSBzZWdtZW50cy4gYWN0dWFsbHkgMCB3b3VsZCBkbyB0b28gKi8KIAltb3ZsICRfX0tFUk5FTF9EUywlZWF4CkBAIC0yNTcsOCArMjU5LDkgQEAKIAkucXVhZAl4ODZfNjRfc3RhcnRfa2VybmVsCiAJX19GSU5JVERBVEEKIAotCUVOVFJZKGluaXRfcnNwKQorCUVOVFJZKHN0YWNrX3N0YXJ0KQogCS5xdWFkICBpbml0X3RocmVhZF91bmlvbitUSFJFQURfU0laRS04CisJLndvcmQgIDAKIAogYmFkX2FkZHJlc3M6CiAJam1wIGJhZF9hZGRyZXNzCkBAIC0zMjcsMTEgKzMzMCwxMSBAQAogRU5UUlkobmFtZSkKIAogLyogQXV0b21hdGUgdGhlIGNyZWF0aW9uIG9mIDEgdG8gMSBtYXBwaW5nIHBtZCBlbnRyaWVzICovCi0jZGVmaW5lIFBNRFMoU1RBUlQsIFBFUk0sIENPVU5UKQkJXAotCWkgPSAwIDsJCQkJCVwKLQkucmVwdCAoQ09VTlQpIDsJCQkJXAotCS5xdWFkCShTVEFSVCkgKyAoaSA8PCAyMSkgKyAoUEVSTSkgOwlcCi0JaSA9IGkgKyAxIDsJCQkJXAorI2RlZmluZSBQTURTKFNUQVJULCBQRVJNLCBDT1VOVCkJCQlcCisJaSA9IDAgOwkJCQkJCVwKKwkucmVwdCAoQ09VTlQpIDsJCQkJCVwKKwkucXVhZAkoU1RBUlQpICsgKGkgPDwgUE1EX1NISUZUKSArIChQRVJNKSA7CVwKKwlpID0gaSArIDEgOwkJCQkJXAogCS5lbmRyCiAKIAkvKgpAQCAtMzQyLDkgKzM0NSw5IEBACiAJICovCiBORVhUX1BBR0UoaW5pdF9sZXZlbDRfcGd0KQogCS5xdWFkCWxldmVsM19pZGVudF9wZ3QgLSBfX1NUQVJUX0tFUk5FTF9tYXAgKyBfS0VSTlBHX1RBQkxFCi0JLmZpbGwJMjU3LDgsMAorCS5vcmcJaW5pdF9sZXZlbDRfcGd0ICsgTDRfUEFHRV9PRkZTRVQqOCwgMAogCS5xdWFkCWxldmVsM19pZGVudF9wZ3QgLSBfX1NUQVJUX0tFUk5FTF9tYXAgKyBfS0VSTlBHX1RBQkxFCi0JLmZpbGwJMjUyLDgsMAorCS5vcmcJaW5pdF9sZXZlbDRfcGd0ICsgTDRfU1RBUlRfS0VSTkVMKjgsIDAKIAkvKiAoMl40OC0oMioxMDI0KjEwMjQqMTAyNCkpLygyXjM5KSA9IDUxMSAqLwogCS5xdWFkCWxldmVsM19rZXJuZWxfcGd0IC0gX19TVEFSVF9LRVJORUxfbWFwICsgX1BBR0VfVEFCTEUKIApAQCAtMzUzLDcgKzM1Niw3IEBACiAJLmZpbGwJNTExLDgsMAogCiBORVhUX1BBR0UobGV2ZWwzX2tlcm5lbF9wZ3QpCi0JLmZpbGwJNTEwLDgsMAorCS5maWxsCUwzX1NUQVJUX0tFUk5FTCw4LDAKIAkvKiAoMl40OC0oMioxMDI0KjEwMjQqMTAyNCktKCgyXjM5KSo1MTEpKS8oMl4zMCkgPSA1MTAgKi8KIAkucXVhZAlsZXZlbDJfa2VybmVsX3BndCAtIF9fU1RBUlRfS0VSTkVMX21hcCArIF9LRVJOUEdfVEFCTEUKIAkucXVhZAlsZXZlbDJfZml4bWFwX3BndCAtIF9fU1RBUlRfS0VSTkVMX21hcCArIF9QQUdFX1RBQkxFCkBAIC0zODQsNyArMzg3LDcgQEAKIAkgKiAgSWYgeW91IHdhbnQgdG8gaW5jcmVhc2UgdGhpcyB0aGVuIGluY3JlYXNlIE1PRFVMRVNfVkFERFIKIAkgKiAgdG9vLikKIAkgKi8KLQlQTURTKDAsIF9fUEFHRV9LRVJORUxfTEFSR0VfRVhFQ3xfUEFHRV9HTE9CQUwsCisJUE1EUygwLCBfX1BBR0VfS0VSTkVMX0xBUkdFX0VYRUMsCiAJCUtFUk5FTF9JTUFHRV9TSVpFL1BNRF9TSVpFKQogCiBORVhUX1BBR0UobGV2ZWwyX3NwYXJlX3BndCkKQEAgLTM5NSw1NCArMzk4LDE2IEBACiAKIAkuZGF0YQogCS5hbGlnbiAxNgotCS5nbG9ibCBjcHVfZ2R0X2Rlc2NyCi1jcHVfZ2R0X2Rlc2NyOgotCS53b3JkCWdkdF9lbmQtY3B1X2dkdF90YWJsZS0xCi1nZHQ6Ci0JLnF1YWQJY3B1X2dkdF90YWJsZQotI2lmZGVmIENPTkZJR19TTVAKLQkucmVwdAlOUl9DUFVTLTEKLQkud29yZAkwCi0JLnF1YWQJMAotCS5lbmRyCi0jZW5kaWYKKwkuZ2xvYmwgZWFybHlfZ2R0X2Rlc2NyCitlYXJseV9nZHRfZGVzY3I6CisJLndvcmQJR0RUX0VOVFJJRVMqOC0xCisJLnF1YWQgICBwZXJfY3B1X19nZHRfcGFnZQogCiBFTlRSWShwaHlzX2Jhc2UpCiAJLyogVGhpcyBtdXN0IG1hdGNoIHRoZSBmaXJzdCBlbnRyeSBpbiBsZXZlbDJfa2VybmVsX3BndCAqLwogCS5xdWFkICAgMHgwMDAwMDAwMDAwMDAwMDAwCiAKLS8qIFdlIG5lZWQgdmFsaWQga2VybmVsIHNlZ21lbnRzIGZvciBkYXRhIGFuZCBjb2RlIGluIGxvbmcgbW9kZSB0b28KLSAqIElSRVQgd2lsbCBjaGVjayB0aGUgc2VnbWVudCB0eXBlcyAga2tlaWwgMjAwMC8xMC8yOAotICogQWxzbyBzeXNyZXQgbWFuZGF0ZXMgYSBzcGVjaWFsIEdEVCBsYXlvdXQgCi0gKi8KLQkJIAkJCi0JLnNlY3Rpb24gLmRhdGEucGFnZV9hbGlnbmVkLCAiYXciCi0JLmFsaWduIFBBR0VfU0laRQotCi0vKiBUaGUgVExTIGRlc2NyaXB0b3JzIGFyZSBjdXJyZW50bHkgYXQgYSBkaWZmZXJlbnQgcGxhY2UgY29tcGFyZWQgdG8gaTM4Ni4KLSAgIEhvcGVmdWxseSBub2JvZHkgZXhwZWN0cyB0aGVtIGF0IGEgZml4ZWQgcGxhY2UgKFdpbmU/KSAqLwogCQotRU5UUlkoY3B1X2dkdF90YWJsZSkKLQkucXVhZAkweDAwMDAwMDAwMDAwMDAwMDAJLyogTlVMTCBkZXNjcmlwdG9yICovCi0JLnF1YWQJMHgwMGNmOWIwMDAwMDBmZmZmCS8qIF9fS0VSTkVMMzJfQ1MgKi8KLQkucXVhZAkweDAwYWY5YjAwMDAwMGZmZmYJLyogX19LRVJORUxfQ1MgKi8KLQkucXVhZAkweDAwY2Y5MzAwMDAwMGZmZmYJLyogX19LRVJORUxfRFMgKi8KLQkucXVhZAkweDAwY2ZmYjAwMDAwMGZmZmYJLyogX19VU0VSMzJfQ1MgKi8KLQkucXVhZAkweDAwY2ZmMzAwMDAwMGZmZmYJLyogX19VU0VSX0RTLCBfX1VTRVIzMl9EUyAgKi8KLQkucXVhZAkweDAwYWZmYjAwMDAwMGZmZmYJLyogX19VU0VSX0NTICovCi0JLnF1YWQJMHgwCQkJLyogdW51c2VkICovCi0JLnF1YWQJMCwwCQkJLyogVFNTICovCi0JLnF1YWQJMCwwCQkJLyogTERUICovCi0JLnF1YWQgICAwLDAsMAkJCS8qIHRocmVlIFRMUyBkZXNjcmlwdG9ycyAqLyAKLQkucXVhZAkweDAwMDBmNDAwMDAwMDAwMDAJLyogbm9kZS9DUFUgc3RvcmVkIGluIGxpbWl0ICovCi1nZHRfZW5kOgkKLQkvKiBhc20vc2VnbWVudC5oOkdEVF9FTlRSSUVTIG11c3QgbWF0Y2ggdGhpcyAqLwkKLQkvKiBUaGlzIHNob3VsZCBiZSBhIG11bHRpcGxlIG9mIHRoZSBjYWNoZSBsaW5lIHNpemUgKi8KLQkvKiBHRFRzIG9mIG90aGVyIENQVXMgYXJlIG5vdyBkeW5hbWljYWxseSBhbGxvY2F0ZWQgKi8KLQotCS8qIHplcm8gdGhlIHJlbWFpbmluZyBwYWdlICovCi0JLmZpbGwgUEFHRV9TSVpFIC8gOCAtIEdEVF9FTlRSSUVTLDgsMAotCiAJLnNlY3Rpb24gLmJzcywgImF3IiwgQG5vYml0cwogCS5hbGlnbiBMMV9DQUNIRV9CWVRFUwogRU5UUlkoaWR0X3RhYmxlKQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2hwZXQuYyBiL2FyY2gveDg2L2tlcm5lbC9ocGV0LmMKaW5kZXggOWI1Y2ZjZC4uMGVhNmExOSAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2hwZXQuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvaHBldC5jCkBAIC0xNyw3ICsxNyw3IEBACiAKIC8qIEZTRUMgPSAxMF4tMTUKICAgIE5TRUMgPSAxMF4tOSAqLwotI2RlZmluZSBGU0VDX1BFUl9OU0VDCTEwMDAwMDAKKyNkZWZpbmUgRlNFQ19QRVJfTlNFQwkxMDAwMDAwTAogCiAvKgogICogSFBFVCBhZGRyZXNzIGlzIHNldCBpbiBhY3BpL2Jvb3QuYywgd2hlbiBhbiBBQ1BJIGVudHJ5IGV4aXN0cwpAQCAtMzYsMjYgKzM2LDE1IEBACiB9CiAKICNpZmRlZiBDT05GSUdfWDg2XzY0Ci0KICNpbmNsdWRlIDxhc20vcGd0YWJsZS5oPgotCi1zdGF0aWMgaW5saW5lIHZvaWQgaHBldF9zZXRfbWFwcGluZyh2b2lkKQotewotCXNldF9maXhtYXBfbm9jYWNoZShGSVhfSFBFVF9CQVNFLCBocGV0X2FkZHJlc3MpOwotCV9fc2V0X2ZpeG1hcChWU1lTQ0FMTF9IUEVULCBocGV0X2FkZHJlc3MsIFBBR0VfS0VSTkVMX1ZTWVNDQUxMX05PQ0FDSEUpOwotCWhwZXRfdmlydF9hZGRyZXNzID0gKHZvaWQgX19pb21lbSAqKWZpeF90b192aXJ0KEZJWF9IUEVUX0JBU0UpOwotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQgaHBldF9jbGVhcl9tYXBwaW5nKHZvaWQpCi17Ci0JaHBldF92aXJ0X2FkZHJlc3MgPSBOVUxMOwotfQotCi0jZWxzZQorI2VuZGlmCiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBocGV0X3NldF9tYXBwaW5nKHZvaWQpCiB7CiAJaHBldF92aXJ0X2FkZHJlc3MgPSBpb3JlbWFwX25vY2FjaGUoaHBldF9hZGRyZXNzLCBIUEVUX01NQVBfU0laRSk7CisjaWZkZWYgQ09ORklHX1g4Nl82NAorCV9fc2V0X2ZpeG1hcChWU1lTQ0FMTF9IUEVULCBocGV0X2FkZHJlc3MsIFBBR0VfS0VSTkVMX1ZTWVNDQUxMX05PQ0FDSEUpOworI2VuZGlmCiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBocGV0X2NsZWFyX21hcHBpbmcodm9pZCkKQEAgLTYzLDcgKzUyLDYgQEAKIAlpb3VubWFwKGhwZXRfdmlydF9hZGRyZXNzKTsKIAlocGV0X3ZpcnRfYWRkcmVzcyA9IE5VTEw7CiB9Ci0jZW5kaWYKIAogLyoKICAqIEhQRVQgY29tbWFuZCBsaW5lIGVuYWJsZSAvIGRpc2FibGUKQEAgLTIwNiwyMCArMTk0LDE5IEBACiAKIHN0YXRpYyB2b2lkIGhwZXRfbGVnYWN5X2Nsb2NrZXZlbnRfcmVnaXN0ZXIodm9pZCkKIHsKLQl1aW50NjRfdCBocGV0X2ZyZXE7Ci0KIAkvKiBTdGFydCBIUEVUIGxlZ2FjeSBpbnRlcnJ1cHRzICovCiAJaHBldF9lbmFibGVfbGVnYWN5X2ludCgpOwogCiAJLyoKLQkgKiBUaGUgcGVyaW9kIGlzIGEgZmVtdG8gc2Vjb25kcyB2YWx1ZS4gV2UgbmVlZCB0byBjYWxjdWxhdGUgdGhlCi0JICogc2NhbGVkIG1hdGggbXVsdGlwbGljYXRpb24gZmFjdG9yIGZvciBuYW5vc2Vjb25kIHRvIGhwZXQgdGljawotCSAqIGNvbnZlcnNpb24uCisJICogVGhlIG11bHQgZmFjdG9yIGlzIGRlZmluZWQgYXMgKGluY2x1ZGUvbGludXgvY2xvY2tjaGlwcy5oKQorCSAqICBtdWx0LzJec2hpZnQgPSBjeWMvbnMgKGluIGNvbnRyYXN0IHRvIG5zL2N5YyBpbiBjbG9ja3NvdXJjZS5oKQorCSAqIGhwZXRfcGVyaW9kIGlzIGluIHVuaXRzIG9mIGZlbXRvc2Vjb25kcyAocGVyIGN5Y2xlKSwgc28KKwkgKiAgbXVsdC8yXnNoaWZ0ID0gY3ljL25zID0gMTBeNi9ocGV0X3BlcmlvZAorCSAqICBtdWx0ID0gKDEwXjYgKiAyXnNoaWZ0KS9ocGV0X3BlcmlvZAorCSAqICBtdWx0ID0gKEZTRUNfUEVSX05TRUMgPDwgaHBldF9jbG9ja2V2ZW50LnNoaWZ0KS9ocGV0X3BlcmlvZAogCSAqLwotCWhwZXRfZnJlcSA9IDEwMDAwMDAwMDAwMDAwMDBVTEw7Ci0JZG9fZGl2KGhwZXRfZnJlcSwgaHBldF9wZXJpb2QpOwotCWhwZXRfY2xvY2tldmVudC5tdWx0ID0gZGl2X3NjKCh1bnNpZ25lZCBsb25nKSBocGV0X2ZyZXEsCi0JCQkJICAgICAgTlNFQ19QRVJfU0VDLCBocGV0X2Nsb2NrZXZlbnQuc2hpZnQpOworCWhwZXRfY2xvY2tldmVudC5tdWx0ID0gZGl2X3NjKCh1bnNpZ25lZCBsb25nKSBGU0VDX1BFUl9OU0VDLAorCQkJCSAgICAgIGhwZXRfcGVyaW9kLCBocGV0X2Nsb2NrZXZlbnQuc2hpZnQpOwogCS8qIENhbGN1bGF0ZSB0aGUgbWluIC8gbWF4IGRlbHRhICovCiAJaHBldF9jbG9ja2V2ZW50Lm1heF9kZWx0YV9ucyA9IGNsb2NrZXZlbnRfZGVsdGEybnMoMHg3RkZGRkZGRiwKIAkJCQkJCQkgICAmaHBldF9jbG9ja2V2ZW50KTsKQEAgLTMyNCw3ICszMTEsNyBAQAogCiBzdGF0aWMgaW50IGhwZXRfY2xvY2tzb3VyY2VfcmVnaXN0ZXIodm9pZCkKIHsKLQl1NjQgdG1wLCBzdGFydCwgbm93OworCXU2NCBzdGFydCwgbm93OwogCWN5Y2xlX3QgdDE7CiAKIAkvKiBTdGFydCB0aGUgY291bnRlciAqLwpAQCAtMzUxLDIxICszMzgsMTUgQEAKIAkJcmV0dXJuIC1FTk9ERVY7CiAJfQogCi0JLyogSW5pdGlhbGl6ZSBhbmQgcmVnaXN0ZXIgSFBFVCBjbG9ja3NvdXJjZQotCSAqCi0JICogaHBldCBwZXJpb2QgaXMgaW4gZmVtdG8gc2Vjb25kcyBwZXIgY3ljbGUKLQkgKiBzbyB3ZSBuZWVkIHRvIGNvbnZlcnQgdGhpcyB0byBucy9jeWMgdW5pdHMKLQkgKiBhcHByb3hpbWF0ZWQgYnkgbXVsdC8yXnNoaWZ0Ci0JICoKLQkgKiAgZnNlYy9jeWMgKiAxbnNlYy8xMDAwMDAwZnNlYyA9IG5zZWMvY3ljID0gbXVsdC8yXnNoaWZ0Ci0JICogIGZzZWMvY3ljICogMW5zLzEwMDAwMDBmc2VjICogMl5zaGlmdCA9IG11bHQKLQkgKiAgZnNlYy9jeWMgKiAyXnNoaWZ0ICogMW5zZWMvMTAwMDAwMGZzZWMgPSBtdWx0Ci0JICogIChmc2VjL2N5YyA8PCBzaGlmdCkvMTAwMDAwMCA9IG11bHQKLQkgKiAgKGhwZXRfcGVyaW9kIDw8IHNoaWZ0KS9GU0VDX1BFUl9OU0VDID0gbXVsdAorCS8qCisJICogVGhlIGRlZmluaXRpb24gb2YgbXVsdCBpcyAoaW5jbHVkZS9saW51eC9jbG9ja3NvdXJjZS5oKQorCSAqIG11bHQvMl5zaGlmdCA9IG5zL2N5YyBhbmQgaHBldF9wZXJpb2QgaXMgaW4gdW5pdHMgb2YgZnNlYy9jeWMKKwkgKiBzbyB3ZSBmaXJzdCBuZWVkIHRvIGNvbnZlcnQgaHBldF9wZXJpb2QgdG8gbnMvY3ljIHVuaXRzOgorCSAqICBtdWx0LzJec2hpZnQgPSBucy9jeWMgPSBocGV0X3BlcmlvZC8xMF42CisJICogIG11bHQgPSAoaHBldF9wZXJpb2QgKiAyXnNoaWZ0KS8xMF42CisJICogIG11bHQgPSAoaHBldF9wZXJpb2QgPDwgc2hpZnQpL0ZTRUNfUEVSX05TRUMKIAkgKi8KLQl0bXAgPSAodTY0KWhwZXRfcGVyaW9kIDw8IEhQRVRfU0hJRlQ7Ci0JZG9fZGl2KHRtcCwgRlNFQ19QRVJfTlNFQyk7Ci0JY2xvY2tzb3VyY2VfaHBldC5tdWx0ID0gKHUzMil0bXA7CisJY2xvY2tzb3VyY2VfaHBldC5tdWx0ID0gZGl2X3NjKGhwZXRfcGVyaW9kLCBGU0VDX1BFUl9OU0VDLCBIUEVUX1NISUZUKTsKIAogCWNsb2Nrc291cmNlX3JlZ2lzdGVyKCZjbG9ja3NvdXJjZV9ocGV0KTsKIApkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2kzODZfa3N5bXNfMzIuYyBiL2FyY2gveDg2L2tlcm5lbC9pMzg2X2tzeW1zXzMyLmMKaW5kZXggZGViNDM3OC4uZGQ3ZWJlZSAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2kzODZfa3N5bXNfMzIuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvaTM4Nl9rc3ltc18zMi5jCkBAIC0xLDcgKzEsMTQgQEAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKwogI2luY2x1ZGUgPGFzbS9jaGVja3N1bS5oPgotI2luY2x1ZGUgPGFzbS9kZXNjLmg+CiAjaW5jbHVkZSA8YXNtL3BndGFibGUuaD4KKyNpbmNsdWRlIDxhc20vZGVzYy5oPgorI2luY2x1ZGUgPGFzbS9mdHJhY2UuaD4KKworI2lmZGVmIENPTkZJR19GVFJBQ0UKKy8qIG1jb3VudCBpcyBkZWZpbmVkIGluIGFzc2VtYmx5ICovCitFWFBPUlRfU1lNQk9MKG1jb3VudCk7CisjZW5kaWYKIAogLyogTmV0d29ya2luZyBoZWxwZXIgcm91dGluZXMuICovCiBFWFBPUlRfU1lNQk9MKGNzdW1fcGFydGlhbF9jb3B5X2dlbmVyaWMpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2kzODcuYyBiL2FyY2gveDg2L2tlcm5lbC9pMzg3LmMKaW5kZXggOTVlODBlNS4uZWI5ZGRkOCAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2kzODcuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvaTM4Ny5jCkBAIC0xNjIsNyArMTYyLDcgQEAKIAlpbnQgcmV0OwogCiAJaWYgKCFjcHVfaGFzX2Z4c3IpCi0JCXJldHVybiAtRUlPOworCQlyZXR1cm4gLUVOT0RFVjsKIAogCXJldCA9IGluaXRfZnB1KHRhcmdldCk7CiAJaWYgKHJldCkKQEAgLTE3OSw3ICsxNzksNyBAQAogCWludCByZXQ7CiAKIAlpZiAoIWNwdV9oYXNfZnhzcikKLQkJcmV0dXJuIC1FSU87CisJCXJldHVybiAtRU5PREVWOwogCiAJcmV0ID0gaW5pdF9mcHUodGFyZ2V0KTsKIAlpZiAocmV0KQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2k4MjU5XzMyLmMgYi9hcmNoL3g4Ni9rZXJuZWwvaTgyNTkuYwpzaW1pbGFyaXR5IGluZGV4IDcwJQpyZW5hbWUgZnJvbSBhcmNoL3g4Ni9rZXJuZWwvaTgyNTlfMzIuYwpyZW5hbWUgdG8gYXJjaC94ODYva2VybmVsL2k4MjU5LmMKaW5kZXggZmU2MzE5NjcuLmRjOTJiNDkgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9pODI1OV8zMi5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9pODI1OS5jCkBAIC0xLDggKzEsMTAgQEAKKyNpbmNsdWRlIDxsaW51eC9saW5rYWdlLmg+CiAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KICNpbmNsdWRlIDxsaW51eC9zaWduYWwuaD4KICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgogI2luY2x1ZGUgPGxpbnV4L2lvcG9ydC5oPgogI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgorI2luY2x1ZGUgPGxpbnV4L3RpbWV4Lmg+CiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgogI2luY2x1ZGUgPGxpbnV4L3JhbmRvbS5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KQEAgLTEwLDEwICsxMiwxMiBAQAogI2luY2x1ZGUgPGxpbnV4L3N5c2Rldi5oPgogI2luY2x1ZGUgPGxpbnV4L2JpdG9wcy5oPgogCisjaW5jbHVkZSA8YXNtL2FjcGkuaD4KICNpbmNsdWRlIDxhc20vYXRvbWljLmg+CiAjaW5jbHVkZSA8YXNtL3N5c3RlbS5oPgogI2luY2x1ZGUgPGFzbS9pby5oPgogI2luY2x1ZGUgPGFzbS90aW1lci5oPgorI2luY2x1ZGUgPGFzbS9od19pcnEuaD4KICNpbmNsdWRlIDxhc20vcGd0YWJsZS5oPgogI2luY2x1ZGUgPGFzbS9kZWxheS5oPgogI2luY2x1ZGUgPGFzbS9kZXNjLmg+CkBAIC0zMiw3ICszNiw3IEBACiBERUZJTkVfU1BJTkxPQ0soaTgyNTlBX2xvY2spOwogc3RhdGljIHZvaWQgbWFza19hbmRfYWNrXzgyNTlBKHVuc2lnbmVkIGludCk7CiAKLXN0YXRpYyBzdHJ1Y3QgaXJxX2NoaXAgaTgyNTlBX2NoaXAgPSB7CitzdHJ1Y3QgaXJxX2NoaXAgaTgyNTlBX2NoaXAgPSB7CiAJLm5hbWUJCT0gIlhULVBJQyIsCiAJLm1hc2sJCT0gZGlzYWJsZV84MjU5QV9pcnEsCiAJLmRpc2FibGUJPSBkaXNhYmxlXzgyNTlBX2lycSwKQEAgLTEyNSwxNCArMTI5LDE0IEBACiAJaW50IGlycW1hc2sgPSAxPDxpcnE7CiAKIAlpZiAoaXJxIDwgOCkgewotCQlvdXRiKDB4MEIsUElDX01BU1RFUl9DTUQpOwkvKiBJU1IgcmVnaXN0ZXIgKi8KKwkJb3V0YigweDBCLCBQSUNfTUFTVEVSX0NNRCk7CS8qIElTUiByZWdpc3RlciAqLwogCQl2YWx1ZSA9IGluYihQSUNfTUFTVEVSX0NNRCkgJiBpcnFtYXNrOwotCQlvdXRiKDB4MEEsUElDX01BU1RFUl9DTUQpOwkvKiBiYWNrIHRvIHRoZSBJUlIgcmVnaXN0ZXIgKi8KKwkJb3V0YigweDBBLCBQSUNfTUFTVEVSX0NNRCk7CS8qIGJhY2sgdG8gdGhlIElSUiByZWdpc3RlciAqLwogCQlyZXR1cm4gdmFsdWU7CiAJfQotCW91dGIoMHgwQixQSUNfU0xBVkVfQ01EKTsJLyogSVNSIHJlZ2lzdGVyICovCisJb3V0YigweDBCLCBQSUNfU0xBVkVfQ01EKTsJLyogSVNSIHJlZ2lzdGVyICovCiAJdmFsdWUgPSBpbmIoUElDX1NMQVZFX0NNRCkgJiAoaXJxbWFzayA+PiA4KTsKLQlvdXRiKDB4MEEsUElDX1NMQVZFX0NNRCk7CS8qIGJhY2sgdG8gdGhlIElSUiByZWdpc3RlciAqLworCW91dGIoMHgwQSwgUElDX1NMQVZFX0NNRCk7CS8qIGJhY2sgdG8gdGhlIElSUiByZWdpc3RlciAqLwogCXJldHVybiB2YWx1ZTsKIH0KIApAQCAtMTcxLDEyICsxNzUsMTQgQEAKIAlpZiAoaXJxICYgOCkgewogCQlpbmIoUElDX1NMQVZFX0lNUik7CS8qIERVTU1ZIC0gKGRvIHdlIG5lZWQgdGhpcz8pICovCiAJCW91dGIoY2FjaGVkX3NsYXZlX21hc2ssIFBJQ19TTEFWRV9JTVIpOwotCQlvdXRiKDB4NjArKGlycSY3KSxQSUNfU0xBVkVfQ01EKTsvKiAnU3BlY2lmaWMgRU9JJyB0byBzbGF2ZSAqLwotCQlvdXRiKDB4NjArUElDX0NBU0NBREVfSVIsUElDX01BU1RFUl9DTUQpOyAvKiAnU3BlY2lmaWMgRU9JJyB0byBtYXN0ZXItSVJRMiAqLworCQkvKiAnU3BlY2lmaWMgRU9JJyB0byBzbGF2ZSAqLworCQlvdXRiKDB4NjArKGlycSY3KSwgUElDX1NMQVZFX0NNRCk7CisJCSAvKiAnU3BlY2lmaWMgRU9JJyB0byBtYXN0ZXItSVJRMiAqLworCQlvdXRiKDB4NjArUElDX0NBU0NBREVfSVIsIFBJQ19NQVNURVJfQ01EKTsKIAl9IGVsc2UgewogCQlpbmIoUElDX01BU1RFUl9JTVIpOwkvKiBEVU1NWSAtIChkbyB3ZSBuZWVkIHRoaXM/KSAqLwogCQlvdXRiKGNhY2hlZF9tYXN0ZXJfbWFzaywgUElDX01BU1RFUl9JTVIpOwotCQlvdXRiKDB4NjAraXJxLFBJQ19NQVNURVJfQ01EKTsJLyogJ1NwZWNpZmljIEVPSSB0byBtYXN0ZXIgKi8KKwkJb3V0YigweDYwK2lycSwgUElDX01BU1RFUl9DTUQpOwkvKiAnU3BlY2lmaWMgRU9JIHRvIG1hc3RlciAqLwogCX0KIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpODI1OUFfbG9jaywgZmxhZ3MpOwogCXJldHVybjsKQEAgLTE5OSw3ICsyMDUsOCBAQAogCQkgKiBsZXRzIEFDSyBhbmQgcmVwb3J0IGl0LiBbb25jZSBwZXIgSVJRXQogCQkgKi8KIAkJaWYgKCEoc3B1cmlvdXNfaXJxX21hc2sgJiBpcnFtYXNrKSkgewotCQkJcHJpbnRrKEtFUk5fREVCVUcgInNwdXJpb3VzIDgyNTlBIGludGVycnVwdDogSVJRJWQuXG4iLCBpcnEpOworCQkJcHJpbnRrKEtFUk5fREVCVUcKKwkJCSAgICAgICAic3B1cmlvdXMgODI1OUEgaW50ZXJydXB0OiBJUlElZC5cbiIsIGlycSk7CiAJCQlzcHVyaW91c19pcnFfbWFzayB8PSBpcnFtYXNrOwogCQl9CiAJCWF0b21pY19pbmMoJmlycV9lcnJfY291bnQpOwpAQCAtMjkwLDE3ICsyOTcsMjggQEAKIAkgKiBvdXRiX3BpYyAtIHRoaXMgaGFzIHRvIHdvcmsgb24gYSB3aWRlIHJhbmdlIG9mIFBDIGhhcmR3YXJlLgogCSAqLwogCW91dGJfcGljKDB4MTEsIFBJQ19NQVNURVJfQ01EKTsJLyogSUNXMTogc2VsZWN0IDgyNTlBLTEgaW5pdCAqLwotCW91dGJfcGljKDB4MjAgKyAwLCBQSUNfTUFTVEVSX0lNUik7CS8qIElDVzI6IDgyNTlBLTEgSVIwLTcgbWFwcGVkIHRvIDB4MjAtMHgyNyAqLwotCW91dGJfcGljKDFVIDw8IFBJQ19DQVNDQURFX0lSLCBQSUNfTUFTVEVSX0lNUik7CS8qIDgyNTlBLTEgKHRoZSBtYXN0ZXIpIGhhcyBhIHNsYXZlIG9uIElSMiAqLworCisJLyogSUNXMjogODI1OUEtMSBJUjAtNyBtYXBwZWQgdG8gMHgzMC0weDM3IG9uIHg4Ni02NCwKKwkgICAgICAgICAgICAgICAgICAgICAgIHRvIDB4MjAtMHgyNyBvbiBpMzg2ICovCisJb3V0Yl9waWMoSVJRMF9WRUNUT1IsIFBJQ19NQVNURVJfSU1SKTsKKworCS8qIDgyNTlBLTEgKHRoZSBtYXN0ZXIpIGhhcyBhIHNsYXZlIG9uIElSMiAqLworCW91dGJfcGljKDFVIDw8IFBJQ19DQVNDQURFX0lSLCBQSUNfTUFTVEVSX0lNUik7CisKIAlpZiAoYXV0b19lb2kpCS8qIG1hc3RlciBkb2VzIEF1dG8gRU9JICovCiAJCW91dGJfcGljKE1BU1RFUl9JQ1c0X0RFRkFVTFQgfCBQSUNfSUNXNF9BRU9JLCBQSUNfTUFTVEVSX0lNUik7CiAJZWxzZQkJLyogbWFzdGVyIGV4cGVjdHMgbm9ybWFsIEVPSSAqLwogCQlvdXRiX3BpYyhNQVNURVJfSUNXNF9ERUZBVUxULCBQSUNfTUFTVEVSX0lNUik7CiAKIAlvdXRiX3BpYygweDExLCBQSUNfU0xBVkVfQ01EKTsJLyogSUNXMTogc2VsZWN0IDgyNTlBLTIgaW5pdCAqLwotCW91dGJfcGljKDB4MjAgKyA4LCBQSUNfU0xBVkVfSU1SKTsJLyogSUNXMjogODI1OUEtMiBJUjAtNyBtYXBwZWQgdG8gMHgyOC0weDJmICovCi0Jb3V0Yl9waWMoUElDX0NBU0NBREVfSVIsIFBJQ19TTEFWRV9JTVIpOwkvKiA4MjU5QS0yIGlzIGEgc2xhdmUgb24gbWFzdGVyJ3MgSVIyICovCi0Jb3V0Yl9waWMoU0xBVkVfSUNXNF9ERUZBVUxULCBQSUNfU0xBVkVfSU1SKTsgLyogKHNsYXZlJ3Mgc3VwcG9ydCBmb3IgQUVPSSBpbiBmbGF0IG1vZGUgaXMgdG8gYmUgaW52ZXN0aWdhdGVkKSAqLworCisJLyogSUNXMjogODI1OUEtMiBJUjAtNyBtYXBwZWQgdG8gSVJROF9WRUNUT1IgKi8KKwlvdXRiX3BpYyhJUlE4X1ZFQ1RPUiwgUElDX1NMQVZFX0lNUik7CisJLyogODI1OUEtMiBpcyBhIHNsYXZlIG9uIG1hc3RlcidzIElSMiAqLworCW91dGJfcGljKFBJQ19DQVNDQURFX0lSLCBQSUNfU0xBVkVfSU1SKTsKKwkvKiAoc2xhdmUncyBzdXBwb3J0IGZvciBBRU9JIGluIGZsYXQgbW9kZSBpcyB0byBiZSBpbnZlc3RpZ2F0ZWQpICovCisJb3V0Yl9waWMoU0xBVkVfSUNXNF9ERUZBVUxULCBQSUNfU0xBVkVfSU1SKTsKKwogCWlmIChhdXRvX2VvaSkKIAkJLyoKIAkJICogSW4gQUVPSSBtb2RlIHdlIGp1c3QgaGF2ZSB0byBtYXNrIHRoZSBpbnRlcnJ1cHQKQEAgLTMxNyw5MyArMzM1LDMgQEAKIAogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmk4MjU5QV9sb2NrLCBmbGFncyk7CiB9Ci0KLS8qCi0gKiBOb3RlIHRoYXQgb24gYSA0ODYsIHdlIGRvbid0IHdhbnQgdG8gZG8gYSBTSUdGUEUgb24gYW4gaXJxMTMKLSAqIGFzIHRoZSBpcnEgaXMgdW5yZWxpYWJsZSwgYW5kIGV4Y2VwdGlvbiAxNiB3b3JrcyBjb3JyZWN0bHkKLSAqIChpZSBhcyBleHBsYWluZWQgaW4gdGhlIGludGVsIGxpdGVyYXR1cmUpLiBPbiBhIDM4NiwgeW91Ci0gKiBjYW4ndCB1c2UgZXhjZXB0aW9uIDE2IGR1ZSB0byBiYWQgSUJNIGRlc2lnbiwgc28gd2UgaGF2ZSB0bwotICogcmVseSBvbiB0aGUgbGVzcyBleGFjdCBpcnExMy4KLSAqCi0gKiBDYXJlZnVsLi4gTm90IG9ubHkgaXMgSVJRMTMgdW5yZWxpYWJsZSwgYnV0IGl0IGlzIGFsc28KLSAqIGxlYWRzIHRvIHJhY2VzLiBJQk0gZGVzaWduZXJzIHdobyBjYW1lIHVwIHdpdGggaXQgc2hvdWxkCi0gKiBiZSBzaG90LgotICovCi0gCi0KLXN0YXRpYyBpcnFyZXR1cm5fdCBtYXRoX2Vycm9yX2lycShpbnQgY3BsLCB2b2lkICpkZXZfaWQpCi17Ci0JZXh0ZXJuIHZvaWQgbWF0aF9lcnJvcih2b2lkIF9fdXNlciAqKTsKLQlvdXRiKDAsMHhGMCk7Ci0JaWYgKGlnbm9yZV9mcHVfaXJxIHx8ICFib290X2NwdV9kYXRhLmhhcmRfbWF0aCkKLQkJcmV0dXJuIElSUV9OT05FOwotCW1hdGhfZXJyb3IoKHZvaWQgX191c2VyICopZ2V0X2lycV9yZWdzKCktPmlwKTsKLQlyZXR1cm4gSVJRX0hBTkRMRUQ7Ci19Ci0KLS8qCi0gKiBOZXcgbW90aGVyYm9hcmRzIHNvbWV0aW1lcyBtYWtlIElSUSAxMyBiZSBhIFBDSSBpbnRlcnJ1cHQsCi0gKiBzbyBhbGxvdyBpbnRlcnJ1cHQgc2hhcmluZy4KLSAqLwotc3RhdGljIHN0cnVjdCBpcnFhY3Rpb24gZnB1X2lycSA9IHsKLQkuaGFuZGxlciA9IG1hdGhfZXJyb3JfaXJxLAotCS5tYXNrID0gQ1BVX01BU0tfTk9ORSwKLQkubmFtZSA9ICJmcHUiLAotfTsKLQotdm9pZCBfX2luaXQgaW5pdF9JU0FfaXJxcyAodm9pZCkKLXsKLQlpbnQgaTsKLQotI2lmZGVmIENPTkZJR19YODZfTE9DQUxfQVBJQwotCWluaXRfYnNwX0FQSUMoKTsKLSNlbmRpZgotCWluaXRfODI1OUEoMCk7Ci0KLQkvKgotCSAqIDE2IG9sZC1zdHlsZSBJTlRBLWN5Y2xlIGludGVycnVwdHM6Ci0JICovCi0JZm9yIChpID0gMDsgaSA8IDE2OyBpKyspIHsKLQkJc2V0X2lycV9jaGlwX2FuZF9oYW5kbGVyX25hbWUoaSwgJmk4MjU5QV9jaGlwLAotCQkJCQkgICAgICBoYW5kbGVfbGV2ZWxfaXJxLCAiWFQiKTsKLQl9Ci19Ci0KLS8qIE92ZXJyaWRkZW4gaW4gcGFyYXZpcnQuYyAqLwotdm9pZCBpbml0X0lSUSh2b2lkKSBfX2F0dHJpYnV0ZV9fKCh3ZWFrLCBhbGlhcygibmF0aXZlX2luaXRfSVJRIikpKTsKLQotdm9pZCBfX2luaXQgbmF0aXZlX2luaXRfSVJRKHZvaWQpCi17Ci0JaW50IGk7Ci0KLQkvKiBhbGwgdGhlIHNldCB1cCBiZWZvcmUgdGhlIGNhbGwgZ2F0ZXMgYXJlIGluaXRpYWxpc2VkICovCi0JcHJlX2ludHJfaW5pdF9ob29rKCk7Ci0KLQkvKgotCSAqIENvdmVyIHRoZSB3aG9sZSB2ZWN0b3Igc3BhY2UsIG5vIHZlY3RvciBjYW4gZXNjYXBlCi0JICogdXMuIChzb21lIG9mIHRoZXNlIHdpbGwgYmUgb3ZlcnJpZGRlbiBhbmQgYmVjb21lCi0JICogJ3NwZWNpYWwnIFNNUCBpbnRlcnJ1cHRzKQotCSAqLwotCWZvciAoaSA9IDA7IGkgPCAoTlJfVkVDVE9SUyAtIEZJUlNUX0VYVEVSTkFMX1ZFQ1RPUik7IGkrKykgewotCQlpbnQgdmVjdG9yID0gRklSU1RfRVhURVJOQUxfVkVDVE9SICsgaTsKLQkJaWYgKGkgPj0gTlJfSVJRUykKLQkJCWJyZWFrOwotCQkvKiBTWVNDQUxMX1ZFQ1RPUiB3YXMgcmVzZXJ2ZWQgaW4gdHJhcF9pbml0LiAqLwotCQlpZiAoIXRlc3RfYml0KHZlY3RvciwgdXNlZF92ZWN0b3JzKSkKLQkJCXNldF9pbnRyX2dhdGUodmVjdG9yLCBpbnRlcnJ1cHRbaV0pOwotCX0KLQotCS8qIHNldHVwIGFmdGVyIGNhbGwgZ2F0ZXMgYXJlIGluaXRpYWxpc2VkICh1c3VhbGx5IGFkZCBpbgotCSAqIHRoZSBhcmNoaXRlY3R1cmUgc3BlY2lmaWMgZ2F0ZXMpCi0JICovCi0JaW50cl9pbml0X2hvb2soKTsKLQotCS8qCi0JICogRXh0ZXJuYWwgRlBVPyBTZXQgdXAgaXJxMTMgaWYgc28sIGZvcgotCSAqIG9yaWdpbmFsIGJyYWluZGFtYWdlZCBJQk0gRkVSUiBjb3VwbGluZy4KLQkgKi8KLQlpZiAoYm9vdF9jcHVfZGF0YS5oYXJkX21hdGggJiYgIWNwdV9oYXNfZnB1KQotCQlzZXR1cF9pcnEoRlBVX0lSUSwgJmZwdV9pcnEpOwotCi0JaXJxX2N0eF9pbml0KHNtcF9wcm9jZXNzb3JfaWQoKSk7Ci19CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvaTgyNTlfNjQuYyBiL2FyY2gveDg2L2tlcm5lbC9pODI1OV82NC5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmYTU3YTE1Li4wMDAwMDAwCi0tLSBhL2FyY2gveDg2L2tlcm5lbC9pODI1OV82NC5jCisrKyAvZGV2L251bGwKQEAgLTEsNTEyICswLDAgQEAKLSNpbmNsdWRlIDxsaW51eC9saW5rYWdlLmg+Ci0jaW5jbHVkZSA8bGludXgvZXJybm8uaD4KLSNpbmNsdWRlIDxsaW51eC9zaWduYWwuaD4KLSNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgotI2luY2x1ZGUgPGxpbnV4L2lvcG9ydC5oPgotI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgotI2luY2x1ZGUgPGxpbnV4L3RpbWV4Lmg+Ci0jaW5jbHVkZSA8bGludXgvc2xhYi5oPgotI2luY2x1ZGUgPGxpbnV4L3JhbmRvbS5oPgotI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KLSNpbmNsdWRlIDxsaW51eC9rZXJuZWxfc3RhdC5oPgotI2luY2x1ZGUgPGxpbnV4L3N5c2Rldi5oPgotI2luY2x1ZGUgPGxpbnV4L2JpdG9wcy5oPgotCi0jaW5jbHVkZSA8YXNtL2FjcGkuaD4KLSNpbmNsdWRlIDxhc20vYXRvbWljLmg+Ci0jaW5jbHVkZSA8YXNtL3N5c3RlbS5oPgotI2luY2x1ZGUgPGFzbS9pby5oPgotI2luY2x1ZGUgPGFzbS9od19pcnEuaD4KLSNpbmNsdWRlIDxhc20vcGd0YWJsZS5oPgotI2luY2x1ZGUgPGFzbS9kZWxheS5oPgotI2luY2x1ZGUgPGFzbS9kZXNjLmg+Ci0jaW5jbHVkZSA8YXNtL2FwaWMuaD4KLSNpbmNsdWRlIDxhc20vaTgyNTkuaD4KLQotLyoKLSAqIENvbW1vbiBwbGFjZSB0byBkZWZpbmUgYWxsIHg4NiBJUlEgdmVjdG9ycwotICoKLSAqIFRoaXMgYnVpbGRzIHVwIHRoZSBJUlEgaGFuZGxlciBzdHVicyB1c2luZyBzb21lIHVnbHkgbWFjcm9zIGluIGlycS5oCi0gKgotICogVGhlc2UgbWFjcm9zIGNyZWF0ZSB0aGUgbG93LWxldmVsIGFzc2VtYmx5IElSUSByb3V0aW5lcyB0aGF0IHNhdmUKLSAqIHJlZ2lzdGVyIGNvbnRleHQgYW5kIGNhbGwgZG9fSVJRKCkuIGRvX0lSUSgpIHRoZW4gZG9lcyBhbGwgdGhlCi0gKiBvcGVyYXRpb25zIHRoYXQgYXJlIG5lZWRlZCB0byBrZWVwIHRoZSBBVCAob3IgU01QIElPQVBJQykKLSAqIGludGVycnVwdC1jb250cm9sbGVyIGhhcHB5LgotICovCi0KLSNkZWZpbmUgQkkoeCx5KSBcCi0JQlVJTERfSVJRKHgjI3kpCi0KLSNkZWZpbmUgQlVJTERfMTZfSVJRUyh4KSBcCi0JQkkoeCwwKSBCSSh4LDEpIEJJKHgsMikgQkkoeCwzKSBcCi0JQkkoeCw0KSBCSSh4LDUpIEJJKHgsNikgQkkoeCw3KSBcCi0JQkkoeCw4KSBCSSh4LDkpIEJJKHgsYSkgQkkoeCxiKSBcCi0JQkkoeCxjKSBCSSh4LGQpIEJJKHgsZSkgQkkoeCxmKQotCi0vKgotICogSVNBIFBJQyBvciBsb3cgSU8tQVBJQyB0cmlnZ2VyZWQgKElOVEEtY3ljbGUgb3IgQVBJQykgaW50ZXJydXB0czoKLSAqICh0aGVzZSBhcmUgdXN1YWxseSBtYXBwZWQgdG8gdmVjdG9ycyAweDMwLTB4M2YpCi0gKi8KLQotLyoKLSAqIFRoZSBJTy1BUElDIGdpdmVzIHVzIG1hbnkgbW9yZSBpbnRlcnJ1cHQgc291cmNlcy4gTW9zdCBvZiB0aGVzZQotICogYXJlIHVudXNlZCBidXQgYW4gU01QIHN5c3RlbSBpcyBzdXBwb3NlZCB0byBoYXZlIGVub3VnaCBtZW1vcnkgLi4uCi0gKiBzb21ldGltZXMgKG1vc3RseSB3cnQuIGh3IGJ1Z3MpIHdlIGdldCBjb3JydXB0ZWQgdmVjdG9ycyBhbGwKLSAqIGFjcm9zcyB0aGUgc3BlY3RydW0sIHNvIHdlIHJlYWxseSB3YW50IHRvIGJlIHByZXBhcmVkIHRvIGdldCBhbGwKLSAqIG9mIHRoZXNlLiBQbHVzLCBtb3JlIHBvd2VyZnVsIHN5c3RlbXMgbWlnaHQgaGF2ZSBtb3JlIHRoYW4gNjQKLSAqIElPLUFQSUMgcmVnaXN0ZXJzLgotICoKLSAqICh0aGVzZSBhcmUgdXN1YWxseSBtYXBwZWQgaW50byB0aGUgMHgzMC0weGZmIHZlY3RvciByYW5nZSkKLSAqLwotCQkJCSAgICAgIEJVSUxEXzE2X0lSUVMoMHgyKSBCVUlMRF8xNl9JUlFTKDB4MykKLUJVSUxEXzE2X0lSUVMoMHg0KSBCVUlMRF8xNl9JUlFTKDB4NSkgQlVJTERfMTZfSVJRUygweDYpIEJVSUxEXzE2X0lSUVMoMHg3KQotQlVJTERfMTZfSVJRUygweDgpIEJVSUxEXzE2X0lSUVMoMHg5KSBCVUlMRF8xNl9JUlFTKDB4YSkgQlVJTERfMTZfSVJRUygweGIpCi1CVUlMRF8xNl9JUlFTKDB4YykgQlVJTERfMTZfSVJRUygweGQpIEJVSUxEXzE2X0lSUVMoMHhlKSBCVUlMRF8xNl9JUlFTKDB4ZikKLQotI3VuZGVmIEJVSUxEXzE2X0lSUVMKLSN1bmRlZiBCSQotCi0KLSNkZWZpbmUgSVJRKHgseSkgXAotCUlSUSMjeCMjeSMjX2ludGVycnVwdAotCi0jZGVmaW5lIElSUUxJU1RfMTYoeCkgXAotCUlSUSh4LDApLCBJUlEoeCwxKSwgSVJRKHgsMiksIElSUSh4LDMpLCBcCi0JSVJRKHgsNCksIElSUSh4LDUpLCBJUlEoeCw2KSwgSVJRKHgsNyksIFwKLQlJUlEoeCw4KSwgSVJRKHgsOSksIElSUSh4LGEpLCBJUlEoeCxiKSwgXAotCUlSUSh4LGMpLCBJUlEoeCxkKSwgSVJRKHgsZSksIElSUSh4LGYpCi0KLS8qIGZvciB0aGUgaXJxIHZlY3RvcnMgKi8KLXN0YXRpYyB2b2lkICgqX19pbml0ZGF0YSBpbnRlcnJ1cHRbTlJfVkVDVE9SUyAtIEZJUlNUX0VYVEVSTkFMX1ZFQ1RPUl0pKHZvaWQpID0gewotCQkJCQkgIElSUUxJU1RfMTYoMHgyKSwgSVJRTElTVF8xNigweDMpLAotCUlSUUxJU1RfMTYoMHg0KSwgSVJRTElTVF8xNigweDUpLCBJUlFMSVNUXzE2KDB4NiksIElSUUxJU1RfMTYoMHg3KSwKLQlJUlFMSVNUXzE2KDB4OCksIElSUUxJU1RfMTYoMHg5KSwgSVJRTElTVF8xNigweGEpLCBJUlFMSVNUXzE2KDB4YiksCi0JSVJRTElTVF8xNigweGMpLCBJUlFMSVNUXzE2KDB4ZCksIElSUUxJU1RfMTYoMHhlKSwgSVJRTElTVF8xNigweGYpCi19OwotCi0jdW5kZWYgSVJRCi0jdW5kZWYgSVJRTElTVF8xNgotCi0vKgotICogVGhpcyBpcyB0aGUgJ2xlZ2FjeScgODI1OUEgUHJvZ3JhbW1hYmxlIEludGVycnVwdCBDb250cm9sbGVyLAotICogcHJlc2VudCBpbiB0aGUgbWFqb3JpdHkgb2YgUEMvQVQgYm94ZXMuCi0gKiBwbHVzIHNvbWUgZ2VuZXJpYyB4ODYgc3BlY2lmaWMgdGhpbmdzIGlmIGdlbmVyaWMgc3BlY2lmaWNzIG1ha2VzCi0gKiBhbnkgc2Vuc2UgYXQgYWxsLgotICogdGhpcyBmaWxlIHNob3VsZCBiZWNvbWUgYXJjaC9pMzg2L2tlcm5lbC9pcnEuYyB3aGVuIHRoZSBvbGQgaXJxLmMKLSAqIG1vdmVzIHRvIGFyY2ggaW5kZXBlbmRlbnQgbGFuZAotICovCi0KLXN0YXRpYyBpbnQgaTgyNTlBX2F1dG9fZW9pOwotREVGSU5FX1NQSU5MT0NLKGk4MjU5QV9sb2NrKTsKLXN0YXRpYyB2b2lkIG1hc2tfYW5kX2Fja184MjU5QSh1bnNpZ25lZCBpbnQpOwotCi1zdGF0aWMgc3RydWN0IGlycV9jaGlwIGk4MjU5QV9jaGlwID0gewotCS5uYW1lCQk9ICJYVC1QSUMiLAotCS5tYXNrCQk9IGRpc2FibGVfODI1OUFfaXJxLAotCS5kaXNhYmxlCT0gZGlzYWJsZV84MjU5QV9pcnEsCi0JLnVubWFzawkJPSBlbmFibGVfODI1OUFfaXJxLAotCS5tYXNrX2Fjawk9IG1hc2tfYW5kX2Fja184MjU5QSwKLX07Ci0KLS8qCi0gKiA4MjU5QSBQSUMgZnVuY3Rpb25zIHRvIGhhbmRsZSBJU0EgZGV2aWNlczoKLSAqLwotCi0vKgotICogVGhpcyBjb250YWlucyB0aGUgaXJxIG1hc2sgZm9yIGJvdGggODI1OUEgaXJxIGNvbnRyb2xsZXJzLAotICovCi11bnNpZ25lZCBpbnQgY2FjaGVkX2lycV9tYXNrID0gMHhmZmZmOwotCi0vKgotICogTm90IGFsbCBJUlFzIGNhbiBiZSByb3V0ZWQgdGhyb3VnaCB0aGUgSU8tQVBJQywgZWcuIG9uIGNlcnRhaW4gKG9sZGVyKQotICogYm9hcmRzIHRoZSB0aW1lciBpbnRlcnJ1cHQgaXMgbm90IHJlYWxseSBjb25uZWN0ZWQgdG8gYW55IElPLUFQSUMgcGluLAotICogaXQncyBmZWQgdG8gdGhlIG1hc3RlciA4MjU5QSdzIElSMCBsaW5lIG9ubHkuCi0gKgotICogQW55ICcxJyBiaXQgaW4gdGhpcyBtYXNrIG1lYW5zIHRoZSBJUlEgaXMgcm91dGVkIHRocm91Z2ggdGhlIElPLUFQSUMuCi0gKiB0aGlzICdtaXhlZCBtb2RlJyBJUlEgaGFuZGxpbmcgY29zdHMgbm90aGluZyBiZWNhdXNlIGl0J3Mgb25seSB1c2VkCi0gKiBhdCBJUlEgc2V0dXAgdGltZS4KLSAqLwotdW5zaWduZWQgbG9uZyBpb19hcGljX2lycXM7Ci0KLXZvaWQgZGlzYWJsZV84MjU5QV9pcnEodW5zaWduZWQgaW50IGlycSkKLXsKLQl1bnNpZ25lZCBpbnQgbWFzayA9IDEgPDwgaXJxOwotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0KLQlzcGluX2xvY2tfaXJxc2F2ZSgmaTgyNTlBX2xvY2ssIGZsYWdzKTsKLQljYWNoZWRfaXJxX21hc2sgfD0gbWFzazsKLQlpZiAoaXJxICYgOCkKLQkJb3V0YihjYWNoZWRfc2xhdmVfbWFzaywgUElDX1NMQVZFX0lNUik7Ci0JZWxzZQotCQlvdXRiKGNhY2hlZF9tYXN0ZXJfbWFzaywgUElDX01BU1RFUl9JTVIpOwotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmk4MjU5QV9sb2NrLCBmbGFncyk7Ci19Ci0KLXZvaWQgZW5hYmxlXzgyNTlBX2lycSh1bnNpZ25lZCBpbnQgaXJxKQotewotCXVuc2lnbmVkIGludCBtYXNrID0gfigxIDw8IGlycSk7Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQotCXNwaW5fbG9ja19pcnFzYXZlKCZpODI1OUFfbG9jaywgZmxhZ3MpOwotCWNhY2hlZF9pcnFfbWFzayAmPSBtYXNrOwotCWlmIChpcnEgJiA4KQotCQlvdXRiKGNhY2hlZF9zbGF2ZV9tYXNrLCBQSUNfU0xBVkVfSU1SKTsKLQllbHNlCi0JCW91dGIoY2FjaGVkX21hc3Rlcl9tYXNrLCBQSUNfTUFTVEVSX0lNUik7Ci0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaTgyNTlBX2xvY2ssIGZsYWdzKTsKLX0KLQotaW50IGk4MjU5QV9pcnFfcGVuZGluZyh1bnNpZ25lZCBpbnQgaXJxKQotewotCXVuc2lnbmVkIGludCBtYXNrID0gMTw8aXJxOwotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0JaW50IHJldDsKLQotCXNwaW5fbG9ja19pcnFzYXZlKCZpODI1OUFfbG9jaywgZmxhZ3MpOwotCWlmIChpcnEgPCA4KQotCQlyZXQgPSBpbmIoUElDX01BU1RFUl9DTUQpICYgbWFzazsKLQllbHNlCi0JCXJldCA9IGluYihQSUNfU0xBVkVfQ01EKSAmIChtYXNrID4+IDgpOwotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmk4MjU5QV9sb2NrLCBmbGFncyk7Ci0KLQlyZXR1cm4gcmV0OwotfQotCi12b2lkIG1ha2VfODI1OUFfaXJxKHVuc2lnbmVkIGludCBpcnEpCi17Ci0JZGlzYWJsZV9pcnFfbm9zeW5jKGlycSk7Ci0JaW9fYXBpY19pcnFzICY9IH4oMTw8aXJxKTsKLQlzZXRfaXJxX2NoaXBfYW5kX2hhbmRsZXJfbmFtZShpcnEsICZpODI1OUFfY2hpcCwgaGFuZGxlX2xldmVsX2lycSwKLQkJCQkgICAgICAiWFQiKTsKLQllbmFibGVfaXJxKGlycSk7Ci19Ci0KLS8qCi0gKiBUaGlzIGZ1bmN0aW9uIGFzc3VtZXMgdG8gYmUgY2FsbGVkIHJhcmVseS4gU3dpdGNoaW5nIGJldHdlZW4KLSAqIDgyNTlBIHJlZ2lzdGVycyBpcyBzbG93LgotICogVGhpcyBoYXMgdG8gYmUgcHJvdGVjdGVkIGJ5IHRoZSBpcnEgY29udHJvbGxlciBzcGlubG9jawotICogYmVmb3JlIGJlaW5nIGNhbGxlZC4KLSAqLwotc3RhdGljIGlubGluZSBpbnQgaTgyNTlBX2lycV9yZWFsKHVuc2lnbmVkIGludCBpcnEpCi17Ci0JaW50IHZhbHVlOwotCWludCBpcnFtYXNrID0gMTw8aXJxOwotCi0JaWYgKGlycSA8IDgpIHsKLQkJb3V0YigweDBCLFBJQ19NQVNURVJfQ01EKTsJLyogSVNSIHJlZ2lzdGVyICovCi0JCXZhbHVlID0gaW5iKFBJQ19NQVNURVJfQ01EKSAmIGlycW1hc2s7Ci0JCW91dGIoMHgwQSxQSUNfTUFTVEVSX0NNRCk7CS8qIGJhY2sgdG8gdGhlIElSUiByZWdpc3RlciAqLwotCQlyZXR1cm4gdmFsdWU7Ci0JfQotCW91dGIoMHgwQixQSUNfU0xBVkVfQ01EKTsJLyogSVNSIHJlZ2lzdGVyICovCi0JdmFsdWUgPSBpbmIoUElDX1NMQVZFX0NNRCkgJiAoaXJxbWFzayA+PiA4KTsKLQlvdXRiKDB4MEEsUElDX1NMQVZFX0NNRCk7CS8qIGJhY2sgdG8gdGhlIElSUiByZWdpc3RlciAqLwotCXJldHVybiB2YWx1ZTsKLX0KLQotLyoKLSAqIENhcmVmdWwhIFRoZSA4MjU5QSBpcyBhIGZyYWdpbGUgYmVhc3QsIGl0IHByZXR0eQotICogbXVjaCBfaGFzXyB0byBiZSBkb25lIGV4YWN0bHkgbGlrZSB0aGlzIChtYXNrIGl0Ci0gKiBmaXJzdCwgX3RoZW5fIHNlbmQgdGhlIEVPSSwgYW5kIHRoZSBvcmRlciBvZiBFT0kKLSAqIHRvIHRoZSB0d28gODI1OXMgaXMgaW1wb3J0YW50IQotICovCi1zdGF0aWMgdm9pZCBtYXNrX2FuZF9hY2tfODI1OUEodW5zaWduZWQgaW50IGlycSkKLXsKLQl1bnNpZ25lZCBpbnQgaXJxbWFzayA9IDEgPDwgaXJxOwotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0KLQlzcGluX2xvY2tfaXJxc2F2ZSgmaTgyNTlBX2xvY2ssIGZsYWdzKTsKLQkvKgotCSAqIExpZ2h0d2VpZ2h0IHNwdXJpb3VzIElSUSBkZXRlY3Rpb24uIFdlIGRvIG5vdCB3YW50Ci0JICogdG8gb3ZlcmRvIHNwdXJpb3VzIElSUSBoYW5kbGluZyAtIGl0J3MgdXN1YWxseSBhIHNpZ24KLQkgKiBvZiBoYXJkd2FyZSBwcm9ibGVtcywgc28gd2Ugb25seSBkbyB0aGUgY2hlY2tzIHdlIGNhbgotCSAqIGRvIHdpdGhvdXQgc2xvd2luZyBkb3duIGdvb2QgaGFyZHdhcmUgdW5uZWNlc3NhcmlseS4KLQkgKgotCSAqIE5vdGUgdGhhdCBJUlE3IGFuZCBJUlExNSAodGhlIHR3byBzcHVyaW91cyBJUlFzCi0JICogdXN1YWxseSByZXN1bHRpbmcgZnJvbSB0aGUgODI1OUEtMXwyIFBJQ3MpIG9jY3VyCi0JICogZXZlbiBpZiB0aGUgSVJRIGlzIG1hc2tlZCBpbiB0aGUgODI1OUEuIFRodXMgd2UKLQkgKiBjYW4gY2hlY2sgc3B1cmlvdXMgODI1OUEgSVJRcyB3aXRob3V0IGRvaW5nIHRoZQotCSAqIHF1aXRlIHNsb3cgaTgyNTlBX2lycV9yZWFsKCkgY2FsbCBmb3IgZXZlcnkgSVJRLgotCSAqIFRoaXMgZG9lcyBub3QgY292ZXIgMTAwJSBvZiBzcHVyaW91cyBpbnRlcnJ1cHRzLAotCSAqIGJ1dCBzaG91bGQgYmUgZW5vdWdoIHRvIHdhcm4gdGhlIHVzZXIgdGhhdCB0aGVyZQotCSAqIGlzIHNvbWV0aGluZyBiYWQgZ29pbmcgb24gLi4uCi0JICovCi0JaWYgKGNhY2hlZF9pcnFfbWFzayAmIGlycW1hc2spCi0JCWdvdG8gc3B1cmlvdXNfODI1OUFfaXJxOwotCWNhY2hlZF9pcnFfbWFzayB8PSBpcnFtYXNrOwotCi1oYW5kbGVfcmVhbF9pcnE6Ci0JaWYgKGlycSAmIDgpIHsKLQkJaW5iKFBJQ19TTEFWRV9JTVIpOwkvKiBEVU1NWSAtIChkbyB3ZSBuZWVkIHRoaXM/KSAqLwotCQlvdXRiKGNhY2hlZF9zbGF2ZV9tYXNrLCBQSUNfU0xBVkVfSU1SKTsKLQkJLyogJ1NwZWNpZmljIEVPSScgdG8gc2xhdmUgKi8KLQkJb3V0YigweDYwKyhpcnEmNyksUElDX1NMQVZFX0NNRCk7Ci0JCSAvKiAnU3BlY2lmaWMgRU9JJyB0byBtYXN0ZXItSVJRMiAqLwotCQlvdXRiKDB4NjArUElDX0NBU0NBREVfSVIsUElDX01BU1RFUl9DTUQpOwotCX0gZWxzZSB7Ci0JCWluYihQSUNfTUFTVEVSX0lNUik7CS8qIERVTU1ZIC0gKGRvIHdlIG5lZWQgdGhpcz8pICovCi0JCW91dGIoY2FjaGVkX21hc3Rlcl9tYXNrLCBQSUNfTUFTVEVSX0lNUik7Ci0JCS8qICdTcGVjaWZpYyBFT0knIHRvIG1hc3RlciAqLwotCQlvdXRiKDB4NjAraXJxLFBJQ19NQVNURVJfQ01EKTsKLQl9Ci0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaTgyNTlBX2xvY2ssIGZsYWdzKTsKLQlyZXR1cm47Ci0KLXNwdXJpb3VzXzgyNTlBX2lycToKLQkvKgotCSAqIHRoaXMgaXMgdGhlIHNsb3cgcGF0aCAtIHNob3VsZCBoYXBwZW4gcmFyZWx5LgotCSAqLwotCWlmIChpODI1OUFfaXJxX3JlYWwoaXJxKSkKLQkJLyoKLQkJICogb29wcywgdGhlIElSUSBfaXNfIGluIHNlcnZpY2UgYWNjb3JkaW5nIHRvIHRoZQotCQkgKiA4MjU5QSAtIG5vdCBzcHVyaW91cywgZ28gaGFuZGxlIGl0LgotCQkgKi8KLQkJZ290byBoYW5kbGVfcmVhbF9pcnE7Ci0KLQl7Ci0JCXN0YXRpYyBpbnQgc3B1cmlvdXNfaXJxX21hc2s7Ci0JCS8qCi0JCSAqIEF0IHRoaXMgcG9pbnQgd2UgY2FuIGJlIHN1cmUgdGhlIElSUSBpcyBzcHVyaW91cywKLQkJICogbGV0cyBBQ0sgYW5kIHJlcG9ydCBpdC4gW29uY2UgcGVyIElSUV0KLQkJICovCi0JCWlmICghKHNwdXJpb3VzX2lycV9tYXNrICYgaXJxbWFzaykpIHsKLQkJCXByaW50ayhLRVJOX0RFQlVHCi0JCQkgICAgICAgInNwdXJpb3VzIDgyNTlBIGludGVycnVwdDogSVJRJWQuXG4iLCBpcnEpOwotCQkJc3B1cmlvdXNfaXJxX21hc2sgfD0gaXJxbWFzazsKLQkJfQotCQlhdG9taWNfaW5jKCZpcnFfZXJyX2NvdW50KTsKLQkJLyoKLQkJICogVGhlb3JldGljYWxseSB3ZSBkbyBub3QgaGF2ZSB0byBoYW5kbGUgdGhpcyBJUlEsCi0JCSAqIGJ1dCBpbiBMaW51eCB0aGlzIGRvZXMgbm90IGNhdXNlIHByb2JsZW1zIGFuZCBpcwotCQkgKiBzaW1wbGVyIGZvciB1cy4KLQkJICovCi0JCWdvdG8gaGFuZGxlX3JlYWxfaXJxOwotCX0KLX0KLQotc3RhdGljIGNoYXIgaXJxX3RyaWdnZXJbMl07Ci0vKioKLSAqIEVMQ1IgcmVnaXN0ZXJzICgweDRkMCwgMHg0ZDEpIGNvbnRyb2wgZWRnZS9sZXZlbCBvZiBJUlEKLSAqLwotc3RhdGljIHZvaWQgcmVzdG9yZV9FTENSKGNoYXIgKnRyaWdnZXIpCi17Ci0Jb3V0Yih0cmlnZ2VyWzBdLCAweDRkMCk7Ci0Jb3V0Yih0cmlnZ2VyWzFdLCAweDRkMSk7Ci19Ci0KLXN0YXRpYyB2b2lkIHNhdmVfRUxDUihjaGFyICp0cmlnZ2VyKQotewotCS8qIElSUSAwLDEsMiw4LDEzIGFyZSBtYXJrZWQgYXMgcmVzZXJ2ZWQgKi8KLQl0cmlnZ2VyWzBdID0gaW5iKDB4NGQwKSAmIDB4Rjg7Ci0JdHJpZ2dlclsxXSA9IGluYigweDRkMSkgJiAweERFOwotfQotCi1zdGF0aWMgaW50IGk4MjU5QV9yZXN1bWUoc3RydWN0IHN5c19kZXZpY2UgKmRldikKLXsKLQlpbml0XzgyNTlBKGk4MjU5QV9hdXRvX2VvaSk7Ci0JcmVzdG9yZV9FTENSKGlycV90cmlnZ2VyKTsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBpODI1OUFfc3VzcGVuZChzdHJ1Y3Qgc3lzX2RldmljZSAqZGV2LCBwbV9tZXNzYWdlX3Qgc3RhdGUpCi17Ci0Jc2F2ZV9FTENSKGlycV90cmlnZ2VyKTsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBpODI1OUFfc2h1dGRvd24oc3RydWN0IHN5c19kZXZpY2UgKmRldikKLXsKLQkvKiBQdXQgdGhlIGk4MjU5QSBpbnRvIGEgcXVpZXNjZW50IHN0YXRlIHRoYXQKLQkgKiB0aGUga2VybmVsIGluaXRpYWxpemF0aW9uIGNvZGUgY2FuIGdldCBpdAotCSAqIG91dCBvZi4KLQkgKi8KLQlvdXRiKDB4ZmYsIFBJQ19NQVNURVJfSU1SKTsJLyogbWFzayBhbGwgb2YgODI1OUEtMSAqLwotCW91dGIoMHhmZiwgUElDX1NMQVZFX0lNUik7CS8qIG1hc2sgYWxsIG9mIDgyNTlBLTEgKi8KLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHN0cnVjdCBzeXNkZXZfY2xhc3MgaTgyNTlfc3lzZGV2X2NsYXNzID0gewotCS5uYW1lID0gImk4MjU5IiwKLQkuc3VzcGVuZCA9IGk4MjU5QV9zdXNwZW5kLAotCS5yZXN1bWUgPSBpODI1OUFfcmVzdW1lLAotCS5zaHV0ZG93biA9IGk4MjU5QV9zaHV0ZG93biwKLX07Ci0KLXN0YXRpYyBzdHJ1Y3Qgc3lzX2RldmljZSBkZXZpY2VfaTgyNTlBID0gewotCS5pZAk9IDAsCi0JLmNscwk9ICZpODI1OV9zeXNkZXZfY2xhc3MsCi19OwotCi1zdGF0aWMgaW50IF9faW5pdCBpODI1OUFfaW5pdF9zeXNmcyh2b2lkKQotewotCWludCBlcnJvciA9IHN5c2Rldl9jbGFzc19yZWdpc3RlcigmaTgyNTlfc3lzZGV2X2NsYXNzKTsKLQlpZiAoIWVycm9yKQotCQllcnJvciA9IHN5c2Rldl9yZWdpc3RlcigmZGV2aWNlX2k4MjU5QSk7Ci0JcmV0dXJuIGVycm9yOwotfQotCi1kZXZpY2VfaW5pdGNhbGwoaTgyNTlBX2luaXRfc3lzZnMpOwotCi12b2lkIGluaXRfODI1OUEoaW50IGF1dG9fZW9pKQotewotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0KLQlpODI1OUFfYXV0b19lb2kgPSBhdXRvX2VvaTsKLQotCXNwaW5fbG9ja19pcnFzYXZlKCZpODI1OUFfbG9jaywgZmxhZ3MpOwotCi0Jb3V0YigweGZmLCBQSUNfTUFTVEVSX0lNUik7CS8qIG1hc2sgYWxsIG9mIDgyNTlBLTEgKi8KLQlvdXRiKDB4ZmYsIFBJQ19TTEFWRV9JTVIpOwkvKiBtYXNrIGFsbCBvZiA4MjU5QS0yICovCi0KLQkvKgotCSAqIG91dGJfcGljIC0gdGhpcyBoYXMgdG8gd29yayBvbiBhIHdpZGUgcmFuZ2Ugb2YgUEMgaGFyZHdhcmUuCi0JICovCi0Jb3V0Yl9waWMoMHgxMSwgUElDX01BU1RFUl9DTUQpOwkvKiBJQ1cxOiBzZWxlY3QgODI1OUEtMSBpbml0ICovCi0JLyogSUNXMjogODI1OUEtMSBJUjAtNyBtYXBwZWQgdG8gMHgzMC0weDM3ICovCi0Jb3V0Yl9waWMoSVJRMF9WRUNUT1IsIFBJQ19NQVNURVJfSU1SKTsKLQkvKiA4MjU5QS0xICh0aGUgbWFzdGVyKSBoYXMgYSBzbGF2ZSBvbiBJUjIgKi8KLQlvdXRiX3BpYygweDA0LCBQSUNfTUFTVEVSX0lNUik7Ci0JaWYgKGF1dG9fZW9pKQkvKiBtYXN0ZXIgZG9lcyBBdXRvIEVPSSAqLwotCQlvdXRiX3BpYyhNQVNURVJfSUNXNF9ERUZBVUxUIHwgUElDX0lDVzRfQUVPSSwgUElDX01BU1RFUl9JTVIpOwotCWVsc2UJCS8qIG1hc3RlciBleHBlY3RzIG5vcm1hbCBFT0kgKi8KLQkJb3V0Yl9waWMoTUFTVEVSX0lDVzRfREVGQVVMVCwgUElDX01BU1RFUl9JTVIpOwotCi0Jb3V0Yl9waWMoMHgxMSwgUElDX1NMQVZFX0NNRCk7CS8qIElDVzE6IHNlbGVjdCA4MjU5QS0yIGluaXQgKi8KLQkvKiBJQ1cyOiA4MjU5QS0yIElSMC03IG1hcHBlZCB0byAweDM4LTB4M2YgKi8KLQlvdXRiX3BpYyhJUlE4X1ZFQ1RPUiwgUElDX1NMQVZFX0lNUik7Ci0JLyogODI1OUEtMiBpcyBhIHNsYXZlIG9uIG1hc3RlcidzIElSMiAqLwotCW91dGJfcGljKFBJQ19DQVNDQURFX0lSLCBQSUNfU0xBVkVfSU1SKTsKLQkvKiAoc2xhdmUncyBzdXBwb3J0IGZvciBBRU9JIGluIGZsYXQgbW9kZSBpcyB0byBiZSBpbnZlc3RpZ2F0ZWQpICovCi0Jb3V0Yl9waWMoU0xBVkVfSUNXNF9ERUZBVUxULCBQSUNfU0xBVkVfSU1SKTsKLQotCWlmIChhdXRvX2VvaSkKLQkJLyoKLQkJICogSW4gQUVPSSBtb2RlIHdlIGp1c3QgaGF2ZSB0byBtYXNrIHRoZSBpbnRlcnJ1cHQKLQkJICogd2hlbiBhY2tpbmcuCi0JCSAqLwotCQlpODI1OUFfY2hpcC5tYXNrX2FjayA9IGRpc2FibGVfODI1OUFfaXJxOwotCWVsc2UKLQkJaTgyNTlBX2NoaXAubWFza19hY2sgPSBtYXNrX2FuZF9hY2tfODI1OUE7Ci0KLQl1ZGVsYXkoMTAwKTsJCS8qIHdhaXQgZm9yIDgyNTlBIHRvIGluaXRpYWxpemUgKi8KLQotCW91dGIoY2FjaGVkX21hc3Rlcl9tYXNrLCBQSUNfTUFTVEVSX0lNUik7IC8qIHJlc3RvcmUgbWFzdGVyIElSUSBtYXNrICovCi0Jb3V0YihjYWNoZWRfc2xhdmVfbWFzaywgUElDX1NMQVZFX0lNUik7CSAgLyogcmVzdG9yZSBzbGF2ZSBJUlEgbWFzayAqLwotCi0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaTgyNTlBX2xvY2ssIGZsYWdzKTsKLX0KLQotCi0KLQotLyoKLSAqIElSUTIgaXMgY2FzY2FkZSBpbnRlcnJ1cHQgdG8gc2Vjb25kIGludGVycnVwdCBjb250cm9sbGVyCi0gKi8KLQotc3RhdGljIHN0cnVjdCBpcnFhY3Rpb24gaXJxMiA9IHsKLQkuaGFuZGxlciA9IG5vX2FjdGlvbiwKLQkubWFzayA9IENQVV9NQVNLX05PTkUsCi0JLm5hbWUgPSAiY2FzY2FkZSIsCi19OwotREVGSU5FX1BFUl9DUFUodmVjdG9yX2lycV90LCB2ZWN0b3JfaXJxKSA9IHsKLQlbMCAuLi4gSVJRMF9WRUNUT1IgLSAxXSA9IC0xLAotCVtJUlEwX1ZFQ1RPUl0gPSAwLAotCVtJUlExX1ZFQ1RPUl0gPSAxLAotCVtJUlEyX1ZFQ1RPUl0gPSAyLAotCVtJUlEzX1ZFQ1RPUl0gPSAzLAotCVtJUlE0X1ZFQ1RPUl0gPSA0LAotCVtJUlE1X1ZFQ1RPUl0gPSA1LAotCVtJUlE2X1ZFQ1RPUl0gPSA2LAotCVtJUlE3X1ZFQ1RPUl0gPSA3LAotCVtJUlE4X1ZFQ1RPUl0gPSA4LAotCVtJUlE5X1ZFQ1RPUl0gPSA5LAotCVtJUlExMF9WRUNUT1JdID0gMTAsCi0JW0lSUTExX1ZFQ1RPUl0gPSAxMSwKLQlbSVJRMTJfVkVDVE9SXSA9IDEyLAotCVtJUlExM19WRUNUT1JdID0gMTMsCi0JW0lSUTE0X1ZFQ1RPUl0gPSAxNCwKLQlbSVJRMTVfVkVDVE9SXSA9IDE1LAotCVtJUlExNV9WRUNUT1IgKyAxIC4uLiBOUl9WRUNUT1JTIC0gMV0gPSAtMQotfTsKLQotdm9pZCBfX2luaXQgaW5pdF9JU0FfaXJxcyAodm9pZCkKLXsKLQlpbnQgaTsKLQotCWluaXRfYnNwX0FQSUMoKTsKLQlpbml0XzgyNTlBKDApOwotCi0JZm9yIChpID0gMDsgaSA8IE5SX0lSUVM7IGkrKykgewotCQlpcnFfZGVzY1tpXS5zdGF0dXMgPSBJUlFfRElTQUJMRUQ7Ci0JCWlycV9kZXNjW2ldLmFjdGlvbiA9IE5VTEw7Ci0JCWlycV9kZXNjW2ldLmRlcHRoID0gMTsKLQotCQlpZiAoaSA8IDE2KSB7Ci0JCQkvKgotCQkJICogMTYgb2xkLXN0eWxlIElOVEEtY3ljbGUgaW50ZXJydXB0czoKLQkJCSAqLwotCQkJc2V0X2lycV9jaGlwX2FuZF9oYW5kbGVyX25hbWUoaSwgJmk4MjU5QV9jaGlwLAotCQkJCQkJICAgICAgaGFuZGxlX2xldmVsX2lycSwgIlhUIik7Ci0JCX0gZWxzZSB7Ci0JCQkvKgotCQkJICogJ2hpZ2gnIFBDSSBJUlFzIGZpbGxlZCBpbiBvbiBkZW1hbmQKLQkJCSAqLwotCQkJaXJxX2Rlc2NbaV0uY2hpcCA9ICZub19pcnFfY2hpcDsKLQkJfQotCX0KLX0KLQotdm9pZCBpbml0X0lSUSh2b2lkKSBfX2F0dHJpYnV0ZV9fKCh3ZWFrLCBhbGlhcygibmF0aXZlX2luaXRfSVJRIikpKTsKLQotdm9pZCBfX2luaXQgbmF0aXZlX2luaXRfSVJRKHZvaWQpCi17Ci0JaW50IGk7Ci0KLQlpbml0X0lTQV9pcnFzKCk7Ci0JLyoKLQkgKiBDb3ZlciB0aGUgd2hvbGUgdmVjdG9yIHNwYWNlLCBubyB2ZWN0b3IgY2FuIGVzY2FwZQotCSAqIHVzLiAoc29tZSBvZiB0aGVzZSB3aWxsIGJlIG92ZXJyaWRkZW4gYW5kIGJlY29tZQotCSAqICdzcGVjaWFsJyBTTVAgaW50ZXJydXB0cykKLQkgKi8KLQlmb3IgKGkgPSAwOyBpIDwgKE5SX1ZFQ1RPUlMgLSBGSVJTVF9FWFRFUk5BTF9WRUNUT1IpOyBpKyspIHsKLQkJaW50IHZlY3RvciA9IEZJUlNUX0VYVEVSTkFMX1ZFQ1RPUiArIGk7Ci0JCWlmICh2ZWN0b3IgIT0gSUEzMl9TWVNDQUxMX1ZFQ1RPUikKLQkJCXNldF9pbnRyX2dhdGUodmVjdG9yLCBpbnRlcnJ1cHRbaV0pOwotCX0KLQotI2lmZGVmIENPTkZJR19TTVAKLQkvKgotCSAqIFRoZSByZXNjaGVkdWxlIGludGVycnVwdCBpcyBhIENQVS10by1DUFUgcmVzY2hlZHVsZS1oZWxwZXIKLQkgKiBJUEksIGRyaXZlbiBieSB3YWtldXAuCi0JICovCi0Jc2V0X2ludHJfZ2F0ZShSRVNDSEVEVUxFX1ZFQ1RPUiwgcmVzY2hlZHVsZV9pbnRlcnJ1cHQpOwotCi0JLyogSVBJcyBmb3IgaW52YWxpZGF0aW9uICovCi0Jc2V0X2ludHJfZ2F0ZShJTlZBTElEQVRFX1RMQl9WRUNUT1JfU1RBUlQrMCwgaW52YWxpZGF0ZV9pbnRlcnJ1cHQwKTsKLQlzZXRfaW50cl9nYXRlKElOVkFMSURBVEVfVExCX1ZFQ1RPUl9TVEFSVCsxLCBpbnZhbGlkYXRlX2ludGVycnVwdDEpOwotCXNldF9pbnRyX2dhdGUoSU5WQUxJREFURV9UTEJfVkVDVE9SX1NUQVJUKzIsIGludmFsaWRhdGVfaW50ZXJydXB0Mik7Ci0Jc2V0X2ludHJfZ2F0ZShJTlZBTElEQVRFX1RMQl9WRUNUT1JfU1RBUlQrMywgaW52YWxpZGF0ZV9pbnRlcnJ1cHQzKTsKLQlzZXRfaW50cl9nYXRlKElOVkFMSURBVEVfVExCX1ZFQ1RPUl9TVEFSVCs0LCBpbnZhbGlkYXRlX2ludGVycnVwdDQpOwotCXNldF9pbnRyX2dhdGUoSU5WQUxJREFURV9UTEJfVkVDVE9SX1NUQVJUKzUsIGludmFsaWRhdGVfaW50ZXJydXB0NSk7Ci0Jc2V0X2ludHJfZ2F0ZShJTlZBTElEQVRFX1RMQl9WRUNUT1JfU1RBUlQrNiwgaW52YWxpZGF0ZV9pbnRlcnJ1cHQ2KTsKLQlzZXRfaW50cl9nYXRlKElOVkFMSURBVEVfVExCX1ZFQ1RPUl9TVEFSVCs3LCBpbnZhbGlkYXRlX2ludGVycnVwdDcpOwotCi0JLyogSVBJIGZvciBnZW5lcmljIGZ1bmN0aW9uIGNhbGwgKi8KLQlzZXRfaW50cl9nYXRlKENBTExfRlVOQ1RJT05fVkVDVE9SLCBjYWxsX2Z1bmN0aW9uX2ludGVycnVwdCk7Ci0KLQkvKiBMb3cgcHJpb3JpdHkgSVBJIHRvIGNsZWFudXAgYWZ0ZXIgbW92aW5nIGFuIGlycSAqLwotCXNldF9pbnRyX2dhdGUoSVJRX01PVkVfQ0xFQU5VUF9WRUNUT1IsIGlycV9tb3ZlX2NsZWFudXBfaW50ZXJydXB0KTsKLSNlbmRpZgotCXNldF9pbnRyX2dhdGUoVEhFUk1BTF9BUElDX1ZFQ1RPUiwgdGhlcm1hbF9pbnRlcnJ1cHQpOwotCXNldF9pbnRyX2dhdGUoVEhSRVNIT0xEX0FQSUNfVkVDVE9SLCB0aHJlc2hvbGRfaW50ZXJydXB0KTsKLQotCS8qIHNlbGYgZ2VuZXJhdGVkIElQSSBmb3IgbG9jYWwgQVBJQyB0aW1lciAqLwotCXNldF9pbnRyX2dhdGUoTE9DQUxfVElNRVJfVkVDVE9SLCBhcGljX3RpbWVyX2ludGVycnVwdCk7Ci0KLQkvKiBJUEkgdmVjdG9ycyBmb3IgQVBJQyBzcHVyaW91cyBhbmQgZXJyb3IgaW50ZXJydXB0cyAqLwotCXNldF9pbnRyX2dhdGUoU1BVUklPVVNfQVBJQ19WRUNUT1IsIHNwdXJpb3VzX2ludGVycnVwdCk7Ci0Jc2V0X2ludHJfZ2F0ZShFUlJPUl9BUElDX1ZFQ1RPUiwgZXJyb3JfaW50ZXJydXB0KTsKLQotCWlmICghYWNwaV9pb2FwaWMpCi0JCXNldHVwX2lycSgyLCAmaXJxMik7Ci19CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvaW9fYXBpY18zMi5jIGIvYXJjaC94ODYva2VybmVsL2lvX2FwaWNfMzIuYwppbmRleCA0ZGM4NjAwZDkuLjU1OGFiZjQgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9pb19hcGljXzMyLmMKKysrIGIvYXJjaC94ODYva2VybmVsL2lvX2FwaWNfMzIuYwpAQCAtMjUsNiArMjUsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgogI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CisjaW5jbHVkZSA8bGludXgvYm9vdG1lbS5oPgogI2luY2x1ZGUgPGxpbnV4L21jMTQ2ODE4cnRjLmg+CiAjaW5jbHVkZSA8bGludXgvY29tcGlsZXIuaD4KICNpbmNsdWRlIDxsaW51eC9hY3BpLmg+CkBAIC01OCw3ICs1OSw3IEBACiBzdGF0aWMgREVGSU5FX1NQSU5MT0NLKGlvYXBpY19sb2NrKTsKIHN0YXRpYyBERUZJTkVfU1BJTkxPQ0sodmVjdG9yX2xvY2spOwogCi1pbnQgdGltZXJfb3Zlcl84MjU0IF9faW5pdGRhdGEgPSAxOworaW50IHRpbWVyX3Rocm91Z2hfODI1OSBfX2luaXRkYXRhOwogCiAvKgogICoJSXMgdGhlIFNpUyBBUElDIHJtdyBidWcgcHJlc2VudCA/CkBAIC03MiwxNSArNzMsMjEgQEAKIGludCBucl9pb2FwaWNfcmVnaXN0ZXJzW01BWF9JT19BUElDU107CiAKIC8qIEkvTyBBUElDIGVudHJpZXMgKi8KLXN0cnVjdCBtcGNfY29uZmlnX2lvYXBpYyBtcF9pb2FwaWNzW01BWF9JT19BUElDU107CitzdHJ1Y3QgbXBfY29uZmlnX2lvYXBpYyBtcF9pb2FwaWNzW01BWF9JT19BUElDU107CiBpbnQgbnJfaW9hcGljczsKIAogLyogTVAgSVJRIHNvdXJjZSBlbnRyaWVzICovCi1zdHJ1Y3QgbXBjX2NvbmZpZ19pbnRzcmMgbXBfaXJxc1tNQVhfSVJRX1NPVVJDRVNdOworc3RydWN0IG1wX2NvbmZpZ19pbnRzcmMgbXBfaXJxc1tNQVhfSVJRX1NPVVJDRVNdOwogCiAvKiAjIG9mIE1QIElSUSBzb3VyY2UgZW50cmllcyAqLwogaW50IG1wX2lycV9lbnRyaWVzOwogCisjaWYgZGVmaW5lZCAoQ09ORklHX01DQSkgfHwgZGVmaW5lZCAoQ09ORklHX0VJU0EpCitpbnQgbXBfYnVzX2lkX3RvX3R5cGVbTUFYX01QX0JVU1NFU107CisjZW5kaWYKKworREVDTEFSRV9CSVRNQVAobXBfYnVzX25vdF9wY2ksIE1BWF9NUF9CVVNTRVMpOworCiBzdGF0aWMgaW50IGRpc2FibGVfdGltZXJfcGluXzEgX19pbml0ZGF0YTsKIAogLyoKQEAgLTExMCw3ICsxMTcsNyBAQAogc3RhdGljIF9fYXR0cmlidXRlX2NvbnN0X18gc3RydWN0IGlvX2FwaWMgX19pb21lbSAqaW9fYXBpY19iYXNlKGludCBpZHgpCiB7CiAJcmV0dXJuICh2b2lkIF9faW9tZW0gKikgX19maXhfdG9fdmlydChGSVhfSU9fQVBJQ19CQVNFXzAgKyBpZHgpCi0JCSsgKG1wX2lvYXBpY3NbaWR4XS5tcGNfYXBpY2FkZHIgJiB+UEFHRV9NQVNLKTsKKwkJKyAobXBfaW9hcGljc1tpZHhdLm1wX2FwaWNhZGRyICYgflBBR0VfTUFTSyk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IGlvX2FwaWNfcmVhZCh1bnNpZ25lZCBpbnQgYXBpYywgdW5zaWduZWQgaW50IHJlZykKQEAgLTIzOSw3ICsyNDYsNyBAQAogCX0KIH0KIAotc3RhdGljIHZvaWQgX19tb2RpZnlfSU9fQVBJQ19pcnEgKHVuc2lnbmVkIGludCBpcnEsIHVuc2lnbmVkIGxvbmcgZW5hYmxlLCB1bnNpZ25lZCBsb25nIGRpc2FibGUpCitzdGF0aWMgdm9pZCBfX21vZGlmeV9JT19BUElDX2lycSh1bnNpZ25lZCBpbnQgaXJxLCB1bnNpZ25lZCBsb25nIGVuYWJsZSwgdW5zaWduZWQgbG9uZyBkaXNhYmxlKQogewogCXN0cnVjdCBpcnFfcGluX2xpc3QgKmVudHJ5ID0gaXJxXzJfcGluICsgaXJxOwogCXVuc2lnbmVkIGludCBwaW4sIHJlZzsKQEAgLTI1OSwzMCArMjY2LDMyIEBACiB9CiAKIC8qIG1hc2sgPSAxICovCi1zdGF0aWMgdm9pZCBfX21hc2tfSU9fQVBJQ19pcnEgKHVuc2lnbmVkIGludCBpcnEpCitzdGF0aWMgdm9pZCBfX21hc2tfSU9fQVBJQ19pcnEodW5zaWduZWQgaW50IGlycSkKIHsKLQlfX21vZGlmeV9JT19BUElDX2lycShpcnEsIDB4MDAwMTAwMDAsIDApOworCV9fbW9kaWZ5X0lPX0FQSUNfaXJxKGlycSwgSU9fQVBJQ19SRURJUl9NQVNLRUQsIDApOwogfQogCiAvKiBtYXNrID0gMCAqLwotc3RhdGljIHZvaWQgX191bm1hc2tfSU9fQVBJQ19pcnEgKHVuc2lnbmVkIGludCBpcnEpCitzdGF0aWMgdm9pZCBfX3VubWFza19JT19BUElDX2lycSh1bnNpZ25lZCBpbnQgaXJxKQogewotCV9fbW9kaWZ5X0lPX0FQSUNfaXJxKGlycSwgMCwgMHgwMDAxMDAwMCk7CisJX19tb2RpZnlfSU9fQVBJQ19pcnEoaXJxLCAwLCBJT19BUElDX1JFRElSX01BU0tFRCk7CiB9CiAKIC8qIG1hc2sgPSAxLCB0cmlnZ2VyID0gMCAqLwotc3RhdGljIHZvaWQgX19tYXNrX2FuZF9lZGdlX0lPX0FQSUNfaXJxICh1bnNpZ25lZCBpbnQgaXJxKQorc3RhdGljIHZvaWQgX19tYXNrX2FuZF9lZGdlX0lPX0FQSUNfaXJxKHVuc2lnbmVkIGludCBpcnEpCiB7Ci0JX19tb2RpZnlfSU9fQVBJQ19pcnEoaXJxLCAweDAwMDEwMDAwLCAweDAwMDA4MDAwKTsKKwlfX21vZGlmeV9JT19BUElDX2lycShpcnEsIElPX0FQSUNfUkVESVJfTUFTS0VELAorCQkJCUlPX0FQSUNfUkVESVJfTEVWRUxfVFJJR0dFUik7CiB9CiAKIC8qIG1hc2sgPSAwLCB0cmlnZ2VyID0gMSAqLwotc3RhdGljIHZvaWQgX191bm1hc2tfYW5kX2xldmVsX0lPX0FQSUNfaXJxICh1bnNpZ25lZCBpbnQgaXJxKQorc3RhdGljIHZvaWQgX191bm1hc2tfYW5kX2xldmVsX0lPX0FQSUNfaXJxKHVuc2lnbmVkIGludCBpcnEpCiB7Ci0JX19tb2RpZnlfSU9fQVBJQ19pcnEoaXJxLCAweDAwMDA4MDAwLCAweDAwMDEwMDAwKTsKKwlfX21vZGlmeV9JT19BUElDX2lycShpcnEsIElPX0FQSUNfUkVESVJfTEVWRUxfVFJJR0dFUiwKKwkJCQlJT19BUElDX1JFRElSX01BU0tFRCk7CiB9CiAKLXN0YXRpYyB2b2lkIG1hc2tfSU9fQVBJQ19pcnEgKHVuc2lnbmVkIGludCBpcnEpCitzdGF0aWMgdm9pZCBtYXNrX0lPX0FQSUNfaXJxKHVuc2lnbmVkIGludCBpcnEpCiB7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIApAQCAtMjkxLDcgKzMwMCw3IEBACiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaW9hcGljX2xvY2ssIGZsYWdzKTsKIH0KIAotc3RhdGljIHZvaWQgdW5tYXNrX0lPX0FQSUNfaXJxICh1bnNpZ25lZCBpbnQgaXJxKQorc3RhdGljIHZvaWQgdW5tYXNrX0lPX0FQSUNfaXJxKHVuc2lnbmVkIGludCBpcnEpCiB7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIApAQCAtMzAzLDcgKzMxMiw3IEBACiBzdGF0aWMgdm9pZCBjbGVhcl9JT19BUElDX3Bpbih1bnNpZ25lZCBpbnQgYXBpYywgdW5zaWduZWQgaW50IHBpbikKIHsKIAlzdHJ1Y3QgSU9fQVBJQ19yb3V0ZV9lbnRyeSBlbnRyeTsKLQkKKwogCS8qIENoZWNrIGRlbGl2ZXJ5X21vZGUgdG8gYmUgc3VyZSB3ZSdyZSBub3QgY2xlYXJpbmcgYW4gU01JIHBpbiAqLwogCWVudHJ5ID0gaW9hcGljX3JlYWRfZW50cnkoYXBpYywgcGluKTsKIAlpZiAoZW50cnkuZGVsaXZlcnlfbW9kZSA9PSBkZXN0X1NNSSkKQEAgLTMxNSw3ICszMjQsNyBAQAogCWlvYXBpY19tYXNrX2VudHJ5KGFwaWMsIHBpbik7CiB9CiAKLXN0YXRpYyB2b2lkIGNsZWFyX0lPX0FQSUMgKHZvaWQpCitzdGF0aWMgdm9pZCBjbGVhcl9JT19BUElDKHZvaWQpCiB7CiAJaW50IGFwaWMsIHBpbjsKIApAQCAtMzMyLDcgKzM0MSw3IEBACiAJc3RydWN0IGlycV9waW5fbGlzdCAqZW50cnkgPSBpcnFfMl9waW4gKyBpcnE7CiAJdW5zaWduZWQgaW50IGFwaWNpZF92YWx1ZTsKIAljcHVtYXNrX3QgdG1wOwotCQorCiAJY3B1c19hbmQodG1wLCBjcHVtYXNrLCBjcHVfb25saW5lX21hcCk7CiAJaWYgKGNwdXNfZW1wdHkodG1wKSkKIAkJdG1wID0gVEFSR0VUX0NQVVM7CkBAIC0zNjEsNyArMzcwLDcgQEAKICMgaW5jbHVkZSA8bGludXgva2VybmVsX3N0YXQuaD4JLyoga3N0YXQgKi8KICMgaW5jbHVkZSA8bGludXgvc2xhYi5oPgkJLyoga21hbGxvYygpICovCiAjIGluY2x1ZGUgPGxpbnV4L3RpbWVyLmg+Ci0gCisKICNkZWZpbmUgSVJRQkFMQU5DRV9DSEVDS19BUkNIIC05OTkKICNkZWZpbmUgTUFYX0JBTEFOQ0VEX0lSUV9JTlRFUlZBTAkoNSpIWikKICNkZWZpbmUgTUlOX0JBTEFOQ0VEX0lSUV9JTlRFUlZBTAkoSFovMikKQEAgLTM3MywxNCArMzgyLDE0IEBACiBzdGF0aWMgbG9uZyBiYWxhbmNlZF9pcnFfaW50ZXJ2YWwgX19yZWFkX21vc3RseSA9IE1BWF9CQUxBTkNFRF9JUlFfSU5URVJWQUw7CiAKIHN0YXRpYyBzdHJ1Y3QgaXJxX2NwdV9pbmZvIHsKLQl1bnNpZ25lZCBsb25nICogbGFzdF9pcnE7Ci0JdW5zaWduZWQgbG9uZyAqIGlycV9kZWx0YTsKKwl1bnNpZ25lZCBsb25nICpsYXN0X2lycTsKKwl1bnNpZ25lZCBsb25nICppcnFfZGVsdGE7CiAJdW5zaWduZWQgbG9uZyBpcnE7CiB9IGlycV9jcHVfZGF0YVtOUl9DUFVTXTsKIAogI2RlZmluZSBDUFVfSVJRKGNwdSkJCShpcnFfY3B1X2RhdGFbY3B1XS5pcnEpCi0jZGVmaW5lIExBU1RfQ1BVX0lSUShjcHUsaXJxKSAgIChpcnFfY3B1X2RhdGFbY3B1XS5sYXN0X2lycVtpcnFdKQotI2RlZmluZSBJUlFfREVMVEEoY3B1LGlycSkgCShpcnFfY3B1X2RhdGFbY3B1XS5pcnFfZGVsdGFbaXJxXSkKKyNkZWZpbmUgTEFTVF9DUFVfSVJRKGNwdSwgaXJxKSAgIChpcnFfY3B1X2RhdGFbY3B1XS5sYXN0X2lycVtpcnFdKQorI2RlZmluZSBJUlFfREVMVEEoY3B1LCBpcnEpIAkoaXJxX2NwdV9kYXRhW2NwdV0uaXJxX2RlbHRhW2lycV0pCiAKICNkZWZpbmUgSURMRV9FTk9VR0goY3B1LG5vdykgXAogCShpZGxlX2NwdShjcHUpICYmICgobm93KSAtIHBlcl9jcHUoaXJxX3N0YXQsIChjcHUpKS5pZGxlX3RpbWVzdGFtcCA+IDEpKQpAQCAtNDE5LDggKzQyOCw4IEBACiAJCQlpZiAoY3B1ID09IC0xKQogCQkJCWNwdSA9IE5SX0NQVVMtMTsKIAkJfQotCX0gd2hpbGUgKCFjcHVfb25saW5lKGNwdSkgfHwgIUlSUV9BTExPV0VEKGNwdSxhbGxvd2VkX21hc2spIHx8Ci0JCQkoc2VhcmNoX2lkbGUgJiYgIUlETEVfRU5PVUdIKGNwdSxub3cpKSk7CisJfSB3aGlsZSAoIWNwdV9vbmxpbmUoY3B1KSB8fCAhSVJRX0FMTE9XRUQoY3B1LCBhbGxvd2VkX21hc2spIHx8CisJCQkoc2VhcmNoX2lkbGUgJiYgIUlETEVfRU5PVUdIKGNwdSwgbm93KSkpOwogCiAJcmV0dXJuIGNwdTsKIH0KQEAgLTQzMCwxNSArNDM5LDE0IEBACiAJdW5zaWduZWQgbG9uZyBub3cgPSBqaWZmaWVzOwogCWNwdW1hc2tfdCBhbGxvd2VkX21hc2s7CiAJdW5zaWduZWQgaW50IG5ld19jcHU7Ci0JCQorCiAJaWYgKGlycWJhbGFuY2VfZGlzYWJsZWQpCi0JCXJldHVybjsgCisJCXJldHVybjsKIAogCWNwdXNfYW5kKGFsbG93ZWRfbWFzaywgY3B1X29ubGluZV9tYXAsIGJhbGFuY2VfaXJxX2FmZmluaXR5W2lycV0pOwogCW5ld19jcHUgPSBtb3ZlKGNwdSwgYWxsb3dlZF9tYXNrLCBub3csIDEpOwotCWlmIChjcHUgIT0gbmV3X2NwdSkgeworCWlmIChjcHUgIT0gbmV3X2NwdSkKIAkJc2V0X3BlbmRpbmdfaXJxKGlycSwgY3B1bWFza19vZl9jcHUobmV3X2NwdSkpOwotCX0KIH0KIAogc3RhdGljIGlubGluZSB2b2lkIHJvdGF0ZV9pcnFzX2Ftb25nX2NwdXModW5zaWduZWQgbG9uZyB1c2VmdWxfbG9hZF90aHJlc2hvbGQpCkBAIC00NTAsMTQgKzQ1OCwxNCBAQAogCQkJaWYgKCFpcnFfZGVzY1tqXS5hY3Rpb24pCiAJCQkJY29udGludWU7CiAJCQkvKiBJcyBpdCBhIHNpZ25pZmljYW50IGxvYWQgPyAgKi8KLQkJCWlmIChJUlFfREVMVEEoQ1BVX1RPX1BBQ0tBR0VJTkRFWChpKSxqKSA8CisJCQlpZiAoSVJRX0RFTFRBKENQVV9UT19QQUNLQUdFSU5ERVgoaSksIGopIDwKIAkJCQkJCXVzZWZ1bF9sb2FkX3RocmVzaG9sZCkKIAkJCQljb250aW51ZTsKIAkJCWJhbGFuY2VfaXJxKGksIGopOwogCQl9CiAJfQogCWJhbGFuY2VkX2lycV9pbnRlcnZhbCA9IG1heCgobG9uZylNSU5fQkFMQU5DRURfSVJRX0lOVEVSVkFMLAotCQliYWxhbmNlZF9pcnFfaW50ZXJ2YWwgLSBCQUxBTkNFRF9JUlFfTEVTU19ERUxUQSk7CQorCQliYWxhbmNlZF9pcnFfaW50ZXJ2YWwgLSBCQUxBTkNFRF9JUlFfTEVTU19ERUxUQSk7CiAJcmV0dXJuOwogfQogCkBAIC00ODYsMjIgKzQ5NCwyMiBAQAogCQkJLyogSXMgdGhpcyBhbiBhY3RpdmUgSVJRIG9yIGJhbGFuY2luZyBkaXNhYmxlZCA/ICovCiAJCQlpZiAoIWlycV9kZXNjW2pdLmFjdGlvbiB8fCBpcnFfYmFsYW5jaW5nX2Rpc2FibGVkKGopKQogCQkJCWNvbnRpbnVlOwotCQkJaWYgKCBwYWNrYWdlX2luZGV4ID09IGkgKQotCQkJCUlSUV9ERUxUQShwYWNrYWdlX2luZGV4LGopID0gMDsKKwkJCWlmIChwYWNrYWdlX2luZGV4ID09IGkpCisJCQkJSVJRX0RFTFRBKHBhY2thZ2VfaW5kZXgsIGopID0gMDsKIAkJCS8qIERldGVybWluZSB0aGUgdG90YWwgY291bnQgcGVyIHByb2Nlc3NvciBwZXIgSVJRICovCiAJCQl2YWx1ZV9ub3cgPSAodW5zaWduZWQgbG9uZykga3N0YXRfY3B1KGkpLmlycXNbal07CiAKIAkJCS8qIERldGVybWluZSB0aGUgYWN0aXZpdHkgcGVyIHByb2Nlc3NvciBwZXIgSVJRICovCi0JCQlkZWx0YSA9IHZhbHVlX25vdyAtIExBU1RfQ1BVX0lSUShpLGopOworCQkJZGVsdGEgPSB2YWx1ZV9ub3cgLSBMQVNUX0NQVV9JUlEoaSwgaik7CiAKIAkJCS8qIFVwZGF0ZSBsYXN0X2NwdV9pcnFbXVtdIGZvciB0aGUgbmV4dCB0aW1lICovCi0JCQlMQVNUX0NQVV9JUlEoaSxqKSA9IHZhbHVlX25vdzsKKwkJCUxBU1RfQ1BVX0lSUShpLCBqKSA9IHZhbHVlX25vdzsKIAogCQkJLyogSWdub3JlIElSUXMgd2hvc2UgcmF0ZSBpcyBsZXNzIHRoYW4gdGhlIGNsb2NrICovCiAJCQlpZiAoZGVsdGEgPCB1c2VmdWxfbG9hZF90aHJlc2hvbGQpCiAJCQkJY29udGludWU7CiAJCQkvKiB1cGRhdGUgdGhlIGxvYWQgZm9yIHRoZSBwcm9jZXNzb3Igb3IgcGFja2FnZSB0b3RhbCAqLwotCQkJSVJRX0RFTFRBKHBhY2thZ2VfaW5kZXgsaikgKz0gZGVsdGE7CisJCQlJUlFfREVMVEEocGFja2FnZV9pbmRleCwgaikgKz0gZGVsdGE7CiAKIAkJCS8qIEtlZXAgdHJhY2sgb2YgdGhlIGhpZ2hlciBudW1iZXJlZCBzaWJsaW5nIGFzIHdlbGwgKi8KIAkJCWlmIChpICE9IHBhY2thZ2VfaW5kZXgpCkBAIC01MjcsNyArNTM1LDggQEAKIAltYXhfY3B1X2lycSA9IFVMT05HX01BWDsKIAogdHJ5YW5vdGhlcmNwdToKLQkvKiBMb29rIGZvciBoZWF2aWVzdCBsb2FkZWQgcHJvY2Vzc29yLgorCS8qCisJICogTG9vayBmb3IgaGVhdmllc3QgbG9hZGVkIHByb2Nlc3Nvci4KIAkgKiBXZSBtYXkgY29tZSBiYWNrIHRvIGdldCB0aGUgbmV4dCBoZWF2aWVzdCBsb2FkZWQgcHJvY2Vzc29yLgogCSAqIFNraXAgcHJvY2Vzc29ycyB3aXRoIHRyaXZpYWwgbG9hZHMuCiAJICovCkBAIC01MzYsNyArNTQ1LDcgQEAKIAlmb3JfZWFjaF9vbmxpbmVfY3B1KGkpIHsKIAkJaWYgKGkgIT0gQ1BVX1RPX1BBQ0tBR0VJTkRFWChpKSkKIAkJCWNvbnRpbnVlOwotCQlpZiAobWF4X2NwdV9pcnEgPD0gQ1BVX0lSUShpKSkgCisJCWlmIChtYXhfY3B1X2lycSA8PSBDUFVfSVJRKGkpKQogCQkJY29udGludWU7CiAJCWlmICh0bXBfY3B1X2lycSA8IENQVV9JUlEoaSkpIHsKIAkJCXRtcF9jcHVfaXJxID0gQ1BVX0lSUShpKTsKQEAgLTU0NSw4ICs1NTQsOSBAQAogCX0KIAogCWlmICh0bXBfbG9hZGVkID09IC0xKSB7Ci0gCSAvKiBJbiB0aGUgY2FzZSBvZiBzbWFsbCBudW1iZXIgb2YgaGVhdnkgaW50ZXJydXB0IHNvdXJjZXMsIAotCSAgKiBsb2FkaW5nIHNvbWUgb2YgdGhlIGNwdXMgdG9vIG11Y2guIFdlIHVzZSBJbmdvJ3Mgb3JpZ2luYWwgCisJIC8qCisJICAqIEluIHRoZSBjYXNlIG9mIHNtYWxsIG51bWJlciBvZiBoZWF2eSBpbnRlcnJ1cHQgc291cmNlcywKKwkgICogbG9hZGluZyBzb21lIG9mIHRoZSBjcHVzIHRvbyBtdWNoLiBXZSB1c2UgSW5nbydzIG9yaWdpbmFsCiAJICAqIGFwcHJvYWNoIHRvIHJvdGF0ZSB0aGVtIGFyb3VuZC4KIAkgICovCiAJCWlmICghZmlyc3RfYXR0ZW1wdCAmJiBpbWJhbGFuY2UgPj0gdXNlZnVsX2xvYWRfdGhyZXNob2xkKSB7CkBAIC01NTUsMTMgKzU2NSwxNCBAQAogCQl9CiAJCWdvdG8gbm90X3dvcnRoX3RoZV9lZmZvcnQ7CiAJfQotCQorCiAJZmlyc3RfYXR0ZW1wdCA9IDA7CQkvKiBoZWF2aWVzdCBzZWFyY2ggKi8KIAltYXhfY3B1X2lycSA9IHRtcF9jcHVfaXJxOwkvKiBsb2FkICovCiAJbWF4X2xvYWRlZCA9IHRtcF9sb2FkZWQ7CS8qIHByb2Nlc3NvciAqLwogCWltYmFsYW5jZSA9IChtYXhfY3B1X2lycSAtIG1pbl9jcHVfaXJxKSAvIDI7Ci0JCi0JLyogaWYgaW1iYWxhbmNlIGlzIGxlc3MgdGhhbiBhcHByb3ggMTAlIG9mIG1heCBsb2FkLCB0aGVuCisKKwkvKgorCSAqIGlmIGltYmFsYW5jZSBpcyBsZXNzIHRoYW4gYXBwcm94IDEwJSBvZiBtYXggbG9hZCwgdGhlbgogCSAqIG9ic2VydmUgZGltaW5pc2hpbmcgcmV0dXJucyBhY3Rpb24uIC0gcXVpdAogCSAqLwogCWlmIChpbWJhbGFuY2UgPCAobWF4X2NwdV9pcnEgPj4gMykpCkBAIC01NzcsMjYgKzU4OCwyNSBAQAogCQkvKiBJcyB0aGlzIGFuIGFjdGl2ZSBJUlE/ICovCiAJCWlmICghaXJxX2Rlc2Nbal0uYWN0aW9uKQogCQkJY29udGludWU7Ci0JCWlmIChpbWJhbGFuY2UgPD0gSVJRX0RFTFRBKG1heF9sb2FkZWQsaikpCisJCWlmIChpbWJhbGFuY2UgPD0gSVJRX0RFTFRBKG1heF9sb2FkZWQsIGopKQogCQkJY29udGludWU7CiAJCS8qIFRyeSB0byBmaW5kIHRoZSBJUlEgdGhhdCBpcyBjbG9zZXN0IHRvIHRoZSBpbWJhbGFuY2UKIAkJICogd2l0aG91dCBnb2luZyBvdmVyLgogCQkgKi8KLQkJaWYgKG1vdmVfdGhpc19sb2FkIDwgSVJRX0RFTFRBKG1heF9sb2FkZWQsaikpIHsKLQkJCW1vdmVfdGhpc19sb2FkID0gSVJRX0RFTFRBKG1heF9sb2FkZWQsaik7CisJCWlmIChtb3ZlX3RoaXNfbG9hZCA8IElSUV9ERUxUQShtYXhfbG9hZGVkLCBqKSkgeworCQkJbW92ZV90aGlzX2xvYWQgPSBJUlFfREVMVEEobWF4X2xvYWRlZCwgaik7CiAJCQlzZWxlY3RlZF9pcnEgPSBqOwogCQl9CiAJfQotCWlmIChzZWxlY3RlZF9pcnEgPT0gLTEpIHsKKwlpZiAoc2VsZWN0ZWRfaXJxID09IC0xKQogCQlnb3RvIHRyeWFub3RoZXJjcHU7Ci0JfQogCiAJaW1iYWxhbmNlID0gbW92ZV90aGlzX2xvYWQ7Ci0JCisKIAkvKiBGb3IgcGh5c2ljYWxfYmFsYW5jZSBjYXNlLCB3ZSBhY2N1bXVsYXRlZCBib3RoIGxvYWQKIAkgKiB2YWx1ZXMgaW4gdGhlIG9uZSBvZiB0aGUgc2libGluZ3MgY3B1X2lycVtdLAogCSAqIHRvIHVzZSB0aGUgc2FtZSBjb2RlIGZvciBwaHlzaWNhbCBhbmQgbG9naWNhbCBwcm9jZXNzb3JzCi0JICogYXMgbXVjaCBhcyBwb3NzaWJsZS4gCisJICogYXMgbXVjaCBhcyBwb3NzaWJsZS4KIAkgKgogCSAqIE5PVEU6IHRoZSBjcHVfaXJxW10gYXJyYXkgaG9sZHMgdGhlIHN1bSBvZiB0aGUgbG9hZCBmb3IKIAkgKiBzaWJsaW5nIEEgYW5kIHNpYmxpbmcgQiBpbiB0aGUgc2xvdCBmb3IgdGhlIGxvd2VzdCBudW1iZXJlZApAQCAtNjI1LDExICs2MzUsMTEgQEAKIAkJLyogbWFyayBmb3IgY2hhbmdlIGRlc3RpbmF0aW9uICovCiAJCXNldF9wZW5kaW5nX2lycShzZWxlY3RlZF9pcnEsIGNwdW1hc2tfb2ZfY3B1KG1pbl9sb2FkZWQpKTsKIAotCQkvKiBTaW5jZSB3ZSBtYWRlIGEgY2hhbmdlLCBjb21lIGJhY2sgc29vbmVyIHRvIAorCQkvKiBTaW5jZSB3ZSBtYWRlIGEgY2hhbmdlLCBjb21lIGJhY2sgc29vbmVyIHRvCiAJCSAqIGNoZWNrIGZvciBtb3JlIHZhcmlhdGlvbi4KIAkJICovCiAJCWJhbGFuY2VkX2lycV9pbnRlcnZhbCA9IG1heCgobG9uZylNSU5fQkFMQU5DRURfSVJRX0lOVEVSVkFMLAotCQkJYmFsYW5jZWRfaXJxX2ludGVydmFsIC0gQkFMQU5DRURfSVJRX0xFU1NfREVMVEEpOwkKKwkJCWJhbGFuY2VkX2lycV9pbnRlcnZhbCAtIEJBTEFOQ0VEX0lSUV9MRVNTX0RFTFRBKTsKIAkJcmV0dXJuOwogCX0KIAlnb3RvIHRyeWFub3RoZXJpcnE7CkBAIC02NDAsNyArNjUwLDcgQEAKIAkgKiB1cHdhcmQKIAkgKi8KIAliYWxhbmNlZF9pcnFfaW50ZXJ2YWwgPSBtaW4oKGxvbmcpTUFYX0JBTEFOQ0VEX0lSUV9JTlRFUlZBTCwKLQkJYmFsYW5jZWRfaXJxX2ludGVydmFsICsgQkFMQU5DRURfSVJRX01PUkVfREVMVEEpOwkKKwkJYmFsYW5jZWRfaXJxX2ludGVydmFsICsgQkFMQU5DRURfSVJRX01PUkVfREVMVEEpOwogCXJldHVybjsKIH0KIApAQCAtNjc5LDEzICs2ODksMTMgQEAKIAljcHVtYXNrX3QgdG1wOwogCiAJY3B1c19zaGlmdF9yaWdodCh0bXAsIGNwdV9vbmxpbmVfbWFwLCAyKTsKLSAgICAgICAgYyA9ICZib290X2NwdV9kYXRhOworCWMgPSAmYm9vdF9jcHVfZGF0YTsKIAkvKiBXaGVuIG5vdCBvdmVyd3JpdHRlbiBieSB0aGUgY29tbWFuZCBsaW5lIGFzayBzdWJhcmNoaXRlY3R1cmUuICovCiAJaWYgKGlycWJhbGFuY2VfZGlzYWJsZWQgPT0gSVJRQkFMQU5DRV9DSEVDS19BUkNIKQogCQlpcnFiYWxhbmNlX2Rpc2FibGVkID0gTk9fQkFMQU5DRV9JUlE7CiAJaWYgKGlycWJhbGFuY2VfZGlzYWJsZWQpCiAJCXJldHVybiAwOwotCQorCiAJIC8qIGRpc2FibGUgaXJxYmFsYW5jZSBjb21wbGV0ZWx5IGlmIHRoZXJlIGlzIG9ubHkgb25lIHByb2Nlc3NvciBvbmxpbmUgKi8KIAlpZiAobnVtX29ubGluZV9jcHVzKCkgPCAyKSB7CiAJCWlycWJhbGFuY2VfZGlzYWJsZWQgPSAxOwpAQCAtNjk5LDE2ICs3MDksMTQgQEAKIAkJcGh5c2ljYWxfYmFsYW5jZSA9IDE7CiAKIAlmb3JfZWFjaF9vbmxpbmVfY3B1KGkpIHsKLQkJaXJxX2NwdV9kYXRhW2ldLmlycV9kZWx0YSA9IGttYWxsb2Moc2l6ZW9mKHVuc2lnbmVkIGxvbmcpICogTlJfSVJRUywgR0ZQX0tFUk5FTCk7Ci0JCWlycV9jcHVfZGF0YVtpXS5sYXN0X2lycSA9IGttYWxsb2Moc2l6ZW9mKHVuc2lnbmVkIGxvbmcpICogTlJfSVJRUywgR0ZQX0tFUk5FTCk7CisJCWlycV9jcHVfZGF0YVtpXS5pcnFfZGVsdGEgPSBremFsbG9jKHNpemVvZih1bnNpZ25lZCBsb25nKSAqIE5SX0lSUVMsIEdGUF9LRVJORUwpOworCQlpcnFfY3B1X2RhdGFbaV0ubGFzdF9pcnEgPSBremFsbG9jKHNpemVvZih1bnNpZ25lZCBsb25nKSAqIE5SX0lSUVMsIEdGUF9LRVJORUwpOwogCQlpZiAoaXJxX2NwdV9kYXRhW2ldLmlycV9kZWx0YSA9PSBOVUxMIHx8IGlycV9jcHVfZGF0YVtpXS5sYXN0X2lycSA9PSBOVUxMKSB7CiAJCQlwcmludGsoS0VSTl9FUlIgImJhbGFuY2VkX2lycV9pbml0OiBvdXQgb2YgbWVtb3J5Iik7CiAJCQlnb3RvIGZhaWxlZDsKIAkJfQotCQltZW1zZXQoaXJxX2NwdV9kYXRhW2ldLmlycV9kZWx0YSwwLHNpemVvZih1bnNpZ25lZCBsb25nKSAqIE5SX0lSUVMpOwotCQltZW1zZXQoaXJxX2NwdV9kYXRhW2ldLmxhc3RfaXJxLDAsc2l6ZW9mKHVuc2lnbmVkIGxvbmcpICogTlJfSVJRUyk7CiAJfQotCQorCiAJcHJpbnRrKEtFUk5fSU5GTyAiU3RhcnRpbmcgYmFsYW5jZWRfaXJxXG4iKTsKIAlpZiAoIUlTX0VSUihrdGhyZWFkX3J1bihiYWxhbmNlZF9pcnEsIE5VTEwsICJraXJxZCIpKSkKIAkJcmV0dXJuIDA7CkBAIC04MDEsMTAgKzgwOSwxMCBAQAogCWludCBpOwogCiAJZm9yIChpID0gMDsgaSA8IG1wX2lycV9lbnRyaWVzOyBpKyspCi0JCWlmIChtcF9pcnFzW2ldLm1wY19pcnF0eXBlID09IHR5cGUgJiYKLQkJICAgIChtcF9pcnFzW2ldLm1wY19kc3RhcGljID09IG1wX2lvYXBpY3NbYXBpY10ubXBjX2FwaWNpZCB8fAotCQkgICAgIG1wX2lycXNbaV0ubXBjX2RzdGFwaWMgPT0gTVBfQVBJQ19BTEwpICYmCi0JCSAgICBtcF9pcnFzW2ldLm1wY19kc3RpcnEgPT0gcGluKQorCQlpZiAobXBfaXJxc1tpXS5tcF9pcnF0eXBlID09IHR5cGUgJiYKKwkJICAgIChtcF9pcnFzW2ldLm1wX2RzdGFwaWMgPT0gbXBfaW9hcGljc1thcGljXS5tcF9hcGljaWQgfHwKKwkJICAgICBtcF9pcnFzW2ldLm1wX2RzdGFwaWMgPT0gTVBfQVBJQ19BTEwpICYmCisJCSAgICBtcF9pcnFzW2ldLm1wX2RzdGlycSA9PSBwaW4pCiAJCQlyZXR1cm4gaTsKIAogCXJldHVybiAtMTsKQEAgLTgxOCwxMyArODI2LDEzIEBACiAJaW50IGk7CiAKIAlmb3IgKGkgPSAwOyBpIDwgbXBfaXJxX2VudHJpZXM7IGkrKykgewotCQlpbnQgbGJ1cyA9IG1wX2lycXNbaV0ubXBjX3NyY2J1czsKKwkJaW50IGxidXMgPSBtcF9pcnFzW2ldLm1wX3NyY2J1czsKIAogCQlpZiAodGVzdF9iaXQobGJ1cywgbXBfYnVzX25vdF9wY2kpICYmCi0JCSAgICAobXBfaXJxc1tpXS5tcGNfaXJxdHlwZSA9PSB0eXBlKSAmJgotCQkgICAgKG1wX2lycXNbaV0ubXBjX3NyY2J1c2lycSA9PSBpcnEpKQorCQkgICAgKG1wX2lycXNbaV0ubXBfaXJxdHlwZSA9PSB0eXBlKSAmJgorCQkgICAgKG1wX2lycXNbaV0ubXBfc3JjYnVzaXJxID09IGlycSkpCiAKLQkJCXJldHVybiBtcF9pcnFzW2ldLm1wY19kc3RpcnE7CisJCQlyZXR1cm4gbXBfaXJxc1tpXS5tcF9kc3RpcnE7CiAJfQogCXJldHVybiAtMTsKIH0KQEAgLTgzNCwxNyArODQyLDE3IEBACiAJaW50IGk7CiAKIAlmb3IgKGkgPSAwOyBpIDwgbXBfaXJxX2VudHJpZXM7IGkrKykgewotCQlpbnQgbGJ1cyA9IG1wX2lycXNbaV0ubXBjX3NyY2J1czsKKwkJaW50IGxidXMgPSBtcF9pcnFzW2ldLm1wX3NyY2J1czsKIAogCQlpZiAodGVzdF9iaXQobGJ1cywgbXBfYnVzX25vdF9wY2kpICYmCi0JCSAgICAobXBfaXJxc1tpXS5tcGNfaXJxdHlwZSA9PSB0eXBlKSAmJgotCQkgICAgKG1wX2lycXNbaV0ubXBjX3NyY2J1c2lycSA9PSBpcnEpKQorCQkgICAgKG1wX2lycXNbaV0ubXBfaXJxdHlwZSA9PSB0eXBlKSAmJgorCQkgICAgKG1wX2lycXNbaV0ubXBfc3JjYnVzaXJxID09IGlycSkpCiAJCQlicmVhazsKIAl9CiAJaWYgKGkgPCBtcF9pcnFfZW50cmllcykgewogCQlpbnQgYXBpYzsKLQkJZm9yKGFwaWMgPSAwOyBhcGljIDwgbnJfaW9hcGljczsgYXBpYysrKSB7Ci0JCQlpZiAobXBfaW9hcGljc1thcGljXS5tcGNfYXBpY2lkID09IG1wX2lycXNbaV0ubXBjX2RzdGFwaWMpCisJCWZvciAoYXBpYyA9IDA7IGFwaWMgPCBucl9pb2FwaWNzOyBhcGljKyspIHsKKwkJCWlmIChtcF9pb2FwaWNzW2FwaWNdLm1wX2FwaWNpZCA9PSBtcF9pcnFzW2ldLm1wX2RzdGFwaWMpCiAJCQkJcmV0dXJuIGFwaWM7CiAJCX0KIAl9CkBAIC04NjQsMjggKzg3MiwyOCBAQAogCiAJYXBpY19wcmludGsoQVBJQ19ERUJVRywgInF1ZXJ5aW5nIFBDSSAtPiBJUlEgbWFwcGluZyBidXM6JWQsICIKIAkJInNsb3Q6JWQsIHBpbjolZC5cbiIsIGJ1cywgc2xvdCwgcGluKTsKLQlpZiAobXBfYnVzX2lkX3RvX3BjaV9idXNbYnVzXSA9PSAtMSkgeworCWlmICh0ZXN0X2JpdChidXMsIG1wX2J1c19ub3RfcGNpKSkgewogCQlwcmludGsoS0VSTl9XQVJOSU5HICJQQ0kgQklPUyBwYXNzZWQgbm9uZXhpc3RlbnQgUENJIGJ1cyAlZCFcbiIsIGJ1cyk7CiAJCXJldHVybiAtMTsKIAl9CiAJZm9yIChpID0gMDsgaSA8IG1wX2lycV9lbnRyaWVzOyBpKyspIHsKLQkJaW50IGxidXMgPSBtcF9pcnFzW2ldLm1wY19zcmNidXM7CisJCWludCBsYnVzID0gbXBfaXJxc1tpXS5tcF9zcmNidXM7CiAKIAkJZm9yIChhcGljID0gMDsgYXBpYyA8IG5yX2lvYXBpY3M7IGFwaWMrKykKLQkJCWlmIChtcF9pb2FwaWNzW2FwaWNdLm1wY19hcGljaWQgPT0gbXBfaXJxc1tpXS5tcGNfZHN0YXBpYyB8fAotCQkJICAgIG1wX2lycXNbaV0ubXBjX2RzdGFwaWMgPT0gTVBfQVBJQ19BTEwpCisJCQlpZiAobXBfaW9hcGljc1thcGljXS5tcF9hcGljaWQgPT0gbXBfaXJxc1tpXS5tcF9kc3RhcGljIHx8CisJCQkgICAgbXBfaXJxc1tpXS5tcF9kc3RhcGljID09IE1QX0FQSUNfQUxMKQogCQkJCWJyZWFrOwogCiAJCWlmICghdGVzdF9iaXQobGJ1cywgbXBfYnVzX25vdF9wY2kpICYmCi0JCSAgICAhbXBfaXJxc1tpXS5tcGNfaXJxdHlwZSAmJgorCQkgICAgIW1wX2lycXNbaV0ubXBfaXJxdHlwZSAmJgogCQkgICAgKGJ1cyA9PSBsYnVzKSAmJgotCQkgICAgKHNsb3QgPT0gKChtcF9pcnFzW2ldLm1wY19zcmNidXNpcnEgPj4gMikgJiAweDFmKSkpIHsKLQkJCWludCBpcnEgPSBwaW5fMl9pcnEoaSxhcGljLG1wX2lycXNbaV0ubXBjX2RzdGlycSk7CisJCSAgICAoc2xvdCA9PSAoKG1wX2lycXNbaV0ubXBfc3JjYnVzaXJxID4+IDIpICYgMHgxZikpKSB7CisJCQlpbnQgaXJxID0gcGluXzJfaXJxKGksIGFwaWMsIG1wX2lycXNbaV0ubXBfZHN0aXJxKTsKIAogCQkJaWYgKCEoYXBpYyB8fCBJT19BUElDX0lSUShpcnEpKSkKIAkJCQljb250aW51ZTsKIAotCQkJaWYgKHBpbiA9PSAobXBfaXJxc1tpXS5tcGNfc3JjYnVzaXJxICYgMykpCisJCQlpZiAocGluID09IChtcF9pcnFzW2ldLm1wX3NyY2J1c2lycSAmIDMpKQogCQkJCXJldHVybiBpcnE7CiAJCQkvKgogCQkJICogVXNlIHRoZSBmaXJzdCBhbGwtYnV0LXBpbiBtYXRjaGluZyBlbnRyeSBhcyBhCkBAIC05MDAsNyArOTA4LDcgQEAKIEVYUE9SVF9TWU1CT0woSU9fQVBJQ19nZXRfUENJX2lycV92ZWN0b3IpOwogCiAvKgotICogVGhpcyBmdW5jdGlvbiBjdXJyZW50bHkgaXMgb25seSBhIGhlbHBlciBmb3IgdGhlIGkzODYgc21wIGJvb3QgcHJvY2VzcyB3aGVyZSAKKyAqIFRoaXMgZnVuY3Rpb24gY3VycmVudGx5IGlzIG9ubHkgYSBoZWxwZXIgZm9yIHRoZSBpMzg2IHNtcCBib290IHByb2Nlc3Mgd2hlcmUKICAqIHdlIG5lZWQgdG8gcmVwcm9ncmFtIHRoZSBpb3JlZHRibHMgdG8gY2F0ZXIgZm9yIHRoZSBjcHVzIHdoaWNoIGhhdmUgY29tZSBvbmxpbmUKICAqIHNvIG1hc2sgaW4gYWxsIGNhc2VzIHNob3VsZCBzaW1wbHkgYmUgVEFSR0VUX0NQVVMKICAqLwpAQCAtOTUyLDcgKzk2MCw3IEBACiAgKiBFSVNBIGNvbmZvcm1pbmcgaW4gdGhlIE1QIHRhYmxlLCB0aGF0IG1lYW5zIGl0cyB0cmlnZ2VyIHR5cGUgbXVzdAogICogYmUgcmVhZCBpbiBmcm9tIHRoZSBFTENSICovCiAKLSNkZWZpbmUgZGVmYXVsdF9FSVNBX3RyaWdnZXIoaWR4KQkoRUlTQV9FTENSKG1wX2lycXNbaWR4XS5tcGNfc3JjYnVzaXJxKSkKKyNkZWZpbmUgZGVmYXVsdF9FSVNBX3RyaWdnZXIoaWR4KQkoRUlTQV9FTENSKG1wX2lycXNbaWR4XS5tcF9zcmNidXNpcnEpKQogI2RlZmluZSBkZWZhdWx0X0VJU0FfcG9sYXJpdHkoaWR4KQlkZWZhdWx0X0lTQV9wb2xhcml0eShpZHgpCiAKIC8qIFBDSSBpbnRlcnJ1cHRzIGFyZSBhbHdheXMgcG9sYXJpdHkgb25lIGxldmVsIHRyaWdnZXJlZCwKQEAgLTk2OSwxMTcgKzk3NywxMTQgQEAKIAogc3RhdGljIGludCBNUEJJT1NfcG9sYXJpdHkoaW50IGlkeCkKIHsKLQlpbnQgYnVzID0gbXBfaXJxc1tpZHhdLm1wY19zcmNidXM7CisJaW50IGJ1cyA9IG1wX2lycXNbaWR4XS5tcF9zcmNidXM7CiAJaW50IHBvbGFyaXR5OwogCiAJLyoKIAkgKiBEZXRlcm1pbmUgSVJRIGxpbmUgcG9sYXJpdHkgKGhpZ2ggYWN0aXZlIG9yIGxvdyBhY3RpdmUpOgogCSAqLwotCXN3aXRjaCAobXBfaXJxc1tpZHhdLm1wY19pcnFmbGFnICYgMykKKwlzd2l0Y2ggKG1wX2lycXNbaWR4XS5tcF9pcnFmbGFnICYgMykgeworCWNhc2UgMDogLyogY29uZm9ybXMsIGllLiBidXMtdHlwZSBkZXBlbmRlbnQgcG9sYXJpdHkgKi8KIAl7Ci0JCWNhc2UgMDogLyogY29uZm9ybXMsIGllLiBidXMtdHlwZSBkZXBlbmRlbnQgcG9sYXJpdHkgKi8KLQkJewotCQkJcG9sYXJpdHkgPSB0ZXN0X2JpdChidXMsIG1wX2J1c19ub3RfcGNpKT8KLQkJCQlkZWZhdWx0X0lTQV9wb2xhcml0eShpZHgpOgotCQkJCWRlZmF1bHRfUENJX3BvbGFyaXR5KGlkeCk7Ci0JCQlicmVhazsKLQkJfQotCQljYXNlIDE6IC8qIGhpZ2ggYWN0aXZlICovCi0JCXsKLQkJCXBvbGFyaXR5ID0gMDsKLQkJCWJyZWFrOwotCQl9Ci0JCWNhc2UgMjogLyogcmVzZXJ2ZWQgKi8KLQkJewotCQkJcHJpbnRrKEtFUk5fV0FSTklORyAiYnJva2VuIEJJT1MhIVxuIik7Ci0JCQlwb2xhcml0eSA9IDE7Ci0JCQlicmVhazsKLQkJfQotCQljYXNlIDM6IC8qIGxvdyBhY3RpdmUgKi8KLQkJewotCQkJcG9sYXJpdHkgPSAxOwotCQkJYnJlYWs7Ci0JCX0KLQkJZGVmYXVsdDogLyogaW52YWxpZCAqLwotCQl7Ci0JCQlwcmludGsoS0VSTl9XQVJOSU5HICJicm9rZW4gQklPUyEhXG4iKTsKLQkJCXBvbGFyaXR5ID0gMTsKLQkJCWJyZWFrOwotCQl9CisJCXBvbGFyaXR5ID0gdGVzdF9iaXQoYnVzLCBtcF9idXNfbm90X3BjaSk/CisJCQlkZWZhdWx0X0lTQV9wb2xhcml0eShpZHgpOgorCQkJZGVmYXVsdF9QQ0lfcG9sYXJpdHkoaWR4KTsKKwkJYnJlYWs7CisJfQorCWNhc2UgMTogLyogaGlnaCBhY3RpdmUgKi8KKwl7CisJCXBvbGFyaXR5ID0gMDsKKwkJYnJlYWs7CisJfQorCWNhc2UgMjogLyogcmVzZXJ2ZWQgKi8KKwl7CisJCXByaW50ayhLRVJOX1dBUk5JTkcgImJyb2tlbiBCSU9TISFcbiIpOworCQlwb2xhcml0eSA9IDE7CisJCWJyZWFrOworCX0KKwljYXNlIDM6IC8qIGxvdyBhY3RpdmUgKi8KKwl7CisJCXBvbGFyaXR5ID0gMTsKKwkJYnJlYWs7CisJfQorCWRlZmF1bHQ6IC8qIGludmFsaWQgKi8KKwl7CisJCXByaW50ayhLRVJOX1dBUk5JTkcgImJyb2tlbiBCSU9TISFcbiIpOworCQlwb2xhcml0eSA9IDE7CisJCWJyZWFrOworCX0KIAl9CiAJcmV0dXJuIHBvbGFyaXR5OwogfQogCiBzdGF0aWMgaW50IE1QQklPU190cmlnZ2VyKGludCBpZHgpCiB7Ci0JaW50IGJ1cyA9IG1wX2lycXNbaWR4XS5tcGNfc3JjYnVzOworCWludCBidXMgPSBtcF9pcnFzW2lkeF0ubXBfc3JjYnVzOwogCWludCB0cmlnZ2VyOwogCiAJLyoKIAkgKiBEZXRlcm1pbmUgSVJRIHRyaWdnZXIgbW9kZSAoZWRnZSBvciBsZXZlbCBzZW5zaXRpdmUpOgogCSAqLwotCXN3aXRjaCAoKG1wX2lycXNbaWR4XS5tcGNfaXJxZmxhZz4+MikgJiAzKQorCXN3aXRjaCAoKG1wX2lycXNbaWR4XS5tcF9pcnFmbGFnPj4yKSAmIDMpIHsKKwljYXNlIDA6IC8qIGNvbmZvcm1zLCBpZS4gYnVzLXR5cGUgZGVwZW5kZW50ICovCiAJewotCQljYXNlIDA6IC8qIGNvbmZvcm1zLCBpZS4gYnVzLXR5cGUgZGVwZW5kZW50ICovCi0JCXsKLQkJCXRyaWdnZXIgPSB0ZXN0X2JpdChidXMsIG1wX2J1c19ub3RfcGNpKT8KLQkJCQkJZGVmYXVsdF9JU0FfdHJpZ2dlcihpZHgpOgotCQkJCQlkZWZhdWx0X1BDSV90cmlnZ2VyKGlkeCk7CisJCXRyaWdnZXIgPSB0ZXN0X2JpdChidXMsIG1wX2J1c19ub3RfcGNpKT8KKwkJCQlkZWZhdWx0X0lTQV90cmlnZ2VyKGlkeCk6CisJCQkJZGVmYXVsdF9QQ0lfdHJpZ2dlcihpZHgpOwogI2lmIGRlZmluZWQoQ09ORklHX0VJU0EpIHx8IGRlZmluZWQoQ09ORklHX01DQSkKLQkJCXN3aXRjaCAobXBfYnVzX2lkX3RvX3R5cGVbYnVzXSkKLQkJCXsKLQkJCQljYXNlIE1QX0JVU19JU0E6IC8qIElTQSBwaW4gKi8KLQkJCQl7Ci0JCQkJCS8qIHNldCBiZWZvcmUgdGhlIHN3aXRjaCAqLwotCQkJCQlicmVhazsKLQkJCQl9Ci0JCQkJY2FzZSBNUF9CVVNfRUlTQTogLyogRUlTQSBwaW4gKi8KLQkJCQl7Ci0JCQkJCXRyaWdnZXIgPSBkZWZhdWx0X0VJU0FfdHJpZ2dlcihpZHgpOwotCQkJCQlicmVhazsKLQkJCQl9Ci0JCQkJY2FzZSBNUF9CVVNfUENJOiAvKiBQQ0kgcGluICovCi0JCQkJewotCQkJCQkvKiBzZXQgYmVmb3JlIHRoZSBzd2l0Y2ggKi8KLQkJCQkJYnJlYWs7Ci0JCQkJfQotCQkJCWNhc2UgTVBfQlVTX01DQTogLyogTUNBIHBpbiAqLwotCQkJCXsKLQkJCQkJdHJpZ2dlciA9IGRlZmF1bHRfTUNBX3RyaWdnZXIoaWR4KTsKLQkJCQkJYnJlYWs7Ci0JCQkJfQotCQkJCWRlZmF1bHQ6Ci0JCQkJewotCQkJCQlwcmludGsoS0VSTl9XQVJOSU5HICJicm9rZW4gQklPUyEhXG4iKTsKLQkJCQkJdHJpZ2dlciA9IDE7Ci0JCQkJCWJyZWFrOwotCQkJCX0KLQkJCX0KKwkJc3dpdGNoIChtcF9idXNfaWRfdG9fdHlwZVtidXNdKSB7CisJCWNhc2UgTVBfQlVTX0lTQTogLyogSVNBIHBpbiAqLworCQl7CisJCQkvKiBzZXQgYmVmb3JlIHRoZSBzd2l0Y2ggKi8KKwkJCWJyZWFrOworCQl9CisJCWNhc2UgTVBfQlVTX0VJU0E6IC8qIEVJU0EgcGluICovCisJCXsKKwkJCXRyaWdnZXIgPSBkZWZhdWx0X0VJU0FfdHJpZ2dlcihpZHgpOworCQkJYnJlYWs7CisJCX0KKwkJY2FzZSBNUF9CVVNfUENJOiAvKiBQQ0kgcGluICovCisJCXsKKwkJCS8qIHNldCBiZWZvcmUgdGhlIHN3aXRjaCAqLworCQkJYnJlYWs7CisJCX0KKwkJY2FzZSBNUF9CVVNfTUNBOiAvKiBNQ0EgcGluICovCisJCXsKKwkJCXRyaWdnZXIgPSBkZWZhdWx0X01DQV90cmlnZ2VyKGlkeCk7CisJCQlicmVhazsKKwkJfQorCQlkZWZhdWx0OgorCQl7CisJCQlwcmludGsoS0VSTl9XQVJOSU5HICJicm9rZW4gQklPUyEhXG4iKTsKKwkJCXRyaWdnZXIgPSAxOworCQkJYnJlYWs7CisJCX0KKwl9CiAjZW5kaWYKLQkJCWJyZWFrOwotCQl9Ci0JCWNhc2UgMTogLyogZWRnZSAqLwotCQl7Ci0JCQl0cmlnZ2VyID0gMDsKLQkJCWJyZWFrOwotCQl9Ci0JCWNhc2UgMjogLyogcmVzZXJ2ZWQgKi8KLQkJewotCQkJcHJpbnRrKEtFUk5fV0FSTklORyAiYnJva2VuIEJJT1MhIVxuIik7Ci0JCQl0cmlnZ2VyID0gMTsKLQkJCWJyZWFrOwotCQl9Ci0JCWNhc2UgMzogLyogbGV2ZWwgKi8KLQkJewotCQkJdHJpZ2dlciA9IDE7Ci0JCQlicmVhazsKLQkJfQotCQlkZWZhdWx0OiAvKiBpbnZhbGlkICovCi0JCXsKLQkJCXByaW50ayhLRVJOX1dBUk5JTkcgImJyb2tlbiBCSU9TISFcbiIpOwotCQkJdHJpZ2dlciA9IDA7Ci0JCQlicmVhazsKLQkJfQorCQlicmVhazsKKwl9CisJY2FzZSAxOiAvKiBlZGdlICovCisJeworCQl0cmlnZ2VyID0gMDsKKwkJYnJlYWs7CisJfQorCWNhc2UgMjogLyogcmVzZXJ2ZWQgKi8KKwl7CisJCXByaW50ayhLRVJOX1dBUk5JTkcgImJyb2tlbiBCSU9TISFcbiIpOworCQl0cmlnZ2VyID0gMTsKKwkJYnJlYWs7CisJfQorCWNhc2UgMzogLyogbGV2ZWwgKi8KKwl7CisJCXRyaWdnZXIgPSAxOworCQlicmVhazsKKwl9CisJZGVmYXVsdDogLyogaW52YWxpZCAqLworCXsKKwkJcHJpbnRrKEtFUk5fV0FSTklORyAiYnJva2VuIEJJT1MhIVxuIik7CisJCXRyaWdnZXIgPSAwOworCQlicmVhazsKKwl9CiAJfQogCXJldHVybiB0cmlnZ2VyOwogfQpAQCAtMTA5NywxNiArMTEwMiwxNiBAQAogc3RhdGljIGludCBwaW5fMl9pcnEoaW50IGlkeCwgaW50IGFwaWMsIGludCBwaW4pCiB7CiAJaW50IGlycSwgaTsKLQlpbnQgYnVzID0gbXBfaXJxc1tpZHhdLm1wY19zcmNidXM7CisJaW50IGJ1cyA9IG1wX2lycXNbaWR4XS5tcF9zcmNidXM7CiAKIAkvKgogCSAqIERlYnVnZ2luZyBjaGVjaywgd2UgYXJlIGluIGJpZyB0cm91YmxlIGlmIHRoaXMgbWVzc2FnZSBwb3BzIHVwIQogCSAqLwotCWlmIChtcF9pcnFzW2lkeF0ubXBjX2RzdGlycSAhPSBwaW4pCisJaWYgKG1wX2lycXNbaWR4XS5tcF9kc3RpcnEgIT0gcGluKQogCQlwcmludGsoS0VSTl9FUlIgImJyb2tlbiBCSU9TIG9yIE1QVEFCTEUgcGFyc2VyLCBheWllZSEhXG4iKTsKIAogCWlmICh0ZXN0X2JpdChidXMsIG1wX2J1c19ub3RfcGNpKSkKLQkJaXJxID0gbXBfaXJxc1tpZHhdLm1wY19zcmNidXNpcnE7CisJCWlycSA9IG1wX2lycXNbaWR4XS5tcF9zcmNidXNpcnE7CiAJZWxzZSB7CiAJCS8qCiAJCSAqIFBDSSBJUlFzIGFyZSBtYXBwZWQgaW4gb3JkZXIKQEAgLTExNDgsOCArMTE1Myw4IEBACiAKIAlmb3IgKGFwaWMgPSAwOyBhcGljIDwgbnJfaW9hcGljczsgYXBpYysrKSB7CiAJCWZvciAocGluID0gMDsgcGluIDwgbnJfaW9hcGljX3JlZ2lzdGVyc1thcGljXTsgcGluKyspIHsKLQkJCWlkeCA9IGZpbmRfaXJxX2VudHJ5KGFwaWMscGluLG1wX0lOVCk7Ci0JCQlpZiAoKGlkeCAhPSAtMSkgJiYgKGlycSA9PSBwaW5fMl9pcnEoaWR4LGFwaWMscGluKSkpCisJCQlpZHggPSBmaW5kX2lycV9lbnRyeShhcGljLCBwaW4sIG1wX0lOVCk7CisJCQlpZiAoKGlkeCAhPSAtMSkgJiYgKGlycSA9PSBwaW5fMl9pcnEoaWR4LCBhcGljLCBwaW4pKSkKIAkJCQlyZXR1cm4gaXJxX3RyaWdnZXIoaWR4KTsKIAkJfQogCX0KQEAgLTExNjQsNyArMTE2OSw3IEBACiAKIHN0YXRpYyBpbnQgX19hc3NpZ25faXJxX3ZlY3RvcihpbnQgaXJxKQogewotCXN0YXRpYyBpbnQgY3VycmVudF92ZWN0b3IgPSBGSVJTVF9ERVZJQ0VfVkVDVE9SLCBjdXJyZW50X29mZnNldCA9IDA7CisJc3RhdGljIGludCBjdXJyZW50X3ZlY3RvciA9IEZJUlNUX0RFVklDRV9WRUNUT1IsIGN1cnJlbnRfb2Zmc2V0OwogCWludCB2ZWN0b3IsIG9mZnNldDsKIAogCUJVR19PTigodW5zaWduZWQpaXJxID49IE5SX0lSUV9WRUNUT1JTKTsKQEAgLTExNzYsNyArMTE4MSw3IEBACiAJb2Zmc2V0ID0gY3VycmVudF9vZmZzZXQ7CiBuZXh0OgogCXZlY3RvciArPSA4OwotCWlmICh2ZWN0b3IgPj0gRklSU1RfU1lTVEVNX1ZFQ1RPUikgeworCWlmICh2ZWN0b3IgPj0gZmlyc3Rfc3lzdGVtX3ZlY3RvcikgewogCQlvZmZzZXQgPSAob2Zmc2V0ICsgMSkgJSA4OwogCQl2ZWN0b3IgPSBGSVJTVF9ERVZJQ0VfVkVDVE9SICsgb2Zmc2V0OwogCX0KQEAgLTEyMDMsNiArMTIwOCwxMSBAQAogCiAJcmV0dXJuIHZlY3RvcjsKIH0KKwordm9pZCBzZXR1cF92ZWN0b3JfaXJxKGludCBjcHUpCit7Cit9CisKIHN0YXRpYyBzdHJ1Y3QgaXJxX2NoaXAgaW9hcGljX2NoaXA7CiAKICNkZWZpbmUgSU9BUElDX0FVVE8JLTEKQEAgLTEyMzcsMjUgKzEyNDcsMjUgQEAKIAkJLyoKIAkJICogYWRkIGl0IHRvIHRoZSBJTy1BUElDIGlycS1yb3V0aW5nIHRhYmxlOgogCQkgKi8KLQkJbWVtc2V0KCZlbnRyeSwwLHNpemVvZihlbnRyeSkpOworCQltZW1zZXQoJmVudHJ5LCAwLCBzaXplb2YoZW50cnkpKTsKIAogCQllbnRyeS5kZWxpdmVyeV9tb2RlID0gSU5UX0RFTElWRVJZX01PREU7CiAJCWVudHJ5LmRlc3RfbW9kZSA9IElOVF9ERVNUX01PREU7CiAJCWVudHJ5Lm1hc2sgPSAwOwkJCQkvKiBlbmFibGUgSVJRICovCi0JCWVudHJ5LmRlc3QubG9naWNhbC5sb2dpY2FsX2Rlc3QgPSAKKwkJZW50cnkuZGVzdC5sb2dpY2FsLmxvZ2ljYWxfZGVzdCA9CiAJCQkJCWNwdV9tYXNrX3RvX2FwaWNpZChUQVJHRVRfQ1BVUyk7CiAKLQkJaWR4ID0gZmluZF9pcnFfZW50cnkoYXBpYyxwaW4sbXBfSU5UKTsKKwkJaWR4ID0gZmluZF9pcnFfZW50cnkoYXBpYywgcGluLCBtcF9JTlQpOwogCQlpZiAoaWR4ID09IC0xKSB7CiAJCQlpZiAoZmlyc3Rfbm90Y29uKSB7CiAJCQkJYXBpY19wcmludGsoQVBJQ19WRVJCT1NFLCBLRVJOX0RFQlVHCiAJCQkJCQkiIElPLUFQSUMgKGFwaWNpZC1waW4pICVkLSVkIiwKLQkJCQkJCW1wX2lvYXBpY3NbYXBpY10ubXBjX2FwaWNpZCwKKwkJCQkJCW1wX2lvYXBpY3NbYXBpY10ubXBfYXBpY2lkLAogCQkJCQkJcGluKTsKIAkJCQlmaXJzdF9ub3Rjb24gPSAwOwogCQkJfSBlbHNlCiAJCQkJYXBpY19wcmludGsoQVBJQ19WRVJCT1NFLCAiLCAlZC0lZCIsCi0JCQkJCW1wX2lvYXBpY3NbYXBpY10ubXBjX2FwaWNpZCwgcGluKTsKKwkJCQkJbXBfaW9hcGljc1thcGljXS5tcF9hcGljaWQsIHBpbik7CiAJCQljb250aW51ZTsKIAkJfQogCkBAIC0xMjg5LDcgKzEyOTksNyBAQAogCQkJdmVjdG9yID0gYXNzaWduX2lycV92ZWN0b3IoaXJxKTsKIAkJCWVudHJ5LnZlY3RvciA9IHZlY3RvcjsKIAkJCWlvYXBpY19yZWdpc3Rlcl9pbnRyKGlycSwgdmVjdG9yLCBJT0FQSUNfQVVUTyk7Ci0JCQorCiAJCQlpZiAoIWFwaWMgJiYgKGlycSA8IDE2KSkKIAkJCQlkaXNhYmxlXzgyNTlBX2lycShpcnEpOwogCQl9CkBAIC0xMzAyLDI1ICsxMzEyLDIxIEBACiB9CiAKIC8qCi0gKiBTZXQgdXAgdGhlIDgyNTlBLW1hc3RlciBvdXRwdXQgcGluOgorICogU2V0IHVwIHRoZSB0aW1lciBwaW4sIHBvc3NpYmx5IHdpdGggdGhlIDgyNTlBLW1hc3RlciBiZWhpbmQuCiAgKi8KLXN0YXRpYyB2b2lkIF9faW5pdCBzZXR1cF9FeHRJTlRfSVJRMF9waW4odW5zaWduZWQgaW50IGFwaWMsIHVuc2lnbmVkIGludCBwaW4sIGludCB2ZWN0b3IpCitzdGF0aWMgdm9pZCBfX2luaXQgc2V0dXBfdGltZXJfSVJRMF9waW4odW5zaWduZWQgaW50IGFwaWMsIHVuc2lnbmVkIGludCBwaW4sCisJCQkJCWludCB2ZWN0b3IpCiB7CiAJc3RydWN0IElPX0FQSUNfcm91dGVfZW50cnkgZW50cnk7CiAKLQltZW1zZXQoJmVudHJ5LDAsc2l6ZW9mKGVudHJ5KSk7Ci0KLQlkaXNhYmxlXzgyNTlBX2lycSgwKTsKLQotCS8qIG1hc2sgTFZUMCAqLwotCWFwaWNfd3JpdGVfYXJvdW5kKEFQSUNfTFZUMCwgQVBJQ19MVlRfTUFTS0VEIHwgQVBJQ19ETV9FWFRJTlQpOworCW1lbXNldCgmZW50cnksIDAsIHNpemVvZihlbnRyeSkpOwogCiAJLyoKIAkgKiBXZSB1c2UgbG9naWNhbCBkZWxpdmVyeSB0byBnZXQgdGhlIHRpbWVyIElSUQogCSAqIHRvIHRoZSBmaXJzdCBDUFUuCiAJICovCiAJZW50cnkuZGVzdF9tb2RlID0gSU5UX0RFU1RfTU9ERTsKLQllbnRyeS5tYXNrID0gMDsJCQkJCS8qIHVubWFzayBJUlEgbm93ICovCisJZW50cnkubWFzayA9IDE7CQkJCQkvKiBtYXNrIElSUSBub3cgKi8KIAllbnRyeS5kZXN0LmxvZ2ljYWwubG9naWNhbF9kZXN0ID0gY3B1X21hc2tfdG9fYXBpY2lkKFRBUkdFVF9DUFVTKTsKIAllbnRyeS5kZWxpdmVyeV9tb2RlID0gSU5UX0RFTElWRVJZX01PREU7CiAJZW50cnkucG9sYXJpdHkgPSAwOwpAQCAtMTMyOSwxNyArMTMzNSwxNCBAQAogCiAJLyoKIAkgKiBUaGUgdGltZXIgSVJRIGRvZXNuJ3QgaGF2ZSB0byBrbm93IHRoYXQgYmVoaW5kIHRoZQotCSAqIHNjZW5lIHdlIGhhdmUgYSA4MjU5QS1tYXN0ZXIgaW4gQUVPSSBtb2RlIC4uLgorCSAqIHNjZW5lIHdlIG1heSBoYXZlIGEgODI1OUEtbWFzdGVyIGluIEFFT0kgbW9kZSAuLi4KIAkgKi8KLQlpcnFfZGVzY1swXS5jaGlwID0gJmlvYXBpY19jaGlwOwotCXNldF9pcnFfaGFuZGxlcigwLCBoYW5kbGVfZWRnZV9pcnEpOworCWlvYXBpY19yZWdpc3Rlcl9pbnRyKDAsIHZlY3RvciwgSU9BUElDX0VER0UpOwogCiAJLyoKIAkgKiBBZGQgaXQgdG8gdGhlIElPLUFQSUMgaXJxLXJvdXRpbmcgdGFibGU6CiAJICovCiAJaW9hcGljX3dyaXRlX2VudHJ5KGFwaWMsIHBpbiwgZW50cnkpOwotCi0JZW5hYmxlXzgyNTlBX2lycSgwKTsKIH0KIAogdm9pZCBfX2luaXQgcHJpbnRfSU9fQVBJQyh2b2lkKQpAQCAtMTM1NCwxMCArMTM1NywxMCBAQAogCWlmIChhcGljX3ZlcmJvc2l0eSA9PSBBUElDX1FVSUVUKQogCQlyZXR1cm47CiAKLSAJcHJpbnRrKEtFUk5fREVCVUcgIm51bWJlciBvZiBNUCBJUlEgc291cmNlczogJWQuXG4iLCBtcF9pcnFfZW50cmllcyk7CisJcHJpbnRrKEtFUk5fREVCVUcgIm51bWJlciBvZiBNUCBJUlEgc291cmNlczogJWQuXG4iLCBtcF9pcnFfZW50cmllcyk7CiAJZm9yIChpID0gMDsgaSA8IG5yX2lvYXBpY3M7IGkrKykKIAkJcHJpbnRrKEtFUk5fREVCVUcgIm51bWJlciBvZiBJTy1BUElDICMlZCByZWdpc3RlcnM6ICVkLlxuIiwKLQkJICAgICAgIG1wX2lvYXBpY3NbaV0ubXBjX2FwaWNpZCwgbnJfaW9hcGljX3JlZ2lzdGVyc1tpXSk7CisJCSAgICAgICBtcF9pb2FwaWNzW2ldLm1wX2FwaWNpZCwgbnJfaW9hcGljX3JlZ2lzdGVyc1tpXSk7CiAKIAkvKgogCSAqIFdlIGFyZSBhIGJpdCBjb25zZXJ2YXRpdmUgYWJvdXQgd2hhdCB3ZSBleHBlY3QuICBXZSBoYXZlIHRvCkBAIC0xMzc2LDcgKzEzNzksNyBAQAogCQlyZWdfMDMucmF3ID0gaW9fYXBpY19yZWFkKGFwaWMsIDMpOwogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmlvYXBpY19sb2NrLCBmbGFncyk7CiAKLQlwcmludGsoS0VSTl9ERUJVRyAiSU8gQVBJQyAjJWQuLi4uLi5cbiIsIG1wX2lvYXBpY3NbYXBpY10ubXBjX2FwaWNpZCk7CisJcHJpbnRrKEtFUk5fREVCVUcgIklPIEFQSUMgIyVkLi4uLi4uXG4iLCBtcF9pb2FwaWNzW2FwaWNdLm1wX2FwaWNpZCk7CiAJcHJpbnRrKEtFUk5fREVCVUcgIi4uLi4gcmVnaXN0ZXIgIzAwOiAlMDhYXG4iLCByZWdfMDAucmF3KTsKIAlwcmludGsoS0VSTl9ERUJVRyAiLi4uLi4uLiAgICA6IHBoeXNpY2FsIEFQSUMgaWQ6ICUwMlhcbiIsIHJlZ18wMC5iaXRzLklEKTsKIAlwcmludGsoS0VSTl9ERUJVRyAiLi4uLi4uLiAgICA6IERlbGl2ZXJ5IFR5cGU6ICVYXG4iLCByZWdfMDAuYml0cy5kZWxpdmVyeV90eXBlKTsKQEAgLTE0NTksNyArMTQ2Miw3IEBACiAKICNpZiAwCiAKLXN0YXRpYyB2b2lkIHByaW50X0FQSUNfYml0ZmllbGQgKGludCBiYXNlKQorc3RhdGljIHZvaWQgcHJpbnRfQVBJQ19iaXRmaWVsZChpbnQgYmFzZSkKIHsKIAl1bnNpZ25lZCBpbnQgdjsKIAlpbnQgaSwgajsKQEAgLTE0ODAsNyArMTQ4Myw3IEBACiAJfQogfQogCi12b2lkIC8qX19pbml0Ki8gcHJpbnRfbG9jYWxfQVBJQyh2b2lkICogZHVtbXkpCit2b2lkIC8qX19pbml0Ki8gcHJpbnRfbG9jYWxfQVBJQyh2b2lkICpkdW1teSkKIHsKIAl1bnNpZ25lZCBpbnQgdiwgdmVyLCBtYXhsdnQ7CiAKQEAgLTE0ODksNiArMTQ5Miw3IEBACiAKIAlwcmludGsoIlxuIiBLRVJOX0RFQlVHICJwcmludGluZyBsb2NhbCBBUElDIGNvbnRlbnRzIG9uIENQVSMlZC8lZDpcbiIsCiAJCXNtcF9wcm9jZXNzb3JfaWQoKSwgaGFyZF9zbXBfcHJvY2Vzc29yX2lkKCkpOworCXYgPSBhcGljX3JlYWQoQVBJQ19JRCk7CiAJcHJpbnRrKEtFUk5fSU5GTyAiLi4uIEFQSUMgSUQ6ICAgICAgJTA4eCAoJTAxeClcbiIsIHYsCiAJCQlHRVRfQVBJQ19JRChyZWFkX2FwaWNfaWQoKSkpOwogCXYgPSBhcGljX3JlYWQoQVBJQ19MVlIpOwpAQCAtMTU2Myw5ICsxNTY3LDkgQEAKIAlwcmludGsoIlxuIik7CiB9CiAKLXZvaWQgcHJpbnRfYWxsX2xvY2FsX0FQSUNzICh2b2lkKQordm9pZCBwcmludF9hbGxfbG9jYWxfQVBJQ3Modm9pZCkKIHsKLQlvbl9lYWNoX2NwdShwcmludF9sb2NhbF9BUElDLCBOVUxMLCAxLCAxKTsKKwlvbl9lYWNoX2NwdShwcmludF9sb2NhbF9BUElDLCBOVUxMLCAxKTsKIH0KIAogdm9pZCAvKl9faW5pdCovIHByaW50X1BJQyh2b2lkKQpAQCAtMTU4NiwxMSArMTU5MCwxMSBAQAogCXYgPSBpbmIoMHhhMCkgPDwgOCB8IGluYigweDIwKTsKIAlwcmludGsoS0VSTl9ERUJVRyAiLi4uIFBJQyAgSVJSOiAlMDR4XG4iLCB2KTsKIAotCW91dGIoMHgwYiwweGEwKTsKLQlvdXRiKDB4MGIsMHgyMCk7CisJb3V0YigweDBiLCAweGEwKTsKKwlvdXRiKDB4MGIsIDB4MjApOwogCXYgPSBpbmIoMHhhMCkgPDwgOCB8IGluYigweDIwKTsKLQlvdXRiKDB4MGEsMHhhMCk7Ci0Jb3V0YigweDBhLDB4MjApOworCW91dGIoMHgwYSwgMHhhMCk7CisJb3V0YigweDBhLCAweDIwKTsKIAogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmk4MjU5QV9sb2NrLCBmbGFncyk7CiAKQEAgLTE2MjYsNyArMTYzMCw3IEBACiAJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmlvYXBpY19sb2NrLCBmbGFncyk7CiAJCW5yX2lvYXBpY19yZWdpc3RlcnNbYXBpY10gPSByZWdfMDEuYml0cy5lbnRyaWVzKzE7CiAJfQotCWZvcihhcGljID0gMDsgYXBpYyA8IG5yX2lvYXBpY3M7IGFwaWMrKykgeworCWZvciAoYXBpYyA9IDA7IGFwaWMgPCBucl9pb2FwaWNzOyBhcGljKyspIHsKIAkJaW50IHBpbjsKIAkJLyogU2VlIGlmIGFueSBvZiB0aGUgcGlucyBpcyBpbiBFeHRJTlQgbW9kZSAqLwogCQlmb3IgKHBpbiA9IDA7IHBpbiA8IG5yX2lvYXBpY19yZWdpc3RlcnNbYXBpY107IHBpbisrKSB7CkBAIC0xNzE2LDcgKzE3MjAsNiBAQAogICogYnkgTWF0dCBEb21zY2ggPE1hdHRfRG9tc2NoQGRlbGwuY29tPiAgVHVlIERlYyAyMSAxMjoyNTowNSBDU1QgMTk5OQogICovCiAKLSNpZm5kZWYgQ09ORklHX1g4Nl9OVU1BUQogc3RhdGljIHZvaWQgX19pbml0IHNldHVwX2lvYXBpY19pZHNfZnJvbV9tcGModm9pZCkKIHsKIAl1bmlvbiBJT19BUElDX3JlZ18wMCByZWdfMDA7CkBAIC0xNzI2LDYgKzE3MjksMTEgQEAKIAl1bnNpZ25lZCBjaGFyIG9sZF9pZDsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCisjaWZkZWYgQ09ORklHX1g4Nl9OVU1BUQorCWlmIChmb3VuZF9udW1hcSkKKwkJcmV0dXJuOworI2VuZGlmCisKIAkvKgogCSAqIERvbid0IGNoZWNrIEkvTyBBUElDIElEcyBmb3IgeEFQSUMgc3lzdGVtcy4gIFRoZXkgaGF2ZQogCSAqIG5vIG1lYW5pbmcgd2l0aG91dCB0aGUgc2VyaWFsIEFQSUMgYnVzLgpAQCAtMTc0OCwxNSArMTc1NiwxNSBAQAogCQlzcGluX2xvY2tfaXJxc2F2ZSgmaW9hcGljX2xvY2ssIGZsYWdzKTsKIAkJcmVnXzAwLnJhdyA9IGlvX2FwaWNfcmVhZChhcGljLCAwKTsKIAkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaW9hcGljX2xvY2ssIGZsYWdzKTsKLQkJCi0JCW9sZF9pZCA9IG1wX2lvYXBpY3NbYXBpY10ubXBjX2FwaWNpZDsKIAotCQlpZiAobXBfaW9hcGljc1thcGljXS5tcGNfYXBpY2lkID49IGdldF9waHlzaWNhbF9icm9hZGNhc3QoKSkgeworCQlvbGRfaWQgPSBtcF9pb2FwaWNzW2FwaWNdLm1wX2FwaWNpZDsKKworCQlpZiAobXBfaW9hcGljc1thcGljXS5tcF9hcGljaWQgPj0gZ2V0X3BoeXNpY2FsX2Jyb2FkY2FzdCgpKSB7CiAJCQlwcmludGsoS0VSTl9FUlIgIkJJT1MgYnVnLCBJTy1BUElDIyVkIElEIGlzICVkIGluIHRoZSBNUEMgdGFibGUhLi4uXG4iLAotCQkJCWFwaWMsIG1wX2lvYXBpY3NbYXBpY10ubXBjX2FwaWNpZCk7CisJCQkJYXBpYywgbXBfaW9hcGljc1thcGljXS5tcF9hcGljaWQpOwogCQkJcHJpbnRrKEtFUk5fRVJSICIuLi4gZml4aW5nIHVwIHRvICVkLiAodGVsbCB5b3VyIGh3IHZlbmRvcilcbiIsCiAJCQkJcmVnXzAwLmJpdHMuSUQpOwotCQkJbXBfaW9hcGljc1thcGljXS5tcGNfYXBpY2lkID0gcmVnXzAwLmJpdHMuSUQ7CisJCQltcF9pb2FwaWNzW2FwaWNdLm1wX2FwaWNpZCA9IHJlZ18wMC5iaXRzLklEOwogCQl9CiAKIAkJLyoKQEAgLTE3NjUsOSArMTc3Myw5IEBACiAJCSAqICdzdHVjayBvbiBzbXBfaW52YWxpZGF0ZV9uZWVkZWQgSVBJIHdhaXQnIG1lc3NhZ2VzLgogCQkgKi8KIAkJaWYgKGNoZWNrX2FwaWNpZF91c2VkKHBoeXNfaWRfcHJlc2VudF9tYXAsCi0JCQkJCW1wX2lvYXBpY3NbYXBpY10ubXBjX2FwaWNpZCkpIHsKKwkJCQkJbXBfaW9hcGljc1thcGljXS5tcF9hcGljaWQpKSB7CiAJCQlwcmludGsoS0VSTl9FUlIgIkJJT1MgYnVnLCBJTy1BUElDIyVkIElEICVkIGlzIGFscmVhZHkgdXNlZCEuLi5cbiIsCi0JCQkJYXBpYywgbXBfaW9hcGljc1thcGljXS5tcGNfYXBpY2lkKTsKKwkJCQlhcGljLCBtcF9pb2FwaWNzW2FwaWNdLm1wX2FwaWNpZCk7CiAJCQlmb3IgKGkgPSAwOyBpIDwgZ2V0X3BoeXNpY2FsX2Jyb2FkY2FzdCgpOyBpKyspCiAJCQkJaWYgKCFwaHlzaWRfaXNzZXQoaSwgcGh5c19pZF9wcmVzZW50X21hcCkpCiAJCQkJCWJyZWFrOwpAQCAtMTc3NiwxMyArMTc4NCwxMyBAQAogCQkJcHJpbnRrKEtFUk5fRVJSICIuLi4gZml4aW5nIHVwIHRvICVkLiAodGVsbCB5b3VyIGh3IHZlbmRvcilcbiIsCiAJCQkJaSk7CiAJCQlwaHlzaWRfc2V0KGksIHBoeXNfaWRfcHJlc2VudF9tYXApOwotCQkJbXBfaW9hcGljc1thcGljXS5tcGNfYXBpY2lkID0gaTsKKwkJCW1wX2lvYXBpY3NbYXBpY10ubXBfYXBpY2lkID0gaTsKIAkJfSBlbHNlIHsKIAkJCXBoeXNpZF9tYXNrX3QgdG1wOwotCQkJdG1wID0gYXBpY2lkX3RvX2NwdV9wcmVzZW50KG1wX2lvYXBpY3NbYXBpY10ubXBjX2FwaWNpZCk7CisJCQl0bXAgPSBhcGljaWRfdG9fY3B1X3ByZXNlbnQobXBfaW9hcGljc1thcGljXS5tcF9hcGljaWQpOwogCQkJYXBpY19wcmludGsoQVBJQ19WRVJCT1NFLCAiU2V0dGluZyAlZCBpbiB0aGUgIgogCQkJCQkicGh5c19pZF9wcmVzZW50X21hcFxuIiwKLQkJCQkJbXBfaW9hcGljc1thcGljXS5tcGNfYXBpY2lkKTsKKwkJCQkJbXBfaW9hcGljc1thcGljXS5tcF9hcGljaWQpOwogCQkJcGh5c2lkc19vcihwaHlzX2lkX3ByZXNlbnRfbWFwLCBwaHlzX2lkX3ByZXNlbnRfbWFwLCB0bXApOwogCQl9CiAKQEAgLTE3OTEsMjEgKzE3OTksMjEgQEAKIAkJICogV2UgbmVlZCB0byBhZGp1c3QgdGhlIElSUSByb3V0aW5nIHRhYmxlCiAJCSAqIGlmIHRoZSBJRCBjaGFuZ2VkLgogCQkgKi8KLQkJaWYgKG9sZF9pZCAhPSBtcF9pb2FwaWNzW2FwaWNdLm1wY19hcGljaWQpCisJCWlmIChvbGRfaWQgIT0gbXBfaW9hcGljc1thcGljXS5tcF9hcGljaWQpCiAJCQlmb3IgKGkgPSAwOyBpIDwgbXBfaXJxX2VudHJpZXM7IGkrKykKLQkJCQlpZiAobXBfaXJxc1tpXS5tcGNfZHN0YXBpYyA9PSBvbGRfaWQpCi0JCQkJCW1wX2lycXNbaV0ubXBjX2RzdGFwaWMKLQkJCQkJCT0gbXBfaW9hcGljc1thcGljXS5tcGNfYXBpY2lkOworCQkJCWlmIChtcF9pcnFzW2ldLm1wX2RzdGFwaWMgPT0gb2xkX2lkKQorCQkJCQltcF9pcnFzW2ldLm1wX2RzdGFwaWMKKwkJCQkJCT0gbXBfaW9hcGljc1thcGljXS5tcF9hcGljaWQ7CiAKIAkJLyoKIAkJICogUmVhZCB0aGUgcmlnaHQgdmFsdWUgZnJvbSB0aGUgTVBDIHRhYmxlIGFuZAogCQkgKiB3cml0ZSBpdCBpbnRvIHRoZSBJRCByZWdpc3Rlci4KLQkgCSAqLworCQkgKi8KIAkJYXBpY19wcmludGsoQVBJQ19WRVJCT1NFLCBLRVJOX0lORk8KIAkJCSIuLi5jaGFuZ2luZyBJTy1BUElDIHBoeXNpY2FsIEFQSUMgSUQgdG8gJWQgLi4uIiwKLQkJCW1wX2lvYXBpY3NbYXBpY10ubXBjX2FwaWNpZCk7CisJCQltcF9pb2FwaWNzW2FwaWNdLm1wX2FwaWNpZCk7CiAKLQkJcmVnXzAwLmJpdHMuSUQgPSBtcF9pb2FwaWNzW2FwaWNdLm1wY19hcGljaWQ7CisJCXJlZ18wMC5iaXRzLklEID0gbXBfaW9hcGljc1thcGljXS5tcF9hcGljaWQ7CiAJCXNwaW5fbG9ja19pcnFzYXZlKCZpb2FwaWNfbG9jaywgZmxhZ3MpOwogCQlpb19hcGljX3dyaXRlKGFwaWMsIDAsIHJlZ18wMC5yYXcpOwogCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpb2FwaWNfbG9jaywgZmxhZ3MpOwpAQCAtMTgxNiwxNSArMTgyNCwxMiBAQAogCQlzcGluX2xvY2tfaXJxc2F2ZSgmaW9hcGljX2xvY2ssIGZsYWdzKTsKIAkJcmVnXzAwLnJhdyA9IGlvX2FwaWNfcmVhZChhcGljLCAwKTsKIAkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaW9hcGljX2xvY2ssIGZsYWdzKTsKLQkJaWYgKHJlZ18wMC5iaXRzLklEICE9IG1wX2lvYXBpY3NbYXBpY10ubXBjX2FwaWNpZCkKKwkJaWYgKHJlZ18wMC5iaXRzLklEICE9IG1wX2lvYXBpY3NbYXBpY10ubXBfYXBpY2lkKQogCQkJcHJpbnRrKCJjb3VsZCBub3Qgc2V0IElEIVxuIik7CiAJCWVsc2UKIAkJCWFwaWNfcHJpbnRrKEFQSUNfVkVSQk9TRSwgIiBvay5cbiIpOwogCX0KIH0KLSNlbHNlCi1zdGF0aWMgdm9pZCBfX2luaXQgc2V0dXBfaW9hcGljX2lkc19mcm9tX21wYyh2b2lkKSB7IH0KLSNlbmRpZgogCiBpbnQgbm9fdGltZXJfY2hlY2sgX19pbml0ZGF0YTsKIApAQCAtMjAxNSwxMiArMjAyMCwxMiBAQAogICogVGhlIGxvY2FsIEFQSUMgaXJxLWNoaXAgaW1wbGVtZW50YXRpb246CiAgKi8KIAotc3RhdGljIHZvaWQgYWNrX2FwaWModW5zaWduZWQgaW50IGlycSkKK3N0YXRpYyB2b2lkIGFja19sYXBpY19pcnEodW5zaWduZWQgaW50IGlycSkKIHsKIAlhY2tfQVBJQ19pcnEoKTsKIH0KIAotc3RhdGljIHZvaWQgbWFza19sYXBpY19pcnEgKHVuc2lnbmVkIGludCBpcnEpCitzdGF0aWMgdm9pZCBtYXNrX2xhcGljX2lycSh1bnNpZ25lZCBpbnQgaXJxKQogewogCXVuc2lnbmVkIGxvbmcgdjsKIApAQCAtMjAyOCw3ICsyMDMzLDcgQEAKIAlhcGljX3dyaXRlX2Fyb3VuZChBUElDX0xWVDAsIHYgfCBBUElDX0xWVF9NQVNLRUQpOwogfQogCi1zdGF0aWMgdm9pZCB1bm1hc2tfbGFwaWNfaXJxICh1bnNpZ25lZCBpbnQgaXJxKQorc3RhdGljIHZvaWQgdW5tYXNrX2xhcGljX2lycSh1bnNpZ25lZCBpbnQgaXJxKQogewogCXVuc2lnbmVkIGxvbmcgdjsKIApAQCAtMjAzNywyMyArMjA0MiwzMSBAQAogfQogCiBzdGF0aWMgc3RydWN0IGlycV9jaGlwIGxhcGljX2NoaXAgX19yZWFkX21vc3RseSA9IHsKLQkubmFtZQkJPSAibG9jYWwtQVBJQy1lZGdlIiwKKwkubmFtZQkJPSAibG9jYWwtQVBJQyIsCiAJLm1hc2sJCT0gbWFza19sYXBpY19pcnEsCiAJLnVubWFzawkJPSB1bm1hc2tfbGFwaWNfaXJxLAotCS5lb2kJCT0gYWNrX2FwaWMsCisJLmFjawkJPSBhY2tfbGFwaWNfaXJxLAogfTsKIAorc3RhdGljIHZvaWQgbGFwaWNfcmVnaXN0ZXJfaW50cihpbnQgaXJxLCBpbnQgdmVjdG9yKQoreworCWlycV9kZXNjW2lycV0uc3RhdHVzICY9IH5JUlFfTEVWRUw7CisJc2V0X2lycV9jaGlwX2FuZF9oYW5kbGVyX25hbWUoaXJxLCAmbGFwaWNfY2hpcCwgaGFuZGxlX2VkZ2VfaXJxLAorCQkJCSAgICAgICJlZGdlIik7CisJc2V0X2ludHJfZ2F0ZSh2ZWN0b3IsIGludGVycnVwdFtpcnFdKTsKK30KKwogc3RhdGljIHZvaWQgX19pbml0IHNldHVwX25taSh2b2lkKQogewogCS8qCi0gCSAqIERpcnR5IHRyaWNrIHRvIGVuYWJsZSB0aGUgTk1JIHdhdGNoZG9nIC4uLgorCSAqIERpcnR5IHRyaWNrIHRvIGVuYWJsZSB0aGUgTk1JIHdhdGNoZG9nIC4uLgogCSAqIFdlIHB1dCB0aGUgODI1OUEgbWFzdGVyIGludG8gQUVPSSBtb2RlIGFuZAogCSAqIHVubWFzayBvbiBhbGwgbG9jYWwgQVBJQ3MgTFZUMCBhcyBOTUkuCiAJICoKIAkgKiBUaGUgaWRlYSB0byB1c2UgdGhlIDgyNTlBIGluIEFFT0kgbW9kZSAoJzgyNTlBIFZpcnR1YWwgV2lyZScpCiAJICogaXMgZnJvbSBNYWNpZWogVy4gUm96eWNraSAtIHNvIHdlIGRvIG5vdCBoYXZlIHRvIEVPSSBmcm9tCiAJICogdGhlIE5NSSBoYW5kbGVyIG9yIHRoZSB0aW1lciBpbnRlcnJ1cHQuCi0JICovIAorCSAqLwogCWFwaWNfcHJpbnRrKEFQSUNfVkVSQk9TRSwgS0VSTl9JTkZPICJhY3RpdmF0aW5nIE5NSSBXYXRjaGRvZyAuLi4iKTsKIAogCWVuYWJsZV9OTUlfdGhyb3VnaF9MVlQwKCk7CkBAIC0yMTI5LDExICsyMTQyLDE2IEBACiBzdGF0aWMgaW5saW5lIHZvaWQgX19pbml0IGNoZWNrX3RpbWVyKHZvaWQpCiB7CiAJaW50IGFwaWMxLCBwaW4xLCBhcGljMiwgcGluMjsKKwlpbnQgbm9fcGluMSA9IDA7CiAJaW50IHZlY3RvcjsKKwl1bnNpZ25lZCBpbnQgdmVyOwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAKIAlsb2NhbF9pcnFfc2F2ZShmbGFncyk7CiAKKwl2ZXIgPSBhcGljX3JlYWQoQVBJQ19MVlIpOworCXZlciA9IEdFVF9BUElDX1ZFUlNJT04odmVyKTsKKwogCS8qCiAJICogZ2V0L3NldCB0aGUgdGltZXIgSVJRIHZlY3RvcjoKIAkgKi8KQEAgLTIxNDIsMTcgKzIxNjAsMTcgQEAKIAlzZXRfaW50cl9nYXRlKHZlY3RvciwgaW50ZXJydXB0WzBdKTsKIAogCS8qCi0JICogU3VidGxlLCBjb2RlIGluIGRvX3RpbWVyX2ludGVycnVwdCgpIGV4cGVjdHMgYW4gQUVPSQotCSAqIG1vZGUgZm9yIHRoZSA4MjU5QSB3aGVuZXZlciBpbnRlcnJ1cHRzIGFyZSByb3V0ZWQKLQkgKiB0aHJvdWdoIEkvTyBBUElDcy4gIEFsc28gSVJRMCBoYXMgdG8gYmUgZW5hYmxlZCBpbgotCSAqIHRoZSA4MjU5QSB3aGljaCBpbXBsaWVzIHRoZSB2aXJ0dWFsIHdpcmUgaGFzIHRvIGJlCi0JICogZGlzYWJsZWQgaW4gdGhlIGxvY2FsIEFQSUMuCisJICogQXMgSVJRMCBpcyB0byBiZSBlbmFibGVkIGluIHRoZSA4MjU5QSwgdGhlIHZpcnR1YWwKKwkgKiB3aXJlIGhhcyB0byBiZSBkaXNhYmxlZCBpbiB0aGUgbG9jYWwgQVBJQy4gIEFsc28KKwkgKiB0aW1lciBpbnRlcnJ1cHRzIG5lZWQgdG8gYmUgYWNrbm93bGVkZ2VkIG1hbnVhbGx5IGluCisJICogdGhlIDgyNTlBIGZvciB0aGUgaTgyNDg5RFggd2hlbiB1c2luZyB0aGUgTk1JCisJICogd2F0Y2hkb2cgYXMgdGhhdCBBUElDIHRyZWF0cyBOTUlzIGFzIGxldmVsLXRyaWdnZXJlZC4KKwkgKiBUaGUgQUVPSSBtb2RlIHdpbGwgZmluaXNoIHRoZW0gaW4gdGhlIDgyNTlBCisJICogYXV0b21hdGljYWxseS4KIAkgKi8KIAlhcGljX3dyaXRlX2Fyb3VuZChBUElDX0xWVDAsIEFQSUNfTFZUX01BU0tFRCB8IEFQSUNfRE1fRVhUSU5UKTsKIAlpbml0XzgyNTlBKDEpOwotCXRpbWVyX2FjayA9IDE7Ci0JaWYgKHRpbWVyX292ZXJfODI1NCA+IDApCi0JCWVuYWJsZV84MjU5QV9pcnEoMCk7CisJdGltZXJfYWNrID0gKG5taV93YXRjaGRvZyA9PSBOTUlfSU9fQVBJQyAmJiAhQVBJQ19JTlRFR1JBVEVEKHZlcikpOwogCiAJcGluMSAgPSBmaW5kX2lzYV9pcnFfcGluKDAsIG1wX0lOVCk7CiAJYXBpYzEgPSBmaW5kX2lzYV9pcnFfYXBpYygwLCBtcF9JTlQpOwpAQCAtMjE2MiwxNCArMjE4MCwzMyBAQAogCXByaW50ayhLRVJOX0lORk8gIi4uVElNRVI6IHZlY3Rvcj0weCUwMlggYXBpYzE9JWQgcGluMT0lZCBhcGljMj0lZCBwaW4yPSVkXG4iLAogCQl2ZWN0b3IsIGFwaWMxLCBwaW4xLCBhcGljMiwgcGluMik7CiAKKwkvKgorCSAqIFNvbWUgQklPUyB3cml0ZXJzIGFyZSBjbHVlbGVzcyBhbmQgcmVwb3J0IHRoZSBFeHRJTlRBCisJICogSS9PIEFQSUMgaW5wdXQgZnJvbSB0aGUgY2FzY2FkZWQgODI1OUEgYXMgdGhlIHRpbWVyCisJICogaW50ZXJydXB0IGlucHV0LiAgU28ganVzdCBpbiBjYXNlLCBpZiBvbmx5IG9uZSBwaW4KKwkgKiB3YXMgZm91bmQgYWJvdmUsIHRyeSBpdCBib3RoIGRpcmVjdGx5IGFuZCB0aHJvdWdoIHRoZQorCSAqIDgyNTlBLgorCSAqLworCWlmIChwaW4xID09IC0xKSB7CisJCXBpbjEgPSBwaW4yOworCQlhcGljMSA9IGFwaWMyOworCQlub19waW4xID0gMTsKKwl9IGVsc2UgaWYgKHBpbjIgPT0gLTEpIHsKKwkJcGluMiA9IHBpbjE7CisJCWFwaWMyID0gYXBpYzE7CisJfQorCiAJaWYgKHBpbjEgIT0gLTEpIHsKIAkJLyoKIAkJICogT2ssIGRvZXMgSVJRMCB0aHJvdWdoIHRoZSBJT0FQSUMgd29yaz8KIAkJICovCisJCWlmIChub19waW4xKSB7CisJCQlhZGRfcGluX3RvX2lycSgwLCBhcGljMSwgcGluMSk7CisJCQlzZXR1cF90aW1lcl9JUlEwX3BpbihhcGljMSwgcGluMSwgdmVjdG9yKTsKKwkJfQogCQl1bm1hc2tfSU9fQVBJQ19pcnEoMCk7CiAJCWlmICh0aW1lcl9pcnFfd29ya3MoKSkgewogCQkJaWYgKG5taV93YXRjaGRvZyA9PSBOTUlfSU9fQVBJQykgewotCQkJCWRpc2FibGVfODI1OUFfaXJxKDApOwogCQkJCXNldHVwX25taSgpOwogCQkJCWVuYWJsZV84MjU5QV9pcnEoMCk7CiAJCQl9CkBAIC0yMTc4LDQ1ICsyMjE1LDQ3IEBACiAJCQlnb3RvIG91dDsKIAkJfQogCQljbGVhcl9JT19BUElDX3BpbihhcGljMSwgcGluMSk7Ci0JCXByaW50ayhLRVJOX0VSUiAiLi5NUC1CSU9TIGJ1ZzogODI1NCB0aW1lciBub3QgY29ubmVjdGVkIHRvICIKLQkJCQkiSU8tQVBJQ1xuIik7Ci0JfQorCQlpZiAoIW5vX3BpbjEpCisJCQlwcmludGsoS0VSTl9FUlIgIi4uTVAtQklPUyBidWc6ICIKKwkJCSAgICAgICAiODI1NCB0aW1lciBub3QgY29ubmVjdGVkIHRvIElPLUFQSUNcbiIpOwogCi0JcHJpbnRrKEtFUk5fSU5GTyAiLi4udHJ5aW5nIHRvIHNldCB1cCB0aW1lciAoSVJRMCkgdGhyb3VnaCB0aGUgODI1OUEgLi4uICIpOwotCWlmIChwaW4yICE9IC0xKSB7CisJCXByaW50ayhLRVJOX0lORk8gIi4uLnRyeWluZyB0byBzZXQgdXAgdGltZXIgKElSUTApICIKKwkJICAgICAgICJ0aHJvdWdoIHRoZSA4MjU5QSAuLi4gIik7CiAJCXByaW50aygiXG4uLi4uLiAoZm91bmQgcGluICVkKSAuLi4iLCBwaW4yKTsKIAkJLyoKIAkJICogbGVnYWN5IGRldmljZXMgc2hvdWxkIGJlIGNvbm5lY3RlZCB0byBJTyBBUElDICMwCiAJCSAqLwotCQlzZXR1cF9FeHRJTlRfSVJRMF9waW4oYXBpYzIsIHBpbjIsIHZlY3Rvcik7CisJCXJlcGxhY2VfcGluX2F0X2lycSgwLCBhcGljMSwgcGluMSwgYXBpYzIsIHBpbjIpOworCQlzZXR1cF90aW1lcl9JUlEwX3BpbihhcGljMiwgcGluMiwgdmVjdG9yKTsKKwkJdW5tYXNrX0lPX0FQSUNfaXJxKDApOworCQllbmFibGVfODI1OUFfaXJxKDApOwogCQlpZiAodGltZXJfaXJxX3dvcmtzKCkpIHsKIAkJCXByaW50aygid29ya3MuXG4iKTsKLQkJCWlmIChwaW4xICE9IC0xKQotCQkJCXJlcGxhY2VfcGluX2F0X2lycSgwLCBhcGljMSwgcGluMSwgYXBpYzIsIHBpbjIpOwotCQkJZWxzZQotCQkJCWFkZF9waW5fdG9faXJxKDAsIGFwaWMyLCBwaW4yKTsKKwkJCXRpbWVyX3Rocm91Z2hfODI1OSA9IDE7CiAJCQlpZiAobm1pX3dhdGNoZG9nID09IE5NSV9JT19BUElDKSB7CisJCQkJZGlzYWJsZV84MjU5QV9pcnEoMCk7CiAJCQkJc2V0dXBfbm1pKCk7CisJCQkJZW5hYmxlXzgyNTlBX2lycSgwKTsKIAkJCX0KIAkJCWdvdG8gb3V0OwogCQl9CiAJCS8qCiAJCSAqIENsZWFudXAsIGp1c3QgaW4gY2FzZSAuLi4KIAkJICovCisJCWRpc2FibGVfODI1OUFfaXJxKDApOwogCQljbGVhcl9JT19BUElDX3BpbihhcGljMiwgcGluMik7CisJCXByaW50aygiIGZhaWxlZC5cbiIpOwogCX0KLQlwcmludGsoIiBmYWlsZWQuXG4iKTsKIAogCWlmIChubWlfd2F0Y2hkb2cgPT0gTk1JX0lPX0FQSUMpIHsKIAkJcHJpbnRrKEtFUk5fV0FSTklORyAidGltZXIgZG9lc24ndCB3b3JrIHRocm91Z2ggdGhlIElPLUFQSUMgLSBkaXNhYmxpbmcgTk1JIFdhdGNoZG9nIVxuIik7Ci0JCW5taV93YXRjaGRvZyA9IDA7CisJCW5taV93YXRjaGRvZyA9IE5NSV9OT05FOwogCX0KKwl0aW1lcl9hY2sgPSAwOwogCiAJcHJpbnRrKEtFUk5fSU5GTyAiLi4udHJ5aW5nIHRvIHNldCB1cCB0aW1lciBhcyBWaXJ0dWFsIFdpcmUgSVJRLi4uIik7CiAKLQlkaXNhYmxlXzgyNTlBX2lycSgwKTsKLQlzZXRfaXJxX2NoaXBfYW5kX2hhbmRsZXJfbmFtZSgwLCAmbGFwaWNfY2hpcCwgaGFuZGxlX2Zhc3Rlb2lfaXJxLAotCQkJCSAgICAgICJmYXN0ZW9pIik7CisJbGFwaWNfcmVnaXN0ZXJfaW50cigwLCB2ZWN0b3IpOwogCWFwaWNfd3JpdGVfYXJvdW5kKEFQSUNfTFZUMCwgQVBJQ19ETV9GSVhFRCB8IHZlY3Rvcik7CS8qIEZpeGVkIG1vZGUgKi8KIAllbmFibGVfODI1OUFfaXJxKDApOwogCkBAIC0yMjI0LDEyICsyMjYzLDEyIEBACiAJCXByaW50aygiIHdvcmtzLlxuIik7CiAJCWdvdG8gb3V0OwogCX0KKwlkaXNhYmxlXzgyNTlBX2lycSgwKTsKIAlhcGljX3dyaXRlX2Fyb3VuZChBUElDX0xWVDAsIEFQSUNfTFZUX01BU0tFRCB8IEFQSUNfRE1fRklYRUQgfCB2ZWN0b3IpOwogCXByaW50aygiIGZhaWxlZC5cbiIpOwogCiAJcHJpbnRrKEtFUk5fSU5GTyAiLi4udHJ5aW5nIHRvIHNldCB1cCB0aW1lciBhcyBFeHRJTlQgSVJRLi4uIik7CiAKLQl0aW1lcl9hY2sgPSAwOwogCWluaXRfODI1OUEoMCk7CiAJbWFrZV84MjU5QV9pcnEoMCk7CiAJYXBpY193cml0ZV9hcm91bmQoQVBJQ19MVlQwLCBBUElDX0RNX0VYVElOVCk7CkBAIC0yMjQ4LDExICsyMjg3LDIxIEBACiB9CiAKIC8qCi0gKgotICogSVJRJ3MgdGhhdCBhcmUgaGFuZGxlZCBieSB0aGUgUElDIGluIHRoZSBNUFMgSU9BUElDIGNhc2UuCi0gKiAtIElSUTIgaXMgdGhlIGNhc2NhZGUgSVJRLCBhbmQgY2Fubm90IGJlIGEgaW8tYXBpYyBJUlEuCi0gKiAgIExpbnV4IGRvZXNuJ3QgcmVhbGx5IGNhcmUsIGFzIGl0J3Mgbm90IGFjdHVhbGx5IHVzZWQKLSAqICAgZm9yIGFueSBpbnRlcnJ1cHQgaGFuZGxpbmcgYW55d2F5LgorICogVHJhZGl0aW9uYWxseSBJU0EgSVJRMiBpcyB0aGUgY2FzY2FkZSBJUlEsIGFuZCBpcyBub3QgYXZhaWxhYmxlCisgKiB0byBkZXZpY2VzLiAgSG93ZXZlciB0aGVyZSBtYXkgYmUgYW4gSS9PIEFQSUMgcGluIGF2YWlsYWJsZSBmb3IKKyAqIHRoaXMgaW50ZXJydXB0IHJlZ2FyZGxlc3MuICBUaGUgcGluIG1heSBiZSBsZWZ0IHVuY29ubmVjdGVkLCBidXQKKyAqIHR5cGljYWxseSBpdCB3aWxsIGJlIHJldXNlZCBhcyBhbiBFeHRJTlQgY2FzY2FkZSBpbnRlcnJ1cHQgZm9yCisgKiB0aGUgbWFzdGVyIDgyNTlBLiAgSW4gdGhlIE1QUyBjYXNlIHN1Y2ggYSBwaW4gd2lsbCBub3JtYWxseSBiZQorICogcmVwb3J0ZWQgYXMgYW4gRXh0SU5UIGludGVycnVwdCBpbiB0aGUgTVAgdGFibGUuICBXaXRoIEFDUEkKKyAqIHRoZXJlIGlzIG5vIHByb3Zpc2lvbiBmb3IgRXh0SU5UIGludGVycnVwdHMsIGFuZCBpbiB0aGUgYWJzZW5jZQorICogb2YgYW4gb3ZlcnJpZGUgaXQgd291bGQgYmUgdHJlYXRlZCBhcyBhbiBvcmRpbmFyeSBJU0EgSS9PIEFQSUMKKyAqIGludGVycnVwdCwgdGhhdCBpcyBlZGdlLXRyaWdnZXJlZCBhbmQgdW5tYXNrZWQgYnkgZGVmYXVsdC4gIFdlCisgKiB1c2VkIHRvIGRvIHRoaXMsIGJ1dCBpdCBjYXVzZWQgcHJvYmxlbXMgb24gc29tZSBzeXN0ZW1zIGJlY2F1c2UKKyAqIG9mIHRoZSBOTUkgd2F0Y2hkb2cgYW5kIHNvbWV0aW1lcyBJUlEwIG9mIHRoZSA4MjU0IHRpbWVyIHVzaW5nCisgKiB0aGUgc2FtZSBFeHRJTlQgY2FzY2FkZSBpbnRlcnJ1cHQgdG8gZHJpdmUgdGhlIGxvY2FsIEFQSUMgb2YgdGhlCisgKiBib290c3RyYXAgcHJvY2Vzc29yLiAgVGhlcmVmb3JlIHdlIHJlZnJhaW4gZnJvbSByb3V0aW5nIElSUTIgdG8KKyAqIHRoZSBJL08gQVBJQyBpbiBhbGwgY2FzZXMgbm93LiAgTm8gYWN0dWFsIGRldmljZSBzaG91bGQgcmVxdWVzdAorICogaXQgYW55d2F5LiAgLS1tYWNybwogICovCiAjZGVmaW5lIFBJQ19JUlFTCSgxIDw8IFBJQ19DQVNDQURFX0lSKQogCkBAIC0yMjYxLDE1ICsyMzEwLDEyIEBACiAJaW50IGk7CiAKIAkvKiBSZXNlcnZlIGFsbCB0aGUgc3lzdGVtIHZlY3RvcnMuICovCi0JZm9yIChpID0gRklSU1RfU1lTVEVNX1ZFQ1RPUjsgaSA8IE5SX1ZFQ1RPUlM7IGkrKykKKwlmb3IgKGkgPSBmaXJzdF9zeXN0ZW1fdmVjdG9yOyBpIDwgTlJfVkVDVE9SUzsgaSsrKQogCQlzZXRfYml0KGksIHVzZWRfdmVjdG9ycyk7CiAKIAllbmFibGVfSU9fQVBJQygpOwogCi0JaWYgKGFjcGlfaW9hcGljKQotCQlpb19hcGljX2lycXMgPSB+MDsJLyogYWxsIElSUXMgZ28gdGhyb3VnaCBJT0FQSUMgKi8KLQllbHNlCi0JCWlvX2FwaWNfaXJxcyA9IH5QSUNfSVJRUzsKKwlpb19hcGljX2lycXMgPSB+UElDX0lSUVM7CiAKIAlwcmludGsoIkVOQUJMSU5HIElPLUFQSUMgSVJRc1xuIik7CiAKQEAgLTIyODYsMjggKzIzMzIsMTQgQEAKIAkJcHJpbnRfSU9fQVBJQygpOwogfQogCi1zdGF0aWMgaW50IF9faW5pdCBzZXR1cF9kaXNhYmxlXzgyNTRfdGltZXIoY2hhciAqcykKLXsKLQl0aW1lcl9vdmVyXzgyNTQgPSAtMTsKLQlyZXR1cm4gMTsKLX0KLXN0YXRpYyBpbnQgX19pbml0IHNldHVwX2VuYWJsZV84MjU0X3RpbWVyKGNoYXIgKnMpCi17Ci0JdGltZXJfb3Zlcl84MjU0ID0gMjsKLQlyZXR1cm4gMTsKLX0KLQotX19zZXR1cCgiZGlzYWJsZV84MjU0X3RpbWVyIiwgc2V0dXBfZGlzYWJsZV84MjU0X3RpbWVyKTsKLV9fc2V0dXAoImVuYWJsZV84MjU0X3RpbWVyIiwgc2V0dXBfZW5hYmxlXzgyNTRfdGltZXIpOwotCiAvKgogICoJQ2FsbGVkIGFmdGVyIGFsbCB0aGUgaW5pdGlhbGl6YXRpb24gaXMgZG9uZS4gSWYgd2UgZGlkbnQgZmluZCBhbnkKICAqCUFQSUMgYnVncyB0aGVuIHdlIGNhbiBhbGxvdyB0aGUgbW9kaWZ5IGZhc3QgcGF0aAogICovCi0gCisKIHN0YXRpYyBpbnQgX19pbml0IGlvX2FwaWNfYnVnX2ZpbmFsaXplKHZvaWQpCiB7Ci0JaWYoc2lzX2FwaWNfYnVnID09IC0xKQorCWlmIChzaXNfYXBpY19idWcgPT0gLTEpCiAJCXNpc19hcGljX2J1ZyA9IDA7CiAJcmV0dXJuIDA7CiB9CkBAIC0yMzE4LDE3ICsyMzUwLDE3IEBACiAJc3RydWN0IHN5c19kZXZpY2UgZGV2OwogCXN0cnVjdCBJT19BUElDX3JvdXRlX2VudHJ5IGVudHJ5WzBdOwogfTsKLXN0YXRpYyBzdHJ1Y3Qgc3lzZnNfaW9hcGljX2RhdGEgKiBtcF9pb2FwaWNfZGF0YVtNQVhfSU9fQVBJQ1NdOworc3RhdGljIHN0cnVjdCBzeXNmc19pb2FwaWNfZGF0YSAqbXBfaW9hcGljX2RhdGFbTUFYX0lPX0FQSUNTXTsKIAogc3RhdGljIGludCBpb2FwaWNfc3VzcGVuZChzdHJ1Y3Qgc3lzX2RldmljZSAqZGV2LCBwbV9tZXNzYWdlX3Qgc3RhdGUpCiB7CiAJc3RydWN0IElPX0FQSUNfcm91dGVfZW50cnkgKmVudHJ5OwogCXN0cnVjdCBzeXNmc19pb2FwaWNfZGF0YSAqZGF0YTsKIAlpbnQgaTsKLQkKKwogCWRhdGEgPSBjb250YWluZXJfb2YoZGV2LCBzdHJ1Y3Qgc3lzZnNfaW9hcGljX2RhdGEsIGRldik7CiAJZW50cnkgPSBkYXRhLT5lbnRyeTsKLQlmb3IgKGkgPSAwOyBpIDwgbnJfaW9hcGljX3JlZ2lzdGVyc1tkZXYtPmlkXTsgaSArKykKKwlmb3IgKGkgPSAwOyBpIDwgbnJfaW9hcGljX3JlZ2lzdGVyc1tkZXYtPmlkXTsgaSsrKQogCQllbnRyeVtpXSA9IGlvYXBpY19yZWFkX2VudHJ5KGRldi0+aWQsIGkpOwogCiAJcmV0dXJuIDA7CkBAIC0yMzQxLDE4ICsyMzczLDE4IEBACiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAl1bmlvbiBJT19BUElDX3JlZ18wMCByZWdfMDA7CiAJaW50IGk7Ci0JCisKIAlkYXRhID0gY29udGFpbmVyX29mKGRldiwgc3RydWN0IHN5c2ZzX2lvYXBpY19kYXRhLCBkZXYpOwogCWVudHJ5ID0gZGF0YS0+ZW50cnk7CiAKIAlzcGluX2xvY2tfaXJxc2F2ZSgmaW9hcGljX2xvY2ssIGZsYWdzKTsKIAlyZWdfMDAucmF3ID0gaW9fYXBpY19yZWFkKGRldi0+aWQsIDApOwotCWlmIChyZWdfMDAuYml0cy5JRCAhPSBtcF9pb2FwaWNzW2Rldi0+aWRdLm1wY19hcGljaWQpIHsKLQkJcmVnXzAwLmJpdHMuSUQgPSBtcF9pb2FwaWNzW2Rldi0+aWRdLm1wY19hcGljaWQ7CisJaWYgKHJlZ18wMC5iaXRzLklEICE9IG1wX2lvYXBpY3NbZGV2LT5pZF0ubXBfYXBpY2lkKSB7CisJCXJlZ18wMC5iaXRzLklEID0gbXBfaW9hcGljc1tkZXYtPmlkXS5tcF9hcGljaWQ7CiAJCWlvX2FwaWNfd3JpdGUoZGV2LT5pZCwgMCwgcmVnXzAwLnJhdyk7CiAJfQogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmlvYXBpY19sb2NrLCBmbGFncyk7Ci0JZm9yIChpID0gMDsgaSA8IG5yX2lvYXBpY19yZWdpc3RlcnNbZGV2LT5pZF07IGkgKyspCisJZm9yIChpID0gMDsgaSA8IG5yX2lvYXBpY19yZWdpc3RlcnNbZGV2LT5pZF07IGkrKykKIAkJaW9hcGljX3dyaXRlX2VudHJ5KGRldi0+aWQsIGksIGVudHJ5W2ldKTsKIAogCXJldHVybiAwOwpAQCAtMjM2NiwyNCArMjM5OCwyMyBAQAogCiBzdGF0aWMgaW50IF9faW5pdCBpb2FwaWNfaW5pdF9zeXNmcyh2b2lkKQogewotCXN0cnVjdCBzeXNfZGV2aWNlICogZGV2OworCXN0cnVjdCBzeXNfZGV2aWNlICpkZXY7CiAJaW50IGksIHNpemUsIGVycm9yID0gMDsKIAogCWVycm9yID0gc3lzZGV2X2NsYXNzX3JlZ2lzdGVyKCZpb2FwaWNfc3lzZGV2X2NsYXNzKTsKIAlpZiAoZXJyb3IpCiAJCXJldHVybiBlcnJvcjsKIAotCWZvciAoaSA9IDA7IGkgPCBucl9pb2FwaWNzOyBpKysgKSB7Ci0JCXNpemUgPSBzaXplb2Yoc3RydWN0IHN5c19kZXZpY2UpICsgbnJfaW9hcGljX3JlZ2lzdGVyc1tpXSAKKwlmb3IgKGkgPSAwOyBpIDwgbnJfaW9hcGljczsgaSsrKSB7CisJCXNpemUgPSBzaXplb2Yoc3RydWN0IHN5c19kZXZpY2UpICsgbnJfaW9hcGljX3JlZ2lzdGVyc1tpXQogCQkJKiBzaXplb2Yoc3RydWN0IElPX0FQSUNfcm91dGVfZW50cnkpOwotCQltcF9pb2FwaWNfZGF0YVtpXSA9IGttYWxsb2Moc2l6ZSwgR0ZQX0tFUk5FTCk7CisJCW1wX2lvYXBpY19kYXRhW2ldID0ga3phbGxvYyhzaXplLCBHRlBfS0VSTkVMKTsKIAkJaWYgKCFtcF9pb2FwaWNfZGF0YVtpXSkgewogCQkJcHJpbnRrKEtFUk5fRVJSICJDYW4ndCBzdXNwZW5kL3Jlc3VtZSBJT0FQSUMgJWRcbiIsIGkpOwogCQkJY29udGludWU7CiAJCX0KLQkJbWVtc2V0KG1wX2lvYXBpY19kYXRhW2ldLCAwLCBzaXplKTsKIAkJZGV2ID0gJm1wX2lvYXBpY19kYXRhW2ldLT5kZXY7Ci0JCWRldi0+aWQgPSBpOyAKKwkJZGV2LT5pZCA9IGk7CiAJCWRldi0+Y2xzID0gJmlvYXBpY19zeXNkZXZfY2xhc3M7CiAJCWVycm9yID0gc3lzZGV2X3JlZ2lzdGVyKGRldik7CiAJCWlmIChlcnJvcikgewpAQCAtMjQ1OCw3ICsyNDg5LDcgQEAKIAkJbXNnLT5hZGRyZXNzX2xvID0KIAkJCU1TSV9BRERSX0JBU0VfTE8gfAogCQkJKChJTlRfREVTVF9NT0RFID09IDApID8KLQkJCQlNU0lfQUREUl9ERVNUX01PREVfUEhZU0lDQUw6CitNU0lfQUREUl9ERVNUX01PREVfUEhZU0lDQUw6CiAJCQkJTVNJX0FERFJfREVTVF9NT0RFX0xPR0lDQUwpIHwKIAkJCSgoSU5UX0RFTElWRVJZX01PREUgIT0gZGVzdF9Mb3dlc3RQcmlvKSA/CiAJCQkJTVNJX0FERFJfUkVESVJFQ1RJT05fQ1BVOgpAQCAtMjQ2OSw3ICsyNTAwLDcgQEAKIAkJCU1TSV9EQVRBX1RSSUdHRVJfRURHRSB8CiAJCQlNU0lfREFUQV9MRVZFTF9BU1NFUlQgfAogCQkJKChJTlRfREVMSVZFUllfTU9ERSAhPSBkZXN0X0xvd2VzdFByaW8pID8KLQkJCQlNU0lfREFUQV9ERUxJVkVSWV9GSVhFRDoKK01TSV9EQVRBX0RFTElWRVJZX0ZJWEVEOgogCQkJCU1TSV9EQVRBX0RFTElWRVJZX0xPV1BSSSkgfAogCQkJTVNJX0RBVEFfVkVDVE9SKHZlY3Rvcik7CiAJfQpAQCAtMjY0MCwxMiArMjY3MSwxMiBAQAogI2VuZGlmIC8qIENPTkZJR19IVF9JUlEgKi8KIAogLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgQUNQSS1iYXNlZCBJT0FQSUMgQ29uZmlndXJhdGlvbgorCQkJQUNQSS1iYXNlZCBJT0FQSUMgQ29uZmlndXJhdGlvbgogICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KIAogI2lmZGVmIENPTkZJR19BQ1BJCiAKLWludCBfX2luaXQgaW9fYXBpY19nZXRfdW5pcXVlX2lkIChpbnQgaW9hcGljLCBpbnQgYXBpY19pZCkKK2ludCBfX2luaXQgaW9fYXBpY19nZXRfdW5pcXVlX2lkKGludCBpb2FwaWMsIGludCBhcGljX2lkKQogewogCXVuaW9uIElPX0FQSUNfcmVnXzAwIHJlZ18wMDsKIAlzdGF0aWMgcGh5c2lkX21hc2tfdCBhcGljX2lkX21hcCA9IFBIWVNJRF9NQVNLX05PTkU7CkBAIC0yNjU0LDEwICsyNjg1LDEwIEBACiAJaW50IGkgPSAwOwogCiAJLyoKLQkgKiBUaGUgUDQgcGxhdGZvcm0gc3VwcG9ydHMgdXAgdG8gMjU2IEFQSUMgSURzIG9uIHR3byBzZXBhcmF0ZSBBUElDIAotCSAqIGJ1c2VzIChvbmUgZm9yIExBUElDcywgb25lIGZvciBJT0FQSUNzKSwgd2hlcmUgcHJlZGVjZXNzb3JzIG9ubHkgCisJICogVGhlIFA0IHBsYXRmb3JtIHN1cHBvcnRzIHVwIHRvIDI1NiBBUElDIElEcyBvbiB0d28gc2VwYXJhdGUgQVBJQworCSAqIGJ1c2VzIChvbmUgZm9yIExBUElDcywgb25lIGZvciBJT0FQSUNzKSwgd2hlcmUgcHJlZGVjZXNzb3JzIG9ubHkKIAkgKiBzdXBwb3J0cyB1cCB0byAxNiBvbiBvbmUgc2hhcmVkIEFQSUMgYnVzLgotCSAqIAorCSAqCiAJICogVEJEOiBFeHBhbmQgTEFQSUMvSU9BUElDIHN1cHBvcnQgb24gUDQtY2xhc3Mgc3lzdGVtcyB0byB0YWtlIGZ1bGwKIAkgKiAgICAgIGFkdmFudGFnZSBvZiBuZXcgQVBJQyBidXMgYXJjaGl0ZWN0dXJlLgogCSAqLwpAQCAtMjY3Niw3ICsyNzA3LDcgQEAKIAl9CiAKIAkvKgotCSAqIEV2ZXJ5IEFQSUMgaW4gYSBzeXN0ZW0gbXVzdCBoYXZlIGEgdW5pcXVlIElEIG9yIHdlIGdldCBsb3RzIG9mIG5pY2UgCisJICogRXZlcnkgQVBJQyBpbiBhIHN5c3RlbSBtdXN0IGhhdmUgYSB1bmlxdWUgSUQgb3Igd2UgZ2V0IGxvdHMgb2YgbmljZQogCSAqICdzdHVjayBvbiBzbXBfaW52YWxpZGF0ZV9uZWVkZWQgSVBJIHdhaXQnIG1lc3NhZ2VzLgogCSAqLwogCWlmIChjaGVja19hcGljaWRfdXNlZChhcGljX2lkX21hcCwgYXBpY19pZCkpIHsKQEAgLTI2OTMsNyArMjcyNCw3IEBACiAJCQkidHJ5aW5nICVkXG4iLCBpb2FwaWMsIGFwaWNfaWQsIGkpOwogCiAJCWFwaWNfaWQgPSBpOwotCX0gCisJfQogCiAJdG1wID0gYXBpY2lkX3RvX2NwdV9wcmVzZW50KGFwaWNfaWQpOwogCXBoeXNpZHNfb3IoYXBpY19pZF9tYXAsIGFwaWNfaWRfbWFwLCB0bXApOwpAQCAtMjcyMCw3ICsyNzUxLDcgQEAKIH0KIAogCi1pbnQgX19pbml0IGlvX2FwaWNfZ2V0X3ZlcnNpb24gKGludCBpb2FwaWMpCitpbnQgX19pbml0IGlvX2FwaWNfZ2V0X3ZlcnNpb24oaW50IGlvYXBpYykKIHsKIAl1bmlvbiBJT19BUElDX3JlZ18wMQlyZWdfMDE7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKQEAgLTI3MzMsNyArMjc2NCw3IEBACiB9CiAKIAotaW50IF9faW5pdCBpb19hcGljX2dldF9yZWRpcl9lbnRyaWVzIChpbnQgaW9hcGljKQoraW50IF9faW5pdCBpb19hcGljX2dldF9yZWRpcl9lbnRyaWVzKGludCBpb2FwaWMpCiB7CiAJdW5pb24gSU9fQVBJQ19yZWdfMDEJcmVnXzAxOwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CkBAIC0yNzQ2LDcgKzI3NzcsNyBAQAogfQogCiAKLWludCBpb19hcGljX3NldF9wY2lfcm91dGluZyAoaW50IGlvYXBpYywgaW50IHBpbiwgaW50IGlycSwgaW50IGVkZ2VfbGV2ZWwsIGludCBhY3RpdmVfaGlnaF9sb3cpCitpbnQgaW9fYXBpY19zZXRfcGNpX3JvdXRpbmcoaW50IGlvYXBpYywgaW50IHBpbiwgaW50IGlycSwgaW50IGVkZ2VfbGV2ZWwsIGludCBhY3RpdmVfaGlnaF9sb3cpCiB7CiAJc3RydWN0IElPX0FQSUNfcm91dGVfZW50cnkgZW50cnk7CiAKQEAgLTI3NjIsNyArMjc5Myw3IEBACiAJICogY29ycmVzcG9uZGluZyBkZXZpY2UgZHJpdmVyIHJlZ2lzdGVycyBmb3IgdGhpcyBJUlEuCiAJICovCiAKLQltZW1zZXQoJmVudHJ5LDAsc2l6ZW9mKGVudHJ5KSk7CisJbWVtc2V0KCZlbnRyeSwgMCwgc2l6ZW9mKGVudHJ5KSk7CiAKIAllbnRyeS5kZWxpdmVyeV9tb2RlID0gSU5UX0RFTElWRVJZX01PREU7CiAJZW50cnkuZGVzdF9tb2RlID0gSU5UX0RFU1RfTU9ERTsKQEAgLTI3ODEsNyArMjgxMiw3IEBACiAKIAlhcGljX3ByaW50ayhBUElDX0RFQlVHLCBLRVJOX0RFQlVHICJJT0FQSUNbJWRdOiBTZXQgUENJIHJvdXRpbmcgZW50cnkgIgogCQkiKCVkLSVkIC0+IDB4JXggLT4gSVJRICVkIE1vZGU6JWkgQWN0aXZlOiVpKVxuIiwgaW9hcGljLAotCQltcF9pb2FwaWNzW2lvYXBpY10ubXBjX2FwaWNpZCwgcGluLCBlbnRyeS52ZWN0b3IsIGlycSwKKwkJbXBfaW9hcGljc1tpb2FwaWNdLm1wX2FwaWNpZCwgcGluLCBlbnRyeS52ZWN0b3IsIGlycSwKIAkJZWRnZV9sZXZlbCwgYWN0aXZlX2hpZ2hfbG93KTsKIAogCWlvYXBpY19yZWdpc3Rlcl9pbnRyKGlycSwgZW50cnkudmVjdG9yLCBlZGdlX2xldmVsKTsKQEAgLTI4MDIsOCArMjgzMyw4IEBACiAJCXJldHVybiAtMTsKIAogCWZvciAoaSA9IDA7IGkgPCBtcF9pcnFfZW50cmllczsgaSsrKQotCQlpZiAobXBfaXJxc1tpXS5tcGNfaXJxdHlwZSA9PSBtcF9JTlQgJiYKLQkJICAgIG1wX2lycXNbaV0ubXBjX3NyY2J1c2lycSA9PSBidXNfaXJxKQorCQlpZiAobXBfaXJxc1tpXS5tcF9pcnF0eXBlID09IG1wX0lOVCAmJgorCQkgICAgbXBfaXJxc1tpXS5tcF9zcmNidXNpcnEgPT0gYnVzX2lycSkKIAkJCWJyZWFrOwogCWlmIChpID49IG1wX2lycV9lbnRyaWVzKQogCQlyZXR1cm4gLTE7CkBAIC0yODM2LDMgKzI4NjcsMzQgQEAKIAlyZXR1cm4gMDsKIH0KIGVhcmx5X3BhcmFtKCJub2FwaWMiLCBwYXJzZV9ub2FwaWMpOworCit2b2lkIF9faW5pdCBpb2FwaWNfaW5pdF9tYXBwaW5ncyh2b2lkKQoreworCXVuc2lnbmVkIGxvbmcgaW9hcGljX3BoeXMsIGlkeCA9IEZJWF9JT19BUElDX0JBU0VfMDsKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCBucl9pb2FwaWNzOyBpKyspIHsKKwkJaWYgKHNtcF9mb3VuZF9jb25maWcpIHsKKwkJCWlvYXBpY19waHlzID0gbXBfaW9hcGljc1tpXS5tcF9hcGljYWRkcjsKKwkJCWlmICghaW9hcGljX3BoeXMpIHsKKwkJCQlwcmludGsoS0VSTl9FUlIKKwkJCQkgICAgICAgIldBUk5JTkc6IGJvZ3VzIHplcm8gSU8tQVBJQyAiCisJCQkJICAgICAgICJhZGRyZXNzIGZvdW5kIGluIE1QVEFCTEUsICIKKwkJCQkgICAgICAgImRpc2FibGluZyBJTy9BUElDIHN1cHBvcnQhXG4iKTsKKwkJCQlzbXBfZm91bmRfY29uZmlnID0gMDsKKwkJCQlza2lwX2lvYXBpY19zZXR1cCA9IDE7CisJCQkJZ290byBmYWtlX2lvYXBpY19wYWdlOworCQkJfQorCQl9IGVsc2UgeworZmFrZV9pb2FwaWNfcGFnZToKKwkJCWlvYXBpY19waHlzID0gKHVuc2lnbmVkIGxvbmcpCisJCQkJICAgICAgYWxsb2NfYm9vdG1lbV9wYWdlcyhQQUdFX1NJWkUpOworCQkJaW9hcGljX3BoeXMgPSBfX3BhKGlvYXBpY19waHlzKTsKKwkJfQorCQlzZXRfZml4bWFwX25vY2FjaGUoaWR4LCBpb2FwaWNfcGh5cyk7CisJCXByaW50ayhLRVJOX0RFQlVHICJtYXBwZWQgSU9BUElDIHRvICUwOGx4ICglMDhseClcbiIsCisJCSAgICAgICBfX2ZpeF90b192aXJ0KGlkeCksIGlvYXBpY19waHlzKTsKKwkJaWR4Kys7CisJfQorfQorCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvaW9fYXBpY182NC5jIGIvYXJjaC94ODYva2VybmVsL2lvX2FwaWNfNjQuYwppbmRleCBlZjFhOGRmLi42NTEwY2RlIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvaW9fYXBpY182NC5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9pb19hcGljXzY0LmMKQEAgLTYxLDcgKzYxLDcgQEAKIH07CiAKIC8qIGlycV9jZmcgaXMgaW5kZXhlZCBieSB0aGUgc3VtIG9mIGFsbCBSVEVzIGluIGFsbCBJL08gQVBJQ3MuICovCi1zdHJ1Y3QgaXJxX2NmZyBpcnFfY2ZnW05SX0lSUVNdIF9fcmVhZF9tb3N0bHkgPSB7CitzdGF0aWMgc3RydWN0IGlycV9jZmcgaXJxX2NmZ1tOUl9JUlFTXSBfX3JlYWRfbW9zdGx5ID0gewogCVswXSAgPSB7IC5kb21haW4gPSBDUFVfTUFTS19BTEwsIC52ZWN0b3IgPSBJUlEwX1ZFQ1RPUiwgIH0sCiAJWzFdICA9IHsgLmRvbWFpbiA9IENQVV9NQVNLX0FMTCwgLnZlY3RvciA9IElSUTFfVkVDVE9SLCAgfSwKIAlbMl0gID0geyAuZG9tYWluID0gQ1BVX01BU0tfQUxMLCAudmVjdG9yID0gSVJRMl9WRUNUT1IsICB9LApAQCAtODIsNiArODIsMTAgQEAKIAogc3RhdGljIGludCBhc3NpZ25faXJxX3ZlY3RvcihpbnQgaXJxLCBjcHVtYXNrX3QgbWFzayk7CiAKK2ludCBmaXJzdF9zeXN0ZW1fdmVjdG9yID0gMHhmZTsKKworY2hhciBzeXN0ZW1fdmVjdG9yc1tOUl9WRUNUT1JTXSA9IHsgWzAgLi4uIE5SX1ZFQ1RPUlMtMV0gPSBTWVNfVkVDVE9SX0ZSRUV9OworCiAjZGVmaW5lIF9fYXBpY2RlYnVnaW5pdCAgX19pbml0CiAKIGludCBzaXNfYXBpY19idWc7IC8qIG5vdCBhY3R1YWxseSBzdXBwb3J0ZWQsIGR1bW15IGZvciBjb21waWxlICovCkBAIC05MCw3ICs5NCw3IEBACiAKIHN0YXRpYyBpbnQgZGlzYWJsZV90aW1lcl9waW5fMSBfX2luaXRkYXRhOwogCi1pbnQgdGltZXJfb3Zlcl84MjU0IF9faW5pdGRhdGEgPSAxOworaW50IHRpbWVyX3Rocm91Z2hfODI1OSBfX2luaXRkYXRhOwogCiAvKiBXaGVyZSBpZiBhbnl3aGVyZSBpcyB0aGUgaTgyNTkgY29ubmVjdCBpbiBleHRlcm5hbCBpbnQgbW9kZSAqLwogc3RhdGljIHN0cnVjdCB7IGludCBwaW4sIGFwaWM7IH0gaW9hcGljX2k4MjU5ID0geyAtMSwgLTEgfTsKQEAgLTEwNCwxNSArMTA4LDE3IEBACiBpbnQgbnJfaW9hcGljX3JlZ2lzdGVyc1tNQVhfSU9fQVBJQ1NdOwogCiAvKiBJL08gQVBJQyBlbnRyaWVzICovCi1zdHJ1Y3QgbXBjX2NvbmZpZ19pb2FwaWMgbXBfaW9hcGljc1tNQVhfSU9fQVBJQ1NdOworc3RydWN0IG1wX2NvbmZpZ19pb2FwaWMgbXBfaW9hcGljc1tNQVhfSU9fQVBJQ1NdOwogaW50IG5yX2lvYXBpY3M7CiAKIC8qIE1QIElSUSBzb3VyY2UgZW50cmllcyAqLwotc3RydWN0IG1wY19jb25maWdfaW50c3JjIG1wX2lycXNbTUFYX0lSUV9TT1VSQ0VTXTsKK3N0cnVjdCBtcF9jb25maWdfaW50c3JjIG1wX2lycXNbTUFYX0lSUV9TT1VSQ0VTXTsKIAogLyogIyBvZiBNUCBJUlEgc291cmNlIGVudHJpZXMgKi8KIGludCBtcF9pcnFfZW50cmllczsKIAorREVDTEFSRV9CSVRNQVAobXBfYnVzX25vdF9wY2ksIE1BWF9NUF9CVVNTRVMpOworCiAvKgogICogUm91Z2ggZXN0aW1hdGlvbiBvZiBob3cgbWFueSBzaGFyZWQgSVJRcyB0aGVyZSBhcmUsIGNhbgogICogYmUgY2hhbmdlZCBhbnl0aW1lLgpAQCAtMTQwLDcgKzE0Niw3IEBACiBzdGF0aWMgX19hdHRyaWJ1dGVfY29uc3RfXyBzdHJ1Y3QgaW9fYXBpYyBfX2lvbWVtICppb19hcGljX2Jhc2UoaW50IGlkeCkKIHsKIAlyZXR1cm4gKHZvaWQgX19pb21lbSAqKSBfX2ZpeF90b192aXJ0KEZJWF9JT19BUElDX0JBU0VfMCArIGlkeCkKLQkJKyAobXBfaW9hcGljc1tpZHhdLm1wY19hcGljYWRkciAmIH5QQUdFX01BU0spOworCQkrIChtcF9pb2FwaWNzW2lkeF0ubXBfYXBpY2FkZHIgJiB+UEFHRV9NQVNLKTsKIH0KIAogc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgaW9fYXBpY19yZWFkKHVuc2lnbmVkIGludCBhcGljLCB1bnNpZ25lZCBpbnQgcmVnKQpAQCAtMTgzLDcgKzE4OSw3IEBACiAJCQlicmVhazsKIAkJcmVnID0gaW9fYXBpY19yZWFkKGVudHJ5LT5hcGljLCAweDEwICsgcGluKjIpOwogCQkvKiBJcyB0aGUgcmVtb3RlIElSUiBiaXQgc2V0PyAqLwotCQlpZiAoKHJlZyA+PiAxNCkgJiAxKSB7CisJCWlmIChyZWcgJiBJT19BUElDX1JFRElSX1JFTU9URV9JUlIpIHsKIAkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmlvYXBpY19sb2NrLCBmbGFncyk7CiAJCQlyZXR1cm4gdHJ1ZTsKIAkJfQpAQCAtMjk4LDcgKzMwNCw3IEBACiAJCQlicmVhazsKIAkJaW9fYXBpY193cml0ZShhcGljLCAweDExICsgcGluKjIsIGRlc3QpOwogCQlyZWcgPSBpb19hcGljX3JlYWQoYXBpYywgMHgxMCArIHBpbioyKTsKLQkJcmVnICY9IH4weDAwMDAwMGZmOworCQlyZWcgJj0gfklPX0FQSUNfUkVESVJfVkVDVE9SX01BU0s7CiAJCXJlZyB8PSB2ZWN0b3I7CiAJCWlvX2FwaWNfbW9kaWZ5KGFwaWMsIHJlZyk7CiAJCWlmICghZW50cnktPm5leHQpCkBAIC0zNjAsMTYgKzM2NiwzNyBAQAogCWVudHJ5LT5waW4gPSBwaW47CiB9CiAKKy8qCisgKiBSZXJvdXRlIGFuIElSUSB0byBhIGRpZmZlcmVudCBwaW4uCisgKi8KK3N0YXRpYyB2b2lkIF9faW5pdCByZXBsYWNlX3Bpbl9hdF9pcnEodW5zaWduZWQgaW50IGlycSwKKwkJCQkgICAgICBpbnQgb2xkYXBpYywgaW50IG9sZHBpbiwKKwkJCQkgICAgICBpbnQgbmV3YXBpYywgaW50IG5ld3BpbikKK3sKKwlzdHJ1Y3QgaXJxX3Bpbl9saXN0ICplbnRyeSA9IGlycV8yX3BpbiArIGlycTsKKworCXdoaWxlICgxKSB7CisJCWlmIChlbnRyeS0+YXBpYyA9PSBvbGRhcGljICYmIGVudHJ5LT5waW4gPT0gb2xkcGluKSB7CisJCQllbnRyeS0+YXBpYyA9IG5ld2FwaWM7CisJCQllbnRyeS0+cGluID0gbmV3cGluOworCQl9CisJCWlmICghZW50cnktPm5leHQpCisJCQlicmVhazsKKwkJZW50cnkgPSBpcnFfMl9waW4gKyBlbnRyeS0+bmV4dDsKKwl9Cit9CisKIAogI2RlZmluZSBET19BQ1RJT04obmFtZSxSLEFDVElPTiwgRklOQUwpCQkJCQlcCiAJCQkJCQkJCQlcCiAJc3RhdGljIHZvaWQgbmFtZSMjX0lPX0FQSUNfaXJxICh1bnNpZ25lZCBpbnQgaXJxKQkJXAogCV9fRE9fQUNUSU9OKFIsIEFDVElPTiwgRklOQUwpCiAKLURPX0FDVElPTiggX19tYXNrLCAgICAgICAgICAgICAwLCB8PSAweDAwMDEwMDAwLCBpb19hcGljX3N5bmMoZW50cnktPmFwaWMpICkKLQkJCQkJCS8qIG1hc2sgPSAxICovCi1ET19BQ1RJT04oIF9fdW5tYXNrLCAgICAgICAgICAgMCwgJj0gMHhmZmZlZmZmZiwgKQotCQkJCQkJLyogbWFzayA9IDAgKi8KKy8qIG1hc2sgPSAxICovCitET19BQ1RJT04oX19tYXNrLAkwLCB8PSBJT19BUElDX1JFRElSX01BU0tFRCwgaW9fYXBpY19zeW5jKGVudHJ5LT5hcGljKSkKKworLyogbWFzayA9IDAgKi8KK0RPX0FDVElPTihfX3VubWFzaywJMCwgJj0gfklPX0FQSUNfUkVESVJfTUFTS0VELCApCiAKIHN0YXRpYyB2b2lkIG1hc2tfSU9fQVBJQ19pcnEgKHVuc2lnbmVkIGludCBpcnEpCiB7CkBAIC00MzAsMjAgKzQ1Nyw2IEBACiB9CiBfX3NldHVwKCJkaXNhYmxlX3RpbWVyX3Bpbl8xIiwgZGlzYWJsZV90aW1lcl9waW5fc2V0dXApOwogCi1zdGF0aWMgaW50IF9faW5pdCBzZXR1cF9kaXNhYmxlXzgyNTRfdGltZXIoY2hhciAqcykKLXsKLQl0aW1lcl9vdmVyXzgyNTQgPSAtMTsKLQlyZXR1cm4gMTsKLX0KLXN0YXRpYyBpbnQgX19pbml0IHNldHVwX2VuYWJsZV84MjU0X3RpbWVyKGNoYXIgKnMpCi17Ci0JdGltZXJfb3Zlcl84MjU0ID0gMjsKLQlyZXR1cm4gMTsKLX0KLQotX19zZXR1cCgiZGlzYWJsZV84MjU0X3RpbWVyIiwgc2V0dXBfZGlzYWJsZV84MjU0X3RpbWVyKTsKLV9fc2V0dXAoImVuYWJsZV84MjU0X3RpbWVyIiwgc2V0dXBfZW5hYmxlXzgyNTRfdGltZXIpOwotCiAKIC8qCiAgKiBGaW5kIHRoZSBJUlEgZW50cnkgbnVtYmVyIG9mIGEgY2VydGFpbiBwaW4uCkBAIC00NTMsMTAgKzQ2NiwxMCBAQAogCWludCBpOwogCiAJZm9yIChpID0gMDsgaSA8IG1wX2lycV9lbnRyaWVzOyBpKyspCi0JCWlmIChtcF9pcnFzW2ldLm1wY19pcnF0eXBlID09IHR5cGUgJiYKLQkJICAgIChtcF9pcnFzW2ldLm1wY19kc3RhcGljID09IG1wX2lvYXBpY3NbYXBpY10ubXBjX2FwaWNpZCB8fAotCQkgICAgIG1wX2lycXNbaV0ubXBjX2RzdGFwaWMgPT0gTVBfQVBJQ19BTEwpICYmCi0JCSAgICBtcF9pcnFzW2ldLm1wY19kc3RpcnEgPT0gcGluKQorCQlpZiAobXBfaXJxc1tpXS5tcF9pcnF0eXBlID09IHR5cGUgJiYKKwkJICAgIChtcF9pcnFzW2ldLm1wX2RzdGFwaWMgPT0gbXBfaW9hcGljc1thcGljXS5tcF9hcGljaWQgfHwKKwkJICAgICBtcF9pcnFzW2ldLm1wX2RzdGFwaWMgPT0gTVBfQVBJQ19BTEwpICYmCisJCSAgICBtcF9pcnFzW2ldLm1wX2RzdGlycSA9PSBwaW4pCiAJCQlyZXR1cm4gaTsKIAogCXJldHVybiAtMTsKQEAgLTQ3MCwxMyArNDgzLDEzIEBACiAJaW50IGk7CiAKIAlmb3IgKGkgPSAwOyBpIDwgbXBfaXJxX2VudHJpZXM7IGkrKykgewotCQlpbnQgbGJ1cyA9IG1wX2lycXNbaV0ubXBjX3NyY2J1czsKKwkJaW50IGxidXMgPSBtcF9pcnFzW2ldLm1wX3NyY2J1czsKIAogCQlpZiAodGVzdF9iaXQobGJ1cywgbXBfYnVzX25vdF9wY2kpICYmCi0JCSAgICAobXBfaXJxc1tpXS5tcGNfaXJxdHlwZSA9PSB0eXBlKSAmJgotCQkgICAgKG1wX2lycXNbaV0ubXBjX3NyY2J1c2lycSA9PSBpcnEpKQorCQkgICAgKG1wX2lycXNbaV0ubXBfaXJxdHlwZSA9PSB0eXBlKSAmJgorCQkgICAgKG1wX2lycXNbaV0ubXBfc3JjYnVzaXJxID09IGlycSkpCiAKLQkJCXJldHVybiBtcF9pcnFzW2ldLm1wY19kc3RpcnE7CisJCQlyZXR1cm4gbXBfaXJxc1tpXS5tcF9kc3RpcnE7CiAJfQogCXJldHVybiAtMTsKIH0KQEAgLTQ4NiwxNyArNDk5LDE3IEBACiAJaW50IGk7CiAKIAlmb3IgKGkgPSAwOyBpIDwgbXBfaXJxX2VudHJpZXM7IGkrKykgewotCQlpbnQgbGJ1cyA9IG1wX2lycXNbaV0ubXBjX3NyY2J1czsKKwkJaW50IGxidXMgPSBtcF9pcnFzW2ldLm1wX3NyY2J1czsKIAogCQlpZiAodGVzdF9iaXQobGJ1cywgbXBfYnVzX25vdF9wY2kpICYmCi0JCSAgICAobXBfaXJxc1tpXS5tcGNfaXJxdHlwZSA9PSB0eXBlKSAmJgotCQkgICAgKG1wX2lycXNbaV0ubXBjX3NyY2J1c2lycSA9PSBpcnEpKQorCQkgICAgKG1wX2lycXNbaV0ubXBfaXJxdHlwZSA9PSB0eXBlKSAmJgorCQkgICAgKG1wX2lycXNbaV0ubXBfc3JjYnVzaXJxID09IGlycSkpCiAJCQlicmVhazsKIAl9CiAJaWYgKGkgPCBtcF9pcnFfZW50cmllcykgewogCQlpbnQgYXBpYzsKIAkJZm9yKGFwaWMgPSAwOyBhcGljIDwgbnJfaW9hcGljczsgYXBpYysrKSB7Ci0JCQlpZiAobXBfaW9hcGljc1thcGljXS5tcGNfYXBpY2lkID09IG1wX2lycXNbaV0ubXBjX2RzdGFwaWMpCisJCQlpZiAobXBfaW9hcGljc1thcGljXS5tcF9hcGljaWQgPT0gbXBfaXJxc1tpXS5tcF9kc3RhcGljKQogCQkJCXJldHVybiBhcGljOwogCQl9CiAJfQpAQCAtNTE2LDI4ICs1MjksMjggQEAKIAogCWFwaWNfcHJpbnRrKEFQSUNfREVCVUcsICJxdWVyeWluZyBQQ0kgLT4gSVJRIG1hcHBpbmcgYnVzOiVkLCBzbG90OiVkLCBwaW46JWQuXG4iLAogCQlidXMsIHNsb3QsIHBpbik7Ci0JaWYgKG1wX2J1c19pZF90b19wY2lfYnVzW2J1c10gPT0gLTEpIHsKKwlpZiAodGVzdF9iaXQoYnVzLCBtcF9idXNfbm90X3BjaSkpIHsKIAkJYXBpY19wcmludGsoQVBJQ19WRVJCT1NFLCAiUENJIEJJT1MgcGFzc2VkIG5vbmV4aXN0ZW50IFBDSSBidXMgJWQhXG4iLCBidXMpOwogCQlyZXR1cm4gLTE7CiAJfQogCWZvciAoaSA9IDA7IGkgPCBtcF9pcnFfZW50cmllczsgaSsrKSB7Ci0JCWludCBsYnVzID0gbXBfaXJxc1tpXS5tcGNfc3JjYnVzOworCQlpbnQgbGJ1cyA9IG1wX2lycXNbaV0ubXBfc3JjYnVzOwogCiAJCWZvciAoYXBpYyA9IDA7IGFwaWMgPCBucl9pb2FwaWNzOyBhcGljKyspCi0JCQlpZiAobXBfaW9hcGljc1thcGljXS5tcGNfYXBpY2lkID09IG1wX2lycXNbaV0ubXBjX2RzdGFwaWMgfHwKLQkJCSAgICBtcF9pcnFzW2ldLm1wY19kc3RhcGljID09IE1QX0FQSUNfQUxMKQorCQkJaWYgKG1wX2lvYXBpY3NbYXBpY10ubXBfYXBpY2lkID09IG1wX2lycXNbaV0ubXBfZHN0YXBpYyB8fAorCQkJICAgIG1wX2lycXNbaV0ubXBfZHN0YXBpYyA9PSBNUF9BUElDX0FMTCkKIAkJCQlicmVhazsKIAogCQlpZiAoIXRlc3RfYml0KGxidXMsIG1wX2J1c19ub3RfcGNpKSAmJgotCQkgICAgIW1wX2lycXNbaV0ubXBjX2lycXR5cGUgJiYKKwkJICAgICFtcF9pcnFzW2ldLm1wX2lycXR5cGUgJiYKIAkJICAgIChidXMgPT0gbGJ1cykgJiYKLQkJICAgIChzbG90ID09ICgobXBfaXJxc1tpXS5tcGNfc3JjYnVzaXJxID4+IDIpICYgMHgxZikpKSB7Ci0JCQlpbnQgaXJxID0gcGluXzJfaXJxKGksYXBpYyxtcF9pcnFzW2ldLm1wY19kc3RpcnEpOworCQkgICAgKHNsb3QgPT0gKChtcF9pcnFzW2ldLm1wX3NyY2J1c2lycSA+PiAyKSAmIDB4MWYpKSkgeworCQkJaW50IGlycSA9IHBpbl8yX2lycShpLGFwaWMsbXBfaXJxc1tpXS5tcF9kc3RpcnEpOwogCiAJCQlpZiAoIShhcGljIHx8IElPX0FQSUNfSVJRKGlycSkpKQogCQkJCWNvbnRpbnVlOwogCi0JCQlpZiAocGluID09IChtcF9pcnFzW2ldLm1wY19zcmNidXNpcnEgJiAzKSkKKwkJCWlmIChwaW4gPT0gKG1wX2lycXNbaV0ubXBfc3JjYnVzaXJxICYgMykpCiAJCQkJcmV0dXJuIGlycTsKIAkJCS8qCiAJCQkgKiBVc2UgdGhlIGZpcnN0IGFsbC1idXQtcGluIG1hdGNoaW5nIGVudHJ5IGFzIGEKQEAgLTU2NSwxMyArNTc4LDEzIEBACiAKIHN0YXRpYyBpbnQgTVBCSU9TX3BvbGFyaXR5KGludCBpZHgpCiB7Ci0JaW50IGJ1cyA9IG1wX2lycXNbaWR4XS5tcGNfc3JjYnVzOworCWludCBidXMgPSBtcF9pcnFzW2lkeF0ubXBfc3JjYnVzOwogCWludCBwb2xhcml0eTsKIAogCS8qCiAJICogRGV0ZXJtaW5lIElSUSBsaW5lIHBvbGFyaXR5IChoaWdoIGFjdGl2ZSBvciBsb3cgYWN0aXZlKToKIAkgKi8KLQlzd2l0Y2ggKG1wX2lycXNbaWR4XS5tcGNfaXJxZmxhZyAmIDMpCisJc3dpdGNoIChtcF9pcnFzW2lkeF0ubXBfaXJxZmxhZyAmIDMpCiAJewogCQljYXNlIDA6IC8qIGNvbmZvcm1zLCBpZS4gYnVzLXR5cGUgZGVwZW5kZW50IHBvbGFyaXR5ICovCiAJCQlpZiAodGVzdF9iaXQoYnVzLCBtcF9idXNfbm90X3BjaSkpCkBAIC02MDcsMTMgKzYyMCwxMyBAQAogCiBzdGF0aWMgaW50IE1QQklPU190cmlnZ2VyKGludCBpZHgpCiB7Ci0JaW50IGJ1cyA9IG1wX2lycXNbaWR4XS5tcGNfc3JjYnVzOworCWludCBidXMgPSBtcF9pcnFzW2lkeF0ubXBfc3JjYnVzOwogCWludCB0cmlnZ2VyOwogCiAJLyoKIAkgKiBEZXRlcm1pbmUgSVJRIHRyaWdnZXIgbW9kZSAoZWRnZSBvciBsZXZlbCBzZW5zaXRpdmUpOgogCSAqLwotCXN3aXRjaCAoKG1wX2lycXNbaWR4XS5tcGNfaXJxZmxhZz4+MikgJiAzKQorCXN3aXRjaCAoKG1wX2lycXNbaWR4XS5tcF9pcnFmbGFnPj4yKSAmIDMpCiAJewogCQljYXNlIDA6IC8qIGNvbmZvcm1zLCBpZS4gYnVzLXR5cGUgZGVwZW5kZW50ICovCiAJCQlpZiAodGVzdF9iaXQoYnVzLCBtcF9idXNfbm90X3BjaSkpCkBAIC02NjAsMTYgKzY3MywxNiBAQAogc3RhdGljIGludCBwaW5fMl9pcnEoaW50IGlkeCwgaW50IGFwaWMsIGludCBwaW4pCiB7CiAJaW50IGlycSwgaTsKLQlpbnQgYnVzID0gbXBfaXJxc1tpZHhdLm1wY19zcmNidXM7CisJaW50IGJ1cyA9IG1wX2lycXNbaWR4XS5tcF9zcmNidXM7CiAKIAkvKgogCSAqIERlYnVnZ2luZyBjaGVjaywgd2UgYXJlIGluIGJpZyB0cm91YmxlIGlmIHRoaXMgbWVzc2FnZSBwb3BzIHVwIQogCSAqLwotCWlmIChtcF9pcnFzW2lkeF0ubXBjX2RzdGlycSAhPSBwaW4pCisJaWYgKG1wX2lycXNbaWR4XS5tcF9kc3RpcnEgIT0gcGluKQogCQlwcmludGsoS0VSTl9FUlIgImJyb2tlbiBCSU9TIG9yIE1QVEFCTEUgcGFyc2VyLCBheWllZSEhXG4iKTsKIAogCWlmICh0ZXN0X2JpdChidXMsIG1wX2J1c19ub3RfcGNpKSkgewotCQlpcnEgPSBtcF9pcnFzW2lkeF0ubXBjX3NyY2J1c2lycTsKKwkJaXJxID0gbXBfaXJxc1tpZHhdLm1wX3NyY2J1c2lycTsKIAl9IGVsc2UgewogCQkvKgogCQkgKiBQQ0kgSVJRcyBhcmUgbWFwcGVkIGluIG9yZGVyCkBAIC03MzAsNyArNzQzLDcgQEAKIAkJb2Zmc2V0ID0gY3VycmVudF9vZmZzZXQ7CiBuZXh0OgogCQl2ZWN0b3IgKz0gODsKLQkJaWYgKHZlY3RvciA+PSBGSVJTVF9TWVNURU1fVkVDVE9SKSB7CisJCWlmICh2ZWN0b3IgPj0gZmlyc3Rfc3lzdGVtX3ZlY3RvcikgewogCQkJLyogSWYgd2UgcnVuIG91dCBvZiB2ZWN0b3JzIG9uIGxhcmdlIGJveGVuLCBtdXN0IHNoYXJlIHRoZW0uICovCiAJCQlvZmZzZXQgPSAob2Zmc2V0ICsgMSkgJSA4OwogCQkJdmVjdG9yID0gRklSU1RfREVWSUNFX1ZFQ1RPUiArIG9mZnNldDsKQEAgLTc4OCw3ICs4MDEsNyBAQAogCWNwdXNfY2xlYXIoY2ZnLT5kb21haW4pOwogfQogCi12b2lkIF9fc2V0dXBfdmVjdG9yX2lycShpbnQgY3B1KQorc3RhdGljIHZvaWQgX19zZXR1cF92ZWN0b3JfaXJxKGludCBjcHUpCiB7CiAJLyogSW5pdGlhbGl6ZSB2ZWN0b3JfaXJxIG9uIGEgbmV3IGNwdSAqLwogCS8qIFRoaXMgZnVuY3Rpb24gbXVzdCBiZSBjYWxsZWQgd2l0aCB2ZWN0b3JfbG9jayBoZWxkICovCkBAIC04MTEsNiArODI0LDEzIEBACiAJfQogfQogCit2b2lkIHNldHVwX3ZlY3Rvcl9pcnEoaW50IGNwdSkKK3sKKwlzcGluX2xvY2soJnZlY3Rvcl9sb2NrKTsKKwlfX3NldHVwX3ZlY3Rvcl9pcnEoc21wX3Byb2Nlc3Nvcl9pZCgpKTsKKwlzcGluX3VubG9jaygmdmVjdG9yX2xvY2spOworfQorCiAKIHN0YXRpYyBzdHJ1Y3QgaXJxX2NoaXAgaW9hcGljX2NoaXA7CiAKQEAgLTg0Niw3ICs4NjYsNyBAQAogCWFwaWNfcHJpbnRrKEFQSUNfVkVSQk9TRSxLRVJOX0RFQlVHCiAJCSAgICAiSU9BUElDWyVkXTogU2V0IHJvdXRpbmcgZW50cnkgKCVkLSVkIC0+IDB4JXggLT4gIgogCQkgICAgIklSUSAlZCBNb2RlOiVpIEFjdGl2ZTolaSlcbiIsCi0JCSAgICBhcGljLCBtcF9pb2FwaWNzW2FwaWNdLm1wY19hcGljaWQsIHBpbiwgY2ZnLT52ZWN0b3IsCisJCSAgICBhcGljLCBtcF9pb2FwaWNzW2FwaWNdLm1wX2FwaWNpZCwgcGluLCBjZmctPnZlY3RvciwKIAkJICAgIGlycSwgdHJpZ2dlciwgcG9sYXJpdHkpOwogCiAJLyoKQEAgLTg4NywxMCArOTA3LDEwIEBACiAJCWlkeCA9IGZpbmRfaXJxX2VudHJ5KGFwaWMscGluLG1wX0lOVCk7CiAJCWlmIChpZHggPT0gLTEpIHsKIAkJCWlmIChmaXJzdF9ub3Rjb24pIHsKLQkJCQlhcGljX3ByaW50ayhBUElDX1ZFUkJPU0UsIEtFUk5fREVCVUcgIiBJTy1BUElDIChhcGljaWQtcGluKSAlZC0lZCIsIG1wX2lvYXBpY3NbYXBpY10ubXBjX2FwaWNpZCwgcGluKTsKKwkJCQlhcGljX3ByaW50ayhBUElDX1ZFUkJPU0UsIEtFUk5fREVCVUcgIiBJTy1BUElDIChhcGljaWQtcGluKSAlZC0lZCIsIG1wX2lvYXBpY3NbYXBpY10ubXBfYXBpY2lkLCBwaW4pOwogCQkJCWZpcnN0X25vdGNvbiA9IDA7CiAJCQl9IGVsc2UKLQkJCQlhcGljX3ByaW50ayhBUElDX1ZFUkJPU0UsICIsICVkLSVkIiwgbXBfaW9hcGljc1thcGljXS5tcGNfYXBpY2lkLCBwaW4pOworCQkJCWFwaWNfcHJpbnRrKEFQSUNfVkVSQk9TRSwgIiwgJWQtJWQiLCBtcF9pb2FwaWNzW2FwaWNdLm1wX2FwaWNpZCwgcGluKTsKIAkJCWNvbnRpbnVlOwogCQl9CiAJCWlmICghZmlyc3Rfbm90Y29uKSB7CkBAIC05MTEsMjYgKzkzMSwyMSBAQAogfQogCiAvKgotICogU2V0IHVwIHRoZSA4MjU5QS1tYXN0ZXIgb3V0cHV0IHBpbiBhcyBicm9hZGNhc3QgdG8gYWxsCi0gKiBDUFVzLgorICogU2V0IHVwIHRoZSB0aW1lciBwaW4sIHBvc3NpYmx5IHdpdGggdGhlIDgyNTlBLW1hc3RlciBiZWhpbmQuCiAgKi8KLXN0YXRpYyB2b2lkIF9faW5pdCBzZXR1cF9FeHRJTlRfSVJRMF9waW4odW5zaWduZWQgaW50IGFwaWMsIHVuc2lnbmVkIGludCBwaW4sIGludCB2ZWN0b3IpCitzdGF0aWMgdm9pZCBfX2luaXQgc2V0dXBfdGltZXJfSVJRMF9waW4odW5zaWduZWQgaW50IGFwaWMsIHVuc2lnbmVkIGludCBwaW4sCisJCQkJCWludCB2ZWN0b3IpCiB7CiAJc3RydWN0IElPX0FQSUNfcm91dGVfZW50cnkgZW50cnk7CiAKIAltZW1zZXQoJmVudHJ5LCAwLCBzaXplb2YoZW50cnkpKTsKIAotCWRpc2FibGVfODI1OUFfaXJxKDApOwotCi0JLyogbWFzayBMVlQwICovCi0JYXBpY193cml0ZShBUElDX0xWVDAsIEFQSUNfTFZUX01BU0tFRCB8IEFQSUNfRE1fRVhUSU5UKTsKLQogCS8qCiAJICogV2UgdXNlIGxvZ2ljYWwgZGVsaXZlcnkgdG8gZ2V0IHRoZSB0aW1lciBJUlEKIAkgKiB0byB0aGUgZmlyc3QgQ1BVLgogCSAqLwogCWVudHJ5LmRlc3RfbW9kZSA9IElOVF9ERVNUX01PREU7Ci0JZW50cnkubWFzayA9IDA7CQkJCQkvKiB1bm1hc2sgSVJRIG5vdyAqLworCWVudHJ5Lm1hc2sgPSAxOwkJCQkJLyogbWFzayBJUlEgbm93ICovCiAJZW50cnkuZGVzdCA9IGNwdV9tYXNrX3RvX2FwaWNpZChUQVJHRVRfQ1BVUyk7CiAJZW50cnkuZGVsaXZlcnlfbW9kZSA9IElOVF9ERUxJVkVSWV9NT0RFOwogCWVudHJ5LnBvbGFyaXR5ID0gMDsKQEAgLTkzOSw3ICs5NTQsNyBAQAogCiAJLyoKIAkgKiBUaGUgdGltZXIgSVJRIGRvZXNuJ3QgaGF2ZSB0byBrbm93IHRoYXQgYmVoaW5kIHRoZQotCSAqIHNjZW5lIHdlIGhhdmUgYSA4MjU5QS1tYXN0ZXIgaW4gQUVPSSBtb2RlIC4uLgorCSAqIHNjZW5lIHdlIG1heSBoYXZlIGEgODI1OUEtbWFzdGVyIGluIEFFT0kgbW9kZSAuLi4KIAkgKi8KIAlzZXRfaXJxX2NoaXBfYW5kX2hhbmRsZXJfbmFtZSgwLCAmaW9hcGljX2NoaXAsIGhhbmRsZV9lZGdlX2lycSwgImVkZ2UiKTsKIApAQCAtOTQ3LDggKzk2Miw2IEBACiAJICogQWRkIGl0IHRvIHRoZSBJTy1BUElDIGlycS1yb3V0aW5nIHRhYmxlOgogCSAqLwogCWlvYXBpY193cml0ZV9lbnRyeShhcGljLCBwaW4sIGVudHJ5KTsKLQotCWVuYWJsZV84MjU5QV9pcnEoMCk7CiB9CiAKIHZvaWQgX19hcGljZGVidWdpbml0IHByaW50X0lPX0FQSUModm9pZCkKQEAgLTk2NSw3ICs5NzgsNyBAQAogCXByaW50ayhLRVJOX0RFQlVHICJudW1iZXIgb2YgTVAgSVJRIHNvdXJjZXM6ICVkLlxuIiwgbXBfaXJxX2VudHJpZXMpOwogCWZvciAoaSA9IDA7IGkgPCBucl9pb2FwaWNzOyBpKyspCiAJCXByaW50ayhLRVJOX0RFQlVHICJudW1iZXIgb2YgSU8tQVBJQyAjJWQgcmVnaXN0ZXJzOiAlZC5cbiIsCi0JCSAgICAgICBtcF9pb2FwaWNzW2ldLm1wY19hcGljaWQsIG5yX2lvYXBpY19yZWdpc3RlcnNbaV0pOworCQkgICAgICAgbXBfaW9hcGljc1tpXS5tcF9hcGljaWQsIG5yX2lvYXBpY19yZWdpc3RlcnNbaV0pOwogCiAJLyoKIAkgKiBXZSBhcmUgYSBiaXQgY29uc2VydmF0aXZlIGFib3V0IHdoYXQgd2UgZXhwZWN0LiAgV2UgaGF2ZSB0bwpAQCAtOTgzLDcgKzk5Niw3IEBACiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaW9hcGljX2xvY2ssIGZsYWdzKTsKIAogCXByaW50aygiXG4iKTsKLQlwcmludGsoS0VSTl9ERUJVRyAiSU8gQVBJQyAjJWQuLi4uLi5cbiIsIG1wX2lvYXBpY3NbYXBpY10ubXBjX2FwaWNpZCk7CisJcHJpbnRrKEtFUk5fREVCVUcgIklPIEFQSUMgIyVkLi4uLi4uXG4iLCBtcF9pb2FwaWNzW2FwaWNdLm1wX2FwaWNpZCk7CiAJcHJpbnRrKEtFUk5fREVCVUcgIi4uLi4gcmVnaXN0ZXIgIzAwOiAlMDhYXG4iLCByZWdfMDAucmF3KTsKIAlwcmludGsoS0VSTl9ERUJVRyAiLi4uLi4uLiAgICA6IHBoeXNpY2FsIEFQSUMgaWQ6ICUwMlhcbiIsIHJlZ18wMC5iaXRzLklEKTsKIApAQCAtMTA3Nyw2ICsxMDkwLDcgQEAKIAogCXByaW50aygiXG4iIEtFUk5fREVCVUcgInByaW50aW5nIGxvY2FsIEFQSUMgY29udGVudHMgb24gQ1BVIyVkLyVkOlxuIiwKIAkJc21wX3Byb2Nlc3Nvcl9pZCgpLCBoYXJkX3NtcF9wcm9jZXNzb3JfaWQoKSk7CisJdiA9IGFwaWNfcmVhZChBUElDX0lEKTsKIAlwcmludGsoS0VSTl9JTkZPICIuLi4gQVBJQyBJRDogICAgICAlMDh4ICglMDF4KVxuIiwgdiwgR0VUX0FQSUNfSUQocmVhZF9hcGljX2lkKCkpKTsKIAl2ID0gYXBpY19yZWFkKEFQSUNfTFZSKTsKIAlwcmludGsoS0VSTl9JTkZPICIuLi4gQVBJQyBWRVJTSU9OOiAlMDh4XG4iLCB2KTsKQEAgLTExNDYsNyArMTE2MCw3IEBACiAKIHZvaWQgcHJpbnRfYWxsX2xvY2FsX0FQSUNzICh2b2lkKQogewotCW9uX2VhY2hfY3B1KHByaW50X2xvY2FsX0FQSUMsIE5VTEwsIDEsIDEpOworCW9uX2VhY2hfY3B1KHByaW50X2xvY2FsX0FQSUMsIE5VTEwsIDEpOwogfQogCiB2b2lkIF9fYXBpY2RlYnVnaW5pdCBwcmludF9QSUModm9pZCkKQEAgLTE1NDAsNyArMTU1NCw3IEBACiAJfQogfQogCi1zdGF0aWMgdm9pZCBlbmFibGVfbGFwaWNfaXJxICh1bnNpZ25lZCBpbnQgaXJxKQorc3RhdGljIHZvaWQgdW5tYXNrX2xhcGljX2lycSh1bnNpZ25lZCBpbnQgaXJxKQogewogCXVuc2lnbmVkIGxvbmcgdjsKIApAQCAtMTU0OCw3ICsxNTYyLDcgQEAKIAlhcGljX3dyaXRlKEFQSUNfTFZUMCwgdiAmIH5BUElDX0xWVF9NQVNLRUQpOwogfQogCi1zdGF0aWMgdm9pZCBkaXNhYmxlX2xhcGljX2lycSAodW5zaWduZWQgaW50IGlycSkKK3N0YXRpYyB2b2lkIG1hc2tfbGFwaWNfaXJxKHVuc2lnbmVkIGludCBpcnEpCiB7CiAJdW5zaWduZWQgbG9uZyB2OwogCkBAIC0xNTYxLDE5ICsxNTc1LDIwIEBACiAJYWNrX0FQSUNfaXJxKCk7CiB9CiAKLXN0YXRpYyB2b2lkIGVuZF9sYXBpY19pcnEgKHVuc2lnbmVkIGludCBpKSB7IC8qIG5vdGhpbmcgKi8gfQotCi1zdGF0aWMgc3RydWN0IGh3X2ludGVycnVwdF90eXBlIGxhcGljX2lycV90eXBlIF9fcmVhZF9tb3N0bHkgPSB7Ci0JLm5hbWUgPSAibG9jYWwtQVBJQyIsCi0JLnR5cGVuYW1lID0gImxvY2FsLUFQSUMtZWRnZSIsCi0JLnN0YXJ0dXAgPSBOVUxMLCAvKiBzdGFydHVwX2lycSgpIG5vdCB1c2VkIGZvciBJUlEwICovCi0JLnNodXRkb3duID0gTlVMTCwgLyogc2h1dGRvd25faXJxKCkgbm90IHVzZWQgZm9yIElSUTAgKi8KLQkuZW5hYmxlID0gZW5hYmxlX2xhcGljX2lycSwKLQkuZGlzYWJsZSA9IGRpc2FibGVfbGFwaWNfaXJxLAotCS5hY2sgPSBhY2tfbGFwaWNfaXJxLAotCS5lbmQgPSBlbmRfbGFwaWNfaXJxLAorc3RhdGljIHN0cnVjdCBpcnFfY2hpcCBsYXBpY19jaGlwIF9fcmVhZF9tb3N0bHkgPSB7CisJLm5hbWUJCT0gImxvY2FsLUFQSUMiLAorCS5tYXNrCQk9IG1hc2tfbGFwaWNfaXJxLAorCS51bm1hc2sJCT0gdW5tYXNrX2xhcGljX2lycSwKKwkuYWNrCQk9IGFja19sYXBpY19pcnEsCiB9OwogCitzdGF0aWMgdm9pZCBsYXBpY19yZWdpc3Rlcl9pbnRyKGludCBpcnEpCit7CisJaXJxX2Rlc2NbaXJxXS5zdGF0dXMgJj0gfklSUV9MRVZFTDsKKwlzZXRfaXJxX2NoaXBfYW5kX2hhbmRsZXJfbmFtZShpcnEsICZsYXBpY19jaGlwLCBoYW5kbGVfZWRnZV9pcnEsCisJCQkJICAgICAgImVkZ2UiKTsKK30KKwogc3RhdGljIHZvaWQgX19pbml0IHNldHVwX25taSh2b2lkKQogewogCS8qCkBAIC0xNjU5LDYgKzE2NzQsNyBAQAogCXN0cnVjdCBpcnFfY2ZnICpjZmcgPSBpcnFfY2ZnICsgMDsKIAlpbnQgYXBpYzEsIHBpbjEsIGFwaWMyLCBwaW4yOwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJaW50IG5vX3BpbjEgPSAwOwogCiAJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOwogCkBAIC0xNjY5LDE2ICsxNjg1LDExIEBACiAJYXNzaWduX2lycV92ZWN0b3IoMCwgVEFSR0VUX0NQVVMpOwogCiAJLyoKLQkgKiBTdWJ0bGUsIGNvZGUgaW4gZG9fdGltZXJfaW50ZXJydXB0KCkgZXhwZWN0cyBhbiBBRU9JCi0JICogbW9kZSBmb3IgdGhlIDgyNTlBIHdoZW5ldmVyIGludGVycnVwdHMgYXJlIHJvdXRlZAotCSAqIHRocm91Z2ggSS9PIEFQSUNzLiAgQWxzbyBJUlEwIGhhcyB0byBiZSBlbmFibGVkIGluCi0JICogdGhlIDgyNTlBIHdoaWNoIGltcGxpZXMgdGhlIHZpcnR1YWwgd2lyZSBoYXMgdG8gYmUKLQkgKiBkaXNhYmxlZCBpbiB0aGUgbG9jYWwgQVBJQy4KKwkgKiBBcyBJUlEwIGlzIHRvIGJlIGVuYWJsZWQgaW4gdGhlIDgyNTlBLCB0aGUgdmlydHVhbAorCSAqIHdpcmUgaGFzIHRvIGJlIGRpc2FibGVkIGluIHRoZSBsb2NhbCBBUElDLgogCSAqLwogCWFwaWNfd3JpdGUoQVBJQ19MVlQwLCBBUElDX0xWVF9NQVNLRUQgfCBBUElDX0RNX0VYVElOVCk7CiAJaW5pdF84MjU5QSgxKTsKLQlpZiAodGltZXJfb3Zlcl84MjU0ID4gMCkKLQkJZW5hYmxlXzgyNTlBX2lycSgwKTsKIAogCXBpbjEgID0gZmluZF9pc2FfaXJxX3BpbigwLCBtcF9JTlQpOwogCWFwaWMxID0gZmluZF9pc2FfaXJxX2FwaWMoMCwgbXBfSU5UKTsKQEAgLTE2ODgsMTUgKzE2OTksMzMgQEAKIAlhcGljX3ByaW50ayhBUElDX1ZFUkJPU0UsS0VSTl9JTkZPICIuLlRJTUVSOiB2ZWN0b3I9MHglMDJYIGFwaWMxPSVkIHBpbjE9JWQgYXBpYzI9JWQgcGluMj0lZFxuIiwKIAkJY2ZnLT52ZWN0b3IsIGFwaWMxLCBwaW4xLCBhcGljMiwgcGluMik7CiAKKwkvKgorCSAqIFNvbWUgQklPUyB3cml0ZXJzIGFyZSBjbHVlbGVzcyBhbmQgcmVwb3J0IHRoZSBFeHRJTlRBCisJICogSS9PIEFQSUMgaW5wdXQgZnJvbSB0aGUgY2FzY2FkZWQgODI1OUEgYXMgdGhlIHRpbWVyCisJICogaW50ZXJydXB0IGlucHV0LiAgU28ganVzdCBpbiBjYXNlLCBpZiBvbmx5IG9uZSBwaW4KKwkgKiB3YXMgZm91bmQgYWJvdmUsIHRyeSBpdCBib3RoIGRpcmVjdGx5IGFuZCB0aHJvdWdoIHRoZQorCSAqIDgyNTlBLgorCSAqLworCWlmIChwaW4xID09IC0xKSB7CisJCXBpbjEgPSBwaW4yOworCQlhcGljMSA9IGFwaWMyOworCQlub19waW4xID0gMTsKKwl9IGVsc2UgaWYgKHBpbjIgPT0gLTEpIHsKKwkJcGluMiA9IHBpbjE7CisJCWFwaWMyID0gYXBpYzE7CisJfQorCiAJaWYgKHBpbjEgIT0gLTEpIHsKIAkJLyoKIAkJICogT2ssIGRvZXMgSVJRMCB0aHJvdWdoIHRoZSBJT0FQSUMgd29yaz8KIAkJICovCisJCWlmIChub19waW4xKSB7CisJCQlhZGRfcGluX3RvX2lycSgwLCBhcGljMSwgcGluMSk7CisJCQlzZXR1cF90aW1lcl9JUlEwX3BpbihhcGljMSwgcGluMSwgY2ZnLT52ZWN0b3IpOworCQl9CiAJCXVubWFza19JT19BUElDX2lycSgwKTsKIAkJaWYgKCFub190aW1lcl9jaGVjayAmJiB0aW1lcl9pcnFfd29ya3MoKSkgewotCQkJbm1pX3dhdGNoZG9nX2RlZmF1bHQoKTsKIAkJCWlmIChubWlfd2F0Y2hkb2cgPT0gTk1JX0lPX0FQSUMpIHsKLQkJCQlkaXNhYmxlXzgyNTlBX2lycSgwKTsKIAkJCQlzZXR1cF9ubWkoKTsKIAkJCQllbmFibGVfODI1OUFfaXJxKDApOwogCQkJfQpAQCAtMTcwNSw0MyArMTczNCw0OCBAQAogCQkJZ290byBvdXQ7CiAJCX0KIAkJY2xlYXJfSU9fQVBJQ19waW4oYXBpYzEsIHBpbjEpOwotCQlhcGljX3ByaW50ayhBUElDX1FVSUVULEtFUk5fRVJSICIuLk1QLUJJT1MgYnVnOiA4MjU0IHRpbWVyIG5vdCAiCi0JCQkJImNvbm5lY3RlZCB0byBJTy1BUElDXG4iKTsKLQl9CisJCWlmICghbm9fcGluMSkKKwkJCWFwaWNfcHJpbnRrKEFQSUNfUVVJRVQsS0VSTl9FUlIgIi4uTVAtQklPUyBidWc6ICIKKwkJCQkgICAgIjgyNTQgdGltZXIgbm90IGNvbm5lY3RlZCB0byBJTy1BUElDXG4iKTsKIAotCWFwaWNfcHJpbnRrKEFQSUNfVkVSQk9TRSxLRVJOX0lORk8gIi4uLnRyeWluZyB0byBzZXQgdXAgdGltZXIgKElSUTApICIKLQkJCQkidGhyb3VnaCB0aGUgODI1OUEgLi4uICIpOwotCWlmIChwaW4yICE9IC0xKSB7CisJCWFwaWNfcHJpbnRrKEFQSUNfVkVSQk9TRSxLRVJOX0lORk8KKwkJCSIuLi50cnlpbmcgdG8gc2V0IHVwIHRpbWVyIChJUlEwKSAiCisJCQkidGhyb3VnaCB0aGUgODI1OUEgLi4uICIpOwogCQlhcGljX3ByaW50ayhBUElDX1ZFUkJPU0UsIlxuLi4uLi4gKGZvdW5kIGFwaWMgJWQgcGluICVkKSAuLi4iLAogCQkJYXBpYzIsIHBpbjIpOwogCQkvKgogCQkgKiBsZWdhY3kgZGV2aWNlcyBzaG91bGQgYmUgY29ubmVjdGVkIHRvIElPIEFQSUMgIzAKIAkJICovCi0JCXNldHVwX0V4dElOVF9JUlEwX3BpbihhcGljMiwgcGluMiwgY2ZnLT52ZWN0b3IpOworCQlyZXBsYWNlX3Bpbl9hdF9pcnEoMCwgYXBpYzEsIHBpbjEsIGFwaWMyLCBwaW4yKTsKKwkJc2V0dXBfdGltZXJfSVJRMF9waW4oYXBpYzIsIHBpbjIsIGNmZy0+dmVjdG9yKTsKKwkJdW5tYXNrX0lPX0FQSUNfaXJxKDApOworCQllbmFibGVfODI1OUFfaXJxKDApOwogCQlpZiAodGltZXJfaXJxX3dvcmtzKCkpIHsKIAkJCWFwaWNfcHJpbnRrKEFQSUNfVkVSQk9TRSwiIHdvcmtzLlxuIik7Ci0JCQlubWlfd2F0Y2hkb2dfZGVmYXVsdCgpOworCQkJdGltZXJfdGhyb3VnaF84MjU5ID0gMTsKIAkJCWlmIChubWlfd2F0Y2hkb2cgPT0gTk1JX0lPX0FQSUMpIHsKKwkJCQlkaXNhYmxlXzgyNTlBX2lycSgwKTsKIAkJCQlzZXR1cF9ubWkoKTsKKwkJCQllbmFibGVfODI1OUFfaXJxKDApOwogCQkJfQogCQkJZ290byBvdXQ7CiAJCX0KIAkJLyoKIAkJICogQ2xlYW51cCwganVzdCBpbiBjYXNlIC4uLgogCQkgKi8KKwkJZGlzYWJsZV84MjU5QV9pcnEoMCk7CiAJCWNsZWFyX0lPX0FQSUNfcGluKGFwaWMyLCBwaW4yKTsKKwkJYXBpY19wcmludGsoQVBJQ19WRVJCT1NFLCIgZmFpbGVkLlxuIik7CiAJfQotCWFwaWNfcHJpbnRrKEFQSUNfVkVSQk9TRSwiIGZhaWxlZC5cbiIpOwogCiAJaWYgKG5taV93YXRjaGRvZyA9PSBOTUlfSU9fQVBJQykgewogCQlwcmludGsoS0VSTl9XQVJOSU5HICJ0aW1lciBkb2Vzbid0IHdvcmsgdGhyb3VnaCB0aGUgSU8tQVBJQyAtIGRpc2FibGluZyBOTUkgV2F0Y2hkb2chXG4iKTsKLQkJbm1pX3dhdGNoZG9nID0gMDsKKwkJbm1pX3dhdGNoZG9nID0gTk1JX05PTkU7CiAJfQogCiAJYXBpY19wcmludGsoQVBJQ19WRVJCT1NFLCBLRVJOX0lORk8gIi4uLnRyeWluZyB0byBzZXQgdXAgdGltZXIgYXMgVmlydHVhbCBXaXJlIElSUS4uLiIpOwogCi0JZGlzYWJsZV84MjU5QV9pcnEoMCk7Ci0JaXJxX2Rlc2NbMF0uY2hpcCA9ICZsYXBpY19pcnFfdHlwZTsKKwlsYXBpY19yZWdpc3Rlcl9pbnRyKDApOwogCWFwaWNfd3JpdGUoQVBJQ19MVlQwLCBBUElDX0RNX0ZJWEVEIHwgY2ZnLT52ZWN0b3IpOwkvKiBGaXhlZCBtb2RlICovCiAJZW5hYmxlXzgyNTlBX2lycSgwKTsKIApAQCAtMTc0OSw2ICsxNzgzLDcgQEAKIAkJYXBpY19wcmludGsoQVBJQ19WRVJCT1NFLCIgd29ya3MuXG4iKTsKIAkJZ290byBvdXQ7CiAJfQorCWRpc2FibGVfODI1OUFfaXJxKDApOwogCWFwaWNfd3JpdGUoQVBJQ19MVlQwLCBBUElDX0xWVF9NQVNLRUQgfCBBUElDX0RNX0ZJWEVEIHwgY2ZnLT52ZWN0b3IpOwogCWFwaWNfcHJpbnRrKEFQSUNfVkVSQk9TRSwiIGZhaWxlZC5cbiIpOwogCkBAIC0xNzc4LDExICsxODEzLDIxIEBACiBfX3NldHVwKCJub190aW1lcl9jaGVjayIsIG5vdGltZXJjaGVjayk7CiAKIC8qCi0gKgotICogSVJRcyB0aGF0IGFyZSBoYW5kbGVkIGJ5IHRoZSBQSUMgaW4gdGhlIE1QUyBJT0FQSUMgY2FzZS4KLSAqIC0gSVJRMiBpcyB0aGUgY2FzY2FkZSBJUlEsIGFuZCBjYW5ub3QgYmUgYSBpby1hcGljIElSUS4KLSAqICAgTGludXggZG9lc24ndCByZWFsbHkgY2FyZSwgYXMgaXQncyBub3QgYWN0dWFsbHkgdXNlZAotICogICBmb3IgYW55IGludGVycnVwdCBoYW5kbGluZyBhbnl3YXkuCisgKiBUcmFkaXRpb25hbGx5IElTQSBJUlEyIGlzIHRoZSBjYXNjYWRlIElSUSwgYW5kIGlzIG5vdCBhdmFpbGFibGUKKyAqIHRvIGRldmljZXMuICBIb3dldmVyIHRoZXJlIG1heSBiZSBhbiBJL08gQVBJQyBwaW4gYXZhaWxhYmxlIGZvcgorICogdGhpcyBpbnRlcnJ1cHQgcmVnYXJkbGVzcy4gIFRoZSBwaW4gbWF5IGJlIGxlZnQgdW5jb25uZWN0ZWQsIGJ1dAorICogdHlwaWNhbGx5IGl0IHdpbGwgYmUgcmV1c2VkIGFzIGFuIEV4dElOVCBjYXNjYWRlIGludGVycnVwdCBmb3IKKyAqIHRoZSBtYXN0ZXIgODI1OUEuICBJbiB0aGUgTVBTIGNhc2Ugc3VjaCBhIHBpbiB3aWxsIG5vcm1hbGx5IGJlCisgKiByZXBvcnRlZCBhcyBhbiBFeHRJTlQgaW50ZXJydXB0IGluIHRoZSBNUCB0YWJsZS4gIFdpdGggQUNQSQorICogdGhlcmUgaXMgbm8gcHJvdmlzaW9uIGZvciBFeHRJTlQgaW50ZXJydXB0cywgYW5kIGluIHRoZSBhYnNlbmNlCisgKiBvZiBhbiBvdmVycmlkZSBpdCB3b3VsZCBiZSB0cmVhdGVkIGFzIGFuIG9yZGluYXJ5IElTQSBJL08gQVBJQworICogaW50ZXJydXB0LCB0aGF0IGlzIGVkZ2UtdHJpZ2dlcmVkIGFuZCB1bm1hc2tlZCBieSBkZWZhdWx0LiAgV2UKKyAqIHVzZWQgdG8gZG8gdGhpcywgYnV0IGl0IGNhdXNlZCBwcm9ibGVtcyBvbiBzb21lIHN5c3RlbXMgYmVjYXVzZQorICogb2YgdGhlIE5NSSB3YXRjaGRvZyBhbmQgc29tZXRpbWVzIElSUTAgb2YgdGhlIDgyNTQgdGltZXIgdXNpbmcKKyAqIHRoZSBzYW1lIEV4dElOVCBjYXNjYWRlIGludGVycnVwdCB0byBkcml2ZSB0aGUgbG9jYWwgQVBJQyBvZiB0aGUKKyAqIGJvb3RzdHJhcCBwcm9jZXNzb3IuICBUaGVyZWZvcmUgd2UgcmVmcmFpbiBmcm9tIHJvdXRpbmcgSVJRMiB0bworICogdGhlIEkvTyBBUElDIGluIGFsbCBjYXNlcyBub3cuICBObyBhY3R1YWwgZGV2aWNlIHNob3VsZCByZXF1ZXN0CisgKiBpdCBhbnl3YXkuICAtLW1hY3JvCiAgKi8KICNkZWZpbmUgUElDX0lSUVMJKDE8PDIpCiAKQEAgLTE3OTMsMTAgKzE4MzgsNyBAQAogCSAqIGNhbGxpbmcgZW5hYmxlX0lPX0FQSUMoKSBpcyBtb3ZlZCB0byBzZXR1cF9sb2NhbF9BUElDIGZvciBCUAogCSAqLwogCi0JaWYgKGFjcGlfaW9hcGljKQotCQlpb19hcGljX2lycXMgPSB+MDsJLyogYWxsIElSUXMgZ28gdGhyb3VnaCBJT0FQSUMgKi8KLQllbHNlCi0JCWlvX2FwaWNfaXJxcyA9IH5QSUNfSVJRUzsKKwlpb19hcGljX2lycXMgPSB+UElDX0lSUVM7CiAKIAlhcGljX3ByaW50ayhBUElDX1ZFUkJPU0UsICJFTkFCTElORyBJTy1BUElDIElSUXNcbiIpOwogCkBAIC0xODQxLDggKzE4ODMsOCBAQAogCiAJc3Bpbl9sb2NrX2lycXNhdmUoJmlvYXBpY19sb2NrLCBmbGFncyk7CiAJcmVnXzAwLnJhdyA9IGlvX2FwaWNfcmVhZChkZXYtPmlkLCAwKTsKLQlpZiAocmVnXzAwLmJpdHMuSUQgIT0gbXBfaW9hcGljc1tkZXYtPmlkXS5tcGNfYXBpY2lkKSB7Ci0JCXJlZ18wMC5iaXRzLklEID0gbXBfaW9hcGljc1tkZXYtPmlkXS5tcGNfYXBpY2lkOworCWlmIChyZWdfMDAuYml0cy5JRCAhPSBtcF9pb2FwaWNzW2Rldi0+aWRdLm1wX2FwaWNpZCkgeworCQlyZWdfMDAuYml0cy5JRCA9IG1wX2lvYXBpY3NbZGV2LT5pZF0ubXBfYXBpY2lkOwogCQlpb19hcGljX3dyaXRlKGRldi0+aWQsIDAsIHJlZ18wMC5yYXcpOwogCX0KIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpb2FwaWNfbG9jaywgZmxhZ3MpOwpAQCAtMjI0Miw4ICsyMjg0LDggQEAKIAkJcmV0dXJuIC0xOwogCiAJZm9yIChpID0gMDsgaSA8IG1wX2lycV9lbnRyaWVzOyBpKyspCi0JCWlmIChtcF9pcnFzW2ldLm1wY19pcnF0eXBlID09IG1wX0lOVCAmJgotCQkgICAgbXBfaXJxc1tpXS5tcGNfc3JjYnVzaXJxID09IGJ1c19pcnEpCisJCWlmIChtcF9pcnFzW2ldLm1wX2lycXR5cGUgPT0gbXBfSU5UICYmCisJCSAgICBtcF9pcnFzW2ldLm1wX3NyY2J1c2lycSA9PSBidXNfaXJxKQogCQkJYnJlYWs7CiAJaWYgKGkgPj0gbXBfaXJxX2VudHJpZXMpCiAJCXJldHVybiAtMTsKQEAgLTIzMzYsNyArMjM3OCw3IEBACiAJaW9hcGljX3JlcyA9IGlvYXBpY19zZXR1cF9yZXNvdXJjZXMoKTsKIAlmb3IgKGkgPSAwOyBpIDwgbnJfaW9hcGljczsgaSsrKSB7CiAJCWlmIChzbXBfZm91bmRfY29uZmlnKSB7Ci0JCQlpb2FwaWNfcGh5cyA9IG1wX2lvYXBpY3NbaV0ubXBjX2FwaWNhZGRyOworCQkJaW9hcGljX3BoeXMgPSBtcF9pb2FwaWNzW2ldLm1wX2FwaWNhZGRyOwogCQl9IGVsc2UgewogCQkJaW9hcGljX3BoeXMgPSAodW5zaWduZWQgbG9uZykKIAkJCQlhbGxvY19ib290bWVtX3BhZ2VzKFBBR0VfU0laRSk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvaXBpLmMgYi9hcmNoL3g4Ni9rZXJuZWwvaXBpLmMKaW5kZXggYzBkZjdiOC4uOWQ5OGNkYSAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2lwaS5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9pcGkuYwpAQCAtOCw3ICs4LDYgQEAKICNpbmNsdWRlIDxsaW51eC9rZXJuZWxfc3RhdC5oPgogI2luY2x1ZGUgPGxpbnV4L21jMTQ2ODE4cnRjLmg+CiAjaW5jbHVkZSA8bGludXgvY2FjaGUuaD4KLSNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KICNpbmNsdWRlIDxsaW51eC9jcHUuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KIApkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2lycV8zMi5jIGIvYXJjaC94ODYva2VybmVsL2lycV8zMi5jCmluZGV4IDE0NzM1MmQuLjQ3YTZmNmYgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9pcnFfMzIuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvaXJxXzMyLmMKQEAgLTQ4LDYgKzQ4LDI5IEBACiAjZW5kaWYKIH0KIAorI2lmZGVmIENPTkZJR19ERUJVR19TVEFDS09WRVJGTE9XCisvKiBEZWJ1Z2dpbmcgY2hlY2sgZm9yIHN0YWNrIG92ZXJmbG93OiBpcyB0aGVyZSBsZXNzIHRoYW4gMUtCIGZyZWU/ICovCitzdGF0aWMgaW50IGNoZWNrX3N0YWNrX292ZXJmbG93KHZvaWQpCit7CisJbG9uZyBzcDsKKworCV9fYXNtX18gX192b2xhdGlsZV9fKCJhbmRsICUlZXNwLCUwIiA6CisJCQkgICAgICI9ciIgKHNwKSA6ICIwIiAoVEhSRUFEX1NJWkUgLSAxKSk7CisKKwlyZXR1cm4gc3AgPCAoc2l6ZW9mKHN0cnVjdCB0aHJlYWRfaW5mbykgKyBTVEFDS19XQVJOKTsKK30KKworc3RhdGljIHZvaWQgcHJpbnRfc3RhY2tfb3ZlcmZsb3codm9pZCkKK3sKKwlwcmludGsoS0VSTl9XQVJOSU5HICJsb3cgc3RhY2sgZGV0ZWN0ZWQgYnkgaXJxIGhhbmRsZXJcbiIpOworCWR1bXBfc3RhY2soKTsKK30KKworI2Vsc2UKK3N0YXRpYyBpbmxpbmUgaW50IGNoZWNrX3N0YWNrX292ZXJmbG93KHZvaWQpIHsgcmV0dXJuIDA7IH0KK3N0YXRpYyBpbmxpbmUgdm9pZCBwcmludF9zdGFja19vdmVyZmxvdyh2b2lkKSB7IH0KKyNlbmRpZgorCiAjaWZkZWYgQ09ORklHXzRLU1RBQ0tTCiAvKgogICogcGVyLUNQVSBJUlEgaGFuZGxpbmcgY29udGV4dHMgKHRocmVhZCBpbmZvcm1hdGlvbiBhbmQgc3RhY2spCkBAIC01OSw0OCArODIsMjkgQEAKIAogc3RhdGljIHVuaW9uIGlycV9jdHggKmhhcmRpcnFfY3R4W05SX0NQVVNdIF9fcmVhZF9tb3N0bHk7CiBzdGF0aWMgdW5pb24gaXJxX2N0eCAqc29mdGlycV9jdHhbTlJfQ1BVU10gX19yZWFkX21vc3RseTsKLSNlbmRpZgogCi0vKgotICogZG9fSVJRIGhhbmRsZXMgYWxsIG5vcm1hbCBkZXZpY2UgSVJRJ3MgKHRoZSBzcGVjaWFsCi0gKiBTTVAgY3Jvc3MtQ1BVIGludGVycnVwdHMgaGF2ZSB0aGVpciBvd24gc3BlY2lmaWMKLSAqIGhhbmRsZXJzKS4KLSAqLwotdW5zaWduZWQgaW50IGRvX0lSUShzdHJ1Y3QgcHRfcmVncyAqcmVncykKLXsJCi0Jc3RydWN0IHB0X3JlZ3MgKm9sZF9yZWdzOwotCS8qIGhpZ2ggYml0IHVzZWQgaW4gcmV0X2Zyb21fIGNvZGUgKi8KLQlpbnQgaXJxID0gfnJlZ3MtPm9yaWdfYXg7Ci0Jc3RydWN0IGlycV9kZXNjICpkZXNjID0gaXJxX2Rlc2MgKyBpcnE7Ci0jaWZkZWYgQ09ORklHXzRLU1RBQ0tTCitzdGF0aWMgY2hhciBzb2Z0aXJxX3N0YWNrW05SX0NQVVMgKiBUSFJFQURfU0laRV0KKwkJX19hdHRyaWJ1dGVfXygoX19zZWN0aW9uX18oIi5ic3MucGFnZV9hbGlnbmVkIikpKTsKKworc3RhdGljIGNoYXIgaGFyZGlycV9zdGFja1tOUl9DUFVTICogVEhSRUFEX1NJWkVdCisJCV9fYXR0cmlidXRlX18oKF9fc2VjdGlvbl9fKCIuYnNzLnBhZ2VfYWxpZ25lZCIpKSk7CisKK3N0YXRpYyB2b2lkIGNhbGxfb25fc3RhY2sodm9pZCAqZnVuYywgdm9pZCAqc3RhY2spCit7CisJYXNtIHZvbGF0aWxlKCJ4Y2hnbAklJWVieCwlJWVzcAlcbiIKKwkJICAgICAiY2FsbAkqJSVlZGkJCVxuIgorCQkgICAgICJtb3ZsCSUlZWJ4LCUlZXNwCVxuIgorCQkgICAgIDogIj1iIiAoc3RhY2spCisJCSAgICAgOiAiMCIgKHN0YWNrKSwKKwkJICAgICAgICJEIihmdW5jKQorCQkgICAgIDogIm1lbW9yeSIsICJjYyIsICJlZHgiLCAiZWN4IiwgImVheCIpOworfQorCitzdGF0aWMgaW5saW5lIGludAorZXhlY3V0ZV9vbl9pcnFfc3RhY2soaW50IG92ZXJmbG93LCBzdHJ1Y3QgaXJxX2Rlc2MgKmRlc2MsIGludCBpcnEpCit7CiAJdW5pb24gaXJxX2N0eCAqY3VyY3R4LCAqaXJxY3R4OwotCXUzMiAqaXNwOwotI2VuZGlmCi0KLQlpZiAodW5saWtlbHkoKHVuc2lnbmVkKWlycSA+PSBOUl9JUlFTKSkgewotCQlwcmludGsoS0VSTl9FTUVSRyAiJXM6IGNhbm5vdCBoYW5kbGUgSVJRICVkXG4iLAotCQkJCQlfX2Z1bmNfXywgaXJxKTsKLQkJQlVHKCk7Ci0JfQotCi0Jb2xkX3JlZ3MgPSBzZXRfaXJxX3JlZ3MocmVncyk7Ci0JaXJxX2VudGVyKCk7Ci0jaWZkZWYgQ09ORklHX0RFQlVHX1NUQUNLT1ZFUkZMT1cKLQkvKiBEZWJ1Z2dpbmcgY2hlY2sgZm9yIHN0YWNrIG92ZXJmbG93OiBpcyB0aGVyZSBsZXNzIHRoYW4gMUtCIGZyZWU/ICovCi0JewotCQlsb25nIHNwOwotCi0JCV9fYXNtX18gX192b2xhdGlsZV9fKCJhbmRsICUlZXNwLCUwIiA6Ci0JCQkJCSI9ciIgKHNwKSA6ICIwIiAoVEhSRUFEX1NJWkUgLSAxKSk7Ci0JCWlmICh1bmxpa2VseShzcCA8IChzaXplb2Yoc3RydWN0IHRocmVhZF9pbmZvKSArIFNUQUNLX1dBUk4pKSkgewotCQkJcHJpbnRrKCJkb19JUlE6IHN0YWNrIG92ZXJmbG93OiAlbGRcbiIsCi0JCQkJc3AgLSBzaXplb2Yoc3RydWN0IHRocmVhZF9pbmZvKSk7Ci0JCQlkdW1wX3N0YWNrKCk7Ci0JCX0KLQl9Ci0jZW5kaWYKLQotI2lmZGVmIENPTkZJR180S1NUQUNLUworCXUzMiAqaXNwLCBhcmcxLCBhcmcyOwogCiAJY3VyY3R4ID0gKHVuaW9uIGlycV9jdHggKikgY3VycmVudF90aHJlYWRfaW5mbygpOwogCWlycWN0eCA9IGhhcmRpcnFfY3R4W3NtcF9wcm9jZXNzb3JfaWQoKV07CkBAIC0xMTEsNTIgKzExNSwzOSBAQAogCSAqIGhhbmRsZXIpIHdlIGNhbid0IGRvIHRoYXQgYW5kIGp1c3QgaGF2ZSB0byBrZWVwIHVzaW5nIHRoZQogCSAqIGN1cnJlbnQgc3RhY2sgKHdoaWNoIGlzIHRoZSBpcnEgc3RhY2sgYWxyZWFkeSBhZnRlciBhbGwpCiAJICovCi0JaWYgKGN1cmN0eCAhPSBpcnFjdHgpIHsKLQkJaW50IGFyZzEsIGFyZzIsIGJ4OworCWlmICh1bmxpa2VseShjdXJjdHggPT0gaXJxY3R4KSkKKwkJcmV0dXJuIDA7CiAKLQkJLyogYnVpbGQgdGhlIHN0YWNrIGZyYW1lIG9uIHRoZSBJUlEgc3RhY2sgKi8KLQkJaXNwID0gKHUzMiopICgoY2hhciopaXJxY3R4ICsgc2l6ZW9mKCppcnFjdHgpKTsKLQkJaXJxY3R4LT50aW5mby50YXNrID0gY3VyY3R4LT50aW5mby50YXNrOwotCQlpcnFjdHgtPnRpbmZvLnByZXZpb3VzX2VzcCA9IGN1cnJlbnRfc3RhY2tfcG9pbnRlcjsKKwkvKiBidWlsZCB0aGUgc3RhY2sgZnJhbWUgb24gdGhlIElSUSBzdGFjayAqLworCWlzcCA9ICh1MzIgKikgKChjaGFyKilpcnFjdHggKyBzaXplb2YoKmlycWN0eCkpOworCWlycWN0eC0+dGluZm8udGFzayA9IGN1cmN0eC0+dGluZm8udGFzazsKKwlpcnFjdHgtPnRpbmZvLnByZXZpb3VzX2VzcCA9IGN1cnJlbnRfc3RhY2tfcG9pbnRlcjsKIAotCQkvKgotCQkgKiBDb3B5IHRoZSBzb2Z0aXJxIGJpdHMgaW4gcHJlZW1wdF9jb3VudCBzbyB0aGF0IHRoZQotCQkgKiBzb2Z0aXJxIGNoZWNrcyB3b3JrIGluIHRoZSBoYXJkaXJxIGNvbnRleHQuCi0JCSAqLwotCQlpcnFjdHgtPnRpbmZvLnByZWVtcHRfY291bnQgPQotCQkJKGlycWN0eC0+dGluZm8ucHJlZW1wdF9jb3VudCAmIH5TT0ZUSVJRX01BU0spIHwKLQkJCShjdXJjdHgtPnRpbmZvLnByZWVtcHRfY291bnQgJiBTT0ZUSVJRX01BU0spOworCS8qCisJICogQ29weSB0aGUgc29mdGlycSBiaXRzIGluIHByZWVtcHRfY291bnQgc28gdGhhdCB0aGUKKwkgKiBzb2Z0aXJxIGNoZWNrcyB3b3JrIGluIHRoZSBoYXJkaXJxIGNvbnRleHQuCisJICovCisJaXJxY3R4LT50aW5mby5wcmVlbXB0X2NvdW50ID0KKwkJKGlycWN0eC0+dGluZm8ucHJlZW1wdF9jb3VudCAmIH5TT0ZUSVJRX01BU0spIHwKKwkJKGN1cmN0eC0+dGluZm8ucHJlZW1wdF9jb3VudCAmIFNPRlRJUlFfTUFTSyk7CiAKLQkJYXNtIHZvbGF0aWxlKAotCQkJIiAgICAgICB4Y2hnbCAgJSVlYngsJSVlc3AgICAgXG4iCi0JCQkiICAgICAgIGNhbGwgICAqJSVlZGkgICAgICAgICBcbiIKLQkJCSIgICAgICAgbW92bCAgICUlZWJ4LCUlZXNwICAgIFxuIgotCQkJOiAiPWEiIChhcmcxKSwgIj1kIiAoYXJnMiksICI9YiIgKGJ4KQotCQkJOiAgIjAiIChpcnEpLCAgICIxIiAoZGVzYyksICAiMiIgKGlzcCksCi0JCQkgICAiRCIgKGRlc2MtPmhhbmRsZV9pcnEpCi0JCQk6ICJtZW1vcnkiLCAiY2MiLCAiZWN4IgotCQkpOwotCX0gZWxzZQotI2VuZGlmCi0JCWRlc2MtPmhhbmRsZV9pcnEoaXJxLCBkZXNjKTsKKwlpZiAodW5saWtlbHkob3ZlcmZsb3cpKQorCQljYWxsX29uX3N0YWNrKHByaW50X3N0YWNrX292ZXJmbG93LCBpc3ApOwogCi0JaXJxX2V4aXQoKTsKLQlzZXRfaXJxX3JlZ3Mob2xkX3JlZ3MpOworCWFzbSB2b2xhdGlsZSgieGNoZ2wJJSVlYngsJSVlc3AJXG4iCisJCSAgICAgImNhbGwJKiUlZWRpCQlcbiIKKwkJICAgICAibW92bAklJWVieCwlJWVzcAlcbiIKKwkJICAgICA6ICI9YSIgKGFyZzEpLCAiPWQiIChhcmcyKSwgIj1iIiAoaXNwKQorCQkgICAgIDogICIwIiAoaXJxKSwgICAiMSIgKGRlc2MpLCAgIjIiIChpc3ApLAorCQkJIkQiIChkZXNjLT5oYW5kbGVfaXJxKQorCQkgICAgIDogIm1lbW9yeSIsICJjYyIsICJlY3giKTsKIAlyZXR1cm4gMTsKIH0KIAotI2lmZGVmIENPTkZJR180S1NUQUNLUwotCi1zdGF0aWMgY2hhciBzb2Z0aXJxX3N0YWNrW05SX0NQVVMgKiBUSFJFQURfU0laRV0KLQkJX19hdHRyaWJ1dGVfXygoX19zZWN0aW9uX18oIi5ic3MucGFnZV9hbGlnbmVkIikpKTsKLQotc3RhdGljIGNoYXIgaGFyZGlycV9zdGFja1tOUl9DUFVTICogVEhSRUFEX1NJWkVdCi0JCV9fYXR0cmlidXRlX18oKF9fc2VjdGlvbl9fKCIuYnNzLnBhZ2VfYWxpZ25lZCIpKSk7Ci0KIC8qCiAgKiBhbGxvY2F0ZSBwZXItY3B1IHN0YWNrcyBmb3IgaGFyZGlycSBhbmQgZm9yIHNvZnRpcnEgcHJvY2Vzc2luZwogICovCi12b2lkIGlycV9jdHhfaW5pdChpbnQgY3B1KQordm9pZCBfX2NwdWluaXQgaXJxX2N0eF9pbml0KGludCBjcHUpCiB7CiAJdW5pb24gaXJxX2N0eCAqaXJxY3R4OwogCkBAIC0xNjQsMjUgKzE1NSwyNSBAQAogCQlyZXR1cm47CiAKIAlpcnFjdHggPSAodW5pb24gaXJxX2N0eCopICZoYXJkaXJxX3N0YWNrW2NwdSpUSFJFQURfU0laRV07Ci0JaXJxY3R4LT50aW5mby50YXNrICAgICAgICAgICAgICA9IE5VTEw7Ci0JaXJxY3R4LT50aW5mby5leGVjX2RvbWFpbiAgICAgICA9IE5VTEw7Ci0JaXJxY3R4LT50aW5mby5jcHUgICAgICAgICAgICAgICA9IGNwdTsKLQlpcnFjdHgtPnRpbmZvLnByZWVtcHRfY291bnQgICAgID0gSEFSRElSUV9PRkZTRVQ7Ci0JaXJxY3R4LT50aW5mby5hZGRyX2xpbWl0ICAgICAgICA9IE1BS0VfTU1fU0VHKDApOworCWlycWN0eC0+dGluZm8udGFzawkJPSBOVUxMOworCWlycWN0eC0+dGluZm8uZXhlY19kb21haW4JPSBOVUxMOworCWlycWN0eC0+dGluZm8uY3B1CQk9IGNwdTsKKwlpcnFjdHgtPnRpbmZvLnByZWVtcHRfY291bnQJPSBIQVJESVJRX09GRlNFVDsKKwlpcnFjdHgtPnRpbmZvLmFkZHJfbGltaXQJPSBNQUtFX01NX1NFRygwKTsKIAogCWhhcmRpcnFfY3R4W2NwdV0gPSBpcnFjdHg7CiAKIAlpcnFjdHggPSAodW5pb24gaXJxX2N0eCopICZzb2Z0aXJxX3N0YWNrW2NwdSpUSFJFQURfU0laRV07Ci0JaXJxY3R4LT50aW5mby50YXNrICAgICAgICAgICAgICA9IE5VTEw7Ci0JaXJxY3R4LT50aW5mby5leGVjX2RvbWFpbiAgICAgICA9IE5VTEw7Ci0JaXJxY3R4LT50aW5mby5jcHUgICAgICAgICAgICAgICA9IGNwdTsKLQlpcnFjdHgtPnRpbmZvLnByZWVtcHRfY291bnQgICAgID0gMDsKLQlpcnFjdHgtPnRpbmZvLmFkZHJfbGltaXQgICAgICAgID0gTUFLRV9NTV9TRUcoMCk7CisJaXJxY3R4LT50aW5mby50YXNrCQk9IE5VTEw7CisJaXJxY3R4LT50aW5mby5leGVjX2RvbWFpbgk9IE5VTEw7CisJaXJxY3R4LT50aW5mby5jcHUJCT0gY3B1OworCWlycWN0eC0+dGluZm8ucHJlZW1wdF9jb3VudAk9IDA7CisJaXJxY3R4LT50aW5mby5hZGRyX2xpbWl0CT0gTUFLRV9NTV9TRUcoMCk7CiAKIAlzb2Z0aXJxX2N0eFtjcHVdID0gaXJxY3R4OwogCi0JcHJpbnRrKCJDUFUgJXUgaXJxc3RhY2tzLCBoYXJkPSVwIHNvZnQ9JXBcbiIsCi0JCWNwdSxoYXJkaXJxX2N0eFtjcHVdLHNvZnRpcnFfY3R4W2NwdV0pOworCXByaW50ayhLRVJOX0RFQlVHICJDUFUgJXUgaXJxc3RhY2tzLCBoYXJkPSVwIHNvZnQ9JXBcbiIsCisJICAgICAgIGNwdSxoYXJkaXJxX2N0eFtjcHVdLHNvZnRpcnFfY3R4W2NwdV0pOwogfQogCiB2b2lkIGlycV9jdHhfZXhpdChpbnQgY3B1KQpAQCAtMjExLDI1ICsyMDIsNTYgQEAKIAkJLyogYnVpbGQgdGhlIHN0YWNrIGZyYW1lIG9uIHRoZSBzb2Z0aXJxIHN0YWNrICovCiAJCWlzcCA9ICh1MzIqKSAoKGNoYXIqKWlycWN0eCArIHNpemVvZigqaXJxY3R4KSk7CiAKLQkJYXNtIHZvbGF0aWxlKAotCQkJIiAgICAgICB4Y2hnbCAgICUlZWJ4LCUlZXNwICAgICBcbiIKLQkJCSIgICAgICAgY2FsbCAgICBfX2RvX3NvZnRpcnEgICAgXG4iCi0JCQkiICAgICAgIG1vdmwgICAgJSVlYngsJSVlc3AgICAgIFxuIgotCQkJOiAiPWIiKGlzcCkKLQkJCTogIjAiKGlzcCkKLQkJCTogIm1lbW9yeSIsICJjYyIsICJlZHgiLCAiZWN4IiwgImVheCIKLQkJKTsKKwkJY2FsbF9vbl9zdGFjayhfX2RvX3NvZnRpcnEsIGlzcCk7CiAJCS8qCiAJCSAqIFNob3VsZG50IGhhcHBlbiwgd2UgcmV0dXJuZWQgYWJvdmUgaWYgaW5faW50ZXJydXB0KCk6Ci0JIAkgKi8KKwkJICovCiAJCVdBUk5fT05fT05DRShzb2Z0aXJxX2NvdW50KCkpOwogCX0KIAogCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKIH0KKworI2Vsc2UKK3N0YXRpYyBpbmxpbmUgaW50CitleGVjdXRlX29uX2lycV9zdGFjayhpbnQgb3ZlcmZsb3csIHN0cnVjdCBpcnFfZGVzYyAqZGVzYywgaW50IGlycSkgeyByZXR1cm4gMDsgfQogI2VuZGlmCiAKIC8qCisgKiBkb19JUlEgaGFuZGxlcyBhbGwgbm9ybWFsIGRldmljZSBJUlEncyAodGhlIHNwZWNpYWwKKyAqIFNNUCBjcm9zcy1DUFUgaW50ZXJydXB0cyBoYXZlIHRoZWlyIG93biBzcGVjaWZpYworICogaGFuZGxlcnMpLgorICovCit1bnNpZ25lZCBpbnQgZG9fSVJRKHN0cnVjdCBwdF9yZWdzICpyZWdzKQoreworCXN0cnVjdCBwdF9yZWdzICpvbGRfcmVnczsKKwkvKiBoaWdoIGJpdCB1c2VkIGluIHJldF9mcm9tXyBjb2RlICovCisJaW50IG92ZXJmbG93LCBpcnEgPSB+cmVncy0+b3JpZ19heDsKKwlzdHJ1Y3QgaXJxX2Rlc2MgKmRlc2MgPSBpcnFfZGVzYyArIGlycTsKKworCWlmICh1bmxpa2VseSgodW5zaWduZWQpaXJxID49IE5SX0lSUVMpKSB7CisJCXByaW50ayhLRVJOX0VNRVJHICIlczogY2Fubm90IGhhbmRsZSBJUlEgJWRcbiIsCisJCQkJCV9fZnVuY19fLCBpcnEpOworCQlCVUcoKTsKKwl9CisKKwlvbGRfcmVncyA9IHNldF9pcnFfcmVncyhyZWdzKTsKKwlpcnFfZW50ZXIoKTsKKworCW92ZXJmbG93ID0gY2hlY2tfc3RhY2tfb3ZlcmZsb3coKTsKKworCWlmICghZXhlY3V0ZV9vbl9pcnFfc3RhY2sob3ZlcmZsb3csIGRlc2MsIGlycSkpIHsKKwkJaWYgKHVubGlrZWx5KG92ZXJmbG93KSkKKwkJCXByaW50X3N0YWNrX292ZXJmbG93KCk7CisJCWRlc2MtPmhhbmRsZV9pcnEoaXJxLCBkZXNjKTsKKwl9CisKKwlpcnFfZXhpdCgpOworCXNldF9pcnFfcmVncyhvbGRfcmVncyk7CisJcmV0dXJuIDE7Cit9CisKKy8qCiAgKiBJbnRlcnJ1cHQgc3RhdGlzdGljczoKICAqLwogCkBAIC0zMTMsMTYgKzMzNSwyMCBAQAogCQkJCXBlcl9jcHUoaXJxX3N0YXQsaikuaXJxX3RsYl9jb3VudCk7CiAJCXNlcV9wcmludGYocCwgIiAgVExCIHNob290ZG93bnNcbiIpOwogI2VuZGlmCisjaWZkZWYgQ09ORklHX1g4Nl9NQ0UKIAkJc2VxX3ByaW50ZihwLCAiVFJNOiAiKTsKIAkJZm9yX2VhY2hfb25saW5lX2NwdShqKQogCQkJc2VxX3ByaW50ZihwLCAiJTEwdSAiLAogCQkJCXBlcl9jcHUoaXJxX3N0YXQsaikuaXJxX3RoZXJtYWxfY291bnQpOwogCQlzZXFfcHJpbnRmKHAsICIgIFRoZXJtYWwgZXZlbnQgaW50ZXJydXB0c1xuIik7CisjZW5kaWYKKyNpZmRlZiBDT05GSUdfWDg2X0xPQ0FMX0FQSUMKIAkJc2VxX3ByaW50ZihwLCAiU1BVOiAiKTsKIAkJZm9yX2VhY2hfb25saW5lX2NwdShqKQogCQkJc2VxX3ByaW50ZihwLCAiJTEwdSAiLAogCQkJCXBlcl9jcHUoaXJxX3N0YXQsaikuaXJxX3NwdXJpb3VzX2NvdW50KTsKIAkJc2VxX3ByaW50ZihwLCAiICBTcHVyaW91cyBpbnRlcnJ1cHRzXG4iKTsKKyNlbmRpZgogCQlzZXFfcHJpbnRmKHAsICJFUlI6ICUxMHVcbiIsIGF0b21pY19yZWFkKCZpcnFfZXJyX2NvdW50KSk7CiAjaWYgZGVmaW5lZChDT05GSUdfWDg2X0lPX0FQSUMpCiAJCXNlcV9wcmludGYocCwgIk1JUzogJTEwdVxuIiwgYXRvbWljX3JlYWQoJmlycV9taXNfY291bnQpKTsKQEAgLTMzMSw2ICszNTcsNDAgQEAKIAlyZXR1cm4gMDsKIH0KIAorLyoKKyAqIC9wcm9jL3N0YXQgaGVscGVycworICovCit1NjQgYXJjaF9pcnFfc3RhdF9jcHUodW5zaWduZWQgaW50IGNwdSkKK3sKKwl1NjQgc3VtID0gbm1pX2NvdW50KGNwdSk7CisKKyNpZmRlZiBDT05GSUdfWDg2X0xPQ0FMX0FQSUMKKwlzdW0gKz0gcGVyX2NwdShpcnFfc3RhdCwgY3B1KS5hcGljX3RpbWVyX2lycXM7CisjZW5kaWYKKyNpZmRlZiBDT05GSUdfU01QCisJc3VtICs9IHBlcl9jcHUoaXJxX3N0YXQsIGNwdSkuaXJxX3Jlc2NoZWRfY291bnQ7CisJc3VtICs9IHBlcl9jcHUoaXJxX3N0YXQsIGNwdSkuaXJxX2NhbGxfY291bnQ7CisJc3VtICs9IHBlcl9jcHUoaXJxX3N0YXQsIGNwdSkuaXJxX3RsYl9jb3VudDsKKyNlbmRpZgorI2lmZGVmIENPTkZJR19YODZfTUNFCisJc3VtICs9IHBlcl9jcHUoaXJxX3N0YXQsIGNwdSkuaXJxX3RoZXJtYWxfY291bnQ7CisjZW5kaWYKKyNpZmRlZiBDT05GSUdfWDg2X0xPQ0FMX0FQSUMKKwlzdW0gKz0gcGVyX2NwdShpcnFfc3RhdCwgY3B1KS5pcnFfc3B1cmlvdXNfY291bnQ7CisjZW5kaWYKKwlyZXR1cm4gc3VtOworfQorCit1NjQgYXJjaF9pcnFfc3RhdCh2b2lkKQoreworCXU2NCBzdW0gPSBhdG9taWNfcmVhZCgmaXJxX2Vycl9jb3VudCk7CisKKyNpZmRlZiBDT05GSUdfWDg2X0lPX0FQSUMKKwlzdW0gKz0gYXRvbWljX3JlYWQoJmlycV9taXNfY291bnQpOworI2VuZGlmCisJcmV0dXJuIHN1bTsKK30KKwogI2lmZGVmIENPTkZJR19IT1RQTFVHX0NQVQogI2luY2x1ZGUgPG1hY2hfYXBpYy5oPgogCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvaXJxXzY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvaXJxXzY0LmMKaW5kZXggM2FhYzE1NC4uMWY3OGIyMyAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2lycV82NC5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9pcnFfNjQuYwpAQCAtMTM1LDYgKzEzNSw3IEBACiAJCQlzZXFfcHJpbnRmKHAsICIlMTB1ICIsIGNwdV9wZGEoaiktPmlycV90bGJfY291bnQpOwogCQlzZXFfcHJpbnRmKHAsICIgIFRMQiBzaG9vdGRvd25zXG4iKTsKICNlbmRpZgorI2lmZGVmIENPTkZJR19YODZfTUNFCiAJCXNlcV9wcmludGYocCwgIlRSTTogIik7CiAJCWZvcl9lYWNoX29ubGluZV9jcHUoaikKIAkJCXNlcV9wcmludGYocCwgIiUxMHUgIiwgY3B1X3BkYShqKS0+aXJxX3RoZXJtYWxfY291bnQpOwpAQCAtMTQzLDYgKzE0NCw3IEBACiAJCWZvcl9lYWNoX29ubGluZV9jcHUoaikKIAkJCXNlcV9wcmludGYocCwgIiUxMHUgIiwgY3B1X3BkYShqKS0+aXJxX3RocmVzaG9sZF9jb3VudCk7CiAJCXNlcV9wcmludGYocCwgIiAgVGhyZXNob2xkIEFQSUMgaW50ZXJydXB0c1xuIik7CisjZW5kaWYKIAkJc2VxX3ByaW50ZihwLCAiU1BVOiAiKTsKIAkJZm9yX2VhY2hfb25saW5lX2NwdShqKQogCQkJc2VxX3ByaW50ZihwLCAiJTEwdSAiLCBjcHVfcGRhKGopLT5pcnFfc3B1cmlvdXNfY291bnQpOwpAQCAtMTUzLDYgKzE1NSwzMiBAQAogfQogCiAvKgorICogL3Byb2Mvc3RhdCBoZWxwZXJzCisgKi8KK3U2NCBhcmNoX2lycV9zdGF0X2NwdSh1bnNpZ25lZCBpbnQgY3B1KQoreworCXU2NCBzdW0gPSBjcHVfcGRhKGNwdSktPl9fbm1pX2NvdW50OworCisJc3VtICs9IGNwdV9wZGEoY3B1KS0+YXBpY190aW1lcl9pcnFzOworI2lmZGVmIENPTkZJR19TTVAKKwlzdW0gKz0gY3B1X3BkYShjcHUpLT5pcnFfcmVzY2hlZF9jb3VudDsKKwlzdW0gKz0gY3B1X3BkYShjcHUpLT5pcnFfY2FsbF9jb3VudDsKKwlzdW0gKz0gY3B1X3BkYShjcHUpLT5pcnFfdGxiX2NvdW50OworI2VuZGlmCisjaWZkZWYgQ09ORklHX1g4Nl9NQ0UKKwlzdW0gKz0gY3B1X3BkYShjcHUpLT5pcnFfdGhlcm1hbF9jb3VudDsKKwlzdW0gKz0gY3B1X3BkYShjcHUpLT5pcnFfdGhyZXNob2xkX2NvdW50OworI2VuZGlmCisJc3VtICs9IGNwdV9wZGEoY3B1KS0+aXJxX3NwdXJpb3VzX2NvdW50OworCXJldHVybiBzdW07Cit9CisKK3U2NCBhcmNoX2lycV9zdGF0KHZvaWQpCit7CisJcmV0dXJuIGF0b21pY19yZWFkKCZpcnFfZXJyX2NvdW50KTsKK30KKworLyoKICAqIGRvX0lSUSBoYW5kbGVzIGFsbCBub3JtYWwgZGV2aWNlIElSUSdzICh0aGUgc3BlY2lhbAogICogU01QIGNyb3NzLUNQVSBpbnRlcnJ1cHRzIGhhdmUgdGhlaXIgb3duIHNwZWNpZmljCiAgKiBoYW5kbGVycykuCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvaXJxaW5pdF8zMi5jIGIvYXJjaC94ODYva2VybmVsL2lycWluaXRfMzIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNjY5MTQyCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC94ODYva2VybmVsL2lycWluaXRfMzIuYwpAQCAtMCwwICsxLDExNCBAQAorI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CisjaW5jbHVkZSA8bGludXgvc2lnbmFsLmg+CisjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KKyNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4KKyNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KKyNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CisjaW5jbHVkZSA8bGludXgvcmFuZG9tLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbF9zdGF0Lmg+CisjaW5jbHVkZSA8bGludXgvc3lzZGV2Lmg+CisjaW5jbHVkZSA8bGludXgvYml0b3BzLmg+CisKKyNpbmNsdWRlIDxhc20vYXRvbWljLmg+CisjaW5jbHVkZSA8YXNtL3N5c3RlbS5oPgorI2luY2x1ZGUgPGFzbS9pby5oPgorI2luY2x1ZGUgPGFzbS90aW1lci5oPgorI2luY2x1ZGUgPGFzbS9wZ3RhYmxlLmg+CisjaW5jbHVkZSA8YXNtL2RlbGF5Lmg+CisjaW5jbHVkZSA8YXNtL2Rlc2MuaD4KKyNpbmNsdWRlIDxhc20vYXBpYy5oPgorI2luY2x1ZGUgPGFzbS9hcmNoX2hvb2tzLmg+CisjaW5jbHVkZSA8YXNtL2k4MjU5Lmg+CisKKworCisvKgorICogTm90ZSB0aGF0IG9uIGEgNDg2LCB3ZSBkb24ndCB3YW50IHRvIGRvIGEgU0lHRlBFIG9uIGFuIGlycTEzCisgKiBhcyB0aGUgaXJxIGlzIHVucmVsaWFibGUsIGFuZCBleGNlcHRpb24gMTYgd29ya3MgY29ycmVjdGx5CisgKiAoaWUgYXMgZXhwbGFpbmVkIGluIHRoZSBpbnRlbCBsaXRlcmF0dXJlKS4gT24gYSAzODYsIHlvdQorICogY2FuJ3QgdXNlIGV4Y2VwdGlvbiAxNiBkdWUgdG8gYmFkIElCTSBkZXNpZ24sIHNvIHdlIGhhdmUgdG8KKyAqIHJlbHkgb24gdGhlIGxlc3MgZXhhY3QgaXJxMTMuCisgKgorICogQ2FyZWZ1bC4uIE5vdCBvbmx5IGlzIElSUTEzIHVucmVsaWFibGUsIGJ1dCBpdCBpcyBhbHNvCisgKiBsZWFkcyB0byByYWNlcy4gSUJNIGRlc2lnbmVycyB3aG8gY2FtZSB1cCB3aXRoIGl0IHNob3VsZAorICogYmUgc2hvdC4KKyAqLworIAorCitzdGF0aWMgaXJxcmV0dXJuX3QgbWF0aF9lcnJvcl9pcnEoaW50IGNwbCwgdm9pZCAqZGV2X2lkKQoreworCWV4dGVybiB2b2lkIG1hdGhfZXJyb3Iodm9pZCBfX3VzZXIgKik7CisJb3V0YigwLDB4RjApOworCWlmIChpZ25vcmVfZnB1X2lycSB8fCAhYm9vdF9jcHVfZGF0YS5oYXJkX21hdGgpCisJCXJldHVybiBJUlFfTk9ORTsKKwltYXRoX2Vycm9yKCh2b2lkIF9fdXNlciAqKWdldF9pcnFfcmVncygpLT5pcCk7CisJcmV0dXJuIElSUV9IQU5ETEVEOworfQorCisvKgorICogTmV3IG1vdGhlcmJvYXJkcyBzb21ldGltZXMgbWFrZSBJUlEgMTMgYmUgYSBQQ0kgaW50ZXJydXB0LAorICogc28gYWxsb3cgaW50ZXJydXB0IHNoYXJpbmcuCisgKi8KK3N0YXRpYyBzdHJ1Y3QgaXJxYWN0aW9uIGZwdV9pcnEgPSB7CisJLmhhbmRsZXIgPSBtYXRoX2Vycm9yX2lycSwKKwkubWFzayA9IENQVV9NQVNLX05PTkUsCisJLm5hbWUgPSAiZnB1IiwKK307CisKK3ZvaWQgX19pbml0IGluaXRfSVNBX2lycXMgKHZvaWQpCit7CisJaW50IGk7CisKKyNpZmRlZiBDT05GSUdfWDg2X0xPQ0FMX0FQSUMKKwlpbml0X2JzcF9BUElDKCk7CisjZW5kaWYKKwlpbml0XzgyNTlBKDApOworCisJLyoKKwkgKiAxNiBvbGQtc3R5bGUgSU5UQS1jeWNsZSBpbnRlcnJ1cHRzOgorCSAqLworCWZvciAoaSA9IDA7IGkgPCAxNjsgaSsrKSB7CisJCXNldF9pcnFfY2hpcF9hbmRfaGFuZGxlcl9uYW1lKGksICZpODI1OUFfY2hpcCwKKwkJCQkJICAgICAgaGFuZGxlX2xldmVsX2lycSwgIlhUIik7CisJfQorfQorCisvKiBPdmVycmlkZGVuIGluIHBhcmF2aXJ0LmMgKi8KK3ZvaWQgaW5pdF9JUlEodm9pZCkgX19hdHRyaWJ1dGVfXygod2VhaywgYWxpYXMoIm5hdGl2ZV9pbml0X0lSUSIpKSk7CisKK3ZvaWQgX19pbml0IG5hdGl2ZV9pbml0X0lSUSh2b2lkKQoreworCWludCBpOworCisJLyogYWxsIHRoZSBzZXQgdXAgYmVmb3JlIHRoZSBjYWxsIGdhdGVzIGFyZSBpbml0aWFsaXNlZCAqLworCXByZV9pbnRyX2luaXRfaG9vaygpOworCisJLyoKKwkgKiBDb3ZlciB0aGUgd2hvbGUgdmVjdG9yIHNwYWNlLCBubyB2ZWN0b3IgY2FuIGVzY2FwZQorCSAqIHVzLiAoc29tZSBvZiB0aGVzZSB3aWxsIGJlIG92ZXJyaWRkZW4gYW5kIGJlY29tZQorCSAqICdzcGVjaWFsJyBTTVAgaW50ZXJydXB0cykKKwkgKi8KKwlmb3IgKGkgPSAwOyBpIDwgKE5SX1ZFQ1RPUlMgLSBGSVJTVF9FWFRFUk5BTF9WRUNUT1IpOyBpKyspIHsKKwkJaW50IHZlY3RvciA9IEZJUlNUX0VYVEVSTkFMX1ZFQ1RPUiArIGk7CisJCWlmIChpID49IE5SX0lSUVMpCisJCQlicmVhazsKKwkJLyogU1lTQ0FMTF9WRUNUT1Igd2FzIHJlc2VydmVkIGluIHRyYXBfaW5pdC4gKi8KKwkJaWYgKCF0ZXN0X2JpdCh2ZWN0b3IsIHVzZWRfdmVjdG9ycykpCisJCQlzZXRfaW50cl9nYXRlKHZlY3RvciwgaW50ZXJydXB0W2ldKTsKKwl9CisKKwkvKiBzZXR1cCBhZnRlciBjYWxsIGdhdGVzIGFyZSBpbml0aWFsaXNlZCAodXN1YWxseSBhZGQgaW4KKwkgKiB0aGUgYXJjaGl0ZWN0dXJlIHNwZWNpZmljIGdhdGVzKQorCSAqLworCWludHJfaW5pdF9ob29rKCk7CisKKwkvKgorCSAqIEV4dGVybmFsIEZQVT8gU2V0IHVwIGlycTEzIGlmIHNvLCBmb3IKKwkgKiBvcmlnaW5hbCBicmFpbmRhbWFnZWQgSUJNIEZFUlIgY291cGxpbmcuCisJICovCisJaWYgKGJvb3RfY3B1X2RhdGEuaGFyZF9tYXRoICYmICFjcHVfaGFzX2ZwdSkKKwkJc2V0dXBfaXJxKEZQVV9JUlEsICZmcHVfaXJxKTsKKworCWlycV9jdHhfaW5pdChzbXBfcHJvY2Vzc29yX2lkKCkpOworfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2lycWluaXRfNjQuYyBiL2FyY2gveDg2L2tlcm5lbC9pcnFpbml0XzY0LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDM3M2U4OAotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gveDg2L2tlcm5lbC9pcnFpbml0XzY0LmMKQEAgLTAsMCArMSwyMjEgQEAKKyNpbmNsdWRlIDxsaW51eC9saW5rYWdlLmg+CisjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KKyNpbmNsdWRlIDxsaW51eC9zaWduYWwuaD4KKyNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgorI2luY2x1ZGUgPGxpbnV4L2lvcG9ydC5oPgorI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgorI2luY2x1ZGUgPGxpbnV4L3RpbWV4Lmg+CisjaW5jbHVkZSA8bGludXgvc2xhYi5oPgorI2luY2x1ZGUgPGxpbnV4L3JhbmRvbS5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9rZXJuZWxfc3RhdC5oPgorI2luY2x1ZGUgPGxpbnV4L3N5c2Rldi5oPgorI2luY2x1ZGUgPGxpbnV4L2JpdG9wcy5oPgorCisjaW5jbHVkZSA8YXNtL2FjcGkuaD4KKyNpbmNsdWRlIDxhc20vYXRvbWljLmg+CisjaW5jbHVkZSA8YXNtL3N5c3RlbS5oPgorI2luY2x1ZGUgPGFzbS9pby5oPgorI2luY2x1ZGUgPGFzbS9od19pcnEuaD4KKyNpbmNsdWRlIDxhc20vcGd0YWJsZS5oPgorI2luY2x1ZGUgPGFzbS9kZWxheS5oPgorI2luY2x1ZGUgPGFzbS9kZXNjLmg+CisjaW5jbHVkZSA8YXNtL2FwaWMuaD4KKyNpbmNsdWRlIDxhc20vaTgyNTkuaD4KKworLyoKKyAqIENvbW1vbiBwbGFjZSB0byBkZWZpbmUgYWxsIHg4NiBJUlEgdmVjdG9ycworICoKKyAqIFRoaXMgYnVpbGRzIHVwIHRoZSBJUlEgaGFuZGxlciBzdHVicyB1c2luZyBzb21lIHVnbHkgbWFjcm9zIGluIGlycS5oCisgKgorICogVGhlc2UgbWFjcm9zIGNyZWF0ZSB0aGUgbG93LWxldmVsIGFzc2VtYmx5IElSUSByb3V0aW5lcyB0aGF0IHNhdmUKKyAqIHJlZ2lzdGVyIGNvbnRleHQgYW5kIGNhbGwgZG9fSVJRKCkuIGRvX0lSUSgpIHRoZW4gZG9lcyBhbGwgdGhlCisgKiBvcGVyYXRpb25zIHRoYXQgYXJlIG5lZWRlZCB0byBrZWVwIHRoZSBBVCAob3IgU01QIElPQVBJQykKKyAqIGludGVycnVwdC1jb250cm9sbGVyIGhhcHB5LgorICovCisKKyNkZWZpbmUgSVJRX05BTUUyKG5yKSBuciMjX2ludGVycnVwdCh2b2lkKQorI2RlZmluZSBJUlFfTkFNRShucikgSVJRX05BTUUyKElSUSMjbnIpCisKKy8qCisgKglTTVAgaGFzIGEgZmV3IHNwZWNpYWwgaW50ZXJydXB0cyBmb3IgSVBJIG1lc3NhZ2VzCisgKi8KKworI2RlZmluZSBCVUlMRF9JUlEobnIpCQkJCVwKKwlhc21saW5rYWdlIHZvaWQgSVJRX05BTUUobnIpOwkJXAorCWFzbSgiXG4ucDJhbGlnblxuIgkJCVwKKwkgICAgIklSUSIgI25yICJfaW50ZXJydXB0OlxuXHQiCQlcCisJICAgICJwdXNoICR+KCIgI25yICIpIDsgIgkJXAorCSAgICAiam1wIGNvbW1vbl9pbnRlcnJ1cHQiKTsKKworI2RlZmluZSBCSSh4LHkpIFwKKwlCVUlMRF9JUlEoeCMjeSkKKworI2RlZmluZSBCVUlMRF8xNl9JUlFTKHgpIFwKKwlCSSh4LDApIEJJKHgsMSkgQkkoeCwyKSBCSSh4LDMpIFwKKwlCSSh4LDQpIEJJKHgsNSkgQkkoeCw2KSBCSSh4LDcpIFwKKwlCSSh4LDgpIEJJKHgsOSkgQkkoeCxhKSBCSSh4LGIpIFwKKwlCSSh4LGMpIEJJKHgsZCkgQkkoeCxlKSBCSSh4LGYpCisKKy8qCisgKiBJU0EgUElDIG9yIGxvdyBJTy1BUElDIHRyaWdnZXJlZCAoSU5UQS1jeWNsZSBvciBBUElDKSBpbnRlcnJ1cHRzOgorICogKHRoZXNlIGFyZSB1c3VhbGx5IG1hcHBlZCB0byB2ZWN0b3JzIDB4MzAtMHgzZikKKyAqLworCisvKgorICogVGhlIElPLUFQSUMgZ2l2ZXMgdXMgbWFueSBtb3JlIGludGVycnVwdCBzb3VyY2VzLiBNb3N0IG9mIHRoZXNlCisgKiBhcmUgdW51c2VkIGJ1dCBhbiBTTVAgc3lzdGVtIGlzIHN1cHBvc2VkIHRvIGhhdmUgZW5vdWdoIG1lbW9yeSAuLi4KKyAqIHNvbWV0aW1lcyAobW9zdGx5IHdydC4gaHcgYnVncykgd2UgZ2V0IGNvcnJ1cHRlZCB2ZWN0b3JzIGFsbAorICogYWNyb3NzIHRoZSBzcGVjdHJ1bSwgc28gd2UgcmVhbGx5IHdhbnQgdG8gYmUgcHJlcGFyZWQgdG8gZ2V0IGFsbAorICogb2YgdGhlc2UuIFBsdXMsIG1vcmUgcG93ZXJmdWwgc3lzdGVtcyBtaWdodCBoYXZlIG1vcmUgdGhhbiA2NAorICogSU8tQVBJQyByZWdpc3RlcnMuCisgKgorICogKHRoZXNlIGFyZSB1c3VhbGx5IG1hcHBlZCBpbnRvIHRoZSAweDMwLTB4ZmYgdmVjdG9yIHJhbmdlKQorICovCisJCQkJICAgICAgQlVJTERfMTZfSVJRUygweDIpIEJVSUxEXzE2X0lSUVMoMHgzKQorQlVJTERfMTZfSVJRUygweDQpIEJVSUxEXzE2X0lSUVMoMHg1KSBCVUlMRF8xNl9JUlFTKDB4NikgQlVJTERfMTZfSVJRUygweDcpCitCVUlMRF8xNl9JUlFTKDB4OCkgQlVJTERfMTZfSVJRUygweDkpIEJVSUxEXzE2X0lSUVMoMHhhKSBCVUlMRF8xNl9JUlFTKDB4YikKK0JVSUxEXzE2X0lSUVMoMHhjKSBCVUlMRF8xNl9JUlFTKDB4ZCkgQlVJTERfMTZfSVJRUygweGUpIEJVSUxEXzE2X0lSUVMoMHhmKQorCisjdW5kZWYgQlVJTERfMTZfSVJRUworI3VuZGVmIEJJCisKKworI2RlZmluZSBJUlEoeCx5KSBcCisJSVJRIyN4IyN5IyNfaW50ZXJydXB0CisKKyNkZWZpbmUgSVJRTElTVF8xNih4KSBcCisJSVJRKHgsMCksIElSUSh4LDEpLCBJUlEoeCwyKSwgSVJRKHgsMyksIFwKKwlJUlEoeCw0KSwgSVJRKHgsNSksIElSUSh4LDYpLCBJUlEoeCw3KSwgXAorCUlSUSh4LDgpLCBJUlEoeCw5KSwgSVJRKHgsYSksIElSUSh4LGIpLCBcCisJSVJRKHgsYyksIElSUSh4LGQpLCBJUlEoeCxlKSwgSVJRKHgsZikKKworLyogZm9yIHRoZSBpcnEgdmVjdG9ycyAqLworc3RhdGljIHZvaWQgKCpfX2luaXRkYXRhIGludGVycnVwdFtOUl9WRUNUT1JTIC0gRklSU1RfRVhURVJOQUxfVkVDVE9SXSkodm9pZCkgPSB7CisJCQkJCSAgSVJRTElTVF8xNigweDIpLCBJUlFMSVNUXzE2KDB4MyksCisJSVJRTElTVF8xNigweDQpLCBJUlFMSVNUXzE2KDB4NSksIElSUUxJU1RfMTYoMHg2KSwgSVJRTElTVF8xNigweDcpLAorCUlSUUxJU1RfMTYoMHg4KSwgSVJRTElTVF8xNigweDkpLCBJUlFMSVNUXzE2KDB4YSksIElSUUxJU1RfMTYoMHhiKSwKKwlJUlFMSVNUXzE2KDB4YyksIElSUUxJU1RfMTYoMHhkKSwgSVJRTElTVF8xNigweGUpLCBJUlFMSVNUXzE2KDB4ZikKK307CisKKyN1bmRlZiBJUlEKKyN1bmRlZiBJUlFMSVNUXzE2CisKKworCisKKy8qCisgKiBJUlEyIGlzIGNhc2NhZGUgaW50ZXJydXB0IHRvIHNlY29uZCBpbnRlcnJ1cHQgY29udHJvbGxlcgorICovCisKK3N0YXRpYyBzdHJ1Y3QgaXJxYWN0aW9uIGlycTIgPSB7CisJLmhhbmRsZXIgPSBub19hY3Rpb24sCisJLm1hc2sgPSBDUFVfTUFTS19OT05FLAorCS5uYW1lID0gImNhc2NhZGUiLAorfTsKK0RFRklORV9QRVJfQ1BVKHZlY3Rvcl9pcnFfdCwgdmVjdG9yX2lycSkgPSB7CisJWzAgLi4uIElSUTBfVkVDVE9SIC0gMV0gPSAtMSwKKwlbSVJRMF9WRUNUT1JdID0gMCwKKwlbSVJRMV9WRUNUT1JdID0gMSwKKwlbSVJRMl9WRUNUT1JdID0gMiwKKwlbSVJRM19WRUNUT1JdID0gMywKKwlbSVJRNF9WRUNUT1JdID0gNCwKKwlbSVJRNV9WRUNUT1JdID0gNSwKKwlbSVJRNl9WRUNUT1JdID0gNiwKKwlbSVJRN19WRUNUT1JdID0gNywKKwlbSVJROF9WRUNUT1JdID0gOCwKKwlbSVJROV9WRUNUT1JdID0gOSwKKwlbSVJRMTBfVkVDVE9SXSA9IDEwLAorCVtJUlExMV9WRUNUT1JdID0gMTEsCisJW0lSUTEyX1ZFQ1RPUl0gPSAxMiwKKwlbSVJRMTNfVkVDVE9SXSA9IDEzLAorCVtJUlExNF9WRUNUT1JdID0gMTQsCisJW0lSUTE1X1ZFQ1RPUl0gPSAxNSwKKwlbSVJRMTVfVkVDVE9SICsgMSAuLi4gTlJfVkVDVE9SUyAtIDFdID0gLTEKK307CisKK3N0YXRpYyB2b2lkIF9faW5pdCBpbml0X0lTQV9pcnFzICh2b2lkKQoreworCWludCBpOworCisJaW5pdF9ic3BfQVBJQygpOworCWluaXRfODI1OUEoMCk7CisKKwlmb3IgKGkgPSAwOyBpIDwgTlJfSVJRUzsgaSsrKSB7CisJCWlycV9kZXNjW2ldLnN0YXR1cyA9IElSUV9ESVNBQkxFRDsKKwkJaXJxX2Rlc2NbaV0uYWN0aW9uID0gTlVMTDsKKwkJaXJxX2Rlc2NbaV0uZGVwdGggPSAxOworCisJCWlmIChpIDwgMTYpIHsKKwkJCS8qCisJCQkgKiAxNiBvbGQtc3R5bGUgSU5UQS1jeWNsZSBpbnRlcnJ1cHRzOgorCQkJICovCisJCQlzZXRfaXJxX2NoaXBfYW5kX2hhbmRsZXJfbmFtZShpLCAmaTgyNTlBX2NoaXAsCisJCQkJCQkgICAgICBoYW5kbGVfbGV2ZWxfaXJxLCAiWFQiKTsKKwkJfSBlbHNlIHsKKwkJCS8qCisJCQkgKiAnaGlnaCcgUENJIElSUXMgZmlsbGVkIGluIG9uIGRlbWFuZAorCQkJICovCisJCQlpcnFfZGVzY1tpXS5jaGlwID0gJm5vX2lycV9jaGlwOworCQl9CisJfQorfQorCit2b2lkIGluaXRfSVJRKHZvaWQpIF9fYXR0cmlidXRlX18oKHdlYWssIGFsaWFzKCJuYXRpdmVfaW5pdF9JUlEiKSkpOworCit2b2lkIF9faW5pdCBuYXRpdmVfaW5pdF9JUlEodm9pZCkKK3sKKwlpbnQgaTsKKworCWluaXRfSVNBX2lycXMoKTsKKwkvKgorCSAqIENvdmVyIHRoZSB3aG9sZSB2ZWN0b3Igc3BhY2UsIG5vIHZlY3RvciBjYW4gZXNjYXBlCisJICogdXMuIChzb21lIG9mIHRoZXNlIHdpbGwgYmUgb3ZlcnJpZGRlbiBhbmQgYmVjb21lCisJICogJ3NwZWNpYWwnIFNNUCBpbnRlcnJ1cHRzKQorCSAqLworCWZvciAoaSA9IDA7IGkgPCAoTlJfVkVDVE9SUyAtIEZJUlNUX0VYVEVSTkFMX1ZFQ1RPUik7IGkrKykgeworCQlpbnQgdmVjdG9yID0gRklSU1RfRVhURVJOQUxfVkVDVE9SICsgaTsKKwkJaWYgKHZlY3RvciAhPSBJQTMyX1NZU0NBTExfVkVDVE9SKQorCQkJc2V0X2ludHJfZ2F0ZSh2ZWN0b3IsIGludGVycnVwdFtpXSk7CisJfQorCisjaWZkZWYgQ09ORklHX1NNUAorCS8qCisJICogVGhlIHJlc2NoZWR1bGUgaW50ZXJydXB0IGlzIGEgQ1BVLXRvLUNQVSByZXNjaGVkdWxlLWhlbHBlcgorCSAqIElQSSwgZHJpdmVuIGJ5IHdha2V1cC4KKwkgKi8KKwlhbGxvY19pbnRyX2dhdGUoUkVTQ0hFRFVMRV9WRUNUT1IsIHJlc2NoZWR1bGVfaW50ZXJydXB0KTsKKworCS8qIElQSXMgZm9yIGludmFsaWRhdGlvbiAqLworCWFsbG9jX2ludHJfZ2F0ZShJTlZBTElEQVRFX1RMQl9WRUNUT1JfU1RBUlQrMCwgaW52YWxpZGF0ZV9pbnRlcnJ1cHQwKTsKKwlhbGxvY19pbnRyX2dhdGUoSU5WQUxJREFURV9UTEJfVkVDVE9SX1NUQVJUKzEsIGludmFsaWRhdGVfaW50ZXJydXB0MSk7CisJYWxsb2NfaW50cl9nYXRlKElOVkFMSURBVEVfVExCX1ZFQ1RPUl9TVEFSVCsyLCBpbnZhbGlkYXRlX2ludGVycnVwdDIpOworCWFsbG9jX2ludHJfZ2F0ZShJTlZBTElEQVRFX1RMQl9WRUNUT1JfU1RBUlQrMywgaW52YWxpZGF0ZV9pbnRlcnJ1cHQzKTsKKwlhbGxvY19pbnRyX2dhdGUoSU5WQUxJREFURV9UTEJfVkVDVE9SX1NUQVJUKzQsIGludmFsaWRhdGVfaW50ZXJydXB0NCk7CisJYWxsb2NfaW50cl9nYXRlKElOVkFMSURBVEVfVExCX1ZFQ1RPUl9TVEFSVCs1LCBpbnZhbGlkYXRlX2ludGVycnVwdDUpOworCWFsbG9jX2ludHJfZ2F0ZShJTlZBTElEQVRFX1RMQl9WRUNUT1JfU1RBUlQrNiwgaW52YWxpZGF0ZV9pbnRlcnJ1cHQ2KTsKKwlhbGxvY19pbnRyX2dhdGUoSU5WQUxJREFURV9UTEJfVkVDVE9SX1NUQVJUKzcsIGludmFsaWRhdGVfaW50ZXJydXB0Nyk7CisKKwkvKiBJUEkgZm9yIGdlbmVyaWMgZnVuY3Rpb24gY2FsbCAqLworCWFsbG9jX2ludHJfZ2F0ZShDQUxMX0ZVTkNUSU9OX1ZFQ1RPUiwgY2FsbF9mdW5jdGlvbl9pbnRlcnJ1cHQpOworCisJLyogSVBJIGZvciBnZW5lcmljIHNpbmdsZSBmdW5jdGlvbiBjYWxsICovCisJYWxsb2NfaW50cl9nYXRlKENBTExfRlVOQ1RJT05fU0lOR0xFX1ZFQ1RPUiwKKwkJCWNhbGxfZnVuY3Rpb25fc2luZ2xlX2ludGVycnVwdCk7CisKKwkvKiBMb3cgcHJpb3JpdHkgSVBJIHRvIGNsZWFudXAgYWZ0ZXIgbW92aW5nIGFuIGlycSAqLworCXNldF9pbnRyX2dhdGUoSVJRX01PVkVfQ0xFQU5VUF9WRUNUT1IsIGlycV9tb3ZlX2NsZWFudXBfaW50ZXJydXB0KTsKKyNlbmRpZgorCWFsbG9jX2ludHJfZ2F0ZShUSEVSTUFMX0FQSUNfVkVDVE9SLCB0aGVybWFsX2ludGVycnVwdCk7CisJYWxsb2NfaW50cl9nYXRlKFRIUkVTSE9MRF9BUElDX1ZFQ1RPUiwgdGhyZXNob2xkX2ludGVycnVwdCk7CisKKwkvKiBzZWxmIGdlbmVyYXRlZCBJUEkgZm9yIGxvY2FsIEFQSUMgdGltZXIgKi8KKwlhbGxvY19pbnRyX2dhdGUoTE9DQUxfVElNRVJfVkVDVE9SLCBhcGljX3RpbWVyX2ludGVycnVwdCk7CisKKwkvKiBJUEkgdmVjdG9ycyBmb3IgQVBJQyBzcHVyaW91cyBhbmQgZXJyb3IgaW50ZXJydXB0cyAqLworCWFsbG9jX2ludHJfZ2F0ZShTUFVSSU9VU19BUElDX1ZFQ1RPUiwgc3B1cmlvdXNfaW50ZXJydXB0KTsKKwlhbGxvY19pbnRyX2dhdGUoRVJST1JfQVBJQ19WRUNUT1IsIGVycm9yX2ludGVycnVwdCk7CisKKwlpZiAoIWFjcGlfaW9hcGljKQorCQlzZXR1cF9pcnEoMiwgJmlycTIpOworfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2xkdC5jIGIvYXJjaC94ODYva2VybmVsL2xkdC5jCmluZGV4IDAyMjRjMzYuLmE4NDQ5NTcgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9sZHQuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvbGR0LmMKQEAgLTIwLDkgKzIwLDkgQEAKICNpbmNsdWRlIDxhc20vbW11X2NvbnRleHQuaD4KIAogI2lmZGVmIENPTkZJR19TTVAKLXN0YXRpYyB2b2lkIGZsdXNoX2xkdCh2b2lkICpudWxsKQorc3RhdGljIHZvaWQgZmx1c2hfbGR0KHZvaWQgKmN1cnJlbnRfbW0pCiB7Ci0JaWYgKGN1cnJlbnQtPmFjdGl2ZV9tbSkKKwlpZiAoY3VycmVudC0+YWN0aXZlX21tID09IGN1cnJlbnRfbW0pCiAJCWxvYWRfTERUKCZjdXJyZW50LT5hY3RpdmVfbW0tPmNvbnRleHQpOwogfQogI2VuZGlmCkBAIC02OCw3ICs2OCw3IEBACiAJCWxvYWRfTERUKHBjKTsKIAkJbWFzayA9IGNwdW1hc2tfb2ZfY3B1KHNtcF9wcm9jZXNzb3JfaWQoKSk7CiAJCWlmICghY3B1c19lcXVhbChjdXJyZW50LT5tbS0+Y3B1X3ZtX21hc2ssIG1hc2spKQotCQkJc21wX2NhbGxfZnVuY3Rpb24oZmx1c2hfbGR0LCBOVUxMLCAxLCAxKTsKKwkJCXNtcF9jYWxsX2Z1bmN0aW9uKGZsdXNoX2xkdCwgY3VycmVudC0+bW0sIDEpOwogCQlwcmVlbXB0X2VuYWJsZSgpOwogI2Vsc2UKIAkJbG9hZF9MRFQocGMpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL21hY2hpbmVfa2V4ZWNfMzIuYyBiL2FyY2gveDg2L2tlcm5lbC9tYWNoaW5lX2tleGVjXzMyLmMKaW5kZXggZDBiMjM0Yy4uODg2NDIzMCAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL21hY2hpbmVfa2V4ZWNfMzIuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvbWFjaGluZV9rZXhlY18zMi5jCkBAIC0xMSw2ICsxMSw4IEBACiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvbnVtYS5oPgorI2luY2x1ZGUgPGxpbnV4L2Z0cmFjZS5oPgorCiAjaW5jbHVkZSA8YXNtL3BndGFibGUuaD4KICNpbmNsdWRlIDxhc20vcGdhbGxvYy5oPgogI2luY2x1ZGUgPGFzbS90bGJmbHVzaC5oPgpAQCAtMzksNyArNDEsNyBAQAogCWN1cmlkdC5hZGRyZXNzID0gKHVuc2lnbmVkIGxvbmcpbmV3aWR0OwogCiAJbG9hZF9pZHQoJmN1cmlkdCk7Ci19OworfQogCiAKIHN0YXRpYyB2b2lkIHNldF9nZHQodm9pZCAqbmV3Z2R0LCBfX3UxNiBsaW1pdCkKQEAgLTUxLDcgKzUzLDcgQEAKIAljdXJnZHQuYWRkcmVzcyA9ICh1bnNpZ25lZCBsb25nKW5ld2dkdDsKIAogCWxvYWRfZ2R0KCZjdXJnZHQpOwotfTsKK30KIAogc3RhdGljIHZvaWQgbG9hZF9zZWdtZW50cyh2b2lkKQogewpAQCAtMTA3LDYgKzEwOSw4IEBACiAJdW5zaWduZWQgbG9uZyBwYWdlX2xpc3RbUEFHRVNfTlJdOwogCXZvaWQgKmNvbnRyb2xfcGFnZTsKIAorCXRyYWNlcl9kaXNhYmxlKCk7CisKIAkvKiBJbnRlcnJ1cHRzIGFyZW4ndCBhY2NlcHRhYmxlIHdoaWxlIHdlIHJlYm9vdCAqLwogCWxvY2FsX2lycV9kaXNhYmxlKCk7CiAKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9tYWNoaW5lX2tleGVjXzY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvbWFjaGluZV9rZXhlY182NC5jCmluZGV4IDU3NmEwM2QuLjlkZDkyNjIgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9tYWNoaW5lX2tleGVjXzY0LmMKKysrIGIvYXJjaC94ODYva2VybmVsL21hY2hpbmVfa2V4ZWNfNjQuYwpAQCAtMTEsNiArMTEsOCBAQAogI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgogI2luY2x1ZGUgPGxpbnV4L3JlYm9vdC5oPgogI2luY2x1ZGUgPGxpbnV4L251bWEuaD4KKyNpbmNsdWRlIDxsaW51eC9mdHJhY2UuaD4KKwogI2luY2x1ZGUgPGFzbS9wZ3RhYmxlLmg+CiAjaW5jbHVkZSA8YXNtL3RsYmZsdXNoLmg+CiAjaW5jbHVkZSA8YXNtL21tdV9jb250ZXh0Lmg+CkBAIC0xMTAsNyArMTEyLDcgQEAKIHsKIAlwZ2RfdCAqbGV2ZWw0cDsKIAlsZXZlbDRwID0gKHBnZF90ICopX192YShzdGFydF9wZ3RhYmxlKTsKLSAJcmV0dXJuIGluaXRfbGV2ZWw0X3BhZ2UoaW1hZ2UsIGxldmVsNHAsIDAsIGVuZF9wZm4gPDwgUEFHRV9TSElGVCk7CisJcmV0dXJuIGluaXRfbGV2ZWw0X3BhZ2UoaW1hZ2UsIGxldmVsNHAsIDAsIG1heF9wZm4gPDwgUEFHRV9TSElGVCk7CiB9CiAKIHN0YXRpYyB2b2lkIHNldF9pZHQodm9pZCAqbmV3aWR0LCB1MTYgbGltaXQpCkBAIC0xODQsNiArMTg2LDggQEAKIAl1bnNpZ25lZCBsb25nIHBhZ2VfbGlzdFtQQUdFU19OUl07CiAJdm9pZCAqY29udHJvbF9wYWdlOwogCisJdHJhY2VyX2Rpc2FibGUoKTsKKwogCS8qIEludGVycnVwdHMgYXJlbid0IGFjY2VwdGFibGUgd2hpbGUgd2UgcmVib290ICovCiAJbG9jYWxfaXJxX2Rpc2FibGUoKTsKIApkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL21pY3JvY29kZS5jIGIvYXJjaC94ODYva2VybmVsL21pY3JvY29kZS5jCmluZGV4IDY5NzI5ZTMuLjU2YjkzMzEgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9taWNyb2NvZGUuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvbWljcm9jb2RlLmMKQEAgLTUsMTMgKzUsMTQgQEAKICAqCQkgICAgICAyMDA2CVNoYW9odWEgTGkgPHNoYW9odWEubGlAaW50ZWwuY29tPgogICoKICAqCVRoaXMgZHJpdmVyIGFsbG93cyB0byB1cGdyYWRlIG1pY3JvY29kZSBvbiBJbnRlbCBwcm9jZXNzb3JzCi0gKgliZWxvbmdpbmcgdG8gSUEtMzIgZmFtaWx5IC0gUGVudGl1bVBybywgUGVudGl1bSBJSSwgCisgKgliZWxvbmdpbmcgdG8gSUEtMzIgZmFtaWx5IC0gUGVudGl1bVBybywgUGVudGl1bSBJSSwKICAqCVBlbnRpdW0gSUlJLCBYZW9uLCBQZW50aXVtIDQsIGV0Yy4KICAqCi0gKglSZWZlcmVuY2U6IFNlY3Rpb24gOC4xMCBvZiBWb2x1bWUgSUlJLCBJbnRlbCBQZW50aXVtIDQgTWFudWFsLCAKLSAqCU9yZGVyIE51bWJlciAyNDU0NzIgb3IgZnJlZSBkb3dubG9hZCBmcm9tOgotICoJCQotICoJaHR0cDovL2RldmVsb3Blci5pbnRlbC5jb20vZGVzaWduL3BlbnRpdW00L21hbnVhbHMvMjQ1NDcyLmh0bQorICoJUmVmZXJlbmNlOiBTZWN0aW9uIDguMTEgb2YgVm9sdW1lIDNhLCBJQS0zMiBJbnRlbD8gQXJjaGl0ZWN0dXJlCisgKglTb2Z0d2FyZSBEZXZlbG9wZXIncyBNYW51YWwKKyAqCU9yZGVyIE51bWJlciAyNTM2Njggb3IgZnJlZSBkb3dubG9hZCBmcm9tOgorICoKKyAqCWh0dHA6Ly9kZXZlbG9wZXIuaW50ZWwuY29tL2Rlc2lnbi9wZW50aXVtNC9tYW51YWxzLzI1MzY2OC5odG0KICAqCiAgKglGb3IgbW9yZSBpbmZvcm1hdGlvbiwgZ28gdG8gaHR0cDovL3d3dy51cmJhbm15dGgub3JnL21pY3JvY29kZQogICoKQEAgLTU4LDEyICs1OSwxMiBAQAogICoJCW5hdHVyZSBvZiBpbXBsZW1lbnRhdGlvbi4KICAqCTEuMTEJMjIgTWFyIDIwMDIgVGlncmFuIEFpdmF6aWFuIDx0aWdyYW5AdmVyaXRhcy5jb20+CiAgKgkJRml4IHRoZSBwYW5pYyB3aGVuIHdyaXRpbmcgemVyby1sZW5ndGggbWljcm9jb2RlIGNodW5rLgotICoJMS4xMgkyOSBTZXAgMjAwMyBOaXRpbiBLYW1ibGUgPG5pdGluLmEua2FtYmxlQGludGVsLmNvbT4sIAorICoJMS4xMgkyOSBTZXAgMjAwMyBOaXRpbiBLYW1ibGUgPG5pdGluLmEua2FtYmxlQGludGVsLmNvbT4sCiAgKgkJSnVuIE5ha2FqaW1hIDxqdW4ubmFrYWppbWFAaW50ZWwuY29tPgogICoJCVN1cHBvcnQgZm9yIHRoZSBtaWNyb2NvZGUgdXBkYXRlcyBpbiB0aGUgbmV3IGZvcm1hdC4KICAqCTEuMTMJMTAgT2N0IDIwMDMgVGlncmFuIEFpdmF6aWFuIDx0aWdyYW5AdmVyaXRhcy5jb20+CiAgKgkJUmVtb3ZlZCAtPnJlYWQoKSBtZXRob2QgYW5kIG9ic29sZXRlZCBNSUNST0NPREVfSU9DRlJFRSBpb2N0bAotICoJCWJlY2F1c2Ugd2Ugbm8gbG9uZ2VyIGhvbGQgYSBjb3B5IG9mIGFwcGxpZWQgbWljcm9jb2RlIAorICoJCWJlY2F1c2Ugd2Ugbm8gbG9uZ2VyIGhvbGQgYSBjb3B5IG9mIGFwcGxpZWQgbWljcm9jb2RlCiAgKgkJaW4ga2VybmVsIG1lbW9yeS4KICAqCTEuMTQJMjUgSnVuIDIwMDQgVGlncmFuIEFpdmF6aWFuIDx0aWdyYW5AdmVyaXRhcy5jb20+CiAgKgkJRml4IHNpZ21hdGNoKCkgbWFjcm8gdG8gaGFuZGxlIG9sZCBDUFVzIHdpdGggcGYgPT0gMC4KQEAgLTc1LDYgKzc2LDcgQEAKICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L2NwdW1hc2suaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CkBAIC0zMjAsMTEgKzMyMiwxMSBAQAogCQlyZXR1cm47CiAKIAkvKiBzZXJpYWxpemUgYWNjZXNzIHRvIHRoZSBwaHlzaWNhbCB3cml0ZSB0byBNU1IgMHg3OSAqLwotCXNwaW5fbG9ja19pcnFzYXZlKCZtaWNyb2NvZGVfdXBkYXRlX2xvY2ssIGZsYWdzKTsgICAgICAgICAgCisJc3Bpbl9sb2NrX2lycXNhdmUoJm1pY3JvY29kZV91cGRhdGVfbG9jaywgZmxhZ3MpOwogCiAJLyogd3JpdGUgbWljcm9jb2RlIHZpYSBNU1IgMHg3OSAqLwogCXdybXNyKE1TUl9JQTMyX1VDT0RFX1dSSVRFLAotCQkodW5zaWduZWQgbG9uZykgdWNpLT5tYy0+Yml0cywgCisJCSh1bnNpZ25lZCBsb25nKSB1Y2ktPm1jLT5iaXRzLAogCQkodW5zaWduZWQgbG9uZykgdWNpLT5tYy0+Yml0cyA+PiAxNiA+PiAxNik7CiAJd3Jtc3IoTVNSX0lBMzJfVUNPREVfUkVWLCAwLCAwKTsKIApAQCAtMzQxLDcgKzM0Myw3IEBACiAJCXJldHVybjsKIAl9CiAJcHJpbnRrKEtFUk5fSU5GTyAibWljcm9jb2RlOiBDUFUlZCB1cGRhdGVkIGZyb20gcmV2aXNpb24gIgotCSAgICAgICAiMHgleCB0byAweCV4LCBkYXRlID0gJTA4eCBcbiIsIAorCSAgICAgICAiMHgleCB0byAweCV4LCBkYXRlID0gJTA4eCBcbiIsCiAJICAgICAgIGNwdV9udW0sIHVjaS0+cmV2LCB2YWxbMV0sIHVjaS0+bWMtPmhkci5kYXRlKTsKIAl1Y2ktPnJldiA9IHZhbFsxXTsKIH0KQEAgLTQyMiw2ICs0MjQsNyBAQAogCiBzdGF0aWMgaW50IG1pY3JvY29kZV9vcGVuIChzdHJ1Y3QgaW5vZGUgKnVudXNlZDEsIHN0cnVjdCBmaWxlICp1bnVzZWQyKQogeworCWN5Y2xlX2tlcm5lbF9sb2NrKCk7CiAJcmV0dXJuIGNhcGFibGUoQ0FQX1NZU19SQVdJTykgPyAwIDogLUVQRVJNOwogfQogCkBAIC00ODgsNyArNDkxLDcgQEAKICNkZWZpbmUgbWljcm9jb2RlX2Rldl9leGl0KCkgZG8geyB9IHdoaWxlKDApCiAjZW5kaWYKIAotc3RhdGljIGxvbmcgZ2V0X25leHRfdWNvZGVfZnJvbV9idWZmZXIodm9pZCAqKm1jLCB2b2lkICpidWYsCitzdGF0aWMgbG9uZyBnZXRfbmV4dF91Y29kZV9mcm9tX2J1ZmZlcih2b2lkICoqbWMsIGNvbnN0IHU4ICpidWYsCiAJdW5zaWduZWQgbG9uZyBzaXplLCBsb25nIG9mZnNldCkKIHsKIAltaWNyb2NvZGVfaGVhZGVyX3QgKm1jX2hlYWRlcjsKQEAgLTUyMiw3ICs1MjUsNyBAQAogCWNoYXIgbmFtZVszMF07CiAJc3RydWN0IGNwdWluZm9feDg2ICpjID0gJmNwdV9kYXRhKGNwdSk7CiAJY29uc3Qgc3RydWN0IGZpcm13YXJlICpmaXJtd2FyZTsKLQl2b2lkICpidWY7CisJY29uc3QgdTggKmJ1ZjsKIAl1bnNpZ25lZCBsb25nIHNpemU7CiAJbG9uZyBvZmZzZXQgPSAwOwogCWludCBlcnJvcjsKQEAgLTUzNCw3ICs1MzcsNyBAQAogCQljLT54ODYsIGMtPng4Nl9tb2RlbCwgYy0+eDg2X21hc2spOwogCWVycm9yID0gcmVxdWVzdF9maXJtd2FyZSgmZmlybXdhcmUsIG5hbWUsICZtaWNyb2NvZGVfcGRldi0+ZGV2KTsKIAlpZiAoZXJyb3IpIHsKLQkJcHJfZGVidWcoIm1pY3JvY29kZTogdWNvZGUgZGF0YSBmaWxlICVzIGxvYWQgZmFpbGVkXG4iLCBuYW1lKTsKKwkJcHJfZGVidWcoIm1pY3JvY29kZTogZGF0YSBmaWxlICVzIGxvYWQgZmFpbGVkXG4iLCBuYW1lKTsKIAkJcmV0dXJuIGVycm9yOwogCX0KIAlidWYgPSBmaXJtd2FyZS0+ZGF0YTsKQEAgLTgwNSw2ICs4MDgsOSBAQAogewogCWludCBlcnJvcjsKIAorCXByaW50ayhLRVJOX0lORk8KKwkJIklBLTMyIE1pY3JvY29kZSBVcGRhdGUgRHJpdmVyOiB2IiBNSUNST0NPREVfVkVSU0lPTiAiIDx0aWdyYW5AYWl2YXppYW4uZnNuZXQuY28udWs+XG4iKTsKKwogCWVycm9yID0gbWljcm9jb2RlX2Rldl9pbml0KCk7CiAJaWYgKGVycm9yKQogCQlyZXR1cm4gZXJyb3I7CkBAIC04MjUsOSArODMxLDYgQEAKIAl9CiAKIAlyZWdpc3Rlcl9ob3RjcHVfbm90aWZpZXIoJm1jX2NwdV9ub3RpZmllcik7Ci0KLQlwcmludGsoS0VSTl9JTkZPIAotCQkiSUEtMzIgTWljcm9jb2RlIFVwZGF0ZSBEcml2ZXI6IHYiIE1JQ1JPQ09ERV9WRVJTSU9OICIgPHRpZ3JhbkBhaXZhemlhbi5mc25ldC5jby51az5cbiIpOwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvbW1jb25mLWZhbTEwaF82NC5jIGIvYXJjaC94ODYva2VybmVsL21tY29uZi1mYW0xMGhfNjQuYwppbmRleCBlZGM1ZmJmLi5mZGZkYzU1IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvbW1jb25mLWZhbTEwaF82NC5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9tbWNvbmYtZmFtMTBoXzY0LmMKQEAgLTEyLDYgKzEyLDcgQEAKICNpbmNsdWRlIDxhc20vaW8uaD4KICNpbmNsdWRlIDxhc20vbXNyLmg+CiAjaW5jbHVkZSA8YXNtL2FjcGkuaD4KKyNpbmNsdWRlIDxhc20vbW1jb25maWcuaD4KIAogI2luY2x1ZGUgIi4uL3BjaS9wY2kuaCIKIApkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL21wcGFyc2UuYyBiL2FyY2gveDg2L2tlcm5lbC9tcHBhcnNlLmMKaW5kZXggNDA0NjgzYi4uM2IyNWU0OSAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL21wcGFyc2UuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvbXBwYXJzZS5jCkBAIC0yNSw2ICsyNSw4IEBACiAjaW5jbHVkZSA8YXNtL3Byb3RvLmg+CiAjaW5jbHVkZSA8YXNtL2FjcGkuaD4KICNpbmNsdWRlIDxhc20vYmlvc19lYmRhLmg+CisjaW5jbHVkZSA8YXNtL2U4MjAuaD4KKyNpbmNsdWRlIDxhc20vdHJhbXBvbGluZS5oPgogCiAjaW5jbHVkZSA8bWFjaF9hcGljLmg+CiAjaWZkZWYgQ09ORklHX1g4Nl8zMgpAQCAtMzIsMjggKzM0LDYgQEAKICNpbmNsdWRlIDxtYWNoX21wcGFyc2UuaD4KICNlbmRpZgogCi0vKiBIYXZlIHdlIGZvdW5kIGFuIE1QIHRhYmxlICovCi1pbnQgc21wX2ZvdW5kX2NvbmZpZzsKLQotLyoKLSAqIFZhcmlvdXMgTGludXgtaW50ZXJuYWwgZGF0YSBzdHJ1Y3R1cmVzIGNyZWF0ZWQgZnJvbSB0aGUKLSAqIE1QLXRhYmxlLgotICovCi0jaWYgZGVmaW5lZCAoQ09ORklHX01DQSkgfHwgZGVmaW5lZCAoQ09ORklHX0VJU0EpCi1pbnQgbXBfYnVzX2lkX3RvX3R5cGVbTUFYX01QX0JVU1NFU107Ci0jZW5kaWYKLQotREVDTEFSRV9CSVRNQVAobXBfYnVzX25vdF9wY2ksIE1BWF9NUF9CVVNTRVMpOwotaW50IG1wX2J1c19pZF90b19wY2lfYnVzW01BWF9NUF9CVVNTRVNdID0ge1swIC4uLiBNQVhfTVBfQlVTU0VTIC0gMV0gPSAtMSB9OwotCi1zdGF0aWMgaW50IG1wX2N1cnJlbnRfcGNpX2lkOwotCi1pbnQgcGljX21vZGU7Ci0KLS8qCi0gKiBJbnRlbCBNUCBCSU9TIHRhYmxlIHBhcnNpbmcgcm91dGluZXM6Ci0gKi8KLQogLyoKICAqIENoZWNrc3VtIGFuIE1QIGNvbmZpZ3VyYXRpb24gYmxvY2suCiAgKi8KQEAgLTY5LDE1ICs0OSw3MyBAQAogfQogCiAjaWZkZWYgQ09ORklHX1g4Nl9OVU1BUQoraW50IGZvdW5kX251bWFxOwogLyoKICAqIEhhdmUgdG8gbWF0Y2ggdHJhbnNsYXRpb24gdGFibGUgZW50cmllcyB0byBtYWluIHRhYmxlIGVudHJpZXMgYnkgY291bnRlcgogICogaGVuY2UgdGhlIG1wY19yZWNvcmQgdmFyaWFibGUgLi4uLiBjYW4ndCBzZWUgYSBsZXNzIGRpc2d1c3Rpbmcgd2F5IG9mCiAgKiBkb2luZyB0aGlzIC4uLi4KICAqLworc3RydWN0IG1wY19jb25maWdfdHJhbnNsYXRpb24geworCXVuc2lnbmVkIGNoYXIgbXBjX3R5cGU7CisJdW5zaWduZWQgY2hhciB0cmFuc19sZW47CisJdW5zaWduZWQgY2hhciB0cmFuc190eXBlOworCXVuc2lnbmVkIGNoYXIgdHJhbnNfcXVhZDsKKwl1bnNpZ25lZCBjaGFyIHRyYW5zX2dsb2JhbDsKKwl1bnNpZ25lZCBjaGFyIHRyYW5zX2xvY2FsOworCXVuc2lnbmVkIHNob3J0IHRyYW5zX3Jlc2VydmVkOworfTsKKwogCiBzdGF0aWMgaW50IG1wY19yZWNvcmQ7CiBzdGF0aWMgc3RydWN0IG1wY19jb25maWdfdHJhbnNsYXRpb24gKnRyYW5zbGF0aW9uX3RhYmxlW01BWF9NUENfRU5UUlldCiAgICAgX19jcHVpbml0ZGF0YTsKKworc3RhdGljIGlubGluZSBpbnQgZ2VuZXJhdGVfbG9naWNhbF9hcGljaWQoaW50IHF1YWQsIGludCBwaHlzX2FwaWNpZCkKK3sKKwlyZXR1cm4gKHF1YWQgPDwgNCkgKyAocGh5c19hcGljaWQgPyBwaHlzX2FwaWNpZCA8PCAxIDogMSk7Cit9CisKKworc3RhdGljIGlubGluZSBpbnQgbXBjX2FwaWNfaWQoc3RydWN0IG1wY19jb25maWdfcHJvY2Vzc29yICptLAorCQkJc3RydWN0IG1wY19jb25maWdfdHJhbnNsYXRpb24gKnRyYW5zbGF0aW9uX3JlY29yZCkKK3sKKwlpbnQgcXVhZCA9IHRyYW5zbGF0aW9uX3JlY29yZC0+dHJhbnNfcXVhZDsKKwlpbnQgbG9naWNhbF9hcGljaWQgPSBnZW5lcmF0ZV9sb2dpY2FsX2FwaWNpZChxdWFkLCBtLT5tcGNfYXBpY2lkKTsKKworCXByaW50ayhLRVJOX0RFQlVHICJQcm9jZXNzb3IgIyVkICV1OiV1IEFQSUMgdmVyc2lvbiAlZCAocXVhZCAlZCwgYXBpYyAlZClcbiIsCisJICAgICAgIG0tPm1wY19hcGljaWQsCisJICAgICAgIChtLT5tcGNfY3B1ZmVhdHVyZSAmIENQVV9GQU1JTFlfTUFTSykgPj4gOCwKKwkgICAgICAgKG0tPm1wY19jcHVmZWF0dXJlICYgQ1BVX01PREVMX01BU0spID4+IDQsCisJICAgICAgIG0tPm1wY19hcGljdmVyLCBxdWFkLCBsb2dpY2FsX2FwaWNpZCk7CisJcmV0dXJuIGxvZ2ljYWxfYXBpY2lkOworfQorCitpbnQgbXBfYnVzX2lkX3RvX25vZGVbTUFYX01QX0JVU1NFU107CisKK2ludCBtcF9idXNfaWRfdG9fbG9jYWxbTUFYX01QX0JVU1NFU107CisKK3N0YXRpYyB2b2lkIG1wY19vZW1fYnVzX2luZm8oc3RydWN0IG1wY19jb25maWdfYnVzICptLCBjaGFyICpuYW1lLAorCXN0cnVjdCBtcGNfY29uZmlnX3RyYW5zbGF0aW9uICp0cmFuc2xhdGlvbikKK3sKKwlpbnQgcXVhZCA9IHRyYW5zbGF0aW9uLT50cmFuc19xdWFkOworCWludCBsb2NhbCA9IHRyYW5zbGF0aW9uLT50cmFuc19sb2NhbDsKKworCW1wX2J1c19pZF90b19ub2RlW20tPm1wY19idXNpZF0gPSBxdWFkOworCW1wX2J1c19pZF90b19sb2NhbFttLT5tcGNfYnVzaWRdID0gbG9jYWw7CisJcHJpbnRrKEtFUk5fSU5GTyAiQnVzICMlZCBpcyAlcyAobm9kZSAlZClcbiIsCisJICAgICAgIG0tPm1wY19idXNpZCwgbmFtZSwgcXVhZCk7Cit9CisKK2ludCBxdWFkX2xvY2FsX3RvX21wX2J1c19pZCBbTlJfQ1BVUy80XVs0XTsKK3N0YXRpYyB2b2lkIG1wY19vZW1fcGNpX2J1cyhzdHJ1Y3QgbXBjX2NvbmZpZ19idXMgKm0sCisJc3RydWN0IG1wY19jb25maWdfdHJhbnNsYXRpb24gKnRyYW5zbGF0aW9uKQoreworCWludCBxdWFkID0gdHJhbnNsYXRpb24tPnRyYW5zX3F1YWQ7CisJaW50IGxvY2FsID0gdHJhbnNsYXRpb24tPnRyYW5zX2xvY2FsOworCisJcXVhZF9sb2NhbF90b19tcF9idXNfaWRbcXVhZF1bbG9jYWxdID0gbS0+bXBjX2J1c2lkOworfQorCiAjZW5kaWYKIAogc3RhdGljIHZvaWQgX19jcHVpbml0IE1QX3Byb2Nlc3Nvcl9pbmZvKHN0cnVjdCBtcGNfY29uZmlnX3Byb2Nlc3NvciAqbSkKQEAgLTkwLDcgKzEyOCwxMCBAQAogCQlyZXR1cm47CiAJfQogI2lmZGVmIENPTkZJR19YODZfTlVNQVEKLQlhcGljaWQgPSBtcGNfYXBpY19pZChtLCB0cmFuc2xhdGlvbl90YWJsZVttcGNfcmVjb3JkXSk7CisJaWYgKGZvdW5kX251bWFxKQorCQlhcGljaWQgPSBtcGNfYXBpY19pZChtLCB0cmFuc2xhdGlvbl90YWJsZVttcGNfcmVjb3JkXSk7CisJZWxzZQorCQlhcGljaWQgPSBtLT5tcGNfYXBpY2lkOwogI2Vsc2UKIAlhcGljaWQgPSBtLT5tcGNfYXBpY2lkOwogI2VuZGlmCkBAIC0xMDMsMTcgKzE0NCwxOCBAQAogCWdlbmVyaWNfcHJvY2Vzc29yX2luZm8oYXBpY2lkLCBtLT5tcGNfYXBpY3Zlcik7CiB9CiAKKyNpZmRlZiBDT05GSUdfWDg2X0lPX0FQSUMKIHN0YXRpYyB2b2lkIF9faW5pdCBNUF9idXNfaW5mbyhzdHJ1Y3QgbXBjX2NvbmZpZ19idXMgKm0pCiB7CiAJY2hhciBzdHJbN107Ci0KIAltZW1jcHkoc3RyLCBtLT5tcGNfYnVzdHlwZSwgNik7CiAJc3RyWzZdID0gMDsKIAogI2lmZGVmIENPTkZJR19YODZfTlVNQVEKLQltcGNfb2VtX2J1c19pbmZvKG0sIHN0ciwgdHJhbnNsYXRpb25fdGFibGVbbXBjX3JlY29yZF0pOworCWlmIChmb3VuZF9udW1hcSkKKwkJbXBjX29lbV9idXNfaW5mbyhtLCBzdHIsIHRyYW5zbGF0aW9uX3RhYmxlW21wY19yZWNvcmRdKTsKICNlbHNlCi0JRHByaW50aygiQnVzICMlZCBpcyAlc1xuIiwgbS0+bXBjX2J1c2lkLCBzdHIpOworCXByaW50ayhLRVJOX0lORk8gIkJ1cyAjJWQgaXMgJXNcbiIsIG0tPm1wY19idXNpZCwgc3RyKTsKICNlbmRpZgogCiAjaWYgTUFYX01QX0JVU1NFUyA8IDI1NgpAQCAtMTMyLDExICsxNzQsMTAgQEAKICNlbmRpZgogCX0gZWxzZSBpZiAoc3RybmNtcChzdHIsIEJVU1RZUEVfUENJLCBzaXplb2YoQlVTVFlQRV9QQ0kpIC0gMSkgPT0gMCkgewogI2lmZGVmIENPTkZJR19YODZfTlVNQVEKLQkJbXBjX29lbV9wY2lfYnVzKG0sIHRyYW5zbGF0aW9uX3RhYmxlW21wY19yZWNvcmRdKTsKKwkJaWYgKGZvdW5kX251bWFxKQorCQkJbXBjX29lbV9wY2lfYnVzKG0sIHRyYW5zbGF0aW9uX3RhYmxlW21wY19yZWNvcmRdKTsKICNlbmRpZgogCQljbGVhcl9iaXQobS0+bXBjX2J1c2lkLCBtcF9idXNfbm90X3BjaSk7Ci0JCW1wX2J1c19pZF90b19wY2lfYnVzW20tPm1wY19idXNpZF0gPSBtcF9jdXJyZW50X3BjaV9pZDsKLQkJbXBfY3VycmVudF9wY2lfaWQrKzsKICNpZiBkZWZpbmVkKENPTkZJR19FSVNBKSB8fCBkZWZpbmVkIChDT05GSUdfTUNBKQogCQltcF9idXNfaWRfdG9fdHlwZVttLT5tcGNfYnVzaWRdID0gTVBfQlVTX1BDSTsKIAl9IGVsc2UgaWYgKHN0cm5jbXAoc3RyLCBCVVNUWVBFX0VJU0EsIHNpemVvZihCVVNUWVBFX0VJU0EpIC0gMSkgPT0gMCkgewpAQCAtMTQ3LDYgKzE4OCw3IEBACiAJfSBlbHNlCiAJCXByaW50ayhLRVJOX1dBUk5JTkcgIlVua25vd24gYnVzdHlwZSAlcyAtIGlnbm9yaW5nXG4iLCBzdHIpOwogfQorI2VuZGlmCiAKICNpZmRlZiBDT05GSUdfWDg2X0lPX0FQSUMKIApAQCAtMTc2LDE4ICsyMTgsODkgQEAKIAlpZiAoYmFkX2lvYXBpYyhtLT5tcGNfYXBpY2FkZHIpKQogCQlyZXR1cm47CiAKLQltcF9pb2FwaWNzW25yX2lvYXBpY3NdID0gKm07CisJbXBfaW9hcGljc1tucl9pb2FwaWNzXS5tcF9hcGljYWRkciA9IG0tPm1wY19hcGljYWRkcjsKKwltcF9pb2FwaWNzW25yX2lvYXBpY3NdLm1wX2FwaWNpZCA9IG0tPm1wY19hcGljaWQ7CisJbXBfaW9hcGljc1tucl9pb2FwaWNzXS5tcF90eXBlID0gbS0+bXBjX3R5cGU7CisJbXBfaW9hcGljc1tucl9pb2FwaWNzXS5tcF9hcGljdmVyID0gbS0+bXBjX2FwaWN2ZXI7CisJbXBfaW9hcGljc1tucl9pb2FwaWNzXS5tcF9mbGFncyA9IG0tPm1wY19mbGFnczsKIAlucl9pb2FwaWNzKys7CiB9CiAKLXN0YXRpYyB2b2lkIF9faW5pdCBNUF9pbnRzcmNfaW5mbyhzdHJ1Y3QgbXBjX2NvbmZpZ19pbnRzcmMgKm0pCitzdGF0aWMgdm9pZCBwcmludF9NUF9pbnRzcmNfaW5mbyhzdHJ1Y3QgbXBjX2NvbmZpZ19pbnRzcmMgKm0pCiB7Ci0JbXBfaXJxc1ttcF9pcnFfZW50cmllc10gPSAqbTsKLQlEcHJpbnRrKCJJbnQ6IHR5cGUgJWQsIHBvbCAlZCwgdHJpZyAlZCwgYnVzICVkLCIKKwlwcmludGsoS0VSTl9DT05UICJJbnQ6IHR5cGUgJWQsIHBvbCAlZCwgdHJpZyAlZCwgYnVzICUwMngsIgogCQkiIElSUSAlMDJ4LCBBUElDIElEICV4LCBBUElDIElOVCAlMDJ4XG4iLAogCQltLT5tcGNfaXJxdHlwZSwgbS0+bXBjX2lycWZsYWcgJiAzLAogCQkobS0+bXBjX2lycWZsYWcgPj4gMikgJiAzLCBtLT5tcGNfc3JjYnVzLAogCQltLT5tcGNfc3JjYnVzaXJxLCBtLT5tcGNfZHN0YXBpYywgbS0+bXBjX2RzdGlycSk7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBwcmludF9tcF9pcnFfaW5mbyhzdHJ1Y3QgbXBfY29uZmlnX2ludHNyYyAqbXBfaXJxKQoreworCXByaW50ayhLRVJOX0NPTlQgIkludDogdHlwZSAlZCwgcG9sICVkLCB0cmlnICVkLCBidXMgJTAyeCwiCisJCSIgSVJRICUwMngsIEFQSUMgSUQgJXgsIEFQSUMgSU5UICUwMnhcbiIsCisJCW1wX2lycS0+bXBfaXJxdHlwZSwgbXBfaXJxLT5tcF9pcnFmbGFnICYgMywKKwkJKG1wX2lycS0+bXBfaXJxZmxhZyA+PiAyKSAmIDMsIG1wX2lycS0+bXBfc3JjYnVzLAorCQltcF9pcnEtPm1wX3NyY2J1c2lycSwgbXBfaXJxLT5tcF9kc3RhcGljLCBtcF9pcnEtPm1wX2RzdGlycSk7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBhc3NpZ25fdG9fbXBfaXJxKHN0cnVjdCBtcGNfY29uZmlnX2ludHNyYyAqbSwKKwkJCQkgICAgc3RydWN0IG1wX2NvbmZpZ19pbnRzcmMgKm1wX2lycSkKK3sKKwltcF9pcnEtPm1wX2RzdGFwaWMgPSBtLT5tcGNfZHN0YXBpYzsKKwltcF9pcnEtPm1wX3R5cGUgPSBtLT5tcGNfdHlwZTsKKwltcF9pcnEtPm1wX2lycXR5cGUgPSBtLT5tcGNfaXJxdHlwZTsKKwltcF9pcnEtPm1wX2lycWZsYWcgPSBtLT5tcGNfaXJxZmxhZzsKKwltcF9pcnEtPm1wX3NyY2J1cyA9IG0tPm1wY19zcmNidXM7CisJbXBfaXJxLT5tcF9zcmNidXNpcnEgPSBtLT5tcGNfc3JjYnVzaXJxOworCW1wX2lycS0+bXBfZHN0aXJxID0gbS0+bXBjX2RzdGlycTsKK30KKworc3RhdGljIHZvaWQgX19pbml0IGFzc2lnbl90b19tcGNfaW50c3JjKHN0cnVjdCBtcF9jb25maWdfaW50c3JjICptcF9pcnEsCisJCQkJCXN0cnVjdCBtcGNfY29uZmlnX2ludHNyYyAqbSkKK3sKKwltLT5tcGNfZHN0YXBpYyA9IG1wX2lycS0+bXBfZHN0YXBpYzsKKwltLT5tcGNfdHlwZSA9IG1wX2lycS0+bXBfdHlwZTsKKwltLT5tcGNfaXJxdHlwZSA9IG1wX2lycS0+bXBfaXJxdHlwZTsKKwltLT5tcGNfaXJxZmxhZyA9IG1wX2lycS0+bXBfaXJxZmxhZzsKKwltLT5tcGNfc3JjYnVzID0gbXBfaXJxLT5tcF9zcmNidXM7CisJbS0+bXBjX3NyY2J1c2lycSA9IG1wX2lycS0+bXBfc3JjYnVzaXJxOworCW0tPm1wY19kc3RpcnEgPSBtcF9pcnEtPm1wX2RzdGlycTsKK30KKworc3RhdGljIGludCBfX2luaXQgbXBfaXJxX21wY19pbnRzcmNfY21wKHN0cnVjdCBtcF9jb25maWdfaW50c3JjICptcF9pcnEsCisJCQkJCXN0cnVjdCBtcGNfY29uZmlnX2ludHNyYyAqbSkKK3sKKwlpZiAobXBfaXJxLT5tcF9kc3RhcGljICE9IG0tPm1wY19kc3RhcGljKQorCQlyZXR1cm4gMTsKKwlpZiAobXBfaXJxLT5tcF90eXBlICE9IG0tPm1wY190eXBlKQorCQlyZXR1cm4gMjsKKwlpZiAobXBfaXJxLT5tcF9pcnF0eXBlICE9IG0tPm1wY19pcnF0eXBlKQorCQlyZXR1cm4gMzsKKwlpZiAobXBfaXJxLT5tcF9pcnFmbGFnICE9IG0tPm1wY19pcnFmbGFnKQorCQlyZXR1cm4gNDsKKwlpZiAobXBfaXJxLT5tcF9zcmNidXMgIT0gbS0+bXBjX3NyY2J1cykKKwkJcmV0dXJuIDU7CisJaWYgKG1wX2lycS0+bXBfc3JjYnVzaXJxICE9IG0tPm1wY19zcmNidXNpcnEpCisJCXJldHVybiA2OworCWlmIChtcF9pcnEtPm1wX2RzdGlycSAhPSBtLT5tcGNfZHN0aXJxKQorCQlyZXR1cm4gNzsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgTVBfaW50c3JjX2luZm8oc3RydWN0IG1wY19jb25maWdfaW50c3JjICptKQoreworCWludCBpOworCisJcHJpbnRfTVBfaW50c3JjX2luZm8obSk7CisKKwlmb3IgKGkgPSAwOyBpIDwgbXBfaXJxX2VudHJpZXM7IGkrKykgeworCQlpZiAoIW1wX2lycV9tcGNfaW50c3JjX2NtcCgmbXBfaXJxc1tpXSwgbSkpCisJCQlyZXR1cm47CisJfQorCisJYXNzaWduX3RvX21wX2lycShtLCAmbXBfaXJxc1ttcF9pcnFfZW50cmllc10pOwogCWlmICgrK21wX2lycV9lbnRyaWVzID09IE1BWF9JUlFfU09VUkNFUykKIAkJcGFuaWMoIk1heCAjIG9mIGlycSBzb3VyY2VzIGV4Y2VlZGVkISFcbiIpOwogfQpAQCAtMTk2LDcgKzMwOSw3IEBACiAKIHN0YXRpYyB2b2lkIF9faW5pdCBNUF9saW50c3JjX2luZm8oc3RydWN0IG1wY19jb25maWdfbGludHNyYyAqbSkKIHsKLQlEcHJpbnRrKCJMaW50OiB0eXBlICVkLCBwb2wgJWQsIHRyaWcgJWQsIGJ1cyAlZCwiCisJcHJpbnRrKEtFUk5fSU5GTyAiTGludDogdHlwZSAlZCwgcG9sICVkLCB0cmlnICVkLCBidXMgJTAyeCwiCiAJCSIgSVJRICUwMngsIEFQSUMgSUQgJXgsIEFQSUMgTElOVCAlMDJ4XG4iLAogCQltLT5tcGNfaXJxdHlwZSwgbS0+bXBjX2lycWZsYWcgJiAzLAogCQkobS0+bXBjX2lycWZsYWcgPj4gMikgJiAzLCBtLT5tcGNfc3JjYnVzaWQsCkBAIC0yNjYsMTEgKzM3OSwxNCBAQAogCX0KIH0KIAotc3RhdGljIGlubGluZSB2b2lkIG1wc19vZW1fY2hlY2soc3RydWN0IG1wX2NvbmZpZ190YWJsZSAqbXBjLCBjaGFyICpvZW0sCit2b2lkIG51bWFxX21wc19vZW1fY2hlY2soc3RydWN0IG1wX2NvbmZpZ190YWJsZSAqbXBjLCBjaGFyICpvZW0sCiAJCQkJIGNoYXIgKnByb2R1Y3RpZCkKIHsKIAlpZiAoc3RybmNtcChvZW0sICJJQk0gTlVNQSIsIDgpKQotCQlwcmludGsoIldhcm5pbmchICBNYXkgbm90IGJlIGEgTlVNQS1RIHN5c3RlbSFcbiIpOworCQlwcmludGsoIldhcm5pbmchICBOb3QgYSBOVU1BLVEgc3lzdGVtIVxuIik7CisJZWxzZQorCQlmb3VuZF9udW1hcSA9IDE7CisKIAlpZiAobXBjLT5tcGNfb2VtcHRyKQogCQlzbXBfcmVhZF9tcGNfb2VtKChzdHJ1Y3QgbXBfY29uZmlnX29lbXRhYmxlICopbXBjLT5tcGNfb2VtcHRyLAogCQkJCSBtcGMtPm1wY19vZW1zaXplKTsKQEAgLTI4MSwxMiArMzk3LDkgQEAKICAqIFJlYWQvcGFyc2UgdGhlIE1QQwogICovCiAKLXN0YXRpYyBpbnQgX19pbml0IHNtcF9yZWFkX21wYyhzdHJ1Y3QgbXBfY29uZmlnX3RhYmxlICptcGMsIHVuc2lnbmVkIGVhcmx5KQorc3RhdGljIGludCBfX2luaXQgc21wX2NoZWNrX21wYyhzdHJ1Y3QgbXBfY29uZmlnX3RhYmxlICptcGMsIGNoYXIgKm9lbSwKKwkJCQljaGFyICpzdHIpCiB7Ci0JY2hhciBzdHJbMTZdOwotCWNoYXIgb2VtWzEwXTsKLQlpbnQgY291bnQgPSBzaXplb2YoKm1wYyk7Ci0JdW5zaWduZWQgY2hhciAqbXB0ID0gKCh1bnNpZ25lZCBjaGFyICopbXBjKSArIGNvdW50OwogCiAJaWYgKG1lbWNtcChtcGMtPm1wY19zaWduYXR1cmUsIE1QQ19TSUdOQVRVUkUsIDQpKSB7CiAJCXByaW50ayhLRVJOX0VSUiAiTVBUQUJMRTogYmFkIHNpZ25hdHVyZSBbJWMlYyVjJWNdIVxuIiwKQEAgLTMwOSwxOSArNDIyLDQyIEBACiAJfQogCW1lbWNweShvZW0sIG1wYy0+bXBjX29lbSwgOCk7CiAJb2VtWzhdID0gMDsKLQlwcmludGsoS0VSTl9JTkZPICJNUFRBQkxFOiBPRU0gSUQ6ICVzICIsIG9lbSk7CisJcHJpbnRrKEtFUk5fSU5GTyAiTVBUQUJMRTogT0VNIElEOiAlc1xuIiwgb2VtKTsKIAogCW1lbWNweShzdHIsIG1wYy0+bXBjX3Byb2R1Y3RpZCwgMTIpOwogCXN0clsxMl0gPSAwOwotCXByaW50aygiUHJvZHVjdCBJRDogJXMgIiwgc3RyKTsKIAotI2lmZGVmIENPTkZJR19YODZfMzIKLQltcHNfb2VtX2NoZWNrKG1wYywgb2VtLCBzdHIpOwotI2VuZGlmCi0JcHJpbnRrKEtFUk5fSU5GTyAiTVBUQUJMRTogUHJvZHVjdCBJRDogJXMgIiwgc3RyKTsKKwlwcmludGsoS0VSTl9JTkZPICJNUFRBQkxFOiBQcm9kdWN0IElEOiAlc1xuIiwgc3RyKTsKIAogCXByaW50ayhLRVJOX0lORk8gIk1QVEFCTEU6IEFQSUMgYXQ6IDB4JVhcbiIsIG1wYy0+bXBjX2xhcGljKTsKIAorCXJldHVybiAxOworfQorCitzdGF0aWMgaW50IF9faW5pdCBzbXBfcmVhZF9tcGMoc3RydWN0IG1wX2NvbmZpZ190YWJsZSAqbXBjLCB1bnNpZ25lZCBlYXJseSkKK3sKKwljaGFyIHN0clsxNl07CisJY2hhciBvZW1bMTBdOworCisJaW50IGNvdW50ID0gc2l6ZW9mKCptcGMpOworCXVuc2lnbmVkIGNoYXIgKm1wdCA9ICgodW5zaWduZWQgY2hhciAqKW1wYykgKyBjb3VudDsKKworCWlmICghc21wX2NoZWNrX21wYyhtcGMsIG9lbSwgc3RyKSkKKwkJcmV0dXJuIDA7CisKKyNpZmRlZiBDT05GSUdfWDg2XzMyCisJLyoKKwkgKiBuZWVkIHRvIG1ha2Ugc3VyZSBzdW1taXQgYW5kIGVzNzAwMCdzIG1wc19vZW1fY2hlY2sgaXMgc2FmZSB0byBiZQorCSAqIGNhbGxlZCBlYXJseSB2aWEgZ2VuZXJpY2FyY2ggJ3MgbXBzX29lbV9jaGVjaworCSAqLworCWlmIChlYXJseSkgeworI2lmZGVmIENPTkZJR19YODZfTlVNQVEKKwkJbnVtYXFfbXBzX29lbV9jaGVjayhtcGMsIG9lbSwgc3RyKTsKKyNlbmRpZgorCX0gZWxzZQorCQltcHNfb2VtX2NoZWNrKG1wYywgb2VtLCBzdHIpOworI2VuZGlmCisKIAkvKiBzYXZlIHRoZSBsb2NhbCBBUElDIGFkZHJlc3MsIGl0IG1pZ2h0IGJlIG5vbi1kZWZhdWx0ICovCiAJaWYgKCFhY3BpX2xhcGljKQogCQltcF9sYXBpY19hZGRyID0gbXBjLT5tcGNfbGFwaWM7CkBAIC0zNTIsNyArNDg4LDkgQEAKIAkJCXsKIAkJCQlzdHJ1Y3QgbXBjX2NvbmZpZ19idXMgKm0gPQogCQkJCSAgICAoc3RydWN0IG1wY19jb25maWdfYnVzICopbXB0OworI2lmZGVmIENPTkZJR19YODZfSU9fQVBJQwogCQkJCU1QX2J1c19pbmZvKG0pOworI2VuZGlmCiAJCQkJbXB0ICs9IHNpemVvZigqbSk7CiAJCQkJY291bnQgKz0gc2l6ZW9mKCptKTsKIAkJCQlicmVhazsKQEAgLTQwMiw2ICs1NDAsMTEgQEAKIAkJKyttcGNfcmVjb3JkOwogI2VuZGlmCiAJfQorCisjaWZkZWYgQ09ORklHX1g4Nl9HRU5FUklDQVJDSAorICAgICAgIGdlbmVyaWNfYmlnc21wX3Byb2JlKCk7CisjZW5kaWYKKwogCXNldHVwX2FwaWNfcm91dGluZygpOwogCWlmICghbnVtX3Byb2Nlc3NvcnMpCiAJCXByaW50ayhLRVJOX0VSUiAiTVBUQUJMRTogbm8gcHJvY2Vzc29ycyByZWdpc3RlcmVkIVxuIik7CkBAIC00MjcsNyArNTcwLDcgQEAKIAlpbnRzcmMubXBjX3R5cGUgPSBNUF9JTlRTUkM7CiAJaW50c3JjLm1wY19pcnFmbGFnID0gMDsJLyogY29uZm9ybWluZyAqLwogCWludHNyYy5tcGNfc3JjYnVzID0gMDsKLQlpbnRzcmMubXBjX2RzdGFwaWMgPSBtcF9pb2FwaWNzWzBdLm1wY19hcGljaWQ7CisJaW50c3JjLm1wY19kc3RhcGljID0gbXBfaW9hcGljc1swXS5tcF9hcGljaWQ7CiAKIAlpbnRzcmMubXBjX2lycXR5cGUgPSBtcF9JTlQ7CiAKQEAgLTQ4OCw0MCArNjMxLDExIEBACiAJTVBfaW50c3JjX2luZm8oJmludHNyYyk7CiB9CiAKLSNlbmRpZgogCi1zdGF0aWMgaW5saW5lIHZvaWQgX19pbml0IGNvbnN0cnVjdF9kZWZhdWx0X0lTQV9tcHRhYmxlKGludCBtcGNfZGVmYXVsdF90eXBlKQorc3RhdGljIHZvaWQgY29uc3RydWN0X2lvYXBpY190YWJsZShpbnQgbXBjX2RlZmF1bHRfdHlwZSkKIHsKLQlzdHJ1Y3QgbXBjX2NvbmZpZ19wcm9jZXNzb3IgcHJvY2Vzc29yOwotCXN0cnVjdCBtcGNfY29uZmlnX2J1cyBidXM7Ci0jaWZkZWYgQ09ORklHX1g4Nl9JT19BUElDCiAJc3RydWN0IG1wY19jb25maWdfaW9hcGljIGlvYXBpYzsKLSNlbmRpZgotCXN0cnVjdCBtcGNfY29uZmlnX2xpbnRzcmMgbGludHNyYzsKLQlpbnQgbGludHR5cGVzWzJdID0geyBtcF9FeHRJTlQsIG1wX05NSSB9OwotCWludCBpOwotCi0JLyoKLQkgKiBsb2NhbCBBUElDIGhhcyBkZWZhdWx0IGFkZHJlc3MKLQkgKi8KLQltcF9sYXBpY19hZGRyID0gQVBJQ19ERUZBVUxUX1BIWVNfQkFTRTsKLQotCS8qCi0JICogMiBDUFVzLCBudW1iZXJlZCAwICYgMS4KLQkgKi8KLQlwcm9jZXNzb3IubXBjX3R5cGUgPSBNUF9QUk9DRVNTT1I7Ci0JLyogRWl0aGVyIGFuIGludGVncmF0ZWQgQVBJQyBvciBhIGRpc2NyZXRlIDgyNDg5RFguICovCi0JcHJvY2Vzc29yLm1wY19hcGljdmVyID0gbXBjX2RlZmF1bHRfdHlwZSA+IDQgPyAweDEwIDogMHgwMTsKLQlwcm9jZXNzb3IubXBjX2NwdWZsYWcgPSBDUFVfRU5BQkxFRDsKLQlwcm9jZXNzb3IubXBjX2NwdWZlYXR1cmUgPSAoYm9vdF9jcHVfZGF0YS54ODYgPDwgOCkgfAotCSAgICAoYm9vdF9jcHVfZGF0YS54ODZfbW9kZWwgPDwgNCkgfCBib290X2NwdV9kYXRhLng4Nl9tYXNrOwotCXByb2Nlc3Nvci5tcGNfZmVhdHVyZWZsYWcgPSBib290X2NwdV9kYXRhLng4Nl9jYXBhYmlsaXR5WzBdOwotCXByb2Nlc3Nvci5tcGNfcmVzZXJ2ZWRbMF0gPSAwOwotCXByb2Nlc3Nvci5tcGNfcmVzZXJ2ZWRbMV0gPSAwOwotCWZvciAoaSA9IDA7IGkgPCAyOyBpKyspIHsKLQkJcHJvY2Vzc29yLm1wY19hcGljaWQgPSBpOwotCQlNUF9wcm9jZXNzb3JfaW5mbygmcHJvY2Vzc29yKTsKLQl9CisJc3RydWN0IG1wY19jb25maWdfYnVzIGJ1czsKIAogCWJ1cy5tcGNfdHlwZSA9IE1QX0JVUzsKIAlidXMubXBjX2J1c2lkID0gMDsKQEAgLTU1MCw3ICs2NjQsNiBAQAogCQlNUF9idXNfaW5mbygmYnVzKTsKIAl9CiAKLSNpZmRlZiBDT05GSUdfWDg2X0lPX0FQSUMKIAlpb2FwaWMubXBjX3R5cGUgPSBNUF9JT0FQSUM7CiAJaW9hcGljLm1wY19hcGljaWQgPSAyOwogCWlvYXBpYy5tcGNfYXBpY3ZlciA9IG1wY19kZWZhdWx0X3R5cGUgPiA0ID8gMHgxMCA6IDB4MDE7CkBAIC01NjIsNyArNjc1LDQyIEBACiAJICogV2Ugc2V0IHVwIG1vc3Qgb2YgdGhlIGxvdyAxNiBJTy1BUElDIHBpbnMgYWNjb3JkaW5nIHRvIE1QUyBydWxlcy4KIAkgKi8KIAljb25zdHJ1Y3RfZGVmYXVsdF9pb2lycV9tcHRhYmxlKG1wY19kZWZhdWx0X3R5cGUpOworfQorI2Vsc2UKK3N0YXRpYyBpbmxpbmUgdm9pZCBjb25zdHJ1Y3RfaW9hcGljX3RhYmxlKGludCBtcGNfZGVmYXVsdF90eXBlKSB7IH0KICNlbmRpZgorCitzdGF0aWMgaW5saW5lIHZvaWQgX19pbml0IGNvbnN0cnVjdF9kZWZhdWx0X0lTQV9tcHRhYmxlKGludCBtcGNfZGVmYXVsdF90eXBlKQoreworCXN0cnVjdCBtcGNfY29uZmlnX3Byb2Nlc3NvciBwcm9jZXNzb3I7CisJc3RydWN0IG1wY19jb25maWdfbGludHNyYyBsaW50c3JjOworCWludCBsaW50dHlwZXNbMl0gPSB7IG1wX0V4dElOVCwgbXBfTk1JIH07CisJaW50IGk7CisKKwkvKgorCSAqIGxvY2FsIEFQSUMgaGFzIGRlZmF1bHQgYWRkcmVzcworCSAqLworCW1wX2xhcGljX2FkZHIgPSBBUElDX0RFRkFVTFRfUEhZU19CQVNFOworCisJLyoKKwkgKiAyIENQVXMsIG51bWJlcmVkIDAgJiAxLgorCSAqLworCXByb2Nlc3Nvci5tcGNfdHlwZSA9IE1QX1BST0NFU1NPUjsKKwkvKiBFaXRoZXIgYW4gaW50ZWdyYXRlZCBBUElDIG9yIGEgZGlzY3JldGUgODI0ODlEWC4gKi8KKwlwcm9jZXNzb3IubXBjX2FwaWN2ZXIgPSBtcGNfZGVmYXVsdF90eXBlID4gNCA/IDB4MTAgOiAweDAxOworCXByb2Nlc3Nvci5tcGNfY3B1ZmxhZyA9IENQVV9FTkFCTEVEOworCXByb2Nlc3Nvci5tcGNfY3B1ZmVhdHVyZSA9IChib290X2NwdV9kYXRhLng4NiA8PCA4KSB8CisJICAgIChib290X2NwdV9kYXRhLng4Nl9tb2RlbCA8PCA0KSB8IGJvb3RfY3B1X2RhdGEueDg2X21hc2s7CisJcHJvY2Vzc29yLm1wY19mZWF0dXJlZmxhZyA9IGJvb3RfY3B1X2RhdGEueDg2X2NhcGFiaWxpdHlbMF07CisJcHJvY2Vzc29yLm1wY19yZXNlcnZlZFswXSA9IDA7CisJcHJvY2Vzc29yLm1wY19yZXNlcnZlZFsxXSA9IDA7CisJZm9yIChpID0gMDsgaSA8IDI7IGkrKykgeworCQlwcm9jZXNzb3IubXBjX2FwaWNpZCA9IGk7CisJCU1QX3Byb2Nlc3Nvcl9pbmZvKCZwcm9jZXNzb3IpOworCX0KKworCWNvbnN0cnVjdF9pb2FwaWNfdGFibGUobXBjX2RlZmF1bHRfdHlwZSk7CisKIAlsaW50c3JjLm1wY190eXBlID0gTVBfTElOVFNSQzsKIAlsaW50c3JjLm1wY19pcnFmbGFnID0gMDsJLyogY29uZm9ybWluZyAqLwogCWxpbnRzcmMubXBjX3NyY2J1c2lkID0gMDsKQEAgLTU3OCwxMiArNzI2LDIyIEBACiBzdGF0aWMgc3RydWN0IGludGVsX21wX2Zsb2F0aW5nICptcGZfZm91bmQ7CiAKIC8qCisgKiBNYWNoaW5lIHNwZWNpZmljIHF1aXJrIGZvciBmaW5kaW5nIHRoZSBTTVAgY29uZmlnIGJlZm9yZSBvdGhlciBzZXR1cAorICogYWN0aXZpdGllcyBkZXN0cm95IHRoZSB0YWJsZToKKyAqLworaW50ICgqbWFjaF9nZXRfc21wX2NvbmZpZ19xdWlyaykodW5zaWduZWQgaW50IGVhcmx5KTsKKworLyoKICAqIFNjYW4gdGhlIG1lbW9yeSBibG9ja3MgZm9yIGFuIFNNUCBjb25maWd1cmF0aW9uIGJsb2NrLgogICovCi1zdGF0aWMgdm9pZCBfX2luaXQgX19nZXRfc21wX2NvbmZpZyh1bnNpZ25lZCBlYXJseSkKK3N0YXRpYyB2b2lkIF9faW5pdCBfX2dldF9zbXBfY29uZmlnKHVuc2lnbmVkIGludCBlYXJseSkKIHsKIAlzdHJ1Y3QgaW50ZWxfbXBfZmxvYXRpbmcgKm1wZiA9IG1wZl9mb3VuZDsKIAorCWlmIChtYWNoX2dldF9zbXBfY29uZmlnX3F1aXJrKSB7CisJCWlmIChtYWNoX2dldF9zbXBfY29uZmlnX3F1aXJrKGVhcmx5KSkKKwkJCXJldHVybjsKKwl9CiAJaWYgKGFjcGlfbGFwaWMgJiYgZWFybHkpCiAJCXJldHVybjsKIAkvKgpAQCAtNjAwLDcgKzc1OCw3IEBACiAKIAlwcmludGsoS0VSTl9JTkZPICJJbnRlbCBNdWx0aVByb2Nlc3NvciBTcGVjaWZpY2F0aW9uIHYxLiVkXG4iLAogCSAgICAgICBtcGYtPm1wZl9zcGVjaWZpY2F0aW9uKTsKLSNpZmRlZiBDT05GSUdfWDg2XzMyCisjaWYgZGVmaW5lZChDT05GSUdfWDg2X0xPQ0FMX0FQSUMpICYmIGRlZmluZWQoQ09ORklHX1g4Nl8zMikKIAlpZiAobXBmLT5tcGZfZmVhdHVyZTIgJiAoMSA8PCA3KSkgewogCQlwcmludGsoS0VSTl9JTkZPICIgICAgSU1DUiBhbmQgUElDIGNvbXBhdGliaWxpdHkgbW9kZS5cbiIpOwogCQlwaWNfbW9kZSA9IDE7CkBAIC02MzIsNyArNzkwLDkgQEAKIAkJICogb3ZlcnJpZGUgdGhlIGRlZmF1bHRzLgogCQkgKi8KIAkJaWYgKCFzbXBfcmVhZF9tcGMocGh5c190b192aXJ0KG1wZi0+bXBmX3BoeXNwdHIpLCBlYXJseSkpIHsKKyNpZmRlZiBDT05GSUdfWDg2X0xPQ0FMX0FQSUMKIAkJCXNtcF9mb3VuZF9jb25maWcgPSAwOworI2VuZGlmCiAJCQlwcmludGsoS0VSTl9FUlIKIAkJCSAgICAgICAiQklPUyBidWcsIE1QIHRhYmxlIGVycm9ycyBkZXRlY3RlZCEuLi5cbiIpOwogCQkJcHJpbnRrKEtFUk5fRVJSICIuLi4gZGlzYWJsaW5nIFNNUCBzdXBwb3J0LiAiCkBAIC02ODksNyArODQ5LDcgQEAKIAl1bnNpZ25lZCBpbnQgKmJwID0gcGh5c190b192aXJ0KGJhc2UpOwogCXN0cnVjdCBpbnRlbF9tcF9mbG9hdGluZyAqbXBmOwogCi0JRHByaW50aygiU2NhbiBTTVAgZnJvbSAlcCBmb3IgJWxkIGJ5dGVzLlxuIiwgYnAsIGxlbmd0aCk7CisJcHJpbnRrKEtFUk5fREVCVUcgIlNjYW4gU01QIGZyb20gJXAgZm9yICVsZCBieXRlcy5cbiIsIGJwLCBsZW5ndGgpOwogCUJVSUxEX0JVR19PTihzaXplb2YoKm1wZikgIT0gMTYpOwogCiAJd2hpbGUgKGxlbmd0aCA+IDApIHsKQEAgLTY5OSwxNSArODU5LDIxIEBACiAJCSAgICAhbXBmX2NoZWNrc3VtKCh1bnNpZ25lZCBjaGFyICopYnAsIDE2KSAmJgogCQkgICAgKChtcGYtPm1wZl9zcGVjaWZpY2F0aW9uID09IDEpCiAJCSAgICAgfHwgKG1wZi0+bXBmX3NwZWNpZmljYXRpb24gPT0gNCkpKSB7Ci0KKyNpZmRlZiBDT05GSUdfWDg2X0xPQ0FMX0FQSUMKIAkJCXNtcF9mb3VuZF9jb25maWcgPSAxOworI2VuZGlmCiAJCQltcGZfZm91bmQgPSBtcGY7Ci0jaWZkZWYgQ09ORklHX1g4Nl8zMgorCiAJCQlwcmludGsoS0VSTl9JTkZPICJmb3VuZCBTTVAgTVAtdGFibGUgYXQgWyVwXSAlMDhseFxuIiwKIAkJCSAgICAgICBtcGYsIHZpcnRfdG9fcGh5cyhtcGYpKTsKLQkJCXJlc2VydmVfYm9vdG1lbSh2aXJ0X3RvX3BoeXMobXBmKSwgUEFHRV9TSVpFLAorCisJCQlpZiAoIXJlc2VydmUpCisJCQkJcmV0dXJuIDE7CisJCQlyZXNlcnZlX2Jvb3RtZW1fZ2VuZXJpYyh2aXJ0X3RvX3BoeXMobXBmKSwgUEFHRV9TSVpFLAogCQkJCQlCT09UTUVNX0RFRkFVTFQpOwogCQkJaWYgKG1wZi0+bXBmX3BoeXNwdHIpIHsKKwkJCQl1bnNpZ25lZCBsb25nIHNpemUgPSBQQUdFX1NJWkU7CisjaWZkZWYgQ09ORklHX1g4Nl8zMgogCQkJCS8qCiAJCQkJICogV2UgY2Fubm90IGFjY2VzcyB0byBNUEMgdGFibGUgdG8gY29tcHV0ZQogCQkJCSAqIHRhYmxlIHNpemUgeWV0LCBhcyBvbmx5IGZldyBtZWdhYnl0ZXMgZnJvbQpAQCAtNzE3LDI0ICs4ODMsMTUgQEAKIAkJCQkgKiBQQUdFX1NJWkUgZnJvbSBtcGctPm1wZl9waHlzcHRyIHlpZWxkcyBCVUcoKQogCQkJCSAqIGluIHJlc2VydmVfYm9vdG1lbS4KIAkJCQkgKi8KLQkJCQl1bnNpZ25lZCBsb25nIHNpemUgPSBQQUdFX1NJWkU7CiAJCQkJdW5zaWduZWQgbG9uZyBlbmQgPSBtYXhfbG93X3BmbiAqIFBBR0VfU0laRTsKIAkJCQlpZiAobXBmLT5tcGZfcGh5c3B0ciArIHNpemUgPiBlbmQpCiAJCQkJCXNpemUgPSBlbmQgLSBtcGYtPm1wZl9waHlzcHRyOwotCQkJCXJlc2VydmVfYm9vdG1lbShtcGYtPm1wZl9waHlzcHRyLCBzaXplLAorI2VuZGlmCisJCQkJcmVzZXJ2ZV9ib290bWVtX2dlbmVyaWMobXBmLT5tcGZfcGh5c3B0ciwgc2l6ZSwKIAkJCQkJCUJPT1RNRU1fREVGQVVMVCk7CiAJCQl9CiAKLSNlbHNlCi0JCQlpZiAoIXJlc2VydmUpCi0JCQkJcmV0dXJuIDE7Ci0KLQkJCXJlc2VydmVfYm9vdG1lbV9nZW5lcmljKHZpcnRfdG9fcGh5cyhtcGYpLCBQQUdFX1NJWkUpOwotCQkJaWYgKG1wZi0+bXBmX3BoeXNwdHIpCi0JCQkJcmVzZXJ2ZV9ib290bWVtX2dlbmVyaWMobXBmLT5tcGZfcGh5c3B0ciwKLQkJCQkJCQlQQUdFX1NJWkUpOwotI2VuZGlmCi0JCXJldHVybiAxOworCQkJcmV0dXJuIDE7CiAJCX0KIAkJYnAgKz0gNDsKIAkJbGVuZ3RoIC09IDE2OwpAQCAtNzQyLDEwICs4OTksMTYgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHZvaWQgX19pbml0IF9fZmluZF9zbXBfY29uZmlnKHVuc2lnbmVkIHJlc2VydmUpCitpbnQgKCptYWNoX2ZpbmRfc21wX2NvbmZpZ19xdWlyaykodW5zaWduZWQgaW50IHJlc2VydmUpOworCitzdGF0aWMgdm9pZCBfX2luaXQgX19maW5kX3NtcF9jb25maWcodW5zaWduZWQgaW50IHJlc2VydmUpCiB7CiAJdW5zaWduZWQgaW50IGFkZHJlc3M7CiAKKwlpZiAobWFjaF9maW5kX3NtcF9jb25maWdfcXVpcmspIHsKKwkJaWYgKG1hY2hfZmluZF9zbXBfY29uZmlnX3F1aXJrKHJlc2VydmUpKQorCQkJcmV0dXJuOworCX0KIAkvKgogCSAqIEZJWE1FOiBMaW51eCBhc3N1bWVzIHlvdSBoYXZlIDY0MEsgb2YgYmFzZSByYW0uLgogCSAqIHRoaXMgY29udGludWVzIHRoZSBlcnJvci4uLgpAQCAtNzkwLDI5OCArOTUzLDI5NCBAQAogCV9fZmluZF9zbXBfY29uZmlnKDEpOwogfQogCi0vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFDUEktYmFzZWQgTVAgQ29uZmlndXJhdGlvbgotICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKyNpZmRlZiBDT05GSUdfWDg2X0lPX0FQSUMKK3N0YXRpYyB1OCBfX2luaXRkYXRhIGlycV91c2VkW01BWF9JUlFfU09VUkNFU107CiAKLS8qCi0gKiBLZWVwIHRoaXMgb3V0c2lkZSBhbmQgaW5pdGlhbGl6ZWQgdG8gMCwgZm9yICFDT05GSUdfQUNQSSBidWlsZHM6Ci0gKi8KLWludCBlczcwMDBfcGxhdDsKLQotI2lmZGVmIENPTkZJR19BQ1BJCi0KLSNpZmRlZglDT05GSUdfWDg2X0lPX0FQSUMKLQotI2RlZmluZSBNUF9JU0FfQlVTCQkwCi0KLWV4dGVybiBzdHJ1Y3QgbXBfaW9hcGljX3JvdXRpbmcgbXBfaW9hcGljX3JvdXRpbmdbTUFYX0lPX0FQSUNTXTsKLQotc3RhdGljIGludCBtcF9maW5kX2lvYXBpYyhpbnQgZ3NpKQorc3RhdGljIGludCAgX19pbml0IGdldF9NUF9pbnRzcmNfaW5kZXgoc3RydWN0IG1wY19jb25maWdfaW50c3JjICptKQogewotCWludCBpID0gMDsKKwlpbnQgaTsKIAotCS8qIEZpbmQgdGhlIElPQVBJQyB0aGF0IG1hbmFnZXMgdGhpcyBHU0kuICovCi0JZm9yIChpID0gMDsgaSA8IG5yX2lvYXBpY3M7IGkrKykgewotCQlpZiAoKGdzaSA+PSBtcF9pb2FwaWNfcm91dGluZ1tpXS5nc2lfYmFzZSkKLQkJICAgICYmIChnc2kgPD0gbXBfaW9hcGljX3JvdXRpbmdbaV0uZ3NpX2VuZCkpCi0JCQlyZXR1cm4gaTsKKwlpZiAobS0+bXBjX2lycXR5cGUgIT0gbXBfSU5UKQorCQlyZXR1cm4gMDsKKworCWlmIChtLT5tcGNfaXJxZmxhZyAhPSAweDBmKQorCQlyZXR1cm4gMDsKKworCS8qIG5vdCBsZWdhY3kgKi8KKworCWZvciAoaSA9IDA7IGkgPCBtcF9pcnFfZW50cmllczsgaSsrKSB7CisJCWlmIChtcF9pcnFzW2ldLm1wX2lycXR5cGUgIT0gbXBfSU5UKQorCQkJY29udGludWU7CisKKwkJaWYgKG1wX2lycXNbaV0ubXBfaXJxZmxhZyAhPSAweDBmKQorCQkJY29udGludWU7CisKKwkJaWYgKG1wX2lycXNbaV0ubXBfc3JjYnVzICE9IG0tPm1wY19zcmNidXMpCisJCQljb250aW51ZTsKKwkJaWYgKG1wX2lycXNbaV0ubXBfc3JjYnVzaXJxICE9IG0tPm1wY19zcmNidXNpcnEpCisJCQljb250aW51ZTsKKwkJaWYgKGlycV91c2VkW2ldKSB7CisJCQkvKiBhbHJlYWR5IGNsYWltZWQgKi8KKwkJCXJldHVybiAtMjsKKwkJfQorCQlpcnFfdXNlZFtpXSA9IDE7CisJCXJldHVybiBpOwogCX0KIAotCXByaW50ayhLRVJOX0VSUiAiRVJST1I6IFVuYWJsZSB0byBsb2NhdGUgSU9BUElDIGZvciBHU0kgJWRcbiIsIGdzaSk7CisJLyogbm90IGZvdW5kICovCiAJcmV0dXJuIC0xOwogfQogCi1zdGF0aWMgdTggX19pbml0IHVuaXFfaW9hcGljX2lkKHU4IGlkKQotewotI2lmZGVmIENPTkZJR19YODZfMzIKLQlpZiAoKGJvb3RfY3B1X2RhdGEueDg2X3ZlbmRvciA9PSBYODZfVkVORE9SX0lOVEVMKSAmJgotCSAgICAhQVBJQ19YQVBJQyhhcGljX3ZlcnNpb25bYm9vdF9jcHVfcGh5c2ljYWxfYXBpY2lkXSkpCi0JCXJldHVybiBpb19hcGljX2dldF91bmlxdWVfaWQobnJfaW9hcGljcywgaWQpOwotCWVsc2UKLQkJcmV0dXJuIGlkOwotI2Vsc2UKLQlpbnQgaTsKLQlERUNMQVJFX0JJVE1BUCh1c2VkLCAyNTYpOwotCWJpdG1hcF96ZXJvKHVzZWQsIDI1Nik7Ci0JZm9yIChpID0gMDsgaSA8IG5yX2lvYXBpY3M7IGkrKykgewotCQlzdHJ1Y3QgbXBjX2NvbmZpZ19pb2FwaWMgKmlhID0gJm1wX2lvYXBpY3NbaV07Ci0JCV9fc2V0X2JpdChpYS0+bXBjX2FwaWNpZCwgdXNlZCk7Ci0JfQotCWlmICghdGVzdF9iaXQoaWQsIHVzZWQpKQotCQlyZXR1cm4gaWQ7Ci0JcmV0dXJuIGZpbmRfZmlyc3RfemVyb19iaXQodXNlZCwgMjU2KTsKKyNkZWZpbmUgU1BBUkVfU0xPVF9OVU0gMjAKKworc3RhdGljIHN0cnVjdCBtcGNfY29uZmlnX2ludHNyYyBfX2luaXRkYXRhICptX3NwYXJlW1NQQVJFX1NMT1RfTlVNXTsKICNlbmRpZgotfQogCi12b2lkIF9faW5pdCBtcF9yZWdpc3Rlcl9pb2FwaWMoaW50IGlkLCB1MzIgYWRkcmVzcywgdTMyIGdzaV9iYXNlKQorc3RhdGljIGludCAgX19pbml0IHJlcGxhY2VfaW50c3JjX2FsbChzdHJ1Y3QgbXBfY29uZmlnX3RhYmxlICptcGMsCisJCQkJCXVuc2lnbmVkIGxvbmcgbXBjX25ld19waHlzLAorCQkJCQl1bnNpZ25lZCBsb25nIG1wY19uZXdfbGVuZ3RoKQogewotCWludCBpZHggPSAwOwotCi0JaWYgKGJhZF9pb2FwaWMoYWRkcmVzcykpCi0JCXJldHVybjsKLQotCWlkeCA9IG5yX2lvYXBpY3M7Ci0KLQltcF9pb2FwaWNzW2lkeF0ubXBjX3R5cGUgPSBNUF9JT0FQSUM7Ci0JbXBfaW9hcGljc1tpZHhdLm1wY19mbGFncyA9IE1QQ19BUElDX1VTQUJMRTsKLQltcF9pb2FwaWNzW2lkeF0ubXBjX2FwaWNhZGRyID0gYWRkcmVzczsKLQotCXNldF9maXhtYXBfbm9jYWNoZShGSVhfSU9fQVBJQ19CQVNFXzAgKyBpZHgsIGFkZHJlc3MpOwotCW1wX2lvYXBpY3NbaWR4XS5tcGNfYXBpY2lkID0gdW5pcV9pb2FwaWNfaWQoaWQpOwotI2lmZGVmIENPTkZJR19YODZfMzIKLQltcF9pb2FwaWNzW2lkeF0ubXBjX2FwaWN2ZXIgPSBpb19hcGljX2dldF92ZXJzaW9uKGlkeCk7Ci0jZWxzZQotCW1wX2lvYXBpY3NbaWR4XS5tcGNfYXBpY3ZlciA9IDA7Ci0jZW5kaWYKLQkvKgotCSAqIEJ1aWxkIGJhc2ljIEdTSSBsb29rdXAgdGFibGUgdG8gZmFjaWxpdGF0ZSBnc2ktPmlvX2FwaWMgbG9va3VwcwotCSAqIGFuZCB0byBwcmV2ZW50IHJlcHJvZ3JhbW1pbmcgb2YgSU9BUElDIHBpbnMgKFBDSSBHU0lzKS4KLQkgKi8KLQltcF9pb2FwaWNfcm91dGluZ1tpZHhdLmFwaWNfaWQgPSBtcF9pb2FwaWNzW2lkeF0ubXBjX2FwaWNpZDsKLQltcF9pb2FwaWNfcm91dGluZ1tpZHhdLmdzaV9iYXNlID0gZ3NpX2Jhc2U7Ci0JbXBfaW9hcGljX3JvdXRpbmdbaWR4XS5nc2lfZW5kID0gZ3NpX2Jhc2UgKwotCSAgICBpb19hcGljX2dldF9yZWRpcl9lbnRyaWVzKGlkeCk7Ci0KLQlwcmludGsoS0VSTl9JTkZPICJJT0FQSUNbJWRdOiBhcGljX2lkICVkLCB2ZXJzaW9uICVkLCBhZGRyZXNzIDB4JXgsICIKLQkgICAgICAgIkdTSSAlZC0lZFxuIiwgaWR4LCBtcF9pb2FwaWNzW2lkeF0ubXBjX2FwaWNpZCwKLQkgICAgICAgbXBfaW9hcGljc1tpZHhdLm1wY19hcGljdmVyLCBtcF9pb2FwaWNzW2lkeF0ubXBjX2FwaWNhZGRyLAotCSAgICAgICBtcF9pb2FwaWNfcm91dGluZ1tpZHhdLmdzaV9iYXNlLCBtcF9pb2FwaWNfcm91dGluZ1tpZHhdLmdzaV9lbmQpOwotCi0JbnJfaW9hcGljcysrOwotfQotCi12b2lkIF9faW5pdCBtcF9vdmVycmlkZV9sZWdhY3lfaXJxKHU4IGJ1c19pcnEsIHU4IHBvbGFyaXR5LCB1OCB0cmlnZ2VyLCB1MzIgZ3NpKQotewotCXN0cnVjdCBtcGNfY29uZmlnX2ludHNyYyBpbnRzcmM7Ci0JaW50IGlvYXBpYyA9IC0xOwotCWludCBwaW4gPSAtMTsKLQotCS8qCi0JICogQ29udmVydCAnZ3NpJyB0byAnaW9hcGljLnBpbicuCi0JICovCi0JaW9hcGljID0gbXBfZmluZF9pb2FwaWMoZ3NpKTsKLQlpZiAoaW9hcGljIDwgMCkKLQkJcmV0dXJuOwotCXBpbiA9IGdzaSAtIG1wX2lvYXBpY19yb3V0aW5nW2lvYXBpY10uZ3NpX2Jhc2U7Ci0KLQkvKgotCSAqIFRCRDogVGhpcyBjaGVjayBpcyBmb3IgZmF1bHR5IHRpbWVyIGVudHJpZXMsIHdoZXJlIHRoZSBvdmVycmlkZQotCSAqICAgICAgZXJyb25lb3VzbHkgc2V0cyB0aGUgdHJpZ2dlciB0byBsZXZlbCwgcmVzdWx0aW5nIGluIGEgSFVHRQotCSAqICAgICAgaW5jcmVhc2Ugb2YgdGltZXIgaW50ZXJydXB0cyEKLQkgKi8KLQlpZiAoKGJ1c19pcnEgPT0gMCkgJiYgKHRyaWdnZXIgPT0gMykpCi0JCXRyaWdnZXIgPSAxOwotCi0JaW50c3JjLm1wY190eXBlID0gTVBfSU5UU1JDOwotCWludHNyYy5tcGNfaXJxdHlwZSA9IG1wX0lOVDsKLQlpbnRzcmMubXBjX2lycWZsYWcgPSAodHJpZ2dlciA8PCAyKSB8IHBvbGFyaXR5OwotCWludHNyYy5tcGNfc3JjYnVzID0gTVBfSVNBX0JVUzsKLQlpbnRzcmMubXBjX3NyY2J1c2lycSA9IGJ1c19pcnE7CS8qIElSUSAqLwotCWludHNyYy5tcGNfZHN0YXBpYyA9IG1wX2lvYXBpY3NbaW9hcGljXS5tcGNfYXBpY2lkOwkvKiBBUElDIElEICovCi0JaW50c3JjLm1wY19kc3RpcnEgPSBwaW47CS8qIElOVElOIyAqLwotCi0JTVBfaW50c3JjX2luZm8oJmludHNyYyk7Ci19Ci0KLXZvaWQgX19pbml0IG1wX2NvbmZpZ19hY3BpX2xlZ2FjeV9pcnFzKHZvaWQpCi17Ci0Jc3RydWN0IG1wY19jb25maWdfaW50c3JjIGludHNyYzsKLQlpbnQgaSA9IDA7Ci0JaW50IGlvYXBpYyA9IC0xOwotCi0jaWYgZGVmaW5lZCAoQ09ORklHX01DQSkgfHwgZGVmaW5lZCAoQ09ORklHX0VJU0EpCi0JLyoKLQkgKiBGYWJyaWNhdGUgdGhlIGxlZ2FjeSBJU0EgYnVzIChidXMgIzMxKS4KLQkgKi8KLQltcF9idXNfaWRfdG9fdHlwZVtNUF9JU0FfQlVTXSA9IE1QX0JVU19JU0E7Ci0jZW5kaWYKLQlzZXRfYml0KE1QX0lTQV9CVVMsIG1wX2J1c19ub3RfcGNpKTsKLQlEcHJpbnRrKCJCdXMgIyVkIGlzIElTQVxuIiwgTVBfSVNBX0JVUyk7Ci0KLQkvKgotCSAqIE9sZGVyIGdlbmVyYXRpb25zIG9mIEVTNzAwMCBoYXZlIG5vIGxlZ2FjeSBpZGVudGl0eSBtYXBwaW5ncwotCSAqLwotCWlmIChlczcwMDBfcGxhdCA9PSAxKQotCQlyZXR1cm47Ci0KLQkvKgotCSAqIExvY2F0ZSB0aGUgSU9BUElDIHRoYXQgbWFuYWdlcyB0aGUgSVNBIElSUXMgKDAtMTUpLgotCSAqLwotCWlvYXBpYyA9IG1wX2ZpbmRfaW9hcGljKDApOwotCWlmIChpb2FwaWMgPCAwKQotCQlyZXR1cm47Ci0KLQlpbnRzcmMubXBjX3R5cGUgPSBNUF9JTlRTUkM7Ci0JaW50c3JjLm1wY19pcnFmbGFnID0gMDsJLyogQ29uZm9ybWluZyAqLwotCWludHNyYy5tcGNfc3JjYnVzID0gTVBfSVNBX0JVUzsKICNpZmRlZiBDT05GSUdfWDg2X0lPX0FQSUMKLQlpbnRzcmMubXBjX2RzdGFwaWMgPSBtcF9pb2FwaWNzW2lvYXBpY10ubXBjX2FwaWNpZDsKKwlpbnQgaTsKKwlpbnQgbnJfbV9zcGFyZSA9IDA7CiAjZW5kaWYKLQkvKgotCSAqIFVzZSB0aGUgZGVmYXVsdCBjb25maWd1cmF0aW9uIGZvciB0aGUgSVJRcyAwLTE1LiAgVW5sZXNzCi0JICogb3ZlcnJpZGRlbiBieSAoTUFEVCkgaW50ZXJydXB0IHNvdXJjZSBvdmVycmlkZSBlbnRyaWVzLgotCSAqLwotCWZvciAoaSA9IDA7IGkgPCAxNjsgaSsrKSB7Ci0JCWludCBpZHg7CiAKLQkJZm9yIChpZHggPSAwOyBpZHggPCBtcF9pcnFfZW50cmllczsgaWR4KyspIHsKLQkJCXN0cnVjdCBtcGNfY29uZmlnX2ludHNyYyAqaXJxID0gbXBfaXJxcyArIGlkeDsKKwlpbnQgY291bnQgPSBzaXplb2YoKm1wYyk7CisJdW5zaWduZWQgY2hhciAqbXB0ID0gKCh1bnNpZ25lZCBjaGFyICopbXBjKSArIGNvdW50OwogCi0JCQkvKiBEbyB3ZSBhbHJlYWR5IGhhdmUgYSBtYXBwaW5nIGZvciB0aGlzIElTQSBJUlE/ICovCi0JCQlpZiAoaXJxLT5tcGNfc3JjYnVzID09IE1QX0lTQV9CVVMKLQkJCSAgICAmJiBpcnEtPm1wY19zcmNidXNpcnEgPT0gaSkKKwlwcmludGsoS0VSTl9JTkZPICJtcGNfbGVuZ3RoICV4XG4iLCBtcGMtPm1wY19sZW5ndGgpOworCXdoaWxlIChjb3VudCA8IG1wYy0+bXBjX2xlbmd0aCkgeworCQlzd2l0Y2ggKCptcHQpIHsKKwkJY2FzZSBNUF9QUk9DRVNTT1I6CisJCQl7CisJCQkJc3RydWN0IG1wY19jb25maWdfcHJvY2Vzc29yICptID0KKwkJCQkgICAgKHN0cnVjdCBtcGNfY29uZmlnX3Byb2Nlc3NvciAqKW1wdDsKKwkJCQltcHQgKz0gc2l6ZW9mKCptKTsKKwkJCQljb3VudCArPSBzaXplb2YoKm0pOwogCQkJCWJyZWFrOwotCi0JCQkvKiBEbyB3ZSBhbHJlYWR5IGhhdmUgYSBtYXBwaW5nIGZvciB0aGlzIElPQVBJQyBwaW4gKi8KLQkJCWlmICgoaXJxLT5tcGNfZHN0YXBpYyA9PSBpbnRzcmMubXBjX2RzdGFwaWMpICYmCi0JCQkgICAgKGlycS0+bXBjX2RzdGlycSA9PSBpKSkKKwkJCX0KKwkJY2FzZSBNUF9CVVM6CisJCQl7CisJCQkJc3RydWN0IG1wY19jb25maWdfYnVzICptID0KKwkJCQkgICAgKHN0cnVjdCBtcGNfY29uZmlnX2J1cyAqKW1wdDsKKwkJCQltcHQgKz0gc2l6ZW9mKCptKTsKKwkJCQljb3VudCArPSBzaXplb2YoKm0pOwogCQkJCWJyZWFrOworCQkJfQorCQljYXNlIE1QX0lPQVBJQzoKKwkJCXsKKwkJCQltcHQgKz0gc2l6ZW9mKHN0cnVjdCBtcGNfY29uZmlnX2lvYXBpYyk7CisJCQkJY291bnQgKz0gc2l6ZW9mKHN0cnVjdCBtcGNfY29uZmlnX2lvYXBpYyk7CisJCQkJYnJlYWs7CisJCQl9CisJCWNhc2UgTVBfSU5UU1JDOgorCQkJeworI2lmZGVmIENPTkZJR19YODZfSU9fQVBJQworCQkJCXN0cnVjdCBtcGNfY29uZmlnX2ludHNyYyAqbSA9CisJCQkJICAgIChzdHJ1Y3QgbXBjX2NvbmZpZ19pbnRzcmMgKiltcHQ7CisKKwkJCQlwcmludGsoS0VSTl9JTkZPICJPTEQgIik7CisJCQkJcHJpbnRfTVBfaW50c3JjX2luZm8obSk7CisJCQkJaSA9IGdldF9NUF9pbnRzcmNfaW5kZXgobSk7CisJCQkJaWYgKGkgPiAwKSB7CisJCQkJCWFzc2lnbl90b19tcGNfaW50c3JjKCZtcF9pcnFzW2ldLCBtKTsKKwkJCQkJcHJpbnRrKEtFUk5fSU5GTyAiTkVXICIpOworCQkJCQlwcmludF9tcF9pcnFfaW5mbygmbXBfaXJxc1tpXSk7CisJCQkJfSBlbHNlIGlmICghaSkgeworCQkJCQkvKiBsZWdhY3ksIGRvIG5vdGhpbmcgKi8KKwkJCQl9IGVsc2UgaWYgKG5yX21fc3BhcmUgPCBTUEFSRV9TTE9UX05VTSkgeworCQkJCQkvKgorCQkJCQkgKiBub3QgZm91bmQgKC0xKSwgb3IgZHVwbGljYXRlZCAoLTIpCisJCQkJCSAqIGFyZSBpbnZhbGlkIGVudHJpZXMsCisJCQkJCSAqIHdlIG5lZWQgdG8gdXNlIHRoZSBzbG90ICBsYXRlcgorCQkJCQkgKi8KKwkJCQkJbV9zcGFyZVtucl9tX3NwYXJlXSA9IG07CisJCQkJCW5yX21fc3BhcmUrKzsKKwkJCQl9CisjZW5kaWYKKwkJCQltcHQgKz0gc2l6ZW9mKHN0cnVjdCBtcGNfY29uZmlnX2ludHNyYyk7CisJCQkJY291bnQgKz0gc2l6ZW9mKHN0cnVjdCBtcGNfY29uZmlnX2ludHNyYyk7CisJCQkJYnJlYWs7CisJCQl9CisJCWNhc2UgTVBfTElOVFNSQzoKKwkJCXsKKwkJCQlzdHJ1Y3QgbXBjX2NvbmZpZ19saW50c3JjICptID0KKwkJCQkgICAgKHN0cnVjdCBtcGNfY29uZmlnX2xpbnRzcmMgKiltcHQ7CisJCQkJbXB0ICs9IHNpemVvZigqbSk7CisJCQkJY291bnQgKz0gc2l6ZW9mKCptKTsKKwkJCQlicmVhazsKKwkJCX0KKwkJZGVmYXVsdDoKKwkJCS8qIHdyb25nIG1wdGFibGUgKi8KKwkJCXByaW50ayhLRVJOX0VSUiAiWW91ciBtcHRhYmxlIGlzIHdyb25nLCBjb250YWN0IHlvdXIgSFcgdmVuZG9yIVxuIik7CisJCQlwcmludGsoS0VSTl9FUlIgInR5cGUgJXhcbiIsICptcHQpOworCQkJcHJpbnRfaGV4X2R1bXAoS0VSTl9FUlIsICIgICIsIERVTVBfUFJFRklYX0FERFJFU1MsIDE2LAorCQkJCQkxLCBtcGMsIG1wYy0+bXBjX2xlbmd0aCwgMSk7CisJCQlnb3RvIG91dDsKIAkJfQotCi0JCWlmIChpZHggIT0gbXBfaXJxX2VudHJpZXMpIHsKLQkJCXByaW50ayhLRVJOX0RFQlVHICJBQ1BJOiBJUlElZCB1c2VkIGJ5IG92ZXJyaWRlLlxuIiwgaSk7Ci0JCQljb250aW51ZTsJLyogSVJRIGFscmVhZHkgdXNlZCAqLwotCQl9Ci0KLQkJaW50c3JjLm1wY19pcnF0eXBlID0gbXBfSU5UOwotCQlpbnRzcmMubXBjX3NyY2J1c2lycSA9IGk7CS8qIElkZW50aXR5IG1hcHBlZCAqLwotCQlpbnRzcmMubXBjX2RzdGlycSA9IGk7Ci0KLQkJTVBfaW50c3JjX2luZm8oJmludHNyYyk7Ci0JfQotfQotCi1pbnQgbXBfcmVnaXN0ZXJfZ3NpKHUzMiBnc2ksIGludCB0cmlnZ2VyaW5nLCBpbnQgcG9sYXJpdHkpCi17Ci0JaW50IGlvYXBpYzsKLQlpbnQgaW9hcGljX3BpbjsKLSNpZmRlZiBDT05GSUdfWDg2XzMyCi0jZGVmaW5lIE1BWF9HU0lfTlVNCTQwOTYKLSNkZWZpbmUgSVJRX0NPTVBSRVNTSU9OX1NUQVJUCTY0Ci0KLQlzdGF0aWMgaW50IHBjaV9pcnEgPSBJUlFfQ09NUFJFU1NJT05fU1RBUlQ7Ci0JLyoKLQkgKiBNYXBwaW5nIGJldHdlZW4gR2xvYmFsIFN5c3RlbSBJbnRlcnJ1cHRzLCB3aGljaAotCSAqIHJlcHJlc2VudCBhbGwgcG9zc2libGUgaW50ZXJydXB0cywgYW5kIElSUXMKLQkgKiBhc3NpZ25lZCB0byBhY3R1YWwgZGV2aWNlcy4KLQkgKi8KLQlzdGF0aWMgaW50IGdzaV90b19pcnFbTUFYX0dTSV9OVU1dOwotI2Vsc2UKLQotCWlmIChhY3BpX2lycV9tb2RlbCAhPSBBQ1BJX0lSUV9NT0RFTF9JT0FQSUMpCi0JCXJldHVybiBnc2k7Ci0jZW5kaWYKLQotCS8qIERvbid0IHNldCB1cCB0aGUgQUNQSSBTQ0kgYmVjYXVzZSBpdCdzIGFscmVhZHkgc2V0IHVwICovCi0JaWYgKGFjcGlfZ2JsX0ZBRFQuc2NpX2ludGVycnVwdCA9PSBnc2kpCi0JCXJldHVybiBnc2k7Ci0KLQlpb2FwaWMgPSBtcF9maW5kX2lvYXBpYyhnc2kpOwotCWlmIChpb2FwaWMgPCAwKSB7Ci0JCXByaW50ayhLRVJOX1dBUk5JTkcgIk5vIElPQVBJQyBmb3IgR1NJICV1XG4iLCBnc2kpOwotCQlyZXR1cm4gZ3NpOwogCX0KIAotCWlvYXBpY19waW4gPSBnc2kgLSBtcF9pb2FwaWNfcm91dGluZ1tpb2FwaWNdLmdzaV9iYXNlOworI2lmZGVmIENPTkZJR19YODZfSU9fQVBJQworCWZvciAoaSA9IDA7IGkgPCBtcF9pcnFfZW50cmllczsgaSsrKSB7CisJCWlmIChpcnFfdXNlZFtpXSkKKwkJCWNvbnRpbnVlOwogCi0jaWZkZWYgQ09ORklHX1g4Nl8zMgotCWlmIChpb2FwaWNfcmVudW1iZXJfaXJxKQotCQlnc2kgPSBpb2FwaWNfcmVudW1iZXJfaXJxKGlvYXBpYywgZ3NpKTsKLSNlbmRpZgorCQlpZiAobXBfaXJxc1tpXS5tcF9pcnF0eXBlICE9IG1wX0lOVCkKKwkJCWNvbnRpbnVlOwogCi0JLyoKLQkgKiBBdm9pZCBwaW4gcmVwcm9ncmFtbWluZy4gIFBSVHMgdHlwaWNhbGx5IGluY2x1ZGUgZW50cmllcwotCSAqIHdpdGggcmVkdW5kYW50IHBpbi0+Z3NpIG1hcHBpbmdzIChidXQgdW5pcXVlIFBDSSBkZXZpY2VzKTsKLQkgKiB3ZSBvbmx5IHByb2dyYW0gdGhlIElPQVBJQyBvbiB0aGUgZmlyc3QuCi0JICovCi0JaWYgKGlvYXBpY19waW4gPiBNUF9NQVhfSU9BUElDX1BJTikgewotCQlwcmludGsoS0VSTl9FUlIgIkludmFsaWQgcmVmZXJlbmNlIHRvIElPQVBJQyBwaW4gIgotCQkgICAgICAgIiVkLSVkXG4iLCBtcF9pb2FwaWNfcm91dGluZ1tpb2FwaWNdLmFwaWNfaWQsCi0JCSAgICAgICBpb2FwaWNfcGluKTsKLQkJcmV0dXJuIGdzaTsKLQl9Ci0JaWYgKHRlc3RfYml0KGlvYXBpY19waW4sIG1wX2lvYXBpY19yb3V0aW5nW2lvYXBpY10ucGluX3Byb2dyYW1tZWQpKSB7Ci0JCURwcmludGsoS0VSTl9ERUJVRyAiUGluICVkLSVkIGFscmVhZHkgcHJvZ3JhbW1lZFxuIiwKLQkJCW1wX2lvYXBpY19yb3V0aW5nW2lvYXBpY10uYXBpY19pZCwgaW9hcGljX3Bpbik7Ci0jaWZkZWYgQ09ORklHX1g4Nl8zMgotCQlyZXR1cm4gKGdzaSA8IElSUV9DT01QUkVTU0lPTl9TVEFSVCA/IGdzaSA6IGdzaV90b19pcnFbZ3NpXSk7Ci0jZWxzZQotCQlyZXR1cm4gZ3NpOwotI2VuZGlmCi0JfQorCQlpZiAobXBfaXJxc1tpXS5tcF9pcnFmbGFnICE9IDB4MGYpCisJCQljb250aW51ZTsKIAotCXNldF9iaXQoaW9hcGljX3BpbiwgbXBfaW9hcGljX3JvdXRpbmdbaW9hcGljXS5waW5fcHJvZ3JhbW1lZCk7Ci0jaWZkZWYgQ09ORklHX1g4Nl8zMgotCS8qCi0JICogRm9yIEdTSSA+PSA2NCwgdXNlIElSUSBjb21wcmVzc2lvbgotCSAqLwotCWlmICgoZ3NpID49IElSUV9DT01QUkVTU0lPTl9TVEFSVCkKLQkgICAgJiYgKHRyaWdnZXJpbmcgPT0gQUNQSV9MRVZFTF9TRU5TSVRJVkUpKSB7Ci0JCS8qCi0JCSAqIEZvciBQQ0kgZGV2aWNlcyBhc3NpZ24gSVJRcyBpbiBvcmRlciwgYXZvaWRpbmcgZ2FwcwotCQkgKiBkdWUgdG8gdW51c2VkIEkvTyBBUElDIHBpbnMuCi0JCSAqLwotCQlpbnQgaXJxID0gZ3NpOwotCQlpZiAoZ3NpIDwgTUFYX0dTSV9OVU0pIHsKLQkJCS8qCi0JCQkgKiBSZXRhaW4gdGhlIFZJQSBjaGlwc2V0IHdvcmstYXJvdW5kIChnc2kgPiAxNSksIGJ1dAotCQkJICogYXZvaWQgYSBwcm9ibGVtIHdoZXJlIHRoZSA4MjU0IHRpbWVyIChJUlEwKSBpcyBzZXR1cAotCQkJICogdmlhIGFuIG92ZXJyaWRlIChzbyBpdCdzIG5vdCBvbiBwaW4gMCBvZiB0aGUgaW9hcGljKSwKLQkJCSAqIGFuZCBhdCB0aGUgc2FtZSB0aW1lLCB0aGUgcGluIDAgaW50ZXJydXB0IGlzIGEgUENJCi0JCQkgKiB0eXBlLiAgVGhlIGdzaSA+IDE1IHRlc3QgY291bGQgY2F1c2UgdGhlc2UgdHdvIHBpbnMKLQkJCSAqIHRvIGJlIHNoYXJlZCBhcyBJUlEwLCBhbmQgdGhleSBhcmUgbm90IHNoYXJlYWJsZS4KLQkJCSAqIFNvIHRlc3QgZm9yIHRoaXMgY29uZGl0aW9uLCBhbmQgaWYgbmVjZXNzYXJ5LCBhdm9pZAotCQkJICogdGhlIHBpbiBjb2xsaXNpb24uCi0JCQkgKi8KLQkJCWdzaSA9IHBjaV9pcnErKzsKLQkJCS8qCi0JCQkgKiBEb24ndCBhc3NpZ24gSVJRIHVzZWQgYnkgQUNQSSBTQ0kKLQkJCSAqLwotCQkJaWYgKGdzaSA9PSBhY3BpX2dibF9GQURULnNjaV9pbnRlcnJ1cHQpCi0JCQkJZ3NpID0gcGNpX2lycSsrOwotCQkJZ3NpX3RvX2lycVtpcnFdID0gZ3NpOworCQlpZiAobnJfbV9zcGFyZSA+IDApIHsKKwkJCXByaW50ayhLRVJOX0lORk8gIipORVcqIGZvdW5kICIpOworCQkJbnJfbV9zcGFyZS0tOworCQkJYXNzaWduX3RvX21wY19pbnRzcmMoJm1wX2lycXNbaV0sIG1fc3BhcmVbbnJfbV9zcGFyZV0pOworCQkJbV9zcGFyZVtucl9tX3NwYXJlXSA9IE5VTEw7CiAJCX0gZWxzZSB7Ci0JCQlwcmludGsoS0VSTl9FUlIgIkdTSSAldSBpcyB0b28gaGlnaFxuIiwgZ3NpKTsKLQkJCXJldHVybiBnc2k7CisJCQlzdHJ1Y3QgbXBjX2NvbmZpZ19pbnRzcmMgKm0gPQorCQkJICAgIChzdHJ1Y3QgbXBjX2NvbmZpZ19pbnRzcmMgKiltcHQ7CisJCQljb3VudCArPSBzaXplb2Yoc3RydWN0IG1wY19jb25maWdfaW50c3JjKTsKKwkJCWlmICghbXBjX25ld19waHlzKSB7CisJCQkJcHJpbnRrKEtFUk5fSU5GTyAiTm8gc3BhcmUgc2xvdHMsIHRyeSB0byBhcHBlbmQuLi50YWtlIHlvdXIgcmlzaywgbmV3IG1wY19sZW5ndGggJXhcbiIsIGNvdW50KTsKKwkJCX0gZWxzZSB7CisJCQkJaWYgKGNvdW50IDw9IG1wY19uZXdfbGVuZ3RoKQorCQkJCQlwcmludGsoS0VSTl9JTkZPICJObyBzcGFyZSBzbG90cywgdHJ5IHRvIGFwcGVuZC4uLiwgbmV3IG1wY19sZW5ndGggJXhcbiIsIGNvdW50KTsKKwkJCQllbHNlIHsKKwkJCQkJcHJpbnRrKEtFUk5fRVJSICJtcGNfbmV3X2xlbmd0aCAlbHggaXMgdG9vIHNtYWxsXG4iLCBtcGNfbmV3X2xlbmd0aCk7CisJCQkJCWdvdG8gb3V0OworCQkJCX0KKwkJCX0KKwkJCWFzc2lnbl90b19tcGNfaW50c3JjKCZtcF9pcnFzW2ldLCBtKTsKKwkJCW1wYy0+bXBjX2xlbmd0aCA9IGNvdW50OworCQkJbXB0ICs9IHNpemVvZihzdHJ1Y3QgbXBjX2NvbmZpZ19pbnRzcmMpOwogCQl9CisJCXByaW50X21wX2lycV9pbmZvKCZtcF9pcnFzW2ldKTsKIAl9CiAjZW5kaWYKLQlpb19hcGljX3NldF9wY2lfcm91dGluZyhpb2FwaWMsIGlvYXBpY19waW4sIGdzaSwKLQkJCQl0cmlnZ2VyaW5nID09IEFDUElfRURHRV9TRU5TSVRJVkUgPyAwIDogMSwKLQkJCQlwb2xhcml0eSA9PSBBQ1BJX0FDVElWRV9ISUdIID8gMCA6IDEpOwotCXJldHVybiBnc2k7CitvdXQ6CisJLyogdXBkYXRlIGNoZWNrc3VtICovCisJbXBjLT5tcGNfY2hlY2tzdW0gPSAwOworCW1wYy0+bXBjX2NoZWNrc3VtIC09IG1wZl9jaGVja3N1bSgodW5zaWduZWQgY2hhciAqKW1wYywKKwkJCQkJICAgbXBjLT5tcGNfbGVuZ3RoKTsKKworCXJldHVybiAwOwogfQogCi0jZW5kaWYgLyogQ09ORklHX1g4Nl9JT19BUElDICovCi0jZW5kaWYgLyogQ09ORklHX0FDUEkgKi8KK3N0YXRpYyBpbnQgX19pbml0ZGF0YSBlbmFibGVfdXBkYXRlX21wdGFibGU7CisKK3N0YXRpYyBpbnQgX19pbml0IHVwZGF0ZV9tcHRhYmxlX3NldHVwKGNoYXIgKnN0cikKK3sKKwllbmFibGVfdXBkYXRlX21wdGFibGUgPSAxOworCXJldHVybiAwOworfQorZWFybHlfcGFyYW0oInVwZGF0ZV9tcHRhYmxlIiwgdXBkYXRlX21wdGFibGVfc2V0dXApOworCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfX2luaXRkYXRhIG1wY19uZXdfcGh5czsKK3N0YXRpYyB1bnNpZ25lZCBsb25nIG1wY19uZXdfbGVuZ3RoIF9faW5pdGRhdGEgPSA0MDk2OworCisvKiBhbGxvY19tcHRhYmxlIG9yIGFsbG9jX21wdGFibGU9NGsgKi8KK3N0YXRpYyBpbnQgX19pbml0ZGF0YSBhbGxvY19tcHRhYmxlOworc3RhdGljIGludCBfX2luaXQgcGFyc2VfYWxsb2NfbXB0YWJsZV9vcHQoY2hhciAqcCkKK3sKKwllbmFibGVfdXBkYXRlX21wdGFibGUgPSAxOworCWFsbG9jX21wdGFibGUgPSAxOworCWlmICghcCkKKwkJcmV0dXJuIDA7CisJbXBjX25ld19sZW5ndGggPSBtZW1wYXJzZShwLCAmcCk7CisJcmV0dXJuIDA7Cit9CitlYXJseV9wYXJhbSgiYWxsb2NfbXB0YWJsZSIsIHBhcnNlX2FsbG9jX21wdGFibGVfb3B0KTsKKwordm9pZCBfX2luaXQgZWFybHlfcmVzZXJ2ZV9lODIwX21wY19uZXcodm9pZCkKK3sKKwlpZiAoZW5hYmxlX3VwZGF0ZV9tcHRhYmxlICYmIGFsbG9jX21wdGFibGUpIHsKKwkJdTY0IHN0YXJ0dCA9IDA7CisjaWZkZWYgQ09ORklHX1g4Nl9UUkFNUE9MSU5FCisJCXN0YXJ0dCA9IFRSQU1QT0xJTkVfQkFTRTsKKyNlbmRpZgorCQltcGNfbmV3X3BoeXMgPSBlYXJseV9yZXNlcnZlX2U4MjAoc3RhcnR0LCBtcGNfbmV3X2xlbmd0aCwgNCk7CisJfQorfQorCitzdGF0aWMgaW50IF9faW5pdCB1cGRhdGVfbXBfdGFibGUodm9pZCkKK3sKKwljaGFyIHN0clsxNl07CisJY2hhciBvZW1bMTBdOworCXN0cnVjdCBpbnRlbF9tcF9mbG9hdGluZyAqbXBmOworCXN0cnVjdCBtcF9jb25maWdfdGFibGUgKm1wYzsKKwlzdHJ1Y3QgbXBfY29uZmlnX3RhYmxlICptcGNfbmV3OworCisJaWYgKCFlbmFibGVfdXBkYXRlX21wdGFibGUpCisJCXJldHVybiAwOworCisJbXBmID0gbXBmX2ZvdW5kOworCWlmICghbXBmKQorCQlyZXR1cm4gMDsKKworCS8qCisJICogTm93IHNlZSBpZiB3ZSBuZWVkIHRvIGdvIGZ1cnRoZXIuCisJICovCisJaWYgKG1wZi0+bXBmX2ZlYXR1cmUxICE9IDApCisJCXJldHVybiAwOworCisJaWYgKCFtcGYtPm1wZl9waHlzcHRyKQorCQlyZXR1cm4gMDsKKworCW1wYyA9IHBoeXNfdG9fdmlydChtcGYtPm1wZl9waHlzcHRyKTsKKworCWlmICghc21wX2NoZWNrX21wYyhtcGMsIG9lbSwgc3RyKSkKKwkJcmV0dXJuIDA7CisKKwlwcmludGsoS0VSTl9JTkZPICJtcGY6ICVseFxuIiwgdmlydF90b19waHlzKG1wZikpOworCXByaW50ayhLRVJOX0lORk8gIm1wZl9waHlzcHRyOiAleFxuIiwgbXBmLT5tcGZfcGh5c3B0cik7CisKKwlpZiAobXBjX25ld19waHlzICYmIG1wYy0+bXBjX2xlbmd0aCA+IG1wY19uZXdfbGVuZ3RoKSB7CisJCW1wY19uZXdfcGh5cyA9IDA7CisJCXByaW50ayhLRVJOX0lORk8gIm1wY19uZXdfbGVuZ3RoIGlzICVsZCwgcGxlYXNlIHVzZSBhbGxvY19tcHRhYmxlPThrXG4iLAorCQkJIG1wY19uZXdfbGVuZ3RoKTsKKwl9CisKKwlpZiAoIW1wY19uZXdfcGh5cykgeworCQl1bnNpZ25lZCBjaGFyIG9sZCwgbmV3OworCQkvKiBjaGVjayBpZiB3ZSBjYW4gY2hhbmdlIHRoZSBwb3N0aW9uICovCisJCW1wYy0+bXBjX2NoZWNrc3VtID0gMDsKKwkJb2xkID0gbXBmX2NoZWNrc3VtKCh1bnNpZ25lZCBjaGFyICopbXBjLCBtcGMtPm1wY19sZW5ndGgpOworCQltcGMtPm1wY19jaGVja3N1bSA9IDB4ZmY7CisJCW5ldyA9IG1wZl9jaGVja3N1bSgodW5zaWduZWQgY2hhciAqKW1wYywgbXBjLT5tcGNfbGVuZ3RoKTsKKwkJaWYgKG9sZCA9PSBuZXcpIHsKKwkJCXByaW50ayhLRVJOX0lORk8gIm1wYyBpcyByZWFkb25seSwgcGxlYXNlIHRyeSBhbGxvY19tcHRhYmxlIGluc3RlYWRcbiIpOworCQkJcmV0dXJuIDA7CisJCX0KKwkJcHJpbnRrKEtFUk5fSU5GTyAidXNlIGluLXBvc2l0b24gcmVwbGFjaW5nXG4iKTsKKwl9IGVsc2UgeworCQltcGYtPm1wZl9waHlzcHRyID0gbXBjX25ld19waHlzOworCQltcGNfbmV3ID0gcGh5c190b192aXJ0KG1wY19uZXdfcGh5cyk7CisJCW1lbWNweShtcGNfbmV3LCBtcGMsIG1wYy0+bXBjX2xlbmd0aCk7CisJCW1wYyA9IG1wY19uZXc7CisJCS8qIGNoZWNrIGlmIHdlIGNhbiBtb2RpZnkgdGhhdCAqLworCQlpZiAobXBjX25ld19waHlzIC0gbXBmLT5tcGZfcGh5c3B0cikgeworCQkJc3RydWN0IGludGVsX21wX2Zsb2F0aW5nICptcGZfbmV3OworCQkJLyogc3RlYWwgMTYgYnl0ZXMgZnJvbSBbMCwgMWspICovCisJCQlwcmludGsoS0VSTl9JTkZPICJtcGYgbmV3OiAleFxuIiwgMHg0MDAgLSAxNik7CisJCQltcGZfbmV3ID0gcGh5c190b192aXJ0KDB4NDAwIC0gMTYpOworCQkJbWVtY3B5KG1wZl9uZXcsIG1wZiwgMTYpOworCQkJbXBmID0gbXBmX25ldzsKKwkJCW1wZi0+bXBmX3BoeXNwdHIgPSBtcGNfbmV3X3BoeXM7CisJCX0KKwkJbXBmLT5tcGZfY2hlY2tzdW0gPSAwOworCQltcGYtPm1wZl9jaGVja3N1bSAtPSBtcGZfY2hlY2tzdW0oKHVuc2lnbmVkIGNoYXIgKiltcGYsIDE2KTsKKwkJcHJpbnRrKEtFUk5fSU5GTyAibXBmX3BoeXNwdHIgbmV3OiAleFxuIiwgbXBmLT5tcGZfcGh5c3B0cik7CisJfQorCisJLyoKKwkgKiBvbmx5IHJlcGxhY2UgdGhlIG9uZSB3aXRoIG1wX0lOVCBhbmQKKwkgKgkgTVBfSVJRX1RSSUdHRVJfTEVWRUx8TVBfSVJRX1BPTEFSSVRZX0xPVywKKwkgKiBhbHJlYWR5IGluIG1wX2lycXMgLCBzdG9yZWQgYnkgLi4uIGFuZCBtcF9jb25maWdfYWNwaV9nc2ksCisJICogbWF5IG5lZWQgcGNpPXJvdXRlaXJxIGZvciBhbGwgY292ZXJhZ2UKKwkgKi8KKwlyZXBsYWNlX2ludHNyY19hbGwobXBjLCBtcGNfbmV3X3BoeXMsIG1wY19uZXdfbGVuZ3RoKTsKKworCXJldHVybiAwOworfQorCitsYXRlX2luaXRjYWxsKHVwZGF0ZV9tcF90YWJsZSk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvbXNyLmMgYi9hcmNoL3g4Ni9rZXJuZWwvbXNyLmMKaW5kZXggMWYzYWJlMC4uYTE1M2IzOSAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL21zci5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9tc3IuYwpAQCAtMTE3LDEyICsxMTcsMjAgQEAKIHsKIAl1bnNpZ25lZCBpbnQgY3B1ID0gaW1pbm9yKGZpbGUtPmZfcGF0aC5kZW50cnktPmRfaW5vZGUpOwogCXN0cnVjdCBjcHVpbmZvX3g4NiAqYyA9ICZjcHVfZGF0YShjcHUpOworCWludCByZXQgPSAwOwogCi0JaWYgKGNwdSA+PSBOUl9DUFVTIHx8ICFjcHVfb25saW5lKGNwdSkpCi0JCXJldHVybiAtRU5YSU87CS8qIE5vIHN1Y2ggQ1BVICovCisJbG9ja19rZXJuZWwoKTsKKwljcHUgPSBpbWlub3IoZmlsZS0+Zl9wYXRoLmRlbnRyeS0+ZF9pbm9kZSk7CisKKwlpZiAoY3B1ID49IE5SX0NQVVMgfHwgIWNwdV9vbmxpbmUoY3B1KSkgeworCQlyZXQgPSAtRU5YSU87CS8qIE5vIHN1Y2ggQ1BVICovCisJCWdvdG8gb3V0OworCX0KKwljID0gJmNwdV9kYXRhKGNwdSk7CiAJaWYgKCFjcHVfaGFzKGMsIFg4Nl9GRUFUVVJFX01TUikpCi0JCXJldHVybiAtRUlPOwkvKiBNU1Igbm90IHN1cHBvcnRlZCAqLwotCisJCXJldCA9IC1FSU87CS8qIE1TUiBub3Qgc3VwcG9ydGVkICovCitvdXQ6CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvbm1pXzY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvbm1pLmMKc2ltaWxhcml0eSBpbmRleCA2NyUKcmVuYW1lIGZyb20gYXJjaC94ODYva2VybmVsL25taV82NC5jCnJlbmFtZSB0byBhcmNoL3g4Ni9rZXJuZWwvbm1pLmMKaW5kZXggNWEyOWRlZC4uZWMwMjRiMyAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL25taV82NC5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9ubWkuYwpAQCAtNiwxMCArNiwxMyBAQAogICogIEZpeGVzOgogICogIE1pa2FlbCBQZXR0ZXJzc29uCTogQU1EIEs3IHN1cHBvcnQgZm9yIGxvY2FsIEFQSUMgTk1JIHdhdGNoZG9nLgogICogIE1pa2FlbCBQZXR0ZXJzc29uCTogUG93ZXIgTWFuYWdlbWVudCBmb3IgbG9jYWwgQVBJQyBOTUkgd2F0Y2hkb2cuCisgKiAgTWlrYWVsIFBldHRlcnNzb24JOiBQZW50aXVtIDQgc3VwcG9ydCBmb3IgbG9jYWwgQVBJQyBOTUkgd2F0Y2hkb2cuCiAgKiAgUGF2ZWwgTWFjaGVrIGFuZAogICogIE1pa2FlbCBQZXR0ZXJzc29uCTogUE0gY29udmVydGVkIHRvIGRyaXZlciBtb2RlbC4gRGlzYWJsZS9lbmFibGUgQVBJLgogICovCiAKKyNpbmNsdWRlIDxhc20vYXBpYy5oPgorCiAjaW5jbHVkZSA8bGludXgvbm1pLmg+CiAjaW5jbHVkZSA8bGludXgvbW0uaD4KICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgpAQCAtMTcsMjAgKzIwLDI2IEBACiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvc3lzZGV2Lmg+CiAjaW5jbHVkZSA8bGludXgvc3lzY3RsLmg+CisjaW5jbHVkZSA8bGludXgvcGVyY3B1Lmg+CiAjaW5jbHVkZSA8bGludXgva3Byb2Jlcy5oPgogI2luY2x1ZGUgPGxpbnV4L2NwdW1hc2suaD4KKyNpbmNsdWRlIDxsaW51eC9rZXJuZWxfc3RhdC5oPgogI2luY2x1ZGUgPGxpbnV4L2tkZWJ1Zy5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcC5oPgogCisjaW5jbHVkZSA8YXNtL2k4MjU5Lmg+CisjaW5jbHVkZSA8YXNtL2lvX2FwaWMuaD4KICNpbmNsdWRlIDxhc20vc21wLmg+CiAjaW5jbHVkZSA8YXNtL25taS5oPgogI2luY2x1ZGUgPGFzbS9wcm90by5oPgorI2luY2x1ZGUgPGFzbS90aW1lci5oPgorCiAjaW5jbHVkZSA8YXNtL21jZS5oPgogCiAjaW5jbHVkZSA8bWFjaF90cmFwcy5oPgogCiBpbnQgdW5rbm93bl9ubWlfcGFuaWM7CiBpbnQgbm1pX3dhdGNoZG9nX2VuYWJsZWQ7Ci1pbnQgcGFuaWNfb25fdW5yZWNvdmVyZWRfbm1pOwogCiBzdGF0aWMgY3B1bWFza190IGJhY2t0cmFjZV9tYXNrID0gQ1BVX01BU0tfTk9ORTsKIApAQCAtNDEsMzcgKzUwLDY1IEBACiAgKiAgMDogdGhlIGxhcGljIE5NSSB3YXRjaGRvZyBpcyBkaXNhYmxlZCwgYnV0IGNhbiBiZSBlbmFibGVkCiAgKi8KIGF0b21pY190IG5taV9hY3RpdmUgPSBBVE9NSUNfSU5JVCgwKTsJCS8qIG9wcm9maWxlIHVzZXMgdGhpcyAqLworRVhQT1JUX1NZTUJPTChubWlfYWN0aXZlKTsKKwordW5zaWduZWQgaW50IG5taV93YXRjaGRvZyA9IE5NSV9OT05FOworRVhQT1JUX1NZTUJPTChubWlfd2F0Y2hkb2cpOworCiBzdGF0aWMgaW50IHBhbmljX29uX3RpbWVvdXQ7CiAKLXVuc2lnbmVkIGludCBubWlfd2F0Y2hkb2cgPSBOTUlfREVGQVVMVDsKIHN0YXRpYyB1bnNpZ25lZCBpbnQgbm1pX2h6ID0gSFo7Ci0KIHN0YXRpYyBERUZJTkVfUEVSX0NQVShzaG9ydCwgd2RfZW5hYmxlZCk7CitzdGF0aWMgaW50IGVuZGZsYWcgX19pbml0ZGF0YTsKIAotLyogUnVuIGFmdGVyIGNvbW1hbmQgbGluZSBhbmQgY3B1X2luaXQgaW5pdCwgYnV0IGJlZm9yZSBhbGwgb3RoZXIgY2hlY2tzICovCi12b2lkIG5taV93YXRjaGRvZ19kZWZhdWx0KHZvaWQpCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCBnZXRfbm1pX2NvdW50KGludCBjcHUpCiB7Ci0JaWYgKG5taV93YXRjaGRvZyAhPSBOTUlfREVGQVVMVCkKLQkJcmV0dXJuOwotCW5taV93YXRjaGRvZyA9IE5NSV9OT05FOworI2lmZGVmIENPTkZJR19YODZfNjQKKwlyZXR1cm4gY3B1X3BkYShjcHUpLT5fX25taV9jb3VudDsKKyNlbHNlCisJcmV0dXJuIG5taV9jb3VudChjcHUpOworI2VuZGlmCiB9CiAKLXN0YXRpYyBpbnQgZW5kZmxhZyBfX2luaXRkYXRhID0gMDsKK3N0YXRpYyBpbmxpbmUgaW50IG1jZV9pbl9wcm9ncmVzcyh2b2lkKQoreworI2lmIGRlZmluZWQoQ09ORklHX1g4Nl82NCkgJiYgZGVmaW5lZChDT05GSUdfWDg2X01DRSkKKwlyZXR1cm4gYXRvbWljX3JlYWQoJm1jZV9lbnRyeSkgPiAwOworI2VuZGlmCisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBUYWtlIHRoZSBsb2NhbCBhcGljIHRpbWVyIGFuZCBQSVQvSFBFVCBpbnRvIGFjY291bnQuIFdlIGRvbid0CisgKiBrbm93IHdoaWNoIG9uZSBpcyBhY3RpdmUsIHdoZW4gd2UgaGF2ZSBoaWdocmVzL2R5bnRpY2sgb24KKyAqLworc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgZ2V0X3RpbWVyX2lycXMoaW50IGNwdSkKK3sKKyNpZmRlZiBDT05GSUdfWDg2XzY0CisJcmV0dXJuIHJlYWRfcGRhKGFwaWNfdGltZXJfaXJxcykgKyByZWFkX3BkYShpcnEwX2lycXMpOworI2Vsc2UKKwlyZXR1cm4gcGVyX2NwdShpcnFfc3RhdCwgY3B1KS5hcGljX3RpbWVyX2lycXMgKworCQlwZXJfY3B1KGlycV9zdGF0LCBjcHUpLmlycTBfaXJxczsKKyNlbmRpZgorfQogCiAjaWZkZWYgQ09ORklHX1NNUAotLyogVGhlIHBlcmZvcm1hbmNlIGNvdW50ZXJzIHVzZWQgYnkgTk1JX0xPQ0FMX0FQSUMgZG9uJ3QgdHJpZ2dlciB3aGVuCisvKgorICogVGhlIHBlcmZvcm1hbmNlIGNvdW50ZXJzIHVzZWQgYnkgTk1JX0xPQ0FMX0FQSUMgZG9uJ3QgdHJpZ2dlciB3aGVuCiAgKiB0aGUgQ1BVIGlzIGlkbGUuIFRvIG1ha2Ugc3VyZSB0aGUgTk1JIHdhdGNoZG9nIHJlYWxseSB0aWNrcyBvbiBhbGwKICAqIENQVXMgZHVyaW5nIHRoZSB0ZXN0IG1ha2UgdGhlbSBidXN5LgogICovCiBzdGF0aWMgX19pbml0IHZvaWQgbm1pX2NwdV9idXN5KHZvaWQgKmRhdGEpCiB7CiAJbG9jYWxfaXJxX2VuYWJsZV9pbl9oYXJkaXJxKCk7Ci0JLyogSW50ZW50aW9uYWxseSBkb24ndCB1c2UgY3B1X3JlbGF4IGhlcmUuIFRoaXMgaXMKLQkgICB0byBtYWtlIHN1cmUgdGhhdCB0aGUgcGVyZm9ybWFuY2UgY291bnRlciByZWFsbHkgdGlja3MsCi0JICAgZXZlbiBpZiB0aGVyZSBpcyBhIHNpbXVsYXRvciBvciBzaW1pbGFyIHRoYXQgY2F0Y2hlcyB0aGUKLQkgICBwYXVzZSBpbnN0cnVjdGlvbi4gT24gYSByZWFsIEhUIG1hY2hpbmUgdGhpcyBpcyBmaW5lIGJlY2F1c2UKLQkgICBhbGwgb3RoZXIgQ1BVcyBhcmUgYnVzeSB3aXRoICJ1c2VsZXNzIiBkZWxheSBsb29wcyBhbmQgZG9uJ3QKLQkgICBjYXJlIGlmIHRoZXkgZ2V0IHNvbWV3aGF0IGxlc3MgY3ljbGVzLiAqLworCS8qCisJICogSW50ZW50aW9uYWxseSBkb24ndCB1c2UgY3B1X3JlbGF4IGhlcmUuIFRoaXMgaXMKKwkgKiB0byBtYWtlIHN1cmUgdGhhdCB0aGUgcGVyZm9ybWFuY2UgY291bnRlciByZWFsbHkgdGlja3MsCisJICogZXZlbiBpZiB0aGVyZSBpcyBhIHNpbXVsYXRvciBvciBzaW1pbGFyIHRoYXQgY2F0Y2hlcyB0aGUKKwkgKiBwYXVzZSBpbnN0cnVjdGlvbi4gT24gYSByZWFsIEhUIG1hY2hpbmUgdGhpcyBpcyBmaW5lIGJlY2F1c2UKKwkgKiBhbGwgb3RoZXIgQ1BVcyBhcmUgYnVzeSB3aXRoICJ1c2VsZXNzIiBkZWxheSBsb29wcyBhbmQgZG9uJ3QKKwkgKiBjYXJlIGlmIHRoZXkgZ2V0IHNvbWV3aGF0IGxlc3MgY3ljbGVzLgorCSAqLwogCXdoaWxlIChlbmRmbGFnID09IDApCiAJCW1iKCk7CiB9CkBAIC03OSw0MCArMTE2LDM3IEBACiAKIGludCBfX2luaXQgY2hlY2tfbm1pX3dhdGNoZG9nKHZvaWQpCiB7Ci0JaW50ICpwcmV2X25taV9jb3VudDsKKwl1bnNpZ25lZCBpbnQgKnByZXZfbm1pX2NvdW50OwogCWludCBjcHU7CiAKLQlpZiAoKG5taV93YXRjaGRvZyA9PSBOTUlfTk9ORSkgfHwgKG5taV93YXRjaGRvZyA9PSBOTUlfRElTQUJMRUQpKQorCWlmICghbm1pX3dhdGNoZG9nX2FjdGl2ZSgpIHx8ICFhdG9taWNfcmVhZCgmbm1pX2FjdGl2ZSkpCiAJCXJldHVybiAwOwogCi0JaWYgKCFhdG9taWNfcmVhZCgmbm1pX2FjdGl2ZSkpCi0JCXJldHVybiAwOwotCi0JcHJldl9ubWlfY291bnQgPSBrbWFsbG9jKE5SX0NQVVMgKiBzaXplb2YoaW50KSwgR0ZQX0tFUk5FTCk7CisJcHJldl9ubWlfY291bnQgPSBrbWFsbG9jKG5yX2NwdV9pZHMgKiBzaXplb2YoaW50KSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCFwcmV2X25taV9jb3VudCkKLQkJcmV0dXJuIC0xOworCQlnb3RvIGVycm9yOwogCiAJcHJpbnRrKEtFUk5fSU5GTyAiVGVzdGluZyBOTUkgd2F0Y2hkb2cgLi4uICIpOwogCiAjaWZkZWYgQ09ORklHX1NNUAogCWlmIChubWlfd2F0Y2hkb2cgPT0gTk1JX0xPQ0FMX0FQSUMpCi0JCXNtcF9jYWxsX2Z1bmN0aW9uKG5taV9jcHVfYnVzeSwgKHZvaWQgKikmZW5kZmxhZywgMCwgMCk7CisJCXNtcF9jYWxsX2Z1bmN0aW9uKG5taV9jcHVfYnVzeSwgKHZvaWQgKikmZW5kZmxhZywgMCk7CiAjZW5kaWYKIAotCWZvciAoY3B1ID0gMDsgY3B1IDwgTlJfQ1BVUzsgY3B1KyspCi0JCXByZXZfbm1pX2NvdW50W2NwdV0gPSBjcHVfcGRhKGNwdSktPl9fbm1pX2NvdW50OworCWZvcl9lYWNoX3Bvc3NpYmxlX2NwdShjcHUpCisJCXByZXZfbm1pX2NvdW50W2NwdV0gPSBnZXRfbm1pX2NvdW50KGNwdSk7CiAJbG9jYWxfaXJxX2VuYWJsZSgpOwotCW1kZWxheSgoMjAqMTAwMCkvbm1pX2h6KTsgLy8gd2FpdCAyMCB0aWNrcworCW1kZWxheSgoMjAgKiAxMDAwKSAvIG5taV9oeik7IC8qIHdhaXQgMjAgdGlja3MgKi8KIAogCWZvcl9lYWNoX29ubGluZV9jcHUoY3B1KSB7CiAJCWlmICghcGVyX2NwdSh3ZF9lbmFibGVkLCBjcHUpKQogCQkJY29udGludWU7Ci0JCWlmIChjcHVfcGRhKGNwdSktPl9fbm1pX2NvdW50IC0gcHJldl9ubWlfY291bnRbY3B1XSA8PSA1KSB7CisJCWlmIChnZXRfbm1pX2NvdW50KGNwdSkgLSBwcmV2X25taV9jb3VudFtjcHVdIDw9IDUpIHsKIAkJCXByaW50ayhLRVJOX1dBUk5JTkcgIldBUk5JTkc6IENQVSMlZDogTk1JICIKLQkJCSAgICAgICAiYXBwZWFycyB0byBiZSBzdHVjayAoJWQtPiVkKSFcbiIsCisJCQkJImFwcGVhcnMgdG8gYmUgc3R1Y2sgKCVkLT4lZCkhXG4iLAogCQkJCWNwdSwKIAkJCQlwcmV2X25taV9jb3VudFtjcHVdLAotCQkJCWNwdV9wZGEoY3B1KS0+X19ubWlfY291bnQpOworCQkJCWdldF9ubWlfY291bnQoY3B1KSk7CiAJCQlwZXJfY3B1KHdkX2VuYWJsZWQsIGNwdSkgPSAwOwogCQkJYXRvbWljX2RlYygmbm1pX2FjdGl2ZSk7CiAJCX0KQEAgLTEyMSwyNCArMTU1LDMzIEBACiAJaWYgKCFhdG9taWNfcmVhZCgmbm1pX2FjdGl2ZSkpIHsKIAkJa2ZyZWUocHJldl9ubWlfY291bnQpOwogCQlhdG9taWNfc2V0KCZubWlfYWN0aXZlLCAtMSk7Ci0JCXJldHVybiAtMTsKKwkJZ290byBlcnJvcjsKIAl9CiAJcHJpbnRrKCJPSy5cbiIpOwogCi0JLyogbm93IHRoYXQgd2Uga25vdyBpdCB3b3JrcyB3ZSBjYW4gcmVkdWNlIE5NSSBmcmVxdWVuY3kgdG8KLQkgICBzb21ldGhpbmcgbW9yZSByZWFzb25hYmxlOyBtYWtlcyBhIGRpZmZlcmVuY2UgaW4gc29tZSBjb25maWdzICovCisJLyoKKwkgKiBub3cgdGhhdCB3ZSBrbm93IGl0IHdvcmtzIHdlIGNhbiByZWR1Y2UgTk1JIGZyZXF1ZW5jeSB0bworCSAqIHNvbWV0aGluZyBtb3JlIHJlYXNvbmFibGU7IG1ha2VzIGEgZGlmZmVyZW5jZSBpbiBzb21lIGNvbmZpZ3MKKwkgKi8KIAlpZiAobm1pX3dhdGNoZG9nID09IE5NSV9MT0NBTF9BUElDKQogCQlubWlfaHogPSBsYXBpY19hZGp1c3Rfbm1pX2h6KDEpOwogCiAJa2ZyZWUocHJldl9ubWlfY291bnQpOwogCXJldHVybiAwOworZXJyb3I6CisJaWYgKG5taV93YXRjaGRvZyA9PSBOTUlfSU9fQVBJQyAmJiAhdGltZXJfdGhyb3VnaF84MjU5KQorCQlkaXNhYmxlXzgyNTlBX2lycSgwKTsKKyNpZmRlZiBDT05GSUdfWDg2XzMyCisJdGltZXJfYWNrID0gMDsKKyNlbmRpZgorCXJldHVybiAtMTsKIH0KIAogc3RhdGljIGludCBfX2luaXQgc2V0dXBfbm1pX3dhdGNoZG9nKGNoYXIgKnN0cikKIHsKLQlpbnQgbm1pOworCXVuc2lnbmVkIGludCBubWk7CiAKLQlpZiAoIXN0cm5jbXAoc3RyLCJwYW5pYyIsNSkpIHsKKwlpZiAoIXN0cm5jbXAoc3RyLCAicGFuaWMiLCA1KSkgewogCQlwYW5pY19vbl90aW1lb3V0ID0gMTsKIAkJc3RyID0gc3RyY2hyKHN0ciwgJywnKTsKIAkJaWYgKCFzdHIpCkBAIC0xNDgsMTUgKzE5MSwxNyBAQAogCiAJZ2V0X29wdGlvbigmc3RyLCAmbm1pKTsKIAotCWlmICgobm1pID49IE5NSV9JTlZBTElEKSB8fCAobm1pIDwgTk1JX05PTkUpKQorCWlmIChubWkgPj0gTk1JX0lOVkFMSUQpCiAJCXJldHVybiAwOwogCiAJbm1pX3dhdGNoZG9nID0gbm1pOwogCXJldHVybiAxOwogfQotCiBfX3NldHVwKCJubWlfd2F0Y2hkb2c9Iiwgc2V0dXBfbm1pX3dhdGNoZG9nKTsKIAorLyoKKyAqIFN1c3BlbmQvcmVzdW1lIHN1cHBvcnQKKyAqLwogI2lmZGVmIENPTkZJR19QTQogCiBzdGF0aWMgaW50IG5taV9wbV9hY3RpdmU7IC8qIG5taV9hY3RpdmUgYmVmb3JlIHN1c3BlbmQgKi8KQEAgLTE5NSw3ICsyNDAsOCBAQAogewogCWludCBlcnJvcjsKIAotCS8qIHNob3VsZCByZWFsbHkgYmUgYSBCVUdfT04gYnV0IGIvYyB0aGlzIGlzIGFuCisJLyoKKwkgKiBzaG91bGQgcmVhbGx5IGJlIGEgQlVHX09OIGJ1dCBiL2MgdGhpcyBpcyBhbgogCSAqIGluaXQgY2FsbCwgaXQganVzdCBkb2Vzbid0IHdvcmsuICAtZGN6CiAJICovCiAJaWYgKG5taV93YXRjaGRvZyAhPSBOTUlfTE9DQUxfQVBJQykKQEAgLTIwOSw2ICsyNTUsNyBAQAogCQllcnJvciA9IHN5c2Rldl9yZWdpc3RlcigmZGV2aWNlX2xhcGljX25taSk7CiAJcmV0dXJuIGVycm9yOwogfQorCiAvKiBtdXN0IGNvbWUgYWZ0ZXIgdGhlIGxvY2FsIEFQSUMncyBkZXZpY2VfaW5pdGNhbGwoKSAqLwogbGF0ZV9pbml0Y2FsbChpbml0X2xhcGljX25taV9zeXNmcyk7CiAKQEAgLTIxNiw3ICsyNjMsNyBAQAogCiBzdGF0aWMgdm9pZCBfX2FjcGlfbm1pX2VuYWJsZSh2b2lkICpfX3VudXNlZCkKIHsKLQlhcGljX3dyaXRlKEFQSUNfTFZUMCwgQVBJQ19ETV9OTUkpOworCWFwaWNfd3JpdGVfYXJvdW5kKEFQSUNfTFZUMCwgQVBJQ19ETV9OTUkpOwogfQogCiAvKgpAQCAtMjI1LDEyICsyNzIsMTIgQEAKIHZvaWQgYWNwaV9ubWlfZW5hYmxlKHZvaWQpCiB7CiAJaWYgKGF0b21pY19yZWFkKCZubWlfYWN0aXZlKSAmJiBubWlfd2F0Y2hkb2cgPT0gTk1JX0lPX0FQSUMpCi0JCW9uX2VhY2hfY3B1KF9fYWNwaV9ubWlfZW5hYmxlLCBOVUxMLCAwLCAxKTsKKwkJb25fZWFjaF9jcHUoX19hY3BpX25taV9lbmFibGUsIE5VTEwsIDEpOwogfQogCiBzdGF0aWMgdm9pZCBfX2FjcGlfbm1pX2Rpc2FibGUodm9pZCAqX191bnVzZWQpCiB7Ci0JYXBpY193cml0ZShBUElDX0xWVDAsIEFQSUNfRE1fTk1JIHwgQVBJQ19MVlRfTUFTS0VEKTsKKwlhcGljX3dyaXRlX2Fyb3VuZChBUElDX0xWVDAsIEFQSUNfRE1fTk1JIHwgQVBJQ19MVlRfTUFTS0VEKTsKIH0KIAogLyoKQEAgLTIzOSw3ICsyODYsNyBAQAogdm9pZCBhY3BpX25taV9kaXNhYmxlKHZvaWQpCiB7CiAJaWYgKGF0b21pY19yZWFkKCZubWlfYWN0aXZlKSAmJiBubWlfd2F0Y2hkb2cgPT0gTk1JX0lPX0FQSUMpCi0JCW9uX2VhY2hfY3B1KF9fYWNwaV9ubWlfZGlzYWJsZSwgTlVMTCwgMCwgMSk7CisJCW9uX2VhY2hfY3B1KF9fYWNwaV9ubWlfZGlzYWJsZSwgTlVMTCwgMSk7CiB9CiAKIHZvaWQgc2V0dXBfYXBpY19ubWlfd2F0Y2hkb2codm9pZCAqdW51c2VkKQpAQCAtMjQ5LDExICsyOTYsMTIgQEAKIAogCS8qIGNoZWFwIGhhY2sgdG8gc3VwcG9ydCBzdXNwZW5kL3Jlc3VtZSAqLwogCS8qIGlmIGNwdTAgaXMgbm90IGFjdGl2ZSBuZWl0aGVyIHNob3VsZCB0aGUgb3RoZXIgY3B1cyAqLwotCWlmICgoc21wX3Byb2Nlc3Nvcl9pZCgpICE9IDApICYmIChhdG9taWNfcmVhZCgmbm1pX2FjdGl2ZSkgPD0gMCkpCisJaWYgKHNtcF9wcm9jZXNzb3JfaWQoKSAhPSAwICYmIGF0b21pY19yZWFkKCZubWlfYWN0aXZlKSA8PSAwKQogCQlyZXR1cm47CiAKIAlzd2l0Y2ggKG5taV93YXRjaGRvZykgewogCWNhc2UgTk1JX0xPQ0FMX0FQSUM6CisJCSAvKiBlbmFibGUgaXQgYmVmb3JlIHRvIGF2b2lkIHJhY2Ugd2l0aCBoYW5kbGVyICovCiAJCV9fZ2V0X2NwdV92YXIod2RfZW5hYmxlZCkgPSAxOwogCQlpZiAobGFwaWNfd2F0Y2hkb2dfaW5pdChubWlfaHopIDwgMCkgewogCQkJX19nZXRfY3B1X3Zhcih3ZF9lbmFibGVkKSA9IDA7CkBAIC0yNjksOSArMzE3LDggQEAKIHZvaWQgc3RvcF9hcGljX25taV93YXRjaGRvZyh2b2lkICp1bnVzZWQpCiB7CiAJLyogb25seSBzdXBwb3J0IExPQ0FMIGFuZCBJTyBBUElDcyBmb3Igbm93ICovCi0JaWYgKChubWlfd2F0Y2hkb2cgIT0gTk1JX0xPQ0FMX0FQSUMpICYmCi0JICAgIChubWlfd2F0Y2hkb2cgIT0gTk1JX0lPX0FQSUMpKQotCSAgICAJcmV0dXJuOworCWlmICghbm1pX3dhdGNoZG9nX2FjdGl2ZSgpKQorCQlyZXR1cm47CiAJaWYgKF9fZ2V0X2NwdV92YXIod2RfZW5hYmxlZCkgPT0gMCkKIAkJcmV0dXJuOwogCWlmIChubWlfd2F0Y2hkb2cgPT0gTk1JX0xPQ0FMX0FQSUMpCkBAIC0yODcsNiArMzM0LDExIEBACiAgKgogICogYXMgdGhlc2Ugd2F0Y2hkb2cgTk1JIElSUXMgYXJlIGdlbmVyYXRlZCBvbiBldmVyeSBDUFUsIHdlIG9ubHkKICAqIGhhdmUgdG8gY2hlY2sgdGhlIGN1cnJlbnQgcHJvY2Vzc29yLgorICoKKyAqIHNpbmNlIE5NSXMgZG9uJ3QgbGlzdGVuIHRvIF9hbnlfIGxvY2tzLCB3ZSBoYXZlIHRvIGJlIGV4dHJlbWVseQorICogY2FyZWZ1bCBub3QgdG8gcmVseSBvbiB1bnNhZmUgdmFyaWFibGVzLiBUaGUgcHJpbnRrIG1pZ2h0IGxvY2sKKyAqIHVwIHRob3VnaCwgc28gd2UgaGF2ZSB0byBicmVhayB1cCBhbnkgY29uc29sZSBsb2NrcyBmaXJzdCAuLi4KKyAqIFt3aGVuIHRoZXJlIHdpbGwgYmUgbW9yZSB0dHktcmVsYXRlZCBsb2NrcywgYnJlYWsgdGhlbSB1cCBoZXJlIHRvbyFdCiAgKi8KIAogc3RhdGljIERFRklORV9QRVJfQ1BVKHVuc2lnbmVkLCBsYXN0X2lycV9zdW0pOwpAQCAtMjk1LDExICszNDcsMTEgQEAKIAogdm9pZCB0b3VjaF9ubWlfd2F0Y2hkb2codm9pZCkKIHsKLQlpZiAobm1pX3dhdGNoZG9nID4gMCkgeworCWlmIChubWlfd2F0Y2hkb2dfYWN0aXZlKCkpIHsKIAkJdW5zaWduZWQgY3B1OwogCiAJCS8qCi0gCQkgKiBUZWxsIG90aGVyIENQVXMgdG8gcmVzZXQgdGhlaXIgYWxlcnQgY291bnRlcnMuIFdlIGNhbm5vdAorCQkgKiBUZWxsIG90aGVyIENQVXMgdG8gcmVzZXQgdGhlaXIgYWxlcnQgY291bnRlcnMuIFdlIGNhbm5vdAogCQkgKiBkbyBpdCBvdXJzZWx2ZXMgYmVjYXVzZSB0aGUgYWxlcnQgY291bnQgaW5jcmVhc2UgaXMgbm90CiAJCSAqIGF0b21pYy4KIAkJICovCkBAIC0zMDksNiArMzYxLDkgQEAKIAkJfQogCX0KIAorCS8qCisJICogVGlja2xlIHRoZSBzb2Z0bG9ja3VwIGRldGVjdG9yIHRvbzoKKwkgKi8KIAl0b3VjaF9zb2Z0bG9ja3VwX3dhdGNoZG9nKCk7CiB9CiBFWFBPUlRfU1lNQk9MKHRvdWNoX25taV93YXRjaGRvZyk7CkBAIC0zMTYsNyArMzcxLDEyIEBACiBub3RyYWNlIF9fa3Byb2JlcyBpbnQKIG5taV93YXRjaGRvZ190aWNrKHN0cnVjdCBwdF9yZWdzICpyZWdzLCB1bnNpZ25lZCByZWFzb24pCiB7Ci0JaW50IHN1bTsKKwkvKgorCSAqIFNpbmNlIGN1cnJlbnRfdGhyZWFkX2luZm8oKS0+IGlzIGFsd2F5cyBvbiB0aGUgc3RhY2ssIGFuZCB3ZQorCSAqIGFsd2F5cyBzd2l0Y2ggdGhlIHN0YWNrIE5NSS1hdG9taWNhbGx5LCBpdCdzIHNhZmUgdG8gdXNlCisJICogc21wX3Byb2Nlc3Nvcl9pZCgpLgorCSAqLworCXVuc2lnbmVkIGludCBzdW07CiAJaW50IHRvdWNoZWQgPSAwOwogCWludCBjcHUgPSBzbXBfcHJvY2Vzc29yX2lkKCk7CiAJaW50IHJjID0gMDsKQEAgLTMyOCw3ICszODgsOCBAQAogCQl0b3VjaGVkID0gMTsKIAl9CiAKLQlzdW0gPSByZWFkX3BkYShhcGljX3RpbWVyX2lycXMpICsgcmVhZF9wZGEoaXJxMF9pcnFzKTsKKwlzdW0gPSBnZXRfdGltZXJfaXJxcyhjcHUpOworCiAJaWYgKF9fZ2V0X2NwdV92YXIobm1pX3RvdWNoKSkgewogCQlfX2dldF9jcHVfdmFyKG5taV90b3VjaCkgPSAwOwogCQl0b3VjaGVkID0gMTsKQEAgLTMzOCwyOCArMzk5LDI5IEBACiAJCXN0YXRpYyBERUZJTkVfU1BJTkxPQ0sobG9jayk7CS8qIFNlcmlhbGlzZSB0aGUgcHJpbnRrcyAqLwogCiAJCXNwaW5fbG9jaygmbG9jayk7Ci0JCXByaW50aygiTk1JIGJhY2t0cmFjZSBmb3IgY3B1ICVkXG4iLCBjcHUpOworCQlwcmludGsoS0VSTl9XQVJOSU5HICJOTUkgYmFja3RyYWNlIGZvciBjcHUgJWRcbiIsIGNwdSk7CiAJCWR1bXBfc3RhY2soKTsKIAkJc3Bpbl91bmxvY2soJmxvY2spOwogCQljcHVfY2xlYXIoY3B1LCBiYWNrdHJhY2VfbWFzayk7CiAJfQogCi0jaWZkZWYgQ09ORklHX1g4Nl9NQ0UKLQkvKiBDb3VsZCBjaGVjayBvb3BzX2luX3Byb2dyZXNzIGhlcmUgdG9vLCBidXQgaXQncyBzYWZlcgotCSAgIG5vdCB0b28gKi8KLQlpZiAoYXRvbWljX3JlYWQoJm1jZV9lbnRyeSkgPiAwKQorCS8qIENvdWxkIGNoZWNrIG9vcHNfaW5fcHJvZ3Jlc3MgaGVyZSB0b28sIGJ1dCBpdCdzIHNhZmVyIG5vdCB0byAqLworCWlmIChtY2VfaW5fcHJvZ3Jlc3MoKSkKIAkJdG91Y2hlZCA9IDE7Ci0jZW5kaWYKLQkvKiBpZiB0aGUgYXBpYyB0aW1lciBpc24ndCBmaXJpbmcsIHRoaXMgY3B1IGlzbid0IGRvaW5nIG11Y2ggKi8KKworCS8qIGlmIHRoZSBub25lIG9mIHRoZSB0aW1lcnMgaXNuJ3QgZmlyaW5nLCB0aGlzIGNwdSBpc24ndCBkb2luZyBtdWNoICovCiAJaWYgKCF0b3VjaGVkICYmIF9fZ2V0X2NwdV92YXIobGFzdF9pcnFfc3VtKSA9PSBzdW0pIHsKIAkJLyoKIAkJICogQXlpZWUsIGxvb2tzIGxpa2UgdGhpcyBDUFUgaXMgc3R1Y2sgLi4uCiAJCSAqIHdhaXQgYSBmZXcgSVJRcyAoNSBzZWNvbmRzKSBiZWZvcmUgZG9pbmcgdGhlIG9vcHMgLi4uCiAJCSAqLwogCQlsb2NhbF9pbmMoJl9fZ2V0X2NwdV92YXIoYWxlcnRfY291bnRlcikpOwotCQlpZiAobG9jYWxfcmVhZCgmX19nZXRfY3B1X3ZhcihhbGVydF9jb3VudGVyKSkgPT0gNSpubWlfaHopCi0JCQlkaWVfbm1pKCJOTUkgV2F0Y2hkb2cgZGV0ZWN0ZWQgTE9DS1VQIG9uIENQVSAlZFxuIiwgcmVncywKLQkJCQlwYW5pY19vbl90aW1lb3V0KTsKKwkJaWYgKGxvY2FsX3JlYWQoJl9fZ2V0X2NwdV92YXIoYWxlcnRfY291bnRlcikpID09IDUgKiBubWlfaHopCisJCQkvKgorCQkJICogZGllX25taSB3aWxsIHJldHVybiBPTkxZIGlmIE5PVElGWV9TVE9QIGhhcHBlbnMuLgorCQkJICovCisJCQlkaWVfbm1pKCJCVUc6IE5NSSBXYXRjaGRvZyBkZXRlY3RlZCBMT0NLVVAiLAorCQkJCXJlZ3MsIHBhbmljX29uX3RpbWVvdXQpOwogCX0gZWxzZSB7CiAJCV9fZ2V0X2NwdV92YXIobGFzdF9pcnFfc3VtKSA9IHN1bTsKIAkJbG9jYWxfc2V0KCZfX2dldF9jcHVfdmFyKGFsZXJ0X2NvdW50ZXIpLCAwKTsKQEAgLTM3Myw3ICs0MzUsOCBAQAogCQlyYyB8PSBsYXBpY193ZF9ldmVudChubWlfaHopOwogCQlicmVhazsKIAljYXNlIE5NSV9JT19BUElDOgotCQkvKiBkb24ndCBrbm93IGhvdyB0byBhY2N1cmF0ZWx5IGNoZWNrIGZvciB0aGlzLgorCQkvKgorCQkgKiBkb24ndCBrbm93IGhvdyB0byBhY2N1cmF0ZWx5IGNoZWNrIGZvciB0aGlzLgogCQkgKiBqdXN0IGFzc3VtZSBpdCB3YXMgYSB3YXRjaGRvZyB0aW1lciBpbnRlcnJ1cHQKIAkJICogVGhpcyBtYXRjaGVzIHRoZSBvbGQgYmVoYXZpb3VyLgogCQkgKi8KQEAgLTM4MywzMCArNDQ2LDYgQEAKIAlyZXR1cm4gcmM7CiB9CiAKLXN0YXRpYyB1bnNpZ25lZCBpZ25vcmVfbm1pczsKLQotYXNtbGlua2FnZSBub3RyYWNlIF9fa3Byb2JlcyB2b2lkCi1kb19ubWkoc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIGxvbmcgZXJyb3JfY29kZSkKLXsKLQlubWlfZW50ZXIoKTsKLQlhZGRfcGRhKF9fbm1pX2NvdW50LDEpOwotCWlmICghaWdub3JlX25taXMpCi0JCWRlZmF1bHRfZG9fbm1pKHJlZ3MpOwotCW5taV9leGl0KCk7Ci19Ci0KLXZvaWQgc3RvcF9ubWkodm9pZCkKLXsKLQlhY3BpX25taV9kaXNhYmxlKCk7Ci0JaWdub3JlX25taXMrKzsKLX0KLQotdm9pZCByZXN0YXJ0X25taSh2b2lkKQotewotCWlnbm9yZV9ubWlzLS07Ci0JYWNwaV9ubWlfZW5hYmxlKCk7Ci19Ci0KICNpZmRlZiBDT05GSUdfU1lTQ1RMCiAKIHN0YXRpYyBpbnQgdW5rbm93bl9ubWlfcGFuaWNfY2FsbGJhY2soc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIGludCBjcHUpCkBAIC00MTUsNyArNDU0LDcgQEAKIAljaGFyIGJ1Zls2NF07CiAKIAlzcHJpbnRmKGJ1ZiwgIk5NSSByZWNlaXZlZCBmb3IgdW5rbm93biByZWFzb24gJTAyeFxuIiwgcmVhc29uKTsKLQlkaWVfbm1pKGJ1ZiwgcmVncywgMSk7CS8qIEFsd2F5cyBwYW5pYyBoZXJlICovCisJZGllX25taShidWYsIHJlZ3MsIDEpOyAvKiBBbHdheXMgcGFuaWMgaGVyZSAqLwogCXJldHVybiAwOwogfQogCkBAIC00MzMsMjggKzQ3MiwyNiBAQAogCWlmICghIW9sZF9zdGF0ZSA9PSAhIW5taV93YXRjaGRvZ19lbmFibGVkKQogCQlyZXR1cm4gMDsKIAotCWlmIChhdG9taWNfcmVhZCgmbm1pX2FjdGl2ZSkgPCAwIHx8IG5taV93YXRjaGRvZyA9PSBOTUlfRElTQUJMRUQpIHsKLQkJcHJpbnRrKCBLRVJOX1dBUk5JTkcgIk5NSSB3YXRjaGRvZyBpcyBwZXJtYW5lbnRseSBkaXNhYmxlZFxuIik7CisJaWYgKGF0b21pY19yZWFkKCZubWlfYWN0aXZlKSA8IDAgfHwgIW5taV93YXRjaGRvZ19hY3RpdmUoKSkgeworCQlwcmludGsoS0VSTl9XQVJOSU5HCisJCQkiTk1JIHdhdGNoZG9nIGlzIHBlcm1hbmVudGx5IGRpc2FibGVkXG4iKTsKIAkJcmV0dXJuIC1FSU87CiAJfQogCi0JLyogaWYgbm1pX3dhdGNoZG9nIGlzIG5vdCBzZXQgeWV0LCB0aGVuIHNldCBpdCAqLwotCW5taV93YXRjaGRvZ19kZWZhdWx0KCk7Ci0KIAlpZiAobm1pX3dhdGNoZG9nID09IE5NSV9MT0NBTF9BUElDKSB7CiAJCWlmIChubWlfd2F0Y2hkb2dfZW5hYmxlZCkKIAkJCWVuYWJsZV9sYXBpY19ubWlfd2F0Y2hkb2coKTsKIAkJZWxzZQogCQkJZGlzYWJsZV9sYXBpY19ubWlfd2F0Y2hkb2coKTsKIAl9IGVsc2UgewotCQlwcmludGsoIEtFUk5fV0FSTklORworCQlwcmludGsoS0VSTl9XQVJOSU5HCiAJCQkiTk1JIHdhdGNoZG9nIGRvZXNuJ3Qga25vdyB3aGF0IGhhcmR3YXJlIHRvIHRvdWNoXG4iKTsKIAkJcmV0dXJuIC1FSU87CiAJfQogCXJldHVybiAwOwogfQogCi0jZW5kaWYKKyNlbmRpZiAvKiBDT05GSUdfU1lTQ1RMICovCiAKIGludCBkb19ubWlfY2FsbGJhY2soc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIGludCBjcHUpCiB7CkBAIC00NzcsNiArNTE0LDMgQEAKIAkJbWRlbGF5KDEpOwogCX0KIH0KLQotRVhQT1JUX1NZTUJPTChubWlfYWN0aXZlKTsKLUVYUE9SVF9TWU1CT0wobm1pX3dhdGNoZG9nKTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9ubWlfMzIuYyBiL2FyY2gveDg2L2tlcm5lbC9ubWlfMzIuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODQxNjBmNy4uMDAwMDAwMAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvbm1pXzMyLmMKKysrIC9kZXYvbnVsbApAQCAtMSw0NjcgKzAsMCBAQAotLyoKLSAqICBOTUkgd2F0Y2hkb2cgc3VwcG9ydCBvbiBBUElDIHN5c3RlbXMKLSAqCi0gKiAgU3RhcnRlZCBieSBJbmdvIE1vbG5hciA8bWluZ29AcmVkaGF0LmNvbT4KLSAqCi0gKiAgRml4ZXM6Ci0gKiAgTWlrYWVsIFBldHRlcnNzb24JOiBBTUQgSzcgc3VwcG9ydCBmb3IgbG9jYWwgQVBJQyBOTUkgd2F0Y2hkb2cuCi0gKiAgTWlrYWVsIFBldHRlcnNzb24JOiBQb3dlciBNYW5hZ2VtZW50IGZvciBsb2NhbCBBUElDIE5NSSB3YXRjaGRvZy4KLSAqICBNaWthZWwgUGV0dGVyc3Nvbgk6IFBlbnRpdW0gNCBzdXBwb3J0IGZvciBsb2NhbCBBUElDIE5NSSB3YXRjaGRvZy4KLSAqICBQYXZlbCBNYWNoZWsgYW5kCi0gKiAgTWlrYWVsIFBldHRlcnNzb24JOiBQTSBjb252ZXJ0ZWQgdG8gZHJpdmVyIG1vZGVsLiBEaXNhYmxlL2VuYWJsZSBBUEkuCi0gKi8KLQotI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+Ci0jaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+Ci0jaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+Ci0jaW5jbHVkZSA8bGludXgvbm1pLmg+Ci0jaW5jbHVkZSA8bGludXgvc3lzZGV2Lmg+Ci0jaW5jbHVkZSA8bGludXgvc3lzY3RsLmg+Ci0jaW5jbHVkZSA8bGludXgvcGVyY3B1Lmg+Ci0jaW5jbHVkZSA8bGludXgva3Byb2Jlcy5oPgotI2luY2x1ZGUgPGxpbnV4L2NwdW1hc2suaD4KLSNpbmNsdWRlIDxsaW51eC9rZXJuZWxfc3RhdC5oPgotI2luY2x1ZGUgPGxpbnV4L2tkZWJ1Zy5oPgotI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KLQotI2luY2x1ZGUgPGFzbS9zbXAuaD4KLSNpbmNsdWRlIDxhc20vbm1pLmg+Ci0KLSNpbmNsdWRlICJtYWNoX3RyYXBzLmgiCi0KLWludCB1bmtub3duX25taV9wYW5pYzsKLWludCBubWlfd2F0Y2hkb2dfZW5hYmxlZDsKLQotc3RhdGljIGNwdW1hc2tfdCBiYWNrdHJhY2VfbWFzayA9IENQVV9NQVNLX05PTkU7Ci0KLS8qIG5taV9hY3RpdmU6Ci0gKiA+MDogdGhlIGxhcGljIE5NSSB3YXRjaGRvZyBpcyBhY3RpdmUsIGJ1dCBjYW4gYmUgZGlzYWJsZWQKLSAqIDwwOiB0aGUgbGFwaWMgTk1JIHdhdGNoZG9nIGhhcyBub3QgYmVlbiBzZXQgdXAsIGFuZCBjYW5ub3QKLSAqICAgICBiZSBlbmFibGVkCi0gKiAgMDogdGhlIGxhcGljIE5NSSB3YXRjaGRvZyBpcyBkaXNhYmxlZCwgYnV0IGNhbiBiZSBlbmFibGVkCi0gKi8KLWF0b21pY190IG5taV9hY3RpdmUgPSBBVE9NSUNfSU5JVCgwKTsJCS8qIG9wcm9maWxlIHVzZXMgdGhpcyAqLwotCi11bnNpZ25lZCBpbnQgbm1pX3dhdGNoZG9nID0gTk1JX0RFRkFVTFQ7Ci1zdGF0aWMgdW5zaWduZWQgaW50IG5taV9oeiA9IEhaOwotCi1zdGF0aWMgREVGSU5FX1BFUl9DUFUoc2hvcnQsIHdkX2VuYWJsZWQpOwotCi1zdGF0aWMgaW50IGVuZGZsYWcgX19pbml0ZGF0YSA9IDA7Ci0KLSNpZmRlZiBDT05GSUdfU01QCi0vKiBUaGUgcGVyZm9ybWFuY2UgY291bnRlcnMgdXNlZCBieSBOTUlfTE9DQUxfQVBJQyBkb24ndCB0cmlnZ2VyIHdoZW4KLSAqIHRoZSBDUFUgaXMgaWRsZS4gVG8gbWFrZSBzdXJlIHRoZSBOTUkgd2F0Y2hkb2cgcmVhbGx5IHRpY2tzIG9uIGFsbAotICogQ1BVcyBkdXJpbmcgdGhlIHRlc3QgbWFrZSB0aGVtIGJ1c3kuCi0gKi8KLXN0YXRpYyBfX2luaXQgdm9pZCBubWlfY3B1X2J1c3kodm9pZCAqZGF0YSkKLXsKLQlsb2NhbF9pcnFfZW5hYmxlX2luX2hhcmRpcnEoKTsKLQkvKiBJbnRlbnRpb25hbGx5IGRvbid0IHVzZSBjcHVfcmVsYXggaGVyZS4gVGhpcyBpcwotCSAgIHRvIG1ha2Ugc3VyZSB0aGF0IHRoZSBwZXJmb3JtYW5jZSBjb3VudGVyIHJlYWxseSB0aWNrcywKLQkgICBldmVuIGlmIHRoZXJlIGlzIGEgc2ltdWxhdG9yIG9yIHNpbWlsYXIgdGhhdCBjYXRjaGVzIHRoZQotCSAgIHBhdXNlIGluc3RydWN0aW9uLiBPbiBhIHJlYWwgSFQgbWFjaGluZSB0aGlzIGlzIGZpbmUgYmVjYXVzZQotCSAgIGFsbCBvdGhlciBDUFVzIGFyZSBidXN5IHdpdGggInVzZWxlc3MiIGRlbGF5IGxvb3BzIGFuZCBkb24ndAotCSAgIGNhcmUgaWYgdGhleSBnZXQgc29tZXdoYXQgbGVzcyBjeWNsZXMuICovCi0Jd2hpbGUgKGVuZGZsYWcgPT0gMCkKLQkJbWIoKTsKLX0KLSNlbmRpZgotCi1pbnQgX19pbml0IGNoZWNrX25taV93YXRjaGRvZyh2b2lkKQotewotCXVuc2lnbmVkIGludCAqcHJldl9ubWlfY291bnQ7Ci0JaW50IGNwdTsKLQotCWlmICgobm1pX3dhdGNoZG9nID09IE5NSV9OT05FKSB8fCAobm1pX3dhdGNoZG9nID09IE5NSV9ESVNBQkxFRCkpCi0JCXJldHVybiAwOwotCi0JaWYgKCFhdG9taWNfcmVhZCgmbm1pX2FjdGl2ZSkpCi0JCXJldHVybiAwOwotCi0JcHJldl9ubWlfY291bnQgPSBrbWFsbG9jKE5SX0NQVVMgKiBzaXplb2YoaW50KSwgR0ZQX0tFUk5FTCk7Ci0JaWYgKCFwcmV2X25taV9jb3VudCkKLQkJcmV0dXJuIC0xOwotCi0JcHJpbnRrKEtFUk5fSU5GTyAiVGVzdGluZyBOTUkgd2F0Y2hkb2cgLi4uICIpOwotCi0jaWZkZWYgQ09ORklHX1NNUAotCWlmIChubWlfd2F0Y2hkb2cgPT0gTk1JX0xPQ0FMX0FQSUMpCi0JCXNtcF9jYWxsX2Z1bmN0aW9uKG5taV9jcHVfYnVzeSwgKHZvaWQgKikmZW5kZmxhZywgMCwgMCk7Ci0jZW5kaWYKLQotCWZvcl9lYWNoX3Bvc3NpYmxlX2NwdShjcHUpCi0JCXByZXZfbm1pX2NvdW50W2NwdV0gPSBubWlfY291bnQoY3B1KTsKLQlsb2NhbF9pcnFfZW5hYmxlKCk7Ci0JbWRlbGF5KCgyMCoxMDAwKS9ubWlfaHopOyAvLyB3YWl0IDIwIHRpY2tzCi0KLQlmb3JfZWFjaF9wb3NzaWJsZV9jcHUoY3B1KSB7Ci0jaWZkZWYgQ09ORklHX1NNUAotCQkvKiBDaGVjayBjcHVfY2FsbGluX21hcCBoZXJlIGJlY2F1c2UgdGhhdCBpcyBzZXQKLQkJICAgYWZ0ZXIgdGhlIHRpbWVyIGlzIHN0YXJ0ZWQuICovCi0JCWlmICghY3B1X2lzc2V0KGNwdSwgY3B1X2NhbGxpbl9tYXApKQotCQkJY29udGludWU7Ci0jZW5kaWYKLQkJaWYgKCFwZXJfY3B1KHdkX2VuYWJsZWQsIGNwdSkpCi0JCQljb250aW51ZTsKLQkJaWYgKG5taV9jb3VudChjcHUpIC0gcHJldl9ubWlfY291bnRbY3B1XSA8PSA1KSB7Ci0JCQlwcmludGsoS0VSTl9XQVJOSU5HICJXQVJOSU5HOiBDUFUjJWQ6IE5NSSAiCi0JCQkJImFwcGVhcnMgdG8gYmUgc3R1Y2sgKCVkLT4lZCkhXG4iLAotCQkJCWNwdSwKLQkJCQlwcmV2X25taV9jb3VudFtjcHVdLAotCQkJCW5taV9jb3VudChjcHUpKTsKLQkJCXBlcl9jcHUod2RfZW5hYmxlZCwgY3B1KSA9IDA7Ci0JCQlhdG9taWNfZGVjKCZubWlfYWN0aXZlKTsKLQkJfQotCX0KLQllbmRmbGFnID0gMTsKLQlpZiAoIWF0b21pY19yZWFkKCZubWlfYWN0aXZlKSkgewotCQlrZnJlZShwcmV2X25taV9jb3VudCk7Ci0JCWF0b21pY19zZXQoJm5taV9hY3RpdmUsIC0xKTsKLQkJcmV0dXJuIC0xOwotCX0KLQlwcmludGsoIk9LLlxuIik7Ci0KLQkvKiBub3cgdGhhdCB3ZSBrbm93IGl0IHdvcmtzIHdlIGNhbiByZWR1Y2UgTk1JIGZyZXF1ZW5jeSB0bwotCSAgIHNvbWV0aGluZyBtb3JlIHJlYXNvbmFibGU7IG1ha2VzIGEgZGlmZmVyZW5jZSBpbiBzb21lIGNvbmZpZ3MgKi8KLQlpZiAobm1pX3dhdGNoZG9nID09IE5NSV9MT0NBTF9BUElDKQotCQlubWlfaHogPSBsYXBpY19hZGp1c3Rfbm1pX2h6KDEpOwotCi0Ja2ZyZWUocHJldl9ubWlfY291bnQpOwotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IF9faW5pdCBzZXR1cF9ubWlfd2F0Y2hkb2coY2hhciAqc3RyKQotewotCWludCBubWk7Ci0KLQlnZXRfb3B0aW9uKCZzdHIsICZubWkpOwotCi0JaWYgKChubWkgPj0gTk1JX0lOVkFMSUQpIHx8IChubWkgPCBOTUlfTk9ORSkpCi0JCXJldHVybiAwOwotCi0Jbm1pX3dhdGNoZG9nID0gbm1pOwotCXJldHVybiAxOwotfQotCi1fX3NldHVwKCJubWlfd2F0Y2hkb2c9Iiwgc2V0dXBfbm1pX3dhdGNoZG9nKTsKLQotCi0vKiBTdXNwZW5kL3Jlc3VtZSBzdXBwb3J0ICovCi0KLSNpZmRlZiBDT05GSUdfUE0KLQotc3RhdGljIGludCBubWlfcG1fYWN0aXZlOyAvKiBubWlfYWN0aXZlIGJlZm9yZSBzdXNwZW5kICovCi0KLXN0YXRpYyBpbnQgbGFwaWNfbm1pX3N1c3BlbmQoc3RydWN0IHN5c19kZXZpY2UgKmRldiwgcG1fbWVzc2FnZV90IHN0YXRlKQotewotCS8qIG9ubHkgQ1BVMCBnb2VzIGhlcmUsIG90aGVyIENQVXMgc2hvdWxkIGJlIG9mZmxpbmUgKi8KLQlubWlfcG1fYWN0aXZlID0gYXRvbWljX3JlYWQoJm5taV9hY3RpdmUpOwotCXN0b3BfYXBpY19ubWlfd2F0Y2hkb2coTlVMTCk7Ci0JQlVHX09OKGF0b21pY19yZWFkKCZubWlfYWN0aXZlKSAhPSAwKTsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBsYXBpY19ubWlfcmVzdW1lKHN0cnVjdCBzeXNfZGV2aWNlICpkZXYpCi17Ci0JLyogb25seSBDUFUwIGdvZXMgaGVyZSwgb3RoZXIgQ1BVcyBzaG91bGQgYmUgb2ZmbGluZSAqLwotCWlmIChubWlfcG1fYWN0aXZlID4gMCkgewotCQlzZXR1cF9hcGljX25taV93YXRjaGRvZyhOVUxMKTsKLQkJdG91Y2hfbm1pX3dhdGNoZG9nKCk7Ci0JfQotCXJldHVybiAwOwotfQotCi0KLXN0YXRpYyBzdHJ1Y3Qgc3lzZGV2X2NsYXNzIG5taV9zeXNjbGFzcyA9IHsKLQkubmFtZQkJPSAibGFwaWNfbm1pIiwKLQkucmVzdW1lCQk9IGxhcGljX25taV9yZXN1bWUsCi0JLnN1c3BlbmQJPSBsYXBpY19ubWlfc3VzcGVuZCwKLX07Ci0KLXN0YXRpYyBzdHJ1Y3Qgc3lzX2RldmljZSBkZXZpY2VfbGFwaWNfbm1pID0gewotCS5pZAk9IDAsCi0JLmNscwk9ICZubWlfc3lzY2xhc3MsCi19OwotCi1zdGF0aWMgaW50IF9faW5pdCBpbml0X2xhcGljX25taV9zeXNmcyh2b2lkKQotewotCWludCBlcnJvcjsKLQotCS8qIHNob3VsZCByZWFsbHkgYmUgYSBCVUdfT04gYnV0IGIvYyB0aGlzIGlzIGFuCi0JICogaW5pdCBjYWxsLCBpdCBqdXN0IGRvZXNuJ3Qgd29yay4gIC1kY3oKLQkgKi8KLQlpZiAobm1pX3dhdGNoZG9nICE9IE5NSV9MT0NBTF9BUElDKQotCQlyZXR1cm4gMDsKLQotCWlmIChhdG9taWNfcmVhZCgmbm1pX2FjdGl2ZSkgPCAwKQotCQlyZXR1cm4gMDsKLQotCWVycm9yID0gc3lzZGV2X2NsYXNzX3JlZ2lzdGVyKCZubWlfc3lzY2xhc3MpOwotCWlmICghZXJyb3IpCi0JCWVycm9yID0gc3lzZGV2X3JlZ2lzdGVyKCZkZXZpY2VfbGFwaWNfbm1pKTsKLQlyZXR1cm4gZXJyb3I7Ci19Ci0vKiBtdXN0IGNvbWUgYWZ0ZXIgdGhlIGxvY2FsIEFQSUMncyBkZXZpY2VfaW5pdGNhbGwoKSAqLwotbGF0ZV9pbml0Y2FsbChpbml0X2xhcGljX25taV9zeXNmcyk7Ci0KLSNlbmRpZgkvKiBDT05GSUdfUE0gKi8KLQotc3RhdGljIHZvaWQgX19hY3BpX25taV9lbmFibGUodm9pZCAqX191bnVzZWQpCi17Ci0JYXBpY193cml0ZV9hcm91bmQoQVBJQ19MVlQwLCBBUElDX0RNX05NSSk7Ci19Ci0KLS8qCi0gKiBFbmFibGUgdGltZXIgYmFzZWQgTk1JcyBvbiBhbGwgQ1BVczoKLSAqLwotdm9pZCBhY3BpX25taV9lbmFibGUodm9pZCkKLXsKLQlpZiAoYXRvbWljX3JlYWQoJm5taV9hY3RpdmUpICYmIG5taV93YXRjaGRvZyA9PSBOTUlfSU9fQVBJQykKLQkJb25fZWFjaF9jcHUoX19hY3BpX25taV9lbmFibGUsIE5VTEwsIDAsIDEpOwotfQotCi1zdGF0aWMgdm9pZCBfX2FjcGlfbm1pX2Rpc2FibGUodm9pZCAqX191bnVzZWQpCi17Ci0JYXBpY193cml0ZShBUElDX0xWVDAsIEFQSUNfRE1fTk1JIHwgQVBJQ19MVlRfTUFTS0VEKTsKLX0KLQotLyoKLSAqIERpc2FibGUgdGltZXIgYmFzZWQgTk1JcyBvbiBhbGwgQ1BVczoKLSAqLwotdm9pZCBhY3BpX25taV9kaXNhYmxlKHZvaWQpCi17Ci0JaWYgKGF0b21pY19yZWFkKCZubWlfYWN0aXZlKSAmJiBubWlfd2F0Y2hkb2cgPT0gTk1JX0lPX0FQSUMpCi0JCW9uX2VhY2hfY3B1KF9fYWNwaV9ubWlfZGlzYWJsZSwgTlVMTCwgMCwgMSk7Ci19Ci0KLXZvaWQgc2V0dXBfYXBpY19ubWlfd2F0Y2hkb2codm9pZCAqdW51c2VkKQotewotCWlmIChfX2dldF9jcHVfdmFyKHdkX2VuYWJsZWQpKQotCQlyZXR1cm47Ci0KLQkvKiBjaGVhcCBoYWNrIHRvIHN1cHBvcnQgc3VzcGVuZC9yZXN1bWUgKi8KLQkvKiBpZiBjcHUwIGlzIG5vdCBhY3RpdmUgbmVpdGhlciBzaG91bGQgdGhlIG90aGVyIGNwdXMgKi8KLQlpZiAoKHNtcF9wcm9jZXNzb3JfaWQoKSAhPSAwKSAmJiAoYXRvbWljX3JlYWQoJm5taV9hY3RpdmUpIDw9IDApKQotCQlyZXR1cm47Ci0KLQlzd2l0Y2ggKG5taV93YXRjaGRvZykgewotCWNhc2UgTk1JX0xPQ0FMX0FQSUM6Ci0JCV9fZ2V0X2NwdV92YXIod2RfZW5hYmxlZCkgPSAxOyAvKiBlbmFibGUgaXQgYmVmb3JlIHRvIGF2b2lkIHJhY2Ugd2l0aCBoYW5kbGVyICovCi0JCWlmIChsYXBpY193YXRjaGRvZ19pbml0KG5taV9oeikgPCAwKSB7Ci0JCQlfX2dldF9jcHVfdmFyKHdkX2VuYWJsZWQpID0gMDsKLQkJCXJldHVybjsKLQkJfQotCQkvKiBGQUxMIFRIUk9VR0ggKi8KLQljYXNlIE5NSV9JT19BUElDOgotCQlfX2dldF9jcHVfdmFyKHdkX2VuYWJsZWQpID0gMTsKLQkJYXRvbWljX2luYygmbm1pX2FjdGl2ZSk7Ci0JfQotfQotCi12b2lkIHN0b3BfYXBpY19ubWlfd2F0Y2hkb2codm9pZCAqdW51c2VkKQotewotCS8qIG9ubHkgc3VwcG9ydCBMT0NBTCBhbmQgSU8gQVBJQ3MgZm9yIG5vdyAqLwotCWlmICgobm1pX3dhdGNoZG9nICE9IE5NSV9MT0NBTF9BUElDKSAmJgotCSAgICAobm1pX3dhdGNoZG9nICE9IE5NSV9JT19BUElDKSkKLQkgICAgCXJldHVybjsKLQlpZiAoX19nZXRfY3B1X3Zhcih3ZF9lbmFibGVkKSA9PSAwKQotCQlyZXR1cm47Ci0JaWYgKG5taV93YXRjaGRvZyA9PSBOTUlfTE9DQUxfQVBJQykKLQkJbGFwaWNfd2F0Y2hkb2dfc3RvcCgpOwotCV9fZ2V0X2NwdV92YXIod2RfZW5hYmxlZCkgPSAwOwotCWF0b21pY19kZWMoJm5taV9hY3RpdmUpOwotfQotCi0vKgotICogdGhlIGJlc3Qgd2F5IHRvIGRldGVjdCB3aGV0aGVyIGEgQ1BVIGhhcyBhICdoYXJkIGxvY2t1cCcgcHJvYmxlbQotICogaXMgdG8gY2hlY2sgaXQncyBsb2NhbCBBUElDIHRpbWVyIElSUSBjb3VudHMuIElmIHRoZXkgYXJlIG5vdAotICogY2hhbmdpbmcgdGhlbiB0aGF0IENQVSBoYXMgc29tZSBwcm9ibGVtLgotICoKLSAqIGFzIHRoZXNlIHdhdGNoZG9nIE5NSSBJUlFzIGFyZSBnZW5lcmF0ZWQgb24gZXZlcnkgQ1BVLCB3ZSBvbmx5Ci0gKiBoYXZlIHRvIGNoZWNrIHRoZSBjdXJyZW50IHByb2Nlc3Nvci4KLSAqCi0gKiBzaW5jZSBOTUlzIGRvbid0IGxpc3RlbiB0byBfYW55XyBsb2Nrcywgd2UgaGF2ZSB0byBiZSBleHRyZW1lbHkKLSAqIGNhcmVmdWwgbm90IHRvIHJlbHkgb24gdW5zYWZlIHZhcmlhYmxlcy4gVGhlIHByaW50ayBtaWdodCBsb2NrCi0gKiB1cCB0aG91Z2gsIHNvIHdlIGhhdmUgdG8gYnJlYWsgdXAgYW55IGNvbnNvbGUgbG9ja3MgZmlyc3QgLi4uCi0gKiBbd2hlbiB0aGVyZSB3aWxsIGJlIG1vcmUgdHR5LXJlbGF0ZWQgbG9ja3MsIGJyZWFrIHRoZW0gdXAKLSAqICBoZXJlIHRvbyFdCi0gKi8KLQotc3RhdGljIHVuc2lnbmVkIGludAotCWxhc3RfaXJxX3N1bXMgW05SX0NQVVNdLAotCWFsZXJ0X2NvdW50ZXIgW05SX0NQVVNdOwotCi12b2lkIHRvdWNoX25taV93YXRjaGRvZyh2b2lkKQotewotCWlmIChubWlfd2F0Y2hkb2cgPiAwKSB7Ci0JCXVuc2lnbmVkIGNwdTsKLQotCQkvKgotCQkgKiBKdXN0IHJlc2V0IHRoZSBhbGVydCBjb3VudGVycywgKG90aGVyIENQVXMgbWlnaHQgYmUKLQkJICogc3Bpbm5pbmcgb24gbG9ja3Mgd2UgaG9sZCk6Ci0JCSAqLwotCQlmb3JfZWFjaF9wcmVzZW50X2NwdShjcHUpIHsKLQkJCWlmIChhbGVydF9jb3VudGVyW2NwdV0pCi0JCQkJYWxlcnRfY291bnRlcltjcHVdID0gMDsKLQkJfQotCX0KLQotCS8qCi0JICogVGlja2xlIHRoZSBzb2Z0bG9ja3VwIGRldGVjdG9yIHRvbzoKLQkgKi8KLQl0b3VjaF9zb2Z0bG9ja3VwX3dhdGNoZG9nKCk7Ci19Ci1FWFBPUlRfU1lNQk9MKHRvdWNoX25taV93YXRjaGRvZyk7Ci0KLWV4dGVybiB2b2lkIGRpZV9ubWkoc3RydWN0IHB0X3JlZ3MgKiwgY29uc3QgY2hhciAqbXNnKTsKLQotbm90cmFjZSBfX2twcm9iZXMgaW50Ci1ubWlfd2F0Y2hkb2dfdGljayhzdHJ1Y3QgcHRfcmVncyAqcmVncywgdW5zaWduZWQgcmVhc29uKQotewotCi0JLyoKLQkgKiBTaW5jZSBjdXJyZW50X3RocmVhZF9pbmZvKCktPiBpcyBhbHdheXMgb24gdGhlIHN0YWNrLCBhbmQgd2UKLQkgKiBhbHdheXMgc3dpdGNoIHRoZSBzdGFjayBOTUktYXRvbWljYWxseSwgaXQncyBzYWZlIHRvIHVzZQotCSAqIHNtcF9wcm9jZXNzb3JfaWQoKS4KLQkgKi8KLQl1bnNpZ25lZCBpbnQgc3VtOwotCWludCB0b3VjaGVkID0gMDsKLQlpbnQgY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOwotCWludCByYyA9IDA7Ci0KLQkvKiBjaGVjayBmb3Igb3RoZXIgdXNlcnMgZmlyc3QgKi8KLQlpZiAobm90aWZ5X2RpZShESUVfTk1JLCAibm1pIiwgcmVncywgcmVhc29uLCAyLCBTSUdJTlQpCi0JCQk9PSBOT1RJRllfU1RPUCkgewotCQlyYyA9IDE7Ci0JCXRvdWNoZWQgPSAxOwotCX0KLQotCWlmIChjcHVfaXNzZXQoY3B1LCBiYWNrdHJhY2VfbWFzaykpIHsKLQkJc3RhdGljIERFRklORV9TUElOTE9DSyhsb2NrKTsJLyogU2VyaWFsaXNlIHRoZSBwcmludGtzICovCi0KLQkJc3Bpbl9sb2NrKCZsb2NrKTsKLQkJcHJpbnRrKCJOTUkgYmFja3RyYWNlIGZvciBjcHUgJWRcbiIsIGNwdSk7Ci0JCWR1bXBfc3RhY2soKTsKLQkJc3Bpbl91bmxvY2soJmxvY2spOwotCQljcHVfY2xlYXIoY3B1LCBiYWNrdHJhY2VfbWFzayk7Ci0JfQotCi0JLyoKLQkgKiBUYWtlIHRoZSBsb2NhbCBhcGljIHRpbWVyIGFuZCBQSVQvSFBFVCBpbnRvIGFjY291bnQuIFdlIGRvbid0Ci0JICoga25vdyB3aGljaCBvbmUgaXMgYWN0aXZlLCB3aGVuIHdlIGhhdmUgaGlnaHJlcy9keW50aWNrIG9uCi0JICovCi0Jc3VtID0gcGVyX2NwdShpcnFfc3RhdCwgY3B1KS5hcGljX3RpbWVyX2lycXMgKwotCQlwZXJfY3B1KGlycV9zdGF0LCBjcHUpLmlycTBfaXJxczsKLQotCS8qIGlmIHRoZSBub25lIG9mIHRoZSB0aW1lcnMgaXNuJ3QgZmlyaW5nLCB0aGlzIGNwdSBpc24ndCBkb2luZyBtdWNoICovCi0JaWYgKCF0b3VjaGVkICYmIGxhc3RfaXJxX3N1bXNbY3B1XSA9PSBzdW0pIHsKLQkJLyoKLQkJICogQXlpZWUsIGxvb2tzIGxpa2UgdGhpcyBDUFUgaXMgc3R1Y2sgLi4uCi0JCSAqIHdhaXQgYSBmZXcgSVJRcyAoNSBzZWNvbmRzKSBiZWZvcmUgZG9pbmcgdGhlIG9vcHMgLi4uCi0JCSAqLwotCQlhbGVydF9jb3VudGVyW2NwdV0rKzsKLQkJaWYgKGFsZXJ0X2NvdW50ZXJbY3B1XSA9PSA1Km5taV9oeikKLQkJCS8qCi0JCQkgKiBkaWVfbm1pIHdpbGwgcmV0dXJuIE9OTFkgaWYgTk9USUZZX1NUT1AgaGFwcGVucy4uCi0JCQkgKi8KLQkJCWRpZV9ubWkocmVncywgIkJVRzogTk1JIFdhdGNoZG9nIGRldGVjdGVkIExPQ0tVUCIpOwotCX0gZWxzZSB7Ci0JCWxhc3RfaXJxX3N1bXNbY3B1XSA9IHN1bTsKLQkJYWxlcnRfY291bnRlcltjcHVdID0gMDsKLQl9Ci0JLyogc2VlIGlmIHRoZSBubWkgd2F0Y2hkb2cgd2VudCBvZmYgKi8KLQlpZiAoIV9fZ2V0X2NwdV92YXIod2RfZW5hYmxlZCkpCi0JCXJldHVybiByYzsKLQlzd2l0Y2ggKG5taV93YXRjaGRvZykgewotCWNhc2UgTk1JX0xPQ0FMX0FQSUM6Ci0JCXJjIHw9IGxhcGljX3dkX2V2ZW50KG5taV9oeik7Ci0JCWJyZWFrOwotCWNhc2UgTk1JX0lPX0FQSUM6Ci0JCS8qIGRvbid0IGtub3cgaG93IHRvIGFjY3VyYXRlbHkgY2hlY2sgZm9yIHRoaXMuCi0JCSAqIGp1c3QgYXNzdW1lIGl0IHdhcyBhIHdhdGNoZG9nIHRpbWVyIGludGVycnVwdAotCQkgKiBUaGlzIG1hdGNoZXMgdGhlIG9sZCBiZWhhdmlvdXIuCi0JCSAqLwotCQlyYyA9IDE7Ci0JCWJyZWFrOwotCX0KLQlyZXR1cm4gcmM7Ci19Ci0KLSNpZmRlZiBDT05GSUdfU1lTQ1RMCi0KLXN0YXRpYyBpbnQgdW5rbm93bl9ubWlfcGFuaWNfY2FsbGJhY2soc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIGludCBjcHUpCi17Ci0JdW5zaWduZWQgY2hhciByZWFzb24gPSBnZXRfbm1pX3JlYXNvbigpOwotCWNoYXIgYnVmWzY0XTsKLQotCXNwcmludGYoYnVmLCAiTk1JIHJlY2VpdmVkIGZvciB1bmtub3duIHJlYXNvbiAlMDJ4XG4iLCByZWFzb24pOwotCWRpZV9ubWkocmVncywgYnVmKTsKLQlyZXR1cm4gMDsKLX0KLQotLyoKLSAqIHByb2MgaGFuZGxlciBmb3IgL3Byb2Mvc3lzL2tlcm5lbC9ubWkKLSAqLwotaW50IHByb2Nfbm1pX2VuYWJsZWQoc3RydWN0IGN0bF90YWJsZSAqdGFibGUsIGludCB3cml0ZSwgc3RydWN0IGZpbGUgKmZpbGUsCi0JCQl2b2lkIF9fdXNlciAqYnVmZmVyLCBzaXplX3QgKmxlbmd0aCwgbG9mZl90ICpwcG9zKQotewotCWludCBvbGRfc3RhdGU7Ci0KLQlubWlfd2F0Y2hkb2dfZW5hYmxlZCA9IChhdG9taWNfcmVhZCgmbm1pX2FjdGl2ZSkgPiAwKSA/IDEgOiAwOwotCW9sZF9zdGF0ZSA9IG5taV93YXRjaGRvZ19lbmFibGVkOwotCXByb2NfZG9pbnR2ZWModGFibGUsIHdyaXRlLCBmaWxlLCBidWZmZXIsIGxlbmd0aCwgcHBvcyk7Ci0JaWYgKCEhb2xkX3N0YXRlID09ICEhbm1pX3dhdGNoZG9nX2VuYWJsZWQpCi0JCXJldHVybiAwOwotCi0JaWYgKGF0b21pY19yZWFkKCZubWlfYWN0aXZlKSA8IDAgfHwgbm1pX3dhdGNoZG9nID09IE5NSV9ESVNBQkxFRCkgewotCQlwcmludGsoIEtFUk5fV0FSTklORyAiTk1JIHdhdGNoZG9nIGlzIHBlcm1hbmVudGx5IGRpc2FibGVkXG4iKTsKLQkJcmV0dXJuIC1FSU87Ci0JfQotCi0JaWYgKG5taV93YXRjaGRvZyA9PSBOTUlfREVGQVVMVCkgewotCQlpZiAobGFwaWNfd2F0Y2hkb2dfb2soKSkKLQkJCW5taV93YXRjaGRvZyA9IE5NSV9MT0NBTF9BUElDOwotCQllbHNlCi0JCQlubWlfd2F0Y2hkb2cgPSBOTUlfSU9fQVBJQzsKLQl9Ci0KLQlpZiAobm1pX3dhdGNoZG9nID09IE5NSV9MT0NBTF9BUElDKSB7Ci0JCWlmIChubWlfd2F0Y2hkb2dfZW5hYmxlZCkKLQkJCWVuYWJsZV9sYXBpY19ubWlfd2F0Y2hkb2coKTsKLQkJZWxzZQotCQkJZGlzYWJsZV9sYXBpY19ubWlfd2F0Y2hkb2coKTsKLQl9IGVsc2UgewotCQlwcmludGsoIEtFUk5fV0FSTklORwotCQkJIk5NSSB3YXRjaGRvZyBkb2Vzbid0IGtub3cgd2hhdCBoYXJkd2FyZSB0byB0b3VjaFxuIik7Ci0JCXJldHVybiAtRUlPOwotCX0KLQlyZXR1cm4gMDsKLX0KLQotI2VuZGlmCi0KLWludCBkb19ubWlfY2FsbGJhY2soc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIGludCBjcHUpCi17Ci0jaWZkZWYgQ09ORklHX1NZU0NUTAotCWlmICh1bmtub3duX25taV9wYW5pYykKLQkJcmV0dXJuIHVua25vd25fbm1pX3BhbmljX2NhbGxiYWNrKHJlZ3MsIGNwdSk7Ci0jZW5kaWYKLQlyZXR1cm4gMDsKLX0KLQotdm9pZCBfX3RyaWdnZXJfYWxsX2NwdV9iYWNrdHJhY2Uodm9pZCkKLXsKLQlpbnQgaTsKLQotCWJhY2t0cmFjZV9tYXNrID0gY3B1X29ubGluZV9tYXA7Ci0JLyogV2FpdCBmb3IgdXAgdG8gMTAgc2Vjb25kcyBmb3IgYWxsIENQVXMgdG8gZG8gdGhlIGJhY2t0cmFjZSAqLwotCWZvciAoaSA9IDA7IGkgPCAxMCAqIDEwMDA7IGkrKykgewotCQlpZiAoY3B1c19lbXB0eShiYWNrdHJhY2VfbWFzaykpCi0JCQlicmVhazsKLQkJbWRlbGF5KDEpOwotCX0KLX0KLQotRVhQT1JUX1NZTUJPTChubWlfYWN0aXZlKTsKLUVYUE9SVF9TWU1CT0wobm1pX3dhdGNoZG9nKTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9udW1hcV8zMi5jIGIvYXJjaC94ODYva2VybmVsL251bWFxXzMyLmMKaW5kZXggZTY1MjgxYi4uNWIyMGE1ZSAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL251bWFxXzMyLmMKKysrIGIvYXJjaC94ODYva2VybmVsL251bWFxXzMyLmMKQEAgLTMxLDYgKzMxLDggQEAKICNpbmNsdWRlIDxhc20vbnVtYXEuaD4KICNpbmNsdWRlIDxhc20vdG9wb2xvZ3kuaD4KICNpbmNsdWRlIDxhc20vcHJvY2Vzc29yLmg+CisjaW5jbHVkZSA8YXNtL21wc3BlYy5oPgorI2luY2x1ZGUgPGFzbS9lODIwLmg+CiAKICNkZWZpbmUJTUJfVE9fUEFHRVMoYWRkcikgKChhZGRyKSA8PCAoMjAgLSBQQUdFX1NISUZUKSkKIApAQCAtNTgsNiArNjAsOCBAQAogCQkJbm9kZV9lbmRfcGZuW25vZGVdID0gTUJfVE9fUEFHRVMoCiAJCQkJZXEtPmhpX3NocmRfbWVtX3N0YXJ0ICsgZXEtPmhpX3NocmRfbWVtX3NpemUpOwogCisJCQllODIwX3JlZ2lzdGVyX2FjdGl2ZV9yZWdpb25zKG5vZGUsIG5vZGVfc3RhcnRfcGZuW25vZGVdLAorCQkJCQkJCW5vZGVfZW5kX3Bmbltub2RlXSk7CiAJCQltZW1vcnlfcHJlc2VudChub2RlLAogCQkJCW5vZGVfc3RhcnRfcGZuW25vZGVdLCBub2RlX2VuZF9wZm5bbm9kZV0pOwogCQkJbm9kZV9yZW1hcF9zaXplW25vZGVdID0gbm9kZV9tZW1tYXBfc2l6ZV9ieXRlcyhub2RlLApAQCAtNjcsMjMgKzcxLDM1IEBACiAJfQogfQogCi0vKgotICogVW5saWtlIFN1bW1pdCwgd2UgZG9uJ3QgcmVhbGx5IGNhcmUgdG8gbGV0IHRoZSBOVU1BLVEKLSAqIGZhbGwgYmFjayB0byBmbGF0IG1vZGUuICBEb24ndCBjb21waWxlIGZvciBOVU1BLVEKLSAqIHVubGVzcyB5b3UgcmVhbGx5IG5lZWQgaXQhCi0gKi8KK3N0YXRpYyBfX2luaXQgdm9pZCBlYXJseV9jaGVja19udW1hcSh2b2lkKQoreworCS8qCisJICogRmluZCBwb3NzaWJsZSBib290LXRpbWUgU01QIGNvbmZpZ3VyYXRpb246CisJICovCisJZWFybHlfZmluZF9zbXBfY29uZmlnKCk7CisJLyoKKwkgKiBnZXQgYm9vdC10aW1lIFNNUCBjb25maWd1cmF0aW9uOgorCSAqLworCWlmIChzbXBfZm91bmRfY29uZmlnKQorCQllYXJseV9nZXRfc21wX2NvbmZpZygpOworfQorCiBpbnQgX19pbml0IGdldF9tZW1jZmdfbnVtYXEodm9pZCkKIHsKKwllYXJseV9jaGVja19udW1hcSgpOworCWlmICghZm91bmRfbnVtYXEpCisJCXJldHVybiAwOwogCXNtcF9kdW1wX3FjdCgpOwogCXJldHVybiAxOwogfQogCi1zdGF0aWMgaW50IF9faW5pdCBudW1hcV90c2NfZGlzYWJsZSh2b2lkKQordm9pZCBfX2luaXQgbnVtYXFfdHNjX2Rpc2FibGUodm9pZCkKIHsKKwlpZiAoIWZvdW5kX251bWFxKQorCQlyZXR1cm4gLTE7CisKIAlpZiAobnVtX29ubGluZV9ub2RlcygpID4gMSkgewogCQlwcmludGsoS0VSTl9ERUJVRyAiTlVNQVE6IGRpc2FibGluZyBUU0NcbiIpOwogCQlzZXR1cF9jbGVhcl9jcHVfY2FwKFg4Nl9GRUFUVVJFX1RTQyk7CiAJfQotCXJldHVybiAwOwogfQotYXJjaF9pbml0Y2FsbChudW1hcV90c2NfZGlzYWJsZSk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvcGFyYXZpcnQuYyBiL2FyY2gveDg2L2tlcm5lbC9wYXJhdmlydC5jCmluZGV4IDc0ZjBjNWUuLmUwZjU3MWQgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9wYXJhdmlydC5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9wYXJhdmlydC5jCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSA8YXNtL3NldHVwLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2hfaG9va3MuaD4KICNpbmNsdWRlIDxhc20vdGltZS5oPgorI2luY2x1ZGUgPGFzbS9wZ2FsbG9jLmg+CiAjaW5jbHVkZSA8YXNtL2lycS5oPgogI2luY2x1ZGUgPGFzbS9kZWxheS5oPgogI2luY2x1ZGUgPGFzbS9maXhtYXAuaD4KQEAgLTEzOSw3ICsxNDAsOSBAQAogCQkvKiBJZiB0aGUgb3BlcmF0aW9uIGlzIGEgbm9wLCB0aGVuIG5vcCB0aGUgY2FsbHNpdGUgKi8KIAkJcmV0ID0gcGFyYXZpcnRfcGF0Y2hfbm9wKCk7CiAJZWxzZSBpZiAodHlwZSA9PSBQQVJBVklSVF9QQVRDSChwdl9jcHVfb3BzLmlyZXQpIHx8Ci0JCSB0eXBlID09IFBBUkFWSVJUX1BBVENIKHB2X2NwdV9vcHMuaXJxX2VuYWJsZV9zeXNjYWxsX3JldCkpCisJCSB0eXBlID09IFBBUkFWSVJUX1BBVENIKHB2X2NwdV9vcHMuaXJxX2VuYWJsZV9zeXNleGl0KSB8fAorCQkgdHlwZSA9PSBQQVJBVklSVF9QQVRDSChwdl9jcHVfb3BzLnVzZXJnc19zeXNyZXQzMikgfHwKKwkJIHR5cGUgPT0gUEFSQVZJUlRfUEFUQ0gocHZfY3B1X29wcy51c2VyZ3Nfc3lzcmV0NjQpKQogCQkvKiBJZiBvcGVyYXRpb24gcmVxdWlyZXMgYSBqbXAsIHRoZW4gam1wICovCiAJCXJldCA9IHBhcmF2aXJ0X3BhdGNoX2ptcChpbnNuYnVmLCBvcGZ1bmMsIGFkZHIsIGxlbik7CiAJZWxzZQpAQCAtMTkwLDcgKzE5Myw5IEBACiAKIC8qIFRoZXNlIGFyZSBpbiBlbnRyeS5TICovCiBleHRlcm4gdm9pZCBuYXRpdmVfaXJldCh2b2lkKTsKLWV4dGVybiB2b2lkIG5hdGl2ZV9pcnFfZW5hYmxlX3N5c2NhbGxfcmV0KHZvaWQpOworZXh0ZXJuIHZvaWQgbmF0aXZlX2lycV9lbmFibGVfc3lzZXhpdCh2b2lkKTsKK2V4dGVybiB2b2lkIG5hdGl2ZV91c2VyZ3Nfc3lzcmV0MzIodm9pZCk7CitleHRlcm4gdm9pZCBuYXRpdmVfdXNlcmdzX3N5c3JldDY0KHZvaWQpOwogCiBzdGF0aWMgaW50IF9faW5pdCBwcmludF9iYW5uZXIodm9pZCkKIHsKQEAgLTI4MCw3ICsyODUsNyBAQAogCS5nZXRfd2FsbGNsb2NrID0gbmF0aXZlX2dldF93YWxsY2xvY2ssCiAJLnNldF93YWxsY2xvY2sgPSBuYXRpdmVfc2V0X3dhbGxjbG9jaywKIAkuc2NoZWRfY2xvY2sgPSBuYXRpdmVfc2NoZWRfY2xvY2ssCi0JLmdldF9jcHVfa2h6ID0gbmF0aXZlX2NhbGN1bGF0ZV9jcHVfa2h6LAorCS5nZXRfdHNjX2toeiA9IG5hdGl2ZV9jYWxpYnJhdGVfdHNjLAogfTsKIAogc3RydWN0IHB2X2lycV9vcHMgcHZfaXJxX29wcyA9IHsKQEAgLTI5MSw2ICsyOTYsOSBAQAogCS5pcnFfZW5hYmxlID0gbmF0aXZlX2lycV9lbmFibGUsCiAJLnNhZmVfaGFsdCA9IG5hdGl2ZV9zYWZlX2hhbHQsCiAJLmhhbHQgPSBuYXRpdmVfaGFsdCwKKyNpZmRlZiBDT05GSUdfWDg2XzY0CisJLmFkanVzdF9leGNlcHRpb25fZnJhbWUgPSBwYXJhdmlydF9ub3AsCisjZW5kaWYKIH07CiAKIHN0cnVjdCBwdl9jcHVfb3BzIHB2X2NwdV9vcHMgPSB7CkBAIC0zMjEsMTIgKzMyOSwyMyBAQAogCS5zdG9yZV9pZHQgPSBuYXRpdmVfc3RvcmVfaWR0LAogCS5zdG9yZV90ciA9IG5hdGl2ZV9zdG9yZV90ciwKIAkubG9hZF90bHMgPSBuYXRpdmVfbG9hZF90bHMsCisjaWZkZWYgQ09ORklHX1g4Nl82NAorCS5sb2FkX2dzX2luZGV4ID0gbmF0aXZlX2xvYWRfZ3NfaW5kZXgsCisjZW5kaWYKIAkud3JpdGVfbGR0X2VudHJ5ID0gbmF0aXZlX3dyaXRlX2xkdF9lbnRyeSwKIAkud3JpdGVfZ2R0X2VudHJ5ID0gbmF0aXZlX3dyaXRlX2dkdF9lbnRyeSwKIAkud3JpdGVfaWR0X2VudHJ5ID0gbmF0aXZlX3dyaXRlX2lkdF9lbnRyeSwKIAkubG9hZF9zcDAgPSBuYXRpdmVfbG9hZF9zcDAsCiAKLQkuaXJxX2VuYWJsZV9zeXNjYWxsX3JldCA9IG5hdGl2ZV9pcnFfZW5hYmxlX3N5c2NhbGxfcmV0LAorI2lmIGRlZmluZWQoQ09ORklHX1g4Nl8zMikgfHwgZGVmaW5lZChDT05GSUdfSUEzMl9FTVVMQVRJT04pCisJLmlycV9lbmFibGVfc3lzZXhpdCA9IG5hdGl2ZV9pcnFfZW5hYmxlX3N5c2V4aXQsCisjZW5kaWYKKyNpZmRlZiBDT05GSUdfWDg2XzY0CisjaWZkZWYgQ09ORklHX0lBMzJfRU1VTEFUSU9OCisJLnVzZXJnc19zeXNyZXQzMiA9IG5hdGl2ZV91c2VyZ3Nfc3lzcmV0MzIsCisjZW5kaWYKKwkudXNlcmdzX3N5c3JldDY0ID0gbmF0aXZlX3VzZXJnc19zeXNyZXQ2NCwKKyNlbmRpZgogCS5pcmV0ID0gbmF0aXZlX2lyZXQsCiAJLnN3YXBncyA9IG5hdGl2ZV9zd2FwZ3MsCiAKQEAgLTM2Niw2ICszODUsOSBAQAogCS5mbHVzaF90bGJfc2luZ2xlID0gbmF0aXZlX2ZsdXNoX3RsYl9zaW5nbGUsCiAJLmZsdXNoX3RsYl9vdGhlcnMgPSBuYXRpdmVfZmx1c2hfdGxiX290aGVycywKIAorCS5wZ2RfYWxsb2MgPSBfX3BhcmF2aXJ0X3BnZF9hbGxvYywKKwkucGdkX2ZyZWUgPSBwYXJhdmlydF9ub3AsCisKIAkuYWxsb2NfcHRlID0gcGFyYXZpcnRfbm9wLAogCS5hbGxvY19wbWQgPSBwYXJhdmlydF9ub3AsCiAJLmFsbG9jX3BtZF9jbG9uZSA9IHBhcmF2aXJ0X25vcCwKQEAgLTM4MCw2ICs0MDIsOSBAQAogCS5wdGVfdXBkYXRlID0gcGFyYXZpcnRfbm9wLAogCS5wdGVfdXBkYXRlX2RlZmVyID0gcGFyYXZpcnRfbm9wLAogCisJLnB0ZXBfbW9kaWZ5X3Byb3Rfc3RhcnQgPSBfX3B0ZXBfbW9kaWZ5X3Byb3Rfc3RhcnQsCisJLnB0ZXBfbW9kaWZ5X3Byb3RfY29tbWl0ID0gX19wdGVwX21vZGlmeV9wcm90X2NvbW1pdCwKKwogI2lmZGVmIENPTkZJR19ISUdIUFRFCiAJLmttYXBfYXRvbWljX3B0ZSA9IGttYXBfYXRvbWljLAogI2VuZGlmCkBAIC00MDMsNiArNDI4LDcgQEAKICNlbmRpZiAvKiBQQUdFVEFCTEVfTEVWRUxTID49IDMgKi8KIAogCS5wdGVfdmFsID0gbmF0aXZlX3B0ZV92YWwsCisJLnB0ZV9mbGFncyA9IG5hdGl2ZV9wdGVfdmFsLAogCS5wZ2RfdmFsID0gbmF0aXZlX3BnZF92YWwsCiAKIAkubWFrZV9wdGUgPSBuYXRpdmVfbWFrZV9wdGUsCkBAIC00MTYsNiArNDQyLDggQEAKIAkJLmVudGVyID0gcGFyYXZpcnRfbm9wLAogCQkubGVhdmUgPSBwYXJhdmlydF9ub3AsCiAJfSwKKworCS5zZXRfZml4bWFwID0gbmF0aXZlX3NldF9maXhtYXAsCiB9OwogCiBFWFBPUlRfU1lNQk9MX0dQTChwdl90aW1lX29wcyk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvcGFyYXZpcnRfcGF0Y2hfMzIuYyBiL2FyY2gveDg2L2tlcm5lbC9wYXJhdmlydF9wYXRjaF8zMi5jCmluZGV4IDgyZmM1ZmMuLjU4MjYyMjEgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9wYXJhdmlydF9wYXRjaF8zMi5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9wYXJhdmlydF9wYXRjaF8zMi5jCkBAIC01LDcgKzUsNyBAQAogREVGX05BVElWRShwdl9pcnFfb3BzLCByZXN0b3JlX2ZsLCAicHVzaCAlZWF4OyBwb3BmIik7CiBERUZfTkFUSVZFKHB2X2lycV9vcHMsIHNhdmVfZmwsICJwdXNoZjsgcG9wICVlYXgiKTsKIERFRl9OQVRJVkUocHZfY3B1X29wcywgaXJldCwgImlyZXQiKTsKLURFRl9OQVRJVkUocHZfY3B1X29wcywgaXJxX2VuYWJsZV9zeXNjYWxsX3JldCwgInN0aTsgc3lzZXhpdCIpOworREVGX05BVElWRShwdl9jcHVfb3BzLCBpcnFfZW5hYmxlX3N5c2V4aXQsICJzdGk7IHN5c2V4aXQiKTsKIERFRl9OQVRJVkUocHZfbW11X29wcywgcmVhZF9jcjIsICJtb3YgJWNyMiwgJWVheCIpOwogREVGX05BVElWRShwdl9tbXVfb3BzLCB3cml0ZV9jcjMsICJtb3YgJWVheCwgJWNyMyIpOwogREVGX05BVElWRShwdl9tbXVfb3BzLCByZWFkX2NyMywgIm1vdiAlY3IzLCAlZWF4Iik7CkBAIC0yOSw3ICsyOSw3IEBACiAJCVBBVENIX1NJVEUocHZfaXJxX29wcywgcmVzdG9yZV9mbCk7CiAJCVBBVENIX1NJVEUocHZfaXJxX29wcywgc2F2ZV9mbCk7CiAJCVBBVENIX1NJVEUocHZfY3B1X29wcywgaXJldCk7Ci0JCVBBVENIX1NJVEUocHZfY3B1X29wcywgaXJxX2VuYWJsZV9zeXNjYWxsX3JldCk7CisJCVBBVENIX1NJVEUocHZfY3B1X29wcywgaXJxX2VuYWJsZV9zeXNleGl0KTsKIAkJUEFUQ0hfU0lURShwdl9tbXVfb3BzLCByZWFkX2NyMik7CiAJCVBBVENIX1NJVEUocHZfbW11X29wcywgcmVhZF9jcjMpOwogCQlQQVRDSF9TSVRFKHB2X21tdV9vcHMsIHdyaXRlX2NyMyk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvcGFyYXZpcnRfcGF0Y2hfNjQuYyBiL2FyY2gveDg2L2tlcm5lbC9wYXJhdmlydF9wYXRjaF82NC5jCmluZGV4IDdkOTA0ZTEuLjA2MWQwMWQgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9wYXJhdmlydF9wYXRjaF82NC5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9wYXJhdmlydF9wYXRjaF82NC5jCkBAIC0xNCw4ICsxNCw5IEBACiBERUZfTkFUSVZFKHB2X2NwdV9vcHMsIGNsdHMsICJjbHRzIik7CiBERUZfTkFUSVZFKHB2X2NwdV9vcHMsIHdiaW52ZCwgIndiaW52ZCIpOwogCi0vKiB0aGUgdGhyZWUgY29tbWFuZHMgZ2l2ZSB1cyBtb3JlIGNvbnRyb2wgdG8gaG93IHRvIHJldHVybiBmcm9tIGEgc3lzY2FsbCAqLwotREVGX05BVElWRShwdl9jcHVfb3BzLCBpcnFfZW5hYmxlX3N5c2NhbGxfcmV0LCAibW92cSAlZ3M6IiBfX3N0cmluZ2lmeShwZGFfb2xkcnNwKSAiLCAlcnNwOyBzd2FwZ3M7IHN5c3JldHE7Iik7CitERUZfTkFUSVZFKHB2X2NwdV9vcHMsIGlycV9lbmFibGVfc3lzZXhpdCwgInN3YXBnczsgc3RpOyBzeXNleGl0Iik7CitERUZfTkFUSVZFKHB2X2NwdV9vcHMsIHVzZXJnc19zeXNyZXQ2NCwgInN3YXBnczsgc3lzcmV0cSIpOworREVGX05BVElWRShwdl9jcHVfb3BzLCB1c2VyZ3Nfc3lzcmV0MzIsICJzd2FwZ3M7IHN5c3JldGwiKTsKIERFRl9OQVRJVkUocHZfY3B1X29wcywgc3dhcGdzLCAic3dhcGdzIik7CiAKIHVuc2lnbmVkIG5hdGl2ZV9wYXRjaCh1OCB0eXBlLCB1MTYgY2xvYmJlcnMsIHZvaWQgKmlidWYsCkBAIC0zNSw3ICszNiw5IEBACiAJCVBBVENIX1NJVEUocHZfaXJxX29wcywgaXJxX2VuYWJsZSk7CiAJCVBBVENIX1NJVEUocHZfaXJxX29wcywgaXJxX2Rpc2FibGUpOwogCQlQQVRDSF9TSVRFKHB2X2NwdV9vcHMsIGlyZXQpOwotCQlQQVRDSF9TSVRFKHB2X2NwdV9vcHMsIGlycV9lbmFibGVfc3lzY2FsbF9yZXQpOworCQlQQVRDSF9TSVRFKHB2X2NwdV9vcHMsIGlycV9lbmFibGVfc3lzZXhpdCk7CisJCVBBVENIX1NJVEUocHZfY3B1X29wcywgdXNlcmdzX3N5c3JldDMyKTsKKwkJUEFUQ0hfU0lURShwdl9jcHVfb3BzLCB1c2VyZ3Nfc3lzcmV0NjQpOwogCQlQQVRDSF9TSVRFKHB2X2NwdV9vcHMsIHN3YXBncyk7CiAJCVBBVENIX1NJVEUocHZfbW11X29wcywgcmVhZF9jcjIpOwogCQlQQVRDSF9TSVRFKHB2X21tdV9vcHMsIHJlYWRfY3IzKTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9wY2ktY2FsZ2FyeV82NC5jIGIvYXJjaC94ODYva2VybmVsL3BjaS1jYWxnYXJ5XzY0LmMKaW5kZXggZTI4ZWM0OS4uNjk1OWI1YyAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL3BjaS1jYWxnYXJ5XzY0LmMKKysrIGIvYXJjaC94ODYva2VybmVsL3BjaS1jYWxnYXJ5XzY0LmMKQEAgLTEzOTQsNyArMTM5NCw3IEBACiAJCXJldHVybjsKIAl9CiAKLQlzcGVjaWZpZWRfdGFibGVfc2l6ZSA9IGRldGVybWluZV90Y2VfdGFibGVfc2l6ZShlbmRfcGZuICogUEFHRV9TSVpFKTsKKwlzcGVjaWZpZWRfdGFibGVfc2l6ZSA9IGRldGVybWluZV90Y2VfdGFibGVfc2l6ZShtYXhfcGZuICogUEFHRV9TSVpFKTsKIAogCWZvciAoYnVzID0gMDsgYnVzIDwgTUFYX1BIQl9CVVNfTlVNOyBidXMrKykgewogCQlzdHJ1Y3QgY2FsZ2FyeV9idXNfaW5mbyAqaW5mbyA9ICZidXNfaW5mb1tidXNdOwpAQCAtMTQ1OSw3ICsxNDU5LDcgQEAKIAlpZiAocmV0KSB7CiAJCXByaW50ayhLRVJOX0VSUiAiUENJLURNQTogQ2FsZ2FyeSBpbml0IGZhaWxlZCAlZCwgIgogCQkgICAgICAgImZhbGxpbmcgYmFjayB0byBub19pb21tdVxuIiwgcmV0KTsKLQkJaWYgKGVuZF9wZm4gPiBNQVhfRE1BMzJfUEZOKQorCQlpZiAobWF4X3BmbiA+IE1BWF9ETUEzMl9QRk4pCiAJCQlwcmludGsoS0VSTl9FUlIgIldBUk5JTkcgbW9yZSB0aGFuIDRHQiBvZiBtZW1vcnksICIKIAkJCQkJIjMyYml0IFBDSSBtYXkgbWFsZnVuY3Rpb24uXG4iKTsKIAkJcmV0dXJuIHJldDsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9wY2ktZG1hLmMgYi9hcmNoL3g4Ni9rZXJuZWwvcGNpLWRtYS5jCmluZGV4IGRjMDBhMTMuLjg0NjdlYzIgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9wY2ktZG1hLmMKKysrIGIvYXJjaC94ODYva2VybmVsL3BjaS1kbWEuYwpAQCAtNyw2ICs3LDcgQEAKICNpbmNsdWRlIDxhc20vZG1hLmg+CiAjaW5jbHVkZSA8YXNtL2dhcnQuaD4KICNpbmNsdWRlIDxhc20vY2FsZ2FyeS5oPgorI2luY2x1ZGUgPGFzbS9hbWRfaW9tbXUuaD4KIAogaW50IGZvcmJpZF9kYWMgX19yZWFkX21vc3RseTsKIEVYUE9SVF9TWU1CT0woZm9yYmlkX2RhYyk7CkBAIC03NCwxMyArNzUsMTcgQEAKIHZvaWQgX19pbml0IGRtYTMyX3Jlc2VydmVfYm9vdG1lbSh2b2lkKQogewogCXVuc2lnbmVkIGxvbmcgc2l6ZSwgYWxpZ247Ci0JaWYgKGVuZF9wZm4gPD0gTUFYX0RNQTMyX1BGTikKKwlpZiAobWF4X3BmbiA8PSBNQVhfRE1BMzJfUEZOKQogCQlyZXR1cm47CiAKKwkvKgorCSAqIGNoZWNrIGFwZXJ0dXJlXzY0LmMgYWxsb2NhdGVfYXBlcnR1cmUoKSBmb3IgcmVhc29uIGFib3V0CisJICogdXNpbmcgNTEyTSBhcyBnb2FsCisJICovCiAJYWxpZ24gPSA2NFVMTDw8MjA7CiAJc2l6ZSA9IHJvdW5kX3VwKGRtYTMyX2Jvb3RtZW1fc2l6ZSwgYWxpZ24pOwogCWRtYTMyX2Jvb3RtZW1fcHRyID0gX19hbGxvY19ib290bWVtX25vcGFuaWMoc2l6ZSwgYWxpZ24sCi0JCQkJIF9fcGEoTUFYX0RNQV9BRERSRVNTKSk7CisJCQkJIDUxMlVMTDw8MjApOwogCWlmIChkbWEzMl9ib290bWVtX3B0cikKIAkJZG1hMzJfYm9vdG1lbV9zaXplID0gc2l6ZTsKIAllbHNlCkBAIC04OCwxNyArOTMsMTQgQEAKIH0KIHN0YXRpYyB2b2lkIF9faW5pdCBkbWEzMl9mcmVlX2Jvb3RtZW0odm9pZCkKIHsKLQlpbnQgbm9kZTsKIAotCWlmIChlbmRfcGZuIDw9IE1BWF9ETUEzMl9QRk4pCisJaWYgKG1heF9wZm4gPD0gTUFYX0RNQTMyX1BGTikKIAkJcmV0dXJuOwogCiAJaWYgKCFkbWEzMl9ib290bWVtX3B0cikKIAkJcmV0dXJuOwogCi0JZm9yX2VhY2hfb25saW5lX25vZGUobm9kZSkKLQkJZnJlZV9ib290bWVtX25vZGUoTk9ERV9EQVRBKG5vZGUpLCBfX3BhKGRtYTMyX2Jvb3RtZW1fcHRyKSwKLQkJCQkgIGRtYTMyX2Jvb3RtZW1fc2l6ZSk7CisJZnJlZV9ib290bWVtKF9fcGEoZG1hMzJfYm9vdG1lbV9wdHIpLCBkbWEzMl9ib290bWVtX3NpemUpOwogCiAJZG1hMzJfYm9vdG1lbV9wdHIgPSBOVUxMOwogCWRtYTMyX2Jvb3RtZW1fc2l6ZSA9IDA7CkBAIC0xMjIsNiArMTI0LDggQEAKIAogCWRldGVjdF9pbnRlbF9pb21tdSgpOwogCisJYW1kX2lvbW11X2RldGVjdCgpOworCiAjaWZkZWYgQ09ORklHX1NXSU9UTEIKIAlwY2lfc3dpb3RsYl9pbml0KCk7CiAjZW5kaWYKQEAgLTM1Nyw3ICszNjEsNyBAQAogRVhQT1JUX1NZTUJPTChkbWFfc3VwcG9ydGVkKTsKIAogLyogQWxsb2NhdGUgRE1BIG1lbW9yeSBvbiBub2RlIG5lYXIgZGV2aWNlICovCi1ub2lubGluZSBzdHJ1Y3QgcGFnZSAqCitzdGF0aWMgbm9pbmxpbmUgc3RydWN0IHBhZ2UgKgogZG1hX2FsbG9jX3BhZ2VzKHN0cnVjdCBkZXZpY2UgKmRldiwgZ2ZwX3QgZ2ZwLCB1bnNpZ25lZCBvcmRlcikKIHsKIAlpbnQgbm9kZTsKQEAgLTUwMiw2ICs1MDYsOCBAQAogCiAJaW50ZWxfaW9tbXVfaW5pdCgpOwogCisJYW1kX2lvbW11X2luaXQoKTsKKwogI2lmZGVmIENPTkZJR19HQVJUX0lPTU1VCiAJZ2FydF9pb21tdV9pbml0KCk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9wY2ktZ2FydF82NC5jIGIvYXJjaC94ODYva2VybmVsL3BjaS1nYXJ0XzY0LmMKaW5kZXggYWE4ZWM5Mi4uYzNmZTc4NCAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL3BjaS1nYXJ0XzY0LmMKKysrIGIvYXJjaC94ODYva2VybmVsL3BjaS1nYXJ0XzY0LmMKQEAgLTEwNCw3ICsxMDQsNiBAQAogCQkJCQkgIHNpemUsIGJhc2VfaW5kZXgsIGJvdW5kYXJ5X3NpemUsIDApOwogCX0KIAlpZiAob2Zmc2V0ICE9IC0xKSB7Ci0JCXNldF9iaXRfc3RyaW5nKGlvbW11X2dhcnRfYml0bWFwLCBvZmZzZXQsIHNpemUpOwogCQluZXh0X2JpdCA9IG9mZnNldCtzaXplOwogCQlpZiAobmV4dF9iaXQgPj0gaW9tbXVfcGFnZXMpIHsKIAkJCW5leHRfYml0ID0gMDsKQEAgLTUzNCw4ICs1MzMsOCBAQAogCXVuc2lnbmVkIGFwZXJfc2l6ZSA9IDAsIGFwZXJfYmFzZV8zMiwgYXBlcl9vcmRlcjsKIAl1NjQgYXBlcl9iYXNlOwogCi0JcGNpX3JlYWRfY29uZmlnX2R3b3JkKGRldiwgMHg5NCwgJmFwZXJfYmFzZV8zMik7Ci0JcGNpX3JlYWRfY29uZmlnX2R3b3JkKGRldiwgMHg5MCwgJmFwZXJfb3JkZXIpOworCXBjaV9yZWFkX2NvbmZpZ19kd29yZChkZXYsIEFNRDY0X0dBUlRBUEVSVFVSRUJBU0UsICZhcGVyX2Jhc2VfMzIpOworCXBjaV9yZWFkX2NvbmZpZ19kd29yZChkZXYsIEFNRDY0X0dBUlRBUEVSVFVSRUNUTCwgJmFwZXJfb3JkZXIpOwogCWFwZXJfb3JkZXIgPSAoYXBlcl9vcmRlciA+PiAxKSAmIDc7CiAKIAlhcGVyX2Jhc2UgPSBhcGVyX2Jhc2VfMzIgJiAweDdmZmY7CkBAIC01NDksMTQgKzU0OCw2MyBAQAogCXJldHVybiBhcGVyX2Jhc2U7CiB9CiAKK3N0YXRpYyB2b2lkIGVuYWJsZV9nYXJ0X3RyYW5zbGF0aW9ucyh2b2lkKQoreworCWludCBpOworCisJZm9yIChpID0gMDsgaSA8IG51bV9rOF9ub3J0aGJyaWRnZXM7IGkrKykgeworCQlzdHJ1Y3QgcGNpX2RldiAqZGV2ID0gazhfbm9ydGhicmlkZ2VzW2ldOworCisJCWVuYWJsZV9nYXJ0X3RyYW5zbGF0aW9uKGRldiwgX19wYShhZ3BfZ2F0dF90YWJsZSkpOworCX0KK30KKworLyoKKyAqIElmIGZpeF91cF9ub3J0aF9icmlkZ2VzIGlzIHNldCwgdGhlIG5vcnRoIGJyaWRnZXMgaGF2ZSB0byBiZSBmaXhlZCB1cCBvbgorICogcmVzdW1lIGluIHRoZSBzYW1lIHdheSBhcyB0aGV5IGFyZSBoYW5kbGVkIGluIGdhcnRfaW9tbXVfaG9sZV9pbml0KCkuCisgKi8KK3N0YXRpYyBib29sIGZpeF91cF9ub3J0aF9icmlkZ2VzOworc3RhdGljIHUzMiBhcGVydHVyZV9vcmRlcjsKK3N0YXRpYyB1MzIgYXBlcnR1cmVfYWxsb2M7CisKK3ZvaWQgc2V0X3VwX2dhcnRfcmVzdW1lKHUzMiBhcGVyX29yZGVyLCB1MzIgYXBlcl9hbGxvYykKK3sKKwlmaXhfdXBfbm9ydGhfYnJpZGdlcyA9IHRydWU7CisJYXBlcnR1cmVfb3JkZXIgPSBhcGVyX29yZGVyOworCWFwZXJ0dXJlX2FsbG9jID0gYXBlcl9hbGxvYzsKK30KKwogc3RhdGljIGludCBnYXJ0X3Jlc3VtZShzdHJ1Y3Qgc3lzX2RldmljZSAqZGV2KQogeworCXByaW50ayhLRVJOX0lORk8gIlBDSS1ETUE6IFJlc3VtaW5nIEdBUlQgSU9NTVVcbiIpOworCisJaWYgKGZpeF91cF9ub3J0aF9icmlkZ2VzKSB7CisJCWludCBpOworCisJCXByaW50ayhLRVJOX0lORk8gIlBDSS1ETUE6IFJlc3RvcmluZyBHQVJUIGFwZXJ0dXJlIHNldHRpbmdzXG4iKTsKKworCQlmb3IgKGkgPSAwOyBpIDwgbnVtX2s4X25vcnRoYnJpZGdlczsgaSsrKSB7CisJCQlzdHJ1Y3QgcGNpX2RldiAqZGV2ID0gazhfbm9ydGhicmlkZ2VzW2ldOworCisJCQkvKgorCQkJICogRG9uJ3QgZW5hYmxlIHRyYW5zbGF0aW9ucyBqdXN0IHlldC4gIFRoYXQgaXMgdGhlIG5leHQKKwkJCSAqIHN0ZXAuICBSZXN0b3JlIHRoZSBwcmUtc3VzcGVuZCBhcGVydHVyZSBzZXR0aW5ncy4KKwkJCSAqLworCQkJcGNpX3dyaXRlX2NvbmZpZ19kd29yZChkZXYsIEFNRDY0X0dBUlRBUEVSVFVSRUNUTCwKKwkJCQkJCWFwZXJ0dXJlX29yZGVyIDw8IDEpOworCQkJcGNpX3dyaXRlX2NvbmZpZ19kd29yZChkZXYsIEFNRDY0X0dBUlRBUEVSVFVSRUJBU0UsCisJCQkJCQlhcGVydHVyZV9hbGxvYyA+PiAyNSk7CisJCX0KKwl9CisKKwllbmFibGVfZ2FydF90cmFuc2xhdGlvbnMoKTsKKwogCXJldHVybiAwOwogfQogCiBzdGF0aWMgaW50IGdhcnRfc3VzcGVuZChzdHJ1Y3Qgc3lzX2RldmljZSAqZGV2LCBwbV9tZXNzYWdlX3Qgc3RhdGUpCiB7Ci0JcmV0dXJuIC1FSU5WQUw7CisJcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyBzdHJ1Y3Qgc3lzZGV2X2NsYXNzIGdhcnRfc3lzZGV2X2NsYXNzID0gewpAQCAtNTgyLDYgKzYzMCw3IEBACiAJc3RydWN0IHBjaV9kZXYgKmRldjsKIAl2b2lkICpnYXR0OwogCWludCBpLCBlcnJvcjsKKwl1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwgZW5kX3BmbjsKIAogCXByaW50ayhLRVJOX0lORk8gIlBDSS1ETUE6IERpc2FibGluZyBBR1AuXG4iKTsKIAlhcGVyX3NpemUgPSBhcGVyX2Jhc2UgPSBpbmZvLT5hcGVyX3NpemUgPSAwOwpAQCAtNjE0LDMxICs2NjMsMjUgQEAKIAltZW1zZXQoZ2F0dCwgMCwgZ2F0dF9zaXplKTsKIAlhZ3BfZ2F0dF90YWJsZSA9IGdhdHQ7CiAKLQlmb3IgKGkgPSAwOyBpIDwgbnVtX2s4X25vcnRoYnJpZGdlczsgaSsrKSB7Ci0JCXUzMiBnYXR0X3JlZzsKLQkJdTMyIGN0bDsKLQotCQlkZXYgPSBrOF9ub3J0aGJyaWRnZXNbaV07Ci0JCWdhdHRfcmVnID0gX19wYShnYXR0KSA+PiAxMjsKLQkJZ2F0dF9yZWcgPDw9IDQ7Ci0JCXBjaV93cml0ZV9jb25maWdfZHdvcmQoZGV2LCAweDk4LCBnYXR0X3JlZyk7Ci0JCXBjaV9yZWFkX2NvbmZpZ19kd29yZChkZXYsIDB4OTAsICZjdGwpOwotCi0JCWN0bCB8PSAxOwotCQljdGwgJj0gfigoMTw8NCkgfCAoMTw8NSkpOwotCi0JCXBjaV93cml0ZV9jb25maWdfZHdvcmQoZGV2LCAweDkwLCBjdGwpOwotCX0KKwllbmFibGVfZ2FydF90cmFuc2xhdGlvbnMoKTsKIAogCWVycm9yID0gc3lzZGV2X2NsYXNzX3JlZ2lzdGVyKCZnYXJ0X3N5c2Rldl9jbGFzcyk7CiAJaWYgKCFlcnJvcikKIAkJZXJyb3IgPSBzeXNkZXZfcmVnaXN0ZXIoJmRldmljZV9nYXJ0KTsKIAlpZiAoZXJyb3IpCiAJCXBhbmljKCJDb3VsZCBub3QgcmVnaXN0ZXIgZ2FydF9zeXNkZXYgLS0gd291bGQgY29ycnVwdCBkYXRhIG9uIG5leHQgc3VzcGVuZCIpOworCiAJZmx1c2hfZ2FydCgpOwogCiAJcHJpbnRrKEtFUk5fSU5GTyAiUENJLURNQTogYXBlcnR1cmUgYmFzZSBAICV4IHNpemUgJXUgS0JcbiIsCiAJICAgICAgIGFwZXJfYmFzZSwgYXBlcl9zaXplPj4xMCk7CisKKwkvKiBuZWVkIHRvIG1hcCB0aGF0IHJhbmdlICovCisJZW5kX3BmbiA9IChhcGVyX2Jhc2U+PlBBR0VfU0hJRlQpICsgKGFwZXJfc2l6ZT4+UEFHRV9TSElGVCk7CisJaWYgKGVuZF9wZm4gPiBtYXhfbG93X3Bmbl9tYXBwZWQpIHsKKwkJc3RhcnRfcGZuID0gKGFwZXJfYmFzZT4+UEFHRV9TSElGVCk7CisJCWluaXRfbWVtb3J5X21hcHBpbmcoc3RhcnRfcGZuPDxQQUdFX1NISUZULCBlbmRfcGZuPDxQQUdFX1NISUZUKTsKKwl9CiAJcmV0dXJuIDA7CiAKICBub21tdToKQEAgLTY3NywxMSArNzIwLDExIEBACiAJCXUzMiBjdGw7CiAKIAkJZGV2ID0gazhfbm9ydGhicmlkZ2VzW2ldOwotCQlwY2lfcmVhZF9jb25maWdfZHdvcmQoZGV2LCAweDkwLCAmY3RsKTsKKwkJcGNpX3JlYWRfY29uZmlnX2R3b3JkKGRldiwgQU1ENjRfR0FSVEFQRVJUVVJFQ1RMLCAmY3RsKTsKIAotCQljdGwgJj0gfjE7CisJCWN0bCAmPSB+R0FSVEVOOwogCi0JCXBjaV93cml0ZV9jb25maWdfZHdvcmQoZGV2LCAweDkwLCBjdGwpOworCQlwY2lfd3JpdGVfY29uZmlnX2R3b3JkKGRldiwgQU1ENjRfR0FSVEFQRVJUVVJFQ1RMLCBjdGwpOwogCX0KIH0KIApAQCAtNzE2LDEwICs3NTksMTAgQEAKIAkJcmV0dXJuOwogCiAJaWYgKG5vX2lvbW11IHx8Ci0JICAgICghZm9yY2VfaW9tbXUgJiYgZW5kX3BmbiA8PSBNQVhfRE1BMzJfUEZOKSB8fAorCSAgICAoIWZvcmNlX2lvbW11ICYmIG1heF9wZm4gPD0gTUFYX0RNQTMyX1BGTikgfHwKIAkgICAgIWdhcnRfaW9tbXVfYXBlcnR1cmUgfHwKIAkgICAgKG5vX2FncCAmJiBpbml0X2s4X2dhdHQoJmluZm8pIDwgMCkpIHsKLQkJaWYgKGVuZF9wZm4gPiBNQVhfRE1BMzJfUEZOKSB7CisJCWlmIChtYXhfcGZuID4gTUFYX0RNQTMyX1BGTikgewogCQkJcHJpbnRrKEtFUk5fV0FSTklORyAiTW9yZSB0aGFuIDRHQiBvZiBtZW1vcnkgIgogCQkJICAgICAgIAkgICAgICAgICAgImJ1dCBHQVJUIElPTU1VIG5vdCBhdmFpbGFibGUuXG4iCiAJCQkgICAgICAgS0VSTl9XQVJOSU5HICJmYWxsaW5nIGJhY2sgdG8gaW9tbXU9c29mdC5cbiIpOwpAQCAtNzg4LDEwICs4MzEsMTAgQEAKIAl3YmludmQoKTsKIAogCS8qCi0JICogVHJ5IHRvIHdvcmthcm91bmQgYSBidWcgKHRoYW5rcyB0byBCZW5IKQorCSAqIFRyeSB0byB3b3JrYXJvdW5kIGEgYnVnICh0aGFua3MgdG8gQmVuSCk6CiAJICogU2V0IHVubWFwcGVkIGVudHJpZXMgdG8gYSBzY3JhdGNoIHBhZ2UgaW5zdGVhZCBvZiAwLgogCSAqIEFueSBwcmVmZXRjaGVzIHRoYXQgaGl0IHVubWFwcGVkIGVudHJpZXMgd29uJ3QgZ2V0IGFuIGJ1cyBhYm9ydAotCSAqIHRoZW4uCisJICogdGhlbi4gKFAyUCBicmlkZ2UgbWF5IGJlIHByZWZldGNoaW5nIG9uIERNQSByZWFkcykuCiAJICovCiAJc2NyYXRjaCA9IGdldF96ZXJvZWRfcGFnZShHRlBfS0VSTkVMKTsKIAlpZiAoIXNjcmF0Y2gpCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvcGNpLXN3aW90bGJfNjQuYyBiL2FyY2gveDg2L2tlcm5lbC9wY2ktc3dpb3RsYl82NC5jCmluZGV4IDQ5MGRhN2YuLjgyMjk5Y2QgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9wY2ktc3dpb3RsYl82NC5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9wY2ktc3dpb3RsYl82NC5jCkBAIC0zOCw3ICszOCw3IEBACiB2b2lkIF9faW5pdCBwY2lfc3dpb3RsYl9pbml0KHZvaWQpCiB7CiAJLyogZG9uJ3QgaW5pdGlhbGl6ZSBzd2lvdGxiIGlmIGlvbW11PW9mZiAobm9faW9tbXU9MSkgKi8KLQlpZiAoIWlvbW11X2RldGVjdGVkICYmICFub19pb21tdSAmJiBlbmRfcGZuID4gTUFYX0RNQTMyX1BGTikKKwlpZiAoIWlvbW11X2RldGVjdGVkICYmICFub19pb21tdSAmJiBtYXhfcGZuID4gTUFYX0RNQTMyX1BGTikKIAkgICAgICAgc3dpb3RsYiA9IDE7CiAJaWYgKHN3aW90bGJfZm9yY2UpCiAJCXN3aW90bGIgPSAxOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3Byb2JlX3JvbXNfMzIuYyBiL2FyY2gveDg2L2tlcm5lbC9wcm9iZV9yb21zXzMyLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjc1YTQ4YwotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gveDg2L2tlcm5lbC9wcm9iZV9yb21zXzMyLmMKQEAgLTAsMCArMSwxNjYgQEAKKyNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgorI2luY2x1ZGUgPGxpbnV4L21tLmg+CisjaW5jbHVkZSA8bGludXgvdWFjY2Vzcy5oPgorI2luY2x1ZGUgPGxpbnV4L21tem9uZS5oPgorI2luY2x1ZGUgPGxpbnV4L2lvcG9ydC5oPgorI2luY2x1ZGUgPGxpbnV4L3NlcV9maWxlLmg+CisjaW5jbHVkZSA8bGludXgvY29uc29sZS5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9lZGQuaD4KKyNpbmNsdWRlIDxsaW51eC9kbWkuaD4KKyNpbmNsdWRlIDxsaW51eC9wZm4uaD4KKyNpbmNsdWRlIDxsaW51eC9wY2kuaD4KKyNpbmNsdWRlIDxhc20vcGNpLWRpcmVjdC5oPgorCisKKyNpbmNsdWRlIDxhc20vZTgyMC5oPgorI2luY2x1ZGUgPGFzbS9tbXpvbmUuaD4KKyNpbmNsdWRlIDxhc20vc2V0dXAuaD4KKyNpbmNsdWRlIDxhc20vc2VjdGlvbnMuaD4KKyNpbmNsdWRlIDxhc20vaW8uaD4KKyNpbmNsdWRlIDxzZXR1cF9hcmNoLmg+CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2Ugc3lzdGVtX3JvbV9yZXNvdXJjZSA9IHsKKwkubmFtZQk9ICJTeXN0ZW0gUk9NIiwKKwkuc3RhcnQJPSAweGYwMDAwLAorCS5lbmQJPSAweGZmZmZmLAorCS5mbGFncwk9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfUkVBRE9OTFkgfCBJT1JFU09VUkNFX01FTQorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBleHRlbnNpb25fcm9tX3Jlc291cmNlID0geworCS5uYW1lCT0gIkV4dGVuc2lvbiBST00iLAorCS5zdGFydAk9IDB4ZTAwMDAsCisJLmVuZAk9IDB4ZWZmZmYsCisJLmZsYWdzCT0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9SRUFET05MWSB8IElPUkVTT1VSQ0VfTUVNCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIGFkYXB0ZXJfcm9tX3Jlc291cmNlc1tdID0geyB7CisJLm5hbWUgCT0gIkFkYXB0ZXIgUk9NIiwKKwkuc3RhcnQJPSAweGM4MDAwLAorCS5lbmQJPSAwLAorCS5mbGFncwk9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfUkVBRE9OTFkgfCBJT1JFU09VUkNFX01FTQorfSwgeworCS5uYW1lIAk9ICJBZGFwdGVyIFJPTSIsCisJLnN0YXJ0CT0gMCwKKwkuZW5kCT0gMCwKKwkuZmxhZ3MJPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX1JFQURPTkxZIHwgSU9SRVNPVVJDRV9NRU0KK30sIHsKKwkubmFtZSAJPSAiQWRhcHRlciBST00iLAorCS5zdGFydAk9IDAsCisJLmVuZAk9IDAsCisJLmZsYWdzCT0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9SRUFET05MWSB8IElPUkVTT1VSQ0VfTUVNCit9LCB7CisJLm5hbWUgCT0gIkFkYXB0ZXIgUk9NIiwKKwkuc3RhcnQJPSAwLAorCS5lbmQJPSAwLAorCS5mbGFncwk9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfUkVBRE9OTFkgfCBJT1JFU09VUkNFX01FTQorfSwgeworCS5uYW1lIAk9ICJBZGFwdGVyIFJPTSIsCisJLnN0YXJ0CT0gMCwKKwkuZW5kCT0gMCwKKwkuZmxhZ3MJPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX1JFQURPTkxZIHwgSU9SRVNPVVJDRV9NRU0KK30sIHsKKwkubmFtZSAJPSAiQWRhcHRlciBST00iLAorCS5zdGFydAk9IDAsCisJLmVuZAk9IDAsCisJLmZsYWdzCT0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9SRUFET05MWSB8IElPUkVTT1VSQ0VfTUVNCit9IH07CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgdmlkZW9fcm9tX3Jlc291cmNlID0geworCS5uYW1lIAk9ICJWaWRlbyBST00iLAorCS5zdGFydAk9IDB4YzAwMDAsCisJLmVuZAk9IDB4YzdmZmYsCisJLmZsYWdzCT0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9SRUFET05MWSB8IElPUkVTT1VSQ0VfTUVNCit9OworCisjZGVmaW5lIFJPTVNJR05BVFVSRSAweGFhNTUKKworc3RhdGljIGludCBfX2luaXQgcm9tc2lnbmF0dXJlKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnJvbSkKK3sKKwljb25zdCB1bnNpZ25lZCBzaG9ydCAqIGNvbnN0IHB0ciA9IChjb25zdCB1bnNpZ25lZCBzaG9ydCAqKXJvbTsKKwl1bnNpZ25lZCBzaG9ydCBzaWc7CisKKwlyZXR1cm4gcHJvYmVfa2VybmVsX2FkZHJlc3MocHRyLCBzaWcpID09IDAgJiYgc2lnID09IFJPTVNJR05BVFVSRTsKK30KKworc3RhdGljIGludCBfX2luaXQgcm9tY2hlY2tzdW0oY29uc3QgdW5zaWduZWQgY2hhciAqcm9tLCB1bnNpZ25lZCBsb25nIGxlbmd0aCkKK3sKKwl1bnNpZ25lZCBjaGFyIHN1bSwgYzsKKworCWZvciAoc3VtID0gMDsgbGVuZ3RoICYmIHByb2JlX2tlcm5lbF9hZGRyZXNzKHJvbSsrLCBjKSA9PSAwOyBsZW5ndGgtLSkKKwkJc3VtICs9IGM7CisJcmV0dXJuICFsZW5ndGggJiYgIXN1bTsKK30KKwordm9pZCBfX2luaXQgcHJvYmVfcm9tcyh2b2lkKQoreworCWNvbnN0IHVuc2lnbmVkIGNoYXIgKnJvbTsKKwl1bnNpZ25lZCBsb25nIHN0YXJ0LCBsZW5ndGgsIHVwcGVyOworCXVuc2lnbmVkIGNoYXIgYzsKKwlpbnQgaTsKKworCS8qIHZpZGVvIHJvbSAqLworCXVwcGVyID0gYWRhcHRlcl9yb21fcmVzb3VyY2VzWzBdLnN0YXJ0OworCWZvciAoc3RhcnQgPSB2aWRlb19yb21fcmVzb3VyY2Uuc3RhcnQ7IHN0YXJ0IDwgdXBwZXI7IHN0YXJ0ICs9IDIwNDgpIHsKKwkJcm9tID0gaXNhX2J1c190b192aXJ0KHN0YXJ0KTsKKwkJaWYgKCFyb21zaWduYXR1cmUocm9tKSkKKwkJCWNvbnRpbnVlOworCisJCXZpZGVvX3JvbV9yZXNvdXJjZS5zdGFydCA9IHN0YXJ0OworCisJCWlmIChwcm9iZV9rZXJuZWxfYWRkcmVzcyhyb20gKyAyLCBjKSAhPSAwKQorCQkJY29udGludWU7CisKKwkJLyogMCA8IGxlbmd0aCA8PSAweDdmICogNTEyLCBoaXN0b3JpY2FsbHkgKi8KKwkJbGVuZ3RoID0gYyAqIDUxMjsKKworCQkvKiBpZiBjaGVja3N1bSBva2F5LCB0cnVzdCBsZW5ndGggYnl0ZSAqLworCQlpZiAobGVuZ3RoICYmIHJvbWNoZWNrc3VtKHJvbSwgbGVuZ3RoKSkKKwkJCXZpZGVvX3JvbV9yZXNvdXJjZS5lbmQgPSBzdGFydCArIGxlbmd0aCAtIDE7CisKKwkJcmVxdWVzdF9yZXNvdXJjZSgmaW9tZW1fcmVzb3VyY2UsICZ2aWRlb19yb21fcmVzb3VyY2UpOworCQlicmVhazsKKwl9CisKKwlzdGFydCA9ICh2aWRlb19yb21fcmVzb3VyY2UuZW5kICsgMSArIDIwNDcpICYgfjIwNDdVTDsKKwlpZiAoc3RhcnQgPCB1cHBlcikKKwkJc3RhcnQgPSB1cHBlcjsKKworCS8qIHN5c3RlbSByb20gKi8KKwlyZXF1ZXN0X3Jlc291cmNlKCZpb21lbV9yZXNvdXJjZSwgJnN5c3RlbV9yb21fcmVzb3VyY2UpOworCXVwcGVyID0gc3lzdGVtX3JvbV9yZXNvdXJjZS5zdGFydDsKKworCS8qIGNoZWNrIGZvciBleHRlbnNpb24gcm9tIChpZ25vcmUgbGVuZ3RoIGJ5dGUhKSAqLworCXJvbSA9IGlzYV9idXNfdG9fdmlydChleHRlbnNpb25fcm9tX3Jlc291cmNlLnN0YXJ0KTsKKwlpZiAocm9tc2lnbmF0dXJlKHJvbSkpIHsKKwkJbGVuZ3RoID0gZXh0ZW5zaW9uX3JvbV9yZXNvdXJjZS5lbmQgLSBleHRlbnNpb25fcm9tX3Jlc291cmNlLnN0YXJ0ICsgMTsKKwkJaWYgKHJvbWNoZWNrc3VtKHJvbSwgbGVuZ3RoKSkgeworCQkJcmVxdWVzdF9yZXNvdXJjZSgmaW9tZW1fcmVzb3VyY2UsICZleHRlbnNpb25fcm9tX3Jlc291cmNlKTsKKwkJCXVwcGVyID0gZXh0ZW5zaW9uX3JvbV9yZXNvdXJjZS5zdGFydDsKKwkJfQorCX0KKworCS8qIGNoZWNrIGZvciBhZGFwdGVyIHJvbXMgb24gMmsgYm91bmRhcmllcyAqLworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGFkYXB0ZXJfcm9tX3Jlc291cmNlcykgJiYgc3RhcnQgPCB1cHBlcjsgc3RhcnQgKz0gMjA0OCkgeworCQlyb20gPSBpc2FfYnVzX3RvX3ZpcnQoc3RhcnQpOworCQlpZiAoIXJvbXNpZ25hdHVyZShyb20pKQorCQkJY29udGludWU7CisKKwkJaWYgKHByb2JlX2tlcm5lbF9hZGRyZXNzKHJvbSArIDIsIGMpICE9IDApCisJCQljb250aW51ZTsKKworCQkvKiAwIDwgbGVuZ3RoIDw9IDB4N2YgKiA1MTIsIGhpc3RvcmljYWxseSAqLworCQlsZW5ndGggPSBjICogNTEyOworCisJCS8qIGJ1dCBhY2NlcHQgYW55IGxlbmd0aCB0aGF0IGZpdHMgaWYgY2hlY2tzdW0gb2theSAqLworCQlpZiAoIWxlbmd0aCB8fCBzdGFydCArIGxlbmd0aCA+IHVwcGVyIHx8ICFyb21jaGVja3N1bShyb20sIGxlbmd0aCkpCisJCQljb250aW51ZTsKKworCQlhZGFwdGVyX3JvbV9yZXNvdXJjZXNbaV0uc3RhcnQgPSBzdGFydDsKKwkJYWRhcHRlcl9yb21fcmVzb3VyY2VzW2ldLmVuZCA9IHN0YXJ0ICsgbGVuZ3RoIC0gMTsKKwkJcmVxdWVzdF9yZXNvdXJjZSgmaW9tZW1fcmVzb3VyY2UsICZhZGFwdGVyX3JvbV9yZXNvdXJjZXNbaV0pOworCisJCXN0YXJ0ID0gYWRhcHRlcl9yb21fcmVzb3VyY2VzW2krK10uZW5kICYgfjIwNDdVTDsKKwl9Cit9CisKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9wcm9jZXNzLmMgYi9hcmNoL3g4Ni9rZXJuZWwvcHJvY2Vzcy5jCmluZGV4IGJhMzcwZGMuLjdkY2VlYTkgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9wcm9jZXNzLmMKKysrIGIvYXJjaC94ODYva2VybmVsL3Byb2Nlc3MuYwpAQCAtNiw2ICs2LDcgQEAKICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L3BtLmg+CisjaW5jbHVkZSA8bGludXgvY2xvY2tjaGlwcy5oPgogCiBzdHJ1Y3Qga21lbV9jYWNoZSAqdGFza194c3RhdGVfY2FjaGVwOwogCkBAIC00NSw2ICs0Niw3NiBAQAogCQkJCSAgU0xBQl9QQU5JQywgTlVMTCk7CiB9CiAKKy8qCisgKiBJZGxlIHJlbGF0ZWQgdmFyaWFibGVzIGFuZCBmdW5jdGlvbnMKKyAqLwordW5zaWduZWQgbG9uZyBib290X29wdGlvbl9pZGxlX292ZXJyaWRlID0gMDsKK0VYUE9SVF9TWU1CT0woYm9vdF9vcHRpb25faWRsZV9vdmVycmlkZSk7CisKKy8qCisgKiBQb3dlcm1hbmFnZW1lbnQgaWRsZSBmdW5jdGlvbiwgaWYgYW55Li4KKyAqLwordm9pZCAoKnBtX2lkbGUpKHZvaWQpOworRVhQT1JUX1NZTUJPTChwbV9pZGxlKTsKKworI2lmZGVmIENPTkZJR19YODZfMzIKKy8qCisgKiBUaGlzIGhhbHQgbWFnaWMgd2FzIGEgd29ya2Fyb3VuZCBmb3IgYW5jaWVudCBmbG9wcHkgRE1BCisgKiB3cmVja2FnZS4gSXQgc2hvdWxkIGJlIHNhZmUgdG8gcmVtb3ZlLgorICovCitzdGF0aWMgaW50IGhsdF9jb3VudGVyOwordm9pZCBkaXNhYmxlX2hsdCh2b2lkKQoreworCWhsdF9jb3VudGVyKys7Cit9CitFWFBPUlRfU1lNQk9MKGRpc2FibGVfaGx0KTsKKwordm9pZCBlbmFibGVfaGx0KHZvaWQpCit7CisJaGx0X2NvdW50ZXItLTsKK30KK0VYUE9SVF9TWU1CT0woZW5hYmxlX2hsdCk7CisKK3N0YXRpYyBpbmxpbmUgaW50IGhsdF91c2VfaGFsdCh2b2lkKQoreworCXJldHVybiAoIWhsdF9jb3VudGVyICYmIGJvb3RfY3B1X2RhdGEuaGx0X3dvcmtzX29rKTsKK30KKyNlbHNlCitzdGF0aWMgaW5saW5lIGludCBobHRfdXNlX2hhbHQodm9pZCkKK3sKKwlyZXR1cm4gMTsKK30KKyNlbmRpZgorCisvKgorICogV2UgdXNlIHRoaXMgaWYgd2UgZG9uJ3QgaGF2ZSBhbnkgYmV0dGVyCisgKiBpZGxlIHJvdXRpbmUuLgorICovCit2b2lkIGRlZmF1bHRfaWRsZSh2b2lkKQoreworCWlmIChobHRfdXNlX2hhbHQoKSkgeworCQljdXJyZW50X3RocmVhZF9pbmZvKCktPnN0YXR1cyAmPSB+VFNfUE9MTElORzsKKwkJLyoKKwkJICogVFNfUE9MTElORy1jbGVhcmVkIHN0YXRlIG11c3QgYmUgdmlzaWJsZSBiZWZvcmUgd2UKKwkJICogdGVzdCBORUVEX1JFU0NIRUQ6CisJCSAqLworCQlzbXBfbWIoKTsKKworCQlpZiAoIW5lZWRfcmVzY2hlZCgpKQorCQkJc2FmZV9oYWx0KCk7CS8qIGVuYWJsZXMgaW50ZXJydXB0cyByYWNlbGVzc2x5ICovCisJCWVsc2UKKwkJCWxvY2FsX2lycV9lbmFibGUoKTsKKwkJY3VycmVudF90aHJlYWRfaW5mbygpLT5zdGF0dXMgfD0gVFNfUE9MTElORzsKKwl9IGVsc2UgeworCQlsb2NhbF9pcnFfZW5hYmxlKCk7CisJCS8qIGxvb3AgaXMgZG9uZSBieSB0aGUgY2FsbGVyICovCisJCWNwdV9yZWxheCgpOworCX0KK30KKyNpZmRlZiBDT05GSUdfQVBNX01PRFVMRQorRVhQT1JUX1NZTUJPTChkZWZhdWx0X2lkbGUpOworI2VuZGlmCisKIHN0YXRpYyB2b2lkIGRvX25vdGhpbmcodm9pZCAqdW51c2VkKQogewogfQpAQCAtNjEsNyArMTMyLDcgQEAKIHsKIAlzbXBfbWIoKTsKIAkvKiBraWNrIGFsbCB0aGUgQ1BVcyBzbyB0aGF0IHRoZXkgZXhpdCBvdXQgb2YgcG1faWRsZSAqLwotCXNtcF9jYWxsX2Z1bmN0aW9uKGRvX25vdGhpbmcsIE5VTEwsIDAsIDEpOworCXNtcF9jYWxsX2Z1bmN0aW9uKGRvX25vdGhpbmcsIE5VTEwsIDEpOwogfQogRVhQT1JUX1NZTUJPTF9HUEwoY3B1X2lkbGVfd2FpdCk7CiAKQEAgLTEyMiw0NCArMTkzLDEyOSBAQAogICoKICAqIGlkbGU9bXdhaXQgb3ZlcnJpZGVzIHRoaXMgZGVjaXNpb24gYW5kIGZvcmNlcyB0aGUgdXNhZ2Ugb2YgbXdhaXQuCiAgKi8KKworI2RlZmluZSBNV0FJVF9JTkZPCQkJMHgwNQorI2RlZmluZSBNV0FJVF9FQ1hfRVhURU5ERURfSU5GTwkJMHgwMQorI2RlZmluZSBNV0FJVF9FRFhfQzEJCQkweGYwCisKIHN0YXRpYyBpbnQgX19jcHVpbml0IG13YWl0X3VzYWJsZShjb25zdCBzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCiB7CisJdTMyIGVheCwgZWJ4LCBlY3gsIGVkeDsKKwogCWlmIChmb3JjZV9td2FpdCkKIAkJcmV0dXJuIDE7CiAKLQlpZiAoYy0+eDg2X3ZlbmRvciA9PSBYODZfVkVORE9SX0FNRCkgewotCQlzd2l0Y2goYy0+eDg2KSB7Ci0JCWNhc2UgMHgxMDoKLQkJY2FzZSAweDExOgotCQkJcmV0dXJuIDA7CisJaWYgKGMtPmNwdWlkX2xldmVsIDwgTVdBSVRfSU5GTykKKwkJcmV0dXJuIDA7CisKKwljcHVpZChNV0FJVF9JTkZPLCAmZWF4LCAmZWJ4LCAmZWN4LCAmZWR4KTsKKwkvKiBDaGVjaywgd2hldGhlciBFRFggaGFzIGV4dGVuZGVkIGluZm8gYWJvdXQgTVdBSVQgKi8KKwlpZiAoIShlY3ggJiBNV0FJVF9FQ1hfRVhURU5ERURfSU5GTykpCisJCXJldHVybiAxOworCisJLyoKKwkgKiBlZHggZW51bWVyYXRpb3MgTU9OSVRPUi9NV0FJVCBleHRlbnNpb25zLiBDaGVjaywgd2hldGhlcgorCSAqIEMxICBzdXBwb3J0cyBNV0FJVAorCSAqLworCXJldHVybiAoZWR4ICYgTVdBSVRfRURYX0MxKTsKK30KKworLyoKKyAqIENoZWNrIGZvciBBTUQgQ1BVcywgd2hpY2ggaGF2ZSBwb3RlbnRpYWxseSBDMUUgc3VwcG9ydAorICovCitzdGF0aWMgaW50IF9fY3B1aW5pdCBjaGVja19jMWVfaWRsZShjb25zdCBzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCit7CisJaWYgKGMtPng4Nl92ZW5kb3IgIT0gWDg2X1ZFTkRPUl9BTUQpCisJCXJldHVybiAwOworCisJaWYgKGMtPng4NiA8IDB4MEYpCisJCXJldHVybiAwOworCisJLyogRmFtaWx5IDB4MGYgbW9kZWxzIDwgcmV2IEYgZG8gbm90IGhhdmUgQzFFICovCisJaWYgKGMtPng4NiA9PSAweDBmICYmIGMtPng4Nl9tb2RlbCA8IDB4NDApCisJCXJldHVybiAwOworCisJcmV0dXJuIDE7Cit9CisKKy8qCisgKiBDMUUgYXdhcmUgaWRsZSByb3V0aW5lLiBXZSBjaGVjayBmb3IgQzFFIGFjdGl2ZSBpbiB0aGUgaW50ZXJydXB0CisgKiBwZW5kaW5nIG1lc3NhZ2UgTVNSLiBJZiB3ZSBkZXRlY3QgQzFFLCB0aGVuIHdlIGhhbmRsZSBpdCB0aGUgc2FtZQorICogd2F5IGFzIEMzIHBvd2VyIHN0YXRlcyAobG9jYWwgYXBpYyB0aW1lciBhbmQgVFNDIHN0b3ApCisgKi8KK3N0YXRpYyB2b2lkIGMxZV9pZGxlKHZvaWQpCit7CisJc3RhdGljIGNwdW1hc2tfdCBjMWVfbWFzayA9IENQVV9NQVNLX05PTkU7CisJc3RhdGljIGludCBjMWVfZGV0ZWN0ZWQ7CisKKwlpZiAobmVlZF9yZXNjaGVkKCkpCisJCXJldHVybjsKKworCWlmICghYzFlX2RldGVjdGVkKSB7CisJCXUzMiBsbywgaGk7CisKKwkJcmRtc3IoTVNSX0s4X0lOVF9QRU5ESU5HX01TRywgbG8sIGhpKTsKKwkJaWYgKGxvICYgSzhfSU5UUF9DMUVfQUNUSVZFX01BU0spIHsKKwkJCWMxZV9kZXRlY3RlZCA9IDE7CisJCQltYXJrX3RzY191bnN0YWJsZSgiVFNDIGhhbHQgaW4gQzFFIik7CisJCQlwcmludGsoS0VSTl9JTkZPICJTeXN0ZW0gaGFzIEMxRSBlbmFibGVkXG4iKTsKIAkJfQogCX0KLQlyZXR1cm4gMTsKKworCWlmIChjMWVfZGV0ZWN0ZWQpIHsKKwkJaW50IGNwdSA9IHNtcF9wcm9jZXNzb3JfaWQoKTsKKworCQlpZiAoIWNwdV9pc3NldChjcHUsIGMxZV9tYXNrKSkgeworCQkJY3B1X3NldChjcHUsIGMxZV9tYXNrKTsKKwkJCS8qCisJCQkgKiBGb3JjZSBicm9hZGNhc3Qgc28gQUNQSSBjYW4gbm90IGludGVyZmVyZS4gTmVlZHMKKwkJCSAqIHRvIHJ1biB3aXRoIGludGVycnVwdHMgZW5hYmxlZCBhcyBpdCB1c2VzCisJCQkgKiBzbXBfZnVuY3Rpb25fY2FsbC4KKwkJCSAqLworCQkJbG9jYWxfaXJxX2VuYWJsZSgpOworCQkJY2xvY2tldmVudHNfbm90aWZ5KENMT0NLX0VWVF9OT1RJRllfQlJPQURDQVNUX0ZPUkNFLAorCQkJCQkgICAmY3B1KTsKKwkJCXByaW50ayhLRVJOX0lORk8gIlN3aXRjaCB0byBicm9hZGNhc3QgbW9kZSBvbiBDUFUlZFxuIiwKKwkJCSAgICAgICBjcHUpOworCQkJbG9jYWxfaXJxX2Rpc2FibGUoKTsKKwkJfQorCQljbG9ja2V2ZW50c19ub3RpZnkoQ0xPQ0tfRVZUX05PVElGWV9CUk9BRENBU1RfRU5URVIsICZjcHUpOworCisJCWRlZmF1bHRfaWRsZSgpOworCisJCS8qCisJCSAqIFRoZSBzd2l0Y2ggYmFjayBmcm9tIGJyb2FkY2FzdCBtb2RlIG5lZWRzIHRvIGJlCisJCSAqIGNhbGxlZCB3aXRoIGludGVycnVwdHMgZGlzYWJsZWQuCisJCSAqLworCQkgbG9jYWxfaXJxX2Rpc2FibGUoKTsKKwkJIGNsb2NrZXZlbnRzX25vdGlmeShDTE9DS19FVlRfTk9USUZZX0JST0FEQ0FTVF9FWElULCAmY3B1KTsKKwkJIGxvY2FsX2lycV9lbmFibGUoKTsKKwl9IGVsc2UKKwkJZGVmYXVsdF9pZGxlKCk7CiB9CiAKIHZvaWQgX19jcHVpbml0IHNlbGVjdF9pZGxlX3JvdXRpbmUoY29uc3Qgc3RydWN0IGNwdWluZm9feDg2ICpjKQogewotCXN0YXRpYyBpbnQgc2VsZWN0ZWQ7Ci0KLQlpZiAoc2VsZWN0ZWQpCi0JCXJldHVybjsKICNpZmRlZiBDT05GSUdfWDg2X1NNUAogCWlmIChwbV9pZGxlID09IHBvbGxfaWRsZSAmJiBzbXBfbnVtX3NpYmxpbmdzID4gMSkgewogCQlwcmludGsoS0VSTl9XQVJOSU5HICJXQVJOSU5HOiBwb2xsaW5nIGlkbGUgYW5kIEhUIGVuYWJsZWQsIgogCQkJIiBwZXJmb3JtYW5jZSBtYXkgZGVncmFkZS5cbiIpOwogCX0KICNlbmRpZgorCWlmIChwbV9pZGxlKQorCQlyZXR1cm47CisKIAlpZiAoY3B1X2hhcyhjLCBYODZfRkVBVFVSRV9NV0FJVCkgJiYgbXdhaXRfdXNhYmxlKGMpKSB7CiAJCS8qCi0JCSAqIFNraXAsIGlmIHNldHVwIGhhcyBvdmVycmlkZGVuIGlkbGUuCiAJCSAqIE9uZSBDUFUgc3VwcG9ydHMgbXdhaXQgPT4gQWxsIENQVXMgc3VwcG9ydHMgbXdhaXQKIAkJICovCi0JCWlmICghcG1faWRsZSkgewotCQkJcHJpbnRrKEtFUk5fSU5GTyAidXNpbmcgbXdhaXQgaW4gaWRsZSB0aHJlYWRzLlxuIik7Ci0JCQlwbV9pZGxlID0gbXdhaXRfaWRsZTsKLQkJfQotCX0KLQlzZWxlY3RlZCA9IDE7CisJCXByaW50ayhLRVJOX0lORk8gInVzaW5nIG13YWl0IGluIGlkbGUgdGhyZWFkcy5cbiIpOworCQlwbV9pZGxlID0gbXdhaXRfaWRsZTsKKwl9IGVsc2UgaWYgKGNoZWNrX2MxZV9pZGxlKGMpKSB7CisJCXByaW50ayhLRVJOX0lORk8gInVzaW5nIEMxRSBhd2FyZSBpZGxlIHJvdXRpbmVcbiIpOworCQlwbV9pZGxlID0gYzFlX2lkbGU7CisJfSBlbHNlCisJCXBtX2lkbGUgPSBkZWZhdWx0X2lkbGU7CiB9CiAKIHN0YXRpYyBpbnQgX19pbml0IGlkbGVfc2V0dXAoY2hhciAqc3RyKQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3Byb2Nlc3NfMzIuYyBiL2FyY2gveDg2L2tlcm5lbC9wcm9jZXNzXzMyLmMKaW5kZXggZTJkYjlhYy4uMGMzOTI3YSAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL3Byb2Nlc3NfMzIuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvcHJvY2Vzc18zMi5jCkBAIC01OCwxMSArNTgsNiBAQAogCiBhc21saW5rYWdlIHZvaWQgcmV0X2Zyb21fZm9yayh2b2lkKSBfX2FzbV9fKCJyZXRfZnJvbV9mb3JrIik7CiAKLXN0YXRpYyBpbnQgaGx0X2NvdW50ZXI7Ci0KLXVuc2lnbmVkIGxvbmcgYm9vdF9vcHRpb25faWRsZV9vdmVycmlkZSA9IDA7Ci1FWFBPUlRfU1lNQk9MKGJvb3Rfb3B0aW9uX2lkbGVfb3ZlcnJpZGUpOwotCiBERUZJTkVfUEVSX0NQVShzdHJ1Y3QgdGFza19zdHJ1Y3QgKiwgY3VycmVudF90YXNrKSA9ICZpbml0X3Rhc2s7CiBFWFBPUlRfUEVSX0NQVV9TWU1CT0woY3VycmVudF90YXNrKTsKIApAQCAtNzcsNTcgKzcyLDI0IEBACiAJcmV0dXJuICgodW5zaWduZWQgbG9uZyAqKXRzay0+dGhyZWFkLnNwKVszXTsKIH0KIAotLyoKLSAqIFBvd2VybWFuYWdlbWVudCBpZGxlIGZ1bmN0aW9uLCBpZiBhbnkuLgotICovCi12b2lkICgqcG1faWRsZSkodm9pZCk7Ci1FWFBPUlRfU1lNQk9MKHBtX2lkbGUpOwotCi12b2lkIGRpc2FibGVfaGx0KHZvaWQpCi17Ci0JaGx0X2NvdW50ZXIrKzsKLX0KLQotRVhQT1JUX1NZTUJPTChkaXNhYmxlX2hsdCk7Ci0KLXZvaWQgZW5hYmxlX2hsdCh2b2lkKQotewotCWhsdF9jb3VudGVyLS07Ci19Ci0KLUVYUE9SVF9TWU1CT0woZW5hYmxlX2hsdCk7Ci0KLS8qCi0gKiBXZSB1c2UgdGhpcyBpZiB3ZSBkb24ndCBoYXZlIGFueSBiZXR0ZXIKLSAqIGlkbGUgcm91dGluZS4uCi0gKi8KLXZvaWQgZGVmYXVsdF9pZGxlKHZvaWQpCi17Ci0JaWYgKCFobHRfY291bnRlciAmJiBib290X2NwdV9kYXRhLmhsdF93b3Jrc19vaykgewotCQljdXJyZW50X3RocmVhZF9pbmZvKCktPnN0YXR1cyAmPSB+VFNfUE9MTElORzsKLQkJLyoKLQkJICogVFNfUE9MTElORy1jbGVhcmVkIHN0YXRlIG11c3QgYmUgdmlzaWJsZSBiZWZvcmUgd2UKLQkJICogdGVzdCBORUVEX1JFU0NIRUQ6Ci0JCSAqLwotCQlzbXBfbWIoKTsKLQotCQlpZiAoIW5lZWRfcmVzY2hlZCgpKQotCQkJc2FmZV9oYWx0KCk7CS8qIGVuYWJsZXMgaW50ZXJydXB0cyByYWNlbGVzc2x5ICovCi0JCWVsc2UKLQkJCWxvY2FsX2lycV9lbmFibGUoKTsKLQkJY3VycmVudF90aHJlYWRfaW5mbygpLT5zdGF0dXMgfD0gVFNfUE9MTElORzsKLQl9IGVsc2UgewotCQlsb2NhbF9pcnFfZW5hYmxlKCk7Ci0JCS8qIGxvb3AgaXMgZG9uZSBieSB0aGUgY2FsbGVyICovCi0JCWNwdV9yZWxheCgpOwotCX0KLX0KLSNpZmRlZiBDT05GSUdfQVBNX01PRFVMRQotRVhQT1JUX1NZTUJPTChkZWZhdWx0X2lkbGUpOwotI2VuZGlmCi0KICNpZmRlZiBDT05GSUdfSE9UUExVR19DUFUKICNpbmNsdWRlIDxhc20vbm1pLmg+CisKK3N0YXRpYyB2b2lkIGNwdV9leGl0X2NsZWFyKHZvaWQpCit7CisJaW50IGNwdSA9IHJhd19zbXBfcHJvY2Vzc29yX2lkKCk7CisKKwlpZGxlX3Rhc2tfZXhpdCgpOworCisJY3B1X3VuaW5pdCgpOworCWlycV9jdHhfZXhpdChjcHUpOworCisJY3B1X2NsZWFyKGNwdSwgY3B1X2NhbGxvdXRfbWFwKTsKKwljcHVfY2xlYXIoY3B1LCBjcHVfY2FsbGluX21hcCk7CisKKwludW1hX3JlbW92ZV9jcHUoY3B1KTsKK30KKwogLyogV2UgZG9uJ3QgYWN0dWFsbHkgdGFrZSBDUFUgZG93biwganVzdCBzcGluIHdpdGhvdXQgaW50ZXJydXB0cy4gKi8KIHN0YXRpYyBpbmxpbmUgdm9pZCBwbGF5X2RlYWQodm9pZCkKIHsKQEAgLTE2OCwyNCArMTMwLDIyIEBACiAJd2hpbGUgKDEpIHsKIAkJdGlja19ub2h6X3N0b3Bfc2NoZWRfdGljaygpOwogCQl3aGlsZSAoIW5lZWRfcmVzY2hlZCgpKSB7Ci0JCQl2b2lkICgqaWRsZSkodm9pZCk7CiAKIAkJCWNoZWNrX3BndF9jYWNoZSgpOwogCQkJcm1iKCk7Ci0JCQlpZGxlID0gcG1faWRsZTsKIAogCQkJaWYgKHJjdV9wZW5kaW5nKGNwdSkpCiAJCQkJcmN1X2NoZWNrX2NhbGxiYWNrcyhjcHUsIDApOwogCi0JCQlpZiAoIWlkbGUpCi0JCQkJaWRsZSA9IGRlZmF1bHRfaWRsZTsKLQogCQkJaWYgKGNwdV9pc19vZmZsaW5lKGNwdSkpCiAJCQkJcGxheV9kZWFkKCk7CiAKIAkJCWxvY2FsX2lycV9kaXNhYmxlKCk7CiAJCQlfX2dldF9jcHVfdmFyKGlycV9zdGF0KS5pZGxlX3RpbWVzdGFtcCA9IGppZmZpZXM7Ci0JCQlpZGxlKCk7CisJCQkvKiBEb24ndCB0cmFjZSBpcnFzIG9mZiBmb3IgaWRsZSAqLworCQkJc3RvcF9jcml0aWNhbF90aW1pbmdzKCk7CisJCQlwbV9pZGxlKCk7CisJCQlzdGFydF9jcml0aWNhbF90aW1pbmdzKCk7CiAJCX0KIAkJdGlja19ub2h6X3Jlc3RhcnRfc2NoZWRfdGljaygpOwogCQlwcmVlbXB0X2VuYWJsZV9ub19yZXNjaGVkKCk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvcHJvY2Vzc182NC5jIGIvYXJjaC94ODYva2VybmVsL3Byb2Nlc3NfNjQuYwppbmRleCBjNmViNWM5Li5hOGU1MzYyIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvcHJvY2Vzc182NC5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9wcm9jZXNzXzY0LmMKQEAgLTU2LDE1ICs1Niw2IEBACiAKIHVuc2lnbmVkIGxvbmcga2VybmVsX3RocmVhZF9mbGFncyA9IENMT05FX1ZNIHwgQ0xPTkVfVU5UUkFDRUQ7CiAKLXVuc2lnbmVkIGxvbmcgYm9vdF9vcHRpb25faWRsZV9vdmVycmlkZSA9IDA7Ci1FWFBPUlRfU1lNQk9MKGJvb3Rfb3B0aW9uX2lkbGVfb3ZlcnJpZGUpOwotCi0vKgotICogUG93ZXJtYW5hZ2VtZW50IGlkbGUgZnVuY3Rpb24sIGlmIGFueS4uCi0gKi8KLXZvaWQgKCpwbV9pZGxlKSh2b2lkKTsKLUVYUE9SVF9TWU1CT0wocG1faWRsZSk7Ci0KIHN0YXRpYyBBVE9NSUNfTk9USUZJRVJfSEVBRChpZGxlX25vdGlmaWVyKTsKIAogdm9pZCBpZGxlX25vdGlmaWVyX3JlZ2lzdGVyKHN0cnVjdCBub3RpZmllcl9ibG9jayAqbikKQEAgLTk0LDI1ICs4NSw2IEBACiAJX19leGl0X2lkbGUoKTsKIH0KIAotLyoKLSAqIFdlIHVzZSB0aGlzIGlmIHdlIGRvbid0IGhhdmUgYW55IGJldHRlcgotICogaWRsZSByb3V0aW5lLi4KLSAqLwotdm9pZCBkZWZhdWx0X2lkbGUodm9pZCkKLXsKLQljdXJyZW50X3RocmVhZF9pbmZvKCktPnN0YXR1cyAmPSB+VFNfUE9MTElORzsKLQkvKgotCSAqIFRTX1BPTExJTkctY2xlYXJlZCBzdGF0ZSBtdXN0IGJlIHZpc2libGUgYmVmb3JlIHdlCi0JICogdGVzdCBORUVEX1JFU0NIRUQ6Ci0JICovCi0Jc21wX21iKCk7Ci0JaWYgKCFuZWVkX3Jlc2NoZWQoKSkKLQkJc2FmZV9oYWx0KCk7CS8qIGVuYWJsZXMgaW50ZXJydXB0cyByYWNlbGVzc2x5ICovCi0JZWxzZQotCQlsb2NhbF9pcnFfZW5hYmxlKCk7Ci0JY3VycmVudF90aHJlYWRfaW5mbygpLT5zdGF0dXMgfD0gVFNfUE9MTElORzsKLX0KLQogI2lmZGVmIENPTkZJR19IT1RQTFVHX0NQVQogREVDTEFSRV9QRVJfQ1BVKGludCwgY3B1X3N0YXRlKTsKIApAQCAtMTUwLDEyICsxMjIsOSBAQAogCXdoaWxlICgxKSB7CiAJCXRpY2tfbm9oel9zdG9wX3NjaGVkX3RpY2soKTsKIAkJd2hpbGUgKCFuZWVkX3Jlc2NoZWQoKSkgewotCQkJdm9pZCAoKmlkbGUpKHZvaWQpOwogCiAJCQlybWIoKTsKLQkJCWlkbGUgPSBwbV9pZGxlOwotCQkJaWYgKCFpZGxlKQotCQkJCWlkbGUgPSBkZWZhdWx0X2lkbGU7CisKIAkJCWlmIChjcHVfaXNfb2ZmbGluZShzbXBfcHJvY2Vzc29yX2lkKCkpKQogCQkJCXBsYXlfZGVhZCgpOwogCQkJLyoKQEAgLTE2NSw3ICsxMzQsMTAgQEAKIAkJCSAqLwogCQkJbG9jYWxfaXJxX2Rpc2FibGUoKTsKIAkJCWVudGVyX2lkbGUoKTsKLQkJCWlkbGUoKTsKKwkJCS8qIERvbid0IHRyYWNlIGlycXMgb2ZmIGZvciBpZGxlICovCisJCQlzdG9wX2NyaXRpY2FsX3RpbWluZ3MoKTsKKwkJCXBtX2lkbGUoKTsKKwkJCXN0YXJ0X2NyaXRpY2FsX3RpbWluZ3MoKTsKIAkJCS8qIEluIG1hbnkgY2FzZXMgdGhlIGludGVycnVwdCB0aGF0IGVuZGVkIGlkbGUKIAkJCSAgIGhhcyBhbHJlYWR5IGNhbGxlZCBleGl0X2lkbGUuIEJ1dCBzb21lIGlkbGUKIAkJCSAgIGxvb3BzIGNhbiBiZSB3b2tlbiB1cCB3aXRob3V0IGludGVycnVwdC4gKi8KQEAgLTM2NiwxMCArMzM4LDEwIEBACiAJcC0+dGhyZWFkLmZzID0gbWUtPnRocmVhZC5mczsKIAlwLT50aHJlYWQuZ3MgPSBtZS0+dGhyZWFkLmdzOwogCi0JYXNtKCJtb3YgJSVncywlMCIgOiAiPW0iIChwLT50aHJlYWQuZ3NpbmRleCkpOwotCWFzbSgibW92ICUlZnMsJTAiIDogIj1tIiAocC0+dGhyZWFkLmZzaW5kZXgpKTsKLQlhc20oIm1vdiAlJWVzLCUwIiA6ICI9bSIgKHAtPnRocmVhZC5lcykpOwotCWFzbSgibW92ICUlZHMsJTAiIDogIj1tIiAocC0+dGhyZWFkLmRzKSk7CisJc2F2ZXNlZ21lbnQoZ3MsIHAtPnRocmVhZC5nc2luZGV4KTsKKwlzYXZlc2VnbWVudChmcywgcC0+dGhyZWFkLmZzaW5kZXgpOworCXNhdmVzZWdtZW50KGVzLCBwLT50aHJlYWQuZXMpOworCXNhdmVzZWdtZW50KGRzLCBwLT50aHJlYWQuZHMpOwogCiAJaWYgKHVubGlrZWx5KHRlc3RfdHNrX3RocmVhZF9mbGFnKG1lLCBUSUZfSU9fQklUTUFQKSkpIHsKIAkJcC0+dGhyZWFkLmlvX2JpdG1hcF9wdHIgPSBrbWFsbG9jKElPX0JJVE1BUF9CWVRFUywgR0ZQX0tFUk5FTCk7CkBAIC00MDgsNyArMzgwLDkgQEAKIHZvaWQKIHN0YXJ0X3RocmVhZChzdHJ1Y3QgcHRfcmVncyAqcmVncywgdW5zaWduZWQgbG9uZyBuZXdfaXAsIHVuc2lnbmVkIGxvbmcgbmV3X3NwKQogewotCWFzbSB2b2xhdGlsZSgibW92bCAlMCwgJSVmczsgbW92bCAlMCwgJSVlczsgbW92bCAlMCwgJSVkcyIgOjogInIiKDApKTsKKwlsb2Fkc2VnbWVudChmcywgMCk7CisJbG9hZHNlZ21lbnQoZXMsIDApOworCWxvYWRzZWdtZW50KGRzLCAwKTsKIAlsb2FkX2dzX2luZGV4KDApOwogCXJlZ3MtPmlwCQk9IG5ld19pcDsKIAlyZWdzLT5zcAkJPSBuZXdfc3A7CkBAIC01NjcsNiArNTQxLDcgQEAKIAkJCQkgKm5leHQgPSAmbmV4dF9wLT50aHJlYWQ7CiAJaW50IGNwdSA9IHNtcF9wcm9jZXNzb3JfaWQoKTsKIAlzdHJ1Y3QgdHNzX3N0cnVjdCAqdHNzID0gJnBlcl9jcHUoaW5pdF90c3MsIGNwdSk7CisJdW5zaWduZWQgZnNpbmRleCwgZ3NpbmRleDsKIAogCS8qIHdlJ3JlIGdvaW5nIHRvIHVzZSB0aGlzIHNvb24sIGFmdGVyIGEgZmV3IGV4cGVuc2l2ZSB0aGluZ3MgKi8KIAlpZiAobmV4dF9wLT5mcHVfY291bnRlcj41KQpAQCAtNTgxLDIyICs1NTYsMzggQEAKIAkgKiBTd2l0Y2ggRFMgYW5kIEVTLgogCSAqIFRoaXMgd29uJ3QgcGljayB1cCB0aHJlYWQgc2VsZWN0b3IgY2hhbmdlcywgYnV0IEkgZ3Vlc3MgdGhhdCBpcyBvay4KIAkgKi8KLQlhc20gdm9sYXRpbGUoIm1vdiAlJWVzLCUwIiA6ICI9bSIgKHByZXYtPmVzKSk7CisJc2F2ZXNlZ21lbnQoZXMsIHByZXYtPmVzKTsKIAlpZiAodW5saWtlbHkobmV4dC0+ZXMgfCBwcmV2LT5lcykpCiAJCWxvYWRzZWdtZW50KGVzLCBuZXh0LT5lcyk7IAotCQotCWFzbSB2b2xhdGlsZSAoIm1vdiAlJWRzLCUwIiA6ICI9bSIgKHByZXYtPmRzKSk7CisKKwlzYXZlc2VnbWVudChkcywgcHJldi0+ZHMpOwogCWlmICh1bmxpa2VseShuZXh0LT5kcyB8IHByZXYtPmRzKSkKIAkJbG9hZHNlZ21lbnQoZHMsIG5leHQtPmRzKTsKIAorCisJLyogV2UgbXVzdCBzYXZlICVmcyBhbmQgJWdzIGJlZm9yZSBsb2FkX1RMUygpIGJlY2F1c2UKKwkgKiAlZnMgYW5kICVncyBtYXkgYmUgY2xlYXJlZCBieSBsb2FkX1RMUygpLgorCSAqCisJICogKGUuZy4geGVuX2xvYWRfdGxzKCkpCisJICovCisJc2F2ZXNlZ21lbnQoZnMsIGZzaW5kZXgpOworCXNhdmVzZWdtZW50KGdzLCBnc2luZGV4KTsKKwogCWxvYWRfVExTKG5leHQsIGNwdSk7CiAKKwkvKgorCSAqIExlYXZlIGxhenkgbW9kZSwgZmx1c2hpbmcgYW55IGh5cGVyY2FsbHMgbWFkZSBoZXJlLgorCSAqIFRoaXMgbXVzdCBiZSBkb25lIGJlZm9yZSByZXN0b3JpbmcgVExTIHNlZ21lbnRzIHNvCisJICogdGhlIEdEVCBhbmQgTERUIGFyZSBwcm9wZXJseSB1cGRhdGVkLCBhbmQgbXVzdCBiZQorCSAqIGRvbmUgYmVmb3JlIG1hdGhfc3RhdGVfcmVzdG9yZSwgc28gdGhlIFRTIGJpdCBpcyB1cAorCSAqIHRvIGRhdGUuCisJICovCisJYXJjaF9sZWF2ZV9sYXp5X2NwdV9tb2RlKCk7CisKIAkvKiAKIAkgKiBTd2l0Y2ggRlMgYW5kIEdTLgogCSAqLwogCXsgCi0JCXVuc2lnbmVkIGZzaW5kZXg7Ci0JCWFzbSB2b2xhdGlsZSgibW92bCAlJWZzLCUwIiA6ICI9ciIgKGZzaW5kZXgpKTsgCiAJCS8qIHNlZ21lbnQgcmVnaXN0ZXIgIT0gMCBhbHdheXMgcmVxdWlyZXMgYSByZWxvYWQuIAogCQkgICBhbHNvIHJlbG9hZCB3aGVuIGl0IGhhcyBjaGFuZ2VkLiAKIAkJICAgd2hlbiBwcmV2IHByb2Nlc3MgdXNlZCA2NGJpdCBiYXNlIGFsd2F5cyByZWxvYWQKQEAgLTYxNCwxMCArNjA1LDcgQEAKIAkJaWYgKG5leHQtPmZzKSAKIAkJCXdybXNybChNU1JfRlNfQkFTRSwgbmV4dC0+ZnMpOyAKIAkJcHJldi0+ZnNpbmRleCA9IGZzaW5kZXg7Ci0JfQotCXsgCi0JCXVuc2lnbmVkIGdzaW5kZXg7Ci0JCWFzbSB2b2xhdGlsZSgibW92bCAlJWdzLCUwIiA6ICI9ciIgKGdzaW5kZXgpKTsgCisKIAkJaWYgKHVubGlrZWx5KGdzaW5kZXggfCBuZXh0LT5nc2luZGV4IHwgcHJldi0+Z3MpKSB7CiAJCQlsb2FkX2dzX2luZGV4KG5leHQtPmdzaW5kZXgpOwogCQkJaWYgKGdzaW5kZXgpCkBAIC03OTgsNyArNzg2LDcgQEAKIAkJCXNldF8zMmJpdF90bHModGFzaywgRlNfVExTLCBhZGRyKTsKIAkJCWlmIChkb2l0KSB7CiAJCQkJbG9hZF9UTFMoJnRhc2stPnRocmVhZCwgY3B1KTsKLQkJCQlhc20gdm9sYXRpbGUoIm1vdmwgJTAsJSVmcyIgOjogInIiKEZTX1RMU19TRUwpKTsKKwkJCQlsb2Fkc2VnbWVudChmcywgRlNfVExTX1NFTCk7CiAJCQl9CiAJCQl0YXNrLT50aHJlYWQuZnNpbmRleCA9IEZTX1RMU19TRUw7CiAJCQl0YXNrLT50aHJlYWQuZnMgPSAwOwpAQCAtODA4LDcgKzc5Niw3IEBACiAJCQlpZiAoZG9pdCkgewogCQkJCS8qIHNldCB0aGUgc2VsZWN0b3IgdG8gMCB0byBub3QgY29uZnVzZQogCQkJCSAgIF9fc3dpdGNoX3RvICovCi0JCQkJYXNtIHZvbGF0aWxlKCJtb3ZsICUwLCUlZnMiIDo6ICJyIiAoMCkpOworCQkJCWxvYWRzZWdtZW50KGZzLCAwKTsKIAkJCQlyZXQgPSBjaGVja2luZ193cm1zcmwoTVNSX0ZTX0JBU0UsIGFkZHIpOwogCQkJfQogCQl9CkBAIC04MzEsNyArODE5LDcgQEAKIAkJaWYgKHRhc2stPnRocmVhZC5nc2luZGV4ID09IEdTX1RMU19TRUwpCiAJCQliYXNlID0gcmVhZF8zMmJpdF90bHModGFzaywgR1NfVExTKTsKIAkJZWxzZSBpZiAoZG9pdCkgewotCQkJYXNtKCJtb3ZsICUlZ3MsJTAiIDogIj1yIiAoZ3NpbmRleCkpOworCQkJc2F2ZXNlZ21lbnQoZ3MsIGdzaW5kZXgpOwogCQkJaWYgKGdzaW5kZXgpCiAJCQkJcmRtc3JsKE1TUl9LRVJORUxfR1NfQkFTRSwgYmFzZSk7CiAJCQllbHNlCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvcHRyYWNlLmMgYi9hcmNoL3g4Ni9rZXJuZWwvcHRyYWNlLmMKaW5kZXggYTc4MzVmMi4uNzcwNDBiNiAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL3B0cmFjZS5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9wdHJhY2UuYwpAQCAtOTQzLDEzICs5NDMsMTMgQEAKIAkJcmV0dXJuIGNvcHlfcmVnc2V0X3RvX3VzZXIoY2hpbGQsICZ1c2VyX3g4Nl8zMl92aWV3LAogCQkJCQkgICBSRUdTRVRfWEZQLAogCQkJCQkgICAwLCBzaXplb2Yoc3RydWN0IHVzZXJfZnhzcl9zdHJ1Y3QpLAotCQkJCQkgICBkYXRhcCk7CisJCQkJCSAgIGRhdGFwKSA/IC1FSU8gOiAwOwogCiAJY2FzZSBQVFJBQ0VfU0VURlBYUkVHUzoJLyogU2V0IHRoZSBjaGlsZCBleHRlbmRlZCBGUFUgc3RhdGUuICovCiAJCXJldHVybiBjb3B5X3JlZ3NldF9mcm9tX3VzZXIoY2hpbGQsICZ1c2VyX3g4Nl8zMl92aWV3LAogCQkJCQkgICAgIFJFR1NFVF9YRlAsCiAJCQkJCSAgICAgMCwgc2l6ZW9mKHN0cnVjdCB1c2VyX2Z4c3Jfc3RydWN0KSwKLQkJCQkJICAgICBkYXRhcCk7CisJCQkJCSAgICAgZGF0YXApID8gLUVJTyA6IDA7CiAjZW5kaWYKIAogI2lmIGRlZmluZWQgQ09ORklHX1g4Nl8zMiB8fCBkZWZpbmVkIENPTkZJR19JQTMyX0VNVUxBVElPTgpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3F1aXJrcy5jIGIvYXJjaC94ODYva2VybmVsL3F1aXJrcy5jCmluZGV4IGQ4OWE2NDguLmQxMzg1ODggMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9xdWlya3MuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvcXVpcmtzLmMKQEAgLTY1LDYgKzY1LDcgQEAKIAlJQ0hfRk9SQ0VfSFBFVF9SRVNVTUUsCiAJVlQ4MjM3X0ZPUkNFX0hQRVRfUkVTVU1FLAogCU5WSURJQV9GT1JDRV9IUEVUX1JFU1VNRSwKKwlBVElfRk9SQ0VfSFBFVF9SRVNVTUUsCiB9IGZvcmNlX2hwZXRfcmVzdW1lX3R5cGU7CiAKIHN0YXRpYyB2b2lkIF9faW9tZW0gKnJjYmFfYmFzZTsKQEAgLTE1OCw2ICsxNTksOCBAQAogCiBERUNMQVJFX1BDSV9GSVhVUF9IRUFERVIoUENJX1ZFTkRPUl9JRF9JTlRFTCwgUENJX0RFVklDRV9JRF9JTlRFTF9FU0IyXzAsCiAJCQkgaWNoX2ZvcmNlX2VuYWJsZV9ocGV0KTsKK0RFQ0xBUkVfUENJX0ZJWFVQX0hFQURFUihQQ0lfVkVORE9SX0lEX0lOVEVMLCBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDZfMCwKKwkJCSBpY2hfZm9yY2VfZW5hYmxlX2hwZXQpOwogREVDTEFSRV9QQ0lfRklYVVBfSEVBREVSKFBDSV9WRU5ET1JfSURfSU5URUwsIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNINl8xLAogCQkJIGljaF9mb3JjZV9lbmFibGVfaHBldCk7CiBERUNMQVJFX1BDSV9GSVhVUF9IRUFERVIoUENJX1ZFTkRPUl9JRF9JTlRFTCwgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0g3XzAsCkBAIC0xNzQsNiArMTc3LDEyIEBACiAKIHN0YXRpYyBzdHJ1Y3QgcGNpX2RldiAqY2FjaGVkX2RldjsKIAorc3RhdGljIHZvaWQgaHBldF9wcmludF9mb3JjZV9pbmZvKHZvaWQpCit7CisJcHJpbnRrKEtFUk5fSU5GTyAiSFBFVCBub3QgZW5hYmxlZCBpbiBCSU9TLiAiCisJICAgICAgICJZb3UgbWlnaHQgdHJ5IGhwZXQ9Zm9yY2UgYm9vdCBvcHRpb25cbiIpOworfQorCiBzdGF0aWMgdm9pZCBvbGRfaWNoX2ZvcmNlX2hwZXRfcmVzdW1lKHZvaWQpCiB7CiAJdTMyIHZhbDsKQEAgLTI1Myw4ICsyNjIsMTIgQEAKIHsKIAlpZiAoaHBldF9mb3JjZV91c2VyKQogCQlvbGRfaWNoX2ZvcmNlX2VuYWJsZV9ocGV0KGRldik7CisJZWxzZQorCQlocGV0X3ByaW50X2ZvcmNlX2luZm8oKTsKIH0KIAorREVDTEFSRV9QQ0lfRklYVVBfSEVBREVSKFBDSV9WRU5ET1JfSURfSU5URUwsIFBDSV9ERVZJQ0VfSURfSU5URUxfRVNCXzEsCisJCQkgb2xkX2ljaF9mb3JjZV9lbmFibGVfaHBldF91c2VyKTsKIERFQ0xBUkVfUENJX0ZJWFVQX0hFQURFUihQQ0lfVkVORE9SX0lEX0lOVEVMLCBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyODAxQ0FfMCwKIAkJCSBvbGRfaWNoX2ZvcmNlX2VuYWJsZV9ocGV0X3VzZXIpOwogREVDTEFSRV9QQ0lfRklYVVBfSEVBREVSKFBDSV9WRU5ET1JfSURfSU5URUwsIFBDSV9ERVZJQ0VfSURfSU5URUxfODI4MDFDQV8xMiwKQEAgLTI5MCw5ICszMDMsMTQgQEAKIHsKIAl1MzIgdW5pbml0aWFsaXplZF92YXIodmFsKTsKIAotCWlmICghaHBldF9mb3JjZV91c2VyIHx8IGhwZXRfYWRkcmVzcyB8fCBmb3JjZV9ocGV0X2FkZHJlc3MpCisJaWYgKGhwZXRfYWRkcmVzcyB8fCBmb3JjZV9ocGV0X2FkZHJlc3MpCiAJCXJldHVybjsKIAorCWlmICghaHBldF9mb3JjZV91c2VyKSB7CisJCWhwZXRfcHJpbnRfZm9yY2VfaW5mbygpOworCQlyZXR1cm47CisJfQorCiAJcGNpX3JlYWRfY29uZmlnX2R3b3JkKGRldiwgMHg2OCwgJnZhbCk7CiAJLyoKIAkgKiBCaXQgNyBpcyBIUEVUIGVuYWJsZSBiaXQuCkBAIC0zMzAsNiArMzQ4LDM2IEBACiBERUNMQVJFX1BDSV9GSVhVUF9IRUFERVIoUENJX1ZFTkRPUl9JRF9WSUEsIFBDSV9ERVZJQ0VfSURfVklBXzgyMzcsCiAJCQkgdnQ4MjM3X2ZvcmNlX2VuYWJsZV9ocGV0KTsKIAorc3RhdGljIHZvaWQgYXRpX2ZvcmNlX2hwZXRfcmVzdW1lKHZvaWQpCit7CisJcGNpX3dyaXRlX2NvbmZpZ19kd29yZChjYWNoZWRfZGV2LCAweDE0LCAweGZlZDAwMDAwKTsKKwlwcmludGsoS0VSTl9ERUJVRyAiRm9yY2UgZW5hYmxlZCBIUEVUIGF0IHJlc3VtZVxuIik7Cit9CisKK3N0YXRpYyB2b2lkIGF0aV9mb3JjZV9lbmFibGVfaHBldChzdHJ1Y3QgcGNpX2RldiAqZGV2KQoreworCXUzMiB1bmluaXRpYWxpemVkX3Zhcih2YWwpOworCisJaWYgKGhwZXRfYWRkcmVzcyB8fCBmb3JjZV9ocGV0X2FkZHJlc3MpCisJCXJldHVybjsKKworCWlmICghaHBldF9mb3JjZV91c2VyKSB7CisJCWhwZXRfcHJpbnRfZm9yY2VfaW5mbygpOworCQlyZXR1cm47CisJfQorCisJcGNpX3dyaXRlX2NvbmZpZ19kd29yZChkZXYsIDB4MTQsIDB4ZmVkMDAwMDApOworCXBjaV9yZWFkX2NvbmZpZ19kd29yZChkZXYsIDB4MTQsICZ2YWwpOworCWZvcmNlX2hwZXRfYWRkcmVzcyA9IHZhbDsKKwlmb3JjZV9ocGV0X3Jlc3VtZV90eXBlID0gQVRJX0ZPUkNFX0hQRVRfUkVTVU1FOworCWRldl9wcmludGsoS0VSTl9ERUJVRywgJmRldi0+ZGV2LCAiRm9yY2UgZW5hYmxlZCBIUEVUIGF0IDB4JWx4XG4iLAorCQkgICBmb3JjZV9ocGV0X2FkZHJlc3MpOworCWNhY2hlZF9kZXYgPSBkZXY7CisJcmV0dXJuOworfQorREVDTEFSRV9QQ0lfRklYVVBfSEVBREVSKFBDSV9WRU5ET1JfSURfQVRJLCBQQ0lfREVWSUNFX0lEX0FUSV9JWFA0MDBfU01CVVMsCisJCQkgYXRpX2ZvcmNlX2VuYWJsZV9ocGV0KTsKKwogLyoKICAqIFVuZG9jdW1lbnRlZCBjaGlwc2V0IGZlYXR1cmUgdGFrZW4gZnJvbSBMaW51eEJJT1MuCiAgKi8KQEAgLTM0Myw5ICszOTEsMTQgQEAKIHsKIAl1MzIgdW5pbml0aWFsaXplZF92YXIodmFsKTsKIAotCWlmICghaHBldF9mb3JjZV91c2VyIHx8IGhwZXRfYWRkcmVzcyB8fCBmb3JjZV9ocGV0X2FkZHJlc3MpCisJaWYgKGhwZXRfYWRkcmVzcyB8fCBmb3JjZV9ocGV0X2FkZHJlc3MpCiAJCXJldHVybjsKIAorCWlmICghaHBldF9mb3JjZV91c2VyKSB7CisJCWhwZXRfcHJpbnRfZm9yY2VfaW5mbygpOworCQlyZXR1cm47CisJfQorCiAJcGNpX3dyaXRlX2NvbmZpZ19kd29yZChkZXYsIDB4NDQsIDB4ZmVkMDAwMDEpOwogCXBjaV9yZWFkX2NvbmZpZ19kd29yZChkZXYsIDB4NDQsICZ2YWwpOwogCWZvcmNlX2hwZXRfYWRkcmVzcyA9IHZhbCAmIDB4ZmZmZmZmZmU7CkBAIC0zOTcsNiArNDUwLDkgQEAKIAljYXNlIE5WSURJQV9GT1JDRV9IUEVUX1JFU1VNRToKIAkJbnZpZGlhX2ZvcmNlX2hwZXRfcmVzdW1lKCk7CiAJCXJldHVybjsKKwljYXNlIEFUSV9GT1JDRV9IUEVUX1JFU1VNRToKKwkJYXRpX2ZvcmNlX2hwZXRfcmVzdW1lKCk7CisJCXJldHVybjsKIAlkZWZhdWx0OgogCQlicmVhazsKIAl9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvcmVib290LmMgYi9hcmNoL3g4Ni9rZXJuZWwvcmVib290LmMKaW5kZXggZjZiZTdkNS4uZjhhNjIxNiAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL3JlYm9vdC5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9yZWJvb3QuYwpAQCAtMjcsNyArMjcsNyBAQAogdm9pZCAoKnBtX3Bvd2VyX29mZikodm9pZCk7CiBFWFBPUlRfU1lNQk9MKHBtX3Bvd2VyX29mZik7CiAKLXN0YXRpYyBsb25nIG5vX2lkdFszXTsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZGVzY19wdHIgbm9faWR0ID0ge307CiBzdGF0aWMgaW50IHJlYm9vdF9tb2RlOwogZW51bSByZWJvb3RfdHlwZSByZWJvb3RfdHlwZSA9IEJPT1RfS0JEOwogaW50IHJlYm9vdF9mb3JjZTsKQEAgLTIwMSwxNSArMjAxLDE1IEBACiAgICBjb250cm9sbGVyIHRvIHB1bHNlIHRoZSBDUFUgcmVzZXQgbGluZSwgd2hpY2ggaXMgbW9yZSB0aG9yb3VnaCwgYnV0CiAgICBkb2Vzbid0IHdvcmsgd2l0aCBhdCBsZWFzdCBvbmUgdHlwZSBvZiA0ODYgbW90aGVyYm9hcmQuICBJdCBpcyBlYXN5CiAgICB0byBzdG9wIHRoaXMgY29kZSB3b3JraW5nOyBoZW5jZSB0aGUgY29waW91cyBjb21tZW50cy4gKi8KLXN0YXRpYyB1bnNpZ25lZCBsb25nIGxvbmcKK3N0YXRpYyBjb25zdCB1bnNpZ25lZCBsb25nIGxvbmcKIHJlYWxfbW9kZV9nZHRfZW50cmllcyBbM10gPQogewogCTB4MDAwMDAwMDAwMDAwMDAwMFVMTCwJLyogTnVsbCBkZXNjcmlwdG9yICovCi0JMHgwMDAwOWEwMDAwMDBmZmZmVUxMLAkvKiAxNi1iaXQgcmVhbC1tb2RlIDY0ayBjb2RlIGF0IDB4MDAwMDAwMDAgKi8KLQkweDAwMDA5MjAwMDEwMGZmZmZVTEwJLyogMTYtYml0IHJlYWwtbW9kZSA2NGsgZGF0YSBhdCAweDAwMDAwMTAwICovCisJMHgwMDAwOWIwMDAwMDBmZmZmVUxMLAkvKiAxNi1iaXQgcmVhbC1tb2RlIDY0ayBjb2RlIGF0IDB4MDAwMDAwMDAgKi8KKwkweDAwMDA5MzAwMDEwMGZmZmZVTEwJLyogMTYtYml0IHJlYWwtbW9kZSA2NGsgZGF0YSBhdCAweDAwMDAwMTAwICovCiB9OwogCi1zdGF0aWMgc3RydWN0IGRlc2NfcHRyCitzdGF0aWMgY29uc3Qgc3RydWN0IGRlc2NfcHRyCiByZWFsX21vZGVfZ2R0ID0geyBzaXplb2YgKHJlYWxfbW9kZV9nZHRfZW50cmllcykgLSAxLCAobG9uZylyZWFsX21vZGVfZ2R0X2VudHJpZXMgfSwKIHJlYWxfbW9kZV9pZHQgPSB7IDB4M2ZmLCAwIH07CiAKQEAgLTIzMSw3ICsyMzEsNyBAQAogCiAgICBNb3JlIGNvdWxkIGJlIGRvbmUgaGVyZSB0byBzZXQgdXAgdGhlIHJlZ2lzdGVycyBhcyBpZiBhIENQVSByZXNldCBoYWQKICAgIG9jY3VycmVkOyBob3BlZnVsbHkgcmVhbCBCSU9TcyBkb24ndCBhc3N1bWUgbXVjaC4gKi8KLXN0YXRpYyB1bnNpZ25lZCBjaGFyIHJlYWxfbW9kZV9zd2l0Y2ggW10gPQorc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcmVhbF9tb2RlX3N3aXRjaCBbXSA9CiB7CiAJMHg2NiwgMHgwZiwgMHgyMCwgMHhjMCwJCQkvKiAgICBtb3ZsICAlY3IwLCVlYXggICAgICAgICovCiAJMHg2NiwgMHg4MywgMHhlMCwgMHgxMSwJCQkvKiAgICBhbmRsICAkMHgwMDAwMDAxMSwlZWF4ICovCkBAIC0yNDUsNyArMjQ1LDcgQEAKIAkweDI0LCAweDEwLAkJCQkvKiBmOiBhbmRiICAkMHgxMCxhbCAgICAgICAgICovCiAJMHg2NiwgMHgwZiwgMHgyMiwgMHhjMAkJCS8qICAgIG1vdmwgICVlYXgsJWNyMCAgICAgICAgKi8KIH07Ci1zdGF0aWMgdW5zaWduZWQgY2hhciBqdW1wX3RvX2Jpb3MgW10gPQorc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIganVtcF90b19iaW9zIFtdID0KIHsKIAkweGVhLCAweDAwLCAweDAwLCAweGZmLCAweGZmCQkvKiAgICBsam1wICAkMHhmZmZmLCQweDAwMDAgICovCiB9OwpAQCAtMjU1LDcgKzI1NSw3IEBACiAgKiBzcGVjaWZpZWQgYnkgdGhlIGNvZGUgYW5kIGxlbmd0aCBwYXJhbWV0ZXJzLgogICogV2UgYXNzdW1lIHRoYXQgbGVuZ3RoIHdpbGwgYXdheXMgYmUgbGVzcyB0aGF0IDEwMCEKICAqLwotdm9pZCBtYWNoaW5lX3JlYWxfcmVzdGFydCh1bnNpZ25lZCBjaGFyICpjb2RlLCBpbnQgbGVuZ3RoKQordm9pZCBtYWNoaW5lX3JlYWxfcmVzdGFydChjb25zdCB1bnNpZ25lZCBjaGFyICpjb2RlLCBpbnQgbGVuZ3RoKQogewogCWxvY2FsX2lycV9kaXNhYmxlKCk7CiAKQEAgLTM2OCw3ICszNjgsNyBAQAogCQkJfQogCiAJCWNhc2UgQk9PVF9UUklQTEU6Ci0JCQlsb2FkX2lkdCgoY29uc3Qgc3RydWN0IGRlc2NfcHRyICopJm5vX2lkdCk7CisJCQlsb2FkX2lkdCgmbm9faWR0KTsKIAkJCV9fYXNtX18gX192b2xhdGlsZV9fKCJpbnQzIik7CiAKIAkJCXJlYm9vdF90eXBlID0gQk9PVF9LQkQ7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvcmVib290X2ZpeHVwc18zMi5jIGIvYXJjaC94ODYva2VybmVsL3JlYm9vdF9maXh1cHNfMzIuYwppbmRleCBkZWMwYjVlLi42MWE4Mzc3IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvcmVib290X2ZpeHVwc18zMi5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9yZWJvb3RfZml4dXBzXzMyLmMKQEAgLTQ5LDcgKzQ5LDcgQEAKIAl2b2lkICgqcmVib290X2ZpeHVwKShzdHJ1Y3QgcGNpX2RldiAqKTsKIH07CiAKLXN0YXRpYyBzdHJ1Y3QgZGV2aWNlX2ZpeHVwIGZpeHVwc190YWJsZVtdID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBkZXZpY2VfZml4dXAgZml4dXBzX3RhYmxlW10gPSB7CiB7IFBDSV9WRU5ET1JfSURfQ1lSSVgsIFBDSV9ERVZJQ0VfSURfQ1lSSVhfNTUzMF9MRUdBQ1ksIGNzNTUzMGFfd2FybV9yZXNldCB9LAogeyBQQ0lfVkVORE9SX0lEX0FNRCwgUENJX0RFVklDRV9JRF9BTURfQ1M1NTM2X0lTQSwgY3M1NTM2X3dhcm1fcmVzZXQgfSwKIHsgUENJX1ZFTkRPUl9JRF9OUywgUENJX0RFVklDRV9JRF9OU19TQzExMDBfQlJJREdFLCBjczU1MzBhX3dhcm1fcmVzZXQgfSwKQEAgLTY0LDcgKzY0LDcgQEAKICAqLwogdm9pZCBtYWNoX3JlYm9vdF9maXh1cHModm9pZCkKIHsKLQlzdHJ1Y3QgZGV2aWNlX2ZpeHVwICpjdXI7CisJY29uc3Qgc3RydWN0IGRldmljZV9maXh1cCAqY3VyOwogCXN0cnVjdCBwY2lfZGV2ICpkZXY7CiAJaW50IGk7CiAKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9zZXR1cC5jIGIvYXJjaC94ODYva2VybmVsL3NldHVwLmMKaW5kZXggNmY4MGI4NS4uMzZjNTQwZCAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL3NldHVwLmMKKysrIGIvYXJjaC94ODYva2VybmVsL3NldHVwLmMKQEAgLTEsMTM5ICsxLDg4OSBAQAotI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgotI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgotI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKy8qCisgKiAgQ29weXJpZ2h0IChDKSAxOTk1ICBMaW51cyBUb3J2YWxkcworICoKKyAqICBTdXBwb3J0IG9mIEJJR01FTSBhZGRlZCBieSBHZXJoYXJkIFdpY2hlcnQsIFNpZW1lbnMgQUcsIEp1bHkgMTk5OQorICoKKyAqICBNZW1vcnkgcmVnaW9uIHN1cHBvcnQKKyAqCURhdmlkIFBhcnNvbnMgPG9yY0BwZWxsLmNoaS5pbC51cz4sIEp1bHktQXVndXN0IDE5OTkKKyAqCisgKiAgQWRkZWQgRTgyMCBzYW5pdGl6YXRpb24gcm91dGluZSAocmVtb3ZlcyBvdmVybGFwcGluZyBtZW1vcnkgcmVnaW9ucyk7CisgKiAgQnJpYW4gTW95bGUgPGJtb3lsZUBtdmlzdGEuY29tPiwgRmVicnVhcnkgMjAwMQorICoKKyAqIE1vdmVkIENQVSBkZXRlY3Rpb24gY29kZSB0byBjcHUvJHtjcHV9LmMKKyAqICAgIFBhdHJpY2sgTW9jaGVsIDxtb2NoZWxAb3NkbC5vcmc+LCBNYXJjaCAyMDAyCisgKgorICogIFByb3Zpc2lvbnMgZm9yIGVtcHR5IEU4MjAgbWVtb3J5IHJlZ2lvbnMgKHJlcG9ydGVkIGJ5IGNlcnRhaW4gQklPU2VzKS4KKyAqICBBbGV4IEFjaGVuYmFjaCA8eGVsYUBzbGl0LmRlPiwgRGVjZW1iZXIgMjAwMi4KKyAqCisgKi8KKworLyoKKyAqIFRoaXMgZmlsZSBoYW5kbGVzIHRoZSBhcmNoaXRlY3R1cmUtZGVwZW5kZW50IHBhcnRzIG9mIGluaXRpYWxpemF0aW9uCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CisjaW5jbHVkZSA8bGludXgvbW0uaD4KKyNpbmNsdWRlIDxsaW51eC9tbXpvbmUuaD4KKyNpbmNsdWRlIDxsaW51eC9zY3JlZW5faW5mby5oPgorI2luY2x1ZGUgPGxpbnV4L2lvcG9ydC5oPgorI2luY2x1ZGUgPGxpbnV4L2FjcGkuaD4KKyNpbmNsdWRlIDxsaW51eC9hcG1fYmlvcy5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXRyZC5oPgogI2luY2x1ZGUgPGxpbnV4L2Jvb3RtZW0uaD4KKyNpbmNsdWRlIDxsaW51eC9zZXFfZmlsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2NvbnNvbGUuaD4KKyNpbmNsdWRlIDxsaW51eC9tY2EuaD4KKyNpbmNsdWRlIDxsaW51eC9yb290X2Rldi5oPgorI2luY2x1ZGUgPGxpbnV4L2hpZ2htZW0uaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9lZmkuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvZWRkLmg+CisjaW5jbHVkZSA8bGludXgvaXNjc2lfaWJmdC5oPgorI2luY2x1ZGUgPGxpbnV4L25vZGVtYXNrLmg+CisjaW5jbHVkZSA8bGludXgva2V4ZWMuaD4KKyNpbmNsdWRlIDxsaW51eC9kbWkuaD4KKyNpbmNsdWRlIDxsaW51eC9wZm4uaD4KKyNpbmNsdWRlIDxsaW51eC9wY2kuaD4KKyNpbmNsdWRlIDxhc20vcGNpLWRpcmVjdC5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXRfb2hjaTEzOTRfZG1hLmg+CisjaW5jbHVkZSA8bGludXgva3ZtX3BhcmEuaD4KKworI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvc3RkZGVmLmg+CisjaW5jbHVkZSA8bGludXgvdW5pc3RkLmg+CisjaW5jbHVkZSA8bGludXgvcHRyYWNlLmg+CisjaW5jbHVkZSA8bGludXgvc2xhYi5oPgorI2luY2x1ZGUgPGxpbnV4L3VzZXIuaD4KKyNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgorI2luY2x1ZGUgPGxpbnV4L2hpZ2htZW0uaD4KKworI2luY2x1ZGUgPGxpbnV4L2thbGxzeW1zLmg+CisjaW5jbHVkZSA8bGludXgvZWRkLmg+CisjaW5jbHVkZSA8bGludXgvaXNjc2lfaWJmdC5oPgorI2luY2x1ZGUgPGxpbnV4L2tleGVjLmg+CisjaW5jbHVkZSA8bGludXgvY3B1ZnJlcS5oPgorI2luY2x1ZGUgPGxpbnV4L2RtYS1tYXBwaW5nLmg+CisjaW5jbHVkZSA8bGludXgvY3R5cGUuaD4KKyNpbmNsdWRlIDxsaW51eC91YWNjZXNzLmg+CisKICNpbmNsdWRlIDxsaW51eC9wZXJjcHUuaD4KKyNpbmNsdWRlIDxsaW51eC9jcmFzaF9kdW1wLmg+CisKKyNpbmNsdWRlIDx2aWRlby9lZGlkLmg+CisKKyNpbmNsdWRlIDxhc20vbXRyci5oPgorI2luY2x1ZGUgPGFzbS9hcGljLmg+CisjaW5jbHVkZSA8YXNtL2U4MjAuaD4KKyNpbmNsdWRlIDxhc20vbXBzcGVjLmg+CisjaW5jbHVkZSA8YXNtL3NldHVwLmg+CisjaW5jbHVkZSA8YXNtL2FyY2hfaG9va3MuaD4KKyNpbmNsdWRlIDxhc20vZWZpLmg+CisjaW5jbHVkZSA8YXNtL3NlY3Rpb25zLmg+CisjaW5jbHVkZSA8YXNtL2RtaS5oPgorI2luY2x1ZGUgPGFzbS9pb19hcGljLmg+CisjaW5jbHVkZSA8YXNtL2lzdC5oPgorI2luY2x1ZGUgPGFzbS92bWkuaD4KKyNpbmNsdWRlIDxzZXR1cF9hcmNoLmg+CisjaW5jbHVkZSA8YXNtL2Jpb3NfZWJkYS5oPgorI2luY2x1ZGUgPGFzbS9jYWNoZWZsdXNoLmg+CisjaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci5oPgorI2luY2x1ZGUgPGFzbS9idWdzLmg+CisKKyNpbmNsdWRlIDxhc20vc3lzdGVtLmg+CisjaW5jbHVkZSA8YXNtL3ZzeXNjYWxsLmg+CiAjaW5jbHVkZSA8YXNtL3NtcC5oPgorI2luY2x1ZGUgPGFzbS9kZXNjLmg+CisjaW5jbHVkZSA8YXNtL2RtYS5oPgorI2luY2x1ZGUgPGFzbS9nYXJ0Lmg+CisjaW5jbHVkZSA8YXNtL21tdV9jb250ZXh0Lmg+CisjaW5jbHVkZSA8YXNtL3Byb3RvLmg+CisKKyNpbmNsdWRlIDxtYWNoX2FwaWMuaD4KKyNpbmNsdWRlIDxhc20vcGFyYXZpcnQuaD4KKwogI2luY2x1ZGUgPGFzbS9wZXJjcHUuaD4KICNpbmNsdWRlIDxhc20vc2VjdGlvbnMuaD4KLSNpbmNsdWRlIDxhc20vcHJvY2Vzc29yLmg+Ci0jaW5jbHVkZSA8YXNtL3NldHVwLmg+CiAjaW5jbHVkZSA8YXNtL3RvcG9sb2d5Lmg+Ci0jaW5jbHVkZSA8YXNtL21wc3BlYy5oPgogI2luY2x1ZGUgPGFzbS9hcGljZGVmLmg+Ci0KLSNpZmRlZiBDT05GSUdfWDg2X0xPQ0FMX0FQSUMKLXVuc2lnbmVkIGludCBudW1fcHJvY2Vzc29yczsKLXVuc2lnbmVkIGRpc2FibGVkX2NwdXMgX19jcHVpbml0ZGF0YTsKLS8qIFByb2Nlc3NvciB0aGF0IGlzIGRvaW5nIHRoZSBib290IHVwICovCi11bnNpZ25lZCBpbnQgYm9vdF9jcHVfcGh5c2ljYWxfYXBpY2lkID0gLTFVOwotRVhQT1JUX1NZTUJPTChib290X2NwdV9waHlzaWNhbF9hcGljaWQpOwotCi1ERUZJTkVfUEVSX0NQVSh1MTYsIHg4Nl9jcHVfdG9fYXBpY2lkKSA9IEJBRF9BUElDSUQ7Ci1FWFBPUlRfUEVSX0NQVV9TWU1CT0woeDg2X2NwdV90b19hcGljaWQpOwotCi0vKiBCaXRtYXNrIG9mIHBoeXNpY2FsbHkgZXhpc3RpbmcgQ1BVcyAqLwotcGh5c2lkX21hc2tfdCBwaHlzX2NwdV9wcmVzZW50X21hcDsKKyNpZmRlZiBDT05GSUdfWDg2XzY0CisjaW5jbHVkZSA8YXNtL251bWFfNjQuaD4KICNlbmRpZgogCi0jaWYgZGVmaW5lZChDT05GSUdfSEFWRV9TRVRVUF9QRVJfQ1BVX0FSRUEpICYmIGRlZmluZWQoQ09ORklHX1g4Nl9TTVApCisjaWZuZGVmIEFSQ0hfU0VUVVAKKyNkZWZpbmUgQVJDSF9TRVRVUAorI2VuZGlmCisKKyNpZm5kZWYgQ09ORklHX0RFQlVHX0JPT1RfUEFSQU1TCitzdHJ1Y3QgYm9vdF9wYXJhbXMgX19pbml0ZGF0YSBib290X3BhcmFtczsKKyNlbHNlCitzdHJ1Y3QgYm9vdF9wYXJhbXMgYm9vdF9wYXJhbXM7CisjZW5kaWYKKwogLyoKLSAqIENvcHkgZGF0YSB1c2VkIGluIGVhcmx5IGluaXQgcm91dGluZXMgZnJvbSB0aGUgaW5pdGlhbCBhcnJheXMgdG8gdGhlCi0gKiBwZXIgY3B1IGRhdGEgYXJlYXMuICBUaGVzZSBhcnJheXMgdGhlbiBiZWNvbWUgZXhwZW5kYWJsZSBhbmQgdGhlCi0gKiAqX2Vhcmx5X3B0cidzIGFyZSB6ZXJvZWQgaW5kaWNhdGluZyB0aGF0IHRoZSBzdGF0aWMgYXJyYXlzIGFyZSBnb25lLgorICogTWFjaGluZSBzZXR1cC4uCiAgKi8KLXN0YXRpYyB2b2lkIF9faW5pdCBzZXR1cF9wZXJfY3B1X21hcHModm9pZCkKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgZGF0YV9yZXNvdXJjZSA9IHsKKwkubmFtZQk9ICJLZXJuZWwgZGF0YSIsCisJLnN0YXJ0CT0gMCwKKwkuZW5kCT0gMCwKKwkuZmxhZ3MJPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX01FTQorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBjb2RlX3Jlc291cmNlID0geworCS5uYW1lCT0gIktlcm5lbCBjb2RlIiwKKwkuc3RhcnQJPSAwLAorCS5lbmQJPSAwLAorCS5mbGFncwk9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfTUVNCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIGJzc19yZXNvdXJjZSA9IHsKKwkubmFtZQk9ICJLZXJuZWwgYnNzIiwKKwkuc3RhcnQJPSAwLAorCS5lbmQJPSAwLAorCS5mbGFncwk9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfTUVNCit9OworCisKKyNpZmRlZiBDT05GSUdfWDg2XzMyCisvKiBUaGlzIHZhbHVlIGlzIHNldCB1cCBieSB0aGUgZWFybHkgYm9vdCBjb2RlIHRvIHBvaW50IHRvIHRoZSB2YWx1ZQorICAgaW1tZWRpYXRlbHkgYWZ0ZXIgdGhlIGJvb3QgdGltZSBwYWdlIHRhYmxlcy4gIEl0IGNvbnRhaW5zIGEgKnBoeXNpY2FsKgorICAgYWRkcmVzcywgYW5kIG11c3Qgbm90IGJlIGluIHRoZSAuYnNzIHNlZ21lbnQhICovCit1bnNpZ25lZCBsb25nIGluaXRfcGdfdGFibGVzX3N0YXJ0IF9faW5pdGRhdGEgPSB+MFVMOwordW5zaWduZWQgbG9uZyBpbml0X3BnX3RhYmxlc19lbmQgX19pbml0ZGF0YSA9IH4wVUw7CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgdmlkZW9fcmFtX3Jlc291cmNlID0geworCS5uYW1lCT0gIlZpZGVvIFJBTSBhcmVhIiwKKwkuc3RhcnQJPSAweGEwMDAwLAorCS5lbmQJPSAweGJmZmZmLAorCS5mbGFncwk9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfTUVNCit9OworCisvKiBjcHUgZGF0YSBhcyBkZXRlY3RlZCBieSB0aGUgYXNzZW1ibHkgY29kZSBpbiBoZWFkLlMgKi8KK3N0cnVjdCBjcHVpbmZvX3g4NiBuZXdfY3B1X2RhdGEgX19jcHVpbml0ZGF0YSA9IHswLCAwLCAwLCAwLCAtMSwgMSwgMCwgMCwgLTF9OworLyogY29tbW9uIGNwdSBkYXRhIGZvciBhbGwgY3B1cyAqLworc3RydWN0IGNwdWluZm9feDg2IGJvb3RfY3B1X2RhdGEgX19yZWFkX21vc3RseSA9IHswLCAwLCAwLCAwLCAtMSwgMSwgMCwgMCwgLTF9OworRVhQT1JUX1NZTUJPTChib290X2NwdV9kYXRhKTsKK3N0YXRpYyB2b2lkIHNldF9tY2FfYnVzKGludCB4KQogewotCWludCBjcHU7Ci0KLQlmb3JfZWFjaF9wb3NzaWJsZV9jcHUoY3B1KSB7Ci0JCXBlcl9jcHUoeDg2X2NwdV90b19hcGljaWQsIGNwdSkgPSB4ODZfY3B1X3RvX2FwaWNpZF9pbml0W2NwdV07Ci0JCXBlcl9jcHUoeDg2X2Jpb3NfY3B1X2FwaWNpZCwgY3B1KSA9Ci0JCQkJCQl4ODZfYmlvc19jcHVfYXBpY2lkX2luaXRbY3B1XTsKLSNpZmRlZiBDT05GSUdfTlVNQQotCQlwZXJfY3B1KHg4Nl9jcHVfdG9fbm9kZV9tYXAsIGNwdSkgPQotCQkJCQkJeDg2X2NwdV90b19ub2RlX21hcF9pbml0W2NwdV07Ci0jZW5kaWYKLQl9Ci0KLQkvKiBpbmRpY2F0ZSB0aGUgZWFybHkgc3RhdGljIGFycmF5cyB3aWxsIHNvb24gYmUgZ29uZSAqLwotCXg4Nl9jcHVfdG9fYXBpY2lkX2Vhcmx5X3B0ciA9IE5VTEw7Ci0JeDg2X2Jpb3NfY3B1X2FwaWNpZF9lYXJseV9wdHIgPSBOVUxMOwotI2lmZGVmIENPTkZJR19OVU1BCi0JeDg2X2NwdV90b19ub2RlX21hcF9lYXJseV9wdHIgPSBOVUxMOworI2lmZGVmIENPTkZJR19NQ0EKKwlNQ0FfYnVzID0geDsKICNlbmRpZgogfQogCi0jaWZkZWYgQ09ORklHX0hBVkVfQ1BVTUFTS19PRl9DUFVfTUFQCi1jcHVtYXNrX3QgKmNwdW1hc2tfb2ZfY3B1X21hcCBfX3JlYWRfbW9zdGx5OwotRVhQT1JUX1NZTUJPTChjcHVtYXNrX29mX2NwdV9tYXApOwordW5zaWduZWQgaW50IGRlZl90b19iaWdzbXA7CiAKLS8qIHJlcXVpcmVzIG5yX2NwdV9pZHMgdG8gYmUgaW5pdGlhbGl6ZWQgKi8KLXN0YXRpYyB2b2lkIF9faW5pdCBzZXR1cF9jcHVtYXNrX29mX2NwdSh2b2lkKQorLyogZm9yIE1DQSwgYnV0IGFueW9uZSBlbHNlIGNhbiB1c2UgaXQgaWYgdGhleSB3YW50ICovCit1bnNpZ25lZCBpbnQgbWFjaGluZV9pZDsKK3Vuc2lnbmVkIGludCBtYWNoaW5lX3N1Ym1vZGVsX2lkOwordW5zaWduZWQgaW50IEJJT1NfcmV2aXNpb247CisKK3N0cnVjdCBhcG1faW5mbyBhcG1faW5mbzsKK0VYUE9SVF9TWU1CT0woYXBtX2luZm8pOworCisjaWYgZGVmaW5lZChDT05GSUdfWDg2X1NQRUVEU1RFUF9TTUkpIHx8IFwKKwlkZWZpbmVkKENPTkZJR19YODZfU1BFRURTVEVQX1NNSV9NT0RVTEUpCitzdHJ1Y3QgaXN0X2luZm8gaXN0X2luZm87CitFWFBPUlRfU1lNQk9MKGlzdF9pbmZvKTsKKyNlbHNlCitzdHJ1Y3QgaXN0X2luZm8gaXN0X2luZm87CisjZW5kaWYKKworI2Vsc2UKK3N0cnVjdCBjcHVpbmZvX3g4NiBib290X2NwdV9kYXRhIF9fcmVhZF9tb3N0bHk7CitFWFBPUlRfU1lNQk9MKGJvb3RfY3B1X2RhdGEpOworI2VuZGlmCisKKworI2lmICFkZWZpbmVkKENPTkZJR19YODZfUEFFKSB8fCBkZWZpbmVkKENPTkZJR19YODZfNjQpCit1bnNpZ25lZCBsb25nIG1tdV9jcjRfZmVhdHVyZXM7CisjZWxzZQordW5zaWduZWQgbG9uZyBtbXVfY3I0X2ZlYXR1cmVzID0gWDg2X0NSNF9QQUU7CisjZW5kaWYKKworLyogQm9vdCBsb2FkZXIgSUQgYXMgYW4gaW50ZWdlciwgZm9yIHRoZSBiZW5lZml0IG9mIHByb2NfZG9pbnR2ZWMgKi8KK2ludCBib290bG9hZGVyX3R5cGU7CisKKy8qCisgKiBFYXJseSBETUkgbWVtb3J5CisgKi8KK2ludCBkbWlfYWxsb2NfaW5kZXg7CitjaGFyIGRtaV9hbGxvY19kYXRhW0RNSV9NQVhfREFUQV07CisKKy8qCisgKiBTZXR1cCBvcHRpb25zCisgKi8KK3N0cnVjdCBzY3JlZW5faW5mbyBzY3JlZW5faW5mbzsKK0VYUE9SVF9TWU1CT0woc2NyZWVuX2luZm8pOworc3RydWN0IGVkaWRfaW5mbyBlZGlkX2luZm87CitFWFBPUlRfU1lNQk9MX0dQTChlZGlkX2luZm8pOworCitleHRlcm4gaW50IHJvb3RfbW91bnRmbGFnczsKKwordW5zaWduZWQgbG9uZyBzYXZlZF92aWRlb19tb2RlOworCisjZGVmaW5lIFJBTURJU0tfSU1BR0VfU1RBUlRfTUFTSwkweDA3RkYKKyNkZWZpbmUgUkFNRElTS19QUk9NUFRfRkxBRwkJMHg4MDAwCisjZGVmaW5lIFJBTURJU0tfTE9BRF9GTEFHCQkweDQwMDAKKworc3RhdGljIGNoYXIgX19pbml0ZGF0YSBjb21tYW5kX2xpbmVbQ09NTUFORF9MSU5FX1NJWkVdOworCisjaWYgZGVmaW5lZChDT05GSUdfRUREKSB8fCBkZWZpbmVkKENPTkZJR19FRERfTU9EVUxFKQorc3RydWN0IGVkZCBlZGQ7CisjaWZkZWYgQ09ORklHX0VERF9NT0RVTEUKK0VYUE9SVF9TWU1CT0woZWRkKTsKKyNlbmRpZgorLyoqCisgKiBjb3B5X2VkZCgpIC0gQ29weSB0aGUgQklPUyBFREQgaW5mb3JtYXRpb24KKyAqICAgICAgICAgICAgICBmcm9tIGJvb3RfcGFyYW1zIGludG8gYSBzYWZlIHBsYWNlLgorICoKKyAqLworc3RhdGljIGlubGluZSB2b2lkIGNvcHlfZWRkKHZvaWQpCit7CisgICAgIG1lbWNweShlZGQubWJyX3NpZ25hdHVyZSwgYm9vdF9wYXJhbXMuZWRkX21icl9zaWdfYnVmZmVyLAorCSAgICBzaXplb2YoZWRkLm1icl9zaWduYXR1cmUpKTsKKyAgICAgbWVtY3B5KGVkZC5lZGRfaW5mbywgYm9vdF9wYXJhbXMuZWRkYnVmLCBzaXplb2YoZWRkLmVkZF9pbmZvKSk7CisgICAgIGVkZC5tYnJfc2lnbmF0dXJlX25yID0gYm9vdF9wYXJhbXMuZWRkX21icl9zaWdfYnVmX2VudHJpZXM7CisgICAgIGVkZC5lZGRfaW5mb19uciA9IGJvb3RfcGFyYW1zLmVkZGJ1Zl9lbnRyaWVzOworfQorI2Vsc2UKK3N0YXRpYyBpbmxpbmUgdm9pZCBjb3B5X2VkZCh2b2lkKQoreworfQorI2VuZGlmCisKKyNpZmRlZiBDT05GSUdfQkxLX0RFVl9JTklUUkQKKworI2lmZGVmIENPTkZJR19YODZfMzIKKworI2RlZmluZSBNQVhfTUFQX0NIVU5LCShOUl9GSVhfQlRNQVBTIDw8IFBBR0VfU0hJRlQpCitzdGF0aWMgdm9pZCBfX2luaXQgcmVsb2NhdGVfaW5pdHJkKHZvaWQpCit7CisKKwl1NjQgcmFtZGlza19pbWFnZSA9IGJvb3RfcGFyYW1zLmhkci5yYW1kaXNrX2ltYWdlOworCXU2NCByYW1kaXNrX3NpemUgID0gYm9vdF9wYXJhbXMuaGRyLnJhbWRpc2tfc2l6ZTsKKwl1NjQgZW5kX29mX2xvd21lbSA9IG1heF9sb3dfcGZuIDw8IFBBR0VfU0hJRlQ7CisJdTY0IHJhbWRpc2tfaGVyZTsKKwl1bnNpZ25lZCBsb25nIHNsb3AsIGNsZW4sIG1hcGFkZHI7CisJY2hhciAqcCwgKnE7CisKKwkvKiBXZSBuZWVkIHRvIG1vdmUgdGhlIGluaXRyZCBkb3duIGludG8gbG93bWVtICovCisJcmFtZGlza19oZXJlID0gZmluZF9lODIwX2FyZWEoMCwgZW5kX29mX2xvd21lbSwgcmFtZGlza19zaXplLAorCQkJCQkgUEFHRV9TSVpFKTsKKworCWlmIChyYW1kaXNrX2hlcmUgPT0gLTFVTEwpCisJCXBhbmljKCJDYW5ub3QgZmluZCBwbGFjZSBmb3IgbmV3IFJBTURJU0sgb2Ygc2l6ZSAlbGxkXG4iLAorCQkJIHJhbWRpc2tfc2l6ZSk7CisKKwkvKiBOb3RlOiB0aGlzIGluY2x1ZGVzIGFsbCB0aGUgbG93bWVtIGN1cnJlbnRseSBvY2N1cGllZCBieQorCSAgIHRoZSBpbml0cmQsIHdlIHJlbHkgb24gdGhhdCBmYWN0IHRvIGtlZXAgdGhlIGRhdGEgaW50YWN0LiAqLworCXJlc2VydmVfZWFybHkocmFtZGlza19oZXJlLCByYW1kaXNrX2hlcmUgKyByYW1kaXNrX3NpemUsCisJCQkgIk5FVyBSQU1ESVNLIik7CisJaW5pdHJkX3N0YXJ0ID0gcmFtZGlza19oZXJlICsgUEFHRV9PRkZTRVQ7CisJaW5pdHJkX2VuZCAgID0gaW5pdHJkX3N0YXJ0ICsgcmFtZGlza19zaXplOworCXByaW50ayhLRVJOX0lORk8gIkFsbG9jYXRlZCBuZXcgUkFNRElTSzogJTA4bGx4IC0gJTA4bGx4XG4iLAorCQkJIHJhbWRpc2tfaGVyZSwgcmFtZGlza19oZXJlICsgcmFtZGlza19zaXplKTsKKworCXEgPSAoY2hhciAqKWluaXRyZF9zdGFydDsKKworCS8qIENvcHkgYW55IGxvd21lbSBwb3J0aW9uIG9mIHRoZSBpbml0cmQgKi8KKwlpZiAocmFtZGlza19pbWFnZSA8IGVuZF9vZl9sb3dtZW0pIHsKKwkJY2xlbiA9IGVuZF9vZl9sb3dtZW0gLSByYW1kaXNrX2ltYWdlOworCQlwID0gKGNoYXIgKilfX3ZhKHJhbWRpc2tfaW1hZ2UpOworCQltZW1jcHkocSwgcCwgY2xlbik7CisJCXEgKz0gY2xlbjsKKwkJcmFtZGlza19pbWFnZSArPSBjbGVuOworCQlyYW1kaXNrX3NpemUgIC09IGNsZW47CisJfQorCisJLyogQ29weSB0aGUgaGlnaG1lbSBwb3J0aW9uIG9mIHRoZSBpbml0cmQgKi8KKwl3aGlsZSAocmFtZGlza19zaXplKSB7CisJCXNsb3AgPSByYW1kaXNrX2ltYWdlICYgflBBR0VfTUFTSzsKKwkJY2xlbiA9IHJhbWRpc2tfc2l6ZTsKKwkJaWYgKGNsZW4gPiBNQVhfTUFQX0NIVU5LLXNsb3ApCisJCQljbGVuID0gTUFYX01BUF9DSFVOSy1zbG9wOworCQltYXBhZGRyID0gcmFtZGlza19pbWFnZSAmIFBBR0VfTUFTSzsKKwkJcCA9IGVhcmx5X2lvcmVtYXAobWFwYWRkciwgY2xlbitzbG9wKTsKKwkJbWVtY3B5KHEsIHArc2xvcCwgY2xlbik7CisJCWVhcmx5X2lvdW5tYXAocCwgY2xlbitzbG9wKTsKKwkJcSArPSBjbGVuOworCQlyYW1kaXNrX2ltYWdlICs9IGNsZW47CisJCXJhbWRpc2tfc2l6ZSAgLT0gY2xlbjsKKwl9CisJLyogaGlnaCBwYWdlcyBpcyBub3QgY29udmVydGVkIGJ5IGVhcmx5X3Jlc190b19ib290bWVtICovCisJcmFtZGlza19pbWFnZSA9IGJvb3RfcGFyYW1zLmhkci5yYW1kaXNrX2ltYWdlOworCXJhbWRpc2tfc2l6ZSAgPSBib290X3BhcmFtcy5oZHIucmFtZGlza19zaXplOworCXByaW50ayhLRVJOX0lORk8gIk1vdmUgUkFNRElTSyBmcm9tICUwMTZsbHggLSAlMDE2bGx4IHRvIgorCQkiICUwOGxseCAtICUwOGxseFxuIiwKKwkJcmFtZGlza19pbWFnZSwgcmFtZGlza19pbWFnZSArIHJhbWRpc2tfc2l6ZSAtIDEsCisJCXJhbWRpc2tfaGVyZSwgcmFtZGlza19oZXJlICsgcmFtZGlza19zaXplIC0gMSk7Cit9CisjZW5kaWYKKworc3RhdGljIHZvaWQgX19pbml0IHJlc2VydmVfaW5pdHJkKHZvaWQpCit7CisJdTY0IHJhbWRpc2tfaW1hZ2UgPSBib290X3BhcmFtcy5oZHIucmFtZGlza19pbWFnZTsKKwl1NjQgcmFtZGlza19zaXplICA9IGJvb3RfcGFyYW1zLmhkci5yYW1kaXNrX3NpemU7CisJdTY0IHJhbWRpc2tfZW5kICAgPSByYW1kaXNrX2ltYWdlICsgcmFtZGlza19zaXplOworCXU2NCBlbmRfb2ZfbG93bWVtID0gbWF4X2xvd19wZm4gPDwgUEFHRV9TSElGVDsKKworCWlmICghYm9vdF9wYXJhbXMuaGRyLnR5cGVfb2ZfbG9hZGVyIHx8CisJICAgICFyYW1kaXNrX2ltYWdlIHx8ICFyYW1kaXNrX3NpemUpCisJCXJldHVybjsJCS8qIE5vIGluaXRyZCBwcm92aWRlZCBieSBib290bG9hZGVyICovCisKKwlpbml0cmRfc3RhcnQgPSAwOworCisJaWYgKHJhbWRpc2tfc2l6ZSA+PSAoZW5kX29mX2xvd21lbT4+MSkpIHsKKwkJZnJlZV9lYXJseShyYW1kaXNrX2ltYWdlLCByYW1kaXNrX2VuZCk7CisJCXByaW50ayhLRVJOX0VSUiAiaW5pdHJkIHRvbyBsYXJnZSB0byBoYW5kbGUsICIKKwkJICAgICAgICJkaXNhYmxpbmcgaW5pdHJkXG4iKTsKKwkJcmV0dXJuOworCX0KKworCXByaW50ayhLRVJOX0lORk8gIlJBTURJU0s6ICUwOGxseCAtICUwOGxseFxuIiwgcmFtZGlza19pbWFnZSwKKwkJCXJhbWRpc2tfZW5kKTsKKworCisJaWYgKHJhbWRpc2tfZW5kIDw9IGVuZF9vZl9sb3dtZW0pIHsKKwkJLyogQWxsIGluIGxvd21lbSwgZWFzeSBjYXNlICovCisJCS8qCisJCSAqIGRvbid0IG5lZWQgdG8gcmVzZXJ2ZSBhZ2FpbiwgYWxyZWFkeSByZXNlcnZlZCBlYXJseQorCQkgKiBpbiBpMzg2X3N0YXJ0X2tlcm5lbAorCQkgKi8KKwkJaW5pdHJkX3N0YXJ0ID0gcmFtZGlza19pbWFnZSArIFBBR0VfT0ZGU0VUOworCQlpbml0cmRfZW5kID0gaW5pdHJkX3N0YXJ0ICsgcmFtZGlza19zaXplOworCQlyZXR1cm47CisJfQorCisjaWZkZWYgQ09ORklHX1g4Nl8zMgorCXJlbG9jYXRlX2luaXRyZCgpOworI2Vsc2UKKwlwcmludGsoS0VSTl9FUlIgImluaXRyZCBleHRlbmRzIGJleW9uZCBlbmQgb2YgbWVtb3J5ICIKKwkgICAgICAgIigweCUwOGxseCA+IDB4JTA4bGx4KVxuZGlzYWJsaW5nIGluaXRyZFxuIiwKKwkgICAgICAgcmFtZGlza19lbmQsIGVuZF9vZl9sb3dtZW0pOworCWluaXRyZF9zdGFydCA9IDA7CisjZW5kaWYKKwlmcmVlX2Vhcmx5KHJhbWRpc2tfaW1hZ2UsIHJhbWRpc2tfZW5kKTsKK30KKyNlbHNlCitzdGF0aWMgdm9pZCBfX2luaXQgcmVzZXJ2ZV9pbml0cmQodm9pZCkKK3sKK30KKyNlbmRpZiAvKiBDT05GSUdfQkxLX0RFVl9JTklUUkQgKi8KKworc3RhdGljIHZvaWQgX19pbml0IHBhcnNlX3NldHVwX2RhdGEodm9pZCkKK3sKKwlzdHJ1Y3Qgc2V0dXBfZGF0YSAqZGF0YTsKKwl1NjQgcGFfZGF0YTsKKworCWlmIChib290X3BhcmFtcy5oZHIudmVyc2lvbiA8IDB4MDIwOSkKKwkJcmV0dXJuOworCXBhX2RhdGEgPSBib290X3BhcmFtcy5oZHIuc2V0dXBfZGF0YTsKKwl3aGlsZSAocGFfZGF0YSkgeworCQlkYXRhID0gZWFybHlfaW9yZW1hcChwYV9kYXRhLCBQQUdFX1NJWkUpOworCQlzd2l0Y2ggKGRhdGEtPnR5cGUpIHsKKwkJY2FzZSBTRVRVUF9FODIwX0VYVDoKKwkJCXBhcnNlX2U4MjBfZXh0KGRhdGEsIHBhX2RhdGEpOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQlicmVhazsKKwkJfQorCQlwYV9kYXRhID0gZGF0YS0+bmV4dDsKKwkJZWFybHlfaW91bm1hcChkYXRhLCBQQUdFX1NJWkUpOworCX0KK30KKworc3RhdGljIHZvaWQgX19pbml0IGU4MjBfcmVzZXJ2ZV9zZXR1cF9kYXRhKHZvaWQpCit7CisJc3RydWN0IHNldHVwX2RhdGEgKmRhdGE7CisJdTY0IHBhX2RhdGE7CisJaW50IGZvdW5kID0gMDsKKworCWlmIChib290X3BhcmFtcy5oZHIudmVyc2lvbiA8IDB4MDIwOSkKKwkJcmV0dXJuOworCXBhX2RhdGEgPSBib290X3BhcmFtcy5oZHIuc2V0dXBfZGF0YTsKKwl3aGlsZSAocGFfZGF0YSkgeworCQlkYXRhID0gZWFybHlfaW9yZW1hcChwYV9kYXRhLCBzaXplb2YoKmRhdGEpKTsKKwkJZTgyMF91cGRhdGVfcmFuZ2UocGFfZGF0YSwgc2l6ZW9mKCpkYXRhKStkYXRhLT5sZW4sCisJCQkgRTgyMF9SQU0sIEU4MjBfUkVTRVJWRURfS0VSTik7CisJCWZvdW5kID0gMTsKKwkJcGFfZGF0YSA9IGRhdGEtPm5leHQ7CisJCWVhcmx5X2lvdW5tYXAoZGF0YSwgc2l6ZW9mKCpkYXRhKSk7CisJfQorCWlmICghZm91bmQpCisJCXJldHVybjsKKworCXNhbml0aXplX2U4MjBfbWFwKGU4MjAubWFwLCBBUlJBWV9TSVpFKGU4MjAubWFwKSwgJmU4MjAubnJfbWFwKTsKKwltZW1jcHkoJmU4MjBfc2F2ZWQsICZlODIwLCBzaXplb2Yoc3RydWN0IGU4MjBtYXApKTsKKwlwcmludGsoS0VSTl9JTkZPICJleHRlbmRlZCBwaHlzaWNhbCBSQU0gbWFwOlxuIik7CisJZTgyMF9wcmludF9tYXAoInJlc2VydmUgc2V0dXBfZGF0YSIpOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgcmVzZXJ2ZV9lYXJseV9zZXR1cF9kYXRhKHZvaWQpCit7CisJc3RydWN0IHNldHVwX2RhdGEgKmRhdGE7CisJdTY0IHBhX2RhdGE7CisJY2hhciBidWZbMzJdOworCisJaWYgKGJvb3RfcGFyYW1zLmhkci52ZXJzaW9uIDwgMHgwMjA5KQorCQlyZXR1cm47CisJcGFfZGF0YSA9IGJvb3RfcGFyYW1zLmhkci5zZXR1cF9kYXRhOworCXdoaWxlIChwYV9kYXRhKSB7CisJCWRhdGEgPSBlYXJseV9pb3JlbWFwKHBhX2RhdGEsIHNpemVvZigqZGF0YSkpOworCQlzcHJpbnRmKGJ1ZiwgInNldHVwIGRhdGEgJXgiLCBkYXRhLT50eXBlKTsKKwkJcmVzZXJ2ZV9lYXJseShwYV9kYXRhLCBwYV9kYXRhK3NpemVvZigqZGF0YSkrZGF0YS0+bGVuLCBidWYpOworCQlwYV9kYXRhID0gZGF0YS0+bmV4dDsKKwkJZWFybHlfaW91bm1hcChkYXRhLCBzaXplb2YoKmRhdGEpKTsKKwl9Cit9CisKKy8qCisgKiAtLS0tLS0tLS0gQ3Jhc2hrZXJuZWwgcmVzZXJ2YXRpb24gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKi8KKworI2lmZGVmIENPTkZJR19LRVhFQworCisvKioKKyAqIFJlc2VydmUgQHNpemUgYnl0ZXMgb2YgY3Jhc2hrZXJuZWwgbWVtb3J5IGF0IGFueSBzdWl0YWJsZSBvZmZzZXQuCisgKgorICogQHNpemU6IFNpemUgb2YgdGhlIGNyYXNoa2VybmVsIG1lbW9yeSB0byByZXNlcnZlLgorICogUmV0dXJucyB0aGUgYmFzZSBhZGRyZXNzIG9uIHN1Y2Nlc3MsIGFuZCAtMVVMTCBvbiBmYWlsdXJlLgorICovCit1bnNpZ25lZCBsb25nIGxvbmcgZmluZF9hbmRfcmVzZXJ2ZV9jcmFzaGtlcm5lbCh1bnNpZ25lZCBsb25nIGxvbmcgc2l6ZSkKK3sKKwljb25zdCB1bnNpZ25lZCBsb25nIGxvbmcgYWxpZ25tZW50ID0gMTY8PDIwOyAJLyogMTZNICovCisJdW5zaWduZWQgbG9uZyBsb25nIHN0YXJ0ID0gMExMOworCisJd2hpbGUgKDEpIHsKKwkJaW50IHJldDsKKworCQlzdGFydCA9IGZpbmRfZTgyMF9hcmVhKHN0YXJ0LCBVTE9OR19NQVgsIHNpemUsIGFsaWdubWVudCk7CisJCWlmIChzdGFydCA9PSAtMVVMTCkKKwkJCXJldHVybiBzdGFydDsKKworCQkvKiB0cnkgdG8gcmVzZXJ2ZSBpdCAqLworCQlyZXQgPSByZXNlcnZlX2Jvb3RtZW1fZ2VuZXJpYyhzdGFydCwgc2l6ZSwgQk9PVE1FTV9FWENMVVNJVkUpOworCQlpZiAocmV0ID49IDApCisJCQlyZXR1cm4gc3RhcnQ7CisKKwkJc3RhcnQgKz0gYWxpZ25tZW50OworCX0KK30KKworc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIGxvbmcgZ2V0X3RvdGFsX21lbSh2b2lkKQoreworCXVuc2lnbmVkIGxvbmcgbG9uZyB0b3RhbDsKKworCXRvdGFsID0gbWF4X2xvd19wZm4gLSBtaW5fbG93X3BmbjsKKyNpZmRlZiBDT05GSUdfSElHSE1FTQorCXRvdGFsICs9IGhpZ2hlbmRfcGZuIC0gaGlnaHN0YXJ0X3BmbjsKKyNlbmRpZgorCisJcmV0dXJuIHRvdGFsIDw8IFBBR0VfU0hJRlQ7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCByZXNlcnZlX2NyYXNoa2VybmVsKHZvaWQpCit7CisJdW5zaWduZWQgbG9uZyBsb25nIHRvdGFsX21lbTsKKwl1bnNpZ25lZCBsb25nIGxvbmcgY3Jhc2hfc2l6ZSwgY3Jhc2hfYmFzZTsKKwlpbnQgcmV0OworCisJdG90YWxfbWVtID0gZ2V0X3RvdGFsX21lbSgpOworCisJcmV0ID0gcGFyc2VfY3Jhc2hrZXJuZWwoYm9vdF9jb21tYW5kX2xpbmUsIHRvdGFsX21lbSwKKwkJCSZjcmFzaF9zaXplLCAmY3Jhc2hfYmFzZSk7CisJaWYgKHJldCAhPSAwIHx8IGNyYXNoX3NpemUgPD0gMCkKKwkJcmV0dXJuOworCisJLyogMCBtZWFuczogZmluZCB0aGUgYWRkcmVzcyBhdXRvbWF0aWNhbGx5ICovCisJaWYgKGNyYXNoX2Jhc2UgPD0gMCkgeworCQljcmFzaF9iYXNlID0gZmluZF9hbmRfcmVzZXJ2ZV9jcmFzaGtlcm5lbChjcmFzaF9zaXplKTsKKwkJaWYgKGNyYXNoX2Jhc2UgPT0gLTFVTEwpIHsKKwkJCXByX2luZm8oImNyYXNoa2VybmVsIHJlc2VydmF0aW9uIGZhaWxlZC4gIgorCQkJCSJObyBzdWl0YWJsZSBhcmVhIGZvdW5kLlxuIik7CisJCQlyZXR1cm47CisJCX0KKwl9IGVsc2UgeworCQlyZXQgPSByZXNlcnZlX2Jvb3RtZW1fZ2VuZXJpYyhjcmFzaF9iYXNlLCBjcmFzaF9zaXplLAorCQkJCQlCT09UTUVNX0VYQ0xVU0lWRSk7CisJCWlmIChyZXQgPCAwKSB7CisJCQlwcl9pbmZvKCJjcmFzaGtlcm5lbCByZXNlcnZhdGlvbiBmYWlsZWQgLSAiCisJCQkJIm1lbW9yeSBpcyBpbiB1c2VcbiIpOworCQkJcmV0dXJuOworCQl9CisJfQorCisJcHJpbnRrKEtFUk5fSU5GTyAiUmVzZXJ2aW5nICVsZE1CIG9mIG1lbW9yeSBhdCAlbGRNQiAiCisJCQkiZm9yIGNyYXNoa2VybmVsIChTeXN0ZW0gUkFNOiAlbGRNQilcbiIsCisJCQkodW5zaWduZWQgbG9uZykoY3Jhc2hfc2l6ZSA+PiAyMCksCisJCQkodW5zaWduZWQgbG9uZykoY3Jhc2hfYmFzZSA+PiAyMCksCisJCQkodW5zaWduZWQgbG9uZykodG90YWxfbWVtID4+IDIwKSk7CisKKwljcmFzaGtfcmVzLnN0YXJ0ID0gY3Jhc2hfYmFzZTsKKwljcmFzaGtfcmVzLmVuZCAgID0gY3Jhc2hfYmFzZSArIGNyYXNoX3NpemUgLSAxOworCWluc2VydF9yZXNvdXJjZSgmaW9tZW1fcmVzb3VyY2UsICZjcmFzaGtfcmVzKTsKK30KKyNlbHNlCitzdGF0aWMgdm9pZCBfX2luaXQgcmVzZXJ2ZV9jcmFzaGtlcm5lbCh2b2lkKQoreworfQorI2VuZGlmCisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2Ugc3RhbmRhcmRfaW9fcmVzb3VyY2VzW10gPSB7CisJeyAubmFtZSA9ICJkbWExIiwgLnN0YXJ0ID0gMHgwMCwgLmVuZCA9IDB4MWYsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfSU8gfSwKKwl7IC5uYW1lID0gInBpYzEiLCAuc3RhcnQgPSAweDIwLCAuZW5kID0gMHgyMSwKKwkJLmZsYWdzID0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9JTyB9LAorCXsgLm5hbWUgPSAidGltZXIwIiwgLnN0YXJ0ID0gMHg0MCwgLmVuZCA9IDB4NDMsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfSU8gfSwKKwl7IC5uYW1lID0gInRpbWVyMSIsIC5zdGFydCA9IDB4NTAsIC5lbmQgPSAweDUzLAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX0lPIH0sCisJeyAubmFtZSA9ICJrZXlib2FyZCIsIC5zdGFydCA9IDB4NjAsIC5lbmQgPSAweDYwLAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX0lPIH0sCisJeyAubmFtZSA9ICJrZXlib2FyZCIsIC5zdGFydCA9IDB4NjQsIC5lbmQgPSAweDY0LAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX0lPIH0sCisJeyAubmFtZSA9ICJkbWEgcGFnZSByZWciLCAuc3RhcnQgPSAweDgwLCAuZW5kID0gMHg4ZiwKKwkJLmZsYWdzID0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9JTyB9LAorCXsgLm5hbWUgPSAicGljMiIsIC5zdGFydCA9IDB4YTAsIC5lbmQgPSAweGExLAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX0lPIH0sCisJeyAubmFtZSA9ICJkbWEyIiwgLnN0YXJ0ID0gMHhjMCwgLmVuZCA9IDB4ZGYsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfSU8gfSwKKwl7IC5uYW1lID0gImZwdSIsIC5zdGFydCA9IDB4ZjAsIC5lbmQgPSAweGZmLAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX0lPIH0KK307CisKK3N0YXRpYyB2b2lkIF9faW5pdCByZXNlcnZlX3N0YW5kYXJkX2lvX3Jlc291cmNlcyh2b2lkKQogewogCWludCBpOwogCi0JLyogYWxsb2NfYm9vdG1lbSB6ZXJvZXMgbWVtb3J5ICovCi0JY3B1bWFza19vZl9jcHVfbWFwID0gYWxsb2NfYm9vdG1lbV9sb3coc2l6ZW9mKGNwdW1hc2tfdCkgKiBucl9jcHVfaWRzKTsKLQlmb3IgKGkgPSAwOyBpIDwgbnJfY3B1X2lkczsgaSsrKQotCQljcHVfc2V0KGksIGNwdW1hc2tfb2ZfY3B1X21hcFtpXSk7CisJLyogcmVxdWVzdCBJL08gc3BhY2UgZm9yIGRldmljZXMgdXNlZCBvbiBhbGwgaVszNDVdODYgUENzICovCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoc3RhbmRhcmRfaW9fcmVzb3VyY2VzKTsgaSsrKQorCQlyZXF1ZXN0X3Jlc291cmNlKCZpb3BvcnRfcmVzb3VyY2UsICZzdGFuZGFyZF9pb19yZXNvdXJjZXNbaV0pOworCiB9Ci0jZWxzZQotc3RhdGljIGlubGluZSB2b2lkIHNldHVwX2NwdW1hc2tfb2ZfY3B1KHZvaWQpIHsgfQotI2VuZGlmCiAKLSNpZmRlZiBDT05GSUdfWDg2XzMyCi0vKgotICogR3JlYXQgZnV0dXJlIG5vdC1zby1mdXR1cmlzdGljIHBsYW46IG1ha2UgaTM4NiBhbmQgeDg2XzY0IGRvIGl0Ci0gKiB0aGUgc2FtZSB3YXkKKyNpZmRlZiBDT05GSUdfUFJPQ19WTUNPUkUKKy8qIGVsZmNvcmVoZHI9IHNwZWNpZmllcyB0aGUgbG9jYXRpb24gb2YgZWxmIGNvcmUgaGVhZGVyCisgKiBzdG9yZWQgYnkgdGhlIGNyYXNoZWQga2VybmVsLiBUaGlzIG9wdGlvbiB3aWxsIGJlIHBhc3NlZAorICogYnkga2V4ZWMgbG9hZGVyIHRvIHRoZSBjYXB0dXJlIGtlcm5lbC4KICAqLwotdW5zaWduZWQgbG9uZyBfX3Blcl9jcHVfb2Zmc2V0W05SX0NQVVNdIF9fcmVhZF9tb3N0bHk7Ci1FWFBPUlRfU1lNQk9MKF9fcGVyX2NwdV9vZmZzZXQpOwotI2VuZGlmCi0KLS8qCi0gKiBHcmVhdCBmdXR1cmUgcGxhbjoKLSAqIERlY2xhcmUgUERBIGl0c2VsZiBhbmQgc3VwcG9ydCAoaXJxc3RhY2ssdHNzLHBnZCkgYXMgcGVyIGNwdSBkYXRhLgotICogQWx3YXlzIHBvaW50ICVncyB0byBpdHMgYmVnaW5uaW5nCi0gKi8KLXZvaWQgX19pbml0IHNldHVwX3Blcl9jcHVfYXJlYXModm9pZCkKK3N0YXRpYyBpbnQgX19pbml0IHNldHVwX2VsZmNvcmVoZHIoY2hhciAqYXJnKQogewotCWludCBpLCBoaWdoZXN0X2NwdSA9IDA7Ci0JdW5zaWduZWQgbG9uZyBzaXplOwotCi0jaWZkZWYgQ09ORklHX0hPVFBMVUdfQ1BVCi0JcHJlZmlsbF9wb3NzaWJsZV9tYXAoKTsKKwljaGFyICplbmQ7CisJaWYgKCFhcmcpCisJCXJldHVybiAtRUlOVkFMOworCWVsZmNvcmVoZHJfYWRkciA9IG1lbXBhcnNlKGFyZywgJmVuZCk7CisJcmV0dXJuIGVuZCA+IGFyZyA/IDAgOiAtRUlOVkFMOworfQorZWFybHlfcGFyYW0oImVsZmNvcmVoZHIiLCBzZXR1cF9lbGZjb3JlaGRyKTsKICNlbmRpZgogCi0JLyogQ29weSBzZWN0aW9uIGZvciBlYWNoIENQVSAod2UgZGlzY2FyZCB0aGUgb3JpZ2luYWwpICovCi0Jc2l6ZSA9IFBFUkNQVV9FTk9VR0hfUk9PTTsKLQlwcmludGsoS0VSTl9JTkZPICJQRVJDUFU6IEFsbG9jYXRpbmcgJWx1IGJ5dGVzIG9mIHBlciBjcHUgZGF0YVxuIiwKLQkJCSAgc2l6ZSk7CisvKgorICogRGV0ZXJtaW5lIGlmIHdlIHdlcmUgbG9hZGVkIGJ5IGFuIEVGSSBsb2FkZXIuICBJZiBzbywgdGhlbiB3ZSBoYXZlIGFsc28gYmVlbgorICogcGFzc2VkIHRoZSBlZmkgbWVtbWFwLCBzeXN0YWIsIGV0Yy4sIHNvIHdlIHNob3VsZCB1c2UgdGhlc2UgZGF0YSBzdHJ1Y3R1cmVzCisgKiBmb3IgaW5pdGlhbGl6YXRpb24uICBOb3RlLCB0aGUgZWZpIGluaXQgY29kZSBwYXRoIGlzIGRldGVybWluZWQgYnkgdGhlCisgKiBnbG9iYWwgZWZpX2VuYWJsZWQuIFRoaXMgYWxsb3dzIHRoZSBzYW1lIGtlcm5lbCBpbWFnZSB0byBiZSB1c2VkIG9uIGV4aXN0aW5nCisgKiBzeXN0ZW1zICh3aXRoIGEgdHJhZGl0aW9uYWwgQklPUykgYXMgd2VsbCBhcyBvbiBFRkkgc3lzdGVtcy4KKyAqLworLyoKKyAqIHNldHVwX2FyY2ggLSBhcmNoaXRlY3R1cmUtc3BlY2lmaWMgYm9vdC10aW1lIGluaXRpYWxpemF0aW9ucworICoKKyAqIE5vdGU6IE9uIHg4Nl82NCwgZml4bWFwcyBhcmUgcmVhZHkgZm9yIHVzZSBldmVuIGJlZm9yZSB0aGlzIGlzIGNhbGxlZC4KKyAqLwogCi0JZm9yX2VhY2hfcG9zc2libGVfY3B1KGkpIHsKLQkJY2hhciAqcHRyOwotI2lmbmRlZiBDT05GSUdfTkVFRF9NVUxUSVBMRV9OT0RFUwotCQlwdHIgPSBhbGxvY19ib290bWVtX3BhZ2VzKHNpemUpOwordm9pZCBfX2luaXQgc2V0dXBfYXJjaChjaGFyICoqY21kbGluZV9wKQoreworI2lmZGVmIENPTkZJR19YODZfMzIKKwltZW1jcHkoJmJvb3RfY3B1X2RhdGEsICZuZXdfY3B1X2RhdGEsIHNpemVvZihuZXdfY3B1X2RhdGEpKTsKKwl2aXN3c19lYXJseV9kZXRlY3QoKTsKKwlwcmVfc2V0dXBfYXJjaF9ob29rKCk7CisJZWFybHlfY3B1X2luaXQoKTsKICNlbHNlCi0JCWludCBub2RlID0gZWFybHlfY3B1X3RvX25vZGUoaSk7Ci0JCWlmICghbm9kZV9vbmxpbmUobm9kZSkgfHwgIU5PREVfREFUQShub2RlKSkgewotCQkJcHRyID0gYWxsb2NfYm9vdG1lbV9wYWdlcyhzaXplKTsKLQkJCXByaW50ayhLRVJOX0lORk8KLQkJCSAgICAgICAiY3B1ICVkIGhhcyBubyBub2RlIG9yIG5vZGUtbG9jYWwgbWVtb3J5XG4iLCBpKTsKLQkJfQotCQllbHNlCi0JCQlwdHIgPSBhbGxvY19ib290bWVtX3BhZ2VzX25vZGUoTk9ERV9EQVRBKG5vZGUpLCBzaXplKTsKKwlwcmludGsoS0VSTl9JTkZPICJDb21tYW5kIGxpbmU6ICVzXG4iLCBib290X2NvbW1hbmRfbGluZSk7CiAjZW5kaWYKLQkJaWYgKCFwdHIpCi0JCQlwYW5pYygiQ2Fubm90IGFsbG9jYXRlIGNwdSBkYXRhIGZvciBDUFUgJWRcbiIsIGkpOworCisJZWFybHlfaW9yZW1hcF9pbml0KCk7CisKKwlST09UX0RFViA9IG9sZF9kZWNvZGVfZGV2KGJvb3RfcGFyYW1zLmhkci5yb290X2Rldik7CisJc2NyZWVuX2luZm8gPSBib290X3BhcmFtcy5zY3JlZW5faW5mbzsKKwllZGlkX2luZm8gPSBib290X3BhcmFtcy5lZGlkX2luZm87CisjaWZkZWYgQ09ORklHX1g4Nl8zMgorCWFwbV9pbmZvLmJpb3MgPSBib290X3BhcmFtcy5hcG1fYmlvc19pbmZvOworCWlzdF9pbmZvID0gYm9vdF9wYXJhbXMuaXN0X2luZm87CisJaWYgKGJvb3RfcGFyYW1zLnN5c19kZXNjX3RhYmxlLmxlbmd0aCAhPSAwKSB7CisJCXNldF9tY2FfYnVzKGJvb3RfcGFyYW1zLnN5c19kZXNjX3RhYmxlLnRhYmxlWzNdICYgMHgyKTsKKwkJbWFjaGluZV9pZCA9IGJvb3RfcGFyYW1zLnN5c19kZXNjX3RhYmxlLnRhYmxlWzBdOworCQltYWNoaW5lX3N1Ym1vZGVsX2lkID0gYm9vdF9wYXJhbXMuc3lzX2Rlc2NfdGFibGUudGFibGVbMV07CisJCUJJT1NfcmV2aXNpb24gPSBib290X3BhcmFtcy5zeXNfZGVzY190YWJsZS50YWJsZVsyXTsKKwl9CisjZW5kaWYKKwlzYXZlZF92aWRlb19tb2RlID0gYm9vdF9wYXJhbXMuaGRyLnZpZF9tb2RlOworCWJvb3Rsb2FkZXJfdHlwZSA9IGJvb3RfcGFyYW1zLmhkci50eXBlX29mX2xvYWRlcjsKKworI2lmZGVmIENPTkZJR19CTEtfREVWX1JBTQorCXJkX2ltYWdlX3N0YXJ0ID0gYm9vdF9wYXJhbXMuaGRyLnJhbV9zaXplICYgUkFNRElTS19JTUFHRV9TVEFSVF9NQVNLOworCXJkX3Byb21wdCA9ICgoYm9vdF9wYXJhbXMuaGRyLnJhbV9zaXplICYgUkFNRElTS19QUk9NUFRfRkxBRykgIT0gMCk7CisJcmRfZG9sb2FkID0gKChib290X3BhcmFtcy5oZHIucmFtX3NpemUgJiBSQU1ESVNLX0xPQURfRkxBRykgIT0gMCk7CisjZW5kaWYKKyNpZmRlZiBDT05GSUdfRUZJCisJaWYgKCFzdHJuY21wKChjaGFyICopJmJvb3RfcGFyYW1zLmVmaV9pbmZvLmVmaV9sb2FkZXJfc2lnbmF0dXJlLAorI2lmZGVmIENPTkZJR19YODZfMzIKKwkJICAgICAiRUwzMiIsCisjZWxzZQorCQkgICAgICJFTDY0IiwKKyNlbmRpZgorCSA0KSkgeworCQllZmlfZW5hYmxlZCA9IDE7CisJCWVmaV9yZXNlcnZlX2Vhcmx5KCk7CisJfQorI2VuZGlmCisKKwlBUkNIX1NFVFVQCisKKwlzZXR1cF9tZW1vcnlfbWFwKCk7CisJcGFyc2Vfc2V0dXBfZGF0YSgpOworCS8qIHVwZGF0ZSB0aGUgZTgyMF9zYXZlZCB0b28gKi8KKwllODIwX3Jlc2VydmVfc2V0dXBfZGF0YSgpOworCisJY29weV9lZGQoKTsKKworCWlmICghYm9vdF9wYXJhbXMuaGRyLnJvb3RfZmxhZ3MpCisJCXJvb3RfbW91bnRmbGFncyAmPSB+TVNfUkRPTkxZOworCWluaXRfbW0uc3RhcnRfY29kZSA9ICh1bnNpZ25lZCBsb25nKSBfdGV4dDsKKwlpbml0X21tLmVuZF9jb2RlID0gKHVuc2lnbmVkIGxvbmcpIF9ldGV4dDsKKwlpbml0X21tLmVuZF9kYXRhID0gKHVuc2lnbmVkIGxvbmcpIF9lZGF0YTsKKyNpZmRlZiBDT05GSUdfWDg2XzMyCisJaW5pdF9tbS5icmsgPSBpbml0X3BnX3RhYmxlc19lbmQgKyBQQUdFX09GRlNFVDsKKyNlbHNlCisJaW5pdF9tbS5icmsgPSAodW5zaWduZWQgbG9uZykgJl9lbmQ7CisjZW5kaWYKKworCWNvZGVfcmVzb3VyY2Uuc3RhcnQgPSB2aXJ0X3RvX3BoeXMoX3RleHQpOworCWNvZGVfcmVzb3VyY2UuZW5kID0gdmlydF90b19waHlzKF9ldGV4dCktMTsKKwlkYXRhX3Jlc291cmNlLnN0YXJ0ID0gdmlydF90b19waHlzKF9ldGV4dCk7CisJZGF0YV9yZXNvdXJjZS5lbmQgPSB2aXJ0X3RvX3BoeXMoX2VkYXRhKS0xOworCWJzc19yZXNvdXJjZS5zdGFydCA9IHZpcnRfdG9fcGh5cygmX19ic3Nfc3RhcnQpOworCWJzc19yZXNvdXJjZS5lbmQgPSB2aXJ0X3RvX3BoeXMoJl9fYnNzX3N0b3ApLTE7CisKICNpZmRlZiBDT05GSUdfWDg2XzY0Ci0JCWNwdV9wZGEoaSktPmRhdGFfb2Zmc2V0ID0gcHRyIC0gX19wZXJfY3B1X3N0YXJ0OwotI2Vsc2UKLQkJX19wZXJfY3B1X29mZnNldFtpXSA9IHB0ciAtIF9fcGVyX2NwdV9zdGFydDsKKwllYXJseV9jcHVfaW5pdCgpOwogI2VuZGlmCi0JCW1lbWNweShwdHIsIF9fcGVyX2NwdV9zdGFydCwgX19wZXJfY3B1X2VuZCAtIF9fcGVyX2NwdV9zdGFydCk7CisJc3RybGNweShjb21tYW5kX2xpbmUsIGJvb3RfY29tbWFuZF9saW5lLCBDT01NQU5EX0xJTkVfU0laRSk7CisJKmNtZGxpbmVfcCA9IGNvbW1hbmRfbGluZTsKIAotCQloaWdoZXN0X2NwdSA9IGk7CisJcGFyc2VfZWFybHlfcGFyYW0oKTsKKworCS8qIGFmdGVyIGVhcmx5IHBhcmFtLCBzbyBjb3VsZCBnZXQgcGFuaWMgZnJvbSBzZXJpYWwgKi8KKwlyZXNlcnZlX2Vhcmx5X3NldHVwX2RhdGEoKTsKKworCWlmIChhY3BpX21wc19jaGVjaygpKSB7CisjaWZkZWYgQ09ORklHX1g4Nl9MT0NBTF9BUElDCisJCWRpc2FibGVfYXBpYyA9IDE7CisjZW5kaWYKKwkJY2xlYXJfY3B1X2NhcCgmYm9vdF9jcHVfZGF0YSwgWDg2X0ZFQVRVUkVfQVBJQyk7CiAJfQogCi0JbnJfY3B1X2lkcyA9IGhpZ2hlc3RfY3B1ICsgMTsKLQlwcmludGsoS0VSTl9ERUJVRyAiTlJfQ1BVUzogJWQsIG5yX2NwdV9pZHM6ICVkXG4iLCBOUl9DUFVTLCBucl9jcHVfaWRzKTsKKwlmaW5pc2hfZTgyMF9wYXJzaW5nKCk7CiAKLQkvKiBTZXR1cCBwZXJjcHUgZGF0YSBtYXBzICovCi0Jc2V0dXBfcGVyX2NwdV9tYXBzKCk7Ci0KLQkvKiBTZXR1cCBjcHVtYXNrX29mX2NwdSBtYXAgKi8KLQlzZXR1cF9jcHVtYXNrX29mX2NwdSgpOwotfQotCisjaWZkZWYgQ09ORklHX1g4Nl8zMgorCXByb2JlX3JvbXMoKTsKICNlbmRpZgorCisJLyogYWZ0ZXIgcGFyc2VfZWFybHlfcGFyYW0sIHNvIGNvdWxkIGRlYnVnIGl0ICovCisJaW5zZXJ0X3Jlc291cmNlKCZpb21lbV9yZXNvdXJjZSwgJmNvZGVfcmVzb3VyY2UpOworCWluc2VydF9yZXNvdXJjZSgmaW9tZW1fcmVzb3VyY2UsICZkYXRhX3Jlc291cmNlKTsKKwlpbnNlcnRfcmVzb3VyY2UoJmlvbWVtX3Jlc291cmNlLCAmYnNzX3Jlc291cmNlKTsKKworCWlmIChlZmlfZW5hYmxlZCkKKwkJZWZpX2luaXQoKTsKKworI2lmZGVmIENPTkZJR19YODZfMzIKKwlpZiAocHByb193aXRoX3JhbV9idWcoKSkgeworCQllODIwX3VwZGF0ZV9yYW5nZSgweDcwMDAwMDAwVUxMLCAweDQwMDAwVUxMLCBFODIwX1JBTSwKKwkJCQkgIEU4MjBfUkVTRVJWRUQpOworCQlzYW5pdGl6ZV9lODIwX21hcChlODIwLm1hcCwgQVJSQVlfU0laRShlODIwLm1hcCksICZlODIwLm5yX21hcCk7CisJCXByaW50ayhLRVJOX0lORk8gImZpeGVkIHBoeXNpY2FsIFJBTSBtYXA6XG4iKTsKKwkJZTgyMF9wcmludF9tYXAoImJhZF9wcHJvIik7CisJfQorI2Vsc2UKKwllYXJseV9nYXJ0X2lvbW11X2NoZWNrKCk7CisjZW5kaWYKKworCS8qCisJICogcGFydGlhbGx5IHVzZWQgcGFnZXMgYXJlIG5vdCB1c2FibGUgLSB0aHVzCisJICogd2UgYXJlIHJvdW5kaW5nIHVwd2FyZHM6CisJICovCisJbWF4X3BmbiA9IGU4MjBfZW5kX29mX3JhbV9wZm4oKTsKKworCS8qIHByZWFsbG9jYXRlIDRrIGZvciBtcHRhYmxlIG1wYyAqLworCWVhcmx5X3Jlc2VydmVfZTgyMF9tcGNfbmV3KCk7CisJLyogdXBkYXRlIGU4MjAgZm9yIG1lbW9yeSBub3QgY292ZXJlZCBieSBXQiBNVFJScyAqLworCW10cnJfYnBfaW5pdCgpOworCWlmIChtdHJyX3RyaW1fdW5jYWNoZWRfbWVtb3J5KG1heF9wZm4pKQorCQltYXhfcGZuID0gZTgyMF9lbmRfb2ZfcmFtX3BmbigpOworCisjaWZkZWYgQ09ORklHX1g4Nl8zMgorCS8qIG1heF9sb3dfcGZuIGdldCB1cGRhdGVkIGhlcmUgKi8KKwlmaW5kX2xvd19wZm5fcmFuZ2UoKTsKKyNlbHNlCisJbnVtX3BoeXNwYWdlcyA9IG1heF9wZm47CisKKwljaGVja19lZmVyKCk7CisKKwkvKiBIb3cgbWFueSBlbmQtb2YtbWVtb3J5IHZhcmlhYmxlcyB5b3UgaGF2ZSwgZ3JhbmRtYSEgKi8KKwkvKiBuZWVkIHRoaXMgYmVmb3JlIGNhbGxpbmcgcmVzZXJ2ZV9pbml0cmQgKi8KKwlpZiAobWF4X3BmbiA+ICgxVUw8PCgzMiAtIFBBR0VfU0hJRlQpKSkKKwkJbWF4X2xvd19wZm4gPSBlODIwX2VuZF9vZl9sb3dfcmFtX3BmbigpOworCWVsc2UKKwkJbWF4X2xvd19wZm4gPSBtYXhfcGZuOworCisJaGlnaF9tZW1vcnkgPSAodm9pZCAqKV9fdmEobWF4X3BmbiAqIFBBR0VfU0laRSAtIDEpICsgMTsKKyNlbmRpZgorCisJLyogbWF4X3Bmbl9tYXBwZWQgaXMgdXBkYXRlZCBoZXJlICovCisJbWF4X2xvd19wZm5fbWFwcGVkID0gaW5pdF9tZW1vcnlfbWFwcGluZygwLCBtYXhfbG93X3Bmbjw8UEFHRV9TSElGVCk7CisJbWF4X3Bmbl9tYXBwZWQgPSBtYXhfbG93X3Bmbl9tYXBwZWQ7CisKKyNpZmRlZiBDT05GSUdfWDg2XzY0CisJaWYgKG1heF9wZm4gPiBtYXhfbG93X3BmbikgeworCQltYXhfcGZuX21hcHBlZCA9IGluaXRfbWVtb3J5X21hcHBpbmcoMVVMPDwzMiwKKwkJCQkJCSAgICAgbWF4X3Bmbjw8UEFHRV9TSElGVCk7CisJCS8qIGNhbiB3ZSBwcmVzZXZlIG1heF9sb3dfcGZuID8qLworCQltYXhfbG93X3BmbiA9IG1heF9wZm47CisJfQorI2VuZGlmCisKKwkvKgorCSAqIE5PVEU6IE9uIHg4Ni0zMiwgb25seSBmcm9tIHRoaXMgcG9pbnQgb24sIGZpeG1hcHMgYXJlIHJlYWR5IGZvciB1c2UuCisJICovCisKKyNpZmRlZiBDT05GSUdfUFJPVklERV9PSENJMTM5NF9ETUFfSU5JVAorCWlmIChpbml0X29oY2kxMzk0X2RtYV9lYXJseSkKKwkJaW5pdF9vaGNpMTM5NF9kbWFfb25fYWxsX2NvbnRyb2xsZXJzKCk7CisjZW5kaWYKKworCXJlc2VydmVfaW5pdHJkKCk7CisKKyNpZmRlZiBDT05GSUdfWDg2XzY0CisJdnNtcF9pbml0KCk7CisjZW5kaWYKKworCWRtaV9zY2FuX21hY2hpbmUoKTsKKworCWlvX2RlbGF5X2luaXQoKTsKKworCS8qCisJICogUGFyc2UgdGhlIEFDUEkgdGFibGVzIGZvciBwb3NzaWJsZSBib290LXRpbWUgU01QIGNvbmZpZ3VyYXRpb24uCisJICovCisJYWNwaV9ib290X3RhYmxlX2luaXQoKTsKKworI2lmZGVmIENPTkZJR19BQ1BJX05VTUEKKwkvKgorCSAqIFBhcnNlIFNSQVQgdG8gZGlzY292ZXIgbm9kZXMuCisJICovCisJYWNwaV9udW1hX2luaXQoKTsKKyNlbmRpZgorCisJaW5pdG1lbV9pbml0KDAsIG1heF9wZm4pOworCisjaWZkZWYgQ09ORklHX1g4Nl82NAorCWRtYTMyX3Jlc2VydmVfYm9vdG1lbSgpOworI2VuZGlmCisKKyNpZmRlZiBDT05GSUdfQUNQSV9TTEVFUAorCS8qCisJICogUmVzZXJ2ZSBsb3cgbWVtb3J5IHJlZ2lvbiBmb3Igc2xlZXAgc3VwcG9ydC4KKwkgKi8KKwlhY3BpX3Jlc2VydmVfYm9vdG1lbSgpOworI2VuZGlmCisjaWZkZWYgQ09ORklHX1g4Nl9GSU5EX1NNUF9DT05GSUcKKwkvKgorCSAqIEZpbmQgYW5kIHJlc2VydmUgcG9zc2libGUgYm9vdC10aW1lIFNNUCBjb25maWd1cmF0aW9uOgorCSAqLworCWZpbmRfc21wX2NvbmZpZygpOworI2VuZGlmCisJcmVzZXJ2ZV9jcmFzaGtlcm5lbCgpOworCisJcmVzZXJ2ZV9pYmZ0X3JlZ2lvbigpOworCisjaWZkZWYgQ09ORklHX0tWTV9DTE9DSworCWt2bWNsb2NrX2luaXQoKTsKKyNlbmRpZgorCisjaWYgZGVmaW5lZChDT05GSUdfVk1JKSAmJiBkZWZpbmVkKENPTkZJR19YODZfMzIpCisJLyoKKwkgKiBNdXN0IGJlIGFmdGVyIG1heF9sb3dfcGZuIGlzIGRldGVybWluZWQsIGFuZCBiZWZvcmUga2VybmVsCisJICogcGFnZXRhYmxlcyBhcmUgc2V0dXAuCisJICovCisJdm1pX2luaXQoKTsKKyNlbmRpZgorCisJcGFnaW5nX2luaXQoKTsKKworI2lmZGVmIENPTkZJR19YODZfNjQKKwltYXBfdnN5c2NhbGwoKTsKKyNlbmRpZgorCisjaWZkZWYgQ09ORklHX1g4Nl9HRU5FUklDQVJDSAorCWdlbmVyaWNfYXBpY19wcm9iZSgpOworI2VuZGlmCisKKwllYXJseV9xdWlya3MoKTsKKworCS8qCisJICogUmVhZCBBUElDIGFuZCBzb21lIG90aGVyIGVhcmx5IGluZm9ybWF0aW9uIGZyb20gQUNQSSB0YWJsZXMuCisJICovCisJYWNwaV9ib290X2luaXQoKTsKKworI2lmIGRlZmluZWQoQ09ORklHX1g4Nl9NUFBBUlNFKSB8fCBkZWZpbmVkKENPTkZJR19YODZfVklTV1MpCisJLyoKKwkgKiBnZXQgYm9vdC10aW1lIFNNUCBjb25maWd1cmF0aW9uOgorCSAqLworCWlmIChzbXBfZm91bmRfY29uZmlnKQorCQlnZXRfc21wX2NvbmZpZygpOworI2VuZGlmCisKKwlwcmVmaWxsX3Bvc3NpYmxlX21hcCgpOworI2lmZGVmIENPTkZJR19YODZfNjQKKwlpbml0X2NwdV90b19ub2RlKCk7CisjZW5kaWYKKworI2lmZGVmIENPTkZJR19YODZfTlVNQVEKKwkvKgorCSAqIG5lZWQgdG8gY2hlY2sgb25saW5lIG5vZGVzIG51bSwgY2FsbCBpdAorCSAqIGhlcmUgYmVmb3JlIHRpbWVfaW5pdC90c2NfaW5pdAorCSAqLworCW51bWFxX3RzY19kaXNhYmxlKCk7CisjZW5kaWYKKworCWluaXRfYXBpY19tYXBwaW5ncygpOworCWlvYXBpY19pbml0X21hcHBpbmdzKCk7CisKKyNpZiBkZWZpbmVkKENPTkZJR19TTVApICYmIGRlZmluZWQoQ09ORklHX1g4Nl9QQykgJiYgZGVmaW5lZChDT05GSUdfWDg2XzMyKQorCWlmIChkZWZfdG9fYmlnc21wKQorCQlwcmludGsoS0VSTl9XQVJOSU5HICJNb3JlIHRoYW4gOCBDUFVzIGRldGVjdGVkIGFuZCAiCisJCQkiQ09ORklHX1g4Nl9QQyBjYW5ub3QgaGFuZGxlIGl0LlxuVXNlICIKKwkJCSJDT05GSUdfWDg2X0dFTkVSSUNBUkNIIG9yIENPTkZJR19YODZfQklHU01QLlxuIik7CisjZW5kaWYKKwlrdm1fZ3Vlc3RfaW5pdCgpOworCisJZTgyMF9yZXNlcnZlX3Jlc291cmNlcygpOworCWU4MjBfbWFya19ub3NhdmVfcmVnaW9ucyhtYXhfbG93X3Bmbik7CisKKyNpZmRlZiBDT05GSUdfWDg2XzMyCisJcmVxdWVzdF9yZXNvdXJjZSgmaW9tZW1fcmVzb3VyY2UsICZ2aWRlb19yYW1fcmVzb3VyY2UpOworI2VuZGlmCisJcmVzZXJ2ZV9zdGFuZGFyZF9pb19yZXNvdXJjZXMoKTsKKworCWU4MjBfc2V0dXBfZ2FwKCk7CisKKyNpZmRlZiBDT05GSUdfVlQKKyNpZiBkZWZpbmVkKENPTkZJR19WR0FfQ09OU09MRSkKKwlpZiAoIWVmaV9lbmFibGVkIHx8IChlZmlfbWVtX3R5cGUoMHhhMDAwMCkgIT0gRUZJX0NPTlZFTlRJT05BTF9NRU1PUlkpKQorCQljb25zd2l0Y2hwID0gJnZnYV9jb247CisjZWxpZiBkZWZpbmVkKENPTkZJR19EVU1NWV9DT05TT0xFKQorCWNvbnN3aXRjaHAgPSAmZHVtbXlfY29uOworI2VuZGlmCisjZW5kaWYKK30KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9zZXR1cDY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvc2V0dXA2NC5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZWUwZTgyLi4wMDAwMDAwCi0tLSBhL2FyY2gveDg2L2tlcm5lbC9zZXR1cDY0LmMKKysrIC9kZXYvbnVsbApAQCAtMSwyODcgKzAsMCBAQAotLyogCi0gKiBYODYtNjQgc3BlY2lmaWMgQ1BVIHNldHVwLgotICogQ29weXJpZ2h0IChDKSAxOTk1ICBMaW51cyBUb3J2YWxkcwotICogQ29weXJpZ2h0IDIwMDEsIDIwMDIsIDIwMDMgU3VTRSBMYWJzIC8gQW5kaSBLbGVlbi4KLSAqIFNlZSBzZXR1cC5jIGZvciBvbGRlciBjaGFuZ2Vsb2cuCi0gKi8gCi0jaW5jbHVkZSA8bGludXgvaW5pdC5oPgotI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgotI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+Ci0jaW5jbHVkZSA8bGludXgvc3RyaW5nLmg+Ci0jaW5jbHVkZSA8bGludXgvYm9vdG1lbS5oPgotI2luY2x1ZGUgPGxpbnV4L2JpdG9wcy5oPgotI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgotI2luY2x1ZGUgPGxpbnV4L2tnZGIuaD4KLSNpbmNsdWRlIDxhc20vcGRhLmg+Ci0jaW5jbHVkZSA8YXNtL3BndGFibGUuaD4KLSNpbmNsdWRlIDxhc20vcHJvY2Vzc29yLmg+Ci0jaW5jbHVkZSA8YXNtL2Rlc2MuaD4KLSNpbmNsdWRlIDxhc20vYXRvbWljLmg+Ci0jaW5jbHVkZSA8YXNtL21tdV9jb250ZXh0Lmg+Ci0jaW5jbHVkZSA8YXNtL3NtcC5oPgotI2luY2x1ZGUgPGFzbS9pMzg3Lmg+Ci0jaW5jbHVkZSA8YXNtL3BlcmNwdS5oPgotI2luY2x1ZGUgPGFzbS9wcm90by5oPgotI2luY2x1ZGUgPGFzbS9zZWN0aW9ucy5oPgotI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgotI2luY2x1ZGUgPGFzbS9nZW5hcGljLmg+Ci0KLSNpZm5kZWYgQ09ORklHX0RFQlVHX0JPT1RfUEFSQU1TCi1zdHJ1Y3QgYm9vdF9wYXJhbXMgX19pbml0ZGF0YSBib290X3BhcmFtczsKLSNlbHNlCi1zdHJ1Y3QgYm9vdF9wYXJhbXMgYm9vdF9wYXJhbXM7Ci0jZW5kaWYKLQotY3B1bWFza190IGNwdV9pbml0aWFsaXplZCBfX2NwdWluaXRkYXRhID0gQ1BVX01BU0tfTk9ORTsKLQotc3RydWN0IHg4NjY0X3BkYSAqX2NwdV9wZGFbTlJfQ1BVU10gX19yZWFkX21vc3RseTsKLUVYUE9SVF9TWU1CT0woX2NwdV9wZGEpOwotc3RydWN0IHg4NjY0X3BkYSBib290X2NwdV9wZGFbTlJfQ1BVU10gX19jYWNoZWxpbmVfYWxpZ25lZDsKLQotc3RydWN0IGRlc2NfcHRyIGlkdF9kZXNjciA9IHsgMjU2ICogMTYgLSAxLCAodW5zaWduZWQgbG9uZykgaWR0X3RhYmxlIH07Ci0KLWNoYXIgYm9vdF9jcHVfc3RhY2tbSVJRU1RBQ0tTSVpFXSBfX2F0dHJpYnV0ZV9fKChzZWN0aW9uKCIuYnNzLnBhZ2VfYWxpZ25lZCIpKSk7Ci0KLXVuc2lnbmVkIGxvbmcgX19zdXBwb3J0ZWRfcHRlX21hc2sgX19yZWFkX21vc3RseSA9IH4wVUw7Ci1FWFBPUlRfU1lNQk9MX0dQTChfX3N1cHBvcnRlZF9wdGVfbWFzayk7Ci0KLXN0YXRpYyBpbnQgZG9fbm90X254IF9fY3B1aW5pdGRhdGEgPSAwOwotCi0vKiBub2V4ZWM9b258b2ZmCi1Db250cm9sIG5vbiBleGVjdXRhYmxlIG1hcHBpbmdzIGZvciA2NGJpdCBwcm9jZXNzZXMuCi0KLW9uCUVuYWJsZShkZWZhdWx0KQotb2ZmCURpc2FibGUKLSovIAotc3RhdGljIGludCBfX2luaXQgbm9ueF9zZXR1cChjaGFyICpzdHIpCi17Ci0JaWYgKCFzdHIpCi0JCXJldHVybiAtRUlOVkFMOwotCWlmICghc3RybmNtcChzdHIsICJvbiIsIDIpKSB7Ci0gICAgICAgICAgICAgICAgX19zdXBwb3J0ZWRfcHRlX21hc2sgfD0gX1BBR0VfTlg7IAotIAkJZG9fbm90X254ID0gMDsgCi0JfSBlbHNlIGlmICghc3RybmNtcChzdHIsICJvZmYiLCAzKSkgewotCQlkb19ub3RfbnggPSAxOwotCQlfX3N1cHBvcnRlZF9wdGVfbWFzayAmPSB+X1BBR0VfTlg7Ci0gICAgICAgIH0KLQlyZXR1cm4gMDsKLX0gCi1lYXJseV9wYXJhbSgibm9leGVjIiwgbm9ueF9zZXR1cCk7Ci0KLWludCBmb3JjZV9wZXJzb25hbGl0eTMyID0gMDsgCi0KLS8qIG5vZXhlYzMyPW9ufG9mZgotQ29udHJvbCBub24gZXhlY3V0YWJsZSBoZWFwIGZvciAzMmJpdCBwcm9jZXNzZXMuCi1UbyBjb250cm9sIHRoZSBzdGFjayB0b28gdXNlIG5vZXhlYz1vZmYKLQotb24JUFJPVF9SRUFEIGRvZXMgbm90IGltcGx5IFBST1RfRVhFQyBmb3IgMzJiaXQgcHJvY2Vzc2VzIChkZWZhdWx0KQotb2ZmCVBST1RfUkVBRCBpbXBsaWVzIFBST1RfRVhFQwotKi8KLXN0YXRpYyBpbnQgX19pbml0IG5vbngzMl9zZXR1cChjaGFyICpzdHIpCi17Ci0JaWYgKCFzdHJjbXAoc3RyLCAib24iKSkKLQkJZm9yY2VfcGVyc29uYWxpdHkzMiAmPSB+UkVBRF9JTVBMSUVTX0VYRUM7Ci0JZWxzZSBpZiAoIXN0cmNtcChzdHIsICJvZmYiKSkKLQkJZm9yY2VfcGVyc29uYWxpdHkzMiB8PSBSRUFEX0lNUExJRVNfRVhFQzsKLQlyZXR1cm4gMTsKLX0KLV9fc2V0dXAoIm5vZXhlYzMyPSIsIG5vbngzMl9zZXR1cCk7Ci0KLXZvaWQgcGRhX2luaXQoaW50IGNwdSkKLXsgCi0Jc3RydWN0IHg4NjY0X3BkYSAqcGRhID0gY3B1X3BkYShjcHUpOwotCi0JLyogU2V0dXAgdXAgZGF0YSB0aGF0IG1heSBiZSBuZWVkZWQgaW4gX19nZXRfZnJlZV9wYWdlcyBlYXJseSAqLwotCWFzbSB2b2xhdGlsZSgibW92bCAlMCwlJWZzIDsgbW92bCAlMCwlJWdzIiA6OiAiciIgKDApKTsgCi0JLyogTWVtb3J5IGNsb2JiZXJzIHVzZWQgdG8gb3JkZXIgUERBIGFjY2Vzc2VkICovCi0JbWIoKTsKLQl3cm1zcmwoTVNSX0dTX0JBU0UsIHBkYSk7Ci0JbWIoKTsKLQotCXBkYS0+Y3B1bnVtYmVyID0gY3B1OyAKLQlwZGEtPmlycWNvdW50ID0gLTE7Ci0JcGRhLT5rZXJuZWxzdGFjayA9IAotCQkodW5zaWduZWQgbG9uZylzdGFja190aHJlYWRfaW5mbygpIC0gUERBX1NUQUNLT0ZGU0VUICsgVEhSRUFEX1NJWkU7IAotCXBkYS0+YWN0aXZlX21tID0gJmluaXRfbW07Ci0JcGRhLT5tbXVfc3RhdGUgPSAwOwotCi0JaWYgKGNwdSA9PSAwKSB7Ci0JCS8qIG90aGVycyBhcmUgaW5pdGlhbGl6ZWQgaW4gc21wYm9vdC5jICovCi0JCXBkYS0+cGN1cnJlbnQgPSAmaW5pdF90YXNrOwotCQlwZGEtPmlycXN0YWNrcHRyID0gYm9vdF9jcHVfc3RhY2s7IAotCX0gZWxzZSB7Ci0JCXBkYS0+aXJxc3RhY2twdHIgPSAoY2hhciAqKQotCQkJX19nZXRfZnJlZV9wYWdlcyhHRlBfQVRPTUlDLCBJUlFTVEFDS19PUkRFUik7Ci0JCWlmICghcGRhLT5pcnFzdGFja3B0cikKLQkJCXBhbmljKCJjYW5ub3QgYWxsb2NhdGUgaXJxc3RhY2sgZm9yIGNwdSAlZCIsIGNwdSk7IAotCX0KLQotCi0JcGRhLT5pcnFzdGFja3B0ciArPSBJUlFTVEFDS1NJWkUtNjQ7Ci19IAotCi1jaGFyIGJvb3RfZXhjZXB0aW9uX3N0YWNrc1soTl9FWENFUFRJT05fU1RBQ0tTIC0gMSkgKiBFWENFUFRJT05fU1RLU1ogKyBERUJVR19TVEtTWl0KLV9fYXR0cmlidXRlX18oKHNlY3Rpb24oIi5ic3MucGFnZV9hbGlnbmVkIikpKTsKLQotZXh0ZXJuIGFzbWxpbmthZ2Ugdm9pZCBpZ25vcmVfc3lzcmV0KHZvaWQpOwotCi0vKiBNYXkgbm90IGJlIG1hcmtlZCBfX2luaXQ6IHVzZWQgYnkgc29mdHdhcmUgc3VzcGVuZCAqLwotdm9pZCBzeXNjYWxsX2luaXQodm9pZCkKLXsKLQkvKiAKLQkgKiBMU1RBUiBhbmQgU1RBUiBsaXZlIGluIGEgYml0IHN0cmFuZ2Ugc3ltYmlvc2lzLgotCSAqIFRoZXkgYm90aCB3cml0ZSB0byB0aGUgc2FtZSBpbnRlcm5hbCByZWdpc3Rlci4gU1RBUiBhbGxvd3MgdG8gc2V0IENTL0RTCi0JICogYnV0IG9ubHkgYSAzMmJpdCB0YXJnZXQuIExTVEFSIHNldHMgdGhlIDY0Yml0IHJpcC4gCSAKLQkgKi8gCi0Jd3Jtc3JsKE1TUl9TVEFSLCAgKCh1NjQpX19VU0VSMzJfQ1MpPDw0OCAgfCAoKHU2NClfX0tFUk5FTF9DUyk8PDMyKTsgCi0Jd3Jtc3JsKE1TUl9MU1RBUiwgc3lzdGVtX2NhbGwpOyAKLQl3cm1zcmwoTVNSX0NTVEFSLCBpZ25vcmVfc3lzcmV0KTsKLQotI2lmZGVmIENPTkZJR19JQTMyX0VNVUxBVElPTiAgIAkJCi0Jc3lzY2FsbDMyX2NwdV9pbml0ICgpOwotI2VuZGlmCi0KLQkvKiBGbGFncyB0byBjbGVhciBvbiBzeXNjYWxsICovCi0Jd3Jtc3JsKE1TUl9TWVNDQUxMX01BU0ssCi0JICAgICAgIFg4Nl9FRkxBR1NfVEZ8WDg2X0VGTEFHU19ERnxYODZfRUZMQUdTX0lGfFg4Nl9FRkxBR1NfSU9QTCk7Ci19Ci0KLXZvaWQgX19jcHVpbml0IGNoZWNrX2VmZXIodm9pZCkKLXsKLQl1bnNpZ25lZCBsb25nIGVmZXI7Ci0KLQlyZG1zcmwoTVNSX0VGRVIsIGVmZXIpOyAKLSAgICAgICAgaWYgKCEoZWZlciAmIEVGRVJfTlgpIHx8IGRvX25vdF9ueCkgeyAKLSAgICAgICAgICAgICAgICBfX3N1cHBvcnRlZF9wdGVfbWFzayAmPSB+X1BBR0VfTlg7IAotICAgICAgICB9ICAgICAgIAotfQotCi11bnNpZ25lZCBsb25nIGtlcm5lbF9lZmxhZ3M7Ci0KLS8qCi0gKiBDb3BpZXMgb2YgdGhlIG9yaWdpbmFsIGlzdCB2YWx1ZXMgZnJvbSB0aGUgdHNzIGFyZSBvbmx5IGFjY2Vzc2VkIGR1cmluZwotICogZGVidWdnaW5nLCBubyBzcGVjaWFsIGFsaWdubWVudCByZXF1aXJlZC4KLSAqLwotREVGSU5FX1BFUl9DUFUoc3RydWN0IG9yaWdfaXN0LCBvcmlnX2lzdCk7Ci0KLS8qCi0gKiBjcHVfaW5pdCgpIGluaXRpYWxpemVzIHN0YXRlIHRoYXQgaXMgcGVyLUNQVS4gU29tZSBkYXRhIGlzIGFscmVhZHkKLSAqIGluaXRpYWxpemVkIChuYXR1cmFsbHkpIGluIHRoZSBib290c3RyYXAgcHJvY2Vzcywgc3VjaCBhcyB0aGUgR0RUCi0gKiBhbmQgSURULiBXZSByZWxvYWQgdGhlbSBuZXZlcnRoZWxlc3MsIHRoaXMgZnVuY3Rpb24gYWN0cyBhcyBhCi0gKiAnQ1BVIHN0YXRlIGJhcnJpZXInLCBub3RoaW5nIHNob3VsZCBnZXQgYWNyb3NzLgotICogQSBsb3Qgb2Ygc3RhdGUgaXMgYWxyZWFkeSBzZXQgdXAgaW4gUERBIGluaXQuCi0gKi8KLXZvaWQgX19jcHVpbml0IGNwdV9pbml0ICh2b2lkKQotewotCWludCBjcHUgPSBzdGFja19zbXBfcHJvY2Vzc29yX2lkKCk7Ci0Jc3RydWN0IHRzc19zdHJ1Y3QgKnQgPSAmcGVyX2NwdShpbml0X3RzcywgY3B1KTsKLQlzdHJ1Y3Qgb3JpZ19pc3QgKm9yaWdfaXN0ID0gJnBlcl9jcHUob3JpZ19pc3QsIGNwdSk7Ci0JdW5zaWduZWQgbG9uZyB2OyAKLQljaGFyICplc3RhY2tzID0gTlVMTDsgCi0Jc3RydWN0IHRhc2tfc3RydWN0ICptZTsKLQlpbnQgaTsKLQotCS8qIENQVSAwIGlzIGluaXRpYWxpc2VkIGluIGhlYWQ2NC5jICovCi0JaWYgKGNwdSAhPSAwKSB7Ci0JCXBkYV9pbml0KGNwdSk7Ci0JfSBlbHNlIAotCQllc3RhY2tzID0gYm9vdF9leGNlcHRpb25fc3RhY2tzOyAKLQotCW1lID0gY3VycmVudDsKLQotCWlmIChjcHVfdGVzdF9hbmRfc2V0KGNwdSwgY3B1X2luaXRpYWxpemVkKSkKLQkJcGFuaWMoIkNQVSMlZCBhbHJlYWR5IGluaXRpYWxpemVkIVxuIiwgY3B1KTsKLQotCXByaW50aygiSW5pdGlhbGl6aW5nIENQVSMlZFxuIiwgY3B1KTsKLQotCWNsZWFyX2luX2NyNChYODZfQ1I0X1ZNRXxYODZfQ1I0X1BWSXxYODZfQ1I0X1RTRHxYODZfQ1I0X0RFKTsKLQotCS8qCi0JICogSW5pdGlhbGl6ZSB0aGUgcGVyLUNQVSBHRFQgd2l0aCB0aGUgYm9vdCBHRFQsCi0JICogYW5kIHNldCB1cCB0aGUgR0RUIGRlc2NyaXB0b3I6Ci0JICovCi0JaWYgKGNwdSkKLQkJbWVtY3B5KGdldF9jcHVfZ2R0X3RhYmxlKGNwdSksIGNwdV9nZHRfdGFibGUsIEdEVF9TSVpFKTsKLQotCWNwdV9nZHRfZGVzY3JbY3B1XS5zaXplID0gR0RUX1NJWkU7Ci0JbG9hZF9nZHQoKGNvbnN0IHN0cnVjdCBkZXNjX3B0ciAqKSZjcHVfZ2R0X2Rlc2NyW2NwdV0pOwotCWxvYWRfaWR0KChjb25zdCBzdHJ1Y3QgZGVzY19wdHIgKikmaWR0X2Rlc2NyKTsKLQotCW1lbXNldChtZS0+dGhyZWFkLnRsc19hcnJheSwgMCwgR0RUX0VOVFJZX1RMU19FTlRSSUVTICogOCk7Ci0Jc3lzY2FsbF9pbml0KCk7Ci0KLQl3cm1zcmwoTVNSX0ZTX0JBU0UsIDApOwotCXdybXNybChNU1JfS0VSTkVMX0dTX0JBU0UsIDApOwotCWJhcnJpZXIoKTsgCi0KLQljaGVja19lZmVyKCk7Ci0KLQkvKgotCSAqIHNldCB1cCBhbmQgbG9hZCB0aGUgcGVyLUNQVSBUU1MKLQkgKi8KLQlmb3IgKHYgPSAwOyB2IDwgTl9FWENFUFRJT05fU1RBQ0tTOyB2KyspIHsKLQkJc3RhdGljIGNvbnN0IHVuc2lnbmVkIGludCBvcmRlcltOX0VYQ0VQVElPTl9TVEFDS1NdID0gewotCQkJWzAgLi4uIE5fRVhDRVBUSU9OX1NUQUNLUyAtIDFdID0gRVhDRVBUSU9OX1NUQUNLX09SREVSLAotCQkJW0RFQlVHX1NUQUNLIC0gMV0gPSBERUJVR19TVEFDS19PUkRFUgotCQl9OwotCQlpZiAoY3B1KSB7Ci0JCQllc3RhY2tzID0gKGNoYXIgKilfX2dldF9mcmVlX3BhZ2VzKEdGUF9BVE9NSUMsIG9yZGVyW3ZdKTsKLQkJCWlmICghZXN0YWNrcykKLQkJCQlwYW5pYygiQ2Fubm90IGFsbG9jYXRlIGV4Y2VwdGlvbiBzdGFjayAlbGQgJWRcbiIsCi0JCQkJICAgICAgdiwgY3B1KTsgCi0JCX0KLQkJZXN0YWNrcyArPSBQQUdFX1NJWkUgPDwgb3JkZXJbdl07Ci0JCW9yaWdfaXN0LT5pc3Rbdl0gPSB0LT54ODZfdHNzLmlzdFt2XSA9ICh1bnNpZ25lZCBsb25nKWVzdGFja3M7Ci0JfQotCi0JdC0+eDg2X3Rzcy5pb19iaXRtYXBfYmFzZSA9IG9mZnNldG9mKHN0cnVjdCB0c3Nfc3RydWN0LCBpb19iaXRtYXApOwotCS8qCi0JICogPD0gaXMgcmVxdWlyZWQgYmVjYXVzZSB0aGUgQ1BVIHdpbGwgYWNjZXNzIHVwIHRvCi0JICogOCBiaXRzIGJleW9uZCB0aGUgZW5kIG9mIHRoZSBJTyBwZXJtaXNzaW9uIGJpdG1hcC4KLQkgKi8KLQlmb3IgKGkgPSAwOyBpIDw9IElPX0JJVE1BUF9MT05HUzsgaSsrKQotCQl0LT5pb19iaXRtYXBbaV0gPSB+MFVMOwotCi0JYXRvbWljX2luYygmaW5pdF9tbS5tbV9jb3VudCk7Ci0JbWUtPmFjdGl2ZV9tbSA9ICZpbml0X21tOwotCWlmIChtZS0+bW0pCi0JCUJVRygpOwotCWVudGVyX2xhenlfdGxiKCZpbml0X21tLCBtZSk7Ci0KLQlzZXRfdHNzX2Rlc2MoY3B1LCB0KTsKLQlsb2FkX1RSX2Rlc2MoKTsKLQlsb2FkX0xEVCgmaW5pdF9tbS5jb250ZXh0KTsKLQotI2lmZGVmIENPTkZJR19LR0RCCi0JLyoKLQkgKiBJZiB0aGUga2dkYiBpcyBjb25uZWN0ZWQgbm8gZGVidWcgcmVncyBzaG91bGQgYmUgYWx0ZXJlZC4gIFRoaXMKLQkgKiBpcyBvbmx5IGFwcGxpY2FibGUgd2hlbiBLR0RCIGFuZCBhIEtHREIgSS9PIG1vZHVsZSBhcmUgYnVpbHQKLQkgKiBpbnRvIHRoZSBrZXJuZWwgYW5kIHlvdSBhcmUgdXNpbmcgZWFybHkgZGVidWdnaW5nIHdpdGgKLQkgKiBrZ2Rid2FpdC4gS0dEQiB3aWxsIGNvbnRyb2wgdGhlIGtlcm5lbCBIVyBicmVha3BvaW50IHJlZ2lzdGVycy4KLQkgKi8KLQlpZiAoa2dkYl9jb25uZWN0ZWQgJiYgYXJjaF9rZ2RiX29wcy5jb3JyZWN0X2h3X2JyZWFrKQotCQlhcmNoX2tnZGJfb3BzLmNvcnJlY3RfaHdfYnJlYWsoKTsKLQllbHNlIHsKLSNlbmRpZgotCS8qCi0JICogQ2xlYXIgYWxsIDYgZGVidWcgcmVnaXN0ZXJzOgotCSAqLwotCi0Jc2V0X2RlYnVncmVnKDBVTCwgMCk7Ci0Jc2V0X2RlYnVncmVnKDBVTCwgMSk7Ci0Jc2V0X2RlYnVncmVnKDBVTCwgMik7Ci0Jc2V0X2RlYnVncmVnKDBVTCwgMyk7Ci0Jc2V0X2RlYnVncmVnKDBVTCwgNik7Ci0Jc2V0X2RlYnVncmVnKDBVTCwgNyk7Ci0jaWZkZWYgQ09ORklHX0tHREIKLQkvKiBJZiB0aGUga2dkYiBpcyBjb25uZWN0ZWQgbm8gZGVidWcgcmVncyBzaG91bGQgYmUgYWx0ZXJlZC4gKi8KLQl9Ci0jZW5kaWYKLQotCWZwdV9pbml0KCk7IAotCi0JcmF3X2xvY2FsX3NhdmVfZmxhZ3Moa2VybmVsX2VmbGFncyk7Ci0KLQlpZiAoaXNfdXZfc3lzdGVtKCkpCi0JCXV2X2NwdV9pbml0KCk7Ci19CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvc2V0dXBfMzIuYyBiL2FyY2gveDg2L2tlcm5lbC9zZXR1cF8zMi5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1YTJmOGUwLi4wMDAwMDAwCi0tLSBhL2FyY2gveDg2L2tlcm5lbC9zZXR1cF8zMi5jCisrKyAvZGV2L251bGwKQEAgLTEsOTY0ICswLDAgQEAKLS8qCi0gKiAgQ29weXJpZ2h0IChDKSAxOTk1ICBMaW51cyBUb3J2YWxkcwotICoKLSAqICBTdXBwb3J0IG9mIEJJR01FTSBhZGRlZCBieSBHZXJoYXJkIFdpY2hlcnQsIFNpZW1lbnMgQUcsIEp1bHkgMTk5OQotICoKLSAqICBNZW1vcnkgcmVnaW9uIHN1cHBvcnQKLSAqCURhdmlkIFBhcnNvbnMgPG9yY0BwZWxsLmNoaS5pbC51cz4sIEp1bHktQXVndXN0IDE5OTkKLSAqCi0gKiAgQWRkZWQgRTgyMCBzYW5pdGl6YXRpb24gcm91dGluZSAocmVtb3ZlcyBvdmVybGFwcGluZyBtZW1vcnkgcmVnaW9ucyk7Ci0gKiAgQnJpYW4gTW95bGUgPGJtb3lsZUBtdmlzdGEuY29tPiwgRmVicnVhcnkgMjAwMQotICoKLSAqIE1vdmVkIENQVSBkZXRlY3Rpb24gY29kZSB0byBjcHUvJHtjcHV9LmMKLSAqICAgIFBhdHJpY2sgTW9jaGVsIDxtb2NoZWxAb3NkbC5vcmc+LCBNYXJjaCAyMDAyCi0gKgotICogIFByb3Zpc2lvbnMgZm9yIGVtcHR5IEU4MjAgbWVtb3J5IHJlZ2lvbnMgKHJlcG9ydGVkIGJ5IGNlcnRhaW4gQklPU2VzKS4KLSAqICBBbGV4IEFjaGVuYmFjaCA8eGVsYUBzbGl0LmRlPiwgRGVjZW1iZXIgMjAwMi4KLSAqCi0gKi8KLQotLyoKLSAqIFRoaXMgZmlsZSBoYW5kbGVzIHRoZSBhcmNoaXRlY3R1cmUtZGVwZW5kZW50IHBhcnRzIG9mIGluaXRpYWxpemF0aW9uCi0gKi8KLQotI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+Ci0jaW5jbHVkZSA8bGludXgvbW0uaD4KLSNpbmNsdWRlIDxsaW51eC9tbXpvbmUuaD4KLSNpbmNsdWRlIDxsaW51eC9zY3JlZW5faW5mby5oPgotI2luY2x1ZGUgPGxpbnV4L2lvcG9ydC5oPgotI2luY2x1ZGUgPGxpbnV4L2FjcGkuaD4KLSNpbmNsdWRlIDxsaW51eC9hcG1fYmlvcy5oPgotI2luY2x1ZGUgPGxpbnV4L2luaXRyZC5oPgotI2luY2x1ZGUgPGxpbnV4L2Jvb3RtZW0uaD4KLSNpbmNsdWRlIDxsaW51eC9zZXFfZmlsZS5oPgotI2luY2x1ZGUgPGxpbnV4L2NvbnNvbGUuaD4KLSNpbmNsdWRlIDxsaW51eC9tY2EuaD4KLSNpbmNsdWRlIDxsaW51eC9yb290X2Rldi5oPgotI2luY2x1ZGUgPGxpbnV4L2hpZ2htZW0uaD4KLSNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KLSNpbmNsdWRlIDxsaW51eC9lZmkuaD4KLSNpbmNsdWRlIDxsaW51eC9pbml0Lmg+Ci0jaW5jbHVkZSA8bGludXgvZWRkLmg+Ci0jaW5jbHVkZSA8bGludXgvaXNjc2lfaWJmdC5oPgotI2luY2x1ZGUgPGxpbnV4L25vZGVtYXNrLmg+Ci0jaW5jbHVkZSA8bGludXgva2V4ZWMuaD4KLSNpbmNsdWRlIDxsaW51eC9jcmFzaF9kdW1wLmg+Ci0jaW5jbHVkZSA8bGludXgvZG1pLmg+Ci0jaW5jbHVkZSA8bGludXgvcGZuLmg+Ci0jaW5jbHVkZSA8bGludXgvcGNpLmg+Ci0jaW5jbHVkZSA8bGludXgvaW5pdF9vaGNpMTM5NF9kbWEuaD4KLSNpbmNsdWRlIDxsaW51eC9rdm1fcGFyYS5oPgotCi0jaW5jbHVkZSA8dmlkZW8vZWRpZC5oPgotCi0jaW5jbHVkZSA8YXNtL210cnIuaD4KLSNpbmNsdWRlIDxhc20vYXBpYy5oPgotI2luY2x1ZGUgPGFzbS9lODIwLmg+Ci0jaW5jbHVkZSA8YXNtL21wc3BlYy5oPgotI2luY2x1ZGUgPGFzbS9tbXpvbmUuaD4KLSNpbmNsdWRlIDxhc20vc2V0dXAuaD4KLSNpbmNsdWRlIDxhc20vYXJjaF9ob29rcy5oPgotI2luY2x1ZGUgPGFzbS9zZWN0aW9ucy5oPgotI2luY2x1ZGUgPGFzbS9pb19hcGljLmg+Ci0jaW5jbHVkZSA8YXNtL2lzdC5oPgotI2luY2x1ZGUgPGFzbS9pby5oPgotI2luY2x1ZGUgPGFzbS92bWkuaD4KLSNpbmNsdWRlIDxzZXR1cF9hcmNoLmg+Ci0jaW5jbHVkZSA8YXNtL2Jpb3NfZWJkYS5oPgotI2luY2x1ZGUgPGFzbS9jYWNoZWZsdXNoLmg+Ci0jaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci5oPgotCi0vKiBUaGlzIHZhbHVlIGlzIHNldCB1cCBieSB0aGUgZWFybHkgYm9vdCBjb2RlIHRvIHBvaW50IHRvIHRoZSB2YWx1ZQotICAgaW1tZWRpYXRlbHkgYWZ0ZXIgdGhlIGJvb3QgdGltZSBwYWdlIHRhYmxlcy4gIEl0IGNvbnRhaW5zIGEgKnBoeXNpY2FsKgotICAgYWRkcmVzcywgYW5kIG11c3Qgbm90IGJlIGluIHRoZSAuYnNzIHNlZ21lbnQhICovCi11bnNpZ25lZCBsb25nIGluaXRfcGdfdGFibGVzX2VuZCBfX2luaXRkYXRhID0gfjBVTDsKLQotLyoKLSAqIE1hY2hpbmUgc2V0dXAuLgotICovCi1zdGF0aWMgc3RydWN0IHJlc291cmNlIGRhdGFfcmVzb3VyY2UgPSB7Ci0JLm5hbWUJPSAiS2VybmVsIGRhdGEiLAotCS5zdGFydAk9IDAsCi0JLmVuZAk9IDAsCi0JLmZsYWdzCT0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9NRU0KLX07Ci0KLXN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgY29kZV9yZXNvdXJjZSA9IHsKLQkubmFtZQk9ICJLZXJuZWwgY29kZSIsCi0JLnN0YXJ0CT0gMCwKLQkuZW5kCT0gMCwKLQkuZmxhZ3MJPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX01FTQotfTsKLQotc3RhdGljIHN0cnVjdCByZXNvdXJjZSBic3NfcmVzb3VyY2UgPSB7Ci0JLm5hbWUJPSAiS2VybmVsIGJzcyIsCi0JLnN0YXJ0CT0gMCwKLQkuZW5kCT0gMCwKLQkuZmxhZ3MJPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX01FTQotfTsKLQotc3RhdGljIHN0cnVjdCByZXNvdXJjZSB2aWRlb19yYW1fcmVzb3VyY2UgPSB7Ci0JLm5hbWUJPSAiVmlkZW8gUkFNIGFyZWEiLAotCS5zdGFydAk9IDB4YTAwMDAsCi0JLmVuZAk9IDB4YmZmZmYsCi0JLmZsYWdzCT0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9NRU0KLX07Ci0KLXN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2Ugc3RhbmRhcmRfaW9fcmVzb3VyY2VzW10gPSB7IHsKLQkubmFtZQk9ICJkbWExIiwKLQkuc3RhcnQJPSAweDAwMDAsCi0JLmVuZAk9IDB4MDAxZiwKLQkuZmxhZ3MJPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX0lPCi19LCB7Ci0JLm5hbWUJPSAicGljMSIsCi0JLnN0YXJ0CT0gMHgwMDIwLAotCS5lbmQJPSAweDAwMjEsCi0JLmZsYWdzCT0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9JTwotfSwgewotCS5uYW1lICAgPSAidGltZXIwIiwKLQkuc3RhcnQJPSAweDAwNDAsCi0JLmVuZCAgICA9IDB4MDA0MywKLQkuZmxhZ3MgID0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9JTwotfSwgewotCS5uYW1lICAgPSAidGltZXIxIiwKLQkuc3RhcnQgID0gMHgwMDUwLAotCS5lbmQgICAgPSAweDAwNTMsCi0JLmZsYWdzCT0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9JTwotfSwgewotCS5uYW1lCT0gImtleWJvYXJkIiwKLQkuc3RhcnQJPSAweDAwNjAsCi0JLmVuZAk9IDB4MDA2MCwKLQkuZmxhZ3MJPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX0lPCi19LCB7Ci0JLm5hbWUJPSAia2V5Ym9hcmQiLAotCS5zdGFydAk9IDB4MDA2NCwKLQkuZW5kCT0gMHgwMDY0LAotCS5mbGFncwk9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfSU8KLX0sIHsKLQkubmFtZQk9ICJkbWEgcGFnZSByZWciLAotCS5zdGFydAk9IDB4MDA4MCwKLQkuZW5kCT0gMHgwMDhmLAotCS5mbGFncwk9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfSU8KLX0sIHsKLQkubmFtZQk9ICJwaWMyIiwKLQkuc3RhcnQJPSAweDAwYTAsCi0JLmVuZAk9IDB4MDBhMSwKLQkuZmxhZ3MJPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX0lPCi19LCB7Ci0JLm5hbWUJPSAiZG1hMiIsCi0JLnN0YXJ0CT0gMHgwMGMwLAotCS5lbmQJPSAweDAwZGYsCi0JLmZsYWdzCT0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9JTwotfSwgewotCS5uYW1lCT0gImZwdSIsCi0JLnN0YXJ0CT0gMHgwMGYwLAotCS5lbmQJPSAweDAwZmYsCi0JLmZsYWdzCT0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9JTwotfSB9OwotCi0vKiBjcHUgZGF0YSBhcyBkZXRlY3RlZCBieSB0aGUgYXNzZW1ibHkgY29kZSBpbiBoZWFkLlMgKi8KLXN0cnVjdCBjcHVpbmZvX3g4NiBuZXdfY3B1X2RhdGEgX19jcHVpbml0ZGF0YSA9IHsgMCwgMCwgMCwgMCwgLTEsIDEsIDAsIDAsIC0xIH07Ci0vKiBjb21tb24gY3B1IGRhdGEgZm9yIGFsbCBjcHVzICovCi1zdHJ1Y3QgY3B1aW5mb194ODYgYm9vdF9jcHVfZGF0YSBfX3JlYWRfbW9zdGx5ID0geyAwLCAwLCAwLCAwLCAtMSwgMSwgMCwgMCwgLTEgfTsKLUVYUE9SVF9TWU1CT0woYm9vdF9jcHVfZGF0YSk7Ci0KLXVuc2lnbmVkIGludCBkZWZfdG9fYmlnc21wOwotCi0jaWZuZGVmIENPTkZJR19YODZfUEFFCi11bnNpZ25lZCBsb25nIG1tdV9jcjRfZmVhdHVyZXM7Ci0jZWxzZQotdW5zaWduZWQgbG9uZyBtbXVfY3I0X2ZlYXR1cmVzID0gWDg2X0NSNF9QQUU7Ci0jZW5kaWYKLQotLyogZm9yIE1DQSwgYnV0IGFueW9uZSBlbHNlIGNhbiB1c2UgaXQgaWYgdGhleSB3YW50ICovCi11bnNpZ25lZCBpbnQgbWFjaGluZV9pZDsKLXVuc2lnbmVkIGludCBtYWNoaW5lX3N1Ym1vZGVsX2lkOwotdW5zaWduZWQgaW50IEJJT1NfcmV2aXNpb247Ci0KLS8qIEJvb3QgbG9hZGVyIElEIGFzIGFuIGludGVnZXIsIGZvciB0aGUgYmVuZWZpdCBvZiBwcm9jX2RvaW50dmVjICovCi1pbnQgYm9vdGxvYWRlcl90eXBlOwotCi0vKiB1c2VyLWRlZmluZWQgaGlnaG1lbSBzaXplICovCi1zdGF0aWMgdW5zaWduZWQgaW50IGhpZ2htZW1fcGFnZXMgPSAtMTsKLQotLyoKLSAqIFNldHVwIG9wdGlvbnMKLSAqLwotc3RydWN0IHNjcmVlbl9pbmZvIHNjcmVlbl9pbmZvOwotRVhQT1JUX1NZTUJPTChzY3JlZW5faW5mbyk7Ci1zdHJ1Y3QgYXBtX2luZm8gYXBtX2luZm87Ci1FWFBPUlRfU1lNQk9MKGFwbV9pbmZvKTsKLXN0cnVjdCBlZGlkX2luZm8gZWRpZF9pbmZvOwotRVhQT1JUX1NZTUJPTF9HUEwoZWRpZF9pbmZvKTsKLXN0cnVjdCBpc3RfaW5mbyBpc3RfaW5mbzsKLSNpZiBkZWZpbmVkKENPTkZJR19YODZfU1BFRURTVEVQX1NNSSkgfHwgXAotCWRlZmluZWQoQ09ORklHX1g4Nl9TUEVFRFNURVBfU01JX01PRFVMRSkKLUVYUE9SVF9TWU1CT0woaXN0X2luZm8pOwotI2VuZGlmCi0KLWV4dGVybiB2b2lkIGVhcmx5X2NwdV9pbml0KHZvaWQpOwotZXh0ZXJuIGludCByb290X21vdW50ZmxhZ3M7Ci0KLXVuc2lnbmVkIGxvbmcgc2F2ZWRfdmlkZW9fbW9kZTsKLQotI2RlZmluZSBSQU1ESVNLX0lNQUdFX1NUQVJUX01BU0sJMHgwN0ZGCi0jZGVmaW5lIFJBTURJU0tfUFJPTVBUX0ZMQUcJCTB4ODAwMAotI2RlZmluZSBSQU1ESVNLX0xPQURfRkxBRwkJMHg0MDAwCi0KLXN0YXRpYyBjaGFyIF9faW5pdGRhdGEgY29tbWFuZF9saW5lW0NPTU1BTkRfTElORV9TSVpFXTsKLQotI2lmbmRlZiBDT05GSUdfREVCVUdfQk9PVF9QQVJBTVMKLXN0cnVjdCBib290X3BhcmFtcyBfX2luaXRkYXRhIGJvb3RfcGFyYW1zOwotI2Vsc2UKLXN0cnVjdCBib290X3BhcmFtcyBib290X3BhcmFtczsKLSNlbmRpZgotCi0jaWYgZGVmaW5lZChDT05GSUdfRUREKSB8fCBkZWZpbmVkKENPTkZJR19FRERfTU9EVUxFKQotc3RydWN0IGVkZCBlZGQ7Ci0jaWZkZWYgQ09ORklHX0VERF9NT0RVTEUKLUVYUE9SVF9TWU1CT0woZWRkKTsKLSNlbmRpZgotLyoqCi0gKiBjb3B5X2VkZCgpIC0gQ29weSB0aGUgQklPUyBFREQgaW5mb3JtYXRpb24KLSAqICAgICAgICAgICAgICBmcm9tIGJvb3RfcGFyYW1zIGludG8gYSBzYWZlIHBsYWNlLgotICoKLSAqLwotc3RhdGljIGlubGluZSB2b2lkIGNvcHlfZWRkKHZvaWQpCi17Ci0gICAgIG1lbWNweShlZGQubWJyX3NpZ25hdHVyZSwgYm9vdF9wYXJhbXMuZWRkX21icl9zaWdfYnVmZmVyLAotCSAgICBzaXplb2YoZWRkLm1icl9zaWduYXR1cmUpKTsKLSAgICAgbWVtY3B5KGVkZC5lZGRfaW5mbywgYm9vdF9wYXJhbXMuZWRkYnVmLCBzaXplb2YoZWRkLmVkZF9pbmZvKSk7Ci0gICAgIGVkZC5tYnJfc2lnbmF0dXJlX25yID0gYm9vdF9wYXJhbXMuZWRkX21icl9zaWdfYnVmX2VudHJpZXM7Ci0gICAgIGVkZC5lZGRfaW5mb19uciA9IGJvb3RfcGFyYW1zLmVkZGJ1Zl9lbnRyaWVzOwotfQotI2Vsc2UKLXN0YXRpYyBpbmxpbmUgdm9pZCBjb3B5X2VkZCh2b2lkKQotewotfQotI2VuZGlmCi0KLWludCBfX2luaXRkYXRhIHVzZXJfZGVmaW5lZF9tZW1tYXA7Ci0KLS8qCi0gKiAibWVtPW5vcGVudGl1bSIgZGlzYWJsZXMgdGhlIDRNQiBwYWdlIHRhYmxlcy4KLSAqICJtZW09WFhYW2tLbU1dIiBkZWZpbmVzIGEgbWVtb3J5IHJlZ2lvbiBmcm9tIEhJR0hfTUVNCi0gKiB0byA8bWVtPiwgb3ZlcnJpZGluZyB0aGUgYmlvcyBzaXplLgotICogIm1lbW1hcD1YWFhbS2ttTV1AWFhYW0trbU1dIiBkZWZpbmVzIGEgbWVtb3J5IHJlZ2lvbiBmcm9tCi0gKiA8c3RhcnQ+IHRvIDxzdGFydD4rPG1lbT4sIG92ZXJyaWRpbmcgdGhlIGJpb3Mgc2l6ZS4KLSAqCi0gKiBIUEEgdGVsbHMgbWUgYm9vdGxvYWRlcnMgbmVlZCB0byBwYXJzZSBtZW09LCBzbyBubyBuZXcKLSAqIG9wdGlvbiBzaG91bGQgYmUgbWVtPSAgW2Fsc28gc2VlIERvY3VtZW50YXRpb24vaTM4Ni9ib290LnR4dF0KLSAqLwotc3RhdGljIGludCBfX2luaXQgcGFyc2VfbWVtKGNoYXIgKmFyZykKLXsKLQlpZiAoIWFyZykKLQkJcmV0dXJuIC1FSU5WQUw7Ci0KLQlpZiAoc3RyY21wKGFyZywgIm5vcGVudGl1bSIpID09IDApIHsKLQkJc2V0dXBfY2xlYXJfY3B1X2NhcChYODZfRkVBVFVSRV9QU0UpOwotCX0gZWxzZSB7Ci0JCS8qIElmIHRoZSB1c2VyIHNwZWNpZmllcyBtZW1vcnkgc2l6ZSwgd2UKLQkJICogbGltaXQgdGhlIEJJT1MtcHJvdmlkZWQgbWVtb3J5IG1hcCB0bwotCQkgKiB0aGF0IHNpemUuIGV4YWN0bWFwIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkKLQkJICogdGhlIGV4YWN0IG1hcC4gbWVtPW51bWJlciBjYW4gYmUgdXNlZCB0bwotCQkgKiB0cmltIHRoZSBleGlzdGluZyBtZW1vcnkgbWFwLgotCQkgKi8KLQkJdW5zaWduZWQgbG9uZyBsb25nIG1lbV9zaXplOwotCi0JCW1lbV9zaXplID0gbWVtcGFyc2UoYXJnLCAmYXJnKTsKLQkJbGltaXRfcmVnaW9ucyhtZW1fc2l6ZSk7Ci0JCXVzZXJfZGVmaW5lZF9tZW1tYXAgPSAxOwotCX0KLQlyZXR1cm4gMDsKLX0KLWVhcmx5X3BhcmFtKCJtZW0iLCBwYXJzZV9tZW0pOwotCi0jaWZkZWYgQ09ORklHX1BST0NfVk1DT1JFCi0vKiBlbGZjb3JlaGRyPSBzcGVjaWZpZXMgdGhlIGxvY2F0aW9uIG9mIGVsZiBjb3JlIGhlYWRlcgotICogc3RvcmVkIGJ5IHRoZSBjcmFzaGVkIGtlcm5lbC4KLSAqLwotc3RhdGljIGludCBfX2luaXQgcGFyc2VfZWxmY29yZWhkcihjaGFyICphcmcpCi17Ci0JaWYgKCFhcmcpCi0JCXJldHVybiAtRUlOVkFMOwotCi0JZWxmY29yZWhkcl9hZGRyID0gbWVtcGFyc2UoYXJnLCAmYXJnKTsKLQlyZXR1cm4gMDsKLX0KLWVhcmx5X3BhcmFtKCJlbGZjb3JlaGRyIiwgcGFyc2VfZWxmY29yZWhkcik7Ci0jZW5kaWYgLyogQ09ORklHX1BST0NfVk1DT1JFICovCi0KLS8qCi0gKiBoaWdobWVtPXNpemUgZm9yY2VzIGhpZ2htZW0gdG8gYmUgZXhhY3RseSAnc2l6ZScgYnl0ZXMuCi0gKiBUaGlzIHdvcmtzIGV2ZW4gb24gYm94ZXMgdGhhdCBoYXZlIG5vIGhpZ2htZW0gb3RoZXJ3aXNlLgotICogVGhpcyBhbHNvIHdvcmtzIHRvIHJlZHVjZSBoaWdobWVtIHNpemUgb24gYmlnZ2VyIGJveGVzLgotICovCi1zdGF0aWMgaW50IF9faW5pdCBwYXJzZV9oaWdobWVtKGNoYXIgKmFyZykKLXsKLQlpZiAoIWFyZykKLQkJcmV0dXJuIC1FSU5WQUw7Ci0KLQloaWdobWVtX3BhZ2VzID0gbWVtcGFyc2UoYXJnLCAmYXJnKSA+PiBQQUdFX1NISUZUOwotCXJldHVybiAwOwotfQotZWFybHlfcGFyYW0oImhpZ2htZW0iLCBwYXJzZV9oaWdobWVtKTsKLQotLyoKLSAqIHZtYWxsb2M9c2l6ZSBmb3JjZXMgdGhlIHZtYWxsb2MgYXJlYSB0byBiZSBleGFjdGx5ICdzaXplJwotICogYnl0ZXMuIFRoaXMgY2FuIGJlIHVzZWQgdG8gaW5jcmVhc2UgKG9yIGRlY3JlYXNlKSB0aGUKLSAqIHZtYWxsb2MgYXJlYSAtIHRoZSBkZWZhdWx0IGlzIDEyOG0uCi0gKi8KLXN0YXRpYyBpbnQgX19pbml0IHBhcnNlX3ZtYWxsb2MoY2hhciAqYXJnKQotewotCWlmICghYXJnKQotCQlyZXR1cm4gLUVJTlZBTDsKLQotCV9fVk1BTExPQ19SRVNFUlZFID0gbWVtcGFyc2UoYXJnLCAmYXJnKTsKLQlyZXR1cm4gMDsKLX0KLWVhcmx5X3BhcmFtKCJ2bWFsbG9jIiwgcGFyc2Vfdm1hbGxvYyk7Ci0KLS8qCi0gKiByZXNlcnZldG9wPXNpemUgcmVzZXJ2ZXMgYSBob2xlIGF0IHRoZSB0b3Agb2YgdGhlIGtlcm5lbCBhZGRyZXNzIHNwYWNlIHdoaWNoCi0gKiBhIGh5cGVydmlzb3IgY2FuIGxvYWQgaW50byBsYXRlci4gIE5lZWRlZCBmb3IgZHluYW1pY2FsbHkgbG9hZGVkIGh5cGVydmlzb3JzLAotICogc28gcmVsb2NhdGluZyB0aGUgZml4bWFwIGNhbiBiZSBkb25lIGJlZm9yZSBwYWdpbmcgaW5pdGlhbGl6YXRpb24uCi0gKi8KLXN0YXRpYyBpbnQgX19pbml0IHBhcnNlX3Jlc2VydmV0b3AoY2hhciAqYXJnKQotewotCXVuc2lnbmVkIGxvbmcgYWRkcmVzczsKLQotCWlmICghYXJnKQotCQlyZXR1cm4gLUVJTlZBTDsKLQotCWFkZHJlc3MgPSBtZW1wYXJzZShhcmcsICZhcmcpOwotCXJlc2VydmVfdG9wX2FkZHJlc3MoYWRkcmVzcyk7Ci0JcmV0dXJuIDA7Ci19Ci1lYXJseV9wYXJhbSgicmVzZXJ2ZXRvcCIsIHBhcnNlX3Jlc2VydmV0b3ApOwotCi0vKgotICogRGV0ZXJtaW5lIGxvdyBhbmQgaGlnaCBtZW1vcnkgcmFuZ2VzOgotICovCi11bnNpZ25lZCBsb25nIF9faW5pdCBmaW5kX21heF9sb3dfcGZuKHZvaWQpCi17Ci0JdW5zaWduZWQgbG9uZyBtYXhfbG93X3BmbjsKLQotCW1heF9sb3dfcGZuID0gbWF4X3BmbjsKLQlpZiAobWF4X2xvd19wZm4gPiBNQVhNRU1fUEZOKSB7Ci0JCWlmIChoaWdobWVtX3BhZ2VzID09IC0xKQotCQkJaGlnaG1lbV9wYWdlcyA9IG1heF9wZm4gLSBNQVhNRU1fUEZOOwotCQlpZiAoaGlnaG1lbV9wYWdlcyArIE1BWE1FTV9QRk4gPCBtYXhfcGZuKQotCQkJbWF4X3BmbiA9IE1BWE1FTV9QRk4gKyBoaWdobWVtX3BhZ2VzOwotCQlpZiAoaGlnaG1lbV9wYWdlcyArIE1BWE1FTV9QRk4gPiBtYXhfcGZuKSB7Ci0JCQlwcmludGsoIm9ubHkgJWx1TUIgaGlnaG1lbSBwYWdlcyBhdmFpbGFibGUsIGlnbm9yaW5nIGhpZ2htZW0gc2l6ZSBvZiAldU1CLlxuIiwgcGFnZXNfdG9fbWIobWF4X3BmbiAtIE1BWE1FTV9QRk4pLCBwYWdlc190b19tYihoaWdobWVtX3BhZ2VzKSk7Ci0JCQloaWdobWVtX3BhZ2VzID0gMDsKLQkJfQotCQltYXhfbG93X3BmbiA9IE1BWE1FTV9QRk47Ci0jaWZuZGVmIENPTkZJR19ISUdITUVNCi0JCS8qIE1heGltdW0gbWVtb3J5IHVzYWJsZSBpcyB3aGF0IGlzIGRpcmVjdGx5IGFkZHJlc3NhYmxlICovCi0JCXByaW50ayhLRVJOX1dBUk5JTkcgIldhcm5pbmcgb25seSAlbGRNQiB3aWxsIGJlIHVzZWQuXG4iLAotCQkJCQlNQVhNRU0+PjIwKTsKLQkJaWYgKG1heF9wZm4gPiBNQVhfTk9OUEFFX1BGTikKLQkJCXByaW50ayhLRVJOX1dBUk5JTkcgIlVzZSBhIEhJR0hNRU02NEcgZW5hYmxlZCBrZXJuZWwuXG4iKTsKLQkJZWxzZQotCQkJcHJpbnRrKEtFUk5fV0FSTklORyAiVXNlIGEgSElHSE1FTSBlbmFibGVkIGtlcm5lbC5cbiIpOwotCQltYXhfcGZuID0gTUFYTUVNX1BGTjsKLSNlbHNlIC8qICFDT05GSUdfSElHSE1FTSAqLwotI2lmbmRlZiBDT05GSUdfSElHSE1FTTY0RwotCQlpZiAobWF4X3BmbiA+IE1BWF9OT05QQUVfUEZOKSB7Ci0JCQltYXhfcGZuID0gTUFYX05PTlBBRV9QRk47Ci0JCQlwcmludGsoS0VSTl9XQVJOSU5HICJXYXJuaW5nIG9ubHkgNEdCIHdpbGwgYmUgdXNlZC5cbiIpOwotCQkJcHJpbnRrKEtFUk5fV0FSTklORyAiVXNlIGEgSElHSE1FTTY0RyBlbmFibGVkIGtlcm5lbC5cbiIpOwotCQl9Ci0jZW5kaWYgLyogIUNPTkZJR19ISUdITUVNNjRHICovCi0jZW5kaWYgLyogIUNPTkZJR19ISUdITUVNICovCi0JfSBlbHNlIHsKLQkJaWYgKGhpZ2htZW1fcGFnZXMgPT0gLTEpCi0JCQloaWdobWVtX3BhZ2VzID0gMDsKLSNpZmRlZiBDT05GSUdfSElHSE1FTQotCQlpZiAoaGlnaG1lbV9wYWdlcyA+PSBtYXhfcGZuKSB7Ci0JCQlwcmludGsoS0VSTl9FUlIgImhpZ2htZW0gc2l6ZSBzcGVjaWZpZWQgKCV1TUIpIGlzIGJpZ2dlciB0aGFuIHBhZ2VzIGF2YWlsYWJsZSAoJWx1TUIpIS5cbiIsIHBhZ2VzX3RvX21iKGhpZ2htZW1fcGFnZXMpLCBwYWdlc190b19tYihtYXhfcGZuKSk7Ci0JCQloaWdobWVtX3BhZ2VzID0gMDsKLQkJfQotCQlpZiAoaGlnaG1lbV9wYWdlcykgewotCQkJaWYgKG1heF9sb3dfcGZuLWhpZ2htZW1fcGFnZXMgPCA2NCoxMDI0KjEwMjQvUEFHRV9TSVpFKXsKLQkJCQlwcmludGsoS0VSTl9FUlIgImhpZ2htZW0gc2l6ZSAldU1CIHJlc3VsdHMgaW4gc21hbGxlciB0aGFuIDY0TUIgbG93bWVtLCBpZ25vcmluZyBpdC5cbiIsIHBhZ2VzX3RvX21iKGhpZ2htZW1fcGFnZXMpKTsKLQkJCQloaWdobWVtX3BhZ2VzID0gMDsKLQkJCX0KLQkJCW1heF9sb3dfcGZuIC09IGhpZ2htZW1fcGFnZXM7Ci0JCX0KLSNlbHNlCi0JCWlmIChoaWdobWVtX3BhZ2VzKQotCQkJcHJpbnRrKEtFUk5fRVJSICJpZ25vcmluZyBoaWdobWVtIHNpemUgb24gbm9uLWhpZ2htZW0ga2VybmVsIVxuIik7Ci0jZW5kaWYKLQl9Ci0JcmV0dXJuIG1heF9sb3dfcGZuOwotfQotCi0jZGVmaW5lIEJJT1NfTE9XTUVNX0tJTE9CWVRFUyAweDQxMwotCi0vKgotICogVGhlIEJJT1MgcGxhY2VzIHRoZSBFQkRBL1hCREEgYXQgdGhlIHRvcCBvZiBjb252ZW50aW9uYWwKLSAqIG1lbW9yeSwgYW5kIHVzdWFsbHkgZGVjcmVhc2VzIHRoZSByZXBvcnRlZCBhbW91bnQgb2YKLSAqIGNvbnZlbnRpb25hbCBtZW1vcnkgKGludCAweDEyKSB0b28uIFRoaXMgYWxzbyBjb250YWlucyBhCi0gKiB3b3JrYXJvdW5kIGZvciBEZWxsIHN5c3RlbXMgdGhhdCBuZWdsZWN0IHRvIHJlc2VydmUgRUJEQS4KLSAqIFRoZSBzYW1lIHdvcmthcm91bmQgYWxzbyBhdm9pZHMgYSBwcm9ibGVtIHdpdGggdGhlIEFNRDc2OE1QWAotICogY2hpcHNldDogcmVzZXJ2ZSBhIHBhZ2UgYmVmb3JlIFZHQSB0byBwcmV2ZW50IFBDSSBwcmVmZXRjaAotICogaW50byBpdCAoZXJyYXRhICM1NikuIFVzdWFsbHkgdGhlIHBhZ2UgaXMgcmVzZXJ2ZWQgYW55d2F5cywKLSAqIHVubGVzcyB5b3UgaGF2ZSBubyBQUy8yIG1vdXNlIHBsdWdnZWQgaW4uCi0gKi8KLXN0YXRpYyB2b2lkIF9faW5pdCByZXNlcnZlX2ViZGFfcmVnaW9uKHZvaWQpCi17Ci0JdW5zaWduZWQgaW50IGxvd21lbSwgZWJkYV9hZGRyOwotCi0JLyogVG8gZGV0ZXJtaW5lIHRoZSBwb3NpdGlvbiBvZiB0aGUgRUJEQSBhbmQgdGhlICovCi0JLyogZW5kIG9mIGNvbnZlbnRpb25hbCBtZW1vcnksIHdlIG5lZWQgdG8gbG9vayBhdCAqLwotCS8qIHRoZSBCSU9TIGRhdGEgYXJlYS4gSW4gYSBwYXJhdmlydHVhbCBlbnZpcm9ubWVudCAqLwotCS8qIHRoYXQgYXJlYSBpcyBhYnNlbnQuIFdlJ2xsIGp1c3QgaGF2ZSB0byBhc3N1bWUgKi8KLQkvKiB0aGF0IHRoZSBwYXJhdmlydCBjYXNlIGNhbiBoYW5kbGUgbWVtb3J5IHNldHVwICovCi0JLyogY29ycmVjdGx5LCB3aXRob3V0IG91ciBoZWxwLiAqLwotCWlmIChwYXJhdmlydF9lbmFibGVkKCkpCi0JCXJldHVybjsKLQotCS8qIGVuZCBvZiBsb3cgKGNvbnZlbnRpb25hbCkgbWVtb3J5ICovCi0JbG93bWVtID0gKih1bnNpZ25lZCBzaG9ydCAqKV9fdmEoQklPU19MT1dNRU1fS0lMT0JZVEVTKTsKLQlsb3dtZW0gPDw9IDEwOwotCi0JLyogc3RhcnQgb2YgRUJEQSBhcmVhICovCi0JZWJkYV9hZGRyID0gZ2V0X2Jpb3NfZWJkYSgpOwotCi0JLyogRml4dXA6IGJpb3MgcHV0cyBhbiBFQkRBIGluIHRoZSB0b3AgNjRLIHNlZ21lbnQgKi8KLQkvKiBvZiBjb252ZW50aW9uYWwgbWVtb3J5LCBidXQgZG9lcyBub3QgYWRqdXN0IGxvd21lbS4gKi8KLQlpZiAoKGxvd21lbSAtIGViZGFfYWRkcikgPD0gMHgxMDAwMCkKLQkJbG93bWVtID0gZWJkYV9hZGRyOwotCi0JLyogRml4dXA6IGJpb3MgZG9lcyBub3QgcmVwb3J0IGFuIEVCREEgYXQgYWxsLiAqLwotCS8qIFNvbWUgb2xkIERlbGxzIHNlZW0gdG8gbmVlZCA0ayBhbnlob3cgKGJ1Z3ppbGxhIDI5OTApICovCi0JaWYgKChlYmRhX2FkZHIgPT0gMCkgJiYgKGxvd21lbSA+PSAweDlmMDAwKSkKLQkJbG93bWVtID0gMHg5ZjAwMDsKLQotCS8qIFBhcmFub2lhOiBzaG91bGQgbmV2ZXIgaGFwcGVuLCBidXQuLi4gKi8KLQlpZiAoKGxvd21lbSA9PSAwKSB8fCAobG93bWVtID49IDB4MTAwMDAwKSkKLQkJbG93bWVtID0gMHg5ZjAwMDsKLQotCS8qIHJlc2VydmUgYWxsIG1lbW9yeSBiZXR3ZWVuIGxvd21lbSBhbmQgdGhlIDFNQiBtYXJrICovCi0JcmVzZXJ2ZV9ib290bWVtKGxvd21lbSwgMHgxMDAwMDAgLSBsb3dtZW0sIEJPT1RNRU1fREVGQVVMVCk7Ci19Ci0KLSNpZm5kZWYgQ09ORklHX05FRURfTVVMVElQTEVfTk9ERVMKLXN0YXRpYyB2b2lkIF9faW5pdCBzZXR1cF9ib290bWVtX2FsbG9jYXRvcih2b2lkKTsKLXN0YXRpYyB1bnNpZ25lZCBsb25nIF9faW5pdCBzZXR1cF9tZW1vcnkodm9pZCkKLXsKLQkvKgotCSAqIHBhcnRpYWxseSB1c2VkIHBhZ2VzIGFyZSBub3QgdXNhYmxlIC0gdGh1cwotCSAqIHdlIGFyZSByb3VuZGluZyB1cHdhcmRzOgotCSAqLwotCW1pbl9sb3dfcGZuID0gUEZOX1VQKGluaXRfcGdfdGFibGVzX2VuZCk7Ci0KLQltYXhfbG93X3BmbiA9IGZpbmRfbWF4X2xvd19wZm4oKTsKLQotI2lmZGVmIENPTkZJR19ISUdITUVNCi0JaGlnaHN0YXJ0X3BmbiA9IGhpZ2hlbmRfcGZuID0gbWF4X3BmbjsKLQlpZiAobWF4X3BmbiA+IG1heF9sb3dfcGZuKSB7Ci0JCWhpZ2hzdGFydF9wZm4gPSBtYXhfbG93X3BmbjsKLQl9Ci0JcHJpbnRrKEtFUk5fTk9USUNFICIlbGRNQiBISUdITUVNIGF2YWlsYWJsZS5cbiIsCi0JCXBhZ2VzX3RvX21iKGhpZ2hlbmRfcGZuIC0gaGlnaHN0YXJ0X3BmbikpOwotCW51bV9waHlzcGFnZXMgPSBoaWdoZW5kX3BmbjsKLQloaWdoX21lbW9yeSA9ICh2b2lkICopIF9fdmEoaGlnaHN0YXJ0X3BmbiAqIFBBR0VfU0laRSAtIDEpICsgMTsKLSNlbHNlCi0JbnVtX3BoeXNwYWdlcyA9IG1heF9sb3dfcGZuOwotCWhpZ2hfbWVtb3J5ID0gKHZvaWQgKikgX192YShtYXhfbG93X3BmbiAqIFBBR0VfU0laRSAtIDEpICsgMTsKLSNlbmRpZgotI2lmZGVmIENPTkZJR19GTEFUTUVNCi0JbWF4X21hcG5yID0gbnVtX3BoeXNwYWdlczsKLSNlbmRpZgotCXByaW50ayhLRVJOX05PVElDRSAiJWxkTUIgTE9XTUVNIGF2YWlsYWJsZS5cbiIsCi0JCQlwYWdlc190b19tYihtYXhfbG93X3BmbikpOwotCi0Jc2V0dXBfYm9vdG1lbV9hbGxvY2F0b3IoKTsKLQotCXJldHVybiBtYXhfbG93X3BmbjsKLX0KLQotc3RhdGljIHZvaWQgX19pbml0IHpvbmVfc2l6ZXNfaW5pdCh2b2lkKQotewotCXVuc2lnbmVkIGxvbmcgbWF4X3pvbmVfcGZuc1tNQVhfTlJfWk9ORVNdOwotCW1lbXNldChtYXhfem9uZV9wZm5zLCAwLCBzaXplb2YobWF4X3pvbmVfcGZucykpOwotCW1heF96b25lX3BmbnNbWk9ORV9ETUFdID0KLQkJdmlydF90b19waHlzKChjaGFyICopTUFYX0RNQV9BRERSRVNTKSA+PiBQQUdFX1NISUZUOwotCW1heF96b25lX3BmbnNbWk9ORV9OT1JNQUxdID0gbWF4X2xvd19wZm47Ci0jaWZkZWYgQ09ORklHX0hJR0hNRU0KLQltYXhfem9uZV9wZm5zW1pPTkVfSElHSE1FTV0gPSBoaWdoZW5kX3BmbjsKLQlhZGRfYWN0aXZlX3JhbmdlKDAsIDAsIGhpZ2hlbmRfcGZuKTsKLSNlbHNlCi0JYWRkX2FjdGl2ZV9yYW5nZSgwLCAwLCBtYXhfbG93X3Bmbik7Ci0jZW5kaWYKLQotCWZyZWVfYXJlYV9pbml0X25vZGVzKG1heF96b25lX3BmbnMpOwotfQotI2Vsc2UKLWV4dGVybiB1bnNpZ25lZCBsb25nIF9faW5pdCBzZXR1cF9tZW1vcnkodm9pZCk7Ci1leHRlcm4gdm9pZCB6b25lX3NpemVzX2luaXQodm9pZCk7Ci0jZW5kaWYgLyogIUNPTkZJR19ORUVEX01VTFRJUExFX05PREVTICovCi0KLXN0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyBsb25nIGdldF90b3RhbF9tZW0odm9pZCkKLXsKLQl1bnNpZ25lZCBsb25nIGxvbmcgdG90YWw7Ci0KLQl0b3RhbCA9IG1heF9sb3dfcGZuIC0gbWluX2xvd19wZm47Ci0jaWZkZWYgQ09ORklHX0hJR0hNRU0KLQl0b3RhbCArPSBoaWdoZW5kX3BmbiAtIGhpZ2hzdGFydF9wZm47Ci0jZW5kaWYKLQotCXJldHVybiB0b3RhbCA8PCBQQUdFX1NISUZUOwotfQotCi0jaWZkZWYgQ09ORklHX0tFWEVDCi1zdGF0aWMgdm9pZCBfX2luaXQgcmVzZXJ2ZV9jcmFzaGtlcm5lbCh2b2lkKQotewotCXVuc2lnbmVkIGxvbmcgbG9uZyB0b3RhbF9tZW07Ci0JdW5zaWduZWQgbG9uZyBsb25nIGNyYXNoX3NpemUsIGNyYXNoX2Jhc2U7Ci0JaW50IHJldDsKLQotCXRvdGFsX21lbSA9IGdldF90b3RhbF9tZW0oKTsKLQotCXJldCA9IHBhcnNlX2NyYXNoa2VybmVsKGJvb3RfY29tbWFuZF9saW5lLCB0b3RhbF9tZW0sCi0JCQkmY3Jhc2hfc2l6ZSwgJmNyYXNoX2Jhc2UpOwotCWlmIChyZXQgPT0gMCAmJiBjcmFzaF9zaXplID4gMCkgewotCQlpZiAoY3Jhc2hfYmFzZSA+IDApIHsKLQkJCXByaW50ayhLRVJOX0lORk8gIlJlc2VydmluZyAlbGRNQiBvZiBtZW1vcnkgYXQgJWxkTUIgIgotCQkJCQkiZm9yIGNyYXNoa2VybmVsIChTeXN0ZW0gUkFNOiAlbGRNQilcbiIsCi0JCQkJCSh1bnNpZ25lZCBsb25nKShjcmFzaF9zaXplID4+IDIwKSwKLQkJCQkJKHVuc2lnbmVkIGxvbmcpKGNyYXNoX2Jhc2UgPj4gMjApLAotCQkJCQkodW5zaWduZWQgbG9uZykodG90YWxfbWVtID4+IDIwKSk7Ci0KLQkJCWlmIChyZXNlcnZlX2Jvb3RtZW0oY3Jhc2hfYmFzZSwgY3Jhc2hfc2l6ZSwKLQkJCQkJQk9PVE1FTV9FWENMVVNJVkUpIDwgMCkgewotCQkJCXByaW50ayhLRVJOX0lORk8gImNyYXNoa2VybmVsIHJlc2VydmF0aW9uICIKLQkJCQkJImZhaWxlZCAtIG1lbW9yeSBpcyBpbiB1c2VcbiIpOwotCQkJCXJldHVybjsKLQkJCX0KLQotCQkJY3Jhc2hrX3Jlcy5zdGFydCA9IGNyYXNoX2Jhc2U7Ci0JCQljcmFzaGtfcmVzLmVuZCAgID0gY3Jhc2hfYmFzZSArIGNyYXNoX3NpemUgLSAxOwotCQl9IGVsc2UKLQkJCXByaW50ayhLRVJOX0lORk8gImNyYXNoa2VybmVsIHJlc2VydmF0aW9uIGZhaWxlZCAtICIKLQkJCQkJInlvdSBoYXZlIHRvIHNwZWNpZnkgYSBiYXNlIGFkZHJlc3NcbiIpOwotCX0KLX0KLSNlbHNlCi1zdGF0aWMgaW5saW5lIHZvaWQgX19pbml0IHJlc2VydmVfY3Jhc2hrZXJuZWwodm9pZCkKLXt9Ci0jZW5kaWYKLQotI2lmZGVmIENPTkZJR19CTEtfREVWX0lOSVRSRAotCi1zdGF0aWMgYm9vbCBkb19yZWxvY2F0ZV9pbml0cmQgPSBmYWxzZTsKLQotc3RhdGljIHZvaWQgX19pbml0IHJlc2VydmVfaW5pdHJkKHZvaWQpCi17Ci0JdW5zaWduZWQgbG9uZyByYW1kaXNrX2ltYWdlID0gYm9vdF9wYXJhbXMuaGRyLnJhbWRpc2tfaW1hZ2U7Ci0JdW5zaWduZWQgbG9uZyByYW1kaXNrX3NpemUgID0gYm9vdF9wYXJhbXMuaGRyLnJhbWRpc2tfc2l6ZTsKLQl1bnNpZ25lZCBsb25nIHJhbWRpc2tfZW5kICAgPSByYW1kaXNrX2ltYWdlICsgcmFtZGlza19zaXplOwotCXVuc2lnbmVkIGxvbmcgZW5kX29mX2xvd21lbSA9IG1heF9sb3dfcGZuIDw8IFBBR0VfU0hJRlQ7Ci0JdW5zaWduZWQgbG9uZyByYW1kaXNrX2hlcmU7Ci0KLQlpbml0cmRfc3RhcnQgPSAwOwotCi0JaWYgKCFib290X3BhcmFtcy5oZHIudHlwZV9vZl9sb2FkZXIgfHwKLQkgICAgIXJhbWRpc2tfaW1hZ2UgfHwgIXJhbWRpc2tfc2l6ZSkKLQkJcmV0dXJuOwkJLyogTm8gaW5pdHJkIHByb3ZpZGVkIGJ5IGJvb3Rsb2FkZXIgKi8KLQotCWlmIChyYW1kaXNrX2VuZCA8IHJhbWRpc2tfaW1hZ2UpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJpbml0cmQgd3JhcHMgYXJvdW5kIGVuZCBvZiBtZW1vcnksICIKLQkJICAgICAgICJkaXNhYmxpbmcgaW5pdHJkXG4iKTsKLQkJcmV0dXJuOwotCX0KLQlpZiAocmFtZGlza19zaXplID49IGVuZF9vZl9sb3dtZW0vMikgewotCQlwcmludGsoS0VSTl9FUlIgImluaXRyZCB0b28gbGFyZ2UgdG8gaGFuZGxlLCAiCi0JCSAgICAgICAiZGlzYWJsaW5nIGluaXRyZFxuIik7Ci0JCXJldHVybjsKLQl9Ci0JaWYgKHJhbWRpc2tfZW5kIDw9IGVuZF9vZl9sb3dtZW0pIHsKLQkJLyogQWxsIGluIGxvd21lbSwgZWFzeSBjYXNlICovCi0JCXJlc2VydmVfYm9vdG1lbShyYW1kaXNrX2ltYWdlLCByYW1kaXNrX3NpemUsIEJPT1RNRU1fREVGQVVMVCk7Ci0JCWluaXRyZF9zdGFydCA9IHJhbWRpc2tfaW1hZ2UgKyBQQUdFX09GRlNFVDsKLQkJaW5pdHJkX2VuZCA9IGluaXRyZF9zdGFydCtyYW1kaXNrX3NpemU7Ci0JCXJldHVybjsKLQl9Ci0KLQkvKiBXZSBuZWVkIHRvIG1vdmUgdGhlIGluaXRyZCBkb3duIGludG8gbG93bWVtICovCi0JcmFtZGlza19oZXJlID0gKGVuZF9vZl9sb3dtZW0gLSByYW1kaXNrX3NpemUpICYgUEFHRV9NQVNLOwotCi0JLyogTm90ZTogdGhpcyBpbmNsdWRlcyBhbGwgdGhlIGxvd21lbSBjdXJyZW50bHkgb2NjdXBpZWQgYnkKLQkgICB0aGUgaW5pdHJkLCB3ZSByZWx5IG9uIHRoYXQgZmFjdCB0byBrZWVwIHRoZSBkYXRhIGludGFjdC4gKi8KLQlyZXNlcnZlX2Jvb3RtZW0ocmFtZGlza19oZXJlLCByYW1kaXNrX3NpemUsIEJPT1RNRU1fREVGQVVMVCk7Ci0JaW5pdHJkX3N0YXJ0ID0gcmFtZGlza19oZXJlICsgUEFHRV9PRkZTRVQ7Ci0JaW5pdHJkX2VuZCAgID0gaW5pdHJkX3N0YXJ0ICsgcmFtZGlza19zaXplOwotCi0JZG9fcmVsb2NhdGVfaW5pdHJkID0gdHJ1ZTsKLX0KLQotI2RlZmluZSBNQVhfTUFQX0NIVU5LCShOUl9GSVhfQlRNQVBTIDw8IFBBR0VfU0hJRlQpCi0KLXN0YXRpYyB2b2lkIF9faW5pdCByZWxvY2F0ZV9pbml0cmQodm9pZCkKLXsKLQl1bnNpZ25lZCBsb25nIHJhbWRpc2tfaW1hZ2UgPSBib290X3BhcmFtcy5oZHIucmFtZGlza19pbWFnZTsKLQl1bnNpZ25lZCBsb25nIHJhbWRpc2tfc2l6ZSAgPSBib290X3BhcmFtcy5oZHIucmFtZGlza19zaXplOwotCXVuc2lnbmVkIGxvbmcgZW5kX29mX2xvd21lbSA9IG1heF9sb3dfcGZuIDw8IFBBR0VfU0hJRlQ7Ci0JdW5zaWduZWQgbG9uZyByYW1kaXNrX2hlcmU7Ci0JdW5zaWduZWQgbG9uZyBzbG9wLCBjbGVuLCBtYXBhZGRyOwotCWNoYXIgKnAsICpxOwotCi0JaWYgKCFkb19yZWxvY2F0ZV9pbml0cmQpCi0JCXJldHVybjsKLQotCXJhbWRpc2tfaGVyZSA9IGluaXRyZF9zdGFydCAtIFBBR0VfT0ZGU0VUOwotCi0JcSA9IChjaGFyICopaW5pdHJkX3N0YXJ0OwotCi0JLyogQ29weSBhbnkgbG93bWVtIHBvcnRpb24gb2YgdGhlIGluaXRyZCAqLwotCWlmIChyYW1kaXNrX2ltYWdlIDwgZW5kX29mX2xvd21lbSkgewotCQljbGVuID0gZW5kX29mX2xvd21lbSAtIHJhbWRpc2tfaW1hZ2U7Ci0JCXAgPSAoY2hhciAqKV9fdmEocmFtZGlza19pbWFnZSk7Ci0JCW1lbWNweShxLCBwLCBjbGVuKTsKLQkJcSArPSBjbGVuOwotCQlyYW1kaXNrX2ltYWdlICs9IGNsZW47Ci0JCXJhbWRpc2tfc2l6ZSAgLT0gY2xlbjsKLQl9Ci0KLQkvKiBDb3B5IHRoZSBoaWdobWVtIHBvcnRpb24gb2YgdGhlIGluaXRyZCAqLwotCXdoaWxlIChyYW1kaXNrX3NpemUpIHsKLQkJc2xvcCA9IHJhbWRpc2tfaW1hZ2UgJiB+UEFHRV9NQVNLOwotCQljbGVuID0gcmFtZGlza19zaXplOwotCQlpZiAoY2xlbiA+IE1BWF9NQVBfQ0hVTkstc2xvcCkKLQkJCWNsZW4gPSBNQVhfTUFQX0NIVU5LLXNsb3A7Ci0JCW1hcGFkZHIgPSByYW1kaXNrX2ltYWdlICYgUEFHRV9NQVNLOwotCQlwID0gZWFybHlfaW9yZW1hcChtYXBhZGRyLCBjbGVuK3Nsb3ApOwotCQltZW1jcHkocSwgcCtzbG9wLCBjbGVuKTsKLQkJZWFybHlfaW91bm1hcChwLCBjbGVuK3Nsb3ApOwotCQlxICs9IGNsZW47Ci0JCXJhbWRpc2tfaW1hZ2UgKz0gY2xlbjsKLQkJcmFtZGlza19zaXplICAtPSBjbGVuOwotCX0KLX0KLQotI2VuZGlmIC8qIENPTkZJR19CTEtfREVWX0lOSVRSRCAqLwotCi12b2lkIF9faW5pdCBzZXR1cF9ib290bWVtX2FsbG9jYXRvcih2b2lkKQotewotCXVuc2lnbmVkIGxvbmcgYm9vdG1hcF9zaXplOwotCS8qCi0JICogSW5pdGlhbGl6ZSB0aGUgYm9vdC10aW1lIGFsbG9jYXRvciAod2l0aCBsb3cgbWVtb3J5IG9ubHkpOgotCSAqLwotCWJvb3RtYXBfc2l6ZSA9IGluaXRfYm9vdG1lbShtaW5fbG93X3BmbiwgbWF4X2xvd19wZm4pOwotCi0JcmVnaXN0ZXJfYm9vdG1lbV9sb3dfcGFnZXMobWF4X2xvd19wZm4pOwotCi0JLyoKLQkgKiBSZXNlcnZlIHRoZSBib290bWVtIGJpdG1hcCBpdHNlbGYgYXMgd2VsbC4gV2UgZG8gdGhpcyBpbiB0d28KLQkgKiBzdGVwcyAoZmlyc3Qgc3RlcCB3YXMgaW5pdF9ib290bWVtKCkpIGJlY2F1c2UgdGhpcyBjYXRjaGVzCi0JICogdGhlICh2ZXJ5IHVubGlrZWx5KSBjYXNlIG9mIHVzIGFjY2lkZW50YWxseSBpbml0aWFsaXppbmcgdGhlCi0JICogYm9vdG1lbSBhbGxvY2F0b3Igd2l0aCBhbiBpbnZhbGlkIFJBTSBhcmVhLgotCSAqLwotCXJlc2VydmVfYm9vdG1lbShfX3BhX3N5bWJvbChfdGV4dCksIChQRk5fUEhZUyhtaW5fbG93X3BmbikgKwotCQkJIGJvb3RtYXBfc2l6ZSArIFBBR0VfU0laRS0xKSAtIF9fcGFfc3ltYm9sKF90ZXh0KSwKLQkJCSBCT09UTUVNX0RFRkFVTFQpOwotCi0JLyoKLQkgKiByZXNlcnZlIHBoeXNpY2FsIHBhZ2UgMCAtIGl0J3MgYSBzcGVjaWFsIEJJT1MgcGFnZSBvbiBtYW55IGJveGVzLAotCSAqIGVuYWJsaW5nIGNsZWFuIHJlYm9vdHMsIFNNUCBvcGVyYXRpb24sIGxhcHRvcCBmdW5jdGlvbnMuCi0JICovCi0JcmVzZXJ2ZV9ib290bWVtKDAsIFBBR0VfU0laRSwgQk9PVE1FTV9ERUZBVUxUKTsKLQotCS8qIHJlc2VydmUgRUJEQSByZWdpb24gKi8KLQlyZXNlcnZlX2ViZGFfcmVnaW9uKCk7Ci0KLSNpZmRlZiBDT05GSUdfU01QCi0JLyoKLQkgKiBCdXQgZmlyc3QgcGluY2ggYSBmZXcgZm9yIHRoZSBzdGFjay90cmFtcG9saW5lIHN0dWZmCi0JICogRklYTUU6IERvbid0IG5lZWQgdGhlIGV4dHJhIHBhZ2UgYXQgNEssIGJ1dCBuZWVkIHRvIGZpeAotCSAqIHRyYW1wb2xpbmUgYmVmb3JlIHJlbW92aW5nIGl0LiAoc2VlIHRoZSBHRFQgc3R1ZmYpCi0JICovCi0JcmVzZXJ2ZV9ib290bWVtKFBBR0VfU0laRSwgUEFHRV9TSVpFLCBCT09UTUVNX0RFRkFVTFQpOwotI2VuZGlmCi0jaWZkZWYgQ09ORklHX0FDUElfU0xFRVAKLQkvKgotCSAqIFJlc2VydmUgbG93IG1lbW9yeSByZWdpb24gZm9yIHNsZWVwIHN1cHBvcnQuCi0JICovCi0JYWNwaV9yZXNlcnZlX2Jvb3RtZW0oKTsKLSNlbmRpZgotI2lmZGVmIENPTkZJR19YODZfRklORF9TTVBfQ09ORklHCi0JLyoKLQkgKiBGaW5kIGFuZCByZXNlcnZlIHBvc3NpYmxlIGJvb3QtdGltZSBTTVAgY29uZmlndXJhdGlvbjoKLQkgKi8KLQlmaW5kX3NtcF9jb25maWcoKTsKLSNlbmRpZgotI2lmZGVmIENPTkZJR19CTEtfREVWX0lOSVRSRAotCXJlc2VydmVfaW5pdHJkKCk7Ci0jZW5kaWYKLQludW1hX2t2YV9yZXNlcnZlKCk7Ci0JcmVzZXJ2ZV9jcmFzaGtlcm5lbCgpOwotCi0JcmVzZXJ2ZV9pYmZ0X3JlZ2lvbigpOwotfQotCi0vKgotICogVGhlIG5vZGUgMCBwZ2RhdCBpcyBpbml0aWFsaXplZCBiZWZvcmUgYWxsIG9mIHRoZXNlIGJlY2F1c2UKLSAqIGl0J3MgbmVlZGVkIGZvciBib290bWVtLiAgbm9kZT4wIHBnZGF0cyBoYXZlIHRoZWlyIHZpcnR1YWwKLSAqIHNwYWNlIGFsbG9jYXRlZCBiZWZvcmUgdGhlIHBhZ2V0YWJsZXMgYXJlIGluIHBsYWNlIHRvIGFjY2VzcwotICogdGhlbSwgc28gdGhleSBjYW4ndCBiZSBjbGVhcmVkIHRoZW4uCi0gKgotICogVGhpcyBzaG91bGQgYWxsIGNvbXBpbGUgZG93biB0byBub3RoaW5nIHdoZW4gTlVNQSBpcyBvZmYuCi0gKi8KLXN0YXRpYyB2b2lkIF9faW5pdCByZW1hcHBlZF9wZ2RhdF9pbml0KHZvaWQpCi17Ci0JaW50IG5pZDsKLQotCWZvcl9lYWNoX29ubGluZV9ub2RlKG5pZCkgewotCQlpZiAobmlkICE9IDApCi0JCQltZW1zZXQoTk9ERV9EQVRBKG5pZCksIDAsIHNpemVvZihzdHJ1Y3QgcGdsaXN0X2RhdGEpKTsKLQl9Ci19Ci0KLSNpZmRlZiBDT05GSUdfTUNBCi1zdGF0aWMgdm9pZCBzZXRfbWNhX2J1cyhpbnQgeCkKLXsKLQlNQ0FfYnVzID0geDsKLX0KLSNlbHNlCi1zdGF0aWMgdm9pZCBzZXRfbWNhX2J1cyhpbnQgeCkgeyB9Ci0jZW5kaWYKLQotLyogT3ZlcnJpZGRlbiBpbiBwYXJhdmlydC5jIGlmIENPTkZJR19QQVJBVklSVCAqLwotY2hhciAqIF9faW5pdCBfX2F0dHJpYnV0ZV9fKCh3ZWFrKSkgbWVtb3J5X3NldHVwKHZvaWQpCi17Ci0JcmV0dXJuIG1hY2hpbmVfc3BlY2lmaWNfbWVtb3J5X3NldHVwKCk7Ci19Ci0KLSNpZmRlZiBDT05GSUdfTlVNQQotLyoKLSAqIEluIHRoZSBnb2xkZW4gZGF5LCB3aGVuIGV2ZXJ5dGhpbmcgYW1vbmcgaTM4NiBhbmQgeDg2XzY0IHdpbGwgYmUKLSAqIGludGVncmF0ZWQsIHRoaXMgd2lsbCBub3QgbGl2ZSBoZXJlCi0gKi8KLXZvaWQgKng4Nl9jcHVfdG9fbm9kZV9tYXBfZWFybHlfcHRyOwotaW50IHg4Nl9jcHVfdG9fbm9kZV9tYXBfaW5pdFtOUl9DUFVTXSA9IHsKLQlbMCAuLi4gTlJfQ1BVUy0xXSA9IE5VTUFfTk9fTk9ERQotfTsKLURFRklORV9QRVJfQ1BVKGludCwgeDg2X2NwdV90b19ub2RlX21hcCkgPSBOVU1BX05PX05PREU7Ci0jZW5kaWYKLQotLyoKLSAqIERldGVybWluZSBpZiB3ZSB3ZXJlIGxvYWRlZCBieSBhbiBFRkkgbG9hZGVyLiAgSWYgc28sIHRoZW4gd2UgaGF2ZSBhbHNvIGJlZW4KLSAqIHBhc3NlZCB0aGUgZWZpIG1lbW1hcCwgc3lzdGFiLCBldGMuLCBzbyB3ZSBzaG91bGQgdXNlIHRoZXNlIGRhdGEgc3RydWN0dXJlcwotICogZm9yIGluaXRpYWxpemF0aW9uLiAgTm90ZSwgdGhlIGVmaSBpbml0IGNvZGUgcGF0aCBpcyBkZXRlcm1pbmVkIGJ5IHRoZQotICogZ2xvYmFsIGVmaV9lbmFibGVkLiBUaGlzIGFsbG93cyB0aGUgc2FtZSBrZXJuZWwgaW1hZ2UgdG8gYmUgdXNlZCBvbiBleGlzdGluZwotICogc3lzdGVtcyAod2l0aCBhIHRyYWRpdGlvbmFsIEJJT1MpIGFzIHdlbGwgYXMgb24gRUZJIHN5c3RlbXMuCi0gKi8KLXZvaWQgX19pbml0IHNldHVwX2FyY2goY2hhciAqKmNtZGxpbmVfcCkKLXsKLQl1bnNpZ25lZCBsb25nIG1heF9sb3dfcGZuOwotCi0JbWVtY3B5KCZib290X2NwdV9kYXRhLCAmbmV3X2NwdV9kYXRhLCBzaXplb2YobmV3X2NwdV9kYXRhKSk7Ci0JcHJlX3NldHVwX2FyY2hfaG9vaygpOwotCWVhcmx5X2NwdV9pbml0KCk7Ci0JZWFybHlfaW9yZW1hcF9pbml0KCk7Ci0KLSNpZmRlZiBDT05GSUdfRUZJCi0JaWYgKCFzdHJuY21wKChjaGFyICopJmJvb3RfcGFyYW1zLmVmaV9pbmZvLmVmaV9sb2FkZXJfc2lnbmF0dXJlLAotCQkgICAgICJFTDMyIiwgNCkpCi0JCWVmaV9lbmFibGVkID0gMTsKLSNlbmRpZgotCi0JUk9PVF9ERVYgPSBvbGRfZGVjb2RlX2Rldihib290X3BhcmFtcy5oZHIucm9vdF9kZXYpOwotCXNjcmVlbl9pbmZvID0gYm9vdF9wYXJhbXMuc2NyZWVuX2luZm87Ci0JZWRpZF9pbmZvID0gYm9vdF9wYXJhbXMuZWRpZF9pbmZvOwotCWFwbV9pbmZvLmJpb3MgPSBib290X3BhcmFtcy5hcG1fYmlvc19pbmZvOwotCWlzdF9pbmZvID0gYm9vdF9wYXJhbXMuaXN0X2luZm87Ci0Jc2F2ZWRfdmlkZW9fbW9kZSA9IGJvb3RfcGFyYW1zLmhkci52aWRfbW9kZTsKLQlpZiggYm9vdF9wYXJhbXMuc3lzX2Rlc2NfdGFibGUubGVuZ3RoICE9IDAgKSB7Ci0JCXNldF9tY2FfYnVzKGJvb3RfcGFyYW1zLnN5c19kZXNjX3RhYmxlLnRhYmxlWzNdICYgMHgyKTsKLQkJbWFjaGluZV9pZCA9IGJvb3RfcGFyYW1zLnN5c19kZXNjX3RhYmxlLnRhYmxlWzBdOwotCQltYWNoaW5lX3N1Ym1vZGVsX2lkID0gYm9vdF9wYXJhbXMuc3lzX2Rlc2NfdGFibGUudGFibGVbMV07Ci0JCUJJT1NfcmV2aXNpb24gPSBib290X3BhcmFtcy5zeXNfZGVzY190YWJsZS50YWJsZVsyXTsKLQl9Ci0JYm9vdGxvYWRlcl90eXBlID0gYm9vdF9wYXJhbXMuaGRyLnR5cGVfb2ZfbG9hZGVyOwotCi0jaWZkZWYgQ09ORklHX0JMS19ERVZfUkFNCi0JcmRfaW1hZ2Vfc3RhcnQgPSBib290X3BhcmFtcy5oZHIucmFtX3NpemUgJiBSQU1ESVNLX0lNQUdFX1NUQVJUX01BU0s7Ci0JcmRfcHJvbXB0ID0gKChib290X3BhcmFtcy5oZHIucmFtX3NpemUgJiBSQU1ESVNLX1BST01QVF9GTEFHKSAhPSAwKTsKLQlyZF9kb2xvYWQgPSAoKGJvb3RfcGFyYW1zLmhkci5yYW1fc2l6ZSAmIFJBTURJU0tfTE9BRF9GTEFHKSAhPSAwKTsKLSNlbmRpZgotCUFSQ0hfU0VUVVAKLQotCXByaW50ayhLRVJOX0lORk8gIkJJT1MtcHJvdmlkZWQgcGh5c2ljYWwgUkFNIG1hcDpcbiIpOwotCXByaW50X21lbW9yeV9tYXAobWVtb3J5X3NldHVwKCkpOwotCi0JY29weV9lZGQoKTsKLQotCWlmICghYm9vdF9wYXJhbXMuaGRyLnJvb3RfZmxhZ3MpCi0JCXJvb3RfbW91bnRmbGFncyAmPSB+TVNfUkRPTkxZOwotCWluaXRfbW0uc3RhcnRfY29kZSA9ICh1bnNpZ25lZCBsb25nKSBfdGV4dDsKLQlpbml0X21tLmVuZF9jb2RlID0gKHVuc2lnbmVkIGxvbmcpIF9ldGV4dDsKLQlpbml0X21tLmVuZF9kYXRhID0gKHVuc2lnbmVkIGxvbmcpIF9lZGF0YTsKLQlpbml0X21tLmJyayA9IGluaXRfcGdfdGFibGVzX2VuZCArIFBBR0VfT0ZGU0VUOwotCi0JY29kZV9yZXNvdXJjZS5zdGFydCA9IHZpcnRfdG9fcGh5cyhfdGV4dCk7Ci0JY29kZV9yZXNvdXJjZS5lbmQgPSB2aXJ0X3RvX3BoeXMoX2V0ZXh0KS0xOwotCWRhdGFfcmVzb3VyY2Uuc3RhcnQgPSB2aXJ0X3RvX3BoeXMoX2V0ZXh0KTsKLQlkYXRhX3Jlc291cmNlLmVuZCA9IHZpcnRfdG9fcGh5cyhfZWRhdGEpLTE7Ci0JYnNzX3Jlc291cmNlLnN0YXJ0ID0gdmlydF90b19waHlzKCZfX2Jzc19zdGFydCk7Ci0JYnNzX3Jlc291cmNlLmVuZCA9IHZpcnRfdG9fcGh5cygmX19ic3Nfc3RvcCktMTsKLQotCXBhcnNlX2Vhcmx5X3BhcmFtKCk7Ci0KLQlpZiAodXNlcl9kZWZpbmVkX21lbW1hcCkgewotCQlwcmludGsoS0VSTl9JTkZPICJ1c2VyLWRlZmluZWQgcGh5c2ljYWwgUkFNIG1hcDpcbiIpOwotCQlwcmludF9tZW1vcnlfbWFwKCJ1c2VyIik7Ci0JfQotCi0Jc3RybGNweShjb21tYW5kX2xpbmUsIGJvb3RfY29tbWFuZF9saW5lLCBDT01NQU5EX0xJTkVfU0laRSk7Ci0JKmNtZGxpbmVfcCA9IGNvbW1hbmRfbGluZTsKLQotCWlmIChlZmlfZW5hYmxlZCkKLQkJZWZpX2luaXQoKTsKLQotCS8qIHVwZGF0ZSBlODIwIGZvciBtZW1vcnkgbm90IGNvdmVyZWQgYnkgV0IgTVRSUnMgKi8KLQlwcm9wYWdhdGVfZTgyMF9tYXAoKTsKLQltdHJyX2JwX2luaXQoKTsKLQlpZiAobXRycl90cmltX3VuY2FjaGVkX21lbW9yeShtYXhfcGZuKSkKLQkJcHJvcGFnYXRlX2U4MjBfbWFwKCk7Ci0KLQltYXhfbG93X3BmbiA9IHNldHVwX21lbW9yeSgpOwotCi0jaWZkZWYgQ09ORklHX0tWTV9DTE9DSwotCWt2bWNsb2NrX2luaXQoKTsKLSNlbmRpZgotCi0jaWZkZWYgQ09ORklHX1ZNSQotCS8qCi0JICogTXVzdCBiZSBhZnRlciBtYXhfbG93X3BmbiBpcyBkZXRlcm1pbmVkLCBhbmQgYmVmb3JlIGtlcm5lbAotCSAqIHBhZ2V0YWJsZXMgYXJlIHNldHVwLgotCSAqLwotCXZtaV9pbml0KCk7Ci0jZW5kaWYKLQlrdm1fZ3Vlc3RfaW5pdCgpOwotCi0JLyoKLQkgKiBOT1RFOiBiZWZvcmUgdGhpcyBwb2ludCBfbm9ib2R5XyBpcyBhbGxvd2VkIHRvIGFsbG9jYXRlCi0JICogYW55IG1lbW9yeSB1c2luZyB0aGUgYm9vdG1lbSBhbGxvY2F0b3IuICBBbHRob3VnaCB0aGUKLQkgKiBhbGxvY2F0b3IgaXMgbm93IGluaXRpYWxpc2VkIG9ubHkgdGhlIGZpcnN0IDhNYiBvZiB0aGUga2VybmVsCi0JICogdmlydHVhbCBhZGRyZXNzIHNwYWNlIGhhcyBiZWVuIG1hcHBlZC4gIEFsbCBhbGxvY2F0aW9ucyBiZWZvcmUKLQkgKiBwYWdpbmdfaW5pdCgpIGhhcyBjb21wbGV0ZWQgbXVzdCB1c2UgdGhlIGFsbG9jX2Jvb3RtZW1fbG93X3BhZ2VzKCkKLQkgKiB2YXJpYW50ICh3aGljaCBhbGxvY2F0ZXMgRE1BJ2FibGUgbWVtb3J5KSBhbmQgY2FyZSBtdXN0IGJlIHRha2VuCi0JICogbm90IHRvIGV4Y2VlZCB0aGUgOE1iIGxpbWl0LgotCSAqLwotCi0jaWZkZWYgQ09ORklHX1NNUAotCXNtcF9hbGxvY19tZW1vcnkoKTsgLyogQVAgcHJvY2Vzc29yIHJlYWxtb2RlIHN0YWNrcyBpbiBsb3cgbWVtb3J5Ki8KLSNlbmRpZgotCXBhZ2luZ19pbml0KCk7Ci0KLQkvKgotCSAqIE5PVEU6IE9uIHg4Ni0zMiwgb25seSBmcm9tIHRoaXMgcG9pbnQgb24sIGZpeG1hcHMgYXJlIHJlYWR5IGZvciB1c2UuCi0JICovCi0KLSNpZmRlZiBDT05GSUdfUFJPVklERV9PSENJMTM5NF9ETUFfSU5JVAotCWlmIChpbml0X29oY2kxMzk0X2RtYV9lYXJseSkKLQkJaW5pdF9vaGNpMTM5NF9kbWFfb25fYWxsX2NvbnRyb2xsZXJzKCk7Ci0jZW5kaWYKLQotCXJlbWFwcGVkX3BnZGF0X2luaXQoKTsKLQlzcGFyc2VfaW5pdCgpOwotCXpvbmVfc2l6ZXNfaW5pdCgpOwotCi0JLyoKLQkgKiBOT1RFOiBhdCB0aGlzIHBvaW50IHRoZSBib290bWVtIGFsbG9jYXRvciBpcyBmdWxseSBhdmFpbGFibGUuCi0JICovCi0KLSNpZmRlZiBDT05GSUdfQkxLX0RFVl9JTklUUkQKLQlyZWxvY2F0ZV9pbml0cmQoKTsKLSNlbmRpZgotCi0JcGFyYXZpcnRfcG9zdF9hbGxvY2F0b3JfaW5pdCgpOwotCi0JZG1pX3NjYW5fbWFjaGluZSgpOwotCi0JaW9fZGVsYXlfaW5pdCgpOwotCi0jaWZkZWYgQ09ORklHX1g4Nl9TTVAKLQkvKgotCSAqIHNldHVwIHRvIHVzZSB0aGUgZWFybHkgc3RhdGljIGluaXQgdGFibGVzIGR1cmluZyBrZXJuZWwgc3RhcnR1cAotCSAqIFg4Nl9TTVAgd2lsbCBleGNsdWRlIHN1Yi1hcmNoZXMgdGhhdCBkb24ndCBkZWFsIHdlbGwgd2l0aCBpdC4KLQkgKi8KLQl4ODZfY3B1X3RvX2FwaWNpZF9lYXJseV9wdHIgPSAodm9pZCAqKXg4Nl9jcHVfdG9fYXBpY2lkX2luaXQ7Ci0JeDg2X2Jpb3NfY3B1X2FwaWNpZF9lYXJseV9wdHIgPSAodm9pZCAqKXg4Nl9iaW9zX2NwdV9hcGljaWRfaW5pdDsKLSNpZmRlZiBDT05GSUdfTlVNQQotCXg4Nl9jcHVfdG9fbm9kZV9tYXBfZWFybHlfcHRyID0gKHZvaWQgKil4ODZfY3B1X3RvX25vZGVfbWFwX2luaXQ7Ci0jZW5kaWYKLSNlbmRpZgotCi0jaWZkZWYgQ09ORklHX1g4Nl9HRU5FUklDQVJDSAotCWdlbmVyaWNfYXBpY19wcm9iZSgpOwotI2VuZGlmCi0KLSNpZmRlZiBDT05GSUdfQUNQSQotCS8qCi0JICogUGFyc2UgdGhlIEFDUEkgdGFibGVzIGZvciBwb3NzaWJsZSBib290LXRpbWUgU01QIGNvbmZpZ3VyYXRpb24uCi0JICovCi0JYWNwaV9ib290X3RhYmxlX2luaXQoKTsKLSNlbmRpZgotCi0JZWFybHlfcXVpcmtzKCk7Ci0KLSNpZmRlZiBDT05GSUdfQUNQSQotCWFjcGlfYm9vdF9pbml0KCk7Ci0KLSNpZiBkZWZpbmVkKENPTkZJR19TTVApICYmIGRlZmluZWQoQ09ORklHX1g4Nl9QQykKLQlpZiAoZGVmX3RvX2JpZ3NtcCkKLQkJcHJpbnRrKEtFUk5fV0FSTklORyAiTW9yZSB0aGFuIDggQ1BVcyBkZXRlY3RlZCBhbmQgIgotCQkJIkNPTkZJR19YODZfUEMgY2Fubm90IGhhbmRsZSBpdC5cblVzZSAiCi0JCQkiQ09ORklHX1g4Nl9HRU5FUklDQVJDSCBvciBDT05GSUdfWDg2X0JJR1NNUC5cbiIpOwotI2VuZGlmCi0jZW5kaWYKLSNpZmRlZiBDT05GSUdfWDg2X0xPQ0FMX0FQSUMKLQlpZiAoc21wX2ZvdW5kX2NvbmZpZykKLQkJZ2V0X3NtcF9jb25maWcoKTsKLSNlbmRpZgotCi0JZTgyMF9yZWdpc3Rlcl9tZW1vcnkoKTsKLQllODIwX21hcmtfbm9zYXZlX3JlZ2lvbnMoKTsKLQotI2lmZGVmIENPTkZJR19WVAotI2lmIGRlZmluZWQoQ09ORklHX1ZHQV9DT05TT0xFKQotCWlmICghZWZpX2VuYWJsZWQgfHwgKGVmaV9tZW1fdHlwZSgweGEwMDAwKSAhPSBFRklfQ09OVkVOVElPTkFMX01FTU9SWSkpCi0JCWNvbnN3aXRjaHAgPSAmdmdhX2NvbjsKLSNlbGlmIGRlZmluZWQoQ09ORklHX0RVTU1ZX0NPTlNPTEUpCi0JY29uc3dpdGNocCA9ICZkdW1teV9jb247Ci0jZW5kaWYKLSNlbmRpZgotfQotCi0vKgotICogUmVxdWVzdCBhZGRyZXNzIHNwYWNlIGZvciBhbGwgc3RhbmRhcmQgcmVzb3VyY2VzCi0gKgotICogVGhpcyBpcyBjYWxsZWQganVzdCBiZWZvcmUgcGNpYmlvc19pbml0KCksIHdoaWNoIGlzIGFsc28gYQotICogc3Vic3lzX2luaXRjYWxsLCBidXQgaXMgbGlua2VkIGluIGxhdGVyIChpbiBhcmNoL2kzODYvcGNpL2NvbW1vbi5jKS4KLSAqLwotc3RhdGljIGludCBfX2luaXQgcmVxdWVzdF9zdGFuZGFyZF9yZXNvdXJjZXModm9pZCkKLXsKLQlpbnQgaTsKLQotCXByaW50ayhLRVJOX0lORk8gIlNldHRpbmcgdXAgc3RhbmRhcmQgUENJIHJlc291cmNlc1xuIik7Ci0JaW5pdF9pb21lbV9yZXNvdXJjZXMoJmNvZGVfcmVzb3VyY2UsICZkYXRhX3Jlc291cmNlLCAmYnNzX3Jlc291cmNlKTsKLQotCXJlcXVlc3RfcmVzb3VyY2UoJmlvbWVtX3Jlc291cmNlLCAmdmlkZW9fcmFtX3Jlc291cmNlKTsKLQotCS8qIHJlcXVlc3QgSS9PIHNwYWNlIGZvciBkZXZpY2VzIHVzZWQgb24gYWxsIGlbMzQ1XTg2IFBDcyAqLwotCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHN0YW5kYXJkX2lvX3Jlc291cmNlcyk7IGkrKykKLQkJcmVxdWVzdF9yZXNvdXJjZSgmaW9wb3J0X3Jlc291cmNlLCAmc3RhbmRhcmRfaW9fcmVzb3VyY2VzW2ldKTsKLQlyZXR1cm4gMDsKLX0KLQotc3Vic3lzX2luaXRjYWxsKHJlcXVlc3Rfc3RhbmRhcmRfcmVzb3VyY2VzKTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9zZXR1cF82NC5jIGIvYXJjaC94ODYva2VybmVsL3NldHVwXzY0LmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZkZmYxMjguLjAwMDAwMDAKLS0tIGEvYXJjaC94ODYva2VybmVsL3NldHVwXzY0LmMKKysrIC9kZXYvbnVsbApAQCAtMSwxMTk0ICswLDAgQEAKLS8qCi0gKiAgQ29weXJpZ2h0IChDKSAxOTk1ICBMaW51cyBUb3J2YWxkcwotICovCi0KLS8qCi0gKiBUaGlzIGZpbGUgaGFuZGxlcyB0aGUgYXJjaGl0ZWN0dXJlLWRlcGVuZGVudCBwYXJ0cyBvZiBpbml0aWFsaXphdGlvbgotICovCi0KLSNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgotI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+Ci0jaW5jbHVkZSA8bGludXgva2VybmVsLmg+Ci0jaW5jbHVkZSA8bGludXgvbW0uaD4KLSNpbmNsdWRlIDxsaW51eC9zdGRkZWYuaD4KLSNpbmNsdWRlIDxsaW51eC91bmlzdGQuaD4KLSNpbmNsdWRlIDxsaW51eC9wdHJhY2UuaD4KLSNpbmNsdWRlIDxsaW51eC9zbGFiLmg+Ci0jaW5jbHVkZSA8bGludXgvdXNlci5oPgotI2luY2x1ZGUgPGxpbnV4L3NjcmVlbl9pbmZvLmg+Ci0jaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+Ci0jaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KLSNpbmNsdWRlIDxsaW51eC9pbml0Lmg+Ci0jaW5jbHVkZSA8bGludXgvaW5pdHJkLmg+Ci0jaW5jbHVkZSA8bGludXgvaGlnaG1lbS5oPgotI2luY2x1ZGUgPGxpbnV4L2Jvb3RtZW0uaD4KLSNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KLSNpbmNsdWRlIDxhc20vcHJvY2Vzc29yLmg+Ci0jaW5jbHVkZSA8bGludXgvY29uc29sZS5oPgotI2luY2x1ZGUgPGxpbnV4L3NlcV9maWxlLmg+Ci0jaW5jbHVkZSA8bGludXgvY3Jhc2hfZHVtcC5oPgotI2luY2x1ZGUgPGxpbnV4L3Jvb3RfZGV2Lmg+Ci0jaW5jbHVkZSA8bGludXgvcGNpLmg+Ci0jaW5jbHVkZSA8YXNtL3BjaS1kaXJlY3QuaD4KLSNpbmNsdWRlIDxsaW51eC9lZmkuaD4KLSNpbmNsdWRlIDxsaW51eC9hY3BpLmg+Ci0jaW5jbHVkZSA8bGludXgva2FsbHN5bXMuaD4KLSNpbmNsdWRlIDxsaW51eC9lZGQuaD4KLSNpbmNsdWRlIDxsaW51eC9pc2NzaV9pYmZ0Lmg+Ci0jaW5jbHVkZSA8bGludXgvbW16b25lLmg+Ci0jaW5jbHVkZSA8bGludXgva2V4ZWMuaD4KLSNpbmNsdWRlIDxsaW51eC9jcHVmcmVxLmg+Ci0jaW5jbHVkZSA8bGludXgvZG1pLmg+Ci0jaW5jbHVkZSA8bGludXgvZG1hLW1hcHBpbmcuaD4KLSNpbmNsdWRlIDxsaW51eC9jdHlwZS5oPgotI2luY2x1ZGUgPGxpbnV4L3NvcnQuaD4KLSNpbmNsdWRlIDxsaW51eC91YWNjZXNzLmg+Ci0jaW5jbHVkZSA8bGludXgvaW5pdF9vaGNpMTM5NF9kbWEuaD4KLSNpbmNsdWRlIDxsaW51eC9rdm1fcGFyYS5oPgotCi0jaW5jbHVkZSA8YXNtL210cnIuaD4KLSNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgotI2luY2x1ZGUgPGFzbS9zeXN0ZW0uaD4KLSNpbmNsdWRlIDxhc20vdnN5c2NhbGwuaD4KLSNpbmNsdWRlIDxhc20vaW8uaD4KLSNpbmNsdWRlIDxhc20vc21wLmg+Ci0jaW5jbHVkZSA8YXNtL21zci5oPgotI2luY2x1ZGUgPGFzbS9kZXNjLmg+Ci0jaW5jbHVkZSA8dmlkZW8vZWRpZC5oPgotI2luY2x1ZGUgPGFzbS9lODIwLmg+Ci0jaW5jbHVkZSA8YXNtL2RtYS5oPgotI2luY2x1ZGUgPGFzbS9nYXJ0Lmg+Ci0jaW5jbHVkZSA8YXNtL21wc3BlYy5oPgotI2luY2x1ZGUgPGFzbS9tbXVfY29udGV4dC5oPgotI2luY2x1ZGUgPGFzbS9wcm90by5oPgotI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgotI2luY2x1ZGUgPGFzbS9udW1hLmg+Ci0jaW5jbHVkZSA8YXNtL3NlY3Rpb25zLmg+Ci0jaW5jbHVkZSA8YXNtL2RtaS5oPgotI2luY2x1ZGUgPGFzbS9jYWNoZWZsdXNoLmg+Ci0jaW5jbHVkZSA8YXNtL21jZS5oPgotI2luY2x1ZGUgPGFzbS9kcy5oPgotI2luY2x1ZGUgPGFzbS90b3BvbG9neS5oPgotI2luY2x1ZGUgPGFzbS90cmFtcG9saW5lLmg+Ci0jaW5jbHVkZSA8YXNtL3BhdC5oPgotCi0jaW5jbHVkZSA8bWFjaF9hcGljLmg+Ci0jaWZkZWYgQ09ORklHX1BBUkFWSVJUCi0jaW5jbHVkZSA8YXNtL3BhcmF2aXJ0Lmg+Ci0jZWxzZQotI2RlZmluZSBBUkNIX1NFVFVQCi0jZW5kaWYKLQotLyoKLSAqIE1hY2hpbmUgc2V0dXAuLgotICovCi0KLXN0cnVjdCBjcHVpbmZvX3g4NiBib290X2NwdV9kYXRhIF9fcmVhZF9tb3N0bHk7Ci1FWFBPUlRfU1lNQk9MKGJvb3RfY3B1X2RhdGEpOwotCi1fX3UzMiBjbGVhcmVkX2NwdV9jYXBzW05DQVBJTlRTXSBfX2NwdWluaXRkYXRhOwotCi11bnNpZ25lZCBsb25nIG1tdV9jcjRfZmVhdHVyZXM7Ci0KLS8qIEJvb3QgbG9hZGVyIElEIGFzIGFuIGludGVnZXIsIGZvciB0aGUgYmVuZWZpdCBvZiBwcm9jX2RvaW50dmVjICovCi1pbnQgYm9vdGxvYWRlcl90eXBlOwotCi11bnNpZ25lZCBsb25nIHNhdmVkX3ZpZGVvX21vZGU7Ci0KLWludCBmb3JjZV9td2FpdCBfX2NwdWluaXRkYXRhOwotCi0vKgotICogRWFybHkgRE1JIG1lbW9yeQotICovCi1pbnQgZG1pX2FsbG9jX2luZGV4OwotY2hhciBkbWlfYWxsb2NfZGF0YVtETUlfTUFYX0RBVEFdOwotCi0vKgotICogU2V0dXAgb3B0aW9ucwotICovCi1zdHJ1Y3Qgc2NyZWVuX2luZm8gc2NyZWVuX2luZm87Ci1FWFBPUlRfU1lNQk9MKHNjcmVlbl9pbmZvKTsKLXN0cnVjdCBzeXNfZGVzY190YWJsZV9zdHJ1Y3QgewotCXVuc2lnbmVkIHNob3J0IGxlbmd0aDsKLQl1bnNpZ25lZCBjaGFyIHRhYmxlWzBdOwotfTsKLQotc3RydWN0IGVkaWRfaW5mbyBlZGlkX2luZm87Ci1FWFBPUlRfU1lNQk9MX0dQTChlZGlkX2luZm8pOwotCi1leHRlcm4gaW50IHJvb3RfbW91bnRmbGFnczsKLQotY2hhciBfX2luaXRkYXRhIGNvbW1hbmRfbGluZVtDT01NQU5EX0xJTkVfU0laRV07Ci0KLXN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2Ugc3RhbmRhcmRfaW9fcmVzb3VyY2VzW10gPSB7Ci0JeyAubmFtZSA9ICJkbWExIiwgLnN0YXJ0ID0gMHgwMCwgLmVuZCA9IDB4MWYsCi0JCS5mbGFncyA9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfSU8gfSwKLQl7IC5uYW1lID0gInBpYzEiLCAuc3RhcnQgPSAweDIwLCAuZW5kID0gMHgyMSwKLQkJLmZsYWdzID0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9JTyB9LAotCXsgLm5hbWUgPSAidGltZXIwIiwgLnN0YXJ0ID0gMHg0MCwgLmVuZCA9IDB4NDMsCi0JCS5mbGFncyA9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfSU8gfSwKLQl7IC5uYW1lID0gInRpbWVyMSIsIC5zdGFydCA9IDB4NTAsIC5lbmQgPSAweDUzLAotCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX0lPIH0sCi0JeyAubmFtZSA9ICJrZXlib2FyZCIsIC5zdGFydCA9IDB4NjAsIC5lbmQgPSAweDYwLAotCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX0lPIH0sCi0JeyAubmFtZSA9ICJrZXlib2FyZCIsIC5zdGFydCA9IDB4NjQsIC5lbmQgPSAweDY0LAotCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX0lPIH0sCi0JeyAubmFtZSA9ICJkbWEgcGFnZSByZWciLCAuc3RhcnQgPSAweDgwLCAuZW5kID0gMHg4ZiwKLQkJLmZsYWdzID0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9JTyB9LAotCXsgLm5hbWUgPSAicGljMiIsIC5zdGFydCA9IDB4YTAsIC5lbmQgPSAweGExLAotCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX0lPIH0sCi0JeyAubmFtZSA9ICJkbWEyIiwgLnN0YXJ0ID0gMHhjMCwgLmVuZCA9IDB4ZGYsCi0JCS5mbGFncyA9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfSU8gfSwKLQl7IC5uYW1lID0gImZwdSIsIC5zdGFydCA9IDB4ZjAsIC5lbmQgPSAweGZmLAotCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX0lPIH0KLX07Ci0KLSNkZWZpbmUgSU9SRVNPVVJDRV9SQU0gKElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfTUVNKQotCi1zdGF0aWMgc3RydWN0IHJlc291cmNlIGRhdGFfcmVzb3VyY2UgPSB7Ci0JLm5hbWUgPSAiS2VybmVsIGRhdGEiLAotCS5zdGFydCA9IDAsCi0JLmVuZCA9IDAsCi0JLmZsYWdzID0gSU9SRVNPVVJDRV9SQU0sCi19Owotc3RhdGljIHN0cnVjdCByZXNvdXJjZSBjb2RlX3Jlc291cmNlID0gewotCS5uYW1lID0gIktlcm5lbCBjb2RlIiwKLQkuc3RhcnQgPSAwLAotCS5lbmQgPSAwLAotCS5mbGFncyA9IElPUkVTT1VSQ0VfUkFNLAotfTsKLXN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgYnNzX3Jlc291cmNlID0gewotCS5uYW1lID0gIktlcm5lbCBic3MiLAotCS5zdGFydCA9IDAsCi0JLmVuZCA9IDAsCi0JLmZsYWdzID0gSU9SRVNPVVJDRV9SQU0sCi19OwotCi1zdGF0aWMgdm9pZCBfX2NwdWluaXQgZWFybHlfaWRlbnRpZnlfY3B1KHN0cnVjdCBjcHVpbmZvX3g4NiAqYyk7Ci0KLSNpZmRlZiBDT05GSUdfUFJPQ19WTUNPUkUKLS8qIGVsZmNvcmVoZHI9IHNwZWNpZmllcyB0aGUgbG9jYXRpb24gb2YgZWxmIGNvcmUgaGVhZGVyCi0gKiBzdG9yZWQgYnkgdGhlIGNyYXNoZWQga2VybmVsLiBUaGlzIG9wdGlvbiB3aWxsIGJlIHBhc3NlZAotICogYnkga2V4ZWMgbG9hZGVyIHRvIHRoZSBjYXB0dXJlIGtlcm5lbC4KLSAqLwotc3RhdGljIGludCBfX2luaXQgc2V0dXBfZWxmY29yZWhkcihjaGFyICphcmcpCi17Ci0JY2hhciAqZW5kOwotCWlmICghYXJnKQotCQlyZXR1cm4gLUVJTlZBTDsKLQllbGZjb3JlaGRyX2FkZHIgPSBtZW1wYXJzZShhcmcsICZlbmQpOwotCXJldHVybiBlbmQgPiBhcmcgPyAwIDogLUVJTlZBTDsKLX0KLWVhcmx5X3BhcmFtKCJlbGZjb3JlaGRyIiwgc2V0dXBfZWxmY29yZWhkcik7Ci0jZW5kaWYKLQotI2lmbmRlZiBDT05GSUdfTlVNQQotc3RhdGljIHZvaWQgX19pbml0Ci1jb250aWdfaW5pdG1lbV9pbml0KHVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuLCB1bnNpZ25lZCBsb25nIGVuZF9wZm4pCi17Ci0JdW5zaWduZWQgbG9uZyBib290bWFwX3NpemUsIGJvb3RtYXA7Ci0KLQlib290bWFwX3NpemUgPSBib290bWVtX2Jvb3RtYXBfcGFnZXMoZW5kX3Bmbik8PFBBR0VfU0hJRlQ7Ci0JYm9vdG1hcCA9IGZpbmRfZTgyMF9hcmVhKDAsIGVuZF9wZm48PFBBR0VfU0hJRlQsIGJvb3RtYXBfc2l6ZSwKLQkJCQkgUEFHRV9TSVpFKTsKLQlpZiAoYm9vdG1hcCA9PSAtMUwpCi0JCXBhbmljKCJDYW5ub3QgZmluZCBib290bWVtIG1hcCBvZiBzaXplICVsZFxuIiwgYm9vdG1hcF9zaXplKTsKLQlib290bWFwX3NpemUgPSBpbml0X2Jvb3RtZW0oYm9vdG1hcCA+PiBQQUdFX1NISUZULCBlbmRfcGZuKTsKLQllODIwX3JlZ2lzdGVyX2FjdGl2ZV9yZWdpb25zKDAsIHN0YXJ0X3BmbiwgZW5kX3Bmbik7Ci0JZnJlZV9ib290bWVtX3dpdGhfYWN0aXZlX3JlZ2lvbnMoMCwgZW5kX3Bmbik7Ci0JZWFybHlfcmVzX3RvX2Jvb3RtZW0oMCwgZW5kX3Bmbjw8UEFHRV9TSElGVCk7Ci0JcmVzZXJ2ZV9ib290bWVtKGJvb3RtYXAsIGJvb3RtYXBfc2l6ZSwgQk9PVE1FTV9ERUZBVUxUKTsKLX0KLSNlbmRpZgotCi0jaWYgZGVmaW5lZChDT05GSUdfRUREKSB8fCBkZWZpbmVkKENPTkZJR19FRERfTU9EVUxFKQotc3RydWN0IGVkZCBlZGQ7Ci0jaWZkZWYgQ09ORklHX0VERF9NT0RVTEUKLUVYUE9SVF9TWU1CT0woZWRkKTsKLSNlbmRpZgotLyoqCi0gKiBjb3B5X2VkZCgpIC0gQ29weSB0aGUgQklPUyBFREQgaW5mb3JtYXRpb24KLSAqICAgICAgICAgICAgICBmcm9tIGJvb3RfcGFyYW1zIGludG8gYSBzYWZlIHBsYWNlLgotICoKLSAqLwotc3RhdGljIGlubGluZSB2b2lkIGNvcHlfZWRkKHZvaWQpCi17Ci0gICAgIG1lbWNweShlZGQubWJyX3NpZ25hdHVyZSwgYm9vdF9wYXJhbXMuZWRkX21icl9zaWdfYnVmZmVyLAotCSAgICBzaXplb2YoZWRkLm1icl9zaWduYXR1cmUpKTsKLSAgICAgbWVtY3B5KGVkZC5lZGRfaW5mbywgYm9vdF9wYXJhbXMuZWRkYnVmLCBzaXplb2YoZWRkLmVkZF9pbmZvKSk7Ci0gICAgIGVkZC5tYnJfc2lnbmF0dXJlX25yID0gYm9vdF9wYXJhbXMuZWRkX21icl9zaWdfYnVmX2VudHJpZXM7Ci0gICAgIGVkZC5lZGRfaW5mb19uciA9IGJvb3RfcGFyYW1zLmVkZGJ1Zl9lbnRyaWVzOwotfQotI2Vsc2UKLXN0YXRpYyBpbmxpbmUgdm9pZCBjb3B5X2VkZCh2b2lkKQotewotfQotI2VuZGlmCi0KLSNpZmRlZiBDT05GSUdfS0VYRUMKLXN0YXRpYyB2b2lkIF9faW5pdCByZXNlcnZlX2NyYXNoa2VybmVsKHZvaWQpCi17Ci0JdW5zaWduZWQgbG9uZyBsb25nIHRvdGFsX21lbTsKLQl1bnNpZ25lZCBsb25nIGxvbmcgY3Jhc2hfc2l6ZSwgY3Jhc2hfYmFzZTsKLQlpbnQgcmV0OwotCi0JdG90YWxfbWVtID0gKCh1bnNpZ25lZCBsb25nIGxvbmcpbWF4X2xvd19wZm4gLSBtaW5fbG93X3BmbikgPDwgUEFHRV9TSElGVDsKLQotCXJldCA9IHBhcnNlX2NyYXNoa2VybmVsKGJvb3RfY29tbWFuZF9saW5lLCB0b3RhbF9tZW0sCi0JCQkmY3Jhc2hfc2l6ZSwgJmNyYXNoX2Jhc2UpOwotCWlmIChyZXQgPT0gMCAmJiBjcmFzaF9zaXplKSB7Ci0JCWlmIChjcmFzaF9iYXNlIDw9IDApIHsKLQkJCXByaW50ayhLRVJOX0lORk8gImNyYXNoa2VybmVsIHJlc2VydmF0aW9uIGZhaWxlZCAtICIKLQkJCQkJInlvdSBoYXZlIHRvIHNwZWNpZnkgYSBiYXNlIGFkZHJlc3NcbiIpOwotCQkJcmV0dXJuOwotCQl9Ci0KLQkJaWYgKHJlc2VydmVfYm9vdG1lbShjcmFzaF9iYXNlLCBjcmFzaF9zaXplLAotCQkJCQlCT09UTUVNX0VYQ0xVU0lWRSkgPCAwKSB7Ci0JCQlwcmludGsoS0VSTl9JTkZPICJjcmFzaGtlcm5lbCByZXNlcnZhdGlvbiBmYWlsZWQgLSAiCi0JCQkJCSJtZW1vcnkgaXMgaW4gdXNlXG4iKTsKLQkJCXJldHVybjsKLQkJfQotCi0JCXByaW50ayhLRVJOX0lORk8gIlJlc2VydmluZyAlbGRNQiBvZiBtZW1vcnkgYXQgJWxkTUIgIgotCQkJCSJmb3IgY3Jhc2hrZXJuZWwgKFN5c3RlbSBSQU06ICVsZE1CKVxuIiwKLQkJCQkodW5zaWduZWQgbG9uZykoY3Jhc2hfc2l6ZSA+PiAyMCksCi0JCQkJKHVuc2lnbmVkIGxvbmcpKGNyYXNoX2Jhc2UgPj4gMjApLAotCQkJCSh1bnNpZ25lZCBsb25nKSh0b3RhbF9tZW0gPj4gMjApKTsKLQkJY3Jhc2hrX3Jlcy5zdGFydCA9IGNyYXNoX2Jhc2U7Ci0JCWNyYXNoa19yZXMuZW5kICAgPSBjcmFzaF9iYXNlICsgY3Jhc2hfc2l6ZSAtIDE7Ci0JCWluc2VydF9yZXNvdXJjZSgmaW9tZW1fcmVzb3VyY2UsICZjcmFzaGtfcmVzKTsKLQl9Ci19Ci0jZWxzZQotc3RhdGljIGlubGluZSB2b2lkIF9faW5pdCByZXNlcnZlX2NyYXNoa2VybmVsKHZvaWQpCi17fQotI2VuZGlmCi0KLS8qIE92ZXJyaWRkZW4gaW4gcGFyYXZpcnQuYyBpZiBDT05GSUdfUEFSQVZJUlQgKi8KLXZvaWQgX19hdHRyaWJ1dGVfXygod2VhaykpIF9faW5pdCBtZW1vcnlfc2V0dXAodm9pZCkKLXsKLSAgICAgICBtYWNoaW5lX3NwZWNpZmljX21lbW9yeV9zZXR1cCgpOwotfQotCi1zdGF0aWMgdm9pZCBfX2luaXQgcGFyc2Vfc2V0dXBfZGF0YSh2b2lkKQotewotCXN0cnVjdCBzZXR1cF9kYXRhICpkYXRhOwotCXVuc2lnbmVkIGxvbmcgcGFfZGF0YTsKLQotCWlmIChib290X3BhcmFtcy5oZHIudmVyc2lvbiA8IDB4MDIwOSkKLQkJcmV0dXJuOwotCXBhX2RhdGEgPSBib290X3BhcmFtcy5oZHIuc2V0dXBfZGF0YTsKLQl3aGlsZSAocGFfZGF0YSkgewotCQlkYXRhID0gZWFybHlfaW9yZW1hcChwYV9kYXRhLCBQQUdFX1NJWkUpOwotCQlzd2l0Y2ggKGRhdGEtPnR5cGUpIHsKLQkJZGVmYXVsdDoKLQkJCWJyZWFrOwotCQl9Ci0jaWZuZGVmIENPTkZJR19ERUJVR19CT09UX1BBUkFNUwotCQlmcmVlX2Vhcmx5KHBhX2RhdGEsIHBhX2RhdGErc2l6ZW9mKCpkYXRhKStkYXRhLT5sZW4pOwotI2VuZGlmCi0JCXBhX2RhdGEgPSBkYXRhLT5uZXh0OwotCQllYXJseV9pb3VubWFwKGRhdGEsIFBBR0VfU0laRSk7Ci0JfQotfQotCi0jaWZkZWYgQ09ORklHX1BDSV9NTUNPTkZJRwotZXh0ZXJuIHZvaWQgX19jcHVpbml0IGZhbTEwaF9jaGVja19lbmFibGVfbW1jZmcodm9pZCk7Ci1leHRlcm4gdm9pZCBfX2luaXQgY2hlY2tfZW5hYmxlX2FtZF9tbWNvbmZfZG1pKHZvaWQpOwotI2Vsc2UKLXZvaWQgX19jcHVpbml0IGZhbTEwaF9jaGVja19lbmFibGVfbW1jZmcodm9pZCkKLXsKLX0KLXZvaWQgX19pbml0IGNoZWNrX2VuYWJsZV9hbWRfbW1jb25mX2RtaSh2b2lkKQotewotfQotI2VuZGlmCi0KLS8qCi0gKiBzZXR1cF9hcmNoIC0gYXJjaGl0ZWN0dXJlLXNwZWNpZmljIGJvb3QtdGltZSBpbml0aWFsaXphdGlvbnMKLSAqCi0gKiBOb3RlOiBPbiB4ODZfNjQsIGZpeG1hcHMgYXJlIHJlYWR5IGZvciB1c2UgZXZlbiBiZWZvcmUgdGhpcyBpcyBjYWxsZWQuCi0gKi8KLXZvaWQgX19pbml0IHNldHVwX2FyY2goY2hhciAqKmNtZGxpbmVfcCkKLXsKLQl1bnNpZ25lZCBpOwotCi0JcHJpbnRrKEtFUk5fSU5GTyAiQ29tbWFuZCBsaW5lOiAlc1xuIiwgYm9vdF9jb21tYW5kX2xpbmUpOwotCi0JUk9PVF9ERVYgPSBvbGRfZGVjb2RlX2Rldihib290X3BhcmFtcy5oZHIucm9vdF9kZXYpOwotCXNjcmVlbl9pbmZvID0gYm9vdF9wYXJhbXMuc2NyZWVuX2luZm87Ci0JZWRpZF9pbmZvID0gYm9vdF9wYXJhbXMuZWRpZF9pbmZvOwotCXNhdmVkX3ZpZGVvX21vZGUgPSBib290X3BhcmFtcy5oZHIudmlkX21vZGU7Ci0JYm9vdGxvYWRlcl90eXBlID0gYm9vdF9wYXJhbXMuaGRyLnR5cGVfb2ZfbG9hZGVyOwotCi0jaWZkZWYgQ09ORklHX0JMS19ERVZfUkFNCi0JcmRfaW1hZ2Vfc3RhcnQgPSBib290X3BhcmFtcy5oZHIucmFtX3NpemUgJiBSQU1ESVNLX0lNQUdFX1NUQVJUX01BU0s7Ci0JcmRfcHJvbXB0ID0gKChib290X3BhcmFtcy5oZHIucmFtX3NpemUgJiBSQU1ESVNLX1BST01QVF9GTEFHKSAhPSAwKTsKLQlyZF9kb2xvYWQgPSAoKGJvb3RfcGFyYW1zLmhkci5yYW1fc2l6ZSAmIFJBTURJU0tfTE9BRF9GTEFHKSAhPSAwKTsKLSNlbmRpZgotI2lmZGVmIENPTkZJR19FRkkKLQlpZiAoIXN0cm5jbXAoKGNoYXIgKikmYm9vdF9wYXJhbXMuZWZpX2luZm8uZWZpX2xvYWRlcl9zaWduYXR1cmUsCi0JCSAgICAgIkVMNjQiLCA0KSkKLQkJZWZpX2VuYWJsZWQgPSAxOwotI2VuZGlmCi0KLQlBUkNIX1NFVFVQCi0KLQltZW1vcnlfc2V0dXAoKTsKLQljb3B5X2VkZCgpOwotCi0JaWYgKCFib290X3BhcmFtcy5oZHIucm9vdF9mbGFncykKLQkJcm9vdF9tb3VudGZsYWdzICY9IH5NU19SRE9OTFk7Ci0JaW5pdF9tbS5zdGFydF9jb2RlID0gKHVuc2lnbmVkIGxvbmcpICZfdGV4dDsKLQlpbml0X21tLmVuZF9jb2RlID0gKHVuc2lnbmVkIGxvbmcpICZfZXRleHQ7Ci0JaW5pdF9tbS5lbmRfZGF0YSA9ICh1bnNpZ25lZCBsb25nKSAmX2VkYXRhOwotCWluaXRfbW0uYnJrID0gKHVuc2lnbmVkIGxvbmcpICZfZW5kOwotCi0JY29kZV9yZXNvdXJjZS5zdGFydCA9IHZpcnRfdG9fcGh5cygmX3RleHQpOwotCWNvZGVfcmVzb3VyY2UuZW5kID0gdmlydF90b19waHlzKCZfZXRleHQpLTE7Ci0JZGF0YV9yZXNvdXJjZS5zdGFydCA9IHZpcnRfdG9fcGh5cygmX2V0ZXh0KTsKLQlkYXRhX3Jlc291cmNlLmVuZCA9IHZpcnRfdG9fcGh5cygmX2VkYXRhKS0xOwotCWJzc19yZXNvdXJjZS5zdGFydCA9IHZpcnRfdG9fcGh5cygmX19ic3Nfc3RhcnQpOwotCWJzc19yZXNvdXJjZS5lbmQgPSB2aXJ0X3RvX3BoeXMoJl9fYnNzX3N0b3ApLTE7Ci0KLQllYXJseV9pZGVudGlmeV9jcHUoJmJvb3RfY3B1X2RhdGEpOwotCi0Jc3RybGNweShjb21tYW5kX2xpbmUsIGJvb3RfY29tbWFuZF9saW5lLCBDT01NQU5EX0xJTkVfU0laRSk7Ci0JKmNtZGxpbmVfcCA9IGNvbW1hbmRfbGluZTsKLQotCXBhcnNlX3NldHVwX2RhdGEoKTsKLQotCXBhcnNlX2Vhcmx5X3BhcmFtKCk7Ci0KLSNpZmRlZiBDT05GSUdfUFJPVklERV9PSENJMTM5NF9ETUFfSU5JVAotCWlmIChpbml0X29oY2kxMzk0X2RtYV9lYXJseSkKLQkJaW5pdF9vaGNpMTM5NF9kbWFfb25fYWxsX2NvbnRyb2xsZXJzKCk7Ci0jZW5kaWYKLQotCWZpbmlzaF9lODIwX3BhcnNpbmcoKTsKLQotCS8qIGFmdGVyIHBhcnNlX2Vhcmx5X3BhcmFtLCBzbyBjb3VsZCBkZWJ1ZyBpdCAqLwotCWluc2VydF9yZXNvdXJjZSgmaW9tZW1fcmVzb3VyY2UsICZjb2RlX3Jlc291cmNlKTsKLQlpbnNlcnRfcmVzb3VyY2UoJmlvbWVtX3Jlc291cmNlLCAmZGF0YV9yZXNvdXJjZSk7Ci0JaW5zZXJ0X3Jlc291cmNlKCZpb21lbV9yZXNvdXJjZSwgJmJzc19yZXNvdXJjZSk7Ci0KLQllYXJseV9nYXJ0X2lvbW11X2NoZWNrKCk7Ci0KLQllODIwX3JlZ2lzdGVyX2FjdGl2ZV9yZWdpb25zKDAsIDAsIC0xVUwpOwotCS8qCi0JICogcGFydGlhbGx5IHVzZWQgcGFnZXMgYXJlIG5vdCB1c2FibGUgLSB0aHVzCi0JICogd2UgYXJlIHJvdW5kaW5nIHVwd2FyZHM6Ci0JICovCi0JZW5kX3BmbiA9IGU4MjBfZW5kX29mX3JhbSgpOwotCS8qIHVwZGF0ZSBlODIwIGZvciBtZW1vcnkgbm90IGNvdmVyZWQgYnkgV0IgTVRSUnMgKi8KLQltdHJyX2JwX2luaXQoKTsKLQlpZiAobXRycl90cmltX3VuY2FjaGVkX21lbW9yeShlbmRfcGZuKSkgewotCQllODIwX3JlZ2lzdGVyX2FjdGl2ZV9yZWdpb25zKDAsIDAsIC0xVUwpOwotCQllbmRfcGZuID0gZTgyMF9lbmRfb2ZfcmFtKCk7Ci0JfQotCi0JbnVtX3BoeXNwYWdlcyA9IGVuZF9wZm47Ci0KLQljaGVja19lZmVyKCk7Ci0KLQltYXhfcGZuX21hcHBlZCA9IGluaXRfbWVtb3J5X21hcHBpbmcoMCwgKG1heF9wZm5fbWFwcGVkIDw8IFBBR0VfU0hJRlQpKTsKLQlpZiAoZWZpX2VuYWJsZWQpCi0JCWVmaV9pbml0KCk7Ci0KLQl2c21wX2luaXQoKTsKLQotCWRtaV9zY2FuX21hY2hpbmUoKTsKLQotCWlvX2RlbGF5X2luaXQoKTsKLQotI2lmZGVmIENPTkZJR19LVk1fQ0xPQ0sKLQlrdm1jbG9ja19pbml0KCk7Ci0jZW5kaWYKLQotI2lmZGVmIENPTkZJR19TTVAKLQkvKiBzZXR1cCB0byB1c2UgdGhlIGVhcmx5IHN0YXRpYyBpbml0IHRhYmxlcyBkdXJpbmcga2VybmVsIHN0YXJ0dXAgKi8KLQl4ODZfY3B1X3RvX2FwaWNpZF9lYXJseV9wdHIgPSAodm9pZCAqKXg4Nl9jcHVfdG9fYXBpY2lkX2luaXQ7Ci0JeDg2X2Jpb3NfY3B1X2FwaWNpZF9lYXJseV9wdHIgPSAodm9pZCAqKXg4Nl9iaW9zX2NwdV9hcGljaWRfaW5pdDsKLSNpZmRlZiBDT05GSUdfTlVNQQotCXg4Nl9jcHVfdG9fbm9kZV9tYXBfZWFybHlfcHRyID0gKHZvaWQgKil4ODZfY3B1X3RvX25vZGVfbWFwX2luaXQ7Ci0jZW5kaWYKLSNlbmRpZgotCi0jaWZkZWYgQ09ORklHX0FDUEkKLQkvKgotCSAqIEluaXRpYWxpemUgdGhlIEFDUEkgYm9vdC10aW1lIHRhYmxlIHBhcnNlciAoZ2V0cyB0aGUgUlNEUCBhbmQgU0RUKS4KLQkgKiBDYWxsIHRoaXMgZWFybHkgZm9yIFNSQVQgbm9kZSBzZXR1cC4KLQkgKi8KLQlhY3BpX2Jvb3RfdGFibGVfaW5pdCgpOwotI2VuZGlmCi0KLQkvKiBIb3cgbWFueSBlbmQtb2YtbWVtb3J5IHZhcmlhYmxlcyB5b3UgaGF2ZSwgZ3JhbmRtYSEgKi8KLQltYXhfbG93X3BmbiA9IGVuZF9wZm47Ci0JbWF4X3BmbiA9IGVuZF9wZm47Ci0JaGlnaF9tZW1vcnkgPSAodm9pZCAqKV9fdmEoZW5kX3BmbiAqIFBBR0VfU0laRSAtIDEpICsgMTsKLQotCS8qIFJlbW92ZSBhY3RpdmUgcmFuZ2VzIHNvIHJlZGlzY292ZXJ5IHdpdGggTlVNQS1hd2FyZW5lc3MgaGFwcGVucyAqLwotCXJlbW92ZV9hbGxfYWN0aXZlX3JhbmdlcygpOwotCi0jaWZkZWYgQ09ORklHX0FDUElfTlVNQQotCS8qCi0JICogUGFyc2UgU1JBVCB0byBkaXNjb3ZlciBub2Rlcy4KLQkgKi8KLQlhY3BpX251bWFfaW5pdCgpOwotI2VuZGlmCi0KLSNpZmRlZiBDT05GSUdfTlVNQQotCW51bWFfaW5pdG1lbV9pbml0KDAsIGVuZF9wZm4pOwotI2Vsc2UKLQljb250aWdfaW5pdG1lbV9pbml0KDAsIGVuZF9wZm4pOwotI2VuZGlmCi0KLQlkbWEzMl9yZXNlcnZlX2Jvb3RtZW0oKTsKLQotI2lmZGVmIENPTkZJR19BQ1BJX1NMRUVQCi0JLyoKLQkgKiBSZXNlcnZlIGxvdyBtZW1vcnkgcmVnaW9uIGZvciBzbGVlcCBzdXBwb3J0LgotCSAqLwotICAgICAgIGFjcGlfcmVzZXJ2ZV9ib290bWVtKCk7Ci0jZW5kaWYKLQotCWlmIChlZmlfZW5hYmxlZCkKLQkJZWZpX3Jlc2VydmVfYm9vdG1lbSgpOwotCi0gICAgICAgLyoKLQkqIEZpbmQgYW5kIHJlc2VydmUgcG9zc2libGUgYm9vdC10aW1lIFNNUCBjb25maWd1cmF0aW9uOgotCSovCi0JZmluZF9zbXBfY29uZmlnKCk7Ci0jaWZkZWYgQ09ORklHX0JMS19ERVZfSU5JVFJECi0JaWYgKGJvb3RfcGFyYW1zLmhkci50eXBlX29mX2xvYWRlciAmJiBib290X3BhcmFtcy5oZHIucmFtZGlza19pbWFnZSkgewotCQl1bnNpZ25lZCBsb25nIHJhbWRpc2tfaW1hZ2UgPSBib290X3BhcmFtcy5oZHIucmFtZGlza19pbWFnZTsKLQkJdW5zaWduZWQgbG9uZyByYW1kaXNrX3NpemUgID0gYm9vdF9wYXJhbXMuaGRyLnJhbWRpc2tfc2l6ZTsKLQkJdW5zaWduZWQgbG9uZyByYW1kaXNrX2VuZCAgID0gcmFtZGlza19pbWFnZSArIHJhbWRpc2tfc2l6ZTsKLQkJdW5zaWduZWQgbG9uZyBlbmRfb2ZfbWVtICAgID0gZW5kX3BmbiA8PCBQQUdFX1NISUZUOwotCi0JCWlmIChyYW1kaXNrX2VuZCA8PSBlbmRfb2ZfbWVtKSB7Ci0JCQkvKgotCQkJICogZG9uJ3QgbmVlZCB0byByZXNlcnZlIGFnYWluLCBhbHJlYWR5IHJlc2VydmVkIGVhcmx5Ci0JCQkgKiBpbiB4ODZfNjRfc3RhcnRfa2VybmVsLCBhbmQgZWFybHlfcmVzX3RvX2Jvb3RtZW0KLQkJCSAqIGNvbnZlcnQgdGhhdCB0byByZXNlcnZlZCBpbiBib290bWVtCi0JCQkgKi8KLQkJCWluaXRyZF9zdGFydCA9IHJhbWRpc2tfaW1hZ2UgKyBQQUdFX09GRlNFVDsKLQkJCWluaXRyZF9lbmQgPSBpbml0cmRfc3RhcnQrcmFtZGlza19zaXplOwotCQl9IGVsc2UgewotCQkJZnJlZV9ib290bWVtKHJhbWRpc2tfaW1hZ2UsIHJhbWRpc2tfc2l6ZSk7Ci0JCQlwcmludGsoS0VSTl9FUlIgImluaXRyZCBleHRlbmRzIGJleW9uZCBlbmQgb2YgbWVtb3J5ICIKLQkJCSAgICAgICAiKDB4JTA4bHggPiAweCUwOGx4KVxuZGlzYWJsaW5nIGluaXRyZFxuIiwKLQkJCSAgICAgICByYW1kaXNrX2VuZCwgZW5kX29mX21lbSk7Ci0JCQlpbml0cmRfc3RhcnQgPSAwOwotCQl9Ci0JfQotI2VuZGlmCi0JcmVzZXJ2ZV9jcmFzaGtlcm5lbCgpOwotCi0JcmVzZXJ2ZV9pYmZ0X3JlZ2lvbigpOwotCi0JcGFnaW5nX2luaXQoKTsKLQltYXBfdnN5c2NhbGwoKTsKLQotCWVhcmx5X3F1aXJrcygpOwotCi0jaWZkZWYgQ09ORklHX0FDUEkKLQkvKgotCSAqIFJlYWQgQVBJQyBhbmQgc29tZSBvdGhlciBlYXJseSBpbmZvcm1hdGlvbiBmcm9tIEFDUEkgdGFibGVzLgotCSAqLwotCWFjcGlfYm9vdF9pbml0KCk7Ci0jZW5kaWYKLQotCWluaXRfY3B1X3RvX25vZGUoKTsKLQotCS8qCi0JICogZ2V0IGJvb3QtdGltZSBTTVAgY29uZmlndXJhdGlvbjoKLQkgKi8KLQlpZiAoc21wX2ZvdW5kX2NvbmZpZykKLQkJZ2V0X3NtcF9jb25maWcoKTsKLQlpbml0X2FwaWNfbWFwcGluZ3MoKTsKLQlpb2FwaWNfaW5pdF9tYXBwaW5ncygpOwotCi0Ja3ZtX2d1ZXN0X2luaXQoKTsKLQotCS8qCi0JICogV2UgdHJ1c3QgZTgyMCBjb21wbGV0ZWx5LiBObyBleHBsaWNpdCBST00gcHJvYmluZyBpbiBtZW1vcnkuCi0JICovCi0JZTgyMF9yZXNlcnZlX3Jlc291cmNlcygpOwotCWU4MjBfbWFya19ub3NhdmVfcmVnaW9ucygpOwotCi0JLyogcmVxdWVzdCBJL08gc3BhY2UgZm9yIGRldmljZXMgdXNlZCBvbiBhbGwgaVszNDVdODYgUENzICovCi0JZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoc3RhbmRhcmRfaW9fcmVzb3VyY2VzKTsgaSsrKQotCQlyZXF1ZXN0X3Jlc291cmNlKCZpb3BvcnRfcmVzb3VyY2UsICZzdGFuZGFyZF9pb19yZXNvdXJjZXNbaV0pOwotCi0JZTgyMF9zZXR1cF9nYXAoKTsKLQotI2lmZGVmIENPTkZJR19WVAotI2lmIGRlZmluZWQoQ09ORklHX1ZHQV9DT05TT0xFKQotCWlmICghZWZpX2VuYWJsZWQgfHwgKGVmaV9tZW1fdHlwZSgweGEwMDAwKSAhPSBFRklfQ09OVkVOVElPTkFMX01FTU9SWSkpCi0JCWNvbnN3aXRjaHAgPSAmdmdhX2NvbjsKLSNlbGlmIGRlZmluZWQoQ09ORklHX0RVTU1ZX0NPTlNPTEUpCi0JY29uc3dpdGNocCA9ICZkdW1teV9jb247Ci0jZW5kaWYKLSNlbmRpZgotCi0JLyogZG8gdGhpcyBiZWZvcmUgaWRlbnRpZnlfY3B1IGZvciBib290IGNwdSAqLwotCWNoZWNrX2VuYWJsZV9hbWRfbW1jb25mX2RtaSgpOwotfQotCi1zdGF0aWMgaW50IF9fY3B1aW5pdCBnZXRfbW9kZWxfbmFtZShzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCi17Ci0JdW5zaWduZWQgaW50ICp2OwotCi0JaWYgKGMtPmV4dGVuZGVkX2NwdWlkX2xldmVsIDwgMHg4MDAwMDAwNCkKLQkJcmV0dXJuIDA7Ci0KLQl2ID0gKHVuc2lnbmVkIGludCAqKSBjLT54ODZfbW9kZWxfaWQ7Ci0JY3B1aWQoMHg4MDAwMDAwMiwgJnZbMF0sICZ2WzFdLCAmdlsyXSwgJnZbM10pOwotCWNwdWlkKDB4ODAwMDAwMDMsICZ2WzRdLCAmdls1XSwgJnZbNl0sICZ2WzddKTsKLQljcHVpZCgweDgwMDAwMDA0LCAmdls4XSwgJnZbOV0sICZ2WzEwXSwgJnZbMTFdKTsKLQljLT54ODZfbW9kZWxfaWRbNDhdID0gMDsKLQlyZXR1cm4gMTsKLX0KLQotCi1zdGF0aWMgdm9pZCBfX2NwdWluaXQgZGlzcGxheV9jYWNoZWluZm8oc3RydWN0IGNwdWluZm9feDg2ICpjKQotewotCXVuc2lnbmVkIGludCBuLCBkdW1teSwgZWF4LCBlYngsIGVjeCwgZWR4OwotCi0JbiA9IGMtPmV4dGVuZGVkX2NwdWlkX2xldmVsOwotCi0JaWYgKG4gPj0gMHg4MDAwMDAwNSkgewotCQljcHVpZCgweDgwMDAwMDA1LCAmZHVtbXksICZlYngsICZlY3gsICZlZHgpOwotCQlwcmludGsoS0VSTl9JTkZPICJDUFU6IEwxIEkgQ2FjaGU6ICVkSyAoJWQgYnl0ZXMvbGluZSksICIKLQkJICAgICAgICJEIGNhY2hlICVkSyAoJWQgYnl0ZXMvbGluZSlcbiIsCi0JCSAgICAgICBlZHg+PjI0LCBlZHgmMHhGRiwgZWN4Pj4yNCwgZWN4JjB4RkYpOwotCQljLT54ODZfY2FjaGVfc2l6ZSA9IChlY3g+PjI0KSArIChlZHg+PjI0KTsKLQkJLyogT24gSzggTDEgVExCIGlzIGluY2x1c2l2ZSwgc28gZG9uJ3QgY291bnQgaXQgKi8KLQkJYy0+eDg2X3RsYnNpemUgPSAwOwotCX0KLQotCWlmIChuID49IDB4ODAwMDAwMDYpIHsKLQkJY3B1aWQoMHg4MDAwMDAwNiwgJmR1bW15LCAmZWJ4LCAmZWN4LCAmZWR4KTsKLQkJZWN4ID0gY3B1aWRfZWN4KDB4ODAwMDAwMDYpOwotCQljLT54ODZfY2FjaGVfc2l6ZSA9IGVjeCA+PiAxNjsKLQkJYy0+eDg2X3RsYnNpemUgKz0gKChlYnggPj4gMTYpICYgMHhmZmYpICsgKGVieCAmIDB4ZmZmKTsKLQotCQlwcmludGsoS0VSTl9JTkZPICJDUFU6IEwyIENhY2hlOiAlZEsgKCVkIGJ5dGVzL2xpbmUpXG4iLAotCQljLT54ODZfY2FjaGVfc2l6ZSwgZWN4ICYgMHhGRik7Ci0JfQotCWlmIChuID49IDB4ODAwMDAwMDgpIHsKLQkJY3B1aWQoMHg4MDAwMDAwOCwgJmVheCwgJmR1bW15LCAmZHVtbXksICZkdW1teSk7Ci0JCWMtPng4Nl92aXJ0X2JpdHMgPSAoZWF4ID4+IDgpICYgMHhmZjsKLQkJYy0+eDg2X3BoeXNfYml0cyA9IGVheCAmIDB4ZmY7Ci0JfQotfQotCi0jaWZkZWYgQ09ORklHX05VTUEKLXN0YXRpYyBpbnQgX19jcHVpbml0IG5lYXJieV9ub2RlKGludCBhcGljaWQpCi17Ci0JaW50IGksIG5vZGU7Ci0KLQlmb3IgKGkgPSBhcGljaWQgLSAxOyBpID49IDA7IGktLSkgewotCQlub2RlID0gYXBpY2lkX3RvX25vZGVbaV07Ci0JCWlmIChub2RlICE9IE5VTUFfTk9fTk9ERSAmJiBub2RlX29ubGluZShub2RlKSkKLQkJCXJldHVybiBub2RlOwotCX0KLQlmb3IgKGkgPSBhcGljaWQgKyAxOyBpIDwgTUFYX0xPQ0FMX0FQSUM7IGkrKykgewotCQlub2RlID0gYXBpY2lkX3RvX25vZGVbaV07Ci0JCWlmIChub2RlICE9IE5VTUFfTk9fTk9ERSAmJiBub2RlX29ubGluZShub2RlKSkKLQkJCXJldHVybiBub2RlOwotCX0KLQlyZXR1cm4gZmlyc3Rfbm9kZShub2RlX29ubGluZV9tYXApOyAvKiBTaG91bGRuJ3QgaGFwcGVuICovCi19Ci0jZW5kaWYKLQotLyoKLSAqIE9uIGEgQU1EIGR1YWwgY29yZSBzZXR1cCB0aGUgbG93ZXIgYml0cyBvZiB0aGUgQVBJQyBpZCBkaXN0aW5ndXNoIHRoZSBjb3Jlcy4KLSAqIEFzc3VtZXMgbnVtYmVyIG9mIGNvcmVzIGlzIGEgcG93ZXIgb2YgdHdvLgotICovCi1zdGF0aWMgdm9pZCBfX2NwdWluaXQgYW1kX2RldGVjdF9jbXAoc3RydWN0IGNwdWluZm9feDg2ICpjKQotewotI2lmZGVmIENPTkZJR19TTVAKLQl1bnNpZ25lZCBiaXRzOwotI2lmZGVmIENPTkZJR19OVU1BCi0JaW50IGNwdSA9IHNtcF9wcm9jZXNzb3JfaWQoKTsKLQlpbnQgbm9kZSA9IDA7Ci0JdW5zaWduZWQgYXBpY2lkID0gaGFyZF9zbXBfcHJvY2Vzc29yX2lkKCk7Ci0jZW5kaWYKLQliaXRzID0gYy0+eDg2X2NvcmVpZF9iaXRzOwotCi0JLyogTG93IG9yZGVyIGJpdHMgZGVmaW5lIHRoZSBjb3JlIGlkIChpbmRleCBvZiBjb3JlIGluIHNvY2tldCkgKi8KLQljLT5jcHVfY29yZV9pZCA9IGMtPmluaXRpYWxfYXBpY2lkICYgKCgxIDw8IGJpdHMpLTEpOwotCS8qIENvbnZlcnQgdGhlIGluaXRpYWwgQVBJQyBJRCBpbnRvIHRoZSBzb2NrZXQgSUQgKi8KLQljLT5waHlzX3Byb2NfaWQgPSBjLT5pbml0aWFsX2FwaWNpZCA+PiBiaXRzOwotCi0jaWZkZWYgQ09ORklHX05VTUEKLQlub2RlID0gYy0+cGh5c19wcm9jX2lkOwotCWlmIChhcGljaWRfdG9fbm9kZVthcGljaWRdICE9IE5VTUFfTk9fTk9ERSkKLQkJbm9kZSA9IGFwaWNpZF90b19ub2RlW2FwaWNpZF07Ci0JaWYgKCFub2RlX29ubGluZShub2RlKSkgewotCQkvKiBUd28gcG9zc2liaWxpdGllcyBoZXJlOgotCQkgICAtIFRoZSBDUFUgaXMgbWlzc2luZyBtZW1vcnkgYW5kIG5vIG5vZGUgd2FzIGNyZWF0ZWQuCi0JCSAgIEluIHRoYXQgY2FzZSB0cnkgcGlja2luZyBvbmUgZnJvbSBhIG5lYXJieSBDUFUKLQkJICAgLSBUaGUgQVBJQyBJRHMgZGlmZmVyIGZyb20gdGhlIEh5cGVyVHJhbnNwb3J0IG5vZGUgSURzCi0JCSAgIHdoaWNoIHRoZSBLOCBub3J0aGJyaWRnZSBwYXJzaW5nIGZpbGxzIGluLgotCQkgICBBc3N1bWUgdGhleSBhcmUgYWxsIGluY3JlYXNlZCBieSBhIGNvbnN0YW50IG9mZnNldCwKLQkJICAgYnV0IGluIHRoZSBzYW1lIG9yZGVyIGFzIHRoZSBIVCBub2RlaWRzLgotCQkgICBJZiB0aGF0IGRvZXNuJ3QgcmVzdWx0IGluIGEgdXNhYmxlIG5vZGUgZmFsbCBiYWNrIHRvIHRoZQotCQkgICBwYXRoIGZvciB0aGUgcHJldmlvdXMgY2FzZS4gICovCi0KLQkJaW50IGh0X25vZGVpZCA9IGMtPmluaXRpYWxfYXBpY2lkOwotCi0JCWlmIChodF9ub2RlaWQgPj0gMCAmJgotCQkgICAgYXBpY2lkX3RvX25vZGVbaHRfbm9kZWlkXSAhPSBOVU1BX05PX05PREUpCi0JCQlub2RlID0gYXBpY2lkX3RvX25vZGVbaHRfbm9kZWlkXTsKLQkJLyogUGljayBhIG5lYXJieSBub2RlICovCi0JCWlmICghbm9kZV9vbmxpbmUobm9kZSkpCi0JCQlub2RlID0gbmVhcmJ5X25vZGUoYXBpY2lkKTsKLQl9Ci0JbnVtYV9zZXRfbm9kZShjcHUsIG5vZGUpOwotCi0JcHJpbnRrKEtFUk5fSU5GTyAiQ1BVICVkLyV4IC0+IE5vZGUgJWRcbiIsIGNwdSwgYXBpY2lkLCBub2RlKTsKLSNlbmRpZgotI2VuZGlmCi19Ci0KLXN0YXRpYyB2b2lkIF9fY3B1aW5pdCBlYXJseV9pbml0X2FtZF9tYyhzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCi17Ci0jaWZkZWYgQ09ORklHX1NNUAotCXVuc2lnbmVkIGJpdHMsIGVjeDsKLQotCS8qIE11bHRpIGNvcmUgQ1BVPyAqLwotCWlmIChjLT5leHRlbmRlZF9jcHVpZF9sZXZlbCA8IDB4ODAwMDAwMDgpCi0JCXJldHVybjsKLQotCWVjeCA9IGNwdWlkX2VjeCgweDgwMDAwMDA4KTsKLQotCWMtPng4Nl9tYXhfY29yZXMgPSAoZWN4ICYgMHhmZikgKyAxOwotCi0JLyogQ1BVIHRlbGxpbmcgdXMgdGhlIGNvcmUgaWQgYml0cyBzaGlmdD8gKi8KLQliaXRzID0gKGVjeCA+PiAxMikgJiAweEY7Ci0KLQkvKiBPdGhlcndpc2UgcmVjb21wdXRlICovCi0JaWYgKGJpdHMgPT0gMCkgewotCQl3aGlsZSAoKDEgPDwgYml0cykgPCBjLT54ODZfbWF4X2NvcmVzKQotCQkJYml0cysrOwotCX0KLQotCWMtPng4Nl9jb3JlaWRfYml0cyA9IGJpdHM7Ci0KLSNlbmRpZgotfQotCi0jZGVmaW5lIEVOQUJMRV9DMUVfTUFTSwkJMHgxODAwMDAwMAotI2RlZmluZSBDUFVJRF9QUk9DRVNTT1JfU0lHTkFUVVJFCTEKLSNkZWZpbmUgQ1BVSURfWEZBTQkJMHgwZmYwMDAwMAotI2RlZmluZSBDUFVJRF9YRkFNX0s4CQkweDAwMDAwMDAwCi0jZGVmaW5lIENQVUlEX1hGQU1fMTBICQkweDAwMTAwMDAwCi0jZGVmaW5lIENQVUlEX1hGQU1fMTFICQkweDAwMjAwMDAwCi0jZGVmaW5lIENQVUlEX1hNT0QJCTB4MDAwZjAwMDAKLSNkZWZpbmUgQ1BVSURfWE1PRF9SRVZfRgkweDAwMDQwMDAwCi0KLS8qIEFNRCBzeXN0ZW1zIHdpdGggQzFFIGRvbid0IGhhdmUgYSB3b3JraW5nIGxBUElDIHRpbWVyLiBDaGVjayBmb3IgdGhhdC4gKi8KLXN0YXRpYyBfX2NwdWluaXQgaW50IGFtZF9hcGljX3RpbWVyX2Jyb2tlbih2b2lkKQotewotCXUzMiBsbywgaGksIGVheCA9IGNwdWlkX2VheChDUFVJRF9QUk9DRVNTT1JfU0lHTkFUVVJFKTsKLQotCXN3aXRjaCAoZWF4ICYgQ1BVSURfWEZBTSkgewotCWNhc2UgQ1BVSURfWEZBTV9LODoKLQkJaWYgKChlYXggJiBDUFVJRF9YTU9EKSA8IENQVUlEX1hNT0RfUkVWX0YpCi0JCQlicmVhazsKLQljYXNlIENQVUlEX1hGQU1fMTBIOgotCWNhc2UgQ1BVSURfWEZBTV8xMUg6Ci0JCXJkbXNyKE1TUl9LOF9FTkFCTEVfQzFFLCBsbywgaGkpOwotCQlpZiAobG8gJiBFTkFCTEVfQzFFX01BU0spCi0JCQlyZXR1cm4gMTsKLQkJYnJlYWs7Ci0JZGVmYXVsdDoKLQkJLyogZXJyIG9uIHRoZSBzaWRlIG9mIGNhdXRpb24gKi8KLQkJcmV0dXJuIDE7Ci0JfQotCXJldHVybiAwOwotfQotCi1zdGF0aWMgdm9pZCBfX2NwdWluaXQgZWFybHlfaW5pdF9hbWQoc3RydWN0IGNwdWluZm9feDg2ICpjKQotewotCWVhcmx5X2luaXRfYW1kX21jKGMpOwotCi0gCS8qIGMtPng4Nl9wb3dlciBpcyA4MDAwXzAwMDcgZWR4LiBCaXQgOCBpcyBjb25zdGFudCBUU0MgKi8KLQlpZiAoYy0+eDg2X3Bvd2VyICYgKDE8PDgpKQotCQlzZXRfY3B1X2NhcChjLCBYODZfRkVBVFVSRV9DT05TVEFOVF9UU0MpOwotfQotCi1zdGF0aWMgdm9pZCBfX2NwdWluaXQgaW5pdF9hbWQoc3RydWN0IGNwdWluZm9feDg2ICpjKQotewotCXVuc2lnbmVkIGxldmVsOwotCi0jaWZkZWYgQ09ORklHX1NNUAotCXVuc2lnbmVkIGxvbmcgdmFsdWU7Ci0KLQkvKgotCSAqIERpc2FibGUgVExCIGZsdXNoIGZpbHRlciBieSBzZXR0aW5nIEhXQ1IuRkZESVMgb24gSzgKLQkgKiBiaXQgNiBvZiBtc3IgQzAwMV8wMDE1Ci0JICoKLQkgKiBFcnJhdGEgNjMgZm9yIFNILUIzIHN0ZXBwaW5ncwotCSAqIEVycmF0YSAxMjIgZm9yIGFsbCBzdGVwcGluZ3MgKEYrIGhhdmUgaXQgZGlzYWJsZWQgYnkgZGVmYXVsdCkKLQkgKi8KLQlpZiAoYy0+eDg2ID09IDE1KSB7Ci0JCXJkbXNybChNU1JfSzhfSFdDUiwgdmFsdWUpOwotCQl2YWx1ZSB8PSAxIDw8IDY7Ci0JCXdybXNybChNU1JfSzhfSFdDUiwgdmFsdWUpOwotCX0KLSNlbmRpZgotCi0JLyogQml0IDMxIGluIG5vcm1hbCBDUFVJRCB1c2VkIGZvciBub25zdGFuZGFyZCAzRE5vdyBJRDsKLQkgICAzRE5vdyBpcyBJRGQgYnkgYml0IDMxIGluIGV4dGVuZGVkIENQVUlEICgxKjMyKzMxKSBhbnl3YXkgKi8KLQljbGVhcl9jcHVfY2FwKGMsIDAqMzIrMzEpOwotCi0JLyogT24gQysgc3RlcHBpbmcgSzggcmVwIG1pY3JvY29kZSB3b3JrcyB3ZWxsIGZvciBjb3B5L21lbXNldCAqLwotCWxldmVsID0gY3B1aWRfZWF4KDEpOwotCWlmIChjLT54ODYgPT0gMTUgJiYgKChsZXZlbCA+PSAweDBmNDggJiYgbGV2ZWwgPCAweDBmNTApIHx8Ci0JCQkgICAgIGxldmVsID49IDB4MGY1OCkpCi0JCXNldF9jcHVfY2FwKGMsIFg4Nl9GRUFUVVJFX1JFUF9HT09EKTsKLQlpZiAoYy0+eDg2ID09IDB4MTAgfHwgYy0+eDg2ID09IDB4MTEpCi0JCXNldF9jcHVfY2FwKGMsIFg4Nl9GRUFUVVJFX1JFUF9HT09EKTsKLQotCS8qIEVuYWJsZSB3b3JrYXJvdW5kIGZvciBGWFNBVkUgbGVhayAqLwotCWlmIChjLT54ODYgPj0gNikKLQkJc2V0X2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfRlhTQVZFX0xFQUspOwotCi0JbGV2ZWwgPSBnZXRfbW9kZWxfbmFtZShjKTsKLQlpZiAoIWxldmVsKSB7Ci0JCXN3aXRjaCAoYy0+eDg2KSB7Ci0JCWNhc2UgMTU6Ci0JCQkvKiBTaG91bGQgZGlzdGluZ3Vpc2ggTW9kZWxzIGhlcmUsIGJ1dCB0aGlzIGlzIG9ubHkKLQkJCSAgIGEgZmFsbGJhY2sgYW55d2F5cy4gKi8KLQkJCXN0cmNweShjLT54ODZfbW9kZWxfaWQsICJIYW1tZXIiKTsKLQkJCWJyZWFrOwotCQl9Ci0JfQotCWRpc3BsYXlfY2FjaGVpbmZvKGMpOwotCi0JLyogTXVsdGkgY29yZSBDUFU/ICovCi0JaWYgKGMtPmV4dGVuZGVkX2NwdWlkX2xldmVsID49IDB4ODAwMDAwMDgpCi0JCWFtZF9kZXRlY3RfY21wKGMpOwotCi0JaWYgKGMtPmV4dGVuZGVkX2NwdWlkX2xldmVsID49IDB4ODAwMDAwMDYgJiYKLQkJKGNwdWlkX2VkeCgweDgwMDAwMDA2KSAmIDB4ZjAwMCkpCi0JCW51bV9jYWNoZV9sZWF2ZXMgPSA0OwotCWVsc2UKLQkJbnVtX2NhY2hlX2xlYXZlcyA9IDM7Ci0KLQlpZiAoYy0+eDg2ID09IDB4ZiB8fCBjLT54ODYgPT0gMHgxMCB8fCBjLT54ODYgPT0gMHgxMSkKLQkJc2V0X2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfSzgpOwotCi0JLyogTUZFTkNFIHN0b3BzIFJEVFNDIHNwZWN1bGF0aW9uICovCi0Jc2V0X2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfTUZFTkNFX1JEVFNDKTsKLQotCWlmIChjLT54ODYgPT0gMHgxMCkKLQkJZmFtMTBoX2NoZWNrX2VuYWJsZV9tbWNmZygpOwotCi0JaWYgKGFtZF9hcGljX3RpbWVyX2Jyb2tlbigpKQotCQlkaXNhYmxlX2FwaWNfdGltZXIgPSAxOwotCi0JaWYgKGMgPT0gJmJvb3RfY3B1X2RhdGEgJiYgYy0+eDg2ID49IDB4ZiAmJiBjLT54ODYgPD0gMHgxMSkgewotCQl1bnNpZ25lZCBsb25nIGxvbmcgdHNlZzsKLQotCQkvKgotCQkgKiBTcGxpdCB1cCBkaXJlY3QgbWFwcGluZyBhcm91bmQgdGhlIFRTRUcgU01NIGFyZWEuCi0JCSAqIERvbid0IGRvIGl0IGZvciBnYnBhZ2VzIGJlY2F1c2UgdGhlcmUgc2VlbXMgdmVyeSBsaXR0bGUKLQkJICogYmVuZWZpdCBpbiBkb2luZyBzby4KLQkJICovCi0JCWlmICghcmRtc3JsX3NhZmUoTVNSX0s4X1RTRUdfQUREUiwgJnRzZWcpICYmCi0JCSh0c2VnID4+IFBNRF9TSElGVCkgPCAobWF4X3Bmbl9tYXBwZWQgPj4gKFBNRF9TSElGVC1QQUdFX1NISUZUKSkpCi0JCQlzZXRfbWVtb3J5XzRrKCh1bnNpZ25lZCBsb25nKV9fdmEodHNlZyksIDEpOwotCX0KLX0KLQotdm9pZCBfX2NwdWluaXQgZGV0ZWN0X2h0KHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKLXsKLSNpZmRlZiBDT05GSUdfU01QCi0JdTMyIGVheCwgZWJ4LCBlY3gsIGVkeDsKLQlpbnQgaW5kZXhfbXNiLCBjb3JlX2JpdHM7Ci0KLQljcHVpZCgxLCAmZWF4LCAmZWJ4LCAmZWN4LCAmZWR4KTsKLQotCi0JaWYgKCFjcHVfaGFzKGMsIFg4Nl9GRUFUVVJFX0hUKSkKLQkJcmV0dXJuOwotCWlmIChjcHVfaGFzKGMsIFg4Nl9GRUFUVVJFX0NNUF9MRUdBQ1kpKQotCQlnb3RvIG91dDsKLQotCXNtcF9udW1fc2libGluZ3MgPSAoZWJ4ICYgMHhmZjAwMDApID4+IDE2OwotCi0JaWYgKHNtcF9udW1fc2libGluZ3MgPT0gMSkgewotCQlwcmludGsoS0VSTl9JTkZPICAiQ1BVOiBIeXBlci1UaHJlYWRpbmcgaXMgZGlzYWJsZWRcbiIpOwotCX0gZWxzZSBpZiAoc21wX251bV9zaWJsaW5ncyA+IDEpIHsKLQotCQlpZiAoc21wX251bV9zaWJsaW5ncyA+IE5SX0NQVVMpIHsKLQkJCXByaW50ayhLRVJOX1dBUk5JTkcgIkNQVTogVW5zdXBwb3J0ZWQgbnVtYmVyIG9mICIKLQkJCSAgICAgICAic2libGluZ3MgJWQiLCBzbXBfbnVtX3NpYmxpbmdzKTsKLQkJCXNtcF9udW1fc2libGluZ3MgPSAxOwotCQkJcmV0dXJuOwotCQl9Ci0KLQkJaW5kZXhfbXNiID0gZ2V0X2NvdW50X29yZGVyKHNtcF9udW1fc2libGluZ3MpOwotCQljLT5waHlzX3Byb2NfaWQgPSBwaHlzX3BrZ19pZChpbmRleF9tc2IpOwotCi0JCXNtcF9udW1fc2libGluZ3MgPSBzbXBfbnVtX3NpYmxpbmdzIC8gYy0+eDg2X21heF9jb3JlczsKLQotCQlpbmRleF9tc2IgPSBnZXRfY291bnRfb3JkZXIoc21wX251bV9zaWJsaW5ncyk7Ci0KLQkJY29yZV9iaXRzID0gZ2V0X2NvdW50X29yZGVyKGMtPng4Nl9tYXhfY29yZXMpOwotCi0JCWMtPmNwdV9jb3JlX2lkID0gcGh5c19wa2dfaWQoaW5kZXhfbXNiKSAmCi0JCQkJCSAgICAgICAoKDEgPDwgY29yZV9iaXRzKSAtIDEpOwotCX0KLW91dDoKLQlpZiAoKGMtPng4Nl9tYXhfY29yZXMgKiBzbXBfbnVtX3NpYmxpbmdzKSA+IDEpIHsKLQkJcHJpbnRrKEtFUk5fSU5GTyAgIkNQVTogUGh5c2ljYWwgUHJvY2Vzc29yIElEOiAlZFxuIiwKLQkJICAgICAgIGMtPnBoeXNfcHJvY19pZCk7Ci0JCXByaW50ayhLRVJOX0lORk8gICJDUFU6IFByb2Nlc3NvciBDb3JlIElEOiAlZFxuIiwKLQkJICAgICAgIGMtPmNwdV9jb3JlX2lkKTsKLQl9Ci0KLSNlbmRpZgotfQotCi0vKgotICogZmluZCBvdXQgdGhlIG51bWJlciBvZiBwcm9jZXNzb3IgY29yZXMgb24gdGhlIGRpZQotICovCi1zdGF0aWMgaW50IF9fY3B1aW5pdCBpbnRlbF9udW1fY3B1X2NvcmVzKHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKLXsKLQl1bnNpZ25lZCBpbnQgZWF4LCB0OwotCi0JaWYgKGMtPmNwdWlkX2xldmVsIDwgNCkKLQkJcmV0dXJuIDE7Ci0KLQljcHVpZF9jb3VudCg0LCAwLCAmZWF4LCAmdCwgJnQsICZ0KTsKLQotCWlmIChlYXggJiAweDFmKQotCQlyZXR1cm4gKChlYXggPj4gMjYpICsgMSk7Ci0JZWxzZQotCQlyZXR1cm4gMTsKLX0KLQotc3RhdGljIHZvaWQgX19jcHVpbml0IHNyYXRfZGV0ZWN0X25vZGUodm9pZCkKLXsKLSNpZmRlZiBDT05GSUdfTlVNQQotCXVuc2lnbmVkIG5vZGU7Ci0JaW50IGNwdSA9IHNtcF9wcm9jZXNzb3JfaWQoKTsKLQlpbnQgYXBpY2lkID0gaGFyZF9zbXBfcHJvY2Vzc29yX2lkKCk7Ci0KLQkvKiBEb24ndCBkbyB0aGUgZnVua3kgZmFsbGJhY2sgaGV1cmlzdGljcyB0aGUgQU1EIHZlcnNpb24gZW1wbG95cwotCSAgIGZvciBub3cuICovCi0Jbm9kZSA9IGFwaWNpZF90b19ub2RlW2FwaWNpZF07Ci0JaWYgKG5vZGUgPT0gTlVNQV9OT19OT0RFIHx8ICFub2RlX29ubGluZShub2RlKSkKLQkJbm9kZSA9IGZpcnN0X25vZGUobm9kZV9vbmxpbmVfbWFwKTsKLQludW1hX3NldF9ub2RlKGNwdSwgbm9kZSk7Ci0KLQlwcmludGsoS0VSTl9JTkZPICJDUFUgJWQvJXggLT4gTm9kZSAlZFxuIiwgY3B1LCBhcGljaWQsIG5vZGUpOwotI2VuZGlmCi19Ci0KLXN0YXRpYyB2b2lkIF9fY3B1aW5pdCBlYXJseV9pbml0X2ludGVsKHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKLXsKLQlpZiAoKGMtPng4NiA9PSAweGYgJiYgYy0+eDg2X21vZGVsID49IDB4MDMpIHx8Ci0JICAgIChjLT54ODYgPT0gMHg2ICYmIGMtPng4Nl9tb2RlbCA+PSAweDBlKSkKLQkJc2V0X2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfQ09OU1RBTlRfVFNDKTsKLX0KLQotc3RhdGljIHZvaWQgX19jcHVpbml0IGluaXRfaW50ZWwoc3RydWN0IGNwdWluZm9feDg2ICpjKQotewotCS8qIENhY2hlIHNpemVzICovCi0JdW5zaWduZWQgbjsKLQotCWluaXRfaW50ZWxfY2FjaGVpbmZvKGMpOwotCWlmIChjLT5jcHVpZF9sZXZlbCA+IDkpIHsKLQkJdW5zaWduZWQgZWF4ID0gY3B1aWRfZWF4KDEwKTsKLQkJLyogQ2hlY2sgZm9yIHZlcnNpb24gYW5kIHRoZSBudW1iZXIgb2YgY291bnRlcnMgKi8KLQkJaWYgKChlYXggJiAweGZmKSAmJiAoKChlYXg+PjgpICYgMHhmZikgPiAxKSkKLQkJCXNldF9jcHVfY2FwKGMsIFg4Nl9GRUFUVVJFX0FSQ0hfUEVSRk1PTik7Ci0JfQotCi0JaWYgKGNwdV9oYXNfZHMpIHsKLQkJdW5zaWduZWQgaW50IGwxLCBsMjsKLQkJcmRtc3IoTVNSX0lBMzJfTUlTQ19FTkFCTEUsIGwxLCBsMik7Ci0JCWlmICghKGwxICYgKDE8PDExKSkpCi0JCQlzZXRfY3B1X2NhcChjLCBYODZfRkVBVFVSRV9CVFMpOwotCQlpZiAoIShsMSAmICgxPDwxMikpKQotCQkJc2V0X2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfUEVCUyk7Ci0JfQotCi0KLQlpZiAoY3B1X2hhc19idHMpCi0JCWRzX2luaXRfaW50ZWwoYyk7Ci0KLQluID0gYy0+ZXh0ZW5kZWRfY3B1aWRfbGV2ZWw7Ci0JaWYgKG4gPj0gMHg4MDAwMDAwOCkgewotCQl1bnNpZ25lZCBlYXggPSBjcHVpZF9lYXgoMHg4MDAwMDAwOCk7Ci0JCWMtPng4Nl92aXJ0X2JpdHMgPSAoZWF4ID4+IDgpICYgMHhmZjsKLQkJYy0+eDg2X3BoeXNfYml0cyA9IGVheCAmIDB4ZmY7Ci0JCS8qIENQVUlEIHdvcmthcm91bmQgZm9yIEludGVsIDBGMzQgQ1BVICovCi0JCWlmIChjLT54ODZfdmVuZG9yID09IFg4Nl9WRU5ET1JfSU5URUwgJiYKLQkJICAgIGMtPng4NiA9PSAweEYgJiYgYy0+eDg2X21vZGVsID09IDB4MyAmJgotCQkgICAgYy0+eDg2X21hc2sgPT0gMHg0KQotCQkJYy0+eDg2X3BoeXNfYml0cyA9IDM2OwotCX0KLQotCWlmIChjLT54ODYgPT0gMTUpCi0JCWMtPng4Nl9jYWNoZV9hbGlnbm1lbnQgPSBjLT54ODZfY2xmbHVzaF9zaXplICogMjsKLQlpZiAoYy0+eDg2ID09IDYpCi0JCXNldF9jcHVfY2FwKGMsIFg4Nl9GRUFUVVJFX1JFUF9HT09EKTsKLQlzZXRfY3B1X2NhcChjLCBYODZfRkVBVFVSRV9MRkVOQ0VfUkRUU0MpOwotCWMtPng4Nl9tYXhfY29yZXMgPSBpbnRlbF9udW1fY3B1X2NvcmVzKGMpOwotCi0Jc3JhdF9kZXRlY3Rfbm9kZSgpOwotfQotCi1zdGF0aWMgdm9pZCBfX2NwdWluaXQgZWFybHlfaW5pdF9jZW50YXVyKHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKLXsKLQlpZiAoYy0+eDg2ID09IDB4NiAmJiBjLT54ODZfbW9kZWwgPj0gMHhmKQotCQlzZXRfY3B1X2NhcChjLCBYODZfRkVBVFVSRV9DT05TVEFOVF9UU0MpOwotfQotCi1zdGF0aWMgdm9pZCBfX2NwdWluaXQgaW5pdF9jZW50YXVyKHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKLXsKLQkvKiBDYWNoZSBzaXplcyAqLwotCXVuc2lnbmVkIG47Ci0KLQluID0gYy0+ZXh0ZW5kZWRfY3B1aWRfbGV2ZWw7Ci0JaWYgKG4gPj0gMHg4MDAwMDAwOCkgewotCQl1bnNpZ25lZCBlYXggPSBjcHVpZF9lYXgoMHg4MDAwMDAwOCk7Ci0JCWMtPng4Nl92aXJ0X2JpdHMgPSAoZWF4ID4+IDgpICYgMHhmZjsKLQkJYy0+eDg2X3BoeXNfYml0cyA9IGVheCAmIDB4ZmY7Ci0JfQotCi0JaWYgKGMtPng4NiA9PSAweDYgJiYgYy0+eDg2X21vZGVsID49IDB4ZikgewotCQljLT54ODZfY2FjaGVfYWxpZ25tZW50ID0gYy0+eDg2X2NsZmx1c2hfc2l6ZSAqIDI7Ci0JCXNldF9jcHVfY2FwKGMsIFg4Nl9GRUFUVVJFX0NPTlNUQU5UX1RTQyk7Ci0JCXNldF9jcHVfY2FwKGMsIFg4Nl9GRUFUVVJFX1JFUF9HT09EKTsKLQl9Ci0Jc2V0X2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfTEZFTkNFX1JEVFNDKTsKLX0KLQotc3RhdGljIHZvaWQgX19jcHVpbml0IGdldF9jcHVfdmVuZG9yKHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKLXsKLQljaGFyICp2ID0gYy0+eDg2X3ZlbmRvcl9pZDsKLQotCWlmICghc3RyY21wKHYsICJBdXRoZW50aWNBTUQiKSkKLQkJYy0+eDg2X3ZlbmRvciA9IFg4Nl9WRU5ET1JfQU1EOwotCWVsc2UgaWYgKCFzdHJjbXAodiwgIkdlbnVpbmVJbnRlbCIpKQotCQljLT54ODZfdmVuZG9yID0gWDg2X1ZFTkRPUl9JTlRFTDsKLQllbHNlIGlmICghc3RyY21wKHYsICJDZW50YXVySGF1bHMiKSkKLQkJYy0+eDg2X3ZlbmRvciA9IFg4Nl9WRU5ET1JfQ0VOVEFVUjsKLQllbHNlCi0JCWMtPng4Nl92ZW5kb3IgPSBYODZfVkVORE9SX1VOS05PV047Ci19Ci0KLS8qIERvIHNvbWUgZWFybHkgY3B1aWQgb24gdGhlIGJvb3QgQ1BVIHRvIGdldCBzb21lIHBhcmFtZXRlciB0aGF0IGFyZQotICAgbmVlZGVkIGJlZm9yZSBjaGVja19idWdzLiBFdmVyeXRoaW5nIGFkdmFuY2VkIGlzIGluIGlkZW50aWZ5X2NwdQotICAgYmVsb3cuICovCi1zdGF0aWMgdm9pZCBfX2NwdWluaXQgZWFybHlfaWRlbnRpZnlfY3B1KHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKLXsKLQl1MzIgdGZtcywgeGx2bDsKLQotCWMtPmxvb3BzX3Blcl9qaWZmeSA9IGxvb3BzX3Blcl9qaWZmeTsKLQljLT54ODZfY2FjaGVfc2l6ZSA9IC0xOwotCWMtPng4Nl92ZW5kb3IgPSBYODZfVkVORE9SX1VOS05PV047Ci0JYy0+eDg2X21vZGVsID0gYy0+eDg2X21hc2sgPSAwOwkvKiBTbyBmYXIgdW5rbm93bi4uLiAqLwotCWMtPng4Nl92ZW5kb3JfaWRbMF0gPSAnXDAnOyAvKiBVbnNldCAqLwotCWMtPng4Nl9tb2RlbF9pZFswXSA9ICdcMCc7ICAvKiBVbnNldCAqLwotCWMtPng4Nl9jbGZsdXNoX3NpemUgPSA2NDsKLQljLT54ODZfY2FjaGVfYWxpZ25tZW50ID0gYy0+eDg2X2NsZmx1c2hfc2l6ZTsKLQljLT54ODZfbWF4X2NvcmVzID0gMTsKLQljLT54ODZfY29yZWlkX2JpdHMgPSAwOwotCWMtPmV4dGVuZGVkX2NwdWlkX2xldmVsID0gMDsKLQltZW1zZXQoJmMtPng4Nl9jYXBhYmlsaXR5LCAwLCBzaXplb2YgYy0+eDg2X2NhcGFiaWxpdHkpOwotCi0JLyogR2V0IHZlbmRvciBuYW1lICovCi0JY3B1aWQoMHgwMDAwMDAwMCwgKHVuc2lnbmVkIGludCAqKSZjLT5jcHVpZF9sZXZlbCwKLQkgICAgICAodW5zaWduZWQgaW50ICopJmMtPng4Nl92ZW5kb3JfaWRbMF0sCi0JICAgICAgKHVuc2lnbmVkIGludCAqKSZjLT54ODZfdmVuZG9yX2lkWzhdLAotCSAgICAgICh1bnNpZ25lZCBpbnQgKikmYy0+eDg2X3ZlbmRvcl9pZFs0XSk7Ci0KLQlnZXRfY3B1X3ZlbmRvcihjKTsKLQotCS8qIEluaXRpYWxpemUgdGhlIHN0YW5kYXJkIHNldCBvZiBjYXBhYmlsaXRpZXMgKi8KLQkvKiBOb3RlIHRoYXQgdGhlIHZlbmRvci1zcGVjaWZpYyBjb2RlIGJlbG93IG1pZ2h0IG92ZXJyaWRlICovCi0KLQkvKiBJbnRlbC1kZWZpbmVkIGZsYWdzOiBsZXZlbCAweDAwMDAwMDAxICovCi0JaWYgKGMtPmNwdWlkX2xldmVsID49IDB4MDAwMDAwMDEpIHsKLQkJX191MzIgbWlzYzsKLQkJY3B1aWQoMHgwMDAwMDAwMSwgJnRmbXMsICZtaXNjLCAmYy0+eDg2X2NhcGFiaWxpdHlbNF0sCi0JCSAgICAgICZjLT54ODZfY2FwYWJpbGl0eVswXSk7Ci0JCWMtPng4NiA9ICh0Zm1zID4+IDgpICYgMHhmOwotCQljLT54ODZfbW9kZWwgPSAodGZtcyA+PiA0KSAmIDB4ZjsKLQkJYy0+eDg2X21hc2sgPSB0Zm1zICYgMHhmOwotCQlpZiAoYy0+eDg2ID09IDB4ZikKLQkJCWMtPng4NiArPSAodGZtcyA+PiAyMCkgJiAweGZmOwotCQlpZiAoYy0+eDg2ID49IDB4NikKLQkJCWMtPng4Nl9tb2RlbCArPSAoKHRmbXMgPj4gMTYpICYgMHhGKSA8PCA0OwotCQlpZiAodGVzdF9jcHVfY2FwKGMsIFg4Nl9GRUFUVVJFX0NMRkxTSCkpCi0JCQljLT54ODZfY2xmbHVzaF9zaXplID0gKChtaXNjID4+IDgpICYgMHhmZikgKiA4OwotCX0gZWxzZSB7Ci0JCS8qIEhhdmUgQ1BVSUQgbGV2ZWwgMCBvbmx5IC0gdW5oZWFyZCBvZiAqLwotCQljLT54ODYgPSA0OwotCX0KLQotCWMtPmluaXRpYWxfYXBpY2lkID0gKGNwdWlkX2VieCgxKSA+PiAyNCkgJiAweGZmOwotI2lmZGVmIENPTkZJR19TTVAKLQljLT5waHlzX3Byb2NfaWQgPSBjLT5pbml0aWFsX2FwaWNpZDsKLSNlbmRpZgotCS8qIEFNRC1kZWZpbmVkIGZsYWdzOiBsZXZlbCAweDgwMDAwMDAxICovCi0JeGx2bCA9IGNwdWlkX2VheCgweDgwMDAwMDAwKTsKLQljLT5leHRlbmRlZF9jcHVpZF9sZXZlbCA9IHhsdmw7Ci0JaWYgKCh4bHZsICYgMHhmZmZmMDAwMCkgPT0gMHg4MDAwMDAwMCkgewotCQlpZiAoeGx2bCA+PSAweDgwMDAwMDAxKSB7Ci0JCQljLT54ODZfY2FwYWJpbGl0eVsxXSA9IGNwdWlkX2VkeCgweDgwMDAwMDAxKTsKLQkJCWMtPng4Nl9jYXBhYmlsaXR5WzZdID0gY3B1aWRfZWN4KDB4ODAwMDAwMDEpOwotCQl9Ci0JCWlmICh4bHZsID49IDB4ODAwMDAwMDQpCi0JCQlnZXRfbW9kZWxfbmFtZShjKTsgLyogRGVmYXVsdCBuYW1lICovCi0JfQotCi0JLyogVHJhbnNtZXRhLWRlZmluZWQgZmxhZ3M6IGxldmVsIDB4ODA4NjAwMDEgKi8KLQl4bHZsID0gY3B1aWRfZWF4KDB4ODA4NjAwMDApOwotCWlmICgoeGx2bCAmIDB4ZmZmZjAwMDApID09IDB4ODA4NjAwMDApIHsKLQkJLyogRG9uJ3Qgc2V0IHg4Nl9jcHVpZF9sZXZlbCBoZXJlIGZvciBub3cgdG8gbm90IGNvbmZ1c2UuICovCi0JCWlmICh4bHZsID49IDB4ODA4NjAwMDEpCi0JCQljLT54ODZfY2FwYWJpbGl0eVsyXSA9IGNwdWlkX2VkeCgweDgwODYwMDAxKTsKLQl9Ci0KLQljLT5leHRlbmRlZF9jcHVpZF9sZXZlbCA9IGNwdWlkX2VheCgweDgwMDAwMDAwKTsKLQlpZiAoYy0+ZXh0ZW5kZWRfY3B1aWRfbGV2ZWwgPj0gMHg4MDAwMDAwNykKLQkJYy0+eDg2X3Bvd2VyID0gY3B1aWRfZWR4KDB4ODAwMDAwMDcpOwotCi0Jc3dpdGNoIChjLT54ODZfdmVuZG9yKSB7Ci0JY2FzZSBYODZfVkVORE9SX0FNRDoKLQkJZWFybHlfaW5pdF9hbWQoYyk7Ci0JCWJyZWFrOwotCWNhc2UgWDg2X1ZFTkRPUl9JTlRFTDoKLQkJZWFybHlfaW5pdF9pbnRlbChjKTsKLQkJYnJlYWs7Ci0JY2FzZSBYODZfVkVORE9SX0NFTlRBVVI6Ci0JCWVhcmx5X2luaXRfY2VudGF1cihjKTsKLQkJYnJlYWs7Ci0JfQotCi0JdmFsaWRhdGVfcGF0X3N1cHBvcnQoYyk7Ci19Ci0KLS8qCi0gKiBUaGlzIGRvZXMgdGhlIGhhcmQgd29yayBvZiBhY3R1YWxseSBwaWNraW5nIGFwYXJ0IHRoZSBDUFUgc3R1ZmYuLi4KLSAqLwotdm9pZCBfX2NwdWluaXQgaWRlbnRpZnlfY3B1KHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKLXsKLQlpbnQgaTsKLQotCWVhcmx5X2lkZW50aWZ5X2NwdShjKTsKLQotCWluaXRfc2NhdHRlcmVkX2NwdWlkX2ZlYXR1cmVzKGMpOwotCi0JYy0+YXBpY2lkID0gcGh5c19wa2dfaWQoMCk7Ci0KLQkvKgotCSAqIFZlbmRvci1zcGVjaWZpYyBpbml0aWFsaXphdGlvbi4gIEluIHRoaXMgc2VjdGlvbiB3ZQotCSAqIGNhbm9uaWNhbGl6ZSB0aGUgZmVhdHVyZSBmbGFncywgbWVhbmluZyBpZiB0aGVyZSBhcmUKLQkgKiBmZWF0dXJlcyBhIGNlcnRhaW4gQ1BVIHN1cHBvcnRzIHdoaWNoIENQVUlEIGRvZXNuJ3QKLQkgKiB0ZWxsIHVzLCBDUFVJRCBjbGFpbWluZyBpbmNvcnJlY3QgZmxhZ3MsIG9yIG90aGVyIGJ1Z3MsCi0JICogd2UgaGFuZGxlIHRoZW0gaGVyZS4KLQkgKgotCSAqIEF0IHRoZSBlbmQgb2YgdGhpcyBzZWN0aW9uLCBjLT54ODZfY2FwYWJpbGl0eSBiZXR0ZXIKLQkgKiBpbmRpY2F0ZSB0aGUgZmVhdHVyZXMgdGhpcyBDUFUgZ2VudWluZWx5IHN1cHBvcnRzIQotCSAqLwotCXN3aXRjaCAoYy0+eDg2X3ZlbmRvcikgewotCWNhc2UgWDg2X1ZFTkRPUl9BTUQ6Ci0JCWluaXRfYW1kKGMpOwotCQlicmVhazsKLQotCWNhc2UgWDg2X1ZFTkRPUl9JTlRFTDoKLQkJaW5pdF9pbnRlbChjKTsKLQkJYnJlYWs7Ci0KLQljYXNlIFg4Nl9WRU5ET1JfQ0VOVEFVUjoKLQkJaW5pdF9jZW50YXVyKGMpOwotCQlicmVhazsKLQotCWNhc2UgWDg2X1ZFTkRPUl9VTktOT1dOOgotCWRlZmF1bHQ6Ci0JCWRpc3BsYXlfY2FjaGVpbmZvKGMpOwotCQlicmVhazsKLQl9Ci0KLQlkZXRlY3RfaHQoYyk7Ci0KLQkvKgotCSAqIE9uIFNNUCwgYm9vdF9jcHVfZGF0YSBob2xkcyB0aGUgY29tbW9uIGZlYXR1cmUgc2V0IGJldHdlZW4KLQkgKiBhbGwgQ1BVczsgc28gbWFrZSBzdXJlIHRoYXQgd2UgaW5kaWNhdGUgd2hpY2ggZmVhdHVyZXMgYXJlCi0JICogY29tbW9uIGJldHdlZW4gdGhlIENQVXMuICBUaGUgZmlyc3QgdGltZSB0aGlzIHJvdXRpbmUgZ2V0cwotCSAqIGV4ZWN1dGVkLCBjID09ICZib290X2NwdV9kYXRhLgotCSAqLwotCWlmIChjICE9ICZib290X2NwdV9kYXRhKSB7Ci0JCS8qIEFORCB0aGUgYWxyZWFkeSBhY2N1bXVsYXRlZCBmbGFncyB3aXRoIHRoZXNlICovCi0JCWZvciAoaSA9IDA7IGkgPCBOQ0FQSU5UUzsgaSsrKQotCQkJYm9vdF9jcHVfZGF0YS54ODZfY2FwYWJpbGl0eVtpXSAmPSBjLT54ODZfY2FwYWJpbGl0eVtpXTsKLQl9Ci0KLQkvKiBDbGVhciBhbGwgZmxhZ3Mgb3ZlcnJpZGVuIGJ5IG9wdGlvbnMgKi8KLQlmb3IgKGkgPSAwOyBpIDwgTkNBUElOVFM7IGkrKykKLQkJYy0+eDg2X2NhcGFiaWxpdHlbaV0gJj0gfmNsZWFyZWRfY3B1X2NhcHNbaV07Ci0KLSNpZmRlZiBDT05GSUdfWDg2X01DRQotCW1jaGVja19pbml0KGMpOwotI2VuZGlmCi0Jc2VsZWN0X2lkbGVfcm91dGluZShjKTsKLQotI2lmZGVmIENPTkZJR19OVU1BCi0JbnVtYV9hZGRfY3B1KHNtcF9wcm9jZXNzb3JfaWQoKSk7Ci0jZW5kaWYKLQotfQotCi12b2lkIF9fY3B1aW5pdCBpZGVudGlmeV9ib290X2NwdSh2b2lkKQotewotCWlkZW50aWZ5X2NwdSgmYm9vdF9jcHVfZGF0YSk7Ci19Ci0KLXZvaWQgX19jcHVpbml0IGlkZW50aWZ5X3NlY29uZGFyeV9jcHUoc3RydWN0IGNwdWluZm9feDg2ICpjKQotewotCUJVR19PTihjID09ICZib290X2NwdV9kYXRhKTsKLQlpZGVudGlmeV9jcHUoYyk7Ci0JbXRycl9hcF9pbml0KCk7Ci19Ci0KLXN0YXRpYyBfX2luaXQgaW50IHNldHVwX25vY2xmbHVzaChjaGFyICphcmcpCi17Ci0Jc2V0dXBfY2xlYXJfY3B1X2NhcChYODZfRkVBVFVSRV9DTEZMU0gpOwotCXJldHVybiAxOwotfQotX19zZXR1cCgibm9jbGZsdXNoIiwgc2V0dXBfbm9jbGZsdXNoKTsKLQotdm9pZCBfX2NwdWluaXQgcHJpbnRfY3B1X2luZm8oc3RydWN0IGNwdWluZm9feDg2ICpjKQotewotCWlmIChjLT54ODZfbW9kZWxfaWRbMF0pCi0JCXByaW50ayhLRVJOX0NPTlQgIiVzIiwgYy0+eDg2X21vZGVsX2lkKTsKLQotCWlmIChjLT54ODZfbWFzayB8fCBjLT5jcHVpZF9sZXZlbCA+PSAwKQotCQlwcmludGsoS0VSTl9DT05UICIgc3RlcHBpbmcgJTAyeFxuIiwgYy0+eDg2X21hc2spOwotCWVsc2UKLQkJcHJpbnRrKEtFUk5fQ09OVCAiXG4iKTsKLX0KLQotc3RhdGljIF9faW5pdCBpbnQgc2V0dXBfZGlzYWJsZWNwdWlkKGNoYXIgKmFyZykKLXsKLQlpbnQgYml0OwotCWlmIChnZXRfb3B0aW9uKCZhcmcsICZiaXQpICYmIGJpdCA8IE5DQVBJTlRTKjMyKQotCQlzZXR1cF9jbGVhcl9jcHVfY2FwKGJpdCk7Ci0JZWxzZQotCQlyZXR1cm4gMDsKLQlyZXR1cm4gMTsKLX0KLV9fc2V0dXAoImNsZWFyY3B1aWQ9Iiwgc2V0dXBfZGlzYWJsZWNwdWlkKTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9zZXR1cF9wZXJjcHUuYyBiL2FyY2gveDg2L2tlcm5lbC9zZXR1cF9wZXJjcHUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYWM2ODQzCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC94ODYva2VybmVsL3NldHVwX3BlcmNwdS5jCkBAIC0wLDAgKzEsMzk5IEBACisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L2Jvb3RtZW0uaD4KKyNpbmNsdWRlIDxsaW51eC9wZXJjcHUuaD4KKyNpbmNsdWRlIDxsaW51eC9rZXhlYy5oPgorI2luY2x1ZGUgPGxpbnV4L2NyYXNoX2R1bXAuaD4KKyNpbmNsdWRlIDxhc20vc21wLmg+CisjaW5jbHVkZSA8YXNtL3BlcmNwdS5oPgorI2luY2x1ZGUgPGFzbS9zZWN0aW9ucy5oPgorI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3IuaD4KKyNpbmNsdWRlIDxhc20vc2V0dXAuaD4KKyNpbmNsdWRlIDxhc20vdG9wb2xvZ3kuaD4KKyNpbmNsdWRlIDxhc20vbXBzcGVjLmg+CisjaW5jbHVkZSA8YXNtL2FwaWNkZWYuaD4KKyNpbmNsdWRlIDxhc20vaGlnaG1lbS5oPgorCisjaWZkZWYgQ09ORklHX1g4Nl9MT0NBTF9BUElDCit1bnNpZ25lZCBpbnQgbnVtX3Byb2Nlc3NvcnM7Cit1bnNpZ25lZCBkaXNhYmxlZF9jcHVzIF9fY3B1aW5pdGRhdGE7CisvKiBQcm9jZXNzb3IgdGhhdCBpcyBkb2luZyB0aGUgYm9vdCB1cCAqLwordW5zaWduZWQgaW50IGJvb3RfY3B1X3BoeXNpY2FsX2FwaWNpZCA9IC0xVTsKK3Vuc2lnbmVkIGludCBtYXhfcGh5c2ljYWxfYXBpY2lkOworRVhQT1JUX1NZTUJPTChib290X2NwdV9waHlzaWNhbF9hcGljaWQpOworCisvKiBCaXRtYXNrIG9mIHBoeXNpY2FsbHkgZXhpc3RpbmcgQ1BVcyAqLworcGh5c2lkX21hc2tfdCBwaHlzX2NwdV9wcmVzZW50X21hcDsKKyNlbmRpZgorCisvKiBtYXAgY3B1IGluZGV4IHRvIHBoeXNpY2FsIEFQSUMgSUQgKi8KK0RFRklORV9FQVJMWV9QRVJfQ1BVKHUxNiwgeDg2X2NwdV90b19hcGljaWQsIEJBRF9BUElDSUQpOworREVGSU5FX0VBUkxZX1BFUl9DUFUodTE2LCB4ODZfYmlvc19jcHVfYXBpY2lkLCBCQURfQVBJQ0lEKTsKK0VYUE9SVF9FQVJMWV9QRVJfQ1BVX1NZTUJPTCh4ODZfY3B1X3RvX2FwaWNpZCk7CitFWFBPUlRfRUFSTFlfUEVSX0NQVV9TWU1CT0woeDg2X2Jpb3NfY3B1X2FwaWNpZCk7CisKKyNpZiBkZWZpbmVkKENPTkZJR19OVU1BKSAmJiBkZWZpbmVkKENPTkZJR19YODZfNjQpCisjZGVmaW5lCVg4Nl82NF9OVU1BCTEKKworLyogbWFwIGNwdSBpbmRleCB0byBub2RlIGluZGV4ICovCitERUZJTkVfRUFSTFlfUEVSX0NQVShpbnQsIHg4Nl9jcHVfdG9fbm9kZV9tYXAsIE5VTUFfTk9fTk9ERSk7CitFWFBPUlRfRUFSTFlfUEVSX0NQVV9TWU1CT0woeDg2X2NwdV90b19ub2RlX21hcCk7CisKKy8qIHdoaWNoIGxvZ2ljYWwgQ1BVcyBhcmUgb24gd2hpY2ggbm9kZXMgKi8KK2NwdW1hc2tfdCAqbm9kZV90b19jcHVtYXNrX21hcDsKK0VYUE9SVF9TWU1CT0wobm9kZV90b19jcHVtYXNrX21hcCk7CisKKy8qIHNldHVwIG5vZGVfdG9fY3B1bWFza19tYXAgKi8KK3N0YXRpYyB2b2lkIF9faW5pdCBzZXR1cF9ub2RlX3RvX2NwdW1hc2tfbWFwKHZvaWQpOworCisjZWxzZQorc3RhdGljIGlubGluZSB2b2lkIHNldHVwX25vZGVfdG9fY3B1bWFza19tYXAodm9pZCkgeyB9CisjZW5kaWYKKworI2lmIGRlZmluZWQoQ09ORklHX0hBVkVfU0VUVVBfUEVSX0NQVV9BUkVBKSAmJiBkZWZpbmVkKENPTkZJR19YODZfU01QKQorLyoKKyAqIENvcHkgZGF0YSB1c2VkIGluIGVhcmx5IGluaXQgcm91dGluZXMgZnJvbSB0aGUgaW5pdGlhbCBhcnJheXMgdG8gdGhlCisgKiBwZXIgY3B1IGRhdGEgYXJlYXMuICBUaGVzZSBhcnJheXMgdGhlbiBiZWNvbWUgZXhwZW5kYWJsZSBhbmQgdGhlCisgKiAqX2Vhcmx5X3B0cidzIGFyZSB6ZXJvZWQgaW5kaWNhdGluZyB0aGF0IHRoZSBzdGF0aWMgYXJyYXlzIGFyZSBnb25lLgorICovCitzdGF0aWMgdm9pZCBfX2luaXQgc2V0dXBfcGVyX2NwdV9tYXBzKHZvaWQpCit7CisJaW50IGNwdTsKKworCWZvcl9lYWNoX3Bvc3NpYmxlX2NwdShjcHUpIHsKKwkJcGVyX2NwdSh4ODZfY3B1X3RvX2FwaWNpZCwgY3B1KSA9CisJCQkJZWFybHlfcGVyX2NwdV9tYXAoeDg2X2NwdV90b19hcGljaWQsIGNwdSk7CisJCXBlcl9jcHUoeDg2X2Jpb3NfY3B1X2FwaWNpZCwgY3B1KSA9CisJCQkJZWFybHlfcGVyX2NwdV9tYXAoeDg2X2Jpb3NfY3B1X2FwaWNpZCwgY3B1KTsKKyNpZmRlZiBYODZfNjRfTlVNQQorCQlwZXJfY3B1KHg4Nl9jcHVfdG9fbm9kZV9tYXAsIGNwdSkgPQorCQkJCWVhcmx5X3Blcl9jcHVfbWFwKHg4Nl9jcHVfdG9fbm9kZV9tYXAsIGNwdSk7CisjZW5kaWYKKwl9CisKKwkvKiBpbmRpY2F0ZSB0aGUgZWFybHkgc3RhdGljIGFycmF5cyB3aWxsIHNvb24gYmUgZ29uZSAqLworCWVhcmx5X3Blcl9jcHVfcHRyKHg4Nl9jcHVfdG9fYXBpY2lkKSA9IE5VTEw7CisJZWFybHlfcGVyX2NwdV9wdHIoeDg2X2Jpb3NfY3B1X2FwaWNpZCkgPSBOVUxMOworI2lmZGVmIFg4Nl82NF9OVU1BCisJZWFybHlfcGVyX2NwdV9wdHIoeDg2X2NwdV90b19ub2RlX21hcCkgPSBOVUxMOworI2VuZGlmCit9CisKKyNpZmRlZiBDT05GSUdfSEFWRV9DUFVNQVNLX09GX0NQVV9NQVAKK2NwdW1hc2tfdCAqY3B1bWFza19vZl9jcHVfbWFwIF9fcmVhZF9tb3N0bHk7CitFWFBPUlRfU1lNQk9MKGNwdW1hc2tfb2ZfY3B1X21hcCk7CisKKy8qIHJlcXVpcmVzIG5yX2NwdV9pZHMgdG8gYmUgaW5pdGlhbGl6ZWQgKi8KK3N0YXRpYyB2b2lkIF9faW5pdCBzZXR1cF9jcHVtYXNrX29mX2NwdSh2b2lkKQoreworCWludCBpOworCisJLyogYWxsb2NfYm9vdG1lbSB6ZXJvZXMgbWVtb3J5ICovCisJY3B1bWFza19vZl9jcHVfbWFwID0gYWxsb2NfYm9vdG1lbV9sb3coc2l6ZW9mKGNwdW1hc2tfdCkgKiBucl9jcHVfaWRzKTsKKwlmb3IgKGkgPSAwOyBpIDwgbnJfY3B1X2lkczsgaSsrKQorCQljcHVfc2V0KGksIGNwdW1hc2tfb2ZfY3B1X21hcFtpXSk7Cit9CisjZWxzZQorc3RhdGljIGlubGluZSB2b2lkIHNldHVwX2NwdW1hc2tfb2ZfY3B1KHZvaWQpIHsgfQorI2VuZGlmCisKKyNpZmRlZiBDT05GSUdfWDg2XzMyCisvKgorICogR3JlYXQgZnV0dXJlIG5vdC1zby1mdXR1cmlzdGljIHBsYW46IG1ha2UgaTM4NiBhbmQgeDg2XzY0IGRvIGl0CisgKiB0aGUgc2FtZSB3YXkKKyAqLwordW5zaWduZWQgbG9uZyBfX3Blcl9jcHVfb2Zmc2V0W05SX0NQVVNdIF9fcmVhZF9tb3N0bHk7CitFWFBPUlRfU1lNQk9MKF9fcGVyX2NwdV9vZmZzZXQpOworc3RhdGljIGlubGluZSB2b2lkIHNldHVwX2NwdV9wZGFfbWFwKHZvaWQpIHsgfQorCisjZWxpZiAhZGVmaW5lZChDT05GSUdfU01QKQorc3RhdGljIGlubGluZSB2b2lkIHNldHVwX2NwdV9wZGFfbWFwKHZvaWQpIHsgfQorCisjZWxzZSAvKiBDT05GSUdfU01QICYmIENPTkZJR19YODZfNjQgKi8KKworLyoKKyAqIEFsbG9jYXRlIGNwdV9wZGEgcG9pbnRlciB0YWJsZSBhbmQgYXJyYXkgdmlhIGFsbG9jX2Jvb3RtZW0uCisgKi8KK3N0YXRpYyB2b2lkIF9faW5pdCBzZXR1cF9jcHVfcGRhX21hcCh2b2lkKQoreworCWNoYXIgKnBkYTsKKwlzdHJ1Y3QgeDg2NjRfcGRhICoqbmV3X2NwdV9wZGE7CisJdW5zaWduZWQgbG9uZyBzaXplOworCWludCBjcHU7CisKKwlzaXplID0gcm91bmR1cChzaXplb2Yoc3RydWN0IHg4NjY0X3BkYSksIGNhY2hlX2xpbmVfc2l6ZSgpKTsKKworCS8qIGFsbG9jYXRlIGNwdV9wZGEgYXJyYXkgYW5kIHBvaW50ZXIgdGFibGUgKi8KKwl7CisJCXVuc2lnbmVkIGxvbmcgdHNpemUgPSBucl9jcHVfaWRzICogc2l6ZW9mKHZvaWQgKik7CisJCXVuc2lnbmVkIGxvbmcgYXNpemUgPSBzaXplICogKG5yX2NwdV9pZHMgLSAxKTsKKworCQl0c2l6ZSA9IHJvdW5kdXAodHNpemUsIGNhY2hlX2xpbmVfc2l6ZSgpKTsKKwkJbmV3X2NwdV9wZGEgPSBhbGxvY19ib290bWVtKHRzaXplICsgYXNpemUpOworCQlwZGEgPSAoY2hhciAqKW5ld19jcHVfcGRhICsgdHNpemU7CisJfQorCisJLyogaW5pdGlhbGl6ZSBwb2ludGVyIHRhYmxlIHRvIHN0YXRpYyBwZGEncyAqLworCWZvcl9lYWNoX3Bvc3NpYmxlX2NwdShjcHUpIHsKKwkJaWYgKGNwdSA9PSAwKSB7CisJCQkvKiBsZWF2ZSBib290IGNwdSBwZGEgaW4gcGxhY2UgKi8KKwkJCW5ld19jcHVfcGRhWzBdID0gY3B1X3BkYSgwKTsKKwkJCWNvbnRpbnVlOworCQl9CisJCW5ld19jcHVfcGRhW2NwdV0gPSAoc3RydWN0IHg4NjY0X3BkYSAqKXBkYTsKKwkJbmV3X2NwdV9wZGFbY3B1XS0+aW5fYm9vdG1lbSA9IDE7CisJCXBkYSArPSBzaXplOworCX0KKworCS8qIHBvaW50IHRvIG5ldyBwb2ludGVyIHRhYmxlICovCisJX2NwdV9wZGEgPSBuZXdfY3B1X3BkYTsKK30KKyNlbmRpZgorCisvKgorICogR3JlYXQgZnV0dXJlIHBsYW46CisgKiBEZWNsYXJlIFBEQSBpdHNlbGYgYW5kIHN1cHBvcnQgKGlycXN0YWNrLHRzcyxwZ2QpIGFzIHBlciBjcHUgZGF0YS4KKyAqIEFsd2F5cyBwb2ludCAlZ3MgdG8gaXRzIGJlZ2lubmluZworICovCit2b2lkIF9faW5pdCBzZXR1cF9wZXJfY3B1X2FyZWFzKHZvaWQpCit7CisJc3NpemVfdCBzaXplID0gUEVSQ1BVX0VOT1VHSF9ST09NOworCWNoYXIgKnB0cjsKKwlpbnQgY3B1OworCisJLyogU2V0dXAgY3B1X3BkYSBtYXAgKi8KKwlzZXR1cF9jcHVfcGRhX21hcCgpOworCisJLyogQ29weSBzZWN0aW9uIGZvciBlYWNoIENQVSAod2UgZGlzY2FyZCB0aGUgb3JpZ2luYWwpICovCisJc2l6ZSA9IFBFUkNQVV9FTk9VR0hfUk9PTTsKKwlwcmludGsoS0VSTl9JTkZPICJQRVJDUFU6IEFsbG9jYXRpbmcgJXpkIGJ5dGVzIG9mIHBlciBjcHUgZGF0YVxuIiwKKwkJCSAgc2l6ZSk7CisKKwlmb3JfZWFjaF9wb3NzaWJsZV9jcHUoY3B1KSB7CisjaWZuZGVmIENPTkZJR19ORUVEX01VTFRJUExFX05PREVTCisJCXB0ciA9IGFsbG9jX2Jvb3RtZW1fcGFnZXMoc2l6ZSk7CisjZWxzZQorCQlpbnQgbm9kZSA9IGVhcmx5X2NwdV90b19ub2RlKGNwdSk7CisJCWlmICghbm9kZV9vbmxpbmUobm9kZSkgfHwgIU5PREVfREFUQShub2RlKSkgeworCQkJcHRyID0gYWxsb2NfYm9vdG1lbV9wYWdlcyhzaXplKTsKKwkJCXByaW50ayhLRVJOX0lORk8KKwkJCSAgICAgICAiY3B1ICVkIGhhcyBubyBub2RlICVkIG9yIG5vZGUtbG9jYWwgbWVtb3J5XG4iLAorCQkJCWNwdSwgbm9kZSk7CisJCX0KKwkJZWxzZQorCQkJcHRyID0gYWxsb2NfYm9vdG1lbV9wYWdlc19ub2RlKE5PREVfREFUQShub2RlKSwgc2l6ZSk7CisjZW5kaWYKKwkJcGVyX2NwdV9vZmZzZXQoY3B1KSA9IHB0ciAtIF9fcGVyX2NwdV9zdGFydDsKKwkJbWVtY3B5KHB0ciwgX19wZXJfY3B1X3N0YXJ0LCBfX3Blcl9jcHVfZW5kIC0gX19wZXJfY3B1X3N0YXJ0KTsKKworCX0KKworCXByaW50ayhLRVJOX0RFQlVHICJOUl9DUFVTOiAlZCwgbnJfY3B1X2lkczogJWQsIG5yX25vZGVfaWRzICVkXG4iLAorCQlOUl9DUFVTLCBucl9jcHVfaWRzLCBucl9ub2RlX2lkcyk7CisKKwkvKiBTZXR1cCBwZXJjcHUgZGF0YSBtYXBzICovCisJc2V0dXBfcGVyX2NwdV9tYXBzKCk7CisKKwkvKiBTZXR1cCBub2RlIHRvIGNwdW1hc2sgbWFwICovCisJc2V0dXBfbm9kZV90b19jcHVtYXNrX21hcCgpOworCisJLyogU2V0dXAgY3B1bWFza19vZl9jcHUgbWFwICovCisJc2V0dXBfY3B1bWFza19vZl9jcHUoKTsKK30KKworI2VuZGlmCisKKyNpZmRlZiBYODZfNjRfTlVNQQorCisvKgorICogQWxsb2NhdGUgbm9kZV90b19jcHVtYXNrX21hcCBiYXNlZCBvbiBudW1iZXIgb2YgYXZhaWxhYmxlIG5vZGVzCisgKiBSZXF1aXJlcyBub2RlX3Bvc3NpYmxlX21hcCB0byBiZSB2YWxpZC4KKyAqCisgKiBOb3RlOiBub2RlX3RvX2NwdW1hc2soKSBpcyBub3QgdmFsaWQgdW50aWwgYWZ0ZXIgdGhpcyBpcyBkb25lLgorICovCitzdGF0aWMgdm9pZCBfX2luaXQgc2V0dXBfbm9kZV90b19jcHVtYXNrX21hcCh2b2lkKQoreworCXVuc2lnbmVkIGludCBub2RlLCBudW0gPSAwOworCWNwdW1hc2tfdCAqbWFwOworCisJLyogc2V0dXAgbnJfbm9kZV9pZHMgaWYgbm90IGRvbmUgeWV0ICovCisJaWYgKG5yX25vZGVfaWRzID09IE1BWF9OVU1OT0RFUykgeworCQlmb3JfZWFjaF9ub2RlX21hc2sobm9kZSwgbm9kZV9wb3NzaWJsZV9tYXApCisJCQludW0gPSBub2RlOworCQlucl9ub2RlX2lkcyA9IG51bSArIDE7CisJfQorCisJLyogYWxsb2NhdGUgdGhlIG1hcCAqLworCW1hcCA9IGFsbG9jX2Jvb3RtZW1fbG93KG5yX25vZGVfaWRzICogc2l6ZW9mKGNwdW1hc2tfdCkpOworCisJRHByaW50ayhLRVJOX0RFQlVHICJOb2RlIHRvIGNwdW1hc2sgbWFwIGF0ICVwIGZvciAlZCBub2Rlc1xuIiwKKwkJbWFwLCBucl9ub2RlX2lkcyk7CisKKwkvKiBub2RlX3RvX2NwdW1hc2soKSB3aWxsIG5vdyB3b3JrICovCisJbm9kZV90b19jcHVtYXNrX21hcCA9IG1hcDsKK30KKwordm9pZCBfX2NwdWluaXQgbnVtYV9zZXRfbm9kZShpbnQgY3B1LCBpbnQgbm9kZSkKK3sKKwlpbnQgKmNwdV90b19ub2RlX21hcCA9IGVhcmx5X3Blcl9jcHVfcHRyKHg4Nl9jcHVfdG9fbm9kZV9tYXApOworCisJaWYgKGNwdV9wZGEoY3B1KSAmJiBub2RlICE9IE5VTUFfTk9fTk9ERSkKKwkJY3B1X3BkYShjcHUpLT5ub2RlbnVtYmVyID0gbm9kZTsKKworCWlmIChjcHVfdG9fbm9kZV9tYXApCisJCWNwdV90b19ub2RlX21hcFtjcHVdID0gbm9kZTsKKworCWVsc2UgaWYgKHBlcl9jcHVfb2Zmc2V0KGNwdSkpCisJCXBlcl9jcHUoeDg2X2NwdV90b19ub2RlX21hcCwgY3B1KSA9IG5vZGU7CisKKwllbHNlCisJCURwcmludGsoS0VSTl9JTkZPICJTZXR0aW5nIG5vZGUgZm9yIG5vbi1wcmVzZW50IGNwdSAlZFxuIiwgY3B1KTsKK30KKwordm9pZCBfX2NwdWluaXQgbnVtYV9jbGVhcl9ub2RlKGludCBjcHUpCit7CisJbnVtYV9zZXRfbm9kZShjcHUsIE5VTUFfTk9fTk9ERSk7Cit9CisKKyNpZm5kZWYgQ09ORklHX0RFQlVHX1BFUl9DUFVfTUFQUworCit2b2lkIF9fY3B1aW5pdCBudW1hX2FkZF9jcHUoaW50IGNwdSkKK3sKKwljcHVfc2V0KGNwdSwgbm9kZV90b19jcHVtYXNrX21hcFtlYXJseV9jcHVfdG9fbm9kZShjcHUpXSk7Cit9CisKK3ZvaWQgX19jcHVpbml0IG51bWFfcmVtb3ZlX2NwdShpbnQgY3B1KQoreworCWNwdV9jbGVhcihjcHUsIG5vZGVfdG9fY3B1bWFza19tYXBbY3B1X3RvX25vZGUoY3B1KV0pOworfQorCisjZWxzZSAvKiBDT05GSUdfREVCVUdfUEVSX0NQVV9NQVBTICovCisKKy8qCisgKiAtLS0tLS0tLS0gZGVidWcgdmVyc2lvbnMgb2YgdGhlIG51bWEgZnVuY3Rpb25zIC0tLS0tLS0tLQorICovCitzdGF0aWMgdm9pZCBfX2NwdWluaXQgbnVtYV9zZXRfY3B1bWFzayhpbnQgY3B1LCBpbnQgZW5hYmxlKQoreworCWludCBub2RlID0gY3B1X3RvX25vZGUoY3B1KTsKKwljcHVtYXNrX3QgKm1hc2s7CisJY2hhciBidWZbNjRdOworCisJaWYgKG5vZGVfdG9fY3B1bWFza19tYXAgPT0gTlVMTCkgeworCQlwcmludGsoS0VSTl9FUlIgIm5vZGVfdG9fY3B1bWFza19tYXAgTlVMTFxuIik7CisJCWR1bXBfc3RhY2soKTsKKwkJcmV0dXJuOworCX0KKworCW1hc2sgPSAmbm9kZV90b19jcHVtYXNrX21hcFtub2RlXTsKKwlpZiAoZW5hYmxlKQorCQljcHVfc2V0KGNwdSwgKm1hc2spOworCWVsc2UKKwkJY3B1X2NsZWFyKGNwdSwgKm1hc2spOworCisJY3B1bGlzdF9zY25wcmludGYoYnVmLCBzaXplb2YoYnVmKSwgKm1hc2spOworCXByaW50ayhLRVJOX0RFQlVHICIlcyBjcHUgJWQgbm9kZSAlZDogbWFzayBub3cgJXNcbiIsCisJCWVuYWJsZT8gIm51bWFfYWRkX2NwdSI6Im51bWFfcmVtb3ZlX2NwdSIsIGNwdSwgbm9kZSwgYnVmKTsKKyB9CisKK3ZvaWQgX19jcHVpbml0IG51bWFfYWRkX2NwdShpbnQgY3B1KQoreworCW51bWFfc2V0X2NwdW1hc2soY3B1LCAxKTsKK30KKwordm9pZCBfX2NwdWluaXQgbnVtYV9yZW1vdmVfY3B1KGludCBjcHUpCit7CisJbnVtYV9zZXRfY3B1bWFzayhjcHUsIDApOworfQorCitpbnQgY3B1X3RvX25vZGUoaW50IGNwdSkKK3sKKwlpZiAoZWFybHlfcGVyX2NwdV9wdHIoeDg2X2NwdV90b19ub2RlX21hcCkpIHsKKwkJcHJpbnRrKEtFUk5fV0FSTklORworCQkJImNwdV90b19ub2RlKCVkKTogdXNhZ2UgdG9vIGVhcmx5IVxuIiwgY3B1KTsKKwkJZHVtcF9zdGFjaygpOworCQlyZXR1cm4gZWFybHlfcGVyX2NwdV9wdHIoeDg2X2NwdV90b19ub2RlX21hcClbY3B1XTsKKwl9CisJcmV0dXJuIHBlcl9jcHUoeDg2X2NwdV90b19ub2RlX21hcCwgY3B1KTsKK30KK0VYUE9SVF9TWU1CT0woY3B1X3RvX25vZGUpOworCisvKgorICogU2FtZSBmdW5jdGlvbiBhcyBjcHVfdG9fbm9kZSgpIGJ1dCB1c2VkIGlmIGNhbGxlZCBiZWZvcmUgdGhlCisgKiBwZXJfY3B1IGFyZWFzIGFyZSBzZXR1cC4KKyAqLworaW50IGVhcmx5X2NwdV90b19ub2RlKGludCBjcHUpCit7CisJaWYgKGVhcmx5X3Blcl9jcHVfcHRyKHg4Nl9jcHVfdG9fbm9kZV9tYXApKQorCQlyZXR1cm4gZWFybHlfcGVyX2NwdV9wdHIoeDg2X2NwdV90b19ub2RlX21hcClbY3B1XTsKKworCWlmICghcGVyX2NwdV9vZmZzZXQoY3B1KSkgeworCQlwcmludGsoS0VSTl9XQVJOSU5HCisJCQkiZWFybHlfY3B1X3RvX25vZGUoJWQpOiBubyBwZXJfY3B1IGFyZWEhXG4iLCBjcHUpOworCQlkdW1wX3N0YWNrKCk7CisJCXJldHVybiBOVU1BX05PX05PREU7CisJfQorCXJldHVybiBwZXJfY3B1KHg4Nl9jcHVfdG9fbm9kZV9tYXAsIGNwdSk7Cit9CisKKworLyogZW1wdHkgY3B1bWFzayAqLworc3RhdGljIGNvbnN0IGNwdW1hc2tfdCBjcHVfbWFza19ub25lOworCisvKgorICogUmV0dXJucyBhIHBvaW50ZXIgdG8gdGhlIGJpdG1hc2sgb2YgQ1BVcyBvbiBOb2RlICdub2RlJy4KKyAqLworY29uc3QgY3B1bWFza190ICpfbm9kZV90b19jcHVtYXNrX3B0cihpbnQgbm9kZSkKK3sKKwlpZiAobm9kZV90b19jcHVtYXNrX21hcCA9PSBOVUxMKSB7CisJCXByaW50ayhLRVJOX1dBUk5JTkcKKwkJCSJfbm9kZV90b19jcHVtYXNrX3B0ciglZCk6IG5vIG5vZGVfdG9fY3B1bWFza19tYXAhXG4iLAorCQkJbm9kZSk7CisJCWR1bXBfc3RhY2soKTsKKwkJcmV0dXJuIChjb25zdCBjcHVtYXNrX3QgKikmY3B1X29ubGluZV9tYXA7CisJfQorCWlmIChub2RlID49IG5yX25vZGVfaWRzKSB7CisJCXByaW50ayhLRVJOX1dBUk5JTkcKKwkJCSJfbm9kZV90b19jcHVtYXNrX3B0ciglZCk6IG5vZGUgPiBucl9ub2RlX2lkcyglZClcbiIsCisJCQlub2RlLCBucl9ub2RlX2lkcyk7CisJCWR1bXBfc3RhY2soKTsKKwkJcmV0dXJuICZjcHVfbWFza19ub25lOworCX0KKwlyZXR1cm4gJm5vZGVfdG9fY3B1bWFza19tYXBbbm9kZV07Cit9CitFWFBPUlRfU1lNQk9MKF9ub2RlX3RvX2NwdW1hc2tfcHRyKTsKKworLyoKKyAqIFJldHVybnMgYSBiaXRtYXNrIG9mIENQVXMgb24gTm9kZSAnbm9kZScuCisgKgorICogU2lkZSBub3RlOiB0aGlzIGZ1bmN0aW9uIGNyZWF0ZXMgdGhlIHJldHVybmVkIGNwdW1hc2sgb24gdGhlIHN0YWNrCisgKiBzbyB3aXRoIGEgaGlnaCBOUl9DUFVTIGNvdW50LCBleGNlc3NpdmUgc3RhY2sgc3BhY2UgaXMgdXNlZC4gIFRoZQorICogbm9kZV90b19jcHVtYXNrX3B0ciBmdW5jdGlvbiBzaG91bGQgYmUgdXNlZCB3aGVuZXZlciBwb3NzaWJsZS4KKyAqLworY3B1bWFza190IG5vZGVfdG9fY3B1bWFzayhpbnQgbm9kZSkKK3sKKwlpZiAobm9kZV90b19jcHVtYXNrX21hcCA9PSBOVUxMKSB7CisJCXByaW50ayhLRVJOX1dBUk5JTkcKKwkJCSJub2RlX3RvX2NwdW1hc2soJWQpOiBubyBub2RlX3RvX2NwdW1hc2tfbWFwIVxuIiwgbm9kZSk7CisJCWR1bXBfc3RhY2soKTsKKwkJcmV0dXJuIGNwdV9vbmxpbmVfbWFwOworCX0KKwlpZiAobm9kZSA+PSBucl9ub2RlX2lkcykgeworCQlwcmludGsoS0VSTl9XQVJOSU5HCisJCQkibm9kZV90b19jcHVtYXNrKCVkKTogbm9kZSA+IG5yX25vZGVfaWRzKCVkKVxuIiwKKwkJCW5vZGUsIG5yX25vZGVfaWRzKTsKKwkJZHVtcF9zdGFjaygpOworCQlyZXR1cm4gY3B1X21hc2tfbm9uZTsKKwl9CisJcmV0dXJuIG5vZGVfdG9fY3B1bWFza19tYXBbbm9kZV07Cit9CitFWFBPUlRfU1lNQk9MKG5vZGVfdG9fY3B1bWFzayk7CisKKy8qCisgKiAtLS0tLS0tLS0gZW5kIG9mIGRlYnVnIHZlcnNpb25zIG9mIHRoZSBudW1hIGZ1bmN0aW9ucyAtLS0tLS0tLS0KKyAqLworCisjZW5kaWYgLyogQ09ORklHX0RFQlVHX1BFUl9DUFVfTUFQUyAqLworCisjZW5kaWYgLyogWDg2XzY0X05VTUEgKi8KKwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3NtcC5jIGIvYXJjaC94ODYva2VybmVsL3NtcC5jCmluZGV4IDBjYjdhYWQuLjM2MWI3YTQgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9zbXAuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvc21wLmMKQEAgLTEyMSwxMzIgKzEyMSwyMyBAQAogCXNlbmRfSVBJX21hc2soY3B1bWFza19vZl9jcHUoY3B1KSwgUkVTQ0hFRFVMRV9WRUNUT1IpOwogfQogCi0vKgotICogU3RydWN0dXJlIGFuZCBkYXRhIGZvciBzbXBfY2FsbF9mdW5jdGlvbigpLiBUaGlzIGlzIGRlc2lnbmVkIHRvIG1pbmltaXNlCi0gKiBzdGF0aWMgbWVtb3J5IHJlcXVpcmVtZW50cy4gSXQgYWxzbyBsb29rcyBjbGVhbmVyLgotICovCi1zdGF0aWMgREVGSU5FX1NQSU5MT0NLKGNhbGxfbG9jayk7Ci0KLXN0cnVjdCBjYWxsX2RhdGFfc3RydWN0IHsKLQl2b2lkICgqZnVuYykgKHZvaWQgKmluZm8pOwotCXZvaWQgKmluZm87Ci0JYXRvbWljX3Qgc3RhcnRlZDsKLQlhdG9taWNfdCBmaW5pc2hlZDsKLQlpbnQgd2FpdDsKLX07Ci0KLXZvaWQgbG9ja19pcGlfY2FsbF9sb2NrKHZvaWQpCit2b2lkIG5hdGl2ZV9zZW5kX2NhbGxfZnVuY19zaW5nbGVfaXBpKGludCBjcHUpCiB7Ci0Jc3Bpbl9sb2NrX2lycSgmY2FsbF9sb2NrKTsKKwlzZW5kX0lQSV9tYXNrKGNwdW1hc2tfb2ZfY3B1KGNwdSksIENBTExfRlVOQ1RJT05fU0lOR0xFX1ZFQ1RPUik7CiB9CiAKLXZvaWQgdW5sb2NrX2lwaV9jYWxsX2xvY2sodm9pZCkKK3ZvaWQgbmF0aXZlX3NlbmRfY2FsbF9mdW5jX2lwaShjcHVtYXNrX3QgbWFzaykKIHsKLQlzcGluX3VubG9ja19pcnEoJmNhbGxfbG9jayk7Ci19Ci0KLXN0YXRpYyBzdHJ1Y3QgY2FsbF9kYXRhX3N0cnVjdCAqY2FsbF9kYXRhOwotCi1zdGF0aWMgdm9pZCBfX3NtcF9jYWxsX2Z1bmN0aW9uKHZvaWQgKCpmdW5jKSAodm9pZCAqaW5mbyksIHZvaWQgKmluZm8sCi0JCQkJaW50IG5vbmF0b21pYywgaW50IHdhaXQpCi17Ci0Jc3RydWN0IGNhbGxfZGF0YV9zdHJ1Y3QgZGF0YTsKLQlpbnQgY3B1cyA9IG51bV9vbmxpbmVfY3B1cygpIC0gMTsKLQotCWlmICghY3B1cykKLQkJcmV0dXJuOwotCi0JZGF0YS5mdW5jID0gZnVuYzsKLQlkYXRhLmluZm8gPSBpbmZvOwotCWF0b21pY19zZXQoJmRhdGEuc3RhcnRlZCwgMCk7Ci0JZGF0YS53YWl0ID0gd2FpdDsKLQlpZiAod2FpdCkKLQkJYXRvbWljX3NldCgmZGF0YS5maW5pc2hlZCwgMCk7Ci0KLQljYWxsX2RhdGEgPSAmZGF0YTsKLQltYigpOwotCi0JLyogU2VuZCBhIG1lc3NhZ2UgdG8gYWxsIG90aGVyIENQVXMgYW5kIHdhaXQgZm9yIHRoZW0gdG8gcmVzcG9uZCAqLwotCXNlbmRfSVBJX2FsbGJ1dHNlbGYoQ0FMTF9GVU5DVElPTl9WRUNUT1IpOwotCi0JLyogV2FpdCBmb3IgcmVzcG9uc2UgKi8KLQl3aGlsZSAoYXRvbWljX3JlYWQoJmRhdGEuc3RhcnRlZCkgIT0gY3B1cykKLQkJY3B1X3JlbGF4KCk7Ci0KLQlpZiAod2FpdCkKLQkJd2hpbGUgKGF0b21pY19yZWFkKCZkYXRhLmZpbmlzaGVkKSAhPSBjcHVzKQotCQkJY3B1X3JlbGF4KCk7Ci19Ci0KLQotLyoqCi0gKiBzbXBfY2FsbF9mdW5jdGlvbl9tYXNrKCk6IFJ1biBhIGZ1bmN0aW9uIG9uIGEgc2V0IG9mIG90aGVyIENQVXMuCi0gKiBAbWFzazogVGhlIHNldCBvZiBjcHVzIHRvIHJ1biBvbi4gIE11c3Qgbm90IGluY2x1ZGUgdGhlIGN1cnJlbnQgY3B1LgotICogQGZ1bmM6IFRoZSBmdW5jdGlvbiB0byBydW4uIFRoaXMgbXVzdCBiZSBmYXN0IGFuZCBub24tYmxvY2tpbmcuCi0gKiBAaW5mbzogQW4gYXJiaXRyYXJ5IHBvaW50ZXIgdG8gcGFzcyB0byB0aGUgZnVuY3Rpb24uCi0gKiBAd2FpdDogSWYgdHJ1ZSwgd2FpdCAoYXRvbWljYWxseSkgdW50aWwgZnVuY3Rpb24gaGFzIGNvbXBsZXRlZCBvbiBvdGhlciBDUFVzLgotICoKLSAgKiBSZXR1cm5zIDAgb24gc3VjY2VzcywgZWxzZSBhIG5lZ2F0aXZlIHN0YXR1cyBjb2RlLgotICoKLSAqIElmIEB3YWl0IGlzIHRydWUsIHRoZW4gcmV0dXJucyBvbmNlIEBmdW5jIGhhcyByZXR1cm5lZDsgb3RoZXJ3aXNlCi0gKiBpdCByZXR1cm5zIGp1c3QgYmVmb3JlIHRoZSB0YXJnZXQgY3B1IGNhbGxzIEBmdW5jLgotICoKLSAqIFlvdSBtdXN0IG5vdCBjYWxsIHRoaXMgZnVuY3Rpb24gd2l0aCBkaXNhYmxlZCBpbnRlcnJ1cHRzIG9yIGZyb20gYQotICogaGFyZHdhcmUgaW50ZXJydXB0IGhhbmRsZXIgb3IgZnJvbSBhIGJvdHRvbSBoYWxmIGhhbmRsZXIuCi0gKi8KLXN0YXRpYyBpbnQKLW5hdGl2ZV9zbXBfY2FsbF9mdW5jdGlvbl9tYXNrKGNwdW1hc2tfdCBtYXNrLAotCQkJICAgICAgdm9pZCAoKmZ1bmMpKHZvaWQgKiksIHZvaWQgKmluZm8sCi0JCQkgICAgICBpbnQgd2FpdCkKLXsKLQlzdHJ1Y3QgY2FsbF9kYXRhX3N0cnVjdCBkYXRhOwogCWNwdW1hc2tfdCBhbGxidXRzZWxmOwotCWludCBjcHVzOwotCi0JLyogQ2FuIGRlYWRsb2NrIHdoZW4gY2FsbGVkIHdpdGggaW50ZXJydXB0cyBkaXNhYmxlZCAqLwotCVdBUk5fT04oaXJxc19kaXNhYmxlZCgpKTsKLQotCS8qIEhvbGRpbmcgYW55IGxvY2sgc3RvcHMgY3B1cyBmcm9tIGdvaW5nIGRvd24uICovCi0Jc3Bpbl9sb2NrKCZjYWxsX2xvY2spOwogCiAJYWxsYnV0c2VsZiA9IGNwdV9vbmxpbmVfbWFwOwogCWNwdV9jbGVhcihzbXBfcHJvY2Vzc29yX2lkKCksIGFsbGJ1dHNlbGYpOwogCi0JY3B1c19hbmQobWFzaywgbWFzaywgYWxsYnV0c2VsZik7Ci0JY3B1cyA9IGNwdXNfd2VpZ2h0KG1hc2spOwotCi0JaWYgKCFjcHVzKSB7Ci0JCXNwaW5fdW5sb2NrKCZjYWxsX2xvY2spOwotCQlyZXR1cm4gMDsKLQl9Ci0KLQlkYXRhLmZ1bmMgPSBmdW5jOwotCWRhdGEuaW5mbyA9IGluZm87Ci0JYXRvbWljX3NldCgmZGF0YS5zdGFydGVkLCAwKTsKLQlkYXRhLndhaXQgPSB3YWl0OwotCWlmICh3YWl0KQotCQlhdG9taWNfc2V0KCZkYXRhLmZpbmlzaGVkLCAwKTsKLQotCWNhbGxfZGF0YSA9ICZkYXRhOwotCXdtYigpOwotCi0JLyogU2VuZCBhIG1lc3NhZ2UgdG8gb3RoZXIgQ1BVcyAqLwogCWlmIChjcHVzX2VxdWFsKG1hc2ssIGFsbGJ1dHNlbGYpICYmCiAJICAgIGNwdXNfZXF1YWwoY3B1X29ubGluZV9tYXAsIGNwdV9jYWxsb3V0X21hcCkpCiAJCXNlbmRfSVBJX2FsbGJ1dHNlbGYoQ0FMTF9GVU5DVElPTl9WRUNUT1IpOwogCWVsc2UKIAkJc2VuZF9JUElfbWFzayhtYXNrLCBDQUxMX0ZVTkNUSU9OX1ZFQ1RPUik7Ci0KLQkvKiBXYWl0IGZvciByZXNwb25zZSAqLwotCXdoaWxlIChhdG9taWNfcmVhZCgmZGF0YS5zdGFydGVkKSAhPSBjcHVzKQotCQljcHVfcmVsYXgoKTsKLQotCWlmICh3YWl0KQotCQl3aGlsZSAoYXRvbWljX3JlYWQoJmRhdGEuZmluaXNoZWQpICE9IGNwdXMpCi0JCQljcHVfcmVsYXgoKTsKLQlzcGluX3VubG9jaygmY2FsbF9sb2NrKTsKLQotCXJldHVybiAwOwogfQogCiBzdGF0aWMgdm9pZCBzdG9wX3RoaXNfY3B1KHZvaWQgKmR1bW15KQpAQCAtMjY4LDE4ICsxNTksMTMgQEAKIAogc3RhdGljIHZvaWQgbmF0aXZlX3NtcF9zZW5kX3N0b3Aodm9pZCkKIHsKLQlpbnQgbm9sb2NrOwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAKIAlpZiAocmVib290X2ZvcmNlKQogCQlyZXR1cm47CiAKLQkvKiBEb24ndCBkZWFkbG9jayBvbiB0aGUgY2FsbCBsb2NrIGluIHBhbmljICovCi0Jbm9sb2NrID0gIXNwaW5fdHJ5bG9jaygmY2FsbF9sb2NrKTsKKwlzbXBfY2FsbF9mdW5jdGlvbihzdG9wX3RoaXNfY3B1LCBOVUxMLCAwKTsKIAlsb2NhbF9pcnFfc2F2ZShmbGFncyk7Ci0JX19zbXBfY2FsbF9mdW5jdGlvbihzdG9wX3RoaXNfY3B1LCBOVUxMLCAwLCAwKTsKLQlpZiAoIW5vbG9jaykKLQkJc3Bpbl91bmxvY2soJmNhbGxfbG9jayk7CiAJZGlzYWJsZV9sb2NhbF9BUElDKCk7CiAJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOwogfQpAQCAtMzAxLDMzICsxODcsMjggQEAKIAogdm9pZCBzbXBfY2FsbF9mdW5jdGlvbl9pbnRlcnJ1cHQoc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCiB7Ci0Jdm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKSA9IGNhbGxfZGF0YS0+ZnVuYzsKLQl2b2lkICppbmZvID0gY2FsbF9kYXRhLT5pbmZvOwotCWludCB3YWl0ID0gY2FsbF9kYXRhLT53YWl0OwotCiAJYWNrX0FQSUNfaXJxKCk7Ci0JLyoKLQkgKiBOb3RpZnkgaW5pdGlhdGluZyBDUFUgdGhhdCBJJ3ZlIGdyYWJiZWQgdGhlIGRhdGEgYW5kIGFtCi0JICogYWJvdXQgdG8gZXhlY3V0ZSB0aGUgZnVuY3Rpb24KLQkgKi8KLQltYigpOwotCWF0b21pY19pbmMoJmNhbGxfZGF0YS0+c3RhcnRlZCk7Ci0JLyoKLQkgKiBBdCB0aGlzIHBvaW50IHRoZSBpbmZvIHN0cnVjdHVyZSBtYXkgYmUgb3V0IG9mIHNjb3BlIHVubGVzcyB3YWl0PT0xCi0JICovCiAJaXJxX2VudGVyKCk7Ci0JKCpmdW5jKShpbmZvKTsKKwlnZW5lcmljX3NtcF9jYWxsX2Z1bmN0aW9uX2ludGVycnVwdCgpOwogI2lmZGVmIENPTkZJR19YODZfMzIKIAlfX2dldF9jcHVfdmFyKGlycV9zdGF0KS5pcnFfY2FsbF9jb3VudCsrOwogI2Vsc2UKIAlhZGRfcGRhKGlycV9jYWxsX2NvdW50LCAxKTsKICNlbmRpZgogCWlycV9leGl0KCk7Cit9CiAKLQlpZiAod2FpdCkgewotCQltYigpOwotCQlhdG9taWNfaW5jKCZjYWxsX2RhdGEtPmZpbmlzaGVkKTsKLQl9Cit2b2lkIHNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZV9pbnRlcnJ1cHQoc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCit7CisJYWNrX0FQSUNfaXJxKCk7CisJaXJxX2VudGVyKCk7CisJZ2VuZXJpY19zbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGVfaW50ZXJydXB0KCk7CisjaWZkZWYgQ09ORklHX1g4Nl8zMgorCV9fZ2V0X2NwdV92YXIoaXJxX3N0YXQpLmlycV9jYWxsX2NvdW50Kys7CisjZWxzZQorCWFkZF9wZGEoaXJxX2NhbGxfY291bnQsIDEpOworI2VuZGlmCisJaXJxX2V4aXQoKTsKIH0KIAogc3RydWN0IHNtcF9vcHMgc21wX29wcyA9IHsKQEAgLTMzOCw3ICsyMTksOCBAQAogCiAJLnNtcF9zZW5kX3N0b3AgPSBuYXRpdmVfc21wX3NlbmRfc3RvcCwKIAkuc21wX3NlbmRfcmVzY2hlZHVsZSA9IG5hdGl2ZV9zbXBfc2VuZF9yZXNjaGVkdWxlLAotCS5zbXBfY2FsbF9mdW5jdGlvbl9tYXNrID0gbmF0aXZlX3NtcF9jYWxsX2Z1bmN0aW9uX21hc2ssCisKKwkuc2VuZF9jYWxsX2Z1bmNfaXBpID0gbmF0aXZlX3NlbmRfY2FsbF9mdW5jX2lwaSwKKwkuc2VuZF9jYWxsX2Z1bmNfc2luZ2xlX2lwaSA9IG5hdGl2ZV9zZW5kX2NhbGxfZnVuY19zaW5nbGVfaXBpLAogfTsKIEVYUE9SVF9TWU1CT0xfR1BMKHNtcF9vcHMpOwotCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvc21wYm9vdC5jIGIvYXJjaC94ODYva2VybmVsL3NtcGJvb3QuYwppbmRleCAzZTFjZWNlLi42ODczNzZhIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvc21wYm9vdC5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9zbXBib290LmMKQEAgLTU5LDcgKzU5LDYgQEAKICNpbmNsdWRlIDxhc20vcGd0YWJsZS5oPgogI2luY2x1ZGUgPGFzbS90bGJmbHVzaC5oPgogI2luY2x1ZGUgPGFzbS9tdHJyLmg+Ci0jaW5jbHVkZSA8YXNtL25taS5oPgogI2luY2x1ZGUgPGFzbS92bWkuaD4KICNpbmNsdWRlIDxhc20vZ2VuYXBpYy5oPgogI2luY2x1ZGUgPGxpbnV4L21jMTQ2ODE4cnRjLmg+CkBAIC02OCwyMiArNjcsNiBAQAogI2luY2x1ZGUgPG1hY2hfd2FrZWNwdS5oPgogI2luY2x1ZGUgPHNtcGJvb3RfaG9va3MuaD4KIAotLyoKLSAqIEZJWE1FOiBGb3IgeDg2XzY0LCB0aG9zZSBhcmUgZGVmaW5lZCBpbiBvdGhlciBmaWxlcy4gQnV0IG1vdmluZyB0aGVtIGhlcmUsCi0gKiB3b3VsZCBtYWtlIHRoZSBzZXR1cCBhcmVhcyBkZXBlbmRlbnQgb24gc21wLCB3aGljaCBpcyBhIGxvc3MuIFdoZW4gd2UKLSAqIGludGVncmF0ZSBhcGljIGJldHdlZW4gYXJjaGVzLCB3ZSBjYW4gcHJvYmFibHkgZG8gYSBiZXR0ZXIgam9iLCBidXQKLSAqIHJpZ2h0IG5vdywgdGhleSdsbCBzdGF5IGhlcmUgLS0gZ2xvbW1lcgotICovCi0KLS8qIHdoaWNoIGxvZ2ljYWwgQ1BVIG51bWJlciBtYXBzIHRvIHdoaWNoIENQVSAocGh5c2ljYWwgQVBJQyBJRCkgKi8KLXUxNiB4ODZfY3B1X3RvX2FwaWNpZF9pbml0W05SX0NQVVNdIF9faW5pdGRhdGEgPQotCQkJeyBbMCAuLi4gTlJfQ1BVUy0xXSA9IEJBRF9BUElDSUQgfTsKLXZvaWQgKng4Nl9jcHVfdG9fYXBpY2lkX2Vhcmx5X3B0cjsKLQotdTE2IHg4Nl9iaW9zX2NwdV9hcGljaWRfaW5pdFtOUl9DUFVTXSBfX2luaXRkYXRhCi0JCQkJPSB7IFswIC4uLiBOUl9DUFVTLTFdID0gQkFEX0FQSUNJRCB9Owotdm9pZCAqeDg2X2Jpb3NfY3B1X2FwaWNpZF9lYXJseV9wdHI7Ci0KICNpZmRlZiBDT05GSUdfWDg2XzMyCiB1OCBhcGljaWRfMl9ub2RlW01BWF9BUElDSURdOwogc3RhdGljIGludCBsb3dfbWFwcGluZ3M7CkBAIC0xOTgsMTMgKzE4MSwxMiBAQAogCW1hcF9jcHVfdG9fbm9kZShjcHUsIG5vZGUpOwogfQogCi1zdGF0aWMgdm9pZCB1bm1hcF9jcHVfdG9fbG9naWNhbF9hcGljaWQoaW50IGNwdSkKK3ZvaWQgbnVtYV9yZW1vdmVfY3B1KGludCBjcHUpCiB7CiAJY3B1XzJfbG9naWNhbF9hcGljaWRbY3B1XSA9IEJBRF9BUElDSUQ7CiAJdW5tYXBfY3B1X3RvX25vZGUoY3B1KTsKIH0KICNlbHNlCi0jZGVmaW5lIHVubWFwX2NwdV90b19sb2dpY2FsX2FwaWNpZChjcHUpIGRvIHt9IHdoaWxlICgwKQogI2RlZmluZSBtYXBfY3B1X3RvX2xvZ2ljYWxfYXBpY2lkKCkgIGRvIHt9IHdoaWxlICgwKQogI2VuZGlmCiAKQEAgLTM0NSwxOSArMzI3LDEyIEBACiAJICogbG9jayBoZWxwcyB1cyB0byBub3QgaW5jbHVkZSB0aGlzIGNwdSBpbiBhIGN1cnJlbnRseSBpbiBwcm9ncmVzcwogCSAqIHNtcF9jYWxsX2Z1bmN0aW9uKCkuCiAJICovCi0JbG9ja19pcGlfY2FsbF9sb2NrKCk7Ci0jaWZkZWYgQ09ORklHX1g4Nl82NAotCXNwaW5fbG9jaygmdmVjdG9yX2xvY2spOwotCi0JLyogU2V0dXAgdGhlIHBlciBjcHUgaXJxIGhhbmRsaW5nIGRhdGEgc3RydWN0dXJlcyAqLwotCV9fc2V0dXBfdmVjdG9yX2lycShzbXBfcHJvY2Vzc29yX2lkKCkpOwotCS8qCi0JICogQWxsb3cgdGhlIG1hc3RlciB0byBjb250aW51ZS4KLQkgKi8KLQlzcGluX3VubG9jaygmdmVjdG9yX2xvY2spOworCWlwaV9jYWxsX2xvY2tfaXJxKCk7CisjaWZkZWYgQ09ORklHX1g4Nl9JT19BUElDCisJc2V0dXBfdmVjdG9yX2lycShzbXBfcHJvY2Vzc29yX2lkKCkpOwogI2VuZGlmCiAJY3B1X3NldChzbXBfcHJvY2Vzc29yX2lkKCksIGNwdV9vbmxpbmVfbWFwKTsKLQl1bmxvY2tfaXBpX2NhbGxfbG9jaygpOworCWlwaV9jYWxsX3VubG9ja19pcnEoKTsKIAlwZXJfY3B1KGNwdV9zdGF0ZSwgc21wX3Byb2Nlc3Nvcl9pZCgpKSA9IENQVV9PTkxJTkU7CiAKIAlzZXR1cF9zZWNvbmRhcnlfY2xvY2soKTsKQEAgLTM2NiwzMSArMzQxLDggQEAKIAljcHVfaWRsZSgpOwogfQogCi0jaWZkZWYgQ09ORklHX1g4Nl8zMgotLyoKLSAqIEV2ZXJ5dGhpbmcgaGFzIGJlZW4gc2V0IHVwIGZvciB0aGUgc2Vjb25kYXJ5Ci0gKiBDUFVzIC0gdGhleSBqdXN0IG5lZWQgdG8gcmVsb2FkIGV2ZXJ5dGhpbmcKLSAqIGZyb20gdGhlIHRhc2sgc3RydWN0dXJlCi0gKiBUaGlzIGZ1bmN0aW9uIG11c3Qgbm90IHJldHVybi4KLSAqLwotdm9pZCBfX2RldmluaXQgaW5pdGlhbGl6ZV9zZWNvbmRhcnkodm9pZCkKLXsKLQkvKgotCSAqIFdlIGRvbid0IGFjdHVhbGx5IG5lZWQgdG8gbG9hZCB0aGUgZnVsbCBUU1MsCi0JICogYmFzaWNhbGx5IGp1c3QgdGhlIHN0YWNrIHBvaW50ZXIgYW5kIHRoZSBpcC4KLQkgKi8KLQotCWFzbSB2b2xhdGlsZSgKLQkJIm1vdmwgJTAsJSVlc3Bcblx0IgotCQkiam1wIColMSIKLQkJOgotCQk6Im0iIChjdXJyZW50LT50aHJlYWQuc3ApLCAibSIgKGN1cnJlbnQtPnRocmVhZC5pcCkpOwotfQotI2VuZGlmCi0KIHN0YXRpYyB2b2lkIF9fY3B1aW5pdCBzbXBfYXBwbHlfcXVpcmtzKHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKIHsKLSNpZmRlZiBDT05GSUdfWDg2XzMyCiAJLyoKIAkgKiBNYXNrIEIsIFBlbnRpdW0sIGJ1dCBub3QgUGVudGl1bSBNTVgKIAkgKi8KQEAgLTQ0MCw3ICszOTIsNiBAQAogCiB2YWxpZF9rNzoKIAk7Ci0jZW5kaWYKIH0KIAogc3RhdGljIHZvaWQgX19jcHVpbml0IHNtcF9jaGVja3Modm9pZCkKQEAgLTU1NSwyMyArNTA2LDYgQEAKIAkJcmV0dXJuIGMtPmxsY19zaGFyZWRfbWFwOwogfQogCi0jaWZkZWYgQ09ORklHX1g4Nl8zMgotLyoKLSAqIFdlIGFyZSBjYWxsZWQgdmVyeSBlYXJseSB0byBnZXQgdGhlIGxvdyBtZW1vcnkgZm9yIHRoZQotICogU01QIGJvb3R1cCB0cmFtcG9saW5lIHBhZ2UuCi0gKi8KLXZvaWQgX19pbml0IHNtcF9hbGxvY19tZW1vcnkodm9pZCkKLXsKLQl0cmFtcG9saW5lX2Jhc2UgPSBhbGxvY19ib290bWVtX2xvd19wYWdlcyhQQUdFX1NJWkUpOwotCS8qCi0JICogSGFzIHRvIGJlIGluIHZlcnkgbG93IG1lbW9yeSBzbyB3ZSBjYW4gZXhlY3V0ZQotCSAqIHJlYWwtbW9kZSBBUCBjb2RlLgotCSAqLwotCWlmIChfX3BhKHRyYW1wb2xpbmVfYmFzZSkgPj0gMHg5RjAwMCkKLQkJQlVHKCk7Ci19Ci0jZW5kaWYKLQogc3RhdGljIHZvaWQgaW1wcmVzc19mcmllbmRzKHZvaWQpCiB7CiAJaW50IGNwdTsKQEAgLTc0OCwxMSArNjgyLDcgQEAKIAkgKiB0YXJnZXQgcHJvY2Vzc29yIHN0YXRlLgogCSAqLwogCXN0YXJ0dXBfaXBpX2hvb2socGh5c19hcGljaWQsICh1bnNpZ25lZCBsb25nKSBzdGFydF9zZWNvbmRhcnksCi0jaWZkZWYgQ09ORklHX1g4Nl82NAotCQkJICh1bnNpZ25lZCBsb25nKWluaXRfcnNwKTsKLSNlbHNlCiAJCQkgKHVuc2lnbmVkIGxvbmcpc3RhY2tfc3RhcnQuc3ApOwotI2VuZGlmCiAKIAkvKgogCSAqIFJ1biBTVEFSVFVQIElQSSBsb29wLgpAQCAtODMyLDYgKzc2Miw0NSBAQAogCWNvbXBsZXRlKCZjX2lkbGUtPmRvbmUpOwogfQogCisjaWZkZWYgQ09ORklHX1g4Nl82NAorLyoKKyAqIEFsbG9jYXRlIG5vZGUgbG9jYWwgbWVtb3J5IGZvciB0aGUgQVAgcGRhLgorICoKKyAqIE11c3QgYmUgY2FsbGVkIGFmdGVyIHRoZSBfY3B1X3BkYSBwb2ludGVyIHRhYmxlIGlzIGluaXRpYWxpemVkLgorICovCitzdGF0aWMgaW50IF9fY3B1aW5pdCBnZXRfbG9jYWxfcGRhKGludCBjcHUpCit7CisJc3RydWN0IHg4NjY0X3BkYSAqb2xkcGRhLCAqbmV3cGRhOworCXVuc2lnbmVkIGxvbmcgc2l6ZSA9IHNpemVvZihzdHJ1Y3QgeDg2NjRfcGRhKTsKKwlpbnQgbm9kZSA9IGNwdV90b19ub2RlKGNwdSk7CisKKwlpZiAoY3B1X3BkYShjcHUpICYmICFjcHVfcGRhKGNwdSktPmluX2Jvb3RtZW0pCisJCXJldHVybiAwOworCisJb2xkcGRhID0gY3B1X3BkYShjcHUpOworCW5ld3BkYSA9IGttYWxsb2Nfbm9kZShzaXplLCBHRlBfQVRPTUlDLCBub2RlKTsKKwlpZiAoIW5ld3BkYSkgeworCQlwcmludGsoS0VSTl9FUlIgIkNvdWxkIG5vdCBhbGxvY2F0ZSBub2RlIGxvY2FsIFBEQSAiCisJCQkiZm9yIENQVSAlZCBvbiBub2RlICVkXG4iLCBjcHUsIG5vZGUpOworCisJCWlmIChvbGRwZGEpCisJCQlyZXR1cm4gMDsJLyogaGF2ZSBhIHVzYWJsZSBwZGEgKi8KKwkJZWxzZQorCQkJcmV0dXJuIC0xOworCX0KKworCWlmIChvbGRwZGEpIHsKKwkJbWVtY3B5KG5ld3BkYSwgb2xkcGRhLCBzaXplKTsKKwkJaWYgKCFhZnRlcl9ib290bWVtKQorCQkJZnJlZV9ib290bWVtKCh1bnNpZ25lZCBsb25nKW9sZHBkYSwgc2l6ZSk7CisJfQorCisJbmV3cGRhLT5pbl9ib290bWVtID0gMDsKKwljcHVfcGRhKGNwdSkgPSBuZXdwZGE7CisJcmV0dXJuIDA7Cit9CisjZW5kaWYgLyogQ09ORklHX1g4Nl82NCAqLworCiBzdGF0aWMgaW50IF9fY3B1aW5pdCBkb19ib290X2NwdShpbnQgYXBpY2lkLCBpbnQgY3B1KQogLyoKICAqIE5PVEUgLSBvbiBtb3N0IHN5c3RlbXMgdGhpcyBpcyBhIFBIWVNJQ0FMIGFwaWMgSUQsIGJ1dCBvbiBtdWx0aXF1YWQKQEAgLTg0OCwyOCArODE3LDE0IEBACiAJCS5kb25lID0gQ09NUExFVElPTl9JTklUSUFMSVpFUl9PTlNUQUNLKGNfaWRsZS5kb25lKSwKIAl9OwogCUlOSVRfV09SSygmY19pZGxlLndvcmssIGRvX2ZvcmtfaWRsZSk7Ci0jaWZkZWYgQ09ORklHX1g4Nl82NAotCS8qIGFsbG9jYXRlIG1lbW9yeSBmb3IgZ2R0cyBvZiBzZWNvbmRhcnkgY3B1cy4gSG90cGx1ZyBpcyBjb25zaWRlcmVkICovCi0JaWYgKCFjcHVfZ2R0X2Rlc2NyW2NwdV0uYWRkcmVzcyAmJgotCQkhKGNwdV9nZHRfZGVzY3JbY3B1XS5hZGRyZXNzID0gZ2V0X3plcm9lZF9wYWdlKEdGUF9LRVJORUwpKSkgewotCQlwcmludGsoS0VSTl9FUlIgIkZhaWxlZCB0byBhbGxvY2F0ZSBHRFQgZm9yIENQVSAlZFxuIiwgY3B1KTsKLQkJcmV0dXJuIC0xOwotCX0KIAorI2lmZGVmIENPTkZJR19YODZfNjQKIAkvKiBBbGxvY2F0ZSBub2RlIGxvY2FsIG1lbW9yeSBmb3IgQVAgcGRhcyAqLwotCWlmIChjcHVfcGRhKGNwdSkgPT0gJmJvb3RfY3B1X3BkYVtjcHVdKSB7Ci0JCXN0cnVjdCB4ODY2NF9wZGEgKm5ld3BkYSwgKnBkYTsKLQkJaW50IG5vZGUgPSBjcHVfdG9fbm9kZShjcHUpOwotCQlwZGEgPSBjcHVfcGRhKGNwdSk7Ci0JCW5ld3BkYSA9IGttYWxsb2Nfbm9kZShzaXplb2Yoc3RydWN0IHg4NjY0X3BkYSksIEdGUF9BVE9NSUMsCi0JCQkJICAgICAgbm9kZSk7Ci0JCWlmIChuZXdwZGEpIHsKLQkJCW1lbWNweShuZXdwZGEsIHBkYSwgc2l6ZW9mKHN0cnVjdCB4ODY2NF9wZGEpKTsKLQkJCWNwdV9wZGEoY3B1KSA9IG5ld3BkYTsKLQkJfSBlbHNlCi0JCQlwcmludGsoS0VSTl9FUlIKLQkJIkNvdWxkIG5vdCBhbGxvY2F0ZSBub2RlIGxvY2FsIFBEQSBmb3IgQ1BVICVkIG9uIG5vZGUgJWRcbiIsCi0JCQkJY3B1LCBub2RlKTsKKwlpZiAoY3B1ID4gMCkgeworCQlib290X2Vycm9yID0gZ2V0X2xvY2FsX3BkYShjcHUpOworCQlpZiAoYm9vdF9lcnJvcikKKwkJCWdvdG8gcmVzdG9yZV9zdGF0ZTsKKwkJCS8qIGlmIGNhbid0IGdldCBwZGEgbWVtb3J5LCBjYW4ndCBzdGFydCBjcHUgKi8KIAl9CiAjZW5kaWYKIApAQCAtOTA1LDE4ICs4NjAsMTUgQEAKICNpZmRlZiBDT05GSUdfWDg2XzMyCiAJcGVyX2NwdShjdXJyZW50X3Rhc2ssIGNwdSkgPSBjX2lkbGUuaWRsZTsKIAlpbml0X2dkdChjcHUpOwotCWVhcmx5X2dkdF9kZXNjci5hZGRyZXNzID0gKHVuc2lnbmVkIGxvbmcpZ2V0X2NwdV9nZHRfdGFibGUoY3B1KTsKLQljX2lkbGUuaWRsZS0+dGhyZWFkLmlwID0gKHVuc2lnbmVkIGxvbmcpIHN0YXJ0X3NlY29uZGFyeTsKIAkvKiBTdGFjayBmb3Igc3RhcnR1cF8zMiBjYW4gYmUganVzdCBhcyBmb3Igc3RhcnRfc2Vjb25kYXJ5IG9ud2FyZHMgKi8KLQlzdGFja19zdGFydC5zcCA9ICh2b2lkICopIGNfaWRsZS5pZGxlLT50aHJlYWQuc3A7CiAJaXJxX2N0eF9pbml0KGNwdSk7CiAjZWxzZQogCWNwdV9wZGEoY3B1KS0+cGN1cnJlbnQgPSBjX2lkbGUuaWRsZTsKLQlpbml0X3JzcCA9IGNfaWRsZS5pZGxlLT50aHJlYWQuc3A7Ci0JbG9hZF9zcDAoJnBlcl9jcHUoaW5pdF90c3MsIGNwdSksICZjX2lkbGUuaWRsZS0+dGhyZWFkKTsKLQlpbml0aWFsX2NvZGUgPSAodW5zaWduZWQgbG9uZylzdGFydF9zZWNvbmRhcnk7CiAJY2xlYXJfdHNrX3RocmVhZF9mbGFnKGNfaWRsZS5pZGxlLCBUSUZfRk9SSyk7CiAjZW5kaWYKKwllYXJseV9nZHRfZGVzY3IuYWRkcmVzcyA9ICh1bnNpZ25lZCBsb25nKWdldF9jcHVfZ2R0X3RhYmxlKGNwdSk7CisJaW5pdGlhbF9jb2RlID0gKHVuc2lnbmVkIGxvbmcpc3RhcnRfc2Vjb25kYXJ5OworCXN0YWNrX3N0YXJ0LnNwID0gKHZvaWQgKikgY19pZGxlLmlkbGUtPnRocmVhZC5zcDsKIAogCS8qIHN0YXJ0X2lwIGhhZCBiZXR0ZXIgYmUgcGFnZS1hbGlnbmVkISAqLwogCXN0YXJ0X2lwID0gc2V0dXBfdHJhbXBvbGluZSgpOwpAQCAtOTg3LDEzICs5MzksMTIgQEAKIAkJCQlpbnF1aXJlX3JlbW90ZV9hcGljKGFwaWNpZCk7CiAJCX0KIAl9Ci0KKyNpZmRlZiBDT05GSUdfWDg2XzY0CityZXN0b3JlX3N0YXRlOgorI2VuZGlmCiAJaWYgKGJvb3RfZXJyb3IpIHsKIAkJLyogVHJ5IHRvIHB1dCB0aGluZ3MgYmFjayB0aGUgd2F5IHRoZXkgd2VyZSBiZWZvcmUgLi4uICovCi0JCXVubWFwX2NwdV90b19sb2dpY2FsX2FwaWNpZChjcHUpOwotI2lmZGVmIENPTkZJR19YODZfNjQKLQkJY2xlYXJfbm9kZV9jcHVtYXNrKGNwdSk7IC8qIHdhcyBzZXQgYnkgbnVtYV9hZGRfY3B1ICovCi0jZW5kaWYKKwkJbnVtYV9yZW1vdmVfY3B1KGNwdSk7IC8qIHdhcyBzZXQgYnkgbnVtYV9hZGRfY3B1ICovCiAJCWNwdV9jbGVhcihjcHUsIGNwdV9jYWxsb3V0X21hcCk7IC8qIHdhcyBzZXQgYnkgZG9fYm9vdF9jcHUoKSAqLwogCQljcHVfY2xlYXIoY3B1LCBjcHVfaW5pdGlhbGl6ZWQpOyAvKiB3YXMgc2V0IGJ5IGNwdV9pbml0KCkgKi8KIAkJY3B1X2NsZWFyKGNwdSwgY3B1X3ByZXNlbnRfbWFwKTsKQEAgLTEwODcsMTQgKzEwMzgsMTIgQEAKIHsKIAljcHVfcHJlc2VudF9tYXAgPSBjcHVtYXNrX29mX2NwdSgwKTsKIAljcHVfcG9zc2libGVfbWFwID0gY3B1bWFza19vZl9jcHUoMCk7Ci0jaWZkZWYgQ09ORklHX1g4Nl8zMgogCXNtcGJvb3RfY2xlYXJfaW9fYXBpY19pcnFzKCk7Ci0jZW5kaWYKKwogCWlmIChzbXBfZm91bmRfY29uZmlnKQotCQlwaHlzX2NwdV9wcmVzZW50X21hcCA9Ci0JCQkJcGh5c2lkX21hc2tfb2ZfcGh5c2lkKGJvb3RfY3B1X3BoeXNpY2FsX2FwaWNpZCk7CisJCXBoeXNpZF9zZXRfbWFza19vZl9waHlzaWQoYm9vdF9jcHVfcGh5c2ljYWxfYXBpY2lkLCAmcGh5c19jcHVfcHJlc2VudF9tYXApOwogCWVsc2UKLQkJcGh5c19jcHVfcHJlc2VudF9tYXAgPSBwaHlzaWRfbWFza19vZl9waHlzaWQoMCk7CisJCXBoeXNpZF9zZXRfbWFza19vZl9waHlzaWQoMCwgJnBoeXNfY3B1X3ByZXNlbnRfbWFwKTsKIAltYXBfY3B1X3RvX2xvZ2ljYWxfYXBpY2lkKCk7CiAJY3B1X3NldCgwLCBwZXJfY3B1KGNwdV9zaWJsaW5nX21hcCwgMCkpOwogCWNwdV9zZXQoMCwgcGVyX2NwdShjcHVfY29yZV9tYXAsIDApKTsKQEAgLTExNTcsMTIgKzExMDYsMTIgQEAKIAkgKiBJZiBTTVAgc2hvdWxkIGJlIGRpc2FibGVkLCB0aGVuIHJlYWxseSBkaXNhYmxlIGl0IQogCSAqLwogCWlmICghbWF4X2NwdXMpIHsKLQkJcHJpbnRrKEtFUk5fSU5GTyAiU01QIG1vZGUgZGVhY3RpdmF0ZWQsIgotCQkJCSAiZm9yY2luZyB1c2Ugb2YgZHVtbXkgQVBJQyBlbXVsYXRpb24uXG4iKTsKKwkJcHJpbnRrKEtFUk5fSU5GTyAiU01QIG1vZGUgZGVhY3RpdmF0ZWQuXG4iKTsKIAkJc21wYm9vdF9jbGVhcl9pb19hcGljKCk7Ci0jaWZkZWYgQ09ORklHX1g4Nl8zMgorCisJCWxvY2FsaXNlX25taV93YXRjaGRvZygpOworCiAJCWNvbm5lY3RfYnNwX0FQSUMoKTsKLSNlbmRpZgogCQlzZXR1cF9sb2NhbF9BUElDKCk7CiAJCWVuZF9sb2NhbF9BUElDX3NldHVwKCk7CiAJCXJldHVybiAtMTsKQEAgLTExOTAsNyArMTEzOSw2IEBACiB2b2lkIF9faW5pdCBuYXRpdmVfc21wX3ByZXBhcmVfY3B1cyh1bnNpZ25lZCBpbnQgbWF4X2NwdXMpCiB7CiAJcHJlZW1wdF9kaXNhYmxlKCk7Ci0Jbm1pX3dhdGNoZG9nX2RlZmF1bHQoKTsKIAlzbXBfY3B1X2luZGV4X2RlZmF1bHQoKTsKIAljdXJyZW50X2NwdV9kYXRhID0gYm9vdF9jcHVfZGF0YTsKIAljcHVfY2FsbGluX21hcCA9IGNwdW1hc2tfb2ZfY3B1KDApOwpAQCAtMTIxNyw5ICsxMTY1LDggQEAKIAl9CiAJcHJlZW1wdF9lbmFibGUoKTsKIAotI2lmZGVmIENPTkZJR19YODZfMzIKIAljb25uZWN0X2JzcF9BUElDKCk7Ci0jZW5kaWYKKwogCS8qCiAJICogU3dpdGNoIGZyb20gUElDIHRvIEFQSUMgbW9kZS4KIAkgKi8KQEAgLTEyNTcsOCArMTIwNCw4IEBACiAJaW50IG1lID0gc21wX3Byb2Nlc3Nvcl9pZCgpOwogI2lmZGVmIENPTkZJR19YODZfMzIKIAlpbml0X2dkdChtZSk7Ci0Jc3dpdGNoX3RvX25ld19nZHQoKTsKICNlbmRpZgorCXN3aXRjaF90b19uZXdfZ2R0KCk7CiAJLyogYWxyZWFkeSBzZXQgbWUgaW4gY3B1X29ubGluZV9tYXAgaW4gYm9vdF9jcHVfaW5pdCgpICovCiAJY3B1X3NldChtZSwgY3B1X2NhbGxvdXRfbWFwKTsKIAlwZXJfY3B1KGNwdV9zdGF0ZSwgbWUpID0gQ1BVX09OTElORTsKQEAgLTEyNzgsMjMgKzEyMjUsNiBAQAogCiAjaWZkZWYgQ09ORklHX0hPVFBMVUdfQ1BVCiAKLSMgIGlmZGVmIENPTkZJR19YODZfMzIKLXZvaWQgY3B1X2V4aXRfY2xlYXIodm9pZCkKLXsKLQlpbnQgY3B1ID0gcmF3X3NtcF9wcm9jZXNzb3JfaWQoKTsKLQotCWlkbGVfdGFza19leGl0KCk7Ci0KLQljcHVfdW5pbml0KCk7Ci0JaXJxX2N0eF9leGl0KGNwdSk7Ci0KLQljcHVfY2xlYXIoY3B1LCBjcHVfY2FsbG91dF9tYXApOwotCWNwdV9jbGVhcihjcHUsIGNwdV9jYWxsaW5fbWFwKTsKLQotCXVubWFwX2NwdV90b19sb2dpY2FsX2FwaWNpZChjcHUpOwotfQotIyAgZW5kaWYgLyogQ09ORklHX1g4Nl8zMiAqLwotCiBzdGF0aWMgdm9pZCByZW1vdmVfc2libGluZ2luZm8oaW50IGNwdSkKIHsKIAlpbnQgc2libGluZzsKQEAgLTEzNDgsMTIgKzEyNzgsMjAgQEAKIAlpbnQgaTsKIAlpbnQgcG9zc2libGU7CiAKKwkvKiBubyBwcm9jZXNzb3IgZnJvbSBtcHRhYmxlIG9yIG1hZHQgKi8KKwlpZiAoIW51bV9wcm9jZXNzb3JzKQorCQludW1fcHJvY2Vzc29ycyA9IDE7CisKKyNpZmRlZiBDT05GSUdfSE9UUExVR19DUFUKIAlpZiAoYWRkaXRpb25hbF9jcHVzID09IC0xKSB7CiAJCWlmIChkaXNhYmxlZF9jcHVzID4gMCkKIAkJCWFkZGl0aW9uYWxfY3B1cyA9IGRpc2FibGVkX2NwdXM7CiAJCWVsc2UKIAkJCWFkZGl0aW9uYWxfY3B1cyA9IDA7CiAJfQorI2Vsc2UKKwlhZGRpdGlvbmFsX2NwdXMgPSAwOworI2VuZGlmCiAJcG9zc2libGUgPSBudW1fcHJvY2Vzc29ycyArIGFkZGl0aW9uYWxfY3B1czsKIAlpZiAocG9zc2libGUgPiBOUl9DUFVTKQogCQlwb3NzaWJsZSA9IE5SX0NQVVM7CkBAIC0xMzYzLDE4ICsxMzAxLDE4IEBACiAKIAlmb3IgKGkgPSAwOyBpIDwgcG9zc2libGU7IGkrKykKIAkJY3B1X3NldChpLCBjcHVfcG9zc2libGVfbWFwKTsKKworCW5yX2NwdV9pZHMgPSBwb3NzaWJsZTsKIH0KIAogc3RhdGljIHZvaWQgX19yZWYgcmVtb3ZlX2NwdV9mcm9tX21hcHMoaW50IGNwdSkKIHsKIAljcHVfY2xlYXIoY3B1LCBjcHVfb25saW5lX21hcCk7Ci0jaWZkZWYgQ09ORklHX1g4Nl82NAogCWNwdV9jbGVhcihjcHUsIGNwdV9jYWxsb3V0X21hcCk7CiAJY3B1X2NsZWFyKGNwdSwgY3B1X2NhbGxpbl9tYXApOwogCS8qIHdhcyBzZXQgYnkgY3B1X2luaXQoKSAqLwogCWNsZWFyX2JpdChjcHUsICh1bnNpZ25lZCBsb25nICopJmNwdV9pbml0aWFsaXplZCk7Ci0JY2xlYXJfbm9kZV9jcHVtYXNrKGNwdSk7Ci0jZW5kaWYKKwludW1hX3JlbW92ZV9jcHUoY3B1KTsKIH0KIAogaW50IF9fY3B1X2Rpc2FibGUodm9pZCkKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9zbXBjb21tb24uYyBiL2FyY2gveDg2L2tlcm5lbC9zbXBjb21tb24uYwppbmRleCAzNDQ5MDY0Li45OTk0MWIzIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvc21wY29tbW9uLmMKKysrIGIvYXJjaC94ODYva2VybmVsL3NtcGNvbW1vbi5jCkBAIC0yNSw1OSArMjUsMyBAQAogCXBlcl9jcHUoY3B1X251bWJlciwgY3B1KSA9IGNwdTsKIH0KICNlbmRpZgotCi0vKioKLSAqIHNtcF9jYWxsX2Z1bmN0aW9uKCk6IFJ1biBhIGZ1bmN0aW9uIG9uIGFsbCBvdGhlciBDUFVzLgotICogQGZ1bmM6IFRoZSBmdW5jdGlvbiB0byBydW4uIFRoaXMgbXVzdCBiZSBmYXN0IGFuZCBub24tYmxvY2tpbmcuCi0gKiBAaW5mbzogQW4gYXJiaXRyYXJ5IHBvaW50ZXIgdG8gcGFzcyB0byB0aGUgZnVuY3Rpb24uCi0gKiBAbm9uYXRvbWljOiBVbnVzZWQuCi0gKiBAd2FpdDogSWYgdHJ1ZSwgd2FpdCAoYXRvbWljYWxseSkgdW50aWwgZnVuY3Rpb24gaGFzIGNvbXBsZXRlZCBvbiBvdGhlciBDUFVzLgotICoKLSAqIFJldHVybnMgMCBvbiBzdWNjZXNzLCBlbHNlIGEgbmVnYXRpdmUgc3RhdHVzIGNvZGUuCi0gKgotICogSWYgQHdhaXQgaXMgdHJ1ZSwgdGhlbiByZXR1cm5zIG9uY2UgQGZ1bmMgaGFzIHJldHVybmVkOyBvdGhlcndpc2UKLSAqIGl0IHJldHVybnMganVzdCBiZWZvcmUgdGhlIHRhcmdldCBjcHUgY2FsbHMgQGZ1bmMuCi0gKgotICogWW91IG11c3Qgbm90IGNhbGwgdGhpcyBmdW5jdGlvbiB3aXRoIGRpc2FibGVkIGludGVycnVwdHMgb3IgZnJvbSBhCi0gKiBoYXJkd2FyZSBpbnRlcnJ1cHQgaGFuZGxlciBvciBmcm9tIGEgYm90dG9tIGhhbGYgaGFuZGxlci4KLSAqLwotaW50IHNtcF9jYWxsX2Z1bmN0aW9uKHZvaWQgKCpmdW5jKSAodm9pZCAqaW5mbyksIHZvaWQgKmluZm8sIGludCBub25hdG9taWMsCi0JCSAgICAgIGludCB3YWl0KQotewotCXJldHVybiBzbXBfY2FsbF9mdW5jdGlvbl9tYXNrKGNwdV9vbmxpbmVfbWFwLCBmdW5jLCBpbmZvLCB3YWl0KTsKLX0KLUVYUE9SVF9TWU1CT0woc21wX2NhbGxfZnVuY3Rpb24pOwotCi0vKioKLSAqIHNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZSAtIFJ1biBhIGZ1bmN0aW9uIG9uIGEgc3BlY2lmaWMgQ1BVCi0gKiBAY3B1OiBUaGUgdGFyZ2V0IENQVS4gIENhbm5vdCBiZSB0aGUgY2FsbGluZyBDUFUuCi0gKiBAZnVuYzogVGhlIGZ1bmN0aW9uIHRvIHJ1bi4gVGhpcyBtdXN0IGJlIGZhc3QgYW5kIG5vbi1ibG9ja2luZy4KLSAqIEBpbmZvOiBBbiBhcmJpdHJhcnkgcG9pbnRlciB0byBwYXNzIHRvIHRoZSBmdW5jdGlvbi4KLSAqIEBub25hdG9taWM6IFVudXNlZC4KLSAqIEB3YWl0OiBJZiB0cnVlLCB3YWl0IHVudGlsIGZ1bmN0aW9uIGhhcyBjb21wbGV0ZWQgb24gb3RoZXIgQ1BVcy4KLSAqCi0gKiBSZXR1cm5zIDAgb24gc3VjY2VzcywgZWxzZSBhIG5lZ2F0aXZlIHN0YXR1cyBjb2RlLgotICoKLSAqIElmIEB3YWl0IGlzIHRydWUsIHRoZW4gcmV0dXJucyBvbmNlIEBmdW5jIGhhcyByZXR1cm5lZDsgb3RoZXJ3aXNlCi0gKiBpdCByZXR1cm5zIGp1c3QgYmVmb3JlIHRoZSB0YXJnZXQgY3B1IGNhbGxzIEBmdW5jLgotICovCi1pbnQgc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGludCBjcHUsIHZvaWQgKCpmdW5jKSAodm9pZCAqaW5mbyksIHZvaWQgKmluZm8sCi0JCQkgICAgIGludCBub25hdG9taWMsIGludCB3YWl0KQotewotCS8qIHByZXZlbnQgcHJlZW1wdGlvbiBhbmQgcmVzY2hlZHVsZSBvbiBhbm90aGVyIHByb2Nlc3NvciAqLwotCWludCByZXQ7Ci0JaW50IG1lID0gZ2V0X2NwdSgpOwotCWlmIChjcHUgPT0gbWUpIHsKLQkJbG9jYWxfaXJxX2Rpc2FibGUoKTsKLQkJZnVuYyhpbmZvKTsKLQkJbG9jYWxfaXJxX2VuYWJsZSgpOwotCQlwdXRfY3B1KCk7Ci0JCXJldHVybiAwOwotCX0KLQotCXJldCA9IHNtcF9jYWxsX2Z1bmN0aW9uX21hc2soY3B1bWFza19vZl9jcHUoY3B1KSwgZnVuYywgaW5mbywgd2FpdCk7Ci0KLQlwdXRfY3B1KCk7Ci0JcmV0dXJuIHJldDsKLX0KLUVYUE9SVF9TWU1CT0woc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9zcmF0XzMyLmMgYi9hcmNoL3g4Ni9rZXJuZWwvc3JhdF8zMi5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MGU0YTM3Li4wMDAwMDAwCi0tLSBhL2FyY2gveDg2L2tlcm5lbC9zcmF0XzMyLmMKKysrIC9kZXYvbnVsbApAQCAtMSwzNTggKzAsMCBAQAotLyoKLSAqIFNvbWUgb2YgdGhlIGNvZGUgaW4gdGhpcyBmaWxlIGhhcyBiZWVuIGdsZWFuZWQgZnJvbSB0aGUgNjQgYml0IAotICogZGlzY29udGlnbWVtIHN1cHBvcnQgY29kZSBiYXNlLgotICoKLSAqIENvcHlyaWdodCAoQykgMjAwMiwgSUJNIENvcnAuCi0gKgotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gICAgICAgICAgCi0gKgotICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgotICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0Ci0gKiBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgT1IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UsIEdPT0QgVElUTEUgb3IKLSAqIE5PTiBJTkZSSU5HRU1FTlQuICBTZWUgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlCi0gKiBkZXRhaWxzLgotICoKLSAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotICogRm91bmRhdGlvbiwgSW5jLiwgNjc1IE1hc3MgQXZlLCBDYW1icmlkZ2UsIE1BIDAyMTM5LCBVU0EuCi0gKgotICogU2VuZCBmZWVkYmFjayB0byBQYXQgR2F1Z2hlbiA8Z29uZUB1cy5pYm0uY29tPgotICovCi0jaW5jbHVkZSA8bGludXgvbW0uaD4KLSNpbmNsdWRlIDxsaW51eC9ib290bWVtLmg+Ci0jaW5jbHVkZSA8bGludXgvbW16b25lLmg+Ci0jaW5jbHVkZSA8bGludXgvYWNwaS5oPgotI2luY2x1ZGUgPGxpbnV4L25vZGVtYXNrLmg+Ci0jaW5jbHVkZSA8YXNtL3NyYXQuaD4KLSNpbmNsdWRlIDxhc20vdG9wb2xvZ3kuaD4KLSNpbmNsdWRlIDxhc20vc21wLmg+Ci0KLS8qCi0gKiBwcm94aW1pdHkgbWFjcm9zIGFuZCBkZWZpbml0aW9ucwotICovCi0jZGVmaW5lIE5PREVfQVJSQVlfSU5ERVgoeCkJKCh4KSAvIDgpCS8qIDggYml0cy9jaGFyICovCi0jZGVmaW5lIE5PREVfQVJSQVlfT0ZGU0VUKHgpCSgoeCkgJSA4KQkvKiA4IGJpdHMvY2hhciAqLwotI2RlZmluZSBCTUFQX1NFVChibWFwLCBiaXQpCSgoYm1hcClbTk9ERV9BUlJBWV9JTkRFWChiaXQpXSB8PSAxIDw8IE5PREVfQVJSQVlfT0ZGU0VUKGJpdCkpCi0jZGVmaW5lIEJNQVBfVEVTVChibWFwLCBiaXQpCSgoYm1hcClbTk9ERV9BUlJBWV9JTkRFWChiaXQpXSAmICgxIDw8IE5PREVfQVJSQVlfT0ZGU0VUKGJpdCkpKQotLyogYml0bWFwIGxlbmd0aDsgX1BYTSBpcyBhdCBtb3N0IDI1NSAqLwotI2RlZmluZSBQWE1fQklUTUFQX0xFTiAoTUFYX1BYTV9ET01BSU5TIC8gOCkgCi1zdGF0aWMgdTggcHhtX2JpdG1hcFtQWE1fQklUTUFQX0xFTl07CS8qIGJpdG1hcCBvZiBwcm94aW1pdHkgZG9tYWlucyAqLwotCi0jZGVmaW5lIE1BWF9DSFVOS1NfUEVSX05PREUJMwotI2RlZmluZSBNQVhDSFVOS1MJCShNQVhfQ0hVTktTX1BFUl9OT0RFICogTUFYX05VTU5PREVTKQotc3RydWN0IG5vZGVfbWVtb3J5X2NodW5rX3MgewotCXVuc2lnbmVkIGxvbmcJc3RhcnRfcGZuOwotCXVuc2lnbmVkIGxvbmcJZW5kX3BmbjsKLQl1OAlweG07CQkvLyBwcm94aW1pdHkgZG9tYWluIG9mIG5vZGUKLQl1OAluaWQ7CQkvLyB3aGljaCBjbm9kZSBjb250YWlucyB0aGlzIGNodW5rPwotCXU4CWJhbms7CQkvLyB3aGljaCBtZW0gYmFuayBvbiB0aGlzIG5vZGUKLX07Ci1zdGF0aWMgc3RydWN0IG5vZGVfbWVtb3J5X2NodW5rX3Mgbm9kZV9tZW1vcnlfY2h1bmtbTUFYQ0hVTktTXTsKLQotc3RhdGljIGludCBudW1fbWVtb3J5X2NodW5rczsJCS8qIHRvdGFsIG51bWJlciBvZiBtZW1vcnkgY2h1bmtzICovCi1zdGF0aWMgdTggX19pbml0ZGF0YSBhcGljaWRfdG9fcHhtW01BWF9BUElDSURdOwotCi0vKiBJZGVudGlmeSBDUFUgcHJveGltaXR5IGRvbWFpbnMgKi8KLXN0YXRpYyB2b2lkIF9faW5pdCBwYXJzZV9jcHVfYWZmaW5pdHlfc3RydWN0dXJlKGNoYXIgKnApCi17Ci0Jc3RydWN0IGFjcGlfc3JhdF9jcHVfYWZmaW5pdHkgKmNwdV9hZmZpbml0eSA9Ci0JCQkJKHN0cnVjdCBhY3BpX3NyYXRfY3B1X2FmZmluaXR5ICopIHA7Ci0KLQlpZiAoKGNwdV9hZmZpbml0eS0+ZmxhZ3MgJiBBQ1BJX1NSQVRfQ1BVX0VOQUJMRUQpID09IDApCi0JCXJldHVybjsJCS8qIGVtcHR5IGVudHJ5ICovCi0KLQkvKiBtYXJrIHRoaXMgbm9kZSBhcyAic2VlbiIgaW4gbm9kZSBiaXRtYXAgKi8KLQlCTUFQX1NFVChweG1fYml0bWFwLCBjcHVfYWZmaW5pdHktPnByb3hpbWl0eV9kb21haW5fbG8pOwotCi0JYXBpY2lkX3RvX3B4bVtjcHVfYWZmaW5pdHktPmFwaWNfaWRdID0gY3B1X2FmZmluaXR5LT5wcm94aW1pdHlfZG9tYWluX2xvOwotCi0JcHJpbnRrKCJDUFUgMHglMDJYIGluIHByb3hpbWl0eSBkb21haW4gMHglMDJYXG4iLAotCQljcHVfYWZmaW5pdHktPmFwaWNfaWQsIGNwdV9hZmZpbml0eS0+cHJveGltaXR5X2RvbWFpbl9sbyk7Ci19Ci0KLS8qCi0gKiBJZGVudGlmeSBtZW1vcnkgcHJveGltaXR5IGRvbWFpbnMgYW5kIGhvdC1yZW1vdmUgY2FwYWJpbGl0aWVzLgotICogRmlsbCBub2RlIG1lbW9yeSBjaHVuayBsaXN0IHN0cnVjdHVyZS4KLSAqLwotc3RhdGljIHZvaWQgX19pbml0IHBhcnNlX21lbW9yeV9hZmZpbml0eV9zdHJ1Y3R1cmUgKGNoYXIgKnNyYXRwKQotewotCXVuc2lnbmVkIGxvbmcgbG9uZyBwYWRkciwgc2l6ZTsKLQl1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwgZW5kX3BmbjsKLQl1OCBweG07Ci0Jc3RydWN0IG5vZGVfbWVtb3J5X2NodW5rX3MgKnAsICpxLCAqcGVuZDsKLQlzdHJ1Y3QgYWNwaV9zcmF0X21lbV9hZmZpbml0eSAqbWVtb3J5X2FmZmluaXR5ID0KLQkJCShzdHJ1Y3QgYWNwaV9zcmF0X21lbV9hZmZpbml0eSAqKSBzcmF0cDsKLQotCWlmICgobWVtb3J5X2FmZmluaXR5LT5mbGFncyAmIEFDUElfU1JBVF9NRU1fRU5BQkxFRCkgPT0gMCkKLQkJcmV0dXJuOwkJLyogZW1wdHkgZW50cnkgKi8KLQotCXB4bSA9IG1lbW9yeV9hZmZpbml0eS0+cHJveGltaXR5X2RvbWFpbiAmIDB4ZmY7Ci0KLQkvKiBtYXJrIHRoaXMgbm9kZSBhcyAic2VlbiIgaW4gbm9kZSBiaXRtYXAgKi8KLQlCTUFQX1NFVChweG1fYml0bWFwLCBweG0pOwotCi0JLyogY2FsY3VsYXRlIGluZm8gZm9yIG1lbW9yeSBjaHVuayBzdHJ1Y3R1cmUgKi8KLQlwYWRkciA9IG1lbW9yeV9hZmZpbml0eS0+YmFzZV9hZGRyZXNzOwotCXNpemUgPSBtZW1vcnlfYWZmaW5pdHktPmxlbmd0aDsKLQotCXN0YXJ0X3BmbiA9IHBhZGRyID4+IFBBR0VfU0hJRlQ7Ci0JZW5kX3BmbiA9IChwYWRkciArIHNpemUpID4+IFBBR0VfU0hJRlQ7Ci0KLQotCWlmIChudW1fbWVtb3J5X2NodW5rcyA+PSBNQVhDSFVOS1MpIHsKLQkJcHJpbnRrKCJUb28gbWFueSBtZW0gY2h1bmtzIGluIFNSQVQuIElnbm9yaW5nICVsbGQgTUJ5dGVzIGF0ICVsbHhcbiIsCi0JCQlzaXplLygxMDI0KjEwMjQpLCBwYWRkcik7Ci0JCXJldHVybjsKLQl9Ci0KLQkvKiBJbnNlcnRpb24gc29ydCBiYXNlZCBvbiBiYXNlIGFkZHJlc3MgKi8KLQlwZW5kID0gJm5vZGVfbWVtb3J5X2NodW5rW251bV9tZW1vcnlfY2h1bmtzXTsKLQlmb3IgKHAgPSAmbm9kZV9tZW1vcnlfY2h1bmtbMF07IHAgPCBwZW5kOyBwKyspIHsKLQkJaWYgKHN0YXJ0X3BmbiA8IHAtPnN0YXJ0X3BmbikKLQkJCWJyZWFrOwotCX0KLQlpZiAocCA8IHBlbmQpIHsKLQkJZm9yIChxID0gcGVuZDsgcSA+PSBwOyBxLS0pCi0JCQkqKHEgKyAxKSA9ICpxOwotCX0KLQlwLT5zdGFydF9wZm4gPSBzdGFydF9wZm47Ci0JcC0+ZW5kX3BmbiA9IGVuZF9wZm47Ci0JcC0+cHhtID0gcHhtOwotCi0JbnVtX21lbW9yeV9jaHVua3MrKzsKLQotCXByaW50aygiTWVtb3J5IHJhbmdlIDB4JWxYIHRvIDB4JWxYICh0eXBlIDB4JVgpIGluIHByb3hpbWl0eSBkb21haW4gMHglMDJYICVzXG4iLAotCQlzdGFydF9wZm4sIGVuZF9wZm4sCi0JCW1lbW9yeV9hZmZpbml0eS0+bWVtb3J5X3R5cGUsCi0JCXB4bSwKLQkJKChtZW1vcnlfYWZmaW5pdHktPmZsYWdzICYgQUNQSV9TUkFUX01FTV9IT1RfUExVR0dBQkxFKSA/Ci0JCSAiZW5hYmxlZCBhbmQgcmVtb3ZhYmxlIiA6ICJlbmFibGVkIiApICk7Ci19Ci0KLS8qCi0gKiBUaGUgU1JBVCB0YWJsZSBhbHdheXMgbGlzdHMgYXNjZW5kaW5nIGFkZHJlc3Nlcywgc28gY2FuIGFsd2F5cwotICogYXNzdW1lIHRoYXQgdGhlIGZpcnN0ICJzdGFydCIgYWRkcmVzcyB0aGF0IHlvdSBzZWUgaXMgdGhlIHJlYWwKLSAqIHN0YXJ0IG9mIHRoZSBub2RlLCBhbmQgdGhhdCB0aGUgY3VycmVudCAiZW5kIiBhZGRyZXNzIGlzIGFmdGVyCi0gKiB0aGUgcHJldmlvdXMgb25lLgotICovCi1zdGF0aWMgX19pbml0IHZvaWQgbm9kZV9yZWFkX2NodW5rKGludCBuaWQsIHN0cnVjdCBub2RlX21lbW9yeV9jaHVua19zICptZW1vcnlfY2h1bmspCi17Ci0JLyoKLQkgKiBPbmx5IGFkZCBwcmVzZW50IG1lbW9yeSBhcyB0b2xkIGJ5IHRoZSBlODIwLgotCSAqIFRoZXJlIGlzIG5vIGd1YXJhbnRlZSBmcm9tIHRoZSBTUkFUIHRoYXQgdGhlIG1lbW9yeSBpdAotCSAqIGVudW1lcmF0ZXMgaXMgcHJlc2VudCBhdCBib290IHRpbWUgYmVjYXVzZSBpdCByZXByZXNlbnRzCi0JICogKnBvc3NpYmxlKiBtZW1vcnkgaG90cGx1ZyBhcmVhcyB0aGUgc2FtZSBhcyBub3JtYWwgUkFNLgotCSAqLwotCWlmIChtZW1vcnlfY2h1bmstPnN0YXJ0X3BmbiA+PSBtYXhfcGZuKSB7Ci0JCXByaW50ayAoS0VSTl9JTkZPICJJZ25vcmluZyBTUkFUIHBmbnM6IDB4JTA4bHggLT4gJTA4bHhcbiIsCi0JCQltZW1vcnlfY2h1bmstPnN0YXJ0X3BmbiwgbWVtb3J5X2NodW5rLT5lbmRfcGZuKTsKLQkJcmV0dXJuOwotCX0KLQlpZiAobWVtb3J5X2NodW5rLT5uaWQgIT0gbmlkKQotCQlyZXR1cm47Ci0KLQlpZiAoIW5vZGVfaGFzX29ubGluZV9tZW0obmlkKSkKLQkJbm9kZV9zdGFydF9wZm5bbmlkXSA9IG1lbW9yeV9jaHVuay0+c3RhcnRfcGZuOwotCi0JaWYgKG5vZGVfc3RhcnRfcGZuW25pZF0gPiBtZW1vcnlfY2h1bmstPnN0YXJ0X3BmbikKLQkJbm9kZV9zdGFydF9wZm5bbmlkXSA9IG1lbW9yeV9jaHVuay0+c3RhcnRfcGZuOwotCi0JaWYgKG5vZGVfZW5kX3BmbltuaWRdIDwgbWVtb3J5X2NodW5rLT5lbmRfcGZuKQotCQlub2RlX2VuZF9wZm5bbmlkXSA9IG1lbW9yeV9jaHVuay0+ZW5kX3BmbjsKLX0KLQotLyogUGFyc2UgdGhlIEFDUEkgU3RhdGljIFJlc291cmNlIEFmZmluaXR5IFRhYmxlICovCi1zdGF0aWMgaW50IF9faW5pdCBhY3BpMjBfcGFyc2Vfc3JhdChzdHJ1Y3QgYWNwaV90YWJsZV9zcmF0ICpzcmF0cCkKLXsKLQl1OCAqc3RhcnQsICplbmQsICpwOwotCWludCBpLCBqLCBuaWQ7Ci0KLQlzdGFydCA9ICh1OCAqKSgmKHNyYXRwLT5yZXNlcnZlZCkgKyAxKTsJLyogc2tpcCBoZWFkZXIgKi8KLQlwID0gc3RhcnQ7Ci0JZW5kID0gKHU4ICopc3JhdHAgKyBzcmF0cC0+aGVhZGVyLmxlbmd0aDsKLQotCW1lbXNldChweG1fYml0bWFwLCAwLCBzaXplb2YocHhtX2JpdG1hcCkpOwkvKiBpbml0IHByb3hpbWl0eSBkb21haW4gYml0bWFwICovCi0JbWVtc2V0KG5vZGVfbWVtb3J5X2NodW5rLCAwLCBzaXplb2Yobm9kZV9tZW1vcnlfY2h1bmspKTsKLQotCW51bV9tZW1vcnlfY2h1bmtzID0gMDsKLQl3aGlsZSAocCA8IGVuZCkgewotCQlzd2l0Y2ggKCpwKSB7Ci0JCWNhc2UgQUNQSV9TUkFUX1RZUEVfQ1BVX0FGRklOSVRZOgotCQkJcGFyc2VfY3B1X2FmZmluaXR5X3N0cnVjdHVyZShwKTsKLQkJCWJyZWFrOwotCQljYXNlIEFDUElfU1JBVF9UWVBFX01FTU9SWV9BRkZJTklUWToKLQkJCXBhcnNlX21lbW9yeV9hZmZpbml0eV9zdHJ1Y3R1cmUocCk7Ci0JCQlicmVhazsKLQkJZGVmYXVsdDoKLQkJCXByaW50aygiQUNQSSAyLjAgU1JBVDogdW5rbm93biBlbnRyeSBza2lwcGVkOiB0eXBlPTB4JTAyWCwgbGVuPSVkXG4iLCBwWzBdLCBwWzFdKTsKLQkJCWJyZWFrOwotCQl9Ci0JCXAgKz0gcFsxXTsKLQkJaWYgKHBbMV0gPT0gMCkgewotCQkJcHJpbnRrKCJhY3BpMjBfcGFyc2Vfc3JhdDogRW50cnkgbGVuZ3RoIHZhbHVlIGlzIHplcm87IgotCQkJCSIgY2FuJ3QgcGFyc2UgYW55IGZ1cnRoZXIhXG4iKTsKLQkJCWJyZWFrOwotCQl9Ci0JfQotCi0JaWYgKG51bV9tZW1vcnlfY2h1bmtzID09IDApIHsKLQkJcHJpbnRrKCJjb3VsZCBub3QgZmlueSBhbnkgQUNQSSBTUkFUIG1lbW9yeSBhcmVhcy5cbiIpOwotCQlnb3RvIG91dF9mYWlsOwotCX0KLQotCS8qIENhbGN1bGF0ZSB0b3RhbCBudW1iZXIgb2Ygbm9kZXMgaW4gc3lzdGVtIGZyb20gUFhNIGJpdG1hcCBhbmQgY3JlYXRlCi0JICogYSBzZXQgb2Ygc2VxdWVudGlhbCBub2RlIElEcyBzdGFydGluZyBhdCB6ZXJvLiAgKEFDUEkgZG9lc24ndCBzZWVtCi0JICogdG8gc3BlY2lmeSB0aGUgcmFuZ2Ugb2YgX1BYTSB2YWx1ZXMuKQotCSAqLwotCS8qCi0JICogTUNEIC0gd2Ugbm8gbG9uZ2VyIEhBVkUgdG8gbnVtYmVyIG5vZGVzIHNlcXVlbnRpYWxseS4gIFBYTSBkb21haW4KLQkgKiBudW1iZXJzIGNvdWxkIGdvIGFzIGhpZ2ggYXMgMjU2LCBhbmQgTUFYX05VTU5PREVTIGZvciBpMzg2IGlzIHR5cGljYWxseQotCSAqIDMyLCBzbyB3ZSB3aWxsIGNvbnRpbnVlIG51bWJlcmluZyB0aGVtIGluIHRoaXMgbWFubmVyIHVudGlsIE1BWF9OVU1OT0RFUwotCSAqIGFwcHJvYWNoZXMgTUFYX1BYTV9ET01BSU5TIGZvciBpMzg2LgotCSAqLwotCW5vZGVzX2NsZWFyKG5vZGVfb25saW5lX21hcCk7Ci0JZm9yIChpID0gMDsgaSA8IE1BWF9QWE1fRE9NQUlOUzsgaSsrKSB7Ci0JCWlmIChCTUFQX1RFU1QocHhtX2JpdG1hcCwgaSkpIHsKLQkJCWludCBuaWQgPSBhY3BpX21hcF9weG1fdG9fbm9kZShpKTsKLQkJCW5vZGVfc2V0X29ubGluZShuaWQpOwotCQl9Ci0JfQotCUJVR19PTihudW1fb25saW5lX25vZGVzKCkgPT0gMCk7Ci0KLQkvKiBzZXQgY25vZGUgaWQgaW4gbWVtb3J5IGNodW5rIHN0cnVjdHVyZSAqLwotCWZvciAoaSA9IDA7IGkgPCBudW1fbWVtb3J5X2NodW5rczsgaSsrKQotCQlub2RlX21lbW9yeV9jaHVua1tpXS5uaWQgPSBweG1fdG9fbm9kZShub2RlX21lbW9yeV9jaHVua1tpXS5weG0pOwotCi0JcHJpbnRrKCJweG0gYml0bWFwOiAiKTsKLQlmb3IgKGkgPSAwOyBpIDwgc2l6ZW9mKHB4bV9iaXRtYXApOyBpKyspIHsKLQkJcHJpbnRrKCIlMDJYICIsIHB4bV9iaXRtYXBbaV0pOwotCX0KLQlwcmludGsoIlxuIik7Ci0JcHJpbnRrKCJOdW1iZXIgb2YgbG9naWNhbCBub2RlcyBpbiBzeXN0ZW0gPSAlZFxuIiwgbnVtX29ubGluZV9ub2RlcygpKTsKLQlwcmludGsoIk51bWJlciBvZiBtZW1vcnkgY2h1bmtzIGluIHN5c3RlbSA9ICVkXG4iLCBudW1fbWVtb3J5X2NodW5rcyk7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgTUFYX0FQSUNJRDsgaSsrKQotCQlhcGljaWRfMl9ub2RlW2ldID0gcHhtX3RvX25vZGUoYXBpY2lkX3RvX3B4bVtpXSk7Ci0KLQlmb3IgKGogPSAwOyBqIDwgbnVtX21lbW9yeV9jaHVua3M7IGorKyl7Ci0JCXN0cnVjdCBub2RlX21lbW9yeV9jaHVua19zICogY2h1bmsgPSAmbm9kZV9tZW1vcnlfY2h1bmtbal07Ci0JCXByaW50aygiY2h1bmsgJWQgbmlkICVkIHN0YXJ0X3BmbiAlMDhseCBlbmRfcGZuICUwOGx4XG4iLAotCQkgICAgICAgaiwgY2h1bmstPm5pZCwgY2h1bmstPnN0YXJ0X3BmbiwgY2h1bmstPmVuZF9wZm4pOwotCQlub2RlX3JlYWRfY2h1bmsoY2h1bmstPm5pZCwgY2h1bmspOwotCQlhZGRfYWN0aXZlX3JhbmdlKGNodW5rLT5uaWQsIGNodW5rLT5zdGFydF9wZm4sIGNodW5rLT5lbmRfcGZuKTsKLQl9Ci0gCi0JZm9yX2VhY2hfb25saW5lX25vZGUobmlkKSB7Ci0JCXVuc2lnbmVkIGxvbmcgc3RhcnQgPSBub2RlX3N0YXJ0X3BmbltuaWRdOwotCQl1bnNpZ25lZCBsb25nIGVuZCA9IG5vZGVfZW5kX3BmbltuaWRdOwotCi0JCW1lbW9yeV9wcmVzZW50KG5pZCwgc3RhcnQsIGVuZCk7Ci0JCW5vZGVfcmVtYXBfc2l6ZVtuaWRdID0gbm9kZV9tZW1tYXBfc2l6ZV9ieXRlcyhuaWQsIHN0YXJ0LCBlbmQpOwotCX0KLQlyZXR1cm4gMTsKLW91dF9mYWlsOgotCXJldHVybiAwOwotfQotCi1zdHJ1Y3QgYWNwaV9zdGF0aWNfcnNkdCB7Ci0Jc3RydWN0IGFjcGlfdGFibGVfcnNkdCB0YWJsZTsKLQl1MzIgcGFkZGluZ1s3XTsgLyogQWxsb3cgZm9yIDcgbW9yZSB0YWJsZSBlbnRyaWVzICovCi19OwotCi1pbnQgX19pbml0IGdldF9tZW1jZmdfZnJvbV9zcmF0KHZvaWQpCi17Ci0Jc3RydWN0IGFjcGlfdGFibGVfaGVhZGVyICpoZWFkZXIgPSBOVUxMOwotCXN0cnVjdCBhY3BpX3RhYmxlX3JzZHAgKnJzZHAgPSBOVUxMOwotCXN0cnVjdCBhY3BpX3RhYmxlX3JzZHQgKnJzZHQgPSBOVUxMOwotCWFjcGlfbmF0aXZlX3VpbnQgcnNkcF9hZGRyZXNzID0gMDsKLQlzdHJ1Y3QgYWNwaV9zdGF0aWNfcnNkdCBzYXZlZF9yc2R0OwotCWludCB0YWJsZXMgPSAwOwotCWludCBpID0gMDsKLQotCXJzZHBfYWRkcmVzcyA9IGFjcGlfb3NfZ2V0X3Jvb3RfcG9pbnRlcigpOwotCWlmICghcnNkcF9hZGRyZXNzKSB7Ci0JCXByaW50aygiJXM6IFN5c3RlbSBkZXNjcmlwdGlvbiB0YWJsZXMgbm90IGZvdW5kXG4iLAotCQkgICAgICAgX19mdW5jX18pOwotCQlnb3RvIG91dF9lcnI7Ci0JfQotCi0JcHJpbnRrKCIlczogYXNzaWduaW5nIGFkZHJlc3MgdG8gcnNkcFxuIiwgX19mdW5jX18pOwotCXJzZHAgPSAoc3RydWN0IGFjcGlfdGFibGVfcnNkcCAqKSh1MzIpcnNkcF9hZGRyZXNzOwotCWlmICghcnNkcCkgewotCQlwcmludGsoIiVzOiBEaWRuJ3QgZmluZCBBQ1BJIHJvb3QhXG4iLCBfX2Z1bmNfXyk7Ci0JCWdvdG8gb3V0X2VycjsKLQl9Ci0KLQlwcmludGsoS0VSTl9JTkZPICIlLjhzIHYlZCBbJS42c11cbiIsIHJzZHAtPnNpZ25hdHVyZSwgcnNkcC0+cmV2aXNpb24sCi0JCXJzZHAtPm9lbV9pZCk7Ci0KLQlpZiAoc3RybmNtcChyc2RwLT5zaWduYXR1cmUsIEFDUElfU0lHX1JTRFAsc3RybGVuKEFDUElfU0lHX1JTRFApKSkgewotCQlwcmludGsoS0VSTl9XQVJOSU5HICIlczogUlNEUCB0YWJsZSBzaWduYXR1cmUgaW5jb3JyZWN0XG4iLCBfX2Z1bmNfXyk7Ci0JCWdvdG8gb3V0X2VycjsKLQl9Ci0KLQlyc2R0ID0gKHN0cnVjdCBhY3BpX3RhYmxlX3JzZHQgKikKLQkgICAgZWFybHlfaW9yZW1hcChyc2RwLT5yc2R0X3BoeXNpY2FsX2FkZHJlc3MsIHNpemVvZihzdHJ1Y3QgYWNwaV90YWJsZV9yc2R0KSk7Ci0KLQlpZiAoIXJzZHQpIHsKLQkJcHJpbnRrKEtFUk5fV0FSTklORwotCQkgICAgICAgIiVzOiBBQ1BJOiBJbnZhbGlkIHJvb3Qgc3lzdGVtIGRlc2NyaXB0aW9uIHRhYmxlcyAoUlNEVClcbiIsCi0JCSAgICAgICBfX2Z1bmNfXyk7Ci0JCWdvdG8gb3V0X2VycjsKLQl9Ci0KLQloZWFkZXIgPSAmcnNkdC0+aGVhZGVyOwotCi0JaWYgKHN0cm5jbXAoaGVhZGVyLT5zaWduYXR1cmUsIEFDUElfU0lHX1JTRFQsIHN0cmxlbihBQ1BJX1NJR19SU0RUKSkpIHsKLQkJcHJpbnRrKEtFUk5fV0FSTklORyAiQUNQSTogUlNEVCBzaWduYXR1cmUgaW5jb3JyZWN0XG4iKTsKLQkJZ290byBvdXRfZXJyOwotCX0KLQotCS8qIAotCSAqIFRoZSBudW1iZXIgb2YgdGFibGVzIGlzIGNvbXB1dGVkIGJ5IHRha2luZyB0aGUgCi0JICogc2l6ZSBvZiBhbGwgZW50cmllcyAoaGVhZGVyIHNpemUgbWludXMgdG90YWwgCi0JICogc2l6ZSBvZiBSU0RUKSBkaXZpZGVkIGJ5IHRoZSBzaXplIG9mIGVhY2ggZW50cnkKLQkgKiAoNC1ieXRlIHRhYmxlIHBvaW50ZXJzKS4KLQkgKi8KLQl0YWJsZXMgPSAoaGVhZGVyLT5sZW5ndGggLSBzaXplb2Yoc3RydWN0IGFjcGlfdGFibGVfaGVhZGVyKSkgLyA0OwotCi0JaWYgKCF0YWJsZXMpCi0JCWdvdG8gb3V0X2VycjsKLQotCW1lbWNweSgmc2F2ZWRfcnNkdCwgcnNkdCwgc2l6ZW9mKHNhdmVkX3JzZHQpKTsKLQotCWlmIChzYXZlZF9yc2R0LnRhYmxlLmhlYWRlci5sZW5ndGggPiBzaXplb2Yoc2F2ZWRfcnNkdCkpIHsKLQkJcHJpbnRrKEtFUk5fV0FSTklORyAiQUNQSTogVG9vIGJpZyBsZW5ndGggaW4gUlNEVDogJWRcbiIsCi0JCSAgICAgICBzYXZlZF9yc2R0LnRhYmxlLmhlYWRlci5sZW5ndGgpOwotCQlnb3RvIG91dF9lcnI7Ci0JfQotCi0JcHJpbnRrKCJCZWdpbiBTUkFUIHRhYmxlIHNjYW4uLi4uXG4iKTsKLQotCWZvciAoaSA9IDA7IGkgPCB0YWJsZXM7IGkrKykgewotCQkvKiBNYXAgaW4gaGVhZGVyLCB0aGVuIG1hcCBpbiBmdWxsIHRhYmxlIGxlbmd0aC4gKi8KLQkJaGVhZGVyID0gKHN0cnVjdCBhY3BpX3RhYmxlX2hlYWRlciAqKQotCQkJZWFybHlfaW9yZW1hcChzYXZlZF9yc2R0LnRhYmxlLnRhYmxlX29mZnNldF9lbnRyeVtpXSwgc2l6ZW9mKHN0cnVjdCBhY3BpX3RhYmxlX2hlYWRlcikpOwotCQlpZiAoIWhlYWRlcikKLQkJCWJyZWFrOwotCQloZWFkZXIgPSAoc3RydWN0IGFjcGlfdGFibGVfaGVhZGVyICopCi0JCQllYXJseV9pb3JlbWFwKHNhdmVkX3JzZHQudGFibGUudGFibGVfb2Zmc2V0X2VudHJ5W2ldLCBoZWFkZXItPmxlbmd0aCk7Ci0JCWlmICghaGVhZGVyKQotCQkJYnJlYWs7Ci0KLQkJaWYgKHN0cm5jbXAoKGNoYXIgKikgJmhlYWRlci0+c2lnbmF0dXJlLCBBQ1BJX1NJR19TUkFULCA0KSkKLQkJCWNvbnRpbnVlOwotCi0JCS8qIHdlJ3ZlIGZvdW5kIHRoZSBzcmF0IHRhYmxlLiBkb24ndCBuZWVkIHRvIGxvb2sgYXQgYW55IG1vcmUgdGFibGVzICovCi0JCXJldHVybiBhY3BpMjBfcGFyc2Vfc3JhdCgoc3RydWN0IGFjcGlfdGFibGVfc3JhdCAqKWhlYWRlcik7Ci0JfQotb3V0X2VycjoKLQlyZW1vdmVfYWxsX2FjdGl2ZV9yYW5nZXMoKTsKLQlwcmludGsoImZhaWxlZCB0byBnZXQgTlVNQSBtZW1vcnkgaW5mb3JtYXRpb24gZnJvbSBTUkFUIHRhYmxlXG4iKTsKLQlyZXR1cm4gMDsKLX0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9zdGFja3RyYWNlLmMgYi9hcmNoL3g4Ni9rZXJuZWwvc3RhY2t0cmFjZS5jCmluZGV4IGMyOGMzNDIuLmEwM2U3ZjYgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9zdGFja3RyYWNlLmMKKysrIGIvYXJjaC94ODYva2VybmVsL3N0YWNrdHJhY2UuYwpAQCAtNzQsNiArNzQsNyBAQAogCWlmICh0cmFjZS0+bnJfZW50cmllcyA8IHRyYWNlLT5tYXhfZW50cmllcykKIAkJdHJhY2UtPmVudHJpZXNbdHJhY2UtPm5yX2VudHJpZXMrK10gPSBVTE9OR19NQVg7CiB9CitFWFBPUlRfU1lNQk9MX0dQTChzYXZlX3N0YWNrX3RyYWNlKTsKIAogdm9pZCBzYXZlX3N0YWNrX3RyYWNlX3RzayhzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzaywgc3RydWN0IHN0YWNrX3RyYWNlICp0cmFjZSkKIHsKQEAgLTgxLDMgKzgyLDQgQEAKIAlpZiAodHJhY2UtPm5yX2VudHJpZXMgPCB0cmFjZS0+bWF4X2VudHJpZXMpCiAJCXRyYWNlLT5lbnRyaWVzW3RyYWNlLT5ucl9lbnRyaWVzKytdID0gVUxPTkdfTUFYOwogfQorRVhQT1JUX1NZTUJPTF9HUEwoc2F2ZV9zdGFja190cmFjZV90c2spOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3N1bW1pdF8zMi5jIGIvYXJjaC94ODYva2VybmVsL3N1bW1pdF8zMi5jCmluZGV4IGFlNzUxMDkuLmQ2N2NlNWYgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9zdW1taXRfMzIuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvc3VtbWl0XzMyLmMKQEAgLTM2LDcgKzM2LDkgQEAKIHN0YXRpYyBzdHJ1Y3Qgc2NhbF9kZXRhaWwgICAqc2NhbF9kZXZzW01BWF9OVU1OT0RFU10gX19pbml0ZGF0YTsKIHN0YXRpYyBzdHJ1Y3QgcmlvX2RldGFpbCAgICAqcmlvX2RldnNbTUFYX05VTU5PREVTKjRdIF9faW5pdGRhdGE7CiAKKyNpZm5kZWYgQ09ORklHX1g4Nl9OVU1BUQogc3RhdGljIGludCBtcF9idXNfaWRfdG9fbm9kZVtNQVhfTVBfQlVTU0VTXSBfX2luaXRkYXRhOworI2VuZGlmCiAKIHN0YXRpYyBpbnQgX19pbml0IHNldHVwX3BjaV9ub2RlX21hcF9mb3Jfd3BlZyhpbnQgd3BlZ19udW0sIGludCBsYXN0X2J1cykKIHsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9zeXNfaTM4Nl8zMi5jIGIvYXJjaC94ODYva2VybmVsL3N5c19pMzg2XzMyLmMKaW5kZXggZDJhYjUyYy4uNzA2NmNiOCAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL3N5c19pMzg2XzMyLmMKKysrIGIvYXJjaC94ODYva2VybmVsL3N5c19pMzg2XzMyLmMKQEAgLTE5LDggKzE5LDggQEAKICNpbmNsdWRlIDxsaW51eC91dHNuYW1lLmg+CiAjaW5jbHVkZSA8bGludXgvaXBjLmg+CiAKLSNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgotI2luY2x1ZGUgPGFzbS91bmlzdGQuaD4KKyNpbmNsdWRlIDxsaW51eC91YWNjZXNzLmg+CisjaW5jbHVkZSA8bGludXgvdW5pc3RkLmg+CiAKIGFzbWxpbmthZ2UgbG9uZyBzeXNfbW1hcDIodW5zaWduZWQgbG9uZyBhZGRyLCB1bnNpZ25lZCBsb25nIGxlbiwKIAkJCSAgdW5zaWduZWQgbG9uZyBwcm90LCB1bnNpZ25lZCBsb25nIGZsYWdzLApAQCAtMTAzLDcgKzEwMyw3IEBACiAgKgogICogVGhpcyBpcyByZWFsbHkgaG9ycmlibHkgdWdseS4KICAqLwotYXNtbGlua2FnZSBpbnQgc3lzX2lwYyAodWludCBjYWxsLCBpbnQgZmlyc3QsIGludCBzZWNvbmQsCithc21saW5rYWdlIGludCBzeXNfaXBjKHVpbnQgY2FsbCwgaW50IGZpcnN0LCBpbnQgc2Vjb25kLAogCQkJaW50IHRoaXJkLCB2b2lkIF9fdXNlciAqcHRyLCBsb25nIGZpZnRoKQogewogCWludCB2ZXJzaW9uLCByZXQ7CkBAIC0xMTMsMjQgKzExMywyNCBAQAogCiAJc3dpdGNoIChjYWxsKSB7CiAJY2FzZSBTRU1PUDoKLQkJcmV0dXJuIHN5c19zZW10aW1lZG9wIChmaXJzdCwgKHN0cnVjdCBzZW1idWYgX191c2VyICopcHRyLCBzZWNvbmQsIE5VTEwpOworCQlyZXR1cm4gc3lzX3NlbXRpbWVkb3AoZmlyc3QsIChzdHJ1Y3Qgc2VtYnVmIF9fdXNlciAqKXB0ciwgc2Vjb25kLCBOVUxMKTsKIAljYXNlIFNFTVRJTUVET1A6CiAJCXJldHVybiBzeXNfc2VtdGltZWRvcChmaXJzdCwgKHN0cnVjdCBzZW1idWYgX191c2VyICopcHRyLCBzZWNvbmQsCiAJCQkJCShjb25zdCBzdHJ1Y3QgdGltZXNwZWMgX191c2VyICopZmlmdGgpOwogCiAJY2FzZSBTRU1HRVQ6Ci0JCXJldHVybiBzeXNfc2VtZ2V0IChmaXJzdCwgc2Vjb25kLCB0aGlyZCk7CisJCXJldHVybiBzeXNfc2VtZ2V0KGZpcnN0LCBzZWNvbmQsIHRoaXJkKTsKIAljYXNlIFNFTUNUTDogewogCQl1bmlvbiBzZW11biBmb3VydGg7CiAJCWlmICghcHRyKQogCQkJcmV0dXJuIC1FSU5WQUw7CiAJCWlmIChnZXRfdXNlcihmb3VydGguX19wYWQsICh2b2lkIF9fdXNlciAqIF9fdXNlciAqKSBwdHIpKQogCQkJcmV0dXJuIC1FRkFVTFQ7Ci0JCXJldHVybiBzeXNfc2VtY3RsIChmaXJzdCwgc2Vjb25kLCB0aGlyZCwgZm91cnRoKTsKKwkJcmV0dXJuIHN5c19zZW1jdGwoZmlyc3QsIHNlY29uZCwgdGhpcmQsIGZvdXJ0aCk7CiAJfQogCiAJY2FzZSBNU0dTTkQ6Ci0JCXJldHVybiBzeXNfbXNnc25kIChmaXJzdCwgKHN0cnVjdCBtc2didWYgX191c2VyICopIHB0ciwgCisJCXJldHVybiBzeXNfbXNnc25kKGZpcnN0LCAoc3RydWN0IG1zZ2J1ZiBfX3VzZXIgKikgcHRyLAogCQkJCSAgIHNlY29uZCwgdGhpcmQpOwogCWNhc2UgTVNHUkNWOgogCQlzd2l0Y2ggKHZlcnNpb24pIHsKQEAgLTEzOCw0NSArMTM4LDQ1IEBACiAJCQlzdHJ1Y3QgaXBjX2tsdWRnZSB0bXA7CiAJCQlpZiAoIXB0cikKIAkJCQlyZXR1cm4gLUVJTlZBTDsKLQkJCQorCiAJCQlpZiAoY29weV9mcm9tX3VzZXIoJnRtcCwKLQkJCQkJICAgKHN0cnVjdCBpcGNfa2x1ZGdlIF9fdXNlciAqKSBwdHIsIAotCQkJCQkgICBzaXplb2YgKHRtcCkpKQorCQkJCQkgICAoc3RydWN0IGlwY19rbHVkZ2UgX191c2VyICopIHB0ciwKKwkJCQkJICAgc2l6ZW9mKHRtcCkpKQogCQkJCXJldHVybiAtRUZBVUxUOwotCQkJcmV0dXJuIHN5c19tc2dyY3YgKGZpcnN0LCB0bXAubXNncCwgc2Vjb25kLAorCQkJcmV0dXJuIHN5c19tc2dyY3YoZmlyc3QsIHRtcC5tc2dwLCBzZWNvbmQsCiAJCQkJCSAgIHRtcC5tc2d0eXAsIHRoaXJkKTsKIAkJfQogCQlkZWZhdWx0OgotCQkJcmV0dXJuIHN5c19tc2dyY3YgKGZpcnN0LAorCQkJcmV0dXJuIHN5c19tc2dyY3YoZmlyc3QsCiAJCQkJCSAgIChzdHJ1Y3QgbXNnYnVmIF9fdXNlciAqKSBwdHIsCiAJCQkJCSAgIHNlY29uZCwgZmlmdGgsIHRoaXJkKTsKIAkJfQogCWNhc2UgTVNHR0VUOgotCQlyZXR1cm4gc3lzX21zZ2dldCAoKGtleV90KSBmaXJzdCwgc2Vjb25kKTsKKwkJcmV0dXJuIHN5c19tc2dnZXQoKGtleV90KSBmaXJzdCwgc2Vjb25kKTsKIAljYXNlIE1TR0NUTDoKLQkJcmV0dXJuIHN5c19tc2djdGwgKGZpcnN0LCBzZWNvbmQsIChzdHJ1Y3QgbXNxaWRfZHMgX191c2VyICopIHB0cik7CisJCXJldHVybiBzeXNfbXNnY3RsKGZpcnN0LCBzZWNvbmQsIChzdHJ1Y3QgbXNxaWRfZHMgX191c2VyICopIHB0cik7CiAKIAljYXNlIFNITUFUOgogCQlzd2l0Y2ggKHZlcnNpb24pIHsKIAkJZGVmYXVsdDogewogCQkJdWxvbmcgcmFkZHI7Ci0JCQlyZXQgPSBkb19zaG1hdCAoZmlyc3QsIChjaGFyIF9fdXNlciAqKSBwdHIsIHNlY29uZCwgJnJhZGRyKTsKKwkJCXJldCA9IGRvX3NobWF0KGZpcnN0LCAoY2hhciBfX3VzZXIgKikgcHRyLCBzZWNvbmQsICZyYWRkcik7CiAJCQlpZiAocmV0KQogCQkJCXJldHVybiByZXQ7Ci0JCQlyZXR1cm4gcHV0X3VzZXIgKHJhZGRyLCAodWxvbmcgX191c2VyICopIHRoaXJkKTsKKwkJCXJldHVybiBwdXRfdXNlcihyYWRkciwgKHVsb25nIF9fdXNlciAqKSB0aGlyZCk7CiAJCX0KIAkJY2FzZSAxOgkvKiBpQkNTMiBlbXVsYXRvciBlbnRyeSBwb2ludCAqLwogCQkJaWYgKCFzZWdtZW50X2VxKGdldF9mcygpLCBnZXRfZHMoKSkpCiAJCQkJcmV0dXJuIC1FSU5WQUw7CiAJCQkvKiBUaGUgIih1bG9uZyAqKSB0aGlyZCIgaXMgdmFsaWQgX29ubHlfIGJlY2F1c2Ugb2YgdGhlIGtlcm5lbCBzZWdtZW50IHRoaW5nICovCi0JCQlyZXR1cm4gZG9fc2htYXQgKGZpcnN0LCAoY2hhciBfX3VzZXIgKikgcHRyLCBzZWNvbmQsICh1bG9uZyAqKSB0aGlyZCk7CisJCQlyZXR1cm4gZG9fc2htYXQoZmlyc3QsIChjaGFyIF9fdXNlciAqKSBwdHIsIHNlY29uZCwgKHVsb25nICopIHRoaXJkKTsKIAkJfQotCWNhc2UgU0hNRFQ6IAotCQlyZXR1cm4gc3lzX3NobWR0ICgoY2hhciBfX3VzZXIgKilwdHIpOworCWNhc2UgU0hNRFQ6CisJCXJldHVybiBzeXNfc2htZHQoKGNoYXIgX191c2VyICopcHRyKTsKIAljYXNlIFNITUdFVDoKLQkJcmV0dXJuIHN5c19zaG1nZXQgKGZpcnN0LCBzZWNvbmQsIHRoaXJkKTsKKwkJcmV0dXJuIHN5c19zaG1nZXQoZmlyc3QsIHNlY29uZCwgdGhpcmQpOwogCWNhc2UgU0hNQ1RMOgotCQlyZXR1cm4gc3lzX3NobWN0bCAoZmlyc3QsIHNlY29uZCwKKwkJcmV0dXJuIHN5c19zaG1jdGwoZmlyc3QsIHNlY29uZCwKIAkJCQkgICAoc3RydWN0IHNobWlkX2RzIF9fdXNlciAqKSBwdHIpOwogCWRlZmF1bHQ6CiAJCXJldHVybiAtRU5PU1lTOwpAQCAtMTg2LDI4ICsxODYsMjggQEAKIC8qCiAgKiBPbGQgY3J1ZnQKICAqLwotYXNtbGlua2FnZSBpbnQgc3lzX3VuYW1lKHN0cnVjdCBvbGRfdXRzbmFtZSBfX3VzZXIgKiBuYW1lKQorYXNtbGlua2FnZSBpbnQgc3lzX3VuYW1lKHN0cnVjdCBvbGRfdXRzbmFtZSBfX3VzZXIgKm5hbWUpCiB7CiAJaW50IGVycjsKIAlpZiAoIW5hbWUpCiAJCXJldHVybiAtRUZBVUxUOwogCWRvd25fcmVhZCgmdXRzX3NlbSk7Ci0JZXJyID0gY29weV90b191c2VyKG5hbWUsIHV0c25hbWUoKSwgc2l6ZW9mICgqbmFtZSkpOworCWVyciA9IGNvcHlfdG9fdXNlcihuYW1lLCB1dHNuYW1lKCksIHNpemVvZigqbmFtZSkpOwogCXVwX3JlYWQoJnV0c19zZW0pOwotCXJldHVybiBlcnI/LUVGQVVMVDowOworCXJldHVybiBlcnI/IC1FRkFVTFQ6MDsKIH0KIAotYXNtbGlua2FnZSBpbnQgc3lzX29sZHVuYW1lKHN0cnVjdCBvbGRvbGRfdXRzbmFtZSBfX3VzZXIgKiBuYW1lKQorYXNtbGlua2FnZSBpbnQgc3lzX29sZHVuYW1lKHN0cnVjdCBvbGRvbGRfdXRzbmFtZSBfX3VzZXIgKm5hbWUpCiB7CiAJaW50IGVycm9yOwogCiAJaWYgKCFuYW1lKQogCQlyZXR1cm4gLUVGQVVMVDsKLQlpZiAoIWFjY2Vzc19vayhWRVJJRllfV1JJVEUsbmFtZSxzaXplb2Yoc3RydWN0IG9sZG9sZF91dHNuYW1lKSkpCisJaWYgKCFhY2Nlc3Nfb2soVkVSSUZZX1dSSVRFLCBuYW1lLCBzaXplb2Yoc3RydWN0IG9sZG9sZF91dHNuYW1lKSkpCiAJCXJldHVybiAtRUZBVUxUOwotICAKLSAgCWRvd25fcmVhZCgmdXRzX3NlbSk7Ci0JCisKKwlkb3duX3JlYWQoJnV0c19zZW0pOworCiAJZXJyb3IgPSBfX2NvcHlfdG9fdXNlcigmbmFtZS0+c3lzbmFtZSwgJnV0c25hbWUoKS0+c3lzbmFtZSwKIAkJCSAgICAgICBfX09MRF9VVFNfTEVOKTsKIAllcnJvciB8PSBfX3B1dF91c2VyKDAsIG5hbWUtPnN5c25hbWUgKyBfX09MRF9VVFNfTEVOKTsKQEAgLTIyMyw5ICsyMjMsOSBAQAogCWVycm9yIHw9IF9fY29weV90b191c2VyKCZuYW1lLT5tYWNoaW5lLCAmdXRzbmFtZSgpLT5tYWNoaW5lLAogCQkJCV9fT0xEX1VUU19MRU4pOwogCWVycm9yIHw9IF9fcHV0X3VzZXIoMCwgbmFtZS0+bWFjaGluZSArIF9fT0xEX1VUU19MRU4pOwotCQorCiAJdXBfcmVhZCgmdXRzX3NlbSk7Ci0JCisKIAllcnJvciA9IGVycm9yID8gLUVGQVVMVCA6IDA7CiAKIAlyZXR1cm4gZXJyb3I7CkBAIC0yNDEsNiArMjQxLDYgQEAKIAlsb25nIF9fcmVzOwogCWFzbSB2b2xhdGlsZSAoInB1c2ggJSVlYnggOyBtb3ZsICUyLCUlZWJ4IDsgaW50ICQweDgwIDsgcG9wICUlZWJ4IgogCTogIj1hIiAoX19yZXMpCi0JOiAiMCIgKF9fTlJfZXhlY3ZlKSwicmkiIChmaWxlbmFtZSksImMiIChhcmd2KSwgImQiIChlbnZwKSA6ICJtZW1vcnkiKTsKKwk6ICIwIiAoX19OUl9leGVjdmUpLCAicmkiIChmaWxlbmFtZSksICJjIiAoYXJndiksICJkIiAoZW52cCkgOiAibWVtb3J5Iik7CiAJcmV0dXJuIF9fcmVzOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3RpbWVfMzIuYyBiL2FyY2gveDg2L2tlcm5lbC90aW1lXzMyLmMKaW5kZXggMmZmMjFmMy4uMDU5Y2E2ZSAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL3RpbWVfMzIuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvdGltZV8zMi5jCkBAIC0zOSw5ICszOSw2IEBACiAKICNpbmNsdWRlICJkb190aW1lci5oIgogCi11bnNpZ25lZCBpbnQgY3B1X2toejsJLyogRGV0ZWN0ZWQgYXMgd2UgY2FsaWJyYXRlIHRoZSBUU0MgKi8KLUVYUE9SVF9TWU1CT0woY3B1X2toeik7Ci0KIGludCB0aW1lcl9hY2s7CiAKIHVuc2lnbmVkIGxvbmcgcHJvZmlsZV9wYyhzdHJ1Y3QgcHRfcmVncyAqcmVncykKQEAgLTg0LDggKzgxLDcgQEAKIAlpZiAodGltZXJfYWNrKSB7CiAJCS8qCiAJCSAqIFN1YnRsZSwgd2hlbiBJL08gQVBJQ3MgYXJlIHVzZWQgd2UgaGF2ZSB0byBhY2sgdGltZXIgSVJRCi0JCSAqIG1hbnVhbGx5IHRvIHJlc2V0IHRoZSBJUlIgYml0IGZvciBkb19zbG93X2dldHRpbWVvZmZzZXQoKS4KLQkJICogVGhpcyB3aWxsIGFsc28gZGVhc3NlcnQgTk1JIGxpbmVzIGZvciB0aGUgd2F0Y2hkb2cgaWYgcnVuCisJCSAqIG1hbnVhbGx5IHRvIGRlYXNzZXJ0IE5NSSBsaW5lcyBmb3IgdGhlIHdhdGNoZG9nIGlmIHJ1bgogCQkgKiBvbiBhbiA4MjQ4OURYLWJhc2VkIHN5c3RlbS4KIAkJICovCiAJCXNwaW5fbG9jaygmaTgyNTlBX2xvY2spOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3RpbWVfNjQuYyBiL2FyY2gveDg2L2tlcm5lbC90aW1lXzY0LmMKaW5kZXggYzczNzg0OS4uZTNkNDljNSAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL3RpbWVfNjQuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvdGltZV82NC5jCkBAIC01Niw3ICs1Niw3IEBACiAvKiBjYWxpYnJhdGVfY3B1IGlzIHVzZWQgb24gc3lzdGVtcyB3aXRoIGZpeGVkIHJhdGUgVFNDcyB0byBkZXRlcm1pbmUKICAqIHByb2Nlc3NvciBmcmVxdWVuY3kgKi8KICNkZWZpbmUgVElDS19DT1VOVCAxMDAwMDAwMDAKLXVuc2lnbmVkIGxvbmcgX19pbml0IG5hdGl2ZV9jYWxjdWxhdGVfY3B1X2toeih2b2lkKQordW5zaWduZWQgbG9uZyBfX2luaXQgY2FsaWJyYXRlX2NwdSh2b2lkKQogewogCWludCB0c2Nfc3RhcnQsIHRzY19ub3c7CiAJaW50IGksIG5vX2N0cl9mcmVlOwpAQCAtMTE2LDIzICsxMTYsMTEgQEAKIAogdm9pZCBfX2luaXQgdGltZV9pbml0KHZvaWQpCiB7Ci0JdHNjX2NhbGlicmF0ZSgpOwotCi0JY3B1X2toeiA9IHRzY19raHo7Ci0JaWYgKGNwdV9oYXMoJmJvb3RfY3B1X2RhdGEsIFg4Nl9GRUFUVVJFX0NPTlNUQU5UX1RTQykgJiYKLQkJKGJvb3RfY3B1X2RhdGEueDg2X3ZlbmRvciA9PSBYODZfVkVORE9SX0FNRCkpCi0JCWNwdV9raHogPSBjYWxjdWxhdGVfY3B1X2toeigpOwotCi0JaWYgKHVuc3luY2hyb25pemVkX3RzYygpKQotCQltYXJrX3RzY191bnN0YWJsZSgiVFNDcyB1bnN5bmNocm9uaXplZCIpOwotCisJdHNjX2luaXQoKTsKIAlpZiAoY3B1X2hhcygmYm9vdF9jcHVfZGF0YSwgWDg2X0ZFQVRVUkVfUkRUU0NQKSkKIAkJdmdldGNwdV9tb2RlID0gVkdFVENQVV9SRFRTQ1A7CiAJZWxzZQogCQl2Z2V0Y3B1X21vZGUgPSBWR0VUQ1BVX0xTTDsKIAotCXByaW50ayhLRVJOX0lORk8gInRpbWUuYzogRGV0ZWN0ZWQgJWQuJTAzZCBNSHogcHJvY2Vzc29yLlxuIiwKLQkJY3B1X2toeiAvIDEwMDAsIGNwdV9raHogJSAxMDAwKTsKLQlpbml0X3RzY19jbG9ja3NvdXJjZSgpOwogCWxhdGVfdGltZV9pbml0ID0gY2hvb3NlX3RpbWVfaW5pdCgpOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3RsYl8zMi5jIGIvYXJjaC94ODYva2VybmVsL3RsYl8zMi5jCmluZGV4IDliYjIzNjMuLmZlYzFlY2UgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC90bGJfMzIuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvdGxiXzMyLmMKQEAgLTIzOCw2ICsyMzgsNiBAQAogCiB2b2lkIGZsdXNoX3RsYl9hbGwodm9pZCkKIHsKLQlvbl9lYWNoX2NwdShkb19mbHVzaF90bGJfYWxsLCBOVUxMLCAxLCAxKTsKKwlvbl9lYWNoX2NwdShkb19mbHVzaF90bGJfYWxsLCBOVUxMLCAxKTsKIH0KIApkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3RsYl82NC5jIGIvYXJjaC94ODYva2VybmVsL3RsYl82NC5jCmluZGV4IGExZjA3ZDcuLmRjYmY3YTEgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC90bGJfNjQuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvdGxiXzY0LmMKQEAgLTE1LDYgKzE1LDggQEAKICNpbmNsdWRlIDxhc20vcHJvdG8uaD4KICNpbmNsdWRlIDxhc20vYXBpY2RlZi5oPgogI2luY2x1ZGUgPGFzbS9pZGxlLmg+CisjaW5jbHVkZSA8YXNtL3V2L3V2X2h1Yi5oPgorI2luY2x1ZGUgPGFzbS91di91dl9iYXUuaD4KIAogI2luY2x1ZGUgPG1hY2hfaXBpLmg+CiAvKgpAQCAtMTYyLDYgKzE2NCw5IEBACiAJdW5pb24gc21wX2ZsdXNoX3N0YXRlICpmOwogCWNwdW1hc2tfdCBjcHVtYXNrID0gKmNwdW1hc2twOwogCisJaWYgKGlzX3V2X3N5c3RlbSgpICYmIHV2X2ZsdXNoX3RsYl9vdGhlcnMoJmNwdW1hc2ssIG1tLCB2YSkpCisJCXJldHVybjsKKwogCS8qIENhbGxlciBoYXMgZGlzYWJsZWQgcHJlZW1wdGlvbiAqLwogCXNlbmRlciA9IHNtcF9wcm9jZXNzb3JfaWQoKSAlIE5VTV9JTlZBTElEQVRFX1RMQl9WRUNUT1JTOwogCWYgPSAmcGVyX2NwdShmbHVzaF9zdGF0ZSwgc2VuZGVyKTsKQEAgLTI3MCw1ICsyNzUsNSBAQAogCiB2b2lkIGZsdXNoX3RsYl9hbGwodm9pZCkKIHsKLQlvbl9lYWNoX2NwdShkb19mbHVzaF90bGJfYWxsLCBOVUxMLCAxLCAxKTsKKwlvbl9lYWNoX2NwdShkb19mbHVzaF90bGJfYWxsLCBOVUxMLCAxKTsKIH0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC90bGJfdXYuYyBiL2FyY2gveDg2L2tlcm5lbC90bGJfdXYuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMGZiYjc3Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaC94ODYva2VybmVsL3RsYl91di5jCkBAIC0wLDAgKzEsNzkyIEBACisvKgorICoJU0dJIFVsdHJhVmlvbGV0IFRMQiBmbHVzaCByb3V0aW5lcy4KKyAqCisgKgkoYykgMjAwOCBDbGlmZiBXaWNrbWFuIDxjcHdAc2dpLmNvbT4sIFNHSS4KKyAqCisgKglUaGlzIGNvZGUgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBvcgorICoJbGF0ZXIuCisgKi8KKyNpbmNsdWRlIDxsaW51eC9tYzE0NjgxOHJ0Yy5oPgorI2luY2x1ZGUgPGxpbnV4L3Byb2NfZnMuaD4KKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKworI2luY2x1ZGUgPGFzbS9tbXVfY29udGV4dC5oPgorI2luY2x1ZGUgPGFzbS91di91dl9tbXJzLmg+CisjaW5jbHVkZSA8YXNtL3V2L3V2X2h1Yi5oPgorI2luY2x1ZGUgPGFzbS91di91dl9iYXUuaD4KKyNpbmNsdWRlIDxhc20vZ2VuYXBpYy5oPgorI2luY2x1ZGUgPGFzbS9pZGxlLmg+CisjaW5jbHVkZSA8YXNtL3RzYy5oPgorCisjaW5jbHVkZSA8bWFjaF9hcGljLmg+CisKK3N0YXRpYyBzdHJ1Y3QgYmF1X2NvbnRyb2wJKip1dl9iYXVfdGFibGVfYmFzZXMgX19yZWFkX21vc3RseTsKK3N0YXRpYyBpbnQJCQl1dl9iYXVfcmV0cnlfbGltaXQgX19yZWFkX21vc3RseTsKKworLyogcG9zaXRpb24gb2YgcG5vZGUgKHdoaWNoIGlzIG5hc2lkPj4xKTogKi8KK3N0YXRpYyBpbnQJCQl1dl9uc2hpZnQgX19yZWFkX21vc3RseTsKKworc3RhdGljIHVuc2lnbmVkIGxvbmcJCXV2X21tYXNrIF9fcmVhZF9tb3N0bHk7CisKK3N0YXRpYyBERUZJTkVfUEVSX0NQVShzdHJ1Y3QgcHRjX3N0YXRzLCBwdGNzdGF0cyk7CitzdGF0aWMgREVGSU5FX1BFUl9DUFUoc3RydWN0IGJhdV9jb250cm9sLCBiYXVfY29udHJvbCk7CisKKy8qCisgKiBGcmVlIGEgc29mdHdhcmUgYWNrbm93bGVkZ2UgaGFyZHdhcmUgcmVzb3VyY2UgYnkgY2xlYXJpbmcgaXRzIFBlbmRpbmcKKyAqIGJpdC4gVGhpcyB3aWxsIHJldHVybiBhIHJlcGx5IHRvIHRoZSBzZW5kZXIuCisgKiBJZiB0aGUgbWVzc2FnZSBoYXMgdGltZWQgb3V0LCBhIHJlcGx5IGhhcyBhbHJlYWR5IGJlZW4gc2VudCBieSB0aGUKKyAqIGhhcmR3YXJlIGJ1dCB0aGUgcmVzb3VyY2UgaGFzIG5vdCBiZWVuIHJlbGVhc2VkLiBJbiB0aGF0IGNhc2Ugb3VyCisgKiBjbGVhciBvZiB0aGUgVGltZW91dCBiaXQgKGFzIHdlbGwpIHdpbGwgZnJlZSB0aGUgcmVzb3VyY2UuIE5vIHJlcGx5IHdpbGwKKyAqIGJlIHNlbnQgKHRoZSBoYXJkd2FyZSB3aWxsIG9ubHkgZG8gb25lIHJlcGx5IHBlciBtZXNzYWdlKS4KKyAqLworc3RhdGljIHZvaWQgdXZfcmVwbHlfdG9fbWVzc2FnZShpbnQgcmVzb3VyY2UsCisJCQkJc3RydWN0IGJhdV9wYXlsb2FkX3F1ZXVlX2VudHJ5ICptc2csCisJCQkJc3RydWN0IGJhdV9tc2dfc3RhdHVzICptc3ApCit7CisJdW5zaWduZWQgbG9uZyBkdzsKKworCWR3ID0gKDEgPDwgKHJlc291cmNlICsgVVZfU1dfQUNLX05QRU5ESU5HKSkgfCAoMSA8PCByZXNvdXJjZSk7CisJbXNnLT5yZXBsaWVkX3RvID0gMTsKKwltc2ctPnN3X2Fja192ZWN0b3IgPSAwOworCWlmIChtc3ApCisJCW1zcC0+c2Vlbl9ieS5iaXRzID0gMDsKKwl1dl93cml0ZV9sb2NhbF9tbXIoVVZIX0xCX0JBVV9JTlREX1NPRlRXQVJFX0FDS05PV0xFREdFX0FMSUFTLCBkdyk7Cit9CisKKy8qCisgKiBEbyBhbGwgdGhlIHRoaW5ncyBhIGNwdSBzaG91bGQgZG8gZm9yIGEgVExCIHNob290ZG93biBtZXNzYWdlLgorICogT3RoZXIgY3B1J3MgbWF5IGNvbWUgaGVyZSBhdCB0aGUgc2FtZSB0aW1lIGZvciB0aGlzIG1lc3NhZ2UuCisgKi8KK3N0YXRpYyB2b2lkIHV2X2JhdV9wcm9jZXNzX21lc3NhZ2Uoc3RydWN0IGJhdV9wYXlsb2FkX3F1ZXVlX2VudHJ5ICptc2csCisJCQkJICAgaW50IG1zZ19zbG90LCBpbnQgc3dfYWNrX3Nsb3QpCit7CisJdW5zaWduZWQgbG9uZyB0aGlzX2NwdV9tYXNrOworCXN0cnVjdCBiYXVfbXNnX3N0YXR1cyAqbXNwOworCWludCBjcHU7CisKKwltc3AgPSBfX2dldF9jcHVfdmFyKGJhdV9jb250cm9sKS5tc2dfc3RhdHVzZXMgKyBtc2dfc2xvdDsKKwljcHUgPSB1dl9ibGFkZV9wcm9jZXNzb3JfaWQoKTsKKwltc2ctPm51bWJlcl9vZl9jcHVzID0KKwkgICAgdXZfYmxhZGVfbnJfb25saW5lX2NwdXModXZfbm9kZV90b19ibGFkZV9pZChudW1hX25vZGVfaWQoKSkpOworCXRoaXNfY3B1X21hc2sgPSAxVUwgPDwgY3B1OworCWlmIChtc3AtPnNlZW5fYnkuYml0cyAmIHRoaXNfY3B1X21hc2spCisJCXJldHVybjsKKwlhdG9taWNfb3JfbG9uZygmbXNwLT5zZWVuX2J5LmJpdHMsIHRoaXNfY3B1X21hc2spOworCisJaWYgKG1zZy0+cmVwbGllZF90byA9PSAxKQorCQlyZXR1cm47CisKKwlpZiAobXNnLT5hZGRyZXNzID09IFRMQl9GTFVTSF9BTEwpIHsKKwkJbG9jYWxfZmx1c2hfdGxiKCk7CisJCV9fZ2V0X2NwdV92YXIocHRjc3RhdHMpLmFsbHRsYisrOworCX0gZWxzZSB7CisJCV9fZmx1c2hfdGxiX29uZShtc2ctPmFkZHJlc3MpOworCQlfX2dldF9jcHVfdmFyKHB0Y3N0YXRzKS5vbmV0bGIrKzsKKwl9CisKKwlfX2dldF9jcHVfdmFyKHB0Y3N0YXRzKS5yZXF1ZXN0ZWUrKzsKKworCWF0b21pY19pbmNfc2hvcnQoJm1zZy0+YWNrbm93bGVkZ2VfY291bnQpOworCWlmIChtc2ctPm51bWJlcl9vZl9jcHVzID09IG1zZy0+YWNrbm93bGVkZ2VfY291bnQpCisJCXV2X3JlcGx5X3RvX21lc3NhZ2Uoc3dfYWNrX3Nsb3QsIG1zZywgbXNwKTsKK30KKworLyoKKyAqIEV4YW1pbmUgdGhlIHBheWxvYWQgcXVldWUgb24gb25lIGRpc3RyaWJ1dGlvbiBub2RlIHRvIHNlZQorICogd2hpY2ggbWVzc2FnZXMgaGF2ZSBub3QgYmVlbiBzZWVuLCBhbmQgd2hpY2ggY3B1KHMpIGhhdmUgbm90IHNlZW4gdGhlbS4KKyAqCisgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgY3B1J3MgdGhhdCBoYXZlIG5vdCByZXNwb25kZWQuCisgKi8KK3N0YXRpYyBpbnQgdXZfZXhhbWluZV9kZXN0aW5hdGlvbihzdHJ1Y3QgYmF1X2NvbnRyb2wgKmJhdV90YWJsZXNwLCBpbnQgc2VuZGVyKQoreworCXN0cnVjdCBiYXVfcGF5bG9hZF9xdWV1ZV9lbnRyeSAqbXNnOworCXN0cnVjdCBiYXVfbXNnX3N0YXR1cyAqbXNwOworCWludCBjb3VudCA9IDA7CisJaW50IGk7CisJaW50IGo7CisKKwlmb3IgKG1zZyA9IGJhdV90YWJsZXNwLT52YV9xdWV1ZV9maXJzdCwgaSA9IDA7IGkgPCBERVNUX1FfU0laRTsKKwkgICAgIG1zZysrLCBpKyspIHsKKwkJaWYgKChtc2ctPnNlbmRpbmdfY3B1ID09IHNlbmRlcikgJiYgKCFtc2ctPnJlcGxpZWRfdG8pKSB7CisJCQltc3AgPSBiYXVfdGFibGVzcC0+bXNnX3N0YXR1c2VzICsgaTsKKwkJCXByaW50ayhLRVJOX0RFQlVHCisJCQkgICAgICAgImJsYWRlICVkOiBhZGRyZXNzOiUjbHggJWQgb2YgJWQsIG5vdCBjcHUocyk6ICIsCisJCQkgICAgICAgaSwgbXNnLT5hZGRyZXNzLCBtc2ctPmFja25vd2xlZGdlX2NvdW50LAorCQkJICAgICAgIG1zZy0+bnVtYmVyX29mX2NwdXMpOworCQkJZm9yIChqID0gMDsgaiA8IG1zZy0+bnVtYmVyX29mX2NwdXM7IGorKykgeworCQkJCWlmICghKCgxTCA8PCBqKSAmIG1zcC0+c2Vlbl9ieS5iaXRzKSkgeworCQkJCQljb3VudCsrOworCQkJCQlwcmludGsoIiVkICIsIGopOworCQkJCX0KKwkJCX0KKwkJCXByaW50aygiXG4iKTsKKwkJfQorCX0KKwlyZXR1cm4gY291bnQ7Cit9CisKKy8qCisgKiBFeGFtaW5lIHRoZSBwYXlsb2FkIHF1ZXVlIG9uIGFsbCB0aGUgZGlzdHJpYnV0aW9uIG5vZGVzIHRvIHNlZQorICogd2hpY2ggbWVzc2FnZXMgaGF2ZSBub3QgYmVlbiBzZWVuLCBhbmQgd2hpY2ggY3B1KHMpIGhhdmUgbm90IHNlZW4gdGhlbS4KKyAqCisgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgY3B1J3MgdGhhdCBoYXZlIG5vdCByZXNwb25kZWQuCisgKi8KK3N0YXRpYyBpbnQgdXZfZXhhbWluZV9kZXN0aW5hdGlvbnMoc3RydWN0IGJhdV90YXJnZXRfbm9kZW1hc2sgKmRpc3RyaWJ1dGlvbikKK3sKKwlpbnQgc2VuZGVyOworCWludCBpOworCWludCBjb3VudCA9IDA7CisKKwlzZW5kZXIgPSBzbXBfcHJvY2Vzc29yX2lkKCk7CisJZm9yIChpID0gMDsgaSA8IHNpemVvZihzdHJ1Y3QgYmF1X3RhcmdldF9ub2RlbWFzaykgKiBCSVRTUEVSQllURTsgaSsrKSB7CisJCWlmICghYmF1X25vZGVfaXNzZXQoaSwgZGlzdHJpYnV0aW9uKSkKKwkJCWNvbnRpbnVlOworCQljb3VudCArPSB1dl9leGFtaW5lX2Rlc3RpbmF0aW9uKHV2X2JhdV90YWJsZV9iYXNlc1tpXSwgc2VuZGVyKTsKKwl9CisJcmV0dXJuIGNvdW50OworfQorCisvKgorICogd2FpdCBmb3IgY29tcGxldGlvbiBvZiBhIGJyb2FkY2FzdCBtZXNzYWdlCisgKgorICogcmV0dXJuIENPTVBMRVRFLCBSRVRSWSBvciBHSVZFVVAKKyAqLworc3RhdGljIGludCB1dl93YWl0X2NvbXBsZXRpb24oc3RydWN0IGJhdV9kZXNjICpiYXVfZGVzYywKKwkJCSAgICAgIHVuc2lnbmVkIGxvbmcgbW1yX29mZnNldCwgaW50IHJpZ2h0X3NoaWZ0KQoreworCWludCBleGFtcyA9IDA7CisJbG9uZyBkZXN0aW5hdGlvbl90aW1lb3V0cyA9IDA7CisJbG9uZyBzb3VyY2VfdGltZW91dHMgPSAwOworCXVuc2lnbmVkIGxvbmcgZGVzY3JpcHRvcl9zdGF0dXM7CisKKwl3aGlsZSAoKGRlc2NyaXB0b3Jfc3RhdHVzID0gKCgodW5zaWduZWQgbG9uZykKKwkJdXZfcmVhZF9sb2NhbF9tbXIobW1yX29mZnNldCkgPj4KKwkJCXJpZ2h0X3NoaWZ0KSAmIFVWX0FDVF9TVEFUVVNfTUFTSykpICE9CisJCQlERVNDX1NUQVRVU19JRExFKSB7CisJCWlmIChkZXNjcmlwdG9yX3N0YXR1cyA9PSBERVNDX1NUQVRVU19TT1VSQ0VfVElNRU9VVCkgeworCQkJc291cmNlX3RpbWVvdXRzKys7CisJCQlpZiAoc291cmNlX3RpbWVvdXRzID4gU09VUkNFX1RJTUVPVVRfTElNSVQpCisJCQkJc291cmNlX3RpbWVvdXRzID0gMDsKKwkJCV9fZ2V0X2NwdV92YXIocHRjc3RhdHMpLnNfcmV0cnkrKzsKKwkJCXJldHVybiBGTFVTSF9SRVRSWTsKKwkJfQorCQkvKgorCQkgKiBzcGluIGhlcmUgbG9va2luZyBmb3IgcHJvZ3Jlc3MgYXQgdGhlIGRlc3RpbmF0aW9ucworCQkgKi8KKwkJaWYgKGRlc2NyaXB0b3Jfc3RhdHVzID09IERFU0NfU1RBVFVTX0RFU1RJTkFUSU9OX1RJTUVPVVQpIHsKKwkJCWRlc3RpbmF0aW9uX3RpbWVvdXRzKys7CisJCQlpZiAoZGVzdGluYXRpb25fdGltZW91dHMgPiBERVNUSU5BVElPTl9USU1FT1VUX0xJTUlUKSB7CisJCQkJLyoKKwkJCQkgKiByZXR1cm5zIG51bWJlciBvZiBjcHVzIG5vdCByZXNwb25kaW5nCisJCQkJICovCisJCQkJaWYgKHV2X2V4YW1pbmVfZGVzdGluYXRpb25zCisJCQkJICAgICgmYmF1X2Rlc2MtPmRpc3RyaWJ1dGlvbikgPT0gMCkgeworCQkJCQlfX2dldF9jcHVfdmFyKHB0Y3N0YXRzKS5kX3JldHJ5Kys7CisJCQkJCXJldHVybiBGTFVTSF9SRVRSWTsKKwkJCQl9CisJCQkJZXhhbXMrKzsKKwkJCQlpZiAoZXhhbXMgPj0gdXZfYmF1X3JldHJ5X2xpbWl0KSB7CisJCQkJCXByaW50ayhLRVJOX0RFQlVHCisJCQkJCSAgICAgICAidXZfZmx1c2hfdGxiX290aGVycyIpOworCQkJCQlwcmludGsoImdpdmluZyB1cCBvbiBjcHUgJWRcbiIsCisJCQkJCSAgICAgICBzbXBfcHJvY2Vzc29yX2lkKCkpOworCQkJCQlyZXR1cm4gRkxVU0hfR0lWRVVQOworCQkJCX0KKwkJCQkvKgorCQkJCSAqIGRlbGF5cyBjYW4gaGFuZyB0aGUgc2ltdWxhdG9yCisJCQkJICAgdWRlbGF5KDEwMDApOworCQkJCSAqLworCQkJCWRlc3RpbmF0aW9uX3RpbWVvdXRzID0gMDsKKwkJCX0KKwkJfQorCX0KKwlyZXR1cm4gRkxVU0hfQ09NUExFVEU7Cit9CisKKy8qKgorICogdXZfZmx1c2hfc2VuZF9hbmRfd2FpdAorICoKKyAqIFNlbmQgYSBicm9hZGNhc3QgYW5kIHdhaXQgZm9yIGEgYnJvYWRjYXN0IG1lc3NhZ2UgdG8gY29tcGxldGUuCisgKgorICogVGhlIGNwdW1hc2twIG1hc2sgY29udGFpbnMgdGhlIGNwdXMgdGhlIGJyb2FkY2FzdCB3YXMgc2VudCB0by4KKyAqCisgKiBSZXR1cm5zIDEgaWYgYWxsIHJlbW90ZSBmbHVzaGluZyB3YXMgZG9uZS4gVGhlIG1hc2sgaXMgemVyb2VkLgorICogUmV0dXJucyAwIGlmIHNvbWUgcmVtb3RlIGZsdXNoaW5nIHJlbWFpbnMgdG8gYmUgZG9uZS4gVGhlIG1hc2sgaXMgbGVmdAorICogdW5jaGFuZ2VkLgorICovCitpbnQgdXZfZmx1c2hfc2VuZF9hbmRfd2FpdChpbnQgY3B1LCBpbnQgdGhpc19ibGFkZSwgc3RydWN0IGJhdV9kZXNjICpiYXVfZGVzYywKKwkJCSAgIGNwdW1hc2tfdCAqY3B1bWFza3ApCit7CisJaW50IGNvbXBsZXRpb25fc3RhdHVzID0gMDsKKwlpbnQgcmlnaHRfc2hpZnQ7CisJaW50IHRyaWVzID0gMDsKKwlpbnQgYmxhZGU7CisJaW50IGJpdDsKKwl1bnNpZ25lZCBsb25nIG1tcl9vZmZzZXQ7CisJdW5zaWduZWQgbG9uZyBpbmRleDsKKwljeWNsZXNfdCB0aW1lMTsKKwljeWNsZXNfdCB0aW1lMjsKKworCWlmIChjcHUgPCBVVl9DUFVTX1BFUl9BQ1RfU1RBVFVTKSB7CisJCW1tcl9vZmZzZXQgPSBVVkhfTEJfQkFVX1NCX0FDVElWQVRJT05fU1RBVFVTXzA7CisJCXJpZ2h0X3NoaWZ0ID0gY3B1ICogVVZfQUNUX1NUQVRVU19TSVpFOworCX0gZWxzZSB7CisJCW1tcl9vZmZzZXQgPSBVVkhfTEJfQkFVX1NCX0FDVElWQVRJT05fU1RBVFVTXzE7CisJCXJpZ2h0X3NoaWZ0ID0KKwkJICAgICgoY3B1IC0gVVZfQ1BVU19QRVJfQUNUX1NUQVRVUykgKiBVVl9BQ1RfU1RBVFVTX1NJWkUpOworCX0KKwl0aW1lMSA9IGdldF9jeWNsZXMoKTsKKwlkbyB7CisJCXRyaWVzKys7CisJCWluZGV4ID0gKDFVTCA8PCBVVkhfTEJfQkFVX1NCX0FDVElWQVRJT05fQ09OVFJPTF9QVVNIX1NIRlQpIHwKKwkJCWNwdTsKKwkJdXZfd3JpdGVfbG9jYWxfbW1yKFVWSF9MQl9CQVVfU0JfQUNUSVZBVElPTl9DT05UUk9MLCBpbmRleCk7CisJCWNvbXBsZXRpb25fc3RhdHVzID0gdXZfd2FpdF9jb21wbGV0aW9uKGJhdV9kZXNjLCBtbXJfb2Zmc2V0LAorCQkJCQlyaWdodF9zaGlmdCk7CisJfSB3aGlsZSAoY29tcGxldGlvbl9zdGF0dXMgPT0gRkxVU0hfUkVUUlkpOworCXRpbWUyID0gZ2V0X2N5Y2xlcygpOworCV9fZ2V0X2NwdV92YXIocHRjc3RhdHMpLnNmbHVzaCArPSAodGltZTIgLSB0aW1lMSk7CisJaWYgKHRyaWVzID4gMSkKKwkJX19nZXRfY3B1X3ZhcihwdGNzdGF0cykucmV0cmllc29rKys7CisKKwlpZiAoY29tcGxldGlvbl9zdGF0dXMgPT0gRkxVU0hfR0lWRVVQKSB7CisJCS8qCisJCSAqIENhdXNlIHRoZSBjYWxsZXIgdG8gZG8gYW4gSVBJLXN0eWxlIFRMQiBzaG9vdGRvd24gb24KKwkJICogdGhlIGNwdSdzLCBhbGwgb2Ygd2hpY2ggYXJlIHN0aWxsIGluIHRoZSBtYXNrLgorCQkgKi8KKwkJX19nZXRfY3B1X3ZhcihwdGNzdGF0cykucHRjX2krKzsKKwkJcmV0dXJuIDA7CisJfQorCisJLyoKKwkgKiBTdWNjZXNzLCBzbyBjbGVhciB0aGUgcmVtb3RlIGNwdSdzIGZyb20gdGhlIG1hc2sgc28gd2UgZG9uJ3QKKwkgKiB1c2UgdGhlIElQSSBtZXRob2Qgb2Ygc2hvb3Rkb3duIG9uIHRoZW0uCisJICovCisJZm9yX2VhY2hfY3B1X21hc2soYml0LCAqY3B1bWFza3ApIHsKKwkJYmxhZGUgPSB1dl9jcHVfdG9fYmxhZGVfaWQoYml0KTsKKwkJaWYgKGJsYWRlID09IHRoaXNfYmxhZGUpCisJCQljb250aW51ZTsKKwkJY3B1X2NsZWFyKGJpdCwgKmNwdW1hc2twKTsKKwl9CisJaWYgKCFjcHVzX2VtcHR5KCpjcHVtYXNrcCkpCisJCXJldHVybiAwOworCXJldHVybiAxOworfQorCisvKioKKyAqIHV2X2ZsdXNoX3RsYl9vdGhlcnMgLSBnbG9iYWxseSBwdXJnZSB0cmFuc2xhdGlvbiBjYWNoZSBvZiBhIHZpcnR1YWwKKyAqIGFkZHJlc3Mgb3IgYWxsIFRMQidzCisgKiBAY3B1bWFza3A6IG1hc2sgb2YgYWxsIGNwdSdzIGluIHdoaWNoIHRoZSBhZGRyZXNzIGlzIHRvIGJlIHJlbW92ZWQKKyAqIEBtbTogbW1fc3RydWN0IGNvbnRhaW5pbmcgdmlydHVhbCBhZGRyZXNzIHJhbmdlCisgKiBAdmE6IHZpcnR1YWwgYWRkcmVzcyB0byBiZSByZW1vdmVkIChvciBUTEJfRkxVU0hfQUxMIGZvciBhbGwgVExCJ3Mgb24gY3B1KQorICoKKyAqIFRoaXMgaXMgdGhlIGVudHJ5IHBvaW50IGZvciBpbml0aWF0aW5nIGFueSBVViBnbG9iYWwgVExCIHNob290ZG93bi4KKyAqCisgKiBQdXJnZXMgdGhlIHRyYW5zbGF0aW9uIGNhY2hlcyBvZiBhbGwgc3BlY2lmaWVkIHByb2Nlc3NvcnMgb2YgdGhlIGdpdmVuCisgKiB2aXJ0dWFsIGFkZHJlc3MsIG9yIHB1cmdlcyBhbGwgVExCJ3Mgb24gc3BlY2lmaWVkIHByb2Nlc3NvcnMuCisgKgorICogVGhlIGNhbGxlciBoYXMgZGVyaXZlZCB0aGUgY3B1bWFza3AgZnJvbSB0aGUgbW1fc3RydWN0IGFuZCBoYXMgc3VidHJhY3RlZAorICogdGhlIGxvY2FsIGNwdSBmcm9tIHRoZSBtYXNrLiAgVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgb25seSBpZiB0aGVyZQorICogYXJlIGJpdHMgc2V0IGluIHRoZSBtYXNrLiAoZS5nLiBmbHVzaF90bGJfcGFnZSgpKQorICoKKyAqIFRoZSBjcHVtYXNrcCBpcyBjb252ZXJ0ZWQgaW50byBhIG5vZGVtYXNrIG9mIHRoZSBub2RlcyBjb250YWluaW5nCisgKiB0aGUgY3B1cy4KKyAqCisgKiBSZXR1cm5zIDEgaWYgYWxsIHJlbW90ZSBmbHVzaGluZyB3YXMgZG9uZS4KKyAqIFJldHVybnMgMCBpZiBzb21lIHJlbW90ZSBmbHVzaGluZyByZW1haW5zIHRvIGJlIGRvbmUuCisgKi8KK2ludCB1dl9mbHVzaF90bGJfb3RoZXJzKGNwdW1hc2tfdCAqY3B1bWFza3AsIHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLAorCQkJdW5zaWduZWQgbG9uZyB2YSkKK3sKKwlpbnQgaTsKKwlpbnQgYml0OworCWludCBibGFkZTsKKwlpbnQgY3B1OworCWludCB0aGlzX2JsYWRlOworCWludCBsb2NhbHMgPSAwOworCXN0cnVjdCBiYXVfZGVzYyAqYmF1X2Rlc2M7CisKKwljcHUgPSB1dl9ibGFkZV9wcm9jZXNzb3JfaWQoKTsKKwl0aGlzX2JsYWRlID0gdXZfbnVtYV9ibGFkZV9pZCgpOworCWJhdV9kZXNjID0gX19nZXRfY3B1X3ZhcihiYXVfY29udHJvbCkuZGVzY3JpcHRvcl9iYXNlOworCWJhdV9kZXNjICs9IFVWX0lURU1TX1BFUl9ERVNDUklQVE9SICogY3B1OworCisJYmF1X25vZGVzX2NsZWFyKCZiYXVfZGVzYy0+ZGlzdHJpYnV0aW9uLCBVVl9ESVNUUklCVVRJT05fU0laRSk7CisKKwlpID0gMDsKKwlmb3JfZWFjaF9jcHVfbWFzayhiaXQsICpjcHVtYXNrcCkgeworCQlibGFkZSA9IHV2X2NwdV90b19ibGFkZV9pZChiaXQpOworCQlCVUdfT04oYmxhZGUgPiAoVVZfRElTVFJJQlVUSU9OX1NJWkUgLSAxKSk7CisJCWlmIChibGFkZSA9PSB0aGlzX2JsYWRlKSB7CisJCQlsb2NhbHMrKzsKKwkJCWNvbnRpbnVlOworCQl9CisJCWJhdV9ub2RlX3NldChibGFkZSwgJmJhdV9kZXNjLT5kaXN0cmlidXRpb24pOworCQlpKys7CisJfQorCWlmIChpID09IDApIHsKKwkJLyoKKwkJICogbm8gb2ZmX25vZGUgZmx1c2hpbmc7IHJldHVybiBzdGF0dXMgZm9yIGxvY2FsIG5vZGUKKwkJICovCisJCWlmIChsb2NhbHMpCisJCQlyZXR1cm4gMDsKKwkJZWxzZQorCQkJcmV0dXJuIDE7CisJfQorCV9fZ2V0X2NwdV92YXIocHRjc3RhdHMpLnJlcXVlc3RvcisrOworCV9fZ2V0X2NwdV92YXIocHRjc3RhdHMpLm50YXJnZXRlZCArPSBpOworCisJYmF1X2Rlc2MtPnBheWxvYWQuYWRkcmVzcyA9IHZhOworCWJhdV9kZXNjLT5wYXlsb2FkLnNlbmRpbmdfY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOworCisJcmV0dXJuIHV2X2ZsdXNoX3NlbmRfYW5kX3dhaXQoY3B1LCB0aGlzX2JsYWRlLCBiYXVfZGVzYywgY3B1bWFza3ApOworfQorCisvKgorICogVGhlIEJBVSBtZXNzYWdlIGludGVycnVwdCBjb21lcyBoZXJlLiAocmVnaXN0ZXJlZCBieSBzZXRfaW50cl9nYXRlKQorICogU2VlIGVudHJ5XzY0LlMKKyAqCisgKiBXZSByZWNlaXZlZCBhIGJyb2FkY2FzdCBhc3Npc3QgbWVzc2FnZS4KKyAqCisgKiBJbnRlcnJ1cHRzIG1heSBoYXZlIGJlZW4gZGlzYWJsZWQ7IHRoaXMgaW50ZXJydXB0IGNvdWxkIHJlcHJlc2VudAorICogdGhlIHJlY2VpcHQgb2Ygc2V2ZXJhbCBtZXNzYWdlcy4KKyAqCisgKiBBbGwgY29yZXMvdGhyZWFkcyBvbiB0aGlzIG5vZGUgZ2V0IHRoaXMgaW50ZXJydXB0LgorICogVGhlIGxhc3Qgb25lIHRvIHNlZSBpdCBkb2VzIHRoZSBzL3cgYWNrLgorICogKHRoZSByZXNvdXJjZSB3aWxsIG5vdCBiZSBmcmVlZCB1bnRpbCBub25pbnRlcnJ1cHRhYmxlIGNwdXMgc2VlIHRoaXMKKyAqICBpbnRlcnJ1cHQ7IGhhcmR3YXJlIHdpbGwgdGltZW91dCB0aGUgcy93IGFjayBhbmQgcmVwbHkgRVJST1IpCisgKi8KK3ZvaWQgdXZfYmF1X21lc3NhZ2VfaW50ZXJydXB0KHN0cnVjdCBwdF9yZWdzICpyZWdzKQoreworCXN0cnVjdCBiYXVfcGF5bG9hZF9xdWV1ZV9lbnRyeSAqdmFfcXVldWVfZmlyc3Q7CisJc3RydWN0IGJhdV9wYXlsb2FkX3F1ZXVlX2VudHJ5ICp2YV9xdWV1ZV9sYXN0OworCXN0cnVjdCBiYXVfcGF5bG9hZF9xdWV1ZV9lbnRyeSAqbXNnOworCXN0cnVjdCBwdF9yZWdzICpvbGRfcmVncyA9IHNldF9pcnFfcmVncyhyZWdzKTsKKwljeWNsZXNfdCB0aW1lMTsKKwljeWNsZXNfdCB0aW1lMjsKKwlpbnQgbXNnX3Nsb3Q7CisJaW50IHN3X2Fja19zbG90OworCWludCBmdzsKKwlpbnQgY291bnQgPSAwOworCXVuc2lnbmVkIGxvbmcgbG9jYWxfcG5vZGU7CisKKwlhY2tfQVBJQ19pcnEoKTsKKwlleGl0X2lkbGUoKTsKKwlpcnFfZW50ZXIoKTsKKworCXRpbWUxID0gZ2V0X2N5Y2xlcygpOworCisJbG9jYWxfcG5vZGUgPSB1dl9ibGFkZV90b19wbm9kZSh1dl9udW1hX2JsYWRlX2lkKCkpOworCisJdmFfcXVldWVfZmlyc3QgPSBfX2dldF9jcHVfdmFyKGJhdV9jb250cm9sKS52YV9xdWV1ZV9maXJzdDsKKwl2YV9xdWV1ZV9sYXN0ID0gX19nZXRfY3B1X3ZhcihiYXVfY29udHJvbCkudmFfcXVldWVfbGFzdDsKKworCW1zZyA9IF9fZ2V0X2NwdV92YXIoYmF1X2NvbnRyb2wpLmJhdV9tc2dfaGVhZDsKKwl3aGlsZSAobXNnLT5zd19hY2tfdmVjdG9yKSB7CisJCWNvdW50Kys7CisJCWZ3ID0gbXNnLT5zd19hY2tfdmVjdG9yOworCQltc2dfc2xvdCA9IG1zZyAtIHZhX3F1ZXVlX2ZpcnN0OworCQlzd19hY2tfc2xvdCA9IGZmcyhmdykgLSAxOworCisJCXV2X2JhdV9wcm9jZXNzX21lc3NhZ2UobXNnLCBtc2dfc2xvdCwgc3dfYWNrX3Nsb3QpOworCisJCW1zZysrOworCQlpZiAobXNnID4gdmFfcXVldWVfbGFzdCkKKwkJCW1zZyA9IHZhX3F1ZXVlX2ZpcnN0OworCQlfX2dldF9jcHVfdmFyKGJhdV9jb250cm9sKS5iYXVfbXNnX2hlYWQgPSBtc2c7CisJfQorCWlmICghY291bnQpCisJCV9fZ2V0X2NwdV92YXIocHRjc3RhdHMpLm5vbXNnKys7CisJZWxzZSBpZiAoY291bnQgPiAxKQorCQlfX2dldF9jcHVfdmFyKHB0Y3N0YXRzKS5tdWx0bXNnKys7CisKKwl0aW1lMiA9IGdldF9jeWNsZXMoKTsKKwlfX2dldF9jcHVfdmFyKHB0Y3N0YXRzKS5kZmx1c2ggKz0gKHRpbWUyIC0gdGltZTEpOworCisJaXJxX2V4aXQoKTsKKwlzZXRfaXJxX3JlZ3Mob2xkX3JlZ3MpOworfQorCitzdGF0aWMgdm9pZCB1dl9lbmFibGVfdGltZW91dHModm9pZCkKK3sKKwlpbnQgaTsKKwlpbnQgYmxhZGU7CisJaW50IGxhc3RfYmxhZGU7CisJaW50IHBub2RlOworCWludCBjdXJfY3B1ID0gMDsKKwl1bnNpZ25lZCBsb25nIGFwaWNpZDsKKworCWxhc3RfYmxhZGUgPSAtMTsKKwlmb3JfZWFjaF9vbmxpbmVfbm9kZShpKSB7CisJCWJsYWRlID0gdXZfbm9kZV90b19ibGFkZV9pZChpKTsKKwkJaWYgKGJsYWRlID09IGxhc3RfYmxhZGUpCisJCQljb250aW51ZTsKKwkJbGFzdF9ibGFkZSA9IGJsYWRlOworCQlhcGljaWQgPSBwZXJfY3B1KHg4Nl9jcHVfdG9fYXBpY2lkLCBjdXJfY3B1KTsKKwkJcG5vZGUgPSB1dl9ibGFkZV90b19wbm9kZShibGFkZSk7CisJCWN1cl9jcHUgKz0gdXZfYmxhZGVfbnJfcG9zc2libGVfY3B1cyhpKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkICp1dl9wdGNfc2VxX3N0YXJ0KHN0cnVjdCBzZXFfZmlsZSAqZmlsZSwgbG9mZl90ICpvZmZzZXQpCit7CisJaWYgKCpvZmZzZXQgPCBudW1fcG9zc2libGVfY3B1cygpKQorCQlyZXR1cm4gb2Zmc2V0OworCXJldHVybiBOVUxMOworfQorCitzdGF0aWMgdm9pZCAqdXZfcHRjX3NlcV9uZXh0KHN0cnVjdCBzZXFfZmlsZSAqZmlsZSwgdm9pZCAqZGF0YSwgbG9mZl90ICpvZmZzZXQpCit7CisJKCpvZmZzZXQpKys7CisJaWYgKCpvZmZzZXQgPCBudW1fcG9zc2libGVfY3B1cygpKQorCQlyZXR1cm4gb2Zmc2V0OworCXJldHVybiBOVUxMOworfQorCitzdGF0aWMgdm9pZCB1dl9wdGNfc2VxX3N0b3Aoc3RydWN0IHNlcV9maWxlICpmaWxlLCB2b2lkICpkYXRhKQoreworfQorCisvKgorICogRGlzcGxheSB0aGUgc3RhdGlzdGljcyB0aHJ1IC9wcm9jCisgKiBkYXRhIHBvaW50cyB0byB0aGUgY3B1IG51bWJlcgorICovCitzdGF0aWMgaW50IHV2X3B0Y19zZXFfc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKmZpbGUsIHZvaWQgKmRhdGEpCit7CisJc3RydWN0IHB0Y19zdGF0cyAqc3RhdDsKKwlpbnQgY3B1OworCisJY3B1ID0gKihsb2ZmX3QgKilkYXRhOworCisJaWYgKCFjcHUpIHsKKwkJc2VxX3ByaW50ZihmaWxlLAorCQkiIyBjcHUgcmVxdWVzdG9yIHJlcXVlc3RlZSBvbmUgYWxsIHNyZXRyeSBkcmV0cnkgcHRjX2kgIik7CisJCXNlcV9wcmludGYoZmlsZSwKKwkJInN3X2FjayBzZmx1c2ggZGZsdXNoIHNvayBkbm9tc2cgZG11bHQgc3RhcmdldFxuIik7CisJfQorCWlmIChjcHUgPCBudW1fcG9zc2libGVfY3B1cygpICYmIGNwdV9vbmxpbmUoY3B1KSkgeworCQlzdGF0ID0gJnBlcl9jcHUocHRjc3RhdHMsIGNwdSk7CisJCXNlcV9wcmludGYoZmlsZSwgImNwdSAlZCAlbGQgJWxkICVsZCAlbGQgJWxkICVsZCAlbGQgIiwKKwkJCSAgIGNwdSwgc3RhdC0+cmVxdWVzdG9yLAorCQkJICAgc3RhdC0+cmVxdWVzdGVlLCBzdGF0LT5vbmV0bGIsIHN0YXQtPmFsbHRsYiwKKwkJCSAgIHN0YXQtPnNfcmV0cnksIHN0YXQtPmRfcmV0cnksIHN0YXQtPnB0Y19pKTsKKwkJc2VxX3ByaW50ZihmaWxlLCAiJWx4ICVsZCAlbGQgJWxkICVsZCAlbGQgJWxkXG4iLAorCQkJICAgdXZfcmVhZF9nbG9iYWxfbW1yNjQodXZfYmxhZGVfdG9fcG5vZGUKKwkJCQkJKHV2X2NwdV90b19ibGFkZV9pZChjcHUpKSwKKwkJCQkJVVZIX0xCX0JBVV9JTlREX1NPRlRXQVJFX0FDS05PV0xFREdFKSwKKwkJCSAgIHN0YXQtPnNmbHVzaCwgc3RhdC0+ZGZsdXNoLAorCQkJICAgc3RhdC0+cmV0cmllc29rLCBzdGF0LT5ub21zZywKKwkJCSAgIHN0YXQtPm11bHRtc2csIHN0YXQtPm50YXJnZXRlZCk7CisJfQorCisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiAgMDogZGlzcGxheSBtZWFuaW5nIG9mIHRoZSBzdGF0aXN0aWNzCisgKiA+MDogcmV0cnkgbGltaXQKKyAqLworc3RhdGljIHNzaXplX3QgdXZfcHRjX3Byb2Nfd3JpdGUoc3RydWN0IGZpbGUgKmZpbGUsIGNvbnN0IGNoYXIgX191c2VyICp1c2VyLAorCQkJCSBzaXplX3QgY291bnQsIGxvZmZfdCAqZGF0YSkKK3sKKwlsb25nIG5ld21vZGU7CisJY2hhciBvcHRzdHJbNjRdOworCisJaWYgKGNvdW50ID09IDAgfHwgY291bnQgPiBzaXplb2Yob3B0c3RyKSkKKwkJcmV0dXJuIC1FSU5WQUw7CisJaWYgKGNvcHlfZnJvbV91c2VyKG9wdHN0ciwgdXNlciwgY291bnQpKQorCQlyZXR1cm4gLUVGQVVMVDsKKwlvcHRzdHJbY291bnQgLSAxXSA9ICdcMCc7CisJaWYgKHN0cmljdF9zdHJ0b3VsKG9wdHN0ciwgMTAsICZuZXdtb2RlKSA8IDApIHsKKwkJcHJpbnRrKEtFUk5fREVCVUcgIiVzIGlzIGludmFsaWRcbiIsIG9wdHN0cik7CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCWlmIChuZXdtb2RlID09IDApIHsKKwkJcHJpbnRrKEtFUk5fREVCVUcgIiMgY3B1OiAgICAgIGNwdSBudW1iZXJcbiIpOworCQlwcmludGsoS0VSTl9ERUJVRworCQkicmVxdWVzdG9yOiAgdGltZXMgdGhpcyBjcHUgd2FzIHRoZSBmbHVzaCByZXF1ZXN0b3JcbiIpOworCQlwcmludGsoS0VSTl9ERUJVRworCQkicmVxdWVzdGVlOiAgdGltZXMgdGhpcyBjcHUgd2FzIHJlcXVlc3RlZCB0byBmbHVzaCBpdHMgVExCc1xuIik7CisJCXByaW50ayhLRVJOX0RFQlVHCisJCSJvbmU6ICAgICAgICB0aW1lcyByZXF1ZXN0ZWQgdG8gZmx1c2ggYSBzaW5nbGUgYWRkcmVzc1xuIik7CisJCXByaW50ayhLRVJOX0RFQlVHCisJCSJhbGw6ICAgICAgICB0aW1lcyByZXF1ZXN0ZWQgdG8gZmx1c2ggYWxsIFRMQidzXG4iKTsKKwkJcHJpbnRrKEtFUk5fREVCVUcKKwkJInNyZXRyeTogICAgIG51bWJlciBvZiByZXRyaWVzIG9mIHNvdXJjZS1zaWRlIHRpbWVvdXRzXG4iKTsKKwkJcHJpbnRrKEtFUk5fREVCVUcKKwkJImRyZXRyeTogICAgIG51bWJlciBvZiByZXRyaWVzIG9mIGRlc3RpbmF0aW9uLXNpZGUgdGltZW91dHNcbiIpOworCQlwcmludGsoS0VSTl9ERUJVRworCQkicHRjX2k6ICAgICAgdGltZXMgVVYgZmVsbCB0aHJvdWdoIHRvIElQSS1zdHlsZSBmbHVzaGVzXG4iKTsKKwkJcHJpbnRrKEtFUk5fREVCVUcKKwkJInN3X2FjazogICAgIGltYWdlIG9mIFVWSF9MQl9CQVVfSU5URF9TT0ZUV0FSRV9BQ0tOT1dMRURHRVxuIik7CisJCXByaW50ayhLRVJOX0RFQlVHCisJCSJzZmx1c2hfdXM6ICBjeWNsZXMgc3BlbnQgaW4gdXZfZmx1c2hfdGxiX290aGVycygpXG4iKTsKKwkJcHJpbnRrKEtFUk5fREVCVUcKKwkJImRmbHVzaF91czogIGN5Y2xlcyBzcGVudCBpbiBoYW5kbGluZyBmbHVzaCByZXF1ZXN0c1xuIik7CisJCXByaW50ayhLRVJOX0RFQlVHICJzb2s6ICAgICAgICBzdWNjZXNzZXMgb24gcmV0cnlcbiIpOworCQlwcmludGsoS0VSTl9ERUJVRyAiZG5vbXNnOiAgICAgaW50ZXJydXB0cyB3aXRoIG5vIG1lc3NhZ2VcbiIpOworCQlwcmludGsoS0VSTl9ERUJVRworCQkiZG11bHQ6ICAgICAgaW50ZXJydXB0cyB3aXRoIG11bHRpcGxlIG1lc3NhZ2VzXG4iKTsKKwkJcHJpbnRrKEtFUk5fREVCVUcgInN0YXJnZXQ6ICAgIG5vZGVzIHRhcmdldGVkXG4iKTsKKwl9IGVsc2UgeworCQl1dl9iYXVfcmV0cnlfbGltaXQgPSBuZXdtb2RlOworCQlwcmludGsoS0VSTl9ERUJVRyAidGltZW91dCByZXRyeSBsaW1pdDolZFxuIiwKKwkJICAgICAgIHV2X2JhdV9yZXRyeV9saW1pdCk7CisJfQorCisJcmV0dXJuIGNvdW50OworfQorCitzdGF0aWMgY29uc3Qgc3RydWN0IHNlcV9vcGVyYXRpb25zIHV2X3B0Y19zZXFfb3BzID0geworCS5zdGFydAkJPSB1dl9wdGNfc2VxX3N0YXJ0LAorCS5uZXh0CQk9IHV2X3B0Y19zZXFfbmV4dCwKKwkuc3RvcAkJPSB1dl9wdGNfc2VxX3N0b3AsCisJLnNob3cJCT0gdXZfcHRjX3NlcV9zaG93Cit9OworCitzdGF0aWMgaW50IHV2X3B0Y19wcm9jX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCit7CisJcmV0dXJuIHNlcV9vcGVuKGZpbGUsICZ1dl9wdGNfc2VxX29wcyk7Cit9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIHByb2NfdXZfcHRjX29wZXJhdGlvbnMgPSB7CisJLm9wZW4JCT0gdXZfcHRjX3Byb2Nfb3BlbiwKKwkucmVhZAkJPSBzZXFfcmVhZCwKKwkud3JpdGUJCT0gdXZfcHRjX3Byb2Nfd3JpdGUsCisJLmxsc2VlawkJPSBzZXFfbHNlZWssCisJLnJlbGVhc2UJPSBzZXFfcmVsZWFzZSwKK307CisKK3N0YXRpYyBpbnQgX19pbml0IHV2X3B0Y19pbml0KHZvaWQpCit7CisJc3RydWN0IHByb2NfZGlyX2VudHJ5ICpwcm9jX3V2X3B0YzsKKworCWlmICghaXNfdXZfc3lzdGVtKCkpCisJCXJldHVybiAwOworCisJaWYgKCFwcm9jX21rZGlyKCJzZ2lfdXYiLCBOVUxMKSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlwcm9jX3V2X3B0YyA9IGNyZWF0ZV9wcm9jX2VudHJ5KFVWX1BUQ19CQVNFTkFNRSwgMDQ0NCwgTlVMTCk7CisJaWYgKCFwcm9jX3V2X3B0YykgeworCQlwcmludGsoS0VSTl9FUlIgInVuYWJsZSB0byBjcmVhdGUgJXMgcHJvYyBlbnRyeVxuIiwKKwkJICAgICAgIFVWX1BUQ19CQVNFTkFNRSk7CisJCXJlbW92ZV9wcm9jX2VudHJ5KCJzZ2lfdXYiLCBOVUxMKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCXByb2NfdXZfcHRjLT5wcm9jX2ZvcHMgPSAmcHJvY191dl9wdGNfb3BlcmF0aW9uczsKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIGJlZ2luIHRoZSBpbml0aWFsaXphdGlvbiBvZiB0aGUgcGVyLWJsYWRlIGNvbnRyb2wgc3RydWN0dXJlcworICovCitzdGF0aWMgc3RydWN0IGJhdV9jb250cm9sICogX19pbml0IHV2X3RhYmxlX2Jhc2VzX2luaXQoaW50IGJsYWRlLCBpbnQgbm9kZSkKK3sKKwlpbnQgaTsKKwlpbnQgKmlwOworCXN0cnVjdCBiYXVfbXNnX3N0YXR1cyAqbXNwOworCXN0cnVjdCBiYXVfY29udHJvbCAqYmF1X3RhYnA7CisKKwliYXVfdGFicCA9CisJICAgIGttYWxsb2Nfbm9kZShzaXplb2Yoc3RydWN0IGJhdV9jb250cm9sKSwgR0ZQX0tFUk5FTCwgbm9kZSk7CisJQlVHX09OKCFiYXVfdGFicCk7CisKKwliYXVfdGFicC0+bXNnX3N0YXR1c2VzID0KKwkgICAga21hbGxvY19ub2RlKHNpemVvZihzdHJ1Y3QgYmF1X21zZ19zdGF0dXMpICoKKwkJCSBERVNUX1FfU0laRSwgR0ZQX0tFUk5FTCwgbm9kZSk7CisJQlVHX09OKCFiYXVfdGFicC0+bXNnX3N0YXR1c2VzKTsKKworCWZvciAoaSA9IDAsIG1zcCA9IGJhdV90YWJwLT5tc2dfc3RhdHVzZXM7IGkgPCBERVNUX1FfU0laRTsgaSsrLCBtc3ArKykKKwkJYmF1X2NwdWJpdHNfY2xlYXIoJm1zcC0+c2Vlbl9ieSwgKGludCkKKwkJCQkgIHV2X2JsYWRlX25yX3Bvc3NpYmxlX2NwdXMoYmxhZGUpKTsKKworCWJhdV90YWJwLT53YXRjaGluZyA9CisJICAgIGttYWxsb2Nfbm9kZShzaXplb2YoaW50KSAqIERFU1RfTlVNX1JFU09VUkNFUywgR0ZQX0tFUk5FTCwgbm9kZSk7CisJQlVHX09OKCFiYXVfdGFicC0+d2F0Y2hpbmcpOworCisJZm9yIChpID0gMCwgaXAgPSBiYXVfdGFicC0+d2F0Y2hpbmc7IGkgPCBERVNUX1FfU0laRTsgaSsrLCBpcCsrKQorCQkqaXAgPSAwOworCisJdXZfYmF1X3RhYmxlX2Jhc2VzW2JsYWRlXSA9IGJhdV90YWJwOworCisJcmV0dXJuIGJhdV90YWJwOworfQorCisvKgorICogZmluaXNoIHRoZSBpbml0aWFsaXphdGlvbiBvZiB0aGUgcGVyLWJsYWRlIGNvbnRyb2wgc3RydWN0dXJlcworICovCitzdGF0aWMgdm9pZCBfX2luaXQKK3V2X3RhYmxlX2Jhc2VzX2ZpbmlzaChpbnQgYmxhZGUsIGludCBub2RlLCBpbnQgY3VyX2NwdSwKKwkJICAgICAgc3RydWN0IGJhdV9jb250cm9sICpiYXVfdGFibGVzcCwKKwkJICAgICAgc3RydWN0IGJhdV9kZXNjICphZHApCit7CisJc3RydWN0IGJhdV9jb250cm9sICpiY3A7CisJaW50IGk7CisKKwlmb3IgKGkgPSBjdXJfY3B1OyBpIDwgY3VyX2NwdSArIHV2X2JsYWRlX25yX3Bvc3NpYmxlX2NwdXMoYmxhZGUpOyBpKyspIHsKKwkJYmNwID0gKHN0cnVjdCBiYXVfY29udHJvbCAqKSZwZXJfY3B1KGJhdV9jb250cm9sLCBpKTsKKworCQliY3AtPmJhdV9tc2dfaGVhZAk9IGJhdV90YWJsZXNwLT52YV9xdWV1ZV9maXJzdDsKKwkJYmNwLT52YV9xdWV1ZV9maXJzdAk9IGJhdV90YWJsZXNwLT52YV9xdWV1ZV9maXJzdDsKKwkJYmNwLT52YV9xdWV1ZV9sYXN0CT0gYmF1X3RhYmxlc3AtPnZhX3F1ZXVlX2xhc3Q7CisJCWJjcC0+d2F0Y2hpbmcJCT0gYmF1X3RhYmxlc3AtPndhdGNoaW5nOworCQliY3AtPm1zZ19zdGF0dXNlcwk9IGJhdV90YWJsZXNwLT5tc2dfc3RhdHVzZXM7CisJCWJjcC0+ZGVzY3JpcHRvcl9iYXNlCT0gYWRwOworCX0KK30KKworLyoKKyAqIGluaXRpYWxpemUgdGhlIHNlbmRpbmcgc2lkZSdzIHNlbmRpbmcgYnVmZmVycworICovCitzdGF0aWMgc3RydWN0IGJhdV9kZXNjICogX19pbml0Cit1dl9hY3RpdmF0aW9uX2Rlc2NyaXB0b3JfaW5pdChpbnQgbm9kZSwgaW50IHBub2RlKQoreworCWludCBpOworCXVuc2lnbmVkIGxvbmcgcGE7CisJdW5zaWduZWQgbG9uZyBtOworCXVuc2lnbmVkIGxvbmcgbjsKKwl1bnNpZ25lZCBsb25nIG1tcl9pbWFnZTsKKwlzdHJ1Y3QgYmF1X2Rlc2MgKmFkcDsKKwlzdHJ1Y3QgYmF1X2Rlc2MgKmFkMjsKKworCWFkcCA9IChzdHJ1Y3QgYmF1X2Rlc2MgKikKKwkgICAga21hbGxvY19ub2RlKDE2Mzg0LCBHRlBfS0VSTkVMLCBub2RlKTsKKwlCVUdfT04oIWFkcCk7CisKKwlwYSA9IF9fcGEoKHVuc2lnbmVkIGxvbmcpYWRwKTsKKwluID0gcGEgPj4gdXZfbnNoaWZ0OworCW0gPSBwYSAmIHV2X21tYXNrOworCisJbW1yX2ltYWdlID0gdXZfcmVhZF9nbG9iYWxfbW1yNjQocG5vZGUsIFVWSF9MQl9CQVVfU0JfREVTQ1JJUFRPUl9CQVNFKTsKKwlpZiAobW1yX2ltYWdlKSB7CisJCXV2X3dyaXRlX2dsb2JhbF9tbXI2NChwbm9kZSwgKHVuc2lnbmVkIGxvbmcpCisJCQkJICAgICAgVVZIX0xCX0JBVV9TQl9ERVNDUklQVE9SX0JBU0UsCisJCQkJICAgICAgKG4gPDwgVVZfREVTQ19CQVNFX1BOT0RFX1NISUZUIHwgbSkpOworCX0KKworCWZvciAoaSA9IDAsIGFkMiA9IGFkcDsgaSA8IFVWX0FDVElWQVRJT05fREVTQ1JJUFRPUl9TSVpFOyBpKyssIGFkMisrKSB7CisJCW1lbXNldChhZDIsIDAsIHNpemVvZihzdHJ1Y3QgYmF1X2Rlc2MpKTsKKwkJYWQyLT5oZWFkZXIuc3dfYWNrX2ZsYWcgPSAxOworCQlhZDItPmhlYWRlci5iYXNlX2Rlc3Rfbm9kZWlkID0KKwkJICAgIHV2X2JsYWRlX3RvX3Bub2RlKHV2X2NwdV90b19ibGFkZV9pZCgwKSk7CisJCWFkMi0+aGVhZGVyLmNvbW1hbmQgPSBVVl9ORVRfRU5EUE9JTlRfSU5URDsKKwkJYWQyLT5oZWFkZXIuaW50X2JvdGggPSAxOworCQkvKgorCQkgKiBhbGwgb3RoZXJzIG5lZWQgdG8gYmUgc2V0IHRvIHplcm86CisJCSAqICAgZmFpcm5lc3MgY2hhaW5pbmcgbXVsdGlsZXZlbCBjb3VudCByZXBsaWVkX3RvCisJCSAqLworCX0KKwlyZXR1cm4gYWRwOworfQorCisvKgorICogaW5pdGlhbGl6ZSB0aGUgZGVzdGluYXRpb24gc2lkZSdzIHJlY2VpdmluZyBidWZmZXJzCisgKi8KK3N0YXRpYyBzdHJ1Y3QgYmF1X3BheWxvYWRfcXVldWVfZW50cnkgKiBfX2luaXQKK3V2X3BheWxvYWRfcXVldWVfaW5pdChpbnQgbm9kZSwgaW50IHBub2RlLCBzdHJ1Y3QgYmF1X2NvbnRyb2wgKmJhdV90YWJsZXNwKQoreworCXN0cnVjdCBiYXVfcGF5bG9hZF9xdWV1ZV9lbnRyeSAqcHFwOworCWNoYXIgKmNwOworCisJcHFwID0gKHN0cnVjdCBiYXVfcGF5bG9hZF9xdWV1ZV9lbnRyeSAqKSBrbWFsbG9jX25vZGUoCisJCShERVNUX1FfU0laRSArIDEpICogc2l6ZW9mKHN0cnVjdCBiYXVfcGF5bG9hZF9xdWV1ZV9lbnRyeSksCisJCUdGUF9LRVJORUwsIG5vZGUpOworCUJVR19PTighcHFwKTsKKworCWNwID0gKGNoYXIgKilwcXAgKyAzMTsKKwlwcXAgPSAoc3RydWN0IGJhdV9wYXlsb2FkX3F1ZXVlX2VudHJ5ICopKCgodW5zaWduZWQgbG9uZyljcCA+PiA1KSA8PCA1KTsKKwliYXVfdGFibGVzcC0+dmFfcXVldWVfZmlyc3QgPSBwcXA7CisJdXZfd3JpdGVfZ2xvYmFsX21tcjY0KHBub2RlLAorCQkJICAgICAgVVZIX0xCX0JBVV9JTlREX1BBWUxPQURfUVVFVUVfRklSU1QsCisJCQkgICAgICAoKHVuc2lnbmVkIGxvbmcpcG5vZGUgPDwKKwkJCSAgICAgICBVVl9QQVlMT0FEUV9QTk9ERV9TSElGVCkgfAorCQkJICAgICAgdXZfcGh5c25vZGVhZGRyKHBxcCkpOworCXV2X3dyaXRlX2dsb2JhbF9tbXI2NChwbm9kZSwgVVZIX0xCX0JBVV9JTlREX1BBWUxPQURfUVVFVUVfVEFJTCwKKwkJCSAgICAgIHV2X3BoeXNub2RlYWRkcihwcXApKTsKKwliYXVfdGFibGVzcC0+dmFfcXVldWVfbGFzdCA9IHBxcCArIChERVNUX1FfU0laRSAtIDEpOworCXV2X3dyaXRlX2dsb2JhbF9tbXI2NChwbm9kZSwgVVZIX0xCX0JBVV9JTlREX1BBWUxPQURfUVVFVUVfTEFTVCwKKwkJCSAgICAgICh1bnNpZ25lZCBsb25nKQorCQkJICAgICAgdXZfcGh5c25vZGVhZGRyKGJhdV90YWJsZXNwLT52YV9xdWV1ZV9sYXN0KSk7CisJbWVtc2V0KHBxcCwgMCwgc2l6ZW9mKHN0cnVjdCBiYXVfcGF5bG9hZF9xdWV1ZV9lbnRyeSkgKiBERVNUX1FfU0laRSk7CisKKwlyZXR1cm4gcHFwOworfQorCisvKgorICogSW5pdGlhbGl6YXRpb24gb2YgZWFjaCBVViBibGFkZSdzIHN0cnVjdHVyZXMKKyAqLworc3RhdGljIGludCBfX2luaXQgdXZfaW5pdF9ibGFkZShpbnQgYmxhZGUsIGludCBub2RlLCBpbnQgY3VyX2NwdSkKK3sKKwlpbnQgcG5vZGU7CisJdW5zaWduZWQgbG9uZyBwYTsKKwl1bnNpZ25lZCBsb25nIGFwaWNpZDsKKwlzdHJ1Y3QgYmF1X2Rlc2MgKmFkcDsKKwlzdHJ1Y3QgYmF1X3BheWxvYWRfcXVldWVfZW50cnkgKnBxcDsKKwlzdHJ1Y3QgYmF1X2NvbnRyb2wgKmJhdV90YWJsZXNwOworCisJYmF1X3RhYmxlc3AgPSB1dl90YWJsZV9iYXNlc19pbml0KGJsYWRlLCBub2RlKTsKKwlwbm9kZSA9IHV2X2JsYWRlX3RvX3Bub2RlKGJsYWRlKTsKKwlhZHAgPSB1dl9hY3RpdmF0aW9uX2Rlc2NyaXB0b3JfaW5pdChub2RlLCBwbm9kZSk7CisJcHFwID0gdXZfcGF5bG9hZF9xdWV1ZV9pbml0KG5vZGUsIHBub2RlLCBiYXVfdGFibGVzcCk7CisJdXZfdGFibGVfYmFzZXNfZmluaXNoKGJsYWRlLCBub2RlLCBjdXJfY3B1LCBiYXVfdGFibGVzcCwgYWRwKTsKKwkvKgorCSAqIHRoZSBiZWxvdyBpbml0aWFsaXphdGlvbiBjYW4ndCBiZSBpbiBmaXJtd2FyZSBiZWNhdXNlIHRoZQorCSAqIG1lc3NhZ2luZyBJUlEgd2lsbCBiZSBkZXRlcm1pbmVkIGJ5IHRoZSBPUworCSAqLworCWFwaWNpZCA9IHBlcl9jcHUoeDg2X2NwdV90b19hcGljaWQsIGN1cl9jcHUpOworCXBhID0gdXZfcmVhZF9nbG9iYWxfbW1yNjQocG5vZGUsIFVWSF9CQVVfREFUQV9DT05GSUcpOworCWlmICgocGEgJiAweGZmKSAhPSBVVl9CQVVfTUVTU0FHRSkgeworCQl1dl93cml0ZV9nbG9iYWxfbW1yNjQocG5vZGUsIFVWSF9CQVVfREFUQV9DT05GSUcsCisJCQkJICAgICAgKChhcGljaWQgPDwgMzIpIHwgVVZfQkFVX01FU1NBR0UpKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBJbml0aWFsaXphdGlvbiBvZiBCQVUtcmVsYXRlZCBzdHJ1Y3R1cmVzCisgKi8KK3N0YXRpYyBpbnQgX19pbml0IHV2X2JhdV9pbml0KHZvaWQpCit7CisJaW50IGJsYWRlOworCWludCBub2RlOworCWludCBuYmxhZGVzOworCWludCBsYXN0X2JsYWRlOworCWludCBjdXJfY3B1ID0gMDsKKworCWlmICghaXNfdXZfc3lzdGVtKCkpCisJCXJldHVybiAwOworCisJdXZfYmF1X3JldHJ5X2xpbWl0ID0gMTsKKwl1dl9uc2hpZnQgPSB1dl9odWJfaW5mby0+bl92YWw7CisJdXZfbW1hc2sgPSAoMVVMIDw8IHV2X2h1Yl9pbmZvLT5uX3ZhbCkgLSAxOworCW5ibGFkZXMgPSAwOworCWxhc3RfYmxhZGUgPSAtMTsKKwlmb3JfZWFjaF9vbmxpbmVfbm9kZShub2RlKSB7CisJCWJsYWRlID0gdXZfbm9kZV90b19ibGFkZV9pZChub2RlKTsKKwkJaWYgKGJsYWRlID09IGxhc3RfYmxhZGUpCisJCQljb250aW51ZTsKKwkJbGFzdF9ibGFkZSA9IGJsYWRlOworCQluYmxhZGVzKys7CisJfQorCXV2X2JhdV90YWJsZV9iYXNlcyA9IChzdHJ1Y3QgYmF1X2NvbnRyb2wgKiopCisJICAgIGttYWxsb2MobmJsYWRlcyAqIHNpemVvZihzdHJ1Y3QgYmF1X2NvbnRyb2wgKiksIEdGUF9LRVJORUwpOworCUJVR19PTighdXZfYmF1X3RhYmxlX2Jhc2VzKTsKKworCWxhc3RfYmxhZGUgPSAtMTsKKwlmb3JfZWFjaF9vbmxpbmVfbm9kZShub2RlKSB7CisJCWJsYWRlID0gdXZfbm9kZV90b19ibGFkZV9pZChub2RlKTsKKwkJaWYgKGJsYWRlID09IGxhc3RfYmxhZGUpCisJCQljb250aW51ZTsKKwkJbGFzdF9ibGFkZSA9IGJsYWRlOworCQl1dl9pbml0X2JsYWRlKGJsYWRlLCBub2RlLCBjdXJfY3B1KTsKKwkJY3VyX2NwdSArPSB1dl9ibGFkZV9ucl9wb3NzaWJsZV9jcHVzKGJsYWRlKTsKKwl9CisJc2V0X2ludHJfZ2F0ZShVVl9CQVVfTUVTU0FHRSwgdXZfYmF1X21lc3NhZ2VfaW50cjEpOworCXV2X2VuYWJsZV90aW1lb3V0cygpOworCisJcmV0dXJuIDA7Cit9CitfX2luaXRjYWxsKHV2X2JhdV9pbml0KTsKK19faW5pdGNhbGwodXZfcHRjX2luaXQpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3RyYW1wb2xpbmUuYyBiL2FyY2gveDg2L2tlcm5lbC90cmFtcG9saW5lLmMKaW5kZXggYWJiZjE5OS4uMTEwNmZhYyAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL3RyYW1wb2xpbmUuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvdHJhbXBvbGluZS5jCkBAIC0yLDcgKzIsNyBAQAogCiAjaW5jbHVkZSA8YXNtL3RyYW1wb2xpbmUuaD4KIAotLyogcmVhZHkgZm9yIHg4Nl82NCwgbm8gaGFybSBmb3IgeDg2LCBzaW5jZSBpdCB3aWxsIG92ZXJ3cml0ZSBhZnRlciBhbGxvYyAqLworLyogcmVhZHkgZm9yIHg4Nl82NCBhbmQgeDg2ICovCiB1bnNpZ25lZCBjaGFyICp0cmFtcG9saW5lX2Jhc2UgPSBfX3ZhKFRSQU1QT0xJTkVfQkFTRSk7CiAKIC8qCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvdHJhcHNfMzIuYyBiL2FyY2gveDg2L2tlcm5lbC90cmFwc18zMi5jCmluZGV4IDA4ZDc1MmQuLjhhNzY4OTcgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC90cmFwc18zMi5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC90cmFwc18zMi5jCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqICBDb3B5cmlnaHQgKEMpIDE5OTEsIDE5OTIgIExpbnVzIFRvcnZhbGRzCisgKiAgQ29weXJpZ2h0IChDKSAyMDAwLCAyMDAxLCAyMDAyIEFuZGkgS2xlZW4sIFN1U0UgTGFicwogICoKICAqICBQZW50aXVtIElJSSBGWFNSLCBTU0Ugc3VwcG9ydAogICoJR2FyZXRoIEh1Z2hlcyA8Z2FyZXRoQHZhbGludXguY29tPiwgTWF5IDIwMDAKQEAgLTYwLDggKzYxLDYgQEAKIAogI2luY2x1ZGUgIm1hY2hfdHJhcHMuaCIKIAotaW50IHBhbmljX29uX3VucmVjb3ZlcmVkX25taTsKLQogREVDTEFSRV9CSVRNQVAodXNlZF92ZWN0b3JzLCBOUl9WRUNUT1JTKTsKIEVYUE9SVF9TWU1CT0xfR1BMKHVzZWRfdmVjdG9ycyk7CiAKQEAgLTk4LDE5ICs5NywyMiBAQAogYXNtbGlua2FnZSB2b2lkIHNwdXJpb3VzX2ludGVycnVwdF9idWcodm9pZCk7CiBhc21saW5rYWdlIHZvaWQgbWFjaGluZV9jaGVjayh2b2lkKTsKIAoraW50IHBhbmljX29uX3VucmVjb3ZlcmVkX25taTsKIGludCBrc3RhY2tfZGVwdGhfdG9fcHJpbnQgPSAyNDsKIHN0YXRpYyB1bnNpZ25lZCBpbnQgY29kZV9ieXRlcyA9IDY0Oworc3RhdGljIGludCBpZ25vcmVfbm1pczsKK3N0YXRpYyBpbnQgZGllX2NvdW50ZXI7CiAKIHZvaWQgcHJpbnRrX2FkZHJlc3ModW5zaWduZWQgbG9uZyBhZGRyZXNzLCBpbnQgcmVsaWFibGUpCiB7CiAjaWZkZWYgQ09ORklHX0tBTExTWU1TCi0JY2hhciBuYW1lYnVmW0tTWU1fTkFNRV9MRU5dOwogCXVuc2lnbmVkIGxvbmcgb2Zmc2V0ID0gMDsKIAl1bnNpZ25lZCBsb25nIHN5bXNpemU7CiAJY29uc3QgY2hhciAqc3ltbmFtZTsKLQljaGFyIHJlbGlhYls0XSA9ICIiOwotCWNoYXIgKmRlbGltID0gIjoiOwogCWNoYXIgKm1vZG5hbWU7CisJY2hhciAqZGVsaW0gPSAiOiI7CisJY2hhciBuYW1lYnVmW0tTWU1fTkFNRV9MRU5dOworCWNoYXIgcmVsaWFiWzRdID0gIiI7CiAKIAlzeW1uYW1lID0ga2FsbHN5bXNfbG9va3VwKGFkZHJlc3MsICZzeW1zaXplLCAmb2Zmc2V0LAogCQkJCQkmbW9kbmFtZSwgbmFtZWJ1Zik7CkBAIC0xMzAsMjIgKzEzMiwyMyBAQAogI2VuZGlmCiB9CiAKLXN0YXRpYyBpbmxpbmUgaW50IHZhbGlkX3N0YWNrX3B0cihzdHJ1Y3QgdGhyZWFkX2luZm8gKnRpbmZvLCB2b2lkICpwLCB1bnNpZ25lZCBzaXplKQorc3RhdGljIGlubGluZSBpbnQgdmFsaWRfc3RhY2tfcHRyKHN0cnVjdCB0aHJlYWRfaW5mbyAqdGluZm8sCisJCQl2b2lkICpwLCB1bnNpZ25lZCBpbnQgc2l6ZSkKIHsKLQlyZXR1cm4JcCA+ICh2b2lkICopdGluZm8gJiYKLQkJcCA8PSAodm9pZCAqKXRpbmZvICsgVEhSRUFEX1NJWkUgLSBzaXplOworCXZvaWQgKnQgPSB0aW5mbzsKKwlyZXR1cm4JcCA+IHQgJiYgcCA8PSB0ICsgVEhSRUFEX1NJWkUgLSBzaXplOwogfQogCiAvKiBUaGUgZm9ybSBvZiB0aGUgdG9wIG9mIHRoZSBmcmFtZSBvbiB0aGUgc3RhY2sgKi8KIHN0cnVjdCBzdGFja19mcmFtZSB7Ci0Jc3RydWN0IHN0YWNrX2ZyYW1lCSpuZXh0X2ZyYW1lOwotCXVuc2lnbmVkIGxvbmcJCXJldHVybl9hZGRyZXNzOworCXN0cnVjdCBzdGFja19mcmFtZSAqbmV4dF9mcmFtZTsKKwl1bnNpZ25lZCBsb25nIHJldHVybl9hZGRyZXNzOwogfTsKIAogc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nCiBwcmludF9jb250ZXh0X3N0YWNrKHN0cnVjdCB0aHJlYWRfaW5mbyAqdGluZm8sCi0JCSAgICB1bnNpZ25lZCBsb25nICpzdGFjaywgdW5zaWduZWQgbG9uZyBicCwKLQkJICAgIGNvbnN0IHN0cnVjdCBzdGFja3RyYWNlX29wcyAqb3BzLCB2b2lkICpkYXRhKQorCQl1bnNpZ25lZCBsb25nICpzdGFjaywgdW5zaWduZWQgbG9uZyBicCwKKwkJY29uc3Qgc3RydWN0IHN0YWNrdHJhY2Vfb3BzICpvcHMsIHZvaWQgKmRhdGEpCiB7CiAJc3RydWN0IHN0YWNrX2ZyYW1lICpmcmFtZSA9IChzdHJ1Y3Qgc3RhY2tfZnJhbWUgKilicDsKIApAQCAtMTY3LDggKzE3MCw2IEBACiAJcmV0dXJuIGJwOwogfQogCi0jZGVmaW5lIE1TRyhtc2cpCQlvcHMtPndhcm5pbmcoZGF0YSwgbXNnKQotCiB2b2lkIGR1bXBfdHJhY2Uoc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrLCBzdHJ1Y3QgcHRfcmVncyAqcmVncywKIAkJdW5zaWduZWQgbG9uZyAqc3RhY2ssIHVuc2lnbmVkIGxvbmcgYnAsCiAJCWNvbnN0IHN0cnVjdCBzdGFja3RyYWNlX29wcyAqb3BzLCB2b2lkICpkYXRhKQpAQCAtMTc4LDcgKzE3OSw2IEBACiAKIAlpZiAoIXN0YWNrKSB7CiAJCXVuc2lnbmVkIGxvbmcgZHVtbXk7Ci0KIAkJc3RhY2sgPSAmZHVtbXk7CiAJCWlmICh0YXNrICE9IGN1cnJlbnQpCiAJCQlzdGFjayA9ICh1bnNpZ25lZCBsb25nICopdGFzay0+dGhyZWFkLnNwOwpAQCAtMTk2LDcgKzE5Niw3IEBACiAJfQogI2VuZGlmCiAKLQl3aGlsZSAoMSkgeworCWZvciAoOzspIHsKIAkJc3RydWN0IHRocmVhZF9pbmZvICpjb250ZXh0OwogCiAJCWNvbnRleHQgPSAoc3RydWN0IHRocmVhZF9pbmZvICopCkBAIC0yNDgsMTAgKzI0OCwxMCBAQAogfQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IHN0YWNrdHJhY2Vfb3BzIHByaW50X3RyYWNlX29wcyA9IHsKLQkud2FybmluZwkJPSBwcmludF90cmFjZV93YXJuaW5nLAotCS53YXJuaW5nX3N5bWJvbAkJPSBwcmludF90cmFjZV93YXJuaW5nX3N5bWJvbCwKLQkuc3RhY2sJCQk9IHByaW50X3RyYWNlX3N0YWNrLAotCS5hZGRyZXNzCQk9IHByaW50X3RyYWNlX2FkZHJlc3MsCisJLndhcm5pbmcgPSBwcmludF90cmFjZV93YXJuaW5nLAorCS53YXJuaW5nX3N5bWJvbCA9IHByaW50X3RyYWNlX3dhcm5pbmdfc3ltYm9sLAorCS5zdGFjayA9IHByaW50X3RyYWNlX3N0YWNrLAorCS5hZGRyZXNzID0gcHJpbnRfdHJhY2VfYWRkcmVzcywKIH07CiAKIHN0YXRpYyB2b2lkCkBAIC0zNTEsMTUgKzM1MSwxNCBAQAogCQlwcmludGsoS0VSTl9FTUVSRyAiQ29kZTogIik7CiAKIAkJaXAgPSAodTggKilyZWdzLT5pcCAtIGNvZGVfcHJvbG9ndWU7Ci0JCWlmIChpcCA8ICh1OCAqKVBBR0VfT0ZGU0VUIHx8Ci0JCQlwcm9iZV9rZXJuZWxfYWRkcmVzcyhpcCwgYykpIHsKKwkJaWYgKGlwIDwgKHU4ICopUEFHRV9PRkZTRVQgfHwgcHJvYmVfa2VybmVsX2FkZHJlc3MoaXAsIGMpKSB7CiAJCQkvKiB0cnkgc3RhcnRpbmcgYXQgRUlQICovCiAJCQlpcCA9ICh1OCAqKXJlZ3MtPmlwOwogCQkJY29kZV9sZW4gPSBjb2RlX2xlbiAtIGNvZGVfcHJvbG9ndWUgKyAxOwogCQl9CiAJCWZvciAoaSA9IDA7IGkgPCBjb2RlX2xlbjsgaSsrLCBpcCsrKSB7CiAJCQlpZiAoaXAgPCAodTggKilQQUdFX09GRlNFVCB8fAotCQkJCXByb2JlX2tlcm5lbF9hZGRyZXNzKGlwLCBjKSkgeworCQkJCQlwcm9iZV9rZXJuZWxfYWRkcmVzcyhpcCwgYykpIHsKIAkJCQlwcmludGsoIiBCYWQgRUlQIHZhbHVlLiIpOwogCQkJCWJyZWFrOwogCQkJfQpAQCAtMzg0LDggKzM4Myw2IEBACiAJcmV0dXJuIHVkMiA9PSAweDBiMGY7CiB9CiAKLXN0YXRpYyBpbnQgZGllX2NvdW50ZXI7Ci0KIGludCBfX2twcm9iZXMgX19kaWUoY29uc3QgY2hhciAqc3RyLCBzdHJ1Y3QgcHRfcmVncyAqcmVncywgbG9uZyBlcnIpCiB7CiAJdW5zaWduZWQgc2hvcnQgc3M7CkBAIC00MDIsMjYgKzM5OSwyMiBAQAogCXByaW50aygiREVCVUdfUEFHRUFMTE9DIik7CiAjZW5kaWYKIAlwcmludGsoIlxuIik7Ci0KIAlpZiAobm90aWZ5X2RpZShESUVfT09QUywgc3RyLCByZWdzLCBlcnIsCi0JCQljdXJyZW50LT50aHJlYWQudHJhcF9ubywgU0lHU0VHVikgIT0gTk9USUZZX1NUT1ApIHsKKwkJCWN1cnJlbnQtPnRocmVhZC50cmFwX25vLCBTSUdTRUdWKSA9PSBOT1RJRllfU1RPUCkKKwkJcmV0dXJuIDE7CiAKLQkJc2hvd19yZWdpc3RlcnMocmVncyk7Ci0JCS8qIEV4ZWN1dGl2ZSBzdW1tYXJ5IGluIGNhc2UgdGhlIG9vcHMgc2Nyb2xsZWQgYXdheSAqLwotCQlzcCA9ICh1bnNpZ25lZCBsb25nKSAoJnJlZ3MtPnNwKTsKLQkJc2F2ZXNlZ21lbnQoc3MsIHNzKTsKLQkJaWYgKHVzZXJfbW9kZShyZWdzKSkgewotCQkJc3AgPSByZWdzLT5zcDsKLQkJCXNzID0gcmVncy0+c3MgJiAweGZmZmY7Ci0JCX0KLQkJcHJpbnRrKEtFUk5fRU1FUkcgIkVJUDogWzwlMDhseD5dICIsIHJlZ3MtPmlwKTsKLQkJcHJpbnRfc3ltYm9sKCIlcyIsIHJlZ3MtPmlwKTsKLQkJcHJpbnRrKCIgU1M6RVNQICUwNHg6JTA4bHhcbiIsIHNzLCBzcCk7Ci0KLQkJcmV0dXJuIDA7CisJc2hvd19yZWdpc3RlcnMocmVncyk7CisJLyogRXhlY3V0aXZlIHN1bW1hcnkgaW4gY2FzZSB0aGUgb29wcyBzY3JvbGxlZCBhd2F5ICovCisJc3AgPSAodW5zaWduZWQgbG9uZykgKCZyZWdzLT5zcCk7CisJc2F2ZXNlZ21lbnQoc3MsIHNzKTsKKwlpZiAodXNlcl9tb2RlKHJlZ3MpKSB7CisJCXNwID0gcmVncy0+c3A7CisJCXNzID0gcmVncy0+c3MgJiAweGZmZmY7CiAJfQotCi0JcmV0dXJuIDE7CisJcHJpbnRrKEtFUk5fRU1FUkcgIkVJUDogWzwlMDhseD5dICIsIHJlZ3MtPmlwKTsKKwlwcmludF9zeW1ib2woIiVzIiwgcmVncy0+aXApOworCXByaW50aygiIFNTOkVTUCAlMDR4OiUwOGx4XG4iLCBzcywgc3ApOworCXJldHVybiAwOwogfQogCiAvKgpAQCAtNTQ2LDcgKzUzOSw3IEBACiB7CQkJCQkJCQkJXAogCXRyYWNlX2hhcmRpcnFzX2ZpeHVwKCk7CQkJCQkJXAogCWlmIChub3RpZnlfZGllKERJRV9UUkFQLCBzdHIsIHJlZ3MsIGVycm9yX2NvZGUsIHRyYXBuciwgc2lnbnIpCVwKLQkJCQkJCT09IE5PVElGWV9TVE9QKQkJXAorCQkJCQkJCT09IE5PVElGWV9TVE9QKQlcCiAJCXJldHVybjsJCQkJCQkJXAogCWRvX3RyYXAodHJhcG5yLCBzaWduciwgc3RyLCAwLCByZWdzLCBlcnJvcl9jb2RlLCBOVUxMKTsJCVwKIH0KQEAgLTU2Miw3ICs1NTUsNyBAQAogCWluZm8uc2lfY29kZSA9IHNpY29kZTsJCQkJCQlcCiAJaW5mby5zaV9hZGRyID0gKHZvaWQgX191c2VyICopc2lhZGRyOwkJCQlcCiAJaWYgKG5vdGlmeV9kaWUoRElFX1RSQVAsIHN0ciwgcmVncywgZXJyb3JfY29kZSwgdHJhcG5yLCBzaWducikJXAotCQkJCQkJPT0gTk9USUZZX1NUT1ApCQlcCisJCQkJCQkJPT0gTk9USUZZX1NUT1ApCVwKIAkJcmV0dXJuOwkJCQkJCQlcCiAJZG9fdHJhcCh0cmFwbnIsIHNpZ25yLCBzdHIsIDAsIHJlZ3MsIGVycm9yX2NvZGUsICZpbmZvKTsJXAogfQpAQCAtNTcxLDcgKzU2NCw3IEBACiB2b2lkIGRvXyMjbmFtZShzdHJ1Y3QgcHRfcmVncyAqcmVncywgbG9uZyBlcnJvcl9jb2RlKQkJCVwKIHsJCQkJCQkJCQlcCiAJaWYgKG5vdGlmeV9kaWUoRElFX1RSQVAsIHN0ciwgcmVncywgZXJyb3JfY29kZSwgdHJhcG5yLCBzaWducikJXAotCQkJCQkJPT0gTk9USUZZX1NUT1ApCQlcCisJCQkJCQkJPT0gTk9USUZZX1NUT1ApCVwKIAkJcmV0dXJuOwkJCQkJCQlcCiAJZG9fdHJhcCh0cmFwbnIsIHNpZ25yLCBzdHIsIDEsIHJlZ3MsIGVycm9yX2NvZGUsIE5VTEwpOwkJXAogfQpAQCAtNTg2LDI3ICs1NzksMjkgQEAKIAlpbmZvLnNpX2FkZHIgPSAodm9pZCBfX3VzZXIgKilzaWFkZHI7CQkJCVwKIAl0cmFjZV9oYXJkaXJxc19maXh1cCgpOwkJCQkJCVwKIAlpZiAobm90aWZ5X2RpZShESUVfVFJBUCwgc3RyLCByZWdzLCBlcnJvcl9jb2RlLCB0cmFwbnIsIHNpZ25yKQlcCi0JCQkJCQk9PSBOT1RJRllfU1RPUCkJCVwKKwkJCQkJCQk9PSBOT1RJRllfU1RPUCkJXAogCQlyZXR1cm47CQkJCQkJCVwKIAlkb190cmFwKHRyYXBuciwgc2lnbnIsIHN0ciwgMSwgcmVncywgZXJyb3JfY29kZSwgJmluZm8pOwlcCiB9CiAKLURPX1ZNODZfRVJST1JfSU5GTygwLCBTSUdGUEUsICAiZGl2aWRlIGVycm9yIiwgZGl2aWRlX2Vycm9yLCBGUEVfSU5URElWLCByZWdzLT5pcCkKK0RPX1ZNODZfRVJST1JfSU5GTygwLCBTSUdGUEUsICJkaXZpZGUgZXJyb3IiLCBkaXZpZGVfZXJyb3IsIEZQRV9JTlRESVYsIHJlZ3MtPmlwKQogI2lmbmRlZiBDT05GSUdfS1BST0JFUwogRE9fVk04Nl9FUlJPUigzLCBTSUdUUkFQLCAiaW50MyIsIGludDMpCiAjZW5kaWYKIERPX1ZNODZfRVJST1IoNCwgU0lHU0VHViwgIm92ZXJmbG93Iiwgb3ZlcmZsb3cpCiBET19WTTg2X0VSUk9SKDUsIFNJR1NFR1YsICJib3VuZHMiLCBib3VuZHMpCi1ET19FUlJPUl9JTkZPKDYsIFNJR0lMTCwgICJpbnZhbGlkIG9wY29kZSIsIGludmFsaWRfb3AsIElMTF9JTExPUE4sIHJlZ3MtPmlwLCAwKQotRE9fRVJST1IoOSwgU0lHRlBFLCAgImNvcHJvY2Vzc29yIHNlZ21lbnQgb3ZlcnJ1biIsIGNvcHJvY2Vzc29yX3NlZ21lbnRfb3ZlcnJ1bikKK0RPX0VSUk9SX0lORk8oNiwgU0lHSUxMLCAiaW52YWxpZCBvcGNvZGUiLCBpbnZhbGlkX29wLCBJTExfSUxMT1BOLCByZWdzLT5pcCwgMCkKK0RPX0VSUk9SKDksIFNJR0ZQRSwgImNvcHJvY2Vzc29yIHNlZ21lbnQgb3ZlcnJ1biIsIGNvcHJvY2Vzc29yX3NlZ21lbnRfb3ZlcnJ1bikKIERPX0VSUk9SKDEwLCBTSUdTRUdWLCAiaW52YWxpZCBUU1MiLCBpbnZhbGlkX1RTUykKLURPX0VSUk9SKDExLCBTSUdCVVMsICAic2VnbWVudCBub3QgcHJlc2VudCIsIHNlZ21lbnRfbm90X3ByZXNlbnQpCi1ET19FUlJPUigxMiwgU0lHQlVTLCAgInN0YWNrIHNlZ21lbnQiLCBzdGFja19zZWdtZW50KQorRE9fRVJST1IoMTEsIFNJR0JVUywgInNlZ21lbnQgbm90IHByZXNlbnQiLCBzZWdtZW50X25vdF9wcmVzZW50KQorRE9fRVJST1IoMTIsIFNJR0JVUywgInN0YWNrIHNlZ21lbnQiLCBzdGFja19zZWdtZW50KQogRE9fRVJST1JfSU5GTygxNywgU0lHQlVTLCAiYWxpZ25tZW50IGNoZWNrIiwgYWxpZ25tZW50X2NoZWNrLCBCVVNfQURSQUxOLCAwLCAwKQogRE9fRVJST1JfSU5GTygzMiwgU0lHSUxMLCAiaXJldCBleGNlcHRpb24iLCBpcmV0X2Vycm9yLCBJTExfQkFEU1RLLCAwLCAxKQogCi12b2lkIF9fa3Byb2JlcyBkb19nZW5lcmFsX3Byb3RlY3Rpb24oc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIGxvbmcgZXJyb3JfY29kZSkKK3ZvaWQgX19rcHJvYmVzCitkb19nZW5lcmFsX3Byb3RlY3Rpb24oc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIGxvbmcgZXJyb3JfY29kZSkKIHsKKwlzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzazsKIAlzdHJ1Y3QgdGhyZWFkX3N0cnVjdCAqdGhyZWFkOwogCXN0cnVjdCB0c3Nfc3RydWN0ICp0c3M7CiAJaW50IGNwdTsKQEAgLTY0NywyMyArNjQyLDI0IEBACiAJaWYgKHJlZ3MtPmZsYWdzICYgWDg2X1ZNX01BU0spCiAJCWdvdG8gZ3BfaW5fdm04NjsKIAorCXRzayA9IGN1cnJlbnQ7CiAJaWYgKCF1c2VyX21vZGUocmVncykpCiAJCWdvdG8gZ3BfaW5fa2VybmVsOwogCi0JY3VycmVudC0+dGhyZWFkLmVycm9yX2NvZGUgPSBlcnJvcl9jb2RlOwotCWN1cnJlbnQtPnRocmVhZC50cmFwX25vID0gMTM7CisJdHNrLT50aHJlYWQuZXJyb3JfY29kZSA9IGVycm9yX2NvZGU7CisJdHNrLT50aHJlYWQudHJhcF9ubyA9IDEzOwogCi0JaWYgKHNob3dfdW5oYW5kbGVkX3NpZ25hbHMgJiYgdW5oYW5kbGVkX3NpZ25hbChjdXJyZW50LCBTSUdTRUdWKSAmJgotCSAgICBwcmludGtfcmF0ZWxpbWl0KCkpIHsKKwlpZiAoc2hvd191bmhhbmRsZWRfc2lnbmFscyAmJiB1bmhhbmRsZWRfc2lnbmFsKHRzaywgU0lHU0VHVikgJiYKKwkJCXByaW50a19yYXRlbGltaXQoKSkgewogCQlwcmludGsoS0VSTl9JTkZPCi0JCSAgICAiJXNbJWRdIGdlbmVyYWwgcHJvdGVjdGlvbiBpcDolbHggc3A6JWx4IGVycm9yOiVseCIsCi0JCSAgICBjdXJyZW50LT5jb21tLCB0YXNrX3BpZF9ucihjdXJyZW50KSwKLQkJICAgIHJlZ3MtPmlwLCByZWdzLT5zcCwgZXJyb3JfY29kZSk7CisJCQkiJXNbJWRdIGdlbmVyYWwgcHJvdGVjdGlvbiBpcDolbHggc3A6JWx4IGVycm9yOiVseCIsCisJCQl0c2stPmNvbW0sIHRhc2tfcGlkX25yKHRzayksCisJCQlyZWdzLT5pcCwgcmVncy0+c3AsIGVycm9yX2NvZGUpOwogCQlwcmludF92bWFfYWRkcigiIGluICIsIHJlZ3MtPmlwKTsKIAkJcHJpbnRrKCJcbiIpOwogCX0KIAotCWZvcmNlX3NpZyhTSUdTRUdWLCBjdXJyZW50KTsKKwlmb3JjZV9zaWcoU0lHU0VHViwgdHNrKTsKIAlyZXR1cm47CiAKIGdwX2luX3ZtODY6CkBAIC02NzIsMTQgKzY2OCwxNSBAQAogCXJldHVybjsKIAogZ3BfaW5fa2VybmVsOgotCWlmICghZml4dXBfZXhjZXB0aW9uKHJlZ3MpKSB7Ci0JCWN1cnJlbnQtPnRocmVhZC5lcnJvcl9jb2RlID0gZXJyb3JfY29kZTsKLQkJY3VycmVudC0+dGhyZWFkLnRyYXBfbm8gPSAxMzsKLQkJaWYgKG5vdGlmeV9kaWUoRElFX0dQRiwgImdlbmVyYWwgcHJvdGVjdGlvbiBmYXVsdCIsIHJlZ3MsCisJaWYgKGZpeHVwX2V4Y2VwdGlvbihyZWdzKSkKKwkJcmV0dXJuOworCisJdHNrLT50aHJlYWQuZXJyb3JfY29kZSA9IGVycm9yX2NvZGU7CisJdHNrLT50aHJlYWQudHJhcF9ubyA9IDEzOworCWlmIChub3RpZnlfZGllKERJRV9HUEYsICJnZW5lcmFsIHByb3RlY3Rpb24gZmF1bHQiLCByZWdzLAogCQkJCWVycm9yX2NvZGUsIDEzLCBTSUdTRUdWKSA9PSBOT1RJRllfU1RPUCkKLQkJCXJldHVybjsKLQkJZGllKCJnZW5lcmFsIHByb3RlY3Rpb24gZmF1bHQiLCByZWdzLCBlcnJvcl9jb2RlKTsKLQl9CisJCXJldHVybjsKKwlkaWUoImdlbmVyYWwgcHJvdGVjdGlvbiBmYXVsdCIsIHJlZ3MsIGVycm9yX2NvZGUpOwogfQogCiBzdGF0aWMgbm90cmFjZSBfX2twcm9iZXMgdm9pZApAQCAtNzU2LDkgKzc1Myw5IEBACiAKIHN0YXRpYyBERUZJTkVfU1BJTkxPQ0sobm1pX3ByaW50X2xvY2spOwogCi12b2lkIG5vdHJhY2UgX19rcHJvYmVzIGRpZV9ubWkoc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIGNvbnN0IGNoYXIgKm1zZykKK3ZvaWQgbm90cmFjZSBfX2twcm9iZXMgZGllX25taShjaGFyICpzdHIsIHN0cnVjdCBwdF9yZWdzICpyZWdzLCBpbnQgZG9fcGFuaWMpCiB7Ci0JaWYgKG5vdGlmeV9kaWUoRElFX05NSVdBVENIRE9HLCBtc2csIHJlZ3MsIDAsIDIsIFNJR0lOVCkgPT0gTk9USUZZX1NUT1ApCisJaWYgKG5vdGlmeV9kaWUoRElFX05NSVdBVENIRE9HLCBzdHIsIHJlZ3MsIDAsIDIsIFNJR0lOVCkgPT0gTk9USUZZX1NUT1ApCiAJCXJldHVybjsKIAogCXNwaW5fbG9jaygmbm1pX3ByaW50X2xvY2spOwpAQCAtNzY3LDEwICs3NjQsMTIgQEAKIAkqIHRvIGdldCBhIG1lc3NhZ2Ugb3V0OgogCSovCiAJYnVzdF9zcGlubG9ja3MoMSk7Ci0JcHJpbnRrKEtFUk5fRU1FUkcgIiVzIiwgbXNnKTsKKwlwcmludGsoS0VSTl9FTUVSRyAiJXMiLCBzdHIpOwogCXByaW50aygiIG9uIENQVSVkLCBpcCAlMDhseCwgcmVnaXN0ZXJzOlxuIiwKIAkJc21wX3Byb2Nlc3Nvcl9pZCgpLCByZWdzLT5pcCk7CiAJc2hvd19yZWdpc3RlcnMocmVncyk7CisJaWYgKGRvX3BhbmljKQorCQlwYW5pYygiTm9uIG1hc2thYmxlIGludGVycnVwdCIpOwogCWNvbnNvbGVfc2lsZW50KCk7CiAJc3Bpbl91bmxvY2soJm5taV9wcmludF9sb2NrKTsKIAlidXN0X3NwaW5sb2NrcygwKTsKQEAgLTc5MCwxNCArNzg5LDE3IEBACiBzdGF0aWMgbm90cmFjZSBfX2twcm9iZXMgdm9pZCBkZWZhdWx0X2RvX25taShzdHJ1Y3QgcHRfcmVncyAqcmVncykKIHsKIAl1bnNpZ25lZCBjaGFyIHJlYXNvbiA9IDA7CisJaW50IGNwdTsKIAotCS8qIE9ubHkgdGhlIEJTUCBnZXRzIGV4dGVybmFsIE5NSXMgZnJvbSB0aGUgc3lzdGVtOiAqLwotCWlmICghc21wX3Byb2Nlc3Nvcl9pZCgpKQorCWNwdSA9IHNtcF9wcm9jZXNzb3JfaWQoKTsKKworCS8qIE9ubHkgdGhlIEJTUCBnZXRzIGV4dGVybmFsIE5NSXMgZnJvbSB0aGUgc3lzdGVtLiAqLworCWlmICghY3B1KQogCQlyZWFzb24gPSBnZXRfbm1pX3JlYXNvbigpOwogCiAJaWYgKCEocmVhc29uICYgMHhjMCkpIHsKIAkJaWYgKG5vdGlmeV9kaWUoRElFX05NSV9JUEksICJubWlfaXBpIiwgcmVncywgcmVhc29uLCAyLCBTSUdJTlQpCi0JCQkJCQkJPT0gTk9USUZZX1NUT1ApCisJCQkJCQkJCT09IE5PVElGWV9TVE9QKQogCQkJcmV0dXJuOwogI2lmZGVmIENPTkZJR19YODZfTE9DQUxfQVBJQwogCQkvKgpAQCAtODA2LDcgKzgwOCw3IEBACiAJCSAqLwogCQlpZiAobm1pX3dhdGNoZG9nX3RpY2socmVncywgcmVhc29uKSkKIAkJCXJldHVybjsKLQkJaWYgKCFkb19ubWlfY2FsbGJhY2socmVncywgc21wX3Byb2Nlc3Nvcl9pZCgpKSkKKwkJaWYgKCFkb19ubWlfY2FsbGJhY2socmVncywgY3B1KSkKIAkJCXVua25vd25fbm1pX2Vycm9yKHJlYXNvbiwgcmVncyk7CiAjZWxzZQogCQl1bmtub3duX25taV9lcnJvcihyZWFzb24sIHJlZ3MpOwpAQCAtODE2LDYgKzgxOCw4IEBACiAJfQogCWlmIChub3RpZnlfZGllKERJRV9OTUksICJubWkiLCByZWdzLCByZWFzb24sIDIsIFNJR0lOVCkgPT0gTk9USUZZX1NUT1ApCiAJCXJldHVybjsKKworCS8qIEFLOiBmb2xsb3dpbmcgY2hlY2tzIHNlZW0gdG8gYmUgYnJva2VuIG9uIG1vZGVybiBjaGlwc2V0cy4gRklYTUUgKi8KIAlpZiAocmVhc29uICYgMHg4MCkKIAkJbWVtX3Bhcml0eV9lcnJvcihyZWFzb24sIHJlZ3MpOwogCWlmIChyZWFzb24gJiAweDQwKQpAQCAtODI3LDggKzgzMSw2IEBACiAJcmVhc3NlcnRfbm1pKCk7CiB9CiAKLXN0YXRpYyBpbnQgaWdub3JlX25taXM7Ci0KIG5vdHJhY2UgX19rcHJvYmVzIHZvaWQgZG9fbm1pKHN0cnVjdCBwdF9yZWdzICpyZWdzLCBsb25nIGVycm9yX2NvZGUpCiB7CiAJaW50IGNwdTsKQEAgLTkxMyw3ICs5MTUsNyBAQAogCXRzay0+dGhyZWFkLmRlYnVnY3RsbXNyID0gMDsKIAogCWlmIChub3RpZnlfZGllKERJRV9ERUJVRywgImRlYnVnIiwgcmVncywgY29uZGl0aW9uLCBlcnJvcl9jb2RlLAotCQkJCQlTSUdUUkFQKSA9PSBOT1RJRllfU1RPUCkKKwkJCQkJCVNJR1RSQVApID09IE5PVElGWV9TVE9QKQogCQlyZXR1cm47CiAJLyogSXQncyBzYWZlIHRvIGFsbG93IGlycSdzIGFmdGVyIERSNiBoYXMgYmVlbiBzYXZlZCAqLwogCWlmIChyZWdzLT5mbGFncyAmIFg4Nl9FRkxBR1NfSUYpCkBAIC05NzQsOSArOTc2LDggQEAKIHZvaWQgbWF0aF9lcnJvcih2b2lkIF9fdXNlciAqaXApCiB7CiAJc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrOwotCXVuc2lnbmVkIHNob3J0IGN3ZDsKLQl1bnNpZ25lZCBzaG9ydCBzd2Q7CiAJc2lnaW5mb190IGluZm87CisJdW5zaWduZWQgc2hvcnQgY3dkLCBzd2Q7CiAKIAkvKgogCSAqIFNhdmUgdGhlIGluZm8gZm9yIHRoZSBleGNlcHRpb24gaGFuZGxlciBhbmQgY2xlYXIgdGhlIGVycm9yLgpAQCAtOTk1LDcgKzk5Niw3IEBACiAJICogQzEgcmVnIHlvdSBuZWVkIGluIGNhc2Ugb2YgYSBzdGFjayBmYXVsdCwgMHgwNDAgaXMgdGhlIHN0YWNrCiAJICogZmF1bHQgYml0LiAgV2Ugc2hvdWxkIG9ubHkgYmUgdGFraW5nIG9uZSBleGNlcHRpb24gYXQgYSB0aW1lLAogCSAqIHNvIGlmIHRoaXMgY29tYmluYXRpb24gZG9lc24ndCBwcm9kdWNlIGFueSBzaW5nbGUgZXhjZXB0aW9uLAotCSAqIHRoZW4gd2UgaGF2ZSBhIGJhZCBwcm9ncmFtIHRoYXQgaXNuJ3Qgc3luY3Jvbml6aW5nIGl0cyBGUFUgdXNhZ2UKKwkgKiB0aGVuIHdlIGhhdmUgYSBiYWQgcHJvZ3JhbSB0aGF0IGlzbid0IHN5bmNocm9uaXppbmcgaXRzIEZQVSB1c2FnZQogCSAqIGFuZCBpdCB3aWxsIHN1ZmZlciB0aGUgY29uc2VxdWVuY2VzIHNpbmNlIHdlIHdvbid0IGJlIGFibGUgdG8KIAkgKiBmdWxseSByZXByb2R1Y2UgdGhlIGNvbnRleHQgb2YgdGhlIGV4Y2VwdGlvbgogCSAqLwpAQCAtMTAwNCw3ICsxMDA1LDcgQEAKIAlzd2l0Y2ggKHN3ZCAmIH5jd2QgJiAweDNmKSB7CiAJY2FzZSAweDAwMDogLyogTm8gdW5tYXNrZWQgZXhjZXB0aW9uICovCiAJCXJldHVybjsKLQlkZWZhdWx0OiAgICAvKiBNdWx0aXBsZSBleGNlcHRpb25zICovCisJZGVmYXVsdDogLyogTXVsdGlwbGUgZXhjZXB0aW9ucyAqLwogCQlicmVhazsKIAljYXNlIDB4MDAxOiAvKiBJbnZhbGlkIE9wICovCiAJCS8qCkBAIC0xMDQwLDggKzEwNDEsOCBAQAogc3RhdGljIHZvaWQgc2ltZF9tYXRoX2Vycm9yKHZvaWQgX191c2VyICppcCkKIHsKIAlzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2s7Ci0JdW5zaWduZWQgc2hvcnQgbXhjc3I7CiAJc2lnaW5mb190IGluZm87CisJdW5zaWduZWQgc2hvcnQgbXhjc3I7CiAKIAkvKgogCSAqIFNhdmUgdGhlIGluZm8gZm9yIHRoZSBleGNlcHRpb24gaGFuZGxlciBhbmQgY2xlYXIgdGhlIGVycm9yLgpAQCAtMTExNyw3ICsxMTE4LDcgQEAKIAogdW5zaWduZWQgbG9uZyBwYXRjaF9lc3BmaXhfZGVzYyh1bnNpZ25lZCBsb25nIHVlc3AsIHVuc2lnbmVkIGxvbmcga2VzcCkKIHsKLQlzdHJ1Y3QgZGVzY19zdHJ1Y3QgKmdkdCA9IF9fZ2V0X2NwdV92YXIoZ2R0X3BhZ2UpLmdkdDsKKwlzdHJ1Y3QgZGVzY19zdHJ1Y3QgKmdkdCA9IGdldF9jcHVfZ2R0X3RhYmxlKHNtcF9wcm9jZXNzb3JfaWQoKSk7CiAJdW5zaWduZWQgbG9uZyBiYXNlID0gKGtlc3AgLSB1ZXNwKSAmIC1USFJFQURfU0laRTsKIAl1bnNpZ25lZCBsb25nIG5ld19rZXNwID0ga2VzcCAtIGJhc2U7CiAJdW5zaWduZWQgbG9uZyBsaW1fcGFnZXMgPSAobmV3X2tlc3AgfCAoVEhSRUFEX1NJWkUgLSAxKSkgPj4gUEFHRV9TSElGVDsKQEAgLTExOTYsMTkgKzExOTcsMTYgQEAKIAllYXJseV9pb3VubWFwKHAsIDQpOwogI2VuZGlmCiAKLSNpZmRlZiBDT05GSUdfWDg2X0xPQ0FMX0FQSUMKLQlpbml0X2FwaWNfbWFwcGluZ3MoKTsKLSNlbmRpZgotCXNldF90cmFwX2dhdGUoMCwgICZkaXZpZGVfZXJyb3IpOwotCXNldF9pbnRyX2dhdGUoMSwgICZkZWJ1Zyk7Ci0Jc2V0X2ludHJfZ2F0ZSgyLCAgJm5taSk7Ci0Jc2V0X3N5c3RlbV9pbnRyX2dhdGUoMywgJmludDMpOyAvKiBpbnQzLzQgY2FuIGJlIGNhbGxlZCBmcm9tIGFsbCAqLwotCXNldF9zeXN0ZW1fZ2F0ZSg0LCAmb3ZlcmZsb3cpOwotCXNldF90cmFwX2dhdGUoNSwgICZib3VuZHMpOwotCXNldF90cmFwX2dhdGUoNiwgICZpbnZhbGlkX29wKTsKLQlzZXRfdHJhcF9nYXRlKDcsICAmZGV2aWNlX25vdF9hdmFpbGFibGUpOwotCXNldF90YXNrX2dhdGUoOCwgIEdEVF9FTlRSWV9ET1VCTEVGQVVMVF9UU1MpOwotCXNldF90cmFwX2dhdGUoOSwgICZjb3Byb2Nlc3Nvcl9zZWdtZW50X292ZXJydW4pOworCXNldF90cmFwX2dhdGUoMCwgJmRpdmlkZV9lcnJvcik7CisJc2V0X2ludHJfZ2F0ZSgxLCAmZGVidWcpOworCXNldF9pbnRyX2dhdGUoMiwgJm5taSk7CisJc2V0X3N5c3RlbV9pbnRyX2dhdGUoMywgJmludDMpOyAvKiBpbnQzIGNhbiBiZSBjYWxsZWQgZnJvbSBhbGwgKi8KKwlzZXRfc3lzdGVtX2dhdGUoNCwgJm92ZXJmbG93KTsgLyogaW50NCBjYW4gYmUgY2FsbGVkIGZyb20gYWxsICovCisJc2V0X3RyYXBfZ2F0ZSg1LCAmYm91bmRzKTsKKwlzZXRfdHJhcF9nYXRlKDYsICZpbnZhbGlkX29wKTsKKwlzZXRfdHJhcF9nYXRlKDcsICZkZXZpY2Vfbm90X2F2YWlsYWJsZSk7CisJc2V0X3Rhc2tfZ2F0ZSg4LCBHRFRfRU5UUllfRE9VQkxFRkFVTFRfVFNTKTsKKwlzZXRfdHJhcF9nYXRlKDksICZjb3Byb2Nlc3Nvcl9zZWdtZW50X292ZXJydW4pOwogCXNldF90cmFwX2dhdGUoMTAsICZpbnZhbGlkX1RTUyk7CiAJc2V0X3RyYXBfZ2F0ZSgxMSwgJnNlZ21lbnRfbm90X3ByZXNlbnQpOwogCXNldF90cmFwX2dhdGUoMTIsICZzdGFja19zZWdtZW50KTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC90cmFwc182NC5jIGIvYXJjaC94ODYva2VybmVsL3RyYXBzXzY0LmMKaW5kZXggYWRmZjc2ZS4uMjY5NmE2OCAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL3RyYXBzXzY0LmMKKysrIGIvYXJjaC94ODYva2VybmVsL3RyYXBzXzY0LmMKQEAgLTEwLDQ5ICsxMCw0OSBAQAogICogJ1RyYXBzLmMnIGhhbmRsZXMgaGFyZHdhcmUgdHJhcHMgYW5kIGZhdWx0cyBhZnRlciB3ZSBoYXZlIHNhdmVkIHNvbWUKICAqIHN0YXRlIGluICdlbnRyeS5TJy4KICAqLwotI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+Ci0jaW5jbHVkZSA8bGludXgva2VybmVsLmg+Ci0jaW5jbHVkZSA8bGludXgvc3RyaW5nLmg+Ci0jaW5jbHVkZSA8bGludXgvZXJybm8uaD4KLSNpbmNsdWRlIDxsaW51eC9wdHJhY2UuaD4KLSNpbmNsdWRlIDxsaW51eC90aW1lci5oPgotI2luY2x1ZGUgPGxpbnV4L21tLmg+Ci0jaW5jbHVkZSA8bGludXgvaW5pdC5oPgotI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+Ci0jaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGVwYXJhbS5oPgogI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgogI2luY2x1ZGUgPGxpbnV4L2thbGxzeW1zLmg+Ci0jaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+Ci0jaW5jbHVkZSA8bGludXgvbW9kdWxlcGFyYW0uaD4KLSNpbmNsdWRlIDxsaW51eC9ubWkuaD4KKyNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L2twcm9iZXMuaD4KLSNpbmNsdWRlIDxsaW51eC9rZXhlYy5oPgotI2luY2x1ZGUgPGxpbnV4L3Vud2luZC5oPgogI2luY2x1ZGUgPGxpbnV4L3VhY2Nlc3MuaD4KLSNpbmNsdWRlIDxsaW51eC9idWcuaD4KLSNpbmNsdWRlIDxsaW51eC9rZGVidWcuaD4KICNpbmNsdWRlIDxsaW51eC91dHNuYW1lLmg+Ci0KLSNpbmNsdWRlIDxtYWNoX3RyYXBzLmg+CisjaW5jbHVkZSA8bGludXgva2RlYnVnLmg+CisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvcHRyYWNlLmg+CisjaW5jbHVkZSA8bGludXgvc3RyaW5nLmg+CisjaW5jbHVkZSA8bGludXgvdW53aW5kLmg+CisjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KKyNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgorI2luY2x1ZGUgPGxpbnV4L2tleGVjLmg+CisjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KKyNpbmNsdWRlIDxsaW51eC90aW1lci5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9idWcuaD4KKyNpbmNsdWRlIDxsaW51eC9ubWkuaD4KKyNpbmNsdWRlIDxsaW51eC9tbS5oPgogCiAjaWYgZGVmaW5lZChDT05GSUdfRURBQykKICNpbmNsdWRlIDxsaW51eC9lZGFjLmg+CiAjZW5kaWYKIAotI2luY2x1ZGUgPGFzbS9zeXN0ZW0uaD4KLSNpbmNsdWRlIDxhc20vaW8uaD4KLSNpbmNsdWRlIDxhc20vYXRvbWljLmg+CisjaW5jbHVkZSA8YXNtL3N0YWNrdHJhY2UuaD4KKyNpbmNsdWRlIDxhc20vcHJvY2Vzc29yLmg+CiAjaW5jbHVkZSA8YXNtL2RlYnVncmVnLmg+CisjaW5jbHVkZSA8YXNtL2F0b21pYy5oPgorI2luY2x1ZGUgPGFzbS9zeXN0ZW0uaD4KKyNpbmNsdWRlIDxhc20vdW53aW5kLmg+CiAjaW5jbHVkZSA8YXNtL2Rlc2MuaD4KICNpbmNsdWRlIDxhc20vaTM4Ny5oPgotI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3IuaD4KLSNpbmNsdWRlIDxhc20vdW53aW5kLmg+Ci0jaW5jbHVkZSA8YXNtL3NtcC5oPgotI2luY2x1ZGUgPGFzbS9wZ2FsbG9jLmg+Ci0jaW5jbHVkZSA8YXNtL3BkYS5oPgotI2luY2x1ZGUgPGFzbS9wcm90by5oPgogI2luY2x1ZGUgPGFzbS9ubWkuaD4KLSNpbmNsdWRlIDxhc20vc3RhY2t0cmFjZS5oPgorI2luY2x1ZGUgPGFzbS9zbXAuaD4KKyNpbmNsdWRlIDxhc20vaW8uaD4KKyNpbmNsdWRlIDxhc20vcGdhbGxvYy5oPgorI2luY2x1ZGUgPGFzbS9wcm90by5oPgorI2luY2x1ZGUgPGFzbS9wZGEuaD4KKworI2luY2x1ZGUgPG1hY2hfdHJhcHMuaD4KIAogYXNtbGlua2FnZSB2b2lkIGRpdmlkZV9lcnJvcih2b2lkKTsKIGFzbWxpbmthZ2Ugdm9pZCBkZWJ1Zyh2b2lkKTsKQEAgLTcxLDEyICs3MSwxNSBAQAogYXNtbGlua2FnZSB2b2lkIHBhZ2VfZmF1bHQodm9pZCk7CiBhc21saW5rYWdlIHZvaWQgY29wcm9jZXNzb3JfZXJyb3Iodm9pZCk7CiBhc21saW5rYWdlIHZvaWQgc2ltZF9jb3Byb2Nlc3Nvcl9lcnJvcih2b2lkKTsKLWFzbWxpbmthZ2Ugdm9pZCByZXNlcnZlZCh2b2lkKTsKIGFzbWxpbmthZ2Ugdm9pZCBhbGlnbm1lbnRfY2hlY2sodm9pZCk7Ci1hc21saW5rYWdlIHZvaWQgbWFjaGluZV9jaGVjayh2b2lkKTsKIGFzbWxpbmthZ2Ugdm9pZCBzcHVyaW91c19pbnRlcnJ1cHRfYnVnKHZvaWQpOworYXNtbGlua2FnZSB2b2lkIG1hY2hpbmVfY2hlY2sodm9pZCk7CiAKK2ludCBwYW5pY19vbl91bnJlY292ZXJlZF9ubWk7CitpbnQga3N0YWNrX2RlcHRoX3RvX3ByaW50ID0gMTI7CiBzdGF0aWMgdW5zaWduZWQgaW50IGNvZGVfYnl0ZXMgPSA2NDsKK3N0YXRpYyBpbnQgaWdub3JlX25taXM7CitzdGF0aWMgaW50IGRpZV9jb3VudGVyOwogCiBzdGF0aWMgaW5saW5lIHZvaWQgY29uZGl0aW9uYWxfc3RpKHN0cnVjdCBwdF9yZWdzICpyZWdzKQogewpAQCAtMTAwLDM0ICsxMDMsOSBAQAogCWRlY19wcmVlbXB0X2NvdW50KCk7CiB9CiAKLWludCBrc3RhY2tfZGVwdGhfdG9fcHJpbnQgPSAxMjsKLQogdm9pZCBwcmludGtfYWRkcmVzcyh1bnNpZ25lZCBsb25nIGFkZHJlc3MsIGludCByZWxpYWJsZSkKIHsKLSNpZmRlZiBDT05GSUdfS0FMTFNZTVMKLQl1bnNpZ25lZCBsb25nIG9mZnNldCA9IDAsIHN5bXNpemU7Ci0JY29uc3QgY2hhciAqc3ltbmFtZTsKLQljaGFyICptb2RuYW1lOwotCWNoYXIgKmRlbGltID0gIjoiOwotCWNoYXIgbmFtZWJ1ZltLU1lNX05BTUVfTEVOXTsKLQljaGFyIHJlbGlhYls0XSA9ICIiOwotCi0Jc3ltbmFtZSA9IGthbGxzeW1zX2xvb2t1cChhZGRyZXNzLCAmc3ltc2l6ZSwgJm9mZnNldCwKLQkJCQkJJm1vZG5hbWUsIG5hbWVidWYpOwotCWlmICghc3ltbmFtZSkgewotCQlwcmludGsoIiBbPCUwMTZseD5dXG4iLCBhZGRyZXNzKTsKLQkJcmV0dXJuOwotCX0KLQlpZiAoIXJlbGlhYmxlKQotCQlzdHJjcHkocmVsaWFiLCAiPyAiKTsKLQotCWlmICghbW9kbmFtZSkKLQkJbW9kbmFtZSA9IGRlbGltID0gIiI7Ci0JcHJpbnRrKCIgWzwlMDE2bHg+XSAlcyVzJXMlcyVzKzB4JWx4LzB4JWx4XG4iLAotCQlhZGRyZXNzLCByZWxpYWIsIGRlbGltLCBtb2RuYW1lLCBkZWxpbSwgc3ltbmFtZSwgb2Zmc2V0LCBzeW1zaXplKTsKLSNlbHNlCi0JcHJpbnRrKCIgWzwlMDE2bHg+XVxuIiwgYWRkcmVzcyk7Ci0jZW5kaWYKKwlwcmludGsoIiBbPCUwMTZseD5dICVzJXBTXG4iLCBhZGRyZXNzLCByZWxpYWJsZSA/ICIiOiAiPyAiLCAodm9pZCAqKSBhZGRyZXNzKTsKIH0KIAogc3RhdGljIHVuc2lnbmVkIGxvbmcgKmluX2V4Y2VwdGlvbl9zdGFjayh1bnNpZ25lZCBjcHUsIHVuc2lnbmVkIGxvbmcgc3RhY2ssCkBAIC0yMDQsOCArMTgyLDYgQEAKIAlyZXR1cm4gTlVMTDsKIH0KIAotI2RlZmluZSBNU0codHh0KSBvcHMtPndhcm5pbmcoZGF0YSwgdHh0KQotCiAvKgogICogeDg2LTY0IGNhbiBoYXZlIHVwIHRvIHRocmVlIGtlcm5lbCBzdGFja3M6IAogICogcHJvY2VzcyBzdGFjawpAQCAtMjMyLDExICsyMDgsMTEgQEAKIAl1bnNpZ25lZCBsb25nIHJldHVybl9hZGRyZXNzOwogfTsKIAotCi1zdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgcHJpbnRfY29udGV4dF9zdGFjayhzdHJ1Y3QgdGhyZWFkX2luZm8gKnRpbmZvLAotCQkJCXVuc2lnbmVkIGxvbmcgKnN0YWNrLCB1bnNpZ25lZCBsb25nIGJwLAotCQkJCWNvbnN0IHN0cnVjdCBzdGFja3RyYWNlX29wcyAqb3BzLCB2b2lkICpkYXRhLAotCQkJCXVuc2lnbmVkIGxvbmcgKmVuZCkKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZworcHJpbnRfY29udGV4dF9zdGFjayhzdHJ1Y3QgdGhyZWFkX2luZm8gKnRpbmZvLAorCQl1bnNpZ25lZCBsb25nICpzdGFjaywgdW5zaWduZWQgbG9uZyBicCwKKwkJY29uc3Qgc3RydWN0IHN0YWNrdHJhY2Vfb3BzICpvcHMsIHZvaWQgKmRhdGEsCisJCXVuc2lnbmVkIGxvbmcgKmVuZCkKIHsKIAlzdHJ1Y3Qgc3RhY2tfZnJhbWUgKmZyYW1lID0gKHN0cnVjdCBzdGFja19mcmFtZSAqKWJwOwogCkBAIC0yNTgsNyArMjM0LDcgQEAKIAlyZXR1cm4gYnA7CiB9CiAKLXZvaWQgZHVtcF90cmFjZShzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzaywgc3RydWN0IHB0X3JlZ3MgKnJlZ3MsCit2b2lkIGR1bXBfdHJhY2Uoc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrLCBzdHJ1Y3QgcHRfcmVncyAqcmVncywKIAkJdW5zaWduZWQgbG9uZyAqc3RhY2ssIHVuc2lnbmVkIGxvbmcgYnAsCiAJCWNvbnN0IHN0cnVjdCBzdGFja3RyYWNlX29wcyAqb3BzLCB2b2lkICpkYXRhKQogewpAQCAtMjY3LDM2ICsyNDMsMzQgQEAKIAl1bnNpZ25lZCB1c2VkID0gMDsKIAlzdHJ1Y3QgdGhyZWFkX2luZm8gKnRpbmZvOwogCi0JaWYgKCF0c2spCi0JCXRzayA9IGN1cnJlbnQ7Ci0JdGluZm8gPSB0YXNrX3RocmVhZF9pbmZvKHRzayk7CisJaWYgKCF0YXNrKQorCQl0YXNrID0gY3VycmVudDsKIAogCWlmICghc3RhY2spIHsKIAkJdW5zaWduZWQgbG9uZyBkdW1teTsKIAkJc3RhY2sgPSAmZHVtbXk7Ci0JCWlmICh0c2sgJiYgdHNrICE9IGN1cnJlbnQpCi0JCQlzdGFjayA9ICh1bnNpZ25lZCBsb25nICopdHNrLT50aHJlYWQuc3A7CisJCWlmICh0YXNrICYmIHRhc2sgIT0gY3VycmVudCkKKwkJCXN0YWNrID0gKHVuc2lnbmVkIGxvbmcgKil0YXNrLT50aHJlYWQuc3A7CiAJfQogCiAjaWZkZWYgQ09ORklHX0ZSQU1FX1BPSU5URVIKIAlpZiAoIWJwKSB7Ci0JCWlmICh0c2sgPT0gY3VycmVudCkgeworCQlpZiAodGFzayA9PSBjdXJyZW50KSB7CiAJCQkvKiBHcmFiIGJwIHJpZ2h0IGZyb20gb3VyIHJlZ3MgKi8KLQkJCWFzbSgibW92cSAlJXJicCwgJTAiIDogIj1yIiAoYnApOik7CisJCQlhc20oIm1vdnEgJSVyYnAsICUwIiA6ICI9ciIgKGJwKSA6KTsKIAkJfSBlbHNlIHsKIAkJCS8qIGJwIGlzIHRoZSBsYXN0IHJlZyBwdXNoZWQgYnkgc3dpdGNoX3RvICovCi0JCQlicCA9ICoodW5zaWduZWQgbG9uZyAqKSB0c2stPnRocmVhZC5zcDsKKwkJCWJwID0gKih1bnNpZ25lZCBsb25nICopIHRhc2stPnRocmVhZC5zcDsKIAkJfQogCX0KICNlbmRpZgogCi0KLQogCS8qCiAJICogUHJpbnQgZnVuY3Rpb24gY2FsbCBlbnRyaWVzIGluIGFsbCBzdGFja3MsIHN0YXJ0aW5nIGF0IHRoZQogCSAqIGN1cnJlbnQgc3RhY2sgYWRkcmVzcy4gSWYgdGhlIHN0YWNrcyBjb25zaXN0IG9mIG5lc3RlZAogCSAqIGV4Y2VwdGlvbnMKIAkgKi8KKwl0aW5mbyA9IHRhc2tfdGhyZWFkX2luZm8odGFzayk7CiAJZm9yICg7OykgewogCQljaGFyICppZDsKIAkJdW5zaWduZWQgbG9uZyAqZXN0YWNrX2VuZDsKQEAgLTM4MSwxOCArMzU1LDE3IEBACiAJLmFkZHJlc3MgPSBwcmludF90cmFjZV9hZGRyZXNzLAogfTsKIAotdm9pZAotc2hvd190cmFjZShzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzaywgc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIHVuc2lnbmVkIGxvbmcgKnN0YWNrLAotCQl1bnNpZ25lZCBsb25nIGJwKQordm9pZCBzaG93X3RyYWNlKHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzaywgc3RydWN0IHB0X3JlZ3MgKnJlZ3MsCisJCXVuc2lnbmVkIGxvbmcgKnN0YWNrLCB1bnNpZ25lZCBsb25nIGJwKQogewogCXByaW50aygiXG5DYWxsIFRyYWNlOlxuIik7Ci0JZHVtcF90cmFjZSh0c2ssIHJlZ3MsIHN0YWNrLCBicCwgJnByaW50X3RyYWNlX29wcywgTlVMTCk7CisJZHVtcF90cmFjZSh0YXNrLCByZWdzLCBzdGFjaywgYnAsICZwcmludF90cmFjZV9vcHMsIE5VTEwpOwogCXByaW50aygiXG4iKTsKIH0KIAogc3RhdGljIHZvaWQKLV9zaG93X3N0YWNrKHN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrLCBzdHJ1Y3QgcHRfcmVncyAqcmVncywgdW5zaWduZWQgbG9uZyAqc3AsCi0JCQkJCQkJdW5zaWduZWQgbG9uZyBicCkKK19zaG93X3N0YWNrKHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzaywgc3RydWN0IHB0X3JlZ3MgKnJlZ3MsCisJCXVuc2lnbmVkIGxvbmcgKnNwLCB1bnNpZ25lZCBsb25nIGJwKQogewogCXVuc2lnbmVkIGxvbmcgKnN0YWNrOwogCWludCBpOwpAQCAtNDA0LDE0ICszNzcsMTQgQEAKIAkvLyBiYWNrIHRyYWNlIGZvciB0aGlzIGNwdS4KIAogCWlmIChzcCA9PSBOVUxMKSB7Ci0JCWlmICh0c2spCi0JCQlzcCA9ICh1bnNpZ25lZCBsb25nICopdHNrLT50aHJlYWQuc3A7CisJCWlmICh0YXNrKQorCQkJc3AgPSAodW5zaWduZWQgbG9uZyAqKXRhc2stPnRocmVhZC5zcDsKIAkJZWxzZQogCQkJc3AgPSAodW5zaWduZWQgbG9uZyAqKSZzcDsKIAl9CiAKIAlzdGFjayA9IHNwOwotCWZvcihpPTA7IGkgPCBrc3RhY2tfZGVwdGhfdG9fcHJpbnQ7IGkrKykgeworCWZvciAoaSA9IDA7IGkgPCBrc3RhY2tfZGVwdGhfdG9fcHJpbnQ7IGkrKykgewogCQlpZiAoc3RhY2sgPj0gaXJxc3RhY2sgJiYgc3RhY2sgPD0gaXJxc3RhY2tfZW5kKSB7CiAJCQlpZiAoc3RhY2sgPT0gaXJxc3RhY2tfZW5kKSB7CiAJCQkJc3RhY2sgPSAodW5zaWduZWQgbG9uZyAqKSAoaXJxc3RhY2tfZW5kWy0xXSk7CkBAIC00MjYsMTIgKzM5OSwxMiBAQAogCQlwcmludGsoIiAlMDE2bHgiLCAqc3RhY2srKyk7CiAJCXRvdWNoX25taV93YXRjaGRvZygpOwogCX0KLQlzaG93X3RyYWNlKHRzaywgcmVncywgc3AsIGJwKTsKKwlzaG93X3RyYWNlKHRhc2ssIHJlZ3MsIHNwLCBicCk7CiB9CiAKLXZvaWQgc2hvd19zdGFjayhzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzaywgdW5zaWduZWQgbG9uZyAqIHNwKQordm9pZCBzaG93X3N0YWNrKHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzaywgdW5zaWduZWQgbG9uZyAqc3ApCiB7Ci0JX3Nob3dfc3RhY2sodHNrLCBOVUxMLCBzcCwgMCk7CisJX3Nob3dfc3RhY2sodGFzaywgTlVMTCwgc3AsIDApOwogfQogCiAvKgpAQCAtNDM5LDggKzQxMiw4IEBACiAgKi8KIHZvaWQgZHVtcF9zdGFjayh2b2lkKQogewotCXVuc2lnbmVkIGxvbmcgZHVtbXk7CiAJdW5zaWduZWQgbG9uZyBicCA9IDA7CisJdW5zaWduZWQgbG9uZyBzdGFjazsKIAogI2lmZGVmIENPTkZJR19GUkFNRV9QT0lOVEVSCiAJaWYgKCFicCkKQEAgLTQ1Miw3ICs0MjUsNyBAQAogCQlpbml0X3V0c25hbWUoKS0+cmVsZWFzZSwKIAkJKGludClzdHJjc3BuKGluaXRfdXRzbmFtZSgpLT52ZXJzaW9uLCAiICIpLAogCQlpbml0X3V0c25hbWUoKS0+dmVyc2lvbik7Ci0Jc2hvd190cmFjZShOVUxMLCBOVUxMLCAmZHVtbXksIGJwKTsKKwlzaG93X3RyYWNlKE5VTEwsIE5VTEwsICZzdGFjaywgYnApOwogfQogCiBFWFBPUlRfU1lNQk9MKGR1bXBfc3RhY2spOwpAQCAtNDYzLDEyICs0MzYsOCBAQAogCXVuc2lnbmVkIGxvbmcgc3A7CiAJY29uc3QgaW50IGNwdSA9IHNtcF9wcm9jZXNzb3JfaWQoKTsKIAlzdHJ1Y3QgdGFza19zdHJ1Y3QgKmN1ciA9IGNwdV9wZGEoY3B1KS0+cGN1cnJlbnQ7Ci0JdTggKmlwOwotCXVuc2lnbmVkIGludCBjb2RlX3Byb2xvZ3VlID0gY29kZV9ieXRlcyAqIDQzIC8gNjQ7Ci0JdW5zaWduZWQgaW50IGNvZGVfbGVuID0gY29kZV9ieXRlczsKIAogCXNwID0gcmVncy0+c3A7Ci0JaXAgPSAodTggKikgcmVncy0+aXAgLSBjb2RlX3Byb2xvZ3VlOwogCXByaW50aygiQ1BVICVkICIsIGNwdSk7CiAJX19zaG93X3JlZ3MocmVncyk7CiAJcHJpbnRrKCJQcm9jZXNzICVzIChwaWQ6ICVkLCB0aHJlYWRpbmZvICVwLCB0YXNrICVwKVxuIiwKQEAgLTQ3OSwxNSArNDQ4LDIxIEBACiAJICogdGltZSBvZiB0aGUgZmF1bHQuLgogCSAqLwogCWlmICghdXNlcl9tb2RlKHJlZ3MpKSB7CisJCXVuc2lnbmVkIGludCBjb2RlX3Byb2xvZ3VlID0gY29kZV9ieXRlcyAqIDQzIC8gNjQ7CisJCXVuc2lnbmVkIGludCBjb2RlX2xlbiA9IGNvZGVfYnl0ZXM7CiAJCXVuc2lnbmVkIGNoYXIgYzsKKwkJdTggKmlwOworCiAJCXByaW50aygiU3RhY2s6ICIpOwogCQlfc2hvd19zdGFjayhOVUxMLCByZWdzLCAodW5zaWduZWQgbG9uZyAqKXNwLCByZWdzLT5icCk7CiAJCXByaW50aygiXG4iKTsKIAogCQlwcmludGsoS0VSTl9FTUVSRyAiQ29kZTogIik7CisKKwkJaXAgPSAodTggKilyZWdzLT5pcCAtIGNvZGVfcHJvbG9ndWU7CiAJCWlmIChpcCA8ICh1OCAqKVBBR0VfT0ZGU0VUIHx8IHByb2JlX2tlcm5lbF9hZGRyZXNzKGlwLCBjKSkgewogCQkJLyogdHJ5IHN0YXJ0aW5nIGF0IFJJUCAqLwotCQkJaXAgPSAodTggKikgcmVncy0+aXA7CisJCQlpcCA9ICh1OCAqKXJlZ3MtPmlwOwogCQkJY29kZV9sZW4gPSBjb2RlX2xlbiAtIGNvZGVfcHJvbG9ndWUgKyAxOwogCQl9CiAJCWZvciAoaSA9IDA7IGkgPCBjb2RlX2xlbjsgaSsrLCBpcCsrKSB7CkBAIC01MDMsNyArNDc4LDcgQEAKIAkJfQogCX0KIAlwcmludGsoIlxuIik7Ci19CQorfQogCiBpbnQgaXNfdmFsaWRfYnVnYWRkcih1bnNpZ25lZCBsb25nIGlwKQogewpAQCAtNTYxLDEwICs1MzYsOSBAQAogCWRvX2V4aXQoc2lnbnIpOwogfQogCi1pbnQgX19rcHJvYmVzIF9fZGllKGNvbnN0IGNoYXIgKiBzdHIsIHN0cnVjdCBwdF9yZWdzICogcmVncywgbG9uZyBlcnIpCitpbnQgX19rcHJvYmVzIF9fZGllKGNvbnN0IGNoYXIgKnN0ciwgc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIGxvbmcgZXJyKQogewotCXN0YXRpYyBpbnQgZGllX2NvdW50ZXI7Ci0JcHJpbnRrKEtFUk5fRU1FUkcgIiVzOiAlMDRseCBbJXVdICIsIHN0ciwgZXJyICYgMHhmZmZmLCsrZGllX2NvdW50ZXIpOworCXByaW50ayhLRVJOX0VNRVJHICIlczogJTA0bHggWyV1XSAiLCBzdHIsIGVyciAmIDB4ZmZmZiwgKytkaWVfY291bnRlcik7CiAjaWZkZWYgQ09ORklHX1BSRUVNUFQKIAlwcmludGsoIlBSRUVNUFQgIik7CiAjZW5kaWYKQEAgLTU3NSw4ICs1NDksMTAgQEAKIAlwcmludGsoIkRFQlVHX1BBR0VBTExPQyIpOwogI2VuZGlmCiAJcHJpbnRrKCJcbiIpOwotCWlmIChub3RpZnlfZGllKERJRV9PT1BTLCBzdHIsIHJlZ3MsIGVyciwgY3VycmVudC0+dGhyZWFkLnRyYXBfbm8sIFNJR1NFR1YpID09IE5PVElGWV9TVE9QKQorCWlmIChub3RpZnlfZGllKERJRV9PT1BTLCBzdHIsIHJlZ3MsIGVyciwKKwkJCWN1cnJlbnQtPnRocmVhZC50cmFwX25vLCBTSUdTRUdWKSA9PSBOT1RJRllfU1RPUCkKIAkJcmV0dXJuIDE7CisKIAlzaG93X3JlZ2lzdGVycyhyZWdzKTsKIAlhZGRfdGFpbnQoVEFJTlRfRElFKTsKIAkvKiBFeGVjdXRpdmUgc3VtbWFyeSBpbiBjYXNlIHRoZSBvb3BzIHNjcm9sbGVkIGF3YXkgKi8KQEAgLTU4OCw3ICs1NjQsNyBAQAogCXJldHVybiAwOwogfQogCi12b2lkIGRpZShjb25zdCBjaGFyICogc3RyLCBzdHJ1Y3QgcHRfcmVncyAqIHJlZ3MsIGxvbmcgZXJyKQordm9pZCBkaWUoY29uc3QgY2hhciAqc3RyLCBzdHJ1Y3QgcHRfcmVncyAqcmVncywgbG9uZyBlcnIpCiB7CiAJdW5zaWduZWQgbG9uZyBmbGFncyA9IG9vcHNfYmVnaW4oKTsKIApAQCAtNjA1LDggKzU4MSw3IEBACiB7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAotCWlmIChub3RpZnlfZGllKERJRV9OTUlXQVRDSERPRywgc3RyLCByZWdzLCAwLCAyLCBTSUdJTlQpID09Ci0JICAgIE5PVElGWV9TVE9QKQorCWlmIChub3RpZnlfZGllKERJRV9OTUlXQVRDSERPRywgc3RyLCByZWdzLCAwLCAyLCBTSUdJTlQpID09IE5PVElGWV9TVE9QKQogCQlyZXR1cm47CiAKIAlmbGFncyA9IG9vcHNfYmVnaW4oKTsKQEAgLTYxNCw3ICs1ODksOSBAQAogCSAqIFdlIGFyZSBpbiB0cm91YmxlIGFueXdheSwgbGV0cyBhdCBsZWFzdCB0cnkKIAkgKiB0byBnZXQgYSBtZXNzYWdlIG91dC4KIAkgKi8KLQlwcmludGsoc3RyLCBzbXBfcHJvY2Vzc29yX2lkKCkpOworCXByaW50ayhLRVJOX0VNRVJHICIlcyIsIHN0cik7CisJcHJpbnRrKCIgb24gQ1BVJWQsIGlwICUwOGx4LCByZWdpc3RlcnM6XG4iLAorCQlzbXBfcHJvY2Vzc29yX2lkKCksIHJlZ3MtPmlwKTsKIAlzaG93X3JlZ2lzdGVycyhyZWdzKTsKIAlpZiAoa2V4ZWNfc2hvdWxkX2NyYXNoKGN1cnJlbnQpKQogCQljcmFzaF9rZXhlYyhyZWdzKTsKQEAgLTYyNiw0NCArNjAzLDQ0IEBACiAJZG9fZXhpdChTSUdCVVMpOwogfQogCi1zdGF0aWMgdm9pZCBfX2twcm9iZXMgZG9fdHJhcChpbnQgdHJhcG5yLCBpbnQgc2lnbnIsIGNoYXIgKnN0ciwKLQkJCSAgICAgIHN0cnVjdCBwdF9yZWdzICogcmVncywgbG9uZyBlcnJvcl9jb2RlLAotCQkJICAgICAgc2lnaW5mb190ICppbmZvKQorc3RhdGljIHZvaWQgX19rcHJvYmVzCitkb190cmFwKGludCB0cmFwbnIsIGludCBzaWduciwgY2hhciAqc3RyLCBzdHJ1Y3QgcHRfcmVncyAqcmVncywKKwlsb25nIGVycm9yX2NvZGUsIHNpZ2luZm9fdCAqaW5mbykKIHsKIAlzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzayA9IGN1cnJlbnQ7CiAKLQlpZiAodXNlcl9tb2RlKHJlZ3MpKSB7Ci0JCS8qCi0JCSAqIFdlIHdhbnQgZXJyb3JfY29kZSBhbmQgdHJhcF9ubyBzZXQgZm9yIHVzZXJzcGFjZQotCQkgKiBmYXVsdHMgYW5kIGtlcm5lbHNwYWNlIGZhdWx0cyB3aGljaCByZXN1bHQgaW4KLQkJICogZGllKCksIGJ1dCBub3Qga2VybmVsc3BhY2UgZmF1bHRzIHdoaWNoIGFyZSBmaXhlZAotCQkgKiB1cC4gIGRpZSgpIGdpdmVzIHRoZSBwcm9jZXNzIG5vIGNoYW5jZSB0byBoYW5kbGUKLQkJICogdGhlIHNpZ25hbCBhbmQgbm90aWNlIHRoZSBrZXJuZWwgZmF1bHQgaW5mb3JtYXRpb24sCi0JCSAqIHNvIHRoYXQgd29uJ3QgcmVzdWx0IGluIHBvbGx1dGluZyB0aGUgaW5mb3JtYXRpb24KLQkJICogYWJvdXQgcHJldmlvdXNseSBxdWV1ZWQsIGJ1dCBub3QgeWV0IGRlbGl2ZXJlZCwKLQkJICogZmF1bHRzLiAgU2VlIGFsc28gZG9fZ2VuZXJhbF9wcm90ZWN0aW9uIGJlbG93LgotCQkgKi8KLQkJdHNrLT50aHJlYWQuZXJyb3JfY29kZSA9IGVycm9yX2NvZGU7Ci0JCXRzay0+dGhyZWFkLnRyYXBfbm8gPSB0cmFwbnI7CisJaWYgKCF1c2VyX21vZGUocmVncykpCisJCWdvdG8ga2VybmVsX3RyYXA7CiAKLQkJaWYgKHNob3dfdW5oYW5kbGVkX3NpZ25hbHMgJiYgdW5oYW5kbGVkX3NpZ25hbCh0c2ssIHNpZ25yKSAmJgotCQkgICAgcHJpbnRrX3JhdGVsaW1pdCgpKSB7Ci0JCQlwcmludGsoS0VSTl9JTkZPCi0JCQkgICAgICAgIiVzWyVkXSB0cmFwICVzIGlwOiVseCBzcDolbHggZXJyb3I6JWx4IiwKLQkJCSAgICAgICB0c2stPmNvbW0sIHRzay0+cGlkLCBzdHIsCi0JCQkgICAgICAgcmVncy0+aXAsIHJlZ3MtPnNwLCBlcnJvcl9jb2RlKTsKLQkJCXByaW50X3ZtYV9hZGRyKCIgaW4gIiwgcmVncy0+aXApOwotCQkJcHJpbnRrKCJcbiIpOwotCQl9CisJLyoKKwkgKiBXZSB3YW50IGVycm9yX2NvZGUgYW5kIHRyYXBfbm8gc2V0IGZvciB1c2Vyc3BhY2UgZmF1bHRzIGFuZAorCSAqIGtlcm5lbHNwYWNlIGZhdWx0cyB3aGljaCByZXN1bHQgaW4gZGllKCksIGJ1dCBub3QKKwkgKiBrZXJuZWxzcGFjZSBmYXVsdHMgd2hpY2ggYXJlIGZpeGVkIHVwLiAgZGllKCkgZ2l2ZXMgdGhlCisJICogcHJvY2VzcyBubyBjaGFuY2UgdG8gaGFuZGxlIHRoZSBzaWduYWwgYW5kIG5vdGljZSB0aGUKKwkgKiBrZXJuZWwgZmF1bHQgaW5mb3JtYXRpb24sIHNvIHRoYXQgd29uJ3QgcmVzdWx0IGluIHBvbGx1dGluZworCSAqIHRoZSBpbmZvcm1hdGlvbiBhYm91dCBwcmV2aW91c2x5IHF1ZXVlZCwgYnV0IG5vdCB5ZXQKKwkgKiBkZWxpdmVyZWQsIGZhdWx0cy4gIFNlZSBhbHNvIGRvX2dlbmVyYWxfcHJvdGVjdGlvbiBiZWxvdy4KKwkgKi8KKwl0c2stPnRocmVhZC5lcnJvcl9jb2RlID0gZXJyb3JfY29kZTsKKwl0c2stPnRocmVhZC50cmFwX25vID0gdHJhcG5yOwogCi0JCWlmIChpbmZvKQotCQkJZm9yY2Vfc2lnX2luZm8oc2lnbnIsIGluZm8sIHRzayk7Ci0JCWVsc2UKLQkJCWZvcmNlX3NpZyhzaWduciwgdHNrKTsKLQkJcmV0dXJuOworCWlmIChzaG93X3VuaGFuZGxlZF9zaWduYWxzICYmIHVuaGFuZGxlZF9zaWduYWwodHNrLCBzaWducikgJiYKKwkgICAgcHJpbnRrX3JhdGVsaW1pdCgpKSB7CisJCXByaW50ayhLRVJOX0lORk8KKwkJICAgICAgICIlc1slZF0gdHJhcCAlcyBpcDolbHggc3A6JWx4IGVycm9yOiVseCIsCisJCSAgICAgICB0c2stPmNvbW0sIHRzay0+cGlkLCBzdHIsCisJCSAgICAgICByZWdzLT5pcCwgcmVncy0+c3AsIGVycm9yX2NvZGUpOworCQlwcmludF92bWFfYWRkcigiIGluICIsIHJlZ3MtPmlwKTsKKwkJcHJpbnRrKCJcbiIpOwogCX0KIAorCWlmIChpbmZvKQorCQlmb3JjZV9zaWdfaW5mbyhzaWduciwgaW5mbywgdHNrKTsKKwllbHNlCisJCWZvcmNlX3NpZyhzaWduciwgdHNrKTsKKwlyZXR1cm47CiAKK2tlcm5lbF90cmFwOgogCWlmICghZml4dXBfZXhjZXB0aW9uKHJlZ3MpKSB7CiAJCXRzay0+dGhyZWFkLmVycm9yX2NvZGUgPSBlcnJvcl9jb2RlOwogCQl0c2stPnRocmVhZC50cmFwX25vID0gdHJhcG5yOwpAQCAtNjczLDQxICs2NTAsMzkgQEAKIH0KIAogI2RlZmluZSBET19FUlJPUih0cmFwbnIsIHNpZ25yLCBzdHIsIG5hbWUpIFwKLWFzbWxpbmthZ2Ugdm9pZCBkb18jI25hbWUoc3RydWN0IHB0X3JlZ3MgKiByZWdzLCBsb25nIGVycm9yX2NvZGUpIFwKLXsgXAotCWlmIChub3RpZnlfZGllKERJRV9UUkFQLCBzdHIsIHJlZ3MsIGVycm9yX2NvZGUsIHRyYXBuciwgc2lnbnIpIFwKLQkJCQkJCQk9PSBOT1RJRllfU1RPUCkgXAotCQlyZXR1cm47IFwKK2FzbWxpbmthZ2Ugdm9pZCBkb18jI25hbWUoc3RydWN0IHB0X3JlZ3MgKiByZWdzLCBsb25nIGVycm9yX2NvZGUpCVwKK3sJCQkJCQkJCQlcCisJaWYgKG5vdGlmeV9kaWUoRElFX1RSQVAsIHN0ciwgcmVncywgZXJyb3JfY29kZSwgdHJhcG5yLCBzaWducikJXAorCQkJCQkJCT09IE5PVElGWV9TVE9QKQlcCisJCXJldHVybjsJCQkJCQkJXAogCWNvbmRpdGlvbmFsX3N0aShyZWdzKTsJCQkJCQlcCi0JZG9fdHJhcCh0cmFwbnIsIHNpZ25yLCBzdHIsIHJlZ3MsIGVycm9yX2NvZGUsIE5VTEwpOyBcCisJZG9fdHJhcCh0cmFwbnIsIHNpZ25yLCBzdHIsIHJlZ3MsIGVycm9yX2NvZGUsIE5VTEwpOwkJXAogfQogCi0jZGVmaW5lIERPX0VSUk9SX0lORk8odHJhcG5yLCBzaWduciwgc3RyLCBuYW1lLCBzaWNvZGUsIHNpYWRkcikgXAotYXNtbGlua2FnZSB2b2lkIGRvXyMjbmFtZShzdHJ1Y3QgcHRfcmVncyAqIHJlZ3MsIGxvbmcgZXJyb3JfY29kZSkgXAoteyBcCi0Jc2lnaW5mb190IGluZm87IFwKLQlpbmZvLnNpX3NpZ25vID0gc2lnbnI7IFwKLQlpbmZvLnNpX2Vycm5vID0gMDsgXAotCWluZm8uc2lfY29kZSA9IHNpY29kZTsgXAotCWluZm8uc2lfYWRkciA9ICh2b2lkIF9fdXNlciAqKXNpYWRkcjsgXAotCXRyYWNlX2hhcmRpcnFzX2ZpeHVwKCk7IFwKLQlpZiAobm90aWZ5X2RpZShESUVfVFJBUCwgc3RyLCByZWdzLCBlcnJvcl9jb2RlLCB0cmFwbnIsIHNpZ25yKSBcCi0JCQkJCQkJPT0gTk9USUZZX1NUT1ApIFwKLQkJcmV0dXJuOyBcCisjZGVmaW5lIERPX0VSUk9SX0lORk8odHJhcG5yLCBzaWduciwgc3RyLCBuYW1lLCBzaWNvZGUsIHNpYWRkcikJCVwKK2FzbWxpbmthZ2Ugdm9pZCBkb18jI25hbWUoc3RydWN0IHB0X3JlZ3MgKiByZWdzLCBsb25nIGVycm9yX2NvZGUpCVwKK3sJCQkJCQkJCQlcCisJc2lnaW5mb190IGluZm87CQkJCQkJCVwKKwlpbmZvLnNpX3NpZ25vID0gc2lnbnI7CQkJCQkJXAorCWluZm8uc2lfZXJybm8gPSAwOwkJCQkJCVwKKwlpbmZvLnNpX2NvZGUgPSBzaWNvZGU7CQkJCQkJXAorCWluZm8uc2lfYWRkciA9ICh2b2lkIF9fdXNlciAqKXNpYWRkcjsJCQkJXAorCXRyYWNlX2hhcmRpcnFzX2ZpeHVwKCk7CQkJCQkJXAorCWlmIChub3RpZnlfZGllKERJRV9UUkFQLCBzdHIsIHJlZ3MsIGVycm9yX2NvZGUsIHRyYXBuciwgc2lnbnIpCVwKKwkJCQkJCQk9PSBOT1RJRllfU1RPUCkJXAorCQlyZXR1cm47CQkJCQkJCVwKIAljb25kaXRpb25hbF9zdGkocmVncyk7CQkJCQkJXAotCWRvX3RyYXAodHJhcG5yLCBzaWduciwgc3RyLCByZWdzLCBlcnJvcl9jb2RlLCAmaW5mbyk7IFwKKwlkb190cmFwKHRyYXBuciwgc2lnbnIsIHN0ciwgcmVncywgZXJyb3JfY29kZSwgJmluZm8pOwkJXAogfQogCi1ET19FUlJPUl9JTkZPKCAwLCBTSUdGUEUsICAiZGl2aWRlIGVycm9yIiwgZGl2aWRlX2Vycm9yLCBGUEVfSU5URElWLCByZWdzLT5pcCkKLURPX0VSUk9SKCA0LCBTSUdTRUdWLCAib3ZlcmZsb3ciLCBvdmVyZmxvdykKLURPX0VSUk9SKCA1LCBTSUdTRUdWLCAiYm91bmRzIiwgYm91bmRzKQotRE9fRVJST1JfSU5GTyggNiwgU0lHSUxMLCAgImludmFsaWQgb3Bjb2RlIiwgaW52YWxpZF9vcCwgSUxMX0lMTE9QTiwgcmVncy0+aXApCi1ET19FUlJPUiggNywgU0lHU0VHViwgImRldmljZSBub3QgYXZhaWxhYmxlIiwgZGV2aWNlX25vdF9hdmFpbGFibGUpCi1ET19FUlJPUiggOSwgU0lHRlBFLCAgImNvcHJvY2Vzc29yIHNlZ21lbnQgb3ZlcnJ1biIsIGNvcHJvY2Vzc29yX3NlZ21lbnRfb3ZlcnJ1bikKK0RPX0VSUk9SX0lORk8oMCwgU0lHRlBFLCAiZGl2aWRlIGVycm9yIiwgZGl2aWRlX2Vycm9yLCBGUEVfSU5URElWLCByZWdzLT5pcCkKK0RPX0VSUk9SKDQsIFNJR1NFR1YsICJvdmVyZmxvdyIsIG92ZXJmbG93KQorRE9fRVJST1IoNSwgU0lHU0VHViwgImJvdW5kcyIsIGJvdW5kcykKK0RPX0VSUk9SX0lORk8oNiwgU0lHSUxMLCAiaW52YWxpZCBvcGNvZGUiLCBpbnZhbGlkX29wLCBJTExfSUxMT1BOLCByZWdzLT5pcCkKK0RPX0VSUk9SKDksIFNJR0ZQRSwgImNvcHJvY2Vzc29yIHNlZ21lbnQgb3ZlcnJ1biIsIGNvcHJvY2Vzc29yX3NlZ21lbnRfb3ZlcnJ1bikKIERPX0VSUk9SKDEwLCBTSUdTRUdWLCAiaW52YWxpZCBUU1MiLCBpbnZhbGlkX1RTUykKLURPX0VSUk9SKDExLCBTSUdCVVMsICAic2VnbWVudCBub3QgcHJlc2VudCIsIHNlZ21lbnRfbm90X3ByZXNlbnQpCitET19FUlJPUigxMSwgU0lHQlVTLCAic2VnbWVudCBub3QgcHJlc2VudCIsIHNlZ21lbnRfbm90X3ByZXNlbnQpCiBET19FUlJPUl9JTkZPKDE3LCBTSUdCVVMsICJhbGlnbm1lbnQgY2hlY2siLCBhbGlnbm1lbnRfY2hlY2ssIEJVU19BRFJBTE4sIDApCi1ET19FUlJPUigxOCwgU0lHU0VHViwgInJlc2VydmVkIiwgcmVzZXJ2ZWQpCiAKIC8qIFJ1bnMgb24gSVNUIHN0YWNrICovCiBhc21saW5rYWdlIHZvaWQgZG9fc3RhY2tfc2VnbWVudChzdHJ1Y3QgcHRfcmVncyAqcmVncywgbG9uZyBlcnJvcl9jb2RlKQpAQCAtNzM3LDMxICs3MTIsMzQgQEAKIAkJZGllKHN0ciwgcmVncywgZXJyb3JfY29kZSk7CiB9CiAKLWFzbWxpbmthZ2Ugdm9pZCBfX2twcm9iZXMgZG9fZ2VuZXJhbF9wcm90ZWN0aW9uKHN0cnVjdCBwdF9yZWdzICogcmVncywKLQkJCQkJCWxvbmcgZXJyb3JfY29kZSkKK2FzbWxpbmthZ2Ugdm9pZCBfX2twcm9iZXMKK2RvX2dlbmVyYWxfcHJvdGVjdGlvbihzdHJ1Y3QgcHRfcmVncyAqcmVncywgbG9uZyBlcnJvcl9jb2RlKQogewotCXN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrID0gY3VycmVudDsKKwlzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzazsKIAogCWNvbmRpdGlvbmFsX3N0aShyZWdzKTsKIAotCWlmICh1c2VyX21vZGUocmVncykpIHsKLQkJdHNrLT50aHJlYWQuZXJyb3JfY29kZSA9IGVycm9yX2NvZGU7Ci0JCXRzay0+dGhyZWFkLnRyYXBfbm8gPSAxMzsKKwl0c2sgPSBjdXJyZW50OworCWlmICghdXNlcl9tb2RlKHJlZ3MpKQorCQlnb3RvIGdwX2luX2tlcm5lbDsKIAotCQlpZiAoc2hvd191bmhhbmRsZWRfc2lnbmFscyAmJiB1bmhhbmRsZWRfc2lnbmFsKHRzaywgU0lHU0VHVikgJiYKLQkJICAgIHByaW50a19yYXRlbGltaXQoKSkgewotCQkJcHJpbnRrKEtFUk5fSU5GTwotCQkgICAgICAgIiVzWyVkXSBnZW5lcmFsIHByb3RlY3Rpb24gaXA6JWx4IHNwOiVseCBlcnJvcjolbHgiLAotCQkJICAgICAgIHRzay0+Y29tbSwgdHNrLT5waWQsCi0JCQkgICAgICAgcmVncy0+aXAsIHJlZ3MtPnNwLCBlcnJvcl9jb2RlKTsKLQkJCXByaW50X3ZtYV9hZGRyKCIgaW4gIiwgcmVncy0+aXApOwotCQkJcHJpbnRrKCJcbiIpOwotCQl9CisJdHNrLT50aHJlYWQuZXJyb3JfY29kZSA9IGVycm9yX2NvZGU7CisJdHNrLT50aHJlYWQudHJhcF9ubyA9IDEzOwogCi0JCWZvcmNlX3NpZyhTSUdTRUdWLCB0c2spOwotCQlyZXR1cm47Ci0JfSAKKwlpZiAoc2hvd191bmhhbmRsZWRfc2lnbmFscyAmJiB1bmhhbmRsZWRfc2lnbmFsKHRzaywgU0lHU0VHVikgJiYKKwkJCXByaW50a19yYXRlbGltaXQoKSkgeworCQlwcmludGsoS0VSTl9JTkZPCisJCQkiJXNbJWRdIGdlbmVyYWwgcHJvdGVjdGlvbiBpcDolbHggc3A6JWx4IGVycm9yOiVseCIsCisJCQl0c2stPmNvbW0sIHRzay0+cGlkLAorCQkJcmVncy0+aXAsIHJlZ3MtPnNwLCBlcnJvcl9jb2RlKTsKKwkJcHJpbnRfdm1hX2FkZHIoIiBpbiAiLCByZWdzLT5pcCk7CisJCXByaW50aygiXG4iKTsKKwl9CiAKKwlmb3JjZV9zaWcoU0lHU0VHViwgdHNrKTsKKwlyZXR1cm47CisKK2dwX2luX2tlcm5lbDoKIAlpZiAoZml4dXBfZXhjZXB0aW9uKHJlZ3MpKQogCQlyZXR1cm47CiAKQEAgLTc3NCwxNCArNzUyLDE0IEBACiB9CiAKIHN0YXRpYyBub3RyYWNlIF9fa3Byb2JlcyB2b2lkCi1tZW1fcGFyaXR5X2Vycm9yKHVuc2lnbmVkIGNoYXIgcmVhc29uLCBzdHJ1Y3QgcHRfcmVncyAqIHJlZ3MpCittZW1fcGFyaXR5X2Vycm9yKHVuc2lnbmVkIGNoYXIgcmVhc29uLCBzdHJ1Y3QgcHRfcmVncyAqcmVncykKIHsKIAlwcmludGsoS0VSTl9FTUVSRyAiVWhodWguIE5NSSByZWNlaXZlZCBmb3IgdW5rbm93biByZWFzb24gJTAyeC5cbiIsCiAJCXJlYXNvbik7CiAJcHJpbnRrKEtFUk5fRU1FUkcgIllvdSBoYXZlIHNvbWUgaGFyZHdhcmUgcHJvYmxlbSwgbGlrZWx5IG9uIHRoZSBQQ0kgYnVzLlxuIik7CiAKICNpZiBkZWZpbmVkKENPTkZJR19FREFDKQotCWlmKGVkYWNfaGFuZGxlcl9zZXQoKSkgeworCWlmIChlZGFjX2hhbmRsZXJfc2V0KCkpIHsKIAkJZWRhY19hdG9taWNfYXNzZXJ0X2Vycm9yKCk7CiAJCXJldHVybjsKIAl9CkBAIC03OTgsNyArNzc2LDcgQEAKIH0KIAogc3RhdGljIG5vdHJhY2UgX19rcHJvYmVzIHZvaWQKLWlvX2NoZWNrX2Vycm9yKHVuc2lnbmVkIGNoYXIgcmVhc29uLCBzdHJ1Y3QgcHRfcmVncyAqIHJlZ3MpCitpb19jaGVja19lcnJvcih1bnNpZ25lZCBjaGFyIHJlYXNvbiwgc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCiB7CiAJcHJpbnRrKCJOTUk6IElPQ0sgZXJyb3IgKGRlYnVnIGludGVycnVwdD8pXG4iKTsKIAlzaG93X3JlZ2lzdGVycyhyZWdzKTsKQEAgLTgyOCwxNCArODA2LDE0IEBACiAKIC8qIFJ1bnMgb24gSVNUIHN0YWNrLiBUaGlzIGNvZGUgbXVzdCBrZWVwIGludGVycnVwdHMgb2ZmIGFsbCB0aGUgdGltZS4KICAgIE5lc3RlZCBOTUlzIGFyZSBwcmV2ZW50ZWQgYnkgdGhlIENQVS4gKi8KLWFzbWxpbmthZ2Ugbm90cmFjZSAgX19rcHJvYmVzIHZvaWQgZGVmYXVsdF9kb19ubWkoc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCithc21saW5rYWdlIG5vdHJhY2UgX19rcHJvYmVzIHZvaWQgZGVmYXVsdF9kb19ubWkoc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCiB7CiAJdW5zaWduZWQgY2hhciByZWFzb24gPSAwOwogCWludCBjcHU7CiAKIAljcHUgPSBzbXBfcHJvY2Vzc29yX2lkKCk7CiAKLQkvKiBPbmx5IHRoZSBCU1AgZ2V0cyBleHRlcm5hbCBOTUlzIGZyb20gdGhlIHN5c3RlbS4gICovCisJLyogT25seSB0aGUgQlNQIGdldHMgZXh0ZXJuYWwgTk1JcyBmcm9tIHRoZSBzeXN0ZW0uICovCiAJaWYgKCFjcHUpCiAJCXJlYXNvbiA9IGdldF9ubWlfcmVhc29uKCk7CiAKQEAgLTg0NywzMiArODI1LDU3IEBACiAJCSAqIE9rLCBzbyB0aGlzIGlzIG5vbmUgb2YgdGhlIGRvY3VtZW50ZWQgTk1JIHNvdXJjZXMsCiAJCSAqIHNvIGl0IG11c3QgYmUgdGhlIE5NSSB3YXRjaGRvZy4KIAkJICovCi0JCWlmIChubWlfd2F0Y2hkb2dfdGljayhyZWdzLHJlYXNvbikpCisJCWlmIChubWlfd2F0Y2hkb2dfdGljayhyZWdzLCByZWFzb24pKQogCQkJcmV0dXJuOwotCQlpZiAoIWRvX25taV9jYWxsYmFjayhyZWdzLGNwdSkpCisJCWlmICghZG9fbm1pX2NhbGxiYWNrKHJlZ3MsIGNwdSkpCiAJCQl1bmtub3duX25taV9lcnJvcihyZWFzb24sIHJlZ3MpOwogCiAJCXJldHVybjsKIAl9CiAJaWYgKG5vdGlmeV9kaWUoRElFX05NSSwgIm5taSIsIHJlZ3MsIHJlYXNvbiwgMiwgU0lHSU5UKSA9PSBOT1RJRllfU1RPUCkKLQkJcmV0dXJuOyAKKwkJcmV0dXJuOwogCiAJLyogQUs6IGZvbGxvd2luZyBjaGVja3Mgc2VlbSB0byBiZSBicm9rZW4gb24gbW9kZXJuIGNoaXBzZXRzLiBGSVhNRSAqLwotCiAJaWYgKHJlYXNvbiAmIDB4ODApCiAJCW1lbV9wYXJpdHlfZXJyb3IocmVhc29uLCByZWdzKTsKIAlpZiAocmVhc29uICYgMHg0MCkKIAkJaW9fY2hlY2tfZXJyb3IocmVhc29uLCByZWdzKTsKIH0KIAorYXNtbGlua2FnZSBub3RyYWNlIF9fa3Byb2JlcyB2b2lkCitkb19ubWkoc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIGxvbmcgZXJyb3JfY29kZSkKK3sKKwlubWlfZW50ZXIoKTsKKworCWFkZF9wZGEoX19ubWlfY291bnQsIDEpOworCisJaWYgKCFpZ25vcmVfbm1pcykKKwkJZGVmYXVsdF9kb19ubWkocmVncyk7CisKKwlubWlfZXhpdCgpOworfQorCit2b2lkIHN0b3Bfbm1pKHZvaWQpCit7CisJYWNwaV9ubWlfZGlzYWJsZSgpOworCWlnbm9yZV9ubWlzKys7Cit9CisKK3ZvaWQgcmVzdGFydF9ubWkodm9pZCkKK3sKKwlpZ25vcmVfbm1pcy0tOworCWFjcGlfbm1pX2VuYWJsZSgpOworfQorCiAvKiBydW5zIG9uIElTVCBzdGFjay4gKi8KLWFzbWxpbmthZ2Ugdm9pZCBfX2twcm9iZXMgZG9faW50MyhzdHJ1Y3QgcHRfcmVncyAqIHJlZ3MsIGxvbmcgZXJyb3JfY29kZSkKK2FzbWxpbmthZ2Ugdm9pZCBfX2twcm9iZXMgZG9faW50MyhzdHJ1Y3QgcHRfcmVncyAqcmVncywgbG9uZyBlcnJvcl9jb2RlKQogewogCXRyYWNlX2hhcmRpcnFzX2ZpeHVwKCk7CiAKLQlpZiAobm90aWZ5X2RpZShESUVfSU5UMywgImludDMiLCByZWdzLCBlcnJvcl9jb2RlLCAzLCBTSUdUUkFQKSA9PSBOT1RJRllfU1RPUCkgeworCWlmIChub3RpZnlfZGllKERJRV9JTlQzLCAiaW50MyIsIHJlZ3MsIGVycm9yX2NvZGUsIDMsIFNJR1RSQVApCisJCQk9PSBOT1RJRllfU1RPUCkKIAkJcmV0dXJuOwotCX0KKwogCXByZWVtcHRfY29uZGl0aW9uYWxfc3RpKHJlZ3MpOwogCWRvX3RyYXAoMywgU0lHVFJBUCwgImludDMiLCByZWdzLCBlcnJvcl9jb2RlLCBOVUxMKTsKIAlwcmVlbXB0X2NvbmRpdGlvbmFsX2NsaShyZWdzKTsKQEAgLTkwMyw4ICs5MDYsOCBAQAogYXNtbGlua2FnZSB2b2lkIF9fa3Byb2JlcyBkb19kZWJ1ZyhzdHJ1Y3QgcHRfcmVncyAqIHJlZ3MsCiAJCQkJICAgdW5zaWduZWQgbG9uZyBlcnJvcl9jb2RlKQogewotCXVuc2lnbmVkIGxvbmcgY29uZGl0aW9uOwogCXN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrID0gY3VycmVudDsKKwl1bnNpZ25lZCBsb25nIGNvbmRpdGlvbjsKIAlzaWdpbmZvX3QgaW5mbzsKIAogCXRyYWNlX2hhcmRpcnFzX2ZpeHVwKCk7CkBAIC05MjUsMjEgKzkyOCwxOSBAQAogCiAJLyogTWFzayBvdXQgc3B1cmlvdXMgZGVidWcgdHJhcHMgZHVlIHRvIGxhenkgRFI3IHNldHRpbmcgKi8KIAlpZiAoY29uZGl0aW9uICYgKERSX1RSQVAwfERSX1RSQVAxfERSX1RSQVAyfERSX1RSQVAzKSkgewotCQlpZiAoIXRzay0+dGhyZWFkLmRlYnVncmVnNykgeyAKKwkJaWYgKCF0c2stPnRocmVhZC5kZWJ1Z3JlZzcpCiAJCQlnb3RvIGNsZWFyX2RyNzsKLQkJfQogCX0KIAogCXRzay0+dGhyZWFkLmRlYnVncmVnNiA9IGNvbmRpdGlvbjsKIAotCiAJLyoKIAkgKiBTaW5nbGUtc3RlcHBpbmcgdGhyb3VnaCBURjogbWFrZSBzdXJlIHdlIGlnbm9yZSBhbnkgZXZlbnRzIGluCiAJICoga2VybmVsIHNwYWNlIChidXQgcmUtZW5hYmxlIFRGIHdoZW4gcmV0dXJuaW5nIHRvIHVzZXIgbW9kZSkuCiAJICovCiAJaWYgKGNvbmRpdGlvbiAmIERSX1NURVApIHsKLSAgICAgICAgICAgICAgICBpZiAoIXVzZXJfbW9kZShyZWdzKSkKLSAgICAgICAgICAgICAgICAgICAgICAgZ290byBjbGVhcl9URl9yZWVuYWJsZTsKKwkJaWYgKCF1c2VyX21vZGUocmVncykpCisJCQlnb3RvIGNsZWFyX1RGX3JlZW5hYmxlOwogCX0KIAogCS8qIE9rLCBmaW5hbGx5IHNvbWV0aGluZyB3ZSBjYW4gaGFuZGxlICovCkBAIC05NTIsNyArOTUzLDcgQEAKIAlmb3JjZV9zaWdfaW5mbyhTSUdUUkFQLCAmaW5mbywgdHNrKTsKIAogY2xlYXJfZHI3OgotCXNldF9kZWJ1Z3JlZygwVUwsIDcpOworCXNldF9kZWJ1Z3JlZygwLCA3KTsKIAlwcmVlbXB0X2NvbmRpdGlvbmFsX2NsaShyZWdzKTsKIAlyZXR1cm47CiAKQEAgLTk2MCw2ICs5NjEsNyBAQAogCXNldF90c2tfdGhyZWFkX2ZsYWcodHNrLCBUSUZfU0lOR0xFU1RFUCk7CiAJcmVncy0+ZmxhZ3MgJj0gflg4Nl9FRkxBR1NfVEY7CiAJcHJlZW1wdF9jb25kaXRpb25hbF9jbGkocmVncyk7CisJcmV0dXJuOwogfQogCiBzdGF0aWMgaW50IGtlcm5lbF9tYXRoX2Vycm9yKHN0cnVjdCBwdF9yZWdzICpyZWdzLCBjb25zdCBjaGFyICpzdHIsIGludCB0cmFwbnIpCkBAIC05ODIsNyArOTg0LDcgQEAKIGFzbWxpbmthZ2Ugdm9pZCBkb19jb3Byb2Nlc3Nvcl9lcnJvcihzdHJ1Y3QgcHRfcmVncyAqcmVncykKIHsKIAl2b2lkIF9fdXNlciAqaXAgPSAodm9pZCBfX3VzZXIgKikocmVncy0+aXApOwotCXN0cnVjdCB0YXNrX3N0cnVjdCAqIHRhc2s7CisJc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrOwogCXNpZ2luZm9fdCBpbmZvOwogCXVuc2lnbmVkIHNob3J0IGN3ZCwgc3dkOwogCkBAIC0xMDE1LDMwICsxMDE3LDMwIEBACiAJY3dkID0gZ2V0X2ZwdV9jd2QodGFzayk7CiAJc3dkID0gZ2V0X2ZwdV9zd2QodGFzayk7CiAJc3dpdGNoIChzd2QgJiB+Y3dkICYgMHgzZikgewotCQljYXNlIDB4MDAwOgotCQlkZWZhdWx0OgotCQkJYnJlYWs7Ci0JCWNhc2UgMHgwMDE6IC8qIEludmFsaWQgT3AgKi8KLQkJCS8qCi0JCQkgKiBzd2QgJiAweDI0MCA9PSAweDA0MDogU3RhY2sgVW5kZXJmbG93Ci0JCQkgKiBzd2QgJiAweDI0MCA9PSAweDI0MDogU3RhY2sgT3ZlcmZsb3cKLQkJCSAqIFVzZXIgbXVzdCBjbGVhciB0aGUgU0YgYml0ICgweDQwKSBpZiBzZXQKLQkJCSAqLwotCQkJaW5mby5zaV9jb2RlID0gRlBFX0ZMVElOVjsKLQkJCWJyZWFrOwotCQljYXNlIDB4MDAyOiAvKiBEZW5vcm1hbGl6ZSAqLwotCQljYXNlIDB4MDEwOiAvKiBVbmRlcmZsb3cgKi8KLQkJCWluZm8uc2lfY29kZSA9IEZQRV9GTFRVTkQ7Ci0JCQlicmVhazsKLQkJY2FzZSAweDAwNDogLyogWmVybyBEaXZpZGUgKi8KLQkJCWluZm8uc2lfY29kZSA9IEZQRV9GTFRESVY7Ci0JCQlicmVhazsKLQkJY2FzZSAweDAwODogLyogT3ZlcmZsb3cgKi8KLQkJCWluZm8uc2lfY29kZSA9IEZQRV9GTFRPVkY7Ci0JCQlicmVhazsKLQkJY2FzZSAweDAyMDogLyogUHJlY2lzaW9uICovCi0JCQlpbmZvLnNpX2NvZGUgPSBGUEVfRkxUUkVTOwotCQkJYnJlYWs7CisJY2FzZSAweDAwMDogLyogTm8gdW5tYXNrZWQgZXhjZXB0aW9uICovCisJZGVmYXVsdDogLyogTXVsdGlwbGUgZXhjZXB0aW9ucyAqLworCQlicmVhazsKKwljYXNlIDB4MDAxOiAvKiBJbnZhbGlkIE9wICovCisJCS8qCisJCSAqIHN3ZCAmIDB4MjQwID09IDB4MDQwOiBTdGFjayBVbmRlcmZsb3cKKwkJICogc3dkICYgMHgyNDAgPT0gMHgyNDA6IFN0YWNrIE92ZXJmbG93CisJCSAqIFVzZXIgbXVzdCBjbGVhciB0aGUgU0YgYml0ICgweDQwKSBpZiBzZXQKKwkJICovCisJCWluZm8uc2lfY29kZSA9IEZQRV9GTFRJTlY7CisJCWJyZWFrOworCWNhc2UgMHgwMDI6IC8qIERlbm9ybWFsaXplICovCisJY2FzZSAweDAxMDogLyogVW5kZXJmbG93ICovCisJCWluZm8uc2lfY29kZSA9IEZQRV9GTFRVTkQ7CisJCWJyZWFrOworCWNhc2UgMHgwMDQ6IC8qIFplcm8gRGl2aWRlICovCisJCWluZm8uc2lfY29kZSA9IEZQRV9GTFRESVY7CisJCWJyZWFrOworCWNhc2UgMHgwMDg6IC8qIE92ZXJmbG93ICovCisJCWluZm8uc2lfY29kZSA9IEZQRV9GTFRPVkY7CisJCWJyZWFrOworCWNhc2UgMHgwMjA6IC8qIFByZWNpc2lvbiAqLworCQlpbmZvLnNpX2NvZGUgPSBGUEVfRkxUUkVTOworCQlicmVhazsKIAl9CiAJZm9yY2Vfc2lnX2luZm8oU0lHRlBFLCAmaW5mbywgdGFzayk7CiB9CkBAIC0xMDUxLDcgKzEwNTMsNyBAQAogYXNtbGlua2FnZSB2b2lkIGRvX3NpbWRfY29wcm9jZXNzb3JfZXJyb3Ioc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCiB7CiAJdm9pZCBfX3VzZXIgKmlwID0gKHZvaWQgX191c2VyICopKHJlZ3MtPmlwKTsKLQlzdHJ1Y3QgdGFza19zdHJ1Y3QgKiB0YXNrOworCXN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzazsKIAlzaWdpbmZvX3QgaW5mbzsKIAl1bnNpZ25lZCBzaG9ydCBteGNzcjsKIApAQCAtMTA3OSwyNSArMTA4MSwyNSBAQAogCSAqLwogCW14Y3NyID0gZ2V0X2ZwdV9teGNzcih0YXNrKTsKIAlzd2l0Y2ggKH4oKG14Y3NyICYgMHgxZjgwKSA+PiA3KSAmIChteGNzciAmIDB4M2YpKSB7Ci0JCWNhc2UgMHgwMDA6Ci0JCWRlZmF1bHQ6Ci0JCQlicmVhazsKLQkJY2FzZSAweDAwMTogLyogSW52YWxpZCBPcCAqLwotCQkJaW5mby5zaV9jb2RlID0gRlBFX0ZMVElOVjsKLQkJCWJyZWFrOwotCQljYXNlIDB4MDAyOiAvKiBEZW5vcm1hbGl6ZSAqLwotCQljYXNlIDB4MDEwOiAvKiBVbmRlcmZsb3cgKi8KLQkJCWluZm8uc2lfY29kZSA9IEZQRV9GTFRVTkQ7Ci0JCQlicmVhazsKLQkJY2FzZSAweDAwNDogLyogWmVybyBEaXZpZGUgKi8KLQkJCWluZm8uc2lfY29kZSA9IEZQRV9GTFRESVY7Ci0JCQlicmVhazsKLQkJY2FzZSAweDAwODogLyogT3ZlcmZsb3cgKi8KLQkJCWluZm8uc2lfY29kZSA9IEZQRV9GTFRPVkY7Ci0JCQlicmVhazsKLQkJY2FzZSAweDAyMDogLyogUHJlY2lzaW9uICovCi0JCQlpbmZvLnNpX2NvZGUgPSBGUEVfRkxUUkVTOwotCQkJYnJlYWs7CisJY2FzZSAweDAwMDoKKwlkZWZhdWx0OgorCQlicmVhazsKKwljYXNlIDB4MDAxOiAvKiBJbnZhbGlkIE9wICovCisJCWluZm8uc2lfY29kZSA9IEZQRV9GTFRJTlY7CisJCWJyZWFrOworCWNhc2UgMHgwMDI6IC8qIERlbm9ybWFsaXplICovCisJY2FzZSAweDAxMDogLyogVW5kZXJmbG93ICovCisJCWluZm8uc2lfY29kZSA9IEZQRV9GTFRVTkQ7CisJCWJyZWFrOworCWNhc2UgMHgwMDQ6IC8qIFplcm8gRGl2aWRlICovCisJCWluZm8uc2lfY29kZSA9IEZQRV9GTFRESVY7CisJCWJyZWFrOworCWNhc2UgMHgwMDg6IC8qIE92ZXJmbG93ICovCisJCWluZm8uc2lfY29kZSA9IEZQRV9GTFRPVkY7CisJCWJyZWFrOworCWNhc2UgMHgwMjA6IC8qIFByZWNpc2lvbiAqLworCQlpbmZvLnNpX2NvZGUgPSBGUEVfRkxUUkVTOworCQlicmVhazsKIAl9CiAJZm9yY2Vfc2lnX2luZm8oU0lHRlBFLCAmaW5mbywgdGFzayk7CiB9CkBAIC0xMTE1LDcgKzExMTcsNyBAQAogfQogCiAvKgotICogICdtYXRoX3N0YXRlX3Jlc3RvcmUoKScgc2F2ZXMgdGhlIGN1cnJlbnQgbWF0aCBpbmZvcm1hdGlvbiBpbiB0aGUKKyAqICdtYXRoX3N0YXRlX3Jlc3RvcmUoKScgc2F2ZXMgdGhlIGN1cnJlbnQgbWF0aCBpbmZvcm1hdGlvbiBpbiB0aGUKICAqIG9sZCBtYXRoIHN0YXRlIGFycmF5LCBhbmQgZ2V0cyB0aGUgbmV3IG9uZXMgZnJvbSB0aGUgY3VycmVudCB0YXNrCiAgKgogICogQ2FyZWZ1bC4uIFRoZXJlIGFyZSBwcm9ibGVtcyB3aXRoIElCTS1kZXNpZ25lZCBJUlExMyBiZWhhdmlvdXIuCkBAIC0xMTQwLDcgKzExNDIsNyBAQAogCQlsb2NhbF9pcnFfZGlzYWJsZSgpOwogCX0KIAotCWNsdHMoKTsJCQkvKiBBbGxvdyBtYXRocyBvcHMgKG9yIHdlIHJlY3Vyc2UpICovCisJY2x0cygpOwkJCQkvKiBBbGxvdyBtYXRocyBvcHMgKG9yIHdlIHJlY3Vyc2UpICovCiAJcmVzdG9yZV9mcHVfY2hlY2tpbmcoJm1lLT50aHJlYWQueHN0YXRlLT5meHNhdmUpOwogCXRhc2tfdGhyZWFkX2luZm8obWUpLT5zdGF0dXMgfD0gVFNfVVNFREZQVTsKIAltZS0+ZnB1X2NvdW50ZXIrKzsKQEAgLTExNDksNjQgKzExNTEsNjEgQEAKIAogdm9pZCBfX2luaXQgdHJhcF9pbml0KHZvaWQpCiB7Ci0Jc2V0X2ludHJfZ2F0ZSgwLCZkaXZpZGVfZXJyb3IpOwotCXNldF9pbnRyX2dhdGVfaXN0KDEsJmRlYnVnLERFQlVHX1NUQUNLKTsKLQlzZXRfaW50cl9nYXRlX2lzdCgyLCZubWksTk1JX1NUQUNLKTsKLSAJc2V0X3N5c3RlbV9nYXRlX2lzdCgzLCZpbnQzLERFQlVHX1NUQUNLKTsgLyogaW50MyBjYW4gYmUgY2FsbGVkIGZyb20gYWxsICovCi0Jc2V0X3N5c3RlbV9nYXRlKDQsJm92ZXJmbG93KTsJLyogaW50NCBjYW4gYmUgY2FsbGVkIGZyb20gYWxsICovCi0Jc2V0X2ludHJfZ2F0ZSg1LCZib3VuZHMpOwotCXNldF9pbnRyX2dhdGUoNiwmaW52YWxpZF9vcCk7Ci0Jc2V0X2ludHJfZ2F0ZSg3LCZkZXZpY2Vfbm90X2F2YWlsYWJsZSk7Ci0Jc2V0X2ludHJfZ2F0ZV9pc3QoOCwmZG91YmxlX2ZhdWx0LCBET1VCTEVGQVVMVF9TVEFDSyk7Ci0Jc2V0X2ludHJfZ2F0ZSg5LCZjb3Byb2Nlc3Nvcl9zZWdtZW50X292ZXJydW4pOwotCXNldF9pbnRyX2dhdGUoMTAsJmludmFsaWRfVFNTKTsKLQlzZXRfaW50cl9nYXRlKDExLCZzZWdtZW50X25vdF9wcmVzZW50KTsKLQlzZXRfaW50cl9nYXRlX2lzdCgxMiwmc3RhY2tfc2VnbWVudCxTVEFDS0ZBVUxUX1NUQUNLKTsKLQlzZXRfaW50cl9nYXRlKDEzLCZnZW5lcmFsX3Byb3RlY3Rpb24pOwotCXNldF9pbnRyX2dhdGUoMTQsJnBhZ2VfZmF1bHQpOwotCXNldF9pbnRyX2dhdGUoMTUsJnNwdXJpb3VzX2ludGVycnVwdF9idWcpOwotCXNldF9pbnRyX2dhdGUoMTYsJmNvcHJvY2Vzc29yX2Vycm9yKTsKLQlzZXRfaW50cl9nYXRlKDE3LCZhbGlnbm1lbnRfY2hlY2spOworCXNldF9pbnRyX2dhdGUoMCwgJmRpdmlkZV9lcnJvcik7CisJc2V0X2ludHJfZ2F0ZV9pc3QoMSwgJmRlYnVnLCBERUJVR19TVEFDSyk7CisJc2V0X2ludHJfZ2F0ZV9pc3QoMiwgJm5taSwgTk1JX1NUQUNLKTsKKyAJc2V0X3N5c3RlbV9nYXRlX2lzdCgzLCAmaW50MywgREVCVUdfU1RBQ0spOyAvKiBpbnQzIGNhbiBiZSBjYWxsZWQgZnJvbSBhbGwgKi8KKwlzZXRfc3lzdGVtX2dhdGUoNCwgJm92ZXJmbG93KTsgLyogaW50NCBjYW4gYmUgY2FsbGVkIGZyb20gYWxsICovCisJc2V0X2ludHJfZ2F0ZSg1LCAmYm91bmRzKTsKKwlzZXRfaW50cl9nYXRlKDYsICZpbnZhbGlkX29wKTsKKwlzZXRfaW50cl9nYXRlKDcsICZkZXZpY2Vfbm90X2F2YWlsYWJsZSk7CisJc2V0X2ludHJfZ2F0ZV9pc3QoOCwgJmRvdWJsZV9mYXVsdCwgRE9VQkxFRkFVTFRfU1RBQ0spOworCXNldF9pbnRyX2dhdGUoOSwgJmNvcHJvY2Vzc29yX3NlZ21lbnRfb3ZlcnJ1bik7CisJc2V0X2ludHJfZ2F0ZSgxMCwgJmludmFsaWRfVFNTKTsKKwlzZXRfaW50cl9nYXRlKDExLCAmc2VnbWVudF9ub3RfcHJlc2VudCk7CisJc2V0X2ludHJfZ2F0ZV9pc3QoMTIsICZzdGFja19zZWdtZW50LCBTVEFDS0ZBVUxUX1NUQUNLKTsKKwlzZXRfaW50cl9nYXRlKDEzLCAmZ2VuZXJhbF9wcm90ZWN0aW9uKTsKKwlzZXRfaW50cl9nYXRlKDE0LCAmcGFnZV9mYXVsdCk7CisJc2V0X2ludHJfZ2F0ZSgxNSwgJnNwdXJpb3VzX2ludGVycnVwdF9idWcpOworCXNldF9pbnRyX2dhdGUoMTYsICZjb3Byb2Nlc3Nvcl9lcnJvcik7CisJc2V0X2ludHJfZ2F0ZSgxNywgJmFsaWdubWVudF9jaGVjayk7CiAjaWZkZWYgQ09ORklHX1g4Nl9NQ0UKLQlzZXRfaW50cl9nYXRlX2lzdCgxOCwmbWFjaGluZV9jaGVjaywgTUNFX1NUQUNLKTsgCisJc2V0X2ludHJfZ2F0ZV9pc3QoMTgsICZtYWNoaW5lX2NoZWNrLCBNQ0VfU1RBQ0spOwogI2VuZGlmCi0Jc2V0X2ludHJfZ2F0ZSgxOSwmc2ltZF9jb3Byb2Nlc3Nvcl9lcnJvcik7CisJc2V0X2ludHJfZ2F0ZSgxOSwgJnNpbWRfY29wcm9jZXNzb3JfZXJyb3IpOwogCiAjaWZkZWYgQ09ORklHX0lBMzJfRU1VTEFUSU9OCiAJc2V0X3N5c3RlbV9nYXRlKElBMzJfU1lTQ0FMTF9WRUNUT1IsIGlhMzJfc3lzY2FsbCk7CiAjZW5kaWYKLSAgICAgICAKIAkvKgogCSAqIGluaXRpYWxpemUgdGhlIHBlciB0aHJlYWQgZXh0ZW5kZWQgc3RhdGU6CiAJICovCi0gICAgICAgIGluaXRfdGhyZWFkX3hzdGF0ZSgpOworCWluaXRfdGhyZWFkX3hzdGF0ZSgpOwogCS8qCi0JICogU2hvdWxkIGJlIGEgYmFycmllciBmb3IgYW55IGV4dGVybmFsIENQVSBzdGF0ZS4KKwkgKiBTaG91bGQgYmUgYSBiYXJyaWVyIGZvciBhbnkgZXh0ZXJuYWwgQ1BVIHN0YXRlOgogCSAqLwogCWNwdV9pbml0KCk7CiB9CiAKLQogc3RhdGljIGludCBfX2luaXQgb29wc19zZXR1cChjaGFyICpzKQoteyAKK3sKIAlpZiAoIXMpCiAJCXJldHVybiAtRUlOVkFMOwogCWlmICghc3RyY21wKHMsICJwYW5pYyIpKQogCQlwYW5pY19vbl9vb3BzID0gMTsKIAlyZXR1cm4gMDsKLX0gCit9CiBlYXJseV9wYXJhbSgib29wcyIsIG9vcHNfc2V0dXApOwogCiBzdGF0aWMgaW50IF9faW5pdCBrc3RhY2tfc2V0dXAoY2hhciAqcykKIHsKIAlpZiAoIXMpCiAJCXJldHVybiAtRUlOVkFMOwotCWtzdGFja19kZXB0aF90b19wcmludCA9IHNpbXBsZV9zdHJ0b3VsKHMsTlVMTCwwKTsKKwlrc3RhY2tfZGVwdGhfdG9fcHJpbnQgPSBzaW1wbGVfc3RydG91bChzLCBOVUxMLCAwKTsKIAlyZXR1cm4gMDsKIH0KIGVhcmx5X3BhcmFtKCJrc3RhY2siLCBrc3RhY2tfc2V0dXApOwogCi0KIHN0YXRpYyBpbnQgX19pbml0IGNvZGVfYnl0ZXNfc2V0dXAoY2hhciAqcykKIHsKIAljb2RlX2J5dGVzID0gc2ltcGxlX3N0cnRvdWwocywgTlVMTCwgMCk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvdHNjLmMgYi9hcmNoL3g4Ni9rZXJuZWwvdHNjLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2MzNmY5MgotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gveDg2L2tlcm5lbC90c2MuYwpAQCAtMCwwICsxLDUzMyBAQAorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L3RpbWVyLmg+CisjaW5jbHVkZSA8bGludXgvYWNwaV9wbXRtci5oPgorI2luY2x1ZGUgPGxpbnV4L2NwdWZyZXEuaD4KKyNpbmNsdWRlIDxsaW51eC9kbWkuaD4KKyNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgorI2luY2x1ZGUgPGxpbnV4L2Nsb2Nrc291cmNlLmg+CisjaW5jbHVkZSA8bGludXgvcGVyY3B1Lmg+CisKKyNpbmNsdWRlIDxhc20vaHBldC5oPgorI2luY2x1ZGUgPGFzbS90aW1lci5oPgorI2luY2x1ZGUgPGFzbS92Z3RvZC5oPgorI2luY2x1ZGUgPGFzbS90aW1lLmg+CisjaW5jbHVkZSA8YXNtL2RlbGF5Lmg+CisKK3Vuc2lnbmVkIGludCBjcHVfa2h6OyAgICAgICAgICAgLyogVFNDIGNsb2NrcyAvIHVzZWMsIG5vdCB1c2VkIGhlcmUgKi8KK0VYUE9SVF9TWU1CT0woY3B1X2toeik7Cit1bnNpZ25lZCBpbnQgdHNjX2toejsKK0VYUE9SVF9TWU1CT0wodHNjX2toeik7CisKKy8qCisgKiBUU0MgY2FuIGJlIHVuc3RhYmxlIGR1ZSB0byBjcHVmcmVxIG9yIGR1ZSB0byB1bnN5bmNlZCBUU0NzCisgKi8KK3N0YXRpYyBpbnQgdHNjX3Vuc3RhYmxlOworCisvKiBuYXRpdmVfc2NoZWRfY2xvY2soKSBpcyBjYWxsZWQgYmVmb3JlIHRzY19pbml0KCksIHNvCisgICB3ZSBtdXN0IHN0YXJ0IHdpdGggdGhlIFRTQyBzb2Z0IGRpc2FibGVkIHRvIHByZXZlbnQKKyAgIGVycm9uZW91cyByZHRzYyB1c2FnZSBvbiAhY3B1X2hhc190c2MgcHJvY2Vzc29ycyAqLworc3RhdGljIGludCB0c2NfZGlzYWJsZWQgPSAtMTsKKworLyoKKyAqIFNjaGVkdWxlciBjbG9jayAtIHJldHVybnMgY3VycmVudCB0aW1lIGluIG5hbm9zZWMgdW5pdHMuCisgKi8KK3U2NCBuYXRpdmVfc2NoZWRfY2xvY2sodm9pZCkKK3sKKwl1NjQgdGhpc19vZmZzZXQ7CisKKwkvKgorCSAqIEZhbGwgYmFjayB0byBqaWZmaWVzIGlmIHRoZXJlJ3Mgbm8gVFNDIGF2YWlsYWJsZToKKwkgKiAoIEJ1dCBub3RlIHRoYXQgd2Ugc3RpbGwgdXNlIGl0IGlmIHRoZSBUU0MgaXMgbWFya2VkCisJICogICB1bnN0YWJsZS4gV2UgZG8gdGhpcyBiZWNhdXNlIHVubGlrZSBUaW1lIE9mIERheSwKKwkgKiAgIHRoZSBzY2hlZHVsZXIgY2xvY2sgdG9sZXJhdGVzIHNtYWxsIGVycm9ycyBhbmQgaXQncworCSAqICAgdmVyeSBpbXBvcnRhbnQgZm9yIGl0IHRvIGJlIGFzIGZhc3QgYXMgdGhlIHBsYXRmb3JtCisJICogICBjYW4gYWNoaXZlIGl0LiApCisJICovCisJaWYgKHVubGlrZWx5KHRzY19kaXNhYmxlZCkpIHsKKwkJLyogTm8gbG9ja2luZyBidXQgYSByYXJlIHdyb25nIHZhbHVlIGlzIG5vdCBhIGJpZyBkZWFsOiAqLworCQlyZXR1cm4gKGppZmZpZXNfNjQgLSBJTklUSUFMX0pJRkZJRVMpICogKDEwMDAwMDAwMDAgLyBIWik7CisJfQorCisJLyogcmVhZCB0aGUgVGltZSBTdGFtcCBDb3VudGVyOiAqLworCXJkdHNjbGwodGhpc19vZmZzZXQpOworCisJLyogcmV0dXJuIHRoZSB2YWx1ZSBpbiBucyAqLworCXJldHVybiBjeWNsZXNfMl9ucyh0aGlzX29mZnNldCk7Cit9CisKKy8qIFdlIG5lZWQgdG8gZGVmaW5lIGEgcmVhbCBmdW5jdGlvbiBmb3Igc2NoZWRfY2xvY2ssIHRvIG92ZXJyaWRlIHRoZQorICAgd2VhayBkZWZhdWx0IHZlcnNpb24gKi8KKyNpZmRlZiBDT05GSUdfUEFSQVZJUlQKK3Vuc2lnbmVkIGxvbmcgbG9uZyBzY2hlZF9jbG9jayh2b2lkKQoreworCXJldHVybiBwYXJhdmlydF9zY2hlZF9jbG9jaygpOworfQorI2Vsc2UKK3Vuc2lnbmVkIGxvbmcgbG9uZworc2NoZWRfY2xvY2sodm9pZCkgX19hdHRyaWJ1dGVfXygoYWxpYXMoIm5hdGl2ZV9zY2hlZF9jbG9jayIpKSk7CisjZW5kaWYKKworaW50IGNoZWNrX3RzY191bnN0YWJsZSh2b2lkKQoreworCXJldHVybiB0c2NfdW5zdGFibGU7Cit9CitFWFBPUlRfU1lNQk9MX0dQTChjaGVja190c2NfdW5zdGFibGUpOworCisjaWZkZWYgQ09ORklHX1g4Nl9UU0MKK2ludCBfX2luaXQgbm90c2Nfc2V0dXAoY2hhciAqc3RyKQoreworCXByaW50ayhLRVJOX1dBUk5JTkcgIm5vdHNjOiBLZXJuZWwgY29tcGlsZWQgd2l0aCBDT05GSUdfWDg2X1RTQywgIgorCQkJImNhbm5vdCBkaXNhYmxlIFRTQyBjb21wbGV0ZWx5LlxuIik7CisJdHNjX2Rpc2FibGVkID0gMTsKKwlyZXR1cm4gMTsKK30KKyNlbHNlCisvKgorICogZGlzYWJsZSBmbGFnIGZvciB0c2MuIFRha2VzIGVmZmVjdCBieSBjbGVhcmluZyB0aGUgVFNDIGNwdSBmbGFnCisgKiBpbiBjcHUvY29tbW9uLmMKKyAqLworaW50IF9faW5pdCBub3RzY19zZXR1cChjaGFyICpzdHIpCit7CisJc2V0dXBfY2xlYXJfY3B1X2NhcChYODZfRkVBVFVSRV9UU0MpOworCXJldHVybiAxOworfQorI2VuZGlmCisKK19fc2V0dXAoIm5vdHNjIiwgbm90c2Nfc2V0dXApOworCisjZGVmaW5lIE1BWF9SRVRSSUVTICAgICA1CisjZGVmaW5lIFNNSV9UUkVTSE9MRCAgICA1MDAwMAorCisvKgorICogUmVhZCBUU0MgYW5kIHRoZSByZWZlcmVuY2UgY291bnRlcnMuIFRha2UgY2FyZSBvZiBTTUkgZGlzdHVyYmFuY2UKKyAqLworc3RhdGljIHU2NCBfX2luaXQgdHNjX3JlYWRfcmVmcyh1NjQgKnBtLCB1NjQgKmhwZXQpCit7CisJdTY0IHQxLCB0MjsKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCBNQVhfUkVUUklFUzsgaSsrKSB7CisJCXQxID0gZ2V0X2N5Y2xlcygpOworCQlpZiAoaHBldCkKKwkJCSpocGV0ID0gaHBldF9yZWFkbChIUEVUX0NPVU5URVIpICYgMHhGRkZGRkZGRjsKKwkJZWxzZQorCQkJKnBtID0gYWNwaV9wbV9yZWFkX2Vhcmx5KCk7CisJCXQyID0gZ2V0X2N5Y2xlcygpOworCQlpZiAoKHQyIC0gdDEpIDwgU01JX1RSRVNIT0xEKQorCQkJcmV0dXJuIHQyOworCX0KKwlyZXR1cm4gVUxMT05HX01BWDsKK30KKworLyoqCisgKiBuYXRpdmVfY2FsaWJyYXRlX3RzYyAtIGNhbGlicmF0ZSB0aGUgdHNjIG9uIGJvb3QKKyAqLwordW5zaWduZWQgbG9uZyBuYXRpdmVfY2FsaWJyYXRlX3RzYyh2b2lkKQoreworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJdTY0IHRzYzEsIHRzYzIsIHRyMSwgdHIyLCBkZWx0YSwgcG0xLCBwbTIsIGhwZXQxLCBocGV0MjsKKwlpbnQgaHBldCA9IGlzX2hwZXRfZW5hYmxlZCgpOworCXVuc2lnbmVkIGludCB0c2Nfa2h6X3ZhbCA9IDA7CisKKwlsb2NhbF9pcnFfc2F2ZShmbGFncyk7CisKKwl0c2MxID0gdHNjX3JlYWRfcmVmcygmcG0xLCBocGV0ID8gJmhwZXQxIDogTlVMTCk7CisKKwlvdXRiKChpbmIoMHg2MSkgJiB+MHgwMikgfCAweDAxLCAweDYxKTsKKworCW91dGIoMHhiMCwgMHg0Myk7CisJb3V0YigoQ0xPQ0tfVElDS19SQVRFIC8gKDEwMDAgLyA1MCkpICYgMHhmZiwgMHg0Mik7CisJb3V0YigoQ0xPQ0tfVElDS19SQVRFIC8gKDEwMDAgLyA1MCkpID4+IDgsIDB4NDIpOworCXRyMSA9IGdldF9jeWNsZXMoKTsKKwl3aGlsZSAoKGluYigweDYxKSAmIDB4MjApID09IDApOworCXRyMiA9IGdldF9jeWNsZXMoKTsKKworCXRzYzIgPSB0c2NfcmVhZF9yZWZzKCZwbTIsIGhwZXQgPyAmaHBldDIgOiBOVUxMKTsKKworCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKKworCS8qCisJICogUHJlc2V0IHRoZSByZXN1bHQgd2l0aCB0aGUgcmF3IGFuZCBpbmFjY3VyYXRlIFBJVAorCSAqIGNhbGlicmF0aW9uIHZhbHVlCisJICovCisJZGVsdGEgPSAodHIyIC0gdHIxKTsKKwlkb19kaXYoZGVsdGEsIDUwKTsKKwl0c2Nfa2h6X3ZhbCA9IGRlbHRhOworCisJLyogaHBldCBvciBwbXRpbWVyIGF2YWlsYWJsZSA/ICovCisJaWYgKCFocGV0ICYmICFwbTEgJiYgIXBtMikgeworCQlwcmludGsoS0VSTl9JTkZPICJUU0MgY2FsaWJyYXRlZCBhZ2FpbnN0IFBJVFxuIik7CisJCWdvdG8gb3V0OworCX0KKworCS8qIENoZWNrLCB3aGV0aGVyIHRoZSBzYW1wbGluZyB3YXMgZGlzdHVyYmVkIGJ5IGFuIFNNSSAqLworCWlmICh0c2MxID09IFVMTE9OR19NQVggfHwgdHNjMiA9PSBVTExPTkdfTUFYKSB7CisJCXByaW50ayhLRVJOX1dBUk5JTkcgIlRTQyBjYWxpYnJhdGlvbiBkaXN0dXJiZWQgYnkgU01JLCAiCisJCQkJInVzaW5nIFBJVCBjYWxpYnJhdGlvbiByZXN1bHRcbiIpOworCQlnb3RvIG91dDsKKwl9CisKKwl0c2MyID0gKHRzYzIgLSB0c2MxKSAqIDEwMDAwMDBMTDsKKworCWlmIChocGV0KSB7CisJCXByaW50ayhLRVJOX0lORk8gIlRTQyBjYWxpYnJhdGVkIGFnYWluc3QgSFBFVFxuIik7CisJCWlmIChocGV0MiA8IGhwZXQxKQorCQkJaHBldDIgKz0gMHgxMDAwMDAwMDBVTEw7CisJCWhwZXQyIC09IGhwZXQxOworCQl0c2MxID0gKCh1NjQpaHBldDIgKiBocGV0X3JlYWRsKEhQRVRfUEVSSU9EKSk7CisJCWRvX2Rpdih0c2MxLCAxMDAwMDAwKTsKKwl9IGVsc2UgeworCQlwcmludGsoS0VSTl9JTkZPICJUU0MgY2FsaWJyYXRlZCBhZ2FpbnN0IFBNX1RJTUVSXG4iKTsKKwkJaWYgKHBtMiA8IHBtMSkKKwkJCXBtMiArPSAodTY0KUFDUElfUE1fT1ZSUlVOOworCQlwbTIgLT0gcG0xOworCQl0c2MxID0gcG0yICogMTAwMDAwMDAwMExMOworCQlkb19kaXYodHNjMSwgUE1UTVJfVElDS1NfUEVSX1NFQyk7CisJfQorCisJZG9fZGl2KHRzYzIsIHRzYzEpOworCXRzY19raHpfdmFsID0gdHNjMjsKKworb3V0OgorCXJldHVybiB0c2Nfa2h6X3ZhbDsKK30KKworCisjaWZkZWYgQ09ORklHX1g4Nl8zMgorLyogT25seSBjYWxsZWQgZnJvbSB0aGUgUG93ZXJub3cgSzcgY3B1IGZyZXEgZHJpdmVyICovCitpbnQgcmVjYWxpYnJhdGVfY3B1X2toeih2b2lkKQoreworI2lmbmRlZiBDT05GSUdfU01QCisJdW5zaWduZWQgbG9uZyBjcHVfa2h6X29sZCA9IGNwdV9raHo7CisKKwlpZiAoY3B1X2hhc190c2MpIHsKKwkJdHNjX2toeiA9IGNhbGlicmF0ZV90c2MoKTsKKwkJY3B1X2toeiA9IHRzY19raHo7CisJCWNwdV9kYXRhKDApLmxvb3BzX3Blcl9qaWZmeSA9CisJCQljcHVmcmVxX3NjYWxlKGNwdV9kYXRhKDApLmxvb3BzX3Blcl9qaWZmeSwKKwkJCQkJY3B1X2toel9vbGQsIGNwdV9raHopOworCQlyZXR1cm4gMDsKKwl9IGVsc2UKKwkJcmV0dXJuIC1FTk9ERVY7CisjZWxzZQorCXJldHVybiAtRU5PREVWOworI2VuZGlmCit9CisKK0VYUE9SVF9TWU1CT0wocmVjYWxpYnJhdGVfY3B1X2toeik7CisKKyNlbmRpZiAvKiBDT05GSUdfWDg2XzMyICovCisKKy8qIEFjY2VsZXJhdG9ycyBmb3Igc2NoZWRfY2xvY2soKQorICogY29udmVydCBmcm9tIGN5Y2xlcyg2NGJpdHMpID0+IG5hbm9zZWNvbmRzICg2NGJpdHMpCisgKiAgYmFzaWMgZXF1YXRpb246CisgKiAgICAgICAgICAgICAgbnMgPSBjeWNsZXMgLyAoZnJlcSAvIG5zX3Blcl9zZWMpCisgKiAgICAgICAgICAgICAgbnMgPSBjeWNsZXMgKiAobnNfcGVyX3NlYyAvIGZyZXEpCisgKiAgICAgICAgICAgICAgbnMgPSBjeWNsZXMgKiAoMTBeOSAvIChjcHVfa2h6ICogMTBeMykpCisgKiAgICAgICAgICAgICAgbnMgPSBjeWNsZXMgKiAoMTBeNiAvIGNwdV9raHopCisgKgorICogICAgICBUaGVuIHdlIHVzZSBzY2FsaW5nIG1hdGggKHN1Z2dlc3RlZCBieSBnZW9yZ2VAbXZpc3RhLmNvbSkgdG8gZ2V0OgorICogICAgICAgICAgICAgIG5zID0gY3ljbGVzICogKDEwXjYgKiBTQyAvIGNwdV9raHopIC8gU0MKKyAqICAgICAgICAgICAgICBucyA9IGN5Y2xlcyAqIGN5YzJuc19zY2FsZSAvIFNDCisgKgorICogICAgICBBbmQgc2luY2UgU0MgaXMgYSBjb25zdGFudCBwb3dlciBvZiB0d28sIHdlIGNhbiBjb252ZXJ0IHRoZSBkaXYKKyAqICBpbnRvIGEgc2hpZnQuCisgKgorICogIFdlIGNhbiB1c2Uga2h6IGRpdmlzb3IgaW5zdGVhZCBvZiBtaHogdG8ga2VlcCBhIGJldHRlciBwcmVjaXNpb24sIHNpbmNlCisgKiAgY3ljMm5zX3NjYWxlIGlzIGxpbWl0ZWQgdG8gMTBeNiAqIDJeMTAsIHdoaWNoIGZpdHMgaW4gMzIgYml0cy4KKyAqICAobWF0aGlldS5kZXNub3llcnNAcG9seW10bC5jYSkKKyAqCisgKiAgICAgICAgICAgICAgICAgICAgICAtam9obnN0dWxAdXMuaWJtLmNvbSAibWF0aCBpcyBoYXJkLCBsZXRzIGdvIHNob3BwaW5nISIKKyAqLworCitERUZJTkVfUEVSX0NQVSh1bnNpZ25lZCBsb25nLCBjeWMybnMpOworCitzdGF0aWMgdm9pZCBzZXRfY3ljMm5zX3NjYWxlKHVuc2lnbmVkIGxvbmcgY3B1X2toeiwgaW50IGNwdSkKK3sKKwl1bnNpZ25lZCBsb25nIGxvbmcgdHNjX25vdywgbnNfbm93OworCXVuc2lnbmVkIGxvbmcgZmxhZ3MsICpzY2FsZTsKKworCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKKwlzY2hlZF9jbG9ja19pZGxlX3NsZWVwX2V2ZW50KCk7CisKKwlzY2FsZSA9ICZwZXJfY3B1KGN5YzJucywgY3B1KTsKKworCXJkdHNjbGwodHNjX25vdyk7CisJbnNfbm93ID0gX19jeWNsZXNfMl9ucyh0c2Nfbm93KTsKKworCWlmIChjcHVfa2h6KQorCQkqc2NhbGUgPSAoTlNFQ19QRVJfTVNFQyA8PCBDWUMyTlNfU0NBTEVfRkFDVE9SKS9jcHVfa2h6OworCisJc2NoZWRfY2xvY2tfaWRsZV93YWtldXBfZXZlbnQoMCk7CisJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOworfQorCisjaWZkZWYgQ09ORklHX0NQVV9GUkVRCisKKy8qIEZyZXF1ZW5jeSBzY2FsaW5nIHN1cHBvcnQuIEFkanVzdCB0aGUgVFNDIGJhc2VkIHRpbWVyIHdoZW4gdGhlIGNwdSBmcmVxdWVuY3kKKyAqIGNoYW5nZXMuCisgKgorICogUkVELVBFTjogT24gU01QIHdlIGFzc3VtZSBhbGwgQ1BVcyBydW4gd2l0aCB0aGUgc2FtZSBmcmVxdWVuY3kuICBJdCdzCisgKiBub3QgdGhhdCBpbXBvcnRhbnQgYmVjYXVzZSBjdXJyZW50IE9wdGVyb24gc2V0dXBzIGRvIG5vdCBzdXBwb3J0CisgKiBzY2FsaW5nIG9uIFNNUCBhbnlyb2Fkcy4KKyAqCisgKiBTaG91bGQgZml4IHVwIGxhc3RfdHNjIHRvby4gQ3VycmVudGx5IGdldHRpbWVvZmRheSBpbiB0aGUKKyAqIGZpcnN0IHRpY2sgYWZ0ZXIgdGhlIGNoYW5nZSB3aWxsIGJlIHNsaWdodGx5IHdyb25nLgorICovCisKK3N0YXRpYyB1bnNpZ25lZCBpbnQgIHJlZl9mcmVxOworc3RhdGljIHVuc2lnbmVkIGxvbmcgbG9vcHNfcGVyX2ppZmZ5X3JlZjsKK3N0YXRpYyB1bnNpZ25lZCBsb25nIHRzY19raHpfcmVmOworCitzdGF0aWMgaW50IHRpbWVfY3B1ZnJlcV9ub3RpZmllcihzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKm5iLCB1bnNpZ25lZCBsb25nIHZhbCwKKwkJCQl2b2lkICpkYXRhKQoreworCXN0cnVjdCBjcHVmcmVxX2ZyZXFzICpmcmVxID0gZGF0YTsKKwl1bnNpZ25lZCBsb25nICpscGosIGR1bW15OworCisJaWYgKGNwdV9oYXMoJmNwdV9kYXRhKGZyZXEtPmNwdSksIFg4Nl9GRUFUVVJFX0NPTlNUQU5UX1RTQykpCisJCXJldHVybiAwOworCisJbHBqID0gJmR1bW15OworCWlmICghKGZyZXEtPmZsYWdzICYgQ1BVRlJFUV9DT05TVF9MT09QUykpCisjaWZkZWYgQ09ORklHX1NNUAorCQlscGogPSAmY3B1X2RhdGEoZnJlcS0+Y3B1KS5sb29wc19wZXJfamlmZnk7CisjZWxzZQorCWxwaiA9ICZib290X2NwdV9kYXRhLmxvb3BzX3Blcl9qaWZmeTsKKyNlbmRpZgorCisJaWYgKCFyZWZfZnJlcSkgeworCQlyZWZfZnJlcSA9IGZyZXEtPm9sZDsKKwkJbG9vcHNfcGVyX2ppZmZ5X3JlZiA9ICpscGo7CisJCXRzY19raHpfcmVmID0gdHNjX2toejsKKwl9CisJaWYgKCh2YWwgPT0gQ1BVRlJFUV9QUkVDSEFOR0UgICYmIGZyZXEtPm9sZCA8IGZyZXEtPm5ldykgfHwKKwkJCSh2YWwgPT0gQ1BVRlJFUV9QT1NUQ0hBTkdFICYmIGZyZXEtPm9sZCA+IGZyZXEtPm5ldykgfHwKKwkJCSh2YWwgPT0gQ1BVRlJFUV9SRVNVTUVDSEFOR0UpKSB7CisJCSpscGogPSAJY3B1ZnJlcV9zY2FsZShsb29wc19wZXJfamlmZnlfcmVmLCByZWZfZnJlcSwgZnJlcS0+bmV3KTsKKworCQl0c2Nfa2h6ID0gY3B1ZnJlcV9zY2FsZSh0c2Nfa2h6X3JlZiwgcmVmX2ZyZXEsIGZyZXEtPm5ldyk7CisJCWlmICghKGZyZXEtPmZsYWdzICYgQ1BVRlJFUV9DT05TVF9MT09QUykpCisJCQltYXJrX3RzY191bnN0YWJsZSgiY3B1ZnJlcSBjaGFuZ2VzIik7CisJfQorCisJc2V0X2N5YzJuc19zY2FsZSh0c2Nfa2h6X3JlZiwgZnJlcS0+Y3B1KTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgc3RydWN0IG5vdGlmaWVyX2Jsb2NrIHRpbWVfY3B1ZnJlcV9ub3RpZmllcl9ibG9jayA9IHsKKwkubm90aWZpZXJfY2FsbCAgPSB0aW1lX2NwdWZyZXFfbm90aWZpZXIKK307CisKK3N0YXRpYyBpbnQgX19pbml0IGNwdWZyZXFfdHNjKHZvaWQpCit7CisJY3B1ZnJlcV9yZWdpc3Rlcl9ub3RpZmllcigmdGltZV9jcHVmcmVxX25vdGlmaWVyX2Jsb2NrLAorCQkJCUNQVUZSRVFfVFJBTlNJVElPTl9OT1RJRklFUik7CisJcmV0dXJuIDA7Cit9CisKK2NvcmVfaW5pdGNhbGwoY3B1ZnJlcV90c2MpOworCisjZW5kaWYgLyogQ09ORklHX0NQVV9GUkVRICovCisKKy8qIGNsb2Nrc291cmNlIGNvZGUgKi8KKworc3RhdGljIHN0cnVjdCBjbG9ja3NvdXJjZSBjbG9ja3NvdXJjZV90c2M7CisKKy8qCisgKiBXZSBjb21wYXJlIHRoZSBUU0MgdG8gdGhlIGN5Y2xlX2xhc3QgdmFsdWUgaW4gdGhlIGNsb2Nrc291cmNlCisgKiBzdHJ1Y3R1cmUgdG8gYXZvaWQgYSBuYXN0eSB0aW1lLXdhcnAuIFRoaXMgY2FuIGJlIG9ic2VydmVkIGluIGEKKyAqIHZlcnkgc21hbGwgd2luZG93IHJpZ2h0IGFmdGVyIG9uZSBDUFUgdXBkYXRlZCBjeWNsZV9sYXN0IHVuZGVyCisgKiB4dGltZS92c3lzY2FsbF9ndG9kIGxvY2sgYW5kIHRoZSBvdGhlciBDUFUgcmVhZHMgYSBUU0MgdmFsdWUgd2hpY2gKKyAqIGlzIHNtYWxsZXIgdGhhbiB0aGUgY3ljbGVfbGFzdCByZWZlcmVuY2UgdmFsdWUgZHVlIHRvIGEgVFNDIHdoaWNoCisgKiBpcyBzbGlnaHR5IGJlaGluZC4gVGhpcyBkZWx0YSBpcyBub3doZXJlIGVsc2Ugb2JzZXJ2YWJsZSwgYnV0IGluCisgKiB0aGF0IGNhc2UgaXQgcmVzdWx0cyBpbiBhIGZvcndhcmQgdGltZSBqdW1wIGluIHRoZSByYW5nZSBvZiBob3VycworICogZHVlIHRvIHRoZSB1bnNpZ25lZCBkZWx0YSBjYWxjdWxhdGlvbiBvZiB0aGUgdGltZSBrZWVwaW5nIGNvcmUKKyAqIGNvZGUsIHdoaWNoIGlzIG5lY2Vzc2FyeSB0byBzdXBwb3J0IHdyYXBwaW5nIGNsb2Nrc291cmNlcyBsaWtlIHBtCisgKiB0aW1lci4KKyAqLworc3RhdGljIGN5Y2xlX3QgcmVhZF90c2Modm9pZCkKK3sKKwljeWNsZV90IHJldCA9IChjeWNsZV90KWdldF9jeWNsZXMoKTsKKworCXJldHVybiByZXQgPj0gY2xvY2tzb3VyY2VfdHNjLmN5Y2xlX2xhc3QgPworCQlyZXQgOiBjbG9ja3NvdXJjZV90c2MuY3ljbGVfbGFzdDsKK30KKworc3RhdGljIGN5Y2xlX3QgX192c3lzY2FsbF9mbiB2cmVhZF90c2Modm9pZCkKK3sKKwljeWNsZV90IHJldCA9IChjeWNsZV90KXZnZXRfY3ljbGVzKCk7CisKKwlyZXR1cm4gcmV0ID49IF9fdnN5c2NhbGxfZ3RvZF9kYXRhLmNsb2NrLmN5Y2xlX2xhc3QgPworCQlyZXQgOiBfX3ZzeXNjYWxsX2d0b2RfZGF0YS5jbG9jay5jeWNsZV9sYXN0OworfQorCitzdGF0aWMgc3RydWN0IGNsb2Nrc291cmNlIGNsb2Nrc291cmNlX3RzYyA9IHsKKwkubmFtZSAgICAgICAgICAgICAgICAgICA9ICJ0c2MiLAorCS5yYXRpbmcgICAgICAgICAgICAgICAgID0gMzAwLAorCS5yZWFkICAgICAgICAgICAgICAgICAgID0gcmVhZF90c2MsCisJLm1hc2sgICAgICAgICAgICAgICAgICAgPSBDTE9DS1NPVVJDRV9NQVNLKDY0KSwKKwkuc2hpZnQgICAgICAgICAgICAgICAgICA9IDIyLAorCS5mbGFncyAgICAgICAgICAgICAgICAgID0gQ0xPQ0tfU09VUkNFX0lTX0NPTlRJTlVPVVMgfAorCQkJCSAgQ0xPQ0tfU09VUkNFX01VU1RfVkVSSUZZLAorI2lmZGVmIENPTkZJR19YODZfNjQKKwkudnJlYWQgICAgICAgICAgICAgICAgICA9IHZyZWFkX3RzYywKKyNlbmRpZgorfTsKKwordm9pZCBtYXJrX3RzY191bnN0YWJsZShjaGFyICpyZWFzb24pCit7CisJaWYgKCF0c2NfdW5zdGFibGUpIHsKKwkJdHNjX3Vuc3RhYmxlID0gMTsKKwkJcHJpbnRrKCJNYXJraW5nIFRTQyB1bnN0YWJsZSBkdWUgdG8gJXNcbiIsIHJlYXNvbik7CisJCS8qIENoYW5nZSBvbmx5IHRoZSByYXRpbmcsIHdoZW4gbm90IHJlZ2lzdGVyZWQgKi8KKwkJaWYgKGNsb2Nrc291cmNlX3RzYy5tdWx0KQorCQkJY2xvY2tzb3VyY2VfY2hhbmdlX3JhdGluZygmY2xvY2tzb3VyY2VfdHNjLCAwKTsKKwkJZWxzZQorCQkJY2xvY2tzb3VyY2VfdHNjLnJhdGluZyA9IDA7CisJfQorfQorCitFWFBPUlRfU1lNQk9MX0dQTChtYXJrX3RzY191bnN0YWJsZSk7CisKK3N0YXRpYyBpbnQgX19pbml0IGRtaV9tYXJrX3RzY191bnN0YWJsZShjb25zdCBzdHJ1Y3QgZG1pX3N5c3RlbV9pZCAqZCkKK3sKKwlwcmludGsoS0VSTl9OT1RJQ0UgIiVzIGRldGVjdGVkOiBtYXJraW5nIFRTQyB1bnN0YWJsZS5cbiIsCisJCQlkLT5pZGVudCk7CisJdHNjX3Vuc3RhYmxlID0gMTsKKwlyZXR1cm4gMDsKK30KKworLyogTGlzdCBvZiBzeXN0ZW1zIHRoYXQgaGF2ZSBrbm93biBUU0MgcHJvYmxlbXMgKi8KK3N0YXRpYyBzdHJ1Y3QgZG1pX3N5c3RlbV9pZCBfX2luaXRkYXRhIGJhZF90c2NfZG1pX3RhYmxlW10gPSB7CisJeworCQkuY2FsbGJhY2sgPSBkbWlfbWFya190c2NfdW5zdGFibGUsCisJCS5pZGVudCA9ICJJQk0gVGhpbmtwYWQgMzgwWEQiLAorCQkubWF0Y2hlcyA9IHsKKwkJCURNSV9NQVRDSChETUlfQk9BUkRfVkVORE9SLCAiSUJNIiksCisJCQlETUlfTUFUQ0goRE1JX0JPQVJEX05BTUUsICIyNjM1RkEwIiksCisJCX0sCisJfSwKKwl7fQorfTsKKworLyoKKyAqIEdlb2RlX0xYIC0gdGhlIE9MUEMgQ1BVIGhhcyBhIHBvc3NpYmx5IGEgdmVyeSByZWxpYWJsZSBUU0MKKyAqLworI2lmZGVmIENPTkZJR19NR0VPREVfTFgKKy8qIFJUU0MgY291bnRzIGR1cmluZyBzdXNwZW5kICovCisjZGVmaW5lIFJUU0NfU1VTUCAweDEwMAorCitzdGF0aWMgdm9pZCBfX2luaXQgY2hlY2tfZ2VvZGVfdHNjX3JlbGlhYmxlKHZvaWQpCit7CisJdW5zaWduZWQgbG9uZyByZXNfbG93LCByZXNfaGlnaDsKKworCXJkbXNyX3NhZmUoTVNSX0dFT0RFX0JVU0NPTlRfQ09ORjAsICZyZXNfbG93LCAmcmVzX2hpZ2gpOworCWlmIChyZXNfbG93ICYgUlRTQ19TVVNQKQorCQljbG9ja3NvdXJjZV90c2MuZmxhZ3MgJj0gfkNMT0NLX1NPVVJDRV9NVVNUX1ZFUklGWTsKK30KKyNlbHNlCitzdGF0aWMgaW5saW5lIHZvaWQgY2hlY2tfZ2VvZGVfdHNjX3JlbGlhYmxlKHZvaWQpIHsgfQorI2VuZGlmCisKKy8qCisgKiBNYWtlIGFuIGVkdWNhdGVkIGd1ZXNzIGlmIHRoZSBUU0MgaXMgdHJ1c3R3b3J0aHkgYW5kIHN5bmNocm9uaXplZAorICogb3ZlciBhbGwgQ1BVcy4KKyAqLworX19jcHVpbml0IGludCB1bnN5bmNocm9uaXplZF90c2Modm9pZCkKK3sKKwlpZiAoIWNwdV9oYXNfdHNjIHx8IHRzY191bnN0YWJsZSkKKwkJcmV0dXJuIDE7CisKKyNpZmRlZiBDT05GSUdfU01QCisJaWYgKGFwaWNfaXNfY2x1c3RlcmVkX2JveCgpKQorCQlyZXR1cm4gMTsKKyNlbmRpZgorCisJaWYgKGJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9DT05TVEFOVF9UU0MpKQorCQlyZXR1cm4gMDsKKwkvKgorCSAqIEludGVsIHN5c3RlbXMgYXJlIG5vcm1hbGx5IGFsbCBzeW5jaHJvbml6ZWQuCisJICogRXhjZXB0aW9ucyBtdXN0IG1hcmsgVFNDIGFzIHVuc3RhYmxlOgorCSAqLworCWlmIChib290X2NwdV9kYXRhLng4Nl92ZW5kb3IgIT0gWDg2X1ZFTkRPUl9JTlRFTCkgeworCQkvKiBhc3N1bWUgbXVsdGkgc29ja2V0IHN5c3RlbXMgYXJlIG5vdCBzeW5jaHJvbml6ZWQ6ICovCisJCWlmIChudW1fcG9zc2libGVfY3B1cygpID4gMSkKKwkJCXRzY191bnN0YWJsZSA9IDE7CisJfQorCisJcmV0dXJuIHRzY191bnN0YWJsZTsKK30KKworc3RhdGljIHZvaWQgX19pbml0IGluaXRfdHNjX2Nsb2Nrc291cmNlKHZvaWQpCit7CisJY2xvY2tzb3VyY2VfdHNjLm11bHQgPSBjbG9ja3NvdXJjZV9raHoybXVsdCh0c2Nfa2h6LAorCQkJY2xvY2tzb3VyY2VfdHNjLnNoaWZ0KTsKKwkvKiBsb3dlciB0aGUgcmF0aW5nIGlmIHdlIGFscmVhZHkga25vdyBpdHMgdW5zdGFibGU6ICovCisJaWYgKGNoZWNrX3RzY191bnN0YWJsZSgpKSB7CisJCWNsb2Nrc291cmNlX3RzYy5yYXRpbmcgPSAwOworCQljbG9ja3NvdXJjZV90c2MuZmxhZ3MgJj0gfkNMT0NLX1NPVVJDRV9JU19DT05USU5VT1VTOworCX0KKwljbG9ja3NvdXJjZV9yZWdpc3RlcigmY2xvY2tzb3VyY2VfdHNjKTsKK30KKwordm9pZCBfX2luaXQgdHNjX2luaXQodm9pZCkKK3sKKwl1NjQgbHBqOworCWludCBjcHU7CisKKwlpZiAoIWNwdV9oYXNfdHNjKQorCQlyZXR1cm47CisKKwl0c2Nfa2h6ID0gY2FsaWJyYXRlX3RzYygpOworCWNwdV9raHogPSB0c2Nfa2h6OworCisJaWYgKCF0c2Nfa2h6KSB7CisJCW1hcmtfdHNjX3Vuc3RhYmxlKCJjb3VsZCBub3QgY2FsY3VsYXRlIFRTQyBraHoiKTsKKwkJcmV0dXJuOworCX0KKworI2lmZGVmIENPTkZJR19YODZfNjQKKwlpZiAoY3B1X2hhcygmYm9vdF9jcHVfZGF0YSwgWDg2X0ZFQVRVUkVfQ09OU1RBTlRfVFNDKSAmJgorCQkJKGJvb3RfY3B1X2RhdGEueDg2X3ZlbmRvciA9PSBYODZfVkVORE9SX0FNRCkpCisJCWNwdV9raHogPSBjYWxpYnJhdGVfY3B1KCk7CisjZW5kaWYKKworCWxwaiA9ICgodTY0KXRzY19raHogKiAxMDAwKTsKKwlkb19kaXYobHBqLCBIWik7CisJbHBqX2ZpbmUgPSBscGo7CisKKwlwcmludGsoIkRldGVjdGVkICVsdS4lMDNsdSBNSHogcHJvY2Vzc29yLlxuIiwKKwkJCSh1bnNpZ25lZCBsb25nKWNwdV9raHogLyAxMDAwLAorCQkJKHVuc2lnbmVkIGxvbmcpY3B1X2toeiAlIDEwMDApOworCisJLyoKKwkgKiBTZWNvbmRhcnkgQ1BVcyBkbyBub3QgcnVuIHRocm91Z2ggdHNjX2luaXQoKSwgc28gc2V0IHVwCisJICogYWxsIHRoZSBzY2FsZSBmYWN0b3JzIGZvciBhbGwgQ1BVcywgYXNzdW1pbmcgdGhlIHNhbWUKKwkgKiBzcGVlZCBhcyB0aGUgYm9vdHVwIENQVS4gKGNwdWZyZXEgbm90aWZpZXJzIHdpbGwgZml4IHRoaXMKKwkgKiB1cCBpZiB0aGVpciBzcGVlZCBkaXZlcmdlcykKKwkgKi8KKwlmb3JfZWFjaF9wb3NzaWJsZV9jcHUoY3B1KQorCQlzZXRfY3ljMm5zX3NjYWxlKGNwdV9raHosIGNwdSk7CisKKwlpZiAodHNjX2Rpc2FibGVkID4gMCkKKwkJcmV0dXJuOworCisJLyogbm93IGFsbG93IG5hdGl2ZV9zY2hlZF9jbG9jaygpIHRvIHVzZSByZHRzYyAqLworCXRzY19kaXNhYmxlZCA9IDA7CisKKwl1c2VfdHNjX2RlbGF5KCk7CisJLyogQ2hlY2sgYW5kIGluc3RhbGwgdGhlIFRTQyBjbG9ja3NvdXJjZSAqLworCWRtaV9jaGVja19zeXN0ZW0oYmFkX3RzY19kbWlfdGFibGUpOworCisJaWYgKHVuc3luY2hyb25pemVkX3RzYygpKQorCQltYXJrX3RzY191bnN0YWJsZSgiVFNDcyB1bnN5bmNocm9uaXplZCIpOworCisJY2hlY2tfZ2VvZGVfdHNjX3JlbGlhYmxlKCk7CisJaW5pdF90c2NfY2xvY2tzb3VyY2UoKTsKK30KKwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3RzY18zMi5jIGIvYXJjaC94ODYva2VybmVsL3RzY18zMi5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2NWI3MDYzLi4wMDAwMDAwCi0tLSBhL2FyY2gveDg2L2tlcm5lbC90c2NfMzIuYworKysgL2Rldi9udWxsCkBAIC0xLDQ1MSArMCwwIEBACi0jaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KLSNpbmNsdWRlIDxsaW51eC9jbG9ja3NvdXJjZS5oPgotI2luY2x1ZGUgPGxpbnV4L3dvcmtxdWV1ZS5oPgotI2luY2x1ZGUgPGxpbnV4L2NwdWZyZXEuaD4KLSNpbmNsdWRlIDxsaW51eC9qaWZmaWVzLmg+Ci0jaW5jbHVkZSA8bGludXgvaW5pdC5oPgotI2luY2x1ZGUgPGxpbnV4L2RtaS5oPgotI2luY2x1ZGUgPGxpbnV4L3BlcmNwdS5oPgotCi0jaW5jbHVkZSA8YXNtL2RlbGF5Lmg+Ci0jaW5jbHVkZSA8YXNtL3RzYy5oPgotI2luY2x1ZGUgPGFzbS9pby5oPgotI2luY2x1ZGUgPGFzbS90aW1lci5oPgotCi0jaW5jbHVkZSAibWFjaF90aW1lci5oIgotCi0vKiBuYXRpdmVfc2NoZWRfY2xvY2soKSBpcyBjYWxsZWQgYmVmb3JlIHRzY19pbml0KCksIHNvCi0gICB3ZSBtdXN0IHN0YXJ0IHdpdGggdGhlIFRTQyBzb2Z0IGRpc2FibGVkIHRvIHByZXZlbnQKLSAgIGVycm9uZW91cyByZHRzYyB1c2FnZSBvbiAhY3B1X2hhc190c2MgcHJvY2Vzc29ycyAqLwotc3RhdGljIGludCB0c2NfZGlzYWJsZWQgPSAtMTsKLQotLyoKLSAqIE9uIHNvbWUgc3lzdGVtcyB0aGUgVFNDIGZyZXF1ZW5jeSBkb2VzIG5vdAotICogY2hhbmdlIHdpdGggdGhlIGNwdSBmcmVxdWVuY3kuIFNvIHdlIG5lZWQKLSAqIGFuIGV4dHJhIHZhbHVlIHRvIHN0b3JlIHRoZSBUU0MgZnJlcQotICovCi11bnNpZ25lZCBpbnQgdHNjX2toejsKLUVYUE9SVF9TWU1CT0xfR1BMKHRzY19raHopOwotCi0jaWZkZWYgQ09ORklHX1g4Nl9UU0MKLXN0YXRpYyBpbnQgX19pbml0IHRzY19zZXR1cChjaGFyICpzdHIpCi17Ci0JcHJpbnRrKEtFUk5fV0FSTklORyAibm90c2M6IEtlcm5lbCBjb21waWxlZCB3aXRoIENPTkZJR19YODZfVFNDLCAiCi0JICAgICAgICJjYW5ub3QgZGlzYWJsZSBUU0MgY29tcGxldGVseS5cbiIpOwotCXRzY19kaXNhYmxlZCA9IDE7Ci0JcmV0dXJuIDE7Ci19Ci0jZWxzZQotLyoKLSAqIGRpc2FibGUgZmxhZyBmb3IgdHNjLiBUYWtlcyBlZmZlY3QgYnkgY2xlYXJpbmcgdGhlIFRTQyBjcHUgZmxhZwotICogaW4gY3B1L2NvbW1vbi5jCi0gKi8KLXN0YXRpYyBpbnQgX19pbml0IHRzY19zZXR1cChjaGFyICpzdHIpCi17Ci0Jc2V0dXBfY2xlYXJfY3B1X2NhcChYODZfRkVBVFVSRV9UU0MpOwotCXJldHVybiAxOwotfQotI2VuZGlmCi0KLV9fc2V0dXAoIm5vdHNjIiwgdHNjX3NldHVwKTsKLQotLyoKLSAqIGNvZGUgdG8gbWFyayBhbmQgY2hlY2sgaWYgdGhlIFRTQyBpcyB1bnN0YWJsZQotICogZHVlIHRvIGNwdWZyZXEgb3IgZHVlIHRvIHVuc3luY2VkIFRTQ3MKLSAqLwotc3RhdGljIGludCB0c2NfdW5zdGFibGU7Ci0KLWludCBjaGVja190c2NfdW5zdGFibGUodm9pZCkKLXsKLQlyZXR1cm4gdHNjX3Vuc3RhYmxlOwotfQotRVhQT1JUX1NZTUJPTF9HUEwoY2hlY2tfdHNjX3Vuc3RhYmxlKTsKLQotLyogQWNjZWxlcmF0b3JzIGZvciBzY2hlZF9jbG9jaygpCi0gKiBjb252ZXJ0IGZyb20gY3ljbGVzKDY0Yml0cykgPT4gbmFub3NlY29uZHMgKDY0Yml0cykKLSAqICBiYXNpYyBlcXVhdGlvbjoKLSAqCQlucyA9IGN5Y2xlcyAvIChmcmVxIC8gbnNfcGVyX3NlYykKLSAqCQlucyA9IGN5Y2xlcyAqIChuc19wZXJfc2VjIC8gZnJlcSkKLSAqCQlucyA9IGN5Y2xlcyAqICgxMF45IC8gKGNwdV9raHogKiAxMF4zKSkKLSAqCQlucyA9IGN5Y2xlcyAqICgxMF42IC8gY3B1X2toeikKLSAqCi0gKglUaGVuIHdlIHVzZSBzY2FsaW5nIG1hdGggKHN1Z2dlc3RlZCBieSBnZW9yZ2VAbXZpc3RhLmNvbSkgdG8gZ2V0OgotICoJCW5zID0gY3ljbGVzICogKDEwXjYgKiBTQyAvIGNwdV9raHopIC8gU0MKLSAqCQlucyA9IGN5Y2xlcyAqIGN5YzJuc19zY2FsZSAvIFNDCi0gKgotICoJQW5kIHNpbmNlIFNDIGlzIGEgY29uc3RhbnQgcG93ZXIgb2YgdHdvLCB3ZSBjYW4gY29udmVydCB0aGUgZGl2Ci0gKiAgaW50byBhIHNoaWZ0LgotICoKLSAqICBXZSBjYW4gdXNlIGtoeiBkaXZpc29yIGluc3RlYWQgb2YgbWh6IHRvIGtlZXAgYSBiZXR0ZXIgcHJlY2lzaW9uLCBzaW5jZQotICogIGN5YzJuc19zY2FsZSBpcyBsaW1pdGVkIHRvIDEwXjYgKiAyXjEwLCB3aGljaCBmaXRzIGluIDMyIGJpdHMuCi0gKiAgKG1hdGhpZXUuZGVzbm95ZXJzQHBvbHltdGwuY2EpCi0gKgotICoJCQktam9obnN0dWxAdXMuaWJtLmNvbSAibWF0aCBpcyBoYXJkLCBsZXRzIGdvIHNob3BwaW5nISIKLSAqLwotCi1ERUZJTkVfUEVSX0NQVSh1bnNpZ25lZCBsb25nLCBjeWMybnMpOwotCi1zdGF0aWMgdm9pZCBzZXRfY3ljMm5zX3NjYWxlKHVuc2lnbmVkIGxvbmcgY3B1X2toeiwgaW50IGNwdSkKLXsKLQl1bnNpZ25lZCBsb25nIGxvbmcgdHNjX25vdywgbnNfbm93OwotCXVuc2lnbmVkIGxvbmcgZmxhZ3MsICpzY2FsZTsKLQotCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKLQlzY2hlZF9jbG9ja19pZGxlX3NsZWVwX2V2ZW50KCk7Ci0KLQlzY2FsZSA9ICZwZXJfY3B1KGN5YzJucywgY3B1KTsKLQotCXJkdHNjbGwodHNjX25vdyk7Ci0JbnNfbm93ID0gX19jeWNsZXNfMl9ucyh0c2Nfbm93KTsKLQotCWlmIChjcHVfa2h6KQotCQkqc2NhbGUgPSAoTlNFQ19QRVJfTVNFQyA8PCBDWUMyTlNfU0NBTEVfRkFDVE9SKS9jcHVfa2h6OwotCi0JLyoKLQkgKiBTdGFydCBzbW9vdGhseSB3aXRoIHRoZSBuZXcgZnJlcXVlbmN5OgotCSAqLwotCXNjaGVkX2Nsb2NrX2lkbGVfd2FrZXVwX2V2ZW50KDApOwotCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKLX0KLQotLyoKLSAqIFNjaGVkdWxlciBjbG9jayAtIHJldHVybnMgY3VycmVudCB0aW1lIGluIG5hbm9zZWMgdW5pdHMuCi0gKi8KLXVuc2lnbmVkIGxvbmcgbG9uZyBuYXRpdmVfc2NoZWRfY2xvY2sodm9pZCkKLXsKLQl1bnNpZ25lZCBsb25nIGxvbmcgdGhpc19vZmZzZXQ7Ci0KLQkvKgotCSAqIEZhbGwgYmFjayB0byBqaWZmaWVzIGlmIHRoZXJlJ3Mgbm8gVFNDIGF2YWlsYWJsZToKLQkgKiAoIEJ1dCBub3RlIHRoYXQgd2Ugc3RpbGwgdXNlIGl0IGlmIHRoZSBUU0MgaXMgbWFya2VkCi0JICogICB1bnN0YWJsZS4gV2UgZG8gdGhpcyBiZWNhdXNlIHVubGlrZSBUaW1lIE9mIERheSwKLQkgKiAgIHRoZSBzY2hlZHVsZXIgY2xvY2sgdG9sZXJhdGVzIHNtYWxsIGVycm9ycyBhbmQgaXQncwotCSAqICAgdmVyeSBpbXBvcnRhbnQgZm9yIGl0IHRvIGJlIGFzIGZhc3QgYXMgdGhlIHBsYXRmb3JtCi0JICogICBjYW4gYWNoaXZlIGl0LiApCi0JICovCi0JaWYgKHVubGlrZWx5KHRzY19kaXNhYmxlZCkpCi0JCS8qIE5vIGxvY2tpbmcgYnV0IGEgcmFyZSB3cm9uZyB2YWx1ZSBpcyBub3QgYSBiaWcgZGVhbDogKi8KLQkJcmV0dXJuIChqaWZmaWVzXzY0IC0gSU5JVElBTF9KSUZGSUVTKSAqICgxMDAwMDAwMDAwIC8gSFopOwotCi0JLyogcmVhZCB0aGUgVGltZSBTdGFtcCBDb3VudGVyOiAqLwotCXJkdHNjbGwodGhpc19vZmZzZXQpOwotCi0JLyogcmV0dXJuIHRoZSB2YWx1ZSBpbiBucyAqLwotCXJldHVybiBjeWNsZXNfMl9ucyh0aGlzX29mZnNldCk7Ci19Ci0KLS8qIFdlIG5lZWQgdG8gZGVmaW5lIGEgcmVhbCBmdW5jdGlvbiBmb3Igc2NoZWRfY2xvY2ssIHRvIG92ZXJyaWRlIHRoZQotICAgd2VhayBkZWZhdWx0IHZlcnNpb24gKi8KLSNpZmRlZiBDT05GSUdfUEFSQVZJUlQKLXVuc2lnbmVkIGxvbmcgbG9uZyBzY2hlZF9jbG9jayh2b2lkKQotewotCXJldHVybiBwYXJhdmlydF9zY2hlZF9jbG9jaygpOwotfQotI2Vsc2UKLXVuc2lnbmVkIGxvbmcgbG9uZyBzY2hlZF9jbG9jayh2b2lkKQotCV9fYXR0cmlidXRlX18oKGFsaWFzKCJuYXRpdmVfc2NoZWRfY2xvY2siKSkpOwotI2VuZGlmCi0KLXVuc2lnbmVkIGxvbmcgbmF0aXZlX2NhbGN1bGF0ZV9jcHVfa2h6KHZvaWQpCi17Ci0JdW5zaWduZWQgbG9uZyBsb25nIHN0YXJ0LCBlbmQ7Ci0JdW5zaWduZWQgbG9uZyBjb3VudDsKLQl1NjQgZGVsdGE2NCA9ICh1NjQpVUxMT05HX01BWDsKLQlpbnQgaTsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCi0JbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOwotCi0JLyogcnVuIDMgdGltZXMgdG8gZW5zdXJlIHRoZSBjYWNoZSBpcyB3YXJtIGFuZCB0byBnZXQgYW4gYWNjdXJhdGUgcmVhZGluZyAqLwotCWZvciAoaSA9IDA7IGkgPCAzOyBpKyspIHsKLQkJbWFjaF9wcmVwYXJlX2NvdW50ZXIoKTsKLQkJcmR0c2NsbChzdGFydCk7Ci0JCW1hY2hfY291bnR1cCgmY291bnQpOwotCQlyZHRzY2xsKGVuZCk7Ci0KLQkJLyoKLQkJICogRXJyb3I6IEVDVENORVZFUlNFVAotCQkgKiBUaGUgQ1RDIHdhc24ndCByZWxpYWJsZTogd2UgZ290IGEgaGl0IG9uIHRoZSB2ZXJ5IGZpcnN0IHJlYWQsCi0JCSAqIG9yIHRoZSBDUFUgd2FzIHNvIGZhc3Qvc2xvdyB0aGF0IHRoZSBxdW90aWVudCB3b3VsZG4ndCBmaXQgaW4KLQkJICogMzIgYml0cy4uCi0JCSAqLwotCQlpZiAoY291bnQgPD0gMSkKLQkJCWNvbnRpbnVlOwotCi0JCS8qIGNwdSBmcmVxIHRvbyBzbG93OiAqLwotCQlpZiAoKGVuZCAtIHN0YXJ0KSA8PSBDQUxJQlJBVEVfVElNRV9NU0VDKQotCQkJY29udGludWU7Ci0KLQkJLyoKLQkJICogV2Ugd2FudCB0aGUgbWluaW11bSB0aW1lIG9mIGFsbCBydW5zIGluIGNhc2Ugb25lIG9mIHRoZW0KLQkJICogaXMgaW5hY2N1cmF0ZSBkdWUgdG8gU01JIG9yIG90aGVyIGRlbGF5Ci0JCSAqLwotCQlkZWx0YTY0ID0gbWluKGRlbHRhNjQsIChlbmQgLSBzdGFydCkpOwotCX0KLQotCS8qIGNwdSBmcmVxIHRvbyBmYXN0IChvciBldmVyeSBydW4gd2FzIGJhZCk6ICovCi0JaWYgKGRlbHRhNjQgPiAoMVVMTDw8MzIpKQotCQlnb3RvIGVycjsKLQotCWRlbHRhNjQgKz0gQ0FMSUJSQVRFX1RJTUVfTVNFQy8yOyAvKiByb3VuZCBmb3IgZG9fZGl2ICovCi0JZG9fZGl2KGRlbHRhNjQsQ0FMSUJSQVRFX1RJTUVfTVNFQyk7Ci0KLQlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7Ci0JcmV0dXJuICh1bnNpZ25lZCBsb25nKWRlbHRhNjQ7Ci1lcnI6Ci0JbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOwotCXJldHVybiAwOwotfQotCi1pbnQgcmVjYWxpYnJhdGVfY3B1X2toeih2b2lkKQotewotI2lmbmRlZiBDT05GSUdfU01QCi0JdW5zaWduZWQgbG9uZyBjcHVfa2h6X29sZCA9IGNwdV9raHo7Ci0KLQlpZiAoY3B1X2hhc190c2MpIHsKLQkJY3B1X2toeiA9IGNhbGN1bGF0ZV9jcHVfa2h6KCk7Ci0JCXRzY19raHogPSBjcHVfa2h6OwotCQljcHVfZGF0YSgwKS5sb29wc19wZXJfamlmZnkgPQotCQkJY3B1ZnJlcV9zY2FsZShjcHVfZGF0YSgwKS5sb29wc19wZXJfamlmZnksCi0JCQkJCWNwdV9raHpfb2xkLCBjcHVfa2h6KTsKLQkJcmV0dXJuIDA7Ci0JfSBlbHNlCi0JCXJldHVybiAtRU5PREVWOwotI2Vsc2UKLQlyZXR1cm4gLUVOT0RFVjsKLSNlbmRpZgotfQotCi1FWFBPUlRfU1lNQk9MKHJlY2FsaWJyYXRlX2NwdV9raHopOwotCi0jaWZkZWYgQ09ORklHX0NQVV9GUkVRCi0KLS8qCi0gKiBpZiB0aGUgQ1BVIGZyZXF1ZW5jeSBpcyBzY2FsZWQsIFRTQy1iYXNlZCBkZWxheXMgd2lsbCBuZWVkIGEgZGlmZmVyZW50Ci0gKiBsb29wc19wZXJfamlmZnkgdmFsdWUgdG8gZnVuY3Rpb24gcHJvcGVybHkuCi0gKi8KLXN0YXRpYyB1bnNpZ25lZCBpbnQgcmVmX2ZyZXE7Ci1zdGF0aWMgdW5zaWduZWQgbG9uZyBsb29wc19wZXJfamlmZnlfcmVmOwotc3RhdGljIHVuc2lnbmVkIGxvbmcgY3B1X2toel9yZWY7Ci0KLXN0YXRpYyBpbnQKLXRpbWVfY3B1ZnJlcV9ub3RpZmllcihzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKm5iLCB1bnNpZ25lZCBsb25nIHZhbCwgdm9pZCAqZGF0YSkKLXsKLQlzdHJ1Y3QgY3B1ZnJlcV9mcmVxcyAqZnJlcSA9IGRhdGE7Ci0KLQlpZiAoIXJlZl9mcmVxKSB7Ci0JCWlmICghZnJlcS0+b2xkKXsKLQkJCXJlZl9mcmVxID0gZnJlcS0+bmV3OwotCQkJcmV0dXJuIDA7Ci0JCX0KLQkJcmVmX2ZyZXEgPSBmcmVxLT5vbGQ7Ci0JCWxvb3BzX3Blcl9qaWZmeV9yZWYgPSBjcHVfZGF0YShmcmVxLT5jcHUpLmxvb3BzX3Blcl9qaWZmeTsKLQkJY3B1X2toel9yZWYgPSBjcHVfa2h6OwotCX0KLQotCWlmICgodmFsID09IENQVUZSRVFfUFJFQ0hBTkdFICAmJiBmcmVxLT5vbGQgPCBmcmVxLT5uZXcpIHx8Ci0JICAgICh2YWwgPT0gQ1BVRlJFUV9QT1NUQ0hBTkdFICYmIGZyZXEtPm9sZCA+IGZyZXEtPm5ldykgfHwKLQkgICAgKHZhbCA9PSBDUFVGUkVRX1JFU1VNRUNIQU5HRSkpIHsKLQkJaWYgKCEoZnJlcS0+ZmxhZ3MgJiBDUFVGUkVRX0NPTlNUX0xPT1BTKSkKLQkJCWNwdV9kYXRhKGZyZXEtPmNwdSkubG9vcHNfcGVyX2ppZmZ5ID0KLQkJCQljcHVmcmVxX3NjYWxlKGxvb3BzX3Blcl9qaWZmeV9yZWYsCi0JCQkJCQlyZWZfZnJlcSwgZnJlcS0+bmV3KTsKLQotCQlpZiAoY3B1X2toeikgewotCi0JCQlpZiAobnVtX29ubGluZV9jcHVzKCkgPT0gMSkKLQkJCQljcHVfa2h6ID0gY3B1ZnJlcV9zY2FsZShjcHVfa2h6X3JlZiwKLQkJCQkJCXJlZl9mcmVxLCBmcmVxLT5uZXcpOwotCQkJaWYgKCEoZnJlcS0+ZmxhZ3MgJiBDUFVGUkVRX0NPTlNUX0xPT1BTKSkgewotCQkJCXRzY19raHogPSBjcHVfa2h6OwotCQkJCXNldF9jeWMybnNfc2NhbGUoY3B1X2toeiwgZnJlcS0+Y3B1KTsKLQkJCQkvKgotCQkJCSAqIFRTQyBiYXNlZCBzY2hlZF9jbG9jayB0dXJucwotCQkJCSAqIHRvIGp1bmsgdy8gY3B1ZnJlcQotCQkJCSAqLwotCQkJCW1hcmtfdHNjX3Vuc3RhYmxlKCJjcHVmcmVxIGNoYW5nZXMiKTsKLQkJCX0KLQkJfQotCX0KLQotCXJldHVybiAwOwotfQotCi1zdGF0aWMgc3RydWN0IG5vdGlmaWVyX2Jsb2NrIHRpbWVfY3B1ZnJlcV9ub3RpZmllcl9ibG9jayA9IHsKLQkubm90aWZpZXJfY2FsbAk9IHRpbWVfY3B1ZnJlcV9ub3RpZmllcgotfTsKLQotc3RhdGljIGludCBfX2luaXQgY3B1ZnJlcV90c2Modm9pZCkKLXsKLQlyZXR1cm4gY3B1ZnJlcV9yZWdpc3Rlcl9ub3RpZmllcigmdGltZV9jcHVmcmVxX25vdGlmaWVyX2Jsb2NrLAotCQkJCQkgQ1BVRlJFUV9UUkFOU0lUSU9OX05PVElGSUVSKTsKLX0KLWNvcmVfaW5pdGNhbGwoY3B1ZnJlcV90c2MpOwotCi0jZW5kaWYKLQotLyogY2xvY2sgc291cmNlIGNvZGUgKi8KLQotc3RhdGljIHVuc2lnbmVkIGxvbmcgY3VycmVudF90c2Nfa2h6Owotc3RhdGljIHN0cnVjdCBjbG9ja3NvdXJjZSBjbG9ja3NvdXJjZV90c2M7Ci0KLS8qCi0gKiBXZSBjb21wYXJlIHRoZSBUU0MgdG8gdGhlIGN5Y2xlX2xhc3QgdmFsdWUgaW4gdGhlIGNsb2Nrc291cmNlCi0gKiBzdHJ1Y3R1cmUgdG8gYXZvaWQgYSBuYXN0eSB0aW1lLXdhcnAgaXNzdWUuIFRoaXMgY2FuIGJlIG9ic2VydmVkIGluCi0gKiBhIHZlcnkgc21hbGwgd2luZG93IHJpZ2h0IGFmdGVyIG9uZSBDUFUgdXBkYXRlZCBjeWNsZV9sYXN0IHVuZGVyCi0gKiB4dGltZSBsb2NrIGFuZCB0aGUgb3RoZXIgQ1BVIHJlYWRzIGEgVFNDIHZhbHVlIHdoaWNoIGlzIHNtYWxsZXIKLSAqIHRoYW4gdGhlIGN5Y2xlX2xhc3QgcmVmZXJlbmNlIHZhbHVlIGR1ZSB0byBhIFRTQyB3aGljaCBpcyBzbGlnaHR5Ci0gKiBiZWhpbmQuIFRoaXMgZGVsdGEgaXMgbm93aGVyZSBlbHNlIG9ic2VydmFibGUsIGJ1dCBpbiB0aGF0IGNhc2UgaXQKLSAqIHJlc3VsdHMgaW4gYSBmb3J3YXJkIHRpbWUganVtcCBpbiB0aGUgcmFuZ2Ugb2YgaG91cnMgZHVlIHRvIHRoZQotICogdW5zaWduZWQgZGVsdGEgY2FsY3VsYXRpb24gb2YgdGhlIHRpbWUga2VlcGluZyBjb3JlIGNvZGUsIHdoaWNoIGlzCi0gKiBuZWNlc3NhcnkgdG8gc3VwcG9ydCB3cmFwcGluZyBjbG9ja3NvdXJjZXMgbGlrZSBwbSB0aW1lci4KLSAqLwotc3RhdGljIGN5Y2xlX3QgcmVhZF90c2Modm9pZCkKLXsKLQljeWNsZV90IHJldDsKLQotCXJkdHNjbGwocmV0KTsKLQotCXJldHVybiByZXQgPj0gY2xvY2tzb3VyY2VfdHNjLmN5Y2xlX2xhc3QgPwotCQlyZXQgOiBjbG9ja3NvdXJjZV90c2MuY3ljbGVfbGFzdDsKLX0KLQotc3RhdGljIHN0cnVjdCBjbG9ja3NvdXJjZSBjbG9ja3NvdXJjZV90c2MgPSB7Ci0JLm5hbWUJCQk9ICJ0c2MiLAotCS5yYXRpbmcJCQk9IDMwMCwKLQkucmVhZAkJCT0gcmVhZF90c2MsCi0JLm1hc2sJCQk9IENMT0NLU09VUkNFX01BU0soNjQpLAotCS5tdWx0CQkJPSAwLCAvKiB0byBiZSBzZXQgKi8KLQkuc2hpZnQJCQk9IDIyLAotCS5mbGFncwkJCT0gQ0xPQ0tfU09VUkNFX0lTX0NPTlRJTlVPVVMgfAotCQkJCSAgQ0xPQ0tfU09VUkNFX01VU1RfVkVSSUZZLAotfTsKLQotdm9pZCBtYXJrX3RzY191bnN0YWJsZShjaGFyICpyZWFzb24pCi17Ci0JaWYgKCF0c2NfdW5zdGFibGUpIHsKLQkJdHNjX3Vuc3RhYmxlID0gMTsKLQkJcHJpbnRrKCJNYXJraW5nIFRTQyB1bnN0YWJsZSBkdWUgdG86ICVzLlxuIiwgcmVhc29uKTsKLQkJLyogQ2FuIGJlIGNhbGxlZCBiZWZvcmUgcmVnaXN0cmF0aW9uICovCi0JCWlmIChjbG9ja3NvdXJjZV90c2MubXVsdCkKLQkJCWNsb2Nrc291cmNlX2NoYW5nZV9yYXRpbmcoJmNsb2Nrc291cmNlX3RzYywgMCk7Ci0JCWVsc2UKLQkJCWNsb2Nrc291cmNlX3RzYy5yYXRpbmcgPSAwOwotCX0KLX0KLUVYUE9SVF9TWU1CT0xfR1BMKG1hcmtfdHNjX3Vuc3RhYmxlKTsKLQotc3RhdGljIGludCBfX2luaXQgZG1pX21hcmtfdHNjX3Vuc3RhYmxlKGNvbnN0IHN0cnVjdCBkbWlfc3lzdGVtX2lkICpkKQotewotCXByaW50ayhLRVJOX05PVElDRSAiJXMgZGV0ZWN0ZWQ6IG1hcmtpbmcgVFNDIHVuc3RhYmxlLlxuIiwKLQkgICAgICAgZC0+aWRlbnQpOwotCXRzY191bnN0YWJsZSA9IDE7Ci0JcmV0dXJuIDA7Ci19Ci0KLS8qIExpc3Qgb2Ygc3lzdGVtcyB0aGF0IGhhdmUga25vd24gVFNDIHByb2JsZW1zICovCi1zdGF0aWMgc3RydWN0IGRtaV9zeXN0ZW1faWQgX19pbml0ZGF0YSBiYWRfdHNjX2RtaV90YWJsZVtdID0gewotCXsKLQkgLmNhbGxiYWNrID0gZG1pX21hcmtfdHNjX3Vuc3RhYmxlLAotCSAuaWRlbnQgPSAiSUJNIFRoaW5rcGFkIDM4MFhEIiwKLQkgLm1hdGNoZXMgPSB7Ci0JCSAgICAgRE1JX01BVENIKERNSV9CT0FSRF9WRU5ET1IsICJJQk0iKSwKLQkJICAgICBETUlfTUFUQ0goRE1JX0JPQVJEX05BTUUsICIyNjM1RkEwIiksCi0JCSAgICAgfSwKLQkgfSwKLQkge30KLX07Ci0KLS8qCi0gKiBNYWtlIGFuIGVkdWNhdGVkIGd1ZXNzIGlmIHRoZSBUU0MgaXMgdHJ1c3R3b3J0aHkgYW5kIHN5bmNocm9uaXplZAotICogb3ZlciBhbGwgQ1BVcy4KLSAqLwotX19jcHVpbml0IGludCB1bnN5bmNocm9uaXplZF90c2Modm9pZCkKLXsKLQlpZiAoIWNwdV9oYXNfdHNjIHx8IHRzY191bnN0YWJsZSkKLQkJcmV0dXJuIDE7Ci0KLQkvKiBBbnl0aGluZyB3aXRoIGNvbnN0YW50IFRTQyBzaG91bGQgYmUgc3luY2hyb25pemVkICovCi0JaWYgKGJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9DT05TVEFOVF9UU0MpKQotCQlyZXR1cm4gMDsKLQotCS8qCi0JICogSW50ZWwgc3lzdGVtcyBhcmUgbm9ybWFsbHkgYWxsIHN5bmNocm9uaXplZC4KLQkgKiBFeGNlcHRpb25zIG11c3QgbWFyayBUU0MgYXMgdW5zdGFibGU6Ci0JICovCi0JaWYgKGJvb3RfY3B1X2RhdGEueDg2X3ZlbmRvciAhPSBYODZfVkVORE9SX0lOVEVMKSB7Ci0JCS8qIGFzc3VtZSBtdWx0aSBzb2NrZXQgc3lzdGVtcyBhcmUgbm90IHN5bmNocm9uaXplZDogKi8KLQkJaWYgKG51bV9wb3NzaWJsZV9jcHVzKCkgPiAxKQotCQkJdHNjX3Vuc3RhYmxlID0gMTsKLQl9Ci0JcmV0dXJuIHRzY191bnN0YWJsZTsKLX0KLQotLyoKLSAqIEdlb2RlX0xYIC0gdGhlIE9MUEMgQ1BVIGhhcyBhIHBvc3NpYmx5IGEgdmVyeSByZWxpYWJsZSBUU0MKLSAqLwotI2lmZGVmIENPTkZJR19NR0VPREVfTFgKLS8qIFJUU0MgY291bnRzIGR1cmluZyBzdXNwZW5kICovCi0jZGVmaW5lIFJUU0NfU1VTUCAweDEwMAotCi1zdGF0aWMgdm9pZCBfX2luaXQgY2hlY2tfZ2VvZGVfdHNjX3JlbGlhYmxlKHZvaWQpCi17Ci0JdW5zaWduZWQgbG9uZyByZXNfbG93LCByZXNfaGlnaDsKLQotCXJkbXNyX3NhZmUoTVNSX0dFT0RFX0JVU0NPTlRfQ09ORjAsICZyZXNfbG93LCAmcmVzX2hpZ2gpOwotCWlmIChyZXNfbG93ICYgUlRTQ19TVVNQKQotCQljbG9ja3NvdXJjZV90c2MuZmxhZ3MgJj0gfkNMT0NLX1NPVVJDRV9NVVNUX1ZFUklGWTsKLX0KLSNlbHNlCi1zdGF0aWMgaW5saW5lIHZvaWQgY2hlY2tfZ2VvZGVfdHNjX3JlbGlhYmxlKHZvaWQpIHsgfQotI2VuZGlmCi0KLQotdm9pZCBfX2luaXQgdHNjX2luaXQodm9pZCkKLXsKLQlpbnQgY3B1OwotCi0JaWYgKCFjcHVfaGFzX3RzYyB8fCB0c2NfZGlzYWJsZWQgPiAwKQotCQlyZXR1cm47Ci0KLQljcHVfa2h6ID0gY2FsY3VsYXRlX2NwdV9raHooKTsKLQl0c2Nfa2h6ID0gY3B1X2toejsKLQotCWlmICghY3B1X2toeikgewotCQltYXJrX3RzY191bnN0YWJsZSgiY291bGQgbm90IGNhbGN1bGF0ZSBUU0Mga2h6Iik7Ci0JCXJldHVybjsKLQl9Ci0KLQkvKiBub3cgYWxsb3cgbmF0aXZlX3NjaGVkX2Nsb2NrKCkgdG8gdXNlIHJkdHNjICovCi0JdHNjX2Rpc2FibGVkID0gMDsKLQotCXByaW50aygiRGV0ZWN0ZWQgJWx1LiUwM2x1IE1IeiBwcm9jZXNzb3IuXG4iLAotCQkJCSh1bnNpZ25lZCBsb25nKWNwdV9raHogLyAxMDAwLAotCQkJCSh1bnNpZ25lZCBsb25nKWNwdV9raHogJSAxMDAwKTsKLQotCS8qCi0JICogU2Vjb25kYXJ5IENQVXMgZG8gbm90IHJ1biB0aHJvdWdoIHRzY19pbml0KCksIHNvIHNldCB1cAotCSAqIGFsbCB0aGUgc2NhbGUgZmFjdG9ycyBmb3IgYWxsIENQVXMsIGFzc3VtaW5nIHRoZSBzYW1lCi0JICogc3BlZWQgYXMgdGhlIGJvb3R1cCBDUFUuIChjcHVmcmVxIG5vdGlmaWVycyB3aWxsIGZpeCB0aGlzCi0JICogdXAgaWYgdGhlaXIgc3BlZWQgZGl2ZXJnZXMpCi0JICovCi0JZm9yX2VhY2hfcG9zc2libGVfY3B1KGNwdSkKLQkJc2V0X2N5YzJuc19zY2FsZShjcHVfa2h6LCBjcHUpOwotCi0JdXNlX3RzY19kZWxheSgpOwotCi0JLyogQ2hlY2sgYW5kIGluc3RhbGwgdGhlIFRTQyBjbG9ja3NvdXJjZSAqLwotCWRtaV9jaGVja19zeXN0ZW0oYmFkX3RzY19kbWlfdGFibGUpOwotCi0JdW5zeW5jaHJvbml6ZWRfdHNjKCk7Ci0JY2hlY2tfZ2VvZGVfdHNjX3JlbGlhYmxlKCk7Ci0JY3VycmVudF90c2Nfa2h6ID0gdHNjX2toejsKLQljbG9ja3NvdXJjZV90c2MubXVsdCA9IGNsb2Nrc291cmNlX2toejJtdWx0KGN1cnJlbnRfdHNjX2toeiwKLQkJCQkJCQljbG9ja3NvdXJjZV90c2Muc2hpZnQpOwotCS8qIGxvd2VyIHRoZSByYXRpbmcgaWYgd2UgYWxyZWFkeSBrbm93IGl0cyB1bnN0YWJsZTogKi8KLQlpZiAoY2hlY2tfdHNjX3Vuc3RhYmxlKCkpIHsKLQkJY2xvY2tzb3VyY2VfdHNjLnJhdGluZyA9IDA7Ci0JCWNsb2Nrc291cmNlX3RzYy5mbGFncyAmPSB+Q0xPQ0tfU09VUkNFX0lTX0NPTlRJTlVPVVM7Ci0JfQotCWNsb2Nrc291cmNlX3JlZ2lzdGVyKCZjbG9ja3NvdXJjZV90c2MpOwotfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3RzY182NC5jIGIvYXJjaC94ODYva2VybmVsL3RzY182NC5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNzg0YjgwLi4wMDAwMDAwCi0tLSBhL2FyY2gveDg2L2tlcm5lbC90c2NfNjQuYworKysgL2Rldi9udWxsCkBAIC0xLDM1NyArMCwwIEBACi0jaW5jbHVkZSA8bGludXgva2VybmVsLmg+Ci0jaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KLSNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KLSNpbmNsdWRlIDxsaW51eC9pbml0Lmg+Ci0jaW5jbHVkZSA8bGludXgvY2xvY2tzb3VyY2UuaD4KLSNpbmNsdWRlIDxsaW51eC90aW1lLmg+Ci0jaW5jbHVkZSA8bGludXgvYWNwaS5oPgotI2luY2x1ZGUgPGxpbnV4L2NwdWZyZXEuaD4KLSNpbmNsdWRlIDxsaW51eC9hY3BpX3BtdG1yLmg+Ci0KLSNpbmNsdWRlIDxhc20vaHBldC5oPgotI2luY2x1ZGUgPGFzbS90aW1leC5oPgotI2luY2x1ZGUgPGFzbS90aW1lci5oPgotI2luY2x1ZGUgPGFzbS92Z3RvZC5oPgotCi1zdGF0aWMgaW50IG5vdHNjIF9faW5pdGRhdGEgPSAwOwotCi11bnNpZ25lZCBpbnQgY3B1X2toejsJCS8qIFRTQyBjbG9ja3MgLyB1c2VjLCBub3QgdXNlZCBoZXJlICovCi1FWFBPUlRfU1lNQk9MKGNwdV9raHopOwotdW5zaWduZWQgaW50IHRzY19raHo7Ci1FWFBPUlRfU1lNQk9MKHRzY19raHopOwotCi0vKiBBY2NlbGVyYXRvcnMgZm9yIHNjaGVkX2Nsb2NrKCkKLSAqIGNvbnZlcnQgZnJvbSBjeWNsZXMoNjRiaXRzKSA9PiBuYW5vc2Vjb25kcyAoNjRiaXRzKQotICogIGJhc2ljIGVxdWF0aW9uOgotICoJCW5zID0gY3ljbGVzIC8gKGZyZXEgLyBuc19wZXJfc2VjKQotICoJCW5zID0gY3ljbGVzICogKG5zX3Blcl9zZWMgLyBmcmVxKQotICoJCW5zID0gY3ljbGVzICogKDEwXjkgLyAoY3B1X2toeiAqIDEwXjMpKQotICoJCW5zID0gY3ljbGVzICogKDEwXjYgLyBjcHVfa2h6KQotICoKLSAqCVRoZW4gd2UgdXNlIHNjYWxpbmcgbWF0aCAoc3VnZ2VzdGVkIGJ5IGdlb3JnZUBtdmlzdGEuY29tKSB0byBnZXQ6Ci0gKgkJbnMgPSBjeWNsZXMgKiAoMTBeNiAqIFNDIC8gY3B1X2toeikgLyBTQwotICoJCW5zID0gY3ljbGVzICogY3ljMm5zX3NjYWxlIC8gU0MKLSAqCi0gKglBbmQgc2luY2UgU0MgaXMgYSBjb25zdGFudCBwb3dlciBvZiB0d28sIHdlIGNhbiBjb252ZXJ0IHRoZSBkaXYKLSAqICBpbnRvIGEgc2hpZnQuCi0gKgotICogIFdlIGNhbiB1c2Uga2h6IGRpdmlzb3IgaW5zdGVhZCBvZiBtaHogdG8ga2VlcCBhIGJldHRlciBwcmVjaXNpb24sIHNpbmNlCi0gKiAgY3ljMm5zX3NjYWxlIGlzIGxpbWl0ZWQgdG8gMTBeNiAqIDJeMTAsIHdoaWNoIGZpdHMgaW4gMzIgYml0cy4KLSAqICAobWF0aGlldS5kZXNub3llcnNAcG9seW10bC5jYSkKLSAqCi0gKgkJCS1qb2huc3R1bEB1cy5pYm0uY29tICJtYXRoIGlzIGhhcmQsIGxldHMgZ28gc2hvcHBpbmchIgotICovCi1ERUZJTkVfUEVSX0NQVSh1bnNpZ25lZCBsb25nLCBjeWMybnMpOwotCi1zdGF0aWMgdm9pZCBzZXRfY3ljMm5zX3NjYWxlKHVuc2lnbmVkIGxvbmcgY3B1X2toeiwgaW50IGNwdSkKLXsKLQl1bnNpZ25lZCBsb25nIGxvbmcgdHNjX25vdywgbnNfbm93OwotCXVuc2lnbmVkIGxvbmcgZmxhZ3MsICpzY2FsZTsKLQotCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKLQlzY2hlZF9jbG9ja19pZGxlX3NsZWVwX2V2ZW50KCk7Ci0KLQlzY2FsZSA9ICZwZXJfY3B1KGN5YzJucywgY3B1KTsKLQotCXJkdHNjbGwodHNjX25vdyk7Ci0JbnNfbm93ID0gX19jeWNsZXNfMl9ucyh0c2Nfbm93KTsKLQotCWlmIChjcHVfa2h6KQotCQkqc2NhbGUgPSAoTlNFQ19QRVJfTVNFQyA8PCBDWUMyTlNfU0NBTEVfRkFDVE9SKS9jcHVfa2h6OwotCi0Jc2NoZWRfY2xvY2tfaWRsZV93YWtldXBfZXZlbnQoMCk7Ci0JbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOwotfQotCi11bnNpZ25lZCBsb25nIGxvbmcgbmF0aXZlX3NjaGVkX2Nsb2NrKHZvaWQpCi17Ci0JdW5zaWduZWQgbG9uZyBhID0gMDsKLQotCS8qIENvdWxkIGRvIENQVSBjb3JlIHN5bmMgaGVyZS4gT3B0ZXJvbiBjYW4gZXhlY3V0ZSByZHRzYyBzcGVjdWxhdGl2ZWx5LAotCSAqIHdoaWNoIG1lYW5zIGl0IGlzIG5vdCBjb21wbGV0ZWx5IGV4YWN0IGFuZCBtYXkgbm90IGJlIG1vbm90b25vdXMKLQkgKiBiZXR3ZWVuIENQVXMuIEJ1dCB0aGUgZXJyb3JzIHNob3VsZCBiZSB0b28gc21hbGwgdG8gbWF0dGVyIGZvcgotCSAqIHNjaGVkdWxpbmcgcHVycG9zZXMuCi0JICovCi0KLQlyZHRzY2xsKGEpOwotCXJldHVybiBjeWNsZXNfMl9ucyhhKTsKLX0KLQotLyogV2UgbmVlZCB0byBkZWZpbmUgYSByZWFsIGZ1bmN0aW9uIGZvciBzY2hlZF9jbG9jaywgdG8gb3ZlcnJpZGUgdGhlCi0gICB3ZWFrIGRlZmF1bHQgdmVyc2lvbiAqLwotI2lmZGVmIENPTkZJR19QQVJBVklSVAotdW5zaWduZWQgbG9uZyBsb25nIHNjaGVkX2Nsb2NrKHZvaWQpCi17Ci0JcmV0dXJuIHBhcmF2aXJ0X3NjaGVkX2Nsb2NrKCk7Ci19Ci0jZWxzZQotdW5zaWduZWQgbG9uZyBsb25nCi1zY2hlZF9jbG9jayh2b2lkKSBfX2F0dHJpYnV0ZV9fKChhbGlhcygibmF0aXZlX3NjaGVkX2Nsb2NrIikpKTsKLSNlbmRpZgotCi0KLXN0YXRpYyBpbnQgdHNjX3Vuc3RhYmxlOwotCi1pbnQgY2hlY2tfdHNjX3Vuc3RhYmxlKHZvaWQpCi17Ci0JcmV0dXJuIHRzY191bnN0YWJsZTsKLX0KLUVYUE9SVF9TWU1CT0xfR1BMKGNoZWNrX3RzY191bnN0YWJsZSk7Ci0KLSNpZmRlZiBDT05GSUdfQ1BVX0ZSRVEKLQotLyogRnJlcXVlbmN5IHNjYWxpbmcgc3VwcG9ydC4gQWRqdXN0IHRoZSBUU0MgYmFzZWQgdGltZXIgd2hlbiB0aGUgY3B1IGZyZXF1ZW5jeQotICogY2hhbmdlcy4KLSAqCi0gKiBSRUQtUEVOOiBPbiBTTVAgd2UgYXNzdW1lIGFsbCBDUFVzIHJ1biB3aXRoIHRoZSBzYW1lIGZyZXF1ZW5jeS4gIEl0J3MKLSAqIG5vdCB0aGF0IGltcG9ydGFudCBiZWNhdXNlIGN1cnJlbnQgT3B0ZXJvbiBzZXR1cHMgZG8gbm90IHN1cHBvcnQKLSAqIHNjYWxpbmcgb24gU01QIGFueXJvYWRzLgotICoKLSAqIFNob3VsZCBmaXggdXAgbGFzdF90c2MgdG9vLiBDdXJyZW50bHkgZ2V0dGltZW9mZGF5IGluIHRoZQotICogZmlyc3QgdGljayBhZnRlciB0aGUgY2hhbmdlIHdpbGwgYmUgc2xpZ2h0bHkgd3JvbmcuCi0gKi8KLQotc3RhdGljIHVuc2lnbmVkIGludCAgcmVmX2ZyZXE7Ci1zdGF0aWMgdW5zaWduZWQgbG9uZyBsb29wc19wZXJfamlmZnlfcmVmOwotc3RhdGljIHVuc2lnbmVkIGxvbmcgdHNjX2toel9yZWY7Ci0KLXN0YXRpYyBpbnQgdGltZV9jcHVmcmVxX25vdGlmaWVyKHN0cnVjdCBub3RpZmllcl9ibG9jayAqbmIsIHVuc2lnbmVkIGxvbmcgdmFsLAotCQkJCSB2b2lkICpkYXRhKQotewotCXN0cnVjdCBjcHVmcmVxX2ZyZXFzICpmcmVxID0gZGF0YTsKLQl1bnNpZ25lZCBsb25nICpscGosIGR1bW15OwotCi0JaWYgKGNwdV9oYXMoJmNwdV9kYXRhKGZyZXEtPmNwdSksIFg4Nl9GRUFUVVJFX0NPTlNUQU5UX1RTQykpCi0JCXJldHVybiAwOwotCi0JbHBqID0gJmR1bW15OwotCWlmICghKGZyZXEtPmZsYWdzICYgQ1BVRlJFUV9DT05TVF9MT09QUykpCi0jaWZkZWYgQ09ORklHX1NNUAotCQlscGogPSAmY3B1X2RhdGEoZnJlcS0+Y3B1KS5sb29wc19wZXJfamlmZnk7Ci0jZWxzZQotCQlscGogPSAmYm9vdF9jcHVfZGF0YS5sb29wc19wZXJfamlmZnk7Ci0jZW5kaWYKLQotCWlmICghcmVmX2ZyZXEpIHsKLQkJcmVmX2ZyZXEgPSBmcmVxLT5vbGQ7Ci0JCWxvb3BzX3Blcl9qaWZmeV9yZWYgPSAqbHBqOwotCQl0c2Nfa2h6X3JlZiA9IHRzY19raHo7Ci0JfQotCWlmICgodmFsID09IENQVUZSRVFfUFJFQ0hBTkdFICAmJiBmcmVxLT5vbGQgPCBmcmVxLT5uZXcpIHx8Ci0JCSh2YWwgPT0gQ1BVRlJFUV9QT1NUQ0hBTkdFICYmIGZyZXEtPm9sZCA+IGZyZXEtPm5ldykgfHwKLQkJKHZhbCA9PSBDUFVGUkVRX1JFU1VNRUNIQU5HRSkpIHsKLQkJKmxwaiA9Ci0JCWNwdWZyZXFfc2NhbGUobG9vcHNfcGVyX2ppZmZ5X3JlZiwgcmVmX2ZyZXEsIGZyZXEtPm5ldyk7Ci0KLQkJdHNjX2toeiA9IGNwdWZyZXFfc2NhbGUodHNjX2toel9yZWYsIHJlZl9mcmVxLCBmcmVxLT5uZXcpOwotCQlpZiAoIShmcmVxLT5mbGFncyAmIENQVUZSRVFfQ09OU1RfTE9PUFMpKQotCQkJbWFya190c2NfdW5zdGFibGUoImNwdWZyZXEgY2hhbmdlcyIpOwotCX0KLQotCXNldF9jeWMybnNfc2NhbGUodHNjX2toel9yZWYsIGZyZXEtPmNwdSk7Ci0KLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHN0cnVjdCBub3RpZmllcl9ibG9jayB0aW1lX2NwdWZyZXFfbm90aWZpZXJfYmxvY2sgPSB7Ci0JLm5vdGlmaWVyX2NhbGwgID0gdGltZV9jcHVmcmVxX25vdGlmaWVyCi19OwotCi1zdGF0aWMgaW50IF9faW5pdCBjcHVmcmVxX3RzYyh2b2lkKQotewotCWNwdWZyZXFfcmVnaXN0ZXJfbm90aWZpZXIoJnRpbWVfY3B1ZnJlcV9ub3RpZmllcl9ibG9jaywKLQkJCQkgIENQVUZSRVFfVFJBTlNJVElPTl9OT1RJRklFUik7Ci0JcmV0dXJuIDA7Ci19Ci0KLWNvcmVfaW5pdGNhbGwoY3B1ZnJlcV90c2MpOwotCi0jZW5kaWYKLQotI2RlZmluZSBNQVhfUkVUUklFUwk1Ci0jZGVmaW5lIFNNSV9UUkVTSE9MRAk1MDAwMAotCi0vKgotICogUmVhZCBUU0MgYW5kIHRoZSByZWZlcmVuY2UgY291bnRlcnMuIFRha2UgY2FyZSBvZiBTTUkgZGlzdHVyYmFuY2UKLSAqLwotc3RhdGljIHVuc2lnbmVkIGxvbmcgX19pbml0IHRzY19yZWFkX3JlZnModW5zaWduZWQgbG9uZyAqcG0sCi0JCQkJCSAgdW5zaWduZWQgbG9uZyAqaHBldCkKLXsKLQl1bnNpZ25lZCBsb25nIHQxLCB0MjsKLQlpbnQgaTsKLQotCWZvciAoaSA9IDA7IGkgPCBNQVhfUkVUUklFUzsgaSsrKSB7Ci0JCXQxID0gZ2V0X2N5Y2xlcygpOwotCQlpZiAoaHBldCkKLQkJCSpocGV0ID0gaHBldF9yZWFkbChIUEVUX0NPVU5URVIpICYgMHhGRkZGRkZGRjsKLQkJZWxzZQotCQkJKnBtID0gYWNwaV9wbV9yZWFkX2Vhcmx5KCk7Ci0JCXQyID0gZ2V0X2N5Y2xlcygpOwotCQlpZiAoKHQyIC0gdDEpIDwgU01JX1RSRVNIT0xEKQotCQkJcmV0dXJuIHQyOwotCX0KLQlyZXR1cm4gVUxPTkdfTUFYOwotfQotCi0vKioKLSAqIHRzY19jYWxpYnJhdGUgLSBjYWxpYnJhdGUgdGhlIHRzYyBvbiBib290Ci0gKi8KLXZvaWQgX19pbml0IHRzY19jYWxpYnJhdGUodm9pZCkKLXsKLQl1bnNpZ25lZCBsb25nIGZsYWdzLCB0c2MxLCB0c2MyLCB0cjEsIHRyMiwgcG0xLCBwbTIsIGhwZXQxLCBocGV0MjsKLQlpbnQgaHBldCA9IGlzX2hwZXRfZW5hYmxlZCgpLCBjcHU7Ci0KLQlsb2NhbF9pcnFfc2F2ZShmbGFncyk7Ci0KLQl0c2MxID0gdHNjX3JlYWRfcmVmcygmcG0xLCBocGV0ID8gJmhwZXQxIDogTlVMTCk7Ci0KLQlvdXRiKChpbmIoMHg2MSkgJiB+MHgwMikgfCAweDAxLCAweDYxKTsKLQotCW91dGIoMHhiMCwgMHg0Myk7Ci0Jb3V0YigoQ0xPQ0tfVElDS19SQVRFIC8gKDEwMDAgLyA1MCkpICYgMHhmZiwgMHg0Mik7Ci0Jb3V0YigoQ0xPQ0tfVElDS19SQVRFIC8gKDEwMDAgLyA1MCkpID4+IDgsIDB4NDIpOwotCXRyMSA9IGdldF9jeWNsZXMoKTsKLQl3aGlsZSAoKGluYigweDYxKSAmIDB4MjApID09IDApOwotCXRyMiA9IGdldF9jeWNsZXMoKTsKLQotCXRzYzIgPSB0c2NfcmVhZF9yZWZzKCZwbTIsIGhwZXQgPyAmaHBldDIgOiBOVUxMKTsKLQotCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKLQotCS8qCi0JICogUHJlc2V0IHRoZSByZXN1bHQgd2l0aCB0aGUgcmF3IGFuZCBpbmFjY3VyYXRlIFBJVAotCSAqIGNhbGlicmF0aW9uIHZhbHVlCi0JICovCi0JdHNjX2toeiA9ICh0cjIgLSB0cjEpIC8gNTA7Ci0KLQkvKiBocGV0IG9yIHBtdGltZXIgYXZhaWxhYmxlID8gKi8KLQlpZiAoIWhwZXQgJiYgIXBtMSAmJiAhcG0yKSB7Ci0JCXByaW50ayhLRVJOX0lORk8gIlRTQyBjYWxpYnJhdGVkIGFnYWluc3QgUElUXG4iKTsKLQkJZ290byBvdXQ7Ci0JfQotCi0JLyogQ2hlY2ssIHdoZXRoZXIgdGhlIHNhbXBsaW5nIHdhcyBkaXN0dXJiZWQgYnkgYW4gU01JICovCi0JaWYgKHRzYzEgPT0gVUxPTkdfTUFYIHx8IHRzYzIgPT0gVUxPTkdfTUFYKSB7Ci0JCXByaW50ayhLRVJOX1dBUk5JTkcgIlRTQyBjYWxpYnJhdGlvbiBkaXN0dXJiZWQgYnkgU01JLCAiCi0JCSAgICAgICAidXNpbmcgUElUIGNhbGlicmF0aW9uIHJlc3VsdFxuIik7Ci0JCWdvdG8gb3V0OwotCX0KLQotCXRzYzIgPSAodHNjMiAtIHRzYzEpICogMTAwMDAwMEw7Ci0KLQlpZiAoaHBldCkgewotCQlwcmludGsoS0VSTl9JTkZPICJUU0MgY2FsaWJyYXRlZCBhZ2FpbnN0IEhQRVRcbiIpOwotCQlpZiAoaHBldDIgPCBocGV0MSkKLQkJCWhwZXQyICs9IDB4MTAwMDAwMDAwOwotCQlocGV0MiAtPSBocGV0MTsKLQkJdHNjMSA9IChocGV0MiAqIGhwZXRfcmVhZGwoSFBFVF9QRVJJT0QpKSAvIDEwMDAwMDA7Ci0JfSBlbHNlIHsKLQkJcHJpbnRrKEtFUk5fSU5GTyAiVFNDIGNhbGlicmF0ZWQgYWdhaW5zdCBQTV9USU1FUlxuIik7Ci0JCWlmIChwbTIgPCBwbTEpCi0JCQlwbTIgKz0gQUNQSV9QTV9PVlJSVU47Ci0JCXBtMiAtPSBwbTE7Ci0JCXRzYzEgPSAocG0yICogMTAwMDAwMDAwMCkgLyBQTVRNUl9USUNLU19QRVJfU0VDOwotCX0KLQotCXRzY19raHogPSB0c2MyIC8gdHNjMTsKLQotb3V0OgotCWZvcl9lYWNoX3Bvc3NpYmxlX2NwdShjcHUpCi0JCXNldF9jeWMybnNfc2NhbGUodHNjX2toeiwgY3B1KTsKLX0KLQotLyoKLSAqIE1ha2UgYW4gZWR1Y2F0ZWQgZ3Vlc3MgaWYgdGhlIFRTQyBpcyB0cnVzdHdvcnRoeSBhbmQgc3luY2hyb25pemVkCi0gKiBvdmVyIGFsbCBDUFVzLgotICovCi1fX2NwdWluaXQgaW50IHVuc3luY2hyb25pemVkX3RzYyh2b2lkKQotewotCWlmICh0c2NfdW5zdGFibGUpCi0JCXJldHVybiAxOwotCi0jaWZkZWYgQ09ORklHX1NNUAotCWlmIChhcGljX2lzX2NsdXN0ZXJlZF9ib3goKSkKLQkJcmV0dXJuIDE7Ci0jZW5kaWYKLQotCWlmIChib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfQ09OU1RBTlRfVFNDKSkKLQkJcmV0dXJuIDA7Ci0KLQkvKiBBc3N1bWUgbXVsdGkgc29ja2V0IHN5c3RlbXMgYXJlIG5vdCBzeW5jaHJvbml6ZWQgKi8KLQlyZXR1cm4gbnVtX3ByZXNlbnRfY3B1cygpID4gMTsKLX0KLQotaW50IF9faW5pdCBub3RzY19zZXR1cChjaGFyICpzKQotewotCW5vdHNjID0gMTsKLQlyZXR1cm4gMTsKLX0KLQotX19zZXR1cCgibm90c2MiLCBub3RzY19zZXR1cCk7Ci0KLXN0YXRpYyBzdHJ1Y3QgY2xvY2tzb3VyY2UgY2xvY2tzb3VyY2VfdHNjOwotCi0vKgotICogV2UgY29tcGFyZSB0aGUgVFNDIHRvIHRoZSBjeWNsZV9sYXN0IHZhbHVlIGluIHRoZSBjbG9ja3NvdXJjZQotICogc3RydWN0dXJlIHRvIGF2b2lkIGEgbmFzdHkgdGltZS13YXJwLiBUaGlzIGNhbiBiZSBvYnNlcnZlZCBpbiBhCi0gKiB2ZXJ5IHNtYWxsIHdpbmRvdyByaWdodCBhZnRlciBvbmUgQ1BVIHVwZGF0ZWQgY3ljbGVfbGFzdCB1bmRlcgotICogeHRpbWUvdnN5c2NhbGxfZ3RvZCBsb2NrIGFuZCB0aGUgb3RoZXIgQ1BVIHJlYWRzIGEgVFNDIHZhbHVlIHdoaWNoCi0gKiBpcyBzbWFsbGVyIHRoYW4gdGhlIGN5Y2xlX2xhc3QgcmVmZXJlbmNlIHZhbHVlIGR1ZSB0byBhIFRTQyB3aGljaAotICogaXMgc2xpZ2h0eSBiZWhpbmQuIFRoaXMgZGVsdGEgaXMgbm93aGVyZSBlbHNlIG9ic2VydmFibGUsIGJ1dCBpbgotICogdGhhdCBjYXNlIGl0IHJlc3VsdHMgaW4gYSBmb3J3YXJkIHRpbWUganVtcCBpbiB0aGUgcmFuZ2Ugb2YgaG91cnMKLSAqIGR1ZSB0byB0aGUgdW5zaWduZWQgZGVsdGEgY2FsY3VsYXRpb24gb2YgdGhlIHRpbWUga2VlcGluZyBjb3JlCi0gKiBjb2RlLCB3aGljaCBpcyBuZWNlc3NhcnkgdG8gc3VwcG9ydCB3cmFwcGluZyBjbG9ja3NvdXJjZXMgbGlrZSBwbQotICogdGltZXIuCi0gKi8KLXN0YXRpYyBjeWNsZV90IHJlYWRfdHNjKHZvaWQpCi17Ci0JY3ljbGVfdCByZXQgPSAoY3ljbGVfdClnZXRfY3ljbGVzKCk7Ci0KLQlyZXR1cm4gcmV0ID49IGNsb2Nrc291cmNlX3RzYy5jeWNsZV9sYXN0ID8KLQkJcmV0IDogY2xvY2tzb3VyY2VfdHNjLmN5Y2xlX2xhc3Q7Ci19Ci0KLXN0YXRpYyBjeWNsZV90IF9fdnN5c2NhbGxfZm4gdnJlYWRfdHNjKHZvaWQpCi17Ci0JY3ljbGVfdCByZXQgPSAoY3ljbGVfdCl2Z2V0X2N5Y2xlcygpOwotCi0JcmV0dXJuIHJldCA+PSBfX3ZzeXNjYWxsX2d0b2RfZGF0YS5jbG9jay5jeWNsZV9sYXN0ID8KLQkJcmV0IDogX192c3lzY2FsbF9ndG9kX2RhdGEuY2xvY2suY3ljbGVfbGFzdDsKLX0KLQotc3RhdGljIHN0cnVjdCBjbG9ja3NvdXJjZSBjbG9ja3NvdXJjZV90c2MgPSB7Ci0JLm5hbWUJCQk9ICJ0c2MiLAotCS5yYXRpbmcJCQk9IDMwMCwKLQkucmVhZAkJCT0gcmVhZF90c2MsCi0JLm1hc2sJCQk9IENMT0NLU09VUkNFX01BU0soNjQpLAotCS5zaGlmdAkJCT0gMjIsCi0JLmZsYWdzCQkJPSBDTE9DS19TT1VSQ0VfSVNfQ09OVElOVU9VUyB8Ci0JCQkJICBDTE9DS19TT1VSQ0VfTVVTVF9WRVJJRlksCi0JLnZyZWFkCQkJPSB2cmVhZF90c2MsCi19OwotCi12b2lkIG1hcmtfdHNjX3Vuc3RhYmxlKGNoYXIgKnJlYXNvbikKLXsKLQlpZiAoIXRzY191bnN0YWJsZSkgewotCQl0c2NfdW5zdGFibGUgPSAxOwotCQlwcmludGsoIk1hcmtpbmcgVFNDIHVuc3RhYmxlIGR1ZSB0byAlc1xuIiwgcmVhc29uKTsKLQkJLyogQ2hhbmdlIG9ubHkgdGhlIHJhdGluZywgd2hlbiBub3QgcmVnaXN0ZXJlZCAqLwotCQlpZiAoY2xvY2tzb3VyY2VfdHNjLm11bHQpCi0JCQljbG9ja3NvdXJjZV9jaGFuZ2VfcmF0aW5nKCZjbG9ja3NvdXJjZV90c2MsIDApOwotCQllbHNlCi0JCQljbG9ja3NvdXJjZV90c2MucmF0aW5nID0gMDsKLQl9Ci19Ci1FWFBPUlRfU1lNQk9MX0dQTChtYXJrX3RzY191bnN0YWJsZSk7Ci0KLXZvaWQgX19pbml0IGluaXRfdHNjX2Nsb2Nrc291cmNlKHZvaWQpCi17Ci0JaWYgKCFub3RzYykgewotCQljbG9ja3NvdXJjZV90c2MubXVsdCA9IGNsb2Nrc291cmNlX2toejJtdWx0KHRzY19raHosCi0JCQkJCQkJY2xvY2tzb3VyY2VfdHNjLnNoaWZ0KTsKLQkJaWYgKGNoZWNrX3RzY191bnN0YWJsZSgpKQotCQkJY2xvY2tzb3VyY2VfdHNjLnJhdGluZyA9IDA7Ci0KLQkJY2xvY2tzb3VyY2VfcmVnaXN0ZXIoJmNsb2Nrc291cmNlX3RzYyk7Ci0JfQotfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3Zpc3dzX3F1aXJrcy5jIGIvYXJjaC94ODYva2VybmVsL3Zpc3dzX3F1aXJrcy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU5NGJkYjYKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL3g4Ni9rZXJuZWwvdmlzd3NfcXVpcmtzLmMKQEAgLTAsMCArMSw3MDkgQEAKKy8qCisgKiAgU0dJIFZpc3VhbCBXb3Jrc3RhdGlvbiBzdXBwb3J0IGFuZCBxdWlya3MsIHVubWFpbnRhaW5lZC4KKyAqCisgKiAgU3BsaXQgb3V0IGZyb20gc2V0dXAuYyBieSBkYXZlakBzdXNlLmRlCisgKgorICoJQ29weXJpZ2h0IChDKSAxOTk5IEJlbnQgSGFnZW1hcmssIEluZ28gTW9sbmFyCisgKgorICogIFNHSSBWaXN1YWwgV29ya3N0YXRpb24gaW50ZXJydXB0IGNvbnRyb2xsZXIKKyAqCisgKiAgVGhlIENvYmFsdCBzeXN0ZW0gQVNJQyBpbiB0aGUgVmlzdWFsIFdvcmtzdGF0aW9uIGNvbnRhaW5zIGEgIkNvYmFsdCIgQVBJQworICogIHdoaWNoIHNlcnZlcyBhcyB0aGUgbWFpbiBpbnRlcnJ1cHQgY29udHJvbGxlciBpbiB0aGUgc3lzdGVtLiAgTm9uLWxlZ2FjeQorICogIGhhcmR3YXJlIGluIHRoZSBzeXN0ZW0gdXNlcyB0aGlzIGNvbnRyb2xsZXIgZGlyZWN0bHkuICBMZWdhY3kgZGV2aWNlcworICogIGFyZSBjb25uZWN0ZWQgdG8gdGhlIFBJSVg0IHdoaWNoIGluIHR1cm4gaGFzIGl0cyA4MjU5KHMpIGNvbm5lY3RlZCB0bworICogIGEgb2YgdGhlIENvYmFsdCBBUElDIGVudHJ5LgorICoKKyAqICAwOS8wMi8yMDAwIC0gVXBkYXRlZCBmb3IgMi40IGJ5IGpiYXJuZXNAc2dpLmNvbQorICoKKyAqICAyNS8xMS8yMDAyIC0gVXBkYXRlZCBmb3IgMi41IGJ5IEFuZHJleSBQYW5pbiA8cGF6a2VAb3JiaXRhMS5ydT4KKyAqLworI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXAuaD4KKworI2luY2x1ZGUgPGFzbS92aXN3cy9jb2JhbHQuaD4KKyNpbmNsdWRlIDxhc20vdmlzd3MvcGlpeDQuaD4KKyNpbmNsdWRlIDxhc20vYXJjaF9ob29rcy5oPgorI2luY2x1ZGUgPGFzbS9maXhtYXAuaD4KKyNpbmNsdWRlIDxhc20vcmVib290Lmg+CisjaW5jbHVkZSA8YXNtL3NldHVwLmg+CisjaW5jbHVkZSA8YXNtL2U4MjAuaD4KKyNpbmNsdWRlIDxhc20vc21wLmg+CisjaW5jbHVkZSA8YXNtL2lvLmg+CisKKyNpbmNsdWRlIDxtYWNoX2lwaS5oPgorCisjaW5jbHVkZSAibWFjaF9hcGljLmgiCisKKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvc21wLmg+CisKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWxfc3RhdC5oPgorI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKworI2luY2x1ZGUgPGFzbS9pby5oPgorI2luY2x1ZGUgPGFzbS9hcGljLmg+CisjaW5jbHVkZSA8YXNtL2k4MjU5Lmg+CisjaW5jbHVkZSA8YXNtL2lycV92ZWN0b3JzLmg+CisjaW5jbHVkZSA8YXNtL3Zpc3dzL2NvYmFsdC5oPgorI2luY2x1ZGUgPGFzbS92aXN3cy9saXRoaXVtLmg+CisjaW5jbHVkZSA8YXNtL3Zpc3dzL3BpaXg0Lmg+CisKKyNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9wY2kuaD4KKyNpbmNsdWRlIDxsaW51eC9wY2lfaWRzLmg+CisKK2V4dGVybiBpbnQgbm9fYnJvYWRjYXN0OworCisjaW5jbHVkZSA8YXNtL2lvLmg+CisjaW5jbHVkZSA8YXNtL2FwaWMuaD4KKyNpbmNsdWRlIDxhc20vYXJjaF9ob29rcy5oPgorI2luY2x1ZGUgPGFzbS92aXN3cy9jb2JhbHQuaD4KKyNpbmNsdWRlIDxhc20vdmlzd3MvbGl0aGl1bS5oPgorCitjaGFyIHZpc3dzX2JvYXJkX3R5cGUJPSAtMTsKK2NoYXIgdmlzd3NfYm9hcmRfcmV2CT0gLTE7CisKK2ludCBpc192aXN3c19ib3godm9pZCkKK3sKKwlyZXR1cm4gdmlzd3NfYm9hcmRfdHlwZSA+PSAwOworfQorCitzdGF0aWMgaW50IF9faW5pdCB2aXN3c190aW1lX2luaXRfcXVpcmsodm9pZCkKK3sKKwlwcmludGsoS0VSTl9JTkZPICJTdGFydGluZyBDb2JhbHQgVGltZXIgc3lzdGVtIGNsb2NrXG4iKTsKKworCS8qIFNldCB0aGUgY291bnRkb3duIHZhbHVlICovCisJY29fY3B1X3dyaXRlKENPX0NQVV9USU1FVkFMLCBDT19USU1FX0haL0haKTsKKworCS8qIFN0YXJ0IHRoZSB0aW1lciAqLworCWNvX2NwdV93cml0ZShDT19DUFVfQ1RSTCwgY29fY3B1X3JlYWQoQ09fQ1BVX0NUUkwpIHwgQ09fQ1RSTF9USU1FUlVOKTsKKworCS8qIEVuYWJsZSAodW5tYXNrKSB0aGUgdGltZXIgaW50ZXJydXB0ICovCisJY29fY3B1X3dyaXRlKENPX0NQVV9DVFJMLCBjb19jcHVfcmVhZChDT19DUFVfQ1RSTCkgJiB+Q09fQ1RSTF9USU1FTUFTSyk7CisKKwkvKgorCSAqIFplcm8gcmV0dXJuIG1lYW5zIHRoZSBnZW5lcmljIHRpbWVyIHNldHVwIGNvZGUgd2lsbCBzZXQgdXAKKwkgKiB0aGUgc3RhbmRhcmQgdmVjdG9yOgorCSAqLworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IF9faW5pdCB2aXN3c19wcmVfaW50cl9pbml0X3F1aXJrKHZvaWQpCit7CisJaW5pdF9WSVNXU19BUElDX2lycXMoKTsKKworCS8qCisJICogV2UgZG9udCB3YW50IElTQSBpcnFzIHRvIGJlIHNldCB1cCBieSB0aGUgZ2VuZXJpYyBjb2RlOgorCSAqLworCXJldHVybiAxOworfQorCisvKiBRdWlyayBmb3IgbWFjaGluZSBzcGVjaWZpYyBtZW1vcnkgc2V0dXAuICovCisKKyNkZWZpbmUgTUIgKDEwMjQgKiAxMDI0KQorCit1bnNpZ25lZCBsb25nIHNnaXZ3ZmJfbWVtX3BoeXM7Cit1bnNpZ25lZCBsb25nIHNnaXZ3ZmJfbWVtX3NpemU7CitFWFBPUlRfU1lNQk9MKHNnaXZ3ZmJfbWVtX3BoeXMpOworRVhQT1JUX1NZTUJPTChzZ2l2d2ZiX21lbV9zaXplKTsKKworbG9uZyBsb25nIG1lbV9zaXplIF9faW5pdGRhdGEgPSAwOworCitzdGF0aWMgY2hhciAqIF9faW5pdCB2aXN3c19tZW1vcnlfc2V0dXBfcXVpcmsodm9pZCkKK3sKKwlsb25nIGxvbmcgZ2Z4X21lbV9zaXplID0gOCAqIE1COworCisJbWVtX3NpemUgPSBib290X3BhcmFtcy5hbHRfbWVtX2s7CisKKwlpZiAoIW1lbV9zaXplKSB7CisJCXByaW50ayhLRVJOX1dBUk5JTkcgIkJvb3Rsb2FkZXIgZGlkbid0IHNldCBtZW1vcnkgc2l6ZSwgdXBncmFkZSBpdCAhXG4iKTsKKwkJbWVtX3NpemUgPSAxMjggKiBNQjsKKwl9CisKKwkvKgorCSAqIHRoaXMgaGFyZGNvZGVzIHRoZSBncmFwaGljcyBtZW1vcnkgdG8gOCBNQgorCSAqIGl0IHJlYWxseSBzaG91bGQgYmUgc2l6ZWQgZHluYW1pY2FsbHkgKG9yIGF0IGxlYXN0CisJICogc2V0IGFzIGEgYm9vdCBwYXJhbSkKKwkgKi8KKwlpZiAoIXNnaXZ3ZmJfbWVtX3NpemUpIHsKKwkJcHJpbnRrKEtFUk5fV0FSTklORyAiRGVmYXVsdGluZyB0byA4IE1CIGZyYW1lYnVmZmVyIHNpemVcbiIpOworCQlzZ2l2d2ZiX21lbV9zaXplID0gOCAqIE1COworCX0KKworCS8qCisJICogVHJpbSB0byBuZWFyZXN0IE1CCisJICovCisJc2dpdndmYl9tZW1fc2l6ZSAmPSB+KCgxIDw8IDIwKSAtIDEpOworCXNnaXZ3ZmJfbWVtX3BoeXMgPSBtZW1fc2l6ZSAtIGdmeF9tZW1fc2l6ZTsKKworCWU4MjBfYWRkX3JlZ2lvbigwLCBMT1dNRU1TSVpFKCksIEU4MjBfUkFNKTsKKwllODIwX2FkZF9yZWdpb24oSElHSF9NRU1PUlksIG1lbV9zaXplIC0gc2dpdndmYl9tZW1fc2l6ZSAtIEhJR0hfTUVNT1JZLCBFODIwX1JBTSk7CisJZTgyMF9hZGRfcmVnaW9uKHNnaXZ3ZmJfbWVtX3BoeXMsIHNnaXZ3ZmJfbWVtX3NpemUsIEU4MjBfUkVTRVJWRUQpOworCisJcmV0dXJuICJQUk9NIjsKK30KKworc3RhdGljIHZvaWQgdmlzd3NfbWFjaGluZV9lbWVyZ2VuY3lfcmVzdGFydCh2b2lkKQoreworCS8qCisJICogVmlzdWFsIFdvcmtzdGF0aW9ucyByZXN0YXJ0IGFmdGVyIHRoaXMKKwkgKiByZWdpc3RlciBpcyBwb2tlZCBvbiB0aGUgUElJWDQKKwkgKi8KKwlvdXRiKFBJSVg0X1JFU0VUX1ZBTCwgUElJWDRfUkVTRVRfUE9SVCk7Cit9CisKK3N0YXRpYyB2b2lkIHZpc3dzX21hY2hpbmVfcG93ZXJfb2ZmKHZvaWQpCit7CisJdW5zaWduZWQgc2hvcnQgcG1fc3RhdHVzOworLyoJZXh0ZXJuIHVuc2lnbmVkIGludCBwY2lfYnVzMDsgKi8KKworCXdoaWxlICgocG1fc3RhdHVzID0gaW53KFBNU1RTX1BPUlQpKSAmIDB4MTAwKQorCQlvdXR3KHBtX3N0YXR1cywgUE1TVFNfUE9SVCk7CisKKwlvdXR3KFBNX1NVU1BFTkRfRU5BQkxFLCBQTUNOVFJMX1BPUlQpOworCisJbWRlbGF5KDEwKTsKKworI2RlZmluZSBQQ0lfQ09ORjFfQUREUkVTUyhidXMsIGRldmZuLCByZWcpIFwKKwkoMHg4MDAwMDAwMCB8IChidXMgPDwgMTYpIHwgKGRldmZuIDw8IDgpIHwgKHJlZyAmIH4zKSkKKworLyoJb3V0bChQQ0lfQ09ORjFfQUREUkVTUyhwY2lfYnVzMCwgU1BFQ0lBTF9ERVYsIFNQRUNJQUxfUkVHKSwgMHhDRjgpOyAqLworCW91dGwoUElJWF9TUEVDSUFMX1NUT1AsIDB4Q0ZDKTsKK30KKworc3RhdGljIGludCBfX2luaXQgdmlzd3NfZ2V0X3NtcF9jb25maWdfcXVpcmsodW5zaWduZWQgaW50IGVhcmx5KQoreworCS8qCisJICogUHJldmVudCBNUC10YWJsZSBwYXJzaW5nIGJ5IHRoZSBnZW5lcmljIGNvZGU6CisJICovCisJcmV0dXJuIDE7Cit9CisKK2V4dGVybiB1bnNpZ25lZCBpbnQgX19jcHVpbml0ZGF0YSBtYXhjcHVzOworCisvKgorICogVGhlIFZpc3VhbCBXb3Jrc3RhdGlvbiBpcyBJbnRlbCBNUCBjb21wbGlhbnQgaW4gdGhlIGhhcmR3YXJlCisgKiBzZW5zZSwgYnV0IGl0IGRvZXNuJ3QgaGF2ZSBhIEJJT1MoLWNvbmZpZ3VyYXRpb24gdGFibGUpLgorICogTm8gcHJvYmxlbSBmb3IgTGludXguCisgKi8KKworc3RhdGljIHZvaWQgX19pbml0IE1QX3Byb2Nlc3Nvcl9pbmZvIChzdHJ1Y3QgbXBjX2NvbmZpZ19wcm9jZXNzb3IgKm0pCit7CisJaW50IHZlciwgbG9naWNhbF9hcGljaWQ7CisJcGh5c2lkX21hc2tfdCBhcGljX2NwdXM7CisKKwlpZiAoIShtLT5tcGNfY3B1ZmxhZyAmIENQVV9FTkFCTEVEKSkKKwkJcmV0dXJuOworCisJbG9naWNhbF9hcGljaWQgPSBtLT5tcGNfYXBpY2lkOworCXByaW50ayhLRVJOX0lORk8gIiVzQ1BVICMlZCAldToldSBBUElDIHZlcnNpb24gJWRcbiIsCisJICAgICAgIG0tPm1wY19jcHVmbGFnICYgQ1BVX0JPT1RQUk9DRVNTT1IgPyAiQm9vdHVwICIgOiAiIiwKKwkgICAgICAgbS0+bXBjX2FwaWNpZCwKKwkgICAgICAgKG0tPm1wY19jcHVmZWF0dXJlICYgQ1BVX0ZBTUlMWV9NQVNLKSA+PiA4LAorCSAgICAgICAobS0+bXBjX2NwdWZlYXR1cmUgJiBDUFVfTU9ERUxfTUFTSykgPj4gNCwKKwkgICAgICAgbS0+bXBjX2FwaWN2ZXIpOworCisJaWYgKG0tPm1wY19jcHVmbGFnICYgQ1BVX0JPT1RQUk9DRVNTT1IpCisJCWJvb3RfY3B1X3BoeXNpY2FsX2FwaWNpZCA9IG0tPm1wY19hcGljaWQ7CisKKwl2ZXIgPSBtLT5tcGNfYXBpY3ZlcjsKKwlpZiAoKHZlciA+PSAweDE0ICYmIG0tPm1wY19hcGljaWQgPj0gMHhmZikgfHwgbS0+bXBjX2FwaWNpZCA+PSAweGYpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJQcm9jZXNzb3IgIyVkIElOVkFMSUQuIChNYXggSUQ6ICVkKS5cbiIsCisJCQltLT5tcGNfYXBpY2lkLCBNQVhfQVBJQ1MpOworCQlyZXR1cm47CisJfQorCisJYXBpY19jcHVzID0gYXBpY2lkX3RvX2NwdV9wcmVzZW50KG0tPm1wY19hcGljaWQpOworCXBoeXNpZHNfb3IocGh5c19jcHVfcHJlc2VudF9tYXAsIHBoeXNfY3B1X3ByZXNlbnRfbWFwLCBhcGljX2NwdXMpOworCS8qCisJICogVmFsaWRhdGUgdmVyc2lvbgorCSAqLworCWlmICh2ZXIgPT0gMHgwKSB7CisJCXByaW50ayhLRVJOX0VSUiAiQklPUyBidWcsIEFQSUMgdmVyc2lvbiBpcyAwIGZvciBDUFUjJWQhICIKKwkJCSJmaXhpbmcgdXAgdG8gMHgxMC4gKHRlbGwgeW91ciBodyB2ZW5kb3IpXG4iLAorCQkJbS0+bXBjX2FwaWNpZCk7CisJCXZlciA9IDB4MTA7CisJfQorCWFwaWNfdmVyc2lvblttLT5tcGNfYXBpY2lkXSA9IHZlcjsKK30KKworaW50IF9faW5pdCB2aXN3c19maW5kX3NtcF9jb25maWdfcXVpcmsodW5zaWduZWQgaW50IHJlc2VydmUpCit7CisJc3RydWN0IG1wY19jb25maWdfcHJvY2Vzc29yICptcCA9IHBoeXNfdG9fdmlydChDT19DUFVfVEFCX1BIWVMpOworCXVuc2lnbmVkIHNob3J0IG5jcHVzID0gcmVhZHcocGh5c190b192aXJ0KENPX0NQVV9OVU1fUEhZUykpOworCisJaWYgKG5jcHVzID4gQ09fQ1BVX01BWCkgeworCQlwcmludGsoS0VSTl9XQVJOSU5HICJmaW5kX3Zpc3dzX3NtcDogZ290IGNwdSBjb3VudCBvZiAlZCBhdCAlcFxuIiwKKwkJCW5jcHVzLCBtcCk7CisKKwkJbmNwdXMgPSBDT19DUFVfTUFYOworCX0KKworCWlmIChuY3B1cyA+IG1heGNwdXMpCisJCW5jcHVzID0gbWF4Y3B1czsKKworI2lmZGVmIENPTkZJR19YODZfTE9DQUxfQVBJQworCXNtcF9mb3VuZF9jb25maWcgPSAxOworI2VuZGlmCisJd2hpbGUgKG5jcHVzLS0pCisJCU1QX3Byb2Nlc3Nvcl9pbmZvKG1wKyspOworCisJbXBfbGFwaWNfYWRkciA9IEFQSUNfREVGQVVMVF9QSFlTX0JBU0U7CisKKwlyZXR1cm4gMTsKK30KKworZXh0ZXJuIGludCB2aXN3c190cmFwX2luaXRfcXVpcmsodm9pZCk7CisKK3ZvaWQgX19pbml0IHZpc3dzX2Vhcmx5X2RldGVjdCh2b2lkKQoreworCWludCByYXc7CisKKwl2aXN3c19ib2FyZF90eXBlID0gKGNoYXIpKGluYl9wKFBJSVhfR1BJX0JEX1JFRykgJiBQSUlYX0dQSV9CRF9SRUcpCisJCQkJCQkJID4+IFBJSVhfR1BJX0JEX1NISUZUOworCisJaWYgKHZpc3dzX2JvYXJkX3R5cGUgPCAwKQorCQlyZXR1cm47CisKKwkvKgorCSAqIEluc3RhbGwgc3BlY2lhbCBxdWlya3MgZm9yIHRpbWVyLCBpbnRlcnJ1cHQgYW5kIG1lbW9yeSBzZXR1cDoKKwkgKi8KKwlhcmNoX3RpbWVfaW5pdF9xdWlyawkJPSB2aXN3c190aW1lX2luaXRfcXVpcms7CisJYXJjaF9wcmVfaW50cl9pbml0X3F1aXJrCT0gdmlzd3NfcHJlX2ludHJfaW5pdF9xdWlyazsKKwlhcmNoX21lbW9yeV9zZXR1cF9xdWlyawkJPSB2aXN3c19tZW1vcnlfc2V0dXBfcXVpcms7CisKKwkvKgorCSAqIEZhbGwgYmFjayB0byBnZW5lcmljIGJlaGF2aW9yIGZvciB0cmFwczoKKwkgKi8KKwlhcmNoX2ludHJfaW5pdF9xdWlyawkJPSBOVUxMOworCWFyY2hfdHJhcF9pbml0X3F1aXJrCQk9IHZpc3dzX3RyYXBfaW5pdF9xdWlyazsKKworCS8qCisJICogSW5zdGFsbCByZWJvb3QgcXVpcmtzOgorCSAqLworCXBtX3Bvd2VyX29mZgkJCT0gdmlzd3NfbWFjaGluZV9wb3dlcl9vZmY7CisJbWFjaGluZV9vcHMuZW1lcmdlbmN5X3Jlc3RhcnQJPSB2aXN3c19tYWNoaW5lX2VtZXJnZW5jeV9yZXN0YXJ0OworCisJLyoKKwkgKiBEbyBub3QgdXNlIGJyb2FkY2FzdCBJUElzOgorCSAqLworCW5vX2Jyb2FkY2FzdCA9IDA7CisKKwkvKgorCSAqIE92ZXJyaWRlIGdlbmVyaWMgTVAtdGFibGUgcGFyc2luZzoKKwkgKi8KKwltYWNoX2dldF9zbXBfY29uZmlnX3F1aXJrCT0gdmlzd3NfZ2V0X3NtcF9jb25maWdfcXVpcms7CisJbWFjaF9maW5kX3NtcF9jb25maWdfcXVpcmsJPSB2aXN3c19maW5kX3NtcF9jb25maWdfcXVpcms7CisKKyNpZmRlZiBDT05GSUdfWDg2X0lPX0FQSUMKKwkvKgorCSAqIFR1cm4gb2ZmIElPLUFQSUMgZGV0ZWN0aW9uIGFuZCBpbml0aWFsaXphdGlvbjoKKwkgKi8KKwlza2lwX2lvYXBpY19zZXR1cAkJPSAxOworI2VuZGlmCisKKwkvKgorCSAqIEdldCBCb2FyZCByZXYuCisJICogRmlyc3QsIHdlIGhhdmUgdG8gaW5pdGlhbGl6ZSB0aGUgMzA3IHBhcnQgdG8gYWxsb3cgdXMgYWNjZXNzCisJICogdG8gdGhlIEdQSU8gcmVnaXN0ZXJzLiAgTGV0J3MgbWFwIHRoZW0gYXQgMHgwZmMwIHdoaWNoIGlzIHJpZ2h0CisJICogYWZ0ZXIgdGhlIFBJSVg0IFBNIHNlY3Rpb24uCisJICovCisJb3V0Yl9wKFNJT19ERVZfU0VMLCBTSU9fSU5ERVgpOworCW91dGJfcChTSU9fR1BfREVWLCBTSU9fREFUQSk7CS8qIFRhbGsgdG8gR1BJTyByZWdzLiAqLworCisJb3V0Yl9wKFNJT19ERVZfTVNCLCBTSU9fSU5ERVgpOworCW91dGJfcChTSU9fR1BfTVNCLCBTSU9fREFUQSk7CS8qIE1TQiBvZiBHUElPIGJhc2UgYWRkcmVzcyAqLworCisJb3V0Yl9wKFNJT19ERVZfTFNCLCBTSU9fSU5ERVgpOworCW91dGJfcChTSU9fR1BfTFNCLCBTSU9fREFUQSk7CS8qIExTQiBvZiBHUElPIGJhc2UgYWRkcmVzcyAqLworCisJb3V0Yl9wKFNJT19ERVZfRU5CLCBTSU9fSU5ERVgpOworCW91dGJfcCgxLCBTSU9fREFUQSk7CQkvKiBFbmFibGUgR1BJTyByZWdpc3RlcnMuICovCisKKwkvKgorCSAqIE5vdywgd2UgaGF2ZSB0byBtYXAgdGhlIHBvd2VyIG1hbmFnZW1lbnQgc2VjdGlvbiB0byB3cml0ZQorCSAqIGEgYml0IHdoaWNoIGVuYWJsZXMgYWNjZXNzIHRvIHRoZSBHUElPIHJlZ2lzdGVycy4KKwkgKiBXaGF0IGx1bmF0aWMgY2FtZSB1cCB3aXRoIHRoaXMgc2hpdD8KKwkgKi8KKwlvdXRiX3AoU0lPX0RFVl9TRUwsIFNJT19JTkRFWCk7CisJb3V0Yl9wKFNJT19QTV9ERVYsIFNJT19EQVRBKTsJLyogVGFsayB0byBHUElPIHJlZ3MuICovCisKKwlvdXRiX3AoU0lPX0RFVl9NU0IsIFNJT19JTkRFWCk7CisJb3V0Yl9wKFNJT19QTV9NU0IsIFNJT19EQVRBKTsJLyogTVNCIG9mIFBNIGJhc2UgYWRkcmVzcyAqLworCisJb3V0Yl9wKFNJT19ERVZfTFNCLCBTSU9fSU5ERVgpOworCW91dGJfcChTSU9fUE1fTFNCLCBTSU9fREFUQSk7CS8qIExTQiBvZiBQTSBiYXNlIGFkZHJlc3MgKi8KKworCW91dGJfcChTSU9fREVWX0VOQiwgU0lPX0lOREVYKTsKKwlvdXRiX3AoMSwgU0lPX0RBVEEpOwkJLyogRW5hYmxlIFBNIHJlZ2lzdGVycy4gKi8KKworCS8qCisJICogTm93LCB3cml0ZSB0aGUgUE0gcmVnaXN0ZXIgd2hpY2ggZW5hYmxlcyB0aGUgR1BJTyByZWdpc3RlcnMuCisJICovCisJb3V0Yl9wKFNJT19QTV9GRVIyLCBTSU9fUE1fSU5ERVgpOworCW91dGJfcChTSU9fUE1fR1BfRU4sIFNJT19QTV9EQVRBKTsKKworCS8qCisJICogTm93LCBpbml0aWFsaXplIHRoZSBHUElPIHJlZ2lzdGVycy4KKwkgKiBXZSB3YW50IHRoZW0gYWxsIHRvIGJlIGlucHV0cyB3aGljaCBpcyB0aGUKKwkgKiBwb3dlciBvbiBkZWZhdWx0LCBzbyBsZXQncyBsZWF2ZSB0aGVtIGFsb25lLgorCSAqIFNvLCBsZXQncyBqdXN0IHJlYWQgdGhlIGJvYXJkIHJldiEKKwkgKi8KKwlyYXcgPSBpbmJfcChTSU9fR1BfREFUQTEpOworCXJhdyAmPSAweDdmOwkvKiA3IGJpdHMgb2YgdmFsaWQgYm9hcmQgcmV2aXNpb24gSUQuICovCisKKwlpZiAodmlzd3NfYm9hcmRfdHlwZSA9PSBWSVNXU18zMjApIHsKKwkJaWYgKHJhdyA8IDB4NikgeworCQkJdmlzd3NfYm9hcmRfcmV2ID0gNDsKKwkJfSBlbHNlIGlmIChyYXcgPCAweGMpIHsKKwkJCXZpc3dzX2JvYXJkX3JldiA9IDU7CisJCX0gZWxzZSB7CisJCQl2aXN3c19ib2FyZF9yZXYgPSA2OworCQl9CisJfSBlbHNlIGlmICh2aXN3c19ib2FyZF90eXBlID09IFZJU1dTXzU0MCkgeworCQkJdmlzd3NfYm9hcmRfcmV2ID0gMjsKKwkJfSBlbHNlIHsKKwkJCXZpc3dzX2JvYXJkX3JldiA9IHJhdzsKKwkJfQorCisJcHJpbnRrKEtFUk5fSU5GTyAiU2lsaWNvbiBHcmFwaGljcyBWaXN1YWwgV29ya3N0YXRpb24gJXMgKHJldiAlZCkgZGV0ZWN0ZWRcbiIsCisJICAgICAgICh2aXN3c19ib2FyZF90eXBlID09IFZJU1dTXzMyMCA/ICIzMjAiIDoKKwkgICAgICAgKHZpc3dzX2JvYXJkX3R5cGUgPT0gVklTV1NfNTQwID8gIjU0MCIgOgorCQkidW5rbm93biIpKSwgdmlzd3NfYm9hcmRfcmV2KTsKK30KKworI2RlZmluZSBBMDEyMzQgKExJX0lOVEFfMCB8IExJX0lOVEFfMSB8IExJX0lOVEFfMiB8IExJX0lOVEFfMyB8IExJX0lOVEFfNCkKKyNkZWZpbmUgQkNEIChMSV9JTlRCIHwgTElfSU5UQyB8IExJX0lOVEQpCisjZGVmaW5lIEFMTERFVlMgKEEwMTIzNCB8IEJDRCkKKworc3RhdGljIF9faW5pdCB2b2lkIGxpdGhpdW1faW5pdCh2b2lkKQoreworCXNldF9maXhtYXAoRklYX0xJX1BDSUEsIExJX1BDSV9BX1BIWVMpOworCXNldF9maXhtYXAoRklYX0xJX1BDSUIsIExJX1BDSV9CX1BIWVMpOworCisJaWYgKChsaV9wY2lhX3JlYWQxNihQQ0lfVkVORE9SX0lEKSAhPSBQQ0lfVkVORE9SX0lEX1NHSSkgfHwKKwkgICAgKGxpX3BjaWFfcmVhZDE2KFBDSV9ERVZJQ0VfSUQpICE9IFBDSV9ERVZJQ0VfSURfU0dJX0xJVEhJVU0pKSB7CisJCXByaW50ayhLRVJOX0VNRVJHICJMaXRoaXVtIGhvc3RicmlkZ2UgJWMgbm90IGZvdW5kXG4iLCAnQScpOworLyoJCXBhbmljKCJUaGlzIG1hY2hpbmUgaXMgbm90IFNHSSBWaXN1YWwgV29ya3N0YXRpb24gMzIwLzU0MCIpOyAqLworCX0KKworCWlmICgobGlfcGNpYl9yZWFkMTYoUENJX1ZFTkRPUl9JRCkgIT0gUENJX1ZFTkRPUl9JRF9TR0kpIHx8CisJICAgIChsaV9wY2liX3JlYWQxNihQQ0lfREVWSUNFX0lEKSAhPSBQQ0lfREVWSUNFX0lEX1NHSV9MSVRISVVNKSkgeworCQlwcmludGsoS0VSTl9FTUVSRyAiTGl0aGl1bSBob3N0YnJpZGdlICVjIG5vdCBmb3VuZFxuIiwgJ0InKTsKKy8qCQlwYW5pYygiVGhpcyBtYWNoaW5lIGlzIG5vdCBTR0kgVmlzdWFsIFdvcmtzdGF0aW9uIDMyMC81NDAiKTsgKi8KKwl9CisKKwlsaV9wY2lhX3dyaXRlMTYoTElfUENJX0lOVEVOLCBBTExERVZTKTsKKwlsaV9wY2liX3dyaXRlMTYoTElfUENJX0lOVEVOLCBBTExERVZTKTsKK30KKworc3RhdGljIF9faW5pdCB2b2lkIGNvYmFsdF9pbml0KHZvaWQpCit7CisJLyoKKwkgKiBPbiBub3JtYWwgU01QIFBDIHRoaXMgaXMgdXNlZCBvbmx5IHdpdGggU01QLCBidXQgd2UgaGF2ZSB0bworCSAqIHVzZSBpdCBhbmQgc2V0IGl0IHVwIGhlcmUgdG8gc3RhcnQgdGhlIENvYmFsdCBjbG9jaworCSAqLworCXNldF9maXhtYXAoRklYX0FQSUNfQkFTRSwgQVBJQ19ERUZBVUxUX1BIWVNfQkFTRSk7CisJc2V0dXBfbG9jYWxfQVBJQygpOworCXByaW50ayhLRVJOX0lORk8gIkxvY2FsIEFQSUMgVmVyc2lvbiAlI3gsIElEICUjeFxuIiwKKwkJKHVuc2lnbmVkIGludClhcGljX3JlYWQoQVBJQ19MVlIpLAorCQkodW5zaWduZWQgaW50KWFwaWNfcmVhZChBUElDX0lEKSk7CisKKwlzZXRfZml4bWFwKEZJWF9DT19DUFUsIENPX0NQVV9QSFlTKTsKKwlzZXRfZml4bWFwKEZJWF9DT19BUElDLCBDT19BUElDX1BIWVMpOworCXByaW50ayhLRVJOX0lORk8gIkNvYmFsdCBSZXZpc2lvbiAlI2x4LCBBUElDIElEICUjbHhcbiIsCisJCWNvX2NwdV9yZWFkKENPX0NQVV9SRVYpLCBjb19hcGljX3JlYWQoQ09fQVBJQ19JRCkpOworCisJLyogRW5hYmxlIENvYmFsdCBBUElDIGJlaW5nIGNhcmVmdWwgdG8gTk9UIGNoYW5nZSB0aGUgSUQhICovCisJY29fYXBpY193cml0ZShDT19BUElDX0lELCBjb19hcGljX3JlYWQoQ09fQVBJQ19JRCkgfCBDT19BUElDX0VOQUJMRSk7CisKKwlwcmludGsoS0VSTl9JTkZPICJDb2JhbHQgQVBJQyBlbmFibGVkOiBJRCByZWcgJSNseFxuIiwKKwkJY29fYXBpY19yZWFkKENPX0FQSUNfSUQpKTsKK30KKworaW50IF9faW5pdCB2aXN3c190cmFwX2luaXRfcXVpcmsodm9pZCkKK3sKKwlsaXRoaXVtX2luaXQoKTsKKwljb2JhbHRfaW5pdCgpOworCisJcmV0dXJuIDE7Cit9CisKKy8qCisgKiBJUlEgY29udHJvbGxlciAvIEFQSUMgc3VwcG9ydDoKKyAqLworCitzdGF0aWMgREVGSU5FX1NQSU5MT0NLKGNvYmFsdF9sb2NrKTsKKworLyoKKyAqIFNldCB0aGUgZ2l2ZW4gQ29iYWx0IEFQSUMgUmVkaXJlY3Rpb24gVGFibGUgZW50cnkgdG8gcG9pbnQKKyAqIHRvIHRoZSBnaXZlbiBJRFQgdmVjdG9yL2luZGV4LgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgY29fYXBpY19zZXQoaW50IGVudHJ5LCBpbnQgaXJxKQoreworCWNvX2FwaWNfd3JpdGUoQ09fQVBJQ19MTyhlbnRyeSksIENPX0FQSUNfTEVWRUwgfCAoaXJxICsgRklSU1RfRVhURVJOQUxfVkVDVE9SKSk7CisJY29fYXBpY193cml0ZShDT19BUElDX0hJKGVudHJ5KSwgMCk7Cit9CisKKy8qCisgKiBDb2JhbHQgKElPKS1BUElDIGZ1bmN0aW9ucyB0byBoYW5kbGUgUENJIGRldmljZXMuCisgKi8KK3N0YXRpYyBpbmxpbmUgaW50IGNvX2FwaWNfaWRlMF9oYWNrKHZvaWQpCit7CisJZXh0ZXJuIGNoYXIgdmlzd3NfYm9hcmRfdHlwZTsKKwlleHRlcm4gY2hhciB2aXN3c19ib2FyZF9yZXY7CisKKwlpZiAodmlzd3NfYm9hcmRfdHlwZSA9PSBWSVNXU18zMjAgJiYgdmlzd3NfYm9hcmRfcmV2ID09IDUpCisJCXJldHVybiA1OworCXJldHVybiBDT19BUElDX0lERTA7Cit9CisKK3N0YXRpYyBpbnQgaXNfY29fYXBpYyh1bnNpZ25lZCBpbnQgaXJxKQoreworCWlmIChJU19DT19BUElDKGlycSkpCisJCXJldHVybiBDT19BUElDKGlycSk7CisKKwlzd2l0Y2ggKGlycSkgeworCQljYXNlIDA6IHJldHVybiBDT19BUElDX0NQVTsKKwkJY2FzZSBDT19JUlFfSURFMDogcmV0dXJuIGNvX2FwaWNfaWRlMF9oYWNrKCk7CisJCWNhc2UgQ09fSVJRX0lERTE6IHJldHVybiBDT19BUElDX0lERTE7CisJCWRlZmF1bHQ6IHJldHVybiAtMTsKKwl9Cit9CisKKworLyoKKyAqIFRoaXMgaXMgdGhlIFNHSSBDb2JhbHQgKElPLSlBUElDOgorICovCisKK3N0YXRpYyB2b2lkIGVuYWJsZV9jb2JhbHRfaXJxKHVuc2lnbmVkIGludCBpcnEpCit7CisJY29fYXBpY19zZXQoaXNfY29fYXBpYyhpcnEpLCBpcnEpOworfQorCitzdGF0aWMgdm9pZCBkaXNhYmxlX2NvYmFsdF9pcnEodW5zaWduZWQgaW50IGlycSkKK3sKKwlpbnQgZW50cnkgPSBpc19jb19hcGljKGlycSk7CisKKwljb19hcGljX3dyaXRlKENPX0FQSUNfTE8oZW50cnkpLCBDT19BUElDX01BU0spOworCWNvX2FwaWNfcmVhZChDT19BUElDX0xPKGVudHJ5KSk7Cit9CisKKy8qCisgKiAiaXJxIiByZWFsbHkganVzdCBzZXJ2ZXMgdG8gaWRlbnRpZnkgdGhlIGRldmljZS4gIEhlcmUgaXMgd2hlcmUgd2UKKyAqIG1hcCB0aGlzIHRvIHRoZSBDb2JhbHQgQVBJQyBlbnRyeSB3aGVyZSBpdCdzIHBoeXNpY2FsbHkgd2lyZWQuCisgKiBUaGlzIGlzIGNhbGxlZCB2aWEgcmVxdWVzdF9pcnEgLT4gc2V0dXBfaXJxIC0+IGlycV9kZXNjLT5zdGFydHVwKCkKKyAqLworc3RhdGljIHVuc2lnbmVkIGludCBzdGFydHVwX2NvYmFsdF9pcnEodW5zaWduZWQgaW50IGlycSkKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJmNvYmFsdF9sb2NrLCBmbGFncyk7CisJaWYgKChpcnFfZGVzY1tpcnFdLnN0YXR1cyAmIChJUlFfRElTQUJMRUQgfCBJUlFfSU5QUk9HUkVTUyB8IElSUV9XQUlUSU5HKSkpCisJCWlycV9kZXNjW2lycV0uc3RhdHVzICY9IH4oSVJRX0RJU0FCTEVEIHwgSVJRX0lOUFJPR1JFU1MgfCBJUlFfV0FJVElORyk7CisJZW5hYmxlX2NvYmFsdF9pcnEoaXJxKTsKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjb2JhbHRfbG9jaywgZmxhZ3MpOworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBhY2tfY29iYWx0X2lycSh1bnNpZ25lZCBpbnQgaXJxKQoreworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmY29iYWx0X2xvY2ssIGZsYWdzKTsKKwlkaXNhYmxlX2NvYmFsdF9pcnEoaXJxKTsKKwlhcGljX3dyaXRlKEFQSUNfRU9JLCBBUElDX0VJT19BQ0spOworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmNvYmFsdF9sb2NrLCBmbGFncyk7Cit9CisKK3N0YXRpYyB2b2lkIGVuZF9jb2JhbHRfaXJxKHVuc2lnbmVkIGludCBpcnEpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZjb2JhbHRfbG9jaywgZmxhZ3MpOworCWlmICghKGlycV9kZXNjW2lycV0uc3RhdHVzICYgKElSUV9ESVNBQkxFRCB8IElSUV9JTlBST0dSRVNTKSkpCisJCWVuYWJsZV9jb2JhbHRfaXJxKGlycSk7CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY29iYWx0X2xvY2ssIGZsYWdzKTsKK30KKworc3RhdGljIHN0cnVjdCBpcnFfY2hpcCBjb2JhbHRfaXJxX3R5cGUgPSB7CisJLnR5cGVuYW1lID0JIkNvYmFsdC1BUElDIiwKKwkuc3RhcnR1cCA9CXN0YXJ0dXBfY29iYWx0X2lycSwKKwkuc2h1dGRvd24gPQlkaXNhYmxlX2NvYmFsdF9pcnEsCisJLmVuYWJsZSA9CWVuYWJsZV9jb2JhbHRfaXJxLAorCS5kaXNhYmxlID0JZGlzYWJsZV9jb2JhbHRfaXJxLAorCS5hY2sgPQkJYWNrX2NvYmFsdF9pcnEsCisJLmVuZCA9CQllbmRfY29iYWx0X2lycSwKK307CisKKworLyoKKyAqIFRoaXMgaXMgdGhlIFBJSVg0LWJhc2VkIDgyNTkgdGhhdCBpcyB3aXJlZCB1cCBpbmRpcmVjdGx5IHRvIENvYmFsdAorICogLS0gbm90IHRoZSBtYW5uZXIgZXhwZWN0ZWQgYnkgdGhlIGNvZGUgaW4gaTgyNTkuYy4KKyAqCisgKiB0aGVyZSBpcyBhICdtYXN0ZXInIHBoeXNpY2FsIGludGVycnVwdCBzb3VyY2UgdGhhdCBnZXRzIHNlbnQgdG8KKyAqIHRoZSBDUFUuIEJ1dCBpbiB0aGUgY2hpcHNldCB0aGVyZSBhcmUgdmFyaW91cyAndmlydHVhbCcgaW50ZXJydXB0cworICogd2FpdGluZyB0byBiZSBoYW5kbGVkLiBXZSByZXByZXNlbnQgdGhpcyB0byBMaW51eCB0aHJvdWdoIGEgJ21hc3RlcicKKyAqIGludGVycnVwdCBjb250cm9sbGVyIHR5cGUsIGFuZCB0aHJvdWdoIGEgc3BlY2lhbCB2aXJ0dWFsIGludGVycnVwdC0KKyAqIGNvbnRyb2xsZXIuIERldmljZSBkcml2ZXJzIG9ubHkgc2VlIHRoZSB2aXJ0dWFsIGludGVycnVwdCBzb3VyY2VzLgorICovCitzdGF0aWMgdW5zaWduZWQgaW50IHN0YXJ0dXBfcGlpeDRfbWFzdGVyX2lycSh1bnNpZ25lZCBpbnQgaXJxKQoreworCWluaXRfODI1OUEoMCk7CisKKwlyZXR1cm4gc3RhcnR1cF9jb2JhbHRfaXJxKGlycSk7Cit9CisKK3N0YXRpYyB2b2lkIGVuZF9waWl4NF9tYXN0ZXJfaXJxKHVuc2lnbmVkIGludCBpcnEpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZjb2JhbHRfbG9jaywgZmxhZ3MpOworCWVuYWJsZV9jb2JhbHRfaXJxKGlycSk7CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY29iYWx0X2xvY2ssIGZsYWdzKTsKK30KKworc3RhdGljIHN0cnVjdCBpcnFfY2hpcCBwaWl4NF9tYXN0ZXJfaXJxX3R5cGUgPSB7CisJLnR5cGVuYW1lID0JIlBJSVg0LW1hc3RlciIsCisJLnN0YXJ0dXAgPQlzdGFydHVwX3BpaXg0X21hc3Rlcl9pcnEsCisJLmFjayA9CQlhY2tfY29iYWx0X2lycSwKKwkuZW5kID0JCWVuZF9waWl4NF9tYXN0ZXJfaXJxLAorfTsKKworCitzdGF0aWMgc3RydWN0IGlycV9jaGlwIHBpaXg0X3ZpcnR1YWxfaXJxX3R5cGUgPSB7CisJLnR5cGVuYW1lID0JIlBJSVg0LXZpcnR1YWwiLAorCS5zaHV0ZG93biA9CWRpc2FibGVfODI1OUFfaXJxLAorCS5lbmFibGUgPQllbmFibGVfODI1OUFfaXJxLAorCS5kaXNhYmxlID0JZGlzYWJsZV84MjU5QV9pcnEsCit9OworCisKKy8qCisgKiBQSUlYNC04MjU5IG1hc3Rlci92aXJ0dWFsIGZ1bmN0aW9ucyB0byBoYW5kbGUgaW50ZXJydXB0IHJlcXVlc3RzCisgKiBmcm9tIGxlZ2FjeSBkZXZpY2VzOiBmbG9wcHksIHBhcmFsbGVsLCBzZXJpYWwsIHJ0Yy4KKyAqCisgKiBOb25lIG9mIHRoZXNlIGdldCBDb2JhbHQgQVBJQyBlbnRyaWVzLCBuZWl0aGVyIGRvIHRoZXkgaGF2ZSBJRFQKKyAqIGVudHJpZXMuIFRoZXNlIGludGVycnVwdHMgYXJlIHB1cmVseSB2aXJ0dWFsIGFuZCBkaXN0cmlidXRlZCBmcm9tCisgKiB0aGUgJ21hc3RlcicgaW50ZXJydXB0IHNvdXJjZTogQ09fSVJRXzgyNTkuCisgKgorICogV2hlbiB0aGUgODI1OSBpbnRlcnJ1cHRzIGl0cyBoYW5kbGVyIGZpZ3VyZXMgb3V0IHdoaWNoIG9mIHRoZXNlCisgKiBkZXZpY2VzIGlzIGludGVycnVwdGluZyBhbmQgZGlzcGF0Y2hlcyB0byBpdHMgaGFuZGxlci4KKyAqCisgKiBDQVJFRlVMOiBkZXZpY2VzIHNlZSB0aGUgJ3ZpcnR1YWwnIGludGVycnVwdCBvbmx5LiBUaHVzIGRpc2FibGUvCisgKiBlbmFibGVfaXJxIGdldHMgdGhlIHJpZ2h0IGlycS4gVGhpcyAnbWFzdGVyJyBpcnEgaXMgbmV2ZXIgZGlyZWN0bHkKKyAqIG1hbmlwdWxhdGVkIGJ5IGFueSBkcml2ZXIuCisgKi8KK3N0YXRpYyBpcnFyZXR1cm5fdCBwaWl4NF9tYXN0ZXJfaW50cihpbnQgaXJxLCB2b2lkICpkZXZfaWQpCit7CisJaW50IHJlYWxpcnE7CisJaXJxX2Rlc2NfdCAqZGVzYzsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJmk4MjU5QV9sb2NrLCBmbGFncyk7CisKKwkvKiBGaW5kIG91dCB3aGF0J3MgaW50ZXJydXB0aW5nIGluIHRoZSBQSUlYNCBtYXN0ZXIgODI1OSAqLworCW91dGIoMHgwYywgMHgyMCk7CQkvKiBPQ1czIFBvbGwgY29tbWFuZCAqLworCXJlYWxpcnEgPSBpbmIoMHgyMCk7CisKKwkvKgorCSAqIEJpdCA3ID09IDAgbWVhbnMgaW52YWxpZC9zcHVyaW91cworCSAqLworCWlmICh1bmxpa2VseSghKHJlYWxpcnEgJiAweDgwKSkpCisJCWdvdG8gb3V0X3VubG9jazsKKworCXJlYWxpcnEgJj0gNzsKKworCWlmICh1bmxpa2VseShyZWFsaXJxID09IDIpKSB7CisJCW91dGIoMHgwYywgMHhhMCk7CisJCXJlYWxpcnEgPSBpbmIoMHhhMCk7CisKKwkJaWYgKHVubGlrZWx5KCEocmVhbGlycSAmIDB4ODApKSkKKwkJCWdvdG8gb3V0X3VubG9jazsKKworCQlyZWFsaXJxID0gKHJlYWxpcnEgJiA3KSArIDg7CisJfQorCisJLyogbWFzayBhbmQgYWNrIGludGVycnVwdCAqLworCWNhY2hlZF9pcnFfbWFzayB8PSAxIDw8IHJlYWxpcnE7CisJaWYgKHVubGlrZWx5KHJlYWxpcnEgPiA3KSkgeworCQlpbmIoMHhhMSk7CisJCW91dGIoY2FjaGVkX3NsYXZlX21hc2ssIDB4YTEpOworCQlvdXRiKDB4NjAgKyAocmVhbGlycSAmIDcpLCAweGEwKTsKKwkJb3V0YigweDYwICsgMiwgMHgyMCk7CisJfSBlbHNlIHsKKwkJaW5iKDB4MjEpOworCQlvdXRiKGNhY2hlZF9tYXN0ZXJfbWFzaywgMHgyMSk7CisJCW91dGIoMHg2MCArIHJlYWxpcnEsIDB4MjApOworCX0KKworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmk4MjU5QV9sb2NrLCBmbGFncyk7CisKKwlkZXNjID0gaXJxX2Rlc2MgKyByZWFsaXJxOworCisJLyoKKwkgKiBoYW5kbGUgdGhpcyAndmlydHVhbCBpbnRlcnJ1cHQnIGFzIGEgQ29iYWx0IG9uZSBub3cuCisJICovCisJa3N0YXRfY3B1KHNtcF9wcm9jZXNzb3JfaWQoKSkuaXJxc1tyZWFsaXJxXSsrOworCisJaWYgKGxpa2VseShkZXNjLT5hY3Rpb24gIT0gTlVMTCkpCisJCWhhbmRsZV9JUlFfZXZlbnQocmVhbGlycSwgZGVzYy0+YWN0aW9uKTsKKworCWlmICghKGRlc2MtPnN0YXR1cyAmIElSUV9ESVNBQkxFRCkpCisJCWVuYWJsZV84MjU5QV9pcnEocmVhbGlycSk7CisKKwlyZXR1cm4gSVJRX0hBTkRMRUQ7CisKK291dF91bmxvY2s6CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaTgyNTlBX2xvY2ssIGZsYWdzKTsKKwlyZXR1cm4gSVJRX05PTkU7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgaXJxYWN0aW9uIG1hc3Rlcl9hY3Rpb24gPSB7CisJLmhhbmRsZXIgPQlwaWl4NF9tYXN0ZXJfaW50ciwKKwkubmFtZSA9CQkiUElJWDQtODI1OSIsCit9OworCitzdGF0aWMgc3RydWN0IGlycWFjdGlvbiBjYXNjYWRlX2FjdGlvbiA9IHsKKwkuaGFuZGxlciA9IAlub19hY3Rpb24sCisJLm5hbWUgPQkJImNhc2NhZGUiLAorfTsKKworCit2b2lkIGluaXRfVklTV1NfQVBJQ19pcnFzKHZvaWQpCit7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgQ09fSVJRX0FQSUMwICsgQ09fQVBJQ19MQVNUICsgMTsgaSsrKSB7CisJCWlycV9kZXNjW2ldLnN0YXR1cyA9IElSUV9ESVNBQkxFRDsKKwkJaXJxX2Rlc2NbaV0uYWN0aW9uID0gMDsKKwkJaXJxX2Rlc2NbaV0uZGVwdGggPSAxOworCisJCWlmIChpID09IDApIHsKKwkJCWlycV9kZXNjW2ldLmNoaXAgPSAmY29iYWx0X2lycV90eXBlOworCQl9CisJCWVsc2UgaWYgKGkgPT0gQ09fSVJRX0lERTApIHsKKwkJCWlycV9kZXNjW2ldLmNoaXAgPSAmY29iYWx0X2lycV90eXBlOworCQl9CisJCWVsc2UgaWYgKGkgPT0gQ09fSVJRX0lERTEpIHsKKwkJCWlycV9kZXNjW2ldLmNoaXAgPSAmY29iYWx0X2lycV90eXBlOworCQl9CisJCWVsc2UgaWYgKGkgPT0gQ09fSVJRXzgyNTkpIHsKKwkJCWlycV9kZXNjW2ldLmNoaXAgPSAmcGlpeDRfbWFzdGVyX2lycV90eXBlOworCQl9CisJCWVsc2UgaWYgKGkgPCBDT19JUlFfQVBJQzApIHsKKwkJCWlycV9kZXNjW2ldLmNoaXAgPSAmcGlpeDRfdmlydHVhbF9pcnFfdHlwZTsKKwkJfQorCQllbHNlIGlmIChJU19DT19BUElDKGkpKSB7CisJCQlpcnFfZGVzY1tpXS5jaGlwID0gJmNvYmFsdF9pcnFfdHlwZTsKKwkJfQorCX0KKworCXNldHVwX2lycShDT19JUlFfODI1OSwgJm1hc3Rlcl9hY3Rpb24pOworCXNldHVwX2lycSgyLCAmY2FzY2FkZV9hY3Rpb24pOworfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3ZtaV8zMi5jIGIvYXJjaC94ODYva2VybmVsL3ZtaV8zMi5jCmluZGV4IDk1NmYzODkuLmIxNTM0NjAgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC92bWlfMzIuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvdm1pXzMyLmMKQEAgLTE1MSw3ICsxNTEsNyBAQAogCQkJCQkgICAgICBpbnNucywgaXApOwogCQljYXNlIFBBUkFWSVJUX1BBVENIKHB2X2NwdV9vcHMuaXJldCk6CiAJCQlyZXR1cm4gcGF0Y2hfaW50ZXJuYWwoVk1JX0NBTExfSVJFVCwgbGVuLCBpbnNucywgaXApOwotCQljYXNlIFBBUkFWSVJUX1BBVENIKHB2X2NwdV9vcHMuaXJxX2VuYWJsZV9zeXNjYWxsX3JldCk6CisJCWNhc2UgUEFSQVZJUlRfUEFUQ0gocHZfY3B1X29wcy5pcnFfZW5hYmxlX3N5c2V4aXQpOgogCQkJcmV0dXJuIHBhdGNoX2ludGVybmFsKFZNSV9DQUxMX1NZU0VYSVQsIGxlbiwgaW5zbnMsIGlwKTsKIAkJZGVmYXVsdDoKIAkJCWJyZWFrOwpAQCAtODk2LDcgKzg5Niw3IEBACiAJICogdGhlIGJhY2tlbmQuICBUaGV5IGFyZSBwZXJmb3JtYW5jZSBjcml0aWNhbCBhbnl3YXksIHNvIHJlcXVpcmluZwogCSAqIGEgcGF0Y2ggaXMgbm90IGEgYmlnIHByb2JsZW0uCiAJICovCi0JcHZfY3B1X29wcy5pcnFfZW5hYmxlX3N5c2NhbGxfcmV0ID0gKHZvaWQgKikweGZlZWRiYWIwOworCXB2X2NwdV9vcHMuaXJxX2VuYWJsZV9zeXNleGl0ID0gKHZvaWQgKikweGZlZWRiYWIwOwogCXB2X2NwdV9vcHMuaXJldCA9ICh2b2lkICopMHhiYWRiYWIwOwogCiAjaWZkZWYgQ09ORklHX1NNUApAQCAtOTMyLDcgKzkzMiw3IEBACiAJCXB2X2FwaWNfb3BzLnNldHVwX3NlY29uZGFyeV9jbG9jayA9IHZtaV90aW1lX2FwX2luaXQ7CiAjZW5kaWYKIAkJcHZfdGltZV9vcHMuc2NoZWRfY2xvY2sgPSB2bWlfc2NoZWRfY2xvY2s7Ci0gCQlwdl90aW1lX29wcy5nZXRfY3B1X2toeiA9IHZtaV9jcHVfa2h6OworCQlwdl90aW1lX29wcy5nZXRfdHNjX2toeiA9IHZtaV90c2Nfa2h6OwogCiAJCS8qIFdlIGhhdmUgdHJ1ZSB3YWxsY2xvY2sgZnVuY3Rpb25zOyBkaXNhYmxlIENNT1MgY2xvY2sgc3luYyAqLwogCQlub19zeW5jX2Ntb3NfY2xvY2sgPSAxOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3ZtaWNsb2NrXzMyLmMgYi9hcmNoL3g4Ni9rZXJuZWwvdm1pY2xvY2tfMzIuYwppbmRleCBhMmIwMzA3Li42OTUzODU5IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvdm1pY2xvY2tfMzIuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvdm1pY2xvY2tfMzIuYwpAQCAtMzMsOCArMzMsNyBAQAogI2luY2x1ZGUgPGFzbS9hcGljLmg+CiAjaW5jbHVkZSA8YXNtL3RpbWVyLmg+CiAjaW5jbHVkZSA8YXNtL2k4MjUzLmg+Ci0KLSNpbmNsdWRlIDxpcnFfdmVjdG9ycy5oPgorI2luY2x1ZGUgPGFzbS9pcnFfdmVjdG9ycy5oPgogCiAjZGVmaW5lIFZNSV9PTkVTSE9UICAoVk1JX0FMQVJNX0lTX09ORVNIT1QgIHwgVk1JX0NZQ0xFU19SRUFMIHwgdm1pX2dldF9hbGFybV93aXJpbmcoKSkKICNkZWZpbmUgVk1JX1BFUklPRElDIChWTUlfQUxBUk1fSVNfUEVSSU9ESUMgfCBWTUlfQ1lDTEVTX1JFQUwgfCB2bWlfZ2V0X2FsYXJtX3dpcmluZygpKQpAQCAtNzAsOCArNjksOCBAQAogCXJldHVybiBjeWNsZXNfMl9ucyh2bWlfdGltZXJfb3BzLmdldF9jeWNsZV9jb3VudGVyKFZNSV9DWUNMRVNfQVZBSUxBQkxFKSk7CiB9CiAKLS8qIHBhcmF2aXJ0X29wcy5nZXRfY3B1X2toeiA9IHZtaV9jcHVfa2h6ICovCi11bnNpZ25lZCBsb25nIHZtaV9jcHVfa2h6KHZvaWQpCisvKiBwYXJhdmlydF9vcHMuZ2V0X3RzY19raHogPSB2bWlfdHNjX2toeiAqLwordW5zaWduZWQgbG9uZyB2bWlfdHNjX2toeih2b2lkKQogewogCXVuc2lnbmVkIGxvbmcgbG9uZyBraHo7CiAJa2h6ID0gdm1pX3RpbWVyX29wcy5nZXRfY3ljbGVfZnJlcXVlbmN5KCk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvdm1saW51eF8zMi5sZHMuUyBiL2FyY2gveDg2L2tlcm5lbC92bWxpbnV4XzMyLmxkcy5TCmluZGV4IGNlNWVkMDguLmNkYjIzNjMgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC92bWxpbnV4XzMyLmxkcy5TCisrKyBiL2FyY2gveDg2L2tlcm5lbC92bWxpbnV4XzMyLmxkcy5TCkBAIC00OSwyMyArNDksMTQgQEAKICAgCV9ldGV4dCA9IC47CQkJLyogRW5kIG9mIHRleHQgc2VjdGlvbiAqLwogICB9IDp0ZXh0ID0gMHg5MDkwCiAKKyAgTk9URVMgOnRleHQgOm5vdGUKKwogICAuID0gQUxJR04oMTYpOwkJLyogRXhjZXB0aW9uIHRhYmxlICovCiAgIF9fZXhfdGFibGUgOiBBVChBRERSKF9fZXhfdGFibGUpIC0gTE9BRF9PRkZTRVQpIHsKICAgCV9fc3RhcnRfX19leF90YWJsZSA9IC47CiAJICooX19leF90YWJsZSkKICAgCV9fc3RvcF9fX2V4X3RhYmxlID0gLjsKLSAgfQotCi0gIE5PVEVTIDp0ZXh0IDpub3RlCi0KLSAgQlVHX1RBQkxFIDp0ZXh0Ci0KLSAgLiA9IEFMSUdOKDQpOwotICAudHJhY2VkYXRhIDogQVQoQUREUigudHJhY2VkYXRhKSAtIExPQURfT0ZGU0VUKSB7Ci0gIAlfX3RyYWNlZGF0YV9zdGFydCA9IC47Ci0JKigudHJhY2VkYXRhKQotICAJX190cmFjZWRhdGFfZW5kID0gLjsKLSAgfQorICB9IDp0ZXh0ID0gMHg5MDkwCiAKICAgUk9EQVRBCiAKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC92bWxpbnV4XzY0Lmxkcy5TIGIvYXJjaC94ODYva2VybmVsL3ZtbGludXhfNjQubGRzLlMKaW5kZXggZmFkMzY3NC4uNjNlNWMxYSAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL3ZtbGludXhfNjQubGRzLlMKKysrIGIvYXJjaC94ODYva2VybmVsL3ZtbGludXhfNjQubGRzLlMKQEAgLTE5LDcgKzE5LDcgQEAKIAlkYXRhIFBUX0xPQUQgRkxBR1MoNyk7CS8qIFJXRSAqLwogCXVzZXIgUFRfTE9BRCBGTEFHUyg3KTsJLyogUldFICovCiAJZGF0YS5pbml0IFBUX0xPQUQgRkxBR1MoNyk7CS8qIFJXRSAqLwotCW5vdGUgUFRfTk9URSBGTEFHUyg0KTsJLyogUl9fICovCisJbm90ZSBQVF9OT1RFIEZMQUdTKDApOwkvKiBfX18gKi8KIH0KIFNFQ1RJT05TCiB7CkBAIC00MCwyNiArNDAsMTcgQEAKIAlfZXRleHQgPSAuOwkJLyogRW5kIG9mIHRleHQgc2VjdGlvbiAqLwogICB9IDp0ZXh0ID0gMHg5MDkwCiAKKyAgTk9URVMgOnRleHQgOm5vdGUKKwogICAuID0gQUxJR04oMTYpOwkJLyogRXhjZXB0aW9uIHRhYmxlICovCiAgIF9fZXhfdGFibGUgOiBBVChBRERSKF9fZXhfdGFibGUpIC0gTE9BRF9PRkZTRVQpIHsKICAgCV9fc3RhcnRfX19leF90YWJsZSA9IC47CiAJICooX19leF90YWJsZSkKICAgCV9fc3RvcF9fX2V4X3RhYmxlID0gLjsKLSAgfQotCi0gIE5PVEVTIDp0ZXh0IDpub3RlCi0KLSAgQlVHX1RBQkxFIDp0ZXh0CisgIH0gOnRleHQgPSAweDkwOTAKIAogICBST0RBVEEKIAotICAuID0gQUxJR04oNCk7Ci0gIC50cmFjZWRhdGEgOiBBVChBRERSKC50cmFjZWRhdGEpIC0gTE9BRF9PRkZTRVQpIHsKLSAgCV9fdHJhY2VkYXRhX3N0YXJ0ID0gLjsKLQkqKC50cmFjZWRhdGEpCi0gIAlfX3RyYWNlZGF0YV9lbmQgPSAuOwotICB9Ci0KICAgLiA9IEFMSUdOKFBBR0VfU0laRSk7CQkvKiBBbGlnbiBkYXRhIHNlZ21lbnQgdG8gcGFnZSBzaXplIGJvdW5kYXJ5ICovCiAJCQkJLyogRGF0YSAqLwogICAuZGF0YSA6IEFUKEFERFIoLmRhdGEpIC0gTE9BRF9PRkZTRVQpIHsKQEAgLTE3Nyw2ICsxNjgsNyBAQAogCSooLmNvbl9pbml0Y2FsbC5pbml0KQogICB9CiAgIF9fY29uX2luaXRjYWxsX2VuZCA9IC47CisgIC4gPSBBTElHTigxNik7CiAgIF9feDg2Y3B1dmVuZG9yX3N0YXJ0ID0gLjsKICAgLng4NmNwdXZlbmRvci5pbml0IDogQVQoQUREUigueDg2Y3B1dmVuZG9yLmluaXQpIC0gTE9BRF9PRkZTRVQpIHsKIAkqKC54ODZjcHV2ZW5kb3IuaW5pdCkKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC92c21wXzY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvdnNtcF82NC5jCmluZGV4IGJhOGMwYjcuLjBjMDI5ZTggMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC92c21wXzY0LmMKKysrIGIvYXJjaC94ODYva2VybmVsL3ZzbXBfNjQuYwpAQCAtMTUsOSArMTUsMTIgQEAKICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvcGNpX2lkcy5oPgogI2luY2x1ZGUgPGxpbnV4L3BjaV9yZWdzLmg+CisKKyNpbmNsdWRlIDxhc20vYXBpYy5oPgogI2luY2x1ZGUgPGFzbS9wY2ktZGlyZWN0Lmg+CiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAjaW5jbHVkZSA8YXNtL3BhcmF2aXJ0Lmg+CisjaW5jbHVkZSA8YXNtL3NldHVwLmg+CiAKICNpZiBkZWZpbmVkIENPTkZJR19QQ0kgJiYgZGVmaW5lZCBDT05GSUdfUEFSQVZJUlQKIC8qCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvdnN5c2NhbGxfNjQuYyBiL2FyY2gveDg2L2tlcm5lbC92c3lzY2FsbF82NC5jCmluZGV4IDYxZWZhMmYuLjBiOGI2NjkwIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvdnN5c2NhbGxfNjQuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvdnN5c2NhbGxfNjQuYwpAQCAtNDIsNyArNDIsOCBAQAogI2luY2x1ZGUgPGFzbS90b3BvbG9neS5oPgogI2luY2x1ZGUgPGFzbS92Z3RvZC5oPgogCi0jZGVmaW5lIF9fdnN5c2NhbGwobnIpIF9fYXR0cmlidXRlX18gKCh1bnVzZWQsX19zZWN0aW9uX18oIi52c3lzY2FsbF8iICNucikpKQorI2RlZmluZSBfX3ZzeXNjYWxsKG5yKSBcCisJCV9fYXR0cmlidXRlX18gKCh1bnVzZWQsIF9fc2VjdGlvbl9fKCIudnN5c2NhbGxfIiAjbnIpKSkgbm90cmFjZQogI2RlZmluZSBfX3N5c2NhbGxfY2xvYmJlciAicjExIiwiY3giLCJtZW1vcnkiCiAKIC8qCkBAIC0yNDksNyArMjUwLDcgQEAKICAgIGRvZXNuJ3QgdmlvbGF0ZSB0aGF0LiBXZSdsbCBmaW5kIG91dCBpZiBpdCBkb2VzLiAqLwogc3RhdGljIHZvaWQgX19jcHVpbml0IHZzeXNjYWxsX3NldF9jcHUoaW50IGNwdSkKIHsKLQl1bnNpZ25lZCBsb25nICpkOworCXVuc2lnbmVkIGxvbmcgZDsKIAl1bnNpZ25lZCBsb25nIG5vZGUgPSAwOwogI2lmZGVmIENPTkZJR19OVU1BCiAJbm9kZSA9IGNwdV90b19ub2RlKGNwdSk7CkBAIC0yNjAsMTEgKzI2MSwxMSBAQAogCS8qIFN0b3JlIGNwdSBudW1iZXIgaW4gbGltaXQgc28gdGhhdCBpdCBjYW4gYmUgbG9hZGVkIHF1aWNrbHkKIAkgICBpbiB1c2VyIHNwYWNlIGluIHZnZXRjcHUuCiAJICAgMTIgYml0cyBmb3IgdGhlIENQVSBhbmQgOCBiaXRzIGZvciB0aGUgbm9kZS4gKi8KLQlkID0gKHVuc2lnbmVkIGxvbmcgKikoZ2V0X2NwdV9nZHRfdGFibGUoY3B1KSArIEdEVF9FTlRSWV9QRVJfQ1BVKTsKLQkqZCA9IDB4MGY0MDAwMDAwMDAwMFVMTDsKLQkqZCB8PSBjcHU7Ci0JKmQgfD0gKG5vZGUgJiAweGYpIDw8IDEyOwotCSpkIHw9IChub2RlID4+IDQpIDw8IDQ4OworCWQgPSAweDBmNDAwMDAwMDAwMDBVTEw7CisJZCB8PSBjcHU7CisJZCB8PSAobm9kZSAmIDB4ZikgPDwgMTI7CisJZCB8PSAobm9kZSA+PiA0KSA8PCA0ODsKKwl3cml0ZV9nZHRfZW50cnkoZ2V0X2NwdV9nZHRfdGFibGUoY3B1KSwgR0RUX0VOVFJZX1BFUl9DUFUsICZkLCBERVNDVFlQRV9TKTsKIH0KIAogc3RhdGljIHZvaWQgX19jcHVpbml0IGNwdV92c3lzY2FsbF9pbml0KHZvaWQgKmFyZykKQEAgLTI3OCw3ICsyNzksNyBAQAogewogCWxvbmcgY3B1ID0gKGxvbmcpYXJnOwogCWlmIChhY3Rpb24gPT0gQ1BVX09OTElORSB8fCBhY3Rpb24gPT0gQ1BVX09OTElORV9GUk9aRU4pCi0JCXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShjcHUsIGNwdV92c3lzY2FsbF9pbml0LCBOVUxMLCAwLCAxKTsKKwkJc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGNwdSwgY3B1X3ZzeXNjYWxsX2luaXQsIE5VTEwsIDEpOwogCXJldHVybiBOT1RJRllfRE9ORTsKIH0KIApAQCAtMzAxLDcgKzMwMiw3IEBACiAjaWZkZWYgQ09ORklHX1NZU0NUTAogCXJlZ2lzdGVyX3N5c2N0bF90YWJsZShrZXJuZWxfcm9vdF90YWJsZTIpOwogI2VuZGlmCi0Jb25fZWFjaF9jcHUoY3B1X3ZzeXNjYWxsX2luaXQsIE5VTEwsIDAsIDEpOworCW9uX2VhY2hfY3B1KGNwdV92c3lzY2FsbF9pbml0LCBOVUxMLCAxKTsKIAlob3RjcHVfbm90aWZpZXIoY3B1X3ZzeXNjYWxsX25vdGlmaWVyLCAwKTsKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC94ODY2NF9rc3ltc182NC5jIGIvYXJjaC94ODYva2VybmVsL3g4NjY0X2tzeW1zXzY0LmMKaW5kZXggZjZjMDVkMC4uYjU0NWYzNyAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL3g4NjY0X2tzeW1zXzY0LmMKKysrIGIvYXJjaC94ODYva2VybmVsL3g4NjY0X2tzeW1zXzY0LmMKQEAgLTIsMTMgKzIsMjAgQEAKICAgIEFsbCBDIGV4cG9ydHMgc2hvdWxkIGdvIGluIHRoZSByZXNwZWN0aXZlIEMgZmlsZXMuICovCiAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KLSNpbmNsdWRlIDxuZXQvY2hlY2tzdW0uaD4KICNpbmNsdWRlIDxsaW51eC9zbXAuaD4KIAorI2luY2x1ZGUgPG5ldC9jaGVja3N1bS5oPgorCiAjaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci5oPgotI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAjaW5jbHVkZSA8YXNtL3BndGFibGUuaD4KKyNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogI2luY2x1ZGUgPGFzbS9kZXNjLmg+CisjaW5jbHVkZSA8YXNtL2Z0cmFjZS5oPgorCisjaWZkZWYgQ09ORklHX0ZUUkFDRQorLyogbWNvdW50IGlzIGRlZmluZWQgaW4gYXNzZW1ibHkgKi8KK0VYUE9SVF9TWU1CT0wobWNvdW50KTsKKyNlbmRpZgogCiBFWFBPUlRfU1lNQk9MKGtlcm5lbF90aHJlYWQpOwogCkBAIC01Myw4ICs2MCwzIEBACiBFWFBPUlRfU1lNQk9MKGxvYWRfZ3NfaW5kZXgpOwogCiBFWFBPUlRfU1lNQk9MKF9wcm94eV9wZGEpOwotCi0jaWZkZWYgQ09ORklHX1BBUkFWSVJUCi0vKiBWaXJ0dWFsaXplZCBndWVzdHMgbWF5IHdhbnQgdG8gdXNlIGl0ICovCi1FWFBPUlRfU1lNQk9MX0dQTChjcHVfZ2R0X2Rlc2NyKTsKLSNlbmRpZgpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva3ZtL3ZteC5jIGIvYXJjaC94ODYva3ZtL3ZteC5jCmluZGV4IDU0MGU5NTEuLjEwY2U2ZWUgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2t2bS92bXguYworKysgYi9hcmNoL3g4Ni9rdm0vdm14LmMKQEAgLTMzNSw3ICszMzUsNyBAQAogewogCWlmICh2bXgtPnZjcHUuY3B1ID09IC0xKQogCQlyZXR1cm47Ci0Jc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKHZteC0+dmNwdS5jcHUsIF9fdmNwdV9jbGVhciwgdm14LCAwLCAxKTsKKwlzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUodm14LT52Y3B1LmNwdSwgX192Y3B1X2NsZWFyLCB2bXgsIDEpOwogCXZteC0+bGF1bmNoZWQgPSAwOwogfQogCkBAIC0yOTY4LDcgKzI5NjgsNyBAQAogCXN0cnVjdCB2Y3B1X3ZteCAqdm14ID0gdG9fdm14KHZjcHUpOwogCiAJaWYgKHZteC0+dm1jcykgewotCQlvbl9lYWNoX2NwdShfX3ZjcHVfY2xlYXIsIHZteCwgMCwgMSk7CisJCW9uX2VhY2hfY3B1KF9fdmNwdV9jbGVhciwgdm14LCAxKTsKIAkJZnJlZV92bWNzKHZteC0+dm1jcyk7CiAJCXZteC0+dm1jcyA9IE5VTEw7CiAJfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva3ZtL3g4Ni5jIGIvYXJjaC94ODYva3ZtL3g4Ni5jCmluZGV4IDYzYTc3Y2EuLjBmYWEyNTQgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2t2bS94ODYuYworKysgYi9hcmNoL3g4Ni9rdm0veDg2LmMKQEAgLTQwNDQsNiArNDA0NCw2IEBACiAJICogU28gbmVlZCBub3QgdG8gY2FsbCBzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoKSBpbiB0aGF0IGNhc2UuCiAJICovCiAJaWYgKHZjcHUtPmd1ZXN0X21vZGUgJiYgdmNwdS0+Y3B1ICE9IGNwdSkKLQkJc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGlwaV9wY3B1LCB2Y3B1X2tpY2tfaW50ciwgdmNwdSwgMCwgMCk7CisJCXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShpcGlfcGNwdSwgdmNwdV9raWNrX2ludHIsIHZjcHUsIDApOwogCXB1dF9jcHUoKTsKIH0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2xndWVzdC9LY29uZmlnIGIvYXJjaC94ODYvbGd1ZXN0L0tjb25maWcKaW5kZXggOTY0ZGZhMy4uYzcwZTEyYiAxMDA2NDQKLS0tIGEvYXJjaC94ODYvbGd1ZXN0L0tjb25maWcKKysrIGIvYXJjaC94ODYvbGd1ZXN0L0tjb25maWcKQEAgLTMsNyArMyw3IEBACiAJc2VsZWN0IFBBUkFWSVJUCiAJZGVwZW5kcyBvbiBYODZfMzIKIAlkZXBlbmRzIG9uICFYODZfUEFFCi0JZGVwZW5kcyBvbiAhKFg4Nl9WSVNXUyB8fCBYODZfVk9ZQUdFUikKKwlkZXBlbmRzIG9uICFYODZfVk9ZQUdFUgogCXNlbGVjdCBWSVJUSU8KIAlzZWxlY3QgVklSVElPX1JJTkcKIAlzZWxlY3QgVklSVElPX0NPTlNPTEUKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2xndWVzdC9ib290LmMgYi9hcmNoL3g4Ni9sZ3Vlc3QvYm9vdC5jCmluZGV4IDVjN2UyZmQuLjUwZGFkNDQgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2xndWVzdC9ib290LmMKKysrIGIvYXJjaC94ODYvbGd1ZXN0L2Jvb3QuYwpAQCAtNjA3LDcgKzYwNyw3IEBACiAgKiB3aGF0IHNwZWVkIGl0IHJ1bnMgYXQsIG9yIDAgaWYgaXQncyB1bnVzYWJsZSBhcyBhIHJlbGlhYmxlIGNsb2NrIHNvdXJjZS4KICAqIFRoaXMgbWF0Y2hlcyB3aGF0IHdlIHdhbnQgaGVyZTogaWYgd2UgcmV0dXJuIDAgZnJvbSB0aGlzIGZ1bmN0aW9uLCB0aGUgeDg2CiAgKiBUU0MgY2xvY2sgd2lsbCBnaXZlIHVwIGFuZCBub3QgcmVnaXN0ZXIgaXRzZWxmLiAqLwotc3RhdGljIHVuc2lnbmVkIGxvbmcgbGd1ZXN0X2NwdV9raHoodm9pZCkKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGxndWVzdF90c2Nfa2h6KHZvaWQpCiB7CiAJcmV0dXJuIGxndWVzdF9kYXRhLnRzY19raHo7CiB9CkBAIC04MzUsNyArODM1LDcgQEAKIAogCS8qIFRoZSBMaW51eCBib290bG9hZGVyIGhlYWRlciBjb250YWlucyBhbiAiZTgyMCIgbWVtb3J5IG1hcDogdGhlCiAJICogTGF1bmNoZXIgcG9wdWxhdGVkIHRoZSBmaXJzdCBlbnRyeSB3aXRoIG91ciBtZW1vcnkgbGltaXQuICovCi0JYWRkX21lbW9yeV9yZWdpb24oYm9vdF9wYXJhbXMuZTgyMF9tYXBbMF0uYWRkciwKKwllODIwX2FkZF9yZWdpb24oYm9vdF9wYXJhbXMuZTgyMF9tYXBbMF0uYWRkciwKIAkJCSAgYm9vdF9wYXJhbXMuZTgyMF9tYXBbMF0uc2l6ZSwKIAkJCSAgYm9vdF9wYXJhbXMuZTgyMF9tYXBbMF0udHlwZSk7CiAKQEAgLTk5OCw3ICs5OTgsNyBAQAogCS8qIHRpbWUgb3BlcmF0aW9ucyAqLwogCXB2X3RpbWVfb3BzLmdldF93YWxsY2xvY2sgPSBsZ3Vlc3RfZ2V0X3dhbGxjbG9jazsKIAlwdl90aW1lX29wcy50aW1lX2luaXQgPSBsZ3Vlc3RfdGltZV9pbml0OwotCXB2X3RpbWVfb3BzLmdldF9jcHVfa2h6ID0gbGd1ZXN0X2NwdV9raHo7CisJcHZfdGltZV9vcHMuZ2V0X3RzY19raHogPSBsZ3Vlc3RfdHNjX2toejsKIAogCS8qIE5vdyBpcyBhIGdvb2QgdGltZSB0byBsb29rIGF0IHRoZSBpbXBsZW1lbnRhdGlvbnMgb2YgdGhlc2UgZnVuY3Rpb25zCiAJICogYmVmb3JlIHJldHVybmluZyB0byB0aGUgcmVzdCBvZiBsZ3Vlc3RfaW5pdCgpLiAqLwpAQCAtMTAxMiw2ICsxMDEyLDcgQEAKIAkgKiBjbG9iYmVyZWQuICBUaGUgTGF1bmNoZXIgcGxhY2VzIG91ciBpbml0aWFsIHBhZ2V0YWJsZXMgc29tZXdoZXJlIGF0CiAJICogdGhlIHRvcCBvZiBvdXIgcGh5c2ljYWwgbWVtb3J5LCBzbyB3ZSBkb24ndCBuZWVkIGV4dHJhIHNwYWNlOiBzZXQKIAkgKiBpbml0X3BnX3RhYmxlc19lbmQgdG8gdGhlIGVuZCBvZiB0aGUga2VybmVsLiAqLworCWluaXRfcGdfdGFibGVzX3N0YXJ0ID0gX19wYShwZzApOwogCWluaXRfcGdfdGFibGVzX2VuZCA9IF9fcGEocGcwKTsKIAogCS8qIExvYWQgdGhlICVmcyBzZWdtZW50IHJlZ2lzdGVyICh0aGUgcGVyLWNwdSBzZWdtZW50IHJlZ2lzdGVyKSB3aXRoCkBAIC0xMDY1LDkgKzEwNjYsOSBAQAogCXBtX3Bvd2VyX29mZiA9IGxndWVzdF9wb3dlcl9vZmY7CiAJbWFjaGluZV9vcHMucmVzdGFydCA9IGxndWVzdF9yZXN0YXJ0OwogCi0JLyogTm93IHdlJ3JlIHNldCB1cCwgY2FsbCBzdGFydF9rZXJuZWwoKSBpbiBpbml0L21haW4uYyBhbmQgd2UgcHJvY2VlZAorCS8qIE5vdyB3ZSdyZSBzZXQgdXAsIGNhbGwgaTM4Nl9zdGFydF9rZXJuZWwoKSBpbiBoZWFkMzIuYyBhbmQgd2UgcHJvY2VlZAogCSAqIHRvIGJvb3QgYXMgbm9ybWFsLiAgSXQgbmV2ZXIgcmV0dXJucy4gKi8KLQlzdGFydF9rZXJuZWwoKTsKKwlpMzg2X3N0YXJ0X2tlcm5lbCgpOwogfQogLyoKICAqIFRoaXMgbWFya3MgdGhlIGVuZCBvZiBzdGFnZSBJSSBvZiBvdXIgam91cm5leSwgVGhlIEd1ZXN0LgpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbGliL01ha2VmaWxlIGIvYXJjaC94ODYvbGliL01ha2VmaWxlCmluZGV4IDc2ZjYwZjUuLmFhM2ZhNDEgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2xpYi9NYWtlZmlsZQorKysgYi9hcmNoL3g4Ni9saWIvTWFrZWZpbGUKQEAgLTQsOCArNCw5IEBACiAKIG9iai0kKENPTkZJR19TTVApIDo9IG1zci1vbi1jcHUubwogCi1saWIteSA6PSBkZWxheV8kKEJJVFMpLm8KLWxpYi15ICs9IHVzZXJjb3B5XyQoQklUUykubyBnZXR1c2VyXyQoQklUUykubyBwdXR1c2VyXyQoQklUUykubworbGliLXkgOj0gZGVsYXkubworbGliLXkgKz0gdGh1bmtfJChCSVRTKS5vCitsaWIteSArPSB1c2VyY29weV8kKEJJVFMpLm8gZ2V0dXNlci5vIHB1dHVzZXIubwogbGliLXkgKz0gbWVtY3B5XyQoQklUUykubwogCiBpZmVxICgkKENPTkZJR19YODZfMzIpLHkpCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9saWIvY29weV91c2VyXzY0LlMgYi9hcmNoL3g4Ni9saWIvY29weV91c2VyXzY0LlMKaW5kZXggZWUxYzNmNi4uZGZkZjQyOCAxMDA2NDQKLS0tIGEvYXJjaC94ODYvbGliL2NvcHlfdXNlcl82NC5TCisrKyBiL2FyY2gveDg2L2xpYi9jb3B5X3VzZXJfNjQuUwpAQCAtMSw4ICsxLDEwIEBACi0vKiBDb3B5cmlnaHQgMjAwMiBBbmRpIEtsZWVuLCBTdVNFIExhYnMuCisvKgorICogQ29weXJpZ2h0IDIwMDggVml0YWx5IE1heWF0c2tpa2ggPHZtYXlhdHNrQHJlZGhhdC5jb20+CisgKiBDb3B5cmlnaHQgMjAwMiBBbmRpIEtsZWVuLCBTdVNFIExhYnMuCiAgKiBTdWJqZWN0IHRvIHRoZSBHTlUgUHVibGljIExpY2Vuc2UgdjIuCi0gKiAKLSAqIEZ1bmN0aW9ucyB0byBjb3B5IGZyb20gYW5kIHRvIHVzZXIgc3BhY2UuCQkKLSAqLwkJIAorICoKKyAqIEZ1bmN0aW9ucyB0byBjb3B5IGZyb20gYW5kIHRvIHVzZXIgc3BhY2UuCisgKi8KIAogI2luY2x1ZGUgPGxpbnV4L2xpbmthZ2UuaD4KICNpbmNsdWRlIDxhc20vZHdhcmYyLmg+CkBAIC0yMCw2MCArMjIsODggQEAKIAkubG9uZyBcb3JpZy0xZgkvKiBieSBkZWZhdWx0IGp1bXAgdG8gb3JpZyAqLwogMToKIAkuc2VjdGlvbiAuYWx0aW5zdHJfcmVwbGFjZW1lbnQsImF4IgotMjoJLmJ5dGUgMHhlOQkgICAgICAgICAgICAgLyogbmVhciBqdW1wIHdpdGggMzJiaXQgaW1tZWRpYXRlICovCisyOgkuYnl0ZSAweGU5CQkJLyogbmVhciBqdW1wIHdpdGggMzJiaXQgaW1tZWRpYXRlICovCiAJLmxvbmcgXGFsdC0xYiAvKiBvZmZzZXQgKi8gICAvKiBvciBhbHRlcm5hdGl2ZWx5IHRvIGFsdCAqLwogCS5wcmV2aW91cwogCS5zZWN0aW9uIC5hbHRpbnN0cnVjdGlvbnMsImEiCiAJLmFsaWduIDgKIAkucXVhZCAgMGIKIAkucXVhZCAgMmIKLQkuYnl0ZSAgXGZlYXR1cmUJCSAgICAgLyogd2hlbiBmZWF0dXJlIGlzIHNldCAqLworCS5ieXRlICBcZmVhdHVyZQkJCS8qIHdoZW4gZmVhdHVyZSBpcyBzZXQgKi8KIAkuYnl0ZSAgNQogCS5ieXRlICA1CiAJLnByZXZpb3VzCiAJLmVuZG0KIAotLyogU3RhbmRhcmQgY29weV90b191c2VyIHdpdGggc2VnbWVudCBsaW1pdCBjaGVja2luZyAqLwkJCisJLm1hY3JvIEFMSUdOX0RFU1RJTkFUSU9OCisjaWZkZWYgRklYX0FMSUdOTUVOVAorCS8qIGNoZWNrIGZvciBiYWQgYWxpZ25tZW50IG9mIGRlc3RpbmF0aW9uICovCisJbW92bCAlZWRpLCVlY3gKKwlhbmRsICQ3LCVlY3gKKwlqeiAxMDJmCQkJCS8qIGFscmVhZHkgYWxpZ25lZCAqLworCXN1YmwgJDgsJWVjeAorCW5lZ2wgJWVjeAorCXN1YmwgJWVjeCwlZWR4CisxMDA6CW1vdmIgKCVyc2kpLCVhbAorMTAxOgltb3ZiICVhbCwoJXJkaSkKKwlpbmNxICVyc2kKKwlpbmNxICVyZGkKKwlkZWNsICVlY3gKKwlqbnogMTAwYgorMTAyOgorCS5zZWN0aW9uIC5maXh1cCwiYXgiCisxMDM6CWFkZGwgJXI4ZCwlZWR4CQkJLyogZWN4IGlzIHplcm9yZXN0IGFsc28gKi8KKwlqbXAgY29weV91c2VyX2hhbmRsZV90YWlsCisJLnByZXZpb3VzCisKKwkuc2VjdGlvbiBfX2V4X3RhYmxlLCJhIgorCS5hbGlnbiA4CisJLnF1YWQgMTAwYiwxMDNiCisJLnF1YWQgMTAxYiwxMDNiCisJLnByZXZpb3VzCisjZW5kaWYKKwkuZW5kbQorCisvKiBTdGFuZGFyZCBjb3B5X3RvX3VzZXIgd2l0aCBzZWdtZW50IGxpbWl0IGNoZWNraW5nICovCiBFTlRSWShjb3B5X3RvX3VzZXIpCiAJQ0ZJX1NUQVJUUFJPQwogCUdFVF9USFJFQURfSU5GTyglcmF4KQogCW1vdnEgJXJkaSwlcmN4CiAJYWRkcSAlcmR4LCVyY3gKLQlqYyAgYmFkX3RvX3VzZXIKLQljbXBxIHRocmVhZGluZm9fYWRkcl9saW1pdCglcmF4KSwlcmN4CisJamMgYmFkX3RvX3VzZXIKKwljbXBxIFRJX2FkZHJfbGltaXQoJXJheCksJXJjeAogCWphZSBiYWRfdG9fdXNlcgotCXhvcmwgJWVheCwlZWF4CS8qIGNsZWFyIHplcm8gZmxhZyAqLwogCUFMVEVSTkFUSVZFX0pVTVAgWDg2X0ZFQVRVUkVfUkVQX0dPT0QsY29weV91c2VyX2dlbmVyaWNfdW5yb2xsZWQsY29weV91c2VyX2dlbmVyaWNfc3RyaW5nCiAJQ0ZJX0VORFBST0MKIAotRU5UUlkoY29weV91c2VyX2dlbmVyaWMpCi0JQ0ZJX1NUQVJUUFJPQwotCW1vdmwgJDEsJWVjeAkvKiBzZXQgemVybyBmbGFnICovCi0JQUxURVJOQVRJVkVfSlVNUCBYODZfRkVBVFVSRV9SRVBfR09PRCxjb3B5X3VzZXJfZ2VuZXJpY191bnJvbGxlZCxjb3B5X3VzZXJfZ2VuZXJpY19zdHJpbmcKLQlDRklfRU5EUFJPQwotCi1FTlRSWShfX2NvcHlfZnJvbV91c2VyX2luYXRvbWljKQotCUNGSV9TVEFSVFBST0MKLQl4b3JsICVlY3gsJWVjeAkvKiBjbGVhciB6ZXJvIGZsYWcgKi8KLQlBTFRFUk5BVElWRV9KVU1QIFg4Nl9GRUFUVVJFX1JFUF9HT09ELGNvcHlfdXNlcl9nZW5lcmljX3Vucm9sbGVkLGNvcHlfdXNlcl9nZW5lcmljX3N0cmluZwotCUNGSV9FTkRQUk9DCi0KLS8qIFN0YW5kYXJkIGNvcHlfZnJvbV91c2VyIHdpdGggc2VnbWVudCBsaW1pdCBjaGVja2luZyAqLwkKKy8qIFN0YW5kYXJkIGNvcHlfZnJvbV91c2VyIHdpdGggc2VnbWVudCBsaW1pdCBjaGVja2luZyAqLwogRU5UUlkoY29weV9mcm9tX3VzZXIpCiAJQ0ZJX1NUQVJUUFJPQwogCUdFVF9USFJFQURfSU5GTyglcmF4KQogCW1vdnEgJXJzaSwlcmN4CiAJYWRkcSAlcmR4LCVyY3gKLQlqYyAgYmFkX2Zyb21fdXNlcgotCWNtcHEgdGhyZWFkaW5mb19hZGRyX2xpbWl0KCVyYXgpLCVyY3gKLQlqYWUgIGJhZF9mcm9tX3VzZXIKLQltb3ZsICQxLCVlY3gJLyogc2V0IHplcm8gZmxhZyAqLworCWpjIGJhZF9mcm9tX3VzZXIKKwljbXBxIFRJX2FkZHJfbGltaXQoJXJheCksJXJjeAorCWphZSBiYWRfZnJvbV91c2VyCiAJQUxURVJOQVRJVkVfSlVNUCBYODZfRkVBVFVSRV9SRVBfR09PRCxjb3B5X3VzZXJfZ2VuZXJpY191bnJvbGxlZCxjb3B5X3VzZXJfZ2VuZXJpY19zdHJpbmcKIAlDRklfRU5EUFJPQwogRU5EUFJPQyhjb3B5X2Zyb21fdXNlcikKLQkKKworRU5UUlkoY29weV91c2VyX2dlbmVyaWMpCisJQ0ZJX1NUQVJUUFJPQworCUFMVEVSTkFUSVZFX0pVTVAgWDg2X0ZFQVRVUkVfUkVQX0dPT0QsY29weV91c2VyX2dlbmVyaWNfdW5yb2xsZWQsY29weV91c2VyX2dlbmVyaWNfc3RyaW5nCisJQ0ZJX0VORFBST0MKK0VORFBST0MoY29weV91c2VyX2dlbmVyaWMpCisKK0VOVFJZKF9fY29weV9mcm9tX3VzZXJfaW5hdG9taWMpCisJQ0ZJX1NUQVJUUFJPQworCUFMVEVSTkFUSVZFX0pVTVAgWDg2X0ZFQVRVUkVfUkVQX0dPT0QsY29weV91c2VyX2dlbmVyaWNfdW5yb2xsZWQsY29weV91c2VyX2dlbmVyaWNfc3RyaW5nCisJQ0ZJX0VORFBST0MKK0VORFBST0MoX19jb3B5X2Zyb21fdXNlcl9pbmF0b21pYykKKwogCS5zZWN0aW9uIC5maXh1cCwiYXgiCiAJLyogbXVzdCB6ZXJvIGRlc3QgKi8KK0VOVFJZKGJhZF9mcm9tX3VzZXIpCiBiYWRfZnJvbV91c2VyOgogCUNGSV9TVEFSVFBST0MKIAltb3ZsICVlZHgsJWVjeApAQCAtODEsMjcxICsxMTEsMTU4IEBACiAJcmVwCiAJc3Rvc2IKIGJhZF90b191c2VyOgotCW1vdmwJJWVkeCwlZWF4CisJbW92bCAlZWR4LCVlYXgKIAlyZXQKIAlDRklfRU5EUFJPQwotRU5EKGJhZF9mcm9tX3VzZXIpCitFTkRQUk9DKGJhZF9mcm9tX3VzZXIpCiAJLnByZXZpb3VzCi0JCi0JCQorCiAvKgogICogY29weV91c2VyX2dlbmVyaWNfdW5yb2xsZWQgLSBtZW1vcnkgY29weSB3aXRoIGV4Y2VwdGlvbiBoYW5kbGluZy4KLSAqIFRoaXMgdmVyc2lvbiBpcyBmb3IgQ1BVcyBsaWtlIFA0IHRoYXQgZG9uJ3QgaGF2ZSBlZmZpY2llbnQgbWljcm8gY29kZSBmb3IgcmVwIG1vdnNxCi0gKiAJCi0gKiBJbnB1dDoJCisgKiBUaGlzIHZlcnNpb24gaXMgZm9yIENQVXMgbGlrZSBQNCB0aGF0IGRvbid0IGhhdmUgZWZmaWNpZW50IG1pY3JvCisgKiBjb2RlIGZvciByZXAgbW92c3EKKyAqCisgKiBJbnB1dDoKICAqIHJkaSBkZXN0aW5hdGlvbgogICogcnNpIHNvdXJjZQogICogcmR4IGNvdW50Ci0gKiBlY3ggemVybyBmbGFnIC0tIGlmIHRydWUgemVybyBkZXN0aW5hdGlvbiBvbiBlcnJvcgogICoKLSAqIE91dHB1dDoJCQotICogZWF4IHVuY29waWVkIGJ5dGVzIG9yIDAgaWYgc3VjY2Vzc2Z1bC4KKyAqIE91dHB1dDoKKyAqIGVheCB1bmNvcGllZCBieXRlcyBvciAwIGlmIHN1Y2Nlc3NmdWxsLgogICovCiBFTlRSWShjb3B5X3VzZXJfZ2VuZXJpY191bnJvbGxlZCkKIAlDRklfU1RBUlRQUk9DCi0JcHVzaHEgJXJieAotCUNGSV9BREpVU1RfQ0ZBX09GRlNFVCA4Ci0JQ0ZJX1JFTF9PRkZTRVQgcmJ4LCAwCi0JcHVzaHEgJXJjeAotCUNGSV9BREpVU1RfQ0ZBX09GRlNFVCA4Ci0JQ0ZJX1JFTF9PRkZTRVQgcmN4LCAwCi0JeG9ybCAlZWF4LCVlYXgJCS8qemVybyBmb3IgdGhlIGV4Y2VwdGlvbiBoYW5kbGVyICovCi0KLSNpZmRlZiBGSVhfQUxJR05NRU5UCi0JLyogY2hlY2sgZm9yIGJhZCBhbGlnbm1lbnQgb2YgZGVzdGluYXRpb24gKi8KLQltb3ZsICVlZGksJWVjeAotCWFuZGwgJDcsJWVjeAotCWpueiAgLkxiYWRfYWxpZ25tZW50Ci0uTGFmdGVyX2JhZF9hbGlnbm1lbnQ6Ci0jZW5kaWYKLQotCW1vdnEgJXJkeCwlcmN4Ci0KLQltb3ZsICQ2NCwlZWJ4Ci0Jc2hycSAkNiwlcmR4Ci0JZGVjcSAlcmR4Ci0JanMgICAuTGhhbmRsZV90YWlsCi0KLQkucDJhbGlnbiA0Ci0uTGxvb3A6Ci0uTHMxOgltb3ZxICglcnNpKSwlcjExCi0uTHMyOgltb3ZxIDEqOCglcnNpKSwlcjgKLS5MczM6CW1vdnEgMio4KCVyc2kpLCVyOQotLkxzNDoJbW92cSAzKjgoJXJzaSksJXIxMAotLkxkMToJbW92cSAlcjExLCglcmRpKQotLkxkMjoJbW92cSAlcjgsMSo4KCVyZGkpCi0uTGQzOgltb3ZxICVyOSwyKjgoJXJkaSkKLS5MZDQ6CW1vdnEgJXIxMCwzKjgoJXJkaSkKLQotLkxzNToJbW92cSA0KjgoJXJzaSksJXIxMQotLkxzNjoJbW92cSA1KjgoJXJzaSksJXI4Ci0uTHM3Ogltb3ZxIDYqOCglcnNpKSwlcjkKLS5Mczg6CW1vdnEgNyo4KCVyc2kpLCVyMTAKLS5MZDU6CW1vdnEgJXIxMSw0KjgoJXJkaSkKLS5MZDY6CW1vdnEgJXI4LDUqOCglcmRpKQotLkxkNzoJbW92cSAlcjksNio4KCVyZGkpCi0uTGQ4Ogltb3ZxICVyMTAsNyo4KCVyZGkpCi0KLQlkZWNxICVyZHgKLQorCWNtcGwgJDgsJWVkeAorCWpiIDIwZgkJLyogbGVzcyB0aGVuIDggYnl0ZXMsIGdvIHRvIGJ5dGUgY29weSBsb29wICovCisJQUxJR05fREVTVElOQVRJT04KKwltb3ZsICVlZHgsJWVjeAorCWFuZGwgJDYzLCVlZHgKKwlzaHJsICQ2LCVlY3gKKwlqeiAxN2YKKzE6CW1vdnEgKCVyc2kpLCVyOAorMjoJbW92cSAxKjgoJXJzaSksJXI5CiszOgltb3ZxIDIqOCglcnNpKSwlcjEwCis0Ogltb3ZxIDMqOCglcnNpKSwlcjExCis1Ogltb3ZxICVyOCwoJXJkaSkKKzY6CW1vdnEgJXI5LDEqOCglcmRpKQorNzoJbW92cSAlcjEwLDIqOCglcmRpKQorODoJbW92cSAlcjExLDMqOCglcmRpKQorOToJbW92cSA0KjgoJXJzaSksJXI4CisxMDoJbW92cSA1KjgoJXJzaSksJXI5CisxMToJbW92cSA2KjgoJXJzaSksJXIxMAorMTI6CW1vdnEgNyo4KCVyc2kpLCVyMTEKKzEzOgltb3ZxICVyOCw0KjgoJXJkaSkKKzE0Ogltb3ZxICVyOSw1KjgoJXJkaSkKKzE1Ogltb3ZxICVyMTAsNio4KCVyZGkpCisxNjoJbW92cSAlcjExLDcqOCglcmRpKQogCWxlYXEgNjQoJXJzaSksJXJzaQogCWxlYXEgNjQoJXJkaSksJXJkaQotCi0Jam5zICAuTGxvb3AKLQotCS5wMmFsaWduIDQKLS5MaGFuZGxlX3RhaWw6Ci0JbW92bCAlZWN4LCVlZHgKLQlhbmRsICQ2MywlZWN4CisJZGVjbCAlZWN4CisJam56IDFiCisxNzoJbW92bCAlZWR4LCVlY3gKKwlhbmRsICQ3LCVlZHgKIAlzaHJsICQzLCVlY3gKLQlqeiAgIC5MaGFuZGxlXzcKLQltb3ZsICQ4LCVlYngKLQkucDJhbGlnbiA0Ci0uTGxvb3BfODoKLS5Mczk6CW1vdnEgKCVyc2kpLCVyOAotLkxkOToJbW92cSAlcjgsKCVyZGkpCi0JZGVjbCAlZWN4Ci0JbGVhcSA4KCVyZGkpLCVyZGkKKwlqeiAyMGYKKzE4Ogltb3ZxICglcnNpKSwlcjgKKzE5Ogltb3ZxICVyOCwoJXJkaSkKIAlsZWFxIDgoJXJzaSksJXJzaQotCWpueiAuTGxvb3BfOAotCi0uTGhhbmRsZV83OgorCWxlYXEgOCglcmRpKSwlcmRpCisJZGVjbCAlZWN4CisJam56IDE4YgorMjA6CWFuZGwgJWVkeCwlZWR4CisJanogMjNmCiAJbW92bCAlZWR4LCVlY3gKLQlhbmRsICQ3LCVlY3gKLQlqeiAgIC5MZW5kZQotCS5wMmFsaWduIDQKLS5MbG9vcF8xOgotLkxzMTA6CW1vdmIgKCVyc2kpLCVibAotLkxkMTA6CW1vdmIgJWJsLCglcmRpKQotCWluY3EgJXJkaQorMjE6CW1vdmIgKCVyc2kpLCVhbAorMjI6CW1vdmIgJWFsLCglcmRpKQogCWluY3EgJXJzaQorCWluY3EgJXJkaQogCWRlY2wgJWVjeAotCWpueiAuTGxvb3BfMQotCi0JQ0ZJX1JFTUVNQkVSX1NUQVRFCi0uTGVuZGU6Ci0JcG9wcSAlcmN4Ci0JQ0ZJX0FESlVTVF9DRkFfT0ZGU0VUIC04Ci0JQ0ZJX1JFU1RPUkUgcmN4Ci0JcG9wcSAlcmJ4Ci0JQ0ZJX0FESlVTVF9DRkFfT0ZGU0VUIC04Ci0JQ0ZJX1JFU1RPUkUgcmJ4CisJam56IDIxYgorMjM6CXhvciAlZWF4LCVlYXgKIAlyZXQKLQlDRklfUkVTVE9SRV9TVEFURQogCi0jaWZkZWYgRklYX0FMSUdOTUVOVAotCS8qIGFsaWduIGRlc3RpbmF0aW9uICovCi0JLnAyYWxpZ24gNAotLkxiYWRfYWxpZ25tZW50OgotCW1vdmwgJDgsJXI5ZAotCXN1YmwgJWVjeCwlcjlkCi0JbW92bCAlcjlkLCVlY3gKLQljbXBxICVyOSwlcmR4Ci0JanogICAuTGhhbmRsZV83Ci0JanMgICAuTGhhbmRsZV83Ci0uTGFsaWduXzE6Ci0uTHMxMToJbW92YiAoJXJzaSksJWJsCi0uTGQxMToJbW92YiAlYmwsKCVyZGkpCi0JaW5jcSAlcnNpCi0JaW5jcSAlcmRpCi0JZGVjbCAlZWN4Ci0Jam56IC5MYWxpZ25fMQotCXN1YnEgJXI5LCVyZHgKLQlqbXAgLkxhZnRlcl9iYWRfYWxpZ25tZW50Ci0jZW5kaWYKKwkuc2VjdGlvbiAuZml4dXAsImF4IgorMzA6CXNobGwgJDYsJWVjeAorCWFkZGwgJWVjeCwlZWR4CisJam1wIDYwZgorNDA6CWxlYSAoJXJkeCwlcmN4LDgpLCVyZHgKKwlqbXAgNjBmCis1MDoJbW92bCAlZWN4LCVlZHgKKzYwOglqbXAgY29weV91c2VyX2hhbmRsZV90YWlsIC8qIGVjeCBpcyB6ZXJvcmVzdCBhbHNvICovCisJLnByZXZpb3VzCiAKLQkvKiB0YWJsZSBzb3J0ZWQgYnkgZXhjZXB0aW9uIGFkZHJlc3MgKi8KIAkuc2VjdGlvbiBfX2V4X3RhYmxlLCJhIgogCS5hbGlnbiA4Ci0JLnF1YWQgLkxzMSwuTHMxZQkvKiBMczEtTHM0IGhhdmUgY29waWVkIHplcm8gYnl0ZXMgKi8KLQkucXVhZCAuTHMyLC5MczFlCi0JLnF1YWQgLkxzMywuTHMxZQotCS5xdWFkIC5MczQsLkxzMWUKLQkucXVhZCAuTGQxLC5MczFlCS8qIExkMS1MZDQgaGF2ZSBjb3BpZWQgMC0yNCBieXRlcyAqLwotCS5xdWFkIC5MZDIsLkxzMmUKLQkucXVhZCAuTGQzLC5MczNlCi0JLnF1YWQgLkxkNCwuTHM0ZQotCS5xdWFkIC5MczUsLkxzNWUJLyogTHM1LUxzOCBoYXZlIGNvcGllZCAzMiBieXRlcyAqLwotCS5xdWFkIC5MczYsLkxzNWUKLQkucXVhZCAuTHM3LC5MczVlCi0JLnF1YWQgLkxzOCwuTHM1ZQotCS5xdWFkIC5MZDUsLkxzNWUJLyogTGQ1LUxkOCBoYXZlIGNvcGllZCAzMi01NiBieXRlcyAqLwotCS5xdWFkIC5MZDYsLkxzNmUKLQkucXVhZCAuTGQ3LC5MczdlCi0JLnF1YWQgLkxkOCwuTHM4ZQotCS5xdWFkIC5MczksLkxlX3F1YWQKLQkucXVhZCAuTGQ5LC5MZV9xdWFkCi0JLnF1YWQgLkxzMTAsLkxlX2J5dGUKLQkucXVhZCAuTGQxMCwuTGVfYnl0ZQotI2lmZGVmIEZJWF9BTElHTk1FTlQKLQkucXVhZCAuTHMxMSwuTHplcm9fcmVzdAotCS5xdWFkIC5MZDExLC5MemVyb19yZXN0Ci0jZW5kaWYKLQkucXVhZCAuTGU1LC5MZV96ZXJvCisJLnF1YWQgMWIsMzBiCisJLnF1YWQgMmIsMzBiCisJLnF1YWQgM2IsMzBiCisJLnF1YWQgNGIsMzBiCisJLnF1YWQgNWIsMzBiCisJLnF1YWQgNmIsMzBiCisJLnF1YWQgN2IsMzBiCisJLnF1YWQgOGIsMzBiCisJLnF1YWQgOWIsMzBiCisJLnF1YWQgMTBiLDMwYgorCS5xdWFkIDExYiwzMGIKKwkucXVhZCAxMmIsMzBiCisJLnF1YWQgMTNiLDMwYgorCS5xdWFkIDE0YiwzMGIKKwkucXVhZCAxNWIsMzBiCisJLnF1YWQgMTZiLDMwYgorCS5xdWFkIDE4Yiw0MGIKKwkucXVhZCAxOWIsNDBiCisJLnF1YWQgMjFiLDUwYgorCS5xdWFkIDIyYiw1MGIKIAkucHJldmlvdXMKLQotCS8qIGVheDogemVybywgZWJ4OiA2NCAqLwotLkxzMWU6IAlhZGRsICQ4LCVlYXgJCS8qIGVheCBpcyBieXRlcyBsZWZ0IHVuY29waWVkIHdpdGhpbiB0aGUgbG9vcCAoTHMxZTogNjQgLi4gTHM4ZTogOCkgKi8KLS5MczJlOiAJYWRkbCAkOCwlZWF4Ci0uTHMzZTogCWFkZGwgJDgsJWVheAotLkxzNGU6IAlhZGRsICQ4LCVlYXgKLS5MczVlOiAJYWRkbCAkOCwlZWF4Ci0uTHM2ZTogCWFkZGwgJDgsJWVheAotLkxzN2U6IAlhZGRsICQ4LCVlYXgKLS5MczhlOiAJYWRkbCAkOCwlZWF4Ci0JYWRkcSAlcmJ4LCVyZGkJLyogKzY0ICovCi0Jc3VicSAlcmF4LCVyZGkgIC8qIGNvcnJlY3QgZGVzdGluYXRpb24gd2l0aCBjb21wdXRlZCBvZmZzZXQgKi8KLQotCXNobHEgJDYsJXJkeAkvKiBsb29wIGNvdW50ZXIgKiA2NCAoc3RyaWRlIGxlbmd0aCkgKi8KLQlhZGRxICVyYXgsJXJkeAkvKiBhZGQgb2Zmc2V0IHRvIGxvb3BjbnQgKi8KLQlhbmRsICQ2MywlZWN4CS8qIHJlbWFpbmluZyBieXRlcyAqLwotCWFkZHEgJXJjeCwlcmR4CS8qIGFkZCB0aGVtICovCi0Jam1wIC5MemVyb19yZXN0Ci0KLQkvKiBleGNlcHRpb24gb24gcXVhZCB3b3JkIGxvb3AgaW4gdGFpbCBoYW5kbGluZyAqLwotCS8qIGVjeDoJbG9vcGNudC84LCAlZWR4OiBsZW5ndGgsIHJkaTogY29ycmVjdCAqLwotLkxlX3F1YWQ6Ci0Jc2hsbCAkMywlZWN4Ci0JYW5kbCAkNywlZWR4Ci0JYWRkbCAlZWN4LCVlZHgKLQkvKiBlZHg6IGJ5dGVzIHRvIHplcm8sIHJkaTogZGVzdCwgZWF4Onplcm8gKi8KLS5MemVyb19yZXN0OgotCWNtcGwgJDAsKCVyc3ApCi0JanogICAuTGVfemVybwotCW1vdnEgJXJkeCwlcmN4Ci0uTGVfYnl0ZToKLQl4b3JsICVlYXgsJWVheAotLkxlNToJcmVwCi0Jc3Rvc2IKLQkvKiB3aGVuIHRoZXJlIGlzIGFub3RoZXIgZXhjZXB0aW9uIHdoaWxlIHplcm9pbmcgdGhlIHJlc3QganVzdCByZXR1cm4gKi8KLS5MZV96ZXJvOgotCW1vdnEgJXJkeCwlcmF4Ci0Jam1wIC5MZW5kZQogCUNGSV9FTkRQUk9DCi1FTkRQUk9DKGNvcHlfdXNlcl9nZW5lcmljKQorRU5EUFJPQyhjb3B5X3VzZXJfZ2VuZXJpY191bnJvbGxlZCkKIAotCi0JLyogU29tZSBDUFVzIHJ1biBmYXN0ZXIgdXNpbmcgdGhlIHN0cmluZyBjb3B5IGluc3RydWN0aW9ucy4KLQkgICBUaGlzIGlzIGFsc28gYSBsb3Qgc2ltcGxlci4gVXNlIHRoZW0gd2hlbiBwb3NzaWJsZS4KLQkgICBQYXRjaCBpbiBqbXBzIHRvIHRoaXMgY29kZSBpbnN0ZWFkIG9mIGNvcHlpbmcgaXQgZnVsbHkKLQkgICB0byBhdm9pZCB1bndhbnRlZCBhbGlhc2luZyBpbiB0aGUgZXhjZXB0aW9uIHRhYmxlcy4gKi8KLQotIC8qIHJkaQlkZXN0aW5hdGlvbgotICAqIHJzaSBzb3VyY2UKLSAgKiByZHggY291bnQKLSAgKiBlY3ggemVybyBmbGFnCi0gICoKLSAgKiBPdXRwdXQ6Ci0gICogZWF4IHVuY29waWVkIGJ5dGVzIG9yIDAgaWYgc3VjY2Vzc2Z1bGwuCi0gICoKLSAgKiBPbmx5IDRHQiBvZiBjb3B5IGlzIHN1cHBvcnRlZC4gVGhpcyBzaG91bGRuJ3QgYmUgYSBwcm9ibGVtCi0gICogYmVjYXVzZSB0aGUga2VybmVsIG5vcm1hbGx5IG9ubHkgd3JpdGVzIGZyb20vdG8gcGFnZSBzaXplZCBjaHVua3MKLSAgKiBldmVuIGlmIHVzZXIgc3BhY2UgcGFzc2VkIGEgbG9uZ2VyIGJ1ZmZlci4KLSAgKiBBbmQgbW9yZSB3b3VsZCBiZSBkYW5nZXJvdXMgYmVjYXVzZSBib3RoIEludGVsIGFuZCBBTUQgaGF2ZQotICAqIGVycmF0YSB3aXRoIHJlcCBtb3ZzcSA+IDRHQi4gSWYgc29tZW9uZSBmZWVscyB0aGUgbmVlZCB0byBmaXgKLSAgKiB0aGlzIHBsZWFzZSBjb25zaWRlciB0aGlzLgotICAqLworLyogU29tZSBDUFVzIHJ1biBmYXN0ZXIgdXNpbmcgdGhlIHN0cmluZyBjb3B5IGluc3RydWN0aW9ucy4KKyAqIFRoaXMgaXMgYWxzbyBhIGxvdCBzaW1wbGVyLiBVc2UgdGhlbSB3aGVuIHBvc3NpYmxlLgorICoKKyAqIE9ubHkgNEdCIG9mIGNvcHkgaXMgc3VwcG9ydGVkLiBUaGlzIHNob3VsZG4ndCBiZSBhIHByb2JsZW0KKyAqIGJlY2F1c2UgdGhlIGtlcm5lbCBub3JtYWxseSBvbmx5IHdyaXRlcyBmcm9tL3RvIHBhZ2Ugc2l6ZWQgY2h1bmtzCisgKiBldmVuIGlmIHVzZXIgc3BhY2UgcGFzc2VkIGEgbG9uZ2VyIGJ1ZmZlci4KKyAqIEFuZCBtb3JlIHdvdWxkIGJlIGRhbmdlcm91cyBiZWNhdXNlIGJvdGggSW50ZWwgYW5kIEFNRCBoYXZlCisgKiBlcnJhdGEgd2l0aCByZXAgbW92c3EgPiA0R0IuIElmIHNvbWVvbmUgZmVlbHMgdGhlIG5lZWQgdG8gZml4CisgKiB0aGlzIHBsZWFzZSBjb25zaWRlciB0aGlzLgorICoKKyAqIElucHV0OgorICogcmRpIGRlc3RpbmF0aW9uCisgKiByc2kgc291cmNlCisgKiByZHggY291bnQKKyAqCisgKiBPdXRwdXQ6CisgKiBlYXggdW5jb3BpZWQgYnl0ZXMgb3IgMCBpZiBzdWNjZXNzZnVsLgorICovCiBFTlRSWShjb3B5X3VzZXJfZ2VuZXJpY19zdHJpbmcpCiAJQ0ZJX1NUQVJUUFJPQwotCW1vdmwgJWVjeCwlcjhkCQkvKiBzYXZlIHplcm8gZmxhZyAqLworCWFuZGwgJWVkeCwlZWR4CisJanogNGYKKwljbXBsICQ4LCVlZHgKKwlqYiAyZgkJLyogbGVzcyB0aGFuIDggYnl0ZXMsIGdvIHRvIGJ5dGUgY29weSBsb29wICovCisJQUxJR05fREVTVElOQVRJT04KIAltb3ZsICVlZHgsJWVjeAogCXNocmwgJDMsJWVjeAotCWFuZGwgJDcsJWVkeAkKLQlqeiAgIDEwZgotMToJcmVwIAotCW1vdnNxIAotCW1vdmwgJWVkeCwlZWN4Ci0yOglyZXAKLQltb3ZzYgotOToJbW92bCAlZWN4LCVlYXgKLQlyZXQKLQotCS8qIG11bHRpcGxlIG9mIDggYnl0ZSAqLwotMTA6CXJlcAorCWFuZGwgJDcsJWVkeAorMToJcmVwCiAJbW92c3EKLQl4b3IgJWVheCwlZWF4CisyOgltb3ZsICVlZHgsJWVjeAorMzoJcmVwCisJbW92c2IKKzQ6CXhvcmwgJWVheCwlZWF4CiAJcmV0CiAKLQkvKiBleGNlcHRpb24gaGFuZGxpbmcgKi8KLTM6ICAgICAgbGVhICglcmR4LCVyY3gsOCksJXJheAkvKiBleGNlcHRpb24gb24gcXVhZCBsb29wICovCi0Jam1wIDZmCi01Ogltb3ZsICVlY3gsJWVheAkJLyogZXhjZXB0aW9uIG9uIGJ5dGUgbG9vcCAqLwotCS8qIGVheDogbGVmdCBvdmVyIGJ5dGVzICovCi02Ogl0ZXN0bCAlcjhkLCVyOGQJCS8qIHplcm8gZmxhZyBzZXQ/ICovCi0JanogN2YKLQltb3ZsICVlYXgsJWVjeAkJLyogaW5pdGlhbGl6ZSB4ODYgbG9vcCBjb3VudGVyICovCi0JcHVzaCAlcmF4Ci0JeG9ybCAlZWF4LCVlYXgKLTg6CXJlcAotCXN0b3NiIAkJCS8qIHplcm8gdGhlIHJlc3QgKi8KLTExOglwb3AgJXJheAotNzoJcmV0Ci0JQ0ZJX0VORFBST0MKLUVORChjb3B5X3VzZXJfZ2VuZXJpY19jKQorCS5zZWN0aW9uIC5maXh1cCwiYXgiCisxMToJbGVhICglcmR4LCVyY3gsOCksJXJjeAorMTI6CW1vdmwgJWVjeCwlZWR4CQkvKiBlY3ggaXMgemVyb3Jlc3QgYWxzbyAqLworCWptcCBjb3B5X3VzZXJfaGFuZGxlX3RhaWwKKwkucHJldmlvdXMKIAogCS5zZWN0aW9uIF9fZXhfdGFibGUsImEiCi0JLnF1YWQgMWIsM2IKLQkucXVhZCAyYiw1YgotCS5xdWFkIDhiLDExYgotCS5xdWFkIDEwYiwzYgorCS5hbGlnbiA4CisJLnF1YWQgMWIsMTFiCisJLnF1YWQgM2IsMTJiCiAJLnByZXZpb3VzCisJQ0ZJX0VORFBST0MKK0VORFBST0MoY29weV91c2VyX2dlbmVyaWNfc3RyaW5nKQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbGliL2NvcHlfdXNlcl9ub2NhY2hlXzY0LlMgYi9hcmNoL3g4Ni9saWIvY29weV91c2VyX25vY2FjaGVfNjQuUwppbmRleCA5ZDNkMWFiLi40MGUwZTMwIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9saWIvY29weV91c2VyX25vY2FjaGVfNjQuUworKysgYi9hcmNoL3g4Ni9saWIvY29weV91c2VyX25vY2FjaGVfNjQuUwpAQCAtMSw0ICsxLDYgQEAKLS8qIENvcHlyaWdodCAyMDAyIEFuZGkgS2xlZW4sIFN1U0UgTGFicy4KKy8qCisgKiBDb3B5cmlnaHQgMjAwOCBWaXRhbHkgTWF5YXRza2lraCA8dm1heWF0c2tAcmVkaGF0LmNvbT4KKyAqIENvcHlyaWdodCAyMDAyIEFuZGkgS2xlZW4sIFN1U0UgTGFicy4KICAqIFN1YmplY3QgdG8gdGhlIEdOVSBQdWJsaWMgTGljZW5zZSB2Mi4KICAqCiAgKiBGdW5jdGlvbnMgdG8gY29weSBmcm9tIGFuZCB0byB1c2VyIHNwYWNlLgpAQCAtMTIsMjA0ICsxNCwxMjUgQEAKICNpbmNsdWRlIDxhc20vY3VycmVudC5oPgogI2luY2x1ZGUgPGFzbS9hc20tb2Zmc2V0cy5oPgogI2luY2x1ZGUgPGFzbS90aHJlYWRfaW5mby5oPgotI2luY2x1ZGUgPGFzbS9jcHVmZWF0dXJlLmg+CiAKLS8qCi0gKiBjb3B5X3VzZXJfbm9jYWNoZSAtIFVuY2FjaGVkIG1lbW9yeSBjb3B5IHdpdGggZXhjZXB0aW9uIGhhbmRsaW5nCi0gKiBUaGlzIHdpbGwgZm9yY2UgZGVzdGluYXRpb24vc291cmNlIG91dCBvZiBjYWNoZSBmb3IgbW9yZSBwZXJmb3JtYW5jZS4KLSAqCi0gKiBJbnB1dDoKLSAqIHJkaSBkZXN0aW5hdGlvbgotICogcnNpIHNvdXJjZQotICogcmR4IGNvdW50Ci0gKiByY3ggemVybyBmbGFnCXdoZW4gMSB6ZXJvIG9uIGV4Y2VwdGlvbgotICoKLSAqIE91dHB1dDoKLSAqIGVheCB1bmNvcGllZCBieXRlcyBvciAwIGlmIHN1Y2Nlc3NmdWwuCi0gKi8KLUVOVFJZKF9fY29weV91c2VyX25vY2FjaGUpCi0JQ0ZJX1NUQVJUUFJPQwotCXB1c2hxICVyYngKLQlDRklfQURKVVNUX0NGQV9PRkZTRVQgOAotCUNGSV9SRUxfT0ZGU0VUIHJieCwgMAotCXB1c2hxICVyY3gJCS8qIHNhdmUgemVybyBmbGFnICovCi0JQ0ZJX0FESlVTVF9DRkFfT0ZGU0VUIDgKLQlDRklfUkVMX09GRlNFVCByY3gsIDAKLQotCXhvcmwgJWVheCwlZWF4CQkvKiB6ZXJvIGZvciB0aGUgZXhjZXB0aW9uIGhhbmRsZXIgKi8KLQorCS5tYWNybyBBTElHTl9ERVNUSU5BVElPTgogI2lmZGVmIEZJWF9BTElHTk1FTlQKIAkvKiBjaGVjayBmb3IgYmFkIGFsaWdubWVudCBvZiBkZXN0aW5hdGlvbiAqLwogCW1vdmwgJWVkaSwlZWN4CiAJYW5kbCAkNywlZWN4Ci0Jam56ICAuTGJhZF9hbGlnbm1lbnQKLS5MYWZ0ZXJfYmFkX2FsaWdubWVudDoKLSNlbmRpZgotCi0JbW92cSAlcmR4LCVyY3gKLQotCW1vdmwgJDY0LCVlYngKLQlzaHJxICQ2LCVyZHgKLQlkZWNxICVyZHgKLQlqcyAgIC5MaGFuZGxlX3RhaWwKLQotCS5wMmFsaWduIDQKLS5MbG9vcDoKLS5MczE6CW1vdnEgKCVyc2kpLCVyMTEKLS5MczI6CW1vdnEgMSo4KCVyc2kpLCVyOAotLkxzMzoJbW92cSAyKjgoJXJzaSksJXI5Ci0uTHM0Ogltb3ZxIDMqOCglcnNpKSwlcjEwCi0uTGQxOgltb3ZudGkgJXIxMSwoJXJkaSkKLS5MZDI6CW1vdm50aSAlcjgsMSo4KCVyZGkpCi0uTGQzOgltb3ZudGkgJXI5LDIqOCglcmRpKQotLkxkNDoJbW92bnRpICVyMTAsMyo4KCVyZGkpCi0KLS5MczU6CW1vdnEgNCo4KCVyc2kpLCVyMTEKLS5MczY6CW1vdnEgNSo4KCVyc2kpLCVyOAotLkxzNzoJbW92cSA2KjgoJXJzaSksJXI5Ci0uTHM4Ogltb3ZxIDcqOCglcnNpKSwlcjEwCi0uTGQ1Ogltb3ZudGkgJXIxMSw0KjgoJXJkaSkKLS5MZDY6CW1vdm50aSAlcjgsNSo4KCVyZGkpCi0uTGQ3Ogltb3ZudGkgJXI5LDYqOCglcmRpKQotLkxkODoJbW92bnRpICVyMTAsNyo4KCVyZGkpCi0KLQlkZWMgICVyZHgKLQotCWxlYXEgNjQoJXJzaSksJXJzaQotCWxlYXEgNjQoJXJkaSksJXJkaQotCi0Jam5zICAuTGxvb3AKLQotCS5wMmFsaWduIDQKLS5MaGFuZGxlX3RhaWw6Ci0JbW92bCAlZWN4LCVlZHgKLQlhbmRsICQ2MywlZWN4Ci0Jc2hybCAkMywlZWN4Ci0JanogICAuTGhhbmRsZV83Ci0JbW92bCAkOCwlZWJ4Ci0JLnAyYWxpZ24gNAotLkxsb29wXzg6Ci0uTHM5Ogltb3ZxICglcnNpKSwlcjgKLS5MZDk6CW1vdm50aSAlcjgsKCVyZGkpCi0JZGVjbCAlZWN4Ci0JbGVhcSA4KCVyZGkpLCVyZGkKLQlsZWFxIDgoJXJzaSksJXJzaQotCWpueiAuTGxvb3BfOAotCi0uTGhhbmRsZV83OgotCW1vdmwgJWVkeCwlZWN4Ci0JYW5kbCAkNywlZWN4Ci0JanogICAuTGVuZGUKLQkucDJhbGlnbiA0Ci0uTGxvb3BfMToKLS5MczEwOgltb3ZiICglcnNpKSwlYmwKLS5MZDEwOgltb3ZiICVibCwoJXJkaSkKLQlpbmNxICVyZGkKLQlpbmNxICVyc2kKLQlkZWNsICVlY3gKLQlqbnogLkxsb29wXzEKLQotCUNGSV9SRU1FTUJFUl9TVEFURQotLkxlbmRlOgotCXBvcHEgJXJjeAotCUNGSV9BREpVU1RfQ0ZBX09GRlNFVCAtOAotCUNGSV9SRVNUT1JFICVyY3gKLQlwb3BxICVyYngKLQlDRklfQURKVVNUX0NGQV9PRkZTRVQgLTgKLQlDRklfUkVTVE9SRSByYngKLQlzZmVuY2UKLQlyZXQKLQlDRklfUkVTVE9SRV9TVEFURQotCi0jaWZkZWYgRklYX0FMSUdOTUVOVAotCS8qIGFsaWduIGRlc3RpbmF0aW9uICovCi0JLnAyYWxpZ24gNAotLkxiYWRfYWxpZ25tZW50OgotCW1vdmwgJDgsJXI5ZAotCXN1YmwgJWVjeCwlcjlkCi0JbW92bCAlcjlkLCVlY3gKLQljbXBxICVyOSwlcmR4Ci0JanogICAuTGhhbmRsZV83Ci0JanMgICAuTGhhbmRsZV83Ci0uTGFsaWduXzE6Ci0uTHMxMToJbW92YiAoJXJzaSksJWJsCi0uTGQxMToJbW92YiAlYmwsKCVyZGkpCisJanogMTAyZgkJCQkvKiBhbHJlYWR5IGFsaWduZWQgKi8KKwlzdWJsICQ4LCVlY3gKKwluZWdsICVlY3gKKwlzdWJsICVlY3gsJWVkeAorMTAwOgltb3ZiICglcnNpKSwlYWwKKzEwMToJbW92YiAlYWwsKCVyZGkpCiAJaW5jcSAlcnNpCiAJaW5jcSAlcmRpCiAJZGVjbCAlZWN4Ci0Jam56IC5MYWxpZ25fMQotCXN1YnEgJXI5LCVyZHgKLQlqbXAgLkxhZnRlcl9iYWRfYWxpZ25tZW50Ci0jZW5kaWYKLQotCS8qIHRhYmxlIHNvcnRlZCBieSBleGNlcHRpb24gYWRkcmVzcyAqLwotCS5zZWN0aW9uIF9fZXhfdGFibGUsImEiCi0JLmFsaWduIDgKLQkucXVhZCAuTHMxLC5MczFlCS8qIC5Mc1sxLTRdIC0gMCBieXRlcyBjb3BpZWQgKi8KLQkucXVhZCAuTHMyLC5MczFlCi0JLnF1YWQgLkxzMywuTHMxZQotCS5xdWFkIC5MczQsLkxzMWUKLQkucXVhZCAuTGQxLC5MczFlCS8qIC5MZFsxLTRdIC0gMC4uMjQgYnl0ZXMgY29wZWQgKi8KLQkucXVhZCAuTGQyLC5MczJlCi0JLnF1YWQgLkxkMywuTHMzZQotCS5xdWFkIC5MZDQsLkxzNGUKLQkucXVhZCAuTHM1LC5MczVlCS8qIC5Mc1s1LThdIC0gMzIgYnl0ZXMgY29waWVkICovCi0JLnF1YWQgLkxzNiwuTHM1ZQotCS5xdWFkIC5MczcsLkxzNWUKLQkucXVhZCAuTHM4LC5MczVlCi0JLnF1YWQgLkxkNSwuTHM1ZQkvKiAuTGRbNS04XSAtIDMyLi41NiBieXRlcyBjb3BpZWQgKi8KLQkucXVhZCAuTGQ2LC5MczZlCi0JLnF1YWQgLkxkNywuTHM3ZQotCS5xdWFkIC5MZDgsLkxzOGUKLQkucXVhZCAuTHM5LC5MZV9xdWFkCi0JLnF1YWQgLkxkOSwuTGVfcXVhZAotCS5xdWFkIC5MczEwLC5MZV9ieXRlCi0JLnF1YWQgLkxkMTAsLkxlX2J5dGUKLSNpZmRlZiBGSVhfQUxJR05NRU5UCi0JLnF1YWQgLkxzMTEsLkx6ZXJvX3Jlc3QKLQkucXVhZCAuTGQxMSwuTHplcm9fcmVzdAotI2VuZGlmCi0JLnF1YWQgLkxlNSwuTGVfemVybworCWpueiAxMDBiCisxMDI6CisJLnNlY3Rpb24gLmZpeHVwLCJheCIKKzEwMzoJYWRkbCAlcjhkLCVlZHgJCQkvKiBlY3ggaXMgemVyb3Jlc3QgYWxzbyAqLworCWptcCBjb3B5X3VzZXJfaGFuZGxlX3RhaWwKIAkucHJldmlvdXMKIAotCS8qIGVheDogemVybywgZWJ4OiA2NCAqLwotLkxzMWU6IAlhZGRsICQ4LCVlYXgJLyogZWF4OiBieXRlcyBsZWZ0IHVuY29waWVkOiBMczFlOiA2NCAuLiBMczhlOiA4ICovCi0uTHMyZTogCWFkZGwgJDgsJWVheAotLkxzM2U6IAlhZGRsICQ4LCVlYXgKLS5MczRlOiAJYWRkbCAkOCwlZWF4Ci0uTHM1ZTogCWFkZGwgJDgsJWVheAotLkxzNmU6IAlhZGRsICQ4LCVlYXgKLS5MczdlOiAJYWRkbCAkOCwlZWF4Ci0uTHM4ZTogCWFkZGwgJDgsJWVheAotCWFkZHEgJXJieCwlcmRpCS8qICs2NCAqLwotCXN1YnEgJXJheCwlcmRpICAvKiBjb3JyZWN0IGRlc3RpbmF0aW9uIHdpdGggY29tcHV0ZWQgb2Zmc2V0ICovCisJLnNlY3Rpb24gX19leF90YWJsZSwiYSIKKwkuYWxpZ24gOAorCS5xdWFkIDEwMGIsMTAzYgorCS5xdWFkIDEwMWIsMTAzYgorCS5wcmV2aW91cworI2VuZGlmCisJLmVuZG0KIAotCXNobHEgJDYsJXJkeAkvKiBsb29wIGNvdW50ZXIgKiA2NCAoc3RyaWRlIGxlbmd0aCkgKi8KLQlhZGRxICVyYXgsJXJkeAkvKiBhZGQgb2Zmc2V0IHRvIGxvb3BjbnQgKi8KLQlhbmRsICQ2MywlZWN4CS8qIHJlbWFpbmluZyBieXRlcyAqLwotCWFkZHEgJXJjeCwlcmR4CS8qIGFkZCB0aGVtICovCi0Jam1wIC5MemVyb19yZXN0Ci0KLQkvKiBleGNlcHRpb24gb24gcXVhZCB3b3JkIGxvb3AgaW4gdGFpbCBoYW5kbGluZyAqLwotCS8qIGVjeDoJbG9vcGNudC84LCAlZWR4OiBsZW5ndGgsIHJkaTogY29ycmVjdCAqLwotLkxlX3F1YWQ6Ci0Jc2hsbCAkMywlZWN4CisvKgorICogY29weV91c2VyX25vY2FjaGUgLSBVbmNhY2hlZCBtZW1vcnkgY29weSB3aXRoIGV4Y2VwdGlvbiBoYW5kbGluZworICogVGhpcyB3aWxsIGZvcmNlIGRlc3RpbmF0aW9uL3NvdXJjZSBvdXQgb2YgY2FjaGUgZm9yIG1vcmUgcGVyZm9ybWFuY2UuCisgKi8KK0VOVFJZKF9fY29weV91c2VyX25vY2FjaGUpCisJQ0ZJX1NUQVJUUFJPQworCWNtcGwgJDgsJWVkeAorCWpiIDIwZgkJLyogbGVzcyB0aGVuIDggYnl0ZXMsIGdvIHRvIGJ5dGUgY29weSBsb29wICovCisJQUxJR05fREVTVElOQVRJT04KKwltb3ZsICVlZHgsJWVjeAorCWFuZGwgJDYzLCVlZHgKKwlzaHJsICQ2LCVlY3gKKwlqeiAxN2YKKzE6CW1vdnEgKCVyc2kpLCVyOAorMjoJbW92cSAxKjgoJXJzaSksJXI5CiszOgltb3ZxIDIqOCglcnNpKSwlcjEwCis0Ogltb3ZxIDMqOCglcnNpKSwlcjExCis1Ogltb3ZudGkgJXI4LCglcmRpKQorNjoJbW92bnRpICVyOSwxKjgoJXJkaSkKKzc6CW1vdm50aSAlcjEwLDIqOCglcmRpKQorODoJbW92bnRpICVyMTEsMyo4KCVyZGkpCis5Ogltb3ZxIDQqOCglcnNpKSwlcjgKKzEwOgltb3ZxIDUqOCglcnNpKSwlcjkKKzExOgltb3ZxIDYqOCglcnNpKSwlcjEwCisxMjoJbW92cSA3KjgoJXJzaSksJXIxMQorMTM6CW1vdm50aSAlcjgsNCo4KCVyZGkpCisxNDoJbW92bnRpICVyOSw1KjgoJXJkaSkKKzE1Ogltb3ZudGkgJXIxMCw2KjgoJXJkaSkKKzE2Ogltb3ZudGkgJXIxMSw3KjgoJXJkaSkKKwlsZWFxIDY0KCVyc2kpLCVyc2kKKwlsZWFxIDY0KCVyZGkpLCVyZGkKKwlkZWNsICVlY3gKKwlqbnogMWIKKzE3Ogltb3ZsICVlZHgsJWVjeAogCWFuZGwgJDcsJWVkeAorCXNocmwgJDMsJWVjeAorCWp6IDIwZgorMTg6CW1vdnEgKCVyc2kpLCVyOAorMTk6CW1vdm50aSAlcjgsKCVyZGkpCisJbGVhcSA4KCVyc2kpLCVyc2kKKwlsZWFxIDgoJXJkaSksJXJkaQorCWRlY2wgJWVjeAorCWpueiAxOGIKKzIwOglhbmRsICVlZHgsJWVkeAorCWp6IDIzZgorCW1vdmwgJWVkeCwlZWN4CisyMToJbW92YiAoJXJzaSksJWFsCisyMjoJbW92YiAlYWwsKCVyZGkpCisJaW5jcSAlcnNpCisJaW5jcSAlcmRpCisJZGVjbCAlZWN4CisJam56IDIxYgorMjM6CXhvcmwgJWVheCwlZWF4CisJc2ZlbmNlCisJcmV0CisKKwkuc2VjdGlvbiAuZml4dXAsImF4IgorMzA6CXNobGwgJDYsJWVjeAogCWFkZGwgJWVjeCwlZWR4Ci0JLyogZWR4OiBieXRlcyB0byB6ZXJvLCByZGk6IGRlc3QsIGVheDp6ZXJvICovCi0uTHplcm9fcmVzdDoKLQljbXBsICQwLCglcnNwKQkvKiB6ZXJvIGZsYWcgc2V0PyAqLwotCWp6ICAgLkxlX3plcm8KLQltb3ZxICVyZHgsJXJjeAotLkxlX2J5dGU6Ci0JeG9ybCAlZWF4LCVlYXgKLS5MZTU6CXJlcAotCXN0b3NiCi0JLyogd2hlbiB0aGVyZSBpcyBhbm90aGVyIGV4Y2VwdGlvbiB3aGlsZSB6ZXJvaW5nIHRoZSByZXN0IGp1c3QgcmV0dXJuICovCi0uTGVfemVybzoKLQltb3ZxICVyZHgsJXJheAotCWptcCAuTGVuZGUKKwlqbXAgNjBmCis0MDoJbGVhICglcmR4LCVyY3gsOCksJXJkeAorCWptcCA2MGYKKzUwOgltb3ZsICVlY3gsJWVkeAorNjA6CXNmZW5jZQorCW1vdmwgJXI4ZCwlZWN4CisJam1wIGNvcHlfdXNlcl9oYW5kbGVfdGFpbAorCS5wcmV2aW91cworCisJLnNlY3Rpb24gX19leF90YWJsZSwiYSIKKwkucXVhZCAxYiwzMGIKKwkucXVhZCAyYiwzMGIKKwkucXVhZCAzYiwzMGIKKwkucXVhZCA0YiwzMGIKKwkucXVhZCA1YiwzMGIKKwkucXVhZCA2YiwzMGIKKwkucXVhZCA3YiwzMGIKKwkucXVhZCA4YiwzMGIKKwkucXVhZCA5YiwzMGIKKwkucXVhZCAxMGIsMzBiCisJLnF1YWQgMTFiLDMwYgorCS5xdWFkIDEyYiwzMGIKKwkucXVhZCAxM2IsMzBiCisJLnF1YWQgMTRiLDMwYgorCS5xdWFkIDE1YiwzMGIKKwkucXVhZCAxNmIsMzBiCisJLnF1YWQgMThiLDQwYgorCS5xdWFkIDE5Yiw0MGIKKwkucXVhZCAyMWIsNTBiCisJLnF1YWQgMjJiLDUwYgorCS5wcmV2aW91cwogCUNGSV9FTkRQUk9DCiBFTkRQUk9DKF9fY29weV91c2VyX25vY2FjaGUpCi0KLQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbGliL2RlbGF5XzMyLmMgYi9hcmNoL3g4Ni9saWIvZGVsYXkuYwpzaW1pbGFyaXR5IGluZGV4IDg3JQpyZW5hbWUgZnJvbSBhcmNoL3g4Ni9saWIvZGVsYXlfMzIuYwpyZW5hbWUgdG8gYXJjaC94ODYvbGliL2RlbGF5LmMKaW5kZXggZDcxMGYyZC4uZjQ1Njg2MCAxMDA2NDQKLS0tIGEvYXJjaC94ODYvbGliL2RlbGF5XzMyLmMKKysrIGIvYXJjaC94ODYvbGliL2RlbGF5LmMKQEAgLTMsNiArMyw3IEBACiAgKgogICoJQ29weXJpZ2h0IChDKSAxOTkzIExpbnVzIFRvcnZhbGRzCiAgKglDb3B5cmlnaHQgKEMpIDE5OTcgTWFydGluIE1hcmVzIDxtakBhdHJleS5rYXJsaW4ubWZmLmN1bmkuY3o+CisgKglDb3B5cmlnaHQgKEMpIDIwMDggSmlyaSBIbGFka3kgPGhsYWRreSBfZG90XyBqaXJpIF9hdF8gZ21haWwgX2RvdF8gY29tPgogICoKICAqCVRoZSBfX2RlbGF5IGZ1bmN0aW9uIG11c3QgX05PVF8gYmUgaW5saW5lZCBhcyBpdHMgZXhlY3V0aW9uIHRpbWUKICAqCWRlcGVuZHMgd2lsZGx5IG9uIGFsaWdubWVudCBvbiBtYW55IHg4NiBwcm9jZXNzb3JzLiBUaGUgYWRkaXRpb25hbApAQCAtMjgsMTYgKzI5LDIyIEBACiAvKiBzaW1wbGUgbG9vcCBiYXNlZCBkZWxheTogKi8KIHN0YXRpYyB2b2lkIGRlbGF5X2xvb3AodW5zaWduZWQgbG9uZyBsb29wcykKIHsKLQlpbnQgZDA7CisJYXNtIHZvbGF0aWxlKAorCQkiCXRlc3QgJTAsJTAJXG4iCisJCSIJanogM2YJCVxuIgorCQkiCWptcCAxZgkJXG4iCiAKLQlfX2FzbV9fIF9fdm9sYXRpbGVfXygKLQkJIlx0am1wIDFmXG4iCi0JCSIuYWxpZ24gMTZcbiIKLQkJIjE6XHRqbXAgMmZcbiIKLQkJIi5hbGlnbiAxNlxuIgotCQkiMjpcdGRlY2wgJTBcblx0am5zIDJiIgotCQk6Ij0mYSIgKGQwKQotCQk6IjAiIChsb29wcykpOworCQkiLmFsaWduIDE2CQlcbiIKKwkJIjE6CWptcCAyZgkJXG4iCisKKwkJIi5hbGlnbiAxNgkJXG4iCisJCSIyOglkZWMgJTAJCVxuIgorCQkiCWpueiAyYgkJXG4iCisJCSIzOglkZWMgJTAJCVxuIgorCisJCTogLyogd2UgZG9uJ3QgbmVlZCBvdXRwdXQgKi8KKwkJOiJhIiAobG9vcHMpCisJKTsKIH0KIAogLyogVFNDIGJhc2VkIGRlbGF5OiAqLwpAQCAtOTEsNyArOTgsNyBAQAogaW50IF9fZGV2aW5pdCByZWFkX2N1cnJlbnRfdGltZXIodW5zaWduZWQgbG9uZyAqdGltZXJfdmFsKQogewogCWlmIChkZWxheV9mbiA9PSBkZWxheV90c2MpIHsKLQkJcmR0c2NsKCp0aW1lcl92YWwpOworCQlyZHRzY2xsKCp0aW1lcl92YWwpOwogCQlyZXR1cm4gMDsKIAl9CiAJcmV0dXJuIC0xOwpAQCAtMTAxLDMxICsxMDgsMzAgQEAKIHsKIAlkZWxheV9mbihsb29wcyk7CiB9CitFWFBPUlRfU1lNQk9MKF9fZGVsYXkpOwogCiBpbmxpbmUgdm9pZCBfX2NvbnN0X3VkZWxheSh1bnNpZ25lZCBsb25nIHhsb29wcykKIHsKIAlpbnQgZDA7CiAKIAl4bG9vcHMgKj0gNDsKLQlfX2FzbV9fKCJtdWxsICUwIgorCWFzbSgibXVsbCAlJWVkeCIKIAkJOiI9ZCIgKHhsb29wcyksICI9JmEiIChkMCkKIAkJOiIxIiAoeGxvb3BzKSwgIjAiCiAJCShjcHVfZGF0YShyYXdfc21wX3Byb2Nlc3Nvcl9pZCgpKS5sb29wc19wZXJfamlmZnkgKiAoSFovNCkpKTsKIAogCV9fZGVsYXkoKyt4bG9vcHMpOwogfQorRVhQT1JUX1NZTUJPTChfX2NvbnN0X3VkZWxheSk7CiAKIHZvaWQgX191ZGVsYXkodW5zaWduZWQgbG9uZyB1c2VjcykKIHsKIAlfX2NvbnN0X3VkZWxheSh1c2VjcyAqIDB4MDAwMDEwYzcpOyAvKiAyKiozMiAvIDEwMDAwMDAgKHJvdW5kZWQgdXApICovCiB9CitFWFBPUlRfU1lNQk9MKF9fdWRlbGF5KTsKIAogdm9pZCBfX25kZWxheSh1bnNpZ25lZCBsb25nIG5zZWNzKQogewogCV9fY29uc3RfdWRlbGF5KG5zZWNzICogMHgwMDAwNSk7IC8qIDIqKjMyIC8gMTAwMDAwMDAwMCAocm91bmRlZCB1cCkgKi8KIH0KLQotRVhQT1JUX1NZTUJPTChfX2RlbGF5KTsKLUVYUE9SVF9TWU1CT0woX19jb25zdF91ZGVsYXkpOwotRVhQT1JUX1NZTUJPTChfX3VkZWxheSk7CiBFWFBPUlRfU1lNQk9MKF9fbmRlbGF5KTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2xpYi9kZWxheV82NC5jIGIvYXJjaC94ODYvbGliL2RlbGF5XzY0LmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRjNDQxYmUuLjAwMDAwMDAKLS0tIGEvYXJjaC94ODYvbGliL2RlbGF5XzY0LmMKKysrIC9kZXYvbnVsbApAQCAtMSw4NSArMCwwIEBACi0vKgotICoJUHJlY2lzZSBEZWxheSBMb29wcyBmb3IgeDg2LTY0Ci0gKgotICoJQ29weXJpZ2h0IChDKSAxOTkzIExpbnVzIFRvcnZhbGRzCi0gKglDb3B5cmlnaHQgKEMpIDE5OTcgTWFydGluIE1hcmVzIDxtakBhdHJleS5rYXJsaW4ubWZmLmN1bmkuY3o+Ci0gKgotICoJVGhlIF9fZGVsYXkgZnVuY3Rpb24gbXVzdCBfTk9UXyBiZSBpbmxpbmVkIGFzIGl0cyBleGVjdXRpb24gdGltZQotICoJZGVwZW5kcyB3aWxkbHkgb24gYWxpZ25tZW50IG9uIG1hbnkgeDg2IHByb2Nlc3NvcnMuIAotICovCi0KLSNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KLSNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgotI2luY2x1ZGUgPGxpbnV4L3RpbWV4Lmg+Ci0jaW5jbHVkZSA8bGludXgvcHJlZW1wdC5oPgotI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+Ci0jaW5jbHVkZSA8bGludXgvaW5pdC5oPgotCi0jaW5jbHVkZSA8YXNtL2RlbGF5Lmg+Ci0jaW5jbHVkZSA8YXNtL21zci5oPgotCi0jaWZkZWYgQ09ORklHX1NNUAotI2luY2x1ZGUgPGFzbS9zbXAuaD4KLSNlbmRpZgotCi1pbnQgX19kZXZpbml0IHJlYWRfY3VycmVudF90aW1lcih1bnNpZ25lZCBsb25nICp0aW1lcl92YWx1ZSkKLXsKLQlyZHRzY2xsKCp0aW1lcl92YWx1ZSk7Ci0JcmV0dXJuIDA7Ci19Ci0KLXZvaWQgX19kZWxheSh1bnNpZ25lZCBsb25nIGxvb3BzKQotewotCXVuc2lnbmVkIGJjbG9jaywgbm93OwotCWludCBjcHU7Ci0KLQlwcmVlbXB0X2Rpc2FibGUoKTsKLQljcHUgPSBzbXBfcHJvY2Vzc29yX2lkKCk7Ci0JcmR0c2NsKGJjbG9jayk7Ci0JZm9yICg7OykgewotCQlyZHRzY2wobm93KTsKLQkJaWYgKChub3cgLSBiY2xvY2spID49IGxvb3BzKQotCQkJYnJlYWs7Ci0KLQkJLyogQWxsb3cgUlQgdGFza3MgdG8gcnVuICovCi0JCXByZWVtcHRfZW5hYmxlKCk7Ci0JCXJlcF9ub3AoKTsKLQkJcHJlZW1wdF9kaXNhYmxlKCk7Ci0KLQkJLyoKLQkJICogSXQgaXMgcG9zc2libGUgdGhhdCB3ZSBtb3ZlZCB0byBhbm90aGVyIENQVSwgYW5kCi0JCSAqIHNpbmNlIFRTQydzIGFyZSBwZXItY3B1IHdlIG5lZWQgdG8gY2FsY3VsYXRlCi0JCSAqIHRoYXQuIFRoZSBkZWxheSBtdXN0IGd1YXJhbnRlZSB0aGF0IHdlIHdhaXQgImF0Ci0JCSAqIGxlYXN0IiB0aGUgYW1vdW50IG9mIHRpbWUuIEJlaW5nIG1vdmVkIHRvIGFub3RoZXIKLQkJICogQ1BVIGNvdWxkIG1ha2UgdGhlIHdhaXQgbG9uZ2VyIGJ1dCB3ZSBqdXN0IG5lZWQgdG8KLQkJICogbWFrZSBzdXJlIHdlIHdhaXRlZCBsb25nIGVub3VnaC4gUmViYWxhbmNlIHRoZQotCQkgKiBjb3VudGVyIGZvciB0aGlzIENQVS4KLQkJICovCi0JCWlmICh1bmxpa2VseShjcHUgIT0gc21wX3Byb2Nlc3Nvcl9pZCgpKSkgewotCQkJbG9vcHMgLT0gKG5vdyAtIGJjbG9jayk7Ci0JCQljcHUgPSBzbXBfcHJvY2Vzc29yX2lkKCk7Ci0JCQlyZHRzY2woYmNsb2NrKTsKLQkJfQotCX0KLQlwcmVlbXB0X2VuYWJsZSgpOwotfQotRVhQT1JUX1NZTUJPTChfX2RlbGF5KTsKLQotaW5saW5lIHZvaWQgX19jb25zdF91ZGVsYXkodW5zaWduZWQgbG9uZyB4bG9vcHMpCi17Ci0JX19kZWxheSgoKHhsb29wcyAqIEhaICoKLQkJY3B1X2RhdGEocmF3X3NtcF9wcm9jZXNzb3JfaWQoKSkubG9vcHNfcGVyX2ppZmZ5KSA+PiAzMikgKyAxKTsKLX0KLUVYUE9SVF9TWU1CT0woX19jb25zdF91ZGVsYXkpOwotCi12b2lkIF9fdWRlbGF5KHVuc2lnbmVkIGxvbmcgdXNlY3MpCi17Ci0JX19jb25zdF91ZGVsYXkodXNlY3MgKiAweDAwMDAxMGM3KTsgIC8qIDIqKjMyIC8gMTAwMDAwMCAocm91bmRlZCB1cCkgKi8KLX0KLUVYUE9SVF9TWU1CT0woX191ZGVsYXkpOwotCi12b2lkIF9fbmRlbGF5KHVuc2lnbmVkIGxvbmcgbnNlY3MpCi17Ci0JX19jb25zdF91ZGVsYXkobnNlY3MgKiAweDAwMDA1KTsgIC8qIDIqKjMyIC8gMTAwMDAwMDAwMCAocm91bmRlZCB1cCkgKi8KLX0KLUVYUE9SVF9TWU1CT0woX19uZGVsYXkpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbGliL2dldHVzZXIuUyBiL2FyY2gveDg2L2xpYi9nZXR1c2VyLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWQzNzQwMAotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gveDg2L2xpYi9nZXR1c2VyLlMKQEAgLTAsMCArMSwxMDQgQEAKKy8qCisgKiBfX2dldF91c2VyIGZ1bmN0aW9ucy4KKyAqCisgKiAoQykgQ29weXJpZ2h0IDE5OTggTGludXMgVG9ydmFsZHMKKyAqIChDKSBDb3B5cmlnaHQgMjAwNSBBbmRpIEtsZWVuCisgKiAoQykgQ29weXJpZ2h0IDIwMDggR2xhdWJlciBDb3N0YQorICoKKyAqIFRoZXNlIGZ1bmN0aW9ucyBoYXZlIGEgbm9uLXN0YW5kYXJkIGNhbGwgaW50ZXJmYWNlCisgKiB0byBtYWtlIHRoZW0gbW9yZSBlZmZpY2llbnQsIGVzcGVjaWFsbHkgYXMgdGhleQorICogcmV0dXJuIGFuIGVycm9yIHZhbHVlIGluIGFkZGl0aW9uIHRvIHRoZSAicmVhbCIKKyAqIHJldHVybiB2YWx1ZS4KKyAqLworCisvKgorICogX19nZXRfdXNlcl9YCisgKgorICogSW5wdXRzOgklW3J8ZV1heCBjb250YWlucyB0aGUgYWRkcmVzcy4KKyAqCQlUaGUgcmVnaXN0ZXIgaXMgbW9kaWZpZWQsIGJ1dCBhbGwgY2hhbmdlcyBhcmUgdW5kb25lCisgKgkJYmVmb3JlIHJldHVybmluZyBiZWNhdXNlIHRoZSBDIGNvZGUgZG9lc24ndCBrbm93IGFib3V0IGl0LgorICoKKyAqIE91dHB1dHM6CSVbcnxlXWF4IGlzIGVycm9yIGNvZGUgKDAgb3IgLUVGQVVMVCkKKyAqCQklW3J8ZV1keCBjb250YWlucyB6ZXJvLWV4dGVuZGVkIHZhbHVlCisgKgorICoKKyAqIFRoZXNlIGZ1bmN0aW9ucyBzaG91bGQgbm90IG1vZGlmeSBhbnkgb3RoZXIgcmVnaXN0ZXJzLAorICogYXMgdGhleSBnZXQgY2FsbGVkIGZyb20gd2l0aGluIGlubGluZSBhc3NlbWJseS4KKyAqLworCisjaW5jbHVkZSA8bGludXgvbGlua2FnZS5oPgorI2luY2x1ZGUgPGFzbS9kd2FyZjIuaD4KKyNpbmNsdWRlIDxhc20vcGFnZS5oPgorI2luY2x1ZGUgPGFzbS9lcnJuby5oPgorI2luY2x1ZGUgPGFzbS9hc20tb2Zmc2V0cy5oPgorI2luY2x1ZGUgPGFzbS90aHJlYWRfaW5mby5oPgorI2luY2x1ZGUgPGFzbS9hc20uaD4KKworCS50ZXh0CitFTlRSWShfX2dldF91c2VyXzEpCisJQ0ZJX1NUQVJUUFJPQworCUdFVF9USFJFQURfSU5GTyglX0FTTV9EWCkKKwljbXAgVElfYWRkcl9saW1pdCglX0FTTV9EWCksJV9BU01fQVgKKwlqYWUgYmFkX2dldF91c2VyCisxOgltb3Z6YiAoJV9BU01fQVgpLCVlZHgKKwl4b3IgJWVheCwlZWF4CisJcmV0CisJQ0ZJX0VORFBST0MKK0VORFBST0MoX19nZXRfdXNlcl8xKQorCitFTlRSWShfX2dldF91c2VyXzIpCisJQ0ZJX1NUQVJUUFJPQworCWFkZCAkMSwlX0FTTV9BWAorCWpjIGJhZF9nZXRfdXNlcgorCUdFVF9USFJFQURfSU5GTyglX0FTTV9EWCkKKwljbXAgVElfYWRkcl9saW1pdCglX0FTTV9EWCksJV9BU01fQVgKKwlqYWUgYmFkX2dldF91c2VyCisyOgltb3Z6d2wgLTEoJV9BU01fQVgpLCVlZHgKKwl4b3IgJWVheCwlZWF4CisJcmV0CisJQ0ZJX0VORFBST0MKK0VORFBST0MoX19nZXRfdXNlcl8yKQorCitFTlRSWShfX2dldF91c2VyXzQpCisJQ0ZJX1NUQVJUUFJPQworCWFkZCAkMywlX0FTTV9BWAorCWpjIGJhZF9nZXRfdXNlcgorCUdFVF9USFJFQURfSU5GTyglX0FTTV9EWCkKKwljbXAgVElfYWRkcl9saW1pdCglX0FTTV9EWCksJV9BU01fQVgKKwlqYWUgYmFkX2dldF91c2VyCiszOgltb3YgLTMoJV9BU01fQVgpLCVlZHgKKwl4b3IgJWVheCwlZWF4CisJcmV0CisJQ0ZJX0VORFBST0MKK0VORFBST0MoX19nZXRfdXNlcl80KQorCisjaWZkZWYgQ09ORklHX1g4Nl82NAorRU5UUlkoX19nZXRfdXNlcl84KQorCUNGSV9TVEFSVFBST0MKKwlhZGQgJDcsJV9BU01fQVgKKwlqYyBiYWRfZ2V0X3VzZXIKKwlHRVRfVEhSRUFEX0lORk8oJV9BU01fRFgpCisJY21wIFRJX2FkZHJfbGltaXQoJV9BU01fRFgpLCVfQVNNX0FYCisJamFlCWJhZF9nZXRfdXNlcgorNDoJbW92cSAtNyglX0FTTV9BWCksJV9BU01fRFgKKwl4b3IgJWVheCwlZWF4CisJcmV0CisJQ0ZJX0VORFBST0MKK0VORFBST0MoX19nZXRfdXNlcl84KQorI2VuZGlmCisKK2JhZF9nZXRfdXNlcjoKKwlDRklfU1RBUlRQUk9DCisJeG9yICVlZHgsJWVkeAorCW1vdiAkKC1FRkFVTFQpLCVfQVNNX0FYCisJcmV0CisJQ0ZJX0VORFBST0MKK0VORChiYWRfZ2V0X3VzZXIpCisKKy5zZWN0aW9uIF9fZXhfdGFibGUsImEiCisJX0FTTV9QVFIgMWIsYmFkX2dldF91c2VyCisJX0FTTV9QVFIgMmIsYmFkX2dldF91c2VyCisJX0FTTV9QVFIgM2IsYmFkX2dldF91c2VyCisjaWZkZWYgQ09ORklHX1g4Nl82NAorCV9BU01fUFRSIDRiLGJhZF9nZXRfdXNlcgorI2VuZGlmCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9saWIvZ2V0dXNlcl8zMi5TIGIvYXJjaC94ODYvbGliL2dldHVzZXJfMzIuUwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmQ4NGI1My4uMDAwMDAwMAotLS0gYS9hcmNoL3g4Ni9saWIvZ2V0dXNlcl8zMi5TCisrKyAvZGV2L251bGwKQEAgLTEsNzggKzAsMCBAQAotLyoKLSAqIF9fZ2V0X3VzZXIgZnVuY3Rpb25zLgotICoKLSAqIChDKSBDb3B5cmlnaHQgMTk5OCBMaW51cyBUb3J2YWxkcwotICoKLSAqIFRoZXNlIGZ1bmN0aW9ucyBoYXZlIGEgbm9uLXN0YW5kYXJkIGNhbGwgaW50ZXJmYWNlCi0gKiB0byBtYWtlIHRoZW0gbW9yZSBlZmZpY2llbnQsIGVzcGVjaWFsbHkgYXMgdGhleQotICogcmV0dXJuIGFuIGVycm9yIHZhbHVlIGluIGFkZGl0aW9uIHRvIHRoZSAicmVhbCIKLSAqIHJldHVybiB2YWx1ZS4KLSAqLwotI2luY2x1ZGUgPGxpbnV4L2xpbmthZ2UuaD4KLSNpbmNsdWRlIDxhc20vZHdhcmYyLmg+Ci0jaW5jbHVkZSA8YXNtL3RocmVhZF9pbmZvLmg+Ci0KLQotLyoKLSAqIF9fZ2V0X3VzZXJfWAotICoKLSAqIElucHV0czoJJWVheCBjb250YWlucyB0aGUgYWRkcmVzcwotICoKLSAqIE91dHB1dHM6CSVlYXggaXMgZXJyb3IgY29kZSAoMCBvciAtRUZBVUxUKQotICoJCSVlZHggY29udGFpbnMgemVyby1leHRlbmRlZCB2YWx1ZQotICoKLSAqIFRoZXNlIGZ1bmN0aW9ucyBzaG91bGQgbm90IG1vZGlmeSBhbnkgb3RoZXIgcmVnaXN0ZXJzLAotICogYXMgdGhleSBnZXQgY2FsbGVkIGZyb20gd2l0aGluIGlubGluZSBhc3NlbWJseS4KLSAqLwotCi0udGV4dAotRU5UUlkoX19nZXRfdXNlcl8xKQotCUNGSV9TVEFSVFBST0MKLQlHRVRfVEhSRUFEX0lORk8oJWVkeCkKLQljbXBsIFRJX2FkZHJfbGltaXQoJWVkeCksJWVheAotCWphZSBiYWRfZ2V0X3VzZXIKLTE6CW1vdnpibCAoJWVheCksJWVkeAotCXhvcmwgJWVheCwlZWF4Ci0JcmV0Ci0JQ0ZJX0VORFBST0MKLUVORFBST0MoX19nZXRfdXNlcl8xKQotCi1FTlRSWShfX2dldF91c2VyXzIpCi0JQ0ZJX1NUQVJUUFJPQwotCWFkZGwgJDEsJWVheAotCWpjIGJhZF9nZXRfdXNlcgotCUdFVF9USFJFQURfSU5GTyglZWR4KQotCWNtcGwgVElfYWRkcl9saW1pdCglZWR4KSwlZWF4Ci0JamFlIGJhZF9nZXRfdXNlcgotMjoJbW92endsIC0xKCVlYXgpLCVlZHgKLQl4b3JsICVlYXgsJWVheAotCXJldAotCUNGSV9FTkRQUk9DCi1FTkRQUk9DKF9fZ2V0X3VzZXJfMikKLQotRU5UUlkoX19nZXRfdXNlcl80KQotCUNGSV9TVEFSVFBST0MKLQlhZGRsICQzLCVlYXgKLQlqYyBiYWRfZ2V0X3VzZXIKLQlHRVRfVEhSRUFEX0lORk8oJWVkeCkKLQljbXBsIFRJX2FkZHJfbGltaXQoJWVkeCksJWVheAotCWphZSBiYWRfZ2V0X3VzZXIKLTM6CW1vdmwgLTMoJWVheCksJWVkeAotCXhvcmwgJWVheCwlZWF4Ci0JcmV0Ci0JQ0ZJX0VORFBST0MKLUVORFBST0MoX19nZXRfdXNlcl80KQotCi1iYWRfZ2V0X3VzZXI6Ci0JQ0ZJX1NUQVJUUFJPQwotCXhvcmwgJWVkeCwlZWR4Ci0JbW92bCAkLTE0LCVlYXgKLQlyZXQKLQlDRklfRU5EUFJPQwotRU5EKGJhZF9nZXRfdXNlcikKLQotLnNlY3Rpb24gX19leF90YWJsZSwiYSIKLQkubG9uZyAxYixiYWRfZ2V0X3VzZXIKLQkubG9uZyAyYixiYWRfZ2V0X3VzZXIKLQkubG9uZyAzYixiYWRfZ2V0X3VzZXIKLS5wcmV2aW91cwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbGliL2dldHVzZXJfNjQuUyBiL2FyY2gveDg2L2xpYi9nZXR1c2VyXzY0LlMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU0NDg4NzYuLjAwMDAwMDAKLS0tIGEvYXJjaC94ODYvbGliL2dldHVzZXJfNjQuUworKysgL2Rldi9udWxsCkBAIC0xLDEwOSArMCwwIEBACi0vKgotICogX19nZXRfdXNlciBmdW5jdGlvbnMuCi0gKgotICogKEMpIENvcHlyaWdodCAxOTk4IExpbnVzIFRvcnZhbGRzCi0gKiAoQykgQ29weXJpZ2h0IDIwMDUgQW5kaSBLbGVlbgotICoKLSAqIFRoZXNlIGZ1bmN0aW9ucyBoYXZlIGEgbm9uLXN0YW5kYXJkIGNhbGwgaW50ZXJmYWNlCi0gKiB0byBtYWtlIHRoZW0gbW9yZSBlZmZpY2llbnQsIGVzcGVjaWFsbHkgYXMgdGhleQotICogcmV0dXJuIGFuIGVycm9yIHZhbHVlIGluIGFkZGl0aW9uIHRvIHRoZSAicmVhbCIKLSAqIHJldHVybiB2YWx1ZS4KLSAqLwotCi0vKgotICogX19nZXRfdXNlcl9YCi0gKgotICogSW5wdXRzOgklcmN4IGNvbnRhaW5zIHRoZSBhZGRyZXNzLgotICoJCVRoZSByZWdpc3RlciBpcyBtb2RpZmllZCwgYnV0IGFsbCBjaGFuZ2VzIGFyZSB1bmRvbmUKLSAqCQliZWZvcmUgcmV0dXJuaW5nIGJlY2F1c2UgdGhlIEMgY29kZSBkb2Vzbid0IGtub3cgYWJvdXQgaXQuCi0gKgotICogT3V0cHV0czoJJXJheCBpcyBlcnJvciBjb2RlICgwIG9yIC1FRkFVTFQpCi0gKgkJJXJkeCBjb250YWlucyB6ZXJvLWV4dGVuZGVkIHZhbHVlCi0gKiAKLSAqICVyOCBpcyBkZXN0cm95ZWQuCi0gKgotICogVGhlc2UgZnVuY3Rpb25zIHNob3VsZCBub3QgbW9kaWZ5IGFueSBvdGhlciByZWdpc3RlcnMsCi0gKiBhcyB0aGV5IGdldCBjYWxsZWQgZnJvbSB3aXRoaW4gaW5saW5lIGFzc2VtYmx5LgotICovCi0KLSNpbmNsdWRlIDxsaW51eC9saW5rYWdlLmg+Ci0jaW5jbHVkZSA8YXNtL2R3YXJmMi5oPgotI2luY2x1ZGUgPGFzbS9wYWdlLmg+Ci0jaW5jbHVkZSA8YXNtL2Vycm5vLmg+Ci0jaW5jbHVkZSA8YXNtL2FzbS1vZmZzZXRzLmg+Ci0jaW5jbHVkZSA8YXNtL3RocmVhZF9pbmZvLmg+Ci0KLQkudGV4dAotRU5UUlkoX19nZXRfdXNlcl8xKQotCUNGSV9TVEFSVFBST0MKLQlHRVRfVEhSRUFEX0lORk8oJXI4KQotCWNtcHEgdGhyZWFkaW5mb19hZGRyX2xpbWl0KCVyOCksJXJjeAotCWphZSBiYWRfZ2V0X3VzZXIKLTE6CW1vdnpiICglcmN4KSwlZWR4Ci0JeG9ybCAlZWF4LCVlYXgKLQlyZXQKLQlDRklfRU5EUFJPQwotRU5EUFJPQyhfX2dldF91c2VyXzEpCi0KLUVOVFJZKF9fZ2V0X3VzZXJfMikKLQlDRklfU1RBUlRQUk9DCi0JR0VUX1RIUkVBRF9JTkZPKCVyOCkKLQlhZGRxICQxLCVyY3gKLQlqYyAyMGYKLQljbXBxIHRocmVhZGluZm9fYWRkcl9saW1pdCglcjgpLCVyY3gKLQlqYWUgMjBmCi0JZGVjcSAgICVyY3gKLTI6CW1vdnp3bCAoJXJjeCksJWVkeAotCXhvcmwgJWVheCwlZWF4Ci0JcmV0Ci0yMDoJZGVjcSAgICAlcmN4Ci0Jam1wCWJhZF9nZXRfdXNlcgotCUNGSV9FTkRQUk9DCi1FTkRQUk9DKF9fZ2V0X3VzZXJfMikKLQotRU5UUlkoX19nZXRfdXNlcl80KQotCUNGSV9TVEFSVFBST0MKLQlHRVRfVEhSRUFEX0lORk8oJXI4KQotCWFkZHEgJDMsJXJjeAotCWpjIDMwZgotCWNtcHEgdGhyZWFkaW5mb19hZGRyX2xpbWl0KCVyOCksJXJjeAotCWphZSAzMGYKLQlzdWJxICQzLCVyY3gKLTM6CW1vdmwgKCVyY3gpLCVlZHgKLQl4b3JsICVlYXgsJWVheAotCXJldAotMzA6CXN1YnEgJDMsJXJjeAotCWptcCBiYWRfZ2V0X3VzZXIKLQlDRklfRU5EUFJPQwotRU5EUFJPQyhfX2dldF91c2VyXzQpCi0KLUVOVFJZKF9fZ2V0X3VzZXJfOCkKLQlDRklfU1RBUlRQUk9DCi0JR0VUX1RIUkVBRF9JTkZPKCVyOCkKLQlhZGRxICQ3LCVyY3gKLQlqYyA0MGYKLQljbXBxIHRocmVhZGluZm9fYWRkcl9saW1pdCglcjgpLCVyY3gKLQlqYWUJNDBmCi0Jc3VicQkkNywlcmN4Ci00Ogltb3ZxICglcmN4KSwlcmR4Ci0JeG9ybCAlZWF4LCVlYXgKLQlyZXQKLTQwOglzdWJxICQ3LCVyY3gKLQlqbXAgYmFkX2dldF91c2VyCi0JQ0ZJX0VORFBST0MKLUVORFBST0MoX19nZXRfdXNlcl84KQotCi1iYWRfZ2V0X3VzZXI6Ci0JQ0ZJX1NUQVJUUFJPQwotCXhvcmwgJWVkeCwlZWR4Ci0JbW92cSAkKC1FRkFVTFQpLCVyYXgKLQlyZXQKLQlDRklfRU5EUFJPQwotRU5EKGJhZF9nZXRfdXNlcikKLQotLnNlY3Rpb24gX19leF90YWJsZSwiYSIKLQkucXVhZCAxYixiYWRfZ2V0X3VzZXIKLQkucXVhZCAyYixiYWRfZ2V0X3VzZXIKLQkucXVhZCAzYixiYWRfZ2V0X3VzZXIKLQkucXVhZCA0YixiYWRfZ2V0X3VzZXIKLS5wcmV2aW91cwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbGliL21zci1vbi1jcHUuYyBiL2FyY2gveDg2L2xpYi9tc3Itb24tY3B1LmMKaW5kZXggNTdkMDQzZi4uZDVhMmIzOSAxMDA2NDQKLS0tIGEvYXJjaC94ODYvbGliL21zci1vbi1jcHUuYworKysgYi9hcmNoL3g4Ni9saWIvbXNyLW9uLWNwdS5jCkBAIC0zMCwxMCArMzAsMTAgQEAKIAogCXJ2Lm1zcl9ubyA9IG1zcl9ubzsKIAlpZiAoc2FmZSkgewotCQlzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoY3B1LCBfX3JkbXNyX3NhZmVfb25fY3B1LCAmcnYsIDAsIDEpOworCQlzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoY3B1LCBfX3JkbXNyX3NhZmVfb25fY3B1LCAmcnYsIDEpOwogCQllcnIgPSBydi5lcnI7CiAJfSBlbHNlIHsKLQkJc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGNwdSwgX19yZG1zcl9vbl9jcHUsICZydiwgMCwgMSk7CisJCXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShjcHUsIF9fcmRtc3Jfb25fY3B1LCAmcnYsIDEpOwogCX0KIAkqbCA9IHJ2Lmw7CiAJKmggPSBydi5oOwpAQCAtNjQsMTAgKzY0LDEwIEBACiAJcnYubCA9IGw7CiAJcnYuaCA9IGg7CiAJaWYgKHNhZmUpIHsKLQkJc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGNwdSwgX193cm1zcl9zYWZlX29uX2NwdSwgJnJ2LCAwLCAxKTsKKwkJc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGNwdSwgX193cm1zcl9zYWZlX29uX2NwdSwgJnJ2LCAxKTsKIAkJZXJyID0gcnYuZXJyOwogCX0gZWxzZSB7Ci0JCXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShjcHUsIF9fd3Jtc3Jfb25fY3B1LCAmcnYsIDAsIDEpOworCQlzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoY3B1LCBfX3dybXNyX29uX2NwdSwgJnJ2LCAxKTsKIAl9CiAKIAlyZXR1cm4gZXJyOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbGliL3B1dHVzZXIuUyBiL2FyY2gveDg2L2xpYi9wdXR1c2VyLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzZiMGQxNQotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gveDg2L2xpYi9wdXR1c2VyLlMKQEAgLTAsMCArMSw5NyBAQAorLyoKKyAqIF9fcHV0X3VzZXIgZnVuY3Rpb25zLgorICoKKyAqIChDKSBDb3B5cmlnaHQgMjAwNSBMaW51cyBUb3J2YWxkcworICogKEMpIENvcHlyaWdodCAyMDA1IEFuZGkgS2xlZW4KKyAqIChDKSBDb3B5cmlnaHQgMjAwOCBHbGF1YmVyIENvc3RhCisgKgorICogVGhlc2UgZnVuY3Rpb25zIGhhdmUgYSBub24tc3RhbmRhcmQgY2FsbCBpbnRlcmZhY2UKKyAqIHRvIG1ha2UgdGhlbSBtb3JlIGVmZmljaWVudCwgZXNwZWNpYWxseSBhcyB0aGV5CisgKiByZXR1cm4gYW4gZXJyb3IgdmFsdWUgaW4gYWRkaXRpb24gdG8gdGhlICJyZWFsIgorICogcmV0dXJuIHZhbHVlLgorICovCisjaW5jbHVkZSA8bGludXgvbGlua2FnZS5oPgorI2luY2x1ZGUgPGFzbS9kd2FyZjIuaD4KKyNpbmNsdWRlIDxhc20vdGhyZWFkX2luZm8uaD4KKyNpbmNsdWRlIDxhc20vZXJybm8uaD4KKyNpbmNsdWRlIDxhc20vYXNtLmg+CisKKworLyoKKyAqIF9fcHV0X3VzZXJfWAorICoKKyAqIElucHV0czoJJWVheFs6JWVkeF0gY29udGFpbnMgdGhlIGRhdGEKKyAqCQklZWN4IGNvbnRhaW5zIHRoZSBhZGRyZXNzCisgKgorICogT3V0cHV0czoJJWVheCBpcyBlcnJvciBjb2RlICgwIG9yIC1FRkFVTFQpCisgKgorICogVGhlc2UgZnVuY3Rpb25zIHNob3VsZCBub3QgbW9kaWZ5IGFueSBvdGhlciByZWdpc3RlcnMsCisgKiBhcyB0aGV5IGdldCBjYWxsZWQgZnJvbSB3aXRoaW4gaW5saW5lIGFzc2VtYmx5LgorICovCisKKyNkZWZpbmUgRU5URVIJQ0ZJX1NUQVJUUFJPQyA7IFwKKwkJR0VUX1RIUkVBRF9JTkZPKCVfQVNNX0JYKQorI2RlZmluZSBFWElUCXJldCA7IFwKKwkJQ0ZJX0VORFBST0MKKworLnRleHQKK0VOVFJZKF9fcHV0X3VzZXJfMSkKKwlFTlRFUgorCWNtcCBUSV9hZGRyX2xpbWl0KCVfQVNNX0JYKSwlX0FTTV9DWAorCWphZSBiYWRfcHV0X3VzZXIKKzE6CW1vdmIgJWFsLCglX0FTTV9DWCkKKwl4b3IgJWVheCwlZWF4CisJRVhJVAorRU5EUFJPQyhfX3B1dF91c2VyXzEpCisKK0VOVFJZKF9fcHV0X3VzZXJfMikKKwlFTlRFUgorCW1vdiBUSV9hZGRyX2xpbWl0KCVfQVNNX0JYKSwlX0FTTV9CWAorCXN1YiAkMSwlX0FTTV9CWAorCWNtcCAlX0FTTV9CWCwlX0FTTV9DWAorCWphZSBiYWRfcHV0X3VzZXIKKzI6CW1vdncgJWF4LCglX0FTTV9DWCkKKwl4b3IgJWVheCwlZWF4CisJRVhJVAorRU5EUFJPQyhfX3B1dF91c2VyXzIpCisKK0VOVFJZKF9fcHV0X3VzZXJfNCkKKwlFTlRFUgorCW1vdiBUSV9hZGRyX2xpbWl0KCVfQVNNX0JYKSwlX0FTTV9CWAorCXN1YiAkMywlX0FTTV9CWAorCWNtcCAlX0FTTV9CWCwlX0FTTV9DWAorCWphZSBiYWRfcHV0X3VzZXIKKzM6CW1vdmwgJWVheCwoJV9BU01fQ1gpCisJeG9yICVlYXgsJWVheAorCUVYSVQKK0VORFBST0MoX19wdXRfdXNlcl80KQorCitFTlRSWShfX3B1dF91c2VyXzgpCisJRU5URVIKKwltb3YgVElfYWRkcl9saW1pdCglX0FTTV9CWCksJV9BU01fQlgKKwlzdWIgJDcsJV9BU01fQlgKKwljbXAgJV9BU01fQlgsJV9BU01fQ1gKKwlqYWUgYmFkX3B1dF91c2VyCis0Ogltb3YgJV9BU01fQVgsKCVfQVNNX0NYKQorI2lmZGVmIENPTkZJR19YODZfMzIKKzU6CW1vdmwgJWVkeCw0KCVfQVNNX0NYKQorI2VuZGlmCisJeG9yICVlYXgsJWVheAorCUVYSVQKK0VORFBST0MoX19wdXRfdXNlcl84KQorCitiYWRfcHV0X3VzZXI6CisJQ0ZJX1NUQVJUUFJPQworCW1vdmwgJC1FRkFVTFQsJWVheAorCUVYSVQKK0VORChiYWRfcHV0X3VzZXIpCisKKy5zZWN0aW9uIF9fZXhfdGFibGUsImEiCisJX0FTTV9QVFIgMWIsYmFkX3B1dF91c2VyCisJX0FTTV9QVFIgMmIsYmFkX3B1dF91c2VyCisJX0FTTV9QVFIgM2IsYmFkX3B1dF91c2VyCisJX0FTTV9QVFIgNGIsYmFkX3B1dF91c2VyCisjaWZkZWYgQ09ORklHX1g4Nl8zMgorCV9BU01fUFRSIDViLGJhZF9wdXRfdXNlcgorI2VuZGlmCisucHJldmlvdXMKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2xpYi9wdXR1c2VyXzMyLlMgYi9hcmNoL3g4Ni9saWIvcHV0dXNlcl8zMi5TCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmNThmYmExLi4wMDAwMDAwCi0tLSBhL2FyY2gveDg2L2xpYi9wdXR1c2VyXzMyLlMKKysrIC9kZXYvbnVsbApAQCAtMSw5OCArMCwwIEBACi0vKgotICogX19wdXRfdXNlciBmdW5jdGlvbnMuCi0gKgotICogKEMpIENvcHlyaWdodCAyMDA1IExpbnVzIFRvcnZhbGRzCi0gKgotICogVGhlc2UgZnVuY3Rpb25zIGhhdmUgYSBub24tc3RhbmRhcmQgY2FsbCBpbnRlcmZhY2UKLSAqIHRvIG1ha2UgdGhlbSBtb3JlIGVmZmljaWVudCwgZXNwZWNpYWxseSBhcyB0aGV5Ci0gKiByZXR1cm4gYW4gZXJyb3IgdmFsdWUgaW4gYWRkaXRpb24gdG8gdGhlICJyZWFsIgotICogcmV0dXJuIHZhbHVlLgotICovCi0jaW5jbHVkZSA8bGludXgvbGlua2FnZS5oPgotI2luY2x1ZGUgPGFzbS9kd2FyZjIuaD4KLSNpbmNsdWRlIDxhc20vdGhyZWFkX2luZm8uaD4KLQotCi0vKgotICogX19wdXRfdXNlcl9YCi0gKgotICogSW5wdXRzOgklZWF4WzolZWR4XSBjb250YWlucyB0aGUgZGF0YQotICoJCSVlY3ggY29udGFpbnMgdGhlIGFkZHJlc3MKLSAqCi0gKiBPdXRwdXRzOgklZWF4IGlzIGVycm9yIGNvZGUgKDAgb3IgLUVGQVVMVCkKLSAqCi0gKiBUaGVzZSBmdW5jdGlvbnMgc2hvdWxkIG5vdCBtb2RpZnkgYW55IG90aGVyIHJlZ2lzdGVycywKLSAqIGFzIHRoZXkgZ2V0IGNhbGxlZCBmcm9tIHdpdGhpbiBpbmxpbmUgYXNzZW1ibHkuCi0gKi8KLQotI2RlZmluZSBFTlRFUglDRklfU1RBUlRQUk9DIDsgXAotCQlwdXNobCAlZWJ4IDsgXAotCQlDRklfQURKVVNUX0NGQV9PRkZTRVQgNCA7IFwKLQkJQ0ZJX1JFTF9PRkZTRVQgZWJ4LCAwIDsgXAotCQlHRVRfVEhSRUFEX0lORk8oJWVieCkKLSNkZWZpbmUgRVhJVAlwb3BsICVlYnggOyBcCi0JCUNGSV9BREpVU1RfQ0ZBX09GRlNFVCAtNCA7IFwKLQkJQ0ZJX1JFU1RPUkUgZWJ4IDsgXAotCQlyZXQgOyBcCi0JCUNGSV9FTkRQUk9DCi0KLS50ZXh0Ci1FTlRSWShfX3B1dF91c2VyXzEpCi0JRU5URVIKLQljbXBsIFRJX2FkZHJfbGltaXQoJWVieCksJWVjeAotCWphZSBiYWRfcHV0X3VzZXIKLTE6CW1vdmIgJWFsLCglZWN4KQotCXhvcmwgJWVheCwlZWF4Ci0JRVhJVAotRU5EUFJPQyhfX3B1dF91c2VyXzEpCi0KLUVOVFJZKF9fcHV0X3VzZXJfMikKLQlFTlRFUgotCW1vdmwgVElfYWRkcl9saW1pdCglZWJ4KSwlZWJ4Ci0Jc3VibCAkMSwlZWJ4Ci0JY21wbCAlZWJ4LCVlY3gKLQlqYWUgYmFkX3B1dF91c2VyCi0yOgltb3Z3ICVheCwoJWVjeCkKLQl4b3JsICVlYXgsJWVheAotCUVYSVQKLUVORFBST0MoX19wdXRfdXNlcl8yKQotCi1FTlRSWShfX3B1dF91c2VyXzQpCi0JRU5URVIKLQltb3ZsIFRJX2FkZHJfbGltaXQoJWVieCksJWVieAotCXN1YmwgJDMsJWVieAotCWNtcGwgJWVieCwlZWN4Ci0JamFlIGJhZF9wdXRfdXNlcgotMzoJbW92bCAlZWF4LCglZWN4KQotCXhvcmwgJWVheCwlZWF4Ci0JRVhJVAotRU5EUFJPQyhfX3B1dF91c2VyXzQpCi0KLUVOVFJZKF9fcHV0X3VzZXJfOCkKLQlFTlRFUgotCW1vdmwgVElfYWRkcl9saW1pdCglZWJ4KSwlZWJ4Ci0Jc3VibCAkNywlZWJ4Ci0JY21wbCAlZWJ4LCVlY3gKLQlqYWUgYmFkX3B1dF91c2VyCi00Ogltb3ZsICVlYXgsKCVlY3gpCi01Ogltb3ZsICVlZHgsNCglZWN4KQotCXhvcmwgJWVheCwlZWF4Ci0JRVhJVAotRU5EUFJPQyhfX3B1dF91c2VyXzgpCi0KLWJhZF9wdXRfdXNlcjoKLQlDRklfU1RBUlRQUk9DIHNpbXBsZQotCUNGSV9ERUZfQ0ZBIGVzcCwgMio0Ci0JQ0ZJX09GRlNFVCBlaXAsIC0xKjQKLQlDRklfT0ZGU0VUIGVieCwgLTIqNAotCW1vdmwgJC0xNCwlZWF4Ci0JRVhJVAotRU5EKGJhZF9wdXRfdXNlcikKLQotLnNlY3Rpb24gX19leF90YWJsZSwiYSIKLQkubG9uZyAxYixiYWRfcHV0X3VzZXIKLQkubG9uZyAyYixiYWRfcHV0X3VzZXIKLQkubG9uZyAzYixiYWRfcHV0X3VzZXIKLQkubG9uZyA0YixiYWRfcHV0X3VzZXIKLQkubG9uZyA1YixiYWRfcHV0X3VzZXIKLS5wcmV2aW91cwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbGliL3B1dHVzZXJfNjQuUyBiL2FyY2gveDg2L2xpYi9wdXR1c2VyXzY0LlMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ5ODlmNWEuLjAwMDAwMDAKLS0tIGEvYXJjaC94ODYvbGliL3B1dHVzZXJfNjQuUworKysgL2Rldi9udWxsCkBAIC0xLDEwNiArMCwwIEBACi0vKgotICogX19wdXRfdXNlciBmdW5jdGlvbnMuCi0gKgotICogKEMpIENvcHlyaWdodCAxOTk4IExpbnVzIFRvcnZhbGRzCi0gKiAoQykgQ29weXJpZ2h0IDIwMDUgQW5kaSBLbGVlbgotICoKLSAqIFRoZXNlIGZ1bmN0aW9ucyBoYXZlIGEgbm9uLXN0YW5kYXJkIGNhbGwgaW50ZXJmYWNlCi0gKiB0byBtYWtlIHRoZW0gbW9yZSBlZmZpY2llbnQsIGVzcGVjaWFsbHkgYXMgdGhleQotICogcmV0dXJuIGFuIGVycm9yIHZhbHVlIGluIGFkZGl0aW9uIHRvIHRoZSAicmVhbCIKLSAqIHJldHVybiB2YWx1ZS4KLSAqLwotCi0vKgotICogX19wdXRfdXNlcl9YCi0gKgotICogSW5wdXRzOgklcmN4IGNvbnRhaW5zIHRoZSBhZGRyZXNzCi0gKgkJJXJkeCBjb250YWlucyBuZXcgdmFsdWUKLSAqCi0gKiBPdXRwdXRzOgklcmF4IGlzIGVycm9yIGNvZGUgKDAgb3IgLUVGQVVMVCkKLSAqCi0gKiAlcjggaXMgZGVzdHJveWVkLgotICoKLSAqIFRoZXNlIGZ1bmN0aW9ucyBzaG91bGQgbm90IG1vZGlmeSBhbnkgb3RoZXIgcmVnaXN0ZXJzLAotICogYXMgdGhleSBnZXQgY2FsbGVkIGZyb20gd2l0aGluIGlubGluZSBhc3NlbWJseS4KLSAqLwotCi0jaW5jbHVkZSA8bGludXgvbGlua2FnZS5oPgotI2luY2x1ZGUgPGFzbS9kd2FyZjIuaD4KLSNpbmNsdWRlIDxhc20vcGFnZS5oPgotI2luY2x1ZGUgPGFzbS9lcnJuby5oPgotI2luY2x1ZGUgPGFzbS9hc20tb2Zmc2V0cy5oPgotI2luY2x1ZGUgPGFzbS90aHJlYWRfaW5mby5oPgotCi0JLnRleHQKLUVOVFJZKF9fcHV0X3VzZXJfMSkKLQlDRklfU1RBUlRQUk9DCi0JR0VUX1RIUkVBRF9JTkZPKCVyOCkKLQljbXBxIHRocmVhZGluZm9fYWRkcl9saW1pdCglcjgpLCVyY3gKLQlqYWUgYmFkX3B1dF91c2VyCi0xOgltb3ZiICVkbCwoJXJjeCkKLQl4b3JsICVlYXgsJWVheAotCXJldAotCUNGSV9FTkRQUk9DCi1FTkRQUk9DKF9fcHV0X3VzZXJfMSkKLQotRU5UUlkoX19wdXRfdXNlcl8yKQotCUNGSV9TVEFSVFBST0MKLQlHRVRfVEhSRUFEX0lORk8oJXI4KQotCWFkZHEgJDEsJXJjeAotCWpjIDIwZgotCWNtcHEgdGhyZWFkaW5mb19hZGRyX2xpbWl0KCVyOCksJXJjeAotCWphZSAyMGYKLQlkZWNxICVyY3gKLTI6CW1vdncgJWR4LCglcmN4KQotCXhvcmwgJWVheCwlZWF4Ci0JcmV0Ci0yMDoJZGVjcSAlcmN4Ci0Jam1wIGJhZF9wdXRfdXNlcgotCUNGSV9FTkRQUk9DCi1FTkRQUk9DKF9fcHV0X3VzZXJfMikKLQotRU5UUlkoX19wdXRfdXNlcl80KQotCUNGSV9TVEFSVFBST0MKLQlHRVRfVEhSRUFEX0lORk8oJXI4KQotCWFkZHEgJDMsJXJjeAotCWpjIDMwZgotCWNtcHEgdGhyZWFkaW5mb19hZGRyX2xpbWl0KCVyOCksJXJjeAotCWphZSAzMGYKLQlzdWJxICQzLCVyY3gKLTM6CW1vdmwgJWVkeCwoJXJjeCkKLQl4b3JsICVlYXgsJWVheAotCXJldAotMzA6CXN1YnEgJDMsJXJjeAotCWptcCBiYWRfcHV0X3VzZXIKLQlDRklfRU5EUFJPQwotRU5EUFJPQyhfX3B1dF91c2VyXzQpCi0KLUVOVFJZKF9fcHV0X3VzZXJfOCkKLQlDRklfU1RBUlRQUk9DCi0JR0VUX1RIUkVBRF9JTkZPKCVyOCkKLQlhZGRxICQ3LCVyY3gKLQlqYyA0MGYKLQljbXBxIHRocmVhZGluZm9fYWRkcl9saW1pdCglcjgpLCVyY3gKLQlqYWUgNDBmCi0Jc3VicSAkNywlcmN4Ci00Ogltb3ZxICVyZHgsKCVyY3gpCi0JeG9ybCAlZWF4LCVlYXgKLQlyZXQKLTQwOglzdWJxICQ3LCVyY3gKLQlqbXAgYmFkX3B1dF91c2VyCi0JQ0ZJX0VORFBST0MKLUVORFBST0MoX19wdXRfdXNlcl84KQotCi1iYWRfcHV0X3VzZXI6Ci0JQ0ZJX1NUQVJUUFJPQwotCW1vdnEgJCgtRUZBVUxUKSwlcmF4Ci0JcmV0Ci0JQ0ZJX0VORFBST0MKLUVORChiYWRfcHV0X3VzZXIpCi0KLS5zZWN0aW9uIF9fZXhfdGFibGUsImEiCi0JLnF1YWQgMWIsYmFkX3B1dF91c2VyCi0JLnF1YWQgMmIsYmFkX3B1dF91c2VyCi0JLnF1YWQgM2IsYmFkX3B1dF91c2VyCi0JLnF1YWQgNGIsYmFkX3B1dF91c2VyCi0ucHJldmlvdXMKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2xpYi90aHVua18zMi5TIGIvYXJjaC94ODYvbGliL3RodW5rXzMyLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjUwYjExZQotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gveDg2L2xpYi90aHVua18zMi5TCkBAIC0wLDAgKzEsNDcgQEAKKy8qCisgKiBUcmFtcG9saW5lIHRvIHRyYWNlIGlycXMgb2ZmLiAob3RoZXJ3aXNlIENBTExFUl9BRERSMSBtaWdodCBjcmFzaCkKKyAqIENvcHlyaWdodCAyMDA4IGJ5IFN0ZXZlbiBSb3N0ZWR0LCBSZWQgSGF0LCBJbmMKKyAqICAoaW5zcGlyZWQgYnkgQW5kaSBLbGVlbidzIHRodW5rXzY0LlMpCisgKiBTdWJqZWN0IHRvIHRoZSBHTlUgcHVibGljIGxpY2Vuc2UsIHYuMi4gTm8gd2FycmFudHkgb2YgYW55IGtpbmQuCisgKi8KKworCSNpbmNsdWRlIDxsaW51eC9saW5rYWdlLmg+CisKKyNkZWZpbmUgQVJDSF9UUkFDRV9JUlFTX09OCQkJXAorCXB1c2hsICVlYXg7CQkJCVwKKwlwdXNobCAlZWN4OwkJCQlcCisJcHVzaGwgJWVkeDsJCQkJXAorCWNhbGwgdHJhY2VfaGFyZGlycXNfb247CQkJXAorCXBvcGwgJWVkeDsJCQkJXAorCXBvcGwgJWVjeDsJCQkJXAorCXBvcGwgJWVheDsKKworI2RlZmluZSBBUkNIX1RSQUNFX0lSUVNfT0ZGCQkJXAorCXB1c2hsICVlYXg7CQkJCVwKKwlwdXNobCAlZWN4OwkJCQlcCisJcHVzaGwgJWVkeDsJCQkJXAorCWNhbGwgdHJhY2VfaGFyZGlycXNfb2ZmOwkJXAorCXBvcGwgJWVkeDsJCQkJXAorCXBvcGwgJWVjeDsJCQkJXAorCXBvcGwgJWVheDsKKworI2lmZGVmIENPTkZJR19UUkFDRV9JUlFGTEFHUworCS8qIHB1dCByZXR1cm4gYWRkcmVzcyBpbiBlYXggKGFyZzEpICovCisJLm1hY3JvIHRodW5rX3JhIG5hbWUsZnVuYworCS5nbG9ibCBcbmFtZQorXG5hbWU6CisJcHVzaGwgJWVheAorCXB1c2hsICVlY3gKKwlwdXNobCAlZWR4CisJLyogUGxhY2UgRUlQIGluIHRoZSBhcmcxICovCisJbW92bCAzKjQoJWVzcCksICVlYXgKKwljYWxsIFxmdW5jCisJcG9wbCAlZWR4CisJcG9wbCAlZWN4CisJcG9wbCAlZWF4CisJcmV0CisJLmVuZG0KKworCXRodW5rX3JhIHRyYWNlX2hhcmRpcnFzX29uX3RodW5rLHRyYWNlX2hhcmRpcnFzX29uX2NhbGxlcgorCXRodW5rX3JhIHRyYWNlX2hhcmRpcnFzX29mZl90aHVuayx0cmFjZV9oYXJkaXJxc19vZmZfY2FsbGVyCisjZW5kaWYKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2xpYi90aHVua182NC5TIGIvYXJjaC94ODYvbGliL3RodW5rXzY0LlMKaW5kZXggZTAwOTI1MS4uYmY5YTdkNSAxMDA2NDQKLS0tIGEvYXJjaC94ODYvbGliL3RodW5rXzY0LlMKKysrIGIvYXJjaC94ODYvbGliL3RodW5rXzY0LlMKQEAgLTIsNiArMiw3IEBACiAgKiBTYXZlIHJlZ2lzdGVycyBiZWZvcmUgY2FsbGluZyBhc3NlbWJseSBmdW5jdGlvbnMuIFRoaXMgYXZvaWRzCiAgKiBkaXN0dXJiYW5jZSBvZiByZWdpc3RlciBhbGxvY2F0aW9uIGluIHNvbWUgaW5saW5lIGFzc2VtYmx5IGNvbnN0cnVjdHMuCiAgKiBDb3B5cmlnaHQgMjAwMSwyMDAyIGJ5IEFuZGkgS2xlZW4sIFN1U0UgTGFicy4KKyAqIEFkZGVkIHRyYWNlX2hhcmRpcnFzIGNhbGxlcnMgLSBDb3B5cmlnaHQgMjAwNyBTdGV2ZW4gUm9zdGVkdCwgUmVkIEhhdCwgSW5jLgogICogU3ViamVjdCB0byB0aGUgR05VIHB1YmxpYyBsaWNlbnNlLCB2LjIuIE5vIHdhcnJhbnR5IG9mIGFueSBraW5kLgogICovCiAKQEAgLTQyLDggKzQzLDIyIEBACiAjZW5kaWYJCiAJCiAjaWZkZWYgQ09ORklHX1RSQUNFX0lSUUZMQUdTCi0JdGh1bmsgdHJhY2VfaGFyZGlycXNfb25fdGh1bmssdHJhY2VfaGFyZGlycXNfb24KLQl0aHVuayB0cmFjZV9oYXJkaXJxc19vZmZfdGh1bmssdHJhY2VfaGFyZGlycXNfb2ZmCisJLyogcHV0IHJldHVybiBhZGRyZXNzIGluIHJkaSAoYXJnMSkgKi8KKwkubWFjcm8gdGh1bmtfcmEgbmFtZSxmdW5jCisJLmdsb2JsIFxuYW1lCitcbmFtZToKKwlDRklfU1RBUlRQUk9DCisJU0FWRV9BUkdTCisJLyogU0FWRV9BUkdTIHB1c2hzIDkgZWxlbWVudHMgKi8KKwkvKiB0aGUgbmV4dCBlbGVtZW50IHdvdWxkIGJlIHRoZSByaXAgKi8KKwltb3ZxIDkqOCglcnNwKSwgJXJkaQorCWNhbGwgXGZ1bmMKKwlqbXAgIHJlc3RvcmUKKwlDRklfRU5EUFJPQworCS5lbmRtCisKKwl0aHVua19yYSB0cmFjZV9oYXJkaXJxc19vbl90aHVuayx0cmFjZV9oYXJkaXJxc19vbl9jYWxsZXIKKwl0aHVua19yYSB0cmFjZV9oYXJkaXJxc19vZmZfdGh1bmssdHJhY2VfaGFyZGlycXNfb2ZmX2NhbGxlcgogI2VuZGlmCiAKICNpZmRlZiBDT05GSUdfREVCVUdfTE9DS19BTExPQwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbGliL3VzZXJjb3B5XzY0LmMgYi9hcmNoL3g4Ni9saWIvdXNlcmNvcHlfNjQuYwppbmRleCAwYzg5ZDFiLi5mNGRmNmU3IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9saWIvdXNlcmNvcHlfNjQuYworKysgYi9hcmNoL3g4Ni9saWIvdXNlcmNvcHlfNjQuYwpAQCAtMTU4LDMgKzE1OCwyNiBAQAogfQogRVhQT1JUX1NZTUJPTChjb3B5X2luX3VzZXIpOwogCisvKgorICogVHJ5IHRvIGNvcHkgbGFzdCBieXRlcyBhbmQgY2xlYXIgdGhlIHJlc3QgaWYgbmVlZGVkLgorICogU2luY2UgcHJvdGVjdGlvbiBmYXVsdCBpbiBjb3B5X2Zyb20vdG9fdXNlciBpcyBub3QgYSBub3JtYWwgc2l0dWF0aW9uLAorICogaXQgaXMgbm90IG5lY2Vzc2FyeSB0byBvcHRpbWl6ZSB0YWlsIGhhbmRsaW5nLgorICovCit1bnNpZ25lZCBsb25nCitjb3B5X3VzZXJfaGFuZGxlX3RhaWwoY2hhciAqdG8sIGNoYXIgKmZyb20sIHVuc2lnbmVkIGxlbiwgdW5zaWduZWQgemVyb3Jlc3QpCit7CisJY2hhciBjOworCXVuc2lnbmVkIHplcm9fbGVuOworCisJZm9yICg7IGxlbjsgLS1sZW4pIHsKKwkJaWYgKF9fZ2V0X3VzZXJfbm9jaGVjayhjLCBmcm9tKyssIHNpemVvZihjaGFyKSkpCisJCQlicmVhazsKKwkJaWYgKF9fcHV0X3VzZXJfbm9jaGVjayhjLCB0bysrLCBzaXplb2YoY2hhcikpKQorCQkJYnJlYWs7CisJfQorCisJZm9yIChjID0gMCwgemVyb19sZW4gPSBsZW47IHplcm9yZXN0ICYmIHplcm9fbGVuOyAtLXplcm9fbGVuKQorCQlpZiAoX19wdXRfdXNlcl9ub2NoZWNrKGMsIHRvKyssIHNpemVvZihjaGFyKSkpCisJCQlicmVhazsKKwlyZXR1cm4gbGVuOworfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbWFjaC1kZWZhdWx0L3NldHVwLmMgYi9hcmNoL3g4Ni9tYWNoLWRlZmF1bHQvc2V0dXAuYwppbmRleCAwYzI4YTA3Li40ODI3OGZhIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9tYWNoLWRlZmF1bHQvc2V0dXAuYworKysgYi9hcmNoL3g4Ni9tYWNoLWRlZmF1bHQvc2V0dXAuYwpAQCAtMTAsNiArMTAsMTQgQEAKICNpbmNsdWRlIDxhc20vZTgyMC5oPgogI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgogCisvKgorICogQW55IHF1aXJrcyB0byBiZSBwZXJmb3JtZWQgdG8gaW5pdGlhbGl6ZSB0aW1lcnMvaXJxcy9ldGM/CisgKi8KK2ludCAoKmFyY2hfdGltZV9pbml0X3F1aXJrKSh2b2lkKTsKK2ludCAoKmFyY2hfcHJlX2ludHJfaW5pdF9xdWlyaykodm9pZCk7CitpbnQgKCphcmNoX2ludHJfaW5pdF9xdWlyaykodm9pZCk7CitpbnQgKCphcmNoX3RyYXBfaW5pdF9xdWlyaykodm9pZCk7CisKICNpZmRlZiBDT05GSUdfSE9UUExVR19DUFUKICNkZWZpbmUgREVGQVVMVF9TRU5EX0lQSQkoMSkKICNlbHNlCkBAIC0yOSw2ICszNywxMCBAQAogICoqLwogdm9pZCBfX2luaXQgcHJlX2ludHJfaW5pdF9ob29rKHZvaWQpCiB7CisJaWYgKGFyY2hfcHJlX2ludHJfaW5pdF9xdWlyaykgeworCQlpZiAoYXJjaF9wcmVfaW50cl9pbml0X3F1aXJrKCkpCisJCQlyZXR1cm47CisJfQogCWluaXRfSVNBX2lycXMoKTsKIH0KIApAQCAtNTIsNiArNjQsMTAgQEAKICAqKi8KIHZvaWQgX19pbml0IGludHJfaW5pdF9ob29rKHZvaWQpCiB7CisJaWYgKGFyY2hfaW50cl9pbml0X3F1aXJrKSB7CisJCWlmIChhcmNoX2ludHJfaW5pdF9xdWlyaygpKQorCQkJcmV0dXJuOworCX0KICNpZmRlZiBDT05GSUdfWDg2X0xPQ0FMX0FQSUMKIAlhcGljX2ludHJfaW5pdCgpOwogI2VuZGlmCkBAIC02NSw3ICs4MSw3IEBACiAgKgogICogRGVzY3JpcHRpb246CiAgKglnZW5lcmFsbHkgdXNlZCB0byBhY3RpdmF0ZSBhbnkgbWFjaGluZSBzcGVjaWZpYyBpZGVudGlmaWNhdGlvbgotICoJcm91dGluZXMgdGhhdCBtYXkgYmUgbmVlZGVkIGJlZm9yZSBzZXR1cF9hcmNoKCkgcnVucy4gIE9uIFZJU1dTCisgKglyb3V0aW5lcyB0aGF0IG1heSBiZSBuZWVkZWQgYmVmb3JlIHNldHVwX2FyY2goKSBydW5zLiAgT24gVm95YWdlcgogICoJdGhpcyBpcyB1c2VkIHRvIGdldCB0aGUgYm9hcmQgcmV2aXNpb24gYW5kIHR5cGUuCiAgKiovCiB2b2lkIF9faW5pdCBwcmVfc2V0dXBfYXJjaF9ob29rKHZvaWQpCkBAIC04MSw2ICs5NywxMCBAQAogICoqLwogdm9pZCBfX2luaXQgdHJhcF9pbml0X2hvb2sodm9pZCkKIHsKKwlpZiAoYXJjaF90cmFwX2luaXRfcXVpcmspIHsKKwkJaWYgKGFyY2hfdHJhcF9pbml0X3F1aXJrKCkpCisJCQlyZXR1cm47CisJfQogfQogCiBzdGF0aWMgc3RydWN0IGlycWFjdGlvbiBpcnEwICA9IHsKQEAgLTk5LDYgKzExOSwxNiBAQAogICoqLwogdm9pZCBfX2luaXQgdGltZV9pbml0X2hvb2sodm9pZCkKIHsKKwlpZiAoYXJjaF90aW1lX2luaXRfcXVpcmspIHsKKwkJLyoKKwkJICogQSBub256ZXJvIHJldHVybiBjb2RlIGRvZXMgbm90IG1lYW4gZmFpbHVyZSwgaXQgbWVhbnMKKwkJICogdGhhdCB0aGUgYXJjaGl0ZWN0dXJlIHF1aXJrIGRvZXMgbm90IHdhbnQgYW55CisJCSAqIGdlbmVyaWMgKHRpbWVyKSBzZXR1cCB0byBiZSBwZXJmb3JtZWQgYWZ0ZXIgdGhpczoKKwkJICovCisJCWlmIChhcmNoX3RpbWVfaW5pdF9xdWlyaygpKQorCQkJcmV0dXJuOworCX0KKwogCWlycTAubWFzayA9IGNwdW1hc2tfb2ZfY3B1KDApOwogCXNldHVwX2lycSgwLCAmaXJxMCk7CiB9CkBAIC0xNDIsNDUgKzE3MiwzIEBACiAKIGxhdGVfaW5pdGNhbGwocHJpbnRfaXBpX21vZGUpOwogCi0vKioKLSAqIG1hY2hpbmVfc3BlY2lmaWNfbWVtb3J5X3NldHVwIC0gSG9vayBmb3IgbWFjaGluZSBzcGVjaWZpYyBtZW1vcnkgc2V0dXAuCi0gKgotICogRGVzY3JpcHRpb246Ci0gKglUaGlzIGlzIGluY2x1ZGVkIGxhdGUgaW4ga2VybmVsL3NldHVwLmMgc28gdGhhdCBpdCBjYW4gbWFrZQotICoJdXNlIG9mIGFsbCBvZiB0aGUgc3RhdGljIGZ1bmN0aW9ucy4KLSAqKi8KLQotY2hhciAqIF9faW5pdCBtYWNoaW5lX3NwZWNpZmljX21lbW9yeV9zZXR1cCh2b2lkKQotewotCWNoYXIgKndobzsKLQotCi0Jd2hvID0gIkJJT1MtZTgyMCI7Ci0KLQkvKgotCSAqIFRyeSB0byBjb3B5IHRoZSBCSU9TLXN1cHBsaWVkIEU4MjAtbWFwLgotCSAqCi0JICogT3RoZXJ3aXNlIGZha2UgYSBtZW1vcnkgbWFwOyBvbmUgc2VjdGlvbiBmcm9tIDBrLT42NDBrLAotCSAqIHRoZSBuZXh0IHNlY3Rpb24gZnJvbSAxbWItPmFwcHJvcHJpYXRlX21lbV9rCi0JICovCi0Jc2FuaXRpemVfZTgyMF9tYXAoYm9vdF9wYXJhbXMuZTgyMF9tYXAsICZib290X3BhcmFtcy5lODIwX2VudHJpZXMpOwotCWlmIChjb3B5X2U4MjBfbWFwKGJvb3RfcGFyYW1zLmU4MjBfbWFwLCBib290X3BhcmFtcy5lODIwX2VudHJpZXMpCi0JICAgIDwgMCkgewotCQl1bnNpZ25lZCBsb25nIG1lbV9zaXplOwotCi0JCS8qIGNvbXBhcmUgcmVzdWx0cyBmcm9tIG90aGVyIG1ldGhvZHMgYW5kIHRha2UgdGhlIGdyZWF0ZXIgKi8KLQkJaWYgKGJvb3RfcGFyYW1zLmFsdF9tZW1fawotCQkgICAgPCBib290X3BhcmFtcy5zY3JlZW5faW5mby5leHRfbWVtX2spIHsKLQkJCW1lbV9zaXplID0gYm9vdF9wYXJhbXMuc2NyZWVuX2luZm8uZXh0X21lbV9rOwotCQkJd2hvID0gIkJJT1MtODgiOwotCQl9IGVsc2UgewotCQkJbWVtX3NpemUgPSBib290X3BhcmFtcy5hbHRfbWVtX2s7Ci0JCQl3aG8gPSAiQklPUy1lODAxIjsKLQkJfQotCi0JCWU4MjAubnJfbWFwID0gMDsKLQkJYWRkX21lbW9yeV9yZWdpb24oMCwgTE9XTUVNU0laRSgpLCBFODIwX1JBTSk7Ci0JCWFkZF9tZW1vcnlfcmVnaW9uKEhJR0hfTUVNT1JZLCBtZW1fc2l6ZSA8PCAxMCwgRTgyMF9SQU0pOwotICAJfQotCXJldHVybiB3aG87Ci19CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tYWNoLWVzNzAwMC9NYWtlZmlsZSBiL2FyY2gveDg2L21hY2gtZXM3MDAwL01ha2VmaWxlCmluZGV4IDY5ZGQ0ZGEuLjNlZjhiNDMgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L21hY2gtZXM3MDAwL01ha2VmaWxlCisrKyBiL2FyY2gveDg2L21hY2gtZXM3MDAwL01ha2VmaWxlCkBAIC0zLDQgKzMsMyBAQAogIwogCiBvYmotJChDT05GSUdfWDg2X0VTNzAwMCkJOj0gZXM3MDAwcGxhdC5vCi1vYmotJChDT05GSUdfWDg2X0dFTkVSSUNBUkNIKQk6PSBlczcwMDBwbGF0Lm8KZGlmZiAtLWdpdCBhL2FyY2gveDg2L21hY2gtZXM3MDAwL2VzNzAwMHBsYXQuYyBiL2FyY2gveDg2L21hY2gtZXM3MDAwL2VzNzAwMHBsYXQuYwppbmRleCBmNWQ2ZjdkLi40MzU0Y2U4IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9tYWNoLWVzNzAwMC9lczcwMDBwbGF0LmMKKysrIGIvYXJjaC94ODYvbWFjaC1lczcwMDAvZXM3MDAwcGxhdC5jCkBAIC01Miw2ICs1Miw4IEBACiBzdGF0aWMgaW50IAkJCW1pcF9wb3J0Owogc3RhdGljIHVuc2lnbmVkIGxvbmcJCW1pcF9hZGRyLCBob3N0X2FkZHI7CiAKK2ludCBlczcwMDBfcGxhdDsKKwogLyoKICAqIEdTSSBvdmVycmlkZSBmb3IgRVM3MDAwIHBsYXRmb3Jtcy4KICAqLwpAQCAtMTc1LDUzICsxNzcsNiBAQAogfQogI2VuZGlmCiAKLS8qCi0gKiBUaGlzIGZpbGUgYWxzbyBnZXRzIGNvbXBpbGVkIGlmIENPTkZJR19YODZfR0VORVJJQ0FSQ0ggaXMgc2V0LiBHZW5lcmljCi0gKiBhcmNoIGFscmVhZHkgaGFzIGdvdCBmb2xsb3dpbmcgZnVuY3Rpb24gZGVmaW5pdGlvbnMgKGFzbS1nZW5lcmljL2VzNzAwMC5jKQotICogaGVuY2Ugbm8gbmVlZCB0byBkZWZpbmUgdGhlc2UgZm9yIHRoYXQgY2FzZS4KLSAqLwotI2lmbmRlZiBDT05GSUdfWDg2X0dFTkVSSUNBUkNICi12b2lkIGVzNzAwMF9zd19hcGljKHZvaWQpOwotdm9pZCBfX2luaXQgZW5hYmxlX2FwaWNfbW9kZSh2b2lkKQotewotCWVzNzAwMF9zd19hcGljKCk7Ci0JcmV0dXJuOwotfQotCi1fX2luaXQgaW50IG1wc19vZW1fY2hlY2soc3RydWN0IG1wX2NvbmZpZ190YWJsZSAqbXBjLCBjaGFyICpvZW0sCi0JCWNoYXIgKnByb2R1Y3RpZCkKLXsKLQlpZiAobXBjLT5tcGNfb2VtcHRyKSB7Ci0JCXN0cnVjdCBtcF9jb25maWdfb2VtdGFibGUgKm9lbV90YWJsZSA9Ci0JCQkoc3RydWN0IG1wX2NvbmZpZ19vZW10YWJsZSAqKW1wYy0+bXBjX29lbXB0cjsKLQkJaWYgKCFzdHJuY21wKG9lbSwgIlVOSVNZUyIsIDYpKQotCQkJcmV0dXJuIHBhcnNlX3VuaXN5c19vZW0oKGNoYXIgKilvZW1fdGFibGUpOwotCX0KLQlyZXR1cm4gMDsKLX0KLSNpZmRlZiBDT05GSUdfQUNQSQotLyogSG9vayBmcm9tIGdlbmVyaWMgQUNQSSB0YWJsZXMuYyAqLwotaW50IF9faW5pdCBhY3BpX21hZHRfb2VtX2NoZWNrKGNoYXIgKm9lbV9pZCwgY2hhciAqb2VtX3RhYmxlX2lkKQotewotCXVuc2lnbmVkIGxvbmcgb2VtX2FkZHI7Ci0JaWYgKCFmaW5kX3VuaXN5c19hY3BpX29lbV90YWJsZSgmb2VtX2FkZHIpKSB7Ci0JCWlmIChlczcwMDBfY2hlY2tfZHNkdCgpKQotCQkJcmV0dXJuIHBhcnNlX3VuaXN5c19vZW0oKGNoYXIgKilvZW1fYWRkcik7Ci0JCWVsc2UgewotCQkJc2V0dXBfdW5pc3lzKCk7Ci0JCQlyZXR1cm4gMTsKLQkJfQotCX0KLQlyZXR1cm4gMDsKLX0KLSNlbHNlCi1pbnQgX19pbml0IGFjcGlfbWFkdF9vZW1fY2hlY2soY2hhciAqb2VtX2lkLCBjaGFyICpvZW1fdGFibGVfaWQpCi17Ci0JcmV0dXJuIDA7Ci19Ci0jZW5kaWYKLSNlbmRpZiAvKiBDT0ZJR19YODZfR0VORVJJQ0FSQ0ggKi8KLQogc3RhdGljIHZvaWQKIGVzNzAwMF9zcGluKGludCBuKQogewpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbWFjaC1nZW5lcmljL01ha2VmaWxlIGIvYXJjaC94ODYvbWFjaC1nZW5lcmljL01ha2VmaWxlCmluZGV4IDE5ZDZkNDAuLjBkYmQ3ODAgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L21hY2gtZ2VuZXJpYy9NYWtlZmlsZQorKysgYi9hcmNoL3g4Ni9tYWNoLWdlbmVyaWMvTWFrZWZpbGUKQEAgLTIsNyArMiwxMSBAQAogIyBNYWtlZmlsZSBmb3IgdGhlIGdlbmVyaWMgYXJjaGl0ZWN0dXJlCiAjCiAKLUVYVFJBX0NGTEFHUwk6PSAtSWFyY2gveDg2L2tlcm5lbAorRVhUUkFfQ0ZMQUdTCQkJOj0gLUlhcmNoL3g4Ni9rZXJuZWwKIAotb2JqLXkJCTo9IHByb2JlLm8gc3VtbWl0Lm8gYmlnc21wLm8gZXM3MDAwLm8gZGVmYXVsdC5vIAotb2JqLXkJCSs9IC4uLy4uL3g4Ni9tYWNoLWVzNzAwMC8KK29iai15CQkJCTo9IHByb2JlLm8gZGVmYXVsdC5vCitvYmotJChDT05GSUdfWDg2X05VTUFRKQkJKz0gbnVtYXEubworb2JqLSQoQ09ORklHX1g4Nl9TVU1NSVQpCSs9IHN1bW1pdC5vCitvYmotJChDT05GSUdfWDg2X0JJR1NNUCkJKz0gYmlnc21wLm8KK29iai0kKENPTkZJR19YODZfRVM3MDAwKQkrPSBlczcwMDAubworb2JqLSQoQ09ORklHX1g4Nl9FUzcwMDApCSs9IC4uLy4uL3g4Ni9tYWNoLWVzNzAwMC8KZGlmZiAtLWdpdCBhL2FyY2gveDg2L21hY2gtZ2VuZXJpYy9iaWdzbXAuYyBiL2FyY2gveDg2L21hY2gtZ2VuZXJpYy9iaWdzbXAuYwppbmRleCA5NWZjNDYzLi41OWQ3NzE3IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9tYWNoLWdlbmVyaWMvYmlnc21wLmMKKysrIGIvYXJjaC94ODYvbWFjaC1nZW5lcmljL2JpZ3NtcC5jCkBAIC0yMywxMCArMjMsOCBAQAogCiBzdGF0aWMgaW50IGhwX2h0X2JpZ3NtcChjb25zdCBzdHJ1Y3QgZG1pX3N5c3RlbV9pZCAqZCkKIHsKLSNpZmRlZiBDT05GSUdfWDg2X0dFTkVSSUNBUkNICiAJcHJpbnRrKEtFUk5fTk9USUNFICIlcyBkZXRlY3RlZDogZm9yY2UgdXNlIG9mIGFwaWM9Ymlnc21wXG4iLCBkLT5pZGVudCk7CiAJZG1pX2JpZ3NtcCA9IDE7Ci0jZW5kaWYKIAlyZXR1cm4gMDsKIH0KIApAQCAtNDgsNyArNDYsNyBAQAogc3RhdGljIGludCBwcm9iZV9iaWdzbXAodm9pZCkKIHsKIAlpZiAoZGVmX3RvX2JpZ3NtcCkKLQlkbWlfYmlnc21wID0gMTsKKwkJZG1pX2JpZ3NtcCA9IDE7CiAJZWxzZQogCQlkbWlfY2hlY2tfc3lzdGVtKGJpZ3NtcF9kbWlfdGFibGUpOwogCXJldHVybiBkbWlfYmlnc21wOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbWFjaC1nZW5lcmljL251bWFxLmMgYi9hcmNoL3g4Ni9tYWNoLWdlbmVyaWMvbnVtYXEuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MDkxZTY4Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaC94ODYvbWFjaC1nZW5lcmljL251bWFxLmMKQEAgLTAsMCArMSw0MSBAQAorLyoKKyAqIEFQSUMgZHJpdmVyIGZvciB0aGUgSUJNIE5VTUFRIGNoaXBzZXQuCisgKi8KKyNkZWZpbmUgQVBJQ19ERUZJTklUSU9OIDEKKyNpbmNsdWRlIDxsaW51eC90aHJlYWRzLmg+CisjaW5jbHVkZSA8bGludXgvY3B1bWFzay5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcC5oPgorI2luY2x1ZGUgPGFzbS9tcHNwZWMuaD4KKyNpbmNsdWRlIDxhc20vZ2VuYXBpYy5oPgorI2luY2x1ZGUgPGFzbS9maXhtYXAuaD4KKyNpbmNsdWRlIDxhc20vYXBpY2RlZi5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC1udW1hcS9tYWNoX2FwaWMuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC1udW1hcS9tYWNoX2FwaWNkZWYuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC1udW1hcS9tYWNoX2lwaS5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLW51bWFxL21hY2hfbXBwYXJzZS5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLW51bWFxL21hY2hfd2FrZWNwdS5oPgorI2luY2x1ZGUgPGFzbS9udW1hcS5oPgorCitzdGF0aWMgaW50IG1wc19vZW1fY2hlY2soc3RydWN0IG1wX2NvbmZpZ190YWJsZSAqbXBjLCBjaGFyICpvZW0sCisJCWNoYXIgKnByb2R1Y3RpZCkKK3sKKwludW1hcV9tcHNfb2VtX2NoZWNrKG1wYywgb2VtLCBwcm9kdWN0aWQpOworCXJldHVybiBmb3VuZF9udW1hcTsKK30KKworc3RhdGljIGludCBwcm9iZV9udW1hcSh2b2lkKQoreworCS8qIGFscmVhZHkga25vdyBmcm9tIGdldF9tZW1jZmdfbnVtYXEoKSAqLworCXJldHVybiBmb3VuZF9udW1hcTsKK30KKworLyogSG9vayBmcm9tIGdlbmVyaWMgQUNQSSB0YWJsZXMuYyAqLworc3RhdGljIGludCBhY3BpX21hZHRfb2VtX2NoZWNrKGNoYXIgKm9lbV9pZCwgY2hhciAqb2VtX3RhYmxlX2lkKQoreworCXJldHVybiAwOworfQorCitzdHJ1Y3QgZ2VuYXBpYyBhcGljX251bWFxID0gQVBJQ19JTklUKCJOVU1BUSIsIHByb2JlX251bWFxKTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L21hY2gtZ2VuZXJpYy9wcm9iZS5jIGIvYXJjaC94ODYvbWFjaC1nZW5lcmljL3Byb2JlLmMKaW5kZXggYzVhZTc1MS4uNWE3ZTQ2MSAxMDA2NDQKLS0tIGEvYXJjaC94ODYvbWFjaC1nZW5lcmljL3Byb2JlLmMKKysrIGIvYXJjaC94ODYvbWFjaC1nZW5lcmljL3Byb2JlLmMKQEAgLTE2LDYgKzE2LDcgQEAKICNpbmNsdWRlIDxhc20vYXBpY2RlZi5oPgogI2luY2x1ZGUgPGFzbS9nZW5hcGljLmg+CiAKK2V4dGVybiBzdHJ1Y3QgZ2VuYXBpYyBhcGljX251bWFxOwogZXh0ZXJuIHN0cnVjdCBnZW5hcGljIGFwaWNfc3VtbWl0OwogZXh0ZXJuIHN0cnVjdCBnZW5hcGljIGFwaWNfYmlnc21wOwogZXh0ZXJuIHN0cnVjdCBnZW5hcGljIGFwaWNfZXM3MDAwOwpAQCAtMjQsOSArMjUsMTggQEAKIHN0cnVjdCBnZW5hcGljICpnZW5hcGljID0gJmFwaWNfZGVmYXVsdDsKIAogc3RhdGljIHN0cnVjdCBnZW5hcGljICphcGljX3Byb2JlW10gX19pbml0ZGF0YSA9IHsKKyNpZmRlZiBDT05GSUdfWDg2X05VTUFRCisJJmFwaWNfbnVtYXEsCisjZW5kaWYKKyNpZmRlZiBDT05GSUdfWDg2X1NVTU1JVAogCSZhcGljX3N1bW1pdCwKKyNlbmRpZgorI2lmZGVmIENPTkZJR19YODZfQklHU01QCiAJJmFwaWNfYmlnc21wLAorI2VuZGlmCisjaWZkZWYgQ09ORklHX1g4Nl9FUzcwMDAKIAkmYXBpY19lczcwMDAsCisjZW5kaWYKIAkmYXBpY19kZWZhdWx0LAkvKiBtdXN0IGJlIGxhc3QgKi8KIAlOVUxMLAogfTsKQEAgLTU0LDYgKzY0LDcgQEAKIAogdm9pZCBfX2luaXQgZ2VuZXJpY19iaWdzbXBfcHJvYmUodm9pZCkKIHsKKyNpZmRlZiBDT05GSUdfWDg2X0JJR1NNUAogCS8qCiAJICogVGhpcyByb3V0aW5lIGlzIHVzZWQgdG8gc3dpdGNoIHRvIGJpZ3NtcCBtb2RlIHdoZW4KIAkgKiAtIFRoZXJlIGlzIG5vIGFwaWM9IG9wdGlvbiBzcGVjaWZpZWQgYnkgdGhlIHVzZXIKQEAgLTY3LDYgKzc4LDcgQEAKIAkJCXByaW50ayhLRVJOX0lORk8gIk92ZXJyaWRpbmcgQVBJQyBkcml2ZXIgd2l0aCAlc1xuIiwKIAkJCSAgICAgICBnZW5hcGljLT5uYW1lKTsKIAkJfQorI2VuZGlmCiB9CiAKIHZvaWQgX19pbml0IGdlbmVyaWNfYXBpY19wcm9iZSh2b2lkKQpAQCAtODgsNyArMTAwLDggQEAKIAogLyogVGhlc2UgZnVuY3Rpb25zIGNhbiBzd2l0Y2ggdGhlIEFQSUMgZXZlbiBhZnRlciB0aGUgaW5pdGlhbCAtPnByb2JlKCkgKi8KIAotaW50IF9faW5pdCBtcHNfb2VtX2NoZWNrKHN0cnVjdCBtcF9jb25maWdfdGFibGUgKm1wYywgY2hhciAqb2VtLCBjaGFyICpwcm9kdWN0aWQpCitpbnQgX19pbml0IG1wc19vZW1fY2hlY2soc3RydWN0IG1wX2NvbmZpZ190YWJsZSAqbXBjLCBjaGFyICpvZW0sCisJCQkJIGNoYXIgKnByb2R1Y3RpZCkKIHsKIAlpbnQgaTsKIAlmb3IgKGkgPSAwOyBhcGljX3Byb2JlW2ldOyArK2kpIHsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L21hY2gtdmlzd3MvTWFrZWZpbGUgYi9hcmNoL3g4Ni9tYWNoLXZpc3dzL01ha2VmaWxlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MzVmZDk2Li4wMDAwMDAwCi0tLSBhL2FyY2gveDg2L21hY2gtdmlzd3MvTWFrZWZpbGUKKysrIC9kZXYvbnVsbApAQCAtMSw4ICswLDAgQEAKLSMKLSMgTWFrZWZpbGUgZm9yIHRoZSBsaW51eCBrZXJuZWwuCi0jCi0KLW9iai15CQkJCTo9IHNldHVwLm8gdHJhcHMubyByZWJvb3QubwotCi1vYmotJChDT05GSUdfWDg2X1ZJU1dTX0FQSUMpCSs9IHZpc3dzX2FwaWMubwotb2JqLSQoQ09ORklHX1g4Nl9MT0NBTF9BUElDKQkrPSBtcHBhcnNlLm8KZGlmZiAtLWdpdCBhL2FyY2gveDg2L21hY2gtdmlzd3MvbXBwYXJzZS5jIGIvYXJjaC94ODYvbWFjaC12aXN3cy9tcHBhcnNlLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU3NDg0ZTkuLjAwMDAwMDAKLS0tIGEvYXJjaC94ODYvbWFjaC12aXN3cy9tcHBhcnNlLmMKKysrIC9kZXYvbnVsbApAQCAtMSw4OCArMCwwIEBACi0KLSNpbmNsdWRlIDxsaW51eC9pbml0Lmg+Ci0jaW5jbHVkZSA8bGludXgvc21wLmg+Ci0KLSNpbmNsdWRlIDxhc20vc21wLmg+Ci0jaW5jbHVkZSA8YXNtL2lvLmg+Ci0KLSNpbmNsdWRlICJjb2JhbHQuaCIKLSNpbmNsdWRlICJtYWNoX2FwaWMuaCIKLQotLyogSGF2ZSB3ZSBmb3VuZCBhbiBNUCB0YWJsZSAqLwotaW50IHNtcF9mb3VuZF9jb25maWc7Ci0KLWludCBwaWNfbW9kZTsKLQotZXh0ZXJuIHVuc2lnbmVkIGludCBfX2NwdWluaXRkYXRhIG1heGNwdXM7Ci0KLS8qCi0gKiBUaGUgVmlzdWFsIFdvcmtzdGF0aW9uIGlzIEludGVsIE1QIGNvbXBsaWFudCBpbiB0aGUgaGFyZHdhcmUKLSAqIHNlbnNlLCBidXQgaXQgZG9lc24ndCBoYXZlIGEgQklPUygtY29uZmlndXJhdGlvbiB0YWJsZSkuCi0gKiBObyBwcm9ibGVtIGZvciBMaW51eC4KLSAqLwotCi1zdGF0aWMgdm9pZCBfX2luaXQgTVBfcHJvY2Vzc29yX2luZm8gKHN0cnVjdCBtcGNfY29uZmlnX3Byb2Nlc3NvciAqbSkKLXsKLQlpbnQgdmVyLCBsb2dpY2FsX2FwaWNpZDsKLQlwaHlzaWRfbWFza190IGFwaWNfY3B1czsKLQotCWlmICghKG0tPm1wY19jcHVmbGFnICYgQ1BVX0VOQUJMRUQpKQotCQlyZXR1cm47Ci0KLQlsb2dpY2FsX2FwaWNpZCA9IG0tPm1wY19hcGljaWQ7Ci0JcHJpbnRrKEtFUk5fSU5GTyAiJXNDUFUgIyVkICV1OiV1IEFQSUMgdmVyc2lvbiAlZFxuIiwKLQkgICAgICAgbS0+bXBjX2NwdWZsYWcgJiBDUFVfQk9PVFBST0NFU1NPUiA/ICJCb290dXAgIiA6ICIiLAotCSAgICAgICBtLT5tcGNfYXBpY2lkLAotCSAgICAgICAobS0+bXBjX2NwdWZlYXR1cmUgJiBDUFVfRkFNSUxZX01BU0spID4+IDgsCi0JICAgICAgIChtLT5tcGNfY3B1ZmVhdHVyZSAmIENQVV9NT0RFTF9NQVNLKSA+PiA0LAotCSAgICAgICBtLT5tcGNfYXBpY3Zlcik7Ci0KLQlpZiAobS0+bXBjX2NwdWZsYWcgJiBDUFVfQk9PVFBST0NFU1NPUikKLQkJYm9vdF9jcHVfcGh5c2ljYWxfYXBpY2lkID0gbS0+bXBjX2FwaWNpZDsKLQotCXZlciA9IG0tPm1wY19hcGljdmVyOwotCWlmICgodmVyID49IDB4MTQgJiYgbS0+bXBjX2FwaWNpZCA+PSAweGZmKSB8fCBtLT5tcGNfYXBpY2lkID49IDB4ZikgewotCQlwcmludGsoS0VSTl9FUlIgIlByb2Nlc3NvciAjJWQgSU5WQUxJRC4gKE1heCBJRDogJWQpLlxuIiwKLQkJCW0tPm1wY19hcGljaWQsIE1BWF9BUElDUyk7Ci0JCXJldHVybjsKLQl9Ci0KLQlhcGljX2NwdXMgPSBhcGljaWRfdG9fY3B1X3ByZXNlbnQobS0+bXBjX2FwaWNpZCk7Ci0JcGh5c2lkc19vcihwaHlzX2NwdV9wcmVzZW50X21hcCwgcGh5c19jcHVfcHJlc2VudF9tYXAsIGFwaWNfY3B1cyk7Ci0JLyoKLQkgKiBWYWxpZGF0ZSB2ZXJzaW9uCi0JICovCi0JaWYgKHZlciA9PSAweDApIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJCSU9TIGJ1ZywgQVBJQyB2ZXJzaW9uIGlzIDAgZm9yIENQVSMlZCEgIgotCQkJImZpeGluZyB1cCB0byAweDEwLiAodGVsbCB5b3VyIGh3IHZlbmRvcilcbiIsCi0JCQltLT5tcGNfYXBpY2lkKTsKLQkJdmVyID0gMHgxMDsKLQl9Ci0JYXBpY192ZXJzaW9uW20tPm1wY19hcGljaWRdID0gdmVyOwotfQotCi12b2lkIF9faW5pdCBmaW5kX3NtcF9jb25maWcodm9pZCkKLXsKLQlzdHJ1Y3QgbXBjX2NvbmZpZ19wcm9jZXNzb3IgKm1wID0gcGh5c190b192aXJ0KENPX0NQVV9UQUJfUEhZUyk7Ci0JdW5zaWduZWQgc2hvcnQgbmNwdXMgPSByZWFkdyhwaHlzX3RvX3ZpcnQoQ09fQ1BVX05VTV9QSFlTKSk7Ci0KLQlpZiAobmNwdXMgPiBDT19DUFVfTUFYKSB7Ci0JCXByaW50ayhLRVJOX1dBUk5JTkcgImZpbmRfdmlzd3Nfc21wOiBnb3QgY3B1IGNvdW50IG9mICVkIGF0ICVwXG4iLAotCQkJbmNwdXMsIG1wKTsKLQotCQluY3B1cyA9IENPX0NQVV9NQVg7Ci0JfQotCi0JaWYgKG5jcHVzID4gbWF4Y3B1cykKLQkJbmNwdXMgPSBtYXhjcHVzOwotCi0Jc21wX2ZvdW5kX2NvbmZpZyA9IDE7Ci0Jd2hpbGUgKG5jcHVzLS0pCi0JCU1QX3Byb2Nlc3Nvcl9pbmZvKG1wKyspOwotCi0JbXBfbGFwaWNfYWRkciA9IEFQSUNfREVGQVVMVF9QSFlTX0JBU0U7Ci19Ci0KLXZvaWQgX19pbml0IGdldF9zbXBfY29uZmlnICh2b2lkKQotewotfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbWFjaC12aXN3cy9yZWJvb3QuYyBiL2FyY2gveDg2L21hY2gtdmlzd3MvcmVib290LmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk5MzMyYWIuLjAwMDAwMDAKLS0tIGEvYXJjaC94ODYvbWFjaC12aXN3cy9yZWJvb3QuYworKysgL2Rldi9udWxsCkBAIC0xLDU1ICswLDAgQEAKLSNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KLSNpbmNsdWRlIDxsaW51eC9zbXAuaD4KLSNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgotCi0jaW5jbHVkZSA8YXNtL2lvLmg+Ci0jaW5jbHVkZSAicGlpeDQuaCIKLQotdm9pZCAoKnBtX3Bvd2VyX29mZikodm9pZCk7Ci1FWFBPUlRfU1lNQk9MKHBtX3Bvd2VyX29mZik7Ci0KLXZvaWQgbWFjaGluZV9zaHV0ZG93bih2b2lkKQotewotI2lmZGVmIENPTkZJR19TTVAKLQlzbXBfc2VuZF9zdG9wKCk7Ci0jZW5kaWYKLX0KLQotdm9pZCBtYWNoaW5lX2VtZXJnZW5jeV9yZXN0YXJ0KHZvaWQpCi17Ci0JLyoKLQkgKiBWaXN1YWwgV29ya3N0YXRpb25zIHJlc3RhcnQgYWZ0ZXIgdGhpcwotCSAqIHJlZ2lzdGVyIGlzIHBva2VkIG9uIHRoZSBQSUlYNAotCSAqLwotCW91dGIoUElJWDRfUkVTRVRfVkFMLCBQSUlYNF9SRVNFVF9QT1JUKTsKLX0KLQotdm9pZCBtYWNoaW5lX3Jlc3RhcnQoY2hhciAqIF9fdW51c2VkKQotewotCW1hY2hpbmVfc2h1dGRvd24oKTsKLQltYWNoaW5lX2VtZXJnZW5jeV9yZXN0YXJ0KCk7Ci19Ci0KLXZvaWQgbWFjaGluZV9wb3dlcl9vZmYodm9pZCkKLXsKLQl1bnNpZ25lZCBzaG9ydCBwbV9zdGF0dXM7Ci0JZXh0ZXJuIHVuc2lnbmVkIGludCBwY2lfYnVzMDsKLQotCXdoaWxlICgocG1fc3RhdHVzID0gaW53KFBNU1RTX1BPUlQpKSAmIDB4MTAwKQotCQlvdXR3KHBtX3N0YXR1cywgUE1TVFNfUE9SVCk7Ci0KLQlvdXR3KFBNX1NVU1BFTkRfRU5BQkxFLCBQTUNOVFJMX1BPUlQpOwotCi0JbWRlbGF5KDEwKTsKLQotI2RlZmluZSBQQ0lfQ09ORjFfQUREUkVTUyhidXMsIGRldmZuLCByZWcpIFwKLQkoMHg4MDAwMDAwMCB8IChidXMgPDwgMTYpIHwgKGRldmZuIDw8IDgpIHwgKHJlZyAmIH4zKSkKLQotCW91dGwoUENJX0NPTkYxX0FERFJFU1MocGNpX2J1czAsIFNQRUNJQUxfREVWLCBTUEVDSUFMX1JFRyksIDB4Q0Y4KTsKLQlvdXRsKFBJSVhfU1BFQ0lBTF9TVE9QLCAweENGQyk7Ci19Ci0KLXZvaWQgbWFjaGluZV9oYWx0KHZvaWQpCi17Ci19Ci0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L21hY2gtdmlzd3Mvc2V0dXAuYyBiL2FyY2gveDg2L21hY2gtdmlzd3Mvc2V0dXAuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGU0YzlkYi4uMDAwMDAwMAotLS0gYS9hcmNoL3g4Ni9tYWNoLXZpc3dzL3NldHVwLmMKKysrIC9kZXYvbnVsbApAQCAtMSwxODMgKzAsMCBAQAotLyoKLSAqICBVbm1haW50YWluZWQgU0dJIFZpc3VhbCBXb3Jrc3RhdGlvbiBzdXBwb3J0LgotICogIFNwbGl0IG91dCBmcm9tIHNldHVwLmMgYnkgZGF2ZWpAc3VzZS5kZQotICovCi0KLSNpbmNsdWRlIDxsaW51eC9zbXAuaD4KLSNpbmNsdWRlIDxsaW51eC9pbml0Lmg+Ci0jaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+Ci0jaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+Ci0KLSNpbmNsdWRlIDxhc20vZml4bWFwLmg+Ci0jaW5jbHVkZSA8YXNtL2FyY2hfaG9va3MuaD4KLSNpbmNsdWRlIDxhc20vaW8uaD4KLSNpbmNsdWRlIDxhc20vZTgyMC5oPgotI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgotI2luY2x1ZGUgImNvYmFsdC5oIgotI2luY2x1ZGUgInBpaXg0LmgiCi0KLWludCBub19icm9hZGNhc3Q7Ci0KLWNoYXIgdmlzd3NfYm9hcmRfdHlwZSA9IC0xOwotY2hhciB2aXN3c19ib2FyZF9yZXYgPSAtMTsKLQotdm9pZCBfX2luaXQgdmlzd3NfZ2V0X2JvYXJkX3R5cGVfYW5kX3Jldih2b2lkKQotewotCWludCByYXc7Ci0KLQl2aXN3c19ib2FyZF90eXBlID0gKGNoYXIpKGluYl9wKFBJSVhfR1BJX0JEX1JFRykgJiBQSUlYX0dQSV9CRF9SRUcpCi0JCQkJCQkJID4+IFBJSVhfR1BJX0JEX1NISUZUOwotCS8qCi0JICogR2V0IEJvYXJkIHJldi4KLQkgKiBGaXJzdCwgd2UgaGF2ZSB0byBpbml0aWFsaXplIHRoZSAzMDcgcGFydCB0byBhbGxvdyB1cyBhY2Nlc3MKLQkgKiB0byB0aGUgR1BJTyByZWdpc3RlcnMuICBMZXQncyBtYXAgdGhlbSBhdCAweDBmYzAgd2hpY2ggaXMgcmlnaHQKLQkgKiBhZnRlciB0aGUgUElJWDQgUE0gc2VjdGlvbi4KLQkgKi8KLQlvdXRiX3AoU0lPX0RFVl9TRUwsIFNJT19JTkRFWCk7Ci0Jb3V0Yl9wKFNJT19HUF9ERVYsIFNJT19EQVRBKTsJLyogVGFsayB0byBHUElPIHJlZ3MuICovCi0KLQlvdXRiX3AoU0lPX0RFVl9NU0IsIFNJT19JTkRFWCk7Ci0Jb3V0Yl9wKFNJT19HUF9NU0IsIFNJT19EQVRBKTsJLyogTVNCIG9mIEdQSU8gYmFzZSBhZGRyZXNzICovCi0KLQlvdXRiX3AoU0lPX0RFVl9MU0IsIFNJT19JTkRFWCk7Ci0Jb3V0Yl9wKFNJT19HUF9MU0IsIFNJT19EQVRBKTsJLyogTFNCIG9mIEdQSU8gYmFzZSBhZGRyZXNzICovCi0KLQlvdXRiX3AoU0lPX0RFVl9FTkIsIFNJT19JTkRFWCk7Ci0Jb3V0Yl9wKDEsIFNJT19EQVRBKTsJCS8qIEVuYWJsZSBHUElPIHJlZ2lzdGVycy4gKi8KLQotCS8qCi0JICogTm93LCB3ZSBoYXZlIHRvIG1hcCB0aGUgcG93ZXIgbWFuYWdlbWVudCBzZWN0aW9uIHRvIHdyaXRlCi0JICogYSBiaXQgd2hpY2ggZW5hYmxlcyBhY2Nlc3MgdG8gdGhlIEdQSU8gcmVnaXN0ZXJzLgotCSAqIFdoYXQgbHVuYXRpYyBjYW1lIHVwIHdpdGggdGhpcyBzaGl0PwotCSAqLwotCW91dGJfcChTSU9fREVWX1NFTCwgU0lPX0lOREVYKTsKLQlvdXRiX3AoU0lPX1BNX0RFViwgU0lPX0RBVEEpOwkvKiBUYWxrIHRvIEdQSU8gcmVncy4gKi8KLQotCW91dGJfcChTSU9fREVWX01TQiwgU0lPX0lOREVYKTsKLQlvdXRiX3AoU0lPX1BNX01TQiwgU0lPX0RBVEEpOwkvKiBNU0Igb2YgUE0gYmFzZSBhZGRyZXNzICovCi0KLQlvdXRiX3AoU0lPX0RFVl9MU0IsIFNJT19JTkRFWCk7Ci0Jb3V0Yl9wKFNJT19QTV9MU0IsIFNJT19EQVRBKTsJLyogTFNCIG9mIFBNIGJhc2UgYWRkcmVzcyAqLwotCi0Jb3V0Yl9wKFNJT19ERVZfRU5CLCBTSU9fSU5ERVgpOwotCW91dGJfcCgxLCBTSU9fREFUQSk7CQkvKiBFbmFibGUgUE0gcmVnaXN0ZXJzLiAqLwotCi0JLyoKLQkgKiBOb3csIHdyaXRlIHRoZSBQTSByZWdpc3RlciB3aGljaCBlbmFibGVzIHRoZSBHUElPIHJlZ2lzdGVycy4KLQkgKi8KLQlvdXRiX3AoU0lPX1BNX0ZFUjIsIFNJT19QTV9JTkRFWCk7Ci0Jb3V0Yl9wKFNJT19QTV9HUF9FTiwgU0lPX1BNX0RBVEEpOwotCi0JLyoKLQkgKiBOb3csIGluaXRpYWxpemUgdGhlIEdQSU8gcmVnaXN0ZXJzLgotCSAqIFdlIHdhbnQgdGhlbSBhbGwgdG8gYmUgaW5wdXRzIHdoaWNoIGlzIHRoZQotCSAqIHBvd2VyIG9uIGRlZmF1bHQsIHNvIGxldCdzIGxlYXZlIHRoZW0gYWxvbmUuCi0JICogU28sIGxldCdzIGp1c3QgcmVhZCB0aGUgYm9hcmQgcmV2IQotCSAqLwotCXJhdyA9IGluYl9wKFNJT19HUF9EQVRBMSk7Ci0JcmF3ICY9IDB4N2Y7CS8qIDcgYml0cyBvZiB2YWxpZCBib2FyZCByZXZpc2lvbiBJRC4gKi8KLQotCWlmICh2aXN3c19ib2FyZF90eXBlID09IFZJU1dTXzMyMCkgewotCQlpZiAocmF3IDwgMHg2KSB7Ci0JCQl2aXN3c19ib2FyZF9yZXYgPSA0OwotCQl9IGVsc2UgaWYgKHJhdyA8IDB4YykgewotCQkJdmlzd3NfYm9hcmRfcmV2ID0gNTsKLQkJfSBlbHNlIHsKLQkJCXZpc3dzX2JvYXJkX3JldiA9IDY7Ci0JCX0KLQl9IGVsc2UgaWYgKHZpc3dzX2JvYXJkX3R5cGUgPT0gVklTV1NfNTQwKSB7Ci0JCQl2aXN3c19ib2FyZF9yZXYgPSAyOwotCQl9IGVsc2UgewotCQkJdmlzd3NfYm9hcmRfcmV2ID0gcmF3OwotCQl9Ci0KLQlwcmludGsoS0VSTl9JTkZPICJTaWxpY29uIEdyYXBoaWNzIFZpc3VhbCBXb3Jrc3RhdGlvbiAlcyAocmV2ICVkKSBkZXRlY3RlZFxuIiwKLQkgICAgICAgKHZpc3dzX2JvYXJkX3R5cGUgPT0gVklTV1NfMzIwID8gIjMyMCIgOgotCSAgICAgICAodmlzd3NfYm9hcmRfdHlwZSA9PSBWSVNXU181NDAgPyAiNTQwIiA6Ci0JCSJ1bmtub3duIikpLCB2aXN3c19ib2FyZF9yZXYpOwotfQotCi12b2lkIF9faW5pdCBwcmVfaW50cl9pbml0X2hvb2sodm9pZCkKLXsKLQlpbml0X1ZJU1dTX0FQSUNfaXJxcygpOwotfQotCi12b2lkIF9faW5pdCBpbnRyX2luaXRfaG9vayh2b2lkKQotewotI2lmZGVmIENPTkZJR19YODZfTE9DQUxfQVBJQwotCWFwaWNfaW50cl9pbml0KCk7Ci0jZW5kaWYKLX0KLQotdm9pZCBfX2luaXQgcHJlX3NldHVwX2FyY2hfaG9vaygpCi17Ci0Jdmlzd3NfZ2V0X2JvYXJkX3R5cGVfYW5kX3JldigpOwotfQotCi1zdGF0aWMgc3RydWN0IGlycWFjdGlvbiBpcnEwID0gewotCS5oYW5kbGVyID0JdGltZXJfaW50ZXJydXB0LAotCS5mbGFncyA9CUlSUUZfRElTQUJMRUQgfCBJUlFGX0lSUVBPTEwsCi0JLm5hbWUgPQkJInRpbWVyIiwKLX07Ci0KLXZvaWQgX19pbml0IHRpbWVfaW5pdF9ob29rKHZvaWQpCi17Ci0JcHJpbnRrKEtFUk5fSU5GTyAiU3RhcnRpbmcgQ29iYWx0IFRpbWVyIHN5c3RlbSBjbG9ja1xuIik7Ci0KLQkvKiBTZXQgdGhlIGNvdW50ZG93biB2YWx1ZSAqLwotCWNvX2NwdV93cml0ZShDT19DUFVfVElNRVZBTCwgQ09fVElNRV9IWi9IWik7Ci0KLQkvKiBTdGFydCB0aGUgdGltZXIgKi8KLQljb19jcHVfd3JpdGUoQ09fQ1BVX0NUUkwsIGNvX2NwdV9yZWFkKENPX0NQVV9DVFJMKSB8IENPX0NUUkxfVElNRVJVTik7Ci0KLQkvKiBFbmFibGUgKHVubWFzaykgdGhlIHRpbWVyIGludGVycnVwdCAqLwotCWNvX2NwdV93cml0ZShDT19DUFVfQ1RSTCwgY29fY3B1X3JlYWQoQ09fQ1BVX0NUUkwpICYgfkNPX0NUUkxfVElNRU1BU0spOwotCi0JLyogV2lyZSBjcHUgSURUIGVudHJ5IHRvIHMvdyBoYW5kbGVyIChhbmQgQ29iYWx0IEFQSUMgdG8gSURUKSAqLwotCXNldHVwX2lycSgwLCAmaXJxMCk7Ci19Ci0KLS8qIEhvb2sgZm9yIG1hY2hpbmUgc3BlY2lmaWMgbWVtb3J5IHNldHVwLiAqLwotCi0jZGVmaW5lIE1CICgxMDI0ICogMTAyNCkKLQotdW5zaWduZWQgbG9uZyBzZ2l2d2ZiX21lbV9waHlzOwotdW5zaWduZWQgbG9uZyBzZ2l2d2ZiX21lbV9zaXplOwotRVhQT1JUX1NZTUJPTChzZ2l2d2ZiX21lbV9waHlzKTsKLUVYUE9SVF9TWU1CT0woc2dpdndmYl9tZW1fc2l6ZSk7Ci0KLWxvbmcgbG9uZyBtZW1fc2l6ZSBfX2luaXRkYXRhID0gMDsKLQotY2hhciAqIF9faW5pdCBtYWNoaW5lX3NwZWNpZmljX21lbW9yeV9zZXR1cCh2b2lkKQotewotCWxvbmcgbG9uZyBnZnhfbWVtX3NpemUgPSA4ICogTUI7Ci0KLQltZW1fc2l6ZSA9IGJvb3RfcGFyYW1zLmFsdF9tZW1fazsKLQotCWlmICghbWVtX3NpemUpIHsKLQkJcHJpbnRrKEtFUk5fV0FSTklORyAiQm9vdGxvYWRlciBkaWRuJ3Qgc2V0IG1lbW9yeSBzaXplLCB1cGdyYWRlIGl0ICFcbiIpOwotCQltZW1fc2l6ZSA9IDEyOCAqIE1COwotCX0KLQotCS8qCi0JICogdGhpcyBoYXJkY29kZXMgdGhlIGdyYXBoaWNzIG1lbW9yeSB0byA4IE1CCi0JICogaXQgcmVhbGx5IHNob3VsZCBiZSBzaXplZCBkeW5hbWljYWxseSAob3IgYXQgbGVhc3QKLQkgKiBzZXQgYXMgYSBib290IHBhcmFtKQotCSAqLwotCWlmICghc2dpdndmYl9tZW1fc2l6ZSkgewotCQlwcmludGsoS0VSTl9XQVJOSU5HICJEZWZhdWx0aW5nIHRvIDggTUIgZnJhbWVidWZmZXIgc2l6ZVxuIik7Ci0JCXNnaXZ3ZmJfbWVtX3NpemUgPSA4ICogTUI7Ci0JfQotCi0JLyoKLQkgKiBUcmltIHRvIG5lYXJlc3QgTUIKLQkgKi8KLQlzZ2l2d2ZiX21lbV9zaXplICY9IH4oKDEgPDwgMjApIC0gMSk7Ci0Jc2dpdndmYl9tZW1fcGh5cyA9IG1lbV9zaXplIC0gZ2Z4X21lbV9zaXplOwotCi0JYWRkX21lbW9yeV9yZWdpb24oMCwgTE9XTUVNU0laRSgpLCBFODIwX1JBTSk7Ci0JYWRkX21lbW9yeV9yZWdpb24oSElHSF9NRU1PUlksIG1lbV9zaXplIC0gc2dpdndmYl9tZW1fc2l6ZSAtIEhJR0hfTUVNT1JZLCBFODIwX1JBTSk7Ci0JYWRkX21lbW9yeV9yZWdpb24oc2dpdndmYl9tZW1fcGh5cywgc2dpdndmYl9tZW1fc2l6ZSwgRTgyMF9SRVNFUlZFRCk7Ci0KLQlyZXR1cm4gIlBST00iOwotfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbWFjaC12aXN3cy90cmFwcy5jIGIvYXJjaC94ODYvbWFjaC12aXN3cy90cmFwcy5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiZmFjNmJhLi4wMDAwMDAwCi0tLSBhL2FyY2gveDg2L21hY2gtdmlzd3MvdHJhcHMuYworKysgL2Rldi9udWxsCkBAIC0xLDY5ICswLDAgQEAKLS8qIFZJU1dTIHRyYXBzICovCi0KLSNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgotI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgotI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KLSNpbmNsdWRlIDxsaW51eC9wY2kuaD4KLSNpbmNsdWRlIDxsaW51eC9wY2lfaWRzLmg+Ci0KLSNpbmNsdWRlIDxhc20vaW8uaD4KLSNpbmNsdWRlIDxhc20vYXJjaF9ob29rcy5oPgotI2luY2x1ZGUgPGFzbS9hcGljLmg+Ci0jaW5jbHVkZSAiY29iYWx0LmgiCi0jaW5jbHVkZSAibGl0aGl1bS5oIgotCi0KLSNkZWZpbmUgQTAxMjM0IChMSV9JTlRBXzAgfCBMSV9JTlRBXzEgfCBMSV9JTlRBXzIgfCBMSV9JTlRBXzMgfCBMSV9JTlRBXzQpCi0jZGVmaW5lIEJDRCAoTElfSU5UQiB8IExJX0lOVEMgfCBMSV9JTlREKQotI2RlZmluZSBBTExERVZTIChBMDEyMzQgfCBCQ0QpCi0KLXN0YXRpYyBfX2luaXQgdm9pZCBsaXRoaXVtX2luaXQodm9pZCkKLXsKLQlzZXRfZml4bWFwKEZJWF9MSV9QQ0lBLCBMSV9QQ0lfQV9QSFlTKTsKLQlzZXRfZml4bWFwKEZJWF9MSV9QQ0lCLCBMSV9QQ0lfQl9QSFlTKTsKLQotCWlmICgobGlfcGNpYV9yZWFkMTYoUENJX1ZFTkRPUl9JRCkgIT0gUENJX1ZFTkRPUl9JRF9TR0kpIHx8Ci0JICAgIChsaV9wY2lhX3JlYWQxNihQQ0lfREVWSUNFX0lEKSAhPSBQQ0lfREVWSUNFX0lEX1NHSV9MSVRISVVNKSkgewotCQlwcmludGsoS0VSTl9FTUVSRyAiTGl0aGl1bSBob3N0YnJpZGdlICVjIG5vdCBmb3VuZFxuIiwgJ0EnKTsKLQkJcGFuaWMoIlRoaXMgbWFjaGluZSBpcyBub3QgU0dJIFZpc3VhbCBXb3Jrc3RhdGlvbiAzMjAvNTQwIik7Ci0JfQotCi0JaWYgKChsaV9wY2liX3JlYWQxNihQQ0lfVkVORE9SX0lEKSAhPSBQQ0lfVkVORE9SX0lEX1NHSSkgfHwKLQkgICAgKGxpX3BjaWJfcmVhZDE2KFBDSV9ERVZJQ0VfSUQpICE9IFBDSV9ERVZJQ0VfSURfU0dJX0xJVEhJVU0pKSB7Ci0JCXByaW50ayhLRVJOX0VNRVJHICJMaXRoaXVtIGhvc3RicmlkZ2UgJWMgbm90IGZvdW5kXG4iLCAnQicpOwotCQlwYW5pYygiVGhpcyBtYWNoaW5lIGlzIG5vdCBTR0kgVmlzdWFsIFdvcmtzdGF0aW9uIDMyMC81NDAiKTsKLQl9Ci0KLQlsaV9wY2lhX3dyaXRlMTYoTElfUENJX0lOVEVOLCBBTExERVZTKTsKLQlsaV9wY2liX3dyaXRlMTYoTElfUENJX0lOVEVOLCBBTExERVZTKTsKLX0KLQotc3RhdGljIF9faW5pdCB2b2lkIGNvYmFsdF9pbml0KHZvaWQpCi17Ci0JLyoKLQkgKiBPbiBub3JtYWwgU01QIFBDIHRoaXMgaXMgdXNlZCBvbmx5IHdpdGggU01QLCBidXQgd2UgaGF2ZSB0bwotCSAqIHVzZSBpdCBhbmQgc2V0IGl0IHVwIGhlcmUgdG8gc3RhcnQgdGhlIENvYmFsdCBjbG9jawotCSAqLwotCXNldF9maXhtYXAoRklYX0FQSUNfQkFTRSwgQVBJQ19ERUZBVUxUX1BIWVNfQkFTRSk7Ci0Jc2V0dXBfbG9jYWxfQVBJQygpOwotCXByaW50ayhLRVJOX0lORk8gIkxvY2FsIEFQSUMgVmVyc2lvbiAlI3gsIElEICUjeFxuIiwKLQkJKHVuc2lnbmVkIGludClhcGljX3JlYWQoQVBJQ19MVlIpLAotCQkodW5zaWduZWQgaW50KWFwaWNfcmVhZChBUElDX0lEKSk7Ci0KLQlzZXRfZml4bWFwKEZJWF9DT19DUFUsIENPX0NQVV9QSFlTKTsKLQlzZXRfZml4bWFwKEZJWF9DT19BUElDLCBDT19BUElDX1BIWVMpOwotCXByaW50ayhLRVJOX0lORk8gIkNvYmFsdCBSZXZpc2lvbiAlI2x4LCBBUElDIElEICUjbHhcbiIsCi0JCWNvX2NwdV9yZWFkKENPX0NQVV9SRVYpLCBjb19hcGljX3JlYWQoQ09fQVBJQ19JRCkpOwotCi0JLyogRW5hYmxlIENvYmFsdCBBUElDIGJlaW5nIGNhcmVmdWwgdG8gTk9UIGNoYW5nZSB0aGUgSUQhICovCi0JY29fYXBpY193cml0ZShDT19BUElDX0lELCBjb19hcGljX3JlYWQoQ09fQVBJQ19JRCkgfCBDT19BUElDX0VOQUJMRSk7Ci0KLQlwcmludGsoS0VSTl9JTkZPICJDb2JhbHQgQVBJQyBlbmFibGVkOiBJRCByZWcgJSNseFxuIiwKLQkJY29fYXBpY19yZWFkKENPX0FQSUNfSUQpKTsKLX0KLQotdm9pZCBfX2luaXQgdHJhcF9pbml0X2hvb2sodm9pZCkKLXsKLQlsaXRoaXVtX2luaXQoKTsKLQljb2JhbHRfaW5pdCgpOwotfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbWFjaC12aXN3cy92aXN3c19hcGljLmMgYi9hcmNoL3g4Ni9tYWNoLXZpc3dzL3Zpc3dzX2FwaWMuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2VmOWNiMS4uMDAwMDAwMAotLS0gYS9hcmNoL3g4Ni9tYWNoLXZpc3dzL3Zpc3dzX2FwaWMuYworKysgL2Rldi9udWxsCkBAIC0xLDI5NyArMCwwIEBACi0vKgotICoJQ29weXJpZ2h0IChDKSAxOTk5IEJlbnQgSGFnZW1hcmssIEluZ28gTW9sbmFyCi0gKgotICogIFNHSSBWaXN1YWwgV29ya3N0YXRpb24gaW50ZXJydXB0IGNvbnRyb2xsZXIKLSAqCi0gKiAgVGhlIENvYmFsdCBzeXN0ZW0gQVNJQyBpbiB0aGUgVmlzdWFsIFdvcmtzdGF0aW9uIGNvbnRhaW5zIGEgIkNvYmFsdCIgQVBJQwotICogIHdoaWNoIHNlcnZlcyBhcyB0aGUgbWFpbiBpbnRlcnJ1cHQgY29udHJvbGxlciBpbiB0aGUgc3lzdGVtLiAgTm9uLWxlZ2FjeQotICogIGhhcmR3YXJlIGluIHRoZSBzeXN0ZW0gdXNlcyB0aGlzIGNvbnRyb2xsZXIgZGlyZWN0bHkuICBMZWdhY3kgZGV2aWNlcwotICogIGFyZSBjb25uZWN0ZWQgdG8gdGhlIFBJSVg0IHdoaWNoIGluIHR1cm4gaGFzIGl0cyA4MjU5KHMpIGNvbm5lY3RlZCB0bwotICogIGEgb2YgdGhlIENvYmFsdCBBUElDIGVudHJ5LgotICoKLSAqICAwOS8wMi8yMDAwIC0gVXBkYXRlZCBmb3IgMi40IGJ5IGpiYXJuZXNAc2dpLmNvbQotICoKLSAqICAyNS8xMS8yMDAyIC0gVXBkYXRlZCBmb3IgMi41IGJ5IEFuZHJleSBQYW5pbiA8cGF6a2VAb3JiaXRhMS5ydT4KLSAqLwotCi0jaW5jbHVkZSA8bGludXgva2VybmVsX3N0YXQuaD4KLSNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KLSNpbmNsdWRlIDxsaW51eC9pbml0Lmg+Ci0KLSNpbmNsdWRlIDxhc20vaW8uaD4KLSNpbmNsdWRlIDxhc20vYXBpYy5oPgotI2luY2x1ZGUgPGFzbS9pODI1OS5oPgotCi0jaW5jbHVkZSAiY29iYWx0LmgiCi0jaW5jbHVkZSAiaXJxX3ZlY3RvcnMuaCIKLQotCi1zdGF0aWMgREVGSU5FX1NQSU5MT0NLKGNvYmFsdF9sb2NrKTsKLQotLyoKLSAqIFNldCB0aGUgZ2l2ZW4gQ29iYWx0IEFQSUMgUmVkaXJlY3Rpb24gVGFibGUgZW50cnkgdG8gcG9pbnQKLSAqIHRvIHRoZSBnaXZlbiBJRFQgdmVjdG9yL2luZGV4LgotICovCi1zdGF0aWMgaW5saW5lIHZvaWQgY29fYXBpY19zZXQoaW50IGVudHJ5LCBpbnQgaXJxKQotewotCWNvX2FwaWNfd3JpdGUoQ09fQVBJQ19MTyhlbnRyeSksIENPX0FQSUNfTEVWRUwgfCAoaXJxICsgRklSU1RfRVhURVJOQUxfVkVDVE9SKSk7Ci0JY29fYXBpY193cml0ZShDT19BUElDX0hJKGVudHJ5KSwgMCk7Ci19Ci0KLS8qCi0gKiBDb2JhbHQgKElPKS1BUElDIGZ1bmN0aW9ucyB0byBoYW5kbGUgUENJIGRldmljZXMuCi0gKi8KLXN0YXRpYyBpbmxpbmUgaW50IGNvX2FwaWNfaWRlMF9oYWNrKHZvaWQpCi17Ci0JZXh0ZXJuIGNoYXIgdmlzd3NfYm9hcmRfdHlwZTsKLQlleHRlcm4gY2hhciB2aXN3c19ib2FyZF9yZXY7Ci0KLQlpZiAodmlzd3NfYm9hcmRfdHlwZSA9PSBWSVNXU18zMjAgJiYgdmlzd3NfYm9hcmRfcmV2ID09IDUpCi0JCXJldHVybiA1OwotCXJldHVybiBDT19BUElDX0lERTA7Ci19Ci0KLXN0YXRpYyBpbnQgaXNfY29fYXBpYyh1bnNpZ25lZCBpbnQgaXJxKQotewotCWlmIChJU19DT19BUElDKGlycSkpCi0JCXJldHVybiBDT19BUElDKGlycSk7Ci0KLQlzd2l0Y2ggKGlycSkgewotCQljYXNlIDA6IHJldHVybiBDT19BUElDX0NQVTsKLQkJY2FzZSBDT19JUlFfSURFMDogcmV0dXJuIGNvX2FwaWNfaWRlMF9oYWNrKCk7Ci0JCWNhc2UgQ09fSVJRX0lERTE6IHJldHVybiBDT19BUElDX0lERTE7Ci0JCWRlZmF1bHQ6IHJldHVybiAtMTsKLQl9Ci19Ci0KLQotLyoKLSAqIFRoaXMgaXMgdGhlIFNHSSBDb2JhbHQgKElPLSlBUElDOgotICovCi0KLXN0YXRpYyB2b2lkIGVuYWJsZV9jb2JhbHRfaXJxKHVuc2lnbmVkIGludCBpcnEpCi17Ci0JY29fYXBpY19zZXQoaXNfY29fYXBpYyhpcnEpLCBpcnEpOwotfQotCi1zdGF0aWMgdm9pZCBkaXNhYmxlX2NvYmFsdF9pcnEodW5zaWduZWQgaW50IGlycSkKLXsKLQlpbnQgZW50cnkgPSBpc19jb19hcGljKGlycSk7Ci0KLQljb19hcGljX3dyaXRlKENPX0FQSUNfTE8oZW50cnkpLCBDT19BUElDX01BU0spOwotCWNvX2FwaWNfcmVhZChDT19BUElDX0xPKGVudHJ5KSk7Ci19Ci0KLS8qCi0gKiAiaXJxIiByZWFsbHkganVzdCBzZXJ2ZXMgdG8gaWRlbnRpZnkgdGhlIGRldmljZS4gIEhlcmUgaXMgd2hlcmUgd2UKLSAqIG1hcCB0aGlzIHRvIHRoZSBDb2JhbHQgQVBJQyBlbnRyeSB3aGVyZSBpdCdzIHBoeXNpY2FsbHkgd2lyZWQuCi0gKiBUaGlzIGlzIGNhbGxlZCB2aWEgcmVxdWVzdF9pcnEgLT4gc2V0dXBfaXJxIC0+IGlycV9kZXNjLT5zdGFydHVwKCkKLSAqLwotc3RhdGljIHVuc2lnbmVkIGludCBzdGFydHVwX2NvYmFsdF9pcnEodW5zaWduZWQgaW50IGlycSkKLXsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCi0Jc3Bpbl9sb2NrX2lycXNhdmUoJmNvYmFsdF9sb2NrLCBmbGFncyk7Ci0JaWYgKChpcnFfZGVzY1tpcnFdLnN0YXR1cyAmIChJUlFfRElTQUJMRUQgfCBJUlFfSU5QUk9HUkVTUyB8IElSUV9XQUlUSU5HKSkpCi0JCWlycV9kZXNjW2lycV0uc3RhdHVzICY9IH4oSVJRX0RJU0FCTEVEIHwgSVJRX0lOUFJPR1JFU1MgfCBJUlFfV0FJVElORyk7Ci0JZW5hYmxlX2NvYmFsdF9pcnEoaXJxKTsKLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjb2JhbHRfbG9jaywgZmxhZ3MpOwotCXJldHVybiAwOwotfQotCi1zdGF0aWMgdm9pZCBhY2tfY29iYWx0X2lycSh1bnNpZ25lZCBpbnQgaXJxKQotewotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0KLQlzcGluX2xvY2tfaXJxc2F2ZSgmY29iYWx0X2xvY2ssIGZsYWdzKTsKLQlkaXNhYmxlX2NvYmFsdF9pcnEoaXJxKTsKLQlhcGljX3dyaXRlKEFQSUNfRU9JLCBBUElDX0VJT19BQ0spOwotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmNvYmFsdF9sb2NrLCBmbGFncyk7Ci19Ci0KLXN0YXRpYyB2b2lkIGVuZF9jb2JhbHRfaXJxKHVuc2lnbmVkIGludCBpcnEpCi17Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQotCXNwaW5fbG9ja19pcnFzYXZlKCZjb2JhbHRfbG9jaywgZmxhZ3MpOwotCWlmICghKGlycV9kZXNjW2lycV0uc3RhdHVzICYgKElSUV9ESVNBQkxFRCB8IElSUV9JTlBST0dSRVNTKSkpCi0JCWVuYWJsZV9jb2JhbHRfaXJxKGlycSk7Ci0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY29iYWx0X2xvY2ssIGZsYWdzKTsKLX0KLQotc3RhdGljIHN0cnVjdCBpcnFfY2hpcCBjb2JhbHRfaXJxX3R5cGUgPSB7Ci0JLnR5cGVuYW1lID0JIkNvYmFsdC1BUElDIiwKLQkuc3RhcnR1cCA9CXN0YXJ0dXBfY29iYWx0X2lycSwKLQkuc2h1dGRvd24gPQlkaXNhYmxlX2NvYmFsdF9pcnEsCi0JLmVuYWJsZSA9CWVuYWJsZV9jb2JhbHRfaXJxLAotCS5kaXNhYmxlID0JZGlzYWJsZV9jb2JhbHRfaXJxLAotCS5hY2sgPQkJYWNrX2NvYmFsdF9pcnEsCi0JLmVuZCA9CQllbmRfY29iYWx0X2lycSwKLX07Ci0KLQotLyoKLSAqIFRoaXMgaXMgdGhlIFBJSVg0LWJhc2VkIDgyNTkgdGhhdCBpcyB3aXJlZCB1cCBpbmRpcmVjdGx5IHRvIENvYmFsdAotICogLS0gbm90IHRoZSBtYW5uZXIgZXhwZWN0ZWQgYnkgdGhlIGNvZGUgaW4gaTgyNTkuYy4KLSAqCi0gKiB0aGVyZSBpcyBhICdtYXN0ZXInIHBoeXNpY2FsIGludGVycnVwdCBzb3VyY2UgdGhhdCBnZXRzIHNlbnQgdG8KLSAqIHRoZSBDUFUuIEJ1dCBpbiB0aGUgY2hpcHNldCB0aGVyZSBhcmUgdmFyaW91cyAndmlydHVhbCcgaW50ZXJydXB0cwotICogd2FpdGluZyB0byBiZSBoYW5kbGVkLiBXZSByZXByZXNlbnQgdGhpcyB0byBMaW51eCB0aHJvdWdoIGEgJ21hc3RlcicKLSAqIGludGVycnVwdCBjb250cm9sbGVyIHR5cGUsIGFuZCB0aHJvdWdoIGEgc3BlY2lhbCB2aXJ0dWFsIGludGVycnVwdC0KLSAqIGNvbnRyb2xsZXIuIERldmljZSBkcml2ZXJzIG9ubHkgc2VlIHRoZSB2aXJ0dWFsIGludGVycnVwdCBzb3VyY2VzLgotICovCi1zdGF0aWMgdW5zaWduZWQgaW50IHN0YXJ0dXBfcGlpeDRfbWFzdGVyX2lycSh1bnNpZ25lZCBpbnQgaXJxKQotewotCWluaXRfODI1OUEoMCk7Ci0KLQlyZXR1cm4gc3RhcnR1cF9jb2JhbHRfaXJxKGlycSk7Ci19Ci0KLXN0YXRpYyB2b2lkIGVuZF9waWl4NF9tYXN0ZXJfaXJxKHVuc2lnbmVkIGludCBpcnEpCi17Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQotCXNwaW5fbG9ja19pcnFzYXZlKCZjb2JhbHRfbG9jaywgZmxhZ3MpOwotCWVuYWJsZV9jb2JhbHRfaXJxKGlycSk7Ci0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY29iYWx0X2xvY2ssIGZsYWdzKTsKLX0KLQotc3RhdGljIHN0cnVjdCBpcnFfY2hpcCBwaWl4NF9tYXN0ZXJfaXJxX3R5cGUgPSB7Ci0JLnR5cGVuYW1lID0JIlBJSVg0LW1hc3RlciIsCi0JLnN0YXJ0dXAgPQlzdGFydHVwX3BpaXg0X21hc3Rlcl9pcnEsCi0JLmFjayA9CQlhY2tfY29iYWx0X2lycSwKLQkuZW5kID0JCWVuZF9waWl4NF9tYXN0ZXJfaXJxLAotfTsKLQotCi1zdGF0aWMgc3RydWN0IGlycV9jaGlwIHBpaXg0X3ZpcnR1YWxfaXJxX3R5cGUgPSB7Ci0JLnR5cGVuYW1lID0JIlBJSVg0LXZpcnR1YWwiLAotCS5zaHV0ZG93biA9CWRpc2FibGVfODI1OUFfaXJxLAotCS5lbmFibGUgPQllbmFibGVfODI1OUFfaXJxLAotCS5kaXNhYmxlID0JZGlzYWJsZV84MjU5QV9pcnEsCi19OwotCi0KLS8qCi0gKiBQSUlYNC04MjU5IG1hc3Rlci92aXJ0dWFsIGZ1bmN0aW9ucyB0byBoYW5kbGUgaW50ZXJydXB0IHJlcXVlc3RzCi0gKiBmcm9tIGxlZ2FjeSBkZXZpY2VzOiBmbG9wcHksIHBhcmFsbGVsLCBzZXJpYWwsIHJ0Yy4KLSAqCi0gKiBOb25lIG9mIHRoZXNlIGdldCBDb2JhbHQgQVBJQyBlbnRyaWVzLCBuZWl0aGVyIGRvIHRoZXkgaGF2ZSBJRFQKLSAqIGVudHJpZXMuIFRoZXNlIGludGVycnVwdHMgYXJlIHB1cmVseSB2aXJ0dWFsIGFuZCBkaXN0cmlidXRlZCBmcm9tCi0gKiB0aGUgJ21hc3RlcicgaW50ZXJydXB0IHNvdXJjZTogQ09fSVJRXzgyNTkuCi0gKgotICogV2hlbiB0aGUgODI1OSBpbnRlcnJ1cHRzIGl0cyBoYW5kbGVyIGZpZ3VyZXMgb3V0IHdoaWNoIG9mIHRoZXNlCi0gKiBkZXZpY2VzIGlzIGludGVycnVwdGluZyBhbmQgZGlzcGF0Y2hlcyB0byBpdHMgaGFuZGxlci4KLSAqCi0gKiBDQVJFRlVMOiBkZXZpY2VzIHNlZSB0aGUgJ3ZpcnR1YWwnIGludGVycnVwdCBvbmx5LiBUaHVzIGRpc2FibGUvCi0gKiBlbmFibGVfaXJxIGdldHMgdGhlIHJpZ2h0IGlycS4gVGhpcyAnbWFzdGVyJyBpcnEgaXMgbmV2ZXIgZGlyZWN0bHkKLSAqIG1hbmlwdWxhdGVkIGJ5IGFueSBkcml2ZXIuCi0gKi8KLXN0YXRpYyBpcnFyZXR1cm5fdCBwaWl4NF9tYXN0ZXJfaW50cihpbnQgaXJxLCB2b2lkICpkZXZfaWQpCi17Ci0JaW50IHJlYWxpcnE7Ci0JaXJxX2Rlc2NfdCAqZGVzYzsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCi0Jc3Bpbl9sb2NrX2lycXNhdmUoJmk4MjU5QV9sb2NrLCBmbGFncyk7Ci0KLQkvKiBGaW5kIG91dCB3aGF0J3MgaW50ZXJydXB0aW5nIGluIHRoZSBQSUlYNCBtYXN0ZXIgODI1OSAqLwotCW91dGIoMHgwYywgMHgyMCk7CQkvKiBPQ1czIFBvbGwgY29tbWFuZCAqLwotCXJlYWxpcnEgPSBpbmIoMHgyMCk7Ci0KLQkvKgotCSAqIEJpdCA3ID09IDAgbWVhbnMgaW52YWxpZC9zcHVyaW91cwotCSAqLwotCWlmICh1bmxpa2VseSghKHJlYWxpcnEgJiAweDgwKSkpCi0JCWdvdG8gb3V0X3VubG9jazsKLQotCXJlYWxpcnEgJj0gNzsKLQotCWlmICh1bmxpa2VseShyZWFsaXJxID09IDIpKSB7Ci0JCW91dGIoMHgwYywgMHhhMCk7Ci0JCXJlYWxpcnEgPSBpbmIoMHhhMCk7Ci0KLQkJaWYgKHVubGlrZWx5KCEocmVhbGlycSAmIDB4ODApKSkKLQkJCWdvdG8gb3V0X3VubG9jazsKLQotCQlyZWFsaXJxID0gKHJlYWxpcnEgJiA3KSArIDg7Ci0JfQotCi0JLyogbWFzayBhbmQgYWNrIGludGVycnVwdCAqLwotCWNhY2hlZF9pcnFfbWFzayB8PSAxIDw8IHJlYWxpcnE7Ci0JaWYgKHVubGlrZWx5KHJlYWxpcnEgPiA3KSkgewotCQlpbmIoMHhhMSk7Ci0JCW91dGIoY2FjaGVkX3NsYXZlX21hc2ssIDB4YTEpOwotCQlvdXRiKDB4NjAgKyAocmVhbGlycSAmIDcpLCAweGEwKTsKLQkJb3V0YigweDYwICsgMiwgMHgyMCk7Ci0JfSBlbHNlIHsKLQkJaW5iKDB4MjEpOwotCQlvdXRiKGNhY2hlZF9tYXN0ZXJfbWFzaywgMHgyMSk7Ci0JCW91dGIoMHg2MCArIHJlYWxpcnEsIDB4MjApOwotCX0KLQotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmk4MjU5QV9sb2NrLCBmbGFncyk7Ci0KLQlkZXNjID0gaXJxX2Rlc2MgKyByZWFsaXJxOwotCi0JLyoKLQkgKiBoYW5kbGUgdGhpcyAndmlydHVhbCBpbnRlcnJ1cHQnIGFzIGEgQ29iYWx0IG9uZSBub3cuCi0JICovCi0Ja3N0YXRfY3B1KHNtcF9wcm9jZXNzb3JfaWQoKSkuaXJxc1tyZWFsaXJxXSsrOwotCi0JaWYgKGxpa2VseShkZXNjLT5hY3Rpb24gIT0gTlVMTCkpCi0JCWhhbmRsZV9JUlFfZXZlbnQocmVhbGlycSwgZGVzYy0+YWN0aW9uKTsKLQotCWlmICghKGRlc2MtPnN0YXR1cyAmIElSUV9ESVNBQkxFRCkpCi0JCWVuYWJsZV84MjU5QV9pcnEocmVhbGlycSk7Ci0KLQlyZXR1cm4gSVJRX0hBTkRMRUQ7Ci0KLW91dF91bmxvY2s6Ci0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaTgyNTlBX2xvY2ssIGZsYWdzKTsKLQlyZXR1cm4gSVJRX05PTkU7Ci19Ci0KLXN0YXRpYyBzdHJ1Y3QgaXJxYWN0aW9uIG1hc3Rlcl9hY3Rpb24gPSB7Ci0JLmhhbmRsZXIgPQlwaWl4NF9tYXN0ZXJfaW50ciwKLQkubmFtZSA9CQkiUElJWDQtODI1OSIsCi19OwotCi1zdGF0aWMgc3RydWN0IGlycWFjdGlvbiBjYXNjYWRlX2FjdGlvbiA9IHsKLQkuaGFuZGxlciA9IAlub19hY3Rpb24sCi0JLm5hbWUgPQkJImNhc2NhZGUiLAotfTsKLQotCi12b2lkIGluaXRfVklTV1NfQVBJQ19pcnFzKHZvaWQpCi17Ci0JaW50IGk7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgQ09fSVJRX0FQSUMwICsgQ09fQVBJQ19MQVNUICsgMTsgaSsrKSB7Ci0JCWlycV9kZXNjW2ldLnN0YXR1cyA9IElSUV9ESVNBQkxFRDsKLQkJaXJxX2Rlc2NbaV0uYWN0aW9uID0gMDsKLQkJaXJxX2Rlc2NbaV0uZGVwdGggPSAxOwotCi0JCWlmIChpID09IDApIHsKLQkJCWlycV9kZXNjW2ldLmNoaXAgPSAmY29iYWx0X2lycV90eXBlOwotCQl9Ci0JCWVsc2UgaWYgKGkgPT0gQ09fSVJRX0lERTApIHsKLQkJCWlycV9kZXNjW2ldLmNoaXAgPSAmY29iYWx0X2lycV90eXBlOwotCQl9Ci0JCWVsc2UgaWYgKGkgPT0gQ09fSVJRX0lERTEpIHsKLQkJCWlycV9kZXNjW2ldLmNoaXAgPSAmY29iYWx0X2lycV90eXBlOwotCQl9Ci0JCWVsc2UgaWYgKGkgPT0gQ09fSVJRXzgyNTkpIHsKLQkJCWlycV9kZXNjW2ldLmNoaXAgPSAmcGlpeDRfbWFzdGVyX2lycV90eXBlOwotCQl9Ci0JCWVsc2UgaWYgKGkgPCBDT19JUlFfQVBJQzApIHsKLQkJCWlycV9kZXNjW2ldLmNoaXAgPSAmcGlpeDRfdmlydHVhbF9pcnFfdHlwZTsKLQkJfQotCQllbHNlIGlmIChJU19DT19BUElDKGkpKSB7Ci0JCQlpcnFfZGVzY1tpXS5jaGlwID0gJmNvYmFsdF9pcnFfdHlwZTsKLQkJfQotCX0KLQotCXNldHVwX2lycShDT19JUlFfODI1OSwgJm1hc3Rlcl9hY3Rpb24pOwotCXNldHVwX2lycSgyLCAmY2FzY2FkZV9hY3Rpb24pOwotfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbWFjaC12b3lhZ2VyL3NldHVwLmMgYi9hcmNoL3g4Ni9tYWNoLXZveWFnZXIvc2V0dXAuYwppbmRleCA1YWU1NDY2Li42YmJkZDYzIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9tYWNoLXZveWFnZXIvc2V0dXAuYworKysgYi9hcmNoL3g4Ni9tYWNoLXZveWFnZXIvc2V0dXAuYwpAQCAtNjIsNiArNjIsNyBAQAogY2hhciAqX19pbml0IG1hY2hpbmVfc3BlY2lmaWNfbWVtb3J5X3NldHVwKHZvaWQpCiB7CiAJY2hhciAqd2hvOworCWludCBuZXdfbnI7CiAKIAl3aG8gPSAiTk9UIFZPWUFHRVIiOwogCkBAIC03Myw3ICs3NCw3IEBACiAKIAkJZTgyMC5ucl9tYXAgPSAwOwogCQlmb3IgKGkgPSAwOyB2b3lhZ2VyX21lbW9yeV9kZXRlY3QoaSwgJmFkZHIsICZsZW5ndGgpOyBpKyspIHsKLQkJCWFkZF9tZW1vcnlfcmVnaW9uKGFkZHIsIGxlbmd0aCwgRTgyMF9SQU0pOworCQkJZTgyMF9hZGRfcmVnaW9uKGFkZHIsIGxlbmd0aCwgRTgyMF9SQU0pOwogCQl9CiAJCXJldHVybiB3aG87CiAJfSBlbHNlIGlmICh2b3lhZ2VyX2xldmVsID09IDQpIHsKQEAgLTkxLDQzICs5MiwxNyBAQAogCQkJdG9tID0gKGJvb3RfcGFyYW1zLnNjcmVlbl9pbmZvLmV4dF9tZW1faykgPDwgMTA7CiAJCX0KIAkJd2hvID0gIlZveWFnZXItVE9NIjsKLQkJYWRkX21lbW9yeV9yZWdpb24oMCwgMHg5ZjAwMCwgRTgyMF9SQU0pOworCQllODIwX2FkZF9yZWdpb24oMCwgMHg5ZjAwMCwgRTgyMF9SQU0pOwogCQkvKiBtYXAgZnJvbSAxTSB0byB0b3Agb2YgbWVtb3J5ICovCi0JCWFkZF9tZW1vcnlfcmVnaW9uKDEgKiAxMDI0ICogMTAyNCwgdG9tIC0gMSAqIDEwMjQgKiAxMDI0LAorCQllODIwX2FkZF9yZWdpb24oMSAqIDEwMjQgKiAxMDI0LCB0b20gLSAxICogMTAyNCAqIDEwMjQsCiAJCQkJICBFODIwX1JBTSk7CiAJCS8qIEZJWE1FOiBTaG91bGQgY2hlY2sgdGhlIEFTSUNzIHRvIHNlZSBpZiBJIG5lZWQgdG8KIAkJICogdGFrZSBvdXQgdGhlIDhNIHdpbmRvdy4gIEp1c3QgZG8gaXQgYXQgdGhlIG1vbWVudAogCQkgKiAqLwotCQlhZGRfbWVtb3J5X3JlZ2lvbig4ICogMTAyNCAqIDEwMjQsIDggKiAxMDI0ICogMTAyNCwKKwkJZTgyMF9hZGRfcmVnaW9uKDggKiAxMDI0ICogMTAyNCwgOCAqIDEwMjQgKiAxMDI0LAogCQkJCSAgRTgyMF9SRVNFUlZFRCk7CiAJCXJldHVybiB3aG87CiAJfQogCi0Jd2hvID0gIkJJT1MtZTgyMCI7Ci0KLQkvKgotCSAqIFRyeSB0byBjb3B5IHRoZSBCSU9TLXN1cHBsaWVkIEU4MjAtbWFwLgotCSAqCi0JICogT3RoZXJ3aXNlIGZha2UgYSBtZW1vcnkgbWFwOyBvbmUgc2VjdGlvbiBmcm9tIDBrLT42NDBrLAotCSAqIHRoZSBuZXh0IHNlY3Rpb24gZnJvbSAxbWItPmFwcHJvcHJpYXRlX21lbV9rCi0JICovCi0Jc2FuaXRpemVfZTgyMF9tYXAoYm9vdF9wYXJhbXMuZTgyMF9tYXAsICZib290X3BhcmFtcy5lODIwX2VudHJpZXMpOwotCWlmIChjb3B5X2U4MjBfbWFwKGJvb3RfcGFyYW1zLmU4MjBfbWFwLCBib290X3BhcmFtcy5lODIwX2VudHJpZXMpCi0JICAgIDwgMCkgewotCQl1bnNpZ25lZCBsb25nIG1lbV9zaXplOwotCi0JCS8qIGNvbXBhcmUgcmVzdWx0cyBmcm9tIG90aGVyIG1ldGhvZHMgYW5kIHRha2UgdGhlIGdyZWF0ZXIgKi8KLQkJaWYgKGJvb3RfcGFyYW1zLmFsdF9tZW1fayA8IGJvb3RfcGFyYW1zLnNjcmVlbl9pbmZvLmV4dF9tZW1faykgewotCQkJbWVtX3NpemUgPSBib290X3BhcmFtcy5zY3JlZW5faW5mby5leHRfbWVtX2s7Ci0JCQl3aG8gPSAiQklPUy04OCI7Ci0JCX0gZWxzZSB7Ci0JCQltZW1fc2l6ZSA9IGJvb3RfcGFyYW1zLmFsdF9tZW1fazsKLQkJCXdobyA9ICJCSU9TLWU4MDEiOwotCQl9Ci0KLQkJZTgyMC5ucl9tYXAgPSAwOwotCQlhZGRfbWVtb3J5X3JlZ2lvbigwLCBMT1dNRU1TSVpFKCksIEU4MjBfUkFNKTsKLQkJYWRkX21lbW9yeV9yZWdpb24oSElHSF9NRU1PUlksIG1lbV9zaXplIDw8IDEwLCBFODIwX1JBTSk7Ci0JfQotCXJldHVybiB3aG87CisJcmV0dXJuIGRlZmF1bHRfbWFjaGluZV9zcGVjaWZpY19tZW1vcnlfc2V0dXAoKTsKIH0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L21hY2gtdm95YWdlci92b3lhZ2VyX3NtcC5jIGIvYXJjaC94ODYvbWFjaC12b3lhZ2VyL3ZveWFnZXJfc21wLmMKaW5kZXggOGFjYmYwYy4uZWUwZmJhMCAxMDA2NDQKLS0tIGEvYXJjaC94ODYvbWFjaC12b3lhZ2VyL3ZveWFnZXJfc21wLmMKKysrIGIvYXJjaC94ODYvbWFjaC12b3lhZ2VyL3ZveWFnZXJfc21wLmMKQEAgLTU5LDExICs1OSw2IEBACiAgKiBhY3Rpdml0eSBjb3VudC4gIEZpbmFsbHkgZXhwb3J0ZWQgYnkgaTM4Nl9rc3ltcy5jICovCiBzdGF0aWMgaW50IHZveWFnZXJfZXh0ZW5kZWRfY3B1cyA9IDE7CiAKLS8qIEhhdmUgd2UgZm91bmQgYW4gU01QIGJveCAtIHVzZWQgYnkgdGltZS5jIHRvIGRvIHRoZSBwcm9maWxpbmcKLSAgIGludGVycnVwdCBmb3IgdGltZXNsaWNpbmc7IGRvIG5vdCBzZXQgdG8gMSB1bnRpbCB0aGUgcGVyIENQVSB0aW1lcgotICAgaW50ZXJydXB0IGlzIGFjdGl2ZSAqLwotaW50IHNtcF9mb3VuZF9jb25maWcgPSAwOwotCiAvKiBVc2VkIGZvciB0aGUgaW52YWxpZGF0ZSBtYXAgdGhhdCdzIGFsc28gY2hlY2tlZCBpbiB0aGUgc3BpbmxvY2sgKi8KIHN0YXRpYyB2b2xhdGlsZSB1bnNpZ25lZCBsb25nIHNtcF9pbnZhbGlkYXRlX25lZWRlZDsKIApAQCAtOTU1LDk0ICs5NTAsMjQgQEAKIAkJaGFsdCgpOwogfQogCi1zdGF0aWMgREVGSU5FX1NQSU5MT0NLKGNhbGxfbG9jayk7Ci0KLXN0cnVjdCBjYWxsX2RhdGFfc3RydWN0IHsKLQl2b2lkICgqZnVuYykgKHZvaWQgKmluZm8pOwotCXZvaWQgKmluZm87Ci0Jdm9sYXRpbGUgdW5zaWduZWQgbG9uZyBzdGFydGVkOwotCXZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgZmluaXNoZWQ7Ci0JaW50IHdhaXQ7Ci19OwotCi1zdGF0aWMgc3RydWN0IGNhbGxfZGF0YV9zdHJ1Y3QgKmNhbGxfZGF0YTsKLQogLyogZXhlY3V0ZSBhIHRocmVhZCBvbiBhIG5ldyBDUFUuICBUaGUgZnVuY3Rpb24gdG8gYmUgY2FsbGVkIG11c3QgYmUKICAqIHByZXZpb3VzbHkgc2V0IHVwLiAgVGhpcyBpcyB1c2VkIHRvIHNjaGVkdWxlIGEgZnVuY3Rpb24gZm9yCiAgKiBleGVjdXRpb24gb24gYWxsIENQVXMgLSBzZXQgdXAgdGhlIGZ1bmN0aW9uIHRoZW4gYnJvYWRjYXN0IGEKICAqIGZ1bmN0aW9uX2ludGVycnVwdCBDUEkgdG8gY29tZSBoZXJlIG9uIGVhY2ggQ1BVICovCiBzdGF0aWMgdm9pZCBzbXBfY2FsbF9mdW5jdGlvbl9pbnRlcnJ1cHQodm9pZCkKIHsKLQl2b2lkICgqZnVuYykgKHZvaWQgKmluZm8pID0gY2FsbF9kYXRhLT5mdW5jOwotCXZvaWQgKmluZm8gPSBjYWxsX2RhdGEtPmluZm87Ci0JLyogbXVzdCB0YWtlIGNvcHkgb2Ygd2FpdCBiZWNhdXNlIGNhbGxfZGF0YSBtYXkgYmUgcmVwbGFjZWQKLQkgKiB1bmxlc3MgdGhlIGZ1bmN0aW9uIGlzIHdhaXRpbmcgZm9yIHVzIHRvIGZpbmlzaCAqLwotCWludCB3YWl0ID0gY2FsbF9kYXRhLT53YWl0OwotCV9fdTggY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOwotCi0JLyoKLQkgKiBOb3RpZnkgaW5pdGlhdGluZyBDUFUgdGhhdCBJJ3ZlIGdyYWJiZWQgdGhlIGRhdGEgYW5kIGFtCi0JICogYWJvdXQgdG8gZXhlY3V0ZSB0aGUgZnVuY3Rpb24KLQkgKi8KLQltYigpOwotCWlmICghdGVzdF9hbmRfY2xlYXJfYml0KGNwdSwgJmNhbGxfZGF0YS0+c3RhcnRlZCkpIHsKLQkJLyogSWYgdGhlIGJpdCB3YXNuJ3Qgc2V0LCB0aGlzIGNvdWxkIGJlIGEgcmVwbGF5ICovCi0JCXByaW50ayhLRVJOX1dBUk5JTkcgIlZPWUFHRVIgU01QOiBDUFUgJWQgcmVjZWl2ZWQgY2FsbCBmdW50aW9uIgotCQkgICAgICAgIiB3aXRoIG5vIGNhbGwgcGVuZGluZ1xuIiwgY3B1KTsKLQkJcmV0dXJuOwotCX0KLQkvKgotCSAqIEF0IHRoaXMgcG9pbnQgdGhlIGluZm8gc3RydWN0dXJlIG1heSBiZSBvdXQgb2Ygc2NvcGUgdW5sZXNzIHdhaXQ9PTEKLQkgKi8KIAlpcnFfZW50ZXIoKTsKLQkoKmZ1bmMpIChpbmZvKTsKKwlnZW5lcmljX3NtcF9jYWxsX2Z1bmN0aW9uX2ludGVycnVwdCgpOwogCV9fZ2V0X2NwdV92YXIoaXJxX3N0YXQpLmlycV9jYWxsX2NvdW50Kys7CiAJaXJxX2V4aXQoKTsKLQlpZiAod2FpdCkgewotCQltYigpOwotCQljbGVhcl9iaXQoY3B1LCAmY2FsbF9kYXRhLT5maW5pc2hlZCk7Ci0JfQogfQogCi1zdGF0aWMgaW50Ci12b3lhZ2VyX3NtcF9jYWxsX2Z1bmN0aW9uX21hc2soY3B1bWFza190IGNwdW1hc2ssCi0JCQkgICAgICAgdm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywgaW50IHdhaXQpCitzdGF0aWMgdm9pZCBzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGVfaW50ZXJydXB0KHZvaWQpCiB7Ci0Jc3RydWN0IGNhbGxfZGF0YV9zdHJ1Y3QgZGF0YTsKLQl1MzIgbWFzayA9IGNwdXNfYWRkcihjcHVtYXNrKVswXTsKLQotCW1hc2sgJj0gfigxIDw8IHNtcF9wcm9jZXNzb3JfaWQoKSk7Ci0KLQlpZiAoIW1hc2spCi0JCXJldHVybiAwOwotCi0JLyogQ2FuIGRlYWRsb2NrIHdoZW4gY2FsbGVkIHdpdGggaW50ZXJydXB0cyBkaXNhYmxlZCAqLwotCVdBUk5fT04oaXJxc19kaXNhYmxlZCgpKTsKLQotCWRhdGEuZnVuYyA9IGZ1bmM7Ci0JZGF0YS5pbmZvID0gaW5mbzsKLQlkYXRhLnN0YXJ0ZWQgPSBtYXNrOwotCWRhdGEud2FpdCA9IHdhaXQ7Ci0JaWYgKHdhaXQpCi0JCWRhdGEuZmluaXNoZWQgPSBtYXNrOwotCi0Jc3Bpbl9sb2NrKCZjYWxsX2xvY2spOwotCWNhbGxfZGF0YSA9ICZkYXRhOwotCXdtYigpOwotCS8qIFNlbmQgYSBtZXNzYWdlIHRvIGFsbCBvdGhlciBDUFVzIGFuZCB3YWl0IGZvciB0aGVtIHRvIHJlc3BvbmQgKi8KLQlzZW5kX0NQSShtYXNrLCBWSUNfQ0FMTF9GVU5DVElPTl9DUEkpOwotCi0JLyogV2FpdCBmb3IgcmVzcG9uc2UgKi8KLQl3aGlsZSAoZGF0YS5zdGFydGVkKQotCQliYXJyaWVyKCk7Ci0KLQlpZiAod2FpdCkKLQkJd2hpbGUgKGRhdGEuZmluaXNoZWQpCi0JCQliYXJyaWVyKCk7Ci0KLQlzcGluX3VubG9jaygmY2FsbF9sb2NrKTsKLQotCXJldHVybiAwOworCWlycV9lbnRlcigpOworCWdlbmVyaWNfc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2ludGVycnVwdCgpOworCV9fZ2V0X2NwdV92YXIoaXJxX3N0YXQpLmlycV9jYWxsX2NvdW50Kys7CisJaXJxX2V4aXQoKTsKIH0KIAogLyogU29ycnkgYWJvdXQgdGhlIG5hbWUuICBJbiBhbiBBUElDIGJhc2VkIHN5c3RlbSwgdGhlIEFQSUNzCkBAIC0xMDk5LDYgKzEwMjQsMTIgQEAKIAlzbXBfY2FsbF9mdW5jdGlvbl9pbnRlcnJ1cHQoKTsKIH0KIAordm9pZCBzbXBfcWljX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2ludGVycnVwdChzdHJ1Y3QgcHRfcmVncyAqcmVncykKK3sKKwlhY2tfUUlDX0NQSShRSUNfQ0FMTF9GVU5DVElPTl9TSU5HTEVfQ1BJKTsKKwlzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGVfaW50ZXJydXB0KCk7Cit9CisKIHZvaWQgc21wX3ZpY19jcGlfaW50ZXJydXB0KHN0cnVjdCBwdF9yZWdzICpyZWdzKQogewogCXN0cnVjdCBwdF9yZWdzICpvbGRfcmVncyA9IHNldF9pcnFfcmVncyhyZWdzKTsKQEAgLTExMTksNiArMTA1MCw4IEBACiAJCXNtcF9lbmFibGVfaXJxX2ludGVycnVwdCgpOwogCWlmICh0ZXN0X2FuZF9jbGVhcl9iaXQoVklDX0NBTExfRlVOQ1RJT05fQ1BJLCAmdmljX2NwaV9tYWlsYm94W2NwdV0pKQogCQlzbXBfY2FsbF9mdW5jdGlvbl9pbnRlcnJ1cHQoKTsKKwlpZiAodGVzdF9hbmRfY2xlYXJfYml0KFZJQ19DQUxMX0ZVTkNUSU9OX1NJTkdMRV9DUEksICZ2aWNfY3BpX21haWxib3hbY3B1XSkpCisJCXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZV9pbnRlcnJ1cHQoKTsKIAlzZXRfaXJxX3JlZ3Mob2xkX3JlZ3MpOwogfQogCkBAIC0xMTM0LDE2ICsxMDY3LDcgQEAKIC8qIGZsdXNoIHRoZSBUTEIgb2YgZXZlcnkgYWN0aXZlIENQVSBpbiB0aGUgc3lzdGVtICovCiB2b2lkIGZsdXNoX3RsYl9hbGwodm9pZCkKIHsKLQlvbl9lYWNoX2NwdShkb19mbHVzaF90bGJfYWxsLCAwLCAxLCAxKTsKLX0KLQotLyogdXNlZCB0byBzZXQgdXAgdGhlIHRyYW1wb2xpbmUgZm9yIG90aGVyIENQVXMgd2hlbiB0aGUgbWVtb3J5IG1hbmFnZXIKLSAqIGlzIHNvcnRlZCBvdXQgKi8KLXZvaWQgX19pbml0IHNtcF9hbGxvY19tZW1vcnkodm9pZCkKLXsKLQl0cmFtcG9saW5lX2Jhc2UgPSBhbGxvY19ib290bWVtX2xvd19wYWdlcyhQQUdFX1NJWkUpOwotCWlmIChfX3BhKHRyYW1wb2xpbmVfYmFzZSkgPj0gMHg5MzAwMCkKLQkJQlVHKCk7CisJb25fZWFjaF9jcHUoZG9fZmx1c2hfdGxiX2FsbCwgMCwgMSk7CiB9CiAKIC8qIHNlbmQgYSByZXNjaGVkdWxlIENQSSB0byBvbmUgQ1BVIGJ5IHBoeXNpY2FsIENQVSBudW1iZXIqLwpAQCAtMTE3NSw3ICsxMDk5LDcgQEAKIC8qIGJyb2FkY2FzdCBhIGhhbHQgdG8gYWxsIG90aGVyIENQVXMgKi8KIHN0YXRpYyB2b2lkIHZveWFnZXJfc21wX3NlbmRfc3RvcCh2b2lkKQogewotCXNtcF9jYWxsX2Z1bmN0aW9uKHNtcF9zdG9wX2NwdV9mdW5jdGlvbiwgTlVMTCwgMSwgMSk7CisJc21wX2NhbGxfZnVuY3Rpb24oc21wX3N0b3BfY3B1X2Z1bmN0aW9uLCBOVUxMLCAxKTsKIH0KIAogLyogdGhpcyBmdW5jdGlvbiBpcyB0cmlnZ2VyZWQgaW4gdGltZS5jIHdoZW4gYSBjbG9jayB0aWNrIGZpcmVzCkBAIC0xODYyLDUgKzE3ODYsNyBAQAogCiAJLnNtcF9zZW5kX3N0b3AgPSB2b3lhZ2VyX3NtcF9zZW5kX3N0b3AsCiAJLnNtcF9zZW5kX3Jlc2NoZWR1bGUgPSB2b3lhZ2VyX3NtcF9zZW5kX3Jlc2NoZWR1bGUsCi0JLnNtcF9jYWxsX2Z1bmN0aW9uX21hc2sgPSB2b3lhZ2VyX3NtcF9jYWxsX2Z1bmN0aW9uX21hc2ssCisKKwkuc2VuZF9jYWxsX2Z1bmNfaXBpID0gbmF0aXZlX3NlbmRfY2FsbF9mdW5jX2lwaSwKKwkuc2VuZF9jYWxsX2Z1bmNfc2luZ2xlX2lwaSA9IG5hdGl2ZV9zZW5kX2NhbGxfZnVuY19zaW5nbGVfaXBpLAogfTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L21hdGgtZW11L3JlZ19jb25zdGFudC5jIGIvYXJjaC94ODYvbWF0aC1lbXUvcmVnX2NvbnN0YW50LmMKaW5kZXggMDQ4NjllNi4uMDA1NDgzNSAxMDA2NDQKLS0tIGEvYXJjaC94ODYvbWF0aC1lbXUvcmVnX2NvbnN0YW50LmMKKysrIGIvYXJjaC94ODYvbWF0aC1lbXUvcmVnX2NvbnN0YW50LmMKQEAgLTE2LDggKzE2LDggQEAKICNpbmNsdWRlICJyZWdfY29uc3RhbnQuaCIKICNpbmNsdWRlICJjb250cm9sX3cuaCIKIAotI2RlZmluZSBNQUtFX1JFRyhzLGUsbCxoKSB7IGwsIGgsIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEVYVEVOREVEX0ViaWFzKyhlKSkgfCAoKFNJR05fIyNzICE9IDApKjB4ODAwMCkpIH0KKyNkZWZpbmUgTUFLRV9SRUcocywgZSwgbCwgaCkgeyBsLCBoLCBcCisJCSgoRVhURU5ERURfRWJpYXMrKGUpKSB8ICgoU0lHTl8jI3MgIT0gMCkqMHg4MDAwKSkgfQogCiBGUFVfUkVHIGNvbnN0IENPTlNUXzEgPSBNQUtFX1JFRyhQT1MsIDAsIDB4MDAwMDAwMDAsIDB4ODAwMDAwMDApOwogI2lmIDAKQEAgLTQwLDcgKzQwLDcgQEAKIEZQVV9SRUcgY29uc3QgQ09OU1RfWiA9IE1BS0VfUkVHKFBPUywgRVhQX1VOREVSLCAweDAsIDB4MCk7CiAKIC8qIE9ubHkgdGhlIHNpZ24gYW5kIHNpZ25pZmljYW5kIChhbmQgdGFnKSBhcmUgdXNlZCBpbiBpbnRlcm5hbCBOYU5zICovCi0vKiBUaGUgODA0ODYgbmV2ZXIgZ2VuZXJhdGVzIG9uZSBvZiB0aGVzZSAKKy8qIFRoZSA4MDQ4NiBuZXZlciBnZW5lcmF0ZXMgb25lIG9mIHRoZXNlCiBGUFVfUkVHIGNvbnN0IENPTlNUX1NOQU4gPSBNQUtFX1JFRyhQT1MsIEVYUF9PVkVSLCAweDAwMDAwMDAxLCAweDgwMDAwMDAwKTsKICAqLwogLyogVGhpcyBpcyB0aGUgcmVhbCBpbmRlZmluaXRlIFFOYU4gKi8KQEAgLTQ5LDcgKzQ5LDcgQEAKIC8qIE9ubHkgdGhlIHNpZ24gKGFuZCB0YWcpIGlzIHVzZWQgaW4gaW50ZXJuYWwgaW5maW5pdGllcyAqLwogRlBVX1JFRyBjb25zdCBDT05TVF9JTkYgPSBNQUtFX1JFRyhQT1MsIEVYUF9PVkVSLCAweDAwMDAwMDAwLCAweDgwMDAwMDAwKTsKIAotc3RhdGljIHZvaWQgZmxkX2NvbnN0KEZQVV9SRUcgY29uc3QgKmMsIGludCBhZGosIHVfY2hhciB0YWcpCitzdGF0aWMgdm9pZCBmbGRfY29uc3QoRlBVX1JFRyBjb25zdCAqIGMsIGludCBhZGosIHVfY2hhciB0YWcpCiB7CiAJRlBVX1JFRyAqc3RfbmV3X3B0cjsKIApkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbW0vTWFrZWZpbGUgYi9hcmNoL3g4Ni9tbS9NYWtlZmlsZQppbmRleCBiN2IzZTRjLi45ODczNzE2IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9tbS9NYWtlZmlsZQorKysgYi9hcmNoL3g4Ni9tbS9NYWtlZmlsZQpAQCAtOCwxMCArOCwxNiBAQAogCiBvYmotJChDT05GSUdfSElHSE1FTSkJCSs9IGhpZ2htZW1fMzIubwogCitvYmotJChDT05GSUdfTU1JT1RSQUNFX0hPT0tTKQkrPSBrbW1pby5vCitvYmotJChDT05GSUdfTU1JT1RSQUNFKQkJKz0gbW1pb3RyYWNlLm8KK21taW90cmFjZS15CQkJOj0gcGZfaW4ubyBtbWlvLW1vZC5vCitvYmotJChDT05GSUdfTU1JT1RSQUNFX1RFU1QpCSs9IHRlc3RtbWlvdHJhY2UubworCiBpZmVxICgkKENPTkZJR19YODZfMzIpLHkpCiBvYmotJChDT05GSUdfTlVNQSkJCSs9IGRpc2NvbnRpZ18zMi5vCiBlbHNlCiBvYmotJChDT05GSUdfTlVNQSkJCSs9IG51bWFfNjQubwogb2JqLSQoQ09ORklHX0s4X05VTUEpCQkrPSBrOHRvcG9sb2d5XzY0Lm8KLW9iai0kKENPTkZJR19BQ1BJX05VTUEpCQkrPSBzcmF0XzY0Lm8KIGVuZGlmCitvYmotJChDT05GSUdfQUNQSV9OVU1BKQkJKz0gc3JhdF8kKEJJVFMpLm8KKwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbW0vZGlzY29udGlnXzMyLmMgYi9hcmNoL3g4Ni9tbS9kaXNjb250aWdfMzIuYwppbmRleCA5MTRjY2Y5Li41ZGZlZjlmIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9tbS9kaXNjb250aWdfMzIuYworKysgYi9hcmNoL3g4Ni9tbS9kaXNjb250aWdfMzIuYwpAQCAtMzgsNiArMzgsNyBAQAogI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgogI2luY2x1ZGUgPGFzbS9tbXpvbmUuaD4KICNpbmNsdWRlIDxhc20vYmlvc19lYmRhLmg+CisjaW5jbHVkZSA8YXNtL3Byb3RvLmg+CiAKIHN0cnVjdCBwZ2xpc3RfZGF0YSAqbm9kZV9kYXRhW01BWF9OVU1OT0RFU10gX19yZWFkX21vc3RseTsKIEVYUE9SVF9TWU1CT0wobm9kZV9kYXRhKTsKQEAgLTU5LDE0ICs2MCwxNCBAQAogLyoKICAqIDQpIHBoeXNub2RlX21hcCAgICAgLSB0aGUgbWFwcGluZyBiZXR3ZWVuIGEgcGZuIGFuZCBvd25pbmcgbm9kZQogICogcGh5c25vZGVfbWFwIGtlZXBzIHRyYWNrIG9mIHRoZSBwaHlzaWNhbCBtZW1vcnkgbGF5b3V0IG9mIGEgZ2VuZXJpYwotICogbnVtYSBub2RlIG9uIGEgMjU2TWIgYnJlYWsgKGVhY2ggZWxlbWVudCBvZiB0aGUgYXJyYXkgd2lsbAotICogcmVwcmVzZW50IDI1Nk1iIG9mIG1lbW9yeSBhbmQgd2lsbCBiZSBtYXJrZWQgYnkgdGhlIG5vZGUgaWQuICBzbywKKyAqIG51bWEgbm9kZSBvbiBhIDY0TWIgYnJlYWsgKGVhY2ggZWxlbWVudCBvZiB0aGUgYXJyYXkgd2lsbAorICogcmVwcmVzZW50IDY0TWIgb2YgbWVtb3J5IGFuZCB3aWxsIGJlIG1hcmtlZCBieSB0aGUgbm9kZSBpZC4gIHNvLAogICogaWYgdGhlIGZpcnN0IGdpZyBpcyBvbiBub2RlIDAsIGFuZCB0aGUgc2Vjb25kIGdpZyBpcyBvbiBub2RlIDEKICAqIHBoeXNub2RlX21hcCB3aWxsIGNvbnRhaW46CiAgKgotICogICAgIHBoeXNub2RlX21hcFswLTNdID0gMDsKLSAqICAgICBwaHlzbm9kZV9tYXBbNC03XSA9IDE7Ci0gKiAgICAgcGh5c25vZGVfbWFwWzgtIF0gPSAtMTsKKyAqICAgICBwaHlzbm9kZV9tYXBbMC0xNV0gPSAwOworICogICAgIHBoeXNub2RlX21hcFsxNi0zMV0gPSAxOworICogICAgIHBoeXNub2RlX21hcFszMi0gXSA9IC0xOwogICovCiBzOCBwaHlzbm9kZV9tYXBbTUFYX0VMRU1FTlRTXSBfX3JlYWRfbW9zdGx5ID0geyBbMCAuLi4gKE1BWF9FTEVNRU5UUyAtIDEpXSA9IC0xfTsKIEVYUE9SVF9TWU1CT0wocGh5c25vZGVfbWFwKTsKQEAgLTc1LDE1ICs3NiwxNSBAQAogewogCXVuc2lnbmVkIGxvbmcgcGZuOwogCi0JcHJpbnRrKEtFUk5fSU5GTyAiTm9kZTogJWQsIHN0YXJ0X3BmbjogJWxkLCBlbmRfcGZuOiAlbGRcbiIsCisJcHJpbnRrKEtFUk5fSU5GTyAiTm9kZTogJWQsIHN0YXJ0X3BmbjogJWx4LCBlbmRfcGZuOiAlbHhcbiIsCiAJCQluaWQsIHN0YXJ0LCBlbmQpOwogCXByaW50ayhLRVJOX0RFQlVHICIgIFNldHRpbmcgcGh5c25vZGVfbWFwIGFycmF5IHRvIG5vZGUgJWQgZm9yIHBmbnM6XG4iLCBuaWQpOwogCXByaW50ayhLRVJOX0RFQlVHICIgICIpOwogCWZvciAocGZuID0gc3RhcnQ7IHBmbiA8IGVuZDsgcGZuICs9IFBBR0VTX1BFUl9FTEVNRU5UKSB7CiAJCXBoeXNub2RlX21hcFtwZm4gLyBQQUdFU19QRVJfRUxFTUVOVF0gPSBuaWQ7Ci0JCXByaW50aygiJWxkICIsIHBmbik7CisJCXByaW50ayhLRVJOX0NPTlQgIiVseCAiLCBwZm4pOwogCX0KLQlwcmludGsoIlxuIik7CisJcHJpbnRrKEtFUk5fQ09OVCAiXG4iKTsKIH0KIAogdW5zaWduZWQgbG9uZyBub2RlX21lbW1hcF9zaXplX2J5dGVzKGludCBuaWQsIHVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuLApAQCAtOTksNyArMTAwLDYgQEAKICNlbmRpZgogCiBleHRlcm4gdW5zaWduZWQgbG9uZyBmaW5kX21heF9sb3dfcGZuKHZvaWQpOwotZXh0ZXJuIHZvaWQgYWRkX29uZV9oaWdocGFnZV9pbml0KHN0cnVjdCBwYWdlICosIGludCwgaW50KTsKIGV4dGVybiB1bnNpZ25lZCBsb25nIGhpZ2hlbmRfcGZuLCBoaWdoc3RhcnRfcGZuOwogCiAjZGVmaW5lIExBUkdFX1BBR0VfQllURVMgKFBUUlNfUEVSX1BURSAqIFBBR0VfU0laRSkKQEAgLTExNywxMyArMTE3LDEzIEBACiAgKi8KIGludCBfX2luaXQgZ2V0X21lbWNmZ19udW1hX2ZsYXQodm9pZCkKIHsKLQlwcmludGsoIk5VTUEgLSBzaW5nbGUgbm9kZSwgZmxhdCBtZW1vcnkgbW9kZVxuIik7CisJcHJpbnRrKEtFUk5fREVCVUcgIk5VTUEgLSBzaW5nbGUgbm9kZSwgZmxhdCBtZW1vcnkgbW9kZVxuIik7CiAKLQkvKiBSdW4gdGhlIG1lbW9yeSBjb25maWd1cmF0aW9uIGFuZCBmaW5kIHRoZSB0b3Agb2YgbWVtb3J5LiAqLwotCXByb3BhZ2F0ZV9lODIwX21hcCgpOwogCW5vZGVfc3RhcnRfcGZuWzBdID0gMDsKIAlub2RlX2VuZF9wZm5bMF0gPSBtYXhfcGZuOworCWU4MjBfcmVnaXN0ZXJfYWN0aXZlX3JlZ2lvbnMoMCwgMCwgbWF4X3Bmbik7CiAJbWVtb3J5X3ByZXNlbnQoMCwgMCwgbWF4X3Bmbik7CisJbm9kZV9yZW1hcF9zaXplWzBdID0gbm9kZV9tZW1tYXBfc2l6ZV9ieXRlcygwLCAwLCBtYXhfcGZuKTsKIAogICAgICAgICAvKiBJbmRpY2F0ZSB0aGVyZSBpcyBvbmUgbm9kZSBhdmFpbGFibGUuICovCiAJbm9kZXNfY2xlYXIobm9kZV9vbmxpbmVfbWFwKTsKQEAgLTE1NiwyNCArMTU2LDMyIEBACiAgKi8KIHN0YXRpYyB2b2lkIF9faW5pdCBhbGxvY2F0ZV9wZ2RhdChpbnQgbmlkKQogewotCWlmIChuaWQgJiYgbm9kZV9oYXNfb25saW5lX21lbShuaWQpKQorCWNoYXIgYnVmWzE2XTsKKworCWlmIChub2RlX2hhc19vbmxpbmVfbWVtKG5pZCkgJiYgbm9kZV9yZW1hcF9zdGFydF92YWRkcltuaWRdKQogCQlOT0RFX0RBVEEobmlkKSA9IChwZ19kYXRhX3QgKilub2RlX3JlbWFwX3N0YXJ0X3ZhZGRyW25pZF07CiAJZWxzZSB7Ci0JCU5PREVfREFUQShuaWQpID0gKHBnX2RhdGFfdCAqKShwZm5fdG9fa2FkZHIobWluX2xvd19wZm4pKTsKLQkJbWluX2xvd19wZm4gKz0gUEZOX1VQKHNpemVvZihwZ19kYXRhX3QpKTsKKwkJdW5zaWduZWQgbG9uZyBwZ2RhdF9waHlzOworCQlwZ2RhdF9waHlzID0gZmluZF9lODIwX2FyZWEobWluX2xvd19wZm48PFBBR0VfU0hJRlQsCisJCQkJIG1heF9wZm5fbWFwcGVkPDxQQUdFX1NISUZULAorCQkJCSBzaXplb2YocGdfZGF0YV90KSwKKwkJCQkgUEFHRV9TSVpFKTsKKwkJTk9ERV9EQVRBKG5pZCkgPSAocGdfZGF0YV90ICopKHBmbl90b19rYWRkcihwZ2RhdF9waHlzPj5QQUdFX1NISUZUKSk7CisJCW1lbXNldChidWYsIDAsIHNpemVvZihidWYpKTsKKwkJc3ByaW50ZihidWYsICJOT0RFX0RBVEEgJWQiLCAgbmlkKTsKKwkJcmVzZXJ2ZV9lYXJseShwZ2RhdF9waHlzLCBwZ2RhdF9waHlzICsgc2l6ZW9mKHBnX2RhdGFfdCksIGJ1Zik7CiAJfQorCXByaW50ayhLRVJOX0RFQlVHICJhbGxvY2F0ZV9wZ2RhdDogbm9kZSAlZCBOT0RFX0RBVEEgJTA4bHhcbiIsCisJCW5pZCwgKHVuc2lnbmVkIGxvbmcpTk9ERV9EQVRBKG5pZCkpOwogfQogCi0jaWZkZWYgQ09ORklHX0RJU0NPTlRJR01FTQogLyoKLSAqIEluIHRoZSBkaXNjb250aWcgbWVtb3J5IG1vZGVsLCBhIHBvcnRpb24gb2YgdGhlIGtlcm5lbCB2aXJ0dWFsIGFyZWEgKEtWQSkKLSAqIGlzIHJlc2VydmVkIGFuZCBwb3J0aW9ucyBvZiBub2RlcyBhcmUgbWFwcGVkIHVzaW5nIGl0LiBUaGlzIGlzIHRvIGFsbG93Ci0gKiBub2RlLWxvY2FsIG1lbW9yeSB0byBiZSBhbGxvY2F0ZWQgZm9yIHN0cnVjdHVyZXMgdGhhdCB3b3VsZCBub3JtYWxseSByZXF1aXJlCi0gKiBaT05FX05PUk1BTC4gVGhlIG1lbW9yeSBpcyBhbGxvY2F0ZWQgd2l0aCBhbGxvY19yZW1hcCgpIGFuZCBjYWxsZXJzCi0gKiBzaG91bGQgYmUgcHJlcGFyZWQgdG8gYWxsb2NhdGUgZnJvbSB0aGUgYm9vdG1lbSBhbGxvY2F0b3IgaW5zdGVhZC4gVGhpcyBLVkEKLSAqIG1lY2hhbmlzbSBpcyBpbmNvbXBhdGlibGUgd2l0aCBTUEFSU0VNRU0gYXMgaXQgbWFrZXMgYXNzdW1wdGlvbnMgYWJvdXQgdGhlCi0gKiBsYXlvdXQgb2YgbWVtb3J5IHRoYXQgYXJlIGJyb2tlbiBpZiBhbGxvY19yZW1hcCgpIHN1Y2NlZWRzIGZvciBzb21lIG9mIHRoZQotICogbWFwIGFuZCBmYWlscyBmb3Igb3RoZXJzCisgKiBJbiB0aGUgRElTQ09OVElHTUVNIGFuZCBTUEFSU0VNRU0gbWVtb3J5IG1vZGVsLCBhIHBvcnRpb24gb2YgdGhlIGtlcm5lbAorICogdmlydHVhbCBhZGRyZXNzIHNwYWNlIChLVkEpIGlzIHJlc2VydmVkIGFuZCBwb3J0aW9ucyBvZiBub2RlcyBhcmUgbWFwcGVkCisgKiB1c2luZyBpdC4gVGhpcyBpcyB0byBhbGxvdyBub2RlLWxvY2FsIG1lbW9yeSB0byBiZSBhbGxvY2F0ZWQgZm9yCisgKiBzdHJ1Y3R1cmVzIHRoYXQgd291bGQgbm9ybWFsbHkgcmVxdWlyZSBaT05FX05PUk1BTC4gVGhlIG1lbW9yeSBpcworICogYWxsb2NhdGVkIHdpdGggYWxsb2NfcmVtYXAoKSBhbmQgY2FsbGVycyBzaG91bGQgYmUgcHJlcGFyZWQgdG8gYWxsb2NhdGUKKyAqIGZyb20gdGhlIGJvb3RtZW0gYWxsb2NhdG9yIGluc3RlYWQuCiAgKi8KIHN0YXRpYyB1bnNpZ25lZCBsb25nIG5vZGVfcmVtYXBfc3RhcnRfcGZuW01BWF9OVU1OT0RFU107CiBzdGF0aWMgdm9pZCAqbm9kZV9yZW1hcF9lbmRfdmFkZHJbTUFYX05VTU5PREVTXTsKQEAgLTE5NSwxNSArMjAzLDE5IEBACiAJcmV0dXJuIGFsbG9jYXRpb247CiB9CiAKLXZvaWQgX19pbml0IHJlbWFwX251bWFfa3ZhKHZvaWQpCitzdGF0aWMgdm9pZCBfX2luaXQgcmVtYXBfbnVtYV9rdmEodm9pZCkKIHsKIAl2b2lkICp2YWRkcjsKIAl1bnNpZ25lZCBsb25nIHBmbjsKIAlpbnQgbm9kZTsKIAogCWZvcl9lYWNoX29ubGluZV9ub2RlKG5vZGUpIHsKKwkJcHJpbnRrKEtFUk5fREVCVUcgInJlbWFwX251bWFfa3ZhOiBub2RlICVkXG4iLCBub2RlKTsKIAkJZm9yIChwZm49MDsgcGZuIDwgbm9kZV9yZW1hcF9zaXplW25vZGVdOyBwZm4gKz0gUFRSU19QRVJfUFRFKSB7CiAJCQl2YWRkciA9IG5vZGVfcmVtYXBfc3RhcnRfdmFkZHJbbm9kZV0rKHBmbjw8UEFHRV9TSElGVCk7CisJCQlwcmludGsoS0VSTl9ERUJVRyAicmVtYXBfbnVtYV9rdmE6ICUwOGx4IHRvIHBmbiAlMDhseFxuIiwKKwkJCQkodW5zaWduZWQgbG9uZyl2YWRkciwKKwkJCQlub2RlX3JlbWFwX3N0YXJ0X3Bmbltub2RlXSArIHBmbik7CiAJCQlzZXRfcG1kX3BmbigodWxvbmcpIHZhZGRyLCAKIAkJCQlub2RlX3JlbWFwX3N0YXJ0X3Bmbltub2RlXSArIHBmbiwgCiAJCQkJUEFHRV9LRVJORUxfTEFSR0UpOwpAQCAtMjE1LDE3ICsyMjcsMjEgQEAKIHsKIAlpbnQgbmlkOwogCXVuc2lnbmVkIGxvbmcgc2l6ZSwgcmVzZXJ2ZV9wYWdlcyA9IDA7Ci0JdW5zaWduZWQgbG9uZyBwZm47CiAKIAlmb3JfZWFjaF9vbmxpbmVfbm9kZShuaWQpIHsKLQkJdW5zaWduZWQgb2xkX2VuZF9wZm4gPSBub2RlX2VuZF9wZm5bbmlkXTsKKwkJdTY0IG5vZGVfa3ZhX3RhcmdldDsKKwkJdTY0IG5vZGVfa3ZhX2ZpbmFsOwogCiAJCS8qCiAJCSAqIFRoZSBhY3BpL3NyYXQgbm9kZSBpbmZvIGNhbiBzaG93IGhvdC1hZGQgbWVtcm95IHpvbmVzCiAJCSAqIHdoZXJlIG1lbW9yeSBjb3VsZCBiZSBhZGRlZCBidXQgbm90IGN1cnJlbnRseSBwcmVzZW50LgogCQkgKi8KKwkJcHJpbnRrKEtFUk5fREVCVUcgIm5vZGUgJWQgcGZuOiBbJWx4IC0gJWx4XVxuIiwKKwkJCW5pZCwgbm9kZV9zdGFydF9wZm5bbmlkXSwgbm9kZV9lbmRfcGZuW25pZF0pOwogCQlpZiAobm9kZV9zdGFydF9wZm5bbmlkXSA+IG1heF9wZm4pCiAJCQljb250aW51ZTsKKwkJaWYgKCFub2RlX2VuZF9wZm5bbmlkXSkKKwkJCWNvbnRpbnVlOwogCQlpZiAobm9kZV9lbmRfcGZuW25pZF0gPiBtYXhfcGZuKQogCQkJbm9kZV9lbmRfcGZuW25pZF0gPSBtYXhfcGZuOwogCkBAIC0yMzcsNDEgKzI1Myw0OCBAQAogCQkvKiBub3cgdGhlIHJvdW5kdXAgaXMgY29ycmVjdCwgY29udmVydCB0byBQQUdFX1NJWkUgcGFnZXMgKi8KIAkJc2l6ZSA9IHNpemUgKiBQVFJTX1BFUl9QVEU7CiAKLQkJLyoKLQkJICogVmFsaWRhdGUgdGhlIHJlZ2lvbiB3ZSBhcmUgYWxsb2NhdGluZyBvbmx5IGNvbnRhaW5zIHZhbGlkCi0JCSAqIHBhZ2VzLgotCQkgKi8KLQkJZm9yIChwZm4gPSBub2RlX2VuZF9wZm5bbmlkXSAtIHNpemU7Ci0JCSAgICAgcGZuIDwgbm9kZV9lbmRfcGZuW25pZF07IHBmbisrKQotCQkJaWYgKCFwYWdlX2lzX3JhbShwZm4pKQotCQkJCWJyZWFrOworCQlub2RlX2t2YV90YXJnZXQgPSByb3VuZF9kb3duKG5vZGVfZW5kX3BmbltuaWRdIC0gc2l6ZSwKKwkJCQkJCSBQVFJTX1BFUl9QVEUpOworCQlub2RlX2t2YV90YXJnZXQgPDw9IFBBR0VfU0hJRlQ7CisJCWRvIHsKKwkJCW5vZGVfa3ZhX2ZpbmFsID0gZmluZF9lODIwX2FyZWEobm9kZV9rdmFfdGFyZ2V0LAorCQkJCQkoKHU2NClub2RlX2VuZF9wZm5bbmlkXSk8PFBBR0VfU0hJRlQsCisJCQkJCQkoKHU2NClzaXplKTw8UEFHRV9TSElGVCwKKwkJCQkJCUxBUkdFX1BBR0VfQllURVMpOworCQkJbm9kZV9rdmFfdGFyZ2V0IC09IExBUkdFX1BBR0VfQllURVM7CisJCX0gd2hpbGUgKG5vZGVfa3ZhX2ZpbmFsID09IC0xVUxMICYmCisJCQkgKG5vZGVfa3ZhX3RhcmdldD4+UEFHRV9TSElGVCkgPiAobm9kZV9zdGFydF9wZm5bbmlkXSkpOwogCi0JCWlmIChwZm4gIT0gbm9kZV9lbmRfcGZuW25pZF0pCi0JCQlzaXplID0gMDsKKwkJaWYgKG5vZGVfa3ZhX2ZpbmFsID09IC0xVUxMKQorCQkJcGFuaWMoIkNhbiBub3QgZ2V0IGt2YSByYW1cbiIpOwogCi0JCXByaW50aygiUmVzZXJ2aW5nICVsZCBwYWdlcyBvZiBLVkEgZm9yIGxtZW1fbWFwIG9mIG5vZGUgJWRcbiIsCi0JCQkJc2l6ZSwgbmlkKTsKIAkJbm9kZV9yZW1hcF9zaXplW25pZF0gPSBzaXplOwogCQlub2RlX3JlbWFwX29mZnNldFtuaWRdID0gcmVzZXJ2ZV9wYWdlczsKIAkJcmVzZXJ2ZV9wYWdlcyArPSBzaXplOwotCQlwcmludGsoIlNocmlua2luZyBub2RlICVkIGZyb20gJWxkIHBhZ2VzIHRvICVsZCBwYWdlc1xuIiwKLQkJCW5pZCwgbm9kZV9lbmRfcGZuW25pZF0sIG5vZGVfZW5kX3BmbltuaWRdIC0gc2l6ZSk7CisJCXByaW50ayhLRVJOX0RFQlVHICJSZXNlcnZpbmcgJWxkIHBhZ2VzIG9mIEtWQSBmb3IgbG1lbV9tYXAgb2YiCisJCQkJICAiIG5vZGUgJWQgYXQgJWxseFxuIiwKKwkJCQlzaXplLCBuaWQsIG5vZGVfa3ZhX2ZpbmFsPj5QQUdFX1NISUZUKTsKIAotCQlpZiAobm9kZV9lbmRfcGZuW25pZF0gJiAoUFRSU19QRVJfUFRFLTEpKSB7Ci0JCQkvKgotCQkJICogQWxpZ24gbm9kZV9lbmRfcGZuW10gYW5kIG5vZGVfcmVtYXBfc3RhcnRfcGZuW10gdG8KLQkJCSAqIHBtZCBib3VuZGFyeS4gcmVtYXBfbnVtYV9rdmEgd2lsbCBiYXJmIG90aGVyd2lzZS4KLQkJCSAqLwotCQkJcHJpbnRrKCJTaHJpbmtpbmcgbm9kZSAlZCBmdXJ0aGVyIGJ5ICVsZCBwYWdlcyBmb3IgcHJvcGVyIGFsaWdubWVudFxuIiwKLQkJCQluaWQsIG5vZGVfZW5kX3BmbltuaWRdICYgKFBUUlNfUEVSX1BURS0xKSk7Ci0JCQlzaXplICs9ICBub2RlX2VuZF9wZm5bbmlkXSAmIChQVFJTX1BFUl9QVEUtMSk7Ci0JCX0KKwkJLyoKKwkJICogIHByZXZlbnQga3ZhIGFkZHJlc3MgYmVsb3cgbWF4X2xvd19wZm4gd2FudCBpdCBvbiBzeXN0ZW0KKwkJICogIHdpdGggbGVzcyBtZW1vcnkgbGF0ZXIuCisJCSAqICBsYXlvdXQgd2lsbCBiZTogS1ZBIGFkZHJlc3MgLCBLVkEgUkFNCisJCSAqCisJCSAqICB3ZSBhcmUgc3VwcG9zZWQgdG8gb25seSByZWNvcmQgdGhlIG9uZSBsZXNzIHRoZW4gbWF4X2xvd19wZm4KKwkJICogIGJ1dCB3ZSBjb3VsZCBoYXZlIHNvbWUgaG9sZSBpbiBoaWdoIG1lbW9yeSwgYW5kIGl0IHdpbGwgb25seQorCQkgKiAgY2hlY2sgcGFnZV9pc19yYW0ocGZuKSAmJiAhcGFnZV9pc19yZXNlcnZlZF9lYXJseShwZm4pIHRvIGRlY2lkZQorCQkgKiAgdG8gdXNlIGl0IGFzIGZyZWUuCisJCSAqICBTbyByZXNlcnZlX2Vhcmx5IGhlcmUsIGhvcGUgd2UgZG9uJ3QgcnVuIG91dCBvZiB0aGF0IGFycmF5CisJCSAqLworCQlyZXNlcnZlX2Vhcmx5KG5vZGVfa3ZhX2ZpbmFsLAorCQkJICAgICAgbm9kZV9rdmFfZmluYWwrKCgodTY0KXNpemUpPDxQQUdFX1NISUZUKSwKKwkJCSAgICAgICJLVkEgUkFNIik7CiAKLQkJbm9kZV9lbmRfcGZuW25pZF0gLT0gc2l6ZTsKLQkJbm9kZV9yZW1hcF9zdGFydF9wZm5bbmlkXSA9IG5vZGVfZW5kX3BmbltuaWRdOwotCQlzaHJpbmtfYWN0aXZlX3JhbmdlKG5pZCwgb2xkX2VuZF9wZm4sIG5vZGVfZW5kX3BmbltuaWRdKTsKKwkJbm9kZV9yZW1hcF9zdGFydF9wZm5bbmlkXSA9IG5vZGVfa3ZhX2ZpbmFsPj5QQUdFX1NISUZUOworCQlyZW1vdmVfYWN0aXZlX3JhbmdlKG5pZCwgbm9kZV9yZW1hcF9zdGFydF9wZm5bbmlkXSwKKwkJCQkJIG5vZGVfcmVtYXBfc3RhcnRfcGZuW25pZF0gKyBzaXplKTsKIAl9Ci0JcHJpbnRrKCJSZXNlcnZpbmcgdG90YWwgb2YgJWxkIHBhZ2VzIGZvciBudW1hIEtWQSByZW1hcFxuIiwKKwlwcmludGsoS0VSTl9JTkZPICJSZXNlcnZpbmcgdG90YWwgb2YgJWx4IHBhZ2VzIGZvciBudW1hIEtWQSByZW1hcFxuIiwKIAkJCXJlc2VydmVfcGFnZXMpOwogCXJldHVybiByZXNlcnZlX3BhZ2VzOwogfQpAQCAtMjg1LDM3ICszMDgsMTYgQEAKIAlub2RlX3JlbWFwX2FsbG9jX3ZhZGRyW25pZF0gPSBub2RlX3JlbWFwX3N0YXJ0X3ZhZGRyW25pZF0gKwogCQlBTElHTihzaXplb2YocGdfZGF0YV90KSwgUEFHRV9TSVpFKTsKIAotCXByaW50ayAoIm5vZGUgJWQgd2lsbCByZW1hcCB0byB2YWRkciAlMDhseCAtICUwOGx4XG4iLCBuaWQsCisJcHJpbnRrKEtFUk5fREVCVUcgIm5vZGUgJWQgd2lsbCByZW1hcCB0byB2YWRkciAlMDhseCAtICUwOGx4XG4iLCBuaWQsCiAJCSh1bG9uZykgbm9kZV9yZW1hcF9zdGFydF92YWRkcltuaWRdLAotCQkodWxvbmcpIHBmbl90b19rYWRkcihoaWdoc3RhcnRfcGZuCi0JCSAgICsgbm9kZV9yZW1hcF9vZmZzZXRbbmlkXSArIG5vZGVfcmVtYXBfc2l6ZVtuaWRdKSk7Ci19Ci0jZWxzZQotdm9pZCAqYWxsb2NfcmVtYXAoaW50IG5pZCwgdW5zaWduZWQgbG9uZyBzaXplKQotewotCXJldHVybiBOVUxMOworCQkodWxvbmcpIG5vZGVfcmVtYXBfZW5kX3ZhZGRyW25pZF0pOwogfQogCi1zdGF0aWMgdW5zaWduZWQgbG9uZyBjYWxjdWxhdGVfbnVtYV9yZW1hcF9wYWdlcyh2b2lkKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgdm9pZCBpbml0X3JlbWFwX2FsbG9jYXRvcihpbnQgbmlkKQotewotfQotCi12b2lkIF9faW5pdCByZW1hcF9udW1hX2t2YSh2b2lkKQotewotfQotI2VuZGlmIC8qIENPTkZJR19ESVNDT05USUdNRU0gKi8KLQotZXh0ZXJuIHZvaWQgc2V0dXBfYm9vdG1lbV9hbGxvY2F0b3Iodm9pZCk7Ci11bnNpZ25lZCBsb25nIF9faW5pdCBzZXR1cF9tZW1vcnkodm9pZCkKK3ZvaWQgX19pbml0IGluaXRtZW1faW5pdCh1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwKKwkJCQkgIHVuc2lnbmVkIGxvbmcgZW5kX3BmbikKIHsKIAlpbnQgbmlkOwotCXVuc2lnbmVkIGxvbmcgc3lzdGVtX3N0YXJ0X3Bmbiwgc3lzdGVtX21heF9sb3dfcGZuOwotCXVuc2lnbmVkIGxvbmcgd2FzdGVkX3BhZ2VzOworCWxvbmcga3ZhX3RhcmdldF9wZm47CiAKIAkvKgogCSAqIFdoZW4gbWFwcGluZyBhIE5VTUEgbWFjaGluZSB3ZSBhbGxvY2F0ZSB0aGUgbm9kZV9tZW1fbWFwIGFycmF5cwpAQCAtMzI0LDEwOSArMzI2LDc3IEBACiAJICogdGhpcyBzcGFjZSBhbmQgdXNlIGl0IHRvIGFkanVzdCB0aGUgYm91bmRhcnkgYmV0d2VlbiBaT05FX05PUk1BTAogCSAqIGFuZCBaT05FX0hJR0hNRU0uCiAJICovCisKIAlnZXRfbWVtY2ZnX251bWEoKTsKIAotCWt2YV9wYWdlcyA9IGNhbGN1bGF0ZV9udW1hX3JlbWFwX3BhZ2VzKCk7CisJa3ZhX3BhZ2VzID0gcm91bmRfdXAoY2FsY3VsYXRlX251bWFfcmVtYXBfcGFnZXMoKSwgUFRSU19QRVJfUFRFKTsKIAotCS8qIHBhcnRpYWxseSB1c2VkIHBhZ2VzIGFyZSBub3QgdXNhYmxlIC0gdGh1cyByb3VuZCB1cHdhcmRzICovCi0Jc3lzdGVtX3N0YXJ0X3BmbiA9IG1pbl9sb3dfcGZuID0gUEZOX1VQKGluaXRfcGdfdGFibGVzX2VuZCk7CisJa3ZhX3RhcmdldF9wZm4gPSByb3VuZF9kb3duKG1heF9sb3dfcGZuIC0ga3ZhX3BhZ2VzLCBQVFJTX1BFUl9QVEUpOworCWRvIHsKKwkJa3ZhX3N0YXJ0X3BmbiA9IGZpbmRfZTgyMF9hcmVhKGt2YV90YXJnZXRfcGZuPDxQQUdFX1NISUZULAorCQkJCQltYXhfbG93X3Bmbjw8UEFHRV9TSElGVCwKKwkJCQkJa3ZhX3BhZ2VzPDxQQUdFX1NISUZULAorCQkJCQlQVFJTX1BFUl9QVEU8PFBBR0VfU0hJRlQpID4+IFBBR0VfU0hJRlQ7CisJCWt2YV90YXJnZXRfcGZuIC09IFBUUlNfUEVSX1BURTsKKwl9IHdoaWxlIChrdmFfc3RhcnRfcGZuID09IC0xVUwgJiYga3ZhX3RhcmdldF9wZm4gPiBtaW5fbG93X3Bmbik7CiAKLQlrdmFfc3RhcnRfcGZuID0gZmluZF9tYXhfbG93X3BmbigpIC0ga3ZhX3BhZ2VzOworCWlmIChrdmFfc3RhcnRfcGZuID09IC0xVUwpCisJCXBhbmljKCJDYW4gbm90IGdldCBrdmEgc3BhY2VcbiIpOwogCi0jaWZkZWYgQ09ORklHX0JMS19ERVZfSU5JVFJECi0JLyogTnVtYSBrdmEgYXJlYSBpcyBiZWxvdyB0aGUgaW5pdHJkICovCi0JaWYgKGluaXRyZF9zdGFydCkKLQkJa3ZhX3N0YXJ0X3BmbiA9IFBGTl9ET1dOKGluaXRyZF9zdGFydCAtIFBBR0VfT0ZGU0VUKQotCQkJLSBrdmFfcGFnZXM7Ci0jZW5kaWYKLQotCS8qCi0JICogV2Ugd2FzdGUgcGFnZXMgcGFzdCBhdCB0aGUgZW5kIG9mIHRoZSBLVkEgZm9yIG5vIGdvb2QgcmVhc29uIG90aGVyCi0JICogdGhhbiBob3cgaXQgaXMgbG9jYXRlZC4gVGhpcyBpcyBiYWQuCi0JICovCi0Jd2FzdGVkX3BhZ2VzID0ga3ZhX3N0YXJ0X3BmbiAmIChQVFJTX1BFUl9QVEUtMSk7Ci0Ja3ZhX3N0YXJ0X3BmbiAtPSB3YXN0ZWRfcGFnZXM7Ci0Ja3ZhX3BhZ2VzICs9IHdhc3RlZF9wYWdlczsKLQotCXN5c3RlbV9tYXhfbG93X3BmbiA9IG1heF9sb3dfcGZuID0gZmluZF9tYXhfbG93X3BmbigpOwotCXByaW50aygia3ZhX3N0YXJ0X3BmbiB+ICVsZCBmaW5kX21heF9sb3dfcGZuKCkgfiAlbGRcbiIsCisJcHJpbnRrKEtFUk5fSU5GTyAia3ZhX3N0YXJ0X3BmbiB+ICVseCBtYXhfbG93X3BmbiB+ICVseFxuIiwKIAkJa3ZhX3N0YXJ0X3BmbiwgbWF4X2xvd19wZm4pOwotCXByaW50aygibWF4X3BmbiA9ICVsZFxuIiwgbWF4X3Bmbik7CisJcHJpbnRrKEtFUk5fSU5GTyAibWF4X3BmbiA9ICVseFxuIiwgbWF4X3Bmbik7CisKKwkvKiBhdm9pZCBjbGFzaCB3aXRoIGluaXRyZCAqLworCXJlc2VydmVfZWFybHkoa3ZhX3N0YXJ0X3Bmbjw8UEFHRV9TSElGVCwKKwkJICAgICAgKGt2YV9zdGFydF9wZm4gKyBrdmFfcGFnZXMpPDxQQUdFX1NISUZULAorCQkgICAgICJLVkEgUEciKTsKICNpZmRlZiBDT05GSUdfSElHSE1FTQogCWhpZ2hzdGFydF9wZm4gPSBoaWdoZW5kX3BmbiA9IG1heF9wZm47Ci0JaWYgKG1heF9wZm4gPiBzeXN0ZW1fbWF4X2xvd19wZm4pCi0JCWhpZ2hzdGFydF9wZm4gPSBzeXN0ZW1fbWF4X2xvd19wZm47CisJaWYgKG1heF9wZm4gPiBtYXhfbG93X3BmbikKKwkJaGlnaHN0YXJ0X3BmbiA9IG1heF9sb3dfcGZuOwogCXByaW50ayhLRVJOX05PVElDRSAiJWxkTUIgSElHSE1FTSBhdmFpbGFibGUuXG4iLAogCSAgICAgICBwYWdlc190b19tYihoaWdoZW5kX3BmbiAtIGhpZ2hzdGFydF9wZm4pKTsKIAludW1fcGh5c3BhZ2VzID0gaGlnaGVuZF9wZm47CiAJaGlnaF9tZW1vcnkgPSAodm9pZCAqKSBfX3ZhKGhpZ2hzdGFydF9wZm4gKiBQQUdFX1NJWkUgLSAxKSArIDE7CiAjZWxzZQotCW51bV9waHlzcGFnZXMgPSBzeXN0ZW1fbWF4X2xvd19wZm47Ci0JaGlnaF9tZW1vcnkgPSAodm9pZCAqKSBfX3ZhKHN5c3RlbV9tYXhfbG93X3BmbiAqIFBBR0VfU0laRSAtIDEpICsgMTsKKwludW1fcGh5c3BhZ2VzID0gbWF4X2xvd19wZm47CisJaGlnaF9tZW1vcnkgPSAodm9pZCAqKSBfX3ZhKG1heF9sb3dfcGZuICogUEFHRV9TSVpFIC0gMSkgKyAxOwogI2VuZGlmCiAJcHJpbnRrKEtFUk5fTk9USUNFICIlbGRNQiBMT1dNRU0gYXZhaWxhYmxlLlxuIiwKLQkJCXBhZ2VzX3RvX21iKHN5c3RlbV9tYXhfbG93X3BmbikpOwotCXByaW50aygibWluX2xvd19wZm4gPSAlbGQsIG1heF9sb3dfcGZuID0gJWxkLCBoaWdoc3RhcnRfcGZuID0gJWxkXG4iLCAKLQkJCW1pbl9sb3dfcGZuLCBtYXhfbG93X3BmbiwgaGlnaHN0YXJ0X3Bmbik7CisJCQlwYWdlc190b19tYihtYXhfbG93X3BmbikpOworCXByaW50ayhLRVJOX0RFQlVHICJtYXhfbG93X3BmbiA9ICVseCwgaGlnaHN0YXJ0X3BmbiA9ICVseFxuIiwKKwkJCW1heF9sb3dfcGZuLCBoaWdoc3RhcnRfcGZuKTsKIAotCXByaW50aygiTG93IG1lbW9yeSBlbmRzIGF0IHZhZGRyICUwOGx4XG4iLAorCXByaW50ayhLRVJOX0RFQlVHICJMb3cgbWVtb3J5IGVuZHMgYXQgdmFkZHIgJTA4bHhcbiIsCiAJCQkodWxvbmcpIHBmbl90b19rYWRkcihtYXhfbG93X3BmbikpOwogCWZvcl9lYWNoX29ubGluZV9ub2RlKG5pZCkgewogCQlpbml0X3JlbWFwX2FsbG9jYXRvcihuaWQpOwogCiAJCWFsbG9jYXRlX3BnZGF0KG5pZCk7CiAJfQotCXByaW50aygiSGlnaCBtZW1vcnkgc3RhcnRzIGF0IHZhZGRyICUwOGx4XG4iLAorCXJlbWFwX251bWFfa3ZhKCk7CisKKwlwcmludGsoS0VSTl9ERUJVRyAiSGlnaCBtZW1vcnkgc3RhcnRzIGF0IHZhZGRyICUwOGx4XG4iLAogCQkJKHVsb25nKSBwZm5fdG9fa2FkZHIoaGlnaHN0YXJ0X3BmbikpOwogCWZvcl9lYWNoX29ubGluZV9ub2RlKG5pZCkKIAkJcHJvcGFnYXRlX2U4MjBfbWFwX25vZGUobmlkKTsKIAotCW1lbXNldChOT0RFX0RBVEEoMCksIDAsIHNpemVvZihzdHJ1Y3QgcGdsaXN0X2RhdGEpKTsKKwlmb3JfZWFjaF9vbmxpbmVfbm9kZShuaWQpCisJCW1lbXNldChOT0RFX0RBVEEobmlkKSwgMCwgc2l6ZW9mKHN0cnVjdCBwZ2xpc3RfZGF0YSkpOworCiAJTk9ERV9EQVRBKDApLT5iZGF0YSA9ICZub2RlMF9iZGF0YTsKIAlzZXR1cF9ib290bWVtX2FsbG9jYXRvcigpOwotCXJldHVybiBtYXhfbG93X3BmbjsKIH0KIAotdm9pZCBfX2luaXQgbnVtYV9rdmFfcmVzZXJ2ZSh2b2lkKQotewotCWlmIChrdmFfcGFnZXMpCi0JCXJlc2VydmVfYm9vdG1lbShQRk5fUEhZUyhrdmFfc3RhcnRfcGZuKSwgUEZOX1BIWVMoa3ZhX3BhZ2VzKSwKLQkJCQlCT09UTUVNX0RFRkFVTFQpOwotfQotCi12b2lkIF9faW5pdCB6b25lX3NpemVzX2luaXQodm9pZCkKLXsKLQlpbnQgbmlkOwotCXVuc2lnbmVkIGxvbmcgbWF4X3pvbmVfcGZuc1tNQVhfTlJfWk9ORVNdOwotCW1lbXNldChtYXhfem9uZV9wZm5zLCAwLCBzaXplb2YobWF4X3pvbmVfcGZucykpOwotCW1heF96b25lX3BmbnNbWk9ORV9ETUFdID0KLQkJdmlydF90b19waHlzKChjaGFyICopTUFYX0RNQV9BRERSRVNTKSA+PiBQQUdFX1NISUZUOwotCW1heF96b25lX3BmbnNbWk9ORV9OT1JNQUxdID0gbWF4X2xvd19wZm47Ci0jaWZkZWYgQ09ORklHX0hJR0hNRU0KLQltYXhfem9uZV9wZm5zW1pPTkVfSElHSE1FTV0gPSBoaWdoZW5kX3BmbjsKLSNlbmRpZgotCi0JLyogSWYgU1JBVCBoYXMgbm90IHJlZ2lzdGVyZWQgbWVtb3J5LCByZWdpc3RlciBpdCBub3cgKi8KLQlpZiAoZmluZF9tYXhfcGZuX3dpdGhfYWN0aXZlX3JlZ2lvbnMoKSA9PSAwKSB7Ci0JCWZvcl9lYWNoX29ubGluZV9ub2RlKG5pZCkgewotCQkJaWYgKG5vZGVfaGFzX29ubGluZV9tZW0obmlkKSkKLQkJCQlhZGRfYWN0aXZlX3JhbmdlKG5pZCwgbm9kZV9zdGFydF9wZm5bbmlkXSwKLQkJCQkJCQlub2RlX2VuZF9wZm5bbmlkXSk7Ci0JCX0KLQl9Ci0KLQlmcmVlX2FyZWFfaW5pdF9ub2RlcyhtYXhfem9uZV9wZm5zKTsKLQlyZXR1cm47Ci19Ci0KLXZvaWQgX19pbml0IHNldF9oaWdobWVtX3BhZ2VzX2luaXQoaW50IGJhZF9wcHJvKSAKK3ZvaWQgX19pbml0IHNldF9oaWdobWVtX3BhZ2VzX2luaXQodm9pZCkKIHsKICNpZmRlZiBDT05GSUdfSElHSE1FTQogCXN0cnVjdCB6b25lICp6b25lOwotCXN0cnVjdCBwYWdlICpwYWdlOworCWludCBuaWQ7CiAKIAlmb3JfZWFjaF96b25lKHpvbmUpIHsKLQkJdW5zaWduZWQgbG9uZyBub2RlX3Bmbiwgem9uZV9zdGFydF9wZm4sIHpvbmVfZW5kX3BmbjsKKwkJdW5zaWduZWQgbG9uZyB6b25lX3N0YXJ0X3Bmbiwgem9uZV9lbmRfcGZuOwogCiAJCWlmICghaXNfaGlnaG1lbSh6b25lKSkKIAkJCWNvbnRpbnVlOwpAQCAtNDM0LDE2ICs0MDQsMTIgQEAKIAkJem9uZV9zdGFydF9wZm4gPSB6b25lLT56b25lX3N0YXJ0X3BmbjsKIAkJem9uZV9lbmRfcGZuID0gem9uZV9zdGFydF9wZm4gKyB6b25lLT5zcGFubmVkX3BhZ2VzOwogCi0JCXByaW50aygiSW5pdGlhbGl6aW5nICVzIGZvciBub2RlICVkICglMDhseDolMDhseClcbiIsCi0JCQkJem9uZS0+bmFtZSwgem9uZV90b19uaWQoem9uZSksCi0JCQkJem9uZV9zdGFydF9wZm4sIHpvbmVfZW5kX3Bmbik7CisJCW5pZCA9IHpvbmVfdG9fbmlkKHpvbmUpOworCQlwcmludGsoS0VSTl9JTkZPICJJbml0aWFsaXppbmcgJXMgZm9yIG5vZGUgJWQgKCUwOGx4OiUwOGx4KVxuIiwKKwkJCQl6b25lLT5uYW1lLCBuaWQsIHpvbmVfc3RhcnRfcGZuLCB6b25lX2VuZF9wZm4pOwogCi0JCWZvciAobm9kZV9wZm4gPSB6b25lX3N0YXJ0X3Bmbjsgbm9kZV9wZm4gPCB6b25lX2VuZF9wZm47IG5vZGVfcGZuKyspIHsKLQkJCWlmICghcGZuX3ZhbGlkKG5vZGVfcGZuKSkKLQkJCQljb250aW51ZTsKLQkJCXBhZ2UgPSBwZm5fdG9fcGFnZShub2RlX3Bmbik7Ci0JCQlhZGRfb25lX2hpZ2hwYWdlX2luaXQocGFnZSwgbm9kZV9wZm4sIGJhZF9wcHJvKTsKLQkJfQorCQlhZGRfaGlnaHBhZ2VzX3dpdGhfYWN0aXZlX3JlZ2lvbnMobmlkLCB6b25lX3N0YXJ0X3BmbiwKKwkJCQkgem9uZV9lbmRfcGZuKTsKIAl9CiAJdG90YWxyYW1fcGFnZXMgKz0gdG90YWxoaWdoX3BhZ2VzOwogI2VuZGlmCkBAIC00NzYsMyArNDQyLDQgQEAKIAogRVhQT1JUX1NZTUJPTF9HUEwobWVtb3J5X2FkZF9waHlzYWRkcl90b19uaWQpOwogI2VuZGlmCisKZGlmZiAtLWdpdCBhL2FyY2gveDg2L21tL2R1bXBfcGFnZXRhYmxlcy5jIGIvYXJjaC94ODYvbW0vZHVtcF9wYWdldGFibGVzLmMKaW5kZXggMmMyNGJlYS4uMGJiMGNhZSAxMDA2NDQKLS0tIGEvYXJjaC94ODYvbW0vZHVtcF9wYWdldGFibGVzLmMKKysrIGIvYXJjaC94ODYvbW0vZHVtcF9wYWdldGFibGVzLmMKQEAgLTQyLDcgKzQyLDcgQEAKIAl7IDAsICJVc2VyIFNwYWNlIiB9LAogI2lmZGVmIENPTkZJR19YODZfNjQKIAl7IDB4ODAwMDAwMDAwMDAwMDAwMFVMLCAiS2VybmVsIFNwYWNlIiB9LAotCXsgMHhmZmZmODEwMDAwMDAwMDAwVUwsICJMb3cgS2VybmVsIE1hcHBpbmciIH0sCisJeyBQQUdFX09GRlNFVCwJCSJMb3cgS2VybmVsIE1hcHBpbmciIH0sCiAJeyBWTUFMTE9DX1NUQVJULCAgICAgICAgInZtYWxsb2MoKSBBcmVhIiB9LAogCXsgVk1FTU1BUF9TVEFSVCwgICAgICAgICJWbWVtbWFwIiB9LAogCXsgX19TVEFSVF9LRVJORUxfbWFwLCAgICJIaWdoIEtlcm5lbCBNYXBwaW5nIiB9LApkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbW0vZmF1bHQuYyBiL2FyY2gveDg2L21tL2ZhdWx0LmMKaW5kZXggOGJjYjZmNC4uNDU1ZjNmZSAxMDA2NDQKLS0tIGEvYXJjaC94ODYvbW0vZmF1bHQuYworKysgYi9hcmNoL3g4Ni9tbS9mYXVsdC5jCkBAIC0xMCw2ICsxMCw3IEBACiAjaW5jbHVkZSA8bGludXgvc3RyaW5nLmg+CiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KICNpbmNsdWRlIDxsaW51eC9wdHJhY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9tbWlvdHJhY2UuaD4KICNpbmNsdWRlIDxsaW51eC9tbWFuLmg+CiAjaW5jbHVkZSA8bGludXgvbW0uaD4KICNpbmNsdWRlIDxsaW51eC9zbXAuaD4KQEAgLTQ5LDE3ICs1MCwyMyBAQAogI2RlZmluZSBQRl9SU1ZECQkoMTw8MykKICNkZWZpbmUgUEZfSU5TVFIJKDE8PDQpCiAKK3N0YXRpYyBpbmxpbmUgaW50IGttbWlvX2ZhdWx0KHN0cnVjdCBwdF9yZWdzICpyZWdzLCB1bnNpZ25lZCBsb25nIGFkZHIpCit7CisjaWZkZWYgQ09ORklHX01NSU9UUkFDRV9IT09LUworCWlmICh1bmxpa2VseShpc19rbW1pb19hY3RpdmUoKSkpCisJCWlmIChrbW1pb19oYW5kbGVyKHJlZ3MsIGFkZHIpID09IDEpCisJCQlyZXR1cm4gLTE7CisjZW5kaWYKKwlyZXR1cm4gMDsKK30KKwogc3RhdGljIGlubGluZSBpbnQgbm90aWZ5X3BhZ2VfZmF1bHQoc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCiB7CiAjaWZkZWYgQ09ORklHX0tQUk9CRVMKIAlpbnQgcmV0ID0gMDsKIAogCS8qIGtwcm9iZV9ydW5uaW5nKCkgbmVlZHMgc21wX3Byb2Nlc3Nvcl9pZCgpICovCi0jaWZkZWYgQ09ORklHX1g4Nl8zMgogCWlmICghdXNlcl9tb2RlX3ZtKHJlZ3MpKSB7Ci0jZWxzZQotCWlmICghdXNlcl9tb2RlKHJlZ3MpKSB7Ci0jZW5kaWYKIAkJcHJlZW1wdF9kaXNhYmxlKCk7CiAJCWlmIChrcHJvYmVfcnVubmluZygpICYmIGtwcm9iZV9mYXVsdF9oYW5kbGVyKHJlZ3MsIDE0KSkKIAkJCXJldCA9IDE7CkBAIC0zOTYsMTEgKzQwMyw3IEBACiAJCXByaW50ayhLRVJOX0NPTlQgIk5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZSIpOwogCWVsc2UKIAkJcHJpbnRrKEtFUk5fQ09OVCAicGFnaW5nIHJlcXVlc3QiKTsKLSNpZmRlZiBDT05GSUdfWDg2XzMyCi0JcHJpbnRrKEtFUk5fQ09OVCAiIGF0ICUwOGx4XG4iLCBhZGRyZXNzKTsKLSNlbHNlCi0JcHJpbnRrKEtFUk5fQ09OVCAiIGF0ICUwMTZseFxuIiwgYWRkcmVzcyk7Ci0jZW5kaWYKKwlwcmludGsoS0VSTl9DT05UICIgYXQgJXBcbiIsICh2b2lkICopIGFkZHJlc3MpOwogCXByaW50ayhLRVJOX0FMRVJUICJJUDoiKTsKIAlwcmludGtfYWRkcmVzcyhyZWdzLT5pcCwgMSk7CiAJZHVtcF9wYWdldGFibGUoYWRkcmVzcyk7CkBAIC02MDYsNiArNjA5LDggQEAKIAogCWlmIChub3RpZnlfcGFnZV9mYXVsdChyZWdzKSkKIAkJcmV0dXJuOworCWlmICh1bmxpa2VseShrbW1pb19mYXVsdChyZWdzLCBhZGRyZXNzKSkpCisJCXJldHVybjsKIAogCS8qCiAJICogV2UgZmF1bHQtaW4ga2VybmVsLXNwYWNlIHZpcnR1YWwgbWVtb3J5IG9uLWRlbWFuZC4gVGhlCkBAIC04MDAsMTQgKzgwNSwxMCBAQAogCQlpZiAoc2hvd191bmhhbmRsZWRfc2lnbmFscyAmJiB1bmhhbmRsZWRfc2lnbmFsKHRzaywgU0lHU0VHVikgJiYKIAkJICAgIHByaW50a19yYXRlbGltaXQoKSkgewogCQkJcHJpbnRrKAotI2lmZGVmIENPTkZJR19YODZfMzIKLQkJCSIlcyVzWyVkXTogc2VnZmF1bHQgYXQgJWx4IGlwICUwOGx4IHNwICUwOGx4IGVycm9yICVseCIsCi0jZWxzZQotCQkJIiVzJXNbJWRdOiBzZWdmYXVsdCBhdCAlbHggaXAgJWx4IHNwICVseCBlcnJvciAlbHgiLAotI2VuZGlmCisJCQkiJXMlc1slZF06IHNlZ2ZhdWx0IGF0ICVseCBpcCAlcCBzcCAlcCBlcnJvciAlbHgiLAogCQkJdGFza19waWRfbnIodHNrKSA+IDEgPyBLRVJOX0lORk8gOiBLRVJOX0VNRVJHLAotCQkJdHNrLT5jb21tLCB0YXNrX3BpZF9ucih0c2spLCBhZGRyZXNzLCByZWdzLT5pcCwKLQkJCXJlZ3MtPnNwLCBlcnJvcl9jb2RlKTsKKwkJCXRzay0+Y29tbSwgdGFza19waWRfbnIodHNrKSwgYWRkcmVzcywKKwkJCSh2b2lkICopIHJlZ3MtPmlwLCAodm9pZCAqKSByZWdzLT5zcCwgZXJyb3JfY29kZSk7CiAJCQlwcmludF92bWFfYWRkcigiIGluICIsIHJlZ3MtPmlwKTsKIAkJCXByaW50aygiXG4iKTsKIAkJfQpAQCAtOTE1LDE0ICs5MTYsNyBAQAogdm9pZCB2bWFsbG9jX3N5bmNfYWxsKHZvaWQpCiB7CiAjaWZkZWYgQ09ORklHX1g4Nl8zMgotCS8qCi0JICogTm90ZSB0aGF0IHJhY2VzIGluIHRoZSB1cGRhdGVzIG9mIGluc3luYyBhbmQgc3RhcnQgYXJlbid0Ci0JICogcHJvYmxlbWF0aWM6IGluc3luYyBjYW4gb25seSBnZXQgc2V0IGJpdHMgYWRkZWQsIGFuZCB1cGRhdGVzIHRvCi0JICogc3RhcnQgYXJlIG9ubHkgaW1wcm92aW5nIHBlcmZvcm1hbmNlICh3aXRob3V0IGFmZmVjdGluZyBjb3JyZWN0bmVzcwotCSAqIGlmIHVuZG9uZSkuCi0JICovCi0Jc3RhdGljIERFQ0xBUkVfQklUTUFQKGluc3luYywgUFRSU19QRVJfUEdEKTsKLQlzdGF0aWMgdW5zaWduZWQgbG9uZyBzdGFydCA9IFRBU0tfU0laRTsKKwl1bnNpZ25lZCBsb25nIHN0YXJ0ID0gVk1BTExPQ19TVEFSVCAmIFBHRElSX01BU0s7CiAJdW5zaWduZWQgbG9uZyBhZGRyZXNzOwogCiAJaWYgKFNIQVJFRF9LRVJORUxfUE1EKQpAQCAtOTMwLDU2ICs5MjQsMzggQEAKIAogCUJVSUxEX0JVR19PTihUQVNLX1NJWkUgJiB+UEdESVJfTUFTSyk7CiAJZm9yIChhZGRyZXNzID0gc3RhcnQ7IGFkZHJlc3MgPj0gVEFTS19TSVpFOyBhZGRyZXNzICs9IFBHRElSX1NJWkUpIHsKLQkJaWYgKCF0ZXN0X2JpdChwZ2RfaW5kZXgoYWRkcmVzcyksIGluc3luYykpIHsKLQkJCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0JCQlzdHJ1Y3QgcGFnZSAqcGFnZTsKKwkJdW5zaWduZWQgbG9uZyBmbGFnczsKKwkJc3RydWN0IHBhZ2UgKnBhZ2U7CiAKLQkJCXNwaW5fbG9ja19pcnFzYXZlKCZwZ2RfbG9jaywgZmxhZ3MpOwotCQkJbGlzdF9mb3JfZWFjaF9lbnRyeShwYWdlLCAmcGdkX2xpc3QsIGxydSkgewotCQkJCWlmICghdm1hbGxvY19zeW5jX29uZShwYWdlX2FkZHJlc3MocGFnZSksCi0JCQkJCQkgICAgICBhZGRyZXNzKSkKLQkJCQkJYnJlYWs7Ci0JCQl9Ci0JCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZwZ2RfbG9jaywgZmxhZ3MpOwotCQkJaWYgKCFwYWdlKQotCQkJCXNldF9iaXQocGdkX2luZGV4KGFkZHJlc3MpLCBpbnN5bmMpOworCQlzcGluX2xvY2tfaXJxc2F2ZSgmcGdkX2xvY2ssIGZsYWdzKTsKKwkJbGlzdF9mb3JfZWFjaF9lbnRyeShwYWdlLCAmcGdkX2xpc3QsIGxydSkgeworCQkJaWYgKCF2bWFsbG9jX3N5bmNfb25lKHBhZ2VfYWRkcmVzcyhwYWdlKSwKKwkJCQkJICAgICAgYWRkcmVzcykpCisJCQkJYnJlYWs7CiAJCX0KLQkJaWYgKGFkZHJlc3MgPT0gc3RhcnQgJiYgdGVzdF9iaXQocGdkX2luZGV4KGFkZHJlc3MpLCBpbnN5bmMpKQotCQkJc3RhcnQgPSBhZGRyZXNzICsgUEdESVJfU0laRTsKKwkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcGdkX2xvY2ssIGZsYWdzKTsKIAl9CiAjZWxzZSAvKiBDT05GSUdfWDg2XzY0ICovCi0JLyoKLQkgKiBOb3RlIHRoYXQgcmFjZXMgaW4gdGhlIHVwZGF0ZXMgb2YgaW5zeW5jIGFuZCBzdGFydCBhcmVuJ3QKLQkgKiBwcm9ibGVtYXRpYzogaW5zeW5jIGNhbiBvbmx5IGdldCBzZXQgYml0cyBhZGRlZCwgYW5kIHVwZGF0ZXMgdG8KLQkgKiBzdGFydCBhcmUgb25seSBpbXByb3ZpbmcgcGVyZm9ybWFuY2UgKHdpdGhvdXQgYWZmZWN0aW5nIGNvcnJlY3RuZXNzCi0JICogaWYgdW5kb25lKS4KLQkgKi8KLQlzdGF0aWMgREVDTEFSRV9CSVRNQVAoaW5zeW5jLCBQVFJTX1BFUl9QR0QpOwotCXN0YXRpYyB1bnNpZ25lZCBsb25nIHN0YXJ0ID0gVk1BTExPQ19TVEFSVCAmIFBHRElSX01BU0s7CisJdW5zaWduZWQgbG9uZyBzdGFydCA9IFZNQUxMT0NfU1RBUlQgJiBQR0RJUl9NQVNLOwogCXVuc2lnbmVkIGxvbmcgYWRkcmVzczsKIAogCWZvciAoYWRkcmVzcyA9IHN0YXJ0OyBhZGRyZXNzIDw9IFZNQUxMT0NfRU5EOyBhZGRyZXNzICs9IFBHRElSX1NJWkUpIHsKLQkJaWYgKCF0ZXN0X2JpdChwZ2RfaW5kZXgoYWRkcmVzcyksIGluc3luYykpIHsKLQkJCWNvbnN0IHBnZF90ICpwZ2RfcmVmID0gcGdkX29mZnNldF9rKGFkZHJlc3MpOwotCQkJdW5zaWduZWQgbG9uZyBmbGFnczsKLQkJCXN0cnVjdCBwYWdlICpwYWdlOworCQljb25zdCBwZ2RfdCAqcGdkX3JlZiA9IHBnZF9vZmZzZXRfayhhZGRyZXNzKTsKKwkJdW5zaWduZWQgbG9uZyBmbGFnczsKKwkJc3RydWN0IHBhZ2UgKnBhZ2U7CiAKLQkJCWlmIChwZ2Rfbm9uZSgqcGdkX3JlZikpCi0JCQkJY29udGludWU7Ci0JCQlzcGluX2xvY2tfaXJxc2F2ZSgmcGdkX2xvY2ssIGZsYWdzKTsKLQkJCWxpc3RfZm9yX2VhY2hfZW50cnkocGFnZSwgJnBnZF9saXN0LCBscnUpIHsKLQkJCQlwZ2RfdCAqcGdkOwotCQkJCXBnZCA9IChwZ2RfdCAqKXBhZ2VfYWRkcmVzcyhwYWdlKSArIHBnZF9pbmRleChhZGRyZXNzKTsKLQkJCQlpZiAocGdkX25vbmUoKnBnZCkpCi0JCQkJCXNldF9wZ2QocGdkLCAqcGdkX3JlZik7Ci0JCQkJZWxzZQotCQkJCQlCVUdfT04ocGdkX3BhZ2VfdmFkZHIoKnBnZCkgIT0gcGdkX3BhZ2VfdmFkZHIoKnBnZF9yZWYpKTsKLQkJCX0KLQkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnBnZF9sb2NrLCBmbGFncyk7Ci0JCQlzZXRfYml0KHBnZF9pbmRleChhZGRyZXNzKSwgaW5zeW5jKTsKKwkJaWYgKHBnZF9ub25lKCpwZ2RfcmVmKSkKKwkJCWNvbnRpbnVlOworCQlzcGluX2xvY2tfaXJxc2F2ZSgmcGdkX2xvY2ssIGZsYWdzKTsKKwkJbGlzdF9mb3JfZWFjaF9lbnRyeShwYWdlLCAmcGdkX2xpc3QsIGxydSkgeworCQkJcGdkX3QgKnBnZDsKKwkJCXBnZCA9IChwZ2RfdCAqKXBhZ2VfYWRkcmVzcyhwYWdlKSArIHBnZF9pbmRleChhZGRyZXNzKTsKKwkJCWlmIChwZ2Rfbm9uZSgqcGdkKSkKKwkJCQlzZXRfcGdkKHBnZCwgKnBnZF9yZWYpOworCQkJZWxzZQorCQkJCUJVR19PTihwZ2RfcGFnZV92YWRkcigqcGdkKSAhPSBwZ2RfcGFnZV92YWRkcigqcGdkX3JlZikpOwogCQl9Ci0JCWlmIChhZGRyZXNzID09IHN0YXJ0KQotCQkJc3RhcnQgPSBhZGRyZXNzICsgUEdESVJfU0laRTsKKwkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcGdkX2xvY2ssIGZsYWdzKTsKIAl9CiAjZW5kaWYKIH0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L21tL2luaXRfMzIuYyBiL2FyY2gveDg2L21tL2luaXRfMzIuYwppbmRleCBlYzMwZDEwLi45Njg5YTUxIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9tbS9pbml0XzMyLmMKKysrIGIvYXJjaC94ODYvbW0vaW5pdF8zMi5jCkBAIC01MCw2ICs1MCw3IEBACiAKIHVuc2lnbmVkIGludCBfX1ZNQUxMT0NfUkVTRVJWRSA9IDEyOCA8PCAyMDsKIAordW5zaWduZWQgbG9uZyBtYXhfbG93X3Bmbl9tYXBwZWQ7CiB1bnNpZ25lZCBsb25nIG1heF9wZm5fbWFwcGVkOwogCiBERUZJTkVfUEVSX0NQVShzdHJ1Y3QgbW11X2dhdGhlciwgbW11X2dhdGhlcnMpOwpAQCAtNTcsNiArNTgsMjcgQEAKIAogc3RhdGljIG5vaW5saW5lIGludCBkb190ZXN0X3dwX2JpdCh2b2lkKTsKIAorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfX2luaXRkYXRhIHRhYmxlX3N0YXJ0Oworc3RhdGljIHVuc2lnbmVkIGxvbmcgX19tZW1pbml0ZGF0YSB0YWJsZV9lbmQ7CitzdGF0aWMgdW5zaWduZWQgbG9uZyBfX21lbWluaXRkYXRhIHRhYmxlX3RvcDsKKworc3RhdGljIGludCBfX2luaXRkYXRhIGFmdGVyX2luaXRfYm9vdG1lbTsKKworc3RhdGljIF9faW5pdCB2b2lkICphbGxvY19sb3dfcGFnZSh1bnNpZ25lZCBsb25nICpwaHlzKQoreworCXVuc2lnbmVkIGxvbmcgcGZuID0gdGFibGVfZW5kKys7CisJdm9pZCAqYWRyOworCisJaWYgKHBmbiA+PSB0YWJsZV90b3ApCisJCXBhbmljKCJhbGxvY19sb3dfcGFnZTogcmFuIG91dCBvZiBtZW1vcnkiKTsKKworCWFkciA9IF9fdmEocGZuICogUEFHRV9TSVpFKTsKKwltZW1zZXQoYWRyLCAwLCBQQUdFX1NJWkUpOworCSpwaHlzICA9IHBmbiAqIFBBR0VfU0laRTsKKwlyZXR1cm4gYWRyOworfQorCiAvKgogICogQ3JlYXRlcyBhIG1pZGRsZSBwYWdlIHRhYmxlIGFuZCBwdXRzIGEgcG9pbnRlciB0byBpdCBpbiB0aGUKICAqIGdpdmVuIGdsb2JhbCBkaXJlY3RvcnkgZW50cnkuIFRoaXMgb25seSByZXR1cm5zIHRoZSBnZCBlbnRyeQpAQCAtNjgsOSArOTAsMTIgQEAKIAlwbWRfdCAqcG1kX3RhYmxlOwogCiAjaWZkZWYgQ09ORklHX1g4Nl9QQUUKKwl1bnNpZ25lZCBsb25nIHBoeXM7CiAJaWYgKCEocGdkX3ZhbCgqcGdkKSAmIF9QQUdFX1BSRVNFTlQpKSB7Ci0JCXBtZF90YWJsZSA9IChwbWRfdCAqKSBhbGxvY19ib290bWVtX2xvd19wYWdlcyhQQUdFX1NJWkUpOwotCisJCWlmIChhZnRlcl9pbml0X2Jvb3RtZW0pCisJCQlwbWRfdGFibGUgPSAocG1kX3QgKilhbGxvY19ib290bWVtX2xvd19wYWdlcyhQQUdFX1NJWkUpOworCQllbHNlCisJCQlwbWRfdGFibGUgPSAocG1kX3QgKilhbGxvY19sb3dfcGFnZSgmcGh5cyk7CiAJCXBhcmF2aXJ0X2FsbG9jX3BtZCgmaW5pdF9tbSwgX19wYShwbWRfdGFibGUpID4+IFBBR0VfU0hJRlQpOwogCQlzZXRfcGdkKHBnZCwgX19wZ2QoX19wYShwbWRfdGFibGUpIHwgX1BBR0VfUFJFU0VOVCkpOwogCQlwdWQgPSBwdWRfb2Zmc2V0KHBnZCwgMCk7CkBAIC05MiwxMiArMTE3LDE2IEBACiAJaWYgKCEocG1kX3ZhbCgqcG1kKSAmIF9QQUdFX1BSRVNFTlQpKSB7CiAJCXB0ZV90ICpwYWdlX3RhYmxlID0gTlVMTDsKIAorCQlpZiAoYWZ0ZXJfaW5pdF9ib290bWVtKSB7CiAjaWZkZWYgQ09ORklHX0RFQlVHX1BBR0VBTExPQwotCQlwYWdlX3RhYmxlID0gKHB0ZV90ICopIGFsbG9jX2Jvb3RtZW1fcGFnZXMoUEFHRV9TSVpFKTsKKwkJCXBhZ2VfdGFibGUgPSAocHRlX3QgKikgYWxsb2NfYm9vdG1lbV9wYWdlcyhQQUdFX1NJWkUpOwogI2VuZGlmCi0JCWlmICghcGFnZV90YWJsZSkgewotCQkJcGFnZV90YWJsZSA9CisJCQlpZiAoIXBhZ2VfdGFibGUpCisJCQkJcGFnZV90YWJsZSA9CiAJCQkJKHB0ZV90ICopYWxsb2NfYm9vdG1lbV9sb3dfcGFnZXMoUEFHRV9TSVpFKTsKKwkJfSBlbHNlIHsKKwkJCXVuc2lnbmVkIGxvbmcgcGh5czsKKwkJCXBhZ2VfdGFibGUgPSAocHRlX3QgKilhbGxvY19sb3dfcGFnZSgmcGh5cyk7CiAJCX0KIAogCQlwYXJhdmlydF9hbGxvY19wdGUoJmluaXRfbW0sIF9fcGEocGFnZV90YWJsZSkgPj4gUEFHRV9TSElGVCk7CkBAIC0xNTUsMzggKzE4NCw0NCBAQAogICogb2YgbWF4X2xvd19wZm4gcGFnZXMsIGJ5IGNyZWF0aW5nIHBhZ2UgdGFibGVzIHN0YXJ0aW5nIGZyb20gYWRkcmVzcwogICogUEFHRV9PRkZTRVQ6CiAgKi8KLXN0YXRpYyB2b2lkIF9faW5pdCBrZXJuZWxfcGh5c2ljYWxfbWFwcGluZ19pbml0KHBnZF90ICpwZ2RfYmFzZSkKK3N0YXRpYyB2b2lkIF9faW5pdCBrZXJuZWxfcGh5c2ljYWxfbWFwcGluZ19pbml0KHBnZF90ICpwZ2RfYmFzZSwKKwkJCQkJCXVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuLAorCQkJCQkJdW5zaWduZWQgbG9uZyBlbmRfcGZuLAorCQkJCQkJaW50IHVzZV9wc2UpCiB7CiAJaW50IHBnZF9pZHgsIHBtZF9pZHgsIHB0ZV9vZnM7CiAJdW5zaWduZWQgbG9uZyBwZm47CiAJcGdkX3QgKnBnZDsKIAlwbWRfdCAqcG1kOwogCXB0ZV90ICpwdGU7CisJdW5zaWduZWQgcGFnZXNfMm0gPSAwLCBwYWdlc180ayA9IDA7CiAKLQlwZ2RfaWR4ID0gcGdkX2luZGV4KFBBR0VfT0ZGU0VUKTsKKwlpZiAoIWNwdV9oYXNfcHNlKQorCQl1c2VfcHNlID0gMDsKKworCXBmbiA9IHN0YXJ0X3BmbjsKKwlwZ2RfaWR4ID0gcGdkX2luZGV4KChwZm48PFBBR0VfU0hJRlQpICsgUEFHRV9PRkZTRVQpOwogCXBnZCA9IHBnZF9iYXNlICsgcGdkX2lkeDsKLQlwZm4gPSAwOwotCiAJZm9yICg7IHBnZF9pZHggPCBQVFJTX1BFUl9QR0Q7IHBnZCsrLCBwZ2RfaWR4KyspIHsKIAkJcG1kID0gb25lX21kX3RhYmxlX2luaXQocGdkKTsKLQkJaWYgKHBmbiA+PSBtYXhfbG93X3BmbikKLQkJCWNvbnRpbnVlOwogCi0JCWZvciAocG1kX2lkeCA9IDA7Ci0JCSAgICAgcG1kX2lkeCA8IFBUUlNfUEVSX1BNRCAmJiBwZm4gPCBtYXhfbG93X3BmbjsKKwkJaWYgKHBmbiA+PSBlbmRfcGZuKQorCQkJY29udGludWU7CisjaWZkZWYgQ09ORklHX1g4Nl9QQUUKKwkJcG1kX2lkeCA9IHBtZF9pbmRleCgocGZuPDxQQUdFX1NISUZUKSArIFBBR0VfT0ZGU0VUKTsKKwkJcG1kICs9IHBtZF9pZHg7CisjZWxzZQorCQlwbWRfaWR4ID0gMDsKKyNlbmRpZgorCQlmb3IgKDsgcG1kX2lkeCA8IFBUUlNfUEVSX1BNRCAmJiBwZm4gPCBlbmRfcGZuOwogCQkgICAgIHBtZCsrLCBwbWRfaWR4KyspIHsKIAkJCXVuc2lnbmVkIGludCBhZGRyID0gcGZuICogUEFHRV9TSVpFICsgUEFHRV9PRkZTRVQ7CiAKIAkJCS8qCiAJCQkgKiBNYXAgd2l0aCBiaWcgcGFnZXMgaWYgcG9zc2libGUsIG90aGVyd2lzZQogCQkJICogY3JlYXRlIG5vcm1hbCBwYWdlIHRhYmxlczoKLQkJCSAqCi0JCQkgKiBEb24ndCB1c2UgYSBsYXJnZSBwYWdlIGZvciB0aGUgZmlyc3QgMi80TUIgb2YgbWVtb3J5Ci0JCQkgKiBiZWNhdXNlIHRoZXJlIGFyZSBvZnRlbiBmaXhlZCBzaXplIE1UUlJzIGluIHRoZXJlCi0JCQkgKiBhbmQgb3ZlcmxhcHBpbmcgTVRSUnMgaW50byBsYXJnZSBwYWdlcyBjYW4gY2F1c2UKLQkJCSAqIHNsb3dkb3ducy4KIAkJCSAqLwotCQkJaWYgKGNwdV9oYXNfcHNlICYmICEocGdkX2lkeCA9PSAwICYmIHBtZF9pZHggPT0gMCkpIHsKKwkJCWlmICh1c2VfcHNlKSB7CiAJCQkJdW5zaWduZWQgaW50IGFkZHIyOwogCQkJCXBncHJvdF90IHByb3QgPSBQQUdFX0tFUk5FTF9MQVJHRTsKIApAQCAtMTk3LDM0ICsyMzIsMzAgQEAKIAkJCQkgICAgaXNfa2VybmVsX3RleHQoYWRkcjIpKQogCQkJCQlwcm90ID0gUEFHRV9LRVJORUxfTEFSR0VfRVhFQzsKIAorCQkJCXBhZ2VzXzJtKys7CiAJCQkJc2V0X3BtZChwbWQsIHBmbl9wbWQocGZuLCBwcm90KSk7CiAKIAkJCQlwZm4gKz0gUFRSU19QRVJfUFRFOwotCQkJCW1heF9wZm5fbWFwcGVkID0gcGZuOwogCQkJCWNvbnRpbnVlOwogCQkJfQogCQkJcHRlID0gb25lX3BhZ2VfdGFibGVfaW5pdChwbWQpOwogCi0JCQlmb3IgKHB0ZV9vZnMgPSAwOwotCQkJICAgICBwdGVfb2ZzIDwgUFRSU19QRVJfUFRFICYmIHBmbiA8IG1heF9sb3dfcGZuOworCQkJcHRlX29mcyA9IHB0ZV9pbmRleCgocGZuPDxQQUdFX1NISUZUKSArIFBBR0VfT0ZGU0VUKTsKKwkJCXB0ZSArPSBwdGVfb2ZzOworCQkJZm9yICg7IHB0ZV9vZnMgPCBQVFJTX1BFUl9QVEUgJiYgcGZuIDwgZW5kX3BmbjsKIAkJCSAgICAgcHRlKyssIHBmbisrLCBwdGVfb2ZzKyssIGFkZHIgKz0gUEFHRV9TSVpFKSB7CiAJCQkJcGdwcm90X3QgcHJvdCA9IFBBR0VfS0VSTkVMOwogCiAJCQkJaWYgKGlzX2tlcm5lbF90ZXh0KGFkZHIpKQogCQkJCQlwcm90ID0gUEFHRV9LRVJORUxfRVhFQzsKIAorCQkJCXBhZ2VzXzRrKys7CiAJCQkJc2V0X3B0ZShwdGUsIHBmbl9wdGUocGZuLCBwcm90KSk7CiAJCQl9Ci0JCQltYXhfcGZuX21hcHBlZCA9IHBmbjsKIAkJfQogCX0KLX0KLQotc3RhdGljIGlubGluZSBpbnQgcGFnZV9raWxsc19wcHJvKHVuc2lnbmVkIGxvbmcgcGFnZW5yKQotewotCWlmIChwYWdlbnIgPj0gMHg3MDAwMCAmJiBwYWdlbnIgPD0gMHg3MDAzRikKLQkJcmV0dXJuIDE7Ci0JcmV0dXJuIDA7CisJdXBkYXRlX3BhZ2VfY291bnQoUEdfTEVWRUxfMk0sIHBhZ2VzXzJtKTsKKwl1cGRhdGVfcGFnZV9jb3VudChQR19MRVZFTF80SywgcGFnZXNfNGspOwogfQogCiAvKgpAQCAtMjg3LDI5ICszMTgsNjIgQEAKIAlwa21hcF9wYWdlX3RhYmxlID0gcHRlOwogfQogCi12b2lkIF9faW5pdCBhZGRfb25lX2hpZ2hwYWdlX2luaXQoc3RydWN0IHBhZ2UgKnBhZ2UsIGludCBwZm4sIGludCBiYWRfcHBybykKK3N0YXRpYyB2b2lkIF9faW5pdCBhZGRfb25lX2hpZ2hwYWdlX2luaXQoc3RydWN0IHBhZ2UgKnBhZ2UsIGludCBwZm4pCiB7Ci0JaWYgKHBhZ2VfaXNfcmFtKHBmbikgJiYgIShiYWRfcHBybyAmJiBwYWdlX2tpbGxzX3Bwcm8ocGZuKSkpIHsKLQkJQ2xlYXJQYWdlUmVzZXJ2ZWQocGFnZSk7Ci0JCWluaXRfcGFnZV9jb3VudChwYWdlKTsKLQkJX19mcmVlX3BhZ2UocGFnZSk7Ci0JCXRvdGFsaGlnaF9wYWdlcysrOwotCX0gZWxzZQotCQlTZXRQYWdlUmVzZXJ2ZWQocGFnZSk7CisJQ2xlYXJQYWdlUmVzZXJ2ZWQocGFnZSk7CisJaW5pdF9wYWdlX2NvdW50KHBhZ2UpOworCV9fZnJlZV9wYWdlKHBhZ2UpOworCXRvdGFsaGlnaF9wYWdlcysrOworfQorCitzdHJ1Y3QgYWRkX2hpZ2hwYWdlc19kYXRhIHsKKwl1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbjsKKwl1bnNpZ25lZCBsb25nIGVuZF9wZm47Cit9OworCitzdGF0aWMgaW50IF9faW5pdCBhZGRfaGlnaHBhZ2VzX3dvcmtfZm4odW5zaWduZWQgbG9uZyBzdGFydF9wZm4sCisJCQkJCSB1bnNpZ25lZCBsb25nIGVuZF9wZm4sIHZvaWQgKmRhdGF4KQoreworCWludCBub2RlX3BmbjsKKwlzdHJ1Y3QgcGFnZSAqcGFnZTsKKwl1bnNpZ25lZCBsb25nIGZpbmFsX3N0YXJ0X3BmbiwgZmluYWxfZW5kX3BmbjsKKwlzdHJ1Y3QgYWRkX2hpZ2hwYWdlc19kYXRhICpkYXRhOworCisJZGF0YSA9IChzdHJ1Y3QgYWRkX2hpZ2hwYWdlc19kYXRhICopZGF0YXg7CisKKwlmaW5hbF9zdGFydF9wZm4gPSBtYXgoc3RhcnRfcGZuLCBkYXRhLT5zdGFydF9wZm4pOworCWZpbmFsX2VuZF9wZm4gPSBtaW4oZW5kX3BmbiwgZGF0YS0+ZW5kX3Bmbik7CisJaWYgKGZpbmFsX3N0YXJ0X3BmbiA+PSBmaW5hbF9lbmRfcGZuKQorCQlyZXR1cm4gMDsKKworCWZvciAobm9kZV9wZm4gPSBmaW5hbF9zdGFydF9wZm47IG5vZGVfcGZuIDwgZmluYWxfZW5kX3BmbjsKKwkgICAgIG5vZGVfcGZuKyspIHsKKwkJaWYgKCFwZm5fdmFsaWQobm9kZV9wZm4pKQorCQkJY29udGludWU7CisJCXBhZ2UgPSBwZm5fdG9fcGFnZShub2RlX3Bmbik7CisJCWFkZF9vbmVfaGlnaHBhZ2VfaW5pdChwYWdlLCBub2RlX3Bmbik7CisJfQorCisJcmV0dXJuIDA7CisKK30KKwordm9pZCBfX2luaXQgYWRkX2hpZ2hwYWdlc193aXRoX2FjdGl2ZV9yZWdpb25zKGludCBuaWQsIHVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuLAorCQkJCQkgICAgICB1bnNpZ25lZCBsb25nIGVuZF9wZm4pCit7CisJc3RydWN0IGFkZF9oaWdocGFnZXNfZGF0YSBkYXRhOworCisJZGF0YS5zdGFydF9wZm4gPSBzdGFydF9wZm47CisJZGF0YS5lbmRfcGZuID0gZW5kX3BmbjsKKworCXdvcmtfd2l0aF9hY3RpdmVfcmVnaW9ucyhuaWQsIGFkZF9oaWdocGFnZXNfd29ya19mbiwgJmRhdGEpOwogfQogCiAjaWZuZGVmIENPTkZJR19OVU1BCi1zdGF0aWMgdm9pZCBfX2luaXQgc2V0X2hpZ2htZW1fcGFnZXNfaW5pdChpbnQgYmFkX3Bwcm8pCitzdGF0aWMgdm9pZCBfX2luaXQgc2V0X2hpZ2htZW1fcGFnZXNfaW5pdCh2b2lkKQogewotCWludCBwZm47CisJYWRkX2hpZ2hwYWdlc193aXRoX2FjdGl2ZV9yZWdpb25zKDAsIGhpZ2hzdGFydF9wZm4sIGhpZ2hlbmRfcGZuKTsKIAotCWZvciAocGZuID0gaGlnaHN0YXJ0X3BmbjsgcGZuIDwgaGlnaGVuZF9wZm47IHBmbisrKSB7Ci0JCS8qCi0JCSAqIEhvbGVzIHVuZGVyIHNwYXJzZW1lbSBtaWdodCBub3QgaGF2ZSBubyBtZW1fbWFwW106Ci0JCSAqLwotCQlpZiAocGZuX3ZhbGlkKHBmbikpCi0JCQlhZGRfb25lX2hpZ2hwYWdlX2luaXQocGZuX3RvX3BhZ2UocGZuKSwgcGZuLCBiYWRfcHBybyk7Ci0JfQogCXRvdGFscmFtX3BhZ2VzICs9IHRvdGFsaGlnaF9wYWdlczsKIH0KICNlbmRpZiAvKiAhQ09ORklHX05VTUEgKi8KQEAgLTMxNywxNCArMzgxLDkgQEAKICNlbHNlCiAjIGRlZmluZSBrbWFwX2luaXQoKQkJCQlkbyB7IH0gd2hpbGUgKDApCiAjIGRlZmluZSBwZXJtYW5lbnRfa21hcHNfaW5pdChwZ2RfYmFzZSkJCWRvIHsgfSB3aGlsZSAoMCkKLSMgZGVmaW5lIHNldF9oaWdobWVtX3BhZ2VzX2luaXQoYmFkX3Bwcm8pCWRvIHsgfSB3aGlsZSAoMCkKKyMgZGVmaW5lIHNldF9oaWdobWVtX3BhZ2VzX2luaXQoKQlkbyB7IH0gd2hpbGUgKDApCiAjZW5kaWYgLyogQ09ORklHX0hJR0hNRU0gKi8KIAotcHRldmFsX3QgX19QQUdFX0tFUk5FTCA9IF9QQUdFX0tFUk5FTDsKLUVYUE9SVF9TWU1CT0woX19QQUdFX0tFUk5FTCk7Ci0KLXB0ZXZhbF90IF9fUEFHRV9LRVJORUxfRVhFQyA9IF9QQUdFX0tFUk5FTF9FWEVDOwotCiB2b2lkIF9faW5pdCBuYXRpdmVfcGFnZXRhYmxlX3NldHVwX3N0YXJ0KHBnZF90ICpiYXNlKQogewogCXVuc2lnbmVkIGxvbmcgcGZuLCB2YTsKQEAgLTM4MCwyNyArNDM5LDEwIEBACiAgKiBiZSBwYXJ0aWFsbHkgcG9wdWxhdGVkLCBhbmQgc28gaXQgYXZvaWRzIHN0b21waW5nIG9uIGFueSBleGlzdGluZwogICogbWFwcGluZ3MuCiAgKi8KLXN0YXRpYyB2b2lkIF9faW5pdCBwYWdldGFibGVfaW5pdCh2b2lkKQorc3RhdGljIHZvaWQgX19pbml0IGVhcmx5X2lvcmVtYXBfcGFnZV90YWJsZV9yYW5nZV9pbml0KHBnZF90ICpwZ2RfYmFzZSkKIHsKLQlwZ2RfdCAqcGdkX2Jhc2UgPSBzd2FwcGVyX3BnX2RpcjsKIAl1bnNpZ25lZCBsb25nIHZhZGRyLCBlbmQ7CiAKLQlwYXJhdmlydF9wYWdldGFibGVfc2V0dXBfc3RhcnQocGdkX2Jhc2UpOwotCi0JLyogRW5hYmxlIFBTRSBpZiBhdmFpbGFibGUgKi8KLQlpZiAoY3B1X2hhc19wc2UpCi0JCXNldF9pbl9jcjQoWDg2X0NSNF9QU0UpOwotCi0JLyogRW5hYmxlIFBHRSBpZiBhdmFpbGFibGUgKi8KLQlpZiAoY3B1X2hhc19wZ2UpIHsKLQkJc2V0X2luX2NyNChYODZfQ1I0X1BHRSk7Ci0JCV9fUEFHRV9LRVJORUwgfD0gX1BBR0VfR0xPQkFMOwotCQlfX1BBR0VfS0VSTkVMX0VYRUMgfD0gX1BBR0VfR0xPQkFMOwotCX0KLQotCWtlcm5lbF9waHlzaWNhbF9tYXBwaW5nX2luaXQocGdkX2Jhc2UpOwotCXJlbWFwX251bWFfa3ZhKCk7Ci0KIAkvKgogCSAqIEZpeGVkIG1hcHBpbmdzLCBvbmx5IHRoZSBwYWdlIHRhYmxlIHN0cnVjdHVyZSBoYXMgdG8gYmUKIAkgKiBjcmVhdGVkIC0gbWFwcGluZ3Mgd2lsbCBiZSBzZXQgYnkgc2V0X2ZpeG1hcCgpOgpAQCAtNDEwLDYgKzQ1MiwxMyBAQAogCWVuZCA9IChGSVhBRERSX1RPUCArIFBNRF9TSVpFIC0gMSkgJiBQTURfTUFTSzsKIAlwYWdlX3RhYmxlX3JhbmdlX2luaXQodmFkZHIsIGVuZCwgcGdkX2Jhc2UpOwogCWVhcmx5X2lvcmVtYXBfcmVzZXQoKTsKK30KKworc3RhdGljIHZvaWQgX19pbml0IHBhZ2V0YWJsZV9pbml0KHZvaWQpCit7CisJcGdkX3QgKnBnZF9iYXNlID0gc3dhcHBlcl9wZ19kaXI7CisKKwlwYXJhdmlydF9wYWdldGFibGVfc2V0dXBfc3RhcnQocGdkX2Jhc2UpOwogCiAJcGVybWFuZW50X2ttYXBzX2luaXQocGdkX2Jhc2UpOwogCkBAIC00NTYsNyArNTA1LDcgQEAKIAogaW50IG54X2VuYWJsZWQ7CiAKLXB0ZXZhbF90IF9fc3VwcG9ydGVkX3B0ZV9tYXNrIF9fcmVhZF9tb3N0bHkgPSB+X1BBR0VfTlg7CitwdGV2YWxfdCBfX3N1cHBvcnRlZF9wdGVfbWFzayBfX3JlYWRfbW9zdGx5ID0gfihfUEFHRV9OWCB8IF9QQUdFX0dMT0JBTCk7CiBFWFBPUlRfU1lNQk9MX0dQTChfX3N1cHBvcnRlZF9wdGVfbWFzayk7CiAKICNpZmRlZiBDT05GSUdfWDg2X1BBRQpAQCAtNTA5LDYgKzU1OCwyOTYgQEAKIH0KICNlbmRpZgogCisvKiB1c2VyLWRlZmluZWQgaGlnaG1lbSBzaXplICovCitzdGF0aWMgdW5zaWduZWQgaW50IGhpZ2htZW1fcGFnZXMgPSAtMTsKKworLyoKKyAqIGhpZ2htZW09c2l6ZSBmb3JjZXMgaGlnaG1lbSB0byBiZSBleGFjdGx5ICdzaXplJyBieXRlcy4KKyAqIFRoaXMgd29ya3MgZXZlbiBvbiBib3hlcyB0aGF0IGhhdmUgbm8gaGlnaG1lbSBvdGhlcndpc2UuCisgKiBUaGlzIGFsc28gd29ya3MgdG8gcmVkdWNlIGhpZ2htZW0gc2l6ZSBvbiBiaWdnZXIgYm94ZXMuCisgKi8KK3N0YXRpYyBpbnQgX19pbml0IHBhcnNlX2hpZ2htZW0oY2hhciAqYXJnKQoreworCWlmICghYXJnKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWhpZ2htZW1fcGFnZXMgPSBtZW1wYXJzZShhcmcsICZhcmcpID4+IFBBR0VfU0hJRlQ7CisJcmV0dXJuIDA7Cit9CitlYXJseV9wYXJhbSgiaGlnaG1lbSIsIHBhcnNlX2hpZ2htZW0pOworCisvKgorICogRGV0ZXJtaW5lIGxvdyBhbmQgaGlnaCBtZW1vcnkgcmFuZ2VzOgorICovCit2b2lkIF9faW5pdCBmaW5kX2xvd19wZm5fcmFuZ2Uodm9pZCkKK3sKKwkvKiBpdCBjb3VsZCB1cGRhdGUgbWF4X3BmbiAqLworCisJLyogbWF4X2xvd19wZm4gaXMgMCwgd2UgYWxyZWFkeSBoYXZlIGVhcmx5X3JlcyBzdXBwb3J0ICovCisKKwltYXhfbG93X3BmbiA9IG1heF9wZm47CisJaWYgKG1heF9sb3dfcGZuID4gTUFYTUVNX1BGTikgeworCQlpZiAoaGlnaG1lbV9wYWdlcyA9PSAtMSkKKwkJCWhpZ2htZW1fcGFnZXMgPSBtYXhfcGZuIC0gTUFYTUVNX1BGTjsKKwkJaWYgKGhpZ2htZW1fcGFnZXMgKyBNQVhNRU1fUEZOIDwgbWF4X3BmbikKKwkJCW1heF9wZm4gPSBNQVhNRU1fUEZOICsgaGlnaG1lbV9wYWdlczsKKwkJaWYgKGhpZ2htZW1fcGFnZXMgKyBNQVhNRU1fUEZOID4gbWF4X3BmbikgeworCQkJcHJpbnRrKEtFUk5fV0FSTklORyAib25seSAlbHVNQiBoaWdobWVtIHBhZ2VzICIKKwkJCQkiYXZhaWxhYmxlLCBpZ25vcmluZyBoaWdobWVtIHNpemUgb2YgJXVNQi5cbiIsCisJCQkJcGFnZXNfdG9fbWIobWF4X3BmbiAtIE1BWE1FTV9QRk4pLAorCQkJCXBhZ2VzX3RvX21iKGhpZ2htZW1fcGFnZXMpKTsKKwkJCWhpZ2htZW1fcGFnZXMgPSAwOworCQl9CisJCW1heF9sb3dfcGZuID0gTUFYTUVNX1BGTjsKKyNpZm5kZWYgQ09ORklHX0hJR0hNRU0KKwkJLyogTWF4aW11bSBtZW1vcnkgdXNhYmxlIGlzIHdoYXQgaXMgZGlyZWN0bHkgYWRkcmVzc2FibGUgKi8KKwkJcHJpbnRrKEtFUk5fV0FSTklORyAiV2FybmluZyBvbmx5ICVsZE1CIHdpbGwgYmUgdXNlZC5cbiIsCisJCQkJCU1BWE1FTT4+MjApOworCQlpZiAobWF4X3BmbiA+IE1BWF9OT05QQUVfUEZOKQorCQkJcHJpbnRrKEtFUk5fV0FSTklORworCQkJCSAiVXNlIGEgSElHSE1FTTY0RyBlbmFibGVkIGtlcm5lbC5cbiIpOworCQllbHNlCisJCQlwcmludGsoS0VSTl9XQVJOSU5HICJVc2UgYSBISUdITUVNIGVuYWJsZWQga2VybmVsLlxuIik7CisJCW1heF9wZm4gPSBNQVhNRU1fUEZOOworI2Vsc2UgLyogIUNPTkZJR19ISUdITUVNICovCisjaWZuZGVmIENPTkZJR19ISUdITUVNNjRHCisJCWlmIChtYXhfcGZuID4gTUFYX05PTlBBRV9QRk4pIHsKKwkJCW1heF9wZm4gPSBNQVhfTk9OUEFFX1BGTjsKKwkJCXByaW50ayhLRVJOX1dBUk5JTkcgIldhcm5pbmcgb25seSA0R0Igd2lsbCBiZSB1c2VkLiIKKwkJCQkiVXNlIGEgSElHSE1FTTY0RyBlbmFibGVkIGtlcm5lbC5cbiIpOworCQl9CisjZW5kaWYgLyogIUNPTkZJR19ISUdITUVNNjRHICovCisjZW5kaWYgLyogIUNPTkZJR19ISUdITUVNICovCisJfSBlbHNlIHsKKwkJaWYgKGhpZ2htZW1fcGFnZXMgPT0gLTEpCisJCQloaWdobWVtX3BhZ2VzID0gMDsKKyNpZmRlZiBDT05GSUdfSElHSE1FTQorCQlpZiAoaGlnaG1lbV9wYWdlcyA+PSBtYXhfcGZuKSB7CisJCQlwcmludGsoS0VSTl9FUlIgImhpZ2htZW0gc2l6ZSBzcGVjaWZpZWQgKCV1TUIpIGlzICIKKwkJCQkiYmlnZ2VyIHRoYW4gcGFnZXMgYXZhaWxhYmxlICglbHVNQikhLlxuIiwKKwkJCQlwYWdlc190b19tYihoaWdobWVtX3BhZ2VzKSwKKwkJCQlwYWdlc190b19tYihtYXhfcGZuKSk7CisJCQloaWdobWVtX3BhZ2VzID0gMDsKKwkJfQorCQlpZiAoaGlnaG1lbV9wYWdlcykgeworCQkJaWYgKG1heF9sb3dfcGZuIC0gaGlnaG1lbV9wYWdlcyA8CisJCQkgICAgNjQqMTAyNCoxMDI0L1BBR0VfU0laRSl7CisJCQkJcHJpbnRrKEtFUk5fRVJSICJoaWdobWVtIHNpemUgJXVNQiByZXN1bHRzIGluICIKKwkJCQkic21hbGxlciB0aGFuIDY0TUIgbG93bWVtLCBpZ25vcmluZyBpdC5cbiIKKwkJCQkJLCBwYWdlc190b19tYihoaWdobWVtX3BhZ2VzKSk7CisJCQkJaGlnaG1lbV9wYWdlcyA9IDA7CisJCQl9CisJCQltYXhfbG93X3BmbiAtPSBoaWdobWVtX3BhZ2VzOworCQl9CisjZWxzZQorCQlpZiAoaGlnaG1lbV9wYWdlcykKKwkJCXByaW50ayhLRVJOX0VSUiAiaWdub3JpbmcgaGlnaG1lbSBzaXplIG9uIG5vbi1oaWdobWVtIgorCQkJCQkiIGtlcm5lbCFcbiIpOworI2VuZGlmCisJfQorfQorCisjaWZuZGVmIENPTkZJR19ORUVEX01VTFRJUExFX05PREVTCit2b2lkIF9faW5pdCBpbml0bWVtX2luaXQodW5zaWduZWQgbG9uZyBzdGFydF9wZm4sCisJCQkJICB1bnNpZ25lZCBsb25nIGVuZF9wZm4pCit7CisjaWZkZWYgQ09ORklHX0hJR0hNRU0KKwloaWdoc3RhcnRfcGZuID0gaGlnaGVuZF9wZm4gPSBtYXhfcGZuOworCWlmIChtYXhfcGZuID4gbWF4X2xvd19wZm4pCisJCWhpZ2hzdGFydF9wZm4gPSBtYXhfbG93X3BmbjsKKwltZW1vcnlfcHJlc2VudCgwLCAwLCBoaWdoZW5kX3Bmbik7CisJZTgyMF9yZWdpc3Rlcl9hY3RpdmVfcmVnaW9ucygwLCAwLCBoaWdoZW5kX3Bmbik7CisJcHJpbnRrKEtFUk5fTk9USUNFICIlbGRNQiBISUdITUVNIGF2YWlsYWJsZS5cbiIsCisJCXBhZ2VzX3RvX21iKGhpZ2hlbmRfcGZuIC0gaGlnaHN0YXJ0X3BmbikpOworCW51bV9waHlzcGFnZXMgPSBoaWdoZW5kX3BmbjsKKwloaWdoX21lbW9yeSA9ICh2b2lkICopIF9fdmEoaGlnaHN0YXJ0X3BmbiAqIFBBR0VfU0laRSAtIDEpICsgMTsKKyNlbHNlCisJbWVtb3J5X3ByZXNlbnQoMCwgMCwgbWF4X2xvd19wZm4pOworCWU4MjBfcmVnaXN0ZXJfYWN0aXZlX3JlZ2lvbnMoMCwgMCwgbWF4X2xvd19wZm4pOworCW51bV9waHlzcGFnZXMgPSBtYXhfbG93X3BmbjsKKwloaWdoX21lbW9yeSA9ICh2b2lkICopIF9fdmEobWF4X2xvd19wZm4gKiBQQUdFX1NJWkUgLSAxKSArIDE7CisjZW5kaWYKKyNpZmRlZiBDT05GSUdfRkxBVE1FTQorCW1heF9tYXBuciA9IG51bV9waHlzcGFnZXM7CisjZW5kaWYKKwlwcmludGsoS0VSTl9OT1RJQ0UgIiVsZE1CIExPV01FTSBhdmFpbGFibGUuXG4iLAorCQkJcGFnZXNfdG9fbWIobWF4X2xvd19wZm4pKTsKKworCXNldHVwX2Jvb3RtZW1fYWxsb2NhdG9yKCk7Cit9CisjZW5kaWYgLyogIUNPTkZJR19ORUVEX01VTFRJUExFX05PREVTICovCisKK3N0YXRpYyB2b2lkIF9faW5pdCB6b25lX3NpemVzX2luaXQodm9pZCkKK3sKKwl1bnNpZ25lZCBsb25nIG1heF96b25lX3BmbnNbTUFYX05SX1pPTkVTXTsKKwltZW1zZXQobWF4X3pvbmVfcGZucywgMCwgc2l6ZW9mKG1heF96b25lX3BmbnMpKTsKKwltYXhfem9uZV9wZm5zW1pPTkVfRE1BXSA9CisJCXZpcnRfdG9fcGh5cygoY2hhciAqKU1BWF9ETUFfQUREUkVTUykgPj4gUEFHRV9TSElGVDsKKwltYXhfem9uZV9wZm5zW1pPTkVfTk9STUFMXSA9IG1heF9sb3dfcGZuOworI2lmZGVmIENPTkZJR19ISUdITUVNCisJbWF4X3pvbmVfcGZuc1taT05FX0hJR0hNRU1dID0gaGlnaGVuZF9wZm47CisjZW5kaWYKKworCWZyZWVfYXJlYV9pbml0X25vZGVzKG1heF96b25lX3BmbnMpOworfQorCit2b2lkIF9faW5pdCBzZXR1cF9ib290bWVtX2FsbG9jYXRvcih2b2lkKQoreworCWludCBpOworCXVuc2lnbmVkIGxvbmcgYm9vdG1hcF9zaXplLCBib290bWFwOworCS8qCisJICogSW5pdGlhbGl6ZSB0aGUgYm9vdC10aW1lIGFsbG9jYXRvciAod2l0aCBsb3cgbWVtb3J5IG9ubHkpOgorCSAqLworCWJvb3RtYXBfc2l6ZSA9IGJvb3RtZW1fYm9vdG1hcF9wYWdlcyhtYXhfbG93X3Bmbik8PFBBR0VfU0hJRlQ7CisJYm9vdG1hcCA9IGZpbmRfZTgyMF9hcmVhKG1pbl9sb3dfcGZuPDxQQUdFX1NISUZULAorCQkJCSBtYXhfcGZuX21hcHBlZDw8UEFHRV9TSElGVCwgYm9vdG1hcF9zaXplLAorCQkJCSBQQUdFX1NJWkUpOworCWlmIChib290bWFwID09IC0xTCkKKwkJcGFuaWMoIkNhbm5vdCBmaW5kIGJvb3RtZW0gbWFwIG9mIHNpemUgJWxkXG4iLCBib290bWFwX3NpemUpOworCXJlc2VydmVfZWFybHkoYm9vdG1hcCwgYm9vdG1hcCArIGJvb3RtYXBfc2l6ZSwgIkJPT1RNQVAiKTsKKworCS8qIGRvbid0IHRvdWNoIG1pbl9sb3dfcGZuICovCisJYm9vdG1hcF9zaXplID0gaW5pdF9ib290bWVtX25vZGUoTk9ERV9EQVRBKDApLCBib290bWFwID4+IFBBR0VfU0hJRlQsCisJCQkJCSBtaW5fbG93X3BmbiwgbWF4X2xvd19wZm4pOworCXByaW50ayhLRVJOX0lORk8gIiAgbWFwcGVkIGxvdyByYW06IDAgLSAlMDhseFxuIiwKKwkJIG1heF9wZm5fbWFwcGVkPDxQQUdFX1NISUZUKTsKKwlwcmludGsoS0VSTl9JTkZPICIgIGxvdyByYW06ICUwOGx4IC0gJTA4bHhcbiIsCisJCSBtaW5fbG93X3Bmbjw8UEFHRV9TSElGVCwgbWF4X2xvd19wZm48PFBBR0VfU0hJRlQpOworCXByaW50ayhLRVJOX0lORk8gIiAgYm9vdG1hcCAlMDhseCAtICUwOGx4XG4iLAorCQkgYm9vdG1hcCwgYm9vdG1hcCArIGJvb3RtYXBfc2l6ZSk7CisJZm9yX2VhY2hfb25saW5lX25vZGUoaSkKKwkJZnJlZV9ib290bWVtX3dpdGhfYWN0aXZlX3JlZ2lvbnMoaSwgbWF4X2xvd19wZm4pOworCWVhcmx5X3Jlc190b19ib290bWVtKDAsIG1heF9sb3dfcGZuPDxQQUdFX1NISUZUKTsKKworCWFmdGVyX2luaXRfYm9vdG1lbSA9IDE7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBmaW5kX2Vhcmx5X3RhYmxlX3NwYWNlKHVuc2lnbmVkIGxvbmcgZW5kKQoreworCXVuc2lnbmVkIGxvbmcgcHVkcywgcG1kcywgcHRlcywgdGFibGVzLCBzdGFydDsKKworCXB1ZHMgPSAoZW5kICsgUFVEX1NJWkUgLSAxKSA+PiBQVURfU0hJRlQ7CisJdGFibGVzID0gUEFHRV9BTElHTihwdWRzICogc2l6ZW9mKHB1ZF90KSk7CisKKwlwbWRzID0gKGVuZCArIFBNRF9TSVpFIC0gMSkgPj4gUE1EX1NISUZUOworCXRhYmxlcyArPSBQQUdFX0FMSUdOKHBtZHMgKiBzaXplb2YocG1kX3QpKTsKKworCWlmIChjcHVfaGFzX3BzZSkgeworCQl1bnNpZ25lZCBsb25nIGV4dHJhOworCisJCWV4dHJhID0gZW5kIC0gKChlbmQ+PlBNRF9TSElGVCkgPDwgUE1EX1NISUZUKTsKKwkJZXh0cmEgKz0gUE1EX1NJWkU7CisJCXB0ZXMgPSAoZXh0cmEgKyBQQUdFX1NJWkUgLSAxKSA+PiBQQUdFX1NISUZUOworCX0gZWxzZQorCQlwdGVzID0gKGVuZCArIFBBR0VfU0laRSAtIDEpID4+IFBBR0VfU0hJRlQ7CisKKwl0YWJsZXMgKz0gUEFHRV9BTElHTihwdGVzICogc2l6ZW9mKHB0ZV90KSk7CisKKwkvKiBmb3IgZml4bWFwICovCisJdGFibGVzICs9IFBBR0VfU0laRSAqIDI7CisKKwkvKgorCSAqIFJFRC1QRU4gcHV0dGluZyBwYWdlIHRhYmxlcyBvbmx5IG9uIG5vZGUgMCBjb3VsZAorCSAqIGNhdXNlIGEgaG90c3BvdCBhbmQgZmlsbCB1cCBaT05FX0RNQS4gVGhlIHBhZ2UgdGFibGVzCisJICogbmVlZCByb3VnaGx5IDAuNUtCIHBlciBHQi4KKwkgKi8KKwlzdGFydCA9IDB4NzAwMDsKKwl0YWJsZV9zdGFydCA9IGZpbmRfZTgyMF9hcmVhKHN0YXJ0LCBtYXhfcGZuX21hcHBlZDw8UEFHRV9TSElGVCwKKwkJCQkJdGFibGVzLCBQQUdFX1NJWkUpOworCWlmICh0YWJsZV9zdGFydCA9PSAtMVVMKQorCQlwYW5pYygiQ2Fubm90IGZpbmQgc3BhY2UgZm9yIHRoZSBrZXJuZWwgcGFnZSB0YWJsZXMiKTsKKworCXRhYmxlX3N0YXJ0ID4+PSBQQUdFX1NISUZUOworCXRhYmxlX2VuZCA9IHRhYmxlX3N0YXJ0OworCXRhYmxlX3RvcCA9IHRhYmxlX3N0YXJ0ICsgKHRhYmxlcz4+UEFHRV9TSElGVCk7CisKKwlwcmludGsoS0VSTl9ERUJVRyAia2VybmVsIGRpcmVjdCBtYXBwaW5nIHRhYmxlcyB1cCB0byAlbHggQCAlbHgtJWx4XG4iLAorCQllbmQsIHRhYmxlX3N0YXJ0IDw8IFBBR0VfU0hJRlQsCisJCSh0YWJsZV9zdGFydCA8PCBQQUdFX1NISUZUKSArIHRhYmxlcyk7Cit9CisKK3Vuc2lnbmVkIGxvbmcgX19pbml0X3JlZm9rIGluaXRfbWVtb3J5X21hcHBpbmcodW5zaWduZWQgbG9uZyBzdGFydCwKKwkJCQkJCXVuc2lnbmVkIGxvbmcgZW5kKQoreworCXBnZF90ICpwZ2RfYmFzZSA9IHN3YXBwZXJfcGdfZGlyOworCXVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuLCBlbmRfcGZuOworCXVuc2lnbmVkIGxvbmcgYmlnX3BhZ2Vfc3RhcnQ7CisKKwkvKgorCSAqIEZpbmQgc3BhY2UgZm9yIHRoZSBrZXJuZWwgZGlyZWN0IG1hcHBpbmcgdGFibGVzLgorCSAqLworCWlmICghYWZ0ZXJfaW5pdF9ib290bWVtKQorCQlmaW5kX2Vhcmx5X3RhYmxlX3NwYWNlKGVuZCk7CisKKyNpZmRlZiBDT05GSUdfWDg2X1BBRQorCXNldF9ueCgpOworCWlmIChueF9lbmFibGVkKQorCQlwcmludGsoS0VSTl9JTkZPICJOWCAoRXhlY3V0ZSBEaXNhYmxlKSBwcm90ZWN0aW9uOiBhY3RpdmVcbiIpOworI2VuZGlmCisKKwkvKiBFbmFibGUgUFNFIGlmIGF2YWlsYWJsZSAqLworCWlmIChjcHVfaGFzX3BzZSkKKwkJc2V0X2luX2NyNChYODZfQ1I0X1BTRSk7CisKKwkvKiBFbmFibGUgUEdFIGlmIGF2YWlsYWJsZSAqLworCWlmIChjcHVfaGFzX3BnZSkgeworCQlzZXRfaW5fY3I0KFg4Nl9DUjRfUEdFKTsKKwkJX19zdXBwb3J0ZWRfcHRlX21hc2sgfD0gX1BBR0VfR0xPQkFMOworCX0KKworCS8qCisJICogRG9uJ3QgdXNlIGEgbGFyZ2UgcGFnZSBmb3IgdGhlIGZpcnN0IDIvNE1CIG9mIG1lbW9yeQorCSAqIGJlY2F1c2UgdGhlcmUgYXJlIG9mdGVuIGZpeGVkIHNpemUgTVRSUnMgaW4gdGhlcmUKKwkgKiBhbmQgb3ZlcmxhcHBpbmcgTVRSUnMgaW50byBsYXJnZSBwYWdlcyBjYW4gY2F1c2UKKwkgKiBzbG93ZG93bnMuCisJICovCisJYmlnX3BhZ2Vfc3RhcnQgPSBQTURfU0laRTsKKworCWlmIChzdGFydCA8IGJpZ19wYWdlX3N0YXJ0KSB7CisJCXN0YXJ0X3BmbiA9IHN0YXJ0ID4+IFBBR0VfU0hJRlQ7CisJCWVuZF9wZm4gPSBtaW4oYmlnX3BhZ2Vfc3RhcnQ+PlBBR0VfU0hJRlQsIGVuZD4+UEFHRV9TSElGVCk7CisJfSBlbHNlIHsKKwkJLyogaGVhZCBpcyBub3QgYmlnIHBhZ2UgYWxpZ25tZW50ID8gKi8KKwkJc3RhcnRfcGZuID0gc3RhcnQgPj4gUEFHRV9TSElGVDsKKwkJZW5kX3BmbiA9ICgoc3RhcnQgKyAoUE1EX1NJWkUgLSAxKSk+PlBNRF9TSElGVCkKKwkJCQkgPDwgKFBNRF9TSElGVCAtIFBBR0VfU0hJRlQpOworCX0KKwlpZiAoc3RhcnRfcGZuIDwgZW5kX3BmbikKKwkJa2VybmVsX3BoeXNpY2FsX21hcHBpbmdfaW5pdChwZ2RfYmFzZSwgc3RhcnRfcGZuLCBlbmRfcGZuLCAwKTsKKworCS8qIGJpZyBwYWdlIHJhbmdlICovCisJc3RhcnRfcGZuID0gKChzdGFydCArIChQTURfU0laRSAtIDEpKT4+UE1EX1NISUZUKQorCQkJIDw8IChQTURfU0hJRlQgLSBQQUdFX1NISUZUKTsKKwlpZiAoc3RhcnRfcGZuIDwgKGJpZ19wYWdlX3N0YXJ0ID4+IFBBR0VfU0hJRlQpKQorCQlzdGFydF9wZm4gPSAgYmlnX3BhZ2Vfc3RhcnQgPj4gUEFHRV9TSElGVDsKKwllbmRfcGZuID0gKGVuZD4+UE1EX1NISUZUKSA8PCAoUE1EX1NISUZUIC0gUEFHRV9TSElGVCk7CisJaWYgKHN0YXJ0X3BmbiA8IGVuZF9wZm4pCisJCWtlcm5lbF9waHlzaWNhbF9tYXBwaW5nX2luaXQocGdkX2Jhc2UsIHN0YXJ0X3BmbiwgZW5kX3BmbiwKKwkJCQkJCWNwdV9oYXNfcHNlKTsKKworCS8qIHRhaWwgaXMgbm90IGJpZyBwYWdlIGFsaWdubWVudCA/ICovCisJc3RhcnRfcGZuID0gZW5kX3BmbjsKKwlpZiAoc3RhcnRfcGZuID4gKGJpZ19wYWdlX3N0YXJ0Pj5QQUdFX1NISUZUKSkgeworCQllbmRfcGZuID0gZW5kID4+IFBBR0VfU0hJRlQ7CisJCWlmIChzdGFydF9wZm4gPCBlbmRfcGZuKQorCQkJa2VybmVsX3BoeXNpY2FsX21hcHBpbmdfaW5pdChwZ2RfYmFzZSwgc3RhcnRfcGZuLAorCQkJCQkJCSBlbmRfcGZuLCAwKTsKKwl9CisKKwllYXJseV9pb3JlbWFwX3BhZ2VfdGFibGVfcmFuZ2VfaW5pdChwZ2RfYmFzZSk7CisKKwlsb2FkX2NyMyhzd2FwcGVyX3BnX2Rpcik7CisKKwlfX2ZsdXNoX3RsYl9hbGwoKTsKKworCWlmICghYWZ0ZXJfaW5pdF9ib290bWVtKQorCQlyZXNlcnZlX2Vhcmx5KHRhYmxlX3N0YXJ0IDw8IFBBR0VfU0hJRlQsCisJCQkJIHRhYmxlX2VuZCA8PCBQQUdFX1NISUZULCAiUEdUQUJMRSIpOworCisJcmV0dXJuIGVuZCA+PiBQQUdFX1NISUZUOworfQorCisKIC8qCiAgKiBwYWdpbmdfaW5pdCgpIHNldHMgdXAgdGhlIHBhZ2UgdGFibGVzIC0gbm90ZSB0aGF0IHRoZSBmaXJzdCA4TUIgYXJlCiAgKiBhbHJlYWR5IG1hcHBlZCBieSBoZWFkLlMuCkBAIC01MTgsMTggKzg1NywxOSBAQAogICovCiB2b2lkIF9faW5pdCBwYWdpbmdfaW5pdCh2b2lkKQogewotI2lmZGVmIENPTkZJR19YODZfUEFFCi0Jc2V0X254KCk7Ci0JaWYgKG54X2VuYWJsZWQpCi0JCXByaW50ayhLRVJOX0lORk8gIk5YIChFeGVjdXRlIERpc2FibGUpIHByb3RlY3Rpb246IGFjdGl2ZVxuIik7Ci0jZW5kaWYKIAlwYWdldGFibGVfaW5pdCgpOwogCi0JbG9hZF9jcjMoc3dhcHBlcl9wZ19kaXIpOwotCiAJX19mbHVzaF90bGJfYWxsKCk7CiAKIAlrbWFwX2luaXQoKTsKKworCS8qCisJICogTk9URTogYXQgdGhpcyBwb2ludCB0aGUgYm9vdG1lbSBhbGxvY2F0b3IgaXMgZnVsbHkgYXZhaWxhYmxlLgorCSAqLworCXNwYXJzZV9pbml0KCk7CisJem9uZV9zaXplc19pbml0KCk7CisKKwlwYXJhdmlydF9wb3N0X2FsbG9jYXRvcl9pbml0KCk7CiB9CiAKIC8qCkBAIC01NjQsMjQgKzkwNCwxMSBAQAogdm9pZCBfX2luaXQgbWVtX2luaXQodm9pZCkKIHsKIAlpbnQgY29kZXNpemUsIHJlc2VydmVkcGFnZXMsIGRhdGFzaXplLCBpbml0c2l6ZTsKLQlpbnQgdG1wLCBiYWRfcHBybzsKKwlpbnQgdG1wOwogCiAjaWZkZWYgQ09ORklHX0ZMQVRNRU0KIAlCVUdfT04oIW1lbV9tYXApOwogI2VuZGlmCi0JYmFkX3Bwcm8gPSBwcHJvX3dpdGhfcmFtX2J1ZygpOwotCi0jaWZkZWYgQ09ORklHX0hJR0hNRU0KLQkvKiBjaGVjayB0aGF0IGZpeG1hcCBhbmQgcGttYXAgZG8gbm90IG92ZXJsYXAgKi8KLQlpZiAoUEtNQVBfQkFTRSArIExBU1RfUEtNQVAqUEFHRV9TSVpFID49IEZJWEFERFJfU1RBUlQpIHsKLQkJcHJpbnRrKEtFUk5fRVJSCi0JCQkiZml4bWFwIGFuZCBrbWFwIGFyZWFzIG92ZXJsYXAgLSB0aGlzIHdpbGwgY3Jhc2hcbiIpOwotCQlwcmludGsoS0VSTl9FUlIgInBrc3RhcnQ6ICVseGggcGtlbmQ6ICVseGggZml4c3RhcnQgJWx4aFxuIiwKLQkJCQlQS01BUF9CQVNFLCBQS01BUF9CQVNFICsgTEFTVF9QS01BUCpQQUdFX1NJWkUsCi0JCQkJRklYQUREUl9TVEFSVCk7Ci0JCUJVRygpOwotCX0KLSNlbmRpZgogCS8qIHRoaXMgd2lsbCBwdXQgYWxsIGxvdyBtZW1vcnkgb250byB0aGUgZnJlZWxpc3RzICovCiAJdG90YWxyYW1fcGFnZXMgKz0gZnJlZV9hbGxfYm9vdG1lbSgpOwogCkBAIC01OTMsNyArOTIwLDcgQEAKIAkJaWYgKHBhZ2VfaXNfcmFtKHRtcCkgJiYgUGFnZVJlc2VydmVkKHBmbl90b19wYWdlKHRtcCkpKQogCQkJcmVzZXJ2ZWRwYWdlcysrOwogCi0Jc2V0X2hpZ2htZW1fcGFnZXNfaW5pdChiYWRfcHBybyk7CisJc2V0X2hpZ2htZW1fcGFnZXNfaW5pdCgpOwogCiAJY29kZXNpemUgPSAgKHVuc2lnbmVkIGxvbmcpICZfZXRleHQgLSAodW5zaWduZWQgbG9uZykgJl90ZXh0OwogCWRhdGFzaXplID0gICh1bnNpZ25lZCBsb25nKSAmX2VkYXRhIC0gKHVuc2lnbmVkIGxvbmcpICZfZXRleHQ7CkBAIC02MTQsNyArOTQxLDYgQEAKIAkJKHVuc2lnbmVkIGxvbmcpICh0b3RhbGhpZ2hfcGFnZXMgPDwgKFBBR0VfU0hJRlQtMTApKQogCSAgICAgICApOwogCi0jaWYgMSAvKiBkb3VibGUtc2FuaXR5LWNoZWNrIHBhcmFub2lhICovCiAJcHJpbnRrKEtFUk5fSU5GTyAidmlydHVhbCBrZXJuZWwgbWVtb3J5IGxheW91dDpcbiIKIAkJIiAgICBmaXhtYXAgIDogMHglMDhseCAtIDB4JTA4bHggICAoJTRsZCBrQilcbiIKICNpZmRlZiBDT05GSUdfSElHSE1FTQpAQCAtNjU1LDcgKzk4MSw2IEBACiAjZW5kaWYKIAlCVUdfT04oVk1BTExPQ19TVEFSVAkJCQk+IFZNQUxMT0NfRU5EKTsKIAlCVUdfT04oKHVuc2lnbmVkIGxvbmcpaGlnaF9tZW1vcnkJCT4gVk1BTExPQ19TVEFSVCk7Ci0jZW5kaWYgLyogZG91YmxlLXNhbml0eS1jaGVjayBwYXJhbm9pYSAqLwogCiAJaWYgKGJvb3RfY3B1X2RhdGEud3Bfd29ya3Nfb2sgPCAwKQogCQl0ZXN0X3dwX2JpdCgpOwpAQCAtNzEwLDYgKzEwMzUsOCBAQAogCXVuc2lnbmVkIGxvbmcgc3RhcnQgPSBQRk5fQUxJR04oX3RleHQpOwogCXVuc2lnbmVkIGxvbmcgc2l6ZSA9IFBGTl9BTElHTihfZXRleHQpIC0gc3RhcnQ7CiAKKyNpZm5kZWYgQ09ORklHX0RZTkFNSUNfRlRSQUNFCisJLyogRHluYW1pYyB0cmFjaW5nIG1vZGlmaWVzIHRoZSBrZXJuZWwgdGV4dCBzZWN0aW9uICovCiAJc2V0X3BhZ2VzX3JvKHZpcnRfdG9fcGFnZShzdGFydCksIHNpemUgPj4gUEFHRV9TSElGVCk7CiAJcHJpbnRrKEtFUk5fSU5GTyAiV3JpdGUgcHJvdGVjdGluZyB0aGUga2VybmVsIHRleHQ6ICVsdWtcbiIsCiAJCXNpemUgPj4gMTApOwpAQCAtNzIyLDYgKzEwNDksOCBAQAogCXByaW50ayhLRVJOX0lORk8gIlRlc3RpbmcgQ1BBOiB3cml0ZSBwcm90ZWN0aW5nIGFnYWluXG4iKTsKIAlzZXRfcGFnZXNfcm8odmlydF90b19wYWdlKHN0YXJ0KSwgc2l6ZT4+UEFHRV9TSElGVCk7CiAjZW5kaWYKKyNlbmRpZiAvKiBDT05GSUdfRFlOQU1JQ19GVFJBQ0UgKi8KKwogCXN0YXJ0ICs9IHNpemU7CiAJc2l6ZSA9ICh1bnNpZ25lZCBsb25nKV9fZW5kX3JvZGF0YSAtIHN0YXJ0OwogCXNldF9wYWdlc19ybyh2aXJ0X3RvX3BhZ2Uoc3RhcnQpLCBzaXplID4+IFBBR0VfU0hJRlQpOwpAQCAtNzg0LDMgKzExMTMsOSBAQAogCWZyZWVfaW5pdF9wYWdlcygiaW5pdHJkIG1lbW9yeSIsIHN0YXJ0LCBlbmQpOwogfQogI2VuZGlmCisKK2ludCBfX2luaXQgcmVzZXJ2ZV9ib290bWVtX2dlbmVyaWModW5zaWduZWQgbG9uZyBwaHlzLCB1bnNpZ25lZCBsb25nIGxlbiwKKwkJCQkgICBpbnQgZmxhZ3MpCit7CisJcmV0dXJuIHJlc2VydmVfYm9vdG1lbShwaHlzLCBsZW4sIGZsYWdzKTsKK30KZGlmZiAtLWdpdCBhL2FyY2gveDg2L21tL2luaXRfNjQuYyBiL2FyY2gveDg2L21tL2luaXRfNjQuYwppbmRleCA4MTlkYWQ5Li4yN2RlMjQzIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9tbS9pbml0XzY0LmMKKysrIGIvYXJjaC94ODYvbW0vaW5pdF82NC5jCkBAIC0xOCw2ICsxOCw3IEBACiAjaW5jbHVkZSA8bGludXgvc3dhcC5oPgogI2luY2x1ZGUgPGxpbnV4L3NtcC5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0cmQuaD4KICNpbmNsdWRlIDxsaW51eC9wYWdlbWFwLmg+CiAjaW5jbHVkZSA8bGludXgvYm9vdG1lbS5oPgogI2luY2x1ZGUgPGxpbnV4L3Byb2NfZnMuaD4KQEAgLTQ3LDYgKzQ4LDE0IEBACiAjaW5jbHVkZSA8YXNtL251bWEuaD4KICNpbmNsdWRlIDxhc20vY2FjaGVmbHVzaC5oPgogCisvKgorICogZW5kX3BmbiBvbmx5IGluY2x1ZGVzIFJBTSwgd2hpbGUgbWF4X3Bmbl9tYXBwZWQgaW5jbHVkZXMgYWxsIGU4MjAgZW50cmllcy4KKyAqIFRoZSBkaXJlY3QgbWFwcGluZyBleHRlbmRzIHRvIG1heF9wZm5fbWFwcGVkLCBzbyB0aGF0IHdlIGNhbiBkaXJlY3RseSBhY2Nlc3MKKyAqIGFwZXJ0dXJlcywgQUNQSSBhbmQgb3RoZXIgdGFibGVzIHdpdGhvdXQgaGF2aW5nIHRvIHBsYXkgd2l0aCBmaXhtYXBzLgorICovCit1bnNpZ25lZCBsb25nIG1heF9sb3dfcGZuX21hcHBlZDsKK3Vuc2lnbmVkIGxvbmcgbWF4X3Bmbl9tYXBwZWQ7CisKIHN0YXRpYyB1bnNpZ25lZCBsb25nIGRtYV9yZXNlcnZlIF9faW5pdGRhdGE7CiAKIERFRklORV9QRVJfQ1BVKHN0cnVjdCBtbXVfZ2F0aGVyLCBtbXVfZ2F0aGVycyk7CkBAIC0xMzUsMjYgKzE0NCwxNyBAQAogCXJldHVybiBwdHI7CiB9CiAKLXN0YXRpYyBfX2luaXQgdm9pZAotc2V0X3B0ZV9waHlzKHVuc2lnbmVkIGxvbmcgdmFkZHIsIHVuc2lnbmVkIGxvbmcgcGh5cywgcGdwcm90X3QgcHJvdCkKK3ZvaWQKK3NldF9wdGVfdmFkZHJfcHVkKHB1ZF90ICpwdWRfcGFnZSwgdW5zaWduZWQgbG9uZyB2YWRkciwgcHRlX3QgbmV3X3B0ZSkKIHsKLQlwZ2RfdCAqcGdkOwogCXB1ZF90ICpwdWQ7CiAJcG1kX3QgKnBtZDsKLQlwdGVfdCAqcHRlLCBuZXdfcHRlOworCXB0ZV90ICpwdGU7CiAKLQlwcl9kZWJ1Zygic2V0X3B0ZV9waHlzICVseCB0byAlbHhcbiIsIHZhZGRyLCBwaHlzKTsKLQotCXBnZCA9IHBnZF9vZmZzZXRfayh2YWRkcik7Ci0JaWYgKHBnZF9ub25lKCpwZ2QpKSB7Ci0JCXByaW50ayhLRVJOX0VSUgotCQkJIlBHRCBGSVhNQVAgTUlTU0lORywgaXQgc2hvdWxkIGJlIHNldHVwIGluIGhlYWQuUyFcbiIpOwotCQlyZXR1cm47Ci0JfQotCXB1ZCA9IHB1ZF9vZmZzZXQocGdkLCB2YWRkcik7CisJcHVkID0gcHVkX3BhZ2UgKyBwdWRfaW5kZXgodmFkZHIpOwogCWlmIChwdWRfbm9uZSgqcHVkKSkgewogCQlwbWQgPSAocG1kX3QgKikgc3BwX2dldHBhZ2UoKTsKLQkJc2V0X3B1ZChwdWQsIF9fcHVkKF9fcGEocG1kKSB8IF9LRVJOUEdfVEFCTEUgfCBfUEFHRV9VU0VSKSk7CisJCXB1ZF9wb3B1bGF0ZSgmaW5pdF9tbSwgcHVkLCBwbWQpOwogCQlpZiAocG1kICE9IHBtZF9vZmZzZXQocHVkLCAwKSkgewogCQkJcHJpbnRrKEtFUk5fRVJSICJQQUdFVEFCTEUgQlVHICMwMSEgJXAgPC0+ICVwXG4iLAogCQkJCXBtZCwgcG1kX29mZnNldChwdWQsIDApKTsKQEAgLTE2NCwxMyArMTY0LDEyIEBACiAJcG1kID0gcG1kX29mZnNldChwdWQsIHZhZGRyKTsKIAlpZiAocG1kX25vbmUoKnBtZCkpIHsKIAkJcHRlID0gKHB0ZV90ICopIHNwcF9nZXRwYWdlKCk7Ci0JCXNldF9wbWQocG1kLCBfX3BtZChfX3BhKHB0ZSkgfCBfS0VSTlBHX1RBQkxFIHwgX1BBR0VfVVNFUikpOworCQlwbWRfcG9wdWxhdGVfa2VybmVsKCZpbml0X21tLCBwbWQsIHB0ZSk7CiAJCWlmIChwdGUgIT0gcHRlX29mZnNldF9rZXJuZWwocG1kLCAwKSkgewogCQkJcHJpbnRrKEtFUk5fRVJSICJQQUdFVEFCTEUgQlVHICMwMiFcbiIpOwogCQkJcmV0dXJuOwogCQl9CiAJfQotCW5ld19wdGUgPSBwZm5fcHRlKHBoeXMgPj4gUEFHRV9TSElGVCwgcHJvdCk7CiAKIAlwdGUgPSBwdGVfb2Zmc2V0X2tlcm5lbChwbWQsIHZhZGRyKTsKIAlpZiAoIXB0ZV9ub25lKCpwdGUpICYmIHB0ZV92YWwobmV3X3B0ZSkgJiYKQEAgLTE4NSw2ICsxODQsNjQgQEAKIAlfX2ZsdXNoX3RsYl9vbmUodmFkZHIpOwogfQogCit2b2lkCitzZXRfcHRlX3ZhZGRyKHVuc2lnbmVkIGxvbmcgdmFkZHIsIHB0ZV90IHB0ZXZhbCkKK3sKKwlwZ2RfdCAqcGdkOworCXB1ZF90ICpwdWRfcGFnZTsKKworCXByX2RlYnVnKCJzZXRfcHRlX3ZhZGRyICVseCB0byAlbHhcbiIsIHZhZGRyLCBuYXRpdmVfcHRlX3ZhbChwdGV2YWwpKTsKKworCXBnZCA9IHBnZF9vZmZzZXRfayh2YWRkcik7CisJaWYgKHBnZF9ub25lKCpwZ2QpKSB7CisJCXByaW50ayhLRVJOX0VSUgorCQkJIlBHRCBGSVhNQVAgTUlTU0lORywgaXQgc2hvdWxkIGJlIHNldHVwIGluIGhlYWQuUyFcbiIpOworCQlyZXR1cm47CisJfQorCXB1ZF9wYWdlID0gKHB1ZF90KilwZ2RfcGFnZV92YWRkcigqcGdkKTsKKwlzZXRfcHRlX3ZhZGRyX3B1ZChwdWRfcGFnZSwgdmFkZHIsIHB0ZXZhbCk7Cit9CisKKy8qCisgKiBDcmVhdGUgbGFyZ2UgcGFnZSB0YWJsZSBtYXBwaW5ncyBmb3IgYSByYW5nZSBvZiBwaHlzaWNhbCBhZGRyZXNzZXMuCisgKi8KK3N0YXRpYyB2b2lkIF9faW5pdCBfX2luaXRfZXh0cmFfbWFwcGluZyh1bnNpZ25lZCBsb25nIHBoeXMsIHVuc2lnbmVkIGxvbmcgc2l6ZSwKKwkJCQkJCXBncHJvdF90IHByb3QpCit7CisJcGdkX3QgKnBnZDsKKwlwdWRfdCAqcHVkOworCXBtZF90ICpwbWQ7CisKKwlCVUdfT04oKHBoeXMgJiB+UE1EX01BU0spIHx8IChzaXplICYgflBNRF9NQVNLKSk7CisJZm9yICg7IHNpemU7IHBoeXMgKz0gUE1EX1NJWkUsIHNpemUgLT0gUE1EX1NJWkUpIHsKKwkJcGdkID0gcGdkX29mZnNldF9rKCh1bnNpZ25lZCBsb25nKV9fdmEocGh5cykpOworCQlpZiAocGdkX25vbmUoKnBnZCkpIHsKKwkJCXB1ZCA9IChwdWRfdCAqKSBzcHBfZ2V0cGFnZSgpOworCQkJc2V0X3BnZChwZ2QsIF9fcGdkKF9fcGEocHVkKSB8IF9LRVJOUEdfVEFCTEUgfAorCQkJCQkJX1BBR0VfVVNFUikpOworCQl9CisJCXB1ZCA9IHB1ZF9vZmZzZXQocGdkLCAodW5zaWduZWQgbG9uZylfX3ZhKHBoeXMpKTsKKwkJaWYgKHB1ZF9ub25lKCpwdWQpKSB7CisJCQlwbWQgPSAocG1kX3QgKikgc3BwX2dldHBhZ2UoKTsKKwkJCXNldF9wdWQocHVkLCBfX3B1ZChfX3BhKHBtZCkgfCBfS0VSTlBHX1RBQkxFIHwKKwkJCQkJCV9QQUdFX1VTRVIpKTsKKwkJfQorCQlwbWQgPSBwbWRfb2Zmc2V0KHB1ZCwgcGh5cyk7CisJCUJVR19PTighcG1kX25vbmUoKnBtZCkpOworCQlzZXRfcG1kKHBtZCwgX19wbWQocGh5cyB8IHBncHJvdF92YWwocHJvdCkpKTsKKwl9Cit9CisKK3ZvaWQgX19pbml0IGluaXRfZXh0cmFfbWFwcGluZ193Yih1bnNpZ25lZCBsb25nIHBoeXMsIHVuc2lnbmVkIGxvbmcgc2l6ZSkKK3sKKwlfX2luaXRfZXh0cmFfbWFwcGluZyhwaHlzLCBzaXplLCBQQUdFX0tFUk5FTF9MQVJHRSk7Cit9CisKK3ZvaWQgX19pbml0IGluaXRfZXh0cmFfbWFwcGluZ191Yyh1bnNpZ25lZCBsb25nIHBoeXMsIHVuc2lnbmVkIGxvbmcgc2l6ZSkKK3sKKwlfX2luaXRfZXh0cmFfbWFwcGluZyhwaHlzLCBzaXplLCBQQUdFX0tFUk5FTF9MQVJHRV9OT0NBQ0hFKTsKK30KKwogLyoKICAqIFRoZSBoZWFkLlMgY29kZSBzZXRzIHVwIHRoZSBrZXJuZWwgaGlnaCBtYXBwaW5nOgogICoKQEAgLTIxMywyMCArMjcwLDkgQEAKIAl9CiB9CiAKLS8qIE5PVEU6IHRoaXMgaXMgbWVhbnQgdG8gYmUgcnVuIG9ubHkgYXQgYm9vdCAqLwotdm9pZCBfX2luaXQgX19zZXRfZml4bWFwKGVudW0gZml4ZWRfYWRkcmVzc2VzIGlkeCwgdW5zaWduZWQgbG9uZyBwaHlzLCBwZ3Byb3RfdCBwcm90KQotewotCXVuc2lnbmVkIGxvbmcgYWRkcmVzcyA9IF9fZml4X3RvX3ZpcnQoaWR4KTsKLQotCWlmIChpZHggPj0gX19lbmRfb2ZfZml4ZWRfYWRkcmVzc2VzKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiSW52YWxpZCBfX3NldF9maXhtYXBcbiIpOwotCQlyZXR1cm47Ci0JfQotCXNldF9wdGVfcGh5cyhhZGRyZXNzLCBwaHlzLCBwcm90KTsKLX0KLQogc3RhdGljIHVuc2lnbmVkIGxvbmcgX19pbml0ZGF0YSB0YWJsZV9zdGFydDsKIHN0YXRpYyB1bnNpZ25lZCBsb25nIF9fbWVtaW5pdGRhdGEgdGFibGVfZW5kOworc3RhdGljIHVuc2lnbmVkIGxvbmcgX19tZW1pbml0ZGF0YSB0YWJsZV90b3A7CiAKIHN0YXRpYyBfX21lbWluaXQgdm9pZCAqYWxsb2NfbG93X3BhZ2UodW5zaWduZWQgbG9uZyAqcGh5cykKIHsKQEAgLTI0MCw3ICsyODYsNyBAQAogCQlyZXR1cm4gYWRyOwogCX0KIAotCWlmIChwZm4gPj0gZW5kX3BmbikKKwlpZiAocGZuID49IHRhYmxlX3RvcCkKIAkJcGFuaWMoImFsbG9jX2xvd19wYWdlOiByYW4gb3V0IG9mIG1lbW9yeSIpOwogCiAJYWRyID0gZWFybHlfaW9yZW1hcChwZm4gKiBQQUdFX1NJWkUsIFBBR0VfU0laRSk7CkBAIC0yNTcsNjUgKzMwMyw2MSBAQAogCWVhcmx5X2lvdW5tYXAoYWRyLCBQQUdFX1NJWkUpOwogfQogCi0vKiBNdXN0IHJ1biBiZWZvcmUgemFwX2xvd19tYXBwaW5ncyAqLwotX19tZW1pbml0IHZvaWQgKmVhcmx5X2lvcmVtYXAodW5zaWduZWQgbG9uZyBhZGRyLCB1bnNpZ25lZCBsb25nIHNpemUpCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfX21lbWluaXQKK3BoeXNfcHRlX2luaXQocHRlX3QgKnB0ZV9wYWdlLCB1bnNpZ25lZCBsb25nIGFkZHIsIHVuc2lnbmVkIGxvbmcgZW5kKQogewotCXBtZF90ICpwbWQsICpsYXN0X3BtZDsKLQl1bnNpZ25lZCBsb25nIHZhZGRyOwotCWludCBpLCBwbWRzOworCXVuc2lnbmVkIHBhZ2VzID0gMDsKKwl1bnNpZ25lZCBsb25nIGxhc3RfbWFwX2FkZHIgPSBlbmQ7CisJaW50IGk7CiAKLQlwbWRzID0gKChhZGRyICYgflBNRF9NQVNLKSArIHNpemUgKyB+UE1EX01BU0spIC8gUE1EX1NJWkU7Ci0JdmFkZHIgPSBfX1NUQVJUX0tFUk5FTF9tYXA7Ci0JcG1kID0gbGV2ZWwyX2tlcm5lbF9wZ3Q7Ci0JbGFzdF9wbWQgPSBsZXZlbDJfa2VybmVsX3BndCArIFBUUlNfUEVSX1BNRCAtIDE7CisJcHRlX3QgKnB0ZSA9IHB0ZV9wYWdlICsgcHRlX2luZGV4KGFkZHIpOwogCi0JZm9yICg7IHBtZCA8PSBsYXN0X3BtZDsgcG1kKyssIHZhZGRyICs9IFBNRF9TSVpFKSB7Ci0JCWZvciAoaSA9IDA7IGkgPCBwbWRzOyBpKyspIHsKLQkJCWlmIChwbWRfcHJlc2VudChwbWRbaV0pKQotCQkJCWdvdG8gY29udGludWVfb3V0ZXJfbG9vcDsKKwlmb3IoaSA9IHB0ZV9pbmRleChhZGRyKTsgaSA8IFBUUlNfUEVSX1BURTsgaSsrLCBhZGRyICs9IFBBR0VfU0laRSwgcHRlKyspIHsKKworCQlpZiAoYWRkciA+PSBlbmQpIHsKKwkJCWlmICghYWZ0ZXJfYm9vdG1lbSkgeworCQkJCWZvcig7IGkgPCBQVFJTX1BFUl9QVEU7IGkrKywgcHRlKyspCisJCQkJCXNldF9wdGUocHRlLCBfX3B0ZSgwKSk7CisJCQl9CisJCQlicmVhazsKIAkJfQotCQl2YWRkciArPSBhZGRyICYgflBNRF9NQVNLOwotCQlhZGRyICY9IFBNRF9NQVNLOwogCi0JCWZvciAoaSA9IDA7IGkgPCBwbWRzOyBpKyssIGFkZHIgKz0gUE1EX1NJWkUpCi0JCQlzZXRfcG1kKHBtZCtpLCBfX3BtZChhZGRyIHwgX19QQUdFX0tFUk5FTF9MQVJHRV9FWEVDKSk7Ci0JCV9fZmx1c2hfdGxiX2FsbCgpOworCQlpZiAocHRlX3ZhbCgqcHRlKSkKKwkJCWNvbnRpbnVlOwogCi0JCXJldHVybiAodm9pZCAqKXZhZGRyOwotY29udGludWVfb3V0ZXJfbG9vcDoKLQkJOworCQlpZiAoMCkKKwkJCXByaW50aygiICAgcHRlPSVwIGFkZHI9JWx4IHB0ZT0lMDE2bHhcbiIsCisJCQkgICAgICAgcHRlLCBhZGRyLCBwZm5fcHRlKGFkZHIgPj4gUEFHRV9TSElGVCwgUEFHRV9LRVJORUwpLnB0ZSk7CisJCXNldF9wdGUocHRlLCBwZm5fcHRlKGFkZHIgPj4gUEFHRV9TSElGVCwgUEFHRV9LRVJORUwpKTsKKwkJbGFzdF9tYXBfYWRkciA9IChhZGRyICYgUEFHRV9NQVNLKSArIFBBR0VfU0laRTsKKwkJcGFnZXMrKzsKIAl9Ci0JcHJpbnRrKEtFUk5fRVJSICJlYXJseV9pb3JlbWFwKDB4JWx4LCAlbHUpIGZhaWxlZFxuIiwgYWRkciwgc2l6ZSk7CisJdXBkYXRlX3BhZ2VfY291bnQoUEdfTEVWRUxfNEssIHBhZ2VzKTsKIAotCXJldHVybiBOVUxMOwotfQotCi0vKgotICogVG8gYXZvaWQgdmlydHVhbCBhbGlhc2VzIGxhdGVyOgotICovCi1fX21lbWluaXQgdm9pZCBlYXJseV9pb3VubWFwKHZvaWQgKmFkZHIsIHVuc2lnbmVkIGxvbmcgc2l6ZSkKLXsKLQl1bnNpZ25lZCBsb25nIHZhZGRyOwotCXBtZF90ICpwbWQ7Ci0JaW50IGksIHBtZHM7Ci0KLQl2YWRkciA9ICh1bnNpZ25lZCBsb25nKWFkZHI7Ci0JcG1kcyA9ICgodmFkZHIgJiB+UE1EX01BU0spICsgc2l6ZSArIH5QTURfTUFTSykgLyBQTURfU0laRTsKLQlwbWQgPSBsZXZlbDJfa2VybmVsX3BndCArIHBtZF9pbmRleCh2YWRkcik7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgcG1kczsgaSsrKQotCQlwbWRfY2xlYXIocG1kICsgaSk7Ci0KLQlfX2ZsdXNoX3RsYl9hbGwoKTsKKwlyZXR1cm4gbGFzdF9tYXBfYWRkcjsKIH0KIAogc3RhdGljIHVuc2lnbmVkIGxvbmcgX19tZW1pbml0Ci1waHlzX3BtZF9pbml0KHBtZF90ICpwbWRfcGFnZSwgdW5zaWduZWQgbG9uZyBhZGRyZXNzLCB1bnNpZ25lZCBsb25nIGVuZCkKK3BoeXNfcHRlX3VwZGF0ZShwbWRfdCAqcG1kLCB1bnNpZ25lZCBsb25nIGFkZHJlc3MsIHVuc2lnbmVkIGxvbmcgZW5kKQogeworCXB0ZV90ICpwdGUgPSAocHRlX3QgKilwbWRfcGFnZV92YWRkcigqcG1kKTsKKworCXJldHVybiBwaHlzX3B0ZV9pbml0KHB0ZSwgYWRkcmVzcywgZW5kKTsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX19tZW1pbml0CitwaHlzX3BtZF9pbml0KHBtZF90ICpwbWRfcGFnZSwgdW5zaWduZWQgbG9uZyBhZGRyZXNzLCB1bnNpZ25lZCBsb25nIGVuZCwKKwkJCSB1bnNpZ25lZCBsb25nIHBhZ2Vfc2l6ZV9tYXNrKQoreworCXVuc2lnbmVkIGxvbmcgcGFnZXMgPSAwOworCXVuc2lnbmVkIGxvbmcgbGFzdF9tYXBfYWRkciA9IGVuZDsKKwogCWludCBpID0gcG1kX2luZGV4KGFkZHJlc3MpOwogCiAJZm9yICg7IGkgPCBQVFJTX1BFUl9QTUQ7IGkrKywgYWRkcmVzcyArPSBQTURfU0laRSkgeworCQl1bnNpZ25lZCBsb25nIHB0ZV9waHlzOwogCQlwbWRfdCAqcG1kID0gcG1kX3BhZ2UgKyBwbWRfaW5kZXgoYWRkcmVzcyk7CisJCXB0ZV90ICpwdGU7CiAKIAkJaWYgKGFkZHJlc3MgPj0gZW5kKSB7CiAJCQlpZiAoIWFmdGVyX2Jvb3RtZW0pIHsKQEAgLTMyNSwzMSArMzY3LDUwIEBACiAJCQlicmVhazsKIAkJfQogCi0JCWlmIChwbWRfdmFsKCpwbWQpKQorCQlpZiAocG1kX3ZhbCgqcG1kKSkgeworCQkJaWYgKCFwbWRfbGFyZ2UoKnBtZCkpCisJCQkJbGFzdF9tYXBfYWRkciA9IHBoeXNfcHRlX3VwZGF0ZShwbWQsIGFkZHJlc3MsCisJCQkJCQkJCSBlbmQpOwogCQkJY29udGludWU7CisJCX0KIAotCQlzZXRfcHRlKChwdGVfdCAqKXBtZCwKLQkJCXBmbl9wdGUoYWRkcmVzcyA+PiBQQUdFX1NISUZULCBQQUdFX0tFUk5FTF9MQVJHRSkpOworCQlpZiAocGFnZV9zaXplX21hc2sgJiAoMTw8UEdfTEVWRUxfMk0pKSB7CisJCQlwYWdlcysrOworCQkJc2V0X3B0ZSgocHRlX3QgKilwbWQsCisJCQkJcGZuX3B0ZShhZGRyZXNzID4+IFBBR0VfU0hJRlQsIFBBR0VfS0VSTkVMX0xBUkdFKSk7CisJCQlsYXN0X21hcF9hZGRyID0gKGFkZHJlc3MgJiBQTURfTUFTSykgKyBQTURfU0laRTsKKwkJCWNvbnRpbnVlOworCQl9CisKKwkJcHRlID0gYWxsb2NfbG93X3BhZ2UoJnB0ZV9waHlzKTsKKwkJbGFzdF9tYXBfYWRkciA9IHBoeXNfcHRlX2luaXQocHRlLCBhZGRyZXNzLCBlbmQpOworCQl1bm1hcF9sb3dfcGFnZShwdGUpOworCisJCXBtZF9wb3B1bGF0ZV9rZXJuZWwoJmluaXRfbW0sIHBtZCwgX192YShwdGVfcGh5cykpOwogCX0KLQlyZXR1cm4gYWRkcmVzczsKKwl1cGRhdGVfcGFnZV9jb3VudChQR19MRVZFTF8yTSwgcGFnZXMpOworCXJldHVybiBsYXN0X21hcF9hZGRyOwogfQogCiBzdGF0aWMgdW5zaWduZWQgbG9uZyBfX21lbWluaXQKLXBoeXNfcG1kX3VwZGF0ZShwdWRfdCAqcHVkLCB1bnNpZ25lZCBsb25nIGFkZHJlc3MsIHVuc2lnbmVkIGxvbmcgZW5kKQorcGh5c19wbWRfdXBkYXRlKHB1ZF90ICpwdWQsIHVuc2lnbmVkIGxvbmcgYWRkcmVzcywgdW5zaWduZWQgbG9uZyBlbmQsCisJCQkgdW5zaWduZWQgbG9uZyBwYWdlX3NpemVfbWFzaykKIHsKIAlwbWRfdCAqcG1kID0gcG1kX29mZnNldChwdWQsIDApOwogCXVuc2lnbmVkIGxvbmcgbGFzdF9tYXBfYWRkcjsKIAogCXNwaW5fbG9jaygmaW5pdF9tbS5wYWdlX3RhYmxlX2xvY2spOwotCWxhc3RfbWFwX2FkZHIgPSBwaHlzX3BtZF9pbml0KHBtZCwgYWRkcmVzcywgZW5kKTsKKwlsYXN0X21hcF9hZGRyID0gcGh5c19wbWRfaW5pdChwbWQsIGFkZHJlc3MsIGVuZCwgcGFnZV9zaXplX21hc2spOwogCXNwaW5fdW5sb2NrKCZpbml0X21tLnBhZ2VfdGFibGVfbG9jayk7CiAJX19mbHVzaF90bGJfYWxsKCk7CiAJcmV0dXJuIGxhc3RfbWFwX2FkZHI7CiB9CiAKIHN0YXRpYyB1bnNpZ25lZCBsb25nIF9fbWVtaW5pdAotcGh5c19wdWRfaW5pdChwdWRfdCAqcHVkX3BhZ2UsIHVuc2lnbmVkIGxvbmcgYWRkciwgdW5zaWduZWQgbG9uZyBlbmQpCitwaHlzX3B1ZF9pbml0KHB1ZF90ICpwdWRfcGFnZSwgdW5zaWduZWQgbG9uZyBhZGRyLCB1bnNpZ25lZCBsb25nIGVuZCwKKwkJCSB1bnNpZ25lZCBsb25nIHBhZ2Vfc2l6ZV9tYXNrKQogeworCXVuc2lnbmVkIGxvbmcgcGFnZXMgPSAwOwogCXVuc2lnbmVkIGxvbmcgbGFzdF9tYXBfYWRkciA9IGVuZDsKIAlpbnQgaSA9IHB1ZF9pbmRleChhZGRyKTsKIApAQCAtMzY5LDExICs0MzAsMTMgQEAKIAogCQlpZiAocHVkX3ZhbCgqcHVkKSkgewogCQkJaWYgKCFwdWRfbGFyZ2UoKnB1ZCkpCi0JCQkJbGFzdF9tYXBfYWRkciA9IHBoeXNfcG1kX3VwZGF0ZShwdWQsIGFkZHIsIGVuZCk7CisJCQkJbGFzdF9tYXBfYWRkciA9IHBoeXNfcG1kX3VwZGF0ZShwdWQsIGFkZHIsIGVuZCwKKwkJCQkJCQkgcGFnZV9zaXplX21hc2spOwogCQkJY29udGludWU7CiAJCX0KIAotCQlpZiAoZGlyZWN0X2dicGFnZXMpIHsKKwkJaWYgKHBhZ2Vfc2l6ZV9tYXNrICYgKDE8PFBHX0xFVkVMXzFHKSkgeworCQkJcGFnZXMrKzsKIAkJCXNldF9wdGUoKHB0ZV90ICopcHVkLAogCQkJCXBmbl9wdGUoYWRkciA+PiBQQUdFX1NISUZULCBQQUdFX0tFUk5FTF9MQVJHRSkpOwogCQkJbGFzdF9tYXBfYWRkciA9IChhZGRyICYgUFVEX01BU0spICsgUFVEX1NJWkU7CkBAIC0zODMsMjcgKzQ0Niw1MCBAQAogCQlwbWQgPSBhbGxvY19sb3dfcGFnZSgmcG1kX3BoeXMpOwogCiAJCXNwaW5fbG9jaygmaW5pdF9tbS5wYWdlX3RhYmxlX2xvY2spOwotCQlzZXRfcHVkKHB1ZCwgX19wdWQocG1kX3BoeXMgfCBfS0VSTlBHX1RBQkxFKSk7Ci0JCWxhc3RfbWFwX2FkZHIgPSBwaHlzX3BtZF9pbml0KHBtZCwgYWRkciwgZW5kKTsKKwkJbGFzdF9tYXBfYWRkciA9IHBoeXNfcG1kX2luaXQocG1kLCBhZGRyLCBlbmQsIHBhZ2Vfc2l6ZV9tYXNrKTsKKwkJdW5tYXBfbG93X3BhZ2UocG1kKTsKKwkJcHVkX3BvcHVsYXRlKCZpbml0X21tLCBwdWQsIF9fdmEocG1kX3BoeXMpKTsKIAkJc3Bpbl91bmxvY2soJmluaXRfbW0ucGFnZV90YWJsZV9sb2NrKTsKIAotCQl1bm1hcF9sb3dfcGFnZShwbWQpOwogCX0KIAlfX2ZsdXNoX3RsYl9hbGwoKTsKKwl1cGRhdGVfcGFnZV9jb3VudChQR19MRVZFTF8xRywgcGFnZXMpOwogCi0JcmV0dXJuIGxhc3RfbWFwX2FkZHIgPj4gUEFHRV9TSElGVDsKKwlyZXR1cm4gbGFzdF9tYXBfYWRkcjsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX19tZW1pbml0CitwaHlzX3B1ZF91cGRhdGUocGdkX3QgKnBnZCwgdW5zaWduZWQgbG9uZyBhZGRyLCB1bnNpZ25lZCBsb25nIGVuZCwKKwkJIHVuc2lnbmVkIGxvbmcgcGFnZV9zaXplX21hc2spCit7CisJcHVkX3QgKnB1ZDsKKworCXB1ZCA9IChwdWRfdCAqKXBnZF9wYWdlX3ZhZGRyKCpwZ2QpOworCisJcmV0dXJuIHBoeXNfcHVkX2luaXQocHVkLCBhZGRyLCBlbmQsIHBhZ2Vfc2l6ZV9tYXNrKTsKIH0KIAogc3RhdGljIHZvaWQgX19pbml0IGZpbmRfZWFybHlfdGFibGVfc3BhY2UodW5zaWduZWQgbG9uZyBlbmQpCiB7Ci0JdW5zaWduZWQgbG9uZyBwdWRzLCBwbWRzLCB0YWJsZXMsIHN0YXJ0OworCXVuc2lnbmVkIGxvbmcgcHVkcywgcG1kcywgcHRlcywgdGFibGVzLCBzdGFydDsKIAogCXB1ZHMgPSAoZW5kICsgUFVEX1NJWkUgLSAxKSA+PiBQVURfU0hJRlQ7CiAJdGFibGVzID0gcm91bmRfdXAocHVkcyAqIHNpemVvZihwdWRfdCksIFBBR0VfU0laRSk7Ci0JaWYgKCFkaXJlY3RfZ2JwYWdlcykgeworCWlmIChkaXJlY3RfZ2JwYWdlcykgeworCQl1bnNpZ25lZCBsb25nIGV4dHJhOworCQlleHRyYSA9IGVuZCAtICgoZW5kPj5QVURfU0hJRlQpIDw8IFBVRF9TSElGVCk7CisJCXBtZHMgPSAoZXh0cmEgKyBQTURfU0laRSAtIDEpID4+IFBNRF9TSElGVDsKKwl9IGVsc2UKIAkJcG1kcyA9IChlbmQgKyBQTURfU0laRSAtIDEpID4+IFBNRF9TSElGVDsKLQkJdGFibGVzICs9IHJvdW5kX3VwKHBtZHMgKiBzaXplb2YocG1kX3QpLCBQQUdFX1NJWkUpOwotCX0KKwl0YWJsZXMgKz0gcm91bmRfdXAocG1kcyAqIHNpemVvZihwbWRfdCksIFBBR0VfU0laRSk7CisKKwlpZiAoY3B1X2hhc19wc2UpIHsKKwkJdW5zaWduZWQgbG9uZyBleHRyYTsKKwkJZXh0cmEgPSBlbmQgLSAoKGVuZD4+UE1EX1NISUZUKSA8PCBQTURfU0hJRlQpOworCQlwdGVzID0gKGV4dHJhICsgUEFHRV9TSVpFIC0gMSkgPj4gUEFHRV9TSElGVDsKKwl9IGVsc2UKKwkJcHRlcyA9IChlbmQgKyBQQUdFX1NJWkUgLSAxKSA+PiBQQUdFX1NISUZUOworCXRhYmxlcyArPSByb3VuZF91cChwdGVzICogc2l6ZW9mKHB0ZV90KSwgUEFHRV9TSVpFKTsKIAogCS8qCiAJICogUkVELVBFTiBwdXR0aW5nIHBhZ2UgdGFibGVzIG9ubHkgb24gbm9kZSAwIGNvdWxkCkBAIC00MTcsMTAgKzUwMywxMCBAQAogCiAJdGFibGVfc3RhcnQgPj49IFBBR0VfU0hJRlQ7CiAJdGFibGVfZW5kID0gdGFibGVfc3RhcnQ7CisJdGFibGVfdG9wID0gdGFibGVfc3RhcnQgKyAodGFibGVzID4+IFBBR0VfU0hJRlQpOwogCi0JZWFybHlfcHJpbnRrKCJrZXJuZWwgZGlyZWN0IG1hcHBpbmcgdGFibGVzIHVwIHRvICVseCBAICVseC0lbHhcbiIsCi0JCWVuZCwgdGFibGVfc3RhcnQgPDwgUEFHRV9TSElGVCwKLQkJKHRhYmxlX3N0YXJ0IDw8IFBBR0VfU0hJRlQpICsgdGFibGVzKTsKKwlwcmludGsoS0VSTl9ERUJVRyAia2VybmVsIGRpcmVjdCBtYXBwaW5nIHRhYmxlcyB1cCB0byAlbHggQCAlbHgtJWx4XG4iLAorCQllbmQsIHRhYmxlX3N0YXJ0IDw8IFBBR0VfU0hJRlQsIHRhYmxlX3RvcCA8PCBQQUdFX1NISUZUKTsKIH0KIAogc3RhdGljIHZvaWQgX19pbml0IGluaXRfZ2JwYWdlcyh2b2lkKQpAQCAtNDMxLDcgKzUxNyw3IEBACiAJCWRpcmVjdF9nYnBhZ2VzID0gMDsKIH0KIAotI2lmZGVmIENPTkZJR19NRU1URVNUX0JPT1RQQVJBTQorI2lmZGVmIENPTkZJR19NRU1URVNUCiAKIHN0YXRpYyB2b2lkIF9faW5pdCBtZW10ZXN0KHVuc2lnbmVkIGxvbmcgc3RhcnRfcGh5cywgdW5zaWduZWQgbG9uZyBzaXplLAogCQkJCSB1bnNpZ25lZCBwYXR0ZXJuKQpAQCAtNDkzLDcgKzU3OSw4IEBACiAKIH0KIAotc3RhdGljIGludCBtZW10ZXN0X3BhdHRlcm4gX19pbml0ZGF0YSA9IENPTkZJR19NRU1URVNUX0JPT1RQQVJBTV9WQUxVRTsKKy8qIGRlZmF1bHQgaXMgZGlzYWJsZWQgKi8KK3N0YXRpYyBpbnQgbWVtdGVzdF9wYXR0ZXJuIF9faW5pdGRhdGE7CiAKIHN0YXRpYyBpbnQgX19pbml0IHBhcnNlX21lbXRlc3QoY2hhciAqYXJnKQogewpAQCAtNTQyLDE1ICs2MjksODUgQEAKIH0KICNlbmRpZgogCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfX2luaXQga2VybmVsX3BoeXNpY2FsX21hcHBpbmdfaW5pdCh1bnNpZ25lZCBsb25nIHN0YXJ0LAorCQkJCQkJdW5zaWduZWQgbG9uZyBlbmQsCisJCQkJCQl1bnNpZ25lZCBsb25nIHBhZ2Vfc2l6ZV9tYXNrKQoreworCisJdW5zaWduZWQgbG9uZyBuZXh0LCBsYXN0X21hcF9hZGRyID0gZW5kOworCisJc3RhcnQgPSAodW5zaWduZWQgbG9uZylfX3ZhKHN0YXJ0KTsKKwllbmQgPSAodW5zaWduZWQgbG9uZylfX3ZhKGVuZCk7CisKKwlmb3IgKDsgc3RhcnQgPCBlbmQ7IHN0YXJ0ID0gbmV4dCkgeworCQlwZ2RfdCAqcGdkID0gcGdkX29mZnNldF9rKHN0YXJ0KTsKKwkJdW5zaWduZWQgbG9uZyBwdWRfcGh5czsKKwkJcHVkX3QgKnB1ZDsKKworCQluZXh0ID0gc3RhcnQgKyBQR0RJUl9TSVpFOworCQlpZiAobmV4dCA+IGVuZCkKKwkJCW5leHQgPSBlbmQ7CisKKwkJaWYgKHBnZF92YWwoKnBnZCkpIHsKKwkJCWxhc3RfbWFwX2FkZHIgPSBwaHlzX3B1ZF91cGRhdGUocGdkLCBfX3BhKHN0YXJ0KSwKKwkJCQkJCSBfX3BhKGVuZCksIHBhZ2Vfc2l6ZV9tYXNrKTsKKwkJCWNvbnRpbnVlOworCQl9CisKKwkJaWYgKGFmdGVyX2Jvb3RtZW0pCisJCQlwdWQgPSBwdWRfb2Zmc2V0KHBnZCwgc3RhcnQgJiBQR0RJUl9NQVNLKTsKKwkJZWxzZQorCQkJcHVkID0gYWxsb2NfbG93X3BhZ2UoJnB1ZF9waHlzKTsKKworCQlsYXN0X21hcF9hZGRyID0gcGh5c19wdWRfaW5pdChwdWQsIF9fcGEoc3RhcnQpLCBfX3BhKG5leHQpLAorCQkJCQkJIHBhZ2Vfc2l6ZV9tYXNrKTsKKwkJdW5tYXBfbG93X3BhZ2UocHVkKTsKKwkJcGdkX3BvcHVsYXRlKCZpbml0X21tLCBwZ2Rfb2Zmc2V0X2soc3RhcnQpLAorCQkJICAgICBfX3ZhKHB1ZF9waHlzKSk7CisJfQorCisJcmV0dXJuIGxhc3RfbWFwX2FkZHI7Cit9CisKK3N0cnVjdCBtYXBfcmFuZ2UgeworCXVuc2lnbmVkIGxvbmcgc3RhcnQ7CisJdW5zaWduZWQgbG9uZyBlbmQ7CisJdW5zaWduZWQgcGFnZV9zaXplX21hc2s7Cit9OworCisjZGVmaW5lIE5SX1JBTkdFX01SIDUKKworc3RhdGljIGludCBzYXZlX21yKHN0cnVjdCBtYXBfcmFuZ2UgKm1yLCBpbnQgbnJfcmFuZ2UsCisJCSAgIHVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuLCB1bnNpZ25lZCBsb25nIGVuZF9wZm4sCisJCSAgIHVuc2lnbmVkIGxvbmcgcGFnZV9zaXplX21hc2spCit7CisKKwlpZiAoc3RhcnRfcGZuIDwgZW5kX3BmbikgeworCQlpZiAobnJfcmFuZ2UgPj0gTlJfUkFOR0VfTVIpCisJCQlwYW5pYygicnVuIG91dCBvZiByYW5nZSBmb3IgaW5pdF9tZW1vcnlfbWFwcGluZ1xuIik7CisJCW1yW25yX3JhbmdlXS5zdGFydCA9IHN0YXJ0X3Bmbjw8UEFHRV9TSElGVDsKKwkJbXJbbnJfcmFuZ2VdLmVuZCAgID0gZW5kX3Bmbjw8UEFHRV9TSElGVDsKKwkJbXJbbnJfcmFuZ2VdLnBhZ2Vfc2l6ZV9tYXNrID0gcGFnZV9zaXplX21hc2s7CisJCW5yX3JhbmdlKys7CisJfQorCisJcmV0dXJuIG5yX3JhbmdlOworfQorCiAvKgogICogU2V0dXAgdGhlIGRpcmVjdCBtYXBwaW5nIG9mIHRoZSBwaHlzaWNhbCBtZW1vcnkgYXQgUEFHRV9PRkZTRVQuCiAgKiBUaGlzIHJ1bnMgYmVmb3JlIGJvb3RtZW0gaXMgaW5pdGlhbGl6ZWQgYW5kIGdldHMgcGFnZXMgZGlyZWN0bHkgZnJvbQogICogdGhlIHBoeXNpY2FsIG1lbW9yeS4gVG8gYWNjZXNzIHRoZW0gdGhleSBhcmUgdGVtcG9yYXJpbHkgbWFwcGVkLgogICovCi11bnNpZ25lZCBsb25nIF9faW5pdF9yZWZvayBpbml0X21lbW9yeV9tYXBwaW5nKHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kKQordW5zaWduZWQgbG9uZyBfX2luaXRfcmVmb2sgaW5pdF9tZW1vcnlfbWFwcGluZyh1bnNpZ25lZCBsb25nIHN0YXJ0LAorCQkJCQkgICAgICAgdW5zaWduZWQgbG9uZyBlbmQpCiB7Ci0JdW5zaWduZWQgbG9uZyBuZXh0LCBsYXN0X21hcF9hZGRyID0gZW5kOwotCXVuc2lnbmVkIGxvbmcgc3RhcnRfcGh5cyA9IHN0YXJ0LCBlbmRfcGh5cyA9IGVuZDsKKwl1bnNpZ25lZCBsb25nIGxhc3RfbWFwX2FkZHIgPSAwOworCXVuc2lnbmVkIGxvbmcgcGFnZV9zaXplX21hc2sgPSAwOworCXVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuLCBlbmRfcGZuOworCisJc3RydWN0IG1hcF9yYW5nZSBtcltOUl9SQU5HRV9NUl07CisJaW50IG5yX3JhbmdlLCBpOwogCiAJcHJpbnRrKEtFUk5fSU5GTyAiaW5pdF9tZW1vcnlfbWFwcGluZ1xuIik7CiAKQEAgLTU2MSw0OCArNzE4LDExNSBAQAogCSAqIG1lbW9yeSBtYXBwZWQuIFVuZm9ydHVuYXRlbHkgdGhpcyBpcyBkb25lIGN1cnJlbnRseSBiZWZvcmUgdGhlCiAJICogbm9kZXMgYXJlIGRpc2NvdmVyZWQuCiAJICovCi0JaWYgKCFhZnRlcl9ib290bWVtKSB7CisJaWYgKCFhZnRlcl9ib290bWVtKQogCQlpbml0X2dicGFnZXMoKTsKKworCWlmIChkaXJlY3RfZ2JwYWdlcykKKwkJcGFnZV9zaXplX21hc2sgfD0gMSA8PCBQR19MRVZFTF8xRzsKKwlpZiAoY3B1X2hhc19wc2UpCisJCXBhZ2Vfc2l6ZV9tYXNrIHw9IDEgPDwgUEdfTEVWRUxfMk07CisKKwltZW1zZXQobXIsIDAsIHNpemVvZihtcikpOworCW5yX3JhbmdlID0gMDsKKworCS8qIGhlYWQgaWYgbm90IGJpZyBwYWdlIGFsaWdubWVudCA/Ki8KKwlzdGFydF9wZm4gPSBzdGFydCA+PiBQQUdFX1NISUZUOworCWVuZF9wZm4gPSAoKHN0YXJ0ICsgKFBNRF9TSVpFIC0gMSkpID4+IFBNRF9TSElGVCkKKwkJCTw8IChQTURfU0hJRlQgLSBQQUdFX1NISUZUKTsKKwlucl9yYW5nZSA9IHNhdmVfbXIobXIsIG5yX3JhbmdlLCBzdGFydF9wZm4sIGVuZF9wZm4sIDApOworCisJLyogYmlnIHBhZ2UgKDJNKSByYW5nZSovCisJc3RhcnRfcGZuID0gKChzdGFydCArIChQTURfU0laRSAtIDEpKT4+UE1EX1NISUZUKQorCQkJIDw8IChQTURfU0hJRlQgLSBQQUdFX1NISUZUKTsKKwllbmRfcGZuID0gKChzdGFydCArIChQVURfU0laRSAtIDEpKT4+UFVEX1NISUZUKQorCQkJIDw8IChQVURfU0hJRlQgLSBQQUdFX1NISUZUKTsKKwlpZiAoZW5kX3BmbiA+ICgoZW5kPj5QVURfU0hJRlQpPDwoUFVEX1NISUZUIC0gUEFHRV9TSElGVCkpKQorCQllbmRfcGZuID0gKChlbmQ+PlBVRF9TSElGVCk8PChQVURfU0hJRlQgLSBQQUdFX1NISUZUKSk7CisJbnJfcmFuZ2UgPSBzYXZlX21yKG1yLCBucl9yYW5nZSwgc3RhcnRfcGZuLCBlbmRfcGZuLAorCQkJcGFnZV9zaXplX21hc2sgJiAoMTw8UEdfTEVWRUxfMk0pKTsKKworCS8qIGJpZyBwYWdlICgxRykgcmFuZ2UgKi8KKwlzdGFydF9wZm4gPSBlbmRfcGZuOworCWVuZF9wZm4gPSAoZW5kPj5QVURfU0hJRlQpIDw8IChQVURfU0hJRlQgLSBQQUdFX1NISUZUKTsKKwlucl9yYW5nZSA9IHNhdmVfbXIobXIsIG5yX3JhbmdlLCBzdGFydF9wZm4sIGVuZF9wZm4sCisJCQkJcGFnZV9zaXplX21hc2sgJgorCQkJCSAoKDE8PFBHX0xFVkVMXzJNKXwoMTw8UEdfTEVWRUxfMUcpKSk7CisKKwkvKiB0YWlsIGlzIG5vdCBiaWcgcGFnZSAoMUcpIGFsaWdubWVudCAqLworCXN0YXJ0X3BmbiA9IGVuZF9wZm47CisJZW5kX3BmbiA9IChlbmQ+PlBNRF9TSElGVCkgPDwgKFBNRF9TSElGVCAtIFBBR0VfU0hJRlQpOworCW5yX3JhbmdlID0gc2F2ZV9tcihtciwgbnJfcmFuZ2UsIHN0YXJ0X3BmbiwgZW5kX3BmbiwKKwkJCXBhZ2Vfc2l6ZV9tYXNrICYgKDE8PFBHX0xFVkVMXzJNKSk7CisKKwkvKiB0YWlsIGlzIG5vdCBiaWcgcGFnZSAoMk0pIGFsaWdubWVudCAqLworCXN0YXJ0X3BmbiA9IGVuZF9wZm47CisJZW5kX3BmbiA9IGVuZD4+UEFHRV9TSElGVDsKKwlucl9yYW5nZSA9IHNhdmVfbXIobXIsIG5yX3JhbmdlLCBzdGFydF9wZm4sIGVuZF9wZm4sIDApOworCisJLyogdHJ5IHRvIG1lcmdlIHNhbWUgcGFnZSBzaXplIGFuZCBjb250aW51b3VzICovCisJZm9yIChpID0gMDsgbnJfcmFuZ2UgPiAxICYmIGkgPCBucl9yYW5nZSAtIDE7IGkrKykgeworCQl1bnNpZ25lZCBsb25nIG9sZF9zdGFydDsKKwkJaWYgKG1yW2ldLmVuZCAhPSBtcltpKzFdLnN0YXJ0IHx8CisJCSAgICBtcltpXS5wYWdlX3NpemVfbWFzayAhPSBtcltpKzFdLnBhZ2Vfc2l6ZV9tYXNrKQorCQkJY29udGludWU7CisJCS8qIG1vdmUgaXQgKi8KKwkJb2xkX3N0YXJ0ID0gbXJbaV0uc3RhcnQ7CisJCW1lbW1vdmUoJm1yW2ldLCAmbXJbaSsxXSwKKwkJCSAobnJfcmFuZ2UgLSAxIC0gaSkgKiBzaXplb2YgKHN0cnVjdCBtYXBfcmFuZ2UpKTsKKwkJbXJbaV0uc3RhcnQgPSBvbGRfc3RhcnQ7CisJCW5yX3JhbmdlLS07CisJfQorCisJZm9yIChpID0gMDsgaSA8IG5yX3JhbmdlOyBpKyspCisJCXByaW50ayhLRVJOX0RFQlVHICIgJTAxMGx4IC0gJTAxMGx4IHBhZ2UgJXNcbiIsCisJCQkJbXJbaV0uc3RhcnQsIG1yW2ldLmVuZCwKKwkJCShtcltpXS5wYWdlX3NpemVfbWFzayAmICgxPDxQR19MRVZFTF8xRykpPyIxRyI6KAorCQkJIChtcltpXS5wYWdlX3NpemVfbWFzayAmICgxPDxQR19MRVZFTF8yTSkpPyIyTSI6IjRrIikpOworCisJaWYgKCFhZnRlcl9ib290bWVtKQogCQlmaW5kX2Vhcmx5X3RhYmxlX3NwYWNlKGVuZCk7Ci0JfQogCi0Jc3RhcnQgPSAodW5zaWduZWQgbG9uZylfX3ZhKHN0YXJ0KTsKLQllbmQgPSAodW5zaWduZWQgbG9uZylfX3ZhKGVuZCk7Ci0KLQlmb3IgKDsgc3RhcnQgPCBlbmQ7IHN0YXJ0ID0gbmV4dCkgewotCQlwZ2RfdCAqcGdkID0gcGdkX29mZnNldF9rKHN0YXJ0KTsKLQkJdW5zaWduZWQgbG9uZyBwdWRfcGh5czsKLQkJcHVkX3QgKnB1ZDsKLQotCQlpZiAoYWZ0ZXJfYm9vdG1lbSkKLQkJCXB1ZCA9IHB1ZF9vZmZzZXQocGdkLCBzdGFydCAmIFBHRElSX01BU0spOwotCQllbHNlCi0JCQlwdWQgPSBhbGxvY19sb3dfcGFnZSgmcHVkX3BoeXMpOwotCi0JCW5leHQgPSBzdGFydCArIFBHRElSX1NJWkU7Ci0JCWlmIChuZXh0ID4gZW5kKQotCQkJbmV4dCA9IGVuZDsKLQkJbGFzdF9tYXBfYWRkciA9IHBoeXNfcHVkX2luaXQocHVkLCBfX3BhKHN0YXJ0KSwgX19wYShuZXh0KSk7Ci0JCWlmICghYWZ0ZXJfYm9vdG1lbSkKLQkJCXNldF9wZ2QocGdkX29mZnNldF9rKHN0YXJ0KSwgbWtfa2VybmVsX3BnZChwdWRfcGh5cykpOwotCQl1bm1hcF9sb3dfcGFnZShwdWQpOwotCX0KKwlmb3IgKGkgPSAwOyBpIDwgbnJfcmFuZ2U7IGkrKykKKwkJbGFzdF9tYXBfYWRkciA9IGtlcm5lbF9waHlzaWNhbF9tYXBwaW5nX2luaXQoCisJCQkJCW1yW2ldLnN0YXJ0LCBtcltpXS5lbmQsCisJCQkJCW1yW2ldLnBhZ2Vfc2l6ZV9tYXNrKTsKIAogCWlmICghYWZ0ZXJfYm9vdG1lbSkKIAkJbW11X2NyNF9mZWF0dXJlcyA9IHJlYWRfY3I0KCk7CiAJX19mbHVzaF90bGJfYWxsKCk7CiAKLQlpZiAoIWFmdGVyX2Jvb3RtZW0pCisJaWYgKCFhZnRlcl9ib290bWVtICYmIHRhYmxlX2VuZCA+IHRhYmxlX3N0YXJ0KQogCQlyZXNlcnZlX2Vhcmx5KHRhYmxlX3N0YXJ0IDw8IFBBR0VfU0hJRlQsCiAJCQkJIHRhYmxlX2VuZCA8PCBQQUdFX1NISUZULCAiUEdUQUJMRSIpOwogCi0JaWYgKCFhZnRlcl9ib290bWVtKQotCQllYXJseV9tZW10ZXN0KHN0YXJ0X3BoeXMsIGVuZF9waHlzKTsKKwlwcmludGsoS0VSTl9JTkZPICJsYXN0X21hcF9hZGRyOiAlbHggZW5kOiAlbHhcbiIsCisJCQkgbGFzdF9tYXBfYWRkciwgZW5kKTsKIAotCXJldHVybiBsYXN0X21hcF9hZGRyOworCWlmICghYWZ0ZXJfYm9vdG1lbSkKKwkJZWFybHlfbWVtdGVzdChzdGFydCwgZW5kKTsKKworCXJldHVybiBsYXN0X21hcF9hZGRyID4+IFBBR0VfU0hJRlQ7CiB9CiAKICNpZm5kZWYgQ09ORklHX05VTUEKK3ZvaWQgX19pbml0IGluaXRtZW1faW5pdCh1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwgdW5zaWduZWQgbG9uZyBlbmRfcGZuKQoreworCXVuc2lnbmVkIGxvbmcgYm9vdG1hcF9zaXplLCBib290bWFwOworCisJYm9vdG1hcF9zaXplID0gYm9vdG1lbV9ib290bWFwX3BhZ2VzKGVuZF9wZm4pPDxQQUdFX1NISUZUOworCWJvb3RtYXAgPSBmaW5kX2U4MjBfYXJlYSgwLCBlbmRfcGZuPDxQQUdFX1NISUZULCBib290bWFwX3NpemUsCisJCQkJIFBBR0VfU0laRSk7CisJaWYgKGJvb3RtYXAgPT0gLTFMKQorCQlwYW5pYygiQ2Fubm90IGZpbmQgYm9vdG1lbSBtYXAgb2Ygc2l6ZSAlbGRcbiIsIGJvb3RtYXBfc2l6ZSk7CisJLyogZG9uJ3QgdG91Y2ggbWluX2xvd19wZm4gKi8KKwlib290bWFwX3NpemUgPSBpbml0X2Jvb3RtZW1fbm9kZShOT0RFX0RBVEEoMCksIGJvb3RtYXAgPj4gUEFHRV9TSElGVCwKKwkJCQkJIDAsIGVuZF9wZm4pOworCWU4MjBfcmVnaXN0ZXJfYWN0aXZlX3JlZ2lvbnMoMCwgc3RhcnRfcGZuLCBlbmRfcGZuKTsKKwlmcmVlX2Jvb3RtZW1fd2l0aF9hY3RpdmVfcmVnaW9ucygwLCBlbmRfcGZuKTsKKwllYXJseV9yZXNfdG9fYm9vdG1lbSgwLCBlbmRfcGZuPDxQQUdFX1NISUZUKTsKKwlyZXNlcnZlX2Jvb3RtZW0oYm9vdG1hcCwgYm9vdG1hcF9zaXplLCBCT09UTUVNX0RFRkFVTFQpOworfQorCiB2b2lkIF9faW5pdCBwYWdpbmdfaW5pdCh2b2lkKQogewogCXVuc2lnbmVkIGxvbmcgbWF4X3pvbmVfcGZuc1tNQVhfTlJfWk9ORVNdOwpAQCAtNjEwLDkgKzgzNCw5IEBACiAJbWVtc2V0KG1heF96b25lX3BmbnMsIDAsIHNpemVvZihtYXhfem9uZV9wZm5zKSk7CiAJbWF4X3pvbmVfcGZuc1taT05FX0RNQV0gPSBNQVhfRE1BX1BGTjsKIAltYXhfem9uZV9wZm5zW1pPTkVfRE1BMzJdID0gTUFYX0RNQTMyX1BGTjsKLQltYXhfem9uZV9wZm5zW1pPTkVfTk9STUFMXSA9IGVuZF9wZm47CisJbWF4X3pvbmVfcGZuc1taT05FX05PUk1BTF0gPSBtYXhfcGZuOwogCi0JbWVtb3J5X3ByZXNlbnQoMCwgMCwgZW5kX3Bmbik7CisJbWVtb3J5X3ByZXNlbnQoMCwgMCwgbWF4X3Bmbik7CiAJc3BhcnNlX2luaXQoKTsKIAlmcmVlX2FyZWFfaW5pdF9ub2RlcyhtYXhfem9uZV9wZm5zKTsKIH0KQEAgLTY5NCw4ICs5MTgsOCBAQAogI2Vsc2UKIAl0b3RhbHJhbV9wYWdlcyA9IGZyZWVfYWxsX2Jvb3RtZW0oKTsKICNlbmRpZgotCXJlc2VydmVkcGFnZXMgPSBlbmRfcGZuIC0gdG90YWxyYW1fcGFnZXMgLQotCQkJCQlhYnNlbnRfcGFnZXNfaW5fcmFuZ2UoMCwgZW5kX3Bmbik7CisJcmVzZXJ2ZWRwYWdlcyA9IG1heF9wZm4gLSB0b3RhbHJhbV9wYWdlcyAtCisJCQkJCWFic2VudF9wYWdlc19pbl9yYW5nZSgwLCBtYXhfcGZuKTsKIAlhZnRlcl9ib290bWVtID0gMTsKIAogCWNvZGVzaXplID0gICh1bnNpZ25lZCBsb25nKSAmX2V0ZXh0IC0gKHVuc2lnbmVkIGxvbmcpICZfdGV4dDsKQEAgLTcxNCw3ICs5MzgsNyBAQAogCXByaW50ayhLRVJOX0lORk8gIk1lbW9yeTogJWx1ay8lbHVrIGF2YWlsYWJsZSAoJWxkayBrZXJuZWwgY29kZSwgIgogCQkJCSIlbGRrIHJlc2VydmVkLCAlbGRrIGRhdGEsICVsZGsgaW5pdClcbiIsCiAJCSh1bnNpZ25lZCBsb25nKSBucl9mcmVlX3BhZ2VzKCkgPDwgKFBBR0VfU0hJRlQtMTApLAotCQllbmRfcGZuIDw8IChQQUdFX1NISUZULTEwKSwKKwkJbWF4X3BmbiA8PCAoUEFHRV9TSElGVC0xMCksCiAJCWNvZGVzaXplID4+IDEwLAogCQlyZXNlcnZlZHBhZ2VzIDw8IChQQUdFX1NISUZULTEwKSwKIAkJZGF0YXNpemUgPj4gMTAsCkBAIC03NjcsNiArOTkxLDEzIEBACiB2b2lkIG1hcmtfcm9kYXRhX3JvKHZvaWQpCiB7CiAJdW5zaWduZWQgbG9uZyBzdGFydCA9IFBGTl9BTElHTihfc3RleHQpLCBlbmQgPSBQRk5fQUxJR04oX19lbmRfcm9kYXRhKTsKKwl1bnNpZ25lZCBsb25nIHJvZGF0YV9zdGFydCA9CisJCSgodW5zaWduZWQgbG9uZylfX3N0YXJ0X3JvZGF0YSArIFBBR0VfU0laRSAtIDEpICYgUEFHRV9NQVNLOworCisjaWZkZWYgQ09ORklHX0RZTkFNSUNfRlRSQUNFCisJLyogRHluYW1pYyB0cmFjaW5nIG1vZGlmaWVzIHRoZSBrZXJuZWwgdGV4dCBzZWN0aW9uICovCisJc3RhcnQgPSByb2RhdGFfc3RhcnQ7CisjZW5kaWYKIAogCXByaW50ayhLRVJOX0lORk8gIldyaXRlIHByb3RlY3RpbmcgdGhlIGtlcm5lbCByZWFkLW9ubHkgZGF0YTogJWx1a1xuIiwKIAkgICAgICAgKGVuZCAtIHN0YXJ0KSA+PiAxMCk7CkBAIC03NzYsOCArMTAwNyw3IEBACiAJICogVGhlIHJvZGF0YSBzZWN0aW9uIChidXQgbm90IHRoZSBrZXJuZWwgdGV4dCEpIHNob3VsZCBhbHNvIGJlCiAJICogbm90LWV4ZWN1dGFibGUuCiAJICovCi0Jc3RhcnQgPSAoKHVuc2lnbmVkIGxvbmcpX19zdGFydF9yb2RhdGEgKyBQQUdFX1NJWkUgLSAxKSAmIFBBR0VfTUFTSzsKLQlzZXRfbWVtb3J5X254KHN0YXJ0LCAoZW5kIC0gc3RhcnQpID4+IFBBR0VfU0hJRlQpOworCXNldF9tZW1vcnlfbngocm9kYXRhX3N0YXJ0LCAoZW5kIC0gcm9kYXRhX3N0YXJ0KSA+PiBQQUdFX1NISUZUKTsKIAogCXJvZGF0YV90ZXN0KCk7CiAKQEAgLTc5OSwyNCArMTAyOSwyNiBAQAogfQogI2VuZGlmCiAKLXZvaWQgX19pbml0IHJlc2VydmVfYm9vdG1lbV9nZW5lcmljKHVuc2lnbmVkIGxvbmcgcGh5cywgdW5zaWduZWQgbGVuKQoraW50IF9faW5pdCByZXNlcnZlX2Jvb3RtZW1fZ2VuZXJpYyh1bnNpZ25lZCBsb25nIHBoeXMsIHVuc2lnbmVkIGxvbmcgbGVuLAorCQkJCSAgIGludCBmbGFncykKIHsKICNpZmRlZiBDT05GSUdfTlVNQQogCWludCBuaWQsIG5leHRfbmlkOworCWludCByZXQ7CiAjZW5kaWYKIAl1bnNpZ25lZCBsb25nIHBmbiA9IHBoeXMgPj4gUEFHRV9TSElGVDsKIAotCWlmIChwZm4gPj0gZW5kX3BmbikgeworCWlmIChwZm4gPj0gbWF4X3BmbikgewogCQkvKgogCQkgKiBUaGlzIGNhbiBoYXBwZW4gd2l0aCBrZHVtcCBrZXJuZWxzIHdoZW4gYWNjZXNzaW5nCiAJCSAqIGZpcm13YXJlIHRhYmxlczoKIAkJICovCiAJCWlmIChwZm4gPCBtYXhfcGZuX21hcHBlZCkKLQkJCXJldHVybjsKKwkJCXJldHVybiAtRUZBVUxUOwogCi0JCXByaW50ayhLRVJOX0VSUiAicmVzZXJ2ZV9ib290bWVtOiBpbGxlZ2FsIHJlc2VydmUgJWx4ICV1XG4iLAorCQlwcmludGsoS0VSTl9FUlIgInJlc2VydmVfYm9vdG1lbTogaWxsZWdhbCByZXNlcnZlICVseCAlbHVcbiIsCiAJCQkJcGh5cywgbGVuKTsKLQkJcmV0dXJuOworCQlyZXR1cm4gLUVGQVVMVDsKIAl9CiAKIAkvKiBTaG91bGQgY2hlY2sgaGVyZSBhZ2FpbnN0IHRoZSBlODIwIG1hcCB0byBhdm9pZCBkb3VibGUgZnJlZSAqLwpAQCAtODI0LDkgKzEwNTYsMTMgQEAKIAluaWQgPSBwaHlzX3RvX25pZChwaHlzKTsKIAluZXh0X25pZCA9IHBoeXNfdG9fbmlkKHBoeXMgKyBsZW4gLSAxKTsKIAlpZiAobmlkID09IG5leHRfbmlkKQotCQlyZXNlcnZlX2Jvb3RtZW1fbm9kZShOT0RFX0RBVEEobmlkKSwgcGh5cywgbGVuLCBCT09UTUVNX0RFRkFVTFQpOworCQlyZXQgPSByZXNlcnZlX2Jvb3RtZW1fbm9kZShOT0RFX0RBVEEobmlkKSwgcGh5cywgbGVuLCBmbGFncyk7CiAJZWxzZQotCQlyZXNlcnZlX2Jvb3RtZW0ocGh5cywgbGVuLCBCT09UTUVNX0RFRkFVTFQpOworCQlyZXQgPSByZXNlcnZlX2Jvb3RtZW0ocGh5cywgbGVuLCBmbGFncyk7CisKKwlpZiAocmV0ICE9IDApCisJCXJldHVybiByZXQ7CisKICNlbHNlCiAJcmVzZXJ2ZV9ib290bWVtKHBoeXMsIGxlbiwgQk9PVE1FTV9ERUZBVUxUKTsKICNlbmRpZgpAQCAtODM1LDYgKzEwNzEsOCBAQAogCQlkbWFfcmVzZXJ2ZSArPSBsZW4gLyBQQUdFX1NJWkU7CiAJCXNldF9kbWFfcmVzZXJ2ZShkbWFfcmVzZXJ2ZSk7CiAJfQorCisJcmV0dXJuIDA7CiB9CiAKIGludCBrZXJuX2FkZHJfdmFsaWQodW5zaWduZWQgbG9uZyBhZGRyKQpAQCAtOTM5LDcgKzExNzcsNyBAQAogCXBtZF90ICpwbWQ7CiAKIAlmb3IgKDsgYWRkciA8IGVuZDsgYWRkciA9IG5leHQpIHsKLQkJbmV4dCA9IHBtZF9hZGRyX2VuZChhZGRyLCBlbmQpOworCQl2b2lkICpwID0gTlVMTDsKIAogCQlwZ2QgPSB2bWVtbWFwX3BnZF9wb3B1bGF0ZShhZGRyLCBub2RlKTsKIAkJaWYgKCFwZ2QpCkBAIC05NDksMzMgKzExODcsNTEgQEAKIAkJaWYgKCFwdWQpCiAJCQlyZXR1cm4gLUVOT01FTTsKIAotCQlwbWQgPSBwbWRfb2Zmc2V0KHB1ZCwgYWRkcik7Ci0JCWlmIChwbWRfbm9uZSgqcG1kKSkgewotCQkJcHRlX3QgZW50cnk7Ci0JCQl2b2lkICpwOworCQlpZiAoIWNwdV9oYXNfcHNlKSB7CisJCQluZXh0ID0gKGFkZHIgKyBQQUdFX1NJWkUpICYgUEFHRV9NQVNLOworCQkJcG1kID0gdm1lbW1hcF9wbWRfcG9wdWxhdGUocHVkLCBhZGRyLCBub2RlKTsKIAotCQkJcCA9IHZtZW1tYXBfYWxsb2NfYmxvY2soUE1EX1NJWkUsIG5vZGUpOworCQkJaWYgKCFwbWQpCisJCQkJcmV0dXJuIC1FTk9NRU07CisKKwkJCXAgPSB2bWVtbWFwX3B0ZV9wb3B1bGF0ZShwbWQsIGFkZHIsIG5vZGUpOworCiAJCQlpZiAoIXApCiAJCQkJcmV0dXJuIC1FTk9NRU07CiAKLQkJCWVudHJ5ID0gcGZuX3B0ZShfX3BhKHApID4+IFBBR0VfU0hJRlQsCi0JCQkJCQkJUEFHRV9LRVJORUxfTEFSR0UpOwotCQkJc2V0X3BtZChwbWQsIF9fcG1kKHB0ZV92YWwoZW50cnkpKSk7Ci0KLQkJCS8qIGNoZWNrIHRvIHNlZSBpZiB3ZSBoYXZlIGNvbnRpZ3VvdXMgYmxvY2tzICovCi0JCQlpZiAocF9lbmQgIT0gcCB8fCBub2RlX3N0YXJ0ICE9IG5vZGUpIHsKLQkJCQlpZiAocF9zdGFydCkKLQkJCQkJcHJpbnRrKEtFUk5fREVCVUcgIiBbJWx4LSVseF0gUE1EIC0+IFslcC0lcF0gb24gbm9kZSAlZFxuIiwKLQkJCQkJCWFkZHJfc3RhcnQsIGFkZHJfZW5kLTEsIHBfc3RhcnQsIHBfZW5kLTEsIG5vZGVfc3RhcnQpOwotCQkJCWFkZHJfc3RhcnQgPSBhZGRyOwotCQkJCW5vZGVfc3RhcnQgPSBub2RlOwotCQkJCXBfc3RhcnQgPSBwOwotCQkJfQotCQkJYWRkcl9lbmQgPSBhZGRyICsgUE1EX1NJWkU7Ci0JCQlwX2VuZCA9IHAgKyBQTURfU0laRTsKKwkJCWFkZHJfZW5kID0gYWRkciArIFBBR0VfU0laRTsKKwkJCXBfZW5kID0gcCArIFBBR0VfU0laRTsKIAkJfSBlbHNlIHsKLQkJCXZtZW1tYXBfdmVyaWZ5KChwdGVfdCAqKXBtZCwgbm9kZSwgYWRkciwgbmV4dCk7CisJCQluZXh0ID0gcG1kX2FkZHJfZW5kKGFkZHIsIGVuZCk7CisKKwkJCXBtZCA9IHBtZF9vZmZzZXQocHVkLCBhZGRyKTsKKwkJCWlmIChwbWRfbm9uZSgqcG1kKSkgeworCQkJCXB0ZV90IGVudHJ5OworCisJCQkJcCA9IHZtZW1tYXBfYWxsb2NfYmxvY2soUE1EX1NJWkUsIG5vZGUpOworCQkJCWlmICghcCkKKwkJCQkJcmV0dXJuIC1FTk9NRU07CisKKwkJCQllbnRyeSA9IHBmbl9wdGUoX19wYShwKSA+PiBQQUdFX1NISUZULAorCQkJCQkJUEFHRV9LRVJORUxfTEFSR0UpOworCQkJCXNldF9wbWQocG1kLCBfX3BtZChwdGVfdmFsKGVudHJ5KSkpOworCisJCQkJLyogY2hlY2sgdG8gc2VlIGlmIHdlIGhhdmUgY29udGlndW91cyBibG9ja3MgKi8KKwkJCQlpZiAocF9lbmQgIT0gcCB8fCBub2RlX3N0YXJ0ICE9IG5vZGUpIHsKKwkJCQkJaWYgKHBfc3RhcnQpCisJCQkJCQlwcmludGsoS0VSTl9ERUJVRyAiIFslbHgtJWx4XSBQTUQgLT4gWyVwLSVwXSBvbiBub2RlICVkXG4iLAorCQkJCQkJICAgICAgIGFkZHJfc3RhcnQsIGFkZHJfZW5kLTEsIHBfc3RhcnQsIHBfZW5kLTEsIG5vZGVfc3RhcnQpOworCQkJCQlhZGRyX3N0YXJ0ID0gYWRkcjsKKwkJCQkJbm9kZV9zdGFydCA9IG5vZGU7CisJCQkJCXBfc3RhcnQgPSBwOworCQkJCX0KKworCQkJCWFkZHJfZW5kID0gYWRkciArIFBNRF9TSVpFOworCQkJCXBfZW5kID0gcCArIFBNRF9TSVpFOworCQkJfSBlbHNlCisJCQkJdm1lbW1hcF92ZXJpZnkoKHB0ZV90ICopcG1kLCBub2RlLCBhZGRyLCBuZXh0KTsKIAkJfQorCiAJfQogCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbW0vaW9yZW1hcC5jIGIvYXJjaC94ODYvbW0vaW9yZW1hcC5jCmluZGV4IDJiMmJiM2YuLjI0YzFkM2MgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L21tL2lvcmVtYXAuYworKysgYi9hcmNoL3g4Ni9tbS9pb3JlbWFwLmMKQEAgLTEyLDYgKzEyLDcgQEAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CiAjaW5jbHVkZSA8bGludXgvdm1hbGxvYy5oPgorI2luY2x1ZGUgPGxpbnV4L21taW90cmFjZS5oPgogCiAjaW5jbHVkZSA8YXNtL2NhY2hlZmx1c2guaD4KICNpbmNsdWRlIDxhc20vZTgyMC5oPgpAQCAtMTIyLDEwICsxMjMsMTMgQEAKIHsKIAl1bnNpZ25lZCBsb25nIHBmbiwgb2Zmc2V0LCB2YWRkcjsKIAlyZXNvdXJjZV9zaXplX3QgbGFzdF9hZGRyOworCWNvbnN0IHJlc291cmNlX3NpemVfdCB1bmFsaWduZWRfcGh5c19hZGRyID0gcGh5c19hZGRyOworCWNvbnN0IHVuc2lnbmVkIGxvbmcgdW5hbGlnbmVkX3NpemUgPSBzaXplOwogCXN0cnVjdCB2bV9zdHJ1Y3QgKmFyZWE7CiAJdW5zaWduZWQgbG9uZyBuZXdfcHJvdF92YWw7CiAJcGdwcm90X3QgcHJvdDsKIAlpbnQgcmV0dmFsOworCXZvaWQgX19pb21lbSAqcmV0X2FkZHI7CiAKIAkvKiBEb24ndCBhbGxvdyB3cmFwYXJvdW5kIG9yIHplcm8gc2l6ZSAqLwogCWxhc3RfYWRkciA9IHBoeXNfYWRkciArIHNpemUgLSAxOwpAQCAtMTQyLDcgKzE0Niw3IEBACiAJLyoKIAkgKiBEb24ndCByZW1hcCB0aGUgbG93IFBDSS9JU0EgYXJlYSwgaXQncyBhbHdheXMgbWFwcGVkLi4KIAkgKi8KLQlpZiAocGh5c19hZGRyID49IElTQV9TVEFSVF9BRERSRVNTICYmIGxhc3RfYWRkciA8IElTQV9FTkRfQUREUkVTUykKKwlpZiAoaXNfSVNBX3JhbmdlKHBoeXNfYWRkciwgbGFzdF9hZGRyKSkKIAkJcmV0dXJuIChfX2ZvcmNlIHZvaWQgX19pb21lbSAqKXBoeXNfdG9fdmlydChwaHlzX2FkZHIpOwogCiAJLyoKQEAgLTIzMyw3ICsyMzcsMTAgQEAKIAkJcmV0dXJuIE5VTEw7CiAJfQogCi0JcmV0dXJuICh2b2lkIF9faW9tZW0gKikgKHZhZGRyICsgb2Zmc2V0KTsKKwlyZXRfYWRkciA9ICh2b2lkIF9faW9tZW0gKikgKHZhZGRyICsgb2Zmc2V0KTsKKwltbWlvdHJhY2VfaW9yZW1hcCh1bmFsaWduZWRfcGh5c19hZGRyLCB1bmFsaWduZWRfc2l6ZSwgcmV0X2FkZHIpOworCisJcmV0dXJuIHJldF9hZGRyOwogfQogCiAvKioKQEAgLTI2MSw3ICsyNjgsNyBAQAogewogCS8qCiAJICogSWRlYWxseSwgdGhpcyBzaG91bGQgYmU6Ci0JICoJcGF0X3djX2VuYWJsZWQgPyBfUEFHRV9DQUNIRV9VQyA6IF9QQUdFX0NBQ0hFX1VDX01JTlVTOworCSAqCXBhdF9lbmFibGVkID8gX1BBR0VfQ0FDSEVfVUMgOiBfUEFHRV9DQUNIRV9VQ19NSU5VUzsKIAkgKgogCSAqIFRpbGwgd2UgZml4IGFsbCBYIGRyaXZlcnMgdG8gdXNlIGlvcmVtYXBfd2MoKSwgd2Ugd2lsbCB1c2UKIAkgKiBVQyBNSU5VUy4KQEAgLTI4NSw3ICsyOTIsNyBAQAogICovCiB2b2lkIF9faW9tZW0gKmlvcmVtYXBfd2ModW5zaWduZWQgbG9uZyBwaHlzX2FkZHIsIHVuc2lnbmVkIGxvbmcgc2l6ZSkKIHsKLQlpZiAocGF0X3djX2VuYWJsZWQpCisJaWYgKHBhdF9lbmFibGVkKQogCQlyZXR1cm4gX19pb3JlbWFwX2NhbGxlcihwaHlzX2FkZHIsIHNpemUsIF9QQUdFX0NBQ0hFX1dDLAogCQkJCQlfX2J1aWx0aW5fcmV0dXJuX2FkZHJlc3MoMCkpOwogCWVsc2UKQEAgLTMwMCw2ICszMDcsMjkgQEAKIH0KIEVYUE9SVF9TWU1CT0woaW9yZW1hcF9jYWNoZSk7CiAKK3N0YXRpYyB2b2lkIF9faW9tZW0gKmlvcmVtYXBfZGVmYXVsdChyZXNvdXJjZV9zaXplX3QgcGh5c19hZGRyLAorCQkJCQl1bnNpZ25lZCBsb25nIHNpemUpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwl2b2lkICpyZXQ7CisJaW50IGVycjsKKworCS8qCisJICogLSBXQiBmb3IgV0ItYWJsZSBtZW1vcnkgYW5kIG5vIG90aGVyIGNvbmZsaWN0aW5nIG1hcHBpbmdzCisJICogLSBVQ19NSU5VUyBmb3Igbm9uLVdCLWFibGUgbWVtb3J5IHdpdGggbm8gb3RoZXIgY29uZmxpY3RpbmcgbWFwcGluZ3MKKwkgKiAtIEluaGVyaXQgZnJvbSBjb25mbGl0aW5nIG1hcHBpbmdzIG90aGVyd2lzZQorCSAqLworCWVyciA9IHJlc2VydmVfbWVtdHlwZShwaHlzX2FkZHIsIHBoeXNfYWRkciArIHNpemUsIC0xLCAmZmxhZ3MpOworCWlmIChlcnIgPCAwKQorCQlyZXR1cm4gTlVMTDsKKworCXJldCA9ICh2b2lkICopIF9faW9yZW1hcF9jYWxsZXIocGh5c19hZGRyLCBzaXplLCBmbGFncywKKwkJCQkJX19idWlsdGluX3JldHVybl9hZGRyZXNzKDApKTsKKworCWZyZWVfbWVtdHlwZShwaHlzX2FkZHIsIHBoeXNfYWRkciArIHNpemUpOworCXJldHVybiAodm9pZCBfX2lvbWVtICopcmV0OworfQorCiAvKioKICAqIGlvdW5tYXAgLSBGcmVlIGEgSU8gcmVtYXBwaW5nCiAgKiBAYWRkcjogdmlydHVhbCBhZGRyZXNzIGZyb20gaW9yZW1hcF8qCkBAIC0zMTgsMTMgKzM0OCwxNSBAQAogCSAqIHZtX2FyZWEgYW5kIGJ5IHNpbXBseSByZXR1cm5pbmcgYW4gYWRkcmVzcyBpbnRvIHRoZSBrZXJuZWwgbWFwcGluZwogCSAqIG9mIElTQSBzcGFjZS4gICBTbyBoYW5kbGUgdGhhdCBoZXJlLgogCSAqLwotCWlmIChhZGRyID49IHBoeXNfdG9fdmlydChJU0FfU1RBUlRfQUREUkVTUykgJiYKLQkgICAgYWRkciA8IHBoeXNfdG9fdmlydChJU0FfRU5EX0FERFJFU1MpKQorCWlmICgodm9pZCBfX2ZvcmNlICopYWRkciA+PSBwaHlzX3RvX3ZpcnQoSVNBX1NUQVJUX0FERFJFU1MpICYmCisJICAgICh2b2lkIF9fZm9yY2UgKilhZGRyIDwgcGh5c190b192aXJ0KElTQV9FTkRfQUREUkVTUykpCiAJCXJldHVybjsKIAogCWFkZHIgPSAodm9sYXRpbGUgdm9pZCBfX2lvbWVtICopCiAJCShQQUdFX01BU0sgJiAodW5zaWduZWQgbG9uZyBfX2ZvcmNlKWFkZHIpOwogCisJbW1pb3RyYWNlX2lvdW5tYXAoYWRkcik7CisKIAkvKiBVc2UgdGhlIHZtIGFyZWEgdW5sb2NrZWQsIGFzc3VtaW5nIHRoZSBjYWxsZXIKIAkgICBlbnN1cmVzIHRoZXJlIGlzbid0IGFub3RoZXIgaW91bm1hcCBmb3IgdGhlIHNhbWUgYWRkcmVzcwogCSAgIGluIHBhcmFsbGVsLiBSZXVzZSBvZiB0aGUgdmlydHVhbCBhZGRyZXNzIGlzIHByZXZlbnRlZCBieQpAQCAtMzMyLDcgKzM2NCw3IEBACiAJICAgY3BhIHRha2VzIGNhcmUgb2YgdGhlIGRpcmVjdCBtYXBwaW5ncy4gKi8KIAlyZWFkX2xvY2soJnZtbGlzdF9sb2NrKTsKIAlmb3IgKHAgPSB2bWxpc3Q7IHA7IHAgPSBwLT5uZXh0KSB7Ci0JCWlmIChwLT5hZGRyID09IGFkZHIpCisJCWlmIChwLT5hZGRyID09ICh2b2lkIF9fZm9yY2UgKilhZGRyKQogCQkJYnJlYWs7CiAJfQogCXJlYWRfdW5sb2NrKCZ2bWxpc3RfbG9jayk7CkBAIC0zNDYsNyArMzc4LDcgQEAKIAlmcmVlX21lbXR5cGUocC0+cGh5c19hZGRyLCBwLT5waHlzX2FkZHIgKyBnZXRfdm1fYXJlYV9zaXplKHApKTsKIAogCS8qIEZpbmFsbHkgcmVtb3ZlIGl0ICovCi0JbyA9IHJlbW92ZV92bV9hcmVhKCh2b2lkICopYWRkcik7CisJbyA9IHJlbW92ZV92bV9hcmVhKCh2b2lkIF9fZm9yY2UgKilhZGRyKTsKIAlCVUdfT04ocCAhPSBvIHx8IG8gPT0gTlVMTCk7CiAJa2ZyZWUocCk7CiB9CkBAIC0zNjUsNyArMzk3LDcgQEAKIAlpZiAocGFnZV9pc19yYW0oc3RhcnQgPj4gUEFHRV9TSElGVCkpCiAJCXJldHVybiBfX3ZhKHBoeXMpOwogCi0JYWRkciA9ICh2b2lkICopaW9yZW1hcChzdGFydCwgUEFHRV9TSVpFKTsKKwlhZGRyID0gKHZvaWQgX19mb3JjZSAqKWlvcmVtYXBfZGVmYXVsdChzdGFydCwgUEFHRV9TSVpFKTsKIAlpZiAoYWRkcikKIAkJYWRkciA9ICh2b2lkICopKCh1bnNpZ25lZCBsb25nKWFkZHIgfCAocGh5cyAmIH5QQUdFX01BU0spKTsKIApAQCAtMzgxLDggKzQxMyw2IEBACiAJcmV0dXJuOwogfQogCi0jaWZkZWYgQ09ORklHX1g4Nl8zMgotCiBpbnQgX19pbml0ZGF0YSBlYXJseV9pb3JlbWFwX2RlYnVnOwogCiBzdGF0aWMgaW50IF9faW5pdCBlYXJseV9pb3JlbWFwX2RlYnVnX3NldHVwKGNoYXIgKnN0cikKQEAgLTM5NCw4ICs0MjQsNyBAQAogZWFybHlfcGFyYW0oImVhcmx5X2lvcmVtYXBfZGVidWciLCBlYXJseV9pb3JlbWFwX2RlYnVnX3NldHVwKTsKIAogc3RhdGljIF9faW5pdGRhdGEgaW50IGFmdGVyX3BhZ2luZ19pbml0Owotc3RhdGljIHB0ZV90IGJtX3B0ZVtQQUdFX1NJWkUvc2l6ZW9mKHB0ZV90KV0KLQkJX19zZWN0aW9uKC5ic3MucGFnZV9hbGlnbmVkKTsKK3N0YXRpYyBwdGVfdCBibV9wdGVbUEFHRV9TSVpFL3NpemVvZihwdGVfdCldIF9fcGFnZV9hbGlnbmVkX2JzczsKIAogc3RhdGljIGlubGluZSBwbWRfdCAqIF9faW5pdCBlYXJseV9pb3JlbWFwX3BtZCh1bnNpZ25lZCBsb25nIGFkZHIpCiB7CkBAIC00ODQsMTAgKzUxMywxMSBAQAogCQlyZXR1cm47CiAJfQogCXB0ZSA9IGVhcmx5X2lvcmVtYXBfcHRlKGFkZHIpOworCiAJaWYgKHBncHJvdF92YWwoZmxhZ3MpKQogCQlzZXRfcHRlKHB0ZSwgcGZuX3B0ZShwaHlzID4+IFBBR0VfU0hJRlQsIGZsYWdzKSk7CiAJZWxzZQotCQlwdGVfY2xlYXIoTlVMTCwgYWRkciwgcHRlKTsKKwkJcHRlX2NsZWFyKCZpbml0X21tLCBhZGRyLCBwdGUpOwogCV9fZmx1c2hfdGxiX29uZShhZGRyKTsKIH0KIApAQCAtNjI1LDUgKzY1NSwzIEBACiB7CiAJV0FSTl9PTigxKTsKIH0KLQotI2VuZGlmIC8qIENPTkZJR19YODZfMzIgKi8KZGlmZiAtLWdpdCBhL2FyY2gveDg2L21tL2s4dG9wb2xvZ3lfNjQuYyBiL2FyY2gveDg2L21tL2s4dG9wb2xvZ3lfNjQuYwppbmRleCAxZjQ3NmU0Li40MWYxYjVjIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9tbS9rOHRvcG9sb2d5XzY0LmMKKysrIGIvYXJjaC94ODYvbW0vazh0b3BvbG9neV82NC5jCkBAIC0yMiw2ICsyMiw3IEBACiAjaW5jbHVkZSA8YXNtL251bWEuaD4KICNpbmNsdWRlIDxhc20vbXBzcGVjLmg+CiAjaW5jbHVkZSA8YXNtL2FwaWMuaD4KKyNpbmNsdWRlIDxhc20vazguaD4KIAogc3RhdGljIF9faW5pdCBpbnQgZmluZF9ub3J0aGJyaWRnZSh2b2lkKQogewpAQCAtNTYsMzQgKzU3LDMzIEBACiAJLyoKIAkgKiBGaW5kIHBvc3NpYmxlIGJvb3QtdGltZSBTTVAgY29uZmlndXJhdGlvbjoKIAkgKi8KKyNpZmRlZiBDT05GSUdfWDg2X01QUEFSU0UKIAllYXJseV9maW5kX3NtcF9jb25maWcoKTsKKyNlbmRpZgogI2lmZGVmIENPTkZJR19BQ1BJCiAJLyoKIAkgKiBSZWFkIEFQSUMgaW5mb3JtYXRpb24gZnJvbSBBQ1BJIHRhYmxlcy4KIAkgKi8KIAllYXJseV9hY3BpX2Jvb3RfaW5pdCgpOwogI2VuZGlmCisjaWZkZWYgQ09ORklHX1g4Nl9NUFBBUlNFCiAJLyoKIAkgKiBnZXQgYm9vdC10aW1lIFNNUCBjb25maWd1cmF0aW9uOgogCSAqLwogCWlmIChzbXBfZm91bmRfY29uZmlnKQogCQllYXJseV9nZXRfc21wX2NvbmZpZygpOworI2VuZGlmCiAJZWFybHlfaW5pdF9sYXBpY19tYXBwaW5nKCk7CiB9CiAKIGludCBfX2luaXQgazhfc2Nhbl9ub2Rlcyh1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIGVuZCkKIHsKKwl1bnNpZ25lZCBudW1ub2RlcywgY29yZXMsIGJpdHMsIGFwaWNpZF9iYXNlOwogCXVuc2lnbmVkIGxvbmcgcHJldmJhc2U7CiAJc3RydWN0IGJvb3Rub2RlIG5vZGVzWzhdOwotCWludCBub2RlaWQsIGksIG5iOwogCXVuc2lnbmVkIGNoYXIgbm9kZWlkc1s4XTsKLQlpbnQgZm91bmQgPSAwOwotCXUzMiByZWc7Ci0JdW5zaWduZWQgbnVtbm9kZXM7Ci0JdW5zaWduZWQgY29yZXM7Ci0JdW5zaWduZWQgYml0czsKLQlpbnQgajsKLQl1bnNpZ25lZCBhcGljaWRfYmFzZTsKKwlpbnQgaSwgaiwgbmIsIGZvdW5kID0gMDsKKwl1MzIgbm9kZWlkLCByZWc7CiAKIAlpZiAoIWVhcmx5X3BjaV9hbGxvd2VkKCkpCiAJCXJldHVybiAtMTsKQEAgLTEwNSw3ICsxMDUsNiBAQAogCXByZXZiYXNlID0gMDsKIAlmb3IgKGkgPSAwOyBpIDwgODsgaSsrKSB7CiAJCXVuc2lnbmVkIGxvbmcgYmFzZSwgbGltaXQ7Ci0JCXUzMiBub2RlaWQ7CiAKIAkJYmFzZSA9IHJlYWRfcGNpX2NvbmZpZygwLCBuYiwgMSwgMHg0MCArIGkqOCk7CiAJCWxpbWl0ID0gcmVhZF9wY2lfY29uZmlnKDAsIG5iLCAxLCAweDQ0ICsgaSo4KTsKQEAgLTE0NCw4ICsxNDMsOCBAQAogCQlsaW1pdCB8PSAoMTw8MjQpLTE7CiAJCWxpbWl0Kys7CiAKLQkJaWYgKGxpbWl0ID4gZW5kX3BmbiA8PCBQQUdFX1NISUZUKQotCQkJbGltaXQgPSBlbmRfcGZuIDw8IFBBR0VfU0hJRlQ7CisJCWlmIChsaW1pdCA+IG1heF9wZm4gPDwgUEFHRV9TSElGVCkKKwkJCWxpbWl0ID0gbWF4X3BmbiA8PCBQQUdFX1NISUZUOwogCQlpZiAobGltaXQgPD0gYmFzZSkKIAkJCWNvbnRpbnVlOwogCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tbS9rbW1pby5jIGIvYXJjaC94ODYvbW0va21taW8uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45M2Q4MjAzCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC94ODYvbW0va21taW8uYwpAQCAtMCwwICsxLDUxMCBAQAorLyogU3VwcG9ydCBmb3IgTU1JTyBwcm9iZXMuCisgKiBCZW5maXQgbWFueSBjb2RlIGZyb20ga3Byb2JlcworICogKEMpIDIwMDIgTG91aXMgWmh1YW5nIDxsb3Vpcy56aHVhbmdAaW50ZWwuY29tPi4KKyAqICAgICAyMDA3IEFsZXhhbmRlciBFaWNobmVyCisgKiAgICAgMjAwOCBQZWtrYSBQYWFsYW5lbiA8cHFAaWtpLmZpPgorICovCisKKyNpbmNsdWRlIDxsaW51eC9saXN0Lmg+CisjaW5jbHVkZSA8bGludXgvcmN1bGlzdC5oPgorI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CisjaW5jbHVkZSA8bGludXgvaGFzaC5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC91YWNjZXNzLmg+CisjaW5jbHVkZSA8bGludXgvcHRyYWNlLmg+CisjaW5jbHVkZSA8bGludXgvcHJlZW1wdC5oPgorI2luY2x1ZGUgPGxpbnV4L3BlcmNwdS5oPgorI2luY2x1ZGUgPGxpbnV4L2tkZWJ1Zy5oPgorI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CisjaW5jbHVkZSA8bGludXgvaW8uaD4KKyNpbmNsdWRlIDxhc20vY2FjaGVmbHVzaC5oPgorI2luY2x1ZGUgPGFzbS90bGJmbHVzaC5oPgorI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CisjaW5jbHVkZSA8YXNtL2RlYnVncmVnLmg+CisjaW5jbHVkZSA8bGludXgvbW1pb3RyYWNlLmg+CisKKyNkZWZpbmUgS01NSU9fUEFHRV9IQVNIX0JJVFMgNAorI2RlZmluZSBLTU1JT19QQUdFX1RBQkxFX1NJWkUgKDEgPDwgS01NSU9fUEFHRV9IQVNIX0JJVFMpCisKK3N0cnVjdCBrbW1pb19mYXVsdF9wYWdlIHsKKwlzdHJ1Y3QgbGlzdF9oZWFkIGxpc3Q7CisJc3RydWN0IGttbWlvX2ZhdWx0X3BhZ2UgKnJlbGVhc2VfbmV4dDsKKwl1bnNpZ25lZCBsb25nIHBhZ2U7IC8qIGxvY2F0aW9uIG9mIHRoZSBmYXVsdCBwYWdlICovCisKKwkvKgorCSAqIE51bWJlciBvZiB0aW1lcyB0aGlzIHBhZ2UgaGFzIGJlZW4gcmVnaXN0ZXJlZCBhcyBhIHBhcnQKKwkgKiBvZiBhIHByb2JlLiBJZiB6ZXJvLCBwYWdlIGlzIGRpc2FybWVkIGFuZCB0aGlzIG1heSBiZSBmcmVlZC4KKwkgKiBVc2VkIG9ubHkgYnkgd3JpdGVycyAoUkNVKS4KKwkgKi8KKwlpbnQgY291bnQ7Cit9OworCitzdHJ1Y3Qga21taW9fZGVsYXllZF9yZWxlYXNlIHsKKwlzdHJ1Y3QgcmN1X2hlYWQgcmN1OworCXN0cnVjdCBrbW1pb19mYXVsdF9wYWdlICpyZWxlYXNlX2xpc3Q7Cit9OworCitzdHJ1Y3Qga21taW9fY29udGV4dCB7CisJc3RydWN0IGttbWlvX2ZhdWx0X3BhZ2UgKmZwYWdlOworCXN0cnVjdCBrbW1pb19wcm9iZSAqcHJvYmU7CisJdW5zaWduZWQgbG9uZyBzYXZlZF9mbGFnczsKKwl1bnNpZ25lZCBsb25nIGFkZHI7CisJaW50IGFjdGl2ZTsKK307CisKK3N0YXRpYyBERUZJTkVfU1BJTkxPQ0soa21taW9fbG9jayk7CisKKy8qIFByb3RlY3RlZCBieSBrbW1pb19sb2NrICovCit1bnNpZ25lZCBpbnQga21taW9fY291bnQ7CisKKy8qIFJlYWQtcHJvdGVjdGVkIGJ5IFJDVSwgd3JpdGUtcHJvdGVjdGVkIGJ5IGttbWlvX2xvY2suICovCitzdGF0aWMgc3RydWN0IGxpc3RfaGVhZCBrbW1pb19wYWdlX3RhYmxlW0tNTUlPX1BBR0VfVEFCTEVfU0laRV07CitzdGF0aWMgTElTVF9IRUFEKGttbWlvX3Byb2Jlcyk7CisKK3N0YXRpYyBzdHJ1Y3QgbGlzdF9oZWFkICprbW1pb19wYWdlX2xpc3QodW5zaWduZWQgbG9uZyBwYWdlKQoreworCXJldHVybiAma21taW9fcGFnZV90YWJsZVtoYXNoX2xvbmcocGFnZSwgS01NSU9fUEFHRV9IQVNIX0JJVFMpXTsKK30KKworLyogQWNjZXNzZWQgcGVyLWNwdSAqLworc3RhdGljIERFRklORV9QRVJfQ1BVKHN0cnVjdCBrbW1pb19jb250ZXh0LCBrbW1pb19jdHgpOworCisvKgorICogdGhpcyBpcyBiYXNpY2FsbHkgYSBkeW5hbWljIHN0YWJiaW5nIHByb2JsZW06CisgKiBDb3VsZCB1c2UgdGhlIGV4aXN0aW5nIHByaW8gdHJlZSBjb2RlIG9yCisgKiBQb3NzaWJsZSBiZXR0ZXIgaW1wbGVtZW50YXRpb25zOgorICogVGhlIEludGVydmFsIFNraXAgTGlzdDogQSBEYXRhIFN0cnVjdHVyZSBmb3IgRmluZGluZyBBbGwgSW50ZXJ2YWxzIFRoYXQKKyAqIE92ZXJsYXAgYSBQb2ludCAobWlnaHQgYmUgc2ltcGxlKQorICogU3BhY2UgRWZmaWNpZW50IER5bmFtaWMgU3RhYmJpbmcgd2l0aCBGYXN0IFF1ZXJpZXMgLSBNaWtrZWwgVGhvcnVwCisgKi8KKy8qIEdldCB0aGUga21taW8gYXQgdGhpcyBhZGRyIChpZiBhbnkpLiBZb3UgbXVzdCBiZSBob2xkaW5nIFJDVSByZWFkIGxvY2suICovCitzdGF0aWMgc3RydWN0IGttbWlvX3Byb2JlICpnZXRfa21taW9fcHJvYmUodW5zaWduZWQgbG9uZyBhZGRyKQoreworCXN0cnVjdCBrbW1pb19wcm9iZSAqcDsKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5X3JjdShwLCAma21taW9fcHJvYmVzLCBsaXN0KSB7CisJCWlmIChhZGRyID49IHAtPmFkZHIgJiYgYWRkciA8PSAocC0+YWRkciArIHAtPmxlbikpCisJCQlyZXR1cm4gcDsKKwl9CisJcmV0dXJuIE5VTEw7Cit9CisKKy8qIFlvdSBtdXN0IGJlIGhvbGRpbmcgUkNVIHJlYWQgbG9jay4gKi8KK3N0YXRpYyBzdHJ1Y3Qga21taW9fZmF1bHRfcGFnZSAqZ2V0X2ttbWlvX2ZhdWx0X3BhZ2UodW5zaWduZWQgbG9uZyBwYWdlKQoreworCXN0cnVjdCBsaXN0X2hlYWQgKmhlYWQ7CisJc3RydWN0IGttbWlvX2ZhdWx0X3BhZ2UgKnA7CisKKwlwYWdlICY9IFBBR0VfTUFTSzsKKwloZWFkID0ga21taW9fcGFnZV9saXN0KHBhZ2UpOworCWxpc3RfZm9yX2VhY2hfZW50cnlfcmN1KHAsIGhlYWQsIGxpc3QpIHsKKwkJaWYgKHAtPnBhZ2UgPT0gcGFnZSkKKwkJCXJldHVybiBwOworCX0KKwlyZXR1cm4gTlVMTDsKK30KKworc3RhdGljIHZvaWQgc2V0X3BhZ2VfcHJlc2VudCh1bnNpZ25lZCBsb25nIGFkZHIsIGJvb2wgcHJlc2VudCwKKwkJCQkJCQl1bnNpZ25lZCBpbnQgKnBnbGV2ZWwpCit7CisJcHRldmFsX3QgcHRldmFsOworCXBtZHZhbF90IHBtZHZhbDsKKwl1bnNpZ25lZCBpbnQgbGV2ZWw7CisJcG1kX3QgKnBtZDsKKwlwdGVfdCAqcHRlID0gbG9va3VwX2FkZHJlc3MoYWRkciwgJmxldmVsKTsKKworCWlmICghcHRlKSB7CisJCXByX2Vycigia21taW86IG5vIHB0ZSBmb3IgcGFnZSAweCUwOGx4XG4iLCBhZGRyKTsKKwkJcmV0dXJuOworCX0KKworCWlmIChwZ2xldmVsKQorCQkqcGdsZXZlbCA9IGxldmVsOworCisJc3dpdGNoIChsZXZlbCkgeworCWNhc2UgUEdfTEVWRUxfMk06CisJCXBtZCA9IChwbWRfdCAqKXB0ZTsKKwkJcG1kdmFsID0gcG1kX3ZhbCgqcG1kKSAmIH5fUEFHRV9QUkVTRU5UOworCQlpZiAocHJlc2VudCkKKwkJCXBtZHZhbCB8PSBfUEFHRV9QUkVTRU5UOworCQlzZXRfcG1kKHBtZCwgX19wbWQocG1kdmFsKSk7CisJCWJyZWFrOworCisJY2FzZSBQR19MRVZFTF80SzoKKwkJcHRldmFsID0gcHRlX3ZhbCgqcHRlKSAmIH5fUEFHRV9QUkVTRU5UOworCQlpZiAocHJlc2VudCkKKwkJCXB0ZXZhbCB8PSBfUEFHRV9QUkVTRU5UOworCQlzZXRfcHRlX2F0b21pYyhwdGUsIF9fcHRlKHB0ZXZhbCkpOworCQlicmVhazsKKworCWRlZmF1bHQ6CisJCXByX2Vycigia21taW86IHVuZXhwZWN0ZWQgcGFnZSBsZXZlbCAweCV4LlxuIiwgbGV2ZWwpOworCQlyZXR1cm47CisJfQorCisJX19mbHVzaF90bGJfb25lKGFkZHIpOworfQorCisvKiogTWFyayB0aGUgZ2l2ZW4gcGFnZSBhcyBub3QgcHJlc2VudC4gQWNjZXNzIHRvIGl0IHdpbGwgdHJpZ2dlciBhIGZhdWx0LiAqLworc3RhdGljIHZvaWQgYXJtX2ttbWlvX2ZhdWx0X3BhZ2UodW5zaWduZWQgbG9uZyBwYWdlLCB1bnNpZ25lZCBpbnQgKnBnbGV2ZWwpCit7CisJc2V0X3BhZ2VfcHJlc2VudChwYWdlICYgUEFHRV9NQVNLLCBmYWxzZSwgcGdsZXZlbCk7Cit9CisKKy8qKiBNYXJrIHRoZSBnaXZlbiBwYWdlIGFzIHByZXNlbnQuICovCitzdGF0aWMgdm9pZCBkaXNhcm1fa21taW9fZmF1bHRfcGFnZSh1bnNpZ25lZCBsb25nIHBhZ2UsIHVuc2lnbmVkIGludCAqcGdsZXZlbCkKK3sKKwlzZXRfcGFnZV9wcmVzZW50KHBhZ2UgJiBQQUdFX01BU0ssIHRydWUsIHBnbGV2ZWwpOworfQorCisvKgorICogVGhpcyBpcyBiZWluZyBjYWxsZWQgZnJvbSBkb19wYWdlX2ZhdWx0KCkuCisgKgorICogV2UgbWF5IGJlIGluIGFuIGludGVycnVwdCBvciBhIGNyaXRpY2FsIHNlY3Rpb24uIEFsc28gcHJlZmVjdGhpbmcgbWF5CisgKiB0cmlnZ2VyIGEgcGFnZSBmYXVsdC4gV2UgbWF5IGJlIGluIHRoZSBtaWRkbGUgb2YgcHJvY2VzcyBzd2l0Y2guCisgKiBXZSBjYW5ub3QgdGFrZSBhbnkgbG9ja3MsIGJlY2F1c2Ugd2UgY291bGQgYmUgZXhlY3V0aW5nIGVzcGVjaWFsbHkKKyAqIHdpdGhpbiBhIGttbWlvIGNyaXRpY2FsIHNlY3Rpb24uCisgKgorICogTG9jYWwgaW50ZXJydXB0cyBhcmUgZGlzYWJsZWQsIHNvIHByZWVtcHRpb24gY2Fubm90IGhhcHBlbi4KKyAqIERvIG5vdCBlbmFibGUgaW50ZXJydXB0cywgZG8gbm90IHNsZWVwLCBhbmQgd2F0Y2ggb3V0IGZvciBvdGhlciBDUFVzLgorICovCisvKgorICogSW50ZXJydXB0cyBhcmUgZGlzYWJsZWQgb24gZW50cnkgYXMgdHJhcDMgaXMgYW4gaW50ZXJydXB0IGdhdGUKKyAqIGFuZCB0aGV5IHJlbWFpbiBkaXNhYmxlZCB0aG9yb3VnaCBvdXQgdGhpcyBmdW5jdGlvbi4KKyAqLworaW50IGttbWlvX2hhbmRsZXIoc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIHVuc2lnbmVkIGxvbmcgYWRkcikKK3sKKwlzdHJ1Y3Qga21taW9fY29udGV4dCAqY3R4OworCXN0cnVjdCBrbW1pb19mYXVsdF9wYWdlICpmYXVsdHBhZ2U7CisJaW50IHJldCA9IDA7IC8qIGRlZmF1bHQgdG8gZmF1bHQgbm90IGhhbmRsZWQgKi8KKworCS8qCisJICogUHJlZW1wdGlvbiBpcyBub3cgZGlzYWJsZWQgdG8gcHJldmVudCBwcm9jZXNzIHN3aXRjaCBkdXJpbmcKKwkgKiBzaW5nbGUgc3RlcHBpbmcuIFdlIGNhbiBvbmx5IGhhbmRsZSBvbmUgYWN0aXZlIGttbWlvIHRyYWNlCisJICogcGVyIGNwdSwgc28gZW5zdXJlIHRoYXQgd2UgZmluaXNoIGl0IGJlZm9yZSBzb21ldGhpbmcgZWxzZQorCSAqIGdldHMgdG8gcnVuLiBXZSBhbHNvIGhvbGQgdGhlIFJDVSByZWFkIGxvY2sgb3ZlciBzaW5nbGUKKwkgKiBzdGVwcGluZyB0byBhdm9pZCBsb29raW5nIHVwIHRoZSBwcm9iZSBhbmQga21taW9fZmF1bHRfcGFnZQorCSAqIGFnYWluLgorCSAqLworCXByZWVtcHRfZGlzYWJsZSgpOworCXJjdV9yZWFkX2xvY2soKTsKKworCWZhdWx0cGFnZSA9IGdldF9rbW1pb19mYXVsdF9wYWdlKGFkZHIpOworCWlmICghZmF1bHRwYWdlKSB7CisJCS8qCisJCSAqIEVpdGhlciB0aGlzIHBhZ2UgZmF1bHQgaXMgbm90IGNhdXNlZCBieSBrbW1pbywgb3IKKwkJICogYW5vdGhlciBDUFUganVzdCBwdWxsZWQgdGhlIGttbWlvIHByb2JlIGZyb20gdW5kZXIKKwkJICogb3VyIGZlZXQuIFRoZSBsYXR0ZXIgY2FzZSBzaG91bGQgbm90IGJlIHBvc3NpYmxlLgorCQkgKi8KKwkJZ290byBub19rbW1pbzsKKwl9CisKKwljdHggPSAmZ2V0X2NwdV92YXIoa21taW9fY3R4KTsKKwlpZiAoY3R4LT5hY3RpdmUpIHsKKwkJZGlzYXJtX2ttbWlvX2ZhdWx0X3BhZ2UoZmF1bHRwYWdlLT5wYWdlLCBOVUxMKTsKKwkJaWYgKGFkZHIgPT0gY3R4LT5hZGRyKSB7CisJCQkvKgorCQkJICogT24gU01QIHdlIHNvbWV0aW1lcyBnZXQgcmVjdXJzaXZlIHByb2JlIGhpdHMgb24gdGhlCisJCQkgKiBzYW1lIGFkZHJlc3MuIENvbnRleHQgaXMgYWxyZWFkeSBzYXZlZCwgZmFsbCBvdXQuCisJCQkgKi8KKwkJCXByX2RlYnVnKCJrbW1pbzogZHVwbGljYXRlIHByb2JlIGhpdCBvbiBDUFUgJWQsIGZvciAiCisJCQkJCQkiYWRkcmVzcyAweCUwOGx4LlxuIiwKKwkJCQkJCXNtcF9wcm9jZXNzb3JfaWQoKSwgYWRkcik7CisJCQlyZXQgPSAxOworCQkJZ290byBub19rbW1pb19jdHg7CisJCX0KKwkJLyoKKwkJICogUHJldmVudCBvdmVyd3JpdGluZyBhbHJlYWR5IGluLWZsaWdodCBjb250ZXh0LgorCQkgKiBUaGlzIHNob3VsZCBub3QgaGFwcGVuLCBsZXQncyBob3BlIGRpc2FybWluZyBhdCBsZWFzdAorCQkgKiBwcmV2ZW50cyBhIHBhbmljLgorCQkgKi8KKwkJcHJfZW1lcmcoImttbWlvOiByZWN1cnNpdmUgcHJvYmUgaGl0IG9uIENQVSAlZCwgIgorCQkJCQkiZm9yIGFkZHJlc3MgMHglMDhseC4gSWdub3JpbmcuXG4iLAorCQkJCQlzbXBfcHJvY2Vzc29yX2lkKCksIGFkZHIpOworCQlwcl9lbWVyZygia21taW86IHByZXZpb3VzIGhpdCB3YXMgYXQgMHglMDhseC5cbiIsCisJCQkJCWN0eC0+YWRkcik7CisJCWdvdG8gbm9fa21taW9fY3R4OworCX0KKwljdHgtPmFjdGl2ZSsrOworCisJY3R4LT5mcGFnZSA9IGZhdWx0cGFnZTsKKwljdHgtPnByb2JlID0gZ2V0X2ttbWlvX3Byb2JlKGFkZHIpOworCWN0eC0+c2F2ZWRfZmxhZ3MgPSAocmVncy0+ZmxhZ3MgJiAoWDg2X0VGTEFHU19URiB8IFg4Nl9FRkxBR1NfSUYpKTsKKwljdHgtPmFkZHIgPSBhZGRyOworCisJaWYgKGN0eC0+cHJvYmUgJiYgY3R4LT5wcm9iZS0+cHJlX2hhbmRsZXIpCisJCWN0eC0+cHJvYmUtPnByZV9oYW5kbGVyKGN0eC0+cHJvYmUsIHJlZ3MsIGFkZHIpOworCisJLyoKKwkgKiBFbmFibGUgc2luZ2xlLXN0ZXBwaW5nIGFuZCBkaXNhYmxlIGludGVycnVwdHMgZm9yIHRoZSBmYXVsdGluZworCSAqIGNvbnRleHQuIExvY2FsIGludGVycnVwdHMgbXVzdCBub3QgZ2V0IGVuYWJsZWQgZHVyaW5nIHN0ZXBwaW5nLgorCSAqLworCXJlZ3MtPmZsYWdzIHw9IFg4Nl9FRkxBR1NfVEY7CisJcmVncy0+ZmxhZ3MgJj0gflg4Nl9FRkxBR1NfSUY7CisKKwkvKiBOb3cgd2Ugc2V0IHByZXNlbnQgYml0IGluIFBURSBhbmQgc2luZ2xlIHN0ZXAuICovCisJZGlzYXJtX2ttbWlvX2ZhdWx0X3BhZ2UoY3R4LT5mcGFnZS0+cGFnZSwgTlVMTCk7CisKKwkvKgorCSAqIElmIGFub3RoZXIgY3B1IGFjY2Vzc2VzIHRoZSBzYW1lIHBhZ2Ugd2hpbGUgd2UgYXJlIHN0ZXBwaW5nLAorCSAqIHRoZSBhY2Nlc3Mgd2lsbCBub3QgYmUgY2F1Z2h0LiBJdCB3aWxsIHNpbXBseSBzdWNjZWVkIGFuZCB0aGUKKwkgKiBvbmx5IGRvd25zaWRlIGlzIHdlIGxvc2UgdGhlIGV2ZW50LiBJZiB0aGlzIGJlY29tZXMgYSBwcm9ibGVtLAorCSAqIHRoZSB1c2VyIHNob3VsZCBkcm9wIHRvIHNpbmdsZSBjcHUgYmVmb3JlIHRyYWNpbmcuCisJICovCisKKwlwdXRfY3B1X3ZhcihrbW1pb19jdHgpOworCXJldHVybiAxOyAvKiBmYXVsdCBoYW5kbGVkICovCisKK25vX2ttbWlvX2N0eDoKKwlwdXRfY3B1X3ZhcihrbW1pb19jdHgpOworbm9fa21taW86CisJcmN1X3JlYWRfdW5sb2NrKCk7CisJcHJlZW1wdF9lbmFibGVfbm9fcmVzY2hlZCgpOworCXJldHVybiByZXQ7Cit9CisKKy8qCisgKiBJbnRlcnJ1cHRzIGFyZSBkaXNhYmxlZCBvbiBlbnRyeSBhcyB0cmFwMSBpcyBhbiBpbnRlcnJ1cHQgZ2F0ZQorICogYW5kIHRoZXkgcmVtYWluIGRpc2FibGVkIHRob3JvdWdoIG91dCB0aGlzIGZ1bmN0aW9uLgorICogVGhpcyBtdXN0IGFsd2F5cyBnZXQgY2FsbGVkIGFzIHRoZSBwYWlyIHRvIGttbWlvX2hhbmRsZXIoKS4KKyAqLworc3RhdGljIGludCBwb3N0X2ttbWlvX2hhbmRsZXIodW5zaWduZWQgbG9uZyBjb25kaXRpb24sIHN0cnVjdCBwdF9yZWdzICpyZWdzKQoreworCWludCByZXQgPSAwOworCXN0cnVjdCBrbW1pb19jb250ZXh0ICpjdHggPSAmZ2V0X2NwdV92YXIoa21taW9fY3R4KTsKKworCWlmICghY3R4LT5hY3RpdmUpIHsKKwkJcHJfZGVidWcoImttbWlvOiBzcHVyaW91cyBkZWJ1ZyB0cmFwIG9uIENQVSAlZC5cbiIsCisJCQkJCQkJc21wX3Byb2Nlc3Nvcl9pZCgpKTsKKwkJZ290byBvdXQ7CisJfQorCisJaWYgKGN0eC0+cHJvYmUgJiYgY3R4LT5wcm9iZS0+cG9zdF9oYW5kbGVyKQorCQljdHgtPnByb2JlLT5wb3N0X2hhbmRsZXIoY3R4LT5wcm9iZSwgY29uZGl0aW9uLCByZWdzKTsKKworCWFybV9rbW1pb19mYXVsdF9wYWdlKGN0eC0+ZnBhZ2UtPnBhZ2UsIE5VTEwpOworCisJcmVncy0+ZmxhZ3MgJj0gflg4Nl9FRkxBR1NfVEY7CisJcmVncy0+ZmxhZ3MgfD0gY3R4LT5zYXZlZF9mbGFnczsKKworCS8qIFRoZXNlIHdlcmUgYWNxdWlyZWQgaW4ga21taW9faGFuZGxlcigpLiAqLworCWN0eC0+YWN0aXZlLS07CisJQlVHX09OKGN0eC0+YWN0aXZlKTsKKwlyY3VfcmVhZF91bmxvY2soKTsKKwlwcmVlbXB0X2VuYWJsZV9ub19yZXNjaGVkKCk7CisKKwkvKgorCSAqIGlmIHNvbWVib2R5IGVsc2UgaXMgc2luZ2xlc3RlcHBpbmcgYWNyb3NzIGEgcHJvYmUgcG9pbnQsIGZsYWdzCisJICogd2lsbCBoYXZlIFRGIHNldCwgaW4gd2hpY2ggY2FzZSwgY29udGludWUgdGhlIHJlbWFpbmluZyBwcm9jZXNzaW5nCisJICogb2YgZG9fZGVidWcsIGFzIGlmIHRoaXMgaXMgbm90IGEgcHJvYmUgaGl0LgorCSAqLworCWlmICghKHJlZ3MtPmZsYWdzICYgWDg2X0VGTEFHU19URikpCisJCXJldCA9IDE7CitvdXQ6CisJcHV0X2NwdV92YXIoa21taW9fY3R4KTsKKwlyZXR1cm4gcmV0OworfQorCisvKiBZb3UgbXVzdCBiZSBob2xkaW5nIGttbWlvX2xvY2suICovCitzdGF0aWMgaW50IGFkZF9rbW1pb19mYXVsdF9wYWdlKHVuc2lnbmVkIGxvbmcgcGFnZSkKK3sKKwlzdHJ1Y3Qga21taW9fZmF1bHRfcGFnZSAqZjsKKworCXBhZ2UgJj0gUEFHRV9NQVNLOworCWYgPSBnZXRfa21taW9fZmF1bHRfcGFnZShwYWdlKTsKKwlpZiAoZikgeworCQlpZiAoIWYtPmNvdW50KQorCQkJYXJtX2ttbWlvX2ZhdWx0X3BhZ2UoZi0+cGFnZSwgTlVMTCk7CisJCWYtPmNvdW50Kys7CisJCXJldHVybiAwOworCX0KKworCWYgPSBrbWFsbG9jKHNpemVvZigqZiksIEdGUF9BVE9NSUMpOworCWlmICghZikKKwkJcmV0dXJuIC0xOworCisJZi0+Y291bnQgPSAxOworCWYtPnBhZ2UgPSBwYWdlOworCWxpc3RfYWRkX3JjdSgmZi0+bGlzdCwga21taW9fcGFnZV9saXN0KGYtPnBhZ2UpKTsKKworCWFybV9rbW1pb19mYXVsdF9wYWdlKGYtPnBhZ2UsIE5VTEwpOworCisJcmV0dXJuIDA7Cit9CisKKy8qIFlvdSBtdXN0IGJlIGhvbGRpbmcga21taW9fbG9jay4gKi8KK3N0YXRpYyB2b2lkIHJlbGVhc2Vfa21taW9fZmF1bHRfcGFnZSh1bnNpZ25lZCBsb25nIHBhZ2UsCisJCQkJc3RydWN0IGttbWlvX2ZhdWx0X3BhZ2UgKipyZWxlYXNlX2xpc3QpCit7CisJc3RydWN0IGttbWlvX2ZhdWx0X3BhZ2UgKmY7CisKKwlwYWdlICY9IFBBR0VfTUFTSzsKKwlmID0gZ2V0X2ttbWlvX2ZhdWx0X3BhZ2UocGFnZSk7CisJaWYgKCFmKQorCQlyZXR1cm47CisKKwlmLT5jb3VudC0tOworCUJVR19PTihmLT5jb3VudCA8IDApOworCWlmICghZi0+Y291bnQpIHsKKwkJZGlzYXJtX2ttbWlvX2ZhdWx0X3BhZ2UoZi0+cGFnZSwgTlVMTCk7CisJCWYtPnJlbGVhc2VfbmV4dCA9ICpyZWxlYXNlX2xpc3Q7CisJCSpyZWxlYXNlX2xpc3QgPSBmOworCX0KK30KKworLyoKKyAqIFdpdGggcGFnZS11bmFsaWduZWQgaW9yZW1hcHMsIG9uZSBvciB0d28gYXJtZWQgcGFnZXMgbWF5IGNvbnRhaW4KKyAqIGFkZHJlc3NlcyBmcm9tIG91dHNpZGUgdGhlIGludGVuZGVkIG1hcHBpbmcuIEV2ZW50cyBmb3IgdGhlc2UgYWRkcmVzc2VzCisgKiBhcmUgY3VycmVudGx5IHNpbGVudGx5IGRyb3BwZWQuIFRoZSBldmVudHMgbWF5IHJlc3VsdCBvbmx5IGZyb20gcHJvZ3JhbW1pbmcKKyAqIG1pc3Rha2VzIGJ5IGFjY2Vzc2luZyBhZGRyZXNzZXMgYmVmb3JlIHRoZSBiZWdpbm5pbmcgb3IgcGFzdCB0aGUgZW5kIG9mIGEKKyAqIG1hcHBpbmcuCisgKi8KK2ludCByZWdpc3Rlcl9rbW1pb19wcm9iZShzdHJ1Y3Qga21taW9fcHJvYmUgKnApCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwlpbnQgcmV0ID0gMDsKKwl1bnNpZ25lZCBsb25nIHNpemUgPSAwOworCWNvbnN0IHVuc2lnbmVkIGxvbmcgc2l6ZV9saW0gPSBwLT5sZW4gKyAocC0+YWRkciAmIH5QQUdFX01BU0spOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJmttbWlvX2xvY2ssIGZsYWdzKTsKKwlpZiAoZ2V0X2ttbWlvX3Byb2JlKHAtPmFkZHIpKSB7CisJCXJldCA9IC1FRVhJU1Q7CisJCWdvdG8gb3V0OworCX0KKwlrbW1pb19jb3VudCsrOworCWxpc3RfYWRkX3JjdSgmcC0+bGlzdCwgJmttbWlvX3Byb2Jlcyk7CisJd2hpbGUgKHNpemUgPCBzaXplX2xpbSkgeworCQlpZiAoYWRkX2ttbWlvX2ZhdWx0X3BhZ2UocC0+YWRkciArIHNpemUpKQorCQkJcHJfZXJyKCJrbW1pbzogVW5hYmxlIHRvIHNldCBwYWdlIGZhdWx0LlxuIik7CisJCXNpemUgKz0gUEFHRV9TSVpFOworCX0KK291dDoKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZrbW1pb19sb2NrLCBmbGFncyk7CisJLyoKKwkgKiBYWFg6IFdoYXQgc2hvdWxkIEkgZG8gaGVyZT8KKwkgKiBIZXJlIHdhcyBhIGNhbGwgdG8gZ2xvYmFsX2ZsdXNoX3RsYigpLCBidXQgaXQgZG9lcyBub3QgZXhpc3QKKwkgKiBhbnltb3JlLiBJdCBzZWVtcyBpdCdzIG5vdCBuZWVkZWQgYWZ0ZXIgYWxsLgorCSAqLworCXJldHVybiByZXQ7Cit9CitFWFBPUlRfU1lNQk9MKHJlZ2lzdGVyX2ttbWlvX3Byb2JlKTsKKworc3RhdGljIHZvaWQgcmN1X2ZyZWVfa21taW9fZmF1bHRfcGFnZXMoc3RydWN0IHJjdV9oZWFkICpoZWFkKQoreworCXN0cnVjdCBrbW1pb19kZWxheWVkX3JlbGVhc2UgKmRyID0gY29udGFpbmVyX29mKAorCQkJCQkJaGVhZCwKKwkJCQkJCXN0cnVjdCBrbW1pb19kZWxheWVkX3JlbGVhc2UsCisJCQkJCQlyY3UpOworCXN0cnVjdCBrbW1pb19mYXVsdF9wYWdlICpwID0gZHItPnJlbGVhc2VfbGlzdDsKKwl3aGlsZSAocCkgeworCQlzdHJ1Y3Qga21taW9fZmF1bHRfcGFnZSAqbmV4dCA9IHAtPnJlbGVhc2VfbmV4dDsKKwkJQlVHX09OKHAtPmNvdW50KTsKKwkJa2ZyZWUocCk7CisJCXAgPSBuZXh0OworCX0KKwlrZnJlZShkcik7Cit9CisKK3N0YXRpYyB2b2lkIHJlbW92ZV9rbW1pb19mYXVsdF9wYWdlcyhzdHJ1Y3QgcmN1X2hlYWQgKmhlYWQpCit7CisJc3RydWN0IGttbWlvX2RlbGF5ZWRfcmVsZWFzZSAqZHIgPSBjb250YWluZXJfb2YoCisJCQkJCQloZWFkLAorCQkJCQkJc3RydWN0IGttbWlvX2RlbGF5ZWRfcmVsZWFzZSwKKwkJCQkJCXJjdSk7CisJc3RydWN0IGttbWlvX2ZhdWx0X3BhZ2UgKnAgPSBkci0+cmVsZWFzZV9saXN0OworCXN0cnVjdCBrbW1pb19mYXVsdF9wYWdlICoqcHJldnAgPSAmZHItPnJlbGVhc2VfbGlzdDsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCXNwaW5fbG9ja19pcnFzYXZlKCZrbW1pb19sb2NrLCBmbGFncyk7CisJd2hpbGUgKHApIHsKKwkJaWYgKCFwLT5jb3VudCkKKwkJCWxpc3RfZGVsX3JjdSgmcC0+bGlzdCk7CisJCWVsc2UKKwkJCSpwcmV2cCA9IHAtPnJlbGVhc2VfbmV4dDsKKwkJcHJldnAgPSAmcC0+cmVsZWFzZV9uZXh0OworCQlwID0gcC0+cmVsZWFzZV9uZXh0OworCX0KKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZrbW1pb19sb2NrLCBmbGFncyk7CisJLyogVGhpcyBpcyB0aGUgcmVhbCBSQ1UgZGVzdHJveSBjYWxsLiAqLworCWNhbGxfcmN1KCZkci0+cmN1LCByY3VfZnJlZV9rbW1pb19mYXVsdF9wYWdlcyk7Cit9CisKKy8qCisgKiBSZW1vdmUgYSBrbW1pbyBwcm9iZS4gWW91IGhhdmUgdG8gc3luY2hyb25pemVfcmN1KCkgYmVmb3JlIHlvdSBjYW4gYmUKKyAqIHN1cmUgdGhhdCB0aGUgY2FsbGJhY2tzIHdpbGwgbm90IGJlIGNhbGxlZCBhbnltb3JlLiBPbmx5IGFmdGVyIHRoYXQKKyAqIHlvdSBtYXkgYWN0dWFsbHkgcmVsZWFzZSB5b3VyIHN0cnVjdCBrbW1pb19wcm9iZS4KKyAqCisgKiBVbnJlZ2lzdGVyaW5nIGEga21taW8gZmF1bHQgcGFnZSBoYXMgdGhyZWUgc3RlcHM6CisgKiAxLiByZWxlYXNlX2ttbWlvX2ZhdWx0X3BhZ2UoKQorICogICAgRGlzYXJtIHRoZSBwYWdlLCB3YWl0IGEgZ3JhY2UgcGVyaW9kIHRvIGxldCBhbGwgZmF1bHRzIGZpbmlzaC4KKyAqIDIuIHJlbW92ZV9rbW1pb19mYXVsdF9wYWdlcygpCisgKiAgICBSZW1vdmUgdGhlIHBhZ2VzIGZyb20ga21taW9fcGFnZV90YWJsZS4KKyAqIDMuIHJjdV9mcmVlX2ttbWlvX2ZhdWx0X3BhZ2VzKCkKKyAqICAgIEFjdGFsbHkgZnJlZSB0aGUga21taW9fZmF1bHRfcGFnZSBzdHJ1Y3RzIGFzIHdpdGggUkNVLgorICovCit2b2lkIHVucmVnaXN0ZXJfa21taW9fcHJvYmUoc3RydWN0IGttbWlvX3Byb2JlICpwKQoreworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJdW5zaWduZWQgbG9uZyBzaXplID0gMDsKKwljb25zdCB1bnNpZ25lZCBsb25nIHNpemVfbGltID0gcC0+bGVuICsgKHAtPmFkZHIgJiB+UEFHRV9NQVNLKTsKKwlzdHJ1Y3Qga21taW9fZmF1bHRfcGFnZSAqcmVsZWFzZV9saXN0ID0gTlVMTDsKKwlzdHJ1Y3Qga21taW9fZGVsYXllZF9yZWxlYXNlICpkcmVsZWFzZTsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZrbW1pb19sb2NrLCBmbGFncyk7CisJd2hpbGUgKHNpemUgPCBzaXplX2xpbSkgeworCQlyZWxlYXNlX2ttbWlvX2ZhdWx0X3BhZ2UocC0+YWRkciArIHNpemUsICZyZWxlYXNlX2xpc3QpOworCQlzaXplICs9IFBBR0VfU0laRTsKKwl9CisJbGlzdF9kZWxfcmN1KCZwLT5saXN0KTsKKwlrbW1pb19jb3VudC0tOworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmttbWlvX2xvY2ssIGZsYWdzKTsKKworCWRyZWxlYXNlID0ga21hbGxvYyhzaXplb2YoKmRyZWxlYXNlKSwgR0ZQX0FUT01JQyk7CisJaWYgKCFkcmVsZWFzZSkgeworCQlwcl9jcml0KCJrbW1pbzogbGVha2luZyBrbW1pb19mYXVsdF9wYWdlIG9iamVjdHMuXG4iKTsKKwkJcmV0dXJuOworCX0KKwlkcmVsZWFzZS0+cmVsZWFzZV9saXN0ID0gcmVsZWFzZV9saXN0OworCisJLyoKKwkgKiBUaGlzIGlzIG5vdCByZWFsbHkgUkNVIGhlcmUuIFdlIGhhdmUganVzdCBkaXNhcm1lZCBhIHNldCBvZgorCSAqIHBhZ2VzIHNvIHRoYXQgdGhleSBjYW5ub3QgdHJpZ2dlciBwYWdlIGZhdWx0cyBhbnltb3JlLiBIb3dldmVyLAorCSAqIHdlIGNhbm5vdCByZW1vdmUgdGhlIHBhZ2VzIGZyb20ga21taW9fcGFnZV90YWJsZSwKKwkgKiBiZWNhdXNlIGEgcHJvYmUgaGl0IG1pZ2h0IGJlIGluIGZsaWdodCBvbiBhbm90aGVyIENQVS4gVGhlCisJICogcGFnZXMgYXJlIGNvbGxlY3RlZCBpbnRvIGEgbGlzdCwgYW5kIHRoZXkgd2lsbCBiZSByZW1vdmVkIGZyb20KKwkgKiBrbW1pb19wYWdlX3RhYmxlIHdoZW4gaXQgaXMgY2VydGFpbiB0aGF0IG5vIHByb2JlIGhpdCByZWxhdGVkIHRvCisJICogdGhlc2UgcGFnZXMgY2FuIGJlIGluIGZsaWdodC4gUkNVIGdyYWNlIHBlcmlvZCBzb3VuZHMgbGlrZSBhCisJICogZ29vZCBjaG9pY2UuCisJICoKKwkgKiBJZiB3ZSByZW1vdmVkIHRoZSBwYWdlcyB0b28gZWFybHksIGttbWlvIHBhZ2UgZmF1bHQgaGFuZGxlciBtaWdodAorCSAqIG5vdCBmaW5kIHRoZSByZXNwZWN0aXZlIGttbWlvX2ZhdWx0X3BhZ2UgYW5kIGRldGVybWluZSBpdCdzIG5vdAorCSAqIGEga21taW8gZmF1bHQsIHdoZW4gaXQgYWN0dWFsbHkgaXMuIFRoaXMgd291bGQgbGVhZCB0byBtYWRuZXNzLgorCSAqLworCWNhbGxfcmN1KCZkcmVsZWFzZS0+cmN1LCByZW1vdmVfa21taW9fZmF1bHRfcGFnZXMpOworfQorRVhQT1JUX1NZTUJPTCh1bnJlZ2lzdGVyX2ttbWlvX3Byb2JlKTsKKworc3RhdGljIGludCBrbW1pb19kaWVfbm90aWZpZXIoc3RydWN0IG5vdGlmaWVyX2Jsb2NrICpuYiwgdW5zaWduZWQgbG9uZyB2YWwsCisJCQkJCQkJCXZvaWQgKmFyZ3MpCit7CisJc3RydWN0IGRpZV9hcmdzICphcmcgPSBhcmdzOworCisJaWYgKHZhbCA9PSBESUVfREVCVUcgJiYgKGFyZy0+ZXJyICYgRFJfU1RFUCkpCisJCWlmIChwb3N0X2ttbWlvX2hhbmRsZXIoYXJnLT5lcnIsIGFyZy0+cmVncykgPT0gMSkKKwkJCXJldHVybiBOT1RJRllfU1RPUDsKKworCXJldHVybiBOT1RJRllfRE9ORTsKK30KKworc3RhdGljIHN0cnVjdCBub3RpZmllcl9ibG9jayBuYl9kaWUgPSB7CisJLm5vdGlmaWVyX2NhbGwgPSBrbW1pb19kaWVfbm90aWZpZXIKK307CisKK3N0YXRpYyBpbnQgX19pbml0IGluaXRfa21taW8odm9pZCkKK3sKKwlpbnQgaTsKKwlmb3IgKGkgPSAwOyBpIDwgS01NSU9fUEFHRV9UQUJMRV9TSVpFOyBpKyspCisJCUlOSVRfTElTVF9IRUFEKCZrbW1pb19wYWdlX3RhYmxlW2ldKTsKKwlyZXR1cm4gcmVnaXN0ZXJfZGllX25vdGlmaWVyKCZuYl9kaWUpOworfQorZnNfaW5pdGNhbGwoaW5pdF9rbW1pbyk7IC8qIHNob3VsZCBiZSBiZWZvcmUgZGV2aWNlX2luaXRjYWxsKCkgKi8KZGlmZiAtLWdpdCBhL2FyY2gveDg2L21tL21taW8tbW9kLmMgYi9hcmNoL3g4Ni9tbS9tbWlvLW1vZC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU3Mzk3ZTEKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL3g4Ni9tbS9tbWlvLW1vZC5jCkBAIC0wLDAgKzEsNTE1IEBACisvKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcsIFVTQS4KKyAqCisgKiBDb3B5cmlnaHQgKEMpIElCTSBDb3Jwb3JhdGlvbiwgMjAwNQorICogICAgICAgICAgICAgICBKZWZmIE11aXplbGFhciwgMjAwNiwgMjAwNworICogICAgICAgICAgICAgICBQZWtrYSBQYWFsYW5lbiwgMjAwOCA8cHFAaWtpLmZpPgorICoKKyAqIERlcml2ZWQgZnJvbSB0aGUgcmVhZC1tb2QgZXhhbXBsZSBmcm9tIHJlbGF5LWV4YW1wbGVzIGJ5IFRvbSBaYW51c3NpLgorICovCisjZGVmaW5lIERFQlVHIDEKKworI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2RlYnVnZnMuaD4KKyNpbmNsdWRlIDxsaW51eC91YWNjZXNzLmg+CisjaW5jbHVkZSA8bGludXgvaW8uaD4KKyNpbmNsdWRlIDxsaW51eC92ZXJzaW9uLmg+CisjaW5jbHVkZSA8bGludXgva2FsbHN5bXMuaD4KKyNpbmNsdWRlIDxhc20vcGd0YWJsZS5oPgorI2luY2x1ZGUgPGxpbnV4L21taW90cmFjZS5oPgorI2luY2x1ZGUgPGFzbS9lODIwLmg+IC8qIGZvciBJU0FfU1RBUlRfQUREUkVTUyAqLworI2luY2x1ZGUgPGFzbS9hdG9taWMuaD4KKyNpbmNsdWRlIDxsaW51eC9wZXJjcHUuaD4KKyNpbmNsdWRlIDxsaW51eC9jcHUuaD4KKworI2luY2x1ZGUgInBmX2luLmgiCisKKyNkZWZpbmUgTkFNRSAibW1pb3RyYWNlOiAiCisKK3N0cnVjdCB0cmFwX3JlYXNvbiB7CisJdW5zaWduZWQgbG9uZyBhZGRyOworCXVuc2lnbmVkIGxvbmcgaXA7CisJZW51bSByZWFzb25fdHlwZSB0eXBlOworCWludCBhY3RpdmVfdHJhY2VzOworfTsKKworc3RydWN0IHJlbWFwX3RyYWNlIHsKKwlzdHJ1Y3QgbGlzdF9oZWFkIGxpc3Q7CisJc3RydWN0IGttbWlvX3Byb2JlIHByb2JlOworCXJlc291cmNlX3NpemVfdCBwaHlzOworCXVuc2lnbmVkIGxvbmcgaWQ7Cit9OworCisvKiBBY2Nlc3NlZCBwZXItY3B1LiAqLworc3RhdGljIERFRklORV9QRVJfQ1BVKHN0cnVjdCB0cmFwX3JlYXNvbiwgcGZfcmVhc29uKTsKK3N0YXRpYyBERUZJTkVfUEVSX0NQVShzdHJ1Y3QgbW1pb3RyYWNlX3J3LCBjcHVfdHJhY2UpOworCisjaWYgMCAvKiBYWFg6IG5vIHdheSBnYXRoZXIgdGhpcyBpbmZvIGFueW1vcmUgKi8KKy8qIEFjY2VzcyB0byB0aGlzIGlzIG5vdCBwZXItY3B1LiAqLworc3RhdGljIERFRklORV9QRVJfQ1BVKGF0b21pY190LCBkcm9wcGVkKTsKKyNlbmRpZgorCitzdGF0aWMgc3RydWN0IGRlbnRyeSAqbWFya2VyX2ZpbGU7CisKK3N0YXRpYyBERUZJTkVfTVVURVgobW1pb3RyYWNlX211dGV4KTsKK3N0YXRpYyBERUZJTkVfU1BJTkxPQ0sodHJhY2VfbG9jayk7CitzdGF0aWMgYXRvbWljX3QgbW1pb3RyYWNlX2VuYWJsZWQ7CitzdGF0aWMgTElTVF9IRUFEKHRyYWNlX2xpc3QpOwkJLyogc3RydWN0IHJlbWFwX3RyYWNlICovCisKKy8qCisgKiBMb2NraW5nIGluIHRoaXMgZmlsZToKKyAqIC0gbW1pb3RyYWNlX211dGV4IGVuZm9yY2VzIGVuYWJsZS9kaXNhYmxlX21taW90cmFjZSgpIGNyaXRpY2FsIHNlY3Rpb25zLgorICogLSBtbWlvdHJhY2VfZW5hYmxlZCBtYXkgYmUgbW9kaWZpZWQgb25seSB3aGVuIGhvbGRpbmcgbW1pb3RyYWNlX211dGV4CisgKiAgIGFuZCB0cmFjZV9sb2NrLgorICogLSBSb3V0aW5lcyBkZXBlbmRpbmcgb24gaXNfZW5hYmxlZCgpIG11c3QgdGFrZSB0cmFjZV9sb2NrLgorICogLSB0cmFjZV9saXN0IHVzZXJzIG11c3QgaG9sZCB0cmFjZV9sb2NrLgorICogLSBpc19lbmFibGVkKCkgZ3VhcmFudGVlcyB0aGF0IG1taW9fdHJhY2VfcmVjb3JkIGlzIGFsbG93ZWQuCisgKiAtIHByZS9wb3N0IGNhbGxiYWNrcyBhc3N1bWUgdGhlIGVmZmVjdCBvZiBpc19lbmFibGVkKCkgYmVpbmcgdHJ1ZS4KKyAqLworCisvKiBtb2R1bGUgcGFyYW1ldGVycyAqLworc3RhdGljIHVuc2lnbmVkIGxvbmcJZmlsdGVyX29mZnNldDsKK3N0YXRpYyBpbnQJCW5vbW1pb3RyYWNlOworc3RhdGljIGludAkJdHJhY2VfcGM7CisKK21vZHVsZV9wYXJhbShmaWx0ZXJfb2Zmc2V0LCB1bG9uZywgMCk7Cittb2R1bGVfcGFyYW0obm9tbWlvdHJhY2UsIGJvb2wsIDApOworbW9kdWxlX3BhcmFtKHRyYWNlX3BjLCBib29sLCAwKTsKKworTU9EVUxFX1BBUk1fREVTQyhmaWx0ZXJfb2Zmc2V0LCAiU3RhcnQgYWRkcmVzcyBvZiB0cmFjZWQgbWFwcGluZ3MuIik7CitNT0RVTEVfUEFSTV9ERVNDKG5vbW1pb3RyYWNlLCAiRGlzYWJsZSBhY3R1YWwgTU1JTyB0cmFjaW5nLiIpOworTU9EVUxFX1BBUk1fREVTQyh0cmFjZV9wYywgIlJlY29yZCBhZGRyZXNzIG9mIGZhdWx0aW5nIGluc3RydWN0aW9ucy4iKTsKKworc3RhdGljIGJvb2wgaXNfZW5hYmxlZCh2b2lkKQoreworCXJldHVybiBhdG9taWNfcmVhZCgmbW1pb3RyYWNlX2VuYWJsZWQpOworfQorCisjaWYgMCAvKiBYWFg6IG5lZWRzIHJld3JpdGUgKi8KKy8qCisgKiBXcml0ZSBjYWxsYmFjayBmb3IgdGhlIGRlYnVnZnMgZW50cnk6CisgKiBSZWFkIGEgbWFya2VyIGFuZCB3cml0ZSBpdCB0byB0aGUgbW1pbyB0cmFjZSBsb2cKKyAqLworc3RhdGljIHNzaXplX3Qgd3JpdGVfbWFya2VyKHN0cnVjdCBmaWxlICpmaWxlLCBjb25zdCBjaGFyIF9fdXNlciAqYnVmZmVyLAorCQkJCQkJc2l6ZV90IGNvdW50LCBsb2ZmX3QgKnBwb3MpCit7CisJY2hhciAqZXZlbnQgPSBOVUxMOworCXN0cnVjdCBtbV9pb19oZWFkZXIgKmhlYWRwOworCXNzaXplX3QgbGVuID0gKGNvdW50ID4gNjU1MzUpID8gNjU1MzUgOiBjb3VudDsKKworCWV2ZW50ID0ga3phbGxvYyhzaXplb2YoKmhlYWRwKSArIGxlbiwgR0ZQX0tFUk5FTCk7CisJaWYgKCFldmVudCkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwloZWFkcCA9IChzdHJ1Y3QgbW1faW9faGVhZGVyICopZXZlbnQ7CisJaGVhZHAtPnR5cGUgPSBNTUlPX01BR0lDIHwgKE1NSU9fTUFSS0VSIDw8IE1NSU9fT1BDT0RFX1NISUZUKTsKKwloZWFkcC0+ZGF0YV9sZW4gPSBsZW47CisKKwlpZiAoY29weV9mcm9tX3VzZXIoZXZlbnQgKyBzaXplb2YoKmhlYWRwKSwgYnVmZmVyLCBsZW4pKSB7CisJCWtmcmVlKGV2ZW50KTsKKwkJcmV0dXJuIC1FRkFVTFQ7CisJfQorCisJc3Bpbl9sb2NrX2lycSgmdHJhY2VfbG9jayk7CisjaWYgMCAvKiBYWFg6IGNvbnZlcnQgdGhpcyB0byB1c2UgdHJhY2luZyAqLworCWlmIChpc19lbmFibGVkKCkpCisJCXJlbGF5X3dyaXRlKGNoYW4sIGV2ZW50LCBzaXplb2YoKmhlYWRwKSArIGxlbik7CisJZWxzZQorI2VuZGlmCisJCWxlbiA9IC1FSU5WQUw7CisJc3Bpbl91bmxvY2tfaXJxKCZ0cmFjZV9sb2NrKTsKKwlrZnJlZShldmVudCk7CisJcmV0dXJuIGxlbjsKK30KKyNlbmRpZgorCitzdGF0aWMgdm9pZCBwcmludF9wdGUodW5zaWduZWQgbG9uZyBhZGRyZXNzKQoreworCXVuc2lnbmVkIGludCBsZXZlbDsKKwlwdGVfdCAqcHRlID0gbG9va3VwX2FkZHJlc3MoYWRkcmVzcywgJmxldmVsKTsKKworCWlmICghcHRlKSB7CisJCXByX2VycihOQU1FICJFcnJvciBpbiAlczogbm8gcHRlIGZvciBwYWdlIDB4JTA4bHhcbiIsCisJCQkJCQkJX19mdW5jX18sIGFkZHJlc3MpOworCQlyZXR1cm47CisJfQorCisJaWYgKGxldmVsID09IFBHX0xFVkVMXzJNKSB7CisJCXByX2VtZXJnKE5BTUUgIjRNQiBwYWdlcyBhcmUgbm90IGN1cnJlbnRseSBzdXBwb3J0ZWQ6ICIKKwkJCQkJCQkiMHglMDhseFxuIiwgYWRkcmVzcyk7CisJCUJVRygpOworCX0KKwlwcl9pbmZvKE5BTUUgInB0ZSBmb3IgMHglbHg6IDB4JWxseCAweCVsbHhcbiIsIGFkZHJlc3MsCisJCSh1bnNpZ25lZCBsb25nIGxvbmcpcHRlX3ZhbCgqcHRlKSwKKwkJKHVuc2lnbmVkIGxvbmcgbG9uZylwdGVfdmFsKCpwdGUpICYgX1BBR0VfUFJFU0VOVCk7Cit9CisKKy8qCisgKiBGb3Igc29tZSByZWFzb24gdGhlIHByZS9wb3N0IHBhaXJzIGhhdmUgYmVlbiBjYWxsZWQgaW4gYW4KKyAqIHVubWF0Y2hlZCBvcmRlci4gUmVwb3J0IGFuZCBkaWUuCisgKi8KK3N0YXRpYyB2b2lkIGRpZV9rbW1pb19uZXN0aW5nX2Vycm9yKHN0cnVjdCBwdF9yZWdzICpyZWdzLCB1bnNpZ25lZCBsb25nIGFkZHIpCit7CisJY29uc3Qgc3RydWN0IHRyYXBfcmVhc29uICpteV9yZWFzb24gPSAmZ2V0X2NwdV92YXIocGZfcmVhc29uKTsKKwlwcl9lbWVyZyhOQU1FICJ1bmV4cGVjdGVkIGZhdWx0IGZvciBhZGRyZXNzOiAweCUwOGx4LCAiCisJCQkJCSJsYXN0IGZhdWx0IGZvciBhZGRyZXNzOiAweCUwOGx4XG4iLAorCQkJCQlhZGRyLCBteV9yZWFzb24tPmFkZHIpOworCXByaW50X3B0ZShhZGRyKTsKKwlwcmludF9zeW1ib2woS0VSTl9FTUVSRyAiZmF1bHRpbmcgSVAgaXMgYXQgJXNcbiIsIHJlZ3MtPmlwKTsKKwlwcmludF9zeW1ib2woS0VSTl9FTUVSRyAibGFzdCBmYXVsdGluZyBJUCB3YXMgYXQgJXNcbiIsIG15X3JlYXNvbi0+aXApOworI2lmZGVmIF9faTM4Nl9fCisJcHJfZW1lcmcoImVheDogJTA4bHggICBlYng6ICUwOGx4ICAgZWN4OiAlMDhseCAgIGVkeDogJTA4bHhcbiIsCisJCQlyZWdzLT5heCwgcmVncy0+YngsIHJlZ3MtPmN4LCByZWdzLT5keCk7CisJcHJfZW1lcmcoImVzaTogJTA4bHggICBlZGk6ICUwOGx4ICAgZWJwOiAlMDhseCAgIGVzcDogJTA4bHhcbiIsCisJCQlyZWdzLT5zaSwgcmVncy0+ZGksIHJlZ3MtPmJwLCByZWdzLT5zcCk7CisjZWxzZQorCXByX2VtZXJnKCJyYXg6ICUwMTZseCAgIHJjeDogJTAxNmx4ICAgcmR4OiAlMDE2bHhcbiIsCisJCQkJCXJlZ3MtPmF4LCByZWdzLT5jeCwgcmVncy0+ZHgpOworCXByX2VtZXJnKCJyc2k6ICUwMTZseCAgIHJkaTogJTAxNmx4ICAgcmJwOiAlMDE2bHggICByc3A6ICUwMTZseFxuIiwKKwkJCQlyZWdzLT5zaSwgcmVncy0+ZGksIHJlZ3MtPmJwLCByZWdzLT5zcCk7CisjZW5kaWYKKwlwdXRfY3B1X3ZhcihwZl9yZWFzb24pOworCUJVRygpOworfQorCitzdGF0aWMgdm9pZCBwcmUoc3RydWN0IGttbWlvX3Byb2JlICpwLCBzdHJ1Y3QgcHRfcmVncyAqcmVncywKKwkJCQkJCXVuc2lnbmVkIGxvbmcgYWRkcikKK3sKKwlzdHJ1Y3QgdHJhcF9yZWFzb24gKm15X3JlYXNvbiA9ICZnZXRfY3B1X3ZhcihwZl9yZWFzb24pOworCXN0cnVjdCBtbWlvdHJhY2VfcncgKm15X3RyYWNlID0gJmdldF9jcHVfdmFyKGNwdV90cmFjZSk7CisJY29uc3QgdW5zaWduZWQgbG9uZyBpbnN0cHRyID0gaW5zdHJ1Y3Rpb25fcG9pbnRlcihyZWdzKTsKKwljb25zdCBlbnVtIHJlYXNvbl90eXBlIHR5cGUgPSBnZXRfaW5zX3R5cGUoaW5zdHB0cik7CisJc3RydWN0IHJlbWFwX3RyYWNlICp0cmFjZSA9IHAtPnByaXZhdGU7CisKKwkvKiBpdCBkb2Vzbid0IG1ha2Ugc2Vuc2UgdG8gaGF2ZSBtb3JlIHRoYW4gb25lIGFjdGl2ZSB0cmFjZSBwZXIgY3B1ICovCisJaWYgKG15X3JlYXNvbi0+YWN0aXZlX3RyYWNlcykKKwkJZGllX2ttbWlvX25lc3RpbmdfZXJyb3IocmVncywgYWRkcik7CisJZWxzZQorCQlteV9yZWFzb24tPmFjdGl2ZV90cmFjZXMrKzsKKworCW15X3JlYXNvbi0+dHlwZSA9IHR5cGU7CisJbXlfcmVhc29uLT5hZGRyID0gYWRkcjsKKwlteV9yZWFzb24tPmlwID0gaW5zdHB0cjsKKworCW15X3RyYWNlLT5waHlzID0gYWRkciAtIHRyYWNlLT5wcm9iZS5hZGRyICsgdHJhY2UtPnBoeXM7CisJbXlfdHJhY2UtPm1hcF9pZCA9IHRyYWNlLT5pZDsKKworCS8qCisJICogT25seSByZWNvcmQgdGhlIHByb2dyYW0gY291bnRlciB3aGVuIHJlcXVlc3RlZC4KKwkgKiBJdCBtYXkgdGFpbnQgY2xlYW4tcm9vbSByZXZlcnNlIGVuZ2luZWVyaW5nLgorCSAqLworCWlmICh0cmFjZV9wYykKKwkJbXlfdHJhY2UtPnBjID0gaW5zdHB0cjsKKwllbHNlCisJCW15X3RyYWNlLT5wYyA9IDA7CisKKwkvKgorCSAqIFhYWDogdGhlIHRpbWVzdGFtcCByZWNvcmRlZCB3aWxsIGJlICphZnRlciogdGhlIHRyYWNpbmcgaGFzIGJlZW4KKwkgKiBkb25lLCBub3QgYXQgdGhlIHRpbWUgd2UgaGl0IHRoZSBpbnN0cnVjdGlvbi4gU01QIGltcGxpY2F0aW9ucworCSAqIG9uIGV2ZW50IG9yZGVyaW5nPworCSAqLworCisJc3dpdGNoICh0eXBlKSB7CisJY2FzZSBSRUdfUkVBRDoKKwkJbXlfdHJhY2UtPm9wY29kZSA9IE1NSU9fUkVBRDsKKwkJbXlfdHJhY2UtPndpZHRoID0gZ2V0X2luc19tZW1fd2lkdGgoaW5zdHB0cik7CisJCWJyZWFrOworCWNhc2UgUkVHX1dSSVRFOgorCQlteV90cmFjZS0+b3Bjb2RlID0gTU1JT19XUklURTsKKwkJbXlfdHJhY2UtPndpZHRoID0gZ2V0X2luc19tZW1fd2lkdGgoaW5zdHB0cik7CisJCW15X3RyYWNlLT52YWx1ZSA9IGdldF9pbnNfcmVnX3ZhbChpbnN0cHRyLCByZWdzKTsKKwkJYnJlYWs7CisJY2FzZSBJTU1fV1JJVEU6CisJCW15X3RyYWNlLT5vcGNvZGUgPSBNTUlPX1dSSVRFOworCQlteV90cmFjZS0+d2lkdGggPSBnZXRfaW5zX21lbV93aWR0aChpbnN0cHRyKTsKKwkJbXlfdHJhY2UtPnZhbHVlID0gZ2V0X2luc19pbW1fdmFsKGluc3RwdHIpOworCQlicmVhazsKKwlkZWZhdWx0OgorCQl7CisJCQl1bnNpZ25lZCBjaGFyICppcCA9ICh1bnNpZ25lZCBjaGFyICopaW5zdHB0cjsKKwkJCW15X3RyYWNlLT5vcGNvZGUgPSBNTUlPX1VOS05PV05fT1A7CisJCQlteV90cmFjZS0+d2lkdGggPSAwOworCQkJbXlfdHJhY2UtPnZhbHVlID0gKCppcCkgPDwgMTYgfCAqKGlwICsgMSkgPDwgOCB8CisJCQkJCQkJCSooaXAgKyAyKTsKKwkJfQorCX0KKwlwdXRfY3B1X3ZhcihjcHVfdHJhY2UpOworCXB1dF9jcHVfdmFyKHBmX3JlYXNvbik7Cit9CisKK3N0YXRpYyB2b2lkIHBvc3Qoc3RydWN0IGttbWlvX3Byb2JlICpwLCB1bnNpZ25lZCBsb25nIGNvbmRpdGlvbiwKKwkJCQkJCQlzdHJ1Y3QgcHRfcmVncyAqcmVncykKK3sKKwlzdHJ1Y3QgdHJhcF9yZWFzb24gKm15X3JlYXNvbiA9ICZnZXRfY3B1X3ZhcihwZl9yZWFzb24pOworCXN0cnVjdCBtbWlvdHJhY2VfcncgKm15X3RyYWNlID0gJmdldF9jcHVfdmFyKGNwdV90cmFjZSk7CisKKwkvKiB0aGlzIHNob3VsZCBhbHdheXMgcmV0dXJuIHRoZSBhY3RpdmVfdHJhY2UgY291bnQgdG8gMCAqLworCW15X3JlYXNvbi0+YWN0aXZlX3RyYWNlcy0tOworCWlmIChteV9yZWFzb24tPmFjdGl2ZV90cmFjZXMpIHsKKwkJcHJfZW1lcmcoTkFNRSAidW5leHBlY3RlZCBwb3N0IGhhbmRsZXIiKTsKKwkJQlVHKCk7CisJfQorCisJc3dpdGNoIChteV9yZWFzb24tPnR5cGUpIHsKKwljYXNlIFJFR19SRUFEOgorCQlteV90cmFjZS0+dmFsdWUgPSBnZXRfaW5zX3JlZ192YWwobXlfcmVhc29uLT5pcCwgcmVncyk7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCWJyZWFrOworCX0KKworCW1taW9fdHJhY2VfcncobXlfdHJhY2UpOworCXB1dF9jcHVfdmFyKGNwdV90cmFjZSk7CisJcHV0X2NwdV92YXIocGZfcmVhc29uKTsKK30KKworc3RhdGljIHZvaWQgaW9yZW1hcF90cmFjZV9jb3JlKHJlc291cmNlX3NpemVfdCBvZmZzZXQsIHVuc2lnbmVkIGxvbmcgc2l6ZSwKKwkJCQkJCQl2b2lkIF9faW9tZW0gKmFkZHIpCit7CisJc3RhdGljIGF0b21pY190IG5leHRfaWQ7CisJc3RydWN0IHJlbWFwX3RyYWNlICp0cmFjZSA9IGttYWxsb2Moc2l6ZW9mKCp0cmFjZSksIEdGUF9LRVJORUwpOworCS8qIFRoZXNlIGFyZSBwYWdlLXVuYWxpZ25lZC4gKi8KKwlzdHJ1Y3QgbW1pb3RyYWNlX21hcCBtYXAgPSB7CisJCS5waHlzID0gb2Zmc2V0LAorCQkudmlydCA9ICh1bnNpZ25lZCBsb25nKWFkZHIsCisJCS5sZW4gPSBzaXplLAorCQkub3Bjb2RlID0gTU1JT19QUk9CRQorCX07CisKKwlpZiAoIXRyYWNlKSB7CisJCXByX2VycihOQU1FICJrbWFsbG9jIGZhaWxlZCBpbiBpb3JlbWFwXG4iKTsKKwkJcmV0dXJuOworCX0KKworCSp0cmFjZSA9IChzdHJ1Y3QgcmVtYXBfdHJhY2UpIHsKKwkJLnByb2JlID0geworCQkJLmFkZHIgPSAodW5zaWduZWQgbG9uZylhZGRyLAorCQkJLmxlbiA9IHNpemUsCisJCQkucHJlX2hhbmRsZXIgPSBwcmUsCisJCQkucG9zdF9oYW5kbGVyID0gcG9zdCwKKwkJCS5wcml2YXRlID0gdHJhY2UKKwkJfSwKKwkJLnBoeXMgPSBvZmZzZXQsCisJCS5pZCA9IGF0b21pY19pbmNfcmV0dXJuKCZuZXh0X2lkKQorCX07CisJbWFwLm1hcF9pZCA9IHRyYWNlLT5pZDsKKworCXNwaW5fbG9ja19pcnEoJnRyYWNlX2xvY2spOworCWlmICghaXNfZW5hYmxlZCgpKQorCQlnb3RvIG5vdF9lbmFibGVkOworCisJbW1pb190cmFjZV9tYXBwaW5nKCZtYXApOworCWxpc3RfYWRkX3RhaWwoJnRyYWNlLT5saXN0LCAmdHJhY2VfbGlzdCk7CisJaWYgKCFub21taW90cmFjZSkKKwkJcmVnaXN0ZXJfa21taW9fcHJvYmUoJnRyYWNlLT5wcm9iZSk7CisKK25vdF9lbmFibGVkOgorCXNwaW5fdW5sb2NrX2lycSgmdHJhY2VfbG9jayk7Cit9CisKK3ZvaWQgbW1pb3RyYWNlX2lvcmVtYXAocmVzb3VyY2Vfc2l6ZV90IG9mZnNldCwgdW5zaWduZWQgbG9uZyBzaXplLAorCQkJCQkJdm9pZCBfX2lvbWVtICphZGRyKQoreworCWlmICghaXNfZW5hYmxlZCgpKSAvKiByZWNoZWNrIGFuZCBwcm9wZXIgbG9ja2luZyBpbiAqX2NvcmUoKSAqLworCQlyZXR1cm47CisKKwlwcl9kZWJ1ZyhOQU1FICJpb3JlbWFwXyooMHglbGx4LCAweCVseCkgPSAlcFxuIiwKKwkJCQkodW5zaWduZWQgbG9uZyBsb25nKW9mZnNldCwgc2l6ZSwgYWRkcik7CisJaWYgKChmaWx0ZXJfb2Zmc2V0KSAmJiAob2Zmc2V0ICE9IGZpbHRlcl9vZmZzZXQpKQorCQlyZXR1cm47CisJaW9yZW1hcF90cmFjZV9jb3JlKG9mZnNldCwgc2l6ZSwgYWRkcik7Cit9CisKK3N0YXRpYyB2b2lkIGlvdW5tYXBfdHJhY2VfY29yZSh2b2xhdGlsZSB2b2lkIF9faW9tZW0gKmFkZHIpCit7CisJc3RydWN0IG1taW90cmFjZV9tYXAgbWFwID0geworCQkucGh5cyA9IDAsCisJCS52aXJ0ID0gKHVuc2lnbmVkIGxvbmcpYWRkciwKKwkJLmxlbiA9IDAsCisJCS5vcGNvZGUgPSBNTUlPX1VOUFJPQkUKKwl9OworCXN0cnVjdCByZW1hcF90cmFjZSAqdHJhY2U7CisJc3RydWN0IHJlbWFwX3RyYWNlICp0bXA7CisJc3RydWN0IHJlbWFwX3RyYWNlICpmb3VuZF90cmFjZSA9IE5VTEw7CisKKwlwcl9kZWJ1ZyhOQU1FICJVbm1hcHBpbmcgJXAuXG4iLCBhZGRyKTsKKworCXNwaW5fbG9ja19pcnEoJnRyYWNlX2xvY2spOworCWlmICghaXNfZW5hYmxlZCgpKQorCQlnb3RvIG5vdF9lbmFibGVkOworCisJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKHRyYWNlLCB0bXAsICZ0cmFjZV9saXN0LCBsaXN0KSB7CisJCWlmICgodW5zaWduZWQgbG9uZylhZGRyID09IHRyYWNlLT5wcm9iZS5hZGRyKSB7CisJCQlpZiAoIW5vbW1pb3RyYWNlKQorCQkJCXVucmVnaXN0ZXJfa21taW9fcHJvYmUoJnRyYWNlLT5wcm9iZSk7CisJCQlsaXN0X2RlbCgmdHJhY2UtPmxpc3QpOworCQkJZm91bmRfdHJhY2UgPSB0cmFjZTsKKwkJCWJyZWFrOworCQl9CisJfQorCW1hcC5tYXBfaWQgPSAoZm91bmRfdHJhY2UpID8gZm91bmRfdHJhY2UtPmlkIDogLTE7CisJbW1pb190cmFjZV9tYXBwaW5nKCZtYXApOworCitub3RfZW5hYmxlZDoKKwlzcGluX3VubG9ja19pcnEoJnRyYWNlX2xvY2spOworCWlmIChmb3VuZF90cmFjZSkgeworCQlzeW5jaHJvbml6ZV9yY3UoKTsgLyogdW5yZWdpc3Rlcl9rbW1pb19wcm9iZSgpIHJlcXVpcmVtZW50ICovCisJCWtmcmVlKGZvdW5kX3RyYWNlKTsKKwl9Cit9CisKK3ZvaWQgbW1pb3RyYWNlX2lvdW5tYXAodm9sYXRpbGUgdm9pZCBfX2lvbWVtICphZGRyKQoreworCW1pZ2h0X3NsZWVwKCk7CisJaWYgKGlzX2VuYWJsZWQoKSkgLyogcmVjaGVjayBhbmQgcHJvcGVyIGxvY2tpbmcgaW4gKl9jb3JlKCkgKi8KKwkJaW91bm1hcF90cmFjZV9jb3JlKGFkZHIpOworfQorCitzdGF0aWMgdm9pZCBjbGVhcl90cmFjZV9saXN0KHZvaWQpCit7CisJc3RydWN0IHJlbWFwX3RyYWNlICp0cmFjZTsKKwlzdHJ1Y3QgcmVtYXBfdHJhY2UgKnRtcDsKKworCS8qCisJICogTm8gbG9ja2luZyByZXF1aXJlZCwgYmVjYXVzZSB0aGUgY2FsbGVyIGVuc3VyZXMgd2UgYXJlIGluIGEKKwkgKiBjcml0aWNhbCBzZWN0aW9uIHZpYSBtdXRleCwgYW5kIGlzX2VuYWJsZWQoKSBpcyBmYWxzZSwKKwkgKiBpLmUuIG5vdGhpbmcgY2FuIHRyYXZlcnNlIG9yIG1vZGlmeSB0aGlzIGxpc3QuCisJICogQ2FsbGVyIGFsc28gZW5zdXJlcyBpc19lbmFibGVkKCkgY2Fubm90IGNoYW5nZS4KKwkgKi8KKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KHRyYWNlLCAmdHJhY2VfbGlzdCwgbGlzdCkgeworCQlwcl9ub3RpY2UoTkFNRSAicHVyZ2luZyBub24taW91bm1hcHBlZCAiCisJCQkJCSJ0cmFjZSBAMHglMDhseCwgc2l6ZSAweCVseC5cbiIsCisJCQkJCXRyYWNlLT5wcm9iZS5hZGRyLCB0cmFjZS0+cHJvYmUubGVuKTsKKwkJaWYgKCFub21taW90cmFjZSkKKwkJCXVucmVnaXN0ZXJfa21taW9fcHJvYmUoJnRyYWNlLT5wcm9iZSk7CisJfQorCXN5bmNocm9uaXplX3JjdSgpOyAvKiB1bnJlZ2lzdGVyX2ttbWlvX3Byb2JlKCkgcmVxdWlyZW1lbnQgKi8KKworCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZSh0cmFjZSwgdG1wLCAmdHJhY2VfbGlzdCwgbGlzdCkgeworCQlsaXN0X2RlbCgmdHJhY2UtPmxpc3QpOworCQlrZnJlZSh0cmFjZSk7CisJfQorfQorCisjaWZkZWYgQ09ORklHX0hPVFBMVUdfQ1BVCitzdGF0aWMgY3B1bWFza190IGRvd25lZF9jcHVzOworCitzdGF0aWMgdm9pZCBlbnRlcl91bmlwcm9jZXNzb3Iodm9pZCkKK3sKKwlpbnQgY3B1OworCWludCBlcnI7CisKKwlnZXRfb25saW5lX2NwdXMoKTsKKwlkb3duZWRfY3B1cyA9IGNwdV9vbmxpbmVfbWFwOworCWNwdV9jbGVhcihmaXJzdF9jcHUoY3B1X29ubGluZV9tYXApLCBkb3duZWRfY3B1cyk7CisJaWYgKG51bV9vbmxpbmVfY3B1cygpID4gMSkKKwkJcHJfbm90aWNlKE5BTUUgIkRpc2FibGluZyBub24tYm9vdCBDUFVzLi4uXG4iKTsKKwlwdXRfb25saW5lX2NwdXMoKTsKKworCWZvcl9lYWNoX2NwdV9tYXNrKGNwdSwgZG93bmVkX2NwdXMpIHsKKwkJZXJyID0gY3B1X2Rvd24oY3B1KTsKKwkJaWYgKCFlcnIpCisJCQlwcl9pbmZvKE5BTUUgIkNQVSVkIGlzIGRvd24uXG4iLCBjcHUpOworCQllbHNlCisJCQlwcl9lcnIoTkFNRSAiRXJyb3IgdGFraW5nIENQVSVkIGRvd246ICVkXG4iLCBjcHUsIGVycik7CisJfQorCWlmIChudW1fb25saW5lX2NwdXMoKSA+IDEpCisJCXByX3dhcm5pbmcoTkFNRSAibXVsdGlwbGUgQ1BVcyBzdGlsbCBvbmxpbmUsICIKKwkJCQkJCSJtYXkgbWlzcyBldmVudHMuXG4iKTsKK30KKworc3RhdGljIHZvaWQgbGVhdmVfdW5pcHJvY2Vzc29yKHZvaWQpCit7CisJaW50IGNwdTsKKwlpbnQgZXJyOworCisJaWYgKGNwdXNfd2VpZ2h0KGRvd25lZF9jcHVzKSA9PSAwKQorCQlyZXR1cm47CisJcHJfbm90aWNlKE5BTUUgIlJlLWVuYWJsaW5nIENQVXMuLi5cbiIpOworCWZvcl9lYWNoX2NwdV9tYXNrKGNwdSwgZG93bmVkX2NwdXMpIHsKKwkJZXJyID0gY3B1X3VwKGNwdSk7CisJCWlmICghZXJyKQorCQkJcHJfaW5mbyhOQU1FICJlbmFibGVkIENQVSVkLlxuIiwgY3B1KTsKKwkJZWxzZQorCQkJcHJfZXJyKE5BTUUgImNhbm5vdCByZS1lbmFibGUgQ1BVJWQ6ICVkXG4iLCBjcHUsIGVycik7CisJfQorfQorCisjZWxzZSAvKiAhQ09ORklHX0hPVFBMVUdfQ1BVICovCitzdGF0aWMgdm9pZCBlbnRlcl91bmlwcm9jZXNzb3Iodm9pZCkKK3sKKwlpZiAobnVtX29ubGluZV9jcHVzKCkgPiAxKQorCQlwcl93YXJuaW5nKE5BTUUgIm11bHRpcGxlIENQVXMgYXJlIG9ubGluZSwgbWF5IG1pc3MgZXZlbnRzLiAiCisJCQkiU3VnZ2VzdCBib290aW5nIHdpdGggbWF4Y3B1cz0xIGtlcm5lbCBhcmd1bWVudC5cbiIpOworfQorCitzdGF0aWMgdm9pZCBsZWF2ZV91bmlwcm9jZXNzb3Iodm9pZCkKK3sKK30KKyNlbmRpZgorCisjaWYgMCAvKiBYWFg6IG91dCBvZiBvcmRlciAqLworc3RhdGljIHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgZm9wc19tYXJrZXIgPSB7CisJLm93bmVyID0JVEhJU19NT0RVTEUsCisJLndyaXRlID0Jd3JpdGVfbWFya2VyCit9OworI2VuZGlmCisKK3ZvaWQgZW5hYmxlX21taW90cmFjZSh2b2lkKQoreworCW11dGV4X2xvY2soJm1taW90cmFjZV9tdXRleCk7CisJaWYgKGlzX2VuYWJsZWQoKSkKKwkJZ290byBvdXQ7CisKKyNpZiAwIC8qIFhYWDogdHJhY2luZyBkb2VzIG5vdCBzdXBwb3J0IHRleHQgZW50cmllcyAqLworCW1hcmtlcl9maWxlID0gZGVidWdmc19jcmVhdGVfZmlsZSgibWFya2VyIiwgMDY2MCwgZGlyLCBOVUxMLAorCQkJCQkJCQkmZm9wc19tYXJrZXIpOworCWlmICghbWFya2VyX2ZpbGUpCisJCXByX2VycihOQU1FICJtYXJrZXIgZmlsZSBjcmVhdGlvbiBmYWlsZWQuXG4iKTsKKyNlbmRpZgorCisJaWYgKG5vbW1pb3RyYWNlKQorCQlwcl9pbmZvKE5BTUUgIk1NSU8gdHJhY2luZyBkaXNhYmxlZC5cbiIpOworCWVudGVyX3VuaXByb2Nlc3NvcigpOworCXNwaW5fbG9ja19pcnEoJnRyYWNlX2xvY2spOworCWF0b21pY19pbmMoJm1taW90cmFjZV9lbmFibGVkKTsKKwlzcGluX3VubG9ja19pcnEoJnRyYWNlX2xvY2spOworCXByX2luZm8oTkFNRSAiZW5hYmxlZC5cbiIpOworb3V0OgorCW11dGV4X3VubG9jaygmbW1pb3RyYWNlX211dGV4KTsKK30KKwordm9pZCBkaXNhYmxlX21taW90cmFjZSh2b2lkKQoreworCW11dGV4X2xvY2soJm1taW90cmFjZV9tdXRleCk7CisJaWYgKCFpc19lbmFibGVkKCkpCisJCWdvdG8gb3V0OworCisJc3Bpbl9sb2NrX2lycSgmdHJhY2VfbG9jayk7CisJYXRvbWljX2RlYygmbW1pb3RyYWNlX2VuYWJsZWQpOworCUJVR19PTihpc19lbmFibGVkKCkpOworCXNwaW5fdW5sb2NrX2lycSgmdHJhY2VfbG9jayk7CisKKwljbGVhcl90cmFjZV9saXN0KCk7IC8qIGd1YXJhbnRlZXM6IG5vIG1vcmUga21taW8gY2FsbGJhY2tzICovCisJbGVhdmVfdW5pcHJvY2Vzc29yKCk7CisJaWYgKG1hcmtlcl9maWxlKSB7CisJCWRlYnVnZnNfcmVtb3ZlKG1hcmtlcl9maWxlKTsKKwkJbWFya2VyX2ZpbGUgPSBOVUxMOworCX0KKworCXByX2luZm8oTkFNRSAiZGlzYWJsZWQuXG4iKTsKK291dDoKKwltdXRleF91bmxvY2soJm1taW90cmFjZV9tdXRleCk7Cit9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tbS9udW1hXzY0LmMgYi9hcmNoL3g4Ni9tbS9udW1hXzY0LmMKaW5kZXggYzUwNjZkNS4uYjQzMmQ1NyAxMDA2NDQKLS0tIGEvYXJjaC94ODYvbW0vbnVtYV82NC5jCisrKyBiL2FyY2gveDg2L21tL251bWFfNjQuYwpAQCAtMjcsMzAgKzI3LDE3IEBACiBzdHJ1Y3QgcGdsaXN0X2RhdGEgKm5vZGVfZGF0YVtNQVhfTlVNTk9ERVNdIF9fcmVhZF9tb3N0bHk7CiBFWFBPUlRfU1lNQk9MKG5vZGVfZGF0YSk7CiAKLWJvb3RtZW1fZGF0YV90IHBsYXRfbm9kZV9iZGF0YVtNQVhfTlVNTk9ERVNdOworc3RhdGljIGJvb3RtZW1fZGF0YV90IHBsYXRfbm9kZV9iZGF0YVtNQVhfTlVNTk9ERVNdOwogCiBzdHJ1Y3QgbWVtbm9kZSBtZW1ub2RlOwogCi0jaWZkZWYgQ09ORklHX1NNUAotaW50IHg4Nl9jcHVfdG9fbm9kZV9tYXBfaW5pdFtOUl9DUFVTXSA9IHsKLQlbMCAuLi4gTlJfQ1BVUy0xXSA9IE5VTUFfTk9fTk9ERQotfTsKLXZvaWQgKng4Nl9jcHVfdG9fbm9kZV9tYXBfZWFybHlfcHRyOwotRVhQT1JUX1NZTUJPTCh4ODZfY3B1X3RvX25vZGVfbWFwX2Vhcmx5X3B0cik7Ci0jZW5kaWYKLURFRklORV9QRVJfQ1BVKGludCwgeDg2X2NwdV90b19ub2RlX21hcCkgPSBOVU1BX05PX05PREU7Ci1FWFBPUlRfUEVSX0NQVV9TWU1CT0woeDg2X2NwdV90b19ub2RlX21hcCk7Ci0KIHMxNiBhcGljaWRfdG9fbm9kZVtNQVhfTE9DQUxfQVBJQ10gX19jcHVpbml0ZGF0YSA9IHsKIAlbMCAuLi4gTUFYX0xPQ0FMX0FQSUMtMV0gPSBOVU1BX05PX05PREUKIH07CiAKLWNwdW1hc2tfdCBub2RlX3RvX2NwdW1hc2tfbWFwW01BWF9OVU1OT0RFU10gX19yZWFkX21vc3RseTsKLUVYUE9SVF9TWU1CT0wobm9kZV90b19jcHVtYXNrX21hcCk7Ci0KIGludCBudW1hX29mZiBfX2luaXRkYXRhOwotdW5zaWduZWQgbG9uZyBfX2luaXRkYXRhIG5vZGVtYXBfYWRkcjsKLXVuc2lnbmVkIGxvbmcgX19pbml0ZGF0YSBub2RlbWFwX3NpemU7CitzdGF0aWMgdW5zaWduZWQgbG9uZyBfX2luaXRkYXRhIG5vZGVtYXBfYWRkcjsKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9faW5pdGRhdGEgbm9kZW1hcF9zaXplOwogCiAvKgogICogR2l2ZW4gYSBzaGlmdCB2YWx1ZSwgdHJ5IHRvIHBvcHVsYXRlIG1lbW5vZGVtYXBbXQpAQCAtOTksNyArODYsNyBAQAogCiAJYWRkciA9IDB4ODAwMDsKIAlub2RlbWFwX3NpemUgPSByb3VuZF91cChzaXplb2YoczE2KSAqIG1lbW5vZGVtYXBzaXplLCBMMV9DQUNIRV9CWVRFUyk7Ci0Jbm9kZW1hcF9hZGRyID0gZmluZF9lODIwX2FyZWEoYWRkciwgZW5kX3Bmbjw8UEFHRV9TSElGVCwKKwlub2RlbWFwX2FkZHIgPSBmaW5kX2U4MjBfYXJlYShhZGRyLCBtYXhfcGZuPDxQQUdFX1NISUZULAogCQkJCSAgICAgIG5vZGVtYXBfc2l6ZSwgTDFfQ0FDSEVfQllURVMpOwogCWlmIChub2RlbWFwX2FkZHIgPT0gLTFVTCkgewogCQlwcmludGsoS0VSTl9FUlIKQEAgLTE5Miw3ICsxNzksNyBAQAogdm9pZCBfX2luaXQgc2V0dXBfbm9kZV9ib290bWVtKGludCBub2RlaWQsIHVuc2lnbmVkIGxvbmcgc3RhcnQsCiAJCQkgICAgICAgdW5zaWduZWQgbG9uZyBlbmQpCiB7Ci0JdW5zaWduZWQgbG9uZyBzdGFydF9wZm4sIGVuZF9wZm4sIGJvb3RtYXBfcGFnZXMsIGJvb3RtYXBfc2l6ZTsKKwl1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwgbGFzdF9wZm4sIGJvb3RtYXBfcGFnZXMsIGJvb3RtYXBfc2l6ZTsKIAl1bnNpZ25lZCBsb25nIGJvb3RtYXBfc3RhcnQsIG5vZGVkYXRhX3BoeXM7CiAJdm9pZCAqYm9vdG1hcDsKIAljb25zdCBpbnQgcGdkYXRfc2l6ZSA9IHJvdW5kX3VwKHNpemVvZihwZ19kYXRhX3QpLCBQQUdFX1NJWkUpOwpAQCAtMjA0LDcgKzE5MSw3IEBACiAJICAgICAgIHN0YXJ0LCBlbmQpOwogCiAJc3RhcnRfcGZuID0gc3RhcnQgPj4gUEFHRV9TSElGVDsKLQllbmRfcGZuID0gZW5kID4+IFBBR0VfU0hJRlQ7CisJbGFzdF9wZm4gPSBlbmQgPj4gUEFHRV9TSElGVDsKIAogCW5vZGVfZGF0YVtub2RlaWRdID0gZWFybHlfbm9kZV9tZW0obm9kZWlkLCBzdGFydCwgZW5kLCBwZ2RhdF9zaXplLAogCQkJCQkgICBTTVBfQ0FDSEVfQllURVMpOwpAQCAtMjE3LDcgKzIwNCw3IEBACiAJbWVtc2V0KE5PREVfREFUQShub2RlaWQpLCAwLCBzaXplb2YocGdfZGF0YV90KSk7CiAJTk9ERV9EQVRBKG5vZGVpZCktPmJkYXRhID0gJnBsYXRfbm9kZV9iZGF0YVtub2RlaWRdOwogCU5PREVfREFUQShub2RlaWQpLT5ub2RlX3N0YXJ0X3BmbiA9IHN0YXJ0X3BmbjsKLQlOT0RFX0RBVEEobm9kZWlkKS0+bm9kZV9zcGFubmVkX3BhZ2VzID0gZW5kX3BmbiAtIHN0YXJ0X3BmbjsKKwlOT0RFX0RBVEEobm9kZWlkKS0+bm9kZV9zcGFubmVkX3BhZ2VzID0gbGFzdF9wZm4gLSBzdGFydF9wZm47CiAKIAkvKgogCSAqIEZpbmQgYSBwbGFjZSBmb3IgdGhlIGJvb3RtZW0gbWFwCkBAIC0yMjYsMTQgKzIxMywxNCBAQAogCSAqIGVhcmx5X25vZGVfbWVtIHdpbGwgZ2V0IHRoYXQgd2l0aCBmaW5kX2U4MjBfYXJlYSBpbnN0ZWFkCiAJICogb2YgYWxsb2NfYm9vdG1lbSwgdGhhdCBjb3VsZCBjbGFzaCB3aXRoIHJlc2VydmVkIHJhbmdlCiAJICovCi0JYm9vdG1hcF9wYWdlcyA9IGJvb3RtZW1fYm9vdG1hcF9wYWdlcyhlbmRfcGZuIC0gc3RhcnRfcGZuKTsKKwlib290bWFwX3BhZ2VzID0gYm9vdG1lbV9ib290bWFwX3BhZ2VzKGxhc3RfcGZuIC0gc3RhcnRfcGZuKTsKIAluaWQgPSBwaHlzX3RvX25pZChub2RlZGF0YV9waHlzKTsKIAlpZiAobmlkID09IG5vZGVpZCkKIAkJYm9vdG1hcF9zdGFydCA9IHJvdW5kX3VwKG5vZGVkYXRhX3BoeXMgKyBwZ2RhdF9zaXplLCBQQUdFX1NJWkUpOwogCWVsc2UKIAkJYm9vdG1hcF9zdGFydCA9IHJvdW5kX3VwKHN0YXJ0LCBQQUdFX1NJWkUpOwogCS8qCi0JICogU01QX0NBSENFX0JZVEVTIGNvdWxkIGJlIGVub3VnaCwgYnV0IGluaXRfYm9vdG1lbV9ub2RlIGxpa2UKKwkgKiBTTVBfQ0FDSEVfQllURVMgY291bGQgYmUgZW5vdWdoLCBidXQgaW5pdF9ib290bWVtX25vZGUgbGlrZQogCSAqIHRvIHVzZSB0aGF0IHRvIGFsaWduIHRvIFBBR0VfU0laRQogCSAqLwogCWJvb3RtYXAgPSBlYXJseV9ub2RlX21lbShub2RlaWQsIGJvb3RtYXBfc3RhcnQsIGVuZCwKQEAgLTI0OCw3ICsyMzUsNyBAQAogCiAJYm9vdG1hcF9zaXplID0gaW5pdF9ib290bWVtX25vZGUoTk9ERV9EQVRBKG5vZGVpZCksCiAJCQkJCSBib290bWFwX3N0YXJ0ID4+IFBBR0VfU0hJRlQsCi0JCQkJCSBzdGFydF9wZm4sIGVuZF9wZm4pOworCQkJCQkgc3RhcnRfcGZuLCBsYXN0X3Bmbik7CiAKIAlwcmludGsoS0VSTl9JTkZPICIgIGJvb3RtYXAgWyUwMTZseCAtICAlMDE2bHhdIHBhZ2VzICVseFxuIiwKIAkJIGJvb3RtYXBfc3RhcnQsIGJvb3RtYXBfc3RhcnQgKyBib290bWFwX3NpemUgLSAxLApAQCAtMzA5LDcgKzI5Niw3IEBACiAKICNpZmRlZiBDT05GSUdfTlVNQV9FTVUKIC8qIE51bWEgZW11bGF0aW9uICovCi1jaGFyICpjbWRsaW5lIF9faW5pdGRhdGE7CitzdGF0aWMgY2hhciAqY21kbGluZSBfX2luaXRkYXRhOwogCiAvKgogICogU2V0dXBzIHVwIG5pZCB0byByYW5nZSBmcm9tIGFkZHIgdG8gYWRkciArIHNpemUuICBJZiB0aGUgZW5kCkBAIC00MTMsMTUgKzQwMCwxNSBAQAogfQogCiAvKgotICogU2V0cyB1cCB0aGUgc3lzdGVtIFJBTSBhcmVhIGZyb20gc3RhcnRfcGZuIHRvIGVuZF9wZm4gYWNjb3JkaW5nIHRvIHRoZQorICogU2V0cyB1cCB0aGUgc3lzdGVtIFJBTSBhcmVhIGZyb20gc3RhcnRfcGZuIHRvIGxhc3RfcGZuIGFjY29yZGluZyB0byB0aGUKICAqIG51bWE9ZmFrZSBjb21tYW5kLWxpbmUgb3B0aW9uLgogICovCiBzdGF0aWMgc3RydWN0IGJvb3Rub2RlIG5vZGVzW01BWF9OVU1OT0RFU10gX19pbml0ZGF0YTsKIAotc3RhdGljIGludCBfX2luaXQgbnVtYV9lbXVsYXRpb24odW5zaWduZWQgbG9uZyBzdGFydF9wZm4sIHVuc2lnbmVkIGxvbmcgZW5kX3BmbikKK3N0YXRpYyBpbnQgX19pbml0IG51bWFfZW11bGF0aW9uKHVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuLCB1bnNpZ25lZCBsb25nIGxhc3RfcGZuKQogewogCXU2NCBzaXplLCBhZGRyID0gc3RhcnRfcGZuIDw8IFBBR0VfU0hJRlQ7Ci0JdTY0IG1heF9hZGRyID0gZW5kX3BmbiA8PCBQQUdFX1NISUZUOworCXU2NCBtYXhfYWRkciA9IGxhc3RfcGZuIDw8IFBBR0VfU0hJRlQ7CiAJaW50IG51bV9ub2RlcyA9IDAsIG51bSA9IDAsIGNvZWZmX2ZsYWcsIGNvZWZmID0gLTEsIGk7CiAKIAltZW1zZXQoJm5vZGVzLCAwLCBzaXplb2Yobm9kZXMpKTsKQEAgLTUyNyw3ICs1MTQsNyBAQAogfQogI2VuZGlmIC8qIENPTkZJR19OVU1BX0VNVSAqLwogCi12b2lkIF9faW5pdCBudW1hX2luaXRtZW1faW5pdCh1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwgdW5zaWduZWQgbG9uZyBlbmRfcGZuKQordm9pZCBfX2luaXQgaW5pdG1lbV9pbml0KHVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuLCB1bnNpZ25lZCBsb25nIGxhc3RfcGZuKQogewogCWludCBpOwogCkBAIC01MzUsNyArNTIyLDcgQEAKIAlub2Rlc19jbGVhcihub2RlX29ubGluZV9tYXApOwogCiAjaWZkZWYgQ09ORklHX05VTUFfRU1VCi0JaWYgKGNtZGxpbmUgJiYgIW51bWFfZW11bGF0aW9uKHN0YXJ0X3BmbiwgZW5kX3BmbikpCisJaWYgKGNtZGxpbmUgJiYgIW51bWFfZW11bGF0aW9uKHN0YXJ0X3BmbiwgbGFzdF9wZm4pKQogCQlyZXR1cm47CiAJbm9kZXNfY2xlYXIobm9kZV9wb3NzaWJsZV9tYXApOwogCW5vZGVzX2NsZWFyKG5vZGVfb25saW5lX21hcCk7CkBAIC01NDMsNyArNTMwLDcgQEAKIAogI2lmZGVmIENPTkZJR19BQ1BJX05VTUEKIAlpZiAoIW51bWFfb2ZmICYmICFhY3BpX3NjYW5fbm9kZXMoc3RhcnRfcGZuIDw8IFBBR0VfU0hJRlQsCi0JCQkJCSAgZW5kX3BmbiA8PCBQQUdFX1NISUZUKSkKKwkJCQkJICBsYXN0X3BmbiA8PCBQQUdFX1NISUZUKSkKIAkJcmV0dXJuOwogCW5vZGVzX2NsZWFyKG5vZGVfcG9zc2libGVfbWFwKTsKIAlub2Rlc19jbGVhcihub2RlX29ubGluZV9tYXApOwpAQCAtNTUxLDcgKzUzOCw3IEBACiAKICNpZmRlZiBDT05GSUdfSzhfTlVNQQogCWlmICghbnVtYV9vZmYgJiYgIWs4X3NjYW5fbm9kZXMoc3RhcnRfcGZuPDxQQUdFX1NISUZULAotCQkJCQllbmRfcGZuPDxQQUdFX1NISUZUKSkKKwkJCQkJbGFzdF9wZm48PFBBR0VfU0hJRlQpKQogCQlyZXR1cm47CiAJbm9kZXNfY2xlYXIobm9kZV9wb3NzaWJsZV9tYXApOwogCW5vZGVzX2NsZWFyKG5vZGVfb25saW5lX21hcCk7CkBAIC01NjEsNyArNTQ4LDcgQEAKIAogCXByaW50ayhLRVJOX0lORk8gIkZha2luZyBhIG5vZGUgYXQgJTAxNmx4LSUwMTZseFxuIiwKIAkgICAgICAgc3RhcnRfcGZuIDw8IFBBR0VfU0hJRlQsCi0JICAgICAgIGVuZF9wZm4gPDwgUEFHRV9TSElGVCk7CisJICAgICAgIGxhc3RfcGZuIDw8IFBBR0VfU0hJRlQpOwogCS8qIHNldHVwIGR1bW15IG5vZGUgY292ZXJpbmcgYWxsIG1lbW9yeSAqLwogCW1lbW5vZGVfc2hpZnQgPSA2MzsKIAltZW1ub2RlbWFwID0gbWVtbm9kZS5lbWJlZGRlZF9tYXA7CkBAIC01NzAsMjkgKzU1Nyw4IEBACiAJbm9kZV9zZXQoMCwgbm9kZV9wb3NzaWJsZV9tYXApOwogCWZvciAoaSA9IDA7IGkgPCBOUl9DUFVTOyBpKyspCiAJCW51bWFfc2V0X25vZGUoaSwgMCk7Ci0JLyogY3B1bWFza19vZl9jcHUoKSBtYXkgbm90IGJlIGF2YWlsYWJsZSBkdXJpbmcgZWFybHkgc3RhcnR1cCAqLwotCW1lbXNldCgmbm9kZV90b19jcHVtYXNrX21hcFswXSwgMCwgc2l6ZW9mKG5vZGVfdG9fY3B1bWFza19tYXBbMF0pKTsKLQljcHVfc2V0KDAsIG5vZGVfdG9fY3B1bWFza19tYXBbMF0pOwotCWU4MjBfcmVnaXN0ZXJfYWN0aXZlX3JlZ2lvbnMoMCwgc3RhcnRfcGZuLCBlbmRfcGZuKTsKLQlzZXR1cF9ub2RlX2Jvb3RtZW0oMCwgc3RhcnRfcGZuIDw8IFBBR0VfU0hJRlQsIGVuZF9wZm4gPDwgUEFHRV9TSElGVCk7Ci19Ci0KLV9fY3B1aW5pdCB2b2lkIG51bWFfYWRkX2NwdShpbnQgY3B1KQotewotCXNldF9iaXQoY3B1LAotCQkodW5zaWduZWQgbG9uZyAqKSZub2RlX3RvX2NwdW1hc2tfbWFwW2Vhcmx5X2NwdV90b19ub2RlKGNwdSldKTsKLX0KLQotdm9pZCBfX2NwdWluaXQgbnVtYV9zZXRfbm9kZShpbnQgY3B1LCBpbnQgbm9kZSkKLXsKLQlpbnQgKmNwdV90b19ub2RlX21hcCA9IHg4Nl9jcHVfdG9fbm9kZV9tYXBfZWFybHlfcHRyOwotCi0JaWYoY3B1X3RvX25vZGVfbWFwKQotCQljcHVfdG9fbm9kZV9tYXBbY3B1XSA9IG5vZGU7Ci0JZWxzZSBpZihwZXJfY3B1X29mZnNldChjcHUpKQotCQlwZXJfY3B1KHg4Nl9jcHVfdG9fbm9kZV9tYXAsIGNwdSkgPSBub2RlOwotCWVsc2UKLQkJRHByaW50ayhLRVJOX0lORk8gIlNldHRpbmcgbm9kZSBmb3Igbm9uLXByZXNlbnQgY3B1ICVkXG4iLCBjcHUpOworCWU4MjBfcmVnaXN0ZXJfYWN0aXZlX3JlZ2lvbnMoMCwgc3RhcnRfcGZuLCBsYXN0X3Bmbik7CisJc2V0dXBfbm9kZV9ib290bWVtKDAsIHN0YXJ0X3BmbiA8PCBQQUdFX1NISUZULCBsYXN0X3BmbiA8PCBQQUdFX1NISUZUKTsKIH0KIAogdW5zaWduZWQgbG9uZyBfX2luaXQgbnVtYV9mcmVlX2FsbF9ib290bWVtKHZvaWQpCkBAIC02MTMsNyArNTc5LDcgQEAKIAltZW1zZXQobWF4X3pvbmVfcGZucywgMCwgc2l6ZW9mKG1heF96b25lX3BmbnMpKTsKIAltYXhfem9uZV9wZm5zW1pPTkVfRE1BXSA9IE1BWF9ETUFfUEZOOwogCW1heF96b25lX3BmbnNbWk9ORV9ETUEzMl0gPSBNQVhfRE1BMzJfUEZOOwotCW1heF96b25lX3BmbnNbWk9ORV9OT1JNQUxdID0gZW5kX3BmbjsKKwltYXhfem9uZV9wZm5zW1pPTkVfTk9STUFMXSA9IG1heF9wZm47CiAKIAlzcGFyc2VfbWVtb3J5X3ByZXNlbnRfd2l0aF9hY3RpdmVfcmVnaW9ucyhNQVhfTlVNTk9ERVMpOwogCXNwYXJzZV9pbml0KCk7CkBAIC02NDEsNiArNjA3LDcgQEAKIH0KIGVhcmx5X3BhcmFtKCJudW1hIiwgbnVtYV9zZXR1cCk7CiAKKyNpZmRlZiBDT05GSUdfTlVNQQogLyoKICAqIFNldHVwIGVhcmx5IGNwdV90b19ub2RlLgogICoKQEAgLTY1MiwxNCArNjE5LDE5IEBACiAgKiBpcyBhbHJlYWR5IGluaXRpYWxpemVkIGluIGEgcm91bmQgcm9iaW4gbWFubmVyIGF0IG51bWFfaW5pdF9hcnJheSwKICAqIHByaW9yIHRvIHRoaXMgY2FsbCwgYW5kIHRoaXMgaW5pdGlhbGl6YXRpb24gaXMgZ29vZCBlbm91Z2gKICAqIGZvciB0aGUgZmFrZSBOVU1BIGNhc2VzLgorICoKKyAqIENhbGxlZCBiZWZvcmUgdGhlIHBlcl9jcHUgYXJlYXMgYXJlIHNldHVwLgogICovCiB2b2lkIF9faW5pdCBpbml0X2NwdV90b19ub2RlKHZvaWQpCiB7Ci0JaW50IGk7CisJaW50IGNwdTsKKwl1MTYgKmNwdV90b19hcGljaWQgPSBlYXJseV9wZXJfY3B1X3B0cih4ODZfY3B1X3RvX2FwaWNpZCk7CiAKLQlmb3IgKGkgPSAwOyBpIDwgTlJfQ1BVUzsgaSsrKSB7CisJQlVHX09OKGNwdV90b19hcGljaWQgPT0gTlVMTCk7CisKKwlmb3JfZWFjaF9wb3NzaWJsZV9jcHUoY3B1KSB7CiAJCWludCBub2RlOwotCQl1MTYgYXBpY2lkID0geDg2X2NwdV90b19hcGljaWRfaW5pdFtpXTsKKwkJdTE2IGFwaWNpZCA9IGNwdV90b19hcGljaWRbY3B1XTsKIAogCQlpZiAoYXBpY2lkID09IEJBRF9BUElDSUQpCiAJCQljb250aW51ZTsKQEAgLTY2OCw4ICs2NDAsOSBAQAogCQkJY29udGludWU7CiAJCWlmICghbm9kZV9vbmxpbmUobm9kZSkpCiAJCQljb250aW51ZTsKLQkJbnVtYV9zZXRfbm9kZShpLCBub2RlKTsKKwkJbnVtYV9zZXRfbm9kZShjcHUsIG5vZGUpOwogCX0KIH0KKyNlbmRpZgogCiAKZGlmZiAtLWdpdCBhL2FyY2gveDg2L21tL3BhZ2VhdHRyLXRlc3QuYyBiL2FyY2gveDg2L21tL3BhZ2VhdHRyLXRlc3QuYwppbmRleCA3NWYxYjEwLi4wZGNkNDJlIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9tbS9wYWdlYXR0ci10ZXN0LmMKKysrIGIvYXJjaC94ODYvbW0vcGFnZWF0dHItdGVzdC5jCkBAIC0xLDggKzEsOCBAQAogLyoKICAqIHNlbGYgdGVzdCBmb3IgY2hhbmdlX3BhZ2VfYXR0ci4KICAqCi0gKiBDbGVhcnMgdGhlIGdsb2JhbCBiaXQgb24gcmFuZG9tIHBhZ2VzIGluIHRoZSBkaXJlY3QgbWFwcGluZywgdGhlbiByZXZlcnRzCi0gKiBhbmQgY29tcGFyZXMgcGFnZSB0YWJsZXMgZm9yd2FyZHMgYW5kIGFmdGVyd2FyZHMuCisgKiBDbGVhcnMgdGhlIGEgdGVzdCBwdGUgYml0IG9uIHJhbmRvbSBwYWdlcyBpbiB0aGUgZGlyZWN0IG1hcHBpbmcsCisgKiB0aGVuIHJldmVydHMgYW5kIGNvbXBhcmVzIHBhZ2UgdGFibGVzIGZvcndhcmRzIGFuZCBhZnRlcndhcmRzLgogICovCiAjaW5jbHVkZSA8bGludXgvYm9vdG1lbS5oPgogI2luY2x1ZGUgPGxpbnV4L2t0aHJlYWQuaD4KQEAgLTMyLDYgKzMyLDEzIEBACiAJR1BTCQkJPSAoMTw8MzApCiB9OwogCisjZGVmaW5lIFBBR0VfVEVTVEJJVAlfX3BncHJvdChfUEFHRV9VTlVTRUQxKQorCitzdGF0aWMgaW50IHB0ZV90ZXN0Yml0KHB0ZV90IHB0ZSkKK3sKKwlyZXR1cm4gcHRlX2ZsYWdzKHB0ZSkgJiBfUEFHRV9VTlVTRUQxOworfQorCiBzdHJ1Y3Qgc3BsaXRfc3RhdGUgewogCWxvbmcgbHBnLCBncGcsIHNwZywgZXhlYzsKIAlsb25nIG1pbl9leGVjLCBtYXhfZXhlYzsKQEAgLTE2NSwxNSArMTcyLDE0IEBACiAJCQljb250aW51ZTsKIAkJfQogCi0JCWVyciA9IGNoYW5nZV9wYWdlX2F0dHJfY2xlYXIoYWRkcltpXSwgbGVuW2ldLAotCQkJCQkgICAgICAgX19wZ3Byb3QoX1BBR0VfR0xPQkFMKSk7CisJCWVyciA9IGNoYW5nZV9wYWdlX2F0dHJfc2V0KGFkZHJbaV0sIGxlbltpXSwgUEFHRV9URVNUQklUKTsKIAkJaWYgKGVyciA8IDApIHsKIAkJCXByaW50ayhLRVJOX0VSUiAiQ1BBICVkIGZhaWxlZCAlZFxuIiwgaSwgZXJyKTsKIAkJCWZhaWxlZCsrOwogCQl9CiAKIAkJcHRlID0gbG9va3VwX2FkZHJlc3MoYWRkcltpXSwgJmxldmVsKTsKLQkJaWYgKCFwdGUgfHwgcHRlX2dsb2JhbCgqcHRlKSB8fCBwdGVfaHVnZSgqcHRlKSkgeworCQlpZiAoIXB0ZSB8fCAhcHRlX3Rlc3RiaXQoKnB0ZSkgfHwgcHRlX2h1Z2UoKnB0ZSkpIHsKIAkJCXByaW50ayhLRVJOX0VSUiAiQ1BBICVseDogYmFkIHB0ZSAlTHhcbiIsIGFkZHJbaV0sCiAJCQkJcHRlID8gKHU2NClwdGVfdmFsKCpwdGUpIDogMFVMTCk7CiAJCQlmYWlsZWQrKzsKQEAgLTE5OCwxNCArMjA0LDEzIEBACiAJCQlmYWlsZWQrKzsKIAkJCWNvbnRpbnVlOwogCQl9Ci0JCWVyciA9IGNoYW5nZV9wYWdlX2F0dHJfc2V0KGFkZHJbaV0sIGxlbltpXSwKLQkJCQkJICAgICBfX3BncHJvdChfUEFHRV9HTE9CQUwpKTsKKwkJZXJyID0gY2hhbmdlX3BhZ2VfYXR0cl9jbGVhcihhZGRyW2ldLCBsZW5baV0sIFBBR0VfVEVTVEJJVCk7CiAJCWlmIChlcnIgPCAwKSB7CiAJCQlwcmludGsoS0VSTl9FUlIgIkNQQSByZXZlcnRpbmcgZmFpbGVkOiAlZFxuIiwgZXJyKTsKIAkJCWZhaWxlZCsrOwogCQl9CiAJCXB0ZSA9IGxvb2t1cF9hZGRyZXNzKGFkZHJbaV0sICZsZXZlbCk7Ci0JCWlmICghcHRlIHx8ICFwdGVfZ2xvYmFsKCpwdGUpKSB7CisJCWlmICghcHRlIHx8IHB0ZV90ZXN0Yml0KCpwdGUpKSB7CiAJCQlwcmludGsoS0VSTl9FUlIgIkNQQSAlbHg6IGJhZCBwdGUgYWZ0ZXIgcmV2ZXJ0ICVMeFxuIiwKIAkJCQlhZGRyW2ldLCBwdGUgPyAodTY0KXB0ZV92YWwoKnB0ZSkgOiAwVUxMKTsKIAkJCWZhaWxlZCsrOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbW0vcGFnZWF0dHIuYyBiL2FyY2gveDg2L21tL3BhZ2VhdHRyLmMKaW5kZXggNjBiY2I1Yi4uNjVjNmU0NiAxMDA2NDQKLS0tIGEvYXJjaC94ODYvbW0vcGFnZWF0dHIuYworKysgYi9hcmNoL3g4Ni9tbS9wYWdlYXR0ci5jCkBAIC0zNCw2ICszNCw0MSBAQAogCXVuc2lnbmVkCWZvcmNlX3NwbGl0IDogMTsKIH07CiAKKyNpZmRlZiBDT05GSUdfUFJPQ19GUworc3RhdGljIHVuc2lnbmVkIGxvbmcgZGlyZWN0X3BhZ2VzX2NvdW50W1BHX0xFVkVMX05VTV07CisKK3ZvaWQgdXBkYXRlX3BhZ2VfY291bnQoaW50IGxldmVsLCB1bnNpZ25lZCBsb25nIHBhZ2VzKQoreworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwkvKiBQcm90ZWN0IGFnYWluc3QgQ1BBICovCisJc3Bpbl9sb2NrX2lycXNhdmUoJnBnZF9sb2NrLCBmbGFncyk7CisJZGlyZWN0X3BhZ2VzX2NvdW50W2xldmVsXSArPSBwYWdlczsKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZwZ2RfbG9jaywgZmxhZ3MpOworfQorCitzdGF0aWMgdm9pZCBzcGxpdF9wYWdlX2NvdW50KGludCBsZXZlbCkKK3sKKwlkaXJlY3RfcGFnZXNfY291bnRbbGV2ZWxdLS07CisJZGlyZWN0X3BhZ2VzX2NvdW50W2xldmVsIC0gMV0gKz0gUFRSU19QRVJfUFRFOworfQorCitpbnQgYXJjaF9yZXBvcnRfbWVtaW5mbyhjaGFyICpwYWdlKQoreworCWludCBuID0gc3ByaW50ZihwYWdlLCAiRGlyZWN0TWFwNGs6ICAlOGx1XG4iCisJCQkiRGlyZWN0TWFwMk06ICAlOGx1XG4iLAorCQkJZGlyZWN0X3BhZ2VzX2NvdW50W1BHX0xFVkVMXzRLXSwKKwkJCWRpcmVjdF9wYWdlc19jb3VudFtQR19MRVZFTF8yTV0pOworI2lmZGVmIENPTkZJR19YODZfNjQKKwluICs9IHNwcmludGYocGFnZSArIG4sICJEaXJlY3RNYXAxRzogICU4bHVcbiIsCisJCSAgICAgZGlyZWN0X3BhZ2VzX2NvdW50W1BHX0xFVkVMXzFHXSk7CisjZW5kaWYKKwlyZXR1cm4gbjsKK30KKyNlbHNlCitzdGF0aWMgaW5saW5lIHZvaWQgc3BsaXRfcGFnZV9jb3VudChpbnQgbGV2ZWwpIHsgfQorI2VuZGlmCisKICNpZmRlZiBDT05GSUdfWDg2XzY0CiAKIHN0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyBoaWdobWFwX3N0YXJ0X3Bmbih2b2lkKQpAQCAtMTA2LDcgKzE0MSw3IEBACiB7CiAJQlVHX09OKGlycXNfZGlzYWJsZWQoKSk7CiAKLQlvbl9lYWNoX2NwdShfX2NwYV9mbHVzaF9hbGwsICh2b2lkICopIGNhY2hlLCAxLCAxKTsKKwlvbl9lYWNoX2NwdShfX2NwYV9mbHVzaF9hbGwsICh2b2lkICopIGNhY2hlLCAxKTsKIH0KIAogc3RhdGljIHZvaWQgX19jcGFfZmx1c2hfcmFuZ2Uodm9pZCAqYXJnKQpAQCAtMTI3LDcgKzE2Miw3IEBACiAJQlVHX09OKGlycXNfZGlzYWJsZWQoKSk7CiAJV0FSTl9PTihQQUdFX0FMSUdOKHN0YXJ0KSAhPSBzdGFydCk7CiAKLQlvbl9lYWNoX2NwdShfX2NwYV9mbHVzaF9yYW5nZSwgTlVMTCwgMSwgMSk7CisJb25fZWFjaF9jcHUoX19jcGFfZmx1c2hfcmFuZ2UsIE5VTEwsIDEpOwogCiAJaWYgKCFjYWNoZSkKIAkJcmV0dXJuOwpAQCAtMjI3LDYgKzI2Miw3IEBACiAKIAlyZXR1cm4gcHRlX29mZnNldF9rZXJuZWwocG1kLCBhZGRyZXNzKTsKIH0KK0VYUE9SVF9TWU1CT0xfR1BMKGxvb2t1cF9hZGRyZXNzKTsKIAogLyoKICAqIFNldCB0aGUgbmV3IHBtZCBpbiBhbGwgdGhlIHBnZHMgd2Uga25vdyBhYm91dDoKQEAgLTUwMCw2ICs1MzYsMTYgQEAKIAlmb3IgKGkgPSAwOyBpIDwgUFRSU19QRVJfUFRFOyBpKyssIHBmbiArPSBwZm5pbmMpCiAJCXNldF9wdGUoJnBiYXNlW2ldLCBwZm5fcHRlKHBmbiwgcmVmX3Byb3QpKTsKIAorCWlmIChhZGRyZXNzID49ICh1bnNpZ25lZCBsb25nKV9fdmEoMCkgJiYKKwkJYWRkcmVzcyA8ICh1bnNpZ25lZCBsb25nKV9fdmEobWF4X2xvd19wZm5fbWFwcGVkIDw8IFBBR0VfU0hJRlQpKQorCQlzcGxpdF9wYWdlX2NvdW50KGxldmVsKTsKKworI2lmZGVmIENPTkZJR19YODZfNjQKKwlpZiAoYWRkcmVzcyA+PSAodW5zaWduZWQgbG9uZylfX3ZhKDFVTDw8MzIpICYmCisJCWFkZHJlc3MgPCAodW5zaWduZWQgbG9uZylfX3ZhKG1heF9wZm5fbWFwcGVkIDw8IFBBR0VfU0hJRlQpKQorCQlzcGxpdF9wYWdlX2NvdW50KGxldmVsKTsKKyNlbmRpZgorCiAJLyoKIAkgKiBJbnN0YWxsIHRoZSBuZXcsIHNwbGl0IHVwIHBhZ2V0YWJsZS4gSW1wb3J0YW50IGRldGFpbHMgaGVyZToKIAkgKgpAQCAtNjEzLDE1ICs2NTksMjQgQEAKIAlzdHJ1Y3QgY3BhX2RhdGEgYWxpYXNfY3BhOwogCWludCByZXQgPSAwOwogCi0JaWYgKGNwYS0+cGZuID4gbWF4X3Bmbl9tYXBwZWQpCisJaWYgKGNwYS0+cGZuID49IG1heF9wZm5fbWFwcGVkKQogCQlyZXR1cm4gMDsKIAorI2lmZGVmIENPTkZJR19YODZfNjQKKwlpZiAoY3BhLT5wZm4gPj0gbWF4X2xvd19wZm5fbWFwcGVkICYmIGNwYS0+cGZuIDwgKDFVTDw8KDMyLVBBR0VfU0hJRlQpKSkKKwkJcmV0dXJuIDA7CisjZW5kaWYKIAkvKgogCSAqIE5vIG5lZWQgdG8gcmVkbywgd2hlbiB0aGUgcHJpbWFyeSBjYWxsIHRvdWNoZWQgdGhlIGRpcmVjdAogCSAqIG1hcHBpbmcgYWxyZWFkeToKIAkgKi8KLQlpZiAoIXdpdGhpbihjcGEtPnZhZGRyLCBQQUdFX09GRlNFVCwKLQkJICAgIFBBR0VfT0ZGU0VUICsgKG1heF9wZm5fbWFwcGVkIDw8IFBBR0VfU0hJRlQpKSkgeworCWlmICghKHdpdGhpbihjcGEtPnZhZGRyLCBQQUdFX09GRlNFVCwKKwkJICAgIFBBR0VfT0ZGU0VUICsgKG1heF9sb3dfcGZuX21hcHBlZCA8PCBQQUdFX1NISUZUKSkKKyNpZmRlZiBDT05GSUdfWDg2XzY0CisJCXx8IHdpdGhpbihjcGEtPnZhZGRyLCBQQUdFX09GRlNFVCArICgxVUw8PDMyKSwKKwkJICAgIFBBR0VfT0ZGU0VUICsgKG1heF9wZm5fbWFwcGVkIDw8IFBBR0VfU0hJRlQpKQorI2VuZGlmCisJKSkgewogCiAJCWFsaWFzX2NwYSA9ICpjcGE7CiAJCWFsaWFzX2NwYS52YWRkciA9ICh1bnNpZ25lZCBsb25nKSBfX3ZhKGNwYS0+cGZuIDw8IFBBR0VfU0hJRlQpOwpAQCAtODA1LDcgKzg2MCw3IEBACiAKIGludCBzZXRfbWVtb3J5X3djKHVuc2lnbmVkIGxvbmcgYWRkciwgaW50IG51bXBhZ2VzKQogewotCWlmICghcGF0X3djX2VuYWJsZWQpCisJaWYgKCFwYXRfZW5hYmxlZCkKIAkJcmV0dXJuIHNldF9tZW1vcnlfdWMoYWRkciwgbnVtcGFnZXMpOwogCiAJaWYgKHJlc2VydmVfbWVtdHlwZShhZGRyLCBhZGRyICsgbnVtcGFnZXMgKiBQQUdFX1NJWkUsCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tbS9wYXQuYyBiL2FyY2gveDg2L21tL3BhdC5jCmluZGV4IDA2YjdhMWMuLmQ0NTg1MDcgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L21tL3BhdC5jCisrKyBiL2FyY2gveDg2L21tL3BhdC5jCkBAIC0yNiwxMSArMjYsMTEgQEAKICNpbmNsdWRlIDxhc20vaW8uaD4KIAogI2lmZGVmIENPTkZJR19YODZfUEFUCi1pbnQgX19yZWFkX21vc3RseSBwYXRfd2NfZW5hYmxlZCA9IDE7CitpbnQgX19yZWFkX21vc3RseSBwYXRfZW5hYmxlZCA9IDE7CiAKIHZvaWQgX19jcHVpbml0IHBhdF9kaXNhYmxlKGNoYXIgKnJlYXNvbikKIHsKLQlwYXRfd2NfZW5hYmxlZCA9IDA7CisJcGF0X2VuYWJsZWQgPSAwOwogCXByaW50ayhLRVJOX0lORk8gIiVzXG4iLCByZWFzb24pOwogfQogCkBAIC00Miw2ICs0MiwxOSBAQAogZWFybHlfcGFyYW0oIm5vcGF0Iiwgbm9wYXQpOwogI2VuZGlmCiAKKworc3RhdGljIGludCBkZWJ1Z19lbmFibGU7CitzdGF0aWMgaW50IF9faW5pdCBwYXRfZGVidWdfc2V0dXAoY2hhciAqc3RyKQoreworCWRlYnVnX2VuYWJsZSA9IDE7CisJcmV0dXJuIDA7Cit9CitfX3NldHVwKCJkZWJ1Z3BhdCIsIHBhdF9kZWJ1Z19zZXR1cCk7CisKKyNkZWZpbmUgZHByaW50ayhmbXQsIGFyZy4uLikgXAorCWRvIHsgaWYgKGRlYnVnX2VuYWJsZSkgcHJpbnRrKEtFUk5fSU5GTyBmbXQsICMjYXJnKTsgfSB3aGlsZSAoMCkKKworCiBzdGF0aWMgdTY0IF9fcmVhZF9tb3N0bHkgYm9vdF9wYXRfc3RhdGU7CiAKIGVudW0gewpAQCAtNTMsMjQgKzY2LDI1IEBACiAJUEFUX1VDX01JTlVTID0gNywJLyogVUMsIGJ1dCBjYW4gYmUgb3ZlcnJpZGVuIGJ5IE1UUlIgKi8KIH07CiAKLSNkZWZpbmUgUEFUKHgseSkJKCh1NjQpUEFUXyAjIyB5IDw8ICgoeCkqOCkpCisjZGVmaW5lIFBBVCh4LCB5KQkoKHU2NClQQVRfICMjIHkgPDwgKCh4KSo4KSkKIAogdm9pZCBwYXRfaW5pdCh2b2lkKQogewogCXU2NCBwYXQ7CiAKLQlpZiAoIXBhdF93Y19lbmFibGVkKQorCWlmICghcGF0X2VuYWJsZWQpCiAJCXJldHVybjsKIAogCS8qIFBhcmFub2lhIGNoZWNrLiAqLwotCWlmICghY3B1X2hhc19wYXQpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJQQVQgZW5hYmxlZCwgYnV0IENQVSBmZWF0dXJlIGNsZWFyZWRcbiIpOworCWlmICghY3B1X2hhc19wYXQgJiYgYm9vdF9wYXRfc3RhdGUpIHsKIAkJLyoKLQkJICogUGFuaWMgaWYgdGhpcyBoYXBwZW5zIG9uIHRoZSBzZWNvbmRhcnkgQ1BVLCBhbmQgd2UKKwkJICogSWYgdGhpcyBoYXBwZW5zIHdlIGFyZSBvbiBhIHNlY29uZGFyeSBDUFUsIGJ1dAogCQkgKiBzd2l0Y2hlZCB0byBQQVQgb24gdGhlIGJvb3QgQ1BVLiBXZSBoYXZlIG5vIHdheSB0bwogCQkgKiB1bmRvIFBBVC4KLQkJKi8KLQkJQlVHX09OKGJvb3RfcGF0X3N0YXRlKTsKKwkJICovCisJCXByaW50ayhLRVJOX0VSUiAiUEFUIGVuYWJsZWQsICIKKwkJICAgICAgICJidXQgbm90IHN1cHBvcnRlZCBieSBzZWNvbmRhcnkgQ1BVXG4iKTsKKwkJQlVHKCk7CiAJfQogCiAJLyogU2V0IFBXVCB0byBXcml0ZS1Db21iaW5pbmcuIEFsbCBvdGhlciBiaXRzIHN0YXkgdGhlIHNhbWUgKi8KQEAgLTg2LDggKzEwMCw4IEBACiAJICogICAgICAwMTEgVUMJCV9QQUdFX0NBQ0hFX1VDCiAJICogUEFUIGJpdCB1bnVzZWQKIAkgKi8KLQlwYXQgPSBQQVQoMCxXQikgfCBQQVQoMSxXQykgfCBQQVQoMixVQ19NSU5VUykgfCBQQVQoMyxVQykgfAotCSAgICAgIFBBVCg0LFdCKSB8IFBBVCg1LFdDKSB8IFBBVCg2LFVDX01JTlVTKSB8IFBBVCg3LFVDKTsKKwlwYXQgPSBQQVQoMCwgV0IpIHwgUEFUKDEsIFdDKSB8IFBBVCgyLCBVQ19NSU5VUykgfCBQQVQoMywgVUMpIHwKKwkgICAgICBQQVQoNCwgV0IpIHwgUEFUKDUsIFdDKSB8IFBBVCg2LCBVQ19NSU5VUykgfCBQQVQoNywgVUMpOwogCiAJLyogQm9vdCBDUFUgY2hlY2sgKi8KIAlpZiAoIWJvb3RfcGF0X3N0YXRlKQpAQCAtMTAzLDExICsxMTcsMTEgQEAKIHN0YXRpYyBjaGFyICpjYXR0cl9uYW1lKHVuc2lnbmVkIGxvbmcgZmxhZ3MpCiB7CiAJc3dpdGNoIChmbGFncyAmIF9QQUdFX0NBQ0hFX01BU0spIHsKLQkJY2FzZSBfUEFHRV9DQUNIRV9VQzoJCXJldHVybiAidW5jYWNoZWQiOwotCQljYXNlIF9QQUdFX0NBQ0hFX1VDX01JTlVTOglyZXR1cm4gInVuY2FjaGVkLW1pbnVzIjsKLQkJY2FzZSBfUEFHRV9DQUNIRV9XQjoJCXJldHVybiAid3JpdGUtYmFjayI7Ci0JCWNhc2UgX1BBR0VfQ0FDSEVfV0M6CQlyZXR1cm4gIndyaXRlLWNvbWJpbmluZyI7Ci0JCWRlZmF1bHQ6CQkJcmV0dXJuICJicm9rZW4iOworCWNhc2UgX1BBR0VfQ0FDSEVfVUM6CQlyZXR1cm4gInVuY2FjaGVkIjsKKwljYXNlIF9QQUdFX0NBQ0hFX1VDX01JTlVTOglyZXR1cm4gInVuY2FjaGVkLW1pbnVzIjsKKwljYXNlIF9QQUdFX0NBQ0hFX1dCOgkJcmV0dXJuICJ3cml0ZS1iYWNrIjsKKwljYXNlIF9QQUdFX0NBQ0hFX1dDOgkJcmV0dXJuICJ3cml0ZS1jb21iaW5pbmciOworCWRlZmF1bHQ6CQkJcmV0dXJuICJicm9rZW4iOwogCX0KIH0KIApAQCAtMTQ1LDQ3ICsxNTksNTAgQEAKICAqIFRoZSBpbnRlcnNlY3Rpb24gaXMgYmFzZWQgb24gIkVmZmVjdGl2ZSBNZW1vcnkgVHlwZSIgdGFibGVzIGluIElBLTMyCiAgKiBTRE0gdm9sIDNhCiAgKi8KLXN0YXRpYyBpbnQgcGF0X3hfbXRycl90eXBlKHU2NCBzdGFydCwgdTY0IGVuZCwgdW5zaWduZWQgbG9uZyBwcm90LAotCQkJCXVuc2lnbmVkIGxvbmcgKnJldF9wcm90KQorc3RhdGljIHVuc2lnbmVkIGxvbmcgcGF0X3hfbXRycl90eXBlKHU2NCBzdGFydCwgdTY0IGVuZCwgdW5zaWduZWQgbG9uZyByZXFfdHlwZSkKIHsKLQl1bnNpZ25lZCBsb25nIHBhdF90eXBlOwotCXU4IG10cnJfdHlwZTsKLQotCXBhdF90eXBlID0gcHJvdCAmIF9QQUdFX0NBQ0hFX01BU0s7Ci0JcHJvdCAmPSAofl9QQUdFX0NBQ0hFX01BU0spOwotCi0JLyoKLQkgKiBXZSByZXR1cm4gdGhlIFBBVCByZXF1ZXN0IGRpcmVjdGx5IGZvciB0eXBlcyB3aGVyZSBQQVQgdGFrZXMKLQkgKiBwcmVjZWRlbmNlIHdpdGggcmVzcGVjdCB0byBNVFJSIGFuZCBmb3IgVUNfTUlOVVMuCi0JICogQ29uc2lzdGVuY3kgY2hlY2tzIHdpdGggb3RoZXIgUEFUIHJlcXVlc3RzIGlzIGRvbmUgbGF0ZXIKLQkgKiB3aGlsZSBnb2luZyB0aHJvdWdoIG1lbXR5cGUgbGlzdC4KLQkgKi8KLQlpZiAocGF0X3R5cGUgPT0gX1BBR0VfQ0FDSEVfV0MpIHsKLQkJKnJldF9wcm90ID0gcHJvdCB8IF9QQUdFX0NBQ0hFX1dDOwotCQlyZXR1cm4gMDsKLQl9IGVsc2UgaWYgKHBhdF90eXBlID09IF9QQUdFX0NBQ0hFX1VDX01JTlVTKSB7Ci0JCSpyZXRfcHJvdCA9IHByb3QgfCBfUEFHRV9DQUNIRV9VQ19NSU5VUzsKLQkJcmV0dXJuIDA7Ci0JfSBlbHNlIGlmIChwYXRfdHlwZSA9PSBfUEFHRV9DQUNIRV9VQykgewotCQkqcmV0X3Byb3QgPSBwcm90IHwgX1BBR0VfQ0FDSEVfVUM7Ci0JCXJldHVybiAwOwotCX0KLQogCS8qCiAJICogTG9vayBmb3IgTVRSUiBoaW50IHRvIGdldCB0aGUgZWZmZWN0aXZlIHR5cGUgaW4gY2FzZSB3aGVyZSBQQVQKIAkgKiByZXF1ZXN0IGlzIGZvciBXQi4KIAkgKi8KLQltdHJyX3R5cGUgPSBtdHJyX3R5cGVfbG9va3VwKHN0YXJ0LCBlbmQpOworCWlmIChyZXFfdHlwZSA9PSBfUEFHRV9DQUNIRV9XQikgeworCQl1OCBtdHJyX3R5cGU7CiAKLQlpZiAobXRycl90eXBlID09IE1UUlJfVFlQRV9VTkNBQ0hBQkxFKSB7Ci0JCSpyZXRfcHJvdCA9IHByb3QgfCBfUEFHRV9DQUNIRV9VQzsKLQl9IGVsc2UgaWYgKG10cnJfdHlwZSA9PSBNVFJSX1RZUEVfV1JDT01CKSB7Ci0JCSpyZXRfcHJvdCA9IHByb3QgfCBfUEFHRV9DQUNIRV9XQzsKLQl9IGVsc2UgewotCQkqcmV0X3Byb3QgPSBwcm90IHwgX1BBR0VfQ0FDSEVfV0I7CisJCW10cnJfdHlwZSA9IG10cnJfdHlwZV9sb29rdXAoc3RhcnQsIGVuZCk7CisJCWlmIChtdHJyX3R5cGUgPT0gTVRSUl9UWVBFX1VOQ0FDSEFCTEUpCisJCQlyZXR1cm4gX1BBR0VfQ0FDSEVfVUM7CisJCWlmIChtdHJyX3R5cGUgPT0gTVRSUl9UWVBFX1dSQ09NQikKKwkJCXJldHVybiBfUEFHRV9DQUNIRV9XQzsKIAl9CiAKKwlyZXR1cm4gcmVxX3R5cGU7Cit9CisKK3N0YXRpYyBpbnQgY2hrX2NvbmZsaWN0KHN0cnVjdCBtZW10eXBlICpuZXcsIHN0cnVjdCBtZW10eXBlICplbnRyeSwKKwkJCXVuc2lnbmVkIGxvbmcgKnR5cGUpCit7CisJaWYgKG5ldy0+dHlwZSAhPSBlbnRyeS0+dHlwZSkgeworCQlpZiAodHlwZSkgeworCQkJbmV3LT50eXBlID0gZW50cnktPnR5cGU7CisJCQkqdHlwZSA9IGVudHJ5LT50eXBlOworCQl9IGVsc2UKKwkJCWdvdG8gY29uZmxpY3Q7CisJfQorCisJIC8qIGNoZWNrIG92ZXJsYXBzIHdpdGggbW9yZSB0aGFuIG9uZSBlbnRyeSBpbiB0aGUgbGlzdCAqLworCWxpc3RfZm9yX2VhY2hfZW50cnlfY29udGludWUoZW50cnksICZtZW10eXBlX2xpc3QsIG5kKSB7CisJCWlmIChuZXctPmVuZCA8PSBlbnRyeS0+c3RhcnQpCisJCQlicmVhazsKKwkJZWxzZSBpZiAobmV3LT50eXBlICE9IGVudHJ5LT50eXBlKQorCQkJZ290byBjb25mbGljdDsKKwl9CiAJcmV0dXJuIDA7CisKKyBjb25mbGljdDoKKwlwcmludGsoS0VSTl9JTkZPICIlczolZCBjb25mbGljdGluZyBtZW1vcnkgdHlwZXMgIgorCSAgICAgICAiJUx4LSVMeCAlczwtPiVzXG4iLCBjdXJyZW50LT5jb21tLCBjdXJyZW50LT5waWQsIG5ldy0+c3RhcnQsCisJICAgICAgIG5ldy0+ZW5kLCBjYXR0cl9uYW1lKG5ldy0+dHlwZSksIGNhdHRyX25hbWUoZW50cnktPnR5cGUpKTsKKwlyZXR1cm4gLUVCVVNZOwogfQogCiAvKgpAQCAtMTk4LDM3ICsyMTUsMzYgQEAKICAqIHJlcV90eXBlIHdpbGwgaGF2ZSBhIHNwZWNpYWwgY2FzZSB2YWx1ZSAnLTEnLCB3aGVuIHJlcXVlc3RlciB3YW50IHRvIGluaGVyaXQKICAqIHRoZSBtZW1vcnkgdHlwZSBmcm9tIG10cnIgKGlmIFdCKSwgZXhpc3RpbmcgUEFULCBkZWZhdWx0aW5nIHRvIFVDX01JTlVTLgogICoKLSAqIElmIHJldF90eXBlIGlzIE5VTEwsIGZ1bmN0aW9uIHdpbGwgcmV0dXJuIGFuIGVycm9yIGlmIGl0IGNhbm5vdCByZXNlcnZlIHRoZQotICogcmVnaW9uIHdpdGggcmVxX3R5cGUuIElmIHJldF90eXBlIGlzIG5vbi1udWxsLCBmdW5jdGlvbiB3aWxsIHJldHVybgotICogYXZhaWxhYmxlIHR5cGUgaW4gcmV0X3R5cGUgaW4gY2FzZSBvZiBubyBlcnJvci4gSW4gY2FzZSBvZiBhbnkgZXJyb3IKKyAqIElmIG5ld190eXBlIGlzIE5VTEwsIGZ1bmN0aW9uIHdpbGwgcmV0dXJuIGFuIGVycm9yIGlmIGl0IGNhbm5vdCByZXNlcnZlIHRoZQorICogcmVnaW9uIHdpdGggcmVxX3R5cGUuIElmIG5ld190eXBlIGlzIG5vbi1OVUxMLCBmdW5jdGlvbiB3aWxsIHJldHVybgorICogYXZhaWxhYmxlIHR5cGUgaW4gbmV3X3R5cGUgaW4gY2FzZSBvZiBubyBlcnJvci4gSW4gY2FzZSBvZiBhbnkgZXJyb3IKICAqIGl0IHdpbGwgcmV0dXJuIGEgbmVnYXRpdmUgcmV0dXJuIHZhbHVlLgogICovCiBpbnQgcmVzZXJ2ZV9tZW10eXBlKHU2NCBzdGFydCwgdTY0IGVuZCwgdW5zaWduZWQgbG9uZyByZXFfdHlwZSwKLQkJCXVuc2lnbmVkIGxvbmcgKnJldF90eXBlKQorCQkJdW5zaWduZWQgbG9uZyAqbmV3X3R5cGUpCiB7Ci0Jc3RydWN0IG1lbXR5cGUgKm5ld19lbnRyeSA9IE5VTEw7Ci0Jc3RydWN0IG1lbXR5cGUgKnBhcnNlOworCXN0cnVjdCBtZW10eXBlICpuZXcsICplbnRyeTsKIAl1bnNpZ25lZCBsb25nIGFjdHVhbF90eXBlOworCXN0cnVjdCBsaXN0X2hlYWQgKndoZXJlOwogCWludCBlcnIgPSAwOwogCi0JLyogT25seSB0cmFjayB3aGVuIHBhdF93Y19lbmFibGVkICovCi0JaWYgKCFwYXRfd2NfZW5hYmxlZCkgeworIAlCVUdfT04oc3RhcnQgPj0gZW5kKTsgLyogZW5kIGlzIGV4Y2x1c2l2ZSAqLworCisJaWYgKCFwYXRfZW5hYmxlZCkgewogCQkvKiBUaGlzIGlzIGlkZW50aWNhbCB0byBwYWdlIHRhYmxlIHNldHRpbmcgd2l0aG91dCBQQVQgKi8KLQkJaWYgKHJldF90eXBlKSB7Ci0JCQlpZiAocmVxX3R5cGUgPT0gLTEpIHsKLQkJCQkqcmV0X3R5cGUgPSBfUEFHRV9DQUNIRV9XQjsKLQkJCX0gZWxzZSB7Ci0JCQkJKnJldF90eXBlID0gcmVxX3R5cGU7Ci0JCQl9CisJCWlmIChuZXdfdHlwZSkgeworCQkJaWYgKHJlcV90eXBlID09IC0xKQorCQkJCSpuZXdfdHlwZSA9IF9QQUdFX0NBQ0hFX1dCOworCQkJZWxzZQorCQkJCSpuZXdfdHlwZSA9IHJlcV90eXBlICYgX1BBR0VfQ0FDSEVfTUFTSzsKIAkJfQogCQlyZXR1cm4gMDsKIAl9CiAKIAkvKiBMb3cgSVNBIHJlZ2lvbiBpcyBhbHdheXMgbWFwcGVkIFdCIGluIHBhZ2UgdGFibGUuIE5vIG5lZWQgdG8gdHJhY2sgKi8KLQlpZiAoc3RhcnQgPj0gSVNBX1NUQVJUX0FERFJFU1MgJiYgKGVuZCAtIDEpIDw9IElTQV9FTkRfQUREUkVTUykgewotCQlpZiAocmV0X3R5cGUpCi0JCQkqcmV0X3R5cGUgPSBfUEFHRV9DQUNIRV9XQjsKLQorCWlmIChpc19JU0FfcmFuZ2Uoc3RhcnQsIGVuZCAtIDEpKSB7CisJCWlmIChuZXdfdHlwZSkKKwkJCSpuZXdfdHlwZSA9IF9QQUdFX0NBQ0hFX1dCOwogCQlyZXR1cm4gMDsKIAl9CiAKQEAgLTI0MSwyMDYgKzI1Nyw5MiBAQAogCQkgKi8KIAkJdTggbXRycl90eXBlID0gbXRycl90eXBlX2xvb2t1cChzdGFydCwgZW5kKTsKIAotCQlpZiAobXRycl90eXBlID09IE1UUlJfVFlQRV9XUkJBQ0spIHsKLQkJCXJlcV90eXBlID0gX1BBR0VfQ0FDSEVfV0I7CisJCWlmIChtdHJyX3R5cGUgPT0gTVRSUl9UWVBFX1dSQkFDSykKIAkJCWFjdHVhbF90eXBlID0gX1BBR0VfQ0FDSEVfV0I7Ci0JCX0gZWxzZSB7Ci0JCQlyZXFfdHlwZSA9IF9QQUdFX0NBQ0hFX1VDX01JTlVTOworCQllbHNlCiAJCQlhY3R1YWxfdHlwZSA9IF9QQUdFX0NBQ0hFX1VDX01JTlVTOwotCQl9Ci0JfSBlbHNlIHsKLQkJcmVxX3R5cGUgJj0gX1BBR0VfQ0FDSEVfTUFTSzsKLQkJZXJyID0gcGF0X3hfbXRycl90eXBlKHN0YXJ0LCBlbmQsIHJlcV90eXBlLCAmYWN0dWFsX3R5cGUpOwotCX0KKwl9IGVsc2UKKwkJYWN0dWFsX3R5cGUgPSBwYXRfeF9tdHJyX3R5cGUoc3RhcnQsIGVuZCwKKwkJCQkJICAgICAgcmVxX3R5cGUgJiBfUEFHRV9DQUNIRV9NQVNLKTsKIAotCWlmIChlcnIpIHsKLQkJaWYgKHJldF90eXBlKQotCQkJKnJldF90eXBlID0gYWN0dWFsX3R5cGU7Ci0KLQkJcmV0dXJuIC1FSU5WQUw7Ci0JfQotCi0JbmV3X2VudHJ5ICA9IGttYWxsb2Moc2l6ZW9mKHN0cnVjdCBtZW10eXBlKSwgR0ZQX0tFUk5FTCk7Ci0JaWYgKCFuZXdfZW50cnkpCisJbmV3ICA9IGttYWxsb2Moc2l6ZW9mKHN0cnVjdCBtZW10eXBlKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFuZXcpCiAJCXJldHVybiAtRU5PTUVNOwogCi0JbmV3X2VudHJ5LT5zdGFydCA9IHN0YXJ0OwotCW5ld19lbnRyeS0+ZW5kID0gZW5kOwotCW5ld19lbnRyeS0+dHlwZSA9IGFjdHVhbF90eXBlOworCW5ldy0+c3RhcnQgPSBzdGFydDsKKwluZXctPmVuZCA9IGVuZDsKKwluZXctPnR5cGUgPSBhY3R1YWxfdHlwZTsKIAotCWlmIChyZXRfdHlwZSkKLQkJKnJldF90eXBlID0gYWN0dWFsX3R5cGU7CisJaWYgKG5ld190eXBlKQorCQkqbmV3X3R5cGUgPSBhY3R1YWxfdHlwZTsKIAogCXNwaW5fbG9jaygmbWVtdHlwZV9sb2NrKTsKIAogCS8qIFNlYXJjaCBmb3IgZXhpc3RpbmcgbWFwcGluZyB0aGF0IG92ZXJsYXBzIHRoZSBjdXJyZW50IHJhbmdlICovCi0JbGlzdF9mb3JfZWFjaF9lbnRyeShwYXJzZSwgJm1lbXR5cGVfbGlzdCwgbmQpIHsKLQkJc3RydWN0IG1lbXR5cGUgKnNhdmVkX3B0cjsKLQotCQlpZiAocGFyc2UtPnN0YXJ0ID49IGVuZCkgewotCQkJcHJfZGVidWcoIk5ldyBFbnRyeVxuIik7Ci0JCQlsaXN0X2FkZCgmbmV3X2VudHJ5LT5uZCwgcGFyc2UtPm5kLnByZXYpOwotCQkJbmV3X2VudHJ5ID0gTlVMTDsKKwl3aGVyZSA9IE5VTEw7CisJbGlzdF9mb3JfZWFjaF9lbnRyeShlbnRyeSwgJm1lbXR5cGVfbGlzdCwgbmQpIHsKKwkJaWYgKGVuZCA8PSBlbnRyeS0+c3RhcnQpIHsKKwkJCXdoZXJlID0gZW50cnktPm5kLnByZXY7CiAJCQlicmVhazsKLQkJfQotCi0JCWlmIChzdGFydCA8PSBwYXJzZS0+c3RhcnQgJiYgZW5kID49IHBhcnNlLT5zdGFydCkgewotCQkJaWYgKGFjdHVhbF90eXBlICE9IHBhcnNlLT50eXBlICYmIHJldF90eXBlKSB7Ci0JCQkJYWN0dWFsX3R5cGUgPSBwYXJzZS0+dHlwZTsKLQkJCQkqcmV0X3R5cGUgPSBhY3R1YWxfdHlwZTsKLQkJCQluZXdfZW50cnktPnR5cGUgPSBhY3R1YWxfdHlwZTsKKwkJfSBlbHNlIGlmIChzdGFydCA8PSBlbnRyeS0+c3RhcnQpIHsgLyogZW5kID4gZW50cnktPnN0YXJ0ICovCisJCQllcnIgPSBjaGtfY29uZmxpY3QobmV3LCBlbnRyeSwgbmV3X3R5cGUpOworCQkJaWYgKCFlcnIpIHsKKwkJCQlkcHJpbnRrKCJPdmVybGFwIGF0IDB4JUx4LTB4JUx4XG4iLAorCQkJCQllbnRyeS0+c3RhcnQsIGVudHJ5LT5lbmQpOworCQkJCXdoZXJlID0gZW50cnktPm5kLnByZXY7CiAJCQl9Ci0KLQkJCWlmIChhY3R1YWxfdHlwZSAhPSBwYXJzZS0+dHlwZSkgewotCQkJCXByaW50aygKLQkJS0VSTl9JTkZPICIlczolZCBjb25mbGljdGluZyBtZW1vcnkgdHlwZXMgJUx4LSVMeCAlczwtPiVzXG4iLAotCQkJCQljdXJyZW50LT5jb21tLCBjdXJyZW50LT5waWQsCi0JCQkJCXN0YXJ0LCBlbmQsCi0JCQkJCWNhdHRyX25hbWUoYWN0dWFsX3R5cGUpLAotCQkJCQljYXR0cl9uYW1lKHBhcnNlLT50eXBlKSk7Ci0JCQkJZXJyID0gLUVCVVNZOwotCQkJCWJyZWFrOwotCQkJfQotCi0JCQlzYXZlZF9wdHIgPSBwYXJzZTsKLQkJCS8qCi0JCQkgKiBDaGVjayB0byBzZWUgd2hldGhlciB0aGUgcmVxdWVzdCBvdmVybGFwcyBtb3JlCi0JCQkgKiB0aGFuIG9uZSBlbnRyeSBpbiB0aGUgbGlzdAotCQkJICovCi0JCQlsaXN0X2Zvcl9lYWNoX2VudHJ5X2NvbnRpbnVlKHBhcnNlLCAmbWVtdHlwZV9saXN0LCBuZCkgewotCQkJCWlmIChlbmQgPD0gcGFyc2UtPnN0YXJ0KSB7Ci0JCQkJCWJyZWFrOwotCQkJCX0KLQotCQkJCWlmIChhY3R1YWxfdHlwZSAhPSBwYXJzZS0+dHlwZSkgewotCQkJCQlwcmludGsoCi0JCUtFUk5fSU5GTyAiJXM6JWQgY29uZmxpY3RpbmcgbWVtb3J5IHR5cGVzICVMeC0lTHggJXM8LT4lc1xuIiwKLQkJCQkJCWN1cnJlbnQtPmNvbW0sIGN1cnJlbnQtPnBpZCwKLQkJCQkJCXN0YXJ0LCBlbmQsCi0JCQkJCQljYXR0cl9uYW1lKGFjdHVhbF90eXBlKSwKLQkJCQkJCWNhdHRyX25hbWUocGFyc2UtPnR5cGUpKTsKLQkJCQkJZXJyID0gLUVCVVNZOwotCQkJCQlicmVhazsKLQkJCQl9Ci0JCQl9Ci0KLQkJCWlmIChlcnIpIHsKLQkJCQlicmVhazsKLQkJCX0KLQotCQkJcHJfZGVidWcoIk92ZXJsYXAgYXQgMHglTHgtMHglTHhcbiIsCi0JCQkgICAgICAgc2F2ZWRfcHRyLT5zdGFydCwgc2F2ZWRfcHRyLT5lbmQpOwotCQkJLyogTm8gY29uZmxpY3QuIEdvIGFoZWFkIGFuZCBhZGQgdGhpcyBuZXcgZW50cnkgKi8KLQkJCWxpc3RfYWRkKCZuZXdfZW50cnktPm5kLCBzYXZlZF9wdHItPm5kLnByZXYpOwotCQkJbmV3X2VudHJ5ID0gTlVMTDsKIAkJCWJyZWFrOwotCQl9Ci0KLQkJaWYgKHN0YXJ0IDwgcGFyc2UtPmVuZCkgewotCQkJaWYgKGFjdHVhbF90eXBlICE9IHBhcnNlLT50eXBlICYmIHJldF90eXBlKSB7Ci0JCQkJYWN0dWFsX3R5cGUgPSBwYXJzZS0+dHlwZTsKLQkJCQkqcmV0X3R5cGUgPSBhY3R1YWxfdHlwZTsKLQkJCQluZXdfZW50cnktPnR5cGUgPSBhY3R1YWxfdHlwZTsKKwkJfSBlbHNlIGlmIChzdGFydCA8IGVudHJ5LT5lbmQpIHsgLyogc3RhcnQgPiBlbnRyeS0+c3RhcnQgKi8KKwkJCWVyciA9IGNoa19jb25mbGljdChuZXcsIGVudHJ5LCBuZXdfdHlwZSk7CisJCQlpZiAoIWVycikgeworCQkJCWRwcmludGsoIk92ZXJsYXAgYXQgMHglTHgtMHglTHhcbiIsCisJCQkJCWVudHJ5LT5zdGFydCwgZW50cnktPmVuZCk7CisJCQkJd2hlcmUgPSAmZW50cnktPm5kOwogCQkJfQotCi0JCQlpZiAoYWN0dWFsX3R5cGUgIT0gcGFyc2UtPnR5cGUpIHsKLQkJCQlwcmludGsoCi0JCUtFUk5fSU5GTyAiJXM6JWQgY29uZmxpY3RpbmcgbWVtb3J5IHR5cGVzICVMeC0lTHggJXM8LT4lc1xuIiwKLQkJCQkJY3VycmVudC0+Y29tbSwgY3VycmVudC0+cGlkLAotCQkJCQlzdGFydCwgZW5kLAotCQkJCQljYXR0cl9uYW1lKGFjdHVhbF90eXBlKSwKLQkJCQkJY2F0dHJfbmFtZShwYXJzZS0+dHlwZSkpOwotCQkJCWVyciA9IC1FQlVTWTsKLQkJCQlicmVhazsKLQkJCX0KLQotCQkJc2F2ZWRfcHRyID0gcGFyc2U7Ci0JCQkvKgotCQkJICogQ2hlY2sgdG8gc2VlIHdoZXRoZXIgdGhlIHJlcXVlc3Qgb3ZlcmxhcHMgbW9yZQotCQkJICogdGhhbiBvbmUgZW50cnkgaW4gdGhlIGxpc3QKLQkJCSAqLwotCQkJbGlzdF9mb3JfZWFjaF9lbnRyeV9jb250aW51ZShwYXJzZSwgJm1lbXR5cGVfbGlzdCwgbmQpIHsKLQkJCQlpZiAoZW5kIDw9IHBhcnNlLT5zdGFydCkgewotCQkJCQlicmVhazsKLQkJCQl9Ci0KLQkJCQlpZiAoYWN0dWFsX3R5cGUgIT0gcGFyc2UtPnR5cGUpIHsKLQkJCQkJcHJpbnRrKAotCQlLRVJOX0lORk8gIiVzOiVkIGNvbmZsaWN0aW5nIG1lbW9yeSB0eXBlcyAlTHgtJUx4ICVzPC0+JXNcbiIsCi0JCQkJCQljdXJyZW50LT5jb21tLCBjdXJyZW50LT5waWQsCi0JCQkJCQlzdGFydCwgZW5kLAotCQkJCQkJY2F0dHJfbmFtZShhY3R1YWxfdHlwZSksCi0JCQkJCQljYXR0cl9uYW1lKHBhcnNlLT50eXBlKSk7Ci0JCQkJCWVyciA9IC1FQlVTWTsKLQkJCQkJYnJlYWs7Ci0JCQkJfQotCQkJfQotCi0JCQlpZiAoZXJyKSB7Ci0JCQkJYnJlYWs7Ci0JCQl9Ci0KLQkJCXByX2RlYnVnKEtFUk5fSU5GTyAiT3ZlcmxhcCBhdCAweCVMeC0weCVMeFxuIiwKLQkJCQkgc2F2ZWRfcHRyLT5zdGFydCwgc2F2ZWRfcHRyLT5lbmQpOwotCQkJLyogTm8gY29uZmxpY3QuIEdvIGFoZWFkIGFuZCBhZGQgdGhpcyBuZXcgZW50cnkgKi8KLQkJCWxpc3RfYWRkKCZuZXdfZW50cnktPm5kLCAmc2F2ZWRfcHRyLT5uZCk7Ci0JCQluZXdfZW50cnkgPSBOVUxMOwogCQkJYnJlYWs7CiAJCX0KIAl9CiAKIAlpZiAoZXJyKSB7Ci0JCXByaW50ayhLRVJOX0lORk8KLQkicmVzZXJ2ZV9tZW10eXBlIGZhaWxlZCAweCVMeC0weCVMeCwgdHJhY2sgJXMsIHJlcSAlc1xuIiwKLQkJCXN0YXJ0LCBlbmQsIGNhdHRyX25hbWUobmV3X2VudHJ5LT50eXBlKSwKLQkJCWNhdHRyX25hbWUocmVxX3R5cGUpKTsKLQkJa2ZyZWUobmV3X2VudHJ5KTsKKwkJcHJpbnRrKEtFUk5fSU5GTyAicmVzZXJ2ZV9tZW10eXBlIGZhaWxlZCAweCVMeC0weCVMeCwgIgorCQkgICAgICAgInRyYWNrICVzLCByZXEgJXNcbiIsCisJCSAgICAgICBzdGFydCwgZW5kLCBjYXR0cl9uYW1lKG5ldy0+dHlwZSksIGNhdHRyX25hbWUocmVxX3R5cGUpKTsKKwkJa2ZyZWUobmV3KTsKIAkJc3Bpbl91bmxvY2soJm1lbXR5cGVfbG9jayk7CiAJCXJldHVybiBlcnI7CiAJfQogCi0JaWYgKG5ld19lbnRyeSkgewotCQkvKiBObyBjb25mbGljdC4gTm90IHlldCBhZGRlZCB0byB0aGUgbGlzdC4gQWRkIHRvIHRoZSB0YWlsICovCi0JCWxpc3RfYWRkX3RhaWwoJm5ld19lbnRyeS0+bmQsICZtZW10eXBlX2xpc3QpOwotCQlwcl9kZWJ1ZygiTmV3IEVudHJ5XG4iKTsKLQl9Ci0KLQlpZiAocmV0X3R5cGUpIHsKLQkJcHJfZGVidWcoCi0JInJlc2VydmVfbWVtdHlwZSBhZGRlZCAweCVMeC0weCVMeCwgdHJhY2sgJXMsIHJlcSAlcywgcmV0ICVzXG4iLAotCQkJc3RhcnQsIGVuZCwgY2F0dHJfbmFtZShhY3R1YWxfdHlwZSksCi0JCQljYXR0cl9uYW1lKHJlcV90eXBlKSwgY2F0dHJfbmFtZSgqcmV0X3R5cGUpKTsKLQl9IGVsc2UgewotCQlwcl9kZWJ1ZygKLQkicmVzZXJ2ZV9tZW10eXBlIGFkZGVkIDB4JUx4LTB4JUx4LCB0cmFjayAlcywgcmVxICVzXG4iLAotCQkJc3RhcnQsIGVuZCwgY2F0dHJfbmFtZShhY3R1YWxfdHlwZSksCi0JCQljYXR0cl9uYW1lKHJlcV90eXBlKSk7Ci0JfQorCWlmICh3aGVyZSkKKwkJbGlzdF9hZGQoJm5ldy0+bmQsIHdoZXJlKTsKKwllbHNlCisJCWxpc3RfYWRkX3RhaWwoJm5ldy0+bmQsICZtZW10eXBlX2xpc3QpOwogCiAJc3Bpbl91bmxvY2soJm1lbXR5cGVfbG9jayk7CisKKwlkcHJpbnRrKCJyZXNlcnZlX21lbXR5cGUgYWRkZWQgMHglTHgtMHglTHgsIHRyYWNrICVzLCByZXEgJXMsIHJldCAlc1xuIiwKKwkJc3RhcnQsIGVuZCwgY2F0dHJfbmFtZShuZXctPnR5cGUpLCBjYXR0cl9uYW1lKHJlcV90eXBlKSwKKwkJbmV3X3R5cGUgPyBjYXR0cl9uYW1lKCpuZXdfdHlwZSkgOiAiLSIpOworCiAJcmV0dXJuIGVycjsKIH0KIAogaW50IGZyZWVfbWVtdHlwZSh1NjQgc3RhcnQsIHU2NCBlbmQpCiB7Ci0Jc3RydWN0IG1lbXR5cGUgKm1sOworCXN0cnVjdCBtZW10eXBlICplbnRyeTsKIAlpbnQgZXJyID0gLUVJTlZBTDsKIAotCS8qIE9ubHkgdHJhY2sgd2hlbiBwYXRfd2NfZW5hYmxlZCAqLwotCWlmICghcGF0X3djX2VuYWJsZWQpIHsKKwlpZiAoIXBhdF9lbmFibGVkKQogCQlyZXR1cm4gMDsKLQl9CiAKIAkvKiBMb3cgSVNBIHJlZ2lvbiBpcyBhbHdheXMgbWFwcGVkIFdCLiBObyBuZWVkIHRvIHRyYWNrICovCi0JaWYgKHN0YXJ0ID49IElTQV9TVEFSVF9BRERSRVNTICYmIGVuZCA8PSBJU0FfRU5EX0FERFJFU1MpIHsKKwlpZiAoaXNfSVNBX3JhbmdlKHN0YXJ0LCBlbmQgLSAxKSkKIAkJcmV0dXJuIDA7Ci0JfQogCiAJc3Bpbl9sb2NrKCZtZW10eXBlX2xvY2spOwotCWxpc3RfZm9yX2VhY2hfZW50cnkobWwsICZtZW10eXBlX2xpc3QsIG5kKSB7Ci0JCWlmIChtbC0+c3RhcnQgPT0gc3RhcnQgJiYgbWwtPmVuZCA9PSBlbmQpIHsKLQkJCWxpc3RfZGVsKCZtbC0+bmQpOwotCQkJa2ZyZWUobWwpOworCWxpc3RfZm9yX2VhY2hfZW50cnkoZW50cnksICZtZW10eXBlX2xpc3QsIG5kKSB7CisJCWlmIChlbnRyeS0+c3RhcnQgPT0gc3RhcnQgJiYgZW50cnktPmVuZCA9PSBlbmQpIHsKKwkJCWxpc3RfZGVsKCZlbnRyeS0+bmQpOworCQkJa2ZyZWUoZW50cnkpOwogCQkJZXJyID0gMDsKIAkJCWJyZWFrOwogCQl9CkBAIC00NTIsNyArMzU0LDcgQEAKIAkJCWN1cnJlbnQtPmNvbW0sIGN1cnJlbnQtPnBpZCwgc3RhcnQsIGVuZCk7CiAJfQogCi0JcHJfZGVidWcoImZyZWVfbWVtdHlwZSByZXF1ZXN0IDB4JUx4LTB4JUx4XG4iLCBzdGFydCwgZW5kKTsKKwlkcHJpbnRrKCJmcmVlX21lbXR5cGUgcmVxdWVzdCAweCVMeC0weCVMeFxuIiwgc3RhcnQsIGVuZCk7CiAJcmV0dXJuIGVycjsKIH0KIApAQCAtNTIxLDEyICs0MjMsMTIgQEAKIAkgKiBjYWNoaW5nIGZvciB0aGUgaGlnaCBhZGRyZXNzZXMgdGhyb3VnaCB0aGUgS0VOIHBpbiwgYnV0CiAJICogd2UgbWFpbnRhaW4gdGhlIHRyYWRpdGlvbiBvZiBwYXJhbm9pYSBpbiB0aGlzIGNvZGUuCiAJICovCi0JaWYgKCFwYXRfd2NfZW5hYmxlZCAmJgotCSAgICAhICggdGVzdF9iaXQoWDg2X0ZFQVRVUkVfTVRSUiwgYm9vdF9jcHVfZGF0YS54ODZfY2FwYWJpbGl0eSkgfHwKLQkJdGVzdF9iaXQoWDg2X0ZFQVRVUkVfSzZfTVRSUiwgYm9vdF9jcHVfZGF0YS54ODZfY2FwYWJpbGl0eSkgfHwKLQkJdGVzdF9iaXQoWDg2X0ZFQVRVUkVfQ1lSSVhfQVJSLCBib290X2NwdV9kYXRhLng4Nl9jYXBhYmlsaXR5KSB8fAotCQl0ZXN0X2JpdChYODZfRkVBVFVSRV9DRU5UQVVSX01DUiwgYm9vdF9jcHVfZGF0YS54ODZfY2FwYWJpbGl0eSkpICYmCi0JICAgKHBmbiA8PCBQQUdFX1NISUZUKSA+PSBfX3BhKGhpZ2hfbWVtb3J5KSkgeworCWlmICghcGF0X2VuYWJsZWQgJiYKKwkgICAgIShib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfTVRSUikgfHwKKwkgICAgICBib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfSzZfTVRSUikgfHwKKwkgICAgICBib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfQ1lSSVhfQVJSKSB8fAorCSAgICAgIGJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9DRU5UQVVSX01DUikpICYmCisJICAgIChwZm4gPDwgUEFHRV9TSElGVCkgPj0gX19wYShoaWdoX21lbW9yeSkpIHsKIAkJZmxhZ3MgPSBfUEFHRV9DQUNIRV9VQzsKIAl9CiAjZW5kaWYKQEAgLTU0Nyw4ICs0NDksOSBAQAogCWlmIChyZXR2YWwgPCAwKQogCQlyZXR1cm4gMDsKIAotCWlmIChwZm4gPD0gbWF4X3Bmbl9tYXBwZWQgJiYKLSAgICAgICAgICAgIGlvcmVtYXBfY2hhbmdlX2F0dHIoKHVuc2lnbmVkIGxvbmcpX192YShvZmZzZXQpLCBzaXplLCBmbGFncykgPCAwKSB7CisJaWYgKCgocGZuIDwgbWF4X2xvd19wZm5fbWFwcGVkKSB8fAorCSAgICAgKHBmbiA+PSAoMVVMPDwoMzIgLSBQQUdFX1NISUZUKSkgJiYgcGZuIDwgbWF4X3Bmbl9tYXBwZWQpKSAmJgorCSAgICBpb3JlbWFwX2NoYW5nZV9hdHRyKCh1bnNpZ25lZCBsb25nKV9fdmEob2Zmc2V0KSwgc2l6ZSwgZmxhZ3MpIDwgMCkgewogCQlmcmVlX21lbXR5cGUob2Zmc2V0LCBvZmZzZXQgKyBzaXplKTsKIAkJcHJpbnRrKEtFUk5fSU5GTwogCQkiJXM6JWQgL2Rldi9tZW0gaW9yZW1hcF9jaGFuZ2VfYXR0ciBmYWlsZWQgJXMgZm9yICVMeC0lTHhcbiIsCkBAIC01ODYsNCArNDg5LDMgQEAKIAogCWZyZWVfbWVtdHlwZShhZGRyLCBhZGRyICsgc2l6ZSk7CiB9Ci0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L21tL3BmX2luLmMgYi9hcmNoL3g4Ni9tbS9wZl9pbi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVmYTE5MTEKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL3g4Ni9tbS9wZl9pbi5jCkBAIC0wLDAgKzEsNDg5IEBACisvKgorICogIEZhdWx0IEluamVjdGlvbiBUZXN0IGhhcm5lc3MgKEZJKQorICogIENvcHlyaWdodCAoQykgSW50ZWwgQ3JvcC4KKyAqCisgKiAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiAgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIKKyAqICBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNywKKyAqICBVU0EuCisgKgorICovCisKKy8qICBJZDogcGZfaW4uYyx2IDEuMS4xLjEgMjAwMi8xMS8xMiAwNTo1NjozMiBicmxvY2sgRXhwCisgKiAgQ29weXJpZ2h0IGJ5IEludGVsIENyb3AuLCAyMDAyCisgKiAgTG91aXMgWmh1YW5nIChsb3Vpcy56aHVhbmdAaW50ZWwuY29tKQorICoKKyAqICBCam9ybiBTdGVpbmJyaW5rIChCLlN0ZWluYnJpbmtAZ214LmRlKSwgMjAwNworICovCisKKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9wdHJhY2UuaD4gLyogc3RydWN0IHB0X3JlZ3MgKi8KKyNpbmNsdWRlICJwZl9pbi5oIgorCisjaWZkZWYgX19pMzg2X18KKy8qIElBMzIgTWFudWFsIDMsIDItMSAqLworc3RhdGljIHVuc2lnbmVkIGNoYXIgcHJlZml4X2NvZGVzW10gPSB7CisJMHhGMCwgMHhGMiwgMHhGMywgMHgyRSwgMHgzNiwgMHgzRSwgMHgyNiwgMHg2NCwKKwkweDY1LCAweDJFLCAweDNFLCAweDY2LCAweDY3Cit9OworLyogSUEzMiBNYW51YWwgMywgMy00MzIqLworc3RhdGljIHVuc2lnbmVkIGludCByZWdfcm9wW10gPSB7CisJMHg4QSwgMHg4QiwgMHhCNjBGLCAweEI3MEYsIDB4QkUwRiwgMHhCRjBGCit9Oworc3RhdGljIHVuc2lnbmVkIGludCByZWdfd29wW10gPSB7IDB4ODgsIDB4ODkgfTsKK3N0YXRpYyB1bnNpZ25lZCBpbnQgaW1tX3dvcFtdID0geyAweEM2LCAweEM3IH07CisvKiBJQTMyIE1hbnVhbCAzLCAzLTQzMiovCitzdGF0aWMgdW5zaWduZWQgaW50IHJ3OFtdID0geyAweDg4LCAweDhBLCAweEM2IH07CitzdGF0aWMgdW5zaWduZWQgaW50IHJ3MzJbXSA9IHsKKwkweDg5LCAweDhCLCAweEM3LCAweEI2MEYsIDB4QjcwRiwgMHhCRTBGLCAweEJGMEYKK307CitzdGF0aWMgdW5zaWduZWQgaW50IG13OFtdID0geyAweDg4LCAweDhBLCAweEM2LCAweEI2MEYsIDB4QkUwRiB9Oworc3RhdGljIHVuc2lnbmVkIGludCBtdzE2W10gPSB7IDB4QjcwRiwgMHhCRjBGIH07CitzdGF0aWMgdW5zaWduZWQgaW50IG13MzJbXSA9IHsgMHg4OSwgMHg4QiwgMHhDNyB9Oworc3RhdGljIHVuc2lnbmVkIGludCBtdzY0W10gPSB7fTsKKyNlbHNlIC8qIG5vdCBfX2kzODZfXyAqLworc3RhdGljIHVuc2lnbmVkIGNoYXIgcHJlZml4X2NvZGVzW10gPSB7CisJMHg2NiwgMHg2NywgMHgyRSwgMHgzRSwgMHgyNiwgMHg2NCwgMHg2NSwgMHgzNiwKKwkweEYwLCAweEYzLCAweEYyLAorCS8qIFJFWCBQcmVmaXhlcyAqLworCTB4NDAsIDB4NDEsIDB4NDIsIDB4NDMsIDB4NDQsIDB4NDUsIDB4NDYsIDB4NDcsCisJMHg0OCwgMHg0OSwgMHg0YSwgMHg0YiwgMHg0YywgMHg0ZCwgMHg0ZSwgMHg0ZgorfTsKKy8qIEFNRDY0IE1hbnVhbCAzLCBBcHBlbmRpeCBBKi8KK3N0YXRpYyB1bnNpZ25lZCBpbnQgcmVnX3JvcFtdID0geworCTB4OEEsIDB4OEIsIDB4QjYwRiwgMHhCNzBGLCAweEJFMEYsIDB4QkYwRgorfTsKK3N0YXRpYyB1bnNpZ25lZCBpbnQgcmVnX3dvcFtdID0geyAweDg4LCAweDg5IH07CitzdGF0aWMgdW5zaWduZWQgaW50IGltbV93b3BbXSA9IHsgMHhDNiwgMHhDNyB9Oworc3RhdGljIHVuc2lnbmVkIGludCBydzhbXSA9IHsgMHhDNiwgMHg4OCwgMHg4QSB9Oworc3RhdGljIHVuc2lnbmVkIGludCBydzMyW10gPSB7CisJMHhDNywgMHg4OSwgMHg4QiwgMHhCNjBGLCAweEI3MEYsIDB4QkUwRiwgMHhCRjBGCit9OworLyogOCBiaXQgb25seSAqLworc3RhdGljIHVuc2lnbmVkIGludCBtdzhbXSA9IHsgMHhDNiwgMHg4OCwgMHg4QSwgMHhCNjBGLCAweEJFMEYgfTsKKy8qIDE2IGJpdCBvbmx5ICovCitzdGF0aWMgdW5zaWduZWQgaW50IG13MTZbXSA9IHsgMHhCNzBGLCAweEJGMEYgfTsKKy8qIDE2IG9yIDMyIGJpdCAqLworc3RhdGljIHVuc2lnbmVkIGludCBtdzMyW10gPSB7IDB4QzcgfTsKKy8qIDE2LCAzMiBvciA2NCBiaXQgKi8KK3N0YXRpYyB1bnNpZ25lZCBpbnQgbXc2NFtdID0geyAweDg5LCAweDhCIH07CisjZW5kaWYgLyogbm90IF9faTM4Nl9fICovCisKK3N0YXRpYyBpbnQgc2tpcF9wcmVmaXgodW5zaWduZWQgY2hhciAqYWRkciwgaW50ICpzaG9ydGVkLCBpbnQgKmVubGFyZ2VkLAorCQkJCQkJCQlpbnQgKnJleHIpCit7CisJaW50IGk7CisJdW5zaWduZWQgY2hhciAqcCA9IGFkZHI7CisJKnNob3J0ZWQgPSAwOworCSplbmxhcmdlZCA9IDA7CisJKnJleHIgPSAwOworCityZXN0YXJ0OgorCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHByZWZpeF9jb2Rlcyk7IGkrKykgeworCQlpZiAoKnAgPT0gcHJlZml4X2NvZGVzW2ldKSB7CisJCQlpZiAoKnAgPT0gMHg2NikKKwkJCQkqc2hvcnRlZCA9IDE7CisjaWZkZWYgX19hbWQ2NF9fCisJCQlpZiAoKCpwICYgMHhmOCkgPT0gMHg0OCkKKwkJCQkqZW5sYXJnZWQgPSAxOworCQkJaWYgKCgqcCAmIDB4ZjQpID09IDB4NDQpCisJCQkJKnJleHIgPSAxOworI2VuZGlmCisJCQlwKys7CisJCQlnb3RvIHJlc3RhcnQ7CisJCX0KKwl9CisKKwlyZXR1cm4gKHAgLSBhZGRyKTsKK30KKworc3RhdGljIGludCBnZXRfb3Bjb2RlKHVuc2lnbmVkIGNoYXIgKmFkZHIsIHVuc2lnbmVkIGludCAqb3Bjb2RlKQoreworCWludCBsZW47CisKKwlpZiAoKmFkZHIgPT0gMHgwRikgeworCQkvKiAweDBGIGlzIGV4dGVuc2lvbiBpbnN0cnVjdGlvbiAqLworCQkqb3Bjb2RlID0gKih1bnNpZ25lZCBzaG9ydCAqKWFkZHI7CisJCWxlbiA9IDI7CisJfSBlbHNlIHsKKwkJKm9wY29kZSA9ICphZGRyOworCQlsZW4gPSAxOworCX0KKworCXJldHVybiBsZW47Cit9CisKKyNkZWZpbmUgQ0hFQ0tfT1BfVFlQRShvcGNvZGUsIGFycmF5LCB0eXBlKSBcCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoYXJyYXkpOyBpKyspIHsgXAorCQlpZiAoYXJyYXlbaV0gPT0gb3Bjb2RlKSB7IFwKKwkJCXJ2ID0gdHlwZTsgXAorCQkJZ290byBleGl0OyBcCisJCX0gXAorCX0KKworZW51bSByZWFzb25fdHlwZSBnZXRfaW5zX3R5cGUodW5zaWduZWQgbG9uZyBpbnNfYWRkcikKK3sKKwl1bnNpZ25lZCBpbnQgb3Bjb2RlOworCXVuc2lnbmVkIGNoYXIgKnA7CisJaW50IHNob3J0ZWQsIGVubGFyZ2VkLCByZXhyOworCWludCBpOworCWVudW0gcmVhc29uX3R5cGUgcnYgPSBPVEhFUlM7CisKKwlwID0gKHVuc2lnbmVkIGNoYXIgKilpbnNfYWRkcjsKKwlwICs9IHNraXBfcHJlZml4KHAsICZzaG9ydGVkLCAmZW5sYXJnZWQsICZyZXhyKTsKKwlwICs9IGdldF9vcGNvZGUocCwgJm9wY29kZSk7CisKKwlDSEVDS19PUF9UWVBFKG9wY29kZSwgcmVnX3JvcCwgUkVHX1JFQUQpOworCUNIRUNLX09QX1RZUEUob3Bjb2RlLCByZWdfd29wLCBSRUdfV1JJVEUpOworCUNIRUNLX09QX1RZUEUob3Bjb2RlLCBpbW1fd29wLCBJTU1fV1JJVEUpOworCitleGl0OgorCXJldHVybiBydjsKK30KKyN1bmRlZiBDSEVDS19PUF9UWVBFCisKK3N0YXRpYyB1bnNpZ25lZCBpbnQgZ2V0X2luc19yZWdfd2lkdGgodW5zaWduZWQgbG9uZyBpbnNfYWRkcikKK3sKKwl1bnNpZ25lZCBpbnQgb3Bjb2RlOworCXVuc2lnbmVkIGNoYXIgKnA7CisJaW50IGksIHNob3J0ZWQsIGVubGFyZ2VkLCByZXhyOworCisJcCA9ICh1bnNpZ25lZCBjaGFyICopaW5zX2FkZHI7CisJcCArPSBza2lwX3ByZWZpeChwLCAmc2hvcnRlZCwgJmVubGFyZ2VkLCAmcmV4cik7CisJcCArPSBnZXRfb3Bjb2RlKHAsICZvcGNvZGUpOworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUocnc4KTsgaSsrKQorCQlpZiAocnc4W2ldID09IG9wY29kZSkKKwkJCXJldHVybiAxOworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUocnczMik7IGkrKykKKwkJaWYgKHJ3MzJbaV0gPT0gb3Bjb2RlKQorCQkJcmV0dXJuIChzaG9ydGVkID8gMiA6IChlbmxhcmdlZCA/IDggOiA0KSk7CisKKwlwcmludGsoS0VSTl9FUlIgIm1taW90cmFjZTogVW5rbm93biBvcGNvZGUgMHglMDJ4XG4iLCBvcGNvZGUpOworCXJldHVybiAwOworfQorCit1bnNpZ25lZCBpbnQgZ2V0X2luc19tZW1fd2lkdGgodW5zaWduZWQgbG9uZyBpbnNfYWRkcikKK3sKKwl1bnNpZ25lZCBpbnQgb3Bjb2RlOworCXVuc2lnbmVkIGNoYXIgKnA7CisJaW50IGksIHNob3J0ZWQsIGVubGFyZ2VkLCByZXhyOworCisJcCA9ICh1bnNpZ25lZCBjaGFyICopaW5zX2FkZHI7CisJcCArPSBza2lwX3ByZWZpeChwLCAmc2hvcnRlZCwgJmVubGFyZ2VkLCAmcmV4cik7CisJcCArPSBnZXRfb3Bjb2RlKHAsICZvcGNvZGUpOworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUobXc4KTsgaSsrKQorCQlpZiAobXc4W2ldID09IG9wY29kZSkKKwkJCXJldHVybiAxOworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUobXcxNik7IGkrKykKKwkJaWYgKG13MTZbaV0gPT0gb3Bjb2RlKQorCQkJcmV0dXJuIDI7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShtdzMyKTsgaSsrKQorCQlpZiAobXczMltpXSA9PSBvcGNvZGUpCisJCQlyZXR1cm4gc2hvcnRlZCA/IDIgOiA0OworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUobXc2NCk7IGkrKykKKwkJaWYgKG13NjRbaV0gPT0gb3Bjb2RlKQorCQkJcmV0dXJuIHNob3J0ZWQgPyAyIDogKGVubGFyZ2VkID8gOCA6IDQpOworCisJcHJpbnRrKEtFUk5fRVJSICJtbWlvdHJhY2U6IFVua25vd24gb3Bjb2RlIDB4JTAyeFxuIiwgb3Bjb2RlKTsKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIERlZmluZSByZWdpc3RlciBpZGVudCBpbiBtb2Qvcm0gYnl0ZS4KKyAqIE5vdGU6IHRoZXNlIGFyZSBOT1QgdGhlIHNhbWUgYXMgaW4gcHRyYWNlLWFiaS5oLgorICovCitlbnVtIHsKKwlhcmdfQUwgPSAwLAorCWFyZ19DTCA9IDEsCisJYXJnX0RMID0gMiwKKwlhcmdfQkwgPSAzLAorCWFyZ19BSCA9IDQsCisJYXJnX0NIID0gNSwKKwlhcmdfREggPSA2LAorCWFyZ19CSCA9IDcsCisKKwlhcmdfQVggPSAwLAorCWFyZ19DWCA9IDEsCisJYXJnX0RYID0gMiwKKwlhcmdfQlggPSAzLAorCWFyZ19TUCA9IDQsCisJYXJnX0JQID0gNSwKKwlhcmdfU0kgPSA2LAorCWFyZ19ESSA9IDcsCisjaWZkZWYgX19hbWQ2NF9fCisJYXJnX1I4ICA9IDgsCisJYXJnX1I5ICA9IDksCisJYXJnX1IxMCA9IDEwLAorCWFyZ19SMTEgPSAxMSwKKwlhcmdfUjEyID0gMTIsCisJYXJnX1IxMyA9IDEzLAorCWFyZ19SMTQgPSAxNCwKKwlhcmdfUjE1ID0gMTUKKyNlbmRpZgorfTsKKworc3RhdGljIHVuc2lnbmVkIGNoYXIgKmdldF9yZWdfdzgoaW50IG5vLCBzdHJ1Y3QgcHRfcmVncyAqcmVncykKK3sKKwl1bnNpZ25lZCBjaGFyICpydiA9IE5VTEw7CisKKwlzd2l0Y2ggKG5vKSB7CisJY2FzZSBhcmdfQUw6CisJCXJ2ID0gKHVuc2lnbmVkIGNoYXIgKikmcmVncy0+YXg7CisJCWJyZWFrOworCWNhc2UgYXJnX0JMOgorCQlydiA9ICh1bnNpZ25lZCBjaGFyICopJnJlZ3MtPmJ4OworCQlicmVhazsKKwljYXNlIGFyZ19DTDoKKwkJcnYgPSAodW5zaWduZWQgY2hhciAqKSZyZWdzLT5jeDsKKwkJYnJlYWs7CisJY2FzZSBhcmdfREw6CisJCXJ2ID0gKHVuc2lnbmVkIGNoYXIgKikmcmVncy0+ZHg7CisJCWJyZWFrOworCWNhc2UgYXJnX0FIOgorCQlydiA9IDEgKyAodW5zaWduZWQgY2hhciAqKSZyZWdzLT5heDsKKwkJYnJlYWs7CisJY2FzZSBhcmdfQkg6CisJCXJ2ID0gMSArICh1bnNpZ25lZCBjaGFyICopJnJlZ3MtPmJ4OworCQlicmVhazsKKwljYXNlIGFyZ19DSDoKKwkJcnYgPSAxICsgKHVuc2lnbmVkIGNoYXIgKikmcmVncy0+Y3g7CisJCWJyZWFrOworCWNhc2UgYXJnX0RIOgorCQlydiA9IDEgKyAodW5zaWduZWQgY2hhciAqKSZyZWdzLT5keDsKKwkJYnJlYWs7CisjaWZkZWYgX19hbWQ2NF9fCisJY2FzZSBhcmdfUjg6CisJCXJ2ID0gKHVuc2lnbmVkIGNoYXIgKikmcmVncy0+cjg7CisJCWJyZWFrOworCWNhc2UgYXJnX1I5OgorCQlydiA9ICh1bnNpZ25lZCBjaGFyICopJnJlZ3MtPnI5OworCQlicmVhazsKKwljYXNlIGFyZ19SMTA6CisJCXJ2ID0gKHVuc2lnbmVkIGNoYXIgKikmcmVncy0+cjEwOworCQlicmVhazsKKwljYXNlIGFyZ19SMTE6CisJCXJ2ID0gKHVuc2lnbmVkIGNoYXIgKikmcmVncy0+cjExOworCQlicmVhazsKKwljYXNlIGFyZ19SMTI6CisJCXJ2ID0gKHVuc2lnbmVkIGNoYXIgKikmcmVncy0+cjEyOworCQlicmVhazsKKwljYXNlIGFyZ19SMTM6CisJCXJ2ID0gKHVuc2lnbmVkIGNoYXIgKikmcmVncy0+cjEzOworCQlicmVhazsKKwljYXNlIGFyZ19SMTQ6CisJCXJ2ID0gKHVuc2lnbmVkIGNoYXIgKikmcmVncy0+cjE0OworCQlicmVhazsKKwljYXNlIGFyZ19SMTU6CisJCXJ2ID0gKHVuc2lnbmVkIGNoYXIgKikmcmVncy0+cjE1OworCQlicmVhazsKKyNlbmRpZgorCWRlZmF1bHQ6CisJCXByaW50ayhLRVJOX0VSUiAibW1pb3RyYWNlOiBFcnJvciByZWcgbm8jICVkXG4iLCBubyk7CisJCWJyZWFrOworCX0KKwlyZXR1cm4gcnY7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nICpnZXRfcmVnX3czMihpbnQgbm8sIHN0cnVjdCBwdF9yZWdzICpyZWdzKQoreworCXVuc2lnbmVkIGxvbmcgKnJ2ID0gTlVMTDsKKworCXN3aXRjaCAobm8pIHsKKwljYXNlIGFyZ19BWDoKKwkJcnYgPSAmcmVncy0+YXg7CisJCWJyZWFrOworCWNhc2UgYXJnX0JYOgorCQlydiA9ICZyZWdzLT5ieDsKKwkJYnJlYWs7CisJY2FzZSBhcmdfQ1g6CisJCXJ2ID0gJnJlZ3MtPmN4OworCQlicmVhazsKKwljYXNlIGFyZ19EWDoKKwkJcnYgPSAmcmVncy0+ZHg7CisJCWJyZWFrOworCWNhc2UgYXJnX1NQOgorCQlydiA9ICZyZWdzLT5zcDsKKwkJYnJlYWs7CisJY2FzZSBhcmdfQlA6CisJCXJ2ID0gJnJlZ3MtPmJwOworCQlicmVhazsKKwljYXNlIGFyZ19TSToKKwkJcnYgPSAmcmVncy0+c2k7CisJCWJyZWFrOworCWNhc2UgYXJnX0RJOgorCQlydiA9ICZyZWdzLT5kaTsKKwkJYnJlYWs7CisjaWZkZWYgX19hbWQ2NF9fCisJY2FzZSBhcmdfUjg6CisJCXJ2ID0gJnJlZ3MtPnI4OworCQlicmVhazsKKwljYXNlIGFyZ19SOToKKwkJcnYgPSAmcmVncy0+cjk7CisJCWJyZWFrOworCWNhc2UgYXJnX1IxMDoKKwkJcnYgPSAmcmVncy0+cjEwOworCQlicmVhazsKKwljYXNlIGFyZ19SMTE6CisJCXJ2ID0gJnJlZ3MtPnIxMTsKKwkJYnJlYWs7CisJY2FzZSBhcmdfUjEyOgorCQlydiA9ICZyZWdzLT5yMTI7CisJCWJyZWFrOworCWNhc2UgYXJnX1IxMzoKKwkJcnYgPSAmcmVncy0+cjEzOworCQlicmVhazsKKwljYXNlIGFyZ19SMTQ6CisJCXJ2ID0gJnJlZ3MtPnIxNDsKKwkJYnJlYWs7CisJY2FzZSBhcmdfUjE1OgorCQlydiA9ICZyZWdzLT5yMTU7CisJCWJyZWFrOworI2VuZGlmCisJZGVmYXVsdDoKKwkJcHJpbnRrKEtFUk5fRVJSICJtbWlvdHJhY2U6IEVycm9yIHJlZyBubyMgJWRcbiIsIG5vKTsKKwl9CisKKwlyZXR1cm4gcnY7Cit9CisKK3Vuc2lnbmVkIGxvbmcgZ2V0X2luc19yZWdfdmFsKHVuc2lnbmVkIGxvbmcgaW5zX2FkZHIsIHN0cnVjdCBwdF9yZWdzICpyZWdzKQoreworCXVuc2lnbmVkIGludCBvcGNvZGU7CisJdW5zaWduZWQgY2hhciBtb2Rfcm07CisJaW50IHJlZzsKKwl1bnNpZ25lZCBjaGFyICpwOworCWludCBpLCBzaG9ydGVkLCBlbmxhcmdlZCwgcmV4cjsKKwl1bnNpZ25lZCBsb25nIHJ2OworCisJcCA9ICh1bnNpZ25lZCBjaGFyICopaW5zX2FkZHI7CisJcCArPSBza2lwX3ByZWZpeChwLCAmc2hvcnRlZCwgJmVubGFyZ2VkLCAmcmV4cik7CisJcCArPSBnZXRfb3Bjb2RlKHAsICZvcGNvZGUpOworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHJlZ19yb3ApOyBpKyspCisJCWlmIChyZWdfcm9wW2ldID09IG9wY29kZSkgeworCQkJcnYgPSBSRUdfUkVBRDsKKwkJCWdvdG8gZG9fd29yazsKKwkJfQorCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUocmVnX3dvcCk7IGkrKykKKwkJaWYgKHJlZ193b3BbaV0gPT0gb3Bjb2RlKSB7CisJCQlydiA9IFJFR19XUklURTsKKwkJCWdvdG8gZG9fd29yazsKKwkJfQorCisJcHJpbnRrKEtFUk5fRVJSICJtbWlvdHJhY2U6IE5vdCBhIHJlZ2lzdGVyIGluc3RydWN0aW9uLCBvcGNvZGUgIgorCQkJCQkJCSIweCUwMnhcbiIsIG9wY29kZSk7CisJZ290byBlcnI7CisKK2RvX3dvcms6CisJbW9kX3JtID0gKnA7CisJcmVnID0gKChtb2Rfcm0gPj4gMykgJiAweDcpIHwgKHJleHIgPDwgMyk7CisJc3dpdGNoIChnZXRfaW5zX3JlZ193aWR0aChpbnNfYWRkcikpIHsKKwljYXNlIDE6CisJCXJldHVybiAqZ2V0X3JlZ193OChyZWcsIHJlZ3MpOworCisJY2FzZSAyOgorCQlyZXR1cm4gKih1bnNpZ25lZCBzaG9ydCAqKWdldF9yZWdfdzMyKHJlZywgcmVncyk7CisKKwljYXNlIDQ6CisJCXJldHVybiAqKHVuc2lnbmVkIGludCAqKWdldF9yZWdfdzMyKHJlZywgcmVncyk7CisKKyNpZmRlZiBfX2FtZDY0X18KKwljYXNlIDg6CisJCXJldHVybiAqKHVuc2lnbmVkIGxvbmcgKilnZXRfcmVnX3czMihyZWcsIHJlZ3MpOworI2VuZGlmCisKKwlkZWZhdWx0OgorCQlwcmludGsoS0VSTl9FUlIgIm1taW90cmFjZTogRXJyb3Igd2lkdGgjICVkXG4iLCByZWcpOworCX0KKworZXJyOgorCXJldHVybiAwOworfQorCit1bnNpZ25lZCBsb25nIGdldF9pbnNfaW1tX3ZhbCh1bnNpZ25lZCBsb25nIGluc19hZGRyKQoreworCXVuc2lnbmVkIGludCBvcGNvZGU7CisJdW5zaWduZWQgY2hhciBtb2Rfcm07CisJdW5zaWduZWQgY2hhciBtb2Q7CisJdW5zaWduZWQgY2hhciAqcDsKKwlpbnQgaSwgc2hvcnRlZCwgZW5sYXJnZWQsIHJleHI7CisJdW5zaWduZWQgbG9uZyBydjsKKworCXAgPSAodW5zaWduZWQgY2hhciAqKWluc19hZGRyOworCXAgKz0gc2tpcF9wcmVmaXgocCwgJnNob3J0ZWQsICZlbmxhcmdlZCwgJnJleHIpOworCXAgKz0gZ2V0X29wY29kZShwLCAmb3Bjb2RlKTsKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShpbW1fd29wKTsgaSsrKQorCQlpZiAoaW1tX3dvcFtpXSA9PSBvcGNvZGUpIHsKKwkJCXJ2ID0gSU1NX1dSSVRFOworCQkJZ290byBkb193b3JrOworCQl9CisKKwlwcmludGsoS0VSTl9FUlIgIm1taW90cmFjZTogTm90IGFuIGltbWVkaWF0ZSBpbnN0cnVjdGlvbiwgb3Bjb2RlICIKKwkJCQkJCQkiMHglMDJ4XG4iLCBvcGNvZGUpOworCWdvdG8gZXJyOworCitkb193b3JrOgorCW1vZF9ybSA9ICpwOworCW1vZCA9IG1vZF9ybSA+PiA2OworCXArKzsKKwlzd2l0Y2ggKG1vZCkgeworCWNhc2UgMDoKKwkJLyogaWYgci9tIGlzIDUgd2UgaGF2ZSBhIDMyIGRpc3AgKElBMzIgTWFudWFsIDMsIFRhYmxlIDItMikgICovCisJCS8qIEFNRDY0OiBYWFggQ2hlY2sgZm9yIGFkZHJlc3Mgc2l6ZSBwcmVmaXg/ICovCisJCWlmICgobW9kX3JtICYgMHg3KSA9PSAweDUpCisJCQlwICs9IDQ7CisJCWJyZWFrOworCisJY2FzZSAxOgorCQlwICs9IDE7CisJCWJyZWFrOworCisJY2FzZSAyOgorCQlwICs9IDQ7CisJCWJyZWFrOworCisJY2FzZSAzOgorCWRlZmF1bHQ6CisJCXByaW50ayhLRVJOX0VSUiAibW1pb3RyYWNlOiBub3QgYSBtZW1vcnkgYWNjZXNzIGluc3RydWN0aW9uICIKKwkJCQkJCSJhdCAweCVseCwgcm1fbW9kPTB4JTAyeFxuIiwKKwkJCQkJCWluc19hZGRyLCBtb2Rfcm0pOworCX0KKworCXN3aXRjaCAoZ2V0X2luc19yZWdfd2lkdGgoaW5zX2FkZHIpKSB7CisJY2FzZSAxOgorCQlyZXR1cm4gKih1bnNpZ25lZCBjaGFyICopcDsKKworCWNhc2UgMjoKKwkJcmV0dXJuICoodW5zaWduZWQgc2hvcnQgKilwOworCisJY2FzZSA0OgorCQlyZXR1cm4gKih1bnNpZ25lZCBpbnQgKilwOworCisjaWZkZWYgX19hbWQ2NF9fCisJY2FzZSA4OgorCQlyZXR1cm4gKih1bnNpZ25lZCBsb25nICopcDsKKyNlbmRpZgorCisJZGVmYXVsdDoKKwkJcHJpbnRrKEtFUk5fRVJSICJtbWlvdHJhY2U6IEVycm9yOiB3aWR0aC5cbiIpOworCX0KKworZXJyOgorCXJldHVybiAwOworfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbW0vcGZfaW4uaCBiL2FyY2gveDg2L21tL3BmX2luLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTA1MzQxYQotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gveDg2L21tL3BmX2luLmgKQEAgLTAsMCArMSwzOSBAQAorLyoKKyAqICBGYXVsdCBJbmplY3Rpb24gVGVzdCBoYXJuZXNzIChGSSkKKyAqICBDb3B5cmlnaHQgKEMpIEludGVsIENyb3AuCisgKgorICogIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyCisgKiAgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqICBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcsCisgKiAgVVNBLgorICoKKyAqLworCisjaWZuZGVmIF9fUEZfSF8KKyNkZWZpbmUgX19QRl9IXworCitlbnVtIHJlYXNvbl90eXBlIHsKKwlOT1RfTUUsCS8qIHBhZ2UgZmF1bHQgaXMgbm90IGluIHJlZ2lvbnMgKi8KKwlOT1RISU5HLAkvKiBhY2Nlc3Mgb3RoZXJzIHBvaW50IGluIHJlZ2lvbnMgKi8KKwlSRUdfUkVBRCwJLyogcmVhZCBmcm9tIGFkZHIgdG8gcmVnICovCisJUkVHX1dSSVRFLAkvKiB3cml0ZSBmcm9tIHJlZyB0byBhZGRyICovCisJSU1NX1dSSVRFLAkvKiB3cml0ZSBmcm9tIGltbSB0byBhZGRyICovCisJT1RIRVJTCS8qIE90aGVyIGluc3RydWN0aW9ucyBjYW4gbm90IGludGVyY2VwdCAqLworfTsKKworZW51bSByZWFzb25fdHlwZSBnZXRfaW5zX3R5cGUodW5zaWduZWQgbG9uZyBpbnNfYWRkcik7Cit1bnNpZ25lZCBpbnQgZ2V0X2luc19tZW1fd2lkdGgodW5zaWduZWQgbG9uZyBpbnNfYWRkcik7Cit1bnNpZ25lZCBsb25nIGdldF9pbnNfcmVnX3ZhbCh1bnNpZ25lZCBsb25nIGluc19hZGRyLCBzdHJ1Y3QgcHRfcmVncyAqcmVncyk7Cit1bnNpZ25lZCBsb25nIGdldF9pbnNfaW1tX3ZhbCh1bnNpZ25lZCBsb25nIGluc19hZGRyKTsKKworI2VuZGlmIC8qIF9fUEZfSF8gKi8KZGlmZiAtLWdpdCBhL2FyY2gveDg2L21tL3BndGFibGUuYyBiL2FyY2gveDg2L21tL3BndGFibGUuYwppbmRleCA1MDE1OTc2Li41NTdiMmFiIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9tbS9wZ3RhYmxlLmMKKysrIGIvYXJjaC94ODYvbW0vcGd0YWJsZS5jCkBAIC0yLDYgKzIsNyBAQAogI2luY2x1ZGUgPGFzbS9wZ2FsbG9jLmg+CiAjaW5jbHVkZSA8YXNtL3BndGFibGUuaD4KICNpbmNsdWRlIDxhc20vdGxiLmg+CisjaW5jbHVkZSA8YXNtL2ZpeG1hcC5oPgogCiBwdGVfdCAqcHRlX2FsbG9jX29uZV9rZXJuZWwoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHVuc2lnbmVkIGxvbmcgYWRkcmVzcykKIHsKQEAgLTY1LDEyICs2Niw2IEBACiBzdGF0aWMgdm9pZCBwZ2RfY3Rvcih2b2lkICpwKQogewogCXBnZF90ICpwZ2QgPSBwOwotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0KLQkvKiBDbGVhciB1c2VybW9kZSBwYXJ0cyBvZiBQR0QgKi8KLQltZW1zZXQocGdkLCAwLCBLRVJORUxfUEdEX0JPVU5EQVJZKnNpemVvZihwZ2RfdCkpOwotCi0Jc3Bpbl9sb2NrX2lycXNhdmUoJnBnZF9sb2NrLCBmbGFncyk7CiAKIAkvKiBJZiB0aGUgcGdkIHBvaW50cyB0byBhIHNoYXJlZCBwYWdldGFibGUgbGV2ZWwgKGVpdGhlciB0aGUKIAkgICBwdGVzIGluIG5vbi1QQUUsIG9yIHNoYXJlZCBQTUQgaW4gUEFFKSwgdGhlbiBqdXN0IGNvcHkgdGhlCkBAIC05MCw4ICs4NSw2IEBACiAJLyogbGlzdCByZXF1aXJlZCB0byBzeW5jIGtlcm5lbCBtYXBwaW5nIHVwZGF0ZXMgKi8KIAlpZiAoIVNIQVJFRF9LRVJORUxfUE1EKQogCQlwZ2RfbGlzdF9hZGQocGdkKTsKLQotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnBnZF9sb2NrLCBmbGFncyk7CiB9CiAKIHN0YXRpYyB2b2lkIHBnZF9kdG9yKHZvaWQgKnBnZCkKQEAgLTExOSwzMCArMTEyLDYgQEAKIAogI2lmZGVmIENPTkZJR19YODZfUEFFCiAvKgotICogTW9wIHVwIGFueSBwbWQgcGFnZXMgd2hpY2ggbWF5IHN0aWxsIGJlIGF0dGFjaGVkIHRvIHRoZSBwZ2QuCi0gKiBOb3JtYWxseSB0aGV5IHdpbGwgYmUgZnJlZWQgYnkgbXVubWFwL2V4aXRfbW1hcCwgYnV0IGFueSBwbWQgd2UKLSAqIHByZWFsbG9jYXRlIHdoaWNoIG5ldmVyIGdvdCBhIGNvcnJlc3BvbmRpbmcgdm1hIHdpbGwgbmVlZCB0byBiZQotICogZnJlZWQgbWFudWFsbHkuCi0gKi8KLXN0YXRpYyB2b2lkIHBnZF9tb3BfdXBfcG1kcyhzdHJ1Y3QgbW1fc3RydWN0ICptbSwgcGdkX3QgKnBnZHApCi17Ci0JaW50IGk7Ci0KLQlmb3IoaSA9IDA7IGkgPCBVTlNIQVJFRF9QVFJTX1BFUl9QR0Q7IGkrKykgewotCQlwZ2RfdCBwZ2QgPSBwZ2RwW2ldOwotCi0JCWlmIChwZ2RfdmFsKHBnZCkgIT0gMCkgewotCQkJcG1kX3QgKnBtZCA9IChwbWRfdCAqKXBnZF9wYWdlX3ZhZGRyKHBnZCk7Ci0KLQkJCXBnZHBbaV0gPSBuYXRpdmVfbWFrZV9wZ2QoMCk7Ci0KLQkJCXBhcmF2aXJ0X3JlbGVhc2VfcG1kKHBnZF92YWwocGdkKSA+PiBQQUdFX1NISUZUKTsKLQkJCXBtZF9mcmVlKG1tLCBwbWQpOwotCQl9Ci0JfQotfQotCi0vKgogICogSW4gUEFFIG1vZGUsIHdlIG5lZWQgdG8gZG8gYSBjcjMgcmVsb2FkICg9dGxiIGZsdXNoKSB3aGVuCiAgKiB1cGRhdGluZyB0aGUgdG9wLWxldmVsIHBhZ2V0YWJsZSBlbnRyaWVzIHRvIGd1YXJhbnRlZSB0aGUKICAqIHByb2Nlc3NvciBub3RpY2VzIHRoZSB1cGRhdGUuICBTaW5jZSB0aGlzIGlzIGV4cGVuc2l2ZSwgYW5kCkBAIC0xNTMsMzEgKzEyMiw3IEBACiAgKiBub3Qgc2hhcmVkIGJldHdlZW4gcGFnZXRhYmxlcyAoIVNIQVJFRF9LRVJORUxfUE1EUyksIHdlIGFsbG9jYXRlCiAgKiBhbmQgaW5pdGlhbGl6ZSB0aGUga2VybmVsIHBtZHMgaGVyZS4KICAqLwotc3RhdGljIGludCBwZ2RfcHJlcG9wdWxhdGVfcG1kKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCBwZ2RfdCAqcGdkKQotewotCXB1ZF90ICpwdWQ7Ci0JdW5zaWduZWQgbG9uZyBhZGRyOwotCWludCBpOwotCi0JcHVkID0gcHVkX29mZnNldChwZ2QsIDApOwotIAlmb3IgKGFkZHIgPSBpID0gMDsgaSA8IFVOU0hBUkVEX1BUUlNfUEVSX1BHRDsKLQkgICAgIGkrKywgcHVkKyssIGFkZHIgKz0gUFVEX1NJWkUpIHsKLQkJcG1kX3QgKnBtZCA9IHBtZF9hbGxvY19vbmUobW0sIGFkZHIpOwotCi0JCWlmICghcG1kKSB7Ci0JCQlwZ2RfbW9wX3VwX3BtZHMobW0sIHBnZCk7Ci0JCQlyZXR1cm4gMDsKLQkJfQotCi0JCWlmIChpID49IEtFUk5FTF9QR0RfQk9VTkRBUlkpCi0JCQltZW1jcHkocG1kLCAocG1kX3QgKilwZ2RfcGFnZV92YWRkcihzd2FwcGVyX3BnX2RpcltpXSksCi0JCQkgICAgICAgc2l6ZW9mKHBtZF90KSAqIFBUUlNfUEVSX1BNRCk7Ci0KLQkJcHVkX3BvcHVsYXRlKG1tLCBwdWQsIHBtZCk7Ci0JfQotCi0JcmV0dXJuIDE7Ci19CisjZGVmaW5lIFBSRUFMTE9DQVRFRF9QTURTCVVOU0hBUkVEX1BUUlNfUEVSX1BHRAogCiB2b2lkIHB1ZF9wb3B1bGF0ZShzdHJ1Y3QgbW1fc3RydWN0ICptbSwgcHVkX3QgKnB1ZHAsIHBtZF90ICpwbWQpCiB7CkBAIC0xOTcsMzkgKzE0MiwxMzEgQEAKIAkJd3JpdGVfY3IzKHJlYWRfY3IzKCkpOwogfQogI2Vsc2UgIC8qICFDT05GSUdfWDg2X1BBRSAqLworCiAvKiBObyBuZWVkIHRvIHByZXBvcHVsYXRlIGFueSBwYWdldGFibGUgZW50cmllcyBpbiBub24tUEFFIG1vZGVzLiAqLwotc3RhdGljIGludCBwZ2RfcHJlcG9wdWxhdGVfcG1kKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCBwZ2RfdCAqcGdkKQorI2RlZmluZSBQUkVBTExPQ0FURURfUE1EUwkwCisKKyNlbmRpZgkvKiBDT05GSUdfWDg2X1BBRSAqLworCitzdGF0aWMgdm9pZCBmcmVlX3BtZHMocG1kX3QgKnBtZHNbXSkKIHsKLQlyZXR1cm4gMTsKKwlpbnQgaTsKKworCWZvcihpID0gMDsgaSA8IFBSRUFMTE9DQVRFRF9QTURTOyBpKyspCisJCWlmIChwbWRzW2ldKQorCQkJZnJlZV9wYWdlKCh1bnNpZ25lZCBsb25nKXBtZHNbaV0pOwogfQogCi1zdGF0aWMgdm9pZCBwZ2RfbW9wX3VwX3BtZHMoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHBnZF90ICpwZ2QpCitzdGF0aWMgaW50IHByZWFsbG9jYXRlX3BtZHMocG1kX3QgKnBtZHNbXSkKIHsKKwlpbnQgaTsKKwlib29sIGZhaWxlZCA9IGZhbHNlOworCisJZm9yKGkgPSAwOyBpIDwgUFJFQUxMT0NBVEVEX1BNRFM7IGkrKykgeworCQlwbWRfdCAqcG1kID0gKHBtZF90ICopZ2V0X3plcm9lZF9wYWdlKEdGUF9LRVJORUx8X19HRlBfUkVQRUFUKTsKKwkJaWYgKHBtZCA9PSBOVUxMKQorCQkJZmFpbGVkID0gdHJ1ZTsKKwkJcG1kc1tpXSA9IHBtZDsKKwl9CisKKwlpZiAoZmFpbGVkKSB7CisJCWZyZWVfcG1kcyhwbWRzKTsKKwkJcmV0dXJuIC1FTk9NRU07CisJfQorCisJcmV0dXJuIDA7CiB9Ci0jZW5kaWYJLyogQ09ORklHX1g4Nl9QQUUgKi8KKworLyoKKyAqIE1vcCB1cCBhbnkgcG1kIHBhZ2VzIHdoaWNoIG1heSBzdGlsbCBiZSBhdHRhY2hlZCB0byB0aGUgcGdkLgorICogTm9ybWFsbHkgdGhleSB3aWxsIGJlIGZyZWVkIGJ5IG11bm1hcC9leGl0X21tYXAsIGJ1dCBhbnkgcG1kIHdlCisgKiBwcmVhbGxvY2F0ZSB3aGljaCBuZXZlciBnb3QgYSBjb3JyZXNwb25kaW5nIHZtYSB3aWxsIG5lZWQgdG8gYmUKKyAqIGZyZWVkIG1hbnVhbGx5LgorICovCitzdGF0aWMgdm9pZCBwZ2RfbW9wX3VwX3BtZHMoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHBnZF90ICpwZ2RwKQoreworCWludCBpOworCisJZm9yKGkgPSAwOyBpIDwgUFJFQUxMT0NBVEVEX1BNRFM7IGkrKykgeworCQlwZ2RfdCBwZ2QgPSBwZ2RwW2ldOworCisJCWlmIChwZ2RfdmFsKHBnZCkgIT0gMCkgeworCQkJcG1kX3QgKnBtZCA9IChwbWRfdCAqKXBnZF9wYWdlX3ZhZGRyKHBnZCk7CisKKwkJCXBnZHBbaV0gPSBuYXRpdmVfbWFrZV9wZ2QoMCk7CisKKwkJCXBhcmF2aXJ0X3JlbGVhc2VfcG1kKHBnZF92YWwocGdkKSA+PiBQQUdFX1NISUZUKTsKKwkJCXBtZF9mcmVlKG1tLCBwbWQpOworCQl9CisJfQorfQorCitzdGF0aWMgdm9pZCBwZ2RfcHJlcG9wdWxhdGVfcG1kKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCBwZ2RfdCAqcGdkLCBwbWRfdCAqcG1kc1tdKQoreworCXB1ZF90ICpwdWQ7CisJdW5zaWduZWQgbG9uZyBhZGRyOworCWludCBpOworCisJcHVkID0gcHVkX29mZnNldChwZ2QsIDApOworCisgCWZvciAoYWRkciA9IGkgPSAwOyBpIDwgUFJFQUxMT0NBVEVEX1BNRFM7CisJICAgICBpKyssIHB1ZCsrLCBhZGRyICs9IFBVRF9TSVpFKSB7CisJCXBtZF90ICpwbWQgPSBwbWRzW2ldOworCisJCWlmIChpID49IEtFUk5FTF9QR0RfQk9VTkRBUlkpCisJCQltZW1jcHkocG1kLCAocG1kX3QgKilwZ2RfcGFnZV92YWRkcihzd2FwcGVyX3BnX2RpcltpXSksCisJCQkgICAgICAgc2l6ZW9mKHBtZF90KSAqIFBUUlNfUEVSX1BNRCk7CisKKwkJcHVkX3BvcHVsYXRlKG1tLCBwdWQsIHBtZCk7CisJfQorfQogCiBwZ2RfdCAqcGdkX2FsbG9jKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tKQogewotCXBnZF90ICpwZ2QgPSAocGdkX3QgKilfX2dldF9mcmVlX3BhZ2UoR0ZQX0tFUk5FTCB8IF9fR0ZQX1pFUk8pOworCXBnZF90ICpwZ2Q7CisJcG1kX3QgKnBtZHNbUFJFQUxMT0NBVEVEX1BNRFNdOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAKLQkvKiBzbyB0aGF0IGFsbG9jX3BtZCBjYW4gdXNlIGl0ICovCisJcGdkID0gKHBnZF90ICopX19nZXRfZnJlZV9wYWdlKEdGUF9LRVJORUwgfCBfX0dGUF9aRVJPKTsKKworCWlmIChwZ2QgPT0gTlVMTCkKKwkJZ290byBvdXQ7CisKIAltbS0+cGdkID0gcGdkOwotCWlmIChwZ2QpCi0JCXBnZF9jdG9yKHBnZCk7CiAKLQlpZiAocGdkICYmICFwZ2RfcHJlcG9wdWxhdGVfcG1kKG1tLCBwZ2QpKSB7Ci0JCXBnZF9kdG9yKHBnZCk7Ci0JCWZyZWVfcGFnZSgodW5zaWduZWQgbG9uZylwZ2QpOwotCQlwZ2QgPSBOVUxMOwotCX0KKwlpZiAocHJlYWxsb2NhdGVfcG1kcyhwbWRzKSAhPSAwKQorCQlnb3RvIG91dF9mcmVlX3BnZDsKKworCWlmIChwYXJhdmlydF9wZ2RfYWxsb2MobW0pICE9IDApCisJCWdvdG8gb3V0X2ZyZWVfcG1kczsKKworCS8qCisJICogTWFrZSBzdXJlIHRoYXQgcHJlLXBvcHVsYXRpbmcgdGhlIHBtZHMgaXMgYXRvbWljIHdpdGgKKwkgKiByZXNwZWN0IHRvIGFueXRoaW5nIHdhbGtpbmcgdGhlIHBnZF9saXN0LCBzbyB0aGF0IHRoZXkKKwkgKiBuZXZlciBzZWUgYSBwYXJ0aWFsbHkgcG9wdWxhdGVkIHBnZC4KKwkgKi8KKwlzcGluX2xvY2tfaXJxc2F2ZSgmcGdkX2xvY2ssIGZsYWdzKTsKKworCXBnZF9jdG9yKHBnZCk7CisJcGdkX3ByZXBvcHVsYXRlX3BtZChtbSwgcGdkLCBwbWRzKTsKKworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnBnZF9sb2NrLCBmbGFncyk7CiAKIAlyZXR1cm4gcGdkOworCitvdXRfZnJlZV9wbWRzOgorCWZyZWVfcG1kcyhwbWRzKTsKK291dF9mcmVlX3BnZDoKKwlmcmVlX3BhZ2UoKHVuc2lnbmVkIGxvbmcpcGdkKTsKK291dDoKKwlyZXR1cm4gTlVMTDsKIH0KIAogdm9pZCBwZ2RfZnJlZShzdHJ1Y3QgbW1fc3RydWN0ICptbSwgcGdkX3QgKnBnZCkKIHsKIAlwZ2RfbW9wX3VwX3BtZHMobW0sIHBnZCk7CiAJcGdkX2R0b3IocGdkKTsKKwlwYXJhdmlydF9wZ2RfZnJlZShtbSwgcGdkKTsKIAlmcmVlX3BhZ2UoKHVuc2lnbmVkIGxvbmcpcGdkKTsKIH0KIApAQCAtMjU1LDcgKzI5Miw3IEBACiAKIAlpZiAocHRlX3lvdW5nKCpwdGVwKSkKIAkJcmV0ID0gdGVzdF9hbmRfY2xlYXJfYml0KF9QQUdFX0JJVF9BQ0NFU1NFRCwKLQkJCQkJICZwdGVwLT5wdGUpOworCQkJCQkgKHVuc2lnbmVkIGxvbmcgKikgJnB0ZXAtPnB0ZSk7CiAKIAlpZiAocmV0KQogCQlwdGVfdXBkYXRlKHZtYS0+dm1fbW0sIGFkZHIsIHB0ZXApOwpAQCAtMjc0LDMgKzMxMSwyMiBAQAogCiAJcmV0dXJuIHlvdW5nOwogfQorCitpbnQgZml4bWFwc19zZXQ7CisKK3ZvaWQgX19uYXRpdmVfc2V0X2ZpeG1hcChlbnVtIGZpeGVkX2FkZHJlc3NlcyBpZHgsIHB0ZV90IHB0ZSkKK3sKKwl1bnNpZ25lZCBsb25nIGFkZHJlc3MgPSBfX2ZpeF90b192aXJ0KGlkeCk7CisKKwlpZiAoaWR4ID49IF9fZW5kX29mX2ZpeGVkX2FkZHJlc3NlcykgeworCQlCVUcoKTsKKwkJcmV0dXJuOworCX0KKwlzZXRfcHRlX3ZhZGRyKGFkZHJlc3MsIHB0ZSk7CisJZml4bWFwc19zZXQrKzsKK30KKwordm9pZCBuYXRpdmVfc2V0X2ZpeG1hcChlbnVtIGZpeGVkX2FkZHJlc3NlcyBpZHgsIHVuc2lnbmVkIGxvbmcgcGh5cywgcGdwcm90X3QgZmxhZ3MpCit7CisJX19uYXRpdmVfc2V0X2ZpeG1hcChpZHgsIHBmbl9wdGUocGh5cyA+PiBQQUdFX1NISUZULCBmbGFncykpOworfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbW0vcGd0YWJsZV8zMi5jIGIvYXJjaC94ODYvbW0vcGd0YWJsZV8zMi5jCmluZGV4IDM2OWNmMDYuLmI0YmVjYmYgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L21tL3BndGFibGVfMzIuYworKysgYi9hcmNoL3g4Ni9tbS9wZ3RhYmxlXzMyLmMKQEAgLTcxLDcgKzcxLDcgQEAKICAqIEFzc29jaWF0ZSBhIHZpcnR1YWwgcGFnZSBmcmFtZSB3aXRoIGEgZ2l2ZW4gcGh5c2ljYWwgcGFnZSBmcmFtZSAKICAqIGFuZCBwcm90ZWN0aW9uIGZsYWdzIGZvciB0aGF0IGZyYW1lLgogICovIAotc3RhdGljIHZvaWQgc2V0X3B0ZV9wZm4odW5zaWduZWQgbG9uZyB2YWRkciwgdW5zaWduZWQgbG9uZyBwZm4sIHBncHJvdF90IGZsYWdzKQordm9pZCBzZXRfcHRlX3ZhZGRyKHVuc2lnbmVkIGxvbmcgdmFkZHIsIHB0ZV90IHB0ZXZhbCkKIHsKIAlwZ2RfdCAqcGdkOwogCXB1ZF90ICpwdWQ7CkBAIC05NCw4ICs5NCw4IEBACiAJCXJldHVybjsKIAl9CiAJcHRlID0gcHRlX29mZnNldF9rZXJuZWwocG1kLCB2YWRkcik7Ci0JaWYgKHBncHJvdF92YWwoZmxhZ3MpKQotCQlzZXRfcHRlX3ByZXNlbnQoJmluaXRfbW0sIHZhZGRyLCBwdGUsIHBmbl9wdGUocGZuLCBmbGFncykpOworCWlmIChwdGVfdmFsKHB0ZXZhbCkpCisJCXNldF9wdGVfcHJlc2VudCgmaW5pdF9tbSwgdmFkZHIsIHB0ZSwgcHRldmFsKTsKIAllbHNlCiAJCXB0ZV9jbGVhcigmaW5pdF9tbSwgdmFkZHIsIHB0ZSk7CiAKQEAgLTE0MSwyMiArMTQxLDkgQEAKIAlfX2ZsdXNoX3RsYl9vbmUodmFkZHIpOwogfQogCi1zdGF0aWMgaW50IGZpeG1hcHM7CiB1bnNpZ25lZCBsb25nIF9fRklYQUREUl9UT1AgPSAweGZmZmZmMDAwOwogRVhQT1JUX1NZTUJPTChfX0ZJWEFERFJfVE9QKTsKIAotdm9pZCBfX3NldF9maXhtYXAgKGVudW0gZml4ZWRfYWRkcmVzc2VzIGlkeCwgdW5zaWduZWQgbG9uZyBwaHlzLCBwZ3Byb3RfdCBmbGFncykKLXsKLQl1bnNpZ25lZCBsb25nIGFkZHJlc3MgPSBfX2ZpeF90b192aXJ0KGlkeCk7Ci0KLQlpZiAoaWR4ID49IF9fZW5kX29mX2ZpeGVkX2FkZHJlc3NlcykgewotCQlCVUcoKTsKLQkJcmV0dXJuOwotCX0KLQlzZXRfcHRlX3BmbihhZGRyZXNzLCBwaHlzID4+IFBBR0VfU0hJRlQsIGZsYWdzKTsKLQlmaXhtYXBzKys7Ci19Ci0KIC8qKgogICogcmVzZXJ2ZV90b3BfYWRkcmVzcyAtIHJlc2VydmVzIGEgaG9sZSBpbiB0aGUgdG9wIG9mIGtlcm5lbCBhZGRyZXNzIHNwYWNlCiAgKiBAcmVzZXJ2ZSAtIHNpemUgb2YgaG9sZSB0byByZXNlcnZlCkBAIC0xNjQsMTEgKzE1MSw0NCBAQAogICogQ2FuIGJlIHVzZWQgdG8gcmVsb2NhdGUgdGhlIGZpeG1hcCBhcmVhIGFuZCBwb2tlIGEgaG9sZSBpbiB0aGUgdG9wCiAgKiBvZiBrZXJuZWwgYWRkcmVzcyBzcGFjZSB0byBtYWtlIHJvb20gZm9yIGEgaHlwZXJ2aXNvci4KICAqLwotdm9pZCByZXNlcnZlX3RvcF9hZGRyZXNzKHVuc2lnbmVkIGxvbmcgcmVzZXJ2ZSkKK3ZvaWQgX19pbml0IHJlc2VydmVfdG9wX2FkZHJlc3ModW5zaWduZWQgbG9uZyByZXNlcnZlKQogewotCUJVR19PTihmaXhtYXBzID4gMCk7CisJQlVHX09OKGZpeG1hcHNfc2V0ID4gMCk7CiAJcHJpbnRrKEtFUk5fSU5GTyAiUmVzZXJ2aW5nIHZpcnR1YWwgYWRkcmVzcyBzcGFjZSBhYm92ZSAweCUwOHhcbiIsCiAJICAgICAgIChpbnQpLXJlc2VydmUpOwogCV9fRklYQUREUl9UT1AgPSAtcmVzZXJ2ZSAtIFBBR0VfU0laRTsKIAlfX1ZNQUxMT0NfUkVTRVJWRSArPSByZXNlcnZlOwogfQorCisvKgorICogdm1hbGxvYz1zaXplIGZvcmNlcyB0aGUgdm1hbGxvYyBhcmVhIHRvIGJlIGV4YWN0bHkgJ3NpemUnCisgKiBieXRlcy4gVGhpcyBjYW4gYmUgdXNlZCB0byBpbmNyZWFzZSAob3IgZGVjcmVhc2UpIHRoZQorICogdm1hbGxvYyBhcmVhIC0gdGhlIGRlZmF1bHQgaXMgMTI4bS4KKyAqLworc3RhdGljIGludCBfX2luaXQgcGFyc2Vfdm1hbGxvYyhjaGFyICphcmcpCit7CisJaWYgKCFhcmcpCisJCXJldHVybiAtRUlOVkFMOworCisJX19WTUFMTE9DX1JFU0VSVkUgPSBtZW1wYXJzZShhcmcsICZhcmcpOworCXJldHVybiAwOworfQorZWFybHlfcGFyYW0oInZtYWxsb2MiLCBwYXJzZV92bWFsbG9jKTsKKworLyoKKyAqIHJlc2VydmV0b3A9c2l6ZSByZXNlcnZlcyBhIGhvbGUgYXQgdGhlIHRvcCBvZiB0aGUga2VybmVsIGFkZHJlc3Mgc3BhY2Ugd2hpY2gKKyAqIGEgaHlwZXJ2aXNvciBjYW4gbG9hZCBpbnRvIGxhdGVyLiAgTmVlZGVkIGZvciBkeW5hbWljYWxseSBsb2FkZWQgaHlwZXJ2aXNvcnMsCisgKiBzbyByZWxvY2F0aW5nIHRoZSBmaXhtYXAgY2FuIGJlIGRvbmUgYmVmb3JlIHBhZ2luZyBpbml0aWFsaXphdGlvbi4KKyAqLworc3RhdGljIGludCBfX2luaXQgcGFyc2VfcmVzZXJ2ZXRvcChjaGFyICphcmcpCit7CisJdW5zaWduZWQgbG9uZyBhZGRyZXNzOworCisJaWYgKCFhcmcpCisJCXJldHVybiAtRUlOVkFMOworCisJYWRkcmVzcyA9IG1lbXBhcnNlKGFyZywgJmFyZyk7CisJcmVzZXJ2ZV90b3BfYWRkcmVzcyhhZGRyZXNzKTsKKwlyZXR1cm4gMDsKK30KK2Vhcmx5X3BhcmFtKCJyZXNlcnZldG9wIiwgcGFyc2VfcmVzZXJ2ZXRvcCk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tbS9zcmF0XzMyLmMgYi9hcmNoL3g4Ni9tbS9zcmF0XzMyLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjQxZDY3ZgotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gveDg2L21tL3NyYXRfMzIuYwpAQCAtMCwwICsxLDI4MCBAQAorLyoKKyAqIFNvbWUgb2YgdGhlIGNvZGUgaW4gdGhpcyBmaWxlIGhhcyBiZWVuIGdsZWFuZWQgZnJvbSB0aGUgNjQgYml0IAorICogZGlzY29udGlnbWVtIHN1cHBvcnQgY29kZSBiYXNlLgorICoKKyAqIENvcHlyaWdodCAoQykgMjAwMiwgSUJNIENvcnAuCisgKgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gICAgICAgICAgCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0CisgKiBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgT1IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UsIEdPT0QgVElUTEUgb3IKKyAqIE5PTiBJTkZSSU5HRU1FTlQuICBTZWUgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlCisgKiBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNjc1IE1hc3MgQXZlLCBDYW1icmlkZ2UsIE1BIDAyMTM5LCBVU0EuCisgKgorICogU2VuZCBmZWVkYmFjayB0byBQYXQgR2F1Z2hlbiA8Z29uZUB1cy5pYm0uY29tPgorICovCisjaW5jbHVkZSA8bGludXgvbW0uaD4KKyNpbmNsdWRlIDxsaW51eC9ib290bWVtLmg+CisjaW5jbHVkZSA8bGludXgvbW16b25lLmg+CisjaW5jbHVkZSA8bGludXgvYWNwaS5oPgorI2luY2x1ZGUgPGxpbnV4L25vZGVtYXNrLmg+CisjaW5jbHVkZSA8YXNtL3NyYXQuaD4KKyNpbmNsdWRlIDxhc20vdG9wb2xvZ3kuaD4KKyNpbmNsdWRlIDxhc20vc21wLmg+CisjaW5jbHVkZSA8YXNtL2U4MjAuaD4KKworLyoKKyAqIHByb3hpbWl0eSBtYWNyb3MgYW5kIGRlZmluaXRpb25zCisgKi8KKyNkZWZpbmUgTk9ERV9BUlJBWV9JTkRFWCh4KQkoKHgpIC8gOCkJLyogOCBiaXRzL2NoYXIgKi8KKyNkZWZpbmUgTk9ERV9BUlJBWV9PRkZTRVQoeCkJKCh4KSAlIDgpCS8qIDggYml0cy9jaGFyICovCisjZGVmaW5lIEJNQVBfU0VUKGJtYXAsIGJpdCkJKChibWFwKVtOT0RFX0FSUkFZX0lOREVYKGJpdCldIHw9IDEgPDwgTk9ERV9BUlJBWV9PRkZTRVQoYml0KSkKKyNkZWZpbmUgQk1BUF9URVNUKGJtYXAsIGJpdCkJKChibWFwKVtOT0RFX0FSUkFZX0lOREVYKGJpdCldICYgKDEgPDwgTk9ERV9BUlJBWV9PRkZTRVQoYml0KSkpCisvKiBiaXRtYXAgbGVuZ3RoOyBfUFhNIGlzIGF0IG1vc3QgMjU1ICovCisjZGVmaW5lIFBYTV9CSVRNQVBfTEVOIChNQVhfUFhNX0RPTUFJTlMgLyA4KSAKK3N0YXRpYyB1OCBfX2luaXRkYXRhIHB4bV9iaXRtYXBbUFhNX0JJVE1BUF9MRU5dOwkvKiBiaXRtYXAgb2YgcHJveGltaXR5IGRvbWFpbnMgKi8KKworI2RlZmluZSBNQVhfQ0hVTktTX1BFUl9OT0RFCTMKKyNkZWZpbmUgTUFYQ0hVTktTCQkoTUFYX0NIVU5LU19QRVJfTk9ERSAqIE1BWF9OVU1OT0RFUykKK3N0cnVjdCBub2RlX21lbW9yeV9jaHVua19zIHsKKwl1bnNpZ25lZCBsb25nCXN0YXJ0X3BmbjsKKwl1bnNpZ25lZCBsb25nCWVuZF9wZm47CisJdTgJcHhtOwkJLy8gcHJveGltaXR5IGRvbWFpbiBvZiBub2RlCisJdTgJbmlkOwkJLy8gd2hpY2ggY25vZGUgY29udGFpbnMgdGhpcyBjaHVuaz8KKwl1OAliYW5rOwkJLy8gd2hpY2ggbWVtIGJhbmsgb24gdGhpcyBub2RlCit9Oworc3RhdGljIHN0cnVjdCBub2RlX21lbW9yeV9jaHVua19zIF9faW5pdGRhdGEgbm9kZV9tZW1vcnlfY2h1bmtbTUFYQ0hVTktTXTsKKworc3RhdGljIGludCBfX2luaXRkYXRhIG51bV9tZW1vcnlfY2h1bmtzOyAvKiB0b3RhbCBudW1iZXIgb2YgbWVtb3J5IGNodW5rcyAqLworc3RhdGljIHU4IF9faW5pdGRhdGEgYXBpY2lkX3RvX3B4bVtNQVhfQVBJQ0lEXTsKKworaW50IG51bWFfb2ZmIF9faW5pdGRhdGE7CitpbnQgYWNwaV9udW1hIF9faW5pdGRhdGE7CisKK3N0YXRpYyBfX2luaXQgdm9pZCBiYWRfc3JhdCh2b2lkKQoreworICAgICAgICBwcmludGsoS0VSTl9FUlIgIlNSQVQ6IFNSQVQgbm90IHVzZWQuXG4iKTsKKyAgICAgICAgYWNwaV9udW1hID0gLTE7CisJbnVtX21lbW9yeV9jaHVua3MgPSAwOworfQorCitzdGF0aWMgX19pbml0IGlubGluZSBpbnQgc3JhdF9kaXNhYmxlZCh2b2lkKQoreworCXJldHVybiBudW1hX29mZiB8fCBhY3BpX251bWEgPCAwOworfQorCisvKiBJZGVudGlmeSBDUFUgcHJveGltaXR5IGRvbWFpbnMgKi8KK3ZvaWQgX19pbml0CithY3BpX251bWFfcHJvY2Vzc29yX2FmZmluaXR5X2luaXQoc3RydWN0IGFjcGlfc3JhdF9jcHVfYWZmaW5pdHkgKmNwdV9hZmZpbml0eSkKK3sKKwlpZiAoc3JhdF9kaXNhYmxlZCgpKQorCQlyZXR1cm47CisJaWYgKGNwdV9hZmZpbml0eS0+aGVhZGVyLmxlbmd0aCAhPQorCSAgICAgc2l6ZW9mKHN0cnVjdCBhY3BpX3NyYXRfY3B1X2FmZmluaXR5KSkgeworCQliYWRfc3JhdCgpOworCQlyZXR1cm47CisJfQorCisJaWYgKChjcHVfYWZmaW5pdHktPmZsYWdzICYgQUNQSV9TUkFUX0NQVV9FTkFCTEVEKSA9PSAwKQorCQlyZXR1cm47CQkvKiBlbXB0eSBlbnRyeSAqLworCisJLyogbWFyayB0aGlzIG5vZGUgYXMgInNlZW4iIGluIG5vZGUgYml0bWFwICovCisJQk1BUF9TRVQocHhtX2JpdG1hcCwgY3B1X2FmZmluaXR5LT5wcm94aW1pdHlfZG9tYWluX2xvKTsKKworCWFwaWNpZF90b19weG1bY3B1X2FmZmluaXR5LT5hcGljX2lkXSA9IGNwdV9hZmZpbml0eS0+cHJveGltaXR5X2RvbWFpbl9sbzsKKworCXByaW50ayhLRVJOX0RFQlVHICJDUFUgJTAyeCBpbiBwcm94aW1pdHkgZG9tYWluICUwMnhcbiIsCisJCWNwdV9hZmZpbml0eS0+YXBpY19pZCwgY3B1X2FmZmluaXR5LT5wcm94aW1pdHlfZG9tYWluX2xvKTsKK30KKworLyoKKyAqIElkZW50aWZ5IG1lbW9yeSBwcm94aW1pdHkgZG9tYWlucyBhbmQgaG90LXJlbW92ZSBjYXBhYmlsaXRpZXMuCisgKiBGaWxsIG5vZGUgbWVtb3J5IGNodW5rIGxpc3Qgc3RydWN0dXJlLgorICovCit2b2lkIF9faW5pdAorYWNwaV9udW1hX21lbW9yeV9hZmZpbml0eV9pbml0KHN0cnVjdCBhY3BpX3NyYXRfbWVtX2FmZmluaXR5ICptZW1vcnlfYWZmaW5pdHkpCit7CisJdW5zaWduZWQgbG9uZyBsb25nIHBhZGRyLCBzaXplOworCXVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuLCBlbmRfcGZuOworCXU4IHB4bTsKKwlzdHJ1Y3Qgbm9kZV9tZW1vcnlfY2h1bmtfcyAqcCwgKnEsICpwZW5kOworCisJaWYgKHNyYXRfZGlzYWJsZWQoKSkKKwkJcmV0dXJuOworCWlmIChtZW1vcnlfYWZmaW5pdHktPmhlYWRlci5sZW5ndGggIT0KKwkgICAgIHNpemVvZihzdHJ1Y3QgYWNwaV9zcmF0X21lbV9hZmZpbml0eSkpIHsKKwkJYmFkX3NyYXQoKTsKKwkJcmV0dXJuOworCX0KKworCWlmICgobWVtb3J5X2FmZmluaXR5LT5mbGFncyAmIEFDUElfU1JBVF9NRU1fRU5BQkxFRCkgPT0gMCkKKwkJcmV0dXJuOwkJLyogZW1wdHkgZW50cnkgKi8KKworCXB4bSA9IG1lbW9yeV9hZmZpbml0eS0+cHJveGltaXR5X2RvbWFpbiAmIDB4ZmY7CisKKwkvKiBtYXJrIHRoaXMgbm9kZSBhcyAic2VlbiIgaW4gbm9kZSBiaXRtYXAgKi8KKwlCTUFQX1NFVChweG1fYml0bWFwLCBweG0pOworCisJLyogY2FsY3VsYXRlIGluZm8gZm9yIG1lbW9yeSBjaHVuayBzdHJ1Y3R1cmUgKi8KKwlwYWRkciA9IG1lbW9yeV9hZmZpbml0eS0+YmFzZV9hZGRyZXNzOworCXNpemUgPSBtZW1vcnlfYWZmaW5pdHktPmxlbmd0aDsKKworCXN0YXJ0X3BmbiA9IHBhZGRyID4+IFBBR0VfU0hJRlQ7CisJZW5kX3BmbiA9IChwYWRkciArIHNpemUpID4+IFBBR0VfU0hJRlQ7CisKKworCWlmIChudW1fbWVtb3J5X2NodW5rcyA+PSBNQVhDSFVOS1MpIHsKKwkJcHJpbnRrKEtFUk5fV0FSTklORyAiVG9vIG1hbnkgbWVtIGNodW5rcyBpbiBTUkFULiIKKwkJCSIgSWdub3JpbmcgJWxsZCBNQnl0ZXMgYXQgJWxseFxuIiwKKwkJCXNpemUvKDEwMjQqMTAyNCksIHBhZGRyKTsKKwkJcmV0dXJuOworCX0KKworCS8qIEluc2VydGlvbiBzb3J0IGJhc2VkIG9uIGJhc2UgYWRkcmVzcyAqLworCXBlbmQgPSAmbm9kZV9tZW1vcnlfY2h1bmtbbnVtX21lbW9yeV9jaHVua3NdOworCWZvciAocCA9ICZub2RlX21lbW9yeV9jaHVua1swXTsgcCA8IHBlbmQ7IHArKykgeworCQlpZiAoc3RhcnRfcGZuIDwgcC0+c3RhcnRfcGZuKQorCQkJYnJlYWs7CisJfQorCWlmIChwIDwgcGVuZCkgeworCQlmb3IgKHEgPSBwZW5kOyBxID49IHA7IHEtLSkKKwkJCSoocSArIDEpID0gKnE7CisJfQorCXAtPnN0YXJ0X3BmbiA9IHN0YXJ0X3BmbjsKKwlwLT5lbmRfcGZuID0gZW5kX3BmbjsKKwlwLT5weG0gPSBweG07CisKKwludW1fbWVtb3J5X2NodW5rcysrOworCisJcHJpbnRrKEtFUk5fREVCVUcgIk1lbW9yeSByYW5nZSAlMDhseCB0byAlMDhseCAodHlwZSAleCkiCisJCQkgICIgaW4gcHJveGltaXR5IGRvbWFpbiAlMDJ4ICVzXG4iLAorCQlzdGFydF9wZm4sIGVuZF9wZm4sCisJCW1lbW9yeV9hZmZpbml0eS0+bWVtb3J5X3R5cGUsCisJCXB4bSwKKwkJKChtZW1vcnlfYWZmaW5pdHktPmZsYWdzICYgQUNQSV9TUkFUX01FTV9IT1RfUExVR0dBQkxFKSA/CisJCSAiZW5hYmxlZCBhbmQgcmVtb3ZhYmxlIiA6ICJlbmFibGVkIiApICk7Cit9CisKKy8qIENhbGxiYWNrIGZvciBTTElUIHBhcnNpbmcgKi8KK3ZvaWQgX19pbml0IGFjcGlfbnVtYV9zbGl0X2luaXQoc3RydWN0IGFjcGlfdGFibGVfc2xpdCAqc2xpdCkKK3sKK30KKwordm9pZCBhY3BpX251bWFfYXJjaF9maXh1cCh2b2lkKQoreworfQorLyoKKyAqIFRoZSBTUkFUIHRhYmxlIGFsd2F5cyBsaXN0cyBhc2NlbmRpbmcgYWRkcmVzc2VzLCBzbyBjYW4gYWx3YXlzCisgKiBhc3N1bWUgdGhhdCB0aGUgZmlyc3QgInN0YXJ0IiBhZGRyZXNzIHRoYXQgeW91IHNlZSBpcyB0aGUgcmVhbAorICogc3RhcnQgb2YgdGhlIG5vZGUsIGFuZCB0aGF0IHRoZSBjdXJyZW50ICJlbmQiIGFkZHJlc3MgaXMgYWZ0ZXIKKyAqIHRoZSBwcmV2aW91cyBvbmUuCisgKi8KK3N0YXRpYyBfX2luaXQgdm9pZCBub2RlX3JlYWRfY2h1bmsoaW50IG5pZCwgc3RydWN0IG5vZGVfbWVtb3J5X2NodW5rX3MgKm1lbW9yeV9jaHVuaykKK3sKKwkvKgorCSAqIE9ubHkgYWRkIHByZXNlbnQgbWVtb3J5IGFzIHRvbGQgYnkgdGhlIGU4MjAuCisJICogVGhlcmUgaXMgbm8gZ3VhcmFudGVlIGZyb20gdGhlIFNSQVQgdGhhdCB0aGUgbWVtb3J5IGl0CisJICogZW51bWVyYXRlcyBpcyBwcmVzZW50IGF0IGJvb3QgdGltZSBiZWNhdXNlIGl0IHJlcHJlc2VudHMKKwkgKiAqcG9zc2libGUqIG1lbW9yeSBob3RwbHVnIGFyZWFzIHRoZSBzYW1lIGFzIG5vcm1hbCBSQU0uCisJICovCisJaWYgKG1lbW9yeV9jaHVuay0+c3RhcnRfcGZuID49IG1heF9wZm4pIHsKKwkJcHJpbnRrKEtFUk5fSU5GTyAiSWdub3JpbmcgU1JBVCBwZm5zOiAlMDhseCAtICUwOGx4XG4iLAorCQkJbWVtb3J5X2NodW5rLT5zdGFydF9wZm4sIG1lbW9yeV9jaHVuay0+ZW5kX3Bmbik7CisJCXJldHVybjsKKwl9CisJaWYgKG1lbW9yeV9jaHVuay0+bmlkICE9IG5pZCkKKwkJcmV0dXJuOworCisJaWYgKCFub2RlX2hhc19vbmxpbmVfbWVtKG5pZCkpCisJCW5vZGVfc3RhcnRfcGZuW25pZF0gPSBtZW1vcnlfY2h1bmstPnN0YXJ0X3BmbjsKKworCWlmIChub2RlX3N0YXJ0X3BmbltuaWRdID4gbWVtb3J5X2NodW5rLT5zdGFydF9wZm4pCisJCW5vZGVfc3RhcnRfcGZuW25pZF0gPSBtZW1vcnlfY2h1bmstPnN0YXJ0X3BmbjsKKworCWlmIChub2RlX2VuZF9wZm5bbmlkXSA8IG1lbW9yeV9jaHVuay0+ZW5kX3BmbikKKwkJbm9kZV9lbmRfcGZuW25pZF0gPSBtZW1vcnlfY2h1bmstPmVuZF9wZm47Cit9CisKK2ludCBfX2luaXQgZ2V0X21lbWNmZ19mcm9tX3NyYXQodm9pZCkKK3sKKwlpbnQgaSwgaiwgbmlkOworCisKKwlpZiAoc3JhdF9kaXNhYmxlZCgpKQorCQlnb3RvIG91dF9mYWlsOworCisJaWYgKG51bV9tZW1vcnlfY2h1bmtzID09IDApIHsKKwkJcHJpbnRrKEtFUk5fV0FSTklORworCQkJICJjb3VsZCBub3QgZmlueSBhbnkgQUNQSSBTUkFUIG1lbW9yeSBhcmVhcy5cbiIpOworCQlnb3RvIG91dF9mYWlsOworCX0KKworCS8qIENhbGN1bGF0ZSB0b3RhbCBudW1iZXIgb2Ygbm9kZXMgaW4gc3lzdGVtIGZyb20gUFhNIGJpdG1hcCBhbmQgY3JlYXRlCisJICogYSBzZXQgb2Ygc2VxdWVudGlhbCBub2RlIElEcyBzdGFydGluZyBhdCB6ZXJvLiAgKEFDUEkgZG9lc24ndCBzZWVtCisJICogdG8gc3BlY2lmeSB0aGUgcmFuZ2Ugb2YgX1BYTSB2YWx1ZXMuKQorCSAqLworCS8qCisJICogTUNEIC0gd2Ugbm8gbG9uZ2VyIEhBVkUgdG8gbnVtYmVyIG5vZGVzIHNlcXVlbnRpYWxseS4gIFBYTSBkb21haW4KKwkgKiBudW1iZXJzIGNvdWxkIGdvIGFzIGhpZ2ggYXMgMjU2LCBhbmQgTUFYX05VTU5PREVTIGZvciBpMzg2IGlzIHR5cGljYWxseQorCSAqIDMyLCBzbyB3ZSB3aWxsIGNvbnRpbnVlIG51bWJlcmluZyB0aGVtIGluIHRoaXMgbWFubmVyIHVudGlsIE1BWF9OVU1OT0RFUworCSAqIGFwcHJvYWNoZXMgTUFYX1BYTV9ET01BSU5TIGZvciBpMzg2LgorCSAqLworCW5vZGVzX2NsZWFyKG5vZGVfb25saW5lX21hcCk7CisJZm9yIChpID0gMDsgaSA8IE1BWF9QWE1fRE9NQUlOUzsgaSsrKSB7CisJCWlmIChCTUFQX1RFU1QocHhtX2JpdG1hcCwgaSkpIHsKKwkJCWludCBuaWQgPSBhY3BpX21hcF9weG1fdG9fbm9kZShpKTsKKwkJCW5vZGVfc2V0X29ubGluZShuaWQpOworCQl9CisJfQorCUJVR19PTihudW1fb25saW5lX25vZGVzKCkgPT0gMCk7CisKKwkvKiBzZXQgY25vZGUgaWQgaW4gbWVtb3J5IGNodW5rIHN0cnVjdHVyZSAqLworCWZvciAoaSA9IDA7IGkgPCBudW1fbWVtb3J5X2NodW5rczsgaSsrKQorCQlub2RlX21lbW9yeV9jaHVua1tpXS5uaWQgPSBweG1fdG9fbm9kZShub2RlX21lbW9yeV9jaHVua1tpXS5weG0pOworCisJcHJpbnRrKEtFUk5fREVCVUcgInB4bSBiaXRtYXA6ICIpOworCWZvciAoaSA9IDA7IGkgPCBzaXplb2YocHhtX2JpdG1hcCk7IGkrKykgeworCQlwcmludGsoS0VSTl9DT05UICIlMDJ4ICIsIHB4bV9iaXRtYXBbaV0pOworCX0KKwlwcmludGsoS0VSTl9DT05UICJcbiIpOworCXByaW50ayhLRVJOX0RFQlVHICJOdW1iZXIgb2YgbG9naWNhbCBub2RlcyBpbiBzeXN0ZW0gPSAlZFxuIiwKKwkJCSBudW1fb25saW5lX25vZGVzKCkpOworCXByaW50ayhLRVJOX0RFQlVHICJOdW1iZXIgb2YgbWVtb3J5IGNodW5rcyBpbiBzeXN0ZW0gPSAlZFxuIiwKKwkJCSBudW1fbWVtb3J5X2NodW5rcyk7CisKKwlmb3IgKGkgPSAwOyBpIDwgTUFYX0FQSUNJRDsgaSsrKQorCQlhcGljaWRfMl9ub2RlW2ldID0gcHhtX3RvX25vZGUoYXBpY2lkX3RvX3B4bVtpXSk7CisKKwlmb3IgKGogPSAwOyBqIDwgbnVtX21lbW9yeV9jaHVua3M7IGorKyl7CisJCXN0cnVjdCBub2RlX21lbW9yeV9jaHVua19zICogY2h1bmsgPSAmbm9kZV9tZW1vcnlfY2h1bmtbal07CisJCXByaW50ayhLRVJOX0RFQlVHCisJCQkiY2h1bmsgJWQgbmlkICVkIHN0YXJ0X3BmbiAlMDhseCBlbmRfcGZuICUwOGx4XG4iLAorCQkgICAgICAgaiwgY2h1bmstPm5pZCwgY2h1bmstPnN0YXJ0X3BmbiwgY2h1bmstPmVuZF9wZm4pOworCQlub2RlX3JlYWRfY2h1bmsoY2h1bmstPm5pZCwgY2h1bmspOworCQllODIwX3JlZ2lzdGVyX2FjdGl2ZV9yZWdpb25zKGNodW5rLT5uaWQsIGNodW5rLT5zdGFydF9wZm4sCisJCQkJCSAgICAgbWluKGNodW5rLT5lbmRfcGZuLCBtYXhfcGZuKSk7CisJfQorCisJZm9yX2VhY2hfb25saW5lX25vZGUobmlkKSB7CisJCXVuc2lnbmVkIGxvbmcgc3RhcnQgPSBub2RlX3N0YXJ0X3BmbltuaWRdOworCQl1bnNpZ25lZCBsb25nIGVuZCA9IG1pbihub2RlX2VuZF9wZm5bbmlkXSwgbWF4X3Bmbik7CisKKwkJbWVtb3J5X3ByZXNlbnQobmlkLCBzdGFydCwgZW5kKTsKKwkJbm9kZV9yZW1hcF9zaXplW25pZF0gPSBub2RlX21lbW1hcF9zaXplX2J5dGVzKG5pZCwgc3RhcnQsIGVuZCk7CisJfQorCXJldHVybiAxOworb3V0X2ZhaWw6CisJcHJpbnRrKEtFUk5fRVJSICJmYWlsZWQgdG8gZ2V0IE5VTUEgbWVtb3J5IGluZm9ybWF0aW9uIGZyb20gU1JBVCIKKwkJCSIgdGFibGVcbiIpOworCXJldHVybiAwOworfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbW0vc3JhdF82NC5jIGIvYXJjaC94ODYvbW0vc3JhdF82NC5jCmluZGV4IDk5NjQ5ZGMuLjFiNDc2M2UgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L21tL3NyYXRfNjQuYworKysgYi9hcmNoL3g4Ni9tbS9zcmF0XzY0LmMKQEAgLTEwMCw3ICsxMDAsMTkgQEAKIC8qIENhbGxiYWNrIGZvciBTTElUIHBhcnNpbmcgKi8KIHZvaWQgX19pbml0IGFjcGlfbnVtYV9zbGl0X2luaXQoc3RydWN0IGFjcGlfdGFibGVfc2xpdCAqc2xpdCkKIHsKLQlhY3BpX3NsaXQgPSBzbGl0OworCXVuc2lnbmVkIGxlbmd0aDsKKwl1bnNpZ25lZCBsb25nIHBoeXM7CisKKwlsZW5ndGggPSBzbGl0LT5oZWFkZXIubGVuZ3RoOworCXBoeXMgPSBmaW5kX2U4MjBfYXJlYSgwLCBtYXhfcGZuX21hcHBlZDw8UEFHRV9TSElGVCwgbGVuZ3RoLAorCQkgUEFHRV9TSVpFKTsKKworCWlmIChwaHlzID09IC0xTCkKKwkJcGFuaWMoIiBDYW4gbm90IHNhdmUgc2xpdCFcbiIpOworCisJYWNwaV9zbGl0ID0gX192YShwaHlzKTsKKwltZW1jcHkoYWNwaV9zbGl0LCBzbGl0LCBsZW5ndGgpOworCXJlc2VydmVfZWFybHkocGh5cywgcGh5cyArIGxlbmd0aCwgIkFDUEkgU0xJVCIpOwogfQogCiAvKiBDYWxsYmFjayBmb3IgUHJveGltaXR5IERvbWFpbiAtPiBMQVBJQyBtYXBwaW5nICovCkBAIC0yOTksNyArMzExLDcgQEAKIAkJCXB4bXJhbSA9IDA7CiAJfQogCi0JZTgyMHJhbSA9IGVuZF9wZm4gLSBhYnNlbnRfcGFnZXNfaW5fcmFuZ2UoMCwgZW5kX3Bmbik7CisJZTgyMHJhbSA9IG1heF9wZm4gLSBhYnNlbnRfcGFnZXNfaW5fcmFuZ2UoMCwgbWF4X3Bmbik7CiAJLyogV2Ugc2VlbSB0byBsb3NlIDMgcGFnZXMgc29tZXdoZXJlLiBBbGxvdyBhIGJpdCBvZiBzbGFjay4gKi8KIAlpZiAoKGxvbmcpKGU4MjByYW0gLSBweG1yYW0pID49IDEqMTAyNCoxMDI0KSB7CiAJCXByaW50ayhLRVJOX0VSUgpAQCAtMzc2LDcgKzM4OCw3IEBACiAJCWlmIChub2RlID09IE5VTUFfTk9fTk9ERSkKIAkJCWNvbnRpbnVlOwogCQlpZiAoIW5vZGVfaXNzZXQobm9kZSwgbm9kZV9wb3NzaWJsZV9tYXApKQotCQkJbnVtYV9zZXRfbm9kZShpLCBOVU1BX05PX05PREUpOworCQkJbnVtYV9jbGVhcl9ub2RlKGkpOwogCX0KIAludW1hX2luaXRfYXJyYXkoKTsKIAlyZXR1cm4gMDsKQEAgLTQ5NSw2ICs1MDcsNyBAQAogCiBFWFBPUlRfU1lNQk9MKF9fbm9kZV9kaXN0YW5jZSk7CiAKKyNpZiBkZWZpbmVkKENPTkZJR19NRU1PUllfSE9UUExVR19TUEFSU0UpIHx8IGRlZmluZWQoQ09ORklHX0FDUElfSE9UUExVR19NRU1PUlkpCiBpbnQgbWVtb3J5X2FkZF9waHlzYWRkcl90b19uaWQodTY0IHN0YXJ0KQogewogCWludCBpLCByZXQgPSAwOwpAQCAtNTA2LDQgKzUxOSw0IEBACiAJcmV0dXJuIHJldDsKIH0KIEVYUE9SVF9TWU1CT0xfR1BMKG1lbW9yeV9hZGRfcGh5c2FkZHJfdG9fbmlkKTsKLQorI2VuZGlmCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tbS90ZXN0bW1pb3RyYWNlLmMgYi9hcmNoL3g4Ni9tbS90ZXN0bW1pb3RyYWNlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDg3N2M1YgotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gveDg2L21tL3Rlc3RtbWlvdHJhY2UuYwpAQCAtMCwwICsxLDcxIEBACisvKgorICogV3JpdHRlbiBieSBQZWtrYSBQYWFsYW5lbiwgMjAwOCA8cHFAaWtpLmZpPgorICovCisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvaW8uaD4KKworI2RlZmluZSBNT0RVTEVfTkFNRSAidGVzdG1taW90cmFjZSIKKworc3RhdGljIHVuc2lnbmVkIGxvbmcgbW1pb19hZGRyZXNzOworbW9kdWxlX3BhcmFtKG1taW9fYWRkcmVzcywgdWxvbmcsIDApOworTU9EVUxFX1BBUk1fREVTQyhtbWlvX2FkZHJlc3MsICJTdGFydCBhZGRyZXNzIG9mIHRoZSBtYXBwaW5nIG9mIDE2IGtCLiIpOworCitzdGF0aWMgdm9pZCBkb193cml0ZV90ZXN0KHZvaWQgX19pb21lbSAqcCkKK3sKKwl1bnNpZ25lZCBpbnQgaTsKKwlmb3IgKGkgPSAwOyBpIDwgMjU2OyBpKyspCisJCWlvd3JpdGU4KGksIHAgKyBpKTsKKwlmb3IgKGkgPSAxMDI0OyBpIDwgKDUgKiAxMDI0KTsgaSArPSAyKQorCQlpb3dyaXRlMTYoaSAqIDEyICsgNywgcCArIGkpOworCWZvciAoaSA9ICg1ICogMTAyNCk7IGkgPCAoMTYgKiAxMDI0KTsgaSArPSA0KQorCQlpb3dyaXRlMzIoaSAqIDIxMjM3MSArIDEzLCBwICsgaSk7Cit9CisKK3N0YXRpYyB2b2lkIGRvX3JlYWRfdGVzdCh2b2lkIF9faW9tZW0gKnApCit7CisJdW5zaWduZWQgaW50IGk7CisJZm9yIChpID0gMDsgaSA8IDI1NjsgaSsrKQorCQlpb3JlYWQ4KHAgKyBpKTsKKwlmb3IgKGkgPSAxMDI0OyBpIDwgKDUgKiAxMDI0KTsgaSArPSAyKQorCQlpb3JlYWQxNihwICsgaSk7CisJZm9yIChpID0gKDUgKiAxMDI0KTsgaSA8ICgxNiAqIDEwMjQpOyBpICs9IDQpCisJCWlvcmVhZDMyKHAgKyBpKTsKK30KKworc3RhdGljIHZvaWQgZG9fdGVzdCh2b2lkKQoreworCXZvaWQgX19pb21lbSAqcCA9IGlvcmVtYXBfbm9jYWNoZShtbWlvX2FkZHJlc3MsIDB4NDAwMCk7CisJaWYgKCFwKSB7CisJCXByX2VycihNT0RVTEVfTkFNRSAiOiBjb3VsZCBub3QgaW9yZW1hcCwgYWJvcnRpbmcuXG4iKTsKKwkJcmV0dXJuOworCX0KKwlkb193cml0ZV90ZXN0KHApOworCWRvX3JlYWRfdGVzdChwKTsKKwlpb3VubWFwKHApOworfQorCitzdGF0aWMgaW50IF9faW5pdCBpbml0KHZvaWQpCit7CisJaWYgKG1taW9fYWRkcmVzcyA9PSAwKSB7CisJCXByX2VycihNT0RVTEVfTkFNRSAiOiB5b3UgaGF2ZSB0byB1c2UgdGhlIG1vZHVsZSBhcmd1bWVudCAiCisJCQkJCQkJIm1taW9fYWRkcmVzcy5cbiIpOworCQlwcl9lcnIoTU9EVUxFX05BTUUgIjogRE8gTk9UIExPQUQgVEhJUyBNT0RVTEUgVU5MRVNTIgorCQkJCSIgWU9VIFJFQUxMWSBLTk9XIFdIQVQgWU9VIEFSRSBET0lORyFcbiIpOworCQlyZXR1cm4gLUVOWElPOworCX0KKworCXByX3dhcm5pbmcoTU9EVUxFX05BTUUgIjogV0FSTklORzogbWFwcGluZyAxNiBrQiBAIDB4JTA4bHggIgorCQkJCQkiaW4gUENJIGFkZHJlc3Mgc3BhY2UsIGFuZCB3cml0aW5nICIKKwkJCQkJInJ1YmJpc2ggaW4gdGhlcmUuXG4iLCBtbWlvX2FkZHJlc3MpOworCWRvX3Rlc3QoKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgX19leGl0IGNsZWFudXAodm9pZCkKK3sKKwlwcl9kZWJ1ZyhNT0RVTEVfTkFNRSAiOiB1bmxvYWRlZC5cbiIpOworfQorCittb2R1bGVfaW5pdChpbml0KTsKK21vZHVsZV9leGl0KGNsZWFudXApOworTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvb3Byb2ZpbGUvbm1pX2ludC5jIGIvYXJjaC94ODYvb3Byb2ZpbGUvbm1pX2ludC5jCmluZGV4IGNjNDhkM2YuLjdmMzMyOWIgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L29wcm9maWxlL25taV9pbnQuYworKysgYi9hcmNoL3g4Ni9vcHJvZmlsZS9ubWlfaW50LmMKQEAgLTIxOCw4ICsyMTgsOCBAQAogCQl9CiAKIAl9Ci0Jb25fZWFjaF9jcHUobm1pX3NhdmVfcmVnaXN0ZXJzLCBOVUxMLCAwLCAxKTsKLQlvbl9lYWNoX2NwdShubWlfY3B1X3NldHVwLCBOVUxMLCAwLCAxKTsKKwlvbl9lYWNoX2NwdShubWlfc2F2ZV9yZWdpc3RlcnMsIE5VTEwsIDEpOworCW9uX2VhY2hfY3B1KG5taV9jcHVfc2V0dXAsIE5VTEwsIDEpOwogCW5taV9lbmFibGVkID0gMTsKIAlyZXR1cm4gMDsKIH0KQEAgLTI2OSwxMiArMjY5LDEzIEBACiAKIHN0YXRpYyB2b2lkIG5taV9zaHV0ZG93bih2b2lkKQogewotCXN0cnVjdCBvcF9tc3JzICptc3JzID0gJl9fZ2V0X2NwdV92YXIoY3B1X21zcnMpOworCXN0cnVjdCBvcF9tc3JzICptc3JzID0gJmdldF9jcHVfdmFyKGNwdV9tc3JzKTsKIAlubWlfZW5hYmxlZCA9IDA7Ci0Jb25fZWFjaF9jcHUobm1pX2NwdV9zaHV0ZG93biwgTlVMTCwgMCwgMSk7CisJb25fZWFjaF9jcHUobm1pX2NwdV9zaHV0ZG93biwgTlVMTCwgMSk7CiAJdW5yZWdpc3Rlcl9kaWVfbm90aWZpZXIoJnByb2ZpbGVfZXhjZXB0aW9uc19uYik7CiAJbW9kZWwtPnNodXRkb3duKG1zcnMpOwogCWZyZWVfbXNycygpOworCXB1dF9jcHVfdmFyKGNwdV9tc3JzKTsKIH0KIAogc3RhdGljIHZvaWQgbm1pX2NwdV9zdGFydCh2b2lkICpkdW1teSkKQEAgLTI4NSw3ICsyODYsNyBAQAogCiBzdGF0aWMgaW50IG5taV9zdGFydCh2b2lkKQogewotCW9uX2VhY2hfY3B1KG5taV9jcHVfc3RhcnQsIE5VTEwsIDAsIDEpOworCW9uX2VhY2hfY3B1KG5taV9jcHVfc3RhcnQsIE5VTEwsIDEpOwogCXJldHVybiAwOwogfQogCkBAIC0yOTcsNyArMjk4LDcgQEAKIAogc3RhdGljIHZvaWQgbm1pX3N0b3Aodm9pZCkKIHsKLQlvbl9lYWNoX2NwdShubWlfY3B1X3N0b3AsIE5VTEwsIDAsIDEpOworCW9uX2VhY2hfY3B1KG5taV9jcHVfc3RvcCwgTlVMTCwgMSk7CiB9CiAKIHN0cnVjdCBvcF9jb3VudGVyX2NvbmZpZyBjb3VudGVyX2NvbmZpZ1tPUF9NQVhfQ09VTlRFUl07CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9wY2kvTWFrZWZpbGUgYi9hcmNoL3g4Ni9wY2kvTWFrZWZpbGUKaW5kZXggYzVjOGU0OC4uZTUxNWU4ZCAxMDA2NDQKLS0tIGEvYXJjaC94ODYvcGNpL01ha2VmaWxlCisrKyBiL2FyY2gveDg2L3BjaS9NYWtlZmlsZQpAQCAtMSw1ICsxLDE3IEBACi1pZmVxICgkKENPTkZJR19YODZfMzIpLHkpCi1pbmNsdWRlICR7c3JjdHJlZX0vYXJjaC94ODYvcGNpL01ha2VmaWxlXzMyCi1lbHNlCi1pbmNsdWRlICR7c3JjdHJlZX0vYXJjaC94ODYvcGNpL01ha2VmaWxlXzY0Ci1lbmRpZgorb2JqLXkJCQkJOj0gaTM4Ni5vIGluaXQubworCitvYmotJChDT05GSUdfUENJX0JJT1MpCQkrPSBwY2Jpb3Mubworb2JqLSQoQ09ORklHX1BDSV9NTUNPTkZJRykJKz0gbW1jb25maWdfJChCSVRTKS5vIGRpcmVjdC5vIG1tY29uZmlnLXNoYXJlZC5vCitvYmotJChDT05GSUdfUENJX0RJUkVDVCkJKz0gZGlyZWN0Lm8KK29iai0kKENPTkZJR19QQ0lfT0xQQykJCSs9IG9scGMubworCitwY2kteQkJCQk6PSBmaXh1cC5vCitwY2ktJChDT05GSUdfQUNQSSkJCSs9IGFjcGkubworcGNpLXkJCQkJKz0gbGVnYWN5Lm8gaXJxLm8KKworcGNpLSQoQ09ORklHX1g4Nl9WSVNXUykJCSs9IHZpc3dzLm8KKworcGNpLSQoQ09ORklHX1g4Nl9OVU1BUSkJCSs9IG51bWEubworCitvYmoteQkJCQkrPSAkKHBjaS15KSBjb21tb24ubyBlYXJseS5vCitvYmoteQkJCQkrPSBhbWRfYnVzLm8KZGlmZiAtLWdpdCBhL2FyY2gveDg2L3BjaS9NYWtlZmlsZV8zMiBiL2FyY2gveDg2L3BjaS9NYWtlZmlsZV8zMgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODllYzM1ZC4uMDAwMDAwMAotLS0gYS9hcmNoL3g4Ni9wY2kvTWFrZWZpbGVfMzIKKysrIC9kZXYvbnVsbApAQCAtMSwyNCArMCwwIEBACi1vYmoteQkJCQk6PSBpMzg2Lm8gaW5pdC5vCi0KLW9iai0kKENPTkZJR19QQ0lfQklPUykJCSs9IHBjYmlvcy5vCi1vYmotJChDT05GSUdfUENJX01NQ09ORklHKQkrPSBtbWNvbmZpZ18zMi5vIGRpcmVjdC5vIG1tY29uZmlnLXNoYXJlZC5vCi1vYmotJChDT05GSUdfUENJX0RJUkVDVCkJKz0gZGlyZWN0Lm8KLW9iai0kKENPTkZJR19QQ0lfT0xQQykJCSs9IG9scGMubwotCi1wY2kteQkJCQk6PSBmaXh1cC5vCi0KLSMgRG8gbm90IGNoYW5nZSB0aGUgb3JkZXJpbmcgaGVyZS4gVGhlcmUgaXMgYSBuYXN0eSBpbml0IGZ1bmN0aW9uCi0jIG9yZGVyaW5nIGRlcGVuZGVuY3kgd2hpY2ggYnJlYWtzIHdoZW4geW91IG1vdmUgYWNwaS5vIGJlbG93Ci0jIGxlZ2FjeS9pcnEubwotcGNpLSQoQ09ORklHX0FDUEkpCQkrPSBhY3BpLm8KLXBjaS15CQkJCSs9IGxlZ2FjeS5vIGlycS5vCi0KLSMgQ2FyZWZ1bDogVklTV1MgYW5kIE5VTUFRIG92ZXJydWxlIHRoZSBwY2kteSBhYm92ZS4gVGhlIGNvbG9ucyBhcmUKLSMgdGhlcmVmb3IgY29ycmVjdC4gVGhpcyBuZWVkcyBhIHByb3BlciBmaXggYnkgZGlzdGFuZ2xpbmcgdGhlIGNvZGUuCi1wY2ktJChDT05GSUdfWDg2X1ZJU1dTKQkJOj0gdmlzd3MubyBmaXh1cC5vCi1wY2ktJChDT05GSUdfWDg2X05VTUFRKQkJOj0gbnVtYS5vIGlycS5vCi0KLSMgTmVjZXNzYXJ5IGZvciBOVU1BUSBhcyB3ZWxsCi1wY2ktJChDT05GSUdfTlVNQSkJCSs9IG1wX2J1c190b19ub2RlLm8KLQotb2JqLXkJCQkJKz0gJChwY2kteSkgY29tbW9uLm8gZWFybHkubwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvcGNpL01ha2VmaWxlXzY0IGIvYXJjaC94ODYvcGNpL01ha2VmaWxlXzY0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4ZmJkMTk4Li4wMDAwMDAwCi0tLSBhL2FyY2gveDg2L3BjaS9NYWtlZmlsZV82NAorKysgL2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLSMKLSMgTWFrZWZpbGUgZm9yIFg4Nl82NCBzcGVjaWZpYyBQQ0kgcm91dGluZXMKLSMKLSMgUmV1c2UgdGhlIGkzODYgUENJIHN1YnN5c3RlbQotIwotRVhUUkFfQ0ZMQUdTICs9IC1JYXJjaC94ODYvcGNpCi0KLW9iai15CQk6PSBpMzg2Lm8KLW9iai0kKENPTkZJR19QQ0lfRElSRUNUKSs9IGRpcmVjdC5vCi1vYmoteQkJKz0gZml4dXAubyBpbml0Lm8KLW9iai0kKENPTkZJR19BQ1BJKQkrPSBhY3BpLm8KLW9iai15CQkJKz0gbGVnYWN5Lm8gaXJxLm8gY29tbW9uLm8gZWFybHkubwotIyBtbWNvbmZpZyBoYXMgYSA2NGJpdCBzcGVjaWFsCi1vYmotJChDT05GSUdfUENJX01NQ09ORklHKSArPSBtbWNvbmZpZ182NC5vIGRpcmVjdC5vIG1tY29uZmlnLXNoYXJlZC5vCi0KLW9iai15CQkrPSBrOC1idXNfNjQubwotCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9wY2kvYWNwaS5jIGIvYXJjaC94ODYvcGNpL2FjcGkuYwppbmRleCBkOTVkZTJmLi4xOWFmMDY5IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9wY2kvYWNwaS5jCisrKyBiL2FyY2gveDg2L3BjaS9hY3BpLmMKQEAgLTE3MSw4ICsxNzEsMTEgQEAKIAlpZiAobm9kZSAhPSAtMSkKIAkJc2V0X21wX2J1c190b19ub2RlKGJ1c251bSwgbm9kZSk7CiAJZWxzZQotCQlub2RlID0gZ2V0X21wX2J1c190b19ub2RlKGJ1c251bSk7CiAjZW5kaWYKKwkJbm9kZSA9IGdldF9tcF9idXNfdG9fbm9kZShidXNudW0pOworCisJaWYgKG5vZGUgIT0gLTEgJiYgIW5vZGVfb25saW5lKG5vZGUpKQorCQlub2RlID0gLTE7CiAKIAkvKiBBbGxvY2F0ZSBwZXItcm9vdC1idXMgKG5vdCBwZXIgYnVzKSBhcmNoLXNwZWNpZmljIGRhdGEuCiAJICogVE9ETzogbGVhazsgdGhpcyBtZW1vcnkgaXMgbmV2ZXIgZnJlZWQuCkBAIC0yMDQsMjIgKzIwNywyMyBAQAogCWlmICghYnVzKQogCQlrZnJlZShzZCk7CiAKKwlpZiAoYnVzICYmIG5vZGUgIT0gLTEpIHsKICNpZmRlZiBDT05GSUdfQUNQSV9OVU1BCi0JaWYgKGJ1cykgewotCQlpZiAocHhtID49IDApIHsKKwkJaWYgKHB4bSA+PSAwKQogCQkJcHJpbnRrKEtFUk5fREVCVUcgImJ1cyAlMDJ4IC0+IHB4bSAlZCAtPiBub2RlICVkXG4iLAotCQkJCWJ1c251bSwgcHhtLCBweG1fdG9fbm9kZShweG0pKTsKLQkJfQotCX0KKwkJCQlidXNudW0sIHB4bSwgbm9kZSk7CisjZWxzZQorCQlwcmludGsoS0VSTl9ERUJVRyAiYnVzICUwMnggLT4gbm9kZSAlZFxuIiwKKwkJCWJ1c251bSwgbm9kZSk7CiAjZW5kaWYKKwl9CiAKIAlpZiAoYnVzICYmIChwY2lfcHJvYmUgJiBQQ0lfVVNFX19DUlMpKQogCQlnZXRfY3VycmVudF9yZXNvdXJjZXMoZGV2aWNlLCBidXNudW0sIGRvbWFpbiwgYnVzKTsKIAlyZXR1cm4gYnVzOwogfQogCi1leHRlcm4gaW50IHBjaV9yb3V0ZWlycTsKLXN0YXRpYyBpbnQgX19pbml0IHBjaV9hY3BpX2luaXQodm9pZCkKK2ludCBfX2luaXQgcGNpX2FjcGlfaW5pdCh2b2lkKQogewogCXN0cnVjdCBwY2lfZGV2ICpkZXYgPSBOVUxMOwogCkBAIC0yNTMsNCArMjU3LDMgQEAKIAogCXJldHVybiAwOwogfQotc3Vic3lzX2luaXRjYWxsKHBjaV9hY3BpX2luaXQpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvcGNpL2s4LWJ1c182NC5jIGIvYXJjaC94ODYvcGNpL2FtZF9idXMuYwpzaW1pbGFyaXR5IGluZGV4IDkxJQpyZW5hbWUgZnJvbSBhcmNoL3g4Ni9wY2kvazgtYnVzXzY0LmMKcmVuYW1lIHRvIGFyY2gveDg2L3BjaS9hbWRfYnVzLmMKaW5kZXggNWMyNzk5Yy4uZGJmNTMyMyAxMDA2NDQKLS0tIGEvYXJjaC94ODYvcGNpL2s4LWJ1c182NC5jCisrKyBiL2FyY2gveDg2L3BjaS9hbWRfYnVzLmMKQEAgLTEsNDAgKzEsMjUgQEAKICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvcGNpLmg+CisjaW5jbHVkZSA8bGludXgvdG9wb2xvZ3kuaD4KKyNpbmNsdWRlICJwY2kuaCIKKworI2lmZGVmIENPTkZJR19YODZfNjQKICNpbmNsdWRlIDxhc20vcGNpLWRpcmVjdC5oPgogI2luY2x1ZGUgPGFzbS9tcHNwZWMuaD4KICNpbmNsdWRlIDxsaW51eC9jcHVtYXNrLmg+Ci0jaW5jbHVkZSA8bGludXgvdG9wb2xvZ3kuaD4KKyNlbmRpZgogCiAvKgogICogVGhpcyBkaXNjb3ZlcnMgdGhlIHBjaWJ1cyA8LT4gbm9kZSBtYXBwaW5nIG9uIEFNRCBLOC4KICAqIGFsc28gZ2V0IHBlZXIgcm9vdCBidXMgcmVzb3VyY2UgZm9yIGlvLG1taW8KICAqLwogCi0KLS8qCi0gKiBzdWIgYnVzICh0cmFuc3BhcmVudCkgd2lsbCB1c2UgZW50cmVzIGZyb20gMyB0byBzdG9yZSBleHRyYSBmcm9tIHJvb3QsCi0gKiBzbyBuZWVkIHRvIG1ha2Ugc3VyZSBoYXZlIGVub3VnaHQgc2xvdCB0aGVyZSwgaW5jcmVhc2UgUENJX0JVU19OVU1fUkVTT1VSQ0VTPwotICovCi0jZGVmaW5lIFJFU19OVU0gMTYKLXN0cnVjdCBwY2lfcm9vdF9pbmZvIHsKLQljaGFyIG5hbWVbMTJdOwotCXVuc2lnbmVkIGludCByZXNfbnVtOwotCXN0cnVjdCByZXNvdXJjZSByZXNbUkVTX05VTV07Ci0JaW50IGJ1c19taW47Ci0JaW50IGJ1c19tYXg7Ci0JaW50IG5vZGU7Ci0JaW50IGxpbms7Ci19OwotCi0vKiA0IGF0IHRoaXMgdGltZSwgaXQgbWF5IGJlY29tZSB0byAzMiAqLwotI2RlZmluZSBQQ0lfUk9PVF9OUiA0Ci1zdGF0aWMgaW50IHBjaV9yb290X251bTsKLXN0YXRpYyBzdHJ1Y3QgcGNpX3Jvb3RfaW5mbyBwY2lfcm9vdF9pbmZvW1BDSV9ST09UX05SXTsKLQogI2lmZGVmIENPTkZJR19OVU1BCiAKICNkZWZpbmUgQlVTX05SIDI1NgogCisjaWZkZWYgQ09ORklHX1g4Nl82NAorCiBzdGF0aWMgaW50IG1wX2J1c190b19ub2RlW0JVU19OUl07CiAKIHZvaWQgc2V0X21wX2J1c190b19ub2RlKGludCBidXNudW0sIGludCBub2RlKQpAQCAtNjEsNyArNDYsNTIgQEAKIAogCXJldHVybiBub2RlOwogfQotI2VuZGlmCisKKyNlbHNlIC8qIENPTkZJR19YODZfMzIgKi8KKworc3RhdGljIHVuc2lnbmVkIGNoYXIgbXBfYnVzX3RvX25vZGVbQlVTX05SXTsKKwordm9pZCBzZXRfbXBfYnVzX3RvX25vZGUoaW50IGJ1c251bSwgaW50IG5vZGUpCit7CisJaWYgKGJ1c251bSA+PSAwICYmICBidXNudW0gPCBCVVNfTlIpCisJbXBfYnVzX3RvX25vZGVbYnVzbnVtXSA9ICh1bnNpZ25lZCBjaGFyKSBub2RlOworfQorCitpbnQgZ2V0X21wX2J1c190b19ub2RlKGludCBidXNudW0pCit7CisJaW50IG5vZGU7CisKKwlpZiAoYnVzbnVtIDwgMCB8fCBidXNudW0gPiAoQlVTX05SIC0gMSkpCisJCXJldHVybiAwOworCW5vZGUgPSBtcF9idXNfdG9fbm9kZVtidXNudW1dOworCXJldHVybiBub2RlOworfQorCisjZW5kaWYgLyogQ09ORklHX1g4Nl8zMiAqLworCisjZW5kaWYgLyogQ09ORklHX05VTUEgKi8KKworI2lmZGVmIENPTkZJR19YODZfNjQKKworLyoKKyAqIHN1YiBidXMgKHRyYW5zcGFyZW50KSB3aWxsIHVzZSBlbnRyZXMgZnJvbSAzIHRvIHN0b3JlIGV4dHJhIGZyb20gcm9vdCwKKyAqIHNvIG5lZWQgdG8gbWFrZSBzdXJlIGhhdmUgZW5vdWdodCBzbG90IHRoZXJlLCBpbmNyZWFzZSBQQ0lfQlVTX05VTV9SRVNPVVJDRVM/CisgKi8KKyNkZWZpbmUgUkVTX05VTSAxNgorc3RydWN0IHBjaV9yb290X2luZm8geworCWNoYXIgbmFtZVsxMl07CisJdW5zaWduZWQgaW50IHJlc19udW07CisJc3RydWN0IHJlc291cmNlIHJlc1tSRVNfTlVNXTsKKwlpbnQgYnVzX21pbjsKKwlpbnQgYnVzX21heDsKKwlpbnQgbm9kZTsKKwlpbnQgbGluazsKK307CisKKy8qIDQgYXQgdGhpcyB0aW1lLCBpdCBtYXkgYmVjb21lIHRvIDMyICovCisjZGVmaW5lIFBDSV9ST09UX05SIDQKK3N0YXRpYyBpbnQgcGNpX3Jvb3RfbnVtOworc3RhdGljIHN0cnVjdCBwY2lfcm9vdF9pbmZvIHBjaV9yb290X2luZm9bUENJX1JPT1RfTlJdOwogCiB2b2lkIHNldF9wY2lfYnVzX3Jlc291cmNlc19hcmNoX2RlZmF1bHQoc3RydWN0IHBjaV9idXMgKmIpCiB7CkBAIC0zODQsNyArNDE0LDcgQEAKIAkvKiBuZWVkIHRvIHRha2Ugb3V0IFswLCBUT00pIGZvciBSQU0qLwogCWFkZHJlc3MgPSBNU1JfSzhfVE9QX01FTTE7CiAJcmRtc3JsKGFkZHJlc3MsIHZhbCk7Ci0JZW5kID0gKHZhbCAmIDB4ZmZmZmZmODAwMDAwMFVMTCk7CisJZW5kID0gKHZhbCAmIDB4ZmZmZmZmODAwMDAwVUxMKTsKIAlwcmludGsoS0VSTl9JTkZPICJUT006ICUwMTZseCBha2EgJWxkTVxuIiwgZW5kLCBlbmQ+PjIwKTsKIAlpZiAoZW5kIDwgKDFVTEw8PDMyKSkKIAkJdXBkYXRlX3JhbmdlKHJhbmdlLCAwLCBlbmQgLSAxKTsKQEAgLTQ3OCw3ICs1MDgsNyBAQAogCQkvKiBUT1BfTUVNMiAqLwogCQlhZGRyZXNzID0gTVNSX0s4X1RPUF9NRU0yOwogCQlyZG1zcmwoYWRkcmVzcywgdmFsKTsKLQkJZW5kID0gKHZhbCAmIDB4ZmZmZmZmODAwMDAwMFVMTCk7CisJCWVuZCA9ICh2YWwgJiAweGZmZmZmZjgwMDAwMFVMTCk7CiAJCXByaW50ayhLRVJOX0lORk8gIlRPTTI6ICUwMTZseCBha2EgJWxkTVxuIiwgZW5kLCBlbmQ+PjIwKTsKIAkJdXBkYXRlX3JhbmdlKHJhbmdlLCAxVUxMPDwzMiwgZW5kIC0gMSk7CiAJfQpAQCAtNTI2LDMgKzU1NiwzMSBAQAogfQogCiBwb3N0Y29yZV9pbml0Y2FsbChlYXJseV9maWxsX21wX2J1c19pbmZvKTsKKworI2VuZGlmCisKKy8qIGNvbW1vbiAzMi82NCBiaXQgY29kZSAqLworCisjZGVmaW5lIEVOQUJMRV9DRjhfRVhUX0NGRyAgICAgICgxVUxMIDw8IDQ2KQorCitzdGF0aWMgdm9pZCBlbmFibGVfcGNpX2lvX2Vjc19wZXJfY3B1KHZvaWQgKnVudXNlZCkKK3sKKwl1NjQgcmVnOworCXJkbXNybChNU1JfQU1ENjRfTkJfQ0ZHLCByZWcpOworCWlmICghKHJlZyAmIEVOQUJMRV9DRjhfRVhUX0NGRykpIHsKKwkJcmVnIHw9IEVOQUJMRV9DRjhfRVhUX0NGRzsKKwkJd3Jtc3JsKE1TUl9BTUQ2NF9OQl9DRkcsIHJlZyk7CisJfQorfQorCitzdGF0aWMgaW50IF9faW5pdCBlbmFibGVfcGNpX2lvX2Vjcyh2b2lkKQoreworCS8qIGFzc3VtZSBhbGwgY3B1cyBmcm9tIGZhbTEwaCBoYXZlIElPIEVDUyAqLworICAgICAgICBpZiAoYm9vdF9jcHVfZGF0YS54ODYgPCAweDEwKQorCQlyZXR1cm4gMDsKKwlvbl9lYWNoX2NwdShlbmFibGVfcGNpX2lvX2Vjc19wZXJfY3B1LCBOVUxMLCAxKTsKKwlwY2lfcHJvYmUgfD0gUENJX0hBU19JT19FQ1M7CisJcmV0dXJuIDA7Cit9CisKK3Bvc3Rjb3JlX2luaXRjYWxsKGVuYWJsZV9wY2lfaW9fZWNzKTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L3BjaS9jb21tb24uYyBiL2FyY2gveDg2L3BjaS9jb21tb24uYwppbmRleCA2ZTY0YWFmLi4yMGI5ZjU5IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9wY2kvY29tbW9uLmMKKysrIGIvYXJjaC94ODYvcGNpL2NvbW1vbi5jCkBAIC0zODQsNyArMzg0LDcgQEAKIAogZXh0ZXJuIHU4IHBjaV9jYWNoZV9saW5lX3NpemU7CiAKLXN0YXRpYyBpbnQgX19pbml0IHBjaWJpb3NfaW5pdCh2b2lkKQoraW50IF9faW5pdCBwY2liaW9zX2luaXQodm9pZCkKIHsKIAlzdHJ1Y3QgY3B1aW5mb194ODYgKmMgPSAmYm9vdF9jcHVfZGF0YTsKIApAQCAtNDExLDggKzQxMSw2IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN1YnN5c19pbml0Y2FsbChwY2liaW9zX2luaXQpOwotCiBjaGFyICogX19kZXZpbml0ICBwY2liaW9zX3NldHVwKGNoYXIgKnN0cikKIHsKIAlpZiAoIXN0cmNtcChzdHIsICJvZmYiKSkgewpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvcGNpL2RpcmVjdC5jIGIvYXJjaC94ODYvcGNpL2RpcmVjdC5jCmluZGV4IDIxZDFlMGUuLjk5MTUyOTMgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3BjaS9kaXJlY3QuYworKysgYi9hcmNoL3g4Ni9wY2kvZGlyZWN0LmMKQEAgLTgsMTggKzgsMjEgQEAKICNpbmNsdWRlICJwY2kuaCIKIAogLyoKLSAqIEZ1bmN0aW9ucyBmb3IgYWNjZXNzaW5nIFBDSSBjb25maWd1cmF0aW9uIHNwYWNlIHdpdGggdHlwZSAxIGFjY2Vzc2VzCisgKiBGdW5jdGlvbnMgZm9yIGFjY2Vzc2luZyBQQ0kgYmFzZSAoZmlyc3QgMjU2IGJ5dGVzKSBhbmQgZXh0ZW5kZWQKKyAqICg0MDk2IGJ5dGVzIHBlciBQQ0kgZnVuY3Rpb24pIGNvbmZpZ3VyYXRpb24gc3BhY2Ugd2l0aCB0eXBlIDEKKyAqIGFjY2Vzc2VzLgogICovCiAKICNkZWZpbmUgUENJX0NPTkYxX0FERFJFU1MoYnVzLCBkZXZmbiwgcmVnKSBcCi0JKDB4ODAwMDAwMDAgfCAoYnVzIDw8IDE2KSB8IChkZXZmbiA8PCA4KSB8IChyZWcgJiB+MykpCisJKDB4ODAwMDAwMDAgfCAoKHJlZyAmIDB4RjAwKSA8PCAxNikgfCAoYnVzIDw8IDE2KSBcCisJfCAoZGV2Zm4gPDwgOCkgfCAocmVnICYgMHhGQykpCiAKIHN0YXRpYyBpbnQgcGNpX2NvbmYxX3JlYWQodW5zaWduZWQgaW50IHNlZywgdW5zaWduZWQgaW50IGJ1cywKIAkJCSAgdW5zaWduZWQgaW50IGRldmZuLCBpbnQgcmVnLCBpbnQgbGVuLCB1MzIgKnZhbHVlKQogewogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAKLQlpZiAoKGJ1cyA+IDI1NSkgfHwgKGRldmZuID4gMjU1KSB8fCAocmVnID4gMjU1KSkgeworCWlmICgoYnVzID4gMjU1KSB8fCAoZGV2Zm4gPiAyNTUpIHx8IChyZWcgPiA0MDk1KSkgewogCQkqdmFsdWUgPSAtMTsKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQpAQCAtNTAsNyArNTMsNyBAQAogewogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAKLQlpZiAoKGJ1cyA+IDI1NSkgfHwgKGRldmZuID4gMjU1KSB8fCAocmVnID4gMjU1KSkgCisJaWYgKChidXMgPiAyNTUpIHx8IChkZXZmbiA+IDI1NSkgfHwgKHJlZyA+IDQwOTUpKQogCQlyZXR1cm4gLUVJTlZBTDsKIAogCXNwaW5fbG9ja19pcnFzYXZlKCZwY2lfY29uZmlnX2xvY2ssIGZsYWdzKTsKQEAgLTI2MCwxMCArMjYzLDE4IEBACiAJCXJldHVybjsKIAlwcmludGsoS0VSTl9JTkZPICJQQ0k6IFVzaW5nIGNvbmZpZ3VyYXRpb24gdHlwZSAlZCBmb3IgYmFzZSBhY2Nlc3NcbiIsCiAJCSB0eXBlKTsKLQlpZiAodHlwZSA9PSAxKQorCWlmICh0eXBlID09IDEpIHsKIAkJcmF3X3BjaV9vcHMgPSAmcGNpX2RpcmVjdF9jb25mMTsKLQllbHNlCi0JCXJhd19wY2lfb3BzID0gJnBjaV9kaXJlY3RfY29uZjI7CisJCWlmIChyYXdfcGNpX2V4dF9vcHMpCisJCQlyZXR1cm47CisJCWlmICghKHBjaV9wcm9iZSAmIFBDSV9IQVNfSU9fRUNTKSkKKwkJCXJldHVybjsKKwkJcHJpbnRrKEtFUk5fSU5GTyAiUENJOiBVc2luZyBjb25maWd1cmF0aW9uIHR5cGUgMSAiCisJCSAgICAgICAiZm9yIGV4dGVuZGVkIGFjY2Vzc1xuIik7CisJCXJhd19wY2lfZXh0X29wcyA9ICZwY2lfZGlyZWN0X2NvbmYxOworCQlyZXR1cm47CisJfQorCXJhd19wY2lfb3BzID0gJnBjaV9kaXJlY3RfY29uZjI7CiB9CiAKIGludCBfX2luaXQgcGNpX2RpcmVjdF9wcm9iZSh2b2lkKQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvcGNpL2kzODYuYyBiL2FyY2gveDg2L3BjaS9pMzg2LmMKaW5kZXggMTBmYjMwOC4uMmFhZmI2NyAxMDA2NDQKLS0tIGEvYXJjaC94ODYvcGNpL2kzODYuYworKysgYi9hcmNoL3g4Ni9wY2kvaTM4Ni5jCkBAIC0yOTksOSArMjk5LDkgQEAKIAkJcmV0dXJuIC1FSU5WQUw7CiAKIAlwcm90ID0gcGdwcm90X3ZhbCh2bWEtPnZtX3BhZ2VfcHJvdCk7Ci0JaWYgKHBhdF93Y19lbmFibGVkICYmIHdyaXRlX2NvbWJpbmUpCisJaWYgKHBhdF9lbmFibGVkICYmIHdyaXRlX2NvbWJpbmUpCiAJCXByb3QgfD0gX1BBR0VfQ0FDSEVfV0M7Ci0JZWxzZSBpZiAocGF0X3djX2VuYWJsZWQgfHwgYm9vdF9jcHVfZGF0YS54ODYgPiAzKQorCWVsc2UgaWYgKHBhdF9lbmFibGVkIHx8IGJvb3RfY3B1X2RhdGEueDg2ID4gMykKIAkJLyoKIAkJICogaW9yZW1hcCgpIGFuZCBpb3JlbWFwX25vY2FjaGUoKSBkZWZhdWx0cyB0byBVQyBNSU5VUyBmb3Igbm93LgogCQkgKiBUbyBhdm9pZCBhdHRyaWJ1dGUgY29uZmxpY3RzLCByZXF1ZXN0IFVDIE1JTlVTIGhlcmUKQEAgLTMzNCw3ICszMzQsOSBAQAogCQlmbGFncyA9IG5ld19mbGFnczsKIAl9CiAKLQlpZiAodm1hLT52bV9wZ29mZiA8PSBtYXhfcGZuX21hcHBlZCAmJgorCWlmICgoKHZtYS0+dm1fcGdvZmYgPCBtYXhfbG93X3Bmbl9tYXBwZWQpIHx8CisJICAgICAodm1hLT52bV9wZ29mZiA+PSAoMVVMPDwoMzIgLSBQQUdFX1NISUZUKSkgJiYKKwkgICAgICB2bWEtPnZtX3Bnb2ZmIDwgbWF4X3Bmbl9tYXBwZWQpKSAmJgogCSAgICBpb3JlbWFwX2NoYW5nZV9hdHRyKCh1bnNpZ25lZCBsb25nKV9fdmEoYWRkciksIGxlbiwgZmxhZ3MpKSB7CiAJCWZyZWVfbWVtdHlwZShhZGRyLCBhZGRyICsgbGVuKTsKIAkJcmV0dXJuIC1FSU5WQUw7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9wY2kvaW5pdC5jIGIvYXJjaC94ODYvcGNpL2luaXQuYwppbmRleCBiODIxZjQ0Li5kNmM5NTBmIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9wY2kvaW5pdC5jCisrKyBiL2FyY2gveDg2L3BjaS9pbml0LmMKQEAgLTQsNyArNCw3IEBACiAKIC8qIGFyY2hfaW5pdGNhbGwgaGFzIHRvbyByYW5kb20gb3JkZXJpbmcsIHNvIGNhbGwgdGhlIGluaXRpYWxpemVycwogICAgaW4gdGhlIHJpZ2h0IHNlcXVlbmNlIGZyb20gaGVyZS4gKi8KLXN0YXRpYyBfX2luaXQgaW50IHBjaV9hY2Nlc3NfaW5pdCh2b2lkKQorc3RhdGljIF9faW5pdCBpbnQgcGNpX2FyY2hfaW5pdCh2b2lkKQogewogI2lmZGVmIENPTkZJR19QQ0lfRElSRUNUCiAJaW50IHR5cGUgPSAwOwpAQCAtNDAsNCArNDAsNCBAQAogCiAJcmV0dXJuIDA7CiB9Ci1hcmNoX2luaXRjYWxsKHBjaV9hY2Nlc3NfaW5pdCk7CithcmNoX2luaXRjYWxsKHBjaV9hcmNoX2luaXQpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvcGNpL2lycS5jIGIvYXJjaC94ODYvcGNpL2lycS5jCmluZGV4IGNhOGRmOWMuLmRjNTY4YzYgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3BjaS9pcnEuYworKysgYi9hcmNoL3g4Ni9wY2kvaXJxLmMKQEAgLTExLDggKzExLDggQEAKICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CiAjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CiAjaW5jbHVkZSA8bGludXgvZG1pLmg+Ci0jaW5jbHVkZSA8YXNtL2lvLmg+Ci0jaW5jbHVkZSA8YXNtL3NtcC5oPgorI2luY2x1ZGUgPGxpbnV4L2lvLmg+CisjaW5jbHVkZSA8bGludXgvc21wLmg+CiAjaW5jbHVkZSA8YXNtL2lvX2FwaWMuaD4KICNpbmNsdWRlIDxsaW51eC9pcnEuaD4KICNpbmNsdWRlIDxsaW51eC9hY3BpLmg+CkBAIC02MSw3ICs2MSw3IEBACiAgKiAgYW5kIHBlcmZvcm0gY2hlY2tzdW0gdmVyaWZpY2F0aW9uLgogICovCiAKLXN0YXRpYyBpbmxpbmUgc3RydWN0IGlycV9yb3V0aW5nX3RhYmxlICogcGlycV9jaGVja19yb3V0aW5nX3RhYmxlKHU4ICphZGRyKQorc3RhdGljIGlubGluZSBzdHJ1Y3QgaXJxX3JvdXRpbmdfdGFibGUgKnBpcnFfY2hlY2tfcm91dGluZ190YWJsZSh1OCAqYWRkcikKIHsKIAlzdHJ1Y3QgaXJxX3JvdXRpbmdfdGFibGUgKnJ0OwogCWludCBpOwpAQCAtNzQsNyArNzQsNyBAQAogCSAgICBydC0+c2l6ZSA8IHNpemVvZihzdHJ1Y3QgaXJxX3JvdXRpbmdfdGFibGUpKQogCQlyZXR1cm4gTlVMTDsKIAlzdW0gPSAwOwotCWZvciAoaT0wOyBpIDwgcnQtPnNpemU7IGkrKykKKwlmb3IgKGkgPSAwOyBpIDwgcnQtPnNpemU7IGkrKykKIAkJc3VtICs9IGFkZHJbaV07CiAJaWYgKCFzdW0pIHsKIAkJREJHKEtFUk5fREVCVUcgIlBDSTogSW50ZXJydXB0IFJvdXRpbmcgVGFibGUgZm91bmQgYXQgMHglcFxuIiwgcnQpOwpAQCAtMTAwLDcgKzEwMCw3IEBACiAJCQlyZXR1cm4gcnQ7CiAJCXByaW50ayhLRVJOX1dBUk5JTkcgIlBDSTogUElSUSB0YWJsZSBOT1QgZm91bmQgYXQgcGlycWFkZHJcbiIpOwogCX0KLQlmb3IoYWRkciA9ICh1OCAqKSBfX3ZhKDB4ZjAwMDApOyBhZGRyIDwgKHU4ICopIF9fdmEoMHgxMDAwMDApOyBhZGRyICs9IDE2KSB7CisJZm9yIChhZGRyID0gKHU4ICopIF9fdmEoMHhmMDAwMCk7IGFkZHIgPCAodTggKikgX192YSgweDEwMDAwMCk7IGFkZHIgKz0gMTYpIHsKIAkJcnQgPSBwaXJxX2NoZWNrX3JvdXRpbmdfdGFibGUoYWRkcik7CiAJCWlmIChydCkKIAkJCXJldHVybiBydDsKQEAgLTEyMiwyMCArMTIyLDIwIEBACiAJc3RydWN0IGlycV9pbmZvICplOwogCiAJbWVtc2V0KGJ1c21hcCwgMCwgc2l6ZW9mKGJ1c21hcCkpOwotCWZvcihpPTA7IGkgPCAocnQtPnNpemUgLSBzaXplb2Yoc3RydWN0IGlycV9yb3V0aW5nX3RhYmxlKSkgLyBzaXplb2Yoc3RydWN0IGlycV9pbmZvKTsgaSsrKSB7CisJZm9yIChpID0gMDsgaSA8IChydC0+c2l6ZSAtIHNpemVvZihzdHJ1Y3QgaXJxX3JvdXRpbmdfdGFibGUpKSAvIHNpemVvZihzdHJ1Y3QgaXJxX2luZm8pOyBpKyspIHsKIAkJZSA9ICZydC0+c2xvdHNbaV07CiAjaWZkZWYgREVCVUcKIAkJewogCQkJaW50IGo7CiAJCQlEQkcoS0VSTl9ERUJVRyAiJTAyeDolMDJ4IHNsb3Q9JTAyeCIsIGUtPmJ1cywgZS0+ZGV2Zm4vOCwgZS0+c2xvdCk7Ci0JCQlmb3Ioaj0wOyBqPDQ7IGorKykKKwkJCWZvciAoaiA9IDA7IGogPCA0OyBqKyspCiAJCQkJREJHKCIgJWQ6JTAyeC8lMDR4IiwgaiwgZS0+aXJxW2pdLmxpbmssIGUtPmlycVtqXS5iaXRtYXApOwogCQkJREJHKCJcbiIpOwogCQl9CiAjZW5kaWYKIAkJYnVzbWFwW2UtPmJ1c10gPSAxOwogCX0KLQlmb3IoaSA9IDE7IGkgPCAyNTY7IGkrKykgeworCWZvciAoaSA9IDE7IGkgPCAyNTY7IGkrKykgewogCQlpbnQgbm9kZTsKIAkJaWYgKCFidXNtYXBbaV0gfHwgcGNpX2ZpbmRfYnVzKDAsIGkpKQogCQkJY29udGludWU7CkBAIC0yODUsNyArMjg1LDcgQEAKIAlzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwaXJxbWFwWzRdID0geyAxLCAwLCAyLCAzIH07CiAKIAlXQVJOX09OX09OQ0UocGlycSA+IDQpOwotCXJldHVybiByZWFkX2NvbmZpZ19ueWJibGUocm91dGVyLDB4NDMsIHBpcnFtYXBbcGlycS0xXSk7CisJcmV0dXJuIHJlYWRfY29uZmlnX255YmJsZShyb3V0ZXIsIDB4NDMsIHBpcnFtYXBbcGlycS0xXSk7CiB9CiAKIHN0YXRpYyBpbnQgcGlycV9pdGVfc2V0KHN0cnVjdCBwY2lfZGV2ICpyb3V0ZXIsIHN0cnVjdCBwY2lfZGV2ICpkZXYsIGludCBwaXJxLCBpbnQgaXJxKQpAQCAtMzE0LDcgKzMxNCw3IEBACiAKIC8qCiAgKiBDeXJpeDogbmliYmxlIG9mZnNldCAweDVDCi0gKiAweDVDIGJpdHMgNzo0IGlzIElOVEIgYml0cyAzOjAgaXMgSU5UQSAKKyAqIDB4NUMgYml0cyA3OjQgaXMgSU5UQiBiaXRzIDM6MCBpcyBJTlRBCiAgKiAweDVEIGJpdHMgNzo0IGlzIElOVEQgYml0cyAzOjAgaXMgSU5UQwogICovCiBzdGF0aWMgaW50IHBpcnFfY3lyaXhfZ2V0KHN0cnVjdCBwY2lfZGV2ICpyb3V0ZXIsIHN0cnVjdCBwY2lfZGV2ICpkZXYsIGludCBwaXJxKQpAQCAtMzUwLDcgKzM1MCw3IEBACiAgKglBcHBhcmVudGx5IHRoZXJlIGFyZSBzeXN0ZW1zIGltcGxlbWVudGluZyBQQ0kgcm91dGluZyB0YWJsZSB1c2luZwogICoJbGluayB2YWx1ZXMgMHgwMS0weDA0IGFuZCBvdGhlcnMgdXNpbmcgMHg0MS0weDQ0IGZvciBQQ0kgSU5UQS4uRC4KICAqCVdlIHRyeSBvdXIgYmVzdCB0byBoYW5kbGUgYm90aCBsaW5rIG1hcHBpbmdzLgotICoJCisgKgogICoJQ3VycmVudGx5ICgyMDAzLTA1LTIxKSBpdCBhcHBlYXJzIG1vc3QgU2lTIGNoaXBzZXRzIGZvbGxvdyB0aGUKICAqCWRlZmluaXRpb24gb2Ygcm91dGluZyByZWdpc3RlcnMgZnJvbSB0aGUgU2lTLTU1OTUgc291dGhicmlkZ2UuCiAgKglBY2NvcmRpbmcgdG8gdGhlIFNpUyA1NTk1IGRhdGFzaGVldHMgdGhlIHJldmlzaW9uIGlkJ3Mgb2YgdGhlCkBAIC0zNzAsNyArMzcwLDcgQEAKICAqCiAgKgkweDYyOglVU0JJUlE6CiAgKgkJYml0IDYgT0hDSSBmdW5jdGlvbiBkaXNhYmxlZCAoMCksIGVuYWJsZWQgKDEpCi0gKgkKKyAqCiAgKgkweDZhOglBQ1BJL1NDSSBJUlE6IGJpdHMgNC02IHJlc2VydmVkCiAgKgogICoJMHg3ZToJRGF0YSBBY3EuIE1vZHVsZSBJUlEgLSBiaXRzIDQtNiByZXNlcnZlZApAQCAtNDg3LDkgKzQ4Nyw3IEBACiAJdTggaXJxOwogCWlycSA9IDA7CiAJaWYgKHBpcnEgPD0gNCkKLQl7CiAJCWlycSA9IHJlYWRfY29uZmlnX255YmJsZShyb3V0ZXIsIDB4NTYsIHBpcnEgLSAxKTsKLQl9CiAJcHJpbnRrKEtFUk5fSU5GTyAiQU1ENzU2OiBkZXYgJTA0eDolMDR4LCByb3V0ZXIgcGlycSA6ICVkIGdldCBpcnEgOiAlMmRcbiIsCiAJCWRldi0+dmVuZG9yLCBkZXYtPmRldmljZSwgcGlycSwgaXJxKTsKIAlyZXR1cm4gaXJxOwpAQCAtNDk3LDEyICs0OTUsMTAgQEAKIAogc3RhdGljIGludCBwaXJxX2FtZDc1Nl9zZXQoc3RydWN0IHBjaV9kZXYgKnJvdXRlciwgc3RydWN0IHBjaV9kZXYgKmRldiwgaW50IHBpcnEsIGludCBpcnEpCiB7Ci0JcHJpbnRrKEtFUk5fSU5GTyAiQU1ENzU2OiBkZXYgJTA0eDolMDR4LCByb3V0ZXIgcGlycSA6ICVkIFNFVCBpcnEgOiAlMmRcbiIsIAorCXByaW50ayhLRVJOX0lORk8gIkFNRDc1NjogZGV2ICUwNHg6JTA0eCwgcm91dGVyIHBpcnEgOiAlZCBTRVQgaXJxIDogJTJkXG4iLAogCQlkZXYtPnZlbmRvciwgZGV2LT5kZXZpY2UsIHBpcnEsIGlycSk7CiAJaWYgKHBpcnEgPD0gNCkKLQl7CiAJCXdyaXRlX2NvbmZpZ19ueWJibGUocm91dGVyLCAweDU2LCBwaXJxIC0gMSwgaXJxKTsKLQl9CiAJcmV0dXJuIDE7CiB9CiAKQEAgLTU0OSw1MCArNTQ1LDQ5IEBACiAJaWYgKHBjaV9kZXZfcHJlc2VudChwaXJxXzQ0MGd4KSkKIAkJcmV0dXJuIDA7CiAKLQlzd2l0Y2goZGV2aWNlKQotCXsKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyMzcxRkJfMDoKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyMzcxU0JfMDoKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyMzcxQUJfMDoKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyMzcxTVg6Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF84MjQ0M01YXzA6Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF84MjgwMUFBXzA6Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF84MjgwMUFCXzA6Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF84MjgwMUJBXzA6Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF84MjgwMUJBXzEwOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfODI4MDFDQV8wOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfODI4MDFDQV8xMjoKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyODAxREJfMDoKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyODAxRV8wOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfODI4MDFFQl8wOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfRVNCXzE6Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0g2XzA6Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0g2XzE6Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0g3XzA6Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0g3XzE6Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0g3XzMwOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIN18zMToKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0VTQjJfMDoKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDhfMDoKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDhfMToKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDhfMjoKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDhfMzoKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDhfNDoKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDlfMDoKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDlfMToKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDlfMjoKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDlfMzoKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDlfNDoKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDlfNToKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX1RPTEFQQUlfMDoKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDEwXzA6Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0gxMF8xOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIMTBfMjoKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDEwXzM6Ci0JCQlyLT5uYW1lID0gIlBJSVgvSUNIIjsKLQkJCXItPmdldCA9IHBpcnFfcGlpeF9nZXQ7Ci0JCQlyLT5zZXQgPSBwaXJxX3BpaXhfc2V0OwotCQkJcmV0dXJuIDE7CisJc3dpdGNoIChkZXZpY2UpIHsKKwljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfODIzNzFGQl8wOgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF84MjM3MVNCXzA6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyMzcxQUJfMDoKKwljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfODIzNzFNWDoKKwljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfODI0NDNNWF8wOgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF84MjgwMUFBXzA6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyODAxQUJfMDoKKwljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfODI4MDFCQV8wOgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF84MjgwMUJBXzEwOgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF84MjgwMUNBXzA6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyODAxQ0FfMTI6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyODAxREJfMDoKKwljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfODI4MDFFXzA6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyODAxRUJfMDoKKwljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfRVNCXzE6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDZfMDoKKwljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNINl8xOgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0g3XzA6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDdfMToKKwljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIN18zMDoKKwljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIN18zMToKKwljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfRVNCMl8wOgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0g4XzA6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDhfMToKKwljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIOF8yOgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0g4XzM6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDhfNDoKKwljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIOV8wOgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0g5XzE6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDlfMjoKKwljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIOV8zOgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0g5XzQ6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDlfNToKKwljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfVE9MQVBBSV8wOgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0gxMF8wOgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0gxMF8xOgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0gxMF8yOgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0gxMF8zOgorCQlyLT5uYW1lID0gIlBJSVgvSUNIIjsKKwkJci0+Z2V0ID0gcGlycV9waWl4X2dldDsKKwkJci0+c2V0ID0gcGlycV9waWl4X3NldDsKKwkJcmV0dXJuIDE7CiAJfQogCXJldHVybiAwOwogfQpAQCAtNjA2LDcgKzYwMSw3IEBACiAJICogd29ya2Fyb3VuZHMgZm9yIHNvbWUgYnVnZ3kgQklPU2VzCiAJICovCiAJaWYgKGRldmljZSA9PSBQQ0lfREVWSUNFX0lEX1ZJQV84MkM1ODZfMCkgewotCQlzd2l0Y2gocm91dGVyLT5kZXZpY2UpIHsKKwkJc3dpdGNoIChyb3V0ZXItPmRldmljZSkgewogCQljYXNlIFBDSV9ERVZJQ0VfSURfVklBXzgyQzY4NjoKIAkJCS8qCiAJCQkgKiBBc3VzIGs3bSBiaW9zIHdyb25nbHkgcmVwb3J0cyA4MkM2ODZBCkBAIC02MzEsNyArNjI2LDcgQEAKIAkJfQogCX0KIAotCXN3aXRjaChkZXZpY2UpIHsKKwlzd2l0Y2ggKGRldmljZSkgewogCWNhc2UgUENJX0RFVklDRV9JRF9WSUFfODJDNTg2XzA6CiAJCXItPm5hbWUgPSAiVklBIjsKIAkJci0+Z2V0ID0gcGlycV92aWE1ODZfZ2V0OwpAQCAtNjU0LDEzICs2NDksMTIgQEAKIAogc3RhdGljIF9faW5pdCBpbnQgdmxzaV9yb3V0ZXJfcHJvYmUoc3RydWN0IGlycV9yb3V0ZXIgKnIsIHN0cnVjdCBwY2lfZGV2ICpyb3V0ZXIsIHUxNiBkZXZpY2UpCiB7Ci0Jc3dpdGNoKGRldmljZSkKLQl7Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9WTFNJXzgyQzUzNDoKLQkJCXItPm5hbWUgPSAiVkxTSSA4MkM1MzQiOwotCQkJci0+Z2V0ID0gcGlycV92bHNpX2dldDsKLQkJCXItPnNldCA9IHBpcnFfdmxzaV9zZXQ7Ci0JCQlyZXR1cm4gMTsKKwlzd2l0Y2ggKGRldmljZSkgeworCWNhc2UgUENJX0RFVklDRV9JRF9WTFNJXzgyQzUzNDoKKwkJci0+bmFtZSA9ICJWTFNJIDgyQzUzNCI7CisJCXItPmdldCA9IHBpcnFfdmxzaV9nZXQ7CisJCXItPnNldCA9IHBpcnFfdmxzaV9zZXQ7CisJCXJldHVybiAxOwogCX0KIAlyZXR1cm4gMDsKIH0KQEAgLTY2OCwxNCArNjYyLDEzIEBACiAKIHN0YXRpYyBfX2luaXQgaW50IHNlcnZlcndvcmtzX3JvdXRlcl9wcm9iZShzdHJ1Y3QgaXJxX3JvdXRlciAqciwgc3RydWN0IHBjaV9kZXYgKnJvdXRlciwgdTE2IGRldmljZSkKIHsKLQlzd2l0Y2goZGV2aWNlKQotCXsKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX1NFUlZFUldPUktTX09TQjQ6Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9TRVJWRVJXT1JLU19DU0I1OgotCQkJci0+bmFtZSA9ICJTZXJ2ZXJXb3JrcyI7Ci0JCQlyLT5nZXQgPSBwaXJxX3NlcnZlcndvcmtzX2dldDsKLQkJCXItPnNldCA9IHBpcnFfc2VydmVyd29ya3Nfc2V0OwotCQkJcmV0dXJuIDE7CisJc3dpdGNoIChkZXZpY2UpIHsKKwljYXNlIFBDSV9ERVZJQ0VfSURfU0VSVkVSV09SS1NfT1NCNDoKKwljYXNlIFBDSV9ERVZJQ0VfSURfU0VSVkVSV09SS1NfQ1NCNToKKwkJci0+bmFtZSA9ICJTZXJ2ZXJXb3JrcyI7CisJCXItPmdldCA9IHBpcnFfc2VydmVyd29ya3NfZ2V0OworCQlyLT5zZXQgPSBwaXJxX3NlcnZlcndvcmtzX3NldDsKKwkJcmV0dXJuIDE7CiAJfQogCXJldHVybiAwOwogfQpAQCAtNjg0LDcgKzY3Nyw3IEBACiB7CiAJaWYgKGRldmljZSAhPSBQQ0lfREVWSUNFX0lEX1NJXzUwMykKIAkJcmV0dXJuIDA7Ci0JCQorCiAJci0+bmFtZSA9ICJTSVMiOwogCXItPmdldCA9IHBpcnFfc2lzX2dldDsKIAlyLT5zZXQgPSBwaXJxX3Npc19zZXQ7CkBAIC02OTMsNDcgKzY4Niw0MyBAQAogCiBzdGF0aWMgX19pbml0IGludCBjeXJpeF9yb3V0ZXJfcHJvYmUoc3RydWN0IGlycV9yb3V0ZXIgKnIsIHN0cnVjdCBwY2lfZGV2ICpyb3V0ZXIsIHUxNiBkZXZpY2UpCiB7Ci0Jc3dpdGNoKGRldmljZSkKLQl7Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9DWVJJWF81NTIwOgotCQkJci0+bmFtZSA9ICJOYXRTZW1pIjsKLQkJCXItPmdldCA9IHBpcnFfY3lyaXhfZ2V0OwotCQkJci0+c2V0ID0gcGlycV9jeXJpeF9zZXQ7Ci0JCQlyZXR1cm4gMTsKKwlzd2l0Y2ggKGRldmljZSkgeworCWNhc2UgUENJX0RFVklDRV9JRF9DWVJJWF81NTIwOgorCQlyLT5uYW1lID0gIk5hdFNlbWkiOworCQlyLT5nZXQgPSBwaXJxX2N5cml4X2dldDsKKwkJci0+c2V0ID0gcGlycV9jeXJpeF9zZXQ7CisJCXJldHVybiAxOwogCX0KIAlyZXR1cm4gMDsKIH0KIAogc3RhdGljIF9faW5pdCBpbnQgb3B0aV9yb3V0ZXJfcHJvYmUoc3RydWN0IGlycV9yb3V0ZXIgKnIsIHN0cnVjdCBwY2lfZGV2ICpyb3V0ZXIsIHUxNiBkZXZpY2UpCiB7Ci0Jc3dpdGNoKGRldmljZSkKLQl7Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9PUFRJXzgyQzcwMDoKLQkJCXItPm5hbWUgPSAiT1BUSSI7Ci0JCQlyLT5nZXQgPSBwaXJxX29wdGlfZ2V0OwotCQkJci0+c2V0ID0gcGlycV9vcHRpX3NldDsKLQkJCXJldHVybiAxOworCXN3aXRjaCAoZGV2aWNlKSB7CisJY2FzZSBQQ0lfREVWSUNFX0lEX09QVElfODJDNzAwOgorCQlyLT5uYW1lID0gIk9QVEkiOworCQlyLT5nZXQgPSBwaXJxX29wdGlfZ2V0OworCQlyLT5zZXQgPSBwaXJxX29wdGlfc2V0OworCQlyZXR1cm4gMTsKIAl9CiAJcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyBfX2luaXQgaW50IGl0ZV9yb3V0ZXJfcHJvYmUoc3RydWN0IGlycV9yb3V0ZXIgKnIsIHN0cnVjdCBwY2lfZGV2ICpyb3V0ZXIsIHUxNiBkZXZpY2UpCiB7Ci0Jc3dpdGNoKGRldmljZSkKLQl7Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9JVEVfSVQ4MzMwR18wOgotCQkJci0+bmFtZSA9ICJJVEUiOwotCQkJci0+Z2V0ID0gcGlycV9pdGVfZ2V0OwotCQkJci0+c2V0ID0gcGlycV9pdGVfc2V0OwotCQkJcmV0dXJuIDE7CisJc3dpdGNoIChkZXZpY2UpIHsKKwljYXNlIFBDSV9ERVZJQ0VfSURfSVRFX0lUODMzMEdfMDoKKwkJci0+bmFtZSA9ICJJVEUiOworCQlyLT5nZXQgPSBwaXJxX2l0ZV9nZXQ7CisJCXItPnNldCA9IHBpcnFfaXRlX3NldDsKKwkJcmV0dXJuIDE7CiAJfQogCXJldHVybiAwOwogfQogCiBzdGF0aWMgX19pbml0IGludCBhbGlfcm91dGVyX3Byb2JlKHN0cnVjdCBpcnFfcm91dGVyICpyLCBzdHJ1Y3QgcGNpX2RldiAqcm91dGVyLCB1MTYgZGV2aWNlKQogewotCXN3aXRjaChkZXZpY2UpCi0JeworCXN3aXRjaCAoZGV2aWNlKSB7CiAJY2FzZSBQQ0lfREVWSUNFX0lEX0FMX00xNTMzOgogCWNhc2UgUENJX0RFVklDRV9JRF9BTF9NMTU2MzoKIAkJcHJpbnRrKEtFUk5fREVCVUcgIlBDSTogVXNpbmcgQUxJIElSUSBSb3V0ZXJcbiIpOwpAQCAtNzQ3LDI1ICs3MzYsMjQgQEAKIAogc3RhdGljIF9faW5pdCBpbnQgYW1kX3JvdXRlcl9wcm9iZShzdHJ1Y3QgaXJxX3JvdXRlciAqciwgc3RydWN0IHBjaV9kZXYgKnJvdXRlciwgdTE2IGRldmljZSkKIHsKLQlzd2l0Y2goZGV2aWNlKQotCXsKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0FNRF9WSVBFUl83NDBCOgotCQkJci0+bmFtZSA9ICJBTUQ3NTYiOwotCQkJYnJlYWs7Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9BTURfVklQRVJfNzQxMzoKLQkJCXItPm5hbWUgPSAiQU1ENzY2IjsKLQkJCWJyZWFrOwotCQljYXNlIFBDSV9ERVZJQ0VfSURfQU1EX1ZJUEVSXzc0NDM6Ci0JCQlyLT5uYW1lID0gIkFNRDc2OCI7Ci0JCQlicmVhazsKLQkJZGVmYXVsdDoKLQkJCXJldHVybiAwOworCXN3aXRjaCAoZGV2aWNlKSB7CisJY2FzZSBQQ0lfREVWSUNFX0lEX0FNRF9WSVBFUl83NDBCOgorCQlyLT5uYW1lID0gIkFNRDc1NiI7CisJCWJyZWFrOworCWNhc2UgUENJX0RFVklDRV9JRF9BTURfVklQRVJfNzQxMzoKKwkJci0+bmFtZSA9ICJBTUQ3NjYiOworCQlicmVhazsKKwljYXNlIFBDSV9ERVZJQ0VfSURfQU1EX1ZJUEVSXzc0NDM6CisJCXItPm5hbWUgPSAiQU1ENzY4IjsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcmV0dXJuIDA7CiAJfQogCXItPmdldCA9IHBpcnFfYW1kNzU2X2dldDsKIAlyLT5zZXQgPSBwaXJxX2FtZDc1Nl9zZXQ7CiAJcmV0dXJuIDE7CiB9Ci0JCQorCiBzdGF0aWMgX19pbml0IGludCBwaWNvX3JvdXRlcl9wcm9iZShzdHJ1Y3QgaXJxX3JvdXRlciAqciwgc3RydWN0IHBjaV9kZXYgKnJvdXRlciwgdTE2IGRldmljZSkKIHsKIAlzd2l0Y2ggKGRldmljZSkgewpAQCAtODA3LDcgKzc5NSw3IEBACiAgKglGSVhNRTogc2hvdWxkIHdlIGhhdmUgYW4gb3B0aW9uIHRvIHNheSAiZ2VuZXJpYyBmb3IKICAqCWNoaXBzZXQiID8KICAqLwotIAorCiBzdGF0aWMgdm9pZCBfX2luaXQgcGlycV9maW5kX3JvdXRlcihzdHJ1Y3QgaXJxX3JvdXRlciAqcikKIHsKIAlzdHJ1Y3QgaXJxX3JvdXRpbmdfdGFibGUgKnJ0ID0gcGlycV90YWJsZTsKQEAgLTgyNiw3ICs4MTQsNyBAQAogCXItPm5hbWUgPSAiZGVmYXVsdCI7CiAJci0+Z2V0ID0gTlVMTDsKIAlyLT5zZXQgPSBOVUxMOwotCQorCiAJREJHKEtFUk5fREVCVUcgIlBDSTogQXR0ZW1wdGluZyB0byBmaW5kIElSUSByb3V0ZXIgZm9yICUwNHg6JTA0eFxuIiwKIAkgICAgcnQtPnJ0cl92ZW5kb3IsIHJ0LT5ydHJfZGV2aWNlKTsKIApAQCAtODM3LDcgKzgyNSw3IEBACiAJCXJldHVybjsKIAl9CiAKLQlmb3IoIGggPSBwaXJxX3JvdXRlcnM7IGgtPnZlbmRvcjsgaCsrKSB7CisJZm9yIChoID0gcGlycV9yb3V0ZXJzOyBoLT52ZW5kb3I7IGgrKykgewogCQkvKiBGaXJzdCBsb29rIGZvciBhIHJvdXRlciBtYXRjaCAqLwogCQlpZiAocnQtPnJ0cl92ZW5kb3IgPT0gaC0+dmVuZG9yICYmIGgtPnByb2JlKHIsIHBpcnFfcm91dGVyX2RldiwgcnQtPnJ0cl9kZXZpY2UpKQogCQkJYnJlYWs7CkBAIC04ODksNyArODc3LDcgQEAKIAogCWlmICghcGlycV90YWJsZSkKIAkJcmV0dXJuIDA7Ci0JCisKIAlEQkcoS0VSTl9ERUJVRyAiSVJRIGZvciAlc1slY10iLCBwY2lfbmFtZShkZXYpLCAnQScgKyBwaW4pOwogCWluZm8gPSBwaXJxX2dldF9pbmZvKGRldik7CiAJaWYgKCFpbmZvKSB7CkBAIC05MjgsOCArOTE2LDEwIEBACiAJICovCiAJbmV3aXJxID0gZGV2LT5pcnE7CiAJaWYgKG5ld2lycSAmJiAhKCgxIDw8IG5ld2lycSkgJiBtYXNrKSkgewotCQlpZiAoIHBjaV9wcm9iZSAmIFBDSV9VU0VfUElSUV9NQVNLKSBuZXdpcnEgPSAwOwotCQllbHNlIHByaW50aygiXG4iIEtFUk5fV0FSTklORworCQlpZiAocGNpX3Byb2JlICYgUENJX1VTRV9QSVJRX01BU0spCisJCQluZXdpcnEgPSAwOworCQllbHNlCisJCQlwcmludGsoIlxuIiBLRVJOX1dBUk5JTkcKIAkJCSJQQ0k6IElSUSAlaSBmb3IgZGV2aWNlICVzIGRvZXNuJ3QgbWF0Y2ggUElSUSBtYXNrICIKIAkJCSItIHRyeSBwY2k9dXNlcGlycW1hc2tcbiIgS0VSTl9ERUJVRywgbmV3aXJxLAogCQkJcGNpX25hbWUoZGV2KSk7CkBAIC05NDksOCArOTM5LDggQEAKIAkJaXJxID0gcGlycSAmIDB4ZjsKIAkJREJHKCIgLT4gaGFyZGNvZGVkIElSUSAlZFxuIiwgaXJxKTsKIAkJbXNnID0gIkhhcmRjb2RlZCI7Ci0JfSBlbHNlIGlmICggci0+Z2V0ICYmIChpcnEgPSByLT5nZXQocGlycV9yb3V0ZXJfZGV2LCBkZXYsIHBpcnEpKSAmJiBcCi0JKCghKHBjaV9wcm9iZSAmIFBDSV9VU0VfUElSUV9NQVNLKSkgfHwgKCgxIDw8IGlycSkgJiBtYXNrKSkgKSB7CisJfSBlbHNlIGlmIChyLT5nZXQgJiYgKGlycSA9IHItPmdldChwaXJxX3JvdXRlcl9kZXYsIGRldiwgcGlycSkpICYmIFwKKwkoKCEocGNpX3Byb2JlICYgUENJX1VTRV9QSVJRX01BU0spKSB8fCAoKDEgPDwgaXJxKSAmIG1hc2spKSkgewogCQlEQkcoIiAtPiBnb3QgSVJRICVkXG4iLCBpcnEpOwogCQltc2cgPSAiRm91bmQiOwogCQllaXNhX3NldF9sZXZlbF9pcnEoaXJxKTsKQEAgLTk4NSwxNSArOTc1LDE1IEBACiAJCQljb250aW51ZTsKIAkJaWYgKGluZm8tPmlycVtwaW5dLmxpbmsgPT0gcGlycSkgewogCQkJLyogV2UgcmVmdXNlIHRvIG92ZXJyaWRlIHRoZSBkZXYtPmlycSBpbmZvcm1hdGlvbi4gR2l2ZSBhIHdhcm5pbmchICovCi0JCSAgICAJaWYgKCBkZXYyLT5pcnEgJiYgZGV2Mi0+aXJxICE9IGlycSAmJiBcCisJCQlpZiAoZGV2Mi0+aXJxICYmIGRldjItPmlycSAhPSBpcnEgJiYgXAogCQkJKCEocGNpX3Byb2JlICYgUENJX1VTRV9QSVJRX01BU0spIHx8IFwKLQkJCSgoMSA8PCBkZXYyLT5pcnEpICYgbWFzaykpICkgeworCQkJKCgxIDw8IGRldjItPmlycSkgJiBtYXNrKSkpIHsKICNpZm5kZWYgQ09ORklHX1BDSV9NU0kKLQkJICAgIAkJcHJpbnRrKEtFUk5fSU5GTyAiSVJRIHJvdXRpbmcgY29uZmxpY3QgZm9yICVzLCBoYXZlIGlycSAlZCwgd2FudCBpcnEgJWRcbiIsCisJCQkJcHJpbnRrKEtFUk5fSU5GTyAiSVJRIHJvdXRpbmcgY29uZmxpY3QgZm9yICVzLCBoYXZlIGlycSAlZCwgd2FudCBpcnEgJWRcbiIsCiAJCQkJICAgICAgIHBjaV9uYW1lKGRldjIpLCBkZXYyLT5pcnEsIGlycSk7CiAjZW5kaWYKLQkJICAgIAkJY29udGludWU7Ci0JCSAgICAJfQorCQkJCWNvbnRpbnVlOworCQkJfQogCQkJZGV2Mi0+aXJxID0gaXJxOwogCQkJcGlycV9wZW5hbHR5W2lycV0rKzsKIAkJCWlmIChkZXYgIT0gZGV2MikKQEAgLTEwMzEsOCArMTAyMSw3IEBACiAJCS8qCiAJCSAqIFJlY2FsY3VsYXRlIElSUSBudW1iZXJzIGlmIHdlIHVzZSB0aGUgSS9PIEFQSUMuCiAJCSAqLwotCQlpZiAoaW9fYXBpY19hc3NpZ25fcGNpX2lycXMpCi0JCXsKKwkJaWYgKGlvX2FwaWNfYXNzaWduX3BjaV9pcnFzKSB7CiAJCQlpbnQgaXJxOwogCiAJCQlpZiAocGluKSB7CkBAIC0xMDQ1LDEwICsxMDM0LDEwIEBACiAJICogYnVzc2VzIGl0c2VsZiBzbyB3ZSBzaG91bGQgZ2V0IGludG8gdGhpcyBicmFuY2ggcmVsaWFibHkuCiAJICovCiAJCQkJaWYgKGlycSA8IDAgJiYgZGV2LT5idXMtPnBhcmVudCkgeyAvKiBnbyBiYWNrIHRvIHRoZSBicmlkZ2UgKi8KLQkJCQkJc3RydWN0IHBjaV9kZXYgKiBicmlkZ2UgPSBkZXYtPmJ1cy0+c2VsZjsKKwkJCQkJc3RydWN0IHBjaV9kZXYgKmJyaWRnZSA9IGRldi0+YnVzLT5zZWxmOwogCiAJCQkJCXBpbiA9IChwaW4gKyBQQ0lfU0xPVChkZXYtPmRldmZuKSkgJSA0OwotCQkJCQlpcnEgPSBJT19BUElDX2dldF9QQ0lfaXJxX3ZlY3RvcihicmlkZ2UtPmJ1cy0+bnVtYmVyLCAKKwkJCQkJaXJxID0gSU9fQVBJQ19nZXRfUENJX2lycV92ZWN0b3IoYnJpZGdlLT5idXMtPm51bWJlciwKIAkJCQkJCQlQQ0lfU0xPVChicmlkZ2UtPmRldmZuKSwgcGluKTsKIAkJCQkJaWYgKGlycSA+PSAwKQogCQkJCQkJcHJpbnRrKEtFUk5fV0FSTklORyAiUENJOiB1c2luZyBQUEIgJXNbJWNdIHRvIGdldCBpcnEgJWRcbiIsCkBAIC0xMTE4LDcgKzExMDcsNyBAQAogCXsgfQogfTsKIAotc3RhdGljIGludCBfX2luaXQgcGNpYmlvc19pcnFfaW5pdCh2b2lkKQoraW50IF9faW5pdCBwY2liaW9zX2lycV9pbml0KHZvaWQpCiB7CiAJREJHKEtFUk5fREVCVUcgIlBDSTogSVJRIGluaXRcbiIpOwogCkBAIC0xMTM4LDcgKzExMjcsNyBAQAogCQlwaXJxX2ZpbmRfcm91dGVyKCZwaXJxX3JvdXRlcik7CiAJCWlmIChwaXJxX3RhYmxlLT5leGNsdXNpdmVfaXJxcykgewogCQkJaW50IGk7Ci0JCQlmb3IgKGk9MDsgaTwxNjsgaSsrKQorCQkJZm9yIChpID0gMDsgaSA8IDE2OyBpKyspCiAJCQkJaWYgKCEocGlycV90YWJsZS0+ZXhjbHVzaXZlX2lycXMgJiAoMSA8PCBpKSkpCiAJCQkJCXBpcnFfcGVuYWx0eVtpXSArPSAxMDA7CiAJCX0KQEAgLTExNTMsOSArMTE0Miw2IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN1YnN5c19pbml0Y2FsbChwY2liaW9zX2lycV9pbml0KTsKLQotCiBzdGF0aWMgdm9pZCBwaXJxX3BlbmFsaXplX2lzYV9pcnEoaW50IGlycSwgaW50IGFjdGl2ZSkKIHsKIAkvKgpAQCAtMTIwMywxMCArMTE4OSwxMCBAQAogCQkJICovCiAJCQl0ZW1wX2RldiA9IGRldjsKIAkJCXdoaWxlIChpcnEgPCAwICYmIGRldi0+YnVzLT5wYXJlbnQpIHsgLyogZ28gYmFjayB0byB0aGUgYnJpZGdlICovCi0JCQkJc3RydWN0IHBjaV9kZXYgKiBicmlkZ2UgPSBkZXYtPmJ1cy0+c2VsZjsKKwkJCQlzdHJ1Y3QgcGNpX2RldiAqYnJpZGdlID0gZGV2LT5idXMtPnNlbGY7CiAKIAkJCQlwaW4gPSAocGluICsgUENJX1NMT1QoZGV2LT5kZXZmbikpICUgNDsKLQkJCQlpcnEgPSBJT19BUElDX2dldF9QQ0lfaXJxX3ZlY3RvcihicmlkZ2UtPmJ1cy0+bnVtYmVyLCAKKwkJCQlpcnEgPSBJT19BUElDX2dldF9QQ0lfaXJxX3ZlY3RvcihicmlkZ2UtPmJ1cy0+bnVtYmVyLAogCQkJCQkJUENJX1NMT1QoYnJpZGdlLT5kZXZmbiksIHBpbik7CiAJCQkJaWYgKGlycSA+PSAwKQogCQkJCQlwcmludGsoS0VSTl9XQVJOSU5HICJQQ0k6IHVzaW5nIFBQQiAlc1slY10gdG8gZ2V0IGlycSAlZFxuIiwKZGlmZiAtLWdpdCBhL2FyY2gveDg2L3BjaS9sZWdhY3kuYyBiL2FyY2gveDg2L3BjaS9sZWdhY3kuYwppbmRleCBhNjc5MjFjLi4xMzI4NzZjIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9wY2kvbGVnYWN5LmMKKysrIGIvYXJjaC94ODYvcGNpL2xlZ2FjeS5jCkBAIC01NSw0ICs1NSwxOCBAQAogCXJldHVybiAwOwogfQogCi1zdWJzeXNfaW5pdGNhbGwocGNpX2xlZ2FjeV9pbml0KTsKK2ludCBfX2luaXQgcGNpX3N1YnN5c19pbml0KHZvaWQpCit7CisjaWZkZWYgQ09ORklHX0FDUEkKKwlwY2lfYWNwaV9pbml0KCk7CisjZW5kaWYKKwlwY2lfbGVnYWN5X2luaXQoKTsKKwlwY2liaW9zX2lycV9pbml0KCk7CisjaWZkZWYgQ09ORklHX1g4Nl9OVU1BUQorCXBjaV9udW1hX2luaXQoKTsKKyNlbmRpZgorCXBjaWJpb3NfaW5pdCgpOworCisJcmV0dXJuIDA7Cit9CitzdWJzeXNfaW5pdGNhbGwocGNpX3N1YnN5c19pbml0KTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L3BjaS9tbWNvbmZpZy1zaGFyZWQuYyBiL2FyY2gveDg2L3BjaS9tbWNvbmZpZy1zaGFyZWQuYwppbmRleCAwY2ZlYmVjLi4yM2ZhYWE4IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9wY2kvbW1jb25maWctc2hhcmVkLmMKKysrIGIvYXJjaC94ODYvcGNpL21tY29uZmlnLXNoYXJlZC5jCkBAIC0zNzQsNyArMzc0LDcgQEAKIAogc3RhdGljIGludCBfX2luaXRkYXRhIGtub3duX2JyaWRnZTsKIAotdm9pZCBfX2luaXQgX19wY2lfbW1jZmdfaW5pdChpbnQgZWFybHkpCitzdGF0aWMgdm9pZCBfX2luaXQgX19wY2lfbW1jZmdfaW5pdChpbnQgZWFybHkpCiB7CiAJLyogTU1DT05GSUcgZGlzYWJsZWQgKi8KIAlpZiAoKHBjaV9wcm9iZSAmIFBDSV9QUk9CRV9NTUNPTkYpID09IDApCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9wY2kvbXBfYnVzX3RvX25vZGUuYyBiL2FyY2gveDg2L3BjaS9tcF9idXNfdG9fbm9kZS5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMjI5NDM5Li4wMDAwMDAwCi0tLSBhL2FyY2gveDg2L3BjaS9tcF9idXNfdG9fbm9kZS5jCisrKyAvZGV2L251bGwKQEAgLTEsMjMgKzAsMCBAQAotI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgotI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KLSNpbmNsdWRlIDxsaW51eC90b3BvbG9neS5oPgotCi0jZGVmaW5lIEJVU19OUiAyNTYKLQotc3RhdGljIHVuc2lnbmVkIGNoYXIgbXBfYnVzX3RvX25vZGVbQlVTX05SXTsKLQotdm9pZCBzZXRfbXBfYnVzX3RvX25vZGUoaW50IGJ1c251bSwgaW50IG5vZGUpCi17Ci0JaWYgKGJ1c251bSA+PSAwICYmICBidXNudW0gPCBCVVNfTlIpCi0JbXBfYnVzX3RvX25vZGVbYnVzbnVtXSA9ICh1bnNpZ25lZCBjaGFyKSBub2RlOwotfQotCi1pbnQgZ2V0X21wX2J1c190b19ub2RlKGludCBidXNudW0pCi17Ci0JaW50IG5vZGU7Ci0KLQlpZiAoYnVzbnVtIDwgMCB8fCBidXNudW0gPiAoQlVTX05SIC0gMSkpCi0JCXJldHVybiAwOwotCW5vZGUgPSBtcF9idXNfdG9fbm9kZVtidXNudW1dOwotCXJldHVybiBub2RlOwotfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvcGNpL251bWEuYyBiL2FyY2gveDg2L3BjaS9udW1hLmMKaW5kZXggZDlhZmJhZS4uOGI1Y2ExOSAxMDA2NDQKLS0tIGEvYXJjaC94ODYvcGNpL251bWEuYworKysgYi9hcmNoL3g4Ni9wY2kvbnVtYS5jCkBAIC02LDQ1ICs2LDIxIEBACiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L25vZGVtYXNrLmg+CiAjaW5jbHVkZSA8bWFjaF9hcGljLmg+CisjaW5jbHVkZSA8YXNtL21wc3BlYy5oPgogI2luY2x1ZGUgInBjaS5oIgogCiAjZGVmaW5lIFhRVUFEX1BPUlRJT19CQVNFIDB4ZmU0MDAwMDAKICNkZWZpbmUgWFFVQURfUE9SVElPX1FVQUQgMHg0MDAwMCAgLyogMjU2ayBwZXIgcXVhZC4gKi8KIAotaW50IG1wX2J1c19pZF90b19ub2RlW01BWF9NUF9CVVNTRVNdOwogI2RlZmluZSBCVVMyUVVBRChnbG9iYWwpIChtcF9idXNfaWRfdG9fbm9kZVtnbG9iYWxdKQogCi1pbnQgbXBfYnVzX2lkX3RvX2xvY2FsW01BWF9NUF9CVVNTRVNdOwogI2RlZmluZSBCVVMyTE9DQUwoZ2xvYmFsKSAobXBfYnVzX2lkX3RvX2xvY2FsW2dsb2JhbF0pCiAKLXZvaWQgbXBjX29lbV9idXNfaW5mbyhzdHJ1Y3QgbXBjX2NvbmZpZ19idXMgKm0sIGNoYXIgKm5hbWUsCi0Jc3RydWN0IG1wY19jb25maWdfdHJhbnNsYXRpb24gKnRyYW5zbGF0aW9uKQotewotCWludCBxdWFkID0gdHJhbnNsYXRpb24tPnRyYW5zX3F1YWQ7Ci0JaW50IGxvY2FsID0gdHJhbnNsYXRpb24tPnRyYW5zX2xvY2FsOwotCi0JbXBfYnVzX2lkX3RvX25vZGVbbS0+bXBjX2J1c2lkXSA9IHF1YWQ7Ci0JbXBfYnVzX2lkX3RvX2xvY2FsW20tPm1wY19idXNpZF0gPSBsb2NhbDsKLQlwcmludGsoS0VSTl9JTkZPICJCdXMgIyVkIGlzICVzIChub2RlICVkKVxuIiwKLQkgICAgICAgbS0+bXBjX2J1c2lkLCBuYW1lLCBxdWFkKTsKLX0KLQotaW50IHF1YWRfbG9jYWxfdG9fbXBfYnVzX2lkIFtOUl9DUFVTLzRdWzRdOwogI2RlZmluZSBRVUFETE9DQUwyQlVTKHF1YWQsbG9jYWwpIChxdWFkX2xvY2FsX3RvX21wX2J1c19pZFtxdWFkXVtsb2NhbF0pCi12b2lkIG1wY19vZW1fcGNpX2J1cyhzdHJ1Y3QgbXBjX2NvbmZpZ19idXMgKm0sCi0Jc3RydWN0IG1wY19jb25maWdfdHJhbnNsYXRpb24gKnRyYW5zbGF0aW9uKQotewotCWludCBxdWFkID0gdHJhbnNsYXRpb24tPnRyYW5zX3F1YWQ7Ci0JaW50IGxvY2FsID0gdHJhbnNsYXRpb24tPnRyYW5zX2xvY2FsOwotCi0JcXVhZF9sb2NhbF90b19tcF9idXNfaWRbcXVhZF1bbG9jYWxdID0gbS0+bXBjX2J1c2lkOwotfQogCiAvKiBXaGVyZSB0aGUgSU8gYXJlYSB3YXMgbWFwcGVkIG9uIG11bHRpcXVhZCwgYWx3YXlzIDAgb3RoZXJ3aXNlICovCiB2b2lkICp4cXVhZF9wb3J0aW87Ci0jaWZkZWYgQ09ORklHX1g4Nl9OVU1BUQogRVhQT1JUX1NZTUJPTCh4cXVhZF9wb3J0aW8pOwotI2VuZGlmCiAKICNkZWZpbmUgWFFVQURfUE9SVF9BRERSKHBvcnQsIHF1YWQpICh4cXVhZF9wb3J0aW8gKyAoWFFVQURfUE9SVElPX1FVQUQqcXVhZCkgKyBwb3J0KQogCkBAIC0xNzUsMTAgKzE1MSwxMyBAQAogfQogREVDTEFSRV9QQ0lfRklYVVBfSEVBREVSKFBDSV9WRU5ET1JfSURfSU5URUwsIFBDSV9ERVZJQ0VfSURfSU5URUxfODI0NTFOWCwgcGNpX2ZpeHVwX2k0NTBueCk7CiAKLXN0YXRpYyBpbnQgX19pbml0IHBjaV9udW1hX2luaXQodm9pZCkKK2ludCBfX2luaXQgcGNpX251bWFfaW5pdCh2b2lkKQogewogCWludCBxdWFkOwogCisJaWYgKCFmb3VuZF9udW1hcSkKKwkJcmV0dXJuIDA7CisKIAlyYXdfcGNpX29wcyA9ICZwY2lfZGlyZWN0X2NvbmYxX21xOwogCiAJaWYgKHBjaWJpb3Nfc2Nhbm5lZCsrKQpAQCAtMTk3LDUgKzE3NiwzIEBACiAJCX0KIAlyZXR1cm4gMDsKIH0KLQotc3Vic3lzX2luaXRjYWxsKHBjaV9udW1hX2luaXQpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvcGNpL3BjaS5oIGIvYXJjaC94ODYvcGNpL3BjaS5oCmluZGV4IDcyMGM0YzUuLmIyMjcwYTUgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3BjaS9wY2kuaAorKysgYi9hcmNoL3g4Ni9wY2kvcGNpLmgKQEAgLTI3LDYgKzI3LDcgQEAKICNkZWZpbmUgUENJX0NBTl9TS0lQX0lTQV9BTElHTgkweDgwMDAKICNkZWZpbmUgUENJX1VTRV9fQ1JTCQkweDEwMDAwCiAjZGVmaW5lIFBDSV9DSEVDS19FTkFCTEVfQU1EX01NQ09ORgkweDIwMDAwCisjZGVmaW5lIFBDSV9IQVNfSU9fRUNTCQkweDQwMDAwCiAKIGV4dGVybiB1bnNpZ25lZCBpbnQgcGNpX3Byb2JlOwogZXh0ZXJuIHVuc2lnbmVkIGxvbmcgcGlycV90YWJsZV9hZGRyOwpAQCAtMzgsOSArMzksNiBAQAogCXBjaV9kbWlfYmYsCiB9OwogCi1leHRlcm4gdm9pZCBfX2luaXQgZG1pX2NoZWNrX3BjaXByb2JlKHZvaWQpOwotZXh0ZXJuIHZvaWQgX19pbml0IGRtaV9jaGVja19za2lwX2lzYV9hbGlnbih2b2lkKTsKLQogLyogcGNpLWkzODYuYyAqLwogCiBleHRlcm4gdW5zaWduZWQgaW50IHBjaWJpb3NfbWF4X2xhdGVuY3k7CkBAIC05OCwxMCArOTYsMTkgQEAKIAogZXh0ZXJuIHN0cnVjdCBwY2lfcmF3X29wcyBwY2lfZGlyZWN0X2NvbmYxOwogCisvKiBhcmNoX2luaXRjYWxsIGxldmVsICovCiBleHRlcm4gaW50IHBjaV9kaXJlY3RfcHJvYmUodm9pZCk7CiBleHRlcm4gdm9pZCBwY2lfZGlyZWN0X2luaXQoaW50IHR5cGUpOwogZXh0ZXJuIHZvaWQgcGNpX3BjYmlvc19pbml0KHZvaWQpOwogZXh0ZXJuIGludCBwY2lfb2xwY19pbml0KHZvaWQpOworZXh0ZXJuIHZvaWQgX19pbml0IGRtaV9jaGVja19wY2lwcm9iZSh2b2lkKTsKK2V4dGVybiB2b2lkIF9faW5pdCBkbWlfY2hlY2tfc2tpcF9pc2FfYWxpZ24odm9pZCk7CisKKy8qIHNvbWUgY29tbW9uIHVzZWQgc3Vic3lzX2luaXRjYWxscyAqLworZXh0ZXJuIGludCBfX2luaXQgcGNpX2FjcGlfaW5pdCh2b2lkKTsKK2V4dGVybiBpbnQgX19pbml0IHBjaWJpb3NfaXJxX2luaXQodm9pZCk7CitleHRlcm4gaW50IF9faW5pdCBwY2lfbnVtYV9pbml0KHZvaWQpOworZXh0ZXJuIGludCBfX2luaXQgcGNpYmlvc19pbml0KHZvaWQpOwogCiAvKiBwY2ktbW1jb25maWcuYyAqLwogCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9wY2kvdmlzd3MuYyBiL2FyY2gveDg2L3BjaS92aXN3cy5jCmluZGV4IGMyZGY0ZTkuLjFhN2JlZDQgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3BjaS92aXN3cy5jCisrKyBiL2FyY2gveDg2L3BjaS92aXN3cy5jCkBAIC04LDE4ICs4LDE5IEBACiAjaW5jbHVkZSA8bGludXgvcGNpLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogCi0jaW5jbHVkZSAiY29iYWx0LmgiCi0jaW5jbHVkZSAibGl0aGl1bS5oIgorI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgorI2luY2x1ZGUgPGFzbS92aXN3cy9jb2JhbHQuaD4KKyNpbmNsdWRlIDxhc20vdmlzd3MvbGl0aGl1bS5oPgogCiAjaW5jbHVkZSAicGNpLmgiCiAKIHN0YXRpYyBpbnQgcGNpX3Zpc3dzX2VuYWJsZV9pcnEoc3RydWN0IHBjaV9kZXYgKmRldikgeyByZXR1cm4gMDsgfQogc3RhdGljIHZvaWQgcGNpX3Zpc3dzX2Rpc2FibGVfaXJxKHN0cnVjdCBwY2lfZGV2ICpkZXYpIHsgfQogCi1pbnQgKCpwY2liaW9zX2VuYWJsZV9pcnEpKHN0cnVjdCBwY2lfZGV2ICpkZXYpID0gJnBjaV92aXN3c19lbmFibGVfaXJxOwotdm9pZCAoKnBjaWJpb3NfZGlzYWJsZV9pcnEpKHN0cnVjdCBwY2lfZGV2ICpkZXYpID0gJnBjaV92aXN3c19kaXNhYmxlX2lycTsKKy8qIGludCAoKnBjaWJpb3NfZW5hYmxlX2lycSkoc3RydWN0IHBjaV9kZXYgKmRldikgPSAmcGNpX3Zpc3dzX2VuYWJsZV9pcnE7ICovCisvKiB2b2lkICgqcGNpYmlvc19kaXNhYmxlX2lycSkoc3RydWN0IHBjaV9kZXYgKmRldikgPSAmcGNpX3Zpc3dzX2Rpc2FibGVfaXJxOyAqLwogCi12b2lkIF9faW5pdCBwY2liaW9zX3BlbmFsaXplX2lzYV9pcnEoaW50IGlycSwgaW50IGFjdGl2ZSkge30KKy8qIHZvaWQgX19pbml0IHBjaWJpb3NfcGVuYWxpemVfaXNhX2lycShpbnQgaXJxLCBpbnQgYWN0aXZlKSB7fSAqLwogCiAKIHVuc2lnbmVkIGludCBwY2lfYnVzMCwgcGNpX2J1czE7CkBAIC04NSw3ICs4Niw3IEBACiAJcGNpX3dyaXRlX2NvbmZpZ19ieXRlKGRldiwgUENJX0lOVEVSUlVQVF9MSU5FLCBpcnEpOwogfQogCi1zdGF0aWMgaW50IF9faW5pdCBwY2liaW9zX2luaXQodm9pZCkKK3N0YXRpYyBpbnQgX19pbml0IHBjaV92aXN3c19pbml0KHZvaWQpCiB7CiAJLyogVGhlIFZJU1dTIHN1cHBvcnRzIGNvbmZpZ3VyYXRpb24gYWNjZXNzIHR5cGUgMSBvbmx5ICovCiAJcGNpX3Byb2JlID0gKHBjaV9wcm9iZSB8IFBDSV9QUk9CRV9DT05GMSkgJgpAQCAtMTA1LDQgKzEwNiwxNyBAQAogCXJldHVybiAwOwogfQogCi1zdWJzeXNfaW5pdGNhbGwocGNpYmlvc19pbml0KTsKK3N0YXRpYyBfX2luaXQgaW50IHBjaV9zdWJzeXNfaW5pdCh2b2lkKQoreworCWlmICghaXNfdmlzd3NfYm94KCkpCisJCXJldHVybiAtMTsKKworCXBjaWJpb3NfZW5hYmxlX2lycSA9ICZwY2lfdmlzd3NfZW5hYmxlX2lycTsKKwlwY2liaW9zX2Rpc2FibGVfaXJxID0gJnBjaV92aXN3c19kaXNhYmxlX2lycTsKKworCXBjaV92aXN3c19pbml0KCk7CisJcGNpYmlvc19pbml0KCk7CisKKwlyZXR1cm4gMDsKK30KK3N1YnN5c19pbml0Y2FsbChwY2lfc3Vic3lzX2luaXQpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvcG93ZXIvaGliZXJuYXRlXzY0LmMgYi9hcmNoL3g4Ni9wb3dlci9oaWJlcm5hdGVfNjQuYwppbmRleCBiNTQyMzU1Li42ZGQwMDBkIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9wb3dlci9oaWJlcm5hdGVfNjQuYworKysgYi9hcmNoL3g4Ni9wb3dlci9oaWJlcm5hdGVfNjQuYwpAQCAtODMsNyArODMsNyBAQAogCiAJLyogU2V0IHVwIHRoZSBkaXJlY3QgbWFwcGluZyBmcm9tIHNjcmF0Y2ggKi8KIAlzdGFydCA9ICh1bnNpZ25lZCBsb25nKXBmbl90b19rYWRkcigwKTsKLQllbmQgPSAodW5zaWduZWQgbG9uZylwZm5fdG9fa2FkZHIoZW5kX3Bmbik7CisJZW5kID0gKHVuc2lnbmVkIGxvbmcpcGZuX3RvX2thZGRyKG1heF9wZm4pOwogCiAJZm9yICg7IHN0YXJ0IDwgZW5kOyBzdGFydCA9IG5leHQpIHsKIAkJcHVkX3QgKnB1ZCA9IChwdWRfdCAqKWdldF9zYWZlX3BhZ2UoR0ZQX0FUT01JQyk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni92ZHNvL3ZjbG9ja19nZXR0aW1lLmMgYi9hcmNoL3g4Ni92ZHNvL3ZjbG9ja19nZXR0aW1lLmMKaW5kZXggZWZhMmJhNy4uMWVmMGY5MCAxMDA2NDQKLS0tIGEvYXJjaC94ODYvdmRzby92Y2xvY2tfZ2V0dGltZS5jCisrKyBiL2FyY2gveDg2L3Zkc28vdmNsb2NrX2dldHRpbWUuYwpAQCAtMjMsNyArMjMsNyBAQAogCiAjZGVmaW5lIGd0b2QgdmRzb192c3lzY2FsbF9ndG9kX2RhdGEKIAotc3RhdGljIGxvbmcgdmRzb19mYWxsYmFja19nZXR0aW1lKGxvbmcgY2xvY2ssIHN0cnVjdCB0aW1lc3BlYyAqdHMpCitub3RyYWNlIHN0YXRpYyBsb25nIHZkc29fZmFsbGJhY2tfZ2V0dGltZShsb25nIGNsb2NrLCBzdHJ1Y3QgdGltZXNwZWMgKnRzKQogewogCWxvbmcgcmV0OwogCWFzbSgic3lzY2FsbCIgOiAiPWEiIChyZXQpIDoKQEAgLTMxLDcgKzMxLDcgQEAKIAlyZXR1cm4gcmV0OwogfQogCi1zdGF0aWMgaW5saW5lIGxvbmcgdmdldG5zKHZvaWQpCitub3RyYWNlIHN0YXRpYyBpbmxpbmUgbG9uZyB2Z2V0bnModm9pZCkKIHsKIAlsb25nIHY7CiAJY3ljbGVzX3QgKCp2cmVhZCkodm9pZCk7CkBAIC00MCw3ICs0MCw3IEBACiAJcmV0dXJuICh2ICogZ3RvZC0+Y2xvY2subXVsdCkgPj4gZ3RvZC0+Y2xvY2suc2hpZnQ7CiB9CiAKLXN0YXRpYyBub2lubGluZSBpbnQgZG9fcmVhbHRpbWUoc3RydWN0IHRpbWVzcGVjICp0cykKK25vdHJhY2Ugc3RhdGljIG5vaW5saW5lIGludCBkb19yZWFsdGltZShzdHJ1Y3QgdGltZXNwZWMgKnRzKQogewogCXVuc2lnbmVkIGxvbmcgc2VxLCBuczsKIAlkbyB7CkBAIC01NCw3ICs1NCw4IEBACiB9CiAKIC8qIENvcHkgb2YgdGhlIHZlcnNpb24gaW4ga2VybmVsL3RpbWUuYyB3aGljaCB3ZSBjYW5ub3QgZGlyZWN0bHkgYWNjZXNzICovCi1zdGF0aWMgdm9pZCB2c2V0X25vcm1hbGl6ZWRfdGltZXNwZWMoc3RydWN0IHRpbWVzcGVjICp0cywgbG9uZyBzZWMsIGxvbmcgbnNlYykKK25vdHJhY2Ugc3RhdGljIHZvaWQKK3ZzZXRfbm9ybWFsaXplZF90aW1lc3BlYyhzdHJ1Y3QgdGltZXNwZWMgKnRzLCBsb25nIHNlYywgbG9uZyBuc2VjKQogewogCXdoaWxlIChuc2VjID49IE5TRUNfUEVSX1NFQykgewogCQluc2VjIC09IE5TRUNfUEVSX1NFQzsKQEAgLTY4LDcgKzY5LDcgQEAKIAl0cy0+dHZfbnNlYyA9IG5zZWM7CiB9CiAKLXN0YXRpYyBub2lubGluZSBpbnQgZG9fbW9ub3RvbmljKHN0cnVjdCB0aW1lc3BlYyAqdHMpCitub3RyYWNlIHN0YXRpYyBub2lubGluZSBpbnQgZG9fbW9ub3RvbmljKHN0cnVjdCB0aW1lc3BlYyAqdHMpCiB7CiAJdW5zaWduZWQgbG9uZyBzZXEsIG5zLCBzZWNzOwogCWRvIHsKQEAgLTgyLDcgKzgzLDcgQEAKIAlyZXR1cm4gMDsKIH0KIAotaW50IF9fdmRzb19jbG9ja19nZXR0aW1lKGNsb2NraWRfdCBjbG9jaywgc3RydWN0IHRpbWVzcGVjICp0cykKK25vdHJhY2UgaW50IF9fdmRzb19jbG9ja19nZXR0aW1lKGNsb2NraWRfdCBjbG9jaywgc3RydWN0IHRpbWVzcGVjICp0cykKIHsKIAlpZiAobGlrZWx5KGd0b2QtPnN5c2N0bF9lbmFibGVkICYmIGd0b2QtPmNsb2NrLnZyZWFkKSkKIAkJc3dpdGNoIChjbG9jaykgewpAQCAtOTYsNyArOTcsNyBAQAogaW50IGNsb2NrX2dldHRpbWUoY2xvY2tpZF90LCBzdHJ1Y3QgdGltZXNwZWMgKikKIAlfX2F0dHJpYnV0ZV9fKCh3ZWFrLCBhbGlhcygiX192ZHNvX2Nsb2NrX2dldHRpbWUiKSkpOwogCi1pbnQgX192ZHNvX2dldHRpbWVvZmRheShzdHJ1Y3QgdGltZXZhbCAqdHYsIHN0cnVjdCB0aW1lem9uZSAqdHopCitub3RyYWNlIGludCBfX3Zkc29fZ2V0dGltZW9mZGF5KHN0cnVjdCB0aW1ldmFsICp0diwgc3RydWN0IHRpbWV6b25lICp0eikKIHsKIAlsb25nIHJldDsKIAlpZiAobGlrZWx5KGd0b2QtPnN5c2N0bF9lbmFibGVkICYmIGd0b2QtPmNsb2NrLnZyZWFkKSkgewpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvdmRzby92ZHNvMzItc2V0dXAuYyBiL2FyY2gveDg2L3Zkc28vdmRzbzMyLXNldHVwLmMKaW5kZXggY2YwNThmZS4uMGJjZTU0MiAxMDA2NDQKLS0tIGEvYXJjaC94ODYvdmRzby92ZHNvMzItc2V0dXAuYworKysgYi9hcmNoL3g4Ni92ZHNvL3Zkc28zMi1zZXR1cC5jCkBAIC0yMDMsMjAgKzIwMywxMSBAQAogCiAjaWZkZWYgQ09ORklHX1g4Nl82NAogCi1zdGF0aWMgaW50IHVzZV9zeXNlbnRlciBfX3JlYWRfbW9zdGx5ID0gLTE7Ci0KLSNkZWZpbmUJdmRzbzMyX3N5c2VudGVyKCkJKHVzZV9zeXNlbnRlciA+IDApCisjZGVmaW5lCXZkc28zMl9zeXNlbnRlcigpCShib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfU1lTRU5URVIzMikpCiAKIC8qIE1heSBub3QgYmUgX19pbml0OiBjYWxsZWQgZHVyaW5nIHJlc3VtZSAqLwogdm9pZCBzeXNjYWxsMzJfY3B1X2luaXQodm9pZCkKIHsKLQlpZiAodXNlX3N5c2VudGVyIDwgMCkgewotCQlpZiAoYm9vdF9jcHVfZGF0YS54ODZfdmVuZG9yID09IFg4Nl9WRU5ET1JfSU5URUwpCi0JCQl1c2Vfc3lzZW50ZXIgPSAxOwotCQlpZiAoYm9vdF9jcHVfZGF0YS54ODZfdmVuZG9yID09IFg4Nl9WRU5ET1JfQ0VOVEFVUikKLQkJCXVzZV9zeXNlbnRlciA9IDE7Ci0JfQotCiAJLyogTG9hZCB0aGVzZSBhbHdheXMgaW4gY2FzZSBzb21lIGZ1dHVyZSBBTUQgQ1BVIHN1cHBvcnRzCiAJICAgU1lTRU5URVIgZnJvbSBjb21wYXQgbW9kZSB0b28uICovCiAJY2hlY2tpbmdfd3Jtc3JsKE1TUl9JQTMyX1NZU0VOVEVSX0NTLCAodTY0KV9fS0VSTkVMX0NTKTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L3Zkc28vdmdldGNwdS5jIGIvYXJjaC94ODYvdmRzby92Z2V0Y3B1LmMKaW5kZXggYzgwOTdmMS4uOWZiYzZiMiAxMDA2NDQKLS0tIGEvYXJjaC94ODYvdmRzby92Z2V0Y3B1LmMKKysrIGIvYXJjaC94ODYvdmRzby92Z2V0Y3B1LmMKQEAgLTEzLDcgKzEzLDggQEAKICNpbmNsdWRlIDxhc20vdmd0b2QuaD4KICNpbmNsdWRlICJ2ZXh0ZXJuLmgiCiAKLWxvbmcgX192ZHNvX2dldGNwdSh1bnNpZ25lZCAqY3B1LCB1bnNpZ25lZCAqbm9kZSwgc3RydWN0IGdldGNwdV9jYWNoZSAqdW51c2VkKQorbm90cmFjZSBsb25nCitfX3Zkc29fZ2V0Y3B1KHVuc2lnbmVkICpjcHUsIHVuc2lnbmVkICpub2RlLCBzdHJ1Y3QgZ2V0Y3B1X2NhY2hlICp1bnVzZWQpCiB7CiAJdW5zaWduZWQgaW50IHA7CiAKZGlmZiAtLWdpdCBhL2FyY2gveDg2L3Zkc28vdm1hLmMgYi9hcmNoL3g4Ni92ZHNvL3ZtYS5jCmluZGV4IDNmZGQ1MTQuLjE5YTZjZmEgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3Zkc28vdm1hLmMKKysrIGIvYXJjaC94ODYvdmRzby92bWEuYwpAQCAtMTYsNyArMTYsNyBAQAogI2luY2x1ZGUgInZleHRlcm4uaCIJCS8qIEp1c3QgZm9yIFZNQUdJQy4gICovCiAjdW5kZWYgVkVYVEVSTgogCi1pbnQgdmRzb19lbmFibGVkID0gMTsKK3Vuc2lnbmVkIGludCBfX3JlYWRfbW9zdGx5IHZkc29fZW5hYmxlZCA9IDE7CiAKIGV4dGVybiBjaGFyIHZkc29fc3RhcnRbXSwgdmRzb19lbmRbXTsKIGV4dGVybiB1bnNpZ25lZCBzaG9ydCB2ZHNvX3N5bmNfY3B1aWQ7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni94ZW4vS2NvbmZpZyBiL2FyY2gveDg2L3hlbi9LY29uZmlnCmluZGV4IDZjMzg4ZTUuLmMyY2M5OTUgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3hlbi9LY29uZmlnCisrKyBiL2FyY2gveDg2L3hlbi9LY29uZmlnCkBAIC0xMiwzICsxMiwxMyBAQAogCSAgVGhpcyBpcyB0aGUgTGludXggWGVuIHBvcnQuICBFbmFibGluZyB0aGlzIHdpbGwgYWxsb3cgdGhlCiAJICBrZXJuZWwgdG8gYm9vdCBpbiBhIHBhcmF2aXJ0dWFsaXplZCBlbnZpcm9ubWVudCB1bmRlciB0aGUKIAkgIFhlbiBoeXBlcnZpc29yLgorCitjb25maWcgWEVOX01BWF9ET01BSU5fTUVNT1JZCisgICAgICAgaW50ICJNYXhpbXVtIGFsbG93ZWQgc2l6ZSBvZiBhIGRvbWFpbiBpbiBnaWdhYnl0ZXMiCisgICAgICAgZGVmYXVsdCA4CisgICAgICAgZGVwZW5kcyBvbiBYRU4KKyAgICAgICBoZWxwCisgICAgICAgICBUaGUgcHNldWRvLXBoeXNpY2FsIHRvIG1hY2hpbmUgYWRkcmVzcyBhcnJheSBpcyBzaXplZAorICAgICAgICAgYWNjb3JkaW5nIHRvIHRoZSBtYXhpbXVtIHBvc3NpYmxlIG1lbW9yeSBzaXplIG9mIGEgWGVuCisgICAgICAgICBkb21haW4uICBUaGlzIGFycmF5IHVzZXMgMSBwYWdlIHBlciBnaWdhYnl0ZSwgc28gdGhlcmUncyBubworICAgICAgICAgbmVlZCB0byBiZSB0b28gc3Rpbmd5IGhlcmUuClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYveGVuL01ha2VmaWxlIGIvYXJjaC94ODYveGVuL01ha2VmaWxlCmluZGV4IDNkOGRmOTguLjJiYTJkMTYgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3hlbi9NYWtlZmlsZQorKysgYi9hcmNoL3g4Ni94ZW4vTWFrZWZpbGUKQEAgLTEsNCArMSw0IEBACiBvYmoteQkJOj0gZW5saWdodGVuLm8gc2V0dXAubyBtdWx0aWNhbGxzLm8gbW11Lm8gXAotCQkJdGltZS5vIG1hbmFnZS5vIHhlbi1hc20ubyBncmFudC10YWJsZS5vCisJCQl0aW1lLm8geGVuLWFzbS5vIGdyYW50LXRhYmxlLm8gc3VzcGVuZC5vCiAKIG9iai0kKENPTkZJR19TTVApCSs9IHNtcC5vCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni94ZW4vZW5saWdodGVuLmMgYi9hcmNoL3g4Ni94ZW4vZW5saWdodGVuLmMKaW5kZXggZjA5YzFjNi4uYmI1MDg0NSAxMDA2NDQKLS0tIGEvYXJjaC94ODYveGVuL2VubGlnaHRlbi5jCisrKyBiL2FyY2gveDg2L3hlbi9lbmxpZ2h0ZW4uYwpAQCAtNDUsNiArNDUsNyBAQAogI2luY2x1ZGUgPGFzbS9wZ3RhYmxlLmg+CiAjaW5jbHVkZSA8YXNtL3RsYmZsdXNoLmg+CiAjaW5jbHVkZSA8YXNtL3JlYm9vdC5oPgorI2luY2x1ZGUgPGFzbS9wZ2FsbG9jLmg+CiAKICNpbmNsdWRlICJ4ZW4tb3BzLmgiCiAjaW5jbHVkZSAibW11LmgiCkBAIC03NSwxMyArNzYsMTMgQEAKIHN0cnVjdCBzdGFydF9pbmZvICp4ZW5fc3RhcnRfaW5mbzsKIEVYUE9SVF9TWU1CT0xfR1BMKHhlbl9zdGFydF9pbmZvKTsKIAotc3RhdGljIC8qIF9faW5pdGRhdGEgKi8gc3RydWN0IHNoYXJlZF9pbmZvIGR1bW15X3NoYXJlZF9pbmZvOworc3RydWN0IHNoYXJlZF9pbmZvIHhlbl9kdW1teV9zaGFyZWRfaW5mbzsKIAogLyoKICAqIFBvaW50IGF0IHNvbWUgZW1wdHkgbWVtb3J5IHRvIHN0YXJ0IHdpdGguIFdlIG1hcCB0aGUgcmVhbCBzaGFyZWRfaW5mbwogICogcGFnZSBhcyBzb29uIGFzIGZpeG1hcCBpcyB1cCBhbmQgcnVubmluZy4KICAqLwotc3RydWN0IHNoYXJlZF9pbmZvICpIWVBFUlZJU09SX3NoYXJlZF9pbmZvID0gKHZvaWQgKikmZHVtbXlfc2hhcmVkX2luZm87CitzdHJ1Y3Qgc2hhcmVkX2luZm8gKkhZUEVSVklTT1Jfc2hhcmVkX2luZm8gPSAodm9pZCAqKSZ4ZW5fZHVtbXlfc2hhcmVkX2luZm87CiAKIC8qCiAgKiBGbGFnIHRvIGRldGVybWluZSB3aGV0aGVyIHZjcHUgaW5mbyBwbGFjZW1lbnQgaXMgYXZhaWxhYmxlIG9uIGFsbApAQCAtOTgsMTMgKzk5LDEzIEBACiAgKi8KIHN0YXRpYyBpbnQgaGF2ZV92Y3B1X2luZm9fcGxhY2VtZW50ID0gMTsKIAotc3RhdGljIHZvaWQgX19pbml0IHhlbl92Y3B1X3NldHVwKGludCBjcHUpCitzdGF0aWMgdm9pZCB4ZW5fdmNwdV9zZXR1cChpbnQgY3B1KQogewogCXN0cnVjdCB2Y3B1X3JlZ2lzdGVyX3ZjcHVfaW5mbyBpbmZvOwogCWludCBlcnI7CiAJc3RydWN0IHZjcHVfaW5mbyAqdmNwdXA7CiAKLQlCVUdfT04oSFlQRVJWSVNPUl9zaGFyZWRfaW5mbyA9PSAmZHVtbXlfc2hhcmVkX2luZm8pOworCUJVR19PTihIWVBFUlZJU09SX3NoYXJlZF9pbmZvID09ICZ4ZW5fZHVtbXlfc2hhcmVkX2luZm8pOwogCXBlcl9jcHUoeGVuX3ZjcHUsIGNwdSkgPSAmSFlQRVJWSVNPUl9zaGFyZWRfaW5mby0+dmNwdV9pbmZvW2NwdV07CiAKIAlpZiAoIWhhdmVfdmNwdV9pbmZvX3BsYWNlbWVudCkKQEAgLTEzNiwxMSArMTM3LDQxIEBACiAJfQogfQogCisvKgorICogT24gcmVzdG9yZSwgc2V0IHRoZSB2Y3B1IHBsYWNlbWVudCB1cCBhZ2Fpbi4KKyAqIElmIGl0IGZhaWxzLCB0aGVuIHdlJ3JlIGluIGEgYmFkIHN0YXRlLCBzaW5jZQorICogd2UgY2FuJ3QgYmFjayBvdXQgZnJvbSB1c2luZyBpdC4uLgorICovCit2b2lkIHhlbl92Y3B1X3Jlc3RvcmUodm9pZCkKK3sKKwlpZiAoaGF2ZV92Y3B1X2luZm9fcGxhY2VtZW50KSB7CisJCWludCBjcHU7CisKKwkJZm9yX2VhY2hfb25saW5lX2NwdShjcHUpIHsKKwkJCWJvb2wgb3RoZXJfY3B1ID0gKGNwdSAhPSBzbXBfcHJvY2Vzc29yX2lkKCkpOworCisJCQlpZiAob3RoZXJfY3B1ICYmCisJCQkgICAgSFlQRVJWSVNPUl92Y3B1X29wKFZDUFVPUF9kb3duLCBjcHUsIE5VTEwpKQorCQkJCUJVRygpOworCisJCQl4ZW5fdmNwdV9zZXR1cChjcHUpOworCisJCQlpZiAob3RoZXJfY3B1ICYmCisJCQkgICAgSFlQRVJWSVNPUl92Y3B1X29wKFZDUFVPUF91cCwgY3B1LCBOVUxMKSkKKwkJCQlCVUcoKTsKKwkJfQorCisJCUJVR19PTighaGF2ZV92Y3B1X2luZm9fcGxhY2VtZW50KTsKKwl9Cit9CisKIHN0YXRpYyB2b2lkIF9faW5pdCB4ZW5fYmFubmVyKHZvaWQpCiB7CiAJcHJpbnRrKEtFUk5fSU5GTyAiQm9vdGluZyBwYXJhdmlydHVhbGl6ZWQga2VybmVsIG9uICVzXG4iLAogCSAgICAgICBwdl9pbmZvLm5hbWUpOwotCXByaW50ayhLRVJOX0lORk8gIkh5cGVydmlzb3Igc2lnbmF0dXJlOiAlc1xuIiwgeGVuX3N0YXJ0X2luZm8tPm1hZ2ljKTsKKwlwcmludGsoS0VSTl9JTkZPICJIeXBlcnZpc29yIHNpZ25hdHVyZTogJXMlc1xuIiwKKwkgICAgICAgeGVuX3N0YXJ0X2luZm8tPm1hZ2ljLAorCSAgICAgICB4ZW5fZmVhdHVyZShYRU5GRUFUX21tdV9wdF91cGRhdGVfcHJlc2VydmVfYWQpID8gIiAocHJlc2VydmUtQUQpIiA6ICIiKTsKIH0KIAogc3RhdGljIHZvaWQgeGVuX2NwdWlkKHVuc2lnbmVkIGludCAqYXgsIHVuc2lnbmVkIGludCAqYngsCkBAIC0yMzUsMTMgKzI2NiwxMyBAQAogewogCXN0cnVjdCB2Y3B1X2luZm8gKnZjcHU7CiAKLQkvKiBUaGVyZSdzIGEgb25lIGluc3RydWN0aW9uIHByZWVtcHQgd2luZG93IGhlcmUuICBXZSBuZWVkIHRvCi0JICAgbWFrZSBzdXJlIHdlJ3JlIGRvbid0IHN3aXRjaCBDUFVzIGJldHdlZW4gZ2V0dGluZyB0aGUgdmNwdQotCSAgIHBvaW50ZXIgYW5kIHVwZGF0aW5nIHRoZSBtYXNrLiAqLwotCXByZWVtcHRfZGlzYWJsZSgpOworCS8qIFdlIGRvbid0IG5lZWQgdG8gd29ycnkgYWJvdXQgYmVpbmcgcHJlZW1wdGVkIGhlcmUsIHNpbmNlCisJICAgZWl0aGVyIGEpIGludGVycnVwdHMgYXJlIGRpc2FibGVkLCBzbyBubyBwcmVlbXB0aW9uLCBvciBiKQorCSAgIHRoZSBjYWxsZXIgaXMgY29uZnVzZWQgYW5kIGlzIHRyeWluZyB0byByZS1lbmFibGUgaW50ZXJydXB0cworCSAgIG9uIGFuIGluZGV0ZXJtaW5hdGUgcHJvY2Vzc29yLiAqLworCiAJdmNwdSA9IHg4Nl9yZWFkX3BlcmNwdSh4ZW5fdmNwdSk7CiAJdmNwdS0+ZXZ0Y2huX3VwY2FsbF9tYXNrID0gMDsKLQlwcmVlbXB0X2VuYWJsZV9ub19yZXNjaGVkKCk7CiAKIAkvKiBEb2Vzbid0IG1hdHRlciBpZiB3ZSBnZXQgcHJlZW1wdGVkIGhlcmUsIGJlY2F1c2UgYW55CiAJICAgcGVuZGluZyBldmVudCB3aWxsIGdldCBkZWFsdCB3aXRoIGFueXdheS4gKi8KQEAgLTI1NCw3ICsyODUsNyBAQAogc3RhdGljIHZvaWQgeGVuX3NhZmVfaGFsdCh2b2lkKQogewogCS8qIEJsb2NraW5nIGluY2x1ZGVzIGFuIGltcGxpY2l0IGxvY2FsX2lycV9lbmFibGUoKS4gKi8KLQlpZiAoSFlQRVJWSVNPUl9zY2hlZF9vcChTQ0hFRE9QX2Jsb2NrLCAwKSAhPSAwKQorCWlmIChIWVBFUlZJU09SX3NjaGVkX29wKFNDSEVET1BfYmxvY2ssIE5VTEwpICE9IDApCiAJCUJVRygpOwogfQogCkBAIC02MDcsNiArNjM4LDMwIEBACiAJeGVuX21jX2lzc3VlKFBBUkFWSVJUX0xBWllfTU1VKTsKIH0KIAorc3RhdGljIHZvaWQgeGVuX2NsdHModm9pZCkKK3sKKwlzdHJ1Y3QgbXVsdGljYWxsX3NwYWNlIG1jczsKKworCW1jcyA9IHhlbl9tY19lbnRyeSgwKTsKKworCU1VTFRJX2ZwdV90YXNrc3dpdGNoKG1jcy5tYywgMCk7CisKKwl4ZW5fbWNfaXNzdWUoUEFSQVZJUlRfTEFaWV9DUFUpOworfQorCitzdGF0aWMgdm9pZCB4ZW5fd3JpdGVfY3IwKHVuc2lnbmVkIGxvbmcgY3IwKQoreworCXN0cnVjdCBtdWx0aWNhbGxfc3BhY2UgbWNzOworCisJLyogT25seSBwYXkgYXR0ZW50aW9uIHRvIGNyMC5UUzsgZXZlcnl0aGluZyBlbHNlIGlzCisJICAgaWdub3JlZC4gKi8KKwltY3MgPSB4ZW5fbWNfZW50cnkoMCk7CisKKwlNVUxUSV9mcHVfdGFza3N3aXRjaChtY3MubWMsIChjcjAgJiBYODZfQ1IwX1RTKSAhPSAwKTsKKworCXhlbl9tY19pc3N1ZShQQVJBVklSVF9MQVpZX0NQVSk7Cit9CisKIHN0YXRpYyB2b2lkIHhlbl93cml0ZV9jcjIodW5zaWduZWQgbG9uZyBjcjIpCiB7CiAJeDg2X3JlYWRfcGVyY3B1KHhlbl92Y3B1KS0+YXJjaC5jcjIgPSBjcjI7CkBAIC02MjQsOCArNjc5LDEwIEBACiAKIHN0YXRpYyB2b2lkIHhlbl93cml0ZV9jcjQodW5zaWduZWQgbG9uZyBjcjQpCiB7Ci0JLyogSnVzdCBpZ25vcmUgY3I0IGNoYW5nZXM7IFhlbiBkb2Vzbid0IGFsbG93IHVzIHRvIGRvCi0JICAgYW55dGhpbmcgYW55d2F5LiAqLworCWNyNCAmPSB+WDg2X0NSNF9QR0U7CisJY3I0ICY9IH5YODZfQ1I0X1BTRTsKKworCW5hdGl2ZV93cml0ZV9jcjQoY3I0KTsKIH0KIAogc3RhdGljIHVuc2lnbmVkIGxvbmcgeGVuX3JlYWRfY3IzKHZvaWQpCkBAIC04MzEsNyArODg4LDcgQEAKIAkJCSAgUEZOX0RPV04oX19wYSh4ZW5fc3RhcnRfaW5mby0+cHRfYmFzZSkpKTsKIH0KIAotc3RhdGljIF9faW5pdCB2b2lkIHNldHVwX3NoYXJlZF9pbmZvKHZvaWQpCit2b2lkIHhlbl9zZXR1cF9zaGFyZWRfaW5mbyh2b2lkKQogewogCWlmICgheGVuX2ZlYXR1cmUoWEVORkVBVF9hdXRvX3RyYW5zbGF0ZWRfcGh5c21hcCkpIHsKIAkJdW5zaWduZWQgbG9uZyBhZGRyID0gZml4X3RvX3ZpcnQoRklYX1BBUkFWSVJUX0JPT1RNQVApOwpAQCAtODU0LDYgKzkxMSw4IEBACiAJLyogSW4gVVAgdGhpcyBpcyBhcyBnb29kIGEgcGxhY2UgYXMgYW55IHRvIHNldCB1cCBzaGFyZWQgaW5mbyAqLwogCXhlbl9zZXR1cF92Y3B1X2luZm9fcGxhY2VtZW50KCk7CiAjZW5kaWYKKworCXhlbl9zZXR1cF9tZm5fbGlzdF9saXN0KCk7CiB9CiAKIHN0YXRpYyBfX2luaXQgdm9pZCB4ZW5fcGFnZXRhYmxlX3NldHVwX2RvbmUocGdkX3QgKmJhc2UpCkBAIC04NjYsMTUgKzkyNSwyMyBAQAogCXB2X21tdV9vcHMucmVsZWFzZV9wbWQgPSB4ZW5fcmVsZWFzZV9wbWQ7CiAJcHZfbW11X29wcy5zZXRfcHRlID0geGVuX3NldF9wdGU7CiAKLQlzZXR1cF9zaGFyZWRfaW5mbygpOworCXhlbl9zZXR1cF9zaGFyZWRfaW5mbygpOwogCiAJLyogQWN0dWFsbHkgcGluIHRoZSBwYWdldGFibGUgZG93biwgYnV0IHdlIGNhbid0IHNldCBQR19waW5uZWQKIAkgICB5ZXQgYmVjYXVzZSB0aGUgcGFnZSBzdHJ1Y3R1cmVzIGRvbid0IGV4aXN0IHlldC4gKi8KIAlwaW5fcGFnZXRhYmxlX3BmbihNTVVFWFRfUElOX0wzX1RBQkxFLCBQRk5fRE9XTihfX3BhKGJhc2UpKSk7CiB9CiAKK3N0YXRpYyBfX2luaXQgdm9pZCB4ZW5fcG9zdF9hbGxvY2F0b3JfaW5pdCh2b2lkKQoreworCXB2X21tdV9vcHMuc2V0X3BtZCA9IHhlbl9zZXRfcG1kOworCXB2X21tdV9vcHMuc2V0X3B1ZCA9IHhlbl9zZXRfcHVkOworCisJeGVuX21hcmtfaW5pdF9tbV9waW5uZWQoKTsKK30KKwogLyogVGhpcyBpcyBjYWxsZWQgb25jZSB3ZSBoYXZlIHRoZSBjcHVfcG9zc2libGVfbWFwICovCi12b2lkIF9faW5pdCB4ZW5fc2V0dXBfdmNwdV9pbmZvX3BsYWNlbWVudCh2b2lkKQordm9pZCB4ZW5fc2V0dXBfdmNwdV9pbmZvX3BsYWNlbWVudCh2b2lkKQogewogCWludCBjcHU7CiAKQEAgLTk0Nyw2ICsxMDE0LDMzIEBACiAJcmV0dXJuIHJldDsKIH0KIAorc3RhdGljIHZvaWQgeGVuX3NldF9maXhtYXAodW5zaWduZWQgaWR4LCB1bnNpZ25lZCBsb25nIHBoeXMsIHBncHJvdF90IHByb3QpCit7CisJcHRlX3QgcHRlOworCisJcGh5cyA+Pj0gUEFHRV9TSElGVDsKKworCXN3aXRjaCAoaWR4KSB7CisJY2FzZSBGSVhfQlRNQVBfRU5EIC4uLiBGSVhfQlRNQVBfQkVHSU46CisjaWZkZWYgQ09ORklHX1g4Nl9GMDBGX0JVRworCWNhc2UgRklYX0YwMEZfSURUOgorI2VuZGlmCisJY2FzZSBGSVhfV1BfVEVTVDoKKwljYXNlIEZJWF9WRFNPOgorI2lmZGVmIENPTkZJR19YODZfTE9DQUxfQVBJQworCWNhc2UgRklYX0FQSUNfQkFTRToJLyogbWFwcyBkdW1teSBsb2NhbCBBUElDICovCisjZW5kaWYKKwkJcHRlID0gcGZuX3B0ZShwaHlzLCBwcm90KTsKKwkJYnJlYWs7CisKKwlkZWZhdWx0OgorCQlwdGUgPSBtZm5fcHRlKHBoeXMsIHByb3QpOworCQlicmVhazsKKwl9CisKKwlfX25hdGl2ZV9zZXRfZml4bWFwKGlkeCwgcHRlKTsKK30KKwogc3RhdGljIGNvbnN0IHN0cnVjdCBwdl9pbmZvIHhlbl9pbmZvIF9faW5pdGRhdGEgPSB7CiAJLnBhcmF2aXJ0X2VuYWJsZWQgPSAxLAogCS5zaGFyZWRfa2VybmVsX3BtZCA9IDAsCkBAIC05NjAsNyArMTA1NCw3IEBACiAJLmJhbm5lciA9IHhlbl9iYW5uZXIsCiAJLm1lbW9yeV9zZXR1cCA9IHhlbl9tZW1vcnlfc2V0dXAsCiAJLmFyY2hfc2V0dXAgPSB4ZW5fYXJjaF9zZXR1cCwKLQkucG9zdF9hbGxvY2F0b3JfaW5pdCA9IHhlbl9tYXJrX2luaXRfbW1fcGlubmVkLAorCS5wb3N0X2FsbG9jYXRvcl9pbml0ID0geGVuX3Bvc3RfYWxsb2NhdG9yX2luaXQsCiB9OwogCiBzdGF0aWMgY29uc3Qgc3RydWN0IHB2X3RpbWVfb3BzIHhlbl90aW1lX29wcyBfX2luaXRkYXRhID0gewpAQCAtOTY4LDcgKzEwNjIsNyBAQAogCiAJLnNldF93YWxsY2xvY2sgPSB4ZW5fc2V0X3dhbGxjbG9jaywKIAkuZ2V0X3dhbGxjbG9jayA9IHhlbl9nZXRfd2FsbGNsb2NrLAotCS5nZXRfY3B1X2toeiA9IHhlbl9jcHVfa2h6LAorCS5nZXRfdHNjX2toeiA9IHhlbl90c2Nfa2h6LAogCS5zY2hlZF9jbG9jayA9IHhlbl9zY2hlZF9jbG9jaywKIH07CiAKQEAgLTk3OCwxMCArMTA3MiwxMCBAQAogCS5zZXRfZGVidWdyZWcgPSB4ZW5fc2V0X2RlYnVncmVnLAogCS5nZXRfZGVidWdyZWcgPSB4ZW5fZ2V0X2RlYnVncmVnLAogCi0JLmNsdHMgPSBuYXRpdmVfY2x0cywKKwkuY2x0cyA9IHhlbl9jbHRzLAogCiAJLnJlYWRfY3IwID0gbmF0aXZlX3JlYWRfY3IwLAotCS53cml0ZV9jcjAgPSBuYXRpdmVfd3JpdGVfY3IwLAorCS53cml0ZV9jcjAgPSB4ZW5fd3JpdGVfY3IwLAogCiAJLnJlYWRfY3I0ID0gbmF0aXZlX3JlYWRfY3I0LAogCS5yZWFkX2NyNF9zYWZlID0gbmF0aXZlX3JlYWRfY3I0X3NhZmUsCkBAIC05OTUsNyArMTA4OSw3IEBACiAJLnJlYWRfcG1jID0gbmF0aXZlX3JlYWRfcG1jLAogCiAJLmlyZXQgPSB4ZW5faXJldCwKLQkuaXJxX2VuYWJsZV9zeXNjYWxsX3JldCA9IHhlbl9zeXNleGl0LAorCS5pcnFfZW5hYmxlX3N5c2V4aXQgPSB4ZW5fc3lzZXhpdCwKIAogCS5sb2FkX3RyX2Rlc2MgPSBwYXJhdmlydF9ub3AsCiAJLnNldF9sZHQgPSB4ZW5fc2V0X2xkdCwKQEAgLTEwMjksNiArMTEyMyw5IEBACiAJLmlycV9lbmFibGUgPSB4ZW5faXJxX2VuYWJsZSwKIAkuc2FmZV9oYWx0ID0geGVuX3NhZmVfaGFsdCwKIAkuaGFsdCA9IHhlbl9oYWx0LAorI2lmZGVmIENPTkZJR19YODZfNjQKKwkuYWRqdXN0X2V4Y2VwdGlvbl9mcmFtZSA9IHBhcmF2aXJ0X25vcCwKKyNlbmRpZgogfTsKIAogc3RhdGljIGNvbnN0IHN0cnVjdCBwdl9hcGljX29wcyB4ZW5fYXBpY19vcHMgX19pbml0ZGF0YSA9IHsKQEAgLTEwNjAsNiArMTE1Nyw5IEBACiAJLnB0ZV91cGRhdGUgPSBwYXJhdmlydF9ub3AsCiAJLnB0ZV91cGRhdGVfZGVmZXIgPSBwYXJhdmlydF9ub3AsCiAKKwkucGdkX2FsbG9jID0gX19wYXJhdmlydF9wZ2RfYWxsb2MsCisJLnBnZF9mcmVlID0gcGFyYXZpcnRfbm9wLAorCiAJLmFsbG9jX3B0ZSA9IHhlbl9hbGxvY19wdGVfaW5pdCwKIAkucmVsZWFzZV9wdGUgPSB4ZW5fcmVsZWFzZV9wdGVfaW5pdCwKIAkuYWxsb2NfcG1kID0geGVuX2FsbG9jX3B0ZV9pbml0LApAQCAtMTA3Miw5ICsxMTcyLDEzIEBACiAKIAkuc2V0X3B0ZSA9IE5VTEwsCS8qIHNlZSB4ZW5fcGFnZXRhYmxlX3NldHVwXyogKi8KIAkuc2V0X3B0ZV9hdCA9IHhlbl9zZXRfcHRlX2F0LAotCS5zZXRfcG1kID0geGVuX3NldF9wbWQsCisJLnNldF9wbWQgPSB4ZW5fc2V0X3BtZF9oeXBlciwKKworCS5wdGVwX21vZGlmeV9wcm90X3N0YXJ0ID0gX19wdGVwX21vZGlmeV9wcm90X3N0YXJ0LAorCS5wdGVwX21vZGlmeV9wcm90X2NvbW1pdCA9IF9fcHRlcF9tb2RpZnlfcHJvdF9jb21taXQsCiAKIAkucHRlX3ZhbCA9IHhlbl9wdGVfdmFsLAorCS5wdGVfZmxhZ3MgPSBuYXRpdmVfcHRlX3ZhbCwKIAkucGdkX3ZhbCA9IHhlbl9wZ2RfdmFsLAogCiAJLm1ha2VfcHRlID0geGVuX21ha2VfcHRlLApAQCAtMTA4Miw3ICsxMTg2LDcgQEAKIAogCS5zZXRfcHRlX2F0b21pYyA9IHhlbl9zZXRfcHRlX2F0b21pYywKIAkuc2V0X3B0ZV9wcmVzZW50ID0geGVuX3NldF9wdGVfYXQsCi0JLnNldF9wdWQgPSB4ZW5fc2V0X3B1ZCwKKwkuc2V0X3B1ZCA9IHhlbl9zZXRfcHVkX2h5cGVyLAogCS5wdGVfY2xlYXIgPSB4ZW5fcHRlX2NsZWFyLAogCS5wbWRfY2xlYXIgPSB4ZW5fcG1kX2NsZWFyLAogCkBAIC0xMDk3LDYgKzEyMDEsOCBAQAogCQkuZW50ZXIgPSBwYXJhdmlydF9lbnRlcl9sYXp5X21tdSwKIAkJLmxlYXZlID0geGVuX2xlYXZlX2xhenksCiAJfSwKKworCS5zZXRfZml4bWFwID0geGVuX3NldF9maXhtYXAsCiB9OwogCiAjaWZkZWYgQ09ORklHX1NNUApAQCAtMTEwOCwxNyArMTIxNCwyMSBAQAogCiAJLnNtcF9zZW5kX3N0b3AgPSB4ZW5fc21wX3NlbmRfc3RvcCwKIAkuc21wX3NlbmRfcmVzY2hlZHVsZSA9IHhlbl9zbXBfc2VuZF9yZXNjaGVkdWxlLAotCS5zbXBfY2FsbF9mdW5jdGlvbl9tYXNrID0geGVuX3NtcF9jYWxsX2Z1bmN0aW9uX21hc2ssCisKKwkuc2VuZF9jYWxsX2Z1bmNfaXBpID0geGVuX3NtcF9zZW5kX2NhbGxfZnVuY3Rpb25faXBpLAorCS5zZW5kX2NhbGxfZnVuY19zaW5nbGVfaXBpID0geGVuX3NtcF9zZW5kX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2lwaSwKIH07CiAjZW5kaWYJLyogQ09ORklHX1NNUCAqLwogCiBzdGF0aWMgdm9pZCB4ZW5fcmVib290KGludCByZWFzb24pCiB7CisJc3RydWN0IHNjaGVkX3NodXRkb3duIHIgPSB7IC5yZWFzb24gPSByZWFzb24gfTsKKwogI2lmZGVmIENPTkZJR19TTVAKIAlzbXBfc2VuZF9zdG9wKCk7CiAjZW5kaWYKIAotCWlmIChIWVBFUlZJU09SX3NjaGVkX29wKFNDSEVET1Bfc2h1dGRvd24sIHJlYXNvbikpCisJaWYgKEhZUEVSVklTT1Jfc2NoZWRfb3AoU0NIRURPUF9zaHV0ZG93biwgJnIpKQogCQlCVUcoKTsKIH0KIApAQCAtMTE3Myw2ICsxMjgzLDggQEAKIAogCUJVR19PTihtZW1jbXAoeGVuX3N0YXJ0X2luZm8tPm1hZ2ljLCAieGVuLTMiLCA1KSAhPSAwKTsKIAorCXhlbl9zZXR1cF9mZWF0dXJlcygpOworCiAJLyogSW5zdGFsbCBYZW4gcGFyYXZpcnQgb3BzICovCiAJcHZfaW5mbyA9IHhlbl9pbmZvOwogCXB2X2luaXRfb3BzID0geGVuX2luaXRfb3BzOwpAQCAtMTE4MiwyMSArMTI5NCwyNiBAQAogCXB2X2FwaWNfb3BzID0geGVuX2FwaWNfb3BzOwogCXB2X21tdV9vcHMgPSB4ZW5fbW11X29wczsKIAorCWlmICh4ZW5fZmVhdHVyZShYRU5GRUFUX21tdV9wdF91cGRhdGVfcHJlc2VydmVfYWQpKSB7CisJCXB2X21tdV9vcHMucHRlcF9tb2RpZnlfcHJvdF9zdGFydCA9IHhlbl9wdGVwX21vZGlmeV9wcm90X3N0YXJ0OworCQlwdl9tbXVfb3BzLnB0ZXBfbW9kaWZ5X3Byb3RfY29tbWl0ID0geGVuX3B0ZXBfbW9kaWZ5X3Byb3RfY29tbWl0OworCX0KKwogCW1hY2hpbmVfb3BzID0geGVuX21hY2hpbmVfb3BzOwogCiAjaWZkZWYgQ09ORklHX1NNUAogCXNtcF9vcHMgPSB4ZW5fc21wX29wczsKICNlbmRpZgogCi0JeGVuX3NldHVwX2ZlYXR1cmVzKCk7Ci0KIAkvKiBHZXQgbWZuIGxpc3QgKi8KIAlpZiAoIXhlbl9mZWF0dXJlKFhFTkZFQVRfYXV0b190cmFuc2xhdGVkX3BoeXNtYXApKQotCQlwaHlzX3RvX21hY2hpbmVfbWFwcGluZyA9ICh1bnNpZ25lZCBsb25nICopeGVuX3N0YXJ0X2luZm8tPm1mbl9saXN0OworCQl4ZW5fYnVpbGRfZHluYW1pY19waHlzX3RvX21hY2hpbmUoKTsKIAogCXBnZCA9IChwZ2RfdCAqKXhlbl9zdGFydF9pbmZvLT5wdF9iYXNlOwogCisJaW5pdF9wZ190YWJsZXNfc3RhcnQgPSBfX3BhKHBnZCk7CiAJaW5pdF9wZ190YWJsZXNfZW5kID0gX19wYShwZ2QpICsgeGVuX3N0YXJ0X2luZm8tPm5yX3B0X2ZyYW1lcypQQUdFX1NJWkU7CisJbWF4X3Bmbl9tYXBwZWQgPSAoaW5pdF9wZ190YWJsZXNfZW5kICsgNTEyKjEwMjQpID4+IFBBR0VfU0hJRlQ7CiAKIAlpbml0X21tLnBnZCA9IHBnZDsgLyogdXNlIHRoZSBYZW4gcGFnZXRhYmxlcyB0byBzdGFydCAqLwogCkBAIC0xMjMyLDkgKzEzNDksMTIgQEAKIAkJPyBfX3BhKHhlbl9zdGFydF9pbmZvLT5tb2Rfc3RhcnQpIDogMDsKIAlib290X3BhcmFtcy5oZHIucmFtZGlza19zaXplID0geGVuX3N0YXJ0X2luZm8tPm1vZF9sZW47CiAKLQlpZiAoIWlzX2luaXRpYWxfeGVuZG9tYWluKCkpCisJaWYgKCFpc19pbml0aWFsX3hlbmRvbWFpbigpKSB7CisJCWFkZF9wcmVmZXJyZWRfY29uc29sZSgieGVuYm9vdCIsIDAsIE5VTEwpOworCQlhZGRfcHJlZmVycmVkX2NvbnNvbGUoInR0eSIsIDAsIE5VTEwpOwogCQlhZGRfcHJlZmVycmVkX2NvbnNvbGUoImh2YyIsIDAsIE5VTEwpOworCX0KIAogCS8qIFN0YXJ0IHRoZSB3b3JsZCAqLwotCXN0YXJ0X2tlcm5lbCgpOworCWkzODZfc3RhcnRfa2VybmVsKCk7CiB9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni94ZW4vbWFuYWdlLmMgYi9hcmNoL3g4Ni94ZW4vbWFuYWdlLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFhN2FmOWUuLjAwMDAwMDAKLS0tIGEvYXJjaC94ODYveGVuL21hbmFnZS5jCisrKyAvZGV2L251bGwKQEAgLTEsMTQzICswLDAgQEAKLS8qCi0gKiBIYW5kbGUgZXh0ZXJuIHJlcXVlc3RzIGZvciBzaHV0ZG93biwgcmVib290IGFuZCBzeXNycQotICovCi0jaW5jbHVkZSA8bGludXgva2VybmVsLmg+Ci0jaW5jbHVkZSA8bGludXgvZXJyLmg+Ci0jaW5jbHVkZSA8bGludXgvcmVib290Lmg+Ci0jaW5jbHVkZSA8bGludXgvc3lzcnEuaD4KLQotI2luY2x1ZGUgPHhlbi94ZW5idXMuaD4KLQotI2RlZmluZSBTSFVURE9XTl9JTlZBTElEICAtMQotI2RlZmluZSBTSFVURE9XTl9QT1dFUk9GRiAgMAotI2RlZmluZSBTSFVURE9XTl9TVVNQRU5EICAgMgotLyogQ29kZSAzIGlzIFNIVVRET1dOX0NSQVNILCB3aGljaCB3ZSBkb24ndCB1c2UgYmVjYXVzZSB0aGUgZG9tYWluIGNhbiBvbmx5Ci0gKiByZXBvcnQgYSBjcmFzaCwgbm90IGJlIGluc3RydWN0ZWQgdG8gY3Jhc2ghCi0gKiBIQUxUIGlzIHRoZSBzYW1lIGFzIFBPV0VST0ZGLCBhcyBmYXIgYXMgd2UncmUgY29uY2VybmVkLiAgVGhlIHRvb2xzIHVzZQotICogdGhlIGRpc3RpbmN0aW9uIHdoZW4gd2UgcmV0dXJuIHRoZSByZWFzb24gY29kZSB0byB0aGVtLgotICovCi0jZGVmaW5lIFNIVVRET1dOX0hBTFQgICAgICA0Ci0KLS8qIElnbm9yZSBtdWx0aXBsZSBzaHV0ZG93biByZXF1ZXN0cy4gKi8KLXN0YXRpYyBpbnQgc2h1dHRpbmdfZG93biA9IFNIVVRET1dOX0lOVkFMSUQ7Ci0KLXN0YXRpYyB2b2lkIHNodXRkb3duX2hhbmRsZXIoc3RydWN0IHhlbmJ1c193YXRjaCAqd2F0Y2gsCi0JCQkgICAgIGNvbnN0IGNoYXIgKip2ZWMsIHVuc2lnbmVkIGludCBsZW4pCi17Ci0JY2hhciAqc3RyOwotCXN0cnVjdCB4ZW5idXNfdHJhbnNhY3Rpb24geGJ0OwotCWludCBlcnI7Ci0KLQlpZiAoc2h1dHRpbmdfZG93biAhPSBTSFVURE9XTl9JTlZBTElEKQotCQlyZXR1cm47Ci0KLSBhZ2FpbjoKLQllcnIgPSB4ZW5idXNfdHJhbnNhY3Rpb25fc3RhcnQoJnhidCk7Ci0JaWYgKGVycikKLQkJcmV0dXJuOwotCi0Jc3RyID0gKGNoYXIgKil4ZW5idXNfcmVhZCh4YnQsICJjb250cm9sIiwgInNodXRkb3duIiwgTlVMTCk7Ci0JLyogSWdub3JlIHJlYWQgZXJyb3JzIGFuZCBlbXB0eSByZWFkcy4gKi8KLQlpZiAoWEVOQlVTX0lTX0VSUl9SRUFEKHN0cikpIHsKLQkJeGVuYnVzX3RyYW5zYWN0aW9uX2VuZCh4YnQsIDEpOwotCQlyZXR1cm47Ci0JfQotCi0JeGVuYnVzX3dyaXRlKHhidCwgImNvbnRyb2wiLCAic2h1dGRvd24iLCAiIik7Ci0KLQllcnIgPSB4ZW5idXNfdHJhbnNhY3Rpb25fZW5kKHhidCwgMCk7Ci0JaWYgKGVyciA9PSAtRUFHQUlOKSB7Ci0JCWtmcmVlKHN0cik7Ci0JCWdvdG8gYWdhaW47Ci0JfQotCi0JaWYgKHN0cmNtcChzdHIsICJwb3dlcm9mZiIpID09IDAgfHwKLQkgICAgc3RyY21wKHN0ciwgImhhbHQiKSA9PSAwKQotCQlvcmRlcmx5X3Bvd2Vyb2ZmKGZhbHNlKTsKLQllbHNlIGlmIChzdHJjbXAoc3RyLCAicmVib290IikgPT0gMCkKLQkJY3RybF9hbHRfZGVsKCk7Ci0JZWxzZSB7Ci0JCXByaW50ayhLRVJOX0lORk8gIklnbm9yaW5nIHNodXRkb3duIHJlcXVlc3Q6ICVzXG4iLCBzdHIpOwotCQlzaHV0dGluZ19kb3duID0gU0hVVERPV05fSU5WQUxJRDsKLQl9Ci0KLQlrZnJlZShzdHIpOwotfQotCi1zdGF0aWMgdm9pZCBzeXNycV9oYW5kbGVyKHN0cnVjdCB4ZW5idXNfd2F0Y2ggKndhdGNoLCBjb25zdCBjaGFyICoqdmVjLAotCQkJICB1bnNpZ25lZCBpbnQgbGVuKQotewotCWNoYXIgc3lzcnFfa2V5ID0gJ1wwJzsKLQlzdHJ1Y3QgeGVuYnVzX3RyYW5zYWN0aW9uIHhidDsKLQlpbnQgZXJyOwotCi0gYWdhaW46Ci0JZXJyID0geGVuYnVzX3RyYW5zYWN0aW9uX3N0YXJ0KCZ4YnQpOwotCWlmIChlcnIpCi0JCXJldHVybjsKLQlpZiAoIXhlbmJ1c19zY2FuZih4YnQsICJjb250cm9sIiwgInN5c3JxIiwgIiVjIiwgJnN5c3JxX2tleSkpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJVbmFibGUgdG8gcmVhZCBzeXNycSBjb2RlIGluICIKLQkJICAgICAgICJjb250cm9sL3N5c3JxXG4iKTsKLQkJeGVuYnVzX3RyYW5zYWN0aW9uX2VuZCh4YnQsIDEpOwotCQlyZXR1cm47Ci0JfQotCi0JaWYgKHN5c3JxX2tleSAhPSAnXDAnKQotCQl4ZW5idXNfcHJpbnRmKHhidCwgImNvbnRyb2wiLCAic3lzcnEiLCAiJWMiLCAnXDAnKTsKLQotCWVyciA9IHhlbmJ1c190cmFuc2FjdGlvbl9lbmQoeGJ0LCAwKTsKLQlpZiAoZXJyID09IC1FQUdBSU4pCi0JCWdvdG8gYWdhaW47Ci0KLQlpZiAoc3lzcnFfa2V5ICE9ICdcMCcpCi0JCWhhbmRsZV9zeXNycShzeXNycV9rZXksIE5VTEwpOwotfQotCi1zdGF0aWMgc3RydWN0IHhlbmJ1c193YXRjaCBzaHV0ZG93bl93YXRjaCA9IHsKLQkubm9kZSA9ICJjb250cm9sL3NodXRkb3duIiwKLQkuY2FsbGJhY2sgPSBzaHV0ZG93bl9oYW5kbGVyCi19OwotCi1zdGF0aWMgc3RydWN0IHhlbmJ1c193YXRjaCBzeXNycV93YXRjaCA9IHsKLQkubm9kZSA9ICJjb250cm9sL3N5c3JxIiwKLQkuY2FsbGJhY2sgPSBzeXNycV9oYW5kbGVyCi19OwotCi1zdGF0aWMgaW50IHNldHVwX3NodXRkb3duX3dhdGNoZXIodm9pZCkKLXsKLQlpbnQgZXJyOwotCi0JZXJyID0gcmVnaXN0ZXJfeGVuYnVzX3dhdGNoKCZzaHV0ZG93bl93YXRjaCk7Ci0JaWYgKGVycikgewotCQlwcmludGsoS0VSTl9FUlIgIkZhaWxlZCB0byBzZXQgc2h1dGRvd24gd2F0Y2hlclxuIik7Ci0JCXJldHVybiBlcnI7Ci0JfQotCi0JZXJyID0gcmVnaXN0ZXJfeGVuYnVzX3dhdGNoKCZzeXNycV93YXRjaCk7Ci0JaWYgKGVycikgewotCQlwcmludGsoS0VSTl9FUlIgIkZhaWxlZCB0byBzZXQgc3lzcnEgd2F0Y2hlclxuIik7Ci0JCXJldHVybiBlcnI7Ci0JfQotCi0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgc2h1dGRvd25fZXZlbnQoc3RydWN0IG5vdGlmaWVyX2Jsb2NrICpub3RpZmllciwKLQkJCSAgdW5zaWduZWQgbG9uZyBldmVudCwKLQkJCSAgdm9pZCAqZGF0YSkKLXsKLQlzZXR1cF9zaHV0ZG93bl93YXRjaGVyKCk7Ci0JcmV0dXJuIE5PVElGWV9ET05FOwotfQotCi1zdGF0aWMgaW50IF9faW5pdCBzZXR1cF9zaHV0ZG93bl9ldmVudCh2b2lkKQotewotCXN0YXRpYyBzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgeGVuc3RvcmVfbm90aWZpZXIgPSB7Ci0JCS5ub3RpZmllcl9jYWxsID0gc2h1dGRvd25fZXZlbnQKLQl9OwotCXJlZ2lzdGVyX3hlbnN0b3JlX25vdGlmaWVyKCZ4ZW5zdG9yZV9ub3RpZmllcik7Ci0KLQlyZXR1cm4gMDsKLX0KLQotc3Vic3lzX2luaXRjYWxsKHNldHVwX3NodXRkb3duX2V2ZW50KTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L3hlbi9tbXUuYyBiL2FyY2gveDg2L3hlbi9tbXUuYwppbmRleCA0ZTUyN2U3Li5mZjBhYTc0IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni94ZW4vbW11LmMKKysrIGIvYXJjaC94ODYveGVuL21tdS5jCkBAIC01Niw2ICs1NiwxMzEgQEAKICNpbmNsdWRlICJtdWx0aWNhbGxzLmgiCiAjaW5jbHVkZSAibW11LmgiCiAKKyNkZWZpbmUgUDJNX0VOVFJJRVNfUEVSX1BBR0UJKFBBR0VfU0laRSAvIHNpemVvZih1bnNpZ25lZCBsb25nKSkKKyNkZWZpbmUgVE9QX0VOVFJJRVMJCShNQVhfRE9NQUlOX1BBR0VTIC8gUDJNX0VOVFJJRVNfUEVSX1BBR0UpCisKKy8qIFBsYWNlaG9sZGVyIGZvciBob2xlcyBpbiB0aGUgYWRkcmVzcyBzcGFjZSAqLworc3RhdGljIHVuc2lnbmVkIGxvbmcgcDJtX21pc3NpbmdbUDJNX0VOVFJJRVNfUEVSX1BBR0VdCisJX19hdHRyaWJ1dGVfXygoc2VjdGlvbigiLmRhdGEucGFnZV9hbGlnbmVkIikpKSA9CisJCXsgWyAwIC4uLiBQMk1fRU5UUklFU19QRVJfUEFHRS0xIF0gPSB+MFVMIH07CisKKyAvKiBBcnJheSBvZiBwb2ludGVycyB0byBwYWdlcyBjb250YWluaW5nIHAybSBlbnRyaWVzICovCitzdGF0aWMgdW5zaWduZWQgbG9uZyAqcDJtX3RvcFtUT1BfRU5UUklFU10KKwlfX2F0dHJpYnV0ZV9fKChzZWN0aW9uKCIuZGF0YS5wYWdlX2FsaWduZWQiKSkpID0KKwkJeyBbIDAgLi4uIFRPUF9FTlRSSUVTIC0gMV0gPSAmcDJtX21pc3NpbmdbMF0gfTsKKworLyogQXJyYXlzIG9mIHAybSBhcnJheXMgZXhwcmVzc2VkIGluIG1mbnMgdXNlZCBmb3Igc2F2ZS9yZXN0b3JlICovCitzdGF0aWMgdW5zaWduZWQgbG9uZyBwMm1fdG9wX21mbltUT1BfRU5UUklFU10KKwlfX2F0dHJpYnV0ZV9fKChzZWN0aW9uKCIuYnNzLnBhZ2VfYWxpZ25lZCIpKSk7CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIHAybV90b3BfbWZuX2xpc3RbCisJCQlQQUdFX0FMSUdOKFRPUF9FTlRSSUVTIC8gUDJNX0VOVFJJRVNfUEVSX1BBR0UpXQorCV9fYXR0cmlidXRlX18oKHNlY3Rpb24oIi5ic3MucGFnZV9hbGlnbmVkIikpKTsKKworc3RhdGljIGlubGluZSB1bnNpZ25lZCBwMm1fdG9wX2luZGV4KHVuc2lnbmVkIGxvbmcgcGZuKQoreworCUJVR19PTihwZm4gPj0gTUFYX0RPTUFJTl9QQUdFUyk7CisJcmV0dXJuIHBmbiAvIFAyTV9FTlRSSUVTX1BFUl9QQUdFOworfQorCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIHAybV9pbmRleCh1bnNpZ25lZCBsb25nIHBmbikKK3sKKwlyZXR1cm4gcGZuICUgUDJNX0VOVFJJRVNfUEVSX1BBR0U7Cit9CisKKy8qIEJ1aWxkIHRoZSBwYXJhbGxlbCBwMm1fdG9wX21mbiBzdHJ1Y3R1cmVzICovCit2b2lkIHhlbl9zZXR1cF9tZm5fbGlzdF9saXN0KHZvaWQpCit7CisJdW5zaWduZWQgcGZuLCBpZHg7CisKKwlmb3IocGZuID0gMDsgcGZuIDwgTUFYX0RPTUFJTl9QQUdFUzsgcGZuICs9IFAyTV9FTlRSSUVTX1BFUl9QQUdFKSB7CisJCXVuc2lnbmVkIHRvcGlkeCA9IHAybV90b3BfaW5kZXgocGZuKTsKKworCQlwMm1fdG9wX21mblt0b3BpZHhdID0gdmlydF90b19tZm4ocDJtX3RvcFt0b3BpZHhdKTsKKwl9CisKKwlmb3IoaWR4ID0gMDsgaWR4IDwgQVJSQVlfU0laRShwMm1fdG9wX21mbl9saXN0KTsgaWR4KyspIHsKKwkJdW5zaWduZWQgdG9waWR4ID0gaWR4ICogUDJNX0VOVFJJRVNfUEVSX1BBR0U7CisJCXAybV90b3BfbWZuX2xpc3RbaWR4XSA9IHZpcnRfdG9fbWZuKCZwMm1fdG9wX21mblt0b3BpZHhdKTsKKwl9CisKKwlCVUdfT04oSFlQRVJWSVNPUl9zaGFyZWRfaW5mbyA9PSAmeGVuX2R1bW15X3NoYXJlZF9pbmZvKTsKKworCUhZUEVSVklTT1Jfc2hhcmVkX2luZm8tPmFyY2gucGZuX3RvX21mbl9mcmFtZV9saXN0X2xpc3QgPQorCQl2aXJ0X3RvX21mbihwMm1fdG9wX21mbl9saXN0KTsKKwlIWVBFUlZJU09SX3NoYXJlZF9pbmZvLT5hcmNoLm1heF9wZm4gPSB4ZW5fc3RhcnRfaW5mby0+bnJfcGFnZXM7Cit9CisKKy8qIFNldCB1cCBwMm1fdG9wIHRvIHBvaW50IHRvIHRoZSBkb21haW4tYnVpbGRlciBwcm92aWRlZCBwMm0gcGFnZXMgKi8KK3ZvaWQgX19pbml0IHhlbl9idWlsZF9keW5hbWljX3BoeXNfdG9fbWFjaGluZSh2b2lkKQoreworCXVuc2lnbmVkIGxvbmcgKm1mbl9saXN0ID0gKHVuc2lnbmVkIGxvbmcgKil4ZW5fc3RhcnRfaW5mby0+bWZuX2xpc3Q7CisJdW5zaWduZWQgbG9uZyBtYXhfcGZuID0gbWluKE1BWF9ET01BSU5fUEFHRVMsIHhlbl9zdGFydF9pbmZvLT5ucl9wYWdlcyk7CisJdW5zaWduZWQgcGZuOworCisJZm9yKHBmbiA9IDA7IHBmbiA8IG1heF9wZm47IHBmbiArPSBQMk1fRU5UUklFU19QRVJfUEFHRSkgeworCQl1bnNpZ25lZCB0b3BpZHggPSBwMm1fdG9wX2luZGV4KHBmbik7CisKKwkJcDJtX3RvcFt0b3BpZHhdID0gJm1mbl9saXN0W3Bmbl07CisJfQorfQorCit1bnNpZ25lZCBsb25nIGdldF9waHlzX3RvX21hY2hpbmUodW5zaWduZWQgbG9uZyBwZm4pCit7CisJdW5zaWduZWQgdG9waWR4LCBpZHg7CisKKwlpZiAodW5saWtlbHkocGZuID49IE1BWF9ET01BSU5fUEFHRVMpKQorCQlyZXR1cm4gSU5WQUxJRF9QMk1fRU5UUlk7CisKKwl0b3BpZHggPSBwMm1fdG9wX2luZGV4KHBmbik7CisJaWR4ID0gcDJtX2luZGV4KHBmbik7CisJcmV0dXJuIHAybV90b3BbdG9waWR4XVtpZHhdOworfQorRVhQT1JUX1NZTUJPTF9HUEwoZ2V0X3BoeXNfdG9fbWFjaGluZSk7CisKK3N0YXRpYyB2b2lkIGFsbG9jX3AybSh1bnNpZ25lZCBsb25nICoqcHAsIHVuc2lnbmVkIGxvbmcgKm1mbnApCit7CisJdW5zaWduZWQgbG9uZyAqcDsKKwl1bnNpZ25lZCBpOworCisJcCA9ICh2b2lkICopX19nZXRfZnJlZV9wYWdlKEdGUF9LRVJORUwgfCBfX0dGUF9OT0ZBSUwpOworCUJVR19PTihwID09IE5VTEwpOworCisJZm9yKGkgPSAwOyBpIDwgUDJNX0VOVFJJRVNfUEVSX1BBR0U7IGkrKykKKwkJcFtpXSA9IElOVkFMSURfUDJNX0VOVFJZOworCisJaWYgKGNtcHhjaGcocHAsIHAybV9taXNzaW5nLCBwKSAhPSBwMm1fbWlzc2luZykKKwkJZnJlZV9wYWdlKCh1bnNpZ25lZCBsb25nKXApOworCWVsc2UKKwkJKm1mbnAgPSB2aXJ0X3RvX21mbihwKTsKK30KKwordm9pZCBzZXRfcGh5c190b19tYWNoaW5lKHVuc2lnbmVkIGxvbmcgcGZuLCB1bnNpZ25lZCBsb25nIG1mbikKK3sKKwl1bnNpZ25lZCB0b3BpZHgsIGlkeDsKKworCWlmICh1bmxpa2VseSh4ZW5fZmVhdHVyZShYRU5GRUFUX2F1dG9fdHJhbnNsYXRlZF9waHlzbWFwKSkpIHsKKwkJQlVHX09OKHBmbiAhPSBtZm4gJiYgbWZuICE9IElOVkFMSURfUDJNX0VOVFJZKTsKKwkJcmV0dXJuOworCX0KKworCWlmICh1bmxpa2VseShwZm4gPj0gTUFYX0RPTUFJTl9QQUdFUykpIHsKKwkJQlVHX09OKG1mbiAhPSBJTlZBTElEX1AyTV9FTlRSWSk7CisJCXJldHVybjsKKwl9CisKKwl0b3BpZHggPSBwMm1fdG9wX2luZGV4KHBmbik7CisJaWYgKHAybV90b3BbdG9waWR4XSA9PSBwMm1fbWlzc2luZykgeworCQkvKiBubyBuZWVkIHRvIGFsbG9jYXRlIGEgcGFnZSB0byBzdG9yZSBhbiBpbnZhbGlkIGVudHJ5ICovCisJCWlmIChtZm4gPT0gSU5WQUxJRF9QMk1fRU5UUlkpCisJCQlyZXR1cm47CisJCWFsbG9jX3AybSgmcDJtX3RvcFt0b3BpZHhdLCAmcDJtX3RvcF9tZm5bdG9waWR4XSk7CisJfQorCisJaWR4ID0gcDJtX2luZGV4KHBmbik7CisJcDJtX3RvcFt0b3BpZHhdW2lkeF0gPSBtZm47Cit9CisKIHhtYWRkcl90IGFyYml0cmFyeV92aXJ0X3RvX21hY2hpbmUodW5zaWduZWQgbG9uZyBhZGRyZXNzKQogewogCXVuc2lnbmVkIGludCBsZXZlbDsKQEAgLTk4LDI0ICsyMjMsNjAgQEAKIH0KIAogCi12b2lkIHhlbl9zZXRfcG1kKHBtZF90ICpwdHIsIHBtZF90IHZhbCkKK3N0YXRpYyBib29sIHBhZ2VfcGlubmVkKHZvaWQgKnB0cikKK3sKKwlzdHJ1Y3QgcGFnZSAqcGFnZSA9IHZpcnRfdG9fcGFnZShwdHIpOworCisJcmV0dXJuIFBhZ2VQaW5uZWQocGFnZSk7Cit9CisKK3N0YXRpYyB2b2lkIGV4dGVuZF9tbXVfdXBkYXRlKGNvbnN0IHN0cnVjdCBtbXVfdXBkYXRlICp1cGRhdGUpCiB7CiAJc3RydWN0IG11bHRpY2FsbF9zcGFjZSBtY3M7CiAJc3RydWN0IG1tdV91cGRhdGUgKnU7CiAKKwltY3MgPSB4ZW5fbWNfZXh0ZW5kX2FyZ3MoX19IWVBFUlZJU09SX21tdV91cGRhdGUsIHNpemVvZigqdSkpOworCisJaWYgKG1jcy5tYyAhPSBOVUxMKQorCQltY3MubWMtPmFyZ3NbMV0rKzsKKwllbHNlIHsKKwkJbWNzID0gX194ZW5fbWNfZW50cnkoc2l6ZW9mKCp1KSk7CisJCU1VTFRJX21tdV91cGRhdGUobWNzLm1jLCBtY3MuYXJncywgMSwgTlVMTCwgRE9NSURfU0VMRik7CisJfQorCisJdSA9IG1jcy5hcmdzOworCSp1ID0gKnVwZGF0ZTsKK30KKwordm9pZCB4ZW5fc2V0X3BtZF9oeXBlcihwbWRfdCAqcHRyLCBwbWRfdCB2YWwpCit7CisJc3RydWN0IG1tdV91cGRhdGUgdTsKKwogCXByZWVtcHRfZGlzYWJsZSgpOwogCi0JbWNzID0geGVuX21jX2VudHJ5KHNpemVvZigqdSkpOwotCXUgPSBtY3MuYXJnczsKLQl1LT5wdHIgPSB2aXJ0X3RvX21hY2hpbmUocHRyKS5tYWRkcjsKLQl1LT52YWwgPSBwbWRfdmFsX21hKHZhbCk7Ci0JTVVMVElfbW11X3VwZGF0ZShtY3MubWMsIHUsIDEsIE5VTEwsIERPTUlEX1NFTEYpOworCXhlbl9tY19iYXRjaCgpOworCisJdS5wdHIgPSB2aXJ0X3RvX21hY2hpbmUocHRyKS5tYWRkcjsKKwl1LnZhbCA9IHBtZF92YWxfbWEodmFsKTsKKwlleHRlbmRfbW11X3VwZGF0ZSgmdSk7CiAKIAl4ZW5fbWNfaXNzdWUoUEFSQVZJUlRfTEFaWV9NTVUpOwogCiAJcHJlZW1wdF9lbmFibGUoKTsKIH0KIAordm9pZCB4ZW5fc2V0X3BtZChwbWRfdCAqcHRyLCBwbWRfdCB2YWwpCit7CisJLyogSWYgcGFnZSBpcyBub3QgcGlubmVkLCB3ZSBjYW4ganVzdCB1cGRhdGUgdGhlIGVudHJ5CisJICAgZGlyZWN0bHkgKi8KKwlpZiAoIXBhZ2VfcGlubmVkKHB0cikpIHsKKwkJKnB0ciA9IHZhbDsKKwkJcmV0dXJuOworCX0KKworCXhlbl9zZXRfcG1kX2h5cGVyKHB0ciwgdmFsKTsKK30KKwogLyoKICAqIEFzc29jaWF0ZSBhIHZpcnR1YWwgcGFnZSBmcmFtZSB3aXRoIGEgZ2l2ZW4gcGh5c2ljYWwgcGFnZSBmcmFtZQogICogYW5kIHByb3RlY3Rpb24gZmxhZ3MgZm9yIHRoYXQgZnJhbWUuCkBAIC0xNzksNiArMzQwLDI2IEBACiAJCXByZWVtcHRfZW5hYmxlKCk7CiB9CiAKK3B0ZV90IHhlbl9wdGVwX21vZGlmeV9wcm90X3N0YXJ0KHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCB1bnNpZ25lZCBsb25nIGFkZHIsIHB0ZV90ICpwdGVwKQoreworCS8qIEp1c3QgcmV0dXJuIHRoZSBwdGUgYXMtaXMuICBXZSBwcmVzZXJ2ZSB0aGUgYml0cyBvbiBjb21taXQgKi8KKwlyZXR1cm4gKnB0ZXA7Cit9CisKK3ZvaWQgeGVuX3B0ZXBfbW9kaWZ5X3Byb3RfY29tbWl0KHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCB1bnNpZ25lZCBsb25nIGFkZHIsCisJCQkJIHB0ZV90ICpwdGVwLCBwdGVfdCBwdGUpCit7CisJc3RydWN0IG1tdV91cGRhdGUgdTsKKworCXhlbl9tY19iYXRjaCgpOworCisJdS5wdHIgPSB2aXJ0X3RvX21hY2hpbmUocHRlcCkubWFkZHIgfCBNTVVfUFRfVVBEQVRFX1BSRVNFUlZFX0FEOworCXUudmFsID0gcHRlX3ZhbF9tYShwdGUpOworCWV4dGVuZF9tbXVfdXBkYXRlKCZ1KTsKKworCXhlbl9tY19pc3N1ZShQQVJBVklSVF9MQVpZX01NVSk7Cit9CisKIC8qIEFzc3VtZSBwdGV2YWxfdCBpcyBlcXVpdmFsZW50IHRvIGFsbCB0aGUgb3RoZXIgKnZhbF90IHR5cGVzLiAqLwogc3RhdGljIHB0ZXZhbF90IHB0ZV9tZm5fdG9fcGZuKHB0ZXZhbF90IHZhbCkKIHsKQEAgLTIyOSwyNCArNDEwLDM1IEBACiAJcmV0dXJuIHB0ZV9tZm5fdG9fcGZuKHBtZC5wbWQpOwogfQogCi12b2lkIHhlbl9zZXRfcHVkKHB1ZF90ICpwdHIsIHB1ZF90IHZhbCkKK3ZvaWQgeGVuX3NldF9wdWRfaHlwZXIocHVkX3QgKnB0ciwgcHVkX3QgdmFsKQogewotCXN0cnVjdCBtdWx0aWNhbGxfc3BhY2UgbWNzOwotCXN0cnVjdCBtbXVfdXBkYXRlICp1OworCXN0cnVjdCBtbXVfdXBkYXRlIHU7CiAKIAlwcmVlbXB0X2Rpc2FibGUoKTsKIAotCW1jcyA9IHhlbl9tY19lbnRyeShzaXplb2YoKnUpKTsKLQl1ID0gbWNzLmFyZ3M7Ci0JdS0+cHRyID0gdmlydF90b19tYWNoaW5lKHB0cikubWFkZHI7Ci0JdS0+dmFsID0gcHVkX3ZhbF9tYSh2YWwpOwotCU1VTFRJX21tdV91cGRhdGUobWNzLm1jLCB1LCAxLCBOVUxMLCBET01JRF9TRUxGKTsKKwl4ZW5fbWNfYmF0Y2goKTsKKworCXUucHRyID0gdmlydF90b19tYWNoaW5lKHB0cikubWFkZHI7CisJdS52YWwgPSBwdWRfdmFsX21hKHZhbCk7CisJZXh0ZW5kX21tdV91cGRhdGUoJnUpOwogCiAJeGVuX21jX2lzc3VlKFBBUkFWSVJUX0xBWllfTU1VKTsKIAogCXByZWVtcHRfZW5hYmxlKCk7CiB9CiAKK3ZvaWQgeGVuX3NldF9wdWQocHVkX3QgKnB0ciwgcHVkX3QgdmFsKQoreworCS8qIElmIHBhZ2UgaXMgbm90IHBpbm5lZCwgd2UgY2FuIGp1c3QgdXBkYXRlIHRoZSBlbnRyeQorCSAgIGRpcmVjdGx5ICovCisJaWYgKCFwYWdlX3Bpbm5lZChwdHIpKSB7CisJCSpwdHIgPSB2YWw7CisJCXJldHVybjsKKwl9CisKKwl4ZW5fc2V0X3B1ZF9oeXBlcihwdHIsIHZhbCk7Cit9CisKIHZvaWQgeGVuX3NldF9wdGUocHRlX3QgKnB0ZXAsIHB0ZV90IHB0ZSkKIHsKIAlwdGVwLT5wdGVfaGlnaCA9IHB0ZS5wdGVfaGlnaDsKQEAgLTI2OCw3ICs0NjAsNyBAQAogCiB2b2lkIHhlbl9wbWRfY2xlYXIocG1kX3QgKnBtZHApCiB7Ci0JeGVuX3NldF9wbWQocG1kcCwgX19wbWQoMCkpOworCXNldF9wbWQocG1kcCwgX19wbWQoMCkpOwogfQogCiBwbWRfdCB4ZW5fbWFrZV9wbWQocG1kdmFsX3QgcG1kKQpAQCAtNDQxLDYgKzYzMywyOSBAQAogCXhlbl9tY19pc3N1ZSgwKTsKIH0KIAorLyoKKyAqIE9uIHNhdmUsIHdlIG5lZWQgdG8gcGluIGFsbCBwYWdldGFibGVzIHRvIG1ha2Ugc3VyZSB0aGV5IGdldCB0aGVpcgorICogbWZucyB0dXJuZWQgaW50byBwZm5zLiAgU2VhcmNoIHRoZSBsaXN0IGZvciBhbnkgdW5waW5uZWQgcGdkcyBhbmQgcGluCisgKiB0aGVtICh1bnBpbm5lZCBwZ2RzIGFyZSBub3QgY3VycmVudGx5IGluIHVzZSwgcHJvYmFibHkgYmVjYXVzZSB0aGUKKyAqIHByb2Nlc3MgaXMgdW5kZXIgY29uc3RydWN0aW9uIG9yIGRlc3RydWN0aW9uKS4KKyAqLwordm9pZCB4ZW5fbW1fcGluX2FsbCh2b2lkKQoreworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJc3RydWN0IHBhZ2UgKnBhZ2U7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmcGdkX2xvY2ssIGZsYWdzKTsKKworCWxpc3RfZm9yX2VhY2hfZW50cnkocGFnZSwgJnBnZF9saXN0LCBscnUpIHsKKwkJaWYgKCFQYWdlUGlubmVkKHBhZ2UpKSB7CisJCQl4ZW5fcGdkX3BpbigocGdkX3QgKilwYWdlX2FkZHJlc3MocGFnZSkpOworCQkJU2V0UGFnZVNhdmVQaW5uZWQocGFnZSk7CisJCX0KKwl9CisKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZwZ2RfbG9jaywgZmxhZ3MpOworfQorCiAvKiBUaGUgaW5pdF9tbSBwYWdldGFibGUgaXMgcmVhbGx5IHBpbm5lZCBhcyBzb29uIGFzIGl0cyBjcmVhdGVkLCBidXQKICAgIHRoYXQncyBiZWZvcmUgd2UgaGF2ZSBwYWdlIHN0cnVjdHVyZXMgdG8gc3RvcmUgdGhlIGJpdHMuICBTbyBkbyBhbGwKICAgIHRoZSBib29rLWtlZXBpbmcgbm93LiAqLwpAQCAtNDk4LDYgKzcxMywyOSBAQAogCXhlbl9tY19pc3N1ZSgwKTsKIH0KIAorLyoKKyAqIE9uIHJlc3VtZSwgdW5kbyBhbnkgcGlubmluZyBkb25lIGF0IHNhdmUsIHNvIHRoYXQgdGhlIHJlc3Qgb2YgdGhlCisgKiBrZXJuZWwgZG9lc24ndCBzZWUgYW55IHVuZXhwZWN0ZWQgcGlubmVkIHBhZ2V0YWJsZXMuCisgKi8KK3ZvaWQgeGVuX21tX3VucGluX2FsbCh2b2lkKQoreworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJc3RydWN0IHBhZ2UgKnBhZ2U7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmcGdkX2xvY2ssIGZsYWdzKTsKKworCWxpc3RfZm9yX2VhY2hfZW50cnkocGFnZSwgJnBnZF9saXN0LCBscnUpIHsKKwkJaWYgKFBhZ2VTYXZlUGlubmVkKHBhZ2UpKSB7CisJCQlCVUdfT04oIVBhZ2VQaW5uZWQocGFnZSkpOworCQkJcHJpbnRrKCJ1bnBpbm5pbmcgcGlubmVkICVwXG4iLCBwYWdlX2FkZHJlc3MocGFnZSkpOworCQkJeGVuX3BnZF91bnBpbigocGdkX3QgKilwYWdlX2FkZHJlc3MocGFnZSkpOworCQkJQ2xlYXJQYWdlU2F2ZVBpbm5lZChwYWdlKTsKKwkJfQorCX0KKworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnBnZF9sb2NrLCBmbGFncyk7Cit9CisKIHZvaWQgeGVuX2FjdGl2YXRlX21tKHN0cnVjdCBtbV9zdHJ1Y3QgKnByZXYsIHN0cnVjdCBtbV9zdHJ1Y3QgKm5leHQpCiB7CiAJc3Bpbl9sb2NrKCZuZXh0LT5wYWdlX3RhYmxlX2xvY2spOwpAQCAtNTU4LDcgKzc5Niw3IEBACiAJfQogCiAJaWYgKCFjcHVzX2VtcHR5KG1hc2spKQotCQl4ZW5fc21wX2NhbGxfZnVuY3Rpb25fbWFzayhtYXNrLCBkcm9wX290aGVyX21tX3JlZiwgbW0sIDEpOworCQlzbXBfY2FsbF9mdW5jdGlvbl9tYXNrKG1hc2ssIGRyb3Bfb3RoZXJfbW1fcmVmLCBtbSwgMSk7CiB9CiAjZWxzZQogc3RhdGljIHZvaWQgZHJvcF9tbV9yZWYoc3RydWN0IG1tX3N0cnVjdCAqbW0pCkBAIC01OTEsNyArODI5LDcgQEAKIAlzcGluX2xvY2soJm1tLT5wYWdlX3RhYmxlX2xvY2spOwogCiAJLyogcGdkIG1heSBub3QgYmUgcGlubmVkIGluIHRoZSBlcnJvciBleGl0IHBhdGggb2YgZXhlY3ZlICovCi0JaWYgKFBhZ2VQaW5uZWQodmlydF90b19wYWdlKG1tLT5wZ2QpKSkKKwlpZiAocGFnZV9waW5uZWQobW0tPnBnZCkpCiAJCXhlbl9wZ2RfdW5waW4obW0tPnBnZCk7CiAKIAlzcGluX3VubG9jaygmbW0tPnBhZ2VfdGFibGVfbG9jayk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni94ZW4vbW11LmggYi9hcmNoL3g4Ni94ZW4vbW11LmgKaW5kZXggNWZlOTYxYy4uMjk3YmY5ZiAxMDA2NDQKLS0tIGEvYXJjaC94ODYveGVuL21tdS5oCisrKyBiL2FyY2gveDg2L3hlbi9tbXUuaApAQCAtMjUsMTAgKzI1LDYgQEAKIAogdm9pZCBzZXRfcHRlX21mbih1bnNpZ25lZCBsb25nIHZhZGRyLCB1bnNpZ25lZCBsb25nIHBmbiwgcGdwcm90X3QgZmxhZ3MpOwogCi12b2lkIHhlbl9zZXRfcHRlKHB0ZV90ICpwdGVwLCBwdGVfdCBwdGV2YWwpOwotdm9pZCB4ZW5fc2V0X3B0ZV9hdChzdHJ1Y3QgbW1fc3RydWN0ICptbSwgdW5zaWduZWQgbG9uZyBhZGRyLAotCQkgICAgcHRlX3QgKnB0ZXAsIHB0ZV90IHB0ZXZhbCk7Ci12b2lkIHhlbl9zZXRfcG1kKHBtZF90ICpwbWRwLCBwbWRfdCBwbWR2YWwpOwogCiB2b2lkIHhlbl9hY3RpdmF0ZV9tbShzdHJ1Y3QgbW1fc3RydWN0ICpwcmV2LCBzdHJ1Y3QgbW1fc3RydWN0ICpuZXh0KTsKIHZvaWQgeGVuX2R1cF9tbWFwKHN0cnVjdCBtbV9zdHJ1Y3QgKm9sZG1tLCBzdHJ1Y3QgbW1fc3RydWN0ICptbSk7CkBAIC00NSwxMSArNDEsMTkgQEAKIHBtZF90IHhlbl9tYWtlX3BtZChwbWR2YWxfdCk7CiBwZ2RfdCB4ZW5fbWFrZV9wZ2QocGdkdmFsX3QpOwogCit2b2lkIHhlbl9zZXRfcHRlKHB0ZV90ICpwdGVwLCBwdGVfdCBwdGV2YWwpOwogdm9pZCB4ZW5fc2V0X3B0ZV9hdChzdHJ1Y3QgbW1fc3RydWN0ICptbSwgdW5zaWduZWQgbG9uZyBhZGRyLAogCQkgICAgcHRlX3QgKnB0ZXAsIHB0ZV90IHB0ZXZhbCk7CiB2b2lkIHhlbl9zZXRfcHRlX2F0b21pYyhwdGVfdCAqcHRlcCwgcHRlX3QgcHRlKTsKK3ZvaWQgeGVuX3NldF9wbWQocG1kX3QgKnBtZHAsIHBtZF90IHBtZHZhbCk7CiB2b2lkIHhlbl9zZXRfcHVkKHB1ZF90ICpwdHIsIHB1ZF90IHZhbCk7Cit2b2lkIHhlbl9zZXRfcG1kX2h5cGVyKHBtZF90ICpwbWRwLCBwbWRfdCBwbWR2YWwpOwordm9pZCB4ZW5fc2V0X3B1ZF9oeXBlcihwdWRfdCAqcHRyLCBwdWRfdCB2YWwpOwogdm9pZCB4ZW5fcHRlX2NsZWFyKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCB1bnNpZ25lZCBsb25nIGFkZHIsIHB0ZV90ICpwdGVwKTsKIHZvaWQgeGVuX3BtZF9jbGVhcihwbWRfdCAqcG1kcCk7CiAKK3B0ZV90IHhlbl9wdGVwX21vZGlmeV9wcm90X3N0YXJ0KHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCB1bnNpZ25lZCBsb25nIGFkZHIsIHB0ZV90ICpwdGVwKTsKK3ZvaWQgIHhlbl9wdGVwX21vZGlmeV9wcm90X2NvbW1pdChzdHJ1Y3QgbW1fc3RydWN0ICptbSwgdW5zaWduZWQgbG9uZyBhZGRyLAorCQkJCSAgcHRlX3QgKnB0ZXAsIHB0ZV90IHB0ZSk7CisKICNlbmRpZgkvKiBfWEVOX01NVV9IICovCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni94ZW4vbXVsdGljYWxscy5jIGIvYXJjaC94ODYveGVuL211bHRpY2FsbHMuYwppbmRleCA1NzkxZWIyLi4zYzYzYzRkIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni94ZW4vbXVsdGljYWxscy5jCisrKyBiL2FyY2gveDg2L3hlbi9tdWx0aWNhbGxzLmMKQEAgLTI5LDE0ICsyOSwxNCBAQAogI2RlZmluZSBNQ19ERUJVRwkxCiAKICNkZWZpbmUgTUNfQkFUQ0gJMzIKLSNkZWZpbmUgTUNfQVJHUwkJKE1DX0JBVENIICogMTYgLyBzaXplb2YodTY0KSkKKyNkZWZpbmUgTUNfQVJHUwkJKE1DX0JBVENIICogMTYpCiAKIHN0cnVjdCBtY19idWZmZXIgewogCXN0cnVjdCBtdWx0aWNhbGxfZW50cnkgZW50cmllc1tNQ19CQVRDSF07CiAjaWYgTUNfREVCVUcKIAlzdHJ1Y3QgbXVsdGljYWxsX2VudHJ5IGRlYnVnW01DX0JBVENIXTsKICNlbmRpZgotCXU2NCBhcmdzW01DX0FSR1NdOworCXVuc2lnbmVkIGNoYXIgYXJnc1tNQ19BUkdTXTsKIAlzdHJ1Y3QgY2FsbGJhY2sgewogCQl2b2lkICgqZm4pKHZvaWQgKik7CiAJCXZvaWQgKmRhdGE7CkBAIC0xMDcsMjAgKzEwNyw0OCBAQAogewogCXN0cnVjdCBtY19idWZmZXIgKmIgPSAmX19nZXRfY3B1X3ZhcihtY19idWZmZXIpOwogCXN0cnVjdCBtdWx0aWNhbGxfc3BhY2UgcmV0OwotCXVuc2lnbmVkIGFyZ3NwYWNlID0gKGFyZ3MgKyBzaXplb2YodTY0KSAtIDEpIC8gc2l6ZW9mKHU2NCk7CisJdW5zaWduZWQgYXJnaWR4ID0gcm91bmR1cChiLT5hcmdpZHgsIHNpemVvZih1NjQpKTsKIAogCUJVR19PTihwcmVlbXB0aWJsZSgpKTsKLQlCVUdfT04oYXJnc3BhY2UgPiBNQ19BUkdTKTsKKwlCVUdfT04oYi0+YXJnaWR4ID4gTUNfQVJHUyk7CiAKIAlpZiAoYi0+bWNpZHggPT0gTUNfQkFUQ0ggfHwKLQkgICAgKGItPmFyZ2lkeCArIGFyZ3NwYWNlKSA+IE1DX0FSR1MpCisJICAgIChhcmdpZHggKyBhcmdzKSA+IE1DX0FSR1MpIHsKIAkJeGVuX21jX2ZsdXNoKCk7CisJCWFyZ2lkeCA9IHJvdW5kdXAoYi0+YXJnaWR4LCBzaXplb2YodTY0KSk7CisJfQogCiAJcmV0Lm1jID0gJmItPmVudHJpZXNbYi0+bWNpZHhdOwogCWItPm1jaWR4Kys7Ci0JcmV0LmFyZ3MgPSAmYi0+YXJnc1tiLT5hcmdpZHhdOwotCWItPmFyZ2lkeCArPSBhcmdzcGFjZTsKKwlyZXQuYXJncyA9ICZiLT5hcmdzW2FyZ2lkeF07CisJYi0+YXJnaWR4ID0gYXJnaWR4ICsgYXJnczsKIAorCUJVR19PTihiLT5hcmdpZHggPiBNQ19BUkdTKTsKKwlyZXR1cm4gcmV0OworfQorCitzdHJ1Y3QgbXVsdGljYWxsX3NwYWNlIHhlbl9tY19leHRlbmRfYXJncyh1bnNpZ25lZCBsb25nIG9wLCBzaXplX3Qgc2l6ZSkKK3sKKwlzdHJ1Y3QgbWNfYnVmZmVyICpiID0gJl9fZ2V0X2NwdV92YXIobWNfYnVmZmVyKTsKKwlzdHJ1Y3QgbXVsdGljYWxsX3NwYWNlIHJldCA9IHsgTlVMTCwgTlVMTCB9OworCisJQlVHX09OKHByZWVtcHRpYmxlKCkpOworCUJVR19PTihiLT5hcmdpZHggPiBNQ19BUkdTKTsKKworCWlmIChiLT5tY2lkeCA9PSAwKQorCQlyZXR1cm4gcmV0OworCisJaWYgKGItPmVudHJpZXNbYi0+bWNpZHggLSAxXS5vcCAhPSBvcCkKKwkJcmV0dXJuIHJldDsKKworCWlmICgoYi0+YXJnaWR4ICsgc2l6ZSkgPiBNQ19BUkdTKQorCQlyZXR1cm4gcmV0OworCisJcmV0Lm1jID0gJmItPmVudHJpZXNbYi0+bWNpZHggLSAxXTsKKwlyZXQuYXJncyA9ICZiLT5hcmdzW2ItPmFyZ2lkeF07CisJYi0+YXJnaWR4ICs9IHNpemU7CisKKwlCVUdfT04oYi0+YXJnaWR4ID4gTUNfQVJHUyk7CiAJcmV0dXJuIHJldDsKIH0KIApkaWZmIC0tZ2l0IGEvYXJjaC94ODYveGVuL211bHRpY2FsbHMuaCBiL2FyY2gveDg2L3hlbi9tdWx0aWNhbGxzLmgKaW5kZXggOGJhZTk5Ni4uODU4OTM4MiAxMDA2NDQKLS0tIGEvYXJjaC94ODYveGVuL211bHRpY2FsbHMuaAorKysgYi9hcmNoL3g4Ni94ZW4vbXVsdGljYWxscy5oCkBAIC00NSw0ICs0NSwxNiBAQAogLyogU2V0IHVwIGEgY2FsbGJhY2sgdG8gYmUgY2FsbGVkIHdoZW4gdGhlIGN1cnJlbnQgYmF0Y2ggaXMgZmx1c2hlZCAqLwogdm9pZCB4ZW5fbWNfY2FsbGJhY2sodm9pZCAoKmZuKSh2b2lkICopLCB2b2lkICpkYXRhKTsKIAorLyoKKyAqIFRyeSB0byBleHRlbmQgdGhlIGFyZ3VtZW50cyBvZiB0aGUgcHJldmlvdXMgbXVsdGljYWxsIGNvbW1hbmQuICBUaGUKKyAqIHByZXZpb3VzIGNvbW1hbmQncyBvcCBtdXN0IG1hdGNoLiAgSWYgaXQgZG9lcywgdGhlbiBpdCBhdHRlbXB0cyB0bworICogZXh0ZW5kIHRoZSBhcmd1bWVudCBzcGFjZSBhbGxvY2F0ZWQgdG8gdGhlIG11bHRpY2FsbCBlbnRyeSBieQorICogYXJnX3NpemUgYnl0ZXMuCisgKgorICogVGhlIHJldHVybmVkIG11bHRpY2FsbF9zcGFjZSB3aWxsIHJldHVybiB3aXRoIG1jIHBvaW50aW5nIHRvIHRoZQorICogY29tbWFuZCBvbiBzdWNjZXNzLCBvciBOVUxMIG9uIGZhaWx1cmUsIGFuZCBhcmdzIHBvaW50aW5nIHRvIHRoZQorICogbmV3bHkgYWxsb2NhdGVkIHNwYWNlLgorICovCitzdHJ1Y3QgbXVsdGljYWxsX3NwYWNlIHhlbl9tY19leHRlbmRfYXJncyh1bnNpZ25lZCBsb25nIG9wLCBzaXplX3QgYXJnX3NpemUpOworCiAjZW5kaWYgLyogX1hFTl9NVUxUSUNBTExTX0ggKi8KZGlmZiAtLWdpdCBhL2FyY2gveDg2L3hlbi9zZXR1cC5jIGIvYXJjaC94ODYveGVuL3NldHVwLmMKaW5kZXggODI1MTdlNC4uZTBhMzk1OSAxMDA2NDQKLS0tIGEvYXJjaC94ODYveGVuL3NldHVwLmMKKysrIGIvYXJjaC94ODYveGVuL3NldHVwLmMKQEAgLTEzLDkgKzEzLDExIEBACiAjaW5jbHVkZSA8YXNtL3Zkc28uaD4KICNpbmNsdWRlIDxhc20vZTgyMC5oPgogI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgorI2luY2x1ZGUgPGFzbS9hY3BpLmg+CiAjaW5jbHVkZSA8YXNtL3hlbi9oeXBlcnZpc29yLmg+CiAjaW5jbHVkZSA8YXNtL3hlbi9oeXBlcmNhbGwuaD4KIAorI2luY2x1ZGUgPHhlbi9wYWdlLmg+CiAjaW5jbHVkZSA8eGVuL2ludGVyZmFjZS9jYWxsYmFjay5oPgogI2luY2x1ZGUgPHhlbi9pbnRlcmZhY2UvcGh5c2Rldi5oPgogI2luY2x1ZGUgPHhlbi9mZWF0dXJlcy5oPgpAQCAtMjcsOCArMjksNiBAQAogZXh0ZXJuIGNvbnN0IGNoYXIgeGVuX2h5cGVydmlzb3JfY2FsbGJhY2tbXTsKIGV4dGVybiBjb25zdCBjaGFyIHhlbl9mYWlsc2FmZV9jYWxsYmFja1tdOwogCi11bnNpZ25lZCBsb25nICpwaHlzX3RvX21hY2hpbmVfbWFwcGluZzsKLUVYUE9SVF9TWU1CT0wocGh5c190b19tYWNoaW5lX21hcHBpbmcpOwogCiAvKioKICAqIG1hY2hpbmVfc3BlY2lmaWNfbWVtb3J5X3NldHVwIC0gSG9vayBmb3IgbWFjaGluZSBzcGVjaWZpYyBtZW1vcnkgc2V0dXAuCkBAIC0zOCw5ICszOCwzMSBAQAogewogCXVuc2lnbmVkIGxvbmcgbWF4X3BmbiA9IHhlbl9zdGFydF9pbmZvLT5ucl9wYWdlczsKIAorCW1heF9wZm4gPSBtaW4oTUFYX0RPTUFJTl9QQUdFUywgbWF4X3Bmbik7CisKIAllODIwLm5yX21hcCA9IDA7Ci0JYWRkX21lbW9yeV9yZWdpb24oMCwgTE9XTUVNU0laRSgpLCBFODIwX1JBTSk7Ci0JYWRkX21lbW9yeV9yZWdpb24oSElHSF9NRU1PUlksIFBGTl9QSFlTKG1heF9wZm4pLUhJR0hfTUVNT1JZLCBFODIwX1JBTSk7CisKKwllODIwX2FkZF9yZWdpb24oMCwgUEZOX1BIWVMobWF4X3BmbiksIEU4MjBfUkFNKTsKKworCS8qCisJICogRXZlbiB0aG91Z2ggdGhpcyBpcyBub3JtYWwsIHVzYWJsZSBtZW1vcnkgdW5kZXIgWGVuLCByZXNlcnZlCisJICogSVNBIG1lbW9yeSBhbnl3YXkgYmVjYXVzZSB0b28gbWFueSB0aGluZ3MgdGhpbmsgdGhleSBjYW4gcG9rZQorCSAqIGFib3V0IGluIHRoZXJlLgorCSAqLworCWU4MjBfYWRkX3JlZ2lvbihJU0FfU1RBUlRfQUREUkVTUywgSVNBX0VORF9BRERSRVNTIC0gSVNBX1NUQVJUX0FERFJFU1MsCisJCQlFODIwX1JFU0VSVkVEKTsKKworCS8qCisJICogUmVzZXJ2ZSBYZW4gYml0czoKKwkgKiAgLSBtZm5fbGlzdAorCSAqICAtIHhlbl9zdGFydF9pbmZvCisJICogU2VlIGNvbW1lbnQgYWJvdmUgInN0cnVjdCBzdGFydF9pbmZvIiBpbiA8eGVuL2ludGVyZmFjZS94ZW4uaD4KKwkgKi8KKwllODIwX2FkZF9yZWdpb24oX19wYSh4ZW5fc3RhcnRfaW5mby0+bWZuX2xpc3QpLAorCQkJeGVuX3N0YXJ0X2luZm8tPnB0X2Jhc2UgLSB4ZW5fc3RhcnRfaW5mby0+bWZuX2xpc3QsCisJCQlFODIwX1JFU0VSVkVEKTsKKworCXNhbml0aXplX2U4MjBfbWFwKGU4MjAubWFwLCBBUlJBWV9TSVpFKGU4MjAubWFwKSwgJmU4MjAubnJfbWFwKTsKIAogCXJldHVybiAiWGVuIjsKIH0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L3hlbi9zbXAuYyBiL2FyY2gveDg2L3hlbi9zbXAuYwppbmRleCA5NGU2OTAwLi4yMzMxNTZmIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni94ZW4vc21wLmMKKysrIGIvYXJjaC94ODYveGVuL3NtcC5jCkBAIC0zNSwyOCArMzUsMTUgQEAKICNpbmNsdWRlICJ4ZW4tb3BzLmgiCiAjaW5jbHVkZSAibW11LmgiCiAKLXN0YXRpYyBjcHVtYXNrX3QgeGVuX2NwdV9pbml0aWFsaXplZF9tYXA7Ci1zdGF0aWMgREVGSU5FX1BFUl9DUFUoaW50LCByZXNjaGVkX2lycSkgPSAtMTsKLXN0YXRpYyBERUZJTkVfUEVSX0NQVShpbnQsIGNhbGxmdW5jX2lycSkgPSAtMTsKK2NwdW1hc2tfdCB4ZW5fY3B1X2luaXRpYWxpemVkX21hcDsKKworc3RhdGljIERFRklORV9QRVJfQ1BVKGludCwgcmVzY2hlZF9pcnEpOworc3RhdGljIERFRklORV9QRVJfQ1BVKGludCwgY2FsbGZ1bmNfaXJxKTsKK3N0YXRpYyBERUZJTkVfUEVSX0NQVShpbnQsIGNhbGxmdW5jc2luZ2xlX2lycSk7CiBzdGF0aWMgREVGSU5FX1BFUl9DUFUoaW50LCBkZWJ1Z19pcnEpID0gLTE7CiAKLS8qCi0gKiBTdHJ1Y3R1cmUgYW5kIGRhdGEgZm9yIHNtcF9jYWxsX2Z1bmN0aW9uKCkuIFRoaXMgaXMgZGVzaWduZWQgdG8gbWluaW1pc2UKLSAqIHN0YXRpYyBtZW1vcnkgcmVxdWlyZW1lbnRzLiBJdCBhbHNvIGxvb2tzIGNsZWFuZXIuCi0gKi8KLXN0YXRpYyBERUZJTkVfU1BJTkxPQ0soY2FsbF9sb2NrKTsKLQotc3RydWN0IGNhbGxfZGF0YV9zdHJ1Y3QgewotCXZvaWQgKCpmdW5jKSAodm9pZCAqaW5mbyk7Ci0Jdm9pZCAqaW5mbzsKLQlhdG9taWNfdCBzdGFydGVkOwotCWF0b21pY190IGZpbmlzaGVkOwotCWludCB3YWl0OwotfTsKLQogc3RhdGljIGlycXJldHVybl90IHhlbl9jYWxsX2Z1bmN0aW9uX2ludGVycnVwdChpbnQgaXJxLCB2b2lkICpkZXZfaWQpOwotCi1zdGF0aWMgc3RydWN0IGNhbGxfZGF0YV9zdHJ1Y3QgKmNhbGxfZGF0YTsKK3N0YXRpYyBpcnFyZXR1cm5fdCB4ZW5fY2FsbF9mdW5jdGlvbl9zaW5nbGVfaW50ZXJydXB0KGludCBpcnEsIHZvaWQgKmRldl9pZCk7CiAKIC8qCiAgKiBSZXNjaGVkdWxlIGNhbGwgYmFjay4gTm90aGluZyB0byBkbywKQEAgLTY1LDYgKzUyLDEyIEBACiAgKi8KIHN0YXRpYyBpcnFyZXR1cm5fdCB4ZW5fcmVzY2hlZHVsZV9pbnRlcnJ1cHQoaW50IGlycSwgdm9pZCAqZGV2X2lkKQogeworI2lmZGVmIENPTkZJR19YODZfMzIKKwlfX2dldF9jcHVfdmFyKGlycV9zdGF0KS5pcnFfcmVzY2hlZF9jb3VudCsrOworI2Vsc2UKKwlhZGRfcGRhKGlycV9yZXNjaGVkX2NvdW50LCAxKTsKKyNlbmRpZgorCiAJcmV0dXJuIElSUV9IQU5ETEVEOwogfQogCkBAIC0xMjIsNiArMTE1LDE3IEBACiAJCWdvdG8gZmFpbDsKIAlwZXJfY3B1KGRlYnVnX2lycSwgY3B1KSA9IHJjOwogCisJY2FsbGZ1bmNfbmFtZSA9IGthc3ByaW50ZihHRlBfS0VSTkVMLCAiY2FsbGZ1bmNzaW5nbGUlZCIsIGNwdSk7CisJcmMgPSBiaW5kX2lwaV90b19pcnFoYW5kbGVyKFhFTl9DQUxMX0ZVTkNUSU9OX1NJTkdMRV9WRUNUT1IsCisJCQkJICAgIGNwdSwKKwkJCQkgICAgeGVuX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2ludGVycnVwdCwKKwkJCQkgICAgSVJRRl9ESVNBQkxFRHxJUlFGX1BFUkNQVXxJUlFGX05PQkFMQU5DSU5HLAorCQkJCSAgICBjYWxsZnVuY19uYW1lLAorCQkJCSAgICBOVUxMKTsKKwlpZiAocmMgPCAwKQorCQlnb3RvIGZhaWw7CisJcGVyX2NwdShjYWxsZnVuY3NpbmdsZV9pcnEsIGNwdSkgPSByYzsKKwogCXJldHVybiAwOwogCiAgZmFpbDoKQEAgLTEzMSw2ICsxMzUsOSBAQAogCQl1bmJpbmRfZnJvbV9pcnFoYW5kbGVyKHBlcl9jcHUoY2FsbGZ1bmNfaXJxLCBjcHUpLCBOVUxMKTsKIAlpZiAocGVyX2NwdShkZWJ1Z19pcnEsIGNwdSkgPj0gMCkKIAkJdW5iaW5kX2Zyb21faXJxaGFuZGxlcihwZXJfY3B1KGRlYnVnX2lycSwgY3B1KSwgTlVMTCk7CisJaWYgKHBlcl9jcHUoY2FsbGZ1bmNzaW5nbGVfaXJxLCBjcHUpID49IDApCisJCXVuYmluZF9mcm9tX2lycWhhbmRsZXIocGVyX2NwdShjYWxsZnVuY3NpbmdsZV9pcnEsIGNwdSksIE5VTEwpOworCiAJcmV0dXJuIHJjOwogfQogCkBAIC0zMzAsNyArMzM3LDcgQEAKIAogdm9pZCB4ZW5fc21wX3NlbmRfc3RvcCh2b2lkKQogewotCXNtcF9jYWxsX2Z1bmN0aW9uKHN0b3Bfc2VsZiwgTlVMTCwgMCwgMCk7CisJc21wX2NhbGxfZnVuY3Rpb24oc3RvcF9zZWxmLCBOVUxMLCAwKTsKIH0KIAogdm9pZCB4ZW5fc21wX3NlbmRfcmVzY2hlZHVsZShpbnQgY3B1KQpAQCAtMzM4LDcgKzM0NSw2IEBACiAJeGVuX3NlbmRfSVBJX29uZShjcHUsIFhFTl9SRVNDSEVEVUxFX1ZFQ1RPUik7CiB9CiAKLQogc3RhdGljIHZvaWQgeGVuX3NlbmRfSVBJX21hc2soY3B1bWFza190IG1hc2ssIGVudW0gaXBpX3ZlY3RvciB2ZWN0b3IpCiB7CiAJdW5zaWduZWQgY3B1OwpAQCAtMzQ5LDgzICszNTUsNDIgQEAKIAkJeGVuX3NlbmRfSVBJX29uZShjcHUsIHZlY3Rvcik7CiB9CiAKK3ZvaWQgeGVuX3NtcF9zZW5kX2NhbGxfZnVuY3Rpb25faXBpKGNwdW1hc2tfdCBtYXNrKQoreworCWludCBjcHU7CisKKwl4ZW5fc2VuZF9JUElfbWFzayhtYXNrLCBYRU5fQ0FMTF9GVU5DVElPTl9WRUNUT1IpOworCisJLyogTWFrZSBzdXJlIG90aGVyIHZjcHVzIGdldCBhIGNoYW5jZSB0byBydW4gaWYgdGhleSBuZWVkIHRvLiAqLworCWZvcl9lYWNoX2NwdV9tYXNrKGNwdSwgbWFzaykgeworCQlpZiAoeGVuX3ZjcHVfc3RvbGVuKGNwdSkpIHsKKwkJCUhZUEVSVklTT1Jfc2NoZWRfb3AoU0NIRURPUF95aWVsZCwgMCk7CisJCQlicmVhazsKKwkJfQorCX0KK30KKwordm9pZCB4ZW5fc21wX3NlbmRfY2FsbF9mdW5jdGlvbl9zaW5nbGVfaXBpKGludCBjcHUpCit7CisJeGVuX3NlbmRfSVBJX21hc2soY3B1bWFza19vZl9jcHUoY3B1KSwgWEVOX0NBTExfRlVOQ1RJT05fU0lOR0xFX1ZFQ1RPUik7Cit9CisKIHN0YXRpYyBpcnFyZXR1cm5fdCB4ZW5fY2FsbF9mdW5jdGlvbl9pbnRlcnJ1cHQoaW50IGlycSwgdm9pZCAqZGV2X2lkKQogewotCXZvaWQgKCpmdW5jKSAodm9pZCAqaW5mbykgPSBjYWxsX2RhdGEtPmZ1bmM7Ci0Jdm9pZCAqaW5mbyA9IGNhbGxfZGF0YS0+aW5mbzsKLQlpbnQgd2FpdCA9IGNhbGxfZGF0YS0+d2FpdDsKLQotCS8qCi0JICogTm90aWZ5IGluaXRpYXRpbmcgQ1BVIHRoYXQgSSd2ZSBncmFiYmVkIHRoZSBkYXRhIGFuZCBhbQotCSAqIGFib3V0IHRvIGV4ZWN1dGUgdGhlIGZ1bmN0aW9uCi0JICovCi0JbWIoKTsKLQlhdG9taWNfaW5jKCZjYWxsX2RhdGEtPnN0YXJ0ZWQpOwotCS8qCi0JICogQXQgdGhpcyBwb2ludCB0aGUgaW5mbyBzdHJ1Y3R1cmUgbWF5IGJlIG91dCBvZiBzY29wZSB1bmxlc3Mgd2FpdD09MQotCSAqLwogCWlycV9lbnRlcigpOwotCSgqZnVuYykoaW5mbyk7CisJZ2VuZXJpY19zbXBfY2FsbF9mdW5jdGlvbl9pbnRlcnJ1cHQoKTsKIAlfX2dldF9jcHVfdmFyKGlycV9zdGF0KS5pcnFfY2FsbF9jb3VudCsrOwogCWlycV9leGl0KCk7CiAKLQlpZiAod2FpdCkgewotCQltYigpOwkJLyogY29tbWl0IGV2ZXJ5dGhpbmcgYmVmb3JlIHNldHRpbmcgZmluaXNoZWQgKi8KLQkJYXRvbWljX2luYygmY2FsbF9kYXRhLT5maW5pc2hlZCk7Ci0JfQotCiAJcmV0dXJuIElSUV9IQU5ETEVEOwogfQogCi1pbnQgeGVuX3NtcF9jYWxsX2Z1bmN0aW9uX21hc2soY3B1bWFza190IG1hc2ssIHZvaWQgKCpmdW5jKSh2b2lkICopLAotCQkJICAgICAgIHZvaWQgKmluZm8sIGludCB3YWl0KQorc3RhdGljIGlycXJldHVybl90IHhlbl9jYWxsX2Z1bmN0aW9uX3NpbmdsZV9pbnRlcnJ1cHQoaW50IGlycSwgdm9pZCAqZGV2X2lkKQogewotCXN0cnVjdCBjYWxsX2RhdGFfc3RydWN0IGRhdGE7Ci0JaW50IGNwdXMsIGNwdTsKLQlib29sIHlpZWxkOworCWlycV9lbnRlcigpOworCWdlbmVyaWNfc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2ludGVycnVwdCgpOworCV9fZ2V0X2NwdV92YXIoaXJxX3N0YXQpLmlycV9jYWxsX2NvdW50Kys7CisJaXJxX2V4aXQoKTsKIAotCS8qIEhvbGRpbmcgYW55IGxvY2sgc3RvcHMgY3B1cyBmcm9tIGdvaW5nIGRvd24uICovCi0Jc3Bpbl9sb2NrKCZjYWxsX2xvY2spOwotCi0JY3B1X2NsZWFyKHNtcF9wcm9jZXNzb3JfaWQoKSwgbWFzayk7Ci0KLQljcHVzID0gY3B1c193ZWlnaHQobWFzayk7Ci0JaWYgKCFjcHVzKSB7Ci0JCXNwaW5fdW5sb2NrKCZjYWxsX2xvY2spOwotCQlyZXR1cm4gMDsKLQl9Ci0KLQkvKiBDYW4gZGVhZGxvY2sgd2hlbiBjYWxsZWQgd2l0aCBpbnRlcnJ1cHRzIGRpc2FibGVkICovCi0JV0FSTl9PTihpcnFzX2Rpc2FibGVkKCkpOwotCi0JZGF0YS5mdW5jID0gZnVuYzsKLQlkYXRhLmluZm8gPSBpbmZvOwotCWF0b21pY19zZXQoJmRhdGEuc3RhcnRlZCwgMCk7Ci0JZGF0YS53YWl0ID0gd2FpdDsKLQlpZiAod2FpdCkKLQkJYXRvbWljX3NldCgmZGF0YS5maW5pc2hlZCwgMCk7Ci0KLQljYWxsX2RhdGEgPSAmZGF0YTsKLQltYigpOwkJCS8qIHdyaXRlIGV2ZXJ5dGhpbmcgYmVmb3JlIElQSSAqLwotCi0JLyogU2VuZCBhIG1lc3NhZ2UgdG8gb3RoZXIgQ1BVcyBhbmQgd2FpdCBmb3IgdGhlbSB0byByZXNwb25kICovCi0JeGVuX3NlbmRfSVBJX21hc2sobWFzaywgWEVOX0NBTExfRlVOQ1RJT05fVkVDVE9SKTsKLQotCS8qIE1ha2Ugc3VyZSBvdGhlciB2Y3B1cyBnZXQgYSBjaGFuY2UgdG8gcnVuIGlmIHRoZXkgbmVlZCB0by4gKi8KLQl5aWVsZCA9IGZhbHNlOwotCWZvcl9lYWNoX2NwdV9tYXNrKGNwdSwgbWFzaykKLQkJaWYgKHhlbl92Y3B1X3N0b2xlbihjcHUpKQotCQkJeWllbGQgPSB0cnVlOwotCi0JaWYgKHlpZWxkKQotCQlIWVBFUlZJU09SX3NjaGVkX29wKFNDSEVET1BfeWllbGQsIDApOwotCi0JLyogV2FpdCBmb3IgcmVzcG9uc2UgKi8KLQl3aGlsZSAoYXRvbWljX3JlYWQoJmRhdGEuc3RhcnRlZCkgIT0gY3B1cyB8fAotCSAgICAgICAod2FpdCAmJiBhdG9taWNfcmVhZCgmZGF0YS5maW5pc2hlZCkgIT0gY3B1cykpCi0JCWNwdV9yZWxheCgpOwotCi0Jc3Bpbl91bmxvY2soJmNhbGxfbG9jayk7Ci0KLQlyZXR1cm4gMDsKKwlyZXR1cm4gSVJRX0hBTkRMRUQ7CiB9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni94ZW4vc3VzcGVuZC5jIGIvYXJjaC94ODYveGVuL3N1c3BlbmQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNTE2NjlhCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC94ODYveGVuL3N1c3BlbmQuYwpAQCAtMCwwICsxLDQ1IEBACisjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKworI2luY2x1ZGUgPHhlbi9pbnRlcmZhY2UveGVuLmg+CisjaW5jbHVkZSA8eGVuL2dyYW50X3RhYmxlLmg+CisjaW5jbHVkZSA8eGVuL2V2ZW50cy5oPgorCisjaW5jbHVkZSA8YXNtL3hlbi9oeXBlcmNhbGwuaD4KKyNpbmNsdWRlIDxhc20veGVuL3BhZ2UuaD4KKworI2luY2x1ZGUgInhlbi1vcHMuaCIKKyNpbmNsdWRlICJtbXUuaCIKKwordm9pZCB4ZW5fcHJlX3N1c3BlbmQodm9pZCkKK3sKKwl4ZW5fc3RhcnRfaW5mby0+c3RvcmVfbWZuID0gbWZuX3RvX3Bmbih4ZW5fc3RhcnRfaW5mby0+c3RvcmVfbWZuKTsKKwl4ZW5fc3RhcnRfaW5mby0+Y29uc29sZS5kb21VLm1mbiA9CisJCW1mbl90b19wZm4oeGVuX3N0YXJ0X2luZm8tPmNvbnNvbGUuZG9tVS5tZm4pOworCisJQlVHX09OKCFpcnFzX2Rpc2FibGVkKCkpOworCisJSFlQRVJWSVNPUl9zaGFyZWRfaW5mbyA9ICZ4ZW5fZHVtbXlfc2hhcmVkX2luZm87CisJaWYgKEhZUEVSVklTT1JfdXBkYXRlX3ZhX21hcHBpbmcoZml4X3RvX3ZpcnQoRklYX1BBUkFWSVJUX0JPT1RNQVApLAorCQkJCQkgX19wdGVfbWEoMCksIDApKQorCQlCVUcoKTsKK30KKwordm9pZCB4ZW5fcG9zdF9zdXNwZW5kKGludCBzdXNwZW5kX2NhbmNlbGxlZCkKK3sKKwl4ZW5fc2V0dXBfc2hhcmVkX2luZm8oKTsKKworCWlmIChzdXNwZW5kX2NhbmNlbGxlZCkgeworCQl4ZW5fc3RhcnRfaW5mby0+c3RvcmVfbWZuID0KKwkJCXBmbl90b19tZm4oeGVuX3N0YXJ0X2luZm8tPnN0b3JlX21mbik7CisJCXhlbl9zdGFydF9pbmZvLT5jb25zb2xlLmRvbVUubWZuID0KKwkJCXBmbl90b19tZm4oeGVuX3N0YXJ0X2luZm8tPmNvbnNvbGUuZG9tVS5tZm4pOworCX0gZWxzZSB7CisjaWZkZWYgQ09ORklHX1NNUAorCQl4ZW5fY3B1X2luaXRpYWxpemVkX21hcCA9IGNwdV9vbmxpbmVfbWFwOworI2VuZGlmCisJCXhlbl92Y3B1X3Jlc3RvcmUoKTsKKwkJeGVuX3RpbWVyX3Jlc3VtZSgpOworCX0KKworfQorCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni94ZW4vdGltZS5jIGIvYXJjaC94ODYveGVuL3RpbWUuYwppbmRleCA0MWUyMTc1Li42ODViNzc0IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni94ZW4vdGltZS5jCisrKyBiL2FyY2gveDg2L3hlbi90aW1lLmMKQEAgLTE5Nyw4ICsxOTcsOCBAQAogfQogCiAKLS8qIEdldCB0aGUgQ1BVIHNwZWVkIGZyb20gWGVuICovCi11bnNpZ25lZCBsb25nIHhlbl9jcHVfa2h6KHZvaWQpCisvKiBHZXQgdGhlIFRTQyBzcGVlZCBmcm9tIFhlbiAqLwordW5zaWduZWQgbG9uZyB4ZW5fdHNjX2toeih2b2lkKQogewogCXU2NCB4ZW5fa2h6ID0gMTAwMDAwMFVMTCA8PCAzMjsKIAljb25zdCBzdHJ1Y3QgcHZjbG9ja192Y3B1X3RpbWVfaW5mbyAqaW5mbyA9CkBAIC00NTksNiArNDU5LDE5IEBACiAJY2xvY2tldmVudHNfcmVnaXN0ZXJfZGV2aWNlKCZfX2dldF9jcHVfdmFyKHhlbl9jbG9ja19ldmVudHMpKTsKIH0KIAordm9pZCB4ZW5fdGltZXJfcmVzdW1lKHZvaWQpCit7CisJaW50IGNwdTsKKworCWlmICh4ZW5fY2xvY2tldmVudCAhPSAmeGVuX3ZjcHVvcF9jbG9ja2V2ZW50KQorCQlyZXR1cm47CisKKwlmb3JfZWFjaF9vbmxpbmVfY3B1KGNwdSkgeworCQlpZiAoSFlQRVJWSVNPUl92Y3B1X29wKFZDUFVPUF9zdG9wX3BlcmlvZGljX3RpbWVyLCBjcHUsIE5VTEwpKQorCQkJQlVHKCk7CisJfQorfQorCiBfX2luaXQgdm9pZCB4ZW5fdGltZV9pbml0KHZvaWQpCiB7CiAJaW50IGNwdSA9IHNtcF9wcm9jZXNzb3JfaWQoKTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L3hlbi94ZW4taGVhZC5TIGIvYXJjaC94ODYveGVuL3hlbi1oZWFkLlMKaW5kZXggNmVjM2I0Zi4uN2MwY2Y2MyAxMDA2NDQKLS0tIGEvYXJjaC94ODYveGVuL3hlbi1oZWFkLlMKKysrIGIvYXJjaC94ODYveGVuL3hlbi1oZWFkLlMKQEAgLTcsNiArNyw3IEBACiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGFzbS9ib290Lmg+CiAjaW5jbHVkZSA8eGVuL2ludGVyZmFjZS9lbGZub3RlLmg+CisjaW5jbHVkZSA8YXNtL3hlbi9pbnRlcmZhY2UuaD4KIAogCV9fSU5JVAogRU5UUlkoc3RhcnR1cF94ZW4pCkBAIC0zMiw1ICszMyw5IEBACiAJRUxGTk9URShYZW4sIFhFTl9FTEZOT1RFX0ZFQVRVUkVTLCAgICAgICAuYXNjaXogIiF3cml0YWJsZV9wYWdlX3RhYmxlc3xwYWVfcGdkaXJfYWJvdmVfNGdiIikKIAlFTEZOT1RFKFhlbiwgWEVOX0VMRk5PVEVfUEFFX01PREUsICAgICAgIC5hc2NpeiAieWVzIikKIAlFTEZOT1RFKFhlbiwgWEVOX0VMRk5PVEVfTE9BREVSLCAgICAgICAgIC5hc2NpeiAiZ2VuZXJpYyIpCisJRUxGTk9URShYZW4sIFhFTl9FTEZOT1RFX0wxX01GTl9WQUxJRCwKKwkJLnF1YWQgX1BBR0VfUFJFU0VOVDsgLnF1YWQgX1BBR0VfUFJFU0VOVCkKKwlFTEZOT1RFKFhlbiwgWEVOX0VMRk5PVEVfU1VTUEVORF9DQU5DRUwsIC5sb25nIDEpCisJRUxGTk9URShYZW4sIFhFTl9FTEZOT1RFX0hWX1NUQVJUX0xPVywgICAubG9uZyBfX0hZUEVSVklTT1JfVklSVF9TVEFSVCkKIAogI2VuZGlmIC8qQ09ORklHX1hFTiAqLwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYveGVuL3hlbi1vcHMuaCBiL2FyY2gveDg2L3hlbi94ZW4tb3BzLmgKaW5kZXggZjEwNjNhZS4uNmY0YjEwNCAxMDA2NDQKLS0tIGEvYXJjaC94ODYveGVuL3hlbi1vcHMuaAorKysgYi9hcmNoL3g4Ni94ZW4veGVuLW9wcy5oCkBAIC05LDI2ICs5LDM1IEBACiBleHRlcm4gY29uc3QgY2hhciB4ZW5faHlwZXJ2aXNvcl9jYWxsYmFja1tdOwogZXh0ZXJuIGNvbnN0IGNoYXIgeGVuX2ZhaWxzYWZlX2NhbGxiYWNrW107CiAKK3N0cnVjdCB0cmFwX2luZm87CiB2b2lkIHhlbl9jb3B5X3RyYXBfaW5mbyhzdHJ1Y3QgdHJhcF9pbmZvICp0cmFwcyk7CiAKIERFQ0xBUkVfUEVSX0NQVSh1bnNpZ25lZCBsb25nLCB4ZW5fY3IzKTsKIERFQ0xBUkVfUEVSX0NQVSh1bnNpZ25lZCBsb25nLCB4ZW5fY3VycmVudF9jcjMpOwogCiBleHRlcm4gc3RydWN0IHN0YXJ0X2luZm8gKnhlbl9zdGFydF9pbmZvOworZXh0ZXJuIHN0cnVjdCBzaGFyZWRfaW5mbyB4ZW5fZHVtbXlfc2hhcmVkX2luZm87CiBleHRlcm4gc3RydWN0IHNoYXJlZF9pbmZvICpIWVBFUlZJU09SX3NoYXJlZF9pbmZvOwogCit2b2lkIHhlbl9zZXR1cF9tZm5fbGlzdF9saXN0KHZvaWQpOwordm9pZCB4ZW5fc2V0dXBfc2hhcmVkX2luZm8odm9pZCk7CisKIGNoYXIgKiBfX2luaXQgeGVuX21lbW9yeV9zZXR1cCh2b2lkKTsKIHZvaWQgX19pbml0IHhlbl9hcmNoX3NldHVwKHZvaWQpOwogdm9pZCBfX2luaXQgeGVuX2luaXRfSVJRKHZvaWQpOwogdm9pZCB4ZW5fZW5hYmxlX3N5c2VudGVyKHZvaWQpOwordm9pZCB4ZW5fdmNwdV9yZXN0b3JlKHZvaWQpOworCit2b2lkIF9faW5pdCB4ZW5fYnVpbGRfZHluYW1pY19waHlzX3RvX21hY2hpbmUodm9pZCk7CiAKIHZvaWQgeGVuX3NldHVwX3RpbWVyKGludCBjcHUpOwogdm9pZCB4ZW5fc2V0dXBfY3B1X2Nsb2NrZXZlbnRzKHZvaWQpOwotdW5zaWduZWQgbG9uZyB4ZW5fY3B1X2toeih2b2lkKTsKK3Vuc2lnbmVkIGxvbmcgeGVuX3RzY19raHoodm9pZCk7CiB2b2lkIF9faW5pdCB4ZW5fdGltZV9pbml0KHZvaWQpOwogdW5zaWduZWQgbG9uZyB4ZW5fZ2V0X3dhbGxjbG9jayh2b2lkKTsKIGludCB4ZW5fc2V0X3dhbGxjbG9jayh1bnNpZ25lZCBsb25nIHRpbWUpOwogdW5zaWduZWQgbG9uZyBsb25nIHhlbl9zY2hlZF9jbG9jayh2b2lkKTsKK3ZvaWQgeGVuX3RpbWVyX3Jlc3VtZSh2b2lkKTsKIAogaXJxcmV0dXJuX3QgeGVuX2RlYnVnX2ludGVycnVwdChpbnQgaXJxLCB2b2lkICpkZXZfaWQpOwogCkBAIC00NiwxMyArNTUsMTAgQEAKIAogdm9pZCB4ZW5fc21wX3NlbmRfc3RvcCh2b2lkKTsKIHZvaWQgeGVuX3NtcF9zZW5kX3Jlc2NoZWR1bGUoaW50IGNwdSk7Ci1pbnQgeGVuX3NtcF9jYWxsX2Z1bmN0aW9uICh2b2lkICgqZnVuYykgKHZvaWQgKmluZm8pLCB2b2lkICppbmZvLCBpbnQgbm9uYXRvbWljLAotCQkJICAgaW50IHdhaXQpOwotaW50IHhlbl9zbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoaW50IGNwdSwgdm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywKLQkJCQkgaW50IG5vbmF0b21pYywgaW50IHdhaXQpOwordm9pZCB4ZW5fc21wX3NlbmRfY2FsbF9mdW5jdGlvbl9pcGkoY3B1bWFza190IG1hc2spOwordm9pZCB4ZW5fc21wX3NlbmRfY2FsbF9mdW5jdGlvbl9zaW5nbGVfaXBpKGludCBjcHUpOwogCi1pbnQgeGVuX3NtcF9jYWxsX2Z1bmN0aW9uX21hc2soY3B1bWFza190IG1hc2ssIHZvaWQgKCpmdW5jKSh2b2lkICopLAotCQkJICAgICAgIHZvaWQgKmluZm8sIGludCB3YWl0KTsKK2V4dGVybiBjcHVtYXNrX3QgeGVuX2NwdV9pbml0aWFsaXplZF9tYXA7CiAKIAogLyogRGVjbGFyZSBhbiBhc20gZnVuY3Rpb24sIGFsb25nIHdpdGggc3ltYm9scyBuZWVkZWQgdG8gbWFrZSBpdApkaWZmIC0tZ2l0IGEvYmxvY2svS2NvbmZpZyBiL2Jsb2NrL0tjb25maWcKaW5kZXggM2U5N2YyYi4uMWFiN2MxNSAxMDA2NDQKLS0tIGEvYmxvY2svS2NvbmZpZworKysgYi9ibG9jay9LY29uZmlnCkBAIC04MSw2ICs4MSwxOCBAQAogCiAJICBJZiB1bnN1cmUsIHNheSBOLgogCitjb25maWcgQkxLX0RFVl9JTlRFR1JJVFkKKwlib29sICJCbG9jayBsYXllciBkYXRhIGludGVncml0eSBzdXBwb3J0IgorCS0tLWhlbHAtLS0KKwlTb21lIHN0b3JhZ2UgZGV2aWNlcyBhbGxvdyBleHRyYSBpbmZvcm1hdGlvbiB0byBiZQorCXN0b3JlZC9yZXRyaWV2ZWQgdG8gaGVscCBwcm90ZWN0IHRoZSBkYXRhLiAgVGhlIGJsb2NrIGxheWVyCisJZGF0YSBpbnRlZ3JpdHkgb3B0aW9uIHByb3ZpZGVzIGhvb2tzIHdoaWNoIGNhbiBiZSB1c2VkIGJ5CisJZmlsZXN5c3RlbXMgdG8gZW5zdXJlIGJldHRlciBkYXRhIGludGVncml0eS4KKworCVNheSB5ZXMgaGVyZSBpZiB5b3UgaGF2ZSBhIHN0b3JhZ2UgZGV2aWNlIHRoYXQgcHJvdmlkZXMgdGhlCisJVDEwL1NDU0kgRGF0YSBJbnRlZ3JpdHkgRmllbGQgb3IgdGhlIFQxMy9BVEEgRXh0ZXJuYWwgUGF0aAorCVByb3RlY3Rpb24uICBJZiBpbiBkb3VidCwgc2F5IE4uCisKIGVuZGlmICMgQkxPQ0sKIAogY29uZmlnIEJMT0NLX0NPTVBBVApkaWZmIC0tZ2l0IGEvYmxvY2svTWFrZWZpbGUgYi9ibG9jay9NYWtlZmlsZQppbmRleCA1YTQzYzdkLi4yMDgwMDBiIDEwMDY0NAotLS0gYS9ibG9jay9NYWtlZmlsZQorKysgYi9ibG9jay9NYWtlZmlsZQpAQCAtNCw3ICs0LDggQEAKIAogb2JqLSQoQ09ORklHX0JMT0NLKSA6PSBlbGV2YXRvci5vIGJsay1jb3JlLm8gYmxrLXRhZy5vIGJsay1zeXNmcy5vIFwKIAkJCWJsay1iYXJyaWVyLm8gYmxrLXNldHRpbmdzLm8gYmxrLWlvYy5vIGJsay1tYXAubyBcCi0JCQlibGstZXhlYy5vIGJsay1tZXJnZS5vIGlvY3RsLm8gZ2VuaGQubyBzY3NpX2lvY3RsLm8KKwkJCWJsay1leGVjLm8gYmxrLW1lcmdlLm8gaW9jdGwubyBnZW5oZC5vIHNjc2lfaW9jdGwubyBcCisJCQljbWQtZmlsdGVyLm8KIAogb2JqLSQoQ09ORklHX0JMS19ERVZfQlNHKQkrPSBic2cubwogb2JqLSQoQ09ORklHX0lPU0NIRURfTk9PUCkJKz0gbm9vcC1pb3NjaGVkLm8KQEAgLTE0LDMgKzE1LDQgQEAKIAogb2JqLSQoQ09ORklHX0JMS19ERVZfSU9fVFJBQ0UpCSs9IGJsa3RyYWNlLm8KIG9iai0kKENPTkZJR19CTE9DS19DT01QQVQpCSs9IGNvbXBhdF9pb2N0bC5vCitvYmotJChDT05GSUdfQkxLX0RFVl9JTlRFR1JJVFkpCSs9IGJsay1pbnRlZ3JpdHkubwpkaWZmIC0tZ2l0IGEvYmxvY2svYXMtaW9zY2hlZC5jIGIvYmxvY2svYXMtaW9zY2hlZC5jCmluZGV4IDc0M2YzM2EuLjk3MzVhY2IgMTAwNjQ0Ci0tLSBhL2Jsb2NrL2FzLWlvc2NoZWQuYworKysgYi9ibG9jay9hcy1pb3NjaGVkLmMKQEAgLTE1MSw2ICsxNTEsNyBAQAogCiBzdGF0aWMgREVGSU5FX1BFUl9DUFUodW5zaWduZWQgbG9uZywgaW9jX2NvdW50KTsKIHN0YXRpYyBzdHJ1Y3QgY29tcGxldGlvbiAqaW9jX2dvbmU7CitzdGF0aWMgREVGSU5FX1NQSU5MT0NLKGlvY19nb25lX2xvY2spOwogCiBzdGF0aWMgdm9pZCBhc19tb3ZlX3RvX2Rpc3BhdGNoKHN0cnVjdCBhc19kYXRhICphZCwgc3RydWN0IHJlcXVlc3QgKnJxKTsKIHN0YXRpYyB2b2lkIGFzX2FudGljX3N0b3Aoc3RydWN0IGFzX2RhdGEgKmFkKTsKQEAgLTE2NCw4ICsxNjUsMTkgQEAKIHsKIAlrZnJlZShhaWMpOwogCWVsdl9pb2NfY291bnRfZGVjKGlvY19jb3VudCk7Ci0JaWYgKGlvY19nb25lICYmICFlbHZfaW9jX2NvdW50X3JlYWQoaW9jX2NvdW50KSkKLQkJY29tcGxldGUoaW9jX2dvbmUpOworCWlmIChpb2NfZ29uZSkgeworCQkvKgorCQkgKiBBUyBzY2hlZHVsZXIgaXMgZXhpdGluZywgZ3JhYiBleGl0IGxvY2sgYW5kIGNoZWNrCisJCSAqIHRoZSBwZW5kaW5nIGlvIGNvbnRleHQgY291bnQuIElmIGl0IGhpdHMgemVybywKKwkJICogY29tcGxldGUgaW9jX2dvbmUgYW5kIHNldCBpdCBiYWNrIHRvIE5VTEwuCisJCSAqLworCQlzcGluX2xvY2soJmlvY19nb25lX2xvY2spOworCQlpZiAoaW9jX2dvbmUgJiYgIWVsdl9pb2NfY291bnRfcmVhZChpb2NfY291bnQpKSB7CisJCQljb21wbGV0ZShpb2NfZ29uZSk7CisJCQlpb2NfZ29uZSA9IE5VTEw7CisJCX0KKwkJc3Bpbl91bmxvY2soJmlvY19nb25lX2xvY2spOworCX0KIH0KIAogc3RhdGljIHZvaWQgYXNfdHJpbShzdHJ1Y3QgaW9fY29udGV4dCAqaW9jKQpAQCAtMTQ5Myw3ICsxNTA1LDcgQEAKIAkvKiBpb2NfZ29uZSdzIHVwZGF0ZSBtdXN0IGJlIHZpc2libGUgYmVmb3JlIHJlYWRpbmcgaW9jX2NvdW50ICovCiAJc21wX3dtYigpOwogCWlmIChlbHZfaW9jX2NvdW50X3JlYWQoaW9jX2NvdW50KSkKLQkJd2FpdF9mb3JfY29tcGxldGlvbihpb2NfZ29uZSk7CisJCXdhaXRfZm9yX2NvbXBsZXRpb24oJmFsbF9nb25lKTsKIAlzeW5jaHJvbml6ZV9yY3UoKTsKIH0KIApkaWZmIC0tZ2l0IGEvYmxvY2svYmxrLWNvcmUuYyBiL2Jsb2NrL2Jsay1jb3JlLmMKaW5kZXggMTkwNWFhYi4uZmVmNzljYyAxMDA2NDQKLS0tIGEvYmxvY2svYmxrLWNvcmUuYworKysgYi9ibG9jay9ibGstY29yZS5jCkBAIC0xNDMsNiArMTQzLDEwIEBACiAKIAkJYmlvLT5iaV9zaXplIC09IG5ieXRlczsKIAkJYmlvLT5iaV9zZWN0b3IgKz0gKG5ieXRlcyA+PiA5KTsKKworCQlpZiAoYmlvX2ludGVncml0eShiaW8pKQorCQkJYmlvX2ludGVncml0eV9hZHZhbmNlKGJpbywgbmJ5dGVzKTsKKwogCQlpZiAoYmlvLT5iaV9zaXplID09IDApCiAJCQliaW9fZW5kaW8oYmlvLCBlcnJvcik7CiAJfSBlbHNlIHsKQEAgLTIwMSw4ICsyMDUsNyBAQAogCWlmIChibGtfcXVldWVfc3RvcHBlZChxKSkKIAkJcmV0dXJuOwogCi0JaWYgKCF0ZXN0X2JpdChRVUVVRV9GTEFHX1BMVUdHRUQsICZxLT5xdWV1ZV9mbGFncykpIHsKLQkJX19zZXRfYml0KFFVRVVFX0ZMQUdfUExVR0dFRCwgJnEtPnF1ZXVlX2ZsYWdzKTsKKwlpZiAoIXF1ZXVlX2ZsYWdfdGVzdF9hbmRfc2V0KFFVRVVFX0ZMQUdfUExVR0dFRCwgcSkpIHsKIAkJbW9kX3RpbWVyKCZxLT51bnBsdWdfdGltZXIsIGppZmZpZXMgKyBxLT51bnBsdWdfZGVsYXkpOwogCQlibGtfYWRkX3RyYWNlX2dlbmVyaWMocSwgTlVMTCwgMCwgQkxLX1RBX1BMVUcpOwogCX0KQEAgLTIxNywxMCArMjIwLDkgQEAKIHsKIAlXQVJOX09OKCFpcnFzX2Rpc2FibGVkKCkpOwogCi0JaWYgKCF0ZXN0X2JpdChRVUVVRV9GTEFHX1BMVUdHRUQsICZxLT5xdWV1ZV9mbGFncykpCisJaWYgKCFxdWV1ZV9mbGFnX3Rlc3RfYW5kX2NsZWFyKFFVRVVFX0ZMQUdfUExVR0dFRCwgcSkpCiAJCXJldHVybiAwOwogCi0JcXVldWVfZmxhZ19jbGVhcihRVUVVRV9GTEFHX1BMVUdHRUQsIHEpOwogCWRlbF90aW1lcigmcS0+dW5wbHVnX3RpbWVyKTsKIAlyZXR1cm4gMTsKIH0KQEAgLTMyNCw4ICszMjYsNyBAQAogCSAqIG9uZSBsZXZlbCBvZiByZWN1cnNpb24gaXMgb2sgYW5kIGlzIG11Y2ggZmFzdGVyIHRoYW4ga2lja2luZwogCSAqIHRoZSB1bnBsdWcgaGFuZGxpbmcKIAkgKi8KLQlpZiAoIXRlc3RfYml0KFFVRVVFX0ZMQUdfUkVFTlRFUiwgJnEtPnF1ZXVlX2ZsYWdzKSkgewotCQlxdWV1ZV9mbGFnX3NldChRVUVVRV9GTEFHX1JFRU5URVIsIHEpOworCWlmICghcXVldWVfZmxhZ190ZXN0X2FuZF9zZXQoUVVFVUVfRkxBR19SRUVOVEVSLCBxKSkgewogCQlxLT5yZXF1ZXN0X2ZuKHEpOwogCQlxdWV1ZV9mbGFnX2NsZWFyKFFVRVVFX0ZMQUdfUkVFTlRFUiwgcSk7CiAJfSBlbHNlIHsKQEAgLTM5MCw4ICszOTEsNyBAQAogCSAqIGhhbmRsaW5nIHJlaW52b2tlIHRoZSBoYW5kbGVyIHNob3J0bHkgaWYgd2UgYWxyZWFkeSBnb3QgdGhlcmUuCiAJICovCiAJaWYgKCFlbHZfcXVldWVfZW1wdHkocSkpIHsKLQkJaWYgKCF0ZXN0X2JpdChRVUVVRV9GTEFHX1JFRU5URVIsICZxLT5xdWV1ZV9mbGFncykpIHsKLQkJCXF1ZXVlX2ZsYWdfc2V0KFFVRVVFX0ZMQUdfUkVFTlRFUiwgcSk7CisJCWlmICghcXVldWVfZmxhZ190ZXN0X2FuZF9zZXQoUVVFVUVfRkxBR19SRUVOVEVSLCBxKSkgewogCQkJcS0+cmVxdWVzdF9mbihxKTsKIAkJCXF1ZXVlX2ZsYWdfY2xlYXIoUVVFVUVfRkxBR19SRUVOVEVSLCBxKTsKIAkJfSBlbHNlIHsKQEAgLTEwNDIsMTUgKzEwNDIsOSBAQAogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAJc3RydWN0IHJlcXVlc3RfcXVldWUgKnEgPSByZXEtPnE7CiAKLQkvKgotCSAqIEdlZSwgSURFIGNhbGxzIGluIHcvIE5VTEwgcS4gIEZpeCBJREUgYW5kIHJlbW92ZSB0aGUKLQkgKiBmb2xsb3dpbmcgaWYgKHEpIHRlc3QuCi0JICovCi0JaWYgKHEpIHsKLQkJc3Bpbl9sb2NrX2lycXNhdmUocS0+cXVldWVfbG9jaywgZmxhZ3MpOwotCQlfX2Jsa19wdXRfcmVxdWVzdChxLCByZXEpOwotCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKHEtPnF1ZXVlX2xvY2ssIGZsYWdzKTsKLQl9CisJc3Bpbl9sb2NrX2lycXNhdmUocS0+cXVldWVfbG9jaywgZmxhZ3MpOworCV9fYmxrX3B1dF9yZXF1ZXN0KHEsIHJlcSk7CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZShxLT5xdWV1ZV9sb2NrLCBmbGFncyk7CiB9CiBFWFBPUlRfU1lNQk9MKGJsa19wdXRfcmVxdWVzdCk7CiAKQEAgLTEzODEsNiArMTM3NSw5IEBACiAJCSAqLwogCQlibGtfcGFydGl0aW9uX3JlbWFwKGJpbyk7CiAKKwkJaWYgKGJpb19pbnRlZ3JpdHlfZW5hYmxlZChiaW8pICYmIGJpb19pbnRlZ3JpdHlfcHJlcChiaW8pKQorCQkJZ290byBlbmRfaW87CisKIAkJaWYgKG9sZF9zZWN0b3IgIT0gLTEpCiAJCQlibGtfYWRkX3RyYWNlX3JlbWFwKHEsIGJpbywgb2xkX2RldiwgYmlvLT5iaV9zZWN0b3IsCiAJCQkJCSAgICBvbGRfc2VjdG9yKTsKQEAgLTIwNDUsNyArMjA0Miw3IEBACiAJZm9yX2VhY2hfcG9zc2libGVfY3B1KGkpCiAJCUlOSVRfTElTVF9IRUFEKCZwZXJfY3B1KGJsa19jcHVfZG9uZSwgaSkpOwogCi0Jb3Blbl9zb2Z0aXJxKEJMT0NLX1NPRlRJUlEsIGJsa19kb25lX3NvZnRpcnEsIE5VTEwpOworCW9wZW5fc29mdGlycShCTE9DS19TT0ZUSVJRLCBibGtfZG9uZV9zb2Z0aXJxKTsKIAlyZWdpc3Rlcl9ob3RjcHVfbm90aWZpZXIoJmJsa19jcHVfbm90aWZpZXIpOwogCiAJcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9ibG9jay9ibGstZXhlYy5jIGIvYmxvY2svYmxrLWV4ZWMuYwppbmRleCAzOTFkZDYyLi45YmNlZmY3IDEwMDY0NAotLS0gYS9ibG9jay9ibGstZXhlYy5jCisrKyBiL2Jsb2NrL2Jsay1leGVjLmMKQEAgLTE4LDcgKzE4LDcgQEAKICAqIEBycTogcmVxdWVzdCB0byBjb21wbGV0ZQogICogQGVycm9yOiBlbmQgaW8gc3RhdHVzIG9mIHRoZSByZXF1ZXN0CiAgKi8KLXZvaWQgYmxrX2VuZF9zeW5jX3JxKHN0cnVjdCByZXF1ZXN0ICpycSwgaW50IGVycm9yKQorc3RhdGljIHZvaWQgYmxrX2VuZF9zeW5jX3JxKHN0cnVjdCByZXF1ZXN0ICpycSwgaW50IGVycm9yKQogewogCXN0cnVjdCBjb21wbGV0aW9uICp3YWl0aW5nID0gcnEtPmVuZF9pb19kYXRhOwogCkBAIC0zMSw3ICszMSw2IEBACiAJICovCiAJY29tcGxldGUod2FpdGluZyk7CiB9Ci1FWFBPUlRfU1lNQk9MKGJsa19lbmRfc3luY19ycSk7CiAKIC8qKgogICogYmxrX2V4ZWN1dGVfcnFfbm93YWl0IC0gaW5zZXJ0IGEgcmVxdWVzdCBpbnRvIHF1ZXVlIGZvciBleGVjdXRpb24KQEAgLTU4LDYgKzU3LDkgQEAKIAlzcGluX2xvY2tfaXJxKHEtPnF1ZXVlX2xvY2spOwogCV9fZWx2X2FkZF9yZXF1ZXN0KHEsIHJxLCB3aGVyZSwgMSk7CiAJX19nZW5lcmljX3VucGx1Z19kZXZpY2UocSk7CisJLyogdGhlIHF1ZXVlIGlzIHN0b3BwZWQgc28gaXQgd29uJ3QgYmUgcGx1Z2dlZCt1bnBsdWdnZWQgKi8KKwlpZiAoYmxrX3BtX3Jlc3VtZV9yZXF1ZXN0KHJxKSkKKwkJcS0+cmVxdWVzdF9mbihxKTsKIAlzcGluX3VubG9ja19pcnEocS0+cXVldWVfbG9jayk7CiB9CiBFWFBPUlRfU1lNQk9MX0dQTChibGtfZXhlY3V0ZV9ycV9ub3dhaXQpOwpkaWZmIC0tZ2l0IGEvYmxvY2svYmxrLWludGVncml0eS5jIGIvYmxvY2svYmxrLWludGVncml0eS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNmMWE4NDcKLS0tIC9kZXYvbnVsbAorKysgYi9ibG9jay9ibGstaW50ZWdyaXR5LmMKQEAgLTAsMCArMSwzODEgQEAKKy8qCisgKiBibGstaW50ZWdyaXR5LmMgLSBCbG9jayBsYXllciBkYXRhIGludGVncml0eSBleHRlbnNpb25zCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA3LCAyMDA4IE9yYWNsZSBDb3Jwb3JhdGlvbgorICogV3JpdHRlbiBieTogTWFydGluIEsuIFBldGVyc2VuIDxtYXJ0aW4ucGV0ZXJzZW5Ab3JhY2xlLmNvbT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uCisgKiAyIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQKKyAqIFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBzZWUgdGhlIGZpbGUgQ09QWUlORy4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIDY3NSBNYXNzIEF2ZSwgQ2FtYnJpZGdlLCBNQSAwMjEzOSwKKyAqIFVTQS4KKyAqCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2Jsa2Rldi5oPgorI2luY2x1ZGUgPGxpbnV4L21lbXBvb2wuaD4KKyNpbmNsdWRlIDxsaW51eC9iaW8uaD4KKyNpbmNsdWRlIDxsaW51eC9zY2F0dGVybGlzdC5oPgorCisjaW5jbHVkZSAiYmxrLmgiCisKK3N0YXRpYyBzdHJ1Y3Qga21lbV9jYWNoZSAqaW50ZWdyaXR5X2NhY2hlcDsKKworLyoqCisgKiBibGtfcnFfY291bnRfaW50ZWdyaXR5X3NnIC0gQ291bnQgbnVtYmVyIG9mIGludGVncml0eSBzY2F0dGVybGlzdCBlbGVtZW50cworICogQHJxOgkJcmVxdWVzdCB3aXRoIGludGVncml0eSBtZXRhZGF0YSBhdHRhY2hlZAorICoKKyAqIERlc2NyaXB0aW9uOiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgZWxlbWVudHMgcmVxdWlyZWQgaW4gYQorICogc2NhdHRlcmxpc3QgY29ycmVzcG9uZGluZyB0byB0aGUgaW50ZWdyaXR5IG1ldGFkYXRhIGluIGEgcmVxdWVzdC4KKyAqLworaW50IGJsa19ycV9jb3VudF9pbnRlZ3JpdHlfc2coc3RydWN0IHJlcXVlc3QgKnJxKQoreworCXN0cnVjdCBiaW9fdmVjICppdiwgKml2cHJ2OworCXN0cnVjdCByZXFfaXRlcmF0b3IgaXRlcjsKKwl1bnNpZ25lZCBpbnQgc2VnbWVudHM7CisKKwlpdnBydiA9IE5VTEw7CisJc2VnbWVudHMgPSAwOworCisJcnFfZm9yX2VhY2hfaW50ZWdyaXR5X3NlZ21lbnQoaXYsIHJxLCBpdGVyKSB7CisKKwkJaWYgKCFpdnBydiB8fCAhQklPVkVDX1BIWVNfTUVSR0VBQkxFKGl2cHJ2LCBpdikpCisJCQlzZWdtZW50cysrOworCisJCWl2cHJ2ID0gaXY7CisJfQorCisJcmV0dXJuIHNlZ21lbnRzOworfQorRVhQT1JUX1NZTUJPTChibGtfcnFfY291bnRfaW50ZWdyaXR5X3NnKTsKKworLyoqCisgKiBibGtfcnFfbWFwX2ludGVncml0eV9zZyAtIE1hcCBpbnRlZ3JpdHkgbWV0YWRhdGEgaW50byBhIHNjYXR0ZXJsaXN0CisgKiBAcnE6CQlyZXF1ZXN0IHdpdGggaW50ZWdyaXR5IG1ldGFkYXRhIGF0dGFjaGVkCisgKiBAc2dsaXN0Ogl0YXJnZXQgc2NhdHRlcmxpc3QKKyAqCisgKiBEZXNjcmlwdGlvbjogTWFwIHRoZSBpbnRlZ3JpdHkgdmVjdG9ycyBpbiByZXF1ZXN0IGludG8gYQorICogc2NhdHRlcmxpc3QuICBUaGUgc2NhdHRlcmxpc3QgbXVzdCBiZSBiaWcgZW5vdWdoIHRvIGhvbGQgYWxsCisgKiBlbGVtZW50cy4gIEkuZS4gc2l6ZWQgdXNpbmcgYmxrX3JxX2NvdW50X2ludGVncml0eV9zZygpLgorICovCitpbnQgYmxrX3JxX21hcF9pbnRlZ3JpdHlfc2coc3RydWN0IHJlcXVlc3QgKnJxLCBzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnNnbGlzdCkKK3sKKwlzdHJ1Y3QgYmlvX3ZlYyAqaXYsICppdnBydjsKKwlzdHJ1Y3QgcmVxX2l0ZXJhdG9yIGl0ZXI7CisJc3RydWN0IHNjYXR0ZXJsaXN0ICpzZzsKKwl1bnNpZ25lZCBpbnQgc2VnbWVudHM7CisKKwlpdnBydiA9IE5VTEw7CisJc2cgPSBOVUxMOworCXNlZ21lbnRzID0gMDsKKworCXJxX2Zvcl9lYWNoX2ludGVncml0eV9zZWdtZW50KGl2LCBycSwgaXRlcikgeworCisJCWlmIChpdnBydikgeworCQkJaWYgKCFCSU9WRUNfUEhZU19NRVJHRUFCTEUoaXZwcnYsIGl2KSkKKwkJCQlnb3RvIG5ld19zZWdtZW50OworCisJCQlzZy0+bGVuZ3RoICs9IGl2LT5idl9sZW47CisJCX0gZWxzZSB7CituZXdfc2VnbWVudDoKKwkJCWlmICghc2cpCisJCQkJc2cgPSBzZ2xpc3Q7CisJCQllbHNlIHsKKwkJCQlzZy0+cGFnZV9saW5rICY9IH4weDAyOworCQkJCXNnID0gc2dfbmV4dChzZyk7CisJCQl9CisKKwkJCXNnX3NldF9wYWdlKHNnLCBpdi0+YnZfcGFnZSwgaXYtPmJ2X2xlbiwgaXYtPmJ2X29mZnNldCk7CisJCQlzZWdtZW50cysrOworCQl9CisKKwkJaXZwcnYgPSBpdjsKKwl9CisKKwlpZiAoc2cpCisJCXNnX21hcmtfZW5kKHNnKTsKKworCXJldHVybiBzZWdtZW50czsKK30KK0VYUE9SVF9TWU1CT0woYmxrX3JxX21hcF9pbnRlZ3JpdHlfc2cpOworCisvKioKKyAqIGJsa19pbnRlZ3JpdHlfY29tcGFyZSAtIENvbXBhcmUgaW50ZWdyaXR5IHByb2ZpbGUgb2YgdHdvIGJsb2NrIGRldmljZXMKKyAqIEBiMToJCURldmljZSB0byBjb21wYXJlCisgKiBAYjI6CQlEZXZpY2UgdG8gY29tcGFyZQorICoKKyAqIERlc2NyaXB0aW9uOiBNZXRhLWRldmljZXMgbGlrZSBETSBhbmQgTUQgbmVlZCB0byB2ZXJpZnkgdGhhdCBhbGwKKyAqIHN1Yi1kZXZpY2VzIHVzZSB0aGUgc2FtZSBpbnRlZ3JpdHkgZm9ybWF0IGJlZm9yZSBhZHZlcnRpc2luZyB0bworICogdXBwZXIgbGF5ZXJzIHRoYXQgdGhleSBjYW4gc2VuZC9yZWNlaXZlIGludGVncml0eSBtZXRhZGF0YS4gIFRoaXMKKyAqIGZ1bmN0aW9uIGNhbiBiZSB1c2VkIHRvIGNoZWNrIHdoZXRoZXIgdHdvIGJsb2NrIGRldmljZXMgaGF2ZQorICogY29tcGF0aWJsZSBpbnRlZ3JpdHkgZm9ybWF0cy4KKyAqLworaW50IGJsa19pbnRlZ3JpdHlfY29tcGFyZShzdHJ1Y3QgYmxvY2tfZGV2aWNlICpiZDEsIHN0cnVjdCBibG9ja19kZXZpY2UgKmJkMikKK3sKKwlzdHJ1Y3QgYmxrX2ludGVncml0eSAqYjEgPSBiZDEtPmJkX2Rpc2stPmludGVncml0eTsKKwlzdHJ1Y3QgYmxrX2ludGVncml0eSAqYjIgPSBiZDItPmJkX2Rpc2stPmludGVncml0eTsKKworCUJVR19PTihiZDEtPmJkX2Rpc2sgPT0gTlVMTCk7CisJQlVHX09OKGJkMi0+YmRfZGlzayA9PSBOVUxMKTsKKworCWlmICghYjEgfHwgIWIyKQorCQlyZXR1cm4gMDsKKworCWlmIChiMS0+c2VjdG9yX3NpemUgIT0gYjItPnNlY3Rvcl9zaXplKSB7CisJCXByaW50ayhLRVJOX0VSUiAiJXM6ICVzLyVzIHNlY3RvciBzeiAldSAhPSAldVxuIiwgX19mdW5jX18sCisJCSAgICAgICBiZDEtPmJkX2Rpc2stPmRpc2tfbmFtZSwgYmQyLT5iZF9kaXNrLT5kaXNrX25hbWUsCisJCSAgICAgICBiMS0+c2VjdG9yX3NpemUsIGIyLT5zZWN0b3Jfc2l6ZSk7CisJCXJldHVybiAtMTsKKwl9CisKKwlpZiAoYjEtPnR1cGxlX3NpemUgIT0gYjItPnR1cGxlX3NpemUpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICIlczogJXMvJXMgdHVwbGUgc3ogJXUgIT0gJXVcbiIsIF9fZnVuY19fLAorCQkgICAgICAgYmQxLT5iZF9kaXNrLT5kaXNrX25hbWUsIGJkMi0+YmRfZGlzay0+ZGlza19uYW1lLAorCQkgICAgICAgYjEtPnR1cGxlX3NpemUsIGIyLT50dXBsZV9zaXplKTsKKwkJcmV0dXJuIC0xOworCX0KKworCWlmIChiMS0+dGFnX3NpemUgJiYgYjItPnRhZ19zaXplICYmIChiMS0+dGFnX3NpemUgIT0gYjItPnRhZ19zaXplKSkgeworCQlwcmludGsoS0VSTl9FUlIgIiVzOiAlcy8lcyB0YWcgc3ogJXUgIT0gJXVcbiIsIF9fZnVuY19fLAorCQkgICAgICAgYmQxLT5iZF9kaXNrLT5kaXNrX25hbWUsIGJkMi0+YmRfZGlzay0+ZGlza19uYW1lLAorCQkgICAgICAgYjEtPnRhZ19zaXplLCBiMi0+dGFnX3NpemUpOworCQlyZXR1cm4gLTE7CisJfQorCisJaWYgKHN0cmNtcChiMS0+bmFtZSwgYjItPm5hbWUpKSB7CisJCXByaW50ayhLRVJOX0VSUiAiJXM6ICVzLyVzIHR5cGUgJXMgIT0gJXNcbiIsIF9fZnVuY19fLAorCQkgICAgICAgYmQxLT5iZF9kaXNrLT5kaXNrX25hbWUsIGJkMi0+YmRfZGlzay0+ZGlza19uYW1lLAorCQkgICAgICAgYjEtPm5hbWUsIGIyLT5uYW1lKTsKKwkJcmV0dXJuIC0xOworCX0KKworCXJldHVybiAwOworfQorRVhQT1JUX1NZTUJPTChibGtfaW50ZWdyaXR5X2NvbXBhcmUpOworCitzdHJ1Y3QgaW50ZWdyaXR5X3N5c2ZzX2VudHJ5IHsKKwlzdHJ1Y3QgYXR0cmlidXRlIGF0dHI7CisJc3NpemVfdCAoKnNob3cpKHN0cnVjdCBibGtfaW50ZWdyaXR5ICosIGNoYXIgKik7CisJc3NpemVfdCAoKnN0b3JlKShzdHJ1Y3QgYmxrX2ludGVncml0eSAqLCBjb25zdCBjaGFyICosIHNpemVfdCk7Cit9OworCitzdGF0aWMgc3NpemVfdCBpbnRlZ3JpdHlfYXR0cl9zaG93KHN0cnVjdCBrb2JqZWN0ICprb2JqLCBzdHJ1Y3QgYXR0cmlidXRlICphdHRyLAorCQkJCSAgIGNoYXIgKnBhZ2UpCit7CisJc3RydWN0IGJsa19pbnRlZ3JpdHkgKmJpID0KKwkJY29udGFpbmVyX29mKGtvYmosIHN0cnVjdCBibGtfaW50ZWdyaXR5LCBrb2JqKTsKKwlzdHJ1Y3QgaW50ZWdyaXR5X3N5c2ZzX2VudHJ5ICplbnRyeSA9CisJCWNvbnRhaW5lcl9vZihhdHRyLCBzdHJ1Y3QgaW50ZWdyaXR5X3N5c2ZzX2VudHJ5LCBhdHRyKTsKKworCXJldHVybiBlbnRyeS0+c2hvdyhiaSwgcGFnZSk7Cit9CisKK3N0YXRpYyBzc2l6ZV90IGludGVncml0eV9hdHRyX3N0b3JlKHN0cnVjdCBrb2JqZWN0ICprb2JqLAorCQkJCSAgICBzdHJ1Y3QgYXR0cmlidXRlICphdHRyLCBjb25zdCBjaGFyICpwYWdlLAorCQkJCSAgICBzaXplX3QgY291bnQpCit7CisJc3RydWN0IGJsa19pbnRlZ3JpdHkgKmJpID0KKwkJY29udGFpbmVyX29mKGtvYmosIHN0cnVjdCBibGtfaW50ZWdyaXR5LCBrb2JqKTsKKwlzdHJ1Y3QgaW50ZWdyaXR5X3N5c2ZzX2VudHJ5ICplbnRyeSA9CisJCWNvbnRhaW5lcl9vZihhdHRyLCBzdHJ1Y3QgaW50ZWdyaXR5X3N5c2ZzX2VudHJ5LCBhdHRyKTsKKwlzc2l6ZV90IHJldCA9IDA7CisKKwlpZiAoZW50cnktPnN0b3JlKQorCQlyZXQgPSBlbnRyeS0+c3RvcmUoYmksIHBhZ2UsIGNvdW50KTsKKworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBzc2l6ZV90IGludGVncml0eV9mb3JtYXRfc2hvdyhzdHJ1Y3QgYmxrX2ludGVncml0eSAqYmksIGNoYXIgKnBhZ2UpCit7CisJaWYgKGJpICE9IE5VTEwgJiYgYmktPm5hbWUgIT0gTlVMTCkKKwkJcmV0dXJuIHNwcmludGYocGFnZSwgIiVzXG4iLCBiaS0+bmFtZSk7CisJZWxzZQorCQlyZXR1cm4gc3ByaW50ZihwYWdlLCAibm9uZVxuIik7Cit9CisKK3N0YXRpYyBzc2l6ZV90IGludGVncml0eV90YWdfc2l6ZV9zaG93KHN0cnVjdCBibGtfaW50ZWdyaXR5ICpiaSwgY2hhciAqcGFnZSkKK3sKKwlpZiAoYmkgIT0gTlVMTCkKKwkJcmV0dXJuIHNwcmludGYocGFnZSwgIiV1XG4iLCBiaS0+dGFnX3NpemUpOworCWVsc2UKKwkJcmV0dXJuIHNwcmludGYocGFnZSwgIjBcbiIpOworfQorCitzdGF0aWMgc3NpemVfdCBpbnRlZ3JpdHlfcmVhZF9zdG9yZShzdHJ1Y3QgYmxrX2ludGVncml0eSAqYmksCisJCQkJICAgIGNvbnN0IGNoYXIgKnBhZ2UsIHNpemVfdCBjb3VudCkKK3sKKwljaGFyICpwID0gKGNoYXIgKikgcGFnZTsKKwl1bnNpZ25lZCBsb25nIHZhbCA9IHNpbXBsZV9zdHJ0b3VsKHAsICZwLCAxMCk7CisKKwlpZiAodmFsKQorCQliaS0+ZmxhZ3MgfD0gSU5URUdSSVRZX0ZMQUdfUkVBRDsKKwllbHNlCisJCWJpLT5mbGFncyAmPSB+SU5URUdSSVRZX0ZMQUdfUkVBRDsKKworCXJldHVybiBjb3VudDsKK30KKworc3RhdGljIHNzaXplX3QgaW50ZWdyaXR5X3JlYWRfc2hvdyhzdHJ1Y3QgYmxrX2ludGVncml0eSAqYmksIGNoYXIgKnBhZ2UpCit7CisJcmV0dXJuIHNwcmludGYocGFnZSwgIiVkXG4iLCAoYmktPmZsYWdzICYgSU5URUdSSVRZX0ZMQUdfUkVBRCkgIT0gMCk7Cit9CisKK3N0YXRpYyBzc2l6ZV90IGludGVncml0eV93cml0ZV9zdG9yZShzdHJ1Y3QgYmxrX2ludGVncml0eSAqYmksCisJCQkJICAgICBjb25zdCBjaGFyICpwYWdlLCBzaXplX3QgY291bnQpCit7CisJY2hhciAqcCA9IChjaGFyICopIHBhZ2U7CisJdW5zaWduZWQgbG9uZyB2YWwgPSBzaW1wbGVfc3RydG91bChwLCAmcCwgMTApOworCisJaWYgKHZhbCkKKwkJYmktPmZsYWdzIHw9IElOVEVHUklUWV9GTEFHX1dSSVRFOworCWVsc2UKKwkJYmktPmZsYWdzICY9IH5JTlRFR1JJVFlfRkxBR19XUklURTsKKworCXJldHVybiBjb3VudDsKK30KKworc3RhdGljIHNzaXplX3QgaW50ZWdyaXR5X3dyaXRlX3Nob3coc3RydWN0IGJsa19pbnRlZ3JpdHkgKmJpLCBjaGFyICpwYWdlKQoreworCXJldHVybiBzcHJpbnRmKHBhZ2UsICIlZFxuIiwgKGJpLT5mbGFncyAmIElOVEVHUklUWV9GTEFHX1dSSVRFKSAhPSAwKTsKK30KKworc3RhdGljIHN0cnVjdCBpbnRlZ3JpdHlfc3lzZnNfZW50cnkgaW50ZWdyaXR5X2Zvcm1hdF9lbnRyeSA9IHsKKwkuYXR0ciA9IHsgLm5hbWUgPSAiZm9ybWF0IiwgLm1vZGUgPSBTX0lSVUdPIH0sCisJLnNob3cgPSBpbnRlZ3JpdHlfZm9ybWF0X3Nob3csCit9OworCitzdGF0aWMgc3RydWN0IGludGVncml0eV9zeXNmc19lbnRyeSBpbnRlZ3JpdHlfdGFnX3NpemVfZW50cnkgPSB7CisJLmF0dHIgPSB7IC5uYW1lID0gInRhZ19zaXplIiwgLm1vZGUgPSBTX0lSVUdPIH0sCisJLnNob3cgPSBpbnRlZ3JpdHlfdGFnX3NpemVfc2hvdywKK307CisKK3N0YXRpYyBzdHJ1Y3QgaW50ZWdyaXR5X3N5c2ZzX2VudHJ5IGludGVncml0eV9yZWFkX2VudHJ5ID0geworCS5hdHRyID0geyAubmFtZSA9ICJyZWFkX3ZlcmlmeSIsIC5tb2RlID0gU19JUlVHTyB8IFNfSVdVU1IgfSwKKwkuc2hvdyA9IGludGVncml0eV9yZWFkX3Nob3csCisJLnN0b3JlID0gaW50ZWdyaXR5X3JlYWRfc3RvcmUsCit9OworCitzdGF0aWMgc3RydWN0IGludGVncml0eV9zeXNmc19lbnRyeSBpbnRlZ3JpdHlfd3JpdGVfZW50cnkgPSB7CisJLmF0dHIgPSB7IC5uYW1lID0gIndyaXRlX2dlbmVyYXRlIiwgLm1vZGUgPSBTX0lSVUdPIHwgU19JV1VTUiB9LAorCS5zaG93ID0gaW50ZWdyaXR5X3dyaXRlX3Nob3csCisJLnN0b3JlID0gaW50ZWdyaXR5X3dyaXRlX3N0b3JlLAorfTsKKworc3RhdGljIHN0cnVjdCBhdHRyaWJ1dGUgKmludGVncml0eV9hdHRyc1tdID0geworCSZpbnRlZ3JpdHlfZm9ybWF0X2VudHJ5LmF0dHIsCisJJmludGVncml0eV90YWdfc2l6ZV9lbnRyeS5hdHRyLAorCSZpbnRlZ3JpdHlfcmVhZF9lbnRyeS5hdHRyLAorCSZpbnRlZ3JpdHlfd3JpdGVfZW50cnkuYXR0ciwKKwlOVUxMLAorfTsKKworc3RhdGljIHN0cnVjdCBzeXNmc19vcHMgaW50ZWdyaXR5X29wcyA9IHsKKwkuc2hvdwk9ICZpbnRlZ3JpdHlfYXR0cl9zaG93LAorCS5zdG9yZQk9ICZpbnRlZ3JpdHlfYXR0cl9zdG9yZSwKK307CisKK3N0YXRpYyBpbnQgX19pbml0IGJsa19kZXZfaW50ZWdyaXR5X2luaXQodm9pZCkKK3sKKwlpbnRlZ3JpdHlfY2FjaGVwID0ga21lbV9jYWNoZV9jcmVhdGUoImJsa2Rldl9pbnRlZ3JpdHkiLAorCQkJCQkgICAgIHNpemVvZihzdHJ1Y3QgYmxrX2ludGVncml0eSksCisJCQkJCSAgICAgMCwgU0xBQl9QQU5JQywgTlVMTCk7CisJcmV0dXJuIDA7Cit9CitzdWJzeXNfaW5pdGNhbGwoYmxrX2Rldl9pbnRlZ3JpdHlfaW5pdCk7CisKK3N0YXRpYyB2b2lkIGJsa19pbnRlZ3JpdHlfcmVsZWFzZShzdHJ1Y3Qga29iamVjdCAqa29iaikKK3sKKwlzdHJ1Y3QgYmxrX2ludGVncml0eSAqYmkgPQorCQljb250YWluZXJfb2Yoa29iaiwgc3RydWN0IGJsa19pbnRlZ3JpdHksIGtvYmopOworCisJa21lbV9jYWNoZV9mcmVlKGludGVncml0eV9jYWNoZXAsIGJpKTsKK30KKworc3RhdGljIHN0cnVjdCBrb2JqX3R5cGUgaW50ZWdyaXR5X2t0eXBlID0geworCS5kZWZhdWx0X2F0dHJzCT0gaW50ZWdyaXR5X2F0dHJzLAorCS5zeXNmc19vcHMJPSAmaW50ZWdyaXR5X29wcywKKwkucmVsZWFzZQk9IGJsa19pbnRlZ3JpdHlfcmVsZWFzZSwKK307CisKKy8qKgorICogYmxrX2ludGVncml0eV9yZWdpc3RlciAtIFJlZ2lzdGVyIGEgZ2VuZGlzayBhcyBiZWluZyBpbnRlZ3JpdHktY2FwYWJsZQorICogQGRpc2s6CXN0cnVjdCBnZW5kaXNrIHBvaW50ZXIgdG8gbWFrZSBpbnRlZ3JpdHktYXdhcmUKKyAqIEB0ZW1wbGF0ZToJaW50ZWdyaXR5IHByb2ZpbGUKKyAqCisgKiBEZXNjcmlwdGlvbjogV2hlbiBhIGRldmljZSBuZWVkcyB0byBhZHZlcnRpc2UgaXRzZWxmIGFzIGJlaW5nIGFibGUKKyAqIHRvIHNlbmQvcmVjZWl2ZSBpbnRlZ3JpdHkgbWV0YWRhdGEgaXQgbXVzdCB1c2UgdGhpcyBmdW5jdGlvbiB0bworICogcmVnaXN0ZXIgdGhlIGNhcGFiaWxpdHkgd2l0aCB0aGUgYmxvY2sgbGF5ZXIuICBUaGUgdGVtcGxhdGUgaXMgYQorICogYmxrX2ludGVncml0eSBzdHJ1Y3Qgd2l0aCB2YWx1ZXMgYXBwcm9wcmlhdGUgZm9yIHRoZSB1bmRlcmx5aW5nCisgKiBoYXJkd2FyZS4gIFNlZSBEb2N1bWVudGF0aW9uL2Jsb2NrL2RhdGEtaW50ZWdyaXR5LnR4dC4KKyAqLworaW50IGJsa19pbnRlZ3JpdHlfcmVnaXN0ZXIoc3RydWN0IGdlbmRpc2sgKmRpc2ssIHN0cnVjdCBibGtfaW50ZWdyaXR5ICp0ZW1wbGF0ZSkKK3sKKwlzdHJ1Y3QgYmxrX2ludGVncml0eSAqYmk7CisKKwlCVUdfT04oZGlzayA9PSBOVUxMKTsKKwlCVUdfT04odGVtcGxhdGUgPT0gTlVMTCk7CisKKwlpZiAoZGlzay0+aW50ZWdyaXR5ID09IE5VTEwpIHsKKwkJYmkgPSBrbWVtX2NhY2hlX2FsbG9jKGludGVncml0eV9jYWNoZXAsCisJCQkJCQlHRlBfS0VSTkVMIHwgX19HRlBfWkVSTyk7CisJCWlmICghYmkpCisJCQlyZXR1cm4gLTE7CisKKwkJaWYgKGtvYmplY3RfaW5pdF9hbmRfYWRkKCZiaS0+a29iaiwgJmludGVncml0eV9rdHlwZSwKKwkJCQkJICZkaXNrLT5kZXYua29iaiwgIiVzIiwgImludGVncml0eSIpKSB7CisJCQlrbWVtX2NhY2hlX2ZyZWUoaW50ZWdyaXR5X2NhY2hlcCwgYmkpOworCQkJcmV0dXJuIC0xOworCQl9CisKKwkJa29iamVjdF91ZXZlbnQoJmJpLT5rb2JqLCBLT0JKX0FERCk7CisKKwkJYmktPmZsYWdzIHw9IElOVEVHUklUWV9GTEFHX1JFQUQgfCBJTlRFR1JJVFlfRkxBR19XUklURTsKKwkJYmktPnNlY3Rvcl9zaXplID0gZGlzay0+cXVldWUtPmhhcmRzZWN0X3NpemU7CisJCWRpc2stPmludGVncml0eSA9IGJpOworCX0gZWxzZQorCQliaSA9IGRpc2stPmludGVncml0eTsKKworCS8qIFVzZSB0aGUgcHJvdmlkZWQgcHJvZmlsZSBhcyB0ZW1wbGF0ZSAqLworCWJpLT5uYW1lID0gdGVtcGxhdGUtPm5hbWU7CisJYmktPmdlbmVyYXRlX2ZuID0gdGVtcGxhdGUtPmdlbmVyYXRlX2ZuOworCWJpLT52ZXJpZnlfZm4gPSB0ZW1wbGF0ZS0+dmVyaWZ5X2ZuOworCWJpLT50dXBsZV9zaXplID0gdGVtcGxhdGUtPnR1cGxlX3NpemU7CisJYmktPnNldF90YWdfZm4gPSB0ZW1wbGF0ZS0+c2V0X3RhZ19mbjsKKwliaS0+Z2V0X3RhZ19mbiA9IHRlbXBsYXRlLT5nZXRfdGFnX2ZuOworCWJpLT50YWdfc2l6ZSA9IHRlbXBsYXRlLT50YWdfc2l6ZTsKKworCXJldHVybiAwOworfQorRVhQT1JUX1NZTUJPTChibGtfaW50ZWdyaXR5X3JlZ2lzdGVyKTsKKworLyoqCisgKiBibGtfaW50ZWdyaXR5X3VucmVnaXN0ZXIgLSBSZW1vdmUgYmxvY2sgaW50ZWdyaXR5IHByb2ZpbGUKKyAqIEBkaXNrOglkaXNrIHdob3NlIGludGVncml0eSBwcm9maWxlIHRvIGRlYWxsb2NhdGUKKyAqCisgKiBEZXNjcmlwdGlvbjogVGhpcyBmdW5jdGlvbiBmcmVlcyBhbGwgbWVtb3J5IHVzZWQgYnkgdGhlIGJsb2NrCisgKiBpbnRlZ3JpdHkgcHJvZmlsZS4gIFRvIGJlIGNhbGxlZCBhdCBkZXZpY2UgdGVhcmRvd24uCisgKi8KK3ZvaWQgYmxrX2ludGVncml0eV91bnJlZ2lzdGVyKHN0cnVjdCBnZW5kaXNrICpkaXNrKQoreworCXN0cnVjdCBibGtfaW50ZWdyaXR5ICpiaTsKKworCWlmICghZGlzayB8fCAhZGlzay0+aW50ZWdyaXR5KQorCQlyZXR1cm47CisKKwliaSA9IGRpc2stPmludGVncml0eTsKKworCWtvYmplY3RfdWV2ZW50KCZiaS0+a29iaiwgS09CSl9SRU1PVkUpOworCWtvYmplY3RfZGVsKCZiaS0+a29iaik7CisJa29iamVjdF9wdXQoJmRpc2stPmRldi5rb2JqKTsKKwlrbWVtX2NhY2hlX2ZyZWUoaW50ZWdyaXR5X2NhY2hlcCwgYmkpOworfQorRVhQT1JUX1NZTUJPTChibGtfaW50ZWdyaXR5X3VucmVnaXN0ZXIpOwpkaWZmIC0tZ2l0IGEvYmxvY2svYmxrLW1hcC5jIGIvYmxvY2svYmxrLW1hcC5jCmluZGV4IDBiMWFmNWEuLmRkZDk2ZmIgMTAwNjQ0Ci0tLSBhL2Jsb2NrL2Jsay1tYXAuYworKysgYi9ibG9jay9ibGstbWFwLmMKQEAgLTIxMCw2ICsyMTAsNyBAQAogCWlmICghYmlvX2ZsYWdnZWQoYmlvLCBCSU9fVVNFUl9NQVBQRUQpKQogCQlycS0+Y21kX2ZsYWdzIHw9IFJFUV9DT1BZX1VTRVI7CiAKKwlibGtfcXVldWVfYm91bmNlKHEsICZiaW8pOwogCWJpb19nZXQoYmlvKTsKIAlibGtfcnFfYmlvX3ByZXAocSwgcnEsIGJpbyk7CiAJcnEtPmJ1ZmZlciA9IHJxLT5kYXRhID0gTlVMTDsKQEAgLTI2OCw2ICsyNjksNyBAQAogCWludCByZWFkaW5nID0gcnFfZGF0YV9kaXIocnEpID09IFJFQUQ7CiAJaW50IGRvX2NvcHkgPSAwOwogCXN0cnVjdCBiaW8gKmJpbzsKKwl1bnNpZ25lZCBsb25nIHN0YWNrX21hc2sgPSB+KFRIUkVBRF9TSVpFIC0gMSk7CiAKIAlpZiAobGVuID4gKHEtPm1heF9od19zZWN0b3JzIDw8IDkpKQogCQlyZXR1cm4gLUVJTlZBTDsKQEAgLTI3OCw2ICsyODAsMTAgQEAKIAlhbGlnbm1lbnQgPSBxdWV1ZV9kbWFfYWxpZ25tZW50KHEpIHwgcS0+ZG1hX3BhZF9tYXNrOwogCWRvX2NvcHkgPSAoKGthZGRyICYgYWxpZ25tZW50KSB8fCAobGVuICYgYWxpZ25tZW50KSk7CiAKKwlpZiAoISgoa2FkZHIgJiBzdGFja19tYXNrKSBeCisJICAgICAgKCh1bnNpZ25lZCBsb25nKWN1cnJlbnQtPnN0YWNrICYgc3RhY2tfbWFzaykpKQorCQlkb19jb3B5ID0gMTsKKwogCWlmIChkb19jb3B5KQogCQliaW8gPSBiaW9fY29weV9rZXJuKHEsIGtidWYsIGxlbiwgZ2ZwX21hc2ssIHJlYWRpbmcpOwogCWVsc2UKZGlmZiAtLWdpdCBhL2Jsb2NrL2Jsay1tZXJnZS5jIGIvYmxvY2svYmxrLW1lcmdlLmMKaW5kZXggNjUxMTM2YS4uNWVmYzllNyAxMDA2NDQKLS0tIGEvYmxvY2svYmxrLW1lcmdlLmMKKysrIGIvYmxvY2svYmxrLW1lcmdlLmMKQEAgLTQ0MSw2ICs0NDEsOSBAQAogCSAgICB8fCBuZXh0LT5zcGVjaWFsKQogCQlyZXR1cm4gMDsKIAorCWlmIChibGtfaW50ZWdyaXR5X3JxKHJlcSkgIT0gYmxrX2ludGVncml0eV9ycShuZXh0KSkKKwkJcmV0dXJuIDA7CisKIAkvKgogCSAqIElmIHdlIGFyZSBhbGxvd2VkIHRvIG1lcmdlLCB0aGVuIGFwcGVuZCBiaW8gbGlzdAogCSAqIGZyb20gbmV4dCB0byBycSBhbmQgcmVsZWFzZSBuZXh0LiBtZXJnZV9yZXF1ZXN0c19mbgpkaWZmIC0tZ2l0IGEvYmxvY2svYmxrLXNldHRpbmdzLmMgYi9ibG9jay9ibGstc2V0dGluZ3MuYwppbmRleCA4ZGQ4NjQxLi5kZmM3NzAxIDEwMDY0NAotLS0gYS9ibG9jay9ibGstc2V0dGluZ3MuYworKysgYi9ibG9jay9ibGstc2V0dGluZ3MuYwpAQCAtMzAyLDExICszMDIsMTAgQEAKICAqIEBxOiAgICAgdGhlIHJlcXVlc3QgcXVldWUgZm9yIHRoZSBkZXZpY2UKICAqIEBtYXNrOiAgcGFkIG1hc2sKICAqCi0gKiBTZXQgcGFkIG1hc2suICBEaXJlY3QgSU8gcmVxdWVzdHMgYXJlIHBhZGRlZCB0byB0aGUgbWFzayBzcGVjaWZpZWQuCisgKiBTZXQgZG1hIHBhZCBtYXNrLgogICoKLSAqIEFwcGVuZGluZyBwYWQgYnVmZmVyIHRvIGEgcmVxdWVzdCBtb2RpZmllcyAtPmRhdGFfbGVuIHN1Y2ggdGhhdCBpdAotICogaW5jbHVkZXMgdGhlIHBhZCBidWZmZXIuICBUaGUgb3JpZ2luYWwgcmVxdWVzdGVkIGRhdGEgbGVuZ3RoIGNhbiBiZQotICogb2J0YWluZWQgdXNpbmcgYmxrX3JxX3Jhd19kYXRhX2xlbigpLgorICogQXBwZW5kaW5nIHBhZCBidWZmZXIgdG8gYSByZXF1ZXN0IG1vZGlmaWVzIHRoZSBsYXN0IGVudHJ5IG9mIGEKKyAqIHNjYXR0ZXIgbGlzdCBzdWNoIHRoYXQgaXQgaW5jbHVkZXMgdGhlIHBhZCBidWZmZXIuCiAgKiovCiB2b2lkIGJsa19xdWV1ZV9kbWFfcGFkKHN0cnVjdCByZXF1ZXN0X3F1ZXVlICpxLCB1bnNpZ25lZCBpbnQgbWFzaykKIHsKQEAgLTMxNSw2ICszMTQsMjMgQEAKIEVYUE9SVF9TWU1CT0woYmxrX3F1ZXVlX2RtYV9wYWQpOwogCiAvKioKKyAqIGJsa19xdWV1ZV91cGRhdGVfZG1hX3BhZCAtIHVwZGF0ZSBwYWQgbWFzaworICogQHE6ICAgICB0aGUgcmVxdWVzdCBxdWV1ZSBmb3IgdGhlIGRldmljZQorICogQG1hc2s6ICBwYWQgbWFzaworICoKKyAqIFVwZGF0ZSBkbWEgcGFkIG1hc2suCisgKgorICogQXBwZW5kaW5nIHBhZCBidWZmZXIgdG8gYSByZXF1ZXN0IG1vZGlmaWVzIHRoZSBsYXN0IGVudHJ5IG9mIGEKKyAqIHNjYXR0ZXIgbGlzdCBzdWNoIHRoYXQgaXQgaW5jbHVkZXMgdGhlIHBhZCBidWZmZXIuCisgKiovCit2b2lkIGJsa19xdWV1ZV91cGRhdGVfZG1hX3BhZChzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcSwgdW5zaWduZWQgaW50IG1hc2spCit7CisJaWYgKG1hc2sgPiBxLT5kbWFfcGFkX21hc2spCisJCXEtPmRtYV9wYWRfbWFzayA9IG1hc2s7Cit9CitFWFBPUlRfU1lNQk9MKGJsa19xdWV1ZV91cGRhdGVfZG1hX3BhZCk7CisKKy8qKgogICogYmxrX3F1ZXVlX2RtYV9kcmFpbiAtIFNldCB1cCBhIGRyYWluIGJ1ZmZlciBmb3IgZXhjZXNzIGRtYS4KICAqIEBxOiAgdGhlIHJlcXVlc3QgcXVldWUgZm9yIHRoZSBkZXZpY2UKICAqIEBkbWFfZHJhaW5fbmVlZGVkOiBmbiB3aGljaCByZXR1cm5zIG5vbi16ZXJvIGlmIGRyYWluIGlzIG5lY2Vzc2FyeQpkaWZmIC0tZ2l0IGEvYmxvY2svYmxrLmggYi9ibG9jay9ibGsuaAppbmRleCA1OTc3NmFiLi5jNzlmMzBlIDEwMDY0NAotLS0gYS9ibG9jay9ibGsuaAorKysgYi9ibG9jay9ibGsuaApAQCAtNTEsNCArNTEsMTIgQEAKIAlyZXR1cm4gcS0+bnJfY29uZ2VzdGlvbl9vZmY7CiB9CiAKKyNpZiBkZWZpbmVkKENPTkZJR19CTEtfREVWX0lOVEVHUklUWSkKKworI2RlZmluZSBycV9mb3JfZWFjaF9pbnRlZ3JpdHlfc2VnbWVudChidmwsIF9ycSwgX2l0ZXIpCQlcCisJX19ycV9mb3JfZWFjaF9iaW8oX2l0ZXIuYmlvLCBfcnEpCQkJXAorCQliaXBfZm9yX2VhY2hfdmVjKGJ2bCwgX2l0ZXIuYmlvLT5iaV9pbnRlZ3JpdHksIF9pdGVyLmkpCisKKyNlbmRpZiAvKiBCTEtfREVWX0lOVEVHUklUWSAqLworCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2Jsb2NrL2Jsa3RyYWNlLmMgYi9ibG9jay9ibGt0cmFjZS5jCmluZGV4IDhkM2EyNzcuLmViOTY1MWMgMTAwNjQ0Ci0tLSBhL2Jsb2NrL2Jsa3RyYWNlLmMKKysrIGIvYmxvY2svYmxrdHJhY2UuYwpAQCAtMjQ0LDYgKzI0NCw3IEBACiBzdGF0aWMgdm9pZCBibGtfdHJhY2VfY2xlYW51cChzdHJ1Y3QgYmxrX3RyYWNlICpidCkKIHsKIAlyZWxheV9jbG9zZShidC0+cmNoYW4pOworCWRlYnVnZnNfcmVtb3ZlKGJ0LT5tc2dfZmlsZSk7CiAJZGVidWdmc19yZW1vdmUoYnQtPmRyb3BwZWRfZmlsZSk7CiAJYmxrX3JlbW92ZV90cmVlKGJ0LT5kaXIpOwogCWZyZWVfcGVyY3B1KGJ0LT5zZXF1ZW5jZSk7CkBAIC0yOTEsNiArMjkyLDQ0IEBACiAJLnJlYWQgPQkJYmxrX2Ryb3BwZWRfcmVhZCwKIH07CiAKK3N0YXRpYyBpbnQgYmxrX21zZ19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxwKQoreworCWZpbHAtPnByaXZhdGVfZGF0YSA9IGlub2RlLT5pX3ByaXZhdGU7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHNzaXplX3QgYmxrX21zZ193cml0ZShzdHJ1Y3QgZmlsZSAqZmlscCwgY29uc3QgY2hhciBfX3VzZXIgKmJ1ZmZlciwKKwkJCQlzaXplX3QgY291bnQsIGxvZmZfdCAqcHBvcykKK3sKKwljaGFyICptc2c7CisJc3RydWN0IGJsa190cmFjZSAqYnQ7CisKKwlpZiAoY291bnQgPiBCTEtfVE5fTUFYX01TRykKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwltc2cgPSBrbWFsbG9jKGNvdW50LCBHRlBfS0VSTkVMKTsKKwlpZiAobXNnID09IE5VTEwpCisJCXJldHVybiAtRU5PTUVNOworCisJaWYgKGNvcHlfZnJvbV91c2VyKG1zZywgYnVmZmVyLCBjb3VudCkpIHsKKwkJa2ZyZWUobXNnKTsKKwkJcmV0dXJuIC1FRkFVTFQ7CisJfQorCisJYnQgPSBmaWxwLT5wcml2YXRlX2RhdGE7CisJX190cmFjZV9ub3RlX21lc3NhZ2UoYnQsICIlcyIsIG1zZyk7CisJa2ZyZWUobXNnKTsKKworCXJldHVybiBjb3VudDsKK30KKworc3RhdGljIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgYmxrX21zZ19mb3BzID0geworCS5vd25lciA9CVRISVNfTU9EVUxFLAorCS5vcGVuID0JCWJsa19tc2dfb3BlbiwKKwkud3JpdGUgPQlibGtfbXNnX3dyaXRlLAorfTsKKwogLyoKICAqIEtlZXAgdHJhY2sgb2YgaG93IG1hbnkgdGltZXMgd2UgZW5jb3VudGVyZWQgYSBmdWxsIHN1YmJ1ZmZlciwgdG8gYWlkCiAgKiB0aGUgdXNlciBzcGFjZSBhcHAgaW4gdGVsbGluZyBob3cgbWFueSBsb3N0IGV2ZW50cyB0aGVyZSB3ZXJlLgpAQCAtMzgwLDYgKzQxOSwxMCBAQAogCWlmICghYnQtPmRyb3BwZWRfZmlsZSkKIAkJZ290byBlcnI7CiAKKwlidC0+bXNnX2ZpbGUgPSBkZWJ1Z2ZzX2NyZWF0ZV9maWxlKCJtc2ciLCAwMjIyLCBkaXIsIGJ0LCAmYmxrX21zZ19mb3BzKTsKKwlpZiAoIWJ0LT5tc2dfZmlsZSkKKwkJZ290byBlcnI7CisKIAlidC0+cmNoYW4gPSByZWxheV9vcGVuKCJ0cmFjZSIsIGRpciwgYnV0cy0+YnVmX3NpemUsCiAJCQkJYnV0cy0+YnVmX25yLCAmYmxrX3JlbGF5X2NhbGxiYWNrcywgYnQpOwogCWlmICghYnQtPnJjaGFuKQpAQCAtNDA5LDYgKzQ1Miw4IEBACiAJaWYgKGRpcikKIAkJYmxrX3JlbW92ZV90cmVlKGRpcik7CiAJaWYgKGJ0KSB7CisJCWlmIChidC0+bXNnX2ZpbGUpCisJCQlkZWJ1Z2ZzX3JlbW92ZShidC0+bXNnX2ZpbGUpOwogCQlpZiAoYnQtPmRyb3BwZWRfZmlsZSkKIAkJCWRlYnVnZnNfcmVtb3ZlKGJ0LT5kcm9wcGVkX2ZpbGUpOwogCQlmcmVlX3BlcmNwdShidC0+c2VxdWVuY2UpOwpkaWZmIC0tZ2l0IGEvYmxvY2svYnNnLmMgYi9ibG9jay9ic2cuYwppbmRleCBmMGI3Y2QzLi4wYjNiMjgyIDEwMDY0NAotLS0gYS9ibG9jay9ic2cuYworKysgYi9ibG9jay9ic2cuYwpAQCAtMTksNiArMTksNyBAQAogI2luY2x1ZGUgPGxpbnV4L3Vpby5oPgogI2luY2x1ZGUgPGxpbnV4L2lkci5oPgogI2luY2x1ZGUgPGxpbnV4L2JzZy5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICNpbmNsdWRlIDxzY3NpL3Njc2kuaD4KICNpbmNsdWRlIDxzY3NpL3Njc2lfaW9jdGwuaD4KQEAgLTQ0LDExICs0NSwxMiBAQAogCWNoYXIgbmFtZVtCVVNfSURfU0laRV07CiAJaW50IG1heF9xdWV1ZTsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOworCXN0cnVjdCBibGtfc2NzaV9jbWRfZmlsdGVyICpjbWRfZmlsdGVyOworCW1vZGVfdCAqZl9tb2RlOwogfTsKIAogZW51bSB7CiAJQlNHX0ZfQkxPQ0sJCT0gMSwKLQlCU0dfRl9XUklURV9QRVJNCT0gMiwKIH07CiAKICNkZWZpbmUgQlNHX0RFRkFVTFRfQ01EUwk2NApAQCAtMTcyLDcgKzE3NCw3IEBACiB9CiAKIHN0YXRpYyBpbnQgYmxrX2ZpbGxfc2d2NF9oZHJfcnEoc3RydWN0IHJlcXVlc3RfcXVldWUgKnEsIHN0cnVjdCByZXF1ZXN0ICpycSwKLQkJCQlzdHJ1Y3Qgc2dfaW9fdjQgKmhkciwgaW50IGhhc193cml0ZV9wZXJtKQorCQkJCXN0cnVjdCBzZ19pb192NCAqaGRyLCBzdHJ1Y3QgYnNnX2RldmljZSAqYmQpCiB7CiAJaWYgKGhkci0+cmVxdWVzdF9sZW4gPiBCTEtfTUFYX0NEQikgewogCQlycS0+Y21kID0ga3phbGxvYyhoZHItPnJlcXVlc3RfbGVuLCBHRlBfS0VSTkVMKTsKQEAgLTE4NSw3ICsxODcsOCBAQAogCQlyZXR1cm4gLUVGQVVMVDsKIAogCWlmIChoZHItPnN1YnByb3RvY29sID09IEJTR19TVUJfUFJPVE9DT0xfU0NTSV9DTUQpIHsKLQkJaWYgKGJsa192ZXJpZnlfY29tbWFuZChycS0+Y21kLCBoYXNfd3JpdGVfcGVybSkpCisJCWlmIChibGtfY21kX2ZpbHRlcl92ZXJpZnlfY29tbWFuZChiZC0+Y21kX2ZpbHRlciwgcnEtPmNtZCwKKwkJCQkJCSBiZC0+Zl9tb2RlKSkKIAkJCXJldHVybiAtRVBFUk07CiAJfSBlbHNlIGlmICghY2FwYWJsZShDQVBfU1lTX1JBV0lPKSkKIAkJcmV0dXJuIC1FUEVSTTsKQEAgLTI2Myw4ICsyNjYsNyBAQAogCXJxID0gYmxrX2dldF9yZXF1ZXN0KHEsIHJ3LCBHRlBfS0VSTkVMKTsKIAlpZiAoIXJxKQogCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsKLQlyZXQgPSBibGtfZmlsbF9zZ3Y0X2hkcl9ycShxLCBycSwgaGRyLCB0ZXN0X2JpdChCU0dfRl9XUklURV9QRVJNLAotCQkJCQkJICAgICAgICZiZC0+ZmxhZ3MpKTsKKwlyZXQgPSBibGtfZmlsbF9zZ3Y0X2hkcl9ycShxLCBycSwgaGRyLCBiZCk7CiAJaWYgKHJldCkKIAkJZ290byBvdXQ7CiAKQEAgLTU2NiwxMiArNTY4LDIzIEBACiAJCXNldF9iaXQoQlNHX0ZfQkxPQ0ssICZiZC0+ZmxhZ3MpOwogfQogCi1zdGF0aWMgaW5saW5lIHZvaWQgYnNnX3NldF93cml0ZV9wZXJtKHN0cnVjdCBic2dfZGV2aWNlICpiZCwgc3RydWN0IGZpbGUgKmZpbGUpCitzdGF0aWMgdm9pZCBic2dfc2V0X2NtZF9maWx0ZXIoc3RydWN0IGJzZ19kZXZpY2UgKmJkLAorCQkJICAgc3RydWN0IGZpbGUgKmZpbGUpCiB7Ci0JaWYgKGZpbGUtPmZfbW9kZSAmIEZNT0RFX1dSSVRFKQotCQlzZXRfYml0KEJTR19GX1dSSVRFX1BFUk0sICZiZC0+ZmxhZ3MpOwotCWVsc2UKLQkJY2xlYXJfYml0KEJTR19GX1dSSVRFX1BFUk0sICZiZC0+ZmxhZ3MpOworCXN0cnVjdCBpbm9kZSAqaW5vZGU7CisJc3RydWN0IGdlbmRpc2sgKmRpc2s7CisKKwlpZiAoIWZpbGUpCisJCXJldHVybjsKKworCWlub2RlID0gZmlsZS0+Zl9kZW50cnktPmRfaW5vZGU7CisJaWYgKCFpbm9kZSkKKwkJcmV0dXJuOworCisJZGlzayA9IGlub2RlLT5pX2JkZXYtPmJkX2Rpc2s7CisKKwliZC0+Y21kX2ZpbHRlciA9ICZkaXNrLT5jbWRfZmlsdGVyOworCWJkLT5mX21vZGUgPSAmZmlsZS0+Zl9tb2RlOwogfQogCiAvKgpAQCAtNTk1LDYgKzYwOCw4IEBACiAJZHByaW50aygiJXM6IHJlYWQgJVpkIGJ5dGVzXG4iLCBiZC0+bmFtZSwgY291bnQpOwogCiAJYnNnX3NldF9ibG9jayhiZCwgZmlsZSk7CisJYnNnX3NldF9jbWRfZmlsdGVyKGJkLCBmaWxlKTsKKwogCWJ5dGVzX3JlYWQgPSAwOwogCXJldCA9IF9fYnNnX3JlYWQoYnVmLCBjb3VudCwgYmQsIE5VTEwsICZieXRlc19yZWFkKTsKIAkqcHBvcyA9IGJ5dGVzX3JlYWQ7CkBAIC02NjgsNyArNjgzLDcgQEAKIAlkcHJpbnRrKCIlczogd3JpdGUgJVpkIGJ5dGVzXG4iLCBiZC0+bmFtZSwgY291bnQpOwogCiAJYnNnX3NldF9ibG9jayhiZCwgZmlsZSk7Ci0JYnNnX3NldF93cml0ZV9wZXJtKGJkLCBmaWxlKTsKKwlic2dfc2V0X2NtZF9maWx0ZXIoYmQsIGZpbGUpOwogCiAJYnl0ZXNfd3JpdHRlbiA9IDA7CiAJcmV0ID0gX19ic2dfd3JpdGUoYmQsIGJ1ZiwgY291bnQsICZieXRlc193cml0dGVuKTsKQEAgLTcwOSwxMSArNzI0LDEyIEBACiB7CiAJc3RydWN0IGJzZ19jbGFzc19kZXZpY2UgKmJjZCA9CiAJCWNvbnRhaW5lcl9vZihrcmVmLCBzdHJ1Y3QgYnNnX2NsYXNzX2RldmljZSwgcmVmKTsKKwlzdHJ1Y3QgZGV2aWNlICpwYXJlbnQgPSBiY2QtPnBhcmVudDsKIAogCWlmIChiY2QtPnJlbGVhc2UpCiAJCWJjZC0+cmVsZWFzZShiY2QtPnBhcmVudCk7CiAKLQlwdXRfZGV2aWNlKGJjZC0+cGFyZW50KTsKKwlwdXRfZGV2aWNlKHBhcmVudCk7CiB9CiAKIHN0YXRpYyBpbnQgYnNnX3B1dF9kZXZpY2Uoc3RydWN0IGJzZ19kZXZpY2UgKmJkKQpAQCAtNzcxLDcgKzc4Nyw5IEBACiAJfQogCiAJYmQtPnF1ZXVlID0gcnE7CisKIAlic2dfc2V0X2Jsb2NrKGJkLCBmaWxlKTsKKwlic2dfc2V0X2NtZF9maWx0ZXIoYmQsIGZpbGUpOwogCiAJYXRvbWljX3NldCgmYmQtPnJlZl9jb3VudCwgMSk7CiAJbXV0ZXhfbG9jaygmYnNnX211dGV4KTsKQEAgLTgzNCw3ICs4NTIsMTEgQEAKIAogc3RhdGljIGludCBic2dfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKLQlzdHJ1Y3QgYnNnX2RldmljZSAqYmQgPSBic2dfZ2V0X2RldmljZShpbm9kZSwgZmlsZSk7CisJc3RydWN0IGJzZ19kZXZpY2UgKmJkOworCisJbG9ja19rZXJuZWwoKTsKKwliZCA9IGJzZ19nZXRfZGV2aWNlKGlub2RlLCBmaWxlKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAKIAlpZiAoSVNfRVJSKGJkKSkKIAkJcmV0dXJuIFBUUl9FUlIoYmQpOwpkaWZmIC0tZ2l0IGEvYmxvY2svY2ZxLWlvc2NoZWQuYyBiL2Jsb2NrL2NmcS1pb3NjaGVkLmMKaW5kZXggZDAxYjQxMS4uMWUyYWZmOCAxMDA2NDQKLS0tIGEvYmxvY2svY2ZxLWlvc2NoZWQuYworKysgYi9ibG9jay9jZnEtaW9zY2hlZC5jCkBAIC0xMSw2ICsxMSw3IEBACiAjaW5jbHVkZSA8bGludXgvZWxldmF0b3IuaD4KICNpbmNsdWRlIDxsaW51eC9yYnRyZWUuaD4KICNpbmNsdWRlIDxsaW51eC9pb3ByaW8uaD4KKyNpbmNsdWRlIDxsaW51eC9ibGt0cmFjZV9hcGkuaD4KIAogLyoKICAqIHR1bmFibGVzCkBAIC00MSwxMyArNDIsMTQgQEAKIAogI2RlZmluZSBSUV9DSUMocnEpCQlcCiAJKChzdHJ1Y3QgY2ZxX2lvX2NvbnRleHQgKikgKHJxKS0+ZWxldmF0b3JfcHJpdmF0ZSkKLSNkZWZpbmUgUlFfQ0ZRUShycSkJCSgocnEpLT5lbGV2YXRvcl9wcml2YXRlMikKKyNkZWZpbmUgUlFfQ0ZRUShycSkJCShzdHJ1Y3QgY2ZxX3F1ZXVlICopICgocnEpLT5lbGV2YXRvcl9wcml2YXRlMikKIAogc3RhdGljIHN0cnVjdCBrbWVtX2NhY2hlICpjZnFfcG9vbDsKIHN0YXRpYyBzdHJ1Y3Qga21lbV9jYWNoZSAqY2ZxX2lvY19wb29sOwogCiBzdGF0aWMgREVGSU5FX1BFUl9DUFUodW5zaWduZWQgbG9uZywgaW9jX2NvdW50KTsKIHN0YXRpYyBzdHJ1Y3QgY29tcGxldGlvbiAqaW9jX2dvbmU7CitzdGF0aWMgREVGSU5FX1NQSU5MT0NLKGlvY19nb25lX2xvY2spOwogCiAjZGVmaW5lIENGUV9QUklPX0xJU1RTCQlJT1BSSU9fQkVfTlIKICNkZWZpbmUgY2ZxX2NsYXNzX2lkbGUoY2ZxcSkJKChjZnFxKS0+aW9wcmlvX2NsYXNzID09IElPUFJJT19DTEFTU19JRExFKQpAQCAtMTU1LDYgKzE1Nyw3IEBACiAJdW5zaWduZWQgc2hvcnQgaW9wcmlvLCBvcmdfaW9wcmlvOwogCXVuc2lnbmVkIHNob3J0IGlvcHJpb19jbGFzcywgb3JnX2lvcHJpb19jbGFzczsKIAorCXBpZF90IHBpZDsKIH07CiAKIGVudW0gY2ZxcV9zdGF0ZV9mbGFncyB7CkBAIC0xOTgsNiArMjAxLDExIEBACiBDRlFfQ0ZRUV9GTlMoc3luYyk7CiAjdW5kZWYgQ0ZRX0NGUVFfRk5TCiAKKyNkZWZpbmUgY2ZxX2xvZ19jZnFxKGNmcWQsIGNmcXEsIGZtdCwgYXJncy4uLikJXAorCWJsa19hZGRfdHJhY2VfbXNnKChjZnFkKS0+cXVldWUsICJjZnElZCAiIGZtdCwgKGNmcXEpLT5waWQsICMjYXJncykKKyNkZWZpbmUgY2ZxX2xvZyhjZnFkLCBmbXQsIGFyZ3MuLi4pCVwKKwlibGtfYWRkX3RyYWNlX21zZygoY2ZxZCktPnF1ZXVlLCAiY2ZxICIgZm10LCAjI2FyZ3MpCisKIHN0YXRpYyB2b2lkIGNmcV9kaXNwYXRjaF9pbnNlcnQoc3RydWN0IHJlcXVlc3RfcXVldWUgKiwgc3RydWN0IHJlcXVlc3QgKik7CiBzdGF0aWMgc3RydWN0IGNmcV9xdWV1ZSAqY2ZxX2dldF9xdWV1ZShzdHJ1Y3QgY2ZxX2RhdGEgKiwgaW50LAogCQkJCSAgICAgICBzdHJ1Y3QgaW9fY29udGV4dCAqLCBnZnBfdCk7CkBAIC0yMzQsOCArMjQyLDEwIEBACiAgKi8KIHN0YXRpYyBpbmxpbmUgdm9pZCBjZnFfc2NoZWR1bGVfZGlzcGF0Y2goc3RydWN0IGNmcV9kYXRhICpjZnFkKQogewotCWlmIChjZnFkLT5idXN5X3F1ZXVlcykKKwlpZiAoY2ZxZC0+YnVzeV9xdWV1ZXMpIHsKKwkJY2ZxX2xvZyhjZnFkLCAic2NoZWR1bGUgZGlzcGF0Y2giKTsKIAkJa2Jsb2NrZF9zY2hlZHVsZV93b3JrKCZjZnFkLT51bnBsdWdfd29yayk7CisJfQogfQogCiBzdGF0aWMgaW50IGNmcV9xdWV1ZV9lbXB0eShzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcSkKQEAgLTI3MCw2ICsyODAsNyBAQAogY2ZxX3NldF9wcmlvX3NsaWNlKHN0cnVjdCBjZnFfZGF0YSAqY2ZxZCwgc3RydWN0IGNmcV9xdWV1ZSAqY2ZxcSkKIHsKIAljZnFxLT5zbGljZV9lbmQgPSBjZnFfcHJpb190b19zbGljZShjZnFkLCBjZnFxKSArIGppZmZpZXM7CisJY2ZxX2xvZ19jZnFxKGNmcWQsIGNmcXEsICJzZXRfc2xpY2U9JWx1IiwgY2ZxcS0+c2xpY2VfZW5kIC0gamlmZmllcyk7CiB9CiAKIC8qCkBAIC01MzksNiArNTUwLDcgQEAKICAqLwogc3RhdGljIHZvaWQgY2ZxX2FkZF9jZnFxX3JyKHN0cnVjdCBjZnFfZGF0YSAqY2ZxZCwgc3RydWN0IGNmcV9xdWV1ZSAqY2ZxcSkKIHsKKwljZnFfbG9nX2NmcXEoY2ZxZCwgY2ZxcSwgImFkZF90b19yciIpOwogCUJVR19PTihjZnFfY2ZxcV9vbl9ycihjZnFxKSk7CiAJY2ZxX21hcmtfY2ZxcV9vbl9ycihjZnFxKTsKIAljZnFkLT5idXN5X3F1ZXVlcysrOwpAQCAtNTUyLDYgKzU2NCw3IEBACiAgKi8KIHN0YXRpYyB2b2lkIGNmcV9kZWxfY2ZxcV9ycihzdHJ1Y3QgY2ZxX2RhdGEgKmNmcWQsIHN0cnVjdCBjZnFfcXVldWUgKmNmcXEpCiB7CisJY2ZxX2xvZ19jZnFxKGNmcWQsIGNmcXEsICJkZWxfZnJvbV9yciIpOwogCUJVR19PTighY2ZxX2NmcXFfb25fcnIoY2ZxcSkpOwogCWNmcV9jbGVhcl9jZnFxX29uX3JyKGNmcXEpOwogCkBAIC02MzgsNiArNjUxLDggQEAKIAlzdHJ1Y3QgY2ZxX2RhdGEgKmNmcWQgPSBxLT5lbGV2YXRvci0+ZWxldmF0b3JfZGF0YTsKIAogCWNmcWQtPnJxX2luX2RyaXZlcisrOworCWNmcV9sb2dfY2ZxcShjZnFkLCBSUV9DRlFRKHJxKSwgImFjdGl2YXRlIHJxLCBkcnY9JWQiLAorCQkJCQkJY2ZxZC0+cnFfaW5fZHJpdmVyKTsKIAogCS8qCiAJICogSWYgdGhlIGRlcHRoIGlzIGxhcmdlciAxLCBpdCByZWFsbHkgY291bGQgYmUgcXVldWVpbmcuIEJ1dCBsZXRzCkBAIC02NTcsNiArNjcyLDggQEAKIAogCVdBUk5fT04oIWNmcWQtPnJxX2luX2RyaXZlcik7CiAJY2ZxZC0+cnFfaW5fZHJpdmVyLS07CisJY2ZxX2xvZ19jZnFxKGNmcWQsIFJRX0NGUVEocnEpLCAiZGVhY3RpdmF0ZSBycSwgZHJ2PSVkIiwKKwkJCQkJCWNmcWQtPnJxX2luX2RyaXZlcik7CiB9CiAKIHN0YXRpYyB2b2lkIGNmcV9yZW1vdmVfcmVxdWVzdChzdHJ1Y3QgcmVxdWVzdCAqcnEpCkBAIC03NDYsNiArNzYzLDcgQEAKIAkJCQkgICBzdHJ1Y3QgY2ZxX3F1ZXVlICpjZnFxKQogewogCWlmIChjZnFxKSB7CisJCWNmcV9sb2dfY2ZxcShjZnFkLCBjZnFxLCAic2V0X2FjdGl2ZSIpOwogCQljZnFxLT5zbGljZV9lbmQgPSAwOwogCQljZnFfY2xlYXJfY2ZxcV9tdXN0X2FsbG9jX3NsaWNlKGNmcXEpOwogCQljZnFfY2xlYXJfY2ZxcV9maWZvX2V4cGlyZShjZnFxKTsKQEAgLTc2Myw2ICs3ODEsOCBAQAogX19jZnFfc2xpY2VfZXhwaXJlZChzdHJ1Y3QgY2ZxX2RhdGEgKmNmcWQsIHN0cnVjdCBjZnFfcXVldWUgKmNmcXEsCiAJCSAgICBpbnQgdGltZWRfb3V0KQogeworCWNmcV9sb2dfY2ZxcShjZnFkLCBjZnFxLCAic2xpY2UgZXhwaXJlZCB0PSVkIiwgdGltZWRfb3V0KTsKKwogCWlmIChjZnFfY2ZxcV93YWl0X3JlcXVlc3QoY2ZxcSkpCiAJCWRlbF90aW1lcigmY2ZxZC0+aWRsZV9zbGljZV90aW1lcik7CiAKQEAgLTc3Miw4ICs3OTIsMTAgQEAKIAkvKgogCSAqIHN0b3JlIHdoYXQgd2FzIGxlZnQgb2YgdGhpcyBzbGljZSwgaWYgdGhlIHF1ZXVlIGlkbGVkL3RpbWVkIG91dAogCSAqLwotCWlmICh0aW1lZF9vdXQgJiYgIWNmcV9jZnFxX3NsaWNlX25ldyhjZnFxKSkKKwlpZiAodGltZWRfb3V0ICYmICFjZnFfY2ZxcV9zbGljZV9uZXcoY2ZxcSkpIHsKIAkJY2ZxcS0+c2xpY2VfcmVzaWQgPSBjZnFxLT5zbGljZV9lbmQgLSBqaWZmaWVzOworCQljZnFfbG9nX2NmcXEoY2ZxZCwgY2ZxcSwgInJlc2lkPSVsZCIsIGNmcXEtPnNsaWNlX3Jlc2lkKTsKKwl9CiAKIAljZnFfcmVzb3J0X3JyX2xpc3QoY2ZxZCwgY2ZxcSk7CiAKQEAgLTg2Niw2ICs4ODgsMTIgQEAKIAkJcmV0dXJuOwogCiAJLyoKKwkgKiBzdGlsbCByZXF1ZXN0cyB3aXRoIHRoZSBkcml2ZXIsIGRvbid0IGlkbGUKKwkgKi8KKwlpZiAoY2ZxZC0+cnFfaW5fZHJpdmVyKQorCQlyZXR1cm47CisKKwkvKgogCSAqIHRhc2sgaGFzIGV4aXRlZCwgZG9uJ3Qgd2FpdAogCSAqLwogCWNpYyA9IGNmcWQtPmFjdGl2ZV9jaWM7CkBAIC04OTIsNiArOTIwLDcgQEAKIAkJc2wgPSBtaW4oc2wsIG1zZWNzX3RvX2ppZmZpZXMoQ0ZRX01JTl9UVCkpOwogCiAJbW9kX3RpbWVyKCZjZnFkLT5pZGxlX3NsaWNlX3RpbWVyLCBqaWZmaWVzICsgc2wpOworCWNmcV9sb2coY2ZxZCwgImFybV9pZGxlOiAlbHUiLCBzbCk7CiB9CiAKIC8qCkBAIC05MDIsNiArOTMxLDggQEAKIAlzdHJ1Y3QgY2ZxX2RhdGEgKmNmcWQgPSBxLT5lbGV2YXRvci0+ZWxldmF0b3JfZGF0YTsKIAlzdHJ1Y3QgY2ZxX3F1ZXVlICpjZnFxID0gUlFfQ0ZRUShycSk7CiAKKwljZnFfbG9nX2NmcXEoY2ZxZCwgY2ZxcSwgImRpc3BhdGNoX2luc2VydCIpOworCiAJY2ZxX3JlbW92ZV9yZXF1ZXN0KHJxKTsKIAljZnFxLT5kaXNwYXRjaGVkKys7CiAJZWx2X2Rpc3BhdGNoX3NvcnQocSwgcnEpOwpAQCAtOTMxLDggKzk2Miw5IEBACiAJcnEgPSBycV9lbnRyeV9maWZvKGNmcXEtPmZpZm8ubmV4dCk7CiAKIAlpZiAodGltZV9iZWZvcmUoamlmZmllcywgcnEtPnN0YXJ0X3RpbWUgKyBjZnFkLT5jZnFfZmlmb19leHBpcmVbZmlmb10pKQotCQlyZXR1cm4gTlVMTDsKKwkJcnEgPSBOVUxMOwogCisJY2ZxX2xvZ19jZnFxKGNmcWQsIGNmcXEsICJmaWZvPSVwIiwgcnEpOwogCXJldHVybiBycTsKIH0KIApAQCAtMTA3Miw2ICsxMTA0LDcgQEAKIAogCUJVR19PTihjZnFkLT5idXN5X3F1ZXVlcyk7CiAKKwljZnFfbG9nKGNmcWQsICJmb3JjZWRfZGlzcGF0Y2g9JWRcbiIsIGRpc3BhdGNoZWQpOwogCXJldHVybiBkaXNwYXRjaGVkOwogfQogCkBAIC0xMTEyLDYgKzExNDUsNyBAQAogCQlkaXNwYXRjaGVkICs9IF9fY2ZxX2Rpc3BhdGNoX3JlcXVlc3RzKGNmcWQsIGNmcXEsIG1heF9kaXNwYXRjaCk7CiAJfQogCisJY2ZxX2xvZyhjZnFkLCAiZGlzcGF0Y2hlZD0lZCIsIGRpc3BhdGNoZWQpOwogCXJldHVybiBkaXNwYXRjaGVkOwogfQogCkBAIC0xMTMwLDYgKzExNjQsNyBAQAogCWlmICghYXRvbWljX2RlY19hbmRfdGVzdCgmY2ZxcS0+cmVmKSkKIAkJcmV0dXJuOwogCisJY2ZxX2xvZ19jZnFxKGNmcWQsIGNmcXEsICJwdXRfcXVldWUiKTsKIAlCVUdfT04ocmJfZmlyc3QoJmNmcXEtPnNvcnRfbGlzdCkpOwogCUJVR19PTihjZnFxLT5hbGxvY2F0ZWRbUkVBRF0gKyBjZnFxLT5hbGxvY2F0ZWRbV1JJVEVdKTsKIAlCVUdfT04oY2ZxX2NmcXFfb25fcnIoY2ZxcSkpOwpAQCAtMTE3Nyw4ICsxMjEyLDE5IEBACiAJa21lbV9jYWNoZV9mcmVlKGNmcV9pb2NfcG9vbCwgY2ljKTsKIAllbHZfaW9jX2NvdW50X2RlYyhpb2NfY291bnQpOwogCi0JaWYgKGlvY19nb25lICYmICFlbHZfaW9jX2NvdW50X3JlYWQoaW9jX2NvdW50KSkKLQkJY29tcGxldGUoaW9jX2dvbmUpOworCWlmIChpb2NfZ29uZSkgeworCQkvKgorCQkgKiBDRlEgc2NoZWR1bGVyIGlzIGV4aXRpbmcsIGdyYWIgZXhpdCBsb2NrIGFuZCBjaGVjaworCQkgKiB0aGUgcGVuZGluZyBpbyBjb250ZXh0IGNvdW50LiBJZiBpdCBoaXRzIHplcm8sCisJCSAqIGNvbXBsZXRlIGlvY19nb25lIGFuZCBzZXQgaXQgYmFjayB0byBOVUxMCisJCSAqLworCQlzcGluX2xvY2soJmlvY19nb25lX2xvY2spOworCQlpZiAoaW9jX2dvbmUgJiYgIWVsdl9pb2NfY291bnRfcmVhZChpb2NfY291bnQpKSB7CisJCQljb21wbGV0ZShpb2NfZ29uZSk7CisJCQlpb2NfZ29uZSA9IE5VTEw7CisJCX0KKwkJc3Bpbl91bmxvY2soJmlvY19nb25lX2xvY2spOworCX0KIH0KIAogc3RhdGljIHZvaWQgY2ZxX2NpY19mcmVlKHN0cnVjdCBjZnFfaW9fY29udGV4dCAqY2ljKQpAQCAtMTQyNyw2ICsxNDczLDggQEAKIAkJCQljZnFfbWFya19jZnFxX2lkbGVfd2luZG93KGNmcXEpOwogCQkJY2ZxX21hcmtfY2ZxcV9zeW5jKGNmcXEpOwogCQl9CisJCWNmcXEtPnBpZCA9IGN1cnJlbnQtPnBpZDsKKwkJY2ZxX2xvZ19jZnFxKGNmcWQsIGNmcXEsICJhbGxvY2VkIik7CiAJfQogCiAJaWYgKG5ld19jZnFxKQpAQCAtMTY3NSw3ICsxNzIzLDcgQEAKIGNmcV91cGRhdGVfaWRsZV93aW5kb3coc3RydWN0IGNmcV9kYXRhICpjZnFkLCBzdHJ1Y3QgY2ZxX3F1ZXVlICpjZnFxLAogCQkgICAgICAgc3RydWN0IGNmcV9pb19jb250ZXh0ICpjaWMpCiB7Ci0JaW50IGVuYWJsZV9pZGxlOworCWludCBvbGRfaWRsZSwgZW5hYmxlX2lkbGU7CiAKIAkvKgogCSAqIERvbid0IGlkbGUgZm9yIGFzeW5jIG9yIGlkbGUgaW8gcHJpbyBjbGFzcwpAQCAtMTY4Myw3ICsxNzMxLDcgQEAKIAlpZiAoIWNmcV9jZnFxX3N5bmMoY2ZxcSkgfHwgY2ZxX2NsYXNzX2lkbGUoY2ZxcSkpCiAJCXJldHVybjsKIAotCWVuYWJsZV9pZGxlID0gY2ZxX2NmcXFfaWRsZV93aW5kb3coY2ZxcSk7CisJZW5hYmxlX2lkbGUgPSBvbGRfaWRsZSA9IGNmcV9jZnFxX2lkbGVfd2luZG93KGNmcXEpOwogCiAJaWYgKCFhdG9taWNfcmVhZCgmY2ljLT5pb2MtPm5yX3Rhc2tzKSB8fCAhY2ZxZC0+Y2ZxX3NsaWNlX2lkbGUgfHwKIAkgICAgKGNmcWQtPmh3X3RhZyAmJiBDSUNfU0VFS1koY2ljKSkpCkBAIC0xNjk1LDEwICsxNzQzLDEzIEBACiAJCQllbmFibGVfaWRsZSA9IDE7CiAJfQogCi0JaWYgKGVuYWJsZV9pZGxlKQotCQljZnFfbWFya19jZnFxX2lkbGVfd2luZG93KGNmcXEpOwotCWVsc2UKLQkJY2ZxX2NsZWFyX2NmcXFfaWRsZV93aW5kb3coY2ZxcSk7CisJaWYgKG9sZF9pZGxlICE9IGVuYWJsZV9pZGxlKSB7CisJCWNmcV9sb2dfY2ZxcShjZnFkLCBjZnFxLCAiaWRsZT0lZCIsIGVuYWJsZV9pZGxlKTsKKwkJaWYgKGVuYWJsZV9pZGxlKQorCQkJY2ZxX21hcmtfY2ZxcV9pZGxlX3dpbmRvdyhjZnFxKTsKKwkJZWxzZQorCQkJY2ZxX2NsZWFyX2NmcXFfaWRsZV93aW5kb3coY2ZxcSk7CisJfQogfQogCiAvKgpAQCAtMTc1Nyw2ICsxODA4LDcgQEAKICAqLwogc3RhdGljIHZvaWQgY2ZxX3ByZWVtcHRfcXVldWUoc3RydWN0IGNmcV9kYXRhICpjZnFkLCBzdHJ1Y3QgY2ZxX3F1ZXVlICpjZnFxKQogeworCWNmcV9sb2dfY2ZxcShjZnFkLCBjZnFxLCAicHJlZW1wdCIpOwogCWNmcV9zbGljZV9leHBpcmVkKGNmcWQsIDEpOwogCiAJLyoKQEAgLTE4MTgsNiArMTg3MCw3IEBACiAJc3RydWN0IGNmcV9kYXRhICpjZnFkID0gcS0+ZWxldmF0b3ItPmVsZXZhdG9yX2RhdGE7CiAJc3RydWN0IGNmcV9xdWV1ZSAqY2ZxcSA9IFJRX0NGUVEocnEpOwogCisJY2ZxX2xvZ19jZnFxKGNmcWQsIGNmcXEsICJpbnNlcnRfcmVxdWVzdCIpOwogCWNmcV9pbml0X3ByaW9fZGF0YShjZnFxLCBSUV9DSUMocnEpLT5pb2MpOwogCiAJY2ZxX2FkZF9ycV9yYihycSk7CkBAIC0xODM1LDYgKzE4ODgsNyBAQAogCXVuc2lnbmVkIGxvbmcgbm93OwogCiAJbm93ID0gamlmZmllczsKKwljZnFfbG9nX2NmcXEoY2ZxZCwgY2ZxcSwgImNvbXBsZXRlIik7CiAKIAlXQVJOX09OKCFjZnFkLT5ycV9pbl9kcml2ZXIpOwogCVdBUk5fT04oIWNmcXEtPmRpc3BhdGNoZWQpOwpAQCAtMjAwNCw2ICsyMDU4LDcgQEAKIAogCWNmcV9zY2hlZHVsZV9kaXNwYXRjaChjZnFkKTsKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKHEtPnF1ZXVlX2xvY2ssIGZsYWdzKTsKKwljZnFfbG9nKGNmcWQsICJzZXRfcmVxdWVzdCBmYWlsIik7CiAJcmV0dXJuIDE7CiB9CiAKQEAgLTIwMjksNiArMjA4NCw4IEBACiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAlpbnQgdGltZWRfb3V0ID0gMTsKIAorCWNmcV9sb2coY2ZxZCwgImlkbGUgdGltZXIgZmlyZWQiKTsKKwogCXNwaW5fbG9ja19pcnFzYXZlKGNmcWQtPnF1ZXVlLT5xdWV1ZV9sb2NrLCBmbGFncyk7CiAKIAljZnFxID0gY2ZxZC0+YWN0aXZlX3F1ZXVlOwpAQCAtMjMxNyw3ICsyMzc0LDcgQEAKIAkgKiBwZW5kaW5nIFJDVSBjYWxsYmFja3MKIAkgKi8KIAlpZiAoZWx2X2lvY19jb3VudF9yZWFkKGlvY19jb3VudCkpCi0JCXdhaXRfZm9yX2NvbXBsZXRpb24oaW9jX2dvbmUpOworCQl3YWl0X2Zvcl9jb21wbGV0aW9uKCZhbGxfZ29uZSk7CiAJY2ZxX3NsYWJfa2lsbCgpOwogfQogCmRpZmYgLS1naXQgYS9ibG9jay9jbWQtZmlsdGVyLmMgYi9ibG9jay9jbWQtZmlsdGVyLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWVjNDQwNAotLS0gL2Rldi9udWxsCisrKyBiL2Jsb2NrL2NtZC1maWx0ZXIuYwpAQCAtMCwwICsxLDMzNCBAQAorLyoKKyAqIENvcHlyaWdodCAyMDA0IFBldGVyIE0uIEpvbmVzIDxwam9uZXNAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnMKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtCisgKgorICovCisKKyNpbmNsdWRlIDxsaW51eC9saXN0Lmg+CisjaW5jbHVkZSA8bGludXgvZ2VuaGQuaD4KKyNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgorI2luY2x1ZGUgPGxpbnV4L3BhcnNlci5oPgorI2luY2x1ZGUgPGxpbnV4L2NhcGFiaWxpdHkuaD4KKyNpbmNsdWRlIDxsaW51eC9iaXRvcHMuaD4KKworI2luY2x1ZGUgPHNjc2kvc2NzaS5oPgorI2luY2x1ZGUgPGxpbnV4L2Nkcm9tLmg+CisKK2ludCBibGtfY21kX2ZpbHRlcl92ZXJpZnlfY29tbWFuZChzdHJ1Y3QgYmxrX3Njc2lfY21kX2ZpbHRlciAqZmlsdGVyLAorCQkJCSAgdW5zaWduZWQgY2hhciAqY21kLCBtb2RlX3QgKmZfbW9kZSkKK3sKKwkvKiByb290IGNhbiBkbyBhbnkgY29tbWFuZC4gKi8KKwlpZiAoY2FwYWJsZShDQVBfU1lTX1JBV0lPKSkKKwkJcmV0dXJuIDA7CisKKwkvKiBpZiB0aGVyZSdzIG5vIGZpbHRlciBzZXQsIGFzc3VtZSB3ZSdyZSBmaWx0ZXJpbmcgZXZlcnl0aGluZyBvdXQgKi8KKwlpZiAoIWZpbHRlcikKKwkJcmV0dXJuIC1FUEVSTTsKKworCS8qIEFueWJvZHkgd2hvIGNhbiBvcGVuIHRoZSBkZXZpY2UgY2FuIGRvIGEgcmVhZC1zYWZlIGNvbW1hbmQgKi8KKwlpZiAodGVzdF9iaXQoY21kWzBdLCBmaWx0ZXItPnJlYWRfb2spKQorCQlyZXR1cm4gMDsKKworCS8qIFdyaXRlLXNhZmUgY29tbWFuZHMgcmVxdWlyZSBhIHdyaXRhYmxlIG9wZW4gKi8KKwlpZiAodGVzdF9iaXQoY21kWzBdLCBmaWx0ZXItPndyaXRlX29rKSAmJiAoKmZfbW9kZSAmIEZNT0RFX1dSSVRFKSkKKwkJcmV0dXJuIDA7CisKKwlyZXR1cm4gLUVQRVJNOworfQorRVhQT1JUX1NZTUJPTChibGtfY21kX2ZpbHRlcl92ZXJpZnlfY29tbWFuZCk7CisKK2ludCBibGtfdmVyaWZ5X2NvbW1hbmQoc3RydWN0IGZpbGUgKmZpbGUsIHVuc2lnbmVkIGNoYXIgKmNtZCkKK3sKKwlzdHJ1Y3QgZ2VuZGlzayAqZGlzazsKKwlzdHJ1Y3QgaW5vZGUgKmlub2RlOworCisJaWYgKCFmaWxlKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWlub2RlID0gZmlsZS0+Zl9kZW50cnktPmRfaW5vZGU7CisJaWYgKCFpbm9kZSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlkaXNrID0gaW5vZGUtPmlfYmRldi0+YmRfZGlzazsKKworCXJldHVybiBibGtfY21kX2ZpbHRlcl92ZXJpZnlfY29tbWFuZCgmZGlzay0+Y21kX2ZpbHRlciwKKwkJCQkJCSBjbWQsICZmaWxlLT5mX21vZGUpOworfQorRVhQT1JUX1NZTUJPTChibGtfdmVyaWZ5X2NvbW1hbmQpOworCisvKiBhbmQgbm93LCB0aGUgc3lzZnMgc3R1ZmYgKi8KK3N0YXRpYyBzc2l6ZV90IHJjZl9jbWRzX3Nob3coc3RydWN0IGJsa19zY3NpX2NtZF9maWx0ZXIgKmZpbHRlciwgY2hhciAqcGFnZSwKKwkJCSAgICAgaW50IHJ3KQoreworCWNoYXIgKm5wYWdlID0gcGFnZTsKKwl1bnNpZ25lZCBsb25nICpva2JpdHM7CisJaW50IGk7CisKKwlpZiAocncgPT0gUkVBRCkKKwkJb2tiaXRzID0gZmlsdGVyLT5yZWFkX29rOworCWVsc2UKKwkJb2tiaXRzID0gZmlsdGVyLT53cml0ZV9vazsKKworCWZvciAoaSA9IDA7IGkgPCBCTEtfU0NTSV9NQVhfQ01EUzsgaSsrKSB7CisJCWlmICh0ZXN0X2JpdChpLCBva2JpdHMpKSB7CisJCQlzcHJpbnRmKG5wYWdlLCAiJTAyeCIsIGkpOworCQkJbnBhZ2UgKz0gMjsKKwkJCWlmIChpIDwgQkxLX1NDU0lfTUFYX0NNRFMgLSAxKQorCQkJCXNwcmludGYobnBhZ2UrKywgIiAiKTsKKwkJfQorCX0KKworCWlmIChucGFnZSAhPSBwYWdlKQorCQlucGFnZSArPSBzcHJpbnRmKG5wYWdlLCAiXG4iKTsKKworCXJldHVybiBucGFnZSAtIHBhZ2U7Cit9CisKK3N0YXRpYyBzc2l6ZV90IHJjZl9yZWFkY21kc19zaG93KHN0cnVjdCBibGtfc2NzaV9jbWRfZmlsdGVyICpmaWx0ZXIsIGNoYXIgKnBhZ2UpCit7CisJcmV0dXJuIHJjZl9jbWRzX3Nob3coZmlsdGVyLCBwYWdlLCBSRUFEKTsKK30KKworc3RhdGljIHNzaXplX3QgcmNmX3dyaXRlY21kc19zaG93KHN0cnVjdCBibGtfc2NzaV9jbWRfZmlsdGVyICpmaWx0ZXIsCisJCQkJIGNoYXIgKnBhZ2UpCit7CisJcmV0dXJuIHJjZl9jbWRzX3Nob3coZmlsdGVyLCBwYWdlLCBXUklURSk7Cit9CisKK3N0YXRpYyBzc2l6ZV90IHJjZl9jbWRzX3N0b3JlKHN0cnVjdCBibGtfc2NzaV9jbWRfZmlsdGVyICpmaWx0ZXIsCisJCQkgICAgICBjb25zdCBjaGFyICpwYWdlLCBzaXplX3QgY291bnQsIGludCBydykKK3sKKwlzc2l6ZV90IHJldCA9IDA7CisJdW5zaWduZWQgbG9uZyBva2JpdHNbQkxLX1NDU0lfQ01EX1BFUl9MT05HXSwgKnRhcmdldF9va2JpdHM7CisJaW50IGNtZCwgc3RhdHVzLCBsZW47CisJc3Vic3RyaW5nX3Qgc3M7CisKKwltZW1zZXQoJm9rYml0cywgMCwgc2l6ZW9mKG9rYml0cykpOworCisJZm9yIChsZW4gPSBzdHJsZW4ocGFnZSk7IGxlbiA+IDA7IGxlbiAtPSAzKSB7CisJCWlmIChsZW4gPCAyKQorCQkJYnJlYWs7CisJCXNzLmZyb20gPSAoY2hhciAqKSBwYWdlICsgcmV0OworCQlzcy50byA9IChjaGFyICopIHBhZ2UgKyByZXQgKyAyOworCQlyZXQgKz0gMzsKKwkJc3RhdHVzID0gbWF0Y2hfaGV4KCZzcywgJmNtZCk7CisJCS8qIGVpdGhlciBvZiB0aGVzZSBjYXNlcyBtZWFucyBpbnZhbGlkIGlucHV0LCBzbyBkbyBub3RoaW5nLiAqLworCQlpZiAoc3RhdHVzIHx8IGNtZCA+PSBCTEtfU0NTSV9NQVhfQ01EUykKKwkJCXJldHVybiAtRUlOVkFMOworCisJCV9fc2V0X2JpdChjbWQsIG9rYml0cyk7CisJfQorCisJaWYgKHJ3ID09IFJFQUQpCisJCXRhcmdldF9va2JpdHMgPSBmaWx0ZXItPnJlYWRfb2s7CisJZWxzZQorCQl0YXJnZXRfb2tiaXRzID0gZmlsdGVyLT53cml0ZV9vazsKKworCW1lbW1vdmUodGFyZ2V0X29rYml0cywgb2tiaXRzLCBzaXplb2Yob2tiaXRzKSk7CisJcmV0dXJuIGNvdW50OworfQorCitzdGF0aWMgc3NpemVfdCByY2ZfcmVhZGNtZHNfc3RvcmUoc3RydWN0IGJsa19zY3NpX2NtZF9maWx0ZXIgKmZpbHRlciwKKwkJCQkgIGNvbnN0IGNoYXIgKnBhZ2UsIHNpemVfdCBjb3VudCkKK3sKKwlyZXR1cm4gcmNmX2NtZHNfc3RvcmUoZmlsdGVyLCBwYWdlLCBjb3VudCwgUkVBRCk7Cit9CisKK3N0YXRpYyBzc2l6ZV90IHJjZl93cml0ZWNtZHNfc3RvcmUoc3RydWN0IGJsa19zY3NpX2NtZF9maWx0ZXIgKmZpbHRlciwKKwkJCQkgICBjb25zdCBjaGFyICpwYWdlLCBzaXplX3QgY291bnQpCit7CisJcmV0dXJuIHJjZl9jbWRzX3N0b3JlKGZpbHRlciwgcGFnZSwgY291bnQsIFdSSVRFKTsKK30KKworc3RydWN0IHJjZl9zeXNmc19lbnRyeSB7CisJc3RydWN0IGF0dHJpYnV0ZSBhdHRyOworCXNzaXplX3QgKCpzaG93KShzdHJ1Y3QgYmxrX3Njc2lfY21kX2ZpbHRlciAqLCBjaGFyICopOworCXNzaXplX3QgKCpzdG9yZSkoc3RydWN0IGJsa19zY3NpX2NtZF9maWx0ZXIgKiwgY29uc3QgY2hhciAqLCBzaXplX3QpOworfTsKKworc3RhdGljIHN0cnVjdCByY2Zfc3lzZnNfZW50cnkgcmNmX3JlYWRjbWRzX2VudHJ5ID0geworCS5hdHRyID0geyAubmFtZSA9ICJyZWFkX3RhYmxlIiwgLm1vZGUgPSBTX0lSVUdPIHwgU19JV1VTUiB9LAorCS5zaG93ID0gcmNmX3JlYWRjbWRzX3Nob3csCisJLnN0b3JlID0gcmNmX3JlYWRjbWRzX3N0b3JlLAorfTsKKworc3RhdGljIHN0cnVjdCByY2Zfc3lzZnNfZW50cnkgcmNmX3dyaXRlY21kc19lbnRyeSA9IHsKKwkuYXR0ciA9IHsubmFtZSA9ICJ3cml0ZV90YWJsZSIsIC5tb2RlID0gU19JUlVHTyB8IFNfSVdVU1IgfSwKKwkuc2hvdyA9IHJjZl93cml0ZWNtZHNfc2hvdywKKwkuc3RvcmUgPSByY2Zfd3JpdGVjbWRzX3N0b3JlLAorfTsKKworc3RhdGljIHN0cnVjdCBhdHRyaWJ1dGUgKmRlZmF1bHRfYXR0cnNbXSA9IHsKKwkmcmNmX3JlYWRjbWRzX2VudHJ5LmF0dHIsCisJJnJjZl93cml0ZWNtZHNfZW50cnkuYXR0ciwKKwlOVUxMLAorfTsKKworI2RlZmluZSB0b19yY2YoYXRyKSBjb250YWluZXJfb2YoKGF0ciksIHN0cnVjdCByY2Zfc3lzZnNfZW50cnksIGF0dHIpCisKK3N0YXRpYyBzc2l6ZV90CityY2ZfYXR0cl9zaG93KHN0cnVjdCBrb2JqZWN0ICprb2JqLCBzdHJ1Y3QgYXR0cmlidXRlICphdHRyLCBjaGFyICpwYWdlKQoreworCXN0cnVjdCByY2Zfc3lzZnNfZW50cnkgKmVudHJ5ID0gdG9fcmNmKGF0dHIpOworCXN0cnVjdCBibGtfc2NzaV9jbWRfZmlsdGVyICpmaWx0ZXI7CisKKwlmaWx0ZXIgPSBjb250YWluZXJfb2Yoa29iaiwgc3RydWN0IGJsa19zY3NpX2NtZF9maWx0ZXIsIGtvYmopOworCWlmIChlbnRyeS0+c2hvdykKKwkJcmV0dXJuIGVudHJ5LT5zaG93KGZpbHRlciwgcGFnZSk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHNzaXplX3QKK3JjZl9hdHRyX3N0b3JlKHN0cnVjdCBrb2JqZWN0ICprb2JqLCBzdHJ1Y3QgYXR0cmlidXRlICphdHRyLAorCQkJY29uc3QgY2hhciAqcGFnZSwgc2l6ZV90IGxlbmd0aCkKK3sKKwlzdHJ1Y3QgcmNmX3N5c2ZzX2VudHJ5ICplbnRyeSA9IHRvX3JjZihhdHRyKTsKKwlzdHJ1Y3QgYmxrX3Njc2lfY21kX2ZpbHRlciAqZmlsdGVyOworCisJaWYgKCFjYXBhYmxlKENBUF9TWVNfUkFXSU8pKQorCQlyZXR1cm4gLUVQRVJNOworCisJaWYgKCFlbnRyeS0+c3RvcmUpCisJCXJldHVybiAtRUlOVkFMOworCisJZmlsdGVyID0gY29udGFpbmVyX29mKGtvYmosIHN0cnVjdCBibGtfc2NzaV9jbWRfZmlsdGVyLCBrb2JqKTsKKwlyZXR1cm4gZW50cnktPnN0b3JlKGZpbHRlciwgcGFnZSwgbGVuZ3RoKTsKK30KKworc3RhdGljIHN0cnVjdCBzeXNmc19vcHMgcmNmX3N5c2ZzX29wcyA9IHsKKwkuc2hvdyA9IHJjZl9hdHRyX3Nob3csCisJLnN0b3JlID0gcmNmX2F0dHJfc3RvcmUsCit9OworCitzdGF0aWMgc3RydWN0IGtvYmpfdHlwZSByY2Zfa3R5cGUgPSB7CisJLnN5c2ZzX29wcyA9ICZyY2Zfc3lzZnNfb3BzLAorCS5kZWZhdWx0X2F0dHJzID0gZGVmYXVsdF9hdHRycywKK307CisKKyNpZm5kZWYgTUFJTlRFTkFOQ0VfSU5fQ01ECisjZGVmaW5lIE1BSU5URU5BTkNFX0lOX0NNRCAweGEzCisjZW5kaWYKKworc3RhdGljIHZvaWQgcmNmX3NldF9kZWZhdWx0cyhzdHJ1Y3QgYmxrX3Njc2lfY21kX2ZpbHRlciAqZmlsdGVyKQoreworCS8qIEJhc2ljIHJlYWQtb25seSBjb21tYW5kcyAqLworCV9fc2V0X2JpdChURVNUX1VOSVRfUkVBRFksIGZpbHRlci0+cmVhZF9vayk7CisJX19zZXRfYml0KFJFUVVFU1RfU0VOU0UsIGZpbHRlci0+cmVhZF9vayk7CisJX19zZXRfYml0KFJFQURfNiwgZmlsdGVyLT5yZWFkX29rKTsKKwlfX3NldF9iaXQoUkVBRF8xMCwgZmlsdGVyLT5yZWFkX29rKTsKKwlfX3NldF9iaXQoUkVBRF8xMiwgZmlsdGVyLT5yZWFkX29rKTsKKwlfX3NldF9iaXQoUkVBRF8xNiwgZmlsdGVyLT5yZWFkX29rKTsKKwlfX3NldF9iaXQoUkVBRF9CVUZGRVIsIGZpbHRlci0+cmVhZF9vayk7CisJX19zZXRfYml0KFJFQURfREVGRUNUX0RBVEEsIGZpbHRlci0+cmVhZF9vayk7CisJX19zZXRfYml0KFJFQURfQ0FQQUNJVFksIGZpbHRlci0+cmVhZF9vayk7CisJX19zZXRfYml0KFJFQURfTE9ORywgZmlsdGVyLT5yZWFkX29rKTsKKwlfX3NldF9iaXQoSU5RVUlSWSwgZmlsdGVyLT5yZWFkX29rKTsKKwlfX3NldF9iaXQoTU9ERV9TRU5TRSwgZmlsdGVyLT5yZWFkX29rKTsKKwlfX3NldF9iaXQoTU9ERV9TRU5TRV8xMCwgZmlsdGVyLT5yZWFkX29rKTsKKwlfX3NldF9iaXQoTE9HX1NFTlNFLCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChTVEFSVF9TVE9QLCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChHUENNRF9WRVJJRllfMTAsIGZpbHRlci0+cmVhZF9vayk7CisJX19zZXRfYml0KFZFUklGWV8xNiwgZmlsdGVyLT5yZWFkX29rKTsKKwlfX3NldF9iaXQoUkVQT1JUX0xVTlMsIGZpbHRlci0+cmVhZF9vayk7CisJX19zZXRfYml0KFNFUlZJQ0VfQUNUSU9OX0lOLCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChSRUNFSVZFX0RJQUdOT1NUSUMsIGZpbHRlci0+cmVhZF9vayk7CisJX19zZXRfYml0KE1BSU5URU5BTkNFX0lOX0NNRCwgZmlsdGVyLT5yZWFkX29rKTsKKwlfX3NldF9iaXQoR1BDTURfUkVBRF9CVUZGRVJfQ0FQQUNJVFksIGZpbHRlci0+cmVhZF9vayk7CisKKwkvKiBBdWRpbyBDRCBjb21tYW5kcyAqLworCV9fc2V0X2JpdChHUENNRF9QTEFZX0NELCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChHUENNRF9QTEFZX0FVRElPXzEwLCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChHUENNRF9QTEFZX0FVRElPX01TRiwgZmlsdGVyLT5yZWFkX29rKTsKKwlfX3NldF9iaXQoR1BDTURfUExBWV9BVURJT19USSwgZmlsdGVyLT5yZWFkX29rKTsKKwlfX3NldF9iaXQoR1BDTURfUEFVU0VfUkVTVU1FLCBmaWx0ZXItPnJlYWRfb2spOworCisJLyogQ0QvRFZEIGRhdGEgcmVhZGluZyAqLworCV9fc2V0X2JpdChHUENNRF9SRUFEX0NELCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChHUENNRF9SRUFEX0NEX01TRiwgZmlsdGVyLT5yZWFkX29rKTsKKwlfX3NldF9iaXQoR1BDTURfUkVBRF9ESVNDX0lORk8sIGZpbHRlci0+cmVhZF9vayk7CisJX19zZXRfYml0KEdQQ01EX1JFQURfQ0RWRF9DQVBBQ0lUWSwgZmlsdGVyLT5yZWFkX29rKTsKKwlfX3NldF9iaXQoR1BDTURfUkVBRF9EVkRfU1RSVUNUVVJFLCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChHUENNRF9SRUFEX0hFQURFUiwgZmlsdGVyLT5yZWFkX29rKTsKKwlfX3NldF9iaXQoR1BDTURfUkVBRF9UUkFDS19SWk9ORV9JTkZPLCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChHUENNRF9SRUFEX1NVQkNIQU5ORUwsIGZpbHRlci0+cmVhZF9vayk7CisJX19zZXRfYml0KEdQQ01EX1JFQURfVE9DX1BNQV9BVElQLCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChHUENNRF9SRVBPUlRfS0VZLCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChHUENNRF9TQ0FOLCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChHUENNRF9HRVRfQ09ORklHVVJBVElPTiwgZmlsdGVyLT5yZWFkX29rKTsKKwlfX3NldF9iaXQoR1BDTURfUkVBRF9GT1JNQVRfQ0FQQUNJVElFUywgZmlsdGVyLT5yZWFkX29rKTsKKwlfX3NldF9iaXQoR1BDTURfR0VUX0VWRU5UX1NUQVRVU19OT1RJRklDQVRJT04sIGZpbHRlci0+cmVhZF9vayk7CisJX19zZXRfYml0KEdQQ01EX0dFVF9QRVJGT1JNQU5DRSwgZmlsdGVyLT5yZWFkX29rKTsKKwlfX3NldF9iaXQoR1BDTURfU0VFSywgZmlsdGVyLT5yZWFkX29rKTsKKwlfX3NldF9iaXQoR1BDTURfU1RPUF9QTEFZX1NDQU4sIGZpbHRlci0+cmVhZF9vayk7CisKKwkvKiBCYXNpYyB3cml0aW5nIGNvbW1hbmRzICovCisJX19zZXRfYml0KFdSSVRFXzYsIGZpbHRlci0+d3JpdGVfb2spOworCV9fc2V0X2JpdChXUklURV8xMCwgZmlsdGVyLT53cml0ZV9vayk7CisJX19zZXRfYml0KFdSSVRFX1ZFUklGWSwgZmlsdGVyLT53cml0ZV9vayk7CisJX19zZXRfYml0KFdSSVRFXzEyLCBmaWx0ZXItPndyaXRlX29rKTsKKwlfX3NldF9iaXQoV1JJVEVfVkVSSUZZXzEyLCBmaWx0ZXItPndyaXRlX29rKTsKKwlfX3NldF9iaXQoV1JJVEVfMTYsIGZpbHRlci0+d3JpdGVfb2spOworCV9fc2V0X2JpdChXUklURV9MT05HLCBmaWx0ZXItPndyaXRlX29rKTsKKwlfX3NldF9iaXQoV1JJVEVfTE9OR18yLCBmaWx0ZXItPndyaXRlX29rKTsKKwlfX3NldF9iaXQoRVJBU0UsIGZpbHRlci0+d3JpdGVfb2spOworCV9fc2V0X2JpdChHUENNRF9NT0RFX1NFTEVDVF8xMCwgZmlsdGVyLT53cml0ZV9vayk7CisJX19zZXRfYml0KE1PREVfU0VMRUNULCBmaWx0ZXItPndyaXRlX29rKTsKKwlfX3NldF9iaXQoTE9HX1NFTEVDVCwgZmlsdGVyLT53cml0ZV9vayk7CisJX19zZXRfYml0KEdQQ01EX0JMQU5LLCBmaWx0ZXItPndyaXRlX29rKTsKKwlfX3NldF9iaXQoR1BDTURfQ0xPU0VfVFJBQ0ssIGZpbHRlci0+d3JpdGVfb2spOworCV9fc2V0X2JpdChHUENNRF9GTFVTSF9DQUNIRSwgZmlsdGVyLT53cml0ZV9vayk7CisJX19zZXRfYml0KEdQQ01EX0ZPUk1BVF9VTklULCBmaWx0ZXItPndyaXRlX29rKTsKKwlfX3NldF9iaXQoR1BDTURfUkVQQUlSX1JaT05FX1RSQUNLLCBmaWx0ZXItPndyaXRlX29rKTsKKwlfX3NldF9iaXQoR1BDTURfUkVTRVJWRV9SWk9ORV9UUkFDSywgZmlsdGVyLT53cml0ZV9vayk7CisJX19zZXRfYml0KEdQQ01EX1NFTkRfRFZEX1NUUlVDVFVSRSwgZmlsdGVyLT53cml0ZV9vayk7CisJX19zZXRfYml0KEdQQ01EX1NFTkRfRVZFTlQsIGZpbHRlci0+d3JpdGVfb2spOworCV9fc2V0X2JpdChHUENNRF9TRU5EX0tFWSwgZmlsdGVyLT53cml0ZV9vayk7CisJX19zZXRfYml0KEdQQ01EX1NFTkRfT1BDLCBmaWx0ZXItPndyaXRlX29rKTsKKwlfX3NldF9iaXQoR1BDTURfU0VORF9DVUVfU0hFRVQsIGZpbHRlci0+d3JpdGVfb2spOworCV9fc2V0X2JpdChHUENNRF9TRVRfU1BFRUQsIGZpbHRlci0+d3JpdGVfb2spOworCV9fc2V0X2JpdChHUENNRF9QUkVWRU5UX0FMTE9XX01FRElVTV9SRU1PVkFMLCBmaWx0ZXItPndyaXRlX29rKTsKKwlfX3NldF9iaXQoR1BDTURfTE9BRF9VTkxPQUQsIGZpbHRlci0+d3JpdGVfb2spOworCV9fc2V0X2JpdChHUENNRF9TRVRfU1RSRUFNSU5HLCBmaWx0ZXItPndyaXRlX29rKTsKK30KKworaW50IGJsa19yZWdpc3Rlcl9maWx0ZXIoc3RydWN0IGdlbmRpc2sgKmRpc2spCit7CisJaW50IHJldDsKKwlzdHJ1Y3QgYmxrX3Njc2lfY21kX2ZpbHRlciAqZmlsdGVyID0gJmRpc2stPmNtZF9maWx0ZXI7CisJc3RydWN0IGtvYmplY3QgKnBhcmVudCA9IGtvYmplY3RfZ2V0KGRpc2stPmhvbGRlcl9kaXItPnBhcmVudCk7CisKKwlpZiAoIXBhcmVudCkKKwkJcmV0dXJuIC1FTk9ERVY7CisKKwlyZXQgPSBrb2JqZWN0X2luaXRfYW5kX2FkZCgmZmlsdGVyLT5rb2JqLCAmcmNmX2t0eXBlLCBwYXJlbnQsCisJCQkJICIlcyIsICJjbWRfZmlsdGVyIik7CisKKwlpZiAocmV0IDwgMCkKKwkJcmV0dXJuIHJldDsKKworCXJjZl9zZXRfZGVmYXVsdHMoZmlsdGVyKTsKKwlyZXR1cm4gMDsKK30KKwordm9pZCBibGtfdW5yZWdpc3Rlcl9maWx0ZXIoc3RydWN0IGdlbmRpc2sgKmRpc2spCit7CisJc3RydWN0IGJsa19zY3NpX2NtZF9maWx0ZXIgKmZpbHRlciA9ICZkaXNrLT5jbWRfZmlsdGVyOworCisJa29iamVjdF9wdXQoJmZpbHRlci0+a29iaik7CisJa29iamVjdF9wdXQoZGlzay0+aG9sZGVyX2Rpci0+cGFyZW50KTsKK30KKwpkaWZmIC0tZ2l0IGEvYmxvY2svZWxldmF0b3IuYyBiL2Jsb2NrL2VsZXZhdG9yLmMKaW5kZXggOTAyZGQxMy4uZWQ2ZjhmMyAxMDA2NDQKLS0tIGEvYmxvY2svZWxldmF0b3IuYworKysgYi9ibG9jay9lbGV2YXRvci5jCkBAIC04Niw2ICs4NiwxMiBAQAogCWlmIChycS0+cnFfZGlzayAhPSBiaW8tPmJpX2JkZXYtPmJkX2Rpc2sgfHwgcnEtPnNwZWNpYWwpCiAJCXJldHVybiAwOwogCisJLyoKKwkgKiBvbmx5IG1lcmdlIGludGVncml0eSBwcm90ZWN0ZWQgYmlvIGludG8gZGl0dG8gcnEKKwkgKi8KKwlpZiAoYmlvX2ludGVncml0eShiaW8pICE9IGJsa19pbnRlZ3JpdHlfcnEocnEpKQorCQlyZXR1cm4gMDsKKwogCWlmICghZWx2X2lvc2NoZWRfYWxsb3dfbWVyZ2UocnEsIGJpbykpCiAJCXJldHVybiAwOwogCkBAIC0xNDQsNyArMTUwLDcgQEAKIAkJZWxzZQogCQkJc3ByaW50ZihlbHYsICIlcy1pb3NjaGVkIiwgbmFtZSk7CiAKLQkJcmVxdWVzdF9tb2R1bGUoZWx2KTsKKwkJcmVxdWVzdF9tb2R1bGUoIiVzIiwgZWx2KTsKIAkJc3Bpbl9sb2NrKCZlbHZfbGlzdF9sb2NrKTsKIAkJZSA9IGVsZXZhdG9yX2ZpbmQobmFtZSk7CiAJfQpkaWZmIC0tZ2l0IGEvYmxvY2svZ2VuaGQuYyBiL2Jsb2NrL2dlbmhkLmMKaW5kZXggYjkyMmQ0OC4uOTA3NGYzOCAxMDA2NDQKLS0tIGEvYmxvY2svZ2VuaGQuYworKysgYi9ibG9jay9nZW5oZC5jCkBAIC0xODksNiArMTg5LDcgQEAKIAkJCSAgICBkaXNrLT5taW5vcnMsIE5VTEwsIGV4YWN0X21hdGNoLCBleGFjdF9sb2NrLCBkaXNrKTsKIAlyZWdpc3Rlcl9kaXNrKGRpc2spOwogCWJsa19yZWdpc3Rlcl9xdWV1ZShkaXNrKTsKKwlibGtfcmVnaXN0ZXJfZmlsdGVyKGRpc2spOwogCiAJYmRpID0gJmRpc2stPnF1ZXVlLT5iYWNraW5nX2Rldl9pbmZvOwogCWJkaV9yZWdpc3Rlcl9kZXYoYmRpLCBNS0RFVihkaXNrLT5tYWpvciwgZGlzay0+Zmlyc3RfbWlub3IpKTsKQEAgLTIwMCw2ICsyMDEsNyBAQAogCiB2b2lkIHVubGlua19nZW5kaXNrKHN0cnVjdCBnZW5kaXNrICpkaXNrKQogeworCWJsa191bnJlZ2lzdGVyX2ZpbHRlcihkaXNrKTsKIAlzeXNmc19yZW1vdmVfbGluaygmZGlzay0+ZGV2LmtvYmosICJiZGkiKTsKIAliZGlfdW5yZWdpc3RlcigmZGlzay0+cXVldWUtPmJhY2tpbmdfZGV2X2luZm8pOwogCWJsa191bnJlZ2lzdGVyX3F1ZXVlKGRpc2spOwpAQCAtNDAwLDYgKzQwMiwxNCBAQAogCQkgICAgICAgKGRpc2stPmZsYWdzICYgR0VOSERfRkxfUkVNT1ZBQkxFID8gMSA6IDApKTsKIH0KIAorc3RhdGljIHNzaXplX3QgZGlza19yb19zaG93KHN0cnVjdCBkZXZpY2UgKmRldiwKKwkJCQkgICBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0ciwgY2hhciAqYnVmKQoreworCXN0cnVjdCBnZW5kaXNrICpkaXNrID0gZGV2X3RvX2Rpc2soZGV2KTsKKworCXJldHVybiBzcHJpbnRmKGJ1ZiwgIiVkXG4iLCBkaXNrLT5wb2xpY3kgPyAxIDogMCk7Cit9CisKIHN0YXRpYyBzc2l6ZV90IGRpc2tfc2l6ZV9zaG93KHN0cnVjdCBkZXZpY2UgKmRldiwKIAkJCSAgICAgIHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICphdHRyLCBjaGFyICpidWYpCiB7CkBAIC00NzIsNiArNDgyLDcgQEAKIAogc3RhdGljIERFVklDRV9BVFRSKHJhbmdlLCBTX0lSVUdPLCBkaXNrX3JhbmdlX3Nob3csIE5VTEwpOwogc3RhdGljIERFVklDRV9BVFRSKHJlbW92YWJsZSwgU19JUlVHTywgZGlza19yZW1vdmFibGVfc2hvdywgTlVMTCk7CitzdGF0aWMgREVWSUNFX0FUVFIocm8sIFNfSVJVR08sIGRpc2tfcm9fc2hvdywgTlVMTCk7CiBzdGF0aWMgREVWSUNFX0FUVFIoc2l6ZSwgU19JUlVHTywgZGlza19zaXplX3Nob3csIE5VTEwpOwogc3RhdGljIERFVklDRV9BVFRSKGNhcGFiaWxpdHksIFNfSVJVR08sIGRpc2tfY2FwYWJpbGl0eV9zaG93LCBOVUxMKTsKIHN0YXRpYyBERVZJQ0VfQVRUUihzdGF0LCBTX0lSVUdPLCBkaXNrX3N0YXRfc2hvdywgTlVMTCk7CkBAIC00ODMsNiArNDk0LDcgQEAKIHN0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlICpkaXNrX2F0dHJzW10gPSB7CiAJJmRldl9hdHRyX3JhbmdlLmF0dHIsCiAJJmRldl9hdHRyX3JlbW92YWJsZS5hdHRyLAorCSZkZXZfYXR0cl9yby5hdHRyLAogCSZkZXZfYXR0cl9zaXplLmF0dHIsCiAJJmRldl9hdHRyX2NhcGFiaWxpdHkuYXR0ciwKIAkmZGV2X2F0dHJfc3RhdC5hdHRyLApkaWZmIC0tZ2l0IGEvYmxvY2svc2NzaV9pb2N0bC5jIGIvYmxvY2svc2NzaV9pb2N0bC5jCmluZGV4IDc4MTk5YzAuLmM1YjliY2YgMTAwNjQ0Ci0tLSBhL2Jsb2NrL3Njc2lfaW9jdGwuYworKysgYi9ibG9jay9zY3NpX2lvY3RsLmMKQEAgLTEwNSwxMjAgKzEwNSwxMiBAQAogCXJldHVybiBwdXRfdXNlcigxLCBwKTsKIH0KIAotI2RlZmluZSBDTURfUkVBRF9TQUZFCTB4MDEKLSNkZWZpbmUgQ01EX1dSSVRFX1NBRkUJMHgwMgotI2RlZmluZSBDTURfV0FSTkVECTB4MDQKLSNkZWZpbmUgc2FmZV9mb3JfcmVhZChjbWQpCVtjbWRdID0gQ01EX1JFQURfU0FGRQotI2RlZmluZSBzYWZlX2Zvcl93cml0ZShjbWQpCVtjbWRdID0gQ01EX1dSSVRFX1NBRkUKLQotaW50IGJsa192ZXJpZnlfY29tbWFuZCh1bnNpZ25lZCBjaGFyICpjbWQsIGludCBoYXNfd3JpdGVfcGVybSkKLXsKLQlzdGF0aWMgdW5zaWduZWQgY2hhciBjbWRfdHlwZVsyNTZdID0gewotCi0JCS8qIEJhc2ljIHJlYWQtb25seSBjb21tYW5kcyAqLwotCQlzYWZlX2Zvcl9yZWFkKFRFU1RfVU5JVF9SRUFEWSksCi0JCXNhZmVfZm9yX3JlYWQoUkVRVUVTVF9TRU5TRSksCi0JCXNhZmVfZm9yX3JlYWQoUkVBRF82KSwKLQkJc2FmZV9mb3JfcmVhZChSRUFEXzEwKSwKLQkJc2FmZV9mb3JfcmVhZChSRUFEXzEyKSwKLQkJc2FmZV9mb3JfcmVhZChSRUFEXzE2KSwKLQkJc2FmZV9mb3JfcmVhZChSRUFEX0JVRkZFUiksCi0JCXNhZmVfZm9yX3JlYWQoUkVBRF9ERUZFQ1RfREFUQSksCi0JCXNhZmVfZm9yX3JlYWQoUkVBRF9MT05HKSwKLQkJc2FmZV9mb3JfcmVhZChJTlFVSVJZKSwKLQkJc2FmZV9mb3JfcmVhZChNT0RFX1NFTlNFKSwKLQkJc2FmZV9mb3JfcmVhZChNT0RFX1NFTlNFXzEwKSwKLQkJc2FmZV9mb3JfcmVhZChMT0dfU0VOU0UpLAotCQlzYWZlX2Zvcl9yZWFkKFNUQVJUX1NUT1ApLAotCQlzYWZlX2Zvcl9yZWFkKEdQQ01EX1ZFUklGWV8xMCksCi0JCXNhZmVfZm9yX3JlYWQoVkVSSUZZXzE2KSwKLQotCQkvKiBBdWRpbyBDRCBjb21tYW5kcyAqLwotCQlzYWZlX2Zvcl9yZWFkKEdQQ01EX1BMQVlfQ0QpLAotCQlzYWZlX2Zvcl9yZWFkKEdQQ01EX1BMQVlfQVVESU9fMTApLAotCQlzYWZlX2Zvcl9yZWFkKEdQQ01EX1BMQVlfQVVESU9fTVNGKSwKLQkJc2FmZV9mb3JfcmVhZChHUENNRF9QTEFZX0FVRElPX1RJKSwKLQkJc2FmZV9mb3JfcmVhZChHUENNRF9QQVVTRV9SRVNVTUUpLAotCi0JCS8qIENEL0RWRCBkYXRhIHJlYWRpbmcgKi8KLQkJc2FmZV9mb3JfcmVhZChHUENNRF9SRUFEX0JVRkZFUl9DQVBBQ0lUWSksCi0JCXNhZmVfZm9yX3JlYWQoR1BDTURfUkVBRF9DRCksCi0JCXNhZmVfZm9yX3JlYWQoR1BDTURfUkVBRF9DRF9NU0YpLAotCQlzYWZlX2Zvcl9yZWFkKEdQQ01EX1JFQURfRElTQ19JTkZPKSwKLQkJc2FmZV9mb3JfcmVhZChHUENNRF9SRUFEX0NEVkRfQ0FQQUNJVFkpLAotCQlzYWZlX2Zvcl9yZWFkKEdQQ01EX1JFQURfRFZEX1NUUlVDVFVSRSksCi0JCXNhZmVfZm9yX3JlYWQoR1BDTURfUkVBRF9IRUFERVIpLAotCQlzYWZlX2Zvcl9yZWFkKEdQQ01EX1JFQURfVFJBQ0tfUlpPTkVfSU5GTyksCi0JCXNhZmVfZm9yX3JlYWQoR1BDTURfUkVBRF9TVUJDSEFOTkVMKSwKLQkJc2FmZV9mb3JfcmVhZChHUENNRF9SRUFEX1RPQ19QTUFfQVRJUCksCi0JCXNhZmVfZm9yX3JlYWQoR1BDTURfUkVQT1JUX0tFWSksCi0JCXNhZmVfZm9yX3JlYWQoR1BDTURfU0NBTiksCi0JCXNhZmVfZm9yX3JlYWQoR1BDTURfR0VUX0NPTkZJR1VSQVRJT04pLAotCQlzYWZlX2Zvcl9yZWFkKEdQQ01EX1JFQURfRk9STUFUX0NBUEFDSVRJRVMpLAotCQlzYWZlX2Zvcl9yZWFkKEdQQ01EX0dFVF9FVkVOVF9TVEFUVVNfTk9USUZJQ0FUSU9OKSwKLQkJc2FmZV9mb3JfcmVhZChHUENNRF9HRVRfUEVSRk9STUFOQ0UpLAotCQlzYWZlX2Zvcl9yZWFkKEdQQ01EX1NFRUspLAotCQlzYWZlX2Zvcl9yZWFkKEdQQ01EX1NUT1BfUExBWV9TQ0FOKSwKLQotCQkvKiBCYXNpYyB3cml0aW5nIGNvbW1hbmRzICovCi0JCXNhZmVfZm9yX3dyaXRlKFdSSVRFXzYpLAotCQlzYWZlX2Zvcl93cml0ZShXUklURV8xMCksCi0JCXNhZmVfZm9yX3dyaXRlKFdSSVRFX1ZFUklGWSksCi0JCXNhZmVfZm9yX3dyaXRlKFdSSVRFXzEyKSwKLQkJc2FmZV9mb3Jfd3JpdGUoV1JJVEVfVkVSSUZZXzEyKSwKLQkJc2FmZV9mb3Jfd3JpdGUoV1JJVEVfMTYpLAotCQlzYWZlX2Zvcl93cml0ZShXUklURV9MT05HKSwKLQkJc2FmZV9mb3Jfd3JpdGUoV1JJVEVfTE9OR18yKSwKLQkJc2FmZV9mb3Jfd3JpdGUoRVJBU0UpLAotCQlzYWZlX2Zvcl93cml0ZShHUENNRF9NT0RFX1NFTEVDVF8xMCksCi0JCXNhZmVfZm9yX3dyaXRlKE1PREVfU0VMRUNUKSwKLQkJc2FmZV9mb3Jfd3JpdGUoTE9HX1NFTEVDVCksCi0JCXNhZmVfZm9yX3dyaXRlKEdQQ01EX0JMQU5LKSwKLQkJc2FmZV9mb3Jfd3JpdGUoR1BDTURfQ0xPU0VfVFJBQ0spLAotCQlzYWZlX2Zvcl93cml0ZShHUENNRF9GTFVTSF9DQUNIRSksCi0JCXNhZmVfZm9yX3dyaXRlKEdQQ01EX0ZPUk1BVF9VTklUKSwKLQkJc2FmZV9mb3Jfd3JpdGUoR1BDTURfUkVQQUlSX1JaT05FX1RSQUNLKSwKLQkJc2FmZV9mb3Jfd3JpdGUoR1BDTURfUkVTRVJWRV9SWk9ORV9UUkFDSyksCi0JCXNhZmVfZm9yX3dyaXRlKEdQQ01EX1NFTkRfRFZEX1NUUlVDVFVSRSksCi0JCXNhZmVfZm9yX3dyaXRlKEdQQ01EX1NFTkRfRVZFTlQpLAotCQlzYWZlX2Zvcl93cml0ZShHUENNRF9TRU5EX0tFWSksCi0JCXNhZmVfZm9yX3dyaXRlKEdQQ01EX1NFTkRfT1BDKSwKLQkJc2FmZV9mb3Jfd3JpdGUoR1BDTURfU0VORF9DVUVfU0hFRVQpLAotCQlzYWZlX2Zvcl93cml0ZShHUENNRF9TRVRfU1BFRUQpLAotCQlzYWZlX2Zvcl93cml0ZShHUENNRF9QUkVWRU5UX0FMTE9XX01FRElVTV9SRU1PVkFMKSwKLQkJc2FmZV9mb3Jfd3JpdGUoR1BDTURfTE9BRF9VTkxPQUQpLAotCQlzYWZlX2Zvcl93cml0ZShHUENNRF9TRVRfU1RSRUFNSU5HKSwKLQl9OwotCXVuc2lnbmVkIGNoYXIgdHlwZSA9IGNtZF90eXBlW2NtZFswXV07Ci0KLQkvKiBBbnlib2R5IHdobyBjYW4gb3BlbiB0aGUgZGV2aWNlIGNhbiBkbyBhIHJlYWQtc2FmZSBjb21tYW5kICovCi0JaWYgKHR5cGUgJiBDTURfUkVBRF9TQUZFKQotCQlyZXR1cm4gMDsKLQotCS8qIFdyaXRlLXNhZmUgY29tbWFuZHMganVzdCByZXF1aXJlIGEgd3JpdGFibGUgb3Blbi4uICovCi0JaWYgKCh0eXBlICYgQ01EX1dSSVRFX1NBRkUpICYmIGhhc193cml0ZV9wZXJtKQotCQlyZXR1cm4gMDsKLQotCS8qIEFuZCByb290IGNhbiBkbyBhbnkgY29tbWFuZC4uICovCi0JaWYgKGNhcGFibGUoQ0FQX1NZU19SQVdJTykpCi0JCXJldHVybiAwOwotCi0JaWYgKCF0eXBlKSB7Ci0JCWNtZF90eXBlW2NtZFswXV0gPSBDTURfV0FSTkVEOwotCQlwcmludGsoS0VSTl9XQVJOSU5HICJzY3NpOiB1bmtub3duIG9wY29kZSAweCUwMnhcbiIsIGNtZFswXSk7Ci0JfQotCi0JLyogT3RoZXJ3aXNlIGZhaWwgaXQgd2l0aCBhbiAiT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQiICovCi0JcmV0dXJuIC1FUEVSTTsKLX0KLUVYUE9SVF9TWU1CT0xfR1BMKGJsa192ZXJpZnlfY29tbWFuZCk7Ci0KIHN0YXRpYyBpbnQgYmxrX2ZpbGxfc2doZHJfcnEoc3RydWN0IHJlcXVlc3RfcXVldWUgKnEsIHN0cnVjdCByZXF1ZXN0ICpycSwKLQkJCSAgICAgc3RydWN0IHNnX2lvX2hkciAqaGRyLCBpbnQgaGFzX3dyaXRlX3Blcm0pCisJCQkgICAgIHN0cnVjdCBzZ19pb19oZHIgKmhkciwgc3RydWN0IGZpbGUgKmZpbGUpCiB7CiAJaWYgKGNvcHlfZnJvbV91c2VyKHJxLT5jbWQsIGhkci0+Y21kcCwgaGRyLT5jbWRfbGVuKSkKIAkJcmV0dXJuIC1FRkFVTFQ7Ci0JaWYgKGJsa192ZXJpZnlfY29tbWFuZChycS0+Y21kLCBoYXNfd3JpdGVfcGVybSkpCisJaWYgKGJsa192ZXJpZnlfY29tbWFuZChmaWxlLCBycS0+Y21kKSkKIAkJcmV0dXJuIC1FUEVSTTsKIAogCS8qCkBAIC0yODcsNyArMTc5LDcgQEAKIAkJc3RydWN0IGdlbmRpc2sgKmJkX2Rpc2ssIHN0cnVjdCBzZ19pb19oZHIgKmhkcikKIHsKIAl1bnNpZ25lZCBsb25nIHN0YXJ0X3RpbWU7Ci0JaW50IHdyaXRpbmcgPSAwLCByZXQgPSAwLCBoYXNfd3JpdGVfcGVybSA9IDA7CisJaW50IHdyaXRpbmcgPSAwLCByZXQgPSAwOwogCXN0cnVjdCByZXF1ZXN0ICpycTsKIAljaGFyIHNlbnNlW1NDU0lfU0VOU0VfQlVGRkVSU0laRV07CiAJc3RydWN0IGJpbyAqYmlvOwpAQCAtMzE2LDEwICsyMDgsNyBAQAogCWlmICghcnEpCiAJCXJldHVybiAtRU5PTUVNOwogCi0JaWYgKGZpbGUpCi0JCWhhc193cml0ZV9wZXJtID0gZmlsZS0+Zl9tb2RlICYgRk1PREVfV1JJVEU7Ci0KLQlpZiAoYmxrX2ZpbGxfc2doZHJfcnEocSwgcnEsIGhkciwgaGFzX3dyaXRlX3Blcm0pKSB7CisJaWYgKGJsa19maWxsX3NnaGRyX3JxKHEsIHJxLCBoZHIsIGZpbGUpKSB7CiAJCWJsa19wdXRfcmVxdWVzdChycSk7CiAJCXJldHVybiAtRUZBVUxUOwogCX0KQEAgLTQ1MSw3ICszNDAsNyBAQAogCWlmIChpbl9sZW4gJiYgY29weV9mcm9tX3VzZXIoYnVmZmVyLCBzaWMtPmRhdGEgKyBjbWRsZW4sIGluX2xlbikpCiAJCWdvdG8gZXJyb3I7CiAKLQllcnIgPSBibGtfdmVyaWZ5X2NvbW1hbmQocnEtPmNtZCwgZmlsZS0+Zl9tb2RlICYgRk1PREVfV1JJVEUpOworCWVyciA9IGJsa192ZXJpZnlfY29tbWFuZChmaWxlLCBycS0+Y21kKTsKIAlpZiAoZXJyKQogCQlnb3RvIGVycm9yOwogCmRpZmYgLS1naXQgYS9jcnlwdG8vS2NvbmZpZyBiL2NyeXB0by9LY29uZmlnCmluZGV4IDg2NDQ1NmMuLmVhNTAzNTcgMTAwNjQ0Ci0tLSBhL2NyeXB0by9LY29uZmlnCisrKyBiL2NyeXB0by9LY29uZmlnCkBAIC02NSw2ICs2NSw3IEBACiBjb25maWcgQ1JZUFRPX0NSWVBURAogCXRyaXN0YXRlICJTb2Z0d2FyZSBhc3luYyBjcnlwdG8gZGFlbW9uIgogCXNlbGVjdCBDUllQVE9fQkxLQ0lQSEVSCisJc2VsZWN0IENSWVBUT19IQVNICiAJc2VsZWN0IENSWVBUT19NQU5BR0VSCiAJaGVscAogCSAgVGhpcyBpcyBhIGdlbmVyaWMgc29mdHdhcmUgYXN5bmNocm9ub3VzIGNyeXB0byBkYWVtb24gdGhhdApAQCAtMjEyLDcgKzIxMyw3IEBACiAKIGNvbmZpZyBDUllQVE9fQ1JDMzJDCiAJdHJpc3RhdGUgIkNSQzMyYyBDUkMgYWxnb3JpdGhtIgotCXNlbGVjdCBDUllQVE9fQUxHQVBJCisJc2VsZWN0IENSWVBUT19IQVNICiAJc2VsZWN0IExJQkNSQzMyQwogCWhlbHAKIAkgIENhc3RhZ25vbGksIGV0IGFsIEN5Y2xpYyBSZWR1bmRhbmN5LUNoZWNrIEFsZ29yaXRobS4gIFVzZWQKQEAgLTI0MSw2ICsyNDIsNTcgQEAKIAkgIHNob3VsZCBub3QgYmUgdXNlZCBmb3Igb3RoZXIgcHVycG9zZXMgYmVjYXVzZSBvZiB0aGUgd2Vha25lc3MKIAkgIG9mIHRoZSBhbGdvcml0aG0uCiAKK2NvbmZpZyBDUllQVE9fUk1EMTI4CisgIHRyaXN0YXRlICJSSVBFTUQtMTI4IGRpZ2VzdCBhbGdvcml0aG0iCisgIHNlbGVjdCBDUllQVE9fQUxHQVBJCisgIGhlbHAKKyAgICBSSVBFTUQtMTI4IChJU08vSUVDIDEwMTE4LTM6MjAwNCkuCisKKyAgICBSSVBFTUQtMTI4IGlzIGEgMTI4LWJpdCBjcnlwdG9ncmFwaGljIGhhc2ggZnVuY3Rpb24uIEl0IHNob3VsZCBvbmx5CisgICAgdG8gYmUgdXNlZCBhcyBhIHNlY3VyZSByZXBsYWNlbWVudCBmb3IgUklQRU1ELiBGb3Igb3RoZXIgdXNlIGNhc2VzCisgICAgUklQRU1ELTE2MCBzaG91bGQgYmUgdXNlZC4KKworICAgIERldmVsb3BlZCBieSBIYW5zIERvYmJlcnRpbiwgQW50b29uIEJvc3NlbGFlcnMgYW5kIEJhcnQgUHJlbmVlbC4KKyAgICBTZWUgPGh0dHA6Ly9ob21lLmVzYXQua3VsZXV2ZW4uYmUvfmJvc3NlbGFlL3JpcGVtZDE2MC5odG1sPgorCitjb25maWcgQ1JZUFRPX1JNRDE2MAorICB0cmlzdGF0ZSAiUklQRU1ELTE2MCBkaWdlc3QgYWxnb3JpdGhtIgorICBzZWxlY3QgQ1JZUFRPX0FMR0FQSQorICBoZWxwCisgICAgUklQRU1ELTE2MCAoSVNPL0lFQyAxMDExOC0zOjIwMDQpLgorCisgICAgUklQRU1ELTE2MCBpcyBhIDE2MC1iaXQgY3J5cHRvZ3JhcGhpYyBoYXNoIGZ1bmN0aW9uLiBJdCBpcyBpbnRlbmRlZAorICAgIHRvIGJlIHVzZWQgYXMgYSBzZWN1cmUgcmVwbGFjZW1lbnQgZm9yIHRoZSAxMjgtYml0IGhhc2ggZnVuY3Rpb25zCisgICAgTUQ0LCBNRDUgYW5kIGl0J3MgcHJlZGVjZXNzb3IgUklQRU1EIChub3QgdG8gYmUgY29uZnVzZWQgd2l0aCBSSVBFTUQtMTI4KS4KKworICAgIEl0J3Mgc3BlZWQgaXMgY29tcGFyYWJsZSB0byBTSEExIGFuZCB0aGVyZSBhcmUgbm8ga25vd24gYXR0YWNrcyBhZ2FpbnN0CisgICAgUklQRU1ELTE2MC4KKworICAgIERldmVsb3BlZCBieSBIYW5zIERvYmJlcnRpbiwgQW50b29uIEJvc3NlbGFlcnMgYW5kIEJhcnQgUHJlbmVlbC4KKyAgICBTZWUgPGh0dHA6Ly9ob21lLmVzYXQua3VsZXV2ZW4uYmUvfmJvc3NlbGFlL3JpcGVtZDE2MC5odG1sPgorCitjb25maWcgQ1JZUFRPX1JNRDI1NgorICB0cmlzdGF0ZSAiUklQRU1ELTI1NiBkaWdlc3QgYWxnb3JpdGhtIgorICBzZWxlY3QgQ1JZUFRPX0FMR0FQSQorICBoZWxwCisgICAgUklQRU1ELTI1NiBpcyBhbiBvcHRpb25hbCBleHRlbnNpb24gb2YgUklQRU1ELTEyOCB3aXRoIGEgMjU2IGJpdCBoYXNoLgorICAgIEl0IGlzIGludGVuZGVkIGZvciBhcHBsaWNhdGlvbnMgdGhhdCByZXF1aXJlIGxvbmdlciBoYXNoLXJlc3VsdHMsIHdpdGhvdXQKKyAgICBuZWVkaW5nIGEgbGFyZ2VyIHNlY3VyaXR5IGxldmVsICh0aGFuIFJJUEVNRC0xMjgpLgorCisgICAgRGV2ZWxvcGVkIGJ5IEhhbnMgRG9iYmVydGluLCBBbnRvb24gQm9zc2VsYWVycyBhbmQgQmFydCBQcmVuZWVsLgorICAgIFNlZSA8aHR0cDovL2hvbWUuZXNhdC5rdWxldXZlbi5iZS9+Ym9zc2VsYWUvcmlwZW1kMTYwLmh0bWw+CisKK2NvbmZpZyBDUllQVE9fUk1EMzIwCisgIHRyaXN0YXRlICJSSVBFTUQtMzIwIGRpZ2VzdCBhbGdvcml0aG0iCisgIHNlbGVjdCBDUllQVE9fQUxHQVBJCisgIGhlbHAKKyAgICBSSVBFTUQtMzIwIGlzIGFuIG9wdGlvbmFsIGV4dGVuc2lvbiBvZiBSSVBFTUQtMTYwIHdpdGggYSAzMjAgYml0IGhhc2guCisgICAgSXQgaXMgaW50ZW5kZWQgZm9yIGFwcGxpY2F0aW9ucyB0aGF0IHJlcXVpcmUgbG9uZ2VyIGhhc2gtcmVzdWx0cywgd2l0aG91dAorICAgIG5lZWRpbmcgYSBsYXJnZXIgc2VjdXJpdHkgbGV2ZWwgKHRoYW4gUklQRU1ELTE2MCkuCisKKyAgICBEZXZlbG9wZWQgYnkgSGFucyBEb2JiZXJ0aW4sIEFudG9vbiBCb3NzZWxhZXJzIGFuZCBCYXJ0IFByZW5lZWwuCisgICAgU2VlIDxodHRwOi8vaG9tZS5lc2F0Lmt1bGV1dmVuLmJlL35ib3NzZWxhZS9yaXBlbWQxNjAuaHRtbD4KKwogY29uZmlnIENSWVBUT19TSEExCiAJdHJpc3RhdGUgIlNIQTEgZGlnZXN0IGFsZ29yaXRobSIKIAlzZWxlY3QgQ1JZUFRPX0FMR0FQSQpAQCAtNjE0LDYgKzY2NiwxNSBAQAogCWhlbHAKIAkgIFRoaXMgaXMgdGhlIExaTyBhbGdvcml0aG0uCiAKK2NvbW1lbnQgIlJhbmRvbSBOdW1iZXIgR2VuZXJhdGlvbiIKKworY29uZmlnIENSWVBUT19QUk5HCisJdHJpc3RhdGUgIlBzZXVkbyBSYW5kb20gTnVtYmVyIEdlbmVyYXRpb24gZm9yIENyeXB0b2dyYXBoaWMgbW9kdWxlcyIKKwloZWxwCisJICBUaGlzIG9wdGlvbiBlbmFibGVzIHRoZSBnZW5lcmljIHBzZXVkbyByYW5kb20gbnVtYmVyIGdlbmVyYXRvcgorCSAgZm9yIGNyeXB0b2dyYXBoaWMgbW9kdWxlcy4gIFVzZXMgdGhlIEFsZ29yaXRobSBzcGVjaWZpZWQgaW4KKwkgIEFOU0kgWDkuMzEgQS4yLjQKKwogc291cmNlICJkcml2ZXJzL2NyeXB0by9LY29uZmlnIgogCiBlbmRpZgkjIGlmIENSWVBUTwpkaWZmIC0tZ2l0IGEvY3J5cHRvL01ha2VmaWxlIGIvY3J5cHRvL01ha2VmaWxlCmluZGV4IGNhMDI0NDEuLmVmNjFiM2IgMTAwNjQ0Ci0tLSBhL2NyeXB0by9NYWtlZmlsZQorKysgYi9jcnlwdG8vTWFrZWZpbGUKQEAgLTE5LDYgKzE5LDcgQEAKIG9iai0kKENPTkZJR19DUllQVE9fU0VRSVYpICs9IHNlcWl2Lm8KIAogY3J5cHRvX2hhc2gtb2JqcyA6PSBoYXNoLm8KK2NyeXB0b19oYXNoLW9ianMgKz0gYWhhc2gubwogb2JqLSQoQ09ORklHX0NSWVBUT19IQVNIKSArPSBjcnlwdG9faGFzaC5vCiAKIG9iai0kKENPTkZJR19DUllQVE9fTUFOQUdFUikgKz0gY3J5cHRvbWdyLm8KQEAgLTI3LDYgKzI4LDEwIEBACiBvYmotJChDT05GSUdfQ1JZUFRPX05VTEwpICs9IGNyeXB0b19udWxsLm8KIG9iai0kKENPTkZJR19DUllQVE9fTUQ0KSArPSBtZDQubwogb2JqLSQoQ09ORklHX0NSWVBUT19NRDUpICs9IG1kNS5vCitvYmotJChDT05GSUdfQ1JZUFRPX1JNRDEyOCkgKz0gcm1kMTI4Lm8KK29iai0kKENPTkZJR19DUllQVE9fUk1EMTYwKSArPSBybWQxNjAubworb2JqLSQoQ09ORklHX0NSWVBUT19STUQyNTYpICs9IHJtZDI1Ni5vCitvYmotJChDT05GSUdfQ1JZUFRPX1JNRDMyMCkgKz0gcm1kMzIwLm8KIG9iai0kKENPTkZJR19DUllQVE9fU0hBMSkgKz0gc2hhMV9nZW5lcmljLm8KIG9iai0kKENPTkZJR19DUllQVE9fU0hBMjU2KSArPSBzaGEyNTZfZ2VuZXJpYy5vCiBvYmotJChDT05GSUdfQ1JZUFRPX1NIQTUxMikgKz0gc2hhNTEyX2dlbmVyaWMubwpAQCAtNjQsNyArNjksNyBAQAogb2JqLSQoQ09ORklHX0NSWVBUT19DUkMzMkMpICs9IGNyYzMyYy5vCiBvYmotJChDT05GSUdfQ1JZUFRPX0FVVEhFTkMpICs9IGF1dGhlbmMubwogb2JqLSQoQ09ORklHX0NSWVBUT19MWk8pICs9IGx6by5vCi0KK29iai0kKENPTkZJR19DUllQVE9fUFJORykgKz0gcHJuZy5vCiBvYmotJChDT05GSUdfQ1JZUFRPX1RFU1QpICs9IHRjcnlwdC5vCiAKICMKZGlmZiAtLWdpdCBhL2NyeXB0by9haGFzaC5jIGIvY3J5cHRvL2FoYXNoLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjcxMjhmMgotLS0gL2Rldi9udWxsCisrKyBiL2NyeXB0by9haGFzaC5jCkBAIC0wLDAgKzEsMTk0IEBACisvKgorICogQXN5bmNocm9ub3VzIENyeXB0b2dyYXBoaWMgSGFzaCBvcGVyYXRpb25zLgorICoKKyAqIFRoaXMgaXMgdGhlIGFzeW5jaHJvbm91cyB2ZXJzaW9uIG9mIGhhc2guYyB3aXRoIG5vdGlmaWNhdGlvbiBvZgorICogY29tcGxldGlvbiB2aWEgYSBjYWxsYmFjay4KKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwMDggTG9jIEhvIDxsaG9AYW1jYy5jb20+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKKyAqIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlCisgKiBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pCisgKiBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKi8KKworI2luY2x1ZGUgPGNyeXB0by9pbnRlcm5hbC9oYXNoLmg+CisjaW5jbHVkZSA8Y3J5cHRvL3NjYXR0ZXJ3YWxrLmg+CisjaW5jbHVkZSA8bGludXgvZXJyLmg+CisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KKyNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CisjaW5jbHVkZSA8bGludXgvc2VxX2ZpbGUuaD4KKworI2luY2x1ZGUgImludGVybmFsLmgiCisKK3N0YXRpYyBpbnQgaGFzaF93YWxrX25leHQoc3RydWN0IGNyeXB0b19oYXNoX3dhbGsgKndhbGspCit7CisJdW5zaWduZWQgaW50IGFsaWdubWFzayA9IHdhbGstPmFsaWdubWFzazsKKwl1bnNpZ25lZCBpbnQgb2Zmc2V0ID0gd2Fsay0+b2Zmc2V0OworCXVuc2lnbmVkIGludCBuYnl0ZXMgPSBtaW4od2Fsay0+ZW50cnlsZW4sCisJCQkJICAoKHVuc2lnbmVkIGludCkoUEFHRV9TSVpFKSkgLSBvZmZzZXQpOworCisJd2Fsay0+ZGF0YSA9IGNyeXB0b19rbWFwKHdhbGstPnBnLCAwKTsKKwl3YWxrLT5kYXRhICs9IG9mZnNldDsKKworCWlmIChvZmZzZXQgJiBhbGlnbm1hc2spCisJCW5ieXRlcyA9IGFsaWdubWFzayArIDEgLSAob2Zmc2V0ICYgYWxpZ25tYXNrKTsKKworCXdhbGstPmVudHJ5bGVuIC09IG5ieXRlczsKKwlyZXR1cm4gbmJ5dGVzOworfQorCitzdGF0aWMgaW50IGhhc2hfd2Fsa19uZXdfZW50cnkoc3RydWN0IGNyeXB0b19oYXNoX3dhbGsgKndhbGspCit7CisJc3RydWN0IHNjYXR0ZXJsaXN0ICpzZzsKKworCXNnID0gd2Fsay0+c2c7CisJd2Fsay0+cGcgPSBzZ19wYWdlKHNnKTsKKwl3YWxrLT5vZmZzZXQgPSBzZy0+b2Zmc2V0OworCXdhbGstPmVudHJ5bGVuID0gc2ctPmxlbmd0aDsKKworCWlmICh3YWxrLT5lbnRyeWxlbiA+IHdhbGstPnRvdGFsKQorCQl3YWxrLT5lbnRyeWxlbiA9IHdhbGstPnRvdGFsOworCXdhbGstPnRvdGFsIC09IHdhbGstPmVudHJ5bGVuOworCisJcmV0dXJuIGhhc2hfd2Fsa19uZXh0KHdhbGspOworfQorCitpbnQgY3J5cHRvX2hhc2hfd2Fsa19kb25lKHN0cnVjdCBjcnlwdG9faGFzaF93YWxrICp3YWxrLCBpbnQgZXJyKQoreworCXVuc2lnbmVkIGludCBhbGlnbm1hc2sgPSB3YWxrLT5hbGlnbm1hc2s7CisJdW5zaWduZWQgaW50IG5ieXRlcyA9IHdhbGstPmVudHJ5bGVuOworCisJd2Fsay0+ZGF0YSAtPSB3YWxrLT5vZmZzZXQ7CisKKwlpZiAobmJ5dGVzICYmIHdhbGstPm9mZnNldCAmIGFsaWdubWFzayAmJiAhZXJyKSB7CisJCXdhbGstPm9mZnNldCArPSBhbGlnbm1hc2sgLSAxOworCQl3YWxrLT5vZmZzZXQgPSBBTElHTih3YWxrLT5vZmZzZXQsIGFsaWdubWFzayArIDEpOworCQl3YWxrLT5kYXRhICs9IHdhbGstPm9mZnNldDsKKworCQluYnl0ZXMgPSBtaW4obmJ5dGVzLAorCQkJICAgICAoKHVuc2lnbmVkIGludCkoUEFHRV9TSVpFKSkgLSB3YWxrLT5vZmZzZXQpOworCQl3YWxrLT5lbnRyeWxlbiAtPSBuYnl0ZXM7CisKKwkJcmV0dXJuIG5ieXRlczsKKwl9CisKKwljcnlwdG9fa3VubWFwKHdhbGstPmRhdGEsIDApOworCWNyeXB0b195aWVsZCh3YWxrLT5mbGFncyk7CisKKwlpZiAoZXJyKQorCQlyZXR1cm4gZXJyOworCisJd2Fsay0+b2Zmc2V0ID0gMDsKKworCWlmIChuYnl0ZXMpCisJCXJldHVybiBoYXNoX3dhbGtfbmV4dCh3YWxrKTsKKworCWlmICghd2Fsay0+dG90YWwpCisJCXJldHVybiAwOworCisJd2Fsay0+c2cgPSBzY2F0dGVyd2Fsa19zZ19uZXh0KHdhbGstPnNnKTsKKworCXJldHVybiBoYXNoX3dhbGtfbmV3X2VudHJ5KHdhbGspOworfQorRVhQT1JUX1NZTUJPTF9HUEwoY3J5cHRvX2hhc2hfd2Fsa19kb25lKTsKKworaW50IGNyeXB0b19oYXNoX3dhbGtfZmlyc3Qoc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcSwKKwkJCSAgIHN0cnVjdCBjcnlwdG9faGFzaF93YWxrICp3YWxrKQoreworCXdhbGstPnRvdGFsID0gcmVxLT5uYnl0ZXM7CisKKwlpZiAoIXdhbGstPnRvdGFsKQorCQlyZXR1cm4gMDsKKworCXdhbGstPmFsaWdubWFzayA9IGNyeXB0b19haGFzaF9hbGlnbm1hc2soY3J5cHRvX2FoYXNoX3JlcXRmbShyZXEpKTsKKwl3YWxrLT5zZyA9IHJlcS0+c3JjOworCXdhbGstPmZsYWdzID0gcmVxLT5iYXNlLmZsYWdzOworCisJcmV0dXJuIGhhc2hfd2Fsa19uZXdfZW50cnkod2Fsayk7Cit9CitFWFBPUlRfU1lNQk9MX0dQTChjcnlwdG9faGFzaF93YWxrX2ZpcnN0KTsKKworc3RhdGljIGludCBhaGFzaF9zZXRrZXlfdW5hbGlnbmVkKHN0cnVjdCBjcnlwdG9fYWhhc2ggKnRmbSwgY29uc3QgdTggKmtleSwKKwkJCQl1bnNpZ25lZCBpbnQga2V5bGVuKQoreworCXN0cnVjdCBhaGFzaF9hbGcgKmFoYXNoID0gY3J5cHRvX2FoYXNoX2FsZyh0Zm0pOworCXVuc2lnbmVkIGxvbmcgYWxpZ25tYXNrID0gY3J5cHRvX2FoYXNoX2FsaWdubWFzayh0Zm0pOworCWludCByZXQ7CisJdTggKmJ1ZmZlciwgKmFsaWduYnVmZmVyOworCXVuc2lnbmVkIGxvbmcgYWJzaXplOworCisJYWJzaXplID0ga2V5bGVuICsgYWxpZ25tYXNrOworCWJ1ZmZlciA9IGttYWxsb2MoYWJzaXplLCBHRlBfQVRPTUlDKTsKKwlpZiAoIWJ1ZmZlcikKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlhbGlnbmJ1ZmZlciA9ICh1OCAqKUFMSUdOKCh1bnNpZ25lZCBsb25nKWJ1ZmZlciwgYWxpZ25tYXNrICsgMSk7CisJbWVtY3B5KGFsaWduYnVmZmVyLCBrZXksIGtleWxlbik7CisJcmV0ID0gYWhhc2gtPnNldGtleSh0Zm0sIGFsaWduYnVmZmVyLCBrZXlsZW4pOworCW1lbXNldChhbGlnbmJ1ZmZlciwgMCwga2V5bGVuKTsKKwlrZnJlZShidWZmZXIpOworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgYWhhc2hfc2V0a2V5KHN0cnVjdCBjcnlwdG9fYWhhc2ggKnRmbSwgY29uc3QgdTggKmtleSwKKwkJCXVuc2lnbmVkIGludCBrZXlsZW4pCit7CisJc3RydWN0IGFoYXNoX2FsZyAqYWhhc2ggPSBjcnlwdG9fYWhhc2hfYWxnKHRmbSk7CisJdW5zaWduZWQgbG9uZyBhbGlnbm1hc2sgPSBjcnlwdG9fYWhhc2hfYWxpZ25tYXNrKHRmbSk7CisKKwlpZiAoKHVuc2lnbmVkIGxvbmcpa2V5ICYgYWxpZ25tYXNrKQorCQlyZXR1cm4gYWhhc2hfc2V0a2V5X3VuYWxpZ25lZCh0Zm0sIGtleSwga2V5bGVuKTsKKworCXJldHVybiBhaGFzaC0+c2V0a2V5KHRmbSwga2V5LCBrZXlsZW4pOworfQorCitzdGF0aWMgdW5zaWduZWQgaW50IGNyeXB0b19haGFzaF9jdHhzaXplKHN0cnVjdCBjcnlwdG9fYWxnICphbGcsIHUzMiB0eXBlLAorCQkJCQl1MzIgbWFzaykKK3sKKwlyZXR1cm4gYWxnLT5jcmFfY3R4c2l6ZTsKK30KKworc3RhdGljIGludCBjcnlwdG9faW5pdF9haGFzaF9vcHMoc3RydWN0IGNyeXB0b190Zm0gKnRmbSwgdTMyIHR5cGUsIHUzMiBtYXNrKQoreworCXN0cnVjdCBhaGFzaF9hbGcgKmFsZyA9ICZ0Zm0tPl9fY3J0X2FsZy0+Y3JhX2FoYXNoOworCXN0cnVjdCBhaGFzaF90Zm0gKmNydCAgID0gJnRmbS0+Y3J0X2FoYXNoOworCisJaWYgKGFsZy0+ZGlnZXN0c2l6ZSA+IFBBR0VfU0laRSAvIDgpCisJCXJldHVybiAtRUlOVkFMOworCisJY3J0LT5pbml0ID0gYWxnLT5pbml0OworCWNydC0+dXBkYXRlID0gYWxnLT51cGRhdGU7CisJY3J0LT5maW5hbCAgPSBhbGctPmZpbmFsOworCWNydC0+ZGlnZXN0ID0gYWxnLT5kaWdlc3Q7CisJY3J0LT5zZXRrZXkgPSBhaGFzaF9zZXRrZXk7CisJY3J0LT5kaWdlc3RzaXplID0gYWxnLT5kaWdlc3RzaXplOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGNyeXB0b19haGFzaF9zaG93KHN0cnVjdCBzZXFfZmlsZSAqbSwgc3RydWN0IGNyeXB0b19hbGcgKmFsZykKKwlfX2F0dHJpYnV0ZV9fICgodW51c2VkKSk7CitzdGF0aWMgdm9pZCBjcnlwdG9fYWhhc2hfc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHN0cnVjdCBjcnlwdG9fYWxnICphbGcpCit7CisJc2VxX3ByaW50ZihtLCAidHlwZSAgICAgICAgIDogYWhhc2hcbiIpOworCXNlcV9wcmludGYobSwgImFzeW5jICAgICAgICA6ICVzXG4iLCBhbGctPmNyYV9mbGFncyAmIENSWVBUT19BTEdfQVNZTkMgPworCQkJCQkgICAgICJ5ZXMiIDogIm5vIik7CisJc2VxX3ByaW50ZihtLCAiYmxvY2tzaXplICAgIDogJXVcbiIsIGFsZy0+Y3JhX2Jsb2Nrc2l6ZSk7CisJc2VxX3ByaW50ZihtLCAiZGlnZXN0c2l6ZSAgIDogJXVcbiIsIGFsZy0+Y3JhX2hhc2guZGlnZXN0c2l6ZSk7Cit9CisKK2NvbnN0IHN0cnVjdCBjcnlwdG9fdHlwZSBjcnlwdG9fYWhhc2hfdHlwZSA9IHsKKwkuY3R4c2l6ZSA9IGNyeXB0b19haGFzaF9jdHhzaXplLAorCS5pbml0ID0gY3J5cHRvX2luaXRfYWhhc2hfb3BzLAorI2lmZGVmIENPTkZJR19QUk9DX0ZTCisJLnNob3cgPSBjcnlwdG9fYWhhc2hfc2hvdywKKyNlbmRpZgorfTsKK0VYUE9SVF9TWU1CT0xfR1BMKGNyeXB0b19haGFzaF90eXBlKTsKKworTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOworTU9EVUxFX0RFU0NSSVBUSU9OKCJBc3luY2hyb25vdXMgY3J5cHRvZ3JhcGhpYyBoYXNoIHR5cGUiKTsKZGlmZiAtLWdpdCBhL2NyeXB0by9hcGkuYyBiL2NyeXB0by9hcGkuYwppbmRleCAwYTBmNDFlLi5kMDZlMzMyIDEwMDY0NAotLS0gYS9jcnlwdG8vYXBpLmMKKysrIGIvY3J5cHRvL2FwaS5jCkBAIC0yMzUsOCArMjM1LDEyIEBACiAJCXJldHVybiBjcnlwdG9faW5pdF9jaXBoZXJfb3BzKHRmbSk7CiAJCQogCWNhc2UgQ1JZUFRPX0FMR19UWVBFX0RJR0VTVDoKLQkJcmV0dXJuIGNyeXB0b19pbml0X2RpZ2VzdF9vcHModGZtKTsKLQkJCisJCWlmICgobWFzayAmIENSWVBUT19BTEdfVFlQRV9IQVNIX01BU0spICE9CisJCSAgICBDUllQVE9fQUxHX1RZUEVfSEFTSF9NQVNLKQorCQkJcmV0dXJuIGNyeXB0b19pbml0X2RpZ2VzdF9vcHNfYXN5bmModGZtKTsKKwkJZWxzZQorCQkJcmV0dXJuIGNyeXB0b19pbml0X2RpZ2VzdF9vcHModGZtKTsKKwogCWNhc2UgQ1JZUFRPX0FMR19UWVBFX0NPTVBSRVNTOgogCQlyZXR1cm4gY3J5cHRvX2luaXRfY29tcHJlc3Nfb3BzKHRmbSk7CiAJCmRpZmYgLS1naXQgYS9jcnlwdG8vYXN5bmNfdHgvYXN5bmNfdHguYyBiL2NyeXB0by9hc3luY190eC9hc3luY190eC5jCmluZGV4IGM2ZTc3MmYuLjA5NWM3OTggMTAwNjQ0Ci0tLSBhL2NyeXB0by9hc3luY190eC9hc3luY190eC5jCisrKyBiL2NyeXB0by9hc3luY190eC9hc3luY190eC5jCkBAIC0yMyw2ICsyMyw3IEBACiAgKiA1MSBGcmFua2xpbiBTdCAtIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBLgogICoKICAqLworI2luY2x1ZGUgPGxpbnV4L3JjdWxpc3QuaD4KICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KICNpbmNsdWRlIDxsaW51eC9hc3luY190eC5oPgogCmRpZmYgLS1naXQgYS9jcnlwdG8vY2FtZWxsaWEuYyBiL2NyeXB0by9jYW1lbGxpYS5jCmluZGV4IDQ5M2ZlZTcuLmIxY2M0ZGUgMTAwNjQ0Ci0tLSBhL2NyeXB0by9jYW1lbGxpYS5jCisrKyBiL2NyeXB0by9jYW1lbGxpYS5jCkBAIC0zNSw2ICszNSw4IEBACiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2JpdG9wcy5oPgorI2luY2x1ZGUgPGFzbS91bmFsaWduZWQuaD4KIAogc3RhdGljIGNvbnN0IHUzMiBjYW1lbGxpYV9zcDExMTBbMjU2XSA9IHsKIAkweDcwNzA3MDAwLDB4ODI4MjgyMDAsMHgyYzJjMmMwMCwweGVjZWNlYzAwLApAQCAtMzM1LDIwICszMzcsNiBAQAogLyoKICAqICBtYWNyb3MKICAqLwotI2RlZmluZSBHRVRVMzIodiwgcHQpIFwKLSAgICBkbyB7IFwKLQkvKiBsYXRlc3QgYnJlZWQgb2YgZ2NjIGlzIGNsZXZlciBlbm91Z2ggdG8gdXNlIG1vdmUgKi8gXAotCW1lbWNweSgmKHYpLCAocHQpLCA0KTsgXAotCSh2KSA9IGJlMzJfdG9fY3B1KHYpOyBcCi0gICAgfSB3aGlsZSgwKQotCi0vKiByb3RhdGlvbiByaWdodCBzaGlmdCAxYnl0ZSAqLwotI2RlZmluZSBST1I4KHgpICgoKHgpID4+IDgpICsgKCh4KSA8PCAyNCkpCi0vKiByb3RhdGlvbiBsZWZ0IHNoaWZ0IDFiaXQgKi8KLSNkZWZpbmUgUk9MMSh4KSAoKCh4KSA8PCAxKSArICgoeCkgPj4gMzEpKQotLyogcm90YXRpb24gbGVmdCBzaGlmdCAxYnl0ZSAqLwotI2RlZmluZSBST0w4KHgpICgoKHgpIDw8IDgpICsgKCh4KSA+PiAyNCkpCi0KICNkZWZpbmUgUk9MRFEobGwsIGxyLCBybCwgcnIsIHcwLCB3MSwgYml0cykJCVwKICAgICBkbyB7CQkJCQkJXAogCXcwID0gbGw7CQkJCQlcCkBAIC0zODMsNyArMzcxLDcgQEAKIAkgICBeIGNhbWVsbGlhX3NwMzAzM1sodTgpKGlsID4+IDgpXQkJCVwKIAkgICBeIGNhbWVsbGlhX3NwNDQwNFsodTgpKGlsICAgICApXTsJCQlcCiAJeWwgXj0geXI7CQkJCQkJXAotCXlyID0gUk9SOCh5cik7CQkJCQkJXAorCXlyID0gcm9yMzIoeXIsIDgpOwkJCQkJXAogCXlyIF49IHlsOwkJCQkJCVwKICAgICB9IHdoaWxlKDApCiAKQEAgLTQwNSw3ICszOTMsNyBAQAogCXN1YkxbN10gXj0gc3ViTFsxXTsgc3ViUls3XSBePSBzdWJSWzFdOwogCXN1YkxbMV0gXj0gc3ViUlsxXSAmIH5zdWJSWzldOwogCWR3ID0gc3ViTFsxXSAmIHN1YkxbOV0sCi0JCXN1YlJbMV0gXj0gUk9MMShkdyk7IC8qIG1vZGlmaWVkIGZvciBGTGludihrbDIpICovCisJCXN1YlJbMV0gXj0gcm9sMzIoZHcsIDEpOyAvKiBtb2RpZmllZCBmb3IgRkxpbnYoa2wyKSAqLwogCS8qIHJvdW5kIDggKi8KIAlzdWJMWzExXSBePSBzdWJMWzFdOyBzdWJSWzExXSBePSBzdWJSWzFdOwogCS8qIHJvdW5kIDEwICovCkBAIC00MTQsNyArNDAyLDcgQEAKIAlzdWJMWzE1XSBePSBzdWJMWzFdOyBzdWJSWzE1XSBePSBzdWJSWzFdOwogCXN1YkxbMV0gXj0gc3ViUlsxXSAmIH5zdWJSWzE3XTsKIAlkdyA9IHN1YkxbMV0gJiBzdWJMWzE3XSwKLQkJc3ViUlsxXSBePSBST0wxKGR3KTsgLyogbW9kaWZpZWQgZm9yIEZMaW52KGtsNCkgKi8KKwkJc3ViUlsxXSBePSByb2wzMihkdywgMSk7IC8qIG1vZGlmaWVkIGZvciBGTGludihrbDQpICovCiAJLyogcm91bmQgMTQgKi8KIAlzdWJMWzE5XSBePSBzdWJMWzFdOyBzdWJSWzE5XSBePSBzdWJSWzFdOwogCS8qIHJvdW5kIDE2ICovCkBAIC00MzAsNyArNDE4LDcgQEAKIAl9IGVsc2UgewogCQlzdWJMWzFdIF49IHN1YlJbMV0gJiB+c3ViUlsyNV07CiAJCWR3ID0gc3ViTFsxXSAmIHN1YkxbMjVdLAotCQkJc3ViUlsxXSBePSBST0wxKGR3KTsgLyogbW9kaWZpZWQgZm9yIEZMaW52KGtsNikgKi8KKwkJCXN1YlJbMV0gXj0gcm9sMzIoZHcsIDEpOyAvKiBtb2RpZmllZCBmb3IgRkxpbnYoa2w2KSAqLwogCQkvKiByb3VuZCAyMCAqLwogCQlzdWJMWzI3XSBePSBzdWJMWzFdOyBzdWJSWzI3XSBePSBzdWJSWzFdOwogCQkvKiByb3VuZCAyMiAqLwpAQCAtNDUwLDcgKzQzOCw3IEBACiAJCXN1YkxbMjZdIF49IGt3NGw7IHN1YlJbMjZdIF49IGt3NHI7CiAJCWt3NGwgXj0ga3c0ciAmIH5zdWJSWzI0XTsKIAkJZHcgPSBrdzRsICYgc3ViTFsyNF0sCi0JCQlrdzRyIF49IFJPTDEoZHcpOyAvKiBtb2RpZmllZCBmb3IgRkwoa2w1KSAqLworCQkJa3c0ciBePSByb2wzMihkdywgMSk7IC8qIG1vZGlmaWVkIGZvciBGTChrbDUpICovCiAJfQogCS8qIHJvdW5kIDE3ICovCiAJc3ViTFsyMl0gXj0ga3c0bDsgc3ViUlsyMl0gXj0ga3c0cjsKQEAgLTQ2MCw3ICs0NDgsNyBAQAogCXN1YkxbMThdIF49IGt3NGw7IHN1YlJbMThdIF49IGt3NHI7CiAJa3c0bCBePSBrdzRyICYgfnN1YlJbMTZdOwogCWR3ID0ga3c0bCAmIHN1YkxbMTZdLAotCQlrdzRyIF49IFJPTDEoZHcpOyAvKiBtb2RpZmllZCBmb3IgRkwoa2wzKSAqLworCQlrdzRyIF49IHJvbDMyKGR3LCAxKTsgLyogbW9kaWZpZWQgZm9yIEZMKGtsMykgKi8KIAkvKiByb3VuZCAxMSAqLwogCXN1YkxbMTRdIF49IGt3NGw7IHN1YlJbMTRdIF49IGt3NHI7CiAJLyogcm91bmQgOSAqLwpAQCAtNDY5LDcgKzQ1Nyw3IEBACiAJc3ViTFsxMF0gXj0ga3c0bDsgc3ViUlsxMF0gXj0ga3c0cjsKIAlrdzRsIF49IGt3NHIgJiB+c3ViUls4XTsKIAlkdyA9IGt3NGwgJiBzdWJMWzhdLAotCQlrdzRyIF49IFJPTDEoZHcpOyAvKiBtb2RpZmllZCBmb3IgRkwoa2wxKSAqLworCQlrdzRyIF49IHJvbDMyKGR3LCAxKTsgLyogbW9kaWZpZWQgZm9yIEZMKGtsMSkgKi8KIAkvKiByb3VuZCA1ICovCiAJc3ViTFs2XSBePSBrdzRsOyBzdWJSWzZdIF49IGt3NHI7CiAJLyogcm91bmQgMyAqLwpAQCAtNDk0LDcgKzQ4Miw3IEBACiAJU1VCS0VZX1IoNikgPSBzdWJSWzVdIF4gc3ViUls3XTsKIAl0bCA9IHN1YkxbMTBdIF4gKHN1YlJbMTBdICYgfnN1YlJbOF0pOwogCWR3ID0gdGwgJiBzdWJMWzhdLCAgLyogRkwoa2wxKSAqLwotCQl0ciA9IHN1YlJbMTBdIF4gUk9MMShkdyk7CisJCXRyID0gc3ViUlsxMF0gXiByb2wzMihkdywgMSk7CiAJU1VCS0VZX0woNykgPSBzdWJMWzZdIF4gdGw7IC8qIHJvdW5kIDYgKi8KIAlTVUJLRVlfUig3KSA9IHN1YlJbNl0gXiB0cjsKIAlTVUJLRVlfTCg4KSA9IHN1YkxbOF07ICAgICAgIC8qIEZMKGtsMSkgKi8KQEAgLTUwMyw3ICs0OTEsNyBAQAogCVNVQktFWV9SKDkpID0gc3ViUls5XTsKIAl0bCA9IHN1YkxbN10gXiAoc3ViUls3XSAmIH5zdWJSWzldKTsKIAlkdyA9IHRsICYgc3ViTFs5XSwgIC8qIEZMaW52KGtsMikgKi8KLQkJdHIgPSBzdWJSWzddIF4gUk9MMShkdyk7CisJCXRyID0gc3ViUls3XSBeIHJvbDMyKGR3LCAxKTsKIAlTVUJLRVlfTCgxMCkgPSB0bCBeIHN1YkxbMTFdOyAvKiByb3VuZCA3ICovCiAJU1VCS0VZX1IoMTApID0gdHIgXiBzdWJSWzExXTsKIAlTVUJLRVlfTCgxMSkgPSBzdWJMWzEwXSBeIHN1YkxbMTJdOyAvKiByb3VuZCA4ICovCkBAIC01MTYsNyArNTA0LDcgQEAKIAlTVUJLRVlfUigxNCkgPSBzdWJSWzEzXSBeIHN1YlJbMTVdOwogCXRsID0gc3ViTFsxOF0gXiAoc3ViUlsxOF0gJiB+c3ViUlsxNl0pOwogCWR3ID0gdGwgJiBzdWJMWzE2XSwgLyogRkwoa2wzKSAqLwotCQl0ciA9IHN1YlJbMThdIF4gUk9MMShkdyk7CisJCXRyID0gc3ViUlsxOF0gXiByb2wzMihkdywgMSk7CiAJU1VCS0VZX0woMTUpID0gc3ViTFsxNF0gXiB0bDsgLyogcm91bmQgMTIgKi8KIAlTVUJLRVlfUigxNSkgPSBzdWJSWzE0XSBeIHRyOwogCVNVQktFWV9MKDE2KSA9IHN1YkxbMTZdOyAgICAgLyogRkwoa2wzKSAqLwpAQCAtNTI1LDcgKzUxMyw3IEBACiAJU1VCS0VZX1IoMTcpID0gc3ViUlsxN107CiAJdGwgPSBzdWJMWzE1XSBeIChzdWJSWzE1XSAmIH5zdWJSWzE3XSk7CiAJZHcgPSB0bCAmIHN1YkxbMTddLCAvKiBGTGludihrbDQpICovCi0JCXRyID0gc3ViUlsxNV0gXiBST0wxKGR3KTsKKwkJdHIgPSBzdWJSWzE1XSBeIHJvbDMyKGR3LCAxKTsKIAlTVUJLRVlfTCgxOCkgPSB0bCBeIHN1YkxbMTldOyAvKiByb3VuZCAxMyAqLwogCVNVQktFWV9SKDE4KSA9IHRyIF4gc3ViUlsxOV07CiAJU1VCS0VZX0woMTkpID0gc3ViTFsxOF0gXiBzdWJMWzIwXTsgLyogcm91bmQgMTQgKi8KQEAgLTU0NCw3ICs1MzIsNyBAQAogCX0gZWxzZSB7CiAJCXRsID0gc3ViTFsyNl0gXiAoc3ViUlsyNl0gJiB+c3ViUlsyNF0pOwogCQlkdyA9IHRsICYgc3ViTFsyNF0sIC8qIEZMKGtsNSkgKi8KLQkJCXRyID0gc3ViUlsyNl0gXiBST0wxKGR3KTsKKwkJCXRyID0gc3ViUlsyNl0gXiByb2wzMihkdywgMSk7CiAJCVNVQktFWV9MKDIzKSA9IHN1YkxbMjJdIF4gdGw7IC8qIHJvdW5kIDE4ICovCiAJCVNVQktFWV9SKDIzKSA9IHN1YlJbMjJdIF4gdHI7CiAJCVNVQktFWV9MKDI0KSA9IHN1YkxbMjRdOyAgICAgLyogRkwoa2w1KSAqLwpAQCAtNTUzLDcgKzU0MSw3IEBACiAJCVNVQktFWV9SKDI1KSA9IHN1YlJbMjVdOwogCQl0bCA9IHN1YkxbMjNdIF4gKHN1YlJbMjNdICYgfnN1YlJbMjVdKTsKIAkJZHcgPSB0bCAmIHN1YkxbMjVdLCAvKiBGTGludihrbDYpICovCi0JCQl0ciA9IHN1YlJbMjNdIF4gUk9MMShkdyk7CisJCQl0ciA9IHN1YlJbMjNdIF4gcm9sMzIoZHcsIDEpOwogCQlTVUJLRVlfTCgyNikgPSB0bCBeIHN1YkxbMjddOyAvKiByb3VuZCAxOSAqLwogCQlTVUJLRVlfUigyNikgPSB0ciBeIHN1YlJbMjddOwogCQlTVUJLRVlfTCgyNykgPSBzdWJMWzI2XSBeIHN1YkxbMjhdOyAvKiByb3VuZCAyMCAqLwpAQCAtNTczLDE3ICs1NjEsMTcgQEAKIAkvKiBhcHBseSB0aGUgaW52ZXJzZSBvZiB0aGUgbGFzdCBoYWxmIG9mIFAtZnVuY3Rpb24gKi8KIAlpID0gMjsKIAlkbyB7Ci0JCWR3ID0gU1VCS0VZX0woaSArIDApIF4gU1VCS0VZX1IoaSArIDApOyBkdyA9IFJPTDgoZHcpOy8qIHJvdW5kIDEgKi8KKwkJZHcgPSBTVUJLRVlfTChpICsgMCkgXiBTVUJLRVlfUihpICsgMCk7IGR3ID0gcm9sMzIoZHcsIDgpOy8qIHJvdW5kIDEgKi8KIAkJU1VCS0VZX1IoaSArIDApID0gU1VCS0VZX0woaSArIDApIF4gZHc7IFNVQktFWV9MKGkgKyAwKSA9IGR3OwotCQlkdyA9IFNVQktFWV9MKGkgKyAxKSBeIFNVQktFWV9SKGkgKyAxKTsgZHcgPSBST0w4KGR3KTsvKiByb3VuZCAyICovCisJCWR3ID0gU1VCS0VZX0woaSArIDEpIF4gU1VCS0VZX1IoaSArIDEpOyBkdyA9IHJvbDMyKGR3LCA4KTsvKiByb3VuZCAyICovCiAJCVNVQktFWV9SKGkgKyAxKSA9IFNVQktFWV9MKGkgKyAxKSBeIGR3OyBTVUJLRVlfTChpICsgMSkgPSBkdzsKLQkJZHcgPSBTVUJLRVlfTChpICsgMikgXiBTVUJLRVlfUihpICsgMik7IGR3ID0gUk9MOChkdyk7Lyogcm91bmQgMyAqLworCQlkdyA9IFNVQktFWV9MKGkgKyAyKSBeIFNVQktFWV9SKGkgKyAyKTsgZHcgPSByb2wzMihkdywgOCk7Lyogcm91bmQgMyAqLwogCQlTVUJLRVlfUihpICsgMikgPSBTVUJLRVlfTChpICsgMikgXiBkdzsgU1VCS0VZX0woaSArIDIpID0gZHc7Ci0JCWR3ID0gU1VCS0VZX0woaSArIDMpIF4gU1VCS0VZX1IoaSArIDMpOyBkdyA9IFJPTDgoZHcpOy8qIHJvdW5kIDQgKi8KKwkJZHcgPSBTVUJLRVlfTChpICsgMykgXiBTVUJLRVlfUihpICsgMyk7IGR3ID0gcm9sMzIoZHcsIDgpOy8qIHJvdW5kIDQgKi8KIAkJU1VCS0VZX1IoaSArIDMpID0gU1VCS0VZX0woaSArIDMpIF4gZHc7IFNVQktFWV9MKGkgKyAzKSA9IGR3OwotCQlkdyA9IFNVQktFWV9MKGkgKyA0KSBeIFNVQktFWV9SKGkgKyA0KTsgZHcgPSBST0w4KGR3KTsvKiByb3VuZCA1ICovCisJCWR3ID0gU1VCS0VZX0woaSArIDQpIF4gU1VCS0VZX1IoaSArIDQpOyBkdyA9IHJvbDMyKGR3LCA5KTsvKiByb3VuZCA1ICovCiAJCVNVQktFWV9SKGkgKyA0KSA9IFNVQktFWV9MKGkgKyA0KSBeIGR3OyBTVUJLRVlfTChpICsgNCkgPSBkdzsKLQkJZHcgPSBTVUJLRVlfTChpICsgNSkgXiBTVUJLRVlfUihpICsgNSk7IGR3ID0gUk9MOChkdyk7Lyogcm91bmQgNiAqLworCQlkdyA9IFNVQktFWV9MKGkgKyA1KSBeIFNVQktFWV9SKGkgKyA1KTsgZHcgPSByb2wzMihkdywgOCk7Lyogcm91bmQgNiAqLwogCQlTVUJLRVlfUihpICsgNSkgPSBTVUJLRVlfTChpICsgNSkgXiBkdzsgU1VCS0VZX0woaSArIDUpID0gZHc7CiAJCWkgKz0gODsKIAl9IHdoaWxlIChpIDwgbWF4KTsKQEAgLTU5OSwxMCArNTg3LDEwIEBACiAJLyoqCiAJICogIGsgPT0ga2xsIHx8IGtsciB8fCBrcmwgfHwga3JyICh8fCBpcyBjb25jYXRlbmF0aW9uKQogCSAqLwotCUdFVFUzMihrbGwsIGtleSAgICAgKTsKLQlHRVRVMzIoa2xyLCBrZXkgKyAgNCk7Ci0JR0VUVTMyKGtybCwga2V5ICsgIDgpOwotCUdFVFUzMihrcnIsIGtleSArIDEyKTsKKwlrbGwgPSBnZXRfdW5hbGlnbmVkX2JlMzIoa2V5KTsKKwlrbHIgPSBnZXRfdW5hbGlnbmVkX2JlMzIoa2V5ICsgNCk7CisJa3JsID0gZ2V0X3VuYWxpZ25lZF9iZTMyKGtleSArIDgpOworCWtyciA9IGdldF91bmFsaWduZWRfYmUzMihrZXkgKyAxMik7CiAKIAkvKiBnZW5lcmF0ZSBLTCBkZXBlbmRlbnQgc3Via2V5cyAqLwogCS8qIGt3MSAqLwpAQCAtNzA3LDE0ICs2OTUsMTQgQEAKIAkgKiAga2V5ID0gKGtsbCB8fCBrbHIgfHwga3JsIHx8IGtyciB8fCBrcmxsIHx8IGtybHIgfHwga3JybCB8fCBrcnJyKQogCSAqICAofHwgaXMgY29uY2F0ZW5hdGlvbikKIAkgKi8KLQlHRVRVMzIoa2xsLCAga2V5ICAgICApOwotCUdFVFUzMihrbHIsICBrZXkgKyAgNCk7Ci0JR0VUVTMyKGtybCwgIGtleSArICA4KTsKLQlHRVRVMzIoa3JyLCAga2V5ICsgMTIpOwotCUdFVFUzMihrcmxsLCBrZXkgKyAxNik7Ci0JR0VUVTMyKGtybHIsIGtleSArIDIwKTsKLQlHRVRVMzIoa3JybCwga2V5ICsgMjQpOwotCUdFVFUzMihrcnJyLCBrZXkgKyAyOCk7CisJa2xsID0gZ2V0X3VuYWxpZ25lZF9iZTMyKGtleSk7CisJa2xyID0gZ2V0X3VuYWxpZ25lZF9iZTMyKGtleSArIDQpOworCWtybCA9IGdldF91bmFsaWduZWRfYmUzMihrZXkgKyA4KTsKKwlrcnIgPSBnZXRfdW5hbGlnbmVkX2JlMzIoa2V5ICsgMTIpOworCWtybGwgPSBnZXRfdW5hbGlnbmVkX2JlMzIoa2V5ICsgMTYpOworCWtybHIgPSBnZXRfdW5hbGlnbmVkX2JlMzIoa2V5ICsgMjApOworCWtycmwgPSBnZXRfdW5hbGlnbmVkX2JlMzIoa2V5ICsgMjQpOworCWtycnIgPSBnZXRfdW5hbGlnbmVkX2JlMzIoa2V5ICsgMjgpOwogCiAJLyogZ2VuZXJhdGUgS0wgZGVwZW5kZW50IHN1YmtleXMgKi8KIAkvKiBrdzEgKi8KQEAgLTg3MCwxMyArODU4LDEzIEBACiAJdDAgJj0gbGw7CQkJCQkJCVwKIAl0MiB8PSBycjsJCQkJCQkJXAogCXJsIF49IHQyOwkJCQkJCQlcCi0JbHIgXj0gUk9MMSh0MCk7CQkJCQkJCVwKKwlsciBePSByb2wzMih0MCwgMSk7CQkJCQkJXAogCXQzID0ga3JsOwkJCQkJCQlcCiAJdDEgPSBrbHI7CQkJCQkJCVwKIAl0MyAmPSBybDsJCQkJCQkJXAogCXQxIHw9IGxyOwkJCQkJCQlcCiAJbGwgXj0gdDE7CQkJCQkJCVwKLQlyciBePSBST0wxKHQzKTsJCQkJCQkJXAorCXJyIF49IHJvbDMyKHQzLCAxKTsJCQkJCQlcCiAgICAgfSB3aGlsZSgwKQogCiAjZGVmaW5lIENBTUVMTElBX1JPVU5EU00oeGwsIHhyLCBrbCwga3IsIHlsLCB5ciwgaWwsIGlyKQkJXApAQCAtODkyLDcgKzg4MCw3IEBACiAJaWwgXj0ga2w7CQkJCQkJCVwKIAlpciBePSBpbCBeIGtyOwkJCQkJCQlcCiAJeWwgXj0gaXI7CQkJCQkJCVwKLQl5ciBePSBST1I4KGlsKSBeIGlyOwkJCQkJCVwKKwl5ciBePSByb3IzMihpbCwgOCkgXiBpcjsJCQkJCQlcCiAgICAgfSB3aGlsZSgwKQogCiAvKiBtYXggPSAyNDogMTI4Yml0IGVuY3J5cHQsIG1heCA9IDMyOiAyNTZiaXQgZW5jcnlwdCAqLwpkaWZmIC0tZ2l0IGEvY3J5cHRvL2NoYWluaXYuYyBiL2NyeXB0by9jaGFpbml2LmMKaW5kZXggNmRhM2Y1Ny4uOWFmZmFkZSAxMDA2NDQKLS0tIGEvY3J5cHRvL2NoYWluaXYuYworKysgYi9jcnlwdG8vY2hhaW5pdi5jCkBAIC0xMTcsNiArMTE3LDcgQEAKIHN0YXRpYyBpbnQgYXN5bmNfY2hhaW5pdl9zY2hlZHVsZV93b3JrKHN0cnVjdCBhc3luY19jaGFpbml2X2N0eCAqY3R4KQogewogCWludCBxdWV1ZWQ7CisJaW50IGVyciA9IGN0eC0+ZXJyOwogCiAJaWYgKCFjdHgtPnF1ZXVlLnFsZW4pIHsKIAkJc21wX21iX19iZWZvcmVfY2xlYXJfYml0KCk7CkBAIC0xMzEsNyArMTMyLDcgQEAKIAlCVUdfT04oIXF1ZXVlZCk7CiAKIG91dDoKLQlyZXR1cm4gY3R4LT5lcnI7CisJcmV0dXJuIGVycjsKIH0KIAogc3RhdGljIGludCBhc3luY19jaGFpbml2X3Bvc3Rwb25lX3JlcXVlc3Qoc3RydWN0IHNrY2lwaGVyX2dpdmNyeXB0X3JlcXVlc3QgKnJlcSkKQEAgLTIyNyw2ICsyMjgsNyBAQAogCQkJCQkJICAgICBwb3N0cG9uZWQpOwogCXN0cnVjdCBza2NpcGhlcl9naXZjcnlwdF9yZXF1ZXN0ICpyZXE7CiAJc3RydWN0IGFibGtjaXBoZXJfcmVxdWVzdCAqc3VicmVxOworCWludCBlcnI7CiAKIAkvKiBPbmx5IGhhbmRsZSBvbmUgcmVxdWVzdCBhdCBhIHRpbWUgdG8gYXZvaWQgaG9nZ2luZyBrZXZlbnRkLiAqLwogCXNwaW5fbG9ja19iaCgmY3R4LT5sb2NrKTsKQEAgLTI0MSw3ICsyNDMsMTEgQEAKIAlzdWJyZXEgPSBza2NpcGhlcl9naXZjcnlwdF9yZXFjdHgocmVxKTsKIAlzdWJyZXEtPmJhc2UuZmxhZ3MgfD0gQ1JZUFRPX1RGTV9SRVFfTUFZX1NMRUVQOwogCi0JYXN5bmNfY2hhaW5pdl9naXZlbmNyeXB0X3RhaWwocmVxKTsKKwllcnIgPSBhc3luY19jaGFpbml2X2dpdmVuY3J5cHRfdGFpbChyZXEpOworCisJbG9jYWxfYmhfZGlzYWJsZSgpOworCXNrY2lwaGVyX2dpdmNyeXB0X2NvbXBsZXRlKHJlcSwgZXJyKTsKKwlsb2NhbF9iaF9lbmFibGUoKTsKIH0KIAogc3RhdGljIGludCBhc3luY19jaGFpbml2X2luaXQoc3RydWN0IGNyeXB0b190Zm0gKnRmbSkKZGlmZiAtLWdpdCBhL2NyeXB0by9jcmMzMmMuYyBiL2NyeXB0by9jcmMzMmMuYwppbmRleCAwZGNmNjRhLi5hODgyZDllIDEwMDY0NAotLS0gYS9jcnlwdG8vY3JjMzJjLmMKKysrIGIvY3J5cHRvL2NyYzMyYy5jCkBAIC01LDIwICs1LDIzIEBACiAgKgogICogVGhpcyBtb2R1bGUgZmlsZSBpcyBhIHdyYXBwZXIgdG8gaW52b2tlIHRoZSBsaWIvY3JjMzJjIHJvdXRpbmVzLgogICoKKyAqIENvcHlyaWdodCAoYykgMjAwOCBIZXJiZXJ0IFh1IDxoZXJiZXJ0QGdvbmRvci5hcGFuYS5vcmcuYXU+CisgKgogICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKICAqIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlCiAgKiBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIAogICogYW55IGxhdGVyIHZlcnNpb24uCiAgKgogICovCisKKyNpbmNsdWRlIDxjcnlwdG8vaW50ZXJuYWwvaGFzaC5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KLSNpbmNsdWRlIDxsaW51eC9jcnlwdG8uaD4KICNpbmNsdWRlIDxsaW51eC9jcmMzMmMuaD4KICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KIAotI2RlZmluZSBDSEtTVU1fQkxPQ0tfU0laRQkzMgorI2RlZmluZSBDSEtTVU1fQkxPQ0tfU0laRQkxCiAjZGVmaW5lIENIS1NVTV9ESUdFU1RfU0laRQk0CiAKIHN0cnVjdCBjaGtzdW1fY3R4IHsKQEAgLTcxLDcgKzc0LDcgQEAKIAkqKF9fbGUzMiAqKW91dCA9IH5jcHVfdG9fbGUzMihtY3R4LT5jcmMpOwogfQogCi1zdGF0aWMgaW50IGNyYzMyY19jcmFfaW5pdChzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtKQorc3RhdGljIGludCBjcmMzMmNfY3JhX2luaXRfb2xkKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pCiB7CiAJc3RydWN0IGNoa3N1bV9jdHggKm1jdHggPSBjcnlwdG9fdGZtX2N0eCh0Zm0pOwogCkBAIC03OSwxNCArODIsMTQgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHN0cnVjdCBjcnlwdG9fYWxnIGFsZyA9IHsKK3N0YXRpYyBzdHJ1Y3QgY3J5cHRvX2FsZyBvbGRfYWxnID0gewogCS5jcmFfbmFtZQk9CSJjcmMzMmMiLAogCS5jcmFfZmxhZ3MJPQlDUllQVE9fQUxHX1RZUEVfRElHRVNULAogCS5jcmFfYmxvY2tzaXplCT0JQ0hLU1VNX0JMT0NLX1NJWkUsCiAJLmNyYV9jdHhzaXplCT0Jc2l6ZW9mKHN0cnVjdCBjaGtzdW1fY3R4KSwKIAkuY3JhX21vZHVsZQk9CVRISVNfTU9EVUxFLAotCS5jcmFfbGlzdAk9CUxJU1RfSEVBRF9JTklUKGFsZy5jcmFfbGlzdCksCi0JLmNyYV9pbml0CT0JY3JjMzJjX2NyYV9pbml0LAorCS5jcmFfbGlzdAk9CUxJU1RfSEVBRF9JTklUKG9sZF9hbGcuY3JhX2xpc3QpLAorCS5jcmFfaW5pdAk9CWNyYzMyY19jcmFfaW5pdF9vbGQsCiAJLmNyYV91CQk9CXsKIAkJLmRpZ2VzdCA9IHsKIAkJCSAuZGlhX2RpZ2VzdHNpemU9CUNIS1NVTV9ESUdFU1RfU0laRSwKQEAgLTk4LDE0ICsxMDEsMTI1IEBACiAJfQogfTsKIAorLyoKKyAqIFNldHRpbmcgdGhlIHNlZWQgYWxsb3dzIGFyYml0cmFyeSBhY2N1bXVsYXRvcnMgYW5kIGZsZXhpYmxlIFhPUiBwb2xpY3kKKyAqIElmIHlvdXIgYWxnb3JpdGhtIHN0YXJ0cyB3aXRoIH4wLCB0aGVuIFhPUiB3aXRoIH4wIGJlZm9yZSB5b3Ugc2V0CisgKiB0aGUgc2VlZC4KKyAqLworc3RhdGljIGludCBjcmMzMmNfc2V0a2V5KHN0cnVjdCBjcnlwdG9fYWhhc2ggKmhhc2gsIGNvbnN0IHU4ICprZXksCisJCQkgdW5zaWduZWQgaW50IGtleWxlbikKK3sKKwl1MzIgKm1jdHggPSBjcnlwdG9fYWhhc2hfY3R4KGhhc2gpOworCisJaWYgKGtleWxlbiAhPSBzaXplb2YodTMyKSkgeworCQljcnlwdG9fYWhhc2hfc2V0X2ZsYWdzKGhhc2gsIENSWVBUT19URk1fUkVTX0JBRF9LRVlfTEVOKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCSptY3R4ID0gbGUzMl90b19jcHVwKChfX2xlMzIgKilrZXkpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNyYzMyY19pbml0KHN0cnVjdCBhaGFzaF9yZXF1ZXN0ICpyZXEpCit7CisJdTMyICptY3R4ID0gY3J5cHRvX2FoYXNoX2N0eChjcnlwdG9fYWhhc2hfcmVxdGZtKHJlcSkpOworCXUzMiAqY3JjcCA9IGFoYXNoX3JlcXVlc3RfY3R4KHJlcSk7CisKKwkqY3JjcCA9ICptY3R4OworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNyYzMyY191cGRhdGUoc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcSkKK3sKKwlzdHJ1Y3QgY3J5cHRvX2hhc2hfd2FsayB3YWxrOworCXUzMiAqY3JjcCA9IGFoYXNoX3JlcXVlc3RfY3R4KHJlcSk7CisJdTMyIGNyYyA9ICpjcmNwOworCWludCBuYnl0ZXM7CisKKwlmb3IgKG5ieXRlcyA9IGNyeXB0b19oYXNoX3dhbGtfZmlyc3QocmVxLCAmd2Fsayk7IG5ieXRlczsKKwkgICAgIG5ieXRlcyA9IGNyeXB0b19oYXNoX3dhbGtfZG9uZSgmd2FsaywgMCkpCisJCWNyYyA9IGNyYzMyYyhjcmMsIHdhbGsuZGF0YSwgbmJ5dGVzKTsKKworCSpjcmNwID0gY3JjOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNyYzMyY19maW5hbChzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqcmVxKQoreworCXUzMiAqY3JjcCA9IGFoYXNoX3JlcXVlc3RfY3R4KHJlcSk7CisJCisJKihfX2xlMzIgKilyZXEtPnJlc3VsdCA9IH5jcHVfdG9fbGUzMnAoY3JjcCk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY3JjMzJjX2RpZ2VzdChzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqcmVxKQoreworCXN0cnVjdCBjcnlwdG9faGFzaF93YWxrIHdhbGs7CisJdTMyICptY3R4ID0gY3J5cHRvX2FoYXNoX2N0eChjcnlwdG9fYWhhc2hfcmVxdGZtKHJlcSkpOworCXUzMiBjcmMgPSAqbWN0eDsKKwlpbnQgbmJ5dGVzOworCisJZm9yIChuYnl0ZXMgPSBjcnlwdG9faGFzaF93YWxrX2ZpcnN0KHJlcSwgJndhbGspOyBuYnl0ZXM7CisJICAgICBuYnl0ZXMgPSBjcnlwdG9faGFzaF93YWxrX2RvbmUoJndhbGssIDApKQorCQljcmMgPSBjcmMzMmMoY3JjLCB3YWxrLmRhdGEsIG5ieXRlcyk7CisKKwkqKF9fbGUzMiAqKXJlcS0+cmVzdWx0ID0gfmNwdV90b19sZTMyKGNyYyk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY3JjMzJjX2NyYV9pbml0KHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pCit7CisJdTMyICprZXkgPSBjcnlwdG9fdGZtX2N0eCh0Zm0pOworCisJKmtleSA9IH4wOworCisJdGZtLT5jcnRfYWhhc2gucmVxc2l6ZSA9IHNpemVvZih1MzIpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgY3J5cHRvX2FsZyBhbGcgPSB7CisJLmNyYV9uYW1lCQk9CSJjcmMzMmMiLAorCS5jcmFfZHJpdmVyX25hbWUJPQkiY3JjMzJjLWdlbmVyaWMiLAorCS5jcmFfcHJpb3JpdHkJCT0JMTAwLAorCS5jcmFfZmxhZ3MJCT0JQ1JZUFRPX0FMR19UWVBFX0FIQVNILAorCS5jcmFfYmxvY2tzaXplCQk9CUNIS1NVTV9CTE9DS19TSVpFLAorCS5jcmFfYWxpZ25tYXNrCQk9CTMsCisJLmNyYV9jdHhzaXplCQk9CXNpemVvZih1MzIpLAorCS5jcmFfbW9kdWxlCQk9CVRISVNfTU9EVUxFLAorCS5jcmFfbGlzdAkJPQlMSVNUX0hFQURfSU5JVChhbGcuY3JhX2xpc3QpLAorCS5jcmFfaW5pdAkJPQljcmMzMmNfY3JhX2luaXQsCisJLmNyYV90eXBlCQk9CSZjcnlwdG9fYWhhc2hfdHlwZSwKKwkuY3JhX3UJCQk9CXsKKwkJLmFoYXNoID0geworCQkJIC5kaWdlc3RzaXplCT0JQ0hLU1VNX0RJR0VTVF9TSVpFLAorCQkJIC5zZXRrZXkJPQljcmMzMmNfc2V0a2V5LAorCQkJIC5pbml0ICAgCT0gCWNyYzMyY19pbml0LAorCQkJIC51cGRhdGUgCT0JY3JjMzJjX3VwZGF0ZSwKKwkJCSAuZmluYWwgIAk9CWNyYzMyY19maW5hbCwKKwkJCSAuZGlnZXN0ICAJPQljcmMzMmNfZGlnZXN0LAorCQkgfQorCX0KK307CisKIHN0YXRpYyBpbnQgX19pbml0IGNyYzMyY19tb2RfaW5pdCh2b2lkKQogewotCXJldHVybiBjcnlwdG9fcmVnaXN0ZXJfYWxnKCZhbGcpOworCWludCBlcnI7CisKKwllcnIgPSBjcnlwdG9fcmVnaXN0ZXJfYWxnKCZvbGRfYWxnKTsKKwlpZiAoZXJyKQorCQlyZXR1cm4gZXJyOworCisJZXJyID0gY3J5cHRvX3JlZ2lzdGVyX2FsZygmYWxnKTsKKwlpZiAoZXJyKQorCQljcnlwdG9fdW5yZWdpc3Rlcl9hbGcoJm9sZF9hbGcpOworCisJcmV0dXJuIGVycjsKIH0KIAogc3RhdGljIHZvaWQgX19leGl0IGNyYzMyY19tb2RfZmluaSh2b2lkKQogewogCWNyeXB0b191bnJlZ2lzdGVyX2FsZygmYWxnKTsKKwljcnlwdG9fdW5yZWdpc3Rlcl9hbGcoJm9sZF9hbGcpOwogfQogCiBtb2R1bGVfaW5pdChjcmMzMmNfbW9kX2luaXQpOwpkaWZmIC0tZ2l0IGEvY3J5cHRvL2NyeXB0ZC5jIGIvY3J5cHRvL2NyeXB0ZC5jCmluZGV4IGIxNTBkZTUuLmQyOWUwNmIgMTAwNjQ0Ci0tLSBhL2NyeXB0by9jcnlwdGQuYworKysgYi9jcnlwdG8vY3J5cHRkLmMKQEAgLTExLDYgKzExLDcgQEAKICAqLwogCiAjaW5jbHVkZSA8Y3J5cHRvL2FsZ2FwaS5oPgorI2luY2x1ZGUgPGNyeXB0by9pbnRlcm5hbC9oYXNoLmg+CiAjaW5jbHVkZSA8bGludXgvZXJyLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgpAQCAtNDUsNiArNDYsMTMgQEAKIAljcnlwdG9fY29tcGxldGlvbl90IGNvbXBsZXRlOwogfTsKIAorc3RydWN0IGNyeXB0ZF9oYXNoX2N0eCB7CisJc3RydWN0IGNyeXB0b19oYXNoICpjaGlsZDsKK307CisKK3N0cnVjdCBjcnlwdGRfaGFzaF9yZXF1ZXN0X2N0eCB7CisJY3J5cHRvX2NvbXBsZXRpb25fdCBjb21wbGV0ZTsKK307CiAKIHN0YXRpYyBpbmxpbmUgc3RydWN0IGNyeXB0ZF9zdGF0ZSAqY3J5cHRkX2dldF9zdGF0ZShzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtKQogewpAQCAtODIsMTAgKzkwLDggQEAKIAogCXJjdHggPSBhYmxrY2lwaGVyX3JlcXVlc3RfY3R4KHJlcSk7CiAKLQlpZiAodW5saWtlbHkoZXJyID09IC1FSU5QUk9HUkVTUykpIHsKLQkJcmN0eC0+Y29tcGxldGUoJnJlcS0+YmFzZSwgZXJyKTsKLQkJcmV0dXJuOwotCX0KKwlpZiAodW5saWtlbHkoZXJyID09IC1FSU5QUk9HUkVTUykpCisJCWdvdG8gb3V0OwogCiAJZGVzYy50Zm0gPSBjaGlsZDsKIAlkZXNjLmluZm8gPSByZXEtPmluZm87CkBAIC05NSw4ICsxMDEsOSBAQAogCiAJcmVxLT5iYXNlLmNvbXBsZXRlID0gcmN0eC0+Y29tcGxldGU7CiAKK291dDoKIAlsb2NhbF9iaF9kaXNhYmxlKCk7Ci0JcmVxLT5iYXNlLmNvbXBsZXRlKCZyZXEtPmJhc2UsIGVycik7CisJcmN0eC0+Y29tcGxldGUoJnJlcS0+YmFzZSwgZXJyKTsKIAlsb2NhbF9iaF9lbmFibGUoKTsKIH0KIApAQCAtMjYxLDYgKzI2OCwyNDAgQEAKIAlyZXR1cm4gaW5zdDsKIH0KIAorc3RhdGljIGludCBjcnlwdGRfaGFzaF9pbml0X3RmbShzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtKQoreworCXN0cnVjdCBjcnlwdG9faW5zdGFuY2UgKmluc3QgPSBjcnlwdG9fdGZtX2FsZ19pbnN0YW5jZSh0Zm0pOworCXN0cnVjdCBjcnlwdGRfaW5zdGFuY2VfY3R4ICppY3R4ID0gY3J5cHRvX2luc3RhbmNlX2N0eChpbnN0KTsKKwlzdHJ1Y3QgY3J5cHRvX3NwYXduICpzcGF3biA9ICZpY3R4LT5zcGF3bjsKKwlzdHJ1Y3QgY3J5cHRkX2hhc2hfY3R4ICpjdHggPSBjcnlwdG9fdGZtX2N0eCh0Zm0pOworCXN0cnVjdCBjcnlwdG9faGFzaCAqY2lwaGVyOworCisJY2lwaGVyID0gY3J5cHRvX3NwYXduX2hhc2goc3Bhd24pOworCWlmIChJU19FUlIoY2lwaGVyKSkKKwkJcmV0dXJuIFBUUl9FUlIoY2lwaGVyKTsKKworCWN0eC0+Y2hpbGQgPSBjaXBoZXI7CisJdGZtLT5jcnRfYWhhc2gucmVxc2l6ZSA9CisJCXNpemVvZihzdHJ1Y3QgY3J5cHRkX2hhc2hfcmVxdWVzdF9jdHgpOworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBjcnlwdGRfaGFzaF9leGl0X3RmbShzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtKQoreworCXN0cnVjdCBjcnlwdGRfaGFzaF9jdHggKmN0eCA9IGNyeXB0b190Zm1fY3R4KHRmbSk7CisJc3RydWN0IGNyeXB0ZF9zdGF0ZSAqc3RhdGUgPSBjcnlwdGRfZ2V0X3N0YXRlKHRmbSk7CisJaW50IGFjdGl2ZTsKKworCW11dGV4X2xvY2soJnN0YXRlLT5tdXRleCk7CisJYWN0aXZlID0gYWhhc2hfdGZtX2luX3F1ZXVlKCZzdGF0ZS0+cXVldWUsCisJCQkJX19jcnlwdG9fYWhhc2hfY2FzdCh0Zm0pKTsKKwltdXRleF91bmxvY2soJnN0YXRlLT5tdXRleCk7CisKKwlCVUdfT04oYWN0aXZlKTsKKworCWNyeXB0b19mcmVlX2hhc2goY3R4LT5jaGlsZCk7Cit9CisKK3N0YXRpYyBpbnQgY3J5cHRkX2hhc2hfc2V0a2V5KHN0cnVjdCBjcnlwdG9fYWhhc2ggKnBhcmVudCwKKwkJCQkgICBjb25zdCB1OCAqa2V5LCB1bnNpZ25lZCBpbnQga2V5bGVuKQoreworCXN0cnVjdCBjcnlwdGRfaGFzaF9jdHggKmN0eCAgID0gY3J5cHRvX2FoYXNoX2N0eChwYXJlbnQpOworCXN0cnVjdCBjcnlwdG9faGFzaCAgICAgKmNoaWxkID0gY3R4LT5jaGlsZDsKKwlpbnQgZXJyOworCisJY3J5cHRvX2hhc2hfY2xlYXJfZmxhZ3MoY2hpbGQsIENSWVBUT19URk1fUkVRX01BU0spOworCWNyeXB0b19oYXNoX3NldF9mbGFncyhjaGlsZCwgY3J5cHRvX2FoYXNoX2dldF9mbGFncyhwYXJlbnQpICYKKwkJCQkJICBDUllQVE9fVEZNX1JFUV9NQVNLKTsKKwllcnIgPSBjcnlwdG9faGFzaF9zZXRrZXkoY2hpbGQsIGtleSwga2V5bGVuKTsKKwljcnlwdG9fYWhhc2hfc2V0X2ZsYWdzKHBhcmVudCwgY3J5cHRvX2hhc2hfZ2V0X2ZsYWdzKGNoaWxkKSAmCisJCQkJCSAgICBDUllQVE9fVEZNX1JFU19NQVNLKTsKKwlyZXR1cm4gZXJyOworfQorCitzdGF0aWMgaW50IGNyeXB0ZF9oYXNoX2VucXVldWUoc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcSwKKwkJCQljcnlwdG9fY29tcGxldGlvbl90IGNvbXBsZXRlKQoreworCXN0cnVjdCBjcnlwdGRfaGFzaF9yZXF1ZXN0X2N0eCAqcmN0eCA9IGFoYXNoX3JlcXVlc3RfY3R4KHJlcSk7CisJc3RydWN0IGNyeXB0b19haGFzaCAqdGZtID0gY3J5cHRvX2FoYXNoX3JlcXRmbShyZXEpOworCXN0cnVjdCBjcnlwdGRfc3RhdGUgKnN0YXRlID0KKwkJY3J5cHRkX2dldF9zdGF0ZShjcnlwdG9fYWhhc2hfdGZtKHRmbSkpOworCWludCBlcnI7CisKKwlyY3R4LT5jb21wbGV0ZSA9IHJlcS0+YmFzZS5jb21wbGV0ZTsKKwlyZXEtPmJhc2UuY29tcGxldGUgPSBjb21wbGV0ZTsKKworCXNwaW5fbG9ja19iaCgmc3RhdGUtPmxvY2spOworCWVyciA9IGFoYXNoX2VucXVldWVfcmVxdWVzdCgmc3RhdGUtPnF1ZXVlLCByZXEpOworCXNwaW5fdW5sb2NrX2JoKCZzdGF0ZS0+bG9jayk7CisKKwl3YWtlX3VwX3Byb2Nlc3Moc3RhdGUtPnRhc2spOworCXJldHVybiBlcnI7Cit9CisKK3N0YXRpYyB2b2lkIGNyeXB0ZF9oYXNoX2luaXQoc3RydWN0IGNyeXB0b19hc3luY19yZXF1ZXN0ICpyZXFfYXN5bmMsIGludCBlcnIpCit7CisJc3RydWN0IGNyeXB0ZF9oYXNoX2N0eCAqY3R4ICAgPSBjcnlwdG9fdGZtX2N0eChyZXFfYXN5bmMtPnRmbSk7CisJc3RydWN0IGNyeXB0b19oYXNoICAgICAqY2hpbGQgPSBjdHgtPmNoaWxkOworCXN0cnVjdCBhaGFzaF9yZXF1ZXN0ICAgICpyZXEgPSBhaGFzaF9yZXF1ZXN0X2Nhc3QocmVxX2FzeW5jKTsKKwlzdHJ1Y3QgY3J5cHRkX2hhc2hfcmVxdWVzdF9jdHggKnJjdHg7CisJc3RydWN0IGhhc2hfZGVzYyBkZXNjOworCisJcmN0eCA9IGFoYXNoX3JlcXVlc3RfY3R4KHJlcSk7CisKKwlpZiAodW5saWtlbHkoZXJyID09IC1FSU5QUk9HUkVTUykpCisJCWdvdG8gb3V0OworCisJZGVzYy50Zm0gPSBjaGlsZDsKKwlkZXNjLmZsYWdzID0gQ1JZUFRPX1RGTV9SRVFfTUFZX1NMRUVQOworCisJZXJyID0gY3J5cHRvX2hhc2hfY3J0KGNoaWxkKS0+aW5pdCgmZGVzYyk7CisKKwlyZXEtPmJhc2UuY29tcGxldGUgPSByY3R4LT5jb21wbGV0ZTsKKworb3V0OgorCWxvY2FsX2JoX2Rpc2FibGUoKTsKKwlyY3R4LT5jb21wbGV0ZSgmcmVxLT5iYXNlLCBlcnIpOworCWxvY2FsX2JoX2VuYWJsZSgpOworfQorCitzdGF0aWMgaW50IGNyeXB0ZF9oYXNoX2luaXRfZW5xdWV1ZShzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqcmVxKQoreworCXJldHVybiBjcnlwdGRfaGFzaF9lbnF1ZXVlKHJlcSwgY3J5cHRkX2hhc2hfaW5pdCk7Cit9CisKK3N0YXRpYyB2b2lkIGNyeXB0ZF9oYXNoX3VwZGF0ZShzdHJ1Y3QgY3J5cHRvX2FzeW5jX3JlcXVlc3QgKnJlcV9hc3luYywgaW50IGVycikKK3sKKwlzdHJ1Y3QgY3J5cHRkX2hhc2hfY3R4ICpjdHggICA9IGNyeXB0b190Zm1fY3R4KHJlcV9hc3luYy0+dGZtKTsKKwlzdHJ1Y3QgY3J5cHRvX2hhc2ggICAgICpjaGlsZCA9IGN0eC0+Y2hpbGQ7CisJc3RydWN0IGFoYXNoX3JlcXVlc3QgICAgKnJlcSA9IGFoYXNoX3JlcXVlc3RfY2FzdChyZXFfYXN5bmMpOworCXN0cnVjdCBjcnlwdGRfaGFzaF9yZXF1ZXN0X2N0eCAqcmN0eDsKKwlzdHJ1Y3QgaGFzaF9kZXNjIGRlc2M7CisKKwlyY3R4ID0gYWhhc2hfcmVxdWVzdF9jdHgocmVxKTsKKworCWlmICh1bmxpa2VseShlcnIgPT0gLUVJTlBST0dSRVNTKSkKKwkJZ290byBvdXQ7CisKKwlkZXNjLnRmbSA9IGNoaWxkOworCWRlc2MuZmxhZ3MgPSBDUllQVE9fVEZNX1JFUV9NQVlfU0xFRVA7CisKKwllcnIgPSBjcnlwdG9faGFzaF9jcnQoY2hpbGQpLT51cGRhdGUoJmRlc2MsCisJCQkJCQlyZXEtPnNyYywKKwkJCQkJCXJlcS0+bmJ5dGVzKTsKKworCXJlcS0+YmFzZS5jb21wbGV0ZSA9IHJjdHgtPmNvbXBsZXRlOworCitvdXQ6CisJbG9jYWxfYmhfZGlzYWJsZSgpOworCXJjdHgtPmNvbXBsZXRlKCZyZXEtPmJhc2UsIGVycik7CisJbG9jYWxfYmhfZW5hYmxlKCk7Cit9CisKK3N0YXRpYyBpbnQgY3J5cHRkX2hhc2hfdXBkYXRlX2VucXVldWUoc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcSkKK3sKKwlyZXR1cm4gY3J5cHRkX2hhc2hfZW5xdWV1ZShyZXEsIGNyeXB0ZF9oYXNoX3VwZGF0ZSk7Cit9CisKK3N0YXRpYyB2b2lkIGNyeXB0ZF9oYXNoX2ZpbmFsKHN0cnVjdCBjcnlwdG9fYXN5bmNfcmVxdWVzdCAqcmVxX2FzeW5jLCBpbnQgZXJyKQoreworCXN0cnVjdCBjcnlwdGRfaGFzaF9jdHggKmN0eCAgID0gY3J5cHRvX3RmbV9jdHgocmVxX2FzeW5jLT50Zm0pOworCXN0cnVjdCBjcnlwdG9faGFzaCAgICAgKmNoaWxkID0gY3R4LT5jaGlsZDsKKwlzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAgICAqcmVxID0gYWhhc2hfcmVxdWVzdF9jYXN0KHJlcV9hc3luYyk7CisJc3RydWN0IGNyeXB0ZF9oYXNoX3JlcXVlc3RfY3R4ICpyY3R4OworCXN0cnVjdCBoYXNoX2Rlc2MgZGVzYzsKKworCXJjdHggPSBhaGFzaF9yZXF1ZXN0X2N0eChyZXEpOworCisJaWYgKHVubGlrZWx5KGVyciA9PSAtRUlOUFJPR1JFU1MpKQorCQlnb3RvIG91dDsKKworCWRlc2MudGZtID0gY2hpbGQ7CisJZGVzYy5mbGFncyA9IENSWVBUT19URk1fUkVRX01BWV9TTEVFUDsKKworCWVyciA9IGNyeXB0b19oYXNoX2NydChjaGlsZCktPmZpbmFsKCZkZXNjLCByZXEtPnJlc3VsdCk7CisKKwlyZXEtPmJhc2UuY29tcGxldGUgPSByY3R4LT5jb21wbGV0ZTsKKworb3V0OgorCWxvY2FsX2JoX2Rpc2FibGUoKTsKKwlyY3R4LT5jb21wbGV0ZSgmcmVxLT5iYXNlLCBlcnIpOworCWxvY2FsX2JoX2VuYWJsZSgpOworfQorCitzdGF0aWMgaW50IGNyeXB0ZF9oYXNoX2ZpbmFsX2VucXVldWUoc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcSkKK3sKKwlyZXR1cm4gY3J5cHRkX2hhc2hfZW5xdWV1ZShyZXEsIGNyeXB0ZF9oYXNoX2ZpbmFsKTsKK30KKworc3RhdGljIHZvaWQgY3J5cHRkX2hhc2hfZGlnZXN0KHN0cnVjdCBjcnlwdG9fYXN5bmNfcmVxdWVzdCAqcmVxX2FzeW5jLCBpbnQgZXJyKQoreworCXN0cnVjdCBjcnlwdGRfaGFzaF9jdHggKmN0eCAgID0gY3J5cHRvX3RmbV9jdHgocmVxX2FzeW5jLT50Zm0pOworCXN0cnVjdCBjcnlwdG9faGFzaCAgICAgKmNoaWxkID0gY3R4LT5jaGlsZDsKKwlzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAgICAqcmVxID0gYWhhc2hfcmVxdWVzdF9jYXN0KHJlcV9hc3luYyk7CisJc3RydWN0IGNyeXB0ZF9oYXNoX3JlcXVlc3RfY3R4ICpyY3R4OworCXN0cnVjdCBoYXNoX2Rlc2MgZGVzYzsKKworCXJjdHggPSBhaGFzaF9yZXF1ZXN0X2N0eChyZXEpOworCisJaWYgKHVubGlrZWx5KGVyciA9PSAtRUlOUFJPR1JFU1MpKQorCQlnb3RvIG91dDsKKworCWRlc2MudGZtID0gY2hpbGQ7CisJZGVzYy5mbGFncyA9IENSWVBUT19URk1fUkVRX01BWV9TTEVFUDsKKworCWVyciA9IGNyeXB0b19oYXNoX2NydChjaGlsZCktPmRpZ2VzdCgmZGVzYywKKwkJCQkJCXJlcS0+c3JjLAorCQkJCQkJcmVxLT5uYnl0ZXMsCisJCQkJCQlyZXEtPnJlc3VsdCk7CisKKwlyZXEtPmJhc2UuY29tcGxldGUgPSByY3R4LT5jb21wbGV0ZTsKKworb3V0OgorCWxvY2FsX2JoX2Rpc2FibGUoKTsKKwlyY3R4LT5jb21wbGV0ZSgmcmVxLT5iYXNlLCBlcnIpOworCWxvY2FsX2JoX2VuYWJsZSgpOworfQorCitzdGF0aWMgaW50IGNyeXB0ZF9oYXNoX2RpZ2VzdF9lbnF1ZXVlKHN0cnVjdCBhaGFzaF9yZXF1ZXN0ICpyZXEpCit7CisJcmV0dXJuIGNyeXB0ZF9oYXNoX2VucXVldWUocmVxLCBjcnlwdGRfaGFzaF9kaWdlc3QpOworfQorCitzdGF0aWMgc3RydWN0IGNyeXB0b19pbnN0YW5jZSAqY3J5cHRkX2FsbG9jX2hhc2goCisJc3RydWN0IHJ0YXR0ciAqKnRiLCBzdHJ1Y3QgY3J5cHRkX3N0YXRlICpzdGF0ZSkKK3sKKwlzdHJ1Y3QgY3J5cHRvX2luc3RhbmNlICppbnN0OworCXN0cnVjdCBjcnlwdG9fYWxnICphbGc7CisKKwlhbGcgPSBjcnlwdG9fZ2V0X2F0dHJfYWxnKHRiLCBDUllQVE9fQUxHX1RZUEVfSEFTSCwKKwkJCQkgIENSWVBUT19BTEdfVFlQRV9IQVNIX01BU0spOworCWlmIChJU19FUlIoYWxnKSkKKwkJcmV0dXJuIEVSUl9QVFIoUFRSX0VSUihhbGcpKTsKKworCWluc3QgPSBjcnlwdGRfYWxsb2NfaW5zdGFuY2UoYWxnLCBzdGF0ZSk7CisJaWYgKElTX0VSUihpbnN0KSkKKwkJZ290byBvdXRfcHV0X2FsZzsKKworCWluc3QtPmFsZy5jcmFfZmxhZ3MgPSBDUllQVE9fQUxHX1RZUEVfQUhBU0ggfCBDUllQVE9fQUxHX0FTWU5DOworCWluc3QtPmFsZy5jcmFfdHlwZSA9ICZjcnlwdG9fYWhhc2hfdHlwZTsKKworCWluc3QtPmFsZy5jcmFfYWhhc2guZGlnZXN0c2l6ZSA9IGFsZy0+Y3JhX2hhc2guZGlnZXN0c2l6ZTsKKwlpbnN0LT5hbGcuY3JhX2N0eHNpemUgPSBzaXplb2Yoc3RydWN0IGNyeXB0ZF9oYXNoX2N0eCk7CisKKwlpbnN0LT5hbGcuY3JhX2luaXQgPSBjcnlwdGRfaGFzaF9pbml0X3RmbTsKKwlpbnN0LT5hbGcuY3JhX2V4aXQgPSBjcnlwdGRfaGFzaF9leGl0X3RmbTsKKworCWluc3QtPmFsZy5jcmFfYWhhc2guaW5pdCAgID0gY3J5cHRkX2hhc2hfaW5pdF9lbnF1ZXVlOworCWluc3QtPmFsZy5jcmFfYWhhc2gudXBkYXRlID0gY3J5cHRkX2hhc2hfdXBkYXRlX2VucXVldWU7CisJaW5zdC0+YWxnLmNyYV9haGFzaC5maW5hbCAgPSBjcnlwdGRfaGFzaF9maW5hbF9lbnF1ZXVlOworCWluc3QtPmFsZy5jcmFfYWhhc2guc2V0a2V5ID0gY3J5cHRkX2hhc2hfc2V0a2V5OworCWluc3QtPmFsZy5jcmFfYWhhc2guZGlnZXN0ID0gY3J5cHRkX2hhc2hfZGlnZXN0X2VucXVldWU7CisKK291dF9wdXRfYWxnOgorCWNyeXB0b19tb2RfcHV0KGFsZyk7CisJcmV0dXJuIGluc3Q7Cit9CisKIHN0YXRpYyBzdHJ1Y3QgY3J5cHRkX3N0YXRlIHN0YXRlOwogCiBzdGF0aWMgc3RydWN0IGNyeXB0b19pbnN0YW5jZSAqY3J5cHRkX2FsbG9jKHN0cnVjdCBydGF0dHIgKip0YikKQEAgLTI3NCw2ICs1MTUsOCBAQAogCXN3aXRjaCAoYWxndC0+dHlwZSAmIGFsZ3QtPm1hc2sgJiBDUllQVE9fQUxHX1RZUEVfTUFTSykgewogCWNhc2UgQ1JZUFRPX0FMR19UWVBFX0JMS0NJUEhFUjoKIAkJcmV0dXJuIGNyeXB0ZF9hbGxvY19ibGtjaXBoZXIodGIsICZzdGF0ZSk7CisJY2FzZSBDUllQVE9fQUxHX1RZUEVfRElHRVNUOgorCQlyZXR1cm4gY3J5cHRkX2FsbG9jX2hhc2godGIsICZzdGF0ZSk7CiAJfQogCiAJcmV0dXJuIEVSUl9QVFIoLUVJTlZBTCk7CmRpZmYgLS1naXQgYS9jcnlwdG8vZGlnZXN0LmMgYi9jcnlwdG8vZGlnZXN0LmMKaW5kZXggYjUyNmNjMy4uYWMwOTE5NCAxMDA2NDQKLS0tIGEvY3J5cHRvL2RpZ2VzdC5jCisrKyBiL2NyeXB0by9kaWdlc3QuYwpAQCAtMTIsNiArMTIsNyBAQAogICoKICAqLwogCisjaW5jbHVkZSA8Y3J5cHRvL2ludGVybmFsL2hhc2guaD4KICNpbmNsdWRlIDxjcnlwdG8vc2NhdHRlcndhbGsuaD4KICNpbmNsdWRlIDxsaW51eC9tbS5oPgogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CkBAIC0xNDEsNyArMTQyLDcgQEAKIAlzdHJ1Y3QgaGFzaF90Zm0gKm9wcyA9ICZ0Zm0tPmNydF9oYXNoOwogCXN0cnVjdCBkaWdlc3RfYWxnICpkYWxnID0gJnRmbS0+X19jcnRfYWxnLT5jcmFfZGlnZXN0OwogCi0JaWYgKGRhbGctPmRpYV9kaWdlc3RzaXplID4gY3J5cHRvX3RmbV9hbGdfYmxvY2tzaXplKHRmbSkpCisJaWYgKGRhbGctPmRpYV9kaWdlc3RzaXplID4gUEFHRV9TSVpFIC8gOCkKIAkJcmV0dXJuIC1FSU5WQUw7CiAJCiAJb3BzLT5pbml0CT0gaW5pdDsKQEAgLTE1NywzICsxNTgsODMgQEAKIHZvaWQgY3J5cHRvX2V4aXRfZGlnZXN0X29wcyhzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtKQogewogfQorCitzdGF0aWMgaW50IGRpZ2VzdF9hc3luY19ub3NldGtleShzdHJ1Y3QgY3J5cHRvX2FoYXNoICp0Zm1fYXN5bmMsIGNvbnN0IHU4ICprZXksCisJCQl1bnNpZ25lZCBpbnQga2V5bGVuKQoreworCWNyeXB0b19haGFzaF9jbGVhcl9mbGFncyh0Zm1fYXN5bmMsIENSWVBUT19URk1fUkVTX01BU0spOworCXJldHVybiAtRU5PU1lTOworfQorCitzdGF0aWMgaW50IGRpZ2VzdF9hc3luY19zZXRrZXkoc3RydWN0IGNyeXB0b19haGFzaCAqdGZtX2FzeW5jLCBjb25zdCB1OCAqa2V5LAorCQkJdW5zaWduZWQgaW50IGtleWxlbikKK3sKKwlzdHJ1Y3QgY3J5cHRvX3RmbSAgICAqdGZtICAgICAgICA9IGNyeXB0b19haGFzaF90Zm0odGZtX2FzeW5jKTsKKwlzdHJ1Y3QgZGlnZXN0X2FsZyAgICAqZGFsZyAgICAgICA9ICZ0Zm0tPl9fY3J0X2FsZy0+Y3JhX2RpZ2VzdDsKKworCWNyeXB0b19haGFzaF9jbGVhcl9mbGFncyh0Zm1fYXN5bmMsIENSWVBUT19URk1fUkVTX01BU0spOworCXJldHVybiBkYWxnLT5kaWFfc2V0a2V5KHRmbSwga2V5LCBrZXlsZW4pOworfQorCitzdGF0aWMgaW50IGRpZ2VzdF9hc3luY19pbml0KHN0cnVjdCBhaGFzaF9yZXF1ZXN0ICpyZXEpCit7CisJc3RydWN0IGNyeXB0b190Zm0gKnRmbSAgPSByZXEtPmJhc2UudGZtOworCXN0cnVjdCBkaWdlc3RfYWxnICpkYWxnID0gJnRmbS0+X19jcnRfYWxnLT5jcmFfZGlnZXN0OworCisJZGFsZy0+ZGlhX2luaXQodGZtKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBkaWdlc3RfYXN5bmNfdXBkYXRlKHN0cnVjdCBhaGFzaF9yZXF1ZXN0ICpyZXEpCit7CisJc3RydWN0IGNyeXB0b190Zm0gKnRmbSA9IHJlcS0+YmFzZS50Zm07CisJc3RydWN0IGhhc2hfZGVzYyAgZGVzYyA9IHsKKwkJLnRmbSAgID0gX19jcnlwdG9faGFzaF9jYXN0KHRmbSksCisJCS5mbGFncyA9IHJlcS0+YmFzZS5mbGFncywKKwl9OworCisJdXBkYXRlKCZkZXNjLCByZXEtPnNyYywgcmVxLT5uYnl0ZXMpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGRpZ2VzdF9hc3luY19maW5hbChzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqcmVxKQoreworCXN0cnVjdCBjcnlwdG9fdGZtICp0Zm0gID0gcmVxLT5iYXNlLnRmbTsKKwlzdHJ1Y3QgaGFzaF9kZXNjICBkZXNjID0geworCQkudGZtICAgPSBfX2NyeXB0b19oYXNoX2Nhc3QodGZtKSwKKwkJLmZsYWdzID0gcmVxLT5iYXNlLmZsYWdzLAorCX07CisKKwlmaW5hbCgmZGVzYywgcmVxLT5yZXN1bHQpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGRpZ2VzdF9hc3luY19kaWdlc3Qoc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcSkKK3sKKwlzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtICA9IHJlcS0+YmFzZS50Zm07CisJc3RydWN0IGhhc2hfZGVzYyAgZGVzYyA9IHsKKwkJLnRmbSAgID0gX19jcnlwdG9faGFzaF9jYXN0KHRmbSksCisJCS5mbGFncyA9IHJlcS0+YmFzZS5mbGFncywKKwl9OworCisJcmV0dXJuIGRpZ2VzdCgmZGVzYywgcmVxLT5zcmMsIHJlcS0+bmJ5dGVzLCByZXEtPnJlc3VsdCk7Cit9CisKK2ludCBjcnlwdG9faW5pdF9kaWdlc3Rfb3BzX2FzeW5jKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pCit7CisJc3RydWN0IGFoYXNoX3RmbSAgKmNydCAgPSAmdGZtLT5jcnRfYWhhc2g7CisJc3RydWN0IGRpZ2VzdF9hbGcgKmRhbGcgPSAmdGZtLT5fX2NydF9hbGctPmNyYV9kaWdlc3Q7CisKKwlpZiAoZGFsZy0+ZGlhX2RpZ2VzdHNpemUgPiBjcnlwdG9fdGZtX2FsZ19ibG9ja3NpemUodGZtKSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwljcnQtPmluaXQgICAgICAgPSBkaWdlc3RfYXN5bmNfaW5pdDsKKwljcnQtPnVwZGF0ZSAgICAgPSBkaWdlc3RfYXN5bmNfdXBkYXRlOworCWNydC0+ZmluYWwgICAgICA9IGRpZ2VzdF9hc3luY19maW5hbDsKKwljcnQtPmRpZ2VzdCAgICAgPSBkaWdlc3RfYXN5bmNfZGlnZXN0OworCWNydC0+c2V0a2V5ICAgICA9IGRhbGctPmRpYV9zZXRrZXkgPyBkaWdlc3RfYXN5bmNfc2V0a2V5IDoKKwkJCQkJCWRpZ2VzdF9hc3luY19ub3NldGtleTsKKwljcnQtPmRpZ2VzdHNpemUgPSBkYWxnLT5kaWFfZGlnZXN0c2l6ZTsKKworCXJldHVybiAwOworfQpkaWZmIC0tZ2l0IGEvY3J5cHRvL2hhc2guYyBiL2NyeXB0by9oYXNoLmMKaW5kZXggN2RjZmY2Ny4uY2I4NmIxOSAxMDA2NDQKLS0tIGEvY3J5cHRvL2hhc2guYworKysgYi9jcnlwdG8vaGFzaC5jCkBAIC05LDYgKzksNyBAQAogICogYW55IGxhdGVyIHZlcnNpb24uCiAgKi8KIAorI2luY2x1ZGUgPGNyeXB0by9pbnRlcm5hbC9oYXNoLmg+CiAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KQEAgLTU5LDI0ICs2MCwxMDcgQEAKIAlyZXR1cm4gYWxnLT5zZXRrZXkoY3J0LCBrZXksIGtleWxlbik7CiB9CiAKLXN0YXRpYyBpbnQgY3J5cHRvX2luaXRfaGFzaF9vcHMoc3RydWN0IGNyeXB0b190Zm0gKnRmbSwgdTMyIHR5cGUsIHUzMiBtYXNrKQorc3RhdGljIGludCBoYXNoX2FzeW5jX3NldGtleShzdHJ1Y3QgY3J5cHRvX2FoYXNoICp0Zm1fYXN5bmMsIGNvbnN0IHU4ICprZXksCisJCQl1bnNpZ25lZCBpbnQga2V5bGVuKQoreworCXN0cnVjdCBjcnlwdG9fdGZtICAqdGZtICAgICAgPSBjcnlwdG9fYWhhc2hfdGZtKHRmbV9hc3luYyk7CisJc3RydWN0IGNyeXB0b19oYXNoICp0Zm1faGFzaCA9IF9fY3J5cHRvX2hhc2hfY2FzdCh0Zm0pOworCXN0cnVjdCBoYXNoX2FsZyAgICAqYWxnICAgICAgPSAmdGZtLT5fX2NydF9hbGctPmNyYV9oYXNoOworCisJcmV0dXJuIGFsZy0+c2V0a2V5KHRmbV9oYXNoLCBrZXksIGtleWxlbik7Cit9CisKK3N0YXRpYyBpbnQgaGFzaF9hc3luY19pbml0KHN0cnVjdCBhaGFzaF9yZXF1ZXN0ICpyZXEpCit7CisJc3RydWN0IGNyeXB0b190Zm0gKnRmbSA9IHJlcS0+YmFzZS50Zm07CisJc3RydWN0IGhhc2hfYWxnICAgKmFsZyA9ICZ0Zm0tPl9fY3J0X2FsZy0+Y3JhX2hhc2g7CisJc3RydWN0IGhhc2hfZGVzYyAgZGVzYyA9IHsKKwkJLnRmbSA9IF9fY3J5cHRvX2hhc2hfY2FzdCh0Zm0pLAorCQkuZmxhZ3MgPSByZXEtPmJhc2UuZmxhZ3MsCisJfTsKKworCXJldHVybiBhbGctPmluaXQoJmRlc2MpOworfQorCitzdGF0aWMgaW50IGhhc2hfYXN5bmNfdXBkYXRlKHN0cnVjdCBhaGFzaF9yZXF1ZXN0ICpyZXEpCit7CisJc3RydWN0IGNyeXB0b190Zm0gKnRmbSA9IHJlcS0+YmFzZS50Zm07CisJc3RydWN0IGhhc2hfYWxnICAgKmFsZyA9ICZ0Zm0tPl9fY3J0X2FsZy0+Y3JhX2hhc2g7CisJc3RydWN0IGhhc2hfZGVzYyAgZGVzYyA9IHsKKwkJLnRmbSA9IF9fY3J5cHRvX2hhc2hfY2FzdCh0Zm0pLAorCQkuZmxhZ3MgPSByZXEtPmJhc2UuZmxhZ3MsCisJfTsKKworCXJldHVybiBhbGctPnVwZGF0ZSgmZGVzYywgcmVxLT5zcmMsIHJlcS0+bmJ5dGVzKTsKK30KKworc3RhdGljIGludCBoYXNoX2FzeW5jX2ZpbmFsKHN0cnVjdCBhaGFzaF9yZXF1ZXN0ICpyZXEpCit7CisJc3RydWN0IGNyeXB0b190Zm0gKnRmbSA9IHJlcS0+YmFzZS50Zm07CisJc3RydWN0IGhhc2hfYWxnICAgKmFsZyA9ICZ0Zm0tPl9fY3J0X2FsZy0+Y3JhX2hhc2g7CisJc3RydWN0IGhhc2hfZGVzYyAgZGVzYyA9IHsKKwkJLnRmbSA9IF9fY3J5cHRvX2hhc2hfY2FzdCh0Zm0pLAorCQkuZmxhZ3MgPSByZXEtPmJhc2UuZmxhZ3MsCisJfTsKKworCXJldHVybiBhbGctPmZpbmFsKCZkZXNjLCByZXEtPnJlc3VsdCk7Cit9CisKK3N0YXRpYyBpbnQgaGFzaF9hc3luY19kaWdlc3Qoc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcSkKK3sKKwlzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtID0gcmVxLT5iYXNlLnRmbTsKKwlzdHJ1Y3QgaGFzaF9hbGcgICAqYWxnID0gJnRmbS0+X19jcnRfYWxnLT5jcmFfaGFzaDsKKwlzdHJ1Y3QgaGFzaF9kZXNjICBkZXNjID0geworCQkudGZtID0gX19jcnlwdG9faGFzaF9jYXN0KHRmbSksCisJCS5mbGFncyA9IHJlcS0+YmFzZS5mbGFncywKKwl9OworCisJcmV0dXJuIGFsZy0+ZGlnZXN0KCZkZXNjLCByZXEtPnNyYywgcmVxLT5uYnl0ZXMsIHJlcS0+cmVzdWx0KTsKK30KKworc3RhdGljIGludCBjcnlwdG9faW5pdF9oYXNoX29wc19hc3luYyhzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtKQoreworCXN0cnVjdCBhaGFzaF90Zm0gKmNydCA9ICZ0Zm0tPmNydF9haGFzaDsKKwlzdHJ1Y3QgaGFzaF9hbGcgICphbGcgPSAmdGZtLT5fX2NydF9hbGctPmNyYV9oYXNoOworCisJY3J0LT5pbml0ICAgICAgID0gaGFzaF9hc3luY19pbml0OworCWNydC0+dXBkYXRlICAgICA9IGhhc2hfYXN5bmNfdXBkYXRlOworCWNydC0+ZmluYWwgICAgICA9IGhhc2hfYXN5bmNfZmluYWw7CisJY3J0LT5kaWdlc3QgICAgID0gaGFzaF9hc3luY19kaWdlc3Q7CisJY3J0LT5zZXRrZXkgICAgID0gaGFzaF9hc3luY19zZXRrZXk7CisJY3J0LT5kaWdlc3RzaXplID0gYWxnLT5kaWdlc3RzaXplOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY3J5cHRvX2luaXRfaGFzaF9vcHNfc3luYyhzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtKQogewogCXN0cnVjdCBoYXNoX3RmbSAqY3J0ID0gJnRmbS0+Y3J0X2hhc2g7CiAJc3RydWN0IGhhc2hfYWxnICphbGcgPSAmdGZtLT5fX2NydF9hbGctPmNyYV9oYXNoOwogCi0JaWYgKGFsZy0+ZGlnZXN0c2l6ZSA+IGNyeXB0b190Zm1fYWxnX2Jsb2Nrc2l6ZSh0Zm0pKQotCQlyZXR1cm4gLUVJTlZBTDsKLQotCWNydC0+aW5pdCA9IGFsZy0+aW5pdDsKLQljcnQtPnVwZGF0ZSA9IGFsZy0+dXBkYXRlOwotCWNydC0+ZmluYWwgPSBhbGctPmZpbmFsOwotCWNydC0+ZGlnZXN0ID0gYWxnLT5kaWdlc3Q7Ci0JY3J0LT5zZXRrZXkgPSBoYXNoX3NldGtleTsKKwljcnQtPmluaXQgICAgICAgPSBhbGctPmluaXQ7CisJY3J0LT51cGRhdGUgICAgID0gYWxnLT51cGRhdGU7CisJY3J0LT5maW5hbCAgICAgID0gYWxnLT5maW5hbDsKKwljcnQtPmRpZ2VzdCAgICAgPSBhbGctPmRpZ2VzdDsKKwljcnQtPnNldGtleSAgICAgPSBoYXNoX3NldGtleTsKIAljcnQtPmRpZ2VzdHNpemUgPSBhbGctPmRpZ2VzdHNpemU7CiAKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIGludCBjcnlwdG9faW5pdF9oYXNoX29wcyhzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtLCB1MzIgdHlwZSwgdTMyIG1hc2spCit7CisJc3RydWN0IGhhc2hfYWxnICphbGcgPSAmdGZtLT5fX2NydF9hbGctPmNyYV9oYXNoOworCisJaWYgKGFsZy0+ZGlnZXN0c2l6ZSA+IFBBR0VfU0laRSAvIDgpCisJCXJldHVybiAtRUlOVkFMOworCisJaWYgKChtYXNrICYgQ1JZUFRPX0FMR19UWVBFX0hBU0hfTUFTSykgIT0gQ1JZUFRPX0FMR19UWVBFX0hBU0hfTUFTSykKKwkJcmV0dXJuIGNyeXB0b19pbml0X2hhc2hfb3BzX2FzeW5jKHRmbSk7CisJZWxzZQorCQlyZXR1cm4gY3J5cHRvX2luaXRfaGFzaF9vcHNfc3luYyh0Zm0pOworfQorCiBzdGF0aWMgdm9pZCBjcnlwdG9faGFzaF9zaG93KHN0cnVjdCBzZXFfZmlsZSAqbSwgc3RydWN0IGNyeXB0b19hbGcgKmFsZykKIAlfX2F0dHJpYnV0ZV9fICgodW51c2VkKSk7CiBzdGF0aWMgdm9pZCBjcnlwdG9faGFzaF9zaG93KHN0cnVjdCBzZXFfZmlsZSAqbSwgc3RydWN0IGNyeXB0b19hbGcgKmFsZykKZGlmZiAtLWdpdCBhL2NyeXB0by9obWFjLmMgYi9jcnlwdG8vaG1hYy5jCmluZGV4IDE0YzYzNTEuLjdmZjJkNmEgMTAwNjQ0Ci0tLSBhL2NyeXB0by9obWFjLmMKKysrIGIvY3J5cHRvL2htYWMuYwpAQCAtMjI2LDYgKzIyNiw3IEBACiAJc3RydWN0IGNyeXB0b19pbnN0YW5jZSAqaW5zdDsKIAlzdHJ1Y3QgY3J5cHRvX2FsZyAqYWxnOwogCWludCBlcnI7CisJaW50IGRzOwogCiAJZXJyID0gY3J5cHRvX2NoZWNrX2F0dHJfdHlwZSh0YiwgQ1JZUFRPX0FMR19UWVBFX0hBU0gpOwogCWlmIChlcnIpCkBAIC0yMzYsNiArMjM3LDEzIEBACiAJaWYgKElTX0VSUihhbGcpKQogCQlyZXR1cm4gRVJSX0NBU1QoYWxnKTsKIAorCWluc3QgPSBFUlJfUFRSKC1FSU5WQUwpOworCWRzID0gKGFsZy0+Y3JhX2ZsYWdzICYgQ1JZUFRPX0FMR19UWVBFX01BU0spID09CisJICAgICBDUllQVE9fQUxHX1RZUEVfSEFTSCA/IGFsZy0+Y3JhX2hhc2guZGlnZXN0c2l6ZSA6CisJCQkJICAgIGFsZy0+Y3JhX2RpZ2VzdC5kaWFfZGlnZXN0c2l6ZTsKKwlpZiAoZHMgPiBhbGctPmNyYV9ibG9ja3NpemUpCisJCWdvdG8gb3V0X3B1dF9hbGc7CisKIAlpbnN0ID0gY3J5cHRvX2FsbG9jX2luc3RhbmNlKCJobWFjIiwgYWxnKTsKIAlpZiAoSVNfRVJSKGluc3QpKQogCQlnb3RvIG91dF9wdXRfYWxnOwpAQCAtMjQ2LDE0ICsyNTQsMTAgQEAKIAlpbnN0LT5hbGcuY3JhX2FsaWdubWFzayA9IGFsZy0+Y3JhX2FsaWdubWFzazsKIAlpbnN0LT5hbGcuY3JhX3R5cGUgPSAmY3J5cHRvX2hhc2hfdHlwZTsKIAotCWluc3QtPmFsZy5jcmFfaGFzaC5kaWdlc3RzaXplID0KLQkJKGFsZy0+Y3JhX2ZsYWdzICYgQ1JZUFRPX0FMR19UWVBFX01BU0spID09Ci0JCUNSWVBUT19BTEdfVFlQRV9IQVNIID8gYWxnLT5jcmFfaGFzaC5kaWdlc3RzaXplIDoKLQkJCQkgICAgICAgYWxnLT5jcmFfZGlnZXN0LmRpYV9kaWdlc3RzaXplOworCWluc3QtPmFsZy5jcmFfaGFzaC5kaWdlc3RzaXplID0gZHM7CiAKIAlpbnN0LT5hbGcuY3JhX2N0eHNpemUgPSBzaXplb2Yoc3RydWN0IGhtYWNfY3R4KSArCi0JCQkJQUxJR04oaW5zdC0+YWxnLmNyYV9ibG9ja3NpemUgKiAyICsKLQkJCQkgICAgICBpbnN0LT5hbGcuY3JhX2hhc2guZGlnZXN0c2l6ZSwKKwkJCQlBTElHTihpbnN0LT5hbGcuY3JhX2Jsb2Nrc2l6ZSAqIDIgKyBkcywKIAkJCQkgICAgICBzaXplb2Yodm9pZCAqKSk7CiAKIAlpbnN0LT5hbGcuY3JhX2luaXQgPSBobWFjX2luaXRfdGZtOwpkaWZmIC0tZ2l0IGEvY3J5cHRvL2ludGVybmFsLmggYi9jcnlwdG8vaW50ZXJuYWwuaAppbmRleCAzMmY0YzIxLi42ODNmY2IyIDEwMDY0NAotLS0gYS9jcnlwdG8vaW50ZXJuYWwuaAorKysgYi9jcnlwdG8vaW50ZXJuYWwuaApAQCAtODYsNiArODYsNyBAQAogc3RydWN0IGNyeXB0b19hbGcgKmNyeXB0b19hbGdfbW9kX2xvb2t1cChjb25zdCBjaGFyICpuYW1lLCB1MzIgdHlwZSwgdTMyIG1hc2spOwogCiBpbnQgY3J5cHRvX2luaXRfZGlnZXN0X29wcyhzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtKTsKK2ludCBjcnlwdG9faW5pdF9kaWdlc3Rfb3BzX2FzeW5jKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pOwogaW50IGNyeXB0b19pbml0X2NpcGhlcl9vcHMoc3RydWN0IGNyeXB0b190Zm0gKnRmbSk7CiBpbnQgY3J5cHRvX2luaXRfY29tcHJlc3Nfb3BzKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pOwogCmRpZmYgLS1naXQgYS9jcnlwdG8vcHJuZy5jIGIvY3J5cHRvL3BybmcuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNGU0ZjMyCi0tLSAvZGV2L251bGwKKysrIGIvY3J5cHRvL3BybmcuYwpAQCAtMCwwICsxLDQxMCBAQAorLyoKKyAqIFBSTkc6IFBzZXVkbyBSYW5kb20gTnVtYmVyIEdlbmVyYXRvcgorICogICAgICAgQmFzZWQgb24gTklTVCBSZWNvbW1lbmRlZCBQUk5HIEZyb20gQU5TSSBYOS4zMSBBcHBlbmRpeCBBLjIuNCB1c2luZworICogICAgICAgQUVTIDEyOCBjaXBoZXIgaW4gUkZDMzY4NiBjdHIgbW9kZQorICoKKyAqICAoQykgTmVpbCBIb3JtYW4gPG5ob3JtYW5AdHV4ZHJpdmVyLmNvbT4KKyAqCisgKiAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKKyAqICB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUKKyAqICBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyCisgKiAgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICoKKyAqLworCisjaW5jbHVkZSA8bGludXgvZXJyLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L21tLmg+CisjaW5jbHVkZSA8bGludXgvc2xhYi5oPgorI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CisjaW5jbHVkZSA8bGludXgvc2NhdHRlcmxpc3QuaD4KKyNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KKyNpbmNsdWRlIDxsaW51eC9jcnlwdG8uaD4KKyNpbmNsdWRlIDxsaW51eC9oaWdobWVtLmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlcGFyYW0uaD4KKyNpbmNsdWRlIDxsaW51eC9qaWZmaWVzLmg+CisjaW5jbHVkZSA8bGludXgvdGltZXguaD4KKyNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KKyNpbmNsdWRlIDxsaW51eC9taXNjZGV2aWNlLmg+CisjaW5jbHVkZSAicHJuZy5oIgorCisjZGVmaW5lIFRFU1RfUFJOR19PTl9TVEFSVCAwCisKKyNkZWZpbmUgREVGQVVMVF9QUk5HX0tFWSAiMDEyMzQ1Njc4OWFiY2RlZjEwMTEiCisjZGVmaW5lIERFRkFVTFRfUFJOR19LU1ogMjAKKyNkZWZpbmUgREVGQVVMVF9QUk5HX0lWICJkZWZhdWx0diIKKyNkZWZpbmUgREVGQVVMVF9QUk5HX0lWU1ogOAorI2RlZmluZSBERUZBVUxUX0JMS19TWiAxNgorI2RlZmluZSBERUZBVUxUX1ZfU0VFRCAiemF5Ynhjd2R2ZXVmdGdzaCIKKworLyoKKyAqIEZsYWdzIGZvciB0aGUgcHJuZ19jb250ZXh0IGZsYWdzIGZpZWxkCisgKi8KKworI2RlZmluZSBQUk5HX0ZJWEVEX1NJWkUgMHgxCisjZGVmaW5lIFBSTkdfTkVFRF9SRVNFVCAweDIKKworLyoKKyAqIE5vdGU6IERUIGlzIG91ciBjb3VudGVyIHZhbHVlCisgKiAJIEkgaXMgb3VyIGludGVybWVkaWF0ZSB2YWx1ZQorICoJIFYgaXMgb3VyIHNlZWQgdmVjdG9yCisgKiBTZWUgaHR0cDovL2NzcmMubmlzdC5nb3YvZ3JvdXBzL1NUTS9jYXZwL2RvY3VtZW50cy9ybmcvOTMxcm5nZXh0LnBkZgorICogZm9yIGltcGxlbWVudGF0aW9uIGRldGFpbHMKKyAqLworCisKK3N0cnVjdCBwcm5nX2NvbnRleHQgeworCWNoYXIgKnBybmdfa2V5OworCWNoYXIgKnBybmdfaXY7CisJc3BpbmxvY2tfdCBwcm5nX2xvY2s7CisJdW5zaWduZWQgY2hhciByYW5kX2RhdGFbREVGQVVMVF9CTEtfU1pdOworCXVuc2lnbmVkIGNoYXIgbGFzdF9yYW5kX2RhdGFbREVGQVVMVF9CTEtfU1pdOworCXVuc2lnbmVkIGNoYXIgRFRbREVGQVVMVF9CTEtfU1pdOworCXVuc2lnbmVkIGNoYXIgSVtERUZBVUxUX0JMS19TWl07CisJdW5zaWduZWQgY2hhciBWW0RFRkFVTFRfQkxLX1NaXTsKKwl1MzIgcmFuZF9kYXRhX3ZhbGlkOworCXN0cnVjdCBjcnlwdG9fYmxrY2lwaGVyICp0Zm07CisJdTMyIGZsYWdzOworfTsKKworc3RhdGljIGludCBkYmc7CisKK3N0YXRpYyB2b2lkIGhleGR1bXAoY2hhciAqbm90ZSwgdW5zaWduZWQgY2hhciAqYnVmLCB1bnNpZ25lZCBpbnQgbGVuKQoreworCWlmIChkYmcpIHsKKwkJcHJpbnRrKEtFUk5fQ1JJVCAiJXMiLCBub3RlKTsKKwkJcHJpbnRfaGV4X2R1bXAoS0VSTl9DT05ULCAiIiwgRFVNUF9QUkVGSVhfT0ZGU0VULAorCQkJCTE2LCAxLAorCQkJCWJ1ZiwgbGVuLCBmYWxzZSk7CisJfQorfQorCisjZGVmaW5lIGRiZ3ByaW50KGZvcm1hdCwgYXJncy4uLikgZG8ge2lmKGRiZykgcHJpbnRrKGZvcm1hdCwgIyNhcmdzKTt9IHdoaWxlKDApCisKK3N0YXRpYyB2b2lkIHhvcl92ZWN0b3JzKHVuc2lnbmVkIGNoYXIgKmluMSwgdW5zaWduZWQgY2hhciAqaW4yLAorCQkgICAgICAgIHVuc2lnbmVkIGNoYXIgKm91dCwgdW5zaWduZWQgaW50IHNpemUpCit7CisJaW50IGk7CisKKwlmb3IgKGk9MDtpPHNpemU7aSsrKQorCQlvdXRbaV0gPSBpbjFbaV0gXiBpbjJbaV07CisKK30KKy8qCisgKiBSZXR1cm5zIERFRkFVTFRfQkxLX1NaIGJ5dGVzIG9mIHJhbmRvbSBkYXRhIHBlciBjYWxsCisgKiByZXR1cm5zIDAgaWYgZ2VuZXJhdGlvbiBzdWNjZWRlZCwgPDAgaWYgc29tZXRoaW5nIHdlbnQgd3JvbmcKKyAqLworc3RhdGljIGludCBfZ2V0X21vcmVfcHJuZ19ieXRlcyhzdHJ1Y3QgcHJuZ19jb250ZXh0ICpjdHgpCit7CisJaW50IGk7CisJc3RydWN0IGJsa2NpcGhlcl9kZXNjIGRlc2M7CisJc3RydWN0IHNjYXR0ZXJsaXN0IHNnX2luLCBzZ19vdXQ7CisJaW50IHJldDsKKwl1bnNpZ25lZCBjaGFyIHRtcFtERUZBVUxUX0JMS19TWl07CisKKwlkZXNjLnRmbSA9IGN0eC0+dGZtOworCWRlc2MuZmxhZ3MgPSAwOworCisKKwlkYmdwcmludChLRVJOX0NSSVQgIkNhbGxpbmcgX2dldF9tb3JlX3BybmdfYnl0ZXMgZm9yIGNvbnRleHQgJXBcbiIsY3R4KTsKKworCWhleGR1bXAoIklucHV0IERUOiAiLCBjdHgtPkRULCBERUZBVUxUX0JMS19TWik7CisJaGV4ZHVtcCgiSW5wdXQgSTogIiwgY3R4LT5JLCBERUZBVUxUX0JMS19TWik7CisJaGV4ZHVtcCgiSW5wdXQgVjogIiwgY3R4LT5WLCBERUZBVUxUX0JMS19TWik7CisKKwkvKgorCSAqIFRoaXMgYWxnb3JpdGhtIGlzIGEgMyBzdGFnZSBzdGF0ZSBtYWNoaW5lCisJICovCisJZm9yIChpPTA7aTwzO2krKykgeworCisJCWRlc2MudGZtID0gY3R4LT50Zm07CisJCWRlc2MuZmxhZ3MgPSAwOworCQlzd2l0Y2ggKGkpIHsKKwkJCWNhc2UgMDoKKwkJCQkvKgorCQkJCSAqIFN0YXJ0IGJ5IGVuY3J5cHRpbmcgdGhlIGNvdW50ZXIgdmFsdWUKKwkJCQkgKiBUaGlzIGdpdmVzIHVzIGFuIGludGVybWVkaWF0ZSB2YWx1ZSBJCisJCQkJICovCisJCQkJbWVtY3B5KHRtcCwgY3R4LT5EVCwgREVGQVVMVF9CTEtfU1opOworCQkJCXNnX2luaXRfb25lKCZzZ19vdXQsICZjdHgtPklbMF0sIERFRkFVTFRfQkxLX1NaKTsKKwkJCQloZXhkdW1wKCJ0bXAgc3RhZ2UgMDogIiwgdG1wLCBERUZBVUxUX0JMS19TWik7CisJCQkJYnJlYWs7CisJCQljYXNlIDE6CisKKwkJCQkvKgorCQkJCSAqIE5leHQgeG9yIEkgd2l0aCBvdXIgc2VjcmV0IHZlY3RvciBWCisJCQkJICogZW5jcnlwdCB0aGF0IHJlc3VsdCB0byBvYnRhaW4gb3VyCisJCQkJICogcHNldWRvIHJhbmRvbSBkYXRhIHdoaWNoIHdlIG91dHB1dAorCQkJCSAqLworCQkJCXhvcl92ZWN0b3JzKGN0eC0+SSwgY3R4LT5WLCB0bXAsIERFRkFVTFRfQkxLX1NaKTsKKwkJCQlzZ19pbml0X29uZSgmc2dfb3V0LCAmY3R4LT5yYW5kX2RhdGFbMF0sIERFRkFVTFRfQkxLX1NaKTsKKwkJCQloZXhkdW1wKCJ0bXAgc3RhZ2UgMTogIiwgdG1wLCBERUZBVUxUX0JMS19TWik7CisJCQkJYnJlYWs7CisJCQljYXNlIDI6CisJCQkJLyoKKwkJCQkgKiBGaXJzdCBjaGVjayB0aGF0IHdlIGRpZG4ndCBwcm9kdWNlIHRoZSBzYW1lIHJhbmRvbSBkYXRhCisJCQkJICogdGhhdCB3ZSBkaWQgbGFzdCB0aW1lIGFyb3VuZCB0aHJvdWdoIHRoaXMKKwkJCQkgKi8KKwkJCQlpZiAoIW1lbWNtcChjdHgtPnJhbmRfZGF0YSwgY3R4LT5sYXN0X3JhbmRfZGF0YSwgREVGQVVMVF9CTEtfU1opKSB7CisJCQkJCXByaW50ayhLRVJOX0VSUiAiY3R4ICVwIEZhaWxlZCByZXBldGl0aW9uIGNoZWNrIVxuIiwKKwkJCQkJCWN0eCk7CisJCQkJCWN0eC0+ZmxhZ3MgfD0gUFJOR19ORUVEX1JFU0VUOworCQkJCQlyZXR1cm4gLTE7CisJCQkJfQorCQkJCW1lbWNweShjdHgtPmxhc3RfcmFuZF9kYXRhLCBjdHgtPnJhbmRfZGF0YSwgREVGQVVMVF9CTEtfU1opOworCisJCQkJLyoKKwkJCQkgKiBMYXN0bHkgeG9yIHRoZSByYW5kb20gZGF0YSB3aXRoIEkKKwkJCQkgKiBhbmQgZW5jcnlwdCB0aGF0IHRvIG9idGFpbiBhIG5ldyBzZWNyZXQgdmVjdG9yIFYKKwkJCQkgKi8KKwkJCQl4b3JfdmVjdG9ycyhjdHgtPnJhbmRfZGF0YSwgY3R4LT5JLCB0bXAsIERFRkFVTFRfQkxLX1NaKTsKKwkJCQlzZ19pbml0X29uZSgmc2dfb3V0LCAmY3R4LT5WWzBdLCBERUZBVUxUX0JMS19TWik7CisJCQkJaGV4ZHVtcCgidG1wIHN0YWdlIDI6ICIsIHRtcCwgREVGQVVMVF9CTEtfU1opOworCQkJCWJyZWFrOworCQl9CisKKwkJLyogSW5pdGlhbGl6ZSBvdXIgaW5wdXQgYnVmZmVyICovCisJCXNnX2luaXRfb25lKCZzZ19pbiwgJnRtcFswXSwgREVGQVVMVF9CTEtfU1opOworCisJCS8qIGRvIHRoZSBlbmNyeXB0aW9uICovCisJCXJldCA9IGNyeXB0b19ibGtjaXBoZXJfZW5jcnlwdCgmZGVzYywgJnNnX291dCwgJnNnX2luLCBERUZBVUxUX0JMS19TWik7CisKKwkJLyogQW5kIGNoZWNrIHRoZSByZXN1bHQgKi8KKwkJaWYgKHJldCkgeworCQkJZGJncHJpbnQoS0VSTl9DUklUICJFbmNyeXB0aW9uIG9mIG5ldyBibG9jayBmYWlsZWQgZm9yIGNvbnRleHQgJXBcbiIsY3R4KTsKKwkJCWN0eC0+cmFuZF9kYXRhX3ZhbGlkID0gREVGQVVMVF9CTEtfU1o7CisJCQlyZXR1cm4gLTE7CisJCX0KKworCX0KKworCS8qCisJICogTm93IHVwZGF0ZSBvdXIgRFQgdmFsdWUKKwkgKi8KKwlmb3IgKGk9REVGQVVMVF9CTEtfU1otMTtpPjA7aS0tKSB7CisJCWN0eC0+RFRbaV0gPSBjdHgtPkRUW2ktMV07CisJfQorCWN0eC0+RFRbMF0gKz0gMTsKKworCWRiZ3ByaW50KCJSZXR1cm5pbmcgbmV3IGJsb2NrIGZvciBjb250ZXh0ICVwXG4iLGN0eCk7CisJY3R4LT5yYW5kX2RhdGFfdmFsaWQgPSAwOworCisJaGV4ZHVtcCgiT3V0cHV0IERUOiAiLCBjdHgtPkRULCBERUZBVUxUX0JMS19TWik7CisJaGV4ZHVtcCgiT3V0cHV0IEk6ICIsIGN0eC0+SSwgREVGQVVMVF9CTEtfU1opOworCWhleGR1bXAoIk91dHB1dCBWOiAiLCBjdHgtPlYsIERFRkFVTFRfQkxLX1NaKTsKKwloZXhkdW1wKCJOZXcgUmFuZG9tIERhdGE6ICIsIGN0eC0+cmFuZF9kYXRhLCBERUZBVUxUX0JMS19TWik7CisKKwlyZXR1cm4gMDsKK30KKworLyogT3VyIGV4cG9ydGVkIGZ1bmN0aW9ucyAqLworaW50IGdldF9wcm5nX2J5dGVzKGNoYXIgKmJ1ZiwgaW50IG5ieXRlcywgc3RydWN0IHBybmdfY29udGV4dCAqY3R4KQoreworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJdW5zaWduZWQgY2hhciAqcHRyID0gYnVmOworCXVuc2lnbmVkIGludCBieXRlX2NvdW50ID0gKHVuc2lnbmVkIGludCluYnl0ZXM7CisJaW50IGVycjsKKworCisJaWYgKG5ieXRlcyA8IDApCisJCXJldHVybiAtRUlOVkFMOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJmN0eC0+cHJuZ19sb2NrLCBmbGFncyk7CisKKwllcnIgPSAtRUZBVUxUOworCWlmIChjdHgtPmZsYWdzICYgUFJOR19ORUVEX1JFU0VUKQorCQlnb3RvIGRvbmU7CisKKwkvKgorCSAqIElmIHRoZSBGSVhFRF9TSVpFIGZsYWcgaXMgb24sIG9ubHkgcmV0dXJuIHdob2xlIGJsb2NrcyBvZgorCSAqIHBzZXVkbyByYW5kb20gZGF0YQorCSAqLworCWVyciA9IC1FSU5WQUw7CisJaWYgKGN0eC0+ZmxhZ3MgJiBQUk5HX0ZJWEVEX1NJWkUpIHsKKwkJaWYgKG5ieXRlcyA8IERFRkFVTFRfQkxLX1NaKQorCQkJZ290byBkb25lOworCQlieXRlX2NvdW50ID0gREVGQVVMVF9CTEtfU1o7CisJfQorCisJZXJyID0gYnl0ZV9jb3VudDsKKworCWRiZ3ByaW50KEtFUk5fQ1JJVCAiZ2V0dGluZyAlZCByYW5kb20gYnl0ZXMgZm9yIGNvbnRleHQgJXBcbiIsYnl0ZV9jb3VudCwgY3R4KTsKKworCityZW1haW5kZXI6CisJaWYgKGN0eC0+cmFuZF9kYXRhX3ZhbGlkID09IERFRkFVTFRfQkxLX1NaKSB7CisJCWlmIChfZ2V0X21vcmVfcHJuZ19ieXRlcyhjdHgpIDwgMCkgeworCQkJbWVtc2V0KGJ1ZiwgMCwgbmJ5dGVzKTsKKwkJCWVyciA9IC1FRkFVTFQ7CisJCQlnb3RvIGRvbmU7CisJCX0KKwl9CisKKwkvKgorCSAqIENvcHkgdXAgdG8gdGhlIG5leHQgd2hvbGUgYmxvY2sgc2l6ZQorCSAqLworCWlmIChieXRlX2NvdW50IDwgREVGQVVMVF9CTEtfU1opIHsKKwkJZm9yICg7Y3R4LT5yYW5kX2RhdGFfdmFsaWQgPCBERUZBVUxUX0JMS19TWjsgY3R4LT5yYW5kX2RhdGFfdmFsaWQrKykgeworCQkJKnB0ciA9IGN0eC0+cmFuZF9kYXRhW2N0eC0+cmFuZF9kYXRhX3ZhbGlkXTsKKwkJCXB0cisrOworCQkJYnl0ZV9jb3VudC0tOworCQkJaWYgKGJ5dGVfY291bnQgPT0gMCkKKwkJCQlnb3RvIGRvbmU7CisJCX0KKwl9CisKKwkvKgorCSAqIE5vdyBjb3B5IHdob2xlIGJsb2NrcworCSAqLworCWZvcig7Ynl0ZV9jb3VudCA+PSBERUZBVUxUX0JMS19TWjsgYnl0ZV9jb3VudCAtPSBERUZBVUxUX0JMS19TWikgeworCQlpZiAoX2dldF9tb3JlX3BybmdfYnl0ZXMoY3R4KSA8IDApIHsKKwkJCW1lbXNldChidWYsIDAsIG5ieXRlcyk7CisJCQllcnIgPSAtMTsKKwkJCWdvdG8gZG9uZTsKKwkJfQorCQltZW1jcHkocHRyLCBjdHgtPnJhbmRfZGF0YSwgREVGQVVMVF9CTEtfU1opOworCQljdHgtPnJhbmRfZGF0YV92YWxpZCArPSBERUZBVUxUX0JMS19TWjsKKwkJcHRyICs9IERFRkFVTFRfQkxLX1NaOworCX0KKworCS8qCisJICogTm93IGNvcHkgYW55IGV4dHJhIHBhcnRpYWwgZGF0YQorCSAqLworCWlmIChieXRlX2NvdW50KQorCQlnb3RvIHJlbWFpbmRlcjsKKworZG9uZToKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjdHgtPnBybmdfbG9jaywgZmxhZ3MpOworCWRiZ3ByaW50KEtFUk5fQ1JJVCAicmV0dXJuaW5nICVkIGZyb20gZ2V0X3BybmdfYnl0ZXMgaW4gY29udGV4dCAlcFxuIixlcnIsIGN0eCk7CisJcmV0dXJuIGVycjsKK30KK0VYUE9SVF9TWU1CT0xfR1BMKGdldF9wcm5nX2J5dGVzKTsKKworc3RydWN0IHBybmdfY29udGV4dCAqYWxsb2NfcHJuZ19jb250ZXh0KHZvaWQpCit7CisJc3RydWN0IHBybmdfY29udGV4dCAqY3R4PWt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBwcm5nX2NvbnRleHQpLCBHRlBfS0VSTkVMKTsKKworCXNwaW5fbG9ja19pbml0KCZjdHgtPnBybmdfbG9jayk7CisKKwlpZiAocmVzZXRfcHJuZ19jb250ZXh0KGN0eCwgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCkpIHsKKwkJa2ZyZWUoY3R4KTsKKwkJY3R4ID0gTlVMTDsKKwl9CisKKwlkYmdwcmludChLRVJOX0NSSVQgInJldHVybmluZyBjb250ZXh0ICVwXG4iLGN0eCk7CisJcmV0dXJuIGN0eDsKK30KKworRVhQT1JUX1NZTUJPTF9HUEwoYWxsb2NfcHJuZ19jb250ZXh0KTsKKwordm9pZCBmcmVlX3BybmdfY29udGV4dChzdHJ1Y3QgcHJuZ19jb250ZXh0ICpjdHgpCit7CisJY3J5cHRvX2ZyZWVfYmxrY2lwaGVyKGN0eC0+dGZtKTsKKwlrZnJlZShjdHgpOworfQorRVhQT1JUX1NZTUJPTF9HUEwoZnJlZV9wcm5nX2NvbnRleHQpOworCitpbnQgcmVzZXRfcHJuZ19jb250ZXh0KHN0cnVjdCBwcm5nX2NvbnRleHQgKmN0eCwKKwkJICAgICAgIHVuc2lnbmVkIGNoYXIgKmtleSwgdW5zaWduZWQgY2hhciAqaXYsCisJCSAgICAgICB1bnNpZ25lZCBjaGFyICpWLCB1bnNpZ25lZCBjaGFyICpEVCkKK3sKKwlpbnQgcmV0OworCWludCBpdl9sZW47CisJaW50IHJjID0gLUVGQVVMVDsKKworCXNwaW5fbG9jaygmY3R4LT5wcm5nX2xvY2spOworCWN0eC0+ZmxhZ3MgfD0gUFJOR19ORUVEX1JFU0VUOworCisJaWYgKGtleSkKKwkJbWVtY3B5KGN0eC0+cHJuZ19rZXksa2V5LHN0cmxlbihjdHgtPnBybmdfa2V5KSk7CisJZWxzZQorCQljdHgtPnBybmdfa2V5ID0gREVGQVVMVF9QUk5HX0tFWTsKKworCWlmIChpdikKKwkJbWVtY3B5KGN0eC0+cHJuZ19pdixpdiwgc3RybGVuKGN0eC0+cHJuZ19pdikpOworCWVsc2UKKwkJY3R4LT5wcm5nX2l2ID0gREVGQVVMVF9QUk5HX0lWOworCisJaWYgKFYpCisJCW1lbWNweShjdHgtPlYsVixERUZBVUxUX0JMS19TWik7CisJZWxzZQorCQltZW1jcHkoY3R4LT5WLERFRkFVTFRfVl9TRUVELERFRkFVTFRfQkxLX1NaKTsKKworCWlmIChEVCkKKwkJbWVtY3B5KGN0eC0+RFQsIERULCBERUZBVUxUX0JMS19TWik7CisJZWxzZQorCQltZW1zZXQoY3R4LT5EVCwgMCwgREVGQVVMVF9CTEtfU1opOworCisJbWVtc2V0KGN0eC0+cmFuZF9kYXRhLDAsREVGQVVMVF9CTEtfU1opOworCW1lbXNldChjdHgtPmxhc3RfcmFuZF9kYXRhLDAsREVGQVVMVF9CTEtfU1opOworCisJaWYgKGN0eC0+dGZtKQorCQljcnlwdG9fZnJlZV9ibGtjaXBoZXIoY3R4LT50Zm0pOworCisJY3R4LT50Zm0gPSBjcnlwdG9fYWxsb2NfYmxrY2lwaGVyKCJyZmMzNjg2KGN0cihhZXMpKSIsMCwwKTsKKwlpZiAoIWN0eC0+dGZtKSB7CisJCWRiZ3ByaW50KEtFUk5fQ1JJVCAiRmFpbGVkIHRvIGFsbG9jIGNyeXB0byB0Zm0gZm9yIGNvbnRleHQgJXBcbiIsY3R4LT50Zm0pOworCQlnb3RvIG91dDsKKwl9CisKKwljdHgtPnJhbmRfZGF0YV92YWxpZCA9IERFRkFVTFRfQkxLX1NaOworCisJcmV0ID0gY3J5cHRvX2Jsa2NpcGhlcl9zZXRrZXkoY3R4LT50Zm0sIGN0eC0+cHJuZ19rZXksIHN0cmxlbihjdHgtPnBybmdfa2V5KSk7CisJaWYgKHJldCkgeworCQlkYmdwcmludChLRVJOX0NSSVQgIlBSTkc6IHNldGtleSgpIGZhaWxlZCBmbGFncz0leFxuIiwKKwkJCWNyeXB0b19ibGtjaXBoZXJfZ2V0X2ZsYWdzKGN0eC0+dGZtKSk7CisJCWNyeXB0b19mcmVlX2Jsa2NpcGhlcihjdHgtPnRmbSk7CisJCWdvdG8gb3V0OworCX0KKworCWl2X2xlbiA9IGNyeXB0b19ibGtjaXBoZXJfaXZzaXplKGN0eC0+dGZtKTsKKwlpZiAoaXZfbGVuKSB7CisJCWNyeXB0b19ibGtjaXBoZXJfc2V0X2l2KGN0eC0+dGZtLCBjdHgtPnBybmdfaXYsIGl2X2xlbik7CisJfQorCXJjID0gMDsKKwljdHgtPmZsYWdzICY9IH5QUk5HX05FRURfUkVTRVQ7CitvdXQ6CisJc3Bpbl91bmxvY2soJmN0eC0+cHJuZ19sb2NrKTsKKworCXJldHVybiByYzsKKworfQorRVhQT1JUX1NZTUJPTF9HUEwocmVzZXRfcHJuZ19jb250ZXh0KTsKKworLyogTW9kdWxlIGluaXRhbGl6YXRpb24gKi8KK3N0YXRpYyBpbnQgX19pbml0IHBybmdfbW9kX2luaXQodm9pZCkKK3sKKworI2lmZGVmIFRFU1RfUFJOR19PTl9TVEFSVAorCWludCBpOworCXVuc2lnbmVkIGNoYXIgdG1wYnVmW0RFRkFVTFRfQkxLX1NaXTsKKworCXN0cnVjdCBwcm5nX2NvbnRleHQgKmN0eCA9IGFsbG9jX3BybmdfY29udGV4dCgpOworCWlmIChjdHggPT0gTlVMTCkKKwkJcmV0dXJuIC1FRkFVTFQ7CisJZm9yIChpPTA7aTwxNjtpKyspIHsKKwkJaWYgKGdldF9wcm5nX2J5dGVzKHRtcGJ1ZiwgREVGQVVMVF9CTEtfU1osIGN0eCkgPCAwKSB7CisJCQlmcmVlX3BybmdfY29udGV4dChjdHgpOworCQkJcmV0dXJuIC1FRkFVTFQ7CisJCX0KKwl9CisJZnJlZV9wcm5nX2NvbnRleHQoY3R4KTsKKyNlbmRpZgorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIF9fZXhpdCBwcm5nX21vZF9maW5pKHZvaWQpCit7CisJcmV0dXJuOworfQorCitNT0RVTEVfTElDRU5TRSgiR1BMIik7CitNT0RVTEVfREVTQ1JJUFRJT04oIlNvZnR3YXJlIFBzZXVkbyBSYW5kb20gTnVtYmVyIEdlbmVyYXRvciIpOworTU9EVUxFX0FVVEhPUigiTmVpbCBIb3JtYW4gPG5ob3JtYW5AdHV4ZHJpdmVyLmNvbT4iKTsKK21vZHVsZV9wYXJhbShkYmcsIGludCwgMCk7CitNT0RVTEVfUEFSTV9ERVNDKGRiZywgIkJvb2xlYW4gdG8gZW5hYmxlIGRlYnVnZ2luZyAoMC8xID09IG9mZi9vbikiKTsKK21vZHVsZV9pbml0KHBybmdfbW9kX2luaXQpOworbW9kdWxlX2V4aXQocHJuZ19tb2RfZmluaSk7CmRpZmYgLS1naXQgYS9jcnlwdG8vcHJuZy5oIGIvY3J5cHRvL3BybmcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYWM5YmU1Ci0tLSAvZGV2L251bGwKKysrIGIvY3J5cHRvL3BybmcuaApAQCAtMCwwICsxLDI3IEBACisvKgorICogUFJORzogUHNldWRvIFJhbmRvbSBOdW1iZXIgR2VuZXJhdG9yCisgKgorICogIChDKSBOZWlsIEhvcm1hbiA8bmhvcm1hbkB0dXhkcml2ZXIuY29tPgorICoKKyAqICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAorICogIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZQorICogIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIKKyAqICBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKgorICovCisKKyNpZm5kZWYgX1BSTkdfSF8KKyNkZWZpbmUgX1BSTkdfSF8KK3N0cnVjdCBwcm5nX2NvbnRleHQ7CisKK2ludCBnZXRfcHJuZ19ieXRlcyhjaGFyICpidWYsIGludCBuYnl0ZXMsIHN0cnVjdCBwcm5nX2NvbnRleHQgKmN0eCk7CitzdHJ1Y3QgcHJuZ19jb250ZXh0ICphbGxvY19wcm5nX2NvbnRleHQodm9pZCk7CitpbnQgcmVzZXRfcHJuZ19jb250ZXh0KHN0cnVjdCBwcm5nX2NvbnRleHQgKmN0eCwKKwkJCXVuc2lnbmVkIGNoYXIgKmtleSwgdW5zaWduZWQgY2hhciAqaXYsCisJCQl1bnNpZ25lZCBjaGFyICpWLAorCQkJdW5zaWduZWQgY2hhciAqRFQpOwordm9pZCBmcmVlX3BybmdfY29udGV4dChzdHJ1Y3QgcHJuZ19jb250ZXh0ICpjdHgpOworCisjZW5kaWYKKwpkaWZmIC0tZ2l0IGEvY3J5cHRvL3JpcGVtZC5oIGIvY3J5cHRvL3JpcGVtZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM1N2EyZDQKLS0tIC9kZXYvbnVsbAorKysgYi9jcnlwdG8vcmlwZW1kLmgKQEAgLTAsMCArMSw0MyBAQAorLyoKKyAqIENvbW1vbiB2YWx1ZXMgZm9yIFJJUEVNRCBhbGdvcml0aG1zCisgKi8KKworI2lmbmRlZiBfQ1JZUFRPX1JNRF9ICisjZGVmaW5lIF9DUllQVE9fUk1EX0gKKworI2RlZmluZSBSTUQxMjhfRElHRVNUX1NJWkUgICAgICAxNgorI2RlZmluZSBSTUQxMjhfQkxPQ0tfU0laRSAgICAgICA2NAorCisjZGVmaW5lIFJNRDE2MF9ESUdFU1RfU0laRSAgICAgIDIwCisjZGVmaW5lIFJNRDE2MF9CTE9DS19TSVpFICAgICAgIDY0CisKKyNkZWZpbmUgUk1EMjU2X0RJR0VTVF9TSVpFICAgICAgMzIKKyNkZWZpbmUgUk1EMjU2X0JMT0NLX1NJWkUgICAgICAgNjQKKworI2RlZmluZSBSTUQzMjBfRElHRVNUX1NJWkUgICAgICA0MAorI2RlZmluZSBSTUQzMjBfQkxPQ0tfU0laRSAgICAgICA2NAorCisvKiBpbml0aWFsIHZhbHVlcyAgKi8KKyNkZWZpbmUgUk1EX0gwICAweDY3NDUyMzAxVUwKKyNkZWZpbmUgUk1EX0gxICAweGVmY2RhYjg5VUwKKyNkZWZpbmUgUk1EX0gyICAweDk4YmFkY2ZlVUwKKyNkZWZpbmUgUk1EX0gzICAweDEwMzI1NDc2VUwKKyNkZWZpbmUgUk1EX0g0ICAweGMzZDJlMWYwVUwKKyNkZWZpbmUgUk1EX0g1ICAweDc2NTQzMjEwVUwKKyNkZWZpbmUgUk1EX0g2ICAweGZlZGNiYTk4VUwKKyNkZWZpbmUgUk1EX0g3ICAweDg5YWJjZGVmVUwKKyNkZWZpbmUgUk1EX0g4ICAweDAxMjM0NTY3VUwKKyNkZWZpbmUgUk1EX0g5ICAweDNjMmQxZTBmVUwKKworLyogY29uc3RhbnRzICovCisjZGVmaW5lIFJNRF9LMSAgMHgwMDAwMDAwMFVMCisjZGVmaW5lIFJNRF9LMiAgMHg1YTgyNzk5OVVMCisjZGVmaW5lIFJNRF9LMyAgMHg2ZWQ5ZWJhMVVMCisjZGVmaW5lIFJNRF9LNCAgMHg4ZjFiYmNkY1VMCisjZGVmaW5lIFJNRF9LNSAgMHhhOTUzZmQ0ZVVMCisjZGVmaW5lIFJNRF9LNiAgMHg1MGEyOGJlNlVMCisjZGVmaW5lIFJNRF9LNyAgMHg1YzRkZDEyNFVMCisjZGVmaW5lIFJNRF9LOCAgMHg2ZDcwM2VmM1VMCisjZGVmaW5lIFJNRF9LOSAgMHg3YTZkNzZlOVVMCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvY3J5cHRvL3JtZDEyOC5jIGIvY3J5cHRvL3JtZDEyOC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVkZTZmYTIKLS0tIC9kZXYvbnVsbAorKysgYi9jcnlwdG8vcm1kMTI4LmMKQEAgLTAsMCArMSwzMjUgQEAKKy8qCisgKiBDcnlwdG9ncmFwaGljIEFQSS4KKyAqCisgKiBSSVBFTUQtMTI4IC0gUkFDRSBJbnRlZ3JpdHkgUHJpbWl0aXZlcyBFdmFsdWF0aW9uIE1lc3NhZ2UgRGlnZXN0LgorICoKKyAqIEJhc2VkIG9uIHRoZSByZWZlcmVuY2UgaW1wbGVtZW50YXRpb24gYnkgQW50b29uIEJvc3NlbGFlcnMsIEVTQVQtQ09TSUMKKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwMDggQWRyaWFuLUtlbiBSdWVlZ3NlZ2dlciA8cnVlZWdzZWdnZXIgKGF0KSBzd2lzcy1pdC5jaD4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAorICogdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUKKyAqIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikKKyAqIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqLworI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9tbS5oPgorI2luY2x1ZGUgPGxpbnV4L2NyeXB0by5oPgorI2luY2x1ZGUgPGxpbnV4L2NyeXB0b2hhc2guaD4KKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorI2luY2x1ZGUgPGFzbS9ieXRlb3JkZXIuaD4KKworI2luY2x1ZGUgInJpcGVtZC5oIgorCitzdHJ1Y3Qgcm1kMTI4X2N0eCB7CisJdTY0IGJ5dGVfY291bnQ7CisJdTMyIHN0YXRlWzRdOworCV9fbGUzMiBidWZmZXJbMTZdOworfTsKKworI2RlZmluZSBLMSAgUk1EX0sxCisjZGVmaW5lIEsyICBSTURfSzIKKyNkZWZpbmUgSzMgIFJNRF9LMworI2RlZmluZSBLNCAgUk1EX0s0CisjZGVmaW5lIEtLMSBSTURfSzYKKyNkZWZpbmUgS0syIFJNRF9LNworI2RlZmluZSBLSzMgUk1EX0s4CisjZGVmaW5lIEtLNCBSTURfSzEKKworI2RlZmluZSBGMSh4LCB5LCB6KSAoeCBeIHkgXiB6KQkJLyogWE9SICovCisjZGVmaW5lIEYyKHgsIHksIHopICh6IF4gKHggJiAoeSBeIHopKSkJLyogeCA/IHkgOiB6ICovCisjZGVmaW5lIEYzKHgsIHksIHopICgoeCB8IH55KSBeIHopCisjZGVmaW5lIEY0KHgsIHksIHopICh5IF4gKHogJiAoeCBeIHkpKSkJLyogeiA/IHggOiB5ICovCisKKyNkZWZpbmUgUk9VTkQoYSwgYiwgYywgZCwgZiwgaywgeCwgcykgIHsgXAorCShhKSArPSBmKChiKSwgKGMpLCAoZCkpICsgbGUzMl90b19jcHVwKCYoeCkpICsgKGspOwlcCisJKGEpID0gcm9sMzIoKGEpLCAocykpOyBcCit9CisKK3N0YXRpYyB2b2lkIHJtZDEyOF90cmFuc2Zvcm0odTMyICpzdGF0ZSwgY29uc3QgX19sZTMyICppbikKK3sKKwl1MzIgYWEsIGJiLCBjYywgZGQsIGFhYSwgYmJiLCBjY2MsIGRkZDsKKworCS8qIEluaXRpYWxpemUgbGVmdCBsYW5lICovCisJYWEgPSBzdGF0ZVswXTsKKwliYiA9IHN0YXRlWzFdOworCWNjID0gc3RhdGVbMl07CisJZGQgPSBzdGF0ZVszXTsKKworCS8qIEluaXRpYWxpemUgcmlnaHQgbGFuZSAqLworCWFhYSA9IHN0YXRlWzBdOworCWJiYiA9IHN0YXRlWzFdOworCWNjYyA9IHN0YXRlWzJdOworCWRkZCA9IHN0YXRlWzNdOworCisJLyogcm91bmQgMTogbGVmdCBsYW5lICovCisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIEYxLCBLMSwgaW5bMF0sICAxMSk7CisJUk9VTkQoZGQsIGFhLCBiYiwgY2MsIEYxLCBLMSwgaW5bMV0sICAxNCk7CisJUk9VTkQoY2MsIGRkLCBhYSwgYmIsIEYxLCBLMSwgaW5bMl0sICAxNSk7CisJUk9VTkQoYmIsIGNjLCBkZCwgYWEsIEYxLCBLMSwgaW5bM10sICAxMik7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIEYxLCBLMSwgaW5bNF0sICAgNSk7CisJUk9VTkQoZGQsIGFhLCBiYiwgY2MsIEYxLCBLMSwgaW5bNV0sICAgOCk7CisJUk9VTkQoY2MsIGRkLCBhYSwgYmIsIEYxLCBLMSwgaW5bNl0sICAgNyk7CisJUk9VTkQoYmIsIGNjLCBkZCwgYWEsIEYxLCBLMSwgaW5bN10sICAgOSk7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIEYxLCBLMSwgaW5bOF0sICAxMSk7CisJUk9VTkQoZGQsIGFhLCBiYiwgY2MsIEYxLCBLMSwgaW5bOV0sICAxMyk7CisJUk9VTkQoY2MsIGRkLCBhYSwgYmIsIEYxLCBLMSwgaW5bMTBdLCAxNCk7CisJUk9VTkQoYmIsIGNjLCBkZCwgYWEsIEYxLCBLMSwgaW5bMTFdLCAxNSk7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIEYxLCBLMSwgaW5bMTJdLCAgNik7CisJUk9VTkQoZGQsIGFhLCBiYiwgY2MsIEYxLCBLMSwgaW5bMTNdLCAgNyk7CisJUk9VTkQoY2MsIGRkLCBhYSwgYmIsIEYxLCBLMSwgaW5bMTRdLCAgOSk7CisJUk9VTkQoYmIsIGNjLCBkZCwgYWEsIEYxLCBLMSwgaW5bMTVdLCAgOCk7CisKKwkvKiByb3VuZCAyOiBsZWZ0IGxhbmUgKi8KKwlST1VORChhYSwgYmIsIGNjLCBkZCwgRjIsIEsyLCBpbls3XSwgICA3KTsKKwlST1VORChkZCwgYWEsIGJiLCBjYywgRjIsIEsyLCBpbls0XSwgICA2KTsKKwlST1VORChjYywgZGQsIGFhLCBiYiwgRjIsIEsyLCBpblsxM10sICA4KTsKKwlST1VORChiYiwgY2MsIGRkLCBhYSwgRjIsIEsyLCBpblsxXSwgIDEzKTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgRjIsIEsyLCBpblsxMF0sIDExKTsKKwlST1VORChkZCwgYWEsIGJiLCBjYywgRjIsIEsyLCBpbls2XSwgICA5KTsKKwlST1VORChjYywgZGQsIGFhLCBiYiwgRjIsIEsyLCBpblsxNV0sICA3KTsKKwlST1VORChiYiwgY2MsIGRkLCBhYSwgRjIsIEsyLCBpblszXSwgIDE1KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgRjIsIEsyLCBpblsxMl0sICA3KTsKKwlST1VORChkZCwgYWEsIGJiLCBjYywgRjIsIEsyLCBpblswXSwgIDEyKTsKKwlST1VORChjYywgZGQsIGFhLCBiYiwgRjIsIEsyLCBpbls5XSwgIDE1KTsKKwlST1VORChiYiwgY2MsIGRkLCBhYSwgRjIsIEsyLCBpbls1XSwgICA5KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgRjIsIEsyLCBpblsyXSwgIDExKTsKKwlST1VORChkZCwgYWEsIGJiLCBjYywgRjIsIEsyLCBpblsxNF0sICA3KTsKKwlST1VORChjYywgZGQsIGFhLCBiYiwgRjIsIEsyLCBpblsxMV0sIDEzKTsKKwlST1VORChiYiwgY2MsIGRkLCBhYSwgRjIsIEsyLCBpbls4XSwgIDEyKTsKKworCS8qIHJvdW5kIDM6IGxlZnQgbGFuZSAqLworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMywgSzMsIGluWzNdLCAgMTEpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMywgSzMsIGluWzEwXSwgMTMpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMywgSzMsIGluWzE0XSwgIDYpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMywgSzMsIGluWzRdLCAgIDcpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMywgSzMsIGluWzldLCAgMTQpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMywgSzMsIGluWzE1XSwgIDkpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMywgSzMsIGluWzhdLCAgMTMpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMywgSzMsIGluWzFdLCAgMTUpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMywgSzMsIGluWzJdLCAgMTQpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMywgSzMsIGluWzddLCAgIDgpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMywgSzMsIGluWzBdLCAgMTMpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMywgSzMsIGluWzZdLCAgIDYpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMywgSzMsIGluWzEzXSwgIDUpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMywgSzMsIGluWzExXSwgMTIpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMywgSzMsIGluWzVdLCAgIDcpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMywgSzMsIGluWzEyXSwgIDUpOworCisJLyogcm91bmQgNDogbGVmdCBsYW5lICovCisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIEY0LCBLNCwgaW5bMV0sICAxMSk7CisJUk9VTkQoZGQsIGFhLCBiYiwgY2MsIEY0LCBLNCwgaW5bOV0sICAxMik7CisJUk9VTkQoY2MsIGRkLCBhYSwgYmIsIEY0LCBLNCwgaW5bMTFdLCAxNCk7CisJUk9VTkQoYmIsIGNjLCBkZCwgYWEsIEY0LCBLNCwgaW5bMTBdLCAxNSk7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIEY0LCBLNCwgaW5bMF0sICAxNCk7CisJUk9VTkQoZGQsIGFhLCBiYiwgY2MsIEY0LCBLNCwgaW5bOF0sICAxNSk7CisJUk9VTkQoY2MsIGRkLCBhYSwgYmIsIEY0LCBLNCwgaW5bMTJdLCAgOSk7CisJUk9VTkQoYmIsIGNjLCBkZCwgYWEsIEY0LCBLNCwgaW5bNF0sICAgOCk7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIEY0LCBLNCwgaW5bMTNdLCAgOSk7CisJUk9VTkQoZGQsIGFhLCBiYiwgY2MsIEY0LCBLNCwgaW5bM10sICAxNCk7CisJUk9VTkQoY2MsIGRkLCBhYSwgYmIsIEY0LCBLNCwgaW5bN10sICAgNSk7CisJUk9VTkQoYmIsIGNjLCBkZCwgYWEsIEY0LCBLNCwgaW5bMTVdLCAgNik7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIEY0LCBLNCwgaW5bMTRdLCAgOCk7CisJUk9VTkQoZGQsIGFhLCBiYiwgY2MsIEY0LCBLNCwgaW5bNV0sICAgNik7CisJUk9VTkQoY2MsIGRkLCBhYSwgYmIsIEY0LCBLNCwgaW5bNl0sICAgNSk7CisJUk9VTkQoYmIsIGNjLCBkZCwgYWEsIEY0LCBLNCwgaW5bMl0sICAxMik7CisKKwkvKiByb3VuZCAxOiByaWdodCBsYW5lICovCisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBGNCwgS0sxLCBpbls1XSwgICA4KTsKKwlST1VORChkZGQsIGFhYSwgYmJiLCBjY2MsIEY0LCBLSzEsIGluWzE0XSwgIDkpOworCVJPVU5EKGNjYywgZGRkLCBhYWEsIGJiYiwgRjQsIEtLMSwgaW5bN10sICAgOSk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgYWFhLCBGNCwgS0sxLCBpblswXSwgIDExKTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIEY0LCBLSzEsIGluWzldLCAgMTMpOworCVJPVU5EKGRkZCwgYWFhLCBiYmIsIGNjYywgRjQsIEtLMSwgaW5bMl0sICAxNSk7CisJUk9VTkQoY2NjLCBkZGQsIGFhYSwgYmJiLCBGNCwgS0sxLCBpblsxMV0sIDE1KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBhYWEsIEY0LCBLSzEsIGluWzRdLCAgIDUpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgRjQsIEtLMSwgaW5bMTNdLCAgNyk7CisJUk9VTkQoZGRkLCBhYWEsIGJiYiwgY2NjLCBGNCwgS0sxLCBpbls2XSwgICA3KTsKKwlST1VORChjY2MsIGRkZCwgYWFhLCBiYmIsIEY0LCBLSzEsIGluWzE1XSwgIDgpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGFhYSwgRjQsIEtLMSwgaW5bOF0sICAxMSk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBGNCwgS0sxLCBpblsxXSwgIDE0KTsKKwlST1VORChkZGQsIGFhYSwgYmJiLCBjY2MsIEY0LCBLSzEsIGluWzEwXSwgMTQpOworCVJPVU5EKGNjYywgZGRkLCBhYWEsIGJiYiwgRjQsIEtLMSwgaW5bM10sICAxMik7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgYWFhLCBGNCwgS0sxLCBpblsxMl0sICA2KTsKKworCS8qIHJvdW5kIDI6IHJpZ2h0IGxhbmUgKi8KKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIEYzLCBLSzIsIGluWzZdLCAgIDkpOworCVJPVU5EKGRkZCwgYWFhLCBiYmIsIGNjYywgRjMsIEtLMiwgaW5bMTFdLCAxMyk7CisJUk9VTkQoY2NjLCBkZGQsIGFhYSwgYmJiLCBGMywgS0syLCBpblszXSwgIDE1KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBhYWEsIEYzLCBLSzIsIGluWzddLCAgIDcpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgRjMsIEtLMiwgaW5bMF0sICAxMik7CisJUk9VTkQoZGRkLCBhYWEsIGJiYiwgY2NjLCBGMywgS0syLCBpblsxM10sICA4KTsKKwlST1VORChjY2MsIGRkZCwgYWFhLCBiYmIsIEYzLCBLSzIsIGluWzVdLCAgIDkpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGFhYSwgRjMsIEtLMiwgaW5bMTBdLCAxMSk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBGMywgS0syLCBpblsxNF0sICA3KTsKKwlST1VORChkZGQsIGFhYSwgYmJiLCBjY2MsIEYzLCBLSzIsIGluWzE1XSwgIDcpOworCVJPVU5EKGNjYywgZGRkLCBhYWEsIGJiYiwgRjMsIEtLMiwgaW5bOF0sICAxMik7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgYWFhLCBGMywgS0syLCBpblsxMl0sICA3KTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIEYzLCBLSzIsIGluWzRdLCAgIDYpOworCVJPVU5EKGRkZCwgYWFhLCBiYmIsIGNjYywgRjMsIEtLMiwgaW5bOV0sICAxNSk7CisJUk9VTkQoY2NjLCBkZGQsIGFhYSwgYmJiLCBGMywgS0syLCBpblsxXSwgIDEzKTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBhYWEsIEYzLCBLSzIsIGluWzJdLCAgMTEpOworCisJLyogcm91bmQgMzogcmlnaHQgbGFuZSAqLworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgRjIsIEtLMywgaW5bMTVdLCAgOSk7CisJUk9VTkQoZGRkLCBhYWEsIGJiYiwgY2NjLCBGMiwgS0szLCBpbls1XSwgICA3KTsKKwlST1VORChjY2MsIGRkZCwgYWFhLCBiYmIsIEYyLCBLSzMsIGluWzFdLCAgMTUpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGFhYSwgRjIsIEtLMywgaW5bM10sICAxMSk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBGMiwgS0szLCBpbls3XSwgICA4KTsKKwlST1VORChkZGQsIGFhYSwgYmJiLCBjY2MsIEYyLCBLSzMsIGluWzE0XSwgIDYpOworCVJPVU5EKGNjYywgZGRkLCBhYWEsIGJiYiwgRjIsIEtLMywgaW5bNl0sICAgNik7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgYWFhLCBGMiwgS0szLCBpbls5XSwgIDE0KTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIEYyLCBLSzMsIGluWzExXSwgMTIpOworCVJPVU5EKGRkZCwgYWFhLCBiYmIsIGNjYywgRjIsIEtLMywgaW5bOF0sICAxMyk7CisJUk9VTkQoY2NjLCBkZGQsIGFhYSwgYmJiLCBGMiwgS0szLCBpblsxMl0sICA1KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBhYWEsIEYyLCBLSzMsIGluWzJdLCAgMTQpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgRjIsIEtLMywgaW5bMTBdLCAxMyk7CisJUk9VTkQoZGRkLCBhYWEsIGJiYiwgY2NjLCBGMiwgS0szLCBpblswXSwgIDEzKTsKKwlST1VORChjY2MsIGRkZCwgYWFhLCBiYmIsIEYyLCBLSzMsIGluWzRdLCAgIDcpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGFhYSwgRjIsIEtLMywgaW5bMTNdLCAgNSk7CisKKwkvKiByb3VuZCA0OiByaWdodCBsYW5lICovCisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBGMSwgS0s0LCBpbls4XSwgIDE1KTsKKwlST1VORChkZGQsIGFhYSwgYmJiLCBjY2MsIEYxLCBLSzQsIGluWzZdLCAgIDUpOworCVJPVU5EKGNjYywgZGRkLCBhYWEsIGJiYiwgRjEsIEtLNCwgaW5bNF0sICAgOCk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgYWFhLCBGMSwgS0s0LCBpblsxXSwgIDExKTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIEYxLCBLSzQsIGluWzNdLCAgMTQpOworCVJPVU5EKGRkZCwgYWFhLCBiYmIsIGNjYywgRjEsIEtLNCwgaW5bMTFdLCAxNCk7CisJUk9VTkQoY2NjLCBkZGQsIGFhYSwgYmJiLCBGMSwgS0s0LCBpblsxNV0sICA2KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBhYWEsIEYxLCBLSzQsIGluWzBdLCAgMTQpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgRjEsIEtLNCwgaW5bNV0sICAgNik7CisJUk9VTkQoZGRkLCBhYWEsIGJiYiwgY2NjLCBGMSwgS0s0LCBpblsxMl0sICA5KTsKKwlST1VORChjY2MsIGRkZCwgYWFhLCBiYmIsIEYxLCBLSzQsIGluWzJdLCAgMTIpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGFhYSwgRjEsIEtLNCwgaW5bMTNdLCAgOSk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBGMSwgS0s0LCBpbls5XSwgIDEyKTsKKwlST1VORChkZGQsIGFhYSwgYmJiLCBjY2MsIEYxLCBLSzQsIGluWzddLCAgIDUpOworCVJPVU5EKGNjYywgZGRkLCBhYWEsIGJiYiwgRjEsIEtLNCwgaW5bMTBdLCAxNSk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgYWFhLCBGMSwgS0s0LCBpblsxNF0sICA4KTsKKworCS8qIGNvbWJpbmUgcmVzdWx0cyAqLworCWRkZCArPSBjYyArIHN0YXRlWzFdOwkJLyogZmluYWwgcmVzdWx0IGZvciBzdGF0ZVswXSAqLworCXN0YXRlWzFdID0gc3RhdGVbMl0gKyBkZCArIGFhYTsKKwlzdGF0ZVsyXSA9IHN0YXRlWzNdICsgYWEgKyBiYmI7CisJc3RhdGVbM10gPSBzdGF0ZVswXSArIGJiICsgY2NjOworCXN0YXRlWzBdID0gZGRkOworCisJcmV0dXJuOworfQorCitzdGF0aWMgdm9pZCBybWQxMjhfaW5pdChzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtKQoreworCXN0cnVjdCBybWQxMjhfY3R4ICpyY3R4ID0gY3J5cHRvX3RmbV9jdHgodGZtKTsKKworCXJjdHgtPmJ5dGVfY291bnQgPSAwOworCisJcmN0eC0+c3RhdGVbMF0gPSBSTURfSDA7CisJcmN0eC0+c3RhdGVbMV0gPSBSTURfSDE7CisJcmN0eC0+c3RhdGVbMl0gPSBSTURfSDI7CisJcmN0eC0+c3RhdGVbM10gPSBSTURfSDM7CisKKwltZW1zZXQocmN0eC0+YnVmZmVyLCAwLCBzaXplb2YocmN0eC0+YnVmZmVyKSk7Cit9CisKK3N0YXRpYyB2b2lkIHJtZDEyOF91cGRhdGUoc3RydWN0IGNyeXB0b190Zm0gKnRmbSwgY29uc3QgdTggKmRhdGEsCisJCQkgIHVuc2lnbmVkIGludCBsZW4pCit7CisJc3RydWN0IHJtZDEyOF9jdHggKnJjdHggPSBjcnlwdG9fdGZtX2N0eCh0Zm0pOworCWNvbnN0IHUzMiBhdmFpbCA9IHNpemVvZihyY3R4LT5idWZmZXIpIC0gKHJjdHgtPmJ5dGVfY291bnQgJiAweDNmKTsKKworCXJjdHgtPmJ5dGVfY291bnQgKz0gbGVuOworCisJLyogRW5vdWdoIHNwYWNlIGluIGJ1ZmZlcj8gSWYgc28gY29weSBhbmQgd2UncmUgZG9uZSAqLworCWlmIChhdmFpbCA+IGxlbikgeworCQltZW1jcHkoKGNoYXIgKilyY3R4LT5idWZmZXIgKyAoc2l6ZW9mKHJjdHgtPmJ1ZmZlcikgLSBhdmFpbCksCisJCSAgICAgICBkYXRhLCBsZW4pOworCQlyZXR1cm47CisJfQorCisJbWVtY3B5KChjaGFyICopcmN0eC0+YnVmZmVyICsgKHNpemVvZihyY3R4LT5idWZmZXIpIC0gYXZhaWwpLAorCSAgICAgICBkYXRhLCBhdmFpbCk7CisKKwlybWQxMjhfdHJhbnNmb3JtKHJjdHgtPnN0YXRlLCByY3R4LT5idWZmZXIpOworCWRhdGEgKz0gYXZhaWw7CisJbGVuIC09IGF2YWlsOworCisJd2hpbGUgKGxlbiA+PSBzaXplb2YocmN0eC0+YnVmZmVyKSkgeworCQltZW1jcHkocmN0eC0+YnVmZmVyLCBkYXRhLCBzaXplb2YocmN0eC0+YnVmZmVyKSk7CisJCXJtZDEyOF90cmFuc2Zvcm0ocmN0eC0+c3RhdGUsIHJjdHgtPmJ1ZmZlcik7CisJCWRhdGEgKz0gc2l6ZW9mKHJjdHgtPmJ1ZmZlcik7CisJCWxlbiAtPSBzaXplb2YocmN0eC0+YnVmZmVyKTsKKwl9CisKKwltZW1jcHkocmN0eC0+YnVmZmVyLCBkYXRhLCBsZW4pOworfQorCisvKiBBZGQgcGFkZGluZyBhbmQgcmV0dXJuIHRoZSBtZXNzYWdlIGRpZ2VzdC4gKi8KK3N0YXRpYyB2b2lkIHJtZDEyOF9maW5hbChzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtLCB1OCAqb3V0KQoreworCXN0cnVjdCBybWQxMjhfY3R4ICpyY3R4ID0gY3J5cHRvX3RmbV9jdHgodGZtKTsKKwl1MzIgaSwgaW5kZXgsIHBhZGxlbjsKKwlfX2xlNjQgYml0czsKKwlfX2xlMzIgKmRzdCA9IChfX2xlMzIgKilvdXQ7CisJc3RhdGljIGNvbnN0IHU4IHBhZGRpbmdbNjRdID0geyAweDgwLCB9OworCisJYml0cyA9IGNwdV90b19sZTY0KHJjdHgtPmJ5dGVfY291bnQgPDwgMyk7CisKKwkvKiBQYWQgb3V0IHRvIDU2IG1vZCA2NCAqLworCWluZGV4ID0gcmN0eC0+Ynl0ZV9jb3VudCAmIDB4M2Y7CisJcGFkbGVuID0gKGluZGV4IDwgNTYpID8gKDU2IC0gaW5kZXgpIDogKCg2NCs1NikgLSBpbmRleCk7CisJcm1kMTI4X3VwZGF0ZSh0Zm0sIHBhZGRpbmcsIHBhZGxlbik7CisKKwkvKiBBcHBlbmQgbGVuZ3RoICovCisJcm1kMTI4X3VwZGF0ZSh0Zm0sIChjb25zdCB1OCAqKSZiaXRzLCBzaXplb2YoYml0cykpOworCisJLyogU3RvcmUgc3RhdGUgaW4gZGlnZXN0ICovCisJZm9yIChpID0gMDsgaSA8IDQ7IGkrKykKKwkJZHN0W2ldID0gY3B1X3RvX2xlMzJwKCZyY3R4LT5zdGF0ZVtpXSk7CisKKwkvKiBXaXBlIGNvbnRleHQgKi8KKwltZW1zZXQocmN0eCwgMCwgc2l6ZW9mKCpyY3R4KSk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgY3J5cHRvX2FsZyBhbGcgPSB7CisJLmNyYV9uYW1lCSA9CSJybWQxMjgiLAorCS5jcmFfZHJpdmVyX25hbWUgPQkicm1kMTI4IiwKKwkuY3JhX2ZsYWdzCSA9CUNSWVBUT19BTEdfVFlQRV9ESUdFU1QsCisJLmNyYV9ibG9ja3NpemUJID0JUk1EMTI4X0JMT0NLX1NJWkUsCisJLmNyYV9jdHhzaXplCSA9CXNpemVvZihzdHJ1Y3Qgcm1kMTI4X2N0eCksCisJLmNyYV9tb2R1bGUJID0JVEhJU19NT0RVTEUsCisJLmNyYV9saXN0CSA9CUxJU1RfSEVBRF9JTklUKGFsZy5jcmFfbGlzdCksCisJLmNyYV91CQkgPQl7IC5kaWdlc3QgPSB7CisJLmRpYV9kaWdlc3RzaXplCSA9CVJNRDEyOF9ESUdFU1RfU0laRSwKKwkuZGlhX2luaXQJID0Jcm1kMTI4X2luaXQsCisJLmRpYV91cGRhdGUJID0Jcm1kMTI4X3VwZGF0ZSwKKwkuZGlhX2ZpbmFsCSA9CXJtZDEyOF9maW5hbCB9IH0KK307CisKK3N0YXRpYyBpbnQgX19pbml0IHJtZDEyOF9tb2RfaW5pdCh2b2lkKQoreworCXJldHVybiBjcnlwdG9fcmVnaXN0ZXJfYWxnKCZhbGcpOworfQorCitzdGF0aWMgdm9pZCBfX2V4aXQgcm1kMTI4X21vZF9maW5pKHZvaWQpCit7CisJY3J5cHRvX3VucmVnaXN0ZXJfYWxnKCZhbGcpOworfQorCittb2R1bGVfaW5pdChybWQxMjhfbW9kX2luaXQpOworbW9kdWxlX2V4aXQocm1kMTI4X21vZF9maW5pKTsKKworTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOworTU9EVUxFX0RFU0NSSVBUSU9OKCJSSVBFTUQtMTI4IE1lc3NhZ2UgRGlnZXN0Iik7CisKK01PRFVMRV9BTElBUygicm1kMTI4Iik7CmRpZmYgLS1naXQgYS9jcnlwdG8vcm1kMTYwLmMgYi9jcnlwdG8vcm1kMTYwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjAwMWVjNwotLS0gL2Rldi9udWxsCisrKyBiL2NyeXB0by9ybWQxNjAuYwpAQCAtMCwwICsxLDM2OSBAQAorLyoKKyAqIENyeXB0b2dyYXBoaWMgQVBJLgorICoKKyAqIFJJUEVNRC0xNjAgLSBSQUNFIEludGVncml0eSBQcmltaXRpdmVzIEV2YWx1YXRpb24gTWVzc2FnZSBEaWdlc3QuCisgKgorICogQmFzZWQgb24gdGhlIHJlZmVyZW5jZSBpbXBsZW1lbnRhdGlvbiBieSBBbnRvb24gQm9zc2VsYWVycywgRVNBVC1DT1NJQworICoKKyAqIENvcHlyaWdodCAoYykgMjAwOCBBZHJpYW4tS2VuIFJ1ZWVnc2VnZ2VyIDxydWVlZ3NlZ2dlciAoYXQpIHN3aXNzLWl0LmNoPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0CisgKiB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZQorICogU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKQorICogYW55IGxhdGVyIHZlcnNpb24uCisgKgorICovCisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L21tLmg+CisjaW5jbHVkZSA8bGludXgvY3J5cHRvLmg+CisjaW5jbHVkZSA8bGludXgvY3J5cHRvaGFzaC5oPgorI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisjaW5jbHVkZSA8YXNtL2J5dGVvcmRlci5oPgorCisjaW5jbHVkZSAicmlwZW1kLmgiCisKK3N0cnVjdCBybWQxNjBfY3R4IHsKKwl1NjQgYnl0ZV9jb3VudDsKKwl1MzIgc3RhdGVbNV07CisJX19sZTMyIGJ1ZmZlclsxNl07Cit9OworCisjZGVmaW5lIEsxICBSTURfSzEKKyNkZWZpbmUgSzIgIFJNRF9LMgorI2RlZmluZSBLMyAgUk1EX0szCisjZGVmaW5lIEs0ICBSTURfSzQKKyNkZWZpbmUgSzUgIFJNRF9LNQorI2RlZmluZSBLSzEgUk1EX0s2CisjZGVmaW5lIEtLMiBSTURfSzcKKyNkZWZpbmUgS0szIFJNRF9LOAorI2RlZmluZSBLSzQgUk1EX0s5CisjZGVmaW5lIEtLNSBSTURfSzEKKworI2RlZmluZSBGMSh4LCB5LCB6KSAoeCBeIHkgXiB6KQkJLyogWE9SICovCisjZGVmaW5lIEYyKHgsIHksIHopICh6IF4gKHggJiAoeSBeIHopKSkJLyogeCA/IHkgOiB6ICovCisjZGVmaW5lIEYzKHgsIHksIHopICgoeCB8IH55KSBeIHopCisjZGVmaW5lIEY0KHgsIHksIHopICh5IF4gKHogJiAoeCBeIHkpKSkJLyogeiA/IHggOiB5ICovCisjZGVmaW5lIEY1KHgsIHksIHopICh4IF4gKHkgfCB+eikpCisKKyNkZWZpbmUgUk9VTkQoYSwgYiwgYywgZCwgZSwgZiwgaywgeCwgcykgIHsgXAorCShhKSArPSBmKChiKSwgKGMpLCAoZCkpICsgbGUzMl90b19jcHVwKCYoeCkpICsgKGspOyBcCisJKGEpID0gcm9sMzIoKGEpLCAocykpICsgKGUpOyBcCisJKGMpID0gcm9sMzIoKGMpLCAxMCk7IFwKK30KKworc3RhdGljIHZvaWQgcm1kMTYwX3RyYW5zZm9ybSh1MzIgKnN0YXRlLCBjb25zdCBfX2xlMzIgKmluKQoreworCXUzMiBhYSwgYmIsIGNjLCBkZCwgZWUsIGFhYSwgYmJiLCBjY2MsIGRkZCwgZWVlOworCisJLyogSW5pdGlhbGl6ZSBsZWZ0IGxhbmUgKi8KKwlhYSA9IHN0YXRlWzBdOworCWJiID0gc3RhdGVbMV07CisJY2MgPSBzdGF0ZVsyXTsKKwlkZCA9IHN0YXRlWzNdOworCWVlID0gc3RhdGVbNF07CisKKwkvKiBJbml0aWFsaXplIHJpZ2h0IGxhbmUgKi8KKwlhYWEgPSBzdGF0ZVswXTsKKwliYmIgPSBzdGF0ZVsxXTsKKwljY2MgPSBzdGF0ZVsyXTsKKwlkZGQgPSBzdGF0ZVszXTsKKwllZWUgPSBzdGF0ZVs0XTsKKworCS8qIHJvdW5kIDE6IGxlZnQgbGFuZSAqLworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBlZSwgRjEsIEsxLCBpblswXSwgIDExKTsKKwlST1VORChlZSwgYWEsIGJiLCBjYywgZGQsIEYxLCBLMSwgaW5bMV0sICAxNCk7CisJUk9VTkQoZGQsIGVlLCBhYSwgYmIsIGNjLCBGMSwgSzEsIGluWzJdLCAgMTUpOworCVJPVU5EKGNjLCBkZCwgZWUsIGFhLCBiYiwgRjEsIEsxLCBpblszXSwgIDEyKTsKKwlST1VORChiYiwgY2MsIGRkLCBlZSwgYWEsIEYxLCBLMSwgaW5bNF0sICAgNSk7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIGVlLCBGMSwgSzEsIGluWzVdLCAgIDgpOworCVJPVU5EKGVlLCBhYSwgYmIsIGNjLCBkZCwgRjEsIEsxLCBpbls2XSwgICA3KTsKKwlST1VORChkZCwgZWUsIGFhLCBiYiwgY2MsIEYxLCBLMSwgaW5bN10sICAgOSk7CisJUk9VTkQoY2MsIGRkLCBlZSwgYWEsIGJiLCBGMSwgSzEsIGluWzhdLCAgMTEpOworCVJPVU5EKGJiLCBjYywgZGQsIGVlLCBhYSwgRjEsIEsxLCBpbls5XSwgIDEzKTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgZWUsIEYxLCBLMSwgaW5bMTBdLCAxNCk7CisJUk9VTkQoZWUsIGFhLCBiYiwgY2MsIGRkLCBGMSwgSzEsIGluWzExXSwgMTUpOworCVJPVU5EKGRkLCBlZSwgYWEsIGJiLCBjYywgRjEsIEsxLCBpblsxMl0sICA2KTsKKwlST1VORChjYywgZGQsIGVlLCBhYSwgYmIsIEYxLCBLMSwgaW5bMTNdLCAgNyk7CisJUk9VTkQoYmIsIGNjLCBkZCwgZWUsIGFhLCBGMSwgSzEsIGluWzE0XSwgIDkpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBlZSwgRjEsIEsxLCBpblsxNV0sICA4KTsKKworCS8qIHJvdW5kIDI6IGxlZnQgbGFuZSIgKi8KKwlST1VORChlZSwgYWEsIGJiLCBjYywgZGQsIEYyLCBLMiwgaW5bN10sICAgNyk7CisJUk9VTkQoZGQsIGVlLCBhYSwgYmIsIGNjLCBGMiwgSzIsIGluWzRdLCAgIDYpOworCVJPVU5EKGNjLCBkZCwgZWUsIGFhLCBiYiwgRjIsIEsyLCBpblsxM10sICA4KTsKKwlST1VORChiYiwgY2MsIGRkLCBlZSwgYWEsIEYyLCBLMiwgaW5bMV0sICAxMyk7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIGVlLCBGMiwgSzIsIGluWzEwXSwgMTEpOworCVJPVU5EKGVlLCBhYSwgYmIsIGNjLCBkZCwgRjIsIEsyLCBpbls2XSwgICA5KTsKKwlST1VORChkZCwgZWUsIGFhLCBiYiwgY2MsIEYyLCBLMiwgaW5bMTVdLCAgNyk7CisJUk9VTkQoY2MsIGRkLCBlZSwgYWEsIGJiLCBGMiwgSzIsIGluWzNdLCAgMTUpOworCVJPVU5EKGJiLCBjYywgZGQsIGVlLCBhYSwgRjIsIEsyLCBpblsxMl0sICA3KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgZWUsIEYyLCBLMiwgaW5bMF0sICAxMik7CisJUk9VTkQoZWUsIGFhLCBiYiwgY2MsIGRkLCBGMiwgSzIsIGluWzldLCAgMTUpOworCVJPVU5EKGRkLCBlZSwgYWEsIGJiLCBjYywgRjIsIEsyLCBpbls1XSwgICA5KTsKKwlST1VORChjYywgZGQsIGVlLCBhYSwgYmIsIEYyLCBLMiwgaW5bMl0sICAxMSk7CisJUk9VTkQoYmIsIGNjLCBkZCwgZWUsIGFhLCBGMiwgSzIsIGluWzE0XSwgIDcpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBlZSwgRjIsIEsyLCBpblsxMV0sIDEzKTsKKwlST1VORChlZSwgYWEsIGJiLCBjYywgZGQsIEYyLCBLMiwgaW5bOF0sICAxMik7CisKKwkvKiByb3VuZCAzOiBsZWZ0IGxhbmUiICovCisJUk9VTkQoZGQsIGVlLCBhYSwgYmIsIGNjLCBGMywgSzMsIGluWzNdLCAgMTEpOworCVJPVU5EKGNjLCBkZCwgZWUsIGFhLCBiYiwgRjMsIEszLCBpblsxMF0sIDEzKTsKKwlST1VORChiYiwgY2MsIGRkLCBlZSwgYWEsIEYzLCBLMywgaW5bMTRdLCAgNik7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIGVlLCBGMywgSzMsIGluWzRdLCAgIDcpOworCVJPVU5EKGVlLCBhYSwgYmIsIGNjLCBkZCwgRjMsIEszLCBpbls5XSwgIDE0KTsKKwlST1VORChkZCwgZWUsIGFhLCBiYiwgY2MsIEYzLCBLMywgaW5bMTVdLCAgOSk7CisJUk9VTkQoY2MsIGRkLCBlZSwgYWEsIGJiLCBGMywgSzMsIGluWzhdLCAgMTMpOworCVJPVU5EKGJiLCBjYywgZGQsIGVlLCBhYSwgRjMsIEszLCBpblsxXSwgIDE1KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgZWUsIEYzLCBLMywgaW5bMl0sICAxNCk7CisJUk9VTkQoZWUsIGFhLCBiYiwgY2MsIGRkLCBGMywgSzMsIGluWzddLCAgIDgpOworCVJPVU5EKGRkLCBlZSwgYWEsIGJiLCBjYywgRjMsIEszLCBpblswXSwgIDEzKTsKKwlST1VORChjYywgZGQsIGVlLCBhYSwgYmIsIEYzLCBLMywgaW5bNl0sICAgNik7CisJUk9VTkQoYmIsIGNjLCBkZCwgZWUsIGFhLCBGMywgSzMsIGluWzEzXSwgIDUpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBlZSwgRjMsIEszLCBpblsxMV0sIDEyKTsKKwlST1VORChlZSwgYWEsIGJiLCBjYywgZGQsIEYzLCBLMywgaW5bNV0sICAgNyk7CisJUk9VTkQoZGQsIGVlLCBhYSwgYmIsIGNjLCBGMywgSzMsIGluWzEyXSwgIDUpOworCisJLyogcm91bmQgNDogbGVmdCBsYW5lIiAqLworCVJPVU5EKGNjLCBkZCwgZWUsIGFhLCBiYiwgRjQsIEs0LCBpblsxXSwgIDExKTsKKwlST1VORChiYiwgY2MsIGRkLCBlZSwgYWEsIEY0LCBLNCwgaW5bOV0sICAxMik7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIGVlLCBGNCwgSzQsIGluWzExXSwgMTQpOworCVJPVU5EKGVlLCBhYSwgYmIsIGNjLCBkZCwgRjQsIEs0LCBpblsxMF0sIDE1KTsKKwlST1VORChkZCwgZWUsIGFhLCBiYiwgY2MsIEY0LCBLNCwgaW5bMF0sICAxNCk7CisJUk9VTkQoY2MsIGRkLCBlZSwgYWEsIGJiLCBGNCwgSzQsIGluWzhdLCAgMTUpOworCVJPVU5EKGJiLCBjYywgZGQsIGVlLCBhYSwgRjQsIEs0LCBpblsxMl0sICA5KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgZWUsIEY0LCBLNCwgaW5bNF0sICAgOCk7CisJUk9VTkQoZWUsIGFhLCBiYiwgY2MsIGRkLCBGNCwgSzQsIGluWzEzXSwgIDkpOworCVJPVU5EKGRkLCBlZSwgYWEsIGJiLCBjYywgRjQsIEs0LCBpblszXSwgIDE0KTsKKwlST1VORChjYywgZGQsIGVlLCBhYSwgYmIsIEY0LCBLNCwgaW5bN10sICAgNSk7CisJUk9VTkQoYmIsIGNjLCBkZCwgZWUsIGFhLCBGNCwgSzQsIGluWzE1XSwgIDYpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBlZSwgRjQsIEs0LCBpblsxNF0sICA4KTsKKwlST1VORChlZSwgYWEsIGJiLCBjYywgZGQsIEY0LCBLNCwgaW5bNV0sICAgNik7CisJUk9VTkQoZGQsIGVlLCBhYSwgYmIsIGNjLCBGNCwgSzQsIGluWzZdLCAgIDUpOworCVJPVU5EKGNjLCBkZCwgZWUsIGFhLCBiYiwgRjQsIEs0LCBpblsyXSwgIDEyKTsKKworCS8qIHJvdW5kIDU6IGxlZnQgbGFuZSIgKi8KKwlST1VORChiYiwgY2MsIGRkLCBlZSwgYWEsIEY1LCBLNSwgaW5bNF0sICAgOSk7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIGVlLCBGNSwgSzUsIGluWzBdLCAgMTUpOworCVJPVU5EKGVlLCBhYSwgYmIsIGNjLCBkZCwgRjUsIEs1LCBpbls1XSwgICA1KTsKKwlST1VORChkZCwgZWUsIGFhLCBiYiwgY2MsIEY1LCBLNSwgaW5bOV0sICAxMSk7CisJUk9VTkQoY2MsIGRkLCBlZSwgYWEsIGJiLCBGNSwgSzUsIGluWzddLCAgIDYpOworCVJPVU5EKGJiLCBjYywgZGQsIGVlLCBhYSwgRjUsIEs1LCBpblsxMl0sICA4KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgZWUsIEY1LCBLNSwgaW5bMl0sICAxMyk7CisJUk9VTkQoZWUsIGFhLCBiYiwgY2MsIGRkLCBGNSwgSzUsIGluWzEwXSwgMTIpOworCVJPVU5EKGRkLCBlZSwgYWEsIGJiLCBjYywgRjUsIEs1LCBpblsxNF0sICA1KTsKKwlST1VORChjYywgZGQsIGVlLCBhYSwgYmIsIEY1LCBLNSwgaW5bMV0sICAxMik7CisJUk9VTkQoYmIsIGNjLCBkZCwgZWUsIGFhLCBGNSwgSzUsIGluWzNdLCAgMTMpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBlZSwgRjUsIEs1LCBpbls4XSwgIDE0KTsKKwlST1VORChlZSwgYWEsIGJiLCBjYywgZGQsIEY1LCBLNSwgaW5bMTFdLCAxMSk7CisJUk9VTkQoZGQsIGVlLCBhYSwgYmIsIGNjLCBGNSwgSzUsIGluWzZdLCAgIDgpOworCVJPVU5EKGNjLCBkZCwgZWUsIGFhLCBiYiwgRjUsIEs1LCBpblsxNV0sICA1KTsKKwlST1VORChiYiwgY2MsIGRkLCBlZSwgYWEsIEY1LCBLNSwgaW5bMTNdLCAgNik7CisKKwkvKiByb3VuZCAxOiByaWdodCBsYW5lICovCisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBlZWUsIEY1LCBLSzEsIGluWzVdLCAgIDgpOworCVJPVU5EKGVlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBGNSwgS0sxLCBpblsxNF0sICA5KTsKKwlST1VORChkZGQsIGVlZSwgYWFhLCBiYmIsIGNjYywgRjUsIEtLMSwgaW5bN10sICAgOSk7CisJUk9VTkQoY2NjLCBkZGQsIGVlZSwgYWFhLCBiYmIsIEY1LCBLSzEsIGluWzBdLCAgMTEpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGVlZSwgYWFhLCBGNSwgS0sxLCBpbls5XSwgIDEzKTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIGVlZSwgRjUsIEtLMSwgaW5bMl0sICAxNSk7CisJUk9VTkQoZWVlLCBhYWEsIGJiYiwgY2NjLCBkZGQsIEY1LCBLSzEsIGluWzExXSwgMTUpOworCVJPVU5EKGRkZCwgZWVlLCBhYWEsIGJiYiwgY2NjLCBGNSwgS0sxLCBpbls0XSwgICA1KTsKKwlST1VORChjY2MsIGRkZCwgZWVlLCBhYWEsIGJiYiwgRjUsIEtLMSwgaW5bMTNdLCAgNyk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgZWVlLCBhYWEsIEY1LCBLSzEsIGluWzZdLCAgIDcpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgZWVlLCBGNSwgS0sxLCBpblsxNV0sICA4KTsKKwlST1VORChlZWUsIGFhYSwgYmJiLCBjY2MsIGRkZCwgRjUsIEtLMSwgaW5bOF0sICAxMSk7CisJUk9VTkQoZGRkLCBlZWUsIGFhYSwgYmJiLCBjY2MsIEY1LCBLSzEsIGluWzFdLCAgMTQpOworCVJPVU5EKGNjYywgZGRkLCBlZWUsIGFhYSwgYmJiLCBGNSwgS0sxLCBpblsxMF0sIDE0KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBlZWUsIGFhYSwgRjUsIEtLMSwgaW5bM10sICAxMik7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBlZWUsIEY1LCBLSzEsIGluWzEyXSwgIDYpOworCisJLyogcm91bmQgMjogcmlnaHQgbGFuZSAqLworCVJPVU5EKGVlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBGNCwgS0syLCBpbls2XSwgICA5KTsKKwlST1VORChkZGQsIGVlZSwgYWFhLCBiYmIsIGNjYywgRjQsIEtLMiwgaW5bMTFdLCAxMyk7CisJUk9VTkQoY2NjLCBkZGQsIGVlZSwgYWFhLCBiYmIsIEY0LCBLSzIsIGluWzNdLCAgMTUpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGVlZSwgYWFhLCBGNCwgS0syLCBpbls3XSwgICA3KTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIGVlZSwgRjQsIEtLMiwgaW5bMF0sICAxMik7CisJUk9VTkQoZWVlLCBhYWEsIGJiYiwgY2NjLCBkZGQsIEY0LCBLSzIsIGluWzEzXSwgIDgpOworCVJPVU5EKGRkZCwgZWVlLCBhYWEsIGJiYiwgY2NjLCBGNCwgS0syLCBpbls1XSwgICA5KTsKKwlST1VORChjY2MsIGRkZCwgZWVlLCBhYWEsIGJiYiwgRjQsIEtLMiwgaW5bMTBdLCAxMSk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgZWVlLCBhYWEsIEY0LCBLSzIsIGluWzE0XSwgIDcpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgZWVlLCBGNCwgS0syLCBpblsxNV0sICA3KTsKKwlST1VORChlZWUsIGFhYSwgYmJiLCBjY2MsIGRkZCwgRjQsIEtLMiwgaW5bOF0sICAxMik7CisJUk9VTkQoZGRkLCBlZWUsIGFhYSwgYmJiLCBjY2MsIEY0LCBLSzIsIGluWzEyXSwgIDcpOworCVJPVU5EKGNjYywgZGRkLCBlZWUsIGFhYSwgYmJiLCBGNCwgS0syLCBpbls0XSwgICA2KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBlZWUsIGFhYSwgRjQsIEtLMiwgaW5bOV0sICAxNSk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBlZWUsIEY0LCBLSzIsIGluWzFdLCAgMTMpOworCVJPVU5EKGVlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBGNCwgS0syLCBpblsyXSwgIDExKTsKKworCS8qIHJvdW5kIDM6IHJpZ2h0IGxhbmUgKi8KKwlST1VORChkZGQsIGVlZSwgYWFhLCBiYmIsIGNjYywgRjMsIEtLMywgaW5bMTVdLCAgOSk7CisJUk9VTkQoY2NjLCBkZGQsIGVlZSwgYWFhLCBiYmIsIEYzLCBLSzMsIGluWzVdLCAgIDcpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGVlZSwgYWFhLCBGMywgS0szLCBpblsxXSwgIDE1KTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIGVlZSwgRjMsIEtLMywgaW5bM10sICAxMSk7CisJUk9VTkQoZWVlLCBhYWEsIGJiYiwgY2NjLCBkZGQsIEYzLCBLSzMsIGluWzddLCAgIDgpOworCVJPVU5EKGRkZCwgZWVlLCBhYWEsIGJiYiwgY2NjLCBGMywgS0szLCBpblsxNF0sICA2KTsKKwlST1VORChjY2MsIGRkZCwgZWVlLCBhYWEsIGJiYiwgRjMsIEtLMywgaW5bNl0sICAgNik7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgZWVlLCBhYWEsIEYzLCBLSzMsIGluWzldLCAgMTQpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgZWVlLCBGMywgS0szLCBpblsxMV0sIDEyKTsKKwlST1VORChlZWUsIGFhYSwgYmJiLCBjY2MsIGRkZCwgRjMsIEtLMywgaW5bOF0sICAxMyk7CisJUk9VTkQoZGRkLCBlZWUsIGFhYSwgYmJiLCBjY2MsIEYzLCBLSzMsIGluWzEyXSwgIDUpOworCVJPVU5EKGNjYywgZGRkLCBlZWUsIGFhYSwgYmJiLCBGMywgS0szLCBpblsyXSwgIDE0KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBlZWUsIGFhYSwgRjMsIEtLMywgaW5bMTBdLCAxMyk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBlZWUsIEYzLCBLSzMsIGluWzBdLCAgMTMpOworCVJPVU5EKGVlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBGMywgS0szLCBpbls0XSwgICA3KTsKKwlST1VORChkZGQsIGVlZSwgYWFhLCBiYmIsIGNjYywgRjMsIEtLMywgaW5bMTNdLCAgNSk7CisKKwkvKiByb3VuZCA0OiByaWdodCBsYW5lICovCisJUk9VTkQoY2NjLCBkZGQsIGVlZSwgYWFhLCBiYmIsIEYyLCBLSzQsIGluWzhdLCAgMTUpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGVlZSwgYWFhLCBGMiwgS0s0LCBpbls2XSwgICA1KTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIGVlZSwgRjIsIEtLNCwgaW5bNF0sICAgOCk7CisJUk9VTkQoZWVlLCBhYWEsIGJiYiwgY2NjLCBkZGQsIEYyLCBLSzQsIGluWzFdLCAgMTEpOworCVJPVU5EKGRkZCwgZWVlLCBhYWEsIGJiYiwgY2NjLCBGMiwgS0s0LCBpblszXSwgIDE0KTsKKwlST1VORChjY2MsIGRkZCwgZWVlLCBhYWEsIGJiYiwgRjIsIEtLNCwgaW5bMTFdLCAxNCk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgZWVlLCBhYWEsIEYyLCBLSzQsIGluWzE1XSwgIDYpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgZWVlLCBGMiwgS0s0LCBpblswXSwgIDE0KTsKKwlST1VORChlZWUsIGFhYSwgYmJiLCBjY2MsIGRkZCwgRjIsIEtLNCwgaW5bNV0sICAgNik7CisJUk9VTkQoZGRkLCBlZWUsIGFhYSwgYmJiLCBjY2MsIEYyLCBLSzQsIGluWzEyXSwgIDkpOworCVJPVU5EKGNjYywgZGRkLCBlZWUsIGFhYSwgYmJiLCBGMiwgS0s0LCBpblsyXSwgIDEyKTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBlZWUsIGFhYSwgRjIsIEtLNCwgaW5bMTNdLCAgOSk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBlZWUsIEYyLCBLSzQsIGluWzldLCAgMTIpOworCVJPVU5EKGVlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBGMiwgS0s0LCBpbls3XSwgICA1KTsKKwlST1VORChkZGQsIGVlZSwgYWFhLCBiYmIsIGNjYywgRjIsIEtLNCwgaW5bMTBdLCAxNSk7CisJUk9VTkQoY2NjLCBkZGQsIGVlZSwgYWFhLCBiYmIsIEYyLCBLSzQsIGluWzE0XSwgIDgpOworCisJLyogcm91bmQgNTogcmlnaHQgbGFuZSAqLworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGVlZSwgYWFhLCBGMSwgS0s1LCBpblsxMl0sICA4KTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIGVlZSwgRjEsIEtLNSwgaW5bMTVdLCAgNSk7CisJUk9VTkQoZWVlLCBhYWEsIGJiYiwgY2NjLCBkZGQsIEYxLCBLSzUsIGluWzEwXSwgMTIpOworCVJPVU5EKGRkZCwgZWVlLCBhYWEsIGJiYiwgY2NjLCBGMSwgS0s1LCBpbls0XSwgICA5KTsKKwlST1VORChjY2MsIGRkZCwgZWVlLCBhYWEsIGJiYiwgRjEsIEtLNSwgaW5bMV0sICAxMik7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgZWVlLCBhYWEsIEYxLCBLSzUsIGluWzVdLCAgIDUpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgZWVlLCBGMSwgS0s1LCBpbls4XSwgIDE0KTsKKwlST1VORChlZWUsIGFhYSwgYmJiLCBjY2MsIGRkZCwgRjEsIEtLNSwgaW5bN10sICAgNik7CisJUk9VTkQoZGRkLCBlZWUsIGFhYSwgYmJiLCBjY2MsIEYxLCBLSzUsIGluWzZdLCAgIDgpOworCVJPVU5EKGNjYywgZGRkLCBlZWUsIGFhYSwgYmJiLCBGMSwgS0s1LCBpblsyXSwgIDEzKTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBlZWUsIGFhYSwgRjEsIEtLNSwgaW5bMTNdLCAgNik7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBlZWUsIEYxLCBLSzUsIGluWzE0XSwgIDUpOworCVJPVU5EKGVlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBGMSwgS0s1LCBpblswXSwgIDE1KTsKKwlST1VORChkZGQsIGVlZSwgYWFhLCBiYmIsIGNjYywgRjEsIEtLNSwgaW5bM10sICAxMyk7CisJUk9VTkQoY2NjLCBkZGQsIGVlZSwgYWFhLCBiYmIsIEYxLCBLSzUsIGluWzldLCAgMTEpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGVlZSwgYWFhLCBGMSwgS0s1LCBpblsxMV0sIDExKTsKKworCS8qIGNvbWJpbmUgcmVzdWx0cyAqLworCWRkZCArPSBjYyArIHN0YXRlWzFdOwkJLyogZmluYWwgcmVzdWx0IGZvciBzdGF0ZVswXSAqLworCXN0YXRlWzFdID0gc3RhdGVbMl0gKyBkZCArIGVlZTsKKwlzdGF0ZVsyXSA9IHN0YXRlWzNdICsgZWUgKyBhYWE7CisJc3RhdGVbM10gPSBzdGF0ZVs0XSArIGFhICsgYmJiOworCXN0YXRlWzRdID0gc3RhdGVbMF0gKyBiYiArIGNjYzsKKwlzdGF0ZVswXSA9IGRkZDsKKworCXJldHVybjsKK30KKworc3RhdGljIHZvaWQgcm1kMTYwX2luaXQoc3RydWN0IGNyeXB0b190Zm0gKnRmbSkKK3sKKwlzdHJ1Y3Qgcm1kMTYwX2N0eCAqcmN0eCA9IGNyeXB0b190Zm1fY3R4KHRmbSk7CisKKwlyY3R4LT5ieXRlX2NvdW50ID0gMDsKKworCXJjdHgtPnN0YXRlWzBdID0gUk1EX0gwOworCXJjdHgtPnN0YXRlWzFdID0gUk1EX0gxOworCXJjdHgtPnN0YXRlWzJdID0gUk1EX0gyOworCXJjdHgtPnN0YXRlWzNdID0gUk1EX0gzOworCXJjdHgtPnN0YXRlWzRdID0gUk1EX0g0OworCisJbWVtc2V0KHJjdHgtPmJ1ZmZlciwgMCwgc2l6ZW9mKHJjdHgtPmJ1ZmZlcikpOworfQorCitzdGF0aWMgdm9pZCBybWQxNjBfdXBkYXRlKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0sIGNvbnN0IHU4ICpkYXRhLAorCQkJICB1bnNpZ25lZCBpbnQgbGVuKQoreworCXN0cnVjdCBybWQxNjBfY3R4ICpyY3R4ID0gY3J5cHRvX3RmbV9jdHgodGZtKTsKKwljb25zdCB1MzIgYXZhaWwgPSBzaXplb2YocmN0eC0+YnVmZmVyKSAtIChyY3R4LT5ieXRlX2NvdW50ICYgMHgzZik7CisKKwlyY3R4LT5ieXRlX2NvdW50ICs9IGxlbjsKKworCS8qIEVub3VnaCBzcGFjZSBpbiBidWZmZXI/IElmIHNvIGNvcHkgYW5kIHdlJ3JlIGRvbmUgKi8KKwlpZiAoYXZhaWwgPiBsZW4pIHsKKwkJbWVtY3B5KChjaGFyICopcmN0eC0+YnVmZmVyICsgKHNpemVvZihyY3R4LT5idWZmZXIpIC0gYXZhaWwpLAorCQkgICAgICAgZGF0YSwgbGVuKTsKKwkJcmV0dXJuOworCX0KKworCW1lbWNweSgoY2hhciAqKXJjdHgtPmJ1ZmZlciArIChzaXplb2YocmN0eC0+YnVmZmVyKSAtIGF2YWlsKSwKKwkgICAgICAgZGF0YSwgYXZhaWwpOworCisJcm1kMTYwX3RyYW5zZm9ybShyY3R4LT5zdGF0ZSwgcmN0eC0+YnVmZmVyKTsKKwlkYXRhICs9IGF2YWlsOworCWxlbiAtPSBhdmFpbDsKKworCXdoaWxlIChsZW4gPj0gc2l6ZW9mKHJjdHgtPmJ1ZmZlcikpIHsKKwkJbWVtY3B5KHJjdHgtPmJ1ZmZlciwgZGF0YSwgc2l6ZW9mKHJjdHgtPmJ1ZmZlcikpOworCQlybWQxNjBfdHJhbnNmb3JtKHJjdHgtPnN0YXRlLCByY3R4LT5idWZmZXIpOworCQlkYXRhICs9IHNpemVvZihyY3R4LT5idWZmZXIpOworCQlsZW4gLT0gc2l6ZW9mKHJjdHgtPmJ1ZmZlcik7CisJfQorCisJbWVtY3B5KHJjdHgtPmJ1ZmZlciwgZGF0YSwgbGVuKTsKK30KKworLyogQWRkIHBhZGRpbmcgYW5kIHJldHVybiB0aGUgbWVzc2FnZSBkaWdlc3QuICovCitzdGF0aWMgdm9pZCBybWQxNjBfZmluYWwoc3RydWN0IGNyeXB0b190Zm0gKnRmbSwgdTggKm91dCkKK3sKKwlzdHJ1Y3Qgcm1kMTYwX2N0eCAqcmN0eCA9IGNyeXB0b190Zm1fY3R4KHRmbSk7CisJdTMyIGksIGluZGV4LCBwYWRsZW47CisJX19sZTY0IGJpdHM7CisJX19sZTMyICpkc3QgPSAoX19sZTMyICopb3V0OworCXN0YXRpYyBjb25zdCB1OCBwYWRkaW5nWzY0XSA9IHsgMHg4MCwgfTsKKworCWJpdHMgPSBjcHVfdG9fbGU2NChyY3R4LT5ieXRlX2NvdW50IDw8IDMpOworCisJLyogUGFkIG91dCB0byA1NiBtb2QgNjQgKi8KKwlpbmRleCA9IHJjdHgtPmJ5dGVfY291bnQgJiAweDNmOworCXBhZGxlbiA9IChpbmRleCA8IDU2KSA/ICg1NiAtIGluZGV4KSA6ICgoNjQrNTYpIC0gaW5kZXgpOworCXJtZDE2MF91cGRhdGUodGZtLCBwYWRkaW5nLCBwYWRsZW4pOworCisJLyogQXBwZW5kIGxlbmd0aCAqLworCXJtZDE2MF91cGRhdGUodGZtLCAoY29uc3QgdTggKikmYml0cywgc2l6ZW9mKGJpdHMpKTsKKworCS8qIFN0b3JlIHN0YXRlIGluIGRpZ2VzdCAqLworCWZvciAoaSA9IDA7IGkgPCA1OyBpKyspCisJCWRzdFtpXSA9IGNwdV90b19sZTMycCgmcmN0eC0+c3RhdGVbaV0pOworCisJLyogV2lwZSBjb250ZXh0ICovCisJbWVtc2V0KHJjdHgsIDAsIHNpemVvZigqcmN0eCkpOworfQorCitzdGF0aWMgc3RydWN0IGNyeXB0b19hbGcgYWxnID0geworCS5jcmFfbmFtZQkgPQkicm1kMTYwIiwKKwkuY3JhX2RyaXZlcl9uYW1lID0JInJtZDE2MCIsCisJLmNyYV9mbGFncwkgPQlDUllQVE9fQUxHX1RZUEVfRElHRVNULAorCS5jcmFfYmxvY2tzaXplCSA9CVJNRDE2MF9CTE9DS19TSVpFLAorCS5jcmFfY3R4c2l6ZQkgPQlzaXplb2Yoc3RydWN0IHJtZDE2MF9jdHgpLAorCS5jcmFfbW9kdWxlCSA9CVRISVNfTU9EVUxFLAorCS5jcmFfbGlzdAkgPQlMSVNUX0hFQURfSU5JVChhbGcuY3JhX2xpc3QpLAorCS5jcmFfdQkJID0JeyAuZGlnZXN0ID0geworCS5kaWFfZGlnZXN0c2l6ZQkgPQlSTUQxNjBfRElHRVNUX1NJWkUsCisJLmRpYV9pbml0CSA9CXJtZDE2MF9pbml0LAorCS5kaWFfdXBkYXRlCSA9CXJtZDE2MF91cGRhdGUsCisJLmRpYV9maW5hbAkgPQlybWQxNjBfZmluYWwgfSB9Cit9OworCitzdGF0aWMgaW50IF9faW5pdCBybWQxNjBfbW9kX2luaXQodm9pZCkKK3sKKwlyZXR1cm4gY3J5cHRvX3JlZ2lzdGVyX2FsZygmYWxnKTsKK30KKworc3RhdGljIHZvaWQgX19leGl0IHJtZDE2MF9tb2RfZmluaSh2b2lkKQoreworCWNyeXB0b191bnJlZ2lzdGVyX2FsZygmYWxnKTsKK30KKworbW9kdWxlX2luaXQocm1kMTYwX21vZF9pbml0KTsKK21vZHVsZV9leGl0KHJtZDE2MF9tb2RfZmluaSk7CisKK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKK01PRFVMRV9ERVNDUklQVElPTigiUklQRU1ELTE2MCBNZXNzYWdlIERpZ2VzdCIpOworCitNT0RVTEVfQUxJQVMoInJtZDE2MCIpOwpkaWZmIC0tZ2l0IGEvY3J5cHRvL3JtZDI1Ni5jIGIvY3J5cHRvL3JtZDI1Ni5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUzZGU1YjQKLS0tIC9kZXYvbnVsbAorKysgYi9jcnlwdG8vcm1kMjU2LmMKQEAgLTAsMCArMSwzNDQgQEAKKy8qCisgKiBDcnlwdG9ncmFwaGljIEFQSS4KKyAqCisgKiBSSVBFTUQtMjU2IC0gUkFDRSBJbnRlZ3JpdHkgUHJpbWl0aXZlcyBFdmFsdWF0aW9uIE1lc3NhZ2UgRGlnZXN0LgorICoKKyAqIEJhc2VkIG9uIHRoZSByZWZlcmVuY2UgaW1wbGVtZW50YXRpb24gYnkgQW50b29uIEJvc3NlbGFlcnMsIEVTQVQtQ09TSUMKKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwMDggQWRyaWFuLUtlbiBSdWVlZ3NlZ2dlciA8cnVlZWdzZWdnZXIgKGF0KSBzd2lzcy1pdC5jaD4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAorICogdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUKKyAqIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikKKyAqIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqLworI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9tbS5oPgorI2luY2x1ZGUgPGxpbnV4L2NyeXB0by5oPgorI2luY2x1ZGUgPGxpbnV4L2NyeXB0b2hhc2guaD4KKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorI2luY2x1ZGUgPGFzbS9ieXRlb3JkZXIuaD4KKworI2luY2x1ZGUgInJpcGVtZC5oIgorCitzdHJ1Y3Qgcm1kMjU2X2N0eCB7CisJdTY0IGJ5dGVfY291bnQ7CisJdTMyIHN0YXRlWzhdOworCV9fbGUzMiBidWZmZXJbMTZdOworfTsKKworI2RlZmluZSBLMSAgUk1EX0sxCisjZGVmaW5lIEsyICBSTURfSzIKKyNkZWZpbmUgSzMgIFJNRF9LMworI2RlZmluZSBLNCAgUk1EX0s0CisjZGVmaW5lIEtLMSBSTURfSzYKKyNkZWZpbmUgS0syIFJNRF9LNworI2RlZmluZSBLSzMgUk1EX0s4CisjZGVmaW5lIEtLNCBSTURfSzEKKworI2RlZmluZSBGMSh4LCB5LCB6KSAoeCBeIHkgXiB6KQkJLyogWE9SICovCisjZGVmaW5lIEYyKHgsIHksIHopICh6IF4gKHggJiAoeSBeIHopKSkJLyogeCA/IHkgOiB6ICovCisjZGVmaW5lIEYzKHgsIHksIHopICgoeCB8IH55KSBeIHopCisjZGVmaW5lIEY0KHgsIHksIHopICh5IF4gKHogJiAoeCBeIHkpKSkJLyogeiA/IHggOiB5ICovCisKKyNkZWZpbmUgUk9VTkQoYSwgYiwgYywgZCwgZiwgaywgeCwgcykgIHsgXAorCShhKSArPSBmKChiKSwgKGMpLCAoZCkpICsgbGUzMl90b19jcHVwKCYoeCkpICsgKGspOyBcCisJKGEpID0gcm9sMzIoKGEpLCAocykpOyBcCit9CisKK3N0YXRpYyB2b2lkIHJtZDI1Nl90cmFuc2Zvcm0odTMyICpzdGF0ZSwgY29uc3QgX19sZTMyICppbikKK3sKKwl1MzIgYWEsIGJiLCBjYywgZGQsIGFhYSwgYmJiLCBjY2MsIGRkZCwgdG1wOworCisJLyogSW5pdGlhbGl6ZSBsZWZ0IGxhbmUgKi8KKwlhYSA9IHN0YXRlWzBdOworCWJiID0gc3RhdGVbMV07CisJY2MgPSBzdGF0ZVsyXTsKKwlkZCA9IHN0YXRlWzNdOworCisJLyogSW5pdGlhbGl6ZSByaWdodCBsYW5lICovCisJYWFhID0gc3RhdGVbNF07CisJYmJiID0gc3RhdGVbNV07CisJY2NjID0gc3RhdGVbNl07CisJZGRkID0gc3RhdGVbN107CisKKwkvKiByb3VuZCAxOiBsZWZ0IGxhbmUgKi8KKwlST1VORChhYSwgYmIsIGNjLCBkZCwgRjEsIEsxLCBpblswXSwgIDExKTsKKwlST1VORChkZCwgYWEsIGJiLCBjYywgRjEsIEsxLCBpblsxXSwgIDE0KTsKKwlST1VORChjYywgZGQsIGFhLCBiYiwgRjEsIEsxLCBpblsyXSwgIDE1KTsKKwlST1VORChiYiwgY2MsIGRkLCBhYSwgRjEsIEsxLCBpblszXSwgIDEyKTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgRjEsIEsxLCBpbls0XSwgICA1KTsKKwlST1VORChkZCwgYWEsIGJiLCBjYywgRjEsIEsxLCBpbls1XSwgICA4KTsKKwlST1VORChjYywgZGQsIGFhLCBiYiwgRjEsIEsxLCBpbls2XSwgICA3KTsKKwlST1VORChiYiwgY2MsIGRkLCBhYSwgRjEsIEsxLCBpbls3XSwgICA5KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgRjEsIEsxLCBpbls4XSwgIDExKTsKKwlST1VORChkZCwgYWEsIGJiLCBjYywgRjEsIEsxLCBpbls5XSwgIDEzKTsKKwlST1VORChjYywgZGQsIGFhLCBiYiwgRjEsIEsxLCBpblsxMF0sIDE0KTsKKwlST1VORChiYiwgY2MsIGRkLCBhYSwgRjEsIEsxLCBpblsxMV0sIDE1KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgRjEsIEsxLCBpblsxMl0sICA2KTsKKwlST1VORChkZCwgYWEsIGJiLCBjYywgRjEsIEsxLCBpblsxM10sICA3KTsKKwlST1VORChjYywgZGQsIGFhLCBiYiwgRjEsIEsxLCBpblsxNF0sICA5KTsKKwlST1VORChiYiwgY2MsIGRkLCBhYSwgRjEsIEsxLCBpblsxNV0sICA4KTsKKworCS8qIHJvdW5kIDE6IHJpZ2h0IGxhbmUgKi8KKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIEY0LCBLSzEsIGluWzVdLCAgIDgpOworCVJPVU5EKGRkZCwgYWFhLCBiYmIsIGNjYywgRjQsIEtLMSwgaW5bMTRdLCAgOSk7CisJUk9VTkQoY2NjLCBkZGQsIGFhYSwgYmJiLCBGNCwgS0sxLCBpbls3XSwgICA5KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBhYWEsIEY0LCBLSzEsIGluWzBdLCAgMTEpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgRjQsIEtLMSwgaW5bOV0sICAxMyk7CisJUk9VTkQoZGRkLCBhYWEsIGJiYiwgY2NjLCBGNCwgS0sxLCBpblsyXSwgIDE1KTsKKwlST1VORChjY2MsIGRkZCwgYWFhLCBiYmIsIEY0LCBLSzEsIGluWzExXSwgMTUpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGFhYSwgRjQsIEtLMSwgaW5bNF0sICAgNSk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBGNCwgS0sxLCBpblsxM10sICA3KTsKKwlST1VORChkZGQsIGFhYSwgYmJiLCBjY2MsIEY0LCBLSzEsIGluWzZdLCAgIDcpOworCVJPVU5EKGNjYywgZGRkLCBhYWEsIGJiYiwgRjQsIEtLMSwgaW5bMTVdLCAgOCk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgYWFhLCBGNCwgS0sxLCBpbls4XSwgIDExKTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIEY0LCBLSzEsIGluWzFdLCAgMTQpOworCVJPVU5EKGRkZCwgYWFhLCBiYmIsIGNjYywgRjQsIEtLMSwgaW5bMTBdLCAxNCk7CisJUk9VTkQoY2NjLCBkZGQsIGFhYSwgYmJiLCBGNCwgS0sxLCBpblszXSwgIDEyKTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBhYWEsIEY0LCBLSzEsIGluWzEyXSwgIDYpOworCisJLyogU3dhcCBjb250ZW50cyBvZiAiYSIgcmVnaXN0ZXJzICovCisJdG1wID0gYWE7IGFhID0gYWFhOyBhYWEgPSB0bXA7CisKKwkvKiByb3VuZCAyOiBsZWZ0IGxhbmUgKi8KKwlST1VORChhYSwgYmIsIGNjLCBkZCwgRjIsIEsyLCBpbls3XSwgICA3KTsKKwlST1VORChkZCwgYWEsIGJiLCBjYywgRjIsIEsyLCBpbls0XSwgICA2KTsKKwlST1VORChjYywgZGQsIGFhLCBiYiwgRjIsIEsyLCBpblsxM10sICA4KTsKKwlST1VORChiYiwgY2MsIGRkLCBhYSwgRjIsIEsyLCBpblsxXSwgIDEzKTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgRjIsIEsyLCBpblsxMF0sIDExKTsKKwlST1VORChkZCwgYWEsIGJiLCBjYywgRjIsIEsyLCBpbls2XSwgICA5KTsKKwlST1VORChjYywgZGQsIGFhLCBiYiwgRjIsIEsyLCBpblsxNV0sICA3KTsKKwlST1VORChiYiwgY2MsIGRkLCBhYSwgRjIsIEsyLCBpblszXSwgIDE1KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgRjIsIEsyLCBpblsxMl0sICA3KTsKKwlST1VORChkZCwgYWEsIGJiLCBjYywgRjIsIEsyLCBpblswXSwgIDEyKTsKKwlST1VORChjYywgZGQsIGFhLCBiYiwgRjIsIEsyLCBpbls5XSwgIDE1KTsKKwlST1VORChiYiwgY2MsIGRkLCBhYSwgRjIsIEsyLCBpbls1XSwgICA5KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgRjIsIEsyLCBpblsyXSwgIDExKTsKKwlST1VORChkZCwgYWEsIGJiLCBjYywgRjIsIEsyLCBpblsxNF0sICA3KTsKKwlST1VORChjYywgZGQsIGFhLCBiYiwgRjIsIEsyLCBpblsxMV0sIDEzKTsKKwlST1VORChiYiwgY2MsIGRkLCBhYSwgRjIsIEsyLCBpbls4XSwgIDEyKTsKKworCS8qIHJvdW5kIDI6IHJpZ2h0IGxhbmUgKi8KKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIEYzLCBLSzIsIGluWzZdLCAgIDkpOworCVJPVU5EKGRkZCwgYWFhLCBiYmIsIGNjYywgRjMsIEtLMiwgaW5bMTFdLCAxMyk7CisJUk9VTkQoY2NjLCBkZGQsIGFhYSwgYmJiLCBGMywgS0syLCBpblszXSwgIDE1KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBhYWEsIEYzLCBLSzIsIGluWzddLCAgIDcpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgRjMsIEtLMiwgaW5bMF0sICAxMik7CisJUk9VTkQoZGRkLCBhYWEsIGJiYiwgY2NjLCBGMywgS0syLCBpblsxM10sICA4KTsKKwlST1VORChjY2MsIGRkZCwgYWFhLCBiYmIsIEYzLCBLSzIsIGluWzVdLCAgIDkpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGFhYSwgRjMsIEtLMiwgaW5bMTBdLCAxMSk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBGMywgS0syLCBpblsxNF0sICA3KTsKKwlST1VORChkZGQsIGFhYSwgYmJiLCBjY2MsIEYzLCBLSzIsIGluWzE1XSwgIDcpOworCVJPVU5EKGNjYywgZGRkLCBhYWEsIGJiYiwgRjMsIEtLMiwgaW5bOF0sICAxMik7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgYWFhLCBGMywgS0syLCBpblsxMl0sICA3KTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIEYzLCBLSzIsIGluWzRdLCAgIDYpOworCVJPVU5EKGRkZCwgYWFhLCBiYmIsIGNjYywgRjMsIEtLMiwgaW5bOV0sICAxNSk7CisJUk9VTkQoY2NjLCBkZGQsIGFhYSwgYmJiLCBGMywgS0syLCBpblsxXSwgIDEzKTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBhYWEsIEYzLCBLSzIsIGluWzJdLCAgMTEpOworCisJLyogU3dhcCBjb250ZW50cyBvZiAiYiIgcmVnaXN0ZXJzICovCisJdG1wID0gYmI7IGJiID0gYmJiOyBiYmIgPSB0bXA7CisKKwkvKiByb3VuZCAzOiBsZWZ0IGxhbmUgKi8KKwlST1VORChhYSwgYmIsIGNjLCBkZCwgRjMsIEszLCBpblszXSwgIDExKTsKKwlST1VORChkZCwgYWEsIGJiLCBjYywgRjMsIEszLCBpblsxMF0sIDEzKTsKKwlST1VORChjYywgZGQsIGFhLCBiYiwgRjMsIEszLCBpblsxNF0sICA2KTsKKwlST1VORChiYiwgY2MsIGRkLCBhYSwgRjMsIEszLCBpbls0XSwgICA3KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgRjMsIEszLCBpbls5XSwgIDE0KTsKKwlST1VORChkZCwgYWEsIGJiLCBjYywgRjMsIEszLCBpblsxNV0sICA5KTsKKwlST1VORChjYywgZGQsIGFhLCBiYiwgRjMsIEszLCBpbls4XSwgIDEzKTsKKwlST1VORChiYiwgY2MsIGRkLCBhYSwgRjMsIEszLCBpblsxXSwgIDE1KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgRjMsIEszLCBpblsyXSwgIDE0KTsKKwlST1VORChkZCwgYWEsIGJiLCBjYywgRjMsIEszLCBpbls3XSwgICA4KTsKKwlST1VORChjYywgZGQsIGFhLCBiYiwgRjMsIEszLCBpblswXSwgIDEzKTsKKwlST1VORChiYiwgY2MsIGRkLCBhYSwgRjMsIEszLCBpbls2XSwgICA2KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgRjMsIEszLCBpblsxM10sICA1KTsKKwlST1VORChkZCwgYWEsIGJiLCBjYywgRjMsIEszLCBpblsxMV0sIDEyKTsKKwlST1VORChjYywgZGQsIGFhLCBiYiwgRjMsIEszLCBpbls1XSwgICA3KTsKKwlST1VORChiYiwgY2MsIGRkLCBhYSwgRjMsIEszLCBpblsxMl0sICA1KTsKKworCS8qIHJvdW5kIDM6IHJpZ2h0IGxhbmUgKi8KKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIEYyLCBLSzMsIGluWzE1XSwgIDkpOworCVJPVU5EKGRkZCwgYWFhLCBiYmIsIGNjYywgRjIsIEtLMywgaW5bNV0sICAgNyk7CisJUk9VTkQoY2NjLCBkZGQsIGFhYSwgYmJiLCBGMiwgS0szLCBpblsxXSwgIDE1KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBhYWEsIEYyLCBLSzMsIGluWzNdLCAgMTEpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgRjIsIEtLMywgaW5bN10sICAgOCk7CisJUk9VTkQoZGRkLCBhYWEsIGJiYiwgY2NjLCBGMiwgS0szLCBpblsxNF0sICA2KTsKKwlST1VORChjY2MsIGRkZCwgYWFhLCBiYmIsIEYyLCBLSzMsIGluWzZdLCAgIDYpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGFhYSwgRjIsIEtLMywgaW5bOV0sICAxNCk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBGMiwgS0szLCBpblsxMV0sIDEyKTsKKwlST1VORChkZGQsIGFhYSwgYmJiLCBjY2MsIEYyLCBLSzMsIGluWzhdLCAgMTMpOworCVJPVU5EKGNjYywgZGRkLCBhYWEsIGJiYiwgRjIsIEtLMywgaW5bMTJdLCAgNSk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgYWFhLCBGMiwgS0szLCBpblsyXSwgIDE0KTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIEYyLCBLSzMsIGluWzEwXSwgMTMpOworCVJPVU5EKGRkZCwgYWFhLCBiYmIsIGNjYywgRjIsIEtLMywgaW5bMF0sICAxMyk7CisJUk9VTkQoY2NjLCBkZGQsIGFhYSwgYmJiLCBGMiwgS0szLCBpbls0XSwgICA3KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBhYWEsIEYyLCBLSzMsIGluWzEzXSwgIDUpOworCisJLyogU3dhcCBjb250ZW50cyBvZiAiYyIgcmVnaXN0ZXJzICovCisJdG1wID0gY2M7IGNjID0gY2NjOyBjY2MgPSB0bXA7CisKKwkvKiByb3VuZCA0OiBsZWZ0IGxhbmUgKi8KKwlST1VORChhYSwgYmIsIGNjLCBkZCwgRjQsIEs0LCBpblsxXSwgIDExKTsKKwlST1VORChkZCwgYWEsIGJiLCBjYywgRjQsIEs0LCBpbls5XSwgIDEyKTsKKwlST1VORChjYywgZGQsIGFhLCBiYiwgRjQsIEs0LCBpblsxMV0sIDE0KTsKKwlST1VORChiYiwgY2MsIGRkLCBhYSwgRjQsIEs0LCBpblsxMF0sIDE1KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgRjQsIEs0LCBpblswXSwgIDE0KTsKKwlST1VORChkZCwgYWEsIGJiLCBjYywgRjQsIEs0LCBpbls4XSwgIDE1KTsKKwlST1VORChjYywgZGQsIGFhLCBiYiwgRjQsIEs0LCBpblsxMl0sICA5KTsKKwlST1VORChiYiwgY2MsIGRkLCBhYSwgRjQsIEs0LCBpbls0XSwgICA4KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgRjQsIEs0LCBpblsxM10sICA5KTsKKwlST1VORChkZCwgYWEsIGJiLCBjYywgRjQsIEs0LCBpblszXSwgIDE0KTsKKwlST1VORChjYywgZGQsIGFhLCBiYiwgRjQsIEs0LCBpbls3XSwgICA1KTsKKwlST1VORChiYiwgY2MsIGRkLCBhYSwgRjQsIEs0LCBpblsxNV0sICA2KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgRjQsIEs0LCBpblsxNF0sICA4KTsKKwlST1VORChkZCwgYWEsIGJiLCBjYywgRjQsIEs0LCBpbls1XSwgICA2KTsKKwlST1VORChjYywgZGQsIGFhLCBiYiwgRjQsIEs0LCBpbls2XSwgICA1KTsKKwlST1VORChiYiwgY2MsIGRkLCBhYSwgRjQsIEs0LCBpblsyXSwgIDEyKTsKKworCS8qIHJvdW5kIDQ6IHJpZ2h0IGxhbmUgKi8KKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIEYxLCBLSzQsIGluWzhdLCAgMTUpOworCVJPVU5EKGRkZCwgYWFhLCBiYmIsIGNjYywgRjEsIEtLNCwgaW5bNl0sICAgNSk7CisJUk9VTkQoY2NjLCBkZGQsIGFhYSwgYmJiLCBGMSwgS0s0LCBpbls0XSwgICA4KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBhYWEsIEYxLCBLSzQsIGluWzFdLCAgMTEpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgRjEsIEtLNCwgaW5bM10sICAxNCk7CisJUk9VTkQoZGRkLCBhYWEsIGJiYiwgY2NjLCBGMSwgS0s0LCBpblsxMV0sIDE0KTsKKwlST1VORChjY2MsIGRkZCwgYWFhLCBiYmIsIEYxLCBLSzQsIGluWzE1XSwgIDYpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGFhYSwgRjEsIEtLNCwgaW5bMF0sICAxNCk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBGMSwgS0s0LCBpbls1XSwgICA2KTsKKwlST1VORChkZGQsIGFhYSwgYmJiLCBjY2MsIEYxLCBLSzQsIGluWzEyXSwgIDkpOworCVJPVU5EKGNjYywgZGRkLCBhYWEsIGJiYiwgRjEsIEtLNCwgaW5bMl0sICAxMik7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgYWFhLCBGMSwgS0s0LCBpblsxM10sICA5KTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIEYxLCBLSzQsIGluWzldLCAgMTIpOworCVJPVU5EKGRkZCwgYWFhLCBiYmIsIGNjYywgRjEsIEtLNCwgaW5bN10sICAgNSk7CisJUk9VTkQoY2NjLCBkZGQsIGFhYSwgYmJiLCBGMSwgS0s0LCBpblsxMF0sIDE1KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBhYWEsIEYxLCBLSzQsIGluWzE0XSwgIDgpOworCisJLyogU3dhcCBjb250ZW50cyBvZiAiZCIgcmVnaXN0ZXJzICovCisJdG1wID0gZGQ7IGRkID0gZGRkOyBkZGQgPSB0bXA7CisKKwkvKiBjb21iaW5lIHJlc3VsdHMgKi8KKwlzdGF0ZVswXSArPSBhYTsKKwlzdGF0ZVsxXSArPSBiYjsKKwlzdGF0ZVsyXSArPSBjYzsKKwlzdGF0ZVszXSArPSBkZDsKKwlzdGF0ZVs0XSArPSBhYWE7CisJc3RhdGVbNV0gKz0gYmJiOworCXN0YXRlWzZdICs9IGNjYzsKKwlzdGF0ZVs3XSArPSBkZGQ7CisKKwlyZXR1cm47Cit9CisKK3N0YXRpYyB2b2lkIHJtZDI1Nl9pbml0KHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pCit7CisJc3RydWN0IHJtZDI1Nl9jdHggKnJjdHggPSBjcnlwdG9fdGZtX2N0eCh0Zm0pOworCisJcmN0eC0+Ynl0ZV9jb3VudCA9IDA7CisKKwlyY3R4LT5zdGF0ZVswXSA9IFJNRF9IMDsKKwlyY3R4LT5zdGF0ZVsxXSA9IFJNRF9IMTsKKwlyY3R4LT5zdGF0ZVsyXSA9IFJNRF9IMjsKKwlyY3R4LT5zdGF0ZVszXSA9IFJNRF9IMzsKKwlyY3R4LT5zdGF0ZVs0XSA9IFJNRF9INTsKKwlyY3R4LT5zdGF0ZVs1XSA9IFJNRF9INjsKKwlyY3R4LT5zdGF0ZVs2XSA9IFJNRF9INzsKKwlyY3R4LT5zdGF0ZVs3XSA9IFJNRF9IODsKKworCW1lbXNldChyY3R4LT5idWZmZXIsIDAsIHNpemVvZihyY3R4LT5idWZmZXIpKTsKK30KKworc3RhdGljIHZvaWQgcm1kMjU2X3VwZGF0ZShzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtLCBjb25zdCB1OCAqZGF0YSwKKwkJCSAgdW5zaWduZWQgaW50IGxlbikKK3sKKwlzdHJ1Y3Qgcm1kMjU2X2N0eCAqcmN0eCA9IGNyeXB0b190Zm1fY3R4KHRmbSk7CisJY29uc3QgdTMyIGF2YWlsID0gc2l6ZW9mKHJjdHgtPmJ1ZmZlcikgLSAocmN0eC0+Ynl0ZV9jb3VudCAmIDB4M2YpOworCisJcmN0eC0+Ynl0ZV9jb3VudCArPSBsZW47CisKKwkvKiBFbm91Z2ggc3BhY2UgaW4gYnVmZmVyPyBJZiBzbyBjb3B5IGFuZCB3ZSdyZSBkb25lICovCisJaWYgKGF2YWlsID4gbGVuKSB7CisJCW1lbWNweSgoY2hhciAqKXJjdHgtPmJ1ZmZlciArIChzaXplb2YocmN0eC0+YnVmZmVyKSAtIGF2YWlsKSwKKwkJICAgICAgIGRhdGEsIGxlbik7CisJCXJldHVybjsKKwl9CisKKwltZW1jcHkoKGNoYXIgKilyY3R4LT5idWZmZXIgKyAoc2l6ZW9mKHJjdHgtPmJ1ZmZlcikgLSBhdmFpbCksCisJICAgICAgIGRhdGEsIGF2YWlsKTsKKworCXJtZDI1Nl90cmFuc2Zvcm0ocmN0eC0+c3RhdGUsIHJjdHgtPmJ1ZmZlcik7CisJZGF0YSArPSBhdmFpbDsKKwlsZW4gLT0gYXZhaWw7CisKKwl3aGlsZSAobGVuID49IHNpemVvZihyY3R4LT5idWZmZXIpKSB7CisJCW1lbWNweShyY3R4LT5idWZmZXIsIGRhdGEsIHNpemVvZihyY3R4LT5idWZmZXIpKTsKKwkJcm1kMjU2X3RyYW5zZm9ybShyY3R4LT5zdGF0ZSwgcmN0eC0+YnVmZmVyKTsKKwkJZGF0YSArPSBzaXplb2YocmN0eC0+YnVmZmVyKTsKKwkJbGVuIC09IHNpemVvZihyY3R4LT5idWZmZXIpOworCX0KKworCW1lbWNweShyY3R4LT5idWZmZXIsIGRhdGEsIGxlbik7Cit9CisKKy8qIEFkZCBwYWRkaW5nIGFuZCByZXR1cm4gdGhlIG1lc3NhZ2UgZGlnZXN0LiAqLworc3RhdGljIHZvaWQgcm1kMjU2X2ZpbmFsKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0sIHU4ICpvdXQpCit7CisJc3RydWN0IHJtZDI1Nl9jdHggKnJjdHggPSBjcnlwdG9fdGZtX2N0eCh0Zm0pOworCXUzMiBpLCBpbmRleCwgcGFkbGVuOworCV9fbGU2NCBiaXRzOworCV9fbGUzMiAqZHN0ID0gKF9fbGUzMiAqKW91dDsKKwlzdGF0aWMgY29uc3QgdTggcGFkZGluZ1s2NF0gPSB7IDB4ODAsIH07CisKKwliaXRzID0gY3B1X3RvX2xlNjQocmN0eC0+Ynl0ZV9jb3VudCA8PCAzKTsKKworCS8qIFBhZCBvdXQgdG8gNTYgbW9kIDY0ICovCisJaW5kZXggPSByY3R4LT5ieXRlX2NvdW50ICYgMHgzZjsKKwlwYWRsZW4gPSAoaW5kZXggPCA1NikgPyAoNTYgLSBpbmRleCkgOiAoKDY0KzU2KSAtIGluZGV4KTsKKwlybWQyNTZfdXBkYXRlKHRmbSwgcGFkZGluZywgcGFkbGVuKTsKKworCS8qIEFwcGVuZCBsZW5ndGggKi8KKwlybWQyNTZfdXBkYXRlKHRmbSwgKGNvbnN0IHU4ICopJmJpdHMsIHNpemVvZihiaXRzKSk7CisKKwkvKiBTdG9yZSBzdGF0ZSBpbiBkaWdlc3QgKi8KKwlmb3IgKGkgPSAwOyBpIDwgODsgaSsrKQorCQlkc3RbaV0gPSBjcHVfdG9fbGUzMnAoJnJjdHgtPnN0YXRlW2ldKTsKKworCS8qIFdpcGUgY29udGV4dCAqLworCW1lbXNldChyY3R4LCAwLCBzaXplb2YoKnJjdHgpKTsKK30KKworc3RhdGljIHN0cnVjdCBjcnlwdG9fYWxnIGFsZyA9IHsKKwkuY3JhX25hbWUJID0JInJtZDI1NiIsCisJLmNyYV9kcml2ZXJfbmFtZSA9CSJybWQyNTYiLAorCS5jcmFfZmxhZ3MJID0JQ1JZUFRPX0FMR19UWVBFX0RJR0VTVCwKKwkuY3JhX2Jsb2Nrc2l6ZQkgPQlSTUQyNTZfQkxPQ0tfU0laRSwKKwkuY3JhX2N0eHNpemUJID0Jc2l6ZW9mKHN0cnVjdCBybWQyNTZfY3R4KSwKKwkuY3JhX21vZHVsZQkgPQlUSElTX01PRFVMRSwKKwkuY3JhX2xpc3QJID0JTElTVF9IRUFEX0lOSVQoYWxnLmNyYV9saXN0KSwKKwkuY3JhX3UJCSA9CXsgLmRpZ2VzdCA9IHsKKwkuZGlhX2RpZ2VzdHNpemUJID0JUk1EMjU2X0RJR0VTVF9TSVpFLAorCS5kaWFfaW5pdAkgPQlybWQyNTZfaW5pdCwKKwkuZGlhX3VwZGF0ZQkgPQlybWQyNTZfdXBkYXRlLAorCS5kaWFfZmluYWwJID0Jcm1kMjU2X2ZpbmFsIH0gfQorfTsKKworc3RhdGljIGludCBfX2luaXQgcm1kMjU2X21vZF9pbml0KHZvaWQpCit7CisJcmV0dXJuIGNyeXB0b19yZWdpc3Rlcl9hbGcoJmFsZyk7Cit9CisKK3N0YXRpYyB2b2lkIF9fZXhpdCBybWQyNTZfbW9kX2Zpbmkodm9pZCkKK3sKKwljcnlwdG9fdW5yZWdpc3Rlcl9hbGcoJmFsZyk7Cit9CisKK21vZHVsZV9pbml0KHJtZDI1Nl9tb2RfaW5pdCk7Cittb2R1bGVfZXhpdChybWQyNTZfbW9kX2ZpbmkpOworCitNT0RVTEVfTElDRU5TRSgiR1BMIik7CitNT0RVTEVfREVTQ1JJUFRJT04oIlJJUEVNRC0yNTYgTWVzc2FnZSBEaWdlc3QiKTsKKworTU9EVUxFX0FMSUFTKCJybWQyNTYiKTsKZGlmZiAtLWdpdCBhL2NyeXB0by9ybWQzMjAuYyBiL2NyeXB0by9ybWQzMjAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMTQzZDY2Ci0tLSAvZGV2L251bGwKKysrIGIvY3J5cHRvL3JtZDMyMC5jCkBAIC0wLDAgKzEsMzkzIEBACisvKgorICogQ3J5cHRvZ3JhcGhpYyBBUEkuCisgKgorICogUklQRU1ELTMyMCAtIFJBQ0UgSW50ZWdyaXR5IFByaW1pdGl2ZXMgRXZhbHVhdGlvbiBNZXNzYWdlIERpZ2VzdC4KKyAqCisgKiBCYXNlZCBvbiB0aGUgcmVmZXJlbmNlIGltcGxlbWVudGF0aW9uIGJ5IEFudG9vbiBCb3NzZWxhZXJzLCBFU0FULUNPU0lDCisgKgorICogQ29weXJpZ2h0IChjKSAyMDA4IEFkcmlhbi1LZW4gUnVlZWdzZWdnZXIgPHJ1ZWVnc2VnZ2VyIChhdCkgc3dpc3MtaXQuY2g+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKKyAqIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlCisgKiBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pCisgKiBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKi8KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvbW0uaD4KKyNpbmNsdWRlIDxsaW51eC9jcnlwdG8uaD4KKyNpbmNsdWRlIDxsaW51eC9jcnlwdG9oYXNoLmg+CisjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKyNpbmNsdWRlIDxhc20vYnl0ZW9yZGVyLmg+CisKKyNpbmNsdWRlICJyaXBlbWQuaCIKKworc3RydWN0IHJtZDMyMF9jdHggeworCXU2NCBieXRlX2NvdW50OworCXUzMiBzdGF0ZVsxMF07CisJX19sZTMyIGJ1ZmZlclsxNl07Cit9OworCisjZGVmaW5lIEsxICBSTURfSzEKKyNkZWZpbmUgSzIgIFJNRF9LMgorI2RlZmluZSBLMyAgUk1EX0szCisjZGVmaW5lIEs0ICBSTURfSzQKKyNkZWZpbmUgSzUgIFJNRF9LNQorI2RlZmluZSBLSzEgUk1EX0s2CisjZGVmaW5lIEtLMiBSTURfSzcKKyNkZWZpbmUgS0szIFJNRF9LOAorI2RlZmluZSBLSzQgUk1EX0s5CisjZGVmaW5lIEtLNSBSTURfSzEKKworI2RlZmluZSBGMSh4LCB5LCB6KSAoeCBeIHkgXiB6KQkJLyogWE9SICovCisjZGVmaW5lIEYyKHgsIHksIHopICh6IF4gKHggJiAoeSBeIHopKSkJLyogeCA/IHkgOiB6ICovCisjZGVmaW5lIEYzKHgsIHksIHopICgoeCB8IH55KSBeIHopCisjZGVmaW5lIEY0KHgsIHksIHopICh5IF4gKHogJiAoeCBeIHkpKSkJLyogeiA/IHggOiB5ICovCisjZGVmaW5lIEY1KHgsIHksIHopICh4IF4gKHkgfCB+eikpCisKKyNkZWZpbmUgUk9VTkQoYSwgYiwgYywgZCwgZSwgZiwgaywgeCwgcykgIHsgXAorCShhKSArPSBmKChiKSwgKGMpLCAoZCkpICsgbGUzMl90b19jcHVwKCYoeCkpICsgKGspOyBcCisJKGEpID0gcm9sMzIoKGEpLCAocykpICsgKGUpOyBcCisJKGMpID0gcm9sMzIoKGMpLCAxMCk7IFwKK30KKworc3RhdGljIHZvaWQgcm1kMzIwX3RyYW5zZm9ybSh1MzIgKnN0YXRlLCBjb25zdCBfX2xlMzIgKmluKQoreworCXUzMiBhYSwgYmIsIGNjLCBkZCwgZWUsIGFhYSwgYmJiLCBjY2MsIGRkZCwgZWVlLCB0bXA7CisKKwkvKiBJbml0aWFsaXplIGxlZnQgbGFuZSAqLworCWFhID0gc3RhdGVbMF07CisJYmIgPSBzdGF0ZVsxXTsKKwljYyA9IHN0YXRlWzJdOworCWRkID0gc3RhdGVbM107CisJZWUgPSBzdGF0ZVs0XTsKKworCS8qIEluaXRpYWxpemUgcmlnaHQgbGFuZSAqLworCWFhYSA9IHN0YXRlWzVdOworCWJiYiA9IHN0YXRlWzZdOworCWNjYyA9IHN0YXRlWzddOworCWRkZCA9IHN0YXRlWzhdOworCWVlZSA9IHN0YXRlWzldOworCisJLyogcm91bmQgMTogbGVmdCBsYW5lICovCisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIGVlLCBGMSwgSzEsIGluWzBdLCAgMTEpOworCVJPVU5EKGVlLCBhYSwgYmIsIGNjLCBkZCwgRjEsIEsxLCBpblsxXSwgIDE0KTsKKwlST1VORChkZCwgZWUsIGFhLCBiYiwgY2MsIEYxLCBLMSwgaW5bMl0sICAxNSk7CisJUk9VTkQoY2MsIGRkLCBlZSwgYWEsIGJiLCBGMSwgSzEsIGluWzNdLCAgMTIpOworCVJPVU5EKGJiLCBjYywgZGQsIGVlLCBhYSwgRjEsIEsxLCBpbls0XSwgICA1KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgZWUsIEYxLCBLMSwgaW5bNV0sICAgOCk7CisJUk9VTkQoZWUsIGFhLCBiYiwgY2MsIGRkLCBGMSwgSzEsIGluWzZdLCAgIDcpOworCVJPVU5EKGRkLCBlZSwgYWEsIGJiLCBjYywgRjEsIEsxLCBpbls3XSwgICA5KTsKKwlST1VORChjYywgZGQsIGVlLCBhYSwgYmIsIEYxLCBLMSwgaW5bOF0sICAxMSk7CisJUk9VTkQoYmIsIGNjLCBkZCwgZWUsIGFhLCBGMSwgSzEsIGluWzldLCAgMTMpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBlZSwgRjEsIEsxLCBpblsxMF0sIDE0KTsKKwlST1VORChlZSwgYWEsIGJiLCBjYywgZGQsIEYxLCBLMSwgaW5bMTFdLCAxNSk7CisJUk9VTkQoZGQsIGVlLCBhYSwgYmIsIGNjLCBGMSwgSzEsIGluWzEyXSwgIDYpOworCVJPVU5EKGNjLCBkZCwgZWUsIGFhLCBiYiwgRjEsIEsxLCBpblsxM10sICA3KTsKKwlST1VORChiYiwgY2MsIGRkLCBlZSwgYWEsIEYxLCBLMSwgaW5bMTRdLCAgOSk7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIGVlLCBGMSwgSzEsIGluWzE1XSwgIDgpOworCisJLyogcm91bmQgMTogcmlnaHQgbGFuZSAqLworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgZWVlLCBGNSwgS0sxLCBpbls1XSwgICA4KTsKKwlST1VORChlZWUsIGFhYSwgYmJiLCBjY2MsIGRkZCwgRjUsIEtLMSwgaW5bMTRdLCAgOSk7CisJUk9VTkQoZGRkLCBlZWUsIGFhYSwgYmJiLCBjY2MsIEY1LCBLSzEsIGluWzddLCAgIDkpOworCVJPVU5EKGNjYywgZGRkLCBlZWUsIGFhYSwgYmJiLCBGNSwgS0sxLCBpblswXSwgIDExKTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBlZWUsIGFhYSwgRjUsIEtLMSwgaW5bOV0sICAxMyk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBlZWUsIEY1LCBLSzEsIGluWzJdLCAgMTUpOworCVJPVU5EKGVlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBGNSwgS0sxLCBpblsxMV0sIDE1KTsKKwlST1VORChkZGQsIGVlZSwgYWFhLCBiYmIsIGNjYywgRjUsIEtLMSwgaW5bNF0sICAgNSk7CisJUk9VTkQoY2NjLCBkZGQsIGVlZSwgYWFhLCBiYmIsIEY1LCBLSzEsIGluWzEzXSwgIDcpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGVlZSwgYWFhLCBGNSwgS0sxLCBpbls2XSwgICA3KTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIGVlZSwgRjUsIEtLMSwgaW5bMTVdLCAgOCk7CisJUk9VTkQoZWVlLCBhYWEsIGJiYiwgY2NjLCBkZGQsIEY1LCBLSzEsIGluWzhdLCAgMTEpOworCVJPVU5EKGRkZCwgZWVlLCBhYWEsIGJiYiwgY2NjLCBGNSwgS0sxLCBpblsxXSwgIDE0KTsKKwlST1VORChjY2MsIGRkZCwgZWVlLCBhYWEsIGJiYiwgRjUsIEtLMSwgaW5bMTBdLCAxNCk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgZWVlLCBhYWEsIEY1LCBLSzEsIGluWzNdLCAgMTIpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgZWVlLCBGNSwgS0sxLCBpblsxMl0sICA2KTsKKworCS8qIFN3YXAgY29udGVudHMgb2YgImEiIHJlZ2lzdGVycyAqLworCXRtcCA9IGFhOyBhYSA9IGFhYTsgYWFhID0gdG1wOworCisJLyogcm91bmQgMjogbGVmdCBsYW5lIiAqLworCVJPVU5EKGVlLCBhYSwgYmIsIGNjLCBkZCwgRjIsIEsyLCBpbls3XSwgICA3KTsKKwlST1VORChkZCwgZWUsIGFhLCBiYiwgY2MsIEYyLCBLMiwgaW5bNF0sICAgNik7CisJUk9VTkQoY2MsIGRkLCBlZSwgYWEsIGJiLCBGMiwgSzIsIGluWzEzXSwgIDgpOworCVJPVU5EKGJiLCBjYywgZGQsIGVlLCBhYSwgRjIsIEsyLCBpblsxXSwgIDEzKTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgZWUsIEYyLCBLMiwgaW5bMTBdLCAxMSk7CisJUk9VTkQoZWUsIGFhLCBiYiwgY2MsIGRkLCBGMiwgSzIsIGluWzZdLCAgIDkpOworCVJPVU5EKGRkLCBlZSwgYWEsIGJiLCBjYywgRjIsIEsyLCBpblsxNV0sICA3KTsKKwlST1VORChjYywgZGQsIGVlLCBhYSwgYmIsIEYyLCBLMiwgaW5bM10sICAxNSk7CisJUk9VTkQoYmIsIGNjLCBkZCwgZWUsIGFhLCBGMiwgSzIsIGluWzEyXSwgIDcpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBlZSwgRjIsIEsyLCBpblswXSwgIDEyKTsKKwlST1VORChlZSwgYWEsIGJiLCBjYywgZGQsIEYyLCBLMiwgaW5bOV0sICAxNSk7CisJUk9VTkQoZGQsIGVlLCBhYSwgYmIsIGNjLCBGMiwgSzIsIGluWzVdLCAgIDkpOworCVJPVU5EKGNjLCBkZCwgZWUsIGFhLCBiYiwgRjIsIEsyLCBpblsyXSwgIDExKTsKKwlST1VORChiYiwgY2MsIGRkLCBlZSwgYWEsIEYyLCBLMiwgaW5bMTRdLCAgNyk7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIGVlLCBGMiwgSzIsIGluWzExXSwgMTMpOworCVJPVU5EKGVlLCBhYSwgYmIsIGNjLCBkZCwgRjIsIEsyLCBpbls4XSwgIDEyKTsKKworCS8qIHJvdW5kIDI6IHJpZ2h0IGxhbmUgKi8KKwlST1VORChlZWUsIGFhYSwgYmJiLCBjY2MsIGRkZCwgRjQsIEtLMiwgaW5bNl0sICAgOSk7CisJUk9VTkQoZGRkLCBlZWUsIGFhYSwgYmJiLCBjY2MsIEY0LCBLSzIsIGluWzExXSwgMTMpOworCVJPVU5EKGNjYywgZGRkLCBlZWUsIGFhYSwgYmJiLCBGNCwgS0syLCBpblszXSwgIDE1KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBlZWUsIGFhYSwgRjQsIEtLMiwgaW5bN10sICAgNyk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBlZWUsIEY0LCBLSzIsIGluWzBdLCAgMTIpOworCVJPVU5EKGVlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBGNCwgS0syLCBpblsxM10sICA4KTsKKwlST1VORChkZGQsIGVlZSwgYWFhLCBiYmIsIGNjYywgRjQsIEtLMiwgaW5bNV0sICAgOSk7CisJUk9VTkQoY2NjLCBkZGQsIGVlZSwgYWFhLCBiYmIsIEY0LCBLSzIsIGluWzEwXSwgMTEpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGVlZSwgYWFhLCBGNCwgS0syLCBpblsxNF0sICA3KTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIGVlZSwgRjQsIEtLMiwgaW5bMTVdLCAgNyk7CisJUk9VTkQoZWVlLCBhYWEsIGJiYiwgY2NjLCBkZGQsIEY0LCBLSzIsIGluWzhdLCAgMTIpOworCVJPVU5EKGRkZCwgZWVlLCBhYWEsIGJiYiwgY2NjLCBGNCwgS0syLCBpblsxMl0sICA3KTsKKwlST1VORChjY2MsIGRkZCwgZWVlLCBhYWEsIGJiYiwgRjQsIEtLMiwgaW5bNF0sICAgNik7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgZWVlLCBhYWEsIEY0LCBLSzIsIGluWzldLCAgMTUpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgZWVlLCBGNCwgS0syLCBpblsxXSwgIDEzKTsKKwlST1VORChlZWUsIGFhYSwgYmJiLCBjY2MsIGRkZCwgRjQsIEtLMiwgaW5bMl0sICAxMSk7CisKKwkvKiBTd2FwIGNvbnRlbnRzIG9mICJiIiByZWdpc3RlcnMgKi8KKwl0bXAgPSBiYjsgYmIgPSBiYmI7IGJiYiA9IHRtcDsKKworCS8qIHJvdW5kIDM6IGxlZnQgbGFuZSIgKi8KKwlST1VORChkZCwgZWUsIGFhLCBiYiwgY2MsIEYzLCBLMywgaW5bM10sICAxMSk7CisJUk9VTkQoY2MsIGRkLCBlZSwgYWEsIGJiLCBGMywgSzMsIGluWzEwXSwgMTMpOworCVJPVU5EKGJiLCBjYywgZGQsIGVlLCBhYSwgRjMsIEszLCBpblsxNF0sICA2KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgZWUsIEYzLCBLMywgaW5bNF0sICAgNyk7CisJUk9VTkQoZWUsIGFhLCBiYiwgY2MsIGRkLCBGMywgSzMsIGluWzldLCAgMTQpOworCVJPVU5EKGRkLCBlZSwgYWEsIGJiLCBjYywgRjMsIEszLCBpblsxNV0sICA5KTsKKwlST1VORChjYywgZGQsIGVlLCBhYSwgYmIsIEYzLCBLMywgaW5bOF0sICAxMyk7CisJUk9VTkQoYmIsIGNjLCBkZCwgZWUsIGFhLCBGMywgSzMsIGluWzFdLCAgMTUpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBlZSwgRjMsIEszLCBpblsyXSwgIDE0KTsKKwlST1VORChlZSwgYWEsIGJiLCBjYywgZGQsIEYzLCBLMywgaW5bN10sICAgOCk7CisJUk9VTkQoZGQsIGVlLCBhYSwgYmIsIGNjLCBGMywgSzMsIGluWzBdLCAgMTMpOworCVJPVU5EKGNjLCBkZCwgZWUsIGFhLCBiYiwgRjMsIEszLCBpbls2XSwgICA2KTsKKwlST1VORChiYiwgY2MsIGRkLCBlZSwgYWEsIEYzLCBLMywgaW5bMTNdLCAgNSk7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIGVlLCBGMywgSzMsIGluWzExXSwgMTIpOworCVJPVU5EKGVlLCBhYSwgYmIsIGNjLCBkZCwgRjMsIEszLCBpbls1XSwgICA3KTsKKwlST1VORChkZCwgZWUsIGFhLCBiYiwgY2MsIEYzLCBLMywgaW5bMTJdLCAgNSk7CisKKwkvKiByb3VuZCAzOiByaWdodCBsYW5lICovCisJUk9VTkQoZGRkLCBlZWUsIGFhYSwgYmJiLCBjY2MsIEYzLCBLSzMsIGluWzE1XSwgIDkpOworCVJPVU5EKGNjYywgZGRkLCBlZWUsIGFhYSwgYmJiLCBGMywgS0szLCBpbls1XSwgICA3KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBlZWUsIGFhYSwgRjMsIEtLMywgaW5bMV0sICAxNSk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBlZWUsIEYzLCBLSzMsIGluWzNdLCAgMTEpOworCVJPVU5EKGVlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBGMywgS0szLCBpbls3XSwgICA4KTsKKwlST1VORChkZGQsIGVlZSwgYWFhLCBiYmIsIGNjYywgRjMsIEtLMywgaW5bMTRdLCAgNik7CisJUk9VTkQoY2NjLCBkZGQsIGVlZSwgYWFhLCBiYmIsIEYzLCBLSzMsIGluWzZdLCAgIDYpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGVlZSwgYWFhLCBGMywgS0szLCBpbls5XSwgIDE0KTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIGVlZSwgRjMsIEtLMywgaW5bMTFdLCAxMik7CisJUk9VTkQoZWVlLCBhYWEsIGJiYiwgY2NjLCBkZGQsIEYzLCBLSzMsIGluWzhdLCAgMTMpOworCVJPVU5EKGRkZCwgZWVlLCBhYWEsIGJiYiwgY2NjLCBGMywgS0szLCBpblsxMl0sICA1KTsKKwlST1VORChjY2MsIGRkZCwgZWVlLCBhYWEsIGJiYiwgRjMsIEtLMywgaW5bMl0sICAxNCk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgZWVlLCBhYWEsIEYzLCBLSzMsIGluWzEwXSwgMTMpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgZWVlLCBGMywgS0szLCBpblswXSwgIDEzKTsKKwlST1VORChlZWUsIGFhYSwgYmJiLCBjY2MsIGRkZCwgRjMsIEtLMywgaW5bNF0sICAgNyk7CisJUk9VTkQoZGRkLCBlZWUsIGFhYSwgYmJiLCBjY2MsIEYzLCBLSzMsIGluWzEzXSwgIDUpOworCisJLyogU3dhcCBjb250ZW50cyBvZiAiYyIgcmVnaXN0ZXJzICovCisJdG1wID0gY2M7IGNjID0gY2NjOyBjY2MgPSB0bXA7CisKKwkvKiByb3VuZCA0OiBsZWZ0IGxhbmUiICovCisJUk9VTkQoY2MsIGRkLCBlZSwgYWEsIGJiLCBGNCwgSzQsIGluWzFdLCAgMTEpOworCVJPVU5EKGJiLCBjYywgZGQsIGVlLCBhYSwgRjQsIEs0LCBpbls5XSwgIDEyKTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgZWUsIEY0LCBLNCwgaW5bMTFdLCAxNCk7CisJUk9VTkQoZWUsIGFhLCBiYiwgY2MsIGRkLCBGNCwgSzQsIGluWzEwXSwgMTUpOworCVJPVU5EKGRkLCBlZSwgYWEsIGJiLCBjYywgRjQsIEs0LCBpblswXSwgIDE0KTsKKwlST1VORChjYywgZGQsIGVlLCBhYSwgYmIsIEY0LCBLNCwgaW5bOF0sICAxNSk7CisJUk9VTkQoYmIsIGNjLCBkZCwgZWUsIGFhLCBGNCwgSzQsIGluWzEyXSwgIDkpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBlZSwgRjQsIEs0LCBpbls0XSwgICA4KTsKKwlST1VORChlZSwgYWEsIGJiLCBjYywgZGQsIEY0LCBLNCwgaW5bMTNdLCAgOSk7CisJUk9VTkQoZGQsIGVlLCBhYSwgYmIsIGNjLCBGNCwgSzQsIGluWzNdLCAgMTQpOworCVJPVU5EKGNjLCBkZCwgZWUsIGFhLCBiYiwgRjQsIEs0LCBpbls3XSwgICA1KTsKKwlST1VORChiYiwgY2MsIGRkLCBlZSwgYWEsIEY0LCBLNCwgaW5bMTVdLCAgNik7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIGVlLCBGNCwgSzQsIGluWzE0XSwgIDgpOworCVJPVU5EKGVlLCBhYSwgYmIsIGNjLCBkZCwgRjQsIEs0LCBpbls1XSwgICA2KTsKKwlST1VORChkZCwgZWUsIGFhLCBiYiwgY2MsIEY0LCBLNCwgaW5bNl0sICAgNSk7CisJUk9VTkQoY2MsIGRkLCBlZSwgYWEsIGJiLCBGNCwgSzQsIGluWzJdLCAgMTIpOworCisJLyogcm91bmQgNDogcmlnaHQgbGFuZSAqLworCVJPVU5EKGNjYywgZGRkLCBlZWUsIGFhYSwgYmJiLCBGMiwgS0s0LCBpbls4XSwgIDE1KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBlZWUsIGFhYSwgRjIsIEtLNCwgaW5bNl0sICAgNSk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBlZWUsIEYyLCBLSzQsIGluWzRdLCAgIDgpOworCVJPVU5EKGVlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBGMiwgS0s0LCBpblsxXSwgIDExKTsKKwlST1VORChkZGQsIGVlZSwgYWFhLCBiYmIsIGNjYywgRjIsIEtLNCwgaW5bM10sICAxNCk7CisJUk9VTkQoY2NjLCBkZGQsIGVlZSwgYWFhLCBiYmIsIEYyLCBLSzQsIGluWzExXSwgMTQpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGVlZSwgYWFhLCBGMiwgS0s0LCBpblsxNV0sICA2KTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIGVlZSwgRjIsIEtLNCwgaW5bMF0sICAxNCk7CisJUk9VTkQoZWVlLCBhYWEsIGJiYiwgY2NjLCBkZGQsIEYyLCBLSzQsIGluWzVdLCAgIDYpOworCVJPVU5EKGRkZCwgZWVlLCBhYWEsIGJiYiwgY2NjLCBGMiwgS0s0LCBpblsxMl0sICA5KTsKKwlST1VORChjY2MsIGRkZCwgZWVlLCBhYWEsIGJiYiwgRjIsIEtLNCwgaW5bMl0sICAxMik7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgZWVlLCBhYWEsIEYyLCBLSzQsIGluWzEzXSwgIDkpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgZWVlLCBGMiwgS0s0LCBpbls5XSwgIDEyKTsKKwlST1VORChlZWUsIGFhYSwgYmJiLCBjY2MsIGRkZCwgRjIsIEtLNCwgaW5bN10sICAgNSk7CisJUk9VTkQoZGRkLCBlZWUsIGFhYSwgYmJiLCBjY2MsIEYyLCBLSzQsIGluWzEwXSwgMTUpOworCVJPVU5EKGNjYywgZGRkLCBlZWUsIGFhYSwgYmJiLCBGMiwgS0s0LCBpblsxNF0sICA4KTsKKworCS8qIFN3YXAgY29udGVudHMgb2YgImQiIHJlZ2lzdGVycyAqLworCXRtcCA9IGRkOyBkZCA9IGRkZDsgZGRkID0gdG1wOworCisJLyogcm91bmQgNTogbGVmdCBsYW5lIiAqLworCVJPVU5EKGJiLCBjYywgZGQsIGVlLCBhYSwgRjUsIEs1LCBpbls0XSwgICA5KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgZWUsIEY1LCBLNSwgaW5bMF0sICAxNSk7CisJUk9VTkQoZWUsIGFhLCBiYiwgY2MsIGRkLCBGNSwgSzUsIGluWzVdLCAgIDUpOworCVJPVU5EKGRkLCBlZSwgYWEsIGJiLCBjYywgRjUsIEs1LCBpbls5XSwgIDExKTsKKwlST1VORChjYywgZGQsIGVlLCBhYSwgYmIsIEY1LCBLNSwgaW5bN10sICAgNik7CisJUk9VTkQoYmIsIGNjLCBkZCwgZWUsIGFhLCBGNSwgSzUsIGluWzEyXSwgIDgpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBlZSwgRjUsIEs1LCBpblsyXSwgIDEzKTsKKwlST1VORChlZSwgYWEsIGJiLCBjYywgZGQsIEY1LCBLNSwgaW5bMTBdLCAxMik7CisJUk9VTkQoZGQsIGVlLCBhYSwgYmIsIGNjLCBGNSwgSzUsIGluWzE0XSwgIDUpOworCVJPVU5EKGNjLCBkZCwgZWUsIGFhLCBiYiwgRjUsIEs1LCBpblsxXSwgIDEyKTsKKwlST1VORChiYiwgY2MsIGRkLCBlZSwgYWEsIEY1LCBLNSwgaW5bM10sICAxMyk7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIGVlLCBGNSwgSzUsIGluWzhdLCAgMTQpOworCVJPVU5EKGVlLCBhYSwgYmIsIGNjLCBkZCwgRjUsIEs1LCBpblsxMV0sIDExKTsKKwlST1VORChkZCwgZWUsIGFhLCBiYiwgY2MsIEY1LCBLNSwgaW5bNl0sICAgOCk7CisJUk9VTkQoY2MsIGRkLCBlZSwgYWEsIGJiLCBGNSwgSzUsIGluWzE1XSwgIDUpOworCVJPVU5EKGJiLCBjYywgZGQsIGVlLCBhYSwgRjUsIEs1LCBpblsxM10sICA2KTsKKworCS8qIHJvdW5kIDU6IHJpZ2h0IGxhbmUgKi8KKwlST1VORChiYmIsIGNjYywgZGRkLCBlZWUsIGFhYSwgRjEsIEtLNSwgaW5bMTJdLCAgOCk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBlZWUsIEYxLCBLSzUsIGluWzE1XSwgIDUpOworCVJPVU5EKGVlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBGMSwgS0s1LCBpblsxMF0sIDEyKTsKKwlST1VORChkZGQsIGVlZSwgYWFhLCBiYmIsIGNjYywgRjEsIEtLNSwgaW5bNF0sICAgOSk7CisJUk9VTkQoY2NjLCBkZGQsIGVlZSwgYWFhLCBiYmIsIEYxLCBLSzUsIGluWzFdLCAgMTIpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGVlZSwgYWFhLCBGMSwgS0s1LCBpbls1XSwgICA1KTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIGVlZSwgRjEsIEtLNSwgaW5bOF0sICAxNCk7CisJUk9VTkQoZWVlLCBhYWEsIGJiYiwgY2NjLCBkZGQsIEYxLCBLSzUsIGluWzddLCAgIDYpOworCVJPVU5EKGRkZCwgZWVlLCBhYWEsIGJiYiwgY2NjLCBGMSwgS0s1LCBpbls2XSwgICA4KTsKKwlST1VORChjY2MsIGRkZCwgZWVlLCBhYWEsIGJiYiwgRjEsIEtLNSwgaW5bMl0sICAxMyk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgZWVlLCBhYWEsIEYxLCBLSzUsIGluWzEzXSwgIDYpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgZWVlLCBGMSwgS0s1LCBpblsxNF0sICA1KTsKKwlST1VORChlZWUsIGFhYSwgYmJiLCBjY2MsIGRkZCwgRjEsIEtLNSwgaW5bMF0sICAxNSk7CisJUk9VTkQoZGRkLCBlZWUsIGFhYSwgYmJiLCBjY2MsIEYxLCBLSzUsIGluWzNdLCAgMTMpOworCVJPVU5EKGNjYywgZGRkLCBlZWUsIGFhYSwgYmJiLCBGMSwgS0s1LCBpbls5XSwgIDExKTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBlZWUsIGFhYSwgRjEsIEtLNSwgaW5bMTFdLCAxMSk7CisKKwkvKiBTd2FwIGNvbnRlbnRzIG9mICJlIiByZWdpc3RlcnMgKi8KKwl0bXAgPSBlZTsgZWUgPSBlZWU7IGVlZSA9IHRtcDsKKworCS8qIGNvbWJpbmUgcmVzdWx0cyAqLworCXN0YXRlWzBdICs9IGFhOworCXN0YXRlWzFdICs9IGJiOworCXN0YXRlWzJdICs9IGNjOworCXN0YXRlWzNdICs9IGRkOworCXN0YXRlWzRdICs9IGVlOworCXN0YXRlWzVdICs9IGFhYTsKKwlzdGF0ZVs2XSArPSBiYmI7CisJc3RhdGVbN10gKz0gY2NjOworCXN0YXRlWzhdICs9IGRkZDsKKwlzdGF0ZVs5XSArPSBlZWU7CisKKwlyZXR1cm47Cit9CisKK3N0YXRpYyB2b2lkIHJtZDMyMF9pbml0KHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pCit7CisJc3RydWN0IHJtZDMyMF9jdHggKnJjdHggPSBjcnlwdG9fdGZtX2N0eCh0Zm0pOworCisJcmN0eC0+Ynl0ZV9jb3VudCA9IDA7CisKKwlyY3R4LT5zdGF0ZVswXSA9IFJNRF9IMDsKKwlyY3R4LT5zdGF0ZVsxXSA9IFJNRF9IMTsKKwlyY3R4LT5zdGF0ZVsyXSA9IFJNRF9IMjsKKwlyY3R4LT5zdGF0ZVszXSA9IFJNRF9IMzsKKwlyY3R4LT5zdGF0ZVs0XSA9IFJNRF9INDsKKwlyY3R4LT5zdGF0ZVs1XSA9IFJNRF9INTsKKwlyY3R4LT5zdGF0ZVs2XSA9IFJNRF9INjsKKwlyY3R4LT5zdGF0ZVs3XSA9IFJNRF9INzsKKwlyY3R4LT5zdGF0ZVs4XSA9IFJNRF9IODsKKwlyY3R4LT5zdGF0ZVs5XSA9IFJNRF9IOTsKKworCW1lbXNldChyY3R4LT5idWZmZXIsIDAsIHNpemVvZihyY3R4LT5idWZmZXIpKTsKK30KKworc3RhdGljIHZvaWQgcm1kMzIwX3VwZGF0ZShzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtLCBjb25zdCB1OCAqZGF0YSwKKwkJCSAgdW5zaWduZWQgaW50IGxlbikKK3sKKwlzdHJ1Y3Qgcm1kMzIwX2N0eCAqcmN0eCA9IGNyeXB0b190Zm1fY3R4KHRmbSk7CisJY29uc3QgdTMyIGF2YWlsID0gc2l6ZW9mKHJjdHgtPmJ1ZmZlcikgLSAocmN0eC0+Ynl0ZV9jb3VudCAmIDB4M2YpOworCisJcmN0eC0+Ynl0ZV9jb3VudCArPSBsZW47CisKKwkvKiBFbm91Z2ggc3BhY2UgaW4gYnVmZmVyPyBJZiBzbyBjb3B5IGFuZCB3ZSdyZSBkb25lICovCisJaWYgKGF2YWlsID4gbGVuKSB7CisJCW1lbWNweSgoY2hhciAqKXJjdHgtPmJ1ZmZlciArIChzaXplb2YocmN0eC0+YnVmZmVyKSAtIGF2YWlsKSwKKwkJICAgICAgIGRhdGEsIGxlbik7CisJCXJldHVybjsKKwl9CisKKwltZW1jcHkoKGNoYXIgKilyY3R4LT5idWZmZXIgKyAoc2l6ZW9mKHJjdHgtPmJ1ZmZlcikgLSBhdmFpbCksCisJICAgICAgIGRhdGEsIGF2YWlsKTsKKworCXJtZDMyMF90cmFuc2Zvcm0ocmN0eC0+c3RhdGUsIHJjdHgtPmJ1ZmZlcik7CisJZGF0YSArPSBhdmFpbDsKKwlsZW4gLT0gYXZhaWw7CisKKwl3aGlsZSAobGVuID49IHNpemVvZihyY3R4LT5idWZmZXIpKSB7CisJCW1lbWNweShyY3R4LT5idWZmZXIsIGRhdGEsIHNpemVvZihyY3R4LT5idWZmZXIpKTsKKwkJcm1kMzIwX3RyYW5zZm9ybShyY3R4LT5zdGF0ZSwgcmN0eC0+YnVmZmVyKTsKKwkJZGF0YSArPSBzaXplb2YocmN0eC0+YnVmZmVyKTsKKwkJbGVuIC09IHNpemVvZihyY3R4LT5idWZmZXIpOworCX0KKworCW1lbWNweShyY3R4LT5idWZmZXIsIGRhdGEsIGxlbik7Cit9CisKKy8qIEFkZCBwYWRkaW5nIGFuZCByZXR1cm4gdGhlIG1lc3NhZ2UgZGlnZXN0LiAqLworc3RhdGljIHZvaWQgcm1kMzIwX2ZpbmFsKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0sIHU4ICpvdXQpCit7CisJc3RydWN0IHJtZDMyMF9jdHggKnJjdHggPSBjcnlwdG9fdGZtX2N0eCh0Zm0pOworCXUzMiBpLCBpbmRleCwgcGFkbGVuOworCV9fbGU2NCBiaXRzOworCV9fbGUzMiAqZHN0ID0gKF9fbGUzMiAqKW91dDsKKwlzdGF0aWMgY29uc3QgdTggcGFkZGluZ1s2NF0gPSB7IDB4ODAsIH07CisKKwliaXRzID0gY3B1X3RvX2xlNjQocmN0eC0+Ynl0ZV9jb3VudCA8PCAzKTsKKworCS8qIFBhZCBvdXQgdG8gNTYgbW9kIDY0ICovCisJaW5kZXggPSByY3R4LT5ieXRlX2NvdW50ICYgMHgzZjsKKwlwYWRsZW4gPSAoaW5kZXggPCA1NikgPyAoNTYgLSBpbmRleCkgOiAoKDY0KzU2KSAtIGluZGV4KTsKKwlybWQzMjBfdXBkYXRlKHRmbSwgcGFkZGluZywgcGFkbGVuKTsKKworCS8qIEFwcGVuZCBsZW5ndGggKi8KKwlybWQzMjBfdXBkYXRlKHRmbSwgKGNvbnN0IHU4ICopJmJpdHMsIHNpemVvZihiaXRzKSk7CisKKwkvKiBTdG9yZSBzdGF0ZSBpbiBkaWdlc3QgKi8KKwlmb3IgKGkgPSAwOyBpIDwgMTA7IGkrKykKKwkJZHN0W2ldID0gY3B1X3RvX2xlMzJwKCZyY3R4LT5zdGF0ZVtpXSk7CisKKwkvKiBXaXBlIGNvbnRleHQgKi8KKwltZW1zZXQocmN0eCwgMCwgc2l6ZW9mKCpyY3R4KSk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgY3J5cHRvX2FsZyBhbGcgPSB7CisJLmNyYV9uYW1lCSA9CSJybWQzMjAiLAorCS5jcmFfZHJpdmVyX25hbWUgPQkicm1kMzIwIiwKKwkuY3JhX2ZsYWdzCSA9CUNSWVBUT19BTEdfVFlQRV9ESUdFU1QsCisJLmNyYV9ibG9ja3NpemUJID0JUk1EMzIwX0JMT0NLX1NJWkUsCisJLmNyYV9jdHhzaXplCSA9CXNpemVvZihzdHJ1Y3Qgcm1kMzIwX2N0eCksCisJLmNyYV9tb2R1bGUJID0JVEhJU19NT0RVTEUsCisJLmNyYV9saXN0CSA9CUxJU1RfSEVBRF9JTklUKGFsZy5jcmFfbGlzdCksCisJLmNyYV91CQkgPQl7IC5kaWdlc3QgPSB7CisJLmRpYV9kaWdlc3RzaXplCSA9CVJNRDMyMF9ESUdFU1RfU0laRSwKKwkuZGlhX2luaXQJID0Jcm1kMzIwX2luaXQsCisJLmRpYV91cGRhdGUJID0Jcm1kMzIwX3VwZGF0ZSwKKwkuZGlhX2ZpbmFsCSA9CXJtZDMyMF9maW5hbCB9IH0KK307CisKK3N0YXRpYyBpbnQgX19pbml0IHJtZDMyMF9tb2RfaW5pdCh2b2lkKQoreworCXJldHVybiBjcnlwdG9fcmVnaXN0ZXJfYWxnKCZhbGcpOworfQorCitzdGF0aWMgdm9pZCBfX2V4aXQgcm1kMzIwX21vZF9maW5pKHZvaWQpCit7CisJY3J5cHRvX3VucmVnaXN0ZXJfYWxnKCZhbGcpOworfQorCittb2R1bGVfaW5pdChybWQzMjBfbW9kX2luaXQpOworbW9kdWxlX2V4aXQocm1kMzIwX21vZF9maW5pKTsKKworTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOworTU9EVUxFX0RFU0NSSVBUSU9OKCJSSVBFTUQtMzIwIE1lc3NhZ2UgRGlnZXN0Iik7CisKK01PRFVMRV9BTElBUygicm1kMzIwIik7CmRpZmYgLS1naXQgYS9jcnlwdG8vdGNyeXB0LmMgYi9jcnlwdG8vdGNyeXB0LmMKaW5kZXggNmJlYWJjNS4uNTk4MjFhMiAxMDA2NDQKLS0tIGEvY3J5cHRvL3RjcnlwdC5jCisrKyBiL2NyeXB0by90Y3J5cHQuYwpAQCAtMTMsMTUgKzEzLDkgQEAKICAqIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikKICAqIGFueSBsYXRlciB2ZXJzaW9uLgogICoKLSAqIDIwMDctMTEtMTMgQWRkZWQgR0NNIHRlc3RzCi0gKiAyMDA3LTExLTEzIEFkZGVkIEFFQUQgc3VwcG9ydAotICogMjAwNy0xMS0wNiBBZGRlZCBTSEEtMjI0IGFuZCBTSEEtMjI0LUhNQUMgdGVzdHMKLSAqIDIwMDYtMTItMDcgQWRkZWQgU0hBMzg0IEhNQUMgYW5kIFNIQTUxMiBITUFDIHRlc3RzCi0gKiAyMDA0LTA4LTA5IEFkZGVkIGNpcGhlciBzcGVlZCB0ZXN0cyAoUmV5ayBGbG9ldGVyIDxyZXlrQHZhbnRyb25peC5uZXQ+KQotICogMjAwMy0wOS0xNCBSZXdyaXR0ZW4gYnkgS2FydGlrZXkgTWFoZW5kcmEgQmhhdHQKLSAqCiAgKi8KIAorI2luY2x1ZGUgPGNyeXB0by9oYXNoLmg+CiAjaW5jbHVkZSA8bGludXgvZXJyLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgpAQCAtMzAsNyArMjQsNiBAQAogI2luY2x1ZGUgPGxpbnV4L3NjYXR0ZXJsaXN0Lmg+CiAjaW5jbHVkZSA8bGludXgvc3RyaW5nLmg+CiAjaW5jbHVkZSA8bGludXgvY3J5cHRvLmg+Ci0jaW5jbHVkZSA8bGludXgvaGlnaG1lbS5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZXBhcmFtLmg+CiAjaW5jbHVkZSA8bGludXgvamlmZmllcy5oPgogI2luY2x1ZGUgPGxpbnV4L3RpbWV4Lmg+CkBAIC0zOCw3ICszMSw3IEBACiAjaW5jbHVkZSAidGNyeXB0LmgiCiAKIC8qCi0gKiBOZWVkIHRvIGttYWxsb2MoKSBtZW1vcnkgZm9yIHRlc3Rpbmcga21hcCgpLgorICogTmVlZCB0byBrbWFsbG9jKCkgbWVtb3J5IGZvciB0ZXN0aW5nLgogICovCiAjZGVmaW5lIFRWTUVNU0laRQkxNjM4NAogI2RlZmluZSBYQlVGU0laRQkzMjc2OApAQCAtNDYsNyArMzksNyBAQAogLyoKICAqIEluZGV4ZXMgaW50byB0aGUgeGJ1ZiB0byBzaW11bGF0ZSBjcm9zcy1wYWdlIGFjY2Vzcy4KICAqLwotI2RlZmluZSBJRFgxCQkzNworI2RlZmluZSBJRFgxCQkzMgogI2RlZmluZSBJRFgyCQkzMjQwMAogI2RlZmluZSBJRFgzCQkxCiAjZGVmaW5lIElEWDQJCTgxOTMKQEAgLTgzLDcgKzc2LDggQEAKIAkiYmxvd2Zpc2giLCAidHdvZmlzaCIsICJzZXJwZW50IiwgInNoYTM4NCIsICJzaGE1MTIiLCAibWQ0IiwgImFlcyIsCiAJImNhc3Q2IiwgImFyYzQiLCAibWljaGFlbF9taWMiLCAiZGVmbGF0ZSIsICJjcmMzMmMiLCAidGVhIiwgInh0ZWEiLAogCSJraGF6YWQiLCAid3A1MTIiLCAid3AzODQiLCAid3AyNTYiLCAidG5lcHJlcyIsICJ4ZXRhIiwgICJmY3J5cHQiLAotCSJjYW1lbGxpYSIsICJzZWVkIiwgInNhbHNhMjAiLCAibHpvIiwgImN0cyIsIE5VTEwKKwkiY2FtZWxsaWEiLCAic2VlZCIsICJzYWxzYTIwIiwgInJtZDEyOCIsICJybWQxNjAiLCAicm1kMjU2IiwgInJtZDMyMCIsCisJImx6byIsICJjdHMiLCBOVUxMCiB9OwogCiBzdGF0aWMgdm9pZCBoZXhkdW1wKHVuc2lnbmVkIGNoYXIgKmJ1ZiwgdW5zaWduZWQgaW50IGxlbikKQEAgLTExMCwyMiArMTA0LDMwIEBACiAJdW5zaWduZWQgaW50IGksIGosIGssIHRlbXA7CiAJc3RydWN0IHNjYXR0ZXJsaXN0IHNnWzhdOwogCWNoYXIgcmVzdWx0WzY0XTsKLQlzdHJ1Y3QgY3J5cHRvX2hhc2ggKnRmbTsKLQlzdHJ1Y3QgaGFzaF9kZXNjIGRlc2M7CisJc3RydWN0IGNyeXB0b19haGFzaCAqdGZtOworCXN0cnVjdCBhaGFzaF9yZXF1ZXN0ICpyZXE7CisJc3RydWN0IHRjcnlwdF9yZXN1bHQgdHJlc3VsdDsKIAlpbnQgcmV0OwogCXZvaWQgKmhhc2hfYnVmZjsKIAogCXByaW50aygiXG50ZXN0aW5nICVzXG4iLCBhbGdvKTsKIAotCXRmbSA9IGNyeXB0b19hbGxvY19oYXNoKGFsZ28sIDAsIENSWVBUT19BTEdfQVNZTkMpOworCWluaXRfY29tcGxldGlvbigmdHJlc3VsdC5jb21wbGV0aW9uKTsKKworCXRmbSA9IGNyeXB0b19hbGxvY19haGFzaChhbGdvLCAwLCAwKTsKIAlpZiAoSVNfRVJSKHRmbSkpIHsKIAkJcHJpbnRrKCJmYWlsZWQgdG8gbG9hZCB0cmFuc2Zvcm0gZm9yICVzOiAlbGRcbiIsIGFsZ28sCiAJCSAgICAgICBQVFJfRVJSKHRmbSkpOwogCQlyZXR1cm47CiAJfQogCi0JZGVzYy50Zm0gPSB0Zm07Ci0JZGVzYy5mbGFncyA9IDA7CisJcmVxID0gYWhhc2hfcmVxdWVzdF9hbGxvYyh0Zm0sIEdGUF9LRVJORUwpOworCWlmICghcmVxKSB7CisJCXByaW50ayhLRVJOX0VSUiAiZmFpbGVkIHRvIGFsbG9jYXRlIHJlcXVlc3QgZm9yICVzXG4iLCBhbGdvKTsKKwkJZ290byBvdXRfbm9yZXE7CisJfQorCWFoYXNoX3JlcXVlc3Rfc2V0X2NhbGxiYWNrKHJlcSwgQ1JZUFRPX1RGTV9SRVFfTUFZX0JBQ0tMT0csCisJCQkJICAgdGNyeXB0X2NvbXBsZXRlLCAmdHJlc3VsdCk7CiAKIAlmb3IgKGkgPSAwOyBpIDwgdGNvdW50OyBpKyspIHsKIAkJcHJpbnRrKCJ0ZXN0ICV1OlxuIiwgaSArIDEpOwpAQCAtMTM5LDggKzE0MSw5IEBACiAJCXNnX2luaXRfb25lKCZzZ1swXSwgaGFzaF9idWZmLCB0ZW1wbGF0ZVtpXS5wc2l6ZSk7CiAKIAkJaWYgKHRlbXBsYXRlW2ldLmtzaXplKSB7Ci0JCQlyZXQgPSBjcnlwdG9faGFzaF9zZXRrZXkodGZtLCB0ZW1wbGF0ZVtpXS5rZXksCi0JCQkJCQkgdGVtcGxhdGVbaV0ua3NpemUpOworCQkJY3J5cHRvX2FoYXNoX2NsZWFyX2ZsYWdzKHRmbSwgfjApOworCQkJcmV0ID0gY3J5cHRvX2FoYXNoX3NldGtleSh0Zm0sIHRlbXBsYXRlW2ldLmtleSwKKwkJCQkJCSAgdGVtcGxhdGVbaV0ua3NpemUpOwogCQkJaWYgKHJldCkgewogCQkJCXByaW50aygic2V0a2V5KCkgZmFpbGVkIHJldD0lZFxuIiwgcmV0KTsKIAkJCQlrZnJlZShoYXNoX2J1ZmYpOwpAQCAtMTQ4LDE3ICsxNTEsMzAgQEAKIAkJCX0KIAkJfQogCi0JCXJldCA9IGNyeXB0b19oYXNoX2RpZ2VzdCgmZGVzYywgc2csIHRlbXBsYXRlW2ldLnBzaXplLCByZXN1bHQpOwotCQlpZiAocmV0KSB7CisJCWFoYXNoX3JlcXVlc3Rfc2V0X2NyeXB0KHJlcSwgc2csIHJlc3VsdCwgdGVtcGxhdGVbaV0ucHNpemUpOworCQlyZXQgPSBjcnlwdG9fYWhhc2hfZGlnZXN0KHJlcSk7CisJCXN3aXRjaCAocmV0KSB7CisJCWNhc2UgMDoKKwkJCWJyZWFrOworCQljYXNlIC1FSU5QUk9HUkVTUzoKKwkJY2FzZSAtRUJVU1k6CisJCQlyZXQgPSB3YWl0X2Zvcl9jb21wbGV0aW9uX2ludGVycnVwdGlibGUoCisJCQkJJnRyZXN1bHQuY29tcGxldGlvbik7CisJCQlpZiAoIXJldCAmJiAhKHJldCA9IHRyZXN1bHQuZXJyKSkgeworCQkJCUlOSVRfQ09NUExFVElPTih0cmVzdWx0LmNvbXBsZXRpb24pOworCQkJCWJyZWFrOworCQkJfQorCQkJLyogZmFsbCB0aHJvdWdoICovCisJCWRlZmF1bHQ6CiAJCQlwcmludGsoImRpZ2VzdCAoKSBmYWlsZWQgcmV0PSVkXG4iLCByZXQpOwogCQkJa2ZyZWUoaGFzaF9idWZmKTsKIAkJCWdvdG8gb3V0OwogCQl9CiAKLQkJaGV4ZHVtcChyZXN1bHQsIGNyeXB0b19oYXNoX2RpZ2VzdHNpemUodGZtKSk7CisJCWhleGR1bXAocmVzdWx0LCBjcnlwdG9fYWhhc2hfZGlnZXN0c2l6ZSh0Zm0pKTsKIAkJcHJpbnRrKCIlc1xuIiwKIAkJICAgICAgIG1lbWNtcChyZXN1bHQsIHRlbXBsYXRlW2ldLmRpZ2VzdCwKLQkJCSAgICAgIGNyeXB0b19oYXNoX2RpZ2VzdHNpemUodGZtKSkgPworCQkJICAgICAgY3J5cHRvX2FoYXNoX2RpZ2VzdHNpemUodGZtKSkgPwogCQkgICAgICAgImZhaWwiIDogInBhc3MiKTsKIAkJa2ZyZWUoaGFzaF9idWZmKTsKIAl9CkBAIC0xODcsOCArMjAzLDkgQEAKIAkJCX0KIAogCQkJaWYgKHRlbXBsYXRlW2ldLmtzaXplKSB7Ci0JCQkJcmV0ID0gY3J5cHRvX2hhc2hfc2V0a2V5KHRmbSwgdGVtcGxhdGVbaV0ua2V5LAotCQkJCQkJCSB0ZW1wbGF0ZVtpXS5rc2l6ZSk7CisJCQkJY3J5cHRvX2FoYXNoX2NsZWFyX2ZsYWdzKHRmbSwgfjApOworCQkJCXJldCA9IGNyeXB0b19haGFzaF9zZXRrZXkodGZtLCB0ZW1wbGF0ZVtpXS5rZXksCisJCQkJCQkJICB0ZW1wbGF0ZVtpXS5rc2l6ZSk7CiAKIAkJCQlpZiAocmV0KSB7CiAJCQkJCXByaW50aygic2V0a2V5KCkgZmFpbGVkIHJldD0lZFxuIiwgcmV0KTsKQEAgLTE5NiwyOSArMjEzLDQ0IEBACiAJCQkJfQogCQkJfQogCi0JCQlyZXQgPSBjcnlwdG9faGFzaF9kaWdlc3QoJmRlc2MsIHNnLCB0ZW1wbGF0ZVtpXS5wc2l6ZSwKLQkJCQkJCSByZXN1bHQpOwotCQkJaWYgKHJldCkgeworCQkJYWhhc2hfcmVxdWVzdF9zZXRfY3J5cHQocmVxLCBzZywgcmVzdWx0LAorCQkJCQkJdGVtcGxhdGVbaV0ucHNpemUpOworCQkJcmV0ID0gY3J5cHRvX2FoYXNoX2RpZ2VzdChyZXEpOworCQkJc3dpdGNoIChyZXQpIHsKKwkJCWNhc2UgMDoKKwkJCQlicmVhazsKKwkJCWNhc2UgLUVJTlBST0dSRVNTOgorCQkJY2FzZSAtRUJVU1k6CisJCQkJcmV0ID0gd2FpdF9mb3JfY29tcGxldGlvbl9pbnRlcnJ1cHRpYmxlKAorCQkJCQkmdHJlc3VsdC5jb21wbGV0aW9uKTsKKwkJCQlpZiAoIXJldCAmJiAhKHJldCA9IHRyZXN1bHQuZXJyKSkgeworCQkJCQlJTklUX0NPTVBMRVRJT04odHJlc3VsdC5jb21wbGV0aW9uKTsKKwkJCQkJYnJlYWs7CisJCQkJfQorCQkJCS8qIGZhbGwgdGhyb3VnaCAqLworCQkJZGVmYXVsdDoKIAkJCQlwcmludGsoImRpZ2VzdCAoKSBmYWlsZWQgcmV0PSVkXG4iLCByZXQpOwogCQkJCWdvdG8gb3V0OwogCQkJfQogCi0JCQloZXhkdW1wKHJlc3VsdCwgY3J5cHRvX2hhc2hfZGlnZXN0c2l6ZSh0Zm0pKTsKKwkJCWhleGR1bXAocmVzdWx0LCBjcnlwdG9fYWhhc2hfZGlnZXN0c2l6ZSh0Zm0pKTsKIAkJCXByaW50aygiJXNcbiIsCiAJCQkgICAgICAgbWVtY21wKHJlc3VsdCwgdGVtcGxhdGVbaV0uZGlnZXN0LAotCQkJCSAgICAgIGNyeXB0b19oYXNoX2RpZ2VzdHNpemUodGZtKSkgPworCQkJCSAgICAgIGNyeXB0b19haGFzaF9kaWdlc3RzaXplKHRmbSkpID8KIAkJCSAgICAgICAiZmFpbCIgOiAicGFzcyIpOwogCQl9CiAJfQogCiBvdXQ6Ci0JY3J5cHRvX2ZyZWVfaGFzaCh0Zm0pOworCWFoYXNoX3JlcXVlc3RfZnJlZShyZXEpOworb3V0X25vcmVxOgorCWNyeXB0b19mcmVlX2FoYXNoKHRmbSk7CiB9CiAKIHN0YXRpYyB2b2lkIHRlc3RfYWVhZChjaGFyICphbGdvLCBpbnQgZW5jLCBzdHJ1Y3QgYWVhZF90ZXN0dmVjICp0ZW1wbGF0ZSwKIAkJICAgICAgdW5zaWduZWQgaW50IHRjb3VudCkKIHsKLQl1bnNpZ25lZCBpbnQgcmV0LCBpLCBqLCBrLCB0ZW1wOworCXVuc2lnbmVkIGludCByZXQsIGksIGosIGssIG4sIHRlbXA7CiAJY2hhciAqcTsKIAlzdHJ1Y3QgY3J5cHRvX2FlYWQgKnRmbTsKIAljaGFyICprZXk7CkBAIC0zNDQsMTMgKzM3NiwxMiBAQAogCQkJCWdvdG8gbmV4dF9vbmU7CiAJCQl9CiAKLQkJCXEgPSBrbWFwKHNnX3BhZ2UoJnNnWzBdKSkgKyBzZ1swXS5vZmZzZXQ7CisJCQlxID0gaW5wdXQ7CiAJCQloZXhkdW1wKHEsIHRlbXBsYXRlW2ldLnJsZW4pOwogCiAJCQlwcmludGsoS0VSTl9JTkZPICJlbmMvZGVjOiAlc1xuIiwKIAkJCSAgICAgICBtZW1jbXAocSwgdGVtcGxhdGVbaV0ucmVzdWx0LAogCQkJCSAgICAgIHRlbXBsYXRlW2ldLnJsZW4pID8gImZhaWwiIDogInBhc3MiKTsKLQkJCWt1bm1hcChzZ19wYWdlKCZzZ1swXSkpOwogbmV4dF9vbmU6CiAJCQlpZiAoIXRlbXBsYXRlW2ldLmtleSkKIAkJCQlrZnJlZShrZXkpOwpAQCAtMzYwLDcgKzM5MSw2IEBACiAJfQogCiAJcHJpbnRrKEtFUk5fSU5GTyAiXG50ZXN0aW5nICVzICVzIGFjcm9zcyBwYWdlcyAoY2h1bmtpbmcpXG4iLCBhbGdvLCBlKTsKLQltZW1zZXQoeGJ1ZiwgMCwgWEJVRlNJWkUpOwogCW1lbXNldChheGJ1ZiwgMCwgWEJVRlNJWkUpOwogCiAJZm9yIChpID0gMCwgaiA9IDA7IGkgPCB0Y291bnQ7IGkrKykgewpAQCAtMzg4LDYgKzQxOCw3IEBACiAJCQkJCWdvdG8gb3V0OwogCQkJfQogCisJCQltZW1zZXQoeGJ1ZiwgMCwgWEJVRlNJWkUpOwogCQkJc2dfaW5pdF90YWJsZShzZywgdGVtcGxhdGVbaV0ubnApOwogCQkJZm9yIChrID0gMCwgdGVtcCA9IDA7IGsgPCB0ZW1wbGF0ZVtpXS5ucDsgaysrKSB7CiAJCQkJbWVtY3B5KCZ4YnVmW0lEWFtrXV0sCkBAIC00NTAsNyArNDgxLDcgQEAKIAogCQkJZm9yIChrID0gMCwgdGVtcCA9IDA7IGsgPCB0ZW1wbGF0ZVtpXS5ucDsgaysrKSB7CiAJCQkJcHJpbnRrKEtFUk5fSU5GTyAicGFnZSAldVxuIiwgayk7Ci0JCQkJcSA9IGttYXAoc2dfcGFnZSgmc2dba10pKSArIHNnW2tdLm9mZnNldDsKKwkJCQlxID0gJmF4YnVmW0lEWFtrXV07CiAJCQkJaGV4ZHVtcChxLCB0ZW1wbGF0ZVtpXS50YXBba10pOwogCQkJCXByaW50ayhLRVJOX0lORk8gIiVzXG4iLAogCQkJCSAgICAgICBtZW1jbXAocSwgdGVtcGxhdGVbaV0ucmVzdWx0ICsgdGVtcCwKQEAgLTQ1OSw4ICs0OTAsMTUgQEAKIAkJCQkJICAgICAgIDAgOiBhdXRoc2l6ZSkpID8KIAkJCQkgICAgICAgImZhaWwiIDogInBhc3MiKTsKIAorCQkJCWZvciAobiA9IDA7IHFbdGVtcGxhdGVbaV0udGFwW2tdICsgbl07IG4rKykKKwkJCQkJOworCQkJCWlmIChuKSB7CisJCQkJCXByaW50aygiUmVzdWx0IGJ1ZmZlciBjb3JydXB0aW9uICV1ICIKKwkJCQkJICAgICAgICJieXRlczpcbiIsIG4pOworCQkJCQloZXhkdW1wKCZxW3RlbXBsYXRlW2ldLnRhcFtrXV0sIG4pOworCQkJCX0KKwogCQkJCXRlbXAgKz0gdGVtcGxhdGVbaV0udGFwW2tdOwotCQkJCWt1bm1hcChzZ19wYWdlKCZzZ1trXSkpOwogCQkJfQogCQl9CiAJfQpAQCAtNDczLDcgKzUxMSw3IEBACiBzdGF0aWMgdm9pZCB0ZXN0X2NpcGhlcihjaGFyICphbGdvLCBpbnQgZW5jLAogCQkJc3RydWN0IGNpcGhlcl90ZXN0dmVjICp0ZW1wbGF0ZSwgdW5zaWduZWQgaW50IHRjb3VudCkKIHsKLQl1bnNpZ25lZCBpbnQgcmV0LCBpLCBqLCBrLCB0ZW1wOworCXVuc2lnbmVkIGludCByZXQsIGksIGosIGssIG4sIHRlbXA7CiAJY2hhciAqcTsKIAlzdHJ1Y3QgY3J5cHRvX2FibGtjaXBoZXIgKnRmbTsKIAlzdHJ1Y3QgYWJsa2NpcGhlcl9yZXF1ZXN0ICpyZXE7CkBAIC01NjksMjkgKzYwNywyMSBAQAogCQkJCWdvdG8gb3V0OwogCQkJfQogCi0JCQlxID0ga21hcChzZ19wYWdlKCZzZ1swXSkpICsgc2dbMF0ub2Zmc2V0OworCQkJcSA9IGRhdGE7CiAJCQloZXhkdW1wKHEsIHRlbXBsYXRlW2ldLnJsZW4pOwogCiAJCQlwcmludGsoIiVzXG4iLAogCQkJICAgICAgIG1lbWNtcChxLCB0ZW1wbGF0ZVtpXS5yZXN1bHQsCiAJCQkJICAgICAgdGVtcGxhdGVbaV0ucmxlbikgPyAiZmFpbCIgOiAicGFzcyIpOwotCQkJa3VubWFwKHNnX3BhZ2UoJnNnWzBdKSk7CiAJCX0KIAkJa2ZyZWUoZGF0YSk7CiAJfQogCiAJcHJpbnRrKCJcbnRlc3RpbmcgJXMgJXMgYWNyb3NzIHBhZ2VzIChjaHVua2luZylcbiIsIGFsZ28sIGUpOwotCW1lbXNldCh4YnVmLCAwLCBYQlVGU0laRSk7CiAKIAlqID0gMDsKIAlmb3IgKGkgPSAwOyBpIDwgdGNvdW50OyBpKyspIHsKIAotCQlkYXRhID0ga3phbGxvYyh0ZW1wbGF0ZVtpXS5pbGVuLCBHRlBfS0VSTkVMKTsKLQkJaWYgKCFkYXRhKQotCQkJY29udGludWU7Ci0KLQkJbWVtY3B5KGRhdGEsIHRlbXBsYXRlW2ldLmlucHV0LCB0ZW1wbGF0ZVtpXS5pbGVuKTsKLQogCQlpZiAodGVtcGxhdGVbaV0uaXYpCiAJCQltZW1jcHkoaXYsIHRlbXBsYXRlW2ldLml2LCBNQVhfSVZMRU4pOwogCQllbHNlCkBAIC02MDIsNiArNjMyLDcgQEAKIAkJCXByaW50aygidGVzdCAldSAoJWQgYml0IGtleSk6XG4iLAogCQkJaiwgdGVtcGxhdGVbaV0ua2xlbiAqIDgpOwogCisJCQltZW1zZXQoeGJ1ZiwgMCwgWEJVRlNJWkUpOwogCQkJY3J5cHRvX2FibGtjaXBoZXJfY2xlYXJfZmxhZ3ModGZtLCB+MCk7CiAJCQlpZiAodGVtcGxhdGVbaV0ud2spCiAJCQkJY3J5cHRvX2FibGtjaXBoZXJfc2V0X2ZsYWdzKApAQCAtNjEzLDEwICs2NDQsOCBAQAogCQkJCXByaW50aygic2V0a2V5KCkgZmFpbGVkIGZsYWdzPSV4XG4iLAogCQkJCQkJY3J5cHRvX2FibGtjaXBoZXJfZ2V0X2ZsYWdzKHRmbSkpOwogCi0JCQkJaWYgKCF0ZW1wbGF0ZVtpXS5mYWlsKSB7Ci0JCQkJCWtmcmVlKGRhdGEpOworCQkJCWlmICghdGVtcGxhdGVbaV0uZmFpbCkKIAkJCQkJZ290byBvdXQ7Ci0JCQkJfQogCQkJfQogCiAJCQl0ZW1wID0gMDsKQEAgLTY1NywxNCArNjg2LDIxIEBACiAJCQl0ZW1wID0gMDsKIAkJCWZvciAoayA9IDA7IGsgPCB0ZW1wbGF0ZVtpXS5ucDsgaysrKSB7CiAJCQkJcHJpbnRrKCJwYWdlICV1XG4iLCBrKTsKLQkJCQlxID0ga21hcChzZ19wYWdlKCZzZ1trXSkpICsgc2dba10ub2Zmc2V0OworCQkJCXEgPSAmeGJ1ZltJRFhba11dOwogCQkJCWhleGR1bXAocSwgdGVtcGxhdGVbaV0udGFwW2tdKTsKIAkJCQlwcmludGsoIiVzXG4iLAogCQkJCQltZW1jbXAocSwgdGVtcGxhdGVbaV0ucmVzdWx0ICsgdGVtcCwKIAkJCQkJCXRlbXBsYXRlW2ldLnRhcFtrXSkgPyAiZmFpbCIgOgogCQkJCQkicGFzcyIpOworCisJCQkJZm9yIChuID0gMDsgcVt0ZW1wbGF0ZVtpXS50YXBba10gKyBuXTsgbisrKQorCQkJCQk7CisJCQkJaWYgKG4pIHsKKwkJCQkJcHJpbnRrKCJSZXN1bHQgYnVmZmVyIGNvcnJ1cHRpb24gJXUgIgorCQkJCQkgICAgICAgImJ5dGVzOlxuIiwgbik7CisJCQkJCWhleGR1bXAoJnFbdGVtcGxhdGVbaV0udGFwW2tdXSwgbik7CisJCQkJfQogCQkJCXRlbXAgKz0gdGVtcGxhdGVbaV0udGFwW2tdOwotCQkJCWt1bm1hcChzZ19wYWdlKCZzZ1trXSkpOwogCQkJfQogCQl9CiAJfQpAQCAtMTE4MCw2ICsxMjE2LDE0IEBACiAJCXRlc3RfY2lwaGVyKCJlY2IoZGVzM19lZGUpIiwgREVDUllQVCwgZGVzM19lZGVfZGVjX3R2X3RlbXBsYXRlLAogCQkJICAgIERFUzNfRURFX0RFQ19URVNUX1ZFQ1RPUlMpOwogCisJCXRlc3RfY2lwaGVyKCJjYmMoZGVzM19lZGUpIiwgRU5DUllQVCwKKwkJCSAgICBkZXMzX2VkZV9jYmNfZW5jX3R2X3RlbXBsYXRlLAorCQkJICAgIERFUzNfRURFX0NCQ19FTkNfVEVTVF9WRUNUT1JTKTsKKworCQl0ZXN0X2NpcGhlcigiY2JjKGRlczNfZWRlKSIsIERFQ1JZUFQsCisJCQkgICAgZGVzM19lZGVfY2JjX2RlY190dl90ZW1wbGF0ZSwKKwkJCSAgICBERVMzX0VERV9DQkNfREVDX1RFU1RfVkVDVE9SUyk7CisKIAkJdGVzdF9oYXNoKCJtZDQiLCBtZDRfdHZfdGVtcGxhdGUsIE1ENF9URVNUX1ZFQ1RPUlMpOwogCiAJCXRlc3RfaGFzaCgic2hhMjI0Iiwgc2hhMjI0X3R2X3RlbXBsYXRlLCBTSEEyMjRfVEVTVF9WRUNUT1JTKTsKQEAgLTEzOTAsNiArMTQzNCwxNCBAQAogCQkJICAgIERFUzNfRURFX0VOQ19URVNUX1ZFQ1RPUlMpOwogCQl0ZXN0X2NpcGhlcigiZWNiKGRlczNfZWRlKSIsIERFQ1JZUFQsIGRlczNfZWRlX2RlY190dl90ZW1wbGF0ZSwKIAkJCSAgICBERVMzX0VERV9ERUNfVEVTVF9WRUNUT1JTKTsKKworCQl0ZXN0X2NpcGhlcigiY2JjKGRlczNfZWRlKSIsIEVOQ1JZUFQsCisJCQkgICAgZGVzM19lZGVfY2JjX2VuY190dl90ZW1wbGF0ZSwKKwkJCSAgICBERVMzX0VERV9DQkNfRU5DX1RFU1RfVkVDVE9SUyk7CisKKwkJdGVzdF9jaXBoZXIoImNiYyhkZXMzX2VkZSkiLCBERUNSWVBULAorCQkJICAgIGRlczNfZWRlX2NiY19kZWNfdHZfdGVtcGxhdGUsCisJCQkgICAgREVTM19FREVfQ0JDX0RFQ19URVNUX1ZFQ1RPUlMpOwogCQlicmVhazsKIAogCWNhc2UgNToKQEAgLTE1NTgsNyArMTYxMCw3IEBACiAJY2FzZSAyOToKIAkJdGVzdF9oYXNoKCJ0Z3IxMjgiLCB0Z3IxMjhfdHZfdGVtcGxhdGUsIFRHUjEyOF9URVNUX1ZFQ1RPUlMpOwogCQlicmVhazsKLQkJCisKIAljYXNlIDMwOgogCQl0ZXN0X2NpcGhlcigiZWNiKHhldGEpIiwgRU5DUllQVCwgeGV0YV9lbmNfdHZfdGVtcGxhdGUsCiAJCQkgICAgWEVUQV9FTkNfVEVTVF9WRUNUT1JTKTsKQEAgLTE2MjMsNiArMTY3NSwyMiBAQAogCQkJICAgIENUU19NT0RFX0RFQ19URVNUX1ZFQ1RPUlMpOwogCQlicmVhazsKIAorICAgICAgICBjYXNlIDM5OgorCQl0ZXN0X2hhc2goInJtZDEyOCIsIHJtZDEyOF90dl90ZW1wbGF0ZSwgUk1EMTI4X1RFU1RfVkVDVE9SUyk7CisJCWJyZWFrOworCisgICAgICAgIGNhc2UgNDA6CisJCXRlc3RfaGFzaCgicm1kMTYwIiwgcm1kMTYwX3R2X3RlbXBsYXRlLCBSTUQxNjBfVEVTVF9WRUNUT1JTKTsKKwkJYnJlYWs7CisKKwljYXNlIDQxOgorCQl0ZXN0X2hhc2goInJtZDI1NiIsIHJtZDI1Nl90dl90ZW1wbGF0ZSwgUk1EMjU2X1RFU1RfVkVDVE9SUyk7CisJCWJyZWFrOworCisJY2FzZSA0MjoKKwkJdGVzdF9oYXNoKCJybWQzMjAiLCBybWQzMjBfdHZfdGVtcGxhdGUsIFJNRDMyMF9URVNUX1ZFQ1RPUlMpOworCQlicmVhazsKKwogCWNhc2UgMTAwOgogCQl0ZXN0X2hhc2goImhtYWMobWQ1KSIsIGhtYWNfbWQ1X3R2X3RlbXBsYXRlLAogCQkJICBITUFDX01ENV9URVNUX1ZFQ1RPUlMpOwpAQCAtMTY1OCw2ICsxNzI2LDE2IEBACiAJCQkgIFhDQkNfQUVTX1RFU1RfVkVDVE9SUyk7CiAJCWJyZWFrOwogCisJY2FzZSAxMDc6CisJCXRlc3RfaGFzaCgiaG1hYyhybWQxMjgpIiwgaG1hY19ybWQxMjhfdHZfdGVtcGxhdGUsCisJCQkgIEhNQUNfUk1EMTI4X1RFU1RfVkVDVE9SUyk7CisJCWJyZWFrOworCisJY2FzZSAxMDg6CisJCXRlc3RfaGFzaCgiaG1hYyhybWQxNjApIiwgaG1hY19ybWQxNjBfdHZfdGVtcGxhdGUsCisJCQkgIEhNQUNfUk1EMTYwX1RFU1RfVkVDVE9SUyk7CisJCWJyZWFrOworCiAJY2FzZSAyMDA6CiAJCXRlc3RfY2lwaGVyX3NwZWVkKCJlY2IoYWVzKSIsIEVOQ1JZUFQsIHNlYywgTlVMTCwgMCwKIAkJCQlzcGVlZF90ZW1wbGF0ZV8xNl8yNF8zMik7CkBAIC0xNzk2LDYgKzE4NzQsMjIgQEAKIAkJdGVzdF9oYXNoX3NwZWVkKCJzaGEyMjQiLCBzZWMsIGdlbmVyaWNfaGFzaF9zcGVlZF90ZW1wbGF0ZSk7CiAJCWlmIChtb2RlID4gMzAwICYmIG1vZGUgPCA0MDApIGJyZWFrOwogCisJY2FzZSAzMTQ6CisJCXRlc3RfaGFzaF9zcGVlZCgicm1kMTI4Iiwgc2VjLCBnZW5lcmljX2hhc2hfc3BlZWRfdGVtcGxhdGUpOworCQlpZiAobW9kZSA+IDMwMCAmJiBtb2RlIDwgNDAwKSBicmVhazsKKworCWNhc2UgMzE1OgorCQl0ZXN0X2hhc2hfc3BlZWQoInJtZDE2MCIsIHNlYywgZ2VuZXJpY19oYXNoX3NwZWVkX3RlbXBsYXRlKTsKKwkJaWYgKG1vZGUgPiAzMDAgJiYgbW9kZSA8IDQwMCkgYnJlYWs7CisKKwljYXNlIDMxNjoKKwkJdGVzdF9oYXNoX3NwZWVkKCJybWQyNTYiLCBzZWMsIGdlbmVyaWNfaGFzaF9zcGVlZF90ZW1wbGF0ZSk7CisJCWlmIChtb2RlID4gMzAwICYmIG1vZGUgPCA0MDApIGJyZWFrOworCisJY2FzZSAzMTc6CisJCXRlc3RfaGFzaF9zcGVlZCgicm1kMzIwIiwgc2VjLCBnZW5lcmljX2hhc2hfc3BlZWRfdGVtcGxhdGUpOworCQlpZiAobW9kZSA+IDMwMCAmJiBtb2RlIDwgNDAwKSBicmVhazsKKwogCWNhc2UgMzk5OgogCQlicmVhazsKIApkaWZmIC0tZ2l0IGEvY3J5cHRvL3RjcnlwdC5oIGIvY3J5cHRvL3RjcnlwdC5oCmluZGV4IDQ3YmMwZWMuLjgwMWUwYzIgMTAwNjQ0Ci0tLSBhL2NyeXB0by90Y3J5cHQuaAorKysgYi9jcnlwdG8vdGNyeXB0LmgKQEAgLTEzLDEyICsxMyw2IEBACiAgKiBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pCiAgKiBhbnkgbGF0ZXIgdmVyc2lvbi4KICAqCi0gKiAyMDA3LTExLTEzIEFkZGVkIEdDTSB0ZXN0cwotICogMjAwNy0xMS0xMyBBZGRlZCBBRUFEIHN1cHBvcnQKLSAqIDIwMDYtMTItMDcgQWRkZWQgU0hBMzg0IEhNQUMgYW5kIFNIQTUxMiBITUFDIHRlc3RzCi0gKiAyMDA0LTA4LTA5IENpcGhlciBzcGVlZCB0ZXN0cyBieSBSZXlrIEZsb2V0ZXIgPHJleWtAdmFudHJvbml4Lm5ldD4KLSAqIDIwMDMtMDktMTQgQ2hhbmdlcyBieSBLYXJ0aWtleSBNYWhlbmRyYSBCaGF0dAotICoKICAqLwogI2lmbmRlZiBfQ1JZUFRPX1RDUllQVF9ICiAjZGVmaW5lIF9DUllQVE9fVENSWVBUX0gKQEAgLTE2OCw2ICsxNjIsMjcxIEBACiAJCS5kaWdlc3QJPSAiXHg1N1x4ZWRceGY0XHhhMlx4MmJceGUzXHhjOVx4NTUiCiAJCQkgICJceGFjXHg0OVx4ZGFceDJlXHgyMVx4MDdceGI2XHg3YSIsCiAJfQorCit9OworCisvKgorICogUklQRU1ELTEyOCB0ZXN0IHZlY3RvcnMgZnJvbSBJU08vSUVDIDEwMTE4LTM6MjAwNChFKQorICovCisjZGVmaW5lIFJNRDEyOF9URVNUX1ZFQ1RPUlMgICAgIDEwCisKK3N0YXRpYyBzdHJ1Y3QgaGFzaF90ZXN0dmVjIHJtZDEyOF90dl90ZW1wbGF0ZVtdID0geworCXsKKwkJLmRpZ2VzdAk9ICJceGNkXHhmMlx4NjJceDEzXHhhMVx4NTBceGRjXHgzZSIKKwkJCSAgIlx4Y2JceDYxXHgwZlx4MThceGY2XHhiM1x4OGJceDQ2IiwKKwl9LCB7CisJCS5wbGFpbnRleHQgPSAiYSIsCisJCS5wc2l6ZQk9IDEsCisJCS5kaWdlc3QJPSAiXHg4Nlx4YmVceDdhXHhmYVx4MzNceDlkXHgwZlx4YzciCisJCQkgICJceGNmXHhjN1x4ODVceGU3XHgyZlx4NTdceDhkXHgzMyIsCisJfSwgeworCQkucGxhaW50ZXh0ID0gImFiYyIsCisJCS5wc2l6ZQk9IDMsCisJCS5kaWdlc3QJPSAiXHhjMVx4NGFceDEyXHgxOVx4OWNceDY2XHhlNFx4YmEiCisJCQkgICJceDg0XHg2M1x4NmJceDBmXHg2OVx4MTRceDRjXHg3NyIsCisJfSwgeworCQkucGxhaW50ZXh0ID0gIm1lc3NhZ2UgZGlnZXN0IiwKKwkJLnBzaXplCT0gMTQsCisJCS5kaWdlc3QJPSAiXHg5ZVx4MzJceDdiXHgzZFx4NmVceDUyXHgzMFx4NjIiCisJCQkgICJceGFmXHhjMVx4MTNceDJkXHg3ZFx4ZjlceGQxXHhiOCIsCisJfSwgeworCQkucGxhaW50ZXh0ID0gImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IiwKKwkJLnBzaXplCT0gMjYsCisJCS5kaWdlc3QJPSAiXHhmZFx4MmFceGE2XHgwN1x4ZjdceDFkXHhjOFx4ZjUiCisJCQkgICJceDEwXHg3MVx4NDlceDIyXHhiM1x4NzFceDgzXHg0ZSIsCisJfSwgeworCQkucGxhaW50ZXh0ID0gIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGUiCisJCQkgICAgICJmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5IiwKKwkJLnBzaXplCT0gNjIsCisJCS5kaWdlc3QJPSAiXHhkMVx4ZTlceDU5XHhlYlx4MTdceDljXHg5MVx4MWYiCisJCQkgICJceGFlXHhhNFx4NjJceDRjXHg2MFx4YzVceGM3XHgwMiIsCisJfSwgeworCQkucGxhaW50ZXh0ID0gIjEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiCisJCQkgICAgICIxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwIiwKKwkJLnBzaXplCT0gODAsCisJCS5kaWdlc3QJPSAiXHgzZlx4NDVceGVmXHgxOVx4NDdceDMyXHhjMlx4ZGIiCisJCQkgICJceGIyXHhjNFx4YTJceGM3XHg2OVx4NzlceDVmXHhhMyIsCisgICAgICAgIH0sIHsKKwkJLnBsYWludGV4dCA9ICJhYmNkYmNkZWNkZWZkZWZnZWZnaGZnaGlnaGlqIgorCQkJICAgICAiaGlqa2lqa2xqa2xta2xtbmxtbm9tbm9wbm9wcSIsCisJCS5wc2l6ZQk9IDU2LAorCQkuZGlnZXN0CT0gIlx4YTFceGFhXHgwNlx4ODlceGQwXHhmYVx4ZmFceDJkIgorCQkJICAiXHhkY1x4MjJceGU4XHg4Ylx4NDlceDEzXHgzYVx4MDYiLAorCQkubnAJPSAyLAorCQkudGFwCT0geyAyOCwgMjggfSwKKwl9LCB7CisJCS5wbGFpbnRleHQgPSAiYWJjZGVmZ2hiY2RlZmdoaWNkZWZnaGlqZGVmZ2hpamtlZmdoaWprbGZnaGkiCisJCQkgICAgICJqa2xtZ2hpamtsbW5oaWprbG1ub2lqa2xtbm9wamtsbW5vcHFrbG1ub3BxciIKKwkJCSAgICAgImxtbm9wcXJzbW5vcHFyc3Rub3BxcnN0dSIsCisJCS5wc2l6ZQk9IDExMiwKKwkJLmRpZ2VzdAk9ICJceGQ0XHhlY1x4YzlceDEzXHhlMVx4ZGZceDc3XHg2YiIKKwkJCSAgIlx4ZjRceDhkXHhlOVx4ZDVceDViXHgxZlx4MjVceDQ2IiwKKwl9LCB7CisJCS5wbGFpbnRleHQgPSAiYWJjZGJjZGVjZGVmZGVmZ2VmZ2hmZ2hpZ2hpamhpamsiLAorCQkucHNpemUJPSAzMiwKKwkJLmRpZ2VzdAk9ICJceDEzXHhmY1x4MTNceGU4XHhlZlx4ZmZceDM0XHg3ZCIKKwkJCSAgIlx4ZTFceDkzXHhmZlx4NDZceGRiXHhhY1x4Y2ZceGQ0IiwKKwl9Cit9OworCisvKgorICogUklQRU1ELTE2MCB0ZXN0IHZlY3RvcnMgZnJvbSBJU08vSUVDIDEwMTE4LTM6MjAwNChFKQorICovCisjZGVmaW5lIFJNRDE2MF9URVNUX1ZFQ1RPUlMgICAgIDEwCisKK3N0YXRpYyBzdHJ1Y3QgaGFzaF90ZXN0dmVjIHJtZDE2MF90dl90ZW1wbGF0ZVtdID0geworCXsKKwkJLmRpZ2VzdAk9ICJceDljXHgxMVx4ODVceGE1XHhjNVx4ZTlceGZjXHg1NFx4NjFceDI4IgorCQkJICAiXHgwOFx4OTdceDdlXHhlOFx4ZjVceDQ4XHhiMlx4MjVceDhkXHgzMSIsCisJfSwgeworCQkucGxhaW50ZXh0ID0gImEiLAorCQkucHNpemUJPSAxLAorCQkuZGlnZXN0CT0gIlx4MGJceGRjXHg5ZFx4MmRceDI1XHg2Ylx4M2VceGU5XHhkYVx4YWUiCisJCQkgICJceDM0XHg3Ylx4ZTZceGY0XHhkY1x4ODNceDVhXHg0Nlx4N2ZceGZlIiwKKwl9LCB7CisJCS5wbGFpbnRleHQgPSAiYWJjIiwKKwkJLnBzaXplCT0gMywKKwkJLmRpZ2VzdAk9ICJceDhlXHhiMlx4MDhceGY3XHhlMFx4NWRceDk4XHg3YVx4OWJceDA0IgorCQkJICAiXHg0YVx4OGVceDk4XHhjNlx4YjBceDg3XHhmMVx4NWFceDBiXHhmYyIsCisJfSwgeworCQkucGxhaW50ZXh0ID0gIm1lc3NhZ2UgZGlnZXN0IiwKKwkJLnBzaXplCT0gMTQsCisJCS5kaWdlc3QJPSAiXHg1ZFx4MDZceDg5XHhlZlx4NDlceGQyXHhmYVx4ZTVceDcyXHhiOCIKKwkJCSAgIlx4ODFceGIxXHgyM1x4YThceDVmXHhmYVx4MjFceDU5XHg1Zlx4MzYiLAorCX0sIHsKKwkJLnBsYWludGV4dCA9ICJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiIsCisJCS5wc2l6ZQk9IDI2LAorCQkuZGlnZXN0CT0gIlx4ZjdceDFjXHgyN1x4MTBceDljXHg2OVx4MmNceDFiXHg1Nlx4YmIiCisJCQkgICJceGRjXHhlYlx4NWJceDlkXHgyOFx4NjVceGIzXHg3MFx4OGRceGJjIiwKKwl9LCB7CisJCS5wbGFpbnRleHQgPSAiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZSIKKwkJCSAgICAgImZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkiLAorCQkucHNpemUJPSA2MiwKKwkJLmRpZ2VzdAk9ICJceGIwXHhlMlx4MGJceDZlXHgzMVx4MTZceDY0XHgwMlx4ODZceGVkIgorCQkJICAiXHgzYVx4ODdceGE1XHg3MVx4MzBceDc5XHhiMlx4MWZceDUxXHg4OSIsCisJfSwgeworCQkucGxhaW50ZXh0ID0gIjEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiCisJCQkgICAgICIxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwIiwKKwkJLnBzaXplCT0gODAsCisJCS5kaWdlc3QJPSAiXHg5Ylx4NzVceDJlXHg0NVx4NTdceDNkXHg0Ylx4MzlceGY0XHhkYiIKKwkJCSAgIlx4ZDNceDMyXHgzY1x4YWJceDgyXHhiZlx4NjNceDMyXHg2Ylx4ZmIiLAorICAgICAgICB9LCB7CisJCS5wbGFpbnRleHQgPSAiYWJjZGJjZGVjZGVmZGVmZ2VmZ2hmZ2hpZ2hpaiIKKwkJCSAgICAgImhpamtpamtsamtsbWtsbW5sbW5vbW5vcG5vcHEiLAorCQkucHNpemUJPSA1NiwKKwkJLmRpZ2VzdAk9ICJceDEyXHhhMFx4NTNceDM4XHg0YVx4OWNceDBjXHg4OFx4ZTRceDA1IgorCQkJICAiXHhhMFx4NmNceDI3XHhkY1x4ZjRceDlhXHhkYVx4NjJceGViXHgyYiIsCisJCS5ucAk9IDIsCisJCS50YXAJPSB7IDI4LCAyOCB9LAorCX0sIHsKKwkJLnBsYWludGV4dCA9ICJhYmNkZWZnaGJjZGVmZ2hpY2RlZmdoaWpkZWZnaGlqa2VmZ2hpamtsZmdoaSIKKwkJCSAgICAgImprbG1naGlqa2xtbmhpamtsbW5vaWprbG1ub3Bqa2xtbm9wcWtsbW5vcHFyIgorCQkJICAgICAibG1ub3BxcnNtbm9wcXJzdG5vcHFyc3R1IiwKKwkJLnBzaXplCT0gMTEyLAorCQkuZGlnZXN0CT0gIlx4NmZceDNmXHhhM1x4OWJceDZiXHg1MFx4M2NceDM4XHg0Zlx4OTEiCisJCQkgICJceDlhXHg0OVx4YTdceGFhXHg1Y1x4MmNceDA4XHhiZFx4ZmJceDQ1IiwKKwl9LCB7CisJCS5wbGFpbnRleHQgPSAiYWJjZGJjZGVjZGVmZGVmZ2VmZ2hmZ2hpZ2hpamhpamsiLAorCQkucHNpemUJPSAzMiwKKwkJLmRpZ2VzdAk9ICJceDk0XHhjMlx4NjRceDExXHg1NFx4MDRceGU2XHgzM1x4NzlceDBkIgorCQkJICAiXHhmY1x4YzhceDdiXHg1OFx4N2RceDM2XHg3N1x4MDZceDdkXHg5ZiIsCisJfQorfTsKKworLyoKKyAqIFJJUEVNRC0yNTYgdGVzdCB2ZWN0b3JzCisgKi8KKyNkZWZpbmUgUk1EMjU2X1RFU1RfVkVDVE9SUyAgICAgOAorCitzdGF0aWMgc3RydWN0IGhhc2hfdGVzdHZlYyBybWQyNTZfdHZfdGVtcGxhdGVbXSA9IHsKKwl7CisJCS5kaWdlc3QJPSAiXHgwMlx4YmFceDRjXHg0ZVx4NWZceDhlXHhjZFx4MTgiCisJCQkgICJceDc3XHhmY1x4NTJceGQ2XHg0ZFx4MzBceGUzXHg3YSIKKwkJCSAgIlx4MmRceDk3XHg3NFx4ZmJceDFlXHg1ZFx4MDJceDYzIgorCQkJICAiXHg4MFx4YWVceDAxXHg2OFx4ZTNceGM1XHg1Mlx4MmQiLAorCX0sIHsKKwkJLnBsYWludGV4dCA9ICJhIiwKKwkJLnBzaXplCT0gMSwKKwkJLmRpZ2VzdAk9ICJceGY5XHgzM1x4M2VceDQ1XHhkOFx4NTdceGY1XHhkOSIKKwkJCSAgIlx4MGFceDkxXHhiYVx4YjdceDBhXHgxZVx4YmFceDBjIgorCQkJICAiXHhmYlx4MWJceGU0XHhiMFx4NzhceDNjXHg5YVx4Y2YiCisJCQkgICJceGNkXHg4OFx4M2FceDkxXHgzNFx4NjlceDI5XHgyNSIsCisJfSwgeworCQkucGxhaW50ZXh0ID0gImFiYyIsCisJCS5wc2l6ZQk9IDMsCisJCS5kaWdlc3QJPSAiXHhhZlx4YmRceDZlXHgyMlx4OGJceDlkXHg4Y1x4YmIiCisJCQkgICJceGNlXHhmNVx4Y2FceDJkXHgwM1x4ZTZceGRiXHhhMSIKKwkJCSAgIlx4MGFceGMwXHhiY1x4N2RceGNiXHhlNFx4NjhceDBlIgorCQkJICAiXHgxZVx4NDJceGQyXHhlOVx4NzVceDQ1XHg5Ylx4NjUiLAorCX0sIHsKKwkJLnBsYWludGV4dCA9ICJtZXNzYWdlIGRpZ2VzdCIsCisJCS5wc2l6ZQk9IDE0LAorCQkuZGlnZXN0CT0gIlx4ODdceGU5XHg3MVx4NzVceDlhXHgxY1x4ZTRceDdhIgorCQkJICAiXHg1MVx4NGRceDVjXHg5MVx4NGNceDM5XHgyY1x4OTAiCisJCQkgICJceDE4XHhjN1x4YzRceDZiXHhjMVx4NDRceDY1XHg1NSIKKwkJCSAgIlx4NGFceGZjXHhkZlx4NTRceGE1XHgwN1x4MGNceDBlIiwKKwl9LCB7CisJCS5wbGFpbnRleHQgPSAiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoiLAorCQkucHNpemUJPSAyNiwKKwkJLmRpZ2VzdAk9ICJceDY0XHg5ZFx4MzBceDM0XHg3NVx4MWVceGEyXHgxNiIKKwkJCSAgIlx4NzdceDZiXHhmOVx4YTFceDhhXHhjY1x4ODFceGJjIgorCQkJICAiXHg3OFx4OTZceDExXHg4YVx4NTFceDk3XHg5Nlx4ODciCisJCQkgICJceDgyXHhkZFx4MWZceGQ5XHg3ZFx4OGRceDUxXHgzMyIsCisJfSwgeworCQkucGxhaW50ZXh0ID0gIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGUiCisJCQkgICAgICJmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5IiwKKwkJLnBzaXplCT0gNjIsCisJCS5kaWdlc3QJPSAiXHg1N1x4NDBceGE0XHgwOFx4YWNceDE2XHhiN1x4MjAiCisJCQkgICJceGI4XHg0NFx4MjRceGFlXHg5M1x4MWNceGJiXHgxZiIKKwkJCSAgIlx4ZTNceDYzXHhkMVx4ZDBceGJmXHg0MFx4MTdceGYxIgorCQkJICAiXHhhOFx4OWZceDdlXHhhNlx4ZGVceDc3XHhhMFx4YjgiLAorCX0sIHsKKwkJLnBsYWludGV4dCA9ICIxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwIgorCQkJICAgICAiMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MCIsCisJCS5wc2l6ZQk9IDgwLAorCQkuZGlnZXN0CT0gIlx4MDZceGZkXHhjY1x4N2FceDQwXHg5NVx4NDhceGFhIgorCQkJICAiXHhmOVx4MTNceDY4XHhjMFx4NmFceDYyXHg3NVx4YjUiCisJCQkgICJceDUzXHhlM1x4ZjBceDk5XHhiZlx4MGVceGE0XHhlZCIKKwkJCSAgIlx4ZmRceDY3XHg3OFx4ZGZceDg5XHhhOFx4OTBceGRkIiwKKyAgICAgICAgfSwgeworCQkucGxhaW50ZXh0ID0gImFiY2RiY2RlY2RlZmRlZmdlZmdoZmdoaWdoaWoiCisJCQkgICAgICJoaWpraWprbGprbG1rbG1ubG1ub21ub3Bub3BxIiwKKwkJLnBzaXplCT0gNTYsCisJCS5kaWdlc3QJPSAiXHgzOFx4NDNceDA0XHg1NVx4ODNceGFhXHhjNlx4YzgiCisJCQkgICJceGM4XHhkOVx4MTJceDg1XHg3M1x4ZTdceGE5XHg4MCIKKwkJCSAgIlx4OWFceGZiXHgyYVx4MGZceDM0XHhjY1x4YzNceDZlIgorCQkJICAiXHhhOVx4ZTdceDJmXHgxNlx4ZjZceDM2XHg4ZVx4M2YiLAorCQkubnAJPSAyLAorCQkudGFwCT0geyAyOCwgMjggfSwKKwl9Cit9OworCisvKgorICogUklQRU1ELTMyMCB0ZXN0IHZlY3RvcnMKKyAqLworI2RlZmluZSBSTUQzMjBfVEVTVF9WRUNUT1JTICAgICA4CisKK3N0YXRpYyBzdHJ1Y3QgaGFzaF90ZXN0dmVjIHJtZDMyMF90dl90ZW1wbGF0ZVtdID0geworCXsKKwkJLmRpZ2VzdAk9ICJceDIyXHhkNlx4NWRceDU2XHg2MVx4NTNceDZjXHhkY1x4NzVceGMxIgorCQkJICAiXHhmZFx4ZjVceGM2XHhkZVx4N2JceDQxXHhiOVx4ZjJceDczXHgyNSIKKwkJCSAgIlx4ZWJceGM2XHgxZVx4ODVceDU3XHgxN1x4N2RceDcwXHg1YVx4MGUiCisJCQkgICJceGM4XHg4MFx4MTVceDFjXHgzYVx4MzJceGEwXHgwOFx4OTlceGI4IiwKKwl9LCB7CisJCS5wbGFpbnRleHQgPSAiYSIsCisJCS5wc2l6ZQk9IDEsCisJCS5kaWdlc3QJPSAiXHhjZVx4NzhceDg1XHgwNlx4MzhceGY5XHgyNlx4NThceGE1XHhhNSIKKwkJCSAgIlx4ODVceDA5XHg3NVx4NzlceDkyXHg2ZFx4ZGFceDY2XHg3YVx4NTciCisJCQkgICJceDE2XHg1Nlx4MmNceGZjXHhmNlx4ZmJceGU3XHg3Zlx4NjNceDU0IgorCQkJICAiXHgyZlx4OTlceGIwXHg0N1x4MDVceGQ2XHg5N1x4MGRceGZmXHg1ZCIsCisJfSwgeworCQkucGxhaW50ZXh0ID0gImFiYyIsCisJCS5wc2l6ZQk9IDMsCisJCS5kaWdlc3QJPSAiXHhkZVx4NGNceDAxXHhiM1x4MDVceDRmXHg4OVx4MzBceGE3XHg5ZCIKKwkJCSAgIlx4MDlceGFlXHg3M1x4OGVceDkyXHgzMFx4MWVceDVhXHgxN1x4MDgiCisJCQkgICJceDViXHhlZlx4ZmRceGMxXHhiOFx4ZDFceDE2XHg3MVx4M2VceDc0IgorCQkJICAiXHhmOFx4MmZceGE5XHg0Mlx4ZDZceDRjXHhkYlx4YzRceDY4XHgyZCIsCisJfSwgeworCQkucGxhaW50ZXh0ID0gIm1lc3NhZ2UgZGlnZXN0IiwKKwkJLnBzaXplCT0gMTQsCisJCS5kaWdlc3QJPSAiXHgzYVx4OGVceDI4XHg1MFx4MmVceGQ0XHg1ZFx4NDJceDJmXHg2OCIKKwkJCSAgIlx4ODRceDRmXHg5ZFx4ZDNceDE2XHhlN1x4YjlceDg1XHgzM1x4ZmEiCisJCQkgICJceDNmXHgyYVx4OTFceGQyXHg5Zlx4ODRceGQ0XHgyNVx4YzhceDhkIgorCQkJICAiXHg2Ylx4NGVceGZmXHg3Mlx4N2RceGY2XHg2YVx4N2NceDAxXHg5NyIsCisJfSwgeworCQkucGxhaW50ZXh0ID0gImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IiwKKwkJLnBzaXplCT0gMjYsCisJCS5kaWdlc3QJPSAiXHhjYVx4YmRceGIxXHg4MVx4MGJceDkyXHg0N1x4MGFceDIwXHg5MyIKKwkJCSAgIlx4YWFceDZiXHhjZVx4MDVceDk1XHgyY1x4MjhceDM0XHg4Y1x4ZjQiCisJCQkgICJceDNmXHhmNlx4MDhceDQxXHg5N1x4NTFceDY2XHhiYlx4NDBceGVkIgorCQkJICAiXHgyM1x4NDBceDA0XHhiOFx4ODJceDQ0XHg2M1x4ZTZceGIwXHgwOSIsCisJfSwgeworCQkucGxhaW50ZXh0ID0gIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGUiCisJCQkgICAgICJmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5IiwKKwkJLnBzaXplCT0gNjIsCisJCS5kaWdlc3QJPSAiXHhlZFx4NTRceDQ5XHg0MFx4YzhceDZkXHg2N1x4ZjJceDUwXHhkMiIKKwkJCSAgIlx4MzJceGMzXHgwYlx4N2JceDNlXHg1N1x4NzBceGUwXHhjNlx4MGMiCisJCQkgICJceDhjXHhiOVx4YTRceGNhXHhmZVx4M2JceDExXHgzOFx4OGFceGY5IgorCQkJICAiXHg5Mlx4MGVceDFiXHg5OVx4MjNceDBiXHg4NFx4M2NceDg2XHhhNCIsCisJfSwgeworCQkucGxhaW50ZXh0ID0gIjEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiCisJCQkgICAgICIxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwIiwKKwkJLnBzaXplCT0gODAsCisJCS5kaWdlc3QJPSAiXHg1NVx4NzhceDg4XHhhZlx4NWZceDZkXHg4ZVx4ZDZceDJhXHhiNiIKKwkJCSAgIlx4NjlceDQ1XHhjNlx4ZDJceGEwXHhhNFx4N2VceGNkXHg1M1x4NDEiCisJCQkgICJceGU5XHgxNVx4ZWJceDhmXHhlYVx4MWRceDA1XHgyNFx4OTVceDVmIgorCQkJICAiXHg4Mlx4NWRceGM3XHgxN1x4ZTRceGEwXHgwOFx4YWJceDJkXHg0MiIsCisgICAgICAgIH0sIHsKKwkJLnBsYWludGV4dCA9ICJhYmNkYmNkZWNkZWZkZWZnZWZnaGZnaGlnaGlqIgorCQkJICAgICAiaGlqa2lqa2xqa2xta2xtbmxtbm9tbm9wbm9wcSIsCisJCS5wc2l6ZQk9IDU2LAorCQkuZGlnZXN0CT0gIlx4ZDBceDM0XHhhN1x4OTVceDBjXHhmN1x4MjJceDAyXHgxYlx4YTQiCisJCQkgICJceGI4XHg0ZFx4ZjdceDY5XHhhNVx4ZGVceDIwXHg2MFx4ZTJceDU5IgorCQkJICAiXHhkZlx4NGNceDliXHhiNFx4YTRceDI2XHg4Y1x4MGVceDkzXHg1YiIKKwkJCSAgIlx4YmNceDc0XHg3MFx4YTlceDY5XHhjOVx4ZDBceDcyXHhhMVx4YWMiLAorCQkubnAJPSAyLAorCQkudGFwCT0geyAyOCwgMjggfSwKKwl9CiB9OwogCiAvKgpAQCAtODE3LDYgKzEwNzYsMTY4IEBACiB9OwogCiAvKgorICogSE1BQy1SSVBFTUQxMjggdGVzdCB2ZWN0b3JzIGZyb20gUkZDMjI4NgorICovCisjZGVmaW5lIEhNQUNfUk1EMTI4X1RFU1RfVkVDVE9SUwk3CisKK3N0YXRpYyBzdHJ1Y3QgaGFzaF90ZXN0dmVjIGhtYWNfcm1kMTI4X3R2X3RlbXBsYXRlW10gPSB7CisJeworCQkua2V5CT0gIlx4MGJceDBiXHgwYlx4MGJceDBiXHgwYlx4MGJceDBiXHgwYlx4MGJceDBiXHgwYlx4MGJceDBiXHgwYlx4MGIiLAorCQkua3NpemUJPSAxNiwKKwkJLnBsYWludGV4dCA9ICJIaSBUaGVyZSIsCisJCS5wc2l6ZQk9IDgsCisJCS5kaWdlc3QJPSAiXHhmYlx4ZjZceDFmXHg5NFx4OTJceGFhXHg0Ylx4YmYiCisJCQkgICJceDgxXHhjMVx4NzJceGU4XHg0ZVx4MDdceDM0XHhkYiIsCisJfSwgeworCQkua2V5CT0gIkplZmUiLAorCQkua3NpemUJPSA0LAorCQkucGxhaW50ZXh0ID0gIndoYXQgZG8geWEgd2FudCBmb3Igbm90aGluZz8iLAorCQkucHNpemUJPSAyOCwKKwkJLmRpZ2VzdAk9ICJceDg3XHg1Zlx4ODJceDg4XHg2Mlx4YjZceGIzXHgzNCIKKwkJCSAgIlx4YjRceDI3XHhjNVx4NWZceDlmXHg3Zlx4ZjBceDliIiwKKwkJLm5wCT0gMiwKKwkJLnRhcAk9IHsgMTQsIDE0IH0sCisJfSwgeworCQkua2V5CT0gIlx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWEiLAorCQkua3NpemUJPSAxNiwKKwkJLnBsYWludGV4dCA9ICJceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGQiCisJCQkiXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZCIKKwkJCSJceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkIgorCQkJIlx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZCIsCisJCS5wc2l6ZQk9IDUwLAorCQkuZGlnZXN0CT0gIlx4MDlceGYwXHhiMlx4ODRceDZkXHgyZlx4NTRceDNkIgorCQkJICAiXHhhM1x4NjNceGNiXHhlY1x4OGRceDYyXHhhM1x4OGQiLAorCX0sIHsKKwkJLmtleQk9ICJceDAxXHgwMlx4MDNceDA0XHgwNVx4MDZceDA3XHgwOCIKKwkJCSAgIlx4MDlceDBhXHgwYlx4MGNceDBkXHgwZVx4MGZceDEwIgorCQkJICAiXHgxMVx4MTJceDEzXHgxNFx4MTVceDE2XHgxN1x4MThceDE5IiwKKwkJLmtzaXplCT0gMjUsCisJCS5wbGFpbnRleHQgPSAiXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkIgorCQkJIlx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2QiCisJCQkiXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZCIKKwkJCSJceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2QiLAorCQkucHNpemUJPSA1MCwKKwkJLmRpZ2VzdAk9ICJceGJkXHhiYlx4ZDdceGNmXHgwM1x4ZTRceDRiXHg1YSIKKwkJCSAgIlx4YTZceDBhXHhmOFx4MTVceGJlXHg0ZFx4MjJceDk0IiwKKwl9LCB7CisJCS5rZXkJPSAiXHgwY1x4MGNceDBjXHgwY1x4MGNceDBjXHgwY1x4MGNceDBjXHgwY1x4MGNceDBjXHgwY1x4MGNceDBjXHgwYyIsCisJCS5rc2l6ZQk9IDE2LAorCQkucGxhaW50ZXh0ID0gIlRlc3QgV2l0aCBUcnVuY2F0aW9uIiwKKwkJLnBzaXplCT0gMjAsCisJCS5kaWdlc3QJPSAiXHhlN1x4OThceDA4XHhmMlx4NGJceDI1XHhmZFx4MDMiCisJCQkgICJceDFjXHgxNVx4NWZceDBkXHg1NVx4MWRceDlhXHgzYSIsCisJfSwgeworCQkua2V5CT0gIlx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWEiCisJCQkiXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYSIKKwkJCSJceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhIgorCQkJIlx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWEiCisJCQkiXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYSIKKwkJCSJceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhIgorCQkJIlx4YWFceGFhIiwKKwkJLmtzaXplCT0gODAsCisJCS5wbGFpbnRleHQgPSAiVGVzdCBVc2luZyBMYXJnZXIgVGhhbiBCbG9jay1TaXplIEtleSAtIEhhc2ggS2V5IEZpcnN0IiwKKwkJLnBzaXplCT0gNTQsCisJCS5kaWdlc3QJPSAiXHhkY1x4NzNceDI5XHgyOFx4ZGVceDk4XHgxMFx4NGEiCisJCQkgICJceDFmXHg1OVx4ZDNceDczXHhjMVx4NTBceGFjXHhiYiIsCisJfSwgeworCQkua2V5CT0gIlx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWEiCisJCQkiXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYSIKKwkJCSJceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhIgorCQkJIlx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWEiCisJCQkiXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYSIKKwkJCSJceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhIgorCQkJIlx4YWFceGFhIiwKKwkJLmtzaXplCT0gODAsCisJCS5wbGFpbnRleHQgPSAiVGVzdCBVc2luZyBMYXJnZXIgVGhhbiBCbG9jay1TaXplIEtleSBhbmQgTGFyZ2VyIFRoYW4gT25lICIKKwkJCSAgICJCbG9jay1TaXplIERhdGEiLAorCQkucHNpemUJPSA3MywKKwkJLmRpZ2VzdAk9ICJceDVjXHg2Ylx4ZWNceDk2XHg3OVx4M2VceDE2XHhkNCIKKwkJCSAgIlx4MDZceDkwXHhjMlx4MzdceDYzXHg1Zlx4MzBceGM1IiwKKwl9LAorfTsKKworLyoKKyAqIEhNQUMtUklQRU1EMTYwIHRlc3QgdmVjdG9ycyBmcm9tIFJGQzIyODYKKyAqLworI2RlZmluZSBITUFDX1JNRDE2MF9URVNUX1ZFQ1RPUlMJNworCitzdGF0aWMgc3RydWN0IGhhc2hfdGVzdHZlYyBobWFjX3JtZDE2MF90dl90ZW1wbGF0ZVtdID0geworCXsKKwkJLmtleQk9ICJceDBiXHgwYlx4MGJceDBiXHgwYlx4MGJceDBiXHgwYlx4MGJceDBiXHgwYlx4MGJceDBiXHgwYlx4MGJceDBiXHgwYlx4MGJceDBiXHgwYiIsCisJCS5rc2l6ZQk9IDIwLAorCQkucGxhaW50ZXh0ID0gIkhpIFRoZXJlIiwKKwkJLnBzaXplCT0gOCwKKwkJLmRpZ2VzdAk9ICJceDI0XHhjYlx4NGJceGQ2XHg3ZFx4MjBceGZjXHgxYVx4NWRceDJlIgorCQkJICAiXHhkN1x4NzNceDJkXHhjY1x4MzlceDM3XHg3Zlx4MGFceDU2XHg2OCIsCisJfSwgeworCQkua2V5CT0gIkplZmUiLAorCQkua3NpemUJPSA0LAorCQkucGxhaW50ZXh0ID0gIndoYXQgZG8geWEgd2FudCBmb3Igbm90aGluZz8iLAorCQkucHNpemUJPSAyOCwKKwkJLmRpZ2VzdAk9ICJceGRkXHhhNlx4YzBceDIxXHgzYVx4NDhceDVhXHg5ZVx4MjRceGY0IgorCQkJICAiXHg3NFx4MjBceDY0XHhhN1x4ZjBceDMzXHhiNFx4M2NceDQwXHg2OSIsCisJCS5ucAk9IDIsCisJCS50YXAJPSB7IDE0LCAxNCB9LAorCX0sIHsKKwkJLmtleQk9ICJceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYSIsCisJCS5rc2l6ZQk9IDIwLAorCQkucGxhaW50ZXh0ID0gIlx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZCIKKwkJCSJceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkIgorCQkJIlx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGQiCisJCQkiXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkIiwKKwkJLnBzaXplCT0gNTAsCisJCS5kaWdlc3QJPSAiXHhiMFx4YjFceDA1XHgzNlx4MGRceGU3XHg1OVx4OTZceDBhXHhiNCIKKwkJCSAgIlx4ZjNceDUyXHg5OFx4ZTFceDE2XHhlMlx4OTVceGQ4XHhlN1x4YzEiLAorCX0sIHsKKwkJLmtleQk9ICJceDAxXHgwMlx4MDNceDA0XHgwNVx4MDZceDA3XHgwOCIKKwkJCSAgIlx4MDlceDBhXHgwYlx4MGNceDBkXHgwZVx4MGZceDEwIgorCQkJICAiXHgxMVx4MTJceDEzXHgxNFx4MTVceDE2XHgxN1x4MThceDE5IiwKKwkJLmtzaXplCT0gMjUsCisJCS5wbGFpbnRleHQgPSAiXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkIgorCQkJIlx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2QiCisJCQkiXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZCIKKwkJCSJceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2QiLAorCQkucHNpemUJPSA1MCwKKwkJLmRpZ2VzdAk9ICJceGQ1XHhjYVx4ODZceDJmXHg0ZFx4MjFceGQ1XHhlNlx4MTBceGUxIgorCQkJICAiXHg4Ylx4NGNceGYxXHhiZVx4YjlceDdhXHg0M1x4NjVceGVjXHhmNCIsCisJfSwgeworCQkua2V5CT0gIlx4MGNceDBjXHgwY1x4MGNceDBjXHgwY1x4MGNceDBjXHgwY1x4MGNceDBjXHgwY1x4MGNceDBjXHgwY1x4MGNceDBjXHgwY1x4MGNceDBjIiwKKwkJLmtzaXplCT0gMjAsCisJCS5wbGFpbnRleHQgPSAiVGVzdCBXaXRoIFRydW5jYXRpb24iLAorCQkucHNpemUJPSAyMCwKKwkJLmRpZ2VzdAk9ICJceDc2XHgxOVx4NjlceDM5XHg3OFx4ZjlceDFkXHg5MFx4NTNceDlhIgorCQkJICAiXHhlN1x4ODZceDUwXHgwZlx4ZjNceGQ4XHhlMFx4NTFceDhlXHgzOSIsCisJfSwgeworCQkua2V5CT0gIlx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWEiCisJCQkiXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYSIKKwkJCSJceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhIgorCQkJIlx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWEiCisJCQkiXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYSIKKwkJCSJceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhIgorCQkJIlx4YWFceGFhIiwKKwkJLmtzaXplCT0gODAsCisJCS5wbGFpbnRleHQgPSAiVGVzdCBVc2luZyBMYXJnZXIgVGhhbiBCbG9jay1TaXplIEtleSAtIEhhc2ggS2V5IEZpcnN0IiwKKwkJLnBzaXplCT0gNTQsCisJCS5kaWdlc3QJPSAiXHg2NFx4NjZceGNhXHgwN1x4YWNceDVlXHhhY1x4MjlceGUxXHhiZCIKKwkJCSAgIlx4NTJceDNlXHg1YVx4ZGFceDc2XHgwNVx4YjdceDkxXHhmZFx4OGIiLAorCX0sIHsKKwkJLmtleQk9ICJceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhIgorCQkJIlx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWEiCisJCQkiXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYSIKKwkJCSJceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhIgorCQkJIlx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWEiCisJCQkiXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYSIKKwkJCSJceGFhXHhhYSIsCisJCS5rc2l6ZQk9IDgwLAorCQkucGxhaW50ZXh0ID0gIlRlc3QgVXNpbmcgTGFyZ2VyIFRoYW4gQmxvY2stU2l6ZSBLZXkgYW5kIExhcmdlciBUaGFuIE9uZSAiCisJCQkgICAiQmxvY2stU2l6ZSBEYXRhIiwKKwkJLnBzaXplCT0gNzMsCisJCS5kaWdlc3QJPSAiXHg2OVx4ZWFceDYwXHg3OVx4OGRceDcxXHg2MVx4NmNceGNlXHg1ZiIKKwkJCSAgIlx4ZDBceDg3XHgxZVx4MjNceDc1XHg0Y1x4ZDdceDVkXHg1YVx4MGEiLAorCX0sCit9OworCisvKgogICogSE1BQy1TSEExIHRlc3QgdmVjdG9ycyBmcm9tIFJGQzIyMDIKICAqLwogI2RlZmluZSBITUFDX1NIQTFfVEVTVF9WRUNUT1JTCTcKQEAgLTE0NDIsNiArMTg2Myw4IEBACiAjZGVmaW5lIERFU19DQkNfREVDX1RFU1RfVkVDVE9SUwk0CiAjZGVmaW5lIERFUzNfRURFX0VOQ19URVNUX1ZFQ1RPUlMJMwogI2RlZmluZSBERVMzX0VERV9ERUNfVEVTVF9WRUNUT1JTCTMKKyNkZWZpbmUgREVTM19FREVfQ0JDX0VOQ19URVNUX1ZFQ1RPUlMJMQorI2RlZmluZSBERVMzX0VERV9DQkNfREVDX1RFU1RfVkVDVE9SUwkxCiAKIHN0YXRpYyBzdHJ1Y3QgY2lwaGVyX3Rlc3R2ZWMgZGVzX2VuY190dl90ZW1wbGF0ZVtdID0gewogCXsgLyogRnJvbSBBcHBsaWVkIENyeXB0b2dyYXBoeSAqLwpAQCAtMTY4MCw5ICsyMTAzLDYgQEAKIAl9LAogfTsKIAotLyoKLSAqIFdlIHJlYWxseSBuZWVkIHNvbWUgbW9yZSB0ZXN0IHZlY3RvcnMsIGVzcGVjaWFsbHkgZm9yIERFUzMgQ0JDLgotICovCiBzdGF0aWMgc3RydWN0IGNpcGhlcl90ZXN0dmVjIGRlczNfZWRlX2VuY190dl90ZW1wbGF0ZVtdID0gewogCXsgLyogVGhlc2UgYXJlIGZyb20gb3BlbnNzbCAqLwogCQkua2V5CT0gIlx4MDFceDIzXHg0NVx4NjdceDg5XHhhYlx4Y2RceGVmIgpAQCAtMTc0NSw2ICsyMTY1LDk0IEBACiAJfSwKIH07CiAKK3N0YXRpYyBzdHJ1Y3QgY2lwaGVyX3Rlc3R2ZWMgZGVzM19lZGVfY2JjX2VuY190dl90ZW1wbGF0ZVtdID0geworCXsgLyogR2VuZXJhdGVkIGZyb20gb3BlbnNzbCAqLworCQkua2V5CT0gIlx4RTlceEMwXHhGRlx4MkVceDc2XHgwQlx4NjRceDI0IgorCQkJICAiXHg0NFx4NERceDk5XHg1QVx4MTJceEQ2XHg0MFx4QzAiCisJCQkgICJceEVBXHhDMlx4ODRceEU4XHgxNFx4OTVceERCXHhFOCIsCisJCS5rbGVuCT0gMjQsCisJCS5pdgk9ICJceDdEXHgzM1x4ODhceDkzXHgwRlx4OTNceEIyXHg0MiIsCisJCS5pbnB1dAk9ICJceDZmXHg1NFx4MjBceDZmXHg2MVx4NGRceDc5XHg2ZSIKKwkJCSAgIlx4NTNceDIwXHg2M1x4NjVceDY1XHg3Mlx4NzNceDc0IgorCQkJICAiXHg1NFx4MjBceDZmXHg2Zlx4NGRceDIwXHg2ZVx4NjEiCisJCQkgICJceDIwXHg3OVx4NjVceDUzXHg3Mlx4NjNceDc0XHg2NSIKKwkJCSAgIlx4MjBceDczXHg2Zlx4NTRceDIwXHg2Zlx4NjFceDRkIgorCQkJICAiXHg3OVx4NmVceDUzXHgyMFx4NjNceDY1XHg2NVx4NzIiCisJCQkgICJceDczXHg3NFx4NTRceDIwXHg2Zlx4NmZceDRkXHgyMCIKKwkJCSAgIlx4NmVceDYxXHgyMFx4NzlceDY1XHg1M1x4NzJceDYzIgorCQkJICAiXHg3NFx4NjVceDIwXHg3M1x4NmZceDU0XHgyMFx4NmYiCisJCQkgICJceDYxXHg0ZFx4NzlceDZlXHg1M1x4MjBceDYzXHg2NSIKKwkJCSAgIlx4NjVceDcyXHg3M1x4NzRceDU0XHgyMFx4NmZceDZmIgorCQkJICAiXHg0ZFx4MjBceDZlXHg2MVx4MjBceDc5XHg2NVx4NTMiCisJCQkgICJceDcyXHg2M1x4NzRceDY1XHgyMFx4NzNceDZmXHg1NCIKKwkJCSAgIlx4MjBceDZmXHg2MVx4NGRceDc5XHg2ZVx4NTNceDIwIgorCQkJICAiXHg2M1x4NjVceDY1XHg3Mlx4NzNceDc0XHg1NFx4MjAiCisJCQkgICJceDZmXHg2Zlx4NGRceDIwXHg2ZVx4NjFceDBhXHg3OSIsCisJCS5pbGVuCT0gMTI4LAorCQkucmVzdWx0CT0gIlx4MGVceDJkXHhiNlx4OTdceDNjXHg1Nlx4MzNceGY0IgorCQkJICAiXHg2N1x4MTdceDIxXHhjN1x4NmVceDhhXHhkNVx4NDkiCisJCQkgICJceDc0XHhiM1x4NDlceDA1XHhjNVx4MWNceGQwXHhlZCIKKwkJCSAgIlx4MTJceDU2XHg1Y1x4NTNceDk2XHhiNlx4MDBceDdkIgorCQkJICAiXHg5MFx4NDhceGZjXHhmNVx4OGRceDI5XHgzOVx4Y2MiCisJCQkgICJceDhhXHhkNVx4MzVceDE4XHgzNlx4MjNceDRlXHhkNyIKKwkJCSAgIlx4NzZceGQxXHhkYVx4MGNceDk0XHg2N1x4YmJceDA0IgorCQkJICAiXHg4Ylx4ZjJceDAzXHg2Y1x4YThceGNmXHhiNlx4ZWEiCisJCQkgICJceDIyXHg2NFx4NDdceGFhXHg4Zlx4NzVceDEzXHhiZiIKKwkJCSAgIlx4OWZceGMyXHhjM1x4ZjBceGM5XHg1Nlx4YzVceDdhIgorCQkJICAiXHg3MVx4NjNceDJlXHg4OVx4N2JceDFlXHgxMlx4Y2EiCisJCQkgICJceGUyXHg1Zlx4YWZceGQ4XHhhNFx4ZjhceGM5XHg3YSIKKwkJCSAgIlx4ZDZceGY5XHgyMVx4MzFceDYyXHg0NFx4NDVceGE2IgorCQkJICAiXHhkNlx4YmNceDVhXHhkM1x4MmRceDU0XHg0M1x4Y2MiCisJCQkgICJceDlkXHhkZVx4YTVceDcwXHhlOVx4NDJceDQ1XHg4YSIKKwkJCSAgIlx4NmJceGZhXHhiMVx4OTFceDEzXHhiMFx4ZDlceDE5IiwKKwkJLnJsZW4JPSAxMjgsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2lwaGVyX3Rlc3R2ZWMgZGVzM19lZGVfY2JjX2RlY190dl90ZW1wbGF0ZVtdID0geworCXsgLyogR2VuZXJhdGVkIGZyb20gb3BlbnNzbCAqLworCQkua2V5CT0gIlx4RTlceEMwXHhGRlx4MkVceDc2XHgwQlx4NjRceDI0IgorCQkJICAiXHg0NFx4NERceDk5XHg1QVx4MTJceEQ2XHg0MFx4QzAiCisJCQkgICJceEVBXHhDMlx4ODRceEU4XHgxNFx4OTVceERCXHhFOCIsCisJCS5rbGVuCT0gMjQsCisJCS5pdgk9ICJceDdEXHgzM1x4ODhceDkzXHgwRlx4OTNceEIyXHg0MiIsCisJCS5pbnB1dAk9ICJceDBlXHgyZFx4YjZceDk3XHgzY1x4NTZceDMzXHhmNCIKKwkJCSAgIlx4NjdceDE3XHgyMVx4YzdceDZlXHg4YVx4ZDVceDQ5IgorCQkJICAiXHg3NFx4YjNceDQ5XHgwNVx4YzVceDFjXHhkMFx4ZWQiCisJCQkgICJceDEyXHg1Nlx4NWNceDUzXHg5Nlx4YjZceDAwXHg3ZCIKKwkJCSAgIlx4OTBceDQ4XHhmY1x4ZjVceDhkXHgyOVx4MzlceGNjIgorCQkJICAiXHg4YVx4ZDVceDM1XHgxOFx4MzZceDIzXHg0ZVx4ZDciCisJCQkgICJceDc2XHhkMVx4ZGFceDBjXHg5NFx4NjdceGJiXHgwNCIKKwkJCSAgIlx4OGJceGYyXHgwM1x4NmNceGE4XHhjZlx4YjZceGVhIgorCQkJICAiXHgyMlx4NjRceDQ3XHhhYVx4OGZceDc1XHgxM1x4YmYiCisJCQkgICJceDlmXHhjMlx4YzNceGYwXHhjOVx4NTZceGM1XHg3YSIKKwkJCSAgIlx4NzFceDYzXHgyZVx4ODlceDdiXHgxZVx4MTJceGNhIgorCQkJICAiXHhlMlx4NWZceGFmXHhkOFx4YTRceGY4XHhjOVx4N2EiCisJCQkgICJceGQ2XHhmOVx4MjFceDMxXHg2Mlx4NDRceDQ1XHhhNiIKKwkJCSAgIlx4ZDZceGJjXHg1YVx4ZDNceDJkXHg1NFx4NDNceGNjIgorCQkJICAiXHg5ZFx4ZGVceGE1XHg3MFx4ZTlceDQyXHg0NVx4OGEiCisJCQkgICJceDZiXHhmYVx4YjFceDkxXHgxM1x4YjBceGQ5XHgxOSIsCisJCS5pbGVuCT0gMTI4LAorCQkucmVzdWx0CT0gIlx4NmZceDU0XHgyMFx4NmZceDYxXHg0ZFx4NzlceDZlIgorCQkJICAiXHg1M1x4MjBceDYzXHg2NVx4NjVceDcyXHg3M1x4NzQiCisJCQkgICJceDU0XHgyMFx4NmZceDZmXHg0ZFx4MjBceDZlXHg2MSIKKwkJCSAgIlx4MjBceDc5XHg2NVx4NTNceDcyXHg2M1x4NzRceDY1IgorCQkJICAiXHgyMFx4NzNceDZmXHg1NFx4MjBceDZmXHg2MVx4NGQiCisJCQkgICJceDc5XHg2ZVx4NTNceDIwXHg2M1x4NjVceDY1XHg3MiIKKwkJCSAgIlx4NzNceDc0XHg1NFx4MjBceDZmXHg2Zlx4NGRceDIwIgorCQkJICAiXHg2ZVx4NjFceDIwXHg3OVx4NjVceDUzXHg3Mlx4NjMiCisJCQkgICJceDc0XHg2NVx4MjBceDczXHg2Zlx4NTRceDIwXHg2ZiIKKwkJCSAgIlx4NjFceDRkXHg3OVx4NmVceDUzXHgyMFx4NjNceDY1IgorCQkJICAiXHg2NVx4NzJceDczXHg3NFx4NTRceDIwXHg2Zlx4NmYiCisJCQkgICJceDRkXHgyMFx4NmVceDYxXHgyMFx4NzlceDY1XHg1MyIKKwkJCSAgIlx4NzJceDYzXHg3NFx4NjVceDIwXHg3M1x4NmZceDU0IgorCQkJICAiXHgyMFx4NmZceDYxXHg0ZFx4NzlceDZlXHg1M1x4MjAiCisJCQkgICJceDYzXHg2NVx4NjVceDcyXHg3M1x4NzRceDU0XHgyMCIKKwkJCSAgIlx4NmZceDZmXHg0ZFx4MjBceDZlXHg2MVx4MGFceDc5IiwKKwkJLnJsZW4JPSAxMjgsCisJfSwKK307CisKIC8qCiAgKiBCbG93ZmlzaCB0ZXN0IHZlY3RvcnMuCiAgKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvTWFrZWZpbGUgYi9kcml2ZXJzL01ha2VmaWxlCmluZGV4IGY2NWRlZGEuLmZkYTQ0NjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvTWFrZWZpbGUKKysrIGIvZHJpdmVycy9NYWtlZmlsZQpAQCAtMTAsNiArMTAsNyBAQAogb2JqLSQoQ09ORklHX1BBUklTQykJCSs9IHBhcmlzYy8KIG9iai0kKENPTkZJR19SQVBJRElPKQkJKz0gcmFwaWRpby8KIG9iai15CQkJCSs9IHZpZGVvLworb2JqLXkJCQkJKz0gZ3B1Lwogb2JqLSQoQ09ORklHX0FDUEkpCQkrPSBhY3BpLwogIyBQblAgbXVzdCBjb21lIGFmdGVyIEFDUEkgc2luY2UgaXQgd2lsbCBldmVudHVhbGx5IG5lZWQgdG8gY2hlY2sgaWYgYWNwaQogIyB3YXMgdXNlZCBhbmQgZG8gbm90aGluZyBpZiBzbwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9hY29ybi9jaGFyL01ha2VmaWxlIGIvZHJpdmVycy9hY29ybi9jaGFyL01ha2VmaWxlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkMDA2YzlmLi4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvYWNvcm4vY2hhci9NYWtlZmlsZQorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotIwotIyBNYWtlZmlsZSBmb3IgdGhlIGFjb3JuIGNoYXJhY3RlciBkZXZpY2UgZHJpdmVycy4KLSMKLQotb2JqLSQoQ09ORklHX0w3MjAwX0tFWUIpCSs9IGRlZmtleW1hcC1sNzIwMC5vIGtleWJfbDcyMDAubwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9hY29ybi9jaGFyL2RlZmtleW1hcC1sNzIwMC5jIGIvZHJpdmVycy9hY29ybi9jaGFyL2RlZmtleW1hcC1sNzIwMC5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5M2Q4MGExLi4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvYWNvcm4vY2hhci9kZWZrZXltYXAtbDcyMDAuYworKysgL2Rldi9udWxsCkBAIC0xLDM4NiArMCwwIEBACi0vKgotICogbGludXgvZHJpdmVycy9hY29ybi9jaGFyL2RlZmtleW1hcC1sNzIwMC5jCi0gKgotICogRGVmYXVsdCBrZXlib2FyZCBtYXBzIGZvciBMaW5rVXAgU3lzdGVtcyBMNzIwMCBib2FyZAotICoKLSAqIENvcHlyaWdodCAoQykgMjAwMCBTdGV2ZSBIaWxsIChzamhpbGxAY290dy5jb20pCi0gKgotICogQ2hhbmdlbG9nOgotICogICAwOC0wNC0yMDAwIFNKSCAgICAgQ3JlYXRlZCBmaWxlCi0gKi8KLQotI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+Ci0jaW5jbHVkZSA8bGludXgva2V5Ym9hcmQuaD4KLSNpbmNsdWRlIDxsaW51eC9rZC5oPgotCi0vKiBOb3JtYWwgKG1hcHMgMToxIHdpdGggbm8gcHJvY2Vzc2luZykgKi8KLSNkZWZpbmUgS1RuCTB4RjAKLS8qIEZ1bmN0aW9uIGtleXMgKi8KLSNkZWZpbmUgS1RmCTB4RjEKLS8qIFNwZWNpYWwgKFBlcmZvcm1zIHNwZWNpYWwgaG91c2Uta2VlcGluZyBmdW5jcykgKi8KLSNkZWZpbmUgS1RzCTB4RjIKLSNkZWZpbmUgS0lHTk9SRQkJSyhLVHMsIDApCS8qIElnbm9yZSAqLwotI2RlZmluZSBLRU5URVIJCUsoS1RzLCAxKQkvKiBFbnRlciAqLwotI2RlZmluZSBLUkVHUwkJSyhLVHMsIDIpCS8qIFJlZ3MgKi8KLSNkZWZpbmUgS01FTQkJSyhLVHMsIDMpCS8qIE1lbSAqLwotI2RlZmluZSBLU1RBVAkJSyhLVHMsIDQpCS8qIFN0YXRlICovCi0jZGVmaW5lIEtJTlRSCQlLKEtUcywgNSkJLyogSW50ciAqLwotI2RlZmluZSBLc2wJNgkvKiBMYXN0IGNvbnNvbGUgKi8KLSNkZWZpbmUgS0NBUFNMSwkJSyhLVHMsIDcpCS8qIENhcHMgbG9jayAqLwotI2RlZmluZSBLTlVNTEsJCUsoS1RzLCA4KQkvKiBOdW0tbG9jayAqLwotI2RlZmluZSBLU0NSTExLCQlLKEtUcywgOSkJLyogU2Nyb2xsLWxvY2sgKi8KLSNkZWZpbmUgS1NDUkxGT1IJSyhLVHMsMTApCS8qIFNjcm9sbCBmb3J3YXJkICovCi0jZGVmaW5lIEtTQ1JMQkFLCUsoS1RzLDExKQkvKiBTY3JvbGwgYmFjayAqLwotI2RlZmluZSBLUkVCT09UCQlLKEtUcywxMikJLyogUmVib290ICovCi0jZGVmaW5lIEtDQVBTT04JCUsoS1RzLDEzKQkvKiBDYXBzIG9uICovCi0jZGVmaW5lIEtDT01QT1NFCUsoS1RzLDE0KQkvKiBDb21wb3NlICovCi0jZGVmaW5lIEtTQUsJCUsoS1RzLDE1KQkvKiBTQUsgKi8KLSNkZWZpbmUgQ09OU19ERUMJSyhLVHMsMTYpCS8qIERlYyBjb25zb2xlICovCi0jZGVmaW5lIENPTlNfSU5DCUsoS1RzLDE3KQkvKiBJbmNyIGNvbnNvbGUgKi8KLSNkZWZpbmUgS0ZMT1BQWQkJSyhLVHMsMTgpCS8qIEZsb3BweSAqLwotLyogS2V5IHBhZCAoMC05ID0gZGlnaXRzLCAxMD0rLCAxMT0tLCAxMj0qLCAxMz0vLCAxND1lbnRlciwgMTY9LiwgMTc9IyAqLwotI2RlZmluZSBLVHAJMHhGMwotI2RlZmluZSBLUEFEXzAJCUsoS1RwLCAwICkKLSNkZWZpbmUgS1BBRF8xICAJSyhLVHAsIDEgKQotI2RlZmluZSBLUEFEXzIJCUsoS1RwLCAyICkKLSNkZWZpbmUgS1BBRF8zCQlLKEtUcCwgMyApCi0jZGVmaW5lIEtQQURfNAkJSyhLVHAsIDQgKQotI2RlZmluZSBLUEFEXzUJCUsoS1RwLCA1ICkKLSNkZWZpbmUgS1BBRF82CQlLKEtUcCwgNiApCi0jZGVmaW5lIEtQQURfNwkJSyhLVHAsIDcgKQotI2RlZmluZSBLUEFEXzgJCUsoS1RwLCA4ICkKLSNkZWZpbmUgS1BBRF85CQlLKEtUcCwgOSApCi0jZGVmaW5lIEtQQURfUEwJCUsoS1RwLDEwICkKLSNkZWZpbmUgS1BBRF9NSQkJSyhLVHAsMTEgKQotI2RlZmluZSBLUEFEX01MCQlLKEtUcCwxMiApCi0jZGVmaW5lIEtQQURfRFYJCUsoS1RwLDEzICkKLSNkZWZpbmUgS1BBRF9FTgkJSyhLVHAsMTQgKQotI2RlZmluZSBLUEFEX0RUCQlLKEtUcCwxNiApCi0jZGVmaW5lIEtQQURfSFMJCUsoS1RwLDIwICkKLS8qIENvbnNvbGUgc3dpdGNoaW5nICovCi0jZGVmaW5lIEtDbgkweEY1Ci0vKiBDdXJzb3IgKi8KLSNkZWZpbmUgS1RjCTB4RjYKLSNkZWZpbmUgS2NkCTAJLyogQ3Vyc29yIGRvd24gKi8KLSNkZWZpbmUgS2NsCTEJLyogQ3Vyc29yIGxlZnQgKi8KLSNkZWZpbmUgS2NyCTIJLyogQ3Vyc29yIHJpZ2h0ICovCi0jZGVmaW5lIEtjdQkzCS8qIEN1cnNvciB1cCAqLwotLyogU2hpZnQvYWx0IG1vZGlmaWVycyBldGMgKi8KLSNkZWZpbmUgS01kCTB4RjcKLSNkZWZpbmUgS1NISUZUCQlLKEtNZCwgMCApCi0jZGVmaW5lIEtBTFRHUgkJSyhLTWQsIDEgKQotI2RlZmluZSBLQ1RSTAkJSyhLTWQsIDIgKQotI2RlZmluZSBLQUxUCQlLKEtNZCwgMyApCi0vKiBNZXRhICovCi0jZGVmaW5lIEtNdAkweEY4Ci0jZGVmaW5lIEtBcwkweEY5Ci0jZGVmaW5lIEtQQURBXzAJCUsoS0FzLCAwICkKLSNkZWZpbmUgS1BBREFfMQkJSyhLQXMsIDEgKQotI2RlZmluZSBLUEFEQV8yCQlLKEtBcywgMiApCi0jZGVmaW5lIEtQQURBXzMJCUsoS0FzLCAzICkKLSNkZWZpbmUgS1BBREFfNAkJSyhLQXMsIDQgKQotI2RlZmluZSBLUEFEQV81CQlLKEtBcywgNSApCi0jZGVmaW5lIEtQQURBXzYJCUsoS0FzLCA2ICkKLSNkZWZpbmUgS1BBREFfNwkJSyhLQXMsIDcgKQotI2RlZmluZSBLUEFEQV84CQlLKEtBcywgOCApCi0jZGVmaW5lIEtQQURBXzkJCUsoS0FzLCA5ICkKLSNkZWZpbmUgS1BBREJfMAkJSyhLQXMsMTAgKQotI2RlZmluZSBLUEFEQl8xCQlLKEtBcywxMSApCi0jZGVmaW5lIEtQQURCXzIJCUsoS0FzLDEyICkKLSNkZWZpbmUgS1BBREJfMwkJSyhLQXMsMTMgKQotI2RlZmluZSBLUEFEQl80CQlLKEtBcywxNCApCi0jZGVmaW5lIEtQQURCXzUJCUsoS0FzLDE1ICkKLSNkZWZpbmUgS1BBREJfNgkJSyhLQXMsMTYgKQotI2RlZmluZSBLUEFEQl83CQlLKEtBcywxNyApCi0jZGVmaW5lIEtQQURCXzgJCUsoS0FzLDE4ICkKLSNkZWZpbmUgS1BBREJfOQkJSyhLQXMsMTkgKQotLyogTG9ja2luZyBrZXlzICovCi0jZGVmaW5lIEtMawkweEZBCi0vKiBMZXR0ZXJzICovCi0jZGVmaW5lIEtUbAkweEZCCi0KLS8qCi0gKiBIZXJlIGlzIHRoZSBsYXlvdXQgb2YgdGhlIGtleXMgZm9yIHRoZSBGdWppdHN1IFFXRVJUWQotICogc3R5bGUga2V5Ym9hcmQ6Ci0gKgotICoJc3RhdGljIGNoYXIgRnVqaXRzdV9LZXlfVGFibGVbXSA9Ci0gKgl7Ci0gKiAgICAgICAgS0FMVCwgJ2AnICwgS05VTCwgS0NUTCwgS0ZVTiwgS0VTQywgJzEnICwgJzInICwKLSAqCSAgJzknICwgJzAnICwgJy0nICwgJz0nICwgS05VTCwgS0JTUCwgS05VTCwgS05VTCwKLSAqCSAgS05VTCwgS0JTTCwgS1NIRiwgS05VTCwgS05VTCwgS0RFTCwgS05VTCwgJ3QnICwKLSAqCSAgJ3knICwgJ3UnICwgJ2knICwgS1JFVCwgS1NIRiwgS1BHRCwgS05VTCwgS05VTCwKLSAqCSAgS05VTCwgS1RBQiwgS05VTCwgS05VTCwgS05VTCwgJ3EnICwgJ3cnICwgJ2UnICwKLSAqCSAgJ3InICwgJ28nICwgJ3AnICwgJ1snICwgS05VTCwgJ10nICwgS05VTCwgS05VTCwKLSAqCSAgS05VTCwgJ3onICwgS05VTCwgS05VTCwgS05VTCwgS1NITCwgS05VTCwgS05VTCwKLSAqCSAgJ2snICwgJ2wnICwgJzsnICwgS1NRVCwgS05VTCwgS1BHVSwgS05VTCwgS05VTCwKLSAqCSAgS05VTCwgJ2EnICwgS05VTCwgS05VTCwgS05VTCwgJ3MnICwgJ2QnICwgJ2YnICwKLSAqCSAgJ2cnICwgJ2gnICwgJ2onICwgJy8nICwgS05VTCwgS0hNRSwgS05VTCwgS05VTCwKLSAqCSAgS05VTCwgJ3gnICwgS05VTCwgS05VTCwgS05VTCwgJ2MnICwgJ3YnICwgJ2InICwKLSAqCSAgJ24nICwgJ20nICwgJywnICwgJy4nICwgS05VTCwgJyAnICwgS05VTCwgS05VTCwKLSAqCSAgS05VTCwgS05VTCwgS05VTCwgS05VTCwgS05VTCwgJzMnICwgJzQnICwgJzUnICwKLSAqCSAgJzYnICwgJzcnICwgJzgnICwgS05VTCwgS1BSRywgS05VTCwgS0VORCwgS05VTCwKLSAqCX07Ci0gKi8KLQotdV9zaG9ydCBwbGFpbl9tYXBbTlJfS0VZU109Ci17Ci0JMHhmNzAzLCAweGYwNjAsIDB4ZjIwMCwgMHhmNzAyLCAweGYyMDAsIDB4ZjAxYiwgMHhmMDMxLCAweGYwMzIsCi0JMHhmMDM5LCAweGYwMzAsIDB4ZjAyZCwgMHhmMDNkLCAweGYyMDAsIDB4ZjA3ZiwgMHhmMjAwLCAweGYyMDAsCi0JMHhmMjAwLCAweGYwNWMsIDB4ZjcwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjExNiwgMHhmMDAwLCAweGZiNzQsCi0JMHhmYjc5LCAweGZiNzUsIDB4ZmI2OSwgMHhmMjAxLCAweGY3MDAsIDB4ZjYwMCwgMHhmMjAwLCAweGYyMDAsCi0JMHhmMjAwLCAweGYwMDksIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZmI3MSwgMHhmYjc3LCAweGZiNjUsCi0JMHhmYjcyLCAweGZiNmYsIDB4ZmI3MCwgMHhmMDViLCAweGYyMDAsIDB4ZjA1ZCwgMHhmMjAwLCAweGYyMDAsCi0JMHhmMjAwLCAweGZiN2EsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwNywgMHhmMjAwLCAweGYyMDAsCi0JMHhmYjZiLCAweGZiNmMsIDB4ZjAzYiwgMHhmMDI3LCAweGYyMDAsIDB4ZjYwMywgMHhmMjAwLCAweGYyMDAsCi0JMHhmMjAwLCAweGZiNjEsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZmI3MywgMHhmYjY0LCAweGZiNjYsCi0JMHhmYjY3LCAweGZiNjgsIDB4ZmI2YSwgMHhmMDJmLCAweGYyMDAsIDB4ZjYwMSwgMHhmMjAwLCAweGYyMDAsCi0JMHhmMjAwLCAweGZiNzgsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZmI2MywgMHhmYjc2LCAweGZiNjIsCi0JMHhmYjZlLCAweGZiNmQsIDB4ZjAyYywgMHhmMDJlLCAweGYyMDAsIDB4ZjAyMCwgMHhmMjAwLCAweGYyMDAsCi0JMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjAzMywgMHhmMDM0LCAweGYwMzUsIAotCTB4ZjAzNiwgMHhmMDM3LCAweGYwMzgsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjYwMiwgMHhmMjAwLCAKLQkweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgCi0JMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIAotfTsKLQotdV9zaG9ydCBzaGlmdF9tYXBbTlJfS0VZU109Ci17Ci0JMHhmNzAzLCAweGYwN2UsIDB4ZjIwMCwgMHhmNzAyLCAweGYyMDAsIDB4ZjAxYiwgMHhmMDIxLCAweGYwNDAsCi0JMHhmMDI4LCAweGYwMjksIDB4ZjA1ZiwgMHhmMDJiLCAweGYyMDAsIDB4ZjA3ZiwgMHhmMjAwLCAweGYyMDAsCi0JMHhmMjAwLCAweGYwN2MsIDB4ZjcwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjExNiwgMHhmMDAwLCAweGZiNTQsCi0JMHhmYjU5LCAweGZiNTUsIDB4ZmI0OSwgMHhmMjAxLCAweGY3MDAsIDB4ZjYwMCwgMHhmMjAwLCAweGYyMDAsCi0gCTB4ZjIwMCwgMHhmMDA5LCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGZiNTEsIDB4ZmI1NywgMHhmYjQ1LAotCTB4ZmI1MiwgMHhmYjRmLCAweGZiNTAsIDB4ZjA3YiwgMHhmMjAwLCAweGYwN2QsIDB4ZjIwMCwgMHhmMjAwLAotCTB4ZjIwMCwgMHhmYjVhLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDcsIDB4ZjIwMCwgMHhmMjAwLAotCTB4ZmI0YiwgMHhmYjRjLCAweGYwM2EsIDB4ZjAyMiwgMHhmMjAwLCAweGY2MDMsIDB4ZjIwMCwgMHhmMjAwLAotCTB4ZjIwMCwgMHhmYjQxLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGZiNTMsIDB4ZmI0NCwgMHhmYjQ2LAotCTB4ZmI0NywgMHhmYjQ4LCAweGZiNGEsIDB4ZjAzZiwgMHhmMjAwLCAweGY2MDEsIDB4ZjIwMCwgMHhmMjAwLAotCTB4ZjIwMCwgMHhmYjU4LCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGZiNDMsIDB4ZmI1NiwgMHhmYjQyLAotCTB4ZmI0ZSwgMHhmYjRkLCAweGYwM2MsIDB4ZjAzZSwgMHhmMjAwLCAweGYwMjAsIDB4ZjIwMCwgMHhmMjAwLAotCTB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYwMjMsIDB4ZjAyNCwgMHhmMDI1LCAKLQkweGYwNWUsIDB4ZjAyNiwgMHhmMDJhLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGY2MDIsIDB4ZjIwMCwgCi0JMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIAotCTB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAKLX07Ci0KLXVfc2hvcnQgYWx0Z3JfbWFwW05SX0tFWVNdPQotewotICBLSUdOT1JFICAgLEsoS0NuLDEyICksSyhLQ24sMTMgKSxLKEtDbiwxNCAgKSxLKEtDbiwxNSApLEsoS0NuLDE2ICksSyhLQ24sMTcgICksSyhLQ24sIDE4KSwKLSAgSyhLQ24sIDE5KSxLKEtDbiwyMCApLEsoS0NuLDIxICksSyhLQ24sMjIgICksSyhLQ24sMjMgKSxLSUdOT1JFICAgLEtSRUdTICAgICAgLEtJTlRSICAgICAsCi0gIEtJR05PUkUgICAsS0lHTk9SRSAgICxLKEtUbiwnQCcpLEtJR05PUkUgICAgLEsoS1RuLCckJyksS0lHTk9SRSAgICxLSUdOT1JFICAgICxLKEtUbiwneycpLAotICBLKEtUbiwnWycpLEsoS1RuLCddJyksSyhLVG4sJ30nKSxLKEtUbiwnXFwnKSxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsSyhLVGYsMjEgKSwKLSAgSyhLVGYsMjAgKSxLKEtUZiwyNCApLEtOVU1MSyAgICAsS1BBRF9EViAgICAsS1BBRF9NTCAgICxLUEFEX0hTICAgLEtJR05PUkUgICAgLEsoS1RsLCdxJyksCi0gIEsoS1RsLCd3JyksSyhLVGwsJ2UnKSxLKEtUbCwncicpLEsoS1RsLCd0JyApLEsoS1RsLCd5JyksSyhLVGwsJ3UnKSxLKEtUbCwnaScgKSxLKEtUbCwnbycpLAotICBLKEtUbCwncCcpLEtJR05PUkUgICAsSyhLVG4sJ34nKSxLSUdOT1JFICAgICxLKEtUZiwyMiApLEsoS1RmLDIzICksSyhLVGYsMjUgICksS1BBREJfNyAgICwKLSAgS1BBREJfOCAgICxLUEFEQl85ICAgLEtQQURfTUkgICAsS0NUUkwgICAgICAsSyhLQXMsMjAgKSxLKEtUbCwncycpLEsoS0FzLDIzICApLEsoS0FzLDI1ICksCi0gIEsoS1RsLCdnJyksSyhLVGwsJ2gnKSxLKEtUbCwnaicpLEsoS1RsLCdrJyApLEsoS1RsLCdsJyksS0lHTk9SRSAgICxLSUdOT1JFICAgICxLRU5URVIgICAgLAotICBLUEFEQl80ICAgLEtQQURCXzUgICAsS1BBREJfNiAgICxLUEFEX1BMICAgICxLU0hJRlQgICAgLEtJR05PUkUgICAsSyhLVGwsJ3onICksSyhLVGwsJ3gnKSwKLSAgSyhLQXMsMjIgKSxLKEtUbCwndicpLEsoS1RsLDIxICksSyhLVGwsJ24nICksSyhLVGwsJ20nKSxLSUdOT1JFICAgLEtJR05PUkUgICAgLEtJR05PUkUgICAsCi0gIEtTSElGVCAgICAsSyhLVGMsS2N1KSxLUEFEQl8xICAgLEtQQURCXzIgICAgLEtQQURCXzMgICAsS0NBUFNMSyAgICxLQUxUICAgICAgICxLSUdOT1JFICAgLAotICBLQUxUR1IgICAgLEtDVFJMICAgICAsSyhLVGMsS2NsKSxLKEtUYyxLY2QgKSxLKEtUYyxLY3IpLEtQQURCXzAgICAsS1BBRF9EVCAgICAsS1BBRF9FTiAgICwKLSAgS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAgLEtJR05PUkUgICAsCi0gIEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgICxLSUdOT1JFICAgLAotICBLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgICxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICwKLX07Ci0KLXVfc2hvcnQgY3RybF9tYXBbTlJfS0VZU109Ci17Ci0JMHhmNzAzLCAweGYyMDAsIDB4ZjIwMCwgMHhmNzAyLCAweGYyMDAsIDB4ZjIwMCwgMHhmMDAxLCAweGYwMDIsCi0JMHhmMDA5LCAweGYwMDAsIDB4ZjAzMSwgMHhmMjAwLCAweGYyMDAsIDB4ZjA3ZiwgMHhmMjAwLCAweGYyMDAsCi0JMHhmMjAwLCAweGYwMWMsIDB4ZjcwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjExNiwgMHhmMDAwLCAweGYwMjAsCi0JMHhmMDE5LCAweGYwMTUsIDB4ZjAwOSwgMHhmMjAxLCAweGY3MDAsIDB4ZjYwMCwgMHhmMjAwLCAweGYyMDAsCi0JMHhmMjAwLCAweGYwMDksIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjAxMSwgMHhmMDE3LCAweGYwMDUsCi0JMHhmMDEyLCAweGYwMGYsIDB4ZjAxMCwgMHhmMDFiLCAweGYyMDAsIDB4ZjAxZCwgMHhmMjAwLCAweGYyMDAsCi0JMHhmMjAwLCAweGYwMWEsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwNywgMHhmMjAwLCAweGYyMDAsCi0JMHhmMDBiLCAweGYwMGMsIDB4ZjIwMCwgMHhmMDA3LCAweGYyMDAsIDB4ZjYwMywgMHhmMjAwLCAweGYyMDAsCi0JMHhmMjAwLCAweGYwMDEsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjAwMSwgMHhmMDEzLCAweGYwMDYsCi0JMHhmMDA3LCAweGYwMDgsIDB4ZjAwYSwgMHhmMDdmLCAweGYyMDAsIDB4ZjYwMSwgMHhmMjAwLCAweGYyMDAsCi0JMHhmMjAwLCAweGYwMTgsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjAwMywgMHhmMDE2LCAweGYwMDIsCi0JMHhmMDBlLCAweGYwMGQsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjAwMCwgMHhmMjAwLCAweGYyMDAsCi0JMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjAxYiwgMHhmMDFjLCAweGYwMWQsIAotCTB4ZjAzNiwgMHhmMDM3LCAweGYwMzgsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjYwMiwgMHhmMjAwLCAKLQkweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgCi0JMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmNjAyLCAweGYyMDAsIAotfTsKLQotdV9zaG9ydCBzaGlmdF9jdHJsX21hcFtOUl9LRVlTXT0KLXsKLSAgS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAgLEtJR05PUkUgICAsCi0gIEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICxLRkxPUFBZICAgICxLSU5UUiAgICAgLAotICBLSUdOT1JFICAgLEtJR05PUkUgICAsSyhLVG4sIDAgKSxLSUdOT1JFICAgICxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICwKLSAgS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAsSyhLVG4sMzEgICksS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAgLEsoS1RmLDIxICksCi0gIEsoS1RmLDIwICksSyhLVGYsMjQgKSxLTlVNTEsgICAgLEtQQURfRFYgICAgLEtQQURfTUwgICAsS1BBRF9IUyAgICxLSUdOT1JFICAgICxLKEtUbiwxNyApLAotICBLKEtUbiwyMyApLEsoS1RuLCA1ICksSyhLVG4sMTggKSxLKEtUbiwyMCAgKSxLKEtUbiwyNSApLEsoS1RuLDIxICksSyhLVG4sIDkgICksSyhLVG4sMTUgKSwKLSAgSyhLVG4sMTYgKSxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsSyhLVGYsMjIgKSxLKEtUZiwyMyApLEsoS1RmLDI1ICApLEtQQURfNyAgICAsCi0gIEtQQURfOCAgICAsS1BBRF85ICAgICxLUEFEX01JICAgLEtDVFJMICAgICAgLEsoS1RuLCAxICksSyhLVG4sMTkgKSxLKEtUbiwgNCAgKSxLKEtUbiwgNiApLAotICBLKEtUbiwgNyApLEsoS1RuLCA4ICksSyhLVG4sMTAgKSxLKEtUbiwxMSAgKSxLKEtUbiwxMiApLEtJR05PUkUgICAsSyhLVG4sIDcgICksS0VOVEVSICAgICwKLSAgS1BBRF80ICAgICxLUEFEXzUgICAgLEtQQURfNiAgICAsS1BBRF9QTCAgICAsS1NISUZUICAgICxLSUdOT1JFICAgLEsoS1RuLDI2ICApLEsoS1RuLDI0ICksCi0gIEsoS1RuLCAzICksSyhLVG4sMjIgKSxLKEtUbiwgMiApLEsoS1RuLDE0ICApLEsoS1RuLDEzICksS0lHTk9SRSAgICxLSUdOT1JFICAgICxLSUdOT1JFICAgLAotICBLU0hJRlQgICAgLEsoS1RjLEtjdSksS1BBRF8xICAgICxLUEFEXzIgICAgICxLUEFEXzMgICAgLEtDQVBTTEsgICAsS0FMVCAgICAgICAsSyhLVG4sIDAgKSwKLSAgS0FMVEdSICAgICxLQ1RSTCAgICAgLEsoS1RjLEtjbCksSyhLVGMsS2NkICksSyhLVGMsS2NyKSxLUEFEXzAgICAgLEtQQURfRFQgICAgLEtQQURfRU4gICAsCi0gIEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgICxLSUdOT1JFICAgLAotICBLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgICxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICwKLSAgS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAgLEtJR05PUkUgICAsCi19OwotCi11X3Nob3J0IGFsdF9tYXBbTlJfS0VZU109Ci17Ci0gIEsoS010LDI3ICksSyhLQ24sIDAgKSxLKEtDbiwgMSApLEsoS0NuLCAyICApLEsoS0NuLCAzICksSyhLQ24sIDQgKSxLKEtDbiwgNSAgKSxLKEtDbiwgNiApLAotICBLKEtDbiwgNyApLEsoS0NuLCA4ICksSyhLQ24sIDkgKSxLKEtDbiwxMCAgKSxLKEtDbiwxMSApLEtJR05PUkUgICAsS1NDUkxMSyAgICAsS0lOVFIgICAgICwKLSAgSyhLTXQsJ2AnKSxLKEtNdCwnMScpLEsoS010LCcyJyksSyhLTXQsJzMnICksSyhLTXQsJzQnKSxLKEtNdCwnNScpLEsoS010LCc2JyApLEsoS010LCc3JyksCi0gIEsoS010LCc4JyksSyhLTXQsJzknKSxLKEtNdCwnMCcpLEsoS010LCctJyApLEsoS010LCc9JyksSyhLTXQsJ6MnKSxLKEtNdCwxMjcgKSxLKEtUZiwyMSApLAotICBLKEtUZiwyMCApLEsoS1RmLDI0ICksS05VTUxLICAgICxLUEFEX0RWICAgICxLUEFEX01MICAgLEtQQURfSFMgICAsSyhLTXQsIDkgICksSyhLTXQsJ3EnKSwKLSAgSyhLTXQsJ3cnKSxLKEtNdCwnZScpLEsoS010LCdyJyksSyhLTXQsJ3QnICksSyhLTXQsJ3knKSxLKEtNdCwndScpLEsoS010LCdpJyApLEsoS010LCdvJyksCi0gIEsoS010LCdwJyksSyhLTXQsJ1snKSxLKEtNdCwnXScpLEsoS010LCdcXCcpLEsoS1RmLDIyICksSyhLVGYsMjMgKSxLKEtUZiwyNSAgKSxLUEFEQV83ICAgLAotICBLUEFEQV84ICAgLEtQQURBXzkgICAsS1BBRF9NSSAgICxLQ1RSTCAgICAgICxLKEtNdCwnYScpLEsoS010LCdzJyksSyhLTXQsJ2QnICksSyhLTXQsJ2YnKSwKLSAgSyhLTXQsJ2cnKSxLKEtNdCwnaCcpLEsoS010LCdqJyksSyhLTXQsJ2snICksSyhLTXQsJ2wnKSxLKEtNdCwnOycpLEsoS010LCdcJycpLEsoS010LDEzICksCi0gIEtQQURBXzQgICAsS1BBREFfNSAgICxLUEFEQV82ICAgLEtQQURfUEwgICAgLEtTSElGVCAgICAsS0lHTk9SRSAgICxLKEtNdCwneicgKSxLKEtNdCwneCcpLAotICBLKEtNdCwnYycpLEsoS010LCd2JyksSyhLTXQsJ2InKSxLKEtNdCwnbicgKSxLKEtNdCwnbScpLEsoS010LCcsJyksSyhLTXQsJy4nICksS0lHTk9SRSAgICwKLSAgS1NISUZUICAgICxLKEtUYyxLY3UpLEtQQURBXzEgICAsS1BBREFfMiAgICAsS1BBREFfMyAgICxLQ0FQU0xLICAgLEtBTFQgICAgICAgLEsoS010LCcgJyksCi0gIEtBTFRHUiAgICAsS0NUUkwgICAgICxDT05TX0RFQyAgLEsoS1RjLEtjZCApLENPTlNfSU5DICAsS1BBREFfMCAgICxLUEFEX0RUICAgICxLUEFEX0VOICAgLAotICBLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgICxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICwKLSAgS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAgLEtJR05PUkUgICAsCi0gIEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgICxLSUdOT1JFICAgLAotfTsKLQotdV9zaG9ydCBjdHJsX2FsdF9tYXBbTlJfS0VZU109Ci17Ci0gIEtJR05PUkUgICAsSyhLQ24sIDAgKSxLKEtDbiwgMSApLEsoS0NuLCAyICApLEsoS0NuLCAzICksSyhLQ24sIDQgKSxLKEtDbiwgNSAgKSxLKEtDbiwgNiApLAotICBLKEtDbiwgNyApLEsoS0NuLCA4ICksSyhLQ24sIDkgKSxLKEtDbiwxMCAgKSxLKEtDbiwxMSApLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lOVFIgICAgICwKLSAgS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAgLEtJR05PUkUgICAsCi0gIEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgICxLKEtUZiwyMSApLAotICBLKEtUZiwyMCApLEsoS1RmLDI0ICksS05VTUxLICAgICxLUEFEX0RWICAgICxLUEFEX01MICAgLEtQQURfSFMgICAsS0lHTk9SRSAgICAsSyhLTXQsMTcgKSwKLSAgSyhLTXQsMjMgKSxLKEtNdCwgNSApLEsoS010LDE4ICksSyhLTXQsMjAgICksSyhLTXQsMjUgKSxLKEtNdCwyMSApLEsoS010LCA5ICApLEsoS010LDE1ICksCi0gIEsoS010LDE2ICksS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAgLEtSRUJPT1QgICAsSyhLVGYsMjMgKSxLKEtUZiwyNSAgKSxLUEFEXzcgICAgLAotICBLUEFEXzggICAgLEtQQURfOSAgICAsS1BBRF9NSSAgICxLQ1RSTCAgICAgICxLKEtNdCwgMSApLEsoS010LDE5ICksSyhLTXQsIDQgICksSyhLTXQsIDYgKSwKLSAgSyhLTXQsIDcgKSxLKEtNdCwgOCApLEsoS010LDEwICksSyhLTXQsMTEgICksSyhLTXQsMTIgKSxLSUdOT1JFICAgLEtJR05PUkUgICAgLEtFTlRFUiAgICAsCi0gIEtQQURfNCAgICAsS1BBRF81ICAgICxLUEFEXzYgICAgLEtQQURfUEwgICAgLEtTSElGVCAgICAsS0lHTk9SRSAgICxLKEtNdCwyNiAgKSxLKEtNdCwyNCApLAotICBLKEtNdCwgMyApLEsoS010LDIyICksSyhLTXQsIDIgKSxLKEtNdCwxNCAgKSxLKEtNdCwxMyApLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICwKLSAgS1NISUZUICAgICxLKEtUYyxLY3UpLEtQQURfMSAgICAsS1BBRF8yICAgICAsS1BBRF8zICAgICxLQ0FQU0xLICAgLEtBTFQgICAgICAgLEtJR05PUkUgICAsCi0gIEtBTFRHUiAgICAsS0NUUkwgICAgICxLKEtUYyxLY2wpLEsoS1RjLEtjZCApLEsoS1RjLEtjciksS1BBRF8wICAgICxLUkVCT09UICAgICxLUEFEX0VOICAgLAotICBLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgICxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICwKLSAgS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAgLEtJR05PUkUgICAsCi0gIEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgICxLSUdOT1JFICAgLAotfTsKLQotdXNob3J0ICprZXlfbWFwc1tNQVhfTlJfS0VZTUFQU10gPSB7Ci0JcGxhaW5fbWFwLCBzaGlmdF9tYXAsIGFsdGdyX21hcCwgMCwKLQljdHJsX21hcCwgc2hpZnRfY3RybF9tYXAsIDAsIDAsCi0JYWx0X21hcCwgMCwgMCwgMCwKLQljdHJsX2FsdF9tYXAsCTAKLX07Ci0KLXVuc2lnbmVkIGludCBrZXltYXBfY291bnQgPSA3OwotCi0vKgotICogUGhpbG9zb3BoeTogbW9zdCBwZW9wbGUgZG8gbm90IGRlZmluZSBtb3JlIHN0cmluZ3MsIGJ1dCB0aGV5IHdobyBkbwotICogb2Z0ZW4gd2FudCBxdWl0ZSBhIGxvdCBvZiBzdHJpbmcgc3BhY2UuIFNvLCB3ZSBzdGF0aWNhbGx5IGFsbG9jYXRlCi0gKiB0aGUgZGVmYXVsdCBhbmQgYWxsb2NhdGUgZHluYW1pY2FsbHkgaW4gY2h1bmtzIG9mIDUxMiBieXRlcy4KLSAqLwotCi1jaGFyIGZ1bmNfYnVmW10gPSB7Ci0JJ1wwMzMnLCAnWycsICdbJywgJ0EnLCAwLAotCSdcMDMzJywgJ1snLCAnWycsICdCJywgMCwKLQknXDAzMycsICdbJywgJ1snLCAnQycsIDAsCi0JJ1wwMzMnLCAnWycsICdbJywgJ0QnLCAwLAotCSdcMDMzJywgJ1snLCAnWycsICdFJywgMCwKLQknXDAzMycsICdbJywgJzEnLCAnNycsICd+JywgMCwKLQknXDAzMycsICdbJywgJzEnLCAnOCcsICd+JywgMCwKLQknXDAzMycsICdbJywgJzEnLCAnOScsICd+JywgMCwKLQknXDAzMycsICdbJywgJzInLCAnMCcsICd+JywgMCwKLQknXDAzMycsICdbJywgJzInLCAnMScsICd+JywgMCwKLQknXDAzMycsICdbJywgJzInLCAnMycsICd+JywgMCwKLQknXDAzMycsICdbJywgJzInLCAnNCcsICd+JywgMCwKLQknXDAzMycsICdbJywgJzInLCAnNScsICd+JywgMCwKLQknXDAzMycsICdbJywgJzInLCAnNicsICd+JywgMCwKLQknXDAzMycsICdbJywgJzInLCAnOCcsICd+JywgMCwKLQknXDAzMycsICdbJywgJzInLCAnOScsICd+JywgMCwKLQknXDAzMycsICdbJywgJzMnLCAnMScsICd+JywgMCwKLQknXDAzMycsICdbJywgJzMnLCAnMicsICd+JywgMCwKLQknXDAzMycsICdbJywgJzMnLCAnMycsICd+JywgMCwKLQknXDAzMycsICdbJywgJzMnLCAnNCcsICd+JywgMCwKLQknXDAzMycsICdbJywgJzEnLCAnficsIDAsCi0JJ1wwMzMnLCAnWycsICcyJywgJ34nLCAwLAotCSdcMDMzJywgJ1snLCAnMycsICd+JywgMCwKLQknXDAzMycsICdbJywgJzQnLCAnficsIDAsCi0JJ1wwMzMnLCAnWycsICc1JywgJ34nLCAwLAotCSdcMDMzJywgJ1snLCAnNicsICd+JywgMCwKLQknXDAzMycsICdbJywgJ00nLCAwLAotCSdcMDMzJywgJ1snLCAnUCcsIDAsCi19OwotCi1jaGFyICpmdW5jYnVmcHRyID0gZnVuY19idWY7Ci1pbnQgZnVuY2J1ZnNpemUgPSBzaXplb2YoZnVuY19idWYpOwotaW50IGZ1bmNidWZsZWZ0ID0gMDsgICAgICAgICAgLyogc3BhY2UgbGVmdCAqLwotCi1jaGFyICpmdW5jX3RhYmxlW01BWF9OUl9GVU5DXSA9IHsKLQlmdW5jX2J1ZiArIDAsCi0JZnVuY19idWYgKyA1LAotCWZ1bmNfYnVmICsgMTAsCi0JZnVuY19idWYgKyAxNSwKLQlmdW5jX2J1ZiArIDIwLAotCWZ1bmNfYnVmICsgMjUsCi0JZnVuY19idWYgKyAzMSwKLQlmdW5jX2J1ZiArIDM3LAotCWZ1bmNfYnVmICsgNDMsCi0JZnVuY19idWYgKyA0OSwKLQlmdW5jX2J1ZiArIDU1LAotCWZ1bmNfYnVmICsgNjEsCi0JZnVuY19idWYgKyA2NywKLQlmdW5jX2J1ZiArIDczLAotCWZ1bmNfYnVmICsgNzksCi0JZnVuY19idWYgKyA4NSwKLQlmdW5jX2J1ZiArIDkxLAotCWZ1bmNfYnVmICsgOTcsCi0JZnVuY19idWYgKyAxMDMsCi0JZnVuY19idWYgKyAxMDksCi0JZnVuY19idWYgKyAxMTUsCi0JZnVuY19idWYgKyAxMjAsCi0JZnVuY19idWYgKyAxMjUsCi0JZnVuY19idWYgKyAxMzAsCi0JZnVuY19idWYgKyAxMzUsCi0JZnVuY19idWYgKyAxNDAsCi0JZnVuY19idWYgKyAxNDUsCi0JMCwKLQkwLAotCWZ1bmNfYnVmICsgMTQ5LAotCTAsCi19OwotCi1zdHJ1Y3Qga2JkaWFjcnVjIGFjY2VudF90YWJsZVtNQVhfRElBQ1JdID0gewotCXsnYCcsICdBJywgMDMwMH0sCXsnYCcsICdhJywgMDM0MH0sCi0JeydcJycsICdBJywgMDMwMX0sCXsnXCcnLCAnYScsIDAzNDF9LAotCXsnXicsICdBJywgMDMwMn0sCXsnXicsICdhJywgMDM0Mn0sCi0Jeyd+JywgJ0EnLCAwMzAzfSwJeyd+JywgJ2EnLCAwMzQzfSwKLQl7JyInLCAnQScsIDAzMDR9LAl7JyInLCAnYScsIDAzNDR9LAotCXsnTycsICdBJywgMDMwNX0sCXsnbycsICdhJywgMDM0NX0sCi0JeycwJywgJ0EnLCAwMzA1fSwJeycwJywgJ2EnLCAwMzQ1fSwKLQl7J0EnLCAnQScsIDAzMDV9LAl7J2EnLCAnYScsIDAzNDV9LAotCXsnQScsICdFJywgMDMwNn0sCXsnYScsICdlJywgMDM0Nn0sCi0JeycsJywgJ0MnLCAwMzA3fSwJeycsJywgJ2MnLCAwMzQ3fSwKLQl7J2AnLCAnRScsIDAzMTB9LAl7J2AnLCAnZScsIDAzNTB9LAotCXsnXCcnLCAnRScsIDAzMTF9LAl7J1wnJywgJ2UnLCAwMzUxfSwKLQl7J14nLCAnRScsIDAzMTJ9LAl7J14nLCAnZScsIDAzNTJ9LAotCXsnIicsICdFJywgMDMxM30sCXsnIicsICdlJywgMDM1M30sCi0JeydgJywgJ0knLCAwMzE0fSwJeydgJywgJ2knLCAwMzU0fSwKLQl7J1wnJywgJ0knLCAwMzE1fSwJeydcJycsICdpJywgMDM1NX0sCi0JeydeJywgJ0knLCAwMzE2fSwJeydeJywgJ2knLCAwMzU2fSwKLQl7JyInLCAnSScsIDAzMTd9LAl7JyInLCAnaScsIDAzNTd9LAotCXsnLScsICdEJywgMDMyMH0sCXsnLScsICdkJywgMDM2MH0sCi0Jeyd+JywgJ04nLCAwMzIxfSwJeyd+JywgJ24nLCAwMzYxfSwKLQl7J2AnLCAnTycsIDAzMjJ9LAl7J2AnLCAnbycsIDAzNjJ9LAotCXsnXCcnLCAnTycsIDAzMjN9LAl7J1wnJywgJ28nLCAwMzYzfSwKLQl7J14nLCAnTycsIDAzMjR9LAl7J14nLCAnbycsIDAzNjR9LAotCXsnficsICdPJywgMDMyNX0sCXsnficsICdvJywgMDM2NX0sCi0JeyciJywgJ08nLCAwMzI2fSwJeyciJywgJ28nLCAwMzY2fSwKLQl7Jy8nLCAnTycsIDAzMzB9LAl7Jy8nLCAnbycsIDAzNzB9LAotCXsnYCcsICdVJywgMDMzMX0sCXsnYCcsICd1JywgMDM3MX0sCi0JeydcJycsICdVJywgMDMzMn0sCXsnXCcnLCAndScsIDAzNzJ9LAotCXsnXicsICdVJywgMDMzM30sCXsnXicsICd1JywgMDM3M30sCi0JeyciJywgJ1UnLCAwMzM0fSwJeyciJywgJ3UnLCAwMzc0fSwKLQl7J1wnJywgJ1knLCAwMzM1fSwJeydcJycsICd5JywgMDM3NX0sCi0JeydUJywgJ0gnLCAwMzM2fSwJeyd0JywgJ2gnLCAwMzc2fSwKLQl7J3MnLCAncycsIDAzMzd9LAl7JyInLCAneScsIDAzNzd9LAotCXsncycsICd6JywgMDMzN30sCXsnaScsICdqJywgMDM3N30sCi19OwotCi11bnNpZ25lZCBpbnQgYWNjZW50X3RhYmxlX3NpemUgPSA2ODsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvYWNwaS9LY29uZmlnIGIvZHJpdmVycy9hY3BpL0tjb25maWcKaW5kZXggYzUyZmNhOC4uYmJhODY3MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9hY3BpL0tjb25maWcKKysrIGIvZHJpdmVycy9hY3BpL0tjb25maWcKQEAgLTQsOCArNCw2IEBACiAKIG1lbnVjb25maWcgQUNQSQogCWJvb2wgIkFDUEkgKEFkdmFuY2VkIENvbmZpZ3VyYXRpb24gYW5kIFBvd2VyIEludGVyZmFjZSkgU3VwcG9ydCIKLQlkZXBlbmRzIG9uICFYODZfTlVNQVEKLQlkZXBlbmRzIG9uICFYODZfVklTV1MKIAlkZXBlbmRzIG9uICFJQTY0X0hQX1NJTQogCWRlcGVuZHMgb24gSUE2NCB8fCBYODYKIAlkZXBlbmRzIG9uIFBDSQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9hY3BpL3Byb2Nlc3Nvcl9pZGxlLmMgYi9kcml2ZXJzL2FjcGkvcHJvY2Vzc29yX2lkbGUuYwppbmRleCA1NTZlZTE1Li40OTc2ZTVkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2FjcGkvcHJvY2Vzc29yX2lkbGUuYworKysgYi9kcml2ZXJzL2FjcGkvcHJvY2Vzc29yX2lkbGUuYwpAQCAtMTMzOSw3ICsxMzM5LDcgQEAKIHN0YXRpYyBpbnQgYWNwaV9wcm9jZXNzb3JfbGF0ZW5jeV9ub3RpZnkoc3RydWN0IG5vdGlmaWVyX2Jsb2NrICpiLAogCQl1bnNpZ25lZCBsb25nIGwsIHZvaWQgKnYpCiB7Ci0Jc21wX2NhbGxfZnVuY3Rpb24oc21wX2NhbGxiYWNrLCBOVUxMLCAwLCAxKTsKKwlzbXBfY2FsbF9mdW5jdGlvbihzbXBfY2FsbGJhY2ssIE5VTEwsIDEpOwogCXJldHVybiBOT1RJRllfT0s7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvYXRhL2FoY2kuYyBiL2RyaXZlcnMvYXRhL2FoY2kuYwppbmRleCA1ZTY0NjhhLi5kYzc1OTZmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2F0YS9haGNpLmMKKysrIGIvZHJpdmVycy9hdGEvYWhjaS5jCkBAIC01Niw2ICs1NiwxMiBAQAogc3RhdGljIGludCBhaGNpX2VuYWJsZV9hbHBtKHN0cnVjdCBhdGFfcG9ydCAqYXAsCiAJCWVudW0gbGlua19wbSBwb2xpY3kpOwogc3RhdGljIHZvaWQgYWhjaV9kaXNhYmxlX2FscG0oc3RydWN0IGF0YV9wb3J0ICphcCk7CitzdGF0aWMgc3NpemVfdCBhaGNpX2xlZF9zaG93KHN0cnVjdCBhdGFfcG9ydCAqYXAsIGNoYXIgKmJ1Zik7CitzdGF0aWMgc3NpemVfdCBhaGNpX2xlZF9zdG9yZShzdHJ1Y3QgYXRhX3BvcnQgKmFwLCBjb25zdCBjaGFyICpidWYsCisJCQkgICAgICBzaXplX3Qgc2l6ZSk7CitzdGF0aWMgc3NpemVfdCBhaGNpX3RyYW5zbWl0X2xlZF9tZXNzYWdlKHN0cnVjdCBhdGFfcG9ydCAqYXAsIHUzMiBzdGF0ZSwKKwkJCQkJc3NpemVfdCBzaXplKTsKKyNkZWZpbmUgTUFYX1NMT1RTIDgKIAogZW51bSB7CiAJQUhDSV9QQ0lfQkFSCQk9IDUsCkBAIC05OCw2ICsxMDQsOCBAQAogCUhPU1RfSVJRX1NUQVQJCT0gMHgwOCwgLyogaW50ZXJydXB0IHN0YXR1cyAqLwogCUhPU1RfUE9SVFNfSU1QTAkJPSAweDBjLCAvKiBiaXRtYXAgb2YgaW1wbGVtZW50ZWQgcG9ydHMgKi8KIAlIT1NUX1ZFUlNJT04JCT0gMHgxMCwgLyogQUhDSSBzcGVjLiB2ZXJzaW9uIGNvbXBsaWFuY3kgKi8KKwlIT1NUX0VNX0xPQwkJPSAweDFjLCAvKiBFbmNsb3N1cmUgTWFuYWdlbWVudCBsb2NhdGlvbiAqLworCUhPU1RfRU1fQ1RMCQk9IDB4MjAsIC8qIEVuY2xvc3VyZSBNYW5hZ2VtZW50IENvbnRyb2wgKi8KIAogCS8qIEhPU1RfQ1RMIGJpdHMgKi8KIAlIT1NUX1JFU0VUCQk9ICgxIDw8IDApLCAgLyogcmVzZXQgY29udHJvbGxlcjsgc2VsZi1jbGVhciAqLwpAQCAtMTA1LDYgKzExMyw3IEBACiAJSE9TVF9BSENJX0VOCQk9ICgxIDw8IDMxKSwgLyogQUhDSSBlbmFibGVkICovCiAKIAkvKiBIT1NUX0NBUCBiaXRzICovCisJSE9TVF9DQVBfRU1TCQk9ICgxIDw8IDYpLCAgLyogRW5jbG9zdXJlIE1hbmFnZW1lbnQgc3VwcG9ydCAqLwogCUhPU1RfQ0FQX1NTQwkJPSAoMSA8PCAxNCksIC8qIFNsdW1iZXIgY2FwYWJsZSAqLwogCUhPU1RfQ0FQX1BNUAkJPSAoMSA8PCAxNyksIC8qIFBvcnQgTXVsdGlwbGllciBzdXBwb3J0ICovCiAJSE9TVF9DQVBfQ0xPCQk9ICgxIDw8IDI0KSwgLyogQ29tbWFuZCBMaXN0IE92ZXJyaWRlIHN1cHBvcnQgKi8KQEAgLTIwMiw2ICsyMTEsMTEgQEAKIAkJCQkJICBBVEFfRkxBR19JUE0sCiAKIAlJQ0hfTUFQCQkJCT0gMHg5MCwgLyogSUNIIE1BUCByZWdpc3RlciAqLworCisJLyogZW1fY3RsIGJpdHMgKi8KKwlFTV9DVExfUlNUCQkJPSAoMSA8PCA5KSwgLyogUmVzZXQgKi8KKwlFTV9DVExfVE0JCQk9ICgxIDw8IDgpLCAvKiBUcmFuc21pdCBNZXNzYWdlICovCisJRU1fQ1RMX0FMSEQJCQk9ICgxIDw8IDI2KSwgLyogQWN0aXZpdHkgTEVEICovCiB9OwogCiBzdHJ1Y3QgYWhjaV9jbWRfaGRyIHsKQEAgLTIxOSwxMiArMjMzLDIxIEBACiAJX19sZTMyCQkJZmxhZ3Nfc2l6ZTsKIH07CiAKK3N0cnVjdCBhaGNpX2VtX3ByaXYgeworCWVudW0gc3dfYWN0aXZpdHkgYmxpbmtfcG9saWN5OworCXN0cnVjdCB0aW1lcl9saXN0IHRpbWVyOworCXVuc2lnbmVkIGxvbmcgc2F2ZWRfYWN0aXZpdHk7CisJdW5zaWduZWQgbG9uZyBhY3Rpdml0eTsKKwl1bnNpZ25lZCBsb25nIGxlZF9zdGF0ZTsKK307CisKIHN0cnVjdCBhaGNpX2hvc3RfcHJpdiB7CiAJdW5zaWduZWQgaW50CQlmbGFnczsJCS8qIEFIQ0lfSEZMQUdfKiAqLwogCXUzMgkJCWNhcDsJCS8qIGNhcCB0byB1c2UgKi8KIAl1MzIJCQlwb3J0X21hcDsJLyogcG9ydCBtYXAgdG8gdXNlICovCiAJdTMyCQkJc2F2ZWRfY2FwOwkvKiBzYXZlZCBpbml0aWFsIGNhcCAqLwogCXUzMgkJCXNhdmVkX3BvcnRfbWFwOwkvKiBzYXZlZCBpbml0aWFsIHBvcnRfbWFwICovCisJdTMyIAkJCWVtX2xvYzsgLyogZW5jbG9zdXJlIG1hbmFnZW1lbnQgbG9jYXRpb24gKi8KIH07CiAKIHN0cnVjdCBhaGNpX3BvcnRfcHJpdiB7CkBAIC0yNDAsNiArMjYzLDggQEAKIAl1bnNpZ25lZCBpbnQJCW5jcV9zYXdfZG1hczoxOwogCXVuc2lnbmVkIGludAkJbmNxX3Nhd19zZGI6MTsKIAl1MzIgCQkJaW50cl9tYXNrOwkvKiBpbnRlcnJ1cHRzIHRvIGVuYWJsZSAqLworCXN0cnVjdCBhaGNpX2VtX3ByaXYJZW1fcHJpdltNQVhfU0xPVFNdOy8qIGVuY2xvc3VyZSBtYW5hZ2VtZW50IGluZm8KKwkJCQkJIAkgKiBwZXIgUE0gc2xvdCAqLwogfTsKIAogc3RhdGljIGludCBhaGNpX3Njcl9yZWFkKHN0cnVjdCBhdGFfcG9ydCAqYXAsIHVuc2lnbmVkIGludCBzY19yZWcsIHUzMiAqdmFsKTsKQEAgLTI3Nyw5ICszMDIsMjAgQEAKIHN0YXRpYyBpbnQgYWhjaV9wY2lfZGV2aWNlX3N1c3BlbmQoc3RydWN0IHBjaV9kZXYgKnBkZXYsIHBtX21lc3NhZ2VfdCBtZXNnKTsKIHN0YXRpYyBpbnQgYWhjaV9wY2lfZGV2aWNlX3Jlc3VtZShzdHJ1Y3QgcGNpX2RldiAqcGRldik7CiAjZW5kaWYKK3N0YXRpYyBzc2l6ZV90IGFoY2lfYWN0aXZpdHlfc2hvdyhzdHJ1Y3QgYXRhX2RldmljZSAqZGV2LCBjaGFyICpidWYpOworc3RhdGljIHNzaXplX3QgYWhjaV9hY3Rpdml0eV9zdG9yZShzdHJ1Y3QgYXRhX2RldmljZSAqZGV2LAorCQkJCSAgIGVudW0gc3dfYWN0aXZpdHkgdmFsKTsKK3N0YXRpYyB2b2lkIGFoY2lfaW5pdF9zd19hY3Rpdml0eShzdHJ1Y3QgYXRhX2xpbmsgKmxpbmspOwogCiBzdGF0aWMgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmFoY2lfc2hvc3RfYXR0cnNbXSA9IHsKIAkmZGV2X2F0dHJfbGlua19wb3dlcl9tYW5hZ2VtZW50X3BvbGljeSwKKwkmZGV2X2F0dHJfZW1fbWVzc2FnZV90eXBlLAorCSZkZXZfYXR0cl9lbV9tZXNzYWdlLAorCU5VTEwKK307CisKK3N0YXRpYyBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYWhjaV9zZGV2X2F0dHJzW10gPSB7CisJJmRldl9hdHRyX3N3X2FjdGl2aXR5LAogCU5VTEwKIH07CiAKQEAgLTI4OSw2ICszMjUsNyBAQAogCS5zZ190YWJsZXNpemUJCT0gQUhDSV9NQVhfU0csCiAJLmRtYV9ib3VuZGFyeQkJPSBBSENJX0RNQV9CT1VOREFSWSwKIAkuc2hvc3RfYXR0cnMJCT0gYWhjaV9zaG9zdF9hdHRycywKKwkuc2Rldl9hdHRycwkJPSBhaGNpX3NkZXZfYXR0cnMsCiB9OwogCiBzdGF0aWMgc3RydWN0IGF0YV9wb3J0X29wZXJhdGlvbnMgYWhjaV9vcHMgPSB7CkBAIC0zMTYsNiArMzUzLDEwIEBACiAKIAkuZW5hYmxlX3BtCQk9IGFoY2lfZW5hYmxlX2FscG0sCiAJLmRpc2FibGVfcG0JCT0gYWhjaV9kaXNhYmxlX2FscG0sCisJLmVtX3Nob3cJCT0gYWhjaV9sZWRfc2hvdywKKwkuZW1fc3RvcmUJCT0gYWhjaV9sZWRfc3RvcmUsCisJLnN3X2FjdGl2aXR5X3Nob3cJPSBhaGNpX2FjdGl2aXR5X3Nob3csCisJLnN3X2FjdGl2aXR5X3N0b3JlCT0gYWhjaV9hY3Rpdml0eV9zdG9yZSwKICNpZmRlZiBDT05GSUdfUE0KIAkucG9ydF9zdXNwZW5kCQk9IGFoY2lfcG9ydF9zdXNwZW5kLAogCS5wb3J0X3Jlc3VtZQkJPSBhaGNpX3BvcnRfcmVzdW1lLApAQCAtNTYxLDYgKzYwMiwxMSBAQAogI2VuZGlmCiB9OwogCitzdGF0aWMgaW50IGFoY2lfZW1fbWVzc2FnZXMgPSAxOworbW9kdWxlX3BhcmFtKGFoY2lfZW1fbWVzc2FnZXMsIGludCwgMDQ0NCk7CisvKiBhZGQgb3RoZXIgTEVEIHByb3RvY29sIHR5cGVzIHdoZW4gdGhleSBiZWNvbWUgc3VwcG9ydGVkICovCitNT0RVTEVfUEFSTV9ERVNDKGFoY2lfZW1fbWVzc2FnZXMsCisJIlNldCBBSENJIEVuY2xvc3VyZSBNYW5hZ2VtZW50IE1lc3NhZ2UgdHlwZSAoMCA9IGRpc2FibGVkLCAxID0gTEVEIik7CiAKIHN0YXRpYyBpbmxpbmUgaW50IGFoY2lfbnJfcG9ydHModTMyIGNhcCkKIHsKQEAgLTEwMzEsMTEgKzEwNzcsMjggQEAKIAogc3RhdGljIHZvaWQgYWhjaV9zdGFydF9wb3J0KHN0cnVjdCBhdGFfcG9ydCAqYXApCiB7CisJc3RydWN0IGFoY2lfcG9ydF9wcml2ICpwcCA9IGFwLT5wcml2YXRlX2RhdGE7CisJc3RydWN0IGF0YV9saW5rICpsaW5rOworCXN0cnVjdCBhaGNpX2VtX3ByaXYgKmVtcDsKKwogCS8qIGVuYWJsZSBGSVMgcmVjZXB0aW9uICovCiAJYWhjaV9zdGFydF9maXNfcngoYXApOwogCiAJLyogZW5hYmxlIERNQSAqLwogCWFoY2lfc3RhcnRfZW5naW5lKGFwKTsKKworCS8qIHR1cm4gb24gTEVEcyAqLworCWlmIChhcC0+ZmxhZ3MgJiBBVEFfRkxBR19FTSkgeworCQlhdGFfcG9ydF9mb3JfZWFjaF9saW5rKGxpbmssIGFwKSB7CisJCQllbXAgPSAmcHAtPmVtX3ByaXZbbGluay0+cG1wXTsKKwkJCWFoY2lfdHJhbnNtaXRfbGVkX21lc3NhZ2UoYXAsIGVtcC0+bGVkX3N0YXRlLCA0KTsKKwkJfQorCX0KKworCWlmIChhcC0+ZmxhZ3MgJiBBVEFfRkxBR19TV19BQ1RJVklUWSkKKwkJYXRhX3BvcnRfZm9yX2VhY2hfbGluayhsaW5rLCBhcCkKKwkJCWFoY2lfaW5pdF9zd19hY3Rpdml0eShsaW5rKTsKKwogfQogCiBzdGF0aWMgaW50IGFoY2lfZGVpbml0X3BvcnQoc3RydWN0IGF0YV9wb3J0ICphcCwgY29uc3QgY2hhciAqKmVtc2cpCkBAIC0xMDc5LDEyICsxMTQyLDE1IEBACiAJCQlyZWFkbChtbWlvICsgSE9TVF9DVEwpOyAvKiBmbHVzaCAqLwogCQl9CiAKLQkJLyogcmVzZXQgbXVzdCBjb21wbGV0ZSB3aXRoaW4gMSBzZWNvbmQsIG9yCisJCS8qCisJCSAqIHRvIHBlcmZvcm0gaG9zdCByZXNldCwgT1Mgc2hvdWxkIHNldCBIT1NUX1JFU0VUCisJCSAqIGFuZCBwb2xsIHVudGlsIHRoaXMgYml0IGlzIHJlYWQgdG8gYmUgIjAiLgorCQkgKiByZXNldCBtdXN0IGNvbXBsZXRlIHdpdGhpbiAxIHNlY29uZCwgb3IKIAkJICogdGhlIGhhcmR3YXJlIHNob3VsZCBiZSBjb25zaWRlcmVkIGZyaWVkLgogCQkgKi8KLQkJc3NsZWVwKDEpOworCQl0bXAgPSBhdGFfd2FpdF9yZWdpc3RlcihtbWlvICsgSE9TVF9DVEwsIEhPU1RfUkVTRVQsCisJCQkJCUhPU1RfUkVTRVQsIDEwLCAxMDAwKTsKIAotCQl0bXAgPSByZWFkbChtbWlvICsgSE9TVF9DVEwpOwogCQlpZiAodG1wICYgSE9TVF9SRVNFVCkgewogCQkJZGV2X3ByaW50ayhLRVJOX0VSUiwgaG9zdC0+ZGV2LAogCQkJCSAgICJjb250cm9sbGVyIHJlc2V0IGZhaWxlZCAoMHgleClcbiIsIHRtcCk7CkBAIC0xMTE2LDYgKzExODIsMjMwIEBACiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyB2b2lkIGFoY2lfc3dfYWN0aXZpdHkoc3RydWN0IGF0YV9saW5rICpsaW5rKQoreworCXN0cnVjdCBhdGFfcG9ydCAqYXAgPSBsaW5rLT5hcDsKKwlzdHJ1Y3QgYWhjaV9wb3J0X3ByaXYgKnBwID0gYXAtPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3QgYWhjaV9lbV9wcml2ICplbXAgPSAmcHAtPmVtX3ByaXZbbGluay0+cG1wXTsKKworCWlmICghKGxpbmstPmZsYWdzICYgQVRBX0xGTEFHX1NXX0FDVElWSVRZKSkKKwkJcmV0dXJuOworCisJZW1wLT5hY3Rpdml0eSsrOworCWlmICghdGltZXJfcGVuZGluZygmZW1wLT50aW1lcikpCisJCW1vZF90aW1lcigmZW1wLT50aW1lciwgamlmZmllcyArIG1zZWNzX3RvX2ppZmZpZXMoMTApKTsKK30KKworc3RhdGljIHZvaWQgYWhjaV9zd19hY3Rpdml0eV9ibGluayh1bnNpZ25lZCBsb25nIGFyZykKK3sKKwlzdHJ1Y3QgYXRhX2xpbmsgKmxpbmsgPSAoc3RydWN0IGF0YV9saW5rICopYXJnOworCXN0cnVjdCBhdGFfcG9ydCAqYXAgPSBsaW5rLT5hcDsKKwlzdHJ1Y3QgYWhjaV9wb3J0X3ByaXYgKnBwID0gYXAtPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3QgYWhjaV9lbV9wcml2ICplbXAgPSAmcHAtPmVtX3ByaXZbbGluay0+cG1wXTsKKwl1bnNpZ25lZCBsb25nIGxlZF9tZXNzYWdlID0gZW1wLT5sZWRfc3RhdGU7CisJdTMyIGFjdGl2aXR5X2xlZF9zdGF0ZTsKKworCWxlZF9tZXNzYWdlICY9IDB4ZmZmZjAwMDA7CisJbGVkX21lc3NhZ2UgfD0gYXAtPnBvcnRfbm8gfCAobGluay0+cG1wIDw8IDgpOworCisJLyogY2hlY2sgdG8gc2VlIGlmIHdlJ3ZlIGhhZCBhY3Rpdml0eS4gIElmIHNvLAorCSAqIHRvZ2dsZSBzdGF0ZSBvZiBMRUQgYW5kIHJlc2V0IHRpbWVyLiAgSWYgbm90LAorCSAqIHR1cm4gTEVEIHRvIGRlc2lyZWQgaWRsZSBzdGF0ZS4KKwkgKi8KKwlpZiAoZW1wLT5zYXZlZF9hY3Rpdml0eSAhPSBlbXAtPmFjdGl2aXR5KSB7CisJCWVtcC0+c2F2ZWRfYWN0aXZpdHkgPSBlbXAtPmFjdGl2aXR5OworCQkvKiBnZXQgdGhlIGN1cnJlbnQgTEVEIHN0YXRlICovCisJCWFjdGl2aXR5X2xlZF9zdGF0ZSA9IGxlZF9tZXNzYWdlICYgMHgwMDAxMDAwMDsKKworCQlpZiAoYWN0aXZpdHlfbGVkX3N0YXRlKQorCQkJYWN0aXZpdHlfbGVkX3N0YXRlID0gMDsKKwkJZWxzZQorCQkJYWN0aXZpdHlfbGVkX3N0YXRlID0gMTsKKworCQkvKiBjbGVhciBvbGQgc3RhdGUgKi8KKwkJbGVkX21lc3NhZ2UgJj0gMHhmZmY4ZmZmZjsKKworCQkvKiB0b2dnbGUgc3RhdGUgKi8KKwkJbGVkX21lc3NhZ2UgfD0gKGFjdGl2aXR5X2xlZF9zdGF0ZSA8PCAxNik7CisJCW1vZF90aW1lcigmZW1wLT50aW1lciwgamlmZmllcyArIG1zZWNzX3RvX2ppZmZpZXMoMTAwKSk7CisJfSBlbHNlIHsKKwkJLyogc3dpdGNoIHRvIGlkbGUgKi8KKwkJbGVkX21lc3NhZ2UgJj0gMHhmZmY4ZmZmZjsKKwkJaWYgKGVtcC0+YmxpbmtfcG9saWN5ID09IEJMSU5LX09GRikKKwkJCWxlZF9tZXNzYWdlIHw9ICgxIDw8IDE2KTsKKwl9CisJYWhjaV90cmFuc21pdF9sZWRfbWVzc2FnZShhcCwgbGVkX21lc3NhZ2UsIDQpOworfQorCitzdGF0aWMgdm9pZCBhaGNpX2luaXRfc3dfYWN0aXZpdHkoc3RydWN0IGF0YV9saW5rICpsaW5rKQoreworCXN0cnVjdCBhdGFfcG9ydCAqYXAgPSBsaW5rLT5hcDsKKwlzdHJ1Y3QgYWhjaV9wb3J0X3ByaXYgKnBwID0gYXAtPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3QgYWhjaV9lbV9wcml2ICplbXAgPSAmcHAtPmVtX3ByaXZbbGluay0+cG1wXTsKKworCS8qIGluaXQgYWN0aXZpdHkgc3RhdHMsIHNldHVwIHRpbWVyICovCisJZW1wLT5zYXZlZF9hY3Rpdml0eSA9IGVtcC0+YWN0aXZpdHkgPSAwOworCXNldHVwX3RpbWVyKCZlbXAtPnRpbWVyLCBhaGNpX3N3X2FjdGl2aXR5X2JsaW5rLCAodW5zaWduZWQgbG9uZylsaW5rKTsKKworCS8qIGNoZWNrIG91ciBibGluayBwb2xpY3kgYW5kIHNldCBmbGFnIGZvciBsaW5rIGlmIGl0J3MgZW5hYmxlZCAqLworCWlmIChlbXAtPmJsaW5rX3BvbGljeSkKKwkJbGluay0+ZmxhZ3MgfD0gQVRBX0xGTEFHX1NXX0FDVElWSVRZOworfQorCitzdGF0aWMgaW50IGFoY2lfcmVzZXRfZW0oc3RydWN0IGF0YV9ob3N0ICpob3N0KQoreworCXZvaWQgX19pb21lbSAqbW1pbyA9IGhvc3QtPmlvbWFwW0FIQ0lfUENJX0JBUl07CisJdTMyIGVtX2N0bDsKKworCWVtX2N0bCA9IHJlYWRsKG1taW8gKyBIT1NUX0VNX0NUTCk7CisJaWYgKChlbV9jdGwgJiBFTV9DVExfVE0pIHx8IChlbV9jdGwgJiBFTV9DVExfUlNUKSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwl3cml0ZWwoZW1fY3RsIHwgRU1fQ1RMX1JTVCwgbW1pbyArIEhPU1RfRU1fQ1RMKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHNzaXplX3QgYWhjaV90cmFuc21pdF9sZWRfbWVzc2FnZShzdHJ1Y3QgYXRhX3BvcnQgKmFwLCB1MzIgc3RhdGUsCisJCQkJCXNzaXplX3Qgc2l6ZSkKK3sKKwlzdHJ1Y3QgYWhjaV9ob3N0X3ByaXYgKmhwcml2ID0gYXAtPmhvc3QtPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3QgYWhjaV9wb3J0X3ByaXYgKnBwID0gYXAtPnByaXZhdGVfZGF0YTsKKwl2b2lkIF9faW9tZW0gKm1taW8gPSBhcC0+aG9zdC0+aW9tYXBbQUhDSV9QQ0lfQkFSXTsKKwl1MzIgZW1fY3RsOworCXUzMiBtZXNzYWdlW10gPSB7MCwgMH07CisJdW5zaWduZWQgaW50IGZsYWdzOworCWludCBwbXA7CisJc3RydWN0IGFoY2lfZW1fcHJpdiAqZW1wOworCisJLyogZ2V0IHRoZSBzbG90IG51bWJlciBmcm9tIHRoZSBtZXNzYWdlICovCisJcG1wID0gKHN0YXRlICYgMHgwMDAwZmYwMCkgPj4gODsKKwlpZiAocG1wIDwgTUFYX1NMT1RTKQorCQllbXAgPSAmcHAtPmVtX3ByaXZbcG1wXTsKKwllbHNlCisJCXJldHVybiAtRUlOVkFMOworCisJc3Bpbl9sb2NrX2lycXNhdmUoYXAtPmxvY2ssIGZsYWdzKTsKKworCS8qCisJICogaWYgd2UgYXJlIHN0aWxsIGJ1c3kgdHJhbnNtaXR0aW5nIGEgcHJldmlvdXMgbWVzc2FnZSwKKwkgKiBkbyBub3QgYWxsb3cKKwkgKi8KKwllbV9jdGwgPSByZWFkbChtbWlvICsgSE9TVF9FTV9DVEwpOworCWlmIChlbV9jdGwgJiBFTV9DVExfVE0pIHsKKwkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZShhcC0+bG9jaywgZmxhZ3MpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwkvKgorCSAqIGNyZWF0ZSBtZXNzYWdlIGhlYWRlciAtIHRoaXMgaXMgYWxsIHplcm8gZXhjZXB0IGZvcgorCSAqIHRoZSBtZXNzYWdlIHNpemUsIHdoaWNoIGlzIDQgYnl0ZXMuCisJICovCisJbWVzc2FnZVswXSB8PSAoNCA8PCA4KTsKKworCS8qIGlnbm9yZSAwOjQgb2YgYnl0ZSB6ZXJvLCBmaWxsIGluIHBvcnQgaW5mbyB5b3Vyc2VsZiAqLworCW1lc3NhZ2VbMV0gPSAoKHN0YXRlICYgMHhmZmZmZmZmMCkgfCBhcC0+cG9ydF9ubyk7CisKKwkvKiB3cml0ZSBtZXNzYWdlIHRvIEVNX0xPQyAqLworCXdyaXRlbChtZXNzYWdlWzBdLCBtbWlvICsgaHByaXYtPmVtX2xvYyk7CisJd3JpdGVsKG1lc3NhZ2VbMV0sIG1taW8gKyBocHJpdi0+ZW1fbG9jKzQpOworCisJLyogc2F2ZSBvZmYgbmV3IGxlZCBzdGF0ZSBmb3IgcG9ydC9zbG90ICovCisJZW1wLT5sZWRfc3RhdGUgPSBtZXNzYWdlWzFdOworCisJLyoKKwkgKiB0ZWxsIGhhcmR3YXJlIHRvIHRyYW5zbWl0IHRoZSBtZXNzYWdlCisJICovCisJd3JpdGVsKGVtX2N0bCB8IEVNX0NUTF9UTSwgbW1pbyArIEhPU1RfRU1fQ1RMKTsKKworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoYXAtPmxvY2ssIGZsYWdzKTsKKwlyZXR1cm4gc2l6ZTsKK30KKworc3RhdGljIHNzaXplX3QgYWhjaV9sZWRfc2hvdyhzdHJ1Y3QgYXRhX3BvcnQgKmFwLCBjaGFyICpidWYpCit7CisJc3RydWN0IGFoY2lfcG9ydF9wcml2ICpwcCA9IGFwLT5wcml2YXRlX2RhdGE7CisJc3RydWN0IGF0YV9saW5rICpsaW5rOworCXN0cnVjdCBhaGNpX2VtX3ByaXYgKmVtcDsKKwlpbnQgcmMgPSAwOworCisJYXRhX3BvcnRfZm9yX2VhY2hfbGluayhsaW5rLCBhcCkgeworCQllbXAgPSAmcHAtPmVtX3ByaXZbbGluay0+cG1wXTsKKwkJcmMgKz0gc3ByaW50ZihidWYsICIlbHhcbiIsIGVtcC0+bGVkX3N0YXRlKTsKKwl9CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgc3NpemVfdCBhaGNpX2xlZF9zdG9yZShzdHJ1Y3QgYXRhX3BvcnQgKmFwLCBjb25zdCBjaGFyICpidWYsCisJCQkJc2l6ZV90IHNpemUpCit7CisJaW50IHN0YXRlOworCWludCBwbXA7CisJc3RydWN0IGFoY2lfcG9ydF9wcml2ICpwcCA9IGFwLT5wcml2YXRlX2RhdGE7CisJc3RydWN0IGFoY2lfZW1fcHJpdiAqZW1wOworCisJc3RhdGUgPSBzaW1wbGVfc3RydG91bChidWYsIE5VTEwsIDApOworCisJLyogZ2V0IHRoZSBzbG90IG51bWJlciBmcm9tIHRoZSBtZXNzYWdlICovCisJcG1wID0gKHN0YXRlICYgMHgwMDAwZmYwMCkgPj4gODsKKwlpZiAocG1wIDwgTUFYX1NMT1RTKQorCQllbXAgPSAmcHAtPmVtX3ByaXZbcG1wXTsKKwllbHNlCisJCXJldHVybiAtRUlOVkFMOworCisJLyogbWFzayBvZmYgdGhlIGFjdGl2aXR5IGJpdHMgaWYgd2UgYXJlIGluIHN3X2FjdGl2aXR5CisJICogbW9kZSwgdXNlciBzaG91bGQgdHVybiBvZmYgc3dfYWN0aXZpdHkgYmVmb3JlIHNldHRpbmcKKwkgKiBhY3Rpdml0eSBsZWQgdGhyb3VnaCBlbV9tZXNzYWdlCisJICovCisJaWYgKGVtcC0+YmxpbmtfcG9saWN5KQorCQlzdGF0ZSAmPSAweGZmZjhmZmZmOworCisJcmV0dXJuIGFoY2lfdHJhbnNtaXRfbGVkX21lc3NhZ2UoYXAsIHN0YXRlLCBzaXplKTsKK30KKworc3RhdGljIHNzaXplX3QgYWhjaV9hY3Rpdml0eV9zdG9yZShzdHJ1Y3QgYXRhX2RldmljZSAqZGV2LCBlbnVtIHN3X2FjdGl2aXR5IHZhbCkKK3sKKwlzdHJ1Y3QgYXRhX2xpbmsgKmxpbmsgPSBkZXYtPmxpbms7CisJc3RydWN0IGF0YV9wb3J0ICphcCA9IGxpbmstPmFwOworCXN0cnVjdCBhaGNpX3BvcnRfcHJpdiAqcHAgPSBhcC0+cHJpdmF0ZV9kYXRhOworCXN0cnVjdCBhaGNpX2VtX3ByaXYgKmVtcCA9ICZwcC0+ZW1fcHJpdltsaW5rLT5wbXBdOworCXUzMiBwb3J0X2xlZF9zdGF0ZSA9IGVtcC0+bGVkX3N0YXRlOworCisJLyogc2F2ZSB0aGUgZGVzaXJlZCBBY3Rpdml0eSBMRUQgYmVoYXZpb3IgKi8KKwlpZiAodmFsID09IE9GRikgeworCQkvKiBjbGVhciBMRkxBRyAqLworCQlsaW5rLT5mbGFncyAmPSB+KEFUQV9MRkxBR19TV19BQ1RJVklUWSk7CisKKwkJLyogc2V0IHRoZSBMRUQgdG8gT0ZGICovCisJCXBvcnRfbGVkX3N0YXRlICY9IDB4ZmZmODAwMDA7CisJCXBvcnRfbGVkX3N0YXRlIHw9IChhcC0+cG9ydF9ubyB8IChsaW5rLT5wbXAgPDwgOCkpOworCQlhaGNpX3RyYW5zbWl0X2xlZF9tZXNzYWdlKGFwLCBwb3J0X2xlZF9zdGF0ZSwgNCk7CisJfSBlbHNlIHsKKwkJbGluay0+ZmxhZ3MgfD0gQVRBX0xGTEFHX1NXX0FDVElWSVRZOworCQlpZiAodmFsID09IEJMSU5LX09GRikgeworCQkJLyogc2V0IExFRCB0byBPTiBmb3IgaWRsZSAqLworCQkJcG9ydF9sZWRfc3RhdGUgJj0gMHhmZmY4MDAwMDsKKwkJCXBvcnRfbGVkX3N0YXRlIHw9IChhcC0+cG9ydF9ubyB8IChsaW5rLT5wbXAgPDwgOCkpOworCQkJcG9ydF9sZWRfc3RhdGUgfD0gMHgwMDAxMDAwMDsgLyogY2hlY2sgdGhpcyAqLworCQkJYWhjaV90cmFuc21pdF9sZWRfbWVzc2FnZShhcCwgcG9ydF9sZWRfc3RhdGUsIDQpOworCQl9CisJfQorCWVtcC0+YmxpbmtfcG9saWN5ID0gdmFsOworCXJldHVybiAwOworfQorCitzdGF0aWMgc3NpemVfdCBhaGNpX2FjdGl2aXR5X3Nob3coc3RydWN0IGF0YV9kZXZpY2UgKmRldiwgY2hhciAqYnVmKQoreworCXN0cnVjdCBhdGFfbGluayAqbGluayA9IGRldi0+bGluazsKKwlzdHJ1Y3QgYXRhX3BvcnQgKmFwID0gbGluay0+YXA7CisJc3RydWN0IGFoY2lfcG9ydF9wcml2ICpwcCA9IGFwLT5wcml2YXRlX2RhdGE7CisJc3RydWN0IGFoY2lfZW1fcHJpdiAqZW1wID0gJnBwLT5lbV9wcml2W2xpbmstPnBtcF07CisKKwkvKiBkaXNwbGF5IHRoZSBzYXZlZCB2YWx1ZSBvZiBhY3Rpdml0eSBiZWhhdmlvciBmb3IgdGhpcworCSAqIGRpc2suCisJICovCisJcmV0dXJuIHNwcmludGYoYnVmLCAiJWRcbiIsIGVtcC0+YmxpbmtfcG9saWN5KTsKK30KKwogc3RhdGljIHZvaWQgYWhjaV9wb3J0X2luaXQoc3RydWN0IHBjaV9kZXYgKnBkZXYsIHN0cnVjdCBhdGFfcG9ydCAqYXAsCiAJCQkgICBpbnQgcG9ydF9ubywgdm9pZCBfX2lvbWVtICptbWlvLAogCQkJICAgdm9pZCBfX2lvbWVtICpwb3J0X21taW8pCkBAIC0xODQ2LDcgKzIxMzYsOCBAQAogCWlmIChxYy0+dGYucHJvdG9jb2wgPT0gQVRBX1BST1RfTkNRKQogCQl3cml0ZWwoMSA8PCBxYy0+dGFnLCBwb3J0X21taW8gKyBQT1JUX1NDUl9BQ1QpOwogCXdyaXRlbCgxIDw8IHFjLT50YWcsIHBvcnRfbW1pbyArIFBPUlRfQ01EX0lTU1VFKTsKLQlyZWFkbChwb3J0X21taW8gKyBQT1JUX0NNRF9JU1NVRSk7CS8qIGZsdXNoICovCisKKwlhaGNpX3N3X2FjdGl2aXR5KHFjLT5kZXYtPmxpbmspOwogCiAJcmV0dXJuIDA7CiB9CkBAIC0yMTU0LDcgKzI0NDUsOCBAQAogCWRldl9wcmludGsoS0VSTl9JTkZPLCAmcGRldi0+ZGV2LAogCQkiZmxhZ3M6ICIKIAkJIiVzJXMlcyVzJXMlcyVzIgotCQkiJXMlcyVzJXMlcyVzJXNcbiIKKwkJIiVzJXMlcyVzJXMlcyVzIgorCQkiJXNcbiIKIAkJLAogCiAJCWNhcCAmICgxIDw8IDMxKSA/ICI2NGJpdCAiIDogIiIsCkBAIC0yMTcxLDcgKzI0NjMsOCBAQAogCQljYXAgJiAoMSA8PCAxNykgPyAicG1wICIgOiAiIiwKIAkJY2FwICYgKDEgPDwgMTUpID8gInBpbyAiIDogIiIsCiAJCWNhcCAmICgxIDw8IDE0KSA/ICJzbHVtICIgOiAiIiwKLQkJY2FwICYgKDEgPDwgMTMpID8gInBhcnQgIiA6ICIiCisJCWNhcCAmICgxIDw8IDEzKSA/ICJwYXJ0ICIgOiAiIiwKKwkJY2FwICYgKDEgPDwgNikgPyAiZW1zICI6ICIiCiAJCSk7CiB9CiAKQEAgLTIyOTEsNiArMjU4NCwyNCBAQAogCWlmIChocHJpdi0+Y2FwICYgSE9TVF9DQVBfUE1QKQogCQlwaS5mbGFncyB8PSBBVEFfRkxBR19QTVA7CiAKKwlpZiAoYWhjaV9lbV9tZXNzYWdlcyAmJiAoaHByaXYtPmNhcCAmIEhPU1RfQ0FQX0VNUykpIHsKKwkJdTggbWVzc2FnZXM7CisJCXZvaWQgX19pb21lbSAqbW1pbyA9IHBjaW1faW9tYXBfdGFibGUocGRldilbQUhDSV9QQ0lfQkFSXTsKKwkJdTMyIGVtX2xvYyA9IHJlYWRsKG1taW8gKyBIT1NUX0VNX0xPQyk7CisJCXUzMiBlbV9jdGwgPSByZWFkbChtbWlvICsgSE9TVF9FTV9DVEwpOworCisJCW1lc3NhZ2VzID0gKGVtX2N0bCAmIDB4MDAwZjAwMDApID4+IDE2OworCisJCS8qIHdlIG9ubHkgc3VwcG9ydCBMRUQgbWVzc2FnZSB0eXBlIHJpZ2h0IG5vdyAqLworCQlpZiAoKG1lc3NhZ2VzICYgMHgwMSkgJiYgKGFoY2lfZW1fbWVzc2FnZXMgPT0gMSkpIHsKKwkJCS8qIHN0b3JlIGVtX2xvYyAqLworCQkJaHByaXYtPmVtX2xvYyA9ICgoZW1fbG9jID4+IDE2KSAqIDQpOworCQkJcGkuZmxhZ3MgfD0gQVRBX0ZMQUdfRU07CisJCQlpZiAoIShlbV9jdGwgJiBFTV9DVExfQUxIRCkpCisJCQkJcGkuZmxhZ3MgfD0gQVRBX0ZMQUdfU1dfQUNUSVZJVFk7CisJCX0KKwl9CisKIAkvKiBDQVAuTlAgc29tZXRpbWVzIGluZGljYXRlIHRoZSBpbmRleCBvZiB0aGUgbGFzdCBlbmFibGVkCiAJICogcG9ydCwgYXQgb3RoZXIgdGltZXMsIHRoYXQgb2YgdGhlIGxhc3QgcG9zc2libGUgcG9ydCwgc28KIAkgKiBkZXRlcm1pbmluZyB0aGUgbWF4aW11bSBwb3J0IG51bWJlciByZXF1aXJlcyBsb29raW5nIGF0CkBAIC0yMzA0LDYgKzI2MTUsOSBAQAogCWhvc3QtPmlvbWFwID0gcGNpbV9pb21hcF90YWJsZShwZGV2KTsKIAlob3N0LT5wcml2YXRlX2RhdGEgPSBocHJpdjsKIAorCWlmIChwaS5mbGFncyAmIEFUQV9GTEFHX0VNKQorCQlhaGNpX3Jlc2V0X2VtKGhvc3QpOworCiAJZm9yIChpID0gMDsgaSA8IGhvc3QtPm5fcG9ydHM7IGkrKykgewogCQlzdHJ1Y3QgYXRhX3BvcnQgKmFwID0gaG9zdC0+cG9ydHNbaV07CiAKQEAgLTIzMTQsNiArMjYyOCwxMSBAQAogCQkvKiBzZXQgaW5pdGlhbCBsaW5rIHBtIHBvbGljeSAqLwogCQlhcC0+cG1fcG9saWN5ID0gTk9UX0FWQUlMQUJMRTsKIAorCQkvKiBzZXQgZW5jbG9zdXJlIG1hbmFnZW1lbnQgbWVzc2FnZSB0eXBlICovCisJCWlmIChhcC0+ZmxhZ3MgJiBBVEFfRkxBR19FTSkKKwkJCWFwLT5lbV9tZXNzYWdlX3R5cGUgPSBhaGNpX2VtX21lc3NhZ2VzOworCisKIAkJLyogZGlzYWJsZWQvbm90LWltcGxlbWVudGVkIHBvcnQgKi8KIAkJaWYgKCEoaHByaXYtPnBvcnRfbWFwICYgKDEgPDwgaSkpKQogCQkJYXAtPm9wcyA9ICZhdGFfZHVtbXlfcG9ydF9vcHM7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2F0YS9saWJhdGEtYWNwaS5jIGIvZHJpdmVycy9hdGEvbGliYXRhLWFjcGkuYwppbmRleCAzZmY4YjE0Li45MzMwYjc5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2F0YS9saWJhdGEtYWNwaS5jCisrKyBiL2RyaXZlcnMvYXRhL2xpYmF0YS1hY3BpLmMKQEAgLTI5LDE0ICsyOSwxNiBAQAogZW51bSB7CiAJQVRBX0FDUElfRklMVEVSX1NFVFhGRVIJPSAxIDw8IDAsCiAJQVRBX0FDUElfRklMVEVSX0xPQ0sJPSAxIDw8IDEsCisJQVRBX0FDUElfRklMVEVSX0RJUE0JPSAxIDw8IDIsCiAKIAlBVEFfQUNQSV9GSUxURVJfREVGQVVMVAk9IEFUQV9BQ1BJX0ZJTFRFUl9TRVRYRkVSIHwKLQkJCQkgIEFUQV9BQ1BJX0ZJTFRFUl9MT0NLLAorCQkJCSAgQVRBX0FDUElfRklMVEVSX0xPQ0sgfAorCQkJCSAgQVRBX0FDUElfRklMVEVSX0RJUE0sCiB9OwogCiBzdGF0aWMgdW5zaWduZWQgaW50IGF0YV9hY3BpX2d0Zl9maWx0ZXIgPSBBVEFfQUNQSV9GSUxURVJfREVGQVVMVDsKIG1vZHVsZV9wYXJhbV9uYW1lZChhY3BpX2d0Zl9maWx0ZXIsIGF0YV9hY3BpX2d0Zl9maWx0ZXIsIGludCwgMDY0NCk7Ci1NT0RVTEVfUEFSTV9ERVNDKGFjcGlfZ3RmX2ZpbHRlciwgImZpbHRlciBtYXNrIGZvciBBQ1BJIF9HVEYgY29tbWFuZHMsIHNldCB0byBmaWx0ZXIgb3V0ICgweDE9c2V0IHhmZXJtb2RlLCAweDI9bG9jay9mcmVlemUgbG9jaykiKTsKK01PRFVMRV9QQVJNX0RFU0MoYWNwaV9ndGZfZmlsdGVyLCAiZmlsdGVyIG1hc2sgZm9yIEFDUEkgX0dURiBjb21tYW5kcywgc2V0IHRvIGZpbHRlciBvdXQgKDB4MT1zZXQgeGZlcm1vZGUsIDB4Mj1sb2NrL2ZyZWV6ZSBsb2NrLCAweDQ9RElQTSkiKTsKIAogI2RlZmluZSBOT19QT1JUX01VTFQJCTB4ZmZmZgogI2RlZmluZSBTQVRBX0FEUihyb290LCBwbXApCSgoKHJvb3QpIDw8IDE2KSB8IChwbXApKQpAQCAtMTk1LDYgKzE5NywxMCBAQAogCQkvKiBUaGlzIGRldmljZSBkb2VzIG5vdCBzdXBwb3J0IGhvdHBsdWcgKi8KIAkJcmV0dXJuOwogCisJaWYgKGV2ZW50ID09IEFDUElfTk9USUZZX0JVU19DSEVDSyB8fAorCSAgICBldmVudCA9PSBBQ1BJX05PVElGWV9ERVZJQ0VfQ0hFQ0spCisJCXN0YXR1cyA9IGFjcGlfZXZhbHVhdGVfaW50ZWdlcihoYW5kbGUsICJfU1RBIiwgTlVMTCwgJnN0YSk7CisKIAlzcGluX2xvY2tfaXJxc2F2ZShhcC0+bG9jaywgZmxhZ3MpOwogCiAJc3dpdGNoIChldmVudCkgewpAQCAtMjAyLDcgKzIwOCw2IEBACiAJY2FzZSBBQ1BJX05PVElGWV9ERVZJQ0VfQ0hFQ0s6CiAJCWF0YV9laGlfcHVzaF9kZXNjKGVoaSwgIkFDUEkgZXZlbnQiKTsKIAotCQlzdGF0dXMgPSBhY3BpX2V2YWx1YXRlX2ludGVnZXIoaGFuZGxlLCAiX1NUQSIsIE5VTEwsICZzdGEpOwogCQlpZiAoQUNQSV9GQUlMVVJFKHN0YXR1cykpIHsKIAkJCWF0YV9wb3J0X3ByaW50ayhhcCwgS0VSTl9FUlIsCiAJCQkJImFjcGk6IGZhaWxlZCB0byBkZXRlcm1pbmUgYmF5IHN0YXR1cyAoMHgleClcbiIsCkBAIC02OTAsNiArNjk1LDE0IEBACiAJCQlyZXR1cm4gMTsKIAl9CiAKKwlpZiAoYXRhX2FjcGlfZ3RmX2ZpbHRlciAmIEFUQV9BQ1BJX0ZJTFRFUl9ESVBNKSB7CisJCS8qIGluaGliaXQgZW5hYmxpbmcgRElQTSAqLworCQlpZiAodGYtPmNvbW1hbmQgPT0gQVRBX0NNRF9TRVRfRkVBVFVSRVMgJiYKKwkJICAgIHRmLT5mZWF0dXJlID09IFNFVEZFQVRVUkVTX1NBVEFfRU5BQkxFICYmCisJCSAgICB0Zi0+bnNlY3QgPT0gU0FUQV9ESVBNKQorCQkJcmV0dXJuIDE7CisJfQorCiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvYXRhL2xpYmF0YS1jb3JlLmMgYi9kcml2ZXJzL2F0YS9saWJhdGEtY29yZS5jCmluZGV4IDMwM2ZjMGQuLjliZWYxYTggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYXRhL2xpYmF0YS1jb3JlLmMKKysrIGIvZHJpdmVycy9hdGEvbGliYXRhLWNvcmUuYwpAQCAtNTQsNyArNTQsNiBAQAogI2luY2x1ZGUgPGxpbnV4L2NvbXBsZXRpb24uaD4KICNpbmNsdWRlIDxsaW51eC9zdXNwZW5kLmg+CiAjaW5jbHVkZSA8bGludXgvd29ya3F1ZXVlLmg+Ci0jaW5jbHVkZSA8bGludXgvamlmZmllcy5oPgogI2luY2x1ZGUgPGxpbnV4L3NjYXR0ZXJsaXN0Lmg+CiAjaW5jbHVkZSA8bGludXgvaW8uaD4KICNpbmNsdWRlIDxzY3NpL3Njc2kuaD4KQEAgLTE0NSw3ICsxNDQsNyBAQAogbW9kdWxlX3BhcmFtX25hbWVkKGRtYSwgbGliYXRhX2RtYV9tYXNrLCBpbnQsIDA0NDQpOwogTU9EVUxFX1BBUk1fREVTQyhkbWEsICJETUEgZW5hYmxlL2Rpc2FibGUgKDB4MT09QVRBLCAweDI9PUFUQVBJLCAweDQ9PUNGKSIpOwogCi1zdGF0aWMgaW50IGF0YV9wcm9iZV90aW1lb3V0ID0gQVRBX1RNT1VUX0lOVEVSTkFMIC8gSFo7CitzdGF0aWMgaW50IGF0YV9wcm9iZV90aW1lb3V0OwogbW9kdWxlX3BhcmFtKGF0YV9wcm9iZV90aW1lb3V0LCBpbnQsIDA0NDQpOwogTU9EVUxFX1BBUk1fREVTQyhhdGFfcHJvYmVfdGltZW91dCwgIlNldCBBVEEgcHJvYmluZyB0aW1lb3V0IChzZWNvbmRzKSIpOwogCkBAIC0xNTMzLDcgKzE1MzIsNyBAQAogICoJQGFwOiBUaGUgYXRhX3BvcnQgdG8gcXVldWUgcG9ydF90YXNrIGZvcgogICoJQGZuOiB3b3JrcXVldWUgZnVuY3Rpb24gdG8gYmUgc2NoZWR1bGVkCiAgKglAZGF0YTogZGF0YSBmb3IgQGZuIHRvIHVzZQotICoJQGRlbGF5OiBkZWxheSB0aW1lIGZvciB3b3JrcXVldWUgZnVuY3Rpb24KKyAqCUBkZWxheTogZGVsYXkgdGltZSBpbiBtc2VjcyBmb3Igd29ya3F1ZXVlIGZ1bmN0aW9uCiAgKgogICoJU2NoZWR1bGUgQGZuKEBkYXRhKSBmb3IgZXhlY3V0aW9uIGFmdGVyIEBkZWxheSBqaWZmaWVzIHVzaW5nCiAgKglwb3J0X3Rhc2suICBUaGVyZSBpcyBvbmUgcG9ydF90YXNrIHBlciBwb3J0IGFuZCBpdCdzIHRoZQpAQCAtMTU1Miw3ICsxNTUxLDcgQEAKIAlhcC0+cG9ydF90YXNrX2RhdGEgPSBkYXRhOwogCiAJLyogbWF5IGZhaWwgaWYgYXRhX3BvcnRfZmx1c2hfdGFzaygpIGluIHByb2dyZXNzICovCi0JcXVldWVfZGVsYXllZF93b3JrKGF0YV93cSwgJmFwLT5wb3J0X3Rhc2ssIGRlbGF5KTsKKwlxdWV1ZV9kZWxheWVkX3dvcmsoYXRhX3dxLCAmYXAtPnBvcnRfdGFzaywgbXNlY3NfdG9famlmZmllcyhkZWxheSkpOwogfQogCiAvKioKQEAgLTE2MTIsNiArMTYxMSw3IEBACiAJc3RydWN0IGF0YV9saW5rICpsaW5rID0gZGV2LT5saW5rOwogCXN0cnVjdCBhdGFfcG9ydCAqYXAgPSBsaW5rLT5hcDsKIAl1OCBjb21tYW5kID0gdGYtPmNvbW1hbmQ7CisJaW50IGF1dG9fdGltZW91dCA9IDA7CiAJc3RydWN0IGF0YV9xdWV1ZWRfY21kICpxYzsKIAl1bnNpZ25lZCBpbnQgdGFnLCBwcmVlbXB0ZWRfdGFnOwogCXUzMiBwcmVlbXB0ZWRfc2FjdGl2ZSwgcHJlZW1wdGVkX3FjX2FjdGl2ZTsKQEAgLTE2ODQsOCArMTY4NCwxNCBAQAogCiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZShhcC0+bG9jaywgZmxhZ3MpOwogCi0JaWYgKCF0aW1lb3V0KQotCQl0aW1lb3V0ID0gYXRhX3Byb2JlX3RpbWVvdXQgKiAxMDAwIC8gSFo7CisJaWYgKCF0aW1lb3V0KSB7CisJCWlmIChhdGFfcHJvYmVfdGltZW91dCkKKwkJCXRpbWVvdXQgPSBhdGFfcHJvYmVfdGltZW91dCAqIDEwMDA7CisJCWVsc2UgeworCQkJdGltZW91dCA9IGF0YV9pbnRlcm5hbF9jbWRfdGltZW91dChkZXYsIGNvbW1hbmQpOworCQkJYXV0b190aW1lb3V0ID0gMTsKKwkJfQorCX0KIAogCXJjID0gd2FpdF9mb3JfY29tcGxldGlvbl90aW1lb3V0KCZ3YWl0LCBtc2Vjc190b19qaWZmaWVzKHRpbWVvdXQpKTsKIApAQCAtMTc2MSw2ICsxNzY3LDkgQEAKIAogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoYXAtPmxvY2ssIGZsYWdzKTsKIAorCWlmICgoZXJyX21hc2sgJiBBQ19FUlJfVElNRU9VVCkgJiYgYXV0b190aW1lb3V0KQorCQlhdGFfaW50ZXJuYWxfY21kX3RpbWVkX291dChkZXYsIGNvbW1hbmQpOworCiAJcmV0dXJuIGVycl9tYXNrOwogfQogCkBAIC0zMzE5LDcgKzMzMjgsNyBAQAogCQkgICBpbnQgKCpjaGVja19yZWFkeSkoc3RydWN0IGF0YV9saW5rICpsaW5rKSkKIHsKIAl1bnNpZ25lZCBsb25nIHN0YXJ0ID0gamlmZmllczsKLQl1bnNpZ25lZCBsb25nIG5vZGV2X2RlYWRsaW5lID0gc3RhcnQgKyBBVEFfVE1PVVRfRkZfV0FJVDsKKwl1bnNpZ25lZCBsb25nIG5vZGV2X2RlYWRsaW5lID0gYXRhX2RlYWRsaW5lKHN0YXJ0LCBBVEFfVE1PVVRfRkZfV0FJVCk7CiAJaW50IHdhcm5lZCA9IDA7CiAKIAlpZiAodGltZV9hZnRlcihub2Rldl9kZWFkbGluZSwgZGVhZGxpbmUpKQpAQCAtMzM4Nyw3ICszMzk2LDcgQEAKIGludCBhdGFfd2FpdF9hZnRlcl9yZXNldChzdHJ1Y3QgYXRhX2xpbmsgKmxpbmssIHVuc2lnbmVkIGxvbmcgZGVhZGxpbmUsCiAJCQkJaW50ICgqY2hlY2tfcmVhZHkpKHN0cnVjdCBhdGFfbGluayAqbGluaykpCiB7Ci0JbXNsZWVwKEFUQV9XQUlUX0FGVEVSX1JFU0VUX01TRUNTKTsKKwltc2xlZXAoQVRBX1dBSVRfQUZURVJfUkVTRVQpOwogCiAJcmV0dXJuIGF0YV93YWl0X3JlYWR5KGxpbmssIGRlYWRsaW5lLCBjaGVja19yZWFkeSk7CiB9CkBAIC0zNDE3LDEzICszNDI2LDEzIEBACiBpbnQgc2F0YV9saW5rX2RlYm91bmNlKHN0cnVjdCBhdGFfbGluayAqbGluaywgY29uc3QgdW5zaWduZWQgbG9uZyAqcGFyYW1zLAogCQkgICAgICAgdW5zaWduZWQgbG9uZyBkZWFkbGluZSkKIHsKLQl1bnNpZ25lZCBsb25nIGludGVydmFsX21zZWMgPSBwYXJhbXNbMF07Ci0JdW5zaWduZWQgbG9uZyBkdXJhdGlvbiA9IG1zZWNzX3RvX2ppZmZpZXMocGFyYW1zWzFdKTsKKwl1bnNpZ25lZCBsb25nIGludGVydmFsID0gcGFyYW1zWzBdOworCXVuc2lnbmVkIGxvbmcgZHVyYXRpb24gPSBwYXJhbXNbMV07CiAJdW5zaWduZWQgbG9uZyBsYXN0X2ppZmZpZXMsIHQ7CiAJdTMyIGxhc3QsIGN1cjsKIAlpbnQgcmM7CiAKLQl0ID0gamlmZmllcyArIG1zZWNzX3RvX2ppZmZpZXMocGFyYW1zWzJdKTsKKwl0ID0gYXRhX2RlYWRsaW5lKGppZmZpZXMsIHBhcmFtc1syXSk7CiAJaWYgKHRpbWVfYmVmb3JlKHQsIGRlYWRsaW5lKSkKIAkJZGVhZGxpbmUgPSB0OwogCkBAIC0zNDM1LDcgKzM0NDQsNyBAQAogCWxhc3RfamlmZmllcyA9IGppZmZpZXM7CiAKIAl3aGlsZSAoMSkgewotCQltc2xlZXAoaW50ZXJ2YWxfbXNlYyk7CisJCW1zbGVlcChpbnRlcnZhbCk7CiAJCWlmICgocmMgPSBzYXRhX3Njcl9yZWFkKGxpbmssIFNDUl9TVEFUVVMsICZjdXIpKSkKIAkJCXJldHVybiByYzsKIAkJY3VyICY9IDB4ZjsKQEAgLTM0NDQsNyArMzQ1Myw4IEBACiAJCWlmIChjdXIgPT0gbGFzdCkgewogCQkJaWYgKGN1ciA9PSAxICYmIHRpbWVfYmVmb3JlKGppZmZpZXMsIGRlYWRsaW5lKSkKIAkJCQljb250aW51ZTsKLQkJCWlmICh0aW1lX2FmdGVyKGppZmZpZXMsIGxhc3RfamlmZmllcyArIGR1cmF0aW9uKSkKKwkJCWlmICh0aW1lX2FmdGVyKGppZmZpZXMsCisJCQkJICAgICAgIGF0YV9kZWFkbGluZShsYXN0X2ppZmZpZXMsIGR1cmF0aW9uKSkpCiAJCQkJcmV0dXJuIDA7CiAJCQljb250aW51ZTsKIAkJfQpAQCAtMzYzNiw3ICszNjQ2LDggQEAKIAkJaWYgKGNoZWNrX3JlYWR5KSB7CiAJCQl1bnNpZ25lZCBsb25nIHBtcF9kZWFkbGluZTsKIAotCQkJcG1wX2RlYWRsaW5lID0gamlmZmllcyArIEFUQV9UTU9VVF9QTVBfU1JTVF9XQUlUOworCQkJcG1wX2RlYWRsaW5lID0gYXRhX2RlYWRsaW5lKGppZmZpZXMsCisJCQkJCQkgICAgQVRBX1RNT1VUX1BNUF9TUlNUX1dBSVQpOwogCQkJaWYgKHRpbWVfYWZ0ZXIocG1wX2RlYWRsaW5lLCBkZWFkbGluZSkpCiAJCQkJcG1wX2RlYWRsaW5lID0gZGVhZGxpbmU7CiAJCQlhdGFfd2FpdF9yZWFkeShsaW5rLCBwbXBfZGVhZGxpbmUsIGNoZWNrX3JlYWR5KTsKQEAgLTYwNzMsOCArNjA4NCw2IEBACiAKIHN0YXRpYyBpbnQgX19pbml0IGF0YV9pbml0KHZvaWQpCiB7Ci0JYXRhX3Byb2JlX3RpbWVvdXQgKj0gSFo7Ci0KIAlhdGFfcGFyc2VfZm9yY2VfcGFyYW0oKTsKIAogCWF0YV93cSA9IGNyZWF0ZV93b3JrcXVldWUoImF0YSIpOwpAQCAtNjEyNyw4ICs2MTM2LDggQEAKICAqCUByZWc6IElPLW1hcHBlZCByZWdpc3RlcgogICoJQG1hc2s6IE1hc2sgdG8gYXBwbHkgdG8gcmVhZCByZWdpc3RlciB2YWx1ZQogICoJQHZhbDogV2FpdCBjb25kaXRpb24KLSAqCUBpbnRlcnZhbF9tc2VjOiBwb2xsaW5nIGludGVydmFsIGluIG1pbGxpc2Vjb25kcwotICoJQHRpbWVvdXRfbXNlYzogdGltZW91dCBpbiBtaWxsaXNlY29uZHMKKyAqCUBpbnRlcnZhbDogcG9sbGluZyBpbnRlcnZhbCBpbiBtaWxsaXNlY29uZHMKKyAqCUB0aW1lb3V0OiB0aW1lb3V0IGluIG1pbGxpc2Vjb25kcwogICoKICAqCVdhaXRpbmcgZm9yIHNvbWUgYml0cyBvZiByZWdpc3RlciB0byBjaGFuZ2UgaXMgYSBjb21tb24KICAqCW9wZXJhdGlvbiBmb3IgQVRBIGNvbnRyb2xsZXJzLiAgVGhpcyBmdW5jdGlvbiByZWFkcyAzMmJpdCBMRQpAQCAtNjE0NiwxMCArNjE1NSw5IEBACiAgKglUaGUgZmluYWwgcmVnaXN0ZXIgdmFsdWUuCiAgKi8KIHUzMiBhdGFfd2FpdF9yZWdpc3Rlcih2b2lkIF9faW9tZW0gKnJlZywgdTMyIG1hc2ssIHUzMiB2YWwsCi0JCSAgICAgIHVuc2lnbmVkIGxvbmcgaW50ZXJ2YWxfbXNlYywKLQkJICAgICAgdW5zaWduZWQgbG9uZyB0aW1lb3V0X21zZWMpCisJCSAgICAgIHVuc2lnbmVkIGxvbmcgaW50ZXJ2YWwsIHVuc2lnbmVkIGxvbmcgdGltZW91dCkKIHsKLQl1bnNpZ25lZCBsb25nIHRpbWVvdXQ7CisJdW5zaWduZWQgbG9uZyBkZWFkbGluZTsKIAl1MzIgdG1wOwogCiAJdG1wID0gaW9yZWFkMzIocmVnKTsKQEAgLTYxNTgsMTAgKzYxNjYsMTAgQEAKIAkgKiBwcmVjZWRpbmcgd3JpdGVzIHJlYWNoIHRoZSBjb250cm9sbGVyIGJlZm9yZSBzdGFydGluZyB0bwogCSAqIGVhdCBhd2F5IHRoZSB0aW1lb3V0LgogCSAqLwotCXRpbWVvdXQgPSBqaWZmaWVzICsgKHRpbWVvdXRfbXNlYyAqIEhaKSAvIDEwMDA7CisJZGVhZGxpbmUgPSBhdGFfZGVhZGxpbmUoamlmZmllcywgdGltZW91dCk7CiAKLQl3aGlsZSAoKHRtcCAmIG1hc2spID09IHZhbCAmJiB0aW1lX2JlZm9yZShqaWZmaWVzLCB0aW1lb3V0KSkgewotCQltc2xlZXAoaW50ZXJ2YWxfbXNlYyk7CisJd2hpbGUgKCh0bXAgJiBtYXNrKSA9PSB2YWwgJiYgdGltZV9iZWZvcmUoamlmZmllcywgZGVhZGxpbmUpKSB7CisJCW1zbGVlcChpbnRlcnZhbCk7CiAJCXRtcCA9IGlvcmVhZDMyKHJlZyk7CiAJfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2F0YS9saWJhdGEtZWguYyBiL2RyaXZlcnMvYXRhL2xpYmF0YS1laC5jCmluZGV4IDc4OTRkODMuLjU4YmRjNTMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYXRhL2xpYmF0YS1laC5jCisrKyBiL2RyaXZlcnMvYXRhL2xpYmF0YS1laC5jCkBAIC02NiwxNSArNjYsMTkgQEAKIAlBVEFfRUNBVF9EVUJJT1VTX1RPVVRfSFNNCT0gNiwKIAlBVEFfRUNBVF9EVUJJT1VTX1VOS19ERVYJPSA3LAogCUFUQV9FQ0FUX05SCQkJPSA4LAotfTsKIAotLyogV2FpdGluZyBpbiAtPnByZXJlc2V0IGNhbiBuZXZlciBiZSByZWxpYWJsZS4gIEl0J3Mgc29tZXRpbWVzIG5pY2UKLSAqIHRvIHdhaXQgdGhlcmUgYnV0IGl0IGNhbid0IGJlIGRlcGVuZGVkIHVwb247IG90aGVyd2lzZSwgd2Ugd291bGRuJ3QKLSAqIGJlIHJlc2V0dGluZy4gIEp1c3QgZ2l2ZSBpdCBlbm91Z2ggdGltZSBmb3IgbW9zdCBkcml2ZXMgdG8gc3BpbiB1cC4KLSAqLwotZW51bSB7Ci0JQVRBX0VIX1BSRVJFU0VUX1RJTUVPVVQJCT0gMTAgKiBIWiwKLQlBVEFfRUhfRkFTVERSQUlOX0lOVEVSVkFMCT0gMyAqIEhaLAorCUFUQV9FSF9DTURfREZMX1RJTUVPVVQJCT0gIDUwMDAsCisKKwkvKiBhbHdheXMgcHV0IGF0IGxlYXN0IHRoaXMgYW1vdW50IG9mIHRpbWUgYmV0d2VlbiByZXNldHMgKi8KKwlBVEFfRUhfUkVTRVRfQ09PTF9ET1dOCQk9ICA1MDAwLAorCisJLyogV2FpdGluZyBpbiAtPnByZXJlc2V0IGNhbiBuZXZlciBiZSByZWxpYWJsZS4gIEl0J3MKKwkgKiBzb21ldGltZXMgbmljZSB0byB3YWl0IHRoZXJlIGJ1dCBpdCBjYW4ndCBiZSBkZXBlbmRlZCB1cG9uOworCSAqIG90aGVyd2lzZSwgd2Ugd291bGRuJ3QgYmUgcmVzZXR0aW5nLiAgSnVzdCBnaXZlIGl0IGVub3VnaAorCSAqIHRpbWUgZm9yIG1vc3QgZHJpdmVzIHRvIHNwaW4gdXAuCisJICovCisJQVRBX0VIX1BSRVJFU0VUX1RJTUVPVVQJCT0gMTAwMDAsCisJQVRBX0VIX0ZBU1REUkFJTl9JTlRFUlZBTAk9ICAzMDAwLAogfTsKIAogLyogVGhlIGZvbGxvd2luZyB0YWJsZSBkZXRlcm1pbmVzIGhvdyB3ZSBzZXF1ZW5jZSByZXNldHMuICBFYWNoIGVudHJ5CkBAIC04NCwxMyArODgsNjAgQEAKICAqIGFyZSBtb3N0bHkgZm9yIGVycm9yIGhhbmRsaW5nLCBob3RwbHVnIGFuZCByZXRhcmRlZCBkZXZpY2VzLgogICovCiBzdGF0aWMgY29uc3QgdW5zaWduZWQgbG9uZyBhdGFfZWhfcmVzZXRfdGltZW91dHNbXSA9IHsKLQkxMCAqIEhaLAkvKiBtb3N0IGRyaXZlcyBzcGluIHVwIGJ5IDEwc2VjICovCi0JMTAgKiBIWiwJLyogPiA5OSUgd29ya2luZyBkcml2ZXMgc3BpbiB1cCBiZWZvcmUgMjBzZWMgKi8KLQkzNSAqIEhaLAkvKiBnaXZlID4gMzAgc2VjcyBvZiBpZGxlbmVzcyBmb3IgcmV0YXJkZWQgZGV2aWNlcyAqLwotCTUgKiBIWiwJCS8qIGFuZCBzd2VldCBvbmUgbGFzdCBjaGFuY2UgKi8KLQkvKiA+IDEgbWluIGhhcyBlbGFwc2VkLCBnaXZlIHVwICovCisJMTAwMDAsCS8qIG1vc3QgZHJpdmVzIHNwaW4gdXAgYnkgMTBzZWMgKi8KKwkxMDAwMCwJLyogPiA5OSUgd29ya2luZyBkcml2ZXMgc3BpbiB1cCBiZWZvcmUgMjBzZWMgKi8KKwkzNTAwMCwJLyogZ2l2ZSA+IDMwIHNlY3Mgb2YgaWRsZW5lc3MgZm9yIHJldGFyZGVkIGRldmljZXMgKi8KKwkgNTAwMCwJLyogYW5kIHN3ZWV0IG9uZSBsYXN0IGNoYW5jZSAqLworCVVMT05HX01BWCwgLyogPiAxIG1pbiBoYXMgZWxhcHNlZCwgZ2l2ZSB1cCAqLwogfTsKIAorc3RhdGljIGNvbnN0IHVuc2lnbmVkIGxvbmcgYXRhX2VoX2lkZW50aWZ5X3RpbWVvdXRzW10gPSB7CisJIDUwMDAsCS8qIGNvdmVycyA+IDk5JSBvZiBzdWNjZXNzZXMgYW5kIG5vdCB0b28gYm9yaW5nIG9uIGZhaWx1cmVzICovCisJMTAwMDAsICAvKiBjb21iaW5lZCB0aW1lIHRpbGwgaGVyZSBpcyBlbm91Z2ggZXZlbiBmb3IgbWVkaWEgYWNjZXNzICovCisJMzAwMDAsCS8qIGZvciB0cnVlIGlkaW90cyAqLworCVVMT05HX01BWCwKK307CisKK3N0YXRpYyBjb25zdCB1bnNpZ25lZCBsb25nIGF0YV9laF9vdGhlcl90aW1lb3V0c1tdID0geworCSA1MDAwLAkvKiBzYW1lIHJhdGlvbmFsZSBhcyBpZGVudGlmeSB0aW1lb3V0ICovCisJMTAwMDAsCS8qIGRpdHRvICovCisJLyogYnV0IG5vIG1lcmNpZnVsIDMwc2VjIGZvciBvdGhlciBjb21tYW5kcywgaXQganVzdCBpc24ndCB3b3J0aCBpdCAqLworCVVMT05HX01BWCwKK307CisKK3N0cnVjdCBhdGFfZWhfY21kX3RpbWVvdXRfZW50IHsKKwljb25zdCB1OAkJKmNvbW1hbmRzOworCWNvbnN0IHVuc2lnbmVkIGxvbmcJKnRpbWVvdXRzOworfTsKKworLyogVGhlIGZvbGxvd2luZyB0YWJsZSBkZXRlcm1pbmVzIHRpbWVvdXRzIHRvIHVzZSBmb3IgRUggaW50ZXJuYWwKKyAqIGNvbW1hbmRzLiAgRWFjaCB0YWJsZSBlbnRyeSBpcyBhIGNvbW1hbmQgY2xhc3MgYW5kIG1hdGNoZXMgdGhlCisgKiBjb21tYW5kcyB0aGUgZW50cnkgYXBwbGllcyB0byBhbmQgdGhlIHRpbWVvdXQgdGFibGUgdG8gdXNlLgorICoKKyAqIE9uIHRoZSByZXRyeSBhZnRlciBhIGNvbW1hbmQgdGltZWQgb3V0LCB0aGUgbmV4dCB0aW1lb3V0IHZhbHVlIGZyb20KKyAqIHRoZSB0YWJsZSBpcyB1c2VkLiAgSWYgdGhlIHRhYmxlIGRvZXNuJ3QgY29udGFpbiBmdXJ0aGVyIGVudHJpZXMsCisgKiB0aGUgbGFzdCB2YWx1ZSBpcyB1c2VkLgorICoKKyAqIGVoYy0+Y21kX3RpbWVvdXRfaWR4IGtlZXBzIHRyYWNrIG9mIHdoaWNoIHRpbWVvdXQgdG8gdXNlIHBlcgorICogY29tbWFuZCBjbGFzcywgc28gaWYgU0VUX0ZFQVRVUkVTIHRpbWVzIG91dCBvbiB0aGUgZmlyc3QgdHJ5LCB0aGUKKyAqIG5leHQgdHJ5IHdpbGwgdXNlIHRoZSBzZWNvbmQgdGltZW91dCB2YWx1ZSBvbmx5IGZvciB0aGF0IGNsYXNzLgorICovCisjZGVmaW5lIENNRFMoY21kcy4uLikJKGNvbnN0IHU4IFtdKXsgY21kcywgMCB9CitzdGF0aWMgY29uc3Qgc3RydWN0IGF0YV9laF9jbWRfdGltZW91dF9lbnQKK2F0YV9laF9jbWRfdGltZW91dF90YWJsZVtBVEFfRUhfQ01EX1RJTUVPVVRfVEFCTEVfU0laRV0gPSB7CisJeyAuY29tbWFuZHMgPSBDTURTKEFUQV9DTURfSURfQVRBLCBBVEFfQ01EX0lEX0FUQVBJKSwKKwkgIC50aW1lb3V0cyA9IGF0YV9laF9pZGVudGlmeV90aW1lb3V0cywgfSwKKwl7IC5jb21tYW5kcyA9IENNRFMoQVRBX0NNRF9SRUFEX05BVElWRV9NQVgsIEFUQV9DTURfUkVBRF9OQVRJVkVfTUFYX0VYVCksCisJICAudGltZW91dHMgPSBhdGFfZWhfb3RoZXJfdGltZW91dHMsIH0sCisJeyAuY29tbWFuZHMgPSBDTURTKEFUQV9DTURfU0VUX01BWCwgQVRBX0NNRF9TRVRfTUFYX0VYVCksCisJICAudGltZW91dHMgPSBhdGFfZWhfb3RoZXJfdGltZW91dHMsIH0sCisJeyAuY29tbWFuZHMgPSBDTURTKEFUQV9DTURfU0VUX0ZFQVRVUkVTKSwKKwkgIC50aW1lb3V0cyA9IGF0YV9laF9vdGhlcl90aW1lb3V0cywgfSwKKwl7IC5jb21tYW5kcyA9IENNRFMoQVRBX0NNRF9JTklUX0RFVl9QQVJBTVMpLAorCSAgLnRpbWVvdXRzID0gYXRhX2VoX290aGVyX3RpbWVvdXRzLCB9LAorfTsKKyN1bmRlZiBDTURTCisKIHN0YXRpYyB2b2lkIF9fYXRhX3BvcnRfZnJlZXplKHN0cnVjdCBhdGFfcG9ydCAqYXApOwogI2lmZGVmIENPTkZJR19QTQogc3RhdGljIHZvaWQgYXRhX2VoX2hhbmRsZV9wb3J0X3N1c3BlbmQoc3RydWN0IGF0YV9wb3J0ICphcCk7CkBAIC0yMzYsNiArMjg3LDczIEBACiAKICNlbmRpZiAvKiBDT05GSUdfUENJICovCiAKK3N0YXRpYyBpbnQgYXRhX2xvb2t1cF90aW1lb3V0X3RhYmxlKHU4IGNtZCkKK3sKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCBBVEFfRUhfQ01EX1RJTUVPVVRfVEFCTEVfU0laRTsgaSsrKSB7CisJCWNvbnN0IHU4ICpjdXI7CisKKwkJZm9yIChjdXIgPSBhdGFfZWhfY21kX3RpbWVvdXRfdGFibGVbaV0uY29tbWFuZHM7ICpjdXI7IGN1cisrKQorCQkJaWYgKCpjdXIgPT0gY21kKQorCQkJCXJldHVybiBpOworCX0KKworCXJldHVybiAtMTsKK30KKworLyoqCisgKglhdGFfaW50ZXJuYWxfY21kX3RpbWVvdXQgLSBkZXRlcm1pbmUgdGltZW91dCBmb3IgYW4gaW50ZXJuYWwgY29tbWFuZAorICoJQGRldjogdGFyZ2V0IGRldmljZQorICoJQGNtZDogaW50ZXJuYWwgY29tbWFuZCB0byBiZSBpc3N1ZWQKKyAqCisgKglEZXRlcm1pbmUgdGltZW91dCBmb3IgaW50ZXJuYWwgY29tbWFuZCBAY21kIGZvciBAZGV2LgorICoKKyAqCUxPQ0tJTkc6CisgKglFSCBjb250ZXh0LgorICoKKyAqCVJFVFVSTlM6CisgKglEZXRlcm1pbmVkIHRpbWVvdXQuCisgKi8KK3Vuc2lnbmVkIGxvbmcgYXRhX2ludGVybmFsX2NtZF90aW1lb3V0KHN0cnVjdCBhdGFfZGV2aWNlICpkZXYsIHU4IGNtZCkKK3sKKwlzdHJ1Y3QgYXRhX2VoX2NvbnRleHQgKmVoYyA9ICZkZXYtPmxpbmstPmVoX2NvbnRleHQ7CisJaW50IGVudCA9IGF0YV9sb29rdXBfdGltZW91dF90YWJsZShjbWQpOworCWludCBpZHg7CisKKwlpZiAoZW50IDwgMCkKKwkJcmV0dXJuIEFUQV9FSF9DTURfREZMX1RJTUVPVVQ7CisKKwlpZHggPSBlaGMtPmNtZF90aW1lb3V0X2lkeFtkZXYtPmRldm5vXVtlbnRdOworCXJldHVybiBhdGFfZWhfY21kX3RpbWVvdXRfdGFibGVbZW50XS50aW1lb3V0c1tpZHhdOworfQorCisvKioKKyAqCWF0YV9pbnRlcm5hbF9jbWRfdGltZWRfb3V0IC0gbm90aWZpY2F0aW9uIGZvciBpbnRlcm5hbCBjb21tYW5kIHRpbWVvdXQKKyAqCUBkZXY6IHRhcmdldCBkZXZpY2UKKyAqCUBjbWQ6IGludGVybmFsIGNvbW1hbmQgd2hpY2ggdGltZWQgb3V0CisgKgorICoJTm90aWZ5IEVIIHRoYXQgaW50ZXJuYWwgY29tbWFuZCBAY21kIGZvciBAZGV2IHRpbWVkIG91dC4gIFRoaXMKKyAqCWZ1bmN0aW9uIHNob3VsZCBiZSBjYWxsZWQgb25seSBmb3IgY29tbWFuZHMgd2hvc2UgdGltZW91dHMgYXJlCisgKglkZXRlcm1pbmVkIHVzaW5nIGF0YV9pbnRlcm5hbF9jbWRfdGltZW91dCgpLgorICoKKyAqCUxPQ0tJTkc6CisgKglFSCBjb250ZXh0LgorICovCit2b2lkIGF0YV9pbnRlcm5hbF9jbWRfdGltZWRfb3V0KHN0cnVjdCBhdGFfZGV2aWNlICpkZXYsIHU4IGNtZCkKK3sKKwlzdHJ1Y3QgYXRhX2VoX2NvbnRleHQgKmVoYyA9ICZkZXYtPmxpbmstPmVoX2NvbnRleHQ7CisJaW50IGVudCA9IGF0YV9sb29rdXBfdGltZW91dF90YWJsZShjbWQpOworCWludCBpZHg7CisKKwlpZiAoZW50IDwgMCkKKwkJcmV0dXJuOworCisJaWR4ID0gZWhjLT5jbWRfdGltZW91dF9pZHhbZGV2LT5kZXZub11bZW50XTsKKwlpZiAoYXRhX2VoX2NtZF90aW1lb3V0X3RhYmxlW2VudF0udGltZW91dHNbaWR4ICsgMV0gIT0gVUxPTkdfTUFYKQorCQllaGMtPmNtZF90aW1lb3V0X2lkeFtkZXYtPmRldm5vXVtlbnRdKys7Cit9CisKIHN0YXRpYyB2b2lkIGF0YV9lcmluZ19yZWNvcmQoc3RydWN0IGF0YV9lcmluZyAqZXJpbmcsIHVuc2lnbmVkIGludCBlZmxhZ3MsCiAJCQkgICAgIHVuc2lnbmVkIGludCBlcnJfbWFzaykKIHsKQEAgLTQ4Niw2ICs2MDQsOSBAQAogCQkJCWlmIChhdGFfbmNxX2VuYWJsZWQoZGV2KSkKIAkJCQkJZWhjLT5zYXZlZF9uY3FfZW5hYmxlZCB8PSAxIDw8IGRldm5vOwogCQkJfQorCisJCQkvKiBzZXQgbGFzdCByZXNldCB0aW1lc3RhbXAgdG8gc29tZSB0aW1lIGluIHRoZSBwYXN0ICovCisJCQllaGMtPmxhc3RfcmVzZXQgPSBqaWZmaWVzIC0gNjAgKiBIWjsKIAkJfQogCiAJCWFwLT5wZmxhZ3MgfD0gQVRBX1BGTEFHX0VIX0lOX1BST0dSRVNTOwpAQCAtNjQxLDcgKzc2Miw3IEBACiAJCS8qIHNvbWUgcWNzIGhhdmUgZmluaXNoZWQsIGdpdmUgaXQgYW5vdGhlciBjaGFuY2UgKi8KIAkJYXAtPmZhc3RkcmFpbl9jbnQgPSBjbnQ7CiAJCWFwLT5mYXN0ZHJhaW5fdGltZXIuZXhwaXJlcyA9Ci0JCQlqaWZmaWVzICsgQVRBX0VIX0ZBU1REUkFJTl9JTlRFUlZBTDsKKwkJCWF0YV9kZWFkbGluZShqaWZmaWVzLCBBVEFfRUhfRkFTVERSQUlOX0lOVEVSVkFMKTsKIAkJYWRkX3RpbWVyKCZhcC0+ZmFzdGRyYWluX3RpbWVyKTsKIAl9CiAKQEAgLTY4MSw3ICs4MDIsOCBAQAogCiAJLyogYWN0aXZhdGUgZmFzdCBkcmFpbiAqLwogCWFwLT5mYXN0ZHJhaW5fY250ID0gY250OwotCWFwLT5mYXN0ZHJhaW5fdGltZXIuZXhwaXJlcyA9IGppZmZpZXMgKyBBVEFfRUhfRkFTVERSQUlOX0lOVEVSVkFMOworCWFwLT5mYXN0ZHJhaW5fdGltZXIuZXhwaXJlcyA9CisJCWF0YV9kZWFkbGluZShqaWZmaWVzLCBBVEFfRUhfRkFTVERSQUlOX0lOVEVSVkFMKTsKIAlhZGRfdGltZXIoJmFwLT5mYXN0ZHJhaW5fdGltZXIpOwogfQogCkBAIC0xMjM4LDYgKzEzNjAsNyBAQAogICoJYXRhcGlfZWhfcmVxdWVzdF9zZW5zZSAtIHBlcmZvcm0gQVRBUEkgUkVRVUVTVF9TRU5TRQogICoJQGRldjogZGV2aWNlIHRvIHBlcmZvcm0gUkVRVUVTVF9TRU5TRSB0bwogICoJQHNlbnNlX2J1ZjogcmVzdWx0IHNlbnNlIGRhdGEgYnVmZmVyIChTQ1NJX1NFTlNFX0JVRkZFUlNJWkUgYnl0ZXMgbG9uZykKKyAqCUBkZmxfc2Vuc2Vfa2V5OiBkZWZhdWx0IHNlbnNlIGtleSB0byB1c2UKICAqCiAgKglQZXJmb3JtIEFUQVBJIFJFUVVFU1RfU0VOU0UgYWZ0ZXIgdGhlIGRldmljZSByZXBvcnRlZCBDSEVDSwogICoJU0VOU0UuICBUaGlzIGZ1bmN0aW9uIGlzIEVIIGhlbHBlci4KQEAgLTEyNDgsMTMgKzEzNzEsMTMgQEAKICAqCVJFVFVSTlM6CiAgKgkwIG9uIHN1Y2Nlc3MsIEFDX0VSUl8qIG1hc2sgb24gZmFpbHVyZQogICovCi1zdGF0aWMgdW5zaWduZWQgaW50IGF0YXBpX2VoX3JlcXVlc3Rfc2Vuc2Uoc3RydWN0IGF0YV9xdWV1ZWRfY21kICpxYykKK3N0YXRpYyB1bnNpZ25lZCBpbnQgYXRhcGlfZWhfcmVxdWVzdF9zZW5zZShzdHJ1Y3QgYXRhX2RldmljZSAqZGV2LAorCQkJCQkgICB1OCAqc2Vuc2VfYnVmLCB1OCBkZmxfc2Vuc2Vfa2V5KQogewotCXN0cnVjdCBhdGFfZGV2aWNlICpkZXYgPSBxYy0+ZGV2OwotCXVuc2lnbmVkIGNoYXIgKnNlbnNlX2J1ZiA9IHFjLT5zY3NpY21kLT5zZW5zZV9idWZmZXI7CisJdTggY2RiW0FUQVBJX0NEQl9MRU5dID0KKwkJeyBSRVFVRVNUX1NFTlNFLCAwLCAwLCAwLCBTQ1NJX1NFTlNFX0JVRkZFUlNJWkUsIDAgfTsKIAlzdHJ1Y3QgYXRhX3BvcnQgKmFwID0gZGV2LT5saW5rLT5hcDsKIAlzdHJ1Y3QgYXRhX3Rhc2tmaWxlIHRmOwotCXU4IGNkYltBVEFQSV9DREJfTEVOXTsKIAogCURQUklOVEsoIkFUQVBJIHJlcXVlc3Qgc2Vuc2VcbiIpOwogCkBAIC0xMjY1LDE1ICsxMzg4LDExIEBACiAJICogZm9yIHRoZSBjYXNlIHdoZXJlIHRoZXkgYXJlIC1ub3QtIG92ZXJ3cml0dGVuCiAJICovCiAJc2Vuc2VfYnVmWzBdID0gMHg3MDsKLQlzZW5zZV9idWZbMl0gPSBxYy0+cmVzdWx0X3RmLmZlYXR1cmUgPj4gNDsKKwlzZW5zZV9idWZbMl0gPSBkZmxfc2Vuc2Vfa2V5OwogCiAJLyogc29tZSBkZXZpY2VzIHRpbWUgb3V0IGlmIGdhcmJhZ2UgbGVmdCBpbiB0ZiAqLwogCWF0YV90Zl9pbml0KGRldiwgJnRmKTsKIAotCW1lbXNldChjZGIsIDAsIEFUQVBJX0NEQl9MRU4pOwotCWNkYlswXSA9IFJFUVVFU1RfU0VOU0U7Ci0JY2RiWzRdID0gU0NTSV9TRU5TRV9CVUZGRVJTSVpFOwotCiAJdGYuZmxhZ3MgfD0gQVRBX1RGTEFHX0lTQUREUiB8IEFUQV9URkxBR19ERVZJQ0U7CiAJdGYuY29tbWFuZCA9IEFUQV9DTURfUEFDS0VUOwogCkBAIC0xNDQ1LDcgKzE1NjQsOSBAQAogCiAJY2FzZSBBVEFfREVWX0FUQVBJOgogCQlpZiAoIShxYy0+YXAtPnBmbGFncyAmIEFUQV9QRkxBR19GUk9aRU4pKSB7Ci0JCQl0bXAgPSBhdGFwaV9laF9yZXF1ZXN0X3NlbnNlKHFjKTsKKwkJCXRtcCA9IGF0YXBpX2VoX3JlcXVlc3Rfc2Vuc2UocWMtPmRldiwKKwkJCQkJCXFjLT5zY3NpY21kLT5zZW5zZV9idWZmZXIsCisJCQkJCQlxYy0+cmVzdWx0X3RmLmZlYXR1cmUgPj4gNCk7CiAJCQlpZiAoIXRtcCkgewogCQkJCS8qIEFUQV9RQ0ZMQUdfU0VOU0VfVkFMSUQgaXMgdXNlZCB0bwogCQkJCSAqIHRlbGwgYXRhcGlfcWNfY29tcGxldGUoKSB0aGF0IHNlbnNlCkBAIC0yMDcxLDEzICsyMTkyLDEyIEBACiAJCSBhdGFfcHJlcmVzZXRfZm5fdCBwcmVyZXNldCwgYXRhX3Jlc2V0X2ZuX3Qgc29mdHJlc2V0LAogCQkgYXRhX3Jlc2V0X2ZuX3QgaGFyZHJlc2V0LCBhdGFfcG9zdHJlc2V0X2ZuX3QgcG9zdHJlc2V0KQogewotCWNvbnN0IGludCBtYXhfdHJpZXMgPSBBUlJBWV9TSVpFKGF0YV9laF9yZXNldF90aW1lb3V0cyk7CiAJc3RydWN0IGF0YV9wb3J0ICphcCA9IGxpbmstPmFwOwogCXN0cnVjdCBhdGFfZWhfY29udGV4dCAqZWhjID0gJmxpbmstPmVoX2NvbnRleHQ7CiAJdW5zaWduZWQgaW50ICpjbGFzc2VzID0gZWhjLT5jbGFzc2VzOwogCXVuc2lnbmVkIGludCBsZmxhZ3MgPSBsaW5rLT5mbGFnczsKIAlpbnQgdmVyYm9zZSA9ICEoZWhjLT5pLmZsYWdzICYgQVRBX0VISV9RVUlFVCk7Ci0JaW50IHRyeSA9IDA7CisJaW50IG1heF90cmllcyA9IDAsIHRyeSA9IDA7CiAJc3RydWN0IGF0YV9kZXZpY2UgKmRldjsKIAl1bnNpZ25lZCBsb25nIGRlYWRsaW5lLCBub3c7CiAJYXRhX3Jlc2V0X2ZuX3QgcmVzZXQ7CkBAIC0yMDg4LDExICsyMjA4LDIwIEBACiAJLyoKIAkgKiBQcmVwYXJlIHRvIHJlc2V0CiAJICovCisJd2hpbGUgKGF0YV9laF9yZXNldF90aW1lb3V0c1ttYXhfdHJpZXNdICE9IFVMT05HX01BWCkKKwkJbWF4X3RyaWVzKys7CisKKwlub3cgPSBqaWZmaWVzOworCWRlYWRsaW5lID0gYXRhX2RlYWRsaW5lKGVoYy0+bGFzdF9yZXNldCwgQVRBX0VIX1JFU0VUX0NPT0xfRE9XTik7CisJaWYgKHRpbWVfYmVmb3JlKG5vdywgZGVhZGxpbmUpKQorCQlzY2hlZHVsZV90aW1lb3V0X3VuaW50ZXJydXB0aWJsZShkZWFkbGluZSAtIG5vdyk7CisKIAlzcGluX2xvY2tfaXJxc2F2ZShhcC0+bG9jaywgZmxhZ3MpOwogCWFwLT5wZmxhZ3MgfD0gQVRBX1BGTEFHX1JFU0VUVElORzsKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKGFwLT5sb2NrLCBmbGFncyk7CiAKIAlhdGFfZWhfYWJvdXRfdG9fZG8obGluaywgTlVMTCwgQVRBX0VIX1JFU0VUKTsKKwllaGMtPmxhc3RfcmVzZXQgPSBqaWZmaWVzOwogCiAJYXRhX2xpbmtfZm9yX2VhY2hfZGV2KGRldiwgbGluaykgewogCQkvKiBJZiB3ZSBpc3N1ZSBhbiBTUlNUIHRoZW4gYW4gQVRBIGRyaXZlIChub3QgQVRBUEkpCkBAIC0yMTI1LDcgKzIyNTQsOCBAQAogCX0KIAogCWlmIChwcmVyZXNldCkgewotCQlyYyA9IHByZXJlc2V0KGxpbmssIGppZmZpZXMgKyBBVEFfRUhfUFJFUkVTRVRfVElNRU9VVCk7CisJCXJjID0gcHJlcmVzZXQobGluaywKKwkJCSAgICAgIGF0YV9kZWFkbGluZShqaWZmaWVzLCBBVEFfRUhfUFJFUkVTRVRfVElNRU9VVCkpOwogCQlpZiAocmMpIHsKIAkJCWlmIChyYyA9PSAtRU5PRU5UKSB7CiAJCQkJYXRhX2xpbmtfcHJpbnRrKGxpbmssIEtFUk5fREVCVUcsCkBAIC0yMTU3LDEwICsyMjg3LDExIEBACiAJLyoKIAkgKiBQZXJmb3JtIHJlc2V0CiAJICovCisJZWhjLT5sYXN0X3Jlc2V0ID0gamlmZmllczsKIAlpZiAoYXRhX2lzX2hvc3RfbGluayhsaW5rKSkKIAkJYXRhX2VoX2ZyZWV6ZV9wb3J0KGFwKTsKIAotCWRlYWRsaW5lID0gamlmZmllcyArIGF0YV9laF9yZXNldF90aW1lb3V0c1t0cnkrK107CisJZGVhZGxpbmUgPSBhdGFfZGVhZGxpbmUoamlmZmllcywgYXRhX2VoX3Jlc2V0X3RpbWVvdXRzW3RyeSsrXSk7CiAKIAlpZiAocmVzZXQpIHsKIAkJaWYgKHZlcmJvc2UpCkBAIC0yMjc3LDYgKzI0MDgsNyBAQAogCiAJLyogcmVzZXQgc3VjY2Vzc2Z1bCwgc2NoZWR1bGUgcmV2YWxpZGF0aW9uICovCiAJYXRhX2VoX2RvbmUobGluaywgTlVMTCwgQVRBX0VIX1JFU0VUKTsKKwllaGMtPmxhc3RfcmVzZXQgPSBqaWZmaWVzOwogCWVoYy0+aS5hY3Rpb24gfD0gQVRBX0VIX1JFVkFMSURBVEU7CiAKIAlyYyA9IDA7CkBAIC0yMzAzLDkgKzI0MzUsOSBAQAogCWlmICh0aW1lX2JlZm9yZShub3csIGRlYWRsaW5lKSkgewogCQl1bnNpZ25lZCBsb25nIGRlbHRhID0gZGVhZGxpbmUgLSBub3c7CiAKLQkJYXRhX2xpbmtfcHJpbnRrKGxpbmssIEtFUk5fV0FSTklORywgInJlc2V0IGZhaWxlZCAiCi0JCQkJIihlcnJubz0lZCksIHJldHJ5aW5nIGluICV1IHNlY3NcbiIsCi0JCQkJcmMsIChqaWZmaWVzX3RvX21zZWNzKGRlbHRhKSArIDk5OSkgLyAxMDAwKTsKKwkJYXRhX2xpbmtfcHJpbnRrKGxpbmssIEtFUk5fV0FSTklORywKKwkJCSJyZXNldCBmYWlsZWQgKGVycm5vPSVkKSwgcmV0cnlpbmcgaW4gJXUgc2Vjc1xuIiwKKwkJCXJjLCBESVZfUk9VTkRfVVAoamlmZmllc190b19tc2VjcyhkZWx0YSksIDEwMDApKTsKIAogCQl3aGlsZSAoZGVsdGEpCiAJCQlkZWx0YSA9IHNjaGVkdWxlX3RpbWVvdXRfdW5pbnRlcnJ1cHRpYmxlKGRlbHRhKTsKQEAgLTI1ODMsOCArMjcxNSwxMSBAQAogCQkJYXRhX2VoX2RldGFjaF9kZXYoZGV2KTsKIAogCQkvKiBzY2hlZHVsZSBwcm9iZSBpZiBuZWNlc3NhcnkgKi8KLQkJaWYgKGF0YV9laF9zY2hlZHVsZV9wcm9iZShkZXYpKQorCQlpZiAoYXRhX2VoX3NjaGVkdWxlX3Byb2JlKGRldikpIHsKIAkJCWVoYy0+dHJpZXNbZGV2LT5kZXZub10gPSBBVEFfRUhfREVWX1RSSUVTOworCQkJbWVtc2V0KGVoYy0+Y21kX3RpbWVvdXRfaWR4W2Rldi0+ZGV2bm9dLCAwLAorCQkJICAgICAgIHNpemVvZihlaGMtPmNtZF90aW1lb3V0X2lkeFtkZXYtPmRldm5vXSkpOworCQl9CiAKIAkJcmV0dXJuIDE7CiAJfSBlbHNlIHsKQEAgLTI2MjIsNyArMjc1Nyw3IEBACiB7CiAJc3RydWN0IGF0YV9saW5rICpsaW5rOwogCXN0cnVjdCBhdGFfZGV2aWNlICpkZXY7Ci0JaW50IG5yX2ZhaWxlZF9kZXZzLCBucl9kaXNhYmxlZF9kZXZzOworCWludCBucl9mYWlsZWRfZGV2czsKIAlpbnQgcmM7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIApAQCAtMjY2NSw3ICsyODAwLDYgQEAKICByZXRyeToKIAlyYyA9IDA7CiAJbnJfZmFpbGVkX2RldnMgPSAwOwotCW5yX2Rpc2FibGVkX2RldnMgPSAwOwogCiAJLyogaWYgVU5MT0FESU5HLCBmaW5pc2ggaW1tZWRpYXRlbHkgKi8KIAlpZiAoYXAtPnBmbGFncyAmIEFUQV9QRkxBR19VTkxPQURJTkcpCkBAIC0yNzMyLDggKzI4NjYsNyBAQAogCiBkZXZfZmFpbDoKIAkJbnJfZmFpbGVkX2RldnMrKzsKLQkJaWYgKGF0YV9laF9oYW5kbGVfZGV2X2ZhaWwoZGV2LCByYykpCi0JCQlucl9kaXNhYmxlZF9kZXZzKys7CisJCWF0YV9laF9oYW5kbGVfZGV2X2ZhaWwoZGV2LCByYyk7CiAKIAkJaWYgKGFwLT5wZmxhZ3MgJiBBVEFfUEZMQUdfRlJPWkVOKSB7CiAJCQkvKiBQTVAgcmVzZXQgcmVxdWlyZXMgd29ya2luZyBob3N0IHBvcnQuCkBAIC0yNzQ1LDE4ICsyODc4LDggQEAKIAkJfQogCX0KIAotCWlmIChucl9mYWlsZWRfZGV2cykgewotCQlpZiAobnJfZmFpbGVkX2RldnMgIT0gbnJfZGlzYWJsZWRfZGV2cykgewotCQkJYXRhX3BvcnRfcHJpbnRrKGFwLCBLRVJOX1dBUk5JTkcsICJmYWlsZWQgdG8gcmVjb3ZlciAiCi0JCQkJCSJzb21lIGRldmljZXMsIHJldHJ5aW5nIGluIDUgc2Vjc1xuIik7Ci0JCQlzc2xlZXAoNSk7Ci0JCX0gZWxzZSB7Ci0JCQkvKiBubyBkZXZpY2UgbGVmdCB0byByZWNvdmVyLCByZXBlYXQgZmFzdCAqLwotCQkJbXNsZWVwKDUwMCk7Ci0JCX0KLQorCWlmIChucl9mYWlsZWRfZGV2cykKIAkJZ290byByZXRyeTsKLQl9CiAKICBvdXQ6CiAJaWYgKHJjICYmIHJfZmFpbGVkX2xpbmspCmRpZmYgLS1naXQgYS9kcml2ZXJzL2F0YS9saWJhdGEtcG1wLmMgYi9kcml2ZXJzL2F0YS9saWJhdGEtcG1wLmMKaW5kZXggN2RhZjRjMC4uYjY1ZGIzMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9hdGEvbGliYXRhLXBtcC5jCisrKyBiL2RyaXZlcnMvYXRhL2xpYmF0YS1wbXAuYwpAQCAtNzI3LDE5ICs3MjcsMTIgQEAKIAkJfQogCiAJCWlmICh0cmllcykgewotCQkJaW50IHNsZWVwID0gZWhjLT5pLmZsYWdzICYgQVRBX0VISV9ESURfUkVTRVQ7Ci0KIAkJCS8qIGNvbnNlY3V0aXZlIHJldmFsaWRhdGlvbiBmYWlsdXJlcz8gc3BlZWQgZG93biAqLwogCQkJaWYgKHJldmFsX2ZhaWxlZCkKIAkJCQlzYXRhX2Rvd25fc3BkX2xpbWl0KGxpbmspOwogCQkJZWxzZQogCQkJCXJldmFsX2ZhaWxlZCA9IDE7CiAKLQkJCWF0YV9kZXZfcHJpbnRrKGRldiwgS0VSTl9XQVJOSU5HLAotCQkJCSAgICAgICAicmV0cnlpbmcgcmVzZXQlc1xuIiwKLQkJCQkgICAgICAgc2xlZXAgPyAiIGluIDUgc2VjcyIgOiAiIik7Ci0JCQlpZiAoc2xlZXApCi0JCQkJc3NsZWVwKDUpOwogCQkJZWhjLT5pLmFjdGlvbiB8PSBBVEFfRUhfUkVTRVQ7CiAJCQlnb3RvIHJldHJ5OwogCQl9IGVsc2UgewpAQCAtNzg1LDcgKzc3OCw4IEBACiAJCSAqIFNFcnJvci5OIHdvcmtpbmcuCiAJCSAqLwogCQlzYXRhX2xpbmtfaGFyZHJlc2V0KGxpbmssIHNhdGFfZGViX3RpbWluZ19ub3JtYWwsCi0JCQkJamlmZmllcyArIEFUQV9UTU9VVF9JTlRFUk5BTF9RVUlDSywgTlVMTCwgTlVMTCk7CisJCQkJYXRhX2RlYWRsaW5lKGppZmZpZXMsIEFUQV9UTU9VVF9JTlRFUk5BTF9RVUlDSyksCisJCQkJTlVMTCwgTlVMTCk7CiAKIAkJLyogdW5jb25kaXRpb25hbGx5IGNsZWFyIFNFcnJvci5OICovCiAJCXJjID0gc2F0YV9zY3Jfd3JpdGUobGluaywgU0NSX0VSUk9SLCBTRVJSX1BIWVJEWV9DSEcpOwpAQCAtOTkwLDEwICs5ODQsNyBAQAogCQlnb3RvIHJldHJ5OwogCiAJaWYgKC0tcG1wX3RyaWVzKSB7Ci0JCWF0YV9wb3J0X3ByaW50ayhhcCwgS0VSTl9XQVJOSU5HLAotCQkJCSJmYWlsZWQgdG8gcmVjb3ZlciBQTVAsIHJldHJ5aW5nIGluIDUgc2Vjc1xuIik7CiAJCXBtcF9laGMtPmkuYWN0aW9uIHw9IEFUQV9FSF9SRVNFVDsKLQkJc3NsZWVwKDUpOwogCQlnb3RvIHJldHJ5OwogCX0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9hdGEvbGliYXRhLXNjc2kuYyBiL2RyaXZlcnMvYXRhL2xpYmF0YS1zY3NpLmMKaW5kZXggNTdhNDM2NC4uZjNiNGIxNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9hdGEvbGliYXRhLXNjc2kuYworKysgYi9kcml2ZXJzL2F0YS9saWJhdGEtc2NzaS5jCkBAIC0xOTAsNiArMTkwLDg1IEBACiAJc2NzaV9idWlsZF9zZW5zZV9idWZmZXIoMCwgY21kLT5zZW5zZV9idWZmZXIsIHNrLCBhc2MsIGFzY3EpOwogfQogCitzdGF0aWMgc3NpemVfdAorYXRhX3Njc2lfZW1fbWVzc2FnZV9zdG9yZShzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICphdHRyLAorCQkJICBjb25zdCBjaGFyICpidWYsIHNpemVfdCBjb3VudCkKK3sKKwlzdHJ1Y3QgU2NzaV9Ib3N0ICpzaG9zdCA9IGNsYXNzX3RvX3Nob3N0KGRldik7CisJc3RydWN0IGF0YV9wb3J0ICphcCA9IGF0YV9zaG9zdF90b19wb3J0KHNob3N0KTsKKwlpZiAoYXAtPm9wcy0+ZW1fc3RvcmUgJiYgKGFwLT5mbGFncyAmIEFUQV9GTEFHX0VNKSkKKwkJcmV0dXJuIGFwLT5vcHMtPmVtX3N0b3JlKGFwLCBidWYsIGNvdW50KTsKKwlyZXR1cm4gLUVJTlZBTDsKK30KKworc3RhdGljIHNzaXplX3QKK2F0YV9zY3NpX2VtX21lc3NhZ2Vfc2hvdyhzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICphdHRyLAorCQkJIGNoYXIgKmJ1ZikKK3sKKwlzdHJ1Y3QgU2NzaV9Ib3N0ICpzaG9zdCA9IGNsYXNzX3RvX3Nob3N0KGRldik7CisJc3RydWN0IGF0YV9wb3J0ICphcCA9IGF0YV9zaG9zdF90b19wb3J0KHNob3N0KTsKKworCWlmIChhcC0+b3BzLT5lbV9zaG93ICYmIChhcC0+ZmxhZ3MgJiBBVEFfRkxBR19FTSkpCisJCXJldHVybiBhcC0+b3BzLT5lbV9zaG93KGFwLCBidWYpOworCXJldHVybiAtRUlOVkFMOworfQorREVWSUNFX0FUVFIoZW1fbWVzc2FnZSwgU19JUlVHTyB8IFNfSVdVR08sCisJCWF0YV9zY3NpX2VtX21lc3NhZ2Vfc2hvdywgYXRhX3Njc2lfZW1fbWVzc2FnZV9zdG9yZSk7CitFWFBPUlRfU1lNQk9MX0dQTChkZXZfYXR0cl9lbV9tZXNzYWdlKTsKKworc3RhdGljIHNzaXplX3QKK2F0YV9zY3NpX2VtX21lc3NhZ2VfdHlwZV9zaG93KHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsCisJCQkgICAgICBjaGFyICpidWYpCit7CisJc3RydWN0IFNjc2lfSG9zdCAqc2hvc3QgPSBjbGFzc190b19zaG9zdChkZXYpOworCXN0cnVjdCBhdGFfcG9ydCAqYXAgPSBhdGFfc2hvc3RfdG9fcG9ydChzaG9zdCk7CisKKwlyZXR1cm4gc25wcmludGYoYnVmLCAyMywgIiVkXG4iLCBhcC0+ZW1fbWVzc2FnZV90eXBlKTsKK30KK0RFVklDRV9BVFRSKGVtX21lc3NhZ2VfdHlwZSwgU19JUlVHTywKKwkJICBhdGFfc2NzaV9lbV9tZXNzYWdlX3R5cGVfc2hvdywgTlVMTCk7CitFWFBPUlRfU1lNQk9MX0dQTChkZXZfYXR0cl9lbV9tZXNzYWdlX3R5cGUpOworCitzdGF0aWMgc3NpemVfdAorYXRhX3Njc2lfYWN0aXZpdHlfc2hvdyhzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICphdHRyLAorCQljaGFyICpidWYpCit7CisJc3RydWN0IHNjc2lfZGV2aWNlICpzZGV2ID0gdG9fc2NzaV9kZXZpY2UoZGV2KTsKKwlzdHJ1Y3QgYXRhX3BvcnQgKmFwID0gYXRhX3Nob3N0X3RvX3BvcnQoc2Rldi0+aG9zdCk7CisJc3RydWN0IGF0YV9kZXZpY2UgKmF0YWRldiA9IGF0YV9zY3NpX2ZpbmRfZGV2KGFwLCBzZGV2KTsKKworCWlmIChhcC0+b3BzLT5zd19hY3Rpdml0eV9zaG93ICYmIChhcC0+ZmxhZ3MgJiBBVEFfRkxBR19TV19BQ1RJVklUWSkpCisJCXJldHVybiBhcC0+b3BzLT5zd19hY3Rpdml0eV9zaG93KGF0YWRldiwgYnVmKTsKKwlyZXR1cm4gLUVJTlZBTDsKK30KKworc3RhdGljIHNzaXplX3QKK2F0YV9zY3NpX2FjdGl2aXR5X3N0b3JlKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsCisJY29uc3QgY2hhciAqYnVmLCBzaXplX3QgY291bnQpCit7CisJc3RydWN0IHNjc2lfZGV2aWNlICpzZGV2ID0gdG9fc2NzaV9kZXZpY2UoZGV2KTsKKwlzdHJ1Y3QgYXRhX3BvcnQgKmFwID0gYXRhX3Nob3N0X3RvX3BvcnQoc2Rldi0+aG9zdCk7CisJc3RydWN0IGF0YV9kZXZpY2UgKmF0YWRldiA9IGF0YV9zY3NpX2ZpbmRfZGV2KGFwLCBzZGV2KTsKKwllbnVtIHN3X2FjdGl2aXR5IHZhbDsKKwlpbnQgcmM7CisKKwlpZiAoYXAtPm9wcy0+c3dfYWN0aXZpdHlfc3RvcmUgJiYgKGFwLT5mbGFncyAmIEFUQV9GTEFHX1NXX0FDVElWSVRZKSkgeworCQl2YWwgPSBzaW1wbGVfc3RydG91bChidWYsIE5VTEwsIDApOworCQlzd2l0Y2ggKHZhbCkgeworCQljYXNlIE9GRjogY2FzZSBCTElOS19PTjogY2FzZSBCTElOS19PRkY6CisJCQlyYyA9IGFwLT5vcHMtPnN3X2FjdGl2aXR5X3N0b3JlKGF0YWRldiwgdmFsKTsKKwkJCWlmICghcmMpCisJCQkJcmV0dXJuIGNvdW50OworCQkJZWxzZQorCQkJCXJldHVybiByYzsKKwkJfQorCX0KKwlyZXR1cm4gLUVJTlZBTDsKK30KK0RFVklDRV9BVFRSKHN3X2FjdGl2aXR5LCBTX0lXVUdPIHwgU19JUlVHTywgYXRhX3Njc2lfYWN0aXZpdHlfc2hvdywKKwkJCWF0YV9zY3NpX2FjdGl2aXR5X3N0b3JlKTsKK0VYUE9SVF9TWU1CT0xfR1BMKGRldl9hdHRyX3N3X2FjdGl2aXR5KTsKKwogc3RhdGljIHZvaWQgYXRhX3Njc2lfaW52YWxpZF9maWVsZChzdHJ1Y3Qgc2NzaV9jbW5kICpjbWQsCiAJCQkJICAgdm9pZCAoKmRvbmUpKHN0cnVjdCBzY3NpX2NtbmQgKikpCiB7CkBAIC04ODUsNyArOTY0LDggQEAKIAkJLyogc2V0IHRoZSBtaW4gYWxpZ25tZW50IGFuZCBwYWRkaW5nICovCiAJCWJsa19xdWV1ZV91cGRhdGVfZG1hX2FsaWdubWVudChzZGV2LT5yZXF1ZXN0X3F1ZXVlLAogCQkJCQkgICAgICAgQVRBX0RNQV9QQURfU1ogLSAxKTsKLQkJYmxrX3F1ZXVlX2RtYV9wYWQoc2Rldi0+cmVxdWVzdF9xdWV1ZSwgQVRBX0RNQV9QQURfU1ogLSAxKTsKKwkJYmxrX3F1ZXVlX3VwZGF0ZV9kbWFfcGFkKHNkZXYtPnJlcXVlc3RfcXVldWUsCisJCQkJCSBBVEFfRE1BX1BBRF9TWiAtIDEpOwogCiAJCS8qIGNvbmZpZ3VyZSBkcmFpbmluZyAqLwogCQlidWYgPSBrbWFsbG9jKEFUQVBJX01BWF9EUkFJTiwgcS0+Ym91bmNlX2dmcCB8IEdGUF9LRVJORUwpOwpAQCAtMTc3OCw3ICsxODU4LDkgQEAKIAljb25zdCB1OCBwYWdlc1tdID0gewogCQkweDAwLAkvKiBwYWdlIDB4MDAsIHRoaXMgcGFnZSAqLwogCQkweDgwLAkvKiBwYWdlIDB4ODAsIHVuaXQgc2VyaWFsIG5vIHBhZ2UgKi8KLQkJMHg4MwkvKiBwYWdlIDB4ODMsIGRldmljZSBpZGVudCBwYWdlICovCisJCTB4ODMsCS8qIHBhZ2UgMHg4MywgZGV2aWNlIGlkZW50IHBhZ2UgKi8KKwkJMHg4OSwJLyogcGFnZSAweDg5LCBhdGEgaW5mbyBwYWdlICovCisJCTB4YjEsCS8qIHBhZ2UgMHhiMSwgYmxvY2sgZGV2aWNlIGNoYXJhY3RlcmlzdGljcyBwYWdlICovCiAJfTsKIAogCXJidWZbM10gPSBzaXplb2YocGFnZXMpOwkvKiBudW1iZXIgb2Ygc3VwcG9ydGVkIFZQRCBwYWdlcyAqLwpAQCAtMTg5OSw2ICsxOTgxLDE5IEBACiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyB1bnNpZ25lZCBpbnQgYXRhX3Njc2lvcF9pbnFfYjEoc3RydWN0IGF0YV9zY3NpX2FyZ3MgKmFyZ3MsIHU4ICpyYnVmKQoreworCXJidWZbMV0gPSAweGIxOworCXJidWZbM10gPSAweDNjOworCWlmIChhdGFfaWRfbWFqb3JfdmVyc2lvbihhcmdzLT5pZCkgPiA3KSB7CisJCXJidWZbNF0gPSBhcmdzLT5pZFsyMTddID4+IDg7CisJCXJidWZbNV0gPSBhcmdzLT5pZFsyMTddOworCQlyYnVmWzddID0gYXJncy0+aWRbMTY4XSAmIDB4ZjsKKwl9CisKKwlyZXR1cm4gMDsKK30KKwogLyoqCiAgKglhdGFfc2NzaW9wX25vb3AgLSBDb21tYW5kIGhhbmRsZXIgdGhhdCBzaW1wbHkgcmV0dXJucyBzdWNjZXNzLgogICoJQGFyZ3M6IGRldmljZSBJREVOVElGWSBkYXRhIC8gU0NTSSBjb21tYW5kIG9mIGludGVyZXN0LgpAQCAtMjkyMCw2ICszMDE1LDkgQEAKIAkJY2FzZSAweDg5OgogCQkJYXRhX3Njc2lfcmJ1Zl9maWxsKCZhcmdzLCBhdGFfc2NzaW9wX2lucV84OSk7CiAJCQlicmVhazsKKwkJY2FzZSAweGIxOgorCQkJYXRhX3Njc2lfcmJ1Zl9maWxsKCZhcmdzLCBhdGFfc2NzaW9wX2lucV9iMSk7CisJCQlicmVhazsKIAkJZGVmYXVsdDoKIAkJCWF0YV9zY3NpX2ludmFsaWRfZmllbGQoY21kLCBkb25lKTsKIAkJCWJyZWFrOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9hdGEvbGliYXRhLXNmZi5jIGIvZHJpdmVycy9hdGEvbGliYXRhLXNmZi5jCmluZGV4IGMwOTA4YzIuLjMwNGZkYzYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYXRhL2xpYmF0YS1zZmYuYworKysgYi9kcml2ZXJzL2F0YS9saWJhdGEtc2ZmLmMKQEAgLTM0NSw4ICszNDUsOCBAQAogLyoqCiAgKglhdGFfc2ZmX2J1c3lfc2xlZXAgLSBzbGVlcCB1bnRpbCBCU1kgY2xlYXJzLCBvciB0aW1lb3V0CiAgKglAYXA6IHBvcnQgY29udGFpbmluZyBzdGF0dXMgcmVnaXN0ZXIgdG8gYmUgcG9sbGVkCi0gKglAdG1vdXRfcGF0OiBpbXBhdGllbmNlIHRpbWVvdXQKLSAqCUB0bW91dDogb3ZlcmFsbCB0aW1lb3V0CisgKglAdG1vdXRfcGF0OiBpbXBhdGllbmNlIHRpbWVvdXQgaW4gbXNlY3MKKyAqCUB0bW91dDogb3ZlcmFsbCB0aW1lb3V0IGluIG1zZWNzCiAgKgogICoJU2xlZXAgdW50aWwgQVRBIFN0YXR1cyByZWdpc3RlciBiaXQgQlNZIGNsZWFycywKICAqCW9yIGEgdGltZW91dCBvY2N1cnMuCkBAIC0zNjUsNyArMzY1LDcgQEAKIAogCXN0YXR1cyA9IGF0YV9zZmZfYnVzeV93YWl0KGFwLCBBVEFfQlVTWSwgMzAwKTsKIAl0aW1lcl9zdGFydCA9IGppZmZpZXM7Ci0JdGltZW91dCA9IHRpbWVyX3N0YXJ0ICsgdG1vdXRfcGF0OworCXRpbWVvdXQgPSBhdGFfZGVhZGxpbmUodGltZXJfc3RhcnQsIHRtb3V0X3BhdCk7CiAJd2hpbGUgKHN0YXR1cyAhPSAweGZmICYmIChzdGF0dXMgJiBBVEFfQlVTWSkgJiYKIAkgICAgICAgdGltZV9iZWZvcmUoamlmZmllcywgdGltZW91dCkpIHsKIAkJbXNsZWVwKDUwKTsKQEAgLTM3Nyw3ICszNzcsNyBAQAogCQkJCSJwb3J0IGlzIHNsb3cgdG8gcmVzcG9uZCwgcGxlYXNlIGJlIHBhdGllbnQgIgogCQkJCSIoU3RhdHVzIDB4JXgpXG4iLCBzdGF0dXMpOwogCi0JdGltZW91dCA9IHRpbWVyX3N0YXJ0ICsgdG1vdXQ7CisJdGltZW91dCA9IGF0YV9kZWFkbGluZSh0aW1lcl9zdGFydCwgdG1vdXQpOwogCXdoaWxlIChzdGF0dXMgIT0gMHhmZiAmJiAoc3RhdHVzICYgQVRBX0JVU1kpICYmCiAJICAgICAgIHRpbWVfYmVmb3JlKGppZmZpZXMsIHRpbWVvdXQpKSB7CiAJCW1zbGVlcCg1MCk7CkBAIC0zOTAsNyArMzkwLDcgQEAKIAlpZiAoc3RhdHVzICYgQVRBX0JVU1kpIHsKIAkJYXRhX3BvcnRfcHJpbnRrKGFwLCBLRVJOX0VSUiwgInBvcnQgZmFpbGVkIHRvIHJlc3BvbmQgIgogCQkJCSIoJWx1IHNlY3MsIFN0YXR1cyAweCV4KVxuIiwKLQkJCQl0bW91dCAvIEhaLCBzdGF0dXMpOworCQkJCURJVl9ST1VORF9VUCh0bW91dCwgMTAwMCksIHN0YXR1cyk7CiAJCXJldHVybiAtRUJVU1k7CiAJfQogCkBAIC0xODg4LDcgKzE4ODgsNyBAQAogCXVuc2lnbmVkIGludCBkZXYxID0gZGV2bWFzayAmICgxIDw8IDEpOwogCWludCByYywgcmV0ID0gMDsKIAotCW1zbGVlcChBVEFfV0FJVF9BRlRFUl9SRVNFVF9NU0VDUyk7CisJbXNsZWVwKEFUQV9XQUlUX0FGVEVSX1JFU0VUKTsKIAogCS8qIGFsd2F5cyBjaGVjayByZWFkaW5lc3Mgb2YgdGhlIG1hc3RlciBkZXZpY2UgKi8KIAlyYyA9IGF0YV9zZmZfd2FpdF9yZWFkeShsaW5rLCBkZWFkbGluZSk7CkBAIC0yMzcxLDcgKzIzNzEsOCBAQAogCiAJLyogaXNzdWUgYnVzIHJlc2V0ICovCiAJaWYgKGFwLT5mbGFncyAmIEFUQV9GTEFHX1NSU1QpIHsKLQkJcmMgPSBhdGFfYnVzX3NvZnRyZXNldChhcCwgZGV2bWFzaywgamlmZmllcyArIDQwICogSFopOworCQlyYyA9IGF0YV9idXNfc29mdHJlc2V0KGFwLCBkZXZtYXNrLAorCQkJCSAgICAgICBhdGFfZGVhZGxpbmUoamlmZmllcywgNDAwMDApKTsKIAkJaWYgKHJjICYmIHJjICE9IC1FTk9ERVYpCiAJCQlnb3RvIGVycl9vdXQ7CiAJfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9hdGEvbGliYXRhLmggYi9kcml2ZXJzL2F0YS9saWJhdGEuaAppbmRleCAxY2Y4MDNhLi5mNmY5YzI4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2F0YS9saWJhdGEuaAorKysgYi9kcml2ZXJzL2F0YS9saWJhdGEuaApAQCAtMTUxLDYgKzE1MSw4IEBACiBleHRlcm4gaW50IGF0YV9idXNfcHJvYmUoc3RydWN0IGF0YV9wb3J0ICphcCk7CiAKIC8qIGxpYmF0YS1laC5jICovCitleHRlcm4gdW5zaWduZWQgbG9uZyBhdGFfaW50ZXJuYWxfY21kX3RpbWVvdXQoc3RydWN0IGF0YV9kZXZpY2UgKmRldiwgdTggY21kKTsKK2V4dGVybiB2b2lkIGF0YV9pbnRlcm5hbF9jbWRfdGltZWRfb3V0KHN0cnVjdCBhdGFfZGV2aWNlICpkZXYsIHU4IGNtZCk7CiBleHRlcm4gZW51bSBzY3NpX2VoX3RpbWVyX3JldHVybiBhdGFfc2NzaV90aW1lZF9vdXQoc3RydWN0IHNjc2lfY21uZCAqY21kKTsKIGV4dGVybiB2b2lkIGF0YV9zY3NpX2Vycm9yKHN0cnVjdCBTY3NpX0hvc3QgKmhvc3QpOwogZXh0ZXJuIHZvaWQgYXRhX3BvcnRfd2FpdF9laChzdHJ1Y3QgYXRhX3BvcnQgKmFwKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvYXRhL3BhdGFfYmY1NHguYyBiL2RyaXZlcnMvYXRhL3BhdGFfYmY1NHguYwppbmRleCA1NTUxNjEwLi5kMzkzMjkwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2F0YS9wYXRhX2JmNTR4LmMKKysrIGIvZHJpdmVycy9hdGEvcGF0YV9iZjU0eC5jCkBAIC0xMDExLDcgKzEwMTEsNyBAQAogCXZvaWQgX19pb21lbSAqYmFzZSA9ICh2b2lkIF9faW9tZW0gKilhcC0+aW9hZGRyLmN0bF9hZGRyOwogCXVuc2lnbmVkIGludCBkZXYwID0gZGV2bWFzayAmICgxIDw8IDApOwogCXVuc2lnbmVkIGludCBkZXYxID0gZGV2bWFzayAmICgxIDw8IDEpOwotCXVuc2lnbmVkIGxvbmcgdGltZW91dDsKKwl1bnNpZ25lZCBsb25nIGRlYWRsaW5lOwogCiAJLyogaWYgZGV2aWNlIDAgd2FzIGZvdW5kIGluIGF0YV9kZXZjaGssIHdhaXQgZm9yIGl0cwogCSAqIEJTWSBiaXQgdG8gY2xlYXIKQEAgLTEwMjIsNyArMTAyMiw3IEBACiAJLyogaWYgZGV2aWNlIDEgd2FzIGZvdW5kIGluIGF0YV9kZXZjaGssIHdhaXQgZm9yCiAJICogcmVnaXN0ZXIgYWNjZXNzLCB0aGVuIHdhaXQgZm9yIEJTWSB0byBjbGVhcgogCSAqLwotCXRpbWVvdXQgPSBqaWZmaWVzICsgQVRBX1RNT1VUX0JPT1Q7CisJZGVhZGxpbmUgPSBhdGFfZGVhZGxpbmUoamlmZmllcywgQVRBX1RNT1VUX0JPT1QpOwogCXdoaWxlIChkZXYxKSB7CiAJCXU4IG5zZWN0LCBsYmFsOwogCkBAIC0xMDMxLDcgKzEwMzEsNyBAQAogCQlsYmFsID0gcmVhZF9hdGFwaV9yZWdpc3RlcihiYXNlLCBBVEFfUkVHX0xCQUwpOwogCQlpZiAoKG5zZWN0ID09IDEpICYmIChsYmFsID09IDEpKQogCQkJYnJlYWs7Ci0JCWlmICh0aW1lX2FmdGVyKGppZmZpZXMsIHRpbWVvdXQpKSB7CisJCWlmICh0aW1lX2FmdGVyKGppZmZpZXMsIGRlYWRsaW5lKSkgewogCQkJZGV2MSA9IDA7CiAJCQlicmVhazsKIAkJfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9hdGEvcGF0YV9sZWdhY3kuYyBiL2RyaXZlcnMvYXRhL3BhdGFfbGVnYWN5LmMKaW5kZXggZmU3Y2M4ZS4uYmMwMzdmZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9hdGEvcGF0YV9sZWdhY3kuYworKysgYi9kcml2ZXJzL2F0YS9wYXRhX2xlZ2FjeS5jCkBAIC0zMDUsNyArMzA1LDcgQEAKIAkJCWlvd3JpdGUzMl9yZXAoYXAtPmlvYWRkci5kYXRhX2FkZHIsIGJ1ZiwgYnVmbGVuID4+IDIpOwogCiAJCWlmICh1bmxpa2VseShzbG9wKSkgewotCQkJdTMyIHBhZDsKKwkJCV9fbGUzMiBwYWQ7CiAJCQlpZiAocncgPT0gUkVBRCkgewogCQkJCXBhZCA9IGNwdV90b19sZTMyKGlvcmVhZDMyKGFwLT5pb2FkZHIuZGF0YV9hZGRyKSk7CiAJCQkJbWVtY3B5KGJ1ZiArIGJ1ZmxlbiAtIHNsb3AsICZwYWQsIHNsb3ApOwpAQCAtNzQ2LDE0ICs3NDYsMTIgQEAKIAkJCWlvcmVhZDMyX3JlcChhcC0+aW9hZGRyLmRhdGFfYWRkciwgYnVmLCBidWZsZW4gPj4gMik7CiAKIAkJaWYgKHVubGlrZWx5KHNsb3ApKSB7Ci0JCQl1MzIgcGFkOworCQkJX19sZTMyIHBhZDsKIAkJCWlmIChydyA9PSBXUklURSkgewogCQkJCW1lbWNweSgmcGFkLCBidWYgKyBidWZsZW4gLSBzbG9wLCBzbG9wKTsKLQkJCQlwYWQgPSBsZTMyX3RvX2NwdShwYWQpOwotCQkJCWlvd3JpdGUzMihwYWQsIGFwLT5pb2FkZHIuZGF0YV9hZGRyKTsKKwkJCQlpb3dyaXRlMzIobGUzMl90b19jcHUocGFkKSwgYXAtPmlvYWRkci5kYXRhX2FkZHIpOwogCQkJfSBlbHNlIHsKLQkJCQlwYWQgPSBpb3JlYWQzMihhcC0+aW9hZGRyLmRhdGFfYWRkcik7Ci0JCQkJcGFkID0gY3B1X3RvX2xlMzIocGFkKTsKKwkJCQlwYWQgPSBjcHVfdG9fbGUzMihpb3JlYWQzMihhcC0+aW9hZGRyLmRhdGFfYWRkcikpOwogCQkJCW1lbWNweShidWYgKyBidWZsZW4gLSBzbG9wLCAmcGFkLCBzbG9wKTsKIAkJCX0KIAkJfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9hdGEvcGF0YV9xZGkuYyBiL2RyaXZlcnMvYXRhL3BhdGFfcWRpLmMKaW5kZXggOTdlNWIwOS4uNjNiN2ExYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9hdGEvcGF0YV9xZGkuYworKysgYi9kcml2ZXJzL2F0YS9wYXRhX3FkaS5jCkBAIC0xMzcsNyArMTM3LDcgQEAKIAkJCWlvd3JpdGUzMl9yZXAoYXAtPmlvYWRkci5kYXRhX2FkZHIsIGJ1ZiwgYnVmbGVuID4+IDIpOwogCiAJCWlmICh1bmxpa2VseShzbG9wKSkgewotCQkJdTMyIHBhZDsKKwkJCV9fbGUzMiBwYWQ7CiAJCQlpZiAocncgPT0gUkVBRCkgewogCQkJCXBhZCA9IGNwdV90b19sZTMyKGlvcmVhZDMyKGFwLT5pb2FkZHIuZGF0YV9hZGRyKSk7CiAJCQkJbWVtY3B5KGJ1ZiArIGJ1ZmxlbiAtIHNsb3AsICZwYWQsIHNsb3ApOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9hdGEvcGF0YV9zY2MuYyBiL2RyaXZlcnMvYXRhL3BhdGFfc2NjLmMKaW5kZXggYmJmNWFhMy4uMTY2NzNkMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9hdGEvcGF0YV9zY2MuYworKysgYi9kcml2ZXJzL2F0YS9wYXRhX3NjYy5jCkBAIC02OTYsNyArNjk2LDcgQEAKIAogCQlpZiAocmVnICYgSU5UU1RTX0JNU0lOVCkgewogCQkJdW5zaWduZWQgaW50IGNsYXNzZXM7Ci0JCQl1bnNpZ25lZCBsb25nIGRlYWRsaW5lID0gamlmZmllcyArIEFUQV9UTU9VVF9CT09UOworCQkJdW5zaWduZWQgbG9uZyBkZWFkbGluZSA9IGF0YV9kZWFkbGluZShqaWZmaWVzLCBBVEFfVE1PVVRfQk9PVCk7CiAJCQlwcmludGsoS0VSTl9XQVJOSU5HICIlczogSW50ZXJuYWwgQnVzIEVycm9yXG4iLCBEUlZfTkFNRSk7CiAJCQlvdXRfYmUzMihibWlkX2Jhc2UgKyBTQ0NfRE1BX0lOVFNULCBJTlRTVFNfQk1TSU5UKTsKIAkJCS8qIFRCRDogU1cgcmVzZXQgKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvYXRhL3BhdGFfc2lzLmMgYi9kcml2ZXJzL2F0YS9wYXRhX3Npcy5jCmluZGV4IGU4MmM2NmUuLjI2MzQ1ZDcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYXRhL3BhdGFfc2lzLmMKKysrIGIvZHJpdmVycy9hdGEvcGF0YV9zaXMuYwpAQCAtNTYsNiArNTYsNyBAQAogCXsgMHg1NTEzLCAweDEwNDMsIDB4MTEwNyB9LAkvKiBBU1VTIEE2SyAqLwogCXsgMHg1NTEzLCAweDE3MzQsIDB4MTA1RiB9LAkvKiBGU0MgQW1pbG8gQTE2MzAgKi8KIAl7IDB4NTUxMywgMHgxMDcxLCAweDg2NDAgfSwgICAgIC8qIEVhc3lOb3RlIEs1MzA1ICovCisJeyAweDU1MTMsIDB4MTAzOSwgMHg1NTEzIH0sCS8qIFRhcmdhIFZpc2lvbmFyeSAxMDAwICovCiAJLyogZW5kIG1hcmtlciAqLwogCXsgMCwgfQogfTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvYXRhL3BhdGFfd2luYm9uZC5jIGIvZHJpdmVycy9hdGEvcGF0YV93aW5ib25kLmMKaW5kZXggNDc0NTI4Zi4uYTc2MDZiMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9hdGEvcGF0YV93aW5ib25kLmMKKysrIGIvZHJpdmVycy9hdGEvcGF0YV93aW5ib25kLmMKQEAgLTEwNSw3ICsxMDUsNyBAQAogCQkJaW93cml0ZTMyX3JlcChhcC0+aW9hZGRyLmRhdGFfYWRkciwgYnVmLCBidWZsZW4gPj4gMik7CiAKIAkJaWYgKHVubGlrZWx5KHNsb3ApKSB7Ci0JCQl1MzIgcGFkOworCQkJX19sZTMyIHBhZDsKIAkJCWlmIChydyA9PSBSRUFEKSB7CiAJCQkJcGFkID0gY3B1X3RvX2xlMzIoaW9yZWFkMzIoYXAtPmlvYWRkci5kYXRhX2FkZHIpKTsKIAkJCQltZW1jcHkoYnVmICsgYnVmbGVuIC0gc2xvcCwgJnBhZCwgc2xvcCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2F0YS9zYXRhX3N2dy5jIGIvZHJpdmVycy9hdGEvc2F0YV9zdncuYwppbmRleCAxNmFhNjgzLi5mYjEzYjgyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2F0YS9zYXRhX3N2dy5jCisrKyBiL2RyaXZlcnMvYXRhL3NhdGFfc3Z3LmMKQEAgLTI1MywyMSArMjUzLDI5IEBACiAJLyogc3RhcnQgaG9zdCBETUEgdHJhbnNhY3Rpb24gKi8KIAlkbWFjdGwgPSByZWFkYihtbWlvICsgQVRBX0RNQV9DTUQpOwogCXdyaXRlYihkbWFjdGwgfCBBVEFfRE1BX1NUQVJULCBtbWlvICsgQVRBX0RNQV9DTUQpOwotCS8qIFRoZXJlIGlzIGEgcmFjZSBjb25kaXRpb24gaW4gY2VydGFpbiBTQVRBIGNvbnRyb2xsZXJzIHRoYXQgY2FuCi0JICAgYmUgc2VlbiB3aGVuIHRoZSByL3cgY29tbWFuZCBpcyBnaXZlbiB0byB0aGUgY29udHJvbGxlciBiZWZvcmUgdGhlCi0JICAgaG9zdCBETUEgaXMgc3RhcnRlZC4gT24gYSBSZWFkIGNvbW1hbmQsIHRoZSBjb250cm9sbGVyIHdvdWxkIGluaXRpYXRlCi0JICAgdGhlIGNvbW1hbmQgdG8gdGhlIGRyaXZlIGV2ZW4gYmVmb3JlIGl0IHNlZXMgdGhlIERNQSBzdGFydC4gV2hlbiB0aGVyZQotCSAgIGFyZSB2ZXJ5IGZhc3QgZHJpdmVzIGNvbm5lY3RlZCB0byB0aGUgY29udHJvbGxlciwgb3Igd2hlbiB0aGUgZGF0YSByZXF1ZXN0Ci0JICAgaGl0cyBpbiB0aGUgZHJpdmUgY2FjaGUsIHRoZXJlIGlzIHRoZSBwb3NzaWJpbGl0eSB0aGF0IHRoZSBkcml2ZSByZXR1cm5zIGEgcGFydAotCSAgIG9yIGFsbCBvZiB0aGUgcmVxdWVzdGVkIGRhdGEgdG8gdGhlIGNvbnRyb2xsZXIgYmVmb3JlIHRoZSBETUEgc3RhcnQgaXMgaXNzdWVkLgotCSAgIEluIHRoaXMgY2FzZSwgdGhlIGNvbnRyb2xsZXIgd291bGQgYmVjb21lIGNvbmZ1c2VkIGFzIHRvIHdoYXQgdG8gZG8gd2l0aCB0aGUgZGF0YS4KLQkgICBJbiB0aGUgd29yc3QgY2FzZSB3aGVuIGFsbCB0aGUgZGF0YSBpcyByZXR1cm5lZCBiYWNrIHRvIHRoZSBjb250cm9sbGVyLCB0aGUKLQkgICBjb250cm9sbGVyIGNvdWxkIGhhbmcuIEluIG90aGVyIGNhc2VzIGl0IGNvdWxkIHJldHVybiBwYXJ0aWFsIGRhdGEgcmV0dXJuaW5nCi0JICAgaW4gZGF0YSBjb3JydXB0aW9uLiBUaGlzIHByb2JsZW0gaGFzIGJlZW4gc2VlbiBpbiBQUEMgc3lzdGVtcyBhbmQgY2FuIGFsc28gYXBwZWFyCi0JICAgb24gYW4gc3lzdGVtIHdpdGggdmVyeSBmYXN0IGRpc2tzLCB3aGVyZSB0aGUgU0FUQSBjb250cm9sbGVyIGlzIHNpdHRpbmcgYmVoaW5kIGEKLQkgICBudW1iZXIgb2YgYnJpZGdlcywgYW5kIGhlbmNlIHRoZXJlIGlzIHNpZ25pZmljYW50IGxhdGVuY3kgYmV0d2VlbiB0aGUgci93IGNvbW1hbmQKLQkgICBhbmQgdGhlIHN0YXJ0IGNvbW1hbmQuICovCi0JLyogaXNzdWUgci93IGNvbW1hbmQgaWYgdGhlIGFjY2VzcyBpcyB0byBBVEEqLworCS8qIFRoaXMgd29ya3MgYXJvdW5kIHBvc3NpYmxlIGRhdGEgY29ycnVwdGlvbi4KKworCSAgIE9uIGNlcnRhaW4gU0FUQSBjb250cm9sbGVycyB0aGF0IGNhbiBiZSBzZWVuIHdoZW4gdGhlIHIvdworCSAgIGNvbW1hbmQgaXMgZ2l2ZW4gdG8gdGhlIGNvbnRyb2xsZXIgYmVmb3JlIHRoZSBob3N0IERNQSBpcworCSAgIHN0YXJ0ZWQuCisKKwkgICBPbiBhIFJlYWQgY29tbWFuZCwgdGhlIGNvbnRyb2xsZXIgd291bGQgaW5pdGlhdGUgdGhlCisJICAgY29tbWFuZCB0byB0aGUgZHJpdmUgZXZlbiBiZWZvcmUgaXQgc2VlcyB0aGUgRE1BCisJICAgc3RhcnQuIFdoZW4gdGhlcmUgYXJlIHZlcnkgZmFzdCBkcml2ZXMgY29ubmVjdGVkIHRvIHRoZQorCSAgIGNvbnRyb2xsZXIsIG9yIHdoZW4gdGhlIGRhdGEgcmVxdWVzdCBoaXRzIGluIHRoZSBkcml2ZQorCSAgIGNhY2hlLCB0aGVyZSBpcyB0aGUgcG9zc2liaWxpdHkgdGhhdCB0aGUgZHJpdmUgcmV0dXJucyBhCisJICAgcGFydCBvciBhbGwgb2YgdGhlIHJlcXVlc3RlZCBkYXRhIHRvIHRoZSBjb250cm9sbGVyIGJlZm9yZQorCSAgIHRoZSBETUEgc3RhcnQgaXMgaXNzdWVkLiAgSW4gdGhpcyBjYXNlLCB0aGUgY29udHJvbGxlcgorCSAgIHdvdWxkIGJlY29tZSBjb25mdXNlZCBhcyB0byB3aGF0IHRvIGRvIHdpdGggdGhlIGRhdGEuICBJbgorCSAgIHRoZSB3b3JzdCBjYXNlIHdoZW4gYWxsIHRoZSBkYXRhIGlzIHJldHVybmVkIGJhY2sgdG8gdGhlCisJICAgY29udHJvbGxlciwgdGhlIGNvbnRyb2xsZXIgY291bGQgaGFuZy4gSW4gb3RoZXIgY2FzZXMgaXQKKwkgICBjb3VsZCByZXR1cm4gcGFydGlhbCBkYXRhIHJldHVybmluZyBpbiBkYXRhCisJICAgY29ycnVwdGlvbi4gVGhpcyBwcm9ibGVtIGhhcyBiZWVuIHNlZW4gaW4gUFBDIHN5c3RlbXMgYW5kCisJICAgY2FuIGFsc28gYXBwZWFyIG9uIGFuIHN5c3RlbSB3aXRoIHZlcnkgZmFzdCBkaXNrcywgd2hlcmUKKwkgICB0aGUgU0FUQSBjb250cm9sbGVyIGlzIHNpdHRpbmcgYmVoaW5kIGEgbnVtYmVyIG9mIGJyaWRnZXMsCisJICAgYW5kIGhlbmNlIHRoZXJlIGlzIHNpZ25pZmljYW50IGxhdGVuY3kgYmV0d2VlbiB0aGUgci93CisJICAgY29tbWFuZCBhbmQgdGhlIHN0YXJ0IGNvbW1hbmQuICovCisJLyogaXNzdWUgci93IGNvbW1hbmQgaWYgdGhlIGFjY2VzcyBpcyB0byBBVEEgKi8KIAlpZiAocWMtPnRmLnByb3RvY29sID09IEFUQV9QUk9UX0RNQSkKIAkJYXAtPm9wcy0+c2ZmX2V4ZWNfY29tbWFuZChhcCwgJnFjLT50Zik7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2F0bS9NYWtlZmlsZSBiL2RyaXZlcnMvYXRtL01ha2VmaWxlCmluZGV4IGU0ZmE5OTYuLjc0OTI2NmUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYXRtL01ha2VmaWxlCisrKyBiL2RyaXZlcnMvYXRtL01ha2VmaWxlCkBAIC02LDkgKzYsOSBAQAogaG9zdHByb2dzLXkJOj0gZm9yZTIwMGVfbWtmaXJtCiAKICMgRmlsZXMgZ2VuZXJhdGVkIHRoYXQgc2hhbGwgYmUgcmVtb3ZlZCB1cG9uIG1ha2UgY2xlYW4KLWNsZWFuLWZpbGVzIDo9IGF0bXNhcjExLmJpbiBhdG1zYXIxMS5iaW4xIGF0bXNhcjExLmJpbjIgcGNhMjAwZS5iaW4gXAotCXBjYTIwMGUuYmluMSBwY2EyMDBlLmJpbjIgcGNhMjAwZV9lY2QuYmluIHBjYTIwMGVfZWNkLmJpbjEgXAotCXBjYTIwMGVfZWNkLmJpbjIgc2JhMjAwZV9lY2QuYmluIHNiYTIwMGVfZWNkLmJpbjEgc2JhMjAwZV9lY2QuYmluMgorY2xlYW4tZmlsZXMgOj0gcGNhMjAwZS5iaW4gcGNhMjAwZS5iaW4xIHBjYTIwMGUuYmluMiBwY2EyMDBlX2VjZC5iaW4gXAorCXBjYTIwMGVfZWNkLmJpbjEgcGNhMjAwZV9lY2QuYmluMiBzYmEyMDBlX2VjZC5iaW4gc2JhMjAwZV9lY2QuYmluMSBcCisJc2JhMjAwZV9lY2QuYmluMgogIyBGaXJtd2FyZSBnZW5lcmF0ZWQgdGhhdCBzaGFsbCBiZSByZW1vdmVkIHVwb24gbWFrZSBjbGVhbgogY2xlYW4tZmlsZXMgKz0gZm9yZTIwMGVfcGNhX2Z3LmMgZm9yZTIwMGVfc2JhX2Z3LmMKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9hdG0vYW1iYXNzYWRvci5jIGIvZHJpdmVycy9hdG0vYW1iYXNzYWRvci5jCmluZGV4IDZhZGI3MmEuLjcwMzM2NGIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYXRtL2FtYmFzc2Fkb3IuYworKysgYi9kcml2ZXJzL2F0bS9hbWJhc3NhZG9yLmMKQEAgLTM0LDYgKzM0LDggQEAKICNpbmNsdWRlIDxsaW51eC9wb2lzb24uaD4KICNpbmNsdWRlIDxsaW51eC9iaXRyZXYuaD4KICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgorI2luY2x1ZGUgPGxpbnV4L2Zpcm13YXJlLmg+CisjaW5jbHVkZSA8bGludXgvaWhleC5oPgogCiAjaW5jbHVkZSA8YXNtL2F0b21pYy5oPgogI2luY2x1ZGUgPGFzbS9pby5oPgpAQCAtMjkwLDI5ICsyOTIsNiBAQAogICAKICovCiAKLS8qKioqKioqKioqIG1pY3JvY29kZSAqKioqKioqKioqLwotCi0jaWZkZWYgQU1CX05FV19NSUNST0NPREUKLSNkZWZpbmUgVUNPREUoeCkgVUNPREUyKGF0bXNhcjEyLngpCi0jZWxzZQotI2RlZmluZSBVQ09ERSh4KSBVQ09ERTIoYXRtc2FyMTEueCkKLSNlbmRpZgotI2RlZmluZSBVQ09ERTIoeCkgI3gKLQotc3RhdGljIHUzMiBfX2RldmluaXRkYXRhIHVjb2RlX3N0YXJ0ID0KLSNpbmNsdWRlIFVDT0RFKHN0YXJ0KQotOwotCi1zdGF0aWMgcmVnaW9uIF9fZGV2aW5pdGRhdGEgdWNvZGVfcmVnaW9uc1tdID0gewotI2luY2x1ZGUgVUNPREUocmVnaW9ucykKLSAgeyAwLCAwIH0KLX07Ci0KLXN0YXRpYyB1MzIgX19kZXZpbml0ZGF0YSB1Y29kZV9kYXRhW10gPSB7Ci0jaW5jbHVkZSBVQ09ERShkYXRhKQotICAweGRlYWRiZWVmCi19OwotCiBzdGF0aWMgdm9pZCBkb19ob3VzZWtlZXBpbmcgKHVuc2lnbmVkIGxvbmcgYXJnKTsKIC8qKioqKioqKioqIGdsb2JhbHMgKioqKioqKioqKi8KIApAQCAtMTg0MSw0NSArMTgyMCwzNCBAQAogCiAvKiBsb2FkZXI6IHdyaXRlIG1lbW9yeSBkYXRhIGJsb2NrcyAqLwogCi1zdGF0aWMgaW50IF9fZGV2aW5pdCBsb2FkZXJfd3JpdGUgKGxvYWRlcl9ibG9jayAqIGxiLAotCQkJCWNvbnN0IGFtYl9kZXYgKiBkZXYsIGNvbnN0IHUzMiAqIGRhdGEsCi0JCQkJdTMyIGFkZHJlc3MsIHVuc2lnbmVkIGludCBjb3VudCkgewotICB1bnNpZ25lZCBpbnQgaTsKK3N0YXRpYyBpbnQgX19kZXZpbml0IGxvYWRlcl93cml0ZSAobG9hZGVyX2Jsb2NrKiBsYiwKKwkJCQkgICBjb25zdCBhbWJfZGV2ICpkZXYsCisJCQkJICAgY29uc3Qgc3RydWN0IGloZXhfYmlucmVjICpyZWMpIHsKICAgdHJhbnNmZXJfYmxvY2sgKiB0YiA9ICZsYi0+cGF5bG9hZC50cmFuc2ZlcjsKICAgCiAgIFBSSU5URCAoREJHX0ZMT1d8REJHX0xPQUQsICJsb2FkZXJfd3JpdGUiKTsKLSAgCi0gIGlmIChjb3VudCA+IE1BWF9UUkFOU0ZFUl9EQVRBKQotICAgIHJldHVybiAtRUlOVkFMOwotICB0Yi0+YWRkcmVzcyA9IGNwdV90b19iZTMyIChhZGRyZXNzKTsKLSAgdGItPmNvdW50ID0gY3B1X3RvX2JlMzIgKGNvdW50KTsKLSAgZm9yIChpID0gMDsgaSA8IGNvdW50OyArK2kpCi0gICAgdGItPmRhdGFbaV0gPSBjcHVfdG9fYmUzMiAoZGF0YVtpXSk7CisKKyAgdGItPmFkZHJlc3MgPSByZWMtPmFkZHI7CisgIHRiLT5jb3VudCA9IGNwdV90b19iZTMyKGJlMTZfdG9fY3B1KHJlYy0+bGVuKSAvIDQpOworICBtZW1jcHkodGItPmRhdGEsIHJlYy0+ZGF0YSwgYmUxNl90b19jcHUocmVjLT5sZW4pKTsKICAgcmV0dXJuIGRvX2xvYWRlcl9jb21tYW5kIChsYiwgZGV2LCB3cml0ZV9hZGFwdGVyX21lbW9yeSk7CiB9CiAKIC8qIGxvYWRlcjogdmVyaWZ5IG1lbW9yeSBkYXRhIGJsb2NrcyAqLwogCiBzdGF0aWMgaW50IF9fZGV2aW5pdCBsb2FkZXJfdmVyaWZ5IChsb2FkZXJfYmxvY2sgKiBsYiwKLQkJCQkgY29uc3QgYW1iX2RldiAqIGRldiwgY29uc3QgdTMyICogZGF0YSwKLQkJCQkgdTMyIGFkZHJlc3MsIHVuc2lnbmVkIGludCBjb3VudCkgewotICB1bnNpZ25lZCBpbnQgaTsKKwkJCQkgICAgY29uc3QgYW1iX2RldiAqZGV2LAorCQkJCSAgICBjb25zdCBzdHJ1Y3QgaWhleF9iaW5yZWMgKnJlYykgewogICB0cmFuc2Zlcl9ibG9jayAqIHRiID0gJmxiLT5wYXlsb2FkLnRyYW5zZmVyOwogICBpbnQgcmVzOwogICAKICAgUFJJTlREIChEQkdfRkxPV3xEQkdfTE9BRCwgImxvYWRlcl92ZXJpZnkiKTsKICAgCi0gIGlmIChjb3VudCA+IE1BWF9UUkFOU0ZFUl9EQVRBKQotICAgIHJldHVybiAtRUlOVkFMOwotICB0Yi0+YWRkcmVzcyA9IGNwdV90b19iZTMyIChhZGRyZXNzKTsKLSAgdGItPmNvdW50ID0gY3B1X3RvX2JlMzIgKGNvdW50KTsKKyAgdGItPmFkZHJlc3MgPSByZWMtPmFkZHI7CisgIHRiLT5jb3VudCA9IGNwdV90b19iZTMyKGJlMTZfdG9fY3B1KHJlYy0+bGVuKSAvIDQpOwogICByZXMgPSBkb19sb2FkZXJfY29tbWFuZCAobGIsIGRldiwgcmVhZF9hZGFwdGVyX21lbW9yeSk7Ci0gIGlmICghcmVzKQotICAgIGZvciAoaSA9IDA7IGkgPCBjb3VudDsgKytpKQotICAgICAgaWYgKHRiLT5kYXRhW2ldICE9IGNwdV90b19iZTMyIChkYXRhW2ldKSkgewotCXJlcyA9IC1FSU5WQUw7Ci0JYnJlYWs7Ci0gICAgICB9CisgIGlmICghcmVzICYmIG1lbWNtcCh0Yi0+ZGF0YSwgcmVjLT5kYXRhLCBiZTE2X3RvX2NwdShyZWMtPmxlbikpKQorICAgIHJlcyA9IC1FSU5WQUw7CiAgIHJldHVybiByZXM7CiB9CiAKQEAgLTE5NjIsNDcgKzE5MzAsNTMgQEAKIC8qKioqKioqKioqIHRyYW5zZmVyIGFuZCBzdGFydCB0aGUgbWljcm9jb2RlICoqKioqKioqKiovCiAKIHN0YXRpYyBpbnQgX19kZXZpbml0IHVjb2RlX2luaXQgKGxvYWRlcl9ibG9jayAqIGxiLCBhbWJfZGV2ICogZGV2KSB7Ci0gIHVuc2lnbmVkIGludCBpID0gMDsKLSAgdW5zaWduZWQgaW50IHRvdGFsID0gMDsKLSAgY29uc3QgdTMyICogcG9pbnRlciA9IHVjb2RlX2RhdGE7Ci0gIHUzMiBhZGRyZXNzOwotICB1bnNpZ25lZCBpbnQgY291bnQ7CisgIGNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZnc7CisgIHVuc2lnbmVkIGxvbmcgc3RhcnRfYWRkcmVzczsKKyAgY29uc3Qgc3RydWN0IGloZXhfYmlucmVjICpyZWM7CiAgIGludCByZXM7CiAgIAorICByZXMgPSByZXF1ZXN0X2loZXhfZmlybXdhcmUoJmZ3LCAiYXRtc2FyMTEuZnciLCAmZGV2LT5wY2lfZGV2LT5kZXYpOworICBpZiAocmVzKSB7CisgICAgUFJJTlRLIChLRVJOX0VSUiwgIkNhbm5vdCBsb2FkIG1pY3JvY29kZSBkYXRhIik7CisgICAgcmV0dXJuIHJlczsKKyAgfQorCisgIC8qIEZpcnN0IHJlY29yZCBjb250YWlucyBqdXN0IHRoZSBzdGFydCBhZGRyZXNzICovCisgIHJlYyA9IChjb25zdCBzdHJ1Y3QgaWhleF9iaW5yZWMgKilmdy0+ZGF0YTsKKyAgaWYgKGJlMTZfdG9fY3B1KHJlYy0+bGVuKSAhPSBzaXplb2YoX19iZTMyKSB8fCBiZTMyX3RvX2NwdShyZWMtPmFkZHIpKSB7CisgICAgUFJJTlRLIChLRVJOX0VSUiwgIkJhZCBtaWNyb2NvZGUgZGF0YSAobm8gc3RhcnQgcmVjb3JkKSIpOworICAgIHJldHVybiAtRUlOVkFMOworICB9CisgIHN0YXJ0X2FkZHJlc3MgPSBiZTMyX3RvX2NwdXAoKF9fYmUzMiAqKXJlYy0+ZGF0YSk7CisKKyAgcmVjID0gaWhleF9uZXh0X2JpbnJlYyhyZWMpOworCiAgIFBSSU5URCAoREJHX0ZMT1d8REJHX0xPQUQsICJ1Y29kZV9pbml0Iik7Ci0gIAotICB3aGlsZSAoYWRkcmVzcyA9IHVjb2RlX3JlZ2lvbnNbaV0uc3RhcnQsCi0JIGNvdW50ID0gdWNvZGVfcmVnaW9uc1tpXS5jb3VudCkgewotICAgIFBSSU5URCAoREJHX0xPQUQsICJzdGFydGluZyByZWdpb24gKCV4LCAldSkiLCBhZGRyZXNzLCBjb3VudCk7Ci0gICAgd2hpbGUgKGNvdW50KSB7Ci0gICAgICB1bnNpZ25lZCBpbnQgd29yZHM7Ci0gICAgICBpZiAoY291bnQgPD0gTUFYX1RSQU5TRkVSX0RBVEEpCi0Jd29yZHMgPSBjb3VudDsKLSAgICAgIGVsc2UKLQl3b3JkcyA9IE1BWF9UUkFOU0ZFUl9EQVRBOwotICAgICAgdG90YWwgKz0gd29yZHM7Ci0gICAgICByZXMgPSBsb2FkZXJfd3JpdGUgKGxiLCBkZXYsIHBvaW50ZXIsIGFkZHJlc3MsIHdvcmRzKTsKLSAgICAgIGlmIChyZXMpCi0JcmV0dXJuIHJlczsKLSAgICAgIHJlcyA9IGxvYWRlcl92ZXJpZnkgKGxiLCBkZXYsIHBvaW50ZXIsIGFkZHJlc3MsIHdvcmRzKTsKLSAgICAgIGlmIChyZXMpCi0JcmV0dXJuIHJlczsKLSAgICAgIGNvdW50IC09IHdvcmRzOwotICAgICAgYWRkcmVzcyArPSBzaXplb2YodTMyKSAqIHdvcmRzOwotICAgICAgcG9pbnRlciArPSB3b3JkczsKKworICB3aGlsZSAocmVjKSB7CisgICAgUFJJTlREIChEQkdfTE9BRCwgInN0YXJ0aW5nIHJlZ2lvbiAoJXgsICV1KSIsIGJlMzJfdG9fY3B1KHJlYy0+YWRkciksCisJICAgIGJlMTZfdG9fY3B1KHJlYy0+bGVuKSk7CisgICAgaWYgKGJlMTZfdG9fY3B1KHJlYy0+bGVuKSA+IDQgKiBNQVhfVFJBTlNGRVJfREFUQSkgeworCSAgICBQUklOVEsgKEtFUk5fRVJSLCAiQmFkIG1pY3JvY29kZSBkYXRhIChyZWNvcmQgdG9vIGxvbmcpIik7CisJICAgIHJldHVybiAtRUlOVkFMOwogICAgIH0KLSAgICBpICs9IDE7CisgICAgaWYgKGJlMTZfdG9fY3B1KHJlYy0+bGVuKSAmIDMpIHsKKwkgICAgUFJJTlRLIChLRVJOX0VSUiwgIkJhZCBtaWNyb2NvZGUgZGF0YSAob2RkIG51bWJlciBvZiBieXRlcykiKTsKKwkgICAgcmV0dXJuIC1FSU5WQUw7CisgICAgfQorICAgIHJlcyA9IGxvYWRlcl93cml0ZShsYiwgZGV2LCByZWMpOworICAgIGlmIChyZXMpCisgICAgICBicmVhazsKKworICAgIHJlcyA9IGxvYWRlcl92ZXJpZnkobGIsIGRldiwgcmVjKTsKKyAgICBpZiAocmVzKQorICAgICAgYnJlYWs7CiAgIH0KLSAgaWYgKCpwb2ludGVyID09IEFUTV9QT0lTT04pIHsKLSAgICByZXR1cm4gbG9hZGVyX3N0YXJ0IChsYiwgZGV2LCB1Y29kZV9zdGFydCk7Ci0gIH0gZWxzZSB7Ci0gICAgLy8gY2FzdCBuZWVkZWQgYXMgdGhlcmUgaXMgbm8gJT8gZm9yIHBvaW50ZXIgZGlmZmVybmNlcwotICAgIFBSSU5URCAoREJHX0xPQUR8REJHX0VSUiwKLQkgICAgIm9mZnNldD0lbGksICpwb2ludGVyPSV4LCBhZGRyZXNzPSV4LCB0b3RhbD0ldSIsCi0JICAgIChsb25nKSAocG9pbnRlciAtIHVjb2RlX2RhdGEpLCAqcG9pbnRlciwgYWRkcmVzcywgdG90YWwpOwotICAgIFBSSU5USyAoS0VSTl9FUlIsICJpbmNvcnJlY3QgbWljcm9jb2RlIGRhdGEiKTsKLSAgICByZXR1cm4gLUVOT01FTTsKLSAgfQorICByZWxlYXNlX2Zpcm13YXJlKGZ3KTsKKyAgaWYgKCFyZXMpCisgICAgcmVzID0gbG9hZGVyX3N0YXJ0KGxiLCBkZXYsIHN0YXJ0X2FkZHJlc3MpOworCisgIHJldHVybiByZXM7CiB9CiAKIC8qKioqKioqKioqIGdpdmUgYWRhcHRlciBwYXJhbWV0ZXJzICoqKioqKioqKiovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2F0bS9hbWJhc3NhZG9yLmggYi9kcml2ZXJzL2F0bS9hbWJhc3NhZG9yLmgKaW5kZXggZGY1NWZhOC4uYmQxYzQ2YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9hdG0vYW1iYXNzYWRvci5oCisrKyBiL2RyaXZlcnMvYXRtL2FtYmFzc2Fkb3IuaApAQCAtNjU2LDE3ICs2NTYsNiBAQAogI2RlZmluZSBBTUJfREVWKGF0bV9kZXYpICgoYW1iX2RldiAqKSAoYXRtX2RldiktPmRldl9kYXRhKQogI2RlZmluZSBBTUJfVkNDKGF0bV92Y2MpICgoYW1iX3ZjYyAqKSAoYXRtX3ZjYyktPmRldl9kYXRhKQogCi0vKiB0aGUgbWljcm9jb2RlICovCi0KLXR5cGVkZWYgc3RydWN0IHsKLSAgdTMyIHN0YXJ0OwotICB1bnNpZ25lZCBpbnQgY291bnQ7Ci19IHJlZ2lvbjsKLQotc3RhdGljIHJlZ2lvbiB1Y29kZV9yZWdpb25zW107Ci1zdGF0aWMgdTMyIHVjb2RlX2RhdGFbXTsKLXN0YXRpYyB1MzIgdWNvZGVfc3RhcnQ7Ci0KIC8qIHJhdGUgcm91bmRpbmcgKi8KIAogdHlwZWRlZiBlbnVtIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvYXRtL2F0bXNhcjExLmRhdGEgYi9kcml2ZXJzL2F0bS9hdG1zYXIxMS5kYXRhCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ZGM4YTc2Li4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvYXRtL2F0bXNhcjExLmRhdGEKKysrIC9kZXYvbnVsbApAQCAtMSwyMDYzICswLDAgQEAKLS8qCi0gIE1hZGdlIEFtYmFzc2Fkb3IgQVRNIEFkYXB0ZXIgbWljcm9jb2RlLgotICBDb3B5cmlnaHQgKEMpIDE5OTUtMTk5OSAgTWFkZ2UgTmV0d29ya3MgTHRkLgotICAKLSAgVGhpcyBtaWNyb2NvZGUgZGF0YSBpcyBwbGFjZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbAotICBQdWJsaWMgTGljZW5zZS4gVGhlIEdQTCBpcyBjb250YWluZWQgaW4gL3Vzci9kb2MvY29weXJpZ2h0L0dQTCBvbiBhCi0gIERlYmlhbiBzeXN0ZW0gYW5kIGluIHRoZSBmaWxlIENPUFlJTkcgaW4gdGhlIExpbnV4IGtlcm5lbCBzb3VyY2UuCi0gIAotICBXZSB3b3VsZCBwcmVmZXIgeW91IG5vdCB0byBkaXN0cmlidXRlIG1vZGlmaWVkIHZlcnNpb25zIHdpdGhvdXQKLSAgY29uc3VsdGF0aW9uIGFuZCBub3QgdG8gYXNrIGZvciBhc3NlbWJseS9vdGhlciBtaWNyb2NvZGUgc291cmNlLgotKi8KLQotICAweDQwMWE2ODAwLAotICAweDAwMDAwMDAwLAotICAweDMzNWIwMDdjLAotICAweDEzNjAwMDA1LAotICAweDMzNWIxMDAwLAotICAweDNjMWFhMGMwLAotICAweDM3NWEwMTgwLAotICAweDAzNDAwMDA4LAotICAweDAwMDAwMDAwLAotICAweDE3NjBmZmZiLAotICAweDMzNWI0MDAwLAotICAweDQwMWE3MDAwLAotICAweDEzNjAwMDAzLAotICAweDI0MWIwZmMwLAotICAweGFmOWI0NTAwLAotICAweDI1MDgwMDA4LAotICAweDAzNDAwMDA4LAotICAweDQyMDAwMDEwLAotICAweDhmODEwYzkwLAotICAweDMyMjIwMDAyLAotICAweDEwNDAwMDAzLAotICAweDNjMDNhMGQxLAotICAweDI0NjNmODEwLAotICAweDAwNjBmODA5LAotICAweDI0MjEwMDAxLAotICAweDEwMDAwMDFhLAotICAweGFmODEwYzkwLAotICAweDgyMDIwMDExLAotICAweGFmOTAwYzQ4LAotICAweDA0NDEwMDBhLAotICAweDM0NDIwMDgwLAotICAweDk2N2QwMDAyLAotICAweDk2MDIwMDEyLAotICAweDAwMDAwMDAwLAotICAweDEwNWQwMDExLAotICAweDAwMDAwMDAwLAotICAweDA0MTEwMTYxLAotICAweGE2NjIwMDAyLAotICAweDEwMDAwMDBkLAotICAweGFlNjIwMDBjLAotICAweDM0ODQ4MDAwLAotICAweGEyMDIwMDExLAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDhmODM0YzAwLAotICAweDAwMDAwMDAwLAotICAweGFmODMwZmVjLAotICAweDAwZTBmODA5LAotICAweDAzZTAzODIxLAotICAweDAwMDQxNDAwLAotICAweDA0NDBmZmY3LAotICAweDAwMDAwMDAwLAotICAweGFmODA0NjBjLAotICAweDhlMTAwMDA4LAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDhmODM0YzAwLAotICAweDQ5MDAwMDFkLAotICAweGFmODMwZmVjLAotICAweDhmODIwY2JjLAotICAweDhmOWQwYzRjLAotICAweDI0NDIwMDAxLAotICAweDk3YmUwMDAwLAotICAweGFmODIwY2JjLAotICAweDEzYzAwMDA5LAotICAweGFjYTIwMGQ4LAotICAweGE3YTAwMDAwLAotICAweDNjMDEwMGQxLAotICAweDAwM2UwODI1LAotICAweDk0MjIwMDJjLAotICAweDA0MTEwMTNmLAotICAweGE0MjIwMDAyLAotICAweGFjMjIwMDBjLAotICAweGFjMjAwMDEwLAotICAweDhmOWUwYzU0LAotICAweDI3YmQwMDAyLAotICAweDE3YmUwMDAyLAotICAweDhjYTIwMGMwLAotICAweDhmOWQwYzUwLAotICAweDhmOTcwZmM4LAotICAweGFmOWQwYzRjLAotICAweDEyZTIwMDA1LAotICAweDg3ODA0MDAyLAotICAweDNjMDJhMGQxLAotICAweDI0NDJmOTRjLAotICAweDAwNDBmODA5LAotICAweDAwMDAwMDAwLAotICAweDAwZTBmODA5LAotICAweDAzZTAzODIxLAotICAweDQ1MDBmZmRjLAotICAweDhlMTEwMDBjLAotICAweDNjMTMwMGQxLAotICAweDAwMTExMTAyLAotICAweDJjNDMwNDAwLAotICAweDEwNjBmZmI5LAotICAweDAwMDIxMTgwLAotICAweDAyNjI5ODIxLAotICAweDhlNzYwMDNjLAotICAweDMyMjIwMDA4LAotICAweDE0NDBmZmI3LAotICAweDhlNzcwMDM0LAotICAweDhlNzUwMDMwLAotICAweDNjMDNjZmIwLAotICAweDE2YzAwMDAzLAotICAweDAyZDUxMDJiLAotICAweDA0MTEwMGJlLAotICAweDAwMDAwMDAwLAotICAweDEwNDBmZmE2LAotICAweDAwNzAxODI2LAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDhmODI0YzAwLAotICAweGFmOTc0YzAwLAotICAweGFmODIwZmVjLAotICAweGFjNzYwMDEwLAotICAweDAyNjA5MDIxLAotICAweDMyMjIwMDAyLAotICAweDEwNDAwMDA3LAotICAweDhmOTQ0YTAwLAotICAweDk2MDIwMDNhLAotICAweDM0ODQwMDA0LAotICAweDE0NDAwMDAzLAotICAweGFmODIwZmJjLAotICAweDNjMDI5MDAwLAotICAweGFmODIwZmJjLAotICAweDhlMTAwMDA4LAotICAweDMyOTQzZjAwLAotICAweDhlMTEwMDBjLAotICAweDI2OTRmZjAwLAotICAweDEyODAwMDczLAotICAweDNjMTMwMGQxLAotICAweDQ5MDEwMDcxLAotICAweDMyMzcwMDA4LAotICAweDE2ZTAwMDZmLAotICAweDAwMTExMTAyLAotICAweDJjNDMwNDAwLAotICAweDEwNjAwMDZjLAotICAweDAwMDJiOTgwLAotICAweDAwMDQxNzQwLAotICAweDA0NDAwMDNhLAotICAweDAyNzc5ODIxLAotICAweDEyNzIwMDIzLAotICAweDI2ZDYwMDMwLAotICAweGFlNTYwMDNjLAotICAweDhlNzYwMDNjLAotICAweDhlNzcwMDM0LAotICAweDhlNzUwMDMwLAotICAweDNjMDNjZmIwLAotICAweDE2YzAwMDAzLAotICAweDAyZDUxMDJiLAotICAweDA0MTEwMDkxLAotICAweDAwMDAwMDAwLAotICAweDEwNDAwMDYwLAotICAweDJlODIxMDAwLAotICAweDE0NDAwMDA5LAotICAweDAwNzAxODI2LAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDhmODI0YzAwLAotICAweGFmOTc0YzAwLAotICAweGFjNzYwMDEwLAotICAweGFlNDIwMDM0LAotICAweDEwMDBmZmQwLAotICAweGFmODA0NjBjLAotICAweDAwZTBmODA5LAotICAweDAzZTAzODIxLAotICAweDNjMDNjZmIwLAotICAweDAwNzAxODI2LAotICAweGFlNDYwMDM0LAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDhmODI0YzAwLAotICAweGFmOTc0YzAwLAotICAweGFmODIwZmVjLAotICAweGFjNzYwMDEwLAotICAweDEwMDBmZmMzLAotICAweGFmODA0NjBjLAotICAweDAyZDUxMDJiLAotICAweDEwNDAwMDQyLAotICAweDNjMTdjZmIwLAotICAweDJlODIxMDAwLAotICAweDE0NDAwMDA2LAotICAweDAyZjBiODI2LAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweGFlZjYwMDEwLAotICAweDEwMDBmZmI4LAotICAweGFmODA0NjBjLAotICAweDAwZTBmODA5LAotICAweDAzZTAzODIxLAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDhmODI0YzAwLAotICAweGFmODY0YzAwLAotICAweGFlZjYwMDEwLAotICAweGFmODIwZmVjLAotICAweDEwMDBmZmFlLAotICAweGFmODA0NjBjLAotICAweDMwODRmZmZiLAotICAweDhlNTcwMDM4LAotICAweDMyNDJmZmMwLAotICAweDAwMDIxMTgyLAotICAweGE3ODIwZmI4LAotICAweGFmOTcwZmI0LAotICAweDg2NWQwMDJhLAotICAweDg2NWUwMDA4LAotICAweGE3OWQwZmJhLAotICAweDI3OWQwZjE4LAotICAweDMzZGUwMDYwLAotICAweDAzYmVlODIxLAotICAweDAwMWVmMGMyLAotICAweDAzYmVlODIxLAotICAweDhmOTcwYzU4LAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDhmODM0YzAwLAotICAweDhmYTIwMDFjLAotICAweDEyZTMwMDAzLAotICAweDNjMDMwYzQwLAotICAweDNjMWVjMDAwLAotICAweGFmOWUwZmJjLAotICAweGFjNjIwZmI0LAotICAweDhmYTMwMDE4LAotICAweDI0NDIwMDBjLAotICAweDE0NDMwMDAyLAotICAweGFmODA0NjBjLAotICAweDhmYTIwMDE0LAotICAweGFlNDAwMDNjLAotICAweGFmYTIwMDFjLAotICAweDhlNzYwMDNjLAotICAweDhlNzcwMDM0LAotICAweDhlNzUwMDMwLAotICAweDNjMDNjZmIwLAotICAweDE2YzAwMDAzLAotICAweDAyZDUxMDJiLAotICAweDA0MTEwMDNjLAotICAweDAwMDAwMDAwLAotICAweDAwNzAxODI2LAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweGFjYTUwMGU0LAotICAweDEwNDAwMDMyLAotICAweGFmOTc0YzAwLAotICAweDEwMDBmZjdmLAotICAweGFjNzYwMDEwLAotICAweDAwMDQxNzQwLAotICAweDA0NDAwMDA3LAotICAweDI2ZDYwMDMwLAotICAweGFlNTYwMDNjLAotICAweDAwZTBmODA5LAotICAweDAzZTAzODIxLAotICAweGFmODA0NjBjLAotICAweDEwMDBmZjM5LAotICAweGFlNDYwMDM0LAotICAweDhlNTcwMDM4LAotICAweDMyNDJmZmMwLAotICAweDAwMDIxMTgyLAotICAweGE3ODIwZmI4LAotICAweGFmOTcwZmI0LAotICAweDhmOTcwYzU4LAotICAweDAwZTBmODA5LAotICAweDAzZTAzODIxLAotICAweDEyZTYwMDAzLAotICAweDNjMDMwYzQwLAotICAweDNjMDJjMDAwLAotICAweGFmODIwZmJjLAotICAweDg2NWQwMDJhLAotICAweDg2NWUwMDA4LAotICAweGE3OWQwZmJhLAotICAweDI3OWQwZjE4LAotICAweDMzZGUwMDYwLAotICAweDAzYmVlODIxLAotICAweDAwMWVmMGMyLAotICAweDAzYmVlODIxLAotICAweDhmYTIwMDFjLAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDhmOTc0YzAwLAotICAweGFjNjIwZmI0LAotICAweDMwODRmZmZiLAotICAweDhmYTMwMDE4LAotICAweDI0NDIwMDBjLAotICAweDE0NDMwMDAyLAotICAweGFmODA0NjBjLAotICAweDhmYTIwMDE0LAotICAweGFlNDAwMDNjLAotICAweGFmYTIwMDFjLAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweGFjYTUwMGU0LAotICAweDEwMDBmZjEzLAotICAweGFmOTc0YzAwLAotICAweDAwZTBmODA5LAotICAweDAzZTAzODIxLAotICAweDEwMDBmZjBmLAotICAweDAwMDAwMDAwLAotICAweDEwNDAwMDViLAotICAweDg2N2UwMDA4LAotICAweDI3OWQwZjE4LAotICAweDMzZGUwMDYwLAotICAweDAzYmVlODIxLAotICAweDAwMWUxMGMyLAotICAweDAzYTJlODIxLAotICAweDhmYjcwMDA4LAotICAweDhmYTIwMDBjLAotICAweDhlZjYwMDA0LAotICAweDEyZTIwMDI4LAotICAweDg2NjIwMDA4LAotICAweDgyMDMwMDEwLAotICAweDAwMDIxNzQwLAotICAweDA0NDEwMDE5LAotICAweDI0NjMwMDAxLAotICAweDEwNjAwMDE3LAotICAweDNjMDJkMWIwLAotICAweDAwNTAxMDI2LAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDhmOWU0YzAwLAotICAweGFjNTYwMDEwLAotICAweDI2ZDZmZmZlLAotICAweDg2MDIwMDEwLAotICAweDNjMDNjZmIwLAotICAweDM0NjMyMDAwLAotICAweGE2NjIwMDJhLAotICAweDhlZTIwMDAwLAotICAweDI2ZjcwMDA4LAotICAweGFlNjIwMDM4LAotICAweDhmYTIwMDIwLAotICAweGFmYjcwMDA4LAotICAweDI0MTdmZmZmLAotICAweDAyYzJhODIxLAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweGFmOWU0YzAwLAotICAweDAzZTAwMDA4LAotICAweGFlNzUwMDMwLAotICAweDhlZTIwMDAwLAotICAweDI2ZjcwMDA4LAotICAweGFlNjIwMDM4LAotICAweDhmYTIwMDIwLAotICAweGFmYjcwMDA4LAotICAweDI0MTdmZmZmLAotICAweGE2NzcwMDJhLAotICAweDAyYzJhODIxLAotICAweDNjMDNjZmIwLAotICAweDAzZTAwMDA4LAotICAweGFlNzUwMDMwLAotICAweDAwMWUxOGMyLAotICAweDAwNjUxODIxLAotICAweDhjNjMwMGM4LAotICAweDhmYTIwMDEwLAotICAweDAwMDAwMDAwLAotICAweDAwNjJiMDIzLAotICAweDFlYzAwMDAzLAotICAweDhmYTEwMDA0LAotICAweDEyYzAwMDFiLAotICAweDAwMjJiMDIzLAotICAweDJlYzMwMDQxLAotICAweDE0NjAwMDAyLAotICAweDNjMTUwMDQwLAotICAweDI0MTYwMDQwLAotICAweDAwMTYxZTgwLAotICAweDAwMDMxODgyLAotICAweDAwNzUxODI1LAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDhmOTU0YzAwLAotICAweDAwMWViODQwLAotICAweDAwNzcxODIxLAotICAweGFjNjI0ZDAwLAotICAweDAwNTYxMDIxLAotICAweDE0NDEwMDAyLAotICAweDI3ODMwZDAwLAotICAweDhmYTIwMDAwLAotICAweDAyZTNiODIxLAotICAweGFmYTIwMDEwLAotICAweDAyZDcxODIxLAotICAweGFmYTMwMDBjLAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDhlZjYwMDA0LAotICAweDEwMDBmZmI1LAotICAweGFmOTU0YzAwLAotICAweDNjMTZkZWFkLAotICAweGFlNzYwMDNjLAotICAweGFlNjAwMDM4LAotICAweDI2ZDVmZmZmLAotICAweDAwMDAxMDIxLAotICAweDAzZTAwMDA4LAotICAweGFlNzUwMDMwLAotICAweDJjNDMwYWIyLAotICAweDEwNjAwMDA1LAotICAweDJjNDMyNGIyLAotICAweDEwMDAwMDA0LAotICAweDI0MDIwYWIyLAotICAweDEwMDAwMDAyLAotICAweDI0MDIyNGIxLAotICAweDEwNjBmZmZkLAotICAweDMwNDMwMWZmLAotICAweDAwMDMxODQwLAotICAweDNjMWRhMGQxLAotICAweDI3YmRkNmNjLAotICAweDAwN2QxODIxLAotICAweDk0NjMwMDAwLAotICAweDAwMDJlYTQyLAotICAweDAwMDMxYzAwLAotICAweDI3YmRmZmZiLAotICAweDAzZTAwMDA4LAotICAweDAzYTMxMDA2LAotICAweDI0MDMwZmMwLAotICAweGFmODM0NTAwLAotICAweDEwMDAwMDAyLAotICAweDAxMjA2MDIxLAotICAweDNjMGNjZmIwLAotICAweDExZTAwMDU2LAotICAweDAxODk2MDI2LAotICAweDg1ZmUwMDAwLAotICAweDAwMDAwMDAwLAotICAweDEzYzAwMDQ3LAotICAweDNjMDJjZmIwLAotICAweDA3YzAwMDJkLAotICAweDAwMWUxZjgwLAotICAweDA0NjEwMDM0LAotICAweDAwMWUxZmMwLAotICAweDA0NjAwMDA5LAotICAweDNjMDJkM2IwLAotICAweDAwZTBmODA5LAotICAweDAzZTAzODIxLAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDhmODY0YzAwLAotICAweDhmOTkwZmVjLAotICAweDEwMDAwMDBiLAotICAweGFmOTk0YzAwLAotICAweDAxZTI3ODI2LAotICAweDAwZTBmODA5LAotICAweDAzZTAzODIxLAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDhmODY0YzAwLAotICAweGFmOTk0YzAwLAotICAweGFkZWYyMDEwLAotICAweDNjMDJkM2IwLAotICAweDAxZTI3ODI2LAotICAweDhmODIwZmMwLAotICAweDhmODMwZmM0LAotICAweGFmODI0ZDAwLAotICAweDhkZTIwMDA0LAotICAweGE1ZTAwMDAwLAotICAweGFjNjIwMDAwLAotICAweDhjNjIwMDAwLAotICAweDI0MDIwMzgwLAotICAweGFmODI0ZDAwLAotICAweDhmODI0ZDAwLAotICAweDhmODIwZjE0LAotICAweDI0NjMwMDA0LAotICAweDE0NjIwMDAyLAotICAweDI0MTlmZmZmLAotICAweDhmODMwZjEwLAotICAweGFjYTUwMGU0LAotICAweGFmODMwZmM0LAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDhmODI0YzgwLAotICAweDEwMDAwMDFmLAotICAweGFkZTIwMDNjLAotICAweDAwZTBmODA5LAotICAweDAzZTAzODIxLAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweGE1ZTAwMDAwLAotICAweDhmODY0YzAwLAotICAweDE1ODAwMDIyLAotICAweGFmOGY0NTQwLAotICAweDEwMDAwMDE3LAotICAweDAxZTI3ODI2LAotICAweDAwZTBmODA5LAotICAweDAzZTAzODIxLAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDhmODY0YzAwLAotICAweGFmOTk0YzAwLAotICAweGFkZWYyMDEwLAotICAweDNjMDJjZmIwLAotICAweDAxZTI3ODI2LAotICAweGE1ZTAwMDAwLAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDEwMDAwMDA3LAotICAweDhmOTk0YzAwLAotICAweDAwZTBmODA5LAotICAweDAzZTAzODIxLAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDhmODY0YzAwLAotICAweDhmOTkwZmVjLAotICAweDE1ODAwMDBhLAotICAweGFmOGY0NTAwLAotICAweDAwMDA3ODIxLAotICAweDEwMDAwMDE0LAotICAweGFmMTkwMDE0LAotICAweDAwZTBmODA5LAotICAweDAzZTAzODIxLAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDExODBmZmY4LAotICAweDhmODY0YzAwLAotICAweDg1MjIwMDAwLAotICAweDAxMjA3ODIxLAotICAweDA0NDAwMDBhLAotICAweDhkMjkwMDA4LAotICAweDEzMGIwMDA0LAotICAweDAwMGMxNjAyLAotICAweGFmMTkwMDE0LAotICAweDhkNzkwMDE0LAotICAweDAxNjBjMDIxLAotICAweGFmOTk0YzAwLAotICAweGFkOGU0MDEwLAotICAweDMwNDIwMDNmLAotICAweDAxYzI3MDIxLAotICAweDAwMDQxNzgwLAotICAweDA0NDAwMThiLAotICAweDhmODI0YTAwLAotICAweDMwODE4MDAwLAotICAweDMwNDIwMDA0LAotICAweDE0NDBmZjhkLAotICAweDhkNGIwMDAwLAotICAweDEwMjAwMDBjLAotICAweDMwODQ3ZmZmLAotICAweDhmODIwYzQ4LAotICAweDAxMjBmMDIxLAotICAweDI0NDMwMDM0LAotICAweDhjNWQwMDBjLAotICAweDI0NDIwMDA0LAotICAweGFmZGQwMDBjLAotICAweDE0NjJmZmZjLAotICAweDI3ZGUwMDA0LAotICAweGE1MjEwMDAwLAotICAweDEwMDBmZjgyLAotICAweDI1MDgwMDA4LAotICAweDExNjAwMDU4LAotICAweDAwMDAwMDAwLAotICAweDg1N2QwMDA4LAotICAweDhkNjMwMDBjLAotICAweDk1NjIwMDBhLAotICAweDhkNDEwMDA0LAotICAweDA3YTEwMDI2LAotICAweDAwNjIxODIxLAotICAweGE1NjMwMDBhLAotICAweDAwMDMxYzAyLAotICAweDA0MTEwMWEwLAotICAweDAwMDMxOGMwLAotICAweDAwMWQxNmMwLAotICAweDA0NDEwMDFmLAotICAweDI3YTIwMDgwLAotICAweDAwMDIxY2MwLAotICAweDA0NjEwMDBlLAotICAweDAwNDBlODIxLAotICAweDI3YmQwMDgwLAotICAweDk1NjIwMDAwLAotICAweDk1NjMwMDAyLAotICAweDM0NDIwMDBjLAotICAweGFkMjIwMDBjLAotICAweDI0MDIwMTAwLAotICAweGE1MjIwMDEwLAotICAweDk1NjIwMDJjLAotICAweGE1MjMwMDE0LAotICAweGE1MjIwMDEyLAotICAweGE1MjAwMDE2LAotICAweDM0MDI4MDAwLAotICAweGE1MjIwMDAwLAotICAweGE1N2QwMDA4LAotICAweDA3YTAwMDBjLAotICAweDhmODIwYzRjLAotICAweDhmODMwYzUwLAotICAweDI0NDFmZmU4LAotICAweDAwMjNmMDJiLAotICAweDEzYzAwMDAyLAotICAweDAwMjAxMDIxLAotICAweDI0NDIwNDAwLAotICAweDk0NWUwMDAwLAotICAweDI0NDFmZmZlLAotICAweDE3YzBmZmY5LAotICAweGFkNjIwMDEwLAotICAweGE0NGIwMDAwLAotICAweDE0MmIwMDFjLAotICAweGFkNDAwMDAwLAotICAweGFkNDAwMDA0LAotICAweDI1NGEwMDA4LAotICAweDMxNDIwMDdmLAotICAweDE0NDAwMDBlLAotICAweDAwMDQxNzgwLAotICAweDA0NDEwMDAzLAotICAweDhmODIwZmUwLAotICAweDEwMDAwMDA2LAotICAweDM0ODQwMDAxLAotICAweDM0ODQwMDAyLAotICAweDI0NDIwMDA4LAotICAweDM0NDIxMDAwLAotICAweDM4NDIxMDAwLAotICAweGFmODIwZmUwLAotICAweDM1NGEwMTAwLAotICAweDM5NGEwMTAwLAotICAweDM5NDIwMDgwLAotICAweGFmODIwZmU0LAotICAweDAwMWQxNGMwLAotICAweDA0NDEwMDAzLAotICAweDMzYTJlZmZmLAotICAweDEwMDBmZjNjLAotICAweGE1NjIwMDA4LAotICAweDA3YTAwMDlmLAotICAweDMzYTJmZmZlLAotICAweDEwMDAwMDIxLAotICAweGE1NjIwMDA4LAotICAweDhkNjIwMDI0LAotICAweDAwMWQxY2MwLAotICAweDA0NjEwMDA0LAotICAweGFkNDIwMDAwLAotICAweDMzYTNlZmZmLAotICAweDEwMDBmZjMxLAotICAweGE1NjMwMDA4LAotICAweDA3YTAwMDA1LAotICAweDMzYTNmZmZlLAotICAweGE1NjMwMDA4LAotICAweDhkNGIwMDAwLAotICAweDEwMDBmZmFhLAotICAweDAwMDAwMDAwLAotICAweDEwMDAwMDhlLAotICAweDI1MDgwMDA4LAotICAweDI1NGEwMDA4LAotICAweDMxNDIwMDdmLAotICAweDE0NDAwMDBlLAotICAweDAwMDQxNzgwLAotICAweDA0NDEwMDAzLAotICAweDhmODIwZmUwLAotICAweDEwMDAwMDA2LAotICAweDM0ODQwMDAxLAotICAweDM0ODQwMDAyLAotICAweDI0NDIwMDA4LAotICAweDM0NDIxMDAwLAotICAweDM4NDIxMDAwLAotICAweGFmODIwZmUwLAotICAweDM1NGEwMTAwLAotICAweDM5NGEwMTAwLAotICAweDM5NDIwMDgwLAotICAweGFmODIwZmU0LAotICAweDExMDAwMDAzLAotICAweDhkNGIwMDAwLAotICAweDEwMDBmZjkzLAotICAweDI1MDhmZmY4LAotICAweDhmODIwZmQ4LAotICAweDhmODMwZmRjLAotICAweDhmODEwZmQ0LAotICAweDEwNjIwMDFkLAotICAweDI0NjIwMDA4LAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDhmOGM0YzAwLAotICAweDg0N2YwMDAwLAotICAweDNjMWUwMGQxLAotICAweDMzZmQwM2ZmLAotICAweDAwMWQ1OTgwLAotICAweDAxN2U1ODIxLAotICAweDg1N2UwMDA4LAotICAweDAwMWRlOTAwLAotICAweDAwMWUwZjAwLAotICAweDAzZTFmODI1LAotICAweDA3ZTAwMDAzLAotICAweGFmODIwZmRjLAotICAweDg3OWUwY2EwLAotICAweDI3OGIwYzk4LAotICAweDA3YzEwMDQyLAotICAweDNjMDIwODQwLAotICAweDNjMDFmN2IwLAotICAweDhkNjIwMDIwLAotICAweDAwMjMwODI2LAotICAweGFjMjIwMDAwLAotICAweDhjNjIwMDA0LAotICAweDk0NjMwMDAyLAotICAweDI0NDJmZmY4LAotICAweDAwNDMxMDIxLAotICAweDEwMDAwMDRlLAotICAweGFkNjIwMDIwLAotICAweDhmODIwZmQwLAotICAweDg3ODMwY2EwLAotICAweDE0MjIwMDA3LAotICAweDI3OGIwYzk4LAotICAweDQxMDAwMDUxLAotICAweDNjMDE4MDAwLAotICAweGFjYTEwMGUwLAotICAweDhjYTEwMGM0LAotICAweDAwMDAwMDAwLAotICAweDEwMjIwMDRjLAotICAweDAwMjJlODIzLAotICAweDhmOWYwZjBjLAotICAweDA3YTEwMDAyLAotICAweGFmODEwZmQ0LAotICAweDAzZTJlODIzLAotICAweDJmYTMwMDQxLAotICAweDE0NjAwMDAyLAotICAweDNjMWUwMDQwLAotICAweDI0MWQwMDQwLAotICAweDAwMWQxZTgwLAotICAweDAwMDMxODgyLAotICAweDAwN2UxODI1LAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDhmOGM0YzAwLAotICAweGFjNjI0Y2MwLAotICAweDAwNWQxMDIxLAotICAweDE0NWYwMDAyLAotICAweDI3ODMwY2MwLAotICAweDhmODIwZjA4LAotICAweDAzYTNmMDIxLAotICAweGFmODIwZmQwLAotICAweGFmOWUwZmQ4LAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDEwMDBmZmMzLAotICAweDI0NjIwMDA4LAotICAweDhkNjMwMDBjLAotICAweDhkN2QwMDEwLAotICAweGE1NjMwMDBhLAotICAweDEzYTAwMDAyLAotICAweDAwMDMxYzAyLAotICAweGE3YTAwMDAwLAotICAweDAwMDMxOGMwLAotICAweDA0MTEwMGVmLAotICAweDAwNjgxODIxLAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDhmODIwYzQ0LAotICAweDhmODMwYzQwLAotICAweGFkNjIwMDEwLAotICAweGE1NjMwMDA0LAotICAweGE1NjMwMDA2LAotICAweDEwMDAwMDIxLAotICAweGFmOGM0YzAwLAotICAweGE1N2QwMDAwLAotICAweDhjN2QwMDA0LAotICAweDk0NjMwMDAyLAotICAweGFjNWQ0YzQwLAotICAweDI3YTIwMDA4LAotICAweGFkNjIwMDE4LAotICAweDAzYTNlODIxLAotICAweDI3YmRmZmY0LAotICAweGFkN2QwMDFjLAotICAweDI3YmQwMDA0LAotICAweGFkN2QwMDIwLAotICAweDM3YzE4MDAxLAotICAweDAwMWUxN2MwLAotICAweDA0NDFmZmUwLAotICAweGE1NjEwMDA4LAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDhmODIwYzQ0LAotICAweDhmODMwYzQwLAotICAweGFkNjIwMDEwLAotICAweGE1NjMwMDA0LAotICAweGE1NjMwMDA2LAotICAweDhmODIwZmQ4LAotICAweDhmODMwZmRjLAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDE0NjJmZjk1LAotICAweDI0NjIwMDA4LAotICAweGFmOGM0YzAwLAotICAweDg3ODMwY2EwLAotICAweDI3OGIwYzk4LAotICAweDA0NjFmZTk3LAotICAweDAwMDQxNzAwLAotICAweDA0NDAwMDA1LAotICAweDk1NjIwMDAwLAotICAweDExNzgwMDA2LAotICAweDAwMDAwMDAwLAotICAweGFmMGUwMDEwLAotICAweGE3MGQwMDA0LAotICAweDMwODRmZmY3LAotICAweDk1NmQwMDA0LAotICAweDhkNmUwMDEwLAotICAweDI1YWRmZmQwLAotICAweDA1YTFmZThmLAotICAweGFkMjIwMDBjLAotICAweDNjMGNmZmIwLAotICAweDAxODk2MDI2LAotICAweDAwMGQxODIyLAotICAweDI1YWQwMDMwLAotICAweDhkN2UwMDE4LAotICAweDhkNjEwMDFjLAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDEwM2UwMDM2LAotICAweDhmOWQ0YzAwLAotICAweDNjMDEwODQwLAotICAweGFjM2U0YzQwLAotICAweDI3ZGUwMDA4LAotICAweDExYTAwMDE3LAotICAweGFkN2UwMDE4LAotICAweDAwMGRmNjAwLAotICAweDAxOWU2MDI1LAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweGFkOGU0MDEwLAotICAweDhmOGQwYzQwLAotICAweDk1N2UwMDA2LAotICAweDhmOGUwYzQ0LAotICAweDAzY2RmMDIxLAotICAweGE1N2UwMDA2LAotICAweDAwMGNmNzgyLAotICAweDAwMGMwZTAyLAotICAweDAzYzFmMDIxLAotICAweDAwMWUwZjgwLAotICAweDAwMGM2MjAwLAotICAweDAwMGM2MjAyLAotICAweDAxODE2MDI1LAotICAweDMzZGUwMDNjLAotICAweDAxOWU2MDIxLAotICAweDM0MDEwMDAxLAotICAweDEwMDAwMDA4LAotICAweGE1MjEwMDAwLAotICAweDk1N2UwMDA2LAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDhmOGQwYzQwLAotICAweDhmOGUwYzQ0LAotICAweDAzY2RmMDIxLAotICAweGE1N2UwMDA2LAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDAxYTNmMDJiLAotICAweDE3YzAwMDA4LAotICAweDAwMDNmNjAwLAotICAweDAxYTM2ODIzLAotICAweDAxOWU2MDI1LAotICAweDAxODk2MDI2LAotICAweDRkMDFmZmY3LAotICAweDAwMDAwMDAwLAotICAweDEwMDBmZTU4LAotICAweGFmOWQ0YzAwLAotICAweDhkN2UwMDE4LAotICAweDhkNjEwMDFjLAotICAweDAwMDAwMDAwLAotICAweDE0M2VmZmNlLAotICAweDAwNmQxODIzLAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDJjNjEwMDA4LAotICAweDEwMjAwMDE3LAotICAweDk1NjEwMDA4LAotICAweDAwMDAwMDAwLAotICAweDAwMDFmZjgwLAotICAweDA3ZTAwMDBiLAotICAweDM0MjEwMDAyLAotICAweDAwNmQxODIxLAotICAweDAwMDMxZTAwLAotICAweDAxODM2MDI1LAotICAweDAxODk2MDI2LAotICAweDI0MGQwMDJjLAotICAweGE1NjEwMDA4LAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDEwMDBmZTQwLAotICAweGFmOWQ0YzAwLAotICAweDNjMWYwYzQwLAotICAweGFmZmU0ZmE4LAotICAweDMwMjFmZmZkLAotICAweGE1NjEwMDA4LAotICAweDNjMGNkM2NmLAotICAweDM1OGNlMDAwLAotICAweDEwMDAwMDA4LAotICAweDM0MDMwMDAyLAotICAweDNjMWYwYzQwLAotICAweGFmZmU0ZmE4LAotICAweDExYTBmZmY5LAotICAweDAwMGRmNjAwLAotICAweDM0MDMwMDAzLAotICAweDAxOWU2MDI1LAotICAweDAxODk2MDI2LAotICAweDM0ODQwMDA4LAotICAweDM0NDIwMDAyLAotICAweGFkMjIwMDBjLAotICAweDk1NjIwMDA2LAotICAweGE1MjMwMDAwLAotICAweGFkMjIwMDM4LAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDg1N2UwMDA4LAotICAweDhmODIwZmE4LAotICAweDk3ODMwZmFjLAotICAweGFkMjIwMDA0LAotICAweDMzYzE3ZmZmLAotICAweGFkNjAwMDEwLAotICAweGE1NjEwMDA4LAotICAweDEwNjBmZTIwLAotICAweGFmOWQ0YzAwLAotICAweGE1N2UwMDA4LAotICAweDAwMDMxOTAwLAotICAweDMwNjMzZmYwLAotICAweGE1NjMwMDAwLAotICAweDhmODIwZmIwLAotICAweDNjMDMwODQwLAotICAweGFjNjI0YzQwLAotICAweDI0NDMwMDA4LAotICAweGFkNjMwMDE4LAotICAweDk3ODMwZmFlLAotICAweDI0NDJmZmY0LAotICAweDAwNjIxODIxLAotICAweGFkNjMwMDFjLAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDhmOGQwYzQwLAotICAweDhmODMwYzQ0LAotICAweGE1NmQwMDA0LAotICAweGE1NmQwMDA2LAotICAweGFkNjMwMDEwLAotICAweDEwMDBmZTBhLAotICAweGFmOWQ0YzAwLAotICAweDhmODIwZmUwLAotICAweDAwMDQwZmMwLAotICAweDhjNDMwMDAwLAotICAweDA0MjEwMDFiLAotICAweDhmOWYwZmU0LAotICAweDhjNWQwMDA0LAotICAweGFjNDAwMDA0LAotICAweDEwNjAwMDBlLAotICAweGFjNDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDk0NjIwMDI4LAotICAweDAwMDAwMDAwLAotICAweDAwNWYxMDIwLAotICAweDhjNDEwMDA0LAotICAweDAwMDAwMDAwLAotICAweDEwMjAwMDAzLAotICAweGFjNDMwMDA0LAotICAweDEwMDAwMDAyLAotICAweGFjMjMwMDI0LAotICAweGFjNDMwMDAwLAotICAweDE3YTNmZmY0LAotICAweDhjNjMwMDI0LAotICAweDhmODIwZmUwLAotICAweDNiZmYwMDgwLAotICAweDI0NDIwMDA4LAotICAweDM0NDIxMDAwLAotICAweDM4NDIxMDAwLAotICAweGFmODIwZmUwLAotICAweGFmOWYwZmU0LAotICAweDEwMDBmZTU3LAotICAweDMwODRmZmZlLAotICAweDEwNjAwMDEwLAotICAweDAwMDAwMDAwLAotICAweDk0N2QwMDI4LAotICAweDAwMDAwMDAwLAotICAweDAzYmZlODIwLAotICAweDhmYTEwMDA0LAotICAweGFmYTMwMDA0LAotICAweDEwMjAwMDAzLAotICAweDhjNWUwMDA0LAotICAweDEwMDAwMDAyLAotICAweGFjMjMwMDI0LAotICAweGFmYTMwMDAwLAotICAweDhjNjEwMDI0LAotICAweDE3YzNmZTQ4LAotICAweGFjNDEwMDAwLAotICAweGFjNDAwMDA0LAotICAweGFjNDAwMDAwLAotICAweDEwMDBmZTQ0LAotICAweDMwODRmZmZkLAotICAweDJjNjIwMTAwLAotICAweDE0NDAwMDBlLAotICAweDAwNmExMDIxLAotICAweDMxNDMwMDdmLAotICAweDAxNDMxODIzLAotICAweDAwNDMxODIzLAotICAweDMwNjIwMDdmLAotICAweGE1NjIwMDI4LAotICAweDAwNjIxODIzLAotICAweDAwMDMxOTAyLAotICAweDhmODIwZmUwLAotICAweDI0NjNmZmY4LAotICAweDAwNjIxODIxLAotICAweDM0NjMxMDAwLAotICAweDEwMDAwMDAzLAotICAweDM4NjMxMDAwLAotICAweDM0NDMwMTAwLAotICAweDM4NjMwMTAwLAotICAweDhjNjIwMDA0LAotICAweDAwMDAwMDAwLAotICAweDEwNDAwMDAzLAotICAweGFjNmIwMDA0LAotICAweDAzZTAwMDA4LAotICAweGFjNGIwMDI0LAotICAweDAzZTAwMDA4LAotICAweGFjNmIwMDAwLAotICAweDAwMDAwMDAyLAotICAweGEwZDBlMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAxMDAwLAotICAweDAwMDAwMDA2LAotICAweDAwMDAwMDA4LAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDA4LAotICAweDAwMDAwMDAyLAotICAweGEwZDBkNjQ4LAotICAweDAwMDAwMDAwLAotICAweDAwMDAwODg4LAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDI0MzEzMjAwLAotICAweDI0MzEzMjAwLAotICAweDI0MzEzMjAwLAotICAweDAwMDAwMDAwLAotICAweDI0NGQ0MzUyLAotICAweDI0MjA0MzZmLAotICAweDcwNzk3MjY5LAotICAweDY3Njg3NDIwLAotICAweDI4NjMyOTIwLAotICAweDRkNjE2NDY3LAotICAweDY1MjA0ZTY1LAotICAweDc0Nzc2ZjcyLAotICAweDZiNzMyMDRjLAotICAweDc0NjQyMDMxLAotICAweDM5MzkzNTJlLAotICAweDIwNDE2YzZjLAotICAweDIwNzI2OTY3LAotICAweDY4NzQ3MzIwLAotICAweDcyNjU3MzY1LAotICAweDcyNzY2NTY0LAotICAweDJlMDA0ZDYxLAotICAweDY0Njc2NTIwLAotICAweDQxNmQ2MjYxLAotICAweDczNzM2MTY0LAotICAweDZmNzIyMDc2LAotICAweDMxMmUzMDMxLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAxLAotICAweDAwMDAwMDAxLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweGZmZjA0MDAwLAotICAweDAwMDAwMDAwLAotICAweDBjMzQzZTJkLAotICAweDAwMDAwMDAwLAotICAweDNjMWNhMGQxLAotICAweDI3OWM1NjM4LAotICAweDNjMWRhMGQxLAotICAweDI3YmRkZmQwLAotICAweDNjMDhhMGQxLAotICAweDI1MDhkZmQwLAotICAweGFmODc4MDA4LAotICAweDBjMzQzYzEzLAotICAweDAwMDAwMDAwLAotICAweDI0MDQwMDAzLAotICAweDAwOTcwMDBkLAotICAweDNjMDhiZmMwLAotICAweDM1MDgwMjMwLAotICAweDhkMDgwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAxMDAwMDA4LAotICAweDAwMDAwMDAwLAotICAweDI3YmRmZmQwLAotICAweGFmYmYwMDFjLAotICAweGFmYjEwMDE4LAotICAweGFmYjAwMDE0LAotICAweDNjMTFmZmYwLAotICAweDAwMDA4MDIxLAotICAweDNjMTgwMDU2LAotICAweDM3MTgzYjc5LAotICAweDI2MTkwMjAwLAotICAweDE3MjAwMDAyLAotICAweDAzMTkwMDFhLAotICAweDAwMDcwMDBkLAotICAweDI0MDFmZmZmLAotICAweDE3MjEwMDA1LAotICAweDAwMDAwMDAwLAotICAweDNjMDE4MDAwLAotICAweDE3MDEwMDAyLAotICAweDAwMDAwMDAwLAotICAweDAwMDYwMDBkLAotICAweDAwMDAxMDEyLAotICAweDAwMTAxODQwLAotICAweDNjMDVhMGQxLAotICAweDI0YTVkNmNjLAotICAweDAwYTMyMDIxLAotICAweGE0ODIwMDAwLAotICAweDI2MTAwMDAxLAotICAweDJhMDEwMjAwLAotICAweDE0MjBmZmVhLAotICAweDAwMDAwMDAwLAotICAweDNjMDZhMGQxLAotICAweDI0YzZmOWU0LAotICAweDNjMDdhMGQxLAotICAweDI0ZTdkNjQ4LAotICAweGFjZTYwMDAwLAotICAweDNjMDhhMGQxLAotICAweDI1MDhmYjE0LAotICAweGFjZTgwMDA0LAotICAweDNjMDlhMGQxLAotICAweDI1MjlmYzk0LAotICAweGFjZTkwMDA4LAotICAweDNjMGFhMGQxLAotICAweDI1NGFmY2Q0LAotICAweGFjZWEwMDBjLAotICAweDNjMGJhMGQxLAotICAweDI1NmJmYmE4LAotICAweGFjZWIwMDEwLAotICAweDNjMGNhMGQxLAotICAweDI1OGNmYmM0LAotICAweGFjZWMwMDE0LAotICAweDNjMGRhMGQxLAotICAweDI1YWRmYmUwLAotICAweGFjZWQwMDE4LAotICAweDNjMGVhMGQxLAotICAweDI1Y2VmYmZjLAotICAweGFjZWUwMDFjLAotICAweDNjMGZhMGQxLAotICAweDI1ZWZmYzE4LAotICAweGFjZWYwMDIwLAotICAweDNjMThhMGQxLAotICAweDI3MThmYzM0LAotICAweGFjZjgwMDI0LAotICAweDNjMTlhMGQxLAotICAweDI3MzlmYzUwLAotICAweGFjZjkwMDI4LAotICAweDNjMDJhMGQxLAotICAweDI0NDJmYzYwLAotICAweGFjZTIwMDJjLAotICAweDNjMDNhMGQxLAotICAweDI0NjNmYzcwLAotICAweGFjZTMwMDMwLAotICAweDNjMDRhMGQxLAotICAweDI0ODRmYzgwLAotICAweGFjZTQwMDM0LAotICAweDNjMDVhMGQxLAotICAweDI0YTVmY2I0LAotICAweGFjZTUwMDM4LAotICAweDNjMDZhMGQxLAotICAweDI0YzZmZTA4LAotICAweGFjZTYwMDNjLAotICAweDNjMDhhMGQxLAotICAweDI1MDhmZTkwLAotICAweGFjZTgwMDQwLAotICAweDNjMDlhMGQxLAotICAweDI1MjlmYTM4LAotICAweGFjZTkwMDQ0LAotICAweDNjMGFhMGQxLAotICAweDI1NGFmYTc0LAotICAweGFjZWEwMDQ4LAotICAweDI0MTAwMDEzLAotICAweDNjMGJhMGQxLAotICAweDI1NmJmOWQ4LAotICAweDAwMTA2MDgwLAotICAweDNjMGVhMGQxLAotICAweDI1Y2VkNjQ4LAotICAweDAxY2M2ODIxLAotICAweGFkYWIwMDAwLAotICAweDI2MTAwMDAxLAotICAweDJhMDEwMDIwLAotICAweDE0MjBmZmY2LAotICAweDAwMDAwMDAwLAotICAweDhmOTg4MDAwLAotICAweDAwMDAwMDAwLAotICAweGFmMDAwMTAwLAotICAweDhmODI4MDAwLAotICAweDI0MTkwM2ZmLAotICAweGE0NTkwMjAyLAotICAweDAwMDA4MDIxLAotICAweDhmODY4MDAwLAotICAweDI0MDMwZmZmLAotICAweDAwMTAyMDQwLAotICAweDI0YzcwMzgwLAotICAweDAwZTQyODIxLAotICAweGE0YTMwMDAwLAotICAweDI2MTAwMDAxLAotICAweDJhMDEwMDA4LAotICAweDE0MjBmZmY3LAotICAweDAwMDAwMDAwLAotICAweDhmODk4MDAwLAotICAweDM0MDg5YzQwLAotICAweGFkMjgwM2EwLAotICAweDhmOGI4MDAwLAotICAweDNjMGEwMGZmLAotICAweDM1NGFmZmZmLAotICAweGFkNmEwM2E0LAotICAweDAwMDA4MDIxLAotICAweDhmOGY4MDAwLAotICAweDI0MGMwZmZmLAotICAweDAwMTA2ODQwLAotICAweDI1ZjgwMzAwLAotICAweDAzMGQ3MDIxLAotICAweGE1Y2MwMDAwLAotICAweDI2MTAwMDAxLAotICAweDJhMDEwMDA4LAotICAweDE0MjBmZmY3LAotICAweDAwMDAwMDAwLAotICAweDhmODI4MDAwLAotICAweDM0MTk5YzQwLAotICAweGFjNTkwMzIwLAotICAweDhmODQ4MDAwLAotICAweDNjMDMwMGZmLAotICAweDM0NjNmZmZmLAotICAweGFjODMwMzI0LAotICAweDhmODY4MDAwLAotICAweDI0MDUwMmZmLAotICAweGE0YzUwMjAyLAotICAweDNjMDhhMGMwLAotICAweDM1MDgwMTgwLAotICAweDNjMDlhMGQxLAotICAweDI1MjlkNWI4LAotICAweDI1MGEwMDI4LAotICAweDhkMGIwMDAwLAotICAweDhkMGMwMDA0LAotICAweGFkMmIwMDAwLAotICAweGFkMmMwMDA0LAotICAweDI1MDgwMDA4LAotICAweDE1MGFmZmZhLAotICAweDI1MjkwMDA4LAotICAweDQwMDI2MDAwLAotICAweDAwMDAwMDAwLAotICAweGFmYTIwMDI4LAotICAweDI0MDMwMDIyLAotICAweDNjMDRhMGUwLAotICAweDM0ODQwMDE0LAotICAweGFjODMwMDAwLAotICAweDhmYTUwMDI4LAotICAweDAwMDAwMDAwLAotICAweDM0YTYxMDAxLAotICAweDAwYzAxMDIxLAotICAweGFmYTYwMDI4LAotICAweDNjMDdmZmJmLAotICAweDM0ZTdmZmZmLAotICAweDAwYzczODI0LAotICAweDAwZTAxMDIxLAotICAweGFmYTcwMDI4LAotICAweDQwODc2MDAwLAotICAweDAwMDAwMDAwLAotICAweDNjMDgwMDAyLAotICAweDM1MDhkODkwLAotICAweDNjMDlmZmZlLAotICAweDM1MjkwMTMwLAotICAweGFkMjgwMDAwLAotICAweDhmYWEwMDI4LAotICAweDNjMGJmMDAwLAotICAweDAxNGI1ODI1LAotICAweDAxNjAxMDIxLAotICAweGFmYWIwMDI4LAotICAweDAxNjA2MDIxLAotICAweDQwOGM2MDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDA4MDIxLAotICAweDAwMTA3MDgwLAotICAweDAyMmU3ODIxLAotICAweGFkZTAwMDAwLAotICAweDI2MTAwMDAxLAotICAweDJhMDEwNDAwLAotICAweDE0MjBmZmZhLAotICAweDAwMDAwMDAwLAotICAweDI0MTgwMDAxLAotICAweDNjMTlhMGU4LAotICAweGFmMzgwMDAwLAotICAweDI0MDIwMDExLAotICAweDNjMDNhMGYwLAotICAweDM0NjMwMDE3LAotICAweGEwNjIwMDAwLAotICAweDNjMDRmMGViLAotICAweDM0ODQwMDcwLAotICAweDNjMDVmZmYwLAotICAweDM0YTU0YTAwLAotICAweGFjYTQwMDAwLAotICAweDNjMDZmY2ViLAotICAweDM0YzYwMDcwLAotICAweGFjYTYwMDAwLAotICAweDNjMDdmZmYwLAotICAweDM0ZTc0NzAwLAotICAweGFjZTAwMDAwLAotICAweDAwMDA4MDIxLAotICAweDNjMDhmZmYwLAotICAweDM1MDgwZmMwLAotICAweDNjMDlmZmYwLAotICAweDM1Mjk0NTAwLAotICAweGFkMjgwMDAwLAotICAweDI2MTAwMDAxLAotICAweDJhMDEwMDA0LAotICAweDE0MjBmZmY4LAotICAweDAwMDAwMDAwLAotICAweDAwMDA4MDIxLAotICAweDNjMGFkZWFkLAotICAweDAwMTA1OTgwLAotICAweDNjMDEwMGQxLAotICAweDAwMmIwODIxLAotICAweGFjMmEwMDNjLAotICAweDNjMDEwMGQxLAotICAweDAwMmIwODIxLAotICAweGFjMjAwMDMwLAotICAweDNjMDEwMGQxLAotICAweDAwMmIwODIxLAotICAweGFjMjAwMDM4LAotICAweDI0MGRmZmZmLAotICAweDNjMDEwMGQxLAotICAweDAwMmIwODIxLAotICAweGFjMmQwMDE0LAotICAweDAwMTA3MTAwLAotICAweDNjMDEwMGQxLAotICAweDAwMmIwODIxLAotICAweGE0MmUwMDAwLAotICAweDNjMDEwMGQxLAotICAweDAwMmIwODIxLAotICAweGE0MjAwMDA0LAotICAweDI0MTgwMDIwLAotICAweDNjMDEwMGQxLAotICAweDAwMmIwODIxLAotICAweGE0MzgwMDA4LAotICAweDNjMDEwMGQxLAotICAweDAwMmIwODIxLAotICAweGFjMjAwMDEwLAotICAweDI2MTAwMDAxLAotICAweDJhMDEwNDAwLAotICAweDE0MjBmZmUwLAotICAweDAwMDAwMDAwLAotICAweDAwMDA4MDIxLAotICAweDAwMTAxOGMwLAotICAweDNjMDVhMGQxLAotICAweDI0YTVlMDAwLAotICAweDAwYTMyMDIxLAotICAweGFjODAwMDAwLAotICAweDNjMDdhMGQxLAotICAweDI0ZTdlMDAwLAotICAweDI0ZTgwMDA0LAotICAweDAxMDMzMDIxLAotICAweGFjYzAwMDAwLAotICAweDI2MTAwMDAxLAotICAweDJhMDEwMDA5LAotICAweDE0MjBmZmYzLAotICAweDAwMDAwMDAwLAotICAweDI0MDkwMzgwLAotICAweDNjMGFmZmYwLAotICAweDM1NGE0ZDAwLAotICAweGFkNDkwMDAwLAotICAweDNjMGNhMDgwLAotICAweDM1OGMwMDljLAotICAweGFkODAwMDAwLAotICAweDNjMGRhMDgwLAotICAweDM1YWQwMGEwLAotICAweGFkYTAwMDAwLAotICAweDNjMGUxMTAwLAotICAweDNjMGZhMDgwLAotICAweDM1ZWYwMGE4LAotICAweGFkZWUwMDAwLAotICAweDQxMDEwMDAzLAotICAweDAwMDAwMDAwLAotICAweDQxMDBmZmZmLAotICAweDAwMDAwMDAwLAotICAweDNjMThhMDgwLAotICAweDM3MTgwMGUwLAotICAweDhmMTkwMDAwLAotICAweDNjMDFhMGQxLAotICAweGFjMzlkNmM4LAotICAweDBjMzQzZDQzLAotICAweDAzMjAyMDIxLAotICAweDhmYjAwMDE0LAotICAweDhmYmYwMDFjLAotICAweDhmYjEwMDE4LAotICAweDAzZTAwMDA4LAotICAweDI3YmQwMDMwLAotICAweDAwODBiODIxLAotICAweDNjMWNmZmYwLAotICAweGEzODAwYzg0LAotICAweGEzODAwYzg4LAotICAweDhmOTA0NDAwLAotICAweDAwMDAyMDIxLAotICAweGFmODAwY2JjLAotICAweDI0MDIwMGE4LAotICAweDI3ODMwZjAwLAotICAweDJjNWQwMDQwLAotICAweDE3YTAwMDBjLAotICAweDNjMWRmZmIwLAotICAweDAzYTNlODI2LAotICAweGFmYjc0MDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDI0NDJmZmMwLAotICAweDI0NjMwMDQwLAotICAweDEwMDBmZmYzLAotICAweDI2ZjcwMDQwLAotICAweDEwNDAwMDBkLAotICAweDAwMDAwMDAwLAotICAweDAwMDJlZTAwLAotICAweDNjMDEwMDQwLAotICAweDAzYTFlODI1LAotICAweDNjMDFmZmYwLAotICAweDAzYTFlODI2LAotICAweDAzYTNlODI2LAotICAweGFmYjc0MDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDNjMDVhMDgwLAotICAweDhmODIwZjA4LAotICAweDAwMDAwMDAwLAotICAweGFmODIwZmQ0LAotICAweGFmODIwZmQwLAotICAweGFjYTIwMGM0LAotICAweDhmODIwZjEwLAotICAweDAwMDAwMDAwLAotICAweDAwMDIxZDgyLAotICAweGFmODMwZmMwLAotICAweDAwMDMxZDgwLAotICAweDAwNDMxMDIzLAotICAweDNjMDFhMDgwLAotICAweDAwNDExMDI1LAotICAweGFmODIwZmM0LAotICAweGFmODIwZjEwLAotICAweDhmODIwZjE0LAotICAweDAwMDAwMDAwLAotICAweDAwNDMxMDIzLAotICAweDNjMDFhMDgwLAotICAweDAwNDExMDI1LAotICAweGFmODIwZjE0LAotICAweDI0MDMwMDAzLAotICAweDI3OWQwZjE4LAotICAweDI0YmUwMGM4LAotICAweDI3ODEwZDAwLAotICAweDhmYTIwMDAwLAotICAweDAwMDAwMDAwLAotICAweGFmYTIwMDEwLAotICAweGFmYzIwMDAwLAotICAweGFmYTEwMDA4LAotICAweGFmYTEwMDBjLAotICAweDhmYTIwMDE0LAotICAweDAwMDAwMDAwLAotICAweGFmYTIwMDFjLAotICAweDI3YmQwMDI0LAotICAweDI3ZGUwMDA0LAotICAweDI0MjEwMDQwLAotICAweDE0NjBmZmYzLAotICAweDI0NjNmZmZmLAotICAweDhmODIwZjAwLAotICAweDAwMDAwMDAwLAotICAweGFmODIwZmM4LAotICAweGFjYTIwMGMwLAotICAweDI3ODIwODAwLAotICAweDI0MDMwMDBmLAotICAweGFjNDAwMDAwLAotICAweDI0NDIwMDA0LAotICAweDE0NjBmZmZkLAotICAweDI0NjNmZmZmLAotICAweDhmODMwZmMwLAotICAweDAwMDAwMDAwLAotICAweGFmODM0ZDAwLAotICAweDhmODM0ZDAwLAotICAweDhmODMwZjE0LAotICAweDhmODIwZjEwLAotICAweDI0NjNmZmZjLAotICAweGFjNDAwMDAwLAotICAweDE0NDNmZmZlLAotICAweDI0NDIwMDA0LAotICAweDI0MDIwMzgwLAotICAweGFmODI0ZDAwLAotICAweDI3OWQwZjE4LAotICAweDI3YTEwMDkwLAotICAweDhmYTIwMDE0LAotICAweDhmYTMwMDE4LAotICAweDAwMDAwMDAwLAotICAweDAwNjIxODIzLAotICAweDJjN2YwMDQwLAotICAweDE3ZTAwMDA5LAotICAweDNjMWYwMDQwLAotICAweDM3ZmYwODAwLAotICAweDAzYTBmMDIxLAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweGFmZTIwMDAwLAotICAweDI0NDIwMDQwLAotICAweDEwMDBmZmY2LAotICAweDI0NjNmZmMwLAotICAweDEwNjAwMDA2LAotICAweDM3ZmYwODAwLAotICAweDAwMDMxZTAwLAotICAweDAzZTNmODI1LAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweGFmZTIwMDAwLAotICAweDI3YmQwMDI0LAotICAweDE3YTFmZmU4LAotICAweDAwMDAwMDAwLAotICAweDAwMDAzODIxLAotICAweDhmYzIwMDE0LAotICAweDhmYzMwMDE4LAotICAweDAwMDAwMDAwLAotICAweDAwNjIxODIzLAotICAweDJjN2YwMDQwLAotICAweDEzZTAwMDA0LAotICAweDNjMWYwMDQwLAotICAweDAwMDMwZTAwLAotICAweDEwMDAwMDAyLAotICAweDAzZTFmODI1LAotICAweDI0MDMwMDQwLAotICAweDM3ZmYwODAwLAotICAweDI0MWUwM2U3LAotICAweDAwMDAwODIxLAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweGFmZTIwMDAwLAotICAweDAwMjMwODIxLAotICAweDQ5MDBmZmZiLAotICAweDAwMDAwMDAwLAotICAweDg3ODA0MDAyLAotICAweDE3YzBmZmY4LAotICAweDI3ZGVmZmZmLAotICAweDE0ZTAwMDA0LAotICAweDM0ZTc0MDAwLAotICAweDAzZTdmODI1LAotICAweDEwMDBmZmYwLAotICAweGFmODEwYzYwLAotICAweGFmODEwYzVjLAotICAweDNjMDFhMGQxLAotICAweDhjMjJkNmM4LAotICAweDAwMDAwMDAwLAotICAweDNjMDFhMDgwLAotICAweGFjMjIwMGUwLAotICAweDNjMDFhMDgwLAotICAweDhjMjAwMGUwLAotICAweGFmODAwZmI0LAotICAweGE3ODAwZmI4LAotICAweGE3ODAwZmJhLAotICAweGE3ODAwZmJjLAotICAweGE3ODAwZmJlLAotICAweDI3ODIwY2MwLAotICAweGFmODIwZmRjLAotICAweGFmODIwZmQ4LAotICAweDNjMDJhMGQxLAotICAweDI0NDJkYWNjLAotICAweGFmODIwYzRjLAotICAweGFmODIwYzUwLAotICAweDI0NDIwNDAwLAotICAweGFmODIwYzU0LAotICAweDI0MDIwMDFlLAotICAweDNjMDNmZmYwLAotICAweDI0N2QwMDQwLAotICAweGFjN2QwMDA4LAotICAweDAzYTAxODIxLAotICAweDE0NDBmZmZjLAotICAweDI0NDJmZmZmLAotICAweDNjMWRmZmYwLAotICAweGFjN2QwMDA4LAotICAweDNjMDJjNzA0LAotICAweDM0NDJkZDdiLAotICAweGFmODIwYzU4LAotICAweDNjMDcwMDAwLAotICAweDI0ZTcwMTU4LAotICAweDA4MzQzZmE5LAotICAweDAwMDAwMDAwLAotICAweDhlNjIwMDM4LAotICAweDAwMDAwMDAwLAotICAweDE0NDAwMDA1LAotICAweDhmODMwYzk0LAotICAweDEyYTAwMDIyLAotICAweDI0NjMwMDAxLAotICAweDEwMDAwMDIwLAotICAweGFmODMwYzk0LAotICAweGFmODIwZmI0LAotICAweDMyNjJmZmMwLAotICAweDAwMDIxMTgyLAotICAweDg2NjMwMDJhLAotICAweGE3ODIwZmI4LAotICAweDNjMDJhMDAwLAotICAweGFmODIwZmJjLAotICAweGE3ODMwZmJhLAotICAweDg2N2UwMDA4LAotICAweDI3OWQwZjE4LAotICAweDMzZGUwMDYwLAotICAweDAzYmVlODIxLAotICAweDAwMWVmMGMyLAotICAweDAzYmVlODIxLAotICAweDhmYTIwMDFjLAotICAweDNjMDMwYzQwLAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDhmOTc0YzAwLAotICAweGFjNjIwZmI0LAotICAweDhmYTMwMDE4LAotICAweDI0NDIwMDBjLAotICAweDE0NDMwMDAzLAotICAweDAwMDAwMDAwLAotICAweDhmYTIwMDE0LAotICAweDAwMDAwMDAwLAotICAweGFmYTIwMDFjLAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweGFjYTUwMGU0LAotICAweGFmOTc0YzAwLAotICAweDAzZTAwMDA4LAotICAweGFlNjAwMDNjLAotICAweDNjMGRhMGQxLAotICAweDI1YWRkNTAwLAotICAweDExYTAwMDIxLAotICAweDAwMDAwMDAwLAotICAweDhkYTkwMDAwLAotICAweDAwMDAwMDAwLAotICAweDExMjAwMDFkLAotICAweDAwMDAwMDAwLAotICAweDhkYWEwMDA0LAotICAweDhkYWIwMDA4LAotICAweDhkYWMwMDBjLAotICAweDAwMDk0NzQwLAotICAweDA1MDEwMDA0LAotICAweDAwMDAwMDAwLAotICAweDNjMDhhMGQxLAotICAweDI1MDhkNjM4LAotICAweDAxNDg1MDIxLAotICAweDAwMDk0NzgwLAotICAweDA1MDEwMDA3LAotICAweDAwMDAwMDAwLAotICAweDExODAwMDBkLAotICAweDAwMDAwMDAwLAotICAweGFkNDAwMDAwLAotICAweDI1NGEwMDA0LAotICAweDEwMDBmZmZiLAotICAweDI1OGNmZmZjLAotICAweDExODAwMDA3LAotICAweDAwMDAwMDAwLAotICAweDhkNmUwMDAwLAotICAweDI1NmIwMDA0LAotICAweGFkNGUwMDAwLAotICAweDI1NGEwMDA0LAotICAweDEwMDBmZmY5LAotICAweDI1OGNmZmZjLAotICAweDEwMDBmZmUxLAotICAweDI1YWQwMDEwLAotICAweDAzZTAwMDA4LAotICAweDAwMDAwMDAwLAotICAweDNjMDIxMDQwLAotICAweGFjNTc0ZmYwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDhmODIwZmZjLAotICAweDAwMDAwMDAwLAotICAweDMwNDIwMDFmLAotICAweDAwMDIxMDgwLAotICAweDNjMTdhMGQxLAotICAweDAyZTJiODIxLAotICAweDI2ZjdkNjQ4LAotICAweDhlZjcwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAyZTAwMDA4LAotICAweDAwMDAwMDAwLAotICAweDI0MDJmZmZmLAotICAweGFmODIwZmZjLAotICAweDhmOTcwZmM4LAotICAweDNjMDIxMDQwLAotICAweGFjNTcwZmYwLAotICAweDhmODIwZjA0LAotICAweDI2ZjcwMDEwLAotICAweDE2ZTIwMDA0LAotICAweGFmOTcwZmM4LAotICAweDhmOTcwZjAwLAotICAweDAwMDAwMDAwLAotICAweGFmOTcwZmM4LAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDAzZTAwMDA4LAotICAweDAwMDAwMDAwLAotICAweDNjMWZhMGQxLAotICAweDI3ZmZmMDJjLAotICAweDEwMDBmZmVkLAotICAweDhmOTcwZmYwLAotICAweDNjMDIwMGQxLAotICAweDMyZjcwM2ZmLAotICAweDAwMTdiOTgwLAotICAweDAyZTJiODI1LAotICAweGFlZTAwMDNjLAotICAweDI0MDJmZmZmLAotICAweGFlZTIwMDMwLAotICAweGFlZTIwMDE0LAotICAweDk3ODMwZmY0LAotICAweDk3ODIwZmY4LAotICAweDNjMWQwMDAwLAotICAweDI3YmQwNjk4LAotICAweGE2ZTMwMDA4LAotICAweGE2ZTIwMDAyLAotICAweGFmOWYwZmU4LAotICAweDAzYTBmODA5LAotICAweGE2ZTIwMDJjLAotICAweDhmOWYwZmU4LAotICAweDEwMDBmZmQ5LAotICAweGFlZTIwMDBjLAotICAweDhmOTcwZmYwLAotICAweDNjMDIwMGQxLAotICAweDMyZjcwM2ZmLAotICAweDAwMTdiOTgwLAotICAweDAyZTJiODI1LAotICAweDk3ODIwZmY0LAotICAweDNjMDMwMDAwLAotICAweDI0NjMwNjk4LAotICAweGE2ZTIwMDAyLAotICAweGFmOWYwZmU4LAotICAweDAwNjBmODA5LAotICAweGE2ZTIwMDJjLAotICAweDhmOWYwZmU4LAotICAweDEwMDBmZmNhLAotICAweGFlZTIwMDBjLAotICAweDhmOTcwZmYwLAotICAweDNjMDIwMGQxLAotICAweDMyZjcwM2ZmLAotICAweDAwMTdiOTgwLAotICAweDAyZTJiODI1LAotICAweDk3ODIwZmY0LAotICAweDAwMDAwMDAwLAotICAweDk2ZTMwMDA4LAotICAweGE2ZTIwMDA4LAotICAweDAwNDMxMDI2LAotICAweDMwNDIwMDYwLAotICAweDEwNDBmZmJkLAotICAweDhlZTIwMDNjLAotICAweGFlZTAwMDNjLAotICAweDEwNDBmZmJhLAotICAweDNjMDI4ODAwLAotICAweGFmODIwZmJjLAotICAweDhlZTIwMDM4LAotICAweGFlZTAwMDM4LAotICAweDMwNjMwMDYwLAotICAweDI3OWQwZjE4LAotICAweDAzYTNlODIxLAotICAweDAwMDMxOGMyLAotICAweDAzYTNlODIxLAotICAweDhmYTMwMDFjLAotICAweDEwNDBmZmFmLAotICAweGFmODIwZmI0LAotICAweDNjMDIwYzQwLAotICAweGFjNDMwZmI0LAotICAweDhmYTIwMDE4LAotICAweDI0NjMwMDBjLAotICAweDE0NDMwMDAzLAotICAweDAwMDAwMDAwLAotICAweDhmYTMwMDE0LAotICAweDAwMDAwMDAwLAotICAweGFmYTMwMDFjLAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDEwMDBmZmEyLAotICAweDAwMDAwMDAwLAotICAweDhmOTcwZmYwLAotICAweDNjMDIwMGQxLAotICAweGE3OTcwZmI4LAotICAweDAwMTdiOTgwLAotICAweDMyZjdmZmMwLAotICAweDAyZTJiODIxLAotICAweGFlZTAwMDMwLAotICAweDNjMDJkZWFkLAotICAweDhlZTMwMDNjLAotICAweGFlZTIwMDNjLAotICAweDhlZTIwMDM4LAotICAweDEwNjBmZjk1LAotICAweGFlZTAwMDM4LAotICAweDNjMDM4ODAwLAotICAweGFmODMwZmJjLAotICAweDg2ZTMwMDA4LAotICAweDI3OTcwZjE4LAotICAweDMwNjMwMDYwLAotICAweDAyZTNiODIxLAotICAweDAwMDMxOGMyLAotICAweDAyZTNiODIxLAotICAweDhlZTMwMDFjLAotICAweDEwNDBmZjhhLAotICAweGFmODIwZmI0LAotICAweDNjMDIwYzQwLAotICAweGFjNDMwZmI0LAotICAweDhlZTIwMDE4LAotICAweDI0NjMwMDBjLAotICAweDE0NDMwMDAzLAotICAweDAwMDAwMDAwLAotICAweDhlZTMwMDE0LAotICAweDAwMDAwMDAwLAotICAweGFlZTMwMDFjLAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDEwMDBmZjdkLAotICAweDAwMDAwMDAwLAotICAweDhmODIwZmYwLAotICAweDhmOTcwZmY0LAotICAweDkwNDEwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMzcwODI1LAotICAweDEwMDBmZjc2LAotICAweGEwNDEwMDAwLAotICAweDhmODIwZmYwLAotICAweDhmOTcwZmY0LAotICAweDk0NDEwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMzcwODI1LAotICAweDEwMDBmZjZmLAotICAweGE0NDEwMDAwLAotICAweDhmODIwZmYwLAotICAweDhmOTcwZmY0LAotICAweDhjNDEwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMzcwODI1LAotICAweDEwMDBmZjY4LAotICAweGFjNDEwMDAwLAotICAweDhmODIwZmYwLAotICAweDhmOTcwZmY0LAotICAweDkwNDEwMDAwLAotICAweDAyZTBiODI3LAotICAweDAwMzcwODI0LAotICAweDEwMDBmZjYxLAotICAweGEwNDEwMDAwLAotICAweDhmODIwZmYwLAotICAweDhmOTcwZmY0LAotICAweDk0NDEwMDAwLAotICAweDAyZTBiODI3LAotICAweDAwMzcwODI0LAotICAweDEwMDBmZjVhLAotICAweGE0NDEwMDAwLAotICAweDhmODIwZmYwLAotICAweDhmOTcwZmY0LAotICAweDhjNDEwMDAwLAotICAweDAyZTBiODI3LAotICAweDAwMzcwODI0LAotICAweDEwMDBmZjUzLAotICAweGFjNDEwMDAwLAotICAweDhmODIwZmYwLAotICAweDhmOTcwZmY0LAotICAweDEwMDBmZjRmLAotICAweGEwNTcwMDAwLAotICAweDhmODIwZmYwLAotICAweDhmOTcwZmY0LAotICAweDEwMDBmZjRiLAotICAweGE0NTcwMDAwLAotICAweDhmODIwZmYwLAotICAweDhmOTcwZmY0LAotICAweDEwMDBmZjQ3LAotICAweGFjNTcwMDAwLAotICAweDhmODIwZmYwLAotICAweDAwMDAwMDAwLAotICAweDhjNDIwMDAwLAotICAweDEwMDBmZjQyLAotICAweGFmODIwZmY0LAotICAweDNjMDFhMGMyLAotICAweDhjMjJjMDAwLAotICAweDAwMDAwMDAwLAotICAweGFmODIwZmYwLAotICAweDNjMDFhMGMyLAotICAweDhjMjJjMDA0LAotICAweDEwMDBmZjNhLAotICAweGFmODIwZmY0LAotICAweDNjMDFhMGQxLAotICAweDhjMjJkNWFjLAotICAweDAwMDAwMDAwLAotICAweGFmODIwZmYwLAotICAweDNjMDFhMGQxLAotICAweDhjMjJkNWIwLAotICAweDEwMDBmZjMyLAotICAweGFmODIwZmY0LAotICAweDNjMDJhMGYwLAotICAweGFjNDAwMDAwLAotICAweDkwNTcwMTUzLAotICAweDAwMDAwMDAwLAotICAweGEzOTcwYzgwLAotICAweDkwNTcwMTU3LAotICAweDAwMDAwMDAwLAotICAweGEzOTcwYzgxLAotICAweDkwNTcwMTViLAotICAweDAwMDAwMDAwLAotICAweGEzOTcwYzg3LAotICAweDkwNTcwMTVmLAotICAweDAwMDAwMDAwLAotICAweGEzOTcwYzg2LAotICAweDkwNTcwMTYzLAotICAweDAwMDAwMDAwLAotICAweDMyZjcwMDA3LAotICAweGEzOTcwYzg1LAotICAweDkwNTcwMTkzLAotICAweDAwMDAwMDAwLAotICAweGEzOTcwYzhiLAotICAweDkwNTcwMTk3LAotICAweDAwMDAwMDAwLAotICAweGEzOTcwYzhhLAotICAweDkwNTcwMTliLAotICAweDAwMDAwMDAwLAotICAweDMyZjcwMDA3LAotICAweGEzOTcwYzg5LAotICAweDkwNTcwMDBiLAotICAweDAwMDAwMDAwLAotICAweDMyZjcwMGUwLAotICAweDAwMTcwOTQyLAotICAweDkwNTcwMDQ3LAotICAweDAwMDAwMDAwLAotICAweDMyZjcwMDc4LAotICAweDAwMzcwODI1LAotICAweDkwNTcwMDY3LAotICAweDAwMDAwMDAwLAotICAweDMyZjcwMDBmLAotICAweDAwMTdiOWMwLAotICAweDAwMzcwODI1LAotICAweDkwNTcwMGM3LAotICAweDAwMDAwMDAwLAotICAweDMyZjcwMDJmLAotICAweDAwMTdiYWMwLAotICAweDAwMzcwODI1LAotICAweDkwNTcwMTQ3LAotICAweDAwMDAwMDAwLAotICAweDMyZjcwMDFlLAotICAweDAwMTdiYzAwLAotICAweDAwMzcwODI1LAotICAweDkwNTcwMTgzLAotICAweDAwMDAwMDAwLAotICAweDMyZjcwMDYwLAotICAweDAwMTdiYzAwLAotICAweDAwMzcwODI1LAotICAweGFmODEwYzhjLAotICAweDNjMDIxODQwLAotICAweDhmOTcwZmM4LAotICAweDAwMDAwMDAwLAotICAweDhmOTcwZmYwLAotICAweDAwMDAwMDAwLAotICAweGFjNTcwYzgwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDAwMDAwMDAwLAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDNjMDJhMGQxLAotICAweDI0NDJmOTk4LAotICAweGFmODAwYzkwLAotICAweGFmODAwYzk0LAotICAweDAwNDAwMDA4LAotICAweDAwMDAwMDAwLAotICAweDg3OTcwZmYwLAotICAweDNjMTMwMGQxLAotICAweGE2NzcwMDA4LAotICAweDNjMDMwMDAwLAotICAweDI0NjMwNTIwLAotICAweGFmOWYwZmU4LAotICAweDAwNjBmODA5LAotICAweDI0MDIwMDAxLAotICAweDhmOWYwZmU4LAotICAweDEwNDBmZWRhLAotICAweDk3OTcwZmYwLAotICAweDI3ODMwZjE4LAotICAweDAwNzcxODIxLAotICAweDAwMTdiOGMyLAotICAweDAyZTNiODIxLAotICAweDNjMDI4ODAwLAotICAweGFmODIwZmJjLAotICAweDhlNjIwMDM4LAotICAweGE3ODAwZmI4LAotICAweGFmODIwZmI0LAotICAweDhlZTMwMDFjLAotICAweDNjMDIwYzQwLAotICAweGFjNDMwZmI0LAotICAweDhlZTIwMDE4LAotICAweDI0NjMwMDBjLAotICAweDE0NDMwMDA0LAotICAweGFlZTMwMDFjLAotICAweDhlZTMwMDE0LAotICAweDAwMDAwMDAwLAotICAweGFlZTMwMDFjLAotICAweDRkMDFmZmZmLAotICAweDAwMDAwMDAwLAotICAweDEwMDBmZmRmLAotICAweDAwMDAwMDAwLAotICAweDhmODIwYzVjLAotICAweDhmODMwYzYwLAotICAweGFmODIwZmYwLAotICAweDEwMDBmZWJlLAotICAweGFmODMwZmY0LAotICAweDIzODkwODAwLAotICAweDAxMjAxODIxLAotICAweDI0MDIwMDBmLAotICAweDIwNmMwMDQwLAotICAweGFjNmMwMDA4LAotICAweDAxODAxODIxLAotICAweDE0NDBmZmZjLAotICAweDIwNDJmZmZmLAotICAweGFjNjkwMDA4LAotICAweDI3OGIwYzk4LAotICAweGE1NjAwMDAwLAotICAweDI0MDNmZmZmLAotICAweGFkNjMwMDE0LAotICAweDM0MDIwMDAxLAotICAweDM0NDIwMDIwLAotICAweGE1NjIwMDA4LAotICAweDI3OGEwZTAwLAotICAweDAxNDAxMDIxLAotICAweDAwMDAxODIxLAotICAweGFjNDAwMDAwLAotICAweDI0NjMwMDA0LAotICAweDJjNmMwMTAwLAotICAweDE1ODBmZmZjLAotICAweDI0NDIwMDA0LAotICAweDNjMDJhMGQxLAotICAweDI0NDJlMDAwLAotICAweGFmODIwZmUwLAotICAweDNjMTgwMGQxLAotICAweDAxMjA2MDIxLAotICAweDAwMDA2ODIxLAotICAweDAwMDA3ODIxLAotICAweDAwMDA1ODIxLAotICAweDAwMDA0MDIxLAotICAweDQwMDI2MDAwLAotICAweDAwMDAwMDAwLAotICAweDM0NDI0MDAxLAotICAweDQwODI2MDAwLAotICAweDNjMDIwMDAwLAotICAweDI0NDIwNmY4LAotICAweDAwNDAwMDA4LAotICAweDAwMDAwMDAwLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9hdG0vYXRtc2FyMTEucmVnaW9ucyBiL2RyaXZlcnMvYXRtL2F0bXNhcjExLnJlZ2lvbnMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQyMjUyYjcuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy9hdG0vYXRtc2FyMTEucmVnaW9ucworKysgL2Rldi9udWxsCkBAIC0xLDYgKzAsMCBAQAotLyoKLSAgU2VlIGNvcHlyaWdodCBhbmQgbGljZW5zaW5nIGNvbmRpdGlvbnMgaW4gYW1iYXNzYWRvci4qIGZpbGVzLgotKi8KLSAgeyAweDAwMDAwMDgwLCAgOTkzLCB9LAotICB7IDB4YTBkMGQ1MDAsICAgODAsIH0sCi0gIHsgMHhhMGQwZjAwMCwgIDk3OCwgfSwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvYXRtL2F0bXNhcjExLnN0YXJ0IGIvZHJpdmVycy9hdG0vYXRtc2FyMTEuc3RhcnQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRiYTU1ZTcuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy9hdG0vYXRtc2FyMTEuc3RhcnQKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLS8qCi0gIFNlZSBjb3B5cmlnaHQgYW5kIGxpY2Vuc2luZyBjb25kaXRpb25zIGluIGFtYmFzc2Fkb3IuKiBmaWxlcy4KLSovCi0gIDB4YTBkMGYwMDAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvYmFzZS9LY29uZmlnIGIvZHJpdmVycy9iYXNlL0tjb25maWcKaW5kZXggZDdkYTEwOS4uZDQ3NDgyZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9iYXNlL0tjb25maWcKKysrIGIvZHJpdmVycy9iYXNlL0tjb25maWcKQEAgLTM0LDYgKzM0LDcwIEBACiAJICByZXF1aXJlIHVzZXJzcGFjZSBmaXJtd2FyZSBsb2FkaW5nIHN1cHBvcnQsIGJ1dCBhIG1vZHVsZSBidWlsdCBvdXRzaWRlCiAJICB0aGUga2VybmVsIHRyZWUgZG9lcy4KIAorY29uZmlnIEZJUk1XQVJFX0lOX0tFUk5FTAorCWJvb2wgIkluY2x1ZGUgaW4ta2VybmVsIGZpcm13YXJlIGJsb2JzIGluIGtlcm5lbCBiaW5hcnkiCisJZGVwZW5kcyBvbiBGV19MT0FERVIKKwlkZWZhdWx0IHkKKwloZWxwCisJICBUaGUga2VybmVsIHNvdXJjZSB0cmVlIGluY2x1ZGVzIGEgbnVtYmVyIG9mIGZpcm13YXJlICdibG9icycKKwkgIHdoaWNoIGFyZSB1c2VkIGJ5IHZhcmlvdXMgZHJpdmVycy4gVGhlIHJlY29tbWVuZGVkIHdheSB0bworCSAgdXNlIHRoZXNlIGlzIHRvIHJ1biAibWFrZSBmaXJtd2FyZV9pbnN0YWxsIiBhbmQgdG8gY29weSB0aGUKKwkgIHJlc3VsdGluZyBiaW5hcnkgZmlsZXMgY3JlYXRlZCBpbiB1c3IvbGliL2Zpcm13YXJlIGRpcmVjdG9yeQorCSAgb2YgdGhlIGtlcm5lbCB0cmVlIHRvIHRoZSAvbGliL2Zpcm13YXJlIG9uIHlvdXIgc3lzdGVtIHNvCisJICB0aGF0IHRoZXkgY2FuIGJlIGxvYWRlZCBieSB1c2Vyc3BhY2UgaGVscGVycyBvbiByZXF1ZXN0LgorCisJICBFbmFibGluZyB0aGlzIG9wdGlvbiB3aWxsIGJ1aWxkIGVhY2ggcmVxdWlyZWQgZmlybXdhcmUgYmxvYgorCSAgaW50byB0aGUga2VybmVsIGRpcmVjdGx5LCB3aGVyZSByZXF1ZXN0X2Zpcm13YXJlKCkgd2lsbCBmaW5kCisJICB0aGVtIHdpdGhvdXQgaGF2aW5nIHRvIGNhbGwgb3V0IHRvIHVzZXJzcGFjZS4gVGhpcyBtYXkgYmUKKwkgIHVzZWZ1bCBpZiB5b3VyIHJvb3QgZmlsZSBzeXN0ZW0gcmVxdWlyZXMgYSBkZXZpY2Ugd2hpY2ggdXNlcworCSAgc3VjaCBmaXJtd2FyZSwgYW5kIGRvIG5vdCB3aXNoIHRvIHVzZSBhbiBpbml0cmQuCisKKwkgIFRoaXMgc2luZ2xlIG9wdGlvbiBjb250cm9scyB0aGUgaW5jbHVzaW9uIG9mIGZpcm13YXJlIGZvcgorCSAgZXZlcnkgZHJpdmVyIHdoaWNoIHVzZWVzIHJlcXVlc3RfZmlybWFyZSgpIGFuZCBzaGlwcyBpdHMKKwkgIGZpcm13YXJlIGluIHRoZSBrZXJuZWwgc291cmNlIHRyZWUsIHRvIGF2b2lkIGEgcHJvbGlmZXJhdGlvbgorCSAgb2YgJ0luY2x1ZGUgZmlybXdhcmUgZm9yIHh4eCBkZXZpY2UnIG9wdGlvbnMuCisKKwkgIFNheSAnTicgYW5kIGxldCBmaXJtd2FyZSBiZSBsb2FkZWQgZnJvbSB1c2Vyc3BhY2UuCisKK2NvbmZpZyBFWFRSQV9GSVJNV0FSRQorCXN0cmluZyAiRXh0ZXJuYWwgZmlybXdhcmUgYmxvYnMgdG8gYnVpbGQgaW50byB0aGUga2VybmVsIGJpbmFyeSIKKwlkZXBlbmRzIG9uIEZXX0xPQURFUgorCWhlbHAKKwkgIFRoaXMgb3B0aW9uIGFsbG93cyBmaXJtd2FyZSB0byBiZSBidWlsdCBpbnRvIHRoZSBrZXJuZWwsIGZvciB0aGUKKwkgIGNhc2VzIHdoZXJlIHRoZSB1c2VyIGVpdGhlciBjYW5ub3Qgb3IgZG9lc24ndCB3YW50IHRvIHByb3ZpZGUgaXQgZnJvbQorCSAgdXNlcnNwYWNlIGF0IHJ1bnRpbWUgKGZvciBleGFtcGxlLCB3aGVuIHRoZSBmaXJtd2FyZSBpbiBxdWVzdGlvbiBpcworCSAgcmVxdWlyZWQgZm9yIGFjY2Vzc2luZyB0aGUgYm9vdCBkZXZpY2UsIGFuZCB0aGUgdXNlciBkb2Vzbid0IHdhbnQgdG8KKwkgIHVzZSBhbiBpbml0cmQpLgorCisJICBUaGlzIG9wdGlvbiBpcyBhIHN0cmluZywgYW5kIHRha2VzIHRoZSAoc3BhY2Utc2VwYXJhdGVkKSBuYW1lcyBvZiB0aGUKKwkgIGZpcm13YXJlIGZpbGVzIC0tIHRoZSBzYW1lIG5hbWVzIHdoaWNoIGFwcGVhciBpbiBNT0RVTEVfRklSTVdBUkUoKQorCSAgYW5kIHJlcXVlc3RfZmlybXdhcmUoKSBpbiB0aGUgc291cmNlLiBUaGVzZSBmaWxlcyBzaG91bGQgZXhpc3QgdW5kZXIKKwkgIHRoZSBkaXJlY3Rvcnkgc3BlY2lmaWVkIGJ5IHRoZSBFWFRSQV9GSVJNV0FSRV9ESVIgb3B0aW9uLCB3aGljaCBpcworCSAgYnkgZGVmYXVsdCB0aGUgZmlybXdhcmUvIHN1YmRpcmVjdG9yeSBvZiB0aGUga2VybmVsIHNvdXJjZSB0cmVlLgorCisJICBTbywgZm9yIGV4YW1wbGUsIHlvdSBtaWdodCBzZXQgQ09ORklHX0VYVFJBX0ZJUk1XQVJFPSJ1c2I4Mzg4LmJpbiIsCisJICBjb3B5IHRoZSB1c2I4Mzg4LmJpbiBmaWxlIGludG8gdGhlIGZpcm13YXJlLyBkaXJlY3RvcnksIGFuZCBidWlsZCB0aGUKKwkgIGtlcm5lbC4gVGhlbiBhbnkgcmVxdWVzdF9maXJtd2FyZSgidXNiODM4OC5iaW4iKSB3aWxsIGJlCisJICBzYXRpc2ZpZWQgaW50ZXJuYWxseSB3aXRob3V0IG5lZWRpbmcgdG8gY2FsbCBvdXQgdG8gdXNlcnNwYWNlLgorCisJICBXQVJOSU5HOiBJZiB5b3UgaW5jbHVkZSBhZGRpdGlvbmFsIGZpcm13YXJlIGZpbGVzIGludG8geW91ciBiaW5hcnkKKwkgIGtlcm5lbCBpbWFnZSB3aGljaCBhcmUgbm90IGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdQTCwKKwkgIHRoZW4gaXQgbWF5IGJlIGEgdmlvbGF0aW9uIG9mIHRoZSBHUEwgdG8gZGlzdHJpYnV0ZSB0aGUgcmVzdWx0aW5nCisJICBpbWFnZSAtLSBzaW5jZSBpdCBjb21iaW5lcyBib3RoIEdQTCBhbmQgbm9uLUdQTCB3b3JrLiBZb3Ugc2hvdWxkCisJICBjb25zdWx0IGEgbGF3eWVyIG9mIHlvdXIgb3duIGJlZm9yZSBkaXN0cmlidXRpbmcgc3VjaCBhbiBpbWFnZS4KKworY29uZmlnIEVYVFJBX0ZJUk1XQVJFX0RJUgorCXN0cmluZyAiRmlybXdhcmUgYmxvYnMgcm9vdCBkaXJlY3RvcnkiCisJZGVwZW5kcyBvbiBFWFRSQV9GSVJNV0FSRSAhPSAiIgorCWRlZmF1bHQgImZpcm13YXJlIgorCWhlbHAKKwkgIFRoaXMgb3B0aW9uIGNvbnRyb2xzIHRoZSBkaXJlY3RvcnkgaW4gd2hpY2ggdGhlIGtlcm5lbCBidWlsZCBzeXN0ZW0KKwkgIGxvb2tzIGZvciB0aGUgZmlybXdhcmUgZmlsZXMgbGlzdGVkIGluIHRoZSBFWFRSQV9GSVJNV0FSRSBvcHRpb24uCisJICBUaGUgZGVmYXVsdCBpcyB0aGUgZmlybXdhcmUvIGRpcmVjdG9yeSBpbiB0aGUga2VybmVsIHNvdXJjZSB0cmVlLAorCSAgYnV0IGJ5IGNoYW5naW5nIHRoaXMgb3B0aW9uIHlvdSBjYW4gcG9pbnQgaXQgZWxzZXdoZXJlLCBzdWNoIGFzCisJICB0aGUgL2xpYi9maXJtd2FyZS8gZGlyZWN0b3J5IG9yIGFub3RoZXIgc2VwYXJhdGUgZGlyZWN0b3J5CisJICBjb250YWluaW5nIGZpcm13YXJlIGZpbGVzLgorCiBjb25maWcgREVCVUdfRFJJVkVSCiAJYm9vbCAiRHJpdmVyIENvcmUgdmVyYm9zZSBkZWJ1ZyBtZXNzYWdlcyIKIAlkZXBlbmRzIG9uIERFQlVHX0tFUk5FTApkaWZmIC0tZ2l0IGEvZHJpdmVycy9iYXNlL2Zpcm13YXJlX2NsYXNzLmMgYi9kcml2ZXJzL2Jhc2UvZmlybXdhcmVfY2xhc3MuYwppbmRleCA5ZmQ0YTg1Li5iMGJlMWQxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2Jhc2UvZmlybXdhcmVfY2xhc3MuYworKysgYi9kcml2ZXJzL2Jhc2UvZmlybXdhcmVfY2xhc3MuYwpAQCAtNDksNiArNDksMTQgQEAKIAlzdHJ1Y3QgdGltZXJfbGlzdCB0aW1lb3V0OwogfTsKIAorI2lmZGVmIENPTkZJR19GV19MT0FERVIKK2V4dGVybiBzdHJ1Y3QgYnVpbHRpbl9mdyBfX3N0YXJ0X2J1aWx0aW5fZndbXTsKK2V4dGVybiBzdHJ1Y3QgYnVpbHRpbl9mdyBfX2VuZF9idWlsdGluX2Z3W107CisjZWxzZSAvKiBNb2R1bGUgY2FzZS4gQXZvaWQgaWZkZWZzIGxhdGVyOyBpdCdsbCBhbGwgb3B0aW1pc2Ugb3V0ICovCitzdGF0aWMgc3RydWN0IGJ1aWx0aW5fZncgKl9fc3RhcnRfYnVpbHRpbl9mdzsKK3N0YXRpYyBzdHJ1Y3QgYnVpbHRpbl9mdyAqX19lbmRfYnVpbHRpbl9mdzsKKyNlbmRpZgorCiBzdGF0aWMgdm9pZAogZndfbG9hZF9hYm9ydChzdHJ1Y3QgZmlybXdhcmVfcHJpdiAqZndfcHJpdikKIHsKQEAgLTI1Nyw3ICsyNjUsNyBAQAogCWlmIChyZXR2YWwpCiAJCWdvdG8gb3V0OwogCi0JbWVtY3B5KGZ3LT5kYXRhICsgb2Zmc2V0LCBidWZmZXIsIGNvdW50KTsKKwltZW1jcHkoKHU4ICopZnctPmRhdGEgKyBvZmZzZXQsIGJ1ZmZlciwgY291bnQpOwogCiAJZnctPnNpemUgPSBtYXhfdChzaXplX3QsIG9mZnNldCArIGNvdW50LCBmdy0+c2l6ZSk7CiAJcmV0dmFsID0gY291bnQ7CkBAIC0zOTEsMTMgKzM5OSwxMiBAQAogCXN0cnVjdCBkZXZpY2UgKmZfZGV2OwogCXN0cnVjdCBmaXJtd2FyZV9wcml2ICpmd19wcml2OwogCXN0cnVjdCBmaXJtd2FyZSAqZmlybXdhcmU7CisJc3RydWN0IGJ1aWx0aW5fZncgKmJ1aWx0aW47CiAJaW50IHJldHZhbDsKIAogCWlmICghZmlybXdhcmVfcCkKIAkJcmV0dXJuIC1FSU5WQUw7CiAKLQlwcmludGsoS0VSTl9JTkZPICJmaXJtd2FyZTogcmVxdWVzdGluZyAlc1xuIiwgbmFtZSk7Ci0KIAkqZmlybXdhcmVfcCA9IGZpcm13YXJlID0ga3phbGxvYyhzaXplb2YoKmZpcm13YXJlKSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCFmaXJtd2FyZSkgewogCQlwcmludGsoS0VSTl9FUlIgIiVzOiBrbWFsbG9jKHN0cnVjdCBmaXJtd2FyZSkgZmFpbGVkXG4iLApAQCAtNDA2LDYgKzQxMywyMCBAQAogCQlnb3RvIG91dDsKIAl9CiAKKwlmb3IgKGJ1aWx0aW4gPSBfX3N0YXJ0X2J1aWx0aW5fZnc7IGJ1aWx0aW4gIT0gX19lbmRfYnVpbHRpbl9mdzsKKwkgICAgIGJ1aWx0aW4rKykgeworCQlpZiAoc3RyY21wKG5hbWUsIGJ1aWx0aW4tPm5hbWUpKQorCQkJY29udGludWU7CisJCXByaW50ayhLRVJOX0lORk8gImZpcm13YXJlOiB1c2luZyBidWlsdC1pbiBmaXJtd2FyZSAlc1xuIiwKKwkJICAgICAgIG5hbWUpOworCQlmaXJtd2FyZS0+c2l6ZSA9IGJ1aWx0aW4tPnNpemU7CisJCWZpcm13YXJlLT5kYXRhID0gYnVpbHRpbi0+ZGF0YTsKKwkJcmV0dXJuIDA7CisJfQorCisJaWYgKHVldmVudCkKKwkJcHJpbnRrKEtFUk5fSU5GTyAiZmlybXdhcmU6IHJlcXVlc3RpbmcgJXNcbiIsIG5hbWUpOworCiAJcmV0dmFsID0gZndfc2V0dXBfZGV2aWNlKGZpcm13YXJlLCAmZl9kZXYsIG5hbWUsIGRldmljZSwgdWV2ZW50KTsKIAlpZiAocmV0dmFsKQogCQlnb3RvIGVycm9yX2tmcmVlX2Z3OwpAQCAtNDczLDggKzQ5NCwxNiBAQAogdm9pZAogcmVsZWFzZV9maXJtd2FyZShjb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3KQogeworCXN0cnVjdCBidWlsdGluX2Z3ICpidWlsdGluOworCiAJaWYgKGZ3KSB7CisJCWZvciAoYnVpbHRpbiA9IF9fc3RhcnRfYnVpbHRpbl9mdzsgYnVpbHRpbiAhPSBfX2VuZF9idWlsdGluX2Z3OworCQkgICAgIGJ1aWx0aW4rKykgeworCQkJaWYgKGZ3LT5kYXRhID09IGJ1aWx0aW4tPmRhdGEpCisJCQkJZ290byBmcmVlX2Z3OworCQl9CiAJCXZmcmVlKGZ3LT5kYXRhKTsKKwlmcmVlX2Z3OgogCQlrZnJlZShmdyk7CiAJfQogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9iYXNlL3Bvd2VyL3RyYWNlLmMgYi9kcml2ZXJzL2Jhc2UvcG93ZXIvdHJhY2UuYwppbmRleCAyYjRiMzkyLi44N2E3ZjFkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2Jhc2UvcG93ZXIvdHJhY2UuYworKysgYi9kcml2ZXJzL2Jhc2UvcG93ZXIvdHJhY2UuYwpAQCAtMTUzLDcgKzE1Myw3IEBACiAgKiBpdCdzIG5vdCBhbnkgZ3VhcmFudGVlLCBidXQgaXQncyBhIGhpZ2ggX2xpa2VsaWhvb2RfIHRoYXQKICAqIHRoZSBtYXRjaCBpcyB2YWxpZCkuCiAgKi8KLXZvaWQgZ2VuZXJhdGVfcmVzdW1lX3RyYWNlKHZvaWQgKnRyYWNlZGF0YSwgdW5zaWduZWQgaW50IHVzZXIpCit2b2lkIGdlbmVyYXRlX3Jlc3VtZV90cmFjZShjb25zdCB2b2lkICp0cmFjZWRhdGEsIHVuc2lnbmVkIGludCB1c2VyKQogewogCXVuc2lnbmVkIHNob3J0IGxpbmVubyA9ICoodW5zaWduZWQgc2hvcnQgKil0cmFjZWRhdGE7CiAJY29uc3QgY2hhciAqZmlsZSA9ICooY29uc3QgY2hhciAqKikodHJhY2VkYXRhICsgMik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2Jhc2UvdG9wb2xvZ3kuYyBiL2RyaXZlcnMvYmFzZS90b3BvbG9neS5jCmluZGV4IGZkZjQwNDQuLjNmNmQ5YjAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYmFzZS90b3BvbG9neS5jCisrKyBiL2RyaXZlcnMvYmFzZS90b3BvbG9neS5jCkBAIC00MCw2ICs0MCw3IEBACiAJcmV0dXJuIHNwcmludGYoYnVmLCAiJWRcbiIsIHRvcG9sb2d5XyMjbmFtZShjcHUpKTsJXAogfQogCisjaWYgZGVmaW5lZCh0b3BvbG9neV90aHJlYWRfc2libGluZ3MpIHx8IGRlZmluZWQodG9wb2xvZ3lfY29yZV9zaWJsaW5ncykKIHN0YXRpYyBzc2l6ZV90IHNob3dfY3B1bWFwKGludCB0eXBlLCBjcHVtYXNrX3QgKm1hc2ssIGNoYXIgKmJ1ZikKIHsKIAlwdHJkaWZmX3QgbGVuID0gUFRSX0FMSUdOKGJ1ZiArIFBBR0VfU0laRSAtIDEsIFBBR0VfU0laRSkgLSBidWY7CkBAIC01NCw2NSArNTUsNjUgQEAKIAl9CiAJcmV0dXJuIG47CiB9CisjZW5kaWYKIAorI2lmZGVmIGFyY2hfcHJvdmlkZXNfdG9wb2xvZ3lfcG9pbnRlcnMKICNkZWZpbmUgZGVmaW5lX3NpYmxpbmdzX3Nob3dfbWFwKG5hbWUpCQkJCQlcCi1zdGF0aWMgaW5saW5lIHNzaXplX3Qgc2hvd18jI25hbWUoc3RydWN0IHN5c19kZXZpY2UgKmRldiwgY2hhciAqYnVmKQlcCitzdGF0aWMgc3NpemVfdCBzaG93XyMjbmFtZShzdHJ1Y3Qgc3lzX2RldmljZSAqZGV2LCBjaGFyICpidWYpCVwKIHsJCQkJCQkJCQlcCiAJdW5zaWduZWQgaW50IGNwdSA9IGRldi0+aWQ7CQkJCQlcCiAJcmV0dXJuIHNob3dfY3B1bWFwKDAsICYodG9wb2xvZ3lfIyNuYW1lKGNwdSkpLCBidWYpOwkJXAogfQogCiAjZGVmaW5lIGRlZmluZV9zaWJsaW5nc19zaG93X2xpc3QobmFtZSkJCQkJCVwKLXN0YXRpYyBpbmxpbmUgc3NpemVfdCBzaG93XyMjbmFtZSMjX2xpc3Qoc3RydWN0IHN5c19kZXZpY2UgKmRldiwgY2hhciAqYnVmKSBcCitzdGF0aWMgc3NpemVfdCBzaG93XyMjbmFtZSMjX2xpc3Qoc3RydWN0IHN5c19kZXZpY2UgKmRldiwgY2hhciAqYnVmKSBcCiB7CQkJCQkJCQkJXAogCXVuc2lnbmVkIGludCBjcHUgPSBkZXYtPmlkOwkJCQkJXAogCXJldHVybiBzaG93X2NwdW1hcCgxLCAmKHRvcG9sb2d5XyMjbmFtZShjcHUpKSwgYnVmKTsJCVwKIH0KIAorI2Vsc2UKKyNkZWZpbmUgZGVmaW5lX3NpYmxpbmdzX3Nob3dfbWFwKG5hbWUpCQkJCQlcCitzdGF0aWMgc3NpemVfdCBzaG93XyMjbmFtZShzdHJ1Y3Qgc3lzX2RldmljZSAqZGV2LCBjaGFyICpidWYpCVwKK3sJCQkJCQkJCQlcCisJdW5zaWduZWQgaW50IGNwdSA9IGRldi0+aWQ7CQkJCQlcCisJY3B1bWFza190IG1hc2sgPSB0b3BvbG9neV8jI25hbWUoY3B1KTsJCQkJXAorCXJldHVybiBzaG93X2NwdW1hcCgwLCAmbWFzaywgYnVmKTsJCQkJXAorfQorCisjZGVmaW5lIGRlZmluZV9zaWJsaW5nc19zaG93X2xpc3QobmFtZSkJCQkJCVwKK3N0YXRpYyBzc2l6ZV90IHNob3dfIyNuYW1lIyNfbGlzdChzdHJ1Y3Qgc3lzX2RldmljZSAqZGV2LCBjaGFyICpidWYpIFwKK3sJCQkJCQkJCQlcCisJdW5zaWduZWQgaW50IGNwdSA9IGRldi0+aWQ7CQkJCQlcCisJY3B1bWFza190IG1hc2sgPSB0b3BvbG9neV8jI25hbWUoY3B1KTsJCQkJXAorCXJldHVybiBzaG93X2NwdW1hcCgxLCAmbWFzaywgYnVmKTsJCQkJXAorfQorI2VuZGlmCisKICNkZWZpbmUgZGVmaW5lX3NpYmxpbmdzX3Nob3dfZnVuYyhuYW1lKQkJXAogCWRlZmluZV9zaWJsaW5nc19zaG93X21hcChuYW1lKTsgZGVmaW5lX3NpYmxpbmdzX3Nob3dfbGlzdChuYW1lKQogCi0jaWZkZWYJdG9wb2xvZ3lfcGh5c2ljYWxfcGFja2FnZV9pZAogZGVmaW5lX2lkX3Nob3dfZnVuYyhwaHlzaWNhbF9wYWNrYWdlX2lkKTsKIGRlZmluZV9vbmVfcm8ocGh5c2ljYWxfcGFja2FnZV9pZCk7Ci0jZGVmaW5lIHJlZl9waHlzaWNhbF9wYWNrYWdlX2lkX2F0dHIJJmF0dHJfcGh5c2ljYWxfcGFja2FnZV9pZC5hdHRyLAotI2Vsc2UKLSNkZWZpbmUgcmVmX3BoeXNpY2FsX3BhY2thZ2VfaWRfYXR0cgotI2VuZGlmCiAKLSNpZmRlZiB0b3BvbG9neV9jb3JlX2lkCiBkZWZpbmVfaWRfc2hvd19mdW5jKGNvcmVfaWQpOwogZGVmaW5lX29uZV9ybyhjb3JlX2lkKTsKLSNkZWZpbmUgcmVmX2NvcmVfaWRfYXR0cgkJJmF0dHJfY29yZV9pZC5hdHRyLAotI2Vsc2UKLSNkZWZpbmUgcmVmX2NvcmVfaWRfYXR0cgotI2VuZGlmCiAKLSNpZmRlZiB0b3BvbG9neV90aHJlYWRfc2libGluZ3MKIGRlZmluZV9zaWJsaW5nc19zaG93X2Z1bmModGhyZWFkX3NpYmxpbmdzKTsKIGRlZmluZV9vbmVfcm8odGhyZWFkX3NpYmxpbmdzKTsKIGRlZmluZV9vbmVfcm8odGhyZWFkX3NpYmxpbmdzX2xpc3QpOwotI2RlZmluZSByZWZfdGhyZWFkX3NpYmxpbmdzX2F0dHIJXAotCQkmYXR0cl90aHJlYWRfc2libGluZ3MuYXR0ciwgJmF0dHJfdGhyZWFkX3NpYmxpbmdzX2xpc3QuYXR0ciwKLSNlbHNlCi0jZGVmaW5lIHJlZl90aHJlYWRfc2libGluZ3NfYXR0cgotI2VuZGlmCiAKLSNpZmRlZiB0b3BvbG9neV9jb3JlX3NpYmxpbmdzCiBkZWZpbmVfc2libGluZ3Nfc2hvd19mdW5jKGNvcmVfc2libGluZ3MpOwogZGVmaW5lX29uZV9ybyhjb3JlX3NpYmxpbmdzKTsKIGRlZmluZV9vbmVfcm8oY29yZV9zaWJsaW5nc19saXN0KTsKLSNkZWZpbmUgcmVmX2NvcmVfc2libGluZ3NfYXR0cgkJXAotCQkmYXR0cl9jb3JlX3NpYmxpbmdzLmF0dHIsICZhdHRyX2NvcmVfc2libGluZ3NfbGlzdC5hdHRyLAotI2Vsc2UKLSNkZWZpbmUgcmVmX2NvcmVfc2libGluZ3NfYXR0cgotI2VuZGlmCiAKIHN0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlICpkZWZhdWx0X2F0dHJzW10gPSB7Ci0JcmVmX3BoeXNpY2FsX3BhY2thZ2VfaWRfYXR0cgotCXJlZl9jb3JlX2lkX2F0dHIKLQlyZWZfdGhyZWFkX3NpYmxpbmdzX2F0dHIKLQlyZWZfY29yZV9zaWJsaW5nc19hdHRyCisJJmF0dHJfcGh5c2ljYWxfcGFja2FnZV9pZC5hdHRyLAorCSZhdHRyX2NvcmVfaWQuYXR0ciwKKwkmYXR0cl90aHJlYWRfc2libGluZ3MuYXR0ciwKKwkmYXR0cl90aHJlYWRfc2libGluZ3NfbGlzdC5hdHRyLAorCSZhdHRyX2NvcmVfc2libGluZ3MuYXR0ciwKKwkmYXR0cl9jb3JlX3NpYmxpbmdzX2xpc3QuYXR0ciwKIAlOVUxMCiB9OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2Jsb2NrL0RBQzk2MC5jIGIvZHJpdmVycy9ibG9jay9EQUM5NjAuYwppbmRleCBjZDAzNDczLi5hMDAyYTM4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2Jsb2NrL0RBQzk2MC5jCisrKyBiL2RyaXZlcnMvYmxvY2svREFDOTYwLmMKQEAgLTY2MjgsMTUgKzY2MjgsMTggQEAKICAqIERBQzk2MF9nYW1faW9jdGwgaXMgdGhlIGlvY3RsIGZ1bmN0aW9uIGZvciBwZXJmb3JtaW5nIFJBSUQgb3BlcmF0aW9ucy4KICovCiAKLXN0YXRpYyBpbnQgREFDOTYwX2dhbV9pb2N0bChzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSwKLQkJCSAgICB1bnNpZ25lZCBpbnQgUmVxdWVzdCwgdW5zaWduZWQgbG9uZyBBcmd1bWVudCkKK3N0YXRpYyBsb25nIERBQzk2MF9nYW1faW9jdGwoc3RydWN0IGZpbGUgKmZpbGUsIHVuc2lnbmVkIGludCBSZXF1ZXN0LAorCQkJCQkJdW5zaWduZWQgbG9uZyBBcmd1bWVudCkKIHsKLSAgaW50IEVycm9yQ29kZSA9IDA7CisgIGxvbmcgRXJyb3JDb2RlID0gMDsKICAgaWYgKCFjYXBhYmxlKENBUF9TWVNfQURNSU4pKSByZXR1cm4gLUVBQ0NFUzsKKworICBsb2NrX2tlcm5lbCgpOwogICBzd2l0Y2ggKFJlcXVlc3QpCiAgICAgewogICAgIGNhc2UgREFDOTYwX0lPQ1RMX0dFVF9DT05UUk9MTEVSX0NPVU5UOgotICAgICAgcmV0dXJuIERBQzk2MF9Db250cm9sbGVyQ291bnQ7CisgICAgICBFcnJvckNvZGUgPSBEQUM5NjBfQ29udHJvbGxlckNvdW50OworICAgICAgYnJlYWs7CiAgICAgY2FzZSBEQUM5NjBfSU9DVExfR0VUX0NPTlRST0xMRVJfSU5GTzoKICAgICAgIHsKIAlEQUM5NjBfQ29udHJvbGxlckluZm9fVCBfX3VzZXIgKlVzZXJTcGFjZUNvbnRyb2xsZXJJbmZvID0KQEAgLTY2NDQsMTUgKzY2NDcsMjAgQEAKIAlEQUM5NjBfQ29udHJvbGxlckluZm9fVCBDb250cm9sbGVySW5mbzsKIAlEQUM5NjBfQ29udHJvbGxlcl9UICpDb250cm9sbGVyOwogCWludCBDb250cm9sbGVyTnVtYmVyOwotCWlmIChVc2VyU3BhY2VDb250cm9sbGVySW5mbyA9PSBOVUxMKSByZXR1cm4gLUVJTlZBTDsKLQlFcnJvckNvZGUgPSBnZXRfdXNlcihDb250cm9sbGVyTnVtYmVyLAorCWlmIChVc2VyU3BhY2VDb250cm9sbGVySW5mbyA9PSBOVUxMKQorCQlFcnJvckNvZGUgPSAtRUlOVkFMOworCWVsc2UgRXJyb3JDb2RlID0gZ2V0X3VzZXIoQ29udHJvbGxlck51bWJlciwKIAkJCSAgICAgJlVzZXJTcGFjZUNvbnRyb2xsZXJJbmZvLT5Db250cm9sbGVyTnVtYmVyKTsKLQlpZiAoRXJyb3JDb2RlICE9IDApIHJldHVybiBFcnJvckNvZGU7CisJaWYgKEVycm9yQ29kZSAhPSAwKQorCQlicmVhazs7CisJRXJyb3JDb2RlID0gLUVOWElPOwogCWlmIChDb250cm9sbGVyTnVtYmVyIDwgMCB8fAotCSAgICBDb250cm9sbGVyTnVtYmVyID4gREFDOTYwX0NvbnRyb2xsZXJDb3VudCAtIDEpCi0JICByZXR1cm4gLUVOWElPOworCSAgICBDb250cm9sbGVyTnVtYmVyID4gREFDOTYwX0NvbnRyb2xsZXJDb3VudCAtIDEpIHsKKwkgIGJyZWFrOworCX0KIAlDb250cm9sbGVyID0gREFDOTYwX0NvbnRyb2xsZXJzW0NvbnRyb2xsZXJOdW1iZXJdOwotCWlmIChDb250cm9sbGVyID09IE5VTEwpIHJldHVybiAtRU5YSU87CisJaWYgKENvbnRyb2xsZXIgPT0gTlVMTCkKKwkJYnJlYWs7OwogCW1lbXNldCgmQ29udHJvbGxlckluZm8sIDAsIHNpemVvZihEQUM5NjBfQ29udHJvbGxlckluZm9fVCkpOwogCUNvbnRyb2xsZXJJbmZvLkNvbnRyb2xsZXJOdW1iZXIgPSBDb250cm9sbGVyTnVtYmVyOwogCUNvbnRyb2xsZXJJbmZvLkZpcm13YXJlVHlwZSA9IENvbnRyb2xsZXItPkZpcm13YXJlVHlwZTsKQEAgLTY2NjUsOCArNjY3Myw5IEBACiAJQ29udHJvbGxlckluZm8uUENJX0FkZHJlc3MgPSBDb250cm9sbGVyLT5QQ0lfQWRkcmVzczsKIAlzdHJjcHkoQ29udHJvbGxlckluZm8uTW9kZWxOYW1lLCBDb250cm9sbGVyLT5Nb2RlbE5hbWUpOwogCXN0cmNweShDb250cm9sbGVySW5mby5GaXJtd2FyZVZlcnNpb24sIENvbnRyb2xsZXItPkZpcm13YXJlVmVyc2lvbik7Ci0JcmV0dXJuIChjb3B5X3RvX3VzZXIoVXNlclNwYWNlQ29udHJvbGxlckluZm8sICZDb250cm9sbGVySW5mbywKKwlFcnJvckNvZGUgPSAoY29weV90b191c2VyKFVzZXJTcGFjZUNvbnRyb2xsZXJJbmZvLCAmQ29udHJvbGxlckluZm8sCiAJCQkgICAgIHNpemVvZihEQUM5NjBfQ29udHJvbGxlckluZm9fVCkpID8gLUVGQVVMVCA6IDApOworCWJyZWFrOwogICAgICAgfQogICAgIGNhc2UgREFDOTYwX0lPQ1RMX1YxX0VYRUNVVEVfQ09NTUFORDoKICAgICAgIHsKQEAgLTY2ODQsMzAgKzY2OTMsMzkgQEAKIAlpbnQgQ29udHJvbGxlck51bWJlciwgRGF0YVRyYW5zZmVyTGVuZ3RoOwogCXVuc2lnbmVkIGNoYXIgKkRhdGFUcmFuc2ZlckJ1ZmZlciA9IE5VTEw7CiAJZG1hX2FkZHJfdCBEYXRhVHJhbnNmZXJCdWZmZXJETUE7Ci0JaWYgKFVzZXJTcGFjZVVzZXJDb21tYW5kID09IE5VTEwpIHJldHVybiAtRUlOVkFMOworCWlmIChVc2VyU3BhY2VVc2VyQ29tbWFuZCA9PSBOVUxMKSB7CisJCUVycm9yQ29kZSA9IC1FSU5WQUw7CisJCWJyZWFrOworCX0KIAlpZiAoY29weV9mcm9tX3VzZXIoJlVzZXJDb21tYW5kLCBVc2VyU3BhY2VVc2VyQ29tbWFuZCwKIAkJCQkgICBzaXplb2YoREFDOTYwX1YxX1VzZXJDb21tYW5kX1QpKSkgewogCQlFcnJvckNvZGUgPSAtRUZBVUxUOwotCQlnb3RvIEZhaWx1cmUxYTsKKwkJYnJlYWs7CiAJfQogCUNvbnRyb2xsZXJOdW1iZXIgPSBVc2VyQ29tbWFuZC5Db250cm9sbGVyTnVtYmVyOworICAgIAlFcnJvckNvZGUgPSAtRU5YSU87CiAJaWYgKENvbnRyb2xsZXJOdW1iZXIgPCAwIHx8CiAJICAgIENvbnRyb2xsZXJOdW1iZXIgPiBEQUM5NjBfQ29udHJvbGxlckNvdW50IC0gMSkKLQkgIHJldHVybiAtRU5YSU87CisJICAgIAlicmVhazsKIAlDb250cm9sbGVyID0gREFDOTYwX0NvbnRyb2xsZXJzW0NvbnRyb2xsZXJOdW1iZXJdOwotCWlmIChDb250cm9sbGVyID09IE5VTEwpIHJldHVybiAtRU5YSU87Ci0JaWYgKENvbnRyb2xsZXItPkZpcm13YXJlVHlwZSAhPSBEQUM5NjBfVjFfQ29udHJvbGxlcikgcmV0dXJuIC1FSU5WQUw7CisJaWYgKENvbnRyb2xsZXIgPT0gTlVMTCkKKwkJYnJlYWs7CisJRXJyb3JDb2RlID0gLUVJTlZBTDsKKwlpZiAoQ29udHJvbGxlci0+RmlybXdhcmVUeXBlICE9IERBQzk2MF9WMV9Db250cm9sbGVyKQorCQlicmVhazsKIAlDb21tYW5kT3Bjb2RlID0gVXNlckNvbW1hbmQuQ29tbWFuZE1haWxib3guQ29tbW9uLkNvbW1hbmRPcGNvZGU7CiAJRGF0YVRyYW5zZmVyTGVuZ3RoID0gVXNlckNvbW1hbmQuRGF0YVRyYW5zZmVyTGVuZ3RoOwotCWlmIChDb21tYW5kT3Bjb2RlICYgMHg4MCkgcmV0dXJuIC1FSU5WQUw7CisJaWYgKENvbW1hbmRPcGNvZGUgJiAweDgwKQorCQlicmVhazsKIAlpZiAoQ29tbWFuZE9wY29kZSA9PSBEQUM5NjBfVjFfRENEQikKIAkgIHsKIAkgICAgaWYgKGNvcHlfZnJvbV91c2VyKCZEQ0RCLCBVc2VyQ29tbWFuZC5EQ0RCLAogCQkJICAgICAgIHNpemVvZihEQUM5NjBfVjFfRENEQl9UKSkpIHsKIAkJRXJyb3JDb2RlID0gLUVGQVVMVDsKLQkJZ290byBGYWlsdXJlMWE7CisJCWJyZWFrOwogCSAgICB9Ci0JICAgIGlmIChEQ0RCLkNoYW5uZWwgPj0gREFDOTYwX1YxX01heENoYW5uZWxzKSByZXR1cm4gLUVJTlZBTDsKKwkgICAgaWYgKERDREIuQ2hhbm5lbCA+PSBEQUM5NjBfVjFfTWF4Q2hhbm5lbHMpCisJICAgIAkJYnJlYWs7CiAJICAgIGlmICghKChEYXRhVHJhbnNmZXJMZW5ndGggPT0gMCAmJgogCQkgICBEQ0RCLkRpcmVjdGlvbgogCQkgICA9PSBEQUM5NjBfVjFfRENEQl9Ob0RhdGFUcmFuc2ZlcikgfHwKQEAgLTY3MTcsMzggKzY3MzUsMzcgQEAKIAkJICAoRGF0YVRyYW5zZmVyTGVuZ3RoIDwgMCAmJgogCQkgICBEQ0RCLkRpcmVjdGlvbgogCQkgICA9PSBEQUM5NjBfVjFfRENEQl9EYXRhVHJhbnNmZXJTeXN0ZW1Ub0RldmljZSkpKQotCSAgICAgIHJldHVybiAtRUlOVkFMOworCQkgICAJYnJlYWs7CiAJICAgIGlmICgoKERDREIuVHJhbnNmZXJMZW5ndGhIaWdoNCA8PCAxNikgfCBEQ0RCLlRyYW5zZmVyTGVuZ3RoKQogCQkhPSBhYnMoRGF0YVRyYW5zZmVyTGVuZ3RoKSkKLQkgICAgICByZXR1cm4gLUVJTlZBTDsKKwkJCWJyZWFrOwogCSAgICBEQ0RCX0lPQlVGID0gcGNpX2FsbG9jX2NvbnNpc3RlbnQoQ29udHJvbGxlci0+UENJRGV2aWNlLAogCQkJc2l6ZW9mKERBQzk2MF9WMV9EQ0RCX1QpLCAmRENEQl9JT0JVRkRNQSk7Ci0JICAgIGlmIChEQ0RCX0lPQlVGID09IE5VTEwpCi0JCQlyZXR1cm4gLUVOT01FTTsKKwkgICAgaWYgKERDREJfSU9CVUYgPT0gTlVMTCkgeworCSAgICAJCUVycm9yQ29kZSA9IC1FTk9NRU07CisJCQlicmVhazsKKwkJfQogCSAgfQorCUVycm9yQ29kZSA9IC1FTk9NRU07CiAJaWYgKERhdGFUcmFuc2Zlckxlbmd0aCA+IDApCiAJICB7CiAJICAgIERhdGFUcmFuc2ZlckJ1ZmZlciA9IHBjaV9hbGxvY19jb25zaXN0ZW50KENvbnRyb2xsZXItPlBDSURldmljZSwKIAkJCQlEYXRhVHJhbnNmZXJMZW5ndGgsICZEYXRhVHJhbnNmZXJCdWZmZXJETUEpOwotCSAgICBpZiAoRGF0YVRyYW5zZmVyQnVmZmVyID09IE5VTEwpIHsKLQkJRXJyb3JDb2RlID0gLUVOT01FTTsKLQkJZ290byBGYWlsdXJlMTsKLQkgICAgfQorCSAgICBpZiAoRGF0YVRyYW5zZmVyQnVmZmVyID09IE5VTEwpCisJICAgIAlicmVhazsKIAkgICAgbWVtc2V0KERhdGFUcmFuc2ZlckJ1ZmZlciwgMCwgRGF0YVRyYW5zZmVyTGVuZ3RoKTsKIAkgIH0KIAllbHNlIGlmIChEYXRhVHJhbnNmZXJMZW5ndGggPCAwKQogCSAgewogCSAgICBEYXRhVHJhbnNmZXJCdWZmZXIgPSBwY2lfYWxsb2NfY29uc2lzdGVudChDb250cm9sbGVyLT5QQ0lEZXZpY2UsCiAJCQkJLURhdGFUcmFuc2Zlckxlbmd0aCwgJkRhdGFUcmFuc2ZlckJ1ZmZlckRNQSk7Ci0JICAgIGlmIChEYXRhVHJhbnNmZXJCdWZmZXIgPT0gTlVMTCkgewotCQlFcnJvckNvZGUgPSAtRU5PTUVNOwotCQlnb3RvIEZhaWx1cmUxOwotCSAgICB9CisJICAgIGlmIChEYXRhVHJhbnNmZXJCdWZmZXIgPT0gTlVMTCkKKwkgICAgCWJyZWFrOwogCSAgICBpZiAoY29weV9mcm9tX3VzZXIoRGF0YVRyYW5zZmVyQnVmZmVyLAogCQkJICAgICAgIFVzZXJDb21tYW5kLkRhdGFUcmFuc2ZlckJ1ZmZlciwKIAkJCSAgICAgICAtRGF0YVRyYW5zZmVyTGVuZ3RoKSkgewogCQlFcnJvckNvZGUgPSAtRUZBVUxUOwotCQlnb3RvIEZhaWx1cmUxOworCQlicmVhazsKIAkgICAgfQogCSAgfQogCWlmIChDb21tYW5kT3Bjb2RlID09IERBQzk2MF9WMV9EQ0RCKQpAQCAtNjgyNSw4ICs2ODQyLDcgQEAKIAlpZiAoRENEQl9JT0JVRiAhPSBOVUxMKQogCSAgcGNpX2ZyZWVfY29uc2lzdGVudChDb250cm9sbGVyLT5QQ0lEZXZpY2UsIHNpemVvZihEQUM5NjBfVjFfRENEQl9UKSwKIAkJCURDREJfSU9CVUYsIERDREJfSU9CVUZETUEpOwotICAgICAgRmFpbHVyZTFhOgotCXJldHVybiBFcnJvckNvZGU7CisgICAgICAJYnJlYWs7CiAgICAgICB9CiAgICAgY2FzZSBEQUM5NjBfSU9DVExfVjJfRVhFQ1VURV9DT01NQU5EOgogICAgICAgewpAQCAtNjg0NCwzMiArNjg2MCw0MyBAQAogCWRtYV9hZGRyX3QgRGF0YVRyYW5zZmVyQnVmZmVyRE1BOwogCXVuc2lnbmVkIGNoYXIgKlJlcXVlc3RTZW5zZUJ1ZmZlciA9IE5VTEw7CiAJZG1hX2FkZHJfdCBSZXF1ZXN0U2Vuc2VCdWZmZXJETUE7Ci0JaWYgKFVzZXJTcGFjZVVzZXJDb21tYW5kID09IE5VTEwpIHJldHVybiAtRUlOVkFMOworCisJRXJyb3JDb2RlID0gLUVJTlZBTDsKKwlpZiAoVXNlclNwYWNlVXNlckNvbW1hbmQgPT0gTlVMTCkKKwkJYnJlYWs7CiAJaWYgKGNvcHlfZnJvbV91c2VyKCZVc2VyQ29tbWFuZCwgVXNlclNwYWNlVXNlckNvbW1hbmQsCiAJCQkgICBzaXplb2YoREFDOTYwX1YyX1VzZXJDb21tYW5kX1QpKSkgewogCQlFcnJvckNvZGUgPSAtRUZBVUxUOwotCQlnb3RvIEZhaWx1cmUyYTsKKwkJYnJlYWs7CiAJfQorCUVycm9yQ29kZSA9IC1FTlhJTzsKIAlDb250cm9sbGVyTnVtYmVyID0gVXNlckNvbW1hbmQuQ29udHJvbGxlck51bWJlcjsKIAlpZiAoQ29udHJvbGxlck51bWJlciA8IDAgfHwKIAkgICAgQ29udHJvbGxlck51bWJlciA+IERBQzk2MF9Db250cm9sbGVyQ291bnQgLSAxKQotCSAgcmV0dXJuIC1FTlhJTzsKKwkgICAgCWJyZWFrOwogCUNvbnRyb2xsZXIgPSBEQUM5NjBfQ29udHJvbGxlcnNbQ29udHJvbGxlck51bWJlcl07Ci0JaWYgKENvbnRyb2xsZXIgPT0gTlVMTCkgcmV0dXJuIC1FTlhJTzsKLQlpZiAoQ29udHJvbGxlci0+RmlybXdhcmVUeXBlICE9IERBQzk2MF9WMl9Db250cm9sbGVyKSByZXR1cm4gLUVJTlZBTDsKKwlpZiAoQ29udHJvbGxlciA9PSBOVUxMKQorCQlicmVhazsKKwlpZiAoQ29udHJvbGxlci0+RmlybXdhcmVUeXBlICE9IERBQzk2MF9WMl9Db250cm9sbGVyKXsKKwkJRXJyb3JDb2RlID0gLUVJTlZBTDsKKwkJYnJlYWs7CisJfQogCURhdGFUcmFuc2Zlckxlbmd0aCA9IFVzZXJDb21tYW5kLkRhdGFUcmFuc2Zlckxlbmd0aDsKKyAgICAJRXJyb3JDb2RlID0gLUVOT01FTTsKIAlpZiAoRGF0YVRyYW5zZmVyTGVuZ3RoID4gMCkKIAkgIHsKIAkgICAgRGF0YVRyYW5zZmVyQnVmZmVyID0gcGNpX2FsbG9jX2NvbnNpc3RlbnQoQ29udHJvbGxlci0+UENJRGV2aWNlLAogCQkJCURhdGFUcmFuc2Zlckxlbmd0aCwgJkRhdGFUcmFuc2ZlckJ1ZmZlckRNQSk7Ci0JICAgIGlmIChEYXRhVHJhbnNmZXJCdWZmZXIgPT0gTlVMTCkgcmV0dXJuIC1FTk9NRU07CisJICAgIGlmIChEYXRhVHJhbnNmZXJCdWZmZXIgPT0gTlVMTCkKKwkgICAgCWJyZWFrOwogCSAgICBtZW1zZXQoRGF0YVRyYW5zZmVyQnVmZmVyLCAwLCBEYXRhVHJhbnNmZXJMZW5ndGgpOwogCSAgfQogCWVsc2UgaWYgKERhdGFUcmFuc2Zlckxlbmd0aCA8IDApCiAJICB7CiAJICAgIERhdGFUcmFuc2ZlckJ1ZmZlciA9IHBjaV9hbGxvY19jb25zaXN0ZW50KENvbnRyb2xsZXItPlBDSURldmljZSwKIAkJCQktRGF0YVRyYW5zZmVyTGVuZ3RoLCAmRGF0YVRyYW5zZmVyQnVmZmVyRE1BKTsKLQkgICAgaWYgKERhdGFUcmFuc2ZlckJ1ZmZlciA9PSBOVUxMKSByZXR1cm4gLUVOT01FTTsKKwkgICAgaWYgKERhdGFUcmFuc2ZlckJ1ZmZlciA9PSBOVUxMKQorCSAgICAJYnJlYWs7CiAJICAgIGlmIChjb3B5X2Zyb21fdXNlcihEYXRhVHJhbnNmZXJCdWZmZXIsCiAJCQkgICAgICAgVXNlckNvbW1hbmQuRGF0YVRyYW5zZmVyQnVmZmVyLAogCQkJICAgICAgIC1EYXRhVHJhbnNmZXJMZW5ndGgpKSB7CkBAIC02OTc5LDggKzcwMDYsNyBAQAogCWlmIChSZXF1ZXN0U2Vuc2VCdWZmZXIgIT0gTlVMTCkKIAkgIHBjaV9mcmVlX2NvbnNpc3RlbnQoQ29udHJvbGxlci0+UENJRGV2aWNlLCBSZXF1ZXN0U2Vuc2VMZW5ndGgsCiAJCVJlcXVlc3RTZW5zZUJ1ZmZlciwgUmVxdWVzdFNlbnNlQnVmZmVyRE1BKTsKLSAgICAgIEZhaWx1cmUyYToKLQlyZXR1cm4gRXJyb3JDb2RlOworICAgICAgICBicmVhazsKICAgICAgIH0KICAgICBjYXNlIERBQzk2MF9JT0NUTF9WMl9HRVRfSEVBTFRIX1NUQVRVUzoKICAgICAgIHsKQEAgLTY5OTAsMjEgKzcwMTYsMzMgQEAKIAlEQUM5NjBfVjJfSGVhbHRoU3RhdHVzQnVmZmVyX1QgSGVhbHRoU3RhdHVzQnVmZmVyOwogCURBQzk2MF9Db250cm9sbGVyX1QgKkNvbnRyb2xsZXI7CiAJaW50IENvbnRyb2xsZXJOdW1iZXI7Ci0JaWYgKFVzZXJTcGFjZUdldEhlYWx0aFN0YXR1cyA9PSBOVUxMKSByZXR1cm4gLUVJTlZBTDsKKwlpZiAoVXNlclNwYWNlR2V0SGVhbHRoU3RhdHVzID09IE5VTEwpIHsKKwkJRXJyb3JDb2RlID0gLUVJTlZBTDsKKwkJYnJlYWs7CisJfQogCWlmIChjb3B5X2Zyb21fdXNlcigmR2V0SGVhbHRoU3RhdHVzLCBVc2VyU3BhY2VHZXRIZWFsdGhTdGF0dXMsCi0JCQkgICBzaXplb2YoREFDOTYwX1YyX0dldEhlYWx0aFN0YXR1c19UKSkpCi0JCXJldHVybiAtRUZBVUxUOworCQkJICAgc2l6ZW9mKERBQzk2MF9WMl9HZXRIZWFsdGhTdGF0dXNfVCkpKSB7CisJCUVycm9yQ29kZSA9IC1FRkFVTFQ7CisJCWJyZWFrOworCX0KKwlFcnJvckNvZGUgPSAtRU5YSU87CiAJQ29udHJvbGxlck51bWJlciA9IEdldEhlYWx0aFN0YXR1cy5Db250cm9sbGVyTnVtYmVyOwogCWlmIChDb250cm9sbGVyTnVtYmVyIDwgMCB8fAogCSAgICBDb250cm9sbGVyTnVtYmVyID4gREFDOTYwX0NvbnRyb2xsZXJDb3VudCAtIDEpCi0JICByZXR1cm4gLUVOWElPOworCQkgICAgYnJlYWs7CiAJQ29udHJvbGxlciA9IERBQzk2MF9Db250cm9sbGVyc1tDb250cm9sbGVyTnVtYmVyXTsKLQlpZiAoQ29udHJvbGxlciA9PSBOVUxMKSByZXR1cm4gLUVOWElPOwotCWlmIChDb250cm9sbGVyLT5GaXJtd2FyZVR5cGUgIT0gREFDOTYwX1YyX0NvbnRyb2xsZXIpIHJldHVybiAtRUlOVkFMOworCWlmIChDb250cm9sbGVyID09IE5VTEwpCisJCWJyZWFrOworCWlmIChDb250cm9sbGVyLT5GaXJtd2FyZVR5cGUgIT0gREFDOTYwX1YyX0NvbnRyb2xsZXIpIHsKKwkJRXJyb3JDb2RlID0gLUVJTlZBTDsKKwkJYnJlYWs7CisJfQogCWlmIChjb3B5X2Zyb21fdXNlcigmSGVhbHRoU3RhdHVzQnVmZmVyLAogCQkJICAgR2V0SGVhbHRoU3RhdHVzLkhlYWx0aFN0YXR1c0J1ZmZlciwKLQkJCSAgIHNpemVvZihEQUM5NjBfVjJfSGVhbHRoU3RhdHVzQnVmZmVyX1QpKSkKLQkJcmV0dXJuIC1FRkFVTFQ7CisJCQkgICBzaXplb2YoREFDOTYwX1YyX0hlYWx0aFN0YXR1c0J1ZmZlcl9UKSkpIHsKKwkJRXJyb3JDb2RlID0gLUVGQVVMVDsKKwkJYnJlYWs7CisJfQogCXdoaWxlIChDb250cm9sbGVyLT5WMi5IZWFsdGhTdGF0dXNCdWZmZXItPlN0YXR1c0NoYW5nZUNvdW50ZXIKIAkgICAgICAgPT0gSGVhbHRoU3RhdHVzQnVmZmVyLlN0YXR1c0NoYW5nZUNvdW50ZXIgJiYKIAkgICAgICAgQ29udHJvbGxlci0+VjIuSGVhbHRoU3RhdHVzQnVmZmVyLT5OZXh0RXZlbnRTZXF1ZW5jZU51bWJlcgpAQCAtNzAxMiwyMSArNzA1MCwyOCBAQAogCSAgewogCSAgICBpbnRlcnJ1cHRpYmxlX3NsZWVwX29uX3RpbWVvdXQoJkNvbnRyb2xsZXItPkhlYWx0aFN0YXR1c1dhaXRRdWV1ZSwKIAkJCQkJICAgREFDOTYwX01vbml0b3JpbmdUaW1lckludGVydmFsKTsKLQkgICAgaWYgKHNpZ25hbF9wZW5kaW5nKGN1cnJlbnQpKSByZXR1cm4gLUVJTlRSOworCSAgICBpZiAoc2lnbmFsX3BlbmRpbmcoY3VycmVudCkpIHsKKwkgICAgCUVycm9yQ29kZSA9IC1FSU5UUjsKKwkgICAgCWJyZWFrOworCSAgICB9CiAJICB9CiAJaWYgKGNvcHlfdG9fdXNlcihHZXRIZWFsdGhTdGF0dXMuSGVhbHRoU3RhdHVzQnVmZmVyLAogCQkJIENvbnRyb2xsZXItPlYyLkhlYWx0aFN0YXR1c0J1ZmZlciwKIAkJCSBzaXplb2YoREFDOTYwX1YyX0hlYWx0aFN0YXR1c0J1ZmZlcl9UKSkpCi0JCXJldHVybiAtRUZBVUxUOwotCXJldHVybiAwOworCQlFcnJvckNvZGUgPSAtRUZBVUxUOworCWVsc2UKKwkJRXJyb3JDb2RlID0gIDA7CiAgICAgICB9CisgICAgICBkZWZhdWx0OgorCUVycm9yQ29kZSA9IC1FTk9UVFk7CiAgICAgfQotICByZXR1cm4gLUVJTlZBTDsKKyAgdW5sb2NrX2tlcm5lbCgpOworICByZXR1cm4gRXJyb3JDb2RlOwogfQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBEQUM5NjBfZ2FtX2ZvcHMgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAotCS5pb2N0bAkJPSBEQUM5NjBfZ2FtX2lvY3RsCisJLnVubG9ja2VkX2lvY3RsCT0gREFDOTYwX2dhbV9pb2N0bAogfTsKIAogc3RhdGljIHN0cnVjdCBtaXNjZGV2aWNlIERBQzk2MF9nYW1fZGV2ID0gewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ibG9jay9hb2UvYW9lY2hyLmMgYi9kcml2ZXJzL2Jsb2NrL2FvZS9hb2VjaHIuYwppbmRleCBlOGU2MGU3Li5kMWRlNjhhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2Jsb2NrL2FvZS9hb2VjaHIuYworKysgYi9kcml2ZXJzL2Jsb2NrL2FvZS9hb2VjaHIuYwpAQCAtNyw2ICs3LDcgQEAKICNpbmNsdWRlIDxsaW51eC9oZHJlZy5oPgogI2luY2x1ZGUgPGxpbnV4L2Jsa2Rldi5oPgogI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlICJhb2UuaCIKIAogZW51bSB7CkBAIC0xNzQsMTIgKzE3NSwxNiBAQAogewogCWludCBuLCBpOwogCisJbG9ja19rZXJuZWwoKTsKIAluID0gaW1pbm9yKGlub2RlKTsKIAlmaWxwLT5wcml2YXRlX2RhdGEgPSAodm9pZCAqKSAodW5zaWduZWQgbG9uZykgbjsKIAogCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGNoYXJkZXZzKTsgKytpKQotCQlpZiAoY2hhcmRldnNbaV0ubWlub3IgPT0gbikKKwkJaWYgKGNoYXJkZXZzW2ldLm1pbm9yID09IG4pIHsKKwkJCXVubG9ja19rZXJuZWwoKTsKIAkJCXJldHVybiAwOworCQl9CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiAtRUlOVkFMOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2Jsb2NrL2FvZS9hb2VjbWQuYyBiL2RyaXZlcnMvYmxvY2svYW9lL2FvZWNtZC5jCmluZGV4IDQxZjgxOGIuLjJmMTc0NjIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYmxvY2svYW9lL2FvZWNtZC5jCisrKyBiL2RyaXZlcnMvYmxvY2svYW9lL2FvZWNtZC5jCkBAIC0xMDAzLDcgKzEwMDMsNyBAQAogCSAqIEVub3VnaCBwZW9wbGUgaGF2ZSB0aGVpciBkaXAgc3dpdGNoZXMgc2V0IGJhY2t3YXJkcyB0bwogCSAqIHdhcnJhbnQgYSBsb3VkIG1lc3NhZ2UgZm9yIHRoaXMgc3BlY2lhbCBjYXNlLgogCSAqLwotCWFvZW1ham9yID0gYmUxNl90b19jcHUoZ2V0X3VuYWxpZ25lZCgmaC0+bWFqb3IpKTsKKwlhb2VtYWpvciA9IGdldF91bmFsaWduZWRfYmUxNigmaC0+bWFqb3IpOwogCWlmIChhb2VtYWpvciA9PSAweGZmZikgewogCQlwcmludGsoS0VSTl9FUlIgImFvZTogV2FybmluZzogc2hlbGYgYWRkcmVzcyBpcyBhbGwgb25lcy4gICIKIAkJCSJDaGVjayBzaGVsZiBkaXAgc3dpdGNoZXMuXG4iKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvYmxvY2svcGFyaWRlL3BkLmMgYi9kcml2ZXJzL2Jsb2NrL3BhcmlkZS9wZC5jCmluZGV4IDU3MGYzYjcuLjVmZGZhN2MgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYmxvY2svcGFyaWRlL3BkLmMKKysrIGIvZHJpdmVycy9ibG9jay9wYXJpZGUvcGQuYwpAQCAtNzEyLDE5ICs3MTIsMTcgQEAKIHN0YXRpYyBpbnQgcGRfc3BlY2lhbF9jb21tYW5kKHN0cnVjdCBwZF91bml0ICpkaXNrLAogCQkgICAgICBlbnVtIGFjdGlvbiAoKmZ1bmMpKHN0cnVjdCBwZF91bml0ICpkaXNrKSkKIHsKLQlERUNMQVJFX0NPTVBMRVRJT05fT05TVEFDSyh3YWl0KTsKLQlzdHJ1Y3QgcmVxdWVzdCBycTsKKwlzdHJ1Y3QgcmVxdWVzdCAqcnE7CiAJaW50IGVyciA9IDA7CiAKLQlibGtfcnFfaW5pdChOVUxMLCAmcnEpOwotCXJxLnJxX2Rpc2sgPSBkaXNrLT5nZDsKLQlycS5lbmRfaW9fZGF0YSA9ICZ3YWl0OwotCXJxLmVuZF9pbyA9IGJsa19lbmRfc3luY19ycTsKLQlibGtfaW5zZXJ0X3JlcXVlc3QoZGlzay0+Z2QtPnF1ZXVlLCAmcnEsIDAsIGZ1bmMpOwotCXdhaXRfZm9yX2NvbXBsZXRpb24oJndhaXQpOwotCWlmIChycS5lcnJvcnMpCi0JCWVyciA9IC1FSU87Ci0JYmxrX3B1dF9yZXF1ZXN0KCZycSk7CisJcnEgPSBibGtfZ2V0X3JlcXVlc3QoZGlzay0+Z2QtPnF1ZXVlLCBSRUFELCBfX0dGUF9XQUlUKTsKKworCXJxLT5jbWRfdHlwZSA9IFJFUV9UWVBFX1NQRUNJQUw7CisJcnEtPnNwZWNpYWwgPSBmdW5jOworCisJZXJyID0gYmxrX2V4ZWN1dGVfcnEoZGlzay0+Z2QtPnF1ZXVlLCBkaXNrLT5nZCwgcnEsIDApOworCisJYmxrX3B1dF9yZXF1ZXN0KHJxKTsKIAlyZXR1cm4gZXJyOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2Jsb2NrL3BhcmlkZS9wZy5jIGIvZHJpdmVycy9ibG9jay9wYXJpZGUvcGcuYwppbmRleCBhYjg2ZTIzLi45ZDkyNjM2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2Jsb2NrL3BhcmlkZS9wZy5jCisrKyBiL2RyaXZlcnMvYmxvY2svcGFyaWRlL3BnLmMKQEAgLTE2Miw2ICsxNjIsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3BnLmg+CiAjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4JLyogY3VycmVudCwgVEFTS18qICovCisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9qaWZmaWVzLmg+CiAKICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgpAQCAtNTE1LDEyICs1MTYsMTggQEAKIHsKIAlpbnQgdW5pdCA9IGltaW5vcihpbm9kZSkgJiAweDdmOwogCXN0cnVjdCBwZyAqZGV2ID0gJmRldmljZXNbdW5pdF07CisJaW50IHJldCA9IDA7CiAKLQlpZiAoKHVuaXQgPj0gUEdfVU5JVFMpIHx8ICghZGV2LT5wcmVzZW50KSkKLQkJcmV0dXJuIC1FTk9ERVY7CisJbG9ja19rZXJuZWwoKTsKKwlpZiAoKHVuaXQgPj0gUEdfVU5JVFMpIHx8ICghZGV2LT5wcmVzZW50KSkgeworCQlyZXQgPSAtRU5PREVWOworCQlnb3RvIG91dDsKKwl9CiAKLQlpZiAodGVzdF9hbmRfc2V0X2JpdCgwLCAmZGV2LT5hY2Nlc3MpKQotCQlyZXR1cm4gLUVCVVNZOworCWlmICh0ZXN0X2FuZF9zZXRfYml0KDAsICZkZXYtPmFjY2VzcykpIHsKKwkJcmV0ID0gLUVCVVNZOworCQlnb3RvIG91dDsKKwl9CiAKIAlpZiAoZGV2LT5idXN5KSB7CiAJCXBnX3Jlc2V0KGRldik7CkBAIC01MzMsMTIgKzU0MCwxNSBAQAogCWlmIChkZXYtPmJ1ZnB0ciA9PSBOVUxMKSB7CiAJCWNsZWFyX2JpdCgwLCAmZGV2LT5hY2Nlc3MpOwogCQlwcmludGsoIiVzOiBidWZmZXIgYWxsb2NhdGlvbiBmYWlsZWRcbiIsIGRldi0+bmFtZSk7Ci0JCXJldHVybiAtRU5PTUVNOworCQlyZXQgPSAtRU5PTUVNOworCQlnb3RvIG91dDsKIAl9CiAKIAlmaWxlLT5wcml2YXRlX2RhdGEgPSBkZXY7CiAKLQlyZXR1cm4gMDsKK291dDoKKwl1bmxvY2tfa2VybmVsKCk7CisJcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIGludCBwZ19yZWxlYXNlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ibG9jay9wYXJpZGUvcHQuYyBiL2RyaXZlcnMvYmxvY2svcGFyaWRlL3B0LmMKaW5kZXggOGI5NTQ5YS4uNWM3NGMzNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ibG9jay9wYXJpZGUvcHQuYworKysgYi9kcml2ZXJzL2Jsb2NrL3BhcmlkZS9wdC5jCkBAIC0xNDYsNiArMTQ2LDcgQEAKICNpbmNsdWRlIDxsaW51eC9tdGlvLmg+CiAjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4JLyogY3VycmVudCwgVEFTS18qLCBzY2hlZHVsZV90aW1lb3V0KCkgKi8KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KIApAQCAtMTg5LDggKzE5MCw3IEBACiAjZGVmaW5lIEFUQVBJX0xPR19TRU5TRQkJMHg0ZAogCiBzdGF0aWMgaW50IHB0X29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpOwotc3RhdGljIGludCBwdF9pb2N0bChzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSwKLQkJICAgIHVuc2lnbmVkIGludCBjbWQsIHVuc2lnbmVkIGxvbmcgYXJnKTsKK3N0YXRpYyBsb25nIHB0X2lvY3RsKHN0cnVjdCBmaWxlICpmaWxlLCB1bnNpZ25lZCBpbnQgY21kLCB1bnNpZ25lZCBsb25nIGFyZyk7CiBzdGF0aWMgaW50IHB0X3JlbGVhc2Uoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpOwogc3RhdGljIHNzaXplX3QgcHRfcmVhZChzdHJ1Y3QgZmlsZSAqZmlscCwgY2hhciBfX3VzZXIgKmJ1ZiwKIAkJICAgICAgIHNpemVfdCBjb3VudCwgbG9mZl90ICogcHBvcyk7CkBAIC0yMzYsNyArMjM2LDcgQEAKIAkub3duZXIgPSBUSElTX01PRFVMRSwKIAkucmVhZCA9IHB0X3JlYWQsCiAJLndyaXRlID0gcHRfd3JpdGUsCi0JLmlvY3RsID0gcHRfaW9jdGwsCisJLnVubG9ja2VkX2lvY3RsID0gcHRfaW9jdGwsCiAJLm9wZW4gPSBwdF9vcGVuLAogCS5yZWxlYXNlID0gcHRfcmVsZWFzZSwKIH07CkBAIC02NTAsOCArNjUwLDExIEBACiAJc3RydWN0IHB0X3VuaXQgKnRhcGUgPSBwdCArIHVuaXQ7CiAJaW50IGVycjsKIAotCWlmICh1bml0ID49IFBUX1VOSVRTIHx8ICghdGFwZS0+cHJlc2VudCkpCisJbG9ja19rZXJuZWwoKTsKKwlpZiAodW5pdCA+PSBQVF9VTklUUyB8fCAoIXRhcGUtPnByZXNlbnQpKSB7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIC1FTk9ERVY7CisJfQogCiAJZXJyID0gLUVCVVNZOwogCWlmICghYXRvbWljX2RlY19hbmRfdGVzdCgmdGFwZS0+YXZhaWxhYmxlKSkKQEAgLTY3OCwxNSArNjgxLDE2IEBACiAJfQogCiAJZmlsZS0+cHJpdmF0ZV9kYXRhID0gdGFwZTsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIDA7CiAKIG91dDoKIAlhdG9taWNfaW5jKCZ0YXBlLT5hdmFpbGFibGUpOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gZXJyOwogfQogCi1zdGF0aWMgaW50IHB0X2lvY3RsKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlLAotCSB1bnNpZ25lZCBpbnQgY21kLCB1bnNpZ25lZCBsb25nIGFyZykKK3N0YXRpYyBsb25nIHB0X2lvY3RsKHN0cnVjdCBmaWxlICpmaWxlLCB1bnNpZ25lZCBpbnQgY21kLCB1bnNpZ25lZCBsb25nIGFyZykKIHsKIAlzdHJ1Y3QgcHRfdW5pdCAqdGFwZSA9IGZpbGUtPnByaXZhdGVfZGF0YTsKIAlzdHJ1Y3QgbXRvcCBfX3VzZXIgKnAgPSAodm9pZCBfX3VzZXIgKilhcmc7CkBAIC03MDAsMjMgKzcwNCwyNiBAQAogCQlzd2l0Y2ggKG10b3AubXRfb3ApIHsKIAogCQljYXNlIE1UUkVXOgorCQkJbG9ja19rZXJuZWwoKTsKIAkJCXB0X3Jld2luZCh0YXBlKTsKKwkJCXVubG9ja19rZXJuZWwoKTsKIAkJCXJldHVybiAwOwogCiAJCWNhc2UgTVRXRU9GOgorCQkJbG9ja19rZXJuZWwoKTsKIAkJCXB0X3dyaXRlX2ZtKHRhcGUpOworCQkJdW5sb2NrX2tlcm5lbCgpOwogCQkJcmV0dXJuIDA7CiAKIAkJZGVmYXVsdDoKLQkJCXByaW50aygiJXM6IFVuaW1wbGVtZW50ZWQgbXRfb3AgJWRcbiIsIHRhcGUtPm5hbWUsCisJCQkvKiBGSVhNRTogcmF0ZSBsaW1pdCA/PyAqLworCQkJcHJpbnRrKEtFUk5fREVCVUcgIiVzOiBVbmltcGxlbWVudGVkIG10X29wICVkXG4iLCB0YXBlLT5uYW1lLAogCQkJICAgICAgIG10b3AubXRfb3ApOwogCQkJcmV0dXJuIC1FSU5WQUw7CiAJCX0KIAogCWRlZmF1bHQ6Ci0JCXByaW50aygiJXM6IFVuaW1wbGVtZW50ZWQgaW9jdGwgMHgleFxuIiwgdGFwZS0+bmFtZSwgY21kKTsKLQkJcmV0dXJuIC1FSU5WQUw7Ci0KKwkJcmV0dXJuIC1FTk9UVFk7CiAJfQogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2Jsb2NrL3BrdGNkdmQuYyBiL2RyaXZlcnMvYmxvY2svcGt0Y2R2ZC5jCmluZGV4IDNiYTFkZjkuLjQ1YmVlOTEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYmxvY2svcGt0Y2R2ZC5jCisrKyBiL2RyaXZlcnMvYmxvY2svcGt0Y2R2ZC5jCkBAIC00OSw2ICs0OSw3IEBACiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KICNpbmNsdWRlIDxsaW51eC9rdGhyZWFkLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgogI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvZmlsZS5oPgpAQCAtMjA3OSw3ICsyMDgwLDYgQEAKIAl1bnNpZ25lZCBjaGFyIGJ1Zls2NF07CiAJaW50IHJldDsKIAotCW1lbXNldChidWYsIDAsIHNpemVvZihidWYpKTsKIAlpbml0X2Nkcm9tX2NvbW1hbmQoJmNnYywgYnVmLCBzaXplb2YoYnVmKSwgQ0dDX0RBVEFfUkVBRCk7CiAJY2djLnNlbnNlID0gJnNlbnNlOwogCWNnYy5idWZsZW4gPSBwZC0+bW9kZV9vZmZzZXQgKyAxMjsKQEAgLTIxMjYsNyArMjEyNiw2IEBACiAJdW5zaWduZWQgY2hhciAqY2FwX2J1ZjsKIAlpbnQgcmV0LCBvZmZzZXQ7CiAKLQltZW1zZXQoYnVmLCAwLCBzaXplb2YoYnVmKSk7CiAJY2FwX2J1ZiA9ICZidWZbc2l6ZW9mKHN0cnVjdCBtb2RlX3BhZ2VfaGVhZGVyKSArIHBkLT5tb2RlX29mZnNldF07CiAJaW5pdF9jZHJvbV9jb21tYW5kKCZjZ2MsIGJ1Ziwgc2l6ZW9mKGJ1ZiksIENHQ19EQVRBX1VOS05PV04pOwogCWNnYy5zZW5zZSA9ICZzZW5zZTsKQEAgLTI2MzMsMTEgKzI2MzIsMTIgQEAKIAogCiAKLXN0YXRpYyBpbnQgcGt0X21lcmdlX2J2ZWMoc3RydWN0IHJlcXVlc3RfcXVldWUgKnEsIHN0cnVjdCBiaW8gKmJpbywgc3RydWN0IGJpb192ZWMgKmJ2ZWMpCitzdGF0aWMgaW50IHBrdF9tZXJnZV9idmVjKHN0cnVjdCByZXF1ZXN0X3F1ZXVlICpxLCBzdHJ1Y3QgYnZlY19tZXJnZV9kYXRhICpibWQsCisJCQkgIHN0cnVjdCBiaW9fdmVjICpidmVjKQogewogCXN0cnVjdCBwa3RjZHZkX2RldmljZSAqcGQgPSBxLT5xdWV1ZWRhdGE7Ci0Jc2VjdG9yX3Qgem9uZSA9IFpPTkUoYmlvLT5iaV9zZWN0b3IsIHBkKTsKLQlpbnQgdXNlZCA9ICgoYmlvLT5iaV9zZWN0b3IgLSB6b25lKSA8PCA5KSArIGJpby0+Ymlfc2l6ZTsKKwlzZWN0b3JfdCB6b25lID0gWk9ORShibWQtPmJpX3NlY3RvciwgcGQpOworCWludCB1c2VkID0gKChibWQtPmJpX3NlY3RvciAtIHpvbmUpIDw8IDkpICsgYm1kLT5iaV9zaXplOwogCWludCByZW1haW5pbmcgPSAocGQtPnNldHRpbmdzLnNpemUgPDwgOSkgLSB1c2VkOwogCWludCByZW1haW5pbmcyOwogCkBAIC0yNjQ1LDcgKzI2NDUsNyBAQAogCSAqIEEgYmlvIDw9IFBBR0VfU0laRSBtdXN0IGJlIGFsbG93ZWQuIElmIGl0IGNyb3NzZXMgYSBwYWNrZXQKIAkgKiBib3VuZGFyeSwgcGt0X21ha2VfcmVxdWVzdCgpIHdpbGwgc3BsaXQgdGhlIGJpby4KIAkgKi8KLQlyZW1haW5pbmcyID0gUEFHRV9TSVpFIC0gYmlvLT5iaV9zaXplOworCXJlbWFpbmluZzIgPSBQQUdFX1NJWkUgLSBibWQtPmJpX3NpemU7CiAJcmVtYWluaW5nID0gbWF4KHJlbWFpbmluZywgcmVtYWluaW5nMik7CiAKIAlCVUdfT04ocmVtYWluaW5nIDwgMCk7CkBAIC0yNzk2LDkgKzI3OTYsMTQgQEAKIAlyZXR1cm4gcmV0OwogfQogCi1zdGF0aWMgaW50IHBrdF9pb2N0bChzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSwgdW5zaWduZWQgaW50IGNtZCwgdW5zaWduZWQgbG9uZyBhcmcpCitzdGF0aWMgbG9uZyBwa3RfaW9jdGwoc3RydWN0IGZpbGUgKmZpbGUsIHVuc2lnbmVkIGludCBjbWQsIHVuc2lnbmVkIGxvbmcgYXJnKQogewotCXN0cnVjdCBwa3RjZHZkX2RldmljZSAqcGQgPSBpbm9kZS0+aV9iZGV2LT5iZF9kaXNrLT5wcml2YXRlX2RhdGE7CisJc3RydWN0IGlub2RlICppbm9kZSA9IGZpbGUtPmZfcGF0aC5kZW50cnktPmRfaW5vZGU7CisJc3RydWN0IHBrdGNkdmRfZGV2aWNlICpwZDsKKwlsb25nIHJldDsKKworCWxvY2tfa2VybmVsKCk7CisJcGQgPSBpbm9kZS0+aV9iZGV2LT5iZF9kaXNrLT5wcml2YXRlX2RhdGE7CiAKIAlWUFJJTlRLKCJwa3RfaW9jdGw6IGNtZCAleCwgZGV2ICVkOiVkXG4iLCBjbWQsIGltYWpvcihpbm9kZSksIGltaW5vcihpbm9kZSkpOwogCkBAIC0yODExLDcgKzI4MTYsOCBAQAogCWNhc2UgQ0RST01fTEFTVF9XUklUVEVOOgogCWNhc2UgQ0RST01fU0VORF9QQUNLRVQ6CiAJY2FzZSBTQ1NJX0lPQ1RMX1NFTkRfQ09NTUFORDoKLQkJcmV0dXJuIGJsa2Rldl9pb2N0bChwZC0+YmRldi0+YmRfaW5vZGUsIGZpbGUsIGNtZCwgYXJnKTsKKwkJcmV0ID0gYmxrZGV2X2lvY3RsKHBkLT5iZGV2LT5iZF9pbm9kZSwgZmlsZSwgY21kLCBhcmcpOworCQlicmVhazsKIAogCWNhc2UgQ0RST01FSkVDVDoKIAkJLyoKQEAgLTI4MjAsMTQgKzI4MjYsMTUgQEAKIAkJICovCiAJCWlmIChwZC0+cmVmY250ID09IDEpCiAJCQlwa3RfbG9ja19kb29yKHBkLCAwKTsKLQkJcmV0dXJuIGJsa2Rldl9pb2N0bChwZC0+YmRldi0+YmRfaW5vZGUsIGZpbGUsIGNtZCwgYXJnKTsKKwkJcmV0ID0gYmxrZGV2X2lvY3RsKHBkLT5iZGV2LT5iZF9pbm9kZSwgZmlsZSwgY21kLCBhcmcpOworCQlicmVhazsKIAogCWRlZmF1bHQ6CiAJCVZQUklOVEsoRFJJVkVSX05BTUUiOiBVbmtub3duIGlvY3RsIGZvciAlcyAoJXgpXG4iLCBwZC0+bmFtZSwgY21kKTsKLQkJcmV0dXJuIC1FTk9UVFk7CisJCXJldCA9IC1FTk9UVFk7CiAJfQotCi0JcmV0dXJuIDA7CisJdW5sb2NrX2tlcm5lbCgpOworCXJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyBpbnQgcGt0X21lZGlhX2NoYW5nZWQoc3RydWN0IGdlbmRpc2sgKmRpc2spCkBAIC0yODQ5LDcgKzI4NTYsNyBAQAogCS5vd25lciA9CQlUSElTX01PRFVMRSwKIAkub3BlbiA9CQkJcGt0X29wZW4sCiAJLnJlbGVhc2UgPQkJcGt0X2Nsb3NlLAotCS5pb2N0bCA9CQlwa3RfaW9jdGwsCisJLnVubG9ja2VkX2lvY3RsID0JcGt0X2lvY3RsLAogCS5tZWRpYV9jaGFuZ2VkID0JcGt0X21lZGlhX2NoYW5nZWQsCiB9OwogCkBAIC0zMDE0LDcgKzMwMjEsOCBAQAogCW11dGV4X3VubG9jaygmY3RsX211dGV4KTsKIH0KIAotc3RhdGljIGludCBwa3RfY3RsX2lvY3RsKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlLCB1bnNpZ25lZCBpbnQgY21kLCB1bnNpZ25lZCBsb25nIGFyZykKK3N0YXRpYyBsb25nIHBrdF9jdGxfaW9jdGwoc3RydWN0IGZpbGUgKmZpbGUsIHVuc2lnbmVkIGludCBjbWQsCisJCQkJCQl1bnNpZ25lZCBsb25nIGFyZykKIHsKIAl2b2lkIF9fdXNlciAqYXJncCA9ICh2b2lkIF9fdXNlciAqKWFyZzsKIAlzdHJ1Y3QgcGt0X2N0cmxfY29tbWFuZCBjdHJsX2NtZDsKQEAgLTMwMzEsMTYgKzMwMzksMjIgQEAKIAljYXNlIFBLVF9DVFJMX0NNRF9TRVRVUDoKIAkJaWYgKCFjYXBhYmxlKENBUF9TWVNfQURNSU4pKQogCQkJcmV0dXJuIC1FUEVSTTsKKwkJbG9ja19rZXJuZWwoKTsKIAkJcmV0ID0gcGt0X3NldHVwX2RldihuZXdfZGVjb2RlX2RldihjdHJsX2NtZC5kZXYpLCAmcGt0X2Rldik7CiAJCWN0cmxfY21kLnBrdF9kZXYgPSBuZXdfZW5jb2RlX2Rldihwa3RfZGV2KTsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlicmVhazsKIAljYXNlIFBLVF9DVFJMX0NNRF9URUFSRE9XTjoKIAkJaWYgKCFjYXBhYmxlKENBUF9TWVNfQURNSU4pKQogCQkJcmV0dXJuIC1FUEVSTTsKKwkJbG9ja19rZXJuZWwoKTsKIAkJcmV0ID0gcGt0X3JlbW92ZV9kZXYobmV3X2RlY29kZV9kZXYoY3RybF9jbWQucGt0X2RldikpOworCQl1bmxvY2tfa2VybmVsKCk7CiAJCWJyZWFrOwogCWNhc2UgUEtUX0NUUkxfQ01EX1NUQVRVUzoKKwkJbG9ja19rZXJuZWwoKTsKIAkJcGt0X2dldF9zdGF0dXMoJmN0cmxfY21kKTsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlicmVhazsKIAlkZWZhdWx0OgogCQlyZXR1cm4gLUVOT1RUWTsKQEAgLTMwNTMsNyArMzA2Nyw3IEBACiAKIAogc3RhdGljIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgcGt0X2N0bF9mb3BzID0gewotCS5pb2N0bAkgPSBwa3RfY3RsX2lvY3RsLAorCS51bmxvY2tlZF9pb2N0bAkgPSBwa3RfY3RsX2lvY3RsLAogCS5vd25lcgkgPSBUSElTX01PRFVMRSwKIH07CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvYmxvY2sveGVuLWJsa2Zyb250LmMgYi9kcml2ZXJzL2Jsb2NrL3hlbi1ibGtmcm9udC5jCmluZGV4IGYyZmZmNTcuLjlhZTA1YzUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYmxvY2sveGVuLWJsa2Zyb250LmMKKysrIGIvZHJpdmVycy9ibG9jay94ZW4tYmxrZnJvbnQuYwpAQCAtMzgsNiArMzgsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgogI2luY2x1ZGUgPGxpbnV4L2Jsa2Rldi5oPgogI2luY2x1ZGUgPGxpbnV4L2hkcmVnLmg+CisjaW5jbHVkZSA8bGludXgvY2Ryb20uaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KIAogI2luY2x1ZGUgPHhlbi94ZW5idXMuaD4KQEAgLTE1Myw2ICsxNTQsNDAgQEAKIAlyZXR1cm4gMDsKIH0KIAoraW50IGJsa2lmX2lvY3RsKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlcCwKKwkJdW5zaWduZWQgY29tbWFuZCwgdW5zaWduZWQgbG9uZyBhcmd1bWVudCkKK3sKKwlzdHJ1Y3QgYmxrZnJvbnRfaW5mbyAqaW5mbyA9CisJCWlub2RlLT5pX2JkZXYtPmJkX2Rpc2stPnByaXZhdGVfZGF0YTsKKwlpbnQgaTsKKworCWRldl9kYmcoJmluZm8tPnhiZGV2LT5kZXYsICJjb21tYW5kOiAweCV4LCBhcmd1bWVudDogMHglbHhcbiIsCisJCWNvbW1hbmQsIChsb25nKWFyZ3VtZW50KTsKKworCXN3aXRjaCAoY29tbWFuZCkgeworCWNhc2UgQ0RST01NVUxUSVNFU1NJT046CisJCWRldl9kYmcoJmluZm8tPnhiZGV2LT5kZXYsICJGSVhNRTogc3VwcG9ydCBtdWx0aXNlc3Npb24gQ0RzIGxhdGVyXG4iKTsKKwkJZm9yIChpID0gMDsgaSA8IHNpemVvZihzdHJ1Y3QgY2Ryb21fbXVsdGlzZXNzaW9uKTsgaSsrKQorCQkJaWYgKHB1dF91c2VyKDAsIChjaGFyIF9fdXNlciAqKShhcmd1bWVudCArIGkpKSkKKwkJCQlyZXR1cm4gLUVGQVVMVDsKKwkJcmV0dXJuIDA7CisKKwljYXNlIENEUk9NX0dFVF9DQVBBQklMSVRZOiB7CisJCXN0cnVjdCBnZW5kaXNrICpnZCA9IGluZm8tPmdkOworCQlpZiAoZ2QtPmZsYWdzICYgR0VOSERfRkxfQ0QpCisJCQlyZXR1cm4gMDsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJZGVmYXVsdDoKKwkJLypwcmludGsoS0VSTl9BTEVSVCAiaW9jdGwgJTA4eCBub3Qgc3VwcG9ydGVkIGJ5IFhlbiBibGtkZXZcbiIsCisJCSAgY29tbWFuZCk7Ki8KKwkJcmV0dXJuIC1FSU5WQUw7IC8qIHNhbWUgcmV0dXJuIGFzIG5hdGl2ZSBMaW51eCAqLworCX0KKworCXJldHVybiAwOworfQorCiAvKgogICogYmxraWZfcXVldWVfcmVxdWVzdAogICoKQEAgLTMyNCw2ICszNTksOSBAQAogCS8qIE1ha2Ugc3VyZSBidWZmZXIgYWRkcmVzc2VzIGFyZSBzZWN0b3ItYWxpZ25lZC4gKi8KIAlibGtfcXVldWVfZG1hX2FsaWdubWVudChycSwgNTExKTsKIAorCS8qIE1ha2Ugc3VyZSB3ZSBkb24ndCB1c2UgYm91bmNlIGJ1ZmZlcnMuICovCisJYmxrX3F1ZXVlX2JvdW5jZV9saW1pdChycSwgQkxLX0JPVU5DRV9BTlkpOworCiAJZ2QtPnF1ZXVlID0gcnE7CiAKIAlyZXR1cm4gMDsKQEAgLTU0Niw3ICs1ODQsNyBAQAogCiAJaW5mby0+cmluZ19yZWYgPSBHUkFOVF9JTlZBTElEX1JFRjsKIAotCXNyaW5nID0gKHN0cnVjdCBibGtpZl9zcmluZyAqKV9fZ2V0X2ZyZWVfcGFnZShHRlBfS0VSTkVMKTsKKwlzcmluZyA9IChzdHJ1Y3QgYmxraWZfc3JpbmcgKilfX2dldF9mcmVlX3BhZ2UoR0ZQX05PSU8gfCBfX0dGUF9ISUdIKTsKIAlpZiAoIXNyaW5nKSB7CiAJCXhlbmJ1c19kZXZfZmF0YWwoZGV2LCAtRU5PTUVNLCAiYWxsb2NhdGluZyBzaGFyZWQgcmluZyIpOwogCQlyZXR1cm4gLUVOT01FTTsKQEAgLTcwMyw3ICs3NDEsOCBAQAogCWludCBqOwogCiAJLyogU3RhZ2UgMTogTWFrZSBhIHNhZmUgY29weSBvZiB0aGUgc2hhZG93IHN0YXRlLiAqLwotCWNvcHkgPSBrbWFsbG9jKHNpemVvZihpbmZvLT5zaGFkb3cpLCBHRlBfS0VSTkVMKTsKKwljb3B5ID0ga21hbGxvYyhzaXplb2YoaW5mby0+c2hhZG93KSwKKwkJICAgICAgIEdGUF9OT0lPIHwgX19HRlBfUkVQRUFUIHwgX19HRlBfSElHSCk7CiAJaWYgKCFjb3B5KQogCQlyZXR1cm4gLUVOT01FTTsKIAltZW1jcHkoY29weSwgaW5mby0+c2hhZG93LCBzaXplb2YoaW5mby0+c2hhZG93KSk7CkBAIC05NTksNyArOTk4LDcgQEAKIAkJc3RydWN0IHhlbmJ1c19kZXZpY2UgKmRldiA9IGluZm8tPnhiZGV2OwogCQllbnVtIHhlbmJ1c19zdGF0ZSBzdGF0ZSA9IHhlbmJ1c19yZWFkX2RyaXZlcl9zdGF0ZShkZXYtPm90aGVyZW5kKTsKIAotCQlpZiAoc3RhdGUgPT0gWGVuYnVzU3RhdGVDbG9zaW5nKQorCQlpZiAoc3RhdGUgPT0gWGVuYnVzU3RhdGVDbG9zaW5nICYmIGluZm8tPmlzX3JlYWR5KQogCQkJYmxrZnJvbnRfY2xvc2luZyhkZXYpOwogCX0KIAlyZXR1cm4gMDsKQEAgLTk3MSw2ICsxMDEwLDcgQEAKIAkub3BlbiA9IGJsa2lmX29wZW4sCiAJLnJlbGVhc2UgPSBibGtpZl9yZWxlYXNlLAogCS5nZXRnZW8gPSBibGtpZl9nZXRnZW8sCisJLmlvY3RsID0gYmxraWZfaW9jdGwsCiB9OwogCiAKQEAgLTEwMDYsNyArMTA0Niw3IEBACiBtb2R1bGVfaW5pdCh4bGJsa19pbml0KTsKIAogCi1zdGF0aWMgdm9pZCB4bGJsa19leGl0KHZvaWQpCitzdGF0aWMgdm9pZCBfX2V4aXQgeGxibGtfZXhpdCh2b2lkKQogewogCXJldHVybiB4ZW5idXNfdW5yZWdpc3Rlcl9kcml2ZXIoJmJsa2Zyb250KTsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvYmx1ZXRvb3RoL2JmdXNiLmMgYi9kcml2ZXJzL2JsdWV0b290aC9iZnVzYi5jCmluZGV4IGI5OTA4MDUuLjBjMjExYWQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYmx1ZXRvb3RoL2JmdXNiLmMKKysrIGIvZHJpdmVycy9ibHVldG9vdGgvYmZ1c2IuYwpAQCAtNTY2LDcgKzU2Niw4IEBACiAJcmV0dXJuIC1FTk9JT0NUTENNRDsKIH0KIAotc3RhdGljIGludCBiZnVzYl9sb2FkX2Zpcm13YXJlKHN0cnVjdCBiZnVzYl9kYXRhICpkYXRhLCB1bnNpZ25lZCBjaGFyICpmaXJtd2FyZSwgaW50IGNvdW50KQorc3RhdGljIGludCBiZnVzYl9sb2FkX2Zpcm13YXJlKHN0cnVjdCBiZnVzYl9kYXRhICpkYXRhLAorCQkJICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmZpcm13YXJlLCBpbnQgY291bnQpCiB7CiAJdW5zaWduZWQgY2hhciAqYnVmOwogCWludCBlcnIsIHBpcGUsIGxlbiwgc2l6ZSwgc2VudCA9IDA7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2JsdWV0b290aC9idDNjX2NzLmMgYi9kcml2ZXJzL2JsdWV0b290aC9idDNjX2NzLmMKaW5kZXggNzcwM2Q2ZS4uNTkzYjdjNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ibHVldG9vdGgvYnQzY19jcy5jCisrKyBiL2RyaXZlcnMvYmx1ZXRvb3RoL2J0M2NfY3MuYwpAQCAtNDcwLDcgKzQ3MCw4IEBACiAvKiA9PT09PT09PT09PT09PT09PT09PT09PT0gQ2FyZCBzZXJ2aWNlcyBIQ0kgaW50ZXJhY3Rpb24gPT09PT09PT09PT09PT09PT09PT09PT09ICovCiAKIAotc3RhdGljIGludCBidDNjX2xvYWRfZmlybXdhcmUoYnQzY19pbmZvX3QgKmluZm8sIHVuc2lnbmVkIGNoYXIgKmZpcm13YXJlLCBpbnQgY291bnQpCitzdGF0aWMgaW50IGJ0M2NfbG9hZF9maXJtd2FyZShidDNjX2luZm9fdCAqaW5mbywgY29uc3QgdW5zaWduZWQgY2hhciAqZmlybXdhcmUsCisJCQkgICAgICBpbnQgY291bnQpCiB7CiAJY2hhciAqcHRyID0gKGNoYXIgKikgZmlybXdhcmU7CiAJY2hhciBiWzldOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ibHVldG9vdGgvaGNpX3ZoY2kuYyBiL2RyaXZlcnMvYmx1ZXRvb3RoL2hjaV92aGNpLmMKaW5kZXggMDYzODczMC4uZDk3NzAwYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ibHVldG9vdGgvaGNpX3ZoY2kuYworKysgYi9kcml2ZXJzL2JsdWV0b290aC9oY2lfdmhjaS5jCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgpAQCAtMjYzLDkgKzI2NCwxMSBAQAogCXNrYl9xdWV1ZV9oZWFkX2luaXQoJmRhdGEtPnJlYWRxKTsKIAlpbml0X3dhaXRxdWV1ZV9oZWFkKCZkYXRhLT5yZWFkX3dhaXQpOwogCisJbG9ja19rZXJuZWwoKTsKIAloZGV2ID0gaGNpX2FsbG9jX2RldigpOwogCWlmICghaGRldikgewogCQlrZnJlZShkYXRhKTsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gLUVOT01FTTsKIAl9CiAKQEAgLTI4NiwxMCArMjg5LDEyIEBACiAJCUJUX0VSUigiQ2FuJ3QgcmVnaXN0ZXIgSENJIGRldmljZSIpOwogCQlrZnJlZShkYXRhKTsKIAkJaGNpX2ZyZWVfZGV2KGhkZXYpOworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiAtRUJVU1k7CiAJfQogCiAJZmlsZS0+cHJpdmF0ZV9kYXRhID0gZGF0YTsKKwl1bmxvY2tfa2VybmVsKCk7CiAKIAlyZXR1cm4gbm9uc2Vla2FibGVfb3Blbihpbm9kZSwgZmlsZSk7CiB9CkBAIC0zMTMsMTggKzMxOCwyMSBAQAogc3RhdGljIGludCB2aGNpX2Zhc3luYyhpbnQgZmQsIHN0cnVjdCBmaWxlICpmaWxlLCBpbnQgb24pCiB7CiAJc3RydWN0IHZoY2lfZGF0YSAqZGF0YSA9IGZpbGUtPnByaXZhdGVfZGF0YTsKLQlpbnQgZXJyOworCWludCBlcnIgPSAwOwogCisJbG9ja19rZXJuZWwoKTsKIAllcnIgPSBmYXN5bmNfaGVscGVyKGZkLCBmaWxlLCBvbiwgJmRhdGEtPmZhc3luYyk7CiAJaWYgKGVyciA8IDApCi0JCXJldHVybiBlcnI7CisJCWdvdG8gb3V0OwogCiAJaWYgKG9uKQogCQlkYXRhLT5mbGFncyB8PSBWSENJX0ZBU1lOQzsKIAllbHNlCiAJCWRhdGEtPmZsYWdzICY9IH5WSENJX0ZBU1lOQzsKIAotCXJldHVybiAwOworb3V0OgorCXVubG9ja19rZXJuZWwoKTsKKwlyZXR1cm4gZXJyOwogfQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyB2aGNpX2ZvcHMgPSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2Nkcm9tL2Nkcm9tLmMgYi9kcml2ZXJzL2Nkcm9tL2Nkcm9tLmMKaW5kZXggNjlmMjZlYi4uYTVkYTM1NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9jZHJvbS9jZHJvbS5jCisrKyBiL2RyaXZlcnMvY2Ryb20vY2Ryb20uYwpAQCAtNDYxLDM3ICs0NjEsMjcgQEAKIAkJCSAgc3RydWN0IG1lZGlhX2V2ZW50X2Rlc2MgKm1lZCkKIHsKIAlzdHJ1Y3QgcGFja2V0X2NvbW1hbmQgY2djOwotCXVuc2lnbmVkIGNoYXIgKmJ1ZmZlcjsKLQlzdHJ1Y3QgZXZlbnRfaGVhZGVyICplaDsKLQlpbnQgcmV0ID0gMTsKKwl1bnNpZ25lZCBjaGFyIGJ1ZmZlcls4XTsKKwlzdHJ1Y3QgZXZlbnRfaGVhZGVyICplaCA9IChzdHJ1Y3QgZXZlbnRfaGVhZGVyICopIGJ1ZmZlcjsKIAotCWJ1ZmZlciA9IGttYWxsb2MoOCwgR0ZQX0tFUk5FTCk7Ci0JaWYgKCFidWZmZXIpCi0JCXJldHVybiAtRU5PTUVNOwotCi0JZWggPSAoc3RydWN0IGV2ZW50X2hlYWRlciAqKWJ1ZmZlcjsKLQotCWluaXRfY2Ryb21fY29tbWFuZCgmY2djLCBidWZmZXIsIDgsIENHQ19EQVRBX1JFQUQpOworCWluaXRfY2Ryb21fY29tbWFuZCgmY2djLCBidWZmZXIsIHNpemVvZihidWZmZXIpLCBDR0NfREFUQV9SRUFEKTsKIAljZ2MuY21kWzBdID0gR1BDTURfR0VUX0VWRU5UX1NUQVRVU19OT1RJRklDQVRJT047CiAJY2djLmNtZFsxXSA9IDE7CQkvKiBJTU1FRCAqLwogCWNnYy5jbWRbNF0gPSAxIDw8IDQ7CS8qIG1lZGlhIGV2ZW50ICovCi0JY2djLmNtZFs4XSA9IDg7CisJY2djLmNtZFs4XSA9IHNpemVvZihidWZmZXIpOwogCWNnYy5xdWlldCA9IDE7CiAKIAlpZiAoY2RpLT5vcHMtPmdlbmVyaWNfcGFja2V0KGNkaSwgJmNnYykpCi0JCWdvdG8gZXJyOworCQlyZXR1cm4gMTsKIAogCWlmIChiZTE2X3RvX2NwdShlaC0+ZGF0YV9sZW4pIDwgc2l6ZW9mKCptZWQpKQotCQlnb3RvIGVycjsKKwkJcmV0dXJuIDE7CiAKIAlpZiAoZWgtPm5lYSB8fCBlaC0+bm90aWZpY2F0aW9uX2NsYXNzICE9IDB4NCkKLQkJZ290byBlcnI7CisJCXJldHVybiAxOwogCi0JbWVtY3B5KG1lZCwgYnVmZmVyICsgc2l6ZW9mKCplaCksIHNpemVvZigqbWVkKSk7Ci0JcmV0ID0gMDsKLWVycjoKLQlrZnJlZShidWZmZXIpOwotCXJldHVybiByZXQ7CisJbWVtY3B5KG1lZCwgJmJ1ZmZlcltzaXplb2YoKmVoKV0sIHNpemVvZigqbWVkKSk7CisJcmV0dXJuIDA7CiB9CiAKIC8qCkBAIC01MDEsODIgKzQ5MSw2OCBAQAogc3RhdGljIGludCBjZHJvbV9tcndfcHJvYmVfcGMoc3RydWN0IGNkcm9tX2RldmljZV9pbmZvICpjZGkpCiB7CiAJc3RydWN0IHBhY2tldF9jb21tYW5kIGNnYzsKLQljaGFyICpidWZmZXI7Ci0JaW50IHJldCA9IDE7CisJY2hhciBidWZmZXJbMTZdOwogCi0JYnVmZmVyID0ga21hbGxvYygxNiwgR0ZQX0tFUk5FTCk7Ci0JaWYgKCFidWZmZXIpCi0JCXJldHVybiAtRU5PTUVNOwotCi0JaW5pdF9jZHJvbV9jb21tYW5kKCZjZ2MsIGJ1ZmZlciwgMTYsIENHQ19EQVRBX1JFQUQpOworCWluaXRfY2Ryb21fY29tbWFuZCgmY2djLCBidWZmZXIsIHNpemVvZihidWZmZXIpLCBDR0NfREFUQV9SRUFEKTsKIAogCWNnYy50aW1lb3V0ID0gSFo7CiAJY2djLnF1aWV0ID0gMTsKIAogCWlmICghY2Ryb21fbW9kZV9zZW5zZShjZGksICZjZ2MsIE1SV19NT0RFX1BDLCAwKSkgewogCQljZGktPm1yd19tb2RlX3BhZ2UgPSBNUldfTU9ERV9QQzsKLQkJcmV0ID0gMDsKKwkJcmV0dXJuIDA7CiAJfSBlbHNlIGlmICghY2Ryb21fbW9kZV9zZW5zZShjZGksICZjZ2MsIE1SV19NT0RFX1BDX1BSRTEsIDApKSB7CiAJCWNkaS0+bXJ3X21vZGVfcGFnZSA9IE1SV19NT0RFX1BDX1BSRTE7Ci0JCXJldCA9IDA7CisJCXJldHVybiAwOwogCX0KLQlrZnJlZShidWZmZXIpOwotCXJldHVybiByZXQ7CisKKwlyZXR1cm4gMTsKIH0KIAogc3RhdGljIGludCBjZHJvbV9pc19tcncoc3RydWN0IGNkcm9tX2RldmljZV9pbmZvICpjZGksIGludCAqd3JpdGUpCiB7CiAJc3RydWN0IHBhY2tldF9jb21tYW5kIGNnYzsKIAlzdHJ1Y3QgbXJ3X2ZlYXR1cmVfZGVzYyAqbWZkOwotCXVuc2lnbmVkIGNoYXIgKmJ1ZmZlcjsKKwl1bnNpZ25lZCBjaGFyIGJ1ZmZlclsxNl07CiAJaW50IHJldDsKIAogCSp3cml0ZSA9IDA7Ci0JYnVmZmVyID0ga21hbGxvYygxNiwgR0ZQX0tFUk5FTCk7Ci0JaWYgKCFidWZmZXIpCi0JCXJldHVybiAtRU5PTUVNOwogCi0JaW5pdF9jZHJvbV9jb21tYW5kKCZjZ2MsIGJ1ZmZlciwgMTYsIENHQ19EQVRBX1JFQUQpOworCWluaXRfY2Ryb21fY29tbWFuZCgmY2djLCBidWZmZXIsIHNpemVvZihidWZmZXIpLCBDR0NfREFUQV9SRUFEKTsKIAogCWNnYy5jbWRbMF0gPSBHUENNRF9HRVRfQ09ORklHVVJBVElPTjsKIAljZ2MuY21kWzNdID0gQ0RGX01SVzsKLQljZ2MuY21kWzhdID0gMTY7CisJY2djLmNtZFs4XSA9IHNpemVvZihidWZmZXIpOwogCWNnYy5xdWlldCA9IDE7CiAKIAlpZiAoKHJldCA9IGNkaS0+b3BzLT5nZW5lcmljX3BhY2tldChjZGksICZjZ2MpKSkKLQkJZ290byBlcnI7CisJCXJldHVybiByZXQ7CiAKIAltZmQgPSAoc3RydWN0IG1yd19mZWF0dXJlX2Rlc2MgKikmYnVmZmVyW3NpemVvZihzdHJ1Y3QgZmVhdHVyZV9oZWFkZXIpXTsKLQlpZiAoYmUxNl90b19jcHUobWZkLT5mZWF0dXJlX2NvZGUpICE9IENERl9NUlcpIHsKLQkJcmV0ID0gMTsKLQkJZ290byBlcnI7Ci0JfQorCWlmIChiZTE2X3RvX2NwdShtZmQtPmZlYXR1cmVfY29kZSkgIT0gQ0RGX01SVykKKwkJcmV0dXJuIDE7CiAJKndyaXRlID0gbWZkLT53cml0ZTsKIAogCWlmICgocmV0ID0gY2Ryb21fbXJ3X3Byb2JlX3BjKGNkaSkpKSB7CiAJCSp3cml0ZSA9IDA7CisJCXJldHVybiByZXQ7CiAJfQotZXJyOgotCWtmcmVlKGJ1ZmZlcik7Ci0JcmV0dXJuIHJldDsKKworCXJldHVybiAwOwogfQogCiBzdGF0aWMgaW50IGNkcm9tX21yd19iZ2Zvcm1hdChzdHJ1Y3QgY2Ryb21fZGV2aWNlX2luZm8gKmNkaSwgaW50IGNvbnQpCiB7CiAJc3RydWN0IHBhY2tldF9jb21tYW5kIGNnYzsKLQl1bnNpZ25lZCBjaGFyICpidWZmZXI7CisJdW5zaWduZWQgY2hhciBidWZmZXJbMTJdOwogCWludCByZXQ7CiAKIAlwcmludGsoS0VSTl9JTkZPICJjZHJvbTogJXNzdGFydGluZyBmb3JtYXRcbiIsIGNvbnQgPyAiUmUiIDogIiIpOwogCi0JYnVmZmVyID0ga21hbGxvYygxMiwgR0ZQX0tFUk5FTCk7Ci0JaWYgKCFidWZmZXIpCi0JCXJldHVybiAtRU5PTUVNOwotCiAJLyoKIAkgKiBGbXREYXRhIGJpdCBzZXQgKGJpdCA0KSwgZm9ybWF0IHR5cGUgaXMgMQogCSAqLwotCWluaXRfY2Ryb21fY29tbWFuZCgmY2djLCBidWZmZXIsIDEyLCBDR0NfREFUQV9XUklURSk7CisJaW5pdF9jZHJvbV9jb21tYW5kKCZjZ2MsIGJ1ZmZlciwgc2l6ZW9mKGJ1ZmZlciksIENHQ19EQVRBX1dSSVRFKTsKIAljZ2MuY21kWzBdID0gR1BDTURfRk9STUFUX1VOSVQ7CiAJY2djLmNtZFsxXSA9ICgxIDw8IDQpIHwgMTsKIApAQCAtNjAzLDcgKzU3OSw2IEBACiAJaWYgKHJldCkKIAkJcHJpbnRrKEtFUk5fSU5GTyAiY2Ryb206IGJnZm9ybWF0IGZhaWxlZFxuIik7CiAKLQlrZnJlZShidWZmZXIpOwogCXJldHVybiByZXQ7CiB9CiAKQEAgLTY2MywxNyArNjM4LDE2IEBACiB7CiAJc3RydWN0IHBhY2tldF9jb21tYW5kIGNnYzsKIAlzdHJ1Y3QgbW9kZV9wYWdlX2hlYWRlciAqbXBoOwotCWNoYXIgKmJ1ZmZlcjsKKwljaGFyIGJ1ZmZlclsxNl07CiAJaW50IHJldCwgb2Zmc2V0LCBzaXplOwogCi0JYnVmZmVyID0ga21hbGxvYygxNiwgR0ZQX0tFUk5FTCk7Ci0JaWYgKCFidWZmZXIpCi0JCXJldHVybiAtRU5PTUVNOworCWluaXRfY2Ryb21fY29tbWFuZCgmY2djLCBidWZmZXIsIHNpemVvZihidWZmZXIpLCBDR0NfREFUQV9SRUFEKTsKIAotCWluaXRfY2Ryb21fY29tbWFuZCgmY2djLCBidWZmZXIsIDE2LCBDR0NfREFUQV9SRUFEKTsKKwljZ2MuYnVmZmVyID0gYnVmZmVyOworCWNnYy5idWZsZW4gPSBzaXplb2YoYnVmZmVyKTsKIAogCWlmICgocmV0ID0gY2Ryb21fbW9kZV9zZW5zZShjZGksICZjZ2MsIGNkaS0+bXJ3X21vZGVfcGFnZSwgMCkpKQotCQlnb3RvIGVycjsKKwkJcmV0dXJuIHJldDsKIAogCW1waCA9IChzdHJ1Y3QgbW9kZV9wYWdlX2hlYWRlciAqKSBidWZmZXI7CiAJb2Zmc2V0ID0gYmUxNl90b19jcHUobXBoLT5kZXNjX2xlbmd0aCk7CkBAIC02ODMsNzAgKzY1Nyw1NSBAQAogCWNnYy5idWZsZW4gPSBzaXplOwogCiAJaWYgKChyZXQgPSBjZHJvbV9tb2RlX3NlbGVjdChjZGksICZjZ2MpKSkKLQkJZ290byBlcnI7CisJCXJldHVybiByZXQ7CiAKIAlwcmludGsoS0VSTl9JTkZPICJjZHJvbTogJXM6IG1ydyBhZGRyZXNzIHNwYWNlICVzIHNlbGVjdGVkXG4iLCBjZGktPm5hbWUsIG1yd19hZGRyZXNzX3NwYWNlW3NwYWNlXSk7Ci0JcmV0ID0gMDsKLWVycjoKLQlrZnJlZShidWZmZXIpOwotCXJldHVybiByZXQ7CisJcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyBpbnQgY2Ryb21fZ2V0X3JhbmRvbV93cml0YWJsZShzdHJ1Y3QgY2Ryb21fZGV2aWNlX2luZm8gKmNkaSwKIAkJCSAgICAgIHN0cnVjdCByd3J0X2ZlYXR1cmVfZGVzYyAqcmZkKQogewogCXN0cnVjdCBwYWNrZXRfY29tbWFuZCBjZ2M7Ci0JY2hhciAqYnVmZmVyOworCWNoYXIgYnVmZmVyWzI0XTsKIAlpbnQgcmV0OwogCi0JYnVmZmVyID0ga21hbGxvYygyNCwgR0ZQX0tFUk5FTCk7Ci0JaWYgKCFidWZmZXIpCi0JCXJldHVybiAtRU5PTUVNOwotCi0JaW5pdF9jZHJvbV9jb21tYW5kKCZjZ2MsIGJ1ZmZlciwgMjQsIENHQ19EQVRBX1JFQUQpOworCWluaXRfY2Ryb21fY29tbWFuZCgmY2djLCBidWZmZXIsIHNpemVvZihidWZmZXIpLCBDR0NfREFUQV9SRUFEKTsKIAogCWNnYy5jbWRbMF0gPSBHUENNRF9HRVRfQ09ORklHVVJBVElPTjsJLyogb2Z0ZW4gMHg0NiAqLwogCWNnYy5jbWRbM10gPSBDREZfUldSVDsJCQkvKiBvZnRlbiAweDAwMjAgKi8KLQljZ2MuY21kWzhdID0gMjQ7CQkgICAgICAgIC8qIG9mdGVuIDB4MTggKi8KKwljZ2MuY21kWzhdID0gc2l6ZW9mKGJ1ZmZlcik7CQkvKiBvZnRlbiAweDE4ICovCiAJY2djLnF1aWV0ID0gMTsKIAogCWlmICgocmV0ID0gY2RpLT5vcHMtPmdlbmVyaWNfcGFja2V0KGNkaSwgJmNnYykpKQotCQlnb3RvIGVycjsKKwkJcmV0dXJuIHJldDsKIAogCW1lbWNweShyZmQsICZidWZmZXJbc2l6ZW9mKHN0cnVjdCBmZWF0dXJlX2hlYWRlcildLCBzaXplb2YgKCpyZmQpKTsKLQlyZXQgPSAwOwotZXJyOgotCWtmcmVlKGJ1ZmZlcik7Ci0JcmV0dXJuIHJldDsKKwlyZXR1cm4gMDsKIH0KIAogc3RhdGljIGludCBjZHJvbV9oYXNfZGVmZWN0X21ndChzdHJ1Y3QgY2Ryb21fZGV2aWNlX2luZm8gKmNkaSkKIHsKIAlzdHJ1Y3QgcGFja2V0X2NvbW1hbmQgY2djOwotCWNoYXIgKmJ1ZmZlcjsKKwljaGFyIGJ1ZmZlclsxNl07CiAJX19iZTE2ICpmZWF0dXJlX2NvZGU7CiAJaW50IHJldDsKIAotCWJ1ZmZlciA9IGttYWxsb2MoMTYsIEdGUF9LRVJORUwpOwotCWlmICghYnVmZmVyKQotCQlyZXR1cm4gLUVOT01FTTsKLQotCWluaXRfY2Ryb21fY29tbWFuZCgmY2djLCBidWZmZXIsIDE2LCBDR0NfREFUQV9SRUFEKTsKKwlpbml0X2Nkcm9tX2NvbW1hbmQoJmNnYywgYnVmZmVyLCBzaXplb2YoYnVmZmVyKSwgQ0dDX0RBVEFfUkVBRCk7CiAKIAljZ2MuY21kWzBdID0gR1BDTURfR0VUX0NPTkZJR1VSQVRJT047CiAJY2djLmNtZFszXSA9IENERl9IV0RNOwotCWNnYy5jbWRbOF0gPSAxNjsKKwljZ2MuY21kWzhdID0gc2l6ZW9mKGJ1ZmZlcik7CiAJY2djLnF1aWV0ID0gMTsKIAogCWlmICgocmV0ID0gY2RpLT5vcHMtPmdlbmVyaWNfcGFja2V0KGNkaSwgJmNnYykpKQotCQlnb3RvIGVycjsKKwkJcmV0dXJuIHJldDsKIAogCWZlYXR1cmVfY29kZSA9IChfX2JlMTYgKikgJmJ1ZmZlcltzaXplb2Yoc3RydWN0IGZlYXR1cmVfaGVhZGVyKV07CiAJaWYgKGJlMTZfdG9fY3B1KCpmZWF0dXJlX2NvZGUpID09IENERl9IV0RNKQotCQlyZXQgPSAwOwotZXJyOgotCWtmcmVlKGJ1ZmZlcik7Ci0JcmV0dXJuIHJldDsKKwkJcmV0dXJuIDA7CisKKwlyZXR1cm4gMTsKIH0KIAogCkBAIC04MzcsMTQgKzc5NiwxMCBAQAogc3RhdGljIGludCBtb19vcGVuX3dyaXRlKHN0cnVjdCBjZHJvbV9kZXZpY2VfaW5mbyAqY2RpKQogewogCXN0cnVjdCBwYWNrZXRfY29tbWFuZCBjZ2M7Ci0JY2hhciAqYnVmZmVyOworCWNoYXIgYnVmZmVyWzI1NV07CiAJaW50IHJldDsKIAotCWJ1ZmZlciA9IGttYWxsb2MoMjU1LCBHRlBfS0VSTkVMKTsKLQlpZiAoIWJ1ZmZlcikKLQkJcmV0dXJuIC1FTk9NRU07Ci0KLQlpbml0X2Nkcm9tX2NvbW1hbmQoJmNnYywgYnVmZmVyLCA0LCBDR0NfREFUQV9SRUFEKTsKKwlpbml0X2Nkcm9tX2NvbW1hbmQoJmNnYywgJmJ1ZmZlciwgNCwgQ0dDX0RBVEFfUkVBRCk7CiAJY2djLnF1aWV0ID0gMTsKIAogCS8qCkBAIC04NjEsMTUgKzgxNiwxMCBAQAogCX0KIAogCS8qIGRyaXZlIGdhdmUgdXMgbm8gaW5mbywgbGV0IHRoZSB1c2VyIGdvIGFoZWFkICovCi0JaWYgKHJldCkgewotCQlyZXQgPSAwOwotCQlnb3RvIGVycjsKLQl9CisJaWYgKHJldCkKKwkJcmV0dXJuIDA7CiAKLQlyZXQgPSBidWZmZXJbM10gJiAweDgwOwotZXJyOgotCWtmcmVlKGJ1ZmZlcik7Ci0JcmV0dXJuIHJldDsKKwlyZXR1cm4gYnVmZmVyWzNdICYgMHg4MDsKIH0KIAogc3RhdGljIGludCBjZHJvbV9yYW1fb3Blbl93cml0ZShzdHJ1Y3QgY2Ryb21fZGV2aWNlX2luZm8gKmNkaSkKQEAgLTg5MiwxOSArODQyLDE1IEBACiBzdGF0aWMgdm9pZCBjZHJvbV9tbWMzX3Byb2ZpbGUoc3RydWN0IGNkcm9tX2RldmljZV9pbmZvICpjZGkpCiB7CiAJc3RydWN0IHBhY2tldF9jb21tYW5kIGNnYzsKLQljaGFyICpidWZmZXI7CisJY2hhciBidWZmZXJbMzJdOwogCWludCByZXQsIG1tYzNfcHJvZmlsZTsKIAotCWJ1ZmZlciA9IGttYWxsb2MoMzIsIEdGUF9LRVJORUwpOwotCWlmICghYnVmZmVyKQotCQlyZXR1cm47Ci0KLQlpbml0X2Nkcm9tX2NvbW1hbmQoJmNnYywgYnVmZmVyLCAzMiwgQ0dDX0RBVEFfUkVBRCk7CisJaW5pdF9jZHJvbV9jb21tYW5kKCZjZ2MsIGJ1ZmZlciwgc2l6ZW9mKGJ1ZmZlciksIENHQ19EQVRBX1JFQUQpOwogCiAJY2djLmNtZFswXSA9IEdQQ01EX0dFVF9DT05GSUdVUkFUSU9OOwogCWNnYy5jbWRbMV0gPSAwOwogCWNnYy5jbWRbMl0gPSBjZ2MuY21kWzNdID0gMDsJCS8qIFN0YXJ0aW5nIEZlYXR1cmUgTnVtYmVyICovCi0JY2djLmNtZFs4XSA9IDMyOwkJICAgICAgICAvKiBBbGxvY2F0aW9uIExlbmd0aCAqLworCWNnYy5jbWRbOF0gPSBzaXplb2YoYnVmZmVyKTsJCS8qIEFsbG9jYXRpb24gTGVuZ3RoICovCiAJY2djLnF1aWV0ID0gMTsKIAogCWlmICgocmV0ID0gY2RpLT5vcHMtPmdlbmVyaWNfcGFja2V0KGNkaSwgJmNnYykpKQpAQCAtOTEzLDcgKzg1OSw2IEBACiAJCW1tYzNfcHJvZmlsZSA9IChidWZmZXJbNl0gPDwgOCkgfCBidWZmZXJbN107CiAKIAljZGktPm1tYzNfcHJvZmlsZSA9IG1tYzNfcHJvZmlsZTsKLQlrZnJlZShidWZmZXIpOwogfQogCiBzdGF0aWMgaW50IGNkcm9tX2lzX2R2ZF9ydyhzdHJ1Y3QgY2Ryb21fZGV2aWNlX2luZm8gKmNkaSkKQEAgLTE2MjgsMTUgKzE1NzMsMTIgQEAKIHN0YXRpYyBpbnQgZHZkX2RvX2F1dGgoc3RydWN0IGNkcm9tX2RldmljZV9pbmZvICpjZGksIGR2ZF9hdXRoaW5mbyAqYWkpCiB7CiAJaW50IHJldDsKLQl1X2NoYXIgKmJ1ZjsKKwl1X2NoYXIgYnVmWzIwXTsKIAlzdHJ1Y3QgcGFja2V0X2NvbW1hbmQgY2djOwogCXN0cnVjdCBjZHJvbV9kZXZpY2Vfb3BzICpjZG8gPSBjZGktPm9wczsKLQlycGNfc3RhdGVfdCAqcnBjX3N0YXRlOworCXJwY19zdGF0ZV90IHJwY19zdGF0ZTsKIAotCWJ1ZiA9IGt6YWxsb2MoMjAsIEdGUF9LRVJORUwpOwotCWlmICghYnVmKQotCQlyZXR1cm4gLUVOT01FTTsKLQorCW1lbXNldChidWYsIDAsIHNpemVvZihidWYpKTsKIAlpbml0X2Nkcm9tX2NvbW1hbmQoJmNnYywgYnVmLCAwLCBDR0NfREFUQV9SRUFEKTsKIAogCXN3aXRjaCAoYWktPnR5cGUpIHsKQEAgLTE2NDcsNyArMTU4OSw3IEBACiAJCXNldHVwX3JlcG9ydF9rZXkoJmNnYywgYWktPmxzYS5hZ2lkLCAwKTsKIAogCQlpZiAoKHJldCA9IGNkby0+Z2VuZXJpY19wYWNrZXQoY2RpLCAmY2djKSkpCi0JCQlnb3RvIGVycjsKKwkJCXJldHVybiByZXQ7CiAKIAkJYWktPmxzYS5hZ2lkID0gYnVmWzddID4+IDY7CiAJCS8qIFJldHVybmluZyBkYXRhLCBsZXQgaG9zdCBjaGFuZ2Ugc3RhdGUgKi8KQEAgLTE2NTgsNyArMTYwMCw3IEBACiAJCXNldHVwX3JlcG9ydF9rZXkoJmNnYywgYWktPmxzay5hZ2lkLCAyKTsKIAogCQlpZiAoKHJldCA9IGNkby0+Z2VuZXJpY19wYWNrZXQoY2RpLCAmY2djKSkpCi0JCQlnb3RvIGVycjsKKwkJCXJldHVybiByZXQ7CiAKIAkJY29weV9rZXkoYWktPmxzay5rZXksICZidWZbNF0pOwogCQkvKiBSZXR1cm5pbmcgZGF0YSwgbGV0IGhvc3QgY2hhbmdlIHN0YXRlICovCkBAIC0xNjY5LDcgKzE2MTEsNyBAQAogCQlzZXR1cF9yZXBvcnRfa2V5KCZjZ2MsIGFpLT5sc2MuYWdpZCwgMSk7CiAKIAkJaWYgKChyZXQgPSBjZG8tPmdlbmVyaWNfcGFja2V0KGNkaSwgJmNnYykpKQotCQkJZ290byBlcnI7CisJCQlyZXR1cm4gcmV0OwogCiAJCWNvcHlfY2hhbChhaS0+bHNjLmNoYWwsICZidWZbNF0pOwogCQkvKiBSZXR1cm5pbmcgZGF0YSwgbGV0IGhvc3QgY2hhbmdlIHN0YXRlICovCkBAIC0xNjg2LDcgKzE2MjgsNyBAQAogCQljZ2MuY21kWzJdID0gYWktPmxzdGsubGJhID4+IDI0OwogCiAJCWlmICgocmV0ID0gY2RvLT5nZW5lcmljX3BhY2tldChjZGksICZjZ2MpKSkKLQkJCWdvdG8gZXJyOworCQkJcmV0dXJuIHJldDsKIAogCQlhaS0+bHN0ay5jcG0gPSAoYnVmWzRdID4+IDcpICYgMTsKIAkJYWktPmxzdGsuY3Bfc2VjID0gKGJ1Zls0XSA+PiA2KSAmIDE7CkBAIC0xNzAwLDcgKzE2NDIsNyBAQAogCQlzZXR1cF9yZXBvcnRfa2V5KCZjZ2MsIGFpLT5sc2FzZi5hZ2lkLCA1KTsKIAkJCiAJCWlmICgocmV0ID0gY2RvLT5nZW5lcmljX3BhY2tldChjZGksICZjZ2MpKSkKLQkJCWdvdG8gZXJyOworCQkJcmV0dXJuIHJldDsKIAogCQlhaS0+bHNhc2YuYXNmID0gYnVmWzddICYgMTsKIAkJYnJlYWs7CkBAIC0xNzEzLDcgKzE2NTUsNyBAQAogCQljb3B5X2NoYWwoJmJ1Zls0XSwgYWktPmhzYy5jaGFsKTsKIAogCQlpZiAoKHJldCA9IGNkby0+Z2VuZXJpY19wYWNrZXQoY2RpLCAmY2djKSkpCi0JCQlnb3RvIGVycjsKKwkJCXJldHVybiByZXQ7CiAKIAkJYWktPnR5cGUgPSBEVkRfTFVfU0VORF9LRVkxOwogCQlicmVhazsKQEAgLTE3MjYsNyArMTY2OCw3IEBACiAKIAkJaWYgKChyZXQgPSBjZG8tPmdlbmVyaWNfcGFja2V0KGNkaSwgJmNnYykpKSB7CiAJCQlhaS0+dHlwZSA9IERWRF9BVVRIX0ZBSUxVUkU7Ci0JCQlnb3RvIGVycjsKKwkJCXJldHVybiByZXQ7CiAJCX0KIAkJYWktPnR5cGUgPSBEVkRfQVVUSF9FU1RBQkxJU0hFRDsKIAkJYnJlYWs7CkBAIC0xNzM3LDIzICsxNjc5LDI0IEBACiAJCWNkaW5mbyhDRF9EVkQsICJlbnRlcmluZyBEVkRfSU5WQUxJREFURV9BR0lEXG4iKTsgCiAJCXNldHVwX3JlcG9ydF9rZXkoJmNnYywgYWktPmxzYS5hZ2lkLCAweDNmKTsKIAkJaWYgKChyZXQgPSBjZG8tPmdlbmVyaWNfcGFja2V0KGNkaSwgJmNnYykpKQotCQkJZ290byBlcnI7CisJCQlyZXR1cm4gcmV0OwogCQlicmVhazsKIAogCS8qIEdldCByZWdpb24gc2V0dGluZ3MgKi8KIAljYXNlIERWRF9MVV9TRU5EX1JQQ19TVEFURToKIAkJY2RpbmZvKENEX0RWRCwgImVudGVyaW5nIERWRF9MVV9TRU5EX1JQQ19TVEFURVxuIik7CiAJCXNldHVwX3JlcG9ydF9rZXkoJmNnYywgMCwgOCk7CisJCW1lbXNldCgmcnBjX3N0YXRlLCAwLCBzaXplb2YocnBjX3N0YXRlX3QpKTsKKwkJY2djLmJ1ZmZlciA9IChjaGFyICopICZycGNfc3RhdGU7CiAKIAkJaWYgKChyZXQgPSBjZG8tPmdlbmVyaWNfcGFja2V0KGNkaSwgJmNnYykpKQotCQkJZ290byBlcnI7CisJCQlyZXR1cm4gcmV0OwogCi0JCXJwY19zdGF0ZSA9IChycGNfc3RhdGVfdCAqKWJ1ZjsKLQkJYWktPmxycGNzLnR5cGUgPSBycGNfc3RhdGUtPnR5cGVfY29kZTsKLQkJYWktPmxycGNzLnZyYSA9IHJwY19zdGF0ZS0+dnJhOwotCQlhaS0+bHJwY3MudWNjYSA9IHJwY19zdGF0ZS0+dWNjYTsKLQkJYWktPmxycGNzLnJlZ2lvbl9tYXNrID0gcnBjX3N0YXRlLT5yZWdpb25fbWFzazsKLQkJYWktPmxycGNzLnJwY19zY2hlbWUgPSBycGNfc3RhdGUtPnJwY19zY2hlbWU7CisJCWFpLT5scnBjcy50eXBlID0gcnBjX3N0YXRlLnR5cGVfY29kZTsKKwkJYWktPmxycGNzLnZyYSA9IHJwY19zdGF0ZS52cmE7CisJCWFpLT5scnBjcy51Y2NhID0gcnBjX3N0YXRlLnVjY2E7CisJCWFpLT5scnBjcy5yZWdpb25fbWFzayA9IHJwY19zdGF0ZS5yZWdpb25fbWFzazsKKwkJYWktPmxycGNzLnJwY19zY2hlbWUgPSBycGNfc3RhdGUucnBjX3NjaGVtZTsKIAkJYnJlYWs7CiAKIAkvKiBTZXQgcmVnaW9uIHNldHRpbmdzICovCkBAIC0xNzY0LDIzICsxNzA3LDIwIEBACiAJCWJ1Zls0XSA9IGFpLT5ocnBjcy5wZHJjOwogCiAJCWlmICgocmV0ID0gY2RvLT5nZW5lcmljX3BhY2tldChjZGksICZjZ2MpKSkKLQkJCWdvdG8gZXJyOworCQkJcmV0dXJuIHJldDsKIAkJYnJlYWs7CiAKIAlkZWZhdWx0OgogCQljZGluZm8oQ0RfV0FSTklORywgIkludmFsaWQgRFZEIGtleSBpb2N0bCAoJWQpXG4iLCBhaS0+dHlwZSk7Ci0JCXJldCA9IC1FTk9UVFk7Ci0JCWdvdG8gZXJyOworCQlyZXR1cm4gLUVOT1RUWTsKIAl9Ci0JcmV0ID0gMDsKLWVycjoKLQlrZnJlZShidWYpOwotCXJldHVybiByZXQ7CisKKwlyZXR1cm4gMDsKIH0KIAogc3RhdGljIGludCBkdmRfcmVhZF9waHlzaWNhbChzdHJ1Y3QgY2Ryb21fZGV2aWNlX2luZm8gKmNkaSwgZHZkX3N0cnVjdCAqcykKIHsKLQl1bnNpZ25lZCBjaGFyICpidWYsICpiYXNlOworCXVuc2lnbmVkIGNoYXIgYnVmWzIxXSwgKmJhc2U7CiAJc3RydWN0IGR2ZF9sYXllciAqbGF5ZXI7CiAJc3RydWN0IHBhY2tldF9jb21tYW5kIGNnYzsKIAlzdHJ1Y3QgY2Ryb21fZGV2aWNlX29wcyAqY2RvID0gY2RpLT5vcHM7CkBAIC0xNzg5LDExICsxNzI5LDcgQEAKIAlpZiAobGF5ZXJfbnVtID49IERWRF9MQVlFUlMpCiAJCXJldHVybiAtRUlOVkFMOwogCi0JYnVmID0ga21hbGxvYygyMSwgR0ZQX0tFUk5FTCk7Ci0JaWYgKCFidWYpCi0JCXJldHVybiAtRU5PTUVNOwotCi0JaW5pdF9jZHJvbV9jb21tYW5kKCZjZ2MsIGJ1ZiwgMjEsIENHQ19EQVRBX1JFQUQpOworCWluaXRfY2Ryb21fY29tbWFuZCgmY2djLCBidWYsIHNpemVvZihidWYpLCBDR0NfREFUQV9SRUFEKTsKIAljZ2MuY21kWzBdID0gR1BDTURfUkVBRF9EVkRfU1RSVUNUVVJFOwogCWNnYy5jbWRbNl0gPSBsYXllcl9udW07CiAJY2djLmNtZFs3XSA9IHMtPnR5cGU7CkBAIC0xODA1LDcgKzE3NDEsNyBAQAogCWNnYy5xdWlldCA9IDE7CiAKIAlpZiAoKHJldCA9IGNkby0+Z2VuZXJpY19wYWNrZXQoY2RpLCAmY2djKSkpCi0JCWdvdG8gZXJyOworCQlyZXR1cm4gcmV0OwogCiAJYmFzZSA9ICZidWZbNF07CiAJbGF5ZXIgPSAmcy0+cGh5c2ljYWwubGF5ZXJbbGF5ZXJfbnVtXTsKQEAgLTE4MjksMjQgKzE3NjUsMTcgQEAKIAlsYXllci0+ZW5kX3NlY3Rvcl9sMCA9IGJhc2VbMTNdIDw8IDE2IHwgYmFzZVsxNF0gPDwgOCB8IGJhc2VbMTVdOwogCWxheWVyLT5iY2EgPSBiYXNlWzE2XSA+PiA3OwogCi0JcmV0ID0gMDsKLWVycjoKLQlrZnJlZShidWYpOwotCXJldHVybiByZXQ7CisJcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyBpbnQgZHZkX3JlYWRfY29weXJpZ2h0KHN0cnVjdCBjZHJvbV9kZXZpY2VfaW5mbyAqY2RpLCBkdmRfc3RydWN0ICpzKQogewogCWludCByZXQ7Ci0JdV9jaGFyICpidWY7CisJdV9jaGFyIGJ1Zls4XTsKIAlzdHJ1Y3QgcGFja2V0X2NvbW1hbmQgY2djOwogCXN0cnVjdCBjZHJvbV9kZXZpY2Vfb3BzICpjZG8gPSBjZGktPm9wczsKIAotCWJ1ZiA9IGttYWxsb2MoOCwgR0ZQX0tFUk5FTCk7Ci0JaWYgKCFidWYpCi0JCXJldHVybiAtRU5PTUVNOwotCi0JaW5pdF9jZHJvbV9jb21tYW5kKCZjZ2MsIGJ1ZiwgOCwgQ0dDX0RBVEFfUkVBRCk7CisJaW5pdF9jZHJvbV9jb21tYW5kKCZjZ2MsIGJ1Ziwgc2l6ZW9mKGJ1ZiksIENHQ19EQVRBX1JFQUQpOwogCWNnYy5jbWRbMF0gPSBHUENNRF9SRUFEX0RWRF9TVFJVQ1RVUkU7CiAJY2djLmNtZFs2XSA9IHMtPmNvcHlyaWdodC5sYXllcl9udW07CiAJY2djLmNtZFs3XSA9IHMtPnR5cGU7CkBAIC0xODU0LDE1ICsxNzgzLDEyIEBACiAJY2djLmNtZFs5XSA9IGNnYy5idWZsZW4gJiAweGZmOwogCiAJaWYgKChyZXQgPSBjZG8tPmdlbmVyaWNfcGFja2V0KGNkaSwgJmNnYykpKQotCQlnb3RvIGVycjsKKwkJcmV0dXJuIHJldDsKIAogCXMtPmNvcHlyaWdodC5jcHN0ID0gYnVmWzRdOwogCXMtPmNvcHlyaWdodC5ybWkgPSBidWZbNV07CiAKLQlyZXQgPSAwOwotZXJyOgotCWtmcmVlKGJ1Zik7Ci0JcmV0dXJuIHJldDsKKwlyZXR1cm4gMDsKIH0KIAogc3RhdGljIGludCBkdmRfcmVhZF9kaXNja2V5KHN0cnVjdCBjZHJvbV9kZXZpY2VfaW5mbyAqY2RpLCBkdmRfc3RydWN0ICpzKQpAQCAtMTg5NCwzMyArMTgyMCwyNiBAQAogc3RhdGljIGludCBkdmRfcmVhZF9iY2Eoc3RydWN0IGNkcm9tX2RldmljZV9pbmZvICpjZGksIGR2ZF9zdHJ1Y3QgKnMpCiB7CiAJaW50IHJldDsKLQl1X2NoYXIgKmJ1ZjsKKwl1X2NoYXIgYnVmWzQgKyAxODhdOwogCXN0cnVjdCBwYWNrZXRfY29tbWFuZCBjZ2M7CiAJc3RydWN0IGNkcm9tX2RldmljZV9vcHMgKmNkbyA9IGNkaS0+b3BzOwogCi0JYnVmID0ga21hbGxvYyg0ICsgMTg4LCBHRlBfS0VSTkVMKTsKLQlpZiAoIWJ1ZikKLQkJcmV0dXJuIC1FTk9NRU07Ci0KLQlpbml0X2Nkcm9tX2NvbW1hbmQoJmNnYywgYnVmLCA0ICsgMTg4LCBDR0NfREFUQV9SRUFEKTsKKwlpbml0X2Nkcm9tX2NvbW1hbmQoJmNnYywgYnVmLCBzaXplb2YoYnVmKSwgQ0dDX0RBVEFfUkVBRCk7CiAJY2djLmNtZFswXSA9IEdQQ01EX1JFQURfRFZEX1NUUlVDVFVSRTsKIAljZ2MuY21kWzddID0gcy0+dHlwZTsKIAljZ2MuY21kWzldID0gY2djLmJ1ZmxlbiAmIDB4ZmY7CiAKIAlpZiAoKHJldCA9IGNkby0+Z2VuZXJpY19wYWNrZXQoY2RpLCAmY2djKSkpCi0JCWdvdG8gZXJyOworCQlyZXR1cm4gcmV0OwogCiAJcy0+YmNhLmxlbiA9IGJ1ZlswXSA8PCA4IHwgYnVmWzFdOwogCWlmIChzLT5iY2EubGVuIDwgMTIgfHwgcy0+YmNhLmxlbiA+IDE4OCkgewogCQljZGluZm8oQ0RfV0FSTklORywgIlJlY2VpdmVkIGludmFsaWQgQkNBIGxlbmd0aCAoJWQpXG4iLCBzLT5iY2EubGVuKTsKLQkJcmV0ID0gLUVJTzsKLQkJZ290byBlcnI7CisJCXJldHVybiAtRUlPOwogCX0KIAltZW1jcHkocy0+YmNhLnZhbHVlLCAmYnVmWzRdLCBzLT5iY2EubGVuKTsKLQlyZXQgPSAwOwotZXJyOgotCWtmcmVlKGJ1Zik7Ci0JcmV0dXJuIHJldDsKKworCXJldHVybiAwOwogfQogCiBzdGF0aWMgaW50IGR2ZF9yZWFkX21hbnVmYWN0KHN0cnVjdCBjZHJvbV9kZXZpY2VfaW5mbyAqY2RpLCBkdmRfc3RydWN0ICpzKQpAQCAtMjAyMCwxMyArMTkzOSw5IEBACiB7CiAJc3RydWN0IGNkcm9tX2RldmljZV9vcHMgKmNkbyA9IGNkaS0+b3BzOwogCXN0cnVjdCBwYWNrZXRfY29tbWFuZCBjZ2M7Ci0JY2hhciAqYnVmZmVyOworCWNoYXIgYnVmZmVyWzMyXTsKIAlpbnQgcmV0OwogCi0JYnVmZmVyID0ga21hbGxvYygzMiwgR0ZQX0tFUk5FTCk7Ci0JaWYgKCFidWZmZXIpCi0JCXJldHVybiAtRU5PTUVNOwotCiAJaW5pdF9jZHJvbV9jb21tYW5kKCZjZ2MsIGJ1ZmZlciwgMTYsIENHQ19EQVRBX1JFQUQpOwogCWNnYy5jbWRbMF0gPSBHUENNRF9SRUFEX1NVQkNIQU5ORUw7CiAJY2djLmNtZFsxXSA9IDI7ICAgICAvKiBNU0YgYWRkcmVzc2luZyAqLwpAQCAtMjAzNSw3ICsxOTUwLDcgQEAKIAljZ2MuY21kWzhdID0gMTY7CiAKIAlpZiAoKHJldCA9IGNkby0+Z2VuZXJpY19wYWNrZXQoY2RpLCAmY2djKSkpCi0JCWdvdG8gZXJyOworCQlyZXR1cm4gcmV0OwogCiAJc3ViY2hubC0+Y2RzY19hdWRpb3N0YXR1cyA9IGNnYy5idWZmZXJbMV07CiAJc3ViY2hubC0+Y2RzY19mb3JtYXQgPSBDRFJPTV9NU0Y7CkBAIC0yMDUwLDEwICsxOTY1LDcgQEAKIAlzdWJjaG5sLT5jZHNjX2Fic2FkZHIubXNmLnNlY29uZCA9IGNnYy5idWZmZXJbMTBdOwogCXN1YmNobmwtPmNkc2NfYWJzYWRkci5tc2YuZnJhbWUgPSBjZ2MuYnVmZmVyWzExXTsKIAotCXJldCA9IDA7Ci1lcnI6Ci0Ja2ZyZWUoYnVmZmVyKTsKLQlyZXR1cm4gcmV0OworCXJldHVybiAwOwogfQogCiAvKgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL01ha2VmaWxlIGIvZHJpdmVycy9jaGFyL01ha2VmaWxlCmluZGV4IDRjMWM1ODQuLjgxNjMwYTYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9NYWtlZmlsZQorKysgYi9kcml2ZXJzL2NoYXIvTWFrZWZpbGUKQEAgLTEwMSw3ICsxMDEsNiBAQAogCiBvYmotJChDT05GSUdfTVdBVkUpCQkrPSBtd2F2ZS8KIG9iai0kKENPTkZJR19BR1ApCQkrPSBhZ3AvCi1vYmotJChDT05GSUdfRFJNKQkJKz0gZHJtLwogb2JqLSQoQ09ORklHX1BDTUNJQSkJCSs9IHBjbWNpYS8KIG9iai0kKENPTkZJR19JUE1JX0hBTkRMRVIpCSs9IGlwbWkvCiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9hZ3AvYW1kNjQtYWdwLmMgYi9kcml2ZXJzL2NoYXIvYWdwL2FtZDY0LWFncC5jCmluZGV4IDEzNjY1ZGIuLjQ4MWZmZTggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9hZ3AvYW1kNjQtYWdwLmMKKysrIGIvZHJpdmVycy9jaGFyL2FncC9hbWQ2NC1hZ3AuYwpAQCAtMTYsMjggKzE2LDkgQEAKICNpbmNsdWRlIDxhc20vcGFnZS5oPgkJLyogUEFHRV9TSVpFICovCiAjaW5jbHVkZSA8YXNtL2U4MjAuaD4KICNpbmNsdWRlIDxhc20vazguaD4KKyNpbmNsdWRlIDxhc20vZ2FydC5oPgogI2luY2x1ZGUgImFncC5oIgogCi0vKiBQVEUgYml0cy4gKi8KLSNkZWZpbmUgR1BURV9WQUxJRAkxCi0jZGVmaW5lIEdQVEVfQ09IRVJFTlQJMgotCi0vKiBBcGVydHVyZSBjb250cm9sIHJlZ2lzdGVyIGJpdHMuICovCi0jZGVmaW5lIEdBUlRFTgkJKDE8PDApCi0jZGVmaW5lIERJU0dBUlRDUFUJKDE8PDQpCi0jZGVmaW5lIERJU0dBUlRJTwkoMTw8NSkKLQotLyogR0FSVCBjYWNoZSBjb250cm9sIHJlZ2lzdGVyIGJpdHMuICovCi0jZGVmaW5lIElOVkdBUlQJCSgxPDwwKQotI2RlZmluZSBHQVJUUFRFRVJSCSgxPDwxKQotCi0vKiBLOCBPbi1jcHUgR0FSVCByZWdpc3RlcnMgKi8KLSNkZWZpbmUgQU1ENjRfR0FSVEFQRVJUVVJFQ1RMCTB4OTAKLSNkZWZpbmUgQU1ENjRfR0FSVEFQRVJUVVJFQkFTRQkweDk0Ci0jZGVmaW5lIEFNRDY0X0dBUlRUQUJMRUJBU0UJMHg5OAotI2RlZmluZSBBTUQ2NF9HQVJUQ0FDSEVDVEwJMHg5YwotI2RlZmluZSBBTUQ2NF9HQVJURU4JCSgxPDwwKQotCiAvKiBOVklESUEgSzggcmVnaXN0ZXJzICovCiAjZGVmaW5lIE5WSURJQV9YODZfNjRfMF9BUEJBU0UJCTB4MTAKICNkZWZpbmUgTlZJRElBX1g4Nl82NF8xX0FQQkFTRTEJCTB4NTAKQEAgLTE2NSwyOSArMTQ2LDE4IEBACiAgKiBJbiBhIG11bHRpcHJvY2Vzc29yIHg4Ni02NCBzeXN0ZW0sIHRoaXMgZnVuY3Rpb24gZ2V0cwogICogY2FsbGVkIG9uY2UgZm9yIGVhY2ggQ1BVLgogICovCi1zdGF0aWMgdTY0IGFtZDY0X2NvbmZpZ3VyZSAoc3RydWN0IHBjaV9kZXYgKmhhbW1lciwgdTY0IGdhdHRfdGFibGUpCitzdGF0aWMgdTY0IGFtZDY0X2NvbmZpZ3VyZShzdHJ1Y3QgcGNpX2RldiAqaGFtbWVyLCB1NjQgZ2F0dF90YWJsZSkKIHsKIAl1NjQgYXBlcnR1cmViYXNlOwogCXUzMiB0bXA7Ci0JdTY0IGFkZHIsIGFwZXJfYmFzZTsKKwl1NjQgYXBlcl9iYXNlOwogCiAJLyogQWRkcmVzcyB0byBtYXAgdG8gKi8KLQlwY2lfcmVhZF9jb25maWdfZHdvcmQgKGhhbW1lciwgQU1ENjRfR0FSVEFQRVJUVVJFQkFTRSwgJnRtcCk7CisJcGNpX3JlYWRfY29uZmlnX2R3b3JkKGhhbW1lciwgQU1ENjRfR0FSVEFQRVJUVVJFQkFTRSwgJnRtcCk7CiAJYXBlcnR1cmViYXNlID0gdG1wIDw8IDI1OwogCWFwZXJfYmFzZSA9IChhcGVydHVyZWJhc2UgJiBQQ0lfQkFTRV9BRERSRVNTX01FTV9NQVNLKTsKIAotCS8qIGFkZHJlc3Mgb2YgdGhlIG1hcHBpbmdzIHRhYmxlICovCi0JYWRkciA9ICh1NjQpIGdhdHRfdGFibGU7Ci0JYWRkciA+Pj0gMTI7Ci0JdG1wID0gKHUzMikgYWRkcjw8NDsKLQl0bXAgJj0gfjB4ZjsKLQlwY2lfd3JpdGVfY29uZmlnX2R3b3JkIChoYW1tZXIsIEFNRDY0X0dBUlRUQUJMRUJBU0UsIHRtcCk7Ci0KLQkvKiBFbmFibGUgR0FSVCB0cmFuc2xhdGlvbiBmb3IgdGhpcyBoYW1tZXIuICovCi0JcGNpX3JlYWRfY29uZmlnX2R3b3JkKGhhbW1lciwgQU1ENjRfR0FSVEFQRVJUVVJFQ1RMLCAmdG1wKTsKLQl0bXAgfD0gR0FSVEVOOwotCXRtcCAmPSB+KERJU0dBUlRDUFUgfCBESVNHQVJUSU8pOwotCXBjaV93cml0ZV9jb25maWdfZHdvcmQoaGFtbWVyLCBBTUQ2NF9HQVJUQVBFUlRVUkVDVEwsIHRtcCk7CisJZW5hYmxlX2dhcnRfdHJhbnNsYXRpb24oaGFtbWVyLCBnYXR0X3RhYmxlKTsKIAogCXJldHVybiBhcGVyX2Jhc2U7CiB9CkBAIC0yMjYsOSArMTk2LDkgQEAKICAgICAgICAgZm9yIChpID0gMDsgaSA8IG51bV9rOF9ub3J0aGJyaWRnZXM7IGkrKykgewogCQlzdHJ1Y3QgcGNpX2RldiAqZGV2ID0gazhfbm9ydGhicmlkZ2VzW2ldOwogCQkvKiBkaXNhYmxlIGdhcnQgdHJhbnNsYXRpb24gKi8KLQkJcGNpX3JlYWRfY29uZmlnX2R3b3JkIChkZXYsIEFNRDY0X0dBUlRBUEVSVFVSRUNUTCwgJnRtcCk7CisJCXBjaV9yZWFkX2NvbmZpZ19kd29yZChkZXYsIEFNRDY0X0dBUlRBUEVSVFVSRUNUTCwgJnRtcCk7CiAJCXRtcCAmPSB+QU1ENjRfR0FSVEVOOwotCQlwY2lfd3JpdGVfY29uZmlnX2R3b3JkIChkZXYsIEFNRDY0X0dBUlRBUEVSVFVSRUNUTCwgdG1wKTsKKwkJcGNpX3dyaXRlX2NvbmZpZ19kd29yZChkZXYsIEFNRDY0X0dBUlRBUEVSVFVSRUNUTCwgdG1wKTsKIAl9CiB9CiAKQEAgLTI1OCwyNCArMjI4LDEwIEBACiB9OwogCiAvKiBTb21lIGJhc2ljIHNhbml0eSBjaGVja3MgZm9yIHRoZSBhcGVydHVyZS4gKi8KLXN0YXRpYyBpbnQgX19kZXZpbml0IGFwZXJ0dXJlX3ZhbGlkKHU2NCBhcGVyLCB1MzIgc2l6ZSkKK3N0YXRpYyBpbnQgX19kZXZpbml0IGFncF9hcGVydHVyZV92YWxpZCh1NjQgYXBlciwgdTMyIHNpemUpCiB7Ci0JaWYgKGFwZXIgPT0gMCkgewotCQlwcmludGsoS0VSTl9FUlIgUEZYICJObyBhcGVydHVyZVxuIik7CisJaWYgKCFhcGVydHVyZV92YWxpZChhcGVyLCBzaXplLCAzMioxMDI0KjEwMjQpKQogCQlyZXR1cm4gMDsKLQl9Ci0JaWYgKHNpemUgPCAzMioxMDI0KjEwMjQpIHsKLQkJcHJpbnRrKEtFUk5fRVJSIFBGWCAiQXBlcnR1cmUgdG9vIHNtYWxsICglZCBNQilcbiIsIHNpemU+PjIwKTsKLQkJcmV0dXJuIDA7Ci0JfQotICAgICAgIGlmICgodTY0KWFwZXIgKyBzaXplID4gMHgxMDAwMDAwMDBVTEwpIHsKLQkJcHJpbnRrKEtFUk5fRVJSIFBGWCAiQXBlcnR1cmUgb3V0IG9mIGJvdW5kc1xuIik7Ci0JCXJldHVybiAwOwotCX0KLQlpZiAoZTgyMF9hbnlfbWFwcGVkKGFwZXIsIGFwZXIgKyBzaXplLCBFODIwX1JBTSkpIHsKLQkJcHJpbnRrKEtFUk5fRVJSIFBGWCAiQXBlcnR1cmUgcG9pbnRpbmcgdG8gUkFNXG4iKTsKLQkJcmV0dXJuIDA7Ci0JfQogCiAJLyogUmVxdWVzdCB0aGUgQXBlcnR1cmUuIFRoaXMgY2F0Y2hlcyBjYXNlcyB3aGVuIHNvbWVvbmUgZWxzZQogCSAgIGFscmVhZHkgcHV0IGEgbWFwcGluZyBpbiB0aGVyZSAtIGhhcHBlbnMgd2l0aCBzb21lIHZlcnkgYnJva2VuIEJJT1MKQEAgLTMwOCwxMSArMjY0LDExIEBACiAJdTMyIG5iX29yZGVyLCBuYl9iYXNlOwogCXUxNiBhcHNpemU7CiAKLQlwY2lfcmVhZF9jb25maWdfZHdvcmQobmIsIDB4OTAsICZuYl9vcmRlcik7CisJcGNpX3JlYWRfY29uZmlnX2R3b3JkKG5iLCBBTUQ2NF9HQVJUQVBFUlRVUkVDVEwsICZuYl9vcmRlcik7CiAJbmJfb3JkZXIgPSAobmJfb3JkZXIgPj4gMSkgJiA3OwotCXBjaV9yZWFkX2NvbmZpZ19kd29yZChuYiwgMHg5NCwgJm5iX2Jhc2UpOworCXBjaV9yZWFkX2NvbmZpZ19kd29yZChuYiwgQU1ENjRfR0FSVEFQRVJUVVJFQkFTRSwgJm5iX2Jhc2UpOwogCW5iX2FwZXIgPSBuYl9iYXNlIDw8IDI1OwotCWlmIChhcGVydHVyZV92YWxpZChuYl9hcGVyLCAoMzIqMTAyNCoxMDI0KTw8bmJfb3JkZXIpKSB7CisJaWYgKGFncF9hcGVydHVyZV92YWxpZChuYl9hcGVyLCAoMzIqMTAyNCoxMDI0KTw8bmJfb3JkZXIpKSB7CiAJCXJldHVybiAwOwogCX0KIApAQCAtMzMxLDEyICsyODcsMjMgQEAKIAlwY2lfcmVhZF9jb25maWdfZHdvcmQoYWdwLCAweDEwLCAmYXBlcl9sb3cpOwogCXBjaV9yZWFkX2NvbmZpZ19kd29yZChhZ3AsIDB4MTQsICZhcGVyX2hpKTsKIAlhcGVyID0gKGFwZXJfbG93ICYgfigoMTw8MjIpLTEpKSB8ICgodTY0KWFwZXJfaGkgPDwgMzIpOworCisJLyoKKwkgKiBPbiBzb21lIHNpY2sgY2hpcHMgQVBTSVpFIGlzIDAuIFRoaXMgbWVhbnMgaXQgd2FudHMgNEcKKwkgKiBzbyBsZXQgZG91YmxlIGNoZWNrIHRoYXQgb3JkZXIsIGFuZCBsZXRzIHRydXN0IHRoZSBBTUQgTkIgc2V0dGluZ3MKKwkgKi8KKwlpZiAob3JkZXIgPj0wICYmIGFwZXIgKyAoMzJVTEw8PCgyMCArIG9yZGVyKSkgPiAweDEwMDAwMDAwMFVMTCkgeworCQlwcmludGsoS0VSTl9JTkZPICJBcGVydHVyZSBzaXplICV1IE1CIGlzIG5vdCByaWdodCwgdXNpbmcgc2V0dGluZ3MgZnJvbSBOQlxuIiwKKwkJCQkgIDMyIDw8IG9yZGVyKTsKKwkJb3JkZXIgPSBuYl9vcmRlcjsKKwl9CisKIAlwcmludGsoS0VSTl9JTkZPIFBGWCAiQXBlcnR1cmUgZnJvbSBBR1AgQCAlTHggc2l6ZSAldSBNQlxuIiwgYXBlciwgMzIgPDwgb3JkZXIpOwotCWlmIChvcmRlciA8IDAgfHwgIWFwZXJ0dXJlX3ZhbGlkKGFwZXIsICgzMioxMDI0KjEwMjQpPDxvcmRlcikpCisJaWYgKG9yZGVyIDwgMCB8fCAhYWdwX2FwZXJ0dXJlX3ZhbGlkKGFwZXIsICgzMioxMDI0KjEwMjQpPDxvcmRlcikpCiAJCXJldHVybiAtMTsKIAotCXBjaV93cml0ZV9jb25maWdfZHdvcmQobmIsIDB4OTAsIG9yZGVyIDw8IDEpOwotCXBjaV93cml0ZV9jb25maWdfZHdvcmQobmIsIDB4OTQsIGFwZXIgPj4gMjUpOworCXBjaV93cml0ZV9jb25maWdfZHdvcmQobmIsIEFNRDY0X0dBUlRBUEVSVFVSRUNUTCwgb3JkZXIgPDwgMSk7CisJcGNpX3dyaXRlX2NvbmZpZ19kd29yZChuYiwgQU1ENjRfR0FSVEFQRVJUVVJFQkFTRSwgYXBlciA+PiAyNSk7CiAKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9hZ3AvZnJvbnRlbmQuYyBiL2RyaXZlcnMvY2hhci9hZ3AvZnJvbnRlbmQuYwppbmRleCBlNmNiMWFiLi5hOTZmMzE5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvYWdwL2Zyb250ZW5kLmMKKysrIGIvZHJpdmVycy9jaGFyL2FncC9mcm9udGVuZC5jCkBAIC0zOSw2ICszOSw3IEBACiAjaW5jbHVkZSA8bGludXgvbW0uaD4KICNpbmNsdWRlIDxsaW51eC9mcy5oPgogI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogI2luY2x1ZGUgPGFzbS9wZ3RhYmxlLmg+CiAjaW5jbHVkZSAiYWdwLmgiCkBAIC02NzcsNiArNjc4LDcgQEAKIAlzdHJ1Y3QgYWdwX2NsaWVudCAqY2xpZW50OwogCWludCByYyA9IC1FTlhJTzsKIAorCWxvY2tfa2VybmVsKCk7CiAJbXV0ZXhfbG9jaygmKGFncF9mZS5hZ3BfbXV0ZXgpKTsKIAogCWlmIChtaW5vciAhPSBBR1BHQVJUX01JTk9SKQpAQCAtNzAzLDEyICs3MDUsMTQgQEAKIAlhZ3BfaW5zZXJ0X2ZpbGVfcHJpdmF0ZShwcml2KTsKIAlEQkcoInByaXZhdGU9JXAsIGNsaWVudD0lcCIsIHByaXYsIGNsaWVudCk7CiAJbXV0ZXhfdW5sb2NrKCYoYWdwX2ZlLmFncF9tdXRleCkpOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gMDsKIAogZXJyX291dF9ub21lbToKIAlyYyA9IC1FTk9NRU07CiBlcnJfb3V0OgogCW11dGV4X3VubG9jaygmKGFncF9mZS5hZ3BfbXV0ZXgpKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIHJjOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvYWdwL2dlbmVyaWMuYyBiL2RyaXZlcnMvY2hhci9hZ3AvZ2VuZXJpYy5jCmluZGV4IDU2NGRhYWEuLmVhYTFhMzUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9hZ3AvZ2VuZXJpYy5jCisrKyBiL2RyaXZlcnMvY2hhci9hZ3AvZ2VuZXJpYy5jCkBAIC0xMjQ5LDcgKzEyNDksNyBAQAogCiB2b2lkIGdsb2JhbF9jYWNoZV9mbHVzaCh2b2lkKQogewotCWlmIChvbl9lYWNoX2NwdShpcGlfaGFuZGxlciwgTlVMTCwgMSwgMSkgIT0gMCkKKwlpZiAob25fZWFjaF9jcHUoaXBpX2hhbmRsZXIsIE5VTEwsIDEpICE9IDApCiAJCXBhbmljKFBGWCAidGltZWQgb3V0IHdhaXRpbmcgZm9yIHRoZSBvdGhlciBDUFVzIVxuIik7CiB9CiBFWFBPUlRfU1lNQk9MKGdsb2JhbF9jYWNoZV9mbHVzaCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvYXBtLWVtdWxhdGlvbi5jIGIvZHJpdmVycy9jaGFyL2FwbS1lbXVsYXRpb24uYwppbmRleCBjZGQ4NzZkLi5kYThhMTY1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvYXBtLWVtdWxhdGlvbi5jCisrKyBiL2RyaXZlcnMvY2hhci9hcG0tZW11bGF0aW9uLmMKQEAgLTEzLDYgKzEzLDcgQEAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9wb2xsLmg+CiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvcHJvY19mcy5oPgogI2luY2x1ZGUgPGxpbnV4L3NlcV9maWxlLmg+CiAjaW5jbHVkZSA8bGludXgvbWlzY2RldmljZS5oPgpAQCAtNDE2LDYgKzQxNyw3IEBACiB7CiAJc3RydWN0IGFwbV91c2VyICphczsKIAorCWxvY2tfa2VybmVsKCk7CiAJYXMgPSBremFsbG9jKHNpemVvZigqYXMpLCBHRlBfS0VSTkVMKTsKIAlpZiAoYXMpIHsKIAkJLyoKQEAgLTQzNSw2ICs0MzcsNyBAQAogCiAJCWZpbHAtPnByaXZhdGVfZGF0YSA9IGFzOwogCX0KKwl1bmxvY2tfa2VybmVsKCk7CiAKIAlyZXR1cm4gYXMgPyAwIDogLUVOT01FTTsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9icmlxX3BhbmVsLmMgYi9kcml2ZXJzL2NoYXIvYnJpcV9wYW5lbC5jCmluZGV4IGI2ZjI2MzkuLmQ4Y2ZmOTAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9icmlxX3BhbmVsLmMKKysrIGIvZHJpdmVycy9jaGFyL2JyaXFfcGFuZWwuYwpAQCAtNiw2ICs2LDcgQEAKIAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogCisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CiAjaW5jbHVkZSA8bGludXgvdHR5Lmg+CkBAIC02NywxMSArNjgsMTUgQEAKIAogc3RhdGljIGludCBicmlxX3BhbmVsX29wZW4oc3RydWN0IGlub2RlICppbm8sIHN0cnVjdCBmaWxlICpmaWxlcCkKIHsKLQkvKiBlbmZvcmNlIHNpbmdsZSBhY2Nlc3MgKi8KLQlpZiAodmZkX2lzX29wZW4pCisJbG9ja19rZXJuZWwoKTsKKwkvKiBlbmZvcmNlIHNpbmdsZSBhY2Nlc3MsIHZmZF9pc19vcGVuIGlzIHByb3RlY3RlZCBieSBCS0wgKi8KKwlpZiAodmZkX2lzX29wZW4pIHsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gLUVCVVNZOworCX0KIAl2ZmRfaXNfb3BlbiA9IDE7CiAKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9jczU1MzVfZ3Bpby5jIGIvZHJpdmVycy9jaGFyL2NzNTUzNV9ncGlvLmMKaW5kZXggYzBhNGEwYi4uMDRiYTkwNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL2NzNTUzNV9ncGlvLmMKKysrIGIvZHJpdmVycy9jaGFyL2NzNTUzNV9ncGlvLmMKQEAgLTE3LDYgKzE3LDcgQEAKICNpbmNsdWRlIDxsaW51eC9jZGV2Lmg+CiAjaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+CiAjaW5jbHVkZSA8bGludXgvcGNpLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogI2luY2x1ZGUgPGFzbS9pby5oPgogCkBAIC0xNTcsNiArMTU4LDcgQEAKIHsKIAl1MzIgbSA9IGltaW5vcihpbm9kZSk7CiAKKwljeWNsZV9rZXJuZWxfbG9jaygpOwogCS8qIHRoZSBtYXNrIHNheXMgd2hpY2ggcGlucyBhcmUgdXNhYmxlIGJ5IHRoaXMgZHJpdmVyICovCiAJaWYgKChtYXNrICYgKDEgPDwgbSkpID09IDApCiAJCXJldHVybiAtRUlOVkFMOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2N5Y2xhZGVzLmMgYi9kcml2ZXJzL2NoYXIvY3ljbGFkZXMuYwppbmRleCBlZjczZTcyLi42YmZmOWQ4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvY3ljbGFkZXMuYworKysgYi9kcml2ZXJzL2NoYXIvY3ljbGFkZXMuYwpAQCAtNDY2OCw3ICs0NjY4LDcgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGlubGluZSB2b2lkIF9fZGV2aW5pdCBjeXpfZnBnYV9jb3B5KHZvaWQgX19pb21lbSAqZnBnYSwgdTggKmRhdGEsCitzdGF0aWMgaW5saW5lIHZvaWQgX19kZXZpbml0IGN5el9mcGdhX2NvcHkodm9pZCBfX2lvbWVtICpmcGdhLCBjb25zdCB1OCAqZGF0YSwKIAkJdW5zaWduZWQgaW50IHNpemUpCiB7CiAJZm9yICg7IHNpemUgPiAwOyBzaXplLS0pIHsKQEAgLTQ3MDEsMTAgKzQ3MDEsMTAgQEAKIAkJY29uc3QgY2hhciAqbmFtZSwgY29uc3QgdTMyIG1haWxib3gsIHZvaWQgX19pb21lbSAqYmFzZSwKIAkJdm9pZCBfX2lvbWVtICpmcGdhKQogewotCXZvaWQgKnB0ciA9IGZ3LT5kYXRhOwotCXN0cnVjdCB6ZmlsZV9oZWFkZXIgKmggPSBwdHI7Ci0Jc3RydWN0IHpmaWxlX2NvbmZpZyAqYywgKmNzOwotCXN0cnVjdCB6ZmlsZV9ibG9jayAqYiwgKmJzOworCWNvbnN0IHZvaWQgKnB0ciA9IGZ3LT5kYXRhOworCWNvbnN0IHN0cnVjdCB6ZmlsZV9oZWFkZXIgKmggPSBwdHI7CisJY29uc3Qgc3RydWN0IHpmaWxlX2NvbmZpZyAqYywgKmNzOworCWNvbnN0IHN0cnVjdCB6ZmlsZV9ibG9jayAqYiwgKmJzOwogCXVuc2lnbmVkIGludCBhLCB0bXAsIGxlbiA9IGZ3LT5zaXplOwogI2RlZmluZSBCQURfRlcgS0VSTl9FUlIgIkJhZCBmaXJtd2FyZTogIgogCWlmIChsZW4gPCBzaXplb2YoKmgpKSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL01ha2VmaWxlIGIvZHJpdmVycy9jaGFyL2RybS9NYWtlZmlsZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTI4M2RlZC4uMDAwMDAwMAotLS0gYS9kcml2ZXJzL2NoYXIvZHJtL01ha2VmaWxlCisrKyAvZGV2L251bGwKQEAgLTEsNDAgKzAsMCBAQAotIwotIyBNYWtlZmlsZSBmb3IgdGhlIGRybSBkZXZpY2UgZHJpdmVyLiAgVGhpcyBkcml2ZXIgcHJvdmlkZXMgc3VwcG9ydCBmb3IgdGhlCi0jIERpcmVjdCBSZW5kZXJpbmcgSW5mcmFzdHJ1Y3R1cmUgKERSSSkgaW4gWEZyZWU4NiA0LjEuMCBhbmQgaGlnaGVyLgotCi1kcm0tb2JqcyAgICA6PQlkcm1fYXV0aC5vIGRybV9idWZzLm8gZHJtX2NvbnRleHQubyBkcm1fZG1hLm8gZHJtX2RyYXdhYmxlLm8gXAotCQlkcm1fZHJ2Lm8gZHJtX2ZvcHMubyBkcm1faW9jdGwubyBkcm1faXJxLm8gXAotCQlkcm1fbG9jay5vIGRybV9tZW1vcnkubyBkcm1fcHJvYy5vIGRybV9zdHViLm8gZHJtX3ZtLm8gXAotCQlkcm1fYWdwc3VwcG9ydC5vIGRybV9zY2F0dGVyLm8gYXRpX3BjaWdhcnQubyBkcm1fcGNpLm8gXAotCQlkcm1fc3lzZnMubyBkcm1faGFzaHRhYi5vIGRybV9zbWFuLm8gZHJtX21tLm8KLQotdGRmeC1vYmpzICAgOj0gdGRmeF9kcnYubwotcjEyOC1vYmpzICAgOj0gcjEyOF9kcnYubyByMTI4X2NjZS5vIHIxMjhfc3RhdGUubyByMTI4X2lycS5vCi1tZ2Etb2JqcyAgICA6PSBtZ2FfZHJ2Lm8gbWdhX2RtYS5vIG1nYV9zdGF0ZS5vIG1nYV93YXJwLm8gbWdhX2lycS5vCi1pODEwLW9ianMgICA6PSBpODEwX2Rydi5vIGk4MTBfZG1hLm8KLWk4MzAtb2JqcyAgIDo9IGk4MzBfZHJ2Lm8gaTgzMF9kbWEubyBpODMwX2lycS5vCi1pOTE1LW9ianMgICA6PSBpOTE1X2Rydi5vIGk5MTVfZG1hLm8gaTkxNV9pcnEubyBpOTE1X21lbS5vCi1yYWRlb24tb2JqcyA6PSByYWRlb25fZHJ2Lm8gcmFkZW9uX2NwLm8gcmFkZW9uX3N0YXRlLm8gcmFkZW9uX21lbS5vIHJhZGVvbl9pcnEubyByMzAwX2NtZGJ1Zi5vCi1zaXMtb2JqcyAgICA6PSBzaXNfZHJ2Lm8gc2lzX21tLm8KLXNhdmFnZS1vYmpzIDo9IHNhdmFnZV9kcnYubyBzYXZhZ2VfYmNpLm8gc2F2YWdlX3N0YXRlLm8KLXZpYS1vYmpzICAgIDo9IHZpYV9pcnEubyB2aWFfZHJ2Lm8gdmlhX21hcC5vIHZpYV9tbS5vIHZpYV9kbWEubyB2aWFfdmVyaWZpZXIubyB2aWFfdmlkZW8ubyB2aWFfZG1hYmxpdC5vCi0KLWlmZXEgKCQoQ09ORklHX0NPTVBBVCkseSkKLWRybS1vYmpzICAgICs9IGRybV9pb2MzMi5vCi1yYWRlb24tb2JqcyArPSByYWRlb25faW9jMzIubwotbWdhLW9ianMgICAgKz0gbWdhX2lvYzMyLm8KLXIxMjgtb2JqcyAgICs9IHIxMjhfaW9jMzIubwotaTkxNS1vYmpzICAgKz0gaTkxNV9pb2MzMi5vCi1lbmRpZgotCi1vYmotJChDT05GSUdfRFJNKQkrPSBkcm0ubwotb2JqLSQoQ09ORklHX0RSTV9UREZYKQkrPSB0ZGZ4Lm8KLW9iai0kKENPTkZJR19EUk1fUjEyOCkJKz0gcjEyOC5vCi1vYmotJChDT05GSUdfRFJNX1JBREVPTikrPSByYWRlb24ubwotb2JqLSQoQ09ORklHX0RSTV9NR0EpCSs9IG1nYS5vCi1vYmotJChDT05GSUdfRFJNX0k4MTApCSs9IGk4MTAubwotb2JqLSQoQ09ORklHX0RSTV9JODMwKQkrPSBpODMwLm8KLW9iai0kKENPTkZJR19EUk1fSTkxNSkgICs9IGk5MTUubwotb2JqLSQoQ09ORklHX0RSTV9TSVMpICAgKz0gc2lzLm8KLW9iai0kKENPTkZJR19EUk1fU0FWQUdFKSs9IHNhdmFnZS5vCi1vYmotJChDT05GSUdfRFJNX1ZJQSkJKz12aWEubwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RzMTI4Ni5jIGIvZHJpdmVycy9jaGFyL2RzMTI4Ni5jCmluZGV4IGVhMzVhYjIuLmZiNTg0OTM4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvZHMxMjg2LmMKKysrIGIvZHJpdmVycy9jaGFyL2RzMTI4Ni5jCkBAIC0yNyw2ICsyNyw3IEBACiAgKiBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogICovCiAjaW5jbHVkZSA8bGludXgvZHMxMjg2Lmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CiAjaW5jbHVkZSA8bGludXgvbWlzY2RldmljZS5oPgpAQCAtMjUyLDYgKzI1Myw3IEBACiAKIHN0YXRpYyBpbnQgZHMxMjg2X29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCiB7CisJbG9ja19rZXJuZWwoKTsKIAlzcGluX2xvY2tfaXJxKCZkczEyODZfbG9jayk7CiAKIAlpZiAoZHMxMjg2X3N0YXR1cyAmIFJUQ19JU19PUEVOKQpAQCAtMjYwLDEwICsyNjIsMTIgQEAKIAlkczEyODZfc3RhdHVzIHw9IFJUQ19JU19PUEVOOwogCiAJc3Bpbl91bmxvY2tfaXJxKCZkczEyODZfbG9jayk7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiAwOwogCiBvdXRfYnVzeToKIAlzcGluX2xvY2tfaXJxKCZkczEyODZfbG9jayk7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiAtRUJVU1k7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kczE2MjAuYyBiL2RyaXZlcnMvY2hhci9kczE2MjAuYwppbmRleCAzMzRhZDViLi4zNDI3NWM2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvZHMxNjIwLmMKKysrIGIvZHJpdmVycy9jaGFyL2RzMTYyMC5jCkBAIC04LDYgKzgsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3Byb2NfZnMuaD4KICNpbmNsdWRlIDxsaW51eC9jYXBhYmlsaXR5Lmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KICNpbmNsdWRlIDxhc20vbWFjaC10eXBlcy5oPgpAQCAtMjA4LDYgKzIwOSwxMiBAQAogCXRoZXJtLT5oaSA9IGN2dF85X3RvX2ludChkczE2MjBfaW4oVEhFUk1fUkVBRF9USCwgOSkpOwogfQogCitzdGF0aWMgaW50IGRzMTYyMF9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQoreworCWN5Y2xlX2tlcm5lbF9sb2NrKCk7CisJcmV0dXJuIG5vbnNlZWthYmxlX29wZW4oaW5vZGUsIGZpbGUpOworfQorCiBzdGF0aWMgc3NpemVfdAogZHMxNjIwX3JlYWQoc3RydWN0IGZpbGUgKmZpbGUsIGNoYXIgX191c2VyICpidWYsIHNpemVfdCBjb3VudCwgbG9mZl90ICpwdHIpCiB7CkBAIC0zMzYsNyArMzQzLDcgQEAKIAogc3RhdGljIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgZHMxNjIwX2ZvcHMgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAotCS5vcGVuCQk9IG5vbnNlZWthYmxlX29wZW4sCisJLm9wZW4JCT0gZHMxNjIwX29wZW4sCiAJLnJlYWQJCT0gZHMxNjIwX3JlYWQsCiAJLmlvY3RsCQk9IGRzMTYyMF9pb2N0bCwKIH07CmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHNwNTZrLmMgYi9kcml2ZXJzL2NoYXIvZHNwNTZrLmMKaW5kZXggYTY5YzY1Mi4uYjlhMzBjMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL2RzcDU2ay5jCisrKyBiL2RyaXZlcnMvY2hhci9kc3A1NmsuYwpAQCAtMzMsNiArMzMsOSBAQAogI2luY2x1ZGUgPGxpbnV4L21tLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CisjaW5jbHVkZSA8bGludXgvZmlybXdhcmUuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KIAogI2luY2x1ZGUgPGFzbS9hdGFyaWh3Lmg+CiAjaW5jbHVkZSA8YXNtL3RyYXBzLmg+CkBAIC05Miw0OSArOTUsNiBAQAogCX0gXAogfQogCi0vKiBEU1A1NjAwMSBib290c3RyYXAgY29kZSAqLwotc3RhdGljIGNoYXIgYm9vdHN0cmFwW10gPSB7Ci0JMHgwYywgMHgwMCwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDYwLCAweGY0LCAweDAwLCAweDAwLCAweDAwLCAweDRmLCAweDYxLCAweGY0LAotCTB4MDAsIDB4MDAsIDB4N2UsIDB4YTksIDB4MDYsIDB4MmUsIDB4ODAsIDB4MDAsIDB4MDAsIDB4NDcsCi0JMHgwNywgMHhkOCwgMHg4NCwgMHgwNywgMHg1OSwgMHg4NCwgMHgwOCwgMHhmNCwgMHhhOCwgMHgwMCwKLQkweDAwLCAweDA0LCAweDA4LCAweGY0LCAweGJmLCAweDAwLCAweDBjLCAweDAwLCAweDAwLCAweGZlLAotCTB4YjgsIDB4MGEsIDB4ZjAsIDB4ODAsIDB4MDAsIDB4N2UsIDB4YTksIDB4MDgsIDB4ZjQsIDB4YTAsCi0JMHgwMCwgMHgwMCwgMHgwMSwgMHgwOCwgMHhmNCwgMHhiZSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwYSwKLQkweGE5LCAweDgwLCAweDAwLCAweDdlLCAweGFkLCAweDA4LCAweDRlLCAweDJiLCAweDQ0LCAweGY0LAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDMsIDB4NDQsIDB4ZjQsIDB4NDUsIDB4MDAsIDB4MDAsIDB4MDEsCi0JMHgwZSwgMHhhMCwgMHgwMCwgMHgwYSwgMHhhOSwgMHg4MCwgMHgwMCwgMHg3ZSwgMHhiNSwgMHgwOCwKLQkweDUwLCAweDJiLCAweDBhLCAweGE5LCAweDgwLCAweDAwLCAweDdlLCAweGI4LCAweDA4LCAweDQ2LAotCTB4MmIsIDB4NDQsIDB4ZjQsIDB4NDUsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MGEsIDB4ZjAsIDB4YWEsCi0JMHgwMCwgMHg3ZSwgMHhjOSwgMHgyMCwgMHgwMCwgMHg0NSwgMHgwYSwgMHhmMCwgMHhhYSwgMHgwMCwKLQkweDdlLCAweGQwLCAweDA2LCAweGM2LCAweDAwLCAweDAwLCAweDdlLCAweGM2LCAweDBhLCAweGE5LAotCTB4ODAsIDB4MDAsIDB4N2UsIDB4YzQsIDB4MDgsIDB4NTgsIDB4NmIsIDB4MGEsIDB4ZjAsIDB4ODAsCi0JMHgwMCwgMHg3ZSwgMHhhZCwgMHgwNiwgMHhjNiwgMHgwMCwgMHgwMCwgMHg3ZSwgMHhjZCwgMHgwYSwKLQkweGE5LCAweDgwLCAweDAwLCAweDdlLCAweGNiLCAweDA4LCAweDU4LCAweGFiLCAweDBhLCAweGYwLAotCTB4ODAsIDB4MDAsIDB4N2UsIDB4YWQsIDB4MDYsIDB4YzYsIDB4MDAsIDB4MDAsIDB4N2UsIDB4ZDQsCi0JMHgwYSwgMHhhOSwgMHg4MCwgMHgwMCwgMHg3ZSwgMHhkMiwgMHgwOCwgMHg1OCwgMHhlYiwgMHgwYSwKLQkweGYwLCAweDgwLCAweDAwLCAweDdlLCAweGFkfTsKLXN0YXRpYyBpbnQgc2l6ZW9mX2Jvb3RzdHJhcCA9IDM3NTsKLQotCiBzdGF0aWMgc3RydWN0IGRzcDU2a19kZXZpY2UgewogCXVuc2lnbmVkIGxvbmcgaW5fdXNlOwogCWxvbmcgbWF4aW8sIHRpbWVvdXQ7CkBAIC0xNjQsMTggKzEyNCw0MCBAQAogCiBzdGF0aWMgaW50IGRzcDU2a191cGxvYWQodV9jaGFyIF9fdXNlciAqYmluLCBpbnQgbGVuKQogeworCXN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXY7CisJY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdzsKKwljb25zdCBjaGFyIGZ3X25hbWVbXSA9ICJkc3A1NmsvYm9vdHN0cmFwLmJpbiI7CisJaW50IGVycjsKIAlpbnQgaTsKLQl1X2NoYXIgKnA7Ci0JCisKIAlkc3A1NmtfcmVzZXQoKTsKLSAgCi0JcCA9IGJvb3RzdHJhcDsKLQlmb3IgKGkgPSAwOyBpIDwgc2l6ZW9mX2Jvb3RzdHJhcC8zOyBpKyspIHsKLQkJLyogdHhfd2FpdCgxMCk7ICovCi0JCWRzcDU2a19ob3N0X2ludGVyZmFjZS5kYXRhLmJbMV0gPSAqcCsrOwotCQlkc3A1NmtfaG9zdF9pbnRlcmZhY2UuZGF0YS5iWzJdID0gKnArKzsKLQkJZHNwNTZrX2hvc3RfaW50ZXJmYWNlLmRhdGEuYlszXSA9ICpwKys7CisKKwlwZGV2ID0gcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyX3NpbXBsZSgiZHNwNTZrIiwgMCwgTlVMTCwgMCk7CisJaWYgKElTX0VSUihwZGV2KSkgeworCQlwcmludGsoS0VSTl9FUlIgIkZhaWxlZCB0byByZWdpc3RlciBkZXZpY2UgZm9yIFwiJXNcIlxuIiwKKwkJICAgICAgIGZ3X25hbWUpOworCQlyZXR1cm4gLUVJTlZBTDsKIAl9CisJZXJyID0gcmVxdWVzdF9maXJtd2FyZSgmZncsIGZ3X25hbWUsICZwZGV2LT5kZXYpOworCXBsYXRmb3JtX2RldmljZV91bnJlZ2lzdGVyKHBkZXYpOworCWlmIChlcnIpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJGYWlsZWQgdG8gbG9hZCBpbWFnZSBcIiVzXCIgZXJyICVkXG4iLAorCQkgICAgICAgZndfbmFtZSwgZXJyKTsKKwkJcmV0dXJuIGVycjsKKwl9CisJaWYgKGZ3LT5zaXplICUgMykgeworCQlwcmludGsoS0VSTl9FUlIgIkJvZ3VzIGxlbmd0aCAlZCBpbiBpbWFnZSBcIiVzXCJcbiIsCisJCSAgICAgICBmdy0+c2l6ZSwgZndfbmFtZSk7CisJCXJlbGVhc2VfZmlybXdhcmUoZncpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisJZm9yIChpID0gMDsgaSA8IGZ3LT5zaXplOyBpID0gaSArIDMpIHsKKwkJLyogdHhfd2FpdCgxMCk7ICovCisJCWRzcDU2a19ob3N0X2ludGVyZmFjZS5kYXRhLmJbMV0gPSBmdy0+ZGF0YVtpXTsKKwkJZHNwNTZrX2hvc3RfaW50ZXJmYWNlLmRhdGEuYlsyXSA9IGZ3LT5kYXRhW2kgKyAxXTsKKwkJZHNwNTZrX2hvc3RfaW50ZXJmYWNlLmRhdGEuYlszXSA9IGZ3LT5kYXRhW2kgKyAyXTsKKwl9CisJcmVsZWFzZV9maXJtd2FyZShmdyk7CiAJZm9yICg7IGkgPCA1MTI7IGkrKykgewogCQkvKiB0eF93YWl0KDEwKTsgKi8KIAkJZHNwNTZrX2hvc3RfaW50ZXJmYWNlLmRhdGEuYlsxXSA9IDA7CkBAIC00MzYsMTMgKzQxOCwxNyBAQAogc3RhdGljIGludCBkc3A1Nmtfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKIAlpbnQgZGV2ID0gaW1pbm9yKGlub2RlKSAmIDB4MGY7CisJaW50IHJldCA9IDA7CiAKKwlsb2NrX2tlcm5lbCgpOwogCXN3aXRjaChkZXYpCiAJewogCWNhc2UgRFNQNTZLX0RFVl81NjAwMToKIAotCQlpZiAodGVzdF9hbmRfc2V0X2JpdCgwLCAmZHNwNTZrLmluX3VzZSkpCi0JCQlyZXR1cm4gLUVCVVNZOworCQlpZiAodGVzdF9hbmRfc2V0X2JpdCgwLCAmZHNwNTZrLmluX3VzZSkpIHsKKwkJCXJldCA9IC1FQlVTWTsKKwkJCWdvdG8gb3V0OworCQl9CiAKIAkJZHNwNTZrLnRpbWVvdXQgPSBUSU1FT1VUOwogCQlkc3A1NmsubWF4aW8gPSBNQVhJTzsKQEAgLTQ1OCwxMCArNDQ0LDExIEBACiAJCWJyZWFrOwogCiAJZGVmYXVsdDoKLQkJcmV0dXJuIC1FTk9ERVY7CisJCXJldCA9IC1FTk9ERVY7CiAJfQotCi0JcmV0dXJuIDA7CitvdXQ6CisJdW5sb2NrX2tlcm5lbCgpOworCXJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyBpbnQgZHNwNTZrX3JlbGVhc2Uoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCkBAIC01MzQsMyArNTIxLDQgQEAKIG1vZHVsZV9leGl0KGRzcDU2a19jbGVhbnVwX2RyaXZlcik7CiAKIE1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKK01PRFVMRV9GSVJNV0FSRSgiZHNwNTZrL2Jvb3RzdHJhcC5iaW4iKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kdGxrLmMgYi9kcml2ZXJzL2NoYXIvZHRsay5jCmluZGV4IGFiZGU2ZGQuLjZiOTAwYjIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9kdGxrLmMKKysrIGIvZHJpdmVycy9jaGFyL2R0bGsuYwpAQCAtNTYsNiArNTYsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CS8qIGZvciAtRUJVU1kgKi8KICNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4JLyogZm9yIHJlcXVlc3RfcmVnaW9uICovCiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4JLyogZm9yIGxvb3BzX3Blcl9qaWZmeSAqLworI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CS8qIGN5Y2xlX2tlcm5lbF9sb2NrKCkgKi8KICNpbmNsdWRlIDxhc20vaW8uaD4JCS8qIGZvciBpbmJfcCwgb3V0Yl9wLCBpbmIsIG91dGIsIGV0Yy4gKi8KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgkvKiBmb3IgZ2V0X3VzZXIsIGV0Yy4gKi8KICNpbmNsdWRlIDxsaW51eC93YWl0Lmg+CQkvKiBmb3Igd2FpdF9xdWV1ZSAqLwpAQCAtMjg4LDEwICsyODksMTIgQEAKIAl9CiB9CiAKKy8qIE5vdGUgdGhhdCBub2JvZHkgZXZlciBzZXRzIGR0bGtfYnVzeS4uLiAqLwogc3RhdGljIGludCBkdGxrX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCiB7CiAJVFJBQ0VfVEVYVCgiKGR0bGtfb3BlbiIpOwogCisJY3ljbGVfa2VybmVsX2xvY2soKTsKIAlub25zZWVrYWJsZV9vcGVuKGlub2RlLCBmaWxlKTsKIAlzd2l0Y2ggKGltaW5vcihpbm9kZSkpIHsKIAljYXNlIERUTEtfTUlOT1I6CmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZWZpcnRjLmMgYi9kcml2ZXJzL2NoYXIvZWZpcnRjLmMKaW5kZXggNDkyMzNmNS4uZDU3Y2EzZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL2VmaXJ0Yy5jCisrKyBiL2RyaXZlcnMvY2hhci9lZmlydGMuYwpAQCAtMjgsNiArMjgsNyBAQAogICovCiAKIAorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KICNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgogI2luY2x1ZGUgPGxpbnV4L21pc2NkZXZpY2UuaD4KQEAgLTI3Miw2ICsyNzMsNyBAQAogCSAqIFdlIGRvIGFjY2VwdCBtdWx0aXBsZSBvcGVuIGZpbGVzIGF0IHRoZSBzYW1lIHRpbWUgYXMgd2UKIAkgKiBzeW5jaHJvbml6ZSBvbiB0aGUgcGVyIGNhbGwgb3BlcmF0aW9uLgogCSAqLworCWN5Y2xlX2tlcm5lbF9sb2NrKCk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9nZW5ydGMuYyBiL2RyaXZlcnMvY2hhci9nZW5ydGMuYwppbmRleCA2OWYwYTI5Li5hYWMwOTg1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvZ2VucnRjLmMKKysrIGIvZHJpdmVycy9jaGFyL2dlbnJ0Yy5jCkBAIC01MSw2ICs1MSw3IEBACiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L3BvbGwuaD4KICNpbmNsdWRlIDxsaW51eC9wcm9jX2ZzLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC93b3JrcXVldWUuaD4KIAogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CkBAIC0zMzgsMTIgKzMzOSwxNiBAQAogCiBzdGF0aWMgaW50IGdlbl9ydGNfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKLQlpZiAoZ2VuX3J0Y19zdGF0dXMgJiBSVENfSVNfT1BFTikKKwlsb2NrX2tlcm5lbCgpOworCWlmIChnZW5fcnRjX3N0YXR1cyAmIFJUQ19JU19PUEVOKSB7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIC1FQlVTWTsKKwl9CiAKIAlnZW5fcnRjX3N0YXR1cyB8PSBSVENfSVNfT1BFTjsKIAlnZW5fcnRjX2lycV9kYXRhID0gMDsKIAlpcnFfYWN0aXZlID0gMDsKKwl1bmxvY2tfa2VybmVsKCk7CiAKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9ocGV0LmMgYi9kcml2ZXJzL2NoYXIvaHBldC5jCmluZGV4IGU3ZmIwYmMuLmZiMGE4NWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9ocGV0LmMKKysrIGIvZHJpdmVycy9jaGFyL2hwZXQuYwpAQCAtMTQsNiArMTQsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KICNpbmNsdWRlIDxsaW51eC9taXNjZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvbWFqb3IuaD4KQEAgLTE5Myw2ICsxOTQsNyBAQAogCWlmIChmaWxlLT5mX21vZGUgJiBGTU9ERV9XUklURSkKIAkJcmV0dXJuIC1FSU5WQUw7CiAKKwlsb2NrX2tlcm5lbCgpOwogCXNwaW5fbG9ja19pcnEoJmhwZXRfbG9jayk7CiAKIAlmb3IgKGRldnAgPSBOVUxMLCBocGV0cCA9IGhwZXRzOyBocGV0cCAmJiAhZGV2cDsgaHBldHAgPSBocGV0cC0+aHBfbmV4dCkKQEAgLTIwNyw2ICsyMDksNyBAQAogCiAJaWYgKCFkZXZwKSB7CiAJCXNwaW5fdW5sb2NrX2lycSgmaHBldF9sb2NrKTsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gLUVCVVNZOwogCX0KIApAQCAtMjE0LDYgKzIxNyw3IEBACiAJZGV2cC0+aGRfaXJxZGF0YSA9IDA7CiAJZGV2cC0+aGRfZmxhZ3MgfD0gSFBFVF9PUEVOOwogCXNwaW5fdW5sb2NrX2lycSgmaHBldF9sb2NrKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9odmNfeGVuLmMgYi9kcml2ZXJzL2NoYXIvaHZjX3hlbi5jCmluZGV4IGRkNjhmODUuLmRiMmFlNDIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9odmNfeGVuLmMKKysrIGIvZHJpdmVycy9jaGFyL2h2Y194ZW4uYwpAQCAtMzksOSArMzksMTQgQEAKIAogLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCiAKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGNvbnNvbGVfcGZuID0gfjB1bDsKKwogc3RhdGljIGlubGluZSBzdHJ1Y3QgeGVuY29uc19pbnRlcmZhY2UgKnhlbmNvbnNfaW50ZXJmYWNlKHZvaWQpCiB7Ci0JcmV0dXJuIG1mbl90b192aXJ0KHhlbl9zdGFydF9pbmZvLT5jb25zb2xlLmRvbVUubWZuKTsKKwlpZiAoY29uc29sZV9wZm4gPT0gfjB1bCkKKwkJcmV0dXJuIG1mbl90b192aXJ0KHhlbl9zdGFydF9pbmZvLT5jb25zb2xlLmRvbVUubWZuKTsKKwllbHNlCisJCXJldHVybiBfX3ZhKGNvbnNvbGVfcGZuIDw8IFBBR0VfU0hJRlQpOwogfQogCiBzdGF0aWMgaW5saW5lIHZvaWQgbm90aWZ5X2RhZW1vbih2b2lkKQpAQCAtMTAxLDIwICsxMDYsMzIgQEAKIHsKIAlzdHJ1Y3QgaHZjX3N0cnVjdCAqaHA7CiAKLQlpZiAoIWlzX3J1bm5pbmdfb25feGVuKCkpCi0JCXJldHVybiAwOworCWlmICghaXNfcnVubmluZ19vbl94ZW4oKSB8fAorCSAgICBpc19pbml0aWFsX3hlbmRvbWFpbigpIHx8CisJICAgICF4ZW5fc3RhcnRfaW5mby0+Y29uc29sZS5kb21VLmV2dGNobikKKwkJcmV0dXJuIC1FTk9ERVY7CiAKIAl4ZW5jb25zX2lycSA9IGJpbmRfZXZ0Y2huX3RvX2lycSh4ZW5fc3RhcnRfaW5mby0+Y29uc29sZS5kb21VLmV2dGNobik7CiAJaWYgKHhlbmNvbnNfaXJxIDwgMCkKLQkJeGVuY29uc19pcnEgPSAwIC8qIE5PX0lSUSAqLzsKKwkJeGVuY29uc19pcnEgPSAwOyAvKiBOT19JUlEgKi8KKwogCWhwID0gaHZjX2FsbG9jKEhWQ19DT09LSUUsIHhlbmNvbnNfaXJxLCAmaHZjX29wcywgMjU2KTsKIAlpZiAoSVNfRVJSKGhwKSkKIAkJcmV0dXJuIFBUUl9FUlIoaHApOwogCiAJaHZjID0gaHA7CisKKwljb25zb2xlX3BmbiA9IG1mbl90b19wZm4oeGVuX3N0YXJ0X2luZm8tPmNvbnNvbGUuZG9tVS5tZm4pOworCiAJcmV0dXJuIDA7CiB9CiAKK3ZvaWQgeGVuX2NvbnNvbGVfcmVzdW1lKHZvaWQpCit7CisJaWYgKHhlbmNvbnNfaXJxKQorCQlyZWJpbmRfZXZ0Y2huX2lycSh4ZW5fc3RhcnRfaW5mby0+Y29uc29sZS5kb21VLmV2dGNobiwgeGVuY29uc19pcnEpOworfQorCiBzdGF0aWMgdm9pZCBfX2V4aXQgeGVuX2Zpbmkodm9pZCkKIHsKIAlpZiAoaHZjKQpAQCAtMTM0LDEyICsxNTEsMjggQEAKIG1vZHVsZV9leGl0KHhlbl9maW5pKTsKIGNvbnNvbGVfaW5pdGNhbGwoeGVuX2NvbnNfaW5pdCk7CiAKK3N0YXRpYyB2b2lkIHJhd19jb25zb2xlX3dyaXRlKGNvbnN0IGNoYXIgKnN0ciwgaW50IGxlbikKK3sKKwl3aGlsZShsZW4gPiAwKSB7CisJCWludCByYyA9IEhZUEVSVklTT1JfY29uc29sZV9pbyhDT05TT0xFSU9fd3JpdGUsIGxlbiwgKGNoYXIgKilzdHIpOworCQlpZiAocmMgPD0gMCkKKwkJCWJyZWFrOworCisJCXN0ciArPSByYzsKKwkJbGVuIC09IHJjOworCX0KK30KKworI2lmZGVmIENPTkZJR19FQVJMWV9QUklOVEsKIHN0YXRpYyB2b2lkIHhlbmJvb3Rfd3JpdGVfY29uc29sZShzdHJ1Y3QgY29uc29sZSAqY29uc29sZSwgY29uc3QgY2hhciAqc3RyaW5nLAogCQkJCSAgdW5zaWduZWQgbGVuKQogewogCXVuc2lnbmVkIGludCBsaW5lbGVuLCBvZmYgPSAwOwogCWNvbnN0IGNoYXIgKnBvczsKIAorCXJhd19jb25zb2xlX3dyaXRlKHN0cmluZywgbGVuKTsKKworCXdyaXRlX2NvbnNvbGUoMCwgIihlYXJseSkgIiwgOCk7CiAJd2hpbGUgKG9mZiA8IGxlbiAmJiBOVUxMICE9IChwb3MgPSBzdHJjaHIoc3RyaW5nK29mZiwgJ1xuJykpKSB7CiAJCWxpbmVsZW4gPSBwb3Mtc3RyaW5nK29mZjsKIAkJaWYgKG9mZiArIGxpbmVsZW4gPiBsZW4pCkBAIC0xNTUsNSArMTg4LDIzIEBACiBzdHJ1Y3QgY29uc29sZSB4ZW5ib290X2NvbnNvbGUgPSB7CiAJLm5hbWUJCT0gInhlbmJvb3QiLAogCS53cml0ZQkJPSB4ZW5ib290X3dyaXRlX2NvbnNvbGUsCi0JLmZsYWdzCQk9IENPTl9QUklOVEJVRkZFUiB8IENPTl9CT09ULAorCS5mbGFncwkJPSBDT05fUFJJTlRCVUZGRVIgfCBDT05fQk9PVCB8IENPTl9BTllUSU1FLAogfTsKKyNlbmRpZgkvKiBDT05GSUdfRUFSTFlfUFJJTlRLICovCisKK3ZvaWQgeGVuX3Jhd19jb25zb2xlX3dyaXRlKGNvbnN0IGNoYXIgKnN0cikKK3sKKwlyYXdfY29uc29sZV93cml0ZShzdHIsIHN0cmxlbihzdHIpKTsKK30KKwordm9pZCB4ZW5fcmF3X3ByaW50ayhjb25zdCBjaGFyICpmbXQsIC4uLikKK3sKKwlzdGF0aWMgY2hhciBidWZbNTEyXTsKKwl2YV9saXN0IGFwOworCisJdmFfc3RhcnQoYXAsIGZtdCk7CisJdnNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksIGZtdCwgYXApOworCXZhX2VuZChhcCk7CisKKwl4ZW5fcmF3X2NvbnNvbGVfd3JpdGUoYnVmKTsKK30KZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9od19yYW5kb20vY29yZS5jIGIvZHJpdmVycy9jaGFyL2h3X3JhbmRvbS9jb3JlLmMKaW5kZXggNjYyZDYwZS4uZTVkNTgzYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL2h3X3JhbmRvbS9jb3JlLmMKKysrIGIvZHJpdmVycy9jaGFyL2h3X3JhbmRvbS9jb3JlLmMKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KICNpbmNsdWRlIDxsaW51eC9mcy5oPgogI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvbWlzY2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CkBAIC04Niw2ICs4Nyw3IEBACiAJCXJldHVybiAtRUlOVkFMOwogCWlmIChmaWxwLT5mX21vZGUgJiBGTU9ERV9XUklURSkKIAkJcmV0dXJuIC1FSU5WQUw7CisJY3ljbGVfa2VybmVsX2xvY2soKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2lwMi9maXBfZmlybS5oIGIvZHJpdmVycy9jaGFyL2lwMi9maXBfZmlybS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0YzUyNWZhLi4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvY2hhci9pcDIvZmlwX2Zpcm0uaAorKysgL2Rldi9udWxsCkBAIC0xLDIxNDkgKzAsMCBAQAotLyogZmlwX2Zpcm0uaCAtIEludGVsbGlwb3J0IElJIGxvYWR3YXJlICovCi0vKiAtMzEyMzIgYnl0ZXMgcmVhZCBmcm9tIGZmLmxvZCAqLwotCi1zdGF0aWMgdW5zaWduZWQgY2hhciBmaXBfZmlybVtdIF9faW5pdGRhdGEgPSB7Ci0weDNDLDB4NDIsMHgzNywweDE4LDB4MDIsMHgwMSwweDAzLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLAotMHg1NywweDY1LDB4NjQsMHgyMCwweDQ0LDB4NjUsMHg2MywweDIwLDB4MzAsMHgzMSwweDIwLDB4MzEsMHgzMiwweDNBLDB4MzIsMHgzNCwKLTB4M0EsMHgzMywweDMwLDB4MjAsMHgzMSwweDM5LDB4MzksMHgzOSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsCi0weEU5LDB4NkMsMHgwRiwweDQyLDB4NjUsMHg0NywweDY5LDB4NEUsMHg2RSwweDQ5LDB4NkUsMHg0NywweDIwLDB4NkYsMHg0NiwweDIwLAotMHg2MywweDRGLDB4NjQsMHg0NSwweENDLDB4MTMsMHg1QSwweDE1LDB4RTgsMHgxNiwweDc2LDB4MTgsMHgwNCwweDFBLDB4OTIsMHgxQiwKLTB4MjAsMHgxRCwweEFFLDB4MUUsMHgzQywweDIwLDB4Q0EsMHgyMSwweDU4LDB4MjMsMHhFNiwweDI0LDB4NzQsMHgyNiwweDAyLDB4MjgsCi0weDkwLDB4MjksMHgxRSwweDJCLDB4QUMsMHgyQywweDNBLDB4MkUsMHhDOCwweDJGLDB4NTYsMHgzMSwweEU0LDB4MzIsMHg3MiwweDM0LAotMHgwMCwweDM2LDB4OEUsMHgzNywweDFDLDB4MzksMHhBQSwweDNBLDB4MzgsMHgzQywweEM2LDB4M0QsMHg1NCwweDNGLDB4RTIsMHg0MCwKLTB4NzAsMHg0MiwweEZFLDB4NDMsMHg4QywweDQ1LDB4MUEsMHg0NywweEE4LDB4NDgsMHgzNiwweDRBLDB4QzQsMHg0QiwweDUyLDB4NEQsCi0weEUwLDB4NEUsMHg2RSwweDUwLDB4RkMsMHg1MSwweDhBLDB4NTMsMHgxOCwweDU1LDB4QTYsMHg1NiwweDM0LDB4NTgsMHhDMiwweDU5LAotMHg1MCwweDVCLDB4REUsMHg1QywweDZDLDB4NUUsMHhGQSwweDVGLDB4ODgsMHg2MSwweDE2LDB4NjMsMHhBNCwweDY0LDB4MzIsMHg2NiwKLTB4QzAsMHg2NywweDRFLDB4NjksMHhEQywweDZBLDB4NkEsMHg2QywweEY4LDB4NkQsMHg4NiwweDZGLDB4MTQsMHg3MSwweEEyLDB4NzIsCi0weDMwLDB4NzQsMHhCRSwweDc1LDB4NEMsMHg3NywweDZDLDB4NzcsMHg4QywweDc3LDB4QUMsMHg3NywweDMzLDB4REIsMHg4QSwweERDLAotMHg1MywweDMzLDB4REIsMHgyNSwweDA3LDB4MDAsMHg3NSwweDBBLDB4OEEsMHgxRSwweDA4LDB4MDEsMHg4MywweEUzLDB4MEMsMHhFQiwKLTB4MjAsMHg5MCwweDNDLDB4MDEsMHg3NSwweDBBLDB4OEEsMHgxRSwweDA4LDB4MDEsMHg4MCwweEUzLDB4QzAsMHhFQiwweDEyLDB4OTAsCi0weDhBLDB4MUUsMHgwRCwweDAxLDB4M0MsMHgwMiwweDc1LDB4MDYsMHg4MCwweEUzLDB4MEMsMHhFQiwweDA0LDB4OTAsMHg4MCwweEUzLAotMHhDMCwweDUzLDB4NTAsMHg4QiwweDFFLDB4QkEsMHgxMywweDhFLDB4REIsMHhFOCwweDZBLDB4NjUsMHg1NSwweDhCLDB4RUMsMHg1MywKLTB4MUUsMHgyQiwweEMwLDB4OEUsMHhEOCwweDhCLDB4NUUsMHgwNCwweEMxLDB4RTMsMHgwNCwweDAzLDB4NUUsMHgwNiwweEQxLDB4RTMsCi0weDJFLDB4OEIsMHg5RiwweDQ0LDB4MDAsMHg4RCwweDQ3LDB4MkEsMHgxRSwweDVBLDB4MUYsMHg1QiwweDVELDB4QzMsMHg1NSwweDhCLAotMHhFQywweDUzLDB4MUUsMHgyQiwweEMwLDB4OEUsMHhEOCwweDhCLDB4NUUsMHgwNCwweEMxLDB4RTMsMHgwNCwweDAzLDB4NUUsMHgwNiwKLTB4RDEsMHhFMywweDJFLDB4OEIsMHg5RiwweDQ0LDB4MDAsMHg4RCwweDQ3LDB4MzQsMHgxRSwweDVBLDB4MUYsMHg1QiwweDVELDB4QzMsCi0weEZCLDB4NTUsMHg4QiwweEVDLDB4NTMsMHg1MSwweDUyLDB4NTYsMHg1NywweDFFLDB4MDYsMHgxRSwweDA3LDB4MzMsMHhDMCwweDhFLAotMHhEOCwweDhCLDB4NUUsMHgwNCwweDI2LDB4OEEsMHg0NywweDU5LDB4MjUsMHgwMywweDAwLDB4OEIsMHhGMCwweEQxLDB4RTYsMHgyRSwKLTB4OEIsMHhCNCwweEM0LDB4MDAsMHhDMSwweEUwLDB4MDQsMHgyNiwweDAyLDB4NDcsMHgxQSwweEQxLDB4RTAsMHg4QiwweEU4LDB4MkUsCi0weDhCLDB4QUUsMHg0NCwweDAwLDB4ODksMHgyQywweDI2LDB4OEEsMHg0NywweDFDLDB4ODgsMHg0NCwweDBGLDB4MjYsMHg4QSwweDQ3LAotMHgxRCwweDg4LDB4NDQsMHgxMCwweDI2LDB4OEEsMHg0NywweDFFLDB4ODgsMHg0NCwweDExLDB4MjYsMHg4QSwweDQ3LDB4MUYsMHg4OCwKLTB4NDQsMHgxMiwweDI2LDB4OEEsMHg0NywweDIwLDB4ODgsMHg0NCwweDEzLDB4MjYsMHg4QSwweDQ3LDB4MjMsMHg4OCwweDQ0LDB4MTQsCi0weDI2LDB4OEEsMHg0NywweDI0LDB4ODgsMHg0NCwweDE1LDB4MjYsMHg4QSwweDQ3LDB4NUEsMHg4OCwweDQ0LDB4MEUsMHgzMywweEMwLAotMHg4OSwweDQ0LDB4MDYsMHg4OSwweDQ0LDB4MDgsMHg4OCwweDQ0LDB4MEIsMHg4OCwweDQ0LDB4MEEsMHhCMCwweDIxLDB4QjQsMHg2NCwKLTB4ODksMHg0NCwweDA0LDB4ODksMHg0NCwweDAyLDB4QjAsMHg1NSwweDg4LDB4NDQsMHgwRCwweDg4LDB4NDQsMHgwQywweEU4LDB4NkEsCi0weDAwLDB4NzIsMHg1QiwweEU4LDB4QzksMHgwMCwweEU4LDB4QzEsMHgxMCwweDg5LDB4NDQsMHgwOCwweDgwLDB4N0MsMHgwRiwweDAxLAotMHg3NCwweDI5LDB4RTgsMHgyQiwweDAyLDB4RTgsMHg3RiwweDAyLDB4ODAsMHg3QywweDBGLDB4MDMsMHg3NCwweDFELDB4RTgsMHhBOSwKLTB4MTAsMHg4QiwweEY4LDB4MkIsMHg0NCwweDA4LDB4M0QsMHhBMCwweDBGLDB4NzIsMHgxMCwweDg5LDB4N0MsMHgwOCwweDMzLDB4QzAsCi0weDg3LDB4NDQsMHgwNiwweDg1LDB4QzAsMHg3NSwweDA0LDB4QzYsMHg0NCwweDBBLDB4RkYsMHg4QSwweDQ0LDB4MEEsMHg4NCwweEMwLAotMHg3NSwweDBCLDB4QjgsMHgwOCwweDAwLDB4RTgsMHg2QSwweDRBLDB4RTgsMHhBOSwweDAxLDB4NzMsMHhCRiwweEU4LDB4NEYsMHgwMSwKLTB4ODEsMHg2NiwweDQ4LDB4N0YsMHhGRiwweDgzLDB4NjYsMHg3QSwweEJGLDB4QjAsMHgwMiwweEU4LDB4MDQsMHgwRSwweDhBLDB4NDQsCi0weDBBLDB4OTgsMHgwNywweDFGLDB4NUYsMHg1RSwweDVBLDB4NTksMHg1QiwweDVELDB4QzMsMHg4MSwweDRFLDB4NDgsMHg4MCwweDAwLAotMHhCMCwweDQwLDB4RTgsMHgzRCwweDRBLDB4RTgsMHg4OSwweDQwLDB4NzMsMHgyQSwweEU4LDB4NEQsMHgxMCwweDhCLDB4RDgsMHhCMCwKLTB4MDUsMHhFOCwweDJFLDB4NEEsMHhGNiwweDQ2LDB4MjcsMHgwMiwweDc1LDB4MUEsMHhFOCwweDNELDB4MTAsMHgyQiwweEMzLDB4M0QsCi0weDU4LDB4MUIsMHg3MiwweEVCLDB4ODEsMHg2NiwweDQ4LDB4N0YsMHhGRiwweEIwLDB4MDIsMHhFOCwweEM0LDB4MEQsMHhDNiwweDQ0LAotMHgwQSwweDAxLDB4RjksMHhDMywweDgzLDB4NEUsMHg3QSwweDQwLDB4RjgsMHhDMywweEZCLDB4QjAsMHgwMSwweEU4LDB4MDIsMHg0QSwKLTB4RkEsMHhFOCwweDk5LDB4MUUsMHhFNCwweDBBLDB4ODQsMHhDMCwweDc1LDB4RjAsMHhCMCwweDRFLDB4RTYsMHgwQSwweEZCLDB4QjAsCi0weDAxLDB4RTgsMHhFRSwweDQ5LDB4RkEsMHhFOCwweDg1LDB4MUUsMHhFNCwweDBBLDB4ODQsMHhDMCwweDc1LDB4RjAsMHhDMywweEZBLAotMHhFOCwweDdBLDB4MUUsMHhFNCwweEVDLDB4ODgsMHg0NCwweDE2LDB4RTQsMHhFNCwweDg4LDB4NDQsMHgxNywweEU0LDB4RjgsMHg4OCwKLTB4NDQsMHgxOCwweEU0LDB4RjAsMHg4OCwweDQ0LDB4MTksMHhFNCwweDEwLDB4ODgsMHg0NCwweDFBLDB4RTQsMHgxMiwweDg4LDB4NDQsCi0weDFCLDB4RTQsMHgxNCwweDg4LDB4NDQsMHgxQywweEU0LDB4MzQsMHg4OCwweDQ0LDB4MUQsMHhFNCwweDM2LDB4ODgsMHg0NCwweDFFLAotMHhFNCwweEQ4LDB4MjQsMHgwMSwweDhBLDB4RTAsMHhFNCwweERBLDB4MjQsMHgwMiwweDBBLDB4QzQsMHg4OCwweDQ0LDB4MUYsMHg4QSwKLTB4NDQsMHgxMCwweEU4LDB4Q0QsMHgxRiwweDhBLDB4NDQsMHgxMSwweEU4LDB4MzUsMHgyMSwweDhBLDB4NDQsMHgxMiwweEU4LDB4ODksCi0weDIxLDB4OEEsMHg0NCwweDEzLDB4RTgsMHg0MywweDIxLDB4QzYsMHg4NiwweEExLDB4MDAsMHgwMCwweEU0LDB4MTQsMHgyNCwweDEwLAotMHhFNiwweDE0LDB4RTQsMHgxMiwweDI0LDB4M0QsMHhFNiwweDEyLDB4OEEsMHg0NCwweDE1LDB4M0MsMHgwMSwweDcyLDB4MUUsMHg3NywKLTB4MTYsMHhCMCwweDExLDB4RTYsMHgzNCwweEIwLDB4MTMsMHhFNiwweDM2LDB4RTQsMHgxNCwweDBDLDB4MTAsMHhFNiwweDE0LDB4RTQsCi0weDEyLDB4MEMsMHg0MCwweEU2LDB4MTIsMHhFQiwweDA2LDB4RTQsMHgxMiwweDBDLDB4MDIsMHhFNiwweDEyLDB4OEEsMHg0NCwweDBGLAotMHgzQywweDAxLDB4NzQsMHgwNiwweDNDLDB4MDIsMHg3NCwweDBBLDB4RUIsMHgwRSwweEU0LDB4MTIsMHgwQywweDA4LDB4RTYsMHgxMiwKLTB4RUIsMHgwNiwweEU0LDB4MTIsMHgwQywweDEwLDB4RTYsMHgxMiwweEU4LDB4MkYsMHhGRiwweDhBLDB4NDQsMHgxNCwweDNDLDB4MDIsCi0weDc1LDB4MDgsMHhCMCwweDU1LDB4ODgsMHg0NCwweDBDLDB4ODgsMHg0NCwweDBELDB4QjAsMHgyMSwweEI0LDB4NjQsMHg4OSwweDQ0LAotMHgwNCwweDg5LDB4NDQsMHgwMiwweEU0LDB4MEMsMHgwQywweDEwLDB4RTYsMHgwQywweEU4LDB4RUQsMHgzOSwweEZCLDB4QzMsMHhFOCwKLTB4NUYsMHgzRiwweDczLDB4MDgsMHhGQiwweEIwLDB4MEEsMHhFOCwweDA4LDB4NDksMHhFQiwweEYzLDB4RkEsMHhFOCwweDlELDB4MUQsCi0weDhBLDB4NjQsMHgxNiwweDhBLDB4NDQsMHgxNywweDg5LDB4ODYsMHg5NCwweDAwLDB4RTYsMHhFNCwweDhBLDB4QzQsMHhFNiwweEVDLAotMHg4QSwweDY0LDB4MTgsMHg4QSwweDQ0LDB4MTksMHg4OSwweDg2LDB4OTYsMHgwMCwweEU2LDB4RjAsMHg4QSwweEM0LDB4RTYsMHhGOCwKLTB4OEEsMHg0NCwweDFBLDB4RTYsMHgxMCwweDhBLDB4NDQsMHgxQiwweEU2LDB4MTIsMHg4QSwweDQ0LDB4MUMsMHhFNiwweDE0LDB4OEEsCi0weDQ0LDB4MUQsMHhFNiwweDM0LDB4OEEsMHg0NCwweDFFLDB4RTYsMHgzNiwweDhBLDB4NDQsMHgxRiwweEU2LDB4RDgsMHhFNiwweERBLAotMHhFOSwweEI3LDB4RkUsMHg5MCwweEZBLDB4OEEsMHg0NCwweDBFLDB4RTYsMHhGRSwweEU0LDB4MDIsMHhBOCwweDAxLDB4NzUsMHgwNSwKLTB4MzMsMHhDMCwweEZCLDB4RjgsMHhDMywweDMzLDB4QzAsMHhFNCwweDAwLDB4RkIsMHhGOSwweEMzLDB4OEEsMHg2NCwweDE0LDB4ODAsCi0weEZDLDB4MDIsMHg3NCwweDJCLDB4RkUsMHhDMCwweEZFLDB4QzcsMHg4MCwweEZGLDB4NEUsMHg3MiwweDFDLDB4NzQsMHgwOSwweDgwLAotMHhGRiwweDUwLDB4NzMsMHgwOCwweEIwLDB4MEEsMHhFQiwweDE3LDB4QjAsMHgwRCwweEVCLDB4MTMsMHgwMiwweERDLDB4MzIsMHhGRiwKLTB4ODAsMHhGQiwweDdGLDB4N0MsMHgwMiwweEIzLDB4MjEsMHg4QSwweEMzLDB4M0MsMHg3RiwweDdDLDB4MDIsMHhCMCwweDIxLDB4QzMsCi0weEZBLDB4ODAsMHg3QywweDBCLDB4MDQsMHg3NiwweDAyLDB4RkIsMHhDMywweDhCLDB4NDYsMHgyNCwweDNELDB4MDgsMHgwMCwweDcyLAotMHhGNiwweDhFLDB4NDYsMHgwMiwweDhCLDB4N0UsMHgyMiwweDhBLDB4NDQsMHgwQywweDhCLDB4NUMsMHgwMiwweEFBLDB4RTgsMHhBQiwKLTB4RkYsMHhBQSwweEU4LDB4QTcsMHhGRiwweEFBLDB4RTgsMHhBMywweEZGLDB4QUEsMHhFOCwweDlGLDB4RkYsMHg4OCwweDQ0LDB4MEMsCi0weDg5LDB4NUMsMHgwMiwweDgwLDB4NDQsMHgwQiwweDA0LDB4ODksMHg3RSwweDIyLDB4ODMsMHg2RSwweDI0LDB4MDQsMHg4MywweDQ2LAotMHgxQSwweDA0LDB4ODAsMHg3RSwweDI2LDB4MDIsMHg3NCwweDA2LDB4ODAsMHg2NiwweDI2LDB4RkQsMHhGQiwweEMzLDB4NjAsMHhCMCwKLTB4RkQsMHhFOCwweDAyLDB4M0YsMHg2MSwweEZCLDB4QzMsMHhGQSwweDgwLDB4N0MsMHgwRiwweDAzLDB4NzUsMHgwOSwweEM2LDB4NDQsCi0weDBCLDB4MDAsMHhFOCwweEU1LDB4MzgsMHhGQiwweEMzLDB4QzQsMHg3RSwweDE0LDB4OEIsMHg0RSwweDNBLDB4ODUsMHhDOSwweDc1LAotMHgzNSwweDI2LDB4OEIsMHgwRCwweDQ3LDB4NDcsMHhFMywweEVBLDB4M0IsMHg3RSwweDA0LDB4NzYsMHgyMiwweEI4LDB4MDIsMHgwMCwKLTB4MzksMHg0NiwweDJFLDB4NzcsMHgwNywweEM3LDB4NDYsMHgyRSwweDAwLDB4MDAsMHhFQiwweDEzLDB4OEIsMHg1RSwweDJDLDB4ODksCi0weDVFLDB4MDQsMHgyNiwweEM3LDB4MDcsMHgwMCwweDAwLDB4NDMsMHg0MywweDg5LDB4NUUsMHgyQywweDI5LDB4NDYsMHgyRSwweDg1LAotMHhDOSwweDc4LDB4Q0UsMHg4OSwweDRFLDB4M0EsMHg4QSwweDQ0LDB4MEQsMHg4QiwweDVDLDB4MDQsMHgyNiwweDhBLDB4MjUsMHg0NywKLTB4M0EsMHhDNCwweDc1LDB4MTYsMHhGRSwweDRDLDB4MEIsMHhGRiwweDQ0LDB4MDYsMHhFOCwweDBGLDB4RkYsMHhFMiwweEVELDB4ODgsCi0weDQ0LDB4MEQsMHg4OSwweDVDLDB4MDQsMHg4OSwweDRFLDB4M0EsMHhFQiwweEE3LDB4QzYsMHg0NCwweDBBLDB4RkUsMHhFOCwweDc5LAotMHgzOCwweEZCLDB4QzMsMHg5MCwweEU4LDB4QjMsMHgwRCwweDhBLDB4RTgsMHg4QSwweDBFLDB4Q0IsMHgxMywweEIzLDB4MDcsMHg4QSwKLTB4QzEsMHhFRSwweEVCLDB4MDAsMHhFQywweDNBLDB4QzEsMHg3NSwweDA5LDB4MDIsMHhDRCwweEZFLDB4Q0IsMHg3NSwweEYwLDB4RUIsCi0weDBDLDB4OTAsMHg4OCwweDBFLDB4Q0IsMHgxMywweDhBLDB4RTgsMHhCQiwweEZGLDB4RkYsMHhGOSwweEMzLDB4ODgsMHgwRSwweENCLAotMHgxMywweEY4LDB4QzMsMHg5MCwweEJCLDB4M0YsMHgzRiwweDhBLDB4OEUsMHg5RSwweDAwLDB4QkEsMHhGRSwweDAwLDB4RUMsMHg4QSwKLTB4RTgsMHgzMiwweEMxLDB4MjIsMHhDMywweDc1LDB4MDIsMHhGOCwweEMzLDB4RjksMHhDMywweDkwLDB4RTgsMHhFNSwweEZGLDB4NzMsCi0weDAxLDB4QzMsMHhCQSwweEQwLDB4MDAsMHhCQiwweDAzLDB4MDMsMHg4QSwweDhFLDB4OUYsMHgwMCwweEVDLDB4OEEsMHhFOCwweDMyLAotMHhDMSwweDIyLDB4QzMsMHg3NSwweDAyLDB4RjgsMHhDMywweEY5LDB4QzMsMHg5MCwweDMzLDB4QzAsMHg4RSwweEQ4LDB4OEUsMHhDMCwKLTB4ODAsMHgzRSwweEM4LDB4MTMsMHgwMCwweDc1LDB4MDcsMHhCMCwweDBBLDB4RTgsMHgyNiwweDQ3LDB4RUIsMHhGMiwweEZCLDB4MzMsCi0weERCLDB4OEEsMHgxRSwweEM5LDB4MTMsMHg0MywweDQzLDB4ODMsMHhGQiwweDdFLDB4NzYsMHgwNywweDMzLDB4REIsMHhCMCwweDAyLAotMHhFOCwweDBGLDB4NDcsMHgyRSwweDhCLDB4QUYsMHg0NCwweDAwLDB4ODMsMHg3RSwweDA4LDB4MDAsMHg3NCwweEU3LDB4ODgsMHgxRSwKLTB4QzksMHgxMywweEIwLDB4MDIsMHhFOCwweEZCLDB4NDYsMHhGQSwweEY3LDB4NDYsMHgzOCwweDQwLDB4MDAsMHg3NCwweDE0LDB4RTgsCi0weDk2LDB4MUIsMHhFOCwweDdGLDB4RkYsMHg3MiwweDFDLDB4MzMsMHhEMiwweDhBLDB4OTYsMHg5RiwweDAwLDB4ODMsMHhDMiwweDBFLAotMHhFQiwweDBDLDB4OTAsMHhFOCwweDc3LDB4MUIsMHhFOCwweDgzLDB4RkYsMHg3MiwweDA4LDB4QkEsMHg0OCwweDAwLDB4RTgsMHgzMywKLTB4RkYsMHg3MywweEFCLDB4MjMsMHhDQiwweDg5LDB4OEUsMHg5QSwweDAwLDB4ODksMHg5NiwweDlDLDB4MDAsMHhGRSwweDg2LDB4QjUsCi0weDAwLDB4QzYsMHgwNiwweEM4LDB4MTMsMHgwMCwweEIwLDB4MEEsMHhFOCwweDY3LDB4MEEsMHhGQiwweEVCLDB4ODksMHgxMCwweDE4LAotMHgwOCwweDI4LDB4MzMsMHhDMCwweEEwLDB4MDUsMHgwMSwweDhBLDB4QzgsMHgyNCwweDQwLDB4NzUsMHgyNCwweEM3LDB4MDYsMHg3QywKLTB4MTIsMHg4RSwweDQ1LDB4QzcsMHgwNiwweDQyLDB4MTIsMHgwMSwweDAwLDB4QzYsMHgwNiwweDU0LDB4MTIsMHgwMiwweEIwLDB4MDgsCi0weEY2LDB4QzEsMHgwMSwweDc0LDB4MDIsMHhCMCwweDA0LDB4QTMsMHg0NiwweDEyLDB4QTIsMHg0QywweDEyLDB4QTIsMHg5NCwweDEyLAotMHhDMywweEM3LDB4MDYsMHg3QywweDEyLDB4QjYsMHg0NSwweEEwLDB4MEYsMHgwMSwweDg0LDB4QzAsMHg3NSwweDBFLDB4NkEsMHgwMCwKLTB4MUYsMHhDNiwweDA2LDB4OTMsMHgxMiwweDFFLDB4OUMsMHgwRSwweEU4LDB4QjEsMHgwQywweDkwLDB4QzcsMHgwNiwweDQ0LDB4MTIsCi0weDAxLDB4MDAsMHhBMywweDQyLDB4MTIsMHg4QiwweEQ4LDB4QzEsMHhFMywweDA0LDB4ODgsMHgxRSwweDk0LDB4MTIsMHhCRSwweEUyLAotMHgwNSwweDJCLDB4RjAsMHg4QiwweEM4LDB4MzMsMHhEQiwweDhCLDB4RkIsMHgyRSwweEFDLDB4ODgsMHg4NSwweDQ4LDB4MTIsMHg4QSwKLTB4RDgsMHgwQywweDA1LDB4RTYsMHhGRSwweDhBLDB4RTAsMHhFQiwweDAwLDB4RTQsMHhGRSwweDMyLDB4QzQsMHhBOCwweDNGLDB4NzQsCi0weDAzLDB4RTksMHg5RSwweDAwLDB4RTQsMHgwMCwweDg4LDB4ODUsMHg1MCwweDEyLDB4OEEsMHhFMCwweDI0LDB4MzAsMHhCQSwweDEwLAotMHhGRiwweDNDLDB4MzAsMHg3NCwweDEyLDB4ODAsMHhGQywweDA0LDB4NzQsMHgwQSwweEJBLDB4MDQsMHgwMywweEY2LDB4MDYsMHgwOCwKLTB4MDEsMHhGRSwweDc0LDB4MDMsMHhCQSwweDA4LDB4MEYsMHg4OCwweDk1LDB4NEMsMHgxMiwweDAyLDB4RkEsMHgzMiwweEMwLDB4RjYsCi0weEM0LDB4MDgsMHg3NCwweDAyLDB4QjAsMHgwMSwweDg4LDB4ODUsMHg1OCwweDEyLDB4OEEsMHhDNCwweDNDLDB4MzUsMHg3NCwweDVCLAotMHgzQywweDM2LDB4NzQsMHg1NywweDNDLDB4MzQsMHg3NCwweDUzLDB4M0MsMHgwNCwweDc0LDB4NEYsMHgzQywweDE0LDB4NzQsMHg0QiwKLTB4M0MsMHgxNSwweDc0LDB4NDcsMHhBOCwweDQwLDB4NzQsMHgyNSwweEM2LDB4ODUsMHg1NCwweDEyLDB4MDQsMHhEMSwweEU3LDB4QjQsCi0weDAzLDB4OEEsMHhDMywweDg5LDB4ODUsMHg1QywweDEyLDB4OEEsMHhDMywweDhBLDB4RTMsMHg4MCwweENDLDB4MDEsMHg4OSwweDg1LAotMHg2NCwweDEyLDB4RDEsMHhFRiwweDQ3LDB4RTIsMHgwMywweEVCLDB4MUEsMHg5MCwweEU5LDB4NkMsMHhGRiwweEM2LDB4ODUsMHg1NCwKLTB4MTIsMHgwMiwweEQxLDB4RTcsMHg4QSwweEU2LDB4OEEsMHhDMywweDBDLDB4MDQsMHg4OSwweDg1LDB4NUMsMHgxMiwweEQxLDB4RUYsCi0weDQ3LDB4RTIsMHhFNywweDMzLDB4QzAsMHg4QSwweEM3LDB4QTMsMHg0NiwweDEyLDB4QzMsMHhDNiwweDg1LDB4NTQsMHgxMiwweDA2LAotMHhFQiwweEJCLDB4QzYsMHg4NSwweDU0LDB4MTIsMHgwMCwweDMzLDB4QzAsMHg4OCwweDg1LDB4NTAsMHgxMiwweDg4LDB4ODUsMHg0QywKLTB4MTIsMHg4OCwweDg1LDB4NTgsMHgxMiwweEVCLDB4QTYsMHhDNywweDQ2LDB4MjYsMHgwMiwweDEyLDB4OEIsMHg0NiwweDFFLDB4ODksCi0weDQ2LDB4MDAsMHg4OSwweDQ2LDB4MjIsMHg4QiwweDQ2LDB4MjAsMHg4OSwweDQ2LDB4MjQsMHhDNywweDQ2LDB4MUEsMHgwMCwweDAwLAotMHhDMywweEM3LDB4NDYsMHgzQywweDgwLDB4MDAsMHhDNywweDQ2LDB4MzgsMHgwMSwweDAwLDB4MUUsMHg1NiwweDhCLDB4NzYsMHgzMCwKLTB4ODksMHg3NiwweDA0LDB4ODksMHg3NiwweDE0LDB4OEUsMHg1RSwweDA2LDB4MzMsMHhDMCwweDg5LDB4MDQsMHg0NiwweDQ2LDB4ODksCi0weDc2LDB4MkMsMHg4OSwweDQ2LDB4M0EsMHg4QiwweDQ2LDB4MzIsMHg0OCwweDQ4LDB4ODksMHg0NiwweDJFLDB4NUUsMHgxRiwweEMzLAotMHgzMywweEMwLDB4ODksMHg0NiwweDQ4LDB4ODksMHg0NiwweDRBLDB4QzcsMHg0NiwweDQ2LDB4QUUsMHgwMSwweDg5LDB4NDYsMHg0RSwKLTB4OEIsMHg0NiwweDQ0LDB4ODksMHg0NiwweDUwLDB4OEIsMHg0NiwweDQyLDB4ODksMHg0NiwweDQwLDB4ODksMHg0NiwweDA4LDB4QzMsCi0weDMzLDB4QzAsMHg4OSwweDQ2LDB4NzYsMHg4OSwweDQ2LDB4NzgsMHhDNywweDQ2LDB4N0EsMHgxMCwweDAwLDB4NTYsMHgxRSwweDhCLAotMHg3NiwweDcwLDB4ODksMHg3NiwweDEwLDB4ODksMHg3NiwweDBDLDB4OEUsMHg1RSwweDEyLDB4QzcsMHgwNCwweDAwLDB4MDAsMHg4QiwKLTB4NDYsMHg3MiwweDg5LDB4NDYsMHg3NCwweDFGLDB4NUUsMHhDMywweDg5LDB4NTYsMHgxOCwweDg5LDB4NTYsMHgwMiwweDg5LDB4NTYsCi0weDA2LDB4ODksMHg1NiwweDBBLDB4ODksMHg1NiwweDBFLDB4ODksMHg1NiwweDEyLDB4ODksMHg1NiwweDE2LDB4OEIsMHhEOCwweDRCLAotMHg0QiwweEMxLDB4RTMsMHgwMiwweEJGLDB4MDIsMHgwMCwweDg5LDB4N0UsMHgxRSwweDAzLDB4RkIsMHg4OSwweDdFLDB4MzAsMHgwMywKLTB4RkIsMHg4OSwweDdFLDB4NDIsMHgwMywweEZCLDB4ODksMHg3RSwweDcwLDB4ODMsMHhFQiwweDA4LDB4ODksMHg1RSwweDIwLDB4ODksCi0weDVFLDB4MzIsMHg4OSwweDVFLDB4NDQsMHg4OSwweDVFLDB4NzIsMHg1MCwweEU4LDB4MkIsMHhGRiwweEU4LDB4NzEsMHhGRiwweEU4LAotMHgzRiwweEZGLDB4RTgsMHg4QiwweEZGLDB4NTgsMHhDMywweEI4LDB4MzAsMHg3NSwweEMxLDB4RTgsMHgwNCwweDBFLDB4NUIsMHgwMywKLTB4QzMsMHhBMywweEJBLDB4MTMsMHg4MywweDNFLDB4NDIsMHgxMiwweDAwLDB4NzQsMHgwNywweDgwLDB4M0UsMHg5NCwweDEyLDB4MDAsCi0weDc1LDB4MEUsMHg2QSwweDAwLDB4MUYsMHhDNiwweDA2LDB4OTMsMHgxMiwweDFFLDB4OUMsMHgwRSwweEU4LDB4QkQsMHgwQSwweDkwLAotMHhCOCwweDMwLDB4N0EsMHhDMSwweEU4LDB4MDQsMHg0MCwweEEzLDB4QzAsMHgxMywweDJCLDB4MDYsMHgxMiwweDAxLDB4RjcsMHhEOCwKLTB4MzMsMHhEMiwweDhCLDB4Q0EsMHg4QSwweDBFLDB4OTQsMHgxMiwweEY3LDB4RjEsMHgzRCwweDgwLDB4MDAsMHg3NywweDBFLDB4NkEsCi0weDAwLDB4MUYsMHhDNiwweDA2LDB4OTMsMHgxMiwweDI1LDB4OUMsMHgwRSwweEU4LDB4OTAsMHgwQSwweDkwLDB4NDgsMHgzRCwweEZGLAotMHgwNywweDcyLDB4MDMsMHhCOCwweEZGLDB4MDcsMHhBMywweEMyLDB4MTMsMHgzMywweEM5LDB4OEEsMHgwRSwweDk0LDB4MTIsMHgzMywKLTB4RjYsMHhCOCwweDAwLDB4MDksMHgyRSwweDhCLDB4QUMsMHg0NCwweDAwLDB4ODksMHg0NiwweDRDLDB4NDAsMHg0NiwweDQ2LDB4RTIsCi0weEYzLDB4OEEsMHgwRSwweDk0LDB4MTIsMHgzMywweEY2LDB4OEIsMHgxNiwweEMwLDB4MTMsMHhBMSwweEMyLDB4MTMsMHgyRSwweDhCLAotMHhBQywweDQ0LDB4MDAsMHhFOCwweDIyLDB4RkYsMHgwMywweEQwLDB4NDYsMHg0NiwweEUyLDB4RjIsMHhDMywweDMzLDB4QzAsMHgyRSwKLTB4OEIsMHhBRCwweDQ0LDB4MDAsMHg4OSwweDQ2LDB4MDgsMHg0NywweDQ3LDB4RTIsMHhGNCwweEMzLDB4NTEsMHgzMywweEMwLDB4MEEsCi0weEMyLDB4MkUsMHg4QiwweEFELDB4NDQsMHgwMCwweDg5LDB4ODYsMHg5RSwweDAwLDB4ODEsMHg0RSwweDM4LDB4MDAsMHgyMCwweDQ3LAotMHg0NywweEZFLDB4QzQsMHg4MCwweEZDLDB4MDQsMHg3MiwweDA0LDB4MzIsMHhFNCwweEZFLDB4QzAsMHhFMiwweEUzLDB4NTksMHg4MywKLTB4RTksMHgxMCwweDc0LDB4MDUsMHhGNywweEQ5LDB4RTgsMHhDNCwweEZGLDB4QzMsMHg1MSwweDMzLDB4QzAsMHgwQSwweEMyLDB4MkUsCi0weDhCLDB4QUQsMHg0NCwweDAwLDB4ODksMHg4NiwweDlFLDB4MDAsMHg4MywweDRFLDB4MzgsMHg0MCwweDQ3LDB4NDcsMHg4MCwweEM0LAotMHgxMCwweDc5LDB4MDQsMHgzMiwweEU0LDB4RkUsMHhDMCwweEUyLDB4RTYsMHg1OSwweDgzLDB4RTksMHgxMCwweDc0LDB4MDUsMHhGNywKLTB4RDksMHhFOCwweDk5LDB4RkYsMHhDMywweEU4LDB4RDIsMHhGRiwweEMzLDB4OEQsMHgwOCwweDlDLDB4MDgsMHhDQSwweDA4LDB4RjUsCi0weDA4LDB4OEIsMHgwRSwweDQyLDB4MTIsMHgzMywweEY2LDB4NTEsMHg1NiwweDMzLDB4REIsMHg4QiwweENCLDB4OEEsMHg5NCwweDQ4LAotMHgxMiwweDhBLDB4OEMsMHg0QywweDEyLDB4OEEsMHg5QywweDU0LDB4MTIsMHg4QiwweEZFLDB4QzEsMHhFNywweDA1LDB4ODUsMHhEQiwKLTB4NzUsMHgwMiwweEIxLDB4MTAsMHgyRSwweEZGLDB4OTcsMHhGOSwweDA4LDB4NUUsMHg1OSwweDQ2LDB4RTIsMHhEOSwweEMzLDB4MDEsCi0weENDLDB4MDMsMHhEMCwweDAwLDB4RTgsMHgwMiwweEQwLDB4MDAsMHhFOCwweDAxLDB4RDAsMHgwMCwweEU4LDB4MDAsMHhEMCwweDAwLAotMHhFOCwweDA0LDB4RDAsMHhBOCwweERBLDB4MDAsMHhEQywweDAwLDB4REUsMHgwMSwweEQ4LDB4MDMsMHhDQywweDAzLDB4Q0MsMHgwMywKLTB4Q0MsMHgwNCwweEQwLDB4QTgsMHhEQSwweDIwLDB4REMsMHgwMCwweERFLDB4MDMsMHhDQywweDAzLDB4Q0MsMHgwMywweENDLDB4MDAsCi0weEQ4LDB4MDMsMHhDQywweDAzLDB4Q0MsMHgwMywweENDLDB4MDMsMHhDQywweDAzLDB4Q0MsMHgwMywweENDLDB4MDMsMHhDQywweDAzLAotMHhDQywweDAzLDB4Q0MsMHgwMywweENDLDB4MDMsMHhDQywweDAzLDB4Q0MsMHgwMywweENDLDB4MDMsMHhDQywweDAzLDB4Q0MsMHgwMywKLTB4Q0MsMHgwNCwweEQwLDB4MDAsMHhEQSwweDIwLDB4REMsMHgwMywweERFLDB4MDEsMHhEOCwweDAzLDB4Q0MsMHgwMywweENDLDB4MDMsCi0weENDLDB4MDMsMHhDQywweDAwLDB4RDgsMHgwMCwweENDLDB4MDAsMHhEMCwweDAwLDB4MDAsMHg1NiwweDUyLDB4MUUsMHgwRSwweDFGLAotMHhCRSwweDJGLDB4MDksMHgzMywweEQyLDB4RkMsMHhBRCwweDg1LDB4QzAsMHg3NCwweDBELDB4OEEsMHhENCwweEVFLDB4QUQsMHg4NSwKLTB4QzAsMHg3NCwweDA1LDB4OEEsMHhENCwweEVFLDB4RUIsMHhFRSwweDFGLDB4NUEsMHg1RSwweEMzLDB4RTQsMHg4MCwweDg0LDB4QzAsCi0weDc0LDB4MTYsMHg3OCwweDE0LDB4QjAsMHgyNywweEU2LDB4RkMsMHhCMCwweDExLDB4RTYsMHgzNCwweEU0LDB4RkMsMHgzQywweDI3LAotMHg3NSwweDA2LDB4RTQsMHgxMSwweDc1LDB4MDIsMHhGOCwweEMzLDB4RjksMHhDMywweDgzLDB4QzIsMHgwNiwweEIwLDB4QkYsMHhFRSwKLTB4ODMsMHhFQSwweDAyLDB4QjAsMHgxMCwweEVFLDB4ODgsMHg4NiwweEFGLDB4MDAsMHhCMCwweDExLDB4ODMsMHhDMiwweDA0LDB4RUUsCi0weDgzLDB4QzIsMHgwMiwweEVFLDB4QjAsMHgxMywweDgzLDB4QzIsMHgwMiwweEVFLDB4ODMsMHhDMiwweDAyLDB4RUUsMHgyRSwweEExLAotMHg0QywweDJELDB4ODksMHg4NiwweDk0LDB4MDAsMHg4MywweEVBLDB4MEUsMHhFRSwweDgzLDB4QzIsMHgwMiwweDhBLDB4QzQsMHhFRSwKLTB4ODMsMHhDMiwweDA0LDB4QjAsMHgwMywweEVFLDB4ODgsMHg4NiwweEE4LDB4MDAsMHg4MywweEVBLDB4MDQsMHgzMiwweEMwLDB4RUUsCi0weDgzLDB4QzIsMHgwMiwweEIwLDB4ODksMHhFRSwweDg4LDB4ODYsMHhBNiwweDAwLDB4MEMsMHgwNiwweEVFLDB4QjAsMHg0MCwweEI0LAotMHgzOCwweDg5LDB4NDYsMHgxQywweEM3LDB4NDYsMHgzNiwweDM4LDB4MDAsMHg4MywweEMyLDB4MDQsMHgzMiwweEMwLDB4RUUsMHg4OCwKLTB4ODYsMHhBNywweDAwLDB4QzMsMHg4MywweEMyLDB4MDYsMHhCMCwweEJGLDB4RUUsMHg4MywweEVBLDB4MDIsMHhFQywweDNBLDB4ODYsCi0weEFGLDB4MDAsMHg3NSwweDI0LDB4ODMsMHhDMiwweDA0LDB4RUMsMHgzQywweDExLDB4NzUsMHgxQywweDgzLDB4QzIsMHgwNiwweEVDLAotMHgzQywweDEzLDB4NzUsMHgxNCwweDgzLDB4RUEsMHgwOCwweDhBLDB4ODYsMHhBOCwweDAwLDB4RUUsMHg4MywweEVBLDB4MDIsMHhFQywKLTB4MjQsMHhDMCwweDNDLDB4QzAsMHg3NSwweDAyLDB4RjgsMHhDMywweEY5LDB4QzMsMHgzMywweEM5LDB4OEIsMHhEMSwweDhCLDB4RjEsCi0weDhBLDB4MEUsMHg5NCwweDEyLDB4QzEsMHhFOSwweDAyLDB4MkUsMHg4QiwweEFDLDB4NDQsMHgwMCwweEY3LDB4NDYsMHgzOCwweDAwLAotMHgyMCwweDc0LDB4MEUsMHg4QSwweDg2LDB4OUUsMHgwMCwweEU2LDB4RkUsMHgzMiwweEMwLDB4RTYsMHg4MCwweDQyLDB4RTgsMHhGQSwKLTB4RkUsMHg4MywweEM2LDB4MDgsMHhFMiwweEUxLDB4ODUsMHhEMiwweDc0LDB4MDMsMHhFOCwweDA1LDB4MDgsMHhDMywweDMzLDB4QzksCi0weDhCLDB4RjEsMHg4QSwweDBFLDB4OTQsMHgxMiwweDJFLDB4OEIsMHhBQywweDQ0LDB4MDAsMHhGNywweDQ2LDB4MzgsMHg0MCwweDAwLAotMHg3NCwweDA2LDB4RTgsMHg3MywweDE2LDB4RTgsMHgxMiwweEZGLDB4NDYsMHg0NiwweEUyLDB4RUEsMHhDMywweDMzLDB4QzksMHg4QiwKLTB4RjEsMHg4QSwweDBFLDB4OTQsMHgxMiwweEMxLDB4RTksMHgwMiwweDJFLDB4OEIsMHhBQywweDQ0LDB4MDAsMHhGNywweDQ2LDB4MzgsCi0weDAwLDB4MjAsMHg3NCwweDE2LDB4RTgsMHg0NiwweDE2LDB4RTgsMHhEMiwweEZFLDB4NzMsMHgwRSwweDZBLDB4MDAsMHgxRiwweEM2LAotMHgwNiwweDkzLDB4MTIsMHgxQywweDlDLDB4MEUsMHhFOCwweEUzLDB4MDcsMHg5MCwweDgzLDB4QzYsMHgwOCwweEUyLDB4RDksMHhDMywKLTB4MzMsMHhDOSwweDhCLDB4RjEsMHg4QSwweDBFLDB4OTQsMHgxMiwweDJFLDB4OEIsMHhBQywweDQ0LDB4MDAsMHhGNywweDQ2LDB4MzgsCi0weDQwLDB4MDAsMHg3NCwweDE2LDB4RTgsMHgyMSwweDE2LDB4RTgsMHgyQSwweEZGLDB4NzMsMHgwRSwweDZBLDB4MDAsMHgxRiwweEM2LAotMHgwNiwweDkzLDB4MTIsMHgxQywweDlDLDB4MEUsMHhFOCwweEIzLDB4MDcsMHg5MCwweDQ2LDB4NDYsMHhFMiwweERBLDB4QzMsMHgwQywKLTB4MDAsMHgwMCwweDEwLDB4MDAsMHgxMywweDEyLDB4MDAsMHgwMCwweDE0LDB4MDAsMHgyOCwweDNDLDB4MDAsMHgxQiwweDNFLDB4MDAsCi0weDAwLDB4MkEsMHgwMCwweDAwLDB4MkMsMHgwMCwweDAwLDB4NDIsMHgwMCwweDE0LDB4RDgsMHgwMCwweDAwLDB4REEsMHgwMCwweDAwLAotMHgzNCwweDAwLDB4MTEsMHgzNiwweDAwLDB4MTMsMHgzOCwweDAwLDB4MTEsMHgzQSwweDAwLDB4MTMsMHgwMCwweDAwLDB4NTYsMHg1MCwKLTB4NTIsMHhCRSwweDJGLDB4MEIsMHgyRSwweEFELDB4ODUsMHhDMCwweDc0LDB4MDYsMHg5MiwweDJFLDB4QUMsMHhFRSwweEVCLDB4RjQsCi0weDVBLDB4NTgsMHg1RSwweEMzLDB4NTMsMHgyRSwweEExLDB4NjAsMHgyMiwweEU2LDB4RTQsMHhFNiwweEYwLDB4OEEsMHhDNCwweEU2LAotMHhFQywweEU2LDB4RjgsMHhFOCwweEQ4LDB4RkYsMHhCMCwweDRCLDB4RTYsMHgxMCwweEIwLDB4NTAsMHhFNiwweDEyLDB4QjAsMHgzOCwKLTB4RTYsMHgxNCwweEU4LDB4QUUsMHgxNSwweEIwLDB4NDYsMHhFNiwweDBBLDB4RTgsMHhBNywweDE1LDB4QjAsMHgxQSwweEU2LDB4MEEsCi0weEU4LDB4QTAsMHgxNSwweEIwLDB4MjIsMHhFNiwweDBBLDB4RTgsMHg5OSwweDE1LDB4RTgsMHhGRCwweDA2LDB4OEIsMHhEOCwweEU0LAotMHgxNiwweEE4LDB4MDQsMHg3NSwweDE4LDB4RTgsMHhGMiwweDA2LDB4MkIsMHhDMywweDNELDB4MzIsMHgwMCwweDcyLDB4RjAsMHg2QSwKLTB4MDAsMHgxRiwweEM2LDB4MDYsMHg5MywweDEyLDB4MjMsMHg5QywweDBFLDB4RTgsMHgxMCwweDA3LDB4OTAsMHhFOCwweERBLDB4MDYsCi0weDJCLDB4QzMsMHgzRCwweDI0LDB4MDAsMHg3NywweDFCLDB4QjAsMHgzMSwweEU2LDB4RkMsMHg1NiwweDUxLDB4NTUsMHhCOSwweDEwLAotMHgwMCwweDJFLDB4OEIsMHhBQywweDQ0LDB4MDAsMHg4MSwweDRFLDB4MzgsMHg4MCwweDAwLDB4NDYsMHg0NiwweEUyLDB4RjIsMHg1RCwKLTB4NTksMHg1RSwweEU4LDB4NjksMHhGRiwweEU4LDB4NEIsMHgxNSwweEIwLDB4NDYsMHhFNiwweDBBLDB4RTgsMHg0NCwweDE1LDB4NUIsCi0weEMzLDB4MzMsMHhGNiwweDhCLDB4MEUsMHg0MiwweDEyLDB4MkUsMHg4QiwweEFDLDB4NDQsMHgwMCwweEY3LDB4NDYsMHgzOCwweDAwLAotMHgyMCwweDc0LDB4MDYsMHhFOCwweDE3LDB4MTUsMHhFOCwweDVCLDB4RkYsMHg4MywweEM2LDB4MjAsMHhFMiwweEU5LDB4QzMsMHg4QiwKLTB4QzIsMHgwNSwweDA0LDB4MDAsMHg4OSwweDQ2LDB4MjgsMHgyRSwweEExLDB4NEMsMHgyRCwweDg5LDB4ODYsMHg4RSwweDAwLDB4ODksCi0weDg2LDB4OTAsMHgwMCwweDg5LDB4ODYsMHg5MiwweDAwLDB4QzYsMHg4NiwweEEzLDB4MDAsMHgwQSwweEM2LDB4ODYsMHhDMywweDAwLAotMHgwMywweDUyLDB4ODMsMHhDMiwweDA0LDB4OEEsMHg4NiwweEE2LDB4MDAsMHgwQywweDA2LDB4RUUsMHg1QSwweDgzLDB4QzIsMHgwMiwKLTB4QjAsMHgwNSwweEVFLDB4ODgsMHg4NiwweEE1LDB4MDAsMHhDMywweEU4LDB4MDMsMHhGRiwweEU4LDB4RTUsMHgxNCwweEIwLDB4NDIsCi0weEU2LDB4MEEsMHhGNywweDQ2LDB4MzgsMHg4MCwweDAwLDB4NzQsMHgwNiwweDJFLDB4QTEsMHg5QywweDIyLDB4RUIsMHgwNCwweDJFLAotMHhBMSwweDZDLDB4MjIsMHhDNywweDQ2LDB4MUMsMHgwQywweDAwLDB4ODksMHg4NiwweDk0LDB4MDAsMHg4OSwweDg2LDB4OTYsMHgwMCwKLTB4ODksMHg4NiwweDhFLDB4MDAsMHg4OSwweDg2LDB4OTAsMHgwMCwweDg5LDB4ODYsMHg5MiwweDAwLDB4RTYsMHhGMCwweEU2LDB4RTQsCi0weDhBLDB4QzQsMHhFNiwweEY4LDB4RTYsMHhFQywweEM2LDB4ODYsMHhDMywweDAwLDB4MDMsMHhFOCwweEE1LDB4MTQsMHhCMCwweDFBLAotMHhFNiwweDBBLDB4QjAsMHgxMCwweDg4LDB4ODYsMHhBNSwweDAwLDB4RTYsMHgwQywweEMzLDB4MzMsMHhDOSwweDhCLDB4RjEsMHg4QSwKLTB4MEUsMHg5NCwweDEyLDB4MkUsMHg4QiwweEFDLDB4NDQsMHgwMCwweEY3LDB4NDYsMHgzOCwweDQwLDB4MDAsMHg3NCwweDA2LDB4RTgsCi0weDc2LDB4MTQsMHhFOCwweDVBLDB4RkYsMHg0NiwweDQ2LDB4RTIsMHhFQSwweEMzLDB4MzMsMHhDOSwweDhCLDB4RjEsMHg4QSwweDBFLAotMHg5NCwweDEyLDB4MkUsMHg4QiwweEFDLDB4NDQsMHgwMCwweEY3LDB4NDYsMHgzOCwweDAwLDB4MjAsMHg3NCwweDA2LDB4RTgsMHg0QywKLTB4MTQsMHhFOCwweDc0LDB4RkYsMHg0NiwweDQ2LDB4RTIsMHhFQSwweEMzLDB4OTAsMHg4MywweDNFLDB4NDQsMHgxMiwweDAwLDB4NzUsCi0weDE0LDB4QjAsMHgwMSwweEJBLDB4MDYsMHgwMSwweEVFLDB4MkEsMHhDMCwweEVFLDB4QjAsMHgwMiwweEVFLDB4QjAsMHgwNCwweEVFLAotMHhCOCwweDAwLDB4MDIsMHhFQiwweDBGLDB4QkEsMHgwNiwweDAxLDB4QjAsMHg0MCwweEVFLDB4QjgsMHgwMSwweDAwLDB4OEEsMHgwRSwKLTB4MEUsMHgwMSwweEQzLDB4RTAsMHhBMywweDg4LDB4MTIsMHhDMywweEExLDB4ODgsMHgxMiwweEEzLDB4ODQsMHgxMiwweDJELDB4MjAsCi0weDAwLDB4QTMsMHg4QSwweDEyLDB4MkQsMHgyMCwweDAwLDB4QTMsMHg4MiwweDEyLDB4QzcsMHgwNiwweDg2LDB4MTIsMHgyMCwweDAwLAotMHhDNywweDA2LDB4ODAsMHgxMiwweDMyLDB4MDAsMHhDMywweDgzLDB4M0UsMHg0NCwweDEyLDB4MDAsMHg3NCwweDc2LDB4OEIsMHgwRSwKLTB4NDIsMHgxMiwweDMzLDB4RjYsMHg4QSwweEE0LDB4NTQsMHgxMiwweDg0LDB4RTQsMHg3NCwweDVGLDB4OEEsMHg4NCwweDQ4LDB4MTIsCi0weDBDLDB4MDQsMHhFNiwweEZFLDB4RjYsMHhDNCwweDA0LDB4NzQsMHgyNSwweEIwLDB4MUIsMHhCQSwweDAwLDB4MDAsMHhFRSwweEVCLAotMHgwMCwweDJBLDB4QzAsMHhCQSwweDAyLDB4MDAsMHhFRSwweEVCLDB4MDAsMHhCMCwweDAzLDB4RUUsMHhFQiwweDAwLDB4MzIsMHhDMCwKLTB4QkEsMHgwMiwweDAwLDB4RUUsMHhFQiwweDAwLDB4QkEsMHgwMCwweDAwLDB4QjAsMHgwMCwweEVFLDB4RUIsMHgyRCwweEIwLDB4MUYsCi0weEJBLDB4MDAsMHgwMCwweEVFLDB4RUIsMHgwMCwweDJBLDB4QzAsMHhCQSwweDAyLDB4MDAsMHhFRSwweEVCLDB4MDAsMHhCMCwweDAzLAotMHhFRSwweEVCLDB4MDAsMHhEMSwweEU2LDB4OEEsMHg4NCwweDVELDB4MTIsMHhEMSwweEVFLDB4RjYsMHhEMCwweEJBLDB4MDIsMHgwMCwKLTB4RUUsMHhFQiwweDAwLDB4QkEsMHgwMCwweDAwLDB4QjAsMHgwQSwweEVFLDB4RUIsMHgwMCwweEU0LDB4MDQsMHhFQiwweDAwLDB4RTQsCi0weDA0LDB4NDYsMHhFMiwweDkwLDB4QzMsMHg5MCwweEI4LDB4MTQsMHgwMCwweEJBLDB4M0UsMHhGRiwweEVGLDB4QjgsMHgwNiwweDAwLAotMHhCQSwweDMyLDB4RkYsMHhFRiwweEI4LDB4MEYsMHgwMCwweEJBLDB4MzQsMHhGRiwweEVGLDB4QkEsMHgzNiwweEZGLDB4RUYsMHg4MywKLTB4M0UsMHg0NCwweDEyLDB4MDAsMHg3NSwweDE2LDB4QjgsMHgxMSwweDAwLDB4QkEsMHgzOCwweEZGLDB4RUYsMHhCOCwweDEyLDB4MDAsCi0weEJBLDB4M0EsMHhGRiwweEVGLDB4QjgsMHgxQiwweDAwLDB4QkEsMHgzQywweEZGLDB4RUYsMHhDMywweEI4LDB4MTEsMHgwMCwweEJBLAotMHgzOCwweEZGLDB4RUYsMHhCOCwweDEyLDB4MDAsMHhCQSwweDNBLDB4RkYsMHhFRiwweEI4LDB4MUIsMHgwMCwweEJBLDB4M0MsMHhGRiwKLTB4RUYsMHhDMywweEI4LDB4RkMsMHgwMCwweEJBLDB4MjgsMHhGRiwweEVGLDB4RkIsMHg4MywweDNFLDB4NDQsMHgxMiwweDAwLDB4NzQsCi0weDA3LDB4QjgsMHhDQywweDAwLDB4QkEsMHgyOCwweEZGLDB4RUYsMHhDMywweDAwLDB4RkYsMHhGRiwweDIwLDB4MjQsMHgyOCwweEZGLAotMHgyQywweEZGLDB4RkYsMHgzMCwweDM0LDB4MzgsMHhGRiwweEZGLDB4M0MsMHg5MCwweDNDLDB4MEYsMHg3NywweDBFLDB4QkIsMHgxOSwKLTB4MEUsMHgyRSwweEQ3LDB4M0MsMHhGRiwweDc0LDB4MDUsMHg4QSwweEQ4LDB4RjgsMHhDMywweDkwLDB4MkEsMHhEQiwweEY5LDB4QzMsCi0weDgzLDB4M0UsMHg0NCwweDEyLDB4MDAsMHg3NCwweDI3LDB4QTAsMHgwNiwweDAxLDB4ODAsMHgyNiwweDA2LDB4MDEsMHgzMCwweDgwLAotMHgzRSwweDA2LDB4MDEsMHgzMCwweDc1LDB4MTgsMHhCOSwweDAyLDB4MDAsMHhCRiwweEM0LDB4MTMsMHhCQSwweDA2LDB4MDEsMHhFQywKLTB4QTgsMHgyMCwweDc1LDB4RjgsMHhCQSwweDA0LDB4MDEsMHhFRCwweEFCLDB4RTIsMHhGMSwweEVCLDB4MTYsMHg5MCwweEI5LDB4MDQsCi0weDAwLDB4QkYsMHhDNCwweDEzLDB4QkEsMHgwNiwweDAxLDB4RUMsMHhBOCwweDIwLDB4NzUsMHhGOCwweEJBLDB4MDQsMHgwMSwweEVDLAotMHhBQSwweEUyLDB4RjEsMHhGQSwweDkwLDB4QkUsMHhDNCwweDEzLDB4QUQsMHg4MCwweEU0LDB4M0YsMHg4MCwweEZDLDB4MDIsMHg3NCwKLTB4MEUsMHg2QSwweDAwLDB4MUYsMHhDNiwweDA2LDB4OTMsMHgxMiwweDBBLDB4OUMsMHgwRSwweEU4LDB4M0UsMHgwNCwweDkwLDB4QUQsCi0weDNDLDB4MEYsMHg3NSwweEVELDB4OEEsMHhDNCwweEU4LDB4ODEsMHhGRiwweDcyLDB4RTYsMHg4OCwweDFFLDB4MUEsMHgwMSwweEM2LAotMHgwNiwweDhFLDB4MTIsMHgwMCwweEIwLDB4MDAsMHgwQSwweDA2LDB4MUEsMHgwMSwweEJBLDB4MDAsMHgwMSwweEVFLDB4QzYsMHgwNiwKLTB4OEYsMHgxMiwweDQwLDB4ODMsMHgzRSwweDQ0LDB4MTIsMHgwMCwweDc1LDB4MDYsMHhCOCwweDBDLDB4MDAsMHhFQiwweDA0LDB4OTAsCi0weEI4LDB4NEMsMHgwMCwweEJBLDB4MjgsMHhGRiwweEVGLDB4QzMsMHg4MywweDNFLDB4NDQsMHgxMiwweDAwLDB4NzUsMHgwMSwweEMzLAotMHhBMSwweDUwLDB4MTIsMHgwQiwweDA2LDB4NTIsMHgxMiwweDBBLDB4QzQsMHhBOCwweDA4LDB4NzQsMHhGMiwweEEwLDB4MEYsMHgwMSwKLTB4MkEsMHhFNCwweDUwLDB4RkYsMHgzNiwweEJBLDB4MTMsMHgxRiwweEU4LDB4NTAsMHg1NiwweDgzLDB4QzQsMHgwMiwweDZBLDB4MDAsCi0weDFGLDB4MzMsMHhDMCwweEEzLDB4QkMsMHgxMywweEEwLDB4MEYsMHgwMSwweEEzLDB4QkUsMHgxMywweDhCLDB4MUUsMHhCQywweDEzLAotMHg4QSwweDg3LDB4NTAsMHgxMiwweEY2LDB4ODcsMHg1MCwweDEyLDB4MDgsMHg3NCwweDBELDB4MjQsMHgwNywweDhBLDB4RTAsMHhCRSwKLTB4Q0MsMHgwMCwweEEwLDB4QkMsMHgxMywweEU4LDB4OTQsMHgzRCwweEZGLDB4MDYsMHhCQywweDEzLDB4RkYsMHgwRSwweEJFLDB4MTMsCi0weDc1LDB4REEsMHhDMywweDkwLDB4MUUsMHgzMywweEMwLDB4OEUsMHhEOCwweEIwLDB4MDEsMHhFOCwweDU0LDB4M0QsMHgxRiwweEMzLAotMHgzMywweEM5LDB4OEIsMHhGMSwweDhBLDB4MEUsMHg5NCwweDEyLDB4MkUsMHg4QiwweEFDLDB4NDQsMHgwMCwweEM3LDB4NDYsMHg2MiwKLTB4MzgsMHg0NCwweEM3LDB4NDYsMHg3QywweEZDLDB4M0IsMHhDNywweDQ2LDB4N0UsMHhFMiwweDNCLDB4QzcsMHg4NiwweDgwLDB4MDAsCi0weEVDLDB4M0MsMHhFOCwweEFCLDB4MTYsMHhDNiwweDg2LDB4QzAsMHgwMCwweDExLDB4ODMsMHg3RSwweDA4LDB4MDAsMHg3NCwweDA3LAotMHg1MSwweDU2LDB4RTgsMHgzMywweDMzLDB4NUUsMHg1OSwweDQ2LDB4NDYsMHhFMiwweENELDB4QzMsMHgzMywweEM5LDB4OEIsMHhGMSwKLTB4OEIsMHhGOSwweDhBLDB4MEUsMHg5NCwweDEyLDB4QzEsMHhFOSwweDAyLDB4RTMsMHgxMywweDJFLDB4OEIsMHhBQywweDQ0LDB4MDAsCi0weDhBLDB4ODYsMHg5RSwweDAwLDB4ODgsMHg4NSwweDZDLDB4MTIsMHg4MywweEM2LDB4MDgsMHg0NywweEUyLDB4RUQsMHhDMywweEZBLAotMHhGQywweEIwLDB4QzAsMHhCQSwweDAwLDB4MDEsMHhFRSwweDMzLDB4QzAsMHg4RSwweEQ4LDB4OEUsMHhDMCwweDhFLDB4RDAsMHhCRiwKLTB4MTYsMHgwMSwweEI5LDB4Q0MsMHg3NywweDJCLDB4Q0YsMHhEMSwweEU5LDB4RjMsMHhBQiwweEJDLDB4NDAsMHgxMiwweEU4LDB4RDksCi0weDAyLDB4RTgsMHg3MCwweDNDLDB4QkUsMHhDQywweDBGLDB4RTgsMHhGMiwweDNDLDB4RjQsMHg5MCwweDMzLDB4QzAsMHg4RSwweEQ4LAotMHg4RSwweEMwLDB4OEUsMHhEMCwweEY2LDB4MDYsMHgwQSwweDAxLDB4ODAsMHg3NCwweDBCLDB4QkUsMHgzNSwweDU1LDB4RTgsMHhEQiwKLTB4M0MsMHhCMCwweDAxLDB4RTgsMHhBQywweDNDLDB4RTgsMHhCMywweDAwLDB4RTgsMHhGNiwweEY1LDB4RTgsMHgwOCwweEY4LDB4RTgsCi0weDBGLDB4RjksMHhFOCwweDg1LDB4RkEsMHhFOCwweEI2LDB4RkEsMHhFOCwweEVGLDB4RkMsMHhFOCwweEMyLDB4MTAsMHhFOCwweDAzLAotMHgzQywweEU4LDB4QjIsMHhGRCwweEU4LDB4MzAsMHhGRCwweEU4LDB4NTQsMHgwMiwweEM2LDB4MDYsMHg4RiwweDEyLDB4QzAsMHhFOCwKLTB4QkIsMHhGQSwweEU4LDB4RUIsMHhGQSwweEU4LDB4RTksMHhGQiwweEU4LDB4QUYsMHhGQywweEU4LDB4OEQsMHhGQywweEU4LDB4MUYsCi0weEZGLDB4RTgsMHg1OCwweEZGLDB4RTgsMHhEQiwweEZELDB4RTgsMHgxNiwweEZFLDB4MzMsMHhDMCwweEJFLDB4NUEsMHgwNSwweEU4LAotMHg4QSwweDNDLDB4RTgsMHhBMywweEZFLDB4RTgsMHhFMCwweEZDLDB4RkIsMHhCRSwweEE0LDB4NDQsMHhFOCwweDdELDB4M0MsMHhFOSwKLTB4Q0EsMHgyRCwweDU2LDB4OTgsMHg4QiwweEYwLDB4OEIsMHg0MiwweDUyLDB4ODUsMHhDMCwweDc1LDB4MjcsMHhDNywweDQyLDB4NTIsCi0weDAxLDB4MDAsMHg1MywweDM2LDB4OEIsMHg5QywweDJDLDB4MDEsMHhGNiwweEMzLDB4MDEsMHg3NSwweDBDLDB4MzYsMHg4OSwweDY4LAotMHg1MiwweDM2LDB4ODksMHhBQywweDJDLDB4MDEsMHg1QiwweDVFLDB4QzMsMHgzNiwweDg5LDB4QUMsMHgyQywweDAxLDB4MzYsMHg4OSwKLTB4QUMsMHgxQywweDAxLDB4NUIsMHg1RSwweEMzLDB4NTYsMHg5OCwweDhCLDB4RjAsMHgzMywweEVELDB4MzYsMHg4QiwweDg0LDB4MUMsCi0weDAxLDB4QTgsMHgwMSwweDc1LDB4MTUsMHg4QiwweEU4LDB4MzMsMHhDMCwweDg3LDB4NDIsMHg1MiwweDM2LDB4ODksMHg4NCwweDFDLAotMHgwMSwweEE4LDB4MDEsMHg3NCwweDA1LDB4MzYsMHg4OSwweDg0LDB4MkMsMHgwMSwweDVFLDB4QzMsMHg1NiwweDUxLDB4MzMsMHhGNiwKLTB4QjgsMHgwMSwweDAwLDB4QjksMHgwOCwweDAwLDB4ODksMHg4NCwweDFDLDB4MDEsMHg4OSwweDg0LDB4MkMsMHgwMSwweDQ2LDB4NDYsCi0weEUyLDB4RjQsMHg1OSwweDVFLDB4QzMsMHg5MCwweEJCLDB4MDEsMHgwMCwweDhCLDB4RTgsMHhGRiwweDRFLDB4NkUsMHg3NCwweDBBLAotMHg4QiwweERELDB4OEIsMHg0NiwweDU4LDB4QTgsMHgwMSwweDc0LDB4RjAsMHhDMywweDhCLDB4NDYsMHg0OCwweEE5LDB4MDgsMHgwMCwKLTB4NzQsMHg0NSwweEY3LDB4NDYsMHgzOCwweDQwLDB4MDAsMHg3NCwweDI3LDB4RTgsMHg1QywweDEwLDB4ODAsMHhDMiwweDA2LDB4OEEsCi0weDg2LDB4QTgsMHgwMCwweDI0LDB4QkYsMHg4OCwweDg2LDB4QTgsMHgwMCwweEVFLDB4NjAsMHhCMCwweEZFLDB4RTgsMHg4NiwweDMyLAotMHg2MSwweEIwLDB4MDIsMHhFOCwweDRDLDB4RkYsMHg4QiwweDQ2LDB4NDgsMHgyNCwweEY3LDB4ODksMHg0NiwweDQ4LDB4RUIsMHgxNywKLTB4RTgsMHgyQSwweDEwLDB4ODEsMHg0RSwweDI2LDB4MDAsMHg0MCwweDhBLDB4ODYsMHhBNSwweDAwLDB4MEMsMHgwMiwweDg4LDB4ODYsCi0weEE1LDB4MDAsMHhFNiwweDBDLDB4OEIsMHg0NiwweDQ4LDB4QTksMHgwNCwweDAwLDB4NzQsMHgxNCwweEIwLDB4MDIsMHhFOCwweDIxLAotMHhGRiwweDhCLDB4NDYsMHg0OCwweDI0LDB4RkIsMHg4OSwweDQ2LDB4NDgsMHg2MCwweEIwLDB4REYsMHhFOCwweDQ3LDB4MzIsMHg2MSwKLTB4MzMsMHhDMCwweDg3LDB4NDYsMHg1OCwweEY2LDB4QzMsMHgwMSwweDc1LDB4MEIsMHgzNiwweDg5LDB4NDcsMHg1OCwweEE4LDB4MDEsCi0weDc1LDB4MEQsMHhFOSwweDc0LDB4RkYsMHhBMywweDIyLDB4MDEsMHhBOCwweDAxLDB4NzUsMHgwMywweEU5LDB4NkEsMHhGRiwweDg5LAotMHgxRSwweDMyLDB4MDEsMHhDMywweEJCLDB4MDEsMHgwMCwweDhCLDB4RTgsMHhGNywweDQ2LDB4MzgsMHg0MCwweDAwLDB4NzQsMHgxNSwKLTB4RTgsMHhENSwweDBGLDB4ODAsMHhDMiwweDBBLDB4RUMsMHhBOCwweDQwLDB4NzUsMHgwQSwweDhCLDB4REQsMHg4QiwweDQ2LDB4NTYsCi0weEE4LDB4MDEsMHg3NCwweEUzLDB4QzMsMHg4QiwweDQ2LDB4MjYsMHg4MCwweEU0LDB4RkUsMHg4MCwweENDLDB4MDIsMHg4OSwweDQ2LAotMHgyNiwweEIwLDB4MDIsMHhFOCwweEJDLDB4RkUsMHgzMywweEMwLDB4ODcsMHg0NiwweDU2LDB4RjYsMHhDMywweDAxLDB4NzUsMHgwQSwKLTB4MzYsMHg4OSwweDQ3LDB4NTYsMHhBOCwweDAxLDB4NzUsMHgwQiwweEVCLDB4QkQsMHhBMywweDIwLDB4MDEsMHhBOCwweDAxLDB4NzUsCi0weDAyLDB4RUIsMHhCNCwweDg5LDB4MUUsMHgzMCwweDAxLDB4QzMsMHg2MCwweDFFLDB4MDYsMHgyQiwweEMwLDB4OEUsMHhEOCwweEEwLAotMHg5MCwweDEyLDB4ODQsMHhDMCwweDc1LDB4NDksMHhBMSwweDIyLDB4MDEsMHhBOCwweDAxLDB4NzUsMHgwMywweEU4LDB4RjYsMHhGRSwKLTB4QTEsMHgyMCwweDAxLDB4QTgsMHgwMSwweDc1LDB4MDMsMHhFOCwweDhBLDB4RkYsMHhBMSwweEFDLDB4MTMsMHg0OCwweDc4LDB4MDUsCi0weDc0LDB4NDUsMHhBMywweEFDLDB4MTMsMHhBMSwweEFFLDB4MTMsMHg0OCwweDc4LDB4MDUsMHg3NCwweDUxLDB4QTMsMHhBRSwweDEzLAotMHhBMSwweEIwLDB4MTMsMHg0OCwweDc4LDB4MDUsMHg3NCwweDYzLDB4QTMsMHhCMCwweDEzLDB4QTEsMHg3RSwweDEyLDB4NDAsMHg3OCwKLTB4MDMsMHhBMywweDdFLDB4MTIsMHhCOCwweDAwLDB4ODAsMHhCQSwweDIyLDB4RkYsMHhFRiwweDA3LDB4MUYsMHg2MSwweENGLDB4QTAsCi0weDkxLDB4MTIsMHg0MCwweDNDLDB4MDIsMHg3MiwweDBCLDB4MzMsMHhDMCwweEEyLDB4OTEsMHgxMiwweEZGLDB4MTYsMHg3QywweDEyLAotMHhFQiwweEE0LDB4QTIsMHg5MSwweDEyLDB4RUIsMHg5RiwweEEwLDB4OEUsMHgxMiwweDMyLDB4MDYsMHg4RiwweDEyLDB4QTIsMHg4RSwKLTB4MTIsMHgwQSwweDA2LDB4MUEsMHgwMSwweEJBLDB4MDAsMHgwMSwweEVFLDB4QjgsMHgyQywweDAxLDB4RUIsMHhBNCwweDgzLDB4M0UsCi0weDg0LDB4MTIsMHgxMCwweDcyLDB4MTEsMHhCQSwweDI4LDB4RkYsMHhFRCwweDBDLDB4ODEsMHhFRiwweEU4LDB4NTMsMHgzNywweEJBLAotMHgyOCwweEZGLDB4RUQsMHgyNCwweDdFLDB4RUYsMHhCOCwweDA0LDB4MDAsMHhFQiwweDkyLDB4QzYsMHgwNiwweDhELDB4MTIsMHgwMSwKLTB4RTgsMHgzRiwweDM3LDB4QzYsMHgwNiwweDhELDB4MTIsMHgwMCwweEExLDB4QjIsMHgxMywweEVCLDB4OEIsMHg5MCwweDhBLDB4MUUsCi0weDBCLDB4MDEsMHgyQSwweEZGLDB4NkIsMHhDMywweDE5LDB4QkEsMHg2MiwweEZGLDB4RUYsMHhCOCwweDBBLDB4MDAsMHhCQSwweDYwLAotMHhGRiwweEVGLDB4QjgsMHgwMSwweEUwLDB4QkEsMHg2NiwweEZGLDB4RUYsMHhCOCwweEZGLDB4RkYsMHhCQSwweDUyLDB4RkYsMHhFRiwKLTB4QjgsMHgwOSwweEMwLDB4QkEsMHg1NiwweEZGLDB4RUYsMHhDNywweDA2LDB4QUMsMHgxMywweDJDLDB4MDEsMHhDNywweDA2LDB4QUUsCi0weDEzLDB4MDQsMHgwMCwweEM2LDB4MDYsMHg5MSwweDEyLDB4MDAsMHhDMywweDkwLDB4OEEsMHgxRSwweDBCLDB4MDEsMHgyQSwweEZGLAotMHg2QiwweEMzLDB4MDUsMHhEMSwweEU4LDB4QTMsMHgxOCwweDAxLDB4QzMsMHg5MCwweDUyLDB4QkEsMHg1MCwweEZGLDB4RUQsMHg1QSwKLTB4QzMsMHg5MCwweDUzLDB4NTEsMHg4QiwweDFFLDB4MTgsMHgwMSwweEI5LDB4MzIsMHgwNSwweDkwLDB4RTIsMHhGRSwweDRCLDB4NzUsCi0weEY3LDB4NTksMHg1QiwweEMzLDB4QjAsMHg4MCwweEJBLDB4MDAsMHgwMSwweDBBLDB4MDYsMHgxQSwweDAxLDB4RUUsMHhDMywweDkwLAotMHhCMCwweDQwLDB4RUIsMHhGMiwweEIwLDB4QzAsMHhFQiwweEVFLDB4QjAsMHgwMCwweEVCLDB4RUEsMHhGQSwweDYwLDB4MDYsMHgxRSwKLTB4MTYsMHgyQiwweERCLDB4OEUsMHhEQiwweDJFLDB4QTEsMHhCQSwweDRDLDB4MkUsMHhBMywweDkyLDB4NEMsMHhBMCwweDkzLDB4MTIsCi0weDk4LDB4OEIsMHhFOCwweDg5LDB4MjYsMHgyRCwweDdBLDB4ODAsMHgzRSwweENBLDB4MTMsMHgwMCwweDc0LDB4MDMsMHhFOSwweDZCLAotMHg0MiwweEU4LDB4QzAsMHhGRiwweEU4LDB4QUIsMHhGRiwweEU4LDB4QTgsMHhGRiwweEIwLDB4MjAsMHhDNiwweDA2LDB4OTAsMHgxMiwKLTB4MDAsMHhGRiwweDE2LDB4N0MsMHgxMiwweDhCLDB4RkQsMHg4MywweEZGLDB4MEEsMHg3MiwweDExLDB4RTgsMHhCOSwweEZGLDB4RTgsCi0weDkwLDB4RkYsMHhFOCwweEFCLDB4RkYsMHhFOCwweDhBLDB4RkYsMHg4MywweEVGLDB4MEEsMHhFQiwweEVBLDB4MEIsMHhGRiwweDc0LAotMHgwRiwweEU4LDB4QTQsMHhGRiwweEU4LDB4N0IsMHhGRiwweEU4LDB4OUEsMHhGRiwweEU4LDB4NzUsMHhGRiwweDRGLDB4NzUsMHhGMSwKLTB4RTgsMHg5NSwweEZGLDB4RTgsMHg2QywweEZGLDB4RUIsMHhCOSwweDhBLDB4ODYsMHhBNSwweDAwLDB4MjQsMHhGRCwweEVFLDB4ODgsCi0weDg2LDB4QTUsMHgwMCwweEMzLDB4OEEsMHg4NiwweEE2LDB4MDAsMHgwQywweDAyLDB4RUUsMHhDMywweDhCLDB4NzYsMHgzOCwweEY3LAotMHhDNiwweDAxLDB4MDAsMHg3NCwweEVGLDB4OEIsMHg0RSwweDM2LDB4OEIsMHg0NiwweDJFLDB4M0IsMHhDMSwweDczLDB4MDIsMHg4QiwKLTB4QzgsMHgyQiwweEMxLDB4ODksMHg0NiwweDJFLDB4MDEsMHg0RSwweDM0LDB4QzQsMHg3RSwweDA0LDB4MjYsMHgwMSwweDBELDB4OEIsCi0weDdFLDB4MkMsMHg4MywweEVBLDB4MDQsMHhGMywweDZDLDB4OEUsMHhDMSwweDg5LDB4N0UsMHgyQywweDNCLDB4NDYsMHgzQywweDcyLAotMHgxMiwweEY3LDB4QzYsMHgyMCwweDAwLDB4NzUsMHgwQiwweDgzLDB4Q0UsMHgyMCwweDg5LDB4NzYsMHgzOCwweEIwLDB4MDAsMHhFOCwKLTB4QTAsMHhGQywweEMzLDB4RjcsMHhDNiwweDA0LDB4MDAsMHg3NCwweDFCLDB4OEIsMHhEOCwweDgzLDB4Q0UsMHgxMCwweDg5LDB4NzYsCi0weDM4LDB4OEEsMHg4NiwweEE3LDB4MDAsMHgyNCwweEZFLDB4ODgsMHg4NiwweEE3LDB4MDAsMHg4MywweEMyLDB4MDgsMHhFRSwweDgzLAotMHhFQSwweDA4LDB4OEIsMHhDMywweDNELDB4NDAsMHgwMCwweDcyLDB4MDEsMHhDMywweDgxLDB4NEUsMHgzOCwweDAwLDB4MDQsMHg4MywKLTB4QzIsMHgwMiwweDhBLDB4ODYsMHhBNSwweDAwLDB4MjQsMHhGQSwweDg4LDB4ODYsMHhBNSwweDAwLDB4RUUsMHhDMywweDhBLDB4ODYsCi0weEE2LDB4MDAsMHgwQywweDAyLDB4RUUsMHhDMywweEY3LDB4NDYsMHgzOCwweDAxLDB4MDAsMHg3NCwweEYxLDB4OEIsMHg0RSwweDJFLAotMHgzMiwweERCLDB4OEEsMHhCRSwweEEzLDB4MDAsMHg4MywweEMyLDB4MDYsMHhDNCwweDc2LDB4MDQsMHg4QiwweDdFLDB4MkMsMHg4MywKLTB4RjksMHgwOCwweDcyLDB4MkMsMHhFQywweEE4LDB4MDEsMHg3NCwweDE2LDB4OEEsMHhFMCwweDgzLDB4RUEsMHgwQSwweEVDLDB4ODMsCi0weEMyLDB4MEEsMHg4NCwweEU3LDB4NzUsMHg1MSwweEFBLDB4RkUsMHhDMywweDQ5LDB4ODMsMHhGOSwweDA4LDB4NzMsMHhFNSwweDMyLAotMHhGRiwweDI2LDB4MDEsMHgxQywweDAxLDB4NUUsMHgzNCwweDg5LDB4NzYsMHgwNCwweDg5LDB4NEUsMHgyRSwweDg5LDB4N0UsMHgyQywKLTB4M0IsMHg0RSwweDNDLDB4NzIsMHgxMSwweEY2LDB4NDYsMHgzOCwweDIwLDB4NzQsMHgwMSwweEMzLDB4ODMsMHg0RSwweDM4LDB4MjAsCi0weEIwLDB4MDAsMHhFOCwweEZELDB4RkIsMHhDMywweEY2LDB4NDYsMHgzOCwweDA0LDB4NzQsMHgxNSwweDgzLDB4NEUsMHgzOCwweDEwLAotMHg4QSwweDg2LDB4QTcsMHgwMCwweDI0LDB4RkUsMHg4OCwweDg2LDB4QTcsMHgwMCwweDgzLDB4RUEsMHgwMiwweEVFLDB4ODMsMHhDMiwKLTB4MDIsMHgzRCwweDQwLDB4MDAsMHg3MiwweDVELDB4QzMsMHgzMiwweEZGLDB4MjYsMHgwMywweDFDLDB4ODUsMHhEQiwweDc0LDB4MDksCi0weDI2LDB4ODksMHgxQywweDhCLDB4RjcsMHg0NywweDQ3LDB4NDksMHg0OSwweDgwLDB4RTQsMHgxRSwweDgwLDB4Q0MsMHhDMCwweDI2LAotMHg4OSwweDA0LDB4RjYsMHhDNCwweDEwLDB4NzQsMHgyNywweDhCLDB4NzYsMHgzOCwweEY3LDB4QzYsMHgwMCwweDEwLDB4NzQsMHgwQiwKLTB4NTAsMHhGRSwweDg2LDB4QjIsMHgwMCwweEIwLDB4MEEsMHhFOCwweEE4LDB4RkIsMHg1OCwweEY3LDB4QzYsMHgwMCwweDAxLDB4NzQsCi0weDBELDB4RTgsMHg4MiwweDI2LDB4OEIsMHg3NiwweDM4LDB4OEIsMHg0RSwweDJFLDB4OEIsMHg3RSwweDA0LDB4QUIsMHg4QiwweEY3LAotMHgzMywweEMwLDB4QUIsMHgzMiwweERCLDB4OEEsMHhCRSwweEEzLDB4MDAsMHg0OSwweDQ5LDB4ODMsMHhGOSwweDA4LDB4NzIsMHgxNywKLTB4RTksMHg0MSwweEZGLDB4ODEsMHg0RSwweDM4LDB4MDAsMHgwNCwweDgzLDB4QzIsMHhGOCwweDhBLDB4ODYsMHhBNSwweDAwLDB4MjQsCi0weEZBLDB4ODgsMHg4NiwweEE1LDB4MDAsMHhFRSwweEMzLDB4RTksMHg0NSwweEZGLDB4ODMsMHhDMiwweDA4LDB4RUMsMHg4OCwweDg2LAotMHhBQSwweDAwLDB4QzAsMHhFOCwweDA0LDB4OEEsMHhFMCwweDhBLDB4QzgsMHg4NiwweDg2LDB4QTksMHgwMCwweDMyLDB4RTAsMHg4QiwKLTB4NUUsMHgzRSwweDg0LDB4RTMsMHg3NCwweDRGLDB4OEEsMHhDMSwweDhCLDB4NEUsMHgyNiwweEY2LDB4QzUsMHgwNCwweDc0LDB4MEMsCi0weEE4LDB4MDgsMHg3NCwweDA1LDB4ODAsMHhFMSwweEJGLDB4RUIsMHgwMywweDgwLDB4QzksMHg0MCwweEY2LDB4QzUsMHgwOCwweDc0LAotMHgwQywweEE4LDB4MDIsMHg3NCwweDA1LDB4ODAsMHhFMSwweDdGLDB4RUIsMHgwMywweDgwLDB4QzksMHg4MCwweDg4LDB4NEUsMHgyNiwKLTB4OEIsMHhGMCwweDhBLDB4ODYsMHhBNSwweDAwLDB4ODQsMHhDOSwweDc0LDB4MDgsMHhBOCwweDAyLDB4NzQsMHgxNSwweDI0LDB4RkQsCi0weEVCLDB4MDYsMHhBOCwweDAyLDB4NzUsMHgwRCwweDBDLDB4MDIsMHg4OCwweDg2LDB4QTUsMHgwMCwweDgzLDB4RUEsMHgwQSwweEVFLAotMHg4MywweEMyLDB4MEEsMHg4QiwweEM2LDB4ODQsMHhFNywweDc1LDB4MDEsMHhDMywweEM2LDB4ODYsMHhCQSwweDAwLDB4MDEsMHhCMCwKLTB4MEUsMHhFOCwweEVFLDB4RkEsMHhGNywweDQ2LDB4MzgsMHgwMCwweDAyLDB4NzQsMHhFRSwweDgzLDB4N0UsMHgyRSwweDA2LDB4NzIsCi0weEU4LDB4OEEsMHhBNiwweEFBLDB4MDAsMHhDNCwweDVFLDB4MDQsMHg4QiwweDdFLDB4MkMsMHhCMCwweEZGLDB4QUEsMHhCMCwweDAyLAotMHhBQiwweDI2LDB4ODMsMHgwNywweDAzLDB4ODMsMHg2RSwweDJFLDB4MDMsMHg4OSwweDdFLDB4MkMsMHhGNiwweDQ2LDB4MzgsMHgyMCwKLTB4NzQsMHgwMSwweEMzLDB4ODMsMHg0RSwweDM4LDB4MjAsMHhCMCwweDAwLDB4RTgsMHhCNiwweEZBLDB4QzMsMHg5MCwweDgzLDB4RUEsCi0weDA4LDB4RTksMHhCNCwweEZELDB4ODMsMHhDMiwweDA2LDB4OEIsMHg1RSwweDI2LDB4RjYsMHhDMywweEMwLDB4NzUsMHhFRiwweDhCLAotMHg0RSwweDFDLDB4RUMsMHg4OCwweDg2LDB4QTQsMHgwMCwweDgzLDB4RUEsMHgwQSwweEE4LDB4MjAsMHg3NSwweDAyLDB4OEEsMHhDRCwKLTB4MzIsMHhFRCwweDhCLDB4NDYsMHgxQSwweDNCLDB4QzgsMHg3MywweDE4LDB4MDEsMHg0RSwweDJBLDB4MkIsMHhDMSwweDg5LDB4NDYsCi0weDFBLDB4QzUsMHg3NiwweDAwLDB4RjMsMHg2RSwweDhFLDB4RDksMHg4OSwweDc2LDB4MDAsMHgzRCwweDIwLDB4MDAsMHg3MiwweDMwLAotMHhDMywweDg1LDB4QzAsMHg3NCwweDMxLDB4OEIsMHhDOCwweDAxLDB4NDYsMHgyQSwweEM1LDB4NzYsMHgwMCwweEYzLDB4NkUsMHg4RSwKLTB4RDksMHg4MCwweENCLDB4MDIsMHg4OSwweDVFLDB4MjYsMHhFOCwweDMyLDB4RjEsMHhGNiwweEM3LDB4MDEsMHg3NSwweDE2LDB4ODMsCi0weEMyLDB4MDIsMHhFOCwweDUzLDB4RkQsMHhGNiwweEM3LDB4MTAsMHg3NSwweDBCLDB4QjAsMHgwMiwweEU4LDB4NDMsMHhGQSwweEMzLAotMHhGNiwweEM3LDB4MDEsMHg3NCwweEYwLDB4QzMsMHg4MCwweENCLDB4MDIsMHg4OSwweDVFLDB4MjYsMHhGNiwweEM3LDB4MDEsMHg3NCwKLTB4REUsMHg4MywweEMyLDB4MDIsMHhFOCwweDMxLDB4RkQsMHhGNiwweDg2LDB4QTQsMHgwMCwweDQwLDB4NzQsMHgwQiwweDgwLDB4RTcsCi0weEZFLDB4ODAsMHhDRiwweDAyLDB4ODksMHg1RSwweDI2LDB4RUIsMHhDQywweEIwLDB4MDQsMHhFOCwweDE0LDB4RkEsMHhDMywweEMwLAotMHhDMiwweEM4LDB4Q0EsMHhDNCwweEM2LDB4Q0MsMHhDRSwweEQwLDB4RDIsMHhEOCwweERBLDB4RDQsMHhENiwweERDLDB4REUsMHg5MCwKLTB4RTksMHgwRSwweDAxLDB4RTQsMHhDNCwweDhBLDB4RTAsMHhFNCwweEM0LDB4OEIsMHhEMCwweDgzLDB4RjksMHgwOCwweDcyLDB4RjAsCi0weDI2LDB4ODMsMHgzRiwweDAwLDB4NzQsMHgwNCwweDhCLDB4REYsMHg0OSwweDQ5LDB4OEIsMHhGQiwweDhBLDB4REUsMHg4MywweEUzLAotMHgwRiwweDJFLDB4OEEsMHhBNywweDJGLDB4MTYsMHhBQiwweEY2LDB4QzQsMHgxMCwweDc0LDB4MjQsMHhGNywweEM2LDB4MDAsMHgxMCwKLTB4NzQsMHgwQiwweDUwLDB4RkUsMHg4NiwweEIyLDB4MDAsMHhCMCwweDBBLDB4RTgsMHhDNiwweEY5LDB4NTgsMHhGNywweEM2LDB4MDAsCi0weDAxLDB4NzQsMHgwRCwweEU4LDB4QTAsMHgyNCwweDhCLDB4NzYsMHgzOCwweDhCLDB4NEUsMHgyRSwweDhCLDB4N0UsMHgwNCwweEFCLAotMHg4OSwweDdFLDB4MDQsMHgzMywweEMwLDB4QUIsMHg0OSwweDQ5LDB4ODksMHg0RSwweDJFLDB4ODksMHg3RSwweDJDLDB4OEIsMHhDMSwKLTB4RUIsMHg0RSwweDkwLDB4RUIsMHg5RSwweDkwLDB4RTQsMHhENiwweDg0LDB4QzAsMHg3OSwweDYzLDB4RTYsMHhEMCwweDhBLDB4QzgsCi0weDI1LDB4MDMsMHgwMCwweDAzLDB4RDgsMHhEMSwweEUzLDB4MkUsMHg4QiwweEFGLDB4NDQsMHgwMCwweDg4LDB4OEUsMHhBRSwweDAwLAotMHg4QiwweDRFLDB4MkUsMHhDNCwweDVFLDB4MDQsMHg4QiwweDdFLDB4MkMsMHg4QiwweDc2LDB4MzgsMHhFNCwweDg2LDB4MjQsMHgwNywKLTB4M0MsMHgwMywweDc1LDB4Q0YsMHhFNCwweDFDLDB4OTEsMHgzQiwweEMxLDB4NzMsMHgwMiwweDhCLDB4QzgsMHgyQiwweEMxLDB4ODksCi0weDQ2LDB4MkUsMHgwMSwweDRFLDB4MzQsMHgyNiwweDAxLDB4MEYsMHhCQSwweEM0LDB4MDAsMHhGMywweDZDLDB4ODksMHg3RSwweDJDLAotMHgzQiwweDQ2LDB4M0MsMHg3MiwweDFDLDB4RjcsMHhDNiwweDIwLDB4MDAsMHg3NSwweDBCLDB4ODMsMHhDRSwweDIwLDB4ODksMHg3NiwKLTB4MzgsMHhCMCwweDAwLDB4RTgsMHgzQywweEY5LDB4OEEsMHg4NiwweEFFLDB4MDAsMHgyNCwweDNGLDB4RTYsMHhENiwweEMzLDB4RjksCi0weEMzLDB4RjcsMHhDNiwweDBBLDB4MDAsMHg3NCwweDM1LDB4RjcsMHhDNiwweDEwLDB4MDAsMHg3NSwweDJGLDB4ODMsMHhDRSwweDEwLAotMHg4OSwweDc2LDB4MzgsMHhGNywweEM2LDB4MDIsMHgwMCwweDc0LDB4MEUsMHg1MCwweEU0LDB4RDgsMHgyNCwweEZFLDB4RTYsMHhEOCwKLTB4NTgsMHhGNywweEM2LDB4MDgsMHgwMCwweDc0LDB4MTUsMHg1MCwweDUxLDB4QjksMHhFOCwweDAzLDB4RTQsMHgwQSwweDg0LDB4QzAsCi0weEUwLDB4RkEsMHg4NCwweEMwLDB4NzUsMHgwNCwweEIwLDB4MjQsMHhFNiwweDBBLDB4NTksMHg1OCwweDNELDB4NDAsMHgwMCwweDczLAotMHhCNSwweDhBLDB4ODYsMHhBNSwweDAwLDB4MjQsMHhFRiwweDg4LDB4ODYsMHhBNSwweDAwLDB4RTYsMHgwQywweDgxLDB4Q0UsMHgxMCwKLTB4MDQsMHg4OSwweDc2LDB4MzgsMHhFQiwweEEwLDB4MDAsMHgwOCwweDA0LDB4MEMsMHgwMSwweDA5LDB4MDUsMHgwRCwweDAyLDB4MEEsCi0weDA2LDB4MEUsMHgwMywweDBCLDB4MDcsMHgwRiwweDAwLDB4NDAsMHg4MCwweEMwLDB4MjAsMHg2MCwweEEwLDB4RTAsMHgxMCwweDUwLAotMHg5MCwweEQwLDB4MzAsMHg3MCwweEIwLDB4RjAsMHhFNCwweEQyLDB4RTYsMHhEMCwweDhBLDB4QzgsMHgyNSwweDAzLDB4MDAsMHgwMywKLTB4RDgsMHhEMSwweEUzLDB4MkUsMHg4QiwweEFGLDB4NDQsMHgwMCwweDg4LDB4OEUsMHhBRSwweDAwLDB4RTQsMHhEOCwweEMwLDB4RTgsCi0weDA0LDB4OEIsMHhEOCwweDJFLDB4OEEsMHg4NywweDY2LDB4MTcsMHg4QSwweEUwLDB4OEEsMHhDOCwweDg2LDB4ODYsMHhBOSwweDAwLAotMHgzMiwweEUwLDB4RTQsMHg5OCwweDhCLDB4NUUsMHgzRSwweDg0LDB4RTMsMHg3NCwweDU0LDB4OEEsMHhDMSwweDhCLDB4NEUsMHgyNiwKLTB4RjYsMHhDNSwweDA0LDB4NzQsMHgwQywweEE4LDB4MDgsMHg3NCwweDA1LDB4ODAsMHhFMSwweEJGLDB4RUIsMHgwMywweDgwLDB4QzksCi0weDQwLDB4RjYsMHhDNSwweDA4LDB4NzQsMHgwQywweEE4LDB4MDIsMHg3NCwweDA1LDB4ODAsMHhFMSwweDdGLDB4RUIsMHgwMywweDgwLAotMHhDOSwweDgwLDB4ODgsMHg0RSwweDI2LDB4OEIsMHhGMCwweDhBLDB4ODYsMHhBNSwweDAwLDB4RjYsMHhDMSwweEZELDB4NzQsMHgwOCwKLTB4QTgsMHgwNiwweDc0LDB4MTksMHgyNCwweEY5LDB4RUIsMHgwRiwweEE4LDB4MDYsMHg3NSwweDExLDB4RjYsMHhDNSwweDAxLDB4NzUsCi0weDA0LDB4MEMsMHgwNCwweEVCLDB4MDIsMHgwQywweDAyLDB4ODgsMHg4NiwweEE1LDB4MDAsMHhFNiwweDBDLDB4OEIsMHhDNiwweDg0LAotMHhFNywweDc1LDB4MDksMHg4QSwweDg2LDB4QUUsMHgwMCwweDI0LDB4M0YsMHhFNiwweEQyLDB4QzMsMHhDNiwweDg2LDB4QkEsMHgwMCwKLTB4MDEsMHhCMCwweDBFLDB4RTgsMHgxQywweEY4LDB4RjcsMHg0NiwweDM4LDB4MDAsMHgwMiwweDc0LDB4RTYsMHg4MywweDdFLDB4MkUsCi0weDA2LDB4NzIsMHhFMCwweDhBLDB4ODYsMHhBOSwweDAwLDB4OEEsMHhFMCwweDg2LDB4ODYsMHhBQSwweDAwLDB4OEEsMHhDOCwweDMyLAotMHhDNCwweDgwLDB4QzksMHgwQiwweDIyLDB4QzEsMHhDMCwweEU0LDB4MDQsMHgwQSwweEUwLDB4QzQsMHg1RSwweDA0LDB4OEIsMHg3RSwKLTB4MkMsMHhCMCwweEZGLDB4QUEsMHhCMCwweDAyLDB4QUIsMHgyNiwweDgzLDB4MDcsMHgwMywweDgzLDB4NkUsMHgyRSwweDAzLDB4ODksCi0weDdFLDB4MkMsMHhGNiwweDQ2LDB4MzgsMHgyMCwweDc1LDB4QUIsMHg4MywweDRFLDB4MzgsMHgyMCwweEIwLDB4MDAsMHhFOCwweEQxLAotMHhGNywweEVCLDB4QTAsMHg5MCwweEU0LDB4MTIsMHgyNCwweERGLDB4RTYsMHgxMiwweDgxLDB4RTMsMHhGRSwweDlGLDB4ODksMHg1RSwKLTB4MjYsMHg4MywweDY2LDB4NDgsMHhGNywweEVCLDB4NzMsMHg5MCwweEY2LDB4QzcsMHgyMCwweDc1LDB4RTcsMHhFNCwweDEyLDB4MEMsCi0weDIwLDB4RTYsMHgxMiwweDMyLDB4QzAsMHhFNiwweEM2LDB4QjAsMHg4MywweEU2LDB4QzYsMHg4MCwweENGLDB4MjAsMHg4OSwweDVFLAotMHgyNiwweDhBLDB4ODYsMHhBNSwweDAwLDB4MEMsMHgwMiwweDg4LDB4ODYsMHhBNSwweDAwLDB4RTYsMHgwQywweEVCLDB4NzQsMHg5MCwKLTB4RjYsMHhDNywweDQwLDB4NzUsMHhEMywweEU0LDB4MTIsMHgwQywweDIwLDB4RTYsMHgxMiwweDMyLDB4QzAsMHhFNiwweEM2LDB4QjAsCi0weDgxLDB4RTYsMHhDNiwweDgwLDB4RTcsMHhERiwweDgwLDB4Q0IsMHgwMSwweDg5LDB4NUUsMHgyNiwweEIwLDB4MDYsMHhFOCwweDcxLAotMHhGNywweDkwLDB4OEEsMHg4NiwweEE1LDB4MDAsMHgyNCwweEY5LDB4RTYsMHgwQywweDg4LDB4ODYsMHhBNSwweDAwLDB4RUIsMHg0MywKLTB4RTQsMHhENCwweEU2LDB4RDAsMHg4QiwweEY4LDB4MjUsMHgwMywweDAwLDB4MDMsMHhEOCwweEQxLDB4RTMsMHgyRSwweDhCLDB4QUYsCi0weDQ0LDB4MDAsMHg4QiwweDVFLDB4MjYsMHhGNiwweEM3LDB4NjAsMHg3NSwweEI2LDB4RjYsMHhDMywweEMwLDB4NzUsMHhEMywweEJBLAotMHhDNiwweDAwLDB4OEIsMHg0RSwweDFDLDB4OEIsMHg0NiwweDFBLDB4M0IsMHhDOCwweDczLDB4MUUsMHgwMSwweDRFLDB4MkEsMHgyQiwKLTB4QzEsMHg4OSwweDQ2LDB4MUEsMHhDNSwweDc2LDB4MDAsMHhGMywweDZFLDB4OEUsMHhEOSwweDg5LDB4NzYsMHgwMCwweDNELDB4MjAsCi0weDAwLDB4NzIsMHgzRCwweDhCLDB4QzcsMHgyNCwweDNGLDB4RTYsMHhENCwweEMzLDB4ODUsMHhDMCwweDc0LDB4MzksMHg4QiwweEM4LAotMHgwMSwweDQ2LDB4MkEsMHhDNSwweDc2LDB4MDAsMHhGMywweDZFLDB4OEUsMHhEOSwweDgzLDB4Q0IsMHgwMiwweDg5LDB4NUUsMHgyNiwKLTB4RTgsMHhEOSwweEVELDB4RjYsMHhDNywweDAxLDB4NzUsMHgzOSwweDhBLDB4ODYsMHhBNSwweDAwLDB4MjQsMHhGOSwweEU2LDB4MEMsCi0weDg4LDB4ODYsMHhBNSwweDAwLDB4RjYsMHhDNywweDEwLDB4NzUsMHhDQSwweEIwLDB4MDIsMHhFOCwweEU0LDB4RjYsMHhFQiwweEMzLAotMHhGNiwweEM3LDB4MDEsMHg3NCwweEVGLDB4RUIsMHhCQywweEY2LDB4QzcsMHgwMSwweDc0LDB4REMsMHg4QSwweDg2LDB4QTUsMHgwMCwKLTB4QTgsMHgwMiwweDc0LDB4MTEsMHg4MSwweEUzLDB4RkYsMHhGRSwweDgxLDB4Q0IsMHgwMCwweDAyLDB4ODksMHg1RSwweDI2LDB4RUIsCi0weEM3LDB4OEEsMHg4NiwweEE1LDB4MDAsMHgyNCwweEZCLDB4MEMsMHgwMiwweEU2LDB4MEMsMHg4OCwweDg2LDB4QTUsMHgwMCwweEVCLAotMHg5MiwweDkwLDB4RkQsMHhGNywweERGLDB4N0YsMHhGRSwweEZCLDB4RUYsMHhCRiwweDAwLDB4MDQsMHgwMCwweDA0LDB4MDUsMHgwNCwKLTB4MDUsMHgwNCwweDAxLDB4MDQsMHgwMCwweDA0LDB4MDUsMHgwNCwweDA1LDB4MDQsMHgwNiwweDA0LDB4MDYsMHgwNCwweDA1LDB4MDQsCi0weDA1LDB4MDQsMHgwNiwweDA0LDB4MDYsMHgwNCwweDA1LDB4MDQsMHgwNSwweDA0LDB4MDIsMHgwNCwweDAwLDB4MDQsMHgwNSwweDA0LAotMHgwNSwweDA0LDB4MDEsMHgwNCwweDAwLDB4MDQsMHgwNSwweDA0LDB4MDUsMHgwNCwweDA2LDB4MDQsMHgwNiwweDA0LDB4MDUsMHgwNCwKLTB4MDUsMHgwNCwweDA2LDB4MDQsMHgwNiwweDA0LDB4MDUsMHgwNCwweDA1LDB4MDQsMHgwNywweDA0LDB4MDcsMHgwNCwweDA1LDB4MDQsCi0weDA1LDB4MDQsMHgwNywweDA0LDB4MDcsMHgwNCwweDA1LDB4MDQsMHgwNSwweDA0LDB4MDYsMHgwNCwweDA2LDB4MDQsMHgwNSwweDA0LAotMHgwNSwweDA0LDB4MDYsMHgwNCwweDA2LDB4MDQsMHgwNSwweDA0LDB4MDUsMHgwNCwweDA3LDB4MDQsMHgwNywweDA0LDB4MDUsMHgwNCwKLTB4MDUsMHgwNCwweDA3LDB4MDQsMHgwNywweDA0LDB4MDUsMHgwNCwweDA1LDB4MDQsMHgwNiwweDA0LDB4MDYsMHgwNCwweDA1LDB4MDQsCi0weDA1LDB4MDQsMHgwNiwweDA0LDB4MDYsMHgwNCwweDA1LDB4MDQsMHgwNSwweDA0LDB4MDMsMHgwNCwweDAwLDB4MDQsMHgwNSwweDA0LAotMHgwNSwweDA0LDB4MDEsMHgwNCwweDAwLDB4MDQsMHgwNSwweDA0LDB4MDUsMHgwNCwweDA2LDB4MDQsMHgwNiwweDA0LDB4MDUsMHgwNCwKLTB4MDUsMHgwNCwweDA2LDB4MDQsMHgwNiwweDA0LDB4MDUsMHgwNCwweDA1LDB4MDQsMHgwMiwweDA0LDB4MDAsMHgwNCwweDA1LDB4MDQsCi0weDA1LDB4MDQsMHgwMSwweDA0LDB4MDAsMHgwNCwweDA1LDB4MDQsMHgwNSwweDA0LDB4MDYsMHgwNCwweDA2LDB4MDQsMHgwNSwweDA0LAotMHgwNSwweDA0LDB4MDYsMHgwNCwweDA2LDB4MDQsMHgwNSwweDA0LDB4MDUsMHgwNCwweDA3LDB4MDQsMHgwNywweDA0LDB4MDUsMHgwNCwKLTB4MDUsMHgwNCwweDA3LDB4MDQsMHgwNywweDA0LDB4MDUsMHgwNCwweDA1LDB4MDQsMHgwNiwweDA0LDB4MDYsMHgwNCwweDA1LDB4MDQsCi0weDA1LDB4MDQsMHgwNiwweDA0LDB4MDYsMHgwNCwweDA1LDB4MDQsMHgwNSwweDA0LDB4MDcsMHgwNCwweDA3LDB4MDQsMHgwNSwweDA0LAotMHgwNSwweDA0LDB4MDcsMHgwNCwweDA3LDB4MDQsMHgwNSwweDA0LDB4MDUsMHgwNCwweDA2LDB4MDQsMHgwNiwweDA0LDB4MDUsMHgwNCwKLTB4MDUsMHgwNCwweDA2LDB4MDQsMHgwNiwweDA0LDB4MDUsMHgwNCwweDA1LDB4MDQsMHgzMywweERCLDB4OEEsMHhEOCwweDhBLDB4ODcsCi0weDZDLDB4MTIsMHhFNiwweEZFLDB4QzEsMHhFMywweDAyLDB4RTQsMHhDRSwweEE4LDB4MDQsMHg3NSwweDA5LDB4QTgsMHgwMiwweDc0LAotMHgwMywweEU5LDB4MkMsMHhGRSwweEY5LDB4QzMsMHg1MCwweDUzLDB4RTgsMHhDQiwweEZDLDB4NUIsMHg1OCwweEE4LDB4MDIsMHg3NCwKLTB4MDMsMHhFOSwweDFDLDB4RkUsMHhGOCwweEMzLDB4MzMsMHhEQiwweDhBLDB4RDgsMHg4QSwweDg3LDB4NkMsMHgxMiwweEU2LDB4RkUsCi0weEMxLDB4RTMsMHgwMiwweEU5LDB4RDAsMHhGQiwweDlBLDB4MUEsMHhDNiwweDFBLDB4MDAsMHgwMCwweDAyLDB4MDAsMHgwNCwweDAwLAotMHgwMiwweDAwLDB4MDYsMHgwMCwweDAyLDB4MDAsMHgwNCwweDAwLDB4MDIsMHgwMCwweDA4LDB4MDAsMHgwMiwweDAwLDB4MDQsMHgwMCwKLTB4MDIsMHgwMCwweDA2LDB4MDAsMHgwMiwweDAwLDB4MDQsMHgwMCwweDAyLDB4MDAsMHgwQSwweDAwLDB4MDIsMHgwMCwweDA0LDB4MDAsCi0weDAyLDB4MDAsMHgwNiwweDAwLDB4MDIsMHgwMCwweDA0LDB4MDAsMHgwMiwweDAwLDB4MDgsMHgwMCwweDAyLDB4MDAsMHgwNCwweDAwLAotMHgwMiwweDAwLDB4MDYsMHgwMCwweDAyLDB4MDAsMHgwNCwweDAwLDB4MDIsMHgwMCwweDBDLDB4MDAsMHgwMiwweDAwLDB4MDQsMHgwMCwKLTB4MDIsMHgwMCwweDA2LDB4MDAsMHgwMiwweDAwLDB4MDQsMHgwMCwweDAyLDB4MDAsMHgwOCwweDAwLDB4MDIsMHgwMCwweDA0LDB4MDAsCi0weDAyLDB4MDAsMHgwNiwweDAwLDB4MDIsMHgwMCwweDA0LDB4MDAsMHgwMiwweDAwLDB4MEEsMHgwMCwweDAyLDB4MDAsMHgwNCwweDAwLAotMHgwMiwweDAwLDB4MDYsMHgwMCwweDAyLDB4MDAsMHgwNCwweDAwLDB4MDIsMHgwMCwweDA4LDB4MDAsMHgwMiwweDAwLDB4MDQsMHgwMCwKLTB4MDIsMHgwMCwweDA2LDB4MDAsMHgwMiwweDAwLDB4MDQsMHgwMCwweDAyLDB4MDAsMHgwRSwweDAwLDB4MDIsMHgwMCwweDA0LDB4MDAsCi0weDAyLDB4MDAsMHgwNiwweDAwLDB4MDIsMHgwMCwweDA0LDB4MDAsMHgwMiwweDAwLDB4MDgsMHgwMCwweDAyLDB4MDAsMHgwNCwweDAwLAotMHgwMiwweDAwLDB4MDYsMHgwMCwweDAyLDB4MDAsMHgwNCwweDAwLDB4MDIsMHgwMCwweDBBLDB4MDAsMHgwMiwweDAwLDB4MDQsMHgwMCwKLTB4MDIsMHgwMCwweDA2LDB4MDAsMHgwMiwweDAwLDB4MDQsMHgwMCwweDAyLDB4MDAsMHgwOCwweDAwLDB4MDIsMHgwMCwweDA0LDB4MDAsCi0weDAyLDB4MDAsMHgwNiwweDAwLDB4MDIsMHgwMCwweDA0LDB4MDAsMHgwMiwweDAwLDB4MEMsMHgwMCwweDAyLDB4MDAsMHgwNCwweDAwLAotMHgwMiwweDAwLDB4MDYsMHgwMCwweDAyLDB4MDAsMHgwNCwweDAwLDB4MDIsMHgwMCwweDA4LDB4MDAsMHgwMiwweDAwLDB4MDQsMHgwMCwKLTB4MDIsMHgwMCwweDA2LDB4MDAsMHgwMiwweDAwLDB4MDQsMHgwMCwweDAyLDB4MDAsMHgwQSwweDAwLDB4MDIsMHgwMCwweDA0LDB4MDAsCi0weDAyLDB4MDAsMHgwNiwweDAwLDB4MDIsMHgwMCwweDA0LDB4MDAsMHgwMiwweDAwLDB4MDgsMHgwMCwweDAyLDB4MDAsMHgwNCwweDAwLAotMHgwMiwweDAwLDB4MDYsMHgwMCwweDAyLDB4MDAsMHgwNCwweDAwLDB4MDIsMHgwMCwweEMzLDB4OTAsMHhEQSwweDE0LDB4OTQsMHgxNSwKLTB4NUMsMHgxMywweEU2LDB4MTMsMHhEQSwweDFCLDB4REEsMHgxQiwweEU2LDB4MTMsMHhEQSwweDFCLDB4OEIsMHg5NCwweDY0LDB4MTIsCi0weEMxLDB4RTYsMHgwNCwweEE4LDB4MDEsMHg3NCwweDM1LDB4NTAsMHgzMywweEMwLDB4OEEsMHhDMiwweEU2LDB4RkUsMHhFNCwweEEwLAotMHg4NSwweEMwLDB4NzQsMHgyNywweDhCLDB4RDgsMHgyRSwweDhBLDB4OUYsMHhEQSwweDFBLDB4NTIsMHg1NiwweDJFLDB4OEIsMHhBOCwKLTB4NDQsMHgwMCwweDhCLDB4NTYsMHgyOCwweEVDLDB4QTgsMHgwMSwweDc1LDB4MEQsMHg4OCwweDg2LDB4QUQsMHgwMCwweDI0LDB4MEUsCi0weDhBLDB4RDgsMHgyRSwweEZGLDB4OTcsMHhEQywweDFCLDB4NUUsMHg1QSwweEVCLDB4Q0QsMHg1OCwweEE4LDB4MDIsMHg3NCwweDM2LAotMHg4MywweEM2LDB4MTAsMHgzMywweEMwLDB4OEEsMHhDNiwweEU2LDB4RkUsMHhFNCwweEEwLDB4ODUsMHhDMCwweDc0LDB4MjcsMHg4QiwKLTB4RDgsMHgyRSwweDhBLDB4OUYsMHhEQSwweDFBLDB4NTIsMHg1NiwweDJFLDB4OEIsMHhBOCwweDQ0LDB4MDAsMHg4QiwweDU2LDB4MjgsCi0weEVDLDB4QTgsMHgwMSwweDc1LDB4MEQsMHg4OCwweDg2LDB4QUQsMHgwMCwweDI0LDB4MEUsMHg4QSwweEQ4LDB4MkUsMHhGRiwweDk3LAotMHhEQywweDFCLDB4NUUsMHg1QSwweEVCLDB4Q0QsMHhDMywweDkwLDB4MzIsMHhFNCwweDhCLDB4RDgsMHg4QiwweEQwLDB4MkUsMHg4QSwKLTB4OUYsMHg5QSwweDE5LDB4MkUsMHgyMiwweDk3LDB4OTIsMHgxOSwweDU2LDB4NTIsMHg4QSwweEMzLDB4MjQsMHgwMywweDAzLDB4QzYsCi0weDgwLDB4RTMsMHgwNCwweEQwLDB4RUIsMHgyRSwweEZGLDB4OTcsMHhENiwweDFBLDB4NTgsMHg1RSwweEE5LDB4NTUsMHgwMCwweDc1LAotMHhEOSwweEMzLDB4NjAsMHgxRSwweDA2LDB4MkIsMHhDMCwweDhFLDB4RDgsMHhBMSwweDVDLDB4MTIsMHhFNiwweEZFLDB4RTQsMHgwMCwKLTB4MjIsMHhDNCwweDc0LDB4MDgsMHgzMywweEY2LDB4RTgsMHhCRiwweEZGLDB4RUIsMHhFRSwweDkwLDB4RTQsMHgwNCwweDA3LDB4RTQsCi0weDA0LDB4MUYsMHhCOCwweDAwLDB4ODAsMHhCQSwweDIyLDB4RkYsMHhFRiwweDYxLDB4Q0YsMHg5MCwweDYwLDB4MUUsMHgwNiwweDJCLAotMHhDMCwweDhFLDB4RDgsMHhBMSwweDVFLDB4MTIsMHhFNiwweEZFLDB4RTQsMHgwMCwweDIyLDB4QzQsMHg3NCwweDA4LDB4QkUsMHgwNCwKLTB4MDAsMHhFOCwweDk0LDB4RkYsMHhFQiwweEVELDB4RTQsMHgwNCwweDA3LDB4RTQsMHgwNCwweDFGLDB4QjgsMHgwMCwweDgwLDB4QkEsCi0weDIyLDB4RkYsMHhFRiwweDYxLDB4Q0YsMHg5MCwweDYwLDB4MUUsMHgwNiwweDJCLDB4QzAsMHg4RSwweEQ4LDB4QTEsMHg1QywweDEyLAotMHhFNiwweEZFLDB4RTQsMHgwMCwweDIyLDB4QzQsMHg3NCwweDE4LDB4MzMsMHhGNiwweEU4LDB4NkIsMHhGRiwweEExLDB4NjAsMHgxMiwKLTB4RTYsMHhGRSwweEU0LDB4MDAsMHgyMiwweEM0LDB4NzQsMHhFNSwweEJFLDB4MDgsMHgwMCwweEU4LDB4NUEsMHhGRiwweEVCLDB4REQsCi0weEExLDB4NjAsMHgxMiwweEU2LDB4RkUsMHhFNCwweDAwLDB4MjIsMHhDNCwweDc1LDB4RUQsMHhFNCwweDA0LDB4MDcsMHhFNCwweDA0LAotMHhBMSwweDVDLDB4MTIsMHhFNiwweEZFLDB4RTQsMHgwNCwweDFGLDB4RTQsMHgwNCwweEI4LDB4MDAsMHg4MCwweEJBLDB4MjIsMHhGRiwKLTB4RUYsMHg2MSwweENGLDB4OTAsMHg2MCwweDFFLDB4MDYsMHgyQiwweEMwLDB4OEUsMHhEOCwweEExLDB4NUUsMHgxMiwweEU2LDB4RkUsCi0weEU0LDB4MDAsMHgyMiwweEM0LDB4NzQsMHgxOSwweEJFLDB4MDQsMHgwMCwweEU4LDB4MUMsMHhGRiwweEExLDB4NjIsMHgxMiwweEU2LAotMHhGRSwweEU0LDB4MDAsMHgyMiwweEM0LDB4NzQsMHhFNCwweEJFLDB4MEMsMHgwMCwweEU4LDB4MEIsMHhGRiwweEVCLDB4REMsMHhBMSwKLTB4NjIsMHgxMiwweEU2LDB4RkUsMHhFNCwweDAwLDB4MjIsMHhDNCwweDc1LDB4RUQsMHhFNCwweDA0LDB4MDcsMHhFNCwweDA0LDB4QTEsCi0weDVFLDB4MTIsMHhFNiwweEZFLDB4RTQsMHgwNCwweDFGLDB4RTQsMHgwNCwweEI4LDB4MDAsMHg4MCwweEJBLDB4MjIsMHhGRiwweEVGLAotMHg2MSwweENGLDB4NjAsMHgxRSwweDA2LDB4MkIsMHhDMCwweDhFLDB4RDgsMHhBMSwweDVDLDB4MTIsMHhFNiwweEZFLDB4RTQsMHg4MCwKLTB4ODQsMHhDNCwweDc0LDB4MDgsMHgzMywweEY2LDB4RTgsMHg1MywweEZFLDB4RUIsMHhFRSwweDkwLDB4QjgsMHgwMCwweDgwLDB4QkEsCi0weDIyLDB4RkYsMHhFRiwweDA3LDB4MUYsMHg2MSwweENGLDB4OTAsMHg2MCwweDFFLDB4MDYsMHgyQiwweEMwLDB4OEUsMHhEOCwweEExLAotMHg1RSwweDEyLDB4RTYsMHhGRSwweEU0LDB4ODAsMHg4NCwweEM0LDB4NzQsMHgwOCwweEJFLDB4MDIsMHgwMCwweEU4LDB4MkMsMHhGRSwKLTB4RUIsMHhFRCwweEI4LDB4MDAsMHg4MCwweEJBLDB4MjIsMHhGRiwweEVGLDB4MDcsMHgxRiwweDYxLDB4Q0YsMHg5MCwweDYwLDB4MUUsCi0weDA2LDB4MkIsMHhDMCwweDhFLDB4RDgsMHhBMSwweDYwLDB4MTIsMHhFNiwweEZFLDB4RTQsMHg4MCwweDg0LDB4QzQsMHg3NCwweDA4LAotMHhCRSwweDA0LDB4MDAsMHhFOCwweDA2LDB4RkUsMHhFQiwweEVELDB4QjgsMHgwMCwweDgwLDB4QkEsMHgyMiwweEZGLDB4RUYsMHgwNywKLTB4MUYsMHg2MSwweENGLDB4OTAsMHg2MCwweDFFLDB4MDYsMHgyQiwweEMwLDB4OEUsMHhEOCwweEExLDB4NjIsMHgxMiwweEU2LDB4RkUsCi0weEU0LDB4ODAsMHg4NCwweEM0LDB4NzQsMHgwOCwweEJFLDB4MDYsMHgwMCwweEU4LDB4RTAsMHhGRCwweEVCLDB4RUQsMHhCOCwweDAwLAotMHg4MCwweEJBLDB4MjIsMHhGRiwweEVGLDB4MDcsMHgxRiwweDYxLDB4Q0YsMHg5MCwweDYwLDB4MUUsMHgwNiwweDJCLDB4QzAsMHg4RSwKLTB4RDgsMHhBMSwweDVDLDB4MTIsMHhFNiwweEZFLDB4RTQsMHgwMCwweDIyLDB4QzQsMHg3NCwweDE4LDB4MzMsMHhGNiwweEU4LDB4MzcsCi0weEZFLDB4QTEsMHg2MCwweDEyLDB4RTYsMHhGRSwweEU0LDB4ODAsMHg4NCwweEM0LDB4NzQsMHhFNSwweEJFLDB4MDQsMHgwMCwweEU4LAotMHhBQSwweEZELDB4RUIsMHhERCwweEExLDB4NjAsMHgxMiwweEU2LDB4RkUsMHhFNCwweDgwLDB4ODQsMHhDNCwweDc1LDB4RUQsMHhBMSwKLTB4NUMsMHgxMiwweEU2LDB4RkUsMHhFNCwweDA0LDB4MDcsMHhFNCwweDA0LDB4MUYsMHhCOCwweDAwLDB4ODAsMHhCQSwweDIyLDB4RkYsCi0weEVGLDB4NjEsMHhDRiwweDkwLDB4NjAsMHgxRSwweDA2LDB4MkIsMHhDMCwweDhFLDB4RDgsMHhBMSwweDVFLDB4MTIsMHhFNiwweEZFLAotMHhFNCwweDAwLDB4MjIsMHhDNCwweDc0LDB4MTksMHhCRSwweDA0LDB4MDAsMHhFOCwweEVDLDB4RkQsMHhBMSwweDYyLDB4MTIsMHhFNiwKLTB4RkUsMHhFNCwweDgwLDB4ODQsMHhDNCwweDc0LDB4RTQsMHhCRSwweDA2LDB4MDAsMHhFOCwweDVGLDB4RkQsMHhFQiwweERDLDB4QTEsCi0weDYyLDB4MTIsMHhFNiwweEZFLDB4RTQsMHg4MCwweDg0LDB4QzQsMHg3NSwweEVELDB4QTEsMHg1RSwweDEyLDB4RTYsMHhGRSwweEU0LAotMHgwNCwweDA3LDB4RTQsMHgwNCwweDFGLDB4QjgsMHgwMCwweDgwLDB4QkEsMHgyMiwweEZGLDB4RUYsMHg2MSwweENGLDB4NjAsMHgxRSwKLTB4MDYsMHgyQiwweEMwLDB4OEUsMHhEOCwweEExLDB4NUMsMHgxMiwweEU2LDB4RkUsMHhFNCwweDgwLDB4ODQsMHhDNCwweDc0LDB4MTgsCi0weDMzLDB4RjYsMHhFOCwweDI3LDB4RkQsMHhBMSwweDYwLDB4MTIsMHhFNiwweEZFLDB4RTQsMHgwMCwweDIyLDB4QzQsMHg3NCwweEU1LAotMHhCRSwweDA4LDB4MDAsMHhFOCwweDkyLDB4RkQsMHhFQiwweERELDB4QTEsMHg2MCwweDEyLDB4RTYsMHhGRSwweEU0LDB4MDAsMHgyMiwKLTB4QzQsMHg3NSwweEVELDB4RTQsMHgwNCwweDA3LDB4RTQsMHgwNCwweDFGLDB4QjgsMHgwMCwweDgwLDB4QkEsMHgyMiwweEZGLDB4RUYsCi0weDYxLDB4Q0YsMHg2MCwweDFFLDB4MDYsMHgyQiwweEMwLDB4OEUsMHhEOCwweEExLDB4NUUsMHgxMiwweEU2LDB4RkUsMHhFNCwweDgwLAotMHg4NCwweEM0LDB4NzQsMHgxOSwweEJFLDB4MDIsMHgwMCwweEU4LDB4RTIsMHhGQywweEExLDB4NjIsMHgxMiwweEU2LDB4RkUsMHhFNCwKLTB4MDAsMHgyMiwweEM0LDB4NzQsMHhFNCwweEJFLDB4MEMsMHgwMCwweEU4LDB4NEQsMHhGRCwweEVCLDB4REMsMHhBMSwweDYyLDB4MTIsCi0weEU2LDB4RkUsMHhFNCwweDAwLDB4MjIsMHhDNCwweDc1LDB4RUQsMHhFNCwweDA0LDB4MDcsMHhFNCwweDA0LDB4MUYsMHhCOCwweDAwLAotMHg4MCwweEJBLDB4MjIsMHhGRiwweEVGLDB4NjEsMHhDRiwweDkwLDB4NjAsMHgxRSwweDA2LDB4MkIsMHhDMCwweDhFLDB4RDgsMHhBMSwKLTB4NUMsMHgxMiwweEU2LDB4RkUsMHhFNCwweDgwLDB4ODQsMHhDNCwweDc0LDB4MTgsMHgzMywweEY2LDB4RTgsMHg5RCwweEZDLDB4QTEsCi0weDYwLDB4MTIsMHhFNiwweEZFLDB4RTQsMHg4MCwweDg0LDB4QzQsMHg3NCwweEU1LDB4QkUsMHgwNCwweDAwLDB4RTgsMHg4QywweEZDLAotMHhFQiwweERELDB4QTEsMHg2MCwweDEyLDB4RTYsMHhGRSwweEU0LDB4ODAsMHg4NCwweEM0LDB4NzUsMHhFRCwweDA3LDB4MUYsMHhCOCwKLTB4MDAsMHg4MCwweEJBLDB4MjIsMHhGRiwweEVGLDB4NjEsMHhDRiwweDYwLDB4MUUsMHgwNiwweDJCLDB4QzAsMHg4RSwweEQ4LDB4QTEsCi0weDVFLDB4MTIsMHhFNiwweEZFLDB4RTQsMHg4MCwweDg0LDB4QzQsMHg3NCwweDE5LDB4QkUsMHgwMiwweDAwLDB4RTgsMHg1QywweEZDLAotMHhBMSwweDYyLDB4MTIsMHhFNiwweEZFLDB4RTQsMHg4MCwweDg0LDB4QzQsMHg3NCwweEU0LDB4QkUsMHgwNiwweDAwLDB4RTgsMHg0QiwKLTB4RkMsMHhFQiwweERDLDB4QTEsMHg2MiwweDEyLDB4RTYsMHhGRSwweEU0LDB4ODAsMHg4NCwweEM0LDB4NzUsMHhFRCwweDA3LDB4MUYsCi0weEI4LDB4MDAsMHg4MCwweEJBLDB4MjIsMHhGRiwweEVGLDB4NjEsMHhDRiwweDkwLDB4NjAsMHgxRSwweDA2LDB4MkIsMHhDMCwweDhFLAotMHhEOCwweDkwLDB4MkEsMHhDMCwweEU2LDB4RkUsMHhFNCwweENFLDB4QTgsMHgwMSwweDc0LDB4MTQsMHgzMywweERCLDB4RTgsMHhENSwKLTB4RjYsMHhFQiwweEVGLDB4OTAsMHhCOCwweDAwLDB4ODAsMHhCQSwweDIyLDB4RkYsMHhFRiwweDA3LDB4MUYsMHg2MSwweENGLDB4OTAsCi0weEY2LDB4MDYsMHgwNSwweDAxLDB4MDEsMHg3NSwweEVELDB4QjAsMHgwMSwweEU2LDB4RkUsMHhFNCwweENFLDB4QTgsMHgwMSwweDc0LAotMHhFMywweEJCLDB4MDQsMHgwMCwweEU4LDB4QUYsMHhGNiwweEVCLDB4QzksMHg5MCwweDYwLDB4MUUsMHgwNiwweDJCLDB4QzAsMHg4RSwKLTB4RDgsMHg5MCwweEZCLDB4OTAsMHhGQSwweDJBLDB4QzAsMHhFNiwweEZFLDB4RTQsMHhDRSwweEE4LDB4MDIsMHg3NCwweDEzLDB4MzMsCi0weERCLDB4RTgsMHhDQywweEY4LDB4RUIsMHhFQywweEI4LDB4MDAsMHg4MCwweEJBLDB4MjIsMHhGRiwweEVGLDB4MDcsMHgxRiwweDYxLAotMHhDRiwweDkwLDB4QTgsMHgwNCwweDc0LDB4RjAsMHgzMywweERCLDB4RTgsMHg1QiwweEY3LDB4RUIsMHhENSwweDkwLDB4NjAsMHgxRSwKLTB4MDYsMHgyQiwweEMwLDB4OEUsMHhEOCwweDkwLDB4RkIsMHg5MCwweEZBLDB4QjAsMHgwMSwweEU2LDB4RkUsMHhFNCwweENFLDB4QTgsCi0weDAyLDB4NzQsMHgxNSwweEJCLDB4MDQsMHgwMCwweEU4LDB4OTcsMHhGOCwweEVCLDB4RUIsMHg5MCwweEI4LDB4MDAsMHg4MCwweEJBLAotMHgyMiwweEZGLDB4RUYsMHgwNywweDFGLDB4NjEsMHhDRiwweDkwLDB4QTgsMHgwNCwweDc0LDB4RjAsMHhCQiwweDA0LDB4MDAsMHhFOCwKLTB4MjQsMHhGNywweEVCLDB4RDIsMHg2QSwweDAwLDB4MUYsMHhDNiwweDA2LDB4OTMsMHgxMiwweDA5LDB4OUMsMHgwRSwweEU4LDB4NkIsCi0weEYyLDB4OTAsMHg2QSwweDAwLDB4MUYsMHhDNiwweDA2LDB4OTMsMHgxMiwweDI5LDB4OUMsMHgwRSwweEU4LDB4NUQsMHhGMiwweDkwLAotMHg3MiwweDIwLDB4NzIsMHgyMCwweDcyLDB4MjAsMHhDRSwweDFELDB4OTIsMHgxQywweEU2LDB4MUMsMHgxQSwweDFFLDB4NzIsMHgyMCwKLTB4ODIsMHgxRCwweEFFLDB4MUUsMHgzOCwweDFGLDB4NzIsMHgyMCwweDgyLDB4MUQsMHg3MiwweDIwLDB4NzIsMHgyMCwweDM4LDB4MUYsCi0weDcyLDB4MjAsMHg3MiwweDIwLDB4NzIsMHgyMCwweEY0LDB4MUQsMHhCQywweDFDLDB4MzQsMHgxRCwweDY0LDB4MUUsMHg3MiwweDIwLAotMHhBOCwweDFELDB4RjIsMHgxRSwweDc4LDB4MUYsMHg3MiwweDIwLDB4QTgsMHgxRCwweDcyLDB4MjAsMHg3MiwweDIwLDB4NzgsMHgxRiwKLTB4RkMsMHhCOSwweDQwLDB4MDAsMHg4QywweENCLDB4QjgsMHg2NCwweDIwLDB4MkIsMHhGRiwweEFCLDB4OTMsMHhBQiwweDkzLDB4RTIsCi0weEZBLDB4QzcsMHgwNiwweDRDLDB4MDAsMHhBOCwweDExLDB4ODMsMHgzRSwweDQ0LDB4MTIsMHgwMCwweDc1LDB4MjAsMHhDNywweDA2LAotMHgzQywweDAwLDB4MDgsMHg0QiwweEM3LDB4MDYsMHgzMCwweDAwLDB4QkEsMHgxRiwweEM3LDB4MDYsMHgzNCwweDAwLDB4RkEsMHgxRiwKLTB4RjYsMHgwNiwweDA1LDB4MDEsMHgwMSwweDc1LDB4MDYsMHhDNywweDA2LDB4MzgsMHgwMCwweDJFLDB4MjAsMHhDMywweEM3LDB4MDYsCi0weDNDLDB4MDAsMHg1NiwweDRCLDB4MzMsMHhEQiwweDhBLDB4MUUsMHg1NCwweDEyLDB4QzEsMHhFMywweDAyLDB4MDIsMHgxRSwweDU2LAotMHgxMiwweDJFLDB4OEIsMHg4NywweDgwLDB4MjAsMHhBMywweDMwLDB4MDAsMHg4QSwweDFFLDB4NTUsMHgxMiwweEMxLDB4RTMsMHgwMiwKLTB4MDIsMHgxRSwweDU3LDB4MTIsMHgyRSwweDhCLDB4ODcsMHhBMCwweDIwLDB4QTMsMHgzNCwweDAwLDB4QzMsMHg4QiwweDg2LDB4OUUsCi0weDAwLDB4RTYsMHhGRSwweDg2LDB4QzQsMHhFNiwweEQwLDB4QzMsMHg4QiwweDg2LDB4OUUsMHgwMCwweEU2LDB4RkUsMHgzMywweEQyLAotMHg4QSwweEQ0LDB4QzMsMHg1MSwweEI5LDB4MTAsMHgyNywweEU0LDB4MEEsMHg5MCwweDkwLDB4ODQsMHhDMCwweDc0LDB4MDUsMHhFMiwKLTB4RjYsMHg1OSwweEY5LDB4QzMsMHg1OSwweEY4LDB4QzMsMHg4NCwweEMwLDB4NzgsMHgxRSwweDUxLDB4OEEsMHhFOCwweDhBLDB4QzgsCi0weEI4LDB4MDEsMHgwMCwweEQzLDB4RTAsMHgwOSwweDg2LDB4OTgsMHgwMCwweDNBLDB4QUUsMHhBMCwweDAwLDB4NTksMHg3NSwweDEwLAotMHhFOCwweEE5LDB4RTUsMHg4MywweDRFLDB4MjYsMHgwMiwweEY5LDB4QzMsMHg5OCwweDg5LDB4ODYsMHg5OCwweDAwLDB4RUIsMHhGMCwKLTB4RjgsMHhDMywweDg0LDB4QzAsMHg3OCwweDEyLDB4NTEsMHg4QSwweEUwLDB4OEEsMHhDOCwweEI4LDB4MDEsMHgwMCwweEQzLDB4RTAsCi0weDU5LDB4RjcsMHhEMCwweDIxLDB4ODYsMHg5OCwweDAwLDB4QzMsMHhDNywweDg2LDB4OTgsMHgwMCwweDAwLDB4MDAsMHhDMywweDgzLAotMHhDMiwweDA0LDB4OEEsMHg4NiwweEE2LDB4MDAsMHgwQywweDA0LDB4RUUsMHg4MywweEVBLDB4MDQsMHhDMywweEU4LDB4OTMsMHhGRiwKLTB4NzIsMHgwNCwweEIwLDB4ODIsMHhFNiwweDBBLDB4QzMsMHg4QiwweDQ2LDB4MjYsMHhBOCwweEZELDB4NzQsMHgxMSwweDhBLDB4ODYsCi0weEE1LDB4MDAsMHhBOCwweDA2LDB4NzQsMHgwOCwweDI0LDB4RjksMHg4OCwweDg2LDB4QTUsMHgwMCwweEU2LDB4MEMsMHhDMywweEY2LAotMHhDNCwweDAxLDB4NzQsMHgwQSwweDhBLDB4ODYsMHhBNSwweDAwLDB4MjQsMHhGQiwweDBDLDB4MDIsMHhFQiwweDBDLDB4QTgsMHgwMiwKLTB4NzUsMHgwRiwweDhBLDB4ODYsMHhBNSwweDAwLDB4MjQsMHhGRCwweDBDLDB4MDQsMHgzQSwweDg2LDB4QTUsMHgwMCwweDc1LDB4RDgsCi0weEMzLDB4OEEsMHg4NiwweEE1LDB4MDAsMHhFQiwweENGLDB4RTQsMHhEOCwweDMzLDB4REIsMHg4QSwweEQ4LDB4QzAsMHhFQiwweDA0LAotMHgyRSwweDhBLDB4OUYsMHg2NiwweDE3LDB4ODgsMHg5RSwweEE5LDB4MDAsMHg4QiwweDVFLDB4MjYsMHg4MCwweEUzLDB4M0YsMHhGNiwKLTB4QzcsMHgwNCwweDc0LDB4MDcsMHhBOCwweDEwLDB4NzUsMHgwMywweDgwLDB4Q0IsMHg0MCwweEY2LDB4QzcsMHgwOCwweDc0LDB4MDcsCi0weEE4LDB4ODAsMHg3NSwweDAzLDB4ODAsMHhDQiwweDQwLDB4ODgsMHg1RSwweDI2LDB4OEEsMHg4NiwweEE1LDB4MDAsMHhGNiwweEMzLAotMHhGRCwweDc0LDB4MEQsMHhBOCwweDA2LDB4NzQsMHgwOCwweDI0LDB4RjksMHg4OCwweDg2LDB4QTUsMHgwMCwweEU2LDB4MEMsMHhDMywKLTB4RjYsMHhDNywweDAxLDB4NzQsMHgwNCwweDBDLDB4MDIsMHhFQiwweEYwLDB4RjYsMHhDMywweDAyLDB4NzUsMHhFOSwweDBDLDB4MDQsCi0weEVCLDB4RTcsMHhDNCwweDA0LDB4QzQsMHgwNCwweDg1LDB4MDQsMHg1OSwweDA0LDB4NDgsMHgwNCwweDQxLDB4MDQsMHhDMywweDAzLAotMHg4MiwweDAzLDB4NDEsMHgwMywweDgyLDB4MDIsMHg1NywweDAyLDB4NDEsMHgwMiwweDgyLDB4MDEsMHg0MSwweDAxLDB4ODIsMHgwMCwKLTB4NDEsMHgwMCwweDRFLDB4MDIsMHhBRCwweDAxLDB4NTcsMHgwMSwweDJELDB4MDAsMHgyQiwweDAwLDB4MjcsMHgwMCwweDIxLDB4MDAsCi0weDE2LDB4MDAsMHhGNCwweDA0LDB4RjQsMHgwNCwweEEzLDB4MDQsMHg2RiwweDA0LDB4NUIsMHgwNCwweDUxLDB4MDQsMHhGNCwweDAzLAotMHhBMywweDAzLDB4NTEsMHgwMywweEEzLDB4MDIsMHg2RCwweDAyLDB4NTEsMHgwMiwweEEzLDB4MDEsMHg1MSwweDAxLDB4QTMsMHgwMCwKLTB4NTEsMHgwMCwweDYyLDB4MDIsMHhEOSwweDAxLDB4NkQsMHgwMSwweDM4LDB4MDAsMHgzNiwweDAwLDB4MzEsMHgwMCwweDI5LDB4MDAsCi0weDFCLDB4MDAsMHg1MSwweDU3LDB4QkYsMHgwMiwweDAwLDB4RUIsMHgwRiwweDkwLDB4NTEsMHg1NiwweEJGLDB4MDEsMHgwMCwweEVCLAotMHgwNywweDkwLDB4NTEsMHg1NiwweEJGLDB4MDMsMHgwMCwweDkwLDB4M0MsMHgxOSwweDc2LDB4MDIsMHhCMCwweDE3LDB4OTgsMHg4QiwKLTB4RjAsMHg4QSwweDgyLDB4QzQsMHgwMCwweDJBLDB4RTQsMHg4QiwweEYwLDB4ODMsMHhGRSwweDE4LDB4NzMsMHg0NiwweEQxLDB4RTYsCi0weDJFLDB4OEIsMHg4QywweDUyLDB4MjIsMHhGNywweDQ2LDB4MzgsMHg4MCwweDAwLDB4NzQsMHgwNSwweDJFLDB4OEIsMHg4QywweDgyLAotMHgyMiwweEY3LDB4QzcsMHgwMiwweDAwLDB4NzQsMHgxMiwweDNCLDB4OEUsMHg5NCwweDAwLDB4NzQsMHgwQywweDg5LDB4OEUsMHg5NCwKLTB4MDAsMHg4QSwweEM1LDB4RTYsMHhFQywweDhBLDB4QzEsMHhFNiwweEU0LDB4RjcsMHhDNywweDAxLDB4MDAsMHg3NCwweDEyLDB4M0IsCi0weDhFLDB4OTYsMHgwMCwweDc0LDB4MEMsMHg4OSwweDhFLDB4OTYsMHgwMCwweDhBLDB4QzUsMHhFNiwweEY4LDB4OEEsMHhDMSwweEU2LAotMHhGMCwweDVFLDB4NTksMHhDMywweDc3LDB4MDYsMHg4QiwweDhFLDB4OEUsMHgwMCwweEVCLDB4QzUsMHg4QiwweDhFLDB4OTAsMHgwMCwKLTB4RUIsMHhCRiwweEQ1LDB4MDMsMHhGNiwweDAwLDB4M0UsMHgwMCwweDEwLDB4MDAsMHgwNCwweDAwLDB4Q0EsMHgwNCwweDMzLDB4MDEsCi0weDRELDB4MDAsMHgxNCwweDAwLDB4MDUsMHgwMCwweDAxLDB4MDMsMHgwNSwweDA3LDB4MDksMHgwMCwweDAxLDB4MDIsMHgwMywweDA0LAotMHg4MCwweDg0LDB4MUUsMHgwMCwweEEwLDB4MjUsMHgyNiwweDAwLDB4MDAsMHgwMCwweDYwLDB4OEIsMHhGMCwweDMzLDB4RkYsMHgyRSwKLTB4QTEsMHg1MCwweDIzLDB4MkUsMHg4QiwweDE2LDB4NTIsMHgyMywweEJCLDB4MzIsMHgyMywweEY3LDB4NDYsMHgzOCwweDgwLDB4MDAsCi0weDc0LDB4MEMsMHgyRSwweEExLDB4NTQsMHgyMywweDJFLDB4OEIsMHgxNiwweDU2LDB4MjMsMHhCQiwweDNDLDB4MjMsMHhCOSwweDA1LAotMHgwMCwweDJFLDB4M0IsMHgzMSwweDczLDB4MEEsMHg0NywweDQ3LDB4RTIsMHhGNywweEI4LDB4RkYsMHhGRiwweEVCLDB4MUQsMHg5MCwKLTB4RDEsMHhFRiwweDJFLDB4OEEsMHg4RCwweDQ2LDB4MjMsMHgyQSwweEVELDB4RDEsMHhFQSwweEQxLDB4RDgsMHhFMiwweEZBLDB4RjcsCi0weEY2LDB4MDUsMHgwMiwweDAwLDB4QzEsMHhFOCwweDAyLDB4MkUsMHg4QSwweEE1LDB4NEIsMHgyMywweDJFLDB4QTMsMHg1OCwweDIzLAotMHg2MSwweDJFLDB4QTEsMHg1OCwweDIzLDB4QzMsMHgwOCwweDAwLDB4MjAsMHgwMCwweDgwLDB4MDAsMHgwMCwweDAyLDB4NjAsMHgwOSwKLTB4MDgsMHgwMCwweDIwLDB4MDAsMHg4MCwweDAwLDB4MDAsMHgwMiwweDAwLDB4MDgsMHgwMCwweDAwLDB4MDEsMHgwMCwweDAyLDB4MDAsCi0weDAzLDB4MDAsMHgwNCwweDAwLDB4NTIsMHg1NiwweDU3LDB4ODUsMHhDMCwweDc0LDB4MDUsMHgzRCwweDAxLDB4MDksMHg3NiwweDAzLAotMHhCOCwweDAxLDB4MDksMHhCRiwweDVCLDB4MDEsMHhGNywweDQ2LDB4MzgsMHg4MCwweDAwLDB4NzQsMHgwMywweEJGLDB4QjIsMHgwMSwKLTB4MzMsMHhGNiwweDJFLDB4M0IsMHg4NCwweEI2LDB4MjMsMHg3NiwweDA0LDB4NDYsMHg0NiwweEVCLDB4RjUsMHhGNywweEU3LDB4MkUsCi0weDhCLDB4QkMsMHhDMCwweDIzLDB4MDMsMHhDNywweDgzLDB4RDIsMHgwMCwweEQxLDB4RTcsMHhGNywweEY3LDB4MkUsMHg4QSwweEE0LAotMHhDQSwweDIzLDB4NUYsMHg1RSwweDVBLDB4QzMsMHhFNCwweDNFLDB4ODAsMHhCRSwweEMzLDB4MDAsMHgwMywweDc1LDB4MEMsMHhGNywKLTB4NDYsMHg3QSwweDIwLDB4MDAsMHg3NCwweDA1LDB4MEMsMHg4MCwweEU2LDB4M0UsMHhDMywweDI0LDB4N0YsMHhFNiwweDNFLDB4QzMsCi0weDI0LDB4MDMsMHg4OCwweDg2LDB4QzMsMHgwMCwweDhBLDB4RTAsMHhFNCwweDEwLDB4MjQsMHhGQywweDBBLDB4QzQsMHhFNiwweDEwLAotMHg4MCwweDhFLDB4QTEsMHgwMCwweDQyLDB4RTgsMHhDRSwweEZGLDB4QzMsMHg5MCwweDU2LDB4OEIsMHhGMCwweDgzLDB4RTYsMHgwNywKLTB4RDEsMHhFNiwweDJFLDB4RkYsMHhBNCwweDU4LDB4MjQsMHg5MCwweDY4LDB4MjQsMHg2QywweDI0LDB4NzAsMHgyNCwweDc0LDB4MjQsCi0weDc4LDB4MjQsMHg4NywweDI0LDB4ODcsMHgyNCwweDg3LDB4MjQsMHhCNCwweDAwLDB4RUIsMHgwRSwweEI0LDB4QzAsMHhFQiwweDBBLAotMHhCNCwweDQwLDB4RUIsMHgwNiwweEI0LDB4MjAsMHhFQiwweDAyLDB4QjQsMHhBMCwweEU0LDB4MTAsMHgyNCwweDFGLDB4MEEsMHhDNCwKLTB4RTYsMHgxMCwweDgwLDB4OEUsMHhBMSwweDAwLDB4NDIsMHg1RSwweEMzLDB4OTAsMHgzQywweDAyLDB4NzcsMHgxMiwweDhBLDB4RTAsCi0weEU0LDB4MTAsMHgyNCwweEYzLDB4QzAsMHhFNCwweDAyLDB4MEEsMHhDNCwweEU2LDB4MTAsMHg4MCwweDhFLDB4QTEsMHgwMCwweDQyLAotMHhDMywweDkwLDB4OEIsMHg1RSwweDM4LDB4ODQsMHhDMCwweDc0LDB4MUYsMHgzQywweDAyLDB4NzQsMHgyMCwweDgzLDB4Q0IsMHgwOCwKLTB4OEIsMHg0NiwweDJFLDB4M0IsMHg0NiwweDNDLDB4NzcsMHgwQywweEU4LDB4ODgsMHhGQywweDcyLDB4MDcsMHhCMCwweDI0LDB4RTYsCi0weDBBLDB4ODMsMHhDQiwweDEwLDB4ODksMHg1RSwweDM4LDB4QzMsMHg4MywweEUzLDB4RjcsMHhFQiwweEY3LDB4RjcsMHhDMywweDEwLAotMHgwMCwweDc0LDB4RjUsMHhFOCwweDZELDB4RkMsMHg3MiwweEVDLDB4OEEsMHg4NiwweEMwLDB4MDAsMHhFNiwweDM4LDB4QjAsMHgyMywKLTB4RTYsMHgwQSwweEVCLDB4RTAsMHg4QiwweDVFLDB4MzgsMHg4QiwweDQ2LDB4MkUsMHgzQiwweDQ2LDB4M0MsMHhFNCwweEQ4LDB4NzcsCi0weDBCLDB4MjQsMHhGRSwweDgwLDB4Q0IsMHgxMiwweEU2LDB4RDgsMHg4OSwweDVFLDB4MzgsMHhDMywweDBDLDB4MDEsMHg4MCwweENCLAotMHgwMiwweEVCLDB4RjMsMHg1MCwweDMzLDB4REIsMHhDMSwweEU4LDB4MDQsMHgyNSwweDBGLDB4MEYsMHg4QSwweEQ4LDB4MkUsMHg4QSwKLTB4ODcsMHg2NiwweDE3LDB4OEEsMHhEQywweDJFLDB4OEEsMHhBNywweDY2LDB4MTcsMHgwOSwweDQ2LDB4M0UsMHg1OCwweEMzLDB4NTAsCi0weDMzLDB4REIsMHhDMSwweEU4LDB4MDQsMHgyNSwweDBGLDB4MEYsMHg4QSwweEQ4LDB4MkUsMHg4QSwweDg3LDB4NjYsMHgxNywweDhBLAotMHhEQywweDJFLDB4OEEsMHhBNywweDY2LDB4MTcsMHhGNywweEQwLDB4MjEsMHg0NiwweDNFLDB4NTgsMHhDMywweDhCLDB4NDYsMHgzRSwKLTB4MzMsMHhEQiwweDhBLDB4RDgsMHgwQSwweERDLDB4MkUsMHg4QSwweDg3LDB4NzYsMHgxNywweEU2LDB4MkMsMHg4QSwweEUwLDB4RTQsCi0weDJBLDB4MjQsMHgwRiwweDBBLDB4QzQsMHhFNiwweDJBLDB4OEEsMHg4NiwweEE1LDB4MDAsMHg4NCwweEU0LDB4NzUsMHgwRCwweEE4LAotMHg4MCwweDc0LDB4MTEsMHgyNCwweDdGLDB4ODgsMHg4NiwweEE1LDB4MDAsMHhFNiwweDBDLDB4QzMsMHhBOCwweDgwLDB4NzUsMHgwNCwKLTB4MEMsMHg4MCwweEVCLDB4RjEsMHhDMywweDFFLDB4NjAsMHgzMywweEM5LDB4MzMsMHhEMiwweDMzLDB4RjYsMHg4RSwweEQ5LDB4OEQsCi0weEJFLDB4RkQsMHgwMCwweDU3LDB4OEIsMHgwNSwweDg0LDB4QzAsMHg3NCwweDE2LDB4OEIsMHhEMSwweDQyLDB4OEIsMHhGRSwweDRGLAotMHg3OCwweDA5LDB4MzgsMHhBMywweEU0LDB4MDAsMHg3NCwweDA4LDB4NEYsMHg3OSwweEY3LDB4ODgsMHhBMiwweEU0LDB4MDAsMHg0NiwKLTB4NUYsMHg4MywweEM3LDB4MDksMHg0MSwweDgzLDB4RjksMHgxMCwweDcyLDB4RDksMHg4OSwweEI2LDB4ODYsMHgwMCwweDg5LDB4OTYsCi0weDg0LDB4MDAsMHg2MSwweDFGLDB4QzMsMHg1MywweEM3LDB4NDYsMHg2NiwweDAwLDB4MDAsMHg4QiwweDQ2LDB4NjQsMHhBOSwweDQwLAotMHgwMCwweDc0LDB4MEQsMHhCMywweDAwLDB4QTksMHg4MCwweDAwLDB4NzQsMHgwMiwweEIzLDB4N0YsMHg4OCwweDlFLDB4QzEsMHgwMCwKLTB4MzIsMHhEQiwweEE5LDB4MDIsMHgwMCwweDc0LDB4MDMsMHg4MCwweENCLDB4NDAsMHhBOSwweDAwLDB4NDAsMHg3NCwweDAzLDB4ODAsCi0weENCLDB4MDIsMHhBOSwweDAwLDB4ODAsMHg3NCwweDAzLDB4ODAsMHhDQiwweDAxLDB4QTksMHgzMCwweDFFLDB4NzQsMHgwMywweDgwLAotMHhDQiwweEJDLDB4QTksMHgwMCwweDIwLDB4NzQsMHgwMywweDgwLDB4Q0IsMHgwOCwweEE5LDB4MDQsMHgwMSwweDc0LDB4MDMsMHg4MCwKLTB4Q0IsMHgxMCwweEE5LDB4MDgsMHgwMCwweDc0LDB4MDMsMHg4MCwweENCLDB4MjAsMHg4OCwweDlFLDB4QzIsMHgwMCwweDVCLDB4QzMsCi0weDA2LDB4NTEsMHg1NywweDUwLDB4MTYsMHgwNywweDhELDB4QkUsMHhDNCwweDAwLDB4QjksMHgxRiwweDAwLDB4MzMsMHhDMCwweEFBLAotMHg0MCwweEUyLDB4RkMsMHg4QiwweDg2LDB4OTIsMHgwMCwweDg5LDB4ODYsMHg4RSwweDAwLDB4ODksMHg4NiwweDkwLDB4MDAsMHg1OCwKLTB4NUYsMHg1OSwweDA3LDB4QzMsMHhFNCwweEQ4LDB4QzAsMHhFOCwweDA0LDB4NTMsMHgyNSwweDBGLDB4MDAsMHg4QiwweEQ4LDB4MkUsCi0weDhBLDB4ODcsMHg2NiwweDE3LDB4ODgsMHg4NiwweEE5LDB4MDAsMHg1QSwweEMzLDB4MDgsMHg4NiwweEFDLDB4MDAsMHhDNiwweDg2LAotMHhCQSwweDAwLDB4MDEsMHhCMCwweDBFLDB4RTgsMHhFQSwweEU5LDB4QzMsMHhBRCwweDM2LDB4QTMsMHhCNCwweDEzLDB4QUQsMHgzNiwKLTB4QTMsMHhCNiwweDEzLDB4QUQsMHgzNiwweEEzLDB4QjgsMHgxMywweDgzLDB4RTksMHgwNiwweDM2LDB4RjcsMHgwNiwweEI2LDB4MTMsCi0weDBGLDB4MDAsMHhDMywweDhBLDB4NDYsMHgyNiwweEY3LDB4NDYsMHg0OCwweDgwLDB4MDAsMHg3NCwweDAyLDB4MEMsMHgxMCwweDg4LAotMHg4NiwweEJELDB4MDAsMHgzMiwweEMwLDB4ODMsMHg3RSwweDFBLDB4MDAsMHg3NSwweDBFLDB4OEIsMHg1RSwweDQwLDB4NDMsMHg4MCwKLTB4RTMsMHhGRSwweDNCLDB4NUUsMHgwOCwweDc1LDB4MDIsMHgwQywweDAxLDB4ODMsMHg3RSwweDNBLDB4MDAsMHg3NSwweDBELDB4MUUsCi0weEM1LDB4NUUsMHgxNCwweDhCLDB4MUYsMHgxRiwweDg1LDB4REIsMHg3NSwweDAyLDB4MEMsMHgwMiwweEY3LDB4NDYsMHgzOCwweDEwLAotMHgwMCwweDc0LDB4MDIsMHgwQywweDA0LDB4OEIsMHg1RSwweDdBLDB4RjcsMHhDMywweDAyLDB4MDAsMHg3NCwweDAyLDB4MEMsMHgwOCwKLTB4RjcsMHhDMywweDA0LDB4MDAsMHg3NCwweDAyLDB4MEMsMHgxMCwweEY3LDB4QzMsMHgwOCwweDAwLDB4NzQsMHgwMiwweDBDLDB4MjAsCi0weEY3LDB4QzMsMHg0MCwweDAwLDB4NzQsMHgwMiwweDBDLDB4NDAsMHg4OCwweDg2LDB4QkYsMHgwMCwweEMzLDB4OTAsMHg2QSwweDAwLAotMHgxRiwweEM2LDB4MDYsMHg5MywweDEyLDB4MEQsMHg5QywweDBFLDB4RTgsMHhGMSwweEVCLDB4OTAsMHhCMCwweDAyLDB4RTYsMHhEQSwKLTB4RjgsMHhDMywweDMzLDB4QzAsMHhFNiwweERBLDB4RjgsMHhDMywweEIwLDB4MDEsMHhFNiwweEQ4LDB4RjgsMHhDMywweDMzLDB4QzAsCi0weEU2LDB4RDgsMHhGOCwweEMzLDB4QjAsMHhGRiwweEU4LDB4NEUsMHhGQSwweEU4LDB4QTEsMHhGQSwweEY4LDB4QzMsMHhBQywweDQ5LAotMHhFOCwweEFGLDB4RkIsMHhGOCwweEMzLDB4OTAsMHhBQywweDQ5LDB4RTgsMHgxNSwweEZELDB4RjgsMHhDMywweDkwLDB4QUMsMHg0OSwKLTB4RTgsMHg2NywweEZELDB4RjgsMHhDMywweDkwLDB4QUMsMHg0OSwweEU4LDB4MUYsMHhGRCwweEY4LDB4QzMsMHg5MCwweEFDLDB4NDksCi0weEU2LDB4MzQsMHhGOCwweEMzLDB4QUMsMHg0OSwweEU2LDB4MzYsMHhGOCwweEMzLDB4QUMsMHg0OSwweDNDLDB4MDIsMHg3NywweDFGLAotMHg4NCwweEMwLDB4NzUsMHgxRCwweEU0LDB4MTQsMHgyNCwweEVGLDB4RTYsMHgxNCwweEU0LDB4MTIsMHgyNCwweDNGLDB4RTYsMHgxMiwKLTB4RTQsMHgxNiwweEE4LDB4MDQsMHg3NCwweDA5LDB4RTgsMHhFQSwweEY5LDB4NzIsMHgwNCwweEIwLDB4MTgsMHhFNiwweDBBLDB4RjgsCi0weEMzLDB4OEEsMHhFMCwweEU0LDB4MTQsMHgwQywweDEwLDB4RTYsMHgxNCwweEU0LDB4MTIsMHgwQywweEMwLDB4RjYsMHhDNCwweDAxLAotMHg3NCwweDAyLDB4MjQsMHg3RiwweEU2LDB4MTIsMHhGOCwweEMzLDB4QUMsMHg0OSwweEU4LDB4MjUsMHhGRCwweEY4LDB4QzMsMHg5MCwKLTB4QjgsMHgwMCwweDQwLDB4RTgsMHg3RCwweEZELDB4RTgsMHhCNCwweEZELDB4RTgsMHhBOCwweEZFLDB4QjAsMHgwMSwweEU4LDB4QjksCi0weEZFLDB4RjgsMHhDMywweDkwLDB4QjgsMHgwMCwweDQwLDB4RTgsMHg4NSwweEZELDB4RTgsMHhBMCwweEZELDB4RjgsMHhDMywweDkwLAotMHhCOCwweDAwLDB4MTAsMHhFOCwweDVELDB4RkQsMHhFOCwweDk0LDB4RkQsMHhFOCwweDg4LDB4RkUsMHhCMCwweDA4LDB4RTgsMHg5OSwKLTB4RkUsMHhGOCwweEMzLDB4OTAsMHhCOCwweDAwLDB4MTAsMHhFOCwweDY1LDB4RkQsMHhFOCwweDgwLDB4RkQsMHhGOCwweEMzLDB4OTAsCi0weEI4LDB4MDAsMHg4MCwweEU4LDB4M0QsMHhGRCwweEU4LDB4NzQsMHhGRCwweEU4LDB4NjgsMHhGRSwweEIwLDB4MDIsMHhFOCwweDc5LAotMHhGRSwweEY4LDB4QzMsMHg5MCwweEI4LDB4MDAsMHg4MCwweEU4LDB4NDUsMHhGRCwweEU4LDB4NjAsMHhGRCwweEY4LDB4QzMsMHg5MCwKLTB4QjgsMHgwMCwweDIwLDB4RTgsMHgxRCwweEZELDB4RTgsMHg1NCwweEZELDB4RTgsMHg0OCwweEZFLDB4QjAsMHgwNCwweEU4LDB4NTksCi0weEZFLDB4RjgsMHhDMywweDkwLDB4QjgsMHgwMCwweDIwLDB4RTgsMHgyNSwweEZELDB4RTgsMHg0MCwweEZELDB4RjgsMHhDMywweDkwLAotMHhBQywweDQ5LDB4RTgsMHg0OCwweDE0LDB4RTQsMHgzQywweDI0LDB4RTcsMHgwQSwweEM0LDB4RTYsMHgzQywweEY4LDB4QzMsMHg5MCwKLTB4QjgsMHhGQywweDNCLDB4ODksMHg0NiwweDdDLDB4RTQsMHgzQywweDBDLDB4MTgsMHhFNiwweDNDLDB4RjgsMHhDMywweEU0LDB4MTIsCi0weDBDLDB4MDIsMHhFNiwweDEyLDB4RjgsMHhDMywweEU0LDB4MTIsMHgyNCwweEZELDB4RUIsMHhGNiwweEU4LDB4QjUsMHhGQywweEY4LAotMHhDMywweDkwLDB4ODMsMHg2NiwweDM4LDB4RkQsMHhGOCwweEMzLDB4QUMsMHg0OSwweEE4LDB4MDEsMHg3NCwweDA2LDB4ODMsMHg0RSwKLTB4N0EsMHgyMCwweEVCLDB4MDQsMHg4MywweDY2LDB4N0EsMHhERiwweEU4LDB4Q0IsMHhGQiwweEY4LDB4QzMsMHg5MCwweDhBLDB4ODYsCi0weEE1LDB4MDAsMHgwQywweDAyLDB4MjQsMHhGQiwweDg4LDB4ODYsMHhBNSwweDAwLDB4RTYsMHgwQywweDgxLDB4NEUsMHgyNiwweDAxLAotMHgyMCwweEFDLDB4NDksMHgzMiwweEU0LDB4ODksMHg0NiwweDZFLDB4ODMsMHg0RSwweDQ4LDB4MDgsMHg0OSwweDQ2LDB4RjksMHhDMywKLTB4OEEsMHg4NiwweEE1LDB4MDAsMHgwQywweDAyLDB4MjQsMHhGQiwweDg4LDB4ODYsMHhBNSwweDAwLDB4RTYsMHgwQywweDgxLDB4NEUsCi0weDI2LDB4MDEsMHgyMCwweEFDLDB4QjQsMHgwQSwweEY2LDB4RTQsMHhFQiwweEQ4LDB4RTgsMHhGQSwweDEzLDB4RTQsMHgzQywweDI0LAotMHhGOCwweDBBLDB4QzQsMHhFNiwweDNDLDB4RjgsMHhDMywweDkwLDB4QUQsMHg0OSwweDQ5LDB4ODksMHg0NiwweDY0LDB4QTksMHgwMSwKLTB4MDAsMHg3NCwweDFCLDB4OEIsMHhEOCwweDgzLDB4RTMsMHhGQSwweDc1LDB4MUEsMHhBOSwweDA0LDB4MDAsMHg3NCwweDBGLDB4RTQsCi0weDNFLDB4MEMsMHgwMiwweEU2LDB4M0UsMHhCOCwweDM4LDB4NDQsMHg4OSwweDQ2LDB4NjIsMHhGOCwweEMzLDB4OTAsMHhFNCwweDNFLAotMHgyNCwweEZDLDB4RUIsMHhFRiwweEU0LDB4M0UsMHgyNCwweEZDLDB4RTYsMHgzRSwweEU4LDB4RTgsMHhGQywweEI4LDB4QUEsMHg0MCwKLTB4RUIsMHhFNiwweEU4LDB4NkUsMHhGOCwweDcyLDB4MDUsMHhCMCwweDE4LDB4RTYsMHgwQSwweEY4LDB4QzMsMHg5MCwweEFDLDB4NDksCi0weEU4LDB4Q0YsMHhGOSwweEY4LDB4QzMsMHg5MCwweEFDLDB4NDksMHhFOCwweENGLDB4RjksMHhGOCwweEMzLDB4OTAsMHhFOCwweDY4LAotMHhGRCwweDc1LDB4MDYsMHgzMiwweEMwLDB4RTYsMHhEQSwweEY4LDB4QzMsMHhCMCwweDAyLDB4RTYsMHhEQSwweDM2LDB4QTAsMHhCNCwKLTB4MTMsMHgyNCwweDEwLDB4MzQsMHgxMCwweEU4LDB4MTYsMHgwMSwweDM2LDB4QTEsMHhCNCwweDEzLDB4QTksMHgwMSwweDAwLDB4NzQsCi0weDA1LDB4RTgsMHhGQywweEZFLDB4RUIsMHgwRSwweEE5LDB4MDIsMHgwMCwweDc0LDB4MDQsMHgzMiwweEMwLDB4RUIsMHgwMiwweEIwLAotMHgwMSwweEU4LDB4REUsMHhGRSwweDM2LDB4QTEsMHhCNCwweDEzLDB4RTgsMHhCNSwweDEzLDB4RTQsMHgzQywweDI0LDB4RjgsMHgwQSwKLTB4QzQsMHhFNiwweDNDLDB4MzYsMHhBMSwweEI0LDB4MTMsMHhDMSwweEU4LDB4MDUsMHgyNSwweDAxLDB4MDAsMHhFOCwweEZBLDB4RkUsCi0weDM2LDB4QTAsMHhCNSwweDEzLDB4MjQsMHgxMCwweEU4LDB4NTksMHhGQiwweDMyLDB4QzAsMHgzNiwweDhBLDB4MjYsMHhCNSwweDEzLAotMHhGNiwweEM0LDB4MDQsMHg3NCwweDA5LDB4RkUsMHhDMCwweEY2LDB4QzQsMHgwOCwweDc0LDB4MDIsMHhGRSwweEMwLDB4RTgsMHhEQiwKLTB4RkQsMHgzNiwweEExLDB4QjYsMHgxMywweDI1LDB4MEYsMHgwMCwweEU4LDB4NTcsMHhGOSwweDM2LDB4QTEsMHhCNiwweDEzLDB4QzEsCi0weEU4LDB4MDQsMHgyNSwweDAzLDB4MDAsMHhFOCwweEI4LDB4RkEsMHgzNiwweEExLDB4QjYsMHgxMywweEMxLDB4RTgsMHgwNSwweDI1LAotMHgwMiwweDAwLDB4RTgsMHgwNSwweEZCLDB4MzYsMHhBMSwweEI2LDB4MTMsMHhGNiwweEM0LDB4MDEsMHg3NSwweDA0LDB4MzIsMHhDMCwKLTB4RUIsMHgwOSwweDgwLDB4RTQsMHgwMiwweEQwLDB4RUMsMHhCMCwweDAyLDB4MkEsMHhDNCwweEU4LDB4QUMsMHhGQSwweDM2LDB4RjYsCi0weDA2LDB4QjcsMHgxMywweDQwLDB4NzQsMHgwNSwweEU4LDB4ODMsMHhGRSwweEVCLDB4MDMsMHhFOCwweDg0LDB4RkUsMHgzNiwweEY2LAotMHgwNiwweEI3LDB4MTMsMHgyMCwweDc0LDB4MDUsMHhFOCwweDY1LDB4RkUsMHhFQiwweDAzLDB4RTgsMHg2OCwweEZFLDB4RjgsMHhDMywKLTB4RTQsMHgxMiwweDBDLDB4MDEsMHhFNiwweDEyLDB4RjgsMHhDMywweEU0LDB4MTIsMHgyNCwweEZFLDB4RUIsMHhGNiwweEU0LDB4MTQsCi0weDI0LDB4RjAsMHgwQywweDA1LDB4RTYsMHgxNCwweEU0LDB4MkEsMHgyNCwweEYwLDB4MEMsMHgwNiwweEU2LDB4MkEsMHhGOCwweEMzLAotMHhFNCwweDJBLDB4MjQsMHhGMCwweEU2LDB4MkEsMHhFNCwweDE0LDB4MjQsMHhGMCwweDBDLDB4MDcsMHhFNiwweDE0LDB4RjgsMHhDMywKLTB4QUQsMHg0OSwweDQ5LDB4RTgsMHg2NCwweEY5LDB4ODksMHg4NiwweDhFLDB4MDAsMHhGOCwweEMzLDB4QUQsMHg0OSwweDQ5LDB4RTgsCi0weDU4LDB4RjksMHg4OSwweDg2LDB4OTAsMHgwMCwweEY4LDB4QzMsMHg4MywweDRFLDB4MjYsMHgwNCwweEU4LDB4QTgsMHhGNywweEY4LAotMHhDMywweDkwLDB4ODMsMHg2NiwweDI2LDB4RkIsMHhFOCwweDlFLDB4RjcsMHhGOCwweEMzLDB4OTAsMHhBQywweDQ5LDB4ODQsMHhDMCwKLTB4NzUsMHgwRCwweEU0LDB4MTAsMHgyNCwweEVGLDB4RTYsMHgxMCwweDgwLDB4OEUsMHhBMSwweDAwLDB4NDIsMHhGOCwweEMzLDB4RTQsCi0weDEwLDB4MEMsMHgxMCwweEVCLDB4RjEsMHg5MCwweEFDLDB4NDksMHgzQywweDAyLDB4NzYsMHgwMiwweDMyLDB4QzAsMHhDMCwweEUwLAotMHgwNCwweEE4LDB4MjAsMHg3NCwweDAyLDB4MEMsMHgwOCwweDI0LDB4MTgsMHg4QSwweEUwLDB4RTQsMHgxMiwweDI0LDB4RTcsMHgwQSwKLTB4QzQsMHhFNiwweDEyLDB4ODAsMHg4RSwweEExLDB4MDAsMHg0NCwweEY4LDB4QzMsMHhBQywweDQ5LDB4ODgsMHg4NiwweEMwLDB4MDAsCi0weEY4LDB4QzMsMHhBQywweDQ5LDB4RTYsMHgzQSwweEY4LDB4QzMsMHhBQywweDQ5LDB4ODQsMHhDMCwweDc0LDB4MDgsMHhFNCwweDEyLAotMHgwQywweDA0LDB4RTYsMHgxMiwweEY4LDB4QzMsMHhFNCwweDEyLDB4MjQsMHhGQiwweEVCLDB4RjYsMHhBQywweDQ5LDB4RTgsMHhENiwKLTB4RjYsMHg3MywweDAzLDB4RTgsMHgyNywweEY3LDB4RjgsMHhDMywweEU0LDB4MTIsMHhBOCwweDAyLDB4NzQsMHgwNCwweDI0LDB4RkQsCi0weEU2LDB4MTIsMHhCOCwweEYwLDB4MDAsMHhFOCwweDg3LDB4RkEsMHg4MSwweDY2LDB4MjYsMHhGRiwweEYzLDB4RTgsMHg1NywweEY3LAotMHhFOCwweDlBLDB4RkEsMHhGOCwweEMzLDB4OTAsMHhCOCwweDgwLDB4MDAsMHhFOCwweDU3LDB4RkEsMHg4MCwweDRFLDB4MjcsMHgwOCwKLTB4RTgsMHg0NCwweEY3LDB4RTgsMHg4NywweEZBLDB4RjgsMHhDMywweEI4LDB4ODAsMHgwMCwweEU4LDB4NjEsMHhGQSwweDgxLDB4NjYsCi0weDI2LDB4RkYsMHhGNywweEU4LDB4MzEsMHhGNywweEU4LDB4NzQsMHhGQSwweEY4LDB4QzMsMHg5MCwweEI4LDB4MTAsMHgwMCwweEU4LAotMHgzMSwweEZBLDB4ODAsMHg0RSwweDI3LDB4MDQsMHhFOCwweDFFLDB4RjcsMHhFOCwweDYxLDB4RkEsMHhGOCwweEMzLDB4QjgsMHgxMCwKLTB4MDAsMHhFOCwweDNCLDB4RkEsMHg4MSwweDY2LDB4MjYsMHhGRiwweEZCLDB4RTgsMHgwQiwweEY3LDB4RTgsMHg0RSwweEZBLDB4RjgsCi0weEMzLDB4OTAsMHgzMywweEMwLDB4QUMsMHg0OSwweDNDLDB4MDEsMHg3MywweDA0LDB4QjAsMHgwMSwweEVCLDB4MDYsMHgzQywweDBDLAotMHg3NiwweDAyLDB4QjAsMHgwQywweDg5LDB4NDYsMHgxQywweEY4LDB4QzMsMHg5MCwweDgxLDB4NEUsMHgyNiwweDAwLDB4MjAsMHg4QSwKLTB4ODYsMHhBNSwweDAwLDB4MEMsMHgwMiwweDI0LDB4RkIsMHg4OCwweDg2LDB4QTUsMHgwMCwweEU2LDB4MEMsMHg4MywweDRFLDB4MjYsCi0weDAxLDB4RjgsMHhDMywweDkwLDB4ODEsMHg0RSwweDI2LDB4MDAsMHg0MCwweDhBLDB4ODYsMHhBNSwweDAwLDB4MEMsMHgwMiwweDg4LAotMHg4NiwweEE1LDB4MDAsMHhFNiwweDBDLDB4RjgsMHhDMywweDkwLDB4QUMsMHg0OSwweDUwLDB4RTgsMHgwNSwweEY2LDB4NTgsMHg3MiwKLTB4MDgsMHhFNiwweDM4LDB4QjAsMHgyMywweEU2LDB4MEEsMHhGOCwweEMzLDB4RjksMHhDMywweDkwLDB4QUMsMHg1MCwweEFELDB4RTgsCi0weDgyLDB4RjgsMHg1QSwweEY2LDB4QzIsMHgwMSwweDc0LDB4MTIsMHgzOSwweDg2LDB4OTYsMHgwMCwweDc0LDB4MEMsMHg4OSwweDg2LAotMHg5NiwweDAwLDB4RTYsMHhGMCwweDg2LDB4RTAsMHhFNiwweEY4LDB4ODYsMHhFMCwweEY2LDB4QzIsMHgwMiwweDc0LDB4MTAsMHgzOSwKLTB4ODYsMHg5NCwweDAwLDB4NzQsMHgwQSwweDg5LDB4ODYsMHg5NCwweDAwLDB4RTYsMHhFNCwweDg2LDB4RTAsMHhFNiwweEVDLDB4ODMsCi0weEU5LDB4MDMsMHhDMywweDkwLDB4RTQsMHgxNiwweDg4LDB4ODYsMHhCQywweDAwLDB4RTgsMHhFNiwweEZBLDB4MzMsMHhEQiwweEU0LAotMHgwQywweEE4LDB4MDYsMHg3NCwweDAzLDB4ODAsMHhDQiwweDAxLDB4QTgsMHgxMCwweDc0LDB4MDMsMHg4MCwweENCLDB4MDIsMHhBOCwKLTB4ODAsMHg3NCwweDAzLDB4ODAsMHhDQiwweDA0LDB4RTQsMHgxMiwweDhBLDB4RTAsMHgyNCwweDE4LDB4MEEsMHhEOCwweEU0LDB4REEsCi0weEY2LDB4QzQsMHgwMiwweDc0LDB4MDcsMHhBOCwweDQwLDB4NzUsMHgwMywweDgwLDB4Q0IsMHgyMCwweEE4LDB4MDIsMHg3NSwweDA5LAotMHhFNCwweDJBLDB4QTgsMHgwRiwweDc0LDB4MDMsMHg4MCwweENCLDB4NDAsMHhGNywweDQ2LDB4MzgsMHgwMiwweDAwLDB4NzQsMHgwOSwKLTB4RTQsMHhEOCwweEE4LDB4MDEsMHg3NSwweDAzLDB4ODAsMHhDQiwweDgwLDB4ODgsMHg5RSwweEJFLDB4MDAsMHhGRSwweDg2LDB4QjQsCi0weDAwLDB4QjAsMHgwQSwweEU4LDB4NUMsMHhFNCwweEY4LDB4QzMsMHhBQywweDQ5LDB4M0MsMHgwMiwweDc0LDB4NDEsMHg3NywweDFGLAotMHg1MCwweEU4LDB4NEYsMHhGNSwweDU4LDB4NzIsMHgwQywweDg0LDB4QzAsMHg3NCwweDBBLDB4QjAsMHgxMiwweEU2LDB4MEEsMHg4MCwKLTB4NEUsMHgzOCwweDAxLDB4RjgsMHhDMywweEIwLDB4MTEsMHhFNiwweDBBLDB4ODAsMHg2NiwweDM4LDB4RkUsMHhGOCwweEMzLDB4OEIsCi0weDQ2LDB4MzgsMHgyNSwweEZGLDB4RjcsMHg4OSwweDQ2LDB4MzgsMHhBOSwweDAwLDB4MDQsMHg3NSwweEU2LDB4OEEsMHg4NiwweEE1LAotMHgwMCwweEE4LDB4MTAsMHg3NSwweERFLDB4MEMsMHgxMCwweDg4LDB4ODYsMHhBNSwweDAwLDB4RTYsMHgwQywweEY4LDB4QzMsMHg4MSwKLTB4NEUsMHgzOCwweDAwLDB4MDgsMHg4QSwweDg2LDB4QTUsMHgwMCwweEE4LDB4MTAsMHg3NCwweEM3LDB4MjQsMHhFRiwweEVCLDB4RTcsCi0weEFELDB4NDksMHg0OSwweDNDLDB4MDEsMHg3MiwweDExLDB4M0MsMHgwQywweDc3LDB4MEQsMHg1MCwweDhBLDB4RTAsMHhFNCwweDE0LAotMHgyNSwweEYwLDB4MEYsMHgwQSwweEM0LDB4RTYsMHgxNCwweDU4LDB4OEEsMHhDNCwweDg0LDB4QzAsMHg3NCwweDAyLDB4RTYsMHg0MiwKLTB4RjgsMHhDMywweEU4LDB4Q0YsMHhGOSwweEZFLDB4ODYsMHhCOSwweDAwLDB4QjAsMHgwRSwweEU4LDB4RDQsMHhFMywweEY4LDB4QzMsCi0weDNBLDB4ODYsMHhBRiwweDAwLDB4NzQsMHgxRiwweDg4LDB4ODYsMHhBRiwweDAwLDB4OEEsMHhFMCwweDgwLDB4QzIsMHgwNiwweEIwLAotMHhCRiwweEVFLDB4ODAsMHhFQSwweDAyLDB4OEEsMHhDNCwweEVFLDB4OEEsMHg4NiwweEE4LDB4MDAsMHg4MCwweEMyLDB4MDIsMHhFRSwKLTB4ODAsMHhFQSwweDA2LDB4OEEsMHhDNCwweEMzLDB4OEIsMHg0NiwweDNFLDB4ODUsMHhDMCwweDhBLDB4ODYsMHhBNSwweDAwLDB4NzQsCi0weDEyLDB4QTgsMHgwOCwweDc1LDB4MEQsMHgwQywweDA4LDB4ODgsMHg4NiwweEE1LDB4MDAsMHg4MCwweEMyLDB4MDIsMHhFRSwweDgwLAotMHhFQSwweDAyLDB4QzMsMHhBOCwweDA4LDB4NzQsMHhGQiwweDI0LDB4RjcsMHhFQiwweEVDLDB4OEIsMHg0NiwweDI2LDB4ODQsMHhDMCwKLTB4NzQsMHgxNiwweDhBLDB4ODYsMHhBNSwweDAwLDB4QTgsMHgwMiwweDc0LDB4MEQsMHgyNCwweEZELDB4ODgsMHg4NiwweEE1LDB4MDAsCi0weDgzLDB4QzIsMHgwMiwweEVFLDB4ODMsMHhFQSwweDAyLDB4QzMsMHg4QSwweDg2LDB4QTUsMHgwMCwweEE4LDB4MDIsMHg3NSwweEY3LAotMHgwQywweDAyLDB4RUIsMHhFOCwweDUyLDB4ODMsMHhDMiwweDBDLDB4RUMsMHhDMCwweEU4LDB4MDQsMHg4OCwweDg2LDB4QTksMHgwMCwKLTB4OEIsMHg1RSwweDI2LDB4ODAsMHhFMywweDNGLDB4RjYsMHhDNywweDA0LDB4NzQsMHgwNywweEE4LDB4MDgsMHg3NSwweDAzLDB4ODAsCi0weENCLDB4NDAsMHhGNiwweEM3LDB4MDgsMHg3NCwweDA3LDB4QTgsMHgwMiwweDc1LDB4MDMsMHg4MCwweENCLDB4ODAsMHg4OCwweDVFLAotMHgyNiwweDhBLDB4ODYsMHhBNSwweDAwLDB4ODQsMHhEQiwweDc0LDB4MTAsMHhBOCwweDAyLDB4NzQsMHgwQSwweDI0LDB4RkQsMHg4OCwKLTB4ODYsMHhBNSwweDAwLDB4ODMsMHhFQSwweDBBLDB4RUUsMHg1QSwweEMzLDB4QTgsMHgwMiwweDc1LDB4RkEsMHgwQywweDAyLDB4RUIsCi0weEVFLDB4OTAsMHhGRiwweEZGLDB4MDAsMHg0OCwweDAwLDB4MzAsMHhCQSwweDIwLDB4QzQsMHgxQSwweDAwLDB4MTgsMHgwMCwweDEyLAotMHgwMCwweDBDLDB4MDAsMHgwNiwweDAwLDB4MDMsMHgwMCwweDAyLDB4ODAsMHgwMSwweEMwLDB4MDAsMHg2MCwweDAwLDB4MzAsMHgwMCwKLTB4MTgsMHgwMCwweENELDB4MDEsMHgwMCwweDAxLDB4ODAsMHgwMCwweDEwLDB4MDAsMHgxMCwweDAwLDB4MEUsMHgwMCwweDBDLDB4MDAsCi0weDA4LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA2LDB4MDAsMHgwNCwweDAwLDB4MDMsMHgwMCwweDAyLDB4MDAsMHgwMSwweDAwLAotMHg1MiwweDUxLDB4NTYsMHgzQywweDFFLDB4NzcsMHg0NywweDk4LDB4OEIsMHhGMCwweDhBLDB4ODIsMHhDNCwweDAwLDB4MzIsMHhFNCwKLTB4ODMsMHhGRSwweDE4LDB4NzQsMHgzRCwweDgzLDB4RkUsMHgxOSwweDc0LDB4M0UsMHg4MywweEZFLDB4MUUsMHg3NywweDJGLDB4RDEsCi0weEU2LDB4MkUsMHg4QiwweDhDLDB4MzIsMHgyRCwweDNCLDB4OEUsMHg5NCwweDAwLDB4NzQsMHgyMiwweDg5LDB4OEUsMHg5NCwweDAwLAotMHg4MywweEMyLDB4MDYsMHg4QSwweDg2LDB4QTgsMHgwMCwweDhBLDB4RTAsMHgwQywweDgwLDB4RUUsMHg4MywweEVBLDB4MDYsMHg4QSwKLTB4QzEsMHhFRSwweDgzLDB4QzIsMHgwMiwweDhBLDB4QzUsMHhFRSwweDgzLDB4QzIsMHgwNCwweDhBLDB4QzQsMHhFRSwweDVFLDB4NTksCi0weDVBLDB4QzMsMHg4QiwweDhFLDB4OEUsMHgwMCwweEVCLDB4Q0UsMHg4QiwweDhFLDB4OTAsMHgwMCwweEVCLDB4QzgsMHg1MiwweDUxLAotMHgzRCwweDA1LDB4MDAsMHg3NywweDAzLDB4QjgsMHgwNSwweDAwLDB4OEIsMHhDOCwweEJBLDB4MDIsMHgwMCwweEI4LDB4MDAsMHhEMCwKLTB4RjcsMHhGMSwweDA1LDB4MDEsMHgwMCwweEQxLDB4RTgsMHg1OSwweDVBLDB4QzMsMHg4QiwweDQ2LDB4N0EsMHhBOCwweDIwLDB4NzQsCi0weDBCLDB4ODAsMHhCRSwweEMzLDB4MDAsMHgwMywweDc1LDB4MDQsMHgwQywweDAxLDB4RUIsMHgwMiwweDI0LDB4RkUsMHg4OSwweDQ2LAotMHg3QSwweEMzLDB4MjQsMHgwMywweDg4LDB4ODYsMHhDMywweDAwLDB4OEEsMHhBNiwweEE4LDB4MDAsMHg4QSwweERDLDB4ODAsMHhFNCwKLTB4RkMsMHgwQSwweEM0LDB4M0EsMHhDMywweDc0LDB4MEIsMHg4OCwweDg2LDB4QTgsMHgwMCwweDgzLDB4QzIsMHgwNiwweEVFLDB4ODMsCi0weEVBLDB4MDYsMHhFOCwweEM1LDB4RkYsMHhDMywweDAwLDB4MDgsMHgxOCwweDM4LDB4MjgsMHg5MCwweDNDLDB4MDQsMHg3NywweDIzLAotMHgzMiwweEU0LDB4OEIsMHhEOCwweDJFLDB4OEEsMHg4NywweDI2LDB4MkUsMHg4QSwweEE2LDB4QTgsMHgwMCwweDhBLDB4REMsMHg4MCwKLTB4RTQsMHhDNywweDBBLDB4QzQsMHgzQSwweEMzLDB4NzQsMHgwQiwweDg4LDB4ODYsMHhBOCwweDAwLDB4ODMsMHhDMiwweDA2LDB4RUUsCi0weDgzLDB4RUEsMHgwNiwweEMzLDB4ODQsMHhDMCwweDc0LDB4MDIsMHhCMCwweDA0LDB4OEEsMHhBNiwweEE4LDB4MDAsMHg4QSwweERDLAotMHg4MCwweEU0LDB4RkIsMHgwQSwweEM0LDB4M0EsMHhDMywweDc0LDB4MEIsMHg4OCwweDg2LDB4QTgsMHgwMCwweDgzLDB4QzIsMHgwNiwKLTB4RUUsMHg4MywweEVBLDB4MDYsMHhDMywweDkwLDB4OEIsMHg1RSwweDM4LDB4ODQsMHhDMCwweDc0LDB4MzQsMHgzQywweDAyLDB4NzQsCi0weDNCLDB4OEEsMHg4NiwweEFGLDB4MDAsMHgwQywweDA0LDB4RTgsMHhFNiwweEZELDB4OEIsMHg0NiwweDJFLDB4M0IsMHg0NiwweDNDLAotMHg3NywweDFCLDB4RjcsMHhDMywweDAwLDB4MDQsMHg3NSwweDE1LDB4ODEsMHhDQiwweDAwLDB4MDQsMHg4MywweEMyLDB4MDIsMHg4QSwKLTB4ODYsMHhBNSwweDAwLDB4MjQsMHhGQSwweDg4LDB4ODYsMHhBNSwweDAwLDB4RUUsMHg4MywweEVBLDB4MDIsMHg4OSwweDVFLDB4MzgsCi0weEMzLDB4OEEsMHg4NiwweEFGLDB4MDAsMHgyNCwweEZCLDB4RTgsMHhCNiwweEZELDB4RUIsMHhGMSwweEY3LDB4QzMsMHgxMCwweDAwLAotMHg3NCwweEVGLDB4RUIsMHhFRCwweDgzLDB4QzIsMHgwQywweEVDLDB4ODMsMHhFQSwweDBDLDB4QzAsMHhFOCwweDA0LDB4ODgsMHg4NiwKLTB4QTksMHgwMCwweEMzLDB4OTAsMHg4QSwweDg2LDB4QTcsMHgwMCwweDBDLDB4MDEsMHg4OCwweDg2LDB4QTcsMHgwMCwweDhCLDB4REEsCi0weDgwLDB4QzIsMHgwOCwweEVFLDB4OEIsMHhEMywweEY4LDB4QzMsMHg4QSwweDg2LDB4QTcsMHgwMCwweDI0LDB4RkUsMHhFQiwweEVBLAotMHg4QSwweDg2LDB4QTcsMHgwMCwweDBDLDB4MDIsMHhFQiwweEUyLDB4OEEsMHg4NiwweEE3LDB4MDAsMHgyNCwweEZELDB4RUIsMHhEQSwKLTB4QjAsMHhGRiwweEU4LDB4NTIsMHhGMiwweEU4LDB4OTcsMHhGMiwweEY4LDB4QzMsMHhBQywweDQ5LDB4RTgsMHg2MSwweEZFLDB4RjgsCi0weEMzLDB4OTAsMHhBQywweDQ5LDB4RTgsMHhFQiwweEZFLDB4RjgsMHhDMywweDkwLDB4QUMsMHg0OSwweEU4LDB4MzUsMHhGRiwweEY4LAotMHhDMywweDkwLDB4QUMsMHg0OSwweEU4LDB4MDUsMHhGRiwweEY4LDB4QzMsMHg5MCwweDUyLDB4ODMsMHhDMiwweDA2LDB4QjAsMHhCRiwKLTB4RUUsMHg1MiwweDgzLDB4QzIsMHgwMiwweEFDLDB4NDksMHhFRSwweDVBLDB4OEEsMHg4NiwweEE4LDB4MDAsMHhFRSwweDVBLDB4RjgsCi0weEMzLDB4OTAsMHg1MiwweDgzLDB4QzIsMHgwNiwweEIwLDB4QkYsMHhFRSwweDUyLDB4ODMsMHhDMiwweDA2LDB4RUIsMHhFNiwweDkwLAotMHhBQywweDQ5LDB4M0MsMHgwMiwweDc3LDB4MEQsMHg4NCwweEMwLDB4NzUsMHgwQiwweDhBLDB4ODYsMHhBRiwweDAwLDB4MjQsMHhGRCwKLTB4RTgsMHgwRCwweEZELDB4RjgsMHhDMywweDUwLDB4OEEsMHg4NiwweEFGLDB4MDAsMHgwQywweDAyLDB4RTgsMHgwMSwweEZELDB4NUIsCi0weDgzLDB4QzIsMHgwOCwweDhBLDB4ODYsMHhBNywweDAwLDB4RjYsMHhDMywweDAxLDB4NzQsMHgwQywweDI0LDB4REYsMHg4OCwweDg2LAotMHhBNywweDAwLDB4RUUsMHg4MywweEVBLDB4MDgsMHhGOCwweEMzLDB4MEMsMHgyMCwweEVCLDB4RjIsMHhBQywweDQ5LDB4RTgsMHhFNSwKLTB4RkUsMHhGOCwweEMzLDB4OTAsMHhCOCwweDAwLDB4NDAsMHhFOCwweDY5LDB4RjUsMHhFOCwweEY5LDB4RkMsMHhFOCwweDI0LDB4RkYsCi0weEIwLDB4MDEsMHhFOCwweEE1LDB4RjYsMHhGOCwweEMzLDB4OTAsMHhCOCwweDAwLDB4NDAsMHhFOCwweDcxLDB4RjUsMHhFOCwweEU1LAotMHhGQywweEY4LDB4QzMsMHg5MCwweEI4LDB4MDAsMHgxMCwweEU4LDB4NDksMHhGNSwweEU4LDB4RDksMHhGQywweEU4LDB4MDQsMHhGRiwKLTB4QjAsMHgwOCwweEU4LDB4ODUsMHhGNiwweEY4LDB4QzMsMHg5MCwweEI4LDB4MDAsMHgxMCwweEU4LDB4NTEsMHhGNSwweEU4LDB4QzUsCi0weEZDLDB4RjgsMHhDMywweDkwLDB4QjgsMHgwMCwweDgwLDB4RTgsMHgyOSwweEY1LDB4RTgsMHhCOSwweEZDLDB4RTgsMHhFNCwweEZFLAotMHhCMCwweDAyLDB4RTgsMHg2NSwweEY2LDB4RjgsMHhDMywweDkwLDB4QjgsMHgwMCwweDgwLDB4RTgsMHgzMSwweEY1LDB4RTgsMHhBNSwKLTB4RkMsMHhGOCwweEMzLDB4OTAsMHhCOCwweDAwLDB4MjAsMHhFOCwweDA5LDB4RjUsMHhFOCwweDk5LDB4RkMsMHhFOCwweEM0LDB4RkUsCi0weEIwLDB4MDQsMHhFOCwweDQ1LDB4RjYsMHhGOCwweEMzLDB4OTAsMHhCOCwweDAwLDB4MjAsMHhFOCwweDExLDB4RjUsMHhFOCwweDg1LAotMHhGQywweEY4LDB4QzMsMHg5MCwweEFDLDB4NDksMHhFOCwweDM0LDB4MEMsMHhGOCwweEMzLDB4OTAsMHhCOCwweEZDLDB4M0IsMHg4OSwKLTB4NDYsMHg3QywweEY4LDB4QzMsMHg4QSwweDg2LDB4QUYsMHgwMCwweDBDLDB4ODAsMHhFOCwweDQzLDB4RkMsMHhGOCwweEMzLDB4OTAsCi0weDhBLDB4ODYsMHhBRiwweDAwLDB4MjQsMHg3RiwweEVCLDB4RjIsMHg4QSwweDg2LDB4QUYsMHgwMCwweDBDLDB4NDAsMHhFOCwweDJGLAotMHhGQywweEY4LDB4QzMsMHg5MCwweDhBLDB4ODYsMHhBRiwweDAwLDB4MjQsMHhCRiwweEVCLDB4RjIsMHhBQywweDQ5LDB4QTgsMHgwMSwKLTB4NzQsMHgwNywweDgzLDB4NEUsMHg3QSwweDIwLDB4RUIsMHgwNSwweDkwLDB4ODMsMHg2NiwweDdBLDB4REYsMHhFOCwweDhBLDB4RkQsCi0weEY4LDB4QzMsMHg4MywweEMyLDB4MDYsMHg4QSwweDg2LDB4QTgsMHgwMCwweDBDLDB4NDAsMHg4OCwweDg2LDB4QTgsMHgwMCwweEVFLAotMHg4MywweEVBLDB4MDYsMHhBQywweDQ5LDB4MzIsMHhFNCwweDg5LDB4NDYsMHg2RSwweDgzLDB4NEUsMHgyNiwweDAxLDB4ODMsMHg0RSwKLTB4NDgsMHgwOCwweEIwLDB4MDYsMHhFOCwweEJCLDB4REYsMHg0OSwweDQ2LDB4RjksMHhDMywweDkwLDB4ODMsMHhDMiwweDA2LDB4OEEsCi0weDg2LDB4QTgsMHgwMCwweDBDLDB4NDAsMHg4OCwweDg2LDB4QTgsMHgwMCwweEVFLDB4ODMsMHhFQSwweDA2LDB4QUMsMHhCNCwweDBBLAotMHhGNiwweEU0LDB4RUIsMHhEMCwweEU4LDB4RTAsMHgwQiwweEY4LDB4QzMsMHg5MCwweEFELDB4NDksMHg0OSwweDg5LDB4NDYsMHg2NCwKLTB4QTksMHgwMSwweDAwLDB4NzQsMHgxOSwweDhCLDB4RDgsMHg4MywweEUzLDB4RkEsMHg3NSwweDBBLDB4QTksMHgwNCwweDAwLDB4NzQsCi0weDBELDB4QjgsMHhFMiwweDNGLDB4RUIsMHgwQiwweEU4LDB4RUMsMHhGNCwweEI4LDB4QUEsMHg0MCwweEVCLDB4MDMsMHhCOCwweDM4LAotMHg0NCwweDg5LDB4NDYsMHg2MiwweEY4LDB4QzMsMHg4QSwweDg2LDB4QUYsMHgwMCwweEE4LDB4MDIsMHg3NCwweDBBLDB4MjQsMHhGRCwKLTB4RTgsMHg4RCwweEZCLDB4MEMsMHgwMiwweEU4LDB4ODgsMHhGQiwweEY4LDB4QzMsMHhBQywweDQ5LDB4RTgsMHg4MSwweEZDLDB4RjgsCi0weEMzLDB4OTAsMHhBQywweDQ5LDB4RTgsMHg3OSwweEZDLDB4RjgsMHhDMywweDkwLDB4RTgsMHg1QywweEY1LDB4NzUsMHgwNSwweEU4LAotMHhFNiwweEZELDB4RjgsMHhDMywweEU4LDB4Q0QsMHhGRCwweDM2LDB4QTAsMHhCNCwweDEzLDB4MjQsMHgxMCwweDM0LDB4MTAsMHhFOCwKLTB4MjYsMHgwMSwweDM2LDB4QTEsMHhCNCwweDEzLDB4QTksMHgwMSwweDAwLDB4NzQsMHgwNSwweEU4LDB4RkUsMHhGRSwweEVCLDB4MEUsCi0weEE5LDB4MDIsMHgwMCwweDc0LDB4MDQsMHgzMiwweEMwLDB4RUIsMHgwMiwweEIwLDB4MDEsMHhFOCwweEU4LDB4RkUsMHgzNiwweEExLAotMHhCNCwweDEzLDB4RTgsMHhBQiwweDBCLDB4MzYsMHhBMSwweEI0LDB4MTMsMHhDMSwweEU4LDB4MDUsMHgyNSwweDAxLDB4MDAsMHhFOCwKLTB4MEMsMHhGRiwweDM2LDB4QTAsMHhCNSwweDEzLDB4MjQsMHgxMCwweEU4LDB4MkIsMHhGRCwweDMyLDB4QzAsMHgzNiwweDhBLDB4MjYsCi0weEI1LDB4MTMsMHhGNiwweEM0LDB4MDQsMHg3NCwweDA5LDB4RkUsMHhDMCwweEY2LDB4QzQsMHgwOCwweDc0LDB4MDIsMHhGRSwweEMwLAotMHhFOCwweEVGLDB4RkQsMHgzNiwweEExLDB4QjYsMHgxMywweDI1LDB4MEYsMHgwMCwweEU4LDB4MDMsMHhGQywweDM2LDB4QTEsMHhCNiwKLTB4MTMsMHhDMSwweEU4LDB4MDQsMHgyNSwweDAzLDB4MDAsMHhFOCwweDg4LDB4RkMsMHgzNiwweEExLDB4QjYsMHgxMywweEMxLDB4RTgsCi0weDA1LDB4MjUsMHgwMiwweDAwLDB4RTgsMHhDRCwweEZDLDB4MzYsMHhBMSwweEI2LDB4MTMsMHhGNiwweEM0LDB4MDEsMHg3NSwweDA0LAotMHgzMiwweEMwLDB4RUIsMHgwOSwweDgwLDB4RTQsMHgwMiwweEQwLDB4RUMsMHhCMCwweDAyLDB4MkEsMHhDNCwweEU4LDB4OEMsMHhGQywKLTB4MzYsMHhGNiwweDA2LDB4QjcsMHgxMywweDQwLDB4NzQsMHgwNSwweEU4LDB4OEQsMHhGRSwweEVCLDB4MDMsMHhFOCwweDk0LDB4RkUsCi0weDM2LDB4RjYsMHgwNiwweEI3LDB4MTMsMHgyMCwweDc0LDB4MDUsMHhFOCwweDY5LDB4RkUsMHhFQiwweDAzLDB4RTgsMHg3MCwweEZFLAotMHhGOCwweEMzLDB4RjgsMHhDMywweDhCLDB4NDYsMHgzOCwweEE5LDB4MDQsMHgwMCwweDc1LDB4MjMsMHgwRCwweDA0LDB4MDAsMHg4OSwKLTB4NDYsMHgzOCwweDgzLDB4QzIsMHgwOCwweDhCLDB4NDYsMHgyRSwweDNCLDB4NDYsMHgzQywweDczLDB4MTQsMHg4MywweDRFLDB4MzgsCi0weDEwLDB4OEEsMHg4NiwweEE3LDB4MDAsMHgyNCwweEZFLDB4ODgsMHg4NiwweEE3LDB4MDAsMHhFRSwweDgzLDB4RUEsMHgwOCwweEY4LAotMHhDMywweDhBLDB4ODYsMHhBNywweDAwLDB4MEMsMHgwMSwweEVCLDB4RUUsMHg5MCwweDhCLDB4NDYsMHgzOCwweEE5LDB4MDQsMHgwMCwKLTB4NzQsMHgwNiwweDI1LDB4RkIsMHhGRiwweDg5LDB4NDYsMHgzOCwweEY4LDB4QzMsMHhBRCwweDQ5LDB4NDksMHhFOCwweEJFLDB4RkIsCi0weDg5LDB4ODYsMHg4RSwweDAwLDB4RjgsMHhDMywweEFELDB4NDksMHg0OSwweEU4LDB4QjIsMHhGQiwweDg5LDB4ODYsMHg5MCwweDAwLAotMHhGOCwweEMzLDB4ODMsMHg0RSwweDI2LDB4MDQsMHhFOCwweDkyLDB4RkEsMHhGOCwweEMzLDB4OTAsMHg4MywweDY2LDB4MjYsMHhGQiwKLTB4RTgsMHg4OCwweEZBLDB4RjgsMHhDMywweDkwLDB4QUMsMHg0OSwweDg0LDB4QzAsMHg3NSwweDA3LDB4ODAsMHg4RSwweEEzLDB4MDAsCi0weDA0LDB4RjgsMHhDMywweDgwLDB4QTYsMHhBMywweDAwLDB4RkIsMHhGOCwweEMzLDB4QUMsMHg0OSwweDgzLDB4QzIsMHgwOCwweDNDLAotMHgwMiwweDc2LDB4MDIsMHgzMiwweEMwLDB4M0MsMHgwMSwweDc0LDB4MTIsMHg3NywweDBCLDB4OEEsMHg4NiwweEE3LDB4MDAsMHgyNCwKLTB4RUYsMHg4OCwweDg2LDB4QTcsMHgwMCwweEVFLDB4ODMsMHhFQSwweDA4LDB4RjgsMHhDMywweDhBLDB4ODYsMHhBNywweDAwLDB4MEMsCi0weDEwLDB4RUIsMHhFRSwweDkwLDB4NTIsMHg4MywweEMyLDB4MDYsMHhCMCwweEJGLDB4RUUsMHg1MiwweDgzLDB4QzIsMHgwNCwweEFDLAotMHg0OSwweEVFLDB4NUEsMHg4QSwweDg2LDB4QTgsMHgwMCwweEVFLDB4NUEsMHhGOCwweEMzLDB4OTAsMHg1MiwweDgzLDB4QzIsMHgwNiwKLTB4QjAsMHhCRiwweEVFLDB4NTIsMHg4MywweEMyLDB4MDgsMHhFQiwweEU2LDB4OTAsMHhBQywweDQ5LDB4RjgsMHhDMywweEFDLDB4NDksCi0weEU4LDB4QjQsMHhFRSwweDczLDB4MDMsMHhFOCwweEY3LDB4RUUsMHhGOCwweEMzLDB4OEEsMHg4NiwweEFGLDB4MDAsMHgyNCwweDdGLAotMHhFOCwweEJELDB4RjksMHhCOCwweEYwLDB4MDAsMHhFOCwweDY2LDB4RjIsMHg4MSwweDY2LDB4MjYsMHhGRiwweEYzLDB4RTgsMHgyMywKLTB4RkEsMHhFOCwweEQyLDB4RjksMHhGOCwweEMzLDB4QjgsMHg4MCwweDAwLDB4RTgsMHgzNywweEYyLDB4ODAsMHg0RSwweDI3LDB4MDgsCi0weEU4LDB4MTEsMHhGQSwweEU4LDB4QzAsMHhGOSwweEY4LDB4QzMsMHhCOCwweDgwLDB4MDAsMHhFOCwweDQxLDB4RjIsMHg4MSwweDY2LAotMHgyNiwweEZGLDB4RjcsMHhFOCwweEZFLDB4RjksMHhFOCwweEFELDB4RjksMHhGOCwweEMzLDB4OTAsMHhCOCwweDEwLDB4MDAsMHhFOCwKLTB4MTEsMHhGMiwweDgwLDB4NEUsMHgyNywweDA0LDB4RTgsMHhFQiwweEY5LDB4RTgsMHg5QSwweEY5LDB4RjgsMHhDMywweEI4LDB4MTAsCi0weDAwLDB4RTgsMHhGRiwweEYxLDB4ODEsMHg2NiwweDI2LDB4RkYsMHhGQiwweEU4LDB4RDgsMHhGOSwweEY4LDB4QzMsMHhBQywweDQ5LAotMHhGOCwweEMzLDB4ODMsMHhDMiwweDA2LDB4OEEsMHg4NiwweEE4LDB4MDAsMHgwQywweDQwLDB4ODgsMHg4NiwweEE4LDB4MDAsMHhFRSwKLTB4ODMsMHhFQSwweDA2LDB4RjgsMHhDMywweDkwLDB4ODMsMHhDMiwweDA2LDB4OEEsMHg4NiwweEE4LDB4MDAsMHgyNCwweEJGLDB4RUIsCi0weEVBLDB4OTAsMHhBQywweDQ5LDB4OEEsMHhFMCwweDgwLDB4QzIsMHgwQSwweEVDLDB4ODAsMHhFQSwweDBBLDB4QTgsMHgyMCwweDc0LAotMHgwNSwweDhBLDB4QzQsMHhFRSwweEY4LDB4QzMsMHgwNiwweDUxLDB4NTcsMHg4QiwweDRFLDB4MjQsMHhFMywweDM0LDB4NDksMHg4OSwKLTB4NEUsMHgyNCwweEZGLDB4NDYsMHgxQSwweDhFLDB4NDYsMHgwMiwweDhCLDB4N0UsMHgyMiwweDhBLDB4QzQsMHhBQSwweDg5LDB4N0UsCi0weDIyLDB4OEIsMHg0NiwweDI2LDB4MjQsMHhGRCwweDg5LDB4NDYsMHgyNiwweDc1LDB4MjksMHg4QSwweDg2LDB4QTUsMHgwMCwweEE4LAotMHgwMiwweDc1LDB4MjEsMHg4MCwweEMyLDB4MDIsMHgwQywweDAyLDB4ODgsMHg4NiwweEE1LDB4MDAsMHhFRSwweDgwLDB4RUEsMHgwMiwKLTB4RUIsMHgxMiwweEM0LDB4N0UsMHgwMCwweDNCLDB4N0UsMHgxRSwweDc2LDB4MEEsMHg0RiwweDI2LDB4ODgsMHgyNSwweDg5LDB4N0UsCi0weDAwLDB4RkYsMHg0NiwweDFBLDB4NUYsMHg1OSwweDA3LDB4RjgsMHhDMywweDkwLDB4QUMsMHhBRCwweDgzLDB4RTksMHgwMywweDg1LAotMHhDMCwweDc0LDB4MDUsMHgzRCwweDAwLDB4MjAsMHg3MiwweDA1LDB4QjgsMHhGRiwweEZGLDB4RUIsMHgwMywweEMxLDB4RTAsMHgwMywKLTB4M0IsMHg4NiwweDk0LDB4MDAsMHg3NCwweDI2LDB4ODksMHg4NiwweDk0LDB4MDAsMHg4QiwweEQ4LDB4NTIsMHg4MywweEMyLDB4MDYsCi0weDhBLDB4ODYsMHhBOCwweDAwLDB4OEEsMHhFMCwweDBDLDB4ODAsMHhFRSwweDgzLDB4RUEsMHgwNiwweDhBLDB4QzMsMHhFRSwweDgzLAotMHhDMiwweDAyLDB4OEEsMHhDNywweEVFLDB4ODMsMHhDMiwweDA0LDB4OEEsMHhDNCwweEVFLDB4NUEsMHhGOCwweEMzLDB4QjAsMHg4OCwKLTB4ODgsMHg4NiwweEJDLDB4MDAsMHhFOCwweDhDLDB4RjIsMHgzMywweERCLDB4OEEsMHg4NiwweEE1LDB4MDAsMHhBOCwweDAyLDB4NzQsCi0weDAzLDB4ODAsMHhDQiwweDAxLDB4QTgsMHgwNSwweDc0LDB4MDMsMHg4MCwweENCLDB4MDIsMHhBOCwweDA4LDB4NzQsMHgwMywweDgwLAotMHhDQiwweDA0LDB4RjYsMHg4NiwweEE3LDB4MDAsMHgxMCwweDc0LDB4MDMsMHg4MCwweENCLDB4MTAsMHg4QSwweDg2LDB4QTksMHgwMCwKLTB4RjYsMHhDMywweDA0LDB4NzUsMHgwQSwweDgzLDB4QzIsMHgwQywweEVDLDB4ODMsMHhFQSwweDBDLDB4QzAsMHhFOCwweDA0LDB4OEEsCi0weEUwLDB4OEEsMHg4NiwweEFGLDB4MDAsMHhBOCwweDgwLDB4NzQsMHgwOCwweEY2LDB4QzQsMHgwMSwweDc1LDB4MDMsMHg4MCwweENCLAotMHgyMCwweEY2LDB4ODYsMHhBNywweDAwLDB4MDIsMHg3NSwweDBBLDB4RjcsMHg0NiwweDM4LDB4MDQsMHgwMCwweDc0LDB4MDMsMHg4MCwKLTB4Q0IsMHg0MCwweDg4LDB4OUUsMHhCRSwweDAwLDB4RkUsMHg4NiwweEI0LDB4MDAsMHhCMCwweDBBLDB4RTgsMHhGMywweERCLDB4RjgsCi0weEMzLDB4RkUsMHg4NiwweEI0LDB4MDAsMHhCMCwweDBBLDB4RTgsMHhFOCwweERCLDB4RjgsMHhDMywweEFDLDB4NDksMHgzQywweDAyLAotMHg3NCwweDM3LDB4NzcsMHgxMCwweDg0LDB4QzAsMHg3NCwweDA2LDB4ODAsMHg0RSwweDM4LDB4MDEsMHhGOCwweEMzLDB4ODAsMHg2NiwKLTB4MzgsMHhGRSwweEY4LDB4QzMsMHg4QiwweDQ2LDB4MzgsMHgyNSwweEZGLDB4RjcsMHg4OSwweDQ2LDB4MzgsMHhBOSwweDAwLDB4MDQsCi0weDc1LDB4RUEsMHg4QSwweDg2LDB4QTUsMHgwMCwweEE4LDB4MDEsMHg3NSwweEUyLDB4MEMsMHgwNSwweDgzLDB4QzIsMHgwMiwweDg4LAotMHg4NiwweEE1LDB4MDAsMHhFRSwweDgzLDB4RUEsMHgwMiwweEY4LDB4QzMsMHg4MSwweDRFLDB4MzgsMHgwMCwweDA4LDB4OEEsMHg4NiwKLTB4QTUsMHgwMCwweEE4LDB4MDEsMHg3NCwweEM2LDB4MjQsMHhGQSwweEVCLDB4RTIsMHhBRCwweDQ5LDB4NDksMHhGOCwweEMzLDB4OTAsCi0weEU4LDB4MTEsMHhGQSwweEZFLDB4ODYsMHhCOSwweDAwLDB4QjAsMHgwRSwweEU4LDB4ODYsMHhEQiwweEY4LDB4QzMsMHhCMCwweEZGLAotMHhFOCwweEJGLDB4RUMsMHhGOCwweEMzLDB4OTAsMHg4MywweDY2LDB4N0EsMHhGQiwweEIwLDB4MDAsMHhFOCwweDczLDB4REIsMHhGOCwKLTB4QzMsMHg5MCwweEFDLDB4NDksMHhFOCwweDUzLDB4RDksMHg3MiwweDExLDB4MzYsMHg4OCwweDFFLDB4MUEsMHgwMSwweDM2LDB4QTAsCi0weDhFLDB4MTIsMHgwQSwweEMzLDB4NTIsMHhCQSwweDAwLDB4MDEsMHhFRSwweDVBLDB4RjgsMHhDMywweEFDLDB4NDksMHgzMiwweEU0LAotMHgzNiwweEEzLDB4ODYsMHgxMiwweDA1LDB4MDYsMHgwMCwweDM2LDB4OEIsMHgxRSwweDg4LDB4MTIsMHgyQiwweEQ4LDB4MzYsMHg4OSwKLTB4MUUsMHg4QSwweDEyLDB4RjgsMHhDMywweDkwLDB4QUQsMHg4QiwweEQ4LDB4QUQsMHg4MywweEU5LDB4MDQsMHgwMywweEMzLDB4MkIsCi0weDQ2LDB4NzYsMHg4OSwweDQ2LDB4NzgsMHhGNywweDQ2LDB4N0EsMHgwMiwweDAwLDB4NzQsMHgwQSwweDgzLDB4NjYsMHg3QSwweEZELAotMHhCOCwweDAwLDB4MDAsMHhFOCwweDFDLDB4REIsMHhGOCwweEMzLDB4MDYsMHgxNiwweDA3LDB4QUMsMHg0OSwweDI1LDB4MEYsMHgwMCwKLTB4NkIsMHhDMCwweDA5LDB4OEQsMHhCRSwweEZELDB4MDAsMHgwMywweEY4LDB4QUMsMHg0OSwweDI1LDB4MEYsMHgwMCwweEFBLDB4ODUsCi0weEMwLDB4NzQsMHgwOCwweDJCLDB4QzgsMHg1MSwweDhCLDB4QzgsMHhGMywweEE0LDB4NTksMHhFOCwweDI3LDB4RjAsMHhFOCwweDQ0LAotMHgwMywweDA3LDB4RjgsMHhDMywweDMzLDB4QzAsMHhBQywweDQ5LDB4MzYsMHhBMywweEIyLDB4MTMsMHgzNiwweEEzLDB4QjAsMHgxMywKLTB4RjgsMHhDMywweDgzLDB4NjYsMHg3QSwweEVGLDB4RTgsMHgyQywweDAzLDB4RjgsMHhDMywweDkwLDB4ODMsMHg0RSwweDdBLDB4MTAsCi0weEVCLDB4RjQsMHhFOCwweDlCLDB4RjAsMHhGOCwweEMzLDB4OTAsMHhBRCwweDNDLDB4MTksMHg3NywweDBFLDB4M0MsMHgxOSwweDc3LAotMHgwQSwweDhCLDB4RjgsMHg4MSwweEU3LDB4RkYsMHgwMCwweDg4LDB4QTYsMHhDNCwweDAwLDB4RjgsMHhDMywweDkwLDB4ODMsMHg0RSwKLTB4MjYsMHgyMCwweEFDLDB4NDksMHgzMiwweEU0LDB4RDEsMHhFMCwweDhCLDB4RDgsMHhDMSwweEUzLDB4MDIsMHgwMywweEMzLDB4ODksCi0weDQ2LDB4NkUsMHg4MywweDRFLDB4NDgsMHgwNCwweEIwLDB4MDYsMHhFOCwweDk3LDB4REEsMHg0OSwweDQ2LDB4RjksMHhDMywweDkwLAotMHhGRSwweDg2LDB4QjMsMHgwMCwweEIwLDB4MEEsMHhFOCwweDg5LDB4REEsMHhGOCwweEMzLDB4OTAsMHgzMywweEMwLDB4QUMsMHg0OSwKLTB4NkIsMHhDMCwweDBBLDB4ODksMHg4NiwweDhBLDB4MDAsMHhGOCwweEMzLDB4OTAsMHhBQywweDQ5LDB4MzIsMHhFNCwweDNELDB4MEEsCi0weDAwLDB4NzcsMHgwNSwweEI4LDB4MEEsMHgwMCwweEVCLDB4MDgsMHgzRCwweDVBLDB4MDAsMHg3MiwweDAzLDB4QjgsMHg1QSwweDAwLAotMHg1MSwweEY3LDB4RDgsMHgwNSwweDY0LDB4MDAsMHg4QiwweEM4LDB4OEIsMHg0NiwweDQ0LDB4RjcsMHhFMSwweEI5LDB4NjQsMHgwMCwKLTB4RjcsMHhGMSwweDg5LDB4NDYsMHg0NiwweDU5LDB4RjgsMHhDMywweEFDLDB4NDksMHhFOCwweDg1LDB4RUIsMHhGOCwweEMzLDB4OTAsCi0weEFDLDB4NDksMHg4NCwweEMwLDB4NzUsMHgwNywweDgxLDB4NjYsMHgzOCwweEZGLDB4RkQsMHhGOCwweEMzLDB4ODEsMHg0RSwweDM4LAotMHgwMCwweDAyLDB4RjcsMHg0NiwweDM4LDB4NDAsMHgwMCwweDc1LDB4MDgsMHg4QSwweDg2LDB4QTksMHgwMCwweDg4LDB4ODYsMHhBQSwKLTB4MDAsMHhGOCwweEMzLDB4OTAsMHg1MSwweDU2LDB4RTgsMHg3RiwweDBDLDB4NUUsMHg1OSwweEY4LDB4QzMsMHg5MCwweEZFLDB4ODYsCi0weEI2LDB4MDAsMHhCMCwweDBBLDB4RTgsMHgwQiwweERBLDB4RjgsMHhDMywweDkwLDB4RkUsMHg4NiwweEI3LDB4MDAsMHhCMCwweDBBLAotMHhFOCwweEZGLDB4RDksMHhGOCwweEMzLDB4OTAsMHhGRSwweDg2LDB4QjgsMHgwMCwweEIwLDB4MEEsMHhFOCwweEYzLDB4RDksMHhGOCwKLTB4QzMsMHg5MCwweDAwLDB4OTAsMHg1MSwweDU1LDB4QUMsMHgyRSwweEEyLDB4NTIsMHgzNiwweDMzLDB4QzksMHhBRCwweDhCLDB4RjksCi0weEMxLDB4RTcsMHgwNSwweEE5LDB4MDEsMHgwMCwweDc0LDB4MjMsMHgyRSwweDhCLDB4QUQsMHg0NCwweDAwLDB4ODMsMHg3RSwweDA4LAotMHgwMCwweDc0LDB4MTgsMHgyRSwweDgwLDB4M0UsMHg1MiwweDM2LDB4MDEsMHg3NCwweDA5LDB4NjAsMHhCMCwweDA0LDB4RTgsMHhCQiwKLTB4MEMsMHg2MSwweEVCLDB4MDcsMHg2MCwweEIwLDB4RkIsMHhFOCwweEVDLDB4MEMsMHg2MSwweDQ3LDB4NDcsMHhEMSwweEU4LDB4NzUsCi0weEQyLDB4NDEsMHg4MywweEY5LDB4MDQsMHg3MiwweEM2LDB4NUQsMHg1OSwweDgzLDB4RTksMHgwNSwweEY3LDB4NDYsMHgzOCwweDQwLAotMHgwMCwweDc0LDB4MDUsMHhFOCwweDg3LDB4RUEsMHhGOCwweEMzLDB4RTgsMHg4RCwweEVBLDB4RjgsMHhDMywweDkwLDB4MzYsMHhDNiwKLTB4MDYsMHhDOCwweDEzLDB4MDEsMHhGOCwweEMzLDB4MzMsMHhDMCwweEFDLDB4NDksMHgzNiwweEEzLDB4ODAsMHgxMiwweEFDLDB4NDksCi0weDM2LDB4MkIsMHgwNiwweDg4LDB4MTIsMHhGNywweEQ4LDB4MzYsMHhBMywweDgyLDB4MTIsMHhGOCwweEMzLDB4OTAsMHhERSwweDI2LAotMHhERSwweDI2LDB4RUMsMHgyNiwweEYyLDB4MjYsMHhGOCwweDI2LDB4RkUsMHgyNiwweDA0LDB4MjcsMHgwRSwweDI3LDB4MTYsMHgyNywKLTB4MUUsMHgyNywweDI2LDB4MjcsMHgyRSwweDI3LDB4MzQsMHgyNywweEJFLDB4MzQsMHhDNiwweDM0LDB4RDIsMHgzNCwweDNBLDB4MjcsCi0weDc4LDB4MjcsMHg4MCwweDI3LDB4OTQsMHgyNywweEEwLDB4MjcsMHhCNCwweDI3LDB4QzAsMHgyNywweEQ0LDB4MjcsMHhFMCwweDI3LAotMHhGNCwweDI3LDB4MDAsMHgyOCwweDEwLDB4MjgsMHhFQywweDM0LDB4REUsMHgyNiwweDFFLDB4MjgsMHgyNiwweDI4LDB4MkMsMHgyOCwKLTB4MzIsMHgyOCwweDM4LDB4MjgsMHg0RSwweDI4LDB4OEEsMHgyOCwweDA2LDB4MzUsMHgyOCwweDM1LDB4OTgsMHgyOCwweEJFLDB4MjgsCi0weEQyLDB4MjgsMHhERSwweDI4LDB4RTYsMHgyOCwweDU0LDB4MzUsMHg2MiwweDM1LDB4NkMsMHgzNSwweEVFLDB4MjgsMHhDMCwweDI5LAotMHhDOCwweDI5LDB4Q0UsMHgyOSwweEUwLDB4MjksMHg3MiwweDM1LDB4NzgsMHgzNSwweEYwLDB4MjksMHhGQywweDI5LDB4OEUsMHgzNSwKLTB4MDgsMHgyQSwweDEyLDB4MkEsMHgxQywweDJBLDB4QjAsMHgzNSwweDM2LDB4MkEsMHhCQywweDM1LDB4NUEsMHgyQSwweDYyLDB4MkEsCi0weDY4LDB4MkEsMHhDQSwweDM1LDB4N0MsMHgyQSwweEY4LDB4MzUsMHg4OCwweDJBLDB4QTYsMHgyQSwweEI4LDB4MkEsMHhDQywweDJBLAotMHhERSwweDJBLDB4RjIsMHgyQSwweDAwLDB4MzYsMHgwQSwweDJCLDB4MjQsMHgyQiwweDI0LDB4MzYsMHgzOCwweDJCLDB4NEMsMHgyQiwKLTB4ODQsMHgyQiwweDJFLDB4MzYsMHgzQSwweDM2LDB4NDYsMHgzNiwweDU0LDB4MzYsMHhFOCwweDJCLDB4QUUsMHgzNiwweDQwLDB4MkMsCi0weDYyLDB4MkMsMHhCNiwweDM2LDB4NzAsMHgyOCwweERFLDB4MjYsMHhERSwweDI2LDB4RDQsMHgyRSwweEU4LDB4MkUsMHhGMCwweDJFLAotMHhGOCwweDJFLDB4MDAsMHgyRiwweDBBLDB4MkYsMHgxMiwweDJGLDB4MUEsMHgyRiwweDIyLDB4MkYsMHgyQSwweDJGLDB4NDIsMHgyRiwKLTB4QkUsMHgzNCwweEM2LDB4MzQsMHhEMiwweDM0LDB4NTAsMHgyRiwweDhDLDB4MkYsMHg5NCwweDJGLDB4QTgsMHgyRiwweEI0LDB4MkYsCi0weEM4LDB4MkYsMHhENCwweDJGLDB4RTgsMHgyRiwweEY0LDB4MkYsMHgwOCwweDMwLDB4MTQsMHgzMCwweDFDLDB4MzAsMHhFQywweDM0LAotMHhERSwweDI2LDB4MjQsMHgzMCwweDMwLDB4MzAsMHgzOCwweDMwLDB4NDQsMHgzMCwweDRDLDB4MzAsMHg2MiwweDMwLDB4QTQsMHgzMCwKLTB4MDYsMHgzNSwweDI4LDB4MzUsMHhBQSwweDMwLDB4Q0UsMHgzMCwweEQ2LDB4MzAsMHhFQSwweDMwLDB4RjIsMHgzMCwweDU0LDB4MzUsCi0weDYyLDB4MzUsMHg2QywweDM1LDB4RkEsMHgzMCwweEMyLDB4MzEsMHhDMiwweDMxLDB4QzQsMHgzMSwweEZBLDB4MzEsMHg3MiwweDM1LAotMHg3OCwweDM1LDB4MEEsMHgzMiwweDE2LDB4MzIsMHg4RSwweDM1LDB4MjIsMHgzMiwweDJDLDB4MzIsMHgzNiwweDMyLDB4QjAsMHgzNSwKLTB4NEEsMHgzMiwweEJDLDB4MzUsMHg3NCwweDMyLDB4OEMsMHgzMiwweDlBLDB4MzIsMHhDQSwweDM1LDB4OUUsMHgzMiwweEY4LDB4MzUsCi0weEFBLDB4MzIsMHhDNiwweDMyLDB4RDgsMHgzMiwweEVDLDB4MzIsMHhGRSwweDMyLDB4MEUsMHgzMywweDAwLDB4MzYsMHgxMiwweDMzLAotMHgyNiwweDMzLDB4MjQsMHgzNiwweDMyLDB4MzMsMHg5QSwweDMzLDB4REUsMHgzMywweDJFLDB4MzYsMHgzQSwweDM2LDB4NDYsMHgzNiwKLTB4NTQsMHgzNiwweDVDLDB4MzQsMHhBRSwweDM2LDB4QUEsMHgzNCwweEIwLDB4MzQsMHhCNiwweDM2LDB4OEMsMHgzMCwweEUzLDB4MjgsCi0weEY3LDB4NDYsMHgzOCwweDQwLDB4MDAsMHg3NSwweDMyLDB4RTgsMHhFMywweEU4LDB4MzMsMHhDMCwweEFDLDB4NDksMHgzRCwweDVCLAotMHgwMCwweDc3LDB4MTksMHg4QiwweEQ4LDB4RDEsMHhFMywweDJFLDB4RkYsMHg5NywweENFLDB4MzYsMHg3MiwweDBCLDB4ODUsMHhDOSwKLTB4NzUsMHhFOCwweDhCLDB4NDYsMHg0OCwweEU4LDB4MUEsMHgwQywweEMzLDB4NEUsMHg0MSwweEMzLDB4NkEsMHgwMCwweDFGLDB4QzYsCi0weDA2LDB4OTMsMHgxMiwweDBDLDB4OUMsMHgwRSwweEU4LDB4NjMsMHhEQSwweEU4LDB4QkMsMHhFOCwweDMzLDB4QzAsMHhBQywweDQ5LAotMHgzRCwweDVCLDB4MDAsMHg3NywweEU3LDB4OEIsMHhEOCwweEQxLDB4RTMsMHgyRSwweEZGLDB4OTcsMHg4NiwweDM3LDB4NzIsMHhEOSwKLTB4ODUsMHhDOSwweDc1LDB4RTgsMHhDMywweEY3LDB4NDYsMHg3QSwweDEwLDB4MDAsMHg3NSwweDBGLDB4ODMsMHhCRSwweDg0LDB4MDAsCi0weDAwLDB4NzQsMHgwOCwweEI4LDB4NDgsMHgzQSwweDg5LDB4ODYsMHg4MCwweDAwLDB4QzMsMHg4MSwweEJFLDB4ODAsMHgwMCwweEVDLAotMHgzQywweDc0LDB4RjcsMHg4MywweEJFLDB4ODgsMHgwMCwweDAwLDB4NzUsMHgwNSwweEI4LDB4RUMsMHgzQywweEVCLDB4RTcsMHhGNywKLTB4NDYsMHg3QSwweDA4LDB4MDAsMHg3NSwweDQwLDB4MUUsMHg2MCwweDhCLDB4OEUsMHg4OCwweDAwLDB4M0IsMHg0RSwweDc0LDB4NzcsCi0weDMzLDB4M0IsMHg0RSwweDc4LDB4NzcsMHgyRSwweEM0LDB4N0UsMHgxMCwweDhCLDB4REYsMHgyNiwweDAzLDB4M0QsMHg0NywweDQ3LAotMHgzMywweEMwLDB4OEUsMHhEOCwweDhELDB4QjYsMHhGNCwweDAwLDB4OEIsMHhDMSwweEY3LDB4NDYsMHg3QSwweDAxLDB4MDAsMHg3NSwKLTB4MUQsMHhGMywweEE0LDB4MjYsMHgwMSwweDA3LDB4MjksMHg0NiwweDc4LDB4MDEsMHg0NiwweDc2LDB4MjksMHg0NiwweDc0LDB4QjAsCi0weDBDLDB4RTgsMHgzRSwweEQ3LDB4NjEsMHgxRiwweEM3LDB4ODYsMHg4OCwweDAwLDB4MDAsMHgwMCwweEVCLDB4QUMsMHhFMywweEUzLAotMHg1MCwweDkwLDB4QUMsMHgyNCwweDdGLDB4QUEsMHhFMiwweEZBLDB4NTgsMHhFQiwweEQ4LDB4OTAsMHg4QiwweDhFLDB4ODgsMHgwMCwKLTB4RTMsMHg0NiwweDhCLDB4OUUsMHg4QSwweDAwLDB4ODUsMHhEQiwweDc0LDB4M0UsMHhCQSwweDUwLDB4RkYsMHhFRCwweDJCLDB4ODYsCi0weDgyLDB4MDAsMHgzQiwweEMzLDB4NzIsMHgzNywweDhELDB4QjYsMHhGNCwweDAwLDB4QzQsMHg3RSwweDEwLDB4OEIsMHhERiwweDI2LAotMHgwMywweDNELDB4NDcsMHg0NywweDhCLDB4QzEsMHgxNiwweDFGLDB4RjcsMHg0NiwweDdBLDB4MDEsMHgwMCwweDc1LDB4MjQsMHhGMywKLTB4QTQsMHgyNiwweDAxLDB4MDcsMHgyOSwweDQ2LDB4NzgsMHgwMSwweDQ2LDB4NzYsMHgyOSwweDQ2LDB4NzQsMHhDNywweDg2LDB4ODgsCi0weDAwLDB4MDAsMHgwMCwweEIwLDB4MEMsMHhFOCwweERBLDB4RDYsMHg4MywweDY2LDB4N0EsMHhGNywweEMzLDB4QjAsMHgwMCwweEU4LAotMHhEMCwweEQ2LDB4QzMsMHhFMywweERDLDB4NTAsMHhBQywweDI0LDB4N0YsMHhBQSwweEUyLDB4RkEsMHg1OCwweEVCLDB4RDIsMHg5MCwKLTB4MUUsMHg2MCwweDMzLDB4QzAsMHg4RSwweEQ4LDB4OEQsMHhCNiwweEZELDB4MDAsMHg4QiwweDg2LDB4ODgsMHgwMCwweDhCLDB4OTYsCi0weDg0LDB4MDAsMHgzQSwweDA0LDB4NzUsMHgxMCwweDhCLDB4REUsMHg0NiwweDhCLDB4QzgsMHg4RCwweEJFLDB4RjQsMHgwMCwweEYzLAotMHhBNiwweDc0LDB4NjYsMHg4QiwweEYzLDB4OTAsMHg4MywweEM2LDB4MDksMHg0QSwweDc1LDB4RTYsMHg4RCwweEI2LDB4RkQsMHgwMCwKLTB4OEIsMHg5NiwweDg0LDB4MDAsMHgzQSwweDA0LDB4NzMsMHgxMCwweDhCLDB4REUsMHg0NiwweDhCLDB4QzgsMHg4RCwweEJFLDB4RjQsCi0weDAwLDB4RjMsMHhBNiwweDc0LDB4NzYsMHg4QiwweEYzLDB4OTAsMHg4MywweEM2LDB4MDksMHg0QSwweDc1LDB4RTYsMHg4RCwweEI2LAotMHhGNCwweDAwLDB4QUMsMHhGNywweDQ2LDB4N0EsMHgwMSwweDAwLDB4NzQsMHgwMiwweDI0LDB4N0YsMHgxRSwweEM1LDB4NUUsMHgxMCwKLTB4OEIsMHgzNywweDg4LDB4NDAsMHgwMiwweDQ2LDB4ODksMHgzNywweEZGLDB4NEUsMHg3OCwweEZGLDB4NDYsMHg3NiwweEZGLDB4NEUsCi0weDc0LDB4MUYsMHg4QiwweDhFLDB4ODgsMHgwMCwweDQ5LDB4ODksMHg4RSwweDg4LDB4MDAsMHhFMywweDQzLDB4OEQsMHhCNiwweEY0LAotMHgwMCwweDhCLDB4RkUsMHg0NiwweEYzLDB4QTQsMHhFOSwweDdELDB4RkYsMHhDNSwweDc2LDB4MTAsMHg4QiwweDFDLDB4ODUsMHhEQiwKLTB4NzQsMHgwOCwweDAzLDB4RjMsMHg4MywweEM2LDB4MDMsMHg4MywweEU2LDB4RkUsMHg4QiwweDg2LDB4ODQsMHgwMCwweDJCLDB4QzIsCi0weEI0LDB4ODAsMHg4OSwweDA0LDB4NDYsMHg0NiwweEM3LDB4MDQsMHgwMCwweDAwLDB4ODksMHg3NiwweDEwLDB4ODMsMHg0RSwweDdBLAotMHgwNCwweEM3LDB4ODYsMHg4OCwweDAwLDB4MDAsMHgwMCwweDYxLDB4MUYsMHhGOSwweEMzLDB4MzMsMHhDMCwweDYxLDB4MUYsMHhDMywKLTB4QjAsMHg4MCwweDg0LDB4QzAsMHg2MSwweDFGLDB4QzMsMHg5MCwweDhCLDB4NEUsMHg3OCwweDJCLDB4OEUsMHg4OCwweDAwLDB4NzYsCi0weDI3LDB4ODksMHhCNiwweDhDLDB4MDAsMHg4QiwweDVFLDB4NzQsMHgzQiwweENCLDB4NzIsMHgwMiwweDhCLDB4Q0IsMHgzQiwweEM4LAotMHg3MiwweDAyLDB4OEIsMHhDOCwweDhCLDB4QzEsMHhFMywweDQ0LDB4MzMsMHhEMiwweDhFLDB4QzIsMHg4QiwweEQxLDB4ODMsMHhCRSwKLTB4ODgsMHgwMCwweDAwLDB4NzQsMHgwNiwweEU5LDB4OEUsMHgwMCwweDMzLDB4QzAsMHhDMywweDhCLDB4NUUsMHgxMCwweDAzLDB4MUYsCi0weDQzLDB4NDMsMHg1MiwweEY3LDB4NDYsMHg3QSwweDAxLDB4MDAsMHg3NSwweDJBLDB4QUMsMHg4RCwweEJFLDB4RTQsMHgwMCwweDhCLAotMHg4RSwweDg2LDB4MDAsMHhGMiwweEFFLDB4NzQsMHgzNCwweDg4LDB4MDcsMHg0MywweDRBLDB4NzUsMHhFRCwweDU4LDB4OEIsMHg1RSwKLTB4MTAsMHgwMSwweDA3LDB4MjksMHg0NiwweDc4LDB4MDEsMHg0NiwweDc2LDB4MjksMHg0NiwweDc0LDB4OEIsMHhDNiwweDJCLDB4ODYsCi0weDhDLDB4MDAsMHhDMywweDkwLDB4QUMsMHg4RCwweEJFLDB4RTQsMHgwMCwweDhCLDB4OEUsMHg4NiwweDAwLDB4RjIsMHhBRSwweDc0LAotMHgwQSwweDI0LDB4N0YsMHg4OCwweDA3LDB4NDMsMHg0QSwweDc1LDB4RUIsMHhFQiwweEQyLDB4ODgsMHg4NiwweEY0LDB4MDAsMHhDNywKLTB4ODYsMHg4OCwweDAwLDB4MDEsMHgwMCwweDU4LDB4MkIsMHhDMiwweDc0LDB4MEUsMHg4QiwweDVFLDB4MTAsMHgwMSwweDA3LDB4MjksCi0weDQ2LDB4NzgsMHgwMSwweDQ2LDB4NzYsMHgyOSwweDQ2LDB4NzQsMHg0MCwweEU4LDB4OTQsMHhGRSwweDcyLDB4QkUsMHg0QSwweDc1LAotMHgxNSwweDgzLDB4QkUsMHg4QSwweDAwLDB4MDAsMHg3NCwweEI0LDB4QkEsMHg1MCwweEZGLDB4RUQsMHg4OSwweDg2LDB4ODIsMHgwMCwKLTB4ODMsMHg0RSwweDdBLDB4MDgsMHhFQiwweEE2LDB4OEQsMHhCRSwweEY0LDB4MDAsMHgwMywweEJFLDB4ODgsMHgwMCwweEE0LDB4RkYsCi0weDg2LDB4ODgsMHgwMCwweEU4LDB4NkEsMHhGRSwweDcyLDB4OTQsMHg3OSwweDA2LDB4NEEsMHg3NCwweDhGLDB4RTksMHg1QiwweEZGLAotMHg0QSwweDc0LDB4Q0UsMHhFQiwweEUxLDB4OTAsMHg1MCwweEU4LDB4MTEsMHhDQywweDhCLDB4NDYsMHg3NCwweDM5LDB4NDYsMHg3MiwKLTB4NzQsMHgyNywweDFFLDB4NTYsMHg1MSwweDMzLDB4QzksMHhDNSwweDc2LDB4MEMsMHhBRCwweDc0LDB4MTAsMHg3OCwweDA5LDB4MDMsCi0weEM4LDB4MDUsMHgwMSwweDAwLDB4MjQsMHhGRSwweDAzLDB4RjAsMHgzQiwweDc2LDB4MTAsMHg3NiwweEVELDB4MjksMHg0RSwweDc2LAotMHgwMSwweDRFLDB4NzgsMHhFOCwweDM3LDB4Q0MsMHg1OSwweDVFLDB4MUYsMHg1OCwweEMzLDB4OTAsMHhDNCwweDdFLDB4MTAsMHgyNiwKLTB4OEIsMHgxRCwweDgzLDB4QzMsMHgwMywweDI2LDB4ODksMHgxRCwweDRCLDB4MDMsMHhGQiwweEFCLDB4OTEsMHhBQSwweEI4LDB4MDMsCi0weDAwLDB4MjksMHg0NiwweDc4LDB4MDEsMHg0NiwweDc2LDB4MjksMHg0NiwweDc0LDB4QzMsMHg5MCwweEM0LDB4N0UsMHgxMCwweDI2LAotMHg4QiwweDFELDB4NDMsMHgyNiwweDg5LDB4MUQsMHg0MywweDAzLDB4RkIsMHhBQSwweEZGLDB4NEUsMHg3OCwweEZGLDB4NDYsMHg3NiwKLTB4RkYsMHg0RSwweDc0LDB4QzMsMHhFOCwweEU1LDB4RkYsMHhDMywweDgwLDB4ODEsMHg4NCwweDg1LDB4ODIsMHg4MywweDg2LDB4ODcsCi0weDUwLDB4NTMsMHg4QSwweERDLDB4ODMsMHhFMywweDBFLDB4RDEsMHhFQiwweDJFLDB4OEEsMHg4NywweDk4LDB4M0IsMHgwOCwweDg2LAotMHhCMCwweDAwLDB4RkUsMHg4NiwweEIxLDB4MDAsMHhCMCwweDBBLDB4RTgsMHg4NywweEQ0LDB4NUIsMHg1OCwweEMzLDB4NTAsMHg4QSwKLTB4QzgsMHhCOCwweEZGLDB4MDAsMHhFOCwweDk1LDB4RkYsMHg1OCwweEMzLDB4OTAsMHg4QSwweDg2LDB4QkIsMHgwMCwweEU4LDB4QUIsCi0weEZGLDB4QzMsMHhFOCwweENCLDB4RkYsMHhFOCwweEYyLDB4RkYsMHhDMywweDkwLDB4RTgsMHhDMywweEZGLDB4RTgsMHhCNCwweEZGLAotMHhDMywweDkwLDB4MzMsMHhDMCwweEU4LDB4OTUsMHhGRiwweEMzLDB4QjgsMHhGRiwweDAwLDB4MzMsMHhDOSwweEU4LDB4NkMsMHhGRiwKLTB4QzMsMHg5MCwweEI4LDB4RkYsMHgwMSwweEIxLDB4MTAsMHhFOCwweDYyLDB4RkYsMHhDMywweDkwLDB4QzMsMHhGQywweDNCLDB4RTIsCi0weDNCLDB4RjIsMHgzQiwweEYyLDB4M0IsMHhGQywweDNCLDB4RTIsMHgzQiwweEU4LDB4M0IsMHhFOCwweDNCLDB4RkMsMHgzQiwweEUyLAotMHgzQiwweEU4LDB4M0IsMHhFOCwweDNCLDB4RkMsMHgzQiwweEUyLDB4M0IsMHhFMiwweDNCLDB4RTIsMHgzQiwweDAwLDB4MTAsMHgwMCwKLTB4MDAsMHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4MDAsCi0weDAwLDB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLAotMHgwMCwweDAwLDB4MDgsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAsMHgwMCwweDUxLDB4NTMsMHg4QiwKLTB4NEUsMHgzOCwweDgxLDB4RTEsMHhGRiwweEVFLDB4QTgsMHgwNCwweDc0LDB4MDQsMHg4MSwweEM5LDB4MDAsMHgwMSwweDhBLDB4RTAsCi0weDgwLDB4RTQsMHgwMywweDI0LDB4MTgsMHhEMCwweEU0LDB4MEEsMHhDNCwweDMzLDB4REIsMHg4QSwweEQ4LDB4MkUsMHg4QiwweDg3LAotMHhGRCwweDNCLDB4ODksMHg0NiwweDdDLDB4MkUsMHgwQiwweDhGLDB4MUQsMHgzQywweDg5LDB4NEUsMHgzOCwweEQxLDB4RUIsMHgyRSwKLTB4OEEsMHhBNywweDNELDB4M0MsMHg1QiwweDU5LDB4QzMsMHhBQywweDQ5LDB4M0MsMHgwMSwweDcyLDB4MUQsMHg3NCwweDIwLDB4M0MsCi0weDAzLDB4NzIsMHgyMywweDc0LDB4MjgsMHgzQywweDA4LDB4NzIsMHgyQiwweDc0LDB4MzAsMHgzQywweDIwLDB4NzIsMHgzNywweDc0LAotMHgzQSwweEJCLDB4REEsMHgzQiwweDMyLDB4RTQsMHg4OSwweDVFLDB4N0UsMHhDMywweEJCLDB4QTAsMHgzQiwweEVCLDB4RjUsMHhCQiwKLTB4OTQsMHgzQiwweEI0LDB4MDEsMHhFQiwweEYwLDB4QkIsMHhGQywweDNCLDB4QjQsMHgwMiwweEVCLDB4RTksMHhCQiwweEUyLDB4M0IsCi0weEI0LDB4MDMsMHhFQiwweEUyLDB4QkIsMHhCRSwweDNCLDB4QjQsMHgwNCwweEVCLDB4REIsMHhCQiwweENBLDB4M0IsMHhBQywweDQ5LAotMHg4OCwweDg2LDB4QkIsMHgwMCwweEVCLDB4Q0UsMHhCQiwweEQyLDB4M0IsMHhFQiwweEYzLDB4QkIsMHhGQywweDNCLDB4RUIsMHhDNCwKLTB4QTksMHgwNCwweDAwLDB4NzUsMHhEMSwweEE5LDB4MDgsMHgwMCwweDc1LDB4REEsMHhFQiwweEQxLDB4OEIsMHg1RSwweDc0LDB4OEIsCi0weDRFLDB4NzgsMHgzQiwweENCLDB4NzIsMHgwMiwweDhCLDB4Q0IsMHgzQiwweEM4LDB4NzIsMHgwMiwweDhCLDB4QzgsMHg4QiwweEMxLAotMHhFMywweDJDLDB4QzQsMHg3RSwweDEwLDB4OEIsMHhERiwweDI2LDB4MDMsMHgzRCwweDQ3LDB4NDcsMHhGNywweDQ2LDB4N0EsMHgwMSwKLTB4MDAsMHg3NSwweDFDLDB4RjcsMHhDNywweDAxLDB4MDAsMHg3NCwweDAyLDB4NDksMHhBNCwweEQxLDB4RTksMHhGMywweEE1LDB4NzMsCi0weDAxLDB4QTQsMHgyNiwweDAxLDB4MDcsMHgyOSwweDQ2LDB4NzgsMHgwMSwweDQ2LDB4NzYsMHgyOSwweDQ2LDB4NzQsMHhDMywweDUwLAotMHg1MywweEJCLDB4N0YsMHg3RiwweEY3LDB4QzcsMHgwMSwweDAwLDB4NzQsMHgwNSwweDQ5LDB4QUMsMHgyMiwweEMzLDB4QUEsMHhEMSwKLTB4RTksMHhFMywweDFELDB4OUMsMHhBRCwweDIzLDB4QzMsMHhBQiwweDQ5LDB4NzQsMHgxNCwweEFELDB4MjMsMHhDMywweEFCLDB4NDksCi0weDc0LDB4MEQsMHhBRCwweDIzLDB4QzMsMHhBQiwweDQ5LDB4NzQsMHgwNiwweEFELDB4MjMsMHhDMywweEFCLDB4RTIsMHhFNSwweDlELAotMHg3MywweDA0LDB4QUMsMHgyMiwweEMzLDB4QUIsMHg1QiwweDU4LDB4RUIsMHhCOCwweEU4LDB4Q0UsMHhDOSwweDhCLDB4NUUsMHgzOCwKLTB4RjcsMHhDMywweDEwLDB4MDQsMHg3NSwweDAxLDB4QzMsMHhGNywweEMzLDB4NDAsMHgwMCwweDc0LDB4MDUsMHhFOCwweEI4LDB4RTMsCi0weEVCLDB4MDMsMHhFOCwweEE4LDB4RTMsMHg4MSwweDY2LDB4MzgsMHhFRiwweEZCLDB4RjYsMHhDMywweDEwLDB4NzQsMHgzQywweEY2LAotMHhDMywweDAyLDB4NzQsMHgwNiwweEU0LDB4RDgsMHgwQywweDAxLDB4RTYsMHhEOCwweEY2LDB4QzMsMHgwNCwweDc0LDB4MTEsMHg4MywKLTB4QzIsMHgwOCwweDhBLDB4ODYsMHhBNywweDAwLDB4MEMsMHgwMSwweEVFLDB4ODgsMHg4NiwweEE3LDB4MDAsMHg4MywweEVBLDB4MDgsCi0weEY2LDB4QzMsMHgwOCwweDc0LDB4MEYsMHhFOCwweDhCLDB4RTMsMHg3MiwweDBBLDB4OEEsMHg4NiwweEMwLDB4MDAsMHhFNiwweDM4LAotMHhCMCwweDIzLDB4RTYsMHgwQSwweEY3LDB4QzMsMHgwMCwweDA0LDB4NzUsMHgwMSwweEMzLDB4RjcsMHhDMywweDAwLDB4MDgsMHg3NSwKLTB4RjksMHg4QSwweDg2LDB4QTUsMHgwMCwweEY2LDB4QzMsMHg0MCwweDc1LDB4MEQsMHhBOCwweDEwLDB4NzUsMHhFQywweDBDLDB4MTAsCi0weDg4LDB4ODYsMHhBNSwweDAwLDB4RTYsMHgwQywweEMzLDB4QTgsMHgwMSwweDc1LDB4REYsMHg4MywweEMyLDB4MDIsMHgwQywweDA1LAotMHhFRSwweDg4LDB4ODYsMHhBNSwweDAwLDB4QzMsMHhCMCwweDAwLDB4RTgsMHg0NywweEQyLDB4RUIsMHgwRiwweEIwLDB4MDIsMHhFOCwKLTB4OTAsMHgwRSwweEVCLDB4MDgsMHg4MywweDY2LDB4MzgsMHhERiwweDgzLDB4NEUsMHg3QSwweDAyLDB4MzMsMHhDMCwweDhFLDB4RDgsCi0weEZBLDB4QTAsMHg5MiwweDEyLDB4NDAsMHhBMiwweDkyLDB4MTIsMHgzQywweDA1LDB4NzIsMHgxRSwweEM2LDB4MDYsMHg5MiwweDEyLAotMHgwMCwweEZCLDB4QjAsMHgwMSwweEU4LDB4NkIsMHgwRSwweEZBLDB4QTEsMHgyNiwweDAxLDB4MjMsMHgwNiwweDJBLDB4MDEsMHhBOCwKLTB4MDEsMHg3NSwweDA3LDB4RTgsMHhFMiwweDA3LDB4RTgsMHg2MSwweDA5LDB4OTAsMHhCMCwweDAwLDB4RTgsMHgzNywweEQyLDB4RkIsCi0weDg1LDB4RUQsMHg3NCwweEI5LDB4RkEsMHhGNywweDQ2LDB4N0EsMHg0NiwweDAwLDB4NzUsMHhDMCwweDhCLDB4NDYsMHg3OCwweDNELAotMHgwQSwweDAwLDB4NzIsMHhCMCwweDhCLDB4NEUsMHg3NCwweDgzLDB4RjksMHg1MCwweDcyLDB4OUEsMHg4MywweDY2LDB4MzgsMHhERiwKLTB4QzUsMHg3NiwweDE0LDB4OEIsMHg0NiwweDNBLDB4ODUsMHhDMCwweDc1LDB4NTgsMHhBRCwweDg1LDB4QzAsMHg3NSwweDBGLDB4RTgsCi0weEY4LDB4RkUsMHhGNywweDQ2LDB4N0EsMHgwOCwweDAwLDB4NzQsMHg5MywweEU4LDB4QTAsMHhGQSwweEVCLDB4OEUsMHgzQiwweDc2LAotMHgwNCwweDc2LDB4MjEsMHhCOSwweDAyLDB4MDAsMHgzOSwweDRFLDB4MkUsMHg3NywweDA1LDB4QzcsMHg0NiwweDJFLDB4MDAsMHgwMCwKLTB4NTYsMHg4QiwweDc2LDB4MkMsMHg4OSwweDc2LDB4MDQsMHhDNywweDA0LDB4MDAsMHgwMCwweDQ2LDB4NDYsMHg4OSwweDc2LDB4MkMsCi0weDI5LDB4NEUsMHgyRSwweDVFLDB4ODUsMHhDMCwweDc5LDB4MTcsMHhGNiwweEM0LDB4MTAsMHg3NCwweDA1LDB4RkYsMHg1NiwweDdDLAotMHhFQiwweDAzLDB4RkYsMHg1NiwweDdFLDB4ODksMHg3NiwweDE0LDB4QjAsMHgwQywweEU4LDB4ODUsMHhEMSwweEVCLDB4ODYsMHg4OSwKLTB4NDYsMHgzQSwweEZGLDB4OTYsMHg4MCwweDAwLDB4MjksMHg0NiwweDNBLDB4ODksMHg3NiwweDE0LDB4QjAsMHgwQywweEU4LDB4NzEsCi0weEQxLDB4RTksMHg3MSwweEZGLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDQsMHgxMCwweDAyLAotMHgwMSwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwKLTB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsCi0weDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLAotMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwKLTB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsCi0weDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHhDMCwweEMwLDB4QzAsMHhDMCwweEMwLDB4QzAsMHhDMCwweEMwLDB4QzAsMHhDMCwweEMwLAotMHhDMCwweEMwLDB4QzAsMHhDMCwweEMwLDB4QzAsMHhDMCwweEMwLDB4QzAsMHhDMCwweEMwLDB4QzAsMHhDMCwweEMwLDB4QzAsMHg4MCwKLTB4ODAsMHg4MCwweDgwLDB4MDAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsCi0weDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLAotMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwKLTB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsCi0weDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLAotMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwKLTB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsCi0weDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLAotMHg4MCwweDgwLDB4ODAsMHg4MCwweDRFLDB4NDEsMHg3OCwweDQxLDB4RDAsMHg0MSwweEY0LDB4NDEsMHgwNiwweDQyLDB4MTgsMHg0MiwKLTB4QzMsMHg5MCwweDhFLDB4NDYsMHgwMiwweDhCLDB4N0UsMHgyMiwweDg5LDB4N0UsMHg2QywweDgwLDB4NjYsMHgyNywweEZELDB4OEIsCi0weDU2LDB4MjQsMHg4MywweEZBLDB4MDQsMHg3MiwweEU5LDB4ODMsMHhFQSwweDAyLDB4OEIsMHhEOSwweDNCLDB4Q0EsMHg3NiwweDAyLAotMHg4QiwweENBLDB4QjAsMHgwQSwweDU3LDB4NTEsMHg4QiwweEZFLDB4RjIsMHhBRSwweDhCLDB4QzEsMHg1OSwweDVGLDB4NzUsMHgxRSwKLTB4NTAsMHg0MCwweDJCLDB4QzgsMHg3NCwweDA2LDB4MkIsMHhEMSwweDJCLDB4RDksMHhGMywweEE0LDB4NTksMHg0QiwweDRBLDB4NEEsCi0weEIwLDB4MEQsMHhBQSwweEE0LDB4M0IsMHhDQSwweDc2LDB4MDIsMHg4QiwweENBLDB4RTMsMHgxMywweEVCLDB4RDQsMHgyQiwweEQ5LAotMHhGNywweEM2LDB4MDEsMHgwMCwweDc0LDB4MDIsMHhBNCwweDQ5LDB4RDEsMHhFOSwweEYzLDB4QTUsMHg3MywweDAxLDB4QTQsMHg4OSwKLTB4N0UsMHgyMiwweDJCLDB4N0UsMHg2QywweDI5LDB4N0UsMHgyNCwweDAxLDB4N0UsMHgxQSwweDhCLDB4Q0IsMHg4MCwweDdFLDB4MjYsCi0weDAyLDB4NzQsMHgwNSwweDgwLDB4NjYsMHgyNiwweEZELDB4QzMsMHg2MCwweEIwLDB4RkQsMHhFOCwweDE4LDB4MDMsMHg2MSwweEMzLAotMHhDMywweDkwLDB4RTgsMHg3QywweDAyLDB4NzIsMHhGOSwweDkwLDB4ODMsMHg0RSwweDI2LDB4MjAsMHg4QiwweDQ2LDB4NkEsMHg4OSwKLTB4NDYsMHg2RSwweDhCLDB4NDYsMHg0OCwweDBELDB4MDQsMHgwMCwweDI1LDB4QkYsMHhGRiwweDg5LDB4NDYsMHg0OCwweEIwLDB4MDYsCi0weEU4LDB4QkYsMHhDRiwweEMzLDB4ODksMHg3RSwweDIyLDB4MkIsMHg3RSwweDZDLDB4MDEsMHg3RSwweDFBLDB4MjksMHg3RSwweDI0LAotMHg4MCwweDdFLDB4MjYsMHgwMiwweDc0LDB4MDUsMHg4MywweDY2LDB4MjYsMHhGRCwweEMzLDB4NjAsMHhCMCwweEZELDB4RTgsMHhENSwKLTB4MDIsMHg2MSwweEMzLDB4OTAsMHg4QSwweEJFLDB4QzIsMHgwMCwweEVCLDB4MjQsMHhGNywweDQ2LDB4NDgsMHg0MCwweDAwLDB4NzUsCi0weEIxLDB4OEUsMHg0NiwweDAyLDB4OEIsMHg3RSwweDIyLDB4ODksMHg3RSwweDZDLDB4OEIsMHg1NiwweDI0LDB4ODMsMHhFQSwweDBBLAotMHg3OCwweDlFLDB4MDMsMHhENywweDgwLDB4NjYsMHgyNywweEZELDB4MzMsMHhDMCwweDhBLDB4QkUsMHhDMiwweDAwLDB4RTMsMHhCNCwKLTB4M0IsMHhGQSwweDc3LDB4QjAsMHhBQywweDQ5LDB4OTMsMHgyRSwweDhBLDB4ODcsMHhENCwweDNFLDB4OTMsMHgyMiwweERGLDB4NzUsCi0weDE3LDB4QUEsMHhFMywweEEwLDB4M0IsMHhGQSwweDc3LDB4OUMsMHhBQywweDQ5LDB4OTMsMHgyRSwweDhBLDB4ODcsMHhENCwweDNFLAotMHg5MywweDIyLDB4REYsMHg3NSwweDAzLDB4QUEsMHhFQiwweEQ2LDB4RjYsMHhDMywweDdGLDB4NzUsMHgwNSwweEZGLDB4NDYsMHg2NiwKLTB4RUIsMHhERiwweEY2LDB4QzMsMHg0MCwweDc1LDB4MEMsMHg4QiwweEQ4LDB4ODMsMHhFQiwweDA4LDB4RDEsMHhFMywweDJFLDB4RkYsCi0weEE3LDB4RDQsMHgzRiwweEZGLDB4NDYsMHg2NiwweDJDLDB4MjAsMHhFQiwweEM3LDB4ODUsMHhDMCwweDc0LDB4MkMsMHg4OSwweDQ2LAotMHg2QSwweDgzLDB4NEUsMHg0OCwweDQwLDB4ODksMHg3RSwweDIyLDB4MkIsMHg3RSwweDZDLDB4MDEsMHg3RSwweDFBLDB4MjksMHg3RSwKLTB4MjQsMHg4MCwweDdFLDB4MjYsMHgwMiwweDc0LDB4MDgsMHg4MywweDY2LDB4MjYsMHhGRCwweEU4LDB4QTMsMHgwMSwweEMzLDB4NjAsCi0weEIwLDB4RkQsMHhFOCwweDMxLDB4MDIsMHg2MSwweEU4LDB4OTgsMHgwMSwweEMzLDB4RTksMHg1NywweEZGLDB4OTAsMHg4QiwweDVFLAotMHg2NiwweDRCLDB4NzgsMHgwMywweDg5LDB4NUUsMHg2NiwweEFBLDB4OEIsMHg1RSwweDY0LDB4RjcsMHhDMywweDAwLDB4MjAsMHg3NSwKLTB4MDMsMHhFOSwweDQwLDB4RkYsMHhGNywweEMzLDB4NDAsMHgwMCwweDc0LDB4MDgsMHg4QSwweDg2LDB4QzEsMHgwMCwweEFBLDB4RTksCi0weDMyLDB4RkYsMHhCOCwweDMyLDB4MDAsMHhFQiwweEEzLDB4OTAsMHg4QiwweDVFLDB4NjYsMHg4OSwweDVFLDB4NjgsMHg4MywweEMzLAotMHgwOCwweDgwLDB4RTMsMHhGOCwweDg5LDB4NUUsMHg2NiwweDhCLDB4NUUsMHg2NCwweDgxLDB4RTMsMHgwMCwweDE4LDB4ODEsMHhGQiwKLTB4MDAsMHgxOCwweDc0LDB4MkQsMHhBQSwweDg1LDB4REIsMHg3NCwweDI1LDB4RjcsMHg0NiwweDY0LDB4NDAsMHgwMCwweDc1LDB4MTgsCi0weDgxLDB4RkIsMHgwMCwweDEwLDB4NzQsMHgwQywweDhCLDB4NDYsMHg2NiwweDJCLDB4NDYsMHg2OCwweEMxLDB4RTAsMHgwNCwweEU5LAotMHg2OCwweEZGLDB4QjgsMHg2NCwweDAwLDB4RTksMHg2MiwweEZGLDB4OEEsMHg4NiwweEMxLDB4MDAsMHhBQSwweEFBLDB4RTksMHhFMywKLTB4RkUsMHg1MSwweDhCLDB4NEUsMHg2NiwweDJCLDB4NEUsMHg2OCwweEIwLDB4MjAsMHhGMywweEFBLDB4NTksMHhFOSwweEQ0LDB4RkUsCi0weDhCLDB4NUUsMHg2NiwweDg5LDB4NUUsMHg2OCwweDhCLDB4NUUsMHg2NCwweEY3LDB4QzMsMHgyNCwweDAwLDB4NzQsMHgxMCwweEM3LAotMHg0NiwweDY2LDB4MDAsMHgwMCwweEY3LDB4QzMsMHgwNCwweDAwLDB4NzQsMHgwNSwweEIwLDB4MEQsMHhBQSwweEIwLDB4MEEsMHhBQSwKLTB4RUIsMHg0OCwweDkwLDB4OTAsMHhBQSwweEY3LDB4NDYsMHg2NCwweDAwLDB4NDAsMHg3NCwweDA2LDB4QjgsMHhEMCwweDA3LDB4RTksCi0weDE4LDB4RkYsMHhFOSwweDlGLDB4RkUsMHg5MCwweEFBLDB4RjcsMHg0NiwweDY0LDB4MDAsMHg4MCwweDc0LDB4MDYsMHhCOCwweEQwLAotMHgwNywweEU5LDB4MDYsMHhGRiwweEU5LDB4OEQsMHhGRSwweDkwLDB4OEIsMHg1RSwweDY2LDB4ODksMHg1RSwweDY4LDB4ODUsMHhEQiwKLTB4NzUsMHgwQywweDhCLDB4NUUsMHg2NCwweEY3LDB4QzMsMHgxMCwweDAwLDB4NzQsMHgwNiwweEU5LDB4NzYsMHhGRSwweDhCLDB4NUUsCi0weDY0LDB4RjcsMHhDMywweDA4LDB4MDAsMHg3NCwweDI3LDB4QjAsMHgwQSwweEFBLDB4RjcsMHhDMywweDIwLDB4MDAsMHg3NSwweDFGLAotMHhGNywweEMzLDB4MDAsMHgwMSwweDc1LDB4MDMsMHhFOSwweDVCLDB4RkUsMHhGNywweEMzLDB4NDAsMHgwMCwweDc1LDB4MDYsMHhCOCwKLTB4NjQsMHgwMCwweEU5LDB4QzUsMHhGRSwweDhBLDB4ODYsMHhDMSwweDAwLDB4QUEsMHhBQSwweEU5LDB4NDYsMHhGRSwweEFBLDB4QzcsCi0weDQ2LDB4NjYsMHgwMCwweDAwLDB4RjcsMHhDMywweDAwLDB4MDYsMHg3NCwweEYxLDB4RjcsMHhDMywweDQwLDB4MDAsMHg3NCwweDE5LAotMHg4QSwweDg2LDB4QzEsMHgwMCwweDgxLDB4RTMsMHgwMCwweDA2LDB4ODEsMHhGQiwweDAwLDB4MDQsMHg3MiwweDA2LDB4NzYsMHgwMiwKLTB4QUEsMHhBQSwweEFBLDB4QUEsMHhBQSwweEFBLDB4RTksMHgxQiwweEZFLDB4ODEsMHhFMywweDAwLDB4MDYsMHg4MSwweEZCLDB4MDAsCi0weDA0LDB4NzIsMHgwRSwweDc2LDB4MDYsMHhCOCwweDk2LDB4MDAsMHhFOSwweDdGLDB4RkUsMHhCOCwweDY0LDB4MDAsMHhFOSwweDc5LAotMHhGRSwweDhCLDB4NDYsMHg2OCwweEU5LDB4NzMsMHhGRSwweDkwLDB4MzYsMHg4QiwweDBFLDB4REEsMHgxMiwweDgzLDB4RjksMHgzMiwKLTB4NzMsMHgxRCwweDFFLDB4MDYsMHgzMywweEMwLDB4OEUsMHhEOCwweDhFLDB4QzAsMHg4RCwweDc2LDB4NEMsMHhCRiwweERDLDB4MTIsCi0weDAzLDB4RjksMHhBNSwweEE1LDB4QTUsMHg4MywweEMxLDB4MDYsMHg4OSwweDBFLDB4REEsMHgxMiwweDA3LDB4MUYsMHhDMywweEIwLAotMHgwOCwweEU4LDB4NkUsMHhDRCwweEMzLDB4OTAsMHg4MywweDY2LDB4NDgsMHhGRSwweEU4LDB4OTMsMHhDNCwweEU4LDB4QzgsMHhGRiwKLTB4QzMsMHhGNiwweDQ2LDB4MjcsMHgwMiwweDc1LDB4MEYsMHg5QywweEZBLDB4ODMsMHg3RSwweDFBLDB4MDAsMHg3NCwweDA5LDB4ODAsCi0weDRFLDB4MjcsMHgwMSwweDlELDB4RjksMHhDMywweEY4LDB4QzMsMHg1MCwweDUyLDB4RjcsMHg0NiwweDM4LDB4NDAsMHgwMCwweDc0LAotMHgxRCwweEU4LDB4MzQsMHhERSwweDgzLDB4QzIsMHgwQSwweEVDLDB4QTgsMHg0MCwweDc1LDB4MjcsMHg4MywweEVBLDB4MDgsMHg4QSwKLTB4ODYsMHhBNSwweDAwLDB4MEMsMHgwMiwweDg4LDB4ODYsMHhBNSwweDAwLDB4RUUsMHg1QSwweDU4LDB4RUIsMHhEMSwweEU4LDB4MEMsCi0weERFLDB4OEEsMHg4NiwweEE1LDB4MDAsMHgyNCwweEZCLDB4MEMsMHgwMiwweDg4LDB4ODYsMHhBNSwweDAwLDB4RTYsMHgwQywweDVBLAotMHg1OCwweEVCLDB4QkMsMHg4MCwweDRFLDB4MjcsMHgwMiwweDVBLDB4NTgsMHg5RCwweEY4LDB4QzMsMHgwOCwweDQ2LDB4MjYsMHg5QywKLTB4RkEsMHg4QSwweDhFLDB4QTUsMHgwMCwweEY3LDB4NDYsMHgzOCwweDQwLDB4MDAsMHg3NSwweDE0LDB4RjYsMHhDMSwweDA2LDB4NzQsCi0weDIzLDB4RTgsMHhEOSwweERELDB4OEEsMHhDMSwweDI0LDB4RjksMHg4OCwweDg2LDB4QTUsMHgwMCwweEU2LDB4MEMsMHg5RCwweEMzLAotMHhGNiwweEMxLDB4MDIsMHg3NCwweDBGLDB4RTgsMHhEMCwweERELDB4ODMsMHhDMiwweDAyLDB4OEEsMHhDMSwweDI0LDB4RkQsMHg4OCwKLTB4ODYsMHhBNSwweDAwLDB4RUUsMHg5RCwweEMzLDB4OEIsMHg1RSwweDI2LDB4MjIsMHhDMywweDg4LDB4NDYsMHgyNiwweDc0LDB4MDEsCi0weEMzLDB4ODAsMHg2NiwweDI3LDB4RkQsMHg5QywweEZBLDB4OEEsMHg4RSwweEE1LDB4MDAsMHhGNywweDQ2LDB4MzgsMHg0MCwweDAwLAotMHg3NSwweDE2LDB4RjYsMHhDMSwweDA0LDB4NzUsMHgwRiwweEU4LDB4OTMsMHhERCwweDhBLDB4QzEsMHgyNCwweEZELDB4MEMsMHgwNCwKLTB4ODgsMHg4NiwweEE1LDB4MDAsMHhFNiwweDBDLDB4OUQsMHhDMywweEY2LDB4QzEsMHgwMiwweDc1LDB4RjksMHhFOCwweDg4LDB4REQsCi0weDgzLDB4QzIsMHgwQSwweEVDLDB4QTgsMHgyMCwweDc1LDB4MEUsMHg4MywweEVBLDB4MDgsMHg4QSwweEMxLDB4MEMsMHgwMiwweDg4LAotMHg4NiwweEE1LDB4MDAsMHhFRSwweDlELDB4QzMsMHg4MywweEVBLDB4MEEsMHgzMywweEM5LDB4OEEsMHg0RSwweDFDLDB4OEIsMHg0NiwKLTB4MUEsMHgzQiwweEM4LDB4NzMsMHgxQiwweDAxLDB4NEUsMHgyQSwweDJCLDB4QzEsMHg4OSwweDQ2LDB4MUEsMHgxRSwweEM1LDB4NzYsCi0weDAwLDB4RjMsMHg2RSwweDFGLDB4ODksMHg3NiwweDAwLDB4ODMsMHhDMiwweDAyLDB4OEEsMHg4NiwweEE1LDB4MDAsMHhFQiwweENELAotMHg4NSwweEMwLDB4NzQsMHgxMiwweDAxLDB4NDYsMHgyQSwweDhCLDB4QzgsMHgxRSwweEM1LDB4NzYsMHgwMCwweEYzLDB4NkUsMHgxRiwKLTB4ODksMHg3NiwweDAwLDB4ODksMHg0RSwweDFBLDB4RjYsMHhDNywweDAxLDB4NzUsMHgyMywweDgwLDB4Q0IsMHgwMiwweDg5LDB4NUUsCi0weDI2LDB4RTgsMHgwOCwweEMzLDB4ODMsMHhDMiwweDAyLDB4OEEsMHg4NiwweEE1LDB4MDAsMHgyNCwweEZELDB4RUUsMHg4OCwweDg2LAotMHhBNSwweDAwLDB4RjYsMHhDNywweDEwLDB4NzUsMHgwNSwweEIwLDB4MDIsMHhFOCwweDE2LDB4Q0MsMHg5RCwweEMzLDB4ODMsMHhDMiwKLTB4MDIsMHg4QSwweDg2LDB4QTUsMHgwMCwweEVCLDB4ODYsMHg5MCwweDhCLDB4RDEsMHg4QiwweDQ2LDB4MjQsMHgzQiwweEM4LDB4NzYsCi0weDAyLDB4OEIsMHhDOCwweDJCLDB4RDEsMHgyQiwweEMxLDB4OEIsMHhEOSwweEUzLDB4MjIsMHg4MCwweDY2LDB4MjcsMHhGRCwweDhFLAotMHg0NiwweDAyLDB4OEIsMHg3RSwweDIyLDB4RjcsMHhDNiwweDAxLDB4MDAsMHg3NCwweDAyLDB4QTQsMHg0OSwweEQxLDB4RTksMHhGMywKLTB4QTUsMHg3MywweDAxLDB4QTQsMHg4OSwweDdFLDB4MjIsMHg4OSwweDQ2LDB4MjQsMHgwMSwweDVFLDB4MUEsMHg4QiwweENBLDB4ODAsCi0weDdFLDB4MjYsMHgwMiwweDc0LDB4MDUsMHg4MCwweDY2LDB4MjYsMHhGRCwweEMzLDB4NjAsMHhCMCwweEZELDB4RTgsMHhGNiwweEZFLAotMHg2MSwweEMzLDB4NTAsMHhFNCwweDBBLDB4ODQsMHhDMCwweDc1LDB4MEEsMHg4NiwweDg2LDB4QTEsMHgwMCwweDg0LDB4QzAsMHg3NCwKLTB4MEEsMHhFNiwweDBBLDB4NTgsMHgwQywweDIwLDB4ODksMHg0NiwweDQ4LDB4RjksMHhDMywweDU4LDB4MjQsMHhERiwweDg5LDB4NDYsCi0weDQ4LDB4RjgsMHhDMywweDkwLDB4RkIsMHhCMCwweDAyLDB4RTgsMHhFOCwweDA3LDB4RkEsMHhFOCwweDJFLDB4MDEsMHhGQiwweEIwLAotMHgwMSwweEU4LDB4REUsMHgwNywweEZBLDB4QjAsMHgwMiwweEU4LDB4QkMsMHhDQiwweEZCLDB4ODUsMHhFRCwweDc0LDB4RTUsMHhGQSwKLTB4OEUsMHg1RSwweDBBLDB4RkIsMHg5MCwweEZBLDB4OEIsMHg0NiwweDQ4LDB4OEIsMHg3NiwweDQwLDB4QTgsMHg4QywweDc1LDB4REUsCi0weEE4LDB4MjAsMHg3NCwweDFBLDB4NTAsMHhFOCwweDU1LDB4REMsMHg1OCwweEU4LDB4QTYsMHhGRiwweDczLDB4MTAsMHhCMCwweDAyLAotMHhFOCwweDVGLDB4Q0IsMHhFQiwweEM5LDB4OTAsMHgyNSwweEZGLDB4MDAsMHg4QiwweEM4LDB4RUIsMHgzNiwweDkwLDB4QTgsMHgwMSwKLTB4NzUsMHgyMiwweDQ2LDB4ODMsMHhFNiwweEZFLDB4M0IsMHg3NiwweDA4LDB4NzQsMHg3OSwweEFELDB4OEEsMHhGQywweEIzLDB4RjAsCi0weDIyLDB4RkIsMHgzQSwweEZCLDB4NzQsMHhFMCwweDNBLDB4QkUsMHhBMCwweDAwLDB4NzQsMHgyRSwweEU4LDB4RDIsMHhGRCwweDczLAotMHg3NywweEVCLDB4OUIsMHg5MCwweDhBLDB4RTAsMHgyNCwweEZDLDB4ODgsMHg0NiwweDQ4LDB4OEIsMHg0RSwweDRBLDB4RjYsMHhDNCwKLTB4MDIsMHg3NCwweDFELDB4RTgsMHhCQiwweEZELDB4NzIsMHg4NiwweEU4LDB4MTMsMHhGMywweDg5LDB4NzYsMHg0MCwweEUzLDB4OTMsCi0weDgzLDB4NEUsMHg0OCwweDAzLDB4ODksMHg0RSwweDRBLDB4RTksMHg3NCwweEZGLDB4MjUsMHhGRiwweDBGLDB4OEIsMHhDOCwweDkwLAotMHg4QiwweDg2LDB4OTgsMHgwMCwweDg1LDB4QzAsMHg3NCwweDFBLDB4NTEsMHg4QSwweDhFLDB4QTAsMHgwMCwweEMwLDB4RTksMHgwNCwKLTB4QkEsMHgwMSwweDAwLDB4RDMsMHhFMiwweDU5LDB4MjMsMHhDMiwweDc0LDB4MDgsMHgwMywweEYxLDB4ODksMHg3NiwweDQwLDB4RTksCi0weDYxLDB4RkYsMHhGRiwweDU2LDB4NjIsMHhFMywweEY1LDB4ODMsMHg0RSwweDQ4LDB4MDEsMHg4OSwweDRFLDB4NEEsMHg4OSwweDc2LAotMHg0MCwweEU5LDB4M0EsMHhGRiwweDgxLDB4NEUsMHgyNiwweDAwLDB4MTAsMHg4QiwweDQ2LDB4NTAsMHgzQiwweDQ2LDB4NDYsMHg3NywKLTB4MDMsMHhFOCwweDUyLDB4RkQsMHhFOSwweDI3LDB4RkYsMHg5MCwweDg4LDB4QkUsMHhBMCwweDAwLDB4RUIsMHhBQywweDBBLDB4MDYsCi0weDkwLDB4MTIsMHg4QSwweEUwLDB4QkEsMHgwNiwweDAxLDB4QjAsMHgwNCwweEVFLDB4RUMsMHg4NCwweEMwLDB4NzUsMHgxMiwweEIwLAotMHgwNCwweEVFLDB4OEEsMHhDNCwweEVFLDB4MzIsMHhFNCwweEE4LDB4ODAsMHg3NCwweDA2LDB4QzcsMHgwNiwweDg0LDB4MTIsMHgwMCwKLTB4MDAsMHg4OCwweDI2LDB4OTAsMHgxMiwweEMzLDB4MEEsMHgwNiwweDkwLDB4MTIsMHg4QSwweEUwLDB4QkEsMHgwNiwweDAxLDB4RUMsCi0weEE4LDB4MDEsMHg3NSwweEVELDB4QkEsMHgwOCwweDAxLDB4OEEsMHhDNCwweEVFLDB4MzIsMHhFNCwweEE4LDB4ODAsMHg3NCwweEUxLAotMHhDNywweDA2LDB4ODQsMHgxMiwweDAwLDB4MDAsMHg4OCwweDI2LDB4OTAsMHgxMiwweEMzLDB4OTAsMHgzNiwweEY3LDB4MDYsMHgyNCwKLTB4MDEsMHgwMSwweDAwLDB4NzUsMHgzMCwweDM2LDB4OEIsMHgwRSwweERBLDB4MTIsMHg4MCwweEY5LDB4MzYsMHg3MywweDI2LDB4MzMsCi0weEMwLDB4OEUsMHhDMCwweDhFLDB4RDgsMHhCRiwweERDLDB4MTIsMHgwMywweEY5LDB4QjAsMHgwOCwweEU4LDB4NzcsMHhDQSwweDg1LAotMHhFRCwweDc0LDB4MEUsMHg4RCwweDc2LDB4NEMsMHhBNSwweEE1LDB4QTUsMHg4MCwweEMxLDB4MDYsMHg4MCwweEY5LDB4MzYsMHg3MiwKLTB4RTksMHg4OSwweDBFLDB4REEsMHgxMiwweEMzLDB4QzMsMHg5MCwweEY3LDB4MDYsMHgyNiwweDAxLDB4MDEsMHgwMCwweDc1LDB4RjYsCi0weDhCLDB4MEUsMHgyMCwweDEzLDB4ODUsMHhDOSwweDc1LDB4RUUsMHgzMywweEMwLDB4OEUsMHhDMCwweDhFLDB4RDgsMHhCRiwweDI0LAotMHgxMywweEI5LDB4MzYsMHgwMCwweEIwLDB4MEEsMHhFOCwweDNELDB4Q0EsMHg4NSwweEVELDB4NzUsMHgwNiwweEU5LDB4MTIsMHgwMSwKLTB4RTksMHgwQSwweDAxLDB4MzMsMHhEQiwweDhBLDB4NDYsMHg0QywweDhBLDB4QTYsMHhCMywweDAwLDB4RkUsMHhDQywweDc4LDB4MEUsCi0weDg4LDB4QTYsMHhCMywweDAwLDB4MEEsMHhEQywweEI0LDB4MEEsMHhBQiwweDgzLDB4RTksMHgwMiwweDc2LDB4RTIsMHg4QSwweEE2LAotMHhCMiwweDAwLDB4RkUsMHhDQywweDc4LDB4MEUsMHg4OCwweEE2LDB4QjIsMHgwMCwweDBBLDB4REMsMHhCNCwweDA4LDB4QUIsMHg4MywKLTB4RTksMHgwMiwweDc2LDB4Q0MsMHg4QSwweEE2LDB4QjEsMHgwMCwweEZFLDB4Q0MsMHg3OCwweDE4LDB4OEEsMHhCRSwweEIwLDB4MDAsCi0weDc1LDB4MDQsMHg4OCwweEE2LDB4QjAsMHgwMCwweDg4LDB4QTYsMHhCMSwweDAwLDB4MEEsMHhEQywweDhBLDB4RTcsMHhBQiwweDgzLAotMHhFOSwweDAyLDB4NzYsMHhBQywweDhBLDB4QTYsMHhCNCwweDAwLDB4RkUsMHhDQywweDc4LDB4MUYsMHg4OCwweEE2LDB4QjQsMHgwMCwKLTB4MEEsMHhEQywweEI0LDB4MEIsMHhBQiwweDhBLDB4ODYsMHhCQywweDAwLDB4OEEsMHhBNiwweEJELDB4MDAsMHhBQiwweDhCLDB4ODYsCi0weEJFLDB4MDAsMHhBQiwweDgzLDB4RTksMHgwNiwweDc2LDB4ODgsMHg4QSwweDQ2LDB4NEMsMHg4QSwweEE2LDB4QjYsMHgwMCwweEZFLAotMHhDQywweDc4LDB4MTksMHg4OCwweEE2LDB4QjYsMHgwMCwweDBBLDB4REMsMHhCNCwweDBDLDB4QUIsMHhFOCwweERCLDB4Q0IsMHhBQiwKLTB4OEIsMHg0NiwweDJBLDB4QUIsMHg4MywweEU5LDB4MDYsMHg3NiwweDc0LDB4OEEsMHg0NiwweDRDLDB4OEEsMHhBNiwweEI3LDB4MDAsCi0weEZFLDB4Q0MsMHg3OCwweDE5LDB4ODgsMHhBNiwweEI3LDB4MDAsMHgwQSwweERDLDB4QjQsMHgwRCwweEFCLDB4RTgsMHhCQSwweENCLAotMHhBQiwweDhCLDB4NDYsMHgzNCwweEFCLDB4ODMsMHhFOSwweDA2LDB4NzYsMHg1MywweDhBLDB4NDYsMHg0QywweDhBLDB4QTYsMHhCOCwKLTB4MDAsMHhGRSwweENDLDB4NzgsMHgxOSwweDg4LDB4QTYsMHhCOCwweDAwLDB4MEEsMHhEQywweEI0LDB4MEUsMHhBQiwweEExLDB4NTAsCi0weDEyLDB4QUIsMHhBMSwweDUyLDB4MTIsMHhBQiwweDgzLDB4RTksMHgwNiwweDc2LDB4MzIsMHg4QSwweDQ2LDB4NEMsMHg4QSwweEE2LAotMHhCNSwweDAwLDB4RkUsMHhDQywweDc4LDB4MTgsMHg4OCwweEE2LDB4QjUsMHgwMCwweDBBLDB4REMsMHhCNCwweDBGLDB4QUIsMHg4QiwKLTB4ODYsMHg5QSwweDAwLDB4QUIsMHg4QiwweDg2LDB4OUMsMHgwMCwweEFCLDB4ODMsMHhFOSwweDA2LDB4NzYsMHgwRiwweDg0LDB4REIsCi0weDc1LDB4MDMsMHhFOSwweEVGLDB4RkUsMHhCMCwweDBBLDB4RTgsMHhGOCwweEM4LDB4RTksMHhFNywweEZFLDB4QjAsMHgwQSwweEU4LAotMHhGMCwweEM4LDB4RjcsMHhEOSwweDgzLDB4QzEsMHgzNiwweDhCLDB4QzEsMHgwRCwweDgwLDB4MDAsMHg4NiwweEM0LDB4QTMsMHgyMiwKLTB4MTMsMHg0MSwweDQxLDB4ODksMHgwRSwweDIwLDB4MTMsMHhDMywweEExLDB4ODQsMHgxMiwweDJCLDB4QzEsMHg3MiwweDExLDB4QTMsCi0weDg0LDB4MTIsMHhCRSwweDIyLDB4MTMsMHhEMSwweEU5LDB4RjMsMHg2RiwweDkwLDB4ODksMHgwRSwweDIwLDB4MTMsMHhGOCwweEMzLAotMHhGOSwweEMzLDB4QzMsMHg4MSwweEVGLDB4NkEsMHgxMywweDc0LDB4RjksMHg4QiwweEM3LDB4MEQsMHg4MCwweDAwLDB4ODYsMHhDNCwKLTB4QTMsMHg2OCwweDEzLDB4NDcsMHg0NywweDg5LDB4M0UsMHg2NiwweDEzLDB4QzMsMHhGNywweDA2LDB4MkEsMHgwMSwweDAxLDB4MDAsCi0weDc1LDB4RTAsMHg4QiwweDBFLDB4NjYsMHgxMywweEUzLDB4MDcsMHg4MCwweEY5LDB4MjAsMHg3NywweEQ1LDB4NDksMHg0OSwweDMzLAotMHhDMCwweDhFLDB4QzAsMHg4RSwweEQ4LDB4QkYsMHg2QSwweDEzLDB4OEIsMHhGNywweDAzLDB4RjksMHg4MywweEM2LDB4MzQsMHgzQiwKLTB4RkUsMHg3NywweEMwLDB4QjAsMHgwRSwweEU4LDB4QUUsMHhDOCwweDg1LDB4RUQsMHg3NCwweEI3LDB4OEEsMHg0NiwweDRDLDB4OEEsCi0weEI2LDB4QjksMHgwMCwweEZFLDB4Q0UsMHg3OCwweDE1LDB4ODgsMHhCNiwweEI5LDB4MDAsMHg4QSwweEE2LDB4QTksMHgwMCwweDgwLAotMHhDQywweEMwLDB4QUIsMHg4NCwweEY2LDB4NzQsMHgwNSwweEIwLDB4MEUsMHhFOCwweDU2LDB4QzgsMHg4QSwweEI2LDB4QkEsMHgwMCwKLTB4RkUsMHhDRSwweDc4LDB4Q0IsMHg4QSwweDlFLDB4QTksMHgwMCwweDhBLDB4QkUsMHhBQiwweDAwLDB4OEEsMHg1NiwweDNGLDB4OEEsCi0weEYzLDB4MzIsMHhGNywweDBBLDB4QjYsMHhBQywweDAwLDB4QzYsMHg4NiwweEFDLDB4MDAsMHgwMCwweDIyLDB4RjIsMHg3NCwweDRCLAotMHhGNiwweEM2LDB4MDgsMHg3NCwweDBGLDB4QjQsMHgwMiwweEY2LDB4QzMsMHgwOCwweDc1LDB4MDIsMHhCNCwweDAzLDB4QUIsMHg4MCwKLTB4RTYsMHhGNywweDc0LDB4MzcsMHhGNiwweEM2LDB4MDEsMHg3NCwweDBGLDB4QjQsMHgwMCwweEY2LDB4QzMsMHgwMSwweDc1LDB4MDIsCi0weEI0LDB4MDEsMHhBQiwweDgwLDB4RTYsMHhGRSwweDc0LDB4MjMsMHhGNiwweEM2LDB4MDIsMHg3NCwweDBGLDB4QjQsMHgwNCwweEY2LAotMHhDMywweDAyLDB4NzUsMHgwMiwweEI0LDB4MDUsMHhBQiwweDgwLDB4RTYsMHhGRCwweDc0LDB4MEYsMHhGNiwweEM2LDB4MDQsMHg3NCwKLTB4MEEsMHhCNCwweDA2LDB4RjYsMHhDMywweDA0LDB4NzUsMHgwMiwweEI0LDB4MDcsMHhBQiwweEM2LDB4ODYsMHhCQSwweDAwLDB4MDAsCi0weDg4LDB4OUUsMHhBQiwweDAwLDB4RTksMHg1OCwweEZGLDB4OTAsMHhBMSwweDg0LDB4MTIsMHgyQiwweEMxLDB4NzIsMHgxMSwweEEzLAotMHg4NCwweDEyLDB4QkUsMHg2OCwweDEzLDB4RDEsMHhFOSwweEYzLDB4NkYsMHg5MCwweDg5LDB4MEUsMHg2NiwweDEzLDB4RjgsMHhDMywKLTB4RjksMHhDMywweEExLDB4ODQsMHgxMiwweDQxLDB4NDEsMHgyQiwweEMxLDB4NzIsMHgyMywweEEzLDB4ODQsMHgxMiwweDhCLDB4QzEsCi0weDQ4LDB4NDgsMHgzMiwweEU0LDB4MEMsMHg4MCwweDg2LDB4QzQsMHhFRiwweDkwLDB4OTAsMHg5MCwweDkwLDB4OTAsMHhCRSwweERDLAotMHgxMiwweDQ5LDB4NDksMHhEMSwweEU5LDB4RjMsMHg2RiwweDkwLDB4ODksMHgwRSwweERBLDB4MTIsMHhGOCwweEMzLDB4RjksMHhDMywKLTB4OEEsMHhDOCwweDhBLDB4NDYsMHg0QywweEI0LDB4MDEsMHg4MywweEVCLDB4MDYsMHhFRiwweDkwLDB4OTAsMHg5MCwweDkwLDB4OTAsCi0weEI4LDB4MDEsMHgwMCwweEVGLDB4OTAsMHg5MCwweDkwLDB4OTAsMHg5MCwweDhBLDB4QzEsMHhFRiwweDkwLDB4OTAsMHg5MCwweDkwLAotMHg5MCwweEU5LDB4OTcsMHgwMCwweEU5LDB4QUMsMHgwMCwweDMzLDB4QzAsMHg4RSwweEQ4LDB4ODksMHgxRSwweDg0LDB4MTIsMHhDMywKLTB4MzYsMHg4QiwweDFFLDB4ODQsMHgxMiwweEZCLDB4OTAsMHhGQSwweEIwLDB4MEMsMHhFOCwweDg5LDB4QzcsMHg4NSwweEVELDB4NzQsCi0weEU2LDB4QzUsMHg3NiwweDBDLDB4ODMsMHhGQiwweDE0LDB4NzIsMHhEQiwweEZCLDB4OTAsMHhGQSwweEFELDB4ODUsMHhDMCwweDc4LAotMHhBRiwweDc0LDB4RTIsMHg4QiwweEZFLDB4MDMsMHhGOCwweDM2LDB4OEIsMHgwRSwweDg2LDB4MTIsMHgzQiwweEMxLDB4NzcsMHgwMiwKLTB4OEIsMHhDOCwweDgzLDB4RUIsMHgwNCwweDNCLDB4RDksMHg3NywweDAyLDB4OEIsMHhDQiwweDMzLDB4QzAsMHg4QSwweDQ2LDB4NEMsCi0weEVGLDB4OTAsMHg5MCwweDkwLDB4OTAsMHg5MCwweDhCLDB4QzEsMHhFRiwweDkwLDB4OTAsMHg5MCwweDkwLDB4OTAsMHg0MSwweDgwLAotMHhFMSwweEZFLDB4MkIsMHhEOSwweDUxLDB4RDEsMHhFOSwweEYzLDB4NkYsMHg5MCwweDU5LDB4OEIsMHhDNywweDQwLDB4MjQsMHhGRSwKLTB4M0IsMHhDNiwweDc0LDB4MjcsMHgyQiwweEZFLDB4NEUsMHg0RSwweDUzLDB4OEIsMHg1RSwweDEwLDB4M0IsMHhGMywweDcyLDB4MTMsCi0weDAzLDB4MUYsMHg4MywweEMzLDB4MDMsMHg4MCwweEUzLDB4RkUsMHhDNywweDA3LDB4MDAsMHgwMCwweDgzLDB4NkUsMHg3NCwweDAyLAotMHg4OSwweDVFLDB4MTAsMHg1QiwweDg5LDB4M0MsMHg4OSwweDc2LDB4MEMsMHhFQiwweDg5LDB4ODksMHg3NiwweDBDLDB4MzksMHg3NiwKLTB4MTAsMHg3NywweDgxLDB4NzIsMHgwOCwweDgzLDB4M0MsMHgwMCwweDc0LDB4MDMsMHhFOSwweDc3LDB4RkYsMHhFOCwweDBELDB4QkUsCi0weEU5LDB4NjIsMHhGRiwweDM2LDB4ODksMHgxRSwweDg0LDB4MTIsMHhCMCwweDBDLDB4RTgsMHhCNSwweEM2LDB4MzMsMHhDMCwweDhFLAotMHhEOCwweEMzLDB4QTEsMHg4NCwweDEyLDB4M0QsMHgxMCwweDAwLDB4NzIsMHg3NywweEJBLDB4MDQsMHgwMSwweDNCLDB4MDYsMHg4OCwKLTB4MTIsMHg3NSwweDA2LDB4QzcsMHgwNiwweDdFLDB4MTIsMHgwMCwweDAwLDB4OEIsMHgwRSwweERBLDB4MTIsMHhFMywweDBCLDB4RTgsCi0weEQwLDB4RkUsMHg3MiwweDU3LDB4QzcsMHgwNiwweDdFLDB4MTIsMHhGRiwweDdGLDB4OEIsMHgwRSwweDIwLDB4MTMsMHhFMywweDBCLAotMHhFOCwweEE1LDB4RkQsMHg3MiwweDQ2LDB4QzcsMHgwNiwweDdFLDB4MTIsMHhGRiwweDdGLDB4OEIsMHgwRSwweDY2LDB4MTMsMHhFMywKLTB4MEIsMHhFOCwweDk0LDB4RkUsMHg3MiwweDM1LDB4QzcsMHgwNiwweDdFLDB4MTIsMHhGRiwweDdGLDB4QTEsMHgyOCwweDAxLDB4QTksCi0weDAxLDB4MDAsMHg3NSwweDAzLDB4RTgsMHhGOSwweEZFLDB4ODAsMHgzRSwweDhELDB4MTIsMHgwMCwweDc1LDB4MUQsMHhBMSwweDg0LAotMHgxMiwweDNELDB4MjAsMHgwMCwweDc2LDB4MTUsMHgzQiwweDA2LDB4ODIsMHgxMiwweDc2LDB4MDksMHhBMSwweDdFLDB4MTIsMHgzQiwKLTB4MDYsMHg4MCwweDEyLDB4NzIsMHgwQywweDgwLDB4MEUsMHg5MCwweDEyLDB4ODAsMHhDMywweEIwLDB4ODAsMHhGRiwweDE2LDB4N0MsCi0weDEyLDB4QzMsMHg4MCwweDBFLDB4OTAsMHgxMiwweDQwLDB4QzMsMHg2QSwweDAwLDB4MUYsMHhDNiwweDA2LDB4OTMsMHgxMiwweDE3LAotMHg5QywweDBFLDB4RTgsMHhCNywweEM4LDB4NkEsMHgwMCwweDFGLDB4QzYsMHgwNiwweDkzLDB4MTIsMHgyMCwweDlDLDB4MEUsMHhFOCwKLTB4QUEsMHhDOCwweDZBLDB4MDAsMHgxRiwweEM2LDB4MDYsMHg5MywweDEyLDB4MTYsMHg5QywweDBFLDB4RTgsMHg5RCwweEM4LDB4OTAsCi0weEJBLDB4MDYsMHgwMSwweEVDLDB4QTgsMHgyMCwweDc1LDB4Q0EsMHhGQiwweDkwLDB4RkEsMHhCQSwweDA0LDB4MDEsMHhFRCwweDkwLAotMHg5MCwweDkwLDB4OTAsMHg5MCwweDNBLDB4MDYsMHg5NCwweDEyLDB4NzcsMHhCRSwweDMzLDB4REIsMHg4QSwweEQ4LDB4RDEsMHhFMywKLTB4MkUsMHg4QiwweEFGLDB4NDQsMHgwMCwweEM0LDB4N0UsMHgwOCwweDg1LDB4RkYsMHg3NCwweEI5LDB4RjYsMHhDNCwweEMwLDB4NzUsCi0weDU1LDB4MzIsMHhDMCwweEMxLDB4RTAsMHgwMiwweDgwLDB4RTQsMHhGMCwweDhCLDB4RjAsMHhFRCwweDkwLDB4OTAsMHg5MCwweDkwLAotMHg5MCwweDg1LDB4QzAsMHg3NCwweEJCLDB4OEIsMHhDOCwweDQxLDB4ODAsMHhFMSwweEZFLDB4MEIsMHhDNiwweDhCLDB4NUUsMHg1MCwKLTB4NEIsMHg0QiwweDJCLDB4RDksMHg3OCwweDlDLDB4QUIsMHg4QiwweEMxLDB4NDAsMHg0MCwweDAxLDB4NDYsMHg0RSwweEQxLDB4RTksCi0weEYzLDB4NkQsMHg5MCwweDg5LDB4NUUsMHg1MCwweDg5LDB4N0UsMHgwOCwweDhCLDB4NDYsMHgyNiwweDgwLDB4RTQsMHhFRiwweDg5LAotMHg0NiwweDI2LDB4RjYsMHhDNCwweDAxLDB4NzUsMHgwQywweEY3LDB4NDYsMHg0OCwweDBDLDB4MDAsMHg3NSwweDA1LDB4QjAsMHgwMiwKLTB4RTgsMHg3RiwweEM1LDB4RTksMHg3QSwweEZGLDB4ODYsMHhDNCwweDhCLDB4QzgsMHg4MywweEUxLDB4M0YsMHg0MSwweDgwLDB4RTEsCi0weEZFLDB4RTMsMHgwQSwweDNDLDB4ODAsMHg3MiwweDA5LDB4MjQsMHgzRiwweEI0LDB4RjAsMHhFQiwweEIwLDB4RTksMHg2MCwweEZGLAotMHgyNSwweDNGLDB4MDAsMHgzMywweEZGLDB4OEUsMHhDNywweEJGLDB4OTYsMHgxMiwweDhCLDB4RjcsMHhEMSwweEU5LDB4RjMsMHg2RCwKLTB4OTAsMHg4QiwweEM4LDB4RTgsMHg0OCwweEVELDB4RTksMHg0NywweEZGLDB4OTAsMHg2QSwweDAwLDB4MUYsMHhDNiwweDA2LDB4OTMsCi0weDEyLDB4MUIsMHg5QywweDBFLDB4RTgsMHhENSwweEM3LDB4OTAsMHg2MCwweDFFLDB4MDYsMHgzMywweEMwLDB4OEUsMHhEOCwweDhFLAotMHhDMCwweEJBLDB4MDYsMHgwMSwweEVDLDB4QTgsMHgwNCwweDc0LDB4RTEsMHhCMCwweDA2LDB4RUUsMHhFQywweEEyLDB4OEMsMHgxMiwKLTB4QTgsMHg0MCwweDc0LDB4MTEsMHhBMSwweDg4LDB4MTIsMHhBMywweDg0LDB4MTIsMHhDNiwweDA2LDB4OEQsMHgxMiwweDAwLDB4RTgsCi0weDYwLDB4RkUsMHhBMCwweDhDLDB4MTIsMHhBOCwweDgwLDB4NzQsMHgwMywweEU4LDB4MDQsMHhGRiwweEI4LDB4MDAsMHg4MCwweEJBLAotMHgyMiwweEZGLDB4RUYsMHgwNywweDFGLDB4NjEsMHhDRiwweDkwLDB4NkEsMHgwMCwweDFGLDB4QzYsMHgwNiwweDkzLDB4MTIsMHgxQiwKLTB4OUMsMHgwRSwweEU4LDB4ODcsMHhDNywweDkwLDB4NjAsMHgxRSwweDA2LDB4MzMsMHhDMCwweDhFLDB4RDgsMHg4RSwweEMwLDB4QkEsCi0weDA2LDB4MDEsMHhFQywweEE4LDB4MDQsMHg3NCwweEUxLDB4QkEsMHgwOCwweDAxLDB4RUMsMHhBMiwweDhDLDB4MTIsMHhBOCwweDQwLAotMHg3NCwweDExLDB4QTEsMHg4OCwweDEyLDB4QTMsMHg4NCwweDEyLDB4QzYsMHgwNiwweDhELDB4MTIsMHgwMCwweEU4LDB4MTIsMHhGRSwKLTB4QTAsMHg4QywweDEyLDB4QTgsMHg4MCwweDc0LDB4MDMsMHhFOCwweEI2LDB4RkUsMHhCOCwweDAwLDB4ODAsMHhCQSwweDIyLDB4RkYsCi0weEVGLDB4MDcsMHgxRiwweDYxLDB4Q0YsMHg5MCwweEVFLDB4ODYsMHhFMCwweEVFLDB4ODYsMHhFMCwweEVDLDB4ODYsMHhFMCwweEVDLAotMHg4NiwweEUwLDB4ODAsMHhFMSwweEZFLDB4RjMsMHg2QywweDkwLDB4ODAsMHhFMSwweEZFLDB4RjMsMHg2RSwweDkwLDB4MDUsMHgwMCwKLTB4NzUsMHg0NywweEE4LDB4NEIsMHgwNSwweDAwLDB4NzUsMHg0OCwweEE4LDB4NEIsMHgwNSwweDAwLDB4QTMsMHg0OCwweEE4LDB4NEIsCi0weDA1LDB4MDAsMHgzNSwweDQ5LDB4QTgsMHg0QiwweDA2LDB4MDAsMHg5OCwweDQ4LDB4OTYsMHg0QiwweDA2LDB4MDAsMHhCQSwweDQ4LAotMHg5NiwweDRCLDB4MDYsMHgwMCwweEMzLDB4NDgsMHg5NiwweDRCLDB4MDYsMHgwMCwweENCLDB4NDgsMHg5NiwweDRCLDB4MDYsMHgwMCwKLTB4MjAsMHg0OSwweDk2LDB4NEIsMHgwNiwweDAwLDB4MjgsMHg0OSwweDk2LDB4NEIsMHgwNiwweDAwLDB4NEUsMHg0QSwweDlDLDB4NEIsCi0weDA2LDB4MDAsMHg3QiwweDRBLDB4OUMsMHg0QiwweDA1LDB4MDAsMHg5RSwweDRBLDB4QTIsMHg0QiwweDA1LDB4MDAsMHhFQywweDRBLAotMHhBMiwweDRCLDB4MDAsMHgwMCwweDFFLDB4MDYsMHg4MywweDNFLDB4NDQsMHgxMiwweDAwLDB4NzQsMHgwOSwweEEwLDB4MDYsMHgwMSwKLTB4MjQsMHgzMCwweDNDLDB4MzAsMHg3NCwweDFBLDB4OEMsMHhDOCwweDhFLDB4RDgsMHg4RSwweEMwLDB4QkIsMHhBRSwweDRCLDB4OEIsCi0weDBGLDB4RTMsMHgwRCwweDhCLDB4N0YsMHgwMiwweDhCLDB4NzcsMHgwNCwweEYzLDB4QTQsMHg4MywweEMzLDB4MDYsMHhFQiwweEVGLAotMHgwNywweDFGLDB4QzMsMHg5MCwweDMzLDB4QzAsMHhBMywweDNFLDB4MDEsMHhCOSwweDBDLDB4MDEsMHhCRSwweDQwLDB4MDEsMHg4QiwKLTB4RkUsMHg4MSwweEM2LDB4QjQsMHgwRiwweDg5LDB4MDQsMHg4QiwweEM2LDB4MkIsMHhGMSwweDNCLDB4QzcsMHg3NywweEY2LDB4QTMsCi0weDNDLDB4MDEsMHhDMywweDkwLDB4MUUsMHgwNiwweDYwLDB4MzYsMHg4QiwweDJFLDB4M0UsMHgwMSwweDhCLDB4NUUsMHgwMCwweDNCLAotMHhFQiwweDc0LDB4MkIsMHg4QiwweDc2LDB4MDIsMHg4OSwweDFDLDB4ODksMHg3NywweDAyLDB4MzYsMHhBMSwweDNDLDB4MDEsMHg4OSwKLTB4NDYsMHgwMCwweDM2LDB4ODksMHgyRSwweDNDLDB4MDEsMHg4QiwweEVCLDB4RkYsMHg0RSwweDA2LDB4NzQsMHgwOCwweDhCLDB4NkUsCi0weDAwLDB4RkYsMHg0RSwweDA2LDB4NzUsMHhGOCwweDM2LDB4ODksMHgyRSwweDNFLDB4MDEsMHg4QiwweDY2LDB4MDQsMHg2MSwweDA3LAotMHgxRiwweEMzLDB4MUUsMHgwNiwweDYwLDB4MzYsMHg4QiwweDJFLDB4M0UsMHgwMSwweDk4LDB4ODksMHg0NiwweDA2LDB4ODksMHg2NiwKLTB4MDQsMHgzQiwweDZFLDB4MDAsMHg3NCwweDEwLDB4OEIsMHg2RSwweDAwLDB4RkYsMHg0RSwweDA2LDB4NzUsMHhGOCwweDM2LDB4ODksCi0weDJFLDB4M0UsMHgwMSwweDhCLDB4NjYsMHgwNCwweDYxLDB4MDcsMHgxRiwweEMzLDB4QzMsMHg5MCwweDFFLDB4MDYsMHg2MCwweDlDLAotMHhGQSwweDMzLDB4RUQsMHg4RSwweERELDB4OEIsMHgyRSwweDNDLDB4MDEsMHg4NSwweEVELDB4NzQsMHgzRCwweDhCLDB4NEUsMHgwMCwKLTB4ODksMHgwRSwweDNDLDB4MDEsMHg4QiwweENDLDB4OEQsMHhBNiwweDBBLDB4MDEsMHg1NiwweDFFLDB4MDYsMHg2MCwweDg5LDB4NjYsCi0weDA0LDB4QzcsMHg0NiwweDA4LDB4MEYsMHgxQSwweEM3LDB4NDYsMHgwNiwweDAxLDB4MDAsMHg4QiwweDFFLDB4M0UsMHgwMSwweDg1LAotMHhEQiwweDc0LDB4MUQsMHg4QiwweEM1LDB4ODcsMHgwNywweDg5LDB4NDYsMHgwMCwweDg5LDB4NUUsMHgwMiwweDhCLDB4RDgsMHg4OSwKLTB4NkYsMHgwMiwweDhCLDB4RTEsMHg5RCwweDYxLDB4MDcsMHgxRiwweEY4LDB4QzMsMHg5RCwweDYxLDB4MDcsMHgxRiwweEY5LDB4QzMsCi0weDg5LDB4MkUsMHgzRSwweDAxLDB4ODksMHg2RSwweDAwLDB4ODksMHg2RSwweDAyLDB4ODcsMHhFMSwweDlELDB4OEIsMHhFMSwweEVCLAotMHhFNCwweDAwLDB4MEQsMHgwQSwweDU0LDB4NjUsMHg3MiwweDZELDB4NjksMHg2RSwweDYxLDB4NkMsMHg3MywweDIwLDB4NzMsMHg3NSwKLTB4NzAsMHg3MCwweDZGLDB4NzIsMHg3NCwweDY1LDB4NjQsMHgzQSwweDBELDB4MEEsMHgzMSwweDI5LDB4MjAsMHg0MSwweDRFLDB4NTMsCi0weDQ5LDB4MjAsMHg2MywweDZGLDB4NkQsMHg3MCwweDYxLDB4NzQsMHg2OSwweDYyLDB4NkMsMHg2NSwweDBELDB4MEEsMHgzMiwweDI5LAotMHgyMCwweDU3LDB4NzksMHg3MywweDY1LDB4MjAsMHgzMywweDMwLDB4MEQsMHgwQSwweDUwLDB4NkMsMHg2NSwweDYxLDB4NzMsMHg2NSwKLTB4MjAsMHg3MywweDY1LDB4NkMsMHg2NSwweDYzLDB4NzQsMHgzQSwweDIwLDB4MDAsMHgwRCwweDBBLDB4NjMsMHg2RiwweDY0LDB4NjUsCi0weDIwLDB4NzMsMHg2NSwweDY3LDB4NkQsMHg2NSwweDZFLDB4NzQsMHgzRCwweDAwLDB4MEQsMHgwQSwweDRELDB4NkYsMHg2RSwweDY5LAotMHg3NCwweDZGLDB4NzIsMHgyMCwweDc2LDB4MzIsMHgyRSwweDM1LDB4MEEsMHgwRCwweDBBLDB4M0UsMHgwMCwweDBELDB4MEEsMHg1MCwKLTB4NjEsMHg3MiwweDY0LDB4NkYsMHg2RSwweDNGLDB4MDAsMHgwRCwweDBBLDB4NEUsMHg2RiwweDIwLDB4NjEsMHg2NCwweDY0LDB4NzIsCi0weDY1LDB4NzMsMHg3MywweDIwLDB4NzMsMHg3MCwweDY1LDB4NjMsMHg2OSwweDY2LDB4NjksMHg2NSwweDY0LDB4MDAsMHgwRCwweDBBLAotMHgzQSwweDAwLDB4MEQsMHgwQSwweDAwLDB4NEMsMHg2RiwweDYzLDB4M0QsMHgwMCwweDBELDB4MEEsMHg0NiwweDQxLDB4NTQsMHg0MSwKLTB4NEMsMHgyMCwweDQ1LDB4NTIsMHg1MiwweDRGLDB4NTIsMHgzRCwweDAwLDB4MEQsMHgwQSwweDRELDB4NkYsMHg2RSwweDY5LDB4NzQsCi0weDZGLDB4NzIsMHgyMCwweDYzLDB4NkYsMHg2RCwweDZELDB4NjEsMHg2RSwweDY0LDB4NzMsMHgzQSwweDJELDB4MEQsMHgwQSwweDIwLAotMHgyMCwweDIwLDB4NDQsMHgyQywweDY0LDB4NUIsMHg1QiwweDc4LDB4NzgsMHg3OCwweDc4LDB4M0EsMHg1RCwweDc4LDB4NzgsMHg3OCwKLTB4NzgsMHg1RCwweDIwLDB4MkQsMHgyMCwweDY0LDB4NzUsMHg2RCwweDcwLDB4MjAsMHg2RCwweDY1LDB4NkQsMHg2RiwweDcyLDB4NzksCi0weDBELDB4MEEsMHgyMCwweDIwLDB4MjAsMHg0QywweDJDLDB4NkMsMHg1QiwweDVCLDB4NzgsMHg3OCwweDc4LDB4NzgsMHgzQSwweDVELAotMHg3OCwweDc4LDB4NzgsMHg3OCwweDVELDB4MjAsMHgyRCwweDIwLDB4NjQsMHg3NSwweDZELDB4NzAsMHgyMCwweDczLDB4NjksMHg2RSwKLTB4NjcsMHg2QywweDY1LDB4MjAsMHg2QywweDY5LDB4NkUsMHg2NSwweDBELDB4MEEsMHgyMCwweDIwLDB4MjAsMHg0NSwweDJDLDB4NjUsCi0weDVCLDB4NUIsMHg3OCwweDc4LDB4NzgsMHg3OCwweDNBLDB4NUQsMHg3OCwweDc4LDB4NzgsMHg3OCwweDVELDB4MjAsMHgyRCwweDIwLAotMHg2NSwweDY0LDB4NjksMHg3NCwweDIwLDB4NkQsMHg2NSwweDZELDB4NkYsMHg3MiwweDc5LDB4MEQsMHgwQSwweDIwLDB4MjAsMHgyMCwKLTB4NDYsMHgyQywweDY2LDB4NUIsMHg1QiwweDc4LDB4NzgsMHg3OCwweDc4LDB4MjAsMHg1RCwweDc4LDB4NzgsMHg3OCwweDc4LDB4NUQsCi0weDIwLDB4MkQsMHgyMCwweDY2LDB4NjksMHg2QywweDZDLDB4MjAsMHg2RCwweDY1LDB4NkQsMHg2RiwweDcyLDB4NzksMHgyMCwweDcwLAotMHg2MSwweDcyLDB4NjEsMHg2NywweDcyLDB4NjEsMHg3MCwweDY4LDB4NzMsMHgwRCwweDBBLDB4MjAsMHgyMCwweDIwLDB4NDksMHg1QiwKLTB4NzgsMHg3OCwweDc4LDB4NzgsMHg1RCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MkQsCi0weDIwLDB4NzcsMHg2RiwweDcyLDB4NjQsMHgyMCwweDY5LDB4NkUsMHg3MCwweDc1LDB4NzQsMHgyMCwweDY2LDB4NzIsMHg2RiwweDZELAotMHgyMCwweDcwLDB4NkYsMHg3MiwweDc0LDB4MEQsMHgwQSwweDIwLDB4MjAsMHgyMCwweDY5LDB4NUIsMHg3OCwweDc4LDB4NzgsMHg3OCwKLTB4NUQsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDJELDB4MjAsMHg2MiwweDc5LDB4NzQsCi0weDY1LDB4MjAsMHg2OSwweDZFLDB4NzAsMHg3NSwweDc0LDB4MjAsMHg2NiwweDcyLDB4NkYsMHg2RCwweDIwLDB4NzAsMHg2RiwweDcyLAotMHg3NCwweDBELDB4MEEsMHgyMCwweDIwLDB4MjAsMHg0RiwweDc4LDB4NzgsMHg3OCwweDc4LDB4MjAsMHg3OCwweDc4LDB4MjAsMHgyMCwKLTB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyRCwweDIwLDB4NkYsMHg3NSwweDc0LDB4NzAsMHg3NSwweDc0LDB4MjAsCi0weDc3LDB4NkYsMHg3MiwweDY0LDB4MjAsMHg3NCwweDZGLDB4MjAsMHg3MCwweDZGLDB4NzIsMHg3NCwweDBELDB4MEEsMHgyMCwweDIwLAotMHgyMCwweDZGLDB4NzgsMHg3OCwweDc4LDB4NzgsMHgyMCwweDc4LDB4NzgsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwKLTB4MjAsMHgyMCwweDJELDB4MjAsMHg2RiwweDc1LDB4NzQsMHg3MCwweDc1LDB4NzQsMHgyMCwweDYyLDB4NzksMHg3NCwweDY1LDB4MjAsCi0weDc0LDB4NkYsMHgyMCwweDcwLDB4NkYsMHg3MiwweDc0LDB4MEQsMHgwQSwweDIwLDB4MjAsMHgyMCwweDQ3LDB4NUIsMHg1QiwweDc4LAotMHg3OCwweDc4LDB4NzgsMHgzQSwweDVELDB4NzgsMHg3OCwweDc4LDB4NzgsMHg1RCwweDIwLDB4MjAsMHgyMCwweDJELDB4MjAsMHg2NywKLTB4NkYsMHg3NCwweDZGLDB4MjAsMHg2MSwweDY0LDB4NjQsMHg3MiwweDY1LDB4NzMsMHg3MywweDBELDB4MEEsMHgyMCwweDIwLDB4MjAsCi0weDU3LDB4NUIsMHg1QiwweDc4LDB4NzgsMHg3OCwweDc4LDB4M0EsMHg1RCwweDc4LDB4NzgsMHg3OCwweDc4LDB4NUQsMHgyMCwweDIwLAotMHgyMCwweDJELDB4MjAsMHg3NywweDYxLDB4NzQsMHg2MywweDY4LDB4MjAsMHg2MSwweDIwLDB4NzcsMHg2RiwweDcyLDB4NjQsMHgwRCwKLTB4MEEsMHgyMCwweDIwLDB4MjAsMHg0MywweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsCi0weDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyRCwweDIwLDB4NjksMHg2RSwweDc0LDB4NjUsMHg3MiwweDcyLDB4NzUsMHg3MCwweDc0LAotMHg3MywweDIwLDB4NkYsMHg2NiwweDY2LDB4MEQsMHgwQSwweDIwLDB4MjAsMHgyMCwweDUzLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwKLTB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDJELDB4MjAsMHg2OSwweDZFLDB4NzQsCi0weDY1LDB4NzIsMHg3MiwweDc1LDB4NzAsMHg3NCwweDczLDB4MjAsMHg2RiwweDZFLDB4MEQsMHgwQSwweDIwLDB4MjAsMHgyMCwweDczLAotMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwKLTB4MkQsMHgyMCwweDczLDB4NjksMHg2RSwweDY3LDB4NkMsMHg2NSwweDIwLDB4NzMsMHg3NCwweDY1LDB4NzAsMHgwRCwweDBBLDB4MjAsCi0weDIwLDB4MjAsMHg0MiwweDc4LDB4NzgsMHg3OCwweDc4LDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLAotMHgyMCwweDIwLDB4MjAsMHgyRCwweDIwLDB4NjIsMHg3MiwweDY1LDB4NjEsMHg2QiwweDcwLDB4NkYsMHg2OSwweDZFLDB4NzQsMHgyMCwKLTB4NzMsMHg2NSwweDc0LDB4MEQsMHgwQSwweDIwLDB4MjAsMHgyMCwweDYyLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsCi0weDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDJELDB4MjAsMHg2MiwweDcyLDB4NjUsMHg2MSwweDZCLAotMHg3MCwweDZGLDB4NjksMHg2RSwweDc0LDB4MjAsMHg2MywweDZDLDB4NjUsMHg2MSwweDcyLDB4MEQsMHgwQSwweDIwLDB4MjAsMHgyMCwKLTB4NTIsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsCi0weDIwLDB4MkQsMHgyMCwweDcyLDB4NjUsMHg3MywweDc0LDB4NjEsMHg3MiwweDc0LDB4MjAsMHg2MiwweDcyLDB4NjUsMHg2MSwweDZCLAotMHg3MCwweDZGLDB4NjksMHg2RSwweDc0LDB4MEQsMHgwQSwweDIwLDB4MjAsMHgyMCwweDcyLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwKLTB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDJELDB4MjAsMHg3MiwweDY1LDB4NjcsCi0weDY5LDB4NzMsMHg3NCwweDY1LDB4NzIsMHg3MywweDIwLDB4NjEsMHg3NCwweDIwLDB4NjIsMHg3MiwweDZCLDB4NzAsMHg3NCwweDBELAotMHgwQSwweDIwLDB4MjAsMHgyMCwweDU4LDB4MkMsMHg3OCwweDIwLDB4NkUsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwKLTB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDJELDB4MjAsMHg2NSwweDc4LDB4NjEsMHg2RCwweDY5LDB4NkUsMHg2NSwweDIwLDB4NjMsCi0weDY4LDB4NjEsMHg2RSwweDZFLDB4NjUsMHg2QywweDIwLDB4NkUsMHgwRCwweDBBLDB4MjAsMHgyMCwweDIwLDB4NDgsMHgyQywweDNGLAotMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MkQsMHgyMCwKLTB4NzQsMHg2OCwweDY5LDB4NzMsMHgyMCwweDZELDB4NjUsMHg3MywweDczLDB4NjEsMHg2NywweDY1LDB4MDAsMHgxQiwweDVCLDB4MzIsCi0weDRBLDB4MUIsMHg1QiwweDMxLDB4M0IsMHgzMSwweDQ4LDB4NDEsMHg0RSwweDUzLDB4NDksMHgyMCwweDU0LDB4NjUsMHg3MiwweDZELAotMHg2OSwweDZFLDB4NjEsMHg2QywweDBELDB4MEEsMHgwQSwweDAwLDB4MUIsMHg1QiwweDRCLDB4MDAsMHgxQiwweDVCLDB4NEEsMHgwMCwKLTB4MUIsMHg1QiwweDMyLDB4NEEsMHgxQiwweDVCLDB4MzEsMHgzQiwweDMxLDB4NDgsMHgwMCwweDFCLDB4NUIsMHg0NCwweDIwLDB4MUIsCi0weDVCLDB4NDQsMHgwMCwweDFCLDB4NUIsMHgzMSwweDNCLDB4MzcsMHgzMiwweDQ4LDB4MDAsMHgxQiwweDVCLDB4MDAsMHgzQiwweDAwLAotMHg0OCwweDAwLDB4MUIsMHg1QiwweDczLDB4MDAsMHgxQiwweDVCLDB4NzUsMHgwMCwweDFCLDB4N0EsMHgyQiwweDBCLDB4N0YsMHgxQiwKLTB4N0EsMHgyRSwweDBDLDB4N0YsMHgxQiwweDdBLDB4MkQsMHgwOCwweDdGLDB4MUIsMHg3QSwweDJDLDB4MEEsMHg3RiwweDFCLDB4N0EsCi0weDIyLDB4MDgsMHg3RiwweDFBLDB4NTcsMHg3OSwweDczLDB4NjUsMHgyMCwweDMzLDB4MzAsMHgyMCwweDU0LDB4NjUsMHg3MiwweDZELAotMHg2OSwweDZFLDB4NjEsMHg2QywweDBELDB4MEEsMHgwMCwweDFCLDB4NTQsMHgwMCwweDFCLDB4NTksMHgwMCwweDFBLDB4MDAsMHgxRSwKLTB4MDAsMHgwOCwweDIwLDB4MDgsMHgwMCwweDAwLDB4MUIsMHgzRCwweDAwLDB4MDAsMHgwMCwweDFCLDB4NDYsMHgwMCwweDBELDB4MDAsCi0weDNGLDB4NDQsMHg2NCwweDQ1LDB4NjUsMHg0NiwweDY2LDB4NDcsMHg2NywweDQ4LDB4NjgsMHg0OSwweDY5LDB4NEYsMHg2RiwweDQzLAotMHg2MywweDUzLDB4NzMsMHg0MiwweDYyLDB4NTIsMHg3MiwweDU3LDB4NzcsMHg1OCwweDc4LDB4NEMsMHg2QywweDNDLDB4NjAsMHhENCwKLTB4NTcsMHhENCwweDU3LDB4NTAsMHg1OCwweDUwLDB4NTgsMHhENiwweDU5LDB4RDYsMHg1OSwweEI0LDB4NTksMHhCNCwweDU5LDB4M0MsCi0weDYwLDB4M0MsMHg2MCwweDZDLDB4NTcsMHg0OCwweDU3LDB4MjYsMHg1NywweDA2LDB4NTcsMHg5MCwweDU3LDB4OTAsMHg1NywweDk4LAotMHg1NywweDQ4LDB4NUYsMHgwQywweDVGLDB4NTgsMHg1RiwweDMzLDB4NUYsMHg0MCwweDVGLDB4QTAsMHg1NywweEEwLDB4NTcsMHhGRSwKLTB4NTksMHhGRSwweDU5LDB4REMsMHg1NywweERDLDB4NTcsMHg4OCwweDYxLDB4OTgsMHg2MSwweEMwLDB4NjEsMHhDQywweDYxLDB4RDgsCi0weDYxLDB4RjYsMHg2MSwweDAyLDB4NjIsMHgyMiwweDYyLDB4RjgsMHg1NiwweDRBLDB4NjIsMHg1OCwweDYyLDB4NjAsMHg1OSwweDIwLAotMHgyMCwweDY2LDB4NkMsMHg2MSwweDY3LDB4NzMsMHgzRCwweDAwLDB4MjAsMHgyMCwweDYxLDB4NzgsMHgzRCwweDAwLDB4MjAsMHgyMCwKLTB4NjIsMHg3OCwweDNELDB4MDAsMHgyMCwweDIwLDB4NjMsMHg3OCwweDNELDB4MDAsMHgyMCwweDIwLDB4NjQsMHg3OCwweDNELDB4MDAsCi0weDIwLDB4MjAsMHg2MywweDczLDB4M0QsMHgwMCwweDIwLDB4MjAsMHg2NCwweDczLDB4M0QsMHgwMCwweDIwLDB4MjAsMHg2NSwweDczLAotMHgzRCwweDAwLDB4MjAsMHgyMCwweDczLDB4NzMsMHgzRCwweDAwLDB4MjAsMHgyMCwweDY0LDB4NjksMHgzRCwweDAwLDB4MjAsMHgyMCwKLTB4NzMsMHg2OSwweDNELDB4MDAsMHgyMCwweDIwLDB4NjIsMHg3MCwweDNELDB4MDAsMHgyMCwweDIwLDB4NzMsMHg3MCwweDNELDB4MDAsCi0weDIwLDB4MjAsMHg2OSwweDcwLDB4M0QsMHgwMCwweDIwLDB4NjMsMHg2OCwweDYxLDB4NkUsMHg2NSwweDZDLDB4M0QsMHgwMCwweDIwLAotMHgyMCwweDIwLDB4MjAsMHg3MywweDY1LDB4NjcsMHgzRCwweDAwLDB4MjAsMHg3NCwweDY5LDB4NUYsMHg3MywweDc0LDB4NzIsMHgzRCwKLTB4MDAsMHgyMCwweDc0LDB4NjksMHg1RiwweDc0LDB4NkYsMHg3MywweDNELDB4MDAsMHgyMCwweDc0LDB4NjksMHg1RiwweDZELDB4NjEsCi0weDc4LDB4M0QsMHgwMCwweDIwLDB4NzQsMHg2OSwweDVGLDB4NjIsMHg2MSwweDczLDB4M0QsMHgwMCwweDIwLDB4NzQsMHg2OSwweDVGLAotMHg3MywweDY5LDB4N0EsMHgzRCwweDAwLDB4MjAsMHg3NCwweDY5LDB4NUYsMHg3MywweDc0LDB4NjYsMHgzRCwweDAwLDB4MjAsMHg3NCwKLTB4NjksMHg1RiwweDcyLDB4NkYsMHg2RiwweDNELDB4MDAsMHgyMCwweDc0LDB4NjksMHg1RiwweDY2LDB4NkMsMHg2NywweDNELDB4MDAsCi0weDIwLDB4NzQsMHg2OSwweDVGLDB4NzQsMHg2RiwweDc0LDB4M0QsMHgwMCwweDIwLDB4NzIsMHg2OSwweDVGLDB4NzAsMHg2MywweDZFLAotMHgzRCwweDAwLDB4MjAsMHg3MiwweDY5LDB4NUYsMHg3MywweDc0LDB4NzIsMHgzRCwweDAwLDB4MjAsMHg3MiwweDY5LDB4NUYsMHg3MywKLTB4NzQsMHg2NiwweDNELDB4MDAsMHgyMCwweDcyLDB4NjksMHg1RiwweDcyLDB4NkYsMHg2RiwweDNELDB4MDAsMHgyMCwweDcyLDB4NjksCi0weDVGLDB4NjIsMHg2MSwweDczLDB4M0QsMHgwMCwweDIwLDB4NzIsMHg2OSwweDVGLDB4NzMsMHg2OSwweDdBLDB4M0QsMHgwMCwweDIwLAotMHg3MiwweDY5LDB4NUYsMHg3NCwweDZGLDB4NzQsMHgzRCwweDAwLDB4MjAsMHg3MiwweDY5LDB4NUYsMHg2RCwweDY5LDB4NkUsMHgzRCwKLTB4MDAsMHgyMCwweDcyLDB4NjksMHg1RiwweDY2LDB4NkMsMHg2NywweDNELDB4MDAsMHgyMCwweDcyLDB4NjksMHg1RiwweDc0LDB4NkYsCi0weDczLDB4M0QsMHgwMCwweDIwLDB4NzIsMHg2OSwweDVGLDB4NzQsMHg2OCwweDcyLDB4M0QsMHgwMCwweDIwLDB4NzQsMHg2OCwweDVGLAotMHg3MywweDc0LDB4NjYsMHgzRCwweDAwLDB4MjAsMHg3NCwweDY4LDB4NUYsMHg3MywweDc0LDB4NzIsMHgzRCwweDAwLDB4MjAsMHg3NCwKLTB4NjgsMHg1RiwweDYyLDB4NjEsMHg3MywweDNELDB4MDAsMHgyMCwweDc0LDB4NjgsMHg1RiwweDczLDB4NjksMHg3QSwweDNELDB4MDAsCi0weDIwLDB4NzQsMHg2OCwweDVGLDB4NzQsMHg3MiwweDY3LDB4M0QsMHgwMCwweDIwLDB4NzQsMHg2OCwweDVGLDB4NjYsMHg2QywweDY3LAotMHgzRCwweDAwLDB4MjAsMHg3NCwweDY4LDB4NUYsMHg2MywweDZFLDB4NzQsMHgzRCwweDAwLDB4MjAsMHg3MiwweDY4LDB4NUYsMHg3MywKLTB4NzQsMHg3MiwweDNELDB4MDAsMHgyMCwweDcyLDB4NjgsMHg1RiwweDczLDB4NzQsMHg2NiwweDNELDB4MDAsMHgyMCwweDcyLDB4NjgsCi0weDVGLDB4NjIsMHg2MSwweDczLDB4M0QsMHgwMCwweDIwLDB4NzIsMHg2OCwweDVGLDB4NzMsMHg2OSwweDdBLDB4M0QsMHgwMCwweDIwLAotMHg3MiwweDY4LDB4NUYsMHg3MywweDcwLDB4NjEsMHgzRCwweDAwLDB4MjAsMHg3MiwweDY4LDB4NUYsMHg2MSwweDczLDB4NkYsMHgzRCwKLTB4MDAsMHgyMCwweDcyLDB4NjgsMHg1RiwweDcyLDB4NkYsMHg2RiwweDNELDB4MDAsMHgyMCwweDcyLDB4NjgsMHg1RiwweDY2LDB4NkMsCi0weDY3LDB4M0QsMHgwMCwweDIwLDB4NkQsMHg1RiwweDYzLDB4NjEsMHg3MiwweDY1LDB4M0QsMHgwMCwweDIwLDB4NzAsMHg3NCwweDVGLAotMHg2NiwweDZDLDB4NkYsMHgzRCwweDAwLDB4MjAsMHg2MSwweDczLDB4NUYsMHg2NiwweDZDLDB4NkYsMHgzRCwweDAwLDB4MjAsMHg3MiwKLTB4NkQsMHg1RiwweDY2LDB4NkMsMHg2RiwweDNELDB4MDAsMHgyMCwweDIwLDB4MjAsMHg3MSwweDVGLDB4NjksMHg2RSwweDNELDB4MDAsCi0weDIwLDB4MjAsMHg3MSwweDVGLDB4NkYsMHg3NSwweDc0LDB4M0QsMHgwMCwweDIwLDB4NzEsMHg1RiwweDY0LDB4NzIsMHg2MSwweDZFLAotMHgzRCwweDAwLDB4MjAsMHgyMCwweDcxLDB4NUYsMHg3NCwweDY5LDB4NkQsMHgzRCwweDAwLDB4MjAsMHgyMCwweDIwLDB4NzEsMHg1RiwKLTB4NjYsMHg2MywweDNELDB4MDAsMHgyMCwweDcxLDB4NUYsMHg3MywweDc0LDB4NjEsMHg3NCwweDNELDB4MDAsMHgyMCwweDcxLDB4NUYsCi0weDY0LDB4NjEsMHg3NCwweDYxLDB4M0QsMHgwMCwweDIwLDB4NzEsMHg1RiwweDZELDB4NkYsMHg2NCwweDZELDB4M0QsMHgwMCwweDIwLAotMHg2OCwweDYxLDB4NkUsMHg2NCwweDVGLDB4NkYsMHgzRCwweDAwLDB4MjAsMHg2OCwweDYxLDB4NkUsMHg2NCwweDVGLDB4NjIsMHgzRCwKLTB4MDAsMHgyMCwweDY4LDB4NjEsMHg2RSwweDY0LDB4NUYsMHg2NSwweDNELDB4MDAsMHgyMCwweDY4LDB4NjEsMHg2RSwweDY0LDB4NUYsCi0weDY5LDB4M0QsMHgwMCwweDIwLDB4MjAsMHg2RiwweDcwLDB4NkYsMHg3MywweDc0LDB4M0QsMHgwMCwweDIwLDB4MjAsMHg3NCwweDY5LAotMHg2RCwweDY1LDB4NkYsMHgzRCwweDAwLDB4MjAsMHg2MywweDc1LDB4NzMsMHg3NCwweDZELDB4MzEsMHgzRCwweDAwLDB4MjAsMHg2MywKLTB4NzUsMHg3MywweDc0LDB4NkQsMHgzMiwweDNELDB4MDAsMHgyMCwweDYzLDB4NzUsMHg3MywweDc0LDB4NkQsMHg2NCwweDNELDB4MDAsCi0weDIwLDB4NzQsMHg3OCwweDcyLDB4NjEsMHg3NCwweDY1LDB4M0QsMHgwMCwweDIwLDB4NzIsMHg3OCwweDcyLDB4NjEsMHg3NCwweDY1LAotMHgzRCwweDAwLDB4MjAsMHgyMCwweDYzLDB4NUYsMHg2RCwweDYxLDB4NzAsMHgzRCwweDAwLDB4MjAsMHg2MywweDVGLDB4NjEsMHg2NCwKLTB4NjQsMHg3MiwweDNELDB4MDAsMHgyMCwweDYzLDB4NUYsMHg2MSwweDY5LDB4NzMsMHg3MiwweDNELDB4MDAsMHgyMCwweDYzLDB4NUYsCi0weDc4LDB4NzQsMHg2MSwweDY3LDB4M0QsMHgwMCwweDIwLDB4NjMsMHg1RiwweDY0LDB4NjUsMHg2NiwweDcyLDB4M0QsMHgwMCwweDIwLAotMHg2MywweDVGLDB4NjYsMHg2QywweDczLDB4NjgsMHgzRCwweDAwLDB4MjAsMHg3NCwweDc4LDB4NkQsMHg2MSwweDc4LDB4NzMsMHgzRCwKLTB4MDAsMHgyMCwweDcyLDB4NjksMHg1RiwweDY1LDB4NkQsMHg3MywweDNELDB4MDAsMHgyMCwweDIwLDB4NjMsMHg1RiwweDZDLDB4NzMsCi0weDcyLDB4M0QsMHgwMCwweDIwLDB4MjAsMHg2MywweDVGLDB4NjksMHg2NSwweDcyLDB4M0QsMHgwMCwweDIwLDB4MjAsMHg2MywweDVGLAotMHg2NiwweDYzLDB4NzIsMHgzRCwweDAwLDB4MjAsMHgyMCwweDYzLDB4NUYsMHg2RCwweDYzLDB4NzIsMHgzRCwweDAwLDB4MjAsMHgyMCwKLTB4NjMsMHg1RiwweDZDLDB4NjMsMHg3MiwweDNELDB4MDAsMHgyMCwweDIwLDB4NjMsMHg1RiwweDY0LDB4NzMsMHg3MywweDNELDB4MDAsCi0weDIwLDB4NjMsMHg1RiwweDY0LDB4NzMsMHg3MywweDY5LDB4M0QsMHgwMCwweDIwLDB4NjMsMHg1RiwweDY0LDB4NzMsMHg3MywweDcyLAotMHgzRCwweDAwLDB4MjAsMHgyMCwweDYzLDB4NUYsMHg2OSwweDczLDB4NzIsMHgzRCwweDAwLDB4MjAsMHgyMCwweDYzLDB4NUYsMHg2MywKLTB4NjEsMHg3MiwweDNELDB4MDAsMHgyMCwweDIwLDB4NjMsMHg1RiwweDY1LDB4NjYsMHg3MiwweDNELDB4MDAsMHgyMCwweDYzLDB4NUYsCi0weDY1LDB4NzIsMHg3MywweDc0LDB4M0QsMHgwMCwweDIwLDB4NjMsMHg1RiwweDY1LDB4NjMsMHg2RSwweDc0LDB4M0QsMHgwMCwweDIwLAotMHg2MywweDVGLDB4NjIsMHg3MiwweDZCLDB4NjMsMHgzRCwweDAwLDB4MjAsMHg2MywweDVGLDB4NjIsMHg2RiwweDZCLDB4NjMsMHgzRCwKLTB4MDAsMHgyMCwweDYzLDB4NUYsMHg3MiwweDY1LDB4NzAsMHg2QywweDNELDB4MDAsMHgyMCwweDYzLDB4NUYsMHg2MywweDYzLDB4NzMsCi0weDcyLDB4M0QsMHgwMCwweDIwLDB4NjMsMHg1RiwweDczLDB4NzQsMHg3NCwweDMxLDB4M0QsMHgwMCwweDIwLDB4NjMsMHg1RiwweDczLAotMHg3NCwweDc0LDB4MzIsMHgzRCwweDAwLDB4MkIsMHhDMCwweDhFLDB4RDgsMHg4RSwweEMwLDB4RTgsMHhDMiwweDAwLDB4RTgsMHhFNSwKLTB4MDAsMHhGQSwweEJGLDB4ODQsMHgwMCwweEM3LDB4MDUsMHhEQywweDU2LDB4OEMsMHg0RCwweDAyLDB4QkYsMHgwQywweDAwLDB4QzcsCi0weDA1LDB4NkUsMHg1RSwweDhDLDB4NEQsMHgwMiwweEJGLDB4MDQsMHgwMCwweEM3LDB4MDUsMHhCQSwweDVFLDB4OEMsMHg0RCwweDAyLAotMHhFOCwweEYxLDB4MDAsMHg5MCwweEU4LDB4NDksMHgwMSwweEU4LDB4MTYsMHgwMCwweEY0LDB4OTAsMHhFOCwweEU1LDB4MDAsMHhCRSwKLTB4QkEsMHg0RCwweEU4LDB4MDksMHgwQywweEEwLDB4OTMsMHgxMiwweEU4LDB4NUQsMHgwQywweEU4LDB4QzIsMHgwOSwweEVCLDB4RTQsCi0weEU4LDB4RDUsMHgwQywweEU4LDB4QzQsMHgwQywweDBBLDB4QzAsMHg3NCwweEY2LDB4OEIsMHgxRSwweEY4LDB4NzksMHgzQywweDBELAotMHg3NCwweDJFLDB4M0MsMHgwOCwweDc0LDB4MTcsMHgzQywweDdGLDB4NzQsMHgxMywweDgzLDB4RkIsMHgyMCwweDdGLDB4RTEsMHg4OCwKLTB4ODcsMHhENiwweDc5LDB4NDMsMHg4OSwweDFFLDB4RjgsMHg3OSwweEU4LDB4NzcsMHgwQywweEVCLDB4RDMsMHgwQiwweERCLDB4NzQsCi0weENGLDB4NEIsMHg4OSwweDFFLDB4RjgsMHg3OSwweDhCLDB4MzYsMHgxNiwweDdBLDB4RTgsMHhDMSwweDBCLDB4RUIsMHhDMSwweDkwLAotMHhFOCwweDAyLDB4MDAsMHhFQiwweEJCLDB4QzYsMHg4NywweEQ2LDB4NzksMHgwMCwweDBCLDB4REIsMHg3NCwweDFFLDB4QTAsMHhENiwKLTB4NzksMHhCRiwweDYwLDB4NTEsMHhCOSwweDFELDB4MDAsMHg4QiwweEQ5LDB4MDYsMHgwRSwweDA3LDB4RjIsMHhBRSwweDA3LDB4NzUsCi0weDE3LDB4NDEsMHgyQiwweEQ5LDB4RDEsMHhFMywweDJFLDB4RkYsMHg5NywweDdELDB4NTEsMHg5MCwweDMzLDB4QzAsMHhBMywweEY4LAotMHg3OSwweEJFLDB4ODksMHg0RCwweEU4LDB4ODcsMHgwQiwweEMzLDB4QkUsMHg4RCwweDRELDB4RTgsMHg4MCwweDBCLDB4RUIsMHhFQywKLTB4QkEsMHgwMCwweDAyLDB4QjAsMHg5MywweEVFLDB4QjAsMHg1NSwweEVFLDB4QkEsMHgxMCwweDAyLDB4QjAsMHg5MywweEVFLDB4QjAsCi0weEFBLDB4RUUsMHhCQSwweDAwLDB4MDIsMHhFQywweDNDLDB4NTUsMHg3NSwweDA4LDB4QkEsMHgxMCwweDAyLDB4RUMsMHgzQywweEFBLAotMHg3NCwweDAzLDB4RTgsMHgyRiwweEY2LDB4QzMsMHhCQSwweDA0LDB4MDIsMHhCMCwweDFBLDB4RUUsMHhCMCwweDIwLDB4RUUsMHhCMCwKLTB4MzAsMHhFRSwweEIwLDB4NDAsMHhFRSwweEIwLDB4ODAsMHhFRSwweEJBLDB4MDAsMHgwMiwweEIwLDB4MTMsMHhFRSwweEIwLDB4MDcsCi0weEVFLDB4QkEsMHgwOCwweDAyLDB4QjAsMHg4MCwweEVFLDB4QkEsMHgwMiwweDAyLDB4QjAsMHhCQiwweEVFLDB4QkEsMHgwNCwweDAyLAotMHhCMCwweDA1LDB4RUUsMHhDMywweEM2LDB4MDYsMHhDQSwweDEzLDB4MDEsMHhDNywweDA2LDB4RjgsMHg3OSwweDAwLDB4MDAsMHhDNiwKLTB4MDYsMHhGNiwweDc5LDB4MDEsMHhDNywweDA2LDB4RDAsMHg3OSwweDAwLDB4MDAsMHhDNywweDA2LDB4RDIsMHg3OSwweDAwLDB4MDAsCi0weEM3LDB4MDYsMHhENCwweDc5LDB4MDAsMHgwMCwweEM3LDB4MDYsMHhGQSwweDc5LDB4MDAsMHgwMCwweEM3LDB4MDYsMHhGQywweDc5LAotMHgwMCwweDAwLDB4QzcsMHgwNiwweEZFLDB4NzksMHgwMCwweDAwLDB4QzcsMHgwNiwweDAwLDB4N0EsMHgwMCwweDAwLDB4QzcsMHgwNiwKLTB4MDIsMHg3QSwweENFLDB4NTksMHg4QywweDBFLDB4MDQsMHg3QSwweEM3LDB4MDYsMHgwNiwweDdBLDB4MDAsMHgwMCwweEM3LDB4MDYsCi0weDI3LDB4N0EsMHgwMCwweDAwLDB4QzYsMHgwNiwweDI5LDB4N0EsMHgwMCwweEM2LDB4MDYsMHgyQSwweDdBLDB4MDAsMHhDMywweDkwLAotMHhCRSwweDIyLDB4NEQsMHhFOCwweEM4LDB4MEEsMHhFOCwweDNGLDB4MDAsMHgyQywweDMxLDB4M0MsMHgwMSwweDc3LDB4RjcsMHhFOCwKLTB4ODEsMHgwOSwweDhCLDB4MzYsMHgwQywweDdBLDB4RTgsMHhCNSwweDBBLDB4QkUsMHg2QSwweDRELDB4RTgsMHhBRiwweDBBLDB4MEUsCi0weDU4LDB4RTgsMHhGOCwweDBBLDB4QkUsMHg3QSwweDRELDB4RTgsMHhBNCwweDBBLDB4QzMsMHg5MCwweDYwLDB4RDEsMHhFMywweDgzLAotMHhGQiwweDE4LDB4NzMsMHgxMSwweDFFLDB4QkEsMHgwMCwweDAwLDB4OEUsMHhEQSwweDJFLDB4RkYsMHg5NywweEI3LDB4NTEsMHg4QiwKLTB4RUMsMHg4OSwweDQ2LDB4MTAsMHgxRiwweDYxLDB4Q0YsMHg5MCwweEU4LDB4NEYsMHgwQiwweDBBLDB4QzAsMHg3NSwweDA1LDB4RTgsCi0weDU2LDB4MEIsMHhFQiwweEY0LDB4QzMsMHg5MCwweDgzLDB4M0UsMHhGOCwweDc5LDB4MDEsMHg3NCwweDE2LDB4QkUsMHhENywweDc5LAotMHhFOCwweDMxLDB4MEEsMHg4QiwweEQwLDB4QUMsMHgzQywweDJDLDB4NzQsMHgwNCwweDNDLDB4MjAsMHg3NSwweDA1LDB4RTgsMHgyMywKLTB4MEEsMHhFRSwweEMzLDB4RTksMHhEMiwweEZFLDB4ODMsMHgzRSwweEY4LDB4NzksMHgwMSwweDc0LDB4RjYsMHhCRSwweEQ3LDB4NzksCi0weEU4LDB4MTEsMHgwQSwweDhCLDB4RDAsMHhBQywweDNDLDB4MkMsMHg3NCwweDA4LDB4M0MsMHgyMCwweDc0LDB4MDQsMHhFOSwweEI3LAotMHhGRSwweDkwLDB4RTgsMHhGRiwweDA5LDB4RUYsMHhDMywweDkwLDB4OEIsMHgxNiwweDA2LDB4N0EsMHg4MywweDNFLDB4RjgsMHg3OSwKLTB4MDEsMHg3NCwweDBCLDB4QkUsMHhENywweDc5LDB4RTgsMHhFQiwweDA5LDB4OEIsMHhEMCwweEEzLDB4MDYsMHg3QSwweEIwLDB4MjAsCi0weEU4LDB4NTcsMHgwQiwweDhCLDB4MTYsMHgwNiwweDdBLDB4RUMsMHhFOCwweDZGLDB4MEIsMHhDMywweDhCLDB4MTYsMHgwNiwweDdBLAotMHg4MywweDNFLDB4RjgsMHg3OSwweDAxLDB4NzQsMHgwQiwweEJFLDB4RDcsMHg3OSwweEU4LDB4QzcsMHgwOSwweDhCLDB4RDAsMHhBMywKLTB4MDYsMHg3QSwweEIwLDB4MjAsMHhFOCwweDMzLDB4MEIsMHg4QiwweDE2LDB4MDYsMHg3QSwweEVELDB4RTgsMHg2NywweDBCLDB4QzMsCi0weEZBLDB4QzYsMHgwNiwweEY2LDB4NzksMHgwMCwweEMzLDB4OTAsMHhDNiwweDA2LDB4RjYsMHg3OSwweDAxLDB4RkIsMHhDMywweDkwLAotMHgwNiwweEU4LDB4NTgsMHgwOSwweEIwLDB4MjAsMHhFOCwweDExLDB4MEIsMHgyNiwweDhCLDB4MDUsMHhFOCwweDQ3LDB4MEIsMHhCMCwKLTB4MDgsMHhFOCwweDA2LDB4MEIsMHhFOCwweDAzLDB4MEIsMHhFOCwweDAwLDB4MEIsMHhFOCwweEZELDB4MEEsMHhCOCwweDAxLDB4MDAsCi0weEU4LDB4Q0YsMHhGNCwweEJBLDB4MDIsMHgwMiwweEVDLDB4MjQsMHgwMSwweDc1LDB4MDIsMHhFQiwweERDLDB4QkEsMHgwNiwweDAyLAotMHhFQywweDA3LDB4QzMsMHg5MCwweEM3LDB4MDYsMHgwOCwweDdBLDB4MTAsMHgwMCwweEVCLDB4MDYsMHhDNywweDA2LDB4MDgsMHg3QSwKLTB4MDEsMHgwMCwweDA2LDB4OEUsMHgwNiwweEZDLDB4NzksMHg4QiwweDNFLDB4RkEsMHg3OSwweEU4LDB4MEUsMHgwOSwweEU4LDB4MEIsCi0weDAwLDB4ODksMHgzRSwweEZBLDB4NzksMHg4QywweDA2LDB4RkMsMHg3OSwweDA3LDB4QzMsMHg5MCwweEJFLDB4QjIsMHg0RCwweEU4LAotMHg3QywweDA5LDB4OEIsMHgxNiwweDA4LDB4N0EsMHg1MiwweEU4LDB4MkEsMHgwOSwweEU4LDB4MEYsMHgwQSwweEU4LDB4MEMsMHgwQSwKLTB4MzMsMHhEQiwweEI5LDB4MTAsMHgwMCwweDkwLDB4MjYsMHg4QSwweDAxLDB4RTgsMHhCQywweDA5LDB4RTgsMHhGRCwweDA5LDB4NDMsCi0weEUyLDB4RjQsMHhFOCwweEY3LDB4MDksMHhFOCwweEY0LDB4MDksMHgzMywweERCLDB4QjksMHgxMCwweDAwLDB4OTAsMHgyNiwweDhBLAotMHgwMSwweDNDLDB4MjAsMHg3MiwweDA1LDB4M0MsMHg3RSwweDc2LDB4MDMsMHg5MCwweEIwLDB4MkUsMHhFOCwweEUzLDB4MDksMHg0MywKLTB4RTIsMHhFQywweEJFLDB4QjIsMHg0RCwweEU4LDB4MzYsMHgwOSwweDgzLDB4QzcsMHgxMCwweDVBLDB4NEEsMHg3NSwweEI3LDB4QzMsCi0weDA2LDB4OEUsMHgwNiwweDAwLDB4N0EsMHg4QiwweDNFLDB4RkUsMHg3OSwweEU4LDB4QTAsMHgwOCwweDg5LDB4M0UsMHhGRSwweDc5LAotMHg4QywweDA2LDB4MDAsMHg3QSwweDU3LDB4OEIsMHgzNiwweDBFLDB4N0EsMHhFOCwweDEyLDB4MDksMHhDNywweDA2LDB4MDgsMHg3QSwKLTB4MTAsMHgwMCwweEJBLDB4MDAsMHgwMiwweEU4LDB4RTgsMHgwMCwweEU4LDB4ODEsMHhGRiwweDVGLDB4QkEsMHgwMCwweDAwLDB4RTgsCi0weERFLDB4MDAsMHhCRSwweEI1LDB4NEQsMHhFOCwweEY2LDB4MDgsMHg4QywweEMwLDB4RTgsMHgzRiwweDA5LDB4QjAsMHgzQSwweEU4LAotMHg5MCwweDA5LDB4OEIsMHhDNywweEU4LDB4MzUsMHgwOSwweEU4LDB4N0UsMHgwOCwweEU4LDB4QzMsMHgwMCwweDkwLDB4RTgsMHhCNywKLTB4MDksMHhFOCwweEE2LDB4MDksMHgwQSwweEMwLDB4NzQsMHhGNiwweDNDLDB4MEIsMHg3NSwweDA2LDB4ODMsMHhFRiwweDEwLDB4RUIsCi0weDE5LDB4OTAsMHgzQywweDBBLDB4NzUsMHgwNiwweDgzLDB4QzcsMHgxMCwweEVCLDB4MEYsMHg5MCwweDNDLDB4MEMsMHg3NSwweDA0LAotMHg0NywweEVCLDB4MDcsMHg5MCwweDNDLDB4MDgsMHg3NSwweDI0LDB4NEYsMHg5MCwweDhCLDB4MzYsMHhGRSwweDc5LDB4OEIsMHhDNywKLTB4MkIsMHhDNiwweDNELDB4MDAsMHgwMSwweDcyLDB4QTUsMHgzRCwweDEwLDB4MDEsMHg3MiwweDA0LDB4ODMsMHhFRSwweDIwLDB4OTAsCi0weDgzLDB4QzYsMHgxMCwweDg5LDB4MzYsMHhGRSwweDc5LDB4NTcsMHg4QiwweEZFLDB4RUIsMHg4MCwweDNDLDB4MkUsMHg3NSwweDA4LAotMHhCQSwweDAxLDB4MTMsMHhFOCwweDZBLDB4MDAsMHgwNywweEMzLDB4QzYsMHgwNiwweDBBLDB4N0EsMHgwMiwweDMyLDB4QzksMHg5MCwKLTB4M0MsMHgzMCwweDcyLDB4NEMsMHgzQywweDM5LDB4NzYsMHgwQywweDI0LDB4NUYsMHgzQywweDQxLDB4NzIsMHg0MiwweDNDLDB4NDYsCi0weDc3LDB4M0UsMHgyQywweDA3LDB4MkMsMHgzMCwweDUwLDB4RTgsMHhDQywweDA4LDB4NTgsMHgwMiwweEM4LDB4RkUsMHgwRSwweDBBLAotMHg3QSwweDc0LDB4MEYsMHhDMCwweEUxLDB4MDQsMHhFOCwweDJGLDB4MDksMHhFOCwweDFFLDB4MDksMHgwQSwweEMwLDB4NzQsMHhGNiwKLTB4RUIsMHhDRSwweDI2LDB4ODgsMHgwRCwweEU4LDB4RTAsMHgwNywweDhBLDB4RDAsMHhFOCwweDIzLDB4MDAsMHg4QSwweEMxLDB4M0MsCi0weDIwLDB4NzIsMHgwNSwweDNDLDB4N0UsMHg3NiwweDAzLDB4OTAsMHhCMCwweDJFLDB4RTgsMHhENSwweDA4LDB4RTksMHg3MCwweEZGLAotMHhFOCwweEM1LDB4MDcsMHhFOCwweDBBLDB4MDAsMHgyNiwweDhBLDB4MDUsMHhFOCwweDdDLDB4MDgsMHhFOSwweDFELDB4RkYsMHg5MCwKLTB4RjYsMHgwNiwweDI2LDB4N0EsMHgwMiwweDc1LDB4MDIsMHg4NiwweEYyLDB4NTIsMHg4QiwweDM2LDB4MUEsMHg3QSwweEU4LDB4MEQsCi0weDA4LDB4NUEsMHg1MiwweDhBLDB4QzYsMHgwMiwweDA2LDB4MjQsMHg3QSwweEY2LDB4MDYsMHgyNiwweDdBLDB4MDEsMHg3NSwweDA2LAotMHhFOCwweDlGLDB4MDgsMHhFQiwweDBELDB4OTAsMHgzMiwweEU0LDB4RTgsMHgwRCwweDA4LDB4OEIsMHgzNiwweDFDLDB4N0EsMHhFOCwKLTB4RUMsMHgwNywweDVBLDB4OEEsMHhDMiwweDAyLDB4MDYsMHgyNSwweDdBLDB4RjYsMHgwNiwweDI2LDB4N0EsMHgwMSwweDc1LDB4MDYsCi0weEU4LDB4N0YsMHgwOCwweEVCLDB4MDYsMHg5MCwweDMyLDB4RTQsMHhFOCwweEVELDB4MDcsMHg4QiwweDM2LDB4MUUsMHg3QSwweEU4LAotMHhDQywweDA3LDB4QzMsMHg5MCwweDA2LDB4OEUsMHgwNiwweDA0LDB4N0EsMHg4QiwweDNFLDB4MDIsMHg3QSwweEU4LDB4M0MsMHgwNywKLTB4ODksMHgzRSwweDAyLDB4N0EsMHg4QywweDA2LDB4MDQsMHg3QSwweDA3LDB4RkYsMHgxRSwweDAyLDB4N0EsMHhDMywweEJFLDB4OTcsCi0weDRELDB4RTgsMHhBQSwweDA3LDB4Q0IsMHg5MCwweDA2LDB4NTcsMHhCRSwweEQ3LDB4NzksMHhFOCwweDY2LDB4MDcsMHg4QiwweEQ4LAotMHhFOCwweDYxLDB4MDcsMHg4QiwweEM4LDB4MkIsMHhDQiwweDc4LDB4MTEsMHg4RSwweEMzLDB4QkYsMHgwMCwweDAwLDB4QjgsMHhGRiwKLTB4RkYsMHg1MSwweEI5LDB4MDgsMHgwMCwweEYzLDB4QUIsMHg1OSwweEUyLDB4RjcsMHg1RiwweDA3LDB4QzMsMHg5MCwweDA2LDB4QkUsCi0weEQ3LDB4NzksMHhFOCwweDNGLDB4MDcsMHg4QiwweEQ4LDB4RDEsMHhFMywweDJFLDB4OEIsMHg5RiwweDQ0LDB4MDAsMHhCRSwweDI2LAotMHg1MiwweEU4LDB4RjEsMHgwOCwweDhCLDB4QzMsMHhFOCwweERELDB4MDgsMHhCOCwweDAxLDB4MDAsMHhFOCwweDczLDB4RjIsMHhFOCwKLTB4RTAsMHgwOCwweEJFLDB4MkYsMHg1MiwweEU4LDB4REQsMHgwOCwweDhCLDB4NDcsMHgxOCwweEU4LDB4QzgsMHgwOCwweEJFLDB4NzcsCi0weDUyLDB4RTgsMHhEMSwweDA4LDB4OEIsMHg0NywweDI2LDB4RTgsMHhCQywweDA4LDB4QkUsMHg1MywweDUyLDB4RTgsMHhDNSwweDA4LAotMHg4QiwweDQ3LDB4MUUsMHhFOCwweEIwLDB4MDgsMHhCRSwweDVDLDB4NTIsMHhFOCwweEI5LDB4MDgsMHg4QiwweDQ3LDB4MjAsMHhFOCwKLTB4QTQsMHgwOCwweEJFLDB4NkUsMHg1MiwweEU4LDB4QUQsMHgwOCwweDhCLDB4NDcsMHgyNCwweEU4LDB4OTgsMHgwOCwweEJFLDB4ODAsCi0weDUyLDB4RTgsMHhBMSwweDA4LDB4OEIsMHg0NywweDJBLDB4RTgsMHg4QywweDA4LDB4RTgsMHg5NSwweDA4LDB4QkUsMHgzOCwweDUyLAotMHhFOCwweDkyLDB4MDgsMHg4QiwweDA3LDB4RTgsMHg3RSwweDA4LDB4QkUsMHg0MSwweDUyLDB4RTgsMHg4NywweDA4LDB4OEIsMHg0NywKLTB4MUEsMHhFOCwweDcyLDB4MDgsMHhCRSwweDRBLDB4NTIsMHhFOCwweDdCLDB4MDgsMHg4QiwweDQ3LDB4MUMsMHhFOCwweDY2LDB4MDgsCi0weEJFLDB4NjUsMHg1MiwweEU4LDB4NkYsMHgwOCwweDhCLDB4NDcsMHgyMiwweEU4LDB4NUEsMHgwOCwweEU4LDB4NjMsMHgwOCwweEJFLAotMHhEMSwweDUyLDB4RTgsMHg2MCwweDA4LDB4OEIsMHg0NywweDM4LDB4RTgsMHg0QiwweDA4LDB4QkUsMHhBRCwweDUyLDB4RTgsMHg1NCwKLTB4MDgsMHg4QiwweDQ3LDB4MzAsMHhFOCwweDNGLDB4MDgsMHhCRSwweEI2LDB4NTIsMHhFOCwweDQ4LDB4MDgsMHg4QiwweDQ3LDB4MzIsCi0weEU4LDB4MzMsMHgwOCwweEJFLDB4QTQsMHg1MiwweEU4LDB4M0MsMHgwOCwweDhCLDB4NDcsMHgyRSwweEU4LDB4MjcsMHgwOCwweEJFLAotMHhCRiwweDUyLDB4RTgsMHgzMCwweDA4LDB4OEIsMHg0NywweDM0LDB4RTgsMHgxQiwweDA4LDB4RTgsMHgyNCwweDA4LDB4QkUsMHg4OSwKLTB4NTIsMHhFOCwweDIxLDB4MDgsMHg4QiwweDQ3LDB4MDQsMHhFOCwweDBDLDB4MDgsMHhCRSwweDkyLDB4NTIsMHhFOCwweDE1LDB4MDgsCi0weDhCLDB4NDcsMHgxNCwweEU4LDB4MDAsMHgwOCwweEJFLDB4OUIsMHg1MiwweEU4LDB4MDksMHgwOCwweDhCLDB4NDcsMHgyQywweEU4LAotMHhGNCwweDA3LDB4QkUsMHhDOCwweDUyLDB4RTgsMHhGRCwweDA3LDB4OEIsMHg0NywweDM2LDB4RTgsMHhFOCwweDA3LDB4QkUsMHhEQSwKLTB4NTIsMHhFOCwweEYxLDB4MDcsMHg4QiwweDQ3LDB4M0EsMHhFOCwweERDLDB4MDcsMHhCRSwweEUzLDB4NTIsMHhFOCwweEU1LDB4MDcsCi0weDhCLDB4NDcsMHgzQywweEU4LDB4RDAsMHgwNywweEU4LDB4RDksMHgwNywweEJFLDB4MTksMHg1MywweEU4LDB4RDYsMHgwNywweDhCLAotMHg0NywweDQ4LDB4RTgsMHhDMSwweDA3LDB4QkUsMHhGRSwweDUyLDB4RTgsMHhDQSwweDA3LDB4OEIsMHg0NywweDQyLDB4RTgsMHhCNSwKLTB4MDcsMHhCRSwweDA3LDB4NTMsMHhFOCwweEJFLDB4MDcsMHg4QiwweDQ3LDB4NDQsMHhFOCwweEE5LDB4MDcsMHhCRSwweDdDLDB4NTMsCi0weEU4LDB4QjIsMHgwNywweDhCLDB4NDcsMHg0QywweEU4LDB4OUQsMHgwNywweEJFLDB4ODUsMHg1MywweEU4LDB4QTYsMHgwNywweDhCLAotMHg0NywweDRFLDB4RTgsMHg5MSwweDA3LDB4QkUsMHg4RSwweDUzLDB4RTgsMHg5QSwweDA3LDB4OEIsMHg0NywweDUwLDB4RTgsMHg4NSwKLTB4MDcsMHhFOCwweDhFLDB4MDcsMHhCRSwweDIyLDB4NTMsMHhFOCwweDhCLDB4MDcsMHg4QiwweDQ3LDB4NEEsMHhFOCwweDc2LDB4MDcsCi0weEJFLDB4RUMsMHg1MiwweEU4LDB4N0YsMHgwNywweDhCLDB4NDcsMHgwOCwweEU4LDB4NkEsMHgwNywweEJFLDB4RjUsMHg1MiwweEU4LAotMHg3MywweDA3LDB4OEIsMHg0NywweDQwLDB4RTgsMHg1RSwweDA3LDB4QkUsMHgxMCwweDUzLDB4RTgsMHg2NywweDA3LDB4OEIsMHg0NywKLTB4NDYsMHhFOCwweDUyLDB4MDcsMHhFOCwweDVCLDB4MDcsMHhCRSwweDZBLDB4NTMsMHhFOCwweDU4LDB4MDcsMHg4QiwweDQ3LDB4N0EsCi0weEU4LDB4NDMsMHgwNywweEJFLDB4M0QsMHg1MywweEU4LDB4NEMsMHgwNywweDhCLDB4NDcsMHg3MCwweEU4LDB4MzcsMHgwNywweEJFLAotMHg0NiwweDUzLDB4RTgsMHg0MCwweDA3LDB4OEIsMHg0NywweDcyLDB4RTgsMHgyQiwweDA3LDB4QkUsMHg0RiwweDUzLDB4RTgsMHgzNCwKLTB4MDcsMHg4QiwweDQ3LDB4NzQsMHhFOCwweDFGLDB4MDcsMHhFOCwweDI4LDB4MDcsMHhCRSwweDJCLDB4NTMsMHhFOCwweDI1LDB4MDcsCi0weDhCLDB4NDcsMHgwQywweEU4LDB4MTAsMHgwNywweEJFLDB4MzQsMHg1MywweEU4LDB4MTksMHgwNywweDhCLDB4NDcsMHgxMCwweEU4LAotMHgwNCwweDA3LDB4QkUsMHg1OCwweDUzLDB4RTgsMHgwRCwweDA3LDB4OEIsMHg0NywweDc2LDB4RTgsMHhGOCwweDA2LDB4QkUsMHg2MSwKLTB4NTMsMHhFOCwweDAxLDB4MDcsMHg4QiwweDQ3LDB4NzgsMHhFOCwweEVDLDB4MDYsMHhCRSwweDczLDB4NTMsMHhFOCwweEY1LDB4MDYsCi0weDhCLDB4NDcsMHgzRSwweEU4LDB4RTAsMHgwNiwweEU4LDB4RTksMHgwNiwweEJFLDB4OTcsMHg1MywweEU4LDB4RTYsMHgwNiwweDhCLAotMHg0NywweDUyLDB4RTgsMHhEMSwweDA2LDB4QkUsMHhBMCwweDUzLDB4RTgsMHhEQSwweDA2LDB4OEIsMHg0NywweDU0LDB4RTgsMHhDNSwKLTB4MDYsMHhCRSwweEE5LDB4NTMsMHhFOCwweENFLDB4MDYsMHg4QiwweDQ3LDB4NTYsMHhFOCwweEI5LDB4MDYsMHhCRSwweEIyLDB4NTMsCi0weEU4LDB4QzIsMHgwNiwweDhCLDB4NDcsMHg1OCwweEU4LDB4QUQsMHgwNiwweEJFLDB4QkIsMHg1MywweEU4LDB4QjYsMHgwNiwweDhCLAotMHg0NywweDVBLDB4RTgsMHhBMSwweDA2LDB4QkUsMHhDNCwweDUzLDB4RTgsMHhBQSwweDA2LDB4OEIsMHg0NywweDVDLDB4RTgsMHg5NSwKLTB4MDYsMHhFOCwweDlFLDB4MDYsMHhCRSwweENELDB4NTMsMHhFOCwweDlCLDB4MDYsMHg4QiwweDQ3LDB4NUUsMHhFOCwweDg2LDB4MDYsCi0weEJFLDB4RDYsMHg1MywweEU4LDB4OEYsMHgwNiwweDhCLDB4NDcsMHg2MCwweEU4LDB4N0EsMHgwNiwweEJFLDB4REYsMHg1MywweEU4LAotMHg4MywweDA2LDB4OEIsMHg0NywweDYyLDB4RTgsMHg2RSwweDA2LDB4QkUsMHhFOCwweDUzLDB4RTgsMHg3NywweDA2LDB4OEIsMHg0NywKLTB4N0MsMHhFOCwweDYyLDB4MDYsMHhCRSwweEYxLDB4NTMsMHhFOCwweDZCLDB4MDYsMHg4QiwweDQ3LDB4N0UsMHhFOCwweDU2LDB4MDYsCi0weEJFLDB4RkEsMHg1MywweEU4LDB4NUYsMHgwNiwweDhCLDB4ODcsMHg4MCwweDAwLDB4RTgsMHg0OSwweDA2LDB4RTgsMHg1MiwweDA2LAotMHhCRSwweDQyLDB4NTQsMHhFOCwweDRGLDB4MDYsMHg4QiwweDg3LDB4OUUsMHgwMCwweEU4LDB4MzksMHgwNiwweEJFLDB4MDMsMHg1NCwKLTB4RTgsMHg0MiwweDA2LDB4OEIsMHg0NywweDY0LDB4RTgsMHgyRCwweDA2LDB4QkUsMHgwQywweDU0LDB4RTgsMHgzNiwweDA2LDB4OEIsCi0weDQ3LDB4NkUsMHhFOCwweDIxLDB4MDYsMHhCRSwweDE1LDB4NTQsMHhFOCwweDJBLDB4MDYsMHg4QiwweDg3LDB4OEUsMHgwMCwweEU4LAotMHgxNCwweDA2LDB4QkUsMHgxRSwweDU0LDB4RTgsMHgxRCwweDA2LDB4OEIsMHg4NywweDkwLDB4MDAsMHhFOCwweDA3LDB4MDYsMHhCRSwKLTB4MjcsMHg1NCwweEU4LDB4MTAsMHgwNiwweDhCLDB4ODcsMHg5MiwweDAwLDB4RTgsMHhGQSwweDA1LDB4RTgsMHgwMywweDA2LDB4QkUsCi0weDMwLDB4NTQsMHhFOCwweDAwLDB4MDYsMHg4QiwweDg3LDB4OTQsMHgwMCwweEU4LDB4RUEsMHgwNSwweEJFLDB4MzksMHg1NCwweEU4LAotMHhGMywweDA1LDB4OEIsMHg4NywweDk2LDB4MDAsMHhFOCwweERELDB4MDUsMHhCRSwweDZGLDB4NTQsMHhFOCwweEU2LDB4MDUsMHg4QiwKLTB4ODcsMHg5OCwweDAwLDB4RTgsMHhEMCwweDA1LDB4QkUsMHg1RCwweDU0LDB4RTgsMHhEOSwweDA1LDB4OEEsMHg4NywweEEwLDB4MDAsCi0weEU4LDB4QTcsMHgwNSwweEJFLDB4NTQsMHg1NCwweEU4LDB4Q0MsMHgwNSwweDhBLDB4NDcsMHgyOCwweEU4LDB4OUIsMHgwNSwweEJFLAotMHg2NiwweDU0LDB4RTgsMHhDMCwweDA1LDB4OEEsMHg4NywweEExLDB4MDAsMHhFOCwweDhFLDB4MDUsMHhFOCwweEIzLDB4MDUsMHhCRSwKLTB4NzgsMHg1NCwweEU4LDB4QjAsMHgwNSwweDhBLDB4ODcsMHhBMiwweDAwLDB4RTgsMHg3RSwweDA1LDB4QkUsMHg4MSwweDU0LDB4RTgsCi0weEEzLDB4MDUsMHg4QSwweDg3LDB4QTMsMHgwMCwweEU4LDB4NzEsMHgwNSwweEJFLDB4OEEsMHg1NCwweEU4LDB4OTYsMHgwNSwweDhBLAotMHg4NywweEE0LDB4MDAsMHhFOCwweDY0LDB4MDUsMHhCRSwweDkzLDB4NTQsMHhFOCwweDg5LDB4MDUsMHg4QSwweDg3LDB4QTUsMHgwMCwKLTB4RTgsMHg1NywweDA1LDB4QkUsMHg5QywweDU0LDB4RTgsMHg3QywweDA1LDB4OEEsMHg4NywweEE2LDB4MDAsMHhFOCwweDRBLDB4MDUsCi0weEJFLDB4QTUsMHg1NCwweEU4LDB4NkYsMHgwNSwweDhBLDB4ODcsMHhBNywweDAwLDB4RTgsMHgzRCwweDA1LDB4QkUsMHhBRSwweDU0LAotMHhFOCwweDYyLDB4MDUsMHg4QSwweDg3LDB4QTgsMHgwMCwweEU4LDB4MzAsMHgwNSwweEU4LDB4NTUsMHgwNSwweEJFLDB4QjcsMHg1NCwKLTB4RTgsMHg1MiwweDA1LDB4OEEsMHg4NywweEE5LDB4MDAsMHhFOCwweDIwLDB4MDUsMHhCRSwweEMwLDB4NTQsMHhFOCwweDQ1LDB4MDUsCi0weDhBLDB4ODcsMHhBQSwweDAwLDB4RTgsMHgxMywweDA1LDB4QkUsMHhDOSwweDU0LDB4RTgsMHgzOCwweDA1LDB4OEEsMHg4NywweEFCLAotMHgwMCwweEU4LDB4MDYsMHgwNSwweEJFLDB4RDIsMHg1NCwweEU4LDB4MkIsMHgwNSwweDhBLDB4ODcsMHhBRCwweDAwLDB4RTgsMHhGOSwKLTB4MDQsMHhCRSwweERCLDB4NTQsMHhFOCwweDFFLDB4MDUsMHg4QSwweDg3LDB4QUUsMHgwMCwweEU4LDB4RUMsMHgwNCwweEJFLDB4RTQsCi0weDU0LDB4RTgsMHgxMSwweDA1LDB4OEEsMHg4NywweEFGLDB4MDAsMHhFOCwweERGLDB4MDQsMHhCRSwweEVELDB4NTQsMHhFOCwweDA0LAotMHgwNSwweDhBLDB4ODcsMHhCMCwweDAwLDB4RTgsMHhEMiwweDA0LDB4RTgsMHhGNywweDA0LDB4QkUsMHhGNiwweDU0LDB4RTgsMHhGNCwKLTB4MDQsMHg4QSwweDg3LDB4QjEsMHgwMCwweEU4LDB4QzIsMHgwNCwweEJFLDB4RkYsMHg1NCwweEU4LDB4RTcsMHgwNCwweDhBLDB4ODcsCi0weEIyLDB4MDAsMHhFOCwweEI1LDB4MDQsMHhCRSwweDA4LDB4NTUsMHhFOCwweERBLDB4MDQsMHg4QSwweDg3LDB4QjMsMHgwMCwweEU4LAotMHhBOCwweDA0LDB4QkUsMHgxMSwweDU1LDB4RTgsMHhDRCwweDA0LDB4OEEsMHg4NywweEJCLDB4MDAsMHhFOCwweDlCLDB4MDQsMHhFOCwKLTB4QzAsMHgwNCwweEJFLDB4MUEsMHg1NSwweEU4LDB4QkQsMHgwNCwweDhBLDB4ODcsMHhCQywweDAwLDB4RTgsMHg4QiwweDA0LDB4QkUsCi0weDIzLDB4NTUsMHhFOCwweEIwLDB4MDQsMHg4QSwweDg3LDB4QkUsMHgwMCwweEU4LDB4N0UsMHgwNCwweEJFLDB4MkMsMHg1NSwweEU4LAotMHhBMywweDA0LDB4OEEsMHg4NywweEJGLDB4MDAsMHhFOCwweDcxLDB4MDQsMHhFOCwweDk2LDB4MDQsMHgwNywweEMzLDB4NjAsMHgwNiwKLTB4MUUsMHgxNiwweDhCLDB4RUMsMHhGRiwweDRFLDB4MTYsMHhGNywweDQ2LDB4MUEsMHgwMCwweDAyLDB4NzQsMHgwMSwweEZCLDB4QjgsCi0weDAwLDB4MDAsMHg4RSwweEQ4LDB4OEUsMHhDMCwweDg5LDB4MkUsMHgyRCwweDdBLDB4RTgsMHhDQiwweDAwLDB4ODEsMHg2NiwweDFBLAotMHhGRiwweEZFLDB4QzYsMHgwNiwweDJBLDB4N0EsMHgwMCwweEU4LDB4RDgsMHgwMCwweEI4LDB4MDAsMHg1RiwweEEzLDB4MkIsMHg3QSwKLTB4RTgsMHg1RCwweDAwLDB4ODAsMHgzRSwweDJBLDB4N0EsMHgwMCwweDc0LDB4MEEsMHg4MSwweDRFLDB4MUEsMHgwMCwweDAxLDB4QzYsCi0weDA2LDB4MkEsMHg3QSwweDAwLDB4MTcsMHgxRiwweDA3LDB4NjEsMHhDRiwweDkwLDB4NjAsMHgwNiwweDFFLDB4MTYsMHg4QiwweEVDLAotMHhGNywweDQ2LDB4MUEsMHgwMCwweDAyLDB4NzQsMHgwMSwweEZCLDB4QjgsMHgwMCwweDAwLDB4OEUsMHhEOCwweDhFLDB4QzAsMHg4OSwKLTB4MkUsMHgyRCwweDdBLDB4ODEsMHg2NiwweDFBLDB4RkYsMHhGRSwweEM2LDB4MDYsMHgyQSwweDdBLDB4MDAsMHhFOCwweDkyLDB4MDAsCi0weEI4LDB4MDAsMHg1RiwweEEzLDB4MkIsMHg3QSwweEU4LDB4MTcsMHgwMCwweDgwLDB4M0UsMHgyQSwweDdBLDB4MDAsMHg3NCwweDBBLAotMHg4MSwweDRFLDB4MUEsMHgwMCwweDAxLDB4QzYsMHgwNiwweDJBLDB4N0EsMHgwMCwweDE3LDB4MUYsMHgwNywweDYxLDB4Q0YsMHg5MCwKLTB4QjgsMHhGMCwweDAwLDB4RTgsMHg4QywweEVELDB4RkYsMHgyNiwweDJCLDB4N0EsMHhDMywweDkwLDB4MDYsMHg1MywweDU2LDB4ODAsCi0weDNFLDB4MjksMHg3QSwweDAwLDB4NzQsMHgwMywweEU4LDB4M0YsMHgwMCwweEJFLDB4RDcsMHg3OSwweEU4LDB4MjUsMHgwMiwweDhCLAotMHhEOCwweEEzLDB4MjcsMHg3QSwweDJFLDB4OEEsMHgwNywweEEyLDB4MjksMHg3QSwweEIwLDB4Q0MsMHgyRSwweDg4LDB4MDcsMHg1RSwKLTB4NUIsMHgwNywweEMzLDB4QzYsMHgwNiwweDJBLDB4N0EsMHgwMCwweEI4LDB4MEEsMHg1RiwweEEzLDB4MkIsMHg3QSwweEMzLDB4OTAsCi0weDhCLDB4MkUsMHgyRCwweDdBLDB4RTgsMHgyQiwweDAwLDB4QzMsMHhDNiwweDA2LDB4MkEsMHg3QSwweDAxLDB4RTgsMHgwOCwweDAwLAotMHhCOCwweDBBLDB4NUYsMHhBMywweDJCLDB4N0EsMHhDMywweDkwLDB4NTcsMHg4MCwweDNFLDB4MjksMHg3QSwweDAwLDB4NzQsMHgwRiwKLTB4OEIsMHgzRSwweDI3LDB4N0EsMHhBMCwweDI5LDB4N0EsMHgyRSwweDg4LDB4MDUsMHhDNiwweDA2LDB4MjksMHg3QSwweDAwLDB4NUYsCi0weEMzLDB4OTAsMHhCRSwweEIyLDB4NEQsMHhFOCwweDA2LDB4MDIsMHhCRSwweEQ4LDB4NTEsMHhFOCwweDAwLDB4MDIsMHhGRiwweDc2LAotMHgxNCwweDU4LDB4RTgsMHg0NywweDAyLDB4QkUsMHhERSwweDUxLDB4RTgsMHhGMywweDAxLDB4RkYsMHg3NiwweDBFLDB4NTgsMHhFOCwKLTB4M0EsMHgwMiwweEJFLDB4RTQsMHg1MSwweEU4LDB4RTYsMHgwMSwweEZGLDB4NzYsMHgxMiwweDU4LDB4RTgsMHgyRCwweDAyLDB4QkUsCi0weEVBLDB4NTEsMHhFOCwweEQ5LDB4MDEsMHhGRiwweDc2LDB4MTAsMHg1OCwweEU4LDB4MjAsMHgwMiwweEJFLDB4MTQsMHg1MiwweEU4LAotMHhDQywweDAxLDB4RkYsMHg3NiwweDBBLDB4NTgsMHhFOCwweDEzLDB4MDIsMHhCRSwweDFBLDB4NTIsMHhFOCwweEJGLDB4MDEsMHhGRiwKLTB4NzYsMHgwQywweDU4LDB4RTgsMHgwNiwweDAyLDB4QkUsMHhDRiwweDUxLDB4RTgsMHhCMiwweDAxLDB4RkYsMHg3NiwweDFBLDB4NTgsCi0weEU4LDB4RjksMHgwMSwweEJFLDB4QjIsMHg0RCwweEU4LDB4QTUsMHgwMSwweEJFLDB4RjAsMHg1MSwweEU4LDB4OUYsMHgwMSwweEZGLAotMHg3NiwweDE4LDB4NTgsMHhFOCwweEU2LDB4MDEsMHhCRSwweEY2LDB4NTEsMHhFOCwweDkyLDB4MDEsMHhGRiwweDc2LDB4MDIsMHg1OCwKLTB4RTgsMHhEOSwweDAxLDB4QkUsMHhGQywweDUxLDB4RTgsMHg4NSwweDAxLDB4RkYsMHg3NiwweDA0LDB4NTgsMHhFOCwweENDLDB4MDEsCi0weEJFLDB4MDIsMHg1MiwweEU4LDB4NzgsMHgwMSwweEZGLDB4NzYsMHgwMCwweDU4LDB4RTgsMHhCRiwweDAxLDB4QkUsMHgwOCwweDUyLAotMHhFOCwweDZCLDB4MDEsMHhGRiwweDc2LDB4MDYsMHg1OCwweEU4LDB4QjIsMHgwMSwweEJFLDB4MEUsMHg1MiwweEU4LDB4NUUsMHgwMSwKLTB4RkYsMHg3NiwweDA4LDB4NTgsMHhFOCwweEE1LDB4MDEsMHhCRSwweDIwLDB4NTIsMHhFOCwweDUxLDB4MDEsMHhGRiwweDc2LDB4MTYsCi0weDU4LDB4RTgsMHg5OCwweDAxLDB4QkUsMHg4OSwweDRELDB4RTgsMHg0NCwweDAxLDB4QzMsMHg5MCwweEJFLDB4QzksMHg0RCwweEU4LAotMHgzQywweDAxLDB4QzMsMHgzQywweDAwLDB4NzQsMHgwNSwweDNDLDB4MDEsMHg3NCwweDU5LDB4QzMsMHhDNywweDA2LDB4MEMsMHg3QSwKLTB4Q0QsMHg1MCwweEM3LDB4MDYsMHgwRSwweDdBLDB4RjAsMHg1MCwweEM3LDB4MDYsMHgxMCwweDdBLDB4RTgsMHg1MCwweEM3LDB4MDYsCi0weDEyLDB4N0EsMHhFQywweDUwLDB4QzcsMHgwNiwweDE0LDB4N0EsMHhGNCwweDUwLDB4QzcsMHgwNiwweDE2LDB4N0EsMHhGQiwweDUwLAotMHhDNywweDA2LDB4MTgsMHg3QSwweDAzLDB4NTEsMHhDNywweDA2LDB4MUEsMHg3QSwweDBCLDB4NTEsMHhDNywweDA2LDB4MUMsMHg3QSwKLTB4MEUsMHg1MSwweEM3LDB4MDYsMHgxRSwweDdBLDB4MTAsMHg1MSwweEM3LDB4MDYsMHgyMCwweDdBLDB4MTIsMHg1MSwweEM3LDB4MDYsCi0weDIyLDB4N0EsMHgxNiwweDUxLDB4QzYsMHgwNiwweDI0LDB4N0EsMHgwMSwweEM2LDB4MDYsMHgyNSwweDdBLDB4MDEsMHhDNiwweDA2LAotMHgyNiwweDdBLDB4MDMsMHhDMywweEM3LDB4MDYsMHgwQywweDdBLDB4MUEsMHg1MSwweEM3LDB4MDYsMHgwRSwweDdBLDB4NEQsMHg1MSwKLTB4QzcsMHgwNiwweDEwLDB4N0EsMHg0NywweDUxLDB4QzcsMHgwNiwweDEyLDB4N0EsMHg0QSwweDUxLDB4QzcsMHgwNiwweDE0LDB4N0EsCi0weDRGLDB4NTEsMHhDNywweDA2LDB4MTYsMHg3QSwweDUxLDB4NTEsMHhDNywweDA2LDB4MTgsMHg3QSwweDU1LDB4NTEsMHhDNywweDA2LAotMHgxQSwweDdBLDB4NTYsMHg1MSwweEM3LDB4MDYsMHgxQywweDdBLDB4NTksMHg1MSwweEM3LDB4MDYsMHgxRSwweDdBLDB4NUEsMHg1MSwKLTB4QzcsMHgwNiwweDIwLDB4N0EsMHg1QiwweDUxLDB4QzcsMHgwNiwweDIyLDB4N0EsMHg1RSwweDUxLDB4QzYsMHgwNiwweDI0LDB4N0EsCi0weDIwLDB4QzYsMHgwNiwweDI1LDB4N0EsMHgyMCwweEM2LDB4MDYsMHgyNiwweDdBLDB4MDIsMHhDMywweEExLDB4RjgsMHg3OSwweDQ4LAotMHg3NCwweDE0LDB4QkUsMHhENywweDc5LDB4RTgsMHgzQywweDAwLDB4OEIsMHhGOCwweEFDLDB4M0MsMHgzQSwweDc1LDB4MDcsMHg4RSwKLTB4QzcsMHhFOCwweDMwLDB4MDAsMHg4QiwweEY4LDB4QzMsMHg5MCwweDhCLDB4QzcsMHgyQiwweDA2LDB4RkUsMHg3OSwweDhBLDB4RjAsCi0weDI0LDB4MEYsMHg4QSwweEQwLDB4MDIsMHhEMCwweDAyLDB4RDAsMHg4MCwweEMyLDB4MEIsMHhDMCwweEVFLDB4MDQsMHg4MCwweEM2LAotMHgwMywweDA0LDB4M0QsMHhDMywweDhDLDB4QzAsMHhFOCwweDkzLDB4MDAsMHhCMCwweDNBLDB4RTgsMHhFNCwweDAwLDB4OEIsMHhDNywKLTB4RTgsMHg4OSwweDAwLDB4QzMsMHg1MSwweDMzLDB4QzksMHg5MCwweEFDLDB4M0MsMHgyMCwweDc0LDB4RkIsMHg5MCwweDBBLDB4QzAsCi0weDc0LDB4MjYsMHgyQywweDMwLDB4NzIsMHgyMiwweDNDLDB4MDksMHg3NiwweDE0LDB4M0MsMHgxMSwweDcyLDB4MUEsMHgyQywweDA3LAotMHgzQywweDBGLDB4NzYsMHgwQSwweDNDLDB4MkEsMHg3MiwweDEwLDB4MkMsMHgyMCwweDNDLDB4MEYsMHg3NywweDBBLDB4OTgsMHhDMSwKLTB4RTEsMHgwNCwweDAzLDB4QzgsMHhBQywweEVCLDB4RDcsMHg5MCwweDRFLDB4OEIsMHhDMSwweDU5LDB4QzMsMHg5MCwweDA2LDB4OEMsCi0weEM4LDB4OEUsMHhDMCwweEU4LDB4MDIsMHgwMCwweDA3LDB4QzMsMHgyNiwweDhBLDB4MDQsMHg0NiwweDBBLDB4QzAsMHg3NCwweDA2LAotMHhFOCwweDhGLDB4MDAsMHhFQiwweEYzLDB4OTAsMHhDMywweDkwLDB4MEIsMHhDMCwweDc0LDB4N0EsMHg1MSwweDMzLDB4RDIsMHhCOSwKLTB4RTgsMHgwMywweEY3LDB4RjEsMHg4QiwweENBLDB4RTgsMHgwMywweDAwLDB4OEIsMHhDMSwweDU5LDB4QkEsMHg2NCwweDAwLDB4RjYsCi0weEYyLDB4RTgsMHgwQywweDAwLDB4OEEsMHhDNCwweDk4LDB4QjIsMHgwQSwweEY2LDB4RjIsMHhFOCwweDAyLDB4MDAsMHg4QSwweEM0LAotMHg1MCwweDBBLDB4RjAsMHg3NCwweDA1LDB4MDQsMHgzMCwweEU4LDB4NTgsMHgwMCwweDU4LDB4QzMsMHg4NiwweEM0LDB4RTgsMHgwNywKLTB4MDAsMHg4NiwweEM0LDB4RTgsMHgwMiwweDAwLDB4QzMsMHg5MCwweEMxLDB4QzgsMHgwNCwweEU4LDB4MDgsMHgwMCwweEMxLDB4QzAsCi0weDA0LDB4RTgsMHgwMiwweDAwLDB4QzMsMHg5MCwweDUzLDB4NTAsMHgyNCwweDBGLDB4QkIsMHhDQSwweDYyLDB4MkUsMHhENywweEU4LAotMHgzMCwweDAwLDB4NTgsMHg1QiwweEMzLDB4OTAsMHg4NiwweEM0LDB4RTgsMHgwNywweDAwLDB4ODYsMHhDNCwweEU4LDB4MDIsMHgwMCwKLTB4QzMsMHg5MCwweDUwLDB4QjksMHgwOCwweDAwLDB4OEEsMHhFMCwweDMyLDB4QzAsMHhEMSwweEMwLDB4MDQsMHgzMCwweEU4LDB4MTEsCi0weDAwLDB4RTIsMHhGNSwweDU4LDB4QzMsMHg5MCwweEIwLDB4MzAsMHhFOCwweDA3LDB4MDAsMHhDMywweEIwLDB4MjAsMHhFOCwweDAxLAotMHgwMCwweEMzLDB4NTYsMHg4QiwweDM2LDB4RDAsMHg3OSwweDg4LDB4ODQsMHhEMCwweDc3LDB4NDYsMHg4MSwweEU2LDB4RkYsMHgwMSwKLTB4RkYsMHgwNiwweEQ0LDB4NzksMHg4OSwweDM2LDB4RDAsMHg3OSwweDgxLDB4M0UsMHhENCwweDc5LDB4RkUsMHgwMSwweDc1LDB4MDgsCi0weDU2LDB4RTgsMHgxNCwweDAwLDB4NUUsMHhFQiwweEYxLDB4OTAsMHg1RSwweEMzLDB4QkEsMHgwMiwweDAyLDB4RUMsMHgyNCwweDAxLAotMHg3NCwweDA0LDB4QkEsMHgwNiwweDAyLDB4RUMsMHhDMywweDkwLDB4ODAsMHgzRSwweEY2LDB4NzksMHgwMCwweDc0LDB4MDksMHg2MCwKLTB4QjgsMHgwMSwweDAwLDB4RTgsMHgyQywweEVBLDB4NjEsMHg5MCwweEJBLDB4MDIsMHgwMiwweEVDLDB4QTgsMHgwNCwweDc0LDB4MjgsCi0weDhCLDB4MzYsMHhEMiwweDc5LDB4ODMsMHgzRSwweEQ0LDB4NzksMHgwMCwweDc0LDB4MUQsMHg4QSwweDg0LDB4RDAsMHg3NywweDQ2LAotMHg4MSwweEU2LDB4RkYsMHgwMSwweDg5LDB4MzYsMHhEMiwweDc5LDB4RkYsMHgwRSwweEQ0LDB4NzksMHhCQSwweDA2LDB4MDIsMHhFRSwKLTB4QkEsMHgwMiwweDAyLDB4RUMsMHhBOCwweDA0LDB4NzUsMHhEQywweEExLDB4RDQsMHg3OSwweEMzLDB4NTIsMHhCQSwweDA2LDB4MDIsCi0weEVFLDB4NUEsMHhDMywweDkwLDB4NTIsMHg1MCwweEJBLDB4MDIsMHgwMiwweEVDLDB4QTgsMHgwNCwweDc0LDB4MDgsMHg1OCwweDVBLAotMHhFOCwweEU5LDB4RkYsMHhGOSwweEMzLDB4OTAsMHg1OCwweDVBLDB4RjgsMHhDMywweDUyLDB4NTAsMHhCQSwweDAyLDB4MDIsMHhFQywKLTB4QTgsMHgwNCwweDc0LDB4RkIsMHg1OCwweDVBLDB4RTgsMHhEMywweEZGLDB4QzMsMHgzMCwweDMxLDB4MzIsMHgzMywweDM0LDB4MzUsCi0weDM2LDB4MzcsMHgzOCwweDM5LDB4NDEsMHg0MiwweDQzLDB4NDQsMHg0NSwweDQ2LDB4NTMsMHg1MCwweDhBLDB4RTAsMHg4MCwweEU0LAotMHgwRiwweEJCLDB4Q0EsMHg2MiwweEMwLDB4RTgsMHgwNCwweDJFLDB4RDcsMHhFOCwweENFLDB4RkYsMHg4QSwweEM0LDB4MkUsMHhENywKLTB4RTgsMHhDNywweEZGLDB4NTgsMHg1QiwweEMzLDB4ODYsMHhFMCwweEU4LDB4REYsMHhGRiwweDg2LDB4RTAsMHhFOCwweERBLDB4RkYsCi0weEMzLDB4OTAsMHhCRSwweEIyLDB4NEQsMHg1MCwweDJFLDB4QUMsMHgzQywweDAwLDB4NzQsMHgwNSwweEU4LDB4QUIsMHhGRiwweEVCLAotMHhGNSwweDU4LDB4QzMsMHg5MCwweEM4LDB4MDgsMHgwMCwweDAwLDB4NTYsMHg1NywweDhCLDB4NzYsMHgwNCwweEJGLDB4MDQsMHgwMCwKLTB4QzcsMHg0NiwweEZDLDB4MDAsMHgwMCwweEM3LDB4NDYsMHhGQSwweDAwLDB4MDAsMHhDNywweDQ2LDB4RjgsMHgwMCwweDAwLDB4ODMsCi0weDdFLDB4MDYsMHgwMCwweDc1LDB4MEUsMHg1NiwweEU4LDB4QjYsMHgwRSwweDU5LDB4MEIsMHhDMCwweDc1LDB4MDUsMHg4QiwweEM3LAotMHhFOSwweDVCLDB4MDEsMHg4QiwweDQ2LDB4RkMsMHg4OSwweDQ2LDB4RkUsMHgwQiwweEZGLDB4NzUsMHgwNSwweEI4LDB4MDEsMHgwMCwKLTB4RUIsMHgwMiwweDMzLDB4QzAsMHg1MCwweDU2LDB4RTgsMHhBNCwweDBELDB4NTksMHg1OSwweEI0LDB4MDAsMHg4OSwweDQ2LDB4RkMsCi0weDhCLDB4NUUsMHhGQywweDgzLDB4RkIsMHgwOCwweDc2LDB4MDMsMHhFOSwweDJCLDB4MDEsMHhEMSwweEUzLDB4MkUsMHhGRiwweEE3LAotMHhCMiwweDY0LDB4QjgsMHgwMywweDAwLDB4RTksMHgyNiwweDAxLDB4ODMsMHg3RSwweEZBLDB4MDAsMHg3NCwweDE0LDB4QzcsMHg0NiwKLTB4RkEsMHgwMCwweDAwLDB4OEEsMHg0NCwweDU4LDB4OTgsMHg1MCwweDhBLDB4NDQsMHg1OSwweDk4LDB4NTAsMHhFOCwweEMyLDB4MEYsCi0weDU5LDB4NTksMHg4MywweDdFLDB4RjgsMHgwMCwweDc0LDB4MEEsMHhDNywweDQ2LDB4RjgsMHgwMCwweDAwLDB4NTYsMHhFOCwweDlCLAotMHgwOCwweDU5LDB4ODMsMHg3RSwweDA2LDB4MDAsMHg3NSwweDA1LDB4OEIsMHhDNywweEU5LDB4RjEsMHgwMCwweDgzLDB4RkYsMHgwNCwKLTB4NzUsMHgwMywweEU5LDB4RTYsMHgwMCwweDhCLDB4QzcsMHhFOSwweEU0LDB4MDAsMHg4MywweDdFLDB4RkUsMHgwMCwweDc1LDB4MDMsCi0weEJGLDB4MDIsMHgwMCwweEU5LDB4RDUsMHgwMCwweDgzLDB4N0UsMHhGRSwweDAwLDB4NzUsMHgwMywweEJGLDB4MDEsMHgwMCwweEU5LAotMHhDOSwweDAwLDB4OEIsMHg1RSwweEZFLDB4ODMsMHhGQiwweDA3LDB4NzYsMHgwMywweEU5LDB4ODYsMHgwMCwweEQxLDB4RTMsMHgyRSwKLTB4RkYsMHhBNywweEEyLDB4NjQsMHgzMywweEZGLDB4RTksMHg3RiwweDAwLDB4QkYsMHgwNCwweDAwLDB4ODAsMHg3QywweDU4LDB4MEYsCi0weDc0LDB4MjIsMHg4MywweDdFLDB4RjgsMHgwMCwweDc1LDB4MUMsMHhGRSwweDQ0LDB4NTgsMHg2QSwweDA4LDB4NTYsMHhFOCwweDdFLAotMHgwQywweDU5LDB4NTksMHg4QSwweDQ0LDB4NTgsMHgwNCwweDgwLDB4NTAsMHg1NiwweEU4LDB4NzIsMHgwQywweDU5LDB4NTksMHhDNywKLTB4NDYsMHhGQSwweDAxLDB4MDAsMHg4MywweDdFLDB4RjgsMHgwMCwweDc0LDB4MEEsMHhDNywweDQ2LDB4RjgsMHgwMCwweDAwLDB4NTYsCi0weEU4LDB4MTksMHgwOCwweDU5LDB4RUIsMHg0MiwweEJGLDB4MDQsMHgwMCwweDgwLDB4N0MsMHg1OCwweDAwLDB4NzQsMHgyMiwweDgzLAotMHg3RSwweEY4LDB4MDAsMHg3NSwweDFDLDB4RkUsMHg0QywweDU4LDB4NkEsMHgwOCwweDU2LDB4RTgsMHg0MSwweDBDLDB4NTksMHg1OSwKLTB4OEEsMHg0NCwweDU4LDB4MDQsMHg4MCwweDUwLDB4NTYsMHhFOCwweDM1LDB4MEMsMHg1OSwweDU5LDB4QzcsMHg0NiwweEZBLDB4MDEsCi0weDAwLDB4ODMsMHg3RSwweEY4LDB4MDAsMHg3NCwweDBBLDB4QzcsMHg0NiwweEY4LDB4MDAsMHgwMCwweDU2LDB4RTgsMHhEQywweDA3LAotMHg1OSwweEVCLDB4MDUsMHhCRiwweDA0LDB4MDAsMHhFQiwweDAwLDB4RUIsMHgzMSwweEJGLDB4MDQsMHgwMCwweEVCLDB4MkMsMHhDNywKLTB4NDYsMHhGOCwweDAxLDB4MDAsMHg2QSwweDA4LDB4NTYsMHhFOCwweDA1LDB4MEMsMHg1OSwweDU5LDB4ODAsMHg3QywweDU4LDB4MDksCi0weDdELDB4MDQsMHhCMCwweDBGLDB4RUIsMHgwMiwweEIwLDB4MDAsMHgwNCwweDgwLDB4NTAsMHg1NiwweEU4LDB4RjAsMHgwQiwweDU5LAotMHg1OSwweEJGLDB4MDQsMHgwMCwweEVCLDB4MDUsMHhCRiwweDA0LDB4MDAsMHhFQiwweDAwLDB4RTksMHhBNSwweEZFLDB4NUYsMHg1RSwKLTB4QzksMHhDMywweEU0LDB4NjMsMHg2MywweDY0LDB4NjMsMHg2NCwweDYzLDB4NjQsMHg2MywweDY0LDB4RTksMHg2MywweDI2LDB4NjQsCi0weDUxLDB4NjQsMHg3OCwweDYzLDB4QkEsMHg2MywweEM2LDB4NjMsMHg5NiwweDY0LDB4RDIsMHg2MywweDZBLDB4NjQsMHg2QSwweDY0LAotMHg2RiwweDY0LDB4NzIsMHg2MywweEM4LDB4MDgsMHgwMCwweDAwLDB4NTYsMHg1NywweDhCLDB4NzYsMHgwNCwweDhCLDB4N0UsMHgwOCwKLTB4NkEsMHgwMSwweDU2LDB4RTgsMHhBOSwweDBCLDB4NTksMHg1OSwweDhBLDB4NDYsMHgwNiwweEMwLDB4RTAsMHgwNiwweDA0LDB4ODAsCi0weDUwLDB4NTYsMHhFOCwweDlBLDB4MEIsMHg1OSwweDU5LDB4QzcsMHg0NiwweEZFLDB4MDAsMHgwMCwweDg5LDB4N0UsMHhGOCwweEVCLAotMHgwMywweEZGLDB4NDYsMHhGRSwweDhCLDB4NUUsMHhGOCwweEZGLDB4NDYsMHhGOCwweDgwLDB4M0YsMHgwMCwweDc1LDB4RjIsMHg4MywKLTB4N0UsMHhGRSwweDEwLDB4N0QsMHgyNSwweEI4LDB4MTAsMHgwMCwweDJCLDB4NDYsMHhGRSwweEQxLDB4RjgsMHg4OSwweDQ2LDB4RkMsCi0weEM3LDB4NDYsMHhGQSwweDAwLDB4MDAsMHhFQiwweDBCLDB4NkEsMHgyMCwweDU2LDB4RTgsMHg2MiwweDBCLDB4NTksMHg1OSwweEZGLAotMHg0NiwweEZBLDB4OEIsMHg0NiwweEZBLDB4M0IsMHg0NiwweEZDLDB4N0MsMHhFRCwweEVCLDB4MEMsMHg4QiwweERGLDB4NDcsMHg4QSwKLTB4MDcsMHg1MCwweDU2LDB4RTgsMHg0OSwweDBCLDB4NTksMHg1OSwweDgwLDB4M0QsMHgwMCwweDc1LDB4RUYsMHg2QSwweDAyLDB4NTYsCi0weEU4LDB4M0MsMHgwQiwweDU5LDB4NTksMHhFQiwweDAwLDB4NUYsMHg1RSwweEM5LDB4QzMsMHhDOCwweDA0LDB4MDAsMHgwMCwweDU2LAotMHg1NywweDhCLDB4N0UsMHgwNCwweEM3LDB4NDYsMHhGRSwweDAwLDB4MDAsMHhCRSwweDE0LDB4MDAsMHhFOSwweDA5LDB4MDEsMHg4QiwKLTB4NUUsMHhGRSwweDgzLDB4QzMsMHgwNCwweDJCLDB4REYsMHg4QSwweDg3LDB4QUMsMHgwQiwweDg4LDB4NDQsMHg1QSwweEM2LDB4NDQsCi0weDU4LDB4MDgsMHg4QSwweDQ2LDB4RkUsMHg4OCwweDQ0LDB4NTksMHhDNywweDQ0LDB4MDYsMHgwMCwweDAwLDB4QzYsMHg0NCwweDE5LAotMHgwMCwweEM2LDB4NDQsMHgxQSwweDAwLDB4QzYsMHg0NCwweDFCLDB4MDAsMHhDNiwweDQ0LDB4MUQsMHgwRCwweEM2LDB4NDQsMHgxRSwKLTB4MDMsMHhDNiwweDQ0LDB4MUYsMHgwMCwweEM2LDB4NDQsMHgyMCwweDAwLDB4QzYsMHg0NCwweDIxLDB4MDAsMHhDNiwweDQ0LDB4NUIsCi0weDAwLDB4QzYsMHg0NCwweDVELDB4MDAsMHhDNiwweDQ0LDB4NUUsMHgwMCwweEM2LDB4NDQsMHg1RiwweDAwLDB4QzYsMHg0NCwweDYwLAotMHgwMCwweEM3LDB4NDYsMHhGQywweDAwLDB4MDAsMHhFQiwweDBELDB4OEIsMHg1RSwweEZDLDB4RDEsMHhFMywweEM3LDB4NDAsMHgzMCwKLTB4MDAsMHgwMCwweEZGLDB4NDYsMHhGQywweDgzLDB4N0UsMHhGQywweDEwLDB4N0MsMHhFRCwweEM3LDB4NDYsMHhGQywweDAwLDB4MDAsCi0weEVCLDB4MEEsMHg4QiwweDVFLDB4RkMsMHhDNiwweDQwLDB4NTAsMHgwMCwweEZGLDB4NDYsMHhGQywweDgzLDB4N0UsMHhGQywweDA0LAotMHg3QywweEYwLDB4QzcsMHg0NCwweDU0LDB4MDAsMHgwMCwweEM3LDB4NDQsMHg1NiwweDAwLDB4MDAsMHg4QSwweDQ0LDB4NUEsMHg5OCwKLTB4QkEsMHhGOCwweDAwLDB4MjMsMHhEMCwweEI4LDB4MDUsMHgwMCwweDBCLDB4QzIsMHg4OSwweDQ2LDB4RkMsMHg5QywweEZBLDB4OEEsCi0weDQ2LDB4RkMsMHhCQSwweEZFLDB4MDAsMHhFRSwweEJBLDB4MDAsMHgwMCwweEVDLDB4OUQsMHgyNCwweDA4LDB4ODgsMHg0NiwweEZDLAotMHg4MywweDdFLDB4RkMsMHgwMCwweDc1LDB4MDIsMHhFQiwweDRBLDB4RkYsMHg3NiwweEZFLDB4RTgsMHg3QSwweDBDLDB4NTksMHg2OCwKLTB4MzUsMHgwMiwweDU2LDB4RTgsMHgzMiwweDBBLDB4NTksMHg1OSwweDBCLDB4QzAsMHg3NSwweDM0LDB4NjgsMHgzOCwweDAyLDB4NTYsCi0weEU4LDB4MjUsMHgwQSwweDU5LDB4NTksMHgwQiwweEMwLDB4NzUsMHgyNywweDY4LDB4NDIsMHgwMiwweDU2LDB4RTgsMHgxOCwweDBBLAotMHg1OSwweDU5LDB4MEIsMHhDMCwweDc1LDB4MUEsMHg2OCwweDRDLDB4MDIsMHg1NiwweEU4LDB4MEIsMHgwQSwweDU5LDB4NTksMHgwQiwKLTB4QzAsMHg3NSwweDBELDB4NjgsMHg1NiwweDAyLDB4NTYsMHhFOCwweEZFLDB4MDksMHg1OSwweDU5LDB4MEIsMHhDMCwweDc0LDB4MDIsCi0weEVCLDB4MDAsMHhGRiwweDQ2LDB4RkUsMHg4MywweEM2LDB4NjIsMHgzOSwweDdFLDB4RkUsMHg3RCwweDAzLDB4RTksMHhFRiwweEZFLAotMHhFQiwweDAwLDB4NUYsMHg1RSwweEM5LDB4QzMsMHhDOCwweDA4LDB4MDAsMHgwMCwweDU2LDB4NTcsMHg4QiwweDQ2LDB4MDQsMHhCQSwKLTB4NjIsMHgwMCwweEY3LDB4RUEsMHgwNSwweDE0LDB4MDAsMHg4QiwweEYwLDB4ODMsMHg3RSwweDA2LDB4MDAsMHg3NCwweDA1LDB4QjgsCi0weDEwLDB4MDAsMHhFQiwweDAzLDB4QjgsMHgwOCwweDAwLDB4ODksMHg0NCwweDA0LDB4OEEsMHg0NiwweDA4LDB4ODgsMHg0NCwweDVDLAotMHg1NiwweEU4LDB4NTksMHgwNCwweDU5LDB4OEIsMHhGOCwweDhCLDB4QzcsMHg4OSwweDQ0LDB4NTYsMHg4OSwweDQ0LDB4NTQsMHg4QSwKLTB4NDQsMHg1RCwweDg4LDB4NDQsMHgyRiwweDBCLDB4RkYsMHg3NSwweDFELDB4NjgsMHhDMiwweDBGLDB4NkEsMHgwMSwweDU2LDB4RTgsCi0weDAyLDB4RkUsMHg4MywweEM0LDB4MDYsMHhFQiwweDAwLDB4NkEsMHgwMSwweDU2LDB4RTgsMHg0NywweEZDLDB4NTksMHg1OSwweDBCLAotMHhDMCwweDc1LDB4RjQsMHhCRiwweDAxLDB4MDAsMHg4OSwweDdFLDB4RkEsMHhCOSwweDA1LDB4MDAsMHhCQiwweEU5LDB4NkEsMHgyRSwKLTB4OEIsMHgwNywweDNCLDB4NDYsMHhGQSwweDc0LDB4MDcsMHg0MywweDQzLDB4RTIsMHhGNCwweEU5LDB4QTQsMHgwMywweDJFLDB4RkYsCi0weDY3LDB4MEEsMHhDNywweDQ0LDB4MDYsMHgwMiwweDAwLDB4QzcsMHg0NCwweDA4LDB4RjQsMHgwOCwweDhCLDB4NUUsMHgwNCwweEQxLAotMHhFMywweDhCLDB4ODcsMHhGQywweDA4LDB4ODksMHg0NCwweDBBLDB4MzMsMHhDMCwweDhCLDB4RjgsMHg4OSwweDQ0LDB4NTQsMHhFOSwKLTB4ODAsMHgwMywweDU2LDB4RTgsMHhCQiwweDA1LDB4NTksMHhCRiwweDAxLDB4MDAsMHg4QSwweDQ0LDB4NUQsMHg4OCwweDQ0LDB4NjAsCi0weEU5LDB4NkYsMHgwMywweDgzLDB4N0MsMHgwNCwweDA4LDB4NzUsMHgzMCwweDgwLDB4N0MsMHg1QywweDAxLDB4NzUsMHgxNSwweDhBLAotMHg0NCwweDVELDB4QjQsMHgwMCwweEQxLDB4RTAsMHg4QiwweEQ4LDB4RkYsMHhCNywweEU0LDB4MDgsMHg1NiwweEU4LDB4RjcsMHgwOCwKLTB4NTksMHg1OSwweEVCLDB4MTMsMHg4QSwweDQ0LDB4NUQsMHhCNCwweDAwLDB4RDEsMHhFMCwweDhCLDB4RDgsMHhGRiwweEI3LDB4QzQsCi0weDA4LDB4NTYsMHhFOCwweEUyLDB4MDgsMHg1OSwweDU5LDB4RUIsMHgyRSwweDgwLDB4N0MsMHg1QywweDAxLDB4NzUsMHgxNSwweDhBLAotMHg0NCwweDVELDB4QjQsMHgwMCwweEQxLDB4RTAsMHg4QiwweEQ4LDB4RkYsMHhCNywweEQ0LDB4MDgsMHg1NiwweEU4LDB4QzcsMHgwOCwKLTB4NTksMHg1OSwweEVCLDB4MTMsMHg4QSwweDQ0LDB4NUQsMHhCNCwweDAwLDB4RDEsMHhFMCwweDhCLDB4RDgsMHhGRiwweEI3LDB4QjQsCi0weDA4LDB4NTYsMHhFOCwweEIyLDB4MDgsMHg1OSwweDU5LDB4NkEsMHgwMSwweDU2LDB4RTgsMHg4NywweEZCLDB4NTksMHg1OSwweDhCLAotMHhEOCwweDgzLDB4RkIsMHgwMywweDc3LDB4MkEsMHhEMSwweEUzLDB4MkUsMHhGRiwweEE3LDB4RTEsMHg2QSwweEJGLDB4MDEsMHgwMCwKLTB4OEEsMHg0NCwweDVELDB4ODgsMHg0NCwweDVFLDB4RUIsMHgxOCwweDhBLDB4NDQsMHg1RCwweDA0LDB4RkYsMHgyNCwweDA3LDB4ODgsCi0weDQ0LDB4NUQsMHhFQiwweDBDLDB4OEEsMHg0NCwweDVELDB4RkUsMHhDMCwweDI0LDB4MDcsMHg4OCwweDQ0LDB4NUQsMHhFQiwweDAwLAotMHhFOSwweENGLDB4MDIsMHg4QSwweDQ0LDB4NUQsMHhCNCwweDAwLDB4RDEsMHhFMCwweDhCLDB4RDgsMHhGRiwweEI3LDB4RkQsMHgwMiwKLTB4NTYsMHhFOCwweDYzLDB4MDgsMHg1OSwweDU5LDB4NjgsMHgxRCwweDAzLDB4NTYsMHhFOCwweDVBLDB4MDgsMHg1OSwweDU5LDB4NkEsCi0weDAxLDB4NTYsMHhFOCwweDJGLDB4RkIsMHg1OSwweDU5LDB4OEIsMHhEOCwweDgzLDB4RkIsMHgwMywweDc3LDB4MzYsMHhEMSwweEUzLAotMHgyRSwweEZGLDB4QTcsMHhEOSwweDZBLDB4QkYsMHgwMSwweDAwLDB4OEEsMHg0NCwweDVELDB4ODgsMHg0NCwweDVGLDB4RUIsMHgyNCwKLTB4OEEsMHg0NCwweDVELDB4MDQsMHhGRiwweDhBLDB4NTQsMHgwNCwweDgwLDB4QzIsMHhGRiwweDIyLDB4QzIsMHg4OCwweDQ0LDB4NUQsCi0weEVCLDB4MTIsMHg4QSwweDQ0LDB4NUQsMHhGRSwweEMwLDB4OEEsMHg1NCwweDA0LDB4ODAsMHhDMiwweEZGLDB4MjIsMHhDMiwweDg4LAotMHg0NCwweDVELDB4RUIsMHgwMCwweEU5LDB4NkIsMHgwMiwweDhCLDB4NUMsMHgwNiwweDgzLDB4QzMsMHhGRSwweEQxLDB4RTMsMHg4QiwKLTB4NDAsMHgwOCwweDg5LDB4MDQsMHg4QiwweDFDLDB4RkYsMHg3NywweDA2LDB4NkEsMHgwMCwweDU2LDB4RTgsMHg4NSwweEZDLDB4ODMsCi0weEM0LDB4MDYsMHg4QiwweDVDLDB4MDYsMHg0QiwweEQxLDB4RTMsMHg4QiwweDQwLDB4MDgsMHg4OSwweDQ0LDB4MDIsMHg4QiwweDVDLAotMHgwMiwweEZGLDB4NzcsMHgwNiwweDZBLDB4MDEsMHg1NiwweEU4LDB4NkEsMHhGQywweDgzLDB4QzQsMHgwNiwweDZBLDB4MDEsMHg1NiwKLTB4RTgsMHhCMSwweEZBLDB4NTksMHg1OSwweDhCLDB4RDgsMHg4MywweEZCLDB4MDMsMHg3NiwweDAzLDB4RTksMHgxRiwweDAyLDB4RDEsCi0weEUzLDB4MkUsMHhGRiwweEE3LDB4RDEsMHg2QSwweDhCLDB4NUMsMHgwMiwweDhCLDB4NDcsMHgwNCwweDg5LDB4NDQsMHgwMiwweDhCLAotMHg1QywweDAyLDB4ODAsMHgzRiwweDQ0LDB4NzUsMHgwRCwweDhCLDB4NUMsMHgwMiwweDhBLDB4NDcsMHgwMSwweEI0LDB4MDAsMHgzQiwKLTB4NDQsMHgwNCwweDdELDB4RTIsMHg4QiwweDQ2LDB4MDQsMHhEMSwweEUwLDB4OEIsMHgxQywweDAzLDB4RDgsMHg4QiwweDQ0LDB4MDIsCi0weDg5LDB4NDcsMHgwOCwweDhCLDB4NUMsMHgwNiwweDRCLDB4RDEsMHhFMywweDhCLDB4NDQsMHgwMiwweDg5LDB4NDAsMHgwOCwweEU5LAotMHhERSwweDAxLDB4OEIsMHg1QywweDAyLDB4OEIsMHg0NywweDAyLDB4ODksMHg0NCwweDAyLDB4OEIsMHg1QywweDAyLDB4ODAsMHgzRiwKLTB4NDQsMHg3NSwweDBELDB4OEIsMHg1QywweDAyLDB4OEEsMHg0NywweDAxLDB4QjQsMHgwMCwweDNCLDB4NDQsMHgwNCwweDdELDB4RTIsCi0weDhCLDB4NDYsMHgwNCwweEQxLDB4RTAsMHg4QiwweDFDLDB4MDMsMHhEOCwweDhCLDB4NDQsMHgwMiwweDg5LDB4NDcsMHgwOCwweDhCLAotMHg1QywweDA2LDB4NEIsMHhEMSwweEUzLDB4OEIsMHg0NCwweDAyLDB4ODksMHg0MCwweDA4LDB4RTksMHhBMiwweDAxLDB4QkYsMHgwMSwKLTB4MDAsMHhFOSwweDlDLDB4MDEsMHg4QiwweDVDLDB4MDIsMHg4QSwweDA3LDB4QjQsMHgwMCwweDg5LDB4NDYsMHhGOCwweEI5LDB4MEMsCi0weDAwLDB4QkIsMHhBMSwweDZBLDB4MkUsMHg4QiwweDA3LDB4M0IsMHg0NiwweEY4LDB4NzQsMHgwNywweDQzLDB4NDMsMHhFMiwweEY0LAotMHhFOSwweDc3LDB4MDEsMHgyRSwweEZGLDB4NjcsMHgxOCwweDhCLDB4NDYsMHgwNCwweEQxLDB4RTAsMHg4QiwweDVDLDB4MDIsMHgwMywKLTB4RDgsMHg4QiwweDQ3LDB4MDgsMHg4QiwweDVDLDB4MDYsMHhGRiwweDQ0LDB4MDYsMHhEMSwweEUzLDB4ODksMHg0MCwweDA4LDB4OEIsCi0weDFDLDB4ODAsMHg3RiwweDAxLDB4MDAsMHg3NCwweDEyLDB4OEIsMHg1QywweDAyLDB4OEEsMHg0NywweDAxLDB4OEIsMHgxQywweDhBLAotMHg1NywweDAxLDB4QjYsMHgwMCwweDhCLDB4REEsMHg4OCwweDQwLDB4MTgsMHhFOSwweDQwLDB4MDEsMHhGRiwweDRDLDB4MDYsMHhFOSwKLTB4M0EsMHgwMSwweDhCLDB4NUMsMHgwMiwweDhBLDB4NDcsMHgwMSwweDhCLDB4MUMsMHg4QSwweDU3LDB4MDEsMHhCNiwweDAwLDB4OEIsCi0weERBLDB4ODgsMHg0MCwweDE4LDB4RTksMHgyNSwweDAxLDB4OEIsMHg1QywweDAyLDB4OEEsMHg0NywweDAxLDB4OEIsMHgxQywweDhBLAotMHg1NywweDAxLDB4QjYsMHgwMCwweDhCLDB4REEsMHg4OCwweDQwLDB4MTgsMHhGRiwweDRDLDB4MDYsMHhFOSwweDBELDB4MDEsMHg4QiwKLTB4NUMsMHgwMiwweDhBLDB4NDcsMHgwMSwweDhCLDB4MUMsMHg4QSwweDU3LDB4MDEsMHhCNiwweDAwLDB4OEIsMHhEQSwweDMwLDB4NDAsCi0weDE4LDB4RTksMHhGOCwweDAwLDB4QjgsMHhGMCwweDEwLDB4OEIsMHhGOCwweDg5LDB4NDQsMHg1NCwweDhBLDB4NDQsMHg1RiwweDg4LAotMHg0NCwweDVELDB4RTksMHhFNywweDAwLDB4OEEsMHg0NCwweDFDLDB4OTgsMHgzRCwweDAyLDB4MDAsMHg3NCwweDA3LDB4M0QsMHgwMywKLTB4MDAsMHg3NCwweDAyLDB4RUIsMHgwNywweEM3LDB4NDYsMHhGRSwweDAwLDB4MDAsMHhFQiwweDJCLDB4OEEsMHg0NCwweDFDLDB4OTgsCi0weEQxLDB4RTAsMHg4QiwweEQ4LDB4RkYsMHhCNywweDY5LDB4MDIsMHg1NiwweEU4LDB4NkIsMHgwNiwweDU5LDB4NTksMHg2QSwweDAxLAotMHg1NiwweEU4LDB4NDAsMHhGOSwweDU5LDB4NTksMHg4OSwweDQ2LDB4RkUsMHg4MywweDdFLDB4RkUsMHgwMCwweDc0LDB4MDYsMHg4MywKLTB4N0UsMHhGRSwweDAzLDB4NzUsMHhFOSwweEVCLDB4MDAsMHg4MywweDdFLDB4RkUsMHgwMywweDc0LDB4NjIsMHg4QSwweDQ0LDB4MUMsCi0weDk4LDB4RDEsMHhFMCwweDhCLDB4RDgsMHhGRiwweEI3LDB4NkQsMHgwMiwweDU2LDB4RTgsMHgzQSwweDA2LDB4NTksMHg1OSwweDU2LAotMHhFOCwweDRELDB4OTcsMHg1OSwweDg5LDB4NDYsMHhGQywweDhCLDB4NUUsMHhGQywweDgzLDB4RUIsMHhGRSwweDgzLDB4RkIsMHgwMywKLTB4NzcsMHgzMywweEQxLDB4RTMsMHgyRSwweEZGLDB4QTcsMHg5OSwweDZBLDB4NjgsMHhBQywweDAyLDB4NTYsMHhFOCwweDE3LDB4MDYsCi0weDU5LDB4NTksMHhFQiwweDIzLDB4NjgsMHg4RiwweDAyLDB4NTYsMHhFOCwweDBDLDB4MDYsMHg1OSwweDU5LDB4RUIsMHgxOCwweDY4LAotMHg3NSwweDAyLDB4NTYsMHhFOCwweDAxLDB4MDYsMHg1OSwweDU5LDB4RUIsMHgwRCwweDY4LDB4QzYsMHgwMiwweDU2LDB4RTgsMHhGNiwKLTB4MDUsMHg1OSwweDU5LDB4RUIsMHgwMiwweEVCLDB4MDAsMHg2QSwweDAxLDB4NTYsMHhFOCwweEM3LDB4RjgsMHg1OSwweDU5LDB4QkYsCi0weDAxLDB4MDAsMHhFQiwweDM4LDB4NjgsMHhERCwweDAyLDB4NTYsMHhFOCwweERDLDB4MDUsMHg1OSwweDU5LDB4NkEsMHgwMSwweDU2LAotMHhFOCwweEIxLDB4RjgsMHg1OSwweDU5LDB4QkYsMHgwMSwweDAwLDB4RUIsMHgyMiwweEI4LDB4RDAsMHgzMCwweDhCLDB4RjgsMHg4OSwKLTB4NDQsMHg1NCwweDhBLDB4NDQsMHg2MCwweDg4LDB4NDQsMHg1RCwweEVCLDB4MTIsMHhCOCwweEUwLDB4MjAsMHg4QiwweEY4LDB4ODksCi0weDQ0LDB4NTQsMHg4QSwweDQ0LDB4NUUsMHg4OCwweDQ0LDB4NUQsMHhFQiwweDAyLDB4RUIsMHgwMCwweEVCLDB4MDIsMHhFQiwweDAwLAotMHhFQiwweDAwLDB4RTksMHg0MSwweEZDLDB4NUYsMHg1RSwweEM5LDB4QzMsMHgxOSwweDZBLDB4MjQsMHg2QSwweDJGLDB4NkEsMHgzQSwKLTB4NkEsMHgwMCwweDAwLDB4MDEsMHgwMCwweDAyLDB4MDAsMHgwNCwweDAwLDB4NDEsMHgwMCwweDQyLDB4MDAsMHg0MywweDAwLDB4NDQsCi0weDAwLDB4ODAsMHgwMCwweDgxLDB4MDAsMHg4MiwweDAwLDB4RkYsMHgwMCwweDE3LDB4NjksMHg1NCwweDZBLDB4N0EsMHg2QSwweEE1LAotMHg2OSwweDUyLDB4NjksMHg5NCwweDY5LDB4NkEsMHg2QSwweDY3LDB4NjksMHg1MiwweDY5LDB4N0YsMHg2OSwweDY3LDB4NjksMHg0QywKLTB4NjksMHhGNCwweDY4LDB4NzYsMHg2OCwweEIyLDB4NjgsMHhFRSwweDY4LDB4RjUsMHg2NywweDAwLDB4NjgsMHgxMiwweDY4LDB4RjUsCi0weDY3LDB4OUQsMHg2NywweEE4LDB4NjcsMHhCNCwweDY3LDB4OUQsMHg2NywweDAwLDB4MDAsMHgwMSwweDAwLDB4RjAsMHgxMCwweEUwLAotMHgyMCwweEQwLDB4MzAsMHgyNywweDY4LDB4RjIsMHg2NiwweEMzLDB4NjcsMHgyMywweDY3LDB4MTIsMHg2NywweEM4LDB4MDQsMHgwMCwKLTB4MDAsMHg1NiwweDU3LDB4OEIsMHg3NiwweDA0LDB4OEEsMHg0NCwweDU5LDB4OTgsMHg4OSwweDQ2LDB4RkMsMHg2QSwweDA5LDB4OEIsCi0weDQ2LDB4RkMsMHgwNSwweDg0LDB4MDEsMHg1MCwweEU4LDB4OTMsMHgwOCwweDU5LDB4NTksMHg4QiwweEY4LDB4OEIsMHhDNywweDI1LAotMHgwMCwweEYwLDB4M0QsMHgwMCwweDEwLDB4NzUsMHg1NSwweDhCLDB4QzcsMHgyNSwweEYwLDB4MDAsMHgzRCwweEYwLDB4MDAsMHg3NSwKLTB4NEIsMHg4QiwweEM3LDB4MjUsMHgwMCwweDBGLDB4QzEsMHhGOCwweDA4LDB4ODksMHg0NiwweEZFLDB4OEIsMHg0NCwweDA0LDB4M0IsCi0weDQ2LDB4RkUsMHg3RCwweDA1LDB4MzMsMHhDMCwweEU5LDB4RUYsMHgwMCwweDhCLDB4QzcsMHgyNSwweDBGLDB4MDAsMHhCQSwweDBGLAotMHgwMCwweDJCLDB4RDAsMHgzQiwweDU2LDB4RkUsMHg3NCwweDA1LDB4MzMsMHhDMCwweEU5LDB4REIsMHgwMCwweEM3LDB4NDQsMHgwMiwKLTB4MDQsMHgwOSwweDhBLDB4NDYsMHhGRSwweDg4LDB4NDQsMHg1RiwweDg4LDB4NDQsMHg1RCwweDhCLDB4NUUsMHhGQywweEQxLDB4RTMsCi0weEM3LDB4ODcsMHhGQywweDA4LDB4MDQsMHgwOSwweEI4LDB4RjAsMHgxMCwweEU5LDB4QkMsMHgwMCwweDhCLDB4QzcsMHgyNSwweDAwLAotMHhGMCwweDNELDB4MDAsMHgyMCwweDc1LDB4NTIsMHg4QiwweEM3LDB4MjUsMHhGMCwweDAwLDB4M0QsMHhFMCwweDAwLDB4NzUsMHg0OCwKLTB4OEIsMHhDNywweDI1LDB4MDAsMHgwRiwweEMxLDB4RjgsMHgwOCwweDg5LDB4NDYsMHhGRSwweDgzLDB4N0UsMHhGRSwweDA4LDB4N0UsCi0weDA1LDB4MzMsMHhDMCwweEU5LDB4OTIsMHgwMCwweDhCLDB4QzcsMHgyNSwweDBGLDB4MDAsMHhCQSwweDBGLDB4MDAsMHgyQiwweEQwLAotMHgzQiwweDU2LDB4RkUsMHg3NCwweDA1LDB4MzMsMHhDMCwweEVCLDB4N0YsMHg5MCwweEM3LDB4NDQsMHgwMiwweDBDLDB4MDksMHg4QSwKLTB4NDYsMHhGRSwweDg4LDB4NDQsMHg1RSwweDg4LDB4NDQsMHg1RCwweDhCLDB4NUUsMHhGQywweEQxLDB4RTMsMHhDNywweDg3LDB4RkMsCi0weDA4LDB4MEMsMHgwOSwweEI4LDB4RTAsMHgyMCwweEVCLDB4NjAsMHg4QiwweEM3LDB4MjUsMHgwMCwweEYwLDB4M0QsMHgwMCwweDMwLAotMHg3NSwweDUyLDB4OEIsMHhDNywweDI1LDB4RjAsMHgwMCwweDNELDB4RDAsMHgwMCwweDc1LDB4NDgsMHg4QiwweEM3LDB4MjUsMHgwMCwKLTB4MEYsMHhDMSwweEY4LDB4MDgsMHg4OSwweDQ2LDB4RkUsMHg4QiwweDQ0LDB4MDQsMHgzQiwweDQ2LDB4RkUsMHg3RCwweDA0LDB4MzMsCi0weEMwLDB4RUIsMHgzNSwweDhCLDB4QzcsMHgyNSwweDBGLDB4MDAsMHhCQSwweDBGLDB4MDAsMHgyQiwweEQwLDB4M0IsMHg1NiwweEZFLAotMHg3NCwweDA0LDB4MzMsMHhDMCwweEVCLDB4MjIsMHhDNywweDQ0LDB4MDIsMHgxNCwweDA5LDB4OEEsMHg0NiwweEZFLDB4ODgsMHg0NCwKLTB4NjAsMHg4OCwweDQ0LDB4NUQsMHg4QiwweDVFLDB4RkMsMHhEMSwweEUzLDB4QzcsMHg4NywweEZDLDB4MDgsMHgxNCwweDA5LDB4QjgsCi0weEQwLDB4MzAsMHhFQiwweDA0LDB4MzMsMHhDMCwweEVCLDB4MDAsMHg1RiwweDVFLDB4QzksMHhDMywweEM4LDB4MDYsMHgwMCwweDAwLAotMHg1NiwweDhCLDB4NzYsMHgwNCwweDZBLDB4MDgsMHg1NiwweEU4LDB4MzUsMHgwNCwweDU5LDB4NTksMHg4QSwweDQ0LDB4NTgsMHgwNCwKLTB4ODAsMHg1MCwweDU2LDB4RTgsMHgyOSwweDA0LDB4NTksMHg1OSwweDhCLDB4NDQsMHg1NCwweDNCLDB4NDQsMHg1NiwweDc1LDB4MEEsCi0weDhBLDB4NDQsMHg1RCwweDNBLDB4NDQsMHgyRiwweDc1LDB4MDIsMHhFQiwweDY0LDB4OEIsMHg0NCwweDU0LDB4ODksMHg0NCwweDU2LAotMHg4QiwweDVDLDB4MDIsMHg4QSwweDQ3LDB4MDEsMHg4OCwweDQ0LDB4MkYsMHg4QSwweDQ0LDB4NUQsMHhCNCwweDAwLDB4QzEsMHhFMCwKLTB4MDgsMHg4QiwweDU0LDB4NTQsMHgwQiwweEQwLDB4OEEsMHg0NCwweDVELDB4QjQsMHgwMCwweEJCLDB4MEYsMHgwMCwweDJCLDB4RDgsCi0weDBCLDB4RDMsMHg4OSwweDU2LDB4RkUsMHg2QSwweDEwLDB4OEEsMHg0NCwweDU5LDB4OTgsMHgwNSwweDA0LDB4MDAsMHg5OSwweDA1LAotMHg0MCwweDAxLDB4ODMsMHhEMiwweDAwLDB4NTIsMHg1MCwweEU4LDB4NTQsMHgwOCwweDgzLDB4QzQsMHgwNiwweDg5LDB4NTYsMHhGQywKLTB4ODksMHg0NiwweEZBLDB4OEIsMHg0NiwweEZFLDB4MDksMHg0NiwweEZBLDB4ODMsMHg0RSwweEZDLDB4MDAsMHg2QSwweDE5LDB4RkYsCi0weDc2LDB4RkMsMHhGRiwweDc2LDB4RkEsMHhFOCwweDczLDB4MDcsMHg4MywweEM0LDB4MDYsMHhFOCwweEZFLDB4MDcsMHg1RSwweEM5LAotMHhDMywweEM4LDB4MUMsMHgwMCwweDAwLDB4NTYsMHg1NywweDhCLDB4NUUsMHgwNCwweDhBLDB4NDcsMHg1OSwweDk4LDB4OEIsMHhGMCwKLTB4OEIsMHg1RSwweDA0LDB4OEEsMHg0NywweDVELDB4QjQsMHgwMCwweDg5LDB4NDYsMHhFNiwweDgzLDB4N0UsMHhFNiwweDAwLDB4N0QsCi0weDBBLDB4OEIsMHg1RSwweDA0LDB4OEIsMHg0NywweDA0LDB4NDgsMHg4OSwweDQ2LDB4RTYsMHg4QiwweDVFLDB4MDQsMHg4QiwweDQ3LAotMHgwNCwweDNCLDB4NDYsMHhFNiwweDdGLDB4MDUsMHhDNywweDQ2LDB4RTYsMHgwMCwweDAwLDB4OEIsMHg1RSwweDA0LDB4OEEsMHg0NiwKLTB4RTYsMHg4OCwweDQ3LDB4NUQsMHg4QiwweERFLDB4RDEsMHhFMywweDhCLDB4OUYsMHg1OSwweDAyLDB4QzYsMHg0NywweDAyLDB4MjAsCi0weDhCLDB4REUsMHhEMSwweEUzLDB4OEIsMHg5RiwweDU5LDB4MDIsMHhDNiwweDQ3LDB4MDMsMHgzMCwweDhCLDB4REUsMHhEMSwweEUzLAotMHg4QiwweDlGLDB4NjEsMHgwMiwweEM2LDB4NDcsMHgwMiwweDIwLDB4OEIsMHhERSwweEQxLDB4RTMsMHg4QiwweDlGLDB4NjEsMHgwMiwKLTB4QzYsMHg0NywweDAzLDB4MzAsMHg4QiwweDQ2LDB4RTYsMHg4OSwweDQ2LDB4RkEsMHg4MywweDdFLDB4RkEsMHgwMCwweDc0LDB4MTgsCi0weDhCLDB4NDYsMHhGQSwweEJCLDB4MEEsMHgwMCwweDMzLDB4RDIsMHhGNywweEYzLDB4ODAsMHhDMiwweDMwLDB4OEIsMHhERSwweEQxLAotMHhFMywweDhCLDB4OUYsMHg1OSwweDAyLDB4ODgsMHg1NywweDAzLDB4QkIsMHgwQSwweDAwLDB4OEIsMHg0NiwweEZBLDB4MzMsMHhEMiwKLTB4RjcsMHhGMywweDg5LDB4NDYsMHhGQSwweDgzLDB4N0UsMHhGQSwweDAwLDB4NzQsMHgxOCwweDhCLDB4NDYsMHhGQSwweEJCLDB4MEEsCi0weDAwLDB4MzMsMHhEMiwweEY3LDB4RjMsMHg4MCwweEMyLDB4MzAsMHg4QiwweERFLDB4RDEsMHhFMywweDhCLDB4OUYsMHg1OSwweDAyLAotMHg4OCwweDU3LDB4MDIsMHg4QiwweDQ2LDB4RTYsMHg4OSwweDQ2LDB4RkEsMHg4MywweDdFLDB4RkEsMHgwMCwweDc0LDB4MTgsMHg4QiwKLTB4NDYsMHhGQSwweEJCLDB4MEEsMHgwMCwweDMzLDB4RDIsMHhGNywweEYzLDB4ODAsMHhDMiwweDMwLDB4OEIsMHhERSwweEQxLDB4RTMsCi0weDhCLDB4OUYsMHg2MSwweDAyLDB4ODgsMHg1NywweDAzLDB4QkIsMHgwQSwweDAwLDB4OEIsMHg0NiwweEZBLDB4MzMsMHhEMiwweEY3LAotMHhGMywweDg5LDB4NDYsMHhGQSwweDgzLDB4N0UsMHhGQSwweDAwLDB4NzQsMHgxOCwweDhCLDB4NDYsMHhGQSwweEJCLDB4MEEsMHgwMCwKLTB4MzMsMHhEMiwweEY3LDB4RjMsMHg4MCwweEMyLDB4MzAsMHg4QiwweERFLDB4RDEsMHhFMywweDhCLDB4OUYsMHg2MSwweDAyLDB4ODgsCi0weDU3LDB4MDIsMHg4QiwweDVFLDB4RTYsMHhEMSwweEUzLDB4RkYsMHhCNywweDEyLDB4MDIsMHg2QSwweDAwLDB4RkYsMHg3NiwweDA0LAotMHhFOCwweEQxLDB4RjYsMHg4MywweEM0LDB4MDYsMHg2OCwweEQzLDB4MEYsMHg2QSwweDAxLDB4RkYsMHg3NiwweDA0LDB4RTgsMHhDMywKLTB4RjYsMHg4MywweEM0LDB4MDYsMHhGRiwweDc2LDB4RTYsMHg1NiwweEU4LDB4MDEsMHg5MywweDU5LDB4NTksMHg4OSwweDU2LDB4RjIsCi0weDg5LDB4NDYsMHhGMCwweEZGLDB4NzYsMHhFNiwweDU2LDB4RTgsMHgxNCwweDkzLDB4NTksMHg1OSwweDg5LDB4NTYsMHhFRSwweDg5LAotMHg0NiwweEVDLDB4OUMsMHhGQSwweEM0LDB4NUUsMHhGMCwweDI2LDB4OEIsMHgwNywweDg5LDB4NDYsMHhFQSwweEM0LDB4NUUsMHhFQywKLTB4MjYsMHg4QiwweDA3LDB4ODksMHg0NiwweEU4LDB4QkEsMHg1MCwweEZGLDB4RUQsMHg4OSwweDQ2LDB4RkUsMHg5RCwweEM3LDB4NDYsCi0weEU0LDB4MDEsMHgwMCwweEU4LDB4RUUsMHhBMCwweEJBLDB4NTAsMHhGRiwweEVELDB4ODksMHg0NiwweEZDLDB4OEIsMHg0NiwweEZDLAotMHgyQiwweDQ2LDB4RkUsMHgzRCwweEU4LDB4MDMsMHg3MywweDAzLDB4RTksMHg4MCwweDAxLDB4OUMsMHhGQSwweEJBLDB4NTAsMHhGRiwKLTB4RUQsMHg4OSwweDQ2LDB4RkMsMHg4QiwweDQ2LDB4RkMsMHgyQiwweDQ2LDB4RkUsMHg4OSwweDQ2LDB4RjgsMHhDNCwweDVFLDB4RjAsCi0weDI2LDB4OEIsMHgwNywweDJCLDB4NDYsMHhFQSwweDg5LDB4NDYsMHhGNiwweEM0LDB4NUUsMHhGMCwweDI2LDB4OEIsMHgwNywweDg5LAotMHg0NiwweEVBLDB4QzQsMHg1RSwweEVDLDB4MjYsMHg4QiwweDA3LDB4MkIsMHg0NiwweEU4LDB4ODksMHg0NiwweEY0LDB4QzQsMHg1RSwKLTB4RUMsMHgyNiwweDhCLDB4MDcsMHg4OSwweDQ2LDB4RTgsMHhCQSwweDUwLDB4RkYsMHhFRCwweDg5LDB4NDYsMHhGRSwweDlELDB4ODEsCi0weDdFLDB4RjgsMHhFOCwweDAzLDB4NzYsMHgxQywweEZGLDB4NzYsMHhGOCwweEZGLDB4NzYsMHhGNiwweEU4LDB4NzYsMHgwMSwweDU5LAotMHg1OSwweDg5LDB4NDYsMHhGNiwweEZGLDB4NzYsMHhGOCwweEZGLDB4NzYsMHhGNCwweEU4LDB4NjgsMHgwMSwweDU5LDB4NTksMHg4OSwKLTB4NDYsMHhGNCwweEJGLDB4MEUsMHgwMCwweEVCLDB4MTcsMHg4QiwweERFLDB4RDEsMHhFMywweDhCLDB4OUYsMHg1OSwweDAyLDB4QzYsCi0weDAxLDB4MjAsMHg4QiwweERFLDB4RDEsMHhFMywweDhCLDB4OUYsMHg2MSwweDAyLDB4QzYsMHgwMSwweDIwLDB4NDcsMHg4MywweEZGLAotMHgxMSwweDc2LDB4RTQsMHg4QiwweERFLDB4RDEsMHhFMywweDhCLDB4OUYsMHg1OSwweDAyLDB4QzYsMHg0NywweDBELDB4MzAsMHg4QiwKLTB4REUsMHhEMSwweEUzLDB4OEIsMHg5RiwweDYxLDB4MDIsMHhDNiwweDQ3LDB4MEQsMHgzMCwweDgzLDB4N0UsMHhGNiwweDA5LDB4NzcsCi0weDA1LDB4QjgsMHgwRCwweDAwLDB4RUIsMHgyNiwweDgzLDB4N0UsMHhGNiwweDYzLDB4NzcsMHgwNSwweEI4LDB4MEUsMHgwMCwweEVCLAotMHgxQiwweDgxLDB4N0UsMHhGNiwweEU3LDB4MDMsMHg3NywweDA1LDB4QjgsMHgwRiwweDAwLDB4RUIsMHgwRiwweDgxLDB4N0UsMHhGNiwKLTB4MEYsMHgyNywweDc3LDB4MDUsMHhCOCwweDEwLDB4MDAsMHhFQiwweDAzLDB4QjgsMHgxMSwweDAwLDB4OEIsMHhGOCwweEVCLDB4MjUsCi0weDhCLDB4NDYsMHhGNiwweEJCLDB4MEEsMHgwMCwweDMzLDB4RDIsMHhGNywweEYzLDB4ODAsMHhDMiwweDMwLDB4OEIsMHhERSwweEQxLAotMHhFMywweDhCLDB4OUYsMHg1OSwweDAyLDB4ODgsMHgxMSwweDRGLDB4QkIsMHgwQSwweDAwLDB4OEIsMHg0NiwweEY2LDB4MzMsMHhEMiwKLTB4RjcsMHhGMywweDg5LDB4NDYsMHhGNiwweDgzLDB4N0UsMHhGNiwweDAwLDB4NzUsMHhENSwweDgzLDB4N0UsMHhGNCwweDA5LDB4NzcsCi0weDA1LDB4QjgsMHgwRCwweDAwLDB4RUIsMHgyNiwweDgzLDB4N0UsMHhGNCwweDYzLDB4NzcsMHgwNSwweEI4LDB4MEUsMHgwMCwweEVCLAotMHgxQiwweDgxLDB4N0UsMHhGNCwweEU3LDB4MDMsMHg3NywweDA1LDB4QjgsMHgwRiwweDAwLDB4RUIsMHgwRiwweDgxLDB4N0UsMHhGNCwKLTB4MEYsMHgyNywweDc3LDB4MDUsMHhCOCwweDEwLDB4MDAsMHhFQiwweDAzLDB4QjgsMHgxMSwweDAwLDB4OEIsMHhGOCwweEVCLDB4MjUsCi0weDhCLDB4NDYsMHhGNCwweEJCLDB4MEEsMHgwMCwweDMzLDB4RDIsMHhGNywweEYzLDB4ODAsMHhDMiwweDMwLDB4OEIsMHhERSwweEQxLAotMHhFMywweDhCLDB4OUYsMHg2MSwweDAyLDB4ODgsMHgxMSwweDRGLDB4QkIsMHgwQSwweDAwLDB4OEIsMHg0NiwweEY0LDB4MzMsMHhEMiwKLTB4RjcsMHhGMywweDg5LDB4NDYsMHhGNCwweDgzLDB4N0UsMHhGNCwweDAwLDB4NzUsMHhENSwweDhCLDB4REUsMHhEMSwweEUzLDB4RkYsCi0weEI3LDB4NTksMHgwMiwweEZGLDB4NzYsMHgwNCwweEU4LDB4NkUsMHgwMCwweDU5LDB4NTksMHg4QiwweERFLDB4RDEsMHhFMywweEZGLAotMHhCNywweDYxLDB4MDIsMHhGRiwweDc2LDB4MDQsMHhFOCwweDVFLDB4MDAsMHg1OSwweDU5LDB4NkEsMHgwMCwweEZGLDB4NzYsMHgwNCwKLTB4RTgsMHgzMSwweEYzLDB4NTksMHg1OSwweDhCLDB4RDgsMHg4MywweEZCLDB4MDQsMHg3NywweDFGLDB4RDEsMHhFMywweDJFLDB4RkYsCi0weEE3LDB4MUIsMHg3MCwweEVCLDB4MjIsMHhDNywweDQ2LDB4RTQsMHgwMCwweDAwLDB4RkYsMHg0RSwweEU2LDB4RUIsMHgwQywweEM3LAotMHg0NiwweEU0LDB4MDAsMHgwMCwweEZGLDB4NDYsMHhFNiwweEVCLDB4MDIsMHhFQiwweDAwLDB4ODMsMHg3RSwweEU0LDB4MDAsMHg3NCwKLTB4MDMsMHhFOSwweDJBLDB4RkUsMHhFOSwweEQ0LDB4RkMsMHg1RiwweDVFLDB4QzksMHhDMywweEYzLDB4NkYsMHhGNSwweDZGLDB4RkYsCi0weDZGLDB4RjMsMHg2RiwweDA5LDB4NzAsMHg1NSwweDhCLDB4RUMsMHg4QiwweDQ2LDB4MDQsMHhCOSwweEU4LDB4MDMsMHhGNywweEUxLAotMHg4QiwweDRFLDB4MDYsMHhGNywweEYxLDB4NUQsMHhDMywweDU1LDB4OEIsMHhFQywweDU2LDB4OEIsMHg3NiwweDA2LDB4RUIsMHgwRSwKLTB4OEIsMHhERSwweDQ2LDB4OEEsMHgwNywweDUwLDB4RkYsMHg3NiwweDA0LDB4RTgsMHgzMywweDAwLDB4NTksMHg1OSwweDgwLDB4M0MsCi0weDAwLDB4NzUsMHhFRCwweEVCLDB4MDAsMHg1RSwweDVELDB4QzMsMHg1NSwweDhCLDB4RUMsMHg1NiwweDhCLDB4NzYsMHgwNiwweEVCLAotMHgxNCwweDhCLDB4REUsMHg0NiwweDhBLDB4MDcsMHg1MCwweEZGLDB4NzYsMHgwNCwweEU4LDB4NDUsMHgwMCwweDU5LDB4NTksMHgwQiwKLTB4QzAsMHg3NCwweDAyLDB4RUIsMHgwNywweDgwLDB4M0MsMHgwMCwweDc1LDB4RTcsMHhFQiwweDAwLDB4NUUsMHg1RCwweEMzLDB4QzgsCi0weDAyLDB4MDAsMHgwMCwweDU2LDB4OEIsMHg3NiwweDA0LDB4OEEsMHg0NCwweDVBLDB4OTgsMHg4OSwweDQ2LDB4RkUsMHg5QywweEZBLAotMHg4QSwweDQ2LDB4RkUsMHhCQSwweEZFLDB4MDAsMHhFRSwweEJBLDB4MDIsMHgwMCwweEVDLDB4QTgsMHgwMiwweDc0LDB4MDYsMHg5RCwKLTB4RTgsMHg5MSwweDlFLDB4RUIsMHhFOSwweEJBLDB4MDAsMHgwMCwweDhBLDB4NDYsMHgwNiwweEVFLDB4OUQsMHhFQiwweDAwLDB4NUUsCi0weEM5LDB4QzMsMHhDOCwweDA0LDB4MDAsMHgwMCwweDU2LDB4OEIsMHg3NiwweDA0LDB4OEEsMHg0NCwweDVBLDB4OTgsMHg4OSwweDQ2LAotMHhGRSwweEU4LDB4RTYsMHhBMSwweDg5LDB4NDYsMHhGQywweEU4LDB4RTAsMHhBMSwweDJCLDB4NDYsMHhGQywweDNELDB4QjgsMHgwQiwKLTB4NzYsMHgwNSwweEI4LDB4MDEsMHgwMCwweEVCLDB4MjMsMHg5QywweEZBLDB4OEEsMHg0NiwweEZFLDB4QkEsMHhGRSwweDAwLDB4RUUsCi0weEJBLDB4MDIsMHgwMCwweEVDLDB4QTgsMHgwMiwweDc0LDB4MDYsMHg5RCwweEU4LDB4NDgsMHg5RSwweEVCLDB4RDksMHhCQSwweDAwLAotMHgwMCwweDhBLDB4NDYsMHgwNiwweEVFLDB4OUQsMHgzMywweEMwLDB4RUIsMHgwMCwweDVFLDB4QzksMHhDMywweEM4LDB4MDQsMHgwMCwKLTB4MDAsMHg1NiwweDU3LDB4OEIsMHg3NiwweDA0LDB4ODMsMHg3RSwweDA2LDB4MDAsMHg3NCwweDA3LDB4NTYsMHhFOCwweDAzLDB4MDEsCi0weDU5LDB4RUIsMHgwNSwweDU2LDB4RTgsMHhBMiwweDAwLDB4NTksMHg4OCwweDQ2LDB4RkYsMHg4MCwweDdFLDB4RkYsMHgwOCwweDc3LAotMHgwNiwweDhBLDB4NDYsMHhGRiwweEU5LDB4ODQsMHgwMCwweDgwLDB4N0UsMHhGRiwweDBGLDB4NzYsMHgwMywweEVCLDB4NzksMHg5MCwKLTB4OEEsMHg0NiwweEZGLDB4QjQsMHgwMCwweDJELDB4MEEsMHgwMCwweDhCLDB4RDgsMHg4MywweEZCLDB4MDQsMHg3NywweDY3LDB4RDEsCi0weEUzLDB4MkUsMHhGRiwweEE3LDB4QUYsMHg3MSwweEIwLDB4MDAsMHhFQiwweDYxLDB4NTYsMHhFOCwweDZCLDB4MDAsMHg1OSwweEI0LAotMHgwMCwweDI1LDB4MEYsMHgwMCwweDg5LDB4NDYsMHhGQywweDU2LDB4RTgsMHg1RSwweDAwLDB4NTksMHhCNCwweDAwLDB4OEIsMHhGOCwKLTB4NTYsMHhFOCwweDU1LDB4MDAsMHg1OSwweEI0LDB4MDAsMHhDMSwweEUwLDB4MDgsMHg4QiwweEQ3LDB4MDMsMHhEMCwweDhCLDB4RkEsCi0weDhCLDB4NUUsMHhGQywweEQxLDB4RTMsMHg4OSwweDc4LDB4MzAsMHhFQiwweDJFLDB4NTYsMHhFOCwweDNCLDB4MDAsMHg1OSwweDg4LAotMHg0NCwweDVCLDB4RUIsMHgyNCwweDU2LDB4RTgsMHgzMSwweDAwLDB4NTksMHg4OCwweDQ0LDB4NTAsMHg1NiwweEU4LDB4MjksMHgwMCwKLTB4NTksMHg4OCwweDQ0LDB4NTEsMHg1NiwweEU4LDB4MjEsMHgwMCwweDU5LDB4ODgsMHg0NCwweDUyLDB4NTYsMHhFOCwweDE5LDB4MDAsCi0weDU5LDB4ODgsMHg0NCwweDUzLDB4RUIsMHgwMiwweEVCLDB4MDAsMHhFOSwweDVCLDB4RkYsMHg1RiwweDVFLDB4QzksMHhDMywweDQ2LAotMHg3MSwweEE2LDB4NzEsMHg0QSwweDcxLDB4N0EsMHg3MSwweDg0LDB4NzEsMHhDOCwweDA0LDB4MDAsMHgwMCwweDU2LDB4OEIsMHg3NiwKLTB4MDQsMHg4QSwweDQ0LDB4NUEsMHg5OCwweDg5LDB4NDYsMHhGRSwweDlDLDB4RkEsMHg4QSwweDQ2LDB4RkUsMHhCQSwweEZFLDB4MDAsCi0weEVFLDB4QkEsMHgwMiwweDAwLDB4RUMsMHhBOCwweDAxLDB4NzUsMHgwNiwweDlELDB4RTgsMHg1NywweDlELDB4RUIsMHhFOSwweEJBLAotMHgwMCwweDAwLDB4RUMsMHg4OCwweDQ2LDB4RkQsMHg5RCwweDhBLDB4NDYsMHhGRCwweEVCLDB4MDAsMHg1RSwweEM5LDB4QzMsMHhDOCwKLTB4MDIsMHgwMCwweDAwLDB4NTYsMHg4QiwweDc2LDB4MDQsMHg4QSwweDQ0LDB4NUEsMHg5OCwweDg5LDB4NDYsMHhGRSwweDlDLDB4RkEsCi0weDhBLDB4NDYsMHhGRSwweEJBLDB4RkUsMHgwMCwweEVFLDB4QkEsMHgwMiwweDAwLDB4RUMsMHgzMiwweEU0LDB4MjQsMHgwMSwweDlELAotMHg1RSwweEM5LDB4QzMsMHhDOCwweDA2LDB4MDAsMHgwMCwweDU2LDB4OEIsMHg3NiwweDA0LDB4OEEsMHg0NCwweDVBLDB4OTgsMHg4OSwKLTB4NDYsMHhGRSwweEU4LDB4ODUsMHhBMCwweDg5LDB4NDYsMHhGQSwweEU4LDB4N0YsMHhBMCwweDJCLDB4NDYsMHhGQSwweDNELDB4QjgsCi0weDBCLDB4NzYsMHgwNCwweEIwLDB4MDgsMHhFQiwweDI0LDB4OUMsMHhGQSwweDhBLDB4NDYsMHhGRSwweEJBLDB4RkUsMHgwMCwweEVFLAotMHhCQSwweDAyLDB4MDAsMHhFQywweEE4LDB4MDEsMHg3NSwweDA2LDB4OUQsMHhFOCwweEU4LDB4OUMsMHhFQiwweERBLDB4QkEsMHgwMCwKLTB4MDAsMHhFQywweDg4LDB4NDYsMHhGRCwweDlELDB4OEEsMHg0NiwweEZELDB4RUIsMHgwMCwweDVFLDB4QzksMHhDMywweDU1LDB4OEIsCi0weEVDLDB4NTYsMHg4QiwweDU2LDB4MDQsMHg4QSwweDQ2LDB4MDYsMHhFRSwweDMzLDB4RjYsMHhFQiwweDAzLDB4NTAsMHg1OCwweDQ2LAotMHg4MywweEZFLDB4MTQsMHg3QywweEY4LDB4NUUsMHg1RCwweEMzLDB4QzgsMHgwMiwweDAwLDB4MDAsMHg1NiwweDhCLDB4NTYsMHgwNCwKLTB4RUMsMHg4OCwweDQ2LDB4RkYsMHgzMywweEY2LDB4RUIsMHgwMywweDUwLDB4NTgsMHg0NiwweDgzLDB4RkUsMHgxNCwweDdDLDB4RjgsCi0weDhBLDB4NDYsMHhGRiwweEVCLDB4MDAsMHg1RSwweEM5LDB4QzMsMHhDOCwweDAyLDB4MDAsMHgwMCwweDU2LDB4NTcsMHg4QiwweDc2LAotMHgwNCwweDgzLDB4M0UsMHhCMCwweDBCLDB4MDAsMHg3NSwweDFGLDB4QkEsMHg4OCwweDAxLDB4QjAsMHgwMCwweEVFLDB4QkEsMHg4NiwKLTB4MDEsMHhCMCwweDAwLDB4RUUsMHg2QSwweDA5LDB4NkEsMHgwMCwweDY4LDB4MzAsMHgwMSwweEU4LDB4N0QsMHgwMSwweDgzLDB4QzQsCi0weDA2LDB4QzcsMHgwNiwweEIwLDB4MEIsMHgwMSwweDAwLDB4NkEsMHgwOSwweDhCLDB4QzYsMHgwNSwweDgwLDB4MDEsMHg1MCwweEU4LAotMHhEQSwweDAwLDB4NTksMHg1OSwweDhCLDB4RjgsMHg4QiwweEM3LDB4QzEsMHhFOCwweDBDLDB4MjUsMHgwRiwweDAwLDB4ODksMHg0NiwKLTB4RkUsMHg4QiwweEM3LDB4QzEsMHhFOCwweDA4LDB4MjUsMHgwRiwweDAwLDB4OEIsMHg1NiwweEZFLDB4ODMsMHhGMiwweDBDLDB4M0IsCi0weEMyLDB4NzUsMHgyMSwweDhCLDB4QzcsMHhDMSwweEU4LDB4MDQsMHgyNSwweDBGLDB4MDAsMHg4QiwweDU2LDB4RkUsMHg4MywweEYyLAotMHgwNiwweDNCLDB4QzIsMHg3NSwweDBGLDB4OEIsMHhDNywweDI1LDB4MEYsMHgwMCwweDhCLDB4NTYsMHhGRSwweDgzLDB4RjIsMHgwOSwKLTB4M0IsMHhDMiwweDc0LDB4MEQsMHg2QSwweDA3LDB4NTYsMHhFOCwweDM4LDB4MDAsMHg1OSwweDU5LDB4QzcsMHg0NiwweEZFLDB4MDcsCi0weDAwLDB4OEEsMHg0NiwweEZFLDB4MDQsMHg4MCwweEEyLDB4MzMsMHgwMiwweDhCLDB4QzYsMHhCQSwweDYyLDB4MDAsMHhGNywweEVBLAotMHg4QSwweDU2LDB4RkUsMHg4QiwweEQ4LDB4ODgsMHg5NywweDZDLDB4MDAsMHg2OCwweDMyLDB4MDIsMHg4QiwweEM2LDB4QkEsMHg2MiwKLTB4MDAsMHhGNywweEVBLDB4MDUsMHgxNCwweDAwLDB4NTAsMHhFOCwweDBFLDB4RkQsMHg1OSwweDU5LDB4RUIsMHgwMCwweDVGLDB4NUUsCi0weEM5LDB4QzMsMHhDOCwweDAyLDB4MDAsMHgwMCwweDU2LDB4OEIsMHg3NiwweDA2LDB4ODMsMHhFNiwweDBGLDB4OEIsMHhDNiwweEMxLAotMHhFMCwweDBDLDB4OEIsMHhENiwweDgzLDB4RjIsMHgwQywweEMxLDB4RTIsMHgwOCwweDBCLDB4QzIsMHg4QiwweEQ2LDB4ODMsMHhGMiwKLTB4MDYsMHhDMSwweEUyLDB4MDQsMHgwQiwweEMyLDB4OEIsMHhENiwweDgzLDB4RjIsMHgwOSwweDBCLDB4QzIsMHg4OSwweDQ2LDB4RkUsCi0weDZBLDB4MTksMHg2QSwweDEwLDB4OEIsMHg0NiwweDA0LDB4OTksMHgwNSwweDQwLDB4MDEsMHg4MywweEQyLDB4MDAsMHg1MiwweDUwLAotMHhFOCwweDZCLDB4MDEsMHg4MywweEM0LDB4MDYsMHgwQiwweDQ2LDB4RkUsMHg4MywweENBLDB4MDAsMHg1MiwweDUwLDB4RTgsMHg5QSwKLTB4MDAsMHg4MywweEM0LDB4MDYsMHhFOCwweDI1LDB4MDEsMHhFQiwweDAwLDB4NUUsMHhDOSwweEMzLDB4NTUsMHg4QiwweEVDLDB4NTYsCi0weDU3LDB4MzMsMHhGRiwweDZBLDB4MDEsMHg2OCwweDg2LDB4MDEsMHhFOCwweEEzLDB4RkUsMHg1OSwweDU5LDB4QjEsMHgxMCwweDJBLAotMHg0RSwweDA2LDB4RDMsMHg2NiwweDA0LDB4MzMsMHhGNiwweEVCLDB4MkUsMHg4MSwweDdFLDB4MDQsMHgwMCwweDgwLDB4NzIsMHgwNCwKLTB4QjAsMHgwMSwweEVCLDB4MDIsMHhCMCwweDAwLDB4NTAsMHg2OCwweDg4LDB4MDEsMHhFOCwweDgxLDB4RkUsMHg1OSwweDU5LDB4NkEsCi0weDAzLDB4NjgsMHg4NiwweDAxLDB4RTgsMHg3NywweEZFLDB4NTksMHg1OSwweDZBLDB4MDEsMHg2OCwweDg2LDB4MDEsMHhFOCwweDZELAotMHhGRSwweDU5LDB4NTksMHhEMSwweDY2LDB4MDQsMHg0NiwweDNCLDB4NzYsMHgwNiwweDdDLDB4Q0QsMHgzMywweEY2LDB4RUIsMHgyNCwKLTB4RDEsMHhFNywweDZBLDB4MDMsMHg2OCwweDg2LDB4MDEsMHhFOCwweDU0LDB4RkUsMHg1OSwweDU5LDB4NkEsMHgwMSwweDY4LDB4ODYsCi0weDAxLDB4RTgsMHg0QSwweEZFLDB4NTksMHg1OSwweDY4LDB4ODgsMHgwMSwweEU4LDB4NUMsMHhGRSwweDU5LDB4OTgsMHgyNSwweDAxLAotMHgwMCwweDBCLDB4RjgsMHg0NiwweDgzLDB4RkUsMHgxMCwweDdDLDB4RDcsMHg2QSwweDAwLDB4NjgsMHg4NiwweDAxLDB4RTgsMHgyRCwKLTB4RkUsMHg1OSwweDU5LDB4OEIsMHhDNywweEVCLDB4MDAsMHg1RiwweDVFLDB4NUQsMHhDMywweDU1LDB4OEIsMHhFQywweDU2LDB4NTcsCi0weDhCLDB4N0UsMHgwOCwweDZBLDB4MDEsMHg2OCwweDg2LDB4MDEsMHhFOCwweDEzLDB4RkUsMHg1OSwweDU5LDB4QjgsMHgyMCwweDAwLAotMHgyQiwweEM3LDB4NTAsMHhGRiwweDc2LDB4MDYsMHhGRiwweDc2LDB4MDQsMHhFOCwweEEyLDB4MDAsMHg4MywweEM0LDB4MDYsMHg4OSwKLTB4NTYsMHgwNiwweDg5LDB4NDYsMHgwNCwweDMzLDB4RjYsMHhFQiwweDQ3LDB4ODEsMHg3RSwweDA2LDB4MDAsMHg4MCwweDcyLDB4MEMsCi0weDc1LDB4MDYsMHg4MywweDdFLDB4MDQsMHgwMCwweDcyLDB4MDQsMHhCMCwweDAxLDB4RUIsMHgwMiwweEIwLDB4MDAsMHg1MCwweDY4LAotMHg4OCwweDAxLDB4RTgsMHhEOSwweEZELDB4NTksMHg1OSwweDZBLDB4MDMsMHg2OCwweDg2LDB4MDEsMHhFOCwweENGLDB4RkQsMHg1OSwKLTB4NTksMHg2QSwweDAxLDB4NjgsMHg4NiwweDAxLDB4RTgsMHhDNSwweEZELDB4NTksMHg1OSwweDZBLDB4MDEsMHhGRiwweDc2LDB4MDYsCi0weEZGLDB4NzYsMHgwNCwweEU4LDB4NTgsMHgwMCwweDgzLDB4QzQsMHgwNiwweDg5LDB4NTYsMHgwNiwweDg5LDB4NDYsMHgwNCwweDQ2LAotMHgzQiwweEY3LDB4N0MsMHhCNSwweDZBLDB4MDAsMHg2OCwweDg2LDB4MDEsMHhFOCwweEEyLDB4RkQsMHg1OSwweDU5LDB4NkEsMHgwMCwKLTB4NjgsMHg4NiwweDAxLDB4RTgsMHg5OCwweEZELDB4NTksMHg1OSwweDVGLDB4NUUsMHg1RCwweEMzLDB4NTUsMHg4QiwweEVDLDB4NTYsCi0weDZBLDB4MDEsMHg2OCwweDg2LDB4MDEsMHhFOCwweDg2LDB4RkQsMHg1OSwweDU5LDB4MzMsMHhGNiwweEVCLDB4MDAsMHg2OCwweDg4LAotMHgwMSwweEU4LDB4OTQsMHhGRCwweDU5LDB4QTgsMHgwMSwweDc1LDB4MDgsMHg4QiwweEM2LDB4NDYsMHgzRCwweDY0LDB4MDAsMHg3QywKLTB4RUQsMHg2QSwweDAwLDB4NjgsMHg4NiwweDAxLDB4RTgsMHg2NSwweEZELDB4NTksMHg1OSwweDVFLDB4NUQsMHhDMywweEM4LDB4MDQsCi0weDAwLDB4MDAsMHg4QiwweDQ2LDB4MDQsMHg4QiwweDU2LDB4MDYsMHg4QiwweDRFLDB4MDgsMHhFMywweDA2LDB4RDEsMHhFMCwweEQxLAotMHhEMiwweEUyLDB4RkEsMHg4OSwweDQ2LDB4RkMsMHg4OSwweDU2LDB4RkUsMHg4QiwweDU2LDB4RkUsMHg4QiwweDQ2LDB4RkMsMHhFQiwKLTB4MDAsMHhDOSwweEMzLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsCi0weDUwLDB4NzIsMHg2NSwweDc2LDB4NjksMHg2RiwweDc1LDB4NzMsMHgyMCwweDRELDB4NjUsMHg2RSwweDc1LDB4MDAsMHg0MiwweDY1LAotMHg2NywweDY5LDB4NkUsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwKLTB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsCi0weDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLAotMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwKLTB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsCi0weDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLAotMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwKLTB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsCi0weDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLAotMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwKLTB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsCi0weDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLAotMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwKLTB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsCi0weDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLAotMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwKLTB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsCi0weDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLAotMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwKLTB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsCi0weDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLAotMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwKLTB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsCi0weDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLAotMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg1MCwweDZGLDB4NzIsMHg3NCwKLTB4MjAsMHgzMCwweDAwLDB4NTAsMHg2RiwweDcyLDB4NzQsMHgyMCwweDMxLDB4MDAsMHg1MCwweDZGLDB4NzIsMHg3NCwweDIwLDB4MzIsCi0weDAwLDB4NTAsMHg2RiwweDcyLDB4NzQsMHgyMCwweDMzLDB4MDAsMHg1MCwweDZGLDB4NzIsMHg3NCwweDIwLDB4MzQsMHgwMCwweDUwLAotMHg2RiwweDcyLDB4NzQsMHgyMCwweDM1LDB4MDAsMHg1MCwweDZGLDB4NzIsMHg3NCwweDIwLDB4MzYsMHgwMCwweDUwLDB4NkYsMHg3MiwKLTB4NzQsMHgyMCwweDM3LDB4MDAsMHg1MCwweDZGLDB4NzIsMHg3NCwweDIwLDB4MzgsMHgwMCwweDUwLDB4NkYsMHg3MiwweDc0LDB4MjAsCi0weDM5LDB4MDAsMHg1MCwweDZGLDB4NzIsMHg3NCwweDIwLDB4MzEsMHgzMCwweDAwLDB4NTAsMHg2RiwweDcyLDB4NzQsMHgyMCwweDMxLAotMHgzMSwweDAwLDB4NTAsMHg2RiwweDcyLDB4NzQsMHgyMCwweDMxLDB4MzIsMHgwMCwweDUwLDB4NkYsMHg3MiwweDc0LDB4MjAsMHgzMSwKLTB4MzMsMHgwMCwweDUwLDB4NkYsMHg3MiwweDc0LDB4MjAsMHgzMSwweDM0LDB4MDAsMHg1MCwweDZGLDB4NzIsMHg3NCwweDIwLDB4MzEsCi0weDM1LDB4MDAsMHg5QywweDAxLDB4QTMsMHgwMSwweEFBLDB4MDEsMHhCMSwweDAxLDB4QjgsMHgwMSwweEJGLDB4MDEsMHhDNiwweDAxLAotMHhDRCwweDAxLDB4RDQsMHgwMSwweERCLDB4MDEsMHhFMiwweDAxLDB4RUEsMHgwMSwweEYyLDB4MDEsMHhGQSwweDAxLDB4MDIsMHgwMiwKLTB4MEEsMHgwMiwweDA4LDB4MDAsMHgwMCwweDA3LDB4ODEsMHgwMCwweDAzLDB4ODAsMHg4MCwweDgwLDB4OUYsMHg5MSwweDk1LDB4OTEsCi0weDlGLDB4MDAsMHgwMywweDgxLDB4ODQsMHg4RSwweDk1LDB4ODQsMHg4NCwweDg0LDB4ODQsMHgwMCwweDAzLDB4ODIsMHg4NCwweDg0LAotMHg4NCwweDg0LDB4OTUsMHg4RSwweDg0LDB4MDAsMHgwNCwweDg4LDB4MDAsMHhCMiwweDBCLDB4QzYsMHgwQiwweERBLDB4MEIsMHhFRSwKLTB4MEIsMHgwMiwweDBDLDB4MTYsMHgwQywweDJBLDB4MEMsMHgzRSwweDBDLDB4NTIsMHgwQywweDc3LDB4MEMsMHg5QywweDBDLDB4QkUsCi0weDBDLDB4RTAsMHgwQywweDAyLDB4MEQsMHgwMSwweDgwLDB4MjAsMHg1NCwweDY1LDB4NzMsMHg3NCwweDIwLDB4NTAsMHg2MSwweDczLAotMHg3MywweDY1LDB4NjQsMHgyMCwweDFGLDB4MjAsMHg1MCwweDcyLDB4NjUsMHg3MywweDczLDB4MjAsMHg4MCwweDAyLDB4MDAsMHgwMSwKLTB4ODAsMHgyMCwweDRELDB4NjksMHg3MywweDczLDB4NjksMHg2RSwweDY3LDB4MjAsMHg1MiwweDc4LDB4MjAsMHg0NCwweDYxLDB4NzQsCi0weDYxLDB4MUYsMHgyMCwweDUwLDB4NzIsMHg2NSwweDczLDB4NzMsMHgyMCwweDgwLDB4MDIsMHgwMCwweDAxLDB4ODAsMHgyMCwweDQyLAotMHg2MSwweDY0LDB4MjAsMHg1MiwweDc4LDB4MjAsMHg0NCwweDYxLDB4NzQsMHg2MSwweDIwLDB4MUYsMHgyMCwweDUwLDB4NzIsMHg2NSwKLTB4NzMsMHg3MywweDIwLDB4ODAsMHgwMiwweDAwLDB4MDEsMHg4MCwweDIwLDB4NTgsMHg2RCwweDc0LDB4NzIsMHgyMCwweDQyLDB4NzUsCi0weDczLDB4NzksMHgxRiwweDIwLDB4NTAsMHg3MiwweDY1LDB4NzMsMHg3MywweDIwLDB4ODAsMHgwMiwweDAwLDB4MDEsMHg4MCwweDIwLAotMHg2RSwweDZGLDB4NzQsMHgyMCwweDYzLDB4NzUsMHg3MiwweDcyLDB4NjUsMHg2RSwweDc0LDB4NkMsMHg3OSwweDFGLDB4MjAsMHgyMCwKLTB4NjksMHg2RCwweDcwLDB4NkMsMHg2NSwweDZELDB4NjUsMHg2RSwweDc0LDB4NjUsMHg2NCwweDAyLDB4MDAsMHgyNCwweDBELDB4MkYsCi0weDBELDB4M0EsMHgwRCwweDQ1LDB4MEQsMHg1MCwweDBELDB4NUIsMHgwRCwweDY2LDB4MEQsMHg3MSwweDBELDB4N0MsMHgwRCwweDg3LAotMHgwRCwweDkyLDB4MEQsMHg5RCwweDBELDB4QTgsMHgwRCwweEIzLDB4MEQsMHhCRSwweDBELDB4QzksMHgwRCwweDUzLDB4ODAsMHgyQywKLTB4MzIsMHg1NCwweDQ0LDB4MjAsMHg1MywweDg2LDB4MkMsMHgzMywweDQ0LDB4NTQsMHg1MiwweDIwLDB4NTMsMHg4MiwweDJDLDB4MzMsCi0weDUyLDB4NTQsMHg1MywweDIwLDB4MUYsMHg1MywweDgxLDB4MkMsMHgzMiwweDUyLDB4NDQsMHgyMCwweDUzLDB4ODUsMHgyQywweDMyLAotMHg0MywweDQ0LDB4MjAsMHg1MywweDgzLDB4MkMsMHgzMywweDQzLDB4NTQsMHg1MywweDIwLDB4NTMsMHg4NCwweDJDLDB4MzMsMHg0NCwKLTB4NTMsMHg1MiwweDIwLDB4NTMsMHg4NywweDJDLDB4MzIsMHg1MiwweDQ5LDB4MjcsMHgwMiwweDAwLDB4MDEsMHg4MCwweDIwLDB4MjAsCi0weDQ0LDB4NDMsMHg0NCwweDIwLDB4MkQsMHgyMCwweDcwLDB4NjksMHg2RSwweDIwLDB4MzIsMHgzMCwweDFGLDB4MjcsMHg1MywweDg1LAotMHgyRSwweDMxLDB4ODEsMHg4MiwweDYzLDB4OTAsMHg4MCwweDgxLDB4ODIsMHg4MywweDg0LDB4ODUsMHg4NiwweDg3LDB4ODgsMHg4OSwKLTB4OEEsMHg4QiwweDhDLDB4OEQsMHg4RSwweDhGLDB4MjcsMHgwMiwweDAwLDB4MDEsMHg4MCwweDIwLDB4MjAsMHg0NCwweDUzLDB4NTIsCi0weDIwLDB4MkQsMHgyMCwweDcwLDB4NjksMHg2RSwweDIwLDB4MzEsMHgzMSwweDFGLDB4MjcsMHg1MywweDg0LDB4MkUsMHgzMSwweDgxLAotMHg4MiwweDYzLDB4OTAsMHg4MCwweDgxLDB4ODIsMHg4MywweDg0LDB4ODUsMHg4NiwweDg3LDB4ODgsMHg4OSwweDhBLDB4OEIsMHg4QywKLTB4OEQsMHg4RSwweDhGLDB4MjcsMHgwMiwweDAwLDB4MDEsMHg4MCwweDIwLDB4MjAsMHg0MywweDU0LDB4NTMsMHgyMCwweDJELDB4MjAsCi0weDcwLDB4NjksMHg2RSwweDIwLDB4MzQsMHgxRiwweDI3LDB4NTMsMHg4MywweDJFLDB4MzEsMHg4MSwweDgyLDB4NjMsMHg5MCwweDgwLAotMHg4MSwweDgyLDB4ODMsMHg4NCwweDg1LDB4ODYsMHg4NywweDg4LDB4ODksMHg4QSwweDhCLDB4OEMsMHg4RCwweDhFLDB4OEYsMHgyNywKLTB4MDIsMHgwMCwweDAxLDB4ODAsMHgyMCwweDIwLDB4NTIsMHg0OSwweDIwLDB4MkQsMHgyMCwweDcwLDB4NjksMHg2RSwweDIwLDB4MzIsCi0weDMyLDB4MUYsMHgyNywweDUzLDB4ODcsMHgyRSwweDMxLDB4ODEsMHg4MiwweDYzLDB4OTAsMHg4MCwweDgxLDB4ODIsMHg4MywweDg0LAotMHg4NSwweDg2LDB4ODcsMHg4OCwweDg5LDB4OEEsMHg4QiwweDhDLDB4OEQsMHg4RSwweDhGLDB4MjcsMHgwMiwweDAwLDB4MDEsMHg4MCwKLTB4MjAsMHgyMCwweDQ0LDB4NTQsMHg1MiwweDIwLDB4MkQsMHgyMCwweDcwLDB4NjksMHg2RSwweDIwLDB4MzYsMHgyRiwweDM4LDB4MUYsCi0weDI3LDB4NTMsMHg4NiwweDJFLDB4MzEsMHg4MSwweDgyLDB4NjMsMHg5MCwweDgwLDB4ODEsMHg4MiwweDgzLDB4ODQsMHg4NSwweDg2LAotMHg4NywweDg4LDB4ODksMHg4QSwweDhCLDB4OEMsMHg4RCwweDhFLDB4OEYsMHgyNywweDAyLDB4MDAsMHgwMSwweDgwLDB4MjAsMHgyMCwKLTB4NTIsMHg1NCwweDUzLDB4MjAsMHgyRCwweDIwLDB4NzAsMHg2OSwweDZFLDB4MjAsMHgzNSwweDFGLDB4MjcsMHg1MywweDgyLDB4MkUsCi0weDMxLDB4ODEsMHg4MiwweDYzLDB4OTAsMHg4MCwweDgxLDB4ODIsMHg4MywweDg0LDB4ODUsMHg4NiwweDg3LDB4ODgsMHg4OSwweDhBLAotMHg4QiwweDhDLDB4OEQsMHg4RSwweDhGLDB4MjcsMHgwMiwweDAwLDB4MDEsMHg4MCwweDIwLDB4MjAsMHg1MiwweDc4LDB4NDQsMHgyMCwKLTB4MkQsMHgyMCwweDcwLDB4NjksMHg2RSwweDIwLDB4MzIsMHgxRiwweDI3LDB4NTMsMHg4MSwweDJFLDB4MzAsMHg1MywweDRELDB4ODEsCi0weDgyLDB4NjMsMHg5MCwweDgwLDB4ODEsMHg4MiwweDgzLDB4ODQsMHg4NSwweDg2LDB4ODcsMHg4OCwweDg5LDB4OEEsMHg4QiwweDhDLAotMHg4RCwweDhFLDB4OEYsMHgyNywweDAyLDB4MDAsMHgwMSwweDgwLDB4MjAsMHgyMCwweDU0LDB4NzgsMHg0NCwweDIwLDB4MkQsMHgyMCwKLTB4NzAsMHg2OSwweDZFLDB4MjAsMHgzMywweDFGLDB4MjcsMHg1MywweDgwLDB4MkUsMHgzMCwweDUzLDB4NEQsMHg4MSwweDgyLDB4NjMsCi0weDkwLDB4ODAsMHg4MSwweDgyLDB4ODMsMHg4NCwweDg1LDB4ODYsMHg4NywweDg4LDB4ODksMHg4QSwweDhCLDB4OEMsMHg4RCwweDhFLAotMHg4RiwweDI3LDB4MDIsMHgwMCwweDAxLDB4ODAsMHgyMCwweDIwLDB4NDQsMHg0MywweDQ0LDB4MjAsMHgyRCwweDIwLDB4NzAsMHg2OSwKLTB4NkUsMHgyMCwweDM1LDB4MUYsMHgyNywweDUzLDB4ODUsMHgyRSwweDMxLDB4ODEsMHg4MiwweDYzLDB4OTAsMHg4MCwweDgxLDB4ODIsCi0weDgzLDB4ODQsMHg4NSwweDg2LDB4ODcsMHg4OCwweDg5LDB4OEEsMHg4QiwweDhDLDB4OEQsMHg4RSwweDhGLDB4MjcsMHgwMiwweDAwLAotMHgwMSwweDgwLDB4MjAsMHgyMCwweDQ0LDB4NTMsMHg1MiwweDIwLDB4MkQsMHgyMCwweDcwLDB4NjksMHg2RSwweDIwLDB4MzUsMHgxRiwKLTB4MjcsMHg1MywweDg0LDB4MkUsMHgzMSwweDgxLDB4ODIsMHg2MywweDkwLDB4ODAsMHg4MSwweDgyLDB4ODMsMHg4NCwweDg1LDB4ODYsCi0weDg3LDB4ODgsMHg4OSwweDhBLDB4OEIsMHg4QywweDhELDB4OEUsMHg4RiwweDI3LDB4MDIsMHgwMCwweDAxLDB4ODAsMHgyMCwweDIwLAotMHg0MywweDU0LDB4NTMsMHgyMCwweDJELDB4MjAsMHg3MCwweDY5LDB4NkUsMHgyMCwweDMxLDB4MUYsMHgyNywweDUzLDB4ODMsMHgyRSwKLTB4MzEsMHg4MSwweDgyLDB4NjMsMHg5MCwweDgwLDB4ODEsMHg4MiwweDgzLDB4ODQsMHg4NSwweDg2LDB4ODcsMHg4OCwweDg5LDB4OEEsCi0weDhCLDB4OEMsMHg4RCwweDhFLDB4OEYsMHgyNywweDAyLDB4MDAsMHgwMSwweDgwLDB4MjAsMHgyMCwweDUyLDB4NDksMHgyMCwweDJELAotMHgyMCwweDI4LDB4NkUsMHgyRSwweDYzLDB4MkUsMHgyOSwweDFGLDB4MjcsMHg1MywweDg3LDB4MkUsMHgzMSwweDgxLDB4ODIsMHg2MywKLTB4OTAsMHg4MCwweDgxLDB4ODIsMHg4MywweDg0LDB4ODUsMHg4NiwweDg3LDB4ODgsMHg4OSwweDhBLDB4OEIsMHg4QywweDhELDB4OEUsCi0weDhGLDB4MjcsMHgwMiwweDAwLDB4MDEsMHg4MCwweDIwLDB4MjAsMHg0NCwweDU0LDB4NTIsMHgyMCwweDJELDB4MjAsMHg3MCwweDY5LAotMHg2RSwweDIwLDB4MzIsMHgxRiwweDI3LDB4NTMsMHg4NiwweDJFLDB4MzEsMHg4MSwweDgyLDB4NjMsMHg5MCwweDgwLDB4ODEsMHg4MiwKLTB4ODMsMHg4NCwweDg1LDB4ODYsMHg4NywweDg4LDB4ODksMHg4QSwweDhCLDB4OEMsMHg4RCwweDhFLDB4OEYsMHgyNywweDAyLDB4MDAsCi0weDAxLDB4ODAsMHgyMCwweDIwLDB4NTIsMHg1NCwweDUzLDB4MjAsMHgyRCwweDIwLDB4NzAsMHg2OSwweDZFLDB4MjAsMHgzNywweDFGLAotMHgyNywweDUzLDB4ODIsMHgyRSwweDMxLDB4ODEsMHg4MiwweDYzLDB4OTAsMHg4MCwweDgxLDB4ODIsMHg4MywweDg0LDB4ODUsMHg4NiwKLTB4ODcsMHg4OCwweDg5LDB4OEEsMHg4QiwweDhDLDB4OEQsMHg4RSwweDhGLDB4MjcsMHgwMiwweDAwLDB4MDEsMHg4MCwweDIwLDB4MjAsCi0weDUyLDB4NzgsMHg0NCwweDIwLDB4MkQsMHgyMCwweDcwLDB4NjksMHg2RSwweDIwLDB4MzYsMHgxRiwweDI3LDB4NTMsMHg4MSwweDJFLAotMHgzMCwweDUzLDB4NEQsMHg4MSwweDgyLDB4NjMsMHg5MCwweDgwLDB4ODEsMHg4MiwweDgzLDB4ODQsMHg4NSwweDg2LDB4ODcsMHg4OCwKLTB4ODksMHg4QSwweDhCLDB4OEMsMHg4RCwweDhFLDB4OEYsMHgyNywweDAyLDB4MDAsMHgwMSwweDgwLDB4MjAsMHgyMCwweDU0LDB4NzgsCi0weDQ0LDB4MjAsMHgyRCwweDIwLDB4NzAsMHg2OSwweDZFLDB4MjAsMHgzMywweDFGLDB4MjcsMHg1MywweDgwLDB4MkUsMHgzMCwweDUzLAotMHg0RCwweDgxLDB4ODIsMHg2MywweDkwLDB4ODAsMHg4MSwweDgyLDB4ODMsMHg4NCwweDg1LDB4ODYsMHg4NywweDg4LDB4ODksMHg4QSwKLTB4OEIsMHg4QywweDhELDB4OEUsMHg4RiwweDI3LDB4MDIsMHgwMCwweDAxLDB4ODAsMHgyMCwweDIwLDB4NDQsMHg0MywweDQ0LDB4MjAsCi0weDJELDB4MjAsMHg3MCwweDY5LDB4NkUsMHgyMCwweDM1LDB4MUYsMHgyMCwweDIwLDB4MjAsMHgyMCwweDI3LDB4NTMsMHg4NSwweDJFLAotMHgzMSwweDgxLDB4ODIsMHg2MywweDg4LDB4ODAsMHg4MSwweDgyLDB4ODMsMHg4NCwweDg1LDB4ODYsMHg4NywweDI3LDB4MDIsMHgwMCwKLTB4MDEsMHg4MCwweDIwLDB4MjAsMHg0NCwweDUzLDB4NTIsMHgyMCwweDJELDB4MjAsMHg3MCwweDY5LDB4NkUsMHgyMCwweDM1LDB4MUYsCi0weDIwLDB4MjAsMHgyMCwweDIwLDB4MjcsMHg1MywweDg0LDB4MkUsMHgzMSwweDgxLDB4ODIsMHg2MywweDg4LDB4ODAsMHg4MSwweDgyLAotMHg4MywweDg0LDB4ODUsMHg4NiwweDg3LDB4MjcsMHgwMiwweDAwLDB4MDEsMHg4MCwweDIwLDB4MjAsMHg0MywweDU0LDB4NTMsMHgyMCwKLTB4MkQsMHgyMCwweDcwLDB4NjksMHg2RSwweDIwLDB4MzEsMHgxRiwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjcsMHg1MywweDgzLDB4MkUsCi0weDMxLDB4ODEsMHg4MiwweDYzLDB4ODgsMHg4MCwweDgxLDB4ODIsMHg4MywweDg0LDB4ODUsMHg4NiwweDg3LDB4MjcsMHgwMiwweDAwLAotMHgwMSwweDgwLDB4MjAsMHgyMCwweDUyLDB4NDksMHgyMCwweDJELDB4MjAsMHgyOCwweDZFLDB4MkUsMHg2MywweDJFLDB4MjksMHgxRiwKLTB4MjAsMHgyMCwweDIwLDB4MjAsMHgyNywweDUzLDB4ODcsMHgyRSwweDMxLDB4ODEsMHg4MiwweDYzLDB4ODgsMHg4MCwweDgxLDB4ODIsCi0weDgzLDB4ODQsMHg4NSwweDg2LDB4ODcsMHgyNywweDAyLDB4MDAsMHgwMSwweDgwLDB4MjAsMHgyMCwweDQ0LDB4NTQsMHg1MiwweDIwLAotMHgyRCwweDIwLDB4NzAsMHg2OSwweDZFLDB4MjAsMHgzMiwweDFGLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyNywweDUzLDB4ODYsMHgyRSwKLTB4MzEsMHg4MSwweDgyLDB4NjMsMHg4OCwweDgwLDB4ODEsMHg4MiwweDgzLDB4ODQsMHg4NSwweDg2LDB4ODcsMHgyNywweDAyLDB4MDAsCi0weDAxLDB4ODAsMHgyMCwweDIwLDB4NTIsMHg1NCwweDUzLDB4MjAsMHgyRCwweDIwLDB4NzAsMHg2OSwweDZFLDB4MjAsMHgzNywweDFGLAotMHgyMCwweDIwLDB4MjAsMHgyMCwweDI3LDB4NTMsMHg4MiwweDJFLDB4MzEsMHg4MSwweDgyLDB4NjMsMHg4OCwweDgwLDB4ODEsMHg4MiwKLTB4ODMsMHg4NCwweDg1LDB4ODYsMHg4NywweDI3LDB4MDIsMHgwMCwweDAxLDB4ODAsMHgyMCwweDIwLDB4NTIsMHg3OCwweDQ0LDB4MjAsCi0weDJELDB4MjAsMHg3MCwweDY5LDB4NkUsMHgyMCwweDM2LDB4MUYsMHgyMCwweDIwLDB4MjAsMHgyMCwweDI3LDB4NTMsMHg4MSwweDJFLAotMHgzMCwweDUzLDB4NEQsMHg4MSwweDgyLDB4NjMsMHg4OCwweDgwLDB4ODEsMHg4MiwweDgzLDB4ODQsMHg4NSwweDg2LDB4ODcsMHgyNywKLTB4MDIsMHgwMCwweDAxLDB4ODAsMHgyMCwweDIwLDB4NTQsMHg3OCwweDQ0LDB4MjAsMHgyRCwweDIwLDB4NzAsMHg2OSwweDZFLDB4MjAsCi0weDMzLDB4MUYsMHgyMCwweDIwLDB4MjAsMHgyMCwweDI3LDB4NTMsMHg4MCwweDJFLDB4MzAsMHg1MywweDRELDB4ODEsMHg4MiwweDYzLAotMHg4OCwweDgwLDB4ODEsMHg4MiwweDgzLDB4ODQsMHg4NSwweDg2LDB4ODcsMHgyNywweDAyLDB4MDAsMHgwMSwweDgwLDB4MjAsMHgyMCwKLTB4NDQsMHg0MywweDQ0LDB4MjAsMHgyRCwweDIwLDB4NzAsMHg2OSwweDZFLDB4MjAsMHgzMiwweDMwLDB4MUYsMHgyMCwweDIwLDB4MjAsCi0weDIwLDB4MjcsMHg1MywweDg1LDB4MkUsMHgzMSwweDgxLDB4ODIsMHg2MywweDg4LDB4ODAsMHg4MSwweDgyLDB4ODMsMHg4NCwweDg1LAotMHg4NiwweDg3LDB4MjcsMHgwMiwweDAwLDB4MDEsMHg4MCwweDIwLDB4MjAsMHg0NCwweDUzLDB4NTIsMHgyMCwweDJELDB4MjAsMHg3MCwKLTB4NjksMHg2RSwweDIwLDB4MzEsMHgzMSwweDFGLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyNywweDUzLDB4ODQsMHgyRSwweDMxLDB4ODEsCi0weDgyLDB4NjMsMHg4OCwweDgwLDB4ODEsMHg4MiwweDgzLDB4ODQsMHg4NSwweDg2LDB4ODcsMHgyNywweDAyLDB4MDAsMHgwMSwweDgwLAotMHgyMCwweDIwLDB4NDMsMHg1NCwweDUzLDB4MjAsMHgyRCwweDIwLDB4NzAsMHg2OSwweDZFLDB4MjAsMHgzNCwweDFGLDB4MjAsMHgyMCwKLTB4MjAsMHgyMCwweDI3LDB4NTMsMHg4MywweDJFLDB4MzEsMHg4MSwweDgyLDB4NjMsMHg4OCwweDgwLDB4ODEsMHg4MiwweDgzLDB4ODQsCi0weDg1LDB4ODYsMHg4NywweDI3LDB4MDIsMHgwMCwweDAxLDB4ODAsMHgyMCwweDIwLDB4NTIsMHg0OSwweDIwLDB4MkQsMHgyMCwweDcwLAotMHg2OSwweDZFLDB4MjAsMHgzMiwweDMyLDB4MUYsMHgyMCwweDIwLDB4MjAsMHgyMCwweDI3LDB4NTMsMHg4NywweDJFLDB4MzEsMHg4MSwKLTB4ODIsMHg2MywweDg4LDB4ODAsMHg4MSwweDgyLDB4ODMsMHg4NCwweDg1LDB4ODYsMHg4NywweDI3LDB4MDIsMHgwMCwweDAxLDB4ODAsCi0weDIwLDB4MjAsMHg0NCwweDU0LDB4NTIsMHgyMCwweDJELDB4MjAsMHg3MCwweDY5LDB4NkUsMHgyMCwweDM2LDB4MkYsMHgzOCwweDFGLAotMHgyMCwweDIwLDB4MjAsMHgyMCwweDI3LDB4NTMsMHg4NiwweDJFLDB4MzEsMHg4MSwweDgyLDB4NjMsMHg4OCwweDgwLDB4ODEsMHg4MiwKLTB4ODMsMHg4NCwweDg1LDB4ODYsMHg4NywweDI3LDB4MDIsMHgwMCwweDAxLDB4ODAsMHgyMCwweDIwLDB4NTIsMHg1NCwweDUzLDB4MjAsCi0weDJELDB4MjAsMHg3MCwweDY5LDB4NkUsMHgyMCwweDM1LDB4MUYsMHgyMCwweDIwLDB4MjAsMHgyMCwweDI3LDB4NTMsMHg4MiwweDJFLAotMHgzMSwweDgxLDB4ODIsMHg2MywweDg4LDB4ODAsMHg4MSwweDgyLDB4ODMsMHg4NCwweDg1LDB4ODYsMHg4NywweDI3LDB4MDIsMHgwMCwKLTB4MDEsMHg4MCwweDIwLDB4MjAsMHg1MiwweDc4LDB4NDQsMHgyMCwweDJELDB4MjAsMHg3MCwweDY5LDB4NkUsMHgyMCwweDMyLDB4MUYsCi0weDIwLDB4MjAsMHgyMCwweDIwLDB4MjcsMHg1MywweDgxLDB4MkUsMHgzMCwweDUzLDB4NEQsMHg4MSwweDgyLDB4NjMsMHg4OCwweDgwLAotMHg4MSwweDgyLDB4ODMsMHg4NCwweDg1LDB4ODYsMHg4NywweDI3LDB4MDIsMHgwMCwweDAxLDB4ODAsMHgyMCwweDIwLDB4NTQsMHg3OCwKLTB4NDQsMHgyMCwweDJELDB4MjAsMHg3MCwweDY5LDB4NkUsMHgyMCwweDMzLDB4MUYsMHgyMCwweDIwLDB4MjAsMHgyMCwweDI3LDB4NTMsCi0weDgwLDB4MkUsMHgzMCwweDUzLDB4NEQsMHg4MSwweDgyLDB4NjMsMHg4OCwweDgwLDB4ODEsMHg4MiwweDgzLDB4ODQsMHg4NSwweDg2LAotMHg4NywweDI3LDB4MDIsMHgwMCwweDY4LDB4MDQsMHg5NiwweDA0LDB4QjYsMHgwMywweDNDLDB4MDQsMHgwRSwweDA0LDB4ODksMHgwMywKLTB4NUMsMHgwMywweEUyLDB4MDMsMHg2MCwweDA4LDB4OEEsMHgwOCwweEJFLDB4MDcsMHgzOCwweDA4LDB4MEUsMHgwOCwweDk1LDB4MDcsCi0weDZDLDB4MDcsMHhFNiwweDA3LDB4MUMsMHgwNSwweDc0LDB4MDUsMHhGQSwweDA1LDB4QzQsMHgwNCwweEYwLDB4MDQsMHhDQywweDA1LAotMHhBMCwweDA1LDB4NDgsMHgwNSwweDc4LDB4MDYsMHhDOCwweDA2LDB4NDIsMHgwNywweDI4LDB4MDYsMHg1MCwweDA2LDB4MTgsMHgwNywKLTB4RjAsMHgwNiwweEEwLDB4MDYsMHgwMCwweDAwLDB4RjQsMHgwOCwweEY0LDB4MDgsMHhENCwweDBELDB4MDQsMHgwOSwweDA0LDB4MDksCi0weDA0LDB4MDksMHgwNCwweDA5LDB4NDIsMHgwMCwweDBDLDB4MDksMHgxQywweDA5LDB4RTUsMHgwRCwweDAyLDB4MDAsMHgxNCwweDA5LAotMHgwNCwweDA5LDB4RjQsMHgwRCwweDQzLDB4MDAsMHgxQywweDA5LDB4MEMsMHgwOSwweDA1LDB4MEUsMHgwMCwweDA0LDB4MDQsMHgwOSwKLTB4MTQsMHgwOSwweDEyLDB4MEUsMHgyQywweDA5LDB4MkMsMHgwOSwweDJDLDB4MDksMHgyQywweDA5LDB4MDAsMHgwMCwweDNDLDB4MDksCi0weDZDLDB4MDksMHgxRSwweDBFLDB4NzQsMHgwOSwweDc0LDB4MDksMHg3NCwweDA5LDB4NzQsMHgwOSwweDAwLDB4MDEsMHg0QywweDA5LAotMHgyQywweDA5LDB4MkQsMHgwRSwweDc0LDB4MDksMHg3NCwweDA5LDB4NzQsMHgwOSwweDc0LDB4MDksMHgwMCwweDAyLDB4NUMsMHgwOSwKLTB4M0MsMHgwOSwweDNELDB4MEUsMHg3NCwweDA5LDB4NzQsMHgwOSwweDc0LDB4MDksMHg3NCwweDA5LDB4MDAsMHgwMywweDZDLDB4MDksCi0weDRDLDB4MDksMHg0RCwweDBFLDB4NzQsMHgwOSwweDc0LDB4MDksMHg3NCwweDA5LDB4NzQsMHgwOSwweEZGLDB4MDAsMHgyQywweDA5LAotMHg1QywweDA5LDB4MDAsMHgwMCwweDAwLDB4MDUsMHg4NCwweDA5LDB4RUMsMHgwOSwweDVFLDB4MEUsMHhGNCwweDA5LDB4RjQsMHgwOSwKLTB4RjQsMHgwOSwweEY0LDB4MDksMHgwMCwweDA2LDB4OTQsMHgwOSwweDc0LDB4MDksMHg2OCwweDBFLDB4QUMsMHgwQSwweEFDLDB4MEEsCi0weEFDLDB4MEEsMHhBQywweDBBLDB4MDAsMHgwNywweEE0LDB4MDksMHg4NCwweDA5LDB4NzIsMHgwRSwweEJDLDB4MEEsMHhCQywweDBBLAotMHhCQywweDBBLDB4QkMsMHgwQSwweDAwLDB4MDgsMHhCNCwweDA5LDB4OTQsMHgwOSwweDdDLDB4MEUsMHhENCwweDBBLDB4RDQsMHgwQSwKLTB4RDQsMHgwQSwweEQ0LDB4MEEsMHgwMCwweDBCLDB4QzQsMHgwOSwweEE0LDB4MDksMHg4MywweDBFLDB4RkMsMHgwQSwweEZDLDB4MEEsCi0weEZDLDB4MEEsMHhGQywweDBBLDB4MDAsMHgwQywweEQ0LDB4MDksMHhCNCwweDA5LDB4OTAsMHgwRSwweDE0LDB4MEIsMHgxNCwweDBCLAotMHgxNCwweDBCLDB4MTQsMHgwQiwweDAwLDB4MDIsMHhFNCwweDA5LDB4QzQsMHgwOSwweEEwLDB4MEUsMHgyQywweDBCLDB4MkMsMHgwQiwKLTB4MkMsMHgwQiwweDJDLDB4MEIsMHgwNCwweDAwLDB4RUMsMHgwOSwweEQ0LDB4MDksMHgwRSwweDAwLDB4RkYsMHgwMCwweDc0LDB4MDksCi0weEU0LDB4MDksMHgwMCwweDAwLDB4ODIsMHgwMSwweEZDLDB4MDksMHhBNCwweDBBLDB4QUMsMHgwRSwweDgyLDB4MDIsMHgwNCwweDBBLAotMHhGNCwweDA5LDB4QUYsMHgwRSwweDgyLDB4MDMsMHgwQywweDBBLDB4RkMsMHgwOSwweEIyLDB4MEUsMHg4MiwweDA0LDB4MTQsMHgwQSwKLTB4MDQsMHgwQSwweEI2LDB4MEUsMHg4MiwweDA1LDB4MUMsMHgwQSwweDBDLDB4MEEsMHhCQywweDBFLDB4ODIsMHgwNiwweDI0LDB4MEEsCi0weDE0LDB4MEEsMHhDMCwweDBFLDB4ODIsMHgwNywweDJDLDB4MEEsMHgxQywweDBBLDB4QzQsMHgwRSwweDgyLDB4MDgsMHgzNCwweDBBLAotMHgyNCwweDBBLDB4QzgsMHgwRSwweDgyLDB4MDksMHgzQywweDBBLDB4MkMsMHgwQSwweENDLDB4MEUsMHg4MiwweDBBLDB4NDQsMHgwQSwKLTB4MzQsMHgwQSwweEQxLDB4MEUsMHg4MiwweDEwLDB4NEMsMHgwQSwweDNDLDB4MEEsMHhENiwweDBFLDB4ODIsMHgwQiwweDU0LDB4MEEsCi0weDQ0LDB4MEEsMHhEQiwweDBFLDB4ODIsMHgxMSwweDVDLDB4MEEsMHg0QywweDBBLDB4RTAsMHgwRSwweDgyLDB4MEMsMHg2NCwweDBBLAotMHg1NCwweDBBLDB4RTUsMHgwRSwweDgyLDB4MTIsMHg2QywweDBBLDB4NUMsMHgwQSwweEVBLDB4MEUsMHg4MiwweDBELDB4NzQsMHgwQSwKLTB4NjQsMHgwQSwweEVGLDB4MEUsMHg4MiwweDBFLDB4N0MsMHgwQSwweDZDLDB4MEEsMHhGNCwweDBFLDB4ODIsMHgwRiwweDg0LDB4MEEsCi0weDc0LDB4MEEsMHhGQiwweDBFLDB4ODIsMHgxMywweDhDLDB4MEEsMHg3QywweDBBLDB4MDIsMHgwRiwweDgyLDB4MTQsMHg5NCwweDBBLAotMHg4NCwweDBBLDB4MDksMHgwRiwweDgyLDB4MTUsMHg5QywweDBBLDB4OEMsMHgwQSwweDEwLDB4MEYsMHg4MiwweDE2LDB4QTQsMHgwQSwKLTB4OTQsMHgwQSwweDE3LDB4MEYsMHg4MiwweDE3LDB4RjQsMHgwOSwweDlDLDB4MEEsMHgxRSwweDBGLDB4ODIsMHgwMiwweEI0LDB4MEEsCi0weEI0LDB4MEEsMHgyNiwweDBGLDB4ODIsMHgwMywweEFDLDB4MEEsMHhBQywweDBBLDB4MkQsMHgwRiwweDgyLDB4MDAsMHhDNCwweDBBLAotMHhDQywweDBBLDB4MzQsMHgwRiwweDgyLDB4MDEsMHhDQywweDBBLDB4QkMsMHgwQSwweDNGLDB4MEYsMHg4MiwweDAyLDB4QkMsMHgwQSwKLTB4QzQsMHgwQSwweDRELDB4MEYsMHg4MiwweDAwLDB4REMsMHgwQSwweEY0LDB4MEEsMHg1OSwweDBGLDB4ODIsMHgwMSwweEU0LDB4MEEsCi0weEQ0LDB4MEEsMHg2MywweDBGLDB4ODIsMHgwMiwweEVDLDB4MEEsMHhEQywweDBBLDB4NkUsMHgwRiwweDgyLDB4MDMsMHhGNCwweDBBLAotMHhFNCwweDBBLDB4N0EsMHgwRiwweDgyLDB4MDQsMHhENCwweDBBLDB4RUMsMHgwQSwweDg3LDB4MEYsMHg4MiwweDAwLDB4MDQsMHgwQiwKLTB4MEMsMHgwQiwweDkzLDB4MEYsMHg4MiwweDAxLDB4MEMsMHgwQiwweEZDLDB4MEEsMHg5QiwweDBGLDB4ODIsMHgwMiwweEZDLDB4MEEsCi0weDA0LDB4MEIsMHhBNywweDBGLDB4ODIsMHgwMCwweDFDLDB4MEIsMHgyNCwweDBCLDB4QjAsMHgwRiwweDgyLDB4MDEsMHgyNCwweDBCLAotMHgxNCwweDBCLDB4QjUsMHgwRiwweDgyLDB4MDIsMHgxNCwweDBCLDB4MUMsMHgwQiwweEJFLDB4MEYsMHg0NCwweDAwLDB4MzQsMHgwQiwKLTB4QTQsMHgwQiwweDlDLDB4MDEsMHg0NCwweDAxLDB4M0MsMHgwQiwweDJDLDB4MEIsMHhBMywweDAxLDB4NDQsMHgwMiwweDQ0LDB4MEIsCi0weDM0LDB4MEIsMHhBQSwweDAxLDB4NDQsMHgwMywweDRDLDB4MEIsMHgzQywweDBCLDB4QjEsMHgwMSwweDQ0LDB4MDQsMHg1NCwweDBCLAotMHg0NCwweDBCLDB4QjgsMHgwMSwweDQ0LDB4MDUsMHg1QywweDBCLDB4NEMsMHgwQiwweEJGLDB4MDEsMHg0NCwweDA2LDB4NjQsMHgwQiwKLTB4NTQsMHgwQiwweEM2LDB4MDEsMHg0NCwweDA3LDB4NkMsMHgwQiwweDVDLDB4MEIsMHhDRCwweDAxLDB4NDQsMHgwOCwweDc0LDB4MEIsCi0weDY0LDB4MEIsMHhENCwweDAxLDB4NDQsMHgwOSwweDdDLDB4MEIsMHg2QywweDBCLDB4REIsMHgwMSwweDQ0LDB4MEEsMHg4NCwweDBCLAotMHg3NCwweDBCLDB4RTIsMHgwMSwweDQ0LDB4MEIsMHg4QywweDBCLDB4N0MsMHgwQiwweEVBLDB4MDEsMHg0NCwweDBDLDB4OTQsMHgwQiwKLTB4ODQsMHgwQiwweEYyLDB4MDEsMHg0NCwweDBELDB4OUMsMHgwQiwweDhDLDB4MEIsMHhGQSwweDAxLDB4NDQsMHgwRSwweEE0LDB4MEIsCi0weDk0LDB4MEIsMHgwMiwweDAyLDB4NDQsMHgwRiwweDJDLDB4MEIsMHg5QywweDBCLDB4MEEsMHgwMiwweDE3LDB4MUYsMHgwRiwweDJGLAotMHgwMCwweDAwLDB4MDEsMHg4MCwweDc4LDB4NzgsMHgzQSwweDIwLDB4NzQsMHg3OCwweDIwLDB4NjMsMHg3MCwweDczLDB4MjAsMHgyQSwKLTB4MkEsMHgyQSwweDJBLDB4MkEsMHgwMiwweDAwLDB4MDEsMHg4MCwweDc4LDB4NzgsMHgzQSwweDIwLDB4NzQsMHg3OCwweDIwLDB4NjMsCi0weDcwLDB4NzMsMHgyMCwweDJBLDB4MkEsMHgyQSwweDJBLDB4MkEsMHgwMiwweDAwLDB4MDEsMHg4MCwweDc4LDB4NzgsMHgzQSwweDIwLAotMHg3NCwweDc4LDB4MjAsMHg2MywweDcwLDB4NzMsMHgyMCwweDJBLDB4MkEsMHgyQSwweDJBLDB4MkEsMHgwMiwweDAwLDB4MDEsMHg4MCwKLTB4NzgsMHg3OCwweDNBLDB4MjAsMHg3NCwweDc4LDB4MjAsMHg2MywweDcwLDB4NzMsMHgyMCwweDJBLDB4MkEsMHgyQSwweDJBLDB4MkEsCi0weDAyLDB4MDAsMHgwMSwweEMwLDB4NzgsMHg3OCwweDNBLDB4MjAsMHg3MiwweDYzLDB4MjAsMHg2MywweDcwLDB4NzMsMHgyMCwweDJBLAotMHgyQSwweDJBLDB4MkEsMHgyQSwweDAyLDB4MDAsMHgwMSwweEMwLDB4NzgsMHg3OCwweDNBLDB4MjAsMHg3MiwweDYzLDB4MjAsMHg2MywKLTB4NzAsMHg3MywweDIwLDB4MkEsMHgyQSwweDJBLDB4MkEsMHgyQSwweDAyLDB4MDAsMHgwMSwweEMwLDB4NzgsMHg3OCwweDNBLDB4MjAsCi0weDcyLDB4NjMsMHgyMCwweDYzLDB4NzAsMHg3MywweDIwLDB4MkEsMHgyQSwweDJBLDB4MkEsMHgyQSwweDAyLDB4MDAsMHgwMSwweEMwLAotMHg3OCwweDc4LDB4M0EsMHgyMCwweDcyLDB4NjMsMHgyMCwweDYzLDB4NzAsMHg3MywweDIwLDB4MkEsMHgyQSwweDJBLDB4MkEsMHgyQSwKLTB4MDIsMHgwMCwweDAxLDB4ODAsMHg0OSwweDZFLDB4NzMsMHg3NCwweDYxLDB4NkMsMHg2QywweDIwLDB4NEMsMHg2RiwweDZGLDB4NzAsCi0weDYyLDB4NjEsMHg2MywweDZCLDB4MUYsMHg1MCwweDcyLDB4NjUsMHg3MywweDczLDB4MjAsMHg4MCwweDIwLDB4NzQsMHg2RiwweDIwLAotMHg3MywweDc0LDB4NjEsMHg3MiwweDc0LDB4MDIsMHgwMCwweDAxLDB4ODAsMHgyMCwweDQzLDB4NjEsMHg2MiwweDZDLDB4NjUsMHgyMCwKLTB4NzQsMHg2RiwweDIwLDB4NTIsMHg2NSwweDZELDB4NkYsMHg3NCwweDY1LDB4MUYsMHg1MCwweDcyLDB4NjUsMHg3MywweDczLDB4MjAsCi0weDgwLDB4MjAsMHg3NCwweDZGLDB4MjAsMHg3MywweDc0LDB4NjEsMHg3MiwweDc0LDB4MDIsMHgwMCwweDAxLDB4ODAsMHgyMCwweDRDLAotMHg2RiwweDYzLDB4NjEsMHg2QywweDIwLDB4NEMsMHg2RiwweDZGLDB4NzAsMHg2MiwweDYxLDB4NjMsMHg2QiwweDIwLDB4MUYsMHgyMCwKLTB4MjAsMHg1MiwweDc1LDB4NkUsMHg2RSwweDY5LDB4NkUsMHg2NywweDIwLDB4MkUsMHgyRSwweDJFLDB4MDIsMHgwMCwweDAxLDB4ODAsCi0weDUyLDB4NjUsMHg2RCwweDZGLDB4NzQsMHg2NSwweDIwLDB4NEMsMHg2RiwweDZGLDB4NzAsMHg2MiwweDYxLDB4NjMsMHg2QiwweDIwLAotMHgxRiwweDIwLDB4MjAsMHg1MiwweDc1LDB4NkUsMHg2RSwweDY5LDB4NkUsMHg2NywweDIwLDB4MkUsMHgyRSwweDJFLDB4MDIsMHgwMCwKLTB4MDEsMHg4MCwweDIwLDB4NDksMHg2RSwweDc0LDB4NzIsMHg2RSwweDZDLDB4MjAsMHg0QywweDZGLDB4NkYsMHg3MCwweDYyLDB4NjEsCi0weDYzLDB4NkIsMHgxRiwweDIwLDB4MjAsMHg1MiwweDc1LDB4NkUsMHg2RSwweDY5LDB4NkUsMHg2NywweDIwLDB4MkUsMHgyRSwweDJFLAotMHgwMiwweDAwLDB4MDEsMHg4MCwweDU0LDB4NzIsMHg2MSwweDZFLDB4NzMsMHg2RCwweDY5LDB4NzQsMHgyMCwweDUwLDB4NjEsMHg3NCwKLTB4NzQsMHg2NSwweDcyLDB4NkUsMHgxRiwweDIwLDB4MjAsMHg1MiwweDc1LDB4NkUsMHg2RSwweDY5LDB4NkUsMHg2NywweDIwLDB4MkUsCi0weDJFLDB4MkUsMHgwMiwweDAwLDB4MDEsMHg4MCwweDIwLDB4MjAsMHgzMCwweDNBLDB4MjAsMHgyNywweDQzLDB4ODAsMHgwMCwweDAxLAotMHg4MCwweDIwLDB4MjAsMHgzMSwweDNBLDB4MjAsMHgyNywweDQzLDB4ODEsMHgwMCwweDAxLDB4ODAsMHgyMCwweDIwLDB4MzIsMHgzQSwKLTB4MjAsMHgyNywweDQzLDB4ODIsMHgwMCwweDAxLDB4ODAsMHgyMCwweDIwLDB4MzMsMHgzQSwweDIwLDB4MjcsMHg0MywweDgzLDB4MDAsCi0weDAxLDB4ODAsMHgyMCwweDIwLDB4MzQsMHgzQSwweDIwLDB4MjcsMHg0MywweDg0LDB4MDAsMHgwMSwweDgwLDB4MjAsMHgyMCwweDM1LAotMHgzQSwweDIwLDB4MjcsMHg0MywweDg1LDB4MDAsMHgwMSwweDgwLDB4MjAsMHgyMCwweDM2LDB4M0EsMHgyMCwweDI3LDB4NDMsMHg4NiwKLTB4MDAsMHgwMSwweDgwLDB4MjAsMHgyMCwweDM3LDB4M0EsMHgyMCwweDI3LDB4NDMsMHg4NywweDAwLDB4MDEsMHg4MCwweDIwLDB4MjAsCi0weDM4LDB4M0EsMHgyMCwweDI3LDB4NDMsMHg4OCwweDAwLDB4MDEsMHg4MCwweDIwLDB4MjAsMHgzOSwweDNBLDB4MjAsMHgyNywweDQzLAotMHg4OSwweDAwLDB4MDEsMHg4MCwweDIwLDB4MzEsMHgzMCwweDNBLDB4MjAsMHgyNywweDQzLDB4OEEsMHgwMCwweDAxLDB4ODAsMHgyMCwKLTB4MzEsMHgzMSwweDNBLDB4MjAsMHgyNywweDQzLDB4OEIsMHgwMCwweDAxLDB4ODAsMHgyMCwweDMxLDB4MzIsMHgzQSwweDIwLDB4MjcsCi0weDQzLDB4OEMsMHgwMCwweDAxLDB4ODAsMHgyMCwweDMxLDB4MzMsMHgzQSwweDIwLDB4MjcsMHg0MywweDhELDB4MDAsMHgwMSwweDgwLAotMHgyMCwweDMxLDB4MzQsMHgzQSwweDIwLDB4MjcsMHg0MywweDhFLDB4MDAsMHgwMSwweDgwLDB4MjAsMHgzMSwweDM1LDB4M0EsMHgyMCwKLTB4MjcsMHg0MywweDhGLDB4MDAsMHgyQSwweDJBLDB4MjAsMHg0RCwweDYxLDB4NjksMHg2RSwweDIwLDB4MjAsMHg0RCwweDY1LDB4NkUsCi0weDc1LDB4MjAsMHgyQSwweDJBLDB4MDAsMHg0RCwweDZGLDB4NkUsMHg2OSwweDc0LDB4NkYsMHg3MiwweDIwLDB4NjEsMHgyMCwweDUwLAotMHg2RiwweDcyLDB4NzQsMHgwMCwweDRELDB4NkYsMHg2RSwweDY5LDB4NzQsMHg2RiwweDcyLDB4MjAsMHg2MSwweDIwLDB4NTMsMHg2OSwKLTB4NjcsMHg2RSwweDYxLDB4NkMsMHgwMCwweDQ1LDB4NzMsMHg3NCwweDY5LDB4NkQsMHg2MSwweDc0LDB4NjUsMHgyMCwweDQzLDB4NTAsCi0weDUzLDB4MDAsMHg0NCwweDY5LDB4NjEsMHg2NywweDZFLDB4NkYsMHg3MywweDc0LDB4NjksMHg2MywweDczLDB4MDAsMHg0QywweDZGLAotMHg2MywweDYxLDB4NkMsMHgyMCwweDRDLDB4NkYsMHg2RiwweDcwLDB4NjIsMHg2MSwweDYzLDB4NkIsMHgwMCwweDUyLDB4NjUsMHg2RCwKLTB4NkYsMHg3NCwweDY1LDB4MjAsMHg0QywweDZGLDB4NkYsMHg3MCwweDYyLDB4NjEsMHg2MywweDZCLDB4MDAsMHg0OSwweDZFLDB4NzQsCi0weDcyLDB4NkUsMHg2QywweDIwLDB4NEMsMHg2RiwweDZGLDB4NzAsMHg2MiwweDYxLDB4NjMsMHg2QiwweDAwLDB4NTQsMHg3MiwweDYxLAotMHg2RSwweDczLDB4NkQsMHg2OSwweDc0LDB4MjAsMHg1MCwweDYxLDB4NzQsMHg3NCwweDY1LDB4NzIsMHg2RSwweDAwLDB4NDIsMHg2MSwKLTB4NzUsMHg2NCwweDIwLDB4NTIsMHg2MSwweDc0LDB4NjUsMHgwMCwweDQ0LDB4NjEsMHg3NCwweDYxLDB4MjAsMHg0MiwweDY5LDB4NzQsCi0weDczLDB4MDAsMHg1MywweDc0LDB4NkYsMHg3MCwweDIwLDB4NDIsMHg2OSwweDc0LDB4NzMsMHgwMCwweDUwLDB4NjEsMHg3MiwweDY5LAotMHg3NCwweDc5LDB4MDAsMHg0NCwweDYxLDB4NzQsMHg2MSwweDIwLDB4NTAsMHg2MSwweDc0LDB4NzQsMHg2NSwweDcyLDB4NkUsMHgwMCwKLTB4NTQsMHg3OCwweDIwLDB4NDYsMHg2QywweDZGLDB4NzcsMHgyMCwweDQzLDB4NkYsMHg2RSwweDc0LDB4NzIsMHg2RiwweDZDLDB4MDAsCi0weDUwLDB4NkYsMHg3MiwweDc0LDB4MjAsMHg0RSwweDc1LDB4NkQsMHg2MiwweDY1LDB4NzIsMHgwMCwweDM1LDB4MzAsMHgwMCwweDM3LAotMHgzNSwweDAwLDB4MzEsMHgzMSwweDMwLDB4MDAsMHgzMSwweDMzLDB4MzQsMHgyRSwweDM1LDB4MDAsMHgzMSwweDM1LDB4MzAsMHgwMCwKLTB4MzIsMHgzMCwweDMwLDB4MDAsMHgzMywweDMwLDB4MzAsMHgwMCwweDM2LDB4MzAsMHgzMCwweDAwLDB4MzEsMHgzMiwweDMwLDB4MzAsCi0weDAwLDB4MzEsMHgzOCwweDMwLDB4MzAsMHgwMCwweDMyLDB4MzAsMHgzMCwweDMwLDB4MDAsMHgzMiwweDM0LDB4MzAsMHgzMCwweDAwLAotMHgzMywweDM2LDB4MzAsMHgzMCwweDAwLDB4MzQsMHgzOCwweDMwLDB4MzAsMHgwMCwweDM3LDB4MzIsMHgzMCwweDMwLDB4MDAsMHgzOSwKLTB4MzYsMHgzMCwweDMwLDB4MDAsMHgzMSwweDM5LDB4MkMsMHgzMiwweDMwLDB4MzAsMHgwMCwweDMzLDB4MzgsMHgyQywweDM0LDB4MzAsCi0weDMwLDB4MDAsMHgzNSwweDM2LDB4MkMsMHgzMCwweDMwLDB4MzAsMHgwMCwweDM1LDB4MzcsMHgyQywweDM2LDB4MzAsMHgzMCwweDAwLAotMHgzNiwweDM0LDB4MkMsMHgzMCwweDMwLDB4MzAsMHgwMCwweDM3LDB4MzYsMHgyQywweDM4LDB4MzAsMHgzMCwweDAwLDB4MzEsMHgzMSwKLTB4MzUsMHgyQywweDMyLDB4MzAsMHgzMCwweDAwLDB4MzcsMHgyMCwweDYyLDB4NjksMHg3NCwweDczLDB4MDAsMHgzOCwweDIwLDB4NjIsCi0weDY5LDB4NzQsMHg3MywweDAwLDB4MzEsMHgyMCwweDczLDB4NzQsMHg2RiwweDcwLDB4MjAsMHg2MiwweDY5LDB4NzQsMHgwMCwweDMxLAotMHgyRSwweDM1LDB4MjAsMHg3MywweDc0LDB4NkYsMHg3MCwweDIwLDB4NjIsMHg2OSwweDc0LDB4NzMsMHgwMCwweDMyLDB4MjAsMHg3MywKLTB4NzQsMHg2RiwweDcwLDB4MjAsMHg2MiwweDY5LDB4NzQsMHg3MywweDAwLDB4NkUsMHg2RiwweDIwLDB4NzAsMHg2MSwweDcyLDB4NjksCi0weDc0LDB4NzksMHgwMCwweDZGLDB4NjQsMHg2NCwweDIwLDB4NzAsMHg2MSwweDcyLDB4NjksMHg3NCwweDc5LDB4MDAsMHg2NSwweDc2LAotMHg2NSwweDZFLDB4MjAsMHg3MCwweDYxLDB4NzIsMHg2OSwweDc0LDB4NzksMHgwMCwweDczLDB4NzAsMHg2MSwweDYzLDB4NjUsMHgyMCwKLTB4NzAsMHg2MSwweDcyLDB4NjksMHg3NCwweDc5LDB4MDAsMHg2RCwweDYxLDB4NzIsMHg2QiwweDIwLDB4NzAsMHg2MSwweDcyLDB4NjksCi0weDc0LDB4NzksMHgwMCwweDQzLDB4NkYsMHg2QywweDc1LDB4NkQsMHg2RSwweDczLDB4MDAsMHg0MiwweDYxLDB4NzIsMHg2MiwweDY1LAotMHg3MiwweDIwLDB4NTAsMHg2RiwweDZDLDB4NjUsMHgwMCwweDU1LDB4NTUsMHg1NSwweDU1LDB4NTUsMHgyRSwweDJFLDB4MkUsMHgwMCwKLTB4NEUsMHg2RiwweDZFLDB4NjUsMHgwMCwweDU4LDB4NkYsMHg2RSwweDJGLDB4NTgsMHg2RiwweDY2LDB4NjYsMHgwMCwweDQzLDB4NTQsCi0weDUzLDB4MDAsMHg1MCwweDcyLDB4NjUsMHg3MywweDczLDB4MjAsMHg4MCwweDIwLDB4NjYsMHg2RiwweDcyLDB4MjAsMHg2RCwweDY1LAotMHg2RSwweDc1LDB4MDAsMHgyOCwweDYzLDB4NkYsMHg3NSwweDZFLDB4NzQsMHg2OSwweDZFLDB4NjcsMHgyRSwweDJFLDB4MkUsMHgyOSwKLTB4MDAsMHgwMCwweDY1LDB4NEUsMHg2NCwweDIwLDB4NEYsMHg2NiwweDIwLDB4NDMsMHg2RiwweDQ0LDB4NjUsMHgwMCwweDAwLDB4MDAsCi0weDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLAotMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwKLTB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsCi0weDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLAotMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwKLTB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsCi0weDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLAotMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwKLTB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsCi0weDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLAotMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwKLTB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsCi0weDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLAotMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwKLX07CmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvaXAyL2lwMmJhc2UuYyBiL2RyaXZlcnMvY2hhci9pcDIvaXAyYmFzZS5jCmluZGV4IDQzNWNjZmMuLjgxNTVlMjQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9pcDIvaXAyYmFzZS5jCisrKyBiL2RyaXZlcnMvY2hhci9pcDIvaXAyYmFzZS5jCkBAIC0yMSwxMCArMjEsOSBAQAogI2VuZGlmCiAKICNpbmNsdWRlICJpcDJ0eXBlcy5oIgkJCi0jaW5jbHVkZSAiZmlwX2Zpcm0uaCIJCS8vIHRoZSBtZWF0CiAKIGludAotaXAyX2xvYWRtYWluKGludCAqLCBpbnQgICosIHVuc2lnbmVkIGNoYXIgKiwgaW50ICk7IC8vIHJlZiBpbnRvIGlwMm1haW4uYworaXAyX2xvYWRtYWluKGludCAqLCBpbnQgKik7IC8vIHJlZiBpbnRvIGlwMm1haW4uYwogCiAvKiBOb3RlOiBBZGQgY29tcGlsZWQgaW4gZGVmYXVsdHMgdG8gdGhlc2UgYXJyYXlzLCBub3QgdG8gdGhlIHN0cnVjdHVyZQogCWluIGlwMi5oIGFueSBsb25nZXIuICBUaGF0IHN0cnVjdHVyZSBXSUxMIGdldCBvdmVycmlkZGVuCkBAIC01Miw3ICs1MSw3IEBACiAJCWlycVswXSA9IGlycVsxXSA9IGlycVsyXSA9IGlycVszXSA9IDA7CiAJfQogCi0JcmV0dXJuIGlwMl9sb2FkbWFpbihpbyxpcnEsKHVuc2lnbmVkIGNoYXIgKilmaXBfZmlybSxzaXplb2YoZmlwX2Zpcm0pKTsKKwlyZXR1cm4gaXAyX2xvYWRtYWluKGlvLCBpcnEpOwogfQogbW9kdWxlX2luaXQoaXAyX2luaXQpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvaXAyL2lwMm1haW4uYyBiL2RyaXZlcnMvY2hhci9pcDIvaXAybWFpbi5jCmluZGV4IGMxMmNmOGYuLjlhMjM5NGMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9pcDIvaXAybWFpbi5jCisrKyBiL2RyaXZlcnMvY2hhci9pcDIvaXAybWFpbi5jCkBAIC05OCw2ICs5OCw5IEBACiAjaW5jbHVkZSA8bGludXgvbWFqb3IuaD4KICNpbmNsdWRlIDxsaW51eC93YWl0Lmg+CiAjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KKyNpbmNsdWRlIDxsaW51eC9maXJtd2FyZS5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgogCiAjaW5jbHVkZSA8bGludXgvdHR5Lmg+CiAjaW5jbHVkZSA8bGludXgvdHR5X2ZsaXAuaD4KQEAgLTE1NSw5ICsxNTgsNyBAQAogc3RhdGljIGNoYXIgKnBjSXBsICAgIAkJID0gImlwMmlwbCI7CiAKIC8vIGNoZWV6eSBrbHVkZ2Ugb3IgZ2VuaXVzIC0geW91IGRlY2lkZT8KLWludCBpcDJfbG9hZG1haW4oaW50ICosIGludCAqLCB1bnNpZ25lZCBjaGFyICosIGludCk7Ci1zdGF0aWMgdW5zaWduZWQgY2hhciAqRmlwX2Zpcm13YXJlOwotc3RhdGljIGludCBGaXBfZmlybXdhcmVfc2l6ZTsKK2ludCBpcDJfbG9hZG1haW4oaW50ICosIGludCAqKTsKIAogLyoqKioqKioqKioqKioqKioqKioqKioqLwogLyogRnVuY3Rpb24gUHJvdG90eXBlcyAqLwpAQCAtMjA4LDcgKzIwOSw3IEBACiBzdGF0aWMgaW50IER1bXBUcmFjZUJ1ZmZlcihjaGFyIF9fdXNlciAqLCBpbnQpOwogc3RhdGljIGludCBEdW1wRmlmb0J1ZmZlciggY2hhciBfX3VzZXIgKiwgaW50KTsKIAotc3RhdGljIHZvaWQgaXAyX2luaXRfYm9hcmQoaW50KTsKK3N0YXRpYyB2b2lkIGlwMl9pbml0X2JvYXJkKGludCwgY29uc3Qgc3RydWN0IGZpcm13YXJlICopOwogc3RhdGljIHVuc2lnbmVkIHNob3J0IGZpbmRfZWlzYV9ib2FyZChpbnQpOwogCiAvKioqKioqKioqKioqKioqLwpAQCAtNDc0LDggKzQ3NSwyNyBAQAogLyogU0FfUkFORE9NICAgLSBjYW4gYmUgc291cmNlIGZvciBjZXJ0LiByYW5kb20gbnVtYmVyIGdlbmVyYXRvcnMgKi8KICNkZWZpbmUgSVAyX1NBX0ZMQUdTCTAKIAorCitzdGF0aWMgY29uc3Qgc3RydWN0IGZpcm13YXJlICppcDJfcmVxdWVzdF9maXJtd2FyZSh2b2lkKQoreworCXN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXY7CisJY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdzsKKworCXBkZXYgPSBwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXJfc2ltcGxlKCJpcDIiLCAwLCBOVUxMLCAwKTsKKwlpZiAoSVNfRVJSKHBkZXYpKSB7CisJCXByaW50ayhLRVJOX0VSUiAiRmFpbGVkIHRvIHJlZ2lzdGVyIHBsYXRmb3JtIGRldmljZSBmb3IgaXAyXG4iKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCWlmIChyZXF1ZXN0X2Zpcm13YXJlKCZmdywgImludGVsbGlwb3J0Mi5iaW4iLCAmcGRldi0+ZGV2KSkgeworCQlwcmludGsoS0VSTl9FUlIgIkZhaWxlZCB0byBsb2FkIGZpcm13YXJlICdpbnRlbGxpcG9ydDIuYmluJ1xuIik7CisJCWZ3ID0gTlVMTDsKKwl9CisJcGxhdGZvcm1fZGV2aWNlX3VucmVnaXN0ZXIocGRldik7CisJcmV0dXJuIGZ3OworfQorCiBpbnQKLWlwMl9sb2FkbWFpbihpbnQgKmlvcCwgaW50ICppcnFwLCB1bnNpZ25lZCBjaGFyICpmaXJtd2FyZSwgaW50IGZpcm1zaXplKSAKK2lwMl9sb2FkbWFpbihpbnQgKmlvcCwgaW50ICppcnFwKQogewogCWludCBpLCBqLCBib3g7CiAJaW50IGVyciA9IDA7CkBAIC00ODMsNiArNTAzLDcgQEAKIAlpMmVCb3JkU3RyUHRyIHBCID0gTlVMTDsKIAlpbnQgcmMgPSAtMTsKIAlzdGF0aWMgc3RydWN0IHBjaV9kZXYgKnBjaV9kZXZfaSA9IE5VTEw7CisJY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdyA9IE5VTEw7CiAKIAlpcDJ0cmFjZSAoSVRSQ19OT19QT1JULCBJVFJDX0lOSVQsIElUUkNfRU5URVIsIDAgKTsKIApAQCAtNTE2LDkgKzUzNyw2IEBACiAJfQogCXBvbGxfb25seSA9ICFwb2xsX29ubHk7CiAKLQlGaXBfZmlybXdhcmUgPSBmaXJtd2FyZTsKLQlGaXBfZmlybXdhcmVfc2l6ZSA9IGZpcm1zaXplOwotCiAJLyogQW5ub3VuY2Ugb3VyIHByZXNlbmNlICovCiAJcHJpbnRrKCBLRVJOX0lORk8gIiVzIHZlcnNpb24gJXNcbiIsIHBjTmFtZSwgcGNWZXJzaW9uICk7CiAKQEAgLTYzOCwxMCArNjU2LDE4IEBACiAJCX0KIAl9CiAJZm9yICggaSA9IDA7IGkgPCBJUDJfTUFYX0JPQVJEUzsgKytpICkgeworCQkvKiBXZSBkb24ndCB3YW50IHRvIHJlcXVlc3QgdGhlIGZpcm13YXJlIHVubGVzcyB3ZSBoYXZlIGF0CisJCSAgIGxlYXN0IG9uZSBib2FyZCAqLwogCQlpZiAoIGkyQm9hcmRQdHJUYWJsZVtpXSAhPSBOVUxMICkgewotCQkJaXAyX2luaXRfYm9hcmQoIGkgKTsKKwkJCWlmICghZncpCisJCQkJZncgPSBpcDJfcmVxdWVzdF9maXJtd2FyZSgpOworCQkJaWYgKCFmdykKKwkJCQlicmVhazsKKwkJCWlwMl9pbml0X2JvYXJkKGksIGZ3KTsKIAkJfQogCX0KKwlpZiAoZncpCisJCXJlbGVhc2VfZmlybXdhcmUoZncpOwogCiAJaXAydHJhY2UgKElUUkNfTk9fUE9SVCwgSVRSQ19JTklULCAyLCAwICk7CiAKQEAgLTc2OSw3ICs3OTUsNyBAQAogLyogYXJlIHJlcG9ydGVkIG9uIHRoZSBjb25zb2xlLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiBzdGF0aWMgdm9pZAotaXAyX2luaXRfYm9hcmQoIGludCBib2FyZG51bSApCitpcDJfaW5pdF9ib2FyZChpbnQgYm9hcmRudW0sIGNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZncpCiB7CiAJaW50IGk7CiAJaW50IG5wb3J0cyA9IDAsIG5ib3hlcyA9IDA7CkBAIC03ODksNyArODE1LDcgQEAKIAkJZ290byBlcnJfaW5pdGlhbGl6ZTsKIAl9CiAKLQlpZiAoIGlpRG93bmxvYWRBbGwgKCBwQiwgKGxvYWRIZHJTdHJQdHIpRmlwX2Zpcm13YXJlLCAxLCBGaXBfZmlybXdhcmVfc2l6ZSApCisJaWYgKCBpaURvd25sb2FkQWxsICggcEIsIChsb2FkSGRyU3RyUHRyKWZ3LT5kYXRhLCAxLCBmdy0+c2l6ZSApCiAJICAgICE9IElJX0RPV05fR09PRCApIHsKIAkJcHJpbnRrICggS0VSTl9FUlIgIklQMjogZmFpbGVkIHRvIGRvd25sb2FkIGxvYWR3YXJlXG4iICk7CiAJCWdvdG8gZXJyX3JlbGVhc2VfcmVnaW9uOwpAQCAtMjkwOCw0MiArMjkzNCwxMSBAQAogc3RhdGljIGludAogaXAyX2lwbF9vcGVuKCBzdHJ1Y3QgaW5vZGUgKnBJbm9kZSwgc3RydWN0IGZpbGUgKnBGaWxlICkKIHsKLQl1bnNpZ25lZCBpbnQgaXBsbWlub3IgPSBpbWlub3IocElub2RlKTsKLQlpMmVCb3JkU3RyUHRyIHBCOwotCWkyQ2hhblN0clB0ciAgcENoOwogCiAjaWZkZWYgSVAyREVCVUdfSVBMCiAJcHJpbnRrIChLRVJOX0RFQlVHICJJUDJJUEw6IG9wZW5cbiIgKTsKICNlbmRpZgotCi0Jc3dpdGNoKGlwbG1pbm9yKSB7Ci0JLy8gVGhlc2UgYXJlIHRoZSBJUEwgZGV2aWNlcwotCWNhc2UgMDoKLQljYXNlIDQ6Ci0JY2FzZSA4OgotCWNhc2UgMTI6Ci0JCWJyZWFrOwotCi0JLy8gVGhlc2UgYXJlIHRoZSBzdGF0dXMgZGV2aWNlcwotCWNhc2UgMToKLQljYXNlIDU6Ci0JY2FzZSA5OgotCWNhc2UgMTM6Ci0JCWJyZWFrOwotCi0JLy8gVGhlc2UgYXJlIHRoZSBkZWJ1ZyBkZXZpY2VzCi0JY2FzZSAyOgotCWNhc2UgNjoKLQljYXNlIDEwOgotCWNhc2UgMTQ6Ci0JCXBCID0gaTJCb2FyZFB0clRhYmxlW2lwbG1pbm9yIC8gNF07Ci0JCXBDaCA9IChpMkNoYW5TdHJQdHIpIHBCLT5pMmVDaGFubmVsUHRyOwotCQlicmVhazsKLQotCS8vIFRoaXMgaXMgdGhlIHRyYWNlIGRldmljZQotCWNhc2UgMzoKLQkJYnJlYWs7Ci0JfQorCWN5Y2xlX2tlcm5lbF9sb2NrKCk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9pcDI3LXJ0Yy5jIGIvZHJpdmVycy9jaGFyL2lwMjctcnRjLmMKaW5kZXggODZlNjUzOC4uZWM5ZDA0NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL2lwMjctcnRjLmMKKysrIGIvZHJpdmVycy9jaGFyL2lwMjctcnRjLmMKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlIDxsaW51eC9iY2QuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiAjaW5jbHVkZSA8bGludXgvbWlzY2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L2lvcG9ydC5oPgpAQCAtMTYzLDE1ICsxNjQsMTggQEAKIAogc3RhdGljIGludCBydGNfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKKwlsb2NrX2tlcm5lbCgpOwogCXNwaW5fbG9ja19pcnEoJnJ0Y19sb2NrKTsKIAogCWlmIChydGNfc3RhdHVzICYgUlRDX0lTX09QRU4pIHsKIAkJc3Bpbl91bmxvY2tfaXJxKCZydGNfbG9jayk7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIC1FQlVTWTsKIAl9CiAKIAlydGNfc3RhdHVzIHw9IFJUQ19JU19PUEVOOwogCXNwaW5fdW5sb2NrX2lycSgmcnRjX2xvY2spOworCXVubG9ja19rZXJuZWwoKTsKIAogCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2lwbWkvaXBtaV9kZXZpbnRmLmMgYi9kcml2ZXJzL2NoYXIvaXBtaS9pcG1pX2RldmludGYuYwppbmRleCAwMjQ2YTJiOC4uYzExYTQwNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL2lwbWkvaXBtaV9kZXZpbnRmLmMKKysrIGIvZHJpdmVycy9jaGFyL2lwbWkvaXBtaV9kZXZpbnRmLmMKQEAgLTQzLDYgKzQzLDcgQEAKICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvY29tcGF0Lmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogc3RydWN0IGlwbWlfZmlsZV9wcml2YXRlCiB7CkBAIC0xMDAsNyArMTAxLDkgQEAKIAlzdHJ1Y3QgaXBtaV9maWxlX3ByaXZhdGUgKnByaXYgPSBmaWxlLT5wcml2YXRlX2RhdGE7CiAJaW50ICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdDsKIAorCWxvY2tfa2VybmVsKCk7IC8qIGNvdWxkIHJhY2UgYWdhaW5zdCBvcGVuKCkgb3RoZXJ3aXNlICovCiAJcmVzdWx0ID0gZmFzeW5jX2hlbHBlcihmZCwgZmlsZSwgb24sICZwcml2LT5mYXN5bmNfcXVldWUpOworCXVubG9ja19rZXJuZWwoKTsKIAogCXJldHVybiAocmVzdWx0KTsKIH0KQEAgLTEyMSw2ICsxMjQsNyBAQAogCWlmICghcHJpdikKIAkJcmV0dXJuIC1FTk9NRU07CiAKKwlsb2NrX2tlcm5lbCgpOwogCXByaXYtPmZpbGUgPSBmaWxlOwogCiAJcnYgPSBpcG1pX2NyZWF0ZV91c2VyKGlmX251bSwKQEAgLTEyOSw3ICsxMzMsNyBAQAogCQkJICAgICAgJihwcml2LT51c2VyKSk7CiAJaWYgKHJ2KSB7CiAJCWtmcmVlKHByaXYpOwotCQlyZXR1cm4gcnY7CisJCWdvdG8gb3V0OwogCX0KIAogCWZpbGUtPnByaXZhdGVfZGF0YSA9IHByaXY7CkBAIC0xNDQsNyArMTQ4LDkgQEAKIAlwcml2LT5kZWZhdWx0X3JldHJpZXMgPSAtMTsKIAlwcml2LT5kZWZhdWx0X3JldHJ5X3RpbWVfbXMgPSAwOwogCi0JcmV0dXJuIDA7CitvdXQ6CisJdW5sb2NrX2tlcm5lbCgpOworCXJldHVybiBydjsKIH0KIAogc3RhdGljIGludCBpcG1pX3JlbGVhc2Uoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvaXBtaS9pcG1pX3dhdGNoZG9nLmMgYi9kcml2ZXJzL2NoYXIvaXBtaS9pcG1pX3dhdGNoZG9nLmMKaW5kZXggMWI5YTg3MC4uMjM1ZmFiMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL2lwbWkvaXBtaV93YXRjaGRvZy5jCisrKyBiL2RyaXZlcnMvY2hhci9pcG1pL2lwbWlfd2F0Y2hkb2cuYwpAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZXBhcmFtLmg+CiAjaW5jbHVkZSA8bGludXgvaXBtaS5oPgogI2luY2x1ZGUgPGxpbnV4L2lwbWlfc21pLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC93YXRjaGRvZy5oPgogI2luY2x1ZGUgPGxpbnV4L21pc2NkZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CkBAIC03NTUsOSArNzU2LDggQEAKIAkJcnYgPSBpcG1pX2hlYXJ0YmVhdCgpOwogCQlpZiAocnYpCiAJCQlyZXR1cm4gcnY7Ci0JCXJldHVybiAxOwogCX0KLQlyZXR1cm4gMDsKKwlyZXR1cm4gbGVuOwogfQogCiBzdGF0aWMgc3NpemVfdCBpcG1pX3JlYWQoc3RydWN0IGZpbGUgKmZpbGUsCkBAIC04MTksNiArODE5LDggQEAKIAkJaWYgKHRlc3RfYW5kX3NldF9iaXQoMCwgJmlwbWlfd2RvZ19vcGVuKSkKIAkJCXJldHVybiAtRUJVU1k7CiAKKwkJY3ljbGVfa2VybmVsX2xvY2soKTsKKwogCQkvKgogCQkgKiBEb24ndCBzdGFydCB0aGUgdGltZXIgbm93LCBsZXQgaXQgc3RhcnQgb24gdGhlCiAJCSAqIGZpcnN0IGhlYXJ0YmVhdC4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9sY2QuYyBiL2RyaXZlcnMvY2hhci9sY2QuYwppbmRleCA0ZmU5MjA2Li4xYzI5YjIwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvbGNkLmMKKysrIGIvZHJpdmVycy9jaGFyL2xjZC5jCkBAIC0yMCw2ICsyMCw3IEBACiAjaW5jbHVkZSA8bGludXgvbWMxNDY4MThydGMuaD4KICNpbmNsdWRlIDxsaW51eC9uZXRkZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KIAogI2luY2x1ZGUgPGFzbS9pby5oPgpAQCAtNDE0LDYgKzQxNSw4IEBACiAKIHN0YXRpYyBpbnQgbGNkX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCiB7CisJY3ljbGVfa2VybmVsX2xvY2soKTsKKwogCWlmICghbGNkX3ByZXNlbnQpCiAJCXJldHVybiAtRU5YSU87CiAJZWxzZQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2xwLmMgYi9kcml2ZXJzL2NoYXIvbHAuYwppbmRleCA2MGFjNjQyLi43MWFiYjRjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvbHAuYworKysgYi9kcml2ZXJzL2NoYXIvbHAuYwpAQCAtMTI2LDYgKzEyNiw3IEBACiAjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvd2FpdC5oPgogI2luY2x1ZGUgPGxpbnV4L2ppZmZpZXMuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAjaW5jbHVkZSA8bGludXgvcGFycG9ydC5oPgogI3VuZGVmIExQX1NUQVRTCkBAIC00ODksMTQgKzQ5MCwyMSBAQAogc3RhdGljIGludCBscF9vcGVuKHN0cnVjdCBpbm9kZSAqIGlub2RlLCBzdHJ1Y3QgZmlsZSAqIGZpbGUpCiB7CiAJdW5zaWduZWQgaW50IG1pbm9yID0gaW1pbm9yKGlub2RlKTsKKwlpbnQgcmV0ID0gMDsKIAotCWlmIChtaW5vciA+PSBMUF9OTykKLQkJcmV0dXJuIC1FTlhJTzsKLQlpZiAoKExQX0YobWlub3IpICYgTFBfRVhJU1QpID09IDApCi0JCXJldHVybiAtRU5YSU87Ci0JaWYgKHRlc3RfYW5kX3NldF9iaXQoTFBfQlVTWV9CSVRfUE9TLCAmTFBfRihtaW5vcikpKQotCQlyZXR1cm4gLUVCVVNZOwotCisJbG9ja19rZXJuZWwoKTsKKwlpZiAobWlub3IgPj0gTFBfTk8pIHsKKwkJcmV0ID0gLUVOWElPOworCQlnb3RvIG91dDsKKwl9CisJaWYgKChMUF9GKG1pbm9yKSAmIExQX0VYSVNUKSA9PSAwKSB7CisJCXJldCA9IC1FTlhJTzsKKwkJZ290byBvdXQ7CisJfQorCWlmICh0ZXN0X2FuZF9zZXRfYml0KExQX0JVU1lfQklUX1BPUywgJkxQX0YobWlub3IpKSkgeworCQlyZXQgPSAtRUJVU1k7CisJCWdvdG8gb3V0OworCX0KIAkvKiBJZiBBQk9SVE9QRU4gaXMgc2V0IGFuZCB0aGUgcHJpbnRlciBpcyBvZmZsaW5lIG9yIG91dCBvZiBwYXBlciwKIAkgICB3ZSBtYXkgc3RpbGwgd2FudCB0byBvcGVuIGl0IHRvIHBlcmZvcm0gaW9jdGwoKXMuICBUaGVyZWZvcmUgd2UKIAkgICBoYXZlIGNvbW1hbmRlZXJlZCBPX05PTkJMT0NLLCBldmVuIHRob3VnaCBpdCBpcyBiZWluZyB1c2VkIGluCkBAIC01MTAsMjEgKzUxOCwyNSBAQAogCQlpZiAoc3RhdHVzICYgTFBfUE9VVFBBKSB7CiAJCQlwcmludGsoS0VSTl9JTkZPICJscCVkIG91dCBvZiBwYXBlclxuIiwgbWlub3IpOwogCQkJTFBfRihtaW5vcikgJj0gfkxQX0JVU1k7Ci0JCQlyZXR1cm4gLUVOT1NQQzsKKwkJCXJldCA9IC1FTk9TUEM7CisJCQlnb3RvIG91dDsKIAkJfSBlbHNlIGlmICghKHN0YXR1cyAmIExQX1BTRUxFQ0QpKSB7CiAJCQlwcmludGsoS0VSTl9JTkZPICJscCVkIG9mZi1saW5lXG4iLCBtaW5vcik7CiAJCQlMUF9GKG1pbm9yKSAmPSB+TFBfQlVTWTsKLQkJCXJldHVybiAtRUlPOworCQkJcmV0ID0gLUVJTzsKKwkJCWdvdG8gb3V0OwogCQl9IGVsc2UgaWYgKCEoc3RhdHVzICYgTFBfUEVSUk9SUCkpIHsKIAkJCXByaW50ayhLRVJOX0VSUiAibHAlZCBwcmludGVyIGVycm9yXG4iLCBtaW5vcik7CiAJCQlMUF9GKG1pbm9yKSAmPSB+TFBfQlVTWTsKLQkJCXJldHVybiAtRUlPOworCQkJcmV0ID0gLUVJTzsKKwkJCWdvdG8gb3V0OwogCQl9CiAJfQogCWxwX3RhYmxlW21pbm9yXS5scF9idWZmZXIgPSBrbWFsbG9jKExQX0JVRkZFUl9TSVpFLCBHRlBfS0VSTkVMKTsKIAlpZiAoIWxwX3RhYmxlW21pbm9yXS5scF9idWZmZXIpIHsKIAkJTFBfRihtaW5vcikgJj0gfkxQX0JVU1k7Ci0JCXJldHVybiAtRU5PTUVNOworCQlyZXQgPSAtRU5PTUVNOworCQlnb3RvIG91dDsKIAl9CiAJLyogRGV0ZXJtaW5lIGlmIHRoZSBwZXJpcGhlcmFsIHN1cHBvcnRzIEVDUCBtb2RlICovCiAJbHBfY2xhaW1fcGFycG9ydF9vcl9ibG9jayAoJmxwX3RhYmxlW21pbm9yXSk7CkBAIC01NDAsNyArNTUyLDkgQEAKIAlwYXJwb3J0X25lZ290aWF0ZSAobHBfdGFibGVbbWlub3JdLmRldi0+cG9ydCwgSUVFRTEyODRfTU9ERV9DT01QQVQpOwogCWxwX3JlbGVhc2VfcGFycG9ydCAoJmxwX3RhYmxlW21pbm9yXSk7CiAJbHBfdGFibGVbbWlub3JdLmN1cnJlbnRfbW9kZSA9IElFRUUxMjg0X01PREVfQ09NUEFUOwotCXJldHVybiAwOworb3V0OgorCXVubG9ja19rZXJuZWwoKTsKKwlyZXR1cm4gcmV0OwogfQogCiBzdGF0aWMgaW50IGxwX3JlbGVhc2Uoc3RydWN0IGlub2RlICogaW5vZGUsIHN0cnVjdCBmaWxlICogZmlsZSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9tYmNzLmMgYi9kcml2ZXJzL2NoYXIvbWJjcy5jCmluZGV4IGY0NzE2YWQuLmFjZDhlOWUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9tYmNzLmMKKysrIGIvZHJpdmVycy9jaGFyL21iY3MuYwpAQCAtMjQsNiArMjQsNyBAQAogI2luY2x1ZGUgPGxpbnV4L21tLmg+CiAjaW5jbHVkZSA8bGludXgvdWlvLmg+CiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGFzbS9pby5oPgogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAjaW5jbHVkZSA8YXNtL3N5c3RlbS5oPgpAQCAtMzgyLDE1ICszODMsMTkgQEAKIAlzdHJ1Y3QgbWJjc19zb2Z0ICpzb2Z0OwogCWludCBtaW5vcjsKIAorCWxvY2tfa2VybmVsKCk7CiAJbWlub3IgPSBpbWlub3IoaXApOwogCisJLyogTm90aGluZyBwcm90ZWN0cyBhY2Nlc3MgdG8gdGhpcyBsaXN0Li4uICovCiAJbGlzdF9mb3JfZWFjaF9lbnRyeShzb2Z0LCAmc29mdF9saXN0LCBsaXN0KSB7CiAJCWlmIChzb2Z0LT5uYXNpZCA9PSBtaW5vcikgewogCQkJZnAtPnByaXZhdGVfZGF0YSA9IHNvZnQtPmN4ZGV2OworCQkJdW5sb2NrX2tlcm5lbCgpOwogCQkJcmV0dXJuIDA7CiAJCX0KIAl9CiAKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIC1FTk9ERVY7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9tZW0uYyBiL2RyaXZlcnMvY2hhci9tZW0uYwppbmRleCA5MzRmZmFmLi4wNzBlMjJlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvbWVtLmMKKysrIGIvZHJpdmVycy9jaGFyL21lbS5jCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSA8bGludXgvYm9vdG1lbS5oPgogI2luY2x1ZGUgPGxpbnV4L3NwbGljZS5oPgogI2luY2x1ZGUgPGxpbnV4L3Bmbi5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogI2luY2x1ZGUgPGFzbS9pby5oPgpAQCAtODg5LDYgKzg5MCw5IEBACiAKIHN0YXRpYyBpbnQgbWVtb3J5X29wZW4oc3RydWN0IGlub2RlICogaW5vZGUsIHN0cnVjdCBmaWxlICogZmlscCkKIHsKKwlpbnQgcmV0ID0gMDsKKworCWxvY2tfa2VybmVsKCk7CiAJc3dpdGNoIChpbWlub3IoaW5vZGUpKSB7CiAJCWNhc2UgMToKIAkJCWZpbHAtPmZfb3AgPSAmbWVtX2ZvcHM7CkBAIC05MzIsMTEgKzkzNiwxMyBAQAogCQkJYnJlYWs7CiAjZW5kaWYKIAkJZGVmYXVsdDoKKwkJCXVubG9ja19rZXJuZWwoKTsKIAkJCXJldHVybiAtRU5YSU87CiAJfQogCWlmIChmaWxwLT5mX29wICYmIGZpbHAtPmZfb3AtPm9wZW4pCi0JCXJldHVybiBmaWxwLT5mX29wLT5vcGVuKGlub2RlLGZpbHApOwotCXJldHVybiAwOworCQlyZXQgPSBmaWxwLT5mX29wLT5vcGVuKGlub2RlLGZpbHApOworCXVubG9ja19rZXJuZWwoKTsKKwlyZXR1cm4gcmV0OwogfQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBtZW1vcnlfZm9wcyA9IHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9taXNjLmMgYi9kcml2ZXJzL2NoYXIvbWlzYy5jCmluZGV4IGVhYWNlMGQuLjZlMTU2M2MgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9taXNjLmMKKysrIGIvZHJpdmVycy9jaGFyL21pc2MuYwpAQCAtNDksNiArNDksNyBAQAogI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L3R0eS5oPgogI2luY2x1ZGUgPGxpbnV4L2ttb2QuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAvKgogICogSGVhZCBlbnRyeSBmb3IgdGhlIGRvdWJseSBsaW5rZWQgbWlzY2RldmljZSBsaXN0CkBAIC0xMTgsNiArMTE5LDcgQEAKIAlpbnQgZXJyID0gLUVOT0RFVjsKIAljb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zICpvbGRfZm9wcywgKm5ld19mb3BzID0gTlVMTDsKIAkKKwlsb2NrX2tlcm5lbCgpOwogCW11dGV4X2xvY2soJm1pc2NfbXR4KTsKIAkKIAlsaXN0X2Zvcl9lYWNoX2VudHJ5KGMsICZtaXNjX2xpc3QsIGxpc3QpIHsKQEAgLTE1NSw2ICsxNTcsNyBAQAogCWZvcHNfcHV0KG9sZF9mb3BzKTsKIGZhaWw6CiAJbXV0ZXhfdW5sb2NrKCZtaXNjX210eCk7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiBlcnI7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9tb3hhLmMgYi9kcml2ZXJzL2NoYXIvbW94YS5jCmluZGV4IGQ1N2QzYTYuLmUyMTM0NmQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9tb3hhLmMKKysrIGIvZHJpdmVycy9jaGFyL21veGEuYwpAQCAtNzIxLDcgKzcyMSw3IEBACiAKIHN0YXRpYyBpbnQgbW94YV9sb2FkX2Z3KHN0cnVjdCBtb3hhX2JvYXJkX2NvbmYgKmJyZCwgY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdykKIHsKLQl2b2lkICpwdHIgPSBmdy0+ZGF0YTsKKwljb25zdCB2b2lkICpwdHIgPSBmdy0+ZGF0YTsKIAljaGFyIHJzbls2NF07CiAJdTE2IGxlbnNbNV07CiAJc2l6ZV90IGxlbjsKQEAgLTczNCw3ICs3MzQsNyBAQAogCQl1OCBtb2RlbDsJLyogQzIxOFQ9MSwgQzMyMFQ9MiwgQ1AyMDQ9MyAqLwogCQl1OCByZXNlcnZlZDJbOF07CiAJCV9fbGUxNiBsZW5bNV07Ci0JfSAqaGRyID0gcHRyOworCX0gY29uc3QgKmhkciA9IHB0cjsKIAogCUJVSUxEX0JVR19PTihBUlJBWV9TSVpFKGhkci0+bGVuKSAhPSBBUlJBWV9TSVpFKGxlbnMpKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL213YXZlL213YXZlZGQuYyBiL2RyaXZlcnMvY2hhci9td2F2ZS9td2F2ZWRkLmMKaW5kZXggOGQxNDgyMy4uNTAyNDNmYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL213YXZlL213YXZlZGQuYworKysgYi9kcml2ZXJzL2NoYXIvbXdhdmUvbXdhdmVkZC5jCkBAIC01Niw2ICs1Niw3IEBACiAjaW5jbHVkZSA8bGludXgvc2VyaWFsLmg+CiAjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KICNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KICNpbmNsdWRlIDxsaW51eC9zZXJpYWxfODI1MC5oPgogI2luY2x1ZGUgInNtYXBpLmgiCkBAIC0xMDAsNiArMTAxLDcgQEAKIAlQUklOVEtfMihUUkFDRV9NV0FWRSwKIAkJIm13YXZlZGQ6Om13YXZlX29wZW4sIGV4aXQgcmV0dXJuIHJldHZhbCAleFxuIiwgcmV0dmFsKTsKIAorCWN5Y2xlX2tlcm5lbF9sb2NrKCk7CiAJcmV0dXJuIHJldHZhbDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL252cmFtLmMgYi9kcml2ZXJzL2NoYXIvbnZyYW0uYwppbmRleCA5OGRlYzM4Li4xOTdjZDdhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvbnZyYW0uYworKysgYi9kcml2ZXJzL2NoYXIvbnZyYW0uYwpAQCAtMTA3LDYgKzEwNyw3IEBACiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L3Byb2NfZnMuaD4KICNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICNpbmNsdWRlIDxhc20vaW8uaD4KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgpAQCAtMzMzLDEyICszMzQsMTQgQEAKIHN0YXRpYyBpbnQKIG52cmFtX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCiB7CisJbG9ja19rZXJuZWwoKTsKIAlzcGluX2xvY2soJm52cmFtX3N0YXRlX2xvY2spOwogCiAJaWYgKChudnJhbV9vcGVuX2NudCAmJiAoZmlsZS0+Zl9mbGFncyAmIE9fRVhDTCkpIHx8CiAJICAgIChudnJhbV9vcGVuX21vZGUgJiBOVlJBTV9FWENMKSB8fAogCSAgICAoKGZpbGUtPmZfbW9kZSAmIDIpICYmIChudnJhbV9vcGVuX21vZGUgJiBOVlJBTV9XUklURSkpKSB7CiAJCXNwaW5fdW5sb2NrKCZudnJhbV9zdGF0ZV9sb2NrKTsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gLUVCVVNZOwogCX0KIApAQCAtMzQ5LDYgKzM1Miw3IEBACiAJbnZyYW1fb3Blbl9jbnQrKzsKIAogCXNwaW5fdW5sb2NrKCZudnJhbV9zdGF0ZV9sb2NrKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9wYzg3MzZ4X2dwaW8uYyBiL2RyaXZlcnMvY2hhci9wYzg3MzZ4X2dwaW8uYwppbmRleCBlY2ZhZjE4Li5iOTMwZGU1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvcGM4NzM2eF9ncGlvLmMKKysrIGIvZHJpdmVycy9jaGFyL3BjODczNnhfZ3Bpby5jCkBAIC0yMCw2ICsyMCw3IEBACiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KICNpbmNsdWRlIDxsaW51eC9uc2NfZ3Bpby5oPgogI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KIAogI2RlZmluZSBERVZOQU1FICJwYzg3MzZ4X2dwaW8iCkBAIC0yMTcsNiArMjE4LDcgQEAKIAl1bnNpZ25lZCBtID0gaW1pbm9yKGlub2RlKTsKIAlmaWxlLT5wcml2YXRlX2RhdGEgPSAmcGM4NzM2eF9ncGlvX29wczsKIAorCWN5Y2xlX2tlcm5lbF9sb2NrKCk7CiAJZGV2X2RiZygmcGRldi0+ZGV2LCAib3BlbiAlZFxuIiwgbSk7CiAKIAlpZiAobSA+PSBQQzg3MzZYX0dQSU9fQ1QpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvcGNtY2lhL2NtNDAwMF9jcy5jIGIvZHJpdmVycy9jaGFyL3BjbWNpYS9jbTQwMDBfY3MuYwppbmRleCA0YTkzM2Q0Li41OWNhMzUxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvcGNtY2lhL2NtNDAwMF9jcy5jCisrKyBiL2RyaXZlcnMvY2hhci9wY21jaWEvY200MDAwX2NzLmMKQEAgLTMyLDggKzMyLDkgQEAKICNpbmNsdWRlIDxsaW51eC9mcy5oPgogI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CiAjaW5jbHVkZSA8bGludXgvYml0cmV2Lmg+Ci0jaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KLSNpbmNsdWRlIDxhc20vaW8uaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgorI2luY2x1ZGUgPGxpbnV4L3VhY2Nlc3MuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgogCiAjaW5jbHVkZSA8cGNtY2lhL2NzX3R5cGVzLmg+CiAjaW5jbHVkZSA8cGNtY2lhL2NzLmg+CkBAIC0xNDA1LDExICsxNDA2LDExIEBACiAJREVCVUdQKDMsIGRldiwgIjwtIHN0b3BfbW9uaXRvclxuIik7CiB9CiAKLXN0YXRpYyBpbnQgY21tX2lvY3RsKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxwLCB1bnNpZ25lZCBpbnQgY21kLAotCQkgICAgIHVuc2lnbmVkIGxvbmcgYXJnKQorc3RhdGljIGxvbmcgY21tX2lvY3RsKHN0cnVjdCBmaWxlICpmaWxwLCB1bnNpZ25lZCBpbnQgY21kLCB1bnNpZ25lZCBsb25nIGFyZykKIHsKIAlzdHJ1Y3QgY200MDAwX2RldiAqZGV2ID0gZmlscC0+cHJpdmF0ZV9kYXRhOwogCXVuc2lnbmVkIGludCBpb2Jhc2UgPSBkZXYtPnBfZGV2LT5pby5CYXNlUG9ydDE7CisJc3RydWN0IGlub2RlICppbm9kZSA9IGZpbHAtPmZfcGF0aC5kZW50cnktPmRfaW5vZGU7CiAJc3RydWN0IHBjbWNpYV9kZXZpY2UgKmxpbms7CiAJaW50IHNpemU7CiAJaW50IHJjOwpAQCAtMTQyNiwzOCArMTQyNyw0MiBAQAogCURFQlVHUCgzLCBkZXYsICJjbW1faW9jdGwoZGV2aWNlPSVkLiVkKSAlc1xuIiwgaW1ham9yKGlub2RlKSwKIAkgICAgICAgaW1pbm9yKGlub2RlKSwgaW9jdGxfbmFtZXNbX0lPQ19OUihjbWQpXSk7CiAKKwlsb2NrX2tlcm5lbCgpOworCXJjID0gLUVOT0RFVjsKIAlsaW5rID0gZGV2X3RhYmxlW2ltaW5vcihpbm9kZSldOwogCWlmICghcGNtY2lhX2Rldl9wcmVzZW50KGxpbmspKSB7CiAJCURFQlVHUCg0LCBkZXYsICJERVZfT0sgZmFsc2VcbiIpOwotCQlyZXR1cm4gLUVOT0RFVjsKKwkJZ290byBvdXQ7CiAJfQogCiAJaWYgKHRlc3RfYml0KElTX0NNTV9BQlNFTlQsICZkZXYtPmZsYWdzKSkgewogCQlERUJVR1AoNCwgZGV2LCAiQ01NX0FCU0VOVCBmbGFnIHNldFxuIik7Ci0JCXJldHVybiAtRU5PREVWOworCQlnb3RvIG91dDsKIAl9CisJcmMgPSBFSU5WQUw7CiAKIAlpZiAoX0lPQ19UWVBFKGNtZCkgIT0gQ01fSU9DX01BR0lDKSB7CiAJCURFQlVHUCg0LCBkZXYsICJpb2N0eXBlIG1pc21hdGNoXG4iKTsKLQkJcmV0dXJuIC1FSU5WQUw7CisJCWdvdG8gb3V0OwogCX0KIAlpZiAoX0lPQ19OUihjbWQpID4gQ01fSU9DX01BWE5SKSB7CiAJCURFQlVHUCg0LCBkZXYsICJpb2NuciBtaXNtYXRjaFxuIik7Ci0JCXJldHVybiAtRUlOVkFMOworCQlnb3RvIG91dDsKIAl9CiAJc2l6ZSA9IF9JT0NfU0laRShjbWQpOwotCXJjID0gMDsKKwlyYyA9IC1FRkFVTFQ7CiAJREVCVUdQKDQsIGRldiwgImlvY2Rpcj0lLjR4IGlvY3I9JS40eCBpb2N3PSUuNHggaW9jc2l6ZT0lZCBjbWQ9JS40eFxuIiwKIAkgICAgICBfSU9DX0RJUihjbWQpLCBfSU9DX1JFQUQsIF9JT0NfV1JJVEUsIHNpemUsIGNtZCk7CiAKIAlpZiAoX0lPQ19ESVIoY21kKSAmIF9JT0NfUkVBRCkgewogCQlpZiAoIWFjY2Vzc19vayhWRVJJRllfV1JJVEUsIGFyZ3AsIHNpemUpKQotCQkJcmV0dXJuIC1FRkFVTFQ7CisJCQlnb3RvIG91dDsKIAl9CiAJaWYgKF9JT0NfRElSKGNtZCkgJiBfSU9DX1dSSVRFKSB7CiAJCWlmICghYWNjZXNzX29rKFZFUklGWV9SRUFELCBhcmdwLCBzaXplKSkKLQkJCXJldHVybiAtRUZBVUxUOworCQkJZ290byBvdXQ7CiAJfQorCXJjID0gMDsKIAogCXN3aXRjaCAoY21kKSB7CiAJY2FzZSBDTV9JT0NHU1RBVFVTOgpAQCAtMTQ3Nyw5ICsxNDgyLDkgQEAKIAkJCWlmICh0ZXN0X2JpdChJU19CQURfQ0FSRCwgJmRldi0+ZmxhZ3MpKQogCQkJCXN0YXR1cyB8PSBDTV9CQURfQ0FSRDsKIAkJCWlmIChjb3B5X3RvX3VzZXIoYXJncCwgJnN0YXR1cywgc2l6ZW9mKGludCkpKQotCQkJCXJldHVybiAtRUZBVUxUOworCQkJCXJjID0gLUVGQVVMVDsKIAkJfQotCQlyZXR1cm4gMDsKKwkJYnJlYWs7CiAJY2FzZSBDTV9JT0NHQVRSOgogCQlERUJVR1AoNCwgZGV2LCAiLi4uIGluIENNX0lPQ0dBVFJcbiIpOwogCQl7CkBAIC0xNDkyLDI1ICsxNDk3LDI5IEBACiAJCQkgICAgICB8fCAodGVzdF9iaXQoSVNfQVRSX1BSRVNFTlQsICh2b2lkICopJmRldi0+ZmxhZ3MpCiAJCQkJICAhPSAwKSkpKSB7CiAJCQkJaWYgKGZpbHAtPmZfZmxhZ3MgJiBPX05PTkJMT0NLKQotCQkJCQlyZXR1cm4gLUVBR0FJTjsKLQkJCQlyZXR1cm4gLUVSRVNUQVJUU1lTOworCQkJCQlyYyA9IC1FQUdBSU47CisJCQkJZWxzZQorCQkJCQlyYyA9IC1FUkVTVEFSVFNZUzsKKwkJCQlicmVhazsKIAkJCX0KIAorCQkJcmMgPSAtRUZBVUxUOwogCQkJaWYgKHRlc3RfYml0KElTX0FUUl9WQUxJRCwgJmRldi0+ZmxhZ3MpID09IDApIHsKIAkJCQl0bXAgPSAtMTsKIAkJCQlpZiAoY29weV90b191c2VyKCYoYXRyZXEtPmF0cl9sZW4pLCAmdG1wLAogCQkJCQkJIHNpemVvZihpbnQpKSkKLQkJCQkJcmV0dXJuIC1FRkFVTFQ7CisJCQkJCWJyZWFrOwogCQkJfSBlbHNlIHsKIAkJCQlpZiAoY29weV90b191c2VyKGF0cmVxLT5hdHIsIGRldi0+YXRyLAogCQkJCQkJIGRldi0+YXRyX2xlbikpCi0JCQkJCXJldHVybiAtRUZBVUxUOworCQkJCQlicmVhazsKIAogCQkJCXRtcCA9IGRldi0+YXRyX2xlbjsKIAkJCQlpZiAoY29weV90b191c2VyKCYoYXRyZXEtPmF0cl9sZW4pLCAmdG1wLCBzaXplb2YoaW50KSkpCi0JCQkJCXJldHVybiAtRUZBVUxUOworCQkJCQlicmVhazsKIAkJCX0KLQkJCXJldHVybiAwOworCQkJcmMgPSAwOworCQkJYnJlYWs7CiAJCX0KIAljYXNlIENNX0lPQ0FSRE9GRjoKIApAQCAtMTUzOCw4ICsxNTQ3LDEwIEBACiAJCQkgICAgICB8fCAodGVzdF9hbmRfc2V0X2JpdChMT0NLX0lPLCAodm9pZCAqKSZkZXYtPmZsYWdzKQogCQkJCSAgPT0gMCkpKSkgewogCQkJCWlmIChmaWxwLT5mX2ZsYWdzICYgT19OT05CTE9DSykKLQkJCQkJcmV0dXJuIC1FQUdBSU47Ci0JCQkJcmV0dXJuIC1FUkVTVEFSVFNZUzsKKwkJCQkJcmMgPSAtRUFHQUlOOworCQkJCWVsc2UKKwkJCQkJcmMgPSAtRVJFU1RBUlRTWVM7CisJCQkJYnJlYWs7CiAJCQl9CiAJCQkvKiBTZXQgRmxhZ3MwID0gMHg0MiAqLwogCQkJREVCVUdQKDQsIGRldiwgIlNldCBGbGFnczA9MHg0MiBcbiIpOwpAQCAtMTU1NCw4ICsxNTY1LDEwIEBACiAJCQkgICAgICB8fCAodGVzdF9iaXQoSVNfQVRSX1ZBTElELCAodm9pZCAqKSZkZXYtPmZsYWdzKSAhPQogCQkJCSAgMCkpKSkgewogCQkJCWlmIChmaWxwLT5mX2ZsYWdzICYgT19OT05CTE9DSykKLQkJCQkJcmV0dXJuIC1FQUdBSU47Ci0JCQkJcmV0dXJuIC1FUkVTVEFSVFNZUzsKKwkJCQkJcmMgPSAtRUFHQUlOOworCQkJCWVsc2UKKwkJCQkJcmMgPSAtRVJFU1RBUlRTWVM7CisJCQkJYnJlYWs7CiAJCQl9CiAJCX0KIAkJLyogcmVsZWFzZSBsb2NrICovCkBAIC0xNTY4LDggKzE1ODEsMTAgQEAKIAkJCXN0cnVjdCBwdHNyZXEga3JucHRzcmVxOwogCiAJCQlpZiAoY29weV9mcm9tX3VzZXIoJmtybnB0c3JlcSwgYXJncCwKLQkJCQkJICAgc2l6ZW9mKHN0cnVjdCBwdHNyZXEpKSkKLQkJCQlyZXR1cm4gLUVGQVVMVDsKKwkJCQkJICAgc2l6ZW9mKHN0cnVjdCBwdHNyZXEpKSkgeworCQkJCXJjID0gLUVGQVVMVDsKKwkJCQlicmVhazsKKwkJCX0KIAogCQkJcmMgPSAwOwogCQkJREVCVUdQKDQsIGRldiwgIi4uLiBpbiBDTV9JT0NTUFRTXG4iKTsKQEAgLTE1ODAsOCArMTU5NSwxMCBAQAogCQkJICAgICAgfHwgKHRlc3RfYml0KElTX0FUUl9QUkVTRU5ULCAodm9pZCAqKSZkZXYtPmZsYWdzKQogCQkJCSAgIT0gMCkpKSkgewogCQkJCWlmIChmaWxwLT5mX2ZsYWdzICYgT19OT05CTE9DSykKLQkJCQkJcmV0dXJuIC1FQUdBSU47Ci0JCQkJcmV0dXJuIC1FUkVTVEFSVFNZUzsKKwkJCQkJcmMgPSAtRUFHQUlOOworCQkJCWVsc2UKKwkJCQkJcmMgPSAtRVJFU1RBUlRTWVM7CisJCQkJYnJlYWs7CiAJCQl9CiAJCQkvKiBnZXQgSU8gbG9jayAqLwogCQkJaWYgKHdhaXRfZXZlbnRfaW50ZXJydXB0aWJsZQpAQCAtMTU5MCw4ICsxNjA3LDEwIEBACiAJCQkgICAgICB8fCAodGVzdF9hbmRfc2V0X2JpdChMT0NLX0lPLCAodm9pZCAqKSZkZXYtPmZsYWdzKQogCQkJCSAgPT0gMCkpKSkgewogCQkJCWlmIChmaWxwLT5mX2ZsYWdzICYgT19OT05CTE9DSykKLQkJCQkJcmV0dXJuIC1FQUdBSU47Ci0JCQkJcmV0dXJuIC1FUkVTVEFSVFNZUzsKKwkJCQkJcmMgPSAtRUFHQUlOOworCQkJCWVsc2UKKwkJCQkJcmMgPSAtRVJFU1RBUlRTWVM7CisJCQkJYnJlYWs7CiAJCQl9CiAKIAkJCWlmICgocmMgPSBzZXRfcHJvdG9jb2woZGV2LCAma3JucHRzcmVxKSkgIT0gMCkgewpAQCAtMTYwNCw3ICsxNjIzLDcgQEAKIAkJCXdha2VfdXBfaW50ZXJydXB0aWJsZSgmZGV2LT5pb3EpOwogCiAJCX0KLQkJcmV0dXJuIHJjOworCQlicmVhazsKICNpZmRlZiBQQ01DSUFfREVCVUcKIAljYXNlIENNX0lPU0RCR0xWTDoJLyogc2V0IGRlYnVnIGxvZyBsZXZlbCAqLwogCQl7CkBAIC0xNjEyLDE4ICsxNjMxLDIwIEBACiAKIAkJCW9sZF9wY19kZWJ1ZyA9IHBjX2RlYnVnOwogCQkJaWYgKGNvcHlfZnJvbV91c2VyKCZwY19kZWJ1ZywgYXJncCwgc2l6ZW9mKGludCkpKQotCQkJCXJldHVybiAtRUZBVUxUOwotCi0JCQlpZiAob2xkX3BjX2RlYnVnICE9IHBjX2RlYnVnKQorCQkJCXJjID0gLUVGQVVMVDsKKwkJCWVsc2UgaWYgKG9sZF9wY19kZWJ1ZyAhPSBwY19kZWJ1ZykKIAkJCQlERUJVR1AoMCwgZGV2LCAiQ2hhbmdlZCBkZWJ1ZyBsb2cgbGV2ZWwgIgogCQkJCSAgICAgICAidG8gJWlcbiIsIHBjX2RlYnVnKTsKIAkJfQotCQlyZXR1cm4gcmM7CisJCWJyZWFrOwogI2VuZGlmCiAJZGVmYXVsdDoKIAkJREVCVUdQKDQsIGRldiwgIi4uLiBpbiBkZWZhdWx0ICh1bmtub3duIElPQ1RMIGNvZGUpXG4iKTsKLQkJcmV0dXJuIC1FSU5WQUw7CisJCXJjID0gLUVOT1RUWTsKIAl9CitvdXQ6CisJdW5sb2NrX2tlcm5lbCgpOworCXJldHVybiByYzsKIH0KIAogc3RhdGljIGludCBjbW1fb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlscCkKQEAgLTE2MzEsMTYgKzE2NTIsMjIgQEAKIAlzdHJ1Y3QgY200MDAwX2RldiAqZGV2OwogCXN0cnVjdCBwY21jaWFfZGV2aWNlICpsaW5rOwogCWludCBtaW5vciA9IGltaW5vcihpbm9kZSk7CisJaW50IHJldDsKIAogCWlmIChtaW5vciA+PSBDTTQwMDBfTUFYX0RFVikKIAkJcmV0dXJuIC1FTk9ERVY7CiAKKwlsb2NrX2tlcm5lbCgpOwogCWxpbmsgPSBkZXZfdGFibGVbbWlub3JdOwotCWlmIChsaW5rID09IE5VTEwgfHwgIXBjbWNpYV9kZXZfcHJlc2VudChsaW5rKSkKLQkJcmV0dXJuIC1FTk9ERVY7CisJaWYgKGxpbmsgPT0gTlVMTCB8fCAhcGNtY2lhX2Rldl9wcmVzZW50KGxpbmspKSB7CisJCXJldCA9IC1FTk9ERVY7CisJCWdvdG8gb3V0OworCX0KIAotCWlmIChsaW5rLT5vcGVuKQotCQlyZXR1cm4gLUVCVVNZOworCWlmIChsaW5rLT5vcGVuKSB7CisJCXJldCA9IC1FQlVTWTsKKwkJZ290byBvdXQ7CisJfQogCiAJZGV2ID0gbGluay0+cHJpdjsKIAlmaWxwLT5wcml2YXRlX2RhdGEgPSBkZXY7CkBAIC0xNjYwLDggKzE2ODcsMTAgQEAKIAkgKiB2YWlsZCA9IGJsb2NrIHVudGlsIHZhbGlkIChvciBjYXJkCiAJICogaW5zZXJ0ZWQpCiAJICovCi0JaWYgKGZpbHAtPmZfZmxhZ3MgJiBPX05PTkJMT0NLKQotCQlyZXR1cm4gLUVBR0FJTjsKKwlpZiAoZmlscC0+Zl9mbGFncyAmIE9fTk9OQkxPQ0spIHsKKwkJcmV0ID0gLUVBR0FJTjsKKwkJZ290byBvdXQ7CisJfQogCiAJZGV2LT5tZGVsYXkgPSBUXzUwTVNFQzsKIApAQCAtMTY3MSw3ICsxNzAwLDEwIEBACiAJbGluay0+b3BlbiA9IDE7CQkvKiBvbmx5IG9uZSBvcGVuIHBlciBkZXZpY2UgKi8KIAogCURFQlVHUCgyLCBkZXYsICI8LSBjbW1fb3BlblxuIik7Ci0JcmV0dXJuIG5vbnNlZWthYmxlX29wZW4oaW5vZGUsIGZpbHApOworCXJldCA9IG5vbnNlZWthYmxlX29wZW4oaW5vZGUsIGZpbHApOworb3V0OgorCXVubG9ja19rZXJuZWwoKTsKKwlyZXR1cm4gcmV0OwogfQogCiBzdGF0aWMgaW50IGNtbV9jbG9zZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlscCkKQEAgLTE4OTcsNyArMTkyOSw3IEBACiAJLm93bmVyCT0gVEhJU19NT0RVTEUsCiAJLnJlYWQJPSBjbW1fcmVhZCwKIAkud3JpdGUJPSBjbW1fd3JpdGUsCi0JLmlvY3RsCT0gY21tX2lvY3RsLAorCS51bmxvY2tlZF9pb2N0bAk9IGNtbV9pb2N0bCwKIAkub3Blbgk9IGNtbV9vcGVuLAogCS5yZWxlYXNlPSBjbW1fY2xvc2UsCiB9OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL3BjbWNpYS9jbTQwNDBfY3MuYyBiL2RyaXZlcnMvY2hhci9wY21jaWEvY200MDQwX2NzLmMKaW5kZXggMDM1MDg0Yy4uNjE4MWY4YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL3BjbWNpYS9jbTQwNDBfY3MuYworKysgYi9kcml2ZXJzL2NoYXIvcGNtY2lhL2NtNDA0MF9jcy5jCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSA8bGludXgvZnMuaD4KICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgogI2luY2x1ZGUgPGxpbnV4L3BvbGwuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3dhaXQuaD4KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogI2luY2x1ZGUgPGFzbS9pby5oPgpAQCAtNDQ4LDIzICs0NDksMzAgQEAKIAlzdHJ1Y3QgcmVhZGVyX2RldiAqZGV2OwogCXN0cnVjdCBwY21jaWFfZGV2aWNlICpsaW5rOwogCWludCBtaW5vciA9IGltaW5vcihpbm9kZSk7CisJaW50IHJldDsKIAogCWlmIChtaW5vciA+PSBDTV9NQVhfREVWKQogCQlyZXR1cm4gLUVOT0RFVjsKIAorCWxvY2tfa2VybmVsKCk7CiAJbGluayA9IGRldl90YWJsZVttaW5vcl07Ci0JaWYgKGxpbmsgPT0gTlVMTCB8fCAhcGNtY2lhX2Rldl9wcmVzZW50KGxpbmspKQotCQlyZXR1cm4gLUVOT0RFVjsKKwlpZiAobGluayA9PSBOVUxMIHx8ICFwY21jaWFfZGV2X3ByZXNlbnQobGluaykpIHsKKwkJcmV0ID0gLUVOT0RFVjsKKwkJZ290byBvdXQ7CisJfQogCi0JaWYgKGxpbmstPm9wZW4pCi0JCXJldHVybiAtRUJVU1k7CisJaWYgKGxpbmstPm9wZW4pIHsKKwkJcmV0ID0gLUVCVVNZOworCQlnb3RvIG91dDsKKwl9CiAKIAlkZXYgPSBsaW5rLT5wcml2OwogCWZpbHAtPnByaXZhdGVfZGF0YSA9IGRldjsKIAogCWlmIChmaWxwLT5mX2ZsYWdzICYgT19OT05CTE9DSykgewogCQlERUJVR1AoNCwgZGV2LCAiZmlsZXAtPmZfZmxhZ3MgT19OT05CTE9DSyBzZXRcbiIpOwotCQlyZXR1cm4gLUVBR0FJTjsKKwkJcmV0ID0gLUVBR0FJTjsKKwkJZ290byBvdXQ7CiAJfQogCiAJbGluay0+b3BlbiA9IDE7CkBAIC00NzMsNyArNDgxLDEwIEBACiAJbW9kX3RpbWVyKCZkZXYtPnBvbGxfdGltZXIsIGppZmZpZXMgKyBQT0xMX1BFUklPRCk7CiAKIAlERUJVR1AoMiwgZGV2LCAiPC0gY200MDQwX29wZW4gKHN1Y2Nlc3NmdWxseSlcbiIpOwotCXJldHVybiBub25zZWVrYWJsZV9vcGVuKGlub2RlLCBmaWxwKTsKKwlyZXQgPSBub25zZWVrYWJsZV9vcGVuKGlub2RlLCBmaWxwKTsKK291dDoKKwl1bmxvY2tfa2VybmVsKCk7CisJcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIGludCBjbTQwNDBfY2xvc2Uoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbHApCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvcGNtY2lhL2lwd2lyZWxlc3MvaGFyZHdhcmUuYyBiL2RyaXZlcnMvY2hhci9wY21jaWEvaXB3aXJlbGVzcy9oYXJkd2FyZS5jCmluZGV4IGJhNjM0MGEuLjkyOTEwMWUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9wY21jaWEvaXB3aXJlbGVzcy9oYXJkd2FyZS5jCisrKyBiL2RyaXZlcnMvY2hhci9wY21jaWEvaXB3aXJlbGVzcy9oYXJkd2FyZS5jCkBAIC01OTAsOCArNTkwLDEwIEBACiAJCXBhY2tldCA9IGttYWxsb2Moc2l6ZW9mKHN0cnVjdCBpcHdfcnhfcGFja2V0KSArCiAJCQkJb2xkX3BhY2tldC0+bGVuZ3RoICsgbWluaW11bV9mcmVlX3NwYWNlLAogCQkJCUdGUF9BVE9NSUMpOwotCQlpZiAoIXBhY2tldCkKKwkJaWYgKCFwYWNrZXQpIHsKKwkJCWtmcmVlKG9sZF9wYWNrZXQpOwogCQkJcmV0dXJuIE5VTEw7CisJCX0KIAkJbWVtY3B5KHBhY2tldCwgb2xkX3BhY2tldCwKIAkJCQlzaXplb2Yoc3RydWN0IGlwd19yeF9wYWNrZXQpCiAJCQkJCSsgb2xkX3BhY2tldC0+bGVuZ3RoKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9wY21jaWEvaXB3aXJlbGVzcy9tYWluLmMgYi9kcml2ZXJzL2NoYXIvcGNtY2lhL2lwd2lyZWxlc3MvbWFpbi5jCmluZGV4IDAwYzdmODQuLmNjN2RjZWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9wY21jaWEvaXB3aXJlbGVzcy9tYWluLmMKKysrIGIvZHJpdmVycy9jaGFyL3BjbWNpYS9pcHdpcmVsZXNzL21haW4uYwpAQCAtMjgsNyArMjgsNiBAQAogI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgogCi0jaW5jbHVkZSA8cGNtY2lhL3ZlcnNpb24uaD4KICNpbmNsdWRlIDxwY21jaWEvY2lzcmVnLmg+CiAjaW5jbHVkZSA8cGNtY2lhL2RldmljZV9pZC5oPgogI2luY2x1ZGUgPHBjbWNpYS9zcy5oPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL3BwZGV2LmMgYi9kcml2ZXJzL2NoYXIvcHBkZXYuYwppbmRleCAzYWFiODM3Li5mNmU2YWNhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvcHBkZXYuYworKysgYi9kcml2ZXJzL2NoYXIvcHBkZXYuYwpAQCAtNjYsNiArNjYsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3BvbGwuaD4KICNpbmNsdWRlIDxsaW51eC9tYWpvci5oPgogI2luY2x1ZGUgPGxpbnV4L3BwZGV2Lmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogCiAjZGVmaW5lIFBQX1ZFUlNJT04gInBwZGV2OiB1c2VyLXNwYWNlIHBhcmFsbGVsIHBvcnQgZHJpdmVyIgpAQCAtNjM4LDYgKzYzOSw3IEBACiAJdW5zaWduZWQgaW50IG1pbm9yID0gaW1pbm9yKGlub2RlKTsKIAlzdHJ1Y3QgcHBfc3RydWN0ICpwcDsKIAorCWN5Y2xlX2tlcm5lbF9sb2NrKCk7CiAJaWYgKG1pbm9yID49IFBBUlBPUlRfTUFYKQogCQlyZXR1cm4gLUVOWElPOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvcmF3LmMgYi9kcml2ZXJzL2NoYXIvcmF3LmMKaW5kZXggYmJmYTBlMi4uNTA1ZmNiZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL3Jhdy5jCisrKyBiL2RyaXZlcnMvY2hhci9yYXcuYwpAQCAtMTksNiArMTksNyBAQAogI2luY2x1ZGUgPGxpbnV4L2NkZXYuaD4KICNpbmNsdWRlIDxsaW51eC9kZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogCkBAIC01Myw2ICs1NCw3IEBACiAJCXJldHVybiAwOwogCX0KIAorCWxvY2tfa2VybmVsKCk7CiAJbXV0ZXhfbG9jaygmcmF3X211dGV4KTsKIAogCS8qCkBAIC03OSw2ICs4MSw3IEBACiAJCQliZGV2LT5iZF9pbm9kZS0+aV9tYXBwaW5nOwogCWZpbHAtPnByaXZhdGVfZGF0YSA9IGJkZXY7CiAJbXV0ZXhfdW5sb2NrKCZyYXdfbXV0ZXgpOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gMDsKIAogb3V0MjoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9ydGMuYyBiL2RyaXZlcnMvY2hhci9ydGMuYwppbmRleCA1ZjgwYTlkLi5mYTkyYThhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvcnRjLmMKKysrIGIvZHJpdmVycy9jaGFyL3J0Yy5jCkBAIC03Myw2ICs3Myw3IEBACiAjaW5jbHVkZSA8bGludXgvcHJvY19mcy5oPgogI2luY2x1ZGUgPGxpbnV4L3NlcV9maWxlLmg+CiAjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3N5c2N0bC5oPgogI2luY2x1ZGUgPGxpbnV4L3dhaXQuaD4KICNpbmNsdWRlIDxsaW51eC9iY2QuaD4KQEAgLTY3OCwxMiArNjc5LDEzIEBACiAJCWlmIChhcmcgIT0gKDE8PHRtcCkpCiAJCQlyZXR1cm4gLUVJTlZBTDsKIAorCQlydGNfZnJlcSA9IGFyZzsKKwogCQlzcGluX2xvY2tfaXJxc2F2ZSgmcnRjX2xvY2ssIGZsYWdzKTsKIAkJaWYgKGhwZXRfc2V0X3BlcmlvZGljX2ZyZXEoYXJnKSkgewogCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcnRjX2xvY2ssIGZsYWdzKTsKIAkJCXJldHVybiAwOwogCQl9Ci0JCXJ0Y19mcmVxID0gYXJnOwogCiAJCXZhbCA9IENNT1NfUkVBRChSVENfRlJFUV9TRUxFQ1QpICYgMHhmMDsKIAkJdmFsIHw9ICgxNiAtIHRtcCk7CkBAIC03MzMsNiArNzM1LDcgQEAKICAqIG5lZWRlZCBoZXJlLiBPciBhbnl3aGVyZSBlbHNlIGluIHRoaXMgZHJpdmVyLiAqLwogc3RhdGljIGludCBydGNfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKKwlsb2NrX2tlcm5lbCgpOwogCXNwaW5fbG9ja19pcnEoJnJ0Y19sb2NrKTsKIAogCWlmIChydGNfc3RhdHVzICYgUlRDX0lTX09QRU4pCkBAIC03NDIsMTAgKzc0NSwxMiBAQAogCiAJcnRjX2lycV9kYXRhID0gMDsKIAlzcGluX3VubG9ja19pcnEoJnJ0Y19sb2NrKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIDA7CiAKIG91dF9idXN5OgogCXNwaW5fdW5sb2NrX2lycSgmcnRjX2xvY2spOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gLUVCVVNZOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvc2N4MjAwX2dwaW8uYyBiL2RyaXZlcnMvY2hhci9zY3gyMDBfZ3Bpby5jCmluZGV4IDk5ZTUyNzIuLjFkOTEwMDUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9zY3gyMDBfZ3Bpby5jCisrKyBiL2RyaXZlcnMvY2hhci9zY3gyMDBfZ3Bpby5jCkBAIC0xMiw2ICsxMiw3IEBACiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KICNpbmNsdWRlIDxhc20vaW8uaD4KIApAQCAtNTEsNiArNTIsNyBAQAogCXVuc2lnbmVkIG0gPSBpbWlub3IoaW5vZGUpOwogCWZpbGUtPnByaXZhdGVfZGF0YSA9ICZzY3gyMDBfZ3Bpb19vcHM7CiAKKwljeWNsZV9rZXJuZWxfbG9jaygpOwogCWlmIChtID49IE1BWF9QSU5TKQogCQlyZXR1cm4gLUVJTlZBTDsKIAlyZXR1cm4gbm9uc2Vla2FibGVfb3Blbihpbm9kZSwgZmlsZSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvc25zYy5jIGIvZHJpdmVycy9jaGFyL3Nuc2MuYwppbmRleCA4ZmUwOTlhLi4wYjc5OWFjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvc25zYy5jCisrKyBiL2RyaXZlcnMvY2hhci9zbnNjLmMKQEAgLTIxLDYgKzIxLDcgQEAKICNpbmNsdWRlIDxsaW51eC9wb2xsLmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8YXNtL3NuL2lvLmg+CiAjaW5jbHVkZSA8YXNtL3NuL3NuX3NhbC5oPgogI2luY2x1ZGUgPGFzbS9zbi9tb2R1bGUuaD4KQEAgLTEwNCw2ICsxMDUsNyBAQAogCWZpbGUtPnByaXZhdGVfZGF0YSA9IHNkOwogCiAJLyogaG9vayB0aGlzIHN1YmNoYW5uZWwgdXAgdG8gdGhlIHN5c3RlbSBjb250cm9sbGVyIGludGVycnVwdCAqLworCWxvY2tfa2VybmVsKCk7CiAJcnYgPSByZXF1ZXN0X2lycShTR0lfVUFSVF9WRUNUT1IsIHNjZHJ2X2ludGVycnVwdCwKIAkJCSBJUlFGX1NIQVJFRCB8IElSUUZfRElTQUJMRUQsCiAJCQkgU1lTQ1RMX0JBU0VOQU1FLCBzZCk7CkBAIC0xMTEsOSArMTEzLDEwIEBACiAJCWlhNjRfc25faXJ0cl9jbG9zZShzZC0+c2RfbmFzaWQsIHNkLT5zZF9zdWJjaCk7CiAJCWtmcmVlKHNkKTsKIAkJcHJpbnRrKCIlczogaXJxIHJlcXVlc3QgZmFpbGVkICglZClcbiIsIF9fZnVuY19fLCBydik7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIC1FQlVTWTsKIAl9Ci0KKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9zb255cGkuYyBiL2RyaXZlcnMvY2hhci9zb255cGkuYwppbmRleCA1ODUzM2RlLi44NWUwZWI3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvc29ueXBpLmMKKysrIGIvZHJpdmVycy9jaGFyL3NvbnlwaS5jCkBAIC00OSw2ICs0OSw3IEBACiAjaW5jbHVkZSA8bGludXgvZXJyLmg+CiAjaW5jbHVkZSA8bGludXgva2ZpZm8uaD4KICNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KICNpbmNsdWRlIDxhc20vaW8uaD4KQEAgLTkwNiwxMiArOTA3LDE0IEBACiAKIHN0YXRpYyBpbnQgc29ueXBpX21pc2Nfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKKwlsb2NrX2tlcm5lbCgpOwogCW11dGV4X2xvY2soJnNvbnlwaV9kZXZpY2UubG9jayk7CiAJLyogRmx1c2ggaW5wdXQgcXVldWUgb24gZmlyc3Qgb3BlbiAqLwogCWlmICghc29ueXBpX2RldmljZS5vcGVuX2NvdW50KQogCQlrZmlmb19yZXNldChzb255cGlfZGV2aWNlLmZpZm8pOwogCXNvbnlwaV9kZXZpY2Uub3Blbl9jb3VudCsrOwogCW11dGV4X3VubG9jaygmc29ueXBpX2RldmljZS5sb2NrKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9zeXNycS5jIGIvZHJpdmVycy9jaGFyL3N5c3JxLmMKaW5kZXggZGJjZTEyNi4uOGZkZmU5YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL3N5c3JxLmMKKysrIGIvZHJpdmVycy9jaGFyL3N5c3JxLmMKQEAgLTIxNSw3ICsyMTUsNyBAQAogCiBzdGF0aWMgdm9pZCBzeXNycV9zaG93cmVnc19vdGhlcmNwdXMoc3RydWN0IHdvcmtfc3RydWN0ICpkdW1teSkKIHsKLQlzbXBfY2FsbF9mdW5jdGlvbihzaG93YWNwdSwgTlVMTCwgMCwgMCk7CisJc21wX2NhbGxfZnVuY3Rpb24oc2hvd2FjcHUsIE5VTEwsIDApOwogfQogCiBzdGF0aWMgREVDTEFSRV9XT1JLKHN5c3JxX3Nob3dhbGxjcHVzLCBzeXNycV9zaG93cmVnc19vdGhlcmNwdXMpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL3RiMDIxOS5jIGIvZHJpdmVycy9jaGFyL3RiMDIxOS5jCmluZGV4IDRjNDMxY2IuLjYwNjJiNjIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci90YjAyMTkuYworKysgYi9kcml2ZXJzL2NoYXIvdGIwMjE5LmMKQEAgLTIxLDYgKzIxLDcgQEAKICNpbmNsdWRlIDxsaW51eC9mcy5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAjaW5jbHVkZSA8YXNtL3JlYm9vdC5oPgpAQCAtMjM2LDYgKzIzNyw3IEBACiB7CiAJdW5zaWduZWQgaW50IG1pbm9yOwogCisJY3ljbGVfa2VybmVsX2xvY2soKTsKIAltaW5vciA9IGltaW5vcihpbm9kZSk7CiAJc3dpdGNoIChtaW5vcikgewogCWNhc2UgMDoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci90bGNsay5jIGIvZHJpdmVycy9jaGFyL3RsY2xrLmMKaW5kZXggMzVlNTgwMy4uOGYyMjg0YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL3RsY2xrLmMKKysrIGIvZHJpdmVycy9jaGFyL3RsY2xrLmMKQEAgLTM2LDYgKzM2LDcgQEAKICNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4KICNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KICNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvdGltZXIuaD4KICNpbmNsdWRlIDxsaW51eC9zeXNmcy5oPgogI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgpAQCAtMjA0LDExICsyMDUsMTQgQEAKIHsKIAlpbnQgcmVzdWx0OwogCi0JaWYgKHRlc3RfYW5kX3NldF9iaXQoMCwgJnVzZWZsYWdzKSkKLQkJcmV0dXJuIC1FQlVTWTsKKwlsb2NrX2tlcm5lbCgpOworCWlmICh0ZXN0X2FuZF9zZXRfYml0KDAsICZ1c2VmbGFncykpIHsKKwkJcmVzdWx0ID0gLUVCVVNZOwogCQkvKiB0aGlzIGxlZ2FjeSBkZXZpY2UgaXMgYWx3YXlzIG9uZSBwZXIgc3lzdGVtIGFuZCBpdCBkb2Vzbid0CiAJCSAqIGtub3cgaG93IHRvIGhhbmRsZSBtdWx0aXBsZSBjb25jdXJyZW50IGNsaWVudHMuCiAJCSAqLworCQlnb3RvIG91dDsKKwl9CiAKIAkvKiBNYWtlIHN1cmUgdGhlcmUgaXMgbm8gaW50ZXJydXB0IHBlbmRpbmcgd2hpbGUKIAkgKiBpbml0aWFsaXNpbmcgaW50ZXJydXB0IGhhbmRsZXIgKi8KQEAgLTIxOCwxMyArMjIyLDE0IEBACiAJICogd2UgY2FuJ3Qgc2hhcmUgdGhpcyBJUlEgKi8KIAlyZXN1bHQgPSByZXF1ZXN0X2lycSh0ZWxjbGtfaW50ZXJydXB0LCAmdGxjbGtfaW50ZXJydXB0LAogCQkJICAgICBJUlFGX0RJU0FCTEVELCAidGVsY29fY2xvY2siLCB0bGNsa19pbnRlcnJ1cHQpOwotCWlmIChyZXN1bHQgPT0gLUVCVVNZKSB7CisJaWYgKHJlc3VsdCA9PSAtRUJVU1kpCiAJCXByaW50ayhLRVJOX0VSUiAidGxjbGs6IEludGVycnVwdCBjYW4ndCBiZSByZXNlcnZlZC5cbiIpOwotCQlyZXR1cm4gLUVCVVNZOwotCX0KLQlpbmIoVExDTEtfUkVHNik7CS8qIENsZWFyIGludGVycnVwdCBldmVudHMgKi8KKwllbHNlCisJCWluYihUTENMS19SRUc2KTsJLyogQ2xlYXIgaW50ZXJydXB0IGV2ZW50cyAqLwogCi0JcmV0dXJuIDA7CitvdXQ6CisJdW5sb2NrX2tlcm5lbCgpOworCXJldHVybiByZXN1bHQ7CiB9CiAKIHN0YXRpYyBpbnQgdGxjbGtfcmVsZWFzZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlscCkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci90cG0vdHBtLmMgYi9kcml2ZXJzL2NoYXIvdHBtL3RwbS5jCmluZGV4IGE1ZDhiY2IuLmUxZmMxOTMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci90cG0vdHBtLmMKKysrIGIvZHJpdmVycy9jaGFyL3RwbS90cG0uYwpAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3BvbGwuaD4KICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgogI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogI2luY2x1ZGUgInRwbS5oIgogCkBAIC04OTcsNiArODk4LDcgQEAKIAlpbnQgcmMgPSAwLCBtaW5vciA9IGltaW5vcihpbm9kZSk7CiAJc3RydWN0IHRwbV9jaGlwICpjaGlwID0gTlVMTCwgKnBvczsKIAorCWxvY2tfa2VybmVsKCk7CiAJc3Bpbl9sb2NrKCZkcml2ZXJfbG9jayk7CiAKIAlsaXN0X2Zvcl9lYWNoX2VudHJ5KHBvcywgJnRwbV9jaGlwX2xpc3QsIGxpc3QpIHsKQEAgLTkyNiwxNiArOTI4LDE5IEBACiAJaWYgKGNoaXAtPmRhdGFfYnVmZmVyID09IE5VTEwpIHsKIAkJY2hpcC0+bnVtX29wZW5zLS07CiAJCXB1dF9kZXZpY2UoY2hpcC0+ZGV2KTsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gLUVOT01FTTsKIAl9CiAKIAlhdG9taWNfc2V0KCZjaGlwLT5kYXRhX3BlbmRpbmcsIDApOwogCiAJZmlsZS0+cHJpdmF0ZV9kYXRhID0gY2hpcDsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIDA7CiAKIGVycl9vdXQ6CiAJc3Bpbl91bmxvY2soJmRyaXZlcl9sb2NrKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIHJjOwogfQogRVhQT1JUX1NZTUJPTF9HUEwodHBtX29wZW4pOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL3RwbS90cG1fdGlzLmMgYi9kcml2ZXJzL2NoYXIvdHBtL3RwbV90aXMuYwppbmRleCAxM2E0YmRkLi5jN2E5NzdiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvdHBtL3RwbV90aXMuYworKysgYi9kcml2ZXJzL2NoYXIvdHBtL3RwbV90aXMuYwpAQCAtNjIzLDYgKzYyMyw3IEBACiAJeyJJRlgwMTAyIiwgMH0sCQkvKiBJbmZpbmVvbiAqLwogCXsiQkNNMDEwMSIsIDB9LAkJLyogQnJvYWRjb20gKi8KIAl7Ik5TQzEyMDAiLCAwfSwJCS8qIE5hdGlvbmFsICovCisJeyJJQ08wMTAyIiwgMH0sCQkvKiBJbnRlbCAqLwogCS8qIEFkZCBuZXcgaGVyZSAqLwogCXsiIiwgMH0sCQkvKiBVc2VyIFNwZWNpZmllZCAqLwogCXsiIiwgMH0JCQkvKiBUZXJtaW5hdG9yICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvdHR5X2lvLmMgYi9kcml2ZXJzL2NoYXIvdHR5X2lvLmMKaW5kZXggNzUwMTMxMC4uMDQ3YTE3MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL3R0eV9pby5jCisrKyBiL2RyaXZlcnMvY2hhci90dHlfaW8uYwpAQCAtMjY2NSw3ICsyNjY1LDcgQEAKICAqCQkgLT5zaWdsb2NrIHByb3RlY3RzIC0+c2lnbmFsLy0+c2lnaGFuZAogICovCiAKLXN0YXRpYyBpbnQgdHR5X29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbHApCitzdGF0aWMgaW50IF9fdHR5X29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbHApCiB7CiAJc3RydWN0IHR0eV9zdHJ1Y3QgKnR0eTsKIAlpbnQgbm9jdHR5LCByZXR2YWw7CkBAIC0yNzc5LDYgKzI3NzksMTkgQEAKIAlyZXR1cm4gMDsKIH0KIAorLyogQktMIHB1c2hkb3duOiBzY2FyeSBjb2RlIGF2b2lkYW5jZSB3cmFwcGVyICovCitzdGF0aWMgaW50IHR0eV9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxwKQoreworCWludCByZXQ7CisKKwlsb2NrX2tlcm5lbCgpOworCXJldCA9IF9fdHR5X29wZW4oaW5vZGUsIGZpbHApOworCXVubG9ja19rZXJuZWwoKTsKKwlyZXR1cm4gcmV0OworfQorCisKKwogI2lmZGVmIENPTkZJR19VTklYOThfUFRZUwogLyoqCiAgKglwdG14X29wZW4JCS0Jb3BlbiBhIHVuaXggOTggcHR5IG1hc3RlcgpAQCAtMjc5Miw3ICsyODA1LDcgQEAKICAqCQlhbGxvY2F0ZWRfcHR5c19sb2NrIGhhbmRsZXMgdGhlIGxpc3Qgb2YgZnJlZSBwdHkgbnVtYmVycwogICovCiAKLXN0YXRpYyBpbnQgcHRteF9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxwKQorc3RhdGljIGludCBfX3B0bXhfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlscCkKIHsKIAlzdHJ1Y3QgdHR5X3N0cnVjdCAqdHR5OwogCWludCByZXR2YWw7CkBAIC0yODMxLDYgKzI4NDQsMTYgQEAKIAlkZXZwdHNfa2lsbF9pbmRleChpbmRleCk7CiAJcmV0dXJuIHJldHZhbDsKIH0KKworc3RhdGljIGludCBwdG14X29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbHApCit7CisJaW50IHJldDsKKworCWxvY2tfa2VybmVsKCk7CisJcmV0ID0gX19wdG14X29wZW4oaW5vZGUsIGZpbHApOworCXVubG9ja19rZXJuZWwoKTsKKwlyZXR1cm4gcmV0OworfQogI2VuZGlmCiAKIC8qKgpAQCAtMjg4NiwxNSArMjkwOSwxNiBAQAogewogCXN0cnVjdCB0dHlfc3RydWN0ICp0dHk7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKLQlpbnQgcmV0dmFsOworCWludCByZXR2YWwgPSAwOwogCisJbG9ja19rZXJuZWwoKTsKIAl0dHkgPSAoc3RydWN0IHR0eV9zdHJ1Y3QgKilmaWxwLT5wcml2YXRlX2RhdGE7CiAJaWYgKHR0eV9wYXJhbm9pYV9jaGVjayh0dHksIGZpbHAtPmZfcGF0aC5kZW50cnktPmRfaW5vZGUsICJ0dHlfZmFzeW5jIikpCi0JCXJldHVybiAwOworCQlnb3RvIG91dDsKIAogCXJldHZhbCA9IGZhc3luY19oZWxwZXIoZmQsIGZpbHAsIG9uLCAmdHR5LT5mYXN5bmMpOwogCWlmIChyZXR2YWwgPD0gMCkKLQkJcmV0dXJuIHJldHZhbDsKKwkJZ290byBvdXQ7CiAKIAlpZiAob24pIHsKIAkJZW51bSBwaWRfdHlwZSB0eXBlOwpAQCAtMjkxMiwxMiArMjkzNiwxNSBAQAogCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZ0dHktPmN0cmxfbG9jaywgZmxhZ3MpOwogCQlyZXR2YWwgPSBfX2Zfc2V0b3duKGZpbHAsIHBpZCwgdHlwZSwgMCk7CiAJCWlmIChyZXR2YWwpCi0JCQlyZXR1cm4gcmV0dmFsOworCQkJZ290byBvdXQ7CiAJfSBlbHNlIHsKIAkJaWYgKCF0dHktPmZhc3luYyAmJiAhd2FpdHF1ZXVlX2FjdGl2ZSgmdHR5LT5yZWFkX3dhaXQpKQogCQkJdHR5LT5taW5pbXVtX3RvX3dha2UgPSBOX1RUWV9CVUZfU0laRTsKIAl9Ci0JcmV0dXJuIDA7CisJcmV0dmFsID0gMDsKK291dDoKKwl1bmxvY2tfa2VybmVsKCk7CisJcmV0dXJuIHJldHZhbDsKIH0KIAogLyoqCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvdmNfc2NyZWVuLmMgYi9kcml2ZXJzL2NoYXIvdmNfc2NyZWVuLmMKaW5kZXggODNhZWVkZC4uZWViZmFkMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL3ZjX3NjcmVlbi5jCisrKyBiL2RyaXZlcnMvY2hhci92Y19zY3JlZW4uYwpAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2tiZF9rZXJuLmg+CiAjaW5jbHVkZSA8bGludXgvY29uc29sZS5oPgogI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogI2luY2x1ZGUgPGFzbS9ieXRlb3JkZXIuaD4KQEAgLTQ2MCw5ICs0NjEsMTMgQEAKIHZjc19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxwKQogewogCXVuc2lnbmVkIGludCBjdXJyY29ucyA9IGltaW5vcihpbm9kZSkgJiAxMjc7CisJaW50IHJldCA9IDA7CisJCisJbG9ja19rZXJuZWwoKTsKIAlpZihjdXJyY29ucyAmJiAhdmNfY29uc19hbGxvY2F0ZWQoY3VycmNvbnMtMSkpCi0JCXJldHVybiAtRU5YSU87Ci0JcmV0dXJuIDA7CisJCXJldCA9IC1FTlhJTzsKKwl1bmxvY2tfa2VybmVsKCk7CisJcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgdmNzX2ZvcHMgPSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvdmlvdGFwZS5jIGIvZHJpdmVycy9jaGFyL3Zpb3RhcGUuYwppbmRleCBjMzlkZGFmLi45NzdmN2QzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvdmlvdGFwZS5jCisrKyBiL2RyaXZlcnMvY2hhci92aW90YXBlLmMKQEAgLTQ2LDYgKzQ2LDcgQEAKICNpbmNsdWRlIDxsaW51eC9jb21wbGV0aW9uLmg+CiAjaW5jbHVkZSA8bGludXgvcHJvY19mcy5oPgogI2luY2x1ZGUgPGxpbnV4L3NlcV9maWxlLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAjaW5jbHVkZSA8YXNtL2lvY3Rscy5oPgpAQCAtNjg3LDYgKzY4OCw3IEBACiAJaWYgKG9wID09IE5VTEwpCiAJCXJldHVybiAtRU5PTUVNOwogCisJbG9ja19rZXJuZWwoKTsKIAlnZXRfZGV2X2luZm8oZmlsZS0+Zl9wYXRoLmRlbnRyeS0+ZF9pbm9kZSwgJmRldmkpOwogCiAJLyogTm90ZTogV2UgY3VycmVudGx5IG9ubHkgc3VwcG9ydCBvbmUgbW9kZSEgKi8KQEAgLTcxNyw2ICs3MTksNyBAQAogCiBmcmVlX29wOgogCWZyZWVfb3Bfc3RydWN0KG9wKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIHJldDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL3ZyNDF4eF9naXUuYyBiL2RyaXZlcnMvY2hhci92cjQxeHhfZ2l1LmMKaW5kZXggZTVlZDA5MS4uZmZlOWI0ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL3ZyNDF4eF9naXUuYworKysgYi9kcml2ZXJzL2NoYXIvdnI0MXh4X2dpdS5jCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiAKQEAgLTU0Nyw2ICs1NDgsNyBAQAogewogCXVuc2lnbmVkIGludCBwaW47CiAKKwljeWNsZV9rZXJuZWxfbG9jaygpOwogCXBpbiA9IGltaW5vcihpbm9kZSk7CiAJaWYgKHBpbiA+PSBnaXVfbnJfcGlucykKIAkJcmV0dXJuIC1FQkFERjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci94aWxpbnhfaHdpY2FwL3hpbGlueF9od2ljYXAuYyBiL2RyaXZlcnMvY2hhci94aWxpbnhfaHdpY2FwL3hpbGlueF9od2ljYXAuYwppbmRleCAzZWRmMWZjLi4xZTFiODFlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIveGlsaW54X2h3aWNhcC94aWxpbnhfaHdpY2FwLmMKKysrIGIvZHJpdmVycy9jaGFyL3hpbGlueF9od2ljYXAveGlsaW54X2h3aWNhcC5jCkBAIC04NSw2ICs4NSw3IEBACiAjaW5jbHVkZSA8bGludXgvcG9sbC5oPgogI2luY2x1ZGUgPGxpbnV4L3Byb2NfZnMuaD4KICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvc3lzY3RsLmg+CiAjaW5jbHVkZSA8bGludXgvdmVyc2lvbi5oPgogI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CkBAIC01MDQsMTEgKzUwNSwxMiBAQAogCXN0cnVjdCBod2ljYXBfZHJ2ZGF0YSAqZHJ2ZGF0YTsKIAlpbnQgc3RhdHVzOwogCisJbG9ja19rZXJuZWwoKTsKIAlkcnZkYXRhID0gY29udGFpbmVyX29mKGlub2RlLT5pX2NkZXYsIHN0cnVjdCBod2ljYXBfZHJ2ZGF0YSwgY2Rldik7CiAKIAlzdGF0dXMgPSBtdXRleF9sb2NrX2ludGVycnVwdGlibGUoJmRydmRhdGEtPnNlbSk7CiAJaWYgKHN0YXR1cykKLQkJcmV0dXJuIHN0YXR1czsKKwkJZ290byBvdXQ7CiAKIAlpZiAoZHJ2ZGF0YS0+aXNfb3BlbikgewogCQlzdGF0dXMgPSAtRUJVU1k7CkBAIC01MjgsNiArNTMwLDggQEAKIAogIGVycm9yOgogCW11dGV4X3VubG9jaygmZHJ2ZGF0YS0+c2VtKTsKKyBvdXQ6CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiBzdGF0dXM7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2xvY2tzb3VyY2UvYWNwaV9wbS5jIGIvZHJpdmVycy9jbG9ja3NvdXJjZS9hY3BpX3BtLmMKaW5kZXggN2I0NmZhZi4uNWNhMWQ4MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9jbG9ja3NvdXJjZS9hY3BpX3BtLmMKKysrIGIvZHJpdmVycy9jbG9ja3NvdXJjZS9hY3BpX3BtLmMKQEAgLTIxNSwzICsyMTUsMjIgQEAKICAqIGJ1dCB3ZSBzdGlsbCBuZWVkIHRvIGxvYWQgYmVmb3JlIGRldmljZV9pbml0Y2FsbAogICovCiBmc19pbml0Y2FsbChpbml0X2FjcGlfcG1fY2xvY2tzb3VyY2UpOworCisvKgorICogQWxsb3cgYW4gb3ZlcnJpZGUgb2YgdGhlIElPUG9ydC4gU3R1cGlkIEJJT1NlcyBkbyBub3QgdGVsbCB1cyBhYm91dAorICogdGhlIFBNVGltZXIsIGJ1dCB3ZSBtaWdodCBrbm93IHdoZXJlIGl0IGlzLgorICovCitzdGF0aWMgaW50IF9faW5pdCBwYXJzZV9wbXRtcihjaGFyICphcmcpCit7CisJdW5zaWduZWQgbG9uZyBiYXNlOworCisJaWYgKHN0cmljdF9zdHJ0b3VsKGFyZywgMTYsICZiYXNlKSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlwcmludGsoS0VSTl9JTkZPICJQTVRNUiBJT1BvcnQgb3ZlcnJpZGU6IDB4JTA0eCAtPiAweCUwNGx4XG4iLAorCSAgICAgICAodW5zaWduZWQgaW50KXBtdG1yX2lvcG9ydCwgYmFzZSk7CisJcG10bXJfaW9wb3J0ID0gYmFzZTsKKworCXJldHVybiAxOworfQorX19zZXR1cCgicG10bXI9IiwgcGFyc2VfcG10bXIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jcHVpZGxlL2NwdWlkbGUuYyBiL2RyaXZlcnMvY3B1aWRsZS9jcHVpZGxlLmMKaW5kZXggMjM1NTRiNi4uNTQwNTc2OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9jcHVpZGxlL2NwdWlkbGUuYworKysgYi9kcml2ZXJzL2NwdWlkbGUvY3B1aWRsZS5jCkBAIC0zNDAsNyArMzQwLDcgQEAKIHN0YXRpYyBpbnQgY3B1aWRsZV9sYXRlbmN5X25vdGlmeShzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKmIsCiAJCXVuc2lnbmVkIGxvbmcgbCwgdm9pZCAqdikKIHsKLQlzbXBfY2FsbF9mdW5jdGlvbihzbXBfY2FsbGJhY2ssIE5VTEwsIDAsIDEpOworCXNtcF9jYWxsX2Z1bmN0aW9uKHNtcF9jYWxsYmFjaywgTlVMTCwgMSk7CiAJcmV0dXJuIE5PVElGWV9PSzsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jcnlwdG8vS2NvbmZpZyBiL2RyaXZlcnMvY3J5cHRvL0tjb25maWcKaW5kZXggNDNiNzFiNi4uZTUyMjE0NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9jcnlwdG8vS2NvbmZpZworKysgYi9kcml2ZXJzL2NyeXB0by9LY29uZmlnCkBAIC0xNzQsNCArMTc0LDMwIEBACiAJICBTZWxlY3QgdGhpcyBvcHRpb24gaWYgeW91IHdhbnQgdG8gZW5hYmxlIHRoZSByYW5kb20gbnVtYmVyIGdlbmVyYXRvcgogCSAgb24gdGhlIEhJRk4gNzk1eCBjcnlwdG8gYWRhcHRlcnMuCiAKK2NvbmZpZyBDUllQVE9fREVWX1RBTElUT1MKKwl0cmlzdGF0ZSAiVGFsaXRvcyBGcmVlc2NhbGUgU2VjdXJpdHkgRW5naW5lIChTRUMpIgorCXNlbGVjdCBDUllQVE9fQUxHQVBJCisJc2VsZWN0IENSWVBUT19BVVRIRU5DCisJc2VsZWN0IEhXX1JBTkRPTQorCWRlcGVuZHMgb24gRlNMX1NPQworCWhlbHAKKwkgIFNheSAnWScgaGVyZSB0byB1c2UgdGhlIEZyZWVzY2FsZSBTZWN1cml0eSBFbmdpbmUgKFNFQykKKwkgIHRvIG9mZmxvYWQgY3J5cHRvZ3JhcGhpYyBhbGdvcml0aG0gY29tcHV0YXRpb24uCisKKwkgIFRoZSBGcmVlc2NhbGUgU0VDIGlzIHByZXNlbnQgb24gUG93ZXJRVUlDQyAnRScgcHJvY2Vzc29ycywgc3VjaAorCSAgYXMgdGhlIE1QQzgzNDlFIGFuZCBNUEM4NTQ4RS4KKworCSAgVG8gY29tcGlsZSB0aGlzIGRyaXZlciBhcyBhIG1vZHVsZSwgY2hvb3NlIE0gaGVyZTogdGhlIG1vZHVsZQorCSAgd2lsbCBiZSBjYWxsZWQgdGFsaXRvcy4KKworY29uZmlnIENSWVBUT19ERVZfSVhQNFhYCisJdHJpc3RhdGUgIkRyaXZlciBmb3IgSVhQNHh4IGNyeXB0byBoYXJkd2FyZSBhY2NlbGVyYXRpb24iCisJZGVwZW5kcyBvbiBBUkNIX0lYUDRYWAorCXNlbGVjdCBDUllQVE9fREVTCisJc2VsZWN0IENSWVBUT19BTEdBUEkKKwlzZWxlY3QgQ1JZUFRPX0FVVEhFTkMKKwlzZWxlY3QgQ1JZUFRPX0JMS0NJUEhFUgorCWhlbHAKKwkgIERyaXZlciBmb3IgdGhlIElYUDR4eCBOUEUgY3J5cHRvIGVuZ2luZS4KKwogZW5kaWYgIyBDUllQVE9fSFcKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY3J5cHRvL01ha2VmaWxlIGIvZHJpdmVycy9jcnlwdG8vTWFrZWZpbGUKaW5kZXggYzAzMjdmMC4uNzM1NTdiMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9jcnlwdG8vTWFrZWZpbGUKKysrIGIvZHJpdmVycy9jcnlwdG8vTWFrZWZpbGUKQEAgLTIsMyArMiw1IEBACiBvYmotJChDT05GSUdfQ1JZUFRPX0RFVl9QQURMT0NLX1NIQSkgKz0gcGFkbG9jay1zaGEubwogb2JqLSQoQ09ORklHX0NSWVBUT19ERVZfR0VPREUpICs9IGdlb2RlLWFlcy5vCiBvYmotJChDT05GSUdfQ1JZUFRPX0RFVl9ISUZOXzc5NVgpICs9IGhpZm5fNzk1eC5vCitvYmotJChDT05GSUdfQ1JZUFRPX0RFVl9UQUxJVE9TKSArPSB0YWxpdG9zLm8KK29iai0kKENPTkZJR19DUllQVE9fREVWX0lYUDRYWCkgKz0gaXhwNHh4X2NyeXB0by5vCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NyeXB0by9oaWZuXzc5NXguYyBiL2RyaXZlcnMvY3J5cHRvL2hpZm5fNzk1eC5jCmluZGV4IDgxZjNmOTUuLjRkMjJiMjEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY3J5cHRvL2hpZm5fNzk1eC5jCisrKyBiL2RyaXZlcnMvY3J5cHRvL2hpZm5fNzk1eC5jCkBAIC0yOSw3ICsyOSw2IEBACiAjaW5jbHVkZSA8bGludXgvZG1hLW1hcHBpbmcuaD4KICNpbmNsdWRlIDxsaW51eC9zY2F0dGVybGlzdC5oPgogI2luY2x1ZGUgPGxpbnV4L2hpZ2htZW0uaD4KLSNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KICNpbmNsdWRlIDxsaW51eC9jcnlwdG8uaD4KICNpbmNsdWRlIDxsaW51eC9od19yYW5kb20uaD4KICNpbmNsdWRlIDxsaW51eC9rdGltZS5oPgpAQCAtMzY5LDcgKzM2OCw5IEBACiAjZGVmaW5lCUhJRk5fRF9EU1RfUlNJWkUJCTgwKjQKICNkZWZpbmUJSElGTl9EX1JFU19SU0laRQkJMjQqNAogCi0jZGVmaW5lIEhJRk5fUVVFVUVfTEVOR1RICQlISUZOX0RfQ01EX1JTSVpFLTUKKyNkZWZpbmUgSElGTl9EX0RTVF9EQUxJR04JCTQKKworI2RlZmluZSBISUZOX1FVRVVFX0xFTkdUSAkJSElGTl9EX0NNRF9SU0laRS0xCiAKICNkZWZpbmUgQUVTX01JTl9LRVlfU0laRQkJMTYKICNkZWZpbmUgQUVTX01BWF9LRVlfU0laRQkJMzIKQEAgLTUzNSwxMCArNTM2LDEwIEBACiAgKi8KIHN0cnVjdCBoaWZuX21hY19jb21tYW5kCiB7Ci0Jdm9sYXRpbGUgdTE2IAkJbWFza3M7Ci0Jdm9sYXRpbGUgdTE2IAkJaGVhZGVyX3NraXA7Ci0Jdm9sYXRpbGUgdTE2IAkJc291cmNlX2NvdW50OwotCXZvbGF0aWxlIHUxNiAJCXJlc2VydmVkOworCXZvbGF0aWxlIF9fbGUxNiAJbWFza3M7CisJdm9sYXRpbGUgX19sZTE2IAloZWFkZXJfc2tpcDsKKwl2b2xhdGlsZSBfX2xlMTYgCXNvdXJjZV9jb3VudDsKKwl2b2xhdGlsZSBfX2xlMTYgCXJlc2VydmVkOwogfTsKIAogI2RlZmluZQlISUZOX01BQ19DTURfQUxHX01BU0sJCTB4MDAwMQpAQCAtNTY0LDEwICs1NjUsMTAgQEAKIAogc3RydWN0IGhpZm5fY29tcF9jb21tYW5kCiB7Ci0Jdm9sYXRpbGUgdTE2IAkJbWFza3M7Ci0Jdm9sYXRpbGUgdTE2IAkJaGVhZGVyX3NraXA7Ci0Jdm9sYXRpbGUgdTE2IAkJc291cmNlX2NvdW50OwotCXZvbGF0aWxlIHUxNiAJCXJlc2VydmVkOworCXZvbGF0aWxlIF9fbGUxNiAJbWFza3M7CisJdm9sYXRpbGUgX19sZTE2IAloZWFkZXJfc2tpcDsKKwl2b2xhdGlsZSBfX2xlMTYgCXNvdXJjZV9jb3VudDsKKwl2b2xhdGlsZSBfX2xlMTYgCXJlc2VydmVkOwogfTsKIAogI2RlZmluZQlISUZOX0NPTVBfQ01EX1NSQ0xFTl9NCQkweGMwMDAKQEAgLTU4MywxMCArNTg0LDEwIEBACiAKIHN0cnVjdCBoaWZuX2Jhc2VfcmVzdWx0CiB7Ci0Jdm9sYXRpbGUgdTE2IAkJZmxhZ3M7Ci0Jdm9sYXRpbGUgdTE2IAkJc2Vzc2lvbjsKLQl2b2xhdGlsZSB1MTYgCQlzcmNfY250OwkJLyogMTU6MCBvZiBzb3VyY2UgY291bnQgKi8KLQl2b2xhdGlsZSB1MTYgCQlkc3RfY250OwkJLyogMTU6MCBvZiBkZXN0IGNvdW50ICovCisJdm9sYXRpbGUgX19sZTE2IAlmbGFnczsKKwl2b2xhdGlsZSBfX2xlMTYgCXNlc3Npb247CisJdm9sYXRpbGUgX19sZTE2IAlzcmNfY250OwkJLyogMTU6MCBvZiBzb3VyY2UgY291bnQgKi8KKwl2b2xhdGlsZSBfX2xlMTYgCWRzdF9jbnQ7CQkvKiAxNTowIG9mIGRlc3QgY291bnQgKi8KIH07CiAKICNkZWZpbmUJSElGTl9CQVNFX1JFU19EU1RPVkVSUlVOCTB4MDIwMAkvKiBkZXN0aW5hdGlvbiBvdmVycnVuICovCkBAIC01OTcsOCArNTk4LDggQEAKIAogc3RydWN0IGhpZm5fY29tcF9yZXN1bHQKIHsKLQl2b2xhdGlsZSB1MTYgCQlmbGFnczsKLQl2b2xhdGlsZSB1MTYgCQljcmM7CisJdm9sYXRpbGUgX19sZTE2CQlmbGFnczsKKwl2b2xhdGlsZSBfX2xlMTYJCWNyYzsKIH07CiAKICNkZWZpbmUJSElGTl9DT01QX1JFU19MQ0JfTQkJMHhmZjAwCS8qIGxvbmdpdHVkaW5hbCBjaGVjayBieXRlICovCkBAIC02MDksOCArNjEwLDggQEAKIAogc3RydWN0IGhpZm5fbWFjX3Jlc3VsdAogewotCXZvbGF0aWxlIHUxNiAJCWZsYWdzOwotCXZvbGF0aWxlIHUxNiAJCXJlc2VydmVkOworCXZvbGF0aWxlIF9fbGUxNiAJZmxhZ3M7CisJdm9sYXRpbGUgX19sZTE2IAlyZXNlcnZlZDsKIAkvKiBmb2xsb3dlZCBieSAwLCA2LCA4LCBvciAxMCB1MTYncyBvZiB0aGUgTUFDLCB0aGVuIGNyeXB0ICovCiB9OwogCkBAIC02MTksOCArNjIwLDggQEAKIAogc3RydWN0IGhpZm5fY3J5cHRfcmVzdWx0CiB7Ci0Jdm9sYXRpbGUgdTE2IAkJZmxhZ3M7Ci0Jdm9sYXRpbGUgdTE2IAkJcmVzZXJ2ZWQ7CisJdm9sYXRpbGUgX19sZTE2CQlmbGFnczsKKwl2b2xhdGlsZSBfX2xlMTYJCXJlc2VydmVkOwogfTsKIAogI2RlZmluZQlISUZOX0NSWVBUX1JFU19TUkNfTk9UWkVSTwkweDAwMDEJLyogc291cmNlIGV4cGlyZWQgKi8KQEAgLTY4NiwxMiArNjg3LDEyIEBACiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBoaWZuX3dyaXRlXzAoc3RydWN0IGhpZm5fZGV2aWNlICpkZXYsIHUzMiByZWcsIHUzMiB2YWwpCiB7Ci0Jd3JpdGVsKHZhbCwgZGV2LT5iYXJbMF0gKyByZWcpOworCXdyaXRlbCgoX19mb3JjZSB1MzIpY3B1X3RvX2xlMzIodmFsKSwgZGV2LT5iYXJbMF0gKyByZWcpOwogfQogCiBzdGF0aWMgaW5saW5lIHZvaWQgaGlmbl93cml0ZV8xKHN0cnVjdCBoaWZuX2RldmljZSAqZGV2LCB1MzIgcmVnLCB1MzIgdmFsKQogewotCXdyaXRlbCh2YWwsIGRldi0+YmFyWzFdICsgcmVnKTsKKwl3cml0ZWwoKF9fZm9yY2UgdTMyKWNwdV90b19sZTMyKHZhbCksIGRldi0+YmFyWzFdICsgcmVnKTsKIH0KIAogc3RhdGljIHZvaWQgaGlmbl93YWl0X3B1YyhzdHJ1Y3QgaGlmbl9kZXZpY2UgKmRldikKQEAgLTg5NCw3ICs4OTUsNyBAQAogCWNoYXIgKm9mZnRibCA9IE5VTEw7CiAJaW50IGk7CiAKLQlmb3IgKGkgPSAwOyBpIDwgc2l6ZW9mKHBjaTJpZCkvc2l6ZW9mKHBjaTJpZFswXSk7IGkrKykgeworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHBjaTJpZCk7IGkrKykgewogCQlpZiAocGNpMmlkW2ldLnBjaV92ZW5kb3IgPT0gZGV2LT5wZGV2LT52ZW5kb3IgJiYKIAkJCQlwY2kyaWRbaV0ucGNpX3Byb2QgPT0gZGV2LT5wZGV2LT5kZXZpY2UpIHsKIAkJCW9mZnRibCA9IHBjaTJpZFtpXS5jYXJkX2lkOwpAQCAtMTAzNywxNCArMTAzOCwxNCBAQAogCWhpZm5fd3JpdGVfMChkZXYsIEhJRk5fMF9QVUlFUiwgSElGTl9QVUlFUl9EU1RPVkVSKTsKIAogCS8qIHdyaXRlIGFsbCA0IHJpbmcgYWRkcmVzcyByZWdpc3RlcnMgKi8KLQloaWZuX3dyaXRlXzEoZGV2LCBISUZOXzFfRE1BX0NSQVIsIF9fY3B1X3RvX2xlMzIoZHB0ciArCi0JCQkJb2Zmc2V0b2Yoc3RydWN0IGhpZm5fZG1hLCBjbWRyWzBdKSkpOwotCWhpZm5fd3JpdGVfMShkZXYsIEhJRk5fMV9ETUFfU1JBUiwgX19jcHVfdG9fbGUzMihkcHRyICsKLQkJCQlvZmZzZXRvZihzdHJ1Y3QgaGlmbl9kbWEsIHNyY3JbMF0pKSk7Ci0JaGlmbl93cml0ZV8xKGRldiwgSElGTl8xX0RNQV9EUkFSLCBfX2NwdV90b19sZTMyKGRwdHIgKwotCQkJCW9mZnNldG9mKHN0cnVjdCBoaWZuX2RtYSwgZHN0clswXSkpKTsKLQloaWZuX3dyaXRlXzEoZGV2LCBISUZOXzFfRE1BX1JSQVIsIF9fY3B1X3RvX2xlMzIoZHB0ciArCi0JCQkJb2Zmc2V0b2Yoc3RydWN0IGhpZm5fZG1hLCByZXNyWzBdKSkpOworCWhpZm5fd3JpdGVfMShkZXYsIEhJRk5fMV9ETUFfQ1JBUiwgZHB0ciArCisJCQkJb2Zmc2V0b2Yoc3RydWN0IGhpZm5fZG1hLCBjbWRyWzBdKSk7CisJaGlmbl93cml0ZV8xKGRldiwgSElGTl8xX0RNQV9TUkFSLCBkcHRyICsKKwkJCQlvZmZzZXRvZihzdHJ1Y3QgaGlmbl9kbWEsIHNyY3JbMF0pKTsKKwloaWZuX3dyaXRlXzEoZGV2LCBISUZOXzFfRE1BX0RSQVIsIGRwdHIgKworCQkJCW9mZnNldG9mKHN0cnVjdCBoaWZuX2RtYSwgZHN0clswXSkpOworCWhpZm5fd3JpdGVfMShkZXYsIEhJRk5fMV9ETUFfUlJBUiwgZHB0ciArCisJCQkJb2Zmc2V0b2Yoc3RydWN0IGhpZm5fZG1hLCByZXNyWzBdKSk7CiAKIAltZGVsYXkoMik7CiAjaWYgMApAQCAtMTE2NiwxMDkgKzExNjcsMTUgQEAKIAlyZXR1cm4gY21kX2xlbjsKIH0KIAotc3RhdGljIGludCBoaWZuX3NldHVwX3NyY19kZXNjKHN0cnVjdCBoaWZuX2RldmljZSAqZGV2LCBzdHJ1Y3QgcGFnZSAqcGFnZSwKLQkJdW5zaWduZWQgaW50IG9mZnNldCwgdW5zaWduZWQgaW50IHNpemUpCi17Ci0Jc3RydWN0IGhpZm5fZG1hICpkbWEgPSAoc3RydWN0IGhpZm5fZG1hICopZGV2LT5kZXNjX3ZpcnQ7Ci0JaW50IGlkeDsKLQlkbWFfYWRkcl90IGFkZHI7Ci0KLQlhZGRyID0gcGNpX21hcF9wYWdlKGRldi0+cGRldiwgcGFnZSwgb2Zmc2V0LCBzaXplLCBQQ0lfRE1BX1RPREVWSUNFKTsKLQotCWlkeCA9IGRtYS0+c3JjaTsKLQotCWRtYS0+c3JjcltpZHhdLnAgPSBfX2NwdV90b19sZTMyKGFkZHIpOwotCWRtYS0+c3JjcltpZHhdLmwgPSBfX2NwdV90b19sZTMyKHNpemUpIHwgSElGTl9EX1ZBTElEIHwKLQkJCUhJRk5fRF9NQVNLRE9ORUlSUSB8IEhJRk5fRF9OT0lOVkFMSUQgfCBISUZOX0RfTEFTVDsKLQotCWlmICgrK2lkeCA9PSBISUZOX0RfU1JDX1JTSVpFKSB7Ci0JCWRtYS0+c3JjcltpZHhdLmwgPSBfX2NwdV90b19sZTMyKEhJRk5fRF9WQUxJRCB8Ci0JCQkJSElGTl9EX0pVTVAgfAotCQkJCUhJRk5fRF9NQVNLRE9ORUlSUSB8IEhJRk5fRF9MQVNUKTsKLQkJaWR4ID0gMDsKLQl9Ci0KLQlkbWEtPnNyY2kgPSBpZHg7Ci0JZG1hLT5zcmN1Kys7Ci0KLQlpZiAoIShkZXYtPmZsYWdzICYgSElGTl9GTEFHX1NSQ19CVVNZKSkgewotCQloaWZuX3dyaXRlXzEoZGV2LCBISUZOXzFfRE1BX0NTUiwgSElGTl9ETUFDU1JfU19DVFJMX0VOQSk7Ci0JCWRldi0+ZmxhZ3MgfD0gSElGTl9GTEFHX1NSQ19CVVNZOwotCX0KLQotCXJldHVybiBzaXplOwotfQotCi1zdGF0aWMgdm9pZCBoaWZuX3NldHVwX3Jlc19kZXNjKHN0cnVjdCBoaWZuX2RldmljZSAqZGV2KQotewotCXN0cnVjdCBoaWZuX2RtYSAqZG1hID0gKHN0cnVjdCBoaWZuX2RtYSAqKWRldi0+ZGVzY192aXJ0OwotCi0JZG1hLT5yZXNyW2RtYS0+cmVzaV0ubCA9IF9fY3B1X3RvX2xlMzIoSElGTl9VU0VEX1JFU1VMVCB8Ci0JCQlISUZOX0RfVkFMSUQgfCBISUZOX0RfTEFTVCk7Ci0JLyoKLQkgKiBkbWEtPnJlc3JbZG1hLT5yZXNpXS5sID0gX19jcHVfdG9fbGUzMihISUZOX01BWF9SRVNVTFQgfCBISUZOX0RfVkFMSUQgfAotCSAqCQkJCQlISUZOX0RfTEFTVCB8IEhJRk5fRF9OT0lOVkFMSUQpOwotCSAqLwotCi0JaWYgKCsrZG1hLT5yZXNpID09IEhJRk5fRF9SRVNfUlNJWkUpIHsKLQkJZG1hLT5yZXNyW0hJRk5fRF9SRVNfUlNJWkVdLmwgPSBfX2NwdV90b19sZTMyKEhJRk5fRF9WQUxJRCB8Ci0JCQkJSElGTl9EX0pVTVAgfCBISUZOX0RfTUFTS0RPTkVJUlEgfCBISUZOX0RfTEFTVCk7Ci0JCWRtYS0+cmVzaSA9IDA7Ci0JfQotCi0JZG1hLT5yZXN1Kys7Ci0KLQlpZiAoIShkZXYtPmZsYWdzICYgSElGTl9GTEFHX1JFU19CVVNZKSkgewotCQloaWZuX3dyaXRlXzEoZGV2LCBISUZOXzFfRE1BX0NTUiwgSElGTl9ETUFDU1JfUl9DVFJMX0VOQSk7Ci0JCWRldi0+ZmxhZ3MgfD0gSElGTl9GTEFHX1JFU19CVVNZOwotCX0KLX0KLQotc3RhdGljIHZvaWQgaGlmbl9zZXR1cF9kc3RfZGVzYyhzdHJ1Y3QgaGlmbl9kZXZpY2UgKmRldiwgc3RydWN0IHBhZ2UgKnBhZ2UsCi0JCXVuc2lnbmVkIG9mZnNldCwgdW5zaWduZWQgc2l6ZSkKLXsKLQlzdHJ1Y3QgaGlmbl9kbWEgKmRtYSA9IChzdHJ1Y3QgaGlmbl9kbWEgKilkZXYtPmRlc2NfdmlydDsKLQlpbnQgaWR4OwotCWRtYV9hZGRyX3QgYWRkcjsKLQotCWFkZHIgPSBwY2lfbWFwX3BhZ2UoZGV2LT5wZGV2LCBwYWdlLCBvZmZzZXQsIHNpemUsIFBDSV9ETUFfRlJPTURFVklDRSk7Ci0KLQlpZHggPSBkbWEtPmRzdGk7Ci0JZG1hLT5kc3RyW2lkeF0ucCA9IF9fY3B1X3RvX2xlMzIoYWRkcik7Ci0JZG1hLT5kc3RyW2lkeF0ubCA9IF9fY3B1X3RvX2xlMzIoc2l6ZSB8CUhJRk5fRF9WQUxJRCB8Ci0JCQlISUZOX0RfTUFTS0RPTkVJUlEgfCBISUZOX0RfTk9JTlZBTElEIHwgSElGTl9EX0xBU1QpOwotCi0JaWYgKCsraWR4ID09IEhJRk5fRF9EU1RfUlNJWkUpIHsKLQkJZG1hLT5kc3RyW2lkeF0ubCA9IF9fY3B1X3RvX2xlMzIoSElGTl9EX1ZBTElEIHwKLQkJCQlISUZOX0RfSlVNUCB8IEhJRk5fRF9NQVNLRE9ORUlSUSB8Ci0JCQkJSElGTl9EX0xBU1QgfCBISUZOX0RfTk9JTlZBTElEKTsKLQkJaWR4ID0gMDsKLQl9Ci0JZG1hLT5kc3RpID0gaWR4OwotCWRtYS0+ZHN0dSsrOwotCi0JaWYgKCEoZGV2LT5mbGFncyAmIEhJRk5fRkxBR19EU1RfQlVTWSkpIHsKLQkJaGlmbl93cml0ZV8xKGRldiwgSElGTl8xX0RNQV9DU1IsIEhJRk5fRE1BQ1NSX0RfQ1RSTF9FTkEpOwotCQlkZXYtPmZsYWdzIHw9IEhJRk5fRkxBR19EU1RfQlVTWTsKLQl9Ci19Ci0KLXN0YXRpYyBpbnQgaGlmbl9zZXR1cF9kbWEoc3RydWN0IGhpZm5fZGV2aWNlICpkZXYsIHN0cnVjdCBwYWdlICpzcGFnZSwgdW5zaWduZWQgaW50IHNvZmYsCi0JCXN0cnVjdCBwYWdlICpkcGFnZSwgdW5zaWduZWQgaW50IGRvZmYsIHVuc2lnbmVkIGludCBuYnl0ZXMsIHZvaWQgKnByaXYsCi0JCXN0cnVjdCBoaWZuX2NvbnRleHQgKmN0eCkKK3N0YXRpYyBpbnQgaGlmbl9zZXR1cF9jbWRfZGVzYyhzdHJ1Y3QgaGlmbl9kZXZpY2UgKmRldiwKKwkJc3RydWN0IGhpZm5fY29udGV4dCAqY3R4LCB2b2lkICpwcml2LCB1bnNpZ25lZCBpbnQgbmJ5dGVzKQogewogCXN0cnVjdCBoaWZuX2RtYSAqZG1hID0gKHN0cnVjdCBoaWZuX2RtYSAqKWRldi0+ZGVzY192aXJ0OwogCWludCBjbWRfbGVuLCBzYV9pZHg7CiAJdTggKmJ1ZiwgKmJ1Zl9wb3M7CiAJdTE2IG1hc2s7CiAKLQlkcHJpbnRrKCIlczogc3BhZ2U6ICVwLCBzb2Zmc2V0OiAldSwgZHBhZ2U6ICVwLCBkb2Zmc2V0OiAldSwgbmJ5dGVzOiAldSwgcHJpdjogJXAsIGN0eDogJXAuXG4iLAotCQkJZGV2LT5uYW1lLCBzcGFnZSwgc29mZiwgZHBhZ2UsIGRvZmYsIG5ieXRlcywgcHJpdiwgY3R4KTsKLQotCXNhX2lkeCA9IGRtYS0+cmVzaTsKLQotCWhpZm5fc2V0dXBfc3JjX2Rlc2MoZGV2LCBzcGFnZSwgc29mZiwgbmJ5dGVzKTsKLQorCXNhX2lkeCA9IGRtYS0+Y21kaTsKIAlidWZfcG9zID0gYnVmID0gZG1hLT5jb21tYW5kX2J1ZnNbZG1hLT5jbWRpXTsKIAogCW1hc2sgPSAwOwpAQCAtMTM3MCwxNiArMTI3NywxMTMgQEAKIAkJaGlmbl93cml0ZV8xKGRldiwgSElGTl8xX0RNQV9DU1IsIEhJRk5fRE1BQ1NSX0NfQ1RSTF9FTkEpOwogCQlkZXYtPmZsYWdzIHw9IEhJRk5fRkxBR19DTURfQlVTWTsKIAl9Ci0KLQloaWZuX3NldHVwX2RzdF9kZXNjKGRldiwgZHBhZ2UsIGRvZmYsIG5ieXRlcyk7Ci0JaGlmbl9zZXR1cF9yZXNfZGVzYyhkZXYpOwotCiAJcmV0dXJuIDA7CiAKIGVycl9vdXQ6CiAJcmV0dXJuIC1FSU5WQUw7CiB9CiAKK3N0YXRpYyBpbnQgaGlmbl9zZXR1cF9zcmNfZGVzYyhzdHJ1Y3QgaGlmbl9kZXZpY2UgKmRldiwgc3RydWN0IHBhZ2UgKnBhZ2UsCisJCXVuc2lnbmVkIGludCBvZmZzZXQsIHVuc2lnbmVkIGludCBzaXplKQoreworCXN0cnVjdCBoaWZuX2RtYSAqZG1hID0gKHN0cnVjdCBoaWZuX2RtYSAqKWRldi0+ZGVzY192aXJ0OworCWludCBpZHg7CisJZG1hX2FkZHJfdCBhZGRyOworCisJYWRkciA9IHBjaV9tYXBfcGFnZShkZXYtPnBkZXYsIHBhZ2UsIG9mZnNldCwgc2l6ZSwgUENJX0RNQV9UT0RFVklDRSk7CisKKwlpZHggPSBkbWEtPnNyY2k7CisKKwlkbWEtPnNyY3JbaWR4XS5wID0gX19jcHVfdG9fbGUzMihhZGRyKTsKKwlkbWEtPnNyY3JbaWR4XS5sID0gX19jcHVfdG9fbGUzMihzaXplIHwgSElGTl9EX1ZBTElEIHwKKwkJCUhJRk5fRF9NQVNLRE9ORUlSUSB8IEhJRk5fRF9MQVNUKTsKKworCWlmICgrK2lkeCA9PSBISUZOX0RfU1JDX1JTSVpFKSB7CisJCWRtYS0+c3JjcltpZHhdLmwgPSBfX2NwdV90b19sZTMyKEhJRk5fRF9WQUxJRCB8CisJCQkJSElGTl9EX0pVTVAgfAorCQkJCUhJRk5fRF9NQVNLRE9ORUlSUSB8IEhJRk5fRF9MQVNUKTsKKwkJaWR4ID0gMDsKKwl9CisKKwlkbWEtPnNyY2kgPSBpZHg7CisJZG1hLT5zcmN1Kys7CisKKwlpZiAoIShkZXYtPmZsYWdzICYgSElGTl9GTEFHX1NSQ19CVVNZKSkgeworCQloaWZuX3dyaXRlXzEoZGV2LCBISUZOXzFfRE1BX0NTUiwgSElGTl9ETUFDU1JfU19DVFJMX0VOQSk7CisJCWRldi0+ZmxhZ3MgfD0gSElGTl9GTEFHX1NSQ19CVVNZOworCX0KKworCXJldHVybiBzaXplOworfQorCitzdGF0aWMgdm9pZCBoaWZuX3NldHVwX3Jlc19kZXNjKHN0cnVjdCBoaWZuX2RldmljZSAqZGV2KQoreworCXN0cnVjdCBoaWZuX2RtYSAqZG1hID0gKHN0cnVjdCBoaWZuX2RtYSAqKWRldi0+ZGVzY192aXJ0OworCisJZG1hLT5yZXNyW2RtYS0+cmVzaV0ubCA9IF9fY3B1X3RvX2xlMzIoSElGTl9VU0VEX1JFU1VMVCB8CisJCQlISUZOX0RfVkFMSUQgfCBISUZOX0RfTEFTVCk7CisJLyoKKwkgKiBkbWEtPnJlc3JbZG1hLT5yZXNpXS5sID0gX19jcHVfdG9fbGUzMihISUZOX01BWF9SRVNVTFQgfCBISUZOX0RfVkFMSUQgfAorCSAqCQkJCQlISUZOX0RfTEFTVCk7CisJICovCisKKwlpZiAoKytkbWEtPnJlc2kgPT0gSElGTl9EX1JFU19SU0laRSkgeworCQlkbWEtPnJlc3JbSElGTl9EX1JFU19SU0laRV0ubCA9IF9fY3B1X3RvX2xlMzIoSElGTl9EX1ZBTElEIHwKKwkJCQlISUZOX0RfSlVNUCB8IEhJRk5fRF9NQVNLRE9ORUlSUSB8IEhJRk5fRF9MQVNUKTsKKwkJZG1hLT5yZXNpID0gMDsKKwl9CisKKwlkbWEtPnJlc3UrKzsKKworCWlmICghKGRldi0+ZmxhZ3MgJiBISUZOX0ZMQUdfUkVTX0JVU1kpKSB7CisJCWhpZm5fd3JpdGVfMShkZXYsIEhJRk5fMV9ETUFfQ1NSLCBISUZOX0RNQUNTUl9SX0NUUkxfRU5BKTsKKwkJZGV2LT5mbGFncyB8PSBISUZOX0ZMQUdfUkVTX0JVU1k7CisJfQorfQorCitzdGF0aWMgdm9pZCBoaWZuX3NldHVwX2RzdF9kZXNjKHN0cnVjdCBoaWZuX2RldmljZSAqZGV2LCBzdHJ1Y3QgcGFnZSAqcGFnZSwKKwkJdW5zaWduZWQgb2Zmc2V0LCB1bnNpZ25lZCBzaXplKQoreworCXN0cnVjdCBoaWZuX2RtYSAqZG1hID0gKHN0cnVjdCBoaWZuX2RtYSAqKWRldi0+ZGVzY192aXJ0OworCWludCBpZHg7CisJZG1hX2FkZHJfdCBhZGRyOworCisJYWRkciA9IHBjaV9tYXBfcGFnZShkZXYtPnBkZXYsIHBhZ2UsIG9mZnNldCwgc2l6ZSwgUENJX0RNQV9GUk9NREVWSUNFKTsKKworCWlkeCA9IGRtYS0+ZHN0aTsKKwlkbWEtPmRzdHJbaWR4XS5wID0gX19jcHVfdG9fbGUzMihhZGRyKTsKKwlkbWEtPmRzdHJbaWR4XS5sID0gX19jcHVfdG9fbGUzMihzaXplIHwJSElGTl9EX1ZBTElEIHwKKwkJCUhJRk5fRF9NQVNLRE9ORUlSUSB8IEhJRk5fRF9MQVNUKTsKKworCWlmICgrK2lkeCA9PSBISUZOX0RfRFNUX1JTSVpFKSB7CisJCWRtYS0+ZHN0cltpZHhdLmwgPSBfX2NwdV90b19sZTMyKEhJRk5fRF9WQUxJRCB8CisJCQkJSElGTl9EX0pVTVAgfCBISUZOX0RfTUFTS0RPTkVJUlEgfAorCQkJCUhJRk5fRF9MQVNUKTsKKwkJaWR4ID0gMDsKKwl9CisJZG1hLT5kc3RpID0gaWR4OworCWRtYS0+ZHN0dSsrOworCisJaWYgKCEoZGV2LT5mbGFncyAmIEhJRk5fRkxBR19EU1RfQlVTWSkpIHsKKwkJaGlmbl93cml0ZV8xKGRldiwgSElGTl8xX0RNQV9DU1IsIEhJRk5fRE1BQ1NSX0RfQ1RSTF9FTkEpOworCQlkZXYtPmZsYWdzIHw9IEhJRk5fRkxBR19EU1RfQlVTWTsKKwl9Cit9CisKK3N0YXRpYyBpbnQgaGlmbl9zZXR1cF9kbWEoc3RydWN0IGhpZm5fZGV2aWNlICpkZXYsIHN0cnVjdCBwYWdlICpzcGFnZSwgdW5zaWduZWQgaW50IHNvZmYsCisJCXN0cnVjdCBwYWdlICpkcGFnZSwgdW5zaWduZWQgaW50IGRvZmYsIHVuc2lnbmVkIGludCBuYnl0ZXMsIHZvaWQgKnByaXYsCisJCXN0cnVjdCBoaWZuX2NvbnRleHQgKmN0eCkKK3sKKwlkcHJpbnRrKCIlczogc3BhZ2U6ICVwLCBzb2Zmc2V0OiAldSwgZHBhZ2U6ICVwLCBkb2Zmc2V0OiAldSwgbmJ5dGVzOiAldSwgcHJpdjogJXAsIGN0eDogJXAuXG4iLAorCQkJZGV2LT5uYW1lLCBzcGFnZSwgc29mZiwgZHBhZ2UsIGRvZmYsIG5ieXRlcywgcHJpdiwgY3R4KTsKKworCWhpZm5fc2V0dXBfc3JjX2Rlc2MoZGV2LCBzcGFnZSwgc29mZiwgbmJ5dGVzKTsKKwloaWZuX3NldHVwX2NtZF9kZXNjKGRldiwgY3R4LCBwcml2LCBuYnl0ZXMpOworCWhpZm5fc2V0dXBfZHN0X2Rlc2MoZGV2LCBkcGFnZSwgZG9mZiwgbmJ5dGVzKTsKKwloaWZuX3NldHVwX3Jlc19kZXNjKGRldik7CisJcmV0dXJuIDA7Cit9CisKIHN0YXRpYyBpbnQgYWJsa2NpcGhlcl93YWxrX2luaXQoc3RydWN0IGFibGtjaXBoZXJfd2FsayAqdywKIAkJaW50IG51bSwgZ2ZwX3QgZ2ZwX2ZsYWdzKQogewpAQCAtMTQzMSw3ICsxNDM1LDcgQEAKIAkJcmV0dXJuIC1FSU5WQUw7CiAKIAl3aGlsZSAoc2l6ZSkgewotCQljb3B5ID0gbWluKGRyZXN0LCBzcmMtPmxlbmd0aCk7CisJCWNvcHkgPSBtaW4oZHJlc3QsIG1pbihzaXplLCBzcmMtPmxlbmd0aCkpOwogCiAJCXNhZGRyID0ga21hcF9hdG9taWMoc2dfcGFnZShzcmMpLCBLTV9TT0ZUSVJRMSk7CiAJCW1lbWNweShkYWRkciwgc2FkZHIgKyBzcmMtPm9mZnNldCwgY29weSk7CkBAIC0xNDU4LDEwICsxNDYyLDYgQEAKIHN0YXRpYyBpbnQgYWJsa2NpcGhlcl93YWxrKHN0cnVjdCBhYmxrY2lwaGVyX3JlcXVlc3QgKnJlcSwKIAkJc3RydWN0IGFibGtjaXBoZXJfd2FsayAqdykKIHsKLQl1bnNpZ25lZCBibG9ja3NpemUgPQotCQljcnlwdG9fYWJsa2NpcGhlcl9ibG9ja3NpemUoY3J5cHRvX2FibGtjaXBoZXJfcmVxdGZtKHJlcSkpOwotCXVuc2lnbmVkIGFsaWdubWFzayA9Ci0JCWNyeXB0b19hYmxrY2lwaGVyX2FsaWdubWFzayhjcnlwdG9fYWJsa2NpcGhlcl9yZXF0Zm0ocmVxKSk7CiAJc3RydWN0IHNjYXR0ZXJsaXN0ICpzcmMsICpkc3QsICp0OwogCXZvaWQgKmRhZGRyOwogCXVuc2lnbmVkIGludCBuYnl0ZXMgPSByZXEtPm5ieXRlcywgb2Zmc2V0LCBjb3B5LCBkaWZmOwpAQCAtMTQ3NywxNiArMTQ3NywxNCBAQAogCQlkc3QgPSAmcmVxLT5kc3RbaWR4XTsKIAogCQlkcHJpbnRrKCJcbiVzOiBzbGVuOiAldSwgZGxlbjogJXUsIHNvZmY6ICV1LCBkb2ZmOiAldSwgb2Zmc2V0OiAldSwgIgotCQkJCSJibG9ja3NpemU6ICV1LCBuYnl0ZXM6ICV1LlxuIiwKKwkJCQkibmJ5dGVzOiAldS5cbiIsCiAJCQkJX19mdW5jX18sIHNyYy0+bGVuZ3RoLCBkc3QtPmxlbmd0aCwgc3JjLT5vZmZzZXQsCi0JCQkJZHN0LT5vZmZzZXQsIG9mZnNldCwgYmxvY2tzaXplLCBuYnl0ZXMpOworCQkJCWRzdC0+b2Zmc2V0LCBvZmZzZXQsIG5ieXRlcyk7CiAKLQkJaWYgKHNyYy0+bGVuZ3RoICYgKGJsb2Nrc2l6ZSAtIDEpIHx8Ci0JCQkJc3JjLT5vZmZzZXQgJiAoYWxpZ25tYXNrIC0gMSkgfHwKLQkJCQlkc3QtPmxlbmd0aCAmIChibG9ja3NpemUgLSAxKSB8fAotCQkJCWRzdC0+b2Zmc2V0ICYgKGFsaWdubWFzayAtIDEpIHx8Ci0JCQkJb2Zmc2V0KSB7Ci0JCQl1bnNpZ25lZCBzbGVuID0gc3JjLT5sZW5ndGggLSBvZmZzZXQ7CisJCWlmICghSVNfQUxJR05FRChkc3QtPm9mZnNldCwgSElGTl9EX0RTVF9EQUxJR04pIHx8CisJCSAgICAhSVNfQUxJR05FRChkc3QtPmxlbmd0aCwgSElGTl9EX0RTVF9EQUxJR04pIHx8CisJCSAgICBvZmZzZXQpIHsKKwkJCXVuc2lnbmVkIHNsZW4gPSBtaW4oc3JjLT5sZW5ndGggLSBvZmZzZXQsIG5ieXRlcyk7CiAJCQl1bnNpZ25lZCBkbGVuID0gUEFHRV9TSVpFOwogCiAJCQl0ID0gJnctPmNhY2hlW2lkeF07CkBAIC0xNDk4LDggKzE0OTYsOCBAQAogCiAJCQlpZHggKz0gZXJyOwogCi0JCQljb3B5ID0gc2xlbiAmIH4oYmxvY2tzaXplIC0gMSk7Ci0JCQlkaWZmID0gc2xlbiAmIChibG9ja3NpemUgLSAxKTsKKwkJCWNvcHkgPSBzbGVuICYgfihISUZOX0RfRFNUX0RBTElHTiAtIDEpOworCQkJZGlmZiA9IHNsZW4gJiAoSElGTl9EX0RTVF9EQUxJR04gLSAxKTsKIAogCQkJaWYgKGRsZW4gPCBuYnl0ZXMpIHsKIAkJCQkvKgpAQCAtMTUwNyw3ICsxNTA1LDcgQEAKIAkJCQkgKiB0byBwdXQgdGhlcmUgYWRkaXRpb25hbCBibG9ja3NpemVkIGNodW5rLAogCQkJCSAqIHNvIHdlIG1hcmsgdGhhdCBwYWdlIGFzIGNvbnRhaW5pbmcgb25seQogCQkJCSAqIGJsb2Nrc2l6ZSBhbGlnbmVkIGNodW5rczoKLQkJCQkgKiAJdC0+bGVuZ3RoID0gKHNsZW4gJiB+KGJsb2Nrc2l6ZSAtIDEpKTsKKwkJCQkgKiAJdC0+bGVuZ3RoID0gKHNsZW4gJiB+KEhJRk5fRF9EU1RfREFMSUdOIC0gMSkpOwogCQkJCSAqIGFuZCBpbmNyZWFzZSBudW1iZXIgb2YgYnl0ZXMgdG8gYmUgcHJvY2Vzc2VkCiAJCQkJICogaW4gbmV4dCBjaHVuazoKIAkJCQkgKiAJbmJ5dGVzICs9IGRpZmY7CkBAIC0xNTQ0LDcgKzE1NDIsNyBAQAogCiAJCQlrdW5tYXBfYXRvbWljKGRhZGRyLCBLTV9TT0ZUSVJRMCk7CiAJCX0gZWxzZSB7Ci0JCQluYnl0ZXMgLT0gc3JjLT5sZW5ndGg7CisJCQluYnl0ZXMgLT0gbWluKHNyYy0+bGVuZ3RoLCBuYnl0ZXMpOwogCQkJaWR4Kys7CiAJCX0KIApAQCAtMTU2MywxNCArMTU2MSwxMCBAQAogCXN0cnVjdCBoaWZuX2NvbnRleHQgKmN0eCA9IGNyeXB0b190Zm1fY3R4KHJlcS0+YmFzZS50Zm0pOwogCXN0cnVjdCBoaWZuX2RldmljZSAqZGV2ID0gY3R4LT5kZXY7CiAJc3RydWN0IHBhZ2UgKnNwYWdlLCAqZHBhZ2U7Ci0JdW5zaWduZWQgbG9uZyBzb2ZmLCBkb2ZmLCBmbGFnczsKKwl1bnNpZ25lZCBsb25nIHNvZmYsIGRvZmYsIGRsZW4sIGZsYWdzOwogCXVuc2lnbmVkIGludCBuYnl0ZXMgPSByZXEtPm5ieXRlcywgaWR4ID0gMCwgbGVuOwogCWludCBlcnIgPSAtRUlOVkFMLCBzZ19udW07CiAJc3RydWN0IHNjYXR0ZXJsaXN0ICpzcmMsICpkc3QsICp0OwotCXVuc2lnbmVkIGJsb2Nrc2l6ZSA9Ci0JCWNyeXB0b19hYmxrY2lwaGVyX2Jsb2Nrc2l6ZShjcnlwdG9fYWJsa2NpcGhlcl9yZXF0Zm0ocmVxKSk7Ci0JdW5zaWduZWQgYWxpZ25tYXNrID0KLQkJY3J5cHRvX2FibGtjaXBoZXJfYWxpZ25tYXNrKGNyeXB0b19hYmxrY2lwaGVyX3JlcXRmbShyZXEpKTsKIAogCWlmIChjdHgtPml2ICYmICFjdHgtPml2c2l6ZSAmJiBjdHgtPm1vZGUgIT0gQUNSWVBUT19NT0RFX0VDQikKIAkJZ290byBlcnJfb3V0X2V4aXQ7CkBAIC0xNTc4LDE3ICsxNTcyLDE0IEBACiAJY3R4LT53YWxrLmZsYWdzID0gMDsKIAogCXdoaWxlIChuYnl0ZXMpIHsKLQkJc3JjID0gJnJlcS0+c3JjW2lkeF07CiAJCWRzdCA9ICZyZXEtPmRzdFtpZHhdOworCQlkbGVuID0gbWluKGRzdC0+bGVuZ3RoLCBuYnl0ZXMpOwogCi0JCWlmIChzcmMtPmxlbmd0aCAmIChibG9ja3NpemUgLSAxKSB8fAotCQkJCXNyYy0+b2Zmc2V0ICYgKGFsaWdubWFzayAtIDEpIHx8Ci0JCQkJZHN0LT5sZW5ndGggJiAoYmxvY2tzaXplIC0gMSkgfHwKLQkJCQlkc3QtPm9mZnNldCAmIChhbGlnbm1hc2sgLSAxKSkgeworCQlpZiAoIUlTX0FMSUdORUQoZHN0LT5vZmZzZXQsIEhJRk5fRF9EU1RfREFMSUdOKSB8fAorCQkgICAgIUlTX0FMSUdORUQoZGxlbiwgSElGTl9EX0RTVF9EQUxJR04pKQogCQkJY3R4LT53YWxrLmZsYWdzIHw9IEFTWU5DX0ZMQUdTX01JU0FMSUdORUQ7Ci0JCX0KIAotCQluYnl0ZXMgLT0gc3JjLT5sZW5ndGg7CisJCW5ieXRlcyAtPSBkbGVuOwogCQlpZHgrKzsKIAl9CiAKQEAgLTE2MDIsNyArMTU5MywxMCBAQAogCWlkeCA9IDA7CiAKIAlzZ19udW0gPSBhYmxrY2lwaGVyX3dhbGsocmVxLCAmY3R4LT53YWxrKTsKLQorCWlmIChzZ19udW0gPCAwKSB7CisJCWVyciA9IHNnX251bTsKKwkJZ290byBlcnJfb3V0X2V4aXQ7CisJfQogCWF0b21pY19zZXQoJmN0eC0+c2dfbnVtLCBzZ19udW0pOwogCiAJc3Bpbl9sb2NrX2lycXNhdmUoJmRldi0+bG9jaywgZmxhZ3MpOwpAQCAtMTY0MCw3ICsxNjM0LDcgQEAKIAkJaWYgKGVycikKIAkJCWdvdG8gZXJyX291dDsKIAotCQluYnl0ZXMgLT0gbGVuOworCQluYnl0ZXMgLT0gbWluKGxlbiwgbmJ5dGVzKTsKIAl9CiAKIAlkZXYtPmFjdGl2ZSA9IEhJRk5fREVGQVVMVF9BQ1RJVkVfTlVNOwpAQCAtMTY1MSw3ICsxNjQ1LDcgQEAKIGVycl9vdXQ6CiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZGV2LT5sb2NrLCBmbGFncyk7CiBlcnJfb3V0X2V4aXQ6Ci0JaWYgKGVyciAmJiBwcmludGtfcmF0ZWxpbWl0KCkpCisJaWYgKGVycikKIAkJZHByaW50aygiJXM6IGl2OiAlcCBbJWRdLCBrZXk6ICVwIFslZF0sIG1vZGU6ICV1LCBvcDogJXUsICIKIAkJCQkidHlwZTogJXUsIGVycjogJWQuXG4iLAogCQkJZGV2LT5uYW1lLCBjdHgtPml2LCBjdHgtPml2c2l6ZSwKQEAgLTE3NDUsOCArMTczOSw3IEBACiAJCXJldHVybiAtRUlOVkFMOwogCiAJd2hpbGUgKHNpemUpIHsKLQotCQljb3B5ID0gbWluKGRzdC0+bGVuZ3RoLCBzcmVzdCk7CisJCWNvcHkgPSBtaW4oc3Jlc3QsIG1pbihkc3QtPmxlbmd0aCwgc2l6ZSkpOwogCiAJCWRhZGRyID0ga21hcF9hdG9taWMoc2dfcGFnZShkc3QpLCBLTV9JUlEwKTsKIAkJbWVtY3B5KGRhZGRyICsgZHN0LT5vZmZzZXQgKyBvZmZzZXQsIHNhZGRyLCBjb3B5KTsKQEAgLTE4MDMsNyArMTc5Niw3IEBACiAJCQkJCXNnX3BhZ2UoZHN0KSwgZHN0LT5sZW5ndGgsIG5ieXRlcyk7CiAKIAkJCQlpZiAoIXQtPmxlbmd0aCkgewotCQkJCQluYnl0ZXMgLT0gZHN0LT5sZW5ndGg7CisJCQkJCW5ieXRlcyAtPSBtaW4oZHN0LT5sZW5ndGgsIG5ieXRlcyk7CiAJCQkJCWlkeCsrOwogCQkJCQljb250aW51ZTsKIAkJCQl9CkBAIC0yMjAyLDkgKzIxOTUsOSBAQAogCQlyZXR1cm4gZXJyOwogCiAJaWYgKGRldi0+c3RhcnRlZCA8IEhJRk5fUVVFVUVfTEVOR1RIICYmCWRldi0+cXVldWUucWxlbikKLQkJZXJyID0gaGlmbl9wcm9jZXNzX3F1ZXVlKGRldik7CisJCWhpZm5fcHJvY2Vzc19xdWV1ZShkZXYpOwogCi0JcmV0dXJuIGVycjsKKwlyZXR1cm4gLUVJTlBST0dSRVNTOwogfQogCiAvKgpAQCAtMjM2NCw3ICsyMzU3LDcgQEAKIAkgKiAzREVTIEVDQiwgQ0JDLCBDRkIgYW5kIE9GQiBtb2Rlcy4KIAkgKi8KIAl7Ci0JCS5uYW1lID0gImNmYihkZXMzX2VkZSkiLCAuZHJ2X25hbWUgPSAiaGlmbi0zZGVzIiwgLmJzaXplID0gOCwKKwkJLm5hbWUgPSAiY2ZiKGRlczNfZWRlKSIsIC5kcnZfbmFtZSA9ICJjZmItM2RlcyIsIC5ic2l6ZSA9IDgsCiAJCS5hYmxrY2lwaGVyID0gewogCQkJLm1pbl9rZXlzaXplCT0JSElGTl8zREVTX0tFWV9MRU5HVEgsCiAJCQkubWF4X2tleXNpemUJPQlISUZOXzNERVNfS0VZX0xFTkdUSCwKQEAgLTIzNzQsNyArMjM2Nyw3IEBACiAJCX0sCiAJfSwKIAl7Ci0JCS5uYW1lID0gIm9mYihkZXMzX2VkZSkiLCAuZHJ2X25hbWUgPSAiaGlmbi0zZGVzIiwgLmJzaXplID0gOCwKKwkJLm5hbWUgPSAib2ZiKGRlczNfZWRlKSIsIC5kcnZfbmFtZSA9ICJvZmItM2RlcyIsIC5ic2l6ZSA9IDgsCiAJCS5hYmxrY2lwaGVyID0gewogCQkJLm1pbl9rZXlzaXplCT0JSElGTl8zREVTX0tFWV9MRU5HVEgsCiAJCQkubWF4X2tleXNpemUJPQlISUZOXzNERVNfS0VZX0xFTkdUSCwKQEAgLTIzODQsOCArMjM3Nyw5IEBACiAJCX0sCiAJfSwKIAl7Ci0JCS5uYW1lID0gImNiYyhkZXMzX2VkZSkiLCAuZHJ2X25hbWUgPSAiaGlmbi0zZGVzIiwgLmJzaXplID0gOCwKKwkJLm5hbWUgPSAiY2JjKGRlczNfZWRlKSIsIC5kcnZfbmFtZSA9ICJjYmMtM2RlcyIsIC5ic2l6ZSA9IDgsCiAJCS5hYmxrY2lwaGVyID0geworCQkJLml2c2l6ZQkJPQlISUZOX0lWX0xFTkdUSCwKIAkJCS5taW5fa2V5c2l6ZQk9CUhJRk5fM0RFU19LRVlfTEVOR1RILAogCQkJLm1heF9rZXlzaXplCT0JSElGTl8zREVTX0tFWV9MRU5HVEgsCiAJCQkuc2V0a2V5CQk9CWhpZm5fc2V0a2V5LApAQCAtMjM5NCw3ICsyMzg4LDcgQEAKIAkJfSwKIAl9LAogCXsKLQkJLm5hbWUgPSAiZWNiKGRlczNfZWRlKSIsIC5kcnZfbmFtZSA9ICJoaWZuLTNkZXMiLCAuYnNpemUgPSA4LAorCQkubmFtZSA9ICJlY2IoZGVzM19lZGUpIiwgLmRydl9uYW1lID0gImVjYi0zZGVzIiwgLmJzaXplID0gOCwKIAkJLmFibGtjaXBoZXIgPSB7CiAJCQkubWluX2tleXNpemUJPQlISUZOXzNERVNfS0VZX0xFTkdUSCwKIAkJCS5tYXhfa2V5c2l6ZQk9CUhJRk5fM0RFU19LRVlfTEVOR1RILApAQCAtMjQwOCw3ICsyNDAyLDcgQEAKIAkgKiBERVMgRUNCLCBDQkMsIENGQiBhbmQgT0ZCIG1vZGVzLgogCSAqLwogCXsKLQkJLm5hbWUgPSAiY2ZiKGRlcykiLCAuZHJ2X25hbWUgPSAiaGlmbi1kZXMiLCAuYnNpemUgPSA4LAorCQkubmFtZSA9ICJjZmIoZGVzKSIsIC5kcnZfbmFtZSA9ICJjZmItZGVzIiwgLmJzaXplID0gOCwKIAkJLmFibGtjaXBoZXIgPSB7CiAJCQkubWluX2tleXNpemUJPQlISUZOX0RFU19LRVlfTEVOR1RILAogCQkJLm1heF9rZXlzaXplCT0JSElGTl9ERVNfS0VZX0xFTkdUSCwKQEAgLTI0MTgsNyArMjQxMiw3IEBACiAJCX0sCiAJfSwKIAl7Ci0JCS5uYW1lID0gIm9mYihkZXMpIiwgLmRydl9uYW1lID0gImhpZm4tZGVzIiwgLmJzaXplID0gOCwKKwkJLm5hbWUgPSAib2ZiKGRlcykiLCAuZHJ2X25hbWUgPSAib2ZiLWRlcyIsIC5ic2l6ZSA9IDgsCiAJCS5hYmxrY2lwaGVyID0gewogCQkJLm1pbl9rZXlzaXplCT0JSElGTl9ERVNfS0VZX0xFTkdUSCwKIAkJCS5tYXhfa2V5c2l6ZQk9CUhJRk5fREVTX0tFWV9MRU5HVEgsCkBAIC0yNDI4LDggKzI0MjIsOSBAQAogCQl9LAogCX0sCiAJewotCQkubmFtZSA9ICJjYmMoZGVzKSIsIC5kcnZfbmFtZSA9ICJoaWZuLWRlcyIsIC5ic2l6ZSA9IDgsCisJCS5uYW1lID0gImNiYyhkZXMpIiwgLmRydl9uYW1lID0gImNiYy1kZXMiLCAuYnNpemUgPSA4LAogCQkuYWJsa2NpcGhlciA9IHsKKwkJCS5pdnNpemUJCT0JSElGTl9JVl9MRU5HVEgsCiAJCQkubWluX2tleXNpemUJPQlISUZOX0RFU19LRVlfTEVOR1RILAogCQkJLm1heF9rZXlzaXplCT0JSElGTl9ERVNfS0VZX0xFTkdUSCwKIAkJCS5zZXRrZXkJCT0JaGlmbl9zZXRrZXksCkBAIC0yNDM4LDcgKzI0MzMsNyBAQAogCQl9LAogCX0sCiAJewotCQkubmFtZSA9ICJlY2IoZGVzKSIsIC5kcnZfbmFtZSA9ICJoaWZuLWRlcyIsIC5ic2l6ZSA9IDgsCisJCS5uYW1lID0gImVjYihkZXMpIiwgLmRydl9uYW1lID0gImVjYi1kZXMiLCAuYnNpemUgPSA4LAogCQkuYWJsa2NpcGhlciA9IHsKIAkJCS5taW5fa2V5c2l6ZQk9CUhJRk5fREVTX0tFWV9MRU5HVEgsCiAJCQkubWF4X2tleXNpemUJPQlISUZOX0RFU19LRVlfTEVOR1RILApAQCAtMjQ1Miw3ICsyNDQ3LDcgQEAKIAkgKiBBRVMgRUNCLCBDQkMsIENGQiBhbmQgT0ZCIG1vZGVzLgogCSAqLwogCXsKLQkJLm5hbWUgPSAiZWNiKGFlcykiLCAuZHJ2X25hbWUgPSAiaGlmbi1hZXMiLCAuYnNpemUgPSAxNiwKKwkJLm5hbWUgPSAiZWNiKGFlcykiLCAuZHJ2X25hbWUgPSAiZWNiLWFlcyIsIC5ic2l6ZSA9IDE2LAogCQkuYWJsa2NpcGhlciA9IHsKIAkJCS5taW5fa2V5c2l6ZQk9CUFFU19NSU5fS0VZX1NJWkUsCiAJCQkubWF4X2tleXNpemUJPQlBRVNfTUFYX0tFWV9TSVpFLApAQCAtMjQ2Miw4ICsyNDU3LDkgQEAKIAkJfSwKIAl9LAogCXsKLQkJLm5hbWUgPSAiY2JjKGFlcykiLCAuZHJ2X25hbWUgPSAiaGlmbi1hZXMiLCAuYnNpemUgPSAxNiwKKwkJLm5hbWUgPSAiY2JjKGFlcykiLCAuZHJ2X25hbWUgPSAiY2JjLWFlcyIsIC5ic2l6ZSA9IDE2LAogCQkuYWJsa2NpcGhlciA9IHsKKwkJCS5pdnNpemUJCT0JSElGTl9BRVNfSVZfTEVOR1RILAogCQkJLm1pbl9rZXlzaXplCT0JQUVTX01JTl9LRVlfU0laRSwKIAkJCS5tYXhfa2V5c2l6ZQk9CUFFU19NQVhfS0VZX1NJWkUsCiAJCQkuc2V0a2V5CQk9CWhpZm5fc2V0a2V5LApAQCAtMjQ3Miw3ICsyNDY4LDcgQEAKIAkJfSwKIAl9LAogCXsKLQkJLm5hbWUgPSAiY2ZiKGFlcykiLCAuZHJ2X25hbWUgPSAiaGlmbi1hZXMiLCAuYnNpemUgPSAxNiwKKwkJLm5hbWUgPSAiY2ZiKGFlcykiLCAuZHJ2X25hbWUgPSAiY2ZiLWFlcyIsIC5ic2l6ZSA9IDE2LAogCQkuYWJsa2NpcGhlciA9IHsKIAkJCS5taW5fa2V5c2l6ZQk9CUFFU19NSU5fS0VZX1NJWkUsCiAJCQkubWF4X2tleXNpemUJPQlBRVNfTUFYX0tFWV9TSVpFLApAQCAtMjQ4Miw3ICsyNDc4LDcgQEAKIAkJfSwKIAl9LAogCXsKLQkJLm5hbWUgPSAib2ZiKGFlcykiLCAuZHJ2X25hbWUgPSAiaGlmbi1hZXMiLCAuYnNpemUgPSAxNiwKKwkJLm5hbWUgPSAib2ZiKGFlcykiLCAuZHJ2X25hbWUgPSAib2ZiLWFlcyIsIC5ic2l6ZSA9IDE2LAogCQkuYWJsa2NpcGhlciA9IHsKIAkJCS5taW5fa2V5c2l6ZQk9CUFFU19NSU5fS0VZX1NJWkUsCiAJCQkubWF4X2tleXNpemUJPQlBRVNfTUFYX0tFWV9TSVpFLApAQCAtMjUxNCwxNSArMjUxMCwxNCBAQAogCQlyZXR1cm4gLUVOT01FTTsKIAogCXNucHJpbnRmKGFsZy0+YWxnLmNyYV9uYW1lLCBDUllQVE9fTUFYX0FMR19OQU1FLCAiJXMiLCB0LT5uYW1lKTsKLQlzbnByaW50ZihhbGctPmFsZy5jcmFfZHJpdmVyX25hbWUsIENSWVBUT19NQVhfQUxHX05BTUUsICIlcyIsIHQtPmRydl9uYW1lKTsKKwlzbnByaW50ZihhbGctPmFsZy5jcmFfZHJpdmVyX25hbWUsIENSWVBUT19NQVhfQUxHX05BTUUsICIlcy0lcyIsCisJCSB0LT5kcnZfbmFtZSwgZGV2LT5uYW1lKTsKIAogCWFsZy0+YWxnLmNyYV9wcmlvcml0eSA9IDMwMDsKIAlhbGctPmFsZy5jcmFfZmxhZ3MgPSBDUllQVE9fQUxHX1RZUEVfQUJMS0NJUEhFUiB8IENSWVBUT19BTEdfQVNZTkM7CiAJYWxnLT5hbGcuY3JhX2Jsb2Nrc2l6ZSA9IHQtPmJzaXplOwogCWFsZy0+YWxnLmNyYV9jdHhzaXplID0gc2l6ZW9mKHN0cnVjdCBoaWZuX2NvbnRleHQpOwotCWFsZy0+YWxnLmNyYV9hbGlnbm1hc2sgPSAxNTsKLQlpZiAodC0+YnNpemUgPT0gOCkKLQkJYWxnLT5hbGcuY3JhX2FsaWdubWFzayA9IDM7CisJYWxnLT5hbGcuY3JhX2FsaWdubWFzayA9IDA7CiAJYWxnLT5hbGcuY3JhX3R5cGUgPSAmY3J5cHRvX2FibGtjaXBoZXJfdHlwZTsKIAlhbGctPmFsZy5jcmFfbW9kdWxlID0gVEhJU19NT0RVTEU7CiAJYWxnLT5hbGcuY3JhX3UuYWJsa2NpcGhlciA9IHQtPmFibGtjaXBoZXI7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2NyeXB0by9peHA0eHhfY3J5cHRvLmMgYi9kcml2ZXJzL2NyeXB0by9peHA0eHhfY3J5cHRvLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDJhMTA3ZgotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvY3J5cHRvL2l4cDR4eF9jcnlwdG8uYwpAQCAtMCwwICsxLDE1MDYgQEAKKy8qCisgKiBJbnRlbCBJWFA0eHggTlBFLUMgY3J5cHRvIGRyaXZlcgorICoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBDaHJpc3RpYW4gSG9obnN0YWVkdCA8Y2hvaG5zdGFlZHRAaW5ub21pbmF0ZS5jb20+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKKyAqIHVuZGVyIHRoZSB0ZXJtcyBvZiB2ZXJzaW9uIDIgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L2RtYS1tYXBwaW5nLmg+CisjaW5jbHVkZSA8bGludXgvZG1hcG9vbC5oPgorI2luY2x1ZGUgPGxpbnV4L2NyeXB0by5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L3J0bmV0bGluay5oPgorI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgorI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CisKKyNpbmNsdWRlIDxjcnlwdG8vY3RyLmg+CisjaW5jbHVkZSA8Y3J5cHRvL2Rlcy5oPgorI2luY2x1ZGUgPGNyeXB0by9hZXMuaD4KKyNpbmNsdWRlIDxjcnlwdG8vc2hhLmg+CisjaW5jbHVkZSA8Y3J5cHRvL2FsZ2FwaS5oPgorI2luY2x1ZGUgPGNyeXB0by9hZWFkLmg+CisjaW5jbHVkZSA8Y3J5cHRvL2F1dGhlbmMuaD4KKyNpbmNsdWRlIDxjcnlwdG8vc2NhdHRlcndhbGsuaD4KKworI2luY2x1ZGUgPGFzbS9hcmNoL25wZS5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL3FtZ3IuaD4KKworI2RlZmluZSBNQVhfS0VZTEVOIDMyCisKKy8qIGhhc2g6IGNmZ3dvcmQgKyAyICogZGlnZXN0bGVuOyBjcnlwdDoga2V5bGVuICsgY2Znd29yZCAqLworI2RlZmluZSBOUEVfQ1RYX0xFTiA4MAorI2RlZmluZSBBRVNfQkxPQ0sxMjggMTYKKworI2RlZmluZSBOUEVfT1BfSEFTSF9WRVJJRlkgICAweDAxCisjZGVmaW5lIE5QRV9PUF9DQ01fRU5BQkxFICAgIDB4MDQKKyNkZWZpbmUgTlBFX09QX0NSWVBUX0VOQUJMRSAgMHgwOAorI2RlZmluZSBOUEVfT1BfSEFTSF9FTkFCTEUgICAweDEwCisjZGVmaW5lIE5QRV9PUF9OT1RfSU5fUExBQ0UgIDB4MjAKKyNkZWZpbmUgTlBFX09QX0hNQUNfRElTQUJMRSAgMHg0MAorI2RlZmluZSBOUEVfT1BfQ1JZUFRfRU5DUllQVCAweDgwCisKKyNkZWZpbmUgTlBFX09QX0NDTV9HRU5fTUlDICAgMHhjYworI2RlZmluZSBOUEVfT1BfSEFTSF9HRU5fSUNWICAweDUwCisjZGVmaW5lIE5QRV9PUF9FTkNfR0VOX0tFWSAgIDB4YzkKKworI2RlZmluZSBNT0RfRUNCICAgICAweDAwMDAKKyNkZWZpbmUgTU9EX0NUUiAgICAgMHgxMDAwCisjZGVmaW5lIE1PRF9DQkNfRU5DIDB4MjAwMAorI2RlZmluZSBNT0RfQ0JDX0RFQyAweDMwMDAKKyNkZWZpbmUgTU9EX0NDTV9FTkMgMHg0MDAwCisjZGVmaW5lIE1PRF9DQ01fREVDIDB4NTAwMAorCisjZGVmaW5lIEtFWUxFTl8xMjggIDQKKyNkZWZpbmUgS0VZTEVOXzE5MiAgNgorI2RlZmluZSBLRVlMRU5fMjU2ICA4CisKKyNkZWZpbmUgQ0lQSF9ERUNSICAgMHgwMDAwCisjZGVmaW5lIENJUEhfRU5DUiAgIDB4MDQwMAorCisjZGVmaW5lIE1PRF9ERVMgICAgIDB4MDAwMAorI2RlZmluZSBNT0RfVERFQTIgICAweDAxMDAKKyNkZWZpbmUgTU9EXzNERVMgICAweDAyMDAKKyNkZWZpbmUgTU9EX0FFUyAgICAgMHgwODAwCisjZGVmaW5lIE1PRF9BRVMxMjggICgweDA4MDAgfCBLRVlMRU5fMTI4KQorI2RlZmluZSBNT0RfQUVTMTkyICAoMHgwOTAwIHwgS0VZTEVOXzE5MikKKyNkZWZpbmUgTU9EX0FFUzI1NiAgKDB4MGEwMCB8IEtFWUxFTl8yNTYpCisKKyNkZWZpbmUgTUFYX0lWTEVOICAgMTYKKyNkZWZpbmUgTlBFX0lEICAgICAgMiAgLyogTlBFIEMgKi8KKyNkZWZpbmUgTlBFX1FMRU4gICAgMTYKKy8qIFNwYWNlIGZvciByZWdpc3RlcmluZyB3aGVuIHRoZSBmaXJzdAorICogTlBFX1FMRU4gY3J5cHRfY3RsIGFyZSBidXN5ICovCisjZGVmaW5lIE5QRV9RTEVOX1RPVEFMIDY0CisKKyNkZWZpbmUgU0VORF9RSUQgICAgMjkKKyNkZWZpbmUgUkVDVl9RSUQgICAgMzAKKworI2RlZmluZSBDVExfRkxBR19VTlVTRUQJCTB4MDAwMAorI2RlZmluZSBDVExfRkxBR19VU0VECQkweDEwMDAKKyNkZWZpbmUgQ1RMX0ZMQUdfUEVSRk9STV9BQkxLCTB4MDAwMQorI2RlZmluZSBDVExfRkxBR19HRU5fSUNWCTB4MDAwMgorI2RlZmluZSBDVExfRkxBR19HRU5fUkVWQUVTCTB4MDAwNAorI2RlZmluZSBDVExfRkxBR19QRVJGT1JNX0FFQUQJMHgwMDA4CisjZGVmaW5lIENUTF9GTEFHX01BU0sJCTB4MDAwZgorCisjZGVmaW5lIEhNQUNfSVBBRF9WQUxVRSAgIDB4MzYKKyNkZWZpbmUgSE1BQ19PUEFEX1ZBTFVFICAgMHg1QworI2RlZmluZSBITUFDX1BBRF9CTE9DS0xFTiBTSEExX0JMT0NLX1NJWkUKKworI2RlZmluZSBNRDVfRElHRVNUX1NJWkUgICAxNgorCitzdHJ1Y3QgYnVmZmVyX2Rlc2MgeworCXUzMiBwaHlzX25leHQ7CisJdTE2IGJ1Zl9sZW47CisJdTE2IHBrdF9sZW47CisJdTMyIHBoeXNfYWRkcjsKKwl1MzIgX19yZXNlcnZlZFs0XTsKKwlzdHJ1Y3QgYnVmZmVyX2Rlc2MgKm5leHQ7Cit9OworCitzdHJ1Y3QgY3J5cHRfY3RsIHsKKwl1OCBtb2RlOwkJLyogTlBFX09QXyogIG9wZXJhdGlvbiBtb2RlICovCisJdTggaW5pdF9sZW47CisJdTE2IHJlc2VydmVkOworCXU4IGl2W01BWF9JVkxFTl07CS8qIElWIGZvciBDQkMgbW9kZSBvciBDVFIgSVYgZm9yIENUUiBtb2RlICovCisJdTMyIGljdl9yZXZfYWVzOwkvKiBpY3Ygb3IgcmV2IGFlcyAqLworCXUzMiBzcmNfYnVmOworCXUzMiBkc3RfYnVmOworCXUxNiBhdXRoX29mZnM7CQkvKiBBdXRoZW50aWNhdGlvbiBzdGFydCBvZmZzZXQgKi8KKwl1MTYgYXV0aF9sZW47CQkvKiBBdXRoZW50aWNhdGlvbiBkYXRhIGxlbmd0aCAqLworCXUxNiBjcnlwdF9vZmZzOwkJLyogQ3J5cHRpb24gc3RhcnQgb2Zmc2V0ICovCisJdTE2IGNyeXB0X2xlbjsJCS8qIENyeXB0aW9uIGRhdGEgbGVuZ3RoICovCisJdTMyIGFhZEFkZHI7CQkvKiBBZGRpdGlvbmFsIEF1dGggRGF0YSBBZGRyIGZvciBDQ00gbW9kZSAqLworCXUzMiBjcnlwdG9fY3R4OwkJLyogTlBFIENyeXB0byBQYXJhbSBzdHJ1Y3R1cmUgYWRkcmVzcyAqLworCisJLyogVXNlZCBieSBIb3N0OiA0KjQgYnl0ZXMqLworCXVuc2lnbmVkIGN0bF9mbGFnczsKKwl1bmlvbiB7CisJCXN0cnVjdCBhYmxrY2lwaGVyX3JlcXVlc3QgKmFibGtfcmVxOworCQlzdHJ1Y3QgYWVhZF9yZXF1ZXN0ICphZWFkX3JlcTsKKwkJc3RydWN0IGNyeXB0b190Zm0gKnRmbTsKKwl9IGRhdGE7CisJc3RydWN0IGJ1ZmZlcl9kZXNjICpyZWdpc3RfYnVmOworCXU4ICpyZWdpc3RfcHRyOworfTsKKworc3RydWN0IGFibGtfY3R4IHsKKwlzdHJ1Y3QgYnVmZmVyX2Rlc2MgKnNyYzsKKwlzdHJ1Y3QgYnVmZmVyX2Rlc2MgKmRzdDsKKwl1bnNpZ25lZCBzcmNfbmVudHM7CisJdW5zaWduZWQgZHN0X25lbnRzOworfTsKKworc3RydWN0IGFlYWRfY3R4IHsKKwlzdHJ1Y3QgYnVmZmVyX2Rlc2MgKmJ1ZmZlcjsKKwl1bnNpZ25lZCBzaG9ydCBhc3NvY19uZW50czsKKwl1bnNpZ25lZCBzaG9ydCBzcmNfbmVudHM7CisJc3RydWN0IHNjYXR0ZXJsaXN0IGl2bGlzdDsKKwkvKiB1c2VkIHdoZW4gdGhlIGhtYWMgaXMgbm90IG9uIG9uZSBzZyBlbnRyeSAqLworCXU4ICpobWFjX3ZpcnQ7CisJaW50IGVuY3J5cHQ7Cit9OworCitzdHJ1Y3QgaXhfaGFzaF9hbGdvIHsKKwl1MzIgY2Znd29yZDsKKwl1bnNpZ25lZCBjaGFyICppY3Y7Cit9OworCitzdHJ1Y3QgaXhfc2FfZGlyIHsKKwl1bnNpZ25lZCBjaGFyICpucGVfY3R4OworCWRtYV9hZGRyX3QgbnBlX2N0eF9waHlzOworCWludCBucGVfY3R4X2lkeDsKKwl1OCBucGVfbW9kZTsKK307CisKK3N0cnVjdCBpeHBfY3R4IHsKKwlzdHJ1Y3QgaXhfc2FfZGlyIGVuY3J5cHQ7CisJc3RydWN0IGl4X3NhX2RpciBkZWNyeXB0OworCWludCBhdXRoa2V5X2xlbjsKKwl1OCBhdXRoa2V5W01BWF9LRVlMRU5dOworCWludCBlbmNrZXlfbGVuOworCXU4IGVuY2tleVtNQVhfS0VZTEVOXTsKKwl1OCBzYWx0W01BWF9JVkxFTl07CisJdTggbm9uY2VbQ1RSX1JGQzM2ODZfTk9OQ0VfU0laRV07CisJdW5zaWduZWQgc2FsdGVkOworCWF0b21pY190IGNvbmZpZ3VyaW5nOworCXN0cnVjdCBjb21wbGV0aW9uIGNvbXBsZXRpb247Cit9OworCitzdHJ1Y3QgaXhwX2FsZyB7CisJc3RydWN0IGNyeXB0b19hbGcgY3J5cHRvOworCWNvbnN0IHN0cnVjdCBpeF9oYXNoX2FsZ28gKmhhc2g7CisJdTMyIGNmZ19lbmM7CisJdTMyIGNmZ19kZWM7CisKKwlpbnQgcmVnaXN0ZXJlZDsKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgaXhfaGFzaF9hbGdvIGhhc2hfYWxnX21kNSA9IHsKKwkuY2Znd29yZAk9IDB4QUEwMTAwMDQsCisJLmljdgkJPSAiXHgwMVx4MjNceDQ1XHg2N1x4ODlceEFCXHhDRFx4RUYiCisJCQkgICJceEZFXHhEQ1x4QkFceDk4XHg3Nlx4NTRceDMyXHgxMCIsCit9Oworc3RhdGljIGNvbnN0IHN0cnVjdCBpeF9oYXNoX2FsZ28gaGFzaF9hbGdfc2hhMSA9IHsKKwkuY2Znd29yZAk9IDB4MDAwMDAwMDUsCisJLmljdgkJPSAiXHg2N1x4NDVceDIzXHgwMVx4RUZceENEXHhBQlx4ODlceDk4XHhCQSIKKwkJCSAgIlx4RENceEZFXHgxMFx4MzJceDU0XHg3Nlx4QzNceEQyXHhFMVx4RjAiLAorfTsKKworc3RhdGljIHN0cnVjdCBucGUgKm5wZV9jOworc3RhdGljIHN0cnVjdCBkbWFfcG9vbCAqYnVmZmVyX3Bvb2wgPSBOVUxMOworc3RhdGljIHN0cnVjdCBkbWFfcG9vbCAqY3R4X3Bvb2wgPSBOVUxMOworCitzdGF0aWMgc3RydWN0IGNyeXB0X2N0bCAqY3J5cHRfdmlydCA9IE5VTEw7CitzdGF0aWMgZG1hX2FkZHJfdCBjcnlwdF9waHlzOworCitzdGF0aWMgaW50IHN1cHBvcnRfYWVzID0gMTsKKworc3RhdGljIHZvaWQgZGV2X3JlbGVhc2Uoc3RydWN0IGRldmljZSAqZGV2KQoreworCXJldHVybjsKK30KKworI2RlZmluZSBEUklWRVJfTkFNRSAiaXhwNHh4X2NyeXB0byIKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHBzZXVkb19kZXYgPSB7CisJLm5hbWUgPSBEUklWRVJfTkFNRSwKKwkuaWQgICA9IDAsCisJLm51bV9yZXNvdXJjZXMgPSAwLAorCS5kZXYgID0geworCQkuY29oZXJlbnRfZG1hX21hc2sgPSBETUFfMzJCSVRfTUFTSywKKwkJLnJlbGVhc2UgPSBkZXZfcmVsZWFzZSwKKwl9Cit9OworCitzdGF0aWMgc3RydWN0IGRldmljZSAqZGV2ID0gJnBzZXVkb19kZXYuZGV2OworCitzdGF0aWMgaW5saW5lIGRtYV9hZGRyX3QgY3J5cHRfdmlydDJwaHlzKHN0cnVjdCBjcnlwdF9jdGwgKnZpcnQpCit7CisJcmV0dXJuIGNyeXB0X3BoeXMgKyAodmlydCAtIGNyeXB0X3ZpcnQpICogc2l6ZW9mKHN0cnVjdCBjcnlwdF9jdGwpOworfQorCitzdGF0aWMgaW5saW5lIHN0cnVjdCBjcnlwdF9jdGwgKmNyeXB0X3BoeXMydmlydChkbWFfYWRkcl90IHBoeXMpCit7CisJcmV0dXJuIGNyeXB0X3ZpcnQgKyAocGh5cyAtIGNyeXB0X3BoeXMpIC8gc2l6ZW9mKHN0cnVjdCBjcnlwdF9jdGwpOworfQorCitzdGF0aWMgaW5saW5lIHUzMiBjaXBoZXJfY2ZnX2VuYyhzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtKQoreworCXJldHVybiBjb250YWluZXJfb2YodGZtLT5fX2NydF9hbGcsIHN0cnVjdCBpeHBfYWxnLGNyeXB0byktPmNmZ19lbmM7Cit9CisKK3N0YXRpYyBpbmxpbmUgdTMyIGNpcGhlcl9jZmdfZGVjKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pCit7CisJcmV0dXJuIGNvbnRhaW5lcl9vZih0Zm0tPl9fY3J0X2FsZywgc3RydWN0IGl4cF9hbGcsY3J5cHRvKS0+Y2ZnX2RlYzsKK30KKworc3RhdGljIGlubGluZSBjb25zdCBzdHJ1Y3QgaXhfaGFzaF9hbGdvICppeF9oYXNoKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pCit7CisJcmV0dXJuIGNvbnRhaW5lcl9vZih0Zm0tPl9fY3J0X2FsZywgc3RydWN0IGl4cF9hbGcsIGNyeXB0byktPmhhc2g7Cit9CisKK3N0YXRpYyBpbnQgc2V0dXBfY3J5cHRfZGVzYyh2b2lkKQoreworCUJVSUxEX0JVR19PTihzaXplb2Yoc3RydWN0IGNyeXB0X2N0bCkgIT0gNjQpOworCWNyeXB0X3ZpcnQgPSBkbWFfYWxsb2NfY29oZXJlbnQoZGV2LAorCQkJTlBFX1FMRU4gKiBzaXplb2Yoc3RydWN0IGNyeXB0X2N0bCksCisJCQkmY3J5cHRfcGh5cywgR0ZQX0tFUk5FTCk7CisJaWYgKCFjcnlwdF92aXJ0KQorCQlyZXR1cm4gLUVOT01FTTsKKwltZW1zZXQoY3J5cHRfdmlydCwgMCwgTlBFX1FMRU4gKiBzaXplb2Yoc3RydWN0IGNyeXB0X2N0bCkpOworCXJldHVybiAwOworfQorCitzdGF0aWMgc3BpbmxvY2tfdCBkZXNjX2xvY2s7CitzdGF0aWMgc3RydWN0IGNyeXB0X2N0bCAqZ2V0X2NyeXB0X2Rlc2Modm9pZCkKK3sKKwlpbnQgaTsKKwlzdGF0aWMgaW50IGlkeCA9IDA7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZkZXNjX2xvY2ssIGZsYWdzKTsKKworCWlmICh1bmxpa2VseSghY3J5cHRfdmlydCkpCisJCXNldHVwX2NyeXB0X2Rlc2MoKTsKKwlpZiAodW5saWtlbHkoIWNyeXB0X3ZpcnQpKSB7CisJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmRlc2NfbG9jaywgZmxhZ3MpOworCQlyZXR1cm4gTlVMTDsKKwl9CisJaSA9IGlkeDsKKwlpZiAoY3J5cHRfdmlydFtpXS5jdGxfZmxhZ3MgPT0gQ1RMX0ZMQUdfVU5VU0VEKSB7CisJCWlmICgrK2lkeCA+PSBOUEVfUUxFTikKKwkJCWlkeCA9IDA7CisJCWNyeXB0X3ZpcnRbaV0uY3RsX2ZsYWdzID0gQ1RMX0ZMQUdfVVNFRDsKKwkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZGVzY19sb2NrLCBmbGFncyk7CisJCXJldHVybiBjcnlwdF92aXJ0ICtpOworCX0gZWxzZSB7CisJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmRlc2NfbG9jaywgZmxhZ3MpOworCQlyZXR1cm4gTlVMTDsKKwl9Cit9CisKK3N0YXRpYyBzcGlubG9ja190IGVtZXJnX2xvY2s7CitzdGF0aWMgc3RydWN0IGNyeXB0X2N0bCAqZ2V0X2NyeXB0X2Rlc2NfZW1lcmcodm9pZCkKK3sKKwlpbnQgaTsKKwlzdGF0aWMgaW50IGlkeCA9IE5QRV9RTEVOOworCXN0cnVjdCBjcnlwdF9jdGwgKmRlc2M7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCWRlc2MgPSBnZXRfY3J5cHRfZGVzYygpOworCWlmIChkZXNjKQorCQlyZXR1cm4gZGVzYzsKKwlpZiAodW5saWtlbHkoIWNyeXB0X3ZpcnQpKQorCQlyZXR1cm4gTlVMTDsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZlbWVyZ19sb2NrLCBmbGFncyk7CisJaSA9IGlkeDsKKwlpZiAoY3J5cHRfdmlydFtpXS5jdGxfZmxhZ3MgPT0gQ1RMX0ZMQUdfVU5VU0VEKSB7CisJCWlmICgrK2lkeCA+PSBOUEVfUUxFTl9UT1RBTCkKKwkJCWlkeCA9IE5QRV9RTEVOOworCQljcnlwdF92aXJ0W2ldLmN0bF9mbGFncyA9IENUTF9GTEFHX1VTRUQ7CisJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmVtZXJnX2xvY2ssIGZsYWdzKTsKKwkJcmV0dXJuIGNyeXB0X3ZpcnQgK2k7CisJfSBlbHNlIHsKKwkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZW1lcmdfbG9jaywgZmxhZ3MpOworCQlyZXR1cm4gTlVMTDsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIGZyZWVfYnVmX2NoYWluKHN0cnVjdCBidWZmZXJfZGVzYyAqYnVmLCB1MzIgcGh5cykKK3sKKwl3aGlsZSAoYnVmKSB7CisJCXN0cnVjdCBidWZmZXJfZGVzYyAqYnVmMTsKKwkJdTMyIHBoeXMxOworCisJCWJ1ZjEgPSBidWYtPm5leHQ7CisJCXBoeXMxID0gYnVmLT5waHlzX25leHQ7CisJCWRtYV9wb29sX2ZyZWUoYnVmZmVyX3Bvb2wsIGJ1ZiwgcGh5cyk7CisJCWJ1ZiA9IGJ1ZjE7CisJCXBoeXMgPSBwaHlzMTsKKwl9Cit9CisKK3N0YXRpYyBzdHJ1Y3QgdGFza2xldF9zdHJ1Y3QgY3J5cHRvX2RvbmVfdGFza2xldDsKKworc3RhdGljIHZvaWQgZmluaXNoX3NjYXR0ZXJlZF9obWFjKHN0cnVjdCBjcnlwdF9jdGwgKmNyeXB0KQoreworCXN0cnVjdCBhZWFkX3JlcXVlc3QgKnJlcSA9IGNyeXB0LT5kYXRhLmFlYWRfcmVxOworCXN0cnVjdCBhZWFkX2N0eCAqcmVxX2N0eCA9IGFlYWRfcmVxdWVzdF9jdHgocmVxKTsKKwlzdHJ1Y3QgY3J5cHRvX2FlYWQgKnRmbSA9IGNyeXB0b19hZWFkX3JlcXRmbShyZXEpOworCWludCBhdXRoc2l6ZSA9IGNyeXB0b19hZWFkX2F1dGhzaXplKHRmbSk7CisJaW50IGRlY3J5cHRsZW4gPSByZXEtPmNyeXB0bGVuIC0gYXV0aHNpemU7CisKKwlpZiAocmVxX2N0eC0+ZW5jcnlwdCkgeworCQlzY2F0dGVyd2Fsa19tYXBfYW5kX2NvcHkocmVxX2N0eC0+aG1hY192aXJ0LAorCQkJcmVxLT5zcmMsIGRlY3J5cHRsZW4sIGF1dGhzaXplLCAxKTsKKwl9CisJZG1hX3Bvb2xfZnJlZShidWZmZXJfcG9vbCwgcmVxX2N0eC0+aG1hY192aXJ0LCBjcnlwdC0+aWN2X3Jldl9hZXMpOworfQorCitzdGF0aWMgdm9pZCBvbmVfcGFja2V0KGRtYV9hZGRyX3QgcGh5cykKK3sKKwlzdHJ1Y3QgY3J5cHRfY3RsICpjcnlwdDsKKwlzdHJ1Y3QgaXhwX2N0eCAqY3R4OworCWludCBmYWlsZWQ7CisJZW51bSBkbWFfZGF0YV9kaXJlY3Rpb24gc3JjX2RpcmVjdGlvbiA9IERNQV9CSURJUkVDVElPTkFMOworCisJZmFpbGVkID0gcGh5cyAmIDB4MSA/IC1FQkFETVNHIDogMDsKKwlwaHlzICY9IH4weDM7CisJY3J5cHQgPSBjcnlwdF9waHlzMnZpcnQocGh5cyk7CisKKwlzd2l0Y2ggKGNyeXB0LT5jdGxfZmxhZ3MgJiBDVExfRkxBR19NQVNLKSB7CisJY2FzZSBDVExfRkxBR19QRVJGT1JNX0FFQUQ6IHsKKwkJc3RydWN0IGFlYWRfcmVxdWVzdCAqcmVxID0gY3J5cHQtPmRhdGEuYWVhZF9yZXE7CisJCXN0cnVjdCBhZWFkX2N0eCAqcmVxX2N0eCA9IGFlYWRfcmVxdWVzdF9jdHgocmVxKTsKKwkJZG1hX3VubWFwX3NnKGRldiwgcmVxLT5hc3NvYywgcmVxX2N0eC0+YXNzb2NfbmVudHMsCisJCQkJRE1BX1RPX0RFVklDRSk7CisJCWRtYV91bm1hcF9zZyhkZXYsICZyZXFfY3R4LT5pdmxpc3QsIDEsIERNQV9CSURJUkVDVElPTkFMKTsKKwkJZG1hX3VubWFwX3NnKGRldiwgcmVxLT5zcmMsIHJlcV9jdHgtPnNyY19uZW50cywKKwkJCQlETUFfQklESVJFQ1RJT05BTCk7CisKKwkJZnJlZV9idWZfY2hhaW4ocmVxX2N0eC0+YnVmZmVyLCBjcnlwdC0+c3JjX2J1Zik7CisJCWlmIChyZXFfY3R4LT5obWFjX3ZpcnQpIHsKKwkJCWZpbmlzaF9zY2F0dGVyZWRfaG1hYyhjcnlwdCk7CisJCX0KKwkJcmVxLT5iYXNlLmNvbXBsZXRlKCZyZXEtPmJhc2UsIGZhaWxlZCk7CisJCWJyZWFrOworCX0KKwljYXNlIENUTF9GTEFHX1BFUkZPUk1fQUJMSzogeworCQlzdHJ1Y3QgYWJsa2NpcGhlcl9yZXF1ZXN0ICpyZXEgPSBjcnlwdC0+ZGF0YS5hYmxrX3JlcTsKKwkJc3RydWN0IGFibGtfY3R4ICpyZXFfY3R4ID0gYWJsa2NpcGhlcl9yZXF1ZXN0X2N0eChyZXEpOworCQlpbnQgbmVudHM7CisJCWlmIChyZXFfY3R4LT5kc3QpIHsKKwkJCW5lbnRzID0gcmVxX2N0eC0+ZHN0X25lbnRzOworCQkJZG1hX3VubWFwX3NnKGRldiwgcmVxLT5kc3QsIG5lbnRzLCBETUFfRlJPTV9ERVZJQ0UpOworCQkJZnJlZV9idWZfY2hhaW4ocmVxX2N0eC0+ZHN0LCBjcnlwdC0+ZHN0X2J1Zik7CisJCQlzcmNfZGlyZWN0aW9uID0gRE1BX1RPX0RFVklDRTsKKwkJfQorCQluZW50cyA9IHJlcV9jdHgtPnNyY19uZW50czsKKwkJZG1hX3VubWFwX3NnKGRldiwgcmVxLT5zcmMsIG5lbnRzLCBzcmNfZGlyZWN0aW9uKTsKKwkJZnJlZV9idWZfY2hhaW4ocmVxX2N0eC0+c3JjLCBjcnlwdC0+c3JjX2J1Zik7CisJCXJlcS0+YmFzZS5jb21wbGV0ZSgmcmVxLT5iYXNlLCBmYWlsZWQpOworCQlicmVhazsKKwl9CisJY2FzZSBDVExfRkxBR19HRU5fSUNWOgorCQljdHggPSBjcnlwdG9fdGZtX2N0eChjcnlwdC0+ZGF0YS50Zm0pOworCQlkbWFfcG9vbF9mcmVlKGN0eF9wb29sLCBjcnlwdC0+cmVnaXN0X3B0ciwKKwkJCQljcnlwdC0+cmVnaXN0X2J1Zi0+cGh5c19hZGRyKTsKKwkJZG1hX3Bvb2xfZnJlZShidWZmZXJfcG9vbCwgY3J5cHQtPnJlZ2lzdF9idWYsIGNyeXB0LT5zcmNfYnVmKTsKKwkJaWYgKGF0b21pY19kZWNfYW5kX3Rlc3QoJmN0eC0+Y29uZmlndXJpbmcpKQorCQkJY29tcGxldGUoJmN0eC0+Y29tcGxldGlvbik7CisJCWJyZWFrOworCWNhc2UgQ1RMX0ZMQUdfR0VOX1JFVkFFUzoKKwkJY3R4ID0gY3J5cHRvX3RmbV9jdHgoY3J5cHQtPmRhdGEudGZtKTsKKwkJKih1MzIqKWN0eC0+ZGVjcnlwdC5ucGVfY3R4ICY9IGNwdV90b19iZTMyKH5DSVBIX0VOQ1IpOworCQlpZiAoYXRvbWljX2RlY19hbmRfdGVzdCgmY3R4LT5jb25maWd1cmluZykpCisJCQljb21wbGV0ZSgmY3R4LT5jb21wbGV0aW9uKTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJQlVHKCk7CisJfQorCWNyeXB0LT5jdGxfZmxhZ3MgPSBDVExfRkxBR19VTlVTRUQ7Cit9CisKK3N0YXRpYyB2b2lkIGlycWhhbmRsZXIodm9pZCAqX3VudXNlZCkKK3sKKwl0YXNrbGV0X3NjaGVkdWxlKCZjcnlwdG9fZG9uZV90YXNrbGV0KTsKK30KKworc3RhdGljIHZvaWQgY3J5cHRvX2RvbmVfYWN0aW9uKHVuc2lnbmVkIGxvbmcgYXJnKQoreworCWludCBpOworCisJZm9yKGk9MDsgaTw0OyBpKyspIHsKKwkJZG1hX2FkZHJfdCBwaHlzID0gcW1ncl9nZXRfZW50cnkoUkVDVl9RSUQpOworCQlpZiAoIXBoeXMpCisJCQlyZXR1cm47CisJCW9uZV9wYWNrZXQocGh5cyk7CisJfQorCXRhc2tsZXRfc2NoZWR1bGUoJmNyeXB0b19kb25lX3Rhc2tsZXQpOworfQorCitzdGF0aWMgaW50IGluaXRfaXhwX2NyeXB0byh2b2lkKQoreworCWludCByZXQgPSAtRU5PREVWOworCisJaWYgKCEgKCB+KCpJWFA0WFhfRVhQX0NGRzIpICYgKElYUDRYWF9GRUFUVVJFX0hBU0ggfAorCQkJCUlYUDRYWF9GRUFUVVJFX0FFUyB8IElYUDRYWF9GRUFUVVJFX0RFUykpKSB7CisJCXByaW50ayhLRVJOX0VSUiAiaXhwX2NyeXB0bzogTm8gSFcgY3J5cHRvIGF2YWlsYWJsZVxuIik7CisJCXJldHVybiByZXQ7CisJfQorCW5wZV9jID0gbnBlX3JlcXVlc3QoTlBFX0lEKTsKKwlpZiAoIW5wZV9jKQorCQlyZXR1cm4gcmV0OworCisJaWYgKCFucGVfcnVubmluZyhucGVfYykpIHsKKwkJbnBlX2xvYWRfZmlybXdhcmUobnBlX2MsIG5wZV9uYW1lKG5wZV9jKSwgZGV2KTsKKwl9CisKKwkvKiBidWZmZXJfcG9vbCB3aWxsIGFsc28gYmUgdXNlZCB0byBzb21ldGltZXMgc3RvcmUgdGhlIGhtYWMsCisJICogc28gYXNzdXJlIGl0IGlzIGxhcmdlIGVub3VnaAorCSAqLworCUJVSUxEX0JVR19PTihTSEExX0RJR0VTVF9TSVpFID4gc2l6ZW9mKHN0cnVjdCBidWZmZXJfZGVzYykpOworCWJ1ZmZlcl9wb29sID0gZG1hX3Bvb2xfY3JlYXRlKCJidWZmZXIiLCBkZXYsCisJCQlzaXplb2Yoc3RydWN0IGJ1ZmZlcl9kZXNjKSwgMzIsIDApOworCXJldCA9IC1FTk9NRU07CisJaWYgKCFidWZmZXJfcG9vbCkgeworCQlnb3RvIGVycjsKKwl9CisJY3R4X3Bvb2wgPSBkbWFfcG9vbF9jcmVhdGUoImNvbnRleHQiLCBkZXYsCisJCQlOUEVfQ1RYX0xFTiwgMTYsIDApOworCWlmICghY3R4X3Bvb2wpIHsKKwkJZ290byBlcnI7CisJfQorCXJldCA9IHFtZ3JfcmVxdWVzdF9xdWV1ZShTRU5EX1FJRCwgTlBFX1FMRU5fVE9UQUwsIDAsIDApOworCWlmIChyZXQpCisJCWdvdG8gZXJyOworCXJldCA9IHFtZ3JfcmVxdWVzdF9xdWV1ZShSRUNWX1FJRCwgTlBFX1FMRU4sIDAsIDApOworCWlmIChyZXQpIHsKKwkJcW1ncl9yZWxlYXNlX3F1ZXVlKFNFTkRfUUlEKTsKKwkJZ290byBlcnI7CisJfQorCXFtZ3Jfc2V0X2lycShSRUNWX1FJRCwgUVVFVUVfSVJRX1NSQ19OT1RfRU1QVFksIGlycWhhbmRsZXIsIE5VTEwpOworCXRhc2tsZXRfaW5pdCgmY3J5cHRvX2RvbmVfdGFza2xldCwgY3J5cHRvX2RvbmVfYWN0aW9uLCAwKTsKKworCXFtZ3JfZW5hYmxlX2lycShSRUNWX1FJRCk7CisJcmV0dXJuIDA7CitlcnI6CisJaWYgKGN0eF9wb29sKQorCQlkbWFfcG9vbF9kZXN0cm95KGN0eF9wb29sKTsKKwlpZiAoYnVmZmVyX3Bvb2wpCisJCWRtYV9wb29sX2Rlc3Ryb3koYnVmZmVyX3Bvb2wpOworCW5wZV9yZWxlYXNlKG5wZV9jKTsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgdm9pZCByZWxlYXNlX2l4cF9jcnlwdG8odm9pZCkKK3sKKwlxbWdyX2Rpc2FibGVfaXJxKFJFQ1ZfUUlEKTsKKwl0YXNrbGV0X2tpbGwoJmNyeXB0b19kb25lX3Rhc2tsZXQpOworCisJcW1ncl9yZWxlYXNlX3F1ZXVlKFNFTkRfUUlEKTsKKwlxbWdyX3JlbGVhc2VfcXVldWUoUkVDVl9RSUQpOworCisJZG1hX3Bvb2xfZGVzdHJveShjdHhfcG9vbCk7CisJZG1hX3Bvb2xfZGVzdHJveShidWZmZXJfcG9vbCk7CisKKwlucGVfcmVsZWFzZShucGVfYyk7CisKKwlpZiAoY3J5cHRfdmlydCkgeworCQlkbWFfZnJlZV9jb2hlcmVudChkZXYsCisJCQlOUEVfUUxFTl9UT1RBTCAqIHNpemVvZiggc3RydWN0IGNyeXB0X2N0bCksCisJCQljcnlwdF92aXJ0LCBjcnlwdF9waHlzKTsKKwl9CisJcmV0dXJuOworfQorCitzdGF0aWMgdm9pZCByZXNldF9zYV9kaXIoc3RydWN0IGl4X3NhX2RpciAqZGlyKQoreworCW1lbXNldChkaXItPm5wZV9jdHgsIDAsIE5QRV9DVFhfTEVOKTsKKwlkaXItPm5wZV9jdHhfaWR4ID0gMDsKKwlkaXItPm5wZV9tb2RlID0gMDsKK30KKworc3RhdGljIGludCBpbml0X3NhX2RpcihzdHJ1Y3QgaXhfc2FfZGlyICpkaXIpCit7CisJZGlyLT5ucGVfY3R4ID0gZG1hX3Bvb2xfYWxsb2MoY3R4X3Bvb2wsIEdGUF9LRVJORUwsICZkaXItPm5wZV9jdHhfcGh5cyk7CisJaWYgKCFkaXItPm5wZV9jdHgpIHsKKwkJcmV0dXJuIC1FTk9NRU07CisJfQorCXJlc2V0X3NhX2RpcihkaXIpOworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBmcmVlX3NhX2RpcihzdHJ1Y3QgaXhfc2FfZGlyICpkaXIpCit7CisJbWVtc2V0KGRpci0+bnBlX2N0eCwgMCwgTlBFX0NUWF9MRU4pOworCWRtYV9wb29sX2ZyZWUoY3R4X3Bvb2wsIGRpci0+bnBlX2N0eCwgZGlyLT5ucGVfY3R4X3BoeXMpOworfQorCitzdGF0aWMgaW50IGluaXRfdGZtKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pCit7CisJc3RydWN0IGl4cF9jdHggKmN0eCA9IGNyeXB0b190Zm1fY3R4KHRmbSk7CisJaW50IHJldDsKKworCWF0b21pY19zZXQoJmN0eC0+Y29uZmlndXJpbmcsIDApOworCXJldCA9IGluaXRfc2FfZGlyKCZjdHgtPmVuY3J5cHQpOworCWlmIChyZXQpCisJCXJldHVybiByZXQ7CisJcmV0ID0gaW5pdF9zYV9kaXIoJmN0eC0+ZGVjcnlwdCk7CisJaWYgKHJldCkgeworCQlmcmVlX3NhX2RpcigmY3R4LT5lbmNyeXB0KTsKKwl9CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBpbml0X3RmbV9hYmxrKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pCit7CisJdGZtLT5jcnRfYWJsa2NpcGhlci5yZXFzaXplID0gc2l6ZW9mKHN0cnVjdCBhYmxrX2N0eCk7CisJcmV0dXJuIGluaXRfdGZtKHRmbSk7Cit9CisKK3N0YXRpYyBpbnQgaW5pdF90Zm1fYWVhZChzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtKQoreworCXRmbS0+Y3J0X2FlYWQucmVxc2l6ZSA9IHNpemVvZihzdHJ1Y3QgYWVhZF9jdHgpOworCXJldHVybiBpbml0X3RmbSh0Zm0pOworfQorCitzdGF0aWMgdm9pZCBleGl0X3RmbShzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtKQoreworCXN0cnVjdCBpeHBfY3R4ICpjdHggPSBjcnlwdG9fdGZtX2N0eCh0Zm0pOworCWZyZWVfc2FfZGlyKCZjdHgtPmVuY3J5cHQpOworCWZyZWVfc2FfZGlyKCZjdHgtPmRlY3J5cHQpOworfQorCitzdGF0aWMgaW50IHJlZ2lzdGVyX2NoYWluX3ZhcihzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtLCB1OCB4cGFkLCB1MzIgdGFyZ2V0LAorCQlpbnQgaW5pdF9sZW4sIHUzMiBjdHhfYWRkciwgY29uc3QgdTggKmtleSwgaW50IGtleV9sZW4pCit7CisJc3RydWN0IGl4cF9jdHggKmN0eCA9IGNyeXB0b190Zm1fY3R4KHRmbSk7CisJc3RydWN0IGNyeXB0X2N0bCAqY3J5cHQ7CisJc3RydWN0IGJ1ZmZlcl9kZXNjICpidWY7CisJaW50IGk7CisJdTggKnBhZDsKKwl1MzIgcGFkX3BoeXMsIGJ1Zl9waHlzOworCisJQlVJTERfQlVHX09OKE5QRV9DVFhfTEVOIDwgSE1BQ19QQURfQkxPQ0tMRU4pOworCXBhZCA9IGRtYV9wb29sX2FsbG9jKGN0eF9wb29sLCBHRlBfS0VSTkVMLCAmcGFkX3BoeXMpOworCWlmICghcGFkKQorCQlyZXR1cm4gLUVOT01FTTsKKwlidWYgPSBkbWFfcG9vbF9hbGxvYyhidWZmZXJfcG9vbCwgR0ZQX0tFUk5FTCwgJmJ1Zl9waHlzKTsKKwlpZiAoIWJ1ZikgeworCQlkbWFfcG9vbF9mcmVlKGN0eF9wb29sLCBwYWQsIHBhZF9waHlzKTsKKwkJcmV0dXJuIC1FTk9NRU07CisJfQorCWNyeXB0ID0gZ2V0X2NyeXB0X2Rlc2NfZW1lcmcoKTsKKwlpZiAoIWNyeXB0KSB7CisJCWRtYV9wb29sX2ZyZWUoY3R4X3Bvb2wsIHBhZCwgcGFkX3BoeXMpOworCQlkbWFfcG9vbF9mcmVlKGJ1ZmZlcl9wb29sLCBidWYsIGJ1Zl9waHlzKTsKKwkJcmV0dXJuIC1FQUdBSU47CisJfQorCisJbWVtY3B5KHBhZCwga2V5LCBrZXlfbGVuKTsKKwltZW1zZXQocGFkICsga2V5X2xlbiwgMCwgSE1BQ19QQURfQkxPQ0tMRU4gLSBrZXlfbGVuKTsKKwlmb3IgKGkgPSAwOyBpIDwgSE1BQ19QQURfQkxPQ0tMRU47IGkrKykgeworCQlwYWRbaV0gXj0geHBhZDsKKwl9CisKKwljcnlwdC0+ZGF0YS50Zm0gPSB0Zm07CisJY3J5cHQtPnJlZ2lzdF9wdHIgPSBwYWQ7CisJY3J5cHQtPnJlZ2lzdF9idWYgPSBidWY7CisKKwljcnlwdC0+YXV0aF9vZmZzID0gMDsKKwljcnlwdC0+YXV0aF9sZW4gPSBITUFDX1BBRF9CTE9DS0xFTjsKKwljcnlwdC0+Y3J5cHRvX2N0eCA9IGN0eF9hZGRyOworCWNyeXB0LT5zcmNfYnVmID0gYnVmX3BoeXM7CisJY3J5cHQtPmljdl9yZXZfYWVzID0gdGFyZ2V0OworCWNyeXB0LT5tb2RlID0gTlBFX09QX0hBU0hfR0VOX0lDVjsKKwljcnlwdC0+aW5pdF9sZW4gPSBpbml0X2xlbjsKKwljcnlwdC0+Y3RsX2ZsYWdzIHw9IENUTF9GTEFHX0dFTl9JQ1Y7CisKKwlidWYtPm5leHQgPSAwOworCWJ1Zi0+YnVmX2xlbiA9IEhNQUNfUEFEX0JMT0NLTEVOOworCWJ1Zi0+cGt0X2xlbiA9IDA7CisJYnVmLT5waHlzX2FkZHIgPSBwYWRfcGh5czsKKworCWF0b21pY19pbmMoJmN0eC0+Y29uZmlndXJpbmcpOworCXFtZ3JfcHV0X2VudHJ5KFNFTkRfUUlELCBjcnlwdF92aXJ0MnBoeXMoY3J5cHQpKTsKKwlCVUdfT04ocW1ncl9zdGF0X292ZXJmbG93KFNFTkRfUUlEKSk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgc2V0dXBfYXV0aChzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtLCBpbnQgZW5jcnlwdCwgdW5zaWduZWQgYXV0aHNpemUsCisJCWNvbnN0IHU4ICprZXksIGludCBrZXlfbGVuLCB1bnNpZ25lZCBkaWdlc3RfbGVuKQoreworCXUzMiBpdGFyZ2V0LCBvdGFyZ2V0LCBucGVfY3R4X2FkZHI7CisJdW5zaWduZWQgY2hhciAqY2luZm87CisJaW50IGluaXRfbGVuLCByZXQgPSAwOworCXUzMiBjZmd3b3JkOworCXN0cnVjdCBpeF9zYV9kaXIgKmRpcjsKKwlzdHJ1Y3QgaXhwX2N0eCAqY3R4ID0gY3J5cHRvX3RmbV9jdHgodGZtKTsKKwljb25zdCBzdHJ1Y3QgaXhfaGFzaF9hbGdvICphbGdvOworCisJZGlyID0gZW5jcnlwdCA/ICZjdHgtPmVuY3J5cHQgOiAmY3R4LT5kZWNyeXB0OworCWNpbmZvID0gZGlyLT5ucGVfY3R4ICsgZGlyLT5ucGVfY3R4X2lkeDsKKwlhbGdvID0gaXhfaGFzaCh0Zm0pOworCisJLyogd3JpdGUgY2ZnIHdvcmQgdG8gY3J5cHRpbmZvICovCisJY2Znd29yZCA9IGFsZ28tPmNmZ3dvcmQgfCAoIGF1dGhzaXplIDw8IDYpOyAvKiAoYXV0aHNpemUvNCkgPDwgOCAqLworCSoodTMyKiljaW5mbyA9IGNwdV90b19iZTMyKGNmZ3dvcmQpOworCWNpbmZvICs9IHNpemVvZihjZmd3b3JkKTsKKworCS8qIHdyaXRlIElDViB0byBjcnlwdGluZm8gKi8KKwltZW1jcHkoY2luZm8sIGFsZ28tPmljdiwgZGlnZXN0X2xlbik7CisJY2luZm8gKz0gZGlnZXN0X2xlbjsKKworCWl0YXJnZXQgPSBkaXItPm5wZV9jdHhfcGh5cyArIGRpci0+bnBlX2N0eF9pZHgKKwkJCQkrIHNpemVvZihhbGdvLT5jZmd3b3JkKTsKKwlvdGFyZ2V0ID0gaXRhcmdldCArIGRpZ2VzdF9sZW47CisJaW5pdF9sZW4gPSBjaW5mbyAtIChkaXItPm5wZV9jdHggKyBkaXItPm5wZV9jdHhfaWR4KTsKKwlucGVfY3R4X2FkZHIgPSBkaXItPm5wZV9jdHhfcGh5cyArIGRpci0+bnBlX2N0eF9pZHg7CisKKwlkaXItPm5wZV9jdHhfaWR4ICs9IGluaXRfbGVuOworCWRpci0+bnBlX21vZGUgfD0gTlBFX09QX0hBU0hfRU5BQkxFOworCisJaWYgKCFlbmNyeXB0KQorCQlkaXItPm5wZV9tb2RlIHw9IE5QRV9PUF9IQVNIX1ZFUklGWTsKKworCXJldCA9IHJlZ2lzdGVyX2NoYWluX3Zhcih0Zm0sIEhNQUNfT1BBRF9WQUxVRSwgb3RhcmdldCwKKwkJCWluaXRfbGVuLCBucGVfY3R4X2FkZHIsIGtleSwga2V5X2xlbik7CisJaWYgKHJldCkKKwkJcmV0dXJuIHJldDsKKwlyZXR1cm4gcmVnaXN0ZXJfY2hhaW5fdmFyKHRmbSwgSE1BQ19JUEFEX1ZBTFVFLCBpdGFyZ2V0LAorCQkJaW5pdF9sZW4sIG5wZV9jdHhfYWRkciwga2V5LCBrZXlfbGVuKTsKK30KKworc3RhdGljIGludCBnZW5fcmV2X2Flc19rZXkoc3RydWN0IGNyeXB0b190Zm0gKnRmbSkKK3sKKwlzdHJ1Y3QgY3J5cHRfY3RsICpjcnlwdDsKKwlzdHJ1Y3QgaXhwX2N0eCAqY3R4ID0gY3J5cHRvX3RmbV9jdHgodGZtKTsKKwlzdHJ1Y3QgaXhfc2FfZGlyICpkaXIgPSAmY3R4LT5kZWNyeXB0OworCisJY3J5cHQgPSBnZXRfY3J5cHRfZGVzY19lbWVyZygpOworCWlmICghY3J5cHQpIHsKKwkJcmV0dXJuIC1FQUdBSU47CisJfQorCSoodTMyKilkaXItPm5wZV9jdHggfD0gY3B1X3RvX2JlMzIoQ0lQSF9FTkNSKTsKKworCWNyeXB0LT5kYXRhLnRmbSA9IHRmbTsKKwljcnlwdC0+Y3J5cHRfb2ZmcyA9IDA7CisJY3J5cHQtPmNyeXB0X2xlbiA9IEFFU19CTE9DSzEyODsKKwljcnlwdC0+c3JjX2J1ZiA9IDA7CisJY3J5cHQtPmNyeXB0b19jdHggPSBkaXItPm5wZV9jdHhfcGh5czsKKwljcnlwdC0+aWN2X3Jldl9hZXMgPSBkaXItPm5wZV9jdHhfcGh5cyArIHNpemVvZih1MzIpOworCWNyeXB0LT5tb2RlID0gTlBFX09QX0VOQ19HRU5fS0VZOworCWNyeXB0LT5pbml0X2xlbiA9IGRpci0+bnBlX2N0eF9pZHg7CisJY3J5cHQtPmN0bF9mbGFncyB8PSBDVExfRkxBR19HRU5fUkVWQUVTOworCisJYXRvbWljX2luYygmY3R4LT5jb25maWd1cmluZyk7CisJcW1ncl9wdXRfZW50cnkoU0VORF9RSUQsIGNyeXB0X3ZpcnQycGh5cyhjcnlwdCkpOworCUJVR19PTihxbWdyX3N0YXRfb3ZlcmZsb3coU0VORF9RSUQpKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBzZXR1cF9jaXBoZXIoc3RydWN0IGNyeXB0b190Zm0gKnRmbSwgaW50IGVuY3J5cHQsCisJCWNvbnN0IHU4ICprZXksIGludCBrZXlfbGVuKQoreworCXU4ICpjaW5mbzsKKwl1MzIgY2lwaGVyX2NmZzsKKwl1MzIga2V5bGVuX2NmZyA9IDA7CisJc3RydWN0IGl4X3NhX2RpciAqZGlyOworCXN0cnVjdCBpeHBfY3R4ICpjdHggPSBjcnlwdG9fdGZtX2N0eCh0Zm0pOworCXUzMiAqZmxhZ3MgPSAmdGZtLT5jcnRfZmxhZ3M7CisKKwlkaXIgPSBlbmNyeXB0ID8gJmN0eC0+ZW5jcnlwdCA6ICZjdHgtPmRlY3J5cHQ7CisJY2luZm8gPSBkaXItPm5wZV9jdHg7CisKKwlpZiAoZW5jcnlwdCkgeworCQljaXBoZXJfY2ZnID0gY2lwaGVyX2NmZ19lbmModGZtKTsKKwkJZGlyLT5ucGVfbW9kZSB8PSBOUEVfT1BfQ1JZUFRfRU5DUllQVDsKKwl9IGVsc2UgeworCQljaXBoZXJfY2ZnID0gY2lwaGVyX2NmZ19kZWModGZtKTsKKwl9CisJaWYgKGNpcGhlcl9jZmcgJiBNT0RfQUVTKSB7CisJCXN3aXRjaCAoa2V5X2xlbikgeworCQkJY2FzZSAxNjoga2V5bGVuX2NmZyA9IE1PRF9BRVMxMjggfCBLRVlMRU5fMTI4OyBicmVhazsKKwkJCWNhc2UgMjQ6IGtleWxlbl9jZmcgPSBNT0RfQUVTMTkyIHwgS0VZTEVOXzE5MjsgYnJlYWs7CisJCQljYXNlIDMyOiBrZXlsZW5fY2ZnID0gTU9EX0FFUzI1NiB8IEtFWUxFTl8yNTY7IGJyZWFrOworCQkJZGVmYXVsdDoKKwkJCQkqZmxhZ3MgfD0gQ1JZUFRPX1RGTV9SRVNfQkFEX0tFWV9MRU47CisJCQkJcmV0dXJuIC1FSU5WQUw7CisJCX0KKwkJY2lwaGVyX2NmZyB8PSBrZXlsZW5fY2ZnOworCX0gZWxzZSBpZiAoY2lwaGVyX2NmZyAmIE1PRF8zREVTKSB7CisJCWNvbnN0IHUzMiAqSyA9IChjb25zdCB1MzIgKilrZXk7CisJCWlmICh1bmxpa2VseSghKChLWzBdIF4gS1syXSkgfCAoS1sxXSBeIEtbM10pKSB8fAorCQkJICAgICAhKChLWzJdIF4gS1s0XSkgfCAoS1szXSBeIEtbNV0pKSkpCisJCXsKKwkJCSpmbGFncyB8PSBDUllQVE9fVEZNX1JFU19CQURfS0VZX1NDSEVEOworCQkJcmV0dXJuIC1FSU5WQUw7CisJCX0KKwl9IGVsc2UgeworCQl1MzIgdG1wW0RFU19FWFBLRVlfV09SRFNdOworCQlpZiAoZGVzX2VrZXkodG1wLCBrZXkpID09IDApIHsKKwkJCSpmbGFncyB8PSBDUllQVE9fVEZNX1JFU19XRUFLX0tFWTsKKwkJfQorCX0KKwkvKiB3cml0ZSBjZmcgd29yZCB0byBjcnlwdGluZm8gKi8KKwkqKHUzMiopY2luZm8gPSBjcHVfdG9fYmUzMihjaXBoZXJfY2ZnKTsKKwljaW5mbyArPSBzaXplb2YoY2lwaGVyX2NmZyk7CisKKwkvKiB3cml0ZSBjaXBoZXIga2V5IHRvIGNyeXB0aW5mbyAqLworCW1lbWNweShjaW5mbywga2V5LCBrZXlfbGVuKTsKKwkvKiBOUEUgd2FudHMga2V5bGVuIHNldCB0byBERVMzX0VERV9LRVlfU0laRSBldmVuIGZvciBzaW5nbGUgREVTICovCisJaWYgKGtleV9sZW4gPCBERVMzX0VERV9LRVlfU0laRSAmJiAhKGNpcGhlcl9jZmcgJiBNT0RfQUVTKSkgeworCQltZW1zZXQoY2luZm8gKyBrZXlfbGVuLCAwLCBERVMzX0VERV9LRVlfU0laRSAta2V5X2xlbik7CisJCWtleV9sZW4gPSBERVMzX0VERV9LRVlfU0laRTsKKwl9CisJZGlyLT5ucGVfY3R4X2lkeCA9IHNpemVvZihjaXBoZXJfY2ZnKSArIGtleV9sZW47CisJZGlyLT5ucGVfbW9kZSB8PSBOUEVfT1BfQ1JZUFRfRU5BQkxFOworCWlmICgoY2lwaGVyX2NmZyAmIE1PRF9BRVMpICYmICFlbmNyeXB0KSB7CisJCXJldHVybiBnZW5fcmV2X2Flc19rZXkodGZtKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY291bnRfc2coc3RydWN0IHNjYXR0ZXJsaXN0ICpzZywgaW50IG5ieXRlcykKK3sKKwlpbnQgaTsKKwlmb3IgKGkgPSAwOyBuYnl0ZXMgPiAwOyBpKyssIHNnID0gc2dfbmV4dChzZykpCisJCW5ieXRlcyAtPSBzZy0+bGVuZ3RoOworCXJldHVybiBpOworfQorCitzdGF0aWMgc3RydWN0IGJ1ZmZlcl9kZXNjICpjaGFpbnVwX2J1ZmZlcnMoc3RydWN0IHNjYXR0ZXJsaXN0ICpzZywKKwkJCXVuc2lnbmVkIG5ieXRlcywgc3RydWN0IGJ1ZmZlcl9kZXNjICpidWYsIGdmcF90IGZsYWdzKQoreworCWludCBuZW50cyA9IDA7CisKKwl3aGlsZSAobmJ5dGVzID4gMCkgeworCQlzdHJ1Y3QgYnVmZmVyX2Rlc2MgKm5leHRfYnVmOworCQl1MzIgbmV4dF9idWZfcGh5czsKKwkJdW5zaWduZWQgbGVuID0gbWluKG5ieXRlcywgc2dfZG1hX2xlbihzZykpOworCisJCW5lbnRzKys7CisJCW5ieXRlcyAtPSBsZW47CisJCWlmICghYnVmLT5waHlzX2FkZHIpIHsKKwkJCWJ1Zi0+cGh5c19hZGRyID0gc2dfZG1hX2FkZHJlc3Moc2cpOworCQkJYnVmLT5idWZfbGVuID0gbGVuOworCQkJYnVmLT5uZXh0ID0gTlVMTDsKKwkJCWJ1Zi0+cGh5c19uZXh0ID0gMDsKKwkJCWdvdG8gbmV4dDsKKwkJfQorCQkvKiBUd28gY29uc2VjdXRpdmUgY2h1bmtzIG9uIG9uZSBwYWdlIG1heSBiZSBoYW5kbGVkIGJ5IHRoZSBvbGQKKwkJICogYnVmZmVyIGRlc2NyaXB0b3IsIGluY3JlYXNlZCBieSB0aGUgbGVuZ3RoIG9mIHRoZSBuZXcgb25lCisJCSAqLworCQlpZiAoc2dfZG1hX2FkZHJlc3Moc2cpID09IGJ1Zi0+cGh5c19hZGRyICsgYnVmLT5idWZfbGVuKSB7CisJCQlidWYtPmJ1Zl9sZW4gKz0gbGVuOworCQkJZ290byBuZXh0OworCQl9CisJCW5leHRfYnVmID0gZG1hX3Bvb2xfYWxsb2MoYnVmZmVyX3Bvb2wsIGZsYWdzLCAmbmV4dF9idWZfcGh5cyk7CisJCWlmICghbmV4dF9idWYpCisJCQlyZXR1cm4gTlVMTDsKKwkJYnVmLT5uZXh0ID0gbmV4dF9idWY7CisJCWJ1Zi0+cGh5c19uZXh0ID0gbmV4dF9idWZfcGh5czsKKworCQlidWYgPSBuZXh0X2J1ZjsKKwkJYnVmLT5uZXh0ID0gTlVMTDsKKwkJYnVmLT5waHlzX25leHQgPSAwOworCQlidWYtPnBoeXNfYWRkciA9IHNnX2RtYV9hZGRyZXNzKHNnKTsKKwkJYnVmLT5idWZfbGVuID0gbGVuOworbmV4dDoKKwkJaWYgKG5ieXRlcyA+IDApIHsKKwkJCXNnID0gc2dfbmV4dChzZyk7CisJCX0KKwl9CisJcmV0dXJuIGJ1ZjsKK30KKworc3RhdGljIGludCBhYmxrX3NldGtleShzdHJ1Y3QgY3J5cHRvX2FibGtjaXBoZXIgKnRmbSwgY29uc3QgdTggKmtleSwKKwkJCXVuc2lnbmVkIGludCBrZXlfbGVuKQoreworCXN0cnVjdCBpeHBfY3R4ICpjdHggPSBjcnlwdG9fYWJsa2NpcGhlcl9jdHgodGZtKTsKKwl1MzIgKmZsYWdzID0gJnRmbS0+YmFzZS5jcnRfZmxhZ3M7CisJaW50IHJldDsKKworCWluaXRfY29tcGxldGlvbigmY3R4LT5jb21wbGV0aW9uKTsKKwlhdG9taWNfaW5jKCZjdHgtPmNvbmZpZ3VyaW5nKTsKKworCXJlc2V0X3NhX2RpcigmY3R4LT5lbmNyeXB0KTsKKwlyZXNldF9zYV9kaXIoJmN0eC0+ZGVjcnlwdCk7CisKKwljdHgtPmVuY3J5cHQubnBlX21vZGUgPSBOUEVfT1BfSE1BQ19ESVNBQkxFOworCWN0eC0+ZGVjcnlwdC5ucGVfbW9kZSA9IE5QRV9PUF9ITUFDX0RJU0FCTEU7CisKKwlyZXQgPSBzZXR1cF9jaXBoZXIoJnRmbS0+YmFzZSwgMCwga2V5LCBrZXlfbGVuKTsKKwlpZiAocmV0KQorCQlnb3RvIG91dDsKKwlyZXQgPSBzZXR1cF9jaXBoZXIoJnRmbS0+YmFzZSwgMSwga2V5LCBrZXlfbGVuKTsKKwlpZiAocmV0KQorCQlnb3RvIG91dDsKKworCWlmICgqZmxhZ3MgJiBDUllQVE9fVEZNX1JFU19XRUFLX0tFWSkgeworCQlpZiAoKmZsYWdzICYgQ1JZUFRPX1RGTV9SRVFfV0VBS19LRVkpIHsKKwkJCXJldCA9IC1FSU5WQUw7CisJCX0gZWxzZSB7CisJCQkqZmxhZ3MgJj0gfkNSWVBUT19URk1fUkVTX1dFQUtfS0VZOworCQl9CisJfQorb3V0OgorCWlmICghYXRvbWljX2RlY19hbmRfdGVzdCgmY3R4LT5jb25maWd1cmluZykpCisJCXdhaXRfZm9yX2NvbXBsZXRpb24oJmN0eC0+Y29tcGxldGlvbik7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBhYmxrX3JmYzM2ODZfc2V0a2V5KHN0cnVjdCBjcnlwdG9fYWJsa2NpcGhlciAqdGZtLCBjb25zdCB1OCAqa2V5LAorCQl1bnNpZ25lZCBpbnQga2V5X2xlbikKK3sKKwlzdHJ1Y3QgaXhwX2N0eCAqY3R4ID0gY3J5cHRvX2FibGtjaXBoZXJfY3R4KHRmbSk7CisKKwkvKiB0aGUgbm9uY2UgaXMgc3RvcmVkIGluIGJ5dGVzIGF0IGVuZCBvZiBrZXkgKi8KKwlpZiAoa2V5X2xlbiA8IENUUl9SRkMzNjg2X05PTkNFX1NJWkUpCisJCXJldHVybiAtRUlOVkFMOworCisJbWVtY3B5KGN0eC0+bm9uY2UsIGtleSArIChrZXlfbGVuIC0gQ1RSX1JGQzM2ODZfTk9OQ0VfU0laRSksCisJCQlDVFJfUkZDMzY4Nl9OT05DRV9TSVpFKTsKKworCWtleV9sZW4gLT0gQ1RSX1JGQzM2ODZfTk9OQ0VfU0laRTsKKwlyZXR1cm4gYWJsa19zZXRrZXkodGZtLCBrZXksIGtleV9sZW4pOworfQorCitzdGF0aWMgaW50IGFibGtfcGVyZm9ybShzdHJ1Y3QgYWJsa2NpcGhlcl9yZXF1ZXN0ICpyZXEsIGludCBlbmNyeXB0KQoreworCXN0cnVjdCBjcnlwdG9fYWJsa2NpcGhlciAqdGZtID0gY3J5cHRvX2FibGtjaXBoZXJfcmVxdGZtKHJlcSk7CisJc3RydWN0IGl4cF9jdHggKmN0eCA9IGNyeXB0b19hYmxrY2lwaGVyX2N0eCh0Zm0pOworCXVuc2lnbmVkIGl2c2l6ZSA9IGNyeXB0b19hYmxrY2lwaGVyX2l2c2l6ZSh0Zm0pOworCWludCByZXQgPSAtRU5PTUVNOworCXN0cnVjdCBpeF9zYV9kaXIgKmRpcjsKKwlzdHJ1Y3QgY3J5cHRfY3RsICpjcnlwdDsKKwl1bnNpZ25lZCBpbnQgbmJ5dGVzID0gcmVxLT5uYnl0ZXMsIG5lbnRzOworCWVudW0gZG1hX2RhdGFfZGlyZWN0aW9uIHNyY19kaXJlY3Rpb24gPSBETUFfQklESVJFQ1RJT05BTDsKKwlzdHJ1Y3QgYWJsa19jdHggKnJlcV9jdHggPSBhYmxrY2lwaGVyX3JlcXVlc3RfY3R4KHJlcSk7CisJZ2ZwX3QgZmxhZ3MgPSByZXEtPmJhc2UuZmxhZ3MgJiBDUllQVE9fVEZNX1JFUV9NQVlfU0xFRVAgPworCQkJCUdGUF9LRVJORUwgOiBHRlBfQVRPTUlDOworCisJaWYgKHFtZ3Jfc3RhdF9mdWxsKFNFTkRfUUlEKSkKKwkJcmV0dXJuIC1FQUdBSU47CisJaWYgKGF0b21pY19yZWFkKCZjdHgtPmNvbmZpZ3VyaW5nKSkKKwkJcmV0dXJuIC1FQUdBSU47CisKKwlkaXIgPSBlbmNyeXB0ID8gJmN0eC0+ZW5jcnlwdCA6ICZjdHgtPmRlY3J5cHQ7CisKKwljcnlwdCA9IGdldF9jcnlwdF9kZXNjKCk7CisJaWYgKCFjcnlwdCkKKwkJcmV0dXJuIHJldDsKKworCWNyeXB0LT5kYXRhLmFibGtfcmVxID0gcmVxOworCWNyeXB0LT5jcnlwdG9fY3R4ID0gZGlyLT5ucGVfY3R4X3BoeXM7CisJY3J5cHQtPm1vZGUgPSBkaXItPm5wZV9tb2RlOworCWNyeXB0LT5pbml0X2xlbiA9IGRpci0+bnBlX2N0eF9pZHg7CisKKwljcnlwdC0+Y3J5cHRfb2ZmcyA9IDA7CisJY3J5cHQtPmNyeXB0X2xlbiA9IG5ieXRlczsKKworCUJVR19PTihpdnNpemUgJiYgIXJlcS0+aW5mbyk7CisJbWVtY3B5KGNyeXB0LT5pdiwgcmVxLT5pbmZvLCBpdnNpemUpOworCWlmIChyZXEtPnNyYyAhPSByZXEtPmRzdCkgeworCQljcnlwdC0+bW9kZSB8PSBOUEVfT1BfTk9UX0lOX1BMQUNFOworCQluZW50cyA9IGNvdW50X3NnKHJlcS0+ZHN0LCBuYnl0ZXMpOworCQkvKiBUaGlzIHdhcyBuZXZlciB0ZXN0ZWQgYnkgSW50ZWwKKwkJICogZm9yIG1vcmUgdGhhbiBvbmUgZHN0IGJ1ZmZlciwgSSB0aGluay4gKi8KKwkJQlVHX09OKG5lbnRzICE9IDEpOworCQlyZXFfY3R4LT5kc3RfbmVudHMgPSBuZW50czsKKwkJZG1hX21hcF9zZyhkZXYsIHJlcS0+ZHN0LCBuZW50cywgRE1BX0ZST01fREVWSUNFKTsKKwkJcmVxX2N0eC0+ZHN0ID0gZG1hX3Bvb2xfYWxsb2MoYnVmZmVyX3Bvb2wsIGZsYWdzLCZjcnlwdC0+ZHN0X2J1Zik7CisJCWlmICghcmVxX2N0eC0+ZHN0KQorCQkJZ290byB1bm1hcF9zZ19kZXN0OworCQlyZXFfY3R4LT5kc3QtPnBoeXNfYWRkciA9IDA7CisJCWlmICghY2hhaW51cF9idWZmZXJzKHJlcS0+ZHN0LCBuYnl0ZXMsIHJlcV9jdHgtPmRzdCwgZmxhZ3MpKQorCQkJZ290byBmcmVlX2J1Zl9kZXN0OworCQlzcmNfZGlyZWN0aW9uID0gRE1BX1RPX0RFVklDRTsKKwl9IGVsc2UgeworCQlyZXFfY3R4LT5kc3QgPSBOVUxMOworCQlyZXFfY3R4LT5kc3RfbmVudHMgPSAwOworCX0KKwluZW50cyA9IGNvdW50X3NnKHJlcS0+c3JjLCBuYnl0ZXMpOworCXJlcV9jdHgtPnNyY19uZW50cyA9IG5lbnRzOworCWRtYV9tYXBfc2coZGV2LCByZXEtPnNyYywgbmVudHMsIHNyY19kaXJlY3Rpb24pOworCisJcmVxX2N0eC0+c3JjID0gZG1hX3Bvb2xfYWxsb2MoYnVmZmVyX3Bvb2wsIGZsYWdzLCAmY3J5cHQtPnNyY19idWYpOworCWlmICghcmVxX2N0eC0+c3JjKQorCQlnb3RvIHVubWFwX3NnX3NyYzsKKwlyZXFfY3R4LT5zcmMtPnBoeXNfYWRkciA9IDA7CisJaWYgKCFjaGFpbnVwX2J1ZmZlcnMocmVxLT5zcmMsIG5ieXRlcywgcmVxX2N0eC0+c3JjLCBmbGFncykpCisJCWdvdG8gZnJlZV9idWZfc3JjOworCisJY3J5cHQtPmN0bF9mbGFncyB8PSBDVExfRkxBR19QRVJGT1JNX0FCTEs7CisJcW1ncl9wdXRfZW50cnkoU0VORF9RSUQsIGNyeXB0X3ZpcnQycGh5cyhjcnlwdCkpOworCUJVR19PTihxbWdyX3N0YXRfb3ZlcmZsb3coU0VORF9RSUQpKTsKKwlyZXR1cm4gLUVJTlBST0dSRVNTOworCitmcmVlX2J1Zl9zcmM6CisJZnJlZV9idWZfY2hhaW4ocmVxX2N0eC0+c3JjLCBjcnlwdC0+c3JjX2J1Zik7Cit1bm1hcF9zZ19zcmM6CisJZG1hX3VubWFwX3NnKGRldiwgcmVxLT5zcmMsIHJlcV9jdHgtPnNyY19uZW50cywgc3JjX2RpcmVjdGlvbik7CitmcmVlX2J1Zl9kZXN0OgorCWlmIChyZXEtPnNyYyAhPSByZXEtPmRzdCkgeworCQlmcmVlX2J1Zl9jaGFpbihyZXFfY3R4LT5kc3QsIGNyeXB0LT5kc3RfYnVmKTsKK3VubWFwX3NnX2Rlc3Q6CisJCWRtYV91bm1hcF9zZyhkZXYsIHJlcS0+c3JjLCByZXFfY3R4LT5kc3RfbmVudHMsCisJCQlETUFfRlJPTV9ERVZJQ0UpOworCX0KKwljcnlwdC0+Y3RsX2ZsYWdzID0gQ1RMX0ZMQUdfVU5VU0VEOworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgYWJsa19lbmNyeXB0KHN0cnVjdCBhYmxrY2lwaGVyX3JlcXVlc3QgKnJlcSkKK3sKKwlyZXR1cm4gYWJsa19wZXJmb3JtKHJlcSwgMSk7Cit9CisKK3N0YXRpYyBpbnQgYWJsa19kZWNyeXB0KHN0cnVjdCBhYmxrY2lwaGVyX3JlcXVlc3QgKnJlcSkKK3sKKwlyZXR1cm4gYWJsa19wZXJmb3JtKHJlcSwgMCk7Cit9CisKK3N0YXRpYyBpbnQgYWJsa19yZmMzNjg2X2NyeXB0KHN0cnVjdCBhYmxrY2lwaGVyX3JlcXVlc3QgKnJlcSkKK3sKKwlzdHJ1Y3QgY3J5cHRvX2FibGtjaXBoZXIgKnRmbSA9IGNyeXB0b19hYmxrY2lwaGVyX3JlcXRmbShyZXEpOworCXN0cnVjdCBpeHBfY3R4ICpjdHggPSBjcnlwdG9fYWJsa2NpcGhlcl9jdHgodGZtKTsKKwl1OCBpdltDVFJfUkZDMzY4Nl9CTE9DS19TSVpFXTsKKwl1OCAqaW5mbyA9IHJlcS0+aW5mbzsKKwlpbnQgcmV0OworCisJLyogc2V0IHVwIGNvdW50ZXIgYmxvY2sgKi8KKyAgICAgICAgbWVtY3B5KGl2LCBjdHgtPm5vbmNlLCBDVFJfUkZDMzY4Nl9OT05DRV9TSVpFKTsKKwltZW1jcHkoaXYgKyBDVFJfUkZDMzY4Nl9OT05DRV9TSVpFLCBpbmZvLCBDVFJfUkZDMzY4Nl9JVl9TSVpFKTsKKworCS8qIGluaXRpYWxpemUgY291bnRlciBwb3J0aW9uIG9mIGNvdW50ZXIgYmxvY2sgKi8KKwkqKF9fYmUzMiAqKShpdiArIENUUl9SRkMzNjg2X05PTkNFX1NJWkUgKyBDVFJfUkZDMzY4Nl9JVl9TSVpFKSA9CisJCWNwdV90b19iZTMyKDEpOworCisJcmVxLT5pbmZvID0gaXY7CisJcmV0ID0gYWJsa19wZXJmb3JtKHJlcSwgMSk7CisJcmVxLT5pbmZvID0gaW5mbzsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IGhtYWNfaW5jb25zaXN0ZW50KHN0cnVjdCBzY2F0dGVybGlzdCAqc2csIHVuc2lnbmVkIHN0YXJ0LAorCQl1bnNpZ25lZCBpbnQgbmJ5dGVzKQoreworCWludCBvZmZzZXQgPSAwOworCisJaWYgKCFuYnl0ZXMpCisJCXJldHVybiAwOworCisJZm9yICg7OykgeworCQlpZiAoc3RhcnQgPCBvZmZzZXQgKyBzZy0+bGVuZ3RoKQorCQkJYnJlYWs7CisKKwkJb2Zmc2V0ICs9IHNnLT5sZW5ndGg7CisJCXNnID0gc2dfbmV4dChzZyk7CisJfQorCXJldHVybiAoc3RhcnQgKyBuYnl0ZXMgPiBvZmZzZXQgKyBzZy0+bGVuZ3RoKTsKK30KKworc3RhdGljIGludCBhZWFkX3BlcmZvcm0oc3RydWN0IGFlYWRfcmVxdWVzdCAqcmVxLCBpbnQgZW5jcnlwdCwKKwkJaW50IGNyeXB0b2Zmc2V0LCBpbnQgZWZmX2NyeXB0bGVuLCB1OCAqaXYpCit7CisJc3RydWN0IGNyeXB0b19hZWFkICp0Zm0gPSBjcnlwdG9fYWVhZF9yZXF0Zm0ocmVxKTsKKwlzdHJ1Y3QgaXhwX2N0eCAqY3R4ID0gY3J5cHRvX2FlYWRfY3R4KHRmbSk7CisJdW5zaWduZWQgaXZzaXplID0gY3J5cHRvX2FlYWRfaXZzaXplKHRmbSk7CisJdW5zaWduZWQgYXV0aHNpemUgPSBjcnlwdG9fYWVhZF9hdXRoc2l6ZSh0Zm0pOworCWludCByZXQgPSAtRU5PTUVNOworCXN0cnVjdCBpeF9zYV9kaXIgKmRpcjsKKwlzdHJ1Y3QgY3J5cHRfY3RsICpjcnlwdDsKKwl1bnNpZ25lZCBpbnQgY3J5cHRsZW4sIG5lbnRzOworCXN0cnVjdCBidWZmZXJfZGVzYyAqYnVmOworCXN0cnVjdCBhZWFkX2N0eCAqcmVxX2N0eCA9IGFlYWRfcmVxdWVzdF9jdHgocmVxKTsKKwlnZnBfdCBmbGFncyA9IHJlcS0+YmFzZS5mbGFncyAmIENSWVBUT19URk1fUkVRX01BWV9TTEVFUCA/CisJCQkJR0ZQX0tFUk5FTCA6IEdGUF9BVE9NSUM7CisKKwlpZiAocW1ncl9zdGF0X2Z1bGwoU0VORF9RSUQpKQorCQlyZXR1cm4gLUVBR0FJTjsKKwlpZiAoYXRvbWljX3JlYWQoJmN0eC0+Y29uZmlndXJpbmcpKQorCQlyZXR1cm4gLUVBR0FJTjsKKworCWlmIChlbmNyeXB0KSB7CisJCWRpciA9ICZjdHgtPmVuY3J5cHQ7CisJCWNyeXB0bGVuID0gcmVxLT5jcnlwdGxlbjsKKwl9IGVsc2UgeworCQlkaXIgPSAmY3R4LT5kZWNyeXB0OworCQkvKiByZXEtPmNyeXB0bGVuIGluY2x1ZGVzIHRoZSBhdXRoc2l6ZSB3aGVuIGRlY3J5cHRpbmcgKi8KKwkJY3J5cHRsZW4gPSByZXEtPmNyeXB0bGVuIC1hdXRoc2l6ZTsKKwkJZWZmX2NyeXB0bGVuIC09IGF1dGhzaXplOworCX0KKwljcnlwdCA9IGdldF9jcnlwdF9kZXNjKCk7CisJaWYgKCFjcnlwdCkKKwkJcmV0dXJuIHJldDsKKworCWNyeXB0LT5kYXRhLmFlYWRfcmVxID0gcmVxOworCWNyeXB0LT5jcnlwdG9fY3R4ID0gZGlyLT5ucGVfY3R4X3BoeXM7CisJY3J5cHQtPm1vZGUgPSBkaXItPm5wZV9tb2RlOworCWNyeXB0LT5pbml0X2xlbiA9IGRpci0+bnBlX2N0eF9pZHg7CisKKwljcnlwdC0+Y3J5cHRfb2ZmcyA9IGNyeXB0b2Zmc2V0OworCWNyeXB0LT5jcnlwdF9sZW4gPSBlZmZfY3J5cHRsZW47CisKKwljcnlwdC0+YXV0aF9vZmZzID0gMDsKKwljcnlwdC0+YXV0aF9sZW4gPSByZXEtPmFzc29jbGVuICsgaXZzaXplICsgY3J5cHRsZW47CisJQlVHX09OKGl2c2l6ZSAmJiAhcmVxLT5pdik7CisJbWVtY3B5KGNyeXB0LT5pdiwgcmVxLT5pdiwgaXZzaXplKTsKKworCWlmIChyZXEtPnNyYyAhPSByZXEtPmRzdCkgeworCQlCVUcoKTsgLyogLUVOT1RTVVAgYmVjYXVzZSBvZiBteSBsYXp5bmVzcyAqLworCX0KKworCXJlcV9jdHgtPmJ1ZmZlciA9IGRtYV9wb29sX2FsbG9jKGJ1ZmZlcl9wb29sLCBmbGFncywgJmNyeXB0LT5zcmNfYnVmKTsKKwlpZiAoIXJlcV9jdHgtPmJ1ZmZlcikKKwkJZ290byBvdXQ7CisJcmVxX2N0eC0+YnVmZmVyLT5waHlzX2FkZHIgPSAwOworCS8qIEFTU09DIGRhdGEgKi8KKwluZW50cyA9IGNvdW50X3NnKHJlcS0+YXNzb2MsIHJlcS0+YXNzb2NsZW4pOworCXJlcV9jdHgtPmFzc29jX25lbnRzID0gbmVudHM7CisJZG1hX21hcF9zZyhkZXYsIHJlcS0+YXNzb2MsIG5lbnRzLCBETUFfVE9fREVWSUNFKTsKKwlidWYgPSBjaGFpbnVwX2J1ZmZlcnMocmVxLT5hc3NvYywgcmVxLT5hc3NvY2xlbiwgcmVxX2N0eC0+YnVmZmVyLGZsYWdzKTsKKwlpZiAoIWJ1ZikKKwkJZ290byB1bm1hcF9zZ19hc3NvYzsKKwkvKiBJViAqLworCXNnX2luaXRfdGFibGUoJnJlcV9jdHgtPml2bGlzdCwgMSk7CisJc2dfc2V0X2J1ZigmcmVxX2N0eC0+aXZsaXN0LCBpdiwgaXZzaXplKTsKKwlkbWFfbWFwX3NnKGRldiwgJnJlcV9jdHgtPml2bGlzdCwgMSwgRE1BX0JJRElSRUNUSU9OQUwpOworCWJ1ZiA9IGNoYWludXBfYnVmZmVycygmcmVxX2N0eC0+aXZsaXN0LCBpdnNpemUsIGJ1ZiwgZmxhZ3MpOworCWlmICghYnVmKQorCQlnb3RvIHVubWFwX3NnX2l2OworCWlmICh1bmxpa2VseShobWFjX2luY29uc2lzdGVudChyZXEtPnNyYywgY3J5cHRsZW4sIGF1dGhzaXplKSkpIHsKKwkJLyogVGhlIDEyIGhtYWMgYnl0ZXMgYXJlIHNjYXR0ZXJlZCwKKwkJICogd2UgbmVlZCB0byBjb3B5IHRoZW0gaW50byBhIHNhZmUgYnVmZmVyICovCisJCXJlcV9jdHgtPmhtYWNfdmlydCA9IGRtYV9wb29sX2FsbG9jKGJ1ZmZlcl9wb29sLCBmbGFncywKKwkJCQkmY3J5cHQtPmljdl9yZXZfYWVzKTsKKwkJaWYgKHVubGlrZWx5KCFyZXFfY3R4LT5obWFjX3ZpcnQpKQorCQkJZ290byB1bm1hcF9zZ19pdjsKKwkJaWYgKCFlbmNyeXB0KSB7CisJCQlzY2F0dGVyd2Fsa19tYXBfYW5kX2NvcHkocmVxX2N0eC0+aG1hY192aXJ0LAorCQkJCXJlcS0+c3JjLCBjcnlwdGxlbiwgYXV0aHNpemUsIDApOworCQl9CisJCXJlcV9jdHgtPmVuY3J5cHQgPSBlbmNyeXB0OworCX0gZWxzZSB7CisJCXJlcV9jdHgtPmhtYWNfdmlydCA9IE5VTEw7CisJfQorCS8qIENyeXB0ICovCisJbmVudHMgPSBjb3VudF9zZyhyZXEtPnNyYywgY3J5cHRsZW4gKyBhdXRoc2l6ZSk7CisJcmVxX2N0eC0+c3JjX25lbnRzID0gbmVudHM7CisJZG1hX21hcF9zZyhkZXYsIHJlcS0+c3JjLCBuZW50cywgRE1BX0JJRElSRUNUSU9OQUwpOworCWJ1ZiA9IGNoYWludXBfYnVmZmVycyhyZXEtPnNyYywgY3J5cHRsZW4gKyBhdXRoc2l6ZSwgYnVmLCBmbGFncyk7CisJaWYgKCFidWYpCisJCWdvdG8gdW5tYXBfc2dfc3JjOworCWlmICghcmVxX2N0eC0+aG1hY192aXJ0KSB7CisJCWNyeXB0LT5pY3ZfcmV2X2FlcyA9IGJ1Zi0+cGh5c19hZGRyICsgYnVmLT5idWZfbGVuIC0gYXV0aHNpemU7CisJfQorCWNyeXB0LT5jdGxfZmxhZ3MgfD0gQ1RMX0ZMQUdfUEVSRk9STV9BRUFEOworCXFtZ3JfcHV0X2VudHJ5KFNFTkRfUUlELCBjcnlwdF92aXJ0MnBoeXMoY3J5cHQpKTsKKwlCVUdfT04ocW1ncl9zdGF0X292ZXJmbG93KFNFTkRfUUlEKSk7CisJcmV0dXJuIC1FSU5QUk9HUkVTUzsKK3VubWFwX3NnX3NyYzoKKwlkbWFfdW5tYXBfc2coZGV2LCByZXEtPnNyYywgcmVxX2N0eC0+c3JjX25lbnRzLCBETUFfQklESVJFQ1RJT05BTCk7CisJaWYgKHJlcV9jdHgtPmhtYWNfdmlydCkgeworCQlkbWFfcG9vbF9mcmVlKGJ1ZmZlcl9wb29sLCByZXFfY3R4LT5obWFjX3ZpcnQsCisJCQkJY3J5cHQtPmljdl9yZXZfYWVzKTsKKwl9Cit1bm1hcF9zZ19pdjoKKwlkbWFfdW5tYXBfc2coZGV2LCAmcmVxX2N0eC0+aXZsaXN0LCAxLCBETUFfQklESVJFQ1RJT05BTCk7Cit1bm1hcF9zZ19hc3NvYzoKKwlkbWFfdW5tYXBfc2coZGV2LCByZXEtPmFzc29jLCByZXFfY3R4LT5hc3NvY19uZW50cywgRE1BX1RPX0RFVklDRSk7CisJZnJlZV9idWZfY2hhaW4ocmVxX2N0eC0+YnVmZmVyLCBjcnlwdC0+c3JjX2J1Zik7CitvdXQ6CisJY3J5cHQtPmN0bF9mbGFncyA9IENUTF9GTEFHX1VOVVNFRDsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IGFlYWRfc2V0dXAoc3RydWN0IGNyeXB0b19hZWFkICp0Zm0sIHVuc2lnbmVkIGludCBhdXRoc2l6ZSkKK3sKKwlzdHJ1Y3QgaXhwX2N0eCAqY3R4ID0gY3J5cHRvX2FlYWRfY3R4KHRmbSk7CisJdTMyICpmbGFncyA9ICZ0Zm0tPmJhc2UuY3J0X2ZsYWdzOworCXVuc2lnbmVkIGRpZ2VzdF9sZW4gPSBjcnlwdG9fYWVhZF9hbGcodGZtKS0+bWF4YXV0aHNpemU7CisJaW50IHJldDsKKworCWlmICghY3R4LT5lbmNrZXlfbGVuICYmICFjdHgtPmF1dGhrZXlfbGVuKQorCQlyZXR1cm4gMDsKKwlpbml0X2NvbXBsZXRpb24oJmN0eC0+Y29tcGxldGlvbik7CisJYXRvbWljX2luYygmY3R4LT5jb25maWd1cmluZyk7CisKKwlyZXNldF9zYV9kaXIoJmN0eC0+ZW5jcnlwdCk7CisJcmVzZXRfc2FfZGlyKCZjdHgtPmRlY3J5cHQpOworCisJcmV0ID0gc2V0dXBfY2lwaGVyKCZ0Zm0tPmJhc2UsIDAsIGN0eC0+ZW5ja2V5LCBjdHgtPmVuY2tleV9sZW4pOworCWlmIChyZXQpCisJCWdvdG8gb3V0OworCXJldCA9IHNldHVwX2NpcGhlcigmdGZtLT5iYXNlLCAxLCBjdHgtPmVuY2tleSwgY3R4LT5lbmNrZXlfbGVuKTsKKwlpZiAocmV0KQorCQlnb3RvIG91dDsKKwlyZXQgPSBzZXR1cF9hdXRoKCZ0Zm0tPmJhc2UsIDAsIGF1dGhzaXplLCBjdHgtPmF1dGhrZXksCisJCQljdHgtPmF1dGhrZXlfbGVuLCBkaWdlc3RfbGVuKTsKKwlpZiAocmV0KQorCQlnb3RvIG91dDsKKwlyZXQgPSBzZXR1cF9hdXRoKCZ0Zm0tPmJhc2UsIDEsIGF1dGhzaXplLCAgY3R4LT5hdXRoa2V5LAorCQkJY3R4LT5hdXRoa2V5X2xlbiwgZGlnZXN0X2xlbik7CisJaWYgKHJldCkKKwkJZ290byBvdXQ7CisKKwlpZiAoKmZsYWdzICYgQ1JZUFRPX1RGTV9SRVNfV0VBS19LRVkpIHsKKwkJaWYgKCpmbGFncyAmIENSWVBUT19URk1fUkVRX1dFQUtfS0VZKSB7CisJCQlyZXQgPSAtRUlOVkFMOworCQkJZ290byBvdXQ7CisJCX0gZWxzZSB7CisJCQkqZmxhZ3MgJj0gfkNSWVBUT19URk1fUkVTX1dFQUtfS0VZOworCQl9CisJfQorb3V0OgorCWlmICghYXRvbWljX2RlY19hbmRfdGVzdCgmY3R4LT5jb25maWd1cmluZykpCisJCXdhaXRfZm9yX2NvbXBsZXRpb24oJmN0eC0+Y29tcGxldGlvbik7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBhZWFkX3NldGF1dGhzaXplKHN0cnVjdCBjcnlwdG9fYWVhZCAqdGZtLCB1bnNpZ25lZCBpbnQgYXV0aHNpemUpCit7CisJaW50IG1heCA9IGNyeXB0b19hZWFkX2FsZyh0Zm0pLT5tYXhhdXRoc2l6ZSA+PiAyOworCisJaWYgKChhdXRoc2l6ZT4+MikgPCAxIHx8IChhdXRoc2l6ZT4+MikgPiBtYXggfHwgKGF1dGhzaXplICYgMykpCisJCXJldHVybiAtRUlOVkFMOworCXJldHVybiBhZWFkX3NldHVwKHRmbSwgYXV0aHNpemUpOworfQorCitzdGF0aWMgaW50IGFlYWRfc2V0a2V5KHN0cnVjdCBjcnlwdG9fYWVhZCAqdGZtLCBjb25zdCB1OCAqa2V5LAorCQkJdW5zaWduZWQgaW50IGtleWxlbikKK3sKKwlzdHJ1Y3QgaXhwX2N0eCAqY3R4ID0gY3J5cHRvX2FlYWRfY3R4KHRmbSk7CisJc3RydWN0IHJ0YXR0ciAqcnRhID0gKHN0cnVjdCBydGF0dHIgKilrZXk7CisJc3RydWN0IGNyeXB0b19hdXRoZW5jX2tleV9wYXJhbSAqcGFyYW07CisKKwlpZiAoIVJUQV9PSyhydGEsIGtleWxlbikpCisJCWdvdG8gYmFka2V5OworCWlmIChydGEtPnJ0YV90eXBlICE9IENSWVBUT19BVVRIRU5DX0tFWUFfUEFSQU0pCisJCWdvdG8gYmFka2V5OworCWlmIChSVEFfUEFZTE9BRChydGEpIDwgc2l6ZW9mKCpwYXJhbSkpCisJCWdvdG8gYmFka2V5OworCisJcGFyYW0gPSBSVEFfREFUQShydGEpOworCWN0eC0+ZW5ja2V5X2xlbiA9IGJlMzJfdG9fY3B1KHBhcmFtLT5lbmNrZXlsZW4pOworCisJa2V5ICs9IFJUQV9BTElHTihydGEtPnJ0YV9sZW4pOworCWtleWxlbiAtPSBSVEFfQUxJR04ocnRhLT5ydGFfbGVuKTsKKworCWlmIChrZXlsZW4gPCBjdHgtPmVuY2tleV9sZW4pCisJCWdvdG8gYmFka2V5OworCisJY3R4LT5hdXRoa2V5X2xlbiA9IGtleWxlbiAtIGN0eC0+ZW5ja2V5X2xlbjsKKwltZW1jcHkoY3R4LT5lbmNrZXksIGtleSArIGN0eC0+YXV0aGtleV9sZW4sIGN0eC0+ZW5ja2V5X2xlbik7CisJbWVtY3B5KGN0eC0+YXV0aGtleSwga2V5LCBjdHgtPmF1dGhrZXlfbGVuKTsKKworCXJldHVybiBhZWFkX3NldHVwKHRmbSwgY3J5cHRvX2FlYWRfYXV0aHNpemUodGZtKSk7CitiYWRrZXk6CisJY3R4LT5lbmNrZXlfbGVuID0gMDsKKwljcnlwdG9fYWVhZF9zZXRfZmxhZ3ModGZtLCBDUllQVE9fVEZNX1JFU19CQURfS0VZX0xFTik7CisJcmV0dXJuIC1FSU5WQUw7Cit9CisKK3N0YXRpYyBpbnQgYWVhZF9lbmNyeXB0KHN0cnVjdCBhZWFkX3JlcXVlc3QgKnJlcSkKK3sKKwl1bnNpZ25lZCBpdnNpemUgPSBjcnlwdG9fYWVhZF9pdnNpemUoY3J5cHRvX2FlYWRfcmVxdGZtKHJlcSkpOworCXJldHVybiBhZWFkX3BlcmZvcm0ocmVxLCAxLCByZXEtPmFzc29jbGVuICsgaXZzaXplLAorCQkJcmVxLT5jcnlwdGxlbiwgcmVxLT5pdik7Cit9CisKK3N0YXRpYyBpbnQgYWVhZF9kZWNyeXB0KHN0cnVjdCBhZWFkX3JlcXVlc3QgKnJlcSkKK3sKKwl1bnNpZ25lZCBpdnNpemUgPSBjcnlwdG9fYWVhZF9pdnNpemUoY3J5cHRvX2FlYWRfcmVxdGZtKHJlcSkpOworCXJldHVybiBhZWFkX3BlcmZvcm0ocmVxLCAwLCByZXEtPmFzc29jbGVuICsgaXZzaXplLAorCQkJcmVxLT5jcnlwdGxlbiwgcmVxLT5pdik7Cit9CisKK3N0YXRpYyBpbnQgYWVhZF9naXZlbmNyeXB0KHN0cnVjdCBhZWFkX2dpdmNyeXB0X3JlcXVlc3QgKnJlcSkKK3sKKwlzdHJ1Y3QgY3J5cHRvX2FlYWQgKnRmbSA9IGFlYWRfZ2l2Y3J5cHRfcmVxdGZtKHJlcSk7CisJc3RydWN0IGl4cF9jdHggKmN0eCA9IGNyeXB0b19hZWFkX2N0eCh0Zm0pOworCXVuc2lnbmVkIGxlbiwgaXZzaXplID0gY3J5cHRvX2FlYWRfaXZzaXplKHRmbSk7CisJX19iZTY0IHNlcTsKKworCS8qIGNvcGllZCBmcm9tIGVzZXFpdi5jICovCisJaWYgKCFjdHgtPnNhbHRlZCkgeworCQlnZXRfcmFuZG9tX2J5dGVzKGN0eC0+c2FsdCwgaXZzaXplKTsKKwkJY3R4LT5zYWx0ZWQgPSAxOworCX0KKwltZW1jcHkocmVxLT5hcmVxLml2LCBjdHgtPnNhbHQsIGl2c2l6ZSk7CisJbGVuID0gaXZzaXplOworCWlmIChpdnNpemUgPiBzaXplb2YodTY0KSkgeworCQltZW1zZXQocmVxLT5naXYsIDAsIGl2c2l6ZSAtIHNpemVvZih1NjQpKTsKKwkJbGVuID0gc2l6ZW9mKHU2NCk7CisJfQorCXNlcSA9IGNwdV90b19iZTY0KHJlcS0+c2VxKTsKKwltZW1jcHkocmVxLT5naXYgKyBpdnNpemUgLSBsZW4sICZzZXEsIGxlbik7CisJcmV0dXJuIGFlYWRfcGVyZm9ybSgmcmVxLT5hcmVxLCAxLCByZXEtPmFyZXEuYXNzb2NsZW4sCisJCQlyZXEtPmFyZXEuY3J5cHRsZW4gK2l2c2l6ZSwgcmVxLT5naXYpOworfQorCitzdGF0aWMgc3RydWN0IGl4cF9hbGcgaXhwNHh4X2FsZ29zW10gPSB7Cit7CisJLmNyeXB0bwk9IHsKKwkJLmNyYV9uYW1lCT0gImNiYyhkZXMpIiwKKwkJLmNyYV9ibG9ja3NpemUJPSBERVNfQkxPQ0tfU0laRSwKKwkJLmNyYV91CQk9IHsgLmFibGtjaXBoZXIgPSB7CisJCQkubWluX2tleXNpemUJPSBERVNfS0VZX1NJWkUsCisJCQkubWF4X2tleXNpemUJPSBERVNfS0VZX1NJWkUsCisJCQkuaXZzaXplCQk9IERFU19CTE9DS19TSVpFLAorCQkJLmdlbml2CQk9ICJlc2VxaXYiLAorCQkJfQorCQl9CisJfSwKKwkuY2ZnX2VuYyA9IENJUEhfRU5DUiB8IE1PRF9ERVMgfCBNT0RfQ0JDX0VOQyB8IEtFWUxFTl8xOTIsCisJLmNmZ19kZWMgPSBDSVBIX0RFQ1IgfCBNT0RfREVTIHwgTU9EX0NCQ19ERUMgfCBLRVlMRU5fMTkyLAorCit9LCB7CisJLmNyeXB0bwk9IHsKKwkJLmNyYV9uYW1lCT0gImVjYihkZXMpIiwKKwkJLmNyYV9ibG9ja3NpemUJPSBERVNfQkxPQ0tfU0laRSwKKwkJLmNyYV91CQk9IHsgLmFibGtjaXBoZXIgPSB7CisJCQkubWluX2tleXNpemUJPSBERVNfS0VZX1NJWkUsCisJCQkubWF4X2tleXNpemUJPSBERVNfS0VZX1NJWkUsCisJCQl9CisJCX0KKwl9LAorCS5jZmdfZW5jID0gQ0lQSF9FTkNSIHwgTU9EX0RFUyB8IE1PRF9FQ0IgfCBLRVlMRU5fMTkyLAorCS5jZmdfZGVjID0gQ0lQSF9ERUNSIHwgTU9EX0RFUyB8IE1PRF9FQ0IgfCBLRVlMRU5fMTkyLAorfSwgeworCS5jcnlwdG8JPSB7CisJCS5jcmFfbmFtZQk9ICJjYmMoZGVzM19lZGUpIiwKKwkJLmNyYV9ibG9ja3NpemUJPSBERVMzX0VERV9CTE9DS19TSVpFLAorCQkuY3JhX3UJCT0geyAuYWJsa2NpcGhlciA9IHsKKwkJCS5taW5fa2V5c2l6ZQk9IERFUzNfRURFX0tFWV9TSVpFLAorCQkJLm1heF9rZXlzaXplCT0gREVTM19FREVfS0VZX1NJWkUsCisJCQkuaXZzaXplCQk9IERFUzNfRURFX0JMT0NLX1NJWkUsCisJCQkuZ2VuaXYJCT0gImVzZXFpdiIsCisJCQl9CisJCX0KKwl9LAorCS5jZmdfZW5jID0gQ0lQSF9FTkNSIHwgTU9EXzNERVMgfCBNT0RfQ0JDX0VOQyB8IEtFWUxFTl8xOTIsCisJLmNmZ19kZWMgPSBDSVBIX0RFQ1IgfCBNT0RfM0RFUyB8IE1PRF9DQkNfREVDIHwgS0VZTEVOXzE5MiwKK30sIHsKKwkuY3J5cHRvCT0geworCQkuY3JhX25hbWUJPSAiZWNiKGRlczNfZWRlKSIsCisJCS5jcmFfYmxvY2tzaXplCT0gREVTM19FREVfQkxPQ0tfU0laRSwKKwkJLmNyYV91CQk9IHsgLmFibGtjaXBoZXIgPSB7CisJCQkubWluX2tleXNpemUJPSBERVMzX0VERV9LRVlfU0laRSwKKwkJCS5tYXhfa2V5c2l6ZQk9IERFUzNfRURFX0tFWV9TSVpFLAorCQkJfQorCQl9CisJfSwKKwkuY2ZnX2VuYyA9IENJUEhfRU5DUiB8IE1PRF8zREVTIHwgTU9EX0VDQiB8IEtFWUxFTl8xOTIsCisJLmNmZ19kZWMgPSBDSVBIX0RFQ1IgfCBNT0RfM0RFUyB8IE1PRF9FQ0IgfCBLRVlMRU5fMTkyLAorfSwgeworCS5jcnlwdG8JPSB7CisJCS5jcmFfbmFtZQk9ICJjYmMoYWVzKSIsCisJCS5jcmFfYmxvY2tzaXplCT0gQUVTX0JMT0NLX1NJWkUsCisJCS5jcmFfdQkJPSB7IC5hYmxrY2lwaGVyID0geworCQkJLm1pbl9rZXlzaXplCT0gQUVTX01JTl9LRVlfU0laRSwKKwkJCS5tYXhfa2V5c2l6ZQk9IEFFU19NQVhfS0VZX1NJWkUsCisJCQkuaXZzaXplCQk9IEFFU19CTE9DS19TSVpFLAorCQkJLmdlbml2CQk9ICJlc2VxaXYiLAorCQkJfQorCQl9CisJfSwKKwkuY2ZnX2VuYyA9IENJUEhfRU5DUiB8IE1PRF9BRVMgfCBNT0RfQ0JDX0VOQywKKwkuY2ZnX2RlYyA9IENJUEhfREVDUiB8IE1PRF9BRVMgfCBNT0RfQ0JDX0RFQywKK30sIHsKKwkuY3J5cHRvCT0geworCQkuY3JhX25hbWUJPSAiZWNiKGFlcykiLAorCQkuY3JhX2Jsb2Nrc2l6ZQk9IEFFU19CTE9DS19TSVpFLAorCQkuY3JhX3UJCT0geyAuYWJsa2NpcGhlciA9IHsKKwkJCS5taW5fa2V5c2l6ZQk9IEFFU19NSU5fS0VZX1NJWkUsCisJCQkubWF4X2tleXNpemUJPSBBRVNfTUFYX0tFWV9TSVpFLAorCQkJfQorCQl9CisJfSwKKwkuY2ZnX2VuYyA9IENJUEhfRU5DUiB8IE1PRF9BRVMgfCBNT0RfRUNCLAorCS5jZmdfZGVjID0gQ0lQSF9ERUNSIHwgTU9EX0FFUyB8IE1PRF9FQ0IsCit9LCB7CisJLmNyeXB0bwk9IHsKKwkJLmNyYV9uYW1lCT0gImN0cihhZXMpIiwKKwkJLmNyYV9ibG9ja3NpemUJPSBBRVNfQkxPQ0tfU0laRSwKKwkJLmNyYV91CQk9IHsgLmFibGtjaXBoZXIgPSB7CisJCQkubWluX2tleXNpemUJPSBBRVNfTUlOX0tFWV9TSVpFLAorCQkJLm1heF9rZXlzaXplCT0gQUVTX01BWF9LRVlfU0laRSwKKwkJCS5pdnNpemUJCT0gQUVTX0JMT0NLX1NJWkUsCisJCQkuZ2VuaXYJCT0gImVzZXFpdiIsCisJCQl9CisJCX0KKwl9LAorCS5jZmdfZW5jID0gQ0lQSF9FTkNSIHwgTU9EX0FFUyB8IE1PRF9DVFIsCisJLmNmZ19kZWMgPSBDSVBIX0VOQ1IgfCBNT0RfQUVTIHwgTU9EX0NUUiwKK30sIHsKKwkuY3J5cHRvCT0geworCQkuY3JhX25hbWUJPSAicmZjMzY4NihjdHIoYWVzKSkiLAorCQkuY3JhX2Jsb2Nrc2l6ZQk9IEFFU19CTE9DS19TSVpFLAorCQkuY3JhX3UJCT0geyAuYWJsa2NpcGhlciA9IHsKKwkJCS5taW5fa2V5c2l6ZQk9IEFFU19NSU5fS0VZX1NJWkUsCisJCQkubWF4X2tleXNpemUJPSBBRVNfTUFYX0tFWV9TSVpFLAorCQkJLml2c2l6ZQkJPSBBRVNfQkxPQ0tfU0laRSwKKwkJCS5nZW5pdgkJPSAiZXNlcWl2IiwKKwkJCS5zZXRrZXkJCT0gYWJsa19yZmMzNjg2X3NldGtleSwKKwkJCS5lbmNyeXB0CT0gYWJsa19yZmMzNjg2X2NyeXB0LAorCQkJLmRlY3J5cHQJPSBhYmxrX3JmYzM2ODZfY3J5cHQgfQorCQl9CisJfSwKKwkuY2ZnX2VuYyA9IENJUEhfRU5DUiB8IE1PRF9BRVMgfCBNT0RfQ1RSLAorCS5jZmdfZGVjID0gQ0lQSF9FTkNSIHwgTU9EX0FFUyB8IE1PRF9DVFIsCit9LCB7CisJLmNyeXB0bwk9IHsKKwkJLmNyYV9uYW1lCT0gImF1dGhlbmMoaG1hYyhtZDUpLGNiYyhkZXMpKSIsCisJCS5jcmFfYmxvY2tzaXplCT0gREVTX0JMT0NLX1NJWkUsCisJCS5jcmFfdQkJPSB7IC5hZWFkID0geworCQkJLml2c2l6ZQkJPSBERVNfQkxPQ0tfU0laRSwKKwkJCS5tYXhhdXRoc2l6ZQk9IE1ENV9ESUdFU1RfU0laRSwKKwkJCX0KKwkJfQorCX0sCisJLmhhc2ggPSAmaGFzaF9hbGdfbWQ1LAorCS5jZmdfZW5jID0gQ0lQSF9FTkNSIHwgTU9EX0RFUyB8IE1PRF9DQkNfRU5DIHwgS0VZTEVOXzE5MiwKKwkuY2ZnX2RlYyA9IENJUEhfREVDUiB8IE1PRF9ERVMgfCBNT0RfQ0JDX0RFQyB8IEtFWUxFTl8xOTIsCit9LCB7CisJLmNyeXB0bwk9IHsKKwkJLmNyYV9uYW1lCT0gImF1dGhlbmMoaG1hYyhtZDUpLGNiYyhkZXMzX2VkZSkpIiwKKwkJLmNyYV9ibG9ja3NpemUJPSBERVMzX0VERV9CTE9DS19TSVpFLAorCQkuY3JhX3UJCT0geyAuYWVhZCA9IHsKKwkJCS5pdnNpemUJCT0gREVTM19FREVfQkxPQ0tfU0laRSwKKwkJCS5tYXhhdXRoc2l6ZQk9IE1ENV9ESUdFU1RfU0laRSwKKwkJCX0KKwkJfQorCX0sCisJLmhhc2ggPSAmaGFzaF9hbGdfbWQ1LAorCS5jZmdfZW5jID0gQ0lQSF9FTkNSIHwgTU9EXzNERVMgfCBNT0RfQ0JDX0VOQyB8IEtFWUxFTl8xOTIsCisJLmNmZ19kZWMgPSBDSVBIX0RFQ1IgfCBNT0RfM0RFUyB8IE1PRF9DQkNfREVDIHwgS0VZTEVOXzE5MiwKK30sIHsKKwkuY3J5cHRvCT0geworCQkuY3JhX25hbWUJPSAiYXV0aGVuYyhobWFjKHNoYTEpLGNiYyhkZXMpKSIsCisJCS5jcmFfYmxvY2tzaXplCT0gREVTX0JMT0NLX1NJWkUsCisJCS5jcmFfdQkJPSB7IC5hZWFkID0geworCQkJLml2c2l6ZQkJPSBERVNfQkxPQ0tfU0laRSwKKwkJCS5tYXhhdXRoc2l6ZQk9IFNIQTFfRElHRVNUX1NJWkUsCisJCQl9CisJCX0KKwl9LAorCS5oYXNoID0gJmhhc2hfYWxnX3NoYTEsCisJLmNmZ19lbmMgPSBDSVBIX0VOQ1IgfCBNT0RfREVTIHwgTU9EX0NCQ19FTkMgfCBLRVlMRU5fMTkyLAorCS5jZmdfZGVjID0gQ0lQSF9ERUNSIHwgTU9EX0RFUyB8IE1PRF9DQkNfREVDIHwgS0VZTEVOXzE5MiwKK30sIHsKKwkuY3J5cHRvCT0geworCQkuY3JhX25hbWUJPSAiYXV0aGVuYyhobWFjKHNoYTEpLGNiYyhkZXMzX2VkZSkpIiwKKwkJLmNyYV9ibG9ja3NpemUJPSBERVMzX0VERV9CTE9DS19TSVpFLAorCQkuY3JhX3UJCT0geyAuYWVhZCA9IHsKKwkJCS5pdnNpemUJCT0gREVTM19FREVfQkxPQ0tfU0laRSwKKwkJCS5tYXhhdXRoc2l6ZQk9IFNIQTFfRElHRVNUX1NJWkUsCisJCQl9CisJCX0KKwl9LAorCS5oYXNoID0gJmhhc2hfYWxnX3NoYTEsCisJLmNmZ19lbmMgPSBDSVBIX0VOQ1IgfCBNT0RfM0RFUyB8IE1PRF9DQkNfRU5DIHwgS0VZTEVOXzE5MiwKKwkuY2ZnX2RlYyA9IENJUEhfREVDUiB8IE1PRF8zREVTIHwgTU9EX0NCQ19ERUMgfCBLRVlMRU5fMTkyLAorfSwgeworCS5jcnlwdG8JPSB7CisJCS5jcmFfbmFtZQk9ICJhdXRoZW5jKGhtYWMobWQ1KSxjYmMoYWVzKSkiLAorCQkuY3JhX2Jsb2Nrc2l6ZQk9IEFFU19CTE9DS19TSVpFLAorCQkuY3JhX3UJCT0geyAuYWVhZCA9IHsKKwkJCS5pdnNpemUJCT0gQUVTX0JMT0NLX1NJWkUsCisJCQkubWF4YXV0aHNpemUJPSBNRDVfRElHRVNUX1NJWkUsCisJCQl9CisJCX0KKwl9LAorCS5oYXNoID0gJmhhc2hfYWxnX21kNSwKKwkuY2ZnX2VuYyA9IENJUEhfRU5DUiB8IE1PRF9BRVMgfCBNT0RfQ0JDX0VOQywKKwkuY2ZnX2RlYyA9IENJUEhfREVDUiB8IE1PRF9BRVMgfCBNT0RfQ0JDX0RFQywKK30sIHsKKwkuY3J5cHRvCT0geworCQkuY3JhX25hbWUJPSAiYXV0aGVuYyhobWFjKHNoYTEpLGNiYyhhZXMpKSIsCisJCS5jcmFfYmxvY2tzaXplCT0gQUVTX0JMT0NLX1NJWkUsCisJCS5jcmFfdQkJPSB7IC5hZWFkID0geworCQkJLml2c2l6ZQkJPSBBRVNfQkxPQ0tfU0laRSwKKwkJCS5tYXhhdXRoc2l6ZQk9IFNIQTFfRElHRVNUX1NJWkUsCisJCQl9CisJCX0KKwl9LAorCS5oYXNoID0gJmhhc2hfYWxnX3NoYTEsCisJLmNmZ19lbmMgPSBDSVBIX0VOQ1IgfCBNT0RfQUVTIHwgTU9EX0NCQ19FTkMsCisJLmNmZ19kZWMgPSBDSVBIX0RFQ1IgfCBNT0RfQUVTIHwgTU9EX0NCQ19ERUMsCit9IH07CisKKyNkZWZpbmUgSVhQX1BPU1RGSVggIi1peHA0eHgiCitzdGF0aWMgaW50IF9faW5pdCBpeHBfbW9kdWxlX2luaXQodm9pZCkKK3sKKwlpbnQgbnVtID0gQVJSQVlfU0laRShpeHA0eHhfYWxnb3MpOworCWludCBpLGVyciA7CisKKwlpZiAocGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZwc2V1ZG9fZGV2KSkKKwkJcmV0dXJuIC1FTk9ERVY7CisKKwlzcGluX2xvY2tfaW5pdCgmZGVzY19sb2NrKTsKKwlzcGluX2xvY2tfaW5pdCgmZW1lcmdfbG9jayk7CisKKwllcnIgPSBpbml0X2l4cF9jcnlwdG8oKTsKKwlpZiAoZXJyKSB7CisJCXBsYXRmb3JtX2RldmljZV91bnJlZ2lzdGVyKCZwc2V1ZG9fZGV2KTsKKwkJcmV0dXJuIGVycjsKKwl9CisJZm9yIChpPTA7IGk8IG51bTsgaSsrKSB7CisJCXN0cnVjdCBjcnlwdG9fYWxnICpjcmEgPSAmaXhwNHh4X2FsZ29zW2ldLmNyeXB0bzsKKworCQlpZiAoc25wcmludGYoY3JhLT5jcmFfZHJpdmVyX25hbWUsIENSWVBUT19NQVhfQUxHX05BTUUsCisJCQkiJXMiSVhQX1BPU1RGSVgsIGNyYS0+Y3JhX25hbWUpID49CisJCQlDUllQVE9fTUFYX0FMR19OQU1FKQorCQl7CisJCQljb250aW51ZTsKKwkJfQorCQlpZiAoIXN1cHBvcnRfYWVzICYmIChpeHA0eHhfYWxnb3NbaV0uY2ZnX2VuYyAmIE1PRF9BRVMpKSB7CisJCQljb250aW51ZTsKKwkJfQorCQlpZiAoIWl4cDR4eF9hbGdvc1tpXS5oYXNoKSB7CisJCQkvKiBibG9jayBjaXBoZXJzICovCisJCQljcmEtPmNyYV90eXBlID0gJmNyeXB0b19hYmxrY2lwaGVyX3R5cGU7CisJCQljcmEtPmNyYV9mbGFncyA9IENSWVBUT19BTEdfVFlQRV9BQkxLQ0lQSEVSIHwKKwkJCQkJIENSWVBUT19BTEdfQVNZTkM7CisJCQlpZiAoIWNyYS0+Y3JhX2FibGtjaXBoZXIuc2V0a2V5KQorCQkJCWNyYS0+Y3JhX2FibGtjaXBoZXIuc2V0a2V5ID0gYWJsa19zZXRrZXk7CisJCQlpZiAoIWNyYS0+Y3JhX2FibGtjaXBoZXIuZW5jcnlwdCkKKwkJCQljcmEtPmNyYV9hYmxrY2lwaGVyLmVuY3J5cHQgPSBhYmxrX2VuY3J5cHQ7CisJCQlpZiAoIWNyYS0+Y3JhX2FibGtjaXBoZXIuZGVjcnlwdCkKKwkJCQljcmEtPmNyYV9hYmxrY2lwaGVyLmRlY3J5cHQgPSBhYmxrX2RlY3J5cHQ7CisJCQljcmEtPmNyYV9pbml0ID0gaW5pdF90Zm1fYWJsazsKKwkJfSBlbHNlIHsKKwkJCS8qIGF1dGhlbmMgKi8KKwkJCWNyYS0+Y3JhX3R5cGUgPSAmY3J5cHRvX2FlYWRfdHlwZTsKKwkJCWNyYS0+Y3JhX2ZsYWdzID0gQ1JZUFRPX0FMR19UWVBFX0FFQUQgfAorCQkJCQkgQ1JZUFRPX0FMR19BU1lOQzsKKwkJCWNyYS0+Y3JhX2FlYWQuc2V0a2V5ID0gYWVhZF9zZXRrZXk7CisJCQljcmEtPmNyYV9hZWFkLnNldGF1dGhzaXplID0gYWVhZF9zZXRhdXRoc2l6ZTsKKwkJCWNyYS0+Y3JhX2FlYWQuZW5jcnlwdCA9IGFlYWRfZW5jcnlwdDsKKwkJCWNyYS0+Y3JhX2FlYWQuZGVjcnlwdCA9IGFlYWRfZGVjcnlwdDsKKwkJCWNyYS0+Y3JhX2FlYWQuZ2l2ZW5jcnlwdCA9IGFlYWRfZ2l2ZW5jcnlwdDsKKwkJCWNyYS0+Y3JhX2luaXQgPSBpbml0X3RmbV9hZWFkOworCQl9CisJCWNyYS0+Y3JhX2N0eHNpemUgPSBzaXplb2Yoc3RydWN0IGl4cF9jdHgpOworCQljcmEtPmNyYV9tb2R1bGUgPSBUSElTX01PRFVMRTsKKwkJY3JhLT5jcmFfYWxpZ25tYXNrID0gMzsKKwkJY3JhLT5jcmFfcHJpb3JpdHkgPSAzMDA7CisJCWNyYS0+Y3JhX2V4aXQgPSBleGl0X3RmbTsKKwkJaWYgKGNyeXB0b19yZWdpc3Rlcl9hbGcoY3JhKSkKKwkJCXByaW50ayhLRVJOX0VSUiAiRmFpbGVkIHRvIHJlZ2lzdGVyICclcydcbiIsCisJCQkJY3JhLT5jcmFfbmFtZSk7CisJCWVsc2UKKwkJCWl4cDR4eF9hbGdvc1tpXS5yZWdpc3RlcmVkID0gMTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIF9fZXhpdCBpeHBfbW9kdWxlX2V4aXQodm9pZCkKK3sKKwlpbnQgbnVtID0gQVJSQVlfU0laRShpeHA0eHhfYWxnb3MpOworCWludCBpOworCisJZm9yIChpPTA7IGk8IG51bTsgaSsrKSB7CisJCWlmIChpeHA0eHhfYWxnb3NbaV0ucmVnaXN0ZXJlZCkKKwkJCWNyeXB0b191bnJlZ2lzdGVyX2FsZygmaXhwNHh4X2FsZ29zW2ldLmNyeXB0byk7CisJfQorCXJlbGVhc2VfaXhwX2NyeXB0bygpOworCXBsYXRmb3JtX2RldmljZV91bnJlZ2lzdGVyKCZwc2V1ZG9fZGV2KTsKK30KKworbW9kdWxlX2luaXQoaXhwX21vZHVsZV9pbml0KTsKK21vZHVsZV9leGl0KGl4cF9tb2R1bGVfZXhpdCk7CisKK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKK01PRFVMRV9BVVRIT1IoIkNocmlzdGlhbiBIb2huc3RhZWR0IDxjaG9obnN0YWVkdEBpbm5vbWluYXRlLmNvbT4iKTsKK01PRFVMRV9ERVNDUklQVElPTigiSVhQNHh4IGhhcmR3YXJlIGNyeXB0byIpOworCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NyeXB0by9wYWRsb2NrLWFlcy5jIGIvZHJpdmVycy9jcnlwdG8vcGFkbG9jay1hZXMuYwppbmRleCBiYjMwZWI5Li41NGEyYTE2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2NyeXB0by9wYWRsb2NrLWFlcy5jCisrKyBiL2RyaXZlcnMvY3J5cHRvL3BhZGxvY2stYWVzLmMKQEAgLTM4NSwxMiArMzg1LDEyIEBACiAJaW50IHJldDsKIAogCWlmICghY3B1X2hhc194Y3J5cHQpIHsKLQkJcHJpbnRrKEtFUk5fRVJSIFBGWCAiVklBIFBhZExvY2sgbm90IGRldGVjdGVkLlxuIik7CisJCXByaW50ayhLRVJOX05PVElDRSBQRlggIlZJQSBQYWRMb2NrIG5vdCBkZXRlY3RlZC5cbiIpOwogCQlyZXR1cm4gLUVOT0RFVjsKIAl9CiAKIAlpZiAoIWNwdV9oYXNfeGNyeXB0X2VuYWJsZWQpIHsKLQkJcHJpbnRrKEtFUk5fRVJSIFBGWCAiVklBIFBhZExvY2sgZGV0ZWN0ZWQsIGJ1dCBub3QgZW5hYmxlZC4gSG1tLCBzdHJhbmdlLi4uXG4iKTsKKwkJcHJpbnRrKEtFUk5fTk9USUNFIFBGWCAiVklBIFBhZExvY2sgZGV0ZWN0ZWQsIGJ1dCBub3QgZW5hYmxlZC4gSG1tLCBzdHJhbmdlLi4uXG4iKTsKIAkJcmV0dXJuIC1FTk9ERVY7CiAJfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NyeXB0by9wYWRsb2NrLXNoYS5jIGIvZHJpdmVycy9jcnlwdG8vcGFkbG9jay1zaGEuYwppbmRleCBjNjY2YjRlLi40MGQ1NjgwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NyeXB0by9wYWRsb2NrLXNoYS5jCisrKyBiL2RyaXZlcnMvY3J5cHRvL3BhZGxvY2stc2hhLmMKQEAgLTI1NCwxMiArMjU0LDEyIEBACiAJaW50IHJjID0gLUVOT0RFVjsKIAogCWlmICghY3B1X2hhc19waGUpIHsKLQkJcHJpbnRrKEtFUk5fRVJSIFBGWCAiVklBIFBhZExvY2sgSGFzaCBFbmdpbmUgbm90IGRldGVjdGVkLlxuIik7CisJCXByaW50ayhLRVJOX05PVElDRSBQRlggIlZJQSBQYWRMb2NrIEhhc2ggRW5naW5lIG5vdCBkZXRlY3RlZC5cbiIpOwogCQlyZXR1cm4gLUVOT0RFVjsKIAl9CiAKIAlpZiAoIWNwdV9oYXNfcGhlX2VuYWJsZWQpIHsKLQkJcHJpbnRrKEtFUk5fRVJSIFBGWCAiVklBIFBhZExvY2sgZGV0ZWN0ZWQsIGJ1dCBub3QgZW5hYmxlZC4gSG1tLCBzdHJhbmdlLi4uXG4iKTsKKwkJcHJpbnRrKEtFUk5fTk9USUNFIFBGWCAiVklBIFBhZExvY2sgZGV0ZWN0ZWQsIGJ1dCBub3QgZW5hYmxlZC4gSG1tLCBzdHJhbmdlLi4uXG4iKTsKIAkJcmV0dXJuIC1FTk9ERVY7CiAJfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NyeXB0by90YWxpdG9zLmMgYi9kcml2ZXJzL2NyeXB0by90YWxpdG9zLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjExOTQzZAotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvY3J5cHRvL3RhbGl0b3MuYwpAQCAtMCwwICsxLDE1OTcgQEAKKy8qCisgKiB0YWxpdG9zIC0gRnJlZXNjYWxlIEludGVncmF0ZWQgU2VjdXJpdHkgRW5naW5lIChTRUMpIGRldmljZSBkcml2ZXIKKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwMDggRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyAqCisgKiBTY2F0dGVybGlzdCBDcnlwdG8gQVBJIGdsdWUgY29kZSBjb3BpZWQgZnJvbSBmaWxlcyB3aXRoIHRoZSBmb2xsb3dpbmc6CisgKiBDb3B5cmlnaHQgKGMpIDIwMDYtMjAwNyBIZXJiZXJ0IFh1IDxoZXJiZXJ0QGdvbmRvci5hcGFuYS5vcmcuYXU+CisgKgorICogQ3J5cHRvIGFsZ29yaXRobSByZWdpc3RyYXRpb24gY29kZSBjb3BpZWQgZnJvbSBoaWZuIGRyaXZlcjoKKyAqIDIwMDcrIENvcHlyaWdodCAoYykgRXZnZW5peSBQb2x5YWtvdiA8am9obnBvbEAya2EubWlwdC5ydT4KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQorICovCisKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2RfZGV2aWNldGFibGUuaD4KKyNpbmNsdWRlIDxsaW51eC9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KKyNpbmNsdWRlIDxsaW51eC9jcnlwdG8uaD4KKyNpbmNsdWRlIDxsaW51eC9od19yYW5kb20uaD4KKyNpbmNsdWRlIDxsaW51eC9vZl9wbGF0Zm9ybS5oPgorI2luY2x1ZGUgPGxpbnV4L2RtYS1tYXBwaW5nLmg+CisjaW5jbHVkZSA8bGludXgvaW8uaD4KKyNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgorI2luY2x1ZGUgPGxpbnV4L3J0bmV0bGluay5oPgorCisjaW5jbHVkZSA8Y3J5cHRvL2FsZ2FwaS5oPgorI2luY2x1ZGUgPGNyeXB0by9hZXMuaD4KKyNpbmNsdWRlIDxjcnlwdG8vZGVzLmg+CisjaW5jbHVkZSA8Y3J5cHRvL3NoYS5oPgorI2luY2x1ZGUgPGNyeXB0by9hZWFkLmg+CisjaW5jbHVkZSA8Y3J5cHRvL2F1dGhlbmMuaD4KKworI2luY2x1ZGUgInRhbGl0b3MuaCIKKworI2RlZmluZSBUQUxJVE9TX1RJTUVPVVQgMTAwMDAwCisjZGVmaW5lIFRBTElUT1NfTUFYX0RBVEFfTEVOIDY1NTM1CisKKyNkZWZpbmUgREVTQ19UWVBFKGRlc2NfaGRyKSAoKGJlMzJfdG9fY3B1KGRlc2NfaGRyKSA+PiAzKSAmIDB4MWYpCisjZGVmaW5lIFBSSU1BUllfRVUoZGVzY19oZHIpICgoYmUzMl90b19jcHUoZGVzY19oZHIpID4+IDI4KSAmIDB4ZikKKyNkZWZpbmUgU0VDT05EQVJZX0VVKGRlc2NfaGRyKSAoKGJlMzJfdG9fY3B1KGRlc2NfaGRyKSA+PiAxNikgJiAweGYpCisKKy8qIGRlc2NyaXB0b3IgcG9pbnRlciBlbnRyeSAqLworc3RydWN0IHRhbGl0b3NfcHRyIHsKKwlfX2JlMTYgbGVuOwkvKiBsZW5ndGggKi8KKwl1OCBqX2V4dGVudDsJLyoganVtcCB0byBzZyBsaW5rIHRhYmxlIGFuZC9vciBleHRlbnQgKi8KKwl1OCBlcHRyOwkvKiBleHRlbmRlZCBhZGRyZXNzICovCisJX19iZTMyIHB0cjsJLyogYWRkcmVzcyAqLworfTsKKworLyogZGVzY3JpcHRvciAqLworc3RydWN0IHRhbGl0b3NfZGVzYyB7CisJX19iZTMyIGhkcjsJCQkvKiBoZWFkZXIgaGlnaCBiaXRzICovCisJX19iZTMyIGhkcl9sbzsJCQkvKiBoZWFkZXIgbG93IGJpdHMgKi8KKwlzdHJ1Y3QgdGFsaXRvc19wdHIgcHRyWzddOwkvKiBwdHIvbGVuIHBhaXIgYXJyYXkgKi8KK307CisKKy8qKgorICogdGFsaXRvc19yZXF1ZXN0IC0gZGVzY3JpcHRvciBzdWJtaXNzaW9uIHJlcXVlc3QKKyAqIEBkZXNjOiBkZXNjcmlwdG9yIHBvaW50ZXIgKGtlcm5lbCB2aXJ0dWFsKQorICogQGRtYV9kZXNjOiBkZXNjcmlwdG9yJ3MgcGh5c2ljYWwgYnVzIGFkZHJlc3MKKyAqIEBjYWxsYmFjazogd2hvbSB0byBjYWxsIHdoZW4gZGVzY3JpcHRvciBwcm9jZXNzaW5nIGlzIGRvbmUKKyAqIEBjb250ZXh0OiBjYWxsZXIgY29udGV4dCAob3B0aW9uYWwpCisgKi8KK3N0cnVjdCB0YWxpdG9zX3JlcXVlc3QgeworCXN0cnVjdCB0YWxpdG9zX2Rlc2MgKmRlc2M7CisJZG1hX2FkZHJfdCBkbWFfZGVzYzsKKwl2b2lkICgqY2FsbGJhY2spIChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCB0YWxpdG9zX2Rlc2MgKmRlc2MsCisJICAgICAgICAgICAgICAgICAgdm9pZCAqY29udGV4dCwgaW50IGVycm9yKTsKKwl2b2lkICpjb250ZXh0OworfTsKKworc3RydWN0IHRhbGl0b3NfcHJpdmF0ZSB7CisJc3RydWN0IGRldmljZSAqZGV2OworCXN0cnVjdCBvZl9kZXZpY2UgKm9mZGV2OworCXZvaWQgX19pb21lbSAqcmVnOworCWludCBpcnE7CisKKwkvKiBTRUMgdmVyc2lvbiBnZW9tZXRyeSAoZnJvbSBkZXZpY2UgdHJlZSBub2RlKSAqLworCXVuc2lnbmVkIGludCBudW1fY2hhbm5lbHM7CisJdW5zaWduZWQgaW50IGNoZmlmb19sZW47CisJdW5zaWduZWQgaW50IGV4ZWNfdW5pdHM7CisJdW5zaWduZWQgaW50IGRlc2NfdHlwZXM7CisKKwkvKiBuZXh0IGNoYW5uZWwgdG8gYmUgYXNzaWduZWQgbmV4dCBpbmNvbWluZyBkZXNjcmlwdG9yICovCisJYXRvbWljX3QgbGFzdF9jaGFuOworCisJLyogcGVyLWNoYW5uZWwgcmVxdWVzdCBmaWZvICovCisJc3RydWN0IHRhbGl0b3NfcmVxdWVzdCAqKmZpZm87CisKKwkvKgorCSAqIGxlbmd0aCBvZiB0aGUgcmVxdWVzdCBmaWZvCisJICogZmlmb19sZW4gaXMgY2hmaWZvX2xlbiByb3VuZGVkIHVwIHRvIG5leHQgcG93ZXIgb2YgMgorCSAqIHNvIHdlIGNhbiB1c2UgYml0d2lzZSBvcHMgdG8gd3JhcAorCSAqLworCXVuc2lnbmVkIGludCBmaWZvX2xlbjsKKworCS8qIHBlci1jaGFubmVsIGluZGV4IHRvIG5leHQgZnJlZSBkZXNjcmlwdG9yIHJlcXVlc3QgKi8KKwlpbnQgKmhlYWQ7CisKKwkvKiBwZXItY2hhbm5lbCBpbmRleCB0byBuZXh0IGluLXByb2dyZXNzL2RvbmUgZGVzY3JpcHRvciByZXF1ZXN0ICovCisJaW50ICp0YWlsOworCisJLyogcGVyLWNoYW5uZWwgcmVxdWVzdCBzdWJtaXNzaW9uIChoZWFkKSBhbmQgcmVsZWFzZSAodGFpbCkgbG9ja3MgKi8KKwlzcGlubG9ja190ICpoZWFkX2xvY2s7CisJc3BpbmxvY2tfdCAqdGFpbF9sb2NrOworCisJLyogcmVxdWVzdCBjYWxsYmFjayB0YXNrbGV0ICovCisJc3RydWN0IHRhc2tsZXRfc3RydWN0IGRvbmVfdGFzazsKKwlzdHJ1Y3QgdGFza2xldF9zdHJ1Y3QgZXJyb3JfdGFzazsKKworCS8qIGxpc3Qgb2YgcmVnaXN0ZXJlZCBhbGdvcml0aG1zICovCisJc3RydWN0IGxpc3RfaGVhZCBhbGdfbGlzdDsKKworCS8qIGh3cm5nIGRldmljZSAqLworCXN0cnVjdCBod3JuZyBybmc7Cit9OworCisvKgorICogbWFwIHZpcnR1YWwgc2luZ2xlIChjb250aWd1b3VzKSBwb2ludGVyIHRvIGgvdyBkZXNjcmlwdG9yIHBvaW50ZXIKKyAqLworc3RhdGljIHZvaWQgbWFwX3NpbmdsZV90YWxpdG9zX3B0cihzdHJ1Y3QgZGV2aWNlICpkZXYsCisJCQkJICAgc3RydWN0IHRhbGl0b3NfcHRyICp0YWxpdG9zX3B0ciwKKwkJCQkgICB1bnNpZ25lZCBzaG9ydCBsZW4sIHZvaWQgKmRhdGEsCisJCQkJICAgdW5zaWduZWQgY2hhciBleHRlbnQsCisJCQkJICAgZW51bSBkbWFfZGF0YV9kaXJlY3Rpb24gZGlyKQoreworCXRhbGl0b3NfcHRyLT5sZW4gPSBjcHVfdG9fYmUxNihsZW4pOworCXRhbGl0b3NfcHRyLT5wdHIgPSBjcHVfdG9fYmUzMihkbWFfbWFwX3NpbmdsZShkZXYsIGRhdGEsIGxlbiwgZGlyKSk7CisJdGFsaXRvc19wdHItPmpfZXh0ZW50ID0gZXh0ZW50OworfQorCisvKgorICogdW5tYXAgYnVzIHNpbmdsZSAoY29udGlndW91cykgaC93IGRlc2NyaXB0b3IgcG9pbnRlcgorICovCitzdGF0aWMgdm9pZCB1bm1hcF9zaW5nbGVfdGFsaXRvc19wdHIoc3RydWN0IGRldmljZSAqZGV2LAorCQkJCSAgICAgc3RydWN0IHRhbGl0b3NfcHRyICp0YWxpdG9zX3B0ciwKKwkJCQkgICAgIGVudW0gZG1hX2RhdGFfZGlyZWN0aW9uIGRpcikKK3sKKwlkbWFfdW5tYXBfc2luZ2xlKGRldiwgYmUzMl90b19jcHUodGFsaXRvc19wdHItPnB0ciksCisJCQkgYmUxNl90b19jcHUodGFsaXRvc19wdHItPmxlbiksIGRpcik7Cit9CisKK3N0YXRpYyBpbnQgcmVzZXRfY2hhbm5lbChzdHJ1Y3QgZGV2aWNlICpkZXYsIGludCBjaCkKK3sKKwlzdHJ1Y3QgdGFsaXRvc19wcml2YXRlICpwcml2ID0gZGV2X2dldF9kcnZkYXRhKGRldik7CisJdW5zaWduZWQgaW50IHRpbWVvdXQgPSBUQUxJVE9TX1RJTUVPVVQ7CisKKwlzZXRiaXRzMzIocHJpdi0+cmVnICsgVEFMSVRPU19DQ0NSKGNoKSwgVEFMSVRPU19DQ0NSX1JFU0VUKTsKKworCXdoaWxlICgoaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX0NDQ1IoY2gpKSAmIFRBTElUT1NfQ0NDUl9SRVNFVCkKKwkgICAgICAgJiYgLS10aW1lb3V0KQorCQljcHVfcmVsYXgoKTsKKworCWlmICh0aW1lb3V0ID09IDApIHsKKwkJZGV2X2VycihkZXYsICJmYWlsZWQgdG8gcmVzZXQgY2hhbm5lbCAlZFxuIiwgY2gpOworCQlyZXR1cm4gLUVJTzsKKwl9CisKKwkvKiBzZXQgZG9uZSB3cml0ZWJhY2sgYW5kIElSUSAqLworCXNldGJpdHMzMihwcml2LT5yZWcgKyBUQUxJVE9TX0NDQ1JfTE8oY2gpLCBUQUxJVE9TX0NDQ1JfTE9fQ0RXRSB8CisJCSAgVEFMSVRPU19DQ0NSX0xPX0NESUUpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgcmVzZXRfZGV2aWNlKHN0cnVjdCBkZXZpY2UgKmRldikKK3sKKwlzdHJ1Y3QgdGFsaXRvc19wcml2YXRlICpwcml2ID0gZGV2X2dldF9kcnZkYXRhKGRldik7CisJdW5zaWduZWQgaW50IHRpbWVvdXQgPSBUQUxJVE9TX1RJTUVPVVQ7CisKKwlzZXRiaXRzMzIocHJpdi0+cmVnICsgVEFMSVRPU19NQ1IsIFRBTElUT1NfTUNSX1NXUik7CisKKwl3aGlsZSAoKGluX2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19NQ1IpICYgVEFMSVRPU19NQ1JfU1dSKQorCSAgICAgICAmJiAtLXRpbWVvdXQpCisJCWNwdV9yZWxheCgpOworCisJaWYgKHRpbWVvdXQgPT0gMCkgeworCQlkZXZfZXJyKGRldiwgImZhaWxlZCB0byByZXNldCBkZXZpY2VcbiIpOworCQlyZXR1cm4gLUVJTzsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIFJlc2V0IGFuZCBpbml0aWFsaXplIHRoZSBkZXZpY2UKKyAqLworc3RhdGljIGludCBpbml0X2RldmljZShzdHJ1Y3QgZGV2aWNlICpkZXYpCit7CisJc3RydWN0IHRhbGl0b3NfcHJpdmF0ZSAqcHJpdiA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOworCWludCBjaCwgZXJyOworCisJLyoKKwkgKiBNYXN0ZXIgcmVzZXQKKwkgKiBlcnJhdGEgZG9jdW1lbnRhdGlvbjogd2FybmluZzogY2VydGFpbiBTRUMgaW50ZXJydXB0cworCSAqIGFyZSBub3QgZnVsbHkgY2xlYXJlZCBieSB3cml0aW5nIHRoZSBNQ1I6U1dSIGJpdCwKKwkgKiBzZXQgYml0IHR3aWNlIHRvIGNvbXBsZXRlbHkgcmVzZXQKKwkgKi8KKwllcnIgPSByZXNldF9kZXZpY2UoZGV2KTsKKwlpZiAoZXJyKQorCQlyZXR1cm4gZXJyOworCisJZXJyID0gcmVzZXRfZGV2aWNlKGRldik7CisJaWYgKGVycikKKwkJcmV0dXJuIGVycjsKKworCS8qIHJlc2V0IGNoYW5uZWxzICovCisJZm9yIChjaCA9IDA7IGNoIDwgcHJpdi0+bnVtX2NoYW5uZWxzOyBjaCsrKSB7CisJCWVyciA9IHJlc2V0X2NoYW5uZWwoZGV2LCBjaCk7CisJCWlmIChlcnIpCisJCQlyZXR1cm4gZXJyOworCX0KKworCS8qIGVuYWJsZSBjaGFubmVsIGRvbmUgYW5kIGVycm9yIGludGVycnVwdHMgKi8KKwlzZXRiaXRzMzIocHJpdi0+cmVnICsgVEFMSVRPU19JTVIsIFRBTElUT1NfSU1SX0lOSVQpOworCXNldGJpdHMzMihwcml2LT5yZWcgKyBUQUxJVE9TX0lNUl9MTywgVEFMSVRPU19JTVJfTE9fSU5JVCk7CisKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiB0YWxpdG9zX3N1Ym1pdCAtIHN1Ym1pdHMgYSBkZXNjcmlwdG9yIHRvIHRoZSBkZXZpY2UgZm9yIHByb2Nlc3NpbmcKKyAqIEBkZXY6CXRoZSBTRUMgZGV2aWNlIHRvIGJlIHVzZWQKKyAqIEBkZXNjOgl0aGUgZGVzY3JpcHRvciB0byBiZSBwcm9jZXNzZWQgYnkgdGhlIGRldmljZQorICogQGNhbGxiYWNrOgl3aG9tIHRvIGNhbGwgd2hlbiBwcm9jZXNzaW5nIGlzIGNvbXBsZXRlCisgKiBAY29udGV4dDoJYSBoYW5kbGUgZm9yIHVzZSBieSBjYWxsZXIgKG9wdGlvbmFsKQorICoKKyAqIGRlc2MgbXVzdCBjb250YWluIHZhbGlkIGRtYS1tYXBwZWQgKGJ1cyBwaHlzaWNhbCkgYWRkcmVzcyBwb2ludGVycy4KKyAqIGNhbGxiYWNrIG11c3QgY2hlY2sgZXJyIGFuZCBmZWVkYmFjayBpbiBkZXNjcmlwdG9yIGhlYWRlcgorICogZm9yIGRldmljZSBwcm9jZXNzaW5nIHN0YXR1cy4KKyAqLworc3RhdGljIGludCB0YWxpdG9zX3N1Ym1pdChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCB0YWxpdG9zX2Rlc2MgKmRlc2MsCisJCQkgIHZvaWQgKCpjYWxsYmFjaykoc3RydWN0IGRldmljZSAqZGV2LAorCQkJCQkgICBzdHJ1Y3QgdGFsaXRvc19kZXNjICpkZXNjLAorCQkJCQkgICB2b2lkICpjb250ZXh0LCBpbnQgZXJyb3IpLAorCQkJICB2b2lkICpjb250ZXh0KQoreworCXN0cnVjdCB0YWxpdG9zX3ByaXZhdGUgKnByaXYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKKwlzdHJ1Y3QgdGFsaXRvc19yZXF1ZXN0ICpyZXF1ZXN0OworCXVuc2lnbmVkIGxvbmcgZmxhZ3MsIGNoOworCWludCBoZWFkOworCisJLyogc2VsZWN0IGRvbmUgbm90aWZpY2F0aW9uICovCisJZGVzYy0+aGRyIHw9IERFU0NfSERSX0RPTkVfTk9USUZZOworCisJLyogZW11bGF0ZSBTRUMncyByb3VuZC1yb2JpbiBjaGFubmVsIGZpZm8gcG9sbGluZyBzY2hlbWUgKi8KKwljaCA9IGF0b21pY19pbmNfcmV0dXJuKCZwcml2LT5sYXN0X2NoYW4pICYgKHByaXYtPm51bV9jaGFubmVscyAtIDEpOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJnByaXYtPmhlYWRfbG9ja1tjaF0sIGZsYWdzKTsKKworCWhlYWQgPSBwcml2LT5oZWFkW2NoXTsKKwlyZXF1ZXN0ID0gJnByaXYtPmZpZm9bY2hdW2hlYWRdOworCisJaWYgKHJlcXVlc3QtPmRlc2MpIHsKKwkJLyogcmVxdWVzdCBxdWV1ZSBpcyBmdWxsICovCisJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnByaXYtPmhlYWRfbG9ja1tjaF0sIGZsYWdzKTsKKwkJcmV0dXJuIC1FQUdBSU47CisJfQorCisJLyogbWFwIGRlc2NyaXB0b3IgYW5kIHNhdmUgY2FsbGVyIGRhdGEgKi8KKwlyZXF1ZXN0LT5kbWFfZGVzYyA9IGRtYV9tYXBfc2luZ2xlKGRldiwgZGVzYywgc2l6ZW9mKCpkZXNjKSwKKwkJCQkJICAgRE1BX0JJRElSRUNUSU9OQUwpOworCXJlcXVlc3QtPmNhbGxiYWNrID0gY2FsbGJhY2s7CisJcmVxdWVzdC0+Y29udGV4dCA9IGNvbnRleHQ7CisKKwkvKiBpbmNyZW1lbnQgZmlmbyBoZWFkICovCisJcHJpdi0+aGVhZFtjaF0gPSAocHJpdi0+aGVhZFtjaF0gKyAxKSAmIChwcml2LT5maWZvX2xlbiAtIDEpOworCisJc21wX3dtYigpOworCXJlcXVlc3QtPmRlc2MgPSBkZXNjOworCisJLyogR08hICovCisJd21iKCk7CisJb3V0X2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19GRl9MTyhjaCksIHJlcXVlc3QtPmRtYV9kZXNjKTsKKworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnByaXYtPmhlYWRfbG9ja1tjaF0sIGZsYWdzKTsKKworCXJldHVybiAtRUlOUFJPR1JFU1M7Cit9CisKKy8qCisgKiBwcm9jZXNzIHdoYXQgd2FzIGRvbmUsIG5vdGlmeSBjYWxsYmFjayBvZiBlcnJvciBpZiBub3QKKyAqLworc3RhdGljIHZvaWQgZmx1c2hfY2hhbm5lbChzdHJ1Y3QgZGV2aWNlICpkZXYsIGludCBjaCwgaW50IGVycm9yLCBpbnQgcmVzZXRfY2gpCit7CisJc3RydWN0IHRhbGl0b3NfcHJpdmF0ZSAqcHJpdiA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOworCXN0cnVjdCB0YWxpdG9zX3JlcXVlc3QgKnJlcXVlc3QsIHNhdmVkX3JlcTsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCWludCB0YWlsLCBzdGF0dXM7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmcHJpdi0+dGFpbF9sb2NrW2NoXSwgZmxhZ3MpOworCisJdGFpbCA9IHByaXYtPnRhaWxbY2hdOworCXdoaWxlIChwcml2LT5maWZvW2NoXVt0YWlsXS5kZXNjKSB7CisJCXJlcXVlc3QgPSAmcHJpdi0+Zmlmb1tjaF1bdGFpbF07CisKKwkJLyogZGVzY3JpcHRvcnMgd2l0aCB0aGVpciBkb25lIGJpdHMgc2V0IGRvbid0IGdldCB0aGUgZXJyb3IgKi8KKwkJcm1iKCk7CisJCWlmICgocmVxdWVzdC0+ZGVzYy0+aGRyICYgREVTQ19IRFJfRE9ORSkgPT0gREVTQ19IRFJfRE9ORSkKKwkJCXN0YXR1cyA9IDA7CisJCWVsc2UKKwkJCWlmICghZXJyb3IpCisJCQkJYnJlYWs7CisJCQllbHNlCisJCQkJc3RhdHVzID0gZXJyb3I7CisKKwkJZG1hX3VubWFwX3NpbmdsZShkZXYsIHJlcXVlc3QtPmRtYV9kZXNjLAorCQkJc2l6ZW9mKHN0cnVjdCB0YWxpdG9zX2Rlc2MpLCBETUFfQklESVJFQ1RJT05BTCk7CisKKwkJLyogY29weSBlbnRyaWVzIHNvIHdlIGNhbiBjYWxsIGNhbGxiYWNrIG91dHNpZGUgbG9jayAqLworCQlzYXZlZF9yZXEuZGVzYyA9IHJlcXVlc3QtPmRlc2M7CisJCXNhdmVkX3JlcS5jYWxsYmFjayA9IHJlcXVlc3QtPmNhbGxiYWNrOworCQlzYXZlZF9yZXEuY29udGV4dCA9IHJlcXVlc3QtPmNvbnRleHQ7CisKKwkJLyogcmVsZWFzZSByZXF1ZXN0IGVudHJ5IGluIGZpZm8gKi8KKwkJc21wX3dtYigpOworCQlyZXF1ZXN0LT5kZXNjID0gTlVMTDsKKworCQkvKiBpbmNyZW1lbnQgZmlmbyB0YWlsICovCisJCXByaXYtPnRhaWxbY2hdID0gKHRhaWwgKyAxKSAmIChwcml2LT5maWZvX2xlbiAtIDEpOworCisJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnByaXYtPnRhaWxfbG9ja1tjaF0sIGZsYWdzKTsKKwkJc2F2ZWRfcmVxLmNhbGxiYWNrKGRldiwgc2F2ZWRfcmVxLmRlc2MsIHNhdmVkX3JlcS5jb250ZXh0LAorCQkJCSAgIHN0YXR1cyk7CisJCS8qIGNoYW5uZWwgbWF5IHJlc3VtZSBwcm9jZXNzaW5nIGluIHNpbmdsZSBkZXNjIGVycm9yIGNhc2UgKi8KKwkJaWYgKGVycm9yICYmICFyZXNldF9jaCAmJiBzdGF0dXMgPT0gZXJyb3IpCisJCQlyZXR1cm47CisJCXNwaW5fbG9ja19pcnFzYXZlKCZwcml2LT50YWlsX2xvY2tbY2hdLCBmbGFncyk7CisJCXRhaWwgPSBwcml2LT50YWlsW2NoXTsKKwl9CisKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZwcml2LT50YWlsX2xvY2tbY2hdLCBmbGFncyk7Cit9CisKKy8qCisgKiBwcm9jZXNzIGNvbXBsZXRlZCByZXF1ZXN0cyBmb3IgY2hhbm5lbHMgdGhhdCBoYXZlIGRvbmUgc3RhdHVzCisgKi8KK3N0YXRpYyB2b2lkIHRhbGl0b3NfZG9uZSh1bnNpZ25lZCBsb25nIGRhdGEpCit7CisJc3RydWN0IGRldmljZSAqZGV2ID0gKHN0cnVjdCBkZXZpY2UgKilkYXRhOworCXN0cnVjdCB0YWxpdG9zX3ByaXZhdGUgKnByaXYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKKwlpbnQgY2g7CisKKwlmb3IgKGNoID0gMDsgY2ggPCBwcml2LT5udW1fY2hhbm5lbHM7IGNoKyspCisJCWZsdXNoX2NoYW5uZWwoZGV2LCBjaCwgMCwgMCk7Cit9CisKKy8qCisgKiBsb2NhdGUgY3VycmVudCAob2ZmZW5kaW5nKSBkZXNjcmlwdG9yCisgKi8KK3N0YXRpYyBzdHJ1Y3QgdGFsaXRvc19kZXNjICpjdXJyZW50X2Rlc2Moc3RydWN0IGRldmljZSAqZGV2LCBpbnQgY2gpCit7CisJc3RydWN0IHRhbGl0b3NfcHJpdmF0ZSAqcHJpdiA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOworCWludCB0YWlsID0gcHJpdi0+dGFpbFtjaF07CisJZG1hX2FkZHJfdCBjdXJfZGVzYzsKKworCWN1cl9kZXNjID0gaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX0NEUFJfTE8oY2gpKTsKKworCXdoaWxlIChwcml2LT5maWZvW2NoXVt0YWlsXS5kbWFfZGVzYyAhPSBjdXJfZGVzYykgeworCQl0YWlsID0gKHRhaWwgKyAxKSAmIChwcml2LT5maWZvX2xlbiAtIDEpOworCQlpZiAodGFpbCA9PSBwcml2LT50YWlsW2NoXSkgeworCQkJZGV2X2VycihkZXYsICJjb3VsZG4ndCBsb2NhdGUgY3VycmVudCBkZXNjcmlwdG9yXG4iKTsKKwkJCXJldHVybiBOVUxMOworCQl9CisJfQorCisJcmV0dXJuIHByaXYtPmZpZm9bY2hdW3RhaWxdLmRlc2M7Cit9CisKKy8qCisgKiB1c2VyIGRpYWdub3N0aWNzOyByZXBvcnQgcm9vdCBjYXVzZSBvZiBlcnJvciBiYXNlZCBvbiBleGVjdXRpb24gdW5pdCBzdGF0dXMKKyAqLworc3RhdGljIHZvaWQgcmVwb3J0X2V1X2Vycm9yKHN0cnVjdCBkZXZpY2UgKmRldiwgaW50IGNoLCBzdHJ1Y3QgdGFsaXRvc19kZXNjICpkZXNjKQoreworCXN0cnVjdCB0YWxpdG9zX3ByaXZhdGUgKnByaXYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKKwlpbnQgaTsKKworCXN3aXRjaCAoZGVzYy0+aGRyICYgREVTQ19IRFJfU0VMMF9NQVNLKSB7CisJY2FzZSBERVNDX0hEUl9TRUwwX0FGRVU6CisJCWRldl9lcnIoZGV2LCAiQUZFVUlTUiAweCUwOHhfJTA4eFxuIiwKKwkJCWluX2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19BRkVVSVNSKSwKKwkJCWluX2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19BRkVVSVNSX0xPKSk7CisJCWJyZWFrOworCWNhc2UgREVTQ19IRFJfU0VMMF9ERVU6CisJCWRldl9lcnIoZGV2LCAiREVVSVNSIDB4JTA4eF8lMDh4XG4iLAorCQkJaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX0RFVUlTUiksCisJCQlpbl9iZTMyKHByaXYtPnJlZyArIFRBTElUT1NfREVVSVNSX0xPKSk7CisJCWJyZWFrOworCWNhc2UgREVTQ19IRFJfU0VMMF9NREVVQToKKwljYXNlIERFU0NfSERSX1NFTDBfTURFVUI6CisJCWRldl9lcnIoZGV2LCAiTURFVUlTUiAweCUwOHhfJTA4eFxuIiwKKwkJCWluX2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19NREVVSVNSKSwKKwkJCWluX2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19NREVVSVNSX0xPKSk7CisJCWJyZWFrOworCWNhc2UgREVTQ19IRFJfU0VMMF9STkc6CisJCWRldl9lcnIoZGV2LCAiUk5HVUlTUiAweCUwOHhfJTA4eFxuIiwKKwkJCWluX2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19STkdVSVNSKSwKKwkJCWluX2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19STkdVSVNSX0xPKSk7CisJCWJyZWFrOworCWNhc2UgREVTQ19IRFJfU0VMMF9QS0VVOgorCQlkZXZfZXJyKGRldiwgIlBLRVVJU1IgMHglMDh4XyUwOHhcbiIsCisJCQlpbl9iZTMyKHByaXYtPnJlZyArIFRBTElUT1NfUEtFVUlTUiksCisJCQlpbl9iZTMyKHByaXYtPnJlZyArIFRBTElUT1NfUEtFVUlTUl9MTykpOworCQlicmVhazsKKwljYXNlIERFU0NfSERSX1NFTDBfQUVTVToKKwkJZGV2X2VycihkZXYsICJBRVNVSVNSIDB4JTA4eF8lMDh4XG4iLAorCQkJaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX0FFU1VJU1IpLAorCQkJaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX0FFU1VJU1JfTE8pKTsKKwkJYnJlYWs7CisJY2FzZSBERVNDX0hEUl9TRUwwX0NSQ1U6CisJCWRldl9lcnIoZGV2LCAiQ1JDVUlTUiAweCUwOHhfJTA4eFxuIiwKKwkJCWluX2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19DUkNVSVNSKSwKKwkJCWluX2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19DUkNVSVNSX0xPKSk7CisJCWJyZWFrOworCWNhc2UgREVTQ19IRFJfU0VMMF9LRVU6CisJCWRldl9lcnIoZGV2LCAiS0VVSVNSIDB4JTA4eF8lMDh4XG4iLAorCQkJaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX0tFVUlTUiksCisJCQlpbl9iZTMyKHByaXYtPnJlZyArIFRBTElUT1NfS0VVSVNSX0xPKSk7CisJCWJyZWFrOworCX0KKworCXN3aXRjaCAoZGVzYy0+aGRyICYgREVTQ19IRFJfU0VMMV9NQVNLKSB7CisJY2FzZSBERVNDX0hEUl9TRUwxX01ERVVBOgorCWNhc2UgREVTQ19IRFJfU0VMMV9NREVVQjoKKwkJZGV2X2VycihkZXYsICJNREVVSVNSIDB4JTA4eF8lMDh4XG4iLAorCQkJaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX01ERVVJU1IpLAorCQkJaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX01ERVVJU1JfTE8pKTsKKwkJYnJlYWs7CisJY2FzZSBERVNDX0hEUl9TRUwxX0NSQ1U6CisJCWRldl9lcnIoZGV2LCAiQ1JDVUlTUiAweCUwOHhfJTA4eFxuIiwKKwkJCWluX2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19DUkNVSVNSKSwKKwkJCWluX2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19DUkNVSVNSX0xPKSk7CisJCWJyZWFrOworCX0KKworCWZvciAoaSA9IDA7IGkgPCA4OyBpKyspCisJCWRldl9lcnIoZGV2LCAiREVTQ0JVRiAweCUwOHhfJTA4eFxuIiwKKwkJCWluX2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19ERVNDQlVGKGNoKSArIDgqaSksCisJCQlpbl9iZTMyKHByaXYtPnJlZyArIFRBTElUT1NfREVTQ0JVRl9MTyhjaCkgKyA4KmkpKTsKK30KKworLyoKKyAqIHJlY292ZXIgZnJvbSBlcnJvciBpbnRlcnJ1cHRzCisgKi8KK3N0YXRpYyB2b2lkIHRhbGl0b3NfZXJyb3IodW5zaWduZWQgbG9uZyBkYXRhKQoreworCXN0cnVjdCBkZXZpY2UgKmRldiA9IChzdHJ1Y3QgZGV2aWNlICopZGF0YTsKKwlzdHJ1Y3QgdGFsaXRvc19wcml2YXRlICpwcml2ID0gZGV2X2dldF9kcnZkYXRhKGRldik7CisJdW5zaWduZWQgaW50IHRpbWVvdXQgPSBUQUxJVE9TX1RJTUVPVVQ7CisJaW50IGNoLCBlcnJvciwgcmVzZXRfZGV2ID0gMCwgcmVzZXRfY2ggPSAwOworCXUzMiBpc3IsIGlzcl9sbywgdiwgdl9sbzsKKworCWlzciA9IGluX2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19JU1IpOworCWlzcl9sbyA9IGluX2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19JU1JfTE8pOworCisJZm9yIChjaCA9IDA7IGNoIDwgcHJpdi0+bnVtX2NoYW5uZWxzOyBjaCsrKSB7CisJCS8qIHNraXAgY2hhbm5lbHMgd2l0aG91dCBlcnJvcnMgKi8KKwkJaWYgKCEoaXNyICYgKDEgPDwgKGNoICogMiArIDEpKSkpCisJCQljb250aW51ZTsKKworCQllcnJvciA9IC1FSU5WQUw7CisKKwkJdiA9IGluX2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19DQ1BTUihjaCkpOworCQl2X2xvID0gaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX0NDUFNSX0xPKGNoKSk7CisKKwkJaWYgKHZfbG8gJiBUQUxJVE9TX0NDUFNSX0xPX0RPRikgeworCQkJZGV2X2VycihkZXYsICJkb3VibGUgZmV0Y2ggZmlmbyBvdmVyZmxvdyBlcnJvclxuIik7CisJCQllcnJvciA9IC1FQUdBSU47CisJCQlyZXNldF9jaCA9IDE7CisJCX0KKwkJaWYgKHZfbG8gJiBUQUxJVE9TX0NDUFNSX0xPX1NPRikgeworCQkJLyogaC93IGRyb3BwZWQgZGVzY3JpcHRvciAqLworCQkJZGV2X2VycihkZXYsICJzaW5nbGUgZmV0Y2ggZmlmbyBvdmVyZmxvdyBlcnJvclxuIik7CisJCQllcnJvciA9IC1FQUdBSU47CisJCX0KKwkJaWYgKHZfbG8gJiBUQUxJVE9TX0NDUFNSX0xPX01EVEUpCisJCQlkZXZfZXJyKGRldiwgIm1hc3RlciBkYXRhIHRyYW5zZmVyIGVycm9yXG4iKTsKKwkJaWYgKHZfbG8gJiBUQUxJVE9TX0NDUFNSX0xPX1NHRExaKQorCQkJZGV2X2VycihkZXYsICJzL2cgZGF0YSBsZW5ndGggemVybyBlcnJvclxuIik7CisJCWlmICh2X2xvICYgVEFMSVRPU19DQ1BTUl9MT19GUFopCisJCQlkZXZfZXJyKGRldiwgImZldGNoIHBvaW50ZXIgemVybyBlcnJvclxuIik7CisJCWlmICh2X2xvICYgVEFMSVRPU19DQ1BTUl9MT19JREgpCisJCQlkZXZfZXJyKGRldiwgImlsbGVnYWwgZGVzY3JpcHRvciBoZWFkZXIgZXJyb3JcbiIpOworCQlpZiAodl9sbyAmIFRBTElUT1NfQ0NQU1JfTE9fSUVVKQorCQkJZGV2X2VycihkZXYsICJpbnZhbGlkIGV4ZWN1dGlvbiB1bml0IGVycm9yXG4iKTsKKwkJaWYgKHZfbG8gJiBUQUxJVE9TX0NDUFNSX0xPX0VVKQorCQkJcmVwb3J0X2V1X2Vycm9yKGRldiwgY2gsIGN1cnJlbnRfZGVzYyhkZXYsIGNoKSk7CisJCWlmICh2X2xvICYgVEFMSVRPU19DQ1BTUl9MT19HQikKKwkJCWRldl9lcnIoZGV2LCAiZ2F0aGVyIGJvdW5kYXJ5IGVycm9yXG4iKTsKKwkJaWYgKHZfbG8gJiBUQUxJVE9TX0NDUFNSX0xPX0dSTCkKKwkJCWRldl9lcnIoZGV2LCAiZ2F0aGVyIHJldHVybi9sZW5ndGggZXJyb3JcbiIpOworCQlpZiAodl9sbyAmIFRBTElUT1NfQ0NQU1JfTE9fU0IpCisJCQlkZXZfZXJyKGRldiwgInNjYXR0ZXIgYm91bmRhcnkgZXJyb3JcbiIpOworCQlpZiAodl9sbyAmIFRBTElUT1NfQ0NQU1JfTE9fU1JMKQorCQkJZGV2X2VycihkZXYsICJzY2F0dGVyIHJldHVybi9sZW5ndGggZXJyb3JcbiIpOworCisJCWZsdXNoX2NoYW5uZWwoZGV2LCBjaCwgZXJyb3IsIHJlc2V0X2NoKTsKKworCQlpZiAocmVzZXRfY2gpIHsKKwkJCXJlc2V0X2NoYW5uZWwoZGV2LCBjaCk7CisJCX0gZWxzZSB7CisJCQlzZXRiaXRzMzIocHJpdi0+cmVnICsgVEFMSVRPU19DQ0NSKGNoKSwKKwkJCQkgIFRBTElUT1NfQ0NDUl9DT05UKTsKKwkJCXNldGJpdHMzMihwcml2LT5yZWcgKyBUQUxJVE9TX0NDQ1JfTE8oY2gpLCAwKTsKKwkJCXdoaWxlICgoaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX0NDQ1IoY2gpKSAmCisJCQkgICAgICAgVEFMSVRPU19DQ0NSX0NPTlQpICYmIC0tdGltZW91dCkKKwkJCQljcHVfcmVsYXgoKTsKKwkJCWlmICh0aW1lb3V0ID09IDApIHsKKwkJCQlkZXZfZXJyKGRldiwgImZhaWxlZCB0byByZXN0YXJ0IGNoYW5uZWwgJWRcbiIsCisJCQkJCWNoKTsKKwkJCQlyZXNldF9kZXYgPSAxOworCQkJfQorCQl9CisJfQorCWlmIChyZXNldF9kZXYgfHwgaXNyICYgflRBTElUT1NfSVNSX0NIRVJSIHx8IGlzcl9sbykgeworCQlkZXZfZXJyKGRldiwgImRvbmUgb3ZlcmZsb3csIGludGVybmFsIHRpbWUgb3V0LCBvciBybmd1IGVycm9yOiAiCisJCSAgICAgICAgIklTUiAweCUwOHhfJTA4eFxuIiwgaXNyLCBpc3JfbG8pOworCisJCS8qIHB1cmdlIHJlcXVlc3QgcXVldWVzICovCisJCWZvciAoY2ggPSAwOyBjaCA8IHByaXYtPm51bV9jaGFubmVsczsgY2grKykKKwkJCWZsdXNoX2NoYW5uZWwoZGV2LCBjaCwgLUVJTywgMSk7CisKKwkJLyogcmVzZXQgYW5kIHJlaW5pdGlhbGl6ZSB0aGUgZGV2aWNlICovCisJCWluaXRfZGV2aWNlKGRldik7CisJfQorfQorCitzdGF0aWMgaXJxcmV0dXJuX3QgdGFsaXRvc19pbnRlcnJ1cHQoaW50IGlycSwgdm9pZCAqZGF0YSkKK3sKKwlzdHJ1Y3QgZGV2aWNlICpkZXYgPSBkYXRhOworCXN0cnVjdCB0YWxpdG9zX3ByaXZhdGUgKnByaXYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKKwl1MzIgaXNyLCBpc3JfbG87CisKKwlpc3IgPSBpbl9iZTMyKHByaXYtPnJlZyArIFRBTElUT1NfSVNSKTsKKwlpc3JfbG8gPSBpbl9iZTMyKHByaXYtPnJlZyArIFRBTElUT1NfSVNSX0xPKTsKKworCS8qIGFjayAqLworCW91dF9iZTMyKHByaXYtPnJlZyArIFRBTElUT1NfSUNSLCBpc3IpOworCW91dF9iZTMyKHByaXYtPnJlZyArIFRBTElUT1NfSUNSX0xPLCBpc3JfbG8pOworCisJaWYgKHVubGlrZWx5KChpc3IgJiB+VEFMSVRPU19JU1JfQ0hET05FKSB8fCBpc3JfbG8pKQorCQl0YWxpdG9zX2Vycm9yKCh1bnNpZ25lZCBsb25nKWRhdGEpOworCWVsc2UKKwkJaWYgKGxpa2VseShpc3IgJiBUQUxJVE9TX0lTUl9DSERPTkUpKQorCQkJdGFza2xldF9zY2hlZHVsZSgmcHJpdi0+ZG9uZV90YXNrKTsKKworCXJldHVybiAoaXNyIHx8IGlzcl9sbykgPyBJUlFfSEFORExFRCA6IElSUV9OT05FOworfQorCisvKgorICogaHdybmcKKyAqLworc3RhdGljIGludCB0YWxpdG9zX3JuZ19kYXRhX3ByZXNlbnQoc3RydWN0IGh3cm5nICpybmcsIGludCB3YWl0KQoreworCXN0cnVjdCBkZXZpY2UgKmRldiA9IChzdHJ1Y3QgZGV2aWNlICopcm5nLT5wcml2OworCXN0cnVjdCB0YWxpdG9zX3ByaXZhdGUgKnByaXYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKKwl1MzIgb2ZsOworCWludCBpOworCisJZm9yIChpID0gMDsgaSA8IDIwOyBpKyspIHsKKwkJb2ZsID0gaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX1JOR1VTUl9MTykgJgorCQkgICAgICBUQUxJVE9TX1JOR1VTUl9MT19PRkw7CisJCWlmIChvZmwgfHwgIXdhaXQpCisJCQlicmVhazsKKwkJdWRlbGF5KDEwKTsKKwl9CisKKwlyZXR1cm4gISFvZmw7Cit9CisKK3N0YXRpYyBpbnQgdGFsaXRvc19ybmdfZGF0YV9yZWFkKHN0cnVjdCBod3JuZyAqcm5nLCB1MzIgKmRhdGEpCit7CisJc3RydWN0IGRldmljZSAqZGV2ID0gKHN0cnVjdCBkZXZpY2UgKilybmctPnByaXY7CisJc3RydWN0IHRhbGl0b3NfcHJpdmF0ZSAqcHJpdiA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOworCisJLyogcm5nIGZpZm8gcmVxdWlyZXMgNjQtYml0IGFjY2Vzc2VzICovCisJKmRhdGEgPSBpbl9iZTMyKHByaXYtPnJlZyArIFRBTElUT1NfUk5HVV9GSUZPKTsKKwkqZGF0YSA9IGluX2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19STkdVX0ZJRk9fTE8pOworCisJcmV0dXJuIHNpemVvZih1MzIpOworfQorCitzdGF0aWMgaW50IHRhbGl0b3Nfcm5nX2luaXQoc3RydWN0IGh3cm5nICpybmcpCit7CisJc3RydWN0IGRldmljZSAqZGV2ID0gKHN0cnVjdCBkZXZpY2UgKilybmctPnByaXY7CisJc3RydWN0IHRhbGl0b3NfcHJpdmF0ZSAqcHJpdiA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOworCXVuc2lnbmVkIGludCB0aW1lb3V0ID0gVEFMSVRPU19USU1FT1VUOworCisJc2V0Yml0czMyKHByaXYtPnJlZyArIFRBTElUT1NfUk5HVVJDUl9MTywgVEFMSVRPU19STkdVUkNSX0xPX1NSKTsKKwl3aGlsZSAoIShpbl9iZTMyKHByaXYtPnJlZyArIFRBTElUT1NfUk5HVVNSX0xPKSAmIFRBTElUT1NfUk5HVVNSX0xPX1JEKQorCSAgICAgICAmJiAtLXRpbWVvdXQpCisJCWNwdV9yZWxheCgpOworCWlmICh0aW1lb3V0ID09IDApIHsKKwkJZGV2X2VycihkZXYsICJmYWlsZWQgdG8gcmVzZXQgcm5nIGh3XG4iKTsKKwkJcmV0dXJuIC1FTk9ERVY7CisJfQorCisJLyogc3RhcnQgZ2VuZXJhdGluZyAqLworCXNldGJpdHMzMihwcml2LT5yZWcgKyBUQUxJVE9TX1JOR1VEU1JfTE8sIDApOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgdGFsaXRvc19yZWdpc3Rlcl9ybmcoc3RydWN0IGRldmljZSAqZGV2KQoreworCXN0cnVjdCB0YWxpdG9zX3ByaXZhdGUgKnByaXYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKKworCXByaXYtPnJuZy5uYW1lCQk9IGRldl9kcml2ZXJfc3RyaW5nKGRldiksCisJcHJpdi0+cm5nLmluaXQJCT0gdGFsaXRvc19ybmdfaW5pdCwKKwlwcml2LT5ybmcuZGF0YV9wcmVzZW50CT0gdGFsaXRvc19ybmdfZGF0YV9wcmVzZW50LAorCXByaXYtPnJuZy5kYXRhX3JlYWQJPSB0YWxpdG9zX3JuZ19kYXRhX3JlYWQsCisJcHJpdi0+cm5nLnByaXYJCT0gKHVuc2lnbmVkIGxvbmcpZGV2OworCisJcmV0dXJuIGh3cm5nX3JlZ2lzdGVyKCZwcml2LT5ybmcpOworfQorCitzdGF0aWMgdm9pZCB0YWxpdG9zX3VucmVnaXN0ZXJfcm5nKHN0cnVjdCBkZXZpY2UgKmRldikKK3sKKwlzdHJ1Y3QgdGFsaXRvc19wcml2YXRlICpwcml2ID0gZGV2X2dldF9kcnZkYXRhKGRldik7CisKKwlod3JuZ191bnJlZ2lzdGVyKCZwcml2LT5ybmcpOworfQorCisvKgorICogY3J5cHRvIGFsZworICovCisjZGVmaW5lIFRBTElUT1NfQ1JBX1BSSU9SSVRZCQkzMDAwCisjZGVmaW5lIFRBTElUT1NfTUFYX0tFWV9TSVpFCQk2NAorI2RlZmluZSBUQUxJVE9TX01BWF9JVl9MRU5HVEgJCTE2IC8qIG1heCBvZiBBRVNfQkxPQ0tfU0laRSwgREVTM19FREVfQkxPQ0tfU0laRSAqLworCisjZGVmaW5lIE1ENV9ESUdFU1RfU0laRSAgIDE2CisKK3N0cnVjdCB0YWxpdG9zX2N0eCB7CisJc3RydWN0IGRldmljZSAqZGV2OworCV9fYmUzMiBkZXNjX2hkcl90ZW1wbGF0ZTsKKwl1OCBrZXlbVEFMSVRPU19NQVhfS0VZX1NJWkVdOworCXU4IGl2W1RBTElUT1NfTUFYX0lWX0xFTkdUSF07CisJdW5zaWduZWQgaW50IGtleWxlbjsKKwl1bnNpZ25lZCBpbnQgZW5ja2V5bGVuOworCXVuc2lnbmVkIGludCBhdXRoa2V5bGVuOworCXVuc2lnbmVkIGludCBhdXRoc2l6ZTsKK307CisKK3N0YXRpYyBpbnQgYWVhZF9hdXRoZW5jX3NldGF1dGhzaXplKHN0cnVjdCBjcnlwdG9fYWVhZCAqYXV0aGVuYywKKwkJCQkJCSB1bnNpZ25lZCBpbnQgYXV0aHNpemUpCit7CisJc3RydWN0IHRhbGl0b3NfY3R4ICpjdHggPSBjcnlwdG9fYWVhZF9jdHgoYXV0aGVuYyk7CisKKwljdHgtPmF1dGhzaXplID0gYXV0aHNpemU7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBhZWFkX2F1dGhlbmNfc2V0a2V5KHN0cnVjdCBjcnlwdG9fYWVhZCAqYXV0aGVuYywKKwkJCQkJICAgIGNvbnN0IHU4ICprZXksIHVuc2lnbmVkIGludCBrZXlsZW4pCit7CisJc3RydWN0IHRhbGl0b3NfY3R4ICpjdHggPSBjcnlwdG9fYWVhZF9jdHgoYXV0aGVuYyk7CisJc3RydWN0IHJ0YXR0ciAqcnRhID0gKHZvaWQgKilrZXk7CisJc3RydWN0IGNyeXB0b19hdXRoZW5jX2tleV9wYXJhbSAqcGFyYW07CisJdW5zaWduZWQgaW50IGF1dGhrZXlsZW47CisJdW5zaWduZWQgaW50IGVuY2tleWxlbjsKKworCWlmICghUlRBX09LKHJ0YSwga2V5bGVuKSkKKwkJZ290byBiYWRrZXk7CisKKwlpZiAocnRhLT5ydGFfdHlwZSAhPSBDUllQVE9fQVVUSEVOQ19LRVlBX1BBUkFNKQorCQlnb3RvIGJhZGtleTsKKworCWlmIChSVEFfUEFZTE9BRChydGEpIDwgc2l6ZW9mKCpwYXJhbSkpCisJCWdvdG8gYmFka2V5OworCisJcGFyYW0gPSBSVEFfREFUQShydGEpOworCWVuY2tleWxlbiA9IGJlMzJfdG9fY3B1KHBhcmFtLT5lbmNrZXlsZW4pOworCisJa2V5ICs9IFJUQV9BTElHTihydGEtPnJ0YV9sZW4pOworCWtleWxlbiAtPSBSVEFfQUxJR04ocnRhLT5ydGFfbGVuKTsKKworCWlmIChrZXlsZW4gPCBlbmNrZXlsZW4pCisJCWdvdG8gYmFka2V5OworCisJYXV0aGtleWxlbiA9IGtleWxlbiAtIGVuY2tleWxlbjsKKworCWlmIChrZXlsZW4gPiBUQUxJVE9TX01BWF9LRVlfU0laRSkKKwkJZ290byBiYWRrZXk7CisKKwltZW1jcHkoJmN0eC0+a2V5LCBrZXksIGtleWxlbik7CisKKwljdHgtPmtleWxlbiA9IGtleWxlbjsKKwljdHgtPmVuY2tleWxlbiA9IGVuY2tleWxlbjsKKwljdHgtPmF1dGhrZXlsZW4gPSBhdXRoa2V5bGVuOworCisJcmV0dXJuIDA7CisKK2JhZGtleToKKwljcnlwdG9fYWVhZF9zZXRfZmxhZ3MoYXV0aGVuYywgQ1JZUFRPX1RGTV9SRVNfQkFEX0tFWV9MRU4pOworCXJldHVybiAtRUlOVkFMOworfQorCisvKgorICogaXBzZWNfZXNwX2VkZXNjIC0gcy93LWV4dGVuZGVkIGlwc2VjX2VzcCBkZXNjcmlwdG9yCisgKiBAc3JjX25lbnRzOiBudW1iZXIgb2Ygc2VnbWVudHMgaW4gaW5wdXQgc2NhdHRlcmxpc3QKKyAqIEBkc3RfbmVudHM6IG51bWJlciBvZiBzZWdtZW50cyBpbiBvdXRwdXQgc2NhdHRlcmxpc3QKKyAqIEBkbWFfbGVuOiBsZW5ndGggb2YgZG1hIG1hcHBlZCBsaW5rX3RibCBzcGFjZQorICogQGRtYV9saW5rX3RibDogYnVzIHBoeXNpY2FsIGFkZHJlc3Mgb2YgbGlua190YmwKKyAqIEBkZXNjOiBoL3cgZGVzY3JpcHRvcgorICogQGxpbmtfdGJsOiBpbnB1dCBhbmQgb3V0cHV0IGgvdyBsaW5rIHRhYmxlcyAoaWYge3NyYyxkc3R9X25lbnRzID4gMSkKKyAqCisgKiBpZiBkZWNyeXB0aW5nICh3aXRoIGF1dGhjaGVjayksIG9yIGVpdGhlciBvbmUgb2Ygc3JjX25lbnRzIG9yIGRzdF9uZW50cworICogaXMgZ3JlYXRlciB0aGFuIDEsIGFuIGludGVncml0eSBjaGVjayB2YWx1ZSBpcyBjb25jYXRlbmF0ZWQgdG8gdGhlIGVuZAorICogb2YgbGlua190YmwgZGF0YQorICovCitzdHJ1Y3QgaXBzZWNfZXNwX2VkZXNjIHsKKwlpbnQgc3JjX25lbnRzOworCWludCBkc3RfbmVudHM7CisJaW50IGRtYV9sZW47CisJZG1hX2FkZHJfdCBkbWFfbGlua190Ymw7CisJc3RydWN0IHRhbGl0b3NfZGVzYyBkZXNjOworCXN0cnVjdCB0YWxpdG9zX3B0ciBsaW5rX3RibFswXTsKK307CisKK3N0YXRpYyB2b2lkIGlwc2VjX2VzcF91bm1hcChzdHJ1Y3QgZGV2aWNlICpkZXYsCisJCQkgICAgc3RydWN0IGlwc2VjX2VzcF9lZGVzYyAqZWRlc2MsCisJCQkgICAgc3RydWN0IGFlYWRfcmVxdWVzdCAqYXJlcSkKK3sKKwl1bm1hcF9zaW5nbGVfdGFsaXRvc19wdHIoZGV2LCAmZWRlc2MtPmRlc2MucHRyWzZdLCBETUFfRlJPTV9ERVZJQ0UpOworCXVubWFwX3NpbmdsZV90YWxpdG9zX3B0cihkZXYsICZlZGVzYy0+ZGVzYy5wdHJbM10sIERNQV9UT19ERVZJQ0UpOworCXVubWFwX3NpbmdsZV90YWxpdG9zX3B0cihkZXYsICZlZGVzYy0+ZGVzYy5wdHJbMl0sIERNQV9UT19ERVZJQ0UpOworCXVubWFwX3NpbmdsZV90YWxpdG9zX3B0cihkZXYsICZlZGVzYy0+ZGVzYy5wdHJbMF0sIERNQV9UT19ERVZJQ0UpOworCisJZG1hX3VubWFwX3NnKGRldiwgYXJlcS0+YXNzb2MsIDEsIERNQV9UT19ERVZJQ0UpOworCisJaWYgKGFyZXEtPnNyYyAhPSBhcmVxLT5kc3QpIHsKKwkJZG1hX3VubWFwX3NnKGRldiwgYXJlcS0+c3JjLCBlZGVzYy0+c3JjX25lbnRzID8gOiAxLAorCQkJICAgICBETUFfVE9fREVWSUNFKTsKKwkJZG1hX3VubWFwX3NnKGRldiwgYXJlcS0+ZHN0LCBlZGVzYy0+ZHN0X25lbnRzID8gOiAxLAorCQkJICAgICBETUFfRlJPTV9ERVZJQ0UpOworCX0gZWxzZSB7CisJCWRtYV91bm1hcF9zZyhkZXYsIGFyZXEtPnNyYywgZWRlc2MtPnNyY19uZW50cyA/IDogMSwKKwkJCSAgICAgRE1BX0JJRElSRUNUSU9OQUwpOworCX0KKworCWlmIChlZGVzYy0+ZG1hX2xlbikKKwkJZG1hX3VubWFwX3NpbmdsZShkZXYsIGVkZXNjLT5kbWFfbGlua190YmwsIGVkZXNjLT5kbWFfbGVuLAorCQkJCSBETUFfQklESVJFQ1RJT05BTCk7Cit9CisKKy8qCisgKiBpcHNlY19lc3AgZGVzY3JpcHRvciBjYWxsYmFja3MKKyAqLworc3RhdGljIHZvaWQgaXBzZWNfZXNwX2VuY3J5cHRfZG9uZShzdHJ1Y3QgZGV2aWNlICpkZXYsCisJCQkJICAgc3RydWN0IHRhbGl0b3NfZGVzYyAqZGVzYywgdm9pZCAqY29udGV4dCwKKwkJCQkgICBpbnQgZXJyKQoreworCXN0cnVjdCBhZWFkX3JlcXVlc3QgKmFyZXEgPSBjb250ZXh0OworCXN0cnVjdCBpcHNlY19lc3BfZWRlc2MgKmVkZXNjID0KKwkJIGNvbnRhaW5lcl9vZihkZXNjLCBzdHJ1Y3QgaXBzZWNfZXNwX2VkZXNjLCBkZXNjKTsKKwlzdHJ1Y3QgY3J5cHRvX2FlYWQgKmF1dGhlbmMgPSBjcnlwdG9fYWVhZF9yZXF0Zm0oYXJlcSk7CisJc3RydWN0IHRhbGl0b3NfY3R4ICpjdHggPSBjcnlwdG9fYWVhZF9jdHgoYXV0aGVuYyk7CisJc3RydWN0IHNjYXR0ZXJsaXN0ICpzZzsKKwl2b2lkICppY3ZkYXRhOworCisJaXBzZWNfZXNwX3VubWFwKGRldiwgZWRlc2MsIGFyZXEpOworCisJLyogY29weSB0aGUgZ2VuZXJhdGVkIElDViB0byBkc3QgKi8KKwlpZiAoZWRlc2MtPmRtYV9sZW4pIHsKKwkJaWN2ZGF0YSA9ICZlZGVzYy0+bGlua190YmxbZWRlc2MtPnNyY19uZW50cyArCisJCQkJCSAgIGVkZXNjLT5kc3RfbmVudHMgKyAxXTsKKwkJc2cgPSBzZ19sYXN0KGFyZXEtPmRzdCwgZWRlc2MtPmRzdF9uZW50cyk7CisJCW1lbWNweSgoY2hhciAqKXNnX3ZpcnQoc2cpICsgc2ctPmxlbmd0aCAtIGN0eC0+YXV0aHNpemUsCisJCSAgICAgICBpY3ZkYXRhLCBjdHgtPmF1dGhzaXplKTsKKwl9CisKKwlrZnJlZShlZGVzYyk7CisKKwlhZWFkX3JlcXVlc3RfY29tcGxldGUoYXJlcSwgZXJyKTsKK30KKworc3RhdGljIHZvaWQgaXBzZWNfZXNwX2RlY3J5cHRfZG9uZShzdHJ1Y3QgZGV2aWNlICpkZXYsCisJCQkJICAgc3RydWN0IHRhbGl0b3NfZGVzYyAqZGVzYywgdm9pZCAqY29udGV4dCwKKwkJCQkgICBpbnQgZXJyKQoreworCXN0cnVjdCBhZWFkX3JlcXVlc3QgKnJlcSA9IGNvbnRleHQ7CisJc3RydWN0IGlwc2VjX2VzcF9lZGVzYyAqZWRlc2MgPQorCQkgY29udGFpbmVyX29mKGRlc2MsIHN0cnVjdCBpcHNlY19lc3BfZWRlc2MsIGRlc2MpOworCXN0cnVjdCBjcnlwdG9fYWVhZCAqYXV0aGVuYyA9IGNyeXB0b19hZWFkX3JlcXRmbShyZXEpOworCXN0cnVjdCB0YWxpdG9zX2N0eCAqY3R4ID0gY3J5cHRvX2FlYWRfY3R4KGF1dGhlbmMpOworCXN0cnVjdCBzY2F0dGVybGlzdCAqc2c7CisJdm9pZCAqaWN2ZGF0YTsKKworCWlwc2VjX2VzcF91bm1hcChkZXYsIGVkZXNjLCByZXEpOworCisJaWYgKCFlcnIpIHsKKwkJLyogYXV0aCBjaGVjayAqLworCQlpZiAoZWRlc2MtPmRtYV9sZW4pCisJCQlpY3ZkYXRhID0gJmVkZXNjLT5saW5rX3RibFtlZGVzYy0+c3JjX25lbnRzICsKKwkJCQkJCSAgIGVkZXNjLT5kc3RfbmVudHMgKyAxXTsKKwkJZWxzZQorCQkJaWN2ZGF0YSA9ICZlZGVzYy0+bGlua190YmxbMF07CisKKwkJc2cgPSBzZ19sYXN0KHJlcS0+ZHN0LCBlZGVzYy0+ZHN0X25lbnRzID8gOiAxKTsKKwkJZXJyID0gbWVtY21wKGljdmRhdGEsIChjaGFyICopc2dfdmlydChzZykgKyBzZy0+bGVuZ3RoIC0KKwkJCSAgICAgY3R4LT5hdXRoc2l6ZSwgY3R4LT5hdXRoc2l6ZSkgPyAtRUJBRE1TRyA6IDA7CisJfQorCisJa2ZyZWUoZWRlc2MpOworCisJYWVhZF9yZXF1ZXN0X2NvbXBsZXRlKHJlcSwgZXJyKTsKK30KKworLyoKKyAqIGNvbnZlcnQgc2NhdHRlcmxpc3QgdG8gU0VDIGgvdyBsaW5rIHRhYmxlIGZvcm1hdAorICogc3RvcCBhdCBjcnlwdGxlbiBieXRlcworICovCitzdGF0aWMgaW50IHNnX3RvX2xpbmtfdGJsKHN0cnVjdCBzY2F0dGVybGlzdCAqc2csIGludCBzZ19jb3VudCwKKwkJCSAgIGludCBjcnlwdGxlbiwgc3RydWN0IHRhbGl0b3NfcHRyICpsaW5rX3RibF9wdHIpCit7CisJaW50IG5fc2cgPSBzZ19jb3VudDsKKworCXdoaWxlIChuX3NnLS0pIHsKKwkJbGlua190YmxfcHRyLT5wdHIgPSBjcHVfdG9fYmUzMihzZ19kbWFfYWRkcmVzcyhzZykpOworCQlsaW5rX3RibF9wdHItPmxlbiA9IGNwdV90b19iZTE2KHNnX2RtYV9sZW4oc2cpKTsKKwkJbGlua190YmxfcHRyLT5qX2V4dGVudCA9IDA7CisJCWxpbmtfdGJsX3B0cisrOworCQljcnlwdGxlbiAtPSBzZ19kbWFfbGVuKHNnKTsKKwkJc2cgPSBzZ19uZXh0KHNnKTsKKwl9CisKKwkvKiBhZGp1c3QgKGRlY3JlYXNlKSBsYXN0IG9uZSAob3IgdHdvKSBlbnRyeSdzIGxlbiB0byBjcnlwdGxlbiAqLworCWxpbmtfdGJsX3B0ci0tOworCXdoaWxlIChsaW5rX3RibF9wdHItPmxlbiA8PSAoLWNyeXB0bGVuKSkgeworCQkvKiBFbXB0eSB0aGlzIGVudHJ5LCBhbmQgbW92ZSB0byBwcmV2aW91cyBvbmUgKi8KKwkJY3J5cHRsZW4gKz0gYmUxNl90b19jcHUobGlua190YmxfcHRyLT5sZW4pOworCQlsaW5rX3RibF9wdHItPmxlbiA9IDA7CisJCXNnX2NvdW50LS07CisJCWxpbmtfdGJsX3B0ci0tOworCX0KKwlsaW5rX3RibF9wdHItPmxlbiA9IGNwdV90b19iZTE2KGJlMTZfdG9fY3B1KGxpbmtfdGJsX3B0ci0+bGVuKQorCQkJCQkrIGNyeXB0bGVuKTsKKworCS8qIHRhZyBlbmQgb2YgbGluayB0YWJsZSAqLworCWxpbmtfdGJsX3B0ci0+al9leHRlbnQgPSBERVNDX1BUUl9MTktUQkxfUkVUVVJOOworCisJcmV0dXJuIHNnX2NvdW50OworfQorCisvKgorICogZmlsbCBpbiBhbmQgc3VibWl0IGlwc2VjX2VzcCBkZXNjcmlwdG9yCisgKi8KK3N0YXRpYyBpbnQgaXBzZWNfZXNwKHN0cnVjdCBpcHNlY19lc3BfZWRlc2MgKmVkZXNjLCBzdHJ1Y3QgYWVhZF9yZXF1ZXN0ICphcmVxLAorCQkgICAgIHU4ICpnaXYsIHU2NCBzZXEsCisJCSAgICAgdm9pZCAoKmNhbGxiYWNrKSAoc3RydWN0IGRldmljZSAqZGV2LAorCQkJCSAgICAgICBzdHJ1Y3QgdGFsaXRvc19kZXNjICpkZXNjLAorCQkJCSAgICAgICB2b2lkICpjb250ZXh0LCBpbnQgZXJyb3IpKQoreworCXN0cnVjdCBjcnlwdG9fYWVhZCAqYWVhZCA9IGNyeXB0b19hZWFkX3JlcXRmbShhcmVxKTsKKwlzdHJ1Y3QgdGFsaXRvc19jdHggKmN0eCA9IGNyeXB0b19hZWFkX2N0eChhZWFkKTsKKwlzdHJ1Y3QgZGV2aWNlICpkZXYgPSBjdHgtPmRldjsKKwlzdHJ1Y3QgdGFsaXRvc19kZXNjICpkZXNjID0gJmVkZXNjLT5kZXNjOworCXVuc2lnbmVkIGludCBjcnlwdGxlbiA9IGFyZXEtPmNyeXB0bGVuOworCXVuc2lnbmVkIGludCBhdXRoc2l6ZSA9IGN0eC0+YXV0aHNpemU7CisJdW5zaWduZWQgaW50IGl2c2l6ZTsKKwlpbnQgc2dfY291bnQ7CisKKwkvKiBobWFjIGtleSAqLworCW1hcF9zaW5nbGVfdGFsaXRvc19wdHIoZGV2LCAmZGVzYy0+cHRyWzBdLCBjdHgtPmF1dGhrZXlsZW4sICZjdHgtPmtleSwKKwkJCSAgICAgICAwLCBETUFfVE9fREVWSUNFKTsKKwkvKiBobWFjIGRhdGEgKi8KKwltYXBfc2luZ2xlX3RhbGl0b3NfcHRyKGRldiwgJmRlc2MtPnB0clsxXSwgc2dfdmlydChhcmVxLT5zcmMpIC0KKwkJCSAgICAgICBzZ192aXJ0KGFyZXEtPmFzc29jKSwgc2dfdmlydChhcmVxLT5hc3NvYyksIDAsCisJCQkgICAgICAgRE1BX1RPX0RFVklDRSk7CisJLyogY2lwaGVyIGl2ICovCisJaXZzaXplID0gY3J5cHRvX2FlYWRfaXZzaXplKGFlYWQpOworCW1hcF9zaW5nbGVfdGFsaXRvc19wdHIoZGV2LCAmZGVzYy0+cHRyWzJdLCBpdnNpemUsIGdpdiA/OiBhcmVxLT5pdiwgMCwKKwkJCSAgICAgICBETUFfVE9fREVWSUNFKTsKKworCS8qIGNpcGhlciBrZXkgKi8KKwltYXBfc2luZ2xlX3RhbGl0b3NfcHRyKGRldiwgJmRlc2MtPnB0clszXSwgY3R4LT5lbmNrZXlsZW4sCisJCQkgICAgICAgKGNoYXIgKikmY3R4LT5rZXkgKyBjdHgtPmF1dGhrZXlsZW4sIDAsCisJCQkgICAgICAgRE1BX1RPX0RFVklDRSk7CisKKwkvKgorCSAqIGNpcGhlciBpbgorCSAqIG1hcCBhbmQgYWRqdXN0IGNpcGhlciBsZW4gdG8gYWVhZCByZXF1ZXN0IGNyeXB0bGVuLgorCSAqIGV4dGVudCBpcyBieXRlcyBvZiBITUFDIHBvc3RwZW5kZWQgdG8gY2lwaGVydGV4dCwKKwkgKiB0eXBpY2FsbHkgMTIgZm9yIGlwc2VjCisJICovCisJZGVzYy0+cHRyWzRdLmxlbiA9IGNwdV90b19iZTE2KGNyeXB0bGVuKTsKKwlkZXNjLT5wdHJbNF0ual9leHRlbnQgPSBhdXRoc2l6ZTsKKworCWlmIChhcmVxLT5zcmMgPT0gYXJlcS0+ZHN0KQorCQlzZ19jb3VudCA9IGRtYV9tYXBfc2coZGV2LCBhcmVxLT5zcmMsIGVkZXNjLT5zcmNfbmVudHMgPyA6IDEsCisJCQkJICAgICAgRE1BX0JJRElSRUNUSU9OQUwpOworCWVsc2UKKwkJc2dfY291bnQgPSBkbWFfbWFwX3NnKGRldiwgYXJlcS0+c3JjLCBlZGVzYy0+c3JjX25lbnRzID8gOiAxLAorCQkJCSAgICAgIERNQV9UT19ERVZJQ0UpOworCisJaWYgKHNnX2NvdW50ID09IDEpIHsKKwkJZGVzYy0+cHRyWzRdLnB0ciA9IGNwdV90b19iZTMyKHNnX2RtYV9hZGRyZXNzKGFyZXEtPnNyYykpOworCX0gZWxzZSB7CisJCXNnX2NvdW50ID0gc2dfdG9fbGlua190YmwoYXJlcS0+c3JjLCBzZ19jb3VudCwgY3J5cHRsZW4sCisJCQkJCSAgJmVkZXNjLT5saW5rX3RibFswXSk7CisJCWlmIChzZ19jb3VudCA+IDEpIHsKKwkJCWRlc2MtPnB0cls0XS5qX2V4dGVudCB8PSBERVNDX1BUUl9MTktUQkxfSlVNUDsKKwkJCWRlc2MtPnB0cls0XS5wdHIgPSBjcHVfdG9fYmUzMihlZGVzYy0+ZG1hX2xpbmtfdGJsKTsKKwkJCWRtYV9zeW5jX3NpbmdsZV9mb3JfZGV2aWNlKGN0eC0+ZGV2LCBlZGVzYy0+ZG1hX2xpbmtfdGJsLAorCQkJCQkJICAgZWRlc2MtPmRtYV9sZW4sIERNQV9CSURJUkVDVElPTkFMKTsKKwkJfSBlbHNlIHsKKwkJCS8qIE9ubHkgb25lIHNlZ21lbnQgbm93LCBzbyBubyBsaW5rIHRibCBuZWVkZWQgKi8KKwkJCWRlc2MtPnB0cls0XS5wdHIgPSBjcHVfdG9fYmUzMihzZ19kbWFfYWRkcmVzcyhhcmVxLT5zcmMpKTsKKwkJfQorCX0KKworCS8qIGNpcGhlciBvdXQgKi8KKwlkZXNjLT5wdHJbNV0ubGVuID0gY3B1X3RvX2JlMTYoY3J5cHRsZW4pOworCWRlc2MtPnB0cls1XS5qX2V4dGVudCA9IGF1dGhzaXplOworCisJaWYgKGFyZXEtPnNyYyAhPSBhcmVxLT5kc3QpIHsKKwkJc2dfY291bnQgPSBkbWFfbWFwX3NnKGRldiwgYXJlcS0+ZHN0LCBlZGVzYy0+ZHN0X25lbnRzID8gOiAxLAorCQkJCSAgICAgIERNQV9GUk9NX0RFVklDRSk7CisJfQorCisJaWYgKHNnX2NvdW50ID09IDEpIHsKKwkJZGVzYy0+cHRyWzVdLnB0ciA9IGNwdV90b19iZTMyKHNnX2RtYV9hZGRyZXNzKGFyZXEtPmRzdCkpOworCX0gZWxzZSB7CisJCXN0cnVjdCB0YWxpdG9zX3B0ciAqbGlua190YmxfcHRyID0KKwkJCSZlZGVzYy0+bGlua190YmxbZWRlc2MtPnNyY19uZW50c107CisJCXN0cnVjdCBzY2F0dGVybGlzdCAqc2c7CisKKwkJZGVzYy0+cHRyWzVdLnB0ciA9IGNwdV90b19iZTMyKChzdHJ1Y3QgdGFsaXRvc19wdHIgKikKKwkJCQkJICAgICAgIGVkZXNjLT5kbWFfbGlua190YmwgKworCQkJCQkgICAgICAgZWRlc2MtPnNyY19uZW50cyk7CisJCWlmIChhcmVxLT5zcmMgPT0gYXJlcS0+ZHN0KSB7CisJCQltZW1jcHkobGlua190YmxfcHRyLCAmZWRlc2MtPmxpbmtfdGJsWzBdLAorCQkJICAgICAgIGVkZXNjLT5zcmNfbmVudHMgKiBzaXplb2Yoc3RydWN0IHRhbGl0b3NfcHRyKSk7CisJCX0gZWxzZSB7CisJCQlzZ19jb3VudCA9IHNnX3RvX2xpbmtfdGJsKGFyZXEtPmRzdCwgc2dfY291bnQsIGNyeXB0bGVuLAorCQkJCQkJICBsaW5rX3RibF9wdHIpOworCQl9CisJCWxpbmtfdGJsX3B0ciArPSBzZ19jb3VudCAtIDE7CisKKwkJLyogaGFuZGxlIGNhc2Ugd2hlcmUgc2dfbGFzdCBjb250YWlucyB0aGUgSUNWIGV4Y2x1c2l2ZWx5ICovCisJCXNnID0gc2dfbGFzdChhcmVxLT5kc3QsIGVkZXNjLT5kc3RfbmVudHMpOworCQlpZiAoc2ctPmxlbmd0aCA9PSBjdHgtPmF1dGhzaXplKQorCQkJbGlua190YmxfcHRyLS07CisKKwkJbGlua190YmxfcHRyLT5qX2V4dGVudCA9IDA7CisJCWxpbmtfdGJsX3B0cisrOworCQlsaW5rX3RibF9wdHItPmpfZXh0ZW50ID0gREVTQ19QVFJfTE5LVEJMX1JFVFVSTjsKKwkJbGlua190YmxfcHRyLT5sZW4gPSBjcHVfdG9fYmUxNihhdXRoc2l6ZSk7CisKKwkJLyogaWN2IGRhdGEgZm9sbG93cyBsaW5rIHRhYmxlcyAqLworCQlsaW5rX3RibF9wdHItPnB0ciA9IGNwdV90b19iZTMyKChzdHJ1Y3QgdGFsaXRvc19wdHIgKikKKwkJCQkJCWVkZXNjLT5kbWFfbGlua190YmwgKworCQkJCQkgICAgICAgIGVkZXNjLT5zcmNfbmVudHMgKworCQkJCQkJZWRlc2MtPmRzdF9uZW50cyArIDEpOworCisJCWRlc2MtPnB0cls1XS5qX2V4dGVudCB8PSBERVNDX1BUUl9MTktUQkxfSlVNUDsKKwkJZG1hX3N5bmNfc2luZ2xlX2Zvcl9kZXZpY2UoY3R4LT5kZXYsIGVkZXNjLT5kbWFfbGlua190YmwsCisJCQkJCSAgIGVkZXNjLT5kbWFfbGVuLCBETUFfQklESVJFQ1RJT05BTCk7CisJfQorCisJLyogaXYgb3V0ICovCisJbWFwX3NpbmdsZV90YWxpdG9zX3B0cihkZXYsICZkZXNjLT5wdHJbNl0sIGl2c2l6ZSwgY3R4LT5pdiwgMCwKKwkJCSAgICAgICBETUFfRlJPTV9ERVZJQ0UpOworCisJcmV0dXJuIHRhbGl0b3Nfc3VibWl0KGRldiwgZGVzYywgY2FsbGJhY2ssIGFyZXEpOworfQorCisKKy8qCisgKiBkZXJpdmUgbnVtYmVyIG9mIGVsZW1lbnRzIGluIHNjYXR0ZXJsaXN0CisgKi8KK3N0YXRpYyBpbnQgc2dfY291bnQoc3RydWN0IHNjYXR0ZXJsaXN0ICpzZ19saXN0LCBpbnQgbmJ5dGVzKQoreworCXN0cnVjdCBzY2F0dGVybGlzdCAqc2cgPSBzZ19saXN0OworCWludCBzZ19uZW50cyA9IDA7CisKKwl3aGlsZSAobmJ5dGVzKSB7CisJCXNnX25lbnRzKys7CisJCW5ieXRlcyAtPSBzZy0+bGVuZ3RoOworCQlzZyA9IHNnX25leHQoc2cpOworCX0KKworCXJldHVybiBzZ19uZW50czsKK30KKworLyoKKyAqIGFsbG9jYXRlIGFuZCBtYXAgdGhlIGlwc2VjX2VzcCBleHRlbmRlZCBkZXNjcmlwdG9yCisgKi8KK3N0YXRpYyBzdHJ1Y3QgaXBzZWNfZXNwX2VkZXNjICppcHNlY19lc3BfZWRlc2NfYWxsb2Moc3RydWN0IGFlYWRfcmVxdWVzdCAqYXJlcSwKKwkJCQkJCSAgICAgaW50IGljdl9zdGFzaGluZykKK3sKKwlzdHJ1Y3QgY3J5cHRvX2FlYWQgKmF1dGhlbmMgPSBjcnlwdG9fYWVhZF9yZXF0Zm0oYXJlcSk7CisJc3RydWN0IHRhbGl0b3NfY3R4ICpjdHggPSBjcnlwdG9fYWVhZF9jdHgoYXV0aGVuYyk7CisJc3RydWN0IGlwc2VjX2VzcF9lZGVzYyAqZWRlc2M7CisJaW50IHNyY19uZW50cywgZHN0X25lbnRzLCBhbGxvY19sZW4sIGRtYV9sZW47CisKKwlpZiAoYXJlcS0+Y3J5cHRsZW4gKyBjdHgtPmF1dGhzaXplID4gVEFMSVRPU19NQVhfREFUQV9MRU4pIHsKKwkJZGV2X2VycihjdHgtPmRldiwgImNyeXB0bGVuIGV4Y2VlZHMgaC93IG1heCBsaW1pdFxuIik7CisJCXJldHVybiBFUlJfUFRSKC1FSU5WQUwpOworCX0KKworCXNyY19uZW50cyA9IHNnX2NvdW50KGFyZXEtPnNyYywgYXJlcS0+Y3J5cHRsZW4gKyBjdHgtPmF1dGhzaXplKTsKKwlzcmNfbmVudHMgPSAoc3JjX25lbnRzID09IDEpID8gMCA6IHNyY19uZW50czsKKworCWlmIChhcmVxLT5kc3QgPT0gYXJlcS0+c3JjKSB7CisJCWRzdF9uZW50cyA9IHNyY19uZW50czsKKwl9IGVsc2UgeworCQlkc3RfbmVudHMgPSBzZ19jb3VudChhcmVxLT5kc3QsIGFyZXEtPmNyeXB0bGVuICsgY3R4LT5hdXRoc2l6ZSk7CisJCWRzdF9uZW50cyA9IChkc3RfbmVudHMgPT0gMSkgPyAwIDogc3JjX25lbnRzOworCX0KKworCS8qCisJICogYWxsb2NhdGUgc3BhY2UgZm9yIGJhc2UgZWRlc2MgcGx1cyB0aGUgbGluayB0YWJsZXMsCisJICogYWxsb3dpbmcgZm9yIGEgc2VwYXJhdGUgZW50cnkgZm9yIHRoZSBnZW5lcmF0ZWQgSUNWICgrIDEpLAorCSAqIGFuZCB0aGUgSUNWIGRhdGEgaXRzZWxmCisJICovCisJYWxsb2NfbGVuID0gc2l6ZW9mKHN0cnVjdCBpcHNlY19lc3BfZWRlc2MpOworCWlmIChzcmNfbmVudHMgfHwgZHN0X25lbnRzKSB7CisJCWRtYV9sZW4gPSAoc3JjX25lbnRzICsgZHN0X25lbnRzICsgMSkgKgorCQkJCSBzaXplb2Yoc3RydWN0IHRhbGl0b3NfcHRyKSArIGN0eC0+YXV0aHNpemU7CisJCWFsbG9jX2xlbiArPSBkbWFfbGVuOworCX0gZWxzZSB7CisJCWRtYV9sZW4gPSAwOworCQlhbGxvY19sZW4gKz0gaWN2X3N0YXNoaW5nID8gY3R4LT5hdXRoc2l6ZSA6IDA7CisJfQorCisJZWRlc2MgPSBrbWFsbG9jKGFsbG9jX2xlbiwgR0ZQX0RNQSk7CisJaWYgKCFlZGVzYykgeworCQlkZXZfZXJyKGN0eC0+ZGV2LCAiY291bGQgbm90IGFsbG9jYXRlIGVkZXNjcmlwdG9yXG4iKTsKKwkJcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7CisJfQorCisJZWRlc2MtPnNyY19uZW50cyA9IHNyY19uZW50czsKKwllZGVzYy0+ZHN0X25lbnRzID0gZHN0X25lbnRzOworCWVkZXNjLT5kbWFfbGVuID0gZG1hX2xlbjsKKwllZGVzYy0+ZG1hX2xpbmtfdGJsID0gZG1hX21hcF9zaW5nbGUoY3R4LT5kZXYsICZlZGVzYy0+bGlua190YmxbMF0sCisJCQkJCSAgICAgZWRlc2MtPmRtYV9sZW4sIERNQV9CSURJUkVDVElPTkFMKTsKKworCXJldHVybiBlZGVzYzsKK30KKworc3RhdGljIGludCBhZWFkX2F1dGhlbmNfZW5jcnlwdChzdHJ1Y3QgYWVhZF9yZXF1ZXN0ICpyZXEpCit7CisJc3RydWN0IGNyeXB0b19hZWFkICphdXRoZW5jID0gY3J5cHRvX2FlYWRfcmVxdGZtKHJlcSk7CisJc3RydWN0IHRhbGl0b3NfY3R4ICpjdHggPSBjcnlwdG9fYWVhZF9jdHgoYXV0aGVuYyk7CisJc3RydWN0IGlwc2VjX2VzcF9lZGVzYyAqZWRlc2M7CisKKwkvKiBhbGxvY2F0ZSBleHRlbmRlZCBkZXNjcmlwdG9yICovCisJZWRlc2MgPSBpcHNlY19lc3BfZWRlc2NfYWxsb2MocmVxLCAwKTsKKwlpZiAoSVNfRVJSKGVkZXNjKSkKKwkJcmV0dXJuIFBUUl9FUlIoZWRlc2MpOworCisJLyogc2V0IGVuY3J5cHQgKi8KKwllZGVzYy0+ZGVzYy5oZHIgPSBjdHgtPmRlc2NfaGRyX3RlbXBsYXRlIHwgREVTQ19IRFJfTU9ERTBfRU5DUllQVDsKKworCXJldHVybiBpcHNlY19lc3AoZWRlc2MsIHJlcSwgTlVMTCwgMCwgaXBzZWNfZXNwX2VuY3J5cHRfZG9uZSk7Cit9CisKK3N0YXRpYyBpbnQgYWVhZF9hdXRoZW5jX2RlY3J5cHQoc3RydWN0IGFlYWRfcmVxdWVzdCAqcmVxKQoreworCXN0cnVjdCBjcnlwdG9fYWVhZCAqYXV0aGVuYyA9IGNyeXB0b19hZWFkX3JlcXRmbShyZXEpOworCXN0cnVjdCB0YWxpdG9zX2N0eCAqY3R4ID0gY3J5cHRvX2FlYWRfY3R4KGF1dGhlbmMpOworCXVuc2lnbmVkIGludCBhdXRoc2l6ZSA9IGN0eC0+YXV0aHNpemU7CisJc3RydWN0IGlwc2VjX2VzcF9lZGVzYyAqZWRlc2M7CisJc3RydWN0IHNjYXR0ZXJsaXN0ICpzZzsKKwl2b2lkICppY3ZkYXRhOworCisJcmVxLT5jcnlwdGxlbiAtPSBhdXRoc2l6ZTsKKworCS8qIGFsbG9jYXRlIGV4dGVuZGVkIGRlc2NyaXB0b3IgKi8KKwllZGVzYyA9IGlwc2VjX2VzcF9lZGVzY19hbGxvYyhyZXEsIDEpOworCWlmIChJU19FUlIoZWRlc2MpKQorCQlyZXR1cm4gUFRSX0VSUihlZGVzYyk7CisKKwkvKiBzdGFzaCBpbmNvbWluZyBJQ1YgZm9yIGxhdGVyIGNtcCB3aXRoIElDViBnZW5lcmF0ZWQgYnkgdGhlIGgvdyAqLworCWlmIChlZGVzYy0+ZG1hX2xlbikKKwkJaWN2ZGF0YSA9ICZlZGVzYy0+bGlua190YmxbZWRlc2MtPnNyY19uZW50cyArCisJCQkJCSAgIGVkZXNjLT5kc3RfbmVudHMgKyAxXTsKKwllbHNlCisJCWljdmRhdGEgPSAmZWRlc2MtPmxpbmtfdGJsWzBdOworCisJc2cgPSBzZ19sYXN0KHJlcS0+c3JjLCBlZGVzYy0+c3JjX25lbnRzID8gOiAxKTsKKworCW1lbWNweShpY3ZkYXRhLCAoY2hhciAqKXNnX3ZpcnQoc2cpICsgc2ctPmxlbmd0aCAtIGN0eC0+YXV0aHNpemUsCisJICAgICAgIGN0eC0+YXV0aHNpemUpOworCisJLyogZGVjcnlwdCAqLworCWVkZXNjLT5kZXNjLmhkciA9IGN0eC0+ZGVzY19oZHJfdGVtcGxhdGUgfCBERVNDX0hEUl9ESVJfSU5CT1VORDsKKworCXJldHVybiBpcHNlY19lc3AoZWRlc2MsIHJlcSwgTlVMTCwgMCwgaXBzZWNfZXNwX2RlY3J5cHRfZG9uZSk7Cit9CisKK3N0YXRpYyBpbnQgYWVhZF9hdXRoZW5jX2dpdmVuY3J5cHQoCisJc3RydWN0IGFlYWRfZ2l2Y3J5cHRfcmVxdWVzdCAqcmVxKQoreworCXN0cnVjdCBhZWFkX3JlcXVlc3QgKmFyZXEgPSAmcmVxLT5hcmVxOworCXN0cnVjdCBjcnlwdG9fYWVhZCAqYXV0aGVuYyA9IGNyeXB0b19hZWFkX3JlcXRmbShhcmVxKTsKKwlzdHJ1Y3QgdGFsaXRvc19jdHggKmN0eCA9IGNyeXB0b19hZWFkX2N0eChhdXRoZW5jKTsKKwlzdHJ1Y3QgaXBzZWNfZXNwX2VkZXNjICplZGVzYzsKKworCS8qIGFsbG9jYXRlIGV4dGVuZGVkIGRlc2NyaXB0b3IgKi8KKwllZGVzYyA9IGlwc2VjX2VzcF9lZGVzY19hbGxvYyhhcmVxLCAwKTsKKwlpZiAoSVNfRVJSKGVkZXNjKSkKKwkJcmV0dXJuIFBUUl9FUlIoZWRlc2MpOworCisJLyogc2V0IGVuY3J5cHQgKi8KKwllZGVzYy0+ZGVzYy5oZHIgPSBjdHgtPmRlc2NfaGRyX3RlbXBsYXRlIHwgREVTQ19IRFJfTU9ERTBfRU5DUllQVDsKKworCW1lbWNweShyZXEtPmdpdiwgY3R4LT5pdiwgY3J5cHRvX2FlYWRfaXZzaXplKGF1dGhlbmMpKTsKKworCXJldHVybiBpcHNlY19lc3AoZWRlc2MsIGFyZXEsIHJlcS0+Z2l2LCByZXEtPnNlcSwKKwkJCSBpcHNlY19lc3BfZW5jcnlwdF9kb25lKTsKK30KKworc3RydWN0IHRhbGl0b3NfYWxnX3RlbXBsYXRlIHsKKwljaGFyIG5hbWVbQ1JZUFRPX01BWF9BTEdfTkFNRV07CisJY2hhciBkcml2ZXJfbmFtZVtDUllQVE9fTUFYX0FMR19OQU1FXTsKKwl1bnNpZ25lZCBpbnQgYmxvY2tzaXplOworCXN0cnVjdCBhZWFkX2FsZyBhZWFkOworCXN0cnVjdCBkZXZpY2UgKmRldjsKKwlfX2JlMzIgZGVzY19oZHJfdGVtcGxhdGU7Cit9OworCitzdGF0aWMgc3RydWN0IHRhbGl0b3NfYWxnX3RlbXBsYXRlIGRyaXZlcl9hbGdzW10gPSB7CisJLyogc2luZ2xlLXBhc3MgaXBzZWNfZXNwIGRlc2NyaXB0b3IgKi8KKwl7CisJCS5uYW1lID0gImF1dGhlbmMoaG1hYyhzaGExKSxjYmMoYWVzKSkiLAorCQkuZHJpdmVyX25hbWUgPSAiYXV0aGVuYy1obWFjLXNoYTEtY2JjLWFlcy10YWxpdG9zIiwKKwkJLmJsb2Nrc2l6ZSA9IEFFU19CTE9DS19TSVpFLAorCQkuYWVhZCA9IHsKKwkJCS5zZXRrZXkgPSBhZWFkX2F1dGhlbmNfc2V0a2V5LAorCQkJLnNldGF1dGhzaXplID0gYWVhZF9hdXRoZW5jX3NldGF1dGhzaXplLAorCQkJLmVuY3J5cHQgPSBhZWFkX2F1dGhlbmNfZW5jcnlwdCwKKwkJCS5kZWNyeXB0ID0gYWVhZF9hdXRoZW5jX2RlY3J5cHQsCisJCQkuZ2l2ZW5jcnlwdCA9IGFlYWRfYXV0aGVuY19naXZlbmNyeXB0LAorCQkJLmdlbml2ID0gIjxidWlsdC1pbj4iLAorCQkJLml2c2l6ZSA9IEFFU19CTE9DS19TSVpFLAorCQkJLm1heGF1dGhzaXplID0gU0hBMV9ESUdFU1RfU0laRSwKKwkJCX0sCisJCS5kZXNjX2hkcl90ZW1wbGF0ZSA9IERFU0NfSERSX1RZUEVfSVBTRUNfRVNQIHwKKwkJCSAgICAgICAgICAgICBERVNDX0hEUl9TRUwwX0FFU1UgfAorCQkgICAgICAgICAgICAgICAgICAgICBERVNDX0hEUl9NT0RFMF9BRVNVX0NCQyB8CisJCSAgICAgICAgICAgICAgICAgICAgIERFU0NfSERSX1NFTDFfTURFVUEgfAorCQkgICAgICAgICAgICAgICAgICAgICBERVNDX0hEUl9NT0RFMV9NREVVX0lOSVQgfAorCQkgICAgICAgICAgICAgICAgICAgICBERVNDX0hEUl9NT0RFMV9NREVVX1BBRCB8CisJCSAgICAgICAgICAgICAgICAgICAgIERFU0NfSERSX01PREUxX01ERVVfU0hBMV9ITUFDLAorCX0sCisJeworCQkubmFtZSA9ICJhdXRoZW5jKGhtYWMoc2hhMSksY2JjKGRlczNfZWRlKSkiLAorCQkuZHJpdmVyX25hbWUgPSAiYXV0aGVuYy1obWFjLXNoYTEtY2JjLTNkZXMtdGFsaXRvcyIsCisJCS5ibG9ja3NpemUgPSBERVMzX0VERV9CTE9DS19TSVpFLAorCQkuYWVhZCA9IHsKKwkJCS5zZXRrZXkgPSBhZWFkX2F1dGhlbmNfc2V0a2V5LAorCQkJLnNldGF1dGhzaXplID0gYWVhZF9hdXRoZW5jX3NldGF1dGhzaXplLAorCQkJLmVuY3J5cHQgPSBhZWFkX2F1dGhlbmNfZW5jcnlwdCwKKwkJCS5kZWNyeXB0ID0gYWVhZF9hdXRoZW5jX2RlY3J5cHQsCisJCQkuZ2l2ZW5jcnlwdCA9IGFlYWRfYXV0aGVuY19naXZlbmNyeXB0LAorCQkJLmdlbml2ID0gIjxidWlsdC1pbj4iLAorCQkJLml2c2l6ZSA9IERFUzNfRURFX0JMT0NLX1NJWkUsCisJCQkubWF4YXV0aHNpemUgPSBTSEExX0RJR0VTVF9TSVpFLAorCQkJfSwKKwkJLmRlc2NfaGRyX3RlbXBsYXRlID0gREVTQ19IRFJfVFlQRV9JUFNFQ19FU1AgfAorCQkJICAgICAgICAgICAgIERFU0NfSERSX1NFTDBfREVVIHwKKwkJICAgICAgICAgICAgICAgICAgICAgREVTQ19IRFJfTU9ERTBfREVVX0NCQyB8CisJCSAgICAgICAgICAgICAgICAgICAgIERFU0NfSERSX01PREUwX0RFVV8zREVTIHwKKwkJICAgICAgICAgICAgICAgICAgICAgREVTQ19IRFJfU0VMMV9NREVVQSB8CisJCSAgICAgICAgICAgICAgICAgICAgIERFU0NfSERSX01PREUxX01ERVVfSU5JVCB8CisJCSAgICAgICAgICAgICAgICAgICAgIERFU0NfSERSX01PREUxX01ERVVfUEFEIHwKKwkJICAgICAgICAgICAgICAgICAgICAgREVTQ19IRFJfTU9ERTFfTURFVV9TSEExX0hNQUMsCisJfSwKKwl7CisJCS5uYW1lID0gImF1dGhlbmMoaG1hYyhzaGEyNTYpLGNiYyhhZXMpKSIsCisJCS5kcml2ZXJfbmFtZSA9ICJhdXRoZW5jLWhtYWMtc2hhMjU2LWNiYy1hZXMtdGFsaXRvcyIsCisJCS5ibG9ja3NpemUgPSBBRVNfQkxPQ0tfU0laRSwKKwkJLmFlYWQgPSB7CisJCQkuc2V0a2V5ID0gYWVhZF9hdXRoZW5jX3NldGtleSwKKwkJCS5zZXRhdXRoc2l6ZSA9IGFlYWRfYXV0aGVuY19zZXRhdXRoc2l6ZSwKKwkJCS5lbmNyeXB0ID0gYWVhZF9hdXRoZW5jX2VuY3J5cHQsCisJCQkuZGVjcnlwdCA9IGFlYWRfYXV0aGVuY19kZWNyeXB0LAorCQkJLmdpdmVuY3J5cHQgPSBhZWFkX2F1dGhlbmNfZ2l2ZW5jcnlwdCwKKwkJCS5nZW5pdiA9ICI8YnVpbHQtaW4+IiwKKwkJCS5pdnNpemUgPSBBRVNfQkxPQ0tfU0laRSwKKwkJCS5tYXhhdXRoc2l6ZSA9IFNIQTI1Nl9ESUdFU1RfU0laRSwKKwkJCX0sCisJCS5kZXNjX2hkcl90ZW1wbGF0ZSA9IERFU0NfSERSX1RZUEVfSVBTRUNfRVNQIHwKKwkJCSAgICAgICAgICAgICBERVNDX0hEUl9TRUwwX0FFU1UgfAorCQkgICAgICAgICAgICAgICAgICAgICBERVNDX0hEUl9NT0RFMF9BRVNVX0NCQyB8CisJCSAgICAgICAgICAgICAgICAgICAgIERFU0NfSERSX1NFTDFfTURFVUEgfAorCQkgICAgICAgICAgICAgICAgICAgICBERVNDX0hEUl9NT0RFMV9NREVVX0lOSVQgfAorCQkgICAgICAgICAgICAgICAgICAgICBERVNDX0hEUl9NT0RFMV9NREVVX1BBRCB8CisJCSAgICAgICAgICAgICAgICAgICAgIERFU0NfSERSX01PREUxX01ERVVfU0hBMjU2X0hNQUMsCisJfSwKKwl7CisJCS5uYW1lID0gImF1dGhlbmMoaG1hYyhzaGEyNTYpLGNiYyhkZXMzX2VkZSkpIiwKKwkJLmRyaXZlcl9uYW1lID0gImF1dGhlbmMtaG1hYy1zaGEyNTYtY2JjLTNkZXMtdGFsaXRvcyIsCisJCS5ibG9ja3NpemUgPSBERVMzX0VERV9CTE9DS19TSVpFLAorCQkuYWVhZCA9IHsKKwkJCS5zZXRrZXkgPSBhZWFkX2F1dGhlbmNfc2V0a2V5LAorCQkJLnNldGF1dGhzaXplID0gYWVhZF9hdXRoZW5jX3NldGF1dGhzaXplLAorCQkJLmVuY3J5cHQgPSBhZWFkX2F1dGhlbmNfZW5jcnlwdCwKKwkJCS5kZWNyeXB0ID0gYWVhZF9hdXRoZW5jX2RlY3J5cHQsCisJCQkuZ2l2ZW5jcnlwdCA9IGFlYWRfYXV0aGVuY19naXZlbmNyeXB0LAorCQkJLmdlbml2ID0gIjxidWlsdC1pbj4iLAorCQkJLml2c2l6ZSA9IERFUzNfRURFX0JMT0NLX1NJWkUsCisJCQkubWF4YXV0aHNpemUgPSBTSEEyNTZfRElHRVNUX1NJWkUsCisJCQl9LAorCQkuZGVzY19oZHJfdGVtcGxhdGUgPSBERVNDX0hEUl9UWVBFX0lQU0VDX0VTUCB8CisJCQkgICAgICAgICAgICAgREVTQ19IRFJfU0VMMF9ERVUgfAorCQkgICAgICAgICAgICAgICAgICAgICBERVNDX0hEUl9NT0RFMF9ERVVfQ0JDIHwKKwkJICAgICAgICAgICAgICAgICAgICAgREVTQ19IRFJfTU9ERTBfREVVXzNERVMgfAorCQkgICAgICAgICAgICAgICAgICAgICBERVNDX0hEUl9TRUwxX01ERVVBIHwKKwkJICAgICAgICAgICAgICAgICAgICAgREVTQ19IRFJfTU9ERTFfTURFVV9JTklUIHwKKwkJICAgICAgICAgICAgICAgICAgICAgREVTQ19IRFJfTU9ERTFfTURFVV9QQUQgfAorCQkgICAgICAgICAgICAgICAgICAgICBERVNDX0hEUl9NT0RFMV9NREVVX1NIQTI1Nl9ITUFDLAorCX0sCisJeworCQkubmFtZSA9ICJhdXRoZW5jKGhtYWMobWQ1KSxjYmMoYWVzKSkiLAorCQkuZHJpdmVyX25hbWUgPSAiYXV0aGVuYy1obWFjLW1kNS1jYmMtYWVzLXRhbGl0b3MiLAorCQkuYmxvY2tzaXplID0gQUVTX0JMT0NLX1NJWkUsCisJCS5hZWFkID0geworCQkJLnNldGtleSA9IGFlYWRfYXV0aGVuY19zZXRrZXksCisJCQkuc2V0YXV0aHNpemUgPSBhZWFkX2F1dGhlbmNfc2V0YXV0aHNpemUsCisJCQkuZW5jcnlwdCA9IGFlYWRfYXV0aGVuY19lbmNyeXB0LAorCQkJLmRlY3J5cHQgPSBhZWFkX2F1dGhlbmNfZGVjcnlwdCwKKwkJCS5naXZlbmNyeXB0ID0gYWVhZF9hdXRoZW5jX2dpdmVuY3J5cHQsCisJCQkuZ2VuaXYgPSAiPGJ1aWx0LWluPiIsCisJCQkuaXZzaXplID0gQUVTX0JMT0NLX1NJWkUsCisJCQkubWF4YXV0aHNpemUgPSBNRDVfRElHRVNUX1NJWkUsCisJCQl9LAorCQkuZGVzY19oZHJfdGVtcGxhdGUgPSBERVNDX0hEUl9UWVBFX0lQU0VDX0VTUCB8CisJCQkgICAgICAgICAgICAgREVTQ19IRFJfU0VMMF9BRVNVIHwKKwkJICAgICAgICAgICAgICAgICAgICAgREVTQ19IRFJfTU9ERTBfQUVTVV9DQkMgfAorCQkgICAgICAgICAgICAgICAgICAgICBERVNDX0hEUl9TRUwxX01ERVVBIHwKKwkJICAgICAgICAgICAgICAgICAgICAgREVTQ19IRFJfTU9ERTFfTURFVV9JTklUIHwKKwkJICAgICAgICAgICAgICAgICAgICAgREVTQ19IRFJfTU9ERTFfTURFVV9QQUQgfAorCQkgICAgICAgICAgICAgICAgICAgICBERVNDX0hEUl9NT0RFMV9NREVVX01ENV9ITUFDLAorCX0sCisJeworCQkubmFtZSA9ICJhdXRoZW5jKGhtYWMobWQ1KSxjYmMoZGVzM19lZGUpKSIsCisJCS5kcml2ZXJfbmFtZSA9ICJhdXRoZW5jLWhtYWMtbWQ1LWNiYy0zZGVzLXRhbGl0b3MiLAorCQkuYmxvY2tzaXplID0gREVTM19FREVfQkxPQ0tfU0laRSwKKwkJLmFlYWQgPSB7CisJCQkuc2V0a2V5ID0gYWVhZF9hdXRoZW5jX3NldGtleSwKKwkJCS5zZXRhdXRoc2l6ZSA9IGFlYWRfYXV0aGVuY19zZXRhdXRoc2l6ZSwKKwkJCS5lbmNyeXB0ID0gYWVhZF9hdXRoZW5jX2VuY3J5cHQsCisJCQkuZGVjcnlwdCA9IGFlYWRfYXV0aGVuY19kZWNyeXB0LAorCQkJLmdpdmVuY3J5cHQgPSBhZWFkX2F1dGhlbmNfZ2l2ZW5jcnlwdCwKKwkJCS5nZW5pdiA9ICI8YnVpbHQtaW4+IiwKKwkJCS5pdnNpemUgPSBERVMzX0VERV9CTE9DS19TSVpFLAorCQkJLm1heGF1dGhzaXplID0gTUQ1X0RJR0VTVF9TSVpFLAorCQkJfSwKKwkJLmRlc2NfaGRyX3RlbXBsYXRlID0gREVTQ19IRFJfVFlQRV9JUFNFQ19FU1AgfAorCQkJICAgICAgICAgICAgIERFU0NfSERSX1NFTDBfREVVIHwKKwkJICAgICAgICAgICAgICAgICAgICAgREVTQ19IRFJfTU9ERTBfREVVX0NCQyB8CisJCSAgICAgICAgICAgICAgICAgICAgIERFU0NfSERSX01PREUwX0RFVV8zREVTIHwKKwkJICAgICAgICAgICAgICAgICAgICAgREVTQ19IRFJfU0VMMV9NREVVQSB8CisJCSAgICAgICAgICAgICAgICAgICAgIERFU0NfSERSX01PREUxX01ERVVfSU5JVCB8CisJCSAgICAgICAgICAgICAgICAgICAgIERFU0NfSERSX01PREUxX01ERVVfUEFEIHwKKwkJICAgICAgICAgICAgICAgICAgICAgREVTQ19IRFJfTU9ERTFfTURFVV9NRDVfSE1BQywKKwl9Cit9OworCitzdHJ1Y3QgdGFsaXRvc19jcnlwdG9fYWxnIHsKKwlzdHJ1Y3QgbGlzdF9oZWFkIGVudHJ5OworCXN0cnVjdCBkZXZpY2UgKmRldjsKKwlfX2JlMzIgZGVzY19oZHJfdGVtcGxhdGU7CisJc3RydWN0IGNyeXB0b19hbGcgY3J5cHRvX2FsZzsKK307CisKK3N0YXRpYyBpbnQgdGFsaXRvc19jcmFfaW5pdChzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtKQoreworCXN0cnVjdCBjcnlwdG9fYWxnICphbGcgPSB0Zm0tPl9fY3J0X2FsZzsKKwlzdHJ1Y3QgdGFsaXRvc19jcnlwdG9fYWxnICp0YWxpdG9zX2FsZyA9CisJCSBjb250YWluZXJfb2YoYWxnLCBzdHJ1Y3QgdGFsaXRvc19jcnlwdG9fYWxnLCBjcnlwdG9fYWxnKTsKKwlzdHJ1Y3QgdGFsaXRvc19jdHggKmN0eCA9IGNyeXB0b190Zm1fY3R4KHRmbSk7CisKKwkvKiB1cGRhdGUgY29udGV4dCB3aXRoIHB0ciB0byBkZXYgKi8KKwljdHgtPmRldiA9IHRhbGl0b3NfYWxnLT5kZXY7CisJLyogY29weSBkZXNjcmlwdG9yIGhlYWRlciB0ZW1wbGF0ZSB2YWx1ZSAqLworCWN0eC0+ZGVzY19oZHJfdGVtcGxhdGUgPSB0YWxpdG9zX2FsZy0+ZGVzY19oZHJfdGVtcGxhdGU7CisKKwkvKiByYW5kb20gZmlyc3QgSVYgKi8KKwlnZXRfcmFuZG9tX2J5dGVzKGN0eC0+aXYsIFRBTElUT1NfTUFYX0lWX0xFTkdUSCk7CisKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIGdpdmVuIHRoZSBhbGcncyBkZXNjcmlwdG9yIGhlYWRlciB0ZW1wbGF0ZSwgZGV0ZXJtaW5lIHdoZXRoZXIgZGVzY3JpcHRvcgorICogdHlwZSBhbmQgcHJpbWFyeS9zZWNvbmRhcnkgZXhlY3V0aW9uIHVuaXRzIHJlcXVpcmVkIG1hdGNoIHRoZSBodworICogY2FwYWJpbGl0aWVzIGRlc2NyaXB0aW9uIHByb3ZpZGVkIGluIHRoZSBkZXZpY2UgdHJlZSBub2RlLgorICovCitzdGF0aWMgaW50IGh3X3N1cHBvcnRzKHN0cnVjdCBkZXZpY2UgKmRldiwgX19iZTMyIGRlc2NfaGRyX3RlbXBsYXRlKQoreworCXN0cnVjdCB0YWxpdG9zX3ByaXZhdGUgKnByaXYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKKwlpbnQgcmV0OworCisJcmV0ID0gKDEgPDwgREVTQ19UWVBFKGRlc2NfaGRyX3RlbXBsYXRlKSAmIHByaXYtPmRlc2NfdHlwZXMpICYmCisJICAgICAgKDEgPDwgUFJJTUFSWV9FVShkZXNjX2hkcl90ZW1wbGF0ZSkgJiBwcml2LT5leGVjX3VuaXRzKTsKKworCWlmIChTRUNPTkRBUllfRVUoZGVzY19oZHJfdGVtcGxhdGUpKQorCQlyZXQgPSByZXQgJiYgKDEgPDwgU0VDT05EQVJZX0VVKGRlc2NfaGRyX3RlbXBsYXRlKQorCQkgICAgICAgICAgICAgICYgcHJpdi0+ZXhlY191bml0cyk7CisKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IF9fZGV2ZXhpdCB0YWxpdG9zX3JlbW92ZShzdHJ1Y3Qgb2ZfZGV2aWNlICpvZmRldikKK3sKKwlzdHJ1Y3QgZGV2aWNlICpkZXYgPSAmb2ZkZXYtPmRldjsKKwlzdHJ1Y3QgdGFsaXRvc19wcml2YXRlICpwcml2ID0gZGV2X2dldF9kcnZkYXRhKGRldik7CisJc3RydWN0IHRhbGl0b3NfY3J5cHRvX2FsZyAqdF9hbGcsICpuOworCWludCBpOworCisJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKHRfYWxnLCBuLCAmcHJpdi0+YWxnX2xpc3QsIGVudHJ5KSB7CisJCWNyeXB0b191bnJlZ2lzdGVyX2FsZygmdF9hbGctPmNyeXB0b19hbGcpOworCQlsaXN0X2RlbCgmdF9hbGctPmVudHJ5KTsKKwkJa2ZyZWUodF9hbGcpOworCX0KKworCWlmIChod19zdXBwb3J0cyhkZXYsIERFU0NfSERSX1NFTDBfUk5HKSkKKwkJdGFsaXRvc191bnJlZ2lzdGVyX3JuZyhkZXYpOworCisJa2ZyZWUocHJpdi0+dGFpbCk7CisJa2ZyZWUocHJpdi0+aGVhZCk7CisKKwlpZiAocHJpdi0+ZmlmbykKKwkJZm9yIChpID0gMDsgaSA8IHByaXYtPm51bV9jaGFubmVsczsgaSsrKQorCQkJa2ZyZWUocHJpdi0+Zmlmb1tpXSk7CisKKwlrZnJlZShwcml2LT5maWZvKTsKKwlrZnJlZShwcml2LT5oZWFkX2xvY2spOworCWtmcmVlKHByaXYtPnRhaWxfbG9jayk7CisKKwlpZiAocHJpdi0+aXJxICE9IE5PX0lSUSkgeworCQlmcmVlX2lycShwcml2LT5pcnEsIGRldik7CisJCWlycV9kaXNwb3NlX21hcHBpbmcocHJpdi0+aXJxKTsKKwl9CisKKwl0YXNrbGV0X2tpbGwoJnByaXYtPmRvbmVfdGFzayk7CisJdGFza2xldF9raWxsKCZwcml2LT5lcnJvcl90YXNrKTsKKworCWlvdW5tYXAocHJpdi0+cmVnKTsKKworCWRldl9zZXRfZHJ2ZGF0YShkZXYsIE5VTEwpOworCisJa2ZyZWUocHJpdik7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHN0cnVjdCB0YWxpdG9zX2NyeXB0b19hbGcgKnRhbGl0b3NfYWxnX2FsbG9jKHN0cnVjdCBkZXZpY2UgKmRldiwKKwkJCQkJCSAgICBzdHJ1Y3QgdGFsaXRvc19hbGdfdGVtcGxhdGUKKwkJCQkJCSAgICAgICAgICAgKnRlbXBsYXRlKQoreworCXN0cnVjdCB0YWxpdG9zX2NyeXB0b19hbGcgKnRfYWxnOworCXN0cnVjdCBjcnlwdG9fYWxnICphbGc7CisKKwl0X2FsZyA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCB0YWxpdG9zX2NyeXB0b19hbGcpLCBHRlBfS0VSTkVMKTsKKwlpZiAoIXRfYWxnKQorCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsKKworCWFsZyA9ICZ0X2FsZy0+Y3J5cHRvX2FsZzsKKworCXNucHJpbnRmKGFsZy0+Y3JhX25hbWUsIENSWVBUT19NQVhfQUxHX05BTUUsICIlcyIsIHRlbXBsYXRlLT5uYW1lKTsKKwlzbnByaW50ZihhbGctPmNyYV9kcml2ZXJfbmFtZSwgQ1JZUFRPX01BWF9BTEdfTkFNRSwgIiVzIiwKKwkJIHRlbXBsYXRlLT5kcml2ZXJfbmFtZSk7CisJYWxnLT5jcmFfbW9kdWxlID0gVEhJU19NT0RVTEU7CisJYWxnLT5jcmFfaW5pdCA9IHRhbGl0b3NfY3JhX2luaXQ7CisJYWxnLT5jcmFfcHJpb3JpdHkgPSBUQUxJVE9TX0NSQV9QUklPUklUWTsKKwlhbGctPmNyYV9mbGFncyA9IENSWVBUT19BTEdfVFlQRV9BRUFEIHwgQ1JZUFRPX0FMR19BU1lOQzsKKwlhbGctPmNyYV9ibG9ja3NpemUgPSB0ZW1wbGF0ZS0+YmxvY2tzaXplOworCWFsZy0+Y3JhX2FsaWdubWFzayA9IDA7CisJYWxnLT5jcmFfdHlwZSA9ICZjcnlwdG9fYWVhZF90eXBlOworCWFsZy0+Y3JhX2N0eHNpemUgPSBzaXplb2Yoc3RydWN0IHRhbGl0b3NfY3R4KTsKKwlhbGctPmNyYV91LmFlYWQgPSB0ZW1wbGF0ZS0+YWVhZDsKKworCXRfYWxnLT5kZXNjX2hkcl90ZW1wbGF0ZSA9IHRlbXBsYXRlLT5kZXNjX2hkcl90ZW1wbGF0ZTsKKwl0X2FsZy0+ZGV2ID0gZGV2OworCisJcmV0dXJuIHRfYWxnOworfQorCitzdGF0aWMgaW50IHRhbGl0b3NfcHJvYmUoc3RydWN0IG9mX2RldmljZSAqb2ZkZXYsCisJCQkgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCAqbWF0Y2gpCit7CisJc3RydWN0IGRldmljZSAqZGV2ID0gJm9mZGV2LT5kZXY7CisJc3RydWN0IGRldmljZV9ub2RlICpucCA9IG9mZGV2LT5ub2RlOworCXN0cnVjdCB0YWxpdG9zX3ByaXZhdGUgKnByaXY7CisJY29uc3QgdW5zaWduZWQgaW50ICpwcm9wOworCWludCBpLCBlcnI7CisKKwlwcml2ID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IHRhbGl0b3NfcHJpdmF0ZSksIEdGUF9LRVJORUwpOworCWlmICghcHJpdikKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlkZXZfc2V0X2RydmRhdGEoZGV2LCBwcml2KTsKKworCXByaXYtPm9mZGV2ID0gb2ZkZXY7CisKKwl0YXNrbGV0X2luaXQoJnByaXYtPmRvbmVfdGFzaywgdGFsaXRvc19kb25lLCAodW5zaWduZWQgbG9uZylkZXYpOworCXRhc2tsZXRfaW5pdCgmcHJpdi0+ZXJyb3JfdGFzaywgdGFsaXRvc19lcnJvciwgKHVuc2lnbmVkIGxvbmcpZGV2KTsKKworCXByaXYtPmlycSA9IGlycV9vZl9wYXJzZV9hbmRfbWFwKG5wLCAwKTsKKworCWlmIChwcml2LT5pcnEgPT0gTk9fSVJRKSB7CisJCWRldl9lcnIoZGV2LCAiZmFpbGVkIHRvIG1hcCBpcnFcbiIpOworCQllcnIgPSAtRUlOVkFMOworCQlnb3RvIGVycl9vdXQ7CisJfQorCisJLyogZ2V0IHRoZSBpcnEgbGluZSAqLworCWVyciA9IHJlcXVlc3RfaXJxKHByaXYtPmlycSwgdGFsaXRvc19pbnRlcnJ1cHQsIDAsCisJCQkgIGRldl9kcml2ZXJfc3RyaW5nKGRldiksIGRldik7CisJaWYgKGVycikgeworCQlkZXZfZXJyKGRldiwgImZhaWxlZCB0byByZXF1ZXN0IGlycSAlZFxuIiwgcHJpdi0+aXJxKTsKKwkJaXJxX2Rpc3Bvc2VfbWFwcGluZyhwcml2LT5pcnEpOworCQlwcml2LT5pcnEgPSBOT19JUlE7CisJCWdvdG8gZXJyX291dDsKKwl9CisKKwlwcml2LT5yZWcgPSBvZl9pb21hcChucCwgMCk7CisJaWYgKCFwcml2LT5yZWcpIHsKKwkJZGV2X2VycihkZXYsICJmYWlsZWQgdG8gb2ZfaW9tYXBcbiIpOworCQllcnIgPSAtRU5PTUVNOworCQlnb3RvIGVycl9vdXQ7CisJfQorCisJLyogZ2V0IFNFQyB2ZXJzaW9uIGNhcGFiaWxpdGllcyBmcm9tIGRldmljZSB0cmVlICovCisJcHJvcCA9IG9mX2dldF9wcm9wZXJ0eShucCwgImZzbCxudW0tY2hhbm5lbHMiLCBOVUxMKTsKKwlpZiAocHJvcCkKKwkJcHJpdi0+bnVtX2NoYW5uZWxzID0gKnByb3A7CisKKwlwcm9wID0gb2ZfZ2V0X3Byb3BlcnR5KG5wLCAiZnNsLGNoYW5uZWwtZmlmby1sZW4iLCBOVUxMKTsKKwlpZiAocHJvcCkKKwkJcHJpdi0+Y2hmaWZvX2xlbiA9ICpwcm9wOworCisJcHJvcCA9IG9mX2dldF9wcm9wZXJ0eShucCwgImZzbCxleGVjLXVuaXRzLW1hc2siLCBOVUxMKTsKKwlpZiAocHJvcCkKKwkJcHJpdi0+ZXhlY191bml0cyA9ICpwcm9wOworCisJcHJvcCA9IG9mX2dldF9wcm9wZXJ0eShucCwgImZzbCxkZXNjcmlwdG9yLXR5cGVzLW1hc2siLCBOVUxMKTsKKwlpZiAocHJvcCkKKwkJcHJpdi0+ZGVzY190eXBlcyA9ICpwcm9wOworCisJaWYgKCFpc19wb3dlcl9vZl8yKHByaXYtPm51bV9jaGFubmVscykgfHwgIXByaXYtPmNoZmlmb19sZW4gfHwKKwkgICAgIXByaXYtPmV4ZWNfdW5pdHMgfHwgIXByaXYtPmRlc2NfdHlwZXMpIHsKKwkJZGV2X2VycihkZXYsICJpbnZhbGlkIHByb3BlcnR5IGRhdGEgaW4gZGV2aWNlIHRyZWUgbm9kZVxuIik7CisJCWVyciA9IC1FSU5WQUw7CisJCWdvdG8gZXJyX291dDsKKwl9CisKKwlvZl9ub2RlX3B1dChucCk7CisJbnAgPSBOVUxMOworCisJcHJpdi0+aGVhZF9sb2NrID0ga21hbGxvYyhzaXplb2Yoc3BpbmxvY2tfdCkgKiBwcml2LT5udW1fY2hhbm5lbHMsCisJCQkJICBHRlBfS0VSTkVMKTsKKwlwcml2LT50YWlsX2xvY2sgPSBrbWFsbG9jKHNpemVvZihzcGlubG9ja190KSAqIHByaXYtPm51bV9jaGFubmVscywKKwkJCQkgIEdGUF9LRVJORUwpOworCWlmICghcHJpdi0+aGVhZF9sb2NrIHx8ICFwcml2LT50YWlsX2xvY2spIHsKKwkJZGV2X2VycihkZXYsICJmYWlsZWQgdG8gYWxsb2NhdGUgZmlmbyBsb2Nrc1xuIik7CisJCWVyciA9IC1FTk9NRU07CisJCWdvdG8gZXJyX291dDsKKwl9CisKKwlmb3IgKGkgPSAwOyBpIDwgcHJpdi0+bnVtX2NoYW5uZWxzOyBpKyspIHsKKwkJc3Bpbl9sb2NrX2luaXQoJnByaXYtPmhlYWRfbG9ja1tpXSk7CisJCXNwaW5fbG9ja19pbml0KCZwcml2LT50YWlsX2xvY2tbaV0pOworCX0KKworCXByaXYtPmZpZm8gPSBrbWFsbG9jKHNpemVvZihzdHJ1Y3QgdGFsaXRvc19yZXF1ZXN0ICopICoKKwkJCSAgICAgcHJpdi0+bnVtX2NoYW5uZWxzLCBHRlBfS0VSTkVMKTsKKwlpZiAoIXByaXYtPmZpZm8pIHsKKwkJZGV2X2VycihkZXYsICJmYWlsZWQgdG8gYWxsb2NhdGUgcmVxdWVzdCBmaWZvXG4iKTsKKwkJZXJyID0gLUVOT01FTTsKKwkJZ290byBlcnJfb3V0OworCX0KKworCXByaXYtPmZpZm9fbGVuID0gcm91bmR1cF9wb3dfb2ZfdHdvKHByaXYtPmNoZmlmb19sZW4pOworCisJZm9yIChpID0gMDsgaSA8IHByaXYtPm51bV9jaGFubmVsczsgaSsrKSB7CisJCXByaXYtPmZpZm9baV0gPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgdGFsaXRvc19yZXF1ZXN0KSAqCisJCQkJCXByaXYtPmZpZm9fbGVuLCBHRlBfS0VSTkVMKTsKKwkJaWYgKCFwcml2LT5maWZvW2ldKSB7CisJCQlkZXZfZXJyKGRldiwgImZhaWxlZCB0byBhbGxvY2F0ZSByZXF1ZXN0IGZpZm8gJWRcbiIsIGkpOworCQkJZXJyID0gLUVOT01FTTsKKwkJCWdvdG8gZXJyX291dDsKKwkJfQorCX0KKworCXByaXYtPmhlYWQgPSBremFsbG9jKHNpemVvZihpbnQpICogcHJpdi0+bnVtX2NoYW5uZWxzLCBHRlBfS0VSTkVMKTsKKwlwcml2LT50YWlsID0ga3phbGxvYyhzaXplb2YoaW50KSAqIHByaXYtPm51bV9jaGFubmVscywgR0ZQX0tFUk5FTCk7CisJaWYgKCFwcml2LT5oZWFkIHx8ICFwcml2LT50YWlsKSB7CisJCWRldl9lcnIoZGV2LCAiZmFpbGVkIHRvIGFsbG9jYXRlIHJlcXVlc3QgaW5kZXggc3BhY2VcbiIpOworCQllcnIgPSAtRU5PTUVNOworCQlnb3RvIGVycl9vdXQ7CisJfQorCisJLyogcmVzZXQgYW5kIGluaXRpYWxpemUgdGhlIGgvdyAqLworCWVyciA9IGluaXRfZGV2aWNlKGRldik7CisJaWYgKGVycikgeworCQlkZXZfZXJyKGRldiwgImZhaWxlZCB0byBpbml0aWFsaXplIGRldmljZVxuIik7CisJCWdvdG8gZXJyX291dDsKKwl9CisKKwkvKiByZWdpc3RlciB0aGUgUk5HLCBpZiBhdmFpbGFibGUgKi8KKwlpZiAoaHdfc3VwcG9ydHMoZGV2LCBERVNDX0hEUl9TRUwwX1JORykpIHsKKwkJZXJyID0gdGFsaXRvc19yZWdpc3Rlcl9ybmcoZGV2KTsKKwkJaWYgKGVycikgeworCQkJZGV2X2VycihkZXYsICJmYWlsZWQgdG8gcmVnaXN0ZXIgaHdybmc6ICVkXG4iLCBlcnIpOworCQkJZ290byBlcnJfb3V0OworCQl9IGVsc2UKKwkJCWRldl9pbmZvKGRldiwgImh3cm5nXG4iKTsKKwl9CisKKwkvKiByZWdpc3RlciBjcnlwdG8gYWxnb3JpdGhtcyB0aGUgZGV2aWNlIHN1cHBvcnRzICovCisJSU5JVF9MSVNUX0hFQUQoJnByaXYtPmFsZ19saXN0KTsKKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGRyaXZlcl9hbGdzKTsgaSsrKSB7CisJCWlmIChod19zdXBwb3J0cyhkZXYsIGRyaXZlcl9hbGdzW2ldLmRlc2NfaGRyX3RlbXBsYXRlKSkgeworCQkJc3RydWN0IHRhbGl0b3NfY3J5cHRvX2FsZyAqdF9hbGc7CisKKwkJCXRfYWxnID0gdGFsaXRvc19hbGdfYWxsb2MoZGV2LCAmZHJpdmVyX2FsZ3NbaV0pOworCQkJaWYgKElTX0VSUih0X2FsZykpIHsKKwkJCQllcnIgPSBQVFJfRVJSKHRfYWxnKTsKKwkJCQlnb3RvIGVycl9vdXQ7CisJCQl9CisKKwkJCWVyciA9IGNyeXB0b19yZWdpc3Rlcl9hbGcoJnRfYWxnLT5jcnlwdG9fYWxnKTsKKwkJCWlmIChlcnIpIHsKKwkJCQlkZXZfZXJyKGRldiwgIiVzIGFsZyByZWdpc3RyYXRpb24gZmFpbGVkXG4iLAorCQkJCQl0X2FsZy0+Y3J5cHRvX2FsZy5jcmFfZHJpdmVyX25hbWUpOworCQkJCWtmcmVlKHRfYWxnKTsKKwkJCX0gZWxzZSB7CisJCQkJbGlzdF9hZGRfdGFpbCgmdF9hbGctPmVudHJ5LCAmcHJpdi0+YWxnX2xpc3QpOworCQkJCWRldl9pbmZvKGRldiwgIiVzXG4iLAorCQkJCQkgdF9hbGctPmNyeXB0b19hbGcuY3JhX2RyaXZlcl9uYW1lKTsKKwkJCX0KKwkJfQorCX0KKworCXJldHVybiAwOworCitlcnJfb3V0OgorCXRhbGl0b3NfcmVtb3ZlKG9mZGV2KTsKKwlpZiAobnApCisJCW9mX25vZGVfcHV0KG5wKTsKKworCXJldHVybiBlcnI7Cit9CisKK3N0YXRpYyBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIHRhbGl0b3NfbWF0Y2hbXSA9IHsKKwl7CisJCS5jb21wYXRpYmxlID0gImZzbCxzZWMyLjAiLAorCX0sCisJe30sCit9OworTU9EVUxFX0RFVklDRV9UQUJMRShvZiwgdGFsaXRvc19tYXRjaCk7CisKK3N0YXRpYyBzdHJ1Y3Qgb2ZfcGxhdGZvcm1fZHJpdmVyIHRhbGl0b3NfZHJpdmVyID0geworCS5uYW1lID0gInRhbGl0b3MiLAorCS5tYXRjaF90YWJsZSA9IHRhbGl0b3NfbWF0Y2gsCisJLnByb2JlID0gdGFsaXRvc19wcm9iZSwKKwkucmVtb3ZlID0gX19kZXZleGl0X3AodGFsaXRvc19yZW1vdmUpLAorfTsKKworc3RhdGljIGludCBfX2luaXQgdGFsaXRvc19pbml0KHZvaWQpCit7CisJcmV0dXJuIG9mX3JlZ2lzdGVyX3BsYXRmb3JtX2RyaXZlcigmdGFsaXRvc19kcml2ZXIpOworfQorbW9kdWxlX2luaXQodGFsaXRvc19pbml0KTsKKworc3RhdGljIHZvaWQgX19leGl0IHRhbGl0b3NfZXhpdCh2b2lkKQoreworCW9mX3VucmVnaXN0ZXJfcGxhdGZvcm1fZHJpdmVyKCZ0YWxpdG9zX2RyaXZlcik7Cit9Cittb2R1bGVfZXhpdCh0YWxpdG9zX2V4aXQpOworCitNT0RVTEVfTElDRU5TRSgiR1BMIik7CitNT0RVTEVfQVVUSE9SKCJLaW0gUGhpbGxpcHMgPGtpbS5waGlsbGlwc0BmcmVlc2NhbGUuY29tPiIpOworTU9EVUxFX0RFU0NSSVBUSU9OKCJGcmVlc2NhbGUgaW50ZWdyYXRlZCBzZWN1cml0eSBlbmdpbmUgKFNFQykgZHJpdmVyIik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2NyeXB0by90YWxpdG9zLmggYi9kcml2ZXJzL2NyeXB0by90YWxpdG9zLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzQ4YTQwNQotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvY3J5cHRvL3RhbGl0b3MuaApAQCAtMCwwICsxLDE5OSBAQAorLyoKKyAqIEZyZWVzY2FsZSBTRUMgKHRhbGl0b3MpIGRldmljZSByZWdpc3RlciBhbmQgZGVzY3JpcHRvciBoZWFkZXIgZGVmaW5lcworICoKKyAqIENvcHlyaWdodCAoYykgMjAwNi0yMDA4IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gVGhlIG5hbWUgb2YgdGhlIGF1dGhvciBtYXkgbm90IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzCisgKiAgICBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBBVVRIT1IgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUgorICogSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUworICogT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4KKyAqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKKyAqIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVAorICogTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKgorICovCisKKy8qCisgKiBUQUxJVE9TX3h4eF9MTyBhZGRyZXNzZXMgcG9pbnQgdG8gdGhlIGxvdyBkYXRhIGJpdHMgKDMyLTYzKSBvZiB0aGUgcmVnaXN0ZXIKKyAqLworCisvKiBnbG9iYWwgcmVnaXN0ZXIgb2Zmc2V0IGFkZHJlc3NlcyAqLworI2RlZmluZSBUQUxJVE9TX01DUgkJCTB4MTAzMCAgLyogbWFzdGVyIGNvbnRyb2wgcmVnaXN0ZXIgKi8KKyNkZWZpbmUgVEFMSVRPU19NQ1JfTE8JCQkweDEwMzgKKyNkZWZpbmUgICBUQUxJVE9TX01DUl9TV1IJCTB4MSAgICAgLyogcy93IHJlc2V0ICovCisjZGVmaW5lIFRBTElUT1NfSU1SCQkJMHgxMDA4ICAvKiBpbnRlcnJ1cHQgbWFzayByZWdpc3RlciAqLworI2RlZmluZSAgIFRBTElUT1NfSU1SX0lOSVQJCTB4MTBmZmYgLyogZW5hYmxlIGNoYW5uZWwgSVJRcyAqLworI2RlZmluZSBUQUxJVE9TX0lNUl9MTwkJCTB4MTAwQworI2RlZmluZSAgIFRBTElUT1NfSU1SX0xPX0lOSVQJCTB4MjAwMDAgLyogYWxsb3cgUk5HVSBlcnJvciBJUlFzICovCisjZGVmaW5lIFRBTElUT1NfSVNSCQkJMHgxMDEwICAvKiBpbnRlcnJ1cHQgc3RhdHVzIHJlZ2lzdGVyICovCisjZGVmaW5lICAgVEFMSVRPU19JU1JfQ0hFUlIJCTB4YWEgICAgLyogY2hhbm5lbCBlcnJvcnMgbWFzayAqLworI2RlZmluZSAgIFRBTElUT1NfSVNSX0NIRE9ORQkJMHg1NSAgICAvKiBjaGFubmVsIGRvbmUgbWFzayAqLworI2RlZmluZSBUQUxJVE9TX0lTUl9MTwkJCTB4MTAxNAorI2RlZmluZSBUQUxJVE9TX0lDUgkJCTB4MTAxOCAgLyogaW50ZXJydXB0IGNsZWFyIHJlZ2lzdGVyICovCisjZGVmaW5lIFRBTElUT1NfSUNSX0xPCQkJMHgxMDFDCisKKy8qIGNoYW5uZWwgcmVnaXN0ZXIgYWRkcmVzcyBzdHJpZGUgKi8KKyNkZWZpbmUgVEFMSVRPU19DSF9TVFJJREUJCTB4MTAwCisKKy8qIGNoYW5uZWwgY29uZmlndXJhdGlvbiByZWdpc3RlciAgKi8KKyNkZWZpbmUgVEFMSVRPU19DQ0NSKGNoKQkJKGNoICogVEFMSVRPU19DSF9TVFJJREUgKyAweDExMDgpCisjZGVmaW5lICAgVEFMSVRPU19DQ0NSX0NPTlQJCTB4MiAgICAvKiBjaGFubmVsIGNvbnRpbnVlICovCisjZGVmaW5lICAgVEFMSVRPU19DQ0NSX1JFU0VUCQkweDEgICAgLyogY2hhbm5lbCByZXNldCAqLworI2RlZmluZSBUQUxJVE9TX0NDQ1JfTE8oY2gpCQkoY2ggKiBUQUxJVE9TX0NIX1NUUklERSArIDB4MTEwYykKKyNkZWZpbmUgICBUQUxJVE9TX0NDQ1JfTE9fQ0RXRQkJMHgxMCAgIC8qIGNoYW4uIGRvbmUgd3JpdGViYWNrIGVuYWIuICovCisjZGVmaW5lICAgVEFMSVRPU19DQ0NSX0xPX05UCQkweDQgICAgLyogbm90aWZpY2F0aW9uIHR5cGUgKi8KKyNkZWZpbmUgICBUQUxJVE9TX0NDQ1JfTE9fQ0RJRQkJMHgyICAgIC8qIGNoYW5uZWwgZG9uZSBJUlEgZW5hYmxlICovCisKKy8qIENDUFNSOiBjaGFubmVsIHBvaW50ZXIgc3RhdHVzIHJlZ2lzdGVyICovCisjZGVmaW5lIFRBTElUT1NfQ0NQU1IoY2gpCQkoY2ggKiBUQUxJVE9TX0NIX1NUUklERSArIDB4MTExMCkKKyNkZWZpbmUgVEFMSVRPU19DQ1BTUl9MTyhjaCkJCShjaCAqIFRBTElUT1NfQ0hfU1RSSURFICsgMHgxMTE0KQorI2RlZmluZSAgIFRBTElUT1NfQ0NQU1JfTE9fRE9GCQkweDgwMDAgLyogZG91YmxlIEZGIHdyaXRlIG9mbG93IGVycm9yICovCisjZGVmaW5lICAgVEFMSVRPU19DQ1BTUl9MT19TT0YJCTB4NDAwMCAvKiBzaW5nbGUgRkYgd3JpdGUgb2Zsb3cgZXJyb3IgKi8KKyNkZWZpbmUgICBUQUxJVE9TX0NDUFNSX0xPX01EVEUJCTB4MjAwMCAvKiBtYXN0ZXIgZGF0YSB0cmFuc2ZlciBlcnJvciAqLworI2RlZmluZSAgIFRBTElUT1NfQ0NQU1JfTE9fU0dETFoJMHgxMDAwIC8qIHMvZyBkYXRhIGxlbiB6ZXJvIGVycm9yICovCisjZGVmaW5lICAgVEFMSVRPU19DQ1BTUl9MT19GUFoJCTB4MDgwMCAvKiBmZXRjaCBwdHIgemVybyBlcnJvciAqLworI2RlZmluZSAgIFRBTElUT1NfQ0NQU1JfTE9fSURICQkweDA0MDAgLyogaWxsZWdhbCBkZXNjIGhkciBlcnJvciAqLworI2RlZmluZSAgIFRBTElUT1NfQ0NQU1JfTE9fSUVVCQkweDAyMDAgLyogaW52YWxpZCBFVSBlcnJvciAqLworI2RlZmluZSAgIFRBTElUT1NfQ0NQU1JfTE9fRVUJCTB4MDEwMCAvKiBFVSBlcnJvciBkZXRlY3RlZCAqLworI2RlZmluZSAgIFRBTElUT1NfQ0NQU1JfTE9fR0IJCTB4MDA4MCAvKiBnYXRoZXIgYm91bmRhcnkgZXJyb3IgKi8KKyNkZWZpbmUgICBUQUxJVE9TX0NDUFNSX0xPX0dSTAkJMHgwMDQwIC8qIGdhdGhlciByZXR1cm4vbGVuZ3RoIGVycm9yICovCisjZGVmaW5lICAgVEFMSVRPU19DQ1BTUl9MT19TQgkJMHgwMDIwIC8qIHNjYXR0ZXIgYm91bmRhcnkgZXJyb3IgKi8KKyNkZWZpbmUgICBUQUxJVE9TX0NDUFNSX0xPX1NSTAkJMHgwMDEwIC8qIHNjYXR0ZXIgcmV0dXJuL2xlbmd0aCBlcnJvciAqLworCisvKiBjaGFubmVsIGZldGNoIGZpZm8gcmVnaXN0ZXIgKi8KKyNkZWZpbmUgVEFMSVRPU19GRihjaCkJCQkoY2ggKiBUQUxJVE9TX0NIX1NUUklERSArIDB4MTE0OCkKKyNkZWZpbmUgVEFMSVRPU19GRl9MTyhjaCkJCShjaCAqIFRBTElUT1NfQ0hfU1RSSURFICsgMHgxMTRjKQorCisvKiBjdXJyZW50IGRlc2NyaXB0b3IgcG9pbnRlciByZWdpc3RlciAqLworI2RlZmluZSBUQUxJVE9TX0NEUFIoY2gpCQkoY2ggKiBUQUxJVE9TX0NIX1NUUklERSArIDB4MTE0MCkKKyNkZWZpbmUgVEFMSVRPU19DRFBSX0xPKGNoKQkJKGNoICogVEFMSVRPU19DSF9TVFJJREUgKyAweDExNDQpCisKKy8qIGRlc2NyaXB0b3IgYnVmZmVyIHJlZ2lzdGVyICovCisjZGVmaW5lIFRBTElUT1NfREVTQ0JVRihjaCkJCShjaCAqIFRBTElUT1NfQ0hfU1RSSURFICsgMHgxMTgwKQorI2RlZmluZSBUQUxJVE9TX0RFU0NCVUZfTE8oY2gpCQkoY2ggKiBUQUxJVE9TX0NIX1NUUklERSArIDB4MTE4NCkKKworLyogZ2F0aGVyIGxpbmsgdGFibGUgKi8KKyNkZWZpbmUgVEFMSVRPU19HQVRIRVIoY2gpCQkoY2ggKiBUQUxJVE9TX0NIX1NUUklERSArIDB4MTFjMCkKKyNkZWZpbmUgVEFMSVRPU19HQVRIRVJfTE8oY2gpCQkoY2ggKiBUQUxJVE9TX0NIX1NUUklERSArIDB4MTFjNCkKKworLyogc2NhdHRlciBsaW5rIHRhYmxlICovCisjZGVmaW5lIFRBTElUT1NfU0NBVFRFUihjaCkJCShjaCAqIFRBTElUT1NfQ0hfU1RSSURFICsgMHgxMWUwKQorI2RlZmluZSBUQUxJVE9TX1NDQVRURVJfTE8oY2gpCQkoY2ggKiBUQUxJVE9TX0NIX1NUUklERSArIDB4MTFlNCkKKworLyogZXhlY3V0aW9uIHVuaXQgaW50ZXJydXB0IHN0YXR1cyByZWdpc3RlcnMgKi8KKyNkZWZpbmUgVEFMSVRPU19ERVVJU1IJCQkweDIwMzAgLyogREVTIHVuaXQgKi8KKyNkZWZpbmUgVEFMSVRPU19ERVVJU1JfTE8JCTB4MjAzNAorI2RlZmluZSBUQUxJVE9TX0FFU1VJU1IJCQkweDQwMzAgLyogQUVTIHVuaXQgKi8KKyNkZWZpbmUgVEFMSVRPU19BRVNVSVNSX0xPCQkweDQwMzQKKyNkZWZpbmUgVEFMSVRPU19NREVVSVNSCQkJMHg2MDMwIC8qIG1lc3NhZ2UgZGlnZXN0IHVuaXQgKi8KKyNkZWZpbmUgVEFMSVRPU19NREVVSVNSX0xPCQkweDYwMzQKKyNkZWZpbmUgVEFMSVRPU19BRkVVSVNSCQkJMHg4MDMwIC8qIGFyYzQgdW5pdCAqLworI2RlZmluZSBUQUxJVE9TX0FGRVVJU1JfTE8JCTB4ODAzNAorI2RlZmluZSBUQUxJVE9TX1JOR1VJU1IJCQkweGEwMzAgLyogcmFuZG9tIG51bWJlciB1bml0ICovCisjZGVmaW5lIFRBTElUT1NfUk5HVUlTUl9MTwkJMHhhMDM0CisjZGVmaW5lIFRBTElUT1NfUk5HVVNSCQkJMHhhMDI4IC8qIHJuZyBzdGF0dXMgKi8KKyNkZWZpbmUgVEFMSVRPU19STkdVU1JfTE8JCTB4YTAyYworI2RlZmluZSAgIFRBTElUT1NfUk5HVVNSX0xPX1JECQkweDEJLyogcmVzZXQgZG9uZSAqLworI2RlZmluZSAgIFRBTElUT1NfUk5HVVNSX0xPX09GTAkJMHhmZjAwMDAvKiBvdXRwdXQgRklGTyBsZW5ndGggKi8KKyNkZWZpbmUgVEFMSVRPU19STkdVRFNSCQkJMHhhMDEwCS8qIGRhdGEgc2l6ZSAqLworI2RlZmluZSBUQUxJVE9TX1JOR1VEU1JfTE8JCTB4YTAxNAorI2RlZmluZSBUQUxJVE9TX1JOR1VfRklGTwkJMHhhODAwCS8qIG91dHB1dCBGSUZPICovCisjZGVmaW5lIFRBTElUT1NfUk5HVV9GSUZPX0xPCQkweGE4MDQJLyogb3V0cHV0IEZJRk8gKi8KKyNkZWZpbmUgVEFMSVRPU19STkdVUkNSCQkJMHhhMDE4CS8qIHJlc2V0IGNvbnRyb2wgKi8KKyNkZWZpbmUgVEFMSVRPU19STkdVUkNSX0xPCQkweGEwMWMKKyNkZWZpbmUgICBUQUxJVE9TX1JOR1VSQ1JfTE9fU1IJCTB4MQkvKiBzb2Z0d2FyZSByZXNldCAqLworI2RlZmluZSBUQUxJVE9TX1BLRVVJU1IJCQkweGMwMzAgLyogcHVibGljIGtleSB1bml0ICovCisjZGVmaW5lIFRBTElUT1NfUEtFVUlTUl9MTwkJMHhjMDM0CisjZGVmaW5lIFRBTElUT1NfS0VVSVNSCQkJMHhlMDMwIC8qIGthc3VtaSB1bml0ICovCisjZGVmaW5lIFRBTElUT1NfS0VVSVNSX0xPCQkweGUwMzQKKyNkZWZpbmUgVEFMSVRPU19DUkNVSVNSCQkJMHhmMDMwIC8qIGN5Y2xpYyByZWR1bmRhbmN5IGNoZWNrIHVuaXQqLworI2RlZmluZSBUQUxJVE9TX0NSQ1VJU1JfTE8JCTB4ZjAzNAorCisvKgorICogdGFsaXRvcyBkZXNjcmlwdG9yIGhlYWRlciAoaGRyKSBiaXRzCisgKi8KKworLyogd3JpdHRlbiBiYWNrIHdoZW4gZG9uZSAqLworI2RlZmluZSBERVNDX0hEUl9ET05FCQkJX19jb25zdGFudF9jcHVfdG9fYmUzMigweGZmMDAwMDAwKQorCisvKiBwcmltYXJ5IGV4ZWN1dGlvbiB1bml0IHNlbGVjdCAqLworI2RlZmluZQlERVNDX0hEUl9TRUwwX01BU0sJCV9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMHhmMDAwMDAwMCkKKyNkZWZpbmUJREVTQ19IRFJfU0VMMF9BRkVVCQlfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4MTAwMDAwMDApCisjZGVmaW5lCURFU0NfSERSX1NFTDBfREVVCQlfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4MjAwMDAwMDApCisjZGVmaW5lCURFU0NfSERSX1NFTDBfTURFVUEJCV9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMHgzMDAwMDAwMCkKKyNkZWZpbmUJREVTQ19IRFJfU0VMMF9NREVVQgkJX19jb25zdGFudF9jcHVfdG9fYmUzMigweGIwMDAwMDAwKQorI2RlZmluZQlERVNDX0hEUl9TRUwwX1JORwkJX19jb25zdGFudF9jcHVfdG9fYmUzMigweDQwMDAwMDAwKQorI2RlZmluZQlERVNDX0hEUl9TRUwwX1BLRVUJCV9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMHg1MDAwMDAwMCkKKyNkZWZpbmUJREVTQ19IRFJfU0VMMF9BRVNVCQlfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4NjAwMDAwMDApCisjZGVmaW5lCURFU0NfSERSX1NFTDBfS0VVCQlfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4NzAwMDAwMDApCisjZGVmaW5lCURFU0NfSERSX1NFTDBfQ1JDVQkJX19jb25zdGFudF9jcHVfdG9fYmUzMigweDgwMDAwMDAwKQorCisvKiBwcmltYXJ5IGV4ZWN1dGlvbiB1bml0IG1vZGUgKE1PREUwKSBhbmQgZGVyaXZhdGl2ZXMgKi8KKyNkZWZpbmUJREVTQ19IRFJfTU9ERTBfRU5DUllQVAkJX19jb25zdGFudF9jcHVfdG9fYmUzMigweDAwMTAwMDAwKQorI2RlZmluZQlERVNDX0hEUl9NT0RFMF9BRVNVX0NCQwkJX19jb25zdGFudF9jcHVfdG9fYmUzMigweDAwMjAwMDAwKQorI2RlZmluZQlERVNDX0hEUl9NT0RFMF9ERVVfQ0JDCQlfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4MDA0MDAwMDApCisjZGVmaW5lCURFU0NfSERSX01PREUwX0RFVV8zREVTCQlfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4MDAyMDAwMDApCisjZGVmaW5lCURFU0NfSERSX01PREUwX01ERVVfSU5JVAlfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4MDEwMDAwMDApCisjZGVmaW5lCURFU0NfSERSX01PREUwX01ERVVfSE1BQwlfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4MDA4MDAwMDApCisjZGVmaW5lCURFU0NfSERSX01PREUwX01ERVVfUEFECQlfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4MDA0MDAwMDApCisjZGVmaW5lCURFU0NfSERSX01PREUwX01ERVVfTUQ1CQlfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4MDAyMDAwMDApCisjZGVmaW5lCURFU0NfSERSX01PREUwX01ERVVfU0hBMjU2CV9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMHgwMDEwMDAwMCkKKyNkZWZpbmUJREVTQ19IRFJfTU9ERTBfTURFVV9TSEExCV9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMHgwMDAwMDAwMCkKKyNkZWZpbmUJREVTQ19IRFJfTU9ERTBfTURFVV9NRDVfSE1BQwkoREVTQ19IRFJfTU9ERTBfTURFVV9NRDUgfCBcCisJCQkJCSBERVNDX0hEUl9NT0RFMF9NREVVX0hNQUMpCisjZGVmaW5lCURFU0NfSERSX01PREUwX01ERVVfU0hBMjU2X0hNQUMJKERFU0NfSERSX01PREUwX01ERVVfU0hBMjU2IHwgXAorCQkJCQkgREVTQ19IRFJfTU9ERTBfTURFVV9ITUFDKQorI2RlZmluZQlERVNDX0hEUl9NT0RFMF9NREVVX1NIQTFfSE1BQwkoREVTQ19IRFJfTU9ERTBfTURFVV9TSEExIHwgXAorCQkJCQkgREVTQ19IRFJfTU9ERTBfTURFVV9ITUFDKQorCisvKiBzZWNvbmRhcnkgZXhlY3V0aW9uIHVuaXQgc2VsZWN0IChTRUwxKSAqLworI2RlZmluZQlERVNDX0hEUl9TRUwxX01BU0sJCV9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMHgwMDBmMDAwMCkKKyNkZWZpbmUJREVTQ19IRFJfU0VMMV9NREVVQQkJX19jb25zdGFudF9jcHVfdG9fYmUzMigweDAwMDMwMDAwKQorI2RlZmluZQlERVNDX0hEUl9TRUwxX01ERVVCCQlfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4MDAwYjAwMDApCisjZGVmaW5lCURFU0NfSERSX1NFTDFfQ1JDVQkJX19jb25zdGFudF9jcHVfdG9fYmUzMigweDAwMDgwMDAwKQorCisvKiBzZWNvbmRhcnkgZXhlY3V0aW9uIHVuaXQgbW9kZSAoTU9ERTEpIGFuZCBkZXJpdmF0aXZlcyAqLworI2RlZmluZQlERVNDX0hEUl9NT0RFMV9NREVVX0lOSVQJX19jb25zdGFudF9jcHVfdG9fYmUzMigweDAwMDAxMDAwKQorI2RlZmluZQlERVNDX0hEUl9NT0RFMV9NREVVX0hNQUMJX19jb25zdGFudF9jcHVfdG9fYmUzMigweDAwMDAwODAwKQorI2RlZmluZQlERVNDX0hEUl9NT0RFMV9NREVVX1BBRAkJX19jb25zdGFudF9jcHVfdG9fYmUzMigweDAwMDAwNDAwKQorI2RlZmluZQlERVNDX0hEUl9NT0RFMV9NREVVX01ENQkJX19jb25zdGFudF9jcHVfdG9fYmUzMigweDAwMDAwMjAwKQorI2RlZmluZQlERVNDX0hEUl9NT0RFMV9NREVVX1NIQTI1NglfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4MDAwMDAxMDApCisjZGVmaW5lCURFU0NfSERSX01PREUxX01ERVVfU0hBMQlfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4MDAwMDAwMDApCisjZGVmaW5lCURFU0NfSERSX01PREUxX01ERVVfTUQ1X0hNQUMJKERFU0NfSERSX01PREUxX01ERVVfTUQ1IHwgXAorCQkJCQkgREVTQ19IRFJfTU9ERTFfTURFVV9ITUFDKQorI2RlZmluZQlERVNDX0hEUl9NT0RFMV9NREVVX1NIQTI1Nl9ITUFDCShERVNDX0hEUl9NT0RFMV9NREVVX1NIQTI1NiB8IFwKKwkJCQkJIERFU0NfSERSX01PREUxX01ERVVfSE1BQykKKyNkZWZpbmUJREVTQ19IRFJfTU9ERTFfTURFVV9TSEExX0hNQUMJKERFU0NfSERSX01PREUxX01ERVVfU0hBMSB8IFwKKwkJCQkJIERFU0NfSERSX01PREUxX01ERVVfSE1BQykKKworLyogZGlyZWN0aW9uIG9mIG92ZXJhbGwgZGF0YSBmbG93IChESVIpICovCisjZGVmaW5lCURFU0NfSERSX0RJUl9JTkJPVU5ECQlfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4MDAwMDAwMDIpCisKKy8qIHJlcXVlc3QgZG9uZSBub3RpZmljYXRpb24gKEROKSAqLworI2RlZmluZQlERVNDX0hEUl9ET05FX05PVElGWQkJX19jb25zdGFudF9jcHVfdG9fYmUzMigweDAwMDAwMDAxKQorCisvKiBkZXNjcmlwdG9yIHR5cGVzICovCisjZGVmaW5lIERFU0NfSERSX1RZUEVfQUVTVV9DVFJfTk9OU05PT1AJCV9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMCA8PCAzKQorI2RlZmluZSBERVNDX0hEUl9UWVBFX0lQU0VDX0VTUAkJCV9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMSA8PCAzKQorI2RlZmluZSBERVNDX0hEUl9UWVBFX0NPTU1PTl9OT05TTk9PUF9OT19BRkVVCV9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMiA8PCAzKQorI2RlZmluZSBERVNDX0hEUl9UWVBFX0hNQUNfU05PT1BfTk9fQUZFVQlfX2NvbnN0YW50X2NwdV90b19iZTMyKDQgPDwgMykKKworLyogbGluayB0YWJsZSBleHRlbnQgZmllbGQgYml0cyAqLworI2RlZmluZSBERVNDX1BUUl9MTktUQkxfSlVNUAkJCTB4ODAKKyNkZWZpbmUgREVTQ19QVFJfTE5LVEJMX1JFVFVSTgkJCTB4MDIKKyNkZWZpbmUgREVTQ19QVFJfTE5LVEJMX05FWFQJCQkweDAxCmRpZmYgLS1naXQgYS9kcml2ZXJzL2ZpcmV3aXJlL2Z3LWNhcmQuYyBiL2RyaXZlcnMvZmlyZXdpcmUvZnctY2FyZC5jCmluZGV4IDViNGMwZDkuLmRhODczZDcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZmlyZXdpcmUvZnctY2FyZC5jCisrKyBiL2RyaXZlcnMvZmlyZXdpcmUvZnctY2FyZC5jCkBAIC0xNiwxMiArMTYsMTUgQEAKICAqIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCiAgKi8KIAotI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgotI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CisjaW5jbHVkZSA8bGludXgvY29tcGxldGlvbi5oPgorI2luY2x1ZGUgPGxpbnV4L2NyYy1pdHUtdC5oPgogI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CiAjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KKyNpbmNsdWRlIDxsaW51eC9rcmVmLmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KLSNpbmNsdWRlIDxsaW51eC9jcmMtaXR1LXQuaD4KKwogI2luY2x1ZGUgImZ3LXRyYW5zYWN0aW9uLmgiCiAjaW5jbHVkZSAiZnctdG9wb2xvZ3kuaCIKICNpbmNsdWRlICJmdy1kZXZpY2UuaCIKQEAgLTM5NiwxNCArMzk5LDE2IEBACiB7CiAJc3RhdGljIGF0b21pY190IGluZGV4ID0gQVRPTUlDX0lOSVQoLTEpOwogCi0JYXRvbWljX3NldCgmY2FyZC0+ZGV2aWNlX2NvdW50LCAwKTsKIAljYXJkLT5pbmRleCA9IGF0b21pY19pbmNfcmV0dXJuKCZpbmRleCk7CiAJY2FyZC0+ZHJpdmVyID0gZHJpdmVyOwogCWNhcmQtPmRldmljZSA9IGRldmljZTsKIAljYXJkLT5jdXJyZW50X3RsYWJlbCA9IDA7CiAJY2FyZC0+dGxhYmVsX21hc2sgPSAwOwogCWNhcmQtPmNvbG9yID0gMDsKKwljYXJkLT5icm9hZGNhc3RfY2hhbm5lbCA9IEJST0FEQ0FTVF9DSEFOTkVMX0lOSVRJQUw7CiAKKwlrcmVmX2luaXQoJmNhcmQtPmtyZWYpOworCWluaXRfY29tcGxldGlvbigmY2FyZC0+ZG9uZSk7CiAJSU5JVF9MSVNUX0hFQUQoJmNhcmQtPnRyYW5zYWN0aW9uX2xpc3QpOwogCXNwaW5fbG9ja19pbml0KCZjYXJkLT5sb2NrKTsKIAlzZXR1cF90aW1lcigmY2FyZC0+Zmx1c2hfdGltZXIsCkBAIC00OTYsNyArNTAxLDYgQEAKIH0KIAogc3RhdGljIHN0cnVjdCBmd19jYXJkX2RyaXZlciBkdW1teV9kcml2ZXIgPSB7Ci0JLm5hbWUgICAgICAgICAgICA9ICJkdW1teSIsCiAJLmVuYWJsZSAgICAgICAgICA9IGR1bW15X2VuYWJsZSwKIAkudXBkYXRlX3BoeV9yZWcgID0gZHVtbXlfdXBkYXRlX3BoeV9yZWcsCiAJLnNldF9jb25maWdfcm9tICA9IGR1bW15X3NldF9jb25maWdfcm9tLApAQCAtNTA3LDYgKzUxMSwxNCBAQAogfTsKIAogdm9pZAorZndfY2FyZF9yZWxlYXNlKHN0cnVjdCBrcmVmICprcmVmKQoreworCXN0cnVjdCBmd19jYXJkICpjYXJkID0gY29udGFpbmVyX29mKGtyZWYsIHN0cnVjdCBmd19jYXJkLCBrcmVmKTsKKworCWNvbXBsZXRlKCZjYXJkLT5kb25lKTsKK30KKwordm9pZAogZndfY29yZV9yZW1vdmVfY2FyZChzdHJ1Y3QgZndfY2FyZCAqY2FyZCkKIHsKIAljYXJkLT5kcml2ZXItPnVwZGF0ZV9waHlfcmVnKGNhcmQsIDQsCkBAIC01MjEsMTIgKzUzMywxMCBAQAogCWNhcmQtPmRyaXZlciA9ICZkdW1teV9kcml2ZXI7CiAKIAlmd19kZXN0cm95X25vZGVzKGNhcmQpOwotCS8qCi0JICogV2FpdCBmb3IgYWxsIGRldmljZSB3b3JrcXVldWUgam9icyB0byBmaW5pc2guICBPdGhlcndpc2UgdGhlCi0JICogZmlyZXdpcmUtY29yZSBtb2R1bGUgY291bGQgYmUgdW5sb2FkZWQgYmVmb3JlIHRoZSBqb2JzIHJhbi4KLQkgKi8KLQl3aGlsZSAoYXRvbWljX3JlYWQoJmNhcmQtPmRldmljZV9jb3VudCkgPiAwKQotCQltc2xlZXAoMTAwKTsKKworCS8qIFdhaXQgZm9yIGFsbCB1c2VycywgZXNwZWNpYWxseSBkZXZpY2Ugd29ya3F1ZXVlIGpvYnMsIHRvIGZpbmlzaC4gKi8KKwlmd19jYXJkX3B1dChjYXJkKTsKKwl3YWl0X2Zvcl9jb21wbGV0aW9uKCZjYXJkLT5kb25lKTsKIAogCWNhbmNlbF9kZWxheWVkX3dvcmtfc3luYygmY2FyZC0+d29yayk7CiAJZndfZmx1c2hfdHJhbnNhY3Rpb25zKGNhcmQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9maXJld2lyZS9mdy1kZXZpY2UuYyBiL2RyaXZlcnMvZmlyZXdpcmUvZnctZGV2aWNlLmMKaW5kZXggZDljOGRhZi4uMDg1NWZiNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9maXJld2lyZS9mdy1kZXZpY2UuYworKysgYi9kcml2ZXJzL2ZpcmV3aXJlL2Z3LWRldmljZS5jCkBAIC0xNjgsNyArMTY4LDcgQEAKIAlmd19ub2RlX3B1dChkZXZpY2UtPm5vZGUpOwogCWtmcmVlKGRldmljZS0+Y29uZmlnX3JvbSk7CiAJa2ZyZWUoZGV2aWNlKTsKLQlhdG9taWNfZGVjKCZjYXJkLT5kZXZpY2VfY291bnQpOworCWZ3X2NhcmRfcHV0KGNhcmQpOwogfQogCiBpbnQgZndfZGV2aWNlX2VuYWJsZV9waHlzX2RtYShzdHJ1Y3QgZndfZGV2aWNlICpkZXZpY2UpCkBAIC05NDYsOCArOTQ2LDcgQEAKIAkJICovCiAJCWRldmljZV9pbml0aWFsaXplKCZkZXZpY2UtPmRldmljZSk7CiAJCWF0b21pY19zZXQoJmRldmljZS0+c3RhdGUsIEZXX0RFVklDRV9JTklUSUFMSVpJTkcpOwotCQlhdG9taWNfaW5jKCZjYXJkLT5kZXZpY2VfY291bnQpOwotCQlkZXZpY2UtPmNhcmQgPSBjYXJkOworCQlkZXZpY2UtPmNhcmQgPSBmd19jYXJkX2dldChjYXJkKTsKIAkJZGV2aWNlLT5ub2RlID0gZndfbm9kZV9nZXQobm9kZSk7CiAJCWRldmljZS0+bm9kZV9pZCA9IG5vZGUtPm5vZGVfaWQ7CiAJCWRldmljZS0+Z2VuZXJhdGlvbiA9IGNhcmQtPmdlbmVyYXRpb247CmRpZmYgLS1naXQgYS9kcml2ZXJzL2ZpcmV3aXJlL2Z3LWRldmljZS5oIGIvZHJpdmVycy9maXJld2lyZS9mdy1kZXZpY2UuaAppbmRleCA1ZjEzMWY1Li40MjMwNWJiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2ZpcmV3aXJlL2Z3LWRldmljZS5oCisrKyBiL2RyaXZlcnMvZmlyZXdpcmUvZnctZGV2aWNlLmgKQEAgLTYyLDcgKzYyLDYgQEAKIAlib29sIGNtYzsKIAlzdHJ1Y3QgZndfY2FyZCAqY2FyZDsKIAlzdHJ1Y3QgZGV2aWNlIGRldmljZTsKLQlzdHJ1Y3QgbGlzdF9oZWFkIGxpbms7CiAJc3RydWN0IGxpc3RfaGVhZCBjbGllbnRfbGlzdDsKIAl1MzIgKmNvbmZpZ19yb207CiAJc2l6ZV90IGNvbmZpZ19yb21fbGVuZ3RoOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9maXJld2lyZS9mdy1vaGNpLmMgYi9kcml2ZXJzL2ZpcmV3aXJlL2Z3LW9oY2kuYwppbmRleCAwYjY2MzA2Li4zMzNiMTI1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2ZpcmV3aXJlL2Z3LW9oY2kuYworKysgYi9kcml2ZXJzL2ZpcmV3aXJlL2Z3LW9oY2kuYwpAQCAtMjI5Miw3ICsyMjkyLDYgQEAKIH0KIAogc3RhdGljIGNvbnN0IHN0cnVjdCBmd19jYXJkX2RyaXZlciBvaGNpX2RyaXZlciA9IHsKLQkubmFtZQkJCT0gb2hjaV9kcml2ZXJfbmFtZSwKIAkuZW5hYmxlCQkJPSBvaGNpX2VuYWJsZSwKIAkudXBkYXRlX3BoeV9yZWcJCT0gb2hjaV91cGRhdGVfcGh5X3JlZywKIAkuc2V0X2NvbmZpZ19yb20JCT0gb2hjaV9zZXRfY29uZmlnX3JvbSwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZmlyZXdpcmUvZnctc2JwMi5jIGIvZHJpdmVycy9maXJld2lyZS9mdy1zYnAyLmMKaW5kZXggMjI3ZDJlMC4uNTNmYzVhNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9maXJld2lyZS9mdy1zYnAyLmMKKysrIGIvZHJpdmVycy9maXJld2lyZS9mdy1zYnAyLmMKQEAgLTg2LDYgKzg2LDExIEBACiAgKiAtIGRlbGF5IGlucXVpcnkKICAqICAgV2FpdCBleHRyYSBTQlAyX0lOUVVJUllfREVMQVkgc2Vjb25kcyBhZnRlciBsb2dpbiBiZWZvcmUgU0NTSSBpbnF1aXJ5LgogICoKKyAqIC0gcG93ZXIgY29uZGl0aW9uCisgKiAgIFNldCB0aGUgcG93ZXIgY29uZGl0aW9uIGZpZWxkIGluIHRoZSBTVEFSVCBTVE9QIFVOSVQgY29tbWFuZHMgc2VudCBieQorICogICBzZF9tb2Qgb24gc3VzcGVuZCwgcmVzdW1lLCBhbmQgc2h1dGRvd24gKGlmIG1hbmFnZV9zdGFydF9zdG9wIGlzIG9uKS4KKyAqICAgU29tZSBkaXNrcyBuZWVkIHRoaXMgdG8gc3BpbiBkb3duIG9yIHRvIHJlc3VtZSBwcm9wZXJseS4KKyAqCiAgKiAtIG92ZXJyaWRlIGludGVybmFsIGJsYWNrbGlzdAogICogICBJbnN0ZWFkIG9mIGFkZGluZyB0byB0aGUgYnVpbHQtaW4gYmxhY2tsaXN0LCB1c2Ugb25seSB0aGUgd29ya2Fyb3VuZHMKICAqICAgc3BlY2lmaWVkIGluIHRoZSBtb2R1bGUgbG9hZCBwYXJhbWV0ZXIuCkBAIC05Nyw2ICsxMDIsNyBAQAogI2RlZmluZSBTQlAyX1dPUktBUk9VTkRfRklYX0NBUEFDSVRZCTB4OAogI2RlZmluZSBTQlAyX1dPUktBUk9VTkRfREVMQVlfSU5RVUlSWQkweDEwCiAjZGVmaW5lIFNCUDJfSU5RVUlSWV9ERUxBWQkJMTIKKyNkZWZpbmUgU0JQMl9XT1JLQVJPVU5EX1BPV0VSX0NPTkRJVElPTgkweDIwCiAjZGVmaW5lIFNCUDJfV09SS0FST1VORF9PVkVSUklERQkweDEwMAogCiBzdGF0aWMgaW50IHNicDJfcGFyYW1fd29ya2Fyb3VuZHM7CkBAIC0xMDcsNiArMTEzLDggQEAKIAkiLCBza2lwIG1vZGUgcGFnZSA4ID0gIiAgIF9fc3RyaW5naWZ5KFNCUDJfV09SS0FST1VORF9NT0RFX1NFTlNFXzgpCiAJIiwgZml4IGNhcGFjaXR5ID0gIiAgICAgICBfX3N0cmluZ2lmeShTQlAyX1dPUktBUk9VTkRfRklYX0NBUEFDSVRZKQogCSIsIGRlbGF5IGlucXVpcnkgPSAiICAgICAgX19zdHJpbmdpZnkoU0JQMl9XT1JLQVJPVU5EX0RFTEFZX0lOUVVJUlkpCisJIiwgc2V0IHBvd2VyIGNvbmRpdGlvbiBpbiBzdGFydCBzdG9wIHVuaXQgPSAiCisJCQkJICBfX3N0cmluZ2lmeShTQlAyX1dPUktBUk9VTkRfUE9XRVJfQ09ORElUSU9OKQogCSIsIG92ZXJyaWRlIGludGVybmFsIGJsYWNrbGlzdCA9ICIgX19zdHJpbmdpZnkoU0JQMl9XT1JLQVJPVU5EX09WRVJSSURFKQogCSIsIG9yIGEgY29tYmluYXRpb24pIik7CiAKQEAgLTMxMCwxOCArMzE4LDI1IEBACiAJCS5maXJtd2FyZV9yZXZpc2lvbgk9IDB4MDAyODAwLAogCQkubW9kZWwJCQk9IDB4MDAxMDEwLAogCQkud29ya2Fyb3VuZHMJCT0gU0JQMl9XT1JLQVJPVU5EX0lOUVVJUllfMzYgfAotCQkJCQkgIFNCUDJfV09SS0FST1VORF9NT0RFX1NFTlNFXzgsCisJCQkJCSAgU0JQMl9XT1JLQVJPVU5EX01PREVfU0VOU0VfOCB8CisJCQkJCSAgU0JQMl9XT1JLQVJPVU5EX1BPV0VSX0NPTkRJVElPTiwKIAl9LAogCS8qIERWaUNPIE1vbW9iYXkgRlgtM0Egd2l0aCBUU0I0MkFBOUEgYnJpZGdlICovIHsKIAkJLmZpcm13YXJlX3JldmlzaW9uCT0gMHgwMDI4MDAsCiAJCS5tb2RlbAkJCT0gMHgwMDAwMDAsCi0JCS53b3JrYXJvdW5kcwkJPSBTQlAyX1dPUktBUk9VTkRfREVMQVlfSU5RVUlSWSwKKwkJLndvcmthcm91bmRzCQk9IFNCUDJfV09SS0FST1VORF9ERUxBWV9JTlFVSVJZIHwKKwkJCQkJICBTQlAyX1dPUktBUk9VTkRfUE9XRVJfQ09ORElUSU9OLAogCX0sCiAJLyogSW5pdGlvIGJyaWRnZXMsIGFjdHVhbGx5IG9ubHkgbmVlZGVkIGZvciBzb21lIG9sZGVyIG9uZXMgKi8gewogCQkuZmlybXdhcmVfcmV2aXNpb24JPSAweDAwMDIwMCwKIAkJLm1vZGVsCQkJPSB+MCwKIAkJLndvcmthcm91bmRzCQk9IFNCUDJfV09SS0FST1VORF9JTlFVSVJZXzM2LAogCX0sCisJLyogUEwtMzUwNyBicmlkZ2Ugd2l0aCBQcm9saWZpYyBmaXJtd2FyZSAqLyB7CisJCS5maXJtd2FyZV9yZXZpc2lvbgk9IDB4MDEyODAwLAorCQkubW9kZWwJCQk9IH4wLAorCQkud29ya2Fyb3VuZHMJCT0gU0JQMl9XT1JLQVJPVU5EX1BPV0VSX0NPTkRJVElPTiwKKwl9LAogCS8qIFN5bWJpb3MgYnJpZGdlICovIHsKIAkJLmZpcm13YXJlX3JldmlzaW9uCT0gMHhhMGI4MDAsCiAJCS5tb2RlbAkJCT0gfjAsCkBAIC0xNTMwLDYgKzE1NDUsOSBAQAogCiAJc2Rldi0+dXNlXzEwX2Zvcl9ydyA9IDE7CiAKKwlpZiAoc2JwMl9wYXJhbV9leGNsdXNpdmVfbG9naW4pCisJCXNkZXYtPm1hbmFnZV9zdGFydF9zdG9wID0gMTsKKwogCWlmIChzZGV2LT50eXBlID09IFRZUEVfUk9NKQogCQlzZGV2LT51c2VfMTBfZm9yX21zID0gMTsKIApAQCAtMTU0MCw2ICsxNTU4LDkgQEAKIAlpZiAobHUtPnRndC0+d29ya2Fyb3VuZHMgJiBTQlAyX1dPUktBUk9VTkRfRklYX0NBUEFDSVRZKQogCQlzZGV2LT5maXhfY2FwYWNpdHkgPSAxOwogCisJaWYgKGx1LT50Z3QtPndvcmthcm91bmRzICYgU0JQMl9XT1JLQVJPVU5EX1BPV0VSX0NPTkRJVElPTikKKwkJc2Rldi0+c3RhcnRfc3RvcF9wd3JfY29uZCA9IDE7CisKIAlpZiAobHUtPnRndC0+d29ya2Fyb3VuZHMgJiBTQlAyX1dPUktBUk9VTkRfMTI4S19NQVhfVFJBTlMpCiAJCWJsa19xdWV1ZV9tYXhfc2VjdG9ycyhzZGV2LT5yZXF1ZXN0X3F1ZXVlLCAxMjggKiAxMDI0IC8gNTEyKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9maXJld2lyZS9mdy10cmFuc2FjdGlvbi5jIGIvZHJpdmVycy9maXJld2lyZS9mdy10cmFuc2FjdGlvbi5jCmluZGV4IDAzYWU4YTcuLjQwZGI4MDcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZmlyZXdpcmUvZnctdHJhbnNhY3Rpb24uYworKysgYi9kcml2ZXJzL2ZpcmV3aXJlL2Z3LXRyYW5zYWN0aW9uLmMKQEAgLTU1LDYgKzU1LDkgQEAKICNkZWZpbmUgSEVBREVSX0dFVF9EQVRBX0xFTkdUSChxKQkoKChxKSA+PiAxNikgJiAweGZmZmYpCiAjZGVmaW5lIEhFQURFUl9HRVRfRVhURU5ERURfVENPREUocSkJKCgocSkgPj4gMCkgJiAweGZmZmYpCiAKKyNkZWZpbmUgSEVBREVSX0RFU1RJTkFUSU9OX0lTX0JST0FEQ0FTVChxKSBcCisJKCgocSkgJiBIRUFERVJfREVTVElOQVRJT04oMHgzZikpID09IEhFQURFUl9ERVNUSU5BVElPTigweDNmKSkKKwogI2RlZmluZSBQSFlfQ09ORklHX0dBUF9DT1VOVChnYXBfY291bnQpCSgoKGdhcF9jb3VudCkgPDwgMTYpIHwgKDEgPDwgMjIpKQogI2RlZmluZSBQSFlfQ09ORklHX1JPT1RfSUQobm9kZV9pZCkJKCgoKG5vZGVfaWQpICYgMHgzZikgPDwgMjQpIHwgKDEgPDwgMjMpKQogI2RlZmluZSBQSFlfSURFTlRJRklFUihpZCkJCSgoaWQpIDw8IDMwKQpAQCAtNjI0LDEyICs2MjcsOSBAQAogdm9pZAogZndfc2VuZF9yZXNwb25zZShzdHJ1Y3QgZndfY2FyZCAqY2FyZCwgc3RydWN0IGZ3X3JlcXVlc3QgKnJlcXVlc3QsIGludCByY29kZSkKIHsKLQkvKgotCSAqIEJyb2FkY2FzdCBwYWNrZXRzIGFyZSByZXBvcnRlZCBhcyBBQ0tfQ09NUExFVEUsIHNvIHRoaXMKLQkgKiBjaGVjayBpcyBzdWZmaWNpZW50IHRvIGVuc3VyZSB3ZSBkb24ndCBzZW5kIHJlc3BvbnNlIHRvCi0JICogYnJvYWRjYXN0IHBhY2tldHMgb3IgcG9zdGVkIHdyaXRlcy4KLQkgKi8KLQlpZiAocmVxdWVzdC0+YWNrICE9IEFDS19QRU5ESU5HKSB7CisJLyogdW5pZmllZCB0cmFuc2FjdGlvbiBvciBicm9hZGNhc3QgdHJhbnNhY3Rpb246IGRvbid0IHJlc3BvbmQgKi8KKwlpZiAocmVxdWVzdC0+YWNrICE9IEFDS19QRU5ESU5HIHx8CisJICAgIEhFQURFUl9ERVNUSU5BVElPTl9JU19CUk9BRENBU1QocmVxdWVzdC0+cmVxdWVzdF9oZWFkZXJbMF0pKSB7CiAJCWtmcmVlKHJlcXVlc3QpOwogCQlyZXR1cm47CiAJfQpAQCAtODE3LDEyICs4MTcsMTMgQEAKIAlpbnQgcmVnID0gb2Zmc2V0ICYgfkNTUl9SRUdJU1RFUl9CQVNFOwogCXVuc2lnbmVkIGxvbmcgbG9uZyBidXNfdGltZTsKIAlfX2JlMzIgKmRhdGEgPSBwYXlsb2FkOworCWludCByY29kZSA9IFJDT0RFX0NPTVBMRVRFOwogCiAJc3dpdGNoIChyZWcpIHsKIAljYXNlIENTUl9DWUNMRV9USU1FOgogCWNhc2UgQ1NSX0JVU19USU1FOgogCQlpZiAoIVRDT0RFX0lTX1JFQURfUkVRVUVTVCh0Y29kZSkgfHwgbGVuZ3RoICE9IDQpIHsKLQkJCWZ3X3NlbmRfcmVzcG9uc2UoY2FyZCwgcmVxdWVzdCwgUkNPREVfVFlQRV9FUlJPUik7CisJCQlyY29kZSA9IFJDT0RFX1RZUEVfRVJST1I7CiAJCQlicmVhazsKIAkJfQogCkBAIC04MzEsNyArODMyLDE3IEBACiAJCQkqZGF0YSA9IGNwdV90b19iZTMyKGJ1c190aW1lKTsKIAkJZWxzZQogCQkJKmRhdGEgPSBjcHVfdG9fYmUzMihidXNfdGltZSA+PiAyNSk7Ci0JCWZ3X3NlbmRfcmVzcG9uc2UoY2FyZCwgcmVxdWVzdCwgUkNPREVfQ09NUExFVEUpOworCQlicmVhazsKKworCWNhc2UgQ1NSX0JST0FEQ0FTVF9DSEFOTkVMOgorCQlpZiAodGNvZGUgPT0gVENPREVfUkVBRF9RVUFETEVUX1JFUVVFU1QpCisJCQkqZGF0YSA9IGNwdV90b19iZTMyKGNhcmQtPmJyb2FkY2FzdF9jaGFubmVsKTsKKwkJZWxzZSBpZiAodGNvZGUgPT0gVENPREVfV1JJVEVfUVVBRExFVF9SRVFVRVNUKQorCQkJY2FyZC0+YnJvYWRjYXN0X2NoYW5uZWwgPQorCQkJICAgIChiZTMyX3RvX2NwdSgqZGF0YSkgJiBCUk9BRENBU1RfQ0hBTk5FTF9WQUxJRCkgfAorCQkJICAgIEJST0FEQ0FTVF9DSEFOTkVMX0lOSVRJQUw7CisJCWVsc2UKKwkJCXJjb2RlID0gUkNPREVfVFlQRV9FUlJPUjsKIAkJYnJlYWs7CiAKIAljYXNlIENTUl9CVVNfTUFOQUdFUl9JRDoKQEAgLTg1MCwxMCArODYxLDEzIEBACiAKIAljYXNlIENTUl9CVVNZX1RJTUVPVVQ6CiAJCS8qIEZJWE1FOiBJbXBsZW1lbnQgdGhpcy4gKi8KKwogCWRlZmF1bHQ6Ci0JCWZ3X3NlbmRfcmVzcG9uc2UoY2FyZCwgcmVxdWVzdCwgUkNPREVfQUREUkVTU19FUlJPUik7CisJCXJjb2RlID0gUkNPREVfQUREUkVTU19FUlJPUjsKIAkJYnJlYWs7CiAJfQorCisJZndfc2VuZF9yZXNwb25zZShjYXJkLCByZXF1ZXN0LCByY29kZSk7CiB9CiAKIHN0YXRpYyBzdHJ1Y3QgZndfYWRkcmVzc19oYW5kbGVyIHJlZ2lzdGVycyA9IHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZmlyZXdpcmUvZnctdHJhbnNhY3Rpb24uaCBiL2RyaXZlcnMvZmlyZXdpcmUvZnctdHJhbnNhY3Rpb24uaAppbmRleCAwNGQzODU0Li4yYWUxYjBkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2ZpcmV3aXJlL2Z3LXRyYW5zYWN0aW9uLmgKKysrIGIvZHJpdmVycy9maXJld2lyZS9mdy10cmFuc2FjdGlvbi5oCkBAIC0xOSwxNCArMTksMTUgQEAKICNpZm5kZWYgX19md190cmFuc2FjdGlvbl9oCiAjZGVmaW5lIF9fZndfdHJhbnNhY3Rpb25faAogCisjaW5jbHVkZSA8bGludXgvY29tcGxldGlvbi5oPgogI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgotI2luY2x1ZGUgPGxpbnV4L3RpbWVyLmg+Ci0jaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+Ci0jaW5jbHVkZSA8bGludXgvbGlzdC5oPgotI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvZG1hLW1hcHBpbmcuaD4KICNpbmNsdWRlIDxsaW51eC9maXJld2lyZS1jb25zdGFudHMuaD4KLSNpbmNsdWRlIDxhc20vYXRvbWljLmg+CisjaW5jbHVkZSA8bGludXgva3JlZi5oPgorI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KKyNpbmNsdWRlIDxsaW51eC9zcGlubG9ja190eXBlcy5oPgorI2luY2x1ZGUgPGxpbnV4L3RpbWVyLmg+CisjaW5jbHVkZSA8bGludXgvd29ya3F1ZXVlLmg+CiAKICNkZWZpbmUgVENPREVfSVNfUkVBRF9SRVFVRVNUKHRjb2RlKQkoKCh0Y29kZSkgJiB+MSkgPT0gNCkKICNkZWZpbmUgVENPREVfSVNfQkxPQ0tfUEFDS0VUKHRjb2RlKQkoKCh0Y29kZSkgJiAgMSkgIT0gMCkKQEAgLTgwLDYgKzgxLDkgQEAKICNkZWZpbmUgQ1NSX1NQRUVEX01BUAkJCTB4MjAwMAogI2RlZmluZSBDU1JfU1BFRURfTUFQX0VORAkJMHgzMDAwCiAKKyNkZWZpbmUgQlJPQURDQVNUX0NIQU5ORUxfSU5JVElBTAkoMSA8PCAzMSB8IDMxKQorI2RlZmluZSBCUk9BRENBU1RfQ0hBTk5FTF9WQUxJRAkJKDEgPDwgMzApCisKICNkZWZpbmUgZndfbm90aWZ5KHMsIGFyZ3MuLi4pIHByaW50ayhLRVJOX05PVElDRSBLQlVJTERfTU9ETkFNRSAiOiAiIHMsICMjIGFyZ3MpCiAjZGVmaW5lIGZ3X2Vycm9yKHMsIGFyZ3MuLi4pIHByaW50ayhLRVJOX0VSUiBLQlVJTERfTU9ETkFNRSAiOiAiIHMsICMjIGFyZ3MpCiAKQEAgLTIxNiw3ICsyMjAsOCBAQAogc3RydWN0IGZ3X2NhcmQgewogCWNvbnN0IHN0cnVjdCBmd19jYXJkX2RyaXZlciAqZHJpdmVyOwogCXN0cnVjdCBkZXZpY2UgKmRldmljZTsKLQlhdG9taWNfdCBkZXZpY2VfY291bnQ7CisJc3RydWN0IGtyZWYga3JlZjsKKwlzdHJ1Y3QgY29tcGxldGlvbiBkb25lOwogCiAJaW50IG5vZGVfaWQ7CiAJaW50IGdlbmVyYXRpb247CkBAIC0yMzYsNiArMjQxLDcgQEAKIAkgKi8KIAlpbnQgc2VsZl9pZF9jb3VudDsKIAl1MzIgdG9wb2xvZ3lfbWFwWzI1MiArIDNdOworCXUzMiBicm9hZGNhc3RfY2hhbm5lbDsKIAogCXNwaW5sb2NrX3QgbG9jazsgLyogVGFrZSB0aGlzIGxvY2sgd2hlbiBoYW5kbGluZyB0aGUgbGlzdHMgaW4KIAkJCSAgKiB0aGlzIHN0cnVjdC4gKi8KQEAgLTI1Niw2ICsyNjIsMjAgQEAKIAlpbnQgYm1fZ2VuZXJhdGlvbjsKIH07CiAKK3N0YXRpYyBpbmxpbmUgc3RydWN0IGZ3X2NhcmQgKmZ3X2NhcmRfZ2V0KHN0cnVjdCBmd19jYXJkICpjYXJkKQoreworCWtyZWZfZ2V0KCZjYXJkLT5rcmVmKTsKKworCXJldHVybiBjYXJkOworfQorCit2b2lkIGZ3X2NhcmRfcmVsZWFzZShzdHJ1Y3Qga3JlZiAqa3JlZik7CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBmd19jYXJkX3B1dChzdHJ1Y3QgZndfY2FyZCAqY2FyZCkKK3sKKwlrcmVmX3B1dCgmY2FyZC0+a3JlZiwgZndfY2FyZF9yZWxlYXNlKTsKK30KKwogLyoKICAqIFRoZSBpc28gcGFja2V0IGZvcm1hdCBhbGxvd3MgZm9yIGFuIGltbWVkaWF0ZSBoZWFkZXIvcGF5bG9hZCBwYXJ0CiAgKiBzdG9yZWQgaW4gJ2hlYWRlcicgaW1tZWRpYXRlbHkgYWZ0ZXIgdGhlIHBhY2tldCBpbmZvIHBsdXMgYW4KQEAgLTM0OCw4ICszNjgsNiBAQAogZndfaXNvX2NvbnRleHRfc3RvcChzdHJ1Y3QgZndfaXNvX2NvbnRleHQgKmN0eCk7CiAKIHN0cnVjdCBmd19jYXJkX2RyaXZlciB7Ci0JY29uc3QgY2hhciAqbmFtZTsKLQogCS8qCiAJICogRW5hYmxlIHRoZSBnaXZlbiBjYXJkIHdpdGggdGhlIGdpdmVuIGluaXRpYWwgY29uZmlnIHJvbS4KIAkgKiBUaGlzIGZ1bmN0aW9uIGlzIGV4cGVjdGVkIHRvIGFjdGl2YXRlIHRoZSBjYXJkLCBhbmQgZWl0aGVyCmRpZmYgLS1naXQgYS9kcml2ZXJzL2Zpcm13YXJlL0tjb25maWcgYi9kcml2ZXJzL2Zpcm13YXJlL0tjb25maWcKaW5kZXggZGMyY2VjNi4uZWJiOWU1MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9maXJtd2FyZS9LY29uZmlnCisrKyBiL2RyaXZlcnMvZmlybXdhcmUvS2NvbmZpZwpAQCAtMjYsNiArMjYsMTYgQEAKIAkgIGtlcm5lbC4gU2F5IE4gaWYgeW91IHdhbnQgRUREIGVuYWJsZWQgYnkgZGVmYXVsdC4gRUREIGNhbiBiZSBkeW5hbWljYWxseSBzZXQKIAkgIHVzaW5nIHRoZSBrZXJuZWwgcGFyYW1ldGVyICdlZGQ9e29ufHNraXBtYnJ8b2ZmfScuCiAKK2NvbmZpZyBGSVJNV0FSRV9NRU1NQVAKKyAgICBib29sICJBZGQgZmlybXdhcmUtcHJvdmlkZWQgbWVtb3J5IG1hcCB0byBzeXNmcyIgaWYgRU1CRURERUQKKyAgICBkZWZhdWx0IChYODZfNjQgfHwgWDg2XzMyKQorICAgIGhlbHAKKyAgICAgIEFkZCB0aGUgZmlybXdhcmUtcHJvdmlkZWQgKHVubW9kaWZpZWQpIG1lbW9yeSBtYXAgdG8gL3N5cy9maXJtd2FyZS9tZW1tYXAuCisgICAgICBUaGF0IG1lbW9yeSBtYXAgaXMgdXNlZCBmb3IgZXhhbXBsZSBieSBrZXhlYyB0byBzZXQgdXAgcGFyYW1ldGVyIGFyZWEKKyAgICAgIGZvciB0aGUgbmV4dCBrZXJuZWwsIGJ1dCBjYW4gYWxzbyBiZSB1c2VkIGZvciBkZWJ1Z2dpbmcgcHVycG9zZXMuCisKKyAgICAgIFNlZSBhbHNvIERvY3VtZW50YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMtZmlybXdhcmUtbWVtbWFwLgorCiBjb25maWcgRUZJX1ZBUlMKIAl0cmlzdGF0ZSAiRUZJIFZhcmlhYmxlIFN1cHBvcnQgdmlhIHN5c2ZzIgogCWRlcGVuZHMgb24gRUZJCmRpZmYgLS1naXQgYS9kcml2ZXJzL2Zpcm13YXJlL01ha2VmaWxlIGIvZHJpdmVycy9maXJtd2FyZS9NYWtlZmlsZQppbmRleCA0YzkxNDcxLi4xYzNjMTczIDEwMDY0NAotLS0gYS9kcml2ZXJzL2Zpcm13YXJlL01ha2VmaWxlCisrKyBiL2RyaXZlcnMvZmlybXdhcmUvTWFrZWZpbGUKQEAgLTEwLDMgKzEwLDQgQEAKIG9iai0kKENPTkZJR19ETUlJRCkJCSs9IGRtaS1pZC5vCiBvYmotJChDT05GSUdfSVNDU0lfSUJGVF9GSU5EKQkrPSBpc2NzaV9pYmZ0X2ZpbmQubwogb2JqLSQoQ09ORklHX0lTQ1NJX0lCRlQpCSs9IGlzY3NpX2liZnQubworb2JqLSQoQ09ORklHX0ZJUk1XQVJFX01FTU1BUCkJKz0gbWVtbWFwLm8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZmlybXdhcmUvZGVsbF9yYnUuYyBiL2RyaXZlcnMvZmlybXdhcmUvZGVsbF9yYnUuYwppbmRleCA2YThiMWUwLi43NDMwZTIxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2Zpcm13YXJlL2RlbGxfcmJ1LmMKKysrIGIvZHJpdmVycy9maXJtd2FyZS9kZWxsX3JidS5jCkBAIC0yMjAsNyArMjIwLDcgQEAKIAlyZXR1cm4gcmV0dmFsOwogfQogCi1zdGF0aWMgaW50IHBhY2tldGl6ZV9kYXRhKHZvaWQgKmRhdGEsIHNpemVfdCBsZW5ndGgpCitzdGF0aWMgaW50IHBhY2tldGl6ZV9kYXRhKGNvbnN0IHU4ICpkYXRhLCBzaXplX3QgbGVuZ3RoKQogewogCWludCByYyA9IDA7CiAJaW50IGRvbmUgPSAwOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9maXJtd2FyZS9kbWlfc2Nhbi5jIGIvZHJpdmVycy9maXJtd2FyZS9kbWlfc2Nhbi5jCmluZGV4IGM1ZTNlZDcuLjQ1NTU3NWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZmlybXdhcmUvZG1pX3NjYW4uYworKysgYi9kcml2ZXJzL2Zpcm13YXJlL2RtaV9zY2FuLmMKQEAgLTgsNiArOCwxMSBAQAogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KICNpbmNsdWRlIDxhc20vZG1pLmg+CiAKKy8qCisgKiBETUkgc3RhbmRzIGZvciAiRGVza3RvcCBNYW5hZ2VtZW50IEludGVyZmFjZSIuICBJdCBpcyBwYXJ0CisgKiBvZiBhbmQgYW4gYW50ZWNlZGVudCB0bywgU01CSU9TLCB3aGljaCBzdGFuZHMgZm9yIFN5c3RlbQorICogTWFuYWdlbWVudCBCSU9TLiAgU2VlIGZ1cnRoZXI6IGh0dHA6Ly93d3cuZG10Zi5vcmcvc3RhbmRhcmRzCisgKi8KIHN0YXRpYyBjaGFyIGRtaV9lbXB0eV9zdHJpbmdbXSA9ICIgICAgICAgICI7CiAKIHN0YXRpYyBjb25zdCBjaGFyICogX19pbml0IGRtaV9zdHJpbmdfbm9zYXZlKGNvbnN0IHN0cnVjdCBkbWlfaGVhZGVyICpkbSwgdTggcykKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZmlybXdhcmUvbWVtbWFwLmMgYi9kcml2ZXJzL2Zpcm13YXJlL21lbW1hcC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUyMzM5OWMKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2Zpcm13YXJlL21lbW1hcC5jCkBAIC0wLDAgKzEsMjA1IEBACisvKgorICogbGludXgvZHJpdmVycy9maXJtd2FyZS9tZW1tYXAuYworICogIENvcHlyaWdodCAoQykgMjAwOCBTVVNFIExJTlVYIFByb2R1Y3RzIEdtYkgKKyAqICBieSBCZXJuaGFyZCBXYWxsZSA8YndhbGxlQHN1c2UuZGU+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdjIuMCBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqLworCisjaW5jbHVkZSA8bGludXgvc3RyaW5nLmg+CisjaW5jbHVkZSA8bGludXgvZmlybXdhcmUtbWFwLmg+CisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKyNpbmNsdWRlIDxsaW51eC9ib290bWVtLmg+CisKKy8qCisgKiBEYXRhIHR5cGVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICovCisKKy8qCisgKiBGaXJtd2FyZSBtYXAgZW50cnkuIEJlY2F1c2UgZmlybXdhcmUgbWVtb3J5IG1hcHMgYXJlIGZsYXQgYW5kIG5vdAorICogaGllcmFyY2hpY2FsLCBpdCdzIG9rIHRvIG9yZ2FuaXNlIHRoZW0gaW4gYSBsaW5rZWQgbGlzdC4gTm8gcGFyZW50CisgKiBpbmZvcm1hdGlvbiBpcyBuZWNlc3NhcnkgYXMgZm9yIHRoZSByZXNvdXJjZSB0cmVlLgorICovCitzdHJ1Y3QgZmlybXdhcmVfbWFwX2VudHJ5IHsKKwlyZXNvdXJjZV9zaXplX3QJCXN0YXJ0OwkvKiBzdGFydCBvZiB0aGUgbWVtb3J5IHJhbmdlICovCisJcmVzb3VyY2Vfc2l6ZV90CQllbmQ7CS8qIGVuZCBvZiB0aGUgbWVtb3J5IHJhbmdlIChpbmNsLikgKi8KKwljb25zdCBjaGFyCQkqdHlwZTsJLyogdHlwZSBvZiB0aGUgbWVtb3J5IHJhbmdlICovCisJc3RydWN0IGxpc3RfaGVhZAlsaXN0OwkvKiBlbnRyeSBmb3IgdGhlIGxpbmtlZCBsaXN0ICovCisJc3RydWN0IGtvYmplY3QJCWtvYmo7ICAgLyoga29iamVjdCBmb3IgZWFjaCBlbnRyeSAqLworfTsKKworLyoKKyAqIEZvcndhcmQgZGVjbGFyYXRpb25zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKi8KK3N0YXRpYyBzc2l6ZV90IG1lbW1hcF9hdHRyX3Nob3coc3RydWN0IGtvYmplY3QgKmtvYmosCisJCQkJc3RydWN0IGF0dHJpYnV0ZSAqYXR0ciwgY2hhciAqYnVmKTsKK3N0YXRpYyBzc2l6ZV90IHN0YXJ0X3Nob3coc3RydWN0IGZpcm13YXJlX21hcF9lbnRyeSAqZW50cnksIGNoYXIgKmJ1Zik7CitzdGF0aWMgc3NpemVfdCBlbmRfc2hvdyhzdHJ1Y3QgZmlybXdhcmVfbWFwX2VudHJ5ICplbnRyeSwgY2hhciAqYnVmKTsKK3N0YXRpYyBzc2l6ZV90IHR5cGVfc2hvdyhzdHJ1Y3QgZmlybXdhcmVfbWFwX2VudHJ5ICplbnRyeSwgY2hhciAqYnVmKTsKKworLyoKKyAqIFN0YXRpYyBkYXRhIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKi8KKworc3RydWN0IG1lbW1hcF9hdHRyaWJ1dGUgeworCXN0cnVjdCBhdHRyaWJ1dGUgYXR0cjsKKwlzc2l6ZV90ICgqc2hvdykoc3RydWN0IGZpcm13YXJlX21hcF9lbnRyeSAqZW50cnksIGNoYXIgKmJ1Zik7Cit9OworCitzdHJ1Y3QgbWVtbWFwX2F0dHJpYnV0ZSBtZW1tYXBfc3RhcnRfYXR0ciA9IF9fQVRUUl9STyhzdGFydCk7CitzdHJ1Y3QgbWVtbWFwX2F0dHJpYnV0ZSBtZW1tYXBfZW5kX2F0dHIgICA9IF9fQVRUUl9STyhlbmQpOworc3RydWN0IG1lbW1hcF9hdHRyaWJ1dGUgbWVtbWFwX3R5cGVfYXR0ciAgPSBfX0FUVFJfUk8odHlwZSk7CisKKy8qCisgKiBUaGVzZSBhcmUgZGVmYXVsdCBhdHRyaWJ1dGVzIHRoYXQgYXJlIGFkZGVkIGZvciBldmVyeSBtZW1tYXAgZW50cnkuCisgKi8KK3N0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlICpkZWZfYXR0cnNbXSA9IHsKKwkmbWVtbWFwX3N0YXJ0X2F0dHIuYXR0ciwKKwkmbWVtbWFwX2VuZF9hdHRyLmF0dHIsCisJJm1lbW1hcF90eXBlX2F0dHIuYXR0ciwKKwlOVUxMCit9OworCitzdGF0aWMgc3RydWN0IHN5c2ZzX29wcyBtZW1tYXBfYXR0cl9vcHMgPSB7CisJLnNob3cgPSBtZW1tYXBfYXR0cl9zaG93LAorfTsKKworc3RhdGljIHN0cnVjdCBrb2JqX3R5cGUgbWVtbWFwX2t0eXBlID0geworCS5zeXNmc19vcHMJPSAmbWVtbWFwX2F0dHJfb3BzLAorCS5kZWZhdWx0X2F0dHJzCT0gZGVmX2F0dHJzLAorfTsKKworLyoKKyAqIFJlZ2lzdHJhdGlvbiBmdW5jdGlvbnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKi8KKworLyoKKyAqIEZpcm13YXJlIG1lbW9yeSBtYXAgZW50cmllcworICovCitzdGF0aWMgTElTVF9IRUFEKG1hcF9lbnRyaWVzKTsKKworLyoqCisgKiBDb21tb24gaW1wbGVtZW50YXRpb24gb2YgZmlybXdhcmVfbWFwX2FkZCgpIGFuZCBmaXJtd2FyZV9tYXBfYWRkX2Vhcmx5KCkKKyAqIHdoaWNoIGV4cGVjdHMgYSBwcmUtYWxsb2NhdGVkIHN0cnVjdCBmaXJtd2FyZV9tYXBfZW50cnkuCisgKgorICogQHN0YXJ0OiBTdGFydCBvZiB0aGUgbWVtb3J5IHJhbmdlLgorICogQGVuZDogICBFbmQgb2YgdGhlIG1lbW9yeSByYW5nZSAoaW5jbHVzaXZlKS4KKyAqIEB0eXBlOiAgVHlwZSBvZiB0aGUgbWVtb3J5IHJhbmdlLgorICogQGVudHJ5OiBQcmUtYWxsb2NhdGVkIChlaXRoZXIga21hbGxvYygpIG9yIGJvb3RtZW0gYWxsb2NhdG9yKSwgdW5pbml0aWFsaXNlZAorICogICAgICAgICBlbnRyeS4KKyAqLworc3RhdGljIGludCBmaXJtd2FyZV9tYXBfYWRkX2VudHJ5KHJlc291cmNlX3NpemVfdCBzdGFydCwgcmVzb3VyY2Vfc2l6ZV90IGVuZCwKKwkJCQkgIGNvbnN0IGNoYXIgKnR5cGUsCisJCQkJICBzdHJ1Y3QgZmlybXdhcmVfbWFwX2VudHJ5ICplbnRyeSkKK3sKKwlCVUdfT04oc3RhcnQgPiBlbmQpOworCisJZW50cnktPnN0YXJ0ID0gc3RhcnQ7CisJZW50cnktPmVuZCA9IGVuZDsKKwllbnRyeS0+dHlwZSA9IHR5cGU7CisJSU5JVF9MSVNUX0hFQUQoJmVudHJ5LT5saXN0KTsKKwlrb2JqZWN0X2luaXQoJmVudHJ5LT5rb2JqLCAmbWVtbWFwX2t0eXBlKTsKKworCWxpc3RfYWRkX3RhaWwoJmVudHJ5LT5saXN0LCAmbWFwX2VudHJpZXMpOworCisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBTZWUgPGxpbnV4L2Zpcm13YXJlLW1hcC5oPiBmb3IgZG9jdW1lbnRhdGlvbi4KKyAqLworaW50IGZpcm13YXJlX21hcF9hZGQocmVzb3VyY2Vfc2l6ZV90IHN0YXJ0LCByZXNvdXJjZV9zaXplX3QgZW5kLAorCQkgICAgIGNvbnN0IGNoYXIgKnR5cGUpCit7CisJc3RydWN0IGZpcm13YXJlX21hcF9lbnRyeSAqZW50cnk7CisKKwllbnRyeSA9IGttYWxsb2Moc2l6ZW9mKHN0cnVjdCBmaXJtd2FyZV9tYXBfZW50cnkpLCBHRlBfQVRPTUlDKTsKKwlXQVJOX09OKCFlbnRyeSk7CisJaWYgKCFlbnRyeSkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlyZXR1cm4gZmlybXdhcmVfbWFwX2FkZF9lbnRyeShzdGFydCwgZW5kLCB0eXBlLCBlbnRyeSk7Cit9CisKKy8qCisgKiBTZWUgPGxpbnV4L2Zpcm13YXJlLW1hcC5oPiBmb3IgZG9jdW1lbnRhdGlvbi4KKyAqLworaW50IF9faW5pdCBmaXJtd2FyZV9tYXBfYWRkX2Vhcmx5KHJlc291cmNlX3NpemVfdCBzdGFydCwgcmVzb3VyY2Vfc2l6ZV90IGVuZCwKKwkJCQkgIGNvbnN0IGNoYXIgKnR5cGUpCit7CisJc3RydWN0IGZpcm13YXJlX21hcF9lbnRyeSAqZW50cnk7CisKKwllbnRyeSA9IGFsbG9jX2Jvb3RtZW1fbG93KHNpemVvZihzdHJ1Y3QgZmlybXdhcmVfbWFwX2VudHJ5KSk7CisJV0FSTl9PTighZW50cnkpOworCWlmICghZW50cnkpCisJCXJldHVybiAtRU5PTUVNOworCisJcmV0dXJuIGZpcm13YXJlX21hcF9hZGRfZW50cnkoc3RhcnQsIGVuZCwgdHlwZSwgZW50cnkpOworfQorCisvKgorICogU3lzZnMgZnVuY3Rpb25zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqLworCitzdGF0aWMgc3NpemVfdCBzdGFydF9zaG93KHN0cnVjdCBmaXJtd2FyZV9tYXBfZW50cnkgKmVudHJ5LCBjaGFyICpidWYpCit7CisJcmV0dXJuIHNucHJpbnRmKGJ1ZiwgUEFHRV9TSVpFLCAiMHglbGx4XG4iLCBlbnRyeS0+c3RhcnQpOworfQorCitzdGF0aWMgc3NpemVfdCBlbmRfc2hvdyhzdHJ1Y3QgZmlybXdhcmVfbWFwX2VudHJ5ICplbnRyeSwgY2hhciAqYnVmKQoreworCXJldHVybiBzbnByaW50ZihidWYsIFBBR0VfU0laRSwgIjB4JWxseFxuIiwgZW50cnktPmVuZCk7Cit9CisKK3N0YXRpYyBzc2l6ZV90IHR5cGVfc2hvdyhzdHJ1Y3QgZmlybXdhcmVfbWFwX2VudHJ5ICplbnRyeSwgY2hhciAqYnVmKQoreworCXJldHVybiBzbnByaW50ZihidWYsIFBBR0VfU0laRSwgIiVzXG4iLCBlbnRyeS0+dHlwZSk7Cit9CisKKyNkZWZpbmUgdG9fbWVtbWFwX2F0dHIoX2F0dHIpIGNvbnRhaW5lcl9vZihfYXR0ciwgc3RydWN0IG1lbW1hcF9hdHRyaWJ1dGUsIGF0dHIpCisjZGVmaW5lIHRvX21lbW1hcF9lbnRyeShvYmopIGNvbnRhaW5lcl9vZihvYmosIHN0cnVjdCBmaXJtd2FyZV9tYXBfZW50cnksIGtvYmopCisKK3N0YXRpYyBzc2l6ZV90IG1lbW1hcF9hdHRyX3Nob3coc3RydWN0IGtvYmplY3QgKmtvYmosCisJCQkJc3RydWN0IGF0dHJpYnV0ZSAqYXR0ciwgY2hhciAqYnVmKQoreworCXN0cnVjdCBmaXJtd2FyZV9tYXBfZW50cnkgKmVudHJ5ID0gdG9fbWVtbWFwX2VudHJ5KGtvYmopOworCXN0cnVjdCBtZW1tYXBfYXR0cmlidXRlICptZW1tYXBfYXR0ciA9IHRvX21lbW1hcF9hdHRyKGF0dHIpOworCisJcmV0dXJuIG1lbW1hcF9hdHRyLT5zaG93KGVudHJ5LCBidWYpOworfQorCisvKgorICogSW5pdGlhbGlzZXMgc3R1ZmYgYW5kIGFkZHMgdGhlIGVudHJpZXMgaW4gdGhlIG1hcF9lbnRyaWVzIGxpc3QgdG8KKyAqIHN5c2ZzLiBJbXBvcnRhbnQgaXMgdGhhdCBmaXJtd2FyZV9tYXBfYWRkKCkgYW5kIGZpcm13YXJlX21hcF9hZGRfZWFybHkoKQorICogbXVzdCBiZSBjYWxsZWQgYmVmb3JlIGxhdGVfaW5pdGNhbGwuCisgKi8KK3N0YXRpYyBpbnQgX19pbml0IG1lbW1hcF9pbml0KHZvaWQpCit7CisJaW50IGkgPSAwOworCXN0cnVjdCBmaXJtd2FyZV9tYXBfZW50cnkgKmVudHJ5OworCXN0cnVjdCBrc2V0ICptZW1tYXBfa3NldDsKKworCW1lbW1hcF9rc2V0ID0ga3NldF9jcmVhdGVfYW5kX2FkZCgibWVtbWFwIiwgTlVMTCwgZmlybXdhcmVfa29iaik7CisJV0FSTl9PTighbWVtbWFwX2tzZXQpOworCWlmICghbWVtbWFwX2tzZXQpCisJCXJldHVybiAtRU5PTUVNOworCisJbGlzdF9mb3JfZWFjaF9lbnRyeShlbnRyeSwgJm1hcF9lbnRyaWVzLCBsaXN0KSB7CisJCWVudHJ5LT5rb2JqLmtzZXQgPSBtZW1tYXBfa3NldDsKKwkJa29iamVjdF9hZGQoJmVudHJ5LT5rb2JqLCBOVUxMLCAiJWQiLCBpKyspOworCX0KKworCXJldHVybiAwOworfQorbGF0ZV9pbml0Y2FsbChtZW1tYXBfaW5pdCk7CisKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L01ha2VmaWxlIGIvZHJpdmVycy9ncHUvTWFrZWZpbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGU1NjZjZgotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvZ3B1L01ha2VmaWxlCkBAIC0wLDAgKzEgQEAKK29iai15CQkJKz0gZHJtLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9LY29uZmlnIGIvZHJpdmVycy9ncHUvZHJtL0tjb25maWcKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vS2NvbmZpZwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL0tjb25maWcKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9NYWtlZmlsZSBiL2RyaXZlcnMvZ3B1L2RybS9NYWtlZmlsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOWY5YTk3Ci0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9ncHUvZHJtL01ha2VmaWxlCkBAIC0wLDAgKzEsMjYgQEAKKyMKKyMgTWFrZWZpbGUgZm9yIHRoZSBkcm0gZGV2aWNlIGRyaXZlci4gIFRoaXMgZHJpdmVyIHByb3ZpZGVzIHN1cHBvcnQgZm9yIHRoZQorIyBEaXJlY3QgUmVuZGVyaW5nIEluZnJhc3RydWN0dXJlIChEUkkpIGluIFhGcmVlODYgNC4xLjAgYW5kIGhpZ2hlci4KKworY2NmbGFncy15IDo9IC1JaW5jbHVkZS9kcm0KKworZHJtLXkgICAgICAgOj0JZHJtX2F1dGgubyBkcm1fYnVmcy5vIGRybV9jb250ZXh0Lm8gZHJtX2RtYS5vIGRybV9kcmF3YWJsZS5vIFwKKwkJZHJtX2Rydi5vIGRybV9mb3BzLm8gZHJtX2lvY3RsLm8gZHJtX2lycS5vIFwKKwkJZHJtX2xvY2subyBkcm1fbWVtb3J5Lm8gZHJtX3Byb2MubyBkcm1fc3R1Yi5vIGRybV92bS5vIFwKKwkJZHJtX2FncHN1cHBvcnQubyBkcm1fc2NhdHRlci5vIGF0aV9wY2lnYXJ0Lm8gZHJtX3BjaS5vIFwKKwkJZHJtX3N5c2ZzLm8gZHJtX2hhc2h0YWIubyBkcm1fc21hbi5vIGRybV9tbS5vCisKK2RybS0kKENPTkZJR19DT01QQVQpICs9IGRybV9pb2MzMi5vCisKK29iai0kKENPTkZJR19EUk0pCSs9IGRybS5vCitvYmotJChDT05GSUdfRFJNX1RERlgpCSs9IHRkZngvCitvYmotJChDT05GSUdfRFJNX1IxMjgpCSs9IHIxMjgvCitvYmotJChDT05GSUdfRFJNX1JBREVPTikrPSByYWRlb24vCitvYmotJChDT05GSUdfRFJNX01HQSkJKz0gbWdhLworb2JqLSQoQ09ORklHX0RSTV9JODEwKQkrPSBpODEwLworb2JqLSQoQ09ORklHX0RSTV9JODMwKQkrPSBpODMwLworb2JqLSQoQ09ORklHX0RSTV9JOTE1KSAgKz0gaTkxNS8KK29iai0kKENPTkZJR19EUk1fU0lTKSAgICs9IHNpcy8KK29iai0kKENPTkZJR19EUk1fU0FWQUdFKSs9IHNhdmFnZS8KK29iai0kKENPTkZJR19EUk1fVklBKQkrPXZpYS8KKwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9SRUFETUUuZHJtIGIvZHJpdmVycy9ncHUvZHJtL1JFQURNRS5kcm0Kc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vUkVBRE1FLmRybQpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL1JFQURNRS5kcm0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vYXRpX3BjaWdhcnQuYyBiL2RyaXZlcnMvZ3B1L2RybS9hdGlfcGNpZ2FydC5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2F0aV9wY2lnYXJ0LmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9hdGlfcGNpZ2FydC5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2RybV9hZ3BzdXBwb3J0LmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2FncHN1cHBvcnQuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9kcm1fYWdwc3VwcG9ydC5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vZHJtX2FncHN1cHBvcnQuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9kcm1fYXV0aC5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdXRoLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vZHJtX2F1dGguYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL2RybV9hdXRoLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vZHJtX2J1ZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYnVmcy5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2RybV9idWZzLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9kcm1fYnVmcy5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2RybV9jb250ZXh0LmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2NvbnRleHQuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9kcm1fY29udGV4dC5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vZHJtX2NvbnRleHQuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9kcm1fZG1hLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2RtYS5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2RybV9kbWEuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL2RybV9kbWEuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9kcm1fZHJhd2FibGUuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHJhd2FibGUuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9kcm1fZHJhd2FibGUuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL2RybV9kcmF3YWJsZS5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2RybV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHJ2LmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vZHJtX2Rydi5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vZHJtX2Rydi5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2RybV9mb3BzLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZvcHMuYwpzaW1pbGFyaXR5IGluZGV4IDk4JQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2RybV9mb3BzLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9kcm1fZm9wcy5jCmluZGV4IGQyZTZkYTguLjg1MWE1M2YgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9kcm0vZHJtX2ZvcHMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZvcHMuYwpAQCAtMzcsNiArMzcsNyBAQAogI2luY2x1ZGUgImRybVAuaCIKICNpbmNsdWRlICJkcm1fc2FyZWEuaCIKICNpbmNsdWRlIDxsaW51eC9wb2xsLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogc3RhdGljIGludCBkcm1fb3Blbl9oZWxwZXIoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbHAsCiAJCQkgICBzdHJ1Y3QgZHJtX2RldmljZSAqIGRldik7CkBAIC0xNzQsMTIgKzE3NSwxNCBAQAogCiAJRFJNX0RFQlVHKCJcbiIpOwogCisJLyogQktMIHB1c2hkb3duOiBub3RlIHRoYXQgbm90aGluZyBlbHNlIHNlcmlhbGl6ZXMgaWRyX2ZpbmQoKSAqLworCWxvY2tfa2VybmVsKCk7CiAJbWlub3IgPSBpZHJfZmluZCgmZHJtX21pbm9yc19pZHIsIG1pbm9yX2lkKTsKIAlpZiAoIW1pbm9yKQotCQlyZXR1cm4gLUVOT0RFVjsKKwkJZ290byBvdXQ7CiAKIAlpZiAoIShkZXYgPSBtaW5vci0+ZGV2KSkKLQkJcmV0dXJuIC1FTk9ERVY7CisJCWdvdG8gb3V0OwogCiAJb2xkX2ZvcHMgPSBmaWxwLT5mX29wOwogCWZpbHAtPmZfb3AgPSBmb3BzX2dldCgmZGV2LT5kcml2ZXItPmZvcHMpOwpAQCAtMTg5LDYgKzE5Miw4IEBACiAJfQogCWZvcHNfcHV0KG9sZF9mb3BzKTsKIAorb3V0OgorCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gZXJyOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2RybV9oYXNodGFiLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2hhc2h0YWIuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9kcm1faGFzaHRhYi5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vZHJtX2hhc2h0YWIuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9kcm1faW9jMzIuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1faW9jMzIuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9kcm1faW9jMzIuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL2RybV9pb2MzMi5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2RybV9pb2N0bC5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9pb2N0bC5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2RybV9pb2N0bC5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vZHJtX2lvY3RsLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vZHJtX2lycS5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9pcnEuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9kcm1faXJxLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9kcm1faXJxLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vZHJtX2xvY2suYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fbG9jay5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2RybV9sb2NrLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9kcm1fbG9jay5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2RybV9tZW1vcnkuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fbWVtb3J5LmMKc2ltaWxhcml0eSBpbmRleCA5NiUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9kcm1fbWVtb3J5LmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9kcm1fbWVtb3J5LmMKaW5kZXggODQ1MDgxYjQuLjAxNzcwMTIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9kcm0vZHJtX21lbW9yeS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fbWVtb3J5LmMKQEAgLTE2Nyw2ICsxNjcsMTEgQEAKIH0KIEVYUE9SVF9TWU1CT0woZHJtX2NvcmVfaW9yZW1hcCk7CiAKK3ZvaWQgZHJtX2NvcmVfaW9yZW1hcF93YyhzdHJ1Y3QgZHJtX21hcCAqbWFwLCBzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQoreworCW1hcC0+aGFuZGxlID0gaW9yZW1hcF93YyhtYXAtPm9mZnNldCwgbWFwLT5zaXplKTsKK30KK0VYUE9SVF9TWU1CT0woZHJtX2NvcmVfaW9yZW1hcF93Yyk7CiB2b2lkIGRybV9jb3JlX2lvcmVtYXBmcmVlKHN0cnVjdCBkcm1fbWFwICptYXAsIHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiB7CiAJaWYgKCFtYXAtPmhhbmRsZSB8fCAhbWFwLT5zaXplKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9kcm1fbW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fbW0uYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9kcm1fbW0uYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL2RybV9tbS5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2RybV9wY2kuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGNpLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vZHJtX3BjaS5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vZHJtX3BjaS5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2RybV9wcm9jLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3Byb2MuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9kcm1fcHJvYy5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vZHJtX3Byb2MuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9kcm1fc2NhdHRlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9zY2F0dGVyLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vZHJtX3NjYXR0ZXIuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL2RybV9zY2F0dGVyLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vZHJtX3NtYW4uYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fc21hbi5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2RybV9zbWFuLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9kcm1fc21hbi5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2RybV9zdHViLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3N0dWIuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9kcm1fc3R1Yi5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vZHJtX3N0dWIuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9kcm1fc3lzZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fc3lzZnMuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9kcm1fc3lzZnMuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL2RybV9zeXNmcy5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2RybV92bS5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV92bS5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2RybV92bS5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vZHJtX3ZtLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pODEwL01ha2VmaWxlIGIvZHJpdmVycy9ncHUvZHJtL2k4MTAvTWFrZWZpbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDM4NDRlYwotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pODEwL01ha2VmaWxlCkBAIC0wLDAgKzEsOCBAQAorIworIyBNYWtlZmlsZSBmb3IgdGhlIGRybSBkZXZpY2UgZHJpdmVyLiAgVGhpcyBkcml2ZXIgcHJvdmlkZXMgc3VwcG9ydCBmb3IgdGhlCisjIERpcmVjdCBSZW5kZXJpbmcgSW5mcmFzdHJ1Y3R1cmUgKERSSSkgaW4gWEZyZWU4NiA0LjEuMCBhbmQgaGlnaGVyLgorCitjY2ZsYWdzLXkgOj0gLUlpbmNsdWRlL2RybQoraTgxMC15IDo9IGk4MTBfZHJ2Lm8gaTgxMF9kbWEubworCitvYmotJChDT05GSUdfRFJNX0k4MTApCSs9IGk4MTAubwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9pODEwX2RtYS5jIGIvZHJpdmVycy9ncHUvZHJtL2k4MTAvaTgxMF9kbWEuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9pODEwX2RtYS5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vaTgxMC9pODEwX2RtYS5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2k4MTBfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTgxMC9pODEwX2Rydi5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2k4MTBfZHJ2LmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9pODEwL2k4MTBfZHJ2LmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vaTgxMF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pODEwL2k4MTBfZHJ2LmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vaTgxMF9kcnYuaApyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL2k4MTAvaTgxMF9kcnYuaApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k4MzAvTWFrZWZpbGUgYi9kcml2ZXJzL2dwdS9kcm0vaTgzMC9NYWtlZmlsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNjQyZWUwCi0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k4MzAvTWFrZWZpbGUKQEAgLTAsMCArMSw4IEBACisjCisjIE1ha2VmaWxlIGZvciB0aGUgZHJtIGRldmljZSBkcml2ZXIuICBUaGlzIGRyaXZlciBwcm92aWRlcyBzdXBwb3J0IGZvciB0aGUKKyMgRGlyZWN0IFJlbmRlcmluZyBJbmZyYXN0cnVjdHVyZSAoRFJJKSBpbiBYRnJlZTg2IDQuMS4wIGFuZCBoaWdoZXIuCisKK2NjZmxhZ3MteSA6PSAtSWluY2x1ZGUvZHJtCitpODMwLXkgOj0gaTgzMF9kcnYubyBpODMwX2RtYS5vIGk4MzBfaXJxLm8KKworb2JqLSQoQ09ORklHX0RSTV9JODMwKSArPSBpODMwLm8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vaTgzMF9kbWEuYyBiL2RyaXZlcnMvZ3B1L2RybS9pODMwL2k4MzBfZG1hLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vaTgzMF9kbWEuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL2k4MzAvaTgzMF9kbWEuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9pODMwX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2k4MzAvaTgzMF9kcnYuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9pODMwX2Rydi5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vaTgzMC9pODMwX2Rydi5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2k4MzBfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTgzMC9pODMwX2Rydi5oCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2k4MzBfZHJ2LmgKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9pODMwL2k4MzBfZHJ2LmgKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vaTgzMF9pcnEuYyBiL2RyaXZlcnMvZ3B1L2RybS9pODMwL2k4MzBfaXJxLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vaTgzMF9pcnEuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL2k4MzAvaTgzMF9pcnEuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOWU2MDQ2Ci0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUKQEAgLTAsMCArMSwxMCBAQAorIworIyBNYWtlZmlsZSBmb3IgdGhlIGRybSBkZXZpY2UgZHJpdmVyLiAgVGhpcyBkcml2ZXIgcHJvdmlkZXMgc3VwcG9ydCBmb3IgdGhlCisjIERpcmVjdCBSZW5kZXJpbmcgSW5mcmFzdHJ1Y3R1cmUgKERSSSkgaW4gWEZyZWU4NiA0LjEuMCBhbmQgaGlnaGVyLgorCitjY2ZsYWdzLXkgOj0gLUlpbmNsdWRlL2RybQoraTkxNS15IDo9IGk5MTVfZHJ2Lm8gaTkxNV9kbWEubyBpOTE1X2lycS5vIGk5MTVfbWVtLm8KKworaTkxNS0kKENPTkZJR19DT01QQVQpICAgKz0gaTkxNV9pb2MzMi5vCisKK29iai0kKENPTkZJR19EUk1fSTkxNSkgICs9IGk5MTUubwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9pOTE1X2RtYS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kbWEuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9pOTE1X2RtYS5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RtYS5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2k5MTVfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2k5MTVfZHJ2LmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vaTkxNV9kcnYuaApyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9pOTE1X2lvYzMyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lvYzMyLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vaTkxNV9pb2MzMi5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lvYzMyLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vaTkxNV9pcnEuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vaTkxNV9pcnEuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9pOTE1X21lbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9tZW0uYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9pOTE1X21lbS5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X21lbS5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWdhL01ha2VmaWxlIGIvZHJpdmVycy9ncHUvZHJtL21nYS9NYWtlZmlsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MDY4NDc4Ci0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9ncHUvZHJtL21nYS9NYWtlZmlsZQpAQCAtMCwwICsxLDExIEBACisjCisjIE1ha2VmaWxlIGZvciB0aGUgZHJtIGRldmljZSBkcml2ZXIuICBUaGlzIGRyaXZlciBwcm92aWRlcyBzdXBwb3J0IGZvciB0aGUKKyMgRGlyZWN0IFJlbmRlcmluZyBJbmZyYXN0cnVjdHVyZSAoRFJJKSBpbiBYRnJlZTg2IDQuMS4wIGFuZCBoaWdoZXIuCisKK2NjZmxhZ3MteSA6PSAtSWluY2x1ZGUvZHJtCittZ2EteSA6PSBtZ2FfZHJ2Lm8gbWdhX2RtYS5vIG1nYV9zdGF0ZS5vIG1nYV93YXJwLm8gbWdhX2lycS5vCisKK21nYS0kKENPTkZJR19DT01QQVQpICs9IG1nYV9pb2MzMi5vCisKK29iai0kKENPTkZJR19EUk1fTUdBKQkrPSBtZ2EubworCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL21nYV9kbWEuYyBiL2RyaXZlcnMvZ3B1L2RybS9tZ2EvbWdhX2RtYS5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL21nYV9kbWEuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL21nYS9tZ2FfZG1hLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vbWdhX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL21nYS9tZ2FfZHJ2LmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vbWdhX2Rydi5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vbWdhL21nYV9kcnYuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9tZ2FfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vbWdhL21nYV9kcnYuaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9tZ2FfZHJ2LmgKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9tZ2EvbWdhX2Rydi5oCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL21nYV9pb2MzMi5jIGIvZHJpdmVycy9ncHUvZHJtL21nYS9tZ2FfaW9jMzIuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9tZ2FfaW9jMzIuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL21nYS9tZ2FfaW9jMzIuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9tZ2FfaXJxLmMgYi9kcml2ZXJzL2dwdS9kcm0vbWdhL21nYV9pcnEuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9tZ2FfaXJxLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9tZ2EvbWdhX2lycS5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL21nYV9zdGF0ZS5jIGIvZHJpdmVycy9ncHUvZHJtL21nYS9tZ2Ffc3RhdGUuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9tZ2Ffc3RhdGUuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL21nYS9tZ2Ffc3RhdGUuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9tZ2FfdWNvZGUuaCBiL2RyaXZlcnMvZ3B1L2RybS9tZ2EvbWdhX3Vjb2RlLmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vbWdhX3Vjb2RlLmgKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9tZ2EvbWdhX3Vjb2RlLmgKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vbWdhX3dhcnAuYyBiL2RyaXZlcnMvZ3B1L2RybS9tZ2EvbWdhX3dhcnAuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9tZ2Ffd2FycC5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vbWdhL21nYV93YXJwLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yMTI4L01ha2VmaWxlIGIvZHJpdmVycy9ncHUvZHJtL3IxMjgvTWFrZWZpbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWNjNzJhZQotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yMTI4L01ha2VmaWxlCkBAIC0wLDAgKzEsMTAgQEAKKyMKKyMgTWFrZWZpbGUgZm9yIHRoZSBkcm0gZGV2aWNlIGRyaXZlci4gIFRoaXMgZHJpdmVyIHByb3ZpZGVzIHN1cHBvcnQgZm9yIHRoZQorIyBEaXJlY3QgUmVuZGVyaW5nIEluZnJhc3RydWN0dXJlIChEUkkpIGluIFhGcmVlODYgNC4xLjAgYW5kIGhpZ2hlci4KKworY2NmbGFncy15IDo9IC1JaW5jbHVkZS9kcm0KK3IxMjgteSAgIDo9IHIxMjhfZHJ2Lm8gcjEyOF9jY2UubyByMTI4X3N0YXRlLm8gcjEyOF9pcnEubworCityMTI4LSQoQ09ORklHX0NPTVBBVCkgICArPSByMTI4X2lvYzMyLm8KKworb2JqLSQoQ09ORklHX0RSTV9SMTI4KQkrPSByMTI4Lm8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vcjEyOF9jY2UuYyBiL2RyaXZlcnMvZ3B1L2RybS9yMTI4L3IxMjhfY2NlLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vcjEyOF9jY2UuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL3IxMjgvcjEyOF9jY2UuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9yMTI4X2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL3IxMjgvcjEyOF9kcnYuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9yMTI4X2Rydi5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vcjEyOC9yMTI4X2Rydi5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3IxMjhfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vcjEyOC9yMTI4X2Rydi5oCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3IxMjhfZHJ2LmgKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9yMTI4L3IxMjhfZHJ2LmgKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vcjEyOF9pb2MzMi5jIGIvZHJpdmVycy9ncHUvZHJtL3IxMjgvcjEyOF9pb2MzMi5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3IxMjhfaW9jMzIuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL3IxMjgvcjEyOF9pb2MzMi5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3IxMjhfaXJxLmMgYi9kcml2ZXJzL2dwdS9kcm0vcjEyOC9yMTI4X2lycS5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3IxMjhfaXJxLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9yMTI4L3IxMjhfaXJxLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vcjEyOF9zdGF0ZS5jIGIvZHJpdmVycy9ncHUvZHJtL3IxMjgvcjEyOF9zdGF0ZS5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3IxMjhfc3RhdGUuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL3IxMjgvcjEyOF9zdGF0ZS5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL01ha2VmaWxlIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9NYWtlZmlsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZWI1MjFlCi0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9NYWtlZmlsZQpAQCAtMCwwICsxLDEwIEBACisjCisjIE1ha2VmaWxlIGZvciB0aGUgZHJtIGRldmljZSBkcml2ZXIuICBUaGlzIGRyaXZlciBwcm92aWRlcyBzdXBwb3J0IGZvciB0aGUKKyMgRGlyZWN0IFJlbmRlcmluZyBJbmZyYXN0cnVjdHVyZSAoRFJJKSBpbiBYRnJlZTg2IDQuMS4wIGFuZCBoaWdoZXIuCisKK2NjZmxhZ3MteSA6PSAtSWluY2x1ZGUvZHJtCityYWRlb24teSA6PSByYWRlb25fZHJ2Lm8gcmFkZW9uX2NwLm8gcmFkZW9uX3N0YXRlLm8gcmFkZW9uX21lbS5vIHJhZGVvbl9pcnEubyByMzAwX2NtZGJ1Zi5vCisKK3JhZGVvbi0kKENPTkZJR19DT01QQVQpICs9IHJhZGVvbl9pb2MzMi5vCisKK29iai0kKENPTkZJR19EUk1fUkFERU9OKSs9IHJhZGVvbi5vCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3IzMDBfY21kYnVmLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3IzMDBfY21kYnVmLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vcjMwMF9jbWRidWYuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yMzAwX2NtZGJ1Zi5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3IzMDBfcmVnLmggYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3IzMDBfcmVnLmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vcjMwMF9yZWcuaApyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yMzAwX3JlZy5oCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3JhZGVvbl9jcC5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fY3AuYwpzaW1pbGFyaXR5IGluZGV4IDk5JQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3JhZGVvbl9jcC5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9jcC5jCmluZGV4IGU1MzE1OGYuLmYwZGU4MWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9kcm0vcmFkZW9uX2NwLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fY3AuYwpAQCAtMTE1NCw3ICsxMTU0LDcgQEAKIAkJCWRldl9wcml2LT5nYXJ0X2luZm8ubWFwcGluZy5zaXplID0KIAkJCSAgICBkZXZfcHJpdi0+Z2FydF9pbmZvLnRhYmxlX3NpemU7CiAKLQkJCWRybV9jb3JlX2lvcmVtYXAoJmRldl9wcml2LT5nYXJ0X2luZm8ubWFwcGluZywgZGV2KTsKKwkJCWRybV9jb3JlX2lvcmVtYXBfd2MoJmRldl9wcml2LT5nYXJ0X2luZm8ubWFwcGluZywgZGV2KTsKIAkJCWRldl9wcml2LT5nYXJ0X2luZm8uYWRkciA9CiAJCQkgICAgZGV2X3ByaXYtPmdhcnRfaW5mby5tYXBwaW5nLmhhbmRsZTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9yYWRlb25fZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9kcnYuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9yYWRlb25fZHJ2LmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2Rydi5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3JhZGVvbl9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2Rydi5oCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3JhZGVvbl9kcnYuaApyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZHJ2LmgKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vcmFkZW9uX2lvYzMyLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9pb2MzMi5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3JhZGVvbl9pb2MzMi5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9pb2MzMi5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3JhZGVvbl9pcnEuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2lycS5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3JhZGVvbl9pcnEuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25faXJxLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vcmFkZW9uX21lbS5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fbWVtLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vcmFkZW9uX21lbS5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9tZW0uYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9yYWRlb25fbWljcm9jb2RlLmggYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9taWNyb2NvZGUuaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9yYWRlb25fbWljcm9jb2RlLmgKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX21pY3JvY29kZS5oCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3JhZGVvbl9zdGF0ZS5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fc3RhdGUuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9yYWRlb25fc3RhdGUuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fc3RhdGUuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3NhdmFnZS9NYWtlZmlsZSBiL2RyaXZlcnMvZ3B1L2RybS9zYXZhZ2UvTWFrZWZpbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDhmODRhYwotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9zYXZhZ2UvTWFrZWZpbGUKQEAgLTAsMCArMSw5IEBACisjCisjIE1ha2VmaWxlIGZvciB0aGUgZHJtIGRldmljZSBkcml2ZXIuICBUaGlzIGRyaXZlciBwcm92aWRlcyBzdXBwb3J0IGZvciB0aGUKKyMgRGlyZWN0IFJlbmRlcmluZyBJbmZyYXN0cnVjdHVyZSAoRFJJKSBpbiBYRnJlZTg2IDQuMS4wIGFuZCBoaWdoZXIuCisKK2NjZmxhZ3MteSA9IC1JaW5jbHVkZS9kcm0KK3NhdmFnZS15IDo9IHNhdmFnZV9kcnYubyBzYXZhZ2VfYmNpLm8gc2F2YWdlX3N0YXRlLm8KKworb2JqLSQoQ09ORklHX0RSTV9TQVZBR0UpKz0gc2F2YWdlLm8KKwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9zYXZhZ2VfYmNpLmMgYi9kcml2ZXJzL2dwdS9kcm0vc2F2YWdlL3NhdmFnZV9iY2kuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9zYXZhZ2VfYmNpLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9zYXZhZ2Uvc2F2YWdlX2JjaS5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3NhdmFnZV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9zYXZhZ2Uvc2F2YWdlX2Rydi5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3NhdmFnZV9kcnYuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL3NhdmFnZS9zYXZhZ2VfZHJ2LmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vc2F2YWdlX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL3NhdmFnZS9zYXZhZ2VfZHJ2LmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vc2F2YWdlX2Rydi5oCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vc2F2YWdlL3NhdmFnZV9kcnYuaApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9zYXZhZ2Vfc3RhdGUuYyBiL2RyaXZlcnMvZ3B1L2RybS9zYXZhZ2Uvc2F2YWdlX3N0YXRlLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vc2F2YWdlX3N0YXRlLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9zYXZhZ2Uvc2F2YWdlX3N0YXRlLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9zaXMvTWFrZWZpbGUgYi9kcml2ZXJzL2dwdS9kcm0vc2lzL01ha2VmaWxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ0MWMwNjEKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2dwdS9kcm0vc2lzL01ha2VmaWxlCkBAIC0wLDAgKzEsMTAgQEAKKyMKKyMgTWFrZWZpbGUgZm9yIHRoZSBkcm0gZGV2aWNlIGRyaXZlci4gIFRoaXMgZHJpdmVyIHByb3ZpZGVzIHN1cHBvcnQgZm9yIHRoZQorIyBEaXJlY3QgUmVuZGVyaW5nIEluZnJhc3RydWN0dXJlIChEUkkpIGluIFhGcmVlODYgNC4xLjAgYW5kIGhpZ2hlci4KKworY2NmbGFncy15ID0gLUlpbmNsdWRlL2RybQorc2lzLXkgOj0gc2lzX2Rydi5vIHNpc19tbS5vCisKK29iai0kKENPTkZJR19EUk1fU0lTKSAgICs9IHNpcy5vCisKKwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9zaXNfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vc2lzL3Npc19kcnYuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9zaXNfZHJ2LmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9zaXMvc2lzX2Rydi5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3Npc19kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9zaXMvc2lzX2Rydi5oCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3Npc19kcnYuaApyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL3Npcy9zaXNfZHJ2LmgKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vc2lzX21tLmMgYi9kcml2ZXJzL2dwdS9kcm0vc2lzL3Npc19tbS5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3Npc19tbS5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vc2lzL3Npc19tbS5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdGRmeC9NYWtlZmlsZSBiL2RyaXZlcnMvZ3B1L2RybS90ZGZ4L01ha2VmaWxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAzNzlmMjkKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2dwdS9kcm0vdGRmeC9NYWtlZmlsZQpAQCAtMCwwICsxLDggQEAKKyMKKyMgTWFrZWZpbGUgZm9yIHRoZSBkcm0gZGV2aWNlIGRyaXZlci4gIFRoaXMgZHJpdmVyIHByb3ZpZGVzIHN1cHBvcnQgZm9yIHRoZQorIyBEaXJlY3QgUmVuZGVyaW5nIEluZnJhc3RydWN0dXJlIChEUkkpIGluIFhGcmVlODYgNC4xLjAgYW5kIGhpZ2hlci4KKworY2NmbGFncy15IDo9IC1JaW5jbHVkZS9kcm0KK3RkZngteSA6PSB0ZGZ4X2Rydi5vCisKK29iai0kKENPTkZJR19EUk1fVERGWCkJKz0gdGRmeC5vCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3RkZnhfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vdGRmeC90ZGZ4X2Rydi5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3RkZnhfZHJ2LmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS90ZGZ4L3RkZnhfZHJ2LmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vdGRmeF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS90ZGZ4L3RkZnhfZHJ2LmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vdGRmeF9kcnYuaApyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL3RkZngvdGRmeF9kcnYuaApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3ZpYS9NYWtlZmlsZSBiL2RyaXZlcnMvZ3B1L2RybS92aWEvTWFrZWZpbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDU5ZTI1OAotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvZ3B1L2RybS92aWEvTWFrZWZpbGUKQEAgLTAsMCArMSw4IEBACisjCisjIE1ha2VmaWxlIGZvciB0aGUgZHJtIGRldmljZSBkcml2ZXIuICBUaGlzIGRyaXZlciBwcm92aWRlcyBzdXBwb3J0IGZvciB0aGUKKyMgRGlyZWN0IFJlbmRlcmluZyBJbmZyYXN0cnVjdHVyZSAoRFJJKSBpbiBYRnJlZTg2IDQuMS4wIGFuZCBoaWdoZXIuCisKK2NjZmxhZ3MteSA6PSAtSWluY2x1ZGUvZHJtCit2aWEteSAgICA6PSB2aWFfaXJxLm8gdmlhX2Rydi5vIHZpYV9tYXAubyB2aWFfbW0ubyB2aWFfZG1hLm8gdmlhX3ZlcmlmaWVyLm8gdmlhX3ZpZGVvLm8gdmlhX2RtYWJsaXQubworCitvYmotJChDT05GSUdfRFJNX1ZJQSkJKz12aWEubwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS92aWFfM2RfcmVnLmggYi9kcml2ZXJzL2dwdS9kcm0vdmlhL3ZpYV8zZF9yZWcuaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS92aWFfM2RfcmVnLmgKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS92aWEvdmlhXzNkX3JlZy5oCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3ZpYV9kbWEuYyBiL2RyaXZlcnMvZ3B1L2RybS92aWEvdmlhX2RtYS5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3ZpYV9kbWEuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL3ZpYS92aWFfZG1hLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vdmlhX2RtYWJsaXQuYyBiL2RyaXZlcnMvZ3B1L2RybS92aWEvdmlhX2RtYWJsaXQuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS92aWFfZG1hYmxpdC5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vdmlhL3ZpYV9kbWFibGl0LmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vdmlhX2RtYWJsaXQuaCBiL2RyaXZlcnMvZ3B1L2RybS92aWEvdmlhX2RtYWJsaXQuaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS92aWFfZG1hYmxpdC5oCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vdmlhL3ZpYV9kbWFibGl0LmgKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vdmlhX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL3ZpYS92aWFfZHJ2LmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vdmlhX2Rydi5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vdmlhL3ZpYV9kcnYuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS92aWFfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vdmlhL3ZpYV9kcnYuaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS92aWFfZHJ2LmgKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS92aWEvdmlhX2Rydi5oCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3ZpYV9pcnEuYyBiL2RyaXZlcnMvZ3B1L2RybS92aWEvdmlhX2lycS5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3ZpYV9pcnEuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL3ZpYS92aWFfaXJxLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vdmlhX21hcC5jIGIvZHJpdmVycy9ncHUvZHJtL3ZpYS92aWFfbWFwLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vdmlhX21hcC5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vdmlhL3ZpYV9tYXAuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS92aWFfbW0uYyBiL2RyaXZlcnMvZ3B1L2RybS92aWEvdmlhX21tLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vdmlhX21tLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS92aWEvdmlhX21tLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vdmlhX3ZlcmlmaWVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vdmlhL3ZpYV92ZXJpZmllci5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3ZpYV92ZXJpZmllci5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vdmlhL3ZpYV92ZXJpZmllci5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3ZpYV92ZXJpZmllci5oIGIvZHJpdmVycy9ncHUvZHJtL3ZpYS92aWFfdmVyaWZpZXIuaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS92aWFfdmVyaWZpZXIuaApyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL3ZpYS92aWFfdmVyaWZpZXIuaApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS92aWFfdmlkZW8uYyBiL2RyaXZlcnMvZ3B1L2RybS92aWEvdmlhX3ZpZGVvLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vdmlhX3ZpZGVvLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS92aWEvdmlhX3ZpZGVvLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaGlkL2hpZHJhdy5jIGIvZHJpdmVycy9oaWQvaGlkcmF3LmMKaW5kZXggMWNhNmY0NjMuLjJmZGU2YzYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaGlkL2hpZHJhdy5jCisrKyBiL2RyaXZlcnMvaGlkL2hpZHJhdy5jCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSA8bGludXgvbWFqb3IuaD4KICNpbmNsdWRlIDxsaW51eC9oaWQuaD4KICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICNpbmNsdWRlIDxsaW51eC9oaWRyYXcuaD4KIApAQCAtMTU3LDYgKzE1OCw3IEBACiAJc3RydWN0IGhpZHJhd19saXN0ICpsaXN0OwogCWludCBlcnIgPSAwOwogCisJbG9ja19rZXJuZWwoKTsKIAlpZiAoIShsaXN0ID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IGhpZHJhd19saXN0KSwgR0ZQX0tFUk5FTCkpKSB7CiAJCWVyciA9IC1FTk9NRU07CiAJCWdvdG8gb3V0OwpAQCAtMTgzLDYgKzE4NSw3IEBACiBvdXRfdW5sb2NrOgogCXNwaW5fdW5sb2NrKCZtaW5vcnNfbG9jayk7CiBvdXQ6CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiBlcnI7CiAKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2FsZ29zL2kyYy1hbGdvLWJpdC5jIGIvZHJpdmVycy9pMmMvYWxnb3MvaTJjLWFsZ28tYml0LmMKaW5kZXggMzU4MTI4Mi4uZWI4ZjcyYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYWxnb3MvaTJjLWFsZ28tYml0LmMKKysrIGIvZHJpdmVycy9pMmMvYWxnb3MvaTJjLWFsZ28tYml0LmMKQEAgLTMyMCw3ICszMjAsNyBAQAogCQkgICAgICAgdW5zaWduZWQgY2hhciBhZGRyLCBpbnQgcmV0cmllcykKIHsKIAlzdHJ1Y3QgaTJjX2FsZ29fYml0X2RhdGEgKmFkYXAgPSBpMmNfYWRhcC0+YWxnb19kYXRhOwotCWludCBpLCByZXQgPSAtMTsKKwlpbnQgaSwgcmV0ID0gMDsKIAogCWZvciAoaSA9IDA7IGkgPD0gcmV0cmllczsgaSsrKSB7CiAJCXJldCA9IGkyY19vdXRiKGkyY19hZGFwLCBhZGRyKTsKQEAgLTUwOCw3ICs1MDgsNyBAQAogCQkJYWRkciBePSAxOwogCQlyZXQgPSB0cnlfYWRkcmVzcyhpMmNfYWRhcCwgYWRkciwgcmV0cmllcyk7CiAJCWlmICgocmV0ICE9IDEpICYmICFuYWtfb2spCi0JCQlyZXR1cm4gLUVSRU1PVEVJTzsKKwkJCXJldHVybiAtRU5YSU87CiAJfQogCiAJcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9hbGdvcy9pMmMtYWxnby1wY2EuYyBiL2RyaXZlcnMvaTJjL2FsZ29zL2kyYy1hbGdvLXBjYS5jCmluZGV4IGU5NTRhMjBiLi5kNTBiMzI5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9hbGdvcy9pMmMtYWxnby1wY2EuYworKysgYi9kcml2ZXJzL2kyYy9hbGdvcy9pMmMtYWxnby1wY2EuYwpAQCAtMTgyLDcgKzE4Miw3IEBACiAJfQogCWlmIChzdGF0ZSAhPSAweGY4KSB7CiAJCWRldl9kYmcoJmkyY19hZGFwLT5kZXYsICJidXMgaXMgbm90IGlkbGUuIHN0YXR1cyBpcyAlIzA0eFxuIiwgc3RhdGUpOwotCQlyZXR1cm4gLUVJTzsKKwkJcmV0dXJuIC1FQUdBSU47CiAJfQogCiAJREVCMSgie3t7IFhGRVIgJWQgbWVzc2FnZXNcbiIsIG51bSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9hbGdvcy9pMmMtYWxnby1wY2YuYyBiL2RyaXZlcnMvaTJjL2FsZ29zL2kyYy1hbGdvLXBjZi5jCmluZGV4IDg5MDdiMDEuLjFlMzI4ZDE5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9hbGdvcy9pMmMtYWxnby1wY2YuYworKysgYi9kcml2ZXJzL2kyYy9hbGdvcy9pMmMtYWxnby1wY2YuYwpAQCAtNzgsNiArNzgsMzYgQEAKIAlzZXRfcGNmKGFkYXAsIDEsIEkyQ19QQ0ZfU1RPUCk7CiB9CiAKK3N0YXRpYyB2b2lkIGhhbmRsZV9sYWIoc3RydWN0IGkyY19hbGdvX3BjZl9kYXRhICphZGFwLCBjb25zdCBpbnQgKnN0YXR1cykKK3sKKwlERUIyKHByaW50ayhLRVJOX0lORk8KKwkJImkyYy1hbGdvLXBjZi5vOiBsb3N0IGFyYml0cmF0aW9uIChDU1IgMHglMDJ4KVxuIiwKKwkJICpzdGF0dXMpKTsKKworCS8qIENsZWFudXAgZnJvbSBMQUIgLS0gcmVzZXQgYW5kIGVuYWJsZSBFU08uCisJICogVGhpcyByZXNldHMgdGhlIFBDRjg1ODQ7IHNpbmNlIHdlJ3ZlIGxvc3QgdGhlIGJ1cywgbm8KKwkgKiBmdXJ0aGVyIGF0dGVtcHRzIHNob3VsZCBiZSBtYWRlIGJ5IGNhbGxlcnMgdG8gY2xlYW4gdXAKKwkgKiAobm8gaTJjX3N0b3AoKSBldGMuKQorCSAqLworCXNldF9wY2YoYWRhcCwgMSwgSTJDX1BDRl9QSU4pOworCXNldF9wY2YoYWRhcCwgMSwgSTJDX1BDRl9FU08pOworCisJLyogV2UgcGF1c2UgZm9yIGEgdGltZSBwZXJpb2Qgc3VmZmljaWVudCBmb3IgYW55IHJ1bm5pbmcKKwkgKiBJMkMgdHJhbnNhY3Rpb24gdG8gY29tcGxldGUgLS0gdGhlIGFyYml0cmF0aW9uIGxvZ2ljIHdvbid0CisJICogd29yayBwcm9wZXJseSB1bnRpbCB0aGUgbmV4dCBTVEFSVCBpcyBzZWVuLgorCSAqIEl0IGlzIGFzc3VtZWQgdGhlIGJ1cyBkcml2ZXIgb3IgY2xpZW50IGhhcyBzZXQgYSBwcm9wZXIgdmFsdWUuCisJICoKKwkgKiBSRVZJU0lUOiBzaG91bGQgcHJvYmFibHkgdXNlIG1zbGVlcCBpbnN0ZWFkIG9mIG1kZWxheSBpZiB3ZQorCSAqIGtub3cgd2UgY2FuIHNsZWVwLgorCSAqLworCWlmIChhZGFwLT5sYWJfbWRlbGF5KQorCQltZGVsYXkoYWRhcC0+bGFiX21kZWxheSk7CisKKwlERUIyKHByaW50ayhLRVJOX0lORk8KKwkJImkyYy1hbGdvLXBjZi5vOiByZXNldCBMQUIgY29uZGl0aW9uIChDU1IgMHglMDJ4KVxuIiwKKwkJZ2V0X3BjZihhZGFwLCAxKSkpOworfQorCiBzdGF0aWMgaW50IHdhaXRfZm9yX2JiKHN0cnVjdCBpMmNfYWxnb19wY2ZfZGF0YSAqYWRhcCkgewogCiAJaW50IHRpbWVvdXQgPSBERUZfVElNRU9VVDsKQEAgLTEwOSwyMyArMTM5LDcgQEAKIAkJKnN0YXR1cyA9IGdldF9wY2YoYWRhcCwgMSk7CiAJfQogCWlmICgqc3RhdHVzICYgSTJDX1BDRl9MQUIpIHsKLQkJREVCMihwcmludGsoS0VSTl9JTkZPIAotCQkJImkyYy1hbGdvLXBjZi5vOiBsb3N0IGFyYml0cmF0aW9uIChDU1IgMHglMDJ4KVxuIiwKLQkJCSAqc3RhdHVzKSk7Ci0JCS8qIENsZWFudXAgZnJvbSBMQUItLSByZXNldCBhbmQgZW5hYmxlIEVTTy4KLQkJICogVGhpcyByZXNldHMgdGhlIFBDRjg1ODQ7IHNpbmNlIHdlJ3ZlIGxvc3QgdGhlIGJ1cywgbm8KLQkJICogZnVydGhlciBhdHRlbXB0cyBzaG91bGQgYmUgbWFkZSBieSBjYWxsZXJzIHRvIGNsZWFuIHVwIAotCQkgKiAobm8gaTJjX3N0b3AoKSBldGMuKQotCQkgKi8KLQkJc2V0X3BjZihhZGFwLCAxLCBJMkNfUENGX1BJTik7Ci0JCXNldF9wY2YoYWRhcCwgMSwgSTJDX1BDRl9FU08pOwotCQkvKiBUT0RPOiB3ZSBzaG91bGQgcGF1c2UgZm9yIGEgdGltZSBwZXJpb2Qgc3VmZmljaWVudCBmb3IgYW55Ci0JCSAqIHJ1bm5pbmcgSTJDIHRyYW5zYWN0aW9uIHRvIGNvbXBsZXRlLS0gdGhlIGFyYml0cmF0aW9uCi0JCSAqIGxvZ2ljIHdvbid0IHdvcmsgcHJvcGVybHkgdW50aWwgdGhlIG5leHQgU1RBUlQgaXMgc2Vlbi4KLQkJICovCi0JCURFQjIocHJpbnRrKEtFUk5fSU5GTyAKLQkJCSJpMmMtYWxnby1wY2YubzogcmVzZXQgTEFCIGNvbmRpdGlvbiAoQ1NSIDB4JTAyeClcbiIsIAotCQkJZ2V0X3BjZihhZGFwLDEpKSk7CisJCWhhbmRsZV9sYWIoYWRhcCwgc3RhdHVzKTsKIAkJcmV0dXJuKC1FSU5UUik7CiAJfQogI2VuZGlmCmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvS2NvbmZpZyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9LY29uZmlnCmluZGV4IDQ4NDM4Y2MuLjZlZTk5N2IgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9LY29uZmlnCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9LY29uZmlnCkBAIC00LDYgKzQsOSBAQAogCiBtZW51ICJJMkMgSGFyZHdhcmUgQnVzIHN1cHBvcnQiCiAKK2NvbW1lbnQgIlBDIFNNQnVzIGhvc3QgY29udHJvbGxlciBkcml2ZXJzIgorCWRlcGVuZHMgb24gUENJCisKIGNvbmZpZyBJMkNfQUxJMTUzNQogCXRyaXN0YXRlICJBTEkgMTUzNSIKIAlkZXBlbmRzIG9uIFBDSQpAQCAtNzMsNiArNzYsMTg2IEBACiAJICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCiAJICB3aWxsIGJlIGNhbGxlZCBpMmMtYW1kODExMS4KIAorY29uZmlnIEkyQ19JODAxCisJdHJpc3RhdGUgIkludGVsIDgyODAxIChJQ0gpIgorCWRlcGVuZHMgb24gUENJCisJaGVscAorCSAgSWYgeW91IHNheSB5ZXMgdG8gdGhpcyBvcHRpb24sIHN1cHBvcnQgd2lsbCBiZSBpbmNsdWRlZCBmb3IgdGhlIEludGVsCisJICA4MDEgZmFtaWx5IG9mIG1haW5ib2FyZCBJMkMgaW50ZXJmYWNlcy4gIFNwZWNpZmljYWxseSwgdGhlIGZvbGxvd2luZworCSAgdmVyc2lvbnMgb2YgdGhlIGNoaXBzZXQgYXJlIHN1cHBvcnRlZDoKKwkgICAgODI4MDFBQQorCSAgICA4MjgwMUFCCisJICAgIDgyODAxQkEKKwkgICAgODI4MDFDQS9DQU0KKwkgICAgODI4MDFEQgorCSAgICA4MjgwMUVCL0VSIChJQ0g1L0lDSDVSKQorCSAgICA2MzAwRVNCCisJICAgIElDSDYKKwkgICAgSUNINworCSAgICBFU0IyCisJICAgIElDSDgKKwkgICAgSUNIOQorCSAgICBUb2xhcGFpCisJICAgIElDSDEwCisKKwkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKKwkgIHdpbGwgYmUgY2FsbGVkIGkyYy1pODAxLgorCitjb25maWcgSTJDX0lTQ0gKKwl0cmlzdGF0ZSAiSW50ZWwgU0NIIFNNQnVzIDEuMCIKKwlkZXBlbmRzIG9uIFBDSQorCWhlbHAKKwkgIFNheSBZIGhlcmUgaWYgeW91IHdhbnQgdG8gdXNlIFNNQnVzIGNvbnRyb2xsZXIgb24gdGhlIEludGVsIFNDSAorCSAgYmFzZWQgc3lzdGVtcy4KKworCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuIElmIHNvLCB0aGUgbW9kdWxlCisJICB3aWxsIGJlIGNhbGxlZCBpMmMtaXNjaC4KKworY29uZmlnIEkyQ19QSUlYNAorCXRyaXN0YXRlICJJbnRlbCBQSUlYNCBhbmQgY29tcGF0aWJsZSAoQVRJL1NlcnZlcndvcmtzL0Jyb2FkY29tL1NNU0MpIgorCWRlcGVuZHMgb24gUENJCisJaGVscAorCSAgSWYgeW91IHNheSB5ZXMgdG8gdGhpcyBvcHRpb24sIHN1cHBvcnQgd2lsbCBiZSBpbmNsdWRlZCBmb3IgdGhlIEludGVsCisJICBQSUlYNCBmYW1pbHkgb2YgbWFpbmJvYXJkIEkyQyBpbnRlcmZhY2VzLiAgU3BlY2lmaWNhbGx5LCB0aGUgZm9sbG93aW5nCisJICB2ZXJzaW9ucyBvZiB0aGUgY2hpcHNldCBhcmUgc3VwcG9ydGVkIChub3RlIHRoYXQgU2VydmVyd29ya3MgaXMgcGFydAorCSAgb2YgQnJvYWRjb20pOgorCSAgICBJbnRlbCBQSUlYNAorCSAgICBJbnRlbCA0NDBNWAorCSAgICBBVEkgSVhQMjAwCisJICAgIEFUSSBJWFAzMDAKKwkgICAgQVRJIElYUDQwMAorCSAgICBBVEkgU0I2MDAKKwkgICAgQVRJIFNCNzAwCisJICAgIEFUSSBTQjgwMAorCSAgICBTZXJ2ZXJ3b3JrcyBPU0I0CisJICAgIFNlcnZlcndvcmtzIENTQjUKKwkgICAgU2VydmVyd29ya3MgQ1NCNgorCSAgICBTZXJ2ZXJ3b3JrcyBIVC0xMDAwCisJICAgIFNNU0MgVmljdG9yeTY2CisKKwkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKKwkgIHdpbGwgYmUgY2FsbGVkIGkyYy1waWl4NC4KKworY29uZmlnIEkyQ19ORk9SQ0UyCisJdHJpc3RhdGUgIk52aWRpYSBuRm9yY2UyLCBuRm9yY2UzIGFuZCBuRm9yY2U0IgorCWRlcGVuZHMgb24gUENJCisJaGVscAorCSAgSWYgeW91IHNheSB5ZXMgdG8gdGhpcyBvcHRpb24sIHN1cHBvcnQgd2lsbCBiZSBpbmNsdWRlZCBmb3IgdGhlIE52aWRpYQorCSAgbkZvcmNlMiwgbkZvcmNlMyBhbmQgbkZvcmNlNCBmYW1pbGllcyBvZiBtYWluYm9hcmQgSTJDIGludGVyZmFjZXMuCisKKwkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKKwkgIHdpbGwgYmUgY2FsbGVkIGkyYy1uZm9yY2UyLgorCitjb25maWcgSTJDX05GT1JDRTJfUzQ5ODUKKwl0cmlzdGF0ZSAiU01CdXMgbXVsdGlwbGV4aW5nIG9uIHRoZSBUeWFuIFM0OTg1IgorCWRlcGVuZHMgb24gSTJDX05GT1JDRTIgJiYgRVhQRVJJTUVOVEFMCisJaGVscAorCSAgRW5hYmxpbmcgdGhpcyBvcHRpb24gd2lsbCBhZGQgc3BlY2lmaWMgU01CdXMgc3VwcG9ydCBmb3IgdGhlIFR5YW4KKwkgIFM0OTg1IG1vdGhlcmJvYXJkLiAgT24gdGhpcyA0LUNQVSBib2FyZCwgdGhlIFNNQnVzIGlzIG11bHRpcGxleGVkCisJICBvdmVyIDQgZGlmZmVyZW50IGNoYW5uZWxzLCB3aGVyZSB0aGUgdmFyaW91cyBtZW1vcnkgbW9kdWxlIEVFUFJPTXMKKwkgIGxpdmUuICBTYXlpbmcgeWVzIGhlcmUgd2lsbCBnaXZlIHlvdSBhY2Nlc3MgdG8gdGhlc2UgaW4gYWRkaXRpb24KKwkgIHRvIHRoZSB0cnVuay4KKworCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQorCSAgd2lsbCBiZSBjYWxsZWQgaTJjLW5mb3JjZTItczQ5ODUuCisKK2NvbmZpZyBJMkNfU0lTNTU5NQorCXRyaXN0YXRlICJTaVMgNTU5NSIKKwlkZXBlbmRzIG9uIFBDSQorCWhlbHAKKwkgIElmIHlvdSBzYXkgeWVzIHRvIHRoaXMgb3B0aW9uLCBzdXBwb3J0IHdpbGwgYmUgaW5jbHVkZWQgZm9yIHRoZQorCSAgU2lTNTU5NSBTTUJ1cyAoYSBzdWJzZXQgb2YgSTJDKSBpbnRlcmZhY2UuCisKKwkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKKwkgIHdpbGwgYmUgY2FsbGVkIGkyYy1zaXM1NTk1LgorCitjb25maWcgSTJDX1NJUzYzMAorCXRyaXN0YXRlICJTaVMgNjMwLzczMCIKKwlkZXBlbmRzIG9uIFBDSQorCWhlbHAKKwkgIElmIHlvdSBzYXkgeWVzIHRvIHRoaXMgb3B0aW9uLCBzdXBwb3J0IHdpbGwgYmUgaW5jbHVkZWQgZm9yIHRoZQorCSAgU2lTNjMwIGFuZCBTaVM3MzAgU01CdXMgKGEgc3Vic2V0IG9mIEkyQykgaW50ZXJmYWNlLgorCisJICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCisJICB3aWxsIGJlIGNhbGxlZCBpMmMtc2lzNjMwLgorCitjb25maWcgSTJDX1NJUzk2WAorCXRyaXN0YXRlICJTaVMgOTZ4IgorCWRlcGVuZHMgb24gUENJCisJaGVscAorCSAgSWYgeW91IHNheSB5ZXMgdG8gdGhpcyBvcHRpb24sIHN1cHBvcnQgd2lsbCBiZSBpbmNsdWRlZCBmb3IgdGhlIFNpUworCSAgOTZ4IFNNQnVzIChhIHN1YnNldCBvZiBJMkMpIGludGVyZmFjZXMuICBTcGVjaWZpY2FsbHksIHRoZSBmb2xsb3dpbmcKKwkgIGNoaXBzZXRzIGFyZSBzdXBwb3J0ZWQ6CisJICAgIDY0NS85NjEKKwkgICAgNjQ1RFgvOTYxCisJICAgIDY0NURYLzk2MgorCSAgICA2NDgvOTYxCisJICAgIDY1MC85NjEKKwkgICAgNzM1CisJICAgIDc0NQorCisJICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCisJICB3aWxsIGJlIGNhbGxlZCBpMmMtc2lzOTZ4LgorCitjb25maWcgSTJDX1ZJQQorCXRyaXN0YXRlICJWSUEgVlQ4MkM1ODZCIgorCWRlcGVuZHMgb24gUENJICYmIEVYUEVSSU1FTlRBTAorCXNlbGVjdCBJMkNfQUxHT0JJVAorCWhlbHAKKwkgIElmIHlvdSBzYXkgeWVzIHRvIHRoaXMgb3B0aW9uLCBzdXBwb3J0IHdpbGwgYmUgaW5jbHVkZWQgZm9yIHRoZSBWSUEKKyAgICAgICAgICA4MkM1ODZCIEkyQyBpbnRlcmZhY2UKKworCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQorCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXZpYS4KKworY29uZmlnIEkyQ19WSUFQUk8KKwl0cmlzdGF0ZSAiVklBIFZUODJDNTk2LzgyQzY4Ni84Mnh4IGFuZCBDWDcwMCIKKwlkZXBlbmRzIG9uIFBDSQorCWhlbHAKKwkgIElmIHlvdSBzYXkgeWVzIHRvIHRoaXMgb3B0aW9uLCBzdXBwb3J0IHdpbGwgYmUgaW5jbHVkZWQgZm9yIHRoZSBWSUEKKwkgIFZUODJDNTk2IGFuZCBsYXRlciBTTUJ1cyBpbnRlcmZhY2UuICBTcGVjaWZpY2FsbHksIHRoZSBmb2xsb3dpbmcKKwkgIGNoaXBzZXRzIGFyZSBzdXBwb3J0ZWQ6CisJICAgIFZUODJDNTk2QS9CCisJICAgIFZUODJDNjg2QS9CCisJICAgIFZUODIzMQorCSAgICBWVDgyMzMvQQorCSAgICBWVDgyMzUKKwkgICAgVlQ4MjM3Ui9BL1MKKwkgICAgVlQ4MjUxCisJICAgIENYNzAwCisKKwkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKKwkgIHdpbGwgYmUgY2FsbGVkIGkyYy12aWFwcm8uCisKK2NvbW1lbnQgIk1hYyBTTUJ1cyBob3N0IGNvbnRyb2xsZXIgZHJpdmVycyIKKwlkZXBlbmRzIG9uIFBQQ19DSFJQIHx8IFBQQ19QTUFDCisKK2NvbmZpZyBJMkNfSFlEUkEKKwl0cmlzdGF0ZSAiQ0hSUCBBcHBsZSBIeWRyYSBNYWMgSS9PIEkyQyBpbnRlcmZhY2UiCisJZGVwZW5kcyBvbiBQQ0kgJiYgUFBDX0NIUlAgJiYgRVhQRVJJTUVOVEFMCisJc2VsZWN0IEkyQ19BTEdPQklUCisJaGVscAorCSAgVGhpcyBzdXBwb3J0cyB0aGUgdXNlIG9mIHRoZSBJMkMgaW50ZXJmYWNlIGluIHRoZSBBcHBsZSBIeWRyYSBNYWMKKwkgIEkvTyBjaGlwIG9uIHNvbWUgQ0hSUCBtYWNoaW5lcyAoZS5nLiB0aGUgTG9uZ1RyYWlsKS4gIFNheSBZIGlmIHlvdQorCSAgaGF2ZSBzdWNoIGEgbWFjaGluZS4KKworCSAgVGhpcyBzdXBwb3J0IGlzIGFsc28gYXZhaWxhYmxlIGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKKwkgIHdpbGwgYmUgY2FsbGVkIGkyYy1oeWRyYS4KKworY29uZmlnIEkyQ19QT1dFUk1BQworCXRyaXN0YXRlICJQb3dlcm1hYyBJMkMgaW50ZXJmYWNlIgorCWRlcGVuZHMgb24gUFBDX1BNQUMKKwlkZWZhdWx0IHkKKwloZWxwCisJICBUaGlzIGV4cG9zZXMgdGhlIHZhcmlvdXMgUG93ZXJNYWMgaTJjIGludGVyZmFjZXMgdG8gdGhlIGxpbnV4IGkyYworCSAgbGF5ZXIgYW5kIHRvIHVzZXJsYW5kLiBJdCBpcyB1c2VkIGJ5IHZhcmlvdXMgZHJpdmVycyBvbiB0aGUgUG93ZXJNYWMKKwkgIHBsYXRmb3JtLCBhbmQgc2hvdWxkIGdlbmVyYWxseSBiZSBlbmFibGVkLgorCisJICBUaGlzIHN1cHBvcnQgaXMgYWxzbyBhdmFpbGFibGUgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQorCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXBvd2VybWFjLgorCitjb21tZW50ICJJMkMgc3lzdGVtIGJ1cyBkcml2ZXJzIChtb3N0bHkgZW1iZWRkZWQgLyBzeXN0ZW0tb24tY2hpcCkiCisKIGNvbmZpZyBJMkNfQVQ5MQogCXRyaXN0YXRlICJBdG1lbCBBVDkxIEkyQyBUd28tV2lyZSBpbnRlcmZhY2UgKFRXSSkiCiAJZGVwZW5kcyBvbiBBUkNIX0FUOTEgJiYgRVhQRVJJTUVOVEFMICYmIEJST0tFTgpAQCAtMTAxLDEwICsyODQsOSBAQAogY29uZmlnIEkyQ19CTEFDS0ZJTl9UV0kKIAl0cmlzdGF0ZSAiQmxhY2tmaW4gVFdJIEkyQyBzdXBwb3J0IgogCWRlcGVuZHMgb24gQkxBQ0tGSU4KKwlkZXBlbmRzIG9uICFCRjU2MSAmJiAhQkY1MzEgJiYgIUJGNTMyICYmICFCRjUzMwogCWhlbHAKLQkgIFRoaXMgaXMgdGhlIFRXSSBJMkMgZGV2aWNlIGRyaXZlciBmb3IgQmxhY2tmaW4gQkY1MjIsIEJGNTI1LAotCSAgQkY1MjcsIEJGNTM0LCBCRjUzNiwgQkY1MzcgYW5kIEJGNTR4LiBGb3Igb3RoZXIgQmxhY2tmaW4gcHJvY2Vzc29ycywKLQkgIHBsZWFzZSBkb24ndCB1c2UgdGhpcyBkcml2ZXIuCisJICBUaGlzIGlzIHRoZSBJMkMgYnVzIGRyaXZlciBmb3IgQmxhY2tmaW4gb24tY2hpcCBUV0kgaW50ZXJmYWNlLgogCiAJICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCiAJICB3aWxsIGJlIGNhbGxlZCBpMmMtYmZpbi10d2kuCkBAIC0xMTcsNiArMjk5LDE2IEBACiAJaGVscAogCSAgVGhlIHVuaXQgb2YgdGhlIFRXSSBjbG9jayBpcyBrSHouCiAKK2NvbmZpZyBJMkNfQ1BNCisJdHJpc3RhdGUgIkZyZWVzY2FsZSBDUE0xIG9yIENQTTIgKE1QQzh4eC84MjZ4KSIKKwlkZXBlbmRzIG9uIChDUE0xIHx8IENQTTIpICYmIE9GX0kyQworCWhlbHAKKwkgIFRoaXMgc3VwcG9ydHMgdGhlIHVzZSBvZiB0aGUgSTJDIGludGVyZmFjZSBvbiBGcmVlc2NhbGUKKwkgIHByb2Nlc3NvcnMgd2l0aCBDUE0xIG9yIENQTTIuCisKKwkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKKwkgIHdpbGwgYmUgY2FsbGVkIGkyYy1jcG0uCisKIGNvbmZpZyBJMkNfREFWSU5DSQogCXRyaXN0YXRlICJEYVZpbmNpIEkyQyBkcml2ZXIiCiAJZGVwZW5kcyBvbiBBUkNIX0RBVklOQ0kKQEAgLTEzMCwxNyArMzIyLDYgQEAKIAkgIGRldmljZXMgc3VjaCBhcyBEYVZpbmNpIE5JQy4KIAkgIEZvciBkZXRhaWxzIHBsZWFzZSBzZWUgaHR0cDovL3d3dy50aS5jb20vZGF2aW5jaQogCi1jb25maWcgSTJDX0VMRUtUT1IKLQl0cmlzdGF0ZSAiRWxla3RvciBJU0EgY2FyZCIKLQlkZXBlbmRzIG9uIElTQSAmJiBCUk9LRU5fT05fU01QCi0Jc2VsZWN0IEkyQ19BTEdPUENGCi0JaGVscAotCSAgVGhpcyBzdXBwb3J0cyB0aGUgUENGODU4NCBJU0EgYnVzIEkyQyBhZGFwdGVyLiAgU2F5IFkgaWYgeW91IG93bgotCSAgc3VjaCBhbiBhZGFwdGVyLgotCi0JICBUaGlzIHN1cHBvcnQgaXMgYWxzbyBhdmFpbGFibGUgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQotCSAgd2lsbCBiZSBjYWxsZWQgaTJjLWVsZWt0b3IuCi0KIGNvbmZpZyBJMkNfR1BJTwogCXRyaXN0YXRlICJHUElPLWJhc2VkIGJpdGJhbmdpbmcgSTJDIgogCWRlcGVuZHMgb24gR0VORVJJQ19HUElPCkBAIC0xNDksMTA0ICszMzAsNiBAQAogCSAgVGhpcyBpcyBhIHZlcnkgc2ltcGxlIGJpdGJhbmdpbmcgSTJDIGRyaXZlciB1dGlsaXppbmcgdGhlCiAJICBhcmNoLW5ldXRyYWwgR1BJTyBBUEkgdG8gY29udHJvbCB0aGUgU0NMIGFuZCBTREEgbGluZXMuCiAKLWNvbmZpZyBJMkNfSFlEUkEKLQl0cmlzdGF0ZSAiQ0hSUCBBcHBsZSBIeWRyYSBNYWMgSS9PIEkyQyBpbnRlcmZhY2UiCi0JZGVwZW5kcyBvbiBQQ0kgJiYgUFBDX0NIUlAgJiYgRVhQRVJJTUVOVEFMCi0Jc2VsZWN0IEkyQ19BTEdPQklUCi0JaGVscAotCSAgVGhpcyBzdXBwb3J0cyB0aGUgdXNlIG9mIHRoZSBJMkMgaW50ZXJmYWNlIGluIHRoZSBBcHBsZSBIeWRyYSBNYWMKLQkgIEkvTyBjaGlwIG9uIHNvbWUgQ0hSUCBtYWNoaW5lcyAoZS5nLiB0aGUgTG9uZ1RyYWlsKS4gIFNheSBZIGlmIHlvdQotCSAgaGF2ZSBzdWNoIGEgbWFjaGluZS4KLQotCSAgVGhpcyBzdXBwb3J0IGlzIGFsc28gYXZhaWxhYmxlIGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKLQkgIHdpbGwgYmUgY2FsbGVkIGkyYy1oeWRyYS4KLQotY29uZmlnIEkyQ19JODAxCi0JdHJpc3RhdGUgIkludGVsIDgyODAxIChJQ0gpIgotCWRlcGVuZHMgb24gUENJCi0JaGVscAotCSAgSWYgeW91IHNheSB5ZXMgdG8gdGhpcyBvcHRpb24sIHN1cHBvcnQgd2lsbCBiZSBpbmNsdWRlZCBmb3IgdGhlIEludGVsCi0JICA4MDEgZmFtaWx5IG9mIG1haW5ib2FyZCBJMkMgaW50ZXJmYWNlcy4gIFNwZWNpZmljYWxseSwgdGhlIGZvbGxvd2luZwotCSAgdmVyc2lvbnMgb2YgdGhlIGNoaXBzZXQgYXJlIHN1cHBvcnRlZDoKLQkgICAgODI4MDFBQQotCSAgICA4MjgwMUFCCi0JICAgIDgyODAxQkEKLQkgICAgODI4MDFDQS9DQU0KLQkgICAgODI4MDFEQgotCSAgICA4MjgwMUVCL0VSIChJQ0g1L0lDSDVSKQotCSAgICA2MzAwRVNCCi0JICAgIElDSDYKLQkgICAgSUNINwotCSAgICBFU0IyCi0JICAgIElDSDgKLQkgICAgSUNIOQotCSAgICBUb2xhcGFpCi0JICAgIElDSDEwCi0KLQkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKLQkgIHdpbGwgYmUgY2FsbGVkIGkyYy1pODAxLgotCi1jb25maWcgSTJDX0k4MTAKLQl0cmlzdGF0ZSAiSW50ZWwgODEwLzgxNSAoREVQUkVDQVRFRCkiCi0JZGVmYXVsdCBuCi0JZGVwZW5kcyBvbiBQQ0kKLQlzZWxlY3QgSTJDX0FMR09CSVQKLQloZWxwCi0JICBJZiB5b3Ugc2F5IHllcyB0byB0aGlzIG9wdGlvbiwgc3VwcG9ydCB3aWxsIGJlIGluY2x1ZGVkIGZvciB0aGUgSW50ZWwKLQkgIDgxMC84MTUgZmFtaWx5IG9mIG1haW5ib2FyZCBJMkMgaW50ZXJmYWNlcy4gIFNwZWNpZmljYWxseSwgdGhlCi0JICBmb2xsb3dpbmcgdmVyc2lvbnMgb2YgdGhlIGNoaXBzZXQgYXJlIHN1cHBvcnRlZDoKLQkgICAgaTgxMEFBCi0JICAgIGk4MTBBQgotCSAgICBpODEwRQotCSAgICBpODE1Ci0JICAgIGk4NDVHCi0KLQkgIFRoaXMgZHJpdmVyIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3Igb2YgdGhlIGk4MTBmYiBhbmQgaW50ZWxmYiBkcml2ZXJzLgotCi0JICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCi0JICB3aWxsIGJlIGNhbGxlZCBpMmMtaTgxMC4KLQotY29uZmlnIEkyQ19QWEEKLQl0cmlzdGF0ZSAiSW50ZWwgUFhBMlhYIEkyQyBhZGFwdGVyIChFWFBFUklNRU5UQUwpIgotCWRlcGVuZHMgb24gRVhQRVJJTUVOVEFMICYmIEFSQ0hfUFhBCi0JaGVscAotCSAgSWYgeW91IGhhdmUgZGV2aWNlcyBpbiB0aGUgUFhBIEkyQyBidXMsIHNheSB5ZXMgdG8gdGhpcyBvcHRpb24uCi0JICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCi0JICB3aWxsIGJlIGNhbGxlZCBpMmMtcHhhLgotCi1jb25maWcgSTJDX1BYQV9TTEFWRQotCWJvb2wgIkludGVsIFBYQTJYWCBJMkMgU2xhdmUgY29tbXMgc3VwcG9ydCIKLQlkZXBlbmRzIG9uIEkyQ19QWEEKLQloZWxwCi0JICBTdXBwb3J0IEkyQyBzbGF2ZSBtb2RlIGNvbW11bmljYXRpb25zIG9uIHRoZSBQWEEgSTJDIGJ1cy4gIFRoaXMKLQkgIGlzIG5lY2Vzc2FyeSBmb3Igc3lzdGVtcyB3aGVyZSB0aGUgUFhBIG1heSBiZSBhIHRhcmdldCBvbiB0aGUKLQkgIEkyQyBidXMuCi0KLWNvbmZpZyBJMkNfUElJWDQKLQl0cmlzdGF0ZSAiSW50ZWwgUElJWDQgYW5kIGNvbXBhdGlibGUgKEFUSS9TZXJ2ZXJ3b3Jrcy9Ccm9hZGNvbS9TTVNDKSIKLQlkZXBlbmRzIG9uIFBDSQotCWhlbHAKLQkgIElmIHlvdSBzYXkgeWVzIHRvIHRoaXMgb3B0aW9uLCBzdXBwb3J0IHdpbGwgYmUgaW5jbHVkZWQgZm9yIHRoZSBJbnRlbAotCSAgUElJWDQgZmFtaWx5IG9mIG1haW5ib2FyZCBJMkMgaW50ZXJmYWNlcy4gIFNwZWNpZmljYWxseSwgdGhlIGZvbGxvd2luZwotCSAgdmVyc2lvbnMgb2YgdGhlIGNoaXBzZXQgYXJlIHN1cHBvcnRlZCAobm90ZSB0aGF0IFNlcnZlcndvcmtzIGlzIHBhcnQKLQkgIG9mIEJyb2FkY29tKToKLQkgICAgSW50ZWwgUElJWDQKLQkgICAgSW50ZWwgNDQwTVgKLQkgICAgQVRJIElYUDIwMAotCSAgICBBVEkgSVhQMzAwCi0JICAgIEFUSSBJWFA0MDAKLQkgICAgQVRJIFNCNjAwCi0JICAgIEFUSSBTQjcwMAotCSAgICBBVEkgU0I4MDAKLQkgICAgU2VydmVyd29ya3MgT1NCNAotCSAgICBTZXJ2ZXJ3b3JrcyBDU0I1Ci0JICAgIFNlcnZlcndvcmtzIENTQjYKLQkgICAgU2VydmVyd29ya3MgSFQtMTAwMAotCSAgICBTTVNDIFZpY3Rvcnk2NgotCi0JICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCi0JICB3aWxsIGJlIGNhbGxlZCBpMmMtcGlpeDQuCi0KIGNvbmZpZyBJMkNfSUJNX0lJQwogCXRyaXN0YXRlICJJQk0gUFBDIDR4eCBvbi1jaGlwIEkyQyBpbnRlcmZhY2UiCiAJZGVwZW5kcyBvbiA0eHgKQEAgLTI4MSwxOCArMzY0LDYgQEAKIAkgIFRoaXMgZHJpdmVyIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgZHJvcHBlZCBzb29uLiBVc2UgaTJjLWdwaW8KIAkgIGluc3RlYWQuCiAKLWNvbmZpZyBJMkNfUE9XRVJNQUMKLQl0cmlzdGF0ZSAiUG93ZXJtYWMgSTJDIGludGVyZmFjZSIKLQlkZXBlbmRzIG9uIFBQQ19QTUFDCi0JZGVmYXVsdCB5Ci0JaGVscAotCSAgVGhpcyBleHBvc2VzIHRoZSB2YXJpb3VzIFBvd2VyTWFjIGkyYyBpbnRlcmZhY2VzIHRvIHRoZSBsaW51eCBpMmMKLQkgIGxheWVyIGFuZCB0byB1c2VybGFuZC4gSXQgaXMgdXNlZCBieSB2YXJpb3VzIGRyaXZlcnMgb24gdGhlIFBvd2VyTWFjCi0JICBwbGF0Zm9ybSwgYW5kIHNob3VsZCBnZW5lcmFsbHkgYmUgZW5hYmxlZC4KLQotCSAgVGhpcyBzdXBwb3J0IGlzIGFsc28gYXZhaWxhYmxlIGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKLQkgIHdpbGwgYmUgY2FsbGVkIGkyYy1wb3dlcm1hYy4KLQogY29uZmlnIEkyQ19NUEMKIAl0cmlzdGF0ZSAiTVBDMTA3LzgyNHgvODV4eC81Mnh4Lzg2eHgiCiAJZGVwZW5kcyBvbiBQUEMzMgpAQCAtMzA1LDE1ICszNzYsMTUgQEAKIAkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKIAkgIHdpbGwgYmUgY2FsbGVkIGkyYy1tcGMuCiAKLWNvbmZpZyBJMkNfTkZPUkNFMgotCXRyaXN0YXRlICJOdmlkaWEgbkZvcmNlMiwgbkZvcmNlMyBhbmQgbkZvcmNlNCIKLQlkZXBlbmRzIG9uIFBDSQorY29uZmlnIEkyQ19NVjY0WFhYCisJdHJpc3RhdGUgIk1hcnZlbGwgbXY2NHh4eCBJMkMgQ29udHJvbGxlciIKKwlkZXBlbmRzIG9uIChNVjY0WDYwIHx8IFBMQVRfT1JJT04pICYmIEVYUEVSSU1FTlRBTAogCWhlbHAKLQkgIElmIHlvdSBzYXkgeWVzIHRvIHRoaXMgb3B0aW9uLCBzdXBwb3J0IHdpbGwgYmUgaW5jbHVkZWQgZm9yIHRoZSBOdmlkaWEKLQkgIG5Gb3JjZTIsIG5Gb3JjZTMgYW5kIG5Gb3JjZTQgZmFtaWxpZXMgb2YgbWFpbmJvYXJkIEkyQyBpbnRlcmZhY2VzLgorCSAgSWYgeW91IHNheSB5ZXMgdG8gdGhpcyBvcHRpb24sIHN1cHBvcnQgd2lsbCBiZSBpbmNsdWRlZCBmb3IgdGhlCisJICBidWlsdC1pbiBJMkMgaW50ZXJmYWNlIG9uIHRoZSBNYXJ2ZWxsIDY0eHh4IGxpbmUgb2YgaG9zdCBicmlkZ2VzLgogCiAJICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCi0JICB3aWxsIGJlIGNhbGxlZCBpMmMtbmZvcmNlMi4KKwkgIHdpbGwgYmUgY2FsbGVkIGkyYy1tdjY0eHh4LgogCiBjb25maWcgSTJDX09DT1JFUwogCXRyaXN0YXRlICJPcGVuQ29yZXMgSTJDIENvbnRyb2xsZXIiCkBAIC0zMzYsNiArNDA3LDg5IEBACiAJICBMaWtlIE9NQVAxNTEwLzE2MTAvMTcxMC81OTEyIGFuZCBPTUFQMjQyeC4KIAkgIEZvciBkZXRhaWxzIHNlZSBodHRwOi8vd3d3LnRpLmNvbS9vbWFwLgogCitjb25maWcgSTJDX1BBU0VNSQorCXRyaXN0YXRlICJQQSBTZW1pIFNNQnVzIGludGVyZmFjZSIKKwlkZXBlbmRzIG9uIFBQQ19QQVNFTUkgJiYgUENJCisJaGVscAorCSAgU3VwcG9ydHMgdGhlIFBBIFNlbWkgUFdSZmljaWVudCBvbi1jaGlwIFNNQnVzIGludGVyZmFjZXMuCisKK2NvbmZpZyBJMkNfUE5YCisJdHJpc3RhdGUgIkkyQyBidXMgc3VwcG9ydCBmb3IgUGhpbGlwcyBQTlggdGFyZ2V0cyIKKwlkZXBlbmRzIG9uIEFSQ0hfUE5YNDAwOAorCWhlbHAKKwkgIFRoaXMgZHJpdmVyIHN1cHBvcnRzIHRoZSBQaGlsaXBzIElQMzIwNCBJMkMgSVAgYmxvY2sgbWFzdGVyIGFuZC9vcgorCSAgc2xhdmUgY29udHJvbGxlcgorCisJICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCisJICB3aWxsIGJlIGNhbGxlZCBpMmMtcG54LgorCitjb25maWcgSTJDX1BYQQorCXRyaXN0YXRlICJJbnRlbCBQWEEyWFggSTJDIGFkYXB0ZXIgKEVYUEVSSU1FTlRBTCkiCisJZGVwZW5kcyBvbiBFWFBFUklNRU5UQUwgJiYgQVJDSF9QWEEKKwloZWxwCisJICBJZiB5b3UgaGF2ZSBkZXZpY2VzIGluIHRoZSBQWEEgSTJDIGJ1cywgc2F5IHllcyB0byB0aGlzIG9wdGlvbi4KKwkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKKwkgIHdpbGwgYmUgY2FsbGVkIGkyYy1weGEuCisKK2NvbmZpZyBJMkNfUFhBX1NMQVZFCisJYm9vbCAiSW50ZWwgUFhBMlhYIEkyQyBTbGF2ZSBjb21tcyBzdXBwb3J0IgorCWRlcGVuZHMgb24gSTJDX1BYQQorCWhlbHAKKwkgIFN1cHBvcnQgSTJDIHNsYXZlIG1vZGUgY29tbXVuaWNhdGlvbnMgb24gdGhlIFBYQSBJMkMgYnVzLiAgVGhpcworCSAgaXMgbmVjZXNzYXJ5IGZvciBzeXN0ZW1zIHdoZXJlIHRoZSBQWEEgbWF5IGJlIGEgdGFyZ2V0IG9uIHRoZQorCSAgSTJDIGJ1cy4KKworY29uZmlnIEkyQ19TM0MyNDEwCisJdHJpc3RhdGUgIlMzQzI0MTAgSTJDIERyaXZlciIKKwlkZXBlbmRzIG9uIEFSQ0hfUzNDMjQxMAorCWhlbHAKKwkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciBJMkMgY29udHJvbGxlciBpbiB0aGUKKwkgIFNhbXN1bmcgUzNDMjQxMCBiYXNlZCBTeXN0ZW0tb24tQ2hpcCBkZXZpY2VzLgorCitjb25maWcgSTJDX1NINzc2MAorCXRyaXN0YXRlICJSZW5lc2FzIFNINzc2MCBJMkMgQ29udHJvbGxlciIKKwlkZXBlbmRzIG9uIENQVV9TVUJUWVBFX1NINzc2MAorCWhlbHAKKwkgIFRoaXMgZHJpdmVyIHN1cHBvcnRzIHRoZSAyIEkyQyBpbnRlcmZhY2VzIG9uIHRoZSBSZW5lc2FzIFNINzc2MC4KKworCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQorCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXNoNzc2MC4KKworY29uZmlnIEkyQ19TSF9NT0JJTEUKKwl0cmlzdGF0ZSAiU3VwZXJIIE1vYmlsZSBJMkMgQ29udHJvbGxlciIKKwlkZXBlbmRzIG9uIFNVUEVSSAorCWhlbHAKKwkgIElmIHlvdSBzYXkgeWVzIHRvIHRoaXMgb3B0aW9uLCBzdXBwb3J0IHdpbGwgYmUgaW5jbHVkZWQgZm9yIHRoZQorCSAgYnVpbHQtaW4gSTJDIGludGVyZmFjZSBvbiB0aGUgUmVuZXNhcyBTSC1Nb2JpbGUgcHJvY2Vzc29yLgorCisJICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCisJICB3aWxsIGJlIGNhbGxlZCBpMmMtc2hfbW9iaWxlLgorCitjb25maWcgSTJDX1NJTVRFQworCXRyaXN0YXRlICJTaW10ZWMgR2VuZXJpYyBJMkMgaW50ZXJmYWNlIgorCXNlbGVjdCBJMkNfQUxHT0JJVAorCWhlbHAKKwkgIElmIHlvdSBzYXkgeWVzIHRvIHRoaXMgb3B0aW9uLCBzdXBwb3J0IHdpbGwgYmUgaW5jbHVkZWQgZm9yCisJICB0aGUgU2ltdGVjIEdlbmVyaWMgSTJDIGludGVyZmFjZS4gVGhpcyBkcml2ZXIgaXMgZm9yIHRoZQorCSAgc2ltcGxlIEkyQyBidXMgdXNlZCBvbiBuZXdlciBTaW10ZWMgcHJvZHVjdHMgZm9yIGdlbmVyYWwKKwkgIEkyQywgc3VjaCBhcyBEREMgb24gdGhlIFNpbXRlYyBCQkQyMDE2QS4KKworCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuIElmIHNvLCB0aGUgbW9kdWxlCisJICB3aWxsIGJlIGNhbGxlZCBpMmMtc2ltdGVjLgorCitjb25maWcgSTJDX1ZFUlNBVElMRQorCXRyaXN0YXRlICJBUk0gVmVyc2F0aWxlL1JlYWx2aWV3IEkyQyBidXMgc3VwcG9ydCIKKwlkZXBlbmRzIG9uIEFSQ0hfVkVSU0FUSUxFIHx8IEFSQ0hfUkVBTFZJRVcKKwlzZWxlY3QgSTJDX0FMR09CSVQKKwloZWxwCisJICBTYXkgeWVzIGlmIHlvdSB3YW50IHRvIHN1cHBvcnQgdGhlIEkyQyBzZXJpYWwgYnVzIG9uIEFSTXMgVmVyc2F0aWxlCisJICByYW5nZSBvZiBwbGF0Zm9ybXMuCisKKwkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKKwkgIHdpbGwgYmUgY2FsbGVkIGkyYy12ZXJzYXRpbGUuCisKK2NvbW1lbnQgIkV4dGVybmFsIEkyQy9TTUJ1cyBhZGFwdGVyIGRyaXZlcnMiCisKIGNvbmZpZyBJMkNfUEFSUE9SVAogCXRyaXN0YXRlICJQYXJhbGxlbCBwb3J0IGFkYXB0ZXIiCiAJZGVwZW5kcyBvbiBQQVJQT1JUCkBAIC0zODMsNTAgKzUzNywxMDYgQEAKIAkgIFRoaXMgc3VwcG9ydCBpcyBhbHNvIGF2YWlsYWJsZSBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCiAJICB3aWxsIGJlIGNhbGxlZCBpMmMtcGFycG9ydC1saWdodC4KIAotY29uZmlnIEkyQ19QQVNFTUkKLQl0cmlzdGF0ZSAiUEEgU2VtaSBTTUJ1cyBpbnRlcmZhY2UiCi0JZGVwZW5kcyBvbiBQUENfUEFTRU1JICYmIFBDSQotCWhlbHAKLQkgIFN1cHBvcnRzIHRoZSBQQSBTZW1pIFBXUmZpY2llbnQgb24tY2hpcCBTTUJ1cyBpbnRlcmZhY2VzLgotCi1jb25maWcgSTJDX1BST1NBVkFHRQotCXRyaXN0YXRlICJTMy9WSUEgKFBybylTYXZhZ2UgKERFUFJFQ0FURUQpIgorY29uZmlnIEkyQ19UQU9TX0VWTQorCXRyaXN0YXRlICJUQU9TIGV2YWx1YXRpb24gbW9kdWxlIgorCWRlcGVuZHMgb24gRVhQRVJJTUVOVEFMCisJc2VsZWN0IFNFUklPCisJc2VsZWN0IFNFUklPX1NFUlBPUlQKIAlkZWZhdWx0IG4KLQlkZXBlbmRzIG9uIFBDSQotCXNlbGVjdCBJMkNfQUxHT0JJVAogCWhlbHAKLQkgIElmIHlvdSBzYXkgeWVzIHRvIHRoaXMgb3B0aW9uLCBzdXBwb3J0IHdpbGwgYmUgaW5jbHVkZWQgZm9yIHRoZQotCSAgSTJDIGJ1cyBhbmQgRERDIGJ1cyBvZiB0aGUgUzNWSUEgZW1iZWRkZWQgU2F2YWdlNCBhbmQgUHJvU2F2YWdlOAotCSAgZ3JhcGhpY3MgcHJvY2Vzc29ycy4KLQkgIGNoaXBzZXRzIHN1cHBvcnRlZDoKLQkgICAgUzMvVklBIEtNMjY2L1ZUODM3NSBha2EgUHJvU2F2YWdlOAotCSAgICBTMy9WSUEgS00xMzMvVlQ4MzY1IGFrYSBTYXZhZ2U0CisJICBUaGlzIHN1cHBvcnRzIFRBT1MgZXZhbHVhdGlvbiBtb2R1bGVzIG9uIHNlcmlhbCBwb3J0LiBJbiBvcmRlciB0bworCSAgdXNlIHRoaXMgZHJpdmVyLCB5b3Ugd2lsbCBuZWVkIHRoZSBpbnB1dGF0dGFjaCB0b29sLCB3aGljaCBpcyBwYXJ0CisJICBvZiB0aGUgaW5wdXQtdXRpbHMgcGFja2FnZS4KIAotCSAgVGhpcyBkcml2ZXIgaXMgZGVwcmVjYXRlZCBpbiBmYXZvciBvZiB0aGUgc2F2YWdlZmIgZHJpdmVyLgorCSAgSWYgdW5zdXJlLCBzYXkgTi4KIAogCSAgVGhpcyBzdXBwb3J0IGlzIGFsc28gYXZhaWxhYmxlIGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKLQkgIHdpbGwgYmUgY2FsbGVkIGkyYy1wcm9zYXZhZ2UuCisJICB3aWxsIGJlIGNhbGxlZCBpMmMtdGFvcy1ldm0uCiAKLWNvbmZpZyBJMkNfUzNDMjQxMAotCXRyaXN0YXRlICJTM0MyNDEwIEkyQyBEcml2ZXIiCi0JZGVwZW5kcyBvbiBBUkNIX1MzQzI0MTAKK2NvbmZpZyBJMkNfVElOWV9VU0IKKwl0cmlzdGF0ZSAiVGlueS1VU0IgYWRhcHRlciIKKwlkZXBlbmRzIG9uIFVTQgogCWhlbHAKLQkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciBJMkMgY29udHJvbGxlciBpbiB0aGUKLQkgIFNhbXN1bmcgUzNDMjQxMCBiYXNlZCBTeXN0ZW0tb24tQ2hpcCBkZXZpY2VzLgorCSAgSWYgeW91IHNheSB5ZXMgdG8gdGhpcyBvcHRpb24sIHN1cHBvcnQgd2lsbCBiZSBpbmNsdWRlZCBmb3IgdGhlCisJICBpMmMtdGlueS11c2IsIGEgc2ltcGxlIGRvLWl0LXlvdXJzZWxmIFVTQiB0byBJMkMgaW50ZXJmYWNlLiBTZWUKKwkgIGh0dHA6Ly93d3cuaGFyYmF1bS5vcmcvdGlsbC9pMmNfdGlueV91c2IgZm9yIGhhcmR3YXJlIGRldGFpbHMuCiAKLWNvbmZpZyBJMkNfU0FWQUdFNAotCXRyaXN0YXRlICJTMyBTYXZhZ2UgNCAoREVQUkVDQVRFRCkiCi0JZGVmYXVsdCBuCisJICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCisJICB3aWxsIGJlIGNhbGxlZCBpMmMtdGlueS11c2IuCisKK2NvbW1lbnQgIkdyYXBoaWNzIGFkYXB0ZXIgSTJDL0REQyBjaGFubmVsIGRyaXZlcnMiCisJZGVwZW5kcyBvbiBQQ0kKKworY29uZmlnIEkyQ19WT09ET08zCisJdHJpc3RhdGUgIlZvb2RvbyAzIgogCWRlcGVuZHMgb24gUENJCiAJc2VsZWN0IEkyQ19BTEdPQklUCiAJaGVscAogCSAgSWYgeW91IHNheSB5ZXMgdG8gdGhpcyBvcHRpb24sIHN1cHBvcnQgd2lsbCBiZSBpbmNsdWRlZCBmb3IgdGhlCi0JICBTMyBTYXZhZ2UgNCBJMkMgaW50ZXJmYWNlLgotCi0JICBUaGlzIGRyaXZlciBpcyBkZXByZWNhdGVkIGluIGZhdm9yIG9mIHRoZSBzYXZhZ2VmYiBkcml2ZXIuCisJICBWb29kb28gMyBJMkMgaW50ZXJmYWNlLgogCiAJICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCi0JICB3aWxsIGJlIGNhbGxlZCBpMmMtc2F2YWdlNC4KKwkgIHdpbGwgYmUgY2FsbGVkIGkyYy12b29kb28zLgorCitjb21tZW50ICJPdGhlciBJMkMvU01CdXMgYnVzIGRyaXZlcnMiCisKK2NvbmZpZyBJMkNfQUNPUk4KKwl0cmlzdGF0ZSAiQWNvcm4gSU9DL0lPTUQgSTJDIGJ1cyBzdXBwb3J0IgorCWRlcGVuZHMgb24gQVJDSF9BQ09STgorCWRlZmF1bHQgeQorCXNlbGVjdCBJMkNfQUxHT0JJVAorCWhlbHAKKwkgIFNheSB5ZXMgaWYgeW91IHdhbnQgdG8gc3VwcG9ydCB0aGUgSTJDIGJ1cyBvbiBBY29ybiBwbGF0Zm9ybXMuCisKKwkgIElmIHlvdSBkb24ndCBrbm93LCBzYXkgWS4KKworY29uZmlnIEkyQ19FTEVLVE9SCisJdHJpc3RhdGUgIkVsZWt0b3IgSVNBIGNhcmQiCisJZGVwZW5kcyBvbiBJU0EgJiYgQlJPS0VOX09OX1NNUAorCXNlbGVjdCBJMkNfQUxHT1BDRgorCWhlbHAKKwkgIFRoaXMgc3VwcG9ydHMgdGhlIFBDRjg1ODQgSVNBIGJ1cyBJMkMgYWRhcHRlci4gIFNheSBZIGlmIHlvdSBvd24KKwkgIHN1Y2ggYW4gYWRhcHRlci4KKworCSAgVGhpcyBzdXBwb3J0IGlzIGFsc28gYXZhaWxhYmxlIGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKKwkgIHdpbGwgYmUgY2FsbGVkIGkyYy1lbGVrdG9yLgorCitjb25maWcgSTJDX1BDQV9JU0EKKwl0cmlzdGF0ZSAiUENBOTU2NCBvbiBhbiBJU0EgYnVzIgorCWRlcGVuZHMgb24gSVNBCisJc2VsZWN0IEkyQ19BTEdPUENBCisJZGVmYXVsdCBuCisJaGVscAorCSAgVGhpcyBkcml2ZXIgc3VwcG9ydHMgSVNBIGJvYXJkcyB1c2luZyB0aGUgUGhpbGlwcyBQQ0E5NTY0CisJICBwYXJhbGxlbCBidXMgdG8gSTJDIGJ1cyBjb250cm9sbGVyLgorCisJICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCisJICB3aWxsIGJlIGNhbGxlZCBpMmMtcGNhLWlzYS4KKworCSAgVGhpcyBkZXZpY2UgaXMgYWxtb3N0IHVuZGV0ZWN0YWJsZSBhbmQgdXNpbmcgdGhpcyBkcml2ZXIgb24gYQorCSAgc3lzdGVtIHdoaWNoIGRvZXNuJ3QgaGF2ZSB0aGlzIGRldmljZSB3aWxsIHJlc3VsdCBpbiBsb25nCisJICBkZWxheXMgd2hlbiBJMkMvU01CdXMgY2hpcCBkcml2ZXJzIGFyZSBsb2FkZWQgKGUuZy4gYXQgYm9vdAorCSAgdGltZSkuICBJZiB1bnN1cmUsIHNheSBOLgorCitjb25maWcgSTJDX1BDQV9QTEFURk9STQorCXRyaXN0YXRlICJQQ0E5NTY0IGFzIHBsYXRmb3JtIGRldmljZSIKKwlzZWxlY3QgSTJDX0FMR09QQ0EKKwlkZWZhdWx0IG4KKwloZWxwCisJICBUaGlzIGRyaXZlciBzdXBwb3J0cyBhIG1lbW9yeSBtYXBwZWQgUGhpbGlwcyBQQ0E5NTY0CisJICBwYXJhbGxlbCBidXMgdG8gSTJDIGJ1cyBjb250cm9sbGVyLgorCisJICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCisJICB3aWxsIGJlIGNhbGxlZCBpMmMtcGNhLXBsYXRmb3JtLgorCitjb25maWcgSTJDX1BNQ01TUAorCXRyaXN0YXRlICJQTUMgTVNQIEkyQyBUV0kgQ29udHJvbGxlciIKKwlkZXBlbmRzIG9uIFBNQ19NU1AKKwloZWxwCisJICBUaGlzIGRyaXZlciBzdXBwb3J0cyB0aGUgUE1DIFRXSSBjb250cm9sbGVyIG9uIE1TUCBkZXZpY2VzLgorCisJICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBtb2R1bGUuIElmIHNvLCB0aGUgbW9kdWxlCisJICB3aWxsIGJlIGNhbGxlZCBpMmMtcG1jbXNwLgogCiBjb25maWcgSTJDX1NJQllURQogCXRyaXN0YXRlICJTaUJ5dGUgU01CdXMgaW50ZXJmYWNlIgpAQCAtNDM0LDE3ICs2NDQsMTggQEAKIAloZWxwCiAJICBTdXBwb3J0cyB0aGUgU2lCeXRlIFNPQyBvbi1jaGlwIEkyQyBpbnRlcmZhY2VzICgyIGNoYW5uZWxzKS4KIAotY29uZmlnIEkyQ19TSU1URUMKLQl0cmlzdGF0ZSAiU2ltdGVjIEdlbmVyaWMgSTJDIGludGVyZmFjZSIKLQlzZWxlY3QgSTJDX0FMR09CSVQKK2NvbmZpZyBJMkNfU1RVQgorCXRyaXN0YXRlICJJMkMvU01CdXMgVGVzdCBTdHViIgorCWRlcGVuZHMgb24gRVhQRVJJTUVOVEFMICYmIG0KKwlkZWZhdWx0ICduJwogCWhlbHAKLQkgIElmIHlvdSBzYXkgeWVzIHRvIHRoaXMgb3B0aW9uLCBzdXBwb3J0IHdpbGwgYmUgaW5jbHVkZWQgZm9yCi0JICB0aGUgU2ltdGVjIEdlbmVyaWMgSTJDIGludGVyZmFjZS4gVGhpcyBkcml2ZXIgaXMgZm9yIHRoZQotCSAgc2ltcGxlIEkyQyBidXMgdXNlZCBvbiBuZXdlciBTaW10ZWMgcHJvZHVjdHMgZm9yIGdlbmVyYWwKLQkgIEkyQywgc3VjaCBhcyBEREMgb24gdGhlIFNpbXRlYyBCQkQyMDE2QS4KKwkgIFRoaXMgbW9kdWxlIG1heSBiZSB1c2VmdWwgdG8gZGV2ZWxvcGVycyBvZiBTTUJ1cyBjbGllbnQgZHJpdmVycywKKwkgIGVzcGVjaWFsbHkgZm9yIGNlcnRhaW4ga2luZHMgb2Ygc2Vuc29yIGNoaXBzLgogCi0JICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gSWYgc28sIHRoZSBtb2R1bGUKLQkgIHdpbGwgYmUgY2FsbGVkIGkyYy1zaW10ZWMuCisJICBJZiB5b3UgZG8gYnVpbGQgdGhpcyBtb2R1bGUsIGJlIHN1cmUgdG8gcmVhZCB0aGUgbm90ZXMgYW5kIHdhcm5pbmdzCisJICBpbiA8ZmlsZTpEb2N1bWVudGF0aW9uL2kyYy9pMmMtc3R1Yj4uCisKKwkgIElmIHlvdSBkb24ndCBrbm93IHdoYXQgdG8gZG8gaGVyZSwgZGVmaW5pdGVseSBzYXkgTi4KIAogY29uZmlnIFNDeDIwMF9JMkMKIAl0cmlzdGF0ZSAiTmF0U2VtaSBTQ3gyMDAgSTJDIHVzaW5nIEdQSU8gcGlucyAoREVQUkVDQVRFRCkiCkBAIC00ODksMjIwICs3MDAsNCBAQAogCSAgVGhpcyBzdXBwb3J0IGlzIGFsc28gYXZhaWxhYmxlIGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKIAkgIHdpbGwgYmUgY2FsbGVkIHNjeDIwMF9hY2IuCiAKLWNvbmZpZyBJMkNfU0lTNTU5NQotCXRyaXN0YXRlICJTaVMgNTU5NSIKLQlkZXBlbmRzIG9uIFBDSQotCWhlbHAKLQkgIElmIHlvdSBzYXkgeWVzIHRvIHRoaXMgb3B0aW9uLCBzdXBwb3J0IHdpbGwgYmUgaW5jbHVkZWQgZm9yIHRoZQotCSAgU2lTNTU5NSBTTUJ1cyAoYSBzdWJzZXQgb2YgSTJDKSBpbnRlcmZhY2UuCi0KLQkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKLQkgIHdpbGwgYmUgY2FsbGVkIGkyYy1zaXM1NTk1LgotCi1jb25maWcgSTJDX1NJUzYzMAotCXRyaXN0YXRlICJTaVMgNjMwLzczMCIKLQlkZXBlbmRzIG9uIFBDSQotCWhlbHAKLQkgIElmIHlvdSBzYXkgeWVzIHRvIHRoaXMgb3B0aW9uLCBzdXBwb3J0IHdpbGwgYmUgaW5jbHVkZWQgZm9yIHRoZQotCSAgU2lTNjMwIGFuZCBTaVM3MzAgU01CdXMgKGEgc3Vic2V0IG9mIEkyQykgaW50ZXJmYWNlLgotCi0JICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCi0JICB3aWxsIGJlIGNhbGxlZCBpMmMtc2lzNjMwLgotCi1jb25maWcgSTJDX1NJUzk2WAotCXRyaXN0YXRlICJTaVMgOTZ4IgotCWRlcGVuZHMgb24gUENJCi0JaGVscAotCSAgSWYgeW91IHNheSB5ZXMgdG8gdGhpcyBvcHRpb24sIHN1cHBvcnQgd2lsbCBiZSBpbmNsdWRlZCBmb3IgdGhlIFNpUwotCSAgOTZ4IFNNQnVzIChhIHN1YnNldCBvZiBJMkMpIGludGVyZmFjZXMuICBTcGVjaWZpY2FsbHksIHRoZSBmb2xsb3dpbmcKLQkgIGNoaXBzZXRzIGFyZSBzdXBwb3J0ZWQ6Ci0JICAgIDY0NS85NjEKLQkgICAgNjQ1RFgvOTYxCi0JICAgIDY0NURYLzk2MgotCSAgICA2NDgvOTYxCi0JICAgIDY1MC85NjEKLQkgICAgNzM1Ci0JICAgIDc0NQotCi0JICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCi0JICB3aWxsIGJlIGNhbGxlZCBpMmMtc2lzOTZ4LgotCi1jb25maWcgSTJDX1RBT1NfRVZNCi0JdHJpc3RhdGUgIlRBT1MgZXZhbHVhdGlvbiBtb2R1bGUiCi0JZGVwZW5kcyBvbiBFWFBFUklNRU5UQUwKLQlzZWxlY3QgU0VSSU8KLQlzZWxlY3QgU0VSSU9fU0VSUE9SVAotCWRlZmF1bHQgbgotCWhlbHAKLQkgIFRoaXMgc3VwcG9ydHMgVEFPUyBldmFsdWF0aW9uIG1vZHVsZXMgb24gc2VyaWFsIHBvcnQuIEluIG9yZGVyIHRvCi0JICB1c2UgdGhpcyBkcml2ZXIsIHlvdSB3aWxsIG5lZWQgdGhlIGlucHV0YXR0YWNoIHRvb2wsIHdoaWNoIGlzIHBhcnQKLQkgIG9mIHRoZSBpbnB1dC11dGlscyBwYWNrYWdlLgotCi0JICBJZiB1bnN1cmUsIHNheSBOLgotCi0JICBUaGlzIHN1cHBvcnQgaXMgYWxzbyBhdmFpbGFibGUgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQotCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXRhb3MtZXZtLgotCi1jb25maWcgSTJDX1NUVUIKLQl0cmlzdGF0ZSAiSTJDL1NNQnVzIFRlc3QgU3R1YiIKLQlkZXBlbmRzIG9uIEVYUEVSSU1FTlRBTCAmJiBtCi0JZGVmYXVsdCAnbicKLQloZWxwCi0JICBUaGlzIG1vZHVsZSBtYXkgYmUgdXNlZnVsIHRvIGRldmVsb3BlcnMgb2YgU01CdXMgY2xpZW50IGRyaXZlcnMsCi0JICBlc3BlY2lhbGx5IGZvciBjZXJ0YWluIGtpbmRzIG9mIHNlbnNvciBjaGlwcy4KLQotCSAgSWYgeW91IGRvIGJ1aWxkIHRoaXMgbW9kdWxlLCBiZSBzdXJlIHRvIHJlYWQgdGhlIG5vdGVzIGFuZCB3YXJuaW5ncwotCSAgaW4gPGZpbGU6RG9jdW1lbnRhdGlvbi9pMmMvaTJjLXN0dWI+LgotCi0JICBJZiB5b3UgZG9uJ3Qga25vdyB3aGF0IHRvIGRvIGhlcmUsIGRlZmluaXRlbHkgc2F5IE4uCi0KLWNvbmZpZyBJMkNfVElOWV9VU0IKLQl0cmlzdGF0ZSAiSTJDLVRpbnktVVNCIgotCWRlcGVuZHMgb24gVVNCCi0JaGVscAotCSAgSWYgeW91IHNheSB5ZXMgdG8gdGhpcyBvcHRpb24sIHN1cHBvcnQgd2lsbCBiZSBpbmNsdWRlZCBmb3IgdGhlCi0JICBpMmMtdGlueS11c2IsIGEgc2ltcGxlIGRvLWl0LXlvdXJzZWxmIFVTQiB0byBJMkMgaW50ZXJmYWNlLiBTZWUKLQkgIGh0dHA6Ly93d3cuaGFyYmF1bS5vcmcvdGlsbC9pMmNfdGlueV91c2IgZm9yIGhhcmR3YXJlIGRldGFpbHMuCi0KLQkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKLQkgIHdpbGwgYmUgY2FsbGVkIGkyYy10aW55LXVzYi4KLQotY29uZmlnIEkyQ19WRVJTQVRJTEUKLQl0cmlzdGF0ZSAiQVJNIFZlcnNhdGlsZS9SZWFsdmlldyBJMkMgYnVzIHN1cHBvcnQiCi0JZGVwZW5kcyBvbiBBUkNIX1ZFUlNBVElMRSB8fCBBUkNIX1JFQUxWSUVXCi0Jc2VsZWN0IEkyQ19BTEdPQklUCi0JaGVscAotCSAgU2F5IHllcyBpZiB5b3Ugd2FudCB0byBzdXBwb3J0IHRoZSBJMkMgc2VyaWFsIGJ1cyBvbiBBUk1zIFZlcnNhdGlsZQotCSAgcmFuZ2Ugb2YgcGxhdGZvcm1zLgotCi0JICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCi0JICB3aWxsIGJlIGNhbGxlZCBpMmMtdmVyc2F0aWxlLgotCi1jb25maWcgSTJDX0FDT1JOCi0JdHJpc3RhdGUgIkFjb3JuIElPQy9JT01EIEkyQyBidXMgc3VwcG9ydCIKLQlkZXBlbmRzIG9uIEFSQ0hfQUNPUk4KLQlkZWZhdWx0IHkKLQlzZWxlY3QgSTJDX0FMR09CSVQKLQloZWxwCi0JICBTYXkgeWVzIGlmIHlvdSB3YW50IHRvIHN1cHBvcnQgdGhlIEkyQyBidXMgb24gQWNvcm4gcGxhdGZvcm1zLgotCi0JICBJZiB5b3UgZG9uJ3Qga25vdywgc2F5IFkuCi0KLWNvbmZpZyBJMkNfVklBCi0JdHJpc3RhdGUgIlZJQSA4MkM1ODZCIgotCWRlcGVuZHMgb24gUENJICYmIEVYUEVSSU1FTlRBTAotCXNlbGVjdCBJMkNfQUxHT0JJVAotCWhlbHAKLQkgIElmIHlvdSBzYXkgeWVzIHRvIHRoaXMgb3B0aW9uLCBzdXBwb3J0IHdpbGwgYmUgaW5jbHVkZWQgZm9yIHRoZSBWSUEKLSAgICAgICAgICA4MkM1ODZCIEkyQyBpbnRlcmZhY2UKLQotCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQotCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXZpYS4KLQotY29uZmlnIEkyQ19WSUFQUk8KLQl0cmlzdGF0ZSAiVklBIFZUODJDNTk2LzgyQzY4Ni84Mnh4IGFuZCBDWDcwMCIKLQlkZXBlbmRzIG9uIFBDSQotCWhlbHAKLQkgIElmIHlvdSBzYXkgeWVzIHRvIHRoaXMgb3B0aW9uLCBzdXBwb3J0IHdpbGwgYmUgaW5jbHVkZWQgZm9yIHRoZSBWSUEKLQkgIFZUODJDNTk2IGFuZCBsYXRlciBTTUJ1cyBpbnRlcmZhY2UuICBTcGVjaWZpY2FsbHksIHRoZSBmb2xsb3dpbmcKLQkgIGNoaXBzZXRzIGFyZSBzdXBwb3J0ZWQ6Ci0JICAgIFZUODJDNTk2QS9CCi0JICAgIFZUODJDNjg2QS9CCi0JICAgIFZUODIzMQotCSAgICBWVDgyMzMvQQotCSAgICBWVDgyMzUKLQkgICAgVlQ4MjM3Ui9BL1MKLQkgICAgVlQ4MjUxCi0JICAgIENYNzAwCi0KLQkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKLQkgIHdpbGwgYmUgY2FsbGVkIGkyYy12aWFwcm8uCi0KLWNvbmZpZyBJMkNfVk9PRE9PMwotCXRyaXN0YXRlICJWb29kb28gMyIKLQlkZXBlbmRzIG9uIFBDSQotCXNlbGVjdCBJMkNfQUxHT0JJVAotCWhlbHAKLQkgIElmIHlvdSBzYXkgeWVzIHRvIHRoaXMgb3B0aW9uLCBzdXBwb3J0IHdpbGwgYmUgaW5jbHVkZWQgZm9yIHRoZQotCSAgVm9vZG9vIDMgSTJDIGludGVyZmFjZS4KLQotCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQotCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXZvb2RvbzMuCi0KLWNvbmZpZyBJMkNfUENBX0lTQQotCXRyaXN0YXRlICJQQ0E5NTY0IG9uIGFuIElTQSBidXMiCi0JZGVwZW5kcyBvbiBJU0EKLQlzZWxlY3QgSTJDX0FMR09QQ0EKLQlkZWZhdWx0IG4KLQloZWxwCi0JICBUaGlzIGRyaXZlciBzdXBwb3J0cyBJU0EgYm9hcmRzIHVzaW5nIHRoZSBQaGlsaXBzIFBDQTk1NjQKLQkgIHBhcmFsbGVsIGJ1cyB0byBJMkMgYnVzIGNvbnRyb2xsZXIuCi0KLQkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKLQkgIHdpbGwgYmUgY2FsbGVkIGkyYy1wY2EtaXNhLgotCi0JICBUaGlzIGRldmljZSBpcyBhbG1vc3QgdW5kZXRlY3RhYmxlIGFuZCB1c2luZyB0aGlzIGRyaXZlciBvbiBhCi0JICBzeXN0ZW0gd2hpY2ggZG9lc24ndCBoYXZlIHRoaXMgZGV2aWNlIHdpbGwgcmVzdWx0IGluIGxvbmcKLQkgIGRlbGF5cyB3aGVuIEkyQy9TTUJ1cyBjaGlwIGRyaXZlcnMgYXJlIGxvYWRlZCAoZS5nLiBhdCBib290Ci0JICB0aW1lKS4gIElmIHVuc3VyZSwgc2F5IE4uCi0KLWNvbmZpZyBJMkNfUENBX1BMQVRGT1JNCi0JdHJpc3RhdGUgIlBDQTk1NjQgYXMgcGxhdGZvcm0gZGV2aWNlIgotCXNlbGVjdCBJMkNfQUxHT1BDQQotCWRlZmF1bHQgbgotCWhlbHAKLQkgIFRoaXMgZHJpdmVyIHN1cHBvcnRzIGEgbWVtb3J5IG1hcHBlZCBQaGlsaXBzIFBDQTk1NjQKLQkgIHBhcmFsbGVsIGJ1cyB0byBJMkMgYnVzIGNvbnRyb2xsZXIuCi0KLQkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKLQkgIHdpbGwgYmUgY2FsbGVkIGkyYy1wY2EtcGxhdGZvcm0uCi0KLWNvbmZpZyBJMkNfTVY2NFhYWAotCXRyaXN0YXRlICJNYXJ2ZWxsIG12NjR4eHggSTJDIENvbnRyb2xsZXIiCi0JZGVwZW5kcyBvbiAoTVY2NFg2MCB8fCBQTEFUX09SSU9OKSAmJiBFWFBFUklNRU5UQUwKLQloZWxwCi0JICBJZiB5b3Ugc2F5IHllcyB0byB0aGlzIG9wdGlvbiwgc3VwcG9ydCB3aWxsIGJlIGluY2x1ZGVkIGZvciB0aGUKLQkgIGJ1aWx0LWluIEkyQyBpbnRlcmZhY2Ugb24gdGhlIE1hcnZlbGwgNjR4eHggbGluZSBvZiBob3N0IGJyaWRnZXMuCi0KLQkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKLQkgIHdpbGwgYmUgY2FsbGVkIGkyYy1tdjY0eHh4LgotCi1jb25maWcgSTJDX1BOWAotCXRyaXN0YXRlICJJMkMgYnVzIHN1cHBvcnQgZm9yIFBoaWxpcHMgUE5YIHRhcmdldHMiCi0JZGVwZW5kcyBvbiBBUkNIX1BOWDQwMDgKLQloZWxwCi0JICBUaGlzIGRyaXZlciBzdXBwb3J0cyB0aGUgUGhpbGlwcyBJUDMyMDQgSTJDIElQIGJsb2NrIG1hc3RlciBhbmQvb3IKLQkgIHNsYXZlIGNvbnRyb2xsZXIKLQotCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQotCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXBueC4KLQotY29uZmlnIEkyQ19QTUNNU1AKLQl0cmlzdGF0ZSAiUE1DIE1TUCBJMkMgVFdJIENvbnRyb2xsZXIiCi0JZGVwZW5kcyBvbiBQTUNfTVNQCi0JaGVscAotCSAgVGhpcyBkcml2ZXIgc3VwcG9ydHMgdGhlIFBNQyBUV0kgY29udHJvbGxlciBvbiBNU1AgZGV2aWNlcy4KLQotCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgbW9kdWxlLiBJZiBzbywgdGhlIG1vZHVsZQotCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXBtY21zcC4KLQotY29uZmlnIEkyQ19TSDc3NjAKLQl0cmlzdGF0ZSAiUmVuZXNhcyBTSDc3NjAgSTJDIENvbnRyb2xsZXIiCi0JZGVwZW5kcyBvbiBDUFVfU1VCVFlQRV9TSDc3NjAKLQloZWxwCi0JICBUaGlzIGRyaXZlciBzdXBwb3J0cyB0aGUgMiBJMkMgaW50ZXJmYWNlcyBvbiB0aGUgUmVuZXNhcyBTSDc3NjAuCi0KLQkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKLQkgIHdpbGwgYmUgY2FsbGVkIGkyYy1zaDc3NjAuCi0KLWNvbmZpZyBJMkNfU0hfTU9CSUxFCi0JdHJpc3RhdGUgIlN1cGVySCBNb2JpbGUgSTJDIENvbnRyb2xsZXIiCi0JZGVwZW5kcyBvbiBTVVBFUkgKLQloZWxwCi0JICBJZiB5b3Ugc2F5IHllcyB0byB0aGlzIG9wdGlvbiwgc3VwcG9ydCB3aWxsIGJlIGluY2x1ZGVkIGZvciB0aGUKLQkgIGJ1aWx0LWluIEkyQyBpbnRlcmZhY2Ugb24gdGhlIFJlbmVzYXMgU0gtTW9iaWxlIHByb2Nlc3Nvci4KLQotCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQotCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXNoX21vYmlsZS4KLQogZW5kbWVudQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL01ha2VmaWxlIGIvZHJpdmVycy9pMmMvYnVzc2VzL01ha2VmaWxlCmluZGV4IGU4Yzg4MmEuLjk3ZGJmYTIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9NYWtlZmlsZQorKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvTWFrZWZpbGUKQEAgLTIsNTcgKzIsNjggQEAKICMgTWFrZWZpbGUgZm9yIHRoZSBpMmMgYnVzIGRyaXZlcnMuCiAjCiAKKyMgUEMgU01CdXMgaG9zdCBjb250cm9sbGVyIGRyaXZlcnMKIG9iai0kKENPTkZJR19JMkNfQUxJMTUzNSkJKz0gaTJjLWFsaTE1MzUubwogb2JqLSQoQ09ORklHX0kyQ19BTEkxNTYzKQkrPSBpMmMtYWxpMTU2My5vCiBvYmotJChDT05GSUdfSTJDX0FMSTE1WDMpCSs9IGkyYy1hbGkxNXgzLm8KIG9iai0kKENPTkZJR19JMkNfQU1ENzU2KQkrPSBpMmMtYW1kNzU2Lm8KIG9iai0kKENPTkZJR19JMkNfQU1ENzU2X1M0ODgyKQkrPSBpMmMtYW1kNzU2LXM0ODgyLm8KIG9iai0kKENPTkZJR19JMkNfQU1EODExMSkJKz0gaTJjLWFtZDgxMTEubwotb2JqLSQoQ09ORklHX0kyQ19BVDkxKQkJKz0gaTJjLWF0OTEubwotb2JqLSQoQ09ORklHX0kyQ19BVTE1NTApCSs9IGkyYy1hdTE1NTAubwotb2JqLSQoQ09ORklHX0kyQ19CTEFDS0ZJTl9UV0kpCSs9IGkyYy1iZmluLXR3aS5vCi1vYmotJChDT05GSUdfSTJDX0RBVklOQ0kpCSs9IGkyYy1kYXZpbmNpLm8KLW9iai0kKENPTkZJR19JMkNfRUxFS1RPUikJKz0gaTJjLWVsZWt0b3Iubwotb2JqLSQoQ09ORklHX0kyQ19HUElPKQkJKz0gaTJjLWdwaW8ubwotb2JqLSQoQ09ORklHX0kyQ19IWURSQSkJCSs9IGkyYy1oeWRyYS5vCiBvYmotJChDT05GSUdfSTJDX0k4MDEpCQkrPSBpMmMtaTgwMS5vCi1vYmotJChDT05GSUdfSTJDX0k4MTApCQkrPSBpMmMtaTgxMC5vCi1vYmotJChDT05GSUdfSTJDX0lCTV9JSUMpCSs9IGkyYy1pYm1faWljLm8KLW9iai0kKENPTkZJR19JMkNfSU9QM1hYKQkrPSBpMmMtaW9wM3h4Lm8KLW9iai0kKENPTkZJR19JMkNfSVhQMjAwMCkJKz0gaTJjLWl4cDIwMDAubwotb2JqLSQoQ09ORklHX0kyQ19QT1dFUk1BQykJKz0gaTJjLXBvd2VybWFjLm8KLW9iai0kKENPTkZJR19JMkNfTVBDKQkJKz0gaTJjLW1wYy5vCi1vYmotJChDT05GSUdfSTJDX01WNjRYWFgpCSs9IGkyYy1tdjY0eHh4Lm8KK29iai0kKENPTkZJR19JMkNfSVNDSCkJCSs9IGkyYy1pc2NoLm8KIG9iai0kKENPTkZJR19JMkNfTkZPUkNFMikJKz0gaTJjLW5mb3JjZTIubwotb2JqLSQoQ09ORklHX0kyQ19PQ09SRVMpCSs9IGkyYy1vY29yZXMubwotb2JqLSQoQ09ORklHX0kyQ19PTUFQKQkJKz0gaTJjLW9tYXAubwotb2JqLSQoQ09ORklHX0kyQ19QQVJQT1JUKQkrPSBpMmMtcGFycG9ydC5vCi1vYmotJChDT05GSUdfSTJDX1BBUlBPUlRfTElHSFQpCSs9IGkyYy1wYXJwb3J0LWxpZ2h0Lm8KLW9iai0kKENPTkZJR19JMkNfUEFTRU1JKQkrPSBpMmMtcGFzZW1pLm8KLW9iai0kKENPTkZJR19JMkNfUENBX0lTQSkJKz0gaTJjLXBjYS1pc2Eubwotb2JqLSQoQ09ORklHX0kyQ19QQ0FfUExBVEZPUk0pCSs9IGkyYy1wY2EtcGxhdGZvcm0ubworb2JqLSQoQ09ORklHX0kyQ19ORk9SQ0UyX1M0OTg1KQkrPSBpMmMtbmZvcmNlMi1zNDk4NS5vCiBvYmotJChDT05GSUdfSTJDX1BJSVg0KQkJKz0gaTJjLXBpaXg0Lm8KLW9iai0kKENPTkZJR19JMkNfUE1DTVNQKQkrPSBpMmMtcG1jbXNwLm8KLW9iai0kKENPTkZJR19JMkNfUE5YKQkJKz0gaTJjLXBueC5vCi1vYmotJChDT05GSUdfSTJDX1BST1NBVkFHRSkJKz0gaTJjLXByb3NhdmFnZS5vCi1vYmotJChDT05GSUdfSTJDX1BYQSkJCSs9IGkyYy1weGEubwotb2JqLSQoQ09ORklHX0kyQ19TM0MyNDEwKQkrPSBpMmMtczNjMjQxMC5vCi1vYmotJChDT05GSUdfSTJDX1NBVkFHRTQpCSs9IGkyYy1zYXZhZ2U0Lm8KLW9iai0kKENPTkZJR19JMkNfU0g3NzYwKQkrPSBpMmMtc2g3NzYwLm8KLW9iai0kKENPTkZJR19JMkNfU0hfTU9CSUxFKQkrPSBpMmMtc2hfbW9iaWxlLm8KLW9iai0kKENPTkZJR19JMkNfU0lCWVRFKQkrPSBpMmMtc2lieXRlLm8KLW9iai0kKENPTkZJR19JMkNfU0lNVEVDKQkrPSBpMmMtc2ltdGVjLm8KIG9iai0kKENPTkZJR19JMkNfU0lTNTU5NSkJKz0gaTJjLXNpczU1OTUubwogb2JqLSQoQ09ORklHX0kyQ19TSVM2MzApCSs9IGkyYy1zaXM2MzAubwogb2JqLSQoQ09ORklHX0kyQ19TSVM5NlgpCSs9IGkyYy1zaXM5Nngubwotb2JqLSQoQ09ORklHX0kyQ19TVFVCKQkJKz0gaTJjLXN0dWIubwotb2JqLSQoQ09ORklHX0kyQ19UQU9TX0VWTSkJKz0gaTJjLXRhb3MtZXZtLm8KLW9iai0kKENPTkZJR19JMkNfVElOWV9VU0IpCSs9IGkyYy10aW55LXVzYi5vCi1vYmotJChDT05GSUdfSTJDX1ZFUlNBVElMRSkJKz0gaTJjLXZlcnNhdGlsZS5vCi1vYmotJChDT05GSUdfSTJDX0FDT1JOKQkJKz0gaTJjLWFjb3JuLm8KIG9iai0kKENPTkZJR19JMkNfVklBKQkJKz0gaTJjLXZpYS5vCiBvYmotJChDT05GSUdfSTJDX1ZJQVBSTykJKz0gaTJjLXZpYXByby5vCisKKyMgTWFjIFNNQnVzIGhvc3QgY29udHJvbGxlciBkcml2ZXJzCitvYmotJChDT05GSUdfSTJDX0hZRFJBKQkJKz0gaTJjLWh5ZHJhLm8KK29iai0kKENPTkZJR19JMkNfUE9XRVJNQUMpCSs9IGkyYy1wb3dlcm1hYy5vCisKKyMgRW1iZWJiZWQgc3lzdGVtIEkyQy9TTUJ1cyBob3N0IGNvbnRyb2xsZXIgZHJpdmVycworb2JqLSQoQ09ORklHX0kyQ19BVDkxKQkJKz0gaTJjLWF0OTEubworb2JqLSQoQ09ORklHX0kyQ19BVTE1NTApCSs9IGkyYy1hdTE1NTAubworb2JqLSQoQ09ORklHX0kyQ19CTEFDS0ZJTl9UV0kpCSs9IGkyYy1iZmluLXR3aS5vCitvYmotJChDT05GSUdfSTJDX0NQTSkJCSs9IGkyYy1jcG0ubworb2JqLSQoQ09ORklHX0kyQ19EQVZJTkNJKQkrPSBpMmMtZGF2aW5jaS5vCitvYmotJChDT05GSUdfSTJDX0dQSU8pCQkrPSBpMmMtZ3Bpby5vCitvYmotJChDT05GSUdfSTJDX0lCTV9JSUMpCSs9IGkyYy1pYm1faWljLm8KK29iai0kKENPTkZJR19JMkNfSU9QM1hYKQkrPSBpMmMtaW9wM3h4Lm8KK29iai0kKENPTkZJR19JMkNfSVhQMjAwMCkJKz0gaTJjLWl4cDIwMDAubworb2JqLSQoQ09ORklHX0kyQ19NUEMpCQkrPSBpMmMtbXBjLm8KK29iai0kKENPTkZJR19JMkNfTVY2NFhYWCkJKz0gaTJjLW12NjR4eHgubworb2JqLSQoQ09ORklHX0kyQ19PQ09SRVMpCSs9IGkyYy1vY29yZXMubworb2JqLSQoQ09ORklHX0kyQ19PTUFQKQkJKz0gaTJjLW9tYXAubworb2JqLSQoQ09ORklHX0kyQ19QQVNFTUkpCSs9IGkyYy1wYXNlbWkubworb2JqLSQoQ09ORklHX0kyQ19QTlgpCQkrPSBpMmMtcG54Lm8KK29iai0kKENPTkZJR19JMkNfUFhBKQkJKz0gaTJjLXB4YS5vCitvYmotJChDT05GSUdfSTJDX1MzQzI0MTApCSs9IGkyYy1zM2MyNDEwLm8KK29iai0kKENPTkZJR19JMkNfU0g3NzYwKQkrPSBpMmMtc2g3NzYwLm8KK29iai0kKENPTkZJR19JMkNfU0hfTU9CSUxFKQkrPSBpMmMtc2hfbW9iaWxlLm8KK29iai0kKENPTkZJR19JMkNfU0lNVEVDKQkrPSBpMmMtc2ltdGVjLm8KK29iai0kKENPTkZJR19JMkNfVkVSU0FUSUxFKQkrPSBpMmMtdmVyc2F0aWxlLm8KKworIyBFeHRlcm5hbCBJMkMvU01CdXMgYWRhcHRlciBkcml2ZXJzCitvYmotJChDT05GSUdfSTJDX1BBUlBPUlQpCSs9IGkyYy1wYXJwb3J0Lm8KK29iai0kKENPTkZJR19JMkNfUEFSUE9SVF9MSUdIVCkJKz0gaTJjLXBhcnBvcnQtbGlnaHQubworb2JqLSQoQ09ORklHX0kyQ19UQU9TX0VWTSkJKz0gaTJjLXRhb3MtZXZtLm8KK29iai0kKENPTkZJR19JMkNfVElOWV9VU0IpCSs9IGkyYy10aW55LXVzYi5vCisKKyMgR3JhcGhpY3MgYWRhcHRlciBJMkMvRERDIGNoYW5uZWwgZHJpdmVycwogb2JqLSQoQ09ORklHX0kyQ19WT09ET08zKQkrPSBpMmMtdm9vZG9vMy5vCisKKyMgT3RoZXIgSTJDL1NNQnVzIGJ1cyBkcml2ZXJzCitvYmotJChDT05GSUdfSTJDX0FDT1JOKQkJKz0gaTJjLWFjb3JuLm8KK29iai0kKENPTkZJR19JMkNfRUxFS1RPUikJKz0gaTJjLWVsZWt0b3Iubworb2JqLSQoQ09ORklHX0kyQ19QQ0FfSVNBKQkrPSBpMmMtcGNhLWlzYS5vCitvYmotJChDT05GSUdfSTJDX1BDQV9QTEFURk9STSkJKz0gaTJjLXBjYS1wbGF0Zm9ybS5vCitvYmotJChDT05GSUdfSTJDX1BNQ01TUCkJKz0gaTJjLXBtY21zcC5vCitvYmotJChDT05GSUdfSTJDX1NJQllURSkJKz0gaTJjLXNpYnl0ZS5vCitvYmotJChDT05GSUdfSTJDX1NUVUIpCQkrPSBpMmMtc3R1Yi5vCiBvYmotJChDT05GSUdfU0N4MjAwX0FDQikJKz0gc2N4MjAwX2FjYi5vCiBvYmotJChDT05GSUdfU0N4MjAwX0kyQykJKz0gc2N4MjAwX2kyYy5vCiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtYWxpMTUzNS5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1hbGkxNTM1LmMKaW5kZXggZjE0MzcyYS4uOWNlYWQ5YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1hbGkxNTM1LmMKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1hbGkxNTM1LmMKQEAgLTEsNiArMSw0IEBACiAvKgotICAgIGkyYy1hbGkxNTM1LmMgLSBQYXJ0IG9mIGxtX3NlbnNvcnMsIExpbnV4IGtlcm5lbCBtb2R1bGVzIGZvciBoYXJkd2FyZQotICAgICAgICAgICAgICAgICAgICBtb25pdG9yaW5nCiAgICAgQ29weXJpZ2h0IChjKSAyMDAwICBGcm9kbyBMb29pamFhcmQgPGZyb2RvbEBkZHMubmw+LCAKICAgICAgICAgICAgICAgICAgICAgICAgIFBoaWxpcCBFZGVsYnJvY2sgPHBoaWxAbmV0cm9lZGdlLmNvbT4sIAogICAgICAgICAgICAgICAgICAgICAgICAgTWFyayBELiBTdHVkZWJha2VyIDxtZHN4eXoxMjNAeWFob28uY29tPiwKQEAgLTYxLDYgKzU5LDcgQEAKICNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4KICNpbmNsdWRlIDxsaW51eC9pMmMuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvYWNwaS5oPgogI2luY2x1ZGUgPGFzbS9pby5oPgogCiAKQEAgLTE1OSw2ICsxNTgsMTEgQEAKIAkJZ290byBleGl0OwogCX0KIAorCXJldHZhbCA9IGFjcGlfY2hlY2tfcmVnaW9uKGFsaTE1MzVfc21iYSwgQUxJMTUzNV9TTUJfSU9TSVpFLAorCQkJCSAgIGFsaTE1MzVfZHJpdmVyLm5hbWUpOworCWlmIChyZXR2YWwpCisJCWdvdG8gZXhpdDsKKwogCWlmICghcmVxdWVzdF9yZWdpb24oYWxpMTUzNV9zbWJhLCBBTEkxNTM1X1NNQl9JT1NJWkUsCiAJCQkgICAgYWxpMTUzNV9kcml2ZXIubmFtZSkpIHsKIAkJZGV2X2VycigmZGV2LT5kZXYsICJBTEkxNTM1X3NtYiByZWdpb24gMHgleCBhbHJlYWR5IGluIHVzZSFcbiIsCkBAIC0yNTksNyArMjYzLDcgQEAKIAkJCWRldl9lcnIoJmFkYXAtPmRldiwKIAkJCQkiU01CdXMgcmVzZXQgZmFpbGVkISAoMHglMDJ4KSAtIGNvbnRyb2xsZXIgb3IgIgogCQkJCSJkZXZpY2Ugb24gYnVzIGlzIHByb2JhYmx5IGh1bmdcbiIsIHRlbXApOwotCQkJcmV0dXJuIC0xOworCQkJcmV0dXJuIC1FQlVTWTsKIAkJfQogCX0gZWxzZSB7CiAJCS8qIGNoZWNrIGFuZCBjbGVhciBkb25lIGJpdCAqLwpAQCAtMjgxLDEyICsyODUsMTIgQEAKIAogCS8qIElmIHRoZSBTTUJ1cyBpcyBzdGlsbCBidXN5LCB3ZSBnaXZlIHVwICovCiAJaWYgKHRpbWVvdXQgPj0gTUFYX1RJTUVPVVQpIHsKLQkJcmVzdWx0ID0gLTE7CisJCXJlc3VsdCA9IC1FVElNRURPVVQ7CiAJCWRldl9lcnIoJmFkYXAtPmRldiwgIlNNQnVzIFRpbWVvdXQhXG4iKTsKIAl9CiAKIAlpZiAodGVtcCAmIEFMSTE1MzVfU1RTX0ZBSUwpIHsKLQkJcmVzdWx0ID0gLTE7CisJCXJlc3VsdCA9IC1FSU87CiAJCWRldl9kYmcoJmFkYXAtPmRldiwgIkVycm9yOiBGYWlsZWQgYnVzIHRyYW5zYWN0aW9uXG4iKTsKIAl9CiAKQEAgLTI5NSw3ICsyOTksNyBAQAogCSAqIGRvIGEgcHJpbnRrLiAgVGhpcyBtZWFucyB0aGF0IGJ1cyBjb2xsaXNpb25zIGdvIHVucmVwb3J0ZWQuCiAJICovCiAJaWYgKHRlbXAgJiBBTEkxNTM1X1NUU19CVVNFUlIpIHsKLQkJcmVzdWx0ID0gLTE7CisJCXJlc3VsdCA9IC1FTlhJTzsKIAkJZGV2X2RiZygmYWRhcC0+ZGV2LAogCQkJIkVycm9yOiBubyByZXNwb25zZSBvciBidXMgY29sbGlzaW9uIEFERD0lMDJ4XG4iLAogCQkJaW5iX3AoU01CSFNUQUREKSk7CkBAIC0zMDMsMTMgKzMwNywxMyBAQAogCiAJLyogaGF2ZW4ndCBldmVyIHNlZW4gdGhpcyAqLwogCWlmICh0ZW1wICYgQUxJMTUzNV9TVFNfREVWKSB7Ci0JCXJlc3VsdCA9IC0xOworCQlyZXN1bHQgPSAtRUlPOwogCQlkZXZfZXJyKCZhZGFwLT5kZXYsICJFcnJvcjogZGV2aWNlIGVycm9yXG4iKTsKIAl9CiAKIAkvKiBjaGVjayB0byBzZWUgaWYgdGhlICJjb21tYW5kIGNvbXBsZXRlIiBpbmRpY2F0aW9uIGlzIHNldCAqLwogCWlmICghKHRlbXAgJiBBTEkxNTM1X1NUU19ET05FKSkgewotCQlyZXN1bHQgPSAtMTsKKwkJcmVzdWx0ID0gLUVUSU1FRE9VVDsKIAkJZGV2X2VycigmYWRhcC0+ZGV2LCAiRXJyb3I6IGNvbW1hbmQgbmV2ZXIgY29tcGxldGVkXG4iKTsKIAl9CiAKQEAgLTMzMiw3ICszMzYsNyBAQAogCXJldHVybiByZXN1bHQ7CiB9CiAKLS8qIFJldHVybiAtMSBvbiBlcnJvci4gKi8KKy8qIFJldHVybiBuZWdhdGl2ZSBlcnJubyBvbiBlcnJvci4gKi8KIHN0YXRpYyBzMzIgYWxpMTUzNV9hY2Nlc3Moc3RydWN0IGkyY19hZGFwdGVyICphZGFwLCB1MTYgYWRkciwKIAkJCSAgdW5zaWduZWQgc2hvcnQgZmxhZ3MsIGNoYXIgcmVhZF93cml0ZSwgdTggY29tbWFuZCwKIAkJCSAgaW50IHNpemUsIHVuaW9uIGkyY19zbWJ1c19kYXRhICpkYXRhKQpAQCAtMzU3LDEwICszNjEsNiBAQAogCW91dGJfcCgweEZGLCBTTUJIU1RTVFMpOwogCiAJc3dpdGNoIChzaXplKSB7Ci0JY2FzZSBJMkNfU01CVVNfUFJPQ19DQUxMOgotCQlkZXZfZXJyKCZhZGFwLT5kZXYsICJJMkNfU01CVVNfUFJPQ19DQUxMIG5vdCBzdXBwb3J0ZWQhXG4iKTsKLQkJcmVzdWx0ID0gLTE7Ci0JCWdvdG8gRVhJVDsKIAljYXNlIEkyQ19TTUJVU19RVUlDSzoKIAkJb3V0Yl9wKCgoYWRkciAmIDB4N2YpIDw8IDEpIHwgKHJlYWRfd3JpdGUgJiAweDAxKSwKIAkJICAgICAgIFNNQkhTVEFERCk7CkBAIC00MTgsMTQgKzQxOCwxNiBAQAogCQkJCW91dGJfcChkYXRhLT5ibG9ja1tpXSwgU01CQkxLREFUKTsKIAkJfQogCQlicmVhazsKLQl9Ci0KLQlpZiAoYWxpMTUzNV90cmFuc2FjdGlvbihhZGFwKSkgewotCQkvKiBFcnJvciBpbiB0cmFuc2FjdGlvbiAqLwotCQlyZXN1bHQgPSAtMTsKKwlkZWZhdWx0OgorCQlkZXZfd2FybigmYWRhcC0+ZGV2LCAiVW5zdXBwb3J0ZWQgdHJhbnNhY3Rpb24gJWRcbiIsIHNpemUpOworCQlyZXN1bHQgPSAtRU9QTk9UU1VQUDsKIAkJZ290byBFWElUOwogCX0KIAorCXJlc3VsdCA9IGFsaTE1MzVfdHJhbnNhY3Rpb24oYWRhcCk7CisJaWYgKHJlc3VsdCkKKwkJZ290byBFWElUOworCiAJaWYgKChyZWFkX3dyaXRlID09IEkyQ19TTUJVU19XUklURSkgfHwgKHNpemUgPT0gQUxJMTUzNV9RVUlDSykpIHsKIAkJcmVzdWx0ID0gMDsKIAkJZ290byBFWElUOwpAQCAtNDc1LDcgKzQ3Nyw3IEBACiBzdGF0aWMgc3RydWN0IGkyY19hZGFwdGVyIGFsaTE1MzVfYWRhcHRlciA9IHsKIAkub3duZXIJCT0gVEhJU19NT0RVTEUsCiAJLmlkCQk9IEkyQ19IV19TTUJVU19BTEkxNTM1LAotCS5jbGFzcyAgICAgICAgICA9IEkyQ19DTEFTU19IV01PTiwKKwkuY2xhc3MgICAgICAgICAgPSBJMkNfQ0xBU1NfSFdNT04gfCBJMkNfQ0xBU1NfU1BELAogCS5hbGdvCQk9ICZzbWJ1c19hbGdvcml0aG0sCiB9OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWFsaTE1NjMuYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtYWxpMTU2My5jCmluZGV4IDZiNjgwNzQuLmZjM2U1YjAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtYWxpMTU2My5jCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtYWxpMTU2My5jCkBAIC0yMSw2ICsyMSw3IEBACiAjaW5jbHVkZSA8bGludXgvaTJjLmg+CiAjaW5jbHVkZSA8bGludXgvcGNpLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L2FjcGkuaD4KIAogI2RlZmluZSBBTEkxNTYzX01BWF9USU1FT1VUCTUwMAogI2RlZmluZQlBTEkxNTYzX1NNQkJBCQkweDgwCkBAIC02Nyw2ICs2OCw3IEBACiB7CiAJdTMyIGRhdGE7CiAJaW50IHRpbWVvdXQ7CisJaW50IHN0YXR1cyA9IC1FSU87CiAKIAlkZXZfZGJnKCZhLT5kZXYsICJUcmFuc2FjdGlvbiAocHJlKTogU1RTPSUwMngsIENOVEwxPSUwMngsICIKIAkJIkNOVEwyPSUwMngsIENNRD0lMDJ4LCBBREQ9JTAyeCwgREFUMD0lMDJ4LCBEQVQxPSUwMnhcbiIsCkBAIC0xMDMsMTMgKzEwNSwxNSBAQAogCQkvKiBJc3N1ZSAna2lsbCcgdG8gaG9zdCBjb250cm9sbGVyICovCiAJCW91dGJfcChIU1RfQ05UTDJfS0lMTCxTTUJfSFNUX0NOVEwyKTsKIAkJZGF0YSA9IGluYl9wKFNNQl9IU1RfU1RTKTsKKwkJc3RhdHVzID0gLUVUSU1FRE9VVDsKICAJfQogCiAJLyogZGV2aWNlIGVycm9yIC0gbm8gcmVzcG9uc2UsIGlnbm9yZSB0aGUgYXV0b2RldGVjdGlvbiBjYXNlICovCi0JaWYgKChkYXRhICYgSFNUX1NUU19ERVZFUlIpICYmIChzaXplICE9IEhTVF9DTlRMMl9RVUlDSykpIHsKLQkJZGV2X2VycigmYS0+ZGV2LCAiRGV2aWNlIGVycm9yIVxuIik7CisJaWYgKGRhdGEgJiBIU1RfU1RTX0RFVkVSUikgeworCQlpZiAoc2l6ZSAhPSBIU1RfQ05UTDJfUVVJQ0spCisJCQlkZXZfZXJyKCZhLT5kZXYsICJEZXZpY2UgZXJyb3IhXG4iKTsKKwkJc3RhdHVzID0gLUVOWElPOwogCX0KLQogCS8qIGJ1cyBjb2xsaXNpb24gKi8KIAlpZiAoZGF0YSAmIEhTVF9TVFNfQlVTRVJSKSB7CiAJCWRldl9lcnIoJmEtPmRldiwgIkJ1cyBjb2xsaXNpb24hXG4iKTsKQEAgLTEyMiwxMyArMTI2LDE0IEBACiAJCW91dGJfcCgweDAsU01CX0hTVF9DTlRMMik7CiAJfQogCi0JcmV0dXJuIC0xOworCXJldHVybiBzdGF0dXM7CiB9CiAKIHN0YXRpYyBpbnQgYWxpMTU2M19ibG9ja19zdGFydChzdHJ1Y3QgaTJjX2FkYXB0ZXIgKiBhKQogewogCXUzMiBkYXRhOwogCWludCB0aW1lb3V0OworCWludCBzdGF0dXMgPSAtRUlPOwogCiAJZGV2X2RiZygmYS0+ZGV2LCAiQmxvY2sgKHByZSk6IFNUUz0lMDJ4LCBDTlRMMT0lMDJ4LCAiCiAJCSJDTlRMMj0lMDJ4LCBDTUQ9JTAyeCwgQUREPSUwMngsIERBVDA9JTAyeCwgREFUMT0lMDJ4XG4iLApAQCAtMTY0LDEzICsxNjksMjAgQEAKIAogCWlmICh0aW1lb3V0ICYmICEoZGF0YSAmIEhTVF9TVFNfQkFEKSkKIAkJcmV0dXJuIDA7CisKKwlpZiAodGltZW91dCA9PSAwKQorCQlzdGF0dXMgPSAtRVRJTUVET1VUOworCisJaWYgKGRhdGEgJiBIU1RfU1RTX0RFVkVSUikKKwkJc3RhdHVzID0gLUVOWElPOworCiAJZGV2X2VycigmYS0+ZGV2LCAiU01CdXMgRXJyb3I6ICVzJXMlcyVzJXNcbiIsCi0JCXRpbWVvdXQgPyAiVGltZW91dCAiIDogIiIsCisJCXRpbWVvdXQgPyAiIiA6ICJUaW1lb3V0ICIsCiAJCWRhdGEgJiBIU1RfU1RTX0ZBSUwgPyAiVHJhbnNhY3Rpb24gRmFpbGVkICIgOiAiIiwKIAkJZGF0YSAmIEhTVF9TVFNfQlVTRVJSID8gIk5vIHJlc3BvbnNlIG9yIEJ1cyBDb2xsaXNpb24gIiA6ICIiLAogCQlkYXRhICYgSFNUX1NUU19ERVZFUlIgPyAiRGV2aWNlIEVycm9yICIgOiAiIiwKIAkJIShkYXRhICYgSFNUX1NUU19ET05FKSA/ICJUcmFuc2FjdGlvbiBOZXZlciBGaW5pc2hlZCAiIDogIiIpOwotCXJldHVybiAtMTsKKwlyZXR1cm4gc3RhdHVzOwogfQogCiBzdGF0aWMgaW50IGFsaTE1NjNfYmxvY2soc3RydWN0IGkyY19hZGFwdGVyICogYSwgdW5pb24gaTJjX3NtYnVzX2RhdGEgKiBkYXRhLCB1OCBydykKQEAgLTIzNSwxMCArMjQ3LDYgQEAKIAogCS8qIE1hcCB0aGUgc2l6ZSB0byB3aGF0IHRoZSBjaGlwIHVuZGVyc3RhbmRzICovCiAJc3dpdGNoIChzaXplKSB7Ci0JY2FzZSBJMkNfU01CVVNfUFJPQ19DQUxMOgotCQlkZXZfZXJyKCZhLT5kZXYsICJJMkNfU01CVVNfUFJPQ19DQUxMIG5vdCBzdXBwb3J0ZWQhXG4iKTsKLQkJZXJyb3IgPSAtRUlOVkFMOwotCQlicmVhazsKIAljYXNlIEkyQ19TTUJVU19RVUlDSzoKIAkJc2l6ZSA9IEhTVF9DTlRMMl9RVUlDSzsKIAkJYnJlYWs7CkBAIC0yNTQsNiArMjYyLDEwIEBACiAJY2FzZSBJMkNfU01CVVNfQkxPQ0tfREFUQToKIAkJc2l6ZSA9IEhTVF9DTlRMMl9CTE9DSzsKIAkJYnJlYWs7CisJZGVmYXVsdDoKKwkJZGV2X3dhcm4oJmEtPmRldiwgIlVuc3VwcG9ydGVkIHRyYW5zYWN0aW9uICVkXG4iLCBzaXplKTsKKwkJZXJyb3IgPSAtRU9QTk9UU1VQUDsKKwkJZ290byBEb25lOwogCX0KIAogCW91dGJfcCgoKGFkZHIgJiAweDdmKSA8PCAxKSB8IChydyAmIDB4MDEpLCBTTUJfSFNUX0FERCk7CkBAIC0zNDUsNiArMzU3LDEwIEBACiAJCX0KIAl9CiAKKwlpZiAoYWNwaV9jaGVja19yZWdpb24oYWxpMTU2M19zbWJhLCBBTEkxNTYzX1NNQl9JT1NJWkUsCisJCQkgICAgICBhbGkxNTYzX3BjaV9kcml2ZXIubmFtZSkpCisJCWdvdG8gRXJyOworCiAJaWYgKCFyZXF1ZXN0X3JlZ2lvbihhbGkxNTYzX3NtYmEsIEFMSTE1NjNfU01CX0lPU0laRSwKIAkJCSAgICBhbGkxNTYzX3BjaV9kcml2ZXIubmFtZSkpIHsKIAkJZGV2X2VycigmZGV2LT5kZXYsICJDb3VsZCBub3QgYWxsb2NhdGUgSS9PIHNwYWNlIGF0IDB4JTA0eFxuIiwKQEAgLTM3MSw3ICszODcsNyBAQAogc3RhdGljIHN0cnVjdCBpMmNfYWRhcHRlciBhbGkxNTYzX2FkYXB0ZXIgPSB7CiAJLm93bmVyCT0gVEhJU19NT0RVTEUsCiAJLmlkCT0gSTJDX0hXX1NNQlVTX0FMSTE1NjMsCi0JLmNsYXNzCT0gSTJDX0NMQVNTX0hXTU9OLAorCS5jbGFzcwk9IEkyQ19DTEFTU19IV01PTiB8IEkyQ19DTEFTU19TUEQsCiAJLmFsZ28JPSAmYWxpMTU2M19hbGdvcml0aG0sCiB9OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWFsaTE1eDMuYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtYWxpMTV4My5jCmluZGV4IDkzYmY4N2QuLjIzNGZkZGUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtYWxpMTV4My5jCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtYWxpMTV4My5jCkBAIC0xLDYgKzEsNCBAQAogLyoKLSAgICBhbGkxNXgzLmMgLSBQYXJ0IG9mIGxtX3NlbnNvcnMsIExpbnV4IGtlcm5lbCBtb2R1bGVzIGZvciBoYXJkd2FyZQotICAgICAgICAgICAgICBtb25pdG9yaW5nCiAgICAgQ29weXJpZ2h0IChjKSAxOTk5ICBGcm9kbyBMb29pamFhcmQgPGZyb2RvbEBkZHMubmw+IGFuZAogICAgIFBoaWxpcCBFZGVsYnJvY2sgPHBoaWxAbmV0cm9lZGdlLmNvbT4gYW5kCiAgICAgTWFyayBELiBTdHVkZWJha2VyIDxtZHN4eXoxMjNAeWFob28uY29tPgpAQCAtNjgsNiArNjYsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CiAjaW5jbHVkZSA8bGludXgvaTJjLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L2FjcGkuaD4KICNpbmNsdWRlIDxhc20vaW8uaD4KIAogLyogQUxJMTVYMyBTTUJ1cyBhZGRyZXNzIG9mZnNldHMgKi8KQEAgLTE2Niw2ICsxNjUsMTAgQEAKIAlpZihmb3JjZV9hZGRyKQogCQlhbGkxNXgzX3NtYmEgPSBmb3JjZV9hZGRyICYgfihBTEkxNVgzX1NNQl9JT1NJWkUgLSAxKTsKIAorCWlmIChhY3BpX2NoZWNrX3JlZ2lvbihhbGkxNXgzX3NtYmEsIEFMSTE1WDNfU01CX0lPU0laRSwKKwkJCSAgICAgIGFsaTE1eDNfZHJpdmVyLm5hbWUpKQorCQlyZXR1cm4gLUVCVVNZOworCiAJaWYgKCFyZXF1ZXN0X3JlZ2lvbihhbGkxNXgzX3NtYmEsIEFMSTE1WDNfU01CX0lPU0laRSwKIAkJCSAgICBhbGkxNXgzX2RyaXZlci5uYW1lKSkgewogCQlkZXZfZXJyKCZBTEkxNVgzX2Rldi0+ZGV2LApAQCAtMjgyLDcgKzI4NSw3IEBACiAJCQlkZXZfZXJyKCZhZGFwLT5kZXYsICJTTUJ1cyByZXNldCBmYWlsZWQhICgweCUwMngpIC0gIgogCQkJCSJjb250cm9sbGVyIG9yIGRldmljZSBvbiBidXMgaXMgcHJvYmFibHkgaHVuZ1xuIiwKIAkJCQl0ZW1wKTsKLQkJCXJldHVybiAtMTsKKwkJCXJldHVybiAtRUJVU1k7CiAJCX0KIAl9IGVsc2UgewogCQkvKiBjaGVjayBhbmQgY2xlYXIgZG9uZSBiaXQgKi8KQEAgLTMwNCwxMiArMzA3LDEyIEBACiAKIAkvKiBJZiB0aGUgU01CdXMgaXMgc3RpbGwgYnVzeSwgd2UgZ2l2ZSB1cCAqLwogCWlmICh0aW1lb3V0ID49IE1BWF9USU1FT1VUKSB7Ci0JCXJlc3VsdCA9IC0xOworCQlyZXN1bHQgPSAtRVRJTUVET1VUOwogCQlkZXZfZXJyKCZhZGFwLT5kZXYsICJTTUJ1cyBUaW1lb3V0IVxuIik7CiAJfQogCiAJaWYgKHRlbXAgJiBBTEkxNVgzX1NUU19URVJNKSB7Ci0JCXJlc3VsdCA9IC0xOworCQlyZXN1bHQgPSAtRUlPOwogCQlkZXZfZGJnKCZhZGFwLT5kZXYsICJFcnJvcjogRmFpbGVkIGJ1cyB0cmFuc2FjdGlvblxuIik7CiAJfQogCkBAIC0zMjAsNyArMzIzLDcgQEAKIAkgIFRoaXMgbWVhbnMgdGhhdCBidXMgY29sbGlzaW9ucyBnbyB1bnJlcG9ydGVkLgogCSovCiAJaWYgKHRlbXAgJiBBTEkxNVgzX1NUU19DT0xMKSB7Ci0JCXJlc3VsdCA9IC0xOworCQlyZXN1bHQgPSAtRU5YSU87CiAJCWRldl9kYmcoJmFkYXAtPmRldiwKIAkJCSJFcnJvcjogbm8gcmVzcG9uc2Ugb3IgYnVzIGNvbGxpc2lvbiBBREQ9JTAyeFxuIiwKIAkJCWluYl9wKFNNQkhTVEFERCkpOwpAQCAtMzI4LDcgKzMzMSw3IEBACiAKIAkvKiBoYXZlbid0IGV2ZXIgc2VlbiB0aGlzICovCiAJaWYgKHRlbXAgJiBBTEkxNVgzX1NUU19ERVYpIHsKLQkJcmVzdWx0ID0gLTE7CisJCXJlc3VsdCA9IC1FSU87CiAJCWRldl9lcnIoJmFkYXAtPmRldiwgIkVycm9yOiBkZXZpY2UgZXJyb3JcbiIpOwogCX0KIAlkZXZfZGJnKCZhZGFwLT5kZXYsICJUcmFuc2FjdGlvbiAocG9zdCk6IFNUUz0lMDJ4LCBDTlQ9JTAyeCwgQ01EPSUwMngsICIKQEAgLTMzOCw3ICszNDEsNyBAQAogCXJldHVybiByZXN1bHQ7CiB9CiAKLS8qIFJldHVybiAtMSBvbiBlcnJvci4gKi8KKy8qIFJldHVybiBuZWdhdGl2ZSBlcnJubyBvbiBlcnJvci4gKi8KIHN0YXRpYyBzMzIgYWxpMTV4M19hY2Nlc3Moc3RydWN0IGkyY19hZGFwdGVyICogYWRhcCwgdTE2IGFkZHIsCiAJCSAgIHVuc2lnbmVkIHNob3J0IGZsYWdzLCBjaGFyIHJlYWRfd3JpdGUsIHU4IGNvbW1hbmQsCiAJCSAgIGludCBzaXplLCB1bmlvbiBpMmNfc21idXNfZGF0YSAqIGRhdGEpCkBAIC0zNjIsOSArMzY1LDYgQEAKIAl9CiAKIAlzd2l0Y2ggKHNpemUpIHsKLQljYXNlIEkyQ19TTUJVU19QUk9DX0NBTEw6Ci0JCWRldl9lcnIoJmFkYXAtPmRldiwgIkkyQ19TTUJVU19QUk9DX0NBTEwgbm90IHN1cHBvcnRlZCFcbiIpOwotCQlyZXR1cm4gLTE7CiAJY2FzZSBJMkNfU01CVVNfUVVJQ0s6CiAJCW91dGJfcCgoKGFkZHIgJiAweDdmKSA8PCAxKSB8IChyZWFkX3dyaXRlICYgMHgwMSksCiAJCSAgICAgICBTTUJIU1RBREQpOwpAQCAtNDE3LDEyICs0MTcsMTYgQEAKIAkJfQogCQlzaXplID0gQUxJMTVYM19CTE9DS19EQVRBOwogCQlicmVhazsKKwlkZWZhdWx0OgorCQlkZXZfd2FybigmYWRhcC0+ZGV2LCAiVW5zdXBwb3J0ZWQgdHJhbnNhY3Rpb24gJWRcbiIsIHNpemUpOworCQlyZXR1cm4gLUVPUE5PVFNVUFA7CiAJfQogCiAJb3V0Yl9wKHNpemUsIFNNQkhTVENOVCk7CS8qIG91dHB1dCBjb21tYW5kICovCiAKLQlpZiAoYWxpMTV4M190cmFuc2FjdGlvbihhZGFwKSkJLyogRXJyb3IgaW4gdHJhbnNhY3Rpb24gKi8KLQkJcmV0dXJuIC0xOworCXRlbXAgPSBhbGkxNXgzX3RyYW5zYWN0aW9uKGFkYXApOworCWlmICh0ZW1wKQorCQlyZXR1cm4gdGVtcDsKIAogCWlmICgocmVhZF93cml0ZSA9PSBJMkNfU01CVVNfV1JJVEUpIHx8IChzaXplID09IEFMSTE1WDNfUVVJQ0spKQogCQlyZXR1cm4gMDsKQEAgLTQ3MCw3ICs0NzQsNyBAQAogc3RhdGljIHN0cnVjdCBpMmNfYWRhcHRlciBhbGkxNXgzX2FkYXB0ZXIgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5pZAkJPSBJMkNfSFdfU01CVVNfQUxJMTVYMywKLQkuY2xhc3MgICAgICAgICAgPSBJMkNfQ0xBU1NfSFdNT04sCisJLmNsYXNzICAgICAgICAgID0gSTJDX0NMQVNTX0hXTU9OIHwgSTJDX0NMQVNTX1NQRCwKIAkuYWxnbwkJPSAmc21idXNfYWxnb3JpdGhtLAogfTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1hbWQ3NTYtczQ4ODIuYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtYW1kNzU2LXM0ODgyLmMKaW5kZXggYzM4YTBhMS4uMmYxNTBlMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1hbWQ3NTYtczQ4ODIuYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWFtZDc1Ni1zNDg4Mi5jCkBAIC01OCw3ICs1OCw3IEBACiAJLyogV2UgZXhjbHVkZSB0aGUgbXVsdGlwbGV4ZWQgYWRkcmVzc2VzICovCiAJaWYgKGFkZHIgPT0gMHg0YyB8fCAoYWRkciAmIDB4ZmMpID09IDB4NTAgfHwgKGFkZHIgJiAweGZjKSA9PSAweDMwCiAJIHx8IGFkZHIgPT0gMHgxOCkKLQkJcmV0dXJuIC0xOworCQlyZXR1cm4gLUVOWElPOwogCiAJbXV0ZXhfbG9jaygmYW1kNzU2X2xvY2spOwogCkBAIC04Niw3ICs4Niw3IEBACiAKIAkvKiBXZSBleGNsdWRlIHRoZSBub24tbXVsdGlwbGV4ZWQgYWRkcmVzc2VzICovCiAJaWYgKGFkZHIgIT0gMHg0YyAmJiAoYWRkciAmIDB4ZmMpICE9IDB4NTAgJiYgKGFkZHIgJiAweGZjKSAhPSAweDMwKQotCQlyZXR1cm4gLTE7CisJCXJldHVybiAtRU5YSU87CiAKIAltdXRleF9sb2NrKCZhbWQ3NTZfbG9jayk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtYW1kNzU2LmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWFtZDc1Ni5jCmluZGV4IDQzNTA4ZDYuLjFlYTM5MjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtYW1kNzU2LmMKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1hbWQ3NTYuYwpAQCAtMSw3ICsxLDQgQEAKIC8qCi0gICAgYW1kNzU2LmMgLSBQYXJ0IG9mIGxtX3NlbnNvcnMsIExpbnV4IGtlcm5lbCBtb2R1bGVzIGZvciBoYXJkd2FyZQotICAgICAgICAgICAgICBtb25pdG9yaW5nCi0KICAgICBDb3B5cmlnaHQgKGMpIDE5OTktMjAwMiBNZXJsaW4gSHVnaGVzIDxtZXJsaW5AbWVybGluLm9yZz4KIAogICAgIFNoYW1lbGVzc2x5IHJpcHBlZCBmcm9tIGkyYy1waWl4NC5jOgpAQCAtNDUsNiArNDIsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2lvcG9ydC5oPgogI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9hY3BpLmg+CiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAKIC8qIEFNRDc1NiBTTUJ1cyBhZGRyZXNzIG9mZnNldHMgKi8KQEAgLTE1MSwxNyArMTQ5LDE3IEBACiAJfQogCiAJaWYgKHRlbXAgJiBHU19QUkVSUl9TVFMpIHsKLQkJcmVzdWx0ID0gLTE7CisJCXJlc3VsdCA9IC1FTlhJTzsKIAkJZGV2X2RiZygmYWRhcC0+ZGV2LCAiU01CdXMgUHJvdG9jb2wgZXJyb3IgKG5vIHJlc3BvbnNlKSFcbiIpOwogCX0KIAogCWlmICh0ZW1wICYgR1NfQ09MX1NUUykgewotCQlyZXN1bHQgPSAtMTsKKwkJcmVzdWx0ID0gLUVJTzsKIAkJZGV2X3dhcm4oJmFkYXAtPmRldiwgIlNNQnVzIGNvbGxpc2lvbiFcbiIpOwogCX0KIAogCWlmICh0ZW1wICYgR1NfVE9fU1RTKSB7Ci0JCXJlc3VsdCA9IC0xOworCQlyZXN1bHQgPSAtRVRJTUVET1VUOwogCQlkZXZfZGJnKCZhZGFwLT5kZXYsICJTTUJ1cyBwcm90b2NvbCB0aW1lb3V0IVxuIik7CiAJfQogCkBAIC0xODksMjIgKzE4NywxOCBAQAogCW91dHdfcChpbncoU01CX0dMT0JBTF9FTkFCTEUpIHwgR0VfQUJPUlQsIFNNQl9HTE9CQUxfRU5BQkxFKTsKIAltc2xlZXAoMTAwKTsKIAlvdXR3X3AoR1NfQ0xFQVJfU1RTLCBTTUJfR0xPQkFMX1NUQVRVUyk7Ci0JcmV0dXJuIC0xOworCXJldHVybiAtRUlPOwogfQogCi0vKiBSZXR1cm4gLTEgb24gZXJyb3IuICovCisvKiBSZXR1cm4gbmVnYXRpdmUgZXJybm8gb24gZXJyb3IuICovCiBzdGF0aWMgczMyIGFtZDc1Nl9hY2Nlc3Moc3RydWN0IGkyY19hZGFwdGVyICogYWRhcCwgdTE2IGFkZHIsCiAJCSAgdW5zaWduZWQgc2hvcnQgZmxhZ3MsIGNoYXIgcmVhZF93cml0ZSwKIAkJICB1OCBjb21tYW5kLCBpbnQgc2l6ZSwgdW5pb24gaTJjX3NtYnVzX2RhdGEgKiBkYXRhKQogewogCWludCBpLCBsZW47CisJaW50IHN0YXR1czsKIAotCS8qKiBUT0RPOiBTaG91bGQgSSBzdXBwb3J0ZSB0aGUgMTAtYml0IHRyYW5zZmVycz8gKi8KIAlzd2l0Y2ggKHNpemUpIHsKLQljYXNlIEkyQ19TTUJVU19QUk9DX0NBTEw6Ci0JCWRldl9kYmcoJmFkYXAtPmRldiwgIkkyQ19TTUJVU19QUk9DX0NBTEwgbm90IHN1cHBvcnRlZCFcbiIpOwotCQkvKiBUT0RPOiBXZWxsLi4uIEl0IGlzIHN1cHBvcnRlZCwgSSdtIGp1c3Qgbm90IHN1cmUgd2hhdCB0byBkbyBoZXJlLi4uICovCi0JCXJldHVybiAtMTsKIAljYXNlIEkyQ19TTUJVU19RVUlDSzoKIAkJb3V0d19wKCgoYWRkciAmIDB4N2YpIDw8IDEpIHwgKHJlYWRfd3JpdGUgJiAweDAxKSwKIAkJICAgICAgIFNNQl9IT1NUX0FERFJFU1MpOwpAQCAtMjUxLDEzICsyNDUsMTcgQEAKIAkJfQogCQlzaXplID0gQU1ENzU2X0JMT0NLX0RBVEE7CiAJCWJyZWFrOworCWRlZmF1bHQ6CisJCWRldl93YXJuKCZhZGFwLT5kZXYsICJVbnN1cHBvcnRlZCB0cmFuc2FjdGlvbiAlZFxuIiwgc2l6ZSk7CisJCXJldHVybiAtRU9QTk9UU1VQUDsKIAl9CiAKIAkvKiBIb3cgYWJvdXQgZW5hYmxpbmcgaW50ZXJydXB0cy4uLiAqLwogCW91dHdfcChzaXplICYgR0VfQ1lDX1RZUEVfTUFTSywgU01CX0dMT0JBTF9FTkFCTEUpOwogCi0JaWYgKGFtZDc1Nl90cmFuc2FjdGlvbihhZGFwKSkJLyogRXJyb3IgaW4gdHJhbnNhY3Rpb24gKi8KLQkJcmV0dXJuIC0xOworCXN0YXR1cyA9IGFtZDc1Nl90cmFuc2FjdGlvbihhZGFwKTsKKwlpZiAoc3RhdHVzKQorCQlyZXR1cm4gc3RhdHVzOwogCiAJaWYgKChyZWFkX3dyaXRlID09IEkyQ19TTUJVU19XUklURSkgfHwgKHNpemUgPT0gQU1ENzU2X1FVSUNLKSkKIAkJcmV0dXJuIDA7CkBAIC0zMDEsNyArMjk5LDcgQEAKIHN0cnVjdCBpMmNfYWRhcHRlciBhbWQ3NTZfc21idXMgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5pZAkJPSBJMkNfSFdfU01CVVNfQU1ENzU2LAotCS5jbGFzcyAgICAgICAgICA9IEkyQ19DTEFTU19IV01PTiwKKwkuY2xhc3MgICAgICAgICAgPSBJMkNfQ0xBU1NfSFdNT04gfCBJMkNfQ0xBU1NfU1BELAogCS5hbGdvCQk9ICZzbWJ1c19hbGdvcml0aG0sCiB9OwogCkBAIC0zNjgsNiArMzY2LDExIEBACiAJCWFtZDc1Nl9pb3BvcnQgKz0gU01CX0FERFJfT0ZGU0VUOwogCX0KIAorCWVycm9yID0gYWNwaV9jaGVja19yZWdpb24oYW1kNzU2X2lvcG9ydCwgU01CX0lPU0laRSwKKwkJCQkgIGFtZDc1Nl9kcml2ZXIubmFtZSk7CisJaWYgKGVycm9yKQorCQlyZXR1cm4gZXJyb3I7CisKIAlpZiAoIXJlcXVlc3RfcmVnaW9uKGFtZDc1Nl9pb3BvcnQsIFNNQl9JT1NJWkUsIGFtZDc1Nl9kcml2ZXIubmFtZSkpIHsKIAkJZGV2X2VycigmcGRldi0+ZGV2LCAiU01CIHJlZ2lvbiAweCV4IGFscmVhZHkgaW4gdXNlIVxuIiwKIAkJCWFtZDc1Nl9pb3BvcnQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1hbWQ4MTExLmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWFtZDgxMTEuYwppbmRleCA1ZDFhMjdlLi4zOTcyMjA4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWFtZDgxMTEuYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWFtZDgxMTEuYwpAQCAtMTYsNiArMTYsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9pMmMuaD4KICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgorI2luY2x1ZGUgPGxpbnV4L2FjcGkuaD4KICNpbmNsdWRlIDxhc20vaW8uaD4KIAogTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwpAQCAtNzcsNyArNzgsNyBAQAogCWlmICghdGltZW91dCkgewogCQlkZXZfd2Fybigmc21idXMtPmRldi0+ZGV2LAogCQkJICJUaW1lb3V0IHdoaWxlIHdhaXRpbmcgZm9yIElCRiB0byBjbGVhclxuIik7Ci0JCXJldHVybiAtMTsKKwkJcmV0dXJuIC1FVElNRURPVVQ7CiAJfQogCiAJcmV0dXJuIDA7CkBAIC05Myw3ICs5NCw3IEBACiAJaWYgKCF0aW1lb3V0KSB7CiAJCWRldl93YXJuKCZzbWJ1cy0+ZGV2LT5kZXYsCiAJCQkgIlRpbWVvdXQgd2hpbGUgd2FpdGluZyBmb3IgT0JGIHRvIHNldFxuIik7Ci0JCXJldHVybiAtMTsKKwkJcmV0dXJuIC1FVElNRURPVVQ7CiAJfQogCiAJcmV0dXJuIDA7CkBAIC0xMDIsMTYgKzEwMywyMSBAQAogc3RhdGljIHVuc2lnbmVkIGludCBhbWRfZWNfcmVhZChzdHJ1Y3QgYW1kX3NtYnVzICpzbWJ1cywgdW5zaWduZWQgY2hhciBhZGRyZXNzLAogCQl1bnNpZ25lZCBjaGFyICpkYXRhKQogewotCWlmIChhbWRfZWNfd2FpdF93cml0ZShzbWJ1cykpCi0JCXJldHVybiAtMTsKKwlpbnQgc3RhdHVzOworCisJc3RhdHVzID0gYW1kX2VjX3dhaXRfd3JpdGUoc21idXMpOworCWlmIChzdGF0dXMpCisJCXJldHVybiBzdGF0dXM7CiAJb3V0YihBTURfRUNfQ01EX1JELCBzbWJ1cy0+YmFzZSArIEFNRF9FQ19DTUQpOwogCi0JaWYgKGFtZF9lY193YWl0X3dyaXRlKHNtYnVzKSkKLQkJcmV0dXJuIC0xOworCXN0YXR1cyA9IGFtZF9lY193YWl0X3dyaXRlKHNtYnVzKTsKKwlpZiAoc3RhdHVzKQorCQlyZXR1cm4gc3RhdHVzOwogCW91dGIoYWRkcmVzcywgc21idXMtPmJhc2UgKyBBTURfRUNfREFUQSk7CiAKLQlpZiAoYW1kX2VjX3dhaXRfcmVhZChzbWJ1cykpCi0JCXJldHVybiAtMTsKKwlzdGF0dXMgPSBhbWRfZWNfd2FpdF9yZWFkKHNtYnVzKTsKKwlpZiAoc3RhdHVzKQorCQlyZXR1cm4gc3RhdHVzOwogCSpkYXRhID0gaW5iKHNtYnVzLT5iYXNlICsgQU1EX0VDX0RBVEEpOwogCiAJcmV0dXJuIDA7CkBAIC0xMjAsMTYgKzEyNiwyMSBAQAogc3RhdGljIHVuc2lnbmVkIGludCBhbWRfZWNfd3JpdGUoc3RydWN0IGFtZF9zbWJ1cyAqc21idXMsIHVuc2lnbmVkIGNoYXIgYWRkcmVzcywKIAkJdW5zaWduZWQgY2hhciBkYXRhKQogewotCWlmIChhbWRfZWNfd2FpdF93cml0ZShzbWJ1cykpCi0JCXJldHVybiAtMTsKKwlpbnQgc3RhdHVzOworCisJc3RhdHVzID0gYW1kX2VjX3dhaXRfd3JpdGUoc21idXMpOworCWlmIChzdGF0dXMpCisJCXJldHVybiBzdGF0dXM7CiAJb3V0YihBTURfRUNfQ01EX1dSLCBzbWJ1cy0+YmFzZSArIEFNRF9FQ19DTUQpOwogCi0JaWYgKGFtZF9lY193YWl0X3dyaXRlKHNtYnVzKSkKLQkJcmV0dXJuIC0xOworCXN0YXR1cyA9IGFtZF9lY193YWl0X3dyaXRlKHNtYnVzKTsKKwlpZiAoc3RhdHVzKQorCQlyZXR1cm4gc3RhdHVzOwogCW91dGIoYWRkcmVzcywgc21idXMtPmJhc2UgKyBBTURfRUNfREFUQSk7CiAKLQlpZiAoYW1kX2VjX3dhaXRfd3JpdGUoc21idXMpKQotCQlyZXR1cm4gLTE7CisJc3RhdHVzID0gYW1kX2VjX3dhaXRfd3JpdGUoc21idXMpOworCWlmIChzdGF0dXMpCisJCXJldHVybiBzdGF0dXM7CiAJb3V0YihkYXRhLCBzbWJ1cy0+YmFzZSArIEFNRF9FQ19EQVRBKTsKIAogCXJldHVybiAwOwpAQCAtMjY3LDEyICsyNzgsMTcgQEAKIAogCQlkZWZhdWx0OgogCQkJZGV2X3dhcm4oJmFkYXAtPmRldiwgIlVuc3VwcG9ydGVkIHRyYW5zYWN0aW9uICVkXG4iLCBzaXplKTsKLQkJCXJldHVybiAtMTsKKwkJCXJldHVybiAtRU9QTk9UU1VQUDsKIAl9CiAKIAlhbWRfZWNfd3JpdGUoc21idXMsIEFNRF9TTUJfQUREUiwgYWRkciA8PCAxKTsKIAlhbWRfZWNfd3JpdGUoc21idXMsIEFNRF9TTUJfUFJUQ0wsIHByb3RvY29sKTsKIAorCS8qIEZJWE1FIHRoaXMgZGlzY2FyZHMgc3RhdHVzIGZyb20gZWNfcmVhZCgpOyBzbyB0ZW1wWzBdIHdpbGwKKwkgKiBob2xkIHN0YWNrIGdhcmJhZ2UgLi4uIHRoZSByZXN0IG9mIHRoaXMgcm91dGluZSB3aWxsIGFjdAorCSAqIG5vbnNlbnNpY2FsbHkuICBJZ25vcmVkIGVjX3dyaXRlKCkgc3RhdHVzIG1pZ2h0IGV4cGxhaW4KKwkgKiBzb21lIHN1Y2ggZmFpbHVyZXMuLi4KKwkgKi8KIAlhbWRfZWNfcmVhZChzbWJ1cywgQU1EX1NNQl9TVFMsIHRlbXAgKyAwKTsKIAogCWlmICh+dGVtcFswXSAmIEFNRF9TTUJfU1RTX0RPTkUpIHsKQEAgLTI4Niw3ICszMDIsNyBAQAogCX0KIAogCWlmICgofnRlbXBbMF0gJiBBTURfU01CX1NUU19ET05FKSB8fCAodGVtcFswXSAmIEFNRF9TTUJfU1RTX1NUQVRVUykpCi0JCXJldHVybiAtMTsKKwkJcmV0dXJuIC1FSU87CiAKIAlpZiAocmVhZF93cml0ZSA9PSBJMkNfU01CVVNfV1JJVEUpCiAJCXJldHVybiAwOwpAQCAtMzU5LDYgKzM3NSwxMCBAQAogCXNtYnVzLT5iYXNlID0gcGNpX3Jlc291cmNlX3N0YXJ0KGRldiwgMCk7CiAJc21idXMtPnNpemUgPSBwY2lfcmVzb3VyY2VfbGVuKGRldiwgMCk7CiAKKwllcnJvciA9IGFjcGlfY2hlY2tfcmVzb3VyY2VfY29uZmxpY3QoJmRldi0+cmVzb3VyY2VbMF0pOworCWlmIChlcnJvcikKKwkJZ290byBvdXRfa2ZyZWU7CisKIAlpZiAoIXJlcXVlc3RfcmVnaW9uKHNtYnVzLT5iYXNlLCBzbWJ1cy0+c2l6ZSwgYW1kODExMV9kcml2ZXIubmFtZSkpIHsKIAkJZXJyb3IgPSAtRUJVU1k7CiAJCWdvdG8gb3V0X2tmcmVlOwpAQCAtMzY4LDcgKzM4OCw3IEBACiAJc25wcmludGYoc21idXMtPmFkYXB0ZXIubmFtZSwgc2l6ZW9mKHNtYnVzLT5hZGFwdGVyLm5hbWUpLAogCQkiU01CdXMyIEFNRDgxMTEgYWRhcHRlciBhdCAlMDR4Iiwgc21idXMtPmJhc2UpOwogCXNtYnVzLT5hZGFwdGVyLmlkID0gSTJDX0hXX1NNQlVTX0FNRDgxMTE7Ci0Jc21idXMtPmFkYXB0ZXIuY2xhc3MgPSBJMkNfQ0xBU1NfSFdNT047CisJc21idXMtPmFkYXB0ZXIuY2xhc3MgPSBJMkNfQ0xBU1NfSFdNT04gfCBJMkNfQ0xBU1NfU1BEOwogCXNtYnVzLT5hZGFwdGVyLmFsZ28gPSAmc21idXNfYWxnb3JpdGhtOwogCXNtYnVzLT5hZGFwdGVyLmFsZ29fZGF0YSA9IHNtYnVzOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWF1MTU1MC5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1hdTE1NTAuYwppbmRleCBjYWU5ZGM4Li42NmEwNGMyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWF1MTU1MC5jCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtYXUxNTUwLmMKQEAgLTI2OSw5ICsyNjksMTMgQEAKIGF1MTU1MF94ZmVyKHN0cnVjdCBpMmNfYWRhcHRlciAqaTJjX2FkYXAsIHN0cnVjdCBpMmNfbXNnICptc2dzLCBpbnQgbnVtKQogewogCXN0cnVjdCBpMmNfYXUxNTUwX2RhdGEgKmFkYXAgPSBpMmNfYWRhcC0+YWxnb19kYXRhOworCXZvbGF0aWxlIHBzY19zbWJfdCAqc3AgPSAodm9sYXRpbGUgcHNjX3NtYl90ICopYWRhcC0+cHNjX2Jhc2U7CiAJc3RydWN0IGkyY19tc2cgKnA7CiAJaW50IGksIGVyciA9IDA7CiAKKwlzcC0+cHNjX2N0cmwgPSBQU0NfQ1RSTF9FTkFCTEU7CisJYXVfc3luYygpOworCiAJZm9yIChpID0gMDsgIWVyciAmJiBpIDwgbnVtOyBpKyspIHsKIAkJcCA9ICZtc2dzW2ldOwogCQllcnIgPSBkb19hZGRyZXNzKGFkYXAsIHAtPmFkZHIsIHAtPmZsYWdzICYgSTJDX01fUkQsCkBAIC0yODgsNiArMjkyLDEwIEBACiAJKi8KIAlpZiAoZXJyID09IDApCiAJCWVyciA9IG51bTsKKworCXNwLT5wc2NfY3RybCA9IFBTQ19DVFJMX1NVU1BFTkQ7CisJYXVfc3luYygpOworCiAJcmV0dXJuIGVycjsKIH0KIApAQCAtMzAyLDUzICszMTAsMTEgQEAKIAkuZnVuY3Rpb25hbGl0eQk9IGF1MTU1MF9mdW5jLAogfTsKIAotLyoKLSAqIHJlZ2lzdGVyaW5nIGZ1bmN0aW9ucyB0byBsb2FkIGFsZ29yaXRobXMgYXQgcnVudGltZQotICogUHJpb3IgdG8gY2FsbGluZyB1cywgdGhlIDUwTUh6IGNsb2NrIGZyZXF1ZW5jeSBhbmQgcm91dGluZwotICogbXVzdCBoYXZlIGJlZW4gc2V0IHVwIGZvciB0aGUgUFNDIGluZGljYXRlZCBieSB0aGUgYWRhcHRlci4KLSAqLwotc3RhdGljIGludCBfX2RldmluaXQKLWkyY19hdTE1NTBfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3N0YXRpYyB2b2lkIGkyY19hdTE1NTBfc2V0dXAoc3RydWN0IGkyY19hdTE1NTBfZGF0YSAqcHJpdikKIHsKLQlzdHJ1Y3QgaTJjX2F1MTU1MF9kYXRhICpwcml2OwotCXZvbGF0aWxlIHBzY19zbWJfdCAqc3A7Ci0Jc3RydWN0IHJlc291cmNlICpyOworCXZvbGF0aWxlIHBzY19zbWJfdCAqc3AgPSAodm9sYXRpbGUgcHNjX3NtYl90ICopcHJpdi0+cHNjX2Jhc2U7CiAJdTMyIHN0YXQ7Ci0JaW50IHJldDsKIAotCXIgPSBwbGF0Zm9ybV9nZXRfcmVzb3VyY2UocGRldiwgSU9SRVNPVVJDRV9NRU0sIDApOwotCWlmICghcikgewotCQlyZXQgPSAtRU5PREVWOwotCQlnb3RvIG91dDsKLQl9Ci0KLQlwcml2ID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IGkyY19hdTE1NTBfZGF0YSksIEdGUF9LRVJORUwpOwotCWlmICghcHJpdikgewotCQlyZXQgPSAtRU5PTUVNOwotCQlnb3RvIG91dDsKLQl9Ci0KLQlwcml2LT5pb2FyZWEgPSByZXF1ZXN0X21lbV9yZWdpb24oci0+c3RhcnQsIHItPmVuZCAtIHItPnN0YXJ0ICsgMSwKLQkJCQkJICBwZGV2LT5uYW1lKTsKLQlpZiAoIXByaXYtPmlvYXJlYSkgewotCQlyZXQgPSAtRUJVU1k7Ci0JCWdvdG8gb3V0X21lbTsKLQl9Ci0KLQlwcml2LT5wc2NfYmFzZSA9IENLU0VHMUFERFIoci0+c3RhcnQpOwotCXByaXYtPnhmZXJfdGltZW91dCA9IDIwMDsKLQlwcml2LT5hY2tfdGltZW91dCA9IDIwMDsKLQotCXByaXYtPmFkYXAuaWQgPSBJMkNfSFdfQVUxNTUwX1BTQzsKLQlwcml2LT5hZGFwLm5yID0gcGRldi0+aWQ7Ci0JcHJpdi0+YWRhcC5hbGdvID0gJmF1MTU1MF9hbGdvOwotCXByaXYtPmFkYXAuYWxnb19kYXRhID0gcHJpdjsKLQlwcml2LT5hZGFwLmRldi5wYXJlbnQgPSAmcGRldi0+ZGV2OwotCXN0cmxjcHkocHJpdi0+YWRhcC5uYW1lLCAiQXUxeHh4IFBTQyBJMkMiLCBzaXplb2YocHJpdi0+YWRhcC5uYW1lKSk7Ci0KLQkvKiBOb3csIHNldCB1cCB0aGUgUFNDIGZvciBTTUJ1cyBQSU8gbW9kZS4KLQkqLwotCXNwID0gKHZvbGF0aWxlIHBzY19zbWJfdCAqKXByaXYtPnBzY19iYXNlOwogCXNwLT5wc2NfY3RybCA9IFBTQ19DVFJMX0RJU0FCTEU7CiAJYXVfc3luYygpOwogCXNwLT5wc2Nfc2VsID0gUFNDX1NFTF9QU19TTUJVU01PREU7CkBAIC0zODQsNyArMzUwLDY2IEBACiAJZG8gewogCQlzdGF0ID0gc3AtPnBzY19zbWJzdGF0OwogCQlhdV9zeW5jKCk7Ci0JfSB3aGlsZSAoKHN0YXQgJiBQU0NfU01CU1RBVF9EUikgPT0gMCk7CisJfSB3aGlsZSAoKHN0YXQgJiBQU0NfU01CU1RBVF9TUikgPT0gMCk7CisKKwlzcC0+cHNjX2N0cmwgPSBQU0NfQ1RSTF9TVVNQRU5EOworCWF1X3N5bmMoKTsKK30KKworc3RhdGljIHZvaWQgaTJjX2F1MTU1MF9kaXNhYmxlKHN0cnVjdCBpMmNfYXUxNTUwX2RhdGEgKnByaXYpCit7CisJdm9sYXRpbGUgcHNjX3NtYl90ICpzcCA9ICh2b2xhdGlsZSBwc2Nfc21iX3QgKilwcml2LT5wc2NfYmFzZTsKKworCXNwLT5wc2Nfc21iY2ZnID0gMDsKKwlzcC0+cHNjX2N0cmwgPSBQU0NfQ1RSTF9ESVNBQkxFOworCWF1X3N5bmMoKTsKK30KKworLyoKKyAqIHJlZ2lzdGVyaW5nIGZ1bmN0aW9ucyB0byBsb2FkIGFsZ29yaXRobXMgYXQgcnVudGltZQorICogUHJpb3IgdG8gY2FsbGluZyB1cywgdGhlIDUwTUh6IGNsb2NrIGZyZXF1ZW5jeSBhbmQgcm91dGluZworICogbXVzdCBoYXZlIGJlZW4gc2V0IHVwIGZvciB0aGUgUFNDIGluZGljYXRlZCBieSB0aGUgYWRhcHRlci4KKyAqLworc3RhdGljIGludCBfX2RldmluaXQKK2kyY19hdTE1NTBfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlzdHJ1Y3QgaTJjX2F1MTU1MF9kYXRhICpwcml2OworCXN0cnVjdCByZXNvdXJjZSAqcjsKKwlpbnQgcmV0OworCisJciA9IHBsYXRmb3JtX2dldF9yZXNvdXJjZShwZGV2LCBJT1JFU09VUkNFX01FTSwgMCk7CisJaWYgKCFyKSB7CisJCXJldCA9IC1FTk9ERVY7CisJCWdvdG8gb3V0OworCX0KKworCXByaXYgPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgaTJjX2F1MTU1MF9kYXRhKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFwcml2KSB7CisJCXJldCA9IC1FTk9NRU07CisJCWdvdG8gb3V0OworCX0KKworCXByaXYtPmlvYXJlYSA9IHJlcXVlc3RfbWVtX3JlZ2lvbihyLT5zdGFydCwgci0+ZW5kIC0gci0+c3RhcnQgKyAxLAorCQkJCQkgIHBkZXYtPm5hbWUpOworCWlmICghcHJpdi0+aW9hcmVhKSB7CisJCXJldCA9IC1FQlVTWTsKKwkJZ290byBvdXRfbWVtOworCX0KKworCXByaXYtPnBzY19iYXNlID0gQ0tTRUcxQUREUihyLT5zdGFydCk7CisJcHJpdi0+eGZlcl90aW1lb3V0ID0gMjAwOworCXByaXYtPmFja190aW1lb3V0ID0gMjAwOworCisJcHJpdi0+YWRhcC5pZCA9IEkyQ19IV19BVTE1NTBfUFNDOworCXByaXYtPmFkYXAubnIgPSBwZGV2LT5pZDsKKwlwcml2LT5hZGFwLmFsZ28gPSAmYXUxNTUwX2FsZ287CisJcHJpdi0+YWRhcC5hbGdvX2RhdGEgPSBwcml2OworCXByaXYtPmFkYXAuZGV2LnBhcmVudCA9ICZwZGV2LT5kZXY7CisJc3RybGNweShwcml2LT5hZGFwLm5hbWUsICJBdTF4eHggUFNDIEkyQyIsIHNpemVvZihwcml2LT5hZGFwLm5hbWUpKTsKKworCS8qIE5vdywgc2V0IHVwIHRoZSBQU0MgZm9yIFNNQnVzIFBJTyBtb2RlLgorCSovCisJaTJjX2F1MTU1MF9zZXR1cChwcml2KTsKIAogCXJldCA9IGkyY19hZGRfbnVtYmVyZWRfYWRhcHRlcigmcHJpdi0+YWRhcCk7CiAJaWYgKHJldCA9PSAwKSB7CkBAIC0zOTIsMTAgKzQxNyw3IEBACiAJCXJldHVybiAwOwogCX0KIAotCS8qIGRpc2FibGUgdGhlIFBTQyAqLwotCXNwLT5wc2Nfc21iY2ZnID0gMDsKLQlzcC0+cHNjX2N0cmwgPSBQU0NfQ1RSTF9ESVNBQkxFOwotCWF1X3N5bmMoKTsKKwlpMmNfYXUxNTUwX2Rpc2FibGUocHJpdik7CiAKIAlyZWxlYXNlX3Jlc291cmNlKHByaXYtPmlvYXJlYSk7CiAJa2ZyZWUocHJpdi0+aW9hcmVhKTsKQEAgLTQwOSwyNyArNDMxLDI0IEBACiBpMmNfYXUxNTUwX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQogewogCXN0cnVjdCBpMmNfYXUxNTUwX2RhdGEgKnByaXYgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKLQl2b2xhdGlsZSBwc2Nfc21iX3QgKnNwID0gKHZvbGF0aWxlIHBzY19zbWJfdCAqKXByaXYtPnBzY19iYXNlOwogCiAJcGxhdGZvcm1fc2V0X2RydmRhdGEocGRldiwgTlVMTCk7CiAJaTJjX2RlbF9hZGFwdGVyKCZwcml2LT5hZGFwKTsKLQlzcC0+cHNjX3NtYmNmZyA9IDA7Ci0Jc3AtPnBzY19jdHJsID0gUFNDX0NUUkxfRElTQUJMRTsKLQlhdV9zeW5jKCk7CisJaTJjX2F1MTU1MF9kaXNhYmxlKHByaXYpOwogCXJlbGVhc2VfcmVzb3VyY2UocHJpdi0+aW9hcmVhKTsKIAlrZnJlZShwcml2LT5pb2FyZWEpOwogCWtmcmVlKHByaXYpOwogCXJldHVybiAwOwogfQogCisjaWZkZWYgQ09ORklHX1BNCiBzdGF0aWMgaW50CiBpMmNfYXUxNTUwX3N1c3BlbmQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwgcG1fbWVzc2FnZV90IHN0YXRlKQogewogCXN0cnVjdCBpMmNfYXUxNTUwX2RhdGEgKnByaXYgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKLQl2b2xhdGlsZSBwc2Nfc21iX3QgKnNwID0gKHZvbGF0aWxlIHBzY19zbWJfdCAqKXByaXYtPnBzY19iYXNlOwogCi0Jc3AtPnBzY19jdHJsID0gUFNDX0NUUkxfU1VTUEVORDsKLQlhdV9zeW5jKCk7CisJaTJjX2F1MTU1MF9kaXNhYmxlKHByaXYpOworCiAJcmV0dXJuIDA7CiB9CiAKQEAgLTQzNywxNCArNDU2LDE1IEBACiBpMmNfYXUxNTUwX3Jlc3VtZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQogewogCXN0cnVjdCBpMmNfYXUxNTUwX2RhdGEgKnByaXYgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKLQl2b2xhdGlsZSBwc2Nfc21iX3QgKnNwID0gKHZvbGF0aWxlIHBzY19zbWJfdCAqKXByaXYtPnBzY19iYXNlOwogCi0Jc3AtPnBzY19jdHJsID0gUFNDX0NUUkxfRU5BQkxFOwotCWF1X3N5bmMoKTsKLQl3aGlsZSAoIShzcC0+cHNjX3NtYnN0YXQgJiBQU0NfU01CU1RBVF9TUikpCi0JCWF1X3N5bmMoKTsKKwlpMmNfYXUxNTUwX3NldHVwKHByaXYpOworCiAJcmV0dXJuIDA7CiB9CisjZWxzZQorI2RlZmluZSBpMmNfYXUxNTUwX3N1c3BlbmQJTlVMTAorI2RlZmluZSBpMmNfYXUxNTUwX3Jlc3VtZQlOVUxMCisjZW5kaWYKIAogc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgYXUxeHBzY19zbWJ1c19kcml2ZXIgPSB7CiAJLmRyaXZlciA9IHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtY3BtLmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWNwbS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgxNjRkZTEKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWNwbS5jCkBAIC0wLDAgKzEsNzQ1IEBACisvKgorICogRnJlZXNjYWxlIENQTTEvQ1BNMiBJMkMgaW50ZXJmYWNlLgorICogQ29weXJpZ2h0IChjKSAxOTk5IERhbiBNYWxlayAoZG1hbGVrQGpsYy5uZXQpLgorICoKKyAqIG1vdmVkIGludG8gcHJvcGVyIGkyYyBpbnRlcmZhY2U7CisgKiBCcmFkIFBhcmtlciAoYnJhZEBoZWVsdG9lLmNvbSkKKyAqCisgKiBQYXJ0cyBmcm9tIGRib3gyX2kyYy5jIChjdnMudHV4Ym94Lm9yZykKKyAqIChDKSAyMDAwLTIwMDEgRmVsaXggRG9ta2UgKHRtYmluY0BnbXgubmV0KSwgR2lsbGVtIChodG9hQGdteC5uZXQpCisgKgorICogKEMpIDIwMDcgTW9udGF2aXN0YSBTb2Z0d2FyZSwgSW5jLgorICogVml0YWx5IEJvcmR1ZyA8dml0YkBrZXJuZWwuY3Jhc2hpbmcub3JnPgorICoKKyAqIENvbnZlcnRlZCB0byBvZl9wbGF0Zm9ybV9kZXZpY2UuIFJlbmFtZWQgdG8gaTJjLWNwbS5jLgorICogKEMpIDIwMDcsMjAwOCBKb2NoZW4gRnJpZWRyaWNoIDxqb2NoZW5Ac2NyYW0uZGU+CisgKgorICogIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqICBGb3VuZGF0aW9uLCBJbmMuLCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEgMDIxMzksIFVTQS4KKyAqLworCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KKyNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgorI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CisjaW5jbHVkZSA8bGludXgvc3RkZGVmLmg+CisjaW5jbHVkZSA8bGludXgvaTJjLmg+CisjaW5jbHVkZSA8bGludXgvaW8uaD4KKyNpbmNsdWRlIDxsaW51eC9kbWEtbWFwcGluZy5oPgorI2luY2x1ZGUgPGxpbnV4L29mX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L29mX3BsYXRmb3JtLmg+CisjaW5jbHVkZSA8bGludXgvb2ZfaTJjLmg+CisjaW5jbHVkZSA8c3lzZGV2L2ZzbF9zb2MuaD4KKyNpbmNsdWRlIDxhc20vY3BtLmg+CisKKy8qIFRyeSB0byBkZWZpbmUgdGhpcyBpZiB5b3UgaGF2ZSBhbiBvbGRlciBDUFUgKGVhcmxpZXIgdGhhbiByZXYgRDQpICovCisvKiBIb3dldmVyLCBiZXR0ZXIgdXNlIGEgR1BJTyBiYXNlZCBiaXRiYW5nIGRyaXZlciBpbiB0aGlzIGNhc2UgOi8gICAqLworI3VuZGVmCUkyQ19DSElQX0VSUkFUQQorCisjZGVmaW5lIENQTV9NQVhfUkVBRCAgICA1MTMKKyNkZWZpbmUgQ1BNX01BWEJEICAgICAgIDQKKworI2RlZmluZSBJMkNfRUIJCQkoMHgxMCkgLyogQmlnIGVuZGlhbiBtb2RlICovCisjZGVmaW5lIEkyQ19FQl9DUE0yCQkoMHgzMCkgLyogQmlnIGVuZGlhbiBtb2RlLCBtZW1vcnkgc25vb3AgKi8KKworI2RlZmluZSBEUFJBTV9CQVNFCQkoKHU4IF9faW9tZW0gX19mb3JjZSAqKWNwbV9tdXJhbV9hZGRyKDApKQorCisvKiBJMkMgcGFyYW1ldGVyIFJBTS4gKi8KK3N0cnVjdCBpMmNfcmFtIHsKKwl1c2hvcnQgIHJiYXNlOwkJLyogUnggQnVmZmVyIGRlc2NyaXB0b3IgYmFzZSBhZGRyZXNzICovCisJdXNob3J0ICB0YmFzZTsJCS8qIFR4IEJ1ZmZlciBkZXNjcmlwdG9yIGJhc2UgYWRkcmVzcyAqLworCXVfY2hhciAgcmZjcjsJCS8qIFJ4IGZ1bmN0aW9uIGNvZGUgKi8KKwl1X2NoYXIgIHRmY3I7CQkvKiBUeCBmdW5jdGlvbiBjb2RlICovCisJdXNob3J0ICBtcmJscjsJCS8qIE1heCByZWNlaXZlIGJ1ZmZlciBsZW5ndGggKi8KKwl1aW50ICAgIHJzdGF0ZTsJCS8qIEludGVybmFsICovCisJdWludCAgICByZHA7CQkvKiBJbnRlcm5hbCAqLworCXVzaG9ydCAgcmJwdHI7CQkvKiBSeCBCdWZmZXIgZGVzY3JpcHRvciBwb2ludGVyICovCisJdXNob3J0ICByYmM7CQkvKiBJbnRlcm5hbCAqLworCXVpbnQgICAgcnh0bXA7CQkvKiBJbnRlcm5hbCAqLworCXVpbnQgICAgdHN0YXRlOwkJLyogSW50ZXJuYWwgKi8KKwl1aW50ICAgIHRkcDsJCS8qIEludGVybmFsICovCisJdXNob3J0ICB0YnB0cjsJCS8qIFR4IEJ1ZmZlciBkZXNjcmlwdG9yIHBvaW50ZXIgKi8KKwl1c2hvcnQgIHRiYzsJCS8qIEludGVybmFsICovCisJdWludCAgICB0eHRtcDsJCS8qIEludGVybmFsICovCisJY2hhciAgICByZXMxWzRdOwkvKiBSZXNlcnZlZCAqLworCXVzaG9ydCAgcnBiYXNlOwkJLyogUmVsb2NhdGlvbiBwb2ludGVyICovCisJY2hhciAgICByZXMyWzJdOwkvKiBSZXNlcnZlZCAqLworfTsKKworI2RlZmluZSBJMkNPTV9TVEFSVAkweDgwCisjZGVmaW5lIEkyQ09NX01BU1RFUgkweDAxCisjZGVmaW5lIEkyQ0VSX1RYRQkweDEwCisjZGVmaW5lIEkyQ0VSX0JVU1kJMHgwNAorI2RlZmluZSBJMkNFUl9UWEIJMHgwMgorI2RlZmluZSBJMkNFUl9SWEIJMHgwMQorI2RlZmluZSBJMk1PRF9FTgkweDAxCisKKy8qIEkyQyBSZWdpc3RlcnMgKi8KK3N0cnVjdCBpMmNfcmVnIHsKKwl1OAlpMm1vZDsKKwl1OAlyZXMxWzNdOworCXU4CWkyYWRkOworCXU4CXJlczJbM107CisJdTgJaTJicmc7CisJdTgJcmVzM1szXTsKKwl1OAlpMmNvbTsKKwl1OAlyZXM0WzNdOworCXU4CWkyY2VyOworCXU4CXJlczVbM107CisJdTgJaTJjbXI7Cit9OworCitzdHJ1Y3QgY3BtX2kyYyB7CisJY2hhciAqYmFzZTsKKwlzdHJ1Y3Qgb2ZfZGV2aWNlICpvZmRldjsKKwlzdHJ1Y3QgaTJjX2FkYXB0ZXIgYWRhcDsKKwl1aW50IGRwX2FkZHI7CisJaW50IHZlcnNpb247IC8qIENQTTE9MSwgQ1BNMj0yICovCisJaW50IGlycTsKKwlpbnQgY3BfY29tbWFuZDsKKwlpbnQgZnJlcTsKKwlzdHJ1Y3QgaTJjX3JlZyBfX2lvbWVtICppMmNfcmVnOworCXN0cnVjdCBpMmNfcmFtIF9faW9tZW0gKmkyY19yYW07CisJdTE2IGkyY19hZGRyOworCXdhaXRfcXVldWVfaGVhZF90IGkyY193YWl0OworCWNiZF90IF9faW9tZW0gKnRiYXNlOworCWNiZF90IF9faW9tZW0gKnJiYXNlOworCXVfY2hhciAqdHhidWZbQ1BNX01BWEJEXTsKKwl1X2NoYXIgKnJ4YnVmW0NQTV9NQVhCRF07CisJdTMyIHR4ZG1hW0NQTV9NQVhCRF07CisJdTMyIHJ4ZG1hW0NQTV9NQVhCRF07Cit9OworCitzdGF0aWMgaXJxcmV0dXJuX3QgY3BtX2kyY19pbnRlcnJ1cHQoaW50IGlycSwgdm9pZCAqZGV2X2lkKQoreworCXN0cnVjdCBjcG1faTJjICpjcG07CisJc3RydWN0IGkyY19yZWcgX19pb21lbSAqaTJjX3JlZzsKKwlzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXAgPSBkZXZfaWQ7CisJaW50IGk7CisKKwljcG0gPSBpMmNfZ2V0X2FkYXBkYXRhKGRldl9pZCk7CisJaTJjX3JlZyA9IGNwbS0+aTJjX3JlZzsKKworCS8qIENsZWFyIGludGVycnVwdC4gKi8KKwlpID0gaW5fOCgmaTJjX3JlZy0+aTJjZXIpOworCW91dF84KCZpMmNfcmVnLT5pMmNlciwgaSk7CisKKwlkZXZfZGJnKCZhZGFwLT5kZXYsICJJbnRlcnJ1cHQ6ICV4XG4iLCBpKTsKKworCXdha2VfdXBfaW50ZXJydXB0aWJsZSgmY3BtLT5pMmNfd2FpdCk7CisKKwlyZXR1cm4gaSA/IElSUV9IQU5ETEVEIDogSVJRX05PTkU7Cit9CisKK3N0YXRpYyB2b2lkIGNwbV9yZXNldF9pMmNfcGFyYW1zKHN0cnVjdCBjcG1faTJjICpjcG0pCit7CisJc3RydWN0IGkyY19yYW0gX19pb21lbSAqaTJjX3JhbSA9IGNwbS0+aTJjX3JhbTsKKworCS8qIFNldCB1cCB0aGUgSTJDIHBhcmFtZXRlcnMgaW4gdGhlIHBhcmFtZXRlciByYW0uICovCisJb3V0X2JlMTYoJmkyY19yYW0tPnRiYXNlLCAodTggX19pb21lbSAqKWNwbS0+dGJhc2UgLSBEUFJBTV9CQVNFKTsKKwlvdXRfYmUxNigmaTJjX3JhbS0+cmJhc2UsICh1OCBfX2lvbWVtICopY3BtLT5yYmFzZSAtIERQUkFNX0JBU0UpOworCisJaWYgKGNwbS0+dmVyc2lvbiA9PSAxKSB7CisJCW91dF84KCZpMmNfcmFtLT50ZmNyLCBJMkNfRUIpOworCQlvdXRfOCgmaTJjX3JhbS0+cmZjciwgSTJDX0VCKTsKKwl9IGVsc2UgeworCQlvdXRfOCgmaTJjX3JhbS0+dGZjciwgSTJDX0VCX0NQTTIpOworCQlvdXRfOCgmaTJjX3JhbS0+cmZjciwgSTJDX0VCX0NQTTIpOworCX0KKworCW91dF9iZTE2KCZpMmNfcmFtLT5tcmJsciwgQ1BNX01BWF9SRUFEKTsKKworCW91dF9iZTMyKCZpMmNfcmFtLT5yc3RhdGUsIDApOworCW91dF9iZTMyKCZpMmNfcmFtLT5yZHAsIDApOworCW91dF9iZTE2KCZpMmNfcmFtLT5yYnB0ciwgMCk7CisJb3V0X2JlMTYoJmkyY19yYW0tPnJiYywgMCk7CisJb3V0X2JlMzIoJmkyY19yYW0tPnJ4dG1wLCAwKTsKKwlvdXRfYmUzMigmaTJjX3JhbS0+dHN0YXRlLCAwKTsKKwlvdXRfYmUzMigmaTJjX3JhbS0+dGRwLCAwKTsKKwlvdXRfYmUxNigmaTJjX3JhbS0+dGJwdHIsIDApOworCW91dF9iZTE2KCZpMmNfcmFtLT50YmMsIDApOworCW91dF9iZTMyKCZpMmNfcmFtLT50eHRtcCwgMCk7Cit9CisKK3N0YXRpYyB2b2lkIGNwbV9pMmNfZm9yY2VfY2xvc2Uoc3RydWN0IGkyY19hZGFwdGVyICphZGFwKQoreworCXN0cnVjdCBjcG1faTJjICpjcG0gPSBpMmNfZ2V0X2FkYXBkYXRhKGFkYXApOworCXN0cnVjdCBpMmNfcmVnIF9faW9tZW0gKmkyY19yZWcgPSBjcG0tPmkyY19yZWc7CisKKwlkZXZfZGJnKCZhZGFwLT5kZXYsICJjcG1faTJjX2ZvcmNlX2Nsb3NlKClcbiIpOworCisJY3BtX2NvbW1hbmQoY3BtLT5jcF9jb21tYW5kLCBDUE1fQ1JfQ0xPU0VfUlhfQkQpOworCisJb3V0XzgoJmkyY19yZWctPmkyY21yLCAweDAwKTsJLyogRGlzYWJsZSBhbGwgaW50ZXJydXB0cyAqLworCW91dF84KCZpMmNfcmVnLT5pMmNlciwgMHhmZik7Cit9CisKK3N0YXRpYyB2b2lkIGNwbV9pMmNfcGFyc2VfbWVzc2FnZShzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXAsCisJc3RydWN0IGkyY19tc2cgKnBtc2csIGludCBudW0sIGludCB0eCwgaW50IHJ4KQoreworCWNiZF90IF9faW9tZW0gKnRiZGY7CisJY2JkX3QgX19pb21lbSAqcmJkZjsKKwl1X2NoYXIgYWRkcjsKKwl1X2NoYXIgKnRiOworCXVfY2hhciAqcmI7CisJc3RydWN0IGNwbV9pMmMgKmNwbSA9IGkyY19nZXRfYWRhcGRhdGEoYWRhcCk7CisKKwl0YmRmID0gY3BtLT50YmFzZSArIHR4OworCXJiZGYgPSBjcG0tPnJiYXNlICsgcng7CisKKwlhZGRyID0gcG1zZy0+YWRkciA8PCAxOworCWlmIChwbXNnLT5mbGFncyAmIEkyQ19NX1JEKQorCQlhZGRyIHw9IDE7CisKKwl0YiA9IGNwbS0+dHhidWZbdHhdOworCXJiID0gY3BtLT5yeGJ1ZltyeF07CisKKwkvKiBBbGlnbiByZWFkIGJ1ZmZlciAqLworCXJiID0gKHVfY2hhciAqKSAoKCh1bG9uZykgcmIgKyAxKSAmIH4xKTsKKworCXRiWzBdID0gYWRkcjsJCS8qIERldmljZSBhZGRyZXNzIGJ5dGUgdy9ydyBmbGFnICovCisKKwlvdXRfYmUxNigmdGJkZi0+Y2JkX2RhdGxlbiwgcG1zZy0+bGVuICsgMSk7CisJb3V0X2JlMTYoJnRiZGYtPmNiZF9zYywgMCk7CisKKwlpZiAoIShwbXNnLT5mbGFncyAmIEkyQ19NX05PU1RBUlQpKQorCQlzZXRiaXRzMTYoJnRiZGYtPmNiZF9zYywgQkRfSTJDX1NUQVJUKTsKKworCWlmICh0eCArIDEgPT0gbnVtKQorCQlzZXRiaXRzMTYoJnRiZGYtPmNiZF9zYywgQkRfU0NfTEFTVCB8IEJEX1NDX1dSQVApOworCisJaWYgKHBtc2ctPmZsYWdzICYgSTJDX01fUkQpIHsKKwkJLyoKKwkJICogVG8gcmVhZCwgd2UgbmVlZCBhbiBlbXB0eSBidWZmZXIgb2YgdGhlIHByb3BlciBsZW5ndGguCisJCSAqIEFsbCB0aGF0IGlzIHVzZWQgaXMgdGhlIGZpcnN0IGJ5dGUgZm9yIGFkZHJlc3MsIHRoZSByZW1haW5kZXIKKwkJICogaXMganVzdCB1c2VkIGZvciB0aW1pbmcgKGFuZCBkb2Vzbid0IHJlYWxseSBoYXZlIHRvIGV4aXN0KS4KKwkJICovCisKKwkJZGV2X2RiZygmYWRhcC0+ZGV2LCAiY3BtX2kyY19yZWFkKGFieXRlPTB4JXgpXG4iLCBhZGRyKTsKKworCQlvdXRfYmUxNigmcmJkZi0+Y2JkX2RhdGxlbiwgMCk7CisJCW91dF9iZTE2KCZyYmRmLT5jYmRfc2MsIEJEX1NDX0VNUFRZIHwgQkRfU0NfSU5UUlBUKTsKKworCQlpZiAocnggKyAxID09IENQTV9NQVhCRCkKKwkJCXNldGJpdHMxNigmcmJkZi0+Y2JkX3NjLCBCRF9TQ19XUkFQKTsKKworCQllaWVpbygpOworCQlzZXRiaXRzMTYoJnRiZGYtPmNiZF9zYywgQkRfU0NfUkVBRFkpOworCX0gZWxzZSB7CisJCWRldl9kYmcoJmFkYXAtPmRldiwgImNwbV9pMmNfd3JpdGUoYWJ5dGU9MHgleClcbiIsIGFkZHIpOworCisJCW1lbWNweSh0YisxLCBwbXNnLT5idWYsIHBtc2ctPmxlbik7CisKKwkJZWllaW8oKTsKKwkJc2V0Yml0czE2KCZ0YmRmLT5jYmRfc2MsIEJEX1NDX1JFQURZIHwgQkRfU0NfSU5UUlBUKTsKKwl9Cit9CisKK3N0YXRpYyBpbnQgY3BtX2kyY19jaGVja19tZXNzYWdlKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcCwKKwlzdHJ1Y3QgaTJjX21zZyAqcG1zZywgaW50IHR4LCBpbnQgcngpCit7CisJY2JkX3QgX19pb21lbSAqdGJkZjsKKwljYmRfdCBfX2lvbWVtICpyYmRmOworCXVfY2hhciAqdGI7CisJdV9jaGFyICpyYjsKKwlzdHJ1Y3QgY3BtX2kyYyAqY3BtID0gaTJjX2dldF9hZGFwZGF0YShhZGFwKTsKKworCXRiZGYgPSBjcG0tPnRiYXNlICsgdHg7CisJcmJkZiA9IGNwbS0+cmJhc2UgKyByeDsKKworCXRiID0gY3BtLT50eGJ1Zlt0eF07CisJcmIgPSBjcG0tPnJ4YnVmW3J4XTsKKworCS8qIEFsaWduIHJlYWQgYnVmZmVyICovCisJcmIgPSAodV9jaGFyICopICgoKHVpbnQpIHJiICsgMSkgJiB+MSk7CisKKwllaWVpbygpOworCWlmIChwbXNnLT5mbGFncyAmIEkyQ19NX1JEKSB7CisJCWRldl9kYmcoJmFkYXAtPmRldiwgInR4IHNjIDB4JTA0eCwgcnggc2MgMHglMDR4XG4iLAorCQkJaW5fYmUxNigmdGJkZi0+Y2JkX3NjKSwgaW5fYmUxNigmcmJkZi0+Y2JkX3NjKSk7CisKKwkJaWYgKGluX2JlMTYoJnRiZGYtPmNiZF9zYykgJiBCRF9TQ19OQUspIHsKKwkJCWRldl9kYmcoJmFkYXAtPmRldiwgIkkyQyByZWFkOyBObyBhY2tcbiIpOworCQkJcmV0dXJuIC1FTlhJTzsKKwkJfQorCQlpZiAoaW5fYmUxNigmcmJkZi0+Y2JkX3NjKSAmIEJEX1NDX0VNUFRZKSB7CisJCQlkZXZfZXJyKCZhZGFwLT5kZXYsCisJCQkJIkkyQyByZWFkOyBjb21wbGV0ZSBidXQgcmJ1ZiBlbXB0eVxuIik7CisJCQlyZXR1cm4gLUVSRU1PVEVJTzsKKwkJfQorCQlpZiAoaW5fYmUxNigmcmJkZi0+Y2JkX3NjKSAmIEJEX1NDX09WKSB7CisJCQlkZXZfZXJyKCZhZGFwLT5kZXYsICJJMkMgcmVhZDsgT3ZlcnJ1blxuIik7CisJCQlyZXR1cm4gLUVSRU1PVEVJTzsKKwkJfQorCQltZW1jcHkocG1zZy0+YnVmLCByYiwgcG1zZy0+bGVuKTsKKwl9IGVsc2UgeworCQlkZXZfZGJnKCZhZGFwLT5kZXYsICJ0eCBzYyAlZCAweCUwNHhcbiIsIHR4LAorCQkJaW5fYmUxNigmdGJkZi0+Y2JkX3NjKSk7CisKKwkJaWYgKGluX2JlMTYoJnRiZGYtPmNiZF9zYykgJiBCRF9TQ19OQUspIHsKKwkJCWRldl9kYmcoJmFkYXAtPmRldiwgIkkyQyB3cml0ZTsgTm8gYWNrXG4iKTsKKwkJCXJldHVybiAtRU5YSU87CisJCX0KKwkJaWYgKGluX2JlMTYoJnRiZGYtPmNiZF9zYykgJiBCRF9TQ19VTikgeworCQkJZGV2X2VycigmYWRhcC0+ZGV2LCAiSTJDIHdyaXRlOyBVbmRlcnJ1blxuIik7CisJCQlyZXR1cm4gLUVJTzsKKwkJfQorCQlpZiAoaW5fYmUxNigmdGJkZi0+Y2JkX3NjKSAmIEJEX1NDX0NMKSB7CisJCQlkZXZfZXJyKCZhZGFwLT5kZXYsICJJMkMgd3JpdGU7IENvbGxpc2lvblxuIik7CisJCQlyZXR1cm4gLUVJTzsKKwkJfQorCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjcG1faTJjX3hmZXIoc3RydWN0IGkyY19hZGFwdGVyICphZGFwLCBzdHJ1Y3QgaTJjX21zZyAqbXNncywgaW50IG51bSkKK3sKKwlzdHJ1Y3QgY3BtX2kyYyAqY3BtID0gaTJjX2dldF9hZGFwZGF0YShhZGFwKTsKKwlzdHJ1Y3QgaTJjX3JlZyBfX2lvbWVtICppMmNfcmVnID0gY3BtLT5pMmNfcmVnOworCXN0cnVjdCBpMmNfcmFtIF9faW9tZW0gKmkyY19yYW0gPSBjcG0tPmkyY19yYW07CisJc3RydWN0IGkyY19tc2cgKnBtc2c7CisJaW50IHJldCwgaTsKKwlpbnQgdHB0cjsKKwlpbnQgcnB0cjsKKwljYmRfdCBfX2lvbWVtICp0YmRmOworCWNiZF90IF9faW9tZW0gKnJiZGY7CisKKwlpZiAobnVtID4gQ1BNX01BWEJEKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCS8qIENoZWNrIGlmIHdlIGhhdmUgYW55IG92ZXJzaXplZCBSRUFEIHJlcXVlc3RzICovCisJZm9yIChpID0gMDsgaSA8IG51bTsgaSsrKSB7CisJCXBtc2cgPSAmbXNnc1tpXTsKKwkJaWYgKHBtc2ctPmxlbiA+PSBDUE1fTUFYX1JFQUQpCisJCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwkvKiBSZXNldCB0byB1c2UgZmlyc3QgYnVmZmVyICovCisJb3V0X2JlMTYoJmkyY19yYW0tPnJicHRyLCBpbl9iZTE2KCZpMmNfcmFtLT5yYmFzZSkpOworCW91dF9iZTE2KCZpMmNfcmFtLT50YnB0ciwgaW5fYmUxNigmaTJjX3JhbS0+dGJhc2UpKTsKKworCXRiZGYgPSBjcG0tPnRiYXNlOworCXJiZGYgPSBjcG0tPnJiYXNlOworCisJdHB0ciA9IDA7CisJcnB0ciA9IDA7CisKKwl3aGlsZSAodHB0ciA8IG51bSkgeworCQlwbXNnID0gJm1zZ3NbdHB0cl07CisJCWRldl9kYmcoJmFkYXAtPmRldiwgIlI6ICVkIFQ6ICVkXG4iLCBycHRyLCB0cHRyKTsKKworCQljcG1faTJjX3BhcnNlX21lc3NhZ2UoYWRhcCwgcG1zZywgbnVtLCB0cHRyLCBycHRyKTsKKwkJaWYgKHBtc2ctPmZsYWdzICYgSTJDX01fUkQpCisJCQlycHRyKys7CisJCXRwdHIrKzsKKwl9CisJLyogU3RhcnQgdHJhbnNmZXIgbm93ICovCisJLyogRW5hYmxlIFJYL1RYL0Vycm9yIGludGVydXB0cyAqLworCW91dF84KCZpMmNfcmVnLT5pMmNtciwgSTJDRVJfVFhFIHwgSTJDRVJfVFhCIHwgSTJDRVJfUlhCKTsKKwlvdXRfOCgmaTJjX3JlZy0+aTJjZXIsIDB4ZmYpOwkvKiBDbGVhciBpbnRlcnJ1cHQgc3RhdHVzICovCisJLyogQ2hpcCBidWcsIHNldCBlbmFibGUgaGVyZSAqLworCXNldGJpdHM4KCZpMmNfcmVnLT5pMm1vZCwgSTJNT0RfRU4pOwkvKiBFbmFibGUgKi8KKwkvKiBCZWdpbiB0cmFuc21pc3Npb24gKi8KKwlzZXRiaXRzOCgmaTJjX3JlZy0+aTJjb20sIEkyQ09NX1NUQVJUKTsKKworCXRwdHIgPSAwOworCXJwdHIgPSAwOworCisJd2hpbGUgKHRwdHIgPCBudW0pIHsKKwkJLyogQ2hlY2sgZm9yIG91dHN0YW5kaW5nIG1lc3NhZ2VzICovCisJCWRldl9kYmcoJmFkYXAtPmRldiwgInRlc3QgcmVhZHkuXG4iKTsKKwkJcG1zZyA9ICZtc2dzW3RwdHJdOworCQlpZiAocG1zZy0+ZmxhZ3MgJiBJMkNfTV9SRCkKKwkJCXJldCA9IHdhaXRfZXZlbnRfaW50ZXJydXB0aWJsZV90aW1lb3V0KGNwbS0+aTJjX3dhaXQsCisJCQkJIShpbl9iZTE2KCZyYmRmW3JwdHJdLmNiZF9zYykgJiBCRF9TQ19FTVBUWSksCisJCQkJMSAqIEhaKTsKKwkJZWxzZQorCQkJcmV0ID0gd2FpdF9ldmVudF9pbnRlcnJ1cHRpYmxlX3RpbWVvdXQoY3BtLT5pMmNfd2FpdCwKKwkJCQkhKGluX2JlMTYoJnRiZGZbdHB0cl0uY2JkX3NjKSAmIEJEX1NDX1JFQURZKSwKKwkJCQkxICogSFopOworCQlpZiAocmV0ID09IDApIHsKKwkJCXJldCA9IC1FUkVNT1RFSU87CisJCQlkZXZfZXJyKCZhZGFwLT5kZXYsICJJMkMgdHJhbnNmZXI6IHRpbWVvdXRcbiIpOworCQkJZ290byBvdXRfZXJyOworCQl9CisJCWlmIChyZXQgPiAwKSB7CisJCQlkZXZfZGJnKCZhZGFwLT5kZXYsICJyZWFkeS5cbiIpOworCQkJcmV0ID0gY3BtX2kyY19jaGVja19tZXNzYWdlKGFkYXAsIHBtc2csIHRwdHIsIHJwdHIpOworCQkJdHB0cisrOworCQkJaWYgKHBtc2ctPmZsYWdzICYgSTJDX01fUkQpCisJCQkJcnB0cisrOworCQkJaWYgKHJldCkKKwkJCQlnb3RvIG91dF9lcnI7CisJCX0KKwl9CisjaWZkZWYgSTJDX0NISVBfRVJSQVRBCisJLyoKKwkgKiBDaGlwIGVycmF0YSwgY2xlYXIgZW5hYmxlLiBUaGlzIGlzIG5vdCBuZWVkZWQgb24gcmV2IEQ0IENQVXMuCisJICogRGlzYWJsaW5nIEkyQyB0b28gZWFybHkgbWF5IGNhdXNlIHRvbyBzaG9ydCBzdG9wIGNvbmRpdGlvbgorCSAqLworCXVkZWxheSg0KTsKKwljbHJiaXRzOCgmaTJjX3JlZy0+aTJtb2QsIEkyTU9EX0VOKTsKKyNlbmRpZgorCXJldHVybiAobnVtKTsKKworb3V0X2VycjoKKwljcG1faTJjX2ZvcmNlX2Nsb3NlKGFkYXApOworI2lmZGVmIEkyQ19DSElQX0VSUkFUQQorCS8qCisJICogQ2hpcCBlcnJhdGEsIGNsZWFyIGVuYWJsZS4gVGhpcyBpcyBub3QgbmVlZGVkIG9uIHJldiBENCBDUFVzLgorCSAqLworCWNscmJpdHM4KCZpMmNfcmVnLT5pMm1vZCwgSTJNT0RfRU4pOworI2VuZGlmCisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIHUzMiBjcG1faTJjX2Z1bmMoc3RydWN0IGkyY19hZGFwdGVyICphZGFwKQoreworCXJldHVybiBJMkNfRlVOQ19JMkMgfCAoSTJDX0ZVTkNfU01CVVNfRU1VTCAmIH5JMkNfRlVOQ19TTUJVU19RVUlDSyk7Cit9CisKKy8qIC0tLS0tZXhwb3J0ZWQgYWxnb3JpdGhtIGRhdGE6IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0JKi8KKworc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfYWxnb3JpdGhtIGNwbV9pMmNfYWxnbyA9IHsKKwkubWFzdGVyX3hmZXIgPSBjcG1faTJjX3hmZXIsCisJLmZ1bmN0aW9uYWxpdHkgPSBjcG1faTJjX2Z1bmMsCit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IGkyY19hZGFwdGVyIGNwbV9vcHMgPSB7CisJLm93bmVyCQk9IFRISVNfTU9EVUxFLAorCS5uYW1lCQk9ICJpMmMtY3BtIiwKKwkuYWxnbwkJPSAmY3BtX2kyY19hbGdvLAorCS5jbGFzcwkJPSBJMkNfQ0xBU1NfSFdNT04gfCBJMkNfQ0xBU1NfU1BELAorfTsKKworc3RhdGljIGludCBfX2RldmluaXQgY3BtX2kyY19zZXR1cChzdHJ1Y3QgY3BtX2kyYyAqY3BtKQoreworCXN0cnVjdCBvZl9kZXZpY2UgKm9mZGV2ID0gY3BtLT5vZmRldjsKKwljb25zdCB1MzIgKmRhdGE7CisJaW50IGxlbiwgcmV0LCBpOworCXZvaWQgX19pb21lbSAqaTJjX2Jhc2U7CisJY2JkX3QgX19pb21lbSAqdGJkZjsKKwljYmRfdCBfX2lvbWVtICpyYmRmOworCXVuc2lnbmVkIGNoYXIgYnJnOworCisJZGV2X2RiZygmY3BtLT5vZmRldi0+ZGV2LCAiY3BtX2kyY19zZXR1cCgpXG4iKTsKKworCWluaXRfd2FpdHF1ZXVlX2hlYWQoJmNwbS0+aTJjX3dhaXQpOworCisJY3BtLT5pcnEgPSBvZl9pcnFfdG9fcmVzb3VyY2Uob2ZkZXYtPm5vZGUsIDAsIE5VTEwpOworCWlmIChjcG0tPmlycSA9PSBOT19JUlEpCisJCXJldHVybiAtRUlOVkFMOworCisJLyogSW5zdGFsbCBpbnRlcnJ1cHQgaGFuZGxlci4gKi8KKwlyZXQgPSByZXF1ZXN0X2lycShjcG0tPmlycSwgY3BtX2kyY19pbnRlcnJ1cHQsIDAsICJjcG1faTJjIiwKKwkJCSAgJmNwbS0+YWRhcCk7CisJaWYgKHJldCkKKwkJcmV0dXJuIHJldDsKKworCS8qIEkyQyBwYXJhbWV0ZXIgUkFNICovCisJaTJjX2Jhc2UgPSBvZl9pb21hcChvZmRldi0+bm9kZSwgMSk7CisJaWYgKGkyY19iYXNlID09IE5VTEwpIHsKKwkJcmV0ID0gLUVJTlZBTDsKKwkJZ290byBvdXRfaXJxOworCX0KKworCWlmIChvZl9kZXZpY2VfaXNfY29tcGF0aWJsZShvZmRldi0+bm9kZSwgImZzbCxjcG0xLWkyYyIpKSB7CisKKwkJLyogQ2hlY2sgZm9yIGFuZCB1c2UgYSBtaWNyb2NvZGUgcmVsb2NhdGlvbiBwYXRjaC4gKi8KKwkJY3BtLT5pMmNfcmFtID0gaTJjX2Jhc2U7CisJCWNwbS0+aTJjX2FkZHIgPSBpbl9iZTE2KCZjcG0tPmkyY19yYW0tPnJwYmFzZSk7CisKKwkJLyoKKwkJICogTWF5YmUgc2hvdWxkIHVzZSBjcG1fbXVyYW1fYWxsb2MgaW5zdGVhZCBvZiBoYXJkY29kaW5nCisJCSAqIHRoaXMgaW4gbWljcm9wYXRjaC5jCisJCSAqLworCQlpZiAoY3BtLT5pMmNfYWRkcikgeworCQkJY3BtLT5pMmNfcmFtID0gY3BtX211cmFtX2FkZHIoY3BtLT5pMmNfYWRkcik7CisJCQlpb3VubWFwKGkyY19iYXNlKTsKKwkJfQorCisJCWNwbS0+dmVyc2lvbiA9IDE7CisKKwl9IGVsc2UgaWYgKG9mX2RldmljZV9pc19jb21wYXRpYmxlKG9mZGV2LT5ub2RlLCAiZnNsLGNwbTItaTJjIikpIHsKKwkJY3BtLT5pMmNfYWRkciA9IGNwbV9tdXJhbV9hbGxvYyhzaXplb2Yoc3RydWN0IGkyY19yYW0pLCA2NCk7CisJCWNwbS0+aTJjX3JhbSA9IGNwbV9tdXJhbV9hZGRyKGNwbS0+aTJjX2FkZHIpOworCQlvdXRfYmUxNihpMmNfYmFzZSwgY3BtLT5pMmNfYWRkcik7CisJCWlvdW5tYXAoaTJjX2Jhc2UpOworCisJCWNwbS0+dmVyc2lvbiA9IDI7CisKKwl9IGVsc2UgeworCQlpb3VubWFwKGkyY19iYXNlKTsKKwkJcmV0ID0gLUVJTlZBTDsKKwkJZ290byBvdXRfaXJxOworCX0KKworCS8qIEkyQyBjb250cm9sL3N0YXR1cyByZWdpc3RlcnMgKi8KKwljcG0tPmkyY19yZWcgPSBvZl9pb21hcChvZmRldi0+bm9kZSwgMCk7CisJaWYgKGNwbS0+aTJjX3JlZyA9PSBOVUxMKSB7CisJCXJldCA9IC1FSU5WQUw7CisJCWdvdG8gb3V0X3JhbTsKKwl9CisKKwlkYXRhID0gb2ZfZ2V0X3Byb3BlcnR5KG9mZGV2LT5ub2RlLCAiZnNsLGNwbS1jb21tYW5kIiwgJmxlbik7CisJaWYgKCFkYXRhIHx8IGxlbiAhPSA0KSB7CisJCXJldCA9IC1FSU5WQUw7CisJCWdvdG8gb3V0X3JlZzsKKwl9CisJY3BtLT5jcF9jb21tYW5kID0gKmRhdGE7CisKKwlkYXRhID0gb2ZfZ2V0X3Byb3BlcnR5KG9mZGV2LT5ub2RlLCAibGludXgsaTJjLWNsYXNzIiwgJmxlbik7CisJaWYgKGRhdGEgJiYgbGVuID09IDQpCisJCWNwbS0+YWRhcC5jbGFzcyA9ICpkYXRhOworCisJZGF0YSA9IG9mX2dldF9wcm9wZXJ0eShvZmRldi0+bm9kZSwgImNsb2NrLWZyZXF1ZW5jeSIsICZsZW4pOworCWlmIChkYXRhICYmIGxlbiA9PSA0KQorCQljcG0tPmZyZXEgPSAqZGF0YTsKKwllbHNlCisJCWNwbS0+ZnJlcSA9IDYwMDAwOyAvKiB1c2UgNjBrSHogaTJjIGNsb2NrIGJ5IGRlZmF1bHQgKi8KKworCS8qCisJICogQWxsb2NhdGUgc3BhY2UgZm9yIENQTV9NQVhCRCB0cmFuc21pdCBhbmQgcmVjZWl2ZSBidWZmZXIKKwkgKiBkZXNjcmlwdG9ycyBpbiB0aGUgRFAgcmFtLgorCSAqLworCWNwbS0+ZHBfYWRkciA9IGNwbV9tdXJhbV9hbGxvYyhzaXplb2YoY2JkX3QpICogMiAqIENQTV9NQVhCRCwgOCk7CisJaWYgKCFjcG0tPmRwX2FkZHIpIHsKKwkJcmV0ID0gLUVOT01FTTsKKwkJZ290byBvdXRfcmVnOworCX0KKworCWNwbS0+dGJhc2UgPSBjcG1fbXVyYW1fYWRkcihjcG0tPmRwX2FkZHIpOworCWNwbS0+cmJhc2UgPSBjcG1fbXVyYW1fYWRkcihjcG0tPmRwX2FkZHIgKyBzaXplb2YoY2JkX3QpICogQ1BNX01BWEJEKTsKKworCS8qIEFsbG9jYXRlIFRYIGFuZCBSWCBidWZmZXJzICovCisKKwl0YmRmID0gY3BtLT50YmFzZTsKKwlyYmRmID0gY3BtLT5yYmFzZTsKKworCWZvciAoaSA9IDA7IGkgPCBDUE1fTUFYQkQ7IGkrKykgeworCQljcG0tPnJ4YnVmW2ldID0gZG1hX2FsbG9jX2NvaGVyZW50KAorCQkJTlVMTCwgQ1BNX01BWF9SRUFEICsgMSwgJmNwbS0+cnhkbWFbaV0sIEdGUF9LRVJORUwpOworCQlpZiAoIWNwbS0+cnhidWZbaV0pIHsKKwkJCXJldCA9IC1FTk9NRU07CisJCQlnb3RvIG91dF9tdXJhbTsKKwkJfQorCQlvdXRfYmUzMigmcmJkZltpXS5jYmRfYnVmYWRkciwgKChjcG0tPnJ4ZG1hW2ldICsgMSkgJiB+MSkpOworCisJCWNwbS0+dHhidWZbaV0gPSAodW5zaWduZWQgY2hhciAqKWRtYV9hbGxvY19jb2hlcmVudCgKKwkJCU5VTEwsIENQTV9NQVhfUkVBRCArIDEsICZjcG0tPnR4ZG1hW2ldLCBHRlBfS0VSTkVMKTsKKwkJaWYgKCFjcG0tPnR4YnVmW2ldKSB7CisJCQlyZXQgPSAtRU5PTUVNOworCQkJZ290byBvdXRfbXVyYW07CisJCX0KKwkJb3V0X2JlMzIoJnRiZGZbaV0uY2JkX2J1ZmFkZHIsIGNwbS0+dHhkbWFbaV0pOworCX0KKworCS8qIEluaXRpYWxpemUgVHgvUnggcGFyYW1ldGVycy4gKi8KKworCWNwbV9yZXNldF9pMmNfcGFyYW1zKGNwbSk7CisKKwlkZXZfZGJnKCZjcG0tPm9mZGV2LT5kZXYsICJpMmNfcmFtIDB4JXAsIGkyY19hZGRyIDB4JTA0eCwgZnJlcSAlZFxuIiwKKwkJY3BtLT5pMmNfcmFtLCBjcG0tPmkyY19hZGRyLCBjcG0tPmZyZXEpOworCWRldl9kYmcoJmNwbS0+b2ZkZXYtPmRldiwgInRiYXNlIDB4JTA0eCwgcmJhc2UgMHglMDR4XG4iLAorCQkodTggX19pb21lbSAqKWNwbS0+dGJhc2UgLSBEUFJBTV9CQVNFLAorCQkodTggX19pb21lbSAqKWNwbS0+cmJhc2UgLSBEUFJBTV9CQVNFKTsKKworCWNwbV9jb21tYW5kKGNwbS0+Y3BfY29tbWFuZCwgQ1BNX0NSX0lOSVRfVFJYKTsKKworCS8qCisJICogU2VsZWN0IGFuIGludmFsaWQgYWRkcmVzcy4gSnVzdCBtYWtlIHN1cmUgd2UgZG9uJ3QgdXNlIGxvb3BiYWNrIG1vZGUKKwkgKi8KKwlvdXRfOCgmY3BtLT5pMmNfcmVnLT5pMmFkZCwgMHg3ZiA8PCAxKTsKKworCS8qCisJICogUERJViBpcyBzZXQgdG8gMDAgaW4gaTJtb2QsIHNvIGJyZ2Nsay8zMiBpcyB1c2VkIGFzIGlucHV0IHRvIHRoZQorCSAqIGkyYyBiYXVkIHJhdGUgZ2VuZXJhdG9yLiBUaGlzIGlzIGRpdmlkZWQgYnkgMiB4IChESVYgKyAzKSB0byBnZXQKKwkgKiB0aGUgYWN0dWFsIGkyYyBidXMgZnJlcXVlbmN5LgorCSAqLworCWJyZyA9IGdldF9icmdmcmVxKCkgLyAoMzIgKiAyICogY3BtLT5mcmVxKSAtIDM7CisJb3V0XzgoJmNwbS0+aTJjX3JlZy0+aTJicmcsIGJyZyk7CisKKwlvdXRfOCgmY3BtLT5pMmNfcmVnLT5pMm1vZCwgMHgwMCk7CisJb3V0XzgoJmNwbS0+aTJjX3JlZy0+aTJjb20sIEkyQ09NX01BU1RFUik7CS8qIE1hc3RlciBtb2RlICovCisKKwkvKiBEaXNhYmxlIGludGVycnVwdHMuICovCisJb3V0XzgoJmNwbS0+aTJjX3JlZy0+aTJjbXIsIDApOworCW91dF84KCZjcG0tPmkyY19yZWctPmkyY2VyLCAweGZmKTsKKworCXJldHVybiAwOworCitvdXRfbXVyYW06CisJZm9yIChpID0gMDsgaSA8IENQTV9NQVhCRDsgaSsrKSB7CisJCWlmIChjcG0tPnJ4YnVmW2ldKQorCQkJZG1hX2ZyZWVfY29oZXJlbnQoTlVMTCwgQ1BNX01BWF9SRUFEICsgMSwKKwkJCQljcG0tPnJ4YnVmW2ldLCBjcG0tPnJ4ZG1hW2ldKTsKKwkJaWYgKGNwbS0+dHhidWZbaV0pCisJCQlkbWFfZnJlZV9jb2hlcmVudChOVUxMLCBDUE1fTUFYX1JFQUQgKyAxLAorCQkJCWNwbS0+dHhidWZbaV0sIGNwbS0+dHhkbWFbaV0pOworCX0KKwljcG1fbXVyYW1fZnJlZShjcG0tPmRwX2FkZHIpOworb3V0X3JlZzoKKwlpb3VubWFwKGNwbS0+aTJjX3JlZyk7CitvdXRfcmFtOgorCWlmICgoY3BtLT52ZXJzaW9uID09IDEpICYmICghY3BtLT5pMmNfYWRkcikpCisJCWlvdW5tYXAoY3BtLT5pMmNfcmFtKTsKKwlpZiAoY3BtLT52ZXJzaW9uID09IDIpCisJCWNwbV9tdXJhbV9mcmVlKGNwbS0+aTJjX2FkZHIpOworb3V0X2lycToKKwlmcmVlX2lycShjcG0tPmlycSwgJmNwbS0+YWRhcCk7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIHZvaWQgY3BtX2kyY19zaHV0ZG93bihzdHJ1Y3QgY3BtX2kyYyAqY3BtKQoreworCWludCBpOworCisJLyogU2h1dCBkb3duIEkyQy4gKi8KKwljbHJiaXRzOCgmY3BtLT5pMmNfcmVnLT5pMm1vZCwgSTJNT0RfRU4pOworCisJLyogRGlzYWJsZSBpbnRlcnJ1cHRzICovCisJb3V0XzgoJmNwbS0+aTJjX3JlZy0+aTJjbXIsIDApOworCW91dF84KCZjcG0tPmkyY19yZWctPmkyY2VyLCAweGZmKTsKKworCWZyZWVfaXJxKGNwbS0+aXJxLCAmY3BtLT5hZGFwKTsKKworCS8qIEZyZWUgYWxsIG1lbW9yeSAqLworCWZvciAoaSA9IDA7IGkgPCBDUE1fTUFYQkQ7IGkrKykgeworCQlkbWFfZnJlZV9jb2hlcmVudChOVUxMLCBDUE1fTUFYX1JFQUQgKyAxLAorCQkJY3BtLT5yeGJ1ZltpXSwgY3BtLT5yeGRtYVtpXSk7CisJCWRtYV9mcmVlX2NvaGVyZW50KE5VTEwsIENQTV9NQVhfUkVBRCArIDEsCisJCQljcG0tPnR4YnVmW2ldLCBjcG0tPnR4ZG1hW2ldKTsKKwl9CisKKwljcG1fbXVyYW1fZnJlZShjcG0tPmRwX2FkZHIpOworCWlvdW5tYXAoY3BtLT5pMmNfcmVnKTsKKworCWlmICgoY3BtLT52ZXJzaW9uID09IDEpICYmICghY3BtLT5pMmNfYWRkcikpCisJCWlvdW5tYXAoY3BtLT5pMmNfcmFtKTsKKwlpZiAoY3BtLT52ZXJzaW9uID09IDIpCisJCWNwbV9tdXJhbV9mcmVlKGNwbS0+aTJjX2FkZHIpOworfQorCitzdGF0aWMgaW50IF9fZGV2aW5pdCBjcG1faTJjX3Byb2JlKHN0cnVjdCBvZl9kZXZpY2UgKm9mZGV2LAorCQkJIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgKm1hdGNoKQoreworCWludCByZXN1bHQsIGxlbjsKKwlzdHJ1Y3QgY3BtX2kyYyAqY3BtOworCWNvbnN0IHUzMiAqZGF0YTsKKworCWNwbSA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBjcG1faTJjKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFjcG0pCisJCXJldHVybiAtRU5PTUVNOworCisJY3BtLT5vZmRldiA9IG9mZGV2OworCisJZGV2X3NldF9kcnZkYXRhKCZvZmRldi0+ZGV2LCBjcG0pOworCisJY3BtLT5hZGFwID0gY3BtX29wczsKKwlpMmNfc2V0X2FkYXBkYXRhKCZjcG0tPmFkYXAsIGNwbSk7CisJY3BtLT5hZGFwLmRldi5wYXJlbnQgPSAmb2ZkZXYtPmRldjsKKworCXJlc3VsdCA9IGNwbV9pMmNfc2V0dXAoY3BtKTsKKwlpZiAocmVzdWx0KSB7CisJCWRldl9lcnIoJm9mZGV2LT5kZXYsICJVbmFibGUgdG8gaW5pdCBoYXJkd2FyZVxuIik7CisJCWdvdG8gb3V0X2ZyZWU7CisJfQorCisJLyogcmVnaXN0ZXIgbmV3IGFkYXB0ZXIgdG8gaTJjIG1vZHVsZS4uLiAqLworCisJZGF0YSA9IG9mX2dldF9wcm9wZXJ0eShvZmRldi0+bm9kZSwgImxpbnV4LGkyYy1pbmRleCIsICZsZW4pOworCWlmIChkYXRhICYmIGxlbiA9PSA0KSB7CisJCWNwbS0+YWRhcC5uciA9ICpkYXRhOworCQlyZXN1bHQgPSBpMmNfYWRkX251bWJlcmVkX2FkYXB0ZXIoJmNwbS0+YWRhcCk7CisJfSBlbHNlCisJCXJlc3VsdCA9IGkyY19hZGRfYWRhcHRlcigmY3BtLT5hZGFwKTsKKworCWlmIChyZXN1bHQgPCAwKSB7CisJCWRldl9lcnIoJm9mZGV2LT5kZXYsICJVbmFibGUgdG8gcmVnaXN0ZXIgd2l0aCBJMkNcbiIpOworCQlnb3RvIG91dF9zaHV0OworCX0KKworCWRldl9kYmcoJm9mZGV2LT5kZXYsICJodyByb3V0aW5lcyBmb3IgJXMgcmVnaXN0ZXJlZC5cbiIsCisJCWNwbS0+YWRhcC5uYW1lKTsKKworCS8qCisJICogcmVnaXN0ZXIgT0YgSTJDIGRldmljZXMKKwkgKi8KKwlvZl9yZWdpc3Rlcl9pMmNfZGV2aWNlcygmY3BtLT5hZGFwLCBvZmRldi0+bm9kZSk7CisKKwlyZXR1cm4gMDsKK291dF9zaHV0OgorCWNwbV9pMmNfc2h1dGRvd24oY3BtKTsKK291dF9mcmVlOgorCWRldl9zZXRfZHJ2ZGF0YSgmb2ZkZXYtPmRldiwgTlVMTCk7CisJa2ZyZWUoY3BtKTsKKworCXJldHVybiByZXN1bHQ7Cit9CisKK3N0YXRpYyBpbnQgX19kZXZleGl0IGNwbV9pMmNfcmVtb3ZlKHN0cnVjdCBvZl9kZXZpY2UgKm9mZGV2KQoreworCXN0cnVjdCBjcG1faTJjICpjcG0gPSBkZXZfZ2V0X2RydmRhdGEoJm9mZGV2LT5kZXYpOworCisJaTJjX2RlbF9hZGFwdGVyKCZjcG0tPmFkYXApOworCisJY3BtX2kyY19zaHV0ZG93bihjcG0pOworCisJZGV2X3NldF9kcnZkYXRhKCZvZmRldi0+ZGV2LCBOVUxMKTsKKwlrZnJlZShjcG0pOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIGNwbV9pMmNfbWF0Y2hbXSA9IHsKKwl7CisJCS5jb21wYXRpYmxlID0gImZzbCxjcG0xLWkyYyIsCisJfSwKKwl7CisJCS5jb21wYXRpYmxlID0gImZzbCxjcG0yLWkyYyIsCisJfSwKKwl7fSwKK307CisKK01PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIGNwbV9pMmNfbWF0Y2gpOworCitzdGF0aWMgc3RydWN0IG9mX3BsYXRmb3JtX2RyaXZlciBjcG1faTJjX2RyaXZlciA9IHsKKwkubWF0Y2hfdGFibGUJPSBjcG1faTJjX21hdGNoLAorCS5wcm9iZQkJPSBjcG1faTJjX3Byb2JlLAorCS5yZW1vdmUJCT0gX19kZXZleGl0X3AoY3BtX2kyY19yZW1vdmUpLAorCS5kcml2ZXIJCT0geworCQkubmFtZQk9ICJmc2wtaTJjLWNwbSIsCisJCS5vd25lcgk9IFRISVNfTU9EVUxFLAorCX0KK307CisKK3N0YXRpYyBpbnQgX19pbml0IGNwbV9pMmNfaW5pdCh2b2lkKQoreworCXJldHVybiBvZl9yZWdpc3Rlcl9wbGF0Zm9ybV9kcml2ZXIoJmNwbV9pMmNfZHJpdmVyKTsKK30KKworc3RhdGljIHZvaWQgX19leGl0IGNwbV9pMmNfZXhpdCh2b2lkKQoreworCW9mX3VucmVnaXN0ZXJfcGxhdGZvcm1fZHJpdmVyKCZjcG1faTJjX2RyaXZlcik7Cit9CisKK21vZHVsZV9pbml0KGNwbV9pMmNfaW5pdCk7Cittb2R1bGVfZXhpdChjcG1faTJjX2V4aXQpOworCitNT0RVTEVfQVVUSE9SKCJKb2NoZW4gRnJpZWRyaWNoIDxqb2NoZW5Ac2NyYW0uZGU+Iik7CitNT0RVTEVfREVTQ1JJUFRJT04oIkkyQy1CdXMgYWRhcHRlciByb3V0aW5lcyBmb3IgQ1BNIGJvYXJkcyIpOworTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1kYXZpbmNpLmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWRhdmluY2kuYwppbmRleCA3ZWNiZmM0Li5hZjM4NDZlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWRhdmluY2kuYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWRhdmluY2kuYwpAQCAtODUsNiArODUsNyBAQAogI2RlZmluZSBEQVZJTkNJX0kyQ19NRFJfTVNUCSgxIDw8IDEwKQogI2RlZmluZSBEQVZJTkNJX0kyQ19NRFJfVFJYCSgxIDw8IDkpCiAjZGVmaW5lIERBVklOQ0lfSTJDX01EUl9YQQkoMSA8PCA4KQorI2RlZmluZSBEQVZJTkNJX0kyQ19NRFJfUk0JKDEgPDwgNykKICNkZWZpbmUgREFWSU5DSV9JMkNfTURSX0lSUwkoMSA8PCA1KQogCiAjZGVmaW5lIERBVklOQ0lfSTJDX0lNUl9BQVMJKDEgPDwgNikKQEAgLTExMiw2ICsxMTMsNyBAQAogCXU4CQkJKmJ1ZjsKIAlzaXplX3QJCQlidWZfbGVuOwogCWludAkJCWlycTsKKwl1OAkJCXRlcm1pbmF0ZTsKIAlzdHJ1Y3QgaTJjX2FkYXB0ZXIJYWRhcHRlcjsKIH07CiAKQEAgLTE0Miw2ICsxNDQsNyBAQAogCXN0cnVjdCBkYXZpbmNpX2kyY19wbGF0Zm9ybV9kYXRhICpwZGF0YSA9IGRldi0+ZGV2LT5wbGF0Zm9ybV9kYXRhOwogCXUxNiBwc2M7CiAJdTMyIGNsazsKKwl1MzIgZDsKIAl1MzIgY2xraDsKIAl1MzIgY2xrbDsKIAl1MzIgaW5wdXRfY2xvY2sgPSBjbGtfZ2V0X3JhdGUoZGV2LT5jbGspOwpAQCAtMTcxLDIzICsxNzQsMjkgQEAKIAkgKiAgICAgICBpZiBQU0MgPiAxICwgZCA9IDUKIAkgKi8KIAotCXBzYyA9IDI2OyAvKiBUbyBnZXQgMU1IeiBjbG9jayAqLworCS8qIGdldCBtaW5pbXVtIG9mIDcgTUh6IGNsb2NrLCBidXQgbWF4IG9mIDEyIE1IeiAqLworCXBzYyA9IChpbnB1dF9jbG9jayAvIDcwMDAwMDApIC0gMTsKKwlpZiAoKGlucHV0X2Nsb2NrIC8gKHBzYyArIDEpKSA+IDEyMDAwMDAwKQorCQlwc2MrKzsJLyogYmV0dGVyIHRvIHJ1biB1bmRlciBzcGVjIHRoYW4gb3ZlciAqLworCWQgPSAocHNjID49IDIpID8gNSA6IDcgLSBwc2M7CiAKLQljbGsgPSAoKGlucHV0X2Nsb2NrIC8gKHBzYyArIDEpKSAvIChwZGF0YS0+YnVzX2ZyZXEgKiAxMDAwKSkgLSAxMDsKLQljbGtoID0gKDUwICogY2xrKSAvIDEwMDsKKwljbGsgPSAoKGlucHV0X2Nsb2NrIC8gKHBzYyArIDEpKSAvIChwZGF0YS0+YnVzX2ZyZXEgKiAxMDAwKSkgLSAoZCA8PCAxKTsKKwljbGtoID0gY2xrID4+IDE7CiAJY2xrbCA9IGNsayAtIGNsa2g7CiAKIAlkYXZpbmNpX2kyY193cml0ZV9yZWcoZGV2LCBEQVZJTkNJX0kyQ19QU0NfUkVHLCBwc2MpOwogCWRhdmluY2lfaTJjX3dyaXRlX3JlZyhkZXYsIERBVklOQ0lfSTJDX0NMS0hfUkVHLCBjbGtoKTsKIAlkYXZpbmNpX2kyY193cml0ZV9yZWcoZGV2LCBEQVZJTkNJX0kyQ19DTEtMX1JFRywgY2xrbCk7CiAKLQlkZXZfZGJnKGRldi0+ZGV2LCAiQ0xLICA9ICVkXG4iLCBjbGspOworCWRldl9kYmcoZGV2LT5kZXYsICJpbnB1dF9jbG9jayA9ICVkLCBDTEsgPSAlZFxuIiwgaW5wdXRfY2xvY2ssIGNsayk7CiAJZGV2X2RiZyhkZXYtPmRldiwgIlBTQyAgPSAlZFxuIiwKIAkJZGF2aW5jaV9pMmNfcmVhZF9yZWcoZGV2LCBEQVZJTkNJX0kyQ19QU0NfUkVHKSk7CiAJZGV2X2RiZyhkZXYtPmRldiwgIkNMS0wgPSAlZFxuIiwKIAkJZGF2aW5jaV9pMmNfcmVhZF9yZWcoZGV2LCBEQVZJTkNJX0kyQ19DTEtMX1JFRykpOwogCWRldl9kYmcoZGV2LT5kZXYsICJDTEtIID0gJWRcbiIsCiAJCWRhdmluY2lfaTJjX3JlYWRfcmVnKGRldiwgREFWSU5DSV9JMkNfQ0xLSF9SRUcpKTsKKwlkZXZfZGJnKGRldi0+ZGV2LCAiYnVzX2ZyZXEgPSAlZGtIeiwgYnVzX2RlbGF5ID0gJWRcbiIsCisJCXBkYXRhLT5idXNfZnJlcSwgcGRhdGEtPmJ1c19kZWxheSk7CiAKIAkvKiBUYWtlIHRoZSBJMkMgbW9kdWxlIG91dCBvZiByZXNldDogKi8KIAl3ID0gZGF2aW5jaV9pMmNfcmVhZF9yZWcoZGV2LCBEQVZJTkNJX0kyQ19NRFJfUkVHKTsKQEAgLTIzMyw3ICsyNDIsNiBAQAogCXN0cnVjdCBkYXZpbmNpX2kyY19kZXYgKmRldiA9IGkyY19nZXRfYWRhcGRhdGEoYWRhcCk7CiAJc3RydWN0IGRhdmluY2lfaTJjX3BsYXRmb3JtX2RhdGEgKnBkYXRhID0gZGV2LT5kZXYtPnBsYXRmb3JtX2RhdGE7CiAJdTMyIGZsYWc7Ci0JdTMyIHN0YXQ7CiAJdTE2IHc7CiAJaW50IHI7CiAKQEAgLTI1NCwxMiArMjYyLDkgQEAKIAogCWRhdmluY2lfaTJjX3dyaXRlX3JlZyhkZXYsIERBVklOQ0lfSTJDX0NOVF9SRUcsIGRldi0+YnVmX2xlbik7CiAKLQlpbml0X2NvbXBsZXRpb24oJmRldi0+Y21kX2NvbXBsZXRlKTsKKwlJTklUX0NPTVBMRVRJT04oZGV2LT5jbWRfY29tcGxldGUpOwogCWRldi0+Y21kX2VyciA9IDA7CiAKLQkvKiBDbGVhciBhbnkgcGVuZGluZyBpbnRlcnJ1cHRzIGJ5IHJlYWRpbmcgdGhlIElWUiAqLwotCXN0YXQgPSBkYXZpbmNpX2kyY19yZWFkX3JlZyhkZXYsIERBVklOQ0lfSTJDX0lWUl9SRUcpOwotCiAJLyogVGFrZSBJMkMgb3V0IG9mIHJlc2V0LCBjb25maWd1cmUgaXQgYXMgbWFzdGVyIGFuZCBzZXQgdGhlCiAJICogc3RhcnQgYml0ICovCiAJZmxhZyA9IERBVklOQ0lfSTJDX01EUl9JUlMgfCBEQVZJTkNJX0kyQ19NRFJfTVNUIHwgREFWSU5DSV9JMkNfTURSX1NUVDsKQEAgLTI4MCwyMCArMjg1LDM0IEBACiAJCU1PRF9SRUdfQklUKHcsIERBVklOQ0lfSTJDX0lNUl9YUkRZLCAxKTsKIAlkYXZpbmNpX2kyY193cml0ZV9yZWcoZGV2LCBEQVZJTkNJX0kyQ19JTVJfUkVHLCB3KTsKIAorCWRldi0+dGVybWluYXRlID0gMDsKIAkvKiB3cml0ZSB0aGUgZGF0YSBpbnRvIG1vZGUgcmVnaXN0ZXIgKi8KIAlkYXZpbmNpX2kyY193cml0ZV9yZWcoZGV2LCBEQVZJTkNJX0kyQ19NRFJfUkVHLCBmbGFnKTsKIAogCXIgPSB3YWl0X2Zvcl9jb21wbGV0aW9uX2ludGVycnVwdGlibGVfdGltZW91dCgmZGV2LT5jbWRfY29tcGxldGUsCiAJCQkJCQkgICAgICBEQVZJTkNJX0kyQ19USU1FT1VUKTsKLQlkZXYtPmJ1Zl9sZW4gPSAwOwotCWlmIChyIDwgMCkKLQkJcmV0dXJuIHI7Ci0KIAlpZiAociA9PSAwKSB7CiAJCWRldl9lcnIoZGV2LT5kZXYsICJjb250cm9sbGVyIHRpbWVkIG91dFxuIik7CiAJCWkyY19kYXZpbmNpX2luaXQoZGV2KTsKKwkJZGV2LT5idWZfbGVuID0gMDsKIAkJcmV0dXJuIC1FVElNRURPVVQ7CiAJfQorCWlmIChkZXYtPmJ1Zl9sZW4pIHsKKwkJLyogVGhpcyBzaG91bGQgYmUgMCBpZiBhbGwgYnl0ZXMgd2VyZSB0cmFuc2ZlcnJlZAorCQkgKiBvciBkZXYtPmNtZF9lcnIgZGVub3RlcyBhbiBlcnJvci4KKwkJICogQSBzaWduYWwgbWF5IGhhdmUgYWJvcnRlZCB0aGUgdHJhbnNmZXIuCisJCSAqLworCQlpZiAociA+PSAwKSB7CisJCQlkZXZfZXJyKGRldi0+ZGV2LCAiYWJub3JtYWwgdGVybWluYXRpb24gYnVmX2xlbj0laVxuIiwKKwkJCQlkZXYtPmJ1Zl9sZW4pOworCQkJciA9IC1FUkVNT1RFSU87CisJCX0KKwkJZGV2LT50ZXJtaW5hdGUgPSAxOworCQl3bWIoKTsKKwkJZGV2LT5idWZfbGVuID0gMDsKKwl9CisJaWYgKHIgPCAwKQorCQlyZXR1cm4gcjsKIAogCS8qIG5vIGVycm9yICovCiAJaWYgKGxpa2VseSghZGV2LT5jbWRfZXJyKSkKQEAgLTMzOCwxMiArMzU3LDExIEBACiAKIAlmb3IgKGkgPSAwOyBpIDwgbnVtOyBpKyspIHsKIAkJcmV0ID0gaTJjX2RhdmluY2lfeGZlcl9tc2coYWRhcCwgJm1zZ3NbaV0sIChpID09IChudW0gLSAxKSkpOworCQlkZXZfZGJnKGRldi0+ZGV2LCAiJXMgWyVkLyVkXSByZXQ6ICVkXG4iLCBfX2Z1bmNfXywgaSArIDEsIG51bSwKKwkJCXJldCk7CiAJCWlmIChyZXQgPCAwKQogCQkJcmV0dXJuIHJldDsKIAl9Ci0KLQlkZXZfZGJnKGRldi0+ZGV2LCAiJXM6JWQgcmV0OiAlZFxuIiwgX19mdW5jX18sIF9fTElORV9fLCByZXQpOwotCiAJcmV0dXJuIG51bTsKIH0KIApAQCAtMzUyLDYgKzM3MCwyNyBAQAogCXJldHVybiBJMkNfRlVOQ19JMkMgfCAoSTJDX0ZVTkNfU01CVVNfRU1VTCAmIH5JMkNfRlVOQ19TTUJVU19RVUlDSyk7CiB9CiAKK3N0YXRpYyB2b2lkIHRlcm1pbmF0ZV9yZWFkKHN0cnVjdCBkYXZpbmNpX2kyY19kZXYgKmRldikKK3sKKwl1MTYgdyA9IGRhdmluY2lfaTJjX3JlYWRfcmVnKGRldiwgREFWSU5DSV9JMkNfTURSX1JFRyk7CisJdyB8PSBEQVZJTkNJX0kyQ19NRFJfTkFDSzsKKwlkYXZpbmNpX2kyY193cml0ZV9yZWcoZGV2LCBEQVZJTkNJX0kyQ19NRFJfUkVHLCB3KTsKKworCS8qIFRocm93IGF3YXkgZGF0YSAqLworCWRhdmluY2lfaTJjX3JlYWRfcmVnKGRldiwgREFWSU5DSV9JMkNfRFJSX1JFRyk7CisJaWYgKCFkZXYtPnRlcm1pbmF0ZSkKKwkJZGV2X2VycihkZXYtPmRldiwgIlJEUiBJUlEgd2hpbGUgbm8gZGF0YSByZXF1ZXN0ZWRcbiIpOworfQorc3RhdGljIHZvaWQgdGVybWluYXRlX3dyaXRlKHN0cnVjdCBkYXZpbmNpX2kyY19kZXYgKmRldikKK3sKKwl1MTYgdyA9IGRhdmluY2lfaTJjX3JlYWRfcmVnKGRldiwgREFWSU5DSV9JMkNfTURSX1JFRyk7CisJdyB8PSBEQVZJTkNJX0kyQ19NRFJfUk0gfCBEQVZJTkNJX0kyQ19NRFJfU1RQOworCWRhdmluY2lfaTJjX3dyaXRlX3JlZyhkZXYsIERBVklOQ0lfSTJDX01EUl9SRUcsIHcpOworCisJaWYgKCFkZXYtPnRlcm1pbmF0ZSkKKwkJZGV2X2VycihkZXYtPmRldiwgIlREUiBJUlEgd2hpbGUgbm8gZGF0YSB0byBzZW5kXG4iKTsKK30KKwogLyoKICAqIEludGVycnVwdCBzZXJ2aWNlIHJvdXRpbmUuIFRoaXMgZ2V0cyBjYWxsZWQgd2hlbmV2ZXIgYW4gSTJDIGludGVycnVwdAogICogb2NjdXJzLgpAQCAtMzcyLDEyICs0MTEsMTUgQEAKIAogCQlzd2l0Y2ggKHN0YXQpIHsKIAkJY2FzZSBEQVZJTkNJX0kyQ19JVlJfQUw6CisJCQkvKiBBcmJpdHJhdGlvbiBsb3N0LCBtdXN0IHJldHJ5ICovCiAJCQlkZXYtPmNtZF9lcnIgfD0gREFWSU5DSV9JMkNfU1RSX0FMOworCQkJZGV2LT5idWZfbGVuID0gMDsKIAkJCWNvbXBsZXRlKCZkZXYtPmNtZF9jb21wbGV0ZSk7CiAJCQlicmVhazsKIAogCQljYXNlIERBVklOQ0lfSTJDX0lWUl9OQUNLOgogCQkJZGV2LT5jbWRfZXJyIHw9IERBVklOQ0lfSTJDX1NUUl9OQUNLOworCQkJZGV2LT5idWZfbGVuID0gMDsKIAkJCWNvbXBsZXRlKCZkZXYtPmNtZF9jb21wbGV0ZSk7CiAJCQlicmVhazsKIApAQCAtMzk5LDkgKzQ0MSwxMCBAQAogCQkJCWRhdmluY2lfaTJjX3dyaXRlX3JlZyhkZXYsCiAJCQkJCURBVklOQ0lfSTJDX1NUUl9SRUcsCiAJCQkJCURBVklOQ0lfSTJDX0lNUl9SUkRZKTsKLQkJCX0gZWxzZQotCQkJCWRldl9lcnIoZGV2LT5kZXYsICJSRFIgSVJRIHdoaWxlIG5vICIKLQkJCQkJImRhdGEgcmVxdWVzdGVkXG4iKTsKKwkJCX0gZWxzZSB7CisJCQkJLyogc2lnbmFsIGNhbiB0ZXJtaW5hdGUgdHJhbnNmZXIgKi8KKwkJCQl0ZXJtaW5hdGVfcmVhZChkZXYpOworCQkJfQogCQkJYnJlYWs7CiAKIAkJY2FzZSBEQVZJTkNJX0kyQ19JVlJfWFJEWToKQEAgLTQxOCw5ICs0NjEsMTAgQEAKIAkJCQlkYXZpbmNpX2kyY193cml0ZV9yZWcoZGV2LAogCQkJCQkJICAgICAgREFWSU5DSV9JMkNfSU1SX1JFRywKIAkJCQkJCSAgICAgIHcpOwotCQkJfSBlbHNlCi0JCQkJZGV2X2VycihkZXYtPmRldiwgIlREUiBJUlEgd2hpbGUgbm8gZGF0YSB0byAiCi0JCQkJCSJzZW5kXG4iKTsKKwkJCX0gZWxzZSB7CisJCQkJLyogc2lnbmFsIGNhbiB0ZXJtaW5hdGUgdHJhbnNmZXIgKi8KKwkJCQl0ZXJtaW5hdGVfd3JpdGUoZGV2KTsKKwkJCX0KIAkJCWJyZWFrOwogCiAJCWNhc2UgREFWSU5DSV9JMkNfSVZSX1NDRDoKQEAgLTQ3NSw2ICs1MTksNyBAQAogCQlnb3RvIGVycl9yZWxlYXNlX3JlZ2lvbjsKIAl9CiAKKwlpbml0X2NvbXBsZXRpb24oJmRldi0+Y21kX2NvbXBsZXRlKTsKIAlkZXYtPmRldiA9IGdldF9kZXZpY2UoJnBkZXYtPmRldik7CiAJZGV2LT5pcnEgPSBpcnEtPnN0YXJ0OwogCXBsYXRmb3JtX3NldF9kcnZkYXRhKHBkZXYsIGRldik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWVsZWt0b3IuYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtZWxla3Rvci5jCmluZGV4IGI3YTk5NzcuLjdmMzhjMDEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtZWxla3Rvci5jCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtZWxla3Rvci5jCkBAIC0xOTYsMTMgKzE5NiwxMSBAQAogCS5nZXRvd24JICAgID0gcGNmX2lzYV9nZXRvd24sCiAJLmdldGNsb2NrICAgPSBwY2ZfaXNhX2dldGNsb2NrLAogCS53YWl0Zm9ycGluID0gcGNmX2lzYV93YWl0Zm9ycGluLAotCS51ZGVsYXkJICAgID0gMTAsCi0JLnRpbWVvdXQgICAgPSAxMDAsCiB9OwogCiBzdGF0aWMgc3RydWN0IGkyY19hZGFwdGVyIHBjZl9pc2Ffb3BzID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKLQkuY2xhc3MJCT0gSTJDX0NMQVNTX0hXTU9OLAorCS5jbGFzcwkJPSBJMkNfQ0xBU1NfSFdNT04gfCBJMkNfQ0xBU1NfU1BELAogCS5pZAkJPSBJMkNfSFdfUF9FTEVLLAogCS5hbGdvX2RhdGEJPSAmcGNmX2lzYV9kYXRhLAogCS5uYW1lCQk9ICJpMmMtZWxla3RvciIsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWdwaW8uYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtZ3Bpby5jCmluZGV4IDdjMWI3NjIuLjc5YjQ1NWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtZ3Bpby5jCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtZ3Bpby5jCkBAIC0xNDAsNyArMTQwLDcgQEAKIAlhZGFwLT5vd25lciA9IFRISVNfTU9EVUxFOwogCXNucHJpbnRmKGFkYXAtPm5hbWUsIHNpemVvZihhZGFwLT5uYW1lKSwgImkyYy1ncGlvJWQiLCBwZGV2LT5pZCk7CiAJYWRhcC0+YWxnb19kYXRhID0gYml0X2RhdGE7Ci0JYWRhcC0+Y2xhc3MgPSBJMkNfQ0xBU1NfSFdNT047CisJYWRhcC0+Y2xhc3MgPSBJMkNfQ0xBU1NfSFdNT04gfCBJMkNfQ0xBU1NfU1BEOwogCWFkYXAtPmRldi5wYXJlbnQgPSAmcGRldi0+ZGV2OwogCiAJLyoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtaHlkcmEuYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtaHlkcmEuYwppbmRleCBmOTk3MmY5Li4xMDk4ZjIxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWh5ZHJhLmMKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1oeWRyYS5jCkBAIC0xLDcgKzEsNCBAQAogLyoKLSAgICBpMmMtaHlkcmEuYyAtIFBhcnQgb2YgbG1fc2Vuc29ycywgIExpbnV4IGtlcm5lbCBtb2R1bGVzCi0gICAgICAgICAgICAgICAgICBmb3IgaGFyZHdhcmUgbW9uaXRvcmluZwotCiAgICAgaTJjIFN1cHBvcnQgZm9yIHRoZSBBcHBsZSBgSHlkcmEnIE1hYyBJL08KIAogICAgIENvcHlyaWdodCAoYykgMTk5OS0yMDA0IEdlZXJ0IFV5dHRlcmhvZXZlbiA8Z2VlcnRAbGludXgtbTY4ay5vcmc+CmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWk4MDEuYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtaTgwMS5jCmluZGV4IGIwZjc3MWYuLmRjN2VhMzIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtaTgwMS5jCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtaTgwMS5jCkBAIC0xLDEwICsxLDggQEAKIC8qCi0gICAgaTJjLWk4MDEuYyAtIFBhcnQgb2YgbG1fc2Vuc29ycywgTGludXgga2VybmVsIG1vZHVsZXMgZm9yIGhhcmR3YXJlCi0gICAgICAgICAgICAgIG1vbml0b3JpbmcKICAgICBDb3B5cmlnaHQgKGMpIDE5OTggLSAyMDAyICBGcm9kbyBMb29pamFhcmQgPGZyb2RvbEBkZHMubmw+LAogICAgIFBoaWxpcCBFZGVsYnJvY2sgPHBoaWxAbmV0cm9lZGdlLmNvbT4sIGFuZCBNYXJrIEQuIFN0dWRlYmFrZXIKICAgICA8bWRzeHl6MTIzQHlhaG9vLmNvbT4KLSAgICBDb3B5cmlnaHQgKEMpIDIwMDcgICAgICAgICBKZWFuIERlbHZhcmUgPGtoYWxpQGxpbnV4LWZyLm9yZz4KKyAgICBDb3B5cmlnaHQgKEMpIDIwMDcsIDIwMDggICBKZWFuIERlbHZhcmUgPGtoYWxpQGxpbnV4LWZyLm9yZz4KIAogICAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiAgICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKQEAgLTY0LDYgKzYyLDcgQEAKICNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvaTJjLmg+CisjaW5jbHVkZSA8bGludXgvYWNwaS5oPgogI2luY2x1ZGUgPGFzbS9pby5oPgogCiAvKiBJODAxIFNNQnVzIGFkZHJlc3Mgb2Zmc2V0cyAqLwpAQCAtMTIxLDYgKzEyMCwxMCBAQAogI2RlZmluZSBTTUJIU1RTVFNfSU5UUgkJMHgwMgogI2RlZmluZSBTTUJIU1RTVFNfSE9TVF9CVVNZCTB4MDEKIAorI2RlZmluZSBTVEFUVVNfRkxBR1MJCShTTUJIU1RTVFNfQllURV9ET05FIHwgU01CSFNUU1RTX0ZBSUxFRCB8IFwKKwkJCQkgU01CSFNUU1RTX0JVU19FUlIgfCBTTUJIU1RTVFNfREVWX0VSUiB8IFwKKwkJCQkgU01CSFNUU1RTX0lOVFIpCisKIHN0YXRpYyB1bnNpZ25lZCBsb25nIGk4MDFfc21iYTsKIHN0YXRpYyB1bnNpZ25lZCBjaGFyIGk4MDFfb3JpZ2luYWxfaHN0Y2ZnOwogc3RhdGljIHN0cnVjdCBwY2lfZHJpdmVyIGk4MDFfZHJpdmVyOwpAQCAtMTMyLDMxICsxMzUsOTYgQEAKICNkZWZpbmUgRkVBVFVSRV9JMkNfQkxPQ0tfUkVBRAkoMSA8PCAzKQogc3RhdGljIHVuc2lnbmVkIGludCBpODAxX2ZlYXR1cmVzOwogCi1zdGF0aWMgaW50IGk4MDFfdHJhbnNhY3Rpb24oaW50IHhhY3QpCisvKiBNYWtlIHN1cmUgdGhlIFNNQnVzIGhvc3QgaXMgcmVhZHkgdG8gc3RhcnQgdHJhbnNtaXR0aW5nLgorICAgUmV0dXJuIDAgaWYgaXQgaXMsIC1FQlVTWSBpZiBpdCBpcyBub3QuICovCitzdGF0aWMgaW50IGk4MDFfY2hlY2tfcHJlKHZvaWQpCiB7Ci0JaW50IHRlbXA7Ci0JaW50IHJlc3VsdCA9IDA7Ci0JaW50IHRpbWVvdXQgPSAwOworCWludCBzdGF0dXM7CiAKLQlkZXZfZGJnKCZJODAxX2Rldi0+ZGV2LCAiVHJhbnNhY3Rpb24gKHByZSk6IENOVD0lMDJ4LCBDTUQ9JTAyeCwgIgotCQkiQUREPSUwMngsIERBVDA9JTAyeCwgREFUMT0lMDJ4XG4iLCBpbmJfcChTTUJIU1RDTlQpLAotCQlpbmJfcChTTUJIU1RDTUQpLCBpbmJfcChTTUJIU1RBREQpLCBpbmJfcChTTUJIU1REQVQwKSwKLQkJaW5iX3AoU01CSFNUREFUMSkpOworCXN0YXR1cyA9IGluYl9wKFNNQkhTVFNUUyk7CisJaWYgKHN0YXR1cyAmIFNNQkhTVFNUU19IT1NUX0JVU1kpIHsKKwkJZGV2X2VycigmSTgwMV9kZXYtPmRldiwgIlNNQnVzIGlzIGJ1c3ksIGNhbid0IHVzZSBpdCFcbiIpOworCQlyZXR1cm4gLUVCVVNZOworCX0KIAotCS8qIE1ha2Ugc3VyZSB0aGUgU01CdXMgaG9zdCBpcyByZWFkeSB0byBzdGFydCB0cmFuc21pdHRpbmcgKi8KLQkvKiAweDFmID0gRmFpbGVkLCBCdXNfRXJyLCBEZXZfRXJyLCBJbnRyLCBIb3N0X0J1c3kgKi8KLQlpZiAoKHRlbXAgPSAoMHgxZiAmIGluYl9wKFNNQkhTVFNUUykpKSAhPSAweDAwKSB7Ci0JCWRldl9kYmcoJkk4MDFfZGV2LT5kZXYsICJTTUJ1cyBidXN5ICglMDJ4KS4gUmVzZXR0aW5nLi4uXG4iLAotCQkJdGVtcCk7Ci0JCW91dGJfcCh0ZW1wLCBTTUJIU1RTVFMpOwotCQlpZiAoKHRlbXAgPSAoMHgxZiAmIGluYl9wKFNNQkhTVFNUUykpKSAhPSAweDAwKSB7Ci0JCQlkZXZfZGJnKCZJODAxX2Rldi0+ZGV2LCAiRmFpbGVkISAoJTAyeClcbiIsIHRlbXApOwotCQkJcmV0dXJuIC0xOwotCQl9IGVsc2UgewotCQkJZGV2X2RiZygmSTgwMV9kZXYtPmRldiwgIlN1Y2Nlc3NmdWwhXG4iKTsKKwlzdGF0dXMgJj0gU1RBVFVTX0ZMQUdTOworCWlmIChzdGF0dXMpIHsKKwkJZGV2X2RiZygmSTgwMV9kZXYtPmRldiwgIkNsZWFyaW5nIHN0YXR1cyBmbGFncyAoJTAyeClcbiIsCisJCQlzdGF0dXMpOworCQlvdXRiX3Aoc3RhdHVzLCBTTUJIU1RTVFMpOworCQlzdGF0dXMgPSBpbmJfcChTTUJIU1RTVFMpICYgU1RBVFVTX0ZMQUdTOworCQlpZiAoc3RhdHVzKSB7CisJCQlkZXZfZXJyKCZJODAxX2Rldi0+ZGV2LAorCQkJCSJGYWlsZWQgY2xlYXJpbmcgc3RhdHVzIGZsYWdzICglMDJ4KVxuIiwKKwkJCQlzdGF0dXMpOworCQkJcmV0dXJuIC1FQlVTWTsKIAkJfQogCX0KIAorCXJldHVybiAwOworfQorCisvKiBDb252ZXJ0IHRoZSBzdGF0dXMgcmVnaXN0ZXIgdG8gYW4gZXJyb3IgY29kZSwgYW5kIGNsZWFyIGl0LiAqLworc3RhdGljIGludCBpODAxX2NoZWNrX3Bvc3QoaW50IHN0YXR1cywgaW50IHRpbWVvdXQpCit7CisJaW50IHJlc3VsdCA9IDA7CisKKwkvKiBJZiB0aGUgU01CdXMgaXMgc3RpbGwgYnVzeSwgd2UgZ2l2ZSB1cCAqLworCWlmICh0aW1lb3V0KSB7CisJCWRldl9lcnIoJkk4MDFfZGV2LT5kZXYsICJUcmFuc2FjdGlvbiB0aW1lb3V0XG4iKTsKKwkJLyogdHJ5IHRvIHN0b3AgdGhlIGN1cnJlbnQgY29tbWFuZCAqLworCQlkZXZfZGJnKCZJODAxX2Rldi0+ZGV2LCAiVGVybWluYXRpbmcgdGhlIGN1cnJlbnQgb3BlcmF0aW9uXG4iKTsKKwkJb3V0Yl9wKGluYl9wKFNNQkhTVENOVCkgfCBTTUJIU1RDTlRfS0lMTCwgU01CSFNUQ05UKTsKKwkJbXNsZWVwKDEpOworCQlvdXRiX3AoaW5iX3AoU01CSFNUQ05UKSAmICh+U01CSFNUQ05UX0tJTEwpLCBTTUJIU1RDTlQpOworCisJCS8qIENoZWNrIGlmIGl0IHdvcmtlZCAqLworCQlzdGF0dXMgPSBpbmJfcChTTUJIU1RTVFMpOworCQlpZiAoKHN0YXR1cyAmIFNNQkhTVFNUU19IT1NUX0JVU1kpIHx8CisJCSAgICAhKHN0YXR1cyAmIFNNQkhTVFNUU19GQUlMRUQpKQorCQkJZGV2X2VycigmSTgwMV9kZXYtPmRldiwKKwkJCQkiRmFpbGVkIHRlcm1pbmF0aW5nIHRoZSB0cmFuc2FjdGlvblxuIik7CisJCW91dGJfcChTVEFUVVNfRkxBR1MsIFNNQkhTVFNUUyk7CisJCXJldHVybiAtRVRJTUVET1VUOworCX0KKworCWlmIChzdGF0dXMgJiBTTUJIU1RTVFNfRkFJTEVEKSB7CisJCXJlc3VsdCA9IC1FSU87CisJCWRldl9lcnIoJkk4MDFfZGV2LT5kZXYsICJUcmFuc2FjdGlvbiBmYWlsZWRcbiIpOworCX0KKwlpZiAoc3RhdHVzICYgU01CSFNUU1RTX0RFVl9FUlIpIHsKKwkJcmVzdWx0ID0gLUVOWElPOworCQlkZXZfZGJnKCZJODAxX2Rldi0+ZGV2LCAiTm8gcmVzcG9uc2VcbiIpOworCX0KKwlpZiAoc3RhdHVzICYgU01CSFNUU1RTX0JVU19FUlIpIHsKKwkJcmVzdWx0ID0gLUVBR0FJTjsKKwkJZGV2X2RiZygmSTgwMV9kZXYtPmRldiwgIkxvc3QgYXJiaXRyYXRpb25cbiIpOworCX0KKworCWlmIChyZXN1bHQpIHsKKwkJLyogQ2xlYXIgZXJyb3IgZmxhZ3MgKi8KKwkJb3V0Yl9wKHN0YXR1cyAmIFNUQVRVU19GTEFHUywgU01CSFNUU1RTKTsKKwkJc3RhdHVzID0gaW5iX3AoU01CSFNUU1RTKSAmIFNUQVRVU19GTEFHUzsKKwkJaWYgKHN0YXR1cykgeworCQkJZGV2X3dhcm4oJkk4MDFfZGV2LT5kZXYsICJGYWlsZWQgY2xlYXJpbmcgc3RhdHVzICIKKwkJCQkgImZsYWdzIGF0IGVuZCBvZiB0cmFuc2FjdGlvbiAoJTAyeClcbiIsCisJCQkJIHN0YXR1cyk7CisJCX0KKwl9CisKKwlyZXR1cm4gcmVzdWx0OworfQorCitzdGF0aWMgaW50IGk4MDFfdHJhbnNhY3Rpb24oaW50IHhhY3QpCit7CisJaW50IHN0YXR1czsKKwlpbnQgcmVzdWx0OworCWludCB0aW1lb3V0ID0gMDsKKworCXJlc3VsdCA9IGk4MDFfY2hlY2tfcHJlKCk7CisJaWYgKHJlc3VsdCA8IDApCisJCXJldHVybiByZXN1bHQ7CisKIAkvKiB0aGUgY3VycmVudCBjb250ZW50cyBvZiBTTUJIU1RDTlQgY2FuIGJlIG92ZXJ3cml0dGVuLCBzaW5jZSBQRUMsCiAJICogSU5UUkVOLCBTTUJTQ01EIGFyZSBwYXNzZWQgaW4geGFjdCAqLwogCW91dGJfcCh4YWN0IHwgSTgwMV9TVEFSVCwgU01CSFNUQ05UKTsKQEAgLTE2NCw3MyArMjMyLDQwIEBACiAJLyogV2Ugd2lsbCBhbHdheXMgd2FpdCBmb3IgYSBmcmFjdGlvbiBvZiBhIHNlY29uZCEgKi8KIAlkbyB7CiAJCW1zbGVlcCgxKTsKLQkJdGVtcCA9IGluYl9wKFNNQkhTVFNUUyk7Ci0JfSB3aGlsZSAoKHRlbXAgJiBTTUJIU1RTVFNfSE9TVF9CVVNZKSAmJiAodGltZW91dCsrIDwgTUFYX1RJTUVPVVQpKTsKKwkJc3RhdHVzID0gaW5iX3AoU01CSFNUU1RTKTsKKwl9IHdoaWxlICgoc3RhdHVzICYgU01CSFNUU1RTX0hPU1RfQlVTWSkgJiYgKHRpbWVvdXQrKyA8IE1BWF9USU1FT1VUKSk7CiAKLQkvKiBJZiB0aGUgU01CdXMgaXMgc3RpbGwgYnVzeSwgd2UgZ2l2ZSB1cCAqLwotCWlmICh0aW1lb3V0ID49IE1BWF9USU1FT1VUKSB7Ci0JCWRldl9kYmcoJkk4MDFfZGV2LT5kZXYsICJTTUJ1cyBUaW1lb3V0IVxuIik7Ci0JCXJlc3VsdCA9IC0xOwotCQkvKiB0cnkgdG8gc3RvcCB0aGUgY3VycmVudCBjb21tYW5kICovCi0JCWRldl9kYmcoJkk4MDFfZGV2LT5kZXYsICJUZXJtaW5hdGluZyB0aGUgY3VycmVudCBvcGVyYXRpb25cbiIpOwotCQlvdXRiX3AoaW5iX3AoU01CSFNUQ05UKSB8IFNNQkhTVENOVF9LSUxMLCBTTUJIU1RDTlQpOwotCQltc2xlZXAoMSk7Ci0JCW91dGJfcChpbmJfcChTTUJIU1RDTlQpICYgKH5TTUJIU1RDTlRfS0lMTCksIFNNQkhTVENOVCk7Ci0JfQorCXJlc3VsdCA9IGk4MDFfY2hlY2tfcG9zdChzdGF0dXMsIHRpbWVvdXQgPj0gTUFYX1RJTUVPVVQpOworCWlmIChyZXN1bHQgPCAwKQorCQlyZXR1cm4gcmVzdWx0OwogCi0JaWYgKHRlbXAgJiBTTUJIU1RTVFNfRkFJTEVEKSB7Ci0JCXJlc3VsdCA9IC0xOwotCQlkZXZfZGJnKCZJODAxX2Rldi0+ZGV2LCAiRXJyb3I6IEZhaWxlZCBidXMgdHJhbnNhY3Rpb25cbiIpOwotCX0KLQotCWlmICh0ZW1wICYgU01CSFNUU1RTX0JVU19FUlIpIHsKLQkJcmVzdWx0ID0gLTE7Ci0JCWRldl9lcnIoJkk4MDFfZGV2LT5kZXYsICJCdXMgY29sbGlzaW9uISBTTUJ1cyBtYXkgYmUgbG9ja2VkICIKLQkJCSJ1bnRpbCBuZXh0IGhhcmQgcmVzZXQuIChzb3JyeSEpXG4iKTsKLQkJLyogQ2xvY2sgc3RvcHMgYW5kIHNsYXZlIGlzIHN0dWNrIGluIG1pZC10cmFuc21pc3Npb24gKi8KLQl9Ci0KLQlpZiAodGVtcCAmIFNNQkhTVFNUU19ERVZfRVJSKSB7Ci0JCXJlc3VsdCA9IC0xOwotCQlkZXZfZGJnKCZJODAxX2Rldi0+ZGV2LCAiRXJyb3I6IG5vIHJlc3BvbnNlIVxuIik7Ci0JfQotCi0JaWYgKChpbmJfcChTTUJIU1RTVFMpICYgMHgxZikgIT0gMHgwMCkKLQkJb3V0Yl9wKGluYihTTUJIU1RTVFMpLCBTTUJIU1RTVFMpOwotCi0JaWYgKCh0ZW1wID0gKDB4MWYgJiBpbmJfcChTTUJIU1RTVFMpKSkgIT0gMHgwMCkgewotCQlkZXZfZGJnKCZJODAxX2Rldi0+ZGV2LCAiRmFpbGVkIHJlc2V0IGF0IGVuZCBvZiB0cmFuc2FjdGlvbiAiCi0JCQkiKCUwMngpXG4iLCB0ZW1wKTsKLQl9Ci0JZGV2X2RiZygmSTgwMV9kZXYtPmRldiwgIlRyYW5zYWN0aW9uIChwb3N0KTogQ05UPSUwMngsIENNRD0lMDJ4LCAiCi0JCSJBREQ9JTAyeCwgREFUMD0lMDJ4LCBEQVQxPSUwMnhcbiIsIGluYl9wKFNNQkhTVENOVCksCi0JCWluYl9wKFNNQkhTVENNRCksIGluYl9wKFNNQkhTVEFERCksIGluYl9wKFNNQkhTVERBVDApLAotCQlpbmJfcChTTUJIU1REQVQxKSk7Ci0JcmV0dXJuIHJlc3VsdDsKKwlvdXRiX3AoU01CSFNUU1RTX0lOVFIsIFNNQkhTVFNUUyk7CisJcmV0dXJuIDA7CiB9CiAKIC8qIHdhaXQgZm9yIElOVFIgYml0IGFzIGFkdmlzZWQgYnkgSW50ZWwgKi8KIHN0YXRpYyB2b2lkIGk4MDFfd2FpdF9od3BlYyh2b2lkKQogewogCWludCB0aW1lb3V0ID0gMDsKLQlpbnQgdGVtcDsKKwlpbnQgc3RhdHVzOwogCiAJZG8gewogCQltc2xlZXAoMSk7Ci0JCXRlbXAgPSBpbmJfcChTTUJIU1RTVFMpOwotCX0gd2hpbGUgKCghKHRlbXAgJiBTTUJIU1RTVFNfSU5UUikpCisJCXN0YXR1cyA9IGluYl9wKFNNQkhTVFNUUyk7CisJfSB3aGlsZSAoKCEoc3RhdHVzICYgU01CSFNUU1RTX0lOVFIpKQogCQkgJiYgKHRpbWVvdXQrKyA8IE1BWF9USU1FT1VUKSk7CiAKIAlpZiAodGltZW91dCA+PSBNQVhfVElNRU9VVCkgewogCQlkZXZfZGJnKCZJODAxX2Rldi0+ZGV2LCAiUEVDIFRpbWVvdXQhXG4iKTsKIAl9Ci0Jb3V0Yl9wKHRlbXAsIFNNQkhTVFNUUyk7CisJb3V0Yl9wKHN0YXR1cywgU01CSFNUU1RTKTsKIH0KIAogc3RhdGljIGludCBpODAxX2Jsb2NrX3RyYW5zYWN0aW9uX2J5X2Jsb2NrKHVuaW9uIGkyY19zbWJ1c19kYXRhICpkYXRhLAogCQkJCQkgICBjaGFyIHJlYWRfd3JpdGUsIGludCBod3BlYykKIHsKIAlpbnQgaSwgbGVuOworCWludCBzdGF0dXM7CiAKIAlpbmJfcChTTUJIU1RDTlQpOyAvKiByZXNldCB0aGUgZGF0YSBidWZmZXIgaW5kZXggKi8KIApAQCAtMjQyLDE0ICsyNzcsMTUgQEAKIAkJCW91dGJfcChkYXRhLT5ibG9ja1tpKzFdLCBTTUJCTEtEQVQpOwogCX0KIAotCWlmIChpODAxX3RyYW5zYWN0aW9uKEk4MDFfQkxPQ0tfREFUQSB8IEVOQUJMRV9JTlQ5IHwKLQkJCSAgICAgSTgwMV9QRUNfRU4gKiBod3BlYykpCi0JCXJldHVybiAtMTsKKwlzdGF0dXMgPSBpODAxX3RyYW5zYWN0aW9uKEk4MDFfQkxPQ0tfREFUQSB8IEVOQUJMRV9JTlQ5IHwKKwkJCQkgIEk4MDFfUEVDX0VOICogaHdwZWMpOworCWlmIChzdGF0dXMpCisJCXJldHVybiBzdGF0dXM7CiAKIAlpZiAocmVhZF93cml0ZSA9PSBJMkNfU01CVVNfUkVBRCkgewogCQlsZW4gPSBpbmJfcChTTUJIU1REQVQwKTsKIAkJaWYgKGxlbiA8IDEgfHwgbGVuID4gSTJDX1NNQlVTX0JMT0NLX01BWCkKLQkJCXJldHVybiAtMTsKKwkJCXJldHVybiAtRVBST1RPOwogCiAJCWRhdGEtPmJsb2NrWzBdID0gbGVuOwogCQlmb3IgKGkgPSAwOyBpIDwgbGVuOyBpKyspCkBAIC0yNjQsMTAgKzMwMCwxMyBAQAogewogCWludCBpLCBsZW47CiAJaW50IHNtYmNtZDsKLQlpbnQgdGVtcDsKLQlpbnQgcmVzdWx0ID0gMDsKKwlpbnQgc3RhdHVzOworCWludCByZXN1bHQ7CiAJaW50IHRpbWVvdXQ7Ci0JdW5zaWduZWQgY2hhciBlcnJtYXNrOworCisJcmVzdWx0ID0gaTgwMV9jaGVja19wcmUoKTsKKwlpZiAocmVzdWx0IDwgMCkKKwkJcmV0dXJuIHJlc3VsdDsKIAogCWxlbiA9IGRhdGEtPmJsb2NrWzBdOwogCkBAIC0yOTEsMzYgKzMzMCw2IEBACiAJCX0KIAkJb3V0Yl9wKHNtYmNtZCB8IEVOQUJMRV9JTlQ5LCBTTUJIU1RDTlQpOwogCi0JCWRldl9kYmcoJkk4MDFfZGV2LT5kZXYsICJCbG9jayAocHJlICVkKTogQ05UPSUwMngsIENNRD0lMDJ4LCAiCi0JCQkiQUREPSUwMngsIERBVDA9JTAyeCwgREFUMT0lMDJ4LCBCTEtEQVQ9JTAyeFxuIiwgaSwKLQkJCWluYl9wKFNNQkhTVENOVCksIGluYl9wKFNNQkhTVENNRCksIGluYl9wKFNNQkhTVEFERCksCi0JCQlpbmJfcChTTUJIU1REQVQwKSwgaW5iX3AoU01CSFNUREFUMSksIGluYl9wKFNNQkJMS0RBVCkpOwotCi0JCS8qIE1ha2Ugc3VyZSB0aGUgU01CdXMgaG9zdCBpcyByZWFkeSB0byBzdGFydCB0cmFuc21pdHRpbmcgKi8KLQkJdGVtcCA9IGluYl9wKFNNQkhTVFNUUyk7Ci0JCWlmIChpID09IDEpIHsKLQkJCS8qIEVycm9uZW91cyBjb25kaXRpb25zIGJlZm9yZSB0cmFuc2FjdGlvbjoKLQkJCSAqIEJ5dGVfRG9uZSwgRmFpbGVkLCBCdXNfRXJyLCBEZXZfRXJyLCBJbnRyLCBIb3N0X0J1c3kgKi8KLQkJCWVycm1hc2sgPSAweDlmOwotCQl9IGVsc2UgewotCQkJLyogRXJyb25lb3VzIGNvbmRpdGlvbnMgZHVyaW5nIHRyYW5zYWN0aW9uOgotCQkJICogRmFpbGVkLCBCdXNfRXJyLCBEZXZfRXJyLCBJbnRyICovCi0JCQllcnJtYXNrID0gMHgxZTsKLQkJfQotCQlpZiAodGVtcCAmIGVycm1hc2spIHsKLQkJCWRldl9kYmcoJkk4MDFfZGV2LT5kZXYsICJTTUJ1cyBidXN5ICglMDJ4KS4gIgotCQkJCSJSZXNldHRpbmcuLi5cbiIsIHRlbXApOwotCQkJb3V0Yl9wKHRlbXAsIFNNQkhTVFNUUyk7Ci0JCQlpZiAoKCh0ZW1wID0gaW5iX3AoU01CSFNUU1RTKSkgJiBlcnJtYXNrKSAhPSAweDAwKSB7Ci0JCQkJZGV2X2VycigmSTgwMV9kZXYtPmRldiwKLQkJCQkJIlJlc2V0IGZhaWxlZCEgKCUwMngpXG4iLCB0ZW1wKTsKLQkJCQlyZXR1cm4gLTE7Ci0JCQl9Ci0JCQlpZiAoaSAhPSAxKQotCQkJCS8qIGlmIGRpZSBpbiBtaWRkbGUgb2YgYmxvY2sgdHJhbnNhY3Rpb24sIGZhaWwgKi8KLQkJCQlyZXR1cm4gLTE7Ci0JCX0KLQogCQlpZiAoaSA9PSAxKQogCQkJb3V0Yl9wKGluYihTTUJIU1RDTlQpIHwgSTgwMV9TVEFSVCwgU01CSFNUQ05UKTsKIApAQCAtMzI4LDQxICszMzcsMjggQEAKIAkJdGltZW91dCA9IDA7CiAJCWRvIHsKIAkJCW1zbGVlcCgxKTsKLQkJCXRlbXAgPSBpbmJfcChTTUJIU1RTVFMpOworCQkJc3RhdHVzID0gaW5iX3AoU01CSFNUU1RTKTsKIAkJfQotCQl3aGlsZSAoKCEodGVtcCAmIFNNQkhTVFNUU19CWVRFX0RPTkUpKQorCQl3aGlsZSAoKCEoc3RhdHVzICYgU01CSFNUU1RTX0JZVEVfRE9ORSkpCiAJCSAgICAgICAmJiAodGltZW91dCsrIDwgTUFYX1RJTUVPVVQpKTsKIAotCQkvKiBJZiB0aGUgU01CdXMgaXMgc3RpbGwgYnVzeSwgd2UgZ2l2ZSB1cCAqLwotCQlpZiAodGltZW91dCA+PSBNQVhfVElNRU9VVCkgewotCQkJLyogdHJ5IHRvIHN0b3AgdGhlIGN1cnJlbnQgY29tbWFuZCAqLwotCQkJZGV2X2RiZygmSTgwMV9kZXYtPmRldiwgIlRlcm1pbmF0aW5nIHRoZSBjdXJyZW50ICIKLQkJCQkJCSJvcGVyYXRpb25cbiIpOwotCQkJb3V0Yl9wKGluYl9wKFNNQkhTVENOVCkgfCBTTUJIU1RDTlRfS0lMTCwgU01CSFNUQ05UKTsKLQkJCW1zbGVlcCgxKTsKLQkJCW91dGJfcChpbmJfcChTTUJIU1RDTlQpICYgKH5TTUJIU1RDTlRfS0lMTCksCi0JCQkJU01CSFNUQ05UKTsKLQkJCXJlc3VsdCA9IC0xOwotCQkJZGV2X2RiZygmSTgwMV9kZXYtPmRldiwgIlNNQnVzIFRpbWVvdXQhXG4iKTsKLQkJfQotCi0JCWlmICh0ZW1wICYgU01CSFNUU1RTX0ZBSUxFRCkgewotCQkJcmVzdWx0ID0gLTE7Ci0JCQlkZXZfZGJnKCZJODAxX2Rldi0+ZGV2LAotCQkJCSJFcnJvcjogRmFpbGVkIGJ1cyB0cmFuc2FjdGlvblxuIik7Ci0JCX0gZWxzZSBpZiAodGVtcCAmIFNNQkhTVFNUU19CVVNfRVJSKSB7Ci0JCQlyZXN1bHQgPSAtMTsKLQkJCWRldl9lcnIoJkk4MDFfZGV2LT5kZXYsICJCdXMgY29sbGlzaW9uIVxuIik7Ci0JCX0gZWxzZSBpZiAodGVtcCAmIFNNQkhTVFNUU19ERVZfRVJSKSB7Ci0JCQlyZXN1bHQgPSAtMTsKLQkJCWRldl9kYmcoJkk4MDFfZGV2LT5kZXYsICJFcnJvcjogbm8gcmVzcG9uc2UhXG4iKTsKLQkJfQorCQlyZXN1bHQgPSBpODAxX2NoZWNrX3Bvc3Qoc3RhdHVzLCB0aW1lb3V0ID49IE1BWF9USU1FT1VUKTsKKwkJaWYgKHJlc3VsdCA8IDApCisJCQlyZXR1cm4gcmVzdWx0OwogCiAJCWlmIChpID09IDEgJiYgcmVhZF93cml0ZSA9PSBJMkNfU01CVVNfUkVBRAogCQkgJiYgY29tbWFuZCAhPSBJMkNfU01CVVNfSTJDX0JMT0NLX0RBVEEpIHsKIAkJCWxlbiA9IGluYl9wKFNNQkhTVERBVDApOwotCQkJaWYgKGxlbiA8IDEgfHwgbGVuID4gSTJDX1NNQlVTX0JMT0NLX01BWCkKLQkJCQlyZXR1cm4gLTE7CisJCQlpZiAobGVuIDwgMSB8fCBsZW4gPiBJMkNfU01CVVNfQkxPQ0tfTUFYKSB7CisJCQkJZGV2X2VycigmSTgwMV9kZXYtPmRldiwKKwkJCQkJIklsbGVnYWwgU01CdXMgYmxvY2sgcmVhZCBzaXplICVkXG4iLAorCQkJCQlsZW4pOworCQkJCS8qIFJlY292ZXIgKi8KKwkJCQl3aGlsZSAoaW5iX3AoU01CSFNUU1RTKSAmIFNNQkhTVFNUU19IT1NUX0JVU1kpCisJCQkJCW91dGJfcChTTUJIU1RTVFNfQllURV9ET05FLCBTTUJIU1RTVFMpOworCQkJCW91dGJfcChTTUJIU1RTVFNfSU5UUiwgU01CSFNUU1RTKTsKKwkJCQlyZXR1cm4gLUVQUk9UTzsKKwkJCX0KIAkJCWRhdGEtPmJsb2NrWzBdID0gbGVuOwogCQl9CiAKQEAgLTM3MSwzMCArMzY3LDE5IEBACiAJCQlkYXRhLT5ibG9ja1tpXSA9IGluYl9wKFNNQkJMS0RBVCk7CiAJCWlmIChyZWFkX3dyaXRlID09IEkyQ19TTUJVU19XUklURSAmJiBpKzEgPD0gbGVuKQogCQkJb3V0Yl9wKGRhdGEtPmJsb2NrW2krMV0sIFNNQkJMS0RBVCk7Ci0JCWlmICgodGVtcCAmIDB4OWUpICE9IDB4MDApCi0JCQlvdXRiX3AodGVtcCwgU01CSFNUU1RTKTsgIC8qIHNpZ25hbHMgU01CQkxLREFUIHJlYWR5ICovCiAKLQkJaWYgKCh0ZW1wID0gKDB4MWUgJiBpbmJfcChTTUJIU1RTVFMpKSkgIT0gMHgwMCkgewotCQkJZGV2X2RiZygmSTgwMV9kZXYtPmRldiwKLQkJCQkiQmFkIHN0YXR1cyAoJTAyeCkgYXQgZW5kIG9mIHRyYW5zYWN0aW9uXG4iLAotCQkJCXRlbXApOwotCQl9Ci0JCWRldl9kYmcoJkk4MDFfZGV2LT5kZXYsICJCbG9jayAocG9zdCAlZCk6IENOVD0lMDJ4LCBDTUQ9JTAyeCwgIgotCQkJIkFERD0lMDJ4LCBEQVQwPSUwMngsIERBVDE9JTAyeCwgQkxLREFUPSUwMnhcbiIsIGksCi0JCQlpbmJfcChTTUJIU1RDTlQpLCBpbmJfcChTTUJIU1RDTUQpLCBpbmJfcChTTUJIU1RBREQpLAotCQkJaW5iX3AoU01CSFNUREFUMCksIGluYl9wKFNNQkhTVERBVDEpLCBpbmJfcChTTUJCTEtEQVQpKTsKLQotCQlpZiAocmVzdWx0IDwgMCkKLQkJCXJldHVybiByZXN1bHQ7CisJCS8qIHNpZ25hbHMgU01CQkxLREFUIHJlYWR5ICovCisJCW91dGJfcChTTUJIU1RTVFNfQllURV9ET05FIHwgU01CSFNUU1RTX0lOVFIsIFNNQkhTVFNUUyk7CiAJfQotCXJldHVybiByZXN1bHQ7CisKKwlyZXR1cm4gMDsKIH0KIAogc3RhdGljIGludCBpODAxX3NldF9ibG9ja19idWZmZXJfbW9kZSh2b2lkKQogewogCW91dGJfcChpbmJfcChTTUJBVVhDVEwpIHwgU01CQVVYQ1RMX0UzMkIsIFNNQkFVWENUTCk7CiAJaWYgKChpbmJfcChTTUJBVVhDVEwpICYgU01CQVVYQ1RMX0UzMkIpID09IDApCi0JCXJldHVybiAtMTsKKwkJcmV0dXJuIC1FSU87CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTQxNCw3ICszOTksNyBAQAogCQl9IGVsc2UgaWYgKCEoaTgwMV9mZWF0dXJlcyAmIEZFQVRVUkVfSTJDX0JMT0NLX1JFQUQpKSB7CiAJCQlkZXZfZXJyKCZJODAxX2Rldi0+ZGV2LAogCQkJCSJJMkMgYmxvY2sgcmVhZCBpcyB1bnN1cHBvcnRlZCFcbiIpOwotCQkJcmV0dXJuIC0xOworCQkJcmV0dXJuIC1FT1BOT1RTVVBQOwogCQl9CiAJfQogCkBAIC00NDksNyArNDM0LDcgQEAKIAlyZXR1cm4gcmVzdWx0OwogfQogCi0vKiBSZXR1cm4gLTEgb24gZXJyb3IuICovCisvKiBSZXR1cm4gbmVnYXRpdmUgZXJybm8gb24gZXJyb3IuICovCiBzdGF0aWMgczMyIGk4MDFfYWNjZXNzKHN0cnVjdCBpMmNfYWRhcHRlciAqIGFkYXAsIHUxNiBhZGRyLAogCQkgICAgICAgdW5zaWduZWQgc2hvcnQgZmxhZ3MsIGNoYXIgcmVhZF93cml0ZSwgdTggY29tbWFuZCwKIAkJICAgICAgIGludCBzaXplLCB1bmlvbiBpMmNfc21idXNfZGF0YSAqIGRhdGEpCkBAIC01MTEsMTAgKzQ5Niw5IEBACiAJCQlvdXRiX3AoY29tbWFuZCwgU01CSFNUQ01EKTsKIAkJYmxvY2sgPSAxOwogCQlicmVhazsKLQljYXNlIEkyQ19TTUJVU19QUk9DX0NBTEw6CiAJZGVmYXVsdDoKIAkJZGV2X2VycigmSTgwMV9kZXYtPmRldiwgIlVuc3VwcG9ydGVkIHRyYW5zYWN0aW9uICVkXG4iLCBzaXplKTsKLQkJcmV0dXJuIC0xOworCQlyZXR1cm4gLUVPUE5PVFNVUFA7CiAJfQogCiAJaWYgKGh3cGVjKQkvKiBlbmFibGUvZGlzYWJsZSBoYXJkd2FyZSBQRUMgKi8KQEAgLTUzNyw3ICs1MjEsNyBAQAogCWlmKGJsb2NrKQogCQlyZXR1cm4gcmV0OwogCWlmKHJldCkKLQkJcmV0dXJuIC0xOworCQlyZXR1cm4gcmV0OwogCWlmICgocmVhZF93cml0ZSA9PSBJMkNfU01CVVNfV1JJVEUpIHx8ICh4YWN0ID09IEk4MDFfUVVJQ0spKQogCQlyZXR1cm4gMDsKIApAQCAtNTcyLDcgKzU1Niw3IEBACiBzdGF0aWMgc3RydWN0IGkyY19hZGFwdGVyIGk4MDFfYWRhcHRlciA9IHsKIAkub3duZXIJCT0gVEhJU19NT0RVTEUsCiAJLmlkCQk9IEkyQ19IV19TTUJVU19JODAxLAotCS5jbGFzcwkJPSBJMkNfQ0xBU1NfSFdNT04sCisJLmNsYXNzCQk9IEkyQ19DTEFTU19IV01PTiB8IEkyQ19DTEFTU19TUEQsCiAJLmFsZ28JCT0gJnNtYnVzX2FsZ29yaXRobSwKIH07CiAKQEAgLTYzOSw2ICs2MjMsMTAgQEAKIAkJZ290byBleGl0OwogCX0KIAorCWVyciA9IGFjcGlfY2hlY2tfcmVzb3VyY2VfY29uZmxpY3QoJmRldi0+cmVzb3VyY2VbU01CQkFSXSk7CisJaWYgKGVycikKKwkJZ290byBleGl0OworCiAJZXJyID0gcGNpX3JlcXVlc3RfcmVnaW9uKGRldiwgU01CQkFSLCBpODAxX2RyaXZlci5uYW1lKTsKIAlpZiAoZXJyKSB7CiAJCWRldl9lcnIoJmRldi0+ZGV2LCAiRmFpbGVkIHRvIHJlcXVlc3QgU01CdXMgcmVnaW9uICIKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtaTgxMC5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1pODEwLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQyZThkOTQuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1pODEwLmMKKysrIC9kZXYvbnVsbApAQCAtMSwyNjAgKzAsMCBAQAotLyoKLSAgICBpMmMtaTgxMC5jIC0gUGFydCBvZiBsbV9zZW5zb3JzLCBMaW51eCBrZXJuZWwgbW9kdWxlcyBmb3IgaGFyZHdhcmUKLSAgICAgICAgICAgICAgbW9uaXRvcmluZwotICAgIENvcHlyaWdodCAoYykgMTk5OCwgMTk5OSwgMjAwMCAgRnJvZG8gTG9vaWphYXJkIDxmcm9kb2xAZGRzLm5sPiwKLSAgICBQaGlsaXAgRWRlbGJyb2NrIDxwaGlsQG5ldHJvZWRnZS5jb20+LAotICAgIFJhbHBoIE1ldHpsZXIgPHJqa21AdGhwLnVuaS1rb2Vsbi5kZT4sIGFuZAotICAgIE1hcmsgRC4gU3R1ZGViYWtlciA8bWRzeHl6MTIzQHlhaG9vLmNvbT4KLSAgICAKLSAgICBCYXNlZCBvbiBjb2RlIHdyaXR0ZW4gYnkgUmFscGggTWV0emxlciA8cmprbUB0aHAudW5pLWtvZWxuLmRlPiBhbmQKLSAgICBTaW1vbiBWb2dsCi0KLSAgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotICAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0gICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKLSAgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotCi0gICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0gICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLQotICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKLSAgICBGb3VuZGF0aW9uLCBJbmMuLCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEgMDIxMzksIFVTQS4KLSovCi0vKgotICAgVGhpcyBpbnRlcmZhY2VzIHRvIHRoZSBJODEwL0k4MTUgdG8gcHJvdmlkZSBhY2Nlc3MgdG8KLSAgIHRoZSBEREMgQnVzIGFuZCB0aGUgSTJDIEJ1cy4KLQotICAgU1VQUE9SVEVEIERFVklDRVMJUENJIElECi0gICBpODEwQUEJCTcxMjEgICAgICAgICAgIAotICAgaTgxMEFCCQk3MTIzICAgICAgICAgICAKLSAgIGk4MTBFCQk3MTI1ICAgICAgICAgICAKLSAgIGk4MTUJCQkxMTMyICAgICAgICAgICAKLSAgIGk4NDVHCQkyNTYyCi0qLwotCi0jaW5jbHVkZSA8bGludXgva2VybmVsLmg+Ci0jaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+Ci0jaW5jbHVkZSA8bGludXgvaW5pdC5oPgotI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgotI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgotI2luY2x1ZGUgPGxpbnV4L2kyYy1hbGdvLWJpdC5oPgotI2luY2x1ZGUgPGFzbS9pby5oPgotCi0vKiBHUElPIHJlZ2lzdGVyIGxvY2F0aW9ucyAqLwotI2RlZmluZSBJODEwX0lPQ09OVFJPTF9PRkZTRVQJMHg1MDAwCi0jZGVmaW5lIEk4MTBfSFZTWU5DCQkweDAwCS8qIG5vdCB1c2VkICovCi0jZGVmaW5lIEk4MTBfR1BJT0EJCTB4MTAKLSNkZWZpbmUgSTgxMF9HUElPQgkJMHgxNAotCi0vKiBiaXQgbG9jYXRpb25zIGluIHRoZSByZWdpc3RlcnMgKi8KLSNkZWZpbmUgU0NMX0RJUl9NQVNLCQkweDAwMDEKLSNkZWZpbmUgU0NMX0RJUgkJCTB4MDAwMgotI2RlZmluZSBTQ0xfVkFMX01BU0sJCTB4MDAwNAotI2RlZmluZSBTQ0xfVkFMX09VVAkJMHgwMDA4Ci0jZGVmaW5lIFNDTF9WQUxfSU4JCTB4MDAxMAotI2RlZmluZSBTREFfRElSX01BU0sJCTB4MDEwMAotI2RlZmluZSBTREFfRElSCQkJMHgwMjAwCi0jZGVmaW5lIFNEQV9WQUxfTUFTSwkJMHgwNDAwCi0jZGVmaW5lIFNEQV9WQUxfT1VUCQkweDA4MDAKLSNkZWZpbmUgU0RBX1ZBTF9JTgkJMHgxMDAwCi0KLS8qIGluaXRpYWxpemF0aW9uIHN0YXRlcyAqLwotI2RlZmluZSBJTklUMQkJCTB4MQotI2RlZmluZSBJTklUMgkJCTB4MgotI2RlZmluZSBJTklUMwkJCTB4NAotCi0vKiBkZWxheXMgKi8KLSNkZWZpbmUgQ1lDTEVfREVMQVkJCTEwCi0jZGVmaW5lIFRJTUVPVVQJCQkoSFogLyAyKQotCi1zdGF0aWMgdm9pZCBfX2lvbWVtICppb2FkZHI7Ci0KLS8qIFRoZSBpODEwIEdQSU8gcmVnaXN0ZXJzIGhhdmUgaW5kaXZpZHVhbCBtYXNrcyBmb3IgZWFjaCBiaXQKLSAgIHNvIHdlIG5ldmVyIGhhdmUgdG8gcmVhZCBiZWZvcmUgd3JpdGluZy4gTmljZS4gKi8KLQotc3RhdGljIHZvaWQgYml0X2k4MTBpMmNfc2V0c2NsKHZvaWQgKmRhdGEsIGludCB2YWwpCi17Ci0Jd3JpdGVsKCh2YWwgPyBTQ0xfVkFMX09VVCA6IDApIHwgU0NMX0RJUiB8IFNDTF9ESVJfTUFTSyB8IFNDTF9WQUxfTUFTSywKLQkgICAgIGlvYWRkciArIEk4MTBfR1BJT0IpOwotCXJlYWRsKGlvYWRkciArIEk4MTBfR1BJT0IpOwkvKiBmbHVzaCBwb3N0ZWQgd3JpdGUgKi8KLX0KLQotc3RhdGljIHZvaWQgYml0X2k4MTBpMmNfc2V0c2RhKHZvaWQgKmRhdGEsIGludCB2YWwpCi17Ci0gCXdyaXRlbCgodmFsID8gU0RBX1ZBTF9PVVQgOiAwKSB8IFNEQV9ESVIgfCBTREFfRElSX01BU0sgfCBTREFfVkFMX01BU0ssCi0JICAgICBpb2FkZHIgKyBJODEwX0dQSU9CKTsKLQlyZWFkbChpb2FkZHIgKyBJODEwX0dQSU9CKTsJLyogZmx1c2ggcG9zdGVkIHdyaXRlICovCi19Ci0KLS8qIFRoZSBHUElPIHBpbnMgYXJlIG9wZW4gZHJhaW4sIHNvIHRoZSBwaW5zIGNvdWxkIGFsd2F5cyByZW1haW4gb3V0cHV0cy4KLSAgIEhvd2V2ZXIsIHNvbWUgY2hpcCB2ZXJzaW9ucyBkb24ndCBsYXRjaCB0aGUgaW5wdXRzIHVubGVzcyB0aGV5Ci0gICBhcmUgc2V0IGFzIGlucHV0cy4KLSAgIFdlIHJlbHkgb24gdGhlIGkyYy1hbGdvLWJpdCByb3V0aW5lcyB0byBzZXQgdGhlIHBpbnMgaGlnaCBiZWZvcmUKLSAgIHJlYWRpbmcgdGhlIGlucHV0IGZyb20gb3RoZXIgY2hpcHMuIEZvbGxvd2luZyBndWlkYW5jZSBpbiB0aGUgODE1Ci0gICBwcm9nLiByZWYuIGd1aWRlLCB3ZSBkbyBhICJkdW1teSB3cml0ZSIgb2YgMCB0byB0aGUgcmVnaXN0ZXIgYmVmb3JlCi0gICByZWFkaW5nIHdoaWNoIGZvcmNlcyB0aGUgaW5wdXQgdmFsdWUgdG8gYmUgbGF0Y2hlZC4gV2UgcHJlc3VtZSB0aGlzCi0gICBhcHBsaWVzIHRvIHRoZSA4MTAgYXMgd2VsbDsgc2hvdWxkbid0IGh1cnQgYW55d2F5LiBUaGlzIGlzIG5lY2Vzc2FyeSB0byBnZXQKLSAgIGkyY19hbGdvX2JpdCBiaXRfdGVzdD0xIHRvIHBhc3MuICovCi0KLXN0YXRpYyBpbnQgYml0X2k4MTBpMmNfZ2V0c2NsKHZvaWQgKmRhdGEpCi17Ci0Jd3JpdGVsKFNDTF9ESVJfTUFTSywgaW9hZGRyICsgSTgxMF9HUElPQik7Ci0Jd3JpdGVsKDAsIGlvYWRkciArIEk4MTBfR1BJT0IpOwotCXJldHVybiAoMCAhPSAocmVhZGwoaW9hZGRyICsgSTgxMF9HUElPQikgJiBTQ0xfVkFMX0lOKSk7Ci19Ci0KLXN0YXRpYyBpbnQgYml0X2k4MTBpMmNfZ2V0c2RhKHZvaWQgKmRhdGEpCi17Ci0Jd3JpdGVsKFNEQV9ESVJfTUFTSywgaW9hZGRyICsgSTgxMF9HUElPQik7Ci0Jd3JpdGVsKDAsIGlvYWRkciArIEk4MTBfR1BJT0IpOwotCXJldHVybiAoMCAhPSAocmVhZGwoaW9hZGRyICsgSTgxMF9HUElPQikgJiBTREFfVkFMX0lOKSk7Ci19Ci0KLXN0YXRpYyB2b2lkIGJpdF9pODEwZGRjX3NldHNjbCh2b2lkICpkYXRhLCBpbnQgdmFsKQotewotCXdyaXRlbCgodmFsID8gU0NMX1ZBTF9PVVQgOiAwKSB8IFNDTF9ESVIgfCBTQ0xfRElSX01BU0sgfCBTQ0xfVkFMX01BU0ssCi0JICAgICBpb2FkZHIgKyBJODEwX0dQSU9BKTsKLQlyZWFkbChpb2FkZHIgKyBJODEwX0dQSU9BKTsJLyogZmx1c2ggcG9zdGVkIHdyaXRlICovCi19Ci0KLXN0YXRpYyB2b2lkIGJpdF9pODEwZGRjX3NldHNkYSh2b2lkICpkYXRhLCBpbnQgdmFsKQotewotIAl3cml0ZWwoKHZhbCA/IFNEQV9WQUxfT1VUIDogMCkgfCBTREFfRElSIHwgU0RBX0RJUl9NQVNLIHwgU0RBX1ZBTF9NQVNLLAotCSAgICAgaW9hZGRyICsgSTgxMF9HUElPQSk7Ci0JcmVhZGwoaW9hZGRyICsgSTgxMF9HUElPQSk7CS8qIGZsdXNoIHBvc3RlZCB3cml0ZSAqLwotfQotCi1zdGF0aWMgaW50IGJpdF9pODEwZGRjX2dldHNjbCh2b2lkICpkYXRhKQotewotCXdyaXRlbChTQ0xfRElSX01BU0ssIGlvYWRkciArIEk4MTBfR1BJT0EpOwotCXdyaXRlbCgwLCBpb2FkZHIgKyBJODEwX0dQSU9BKTsKLQlyZXR1cm4gKDAgIT0gKHJlYWRsKGlvYWRkciArIEk4MTBfR1BJT0EpICYgU0NMX1ZBTF9JTikpOwotfQotCi1zdGF0aWMgaW50IGJpdF9pODEwZGRjX2dldHNkYSh2b2lkICpkYXRhKQotewotCXdyaXRlbChTREFfRElSX01BU0ssIGlvYWRkciArIEk4MTBfR1BJT0EpOwotCXdyaXRlbCgwLCBpb2FkZHIgKyBJODEwX0dQSU9BKTsKLQlyZXR1cm4gKDAgIT0gKHJlYWRsKGlvYWRkciArIEk4MTBfR1BJT0EpICYgU0RBX1ZBTF9JTikpOwotfQotCi1zdGF0aWMgaW50IGNvbmZpZ19pODEwKHN0cnVjdCBwY2lfZGV2ICpkZXYpCi17Ci0JdW5zaWduZWQgbG9uZyBjYWRyOwotCi0JLyogbWFwIEk4MTAgbWVtb3J5ICovCi0JY2FkciA9IGRldi0+cmVzb3VyY2VbMV0uc3RhcnQ7Ci0JY2FkciArPSBJODEwX0lPQ09OVFJPTF9PRkZTRVQ7Ci0JY2FkciAmPSBQQ0lfQkFTRV9BRERSRVNTX01FTV9NQVNLOwotCWlvYWRkciA9IGlvcmVtYXBfbm9jYWNoZShjYWRyLCAweDEwMDApOwotCWlmIChpb2FkZHIpIHsKLQkJYml0X2k4MTBpMmNfc2V0c2NsKE5VTEwsIDEpOwotCQliaXRfaTgxMGkyY19zZXRzZGEoTlVMTCwgMSk7Ci0JCWJpdF9pODEwZGRjX3NldHNjbChOVUxMLCAxKTsKLQkJYml0X2k4MTBkZGNfc2V0c2RhKE5VTEwsIDEpOwotCQlyZXR1cm4gMDsKLQl9Ci0JcmV0dXJuIC1FTk9ERVY7Ci19Ci0KLXN0YXRpYyBzdHJ1Y3QgaTJjX2FsZ29fYml0X2RhdGEgaTgxMF9pMmNfYml0X2RhdGEgPSB7Ci0JLnNldHNkYQkJPSBiaXRfaTgxMGkyY19zZXRzZGEsCi0JLnNldHNjbAkJPSBiaXRfaTgxMGkyY19zZXRzY2wsCi0JLmdldHNkYQkJPSBiaXRfaTgxMGkyY19nZXRzZGEsCi0JLmdldHNjbAkJPSBiaXRfaTgxMGkyY19nZXRzY2wsCi0JLnVkZWxheQkJPSBDWUNMRV9ERUxBWSwKLQkudGltZW91dAk9IFRJTUVPVVQsCi19OwotCi1zdGF0aWMgc3RydWN0IGkyY19hZGFwdGVyIGk4MTBfaTJjX2FkYXB0ZXIgPSB7Ci0JLm93bmVyCQk9IFRISVNfTU9EVUxFLAotCS5pZAkJPSBJMkNfSFdfQl9JODEwLAotCS5uYW1lCQk9ICJJODEwL0k4MTUgSTJDIEFkYXB0ZXIiLAotCS5hbGdvX2RhdGEJPSAmaTgxMF9pMmNfYml0X2RhdGEsCi19OwotCi1zdGF0aWMgc3RydWN0IGkyY19hbGdvX2JpdF9kYXRhIGk4MTBfZGRjX2JpdF9kYXRhID0gewotCS5zZXRzZGEJCT0gYml0X2k4MTBkZGNfc2V0c2RhLAotCS5zZXRzY2wJCT0gYml0X2k4MTBkZGNfc2V0c2NsLAotCS5nZXRzZGEJCT0gYml0X2k4MTBkZGNfZ2V0c2RhLAotCS5nZXRzY2wJCT0gYml0X2k4MTBkZGNfZ2V0c2NsLAotCS51ZGVsYXkJCT0gQ1lDTEVfREVMQVksCi0JLnRpbWVvdXQJPSBUSU1FT1VULAotfTsKLQotc3RhdGljIHN0cnVjdCBpMmNfYWRhcHRlciBpODEwX2RkY19hZGFwdGVyID0gewotCS5vd25lcgkJPSBUSElTX01PRFVMRSwKLQkuaWQJCT0gSTJDX0hXX0JfSTgxMCwKLQkubmFtZQkJPSAiSTgxMC9JODE1IEREQyBBZGFwdGVyIiwKLQkuYWxnb19kYXRhCT0gJmk4MTBfZGRjX2JpdF9kYXRhLAotfTsKLQotc3RhdGljIHN0cnVjdCBwY2lfZGV2aWNlX2lkIGk4MTBfaWRzW10gX19kZXZpbml0ZGF0YSA9IHsKLQl7IFBDSV9ERVZJQ0UoUENJX1ZFTkRPUl9JRF9JTlRFTCwgUENJX0RFVklDRV9JRF9JTlRFTF84MjgxMF9JRzEpIH0sCi0JeyBQQ0lfREVWSUNFKFBDSV9WRU5ET1JfSURfSU5URUwsIFBDSV9ERVZJQ0VfSURfSU5URUxfODI4MTBfSUczKSB9LAotCXsgUENJX0RFVklDRShQQ0lfVkVORE9SX0lEX0lOVEVMLCBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyODEwRV9JRykgfSwKLQl7IFBDSV9ERVZJQ0UoUENJX1ZFTkRPUl9JRF9JTlRFTCwgUENJX0RFVklDRV9JRF9JTlRFTF84MjgxNV9DR0MpIH0sCi0JeyBQQ0lfREVWSUNFKFBDSV9WRU5ET1JfSURfSU5URUwsIFBDSV9ERVZJQ0VfSURfSU5URUxfODI4NDVHX0lHKSB9LAotCXsgMCwgfSwKLX07Ci0KLU1PRFVMRV9ERVZJQ0VfVEFCTEUgKHBjaSwgaTgxMF9pZHMpOwotCi1zdGF0aWMgaW50IF9fZGV2aW5pdCBpODEwX3Byb2JlKHN0cnVjdCBwY2lfZGV2ICpkZXYsIGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkICppZCkKLXsKLQlpbnQgcmV0dmFsOwotCi0JcmV0dmFsID0gY29uZmlnX2k4MTAoZGV2KTsKLQlpZiAocmV0dmFsKQotCQlyZXR1cm4gcmV0dmFsOwotCWRldl9pbmZvKCZkZXYtPmRldiwgImk4MTAvaTgxNSBpMmMgZGV2aWNlIGZvdW5kLlxuIik7Ci0KLQkvKiBzZXQgdXAgdGhlIHN5c2ZzIGxpbmthZ2UgdG8gb3VyIHBhcmVudCBkZXZpY2UgKi8KLQlpODEwX2kyY19hZGFwdGVyLmRldi5wYXJlbnQgPSAmZGV2LT5kZXY7Ci0JaTgxMF9kZGNfYWRhcHRlci5kZXYucGFyZW50ID0gJmRldi0+ZGV2OwotCi0JcmV0dmFsID0gaTJjX2JpdF9hZGRfYnVzKCZpODEwX2kyY19hZGFwdGVyKTsKLQlpZiAocmV0dmFsKQotCQlyZXR1cm4gcmV0dmFsOwotCXJldHZhbCA9IGkyY19iaXRfYWRkX2J1cygmaTgxMF9kZGNfYWRhcHRlcik7Ci0JaWYgKHJldHZhbCkKLQkJaTJjX2RlbF9hZGFwdGVyKCZpODEwX2kyY19hZGFwdGVyKTsKLQlyZXR1cm4gcmV0dmFsOwotfQotCi1zdGF0aWMgdm9pZCBfX2RldmV4aXQgaTgxMF9yZW1vdmUoc3RydWN0IHBjaV9kZXYgKmRldikKLXsKLQlpMmNfZGVsX2FkYXB0ZXIoJmk4MTBfZGRjX2FkYXB0ZXIpOwotCWkyY19kZWxfYWRhcHRlcigmaTgxMF9pMmNfYWRhcHRlcik7Ci0JaW91bm1hcChpb2FkZHIpOwotfQotCi1zdGF0aWMgc3RydWN0IHBjaV9kcml2ZXIgaTgxMF9kcml2ZXIgPSB7Ci0JLm5hbWUJCT0gImk4MTBfc21idXMiLAotCS5pZF90YWJsZQk9IGk4MTBfaWRzLAotCS5wcm9iZQkJPSBpODEwX3Byb2JlLAotCS5yZW1vdmUJCT0gX19kZXZleGl0X3AoaTgxMF9yZW1vdmUpLAotfTsKLQotc3RhdGljIGludCBfX2luaXQgaTJjX2k4MTBfaW5pdCh2b2lkKQotewotCXJldHVybiBwY2lfcmVnaXN0ZXJfZHJpdmVyKCZpODEwX2RyaXZlcik7Ci19Ci0KLXN0YXRpYyB2b2lkIF9fZXhpdCBpMmNfaTgxMF9leGl0KHZvaWQpCi17Ci0JcGNpX3VucmVnaXN0ZXJfZHJpdmVyKCZpODEwX2RyaXZlcik7Ci19Ci0KLU1PRFVMRV9BVVRIT1IoIkZyb2RvIExvb2lqYWFyZCA8ZnJvZG9sQGRkcy5ubD4sICIKLQkJIlBoaWxpcCBFZGVsYnJvY2sgPHBoaWxAbmV0cm9lZGdlLmNvbT4sICIKLQkJIlJhbHBoIE1ldHpsZXIgPHJqa21AdGhwLnVuaS1rb2Vsbi5kZT4sICIKLQkJImFuZCBNYXJrIEQuIFN0dWRlYmFrZXIgPG1kc3h5ejEyM0B5YWhvby5jb20+Iik7Ci1NT0RVTEVfREVTQ1JJUFRJT04oIkk4MTAvSTgxNSBJMkMvRERDIGRyaXZlciIpOwotTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwotCi1tb2R1bGVfaW5pdChpMmNfaTgxMF9pbml0KTsKLW1vZHVsZV9leGl0KGkyY19pODEwX2V4aXQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1pYm1faWljLmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWlibV9paWMuYwppbmRleCA4NWRiZjM0Li42NTFmMmYxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWlibV9paWMuYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWlibV9paWMuYwpAQCAtNDIsMTMgKzQyLDggQEAKICNpbmNsdWRlIDxhc20vaW8uaD4KICNpbmNsdWRlIDxsaW51eC9pMmMuaD4KICNpbmNsdWRlIDxsaW51eC9pMmMtaWQuaD4KLQotI2lmZGVmIENPTkZJR19JQk1fT0NQCi0jaW5jbHVkZSA8YXNtL29jcC5oPgotI2luY2x1ZGUgPGFzbS9pYm00eHguaD4KLSNlbHNlCiAjaW5jbHVkZSA8bGludXgvb2ZfcGxhdGZvcm0uaD4KLSNlbmRpZgorI2luY2x1ZGUgPGxpbnV4L29mX2kyYy5oPgogCiAjaW5jbHVkZSAiaTJjLWlibV9paWMuaCIKIApAQCAtNjY1LDE4MCArNjYwLDYgQEAKIAlyZXR1cm4gKHU4KSgob3BiICsgOSkgLyAxMCAtIDEpOwogfQogCi0jaWZkZWYgQ09ORklHX0lCTV9PQ1AKLS8qCi0gKiBSZWdpc3RlciBzaW5nbGUgSUlDIGludGVyZmFjZQotICovCi1zdGF0aWMgaW50IF9fZGV2aW5pdCBpaWNfcHJvYmUoc3RydWN0IG9jcF9kZXZpY2UgKm9jcCl7Ci0KLQlzdHJ1Y3QgaWJtX2lpY19wcml2YXRlKiBkZXY7Ci0Jc3RydWN0IGkyY19hZGFwdGVyKiBhZGFwOwotCXN0cnVjdCBvY3BfZnVuY19paWNfZGF0YSogaWljX2RhdGEgPSBvY3AtPmRlZi0+YWRkaXRpb25zOwotCWludCByZXQ7Ci0KLQlpZiAoIWlpY19kYXRhKQotCQlwcmludGsoS0VSTl9XQVJOSU5HImlibS1paWMlZDogbWlzc2luZyBhZGRpdGlvbmFsIGRhdGEhXG4iLAotCQkJb2NwLT5kZWYtPmluZGV4KTsKLQotCWlmICghKGRldiA9IGt6YWxsb2Moc2l6ZW9mKCpkZXYpLCBHRlBfS0VSTkVMKSkpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJpYm0taWljJWQ6IGZhaWxlZCB0byBhbGxvY2F0ZSBkZXZpY2UgZGF0YVxuIiwKLQkJCW9jcC0+ZGVmLT5pbmRleCk7Ci0JCXJldHVybiAtRU5PTUVNOwotCX0KLQotCWRldi0+aWR4ID0gb2NwLT5kZWYtPmluZGV4OwotCW9jcF9zZXRfZHJ2ZGF0YShvY3AsIGRldik7Ci0KLQlpZiAoIXJlcXVlc3RfbWVtX3JlZ2lvbihvY3AtPmRlZi0+cGFkZHIsIHNpemVvZihzdHJ1Y3QgaWljX3JlZ3MpLAotCQkJCSJpYm1faWljIikpIHsKLQkJcmV0ID0gLUVCVVNZOwotCQlnb3RvIGZhaWwxOwotCX0KLQotCWlmICghKGRldi0+dmFkZHIgPSBpb3JlbWFwKG9jcC0+ZGVmLT5wYWRkciwgc2l6ZW9mKHN0cnVjdCBpaWNfcmVncykpKSl7Ci0JCXByaW50ayhLRVJOX0VSUiAiaWJtLWlpYyVkOiBmYWlsZWQgdG8gaW9yZW1hcCBkZXZpY2UgcmVnaXN0ZXJzXG4iLAotCQkJZGV2LT5pZHgpOwotCQlyZXQgPSAtRU5YSU87Ci0JCWdvdG8gZmFpbDI7Ci0JfQotCi0JaW5pdF93YWl0cXVldWVfaGVhZCgmZGV2LT53cSk7Ci0KLQlkZXYtPmlycSA9IGlpY19mb3JjZV9wb2xsID8gLTEgOiBvY3AtPmRlZi0+aXJxOwotCWlmIChkZXYtPmlycSA+PSAwKXsKLQkJLyogRGlzYWJsZSBpbnRlcnJ1cHRzIHVudGlsIHdlIGZpbmlzaCBpbml0aWFsaXphdGlvbiwKLQkJICAgYXNzdW1lcyBsZXZlbC1zZW5zaXRpdmUgSVJRIHNldHVwLi4uCi0JCSAqLwotCQlpaWNfaW50ZXJydXB0X21vZGUoZGV2LCAwKTsKLQkJaWYgKHJlcXVlc3RfaXJxKGRldi0+aXJxLCBpaWNfaGFuZGxlciwgMCwgIklCTSBJSUMiLCBkZXYpKXsKLQkJCXByaW50ayhLRVJOX0VSUiAiaWJtLWlpYyVkOiByZXF1ZXN0X2lycSAlZCBmYWlsZWRcbiIsCi0JCQkJZGV2LT5pZHgsIGRldi0+aXJxKTsKLQkJCS8qIEZhbGxiYWNrIHRvIHRoZSBwb2xsaW5nIG1vZGUgKi8KLQkJCWRldi0+aXJxID0gLTE7Ci0JCX0KLQl9Ci0KLQlpZiAoZGV2LT5pcnEgPCAwKQotCQlwcmludGsoS0VSTl9XQVJOSU5HICJpYm0taWljJWQ6IHVzaW5nIHBvbGxpbmcgbW9kZVxuIiwKLQkJCWRldi0+aWR4KTsKLQotCS8qIEJvYXJkIHNwZWNpZmljIHNldHRpbmdzICovCi0JZGV2LT5mYXN0X21vZGUgPSBpaWNfZm9yY2VfZmFzdCA/IDEgOiAoaWljX2RhdGEgPyBpaWNfZGF0YS0+ZmFzdF9tb2RlIDogMCk7Ci0KLQkvKiBjbGNrZGl2IGlzIHRoZSBzYW1lIGZvciAqYWxsKiBJSUMgaW50ZXJmYWNlcywKLQkgKiBidXQgSSdkIHJhdGhlciBtYWtlIGEgY29weSB0aGFuIGludHJvZHVjZSBhbm90aGVyIGdsb2JhbC4gLS1lYnMKLQkgKi8KLQlkZXYtPmNsY2tkaXYgPSBpaWNfY2xja2RpdihvY3Bfc3lzX2luZm8ub3BiX2J1c19mcmVxKTsKLQlEQkcoIiVkOiBjbGNrZGl2ID0gJWRcbiIsIGRldi0+aWR4LCBkZXYtPmNsY2tkaXYpOwotCi0JLyogSW5pdGlhbGl6ZSBJSUMgaW50ZXJmYWNlICovCi0JaWljX2Rldl9pbml0KGRldik7Ci0KLQkvKiBSZWdpc3RlciBpdCB3aXRoIGkyYyBsYXllciAqLwotCWFkYXAgPSAmZGV2LT5hZGFwOwotCWFkYXAtPmRldi5wYXJlbnQgPSAmb2NwLT5kZXY7Ci0Jc3RyY3B5KGFkYXAtPm5hbWUsICJJQk0gSUlDIik7Ci0JaTJjX3NldF9hZGFwZGF0YShhZGFwLCBkZXYpOwotCWFkYXAtPmlkID0gSTJDX0hXX09DUDsKLQlhZGFwLT5jbGFzcyA9IEkyQ19DTEFTU19IV01PTjsKLQlhZGFwLT5hbGdvID0gJmlpY19hbGdvOwotCWFkYXAtPmNsaWVudF9yZWdpc3RlciA9IE5VTEw7Ci0JYWRhcC0+Y2xpZW50X3VucmVnaXN0ZXIgPSBOVUxMOwotCWFkYXAtPnRpbWVvdXQgPSAxOwotCi0JLyoKLQkgKiBJZiAiZGV2LT5pZHgiIGlzIG5lZ2F0aXZlIHdlIGNvbnNpZGVyIGl0IGFzIHplcm8uCi0JICogVGhlIHJlYXNvbiB0byBkbyBzbyBpcyB0byBhdm9pZCBzeXNmcyBuYW1lcyB0aGF0IG9ubHkgbWFrZQotCSAqIHNlbnNlIHdoZW4gdGhlcmUgYXJlIG11bHRpcGxlIGFkYXB0ZXJzLgotCSAqLwotCWFkYXAtPm5yID0gZGV2LT5pZHggPj0gMCA/IGRldi0+aWR4IDogMDsKLQotCWlmICgocmV0ID0gaTJjX2FkZF9udW1iZXJlZF9hZGFwdGVyKGFkYXApKSA8IDApIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJpYm0taWljJWQ6IGZhaWxlZCB0byByZWdpc3RlciBpMmMgYWRhcHRlclxuIiwKLQkJCWRldi0+aWR4KTsKLQkJZ290byBmYWlsOwotCX0KLQotCXByaW50ayhLRVJOX0lORk8gImlibS1paWMlZDogdXNpbmcgJXMgbW9kZVxuIiwgZGV2LT5pZHgsCi0JCWRldi0+ZmFzdF9tb2RlID8gImZhc3QgKDQwMCBrSHopIiA6ICJzdGFuZGFyZCAoMTAwIGtIeikiKTsKLQotCXJldHVybiAwOwotCi1mYWlsOgotCWlmIChkZXYtPmlycSA+PSAwKXsKLQkJaWljX2ludGVycnVwdF9tb2RlKGRldiwgMCk7Ci0JCWZyZWVfaXJxKGRldi0+aXJxLCBkZXYpOwotCX0KLQotCWlvdW5tYXAoZGV2LT52YWRkcik7Ci1mYWlsMjoKLQlyZWxlYXNlX21lbV9yZWdpb24ob2NwLT5kZWYtPnBhZGRyLCBzaXplb2Yoc3RydWN0IGlpY19yZWdzKSk7Ci1mYWlsMToKLQlvY3Bfc2V0X2RydmRhdGEob2NwLCBOVUxMKTsKLQlrZnJlZShkZXYpOwotCXJldHVybiByZXQ7Ci19Ci0KLS8qCi0gKiBDbGVhbnVwIGluaXRpYWxpemVkIElJQyBpbnRlcmZhY2UKLSAqLwotc3RhdGljIHZvaWQgX19kZXZleGl0IGlpY19yZW1vdmUoc3RydWN0IG9jcF9kZXZpY2UgKm9jcCkKLXsKLQlzdHJ1Y3QgaWJtX2lpY19wcml2YXRlKiBkZXYgPSAoc3RydWN0IGlibV9paWNfcHJpdmF0ZSopb2NwX2dldF9kcnZkYXRhKG9jcCk7Ci0JQlVHX09OKGRldiA9PSBOVUxMKTsKLQlpZiAoaTJjX2RlbF9hZGFwdGVyKCZkZXYtPmFkYXApKXsKLQkJcHJpbnRrKEtFUk5fRVJSICJpYm0taWljJWQ6IGZhaWxlZCB0byBkZWxldGUgaTJjIGFkYXB0ZXIgOihcbiIsCi0JCQlkZXYtPmlkeCk7Ci0JCS8qIFRoYXQncyAqdmVyeSogYmFkLCBqdXN0IHNodXRkb3duIElSUSAuLi4gKi8KLQkJaWYgKGRldi0+aXJxID49IDApewotCQkgICAgaWljX2ludGVycnVwdF9tb2RlKGRldiwgMCk7Ci0JCSAgICBmcmVlX2lycShkZXYtPmlycSwgZGV2KTsKLQkJICAgIGRldi0+aXJxID0gLTE7Ci0JCX0KLQl9IGVsc2UgewotCQlpZiAoZGV2LT5pcnEgPj0gMCl7Ci0JCSAgICBpaWNfaW50ZXJydXB0X21vZGUoZGV2LCAwKTsKLQkJICAgIGZyZWVfaXJxKGRldi0+aXJxLCBkZXYpOwotCQl9Ci0JCWlvdW5tYXAoZGV2LT52YWRkcik7Ci0JCXJlbGVhc2VfbWVtX3JlZ2lvbihvY3AtPmRlZi0+cGFkZHIsIHNpemVvZihzdHJ1Y3QgaWljX3JlZ3MpKTsKLQkJa2ZyZWUoZGV2KTsKLQl9Ci19Ci0KLXN0YXRpYyBzdHJ1Y3Qgb2NwX2RldmljZV9pZCBpYm1faWljX2lkc1tdIF9fZGV2aW5pdGRhdGEgPQotewotCXsgLnZlbmRvciA9IE9DUF9WRU5ET1JfSUJNLCAuZnVuY3Rpb24gPSBPQ1BfRlVOQ19JSUMgfSwKLQl7IC52ZW5kb3IgPSBPQ1BfVkVORE9SX0lOVkFMSUQgfQotfTsKLQotTU9EVUxFX0RFVklDRV9UQUJMRShvY3AsIGlibV9paWNfaWRzKTsKLQotc3RhdGljIHN0cnVjdCBvY3BfZHJpdmVyIGlibV9paWNfZHJpdmVyID0KLXsKLQkubmFtZSAJCT0gImlpYyIsCi0JLmlkX3RhYmxlCT0gaWJtX2lpY19pZHMsCi0JLnByb2JlCQk9IGlpY19wcm9iZSwKLQkucmVtb3ZlCQk9IF9fZGV2ZXhpdF9wKGlpY19yZW1vdmUpLAotI2lmIGRlZmluZWQoQ09ORklHX1BNKQotCS5zdXNwZW5kCT0gTlVMTCwKLQkucmVzdW1lCQk9IE5VTEwsCi0jZW5kaWYKLX07Ci0KLXN0YXRpYyBpbnQgX19pbml0IGlpY19pbml0KHZvaWQpCi17Ci0JcHJpbnRrKEtFUk5fSU5GTyAiSUJNIElJQyBkcml2ZXIgdiIgRFJJVkVSX1ZFUlNJT04gIlxuIik7Ci0JcmV0dXJuIG9jcF9yZWdpc3Rlcl9kcml2ZXIoJmlibV9paWNfZHJpdmVyKTsKLX0KLQotc3RhdGljIHZvaWQgX19leGl0IGlpY19leGl0KHZvaWQpCi17Ci0Jb2NwX3VucmVnaXN0ZXJfZHJpdmVyKCZpYm1faWljX2RyaXZlcik7Ci19Ci0KLSNlbHNlICAvKiAhQ09ORklHX0lCTV9PQ1AgKi8KLQogc3RhdGljIGludCBfX2RldmluaXQgaWljX3JlcXVlc3RfaXJxKHN0cnVjdCBvZl9kZXZpY2UgKm9mZGV2LAogCQkJCSAgICAgc3RydWN0IGlibV9paWNfcHJpdmF0ZSAqZGV2KQogewpAQCAtODc2LDcgKzY5Nyw3IEBACiAJc3RydWN0IGRldmljZV9ub2RlICpucCA9IG9mZGV2LT5ub2RlOwogCXN0cnVjdCBpYm1faWljX3ByaXZhdGUgKmRldjsKIAlzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXA7Ci0JY29uc3QgdTMyICppbmRleHAsICpmcmVxOworCWNvbnN0IHUzMiAqZnJlcTsKIAlpbnQgcmV0OwogCiAJZGV2ID0ga3phbGxvYyhzaXplb2YoKmRldiksIEdGUF9LRVJORUwpOwpAQCAtODg3LDE0ICs3MDgsNiBAQAogCiAJZGV2X3NldF9kcnZkYXRhKCZvZmRldi0+ZGV2LCBkZXYpOwogCi0JaW5kZXhwID0gb2ZfZ2V0X3Byb3BlcnR5KG5wLCAiaW5kZXgiLCBOVUxMKTsKLQlpZiAoIWluZGV4cCkgewotCQlkZXZfZXJyKCZvZmRldi0+ZGV2LCAibm8gaW5kZXggc3BlY2lmaWVkXG4iKTsKLQkJcmV0ID0gLUVJTlZBTDsKLQkJZ290byBlcnJvcl9jbGVhbnVwOwotCX0KLQlkZXYtPmlkeCA9ICppbmRleHA7Ci0KIAlkZXYtPnZhZGRyID0gb2ZfaW9tYXAobnAsIDApOwogCWlmIChkZXYtPnZhZGRyID09IE5VTEwpIHsKIAkJZGV2X2Vycigmb2ZkZXYtPmRldiwgImZhaWxlZCB0byBpb21hcCBkZXZpY2VcbiIpOwpAQCAtOTM0LDE3ICs3NDcsMTkgQEAKIAlzdHJsY3B5KGFkYXAtPm5hbWUsICJJQk0gSUlDIiwgc2l6ZW9mKGFkYXAtPm5hbWUpKTsKIAlpMmNfc2V0X2FkYXBkYXRhKGFkYXAsIGRldik7CiAJYWRhcC0+aWQgPSBJMkNfSFdfT0NQOwotCWFkYXAtPmNsYXNzID0gSTJDX0NMQVNTX0hXTU9OOworCWFkYXAtPmNsYXNzID0gSTJDX0NMQVNTX0hXTU9OIHwgSTJDX0NMQVNTX1NQRDsKIAlhZGFwLT5hbGdvID0gJmlpY19hbGdvOwogCWFkYXAtPnRpbWVvdXQgPSAxOwotCWFkYXAtPm5yID0gZGV2LT5pZHg7CiAKLQlyZXQgPSBpMmNfYWRkX251bWJlcmVkX2FkYXB0ZXIoYWRhcCk7CisJcmV0ID0gaTJjX2FkZF9hZGFwdGVyKGFkYXApOwogCWlmIChyZXQgIDwgMCkgewogCQlkZXZfZXJyKCZvZmRldi0+ZGV2LCAiZmFpbGVkIHRvIHJlZ2lzdGVyIGkyYyBhZGFwdGVyXG4iKTsKIAkJZ290byBlcnJvcl9jbGVhbnVwOwogCX0KIAorCS8qIE5vdyByZWdpc3RlciBhbGwgdGhlIGNoaWxkIG5vZGVzICovCisJb2ZfcmVnaXN0ZXJfaTJjX2RldmljZXMoYWRhcCwgbnApOworCiAJZGV2X2luZm8oJm9mZGV2LT5kZXYsICJ1c2luZyAlcyBtb2RlXG4iLAogCQkgZGV2LT5mYXN0X21vZGUgPyAiZmFzdCAoNDAwIGtIeikiIDogInN0YW5kYXJkICgxMDAga0h6KSIpOwogCkBAIC05ODcsMTEgKzgwMiw3IEBACiB9CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIGlibV9paWNfbWF0Y2hbXSA9IHsKLQl7IC5jb21wYXRpYmxlID0gImlibSxpaWMtNDA1ZXgiLCB9LAotCXsgLmNvbXBhdGlibGUgPSAiaWJtLGlpYy00MDVncCIsIH0sCi0JeyAuY29tcGF0aWJsZSA9ICJpYm0saWljLTQ0MGdwIiwgfSwKLQl7IC5jb21wYXRpYmxlID0gImlibSxpaWMtNDQwZ3B4IiwgfSwKLQl7IC5jb21wYXRpYmxlID0gImlibSxpaWMtNDQwZ3J4IiwgfSwKKwl7IC5jb21wYXRpYmxlID0gImlibSxpaWMiLCB9LAogCXt9CiB9OwogCkBAIC0xMDExLDcgKzgyMiw2IEBACiB7CiAJb2ZfdW5yZWdpc3Rlcl9wbGF0Zm9ybV9kcml2ZXIoJmlibV9paWNfZHJpdmVyKTsKIH0KLSNlbmRpZiAvKiBDT05GSUdfSUJNX09DUCAqLwogCiBtb2R1bGVfaW5pdChpaWNfaW5pdCk7CiBtb2R1bGVfZXhpdChpaWNfZXhpdCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWlvcDN4eC5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1pb3AzeHguYwppbmRleCAzOTg4NGU3Li5mYzI3MTRhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWlvcDN4eC5jCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtaW9wM3h4LmMKQEAgLTQ4Miw3ICs0ODIsNyBAQAogCW1lbWNweShuZXdfYWRhcHRlci0+bmFtZSwgcGRldi0+bmFtZSwgc3RybGVuKHBkZXYtPm5hbWUpKTsKIAluZXdfYWRhcHRlci0+aWQgPSBJMkNfSFdfSU9QM1hYOwogCW5ld19hZGFwdGVyLT5vd25lciA9IFRISVNfTU9EVUxFOwotCW5ld19hZGFwdGVyLT5jbGFzcyA9IEkyQ19DTEFTU19IV01PTjsKKwluZXdfYWRhcHRlci0+Y2xhc3MgPSBJMkNfQ0xBU1NfSFdNT04gfCBJMkNfQ0xBU1NfU1BEOwogCW5ld19hZGFwdGVyLT5kZXYucGFyZW50ID0gJnBkZXYtPmRldjsKIAluZXdfYWRhcHRlci0+bnIgPSBwZGV2LT5pZDsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1pc2NoLmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWlzY2guYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iOWMwMWFhCi0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1pc2NoLmMKQEAgLTAsMCArMSwzMzkgQEAKKy8qCisgICAgaTJjLWlzY2guYyAtIExpbnV4IGtlcm5lbCBkcml2ZXIgZm9yIEludGVsIFNDSCBjaGlwc2V0IFNNQnVzCisgICAgLSBCYXNlZCBvbiBpMmMtcGlpeDQuYworICAgIENvcHlyaWdodCAoYykgMTk5OCAtIDIwMDIgRnJvZG8gTG9vaWphYXJkIDxmcm9kb2xAZGRzLm5sPiBhbmQKKyAgICBQaGlsaXAgRWRlbGJyb2NrIDxwaGlsQG5ldHJvZWRnZS5jb20+CisgICAgLSBJbnRlbCBTQ0ggc3VwcG9ydAorICAgIENvcHlyaWdodCAoYykgMjAwNyAtIDIwMDggSmFjb2IgSnVuIFBhbiA8amFjb2IuanVuLnBhbkBpbnRlbC5jb20+CisKKyAgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgICAgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisKKyAgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCisgICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICAgIEZvdW5kYXRpb24sIEluYy4sIDY3NSBNYXNzIEF2ZSwgQ2FtYnJpZGdlLCBNQSAwMjEzOSwgVVNBLgorKi8KKworLyoKKyAgIFN1cHBvcnRzOgorCUludGVsIFNDSCBjaGlwc2V0cyAoQUY4MlVTMTVXLCBBRjgyVVMxNUwsIEFGODJVTDExTCkKKyAgIE5vdGU6IHdlIGFzc3VtZSB0aGVyZSBjYW4gb25seSBiZSBvbmUgZGV2aWNlLCB3aXRoIG9uZSBTTUJ1cyBpbnRlcmZhY2UuCisqLworCisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvcGNpLmg+CisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KKyNpbmNsdWRlIDxsaW51eC9zdGRkZWYuaD4KKyNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4KKyNpbmNsdWRlIDxsaW51eC9pMmMuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvaW8uaD4KKyNpbmNsdWRlIDxsaW51eC9hY3BpLmg+CisKKy8qIFNDSCBTTUJ1cyBhZGRyZXNzIG9mZnNldHMgKi8KKyNkZWZpbmUgU01CSFNUQ05UCSgwICsgc2NoX3NtYmEpCisjZGVmaW5lIFNNQkhTVFNUUwkoMSArIHNjaF9zbWJhKQorI2RlZmluZSBTTUJIU1RBREQJKDQgKyBzY2hfc21iYSkgLyogVFNBICovCisjZGVmaW5lIFNNQkhTVENNRAkoNSArIHNjaF9zbWJhKQorI2RlZmluZSBTTUJIU1REQVQwCSg2ICsgc2NoX3NtYmEpCisjZGVmaW5lIFNNQkhTVERBVDEJKDcgKyBzY2hfc21iYSkKKyNkZWZpbmUgU01CQkxLREFUCSgweDIwICsgc2NoX3NtYmEpCisKKy8qIGNvdW50IGZvciByZXF1ZXN0X3JlZ2lvbiAqLworI2RlZmluZSBTTUJJT1NJWkUJNjQKKworLyogUENJIEFkZHJlc3MgQ29uc3RhbnRzICovCisjZGVmaW5lIFNNQkJBX1NDSAkweDQwCisKKy8qIE90aGVyIHNldHRpbmdzICovCisjZGVmaW5lIE1BWF9USU1FT1VUCTUwMAorCisvKiBJMkMgY29uc3RhbnRzICovCisjZGVmaW5lIFNDSF9RVUlDSwkJMHgwMAorI2RlZmluZSBTQ0hfQllURQkJMHgwMQorI2RlZmluZSBTQ0hfQllURV9EQVRBCQkweDAyCisjZGVmaW5lIFNDSF9XT1JEX0RBVEEJCTB4MDMKKyNkZWZpbmUgU0NIX0JMT0NLX0RBVEEJCTB4MDUKKworc3RhdGljIHVuc2lnbmVkIHNob3J0IHNjaF9zbWJhOworc3RhdGljIHN0cnVjdCBwY2lfZHJpdmVyIHNjaF9kcml2ZXI7CitzdGF0aWMgc3RydWN0IGkyY19hZGFwdGVyIHNjaF9hZGFwdGVyOworCisvKgorICogU3RhcnQgdGhlIGkyYyB0cmFuc2FjdGlvbiAtLSB0aGUgaTJjX2FjY2VzcyB3aWxsIHByZXBhcmUgdGhlIHRyYW5zYWN0aW9uCisgKiBhbmQgdGhpcyBmdW5jdGlvbiB3aWxsIGV4ZWN1dGUgaXQuCisgKiByZXR1cm4gMCBmb3Igc3VjY2VzcyBhbmQgb3RoZXJzIGZvciBmYWlsdXJlLgorICovCitzdGF0aWMgaW50IHNjaF90cmFuc2FjdGlvbih2b2lkKQoreworCWludCB0ZW1wOworCWludCByZXN1bHQgPSAwOworCWludCB0aW1lb3V0ID0gMDsKKworCWRldl9kYmcoJnNjaF9hZGFwdGVyLmRldiwgIlRyYW5zYWN0aW9uIChwcmUpOiBDTlQ9JTAyeCwgQ01EPSUwMngsICIKKwkJIkFERD0lMDJ4LCBEQVQwPSUwMngsIERBVDE9JTAyeFxuIiwgaW5iKFNNQkhTVENOVCksCisJCWluYihTTUJIU1RDTUQpLCBpbmIoU01CSFNUQUREKSwgaW5iKFNNQkhTVERBVDApLAorCQlpbmIoU01CSFNUREFUMSkpOworCisJLyogTWFrZSBzdXJlIHRoZSBTTUJ1cyBob3N0IGlzIHJlYWR5IHRvIHN0YXJ0IHRyYW5zbWl0dGluZyAqLworCXRlbXAgPSBpbmIoU01CSFNUU1RTKSAmIDB4MGY7CisJaWYgKHRlbXApIHsKKwkJLyogQ2FuIG5vdCBiZSBidXN5IHNpbmNlIHdlIGNoZWNrZWQgaXQgaW4gc2NoX2FjY2VzcyAqLworCQlpZiAodGVtcCAmIDB4MDEpIHsKKwkJCWRldl9kYmcoJnNjaF9hZGFwdGVyLmRldiwgIkNvbXBsZXRpb24gKCUwMngpLiAiCisJCQkJIkNsZWFyLi4uXG4iLCB0ZW1wKTsKKwkJfQorCQlpZiAodGVtcCAmIDB4MDYpIHsKKwkJCWRldl9kYmcoJnNjaF9hZGFwdGVyLmRldiwgIlNNQnVzIGVycm9yICglMDJ4KS4gIgorCQkJCSJSZXNldHRpbmcuLi5cbiIsIHRlbXApOworCQl9CisJCW91dGIodGVtcCwgU01CSFNUU1RTKTsKKwkJdGVtcCA9IGluYihTTUJIU1RTVFMpICYgMHgwZjsKKwkJaWYgKHRlbXApIHsKKwkJCWRldl9lcnIoJnNjaF9hZGFwdGVyLmRldiwKKwkJCQkiU01CdXMgaXMgbm90IHJlYWR5OiAoJTAyeClcbiIsIHRlbXApOworCQkJcmV0dXJuIC1FQUdBSU47CisJCX0KKwl9CisKKwkvKiBzdGFydCB0aGUgdHJhbnNhY3Rpb24gYnkgc2V0dGluZyBiaXQgNCAqLworCW91dGIoaW5iKFNNQkhTVENOVCkgfCAweDEwLCBTTUJIU1RDTlQpOworCisJZG8geworCQltc2xlZXAoMSk7CisJCXRlbXAgPSBpbmIoU01CSFNUU1RTKSAmIDB4MGY7CisJfSB3aGlsZSAoKHRlbXAgJiAweDA4KSAmJiAodGltZW91dCsrIDwgTUFYX1RJTUVPVVQpKTsKKworCS8qIElmIHRoZSBTTUJ1cyBpcyBzdGlsbCBidXN5LCB3ZSBnaXZlIHVwICovCisJaWYgKHRpbWVvdXQgPj0gTUFYX1RJTUVPVVQpIHsKKwkJZGV2X2Vycigmc2NoX2FkYXB0ZXIuZGV2LCAiU01CdXMgVGltZW91dCFcbiIpOworCQlyZXN1bHQgPSAtRVRJTUVET1VUOworCX0KKwlpZiAodGVtcCAmIDB4MDQpIHsKKwkJcmVzdWx0ID0gLUVJTzsKKwkJZGV2X2RiZygmc2NoX2FkYXB0ZXIuZGV2LCAiQnVzIGNvbGxpc2lvbiEgU01CdXMgbWF5IGJlICIKKwkJCSJsb2NrZWQgdW50aWwgbmV4dCBoYXJkIHJlc2V0LiAoc29ycnkhKVxuIik7CisJCS8qIENsb2NrIHN0b3BzIGFuZCBzbGF2ZSBpcyBzdHVjayBpbiBtaWQtdHJhbnNtaXNzaW9uICovCisJfSBlbHNlIGlmICh0ZW1wICYgMHgwMikgeworCQlyZXN1bHQgPSAtRUlPOworCQlkZXZfZXJyKCZzY2hfYWRhcHRlci5kZXYsICJFcnJvcjogbm8gcmVzcG9uc2UhXG4iKTsKKwl9IGVsc2UgaWYgKHRlbXAgJiAweDAxKSB7CisJCWRldl9kYmcoJnNjaF9hZGFwdGVyLmRldiwgIlBvc3QgY29tcGxldGUhXG4iKTsKKwkJb3V0Yih0ZW1wLCBTTUJIU1RTVFMpOworCQl0ZW1wID0gaW5iKFNNQkhTVFNUUykgJiAweDA3OworCQlpZiAodGVtcCAmIDB4MDYpIHsKKwkJCS8qIENvbXBsZXRpb24gY2xlYXIgZmFpbGVkICovCisJCQlkZXZfZGJnKCZzY2hfYWRhcHRlci5kZXYsICJGYWlsZWQgcmVzZXQgYXQgZW5kIG9mICIKKwkJCQkidHJhbnNhY3Rpb24gKCUwMngpLCBCdXMgZXJyb3IhXG4iLCB0ZW1wKTsKKwkJfQorCX0gZWxzZSB7CisJCXJlc3VsdCA9IC1FTlhJTzsKKwkJZGV2X2RiZygmc2NoX2FkYXB0ZXIuZGV2LCAiTm8gc3VjaCBhZGRyZXNzLlxuIik7CisJfQorCWRldl9kYmcoJnNjaF9hZGFwdGVyLmRldiwgIlRyYW5zYWN0aW9uIChwb3N0KTogQ05UPSUwMngsIENNRD0lMDJ4LCAiCisJCSJBREQ9JTAyeCwgREFUMD0lMDJ4LCBEQVQxPSUwMnhcbiIsIGluYihTTUJIU1RDTlQpLAorCQlpbmIoU01CSFNUQ01EKSwgaW5iKFNNQkhTVEFERCksIGluYihTTUJIU1REQVQwKSwKKwkJaW5iKFNNQkhTVERBVDEpKTsKKwlyZXR1cm4gcmVzdWx0OworfQorCisvKgorICogVGhpcyBpcyB0aGUgbWFpbiBhY2Nlc3MgZW50cnkgZm9yIGkyYy1zY2ggYWNjZXNzCisgKiBhZGFwIGlzIGkyY19hZGFwdGVyIHBvaW50ZXIsIGFkZHIgaXMgdGhlIGkyYyBkZXZpY2UgYnVzIGFkZHJlc3MsIHJlYWRfd3JpdGUKKyAqICgwIGZvciByZWFkIGFuZCAxIGZvciB3cml0ZSksIHNpemUgaXMgaTJjIHRyYW5zYWN0aW9uIHR5cGUgYW5kIGRhdGEgaXMgdGhlCisgKiB1bmlvbiBvZiB0cmFuc2FjdGlvbiBmb3IgZGF0YSB0byBiZSB0cmFuc2ZlcmVkIG9yIGRhdGEgcmVhZCBmcm9tIGJ1cy4KKyAqIHJldHVybiAwIGZvciBzdWNjZXNzIGFuZCBvdGhlcnMgZm9yIGZhaWx1cmUuCisgKi8KK3N0YXRpYyBzMzIgc2NoX2FjY2VzcyhzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXAsIHUxNiBhZGRyLAorCQkgdW5zaWduZWQgc2hvcnQgZmxhZ3MsIGNoYXIgcmVhZF93cml0ZSwKKwkJIHU4IGNvbW1hbmQsIGludCBzaXplLCB1bmlvbiBpMmNfc21idXNfZGF0YSAqZGF0YSkKK3sKKwlpbnQgaSwgbGVuLCB0ZW1wLCByYzsKKworCS8qIE1ha2Ugc3VyZSB0aGUgU01CdXMgaG9zdCBpcyBub3QgYnVzeSAqLworCXRlbXAgPSBpbmIoU01CSFNUU1RTKSAmIDB4MGY7CisJaWYgKHRlbXAgJiAweDA4KSB7CisJCWRldl9kYmcoJnNjaF9hZGFwdGVyLmRldiwgIlNNQnVzIGJ1c3kgKCUwMngpXG4iLCB0ZW1wKTsKKwkJcmV0dXJuIC1FQUdBSU47CisJfQorCWRldl9kYmcoJnNjaF9hZGFwdGVyLmRldiwgImFjY2VzcyBzaXplOiAlZCAlc1xuIiwgc2l6ZSwKKwkJKHJlYWRfd3JpdGUpPyJSRUFEIjoiV1JJVEUiKTsKKwlzd2l0Y2ggKHNpemUpIHsKKwljYXNlIEkyQ19TTUJVU19RVUlDSzoKKwkJb3V0YigoYWRkciA8PCAxKSB8IHJlYWRfd3JpdGUsIFNNQkhTVEFERCk7CisJCXNpemUgPSBTQ0hfUVVJQ0s7CisJCWJyZWFrOworCWNhc2UgSTJDX1NNQlVTX0JZVEU6CisJCW91dGIoKGFkZHIgPDwgMSkgfCByZWFkX3dyaXRlLCBTTUJIU1RBREQpOworCQlpZiAocmVhZF93cml0ZSA9PSBJMkNfU01CVVNfV1JJVEUpCisJCQlvdXRiKGNvbW1hbmQsIFNNQkhTVENNRCk7CisJCXNpemUgPSBTQ0hfQllURTsKKwkJYnJlYWs7CisJY2FzZSBJMkNfU01CVVNfQllURV9EQVRBOgorCQlvdXRiKChhZGRyIDw8IDEpIHwgcmVhZF93cml0ZSwgU01CSFNUQUREKTsKKwkJb3V0Yihjb21tYW5kLCBTTUJIU1RDTUQpOworCQlpZiAocmVhZF93cml0ZSA9PSBJMkNfU01CVVNfV1JJVEUpCisJCQlvdXRiKGRhdGEtPmJ5dGUsIFNNQkhTVERBVDApOworCQlzaXplID0gU0NIX0JZVEVfREFUQTsKKwkJYnJlYWs7CisJY2FzZSBJMkNfU01CVVNfV09SRF9EQVRBOgorCQlvdXRiKChhZGRyIDw8IDEpIHwgcmVhZF93cml0ZSwgU01CSFNUQUREKTsKKwkJb3V0Yihjb21tYW5kLCBTTUJIU1RDTUQpOworCQlpZiAocmVhZF93cml0ZSA9PSBJMkNfU01CVVNfV1JJVEUpIHsKKwkJCW91dGIoZGF0YS0+d29yZCAmIDB4ZmYsIFNNQkhTVERBVDApOworCQkJb3V0YigoZGF0YS0+d29yZCAmIDB4ZmYwMCkgPj4gOCwgU01CSFNUREFUMSk7CisJCX0KKwkJc2l6ZSA9IFNDSF9XT1JEX0RBVEE7CisJCWJyZWFrOworCWNhc2UgSTJDX1NNQlVTX0JMT0NLX0RBVEE6CisJCW91dGIoKGFkZHIgPDwgMSkgfCByZWFkX3dyaXRlLCBTTUJIU1RBREQpOworCQlvdXRiKGNvbW1hbmQsIFNNQkhTVENNRCk7CisJCWlmIChyZWFkX3dyaXRlID09IEkyQ19TTUJVU19XUklURSkgeworCQkJbGVuID0gZGF0YS0+YmxvY2tbMF07CisJCQlpZiAobGVuID09IDAgfHwgbGVuID4gSTJDX1NNQlVTX0JMT0NLX01BWCkKKwkJCQlyZXR1cm4gLUVJTlZBTDsKKwkJCW91dGIobGVuLCBTTUJIU1REQVQwKTsKKwkJCWZvciAoaSA9IDE7IGkgPD0gbGVuOyBpKyspCisJCQkJb3V0YihkYXRhLT5ibG9ja1tpXSwgU01CQkxLREFUK2ktMSk7CisJCX0KKwkJc2l6ZSA9IFNDSF9CTE9DS19EQVRBOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlkZXZfd2FybigmYWRhcC0+ZGV2LCAiVW5zdXBwb3J0ZWQgdHJhbnNhY3Rpb24gJWRcbiIsIHNpemUpOworCQlyZXR1cm4gLUVPUE5PVFNVUFA7CisJfQorCWRldl9kYmcoJnNjaF9hZGFwdGVyLmRldiwgIndyaXRlIHNpemUgJWQgdG8gMHglMDR4XG4iLCBzaXplLCBTTUJIU1RDTlQpOworCW91dGIoKGluYihTTUJIU1RDTlQpICYgMHhiMCkgfCAoc2l6ZSAmIDB4NyksIFNNQkhTVENOVCk7CisKKwlyYyA9IHNjaF90cmFuc2FjdGlvbigpOworCWlmIChyYykJLyogRXJyb3IgaW4gdHJhbnNhY3Rpb24gKi8KKwkJcmV0dXJuIHJjOworCisJaWYgKChyZWFkX3dyaXRlID09IEkyQ19TTUJVU19XUklURSkgfHwgKHNpemUgPT0gU0NIX1FVSUNLKSkKKwkJcmV0dXJuIDA7CisKKwlzd2l0Y2ggKHNpemUpIHsKKwljYXNlIFNDSF9CWVRFOgorCWNhc2UgU0NIX0JZVEVfREFUQToKKwkJZGF0YS0+Ynl0ZSA9IGluYihTTUJIU1REQVQwKTsKKwkJYnJlYWs7CisJY2FzZSBTQ0hfV09SRF9EQVRBOgorCQlkYXRhLT53b3JkID0gaW5iKFNNQkhTVERBVDApICsgKGluYihTTUJIU1REQVQxKSA8PCA4KTsKKwkJYnJlYWs7CisJY2FzZSBTQ0hfQkxPQ0tfREFUQToKKwkJZGF0YS0+YmxvY2tbMF0gPSBpbmIoU01CSFNUREFUMCk7CisJCWlmIChkYXRhLT5ibG9ja1swXSA9PSAwIHx8IGRhdGEtPmJsb2NrWzBdID4gSTJDX1NNQlVTX0JMT0NLX01BWCkKKwkJCXJldHVybiAtRVBST1RPOworCQlmb3IgKGkgPSAxOyBpIDw9IGRhdGEtPmJsb2NrWzBdOyBpKyspCisJCQlkYXRhLT5ibG9ja1tpXSA9IGluYihTTUJCTEtEQVQraS0xKTsKKwkJYnJlYWs7CisJfQorCXJldHVybiAwOworfQorCitzdGF0aWMgdTMyIHNjaF9mdW5jKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcHRlcikKK3sKKwlyZXR1cm4gSTJDX0ZVTkNfU01CVVNfUVVJQ0sgfCBJMkNfRlVOQ19TTUJVU19CWVRFIHwKKwkgICAgSTJDX0ZVTkNfU01CVVNfQllURV9EQVRBIHwgSTJDX0ZVTkNfU01CVVNfV09SRF9EQVRBIHwKKwkgICAgSTJDX0ZVTkNfU01CVVNfQkxPQ0tfREFUQTsKK30KKworc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfYWxnb3JpdGhtIHNtYnVzX2FsZ29yaXRobSA9IHsKKwkuc21idXNfeGZlcgk9IHNjaF9hY2Nlc3MsCisJLmZ1bmN0aW9uYWxpdHkJPSBzY2hfZnVuYywKK307CisKK3N0YXRpYyBzdHJ1Y3QgaTJjX2FkYXB0ZXIgc2NoX2FkYXB0ZXIgPSB7CisJLm93bmVyCQk9IFRISVNfTU9EVUxFLAorCS5jbGFzcwkJPSBJMkNfQ0xBU1NfSFdNT04gfCBJMkNfQ0xBU1NfU1BELAorCS5hbGdvCQk9ICZzbWJ1c19hbGdvcml0aG0sCit9OworCitzdGF0aWMgc3RydWN0IHBjaV9kZXZpY2VfaWQgc2NoX2lkc1tdID0geworCXsgUENJX0RFVklDRShQQ0lfVkVORE9SX0lEX0lOVEVMLCBQQ0lfREVWSUNFX0lEX0lOVEVMX1NDSF9MUEMpIH0sCisJeyAwLCB9Cit9OworCitNT0RVTEVfREVWSUNFX1RBQkxFKHBjaSwgc2NoX2lkcyk7CisKK3N0YXRpYyBpbnQgX19kZXZpbml0IHNjaF9wcm9iZShzdHJ1Y3QgcGNpX2RldiAqZGV2LAorCQkJCWNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkICppZCkKK3sKKwlpbnQgcmV0dmFsOworCXVuc2lnbmVkIGludCBzbWJhOworCisJcGNpX3JlYWRfY29uZmlnX2R3b3JkKGRldiwgU01CQkFfU0NILCAmc21iYSk7CisJaWYgKCEoc21iYSAmICgxIDw8IDMxKSkpIHsKKwkJZGV2X2VycigmZGV2LT5kZXYsICJTTUJ1cyBJL08gc3BhY2UgZGlzYWJsZWQhXG4iKTsKKwkJcmV0dXJuIC1FTk9ERVY7CisJfQorCisJc2NoX3NtYmEgPSAodW5zaWduZWQgc2hvcnQpc21iYTsKKwlpZiAoc2NoX3NtYmEgPT0gMCkgeworCQlkZXZfZXJyKCZkZXYtPmRldiwgIlNNQnVzIGJhc2UgYWRkcmVzcyB1bmluaXRpYWxpemVkIVxuIik7CisJCXJldHVybiAtRU5PREVWOworCX0KKwlpZiAoYWNwaV9jaGVja19yZWdpb24oc2NoX3NtYmEsIFNNQklPU0laRSwgc2NoX2RyaXZlci5uYW1lKSkKKwkJcmV0dXJuIC1FQlVTWTsKKwlpZiAoIXJlcXVlc3RfcmVnaW9uKHNjaF9zbWJhLCBTTUJJT1NJWkUsIHNjaF9kcml2ZXIubmFtZSkpIHsKKwkJZGV2X2VycigmZGV2LT5kZXYsICJTTUJ1cyByZWdpb24gMHgleCBhbHJlYWR5IGluIHVzZSFcbiIsCisJCQlzY2hfc21iYSk7CisJCXJldHVybiAtRUJVU1k7CisJfQorCWRldl9kYmcoJmRldi0+ZGV2LCAiU01CQSA9IDB4JVhcbiIsIHNjaF9zbWJhKTsKKworCS8qIHNldCB1cCB0aGUgc3lzZnMgbGlua2FnZSB0byBvdXIgcGFyZW50IGRldmljZSAqLworCXNjaF9hZGFwdGVyLmRldi5wYXJlbnQgPSAmZGV2LT5kZXY7CisKKwlzbnByaW50ZihzY2hfYWRhcHRlci5uYW1lLCBzaXplb2Yoc2NoX2FkYXB0ZXIubmFtZSksCisJCSJTTUJ1cyBTQ0ggYWRhcHRlciBhdCAlMDR4Iiwgc2NoX3NtYmEpOworCisJcmV0dmFsID0gaTJjX2FkZF9hZGFwdGVyKCZzY2hfYWRhcHRlcik7CisJaWYgKHJldHZhbCkgeworCQlkZXZfZXJyKCZkZXYtPmRldiwgIkNvdWxkbid0IHJlZ2lzdGVyIGFkYXB0ZXIhXG4iKTsKKwkJcmVsZWFzZV9yZWdpb24oc2NoX3NtYmEsIFNNQklPU0laRSk7CisJCXNjaF9zbWJhID0gMDsKKwl9CisKKwlyZXR1cm4gcmV0dmFsOworfQorCitzdGF0aWMgdm9pZCBfX2RldmV4aXQgc2NoX3JlbW92ZShzdHJ1Y3QgcGNpX2RldiAqZGV2KQoreworCWlmIChzY2hfc21iYSkgeworCQlpMmNfZGVsX2FkYXB0ZXIoJnNjaF9hZGFwdGVyKTsKKwkJcmVsZWFzZV9yZWdpb24oc2NoX3NtYmEsIFNNQklPU0laRSk7CisJCXNjaF9zbWJhID0gMDsKKwl9Cit9CisKK3N0YXRpYyBzdHJ1Y3QgcGNpX2RyaXZlciBzY2hfZHJpdmVyID0geworCS5uYW1lCQk9ICJpc2NoX3NtYnVzIiwKKwkuaWRfdGFibGUJPSBzY2hfaWRzLAorCS5wcm9iZQkJPSBzY2hfcHJvYmUsCisJLnJlbW92ZQkJPSBfX2RldmV4aXRfcChzY2hfcmVtb3ZlKSwKK307CisKK3N0YXRpYyBpbnQgX19pbml0IGkyY19zY2hfaW5pdCh2b2lkKQoreworCXJldHVybiBwY2lfcmVnaXN0ZXJfZHJpdmVyKCZzY2hfZHJpdmVyKTsKK30KKworc3RhdGljIHZvaWQgX19leGl0IGkyY19zY2hfZXhpdCh2b2lkKQoreworCXBjaV91bnJlZ2lzdGVyX2RyaXZlcigmc2NoX2RyaXZlcik7Cit9CisKK01PRFVMRV9BVVRIT1IoIkphY29iIFBhbiA8amFjb2IuanVuLnBhbkBpbnRlbC5jb20+Iik7CitNT0RVTEVfREVTQ1JJUFRJT04oIkludGVsIFNDSCBTTUJ1cyBkcml2ZXIiKTsKK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKKworbW9kdWxlX2luaXQoaTJjX3NjaF9pbml0KTsKK21vZHVsZV9leGl0KGkyY19zY2hfZXhpdCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLW1wYy5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1tcGMuYwppbmRleCBhMDc2MTI5Li4xMGI5MzQyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLW1wYy5jCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtbXBjLmMKQEAgLTMxMSw3ICszMTEsNyBAQAogCS5uYW1lID0gIk1QQyBhZGFwdGVyIiwKIAkuaWQgPSBJMkNfSFdfTVBDMTA3LAogCS5hbGdvID0gJm1wY19hbGdvLAotCS5jbGFzcyA9IEkyQ19DTEFTU19IV01PTiwKKwkuY2xhc3MgPSBJMkNfQ0xBU1NfSFdNT04gfCBJMkNfQ0xBU1NfU1BELAogCS50aW1lb3V0ID0gMSwKIH07CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtbXY2NHh4eC5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1tdjY0eHh4LmMKaW5kZXggMDM2ZTZhOC4uOWU4MTE4ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1tdjY0eHh4LmMKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1tdjY0eHh4LmMKQEAgLTUzMCw3ICs1MzAsNyBAQAogCWRydl9kYXRhLT5hZGFwdGVyLmlkID0gSTJDX0hXX01WNjRYWFg7CiAJZHJ2X2RhdGEtPmFkYXB0ZXIuYWxnbyA9ICZtdjY0eHh4X2kyY19hbGdvOwogCWRydl9kYXRhLT5hZGFwdGVyLm93bmVyID0gVEhJU19NT0RVTEU7Ci0JZHJ2X2RhdGEtPmFkYXB0ZXIuY2xhc3MgPSBJMkNfQ0xBU1NfSFdNT047CisJZHJ2X2RhdGEtPmFkYXB0ZXIuY2xhc3MgPSBJMkNfQ0xBU1NfSFdNT04gfCBJMkNfQ0xBU1NfU1BEOwogCWRydl9kYXRhLT5hZGFwdGVyLnRpbWVvdXQgPSBwZGF0YS0+dGltZW91dDsKIAlkcnZfZGF0YS0+YWRhcHRlci5uciA9IHBkLT5pZDsKIAlwbGF0Zm9ybV9zZXRfZHJ2ZGF0YShwZCwgZHJ2X2RhdGEpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1uZm9yY2UyLXM0OTg1LmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLW5mb3JjZTItczQ5ODUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YTg5OTVkCi0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1uZm9yY2UyLXM0OTg1LmMKQEAgLTAsMCArMSwyNTcgQEAKKy8qCisgKiBpMmMtbmZvcmNlMi1zNDk4NS5jIC0gaTJjLW5mb3JjZTIgZXh0cmFzIGZvciB0aGUgVHlhbiBTNDk4NSBtb3RoZXJib2FyZAorICoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBKZWFuIERlbHZhcmUgPGtoYWxpQGxpbnV4LWZyLm9yZz4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEgMDIxMzksIFVTQS4KKyAqLworCisvKgorICogV2Ugc2VsZWN0IHRoZSBjaGFubmVscyBieSBzZW5kaW5nIGNvbW1hbmRzIHRvIHRoZSBQaGlsaXBzCisgKiBQQ0E5NTU2IGNoaXAgYXQgSTJDIGFkZHJlc3MgMHgxOC4gVGhlIG1haW4gYWRhcHRlciBpcyB1c2VkIGZvcgorICogdGhlIG5vbi1tdWx0aXBsZXhlZCBwYXJ0IG9mIHRoZSBidXMsIGFuZCA0IHZpcnR1YWwgYWRhcHRlcnMKKyAqIGFyZSBkZWZpbmVkIGZvciB0aGUgbXVsdGlwbGV4ZWQgYWRkcmVzc2VzOiAweDUwLTB4NTMgKG1lbW9yeQorICogbW9kdWxlIEVFUFJPTSkgbG9jYXRlZCBvbiBjaGFubmVscyAxLTQuIFdlIGRlZmluZSBvbmUgdmlydHVhbAorICogYWRhcHRlciBwZXIgQ1BVLCB3aGljaCBjb3JyZXNwb25kcyB0byBvbmUgbXVsdGlwbGV4ZWQgY2hhbm5lbDoKKyAqICAgQ1BVMDogdmlydHVhbCBhZGFwdGVyIDEsIGNoYW5uZWwgMQorICogICBDUFUxOiB2aXJ0dWFsIGFkYXB0ZXIgMiwgY2hhbm5lbCAyCisgKiAgIENQVTI6IHZpcnR1YWwgYWRhcHRlciAzLCBjaGFubmVsIDMKKyAqICAgQ1BVMzogdmlydHVhbCBhZGFwdGVyIDQsIGNoYW5uZWwgNAorICovCisKKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgorI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CisKK2V4dGVybiBzdHJ1Y3QgaTJjX2FkYXB0ZXIgKm5mb3JjZTJfc21idXM7CisKK3N0YXRpYyBzdHJ1Y3QgaTJjX2FkYXB0ZXIgKnM0OTg1X2FkYXB0ZXI7CitzdGF0aWMgc3RydWN0IGkyY19hbGdvcml0aG0gKnM0OTg1X2FsZ287CisKKy8qIFdyYXBwZXIgYWNjZXNzIGZ1bmN0aW9ucyBmb3IgbXVsdGlwbGV4ZWQgU01CdXMgKi8KK3N0YXRpYyBERUZJTkVfTVVURVgobmZvcmNlMl9sb2NrKTsKKworc3RhdGljIHMzMiBuZm9yY2UyX2FjY2Vzc192aXJ0MChzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXAsIHUxNiBhZGRyLAorCQkJCXVuc2lnbmVkIHNob3J0IGZsYWdzLCBjaGFyIHJlYWRfd3JpdGUsCisJCQkJdTggY29tbWFuZCwgaW50IHNpemUsCisJCQkJdW5pb24gaTJjX3NtYnVzX2RhdGEgKmRhdGEpCit7CisJaW50IGVycm9yOworCisJLyogV2UgZXhjbHVkZSB0aGUgbXVsdGlwbGV4ZWQgYWRkcmVzc2VzICovCisJaWYgKChhZGRyICYgMHhmYykgPT0gMHg1MCB8fCAoYWRkciAmIDB4ZmMpID09IDB4MzAKKwkgfHwgYWRkciA9PSAweDE4KQorCQlyZXR1cm4gLUVOWElPOworCisJbXV0ZXhfbG9jaygmbmZvcmNlMl9sb2NrKTsKKwllcnJvciA9IG5mb3JjZTJfc21idXMtPmFsZ28tPnNtYnVzX3hmZXIoYWRhcCwgYWRkciwgZmxhZ3MsIHJlYWRfd3JpdGUsCisJCQkJCQljb21tYW5kLCBzaXplLCBkYXRhKTsKKwltdXRleF91bmxvY2soJm5mb3JjZTJfbG9jayk7CisKKwlyZXR1cm4gZXJyb3I7Cit9CisKKy8qIFdlIHJlbWVtYmVyIHRoZSBsYXN0IHVzZWQgY2hhbm5lbHMgY29tYmluYXRpb24gc28gYXMgdG8gb25seSBzd2l0Y2gKKyAgIGNoYW5uZWxzIHdoZW4gaXQgaXMgcmVhbGx5IG5lZWRlZC4gVGhpcyBncmVhdGx5IHJlZHVjZXMgdGhlIFNNQnVzCisgICBvdmVyaGVhZCwgYnV0IGFsc28gYXNzdW1lcyB0aGF0IG5vYm9keSB3aWxsIGJlIHdyaXRpbmcgdG8gdGhlIFBDQTk1NTYKKyAgIGluIG91ciBiYWNrLiAqLworc3RhdGljIHU4IGxhc3RfY2hhbm5lbHM7CisKK3N0YXRpYyBpbmxpbmUgczMyIG5mb3JjZTJfYWNjZXNzX2NoYW5uZWwoc3RydWN0IGkyY19hZGFwdGVyICphZGFwLCB1MTYgYWRkciwKKwkJCQkJIHVuc2lnbmVkIHNob3J0IGZsYWdzLCBjaGFyIHJlYWRfd3JpdGUsCisJCQkJCSB1OCBjb21tYW5kLCBpbnQgc2l6ZSwKKwkJCQkJIHVuaW9uIGkyY19zbWJ1c19kYXRhICpkYXRhLAorCQkJCQkgdTggY2hhbm5lbHMpCit7CisJaW50IGVycm9yOworCisJLyogV2UgZXhjbHVkZSB0aGUgbm9uLW11bHRpcGxleGVkIGFkZHJlc3NlcyAqLworCWlmICgoYWRkciAmIDB4ZmMpICE9IDB4NTAgJiYgKGFkZHIgJiAweGZjKSAhPSAweDMwKQorCQlyZXR1cm4gLUVOWElPOworCisJbXV0ZXhfbG9jaygmbmZvcmNlMl9sb2NrKTsKKwlpZiAobGFzdF9jaGFubmVscyAhPSBjaGFubmVscykgeworCQl1bmlvbiBpMmNfc21idXNfZGF0YSBtcGx4ZGF0YTsKKwkJbXBseGRhdGEuYnl0ZSA9IGNoYW5uZWxzOworCisJCWVycm9yID0gbmZvcmNlMl9zbWJ1cy0+YWxnby0+c21idXNfeGZlcihhZGFwLCAweDE4LCAwLAorCQkJCQkJCUkyQ19TTUJVU19XUklURSwgMHgwMSwKKwkJCQkJCQlJMkNfU01CVVNfQllURV9EQVRBLAorCQkJCQkJCSZtcGx4ZGF0YSk7CisJCWlmIChlcnJvcikKKwkJCWdvdG8gVU5MT0NLOworCQlsYXN0X2NoYW5uZWxzID0gY2hhbm5lbHM7CisJfQorCWVycm9yID0gbmZvcmNlMl9zbWJ1cy0+YWxnby0+c21idXNfeGZlcihhZGFwLCBhZGRyLCBmbGFncywgcmVhZF93cml0ZSwKKwkJCQkJCWNvbW1hbmQsIHNpemUsIGRhdGEpOworCitVTkxPQ0s6CisJbXV0ZXhfdW5sb2NrKCZuZm9yY2UyX2xvY2spOworCXJldHVybiBlcnJvcjsKK30KKworc3RhdGljIHMzMiBuZm9yY2UyX2FjY2Vzc192aXJ0MShzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXAsIHUxNiBhZGRyLAorCQkJCXVuc2lnbmVkIHNob3J0IGZsYWdzLCBjaGFyIHJlYWRfd3JpdGUsCisJCQkJdTggY29tbWFuZCwgaW50IHNpemUsCisJCQkJdW5pb24gaTJjX3NtYnVzX2RhdGEgKmRhdGEpCit7CisJLyogQ1BVMDogY2hhbm5lbCAxIGVuYWJsZWQgKi8KKwlyZXR1cm4gbmZvcmNlMl9hY2Nlc3NfY2hhbm5lbChhZGFwLCBhZGRyLCBmbGFncywgcmVhZF93cml0ZSwgY29tbWFuZCwKKwkJCQkgICAgICBzaXplLCBkYXRhLCAweDAyKTsKK30KKworc3RhdGljIHMzMiBuZm9yY2UyX2FjY2Vzc192aXJ0MihzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXAsIHUxNiBhZGRyLAorCQkJCXVuc2lnbmVkIHNob3J0IGZsYWdzLCBjaGFyIHJlYWRfd3JpdGUsCisJCQkJdTggY29tbWFuZCwgaW50IHNpemUsCisJCQkJdW5pb24gaTJjX3NtYnVzX2RhdGEgKmRhdGEpCit7CisJLyogQ1BVMTogY2hhbm5lbCAyIGVuYWJsZWQgKi8KKwlyZXR1cm4gbmZvcmNlMl9hY2Nlc3NfY2hhbm5lbChhZGFwLCBhZGRyLCBmbGFncywgcmVhZF93cml0ZSwgY29tbWFuZCwKKwkJCQkgICAgICBzaXplLCBkYXRhLCAweDA0KTsKK30KKworc3RhdGljIHMzMiBuZm9yY2UyX2FjY2Vzc192aXJ0MyhzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXAsIHUxNiBhZGRyLAorCQkJCXVuc2lnbmVkIHNob3J0IGZsYWdzLCBjaGFyIHJlYWRfd3JpdGUsCisJCQkJdTggY29tbWFuZCwgaW50IHNpemUsCisJCQkJdW5pb24gaTJjX3NtYnVzX2RhdGEgKmRhdGEpCit7CisJLyogQ1BVMjogY2hhbm5lbCAzIGVuYWJsZWQgKi8KKwlyZXR1cm4gbmZvcmNlMl9hY2Nlc3NfY2hhbm5lbChhZGFwLCBhZGRyLCBmbGFncywgcmVhZF93cml0ZSwgY29tbWFuZCwKKwkJCQkgICAgICBzaXplLCBkYXRhLCAweDA4KTsKK30KKworc3RhdGljIHMzMiBuZm9yY2UyX2FjY2Vzc192aXJ0NChzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXAsIHUxNiBhZGRyLAorCQkJCXVuc2lnbmVkIHNob3J0IGZsYWdzLCBjaGFyIHJlYWRfd3JpdGUsCisJCQkJdTggY29tbWFuZCwgaW50IHNpemUsCisJCQkJdW5pb24gaTJjX3NtYnVzX2RhdGEgKmRhdGEpCit7CisJLyogQ1BVMzogY2hhbm5lbCA0IGVuYWJsZWQgKi8KKwlyZXR1cm4gbmZvcmNlMl9hY2Nlc3NfY2hhbm5lbChhZGFwLCBhZGRyLCBmbGFncywgcmVhZF93cml0ZSwgY29tbWFuZCwKKwkJCQkgICAgICBzaXplLCBkYXRhLCAweDEwKTsKK30KKworc3RhdGljIGludCBfX2luaXQgbmZvcmNlMl9zNDk4NV9pbml0KHZvaWQpCit7CisJaW50IGksIGVycm9yOworCXVuaW9uIGkyY19zbWJ1c19kYXRhIGlvY29uZmlnOworCisJLyogVW5yZWdpc3RlciBwaHlzaWNhbCBidXMgKi8KKwlpZiAoIW5mb3JjZTJfc21idXMpCisJCXJldHVybiAtRU5PREVWOworCWVycm9yID0gaTJjX2RlbF9hZGFwdGVyKG5mb3JjZTJfc21idXMpOworCWlmIChlcnJvcikgeworCQlkZXZfZXJyKCZuZm9yY2UyX3NtYnVzLT5kZXYsICJQaHlzaWNhbCBidXMgcmVtb3ZhbCBmYWlsZWRcbiIpOworCQlnb3RvIEVSUk9SMDsKKwl9CisKKwlwcmludGsoS0VSTl9JTkZPICJFbmFibGluZyBTTUJ1cyBtdWx0aXBsZXhpbmcgZm9yIFR5YW4gUzQ5ODVcbiIpOworCS8qIERlZmluZSB0aGUgNSB2aXJ0dWFsIGFkYXB0ZXJzIGFuZCBhbGdvcml0aG1zIHN0cnVjdHVyZXMgKi8KKwlzNDk4NV9hZGFwdGVyID0ga3phbGxvYyg1ICogc2l6ZW9mKHN0cnVjdCBpMmNfYWRhcHRlciksIEdGUF9LRVJORUwpOworCWlmICghczQ5ODVfYWRhcHRlcikgeworCQllcnJvciA9IC1FTk9NRU07CisJCWdvdG8gRVJST1IxOworCX0KKwlzNDk4NV9hbGdvID0ga3phbGxvYyg1ICogc2l6ZW9mKHN0cnVjdCBpMmNfYWxnb3JpdGhtKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFzNDk4NV9hbGdvKSB7CisJCWVycm9yID0gLUVOT01FTTsKKwkJZ290byBFUlJPUjI7CisJfQorCisJLyogRmlsbCBpbiB0aGUgbmV3IHN0cnVjdHVyZXMgKi8KKwlzNDk4NV9hbGdvWzBdID0gKihuZm9yY2UyX3NtYnVzLT5hbGdvKTsKKwlzNDk4NV9hbGdvWzBdLnNtYnVzX3hmZXIgPSBuZm9yY2UyX2FjY2Vzc192aXJ0MDsKKwlzNDk4NV9hZGFwdGVyWzBdID0gKm5mb3JjZTJfc21idXM7CisJczQ5ODVfYWRhcHRlclswXS5hbGdvID0gczQ5ODVfYWxnbzsKKwlzNDk4NV9hZGFwdGVyWzBdLmRldi5wYXJlbnQgPSBuZm9yY2UyX3NtYnVzLT5kZXYucGFyZW50OworCWZvciAoaSA9IDE7IGkgPCA1OyBpKyspIHsKKwkJczQ5ODVfYWxnb1tpXSA9ICoobmZvcmNlMl9zbWJ1cy0+YWxnbyk7CisJCXM0OTg1X2FkYXB0ZXJbaV0gPSAqbmZvcmNlMl9zbWJ1czsKKwkJc25wcmludGYoczQ5ODVfYWRhcHRlcltpXS5uYW1lLCBzaXplb2YoczQ5ODVfYWRhcHRlcltpXS5uYW1lKSwKKwkJCSAiU01CdXMgbkZvcmNlMiBhZGFwdGVyIChDUFUlZCkiLCBpIC0gMSk7CisJCXM0OTg1X2FkYXB0ZXJbaV0uYWxnbyA9IHM0OTg1X2FsZ28gKyBpOworCQlzNDk4NV9hZGFwdGVyW2ldLmRldi5wYXJlbnQgPSBuZm9yY2UyX3NtYnVzLT5kZXYucGFyZW50OworCX0KKwlzNDk4NV9hbGdvWzFdLnNtYnVzX3hmZXIgPSBuZm9yY2UyX2FjY2Vzc192aXJ0MTsKKwlzNDk4NV9hbGdvWzJdLnNtYnVzX3hmZXIgPSBuZm9yY2UyX2FjY2Vzc192aXJ0MjsKKwlzNDk4NV9hbGdvWzNdLnNtYnVzX3hmZXIgPSBuZm9yY2UyX2FjY2Vzc192aXJ0MzsKKwlzNDk4NV9hbGdvWzRdLnNtYnVzX3hmZXIgPSBuZm9yY2UyX2FjY2Vzc192aXJ0NDsKKworCS8qIENvbmZpZ3VyZSB0aGUgUENBOTU1NiBtdWx0aXBsZXhlciAqLworCWlvY29uZmlnLmJ5dGUgPSAweDAwOyAvKiBBbGwgSS9PIHRvIG91dHB1dCBtb2RlICovCisJZXJyb3IgPSBuZm9yY2UyX3NtYnVzLT5hbGdvLT5zbWJ1c194ZmVyKG5mb3JjZTJfc21idXMsIDB4MTgsIDAsCisJCQkJCQlJMkNfU01CVVNfV1JJVEUsIDB4MDMsCisJCQkJCQlJMkNfU01CVVNfQllURV9EQVRBLCAmaW9jb25maWcpOworCWlmIChlcnJvcikgeworCQlkZXZfZXJyKCZuZm9yY2UyX3NtYnVzLT5kZXYsICJQQ0E5NTU2IGNvbmZpZ3VyYXRpb24gZmFpbGVkXG4iKTsKKwkJZXJyb3IgPSAtRUlPOworCQlnb3RvIEVSUk9SMzsKKwl9CisKKwkvKiBSZWdpc3RlciB2aXJ0dWFsIGFkYXB0ZXJzICovCisJZm9yIChpID0gMDsgaSA8IDU7IGkrKykgeworCQllcnJvciA9IGkyY19hZGRfYWRhcHRlcihzNDk4NV9hZGFwdGVyICsgaSk7CisJCWlmIChlcnJvcikgeworCQkJZGV2X2VycigmbmZvcmNlMl9zbWJ1cy0+ZGV2LAorCQkJCSJWaXJ0dWFsIGFkYXB0ZXIgJWQgcmVnaXN0cmF0aW9uICIKKwkJCQkiZmFpbGVkLCBtb2R1bGUgbm90IGluc2VydGVkXG4iLCBpKTsKKwkJCWZvciAoaS0tOyBpID49IDA7IGktLSkKKwkJCQlpMmNfZGVsX2FkYXB0ZXIoczQ5ODVfYWRhcHRlciArIGkpOworCQkJZ290byBFUlJPUjM7CisJCX0KKwl9CisKKwlyZXR1cm4gMDsKKworRVJST1IzOgorCWtmcmVlKHM0OTg1X2FsZ28pOworCXM0OTg1X2FsZ28gPSBOVUxMOworRVJST1IyOgorCWtmcmVlKHM0OTg1X2FkYXB0ZXIpOworCXM0OTg1X2FkYXB0ZXIgPSBOVUxMOworRVJST1IxOgorCS8qIFJlc3RvcmUgcGh5c2ljYWwgYnVzICovCisJaTJjX2FkZF9hZGFwdGVyKG5mb3JjZTJfc21idXMpOworRVJST1IwOgorCXJldHVybiBlcnJvcjsKK30KKworc3RhdGljIHZvaWQgX19leGl0IG5mb3JjZTJfczQ5ODVfZXhpdCh2b2lkKQoreworCWlmIChzNDk4NV9hZGFwdGVyKSB7CisJCWludCBpOworCisJCWZvciAoaSA9IDA7IGkgPCA1OyBpKyspCisJCQlpMmNfZGVsX2FkYXB0ZXIoczQ5ODVfYWRhcHRlcitpKTsKKwkJa2ZyZWUoczQ5ODVfYWRhcHRlcik7CisJCXM0OTg1X2FkYXB0ZXIgPSBOVUxMOworCX0KKwlrZnJlZShzNDk4NV9hbGdvKTsKKwlzNDk4NV9hbGdvID0gTlVMTDsKKworCS8qIFJlc3RvcmUgcGh5c2ljYWwgYnVzICovCisJaWYgKGkyY19hZGRfYWRhcHRlcihuZm9yY2UyX3NtYnVzKSkKKwkJZGV2X2VycigmbmZvcmNlMl9zbWJ1cy0+ZGV2LCAiUGh5c2ljYWwgYnVzIHJlc3RvcmF0aW9uICIKKwkJCSJmYWlsZWRcbiIpOworfQorCitNT0RVTEVfQVVUSE9SKCJKZWFuIERlbHZhcmUgPGtoYWxpQGxpbnV4LWZyLm9yZz4iKTsKK01PRFVMRV9ERVNDUklQVElPTigiUzQ5ODUgU01CdXMgbXVsdGlwbGV4aW5nIik7CitNT0RVTEVfTElDRU5TRSgiR1BMIik7CisKK21vZHVsZV9pbml0KG5mb3JjZTJfczQ5ODVfaW5pdCk7Cittb2R1bGVfZXhpdChuZm9yY2UyX3M0OTg1X2V4aXQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1uZm9yY2UyLmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLW5mb3JjZTIuYwppbmRleCA0M2M5ZjhkLi4zYjE5YmM0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLW5mb3JjZTIuYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLW5mb3JjZTIuYwpAQCAtNTEsNiArNTEsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgogI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CiAjaW5jbHVkZSA8bGludXgvZG1pLmg+CisjaW5jbHVkZSA8bGludXgvYWNwaS5oPgogI2luY2x1ZGUgPGFzbS9pby5oPgogCiBNT0RVTEVfTElDRU5TRSgiR1BMIik7CkBAIC0xMjQsNiArMTI1LDIwIEBACiAKIHN0YXRpYyBzdHJ1Y3QgcGNpX2RyaXZlciBuZm9yY2UyX2RyaXZlcjsKIAorLyogRm9yIG11bHRpcGxleGluZyBzdXBwb3J0LCB3ZSBuZWVkIGEgZ2xvYmFsIHJlZmVyZW5jZSB0byB0aGUgMXN0CisgICBTTUJ1cyBjaGFubmVsICovCisjaWYgZGVmaW5lZCBDT05GSUdfSTJDX05GT1JDRTJfUzQ5ODUgfHwgZGVmaW5lZCBDT05GSUdfSTJDX05GT1JDRTJfUzQ5ODVfTU9EVUxFCitzdHJ1Y3QgaTJjX2FkYXB0ZXIgKm5mb3JjZTJfc21idXM7CitFWFBPUlRfU1lNQk9MX0dQTChuZm9yY2UyX3NtYnVzKTsKKworc3RhdGljIHZvaWQgbmZvcmNlMl9zZXRfcmVmZXJlbmNlKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcCkKK3sKKwluZm9yY2UyX3NtYnVzID0gYWRhcDsKK30KKyNlbHNlCitzdGF0aWMgaW5saW5lIHZvaWQgbmZvcmNlMl9zZXRfcmVmZXJlbmNlKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcCkgeyB9CisjZW5kaWYKKwogc3RhdGljIHZvaWQgbmZvcmNlMl9hYm9ydChzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXApCiB7CiAJc3RydWN0IG5mb3JjZTJfc21idXMgKnNtYnVzID0gYWRhcC0+YWxnb19kYXRhOwpAQCAtMTU4LDE2ICsxNzMsMTYgQEAKIAkJZGV2X2RiZygmYWRhcC0+ZGV2LCAiU01CdXMgVGltZW91dCFcbiIpOwogCQlpZiAoc21idXMtPmNhbl9hYm9ydCkKIAkJCW5mb3JjZTJfYWJvcnQoYWRhcCk7Ci0JCXJldHVybiAtMTsKKwkJcmV0dXJuIC1FVElNRURPVVQ7CiAJfQogCWlmICghKHRlbXAgJiBOVklESUFfU01CX1NUU19ET05FKSB8fCAodGVtcCAmIE5WSURJQV9TTUJfU1RTX1NUQVRVUykpIHsKIAkJZGV2X2RiZygmYWRhcC0+ZGV2LCAiVHJhbnNhY3Rpb24gZmFpbGVkICgweCUwMngpIVxuIiwgdGVtcCk7Ci0JCXJldHVybiAtMTsKKwkJcmV0dXJuIC1FSU87CiAJfQogCXJldHVybiAwOwogfQogCi0vKiBSZXR1cm4gLTEgb24gZXJyb3IgKi8KKy8qIFJldHVybiBuZWdhdGl2ZSBlcnJubyBvbiBlcnJvciAqLwogc3RhdGljIHMzMiBuZm9yY2UyX2FjY2VzcyhzdHJ1Y3QgaTJjX2FkYXB0ZXIgKiBhZGFwLCB1MTYgYWRkciwKIAkJdW5zaWduZWQgc2hvcnQgZmxhZ3MsIGNoYXIgcmVhZF93cml0ZSwKIAkJdTggY29tbWFuZCwgaW50IHNpemUsIHVuaW9uIGkyY19zbWJ1c19kYXRhICogZGF0YSkKQEAgLTE3NSw3ICsxOTAsNyBAQAogCXN0cnVjdCBuZm9yY2UyX3NtYnVzICpzbWJ1cyA9IGFkYXAtPmFsZ29fZGF0YTsKIAl1bnNpZ25lZCBjaGFyIHByb3RvY29sLCBwZWM7CiAJdTggbGVuOwotCWludCBpOworCWludCBpLCBzdGF0dXM7CiAKIAlwcm90b2NvbCA9IChyZWFkX3dyaXRlID09IEkyQ19TTUJVU19SRUFEKSA/IE5WSURJQV9TTUJfUFJUQ0xfUkVBRCA6CiAJCU5WSURJQV9TTUJfUFJUQ0xfV1JJVEU7CkBAIC0yMTksNyArMjM0LDcgQEAKIAkJCQkJCSJUcmFuc2FjdGlvbiBmYWlsZWQgIgogCQkJCQkJIihyZXF1ZXN0ZWQgYmxvY2sgc2l6ZTogJWQpXG4iLAogCQkJCQkJbGVuKTsKLQkJCQkJcmV0dXJuIC0xOworCQkJCQlyZXR1cm4gLUVJTlZBTDsKIAkJCQl9CiAJCQkJb3V0Yl9wKGxlbiwgTlZJRElBX1NNQl9CQ05UKTsKIAkJCQlmb3IgKGkgPSAwOyBpIDwgSTJDX1NNQlVTX0JMT0NLX01BWDsgaSsrKQpAQCAtMjMxLDE0ICsyNDYsMTUgQEAKIAogCQlkZWZhdWx0OgogCQkJZGV2X2VycigmYWRhcC0+ZGV2LCAiVW5zdXBwb3J0ZWQgdHJhbnNhY3Rpb24gJWRcbiIsIHNpemUpOwotCQkJcmV0dXJuIC0xOworCQkJcmV0dXJuIC1FT1BOT1RTVVBQOwogCX0KIAogCW91dGJfcCgoYWRkciAmIDB4N2YpIDw8IDEsIE5WSURJQV9TTUJfQUREUik7CiAJb3V0Yl9wKHByb3RvY29sLCBOVklESUFfU01CX1BSVENMKTsKIAotCWlmIChuZm9yY2UyX2NoZWNrX3N0YXR1cyhhZGFwKSkKLQkJcmV0dXJuIC0xOworCXN0YXR1cyA9IG5mb3JjZTJfY2hlY2tfc3RhdHVzKGFkYXApOworCWlmIChzdGF0dXMpCisJCXJldHVybiBzdGF0dXM7CiAKIAlpZiAocmVhZF93cml0ZSA9PSBJMkNfU01CVVNfV1JJVEUpCiAJCXJldHVybiAwOwpAQCAtMjYwLDcgKzI3Niw3IEBACiAJCQkJZGV2X2VycigmYWRhcC0+ZGV2LCAiVHJhbnNhY3Rpb24gZmFpbGVkICIKIAkJCQkJIihyZWNlaXZlZCBibG9jayBzaXplOiAweCUwMngpXG4iLAogCQkJCQlsZW4pOwotCQkJCXJldHVybiAtMTsKKwkJCQlyZXR1cm4gLUVQUk9UTzsKIAkJCX0KIAkJCWZvciAoaSA9IDA7IGkgPCBsZW47IGkrKykKIAkJCQlkYXRhLT5ibG9ja1tpKzFdID0gaW5iX3AoTlZJRElBX1NNQl9EQVRBICsgaSk7CkBAIC0zMjEsMjEgKzMzNywyNiBAQAogCQkgICAgIT0gUENJQklPU19TVUNDRVNTRlVMKSB7CiAJCQlkZXZfZXJyKCZkZXYtPmRldiwgIkVycm9yIHJlYWRpbmcgUENJIGNvbmZpZyBmb3IgJXNcbiIsCiAJCQkJbmFtZSk7Ci0JCQlyZXR1cm4gLTE7CisJCQlyZXR1cm4gLUVJTzsKIAkJfQogCiAJCXNtYnVzLT5iYXNlID0gaW9iYXNlICYgUENJX0JBU0VfQUREUkVTU19JT19NQVNLOwogCQlzbWJ1cy0+c2l6ZSA9IDY0OwogCX0KIAorCWVycm9yID0gYWNwaV9jaGVja19yZWdpb24oc21idXMtPmJhc2UsIHNtYnVzLT5zaXplLAorCQkJCSAgbmZvcmNlMl9kcml2ZXIubmFtZSk7CisJaWYgKGVycm9yKQorCQlyZXR1cm4gLTE7CisKIAlpZiAoIXJlcXVlc3RfcmVnaW9uKHNtYnVzLT5iYXNlLCBzbWJ1cy0+c2l6ZSwgbmZvcmNlMl9kcml2ZXIubmFtZSkpIHsKIAkJZGV2X2Vycigmc21idXMtPmFkYXB0ZXIuZGV2LCAiRXJyb3IgcmVxdWVzdGluZyByZWdpb24gJTAyeCAuLiAlMDJYIGZvciAlc1xuIiwKIAkJCXNtYnVzLT5iYXNlLCBzbWJ1cy0+YmFzZStzbWJ1cy0+c2l6ZS0xLCBuYW1lKTsKLQkJcmV0dXJuIC0xOworCQlyZXR1cm4gLUVCVVNZOwogCX0KIAlzbWJ1cy0+YWRhcHRlci5vd25lciA9IFRISVNfTU9EVUxFOwogCXNtYnVzLT5hZGFwdGVyLmlkID0gSTJDX0hXX1NNQlVTX05GT1JDRTI7Ci0Jc21idXMtPmFkYXB0ZXIuY2xhc3MgPSBJMkNfQ0xBU1NfSFdNT047CisJc21idXMtPmFkYXB0ZXIuY2xhc3MgPSBJMkNfQ0xBU1NfSFdNT04gfCBJMkNfQ0xBU1NfU1BEOwogCXNtYnVzLT5hZGFwdGVyLmFsZ28gPSAmc21idXNfYWxnb3JpdGhtOwogCXNtYnVzLT5hZGFwdGVyLmFsZ29fZGF0YSA9IHNtYnVzOwogCXNtYnVzLT5hZGFwdGVyLmRldi5wYXJlbnQgPSAmZGV2LT5kZXY7CkBAIC0zNDYsNyArMzY3LDcgQEAKIAlpZiAoZXJyb3IpIHsKIAkJZGV2X2Vycigmc21idXMtPmFkYXB0ZXIuZGV2LCAiRmFpbGVkIHRvIHJlZ2lzdGVyIGFkYXB0ZXIuXG4iKTsKIAkJcmVsZWFzZV9yZWdpb24oc21idXMtPmJhc2UsIHNtYnVzLT5zaXplKTsKLQkJcmV0dXJuIC0xOworCQlyZXR1cm4gZXJyb3I7CiAJfQogCWRldl9pbmZvKCZzbWJ1cy0+YWRhcHRlci5kZXYsICJuRm9yY2UyIFNNQnVzIGFkYXB0ZXIgYXQgJSN4XG4iLCBzbWJ1cy0+YmFzZSk7CiAJcmV0dXJuIDA7CkBAIC0zOTgsNiArNDE5LDcgQEAKIAkJcmV0dXJuIC1FTk9ERVY7CiAJfQogCisJbmZvcmNlMl9zZXRfcmVmZXJlbmNlKCZzbWJ1c2VzWzBdLmFkYXB0ZXIpOwogCXJldHVybiAwOwogfQogCkBAIC00MDYsNiArNDI4LDcgQEAKIHsKIAlzdHJ1Y3QgbmZvcmNlMl9zbWJ1cyAqc21idXNlcyA9ICh2b2lkKikgcGNpX2dldF9kcnZkYXRhKGRldik7CiAKKwluZm9yY2UyX3NldF9yZWZlcmVuY2UoTlVMTCk7CiAJaWYgKHNtYnVzZXNbMF0uYmFzZSkgewogCQlpMmNfZGVsX2FkYXB0ZXIoJnNtYnVzZXNbMF0uYWRhcHRlcik7CiAJCXJlbGVhc2VfcmVnaW9uKHNtYnVzZXNbMF0uYmFzZSwgc21idXNlc1swXS5zaXplKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtb2NvcmVzLmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLW9jb3Jlcy5jCmluZGV4IGYxNDU2OTIuLmU1MTkzYmYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtb2NvcmVzLmMKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1vY29yZXMuYwpAQCAtMjksNiArMjksNyBAQAogCWludCBwb3M7CiAJaW50IG5tc2dzOwogCWludCBzdGF0ZTsgLyogc2VlIFNUQVRFXyAqLworCWludCBjbG9ja19raHo7CiB9OwogCiAvKiByZWdpc3RlcnMgKi8KQEAgLTE3Myw4ICsxNzQsNyBAQAogCQlyZXR1cm4gLUVUSU1FRE9VVDsKIH0KIAotc3RhdGljIHZvaWQgb2NvcmVzX2luaXQoc3RydWN0IG9jb3Jlc19pMmMgKmkyYywKLQkJCXN0cnVjdCBvY29yZXNfaTJjX3BsYXRmb3JtX2RhdGEgKnBkYXRhKQorc3RhdGljIHZvaWQgb2NvcmVzX2luaXQoc3RydWN0IG9jb3Jlc19pMmMgKmkyYykKIHsKIAlpbnQgcHJlc2NhbGU7CiAJdTggY3RybCA9IG9jX2dldHJlZyhpMmMsIE9DSTJDX0NPTlRST0wpOwpAQCAtMTgyLDcgKzE4Miw3IEBACiAJLyogbWFrZSBzdXJlIHRoZSBkZXZpY2UgaXMgZGlzYWJsZWQgKi8KIAlvY19zZXRyZWcoaTJjLCBPQ0kyQ19DT05UUk9MLCBjdHJsICYgfihPQ0kyQ19DVFJMX0VOfE9DSTJDX0NUUkxfSUVOKSk7CiAKLQlwcmVzY2FsZSA9IChwZGF0YS0+Y2xvY2tfa2h6IC8gKDUqMTAwKSkgLSAxOworCXByZXNjYWxlID0gKGkyYy0+Y2xvY2tfa2h6IC8gKDUqMTAwKSkgLSAxOwogCW9jX3NldHJlZyhpMmMsIE9DSTJDX1BSRUxPVywgcHJlc2NhbGUgJiAweGZmKTsKIAlvY19zZXRyZWcoaTJjLCBPQ0kyQ19QUkVISUdILCBwcmVzY2FsZSA+PiA4KTsKIApAQCAtMjA1LDcgKzIwNSw3IEBACiBzdGF0aWMgc3RydWN0IGkyY19hZGFwdGVyIG9jb3Jlc19hZGFwdGVyID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAkubmFtZQkJPSAiaTJjLW9jb3JlcyIsCi0JLmNsYXNzCQk9IEkyQ19DTEFTU19IV01PTiwKKwkuY2xhc3MJCT0gSTJDX0NMQVNTX0hXTU9OIHwgSTJDX0NMQVNTX1NQRCwKIAkuYWxnbwkJPSAmb2NvcmVzX2FsZ29yaXRobSwKIH07CiAKQEAgLTI0OCw3ICsyNDgsOCBAQAogCX0KIAogCWkyYy0+cmVnc3RlcCA9IHBkYXRhLT5yZWdzdGVwOwotCW9jb3Jlc19pbml0KGkyYywgcGRhdGEpOworCWkyYy0+Y2xvY2tfa2h6ID0gcGRhdGEtPmNsb2NrX2toejsKKwlvY29yZXNfaW5pdChpMmMpOwogCiAJaW5pdF93YWl0cXVldWVfaGVhZCgmaTJjLT53YWl0KTsKIAlyZXQgPSByZXF1ZXN0X2lycShyZXMyLT5zdGFydCwgb2NvcmVzX2lzciwgMCwgcGRldi0+bmFtZSwgaTJjKTsKQEAgLTMxMiwxMyArMzEzLDQwIEBACiAJcmV0dXJuIDA7CiB9CiAKKyNpZmRlZiBDT05GSUdfUE0KK3N0YXRpYyBpbnQgb2NvcmVzX2kyY19zdXNwZW5kKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsIHBtX21lc3NhZ2VfdCBzdGF0ZSkKK3sKKwlzdHJ1Y3Qgb2NvcmVzX2kyYyAqaTJjID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CisJdTggY3RybCA9IG9jX2dldHJlZyhpMmMsIE9DSTJDX0NPTlRST0wpOworCisJLyogbWFrZSBzdXJlIHRoZSBkZXZpY2UgaXMgZGlzYWJsZWQgKi8KKwlvY19zZXRyZWcoaTJjLCBPQ0kyQ19DT05UUk9MLCBjdHJsICYgfihPQ0kyQ19DVFJMX0VOfE9DSTJDX0NUUkxfSUVOKSk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBvY29yZXNfaTJjX3Jlc3VtZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXN0cnVjdCBvY29yZXNfaTJjICppMmMgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKKworCW9jb3Jlc19pbml0KGkyYyk7CisKKwlyZXR1cm4gMDsKK30KKyNlbHNlCisjZGVmaW5lIG9jb3Jlc19pMmNfc3VzcGVuZAlOVUxMCisjZGVmaW5lIG9jb3Jlc19pMmNfcmVzdW1lCU5VTEwKKyNlbmRpZgorCiAvKiB3b3JrIHdpdGggaG90cGx1ZyBhbmQgY29sZHBsdWcgKi8KIE1PRFVMRV9BTElBUygicGxhdGZvcm06b2NvcmVzLWkyYyIpOwogCiBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZlciBvY29yZXNfaTJjX2RyaXZlciA9IHsKLQkucHJvYmUgID0gb2NvcmVzX2kyY19wcm9iZSwKLQkucmVtb3ZlID0gX19kZXZleGl0X3Aob2NvcmVzX2kyY19yZW1vdmUpLAotCS5kcml2ZXIgPSB7CisJLnByb2JlICAgPSBvY29yZXNfaTJjX3Byb2JlLAorCS5yZW1vdmUgID0gX19kZXZleGl0X3Aob2NvcmVzX2kyY19yZW1vdmUpLAorCS5zdXNwZW5kID0gb2NvcmVzX2kyY19zdXNwZW5kLAorCS5yZXN1bWUgID0gb2NvcmVzX2kyY19yZXN1bWUsCisJLmRyaXZlciAgPSB7CiAJCS5vd25lciA9IFRISVNfTU9EVUxFLAogCQkubmFtZSA9ICJvY29yZXMtaTJjIiwKIAl9LApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1wYXNlbWkuYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtcGFzZW1pLmMKaW5kZXggMTYwM2M4MS4uYWRmMGZiYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1wYXNlbWkuYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXBhc2VtaS5jCkBAIC0zNjUsNyArMzY1LDcgQEAKIAlzbWJ1cy0+YWRhcHRlci5vd25lciA9IFRISVNfTU9EVUxFOwogCXNucHJpbnRmKHNtYnVzLT5hZGFwdGVyLm5hbWUsIHNpemVvZihzbWJ1cy0+YWRhcHRlci5uYW1lKSwKIAkJICJQQSBTZW1pIFNNQnVzIGFkYXB0ZXIgYXQgMHglbHgiLCBzbWJ1cy0+YmFzZSk7Ci0Jc21idXMtPmFkYXB0ZXIuY2xhc3MgPSBJMkNfQ0xBU1NfSFdNT047CisJc21idXMtPmFkYXB0ZXIuY2xhc3MgPSBJMkNfQ0xBU1NfSFdNT04gfCBJMkNfQ0xBU1NfU1BEOwogCXNtYnVzLT5hZGFwdGVyLmFsZ28gPSAmc21idXNfYWxnb3JpdGhtOwogCXNtYnVzLT5hZGFwdGVyLmFsZ29fZGF0YSA9IHNtYnVzOwogCXNtYnVzLT5hZGFwdGVyLm5yID0gUENJX0ZVTkMoZGV2LT5kZXZmbik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXBjYS1wbGF0Zm9ybS5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1wY2EtcGxhdGZvcm0uYwppbmRleCA5ZDc1ZjUxLi42YmIxNWFkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXBjYS1wbGF0Zm9ybS5jCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtcGNhLXBsYXRmb3JtLmMKQEAgLTE2Myw3ICsxNjMsNyBAQAogCiAJaTJjLT5yZWdfYmFzZSA9IGlvcmVtYXAocmVzLT5zdGFydCwgcmVzX2xlbihyZXMpKTsKIAlpZiAoIWkyYy0+cmVnX2Jhc2UpIHsKLQkJcmV0ID0gLUVJTzsKKwkJcmV0ID0gLUVOT01FTTsKIAkJZ290byBlX3JlbWFwOwogCX0KIAlpMmMtPmlvX2Jhc2UgPSByZXMtPnN0YXJ0OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1waWl4NC5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1waWl4NC5jCmluZGV4IGFjOTE2NTkuLmVhYTliMzggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtcGlpeDQuYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXBpaXg0LmMKQEAgLTEsNiArMSw0IEBACiAvKgotICAgIHBpaXg0LmMgLSBQYXJ0IG9mIGxtX3NlbnNvcnMsIExpbnV4IGtlcm5lbCBtb2R1bGVzIGZvciBoYXJkd2FyZQotICAgICAgICAgICAgICBtb25pdG9yaW5nCiAgICAgQ29weXJpZ2h0IChjKSAxOTk4IC0gMjAwMiBGcm9kbyBMb29pamFhcmQgPGZyb2RvbEBkZHMubmw+IGFuZAogICAgIFBoaWxpcCBFZGVsYnJvY2sgPHBoaWxAbmV0cm9lZGdlLmNvbT4KIApAQCAtMzksMTYgKzM3LDEwIEBACiAjaW5jbHVkZSA8bGludXgvaTJjLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L2RtaS5oPgorI2luY2x1ZGUgPGxpbnV4L2FjcGkuaD4KICNpbmNsdWRlIDxhc20vaW8uaD4KIAogCi1zdHJ1Y3Qgc2QgewotCWNvbnN0IHVuc2lnbmVkIHNob3J0IG1mcjsKLQljb25zdCB1bnNpZ25lZCBzaG9ydCBkZXY7Ci0JY29uc3QgdW5zaWduZWQgY2hhciBmbjsKLQljb25zdCBjaGFyICpuYW1lOwotfTsKLQogLyogUElJWDQgU01CdXMgYWRkcmVzcyBvZmZzZXRzICovCiAjZGVmaW5lIFNNQkhTVFNUUwkoMCArIHBpaXg0X3NtYmEpCiAjZGVmaW5lIFNNQkhTTFZTVFMJKDEgKyBwaWl4NF9zbWJhKQpAQCAtMTAxLDggKzkzLDYgQEAKIAkJICJGb3JjaWJseSBlbmFibGUgdGhlIFBJSVg0IGF0IHRoZSBnaXZlbiBhZGRyZXNzLiAiCiAJCSAiRVhUUkVNRUxZIERBTkdFUk9VUyEiKTsKIAotc3RhdGljIGludCBwaWl4NF90cmFuc2FjdGlvbih2b2lkKTsKLQogc3RhdGljIHVuc2lnbmVkIHNob3J0IHBpaXg0X3NtYmE7CiBzdGF0aWMgaW50IHNydnJ3b3Jrc19jc2I1X2RlbGF5Owogc3RhdGljIHN0cnVjdCBwY2lfZHJpdmVyIHBpaXg0X2RyaXZlcjsKQEAgLTE0MSw4ICsxMzEsNiBAQAogewogCXVuc2lnbmVkIGNoYXIgdGVtcDsKIAotCWRldl9pbmZvKCZQSUlYNF9kZXYtPmRldiwgIkZvdW5kICVzIGRldmljZVxuIiwgcGNpX25hbWUoUElJWDRfZGV2KSk7Ci0KIAlpZiAoKFBJSVg0X2Rldi0+dmVuZG9yID09IFBDSV9WRU5ET1JfSURfU0VSVkVSV09SS1MpICYmCiAJICAgIChQSUlYNF9kZXYtPmRldmljZSA9PSBQQ0lfREVWSUNFX0lEX1NFUlZFUldPUktTX0NTQjUpKQogCQlzcnZyd29ya3NfY3NiNV9kZWxheSA9IDE7CkBAIC0xNzIsMTcgKzE2MCwyMCBAQAogCQlwY2lfcmVhZF9jb25maWdfd29yZChQSUlYNF9kZXYsIFNNQkJBLCAmcGlpeDRfc21iYSk7CiAJCXBpaXg0X3NtYmEgJj0gMHhmZmYwOwogCQlpZihwaWl4NF9zbWJhID09IDApIHsKLQkJCWRldl9lcnIoJlBJSVg0X2Rldi0+ZGV2LCAiU01CIGJhc2UgYWRkcmVzcyAiCisJCQlkZXZfZXJyKCZQSUlYNF9kZXYtPmRldiwgIlNNQnVzIGJhc2UgYWRkcmVzcyAiCiAJCQkJInVuaW5pdGlhbGl6ZWQgLSB1cGdyYWRlIEJJT1Mgb3IgdXNlICIKIAkJCQkiZm9yY2VfYWRkcj0weGFkZHJcbiIpOwogCQkJcmV0dXJuIC1FTk9ERVY7CiAJCX0KIAl9CiAKKwlpZiAoYWNwaV9jaGVja19yZWdpb24ocGlpeDRfc21iYSwgU01CSU9TSVpFLCBwaWl4NF9kcml2ZXIubmFtZSkpCisJCXJldHVybiAtRUJVU1k7CisKIAlpZiAoIXJlcXVlc3RfcmVnaW9uKHBpaXg0X3NtYmEsIFNNQklPU0laRSwgcGlpeDRfZHJpdmVyLm5hbWUpKSB7Ci0JCWRldl9lcnIoJlBJSVg0X2Rldi0+ZGV2LCAiU01CIHJlZ2lvbiAweCV4IGFscmVhZHkgaW4gdXNlIVxuIiwKKwkJZGV2X2VycigmUElJWDRfZGV2LT5kZXYsICJTTUJ1cyByZWdpb24gMHgleCBhbHJlYWR5IGluIHVzZSFcbiIsCiAJCQlwaWl4NF9zbWJhKTsKLQkJcmV0dXJuIC1FTk9ERVY7CisJCXJldHVybiAtRUJVU1k7CiAJfQogCiAJcGNpX3JlYWRfY29uZmlnX2J5dGUoUElJWDRfZGV2LCBTTUJIU1RDRkcsICZ0ZW1wKTsKQEAgLTIyOCwxMyArMjE5LDEzIEBACiAJCQkiKG9yIGNvZGUgb3V0IG9mIGRhdGUpIVxuIik7CiAKIAlwY2lfcmVhZF9jb25maWdfYnl0ZShQSUlYNF9kZXYsIFNNQlJFViwgJnRlbXApOwotCWRldl9kYmcoJlBJSVg0X2Rldi0+ZGV2LCAiU01CUkVWID0gMHglWFxuIiwgdGVtcCk7Ci0JZGV2X2RiZygmUElJWDRfZGV2LT5kZXYsICJTTUJBID0gMHglWFxuIiwgcGlpeDRfc21iYSk7CisJZGV2X2luZm8oJlBJSVg0X2Rldi0+ZGV2LAorCQkgIlNNQnVzIEhvc3QgQ29udHJvbGxlciBhdCAweCV4LCByZXZpc2lvbiAlZFxuIiwKKwkJIHBpaXg0X3NtYmEsIHRlbXApOwogCiAJcmV0dXJuIDA7CiB9CiAKLS8qIEFub3RoZXIgaW50ZXJuYWxseSB1c2VkIGZ1bmN0aW9uICovCiBzdGF0aWMgaW50IHBpaXg0X3RyYW5zYWN0aW9uKHZvaWQpCiB7CiAJaW50IHRlbXA7CkBAIC0yNTMsNyArMjQ0LDcgQEAKIAkJb3V0Yl9wKHRlbXAsIFNNQkhTVFNUUyk7CiAJCWlmICgodGVtcCA9IGluYl9wKFNNQkhTVFNUUykpICE9IDB4MDApIHsKIAkJCWRldl9lcnIoJnBpaXg0X2FkYXB0ZXIuZGV2LCAiRmFpbGVkISAoJTAyeClcbiIsIHRlbXApOwotCQkJcmV0dXJuIC0xOworCQkJcmV0dXJuIC1FQlVTWTsKIAkJfSBlbHNlIHsKIAkJCWRldl9kYmcoJnBpaXg0X2FkYXB0ZXIuZGV2LCAiU3VjY2Vzc2Z1bCFcbiIpOwogCQl9CkBAIC0yNzUsMjMgKzI2NiwyMyBAQAogCS8qIElmIHRoZSBTTUJ1cyBpcyBzdGlsbCBidXN5LCB3ZSBnaXZlIHVwICovCiAJaWYgKHRpbWVvdXQgPj0gTUFYX1RJTUVPVVQpIHsKIAkJZGV2X2VycigmcGlpeDRfYWRhcHRlci5kZXYsICJTTUJ1cyBUaW1lb3V0IVxuIik7Ci0JCXJlc3VsdCA9IC0xOworCQlyZXN1bHQgPSAtRVRJTUVET1VUOwogCX0KIAogCWlmICh0ZW1wICYgMHgxMCkgewotCQlyZXN1bHQgPSAtMTsKKwkJcmVzdWx0ID0gLUVJTzsKIAkJZGV2X2VycigmcGlpeDRfYWRhcHRlci5kZXYsICJFcnJvcjogRmFpbGVkIGJ1cyB0cmFuc2FjdGlvblxuIik7CiAJfQogCiAJaWYgKHRlbXAgJiAweDA4KSB7Ci0JCXJlc3VsdCA9IC0xOworCQlyZXN1bHQgPSAtRUlPOwogCQlkZXZfZGJnKCZwaWl4NF9hZGFwdGVyLmRldiwgIkJ1cyBjb2xsaXNpb24hIFNNQnVzIG1heSBiZSAiCiAJCQkibG9ja2VkIHVudGlsIG5leHQgaGFyZCByZXNldC4gKHNvcnJ5ISlcbiIpOwogCQkvKiBDbG9jayBzdG9wcyBhbmQgc2xhdmUgaXMgc3R1Y2sgaW4gbWlkLXRyYW5zbWlzc2lvbiAqLwogCX0KIAogCWlmICh0ZW1wICYgMHgwNCkgewotCQlyZXN1bHQgPSAtMTsKKwkJcmVzdWx0ID0gLUVOWElPOwogCQlkZXZfZGJnKCZwaWl4NF9hZGFwdGVyLmRldiwgIkVycm9yOiBubyByZXNwb25zZSFcbiIpOwogCX0KIApAQCAtMzA5LDMxICszMDAsMjkgQEAKIAlyZXR1cm4gcmVzdWx0OwogfQogCi0vKiBSZXR1cm4gLTEgb24gZXJyb3IuICovCisvKiBSZXR1cm4gbmVnYXRpdmUgZXJybm8gb24gZXJyb3IuICovCiBzdGF0aWMgczMyIHBpaXg0X2FjY2VzcyhzdHJ1Y3QgaTJjX2FkYXB0ZXIgKiBhZGFwLCB1MTYgYWRkciwKIAkJIHVuc2lnbmVkIHNob3J0IGZsYWdzLCBjaGFyIHJlYWRfd3JpdGUsCiAJCSB1OCBjb21tYW5kLCBpbnQgc2l6ZSwgdW5pb24gaTJjX3NtYnVzX2RhdGEgKiBkYXRhKQogewogCWludCBpLCBsZW47CisJaW50IHN0YXR1czsKIAogCXN3aXRjaCAoc2l6ZSkgewotCWNhc2UgSTJDX1NNQlVTX1BST0NfQ0FMTDoKLQkJZGV2X2VycigmYWRhcC0+ZGV2LCAiSTJDX1NNQlVTX1BST0NfQ0FMTCBub3Qgc3VwcG9ydGVkIVxuIik7Ci0JCXJldHVybiAtMTsKIAljYXNlIEkyQ19TTUJVU19RVUlDSzoKLQkJb3V0Yl9wKCgoYWRkciAmIDB4N2YpIDw8IDEpIHwgKHJlYWRfd3JpdGUgJiAweDAxKSwKKwkJb3V0Yl9wKChhZGRyIDw8IDEpIHwgcmVhZF93cml0ZSwKIAkJICAgICAgIFNNQkhTVEFERCk7CiAJCXNpemUgPSBQSUlYNF9RVUlDSzsKIAkJYnJlYWs7CiAJY2FzZSBJMkNfU01CVVNfQllURToKLQkJb3V0Yl9wKCgoYWRkciAmIDB4N2YpIDw8IDEpIHwgKHJlYWRfd3JpdGUgJiAweDAxKSwKKwkJb3V0Yl9wKChhZGRyIDw8IDEpIHwgcmVhZF93cml0ZSwKIAkJICAgICAgIFNNQkhTVEFERCk7CiAJCWlmIChyZWFkX3dyaXRlID09IEkyQ19TTUJVU19XUklURSkKIAkJCW91dGJfcChjb21tYW5kLCBTTUJIU1RDTUQpOwogCQlzaXplID0gUElJWDRfQllURTsKIAkJYnJlYWs7CiAJY2FzZSBJMkNfU01CVVNfQllURV9EQVRBOgotCQlvdXRiX3AoKChhZGRyICYgMHg3ZikgPDwgMSkgfCAocmVhZF93cml0ZSAmIDB4MDEpLAorCQlvdXRiX3AoKGFkZHIgPDwgMSkgfCByZWFkX3dyaXRlLAogCQkgICAgICAgU01CSFNUQUREKTsKIAkJb3V0Yl9wKGNvbW1hbmQsIFNNQkhTVENNRCk7CiAJCWlmIChyZWFkX3dyaXRlID09IEkyQ19TTUJVU19XUklURSkKQEAgLTM0MSw3ICszMzAsNyBAQAogCQlzaXplID0gUElJWDRfQllURV9EQVRBOwogCQlicmVhazsKIAljYXNlIEkyQ19TTUJVU19XT1JEX0RBVEE6Ci0JCW91dGJfcCgoKGFkZHIgJiAweDdmKSA8PCAxKSB8IChyZWFkX3dyaXRlICYgMHgwMSksCisJCW91dGJfcCgoYWRkciA8PCAxKSB8IHJlYWRfd3JpdGUsCiAJCSAgICAgICBTTUJIU1RBREQpOwogCQlvdXRiX3AoY29tbWFuZCwgU01CSFNUQ01EKTsKIAkJaWYgKHJlYWRfd3JpdGUgPT0gSTJDX1NNQlVTX1dSSVRFKSB7CkBAIC0zNTEsMTUgKzM0MCwxMyBAQAogCQlzaXplID0gUElJWDRfV09SRF9EQVRBOwogCQlicmVhazsKIAljYXNlIEkyQ19TTUJVU19CTE9DS19EQVRBOgotCQlvdXRiX3AoKChhZGRyICYgMHg3ZikgPDwgMSkgfCAocmVhZF93cml0ZSAmIDB4MDEpLAorCQlvdXRiX3AoKGFkZHIgPDwgMSkgfCByZWFkX3dyaXRlLAogCQkgICAgICAgU01CSFNUQUREKTsKIAkJb3V0Yl9wKGNvbW1hbmQsIFNNQkhTVENNRCk7CiAJCWlmIChyZWFkX3dyaXRlID09IEkyQ19TTUJVU19XUklURSkgewogCQkJbGVuID0gZGF0YS0+YmxvY2tbMF07Ci0JCQlpZiAobGVuIDwgMCkKLQkJCQlsZW4gPSAwOwotCQkJaWYgKGxlbiA+IDMyKQotCQkJCWxlbiA9IDMyOworCQkJaWYgKGxlbiA9PSAwIHx8IGxlbiA+IEkyQ19TTUJVU19CTE9DS19NQVgpCisJCQkJcmV0dXJuIC1FSU5WQUw7CiAJCQlvdXRiX3AobGVuLCBTTUJIU1REQVQwKTsKIAkJCWkgPSBpbmJfcChTTUJIU1RDTlQpOwkvKiBSZXNldCBTTUJCTEtEQVQgKi8KIAkJCWZvciAoaSA9IDE7IGkgPD0gbGVuOyBpKyspCkBAIC0zNjcsMTIgKzM1NCwxNiBAQAogCQl9CiAJCXNpemUgPSBQSUlYNF9CTE9DS19EQVRBOwogCQlicmVhazsKKwlkZWZhdWx0OgorCQlkZXZfd2FybigmYWRhcC0+ZGV2LCAiVW5zdXBwb3J0ZWQgdHJhbnNhY3Rpb24gJWRcbiIsIHNpemUpOworCQlyZXR1cm4gLUVPUE5PVFNVUFA7CiAJfQogCiAJb3V0Yl9wKChzaXplICYgMHgxQykgKyAoRU5BQkxFX0lOVDkgJiAxKSwgU01CSFNUQ05UKTsKIAotCWlmIChwaWl4NF90cmFuc2FjdGlvbigpKQkvKiBFcnJvciBpbiB0cmFuc2FjdGlvbiAqLwotCQlyZXR1cm4gLTE7CisJc3RhdHVzID0gcGlpeDRfdHJhbnNhY3Rpb24oKTsKKwlpZiAoc3RhdHVzKQorCQlyZXR1cm4gc3RhdHVzOwogCiAJaWYgKChyZWFkX3dyaXRlID09IEkyQ19TTUJVU19XUklURSkgfHwgKHNpemUgPT0gUElJWDRfUVVJQ0spKQogCQlyZXR1cm4gMDsKQEAgLTM4OCw2ICszNzksOCBAQAogCQlicmVhazsKIAljYXNlIFBJSVg0X0JMT0NLX0RBVEE6CiAJCWRhdGEtPmJsb2NrWzBdID0gaW5iX3AoU01CSFNUREFUMCk7CisJCWlmIChkYXRhLT5ibG9ja1swXSA9PSAwIHx8IGRhdGEtPmJsb2NrWzBdID4gSTJDX1NNQlVTX0JMT0NLX01BWCkKKwkJCXJldHVybiAtRVBST1RPOwogCQlpID0gaW5iX3AoU01CSFNUQ05UKTsJLyogUmVzZXQgU01CQkxLREFUICovCiAJCWZvciAoaSA9IDE7IGkgPD0gZGF0YS0+YmxvY2tbMF07IGkrKykKIAkJCWRhdGEtPmJsb2NrW2ldID0gaW5iX3AoU01CQkxLREFUKTsKQEAgLTQxMSw3ICs0MDQsNyBAQAogc3RhdGljIHN0cnVjdCBpMmNfYWRhcHRlciBwaWl4NF9hZGFwdGVyID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAkuaWQJCT0gSTJDX0hXX1NNQlVTX1BJSVg0LAotCS5jbGFzcwkJPSBJMkNfQ0xBU1NfSFdNT04sCisJLmNsYXNzCQk9IEkyQ19DTEFTU19IV01PTiB8IEkyQ19DTEFTU19TUEQsCiAJLmFsZ28JCT0gJnNtYnVzX2FsZ29yaXRobSwKIH07CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtcG1jbXNwLmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXBtY21zcC5jCmluZGV4IDYzYjNlMmMuLmRjZjIwNDUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtcG1jbXNwLmMKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1wbWNtc3AuYwpAQCAtNjIyLDcgKzYyMiw3IEBACiAKIHN0YXRpYyBzdHJ1Y3QgaTJjX2FkYXB0ZXIgcG1jbXNwdHdpX2FkYXB0ZXIgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAotCS5jbGFzcwkJPSBJMkNfQ0xBU1NfSFdNT04sCisJLmNsYXNzCQk9IEkyQ19DTEFTU19IV01PTiB8IEkyQ19DTEFTU19TUEQsCiAJLmFsZ28JCT0gJnBtY21zcHR3aV9hbGdvLAogCS5uYW1lCQk9IERSVl9OQU1FLAogfTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtcHJvc2F2YWdlLmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXByb3NhdmFnZS5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwN2MxZjFlLi4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtcHJvc2F2YWdlLmMKKysrIC9kZXYvbnVsbApAQCAtMSwzMjUgKzAsMCBAQAotLyoKLSAqICAgIGtlcm5lbC9idXNzZXMvaTJjLXByb3NhdmFnZS5jCi0gKgotICogICAgaTJjIGJ1cyBkcml2ZXIgZm9yIFMzL1ZJQSA4MzY1LzgzNzUgZ3JhcGhpY3MgcHJvY2Vzc29yLgotICogICAgQ29weXJpZ2h0IChjKSAyMDAzIEhlbmsgVmVyZ29uZXQgPGhlbmtAZ29kLmR5bmRucy5vcmc+Ci0gKiAgICBCYXNlZCBvbiBjb2RlIHdyaXR0ZW4gYnk6Ci0gKglGcm9kbyBMb29pamFhcmQgPGZyb2RvbEBkZHMubmw+LAotICoJUGhpbGlwIEVkZWxicm9jayA8cGhpbEBuZXRyb2VkZ2UuY29tPiwKLSAqCVJhbHBoIE1ldHpsZXIgPHJqa21AdGhwLnVuaS1rb2Vsbi5kZT4sIGFuZAotICoJTWFyayBELiBTdHVkZWJha2VyIDxtZHN4eXoxMjNAeWFob28uY29tPgotICoJU2ltb24gVm9nbAotICoJYW5kIG90aGVycwotICoKLSAqICAgIFBsZWFzZSByZWFkIHRoZSBsbV9zZW5zb3JzIGRvY3VtZW50YXRpb24gZm9yIGRldGFpbHMgb24gdXNlLgotICoKLSAqICAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gKiAgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotICogICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKLSAqICAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotICogICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKLSAqICAgIEZvdW5kYXRpb24sIEluYy4sIDY3NSBNYXNzIEF2ZSwgQ2FtYnJpZGdlLCBNQSAwMjEzOSwgVVNBLgotICoKLSAqLwotLyogIDE4LTA1LTIwMDMgSFZFIC0gY3JlYXRlZAotICogIDE0LTA2LTIwMDMgSFZFIC0gYWRhcHRlZCBmb3IgbG1fc2Vuc29yczIKLSAqICAxNy0wNi0yMDAzIEhWRSAtIGxpbnV4IDIuNS54eCBjb21wYXRpYmxlCi0gKiAgMTgtMDYtMjAwMyBIVkUgLSBjb2RpbmdzdHlsZQotICogIDIxLTA2LTIwMDMgSFZFIC0gY29tcGF0aWJpbGl0eSBsbV9zZW5zb3JzMiBhbmQgbGludXggMi41Lnh4Ci0gKgkJICAgICBjb2RpbmdzdHlsZSwgbW1pbyBlbmFibGVkCi0gKgotICogIFRoaXMgZHJpdmVyIGludGVyZmFjZXMgdG8gdGhlIEkyQyBidXMgb2YgdGhlIFZJQSBub3J0aCBicmlkZ2UgZW1iZWRkZWQKLSAqICBQcm9TYXZhZ2U0LzggZGV2aWNlcy4gVXNlZnVsbCBmb3IgZ2FpbmluZyBhY2Nlc3MgdG8gdGhlIFRWIEVuY29kZXIgY2hpcHMuCi0gKgotICogIEdyYXBoaWNzIGNvcmVzOgotICogICBTMy9WSUEgS00yNjYvVlQ4Mzc1IGFrYSBQcm9TYXZhZ2U4Ci0gKiAgIFMzL1ZJQSBLTTEzMy9WVDgzNjUgYWthIFNhdmFnZTQKLSAqCi0gKiAgVHdvIHNlcmlhbCBidXNzZXMgYXJlIGltcGxlbWVudGVkOgotICogICBTRVJJQUwxIC0gSTJDIHNlcmlhbCBjb21tdW5pY2F0aW9ucyBpbnRlcmZhY2UKLSAqICAgU0VSSUFMMiAtIEREQzIgbW9uaXRvciBjb21tdW5pY2F0aW9ucyBpbnRlcmZhY2UKLSAqCi0gKiAgVGVzdGVkIG9uIGEgRlg0MSBtYWluYm9hcmQsIHNlZSBodHRwOi8vd3d3LnNodXR0bGUuY29tCi0gKiAKLSAqCi0gKiAgVE9ETzoKLSAqICAtIGludGVncmF0aW9uIHdpdGggcHJvc2F2YWdlIGZyYW1lYnVmZmVyIGRldmljZQotICogICAgKEFkZGl0aW9uYWwgZG9jdW1lbnRhdGlvbiBuZWVkZWQgOigKLSAqLwotCi0jaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+Ci0jaW5jbHVkZSA8bGludXgvaW5pdC5oPgotI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgotI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgotI2luY2x1ZGUgPGxpbnV4L2kyYy1hbGdvLWJpdC5oPgotI2luY2x1ZGUgPGFzbS9pby5oPgotCi0vKgotICogZHJpdmVyIGNvbmZpZ3VyYXRpb24KLSAqLwotI2RlZmluZSBNQVhfQlVTU0VTCTIKLQotc3RydWN0IHNfaTJjX2J1cyB7Ci0Jdm9pZCBfX2lvbWVtICptbXZnYTsKLQlpbnQJaTJjX3JlZzsKLQlpbnQJYWRhcF9vazsKLQlzdHJ1Y3QgaTJjX2FkYXB0ZXIJCWFkYXA7Ci0Jc3RydWN0IGkyY19hbGdvX2JpdF9kYXRhCWFsZ287Ci19OwotCi1zdHJ1Y3Qgc19pMmNfY2hpcCB7Ci0Jdm9pZCBfX2lvbWVtICptbWlvOwotCXN0cnVjdCBzX2kyY19idXMJaTJjX2J1c1tNQVhfQlVTU0VTXTsKLX07Ci0KLQotLyoKLSAqIGkyYyBjb25maWd1cmF0aW9uCi0gKi8KLSNkZWZpbmUgQ1lDTEVfREVMQVkJMTAKLSNkZWZpbmUgVElNRU9VVAkJKEhaIC8gMikKLQotCi0vKiAKLSAqIFMzL1ZJQSA4MzY1LzgzNzUgcmVnaXN0ZXJzCi0gKi8KLSNkZWZpbmUgVkdBX0NSX0lYCTB4M2Q0Ci0jZGVmaW5lIFZHQV9DUl9EQVRBCTB4M2Q1Ci0KLSNkZWZpbmUgQ1JfU0VSSUFMMQkweGEwCS8qIEkyQyBzZXJpYWwgY29tbXVuaWNhdGlvbnMgaW50ZXJmYWNlICovCi0jZGVmaW5lIE1NX1NFUklBTDEJMHhmZjIwCi0jZGVmaW5lIENSX1NFUklBTDIJMHhiMQkvKiBEREMyIG1vbml0b3IgY29tbXVuaWNhdGlvbnMgaW50ZXJmYWNlICovCi0KLS8qIGJhc2VkIG9uIHZ0ODM2NSBkb2N1bWVudGF0aW9uICovCi0jZGVmaW5lIEkyQ19FTkFCCTB4MTAKLSNkZWZpbmUgSTJDX1NDTF9PVVQJMHgwMQotI2RlZmluZSBJMkNfU0RBX09VVAkweDAyCi0jZGVmaW5lIEkyQ19TQ0xfSU4JMHgwNAotI2RlZmluZSBJMkNfU0RBX0lOCTB4MDgKLQotI2RlZmluZSBTRVRfQ1JfSVgocCwgdmFsKQl3cml0ZWIoKHZhbCksIChwKS0+bW12Z2EgKyBWR0FfQ1JfSVgpCi0jZGVmaW5lIFNFVF9DUl9EQVRBKHAsIHZhbCkJd3JpdGViKCh2YWwpLCAocCktPm1tdmdhICsgVkdBX0NSX0RBVEEpCi0jZGVmaW5lIEdFVF9DUl9EQVRBKHApCQlyZWFkYigocCktPm1tdmdhICsgVkdBX0NSX0RBVEEpCi0KLQotLyoKLSAqIFNlcmlhbCBidXMgbGluZSBoYW5kbGluZwotICoKLSAqIHNlcmlhbCBjb21tdW5pY2F0aW9ucyByZWdpc3RlciBhcyBwYXJhbWV0ZXIgaW4gcHJpdmF0ZSBkYXRhCi0gKgotICogVE9ETzogbG9ja3Mgd2l0aCBvdGhlciBjb2RlIHNlY3Rpb25zIGFjY2Vzc2luZyB2aWRlbyByZWdpc3RlcnM/Ci0gKi8KLXN0YXRpYyB2b2lkIGJpdF9zM3ZpYV9zZXRzY2wodm9pZCAqYnVzLCBpbnQgdmFsKQotewotCXN0cnVjdCBzX2kyY19idXMgKnAgPSAoc3RydWN0IHNfaTJjX2J1cyAqKWJ1czsKLQl1bnNpZ25lZCBpbnQgcjsKLQotCVNFVF9DUl9JWChwLCBwLT5pMmNfcmVnKTsKLQlyID0gR0VUX0NSX0RBVEEocCk7Ci0JciB8PSBJMkNfRU5BQjsKLQlpZiAodmFsKSB7Ci0JCXIgfD0gSTJDX1NDTF9PVVQ7Ci0JfSBlbHNlIHsKLQkJciAmPSB+STJDX1NDTF9PVVQ7Ci0JfQotCVNFVF9DUl9EQVRBKHAsIHIpOwotfQotCi1zdGF0aWMgdm9pZCBiaXRfczN2aWFfc2V0c2RhKHZvaWQgKmJ1cywgaW50IHZhbCkKLXsKLQlzdHJ1Y3Qgc19pMmNfYnVzICpwID0gKHN0cnVjdCBzX2kyY19idXMgKilidXM7Ci0JdW5zaWduZWQgaW50IHI7Ci0JCi0JU0VUX0NSX0lYKHAsIHAtPmkyY19yZWcpOwotCXIgPSBHRVRfQ1JfREFUQShwKTsKLQlyIHw9IEkyQ19FTkFCOwotCWlmICh2YWwpIHsKLQkJciB8PSBJMkNfU0RBX09VVDsKLQl9IGVsc2UgewotCQlyICY9IH5JMkNfU0RBX09VVDsKLQl9Ci0JU0VUX0NSX0RBVEEocCwgcik7Ci19Ci0KLXN0YXRpYyBpbnQgYml0X3MzdmlhX2dldHNjbCh2b2lkICpidXMpCi17Ci0Jc3RydWN0IHNfaTJjX2J1cyAqcCA9IChzdHJ1Y3Qgc19pMmNfYnVzICopYnVzOwotCi0JU0VUX0NSX0lYKHAsIHAtPmkyY19yZWcpOwotCXJldHVybiAoMCAhPSAoR0VUX0NSX0RBVEEocCkgJiBJMkNfU0NMX0lOKSk7Ci19Ci0KLXN0YXRpYyBpbnQgYml0X3MzdmlhX2dldHNkYSh2b2lkICpidXMpCi17Ci0Jc3RydWN0IHNfaTJjX2J1cyAqcCA9IChzdHJ1Y3Qgc19pMmNfYnVzICopYnVzOwotCi0JU0VUX0NSX0lYKHAsIHAtPmkyY19yZWcpOwotCXJldHVybiAoMCAhPSAoR0VUX0NSX0RBVEEocCkgJiBJMkNfU0RBX0lOKSk7Ci19Ci0KLQotLyoKLSAqIGFkYXB0ZXIgaW5pdGlhbGlzYXRpb24KLSAqLwotc3RhdGljIGludCBpMmNfcmVnaXN0ZXJfYnVzKHN0cnVjdCBwY2lfZGV2ICpkZXYsIHN0cnVjdCBzX2kyY19idXMgKnAsIHZvaWQgX19pb21lbSAqbW12Z2EsIHUzMiBpMmNfcmVnKQotewotCWludCByZXQ7Ci0JcC0+YWRhcC5vd25lcgkgID0gVEhJU19NT0RVTEU7Ci0JcC0+YWRhcC5pZAkgID0gSTJDX0hXX0JfUzNWSUE7Ci0JcC0+YWRhcC5hbGdvX2RhdGEgPSAmcC0+YWxnbzsKLQlwLT5hZGFwLmRldi5wYXJlbnQgPSAmZGV2LT5kZXY7Ci0JcC0+YWxnby5zZXRzZGEJICA9IGJpdF9zM3ZpYV9zZXRzZGE7Ci0JcC0+YWxnby5zZXRzY2wJICA9IGJpdF9zM3ZpYV9zZXRzY2w7Ci0JcC0+YWxnby5nZXRzZGEJICA9IGJpdF9zM3ZpYV9nZXRzZGE7Ci0JcC0+YWxnby5nZXRzY2wJICA9IGJpdF9zM3ZpYV9nZXRzY2w7Ci0JcC0+YWxnby51ZGVsYXkJICA9IENZQ0xFX0RFTEFZOwotCXAtPmFsZ28udGltZW91dAkgID0gVElNRU9VVDsKLQlwLT5hbGdvLmRhdGEJICA9IHA7Ci0JcC0+bW12Z2EJICA9IG1tdmdhOwotCXAtPmkyY19yZWcJICA9IGkyY19yZWc7Ci0gICAgCi0JcmV0ID0gaTJjX2JpdF9hZGRfYnVzKCZwLT5hZGFwKTsKLQlpZiAocmV0KSB7Ci0JCXJldHVybiByZXQ7Ci0JfQotCi0JcC0+YWRhcF9vayA9IDE7Ci0JcmV0dXJuIDA7Ci19Ci0KLQotLyoKLSAqIENsZWFudXAgc3R1ZmYKLSAqLwotc3RhdGljIHZvaWQgcHJvc2F2YWdlX3JlbW92ZShzdHJ1Y3QgcGNpX2RldiAqZGV2KQotewotCXN0cnVjdCBzX2kyY19jaGlwICpjaGlwOwotCWludCBpLCByZXQ7Ci0KLQljaGlwID0gKHN0cnVjdCBzX2kyY19jaGlwICopcGNpX2dldF9kcnZkYXRhKGRldik7Ci0KLQlpZiAoIWNoaXApIHsKLQkJcmV0dXJuOwotCX0KLQlmb3IgKGkgPSBNQVhfQlVTU0VTIC0gMTsgaSA+PSAwOyBpLS0pIHsKLQkJaWYgKGNoaXAtPmkyY19idXNbaV0uYWRhcF9vayA9PSAwKQotCQkJY29udGludWU7Ci0KLQkJcmV0ID0gaTJjX2RlbF9hZGFwdGVyKCZjaGlwLT5pMmNfYnVzW2ldLmFkYXApOwotCSAgICAgICAgaWYgKHJldCkgewotCQkJZGV2X2VycigmZGV2LT5kZXYsICIlcyBub3QgcmVtb3ZlZFxuIiwKLQkJCQljaGlwLT5pMmNfYnVzW2ldLmFkYXAubmFtZSk7Ci0JCX0KLQl9Ci0JaWYgKGNoaXAtPm1taW8pIHsKLQkJaW91bm1hcChjaGlwLT5tbWlvKTsKLQl9Ci0Ja2ZyZWUoY2hpcCk7Ci19Ci0KLQotLyoKLSAqIERldGVjdCBjaGlwIGFuZCBpbml0aWFsaXplIGl0Ci0gKi8KLXN0YXRpYyBpbnQgX19kZXZpbml0IHByb3NhdmFnZV9wcm9iZShzdHJ1Y3QgcGNpX2RldiAqZGV2LCBjb25zdCBzdHJ1Y3QgcGNpX2RldmljZV9pZCAqaWQpCi17Ci0JaW50IHJldDsKLQl1bnNpZ25lZCBsb25nIGJhc2UsIGxlbjsKLQlzdHJ1Y3Qgc19pMmNfY2hpcCAqY2hpcDsKLQlzdHJ1Y3Qgc19pMmNfYnVzICAqYnVzOwotCi0JcGNpX3NldF9kcnZkYXRhKGRldiwga3phbGxvYyhzaXplb2Yoc3RydWN0IHNfaTJjX2NoaXApLCBHRlBfS0VSTkVMKSk7Ci0JY2hpcCA9IChzdHJ1Y3Qgc19pMmNfY2hpcCAqKXBjaV9nZXRfZHJ2ZGF0YShkZXYpOwotCWlmIChjaGlwID09IE5VTEwpIHsKLQkJcmV0dXJuIC1FTk9NRU07Ci0JfQotCi0JYmFzZSA9IGRldi0+cmVzb3VyY2VbMF0uc3RhcnQgJiBQQ0lfQkFTRV9BRERSRVNTX01FTV9NQVNLOwotCWxlbiAgPSBkZXYtPnJlc291cmNlWzBdLmVuZCAtIGJhc2UgKyAxOwotCWNoaXAtPm1taW8gPSBpb3JlbWFwX25vY2FjaGUoYmFzZSwgbGVuKTsKLQotCWlmIChjaGlwLT5tbWlvID09IE5VTEwpIHsKLQkJZGV2X2VycigmZGV2LT5kZXYsICJpb3JlbWFwIGZhaWxlZFxuIik7Ci0JCXByb3NhdmFnZV9yZW1vdmUoZGV2KTsKLQkJcmV0dXJuIC1FTk9ERVY7Ci0JfQotCi0KLQkvKgotCSAqIENoaXAgaW5pdGlhbGlzYXRpb24KLQkgKi8KLQkvKiBVbmxvY2sgRXh0ZW5kZWQgSU8gU3BhY2UgPz8/ICovCi0KLQotCS8qCi0JICogaTJjIGJ1cyByZWdpc3RyYXRpb24KLQkgKi8KLQlidXMgPSAmY2hpcC0+aTJjX2J1c1swXTsKLQlzbnByaW50ZihidXMtPmFkYXAubmFtZSwgc2l6ZW9mKGJ1cy0+YWRhcC5uYW1lKSwKLQkJIlByb1NhdmFnZSBJMkMgYnVzIGF0ICUwMng6JTAyeC4leCIsCi0JCWRldi0+YnVzLT5udW1iZXIsIFBDSV9TTE9UKGRldi0+ZGV2Zm4pLCBQQ0lfRlVOQyhkZXYtPmRldmZuKSk7Ci0JcmV0ID0gaTJjX3JlZ2lzdGVyX2J1cyhkZXYsIGJ1cywgY2hpcC0+bW1pbyArIDB4ODAwMCwgQ1JfU0VSSUFMMSk7Ci0JaWYgKHJldCkgewotCQlnb3RvIGVycl9hZGFwOwotCX0KLQkvKgotCSAqIGRkYyBidXMgcmVnaXN0cmF0aW9uCi0JICovCi0JYnVzID0gJmNoaXAtPmkyY19idXNbMV07Ci0Jc25wcmludGYoYnVzLT5hZGFwLm5hbWUsIHNpemVvZihidXMtPmFkYXAubmFtZSksCi0JCSJQcm9TYXZhZ2UgRERDIGJ1cyBhdCAlMDJ4OiUwMnguJXgiLAotCQlkZXYtPmJ1cy0+bnVtYmVyLCBQQ0lfU0xPVChkZXYtPmRldmZuKSwgUENJX0ZVTkMoZGV2LT5kZXZmbikpOwotCXJldCA9IGkyY19yZWdpc3Rlcl9idXMoZGV2LCBidXMsIGNoaXAtPm1taW8gKyAweDgwMDAsIENSX1NFUklBTDIpOwotCWlmIChyZXQpIHsKLQkJZ290byBlcnJfYWRhcDsKLQl9Ci0JcmV0dXJuIDA7Ci1lcnJfYWRhcDoKLQlkZXZfZXJyKCZkZXYtPmRldiwgIiVzIGZhaWxlZFxuIiwgYnVzLT5hZGFwLm5hbWUpOwotCXByb3NhdmFnZV9yZW1vdmUoZGV2KTsKLQlyZXR1cm4gcmV0OwotfQotCi0KLS8qCi0gKiBEYXRhIGZvciBQQ0kgZHJpdmVyIGludGVyZmFjZQotICovCi1zdGF0aWMgc3RydWN0IHBjaV9kZXZpY2VfaWQgcHJvc2F2YWdlX3BjaV90YmxbXSA9IHsKLQl7IFBDSV9ERVZJQ0UoUENJX1ZFTkRPUl9JRF9TMywgUENJX0RFVklDRV9JRF9TM19TQVZBR0U0KSB9LAotCXsgUENJX0RFVklDRShQQ0lfVkVORE9SX0lEX1MzLCBQQ0lfREVWSUNFX0lEX1MzX1BST1NBVkFHRTgpIH0sCi0JeyAwLCB9LAotfTsKLQotTU9EVUxFX0RFVklDRV9UQUJMRSAocGNpLCBwcm9zYXZhZ2VfcGNpX3RibCk7Ci0KLXN0YXRpYyBzdHJ1Y3QgcGNpX2RyaXZlciBwcm9zYXZhZ2VfZHJpdmVyID0gewotCS5uYW1lCQk9CSJwcm9zYXZhZ2Vfc21idXMiLAotCS5pZF90YWJsZQk9CXByb3NhdmFnZV9wY2lfdGJsLAotCS5wcm9iZQkJPQlwcm9zYXZhZ2VfcHJvYmUsCi0JLnJlbW92ZQkJPQlwcm9zYXZhZ2VfcmVtb3ZlLAotfTsKLQotc3RhdGljIGludCBfX2luaXQgaTJjX3Byb3NhdmFnZV9pbml0KHZvaWQpCi17Ci0JcmV0dXJuIHBjaV9yZWdpc3Rlcl9kcml2ZXIoJnByb3NhdmFnZV9kcml2ZXIpOwotfQotCi1zdGF0aWMgdm9pZCBfX2V4aXQgaTJjX3Byb3NhdmFnZV9leGl0KHZvaWQpCi17Ci0JcGNpX3VucmVnaXN0ZXJfZHJpdmVyKCZwcm9zYXZhZ2VfZHJpdmVyKTsKLX0KLQotTU9EVUxFX0RFVklDRV9UQUJMRShwY2ksIHByb3NhdmFnZV9wY2lfdGJsKTsKLU1PRFVMRV9BVVRIT1IoIkhlbmsgVmVyZ29uZXQiKTsKLU1PRFVMRV9ERVNDUklQVElPTigiUHJvU2F2YWdlIFZJQSA4MzY1LzgzNzUgc21idXMgZHJpdmVyIik7Ci1NT0RVTEVfTElDRU5TRSgiR1BMIik7Ci0KLW1vZHVsZV9pbml0IChpMmNfcHJvc2F2YWdlX2luaXQpOwotbW9kdWxlX2V4aXQgKGkyY19wcm9zYXZhZ2VfZXhpdCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXB4YS5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1weGEuYwppbmRleCBlYjY5ZmJhLi5hZjllNjAzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXB4YS5jCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtcHhhLmMKQEAgLTM5LDcgKzM5LDYgQEAKICNpbmNsdWRlIDxhc20vaW8uaD4KICNpbmNsdWRlIDxhc20vYXJjaC9pMmMuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9weGEtcmVncy5oPgotI2luY2x1ZGUgPGFzbS9hcmNoL3B4YTJ4eC1ncGlvLmg+CiAKIHN0cnVjdCBweGFfaTJjIHsKIAlzcGlubG9ja190CQlsb2NrOwpAQCAtOTQ1LDMyICs5NDQsNiBAQAogCS5mdW5jdGlvbmFsaXR5CT0gaTJjX3B4YV9mdW5jdGlvbmFsaXR5LAogfTsKIAotc3RhdGljIHZvaWQgaTJjX3B4YV9lbmFibGUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZGV2KQotewotCWlmIChjcHVfaXNfcHhhMjd4KCkpIHsKLQkJc3dpdGNoIChkZXYtPmlkKSB7Ci0JCWNhc2UgMDoKLQkJCXB4YV9ncGlvX21vZGUoR1BJTzExN19JMkNTQ0xfTUQpOwotCQkJcHhhX2dwaW9fbW9kZShHUElPMTE4X0kyQ1NEQV9NRCk7Ci0JCQlicmVhazsKLQkJY2FzZSAxOgotCQkJbG9jYWxfaXJxX2Rpc2FibGUoKTsKLQkJCVBDRlIgfD0gUENGUl9QSTJDRU47Ci0JCQlsb2NhbF9pcnFfZW5hYmxlKCk7Ci0JCQlicmVhazsKLQkJfQotCX0KLX0KLQotc3RhdGljIHZvaWQgaTJjX3B4YV9kaXNhYmxlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRldikKLXsKLQlpZiAoY3B1X2lzX3B4YTI3eCgpICYmIGRldi0+aWQgPT0gMSkgewotCQlsb2NhbF9pcnFfZGlzYWJsZSgpOwotCQlQQ0ZSICY9IH5QQ0ZSX1BJMkNFTjsKLQkJbG9jYWxfaXJxX2VuYWJsZSgpOwotCX0KLX0KLQogI2RlZmluZSByZXNfbGVuKHIpCQkoKHIpLT5lbmQgLSAociktPnN0YXJ0ICsgMSkKIHN0YXRpYyBpbnQgaTJjX3B4YV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpkZXYpCiB7CkBAIC0xMDM2LDcgKzEwMDksNiBAQAogI2VuZGlmCiAKIAljbGtfZW5hYmxlKGkyYy0+Y2xrKTsKLQlpMmNfcHhhX2VuYWJsZShkZXYpOwogCiAJaWYgKHBsYXQpIHsKIAkJaTJjLT5hZGFwLmNsYXNzID0gcGxhdC0+Y2xhc3M7CkBAIC0xMDgwLDcgKzEwNTIsNiBAQAogCQlmcmVlX2lycShpcnEsIGkyYyk7CiBlcmVxaXJxOgogCWNsa19kaXNhYmxlKGkyYy0+Y2xrKTsKLQlpMmNfcHhhX2Rpc2FibGUoZGV2KTsKIAlpb3VubWFwKGkyYy0+cmVnX2Jhc2UpOwogZXJlbWFwOgogCWNsa19wdXQoaTJjLT5jbGspOwpAQCAtMTEwMyw3ICsxMDc0LDYgQEAKIAogCWNsa19kaXNhYmxlKGkyYy0+Y2xrKTsKIAljbGtfcHV0KGkyYy0+Y2xrKTsKLQlpMmNfcHhhX2Rpc2FibGUoZGV2KTsKIAogCWlvdW5tYXAoaTJjLT5yZWdfYmFzZSk7CiAJcmVsZWFzZV9tZW1fcmVnaW9uKGkyYy0+aW9iYXNlLCBpMmMtPmlvc2l6ZSk7CkBAIC0xMTM0LDUgKzExMDQsNSBAQAogTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwogTU9EVUxFX0FMSUFTKCJwbGF0Zm9ybTpweGEyeHgtaTJjIik7CiAKLW1vZHVsZV9pbml0KGkyY19hZGFwX3B4YV9pbml0KTsKK3N1YnN5c19pbml0Y2FsbChpMmNfYWRhcF9weGFfaW5pdCk7CiBtb2R1bGVfZXhpdChpMmNfYWRhcF9weGFfZXhpdCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXMzYzI0MTAuYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtczNjMjQxMC5jCmluZGV4IDllOGM4NzUuLjAwNzM5MGEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtczNjMjQxMC5jCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtczNjMjQxMC5jCkBAIC01OTAsNyArNTkwLDcgQEAKIAkJLm93bmVyCQkJPSBUSElTX01PRFVMRSwKIAkJLmFsZ28JCQk9ICZzM2MyNHh4X2kyY19hbGdvcml0aG0sCiAJCS5yZXRyaWVzCQk9IDIsCi0JCS5jbGFzcwkJCT0gSTJDX0NMQVNTX0hXTU9OLAorCQkuY2xhc3MJCQk9IEkyQ19DTEFTU19IV01PTiB8IEkyQ19DTEFTU19TUEQsCiAJfSwKIH07CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtc2F2YWdlNC5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1zYXZhZ2U0LmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhhZGY0YWIuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1zYXZhZ2U0LmMKKysrIC9kZXYvbnVsbApAQCAtMSwxODUgKzAsMCBAQAotLyoKLSAgICBpMmMtc2F2YWdlNC5jIC0gUGFydCBvZiBsbV9zZW5zb3JzLCBMaW51eCBrZXJuZWwgbW9kdWxlcyBmb3IgaGFyZHdhcmUKLSAgICAgICAgICAgICAgbW9uaXRvcmluZwotICAgIENvcHlyaWdodCAoQykgMTk5OC0yMDAzICBUaGUgTE0gU2Vuc29ycyBUZWFtCi0gICAgQWxleGFuZGVyIFdvbGQgPGF3b2xkQGJpZ2Zvb3QuY29tPgotICAgIE1hcmsgRC4gU3R1ZGViYWtlciA8bWRzeHl6MTIzQHlhaG9vLmNvbT4KLSAgICAKLSAgICBCYXNlZCBvbiBpMmMtdm9vZG9vMy5jLgotCi0gICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCi0gICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLQotICAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotICAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0KLSAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0gICAgRm91bmRhdGlvbiwgSW5jLiwgNjc1IE1hc3MgQXZlLCBDYW1icmlkZ2UsIE1BIDAyMTM5LCBVU0EuCi0qLwotCi0vKiBUaGlzIGludGVyZmFjZXMgdG8gdGhlIEkyQyBidXMgb2YgdGhlIFNhdmFnZTQgdG8gZ2FpbiBhY2Nlc3MgdG8KLSAgIHRoZSBCVDg2OSBhbmQgcG9zc2libHkgb3RoZXIgSTJDIGRldmljZXMuIFRoZSBEREMgYnVzIGlzIG5vdAotICAgeWV0IHN1cHBvcnRlZCBiZWNhdXNlIGl0cyByZWdpc3RlciBpcyBub3QgbWVtb3J5LW1hcHBlZC4KLSovCi0KLSNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KLSNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KLSNpbmNsdWRlIDxsaW51eC9pbml0Lmg+Ci0jaW5jbHVkZSA8bGludXgvcGNpLmg+Ci0jaW5jbHVkZSA8bGludXgvaTJjLmg+Ci0jaW5jbHVkZSA8bGludXgvaTJjLWFsZ28tYml0Lmg+Ci0jaW5jbHVkZSA8YXNtL2lvLmg+Ci0KLS8qIGRldmljZSBJRHMgKi8KLSNkZWZpbmUgUENJX0NISVBfU0FWQUdFNAkweDhBMjIKLSNkZWZpbmUgUENJX0NISVBfU0FWQUdFMjAwMAkweDkxMDIKLQotI2RlZmluZSBSRUcJCQkweGZmMjAJLyogU2VyaWFsIFBvcnQgMSBSZWdpc3RlciAqLwotCi0vKiBiaXQgbG9jYXRpb25zIGluIHRoZSByZWdpc3RlciAqLwotI2RlZmluZSBJMkNfRU5BQgkJMHgwMDAwMDAyMAotI2RlZmluZSBJMkNfU0NMX09VVAkJMHgwMDAwMDAwMQotI2RlZmluZSBJMkNfU0RBX09VVAkJMHgwMDAwMDAwMgotI2RlZmluZSBJMkNfU0NMX0lOCQkweDAwMDAwMDA4Ci0jZGVmaW5lIEkyQ19TREFfSU4JCTB4MDAwMDAwMTAKLQotLyogZGVsYXlzICovCi0jZGVmaW5lIENZQ0xFX0RFTEFZCQkxMAotI2RlZmluZSBUSU1FT1VUCQkJKEhaIC8gMikKLQotCi1zdGF0aWMgdm9pZCBfX2lvbWVtICppb2FkZHI7Ci0KLS8qIFRoZSBzYXYgR1BJTyByZWdpc3RlcnMgZG9uJ3QgaGF2ZSBpbmRpdmlkdWFsIG1hc2tzIGZvciBlYWNoIGJpdAotICAgc28gd2UgYWx3YXlzIGhhdmUgdG8gcmVhZCBiZWZvcmUgd3JpdGluZy4gKi8KLQotc3RhdGljIHZvaWQgYml0X3NhdmkyY19zZXRzY2wodm9pZCAqZGF0YSwgaW50IHZhbCkKLXsKLQl1bnNpZ25lZCBpbnQgcjsKLQlyID0gcmVhZGwoaW9hZGRyICsgUkVHKTsKLQlpZih2YWwpCi0JCXIgfD0gSTJDX1NDTF9PVVQ7Ci0JZWxzZQotCQlyICY9IH5JMkNfU0NMX09VVDsKLQl3cml0ZWwociwgaW9hZGRyICsgUkVHKTsKLQlyZWFkbChpb2FkZHIgKyBSRUcpOwkvKiBmbHVzaCBwb3N0ZWQgd3JpdGUgKi8KLX0KLQotc3RhdGljIHZvaWQgYml0X3NhdmkyY19zZXRzZGEodm9pZCAqZGF0YSwgaW50IHZhbCkKLXsKLQl1bnNpZ25lZCBpbnQgcjsKLQlyID0gcmVhZGwoaW9hZGRyICsgUkVHKTsKLQlpZih2YWwpCi0JCXIgfD0gSTJDX1NEQV9PVVQ7Ci0JZWxzZQotCQlyICY9IH5JMkNfU0RBX09VVDsKLQl3cml0ZWwociwgaW9hZGRyICsgUkVHKTsKLQlyZWFkbChpb2FkZHIgKyBSRUcpOwkvKiBmbHVzaCBwb3N0ZWQgd3JpdGUgKi8KLX0KLQotLyogVGhlIEdQSU8gcGlucyBhcmUgb3BlbiBkcmFpbiwgc28gdGhlIHBpbnMgYWx3YXlzIHJlbWFpbiBvdXRwdXRzLgotICAgV2UgcmVseSBvbiB0aGUgaTJjLWFsZ28tYml0IHJvdXRpbmVzIHRvIHNldCB0aGUgcGlucyBoaWdoIGJlZm9yZQotICAgcmVhZGluZyB0aGUgaW5wdXQgZnJvbSBvdGhlciBjaGlwcy4gKi8KLQotc3RhdGljIGludCBiaXRfc2F2aTJjX2dldHNjbCh2b2lkICpkYXRhKQotewotCXJldHVybiAoMCAhPSAocmVhZGwoaW9hZGRyICsgUkVHKSAmIEkyQ19TQ0xfSU4pKTsKLX0KLQotc3RhdGljIGludCBiaXRfc2F2aTJjX2dldHNkYSh2b2lkICpkYXRhKQotewotCXJldHVybiAoMCAhPSAocmVhZGwoaW9hZGRyICsgUkVHKSAmIEkyQ19TREFfSU4pKTsKLX0KLQotLyogQ29uZmlndXJlcyB0aGUgY2hpcCAqLwotCi1zdGF0aWMgaW50IGNvbmZpZ19zNChzdHJ1Y3QgcGNpX2RldiAqZGV2KQotewotCXVuc2lnbmVkIGxvbmcgY2FkcjsKLQotCS8qIG1hcCBtZW1vcnkgKi8KLQljYWRyID0gZGV2LT5yZXNvdXJjZVswXS5zdGFydDsKLQljYWRyICY9IFBDSV9CQVNFX0FERFJFU1NfTUVNX01BU0s7Ci0JaW9hZGRyID0gaW9yZW1hcF9ub2NhY2hlKGNhZHIsIDB4MDA4MDAwMCk7Ci0JaWYgKGlvYWRkcikgewotCQkvKiB3cml0ZWwoMHg4MTYwLCBpb2FkZHIgKyBSRUcyKTsgKi8KLQkJd3JpdGVsKDB4MDAwMDAwMjAsIGlvYWRkciArIFJFRyk7Ci0JCWRldl9pbmZvKCZkZXYtPmRldiwgIlVzaW5nIFNhdmFnZTQgYXQgJXBcbiIsIGlvYWRkcik7Ci0JCXJldHVybiAwOwotCX0KLQlyZXR1cm4gLUVOT0RFVjsKLX0KLQotc3RhdGljIHN0cnVjdCBpMmNfYWxnb19iaXRfZGF0YSBzYXZfaTJjX2JpdF9kYXRhID0gewotCS5zZXRzZGEJCT0gYml0X3NhdmkyY19zZXRzZGEsCi0JLnNldHNjbAkJPSBiaXRfc2F2aTJjX3NldHNjbCwKLQkuZ2V0c2RhCQk9IGJpdF9zYXZpMmNfZ2V0c2RhLAotCS5nZXRzY2wJCT0gYml0X3NhdmkyY19nZXRzY2wsCi0JLnVkZWxheQkJPSBDWUNMRV9ERUxBWSwKLQkudGltZW91dAk9IFRJTUVPVVQKLX07Ci0KLXN0YXRpYyBzdHJ1Y3QgaTJjX2FkYXB0ZXIgc2F2YWdlNF9pMmNfYWRhcHRlciA9IHsKLQkub3duZXIJCT0gVEhJU19NT0RVTEUsCi0JLmlkCQk9IEkyQ19IV19CX1NBVkFHRSwKLQkubmFtZQkJPSAiSTJDIFNhdmFnZTQgYWRhcHRlciIsCi0JLmFsZ29fZGF0YQk9ICZzYXZfaTJjX2JpdF9kYXRhLAotfTsKLQotc3RhdGljIHN0cnVjdCBwY2lfZGV2aWNlX2lkIHNhdmFnZTRfaWRzW10gX19kZXZpbml0ZGF0YSA9IHsKLQl7IFBDSV9ERVZJQ0UoUENJX1ZFTkRPUl9JRF9TMywgUENJX0NISVBfU0FWQUdFNCkgfSwKLQl7IFBDSV9ERVZJQ0UoUENJX1ZFTkRPUl9JRF9TMywgUENJX0NISVBfU0FWQUdFMjAwMCkgfSwKLQl7IDAsIH0KLX07Ci0KLU1PRFVMRV9ERVZJQ0VfVEFCTEUgKHBjaSwgc2F2YWdlNF9pZHMpOwotCi1zdGF0aWMgaW50IF9fZGV2aW5pdCBzYXZhZ2U0X3Byb2JlKHN0cnVjdCBwY2lfZGV2ICpkZXYsIGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkICppZCkKLXsKLQlpbnQgcmV0dmFsOwotCi0JcmV0dmFsID0gY29uZmlnX3M0KGRldik7Ci0JaWYgKHJldHZhbCkKLQkJcmV0dXJuIHJldHZhbDsKLQotCS8qIHNldCB1cCB0aGUgc3lzZnMgbGlua2FnZSB0byBvdXIgcGFyZW50IGRldmljZSAqLwotCXNhdmFnZTRfaTJjX2FkYXB0ZXIuZGV2LnBhcmVudCA9ICZkZXYtPmRldjsKLQotCXJldHVybiBpMmNfYml0X2FkZF9idXMoJnNhdmFnZTRfaTJjX2FkYXB0ZXIpOwotfQotCi1zdGF0aWMgdm9pZCBfX2RldmV4aXQgc2F2YWdlNF9yZW1vdmUoc3RydWN0IHBjaV9kZXYgKmRldikKLXsKLQlpMmNfZGVsX2FkYXB0ZXIoJnNhdmFnZTRfaTJjX2FkYXB0ZXIpOwotCWlvdW5tYXAoaW9hZGRyKTsKLX0KLQotc3RhdGljIHN0cnVjdCBwY2lfZHJpdmVyIHNhdmFnZTRfZHJpdmVyID0gewotCS5uYW1lCQk9ICJzYXZhZ2U0X3NtYnVzIiwKLQkuaWRfdGFibGUJPSBzYXZhZ2U0X2lkcywKLQkucHJvYmUJCT0gc2F2YWdlNF9wcm9iZSwKLQkucmVtb3ZlCQk9IF9fZGV2ZXhpdF9wKHNhdmFnZTRfcmVtb3ZlKSwKLX07Ci0KLXN0YXRpYyBpbnQgX19pbml0IGkyY19zYXZhZ2U0X2luaXQodm9pZCkKLXsKLQlyZXR1cm4gcGNpX3JlZ2lzdGVyX2RyaXZlcigmc2F2YWdlNF9kcml2ZXIpOwotfQotCi1zdGF0aWMgdm9pZCBfX2V4aXQgaTJjX3NhdmFnZTRfZXhpdCh2b2lkKQotewotCXBjaV91bnJlZ2lzdGVyX2RyaXZlcigmc2F2YWdlNF9kcml2ZXIpOwotfQotCi1NT0RVTEVfQVVUSE9SKCJBbGV4YW5kZXIgV29sZCA8YXdvbGRAYmlnZm9vdC5jb20+ICIKLQkJImFuZCBNYXJrIEQuIFN0dWRlYmFrZXIgPG1kc3h5ejEyM0B5YWhvby5jb20+Iik7Ci1NT0RVTEVfREVTQ1JJUFRJT04oIlNhdmFnZTQgSTJDL1NNQnVzIGRyaXZlciIpOwotTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwotCi1tb2R1bGVfaW5pdChpMmNfc2F2YWdlNF9pbml0KTsKLW1vZHVsZV9leGl0KGkyY19zYXZhZ2U0X2V4aXQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1zaWJ5dGUuYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtc2lieXRlLmMKaW5kZXggMTE0NjM0ZC4uNGRkZWZiZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1zaWJ5dGUuYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXNpYnl0ZS5jCkBAIC0xNDMsNyArMTQzLDcgQEAKIAljc3Jfb3V0MzIoc3BlZWQsIFNNQl9DU1IoYWRhcCxSX1NNQl9GUkVRKSk7CiAJY3NyX291dDMyKDAsIFNNQl9DU1IoYWRhcCxSX1NNQl9DT05UUk9MKSk7CiAKLQlyZXR1cm4gaTJjX2FkZF9hZGFwdGVyKGkyY19hZGFwKTsKKwlyZXR1cm4gaTJjX2FkZF9udW1iZXJlZF9hZGFwdGVyKGkyY19hZGFwKTsKIH0KIAogCkBAIC0xNTYsMTcgKzE1NiwxOSBAQAogCXsKIAkJLm93bmVyCQk9IFRISVNfTU9EVUxFLAogCQkuaWQJCT0gSTJDX0hXX1NJQllURSwKLQkJLmNsYXNzCQk9IEkyQ19DTEFTU19IV01PTiwKKwkJLmNsYXNzCQk9IEkyQ19DTEFTU19IV01PTiB8IEkyQ19DTEFTU19TUEQsCiAJCS5hbGdvCQk9IE5VTEwsCiAJCS5hbGdvX2RhdGEJPSAmc2lieXRlX2JvYXJkX2RhdGFbMF0sCisJCS5ucgkJPSAwLAogCQkubmFtZQkJPSAiU2lCeXRlIFNNQnVzIDAiLAogCX0sCiAJewogCQkub3duZXIJCT0gVEhJU19NT0RVTEUsCiAJCS5pZAkJPSBJMkNfSFdfU0lCWVRFLAotCQkuY2xhc3MJCT0gSTJDX0NMQVNTX0hXTU9OLAorCQkuY2xhc3MJCT0gSTJDX0NMQVNTX0hXTU9OIHwgSTJDX0NMQVNTX1NQRCwKIAkJLmFsZ28JCT0gTlVMTCwKIAkJLmFsZ29fZGF0YQk9ICZzaWJ5dGVfYm9hcmRfZGF0YVsxXSwKKwkJLm5yCQk9IDEsCiAJCS5uYW1lCQk9ICJTaUJ5dGUgU01CdXMgMSIsCiAJfSwKIH07CmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXNpczU1OTUuYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtc2lzNTU5NS5jCmluZGV4IDljYThmOTEuLmRmYzJkNWUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtc2lzNTU5NS5jCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtc2lzNTU5NS5jCkBAIC0xLDYgKzEsNCBAQAogLyoKLSAgICBzaXM1NTk1LmMgLSBQYXJ0IG9mIGxtX3NlbnNvcnMsIExpbnV4IGtlcm5lbCBtb2R1bGVzIGZvciBoYXJkd2FyZQotICAgICAgICAgICAgICBtb25pdG9yaW5nCiAgICAgQ29weXJpZ2h0IChjKSAxOTk4LCAxOTk5ICBGcm9kbyBMb29pamFhcmQgPGZyb2RvbEBkZHMubmw+IGFuZAogICAgIFBoaWxpcCBFZGVsYnJvY2sgPHBoaWxAbmV0cm9lZGdlLmNvbT4KIApAQCAtNjIsNiArNjAsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2lvcG9ydC5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9pMmMuaD4KKyNpbmNsdWRlIDxsaW51eC9hY3BpLmg+CiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAKIHN0YXRpYyBpbnQgYmxhY2tsaXN0W10gPSB7CkBAIC0xNzQsNiArMTczLDExIEBACiAKIAkvKiBOQjogV2UgZ3JhYiBqdXN0IHRoZSB0d28gU01CdXMgcmVnaXN0ZXJzIGhlcmUsIGJ1dCB0aGlzIG1heSBzdGlsbAogCSAqIGludGVyZmVyZSB3aXRoIEFDUEkgOi0oICAqLworCXJldHZhbCA9IGFjcGlfY2hlY2tfcmVnaW9uKHNpczU1OTVfYmFzZSArIFNNQl9JTkRFWCwgMiwKKwkJCQkgICBzaXM1NTk1X2RyaXZlci5uYW1lKTsKKwlpZiAocmV0dmFsKQorCQlyZXR1cm4gcmV0dmFsOworCiAJaWYgKCFyZXF1ZXN0X3JlZ2lvbihzaXM1NTk1X2Jhc2UgKyBTTUJfSU5ERVgsIDIsCiAJCQkgICAgc2lzNTU5NV9kcml2ZXIubmFtZSkpIHsKIAkJZGV2X2VycigmU0lTNTU5NV9kZXYtPmRldiwgIlNNQnVzIHJlZ2lzdGVycyAweCUwNHgtMHglMDR4IGFscmVhZHkgaW4gdXNlIVxuIiwKQEAgLTIzNiw3ICsyNDAsNyBAQAogCQlzaXM1NTk1X3dyaXRlKFNNQl9TVFNfSEksIHRlbXAgPj4gOCk7CiAJCWlmICgodGVtcCA9IHNpczU1OTVfcmVhZChTTUJfU1RTX0xPKSArIChzaXM1NTk1X3JlYWQoU01CX1NUU19ISSkgPDwgOCkpICE9IDB4MDApIHsKIAkJCWRldl9kYmcoJmFkYXAtPmRldiwgIkZhaWxlZCEgKCUwMngpXG4iLCB0ZW1wKTsKLQkJCXJldHVybiAtMTsKKwkJCXJldHVybiAtRUJVU1k7CiAJCX0gZWxzZSB7CiAJCQlkZXZfZGJnKCZhZGFwLT5kZXYsICJTdWNjZXNzZnVsIVxuIik7CiAJCX0KQEAgLTI1NCwxOSArMjU4LDE5IEBACiAJLyogSWYgdGhlIFNNQnVzIGlzIHN0aWxsIGJ1c3ksIHdlIGdpdmUgdXAgKi8KIAlpZiAodGltZW91dCA+PSBNQVhfVElNRU9VVCkgewogCQlkZXZfZGJnKCZhZGFwLT5kZXYsICJTTUJ1cyBUaW1lb3V0IVxuIik7Ci0JCXJlc3VsdCA9IC0xOworCQlyZXN1bHQgPSAtRVRJTUVET1VUOwogCX0KIAogCWlmICh0ZW1wICYgMHgxMCkgewogCQlkZXZfZGJnKCZhZGFwLT5kZXYsICJFcnJvcjogRmFpbGVkIGJ1cyB0cmFuc2FjdGlvblxuIik7Ci0JCXJlc3VsdCA9IC0xOworCQlyZXN1bHQgPSAtRU5YSU87CiAJfQogCiAJaWYgKHRlbXAgJiAweDIwKSB7CiAJCWRldl9lcnIoJmFkYXAtPmRldiwgIkJ1cyBjb2xsaXNpb24hIFNNQnVzIG1heSBiZSBsb2NrZWQgdW50aWwgIgogCQkJIm5leHQgaGFyZCByZXNldCAob3Igbm90Li4uKVxuIik7CiAJCS8qIENsb2NrIHN0b3BzIGFuZCBzbGF2ZSBpcyBzdHVjayBpbiBtaWQtdHJhbnNtaXNzaW9uICovCi0JCXJlc3VsdCA9IC0xOworCQlyZXN1bHQgPSAtRUlPOwogCX0KIAogCXRlbXAgPSBzaXM1NTk1X3JlYWQoU01CX1NUU19MTykgKyAoc2lzNTU5NV9yZWFkKFNNQl9TVFNfSEkpIDw8IDgpOwpAQCAtMjgyLDExICsyODYsMTMgQEAKIAlyZXR1cm4gcmVzdWx0OwogfQogCi0vKiBSZXR1cm4gLTEgb24gZXJyb3IuICovCisvKiBSZXR1cm4gbmVnYXRpdmUgZXJybm8gb24gZXJyb3IuICovCiBzdGF0aWMgczMyIHNpczU1OTVfYWNjZXNzKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcCwgdTE2IGFkZHIsCiAJCQkgIHVuc2lnbmVkIHNob3J0IGZsYWdzLCBjaGFyIHJlYWRfd3JpdGUsCiAJCQkgIHU4IGNvbW1hbmQsIGludCBzaXplLCB1bmlvbiBpMmNfc21idXNfZGF0YSAqZGF0YSkKIHsKKwlpbnQgc3RhdHVzOworCiAJc3dpdGNoIChzaXplKSB7CiAJY2FzZSBJMkNfU01CVVNfUVVJQ0s6CiAJCXNpczU1OTVfd3JpdGUoU01CX0FERFIsICgoYWRkciAmIDB4N2YpIDw8IDEpIHwgKHJlYWRfd3JpdGUgJiAweDAxKSk7CkBAIC0zMTgsMTMgKzMyNCwxNCBAQAogCQlicmVhazsKIAlkZWZhdWx0OgogCQlkZXZfd2FybigmYWRhcC0+ZGV2LCAiVW5zdXBwb3J0ZWQgdHJhbnNhY3Rpb24gJWRcbiIsIHNpemUpOwotCQlyZXR1cm4gLTE7CisJCXJldHVybiAtRU9QTk9UU1VQUDsKIAl9CiAKIAlzaXM1NTk1X3dyaXRlKFNNQl9DVExfTE8sICgoc2l6ZSAmIDB4MEUpKSk7CiAKLQlpZiAoc2lzNTU5NV90cmFuc2FjdGlvbihhZGFwKSkKLQkJcmV0dXJuIC0xOworCXN0YXR1cyA9IHNpczU1OTVfdHJhbnNhY3Rpb24oYWRhcCk7CisJaWYgKHN0YXR1cykKKwkJcmV0dXJuIHN0YXR1czsKIAogCWlmICgoc2l6ZSAhPSBTSVM1NTk1X1BST0NfQ0FMTCkgJiYKIAkgICAgKChyZWFkX3dyaXRlID09IEkyQ19TTUJVU19XUklURSkgfHwgKHNpemUgPT0gU0lTNTU5NV9RVUlDSykpKQpAQCAtMzU5LDcgKzM2Niw3IEBACiBzdGF0aWMgc3RydWN0IGkyY19hZGFwdGVyIHNpczU1OTVfYWRhcHRlciA9IHsKIAkub3duZXIJCT0gVEhJU19NT0RVTEUsCiAJLmlkCQk9IEkyQ19IV19TTUJVU19TSVM1NTk1LAotCS5jbGFzcyAgICAgICAgICA9IEkyQ19DTEFTU19IV01PTiwKKwkuY2xhc3MgICAgICAgICAgPSBJMkNfQ0xBU1NfSFdNT04gfCBJMkNfQ0xBU1NfU1BELAogCS5hbGdvCQk9ICZzbWJ1c19hbGdvcml0aG0sCiB9OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXNpczYzMC5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1zaXM2MzAuYwppbmRleCAzNzY1ZGQ3Li5lN2M0Yjc5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXNpczYzMC5jCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtc2lzNjMwLmMKQEAgLTEsNyArMSw0IEBACiAvKgotICAgIGkyYy1zaXM2MzAuYyAtIFBhcnQgb2YgbG1fc2Vuc29ycywgTGludXgga2VybmVsIG1vZHVsZXMgZm9yIGhhcmR3YXJlCi0gICAgICAgICAgICAgIG1vbml0b3JpbmcKLQogICAgIENvcHlyaWdodCAoYykgMjAwMiwyMDAzIEFsZXhhbmRlciBNYWx5c2ggPGFtYWx5c2hAd2ViLmRlPgogCiAgICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKQEAgLTU1LDYgKzUyLDcgQEAKICNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvaTJjLmg+CisjaW5jbHVkZSA8bGludXgvYWNwaS5oPgogI2luY2x1ZGUgPGFzbS9pby5oPgogCiAvKiBTSVM2MzAgU01CdXMgcmVnaXN0ZXJzICovCkBAIC0xMzQsNyArMTMyLDcgQEAKIAogCQlpZiAoKHRlbXAgPSBzaXM2MzBfcmVhZChTTUJfQ05UKSAmIDB4MDMpICE9IDB4MDApIHsKIAkJCWRldl9kYmcoJmFkYXAtPmRldiwgIkZhaWxlZCEgKCUwMngpXG4iLCB0ZW1wKTsKLQkJCXJldHVybiAtMTsKKwkJCXJldHVybiAtRUJVU1k7CiAgICAgICAgICAgICAgICAgfSBlbHNlIHsKIAkJCWRldl9kYmcoJmFkYXAtPmRldiwgIlN1Y2Nlc3NmdWwhXG4iKTsKIAkJfQpAQCAtMTc3LDE3ICsxNzUsMTcgQEAKIAkvKiBJZiB0aGUgU01CdXMgaXMgc3RpbGwgYnVzeSwgd2UgZ2l2ZSB1cCAqLwogCWlmICh0aW1lb3V0ID49IE1BWF9USU1FT1VUKSB7CiAJCWRldl9kYmcoJmFkYXAtPmRldiwgIlNNQnVzIFRpbWVvdXQhXG4iKTsKLQkJcmVzdWx0ID0gLTE7CisJCXJlc3VsdCA9IC1FVElNRURPVVQ7CiAJfQogCiAJaWYgKHRlbXAgJiAweDAyKSB7CiAJCWRldl9kYmcoJmFkYXAtPmRldiwgIkVycm9yOiBGYWlsZWQgYnVzIHRyYW5zYWN0aW9uXG4iKTsKLQkJcmVzdWx0ID0gLTE7CisJCXJlc3VsdCA9IC1FTlhJTzsKIAl9CiAKIAlpZiAodGVtcCAmIDB4MDQpIHsKIAkJZGV2X2VycigmYWRhcC0+ZGV2LCAiQnVzIGNvbGxpc2lvbiFcbiIpOwotCQlyZXN1bHQgPSAtMTsKKwkJcmVzdWx0ID0gLUVJTzsKIAkJLyoKIAkJICBUQkQ6IERhdGFzaGVldCBzYXk6CiAJCSAgdGhlIHNvZnR3YXJlIHNob3VsZCBjbGVhciB0aGlzIGJpdCBhbmQgcmVzdGFydCBTTUJVUyBvcGVyYXRpb24uCkBAIC0yNTAsOCArMjQ4LDEwIEBACiAJCQlpZiAoaT09OCB8fCAobGVuPDggJiYgaT09bGVuKSkgewogCQkJCWRldl9kYmcoJmFkYXAtPmRldiwgInN0YXJ0IHRyYW5zIGxlbj0lZCBpPSVkXG4iLGxlbiAsaSk7CiAJCQkJLyogZmlyc3QgdHJhbnNhY3Rpb24gKi8KLQkJCQlpZiAoc2lzNjMwX3RyYW5zYWN0aW9uX3N0YXJ0KGFkYXAsIFNJUzYzMF9CTE9DS19EQVRBLCAmb2xkY2xvY2spKQotCQkJCQlyZXR1cm4gLTE7CisJCQkJcmMgPSBzaXM2MzBfdHJhbnNhY3Rpb25fc3RhcnQoYWRhcCwKKwkJCQkJCVNJUzYzMF9CTE9DS19EQVRBLCAmb2xkY2xvY2spOworCQkJCWlmIChyYykKKwkJCQkJcmV0dXJuIHJjOwogCQkJfQogCQkJZWxzZSBpZiAoKGktMSklOCA9PSA3IHx8IGk9PWxlbikgewogCQkJCWRldl9kYmcoJmFkYXAtPmRldiwgInRyYW5zX3dhaXQgbGVuPSVkIGk9JWRcbiIsbGVuLGkpOwpAQCAtMjY0LDkgKzI2NCwxMCBAQAogCQkJCQkqLwogCQkJCQlzaXM2MzBfd3JpdGUoU01CX1NUUywweDEwKTsKIAkJCQl9Ci0JCQkJaWYgKHNpczYzMF90cmFuc2FjdGlvbl93YWl0KGFkYXAsIFNJUzYzMF9CTE9DS19EQVRBKSkgeworCQkJCXJjID0gc2lzNjMwX3RyYW5zYWN0aW9uX3dhaXQoYWRhcCwKKwkJCQkJCVNJUzYzMF9CTE9DS19EQVRBKTsKKwkJCQlpZiAocmMpIHsKIAkJCQkJZGV2X2RiZygmYWRhcC0+ZGV2LCAidHJhbnNfd2FpdCBmYWlsZWRcbiIpOwotCQkJCQlyYyA9IC0xOwogCQkJCQlicmVhazsKIAkJCQl9CiAJCQl9CkBAIC0yNzUsMTMgKzI3NiwxNCBAQAogCWVsc2UgewogCQkvKiByZWFkIHJlcXVlc3QgKi8KIAkJZGF0YS0+YmxvY2tbMF0gPSBsZW4gPSAwOwotCQlpZiAoc2lzNjMwX3RyYW5zYWN0aW9uX3N0YXJ0KGFkYXAsIFNJUzYzMF9CTE9DS19EQVRBLCAmb2xkY2xvY2spKSB7Ci0JCQlyZXR1cm4gLTE7Ci0JCX0KKwkJcmMgPSBzaXM2MzBfdHJhbnNhY3Rpb25fc3RhcnQoYWRhcCwKKwkJCQlTSVM2MzBfQkxPQ0tfREFUQSwgJm9sZGNsb2NrKTsKKwkJaWYgKHJjKQorCQkJcmV0dXJuIHJjOwogCQlkbyB7Ci0JCQlpZiAoc2lzNjMwX3RyYW5zYWN0aW9uX3dhaXQoYWRhcCwgU0lTNjMwX0JMT0NLX0RBVEEpKSB7CisJCQlyYyA9IHNpczYzMF90cmFuc2FjdGlvbl93YWl0KGFkYXAsIFNJUzYzMF9CTE9DS19EQVRBKTsKKwkJCWlmIChyYykgewogCQkJCWRldl9kYmcoJmFkYXAtPmRldiwgInRyYW5zX3dhaXQgZmFpbGVkXG4iKTsKLQkJCQlyYyA9IC0xOwogCQkJCWJyZWFrOwogCQkJfQogCQkJLyogaWYgdGhpcyBmaXJzdCB0cmFuc2FjdGlvbiB0aGVuIHJlYWQgYnl0ZSBjb3VudCAqLwpAQCAtMzExLDExICszMTMsMTMgQEAKIAlyZXR1cm4gcmM7CiB9CiAKLS8qIFJldHVybiAtMSBvbiBlcnJvci4gKi8KKy8qIFJldHVybiBuZWdhdGl2ZSBlcnJubyBvbiBlcnJvci4gKi8KIHN0YXRpYyBzMzIgc2lzNjMwX2FjY2VzcyhzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXAsIHUxNiBhZGRyLAogCQkJIHVuc2lnbmVkIHNob3J0IGZsYWdzLCBjaGFyIHJlYWRfd3JpdGUsCiAJCQkgdTggY29tbWFuZCwgaW50IHNpemUsIHVuaW9uIGkyY19zbWJ1c19kYXRhICpkYXRhKQogeworCWludCBzdGF0dXM7CisKIAlzd2l0Y2ggKHNpemUpIHsKIAkJY2FzZSBJMkNfU01CVVNfUVVJQ0s6CiAJCQlzaXM2MzBfd3JpdGUoU01CX0FERFIsICgoYWRkciAmIDB4N2YpIDw8IDEpIHwgKHJlYWRfd3JpdGUgJiAweDAxKSk7CkBAIC0zNTAsMTMgKzM1NCwxNCBAQAogCQkJc2l6ZSA9IFNJUzYzMF9CTE9DS19EQVRBOwogCQkJcmV0dXJuIHNpczYzMF9ibG9ja19kYXRhKGFkYXAsIGRhdGEsIHJlYWRfd3JpdGUpOwogCQlkZWZhdWx0OgotCQkJcHJpbnRrKCJVbnN1cHBvcnRlZCBJMkMgc2l6ZVxuIik7Ci0JCQlyZXR1cm4gLTE7Ci0JCQlicmVhazsKKwkJCWRldl93YXJuKCZhZGFwLT5kZXYsICJVbnN1cHBvcnRlZCB0cmFuc2FjdGlvbiAlZFxuIiwKKwkJCQkgc2l6ZSk7CisJCQlyZXR1cm4gLUVPUE5PVFNVUFA7CiAJfQogCi0JaWYgKHNpczYzMF90cmFuc2FjdGlvbihhZGFwLCBzaXplKSkKLQkJcmV0dXJuIC0xOworCXN0YXR1cyA9IHNpczYzMF90cmFuc2FjdGlvbihhZGFwLCBzaXplKTsKKwlpZiAoc3RhdHVzKQorCQlyZXR1cm4gc3RhdHVzOwogCiAJaWYgKChzaXplICE9IFNJUzYzMF9QQ0FMTCkgJiYKIAkJKChyZWFkX3dyaXRlID09IEkyQ19TTUJVU19XUklURSkgfHwgKHNpemUgPT0gU0lTNjMwX1FVSUNLKSkpIHsKQEAgLTM3Miw5ICszNzcsNiBAQAogCQljYXNlIFNJUzYzMF9XT1JEX0RBVEE6CiAJCQlkYXRhLT53b3JkID0gc2lzNjMwX3JlYWQoU01CX0JZVEUpICsgKHNpczYzMF9yZWFkKFNNQl9CWVRFICsgMSkgPDwgOCk7CiAJCQlicmVhazsKLQkJZGVmYXVsdDoKLQkJCXJldHVybiAtMTsKLQkJCWJyZWFrOwogCX0KIAogCXJldHVybiAwOwpAQCAtNDMzLDYgKzQzNSwxMSBAQAogCiAJZGV2X2RiZygmc2lzNjMwX2Rldi0+ZGV2LCAiQUNQSSBiYXNlIGF0IDB4JTA0eFxuIiwgYWNwaV9iYXNlKTsKIAorCXJldHZhbCA9IGFjcGlfY2hlY2tfcmVnaW9uKGFjcGlfYmFzZSArIFNNQl9TVFMsIFNJUzYzMF9TTUJfSU9SRUdJT04sCisJCQkJICAgc2lzNjMwX2RyaXZlci5uYW1lKTsKKwlpZiAocmV0dmFsKQorCQlnb3RvIGV4aXQ7CisKIAkvKiBFdmVyeXRoaW5nIGlzIGhhcHB5LCBsZXQncyBncmFiIHRoZSBtZW1vcnkgYW5kIHNldCB0aGluZ3MgdXAuICovCiAJaWYgKCFyZXF1ZXN0X3JlZ2lvbihhY3BpX2Jhc2UgKyBTTUJfU1RTLCBTSVM2MzBfU01CX0lPUkVHSU9OLAogCQkJICAgIHNpczYzMF9kcml2ZXIubmFtZSkpIHsKQEAgLTQ1OCw3ICs0NjUsNyBAQAogc3RhdGljIHN0cnVjdCBpMmNfYWRhcHRlciBzaXM2MzBfYWRhcHRlciA9IHsKIAkub3duZXIJCT0gVEhJU19NT0RVTEUsCiAJLmlkCQk9IEkyQ19IV19TTUJVU19TSVM2MzAsCi0JLmNsYXNzCQk9IEkyQ19DTEFTU19IV01PTiwKKwkuY2xhc3MJCT0gSTJDX0NMQVNTX0hXTU9OIHwgSTJDX0NMQVNTX1NQRCwKIAkuYWxnbwkJPSAmc21idXNfYWxnb3JpdGhtLAogfTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1zaXM5NnguYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtc2lzOTZ4LmMKaW5kZXggZGMyMzViYjguLmYxYmJhNjMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtc2lzOTZ4LmMKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1zaXM5NnguYwpAQCAtMSw3ICsxLDQgQEAKIC8qCi0gICAgc2lzOTZ4LmMgLSBQYXJ0IG9mIGxtX3NlbnNvcnMsIExpbnV4IGtlcm5lbCBtb2R1bGVzIGZvciBoYXJkd2FyZQotICAgICAgICAgICAgICBtb25pdG9yaW5nCi0KICAgICBDb3B5cmlnaHQgKGMpIDIwMDMgTWFyayBNLiBIb2ZmbWFuIDxtaG9mZm1hbkBsaWdodGxpbmsuY29tPgogCiAgICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKQEAgLTQwLDYgKzM3LDcgQEAKICNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4KICNpbmNsdWRlIDxsaW51eC9pMmMuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+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+ZGV2LmtvYmosICZhdDI0LT5iaW4pOworCisJZm9yIChpID0gMTsgaSA8IGF0MjQtPm51bV9hZGRyZXNzZXM7IGkrKykKKwkJaTJjX3VucmVnaXN0ZXJfZGV2aWNlKGF0MjQtPmNsaWVudFtpXSk7CisKKwlrZnJlZShhdDI0LT53cml0ZWJ1Zik7CisJa2ZyZWUoYXQyNCk7CisJaTJjX3NldF9jbGllbnRkYXRhKGNsaWVudCwgTlVMTCk7CisJcmV0dXJuIDA7Cit9CisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK3N0YXRpYyBzdHJ1Y3QgaTJjX2RyaXZlciBhdDI0X2RyaXZlciA9IHsKKwkuZHJpdmVyID0geworCQkubmFtZSA9ICJhdDI0IiwKKwkJLm93bmVyID0gVEhJU19NT0RVTEUsCisJfSwKKwkucHJvYmUgPSBhdDI0X3Byb2JlLAorCS5yZW1vdmUgPSBfX2RldmV4aXRfcChhdDI0X3JlbW92ZSksCisJLmlkX3RhYmxlID0gYXQyNF9pZHMsCit9OworCitzdGF0aWMgaW50IF9faW5pdCBhdDI0X2luaXQodm9pZCkKK3sKKwlpb19saW1pdCA9IHJvdW5kZG93bl9wb3dfb2ZfdHdvKGlvX2xpbWl0KTsKKwlyZXR1cm4gaTJjX2FkZF9kcml2ZXIoJmF0MjRfZHJpdmVyKTsKK30KK21vZHVsZV9pbml0KGF0MjRfaW5pdCk7CisKK3N0YXRpYyB2b2lkIF9fZXhpdCBhdDI0X2V4aXQodm9pZCkKK3sKKwlpMmNfZGVsX2RyaXZlcigmYXQyNF9kcml2ZXIpOworfQorbW9kdWxlX2V4aXQoYXQyNF9leGl0KTsKKworTU9EVUxFX0RFU0NSSVBUSU9OKCJEcml2ZXIgZm9yIG1vc3QgSTJDIEVFUFJPTXMiKTsKK01PRFVMRV9BVVRIT1IoIkRhdmlkIEJyb3duZWxsIGFuZCBXb2xmcmFtIFNhbmciKTsKK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2NoaXBzL2VlcHJvbS5jIGIvZHJpdmVycy9pMmMvY2hpcHMvZWVwcm9tLmMKaW5kZXggN2RlZTAwMWUuLjM3M2VhOGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2NoaXBzL2VlcHJvbS5jCisrKyBiL2RyaXZlcnMvaTJjL2NoaXBzL2VlcHJvbS5jCkBAIC0xLDE1ICsxLDkgQEAKIC8qCi0gICAgZWVwcm9tLmMgLSBQYXJ0IG9mIGxtX3NlbnNvcnMsIExpbnV4IGtlcm5lbCBtb2R1bGVzIGZvciBoYXJkd2FyZQotICAgICAgICAgICAgICAgbW9uaXRvcmluZwogICAgIENvcHlyaWdodCAoQykgMTk5OCwgMTk5OSAgRnJvZG8gTG9vaWphYXJkIDxmcm9kb2xAZGRzLm5sPiBhbmQKIAkJCSAgICAgICBQaGlsaXAgRWRlbGJyb2NrIDxwaGlsQG5ldHJvZWRnZS5jb20+CiAgICAgQ29weXJpZ2h0IChDKSAyMDAzIEdyZWcgS3JvYWgtSGFydG1hbiA8Z3JlZ0Brcm9haC5jb20+CiAgICAgQ29weXJpZ2h0IChDKSAyMDAzIElCTSBDb3JwLgotCi0gICAgMjAwNC0wMS0xNiAgSmVhbiBEZWx2YXJlIDxraGFsaUBsaW51eC1mci5vcmc+Ci0gICAgRGl2aWRlIHRoZSBlZXByb20gaW4gMzItYnl0ZSAoYXJiaXRyYXJ5KSBzbGljZXMuIFRoaXMgc2lnbmlmaWNhbnRseQotICAgIHNwZWVkcyBzZW5zb3JzIHVwLCBhcyB3ZWxsIGFzIHZhcmlvdXMgc2NyaXB0cyB1c2luZyB0aGUgZWVwcm9tCi0gICAgbW9kdWxlLgorICAgIENvcHlyaWdodCAoQykgMjAwNCBKZWFuIERlbHZhcmUgPGtoYWxpQGxpbnV4LWZyLm9yZz4KIAogICAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiAgICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKQEAgLTc4LDcgKzcyLDcgQEAKIHN0YXRpYyB2b2lkIGVlcHJvbV91cGRhdGVfY2xpZW50KHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQsIHU4IHNsaWNlKQogewogCXN0cnVjdCBlZXByb21fZGF0YSAqZGF0YSA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwotCWludCBpLCBqOworCWludCBpOwogCiAJbXV0ZXhfbG9jaygmZGF0YS0+dXBkYXRlX2xvY2spOwogCkBAIC05MywxNSArODcsMTIgQEAKIAkJCQkJCQkhPSAzMikKIAkJCQkJZ290byBleGl0OwogCQl9IGVsc2UgewotCQkJaWYgKGkyY19zbWJ1c193cml0ZV9ieXRlKGNsaWVudCwgc2xpY2UgPDwgNSkpIHsKLQkJCQlkZXZfZGJnKCZjbGllbnQtPmRldiwgImVlcHJvbSByZWFkIHN0YXJ0IGhhcyBmYWlsZWQhXG4iKTsKLQkJCQlnb3RvIGV4aXQ7Ci0JCQl9Ci0JCQlmb3IgKGkgPSBzbGljZSA8PCA1OyBpIDwgKHNsaWNlICsgMSkgPDwgNTsgaSsrKSB7Ci0JCQkJaiA9IGkyY19zbWJ1c19yZWFkX2J5dGUoY2xpZW50KTsKLQkJCQlpZiAoaiA8IDApCisJCQlmb3IgKGkgPSBzbGljZSA8PCA1OyBpIDwgKHNsaWNlICsgMSkgPDwgNTsgaSArPSAyKSB7CisJCQkJaW50IHdvcmQgPSBpMmNfc21idXNfcmVhZF93b3JkX2RhdGEoY2xpZW50LCBpKTsKKwkJCQlpZiAod29yZCA8IDApCiAJCQkJCWdvdG8gZXhpdDsKLQkJCQlkYXRhLT5kYXRhW2ldID0gKHU4KSBqOworCQkJCWRhdGEtPmRhdGFbaV0gPSB3b3JkICYgMHhmZjsKKwkJCQlkYXRhLT5kYXRhW2kgKyAxXSA9IHdvcmQgPj4gODsKIAkJCX0KIAkJfQogCQlkYXRhLT5sYXN0X3VwZGF0ZWRbc2xpY2VdID0gamlmZmllczsKQEAgLTE1OSwyNCArMTUwLDMzIEBACiAKIHN0YXRpYyBpbnQgZWVwcm9tX2F0dGFjaF9hZGFwdGVyKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcHRlcikKIHsKKwlpZiAoIShhZGFwdGVyLT5jbGFzcyAmIChJMkNfQ0xBU1NfRERDIHwgSTJDX0NMQVNTX1NQRCkpKQorCQlyZXR1cm4gMDsKIAlyZXR1cm4gaTJjX3Byb2JlKGFkYXB0ZXIsICZhZGRyX2RhdGEsIGVlcHJvbV9kZXRlY3QpOwogfQogCiAvKiBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBieSBpMmNfcHJvYmUgKi8KIHN0YXRpYyBpbnQgZWVwcm9tX2RldGVjdChzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXB0ZXIsIGludCBhZGRyZXNzLCBpbnQga2luZCkKIHsKLQlzdHJ1Y3QgaTJjX2NsaWVudCAqbmV3X2NsaWVudDsKKwlzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50OwogCXN0cnVjdCBlZXByb21fZGF0YSAqZGF0YTsKIAlpbnQgZXJyID0gMDsKIAotCS8qIFRoZXJlIGFyZSB0aHJlZSB3YXlzIHdlIGNhbiByZWFkIHRoZSBFRVBST00gZGF0YToKKwkvKiBFRElEIEVFUFJPTXMgYXJlIG9mdGVuIDI0QzAwIEVFUFJPTXMsIHdoaWNoIGFuc3dlciB0byBhbGwKKwkgICBhZGRyZXNzZXMgMHg1MC0weDU3LCBidXQgd2Ugb25seSBjYXJlIGFib3V0IDB4NTAuIFNvIGRlY2xpbmUKKwkgICBhdHRhY2hpbmcgdG8gYWRkcmVzc2VzID49IDB4NTEgb24gRERDIGJ1c2VzICovCisJaWYgKCEoYWRhcHRlci0+Y2xhc3MgJiBJMkNfQ0xBU1NfU1BEKSAmJiBhZGRyZXNzID49IDB4NTEpCisJCWdvdG8gZXhpdDsKKworCS8qIFRoZXJlIGFyZSBmb3VyIHdheXMgd2UgY2FuIHJlYWQgdGhlIEVFUFJPTSBkYXRhOgogCSAgICgxKSBJMkMgYmxvY2sgcmVhZHMgKGZhc3RlciwgYnV0IHVuc3VwcG9ydGVkIGJ5IG1vc3QgYWRhcHRlcnMpCi0JICAgKDIpIENvbnNlY3V0aXZlIGJ5dGUgcmVhZHMgKDEwMCUgb3ZlcmhlYWQpCi0JICAgKDMpIFJlZ3VsYXIgYnl0ZSBkYXRhIHJlYWRzICgyMDAlIG92ZXJoZWFkKQotCSAgIFRoZSB0aGlyZCBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkIGJ5IHRoaXMgZHJpdmVyIGJlY2F1c2UgYWxsCi0JICAga25vd24gYWRhcHRlcnMgc3VwcG9ydCBhdCBsZWFzdCB0aGUgc2Vjb25kLiAqLwotCWlmICghaTJjX2NoZWNrX2Z1bmN0aW9uYWxpdHkoYWRhcHRlciwgSTJDX0ZVTkNfU01CVVNfUkVBRF9CWVRFX0RBVEEKLQkJCQkJICAgIHwgSTJDX0ZVTkNfU01CVVNfQllURSkpCisJICAgKDIpIFdvcmQgcmVhZHMgKDEyOCUgb3ZlcmhlYWQpCisJICAgKDMpIENvbnNlY3V0aXZlIGJ5dGUgcmVhZHMgKDg4JSBvdmVyaGVhZCwgdW5zYWZlKQorCSAgICg0KSBSZWd1bGFyIGJ5dGUgZGF0YSByZWFkcyAoMjY1JSBvdmVyaGVhZCkKKwkgICBUaGUgdGhpcmQgYW5kIGZvdXJ0aCBtZXRob2RzIGFyZSBub3QgaW1wbGVtZW50ZWQgYnkgdGhpcyBkcml2ZXIKKwkgICBiZWNhdXNlIGFsbCBrbm93biBhZGFwdGVycyBzdXBwb3J0IG9uZSBvZiB0aGUgZmlyc3QgdHdvLiAqLworCWlmICghaTJjX2NoZWNrX2Z1bmN0aW9uYWxpdHkoYWRhcHRlciwgSTJDX0ZVTkNfU01CVVNfUkVBRF9XT1JEX0RBVEEpCisJICYmICFpMmNfY2hlY2tfZnVuY3Rpb25hbGl0eShhZGFwdGVyLCBJMkNfRlVOQ19TTUJVU19SRUFEX0kyQ19CTE9DSykpCiAJCWdvdG8gZXhpdDsKIAogCWlmICghKGRhdGEgPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgZWVwcm9tX2RhdGEpLCBHRlBfS0VSTkVMKSkpIHsKQEAgLTE4NCw1MCArMTg0LDQ5IEBACiAJCWdvdG8gZXhpdDsKIAl9CiAKLQluZXdfY2xpZW50ID0gJmRhdGEtPmNsaWVudDsKKwljbGllbnQgPSAmZGF0YS0+Y2xpZW50OwogCW1lbXNldChkYXRhLT5kYXRhLCAweGZmLCBFRVBST01fU0laRSk7Ci0JaTJjX3NldF9jbGllbnRkYXRhKG5ld19jbGllbnQsIGRhdGEpOwotCW5ld19jbGllbnQtPmFkZHIgPSBhZGRyZXNzOwotCW5ld19jbGllbnQtPmFkYXB0ZXIgPSBhZGFwdGVyOwotCW5ld19jbGllbnQtPmRyaXZlciA9ICZlZXByb21fZHJpdmVyOwotCW5ld19jbGllbnQtPmZsYWdzID0gMDsKKwlpMmNfc2V0X2NsaWVudGRhdGEoY2xpZW50LCBkYXRhKTsKKwljbGllbnQtPmFkZHIgPSBhZGRyZXNzOworCWNsaWVudC0+YWRhcHRlciA9IGFkYXB0ZXI7CisJY2xpZW50LT5kcml2ZXIgPSAmZWVwcm9tX2RyaXZlcjsKIAogCS8qIEZpbGwgaW4gdGhlIHJlbWFpbmluZyBjbGllbnQgZmllbGRzICovCi0Jc3RybGNweShuZXdfY2xpZW50LT5uYW1lLCAiZWVwcm9tIiwgSTJDX05BTUVfU0laRSk7Ci0JZGF0YS0+dmFsaWQgPSAwOworCXN0cmxjcHkoY2xpZW50LT5uYW1lLCAiZWVwcm9tIiwgSTJDX05BTUVfU0laRSk7CiAJbXV0ZXhfaW5pdCgmZGF0YS0+dXBkYXRlX2xvY2spOwogCWRhdGEtPm5hdHVyZSA9IFVOS05PV047CiAKIAkvKiBUZWxsIHRoZSBJMkMgbGF5ZXIgYSBuZXcgY2xpZW50IGhhcyBhcnJpdmVkICovCi0JaWYgKChlcnIgPSBpMmNfYXR0YWNoX2NsaWVudChuZXdfY2xpZW50KSkpCisJaWYgKChlcnIgPSBpMmNfYXR0YWNoX2NsaWVudChjbGllbnQpKSkKIAkJZ290byBleGl0X2tmcmVlOwogCiAJLyogRGV0ZWN0IHRoZSBWYWlvIG5hdHVyZSBvZiBFRVBST01zLgogCSAgIFdlIHVzZSB0aGUgIlBDRy0iIG9yICJWR04tIiBwcmVmaXggYXMgdGhlIHNpZ25hdHVyZS4gKi8KLQlpZiAoYWRkcmVzcyA9PSAweDU3KSB7CisJaWYgKGFkZHJlc3MgPT0gMHg1NworCSAmJiBpMmNfY2hlY2tfZnVuY3Rpb25hbGl0eShhZGFwdGVyLCBJMkNfRlVOQ19TTUJVU19SRUFEX0JZVEVfREFUQSkpIHsKIAkJY2hhciBuYW1lWzRdOwogCi0JCW5hbWVbMF0gPSBpMmNfc21idXNfcmVhZF9ieXRlX2RhdGEobmV3X2NsaWVudCwgMHg4MCk7Ci0JCW5hbWVbMV0gPSBpMmNfc21idXNfcmVhZF9ieXRlKG5ld19jbGllbnQpOwotCQluYW1lWzJdID0gaTJjX3NtYnVzX3JlYWRfYnl0ZShuZXdfY2xpZW50KTsKLQkJbmFtZVszXSA9IGkyY19zbWJ1c19yZWFkX2J5dGUobmV3X2NsaWVudCk7CisJCW5hbWVbMF0gPSBpMmNfc21idXNfcmVhZF9ieXRlX2RhdGEoY2xpZW50LCAweDgwKTsKKwkJbmFtZVsxXSA9IGkyY19zbWJ1c19yZWFkX2J5dGVfZGF0YShjbGllbnQsIDB4ODEpOworCQluYW1lWzJdID0gaTJjX3NtYnVzX3JlYWRfYnl0ZV9kYXRhKGNsaWVudCwgMHg4Mik7CisJCW5hbWVbM10gPSBpMmNfc21idXNfcmVhZF9ieXRlX2RhdGEoY2xpZW50LCAweDgzKTsKIAogCQlpZiAoIW1lbWNtcChuYW1lLCAiUENHLSIsIDQpIHx8ICFtZW1jbXAobmFtZSwgIlZHTi0iLCA0KSkgewotCQkJZGV2X2luZm8oJm5ld19jbGllbnQtPmRldiwgIlZhaW8gRUVQUk9NIGRldGVjdGVkLCAiCisJCQlkZXZfaW5mbygmY2xpZW50LT5kZXYsICJWYWlvIEVFUFJPTSBkZXRlY3RlZCwgIgogCQkJCSAiZW5hYmxpbmcgcHJpdmFjeSBwcm90ZWN0aW9uXG4iKTsKIAkJCWRhdGEtPm5hdHVyZSA9IFZBSU87CiAJCX0KIAl9CiAKIAkvKiBjcmVhdGUgdGhlIHN5c2ZzIGVlcHJvbSBmaWxlICovCi0JZXJyID0gc3lzZnNfY3JlYXRlX2Jpbl9maWxlKCZuZXdfY2xpZW50LT5kZXYua29iaiwgJmVlcHJvbV9hdHRyKTsKKwllcnIgPSBzeXNmc19jcmVhdGVfYmluX2ZpbGUoJmNsaWVudC0+ZGV2LmtvYmosICZlZXByb21fYXR0cik7CiAJaWYgKGVycikKIAkJZ290byBleGl0X2RldGFjaDsKIAogCXJldHVybiAwOwogCiBleGl0X2RldGFjaDoKLQlpMmNfZGV0YWNoX2NsaWVudChuZXdfY2xpZW50KTsKKwlpMmNfZGV0YWNoX2NsaWVudChjbGllbnQpOwogZXhpdF9rZnJlZToKIAlrZnJlZShkYXRhKTsKIGV4aXQ6CmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9jaGlwcy9pc3AxMzAxX29tYXAuYyBiL2RyaXZlcnMvaTJjL2NoaXBzL2lzcDEzMDFfb21hcC5jCmluZGV4IGIxYjQ1ZGQuLjAzYTMzZjEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2NoaXBzL2lzcDEzMDFfb21hcC5jCisrKyBiL2RyaXZlcnMvaTJjL2NoaXBzL2lzcDEzMDFfb21hcC5jCkBAIC03Miw3ICs3Miw3IEBACiB9OwogCiAKLS8qIGJpdHMgaW4gT1RHX0NUUkxfUkVHICovCisvKiBiaXRzIGluIE9UR19DVFJMICovCiAKICNkZWZpbmUJT1RHX1hDRUlWX09VVFBVVFMgXAogCShPVEdfQVNFU1NWTER8T1RHX0JTRVNTRU5EfE9UR19CU0VTU1ZMRHxPVEdfVkJVU1ZMRHxPVEdfSUQpCkBAIC0xODYsOCArMTg2LDggQEAKIAogLyogb3BlcmF0aW9uYWwgcmVnaXN0ZXJzICovCiAjZGVmaW5lCUlTUDEzMDFfTU9ERV9DT05UUk9MXzEJCTB4MDQJLyogdTggcmVhZCwgc2V0LCArMSBjbGVhciAqLwotIwlkZWZpbmUJTUMxX1NQRUVEX1JFRwkJKDEgPDwgMCkKLSMJZGVmaW5lCU1DMV9TVVNQRU5EX1JFRwkJKDEgPDwgMSkKKyMJZGVmaW5lCU1DMV9TUEVFRAkJKDEgPDwgMCkKKyMJZGVmaW5lCU1DMV9TVVNQRU5ECQkoMSA8PCAxKQogIwlkZWZpbmUJTUMxX0RBVF9TRTAJCSgxIDw8IDIpCiAjCWRlZmluZQlNQzFfVFJBTlNQQVJFTlQJCSgxIDw8IDMpCiAjCWRlZmluZQlNQzFfQkRJU19BQ09OX0VOCSgxIDw8IDQpCkBAIC0yNzQsNyArMjc0LDcgQEAKIAlpc3AtPm90Zy5zdGF0ZSA9IE9UR19TVEFURV9VTkRFRklORUQ7CiAKIAkvLyBpc3AxMzAxX3NldF9iaXRzKGlzcCwgSVNQMTMwMV9NT0RFX0NPTlRST0xfMiwgTUMyX0dMT0JBTF9QV1JfRE4pOwotCWlzcDEzMDFfc2V0X2JpdHMoaXNwLCBJU1AxMzAxX01PREVfQ09OVFJPTF8xLCBNQzFfU1VTUEVORF9SRUcpOworCWlzcDEzMDFfc2V0X2JpdHMoaXNwLCBJU1AxMzAxX01PREVfQ09OVFJPTF8xLCBNQzFfU1VTUEVORCk7CiAKIAlpc3AxMzAxX2NsZWFyX2JpdHMoaXNwLCBJU1AxMzAxX09UR19DT05UUk9MXzEsIE9URzFfSURfUFVMTERPV04pOwogCWlzcDEzMDFfY2xlYXJfYml0cyhpc3AsIElTUDEzMDFfTU9ERV9DT05UUk9MXzEsIE1DMV9EQVRfU0UwKTsKQEAgLTI4Myw3ICsyODMsNyBAQAogc3RhdGljIHZvaWQgcG93ZXJfdXAoc3RydWN0IGlzcDEzMDEgKmlzcCkKIHsKIAkvLyBpc3AxMzAxX2NsZWFyX2JpdHMoaXNwLCBJU1AxMzAxX01PREVfQ09OVFJPTF8yLCBNQzJfR0xPQkFMX1BXUl9ETik7Ci0JaXNwMTMwMV9jbGVhcl9iaXRzKGlzcCwgSVNQMTMwMV9NT0RFX0NPTlRST0xfMSwgTUMxX1NVU1BFTkRfUkVHKTsKKwlpc3AxMzAxX2NsZWFyX2JpdHMoaXNwLCBJU1AxMzAxX01PREVfQ09OVFJPTF8xLCBNQzFfU1VTUEVORCk7CiAKIAkvKiBkbyB0aGlzIG9ubHkgd2hlbiBjcHUgaXMgZHJpdmluZyB0cmFuc2NlaXZlciwKIAkgKiBzbyBob3N0IHdvbid0IHNlZSBhIGxvdyBzcGVlZCBkZXZpY2UuLi4KQEAgLTM2MCw2ICszNjAsOCBAQAogLyogY2FsbGVkIGZyb20gaXJxIGhhbmRsZXJzICovCiBzdGF0aWMgdm9pZCBhX2lkbGUoc3RydWN0IGlzcDEzMDEgKmlzcCwgY29uc3QgY2hhciAqdGFnKQogeworCXUzMiBsOworCiAJaWYgKGlzcC0+b3RnLnN0YXRlID09IE9UR19TVEFURV9BX0lETEUpCiAJCXJldHVybjsKIApAQCAtMzczLDEzICszNzUsMTcgQEAKIAkJZ2FkZ2V0X3N1c3BlbmQoaXNwKTsKIAl9CiAJaXNwLT5vdGcuc3RhdGUgPSBPVEdfU1RBVEVfQV9JRExFOwotCWlzcC0+bGFzdF9vdGdfY3RybCA9IE9UR19DVFJMX1JFRyA9IE9UR19DVFJMX1JFRyAmIE9UR19YQ0VJVl9PVVRQVVRTOworCWwgPSBvbWFwX3JlYWRsKE9UR19DVFJMKSAmIE9UR19YQ0VJVl9PVVRQVVRTOworCW9tYXBfd3JpdGVsKGwsIE9UR19DVFJMKTsKKwlpc3AtPmxhc3Rfb3RnX2N0cmwgPSBsOwogCXByX2RlYnVnKCIgIC0tPiAlcy8lc1xuIiwgc3RhdGVfbmFtZShpc3ApLCB0YWcpOwogfQogCiAvKiBjYWxsZWQgZnJvbSBpcnEgaGFuZGxlcnMgKi8KIHN0YXRpYyB2b2lkIGJfaWRsZShzdHJ1Y3QgaXNwMTMwMSAqaXNwLCBjb25zdCBjaGFyICp0YWcpCiB7CisJdTMyIGw7CisKIAlpZiAoaXNwLT5vdGcuc3RhdGUgPT0gT1RHX1NUQVRFX0JfSURMRSkKIAkJcmV0dXJuOwogCkBAIC0zOTMsNyArMzk5LDkgQEAKIAkJZ2FkZ2V0X3N1c3BlbmQoaXNwKTsKIAl9CiAJaXNwLT5vdGcuc3RhdGUgPSBPVEdfU1RBVEVfQl9JRExFOwotCWlzcC0+bGFzdF9vdGdfY3RybCA9IE9UR19DVFJMX1JFRyA9IE9UR19DVFJMX1JFRyAmIE9UR19YQ0VJVl9PVVRQVVRTOworCWwgPSBvbWFwX3JlYWRsKE9UR19DVFJMKSAmIE9UR19YQ0VJVl9PVVRQVVRTOworCW9tYXBfd3JpdGVsKGwsIE9UR19DVFJMKTsKKwlpc3AtPmxhc3Rfb3RnX2N0cmwgPSBsOwogCXByX2RlYnVnKCIgIC0tPiAlcy8lc1xuIiwgc3RhdGVfbmFtZShpc3ApLCB0YWcpOwogfQogCkBAIC00MDYsNyArNDE0LDcgQEAKIAl1OAlzcmMgPSBpc3AxMzAxX2dldF91OChpc3AsIElTUDEzMDFfSU5URVJSVVBUX1NPVVJDRSk7CiAKIAlwcl9kZWJ1Zygib3RnOiAlMDZ4LCAlcyAlcywgb3RnLyUwMnggc3RhdC8lMDJ4LiUwMnhcbiIsCi0JCU9UR19DVFJMX1JFRywgbGFiZWwsIHN0YXRlX25hbWUoaXNwKSwKKwkJb21hcF9yZWFkbChPVEdfQ1RSTCksIGxhYmVsLCBzdGF0ZV9uYW1lKGlzcCksCiAJCWN0cmwsIHN0YXR1cywgc3JjKTsKIAkvKiBtb2RlIGNvbnRyb2wgYW5kIGlycSBlbmFibGVzIGRvbid0IGNoYW5nZSBtdWNoICovCiAjZW5kaWYKQEAgLTQyOSw3ICs0MzcsNyBAQAogc3RhdGljIHZvaWQgY2hlY2tfc3RhdGUoc3RydWN0IGlzcDEzMDEgKmlzcCwgY29uc3QgY2hhciAqdGFnKQogewogCWVudW0gdXNiX290Z19zdGF0ZQlzdGF0ZSA9IE9UR19TVEFURV9VTkRFRklORUQ7Ci0JdTgJCQlmc20gPSBPVEdfVEVTVF9SRUcgJiAweDBmZjsKKwl1OAkJCWZzbSA9IG9tYXBfcmVhZHcoT1RHX1RFU1QpICYgMHgwZmY7CiAJdW5zaWduZWQJCWV4dHJhID0gMDsKIAogCXN3aXRjaCAoZnNtKSB7CkBAIC00OTQsNyArNTAyLDggQEAKIAlpZiAoaXNwLT5vdGcuc3RhdGUgPT0gc3RhdGUgJiYgIWV4dHJhKQogCQlyZXR1cm47CiAJcHJfZGVidWcoIm90ZzogJXMgRlNNICVzLyUwMngsICVzLCAlMDZ4XG4iLCB0YWcsCi0JCXN0YXRlX3N0cmluZyhzdGF0ZSksIGZzbSwgc3RhdGVfbmFtZShpc3ApLCBPVEdfQ1RSTF9SRUcpOworCQlzdGF0ZV9zdHJpbmcoc3RhdGUpLCBmc20sIHN0YXRlX25hbWUoaXNwKSwKKwkJb21hcF9yZWFkbChPVEdfQ1RSTCkpOwogfQogCiAjZWxzZQpAQCAtNTA4LDEwICs1MTcsMTEgQEAKIHsKIAl1MzIJb3RnX2N0cmw7CiAKLQlvdGdfY3RybCA9IE9UR19DVFJMX1JFRwotCQkJJiBPVEdfQ1RSTF9NQVNLCi0JCQkmIH5PVEdfWENFSVZfSU5QVVRTCi0JCQkmIH4oT1RHX0lEfE9UR19BU0VTU1ZMRHxPVEdfVkJVU1ZMRCk7CisJb3RnX2N0cmwgPSBvbWFwX3JlYWRsKE9UR19DVFJMKSAmIE9UR19DVFJMX01BU0s7CisJb3RnX2N0cmwgJj0gfk9UR19YQ0VJVl9JTlBVVFM7CisJb3RnX2N0cmwgJj0gfihPVEdfSUR8T1RHX0FTRVNTVkxEfE9UR19WQlVTVkxEKTsKKworCiAJaWYgKGludF9zcmMgJiBJTlRSX1NFU1NfVkxEKQogCQlvdGdfY3RybCB8PSBPVEdfQVNFU1NWTEQ7CiAJZWxzZSBpZiAoaXNwLT5vdGcuc3RhdGUgPT0gT1RHX1NUQVRFX0FfV0FJVF9WRkFMTCkgewpAQCAtNTM0LDcgKzU0NCw3IEBACiAJCQlyZXR1cm47CiAJCX0KIAl9Ci0JT1RHX0NUUkxfUkVHID0gb3RnX2N0cmw7CisJb21hcF93cml0ZWwob3RnX2N0cmwsIE9UR19DVFJMKTsKIH0KIAogLyogb3V0cHV0cyBmcm9tIElTUDEzMDFfT1RHX1NUQVRVUyAqLwpAQCAtNTQyLDE1ICs1NTIsMTQgQEAKIHsKIAl1MzIJb3RnX2N0cmw7CiAKLQlvdGdfY3RybCA9IE9UR19DVFJMX1JFRwotCQkJJiBPVEdfQ1RSTF9NQVNLCi0JCQkmIH5PVEdfWENFSVZfSU5QVVRTCi0JCQkmIH4oT1RHX0JTRVNTVkxEfE9UR19CU0VTU0VORCk7CisJb3RnX2N0cmwgPSBvbWFwX3JlYWRsKE9UR19DVFJMKSAmIE9UR19DVFJMX01BU0s7CisJb3RnX2N0cmwgJj0gfk9UR19YQ0VJVl9JTlBVVFM7CisJb3RnX2N0cmwgJj0gfihPVEdfQlNFU1NWTEQgfCBPVEdfQlNFU1NFTkQpOwogCWlmIChvdGdfc3RhdHVzICYgT1RHX0JfU0VTU19WTEQpCiAJCW90Z19jdHJsIHw9IE9UR19CU0VTU1ZMRDsKIAllbHNlIGlmIChvdGdfc3RhdHVzICYgT1RHX0JfU0VTU19FTkQpCiAJCW90Z19jdHJsIHw9IE9UR19CU0VTU0VORDsKLQlPVEdfQ1RSTF9SRUcgPSBvdGdfY3RybDsKKwlvbWFwX3dyaXRlbChvdGdfY3RybCwgT1RHX0NUUkwpOwogfQogCiAvKiBpbnB1dHMgZ29pbmcgdG8gSVNQMTMwMSAqLwpAQCAtNTU5LDcgKzU2OCw3IEBACiAJdTMyCW90Z19jdHJsLCBvdGdfY2hhbmdlOwogCXU4CXNldCA9IE9URzFfRE1fUFVMTERPV04sIGNsciA9IE9URzFfRE1fUFVMTFVQOwogCi0Jb3RnX2N0cmwgPSBPVEdfQ1RSTF9SRUc7CisJb3RnX2N0cmwgPSBvbWFwX3JlYWRsKE9UR19DVFJMKTsKIAlvdGdfY2hhbmdlID0gb3RnX2N0cmwgXiBpc3AtPmxhc3Rfb3RnX2N0cmw7CiAJaXNwLT5sYXN0X290Z19jdHJsID0gb3RnX2N0cmw7CiAJb3RnX2N0cmwgPSBvdGdfY3RybCAmIE9UR19YQ0VJVl9JTlBVVFM7CkBAIC02MzksNiArNjQ4LDggQEAKIAogCS8qIEhOUCBzd2l0Y2ggdG8gaG9zdCBvciBwZXJpcGhlcmFsOyBhbmQgU1JQICovCiAJaWYgKG90Z19jaGFuZ2UgJiBPVEdfUFVMTFVQKSB7CisJCXUzMiBsOworCiAJCXN3aXRjaCAoaXNwLT5vdGcuc3RhdGUpIHsKIAkJY2FzZSBPVEdfU1RBVEVfQl9JRExFOgogCQkJaWYgKGNsciAmIE9URzFfRFBfUFVMTFVQKQpAQCAtNjU1LDcgKzY2Niw5IEBACiAJCWRlZmF1bHQ6CiAJCQlicmVhazsKIAkJfQotCQlPVEdfQ1RSTF9SRUcgfD0gT1RHX1BVTExVUDsKKwkJbCA9IG9tYXBfcmVhZGwoT1RHX0NUUkwpOworCQlsIHw9IE9UR19QVUxMVVA7CisJCW9tYXBfd3JpdGVsKGwsIE9UR19DVFJMKTsKIAl9CiAKIAljaGVja19zdGF0ZShpc3AsIF9fZnVuY19fKTsKQEAgLTY2NCwyMCArNjc3LDIwIEBACiAKIHN0YXRpYyBpcnFyZXR1cm5fdCBvbWFwX290Z19pcnEoaW50IGlycSwgdm9pZCAqX2lzcCkKIHsKLQl1MTYJCW90Z19pcnEgPSBPVEdfSVJRX1NSQ19SRUc7CisJdTE2CQlvdGdfaXJxID0gb21hcF9yZWFkdyhPVEdfSVJRX1NSQyk7CiAJdTMyCQlvdGdfY3RybDsKIAlpbnQJCXJldCA9IElSUV9OT05FOwogCXN0cnVjdCBpc3AxMzAxCSppc3AgPSBfaXNwOwogCiAJLyogdXBkYXRlIElTUDEzMDEgdHJhbnNjaWV2ZXIgZnJvbSBPVEcgY29udHJvbGxlciAqLwogCWlmIChvdGdfaXJxICYgT1BSVF9DSEcpIHsKLQkJT1RHX0lSUV9TUkNfUkVHID0gT1BSVF9DSEc7CisJCW9tYXBfd3JpdGV3KE9QUlRfQ0hHLCBPVEdfSVJRX1NSQyk7CiAJCWlzcDEzMDFfZGVmZXJfd29yayhpc3AsIFdPUktfVVBEQVRFX0lTUCk7CiAJCXJldCA9IElSUV9IQU5ETEVEOwogCiAJLyogU1JQIHRvIGJlY29tZSBiX3BlcmlwaGVyYWwgZmFpbGVkICovCiAJfSBlbHNlIGlmIChvdGdfaXJxICYgQl9TUlBfVE1ST1VUKSB7Ci0JCXByX2RlYnVnKCJvdGc6IEJfU1JQX1RJTUVPVVQsICUwNnhcbiIsIE9UR19DVFJMX1JFRyk7CisJCXByX2RlYnVnKCJvdGc6IEJfU1JQX1RJTUVPVVQsICUwNnhcbiIsIG9tYXBfcmVhZGwoT1RHX0NUUkwpKTsKIAkJbm90cmVzcG9uZGluZyhpc3ApOwogCiAJCS8qIGdhZGdldCBkcml2ZXJzIHRoYXQgY2FyZSBzaG91bGQgbW9uaXRvciBhbGwga2luZHMgb2YKQEAgLTY4NywzMSArNzAwLDMxIEBACiAJCWlmIChpc3AtPm90Zy5zdGF0ZSA9PSBPVEdfU1RBVEVfQl9TUlBfSU5JVCkKIAkJCWJfaWRsZShpc3AsICJzcnBfdGltZW91dCIpOwogCi0JCU9UR19JUlFfU1JDX1JFRyA9IEJfU1JQX1RNUk9VVDsKKwkJb21hcF93cml0ZXcoQl9TUlBfVE1ST1VULCBPVEdfSVJRX1NSQyk7CiAJCXJldCA9IElSUV9IQU5ETEVEOwogCiAJLyogSE5QIHRvIGJlY29tZSBiX2hvc3QgZmFpbGVkICovCiAJfSBlbHNlIGlmIChvdGdfaXJxICYgQl9ITlBfRkFJTCkgewogCQlwcl9kZWJ1Zygib3RnOiAlcyBCX0hOUF9GQUlMLCAlMDZ4XG4iLAotCQkJCXN0YXRlX25hbWUoaXNwKSwgT1RHX0NUUkxfUkVHKTsKKwkJCQlzdGF0ZV9uYW1lKGlzcCksIG9tYXBfcmVhZGwoT1RHX0NUUkwpKTsKIAkJbm90cmVzcG9uZGluZyhpc3ApOwogCi0JCW90Z19jdHJsID0gT1RHX0NUUkxfUkVHOworCQlvdGdfY3RybCA9IG9tYXBfcmVhZGwoT1RHX0NUUkwpOwogCQlvdGdfY3RybCB8PSBPVEdfQlVTRFJPUDsKIAkJb3RnX2N0cmwgJj0gT1RHX0NUUkxfTUFTSyAmIH5PVEdfWENFSVZfSU5QVVRTOwotCQlPVEdfQ1RSTF9SRUcgPSBvdGdfY3RybDsKKwkJb21hcF93cml0ZWwob3RnX2N0cmwsIE9UR19DVFJMKTsKIAogCQkvKiBzdWJzZXQgb2YgYl9wZXJpcGhlcmFsKCkuLi4gKi8KIAkJaXNwLT5vdGcuc3RhdGUgPSBPVEdfU1RBVEVfQl9QRVJJUEhFUkFMOwogCQlwcl9kZWJ1ZygiICAtLT4gYl9wZXJpcGhlcmFsXG4iKTsKIAotCQlPVEdfSVJRX1NSQ19SRUcgPSBCX0hOUF9GQUlMOworCQlvbWFwX3dyaXRldyhCX0hOUF9GQUlMLCBPVEdfSVJRX1NSQyk7CiAJCXJldCA9IElSUV9IQU5ETEVEOwogCiAJLyogZGV0ZWN0IFNSUCBmcm9tIEItZGV2aWNlIC4uLiAqLwogCX0gZWxzZSBpZiAob3RnX2lycSAmIEFfU1JQX0RFVEVDVCkgewogCQlwcl9kZWJ1Zygib3RnOiAlcyBTUlBfREVURUNULCAlMDZ4XG4iLAotCQkJCXN0YXRlX25hbWUoaXNwKSwgT1RHX0NUUkxfUkVHKTsKKwkJCQlzdGF0ZV9uYW1lKGlzcCksIG9tYXBfcmVhZGwoT1RHX0NUUkwpKTsKIAogCQlpc3AxMzAxX2RlZmVyX3dvcmsoaXNwLCBXT1JLX1VQREFURV9PVEcpOwogCQlzd2l0Y2ggKGlzcC0+b3RnLnN0YXRlKSB7CkBAIC03MTksNDkgKzczMiw0OSBAQAogCQkJaWYgKCFpc3AtPm90Zy5ob3N0KQogCQkJCWJyZWFrOwogCQkJaXNwMTMwMV9kZWZlcl93b3JrKGlzcCwgV09SS19IT1NUX1JFU1VNRSk7Ci0JCQlvdGdfY3RybCA9IE9UR19DVFJMX1JFRzsKKwkJCW90Z19jdHJsID0gb21hcF9yZWFkbChPVEdfQ1RSTCk7CiAJCQlvdGdfY3RybCB8PSBPVEdfQV9CVVNSRVE7CiAJCQlvdGdfY3RybCAmPSB+KE9UR19CVVNEUk9QfE9UR19CX0JVU1JFUSkKIAkJCQkJJiB+T1RHX1hDRUlWX0lOUFVUUwogCQkJCQkmIE9UR19DVFJMX01BU0s7Ci0JCQlPVEdfQ1RSTF9SRUcgPSBvdGdfY3RybDsKKwkJCW9tYXBfd3JpdGVsKG90Z19jdHJsLCBPVEdfQ1RSTCk7CiAJCQlicmVhazsKIAkJZGVmYXVsdDoKIAkJCWJyZWFrOwogCQl9CiAKLQkJT1RHX0lSUV9TUkNfUkVHID0gQV9TUlBfREVURUNUOworCQlvbWFwX3dyaXRldyhBX1NSUF9ERVRFQ1QsIE9UR19JUlFfU1JDKTsKIAkJcmV0ID0gSVJRX0hBTkRMRUQ7CiAKIAkvKiB0aW1lciBleHBpcmVkOiAgVChhX3dhaXRfYmNvbikgYW5kIG1heWJlIFQoYV93YWl0X3ZyaXNlKQogCSAqIHdlIGRvbid0IHRyYWNrIHRoZW0gc2VwYXJhdGVseQogCSAqLwogCX0gZWxzZSBpZiAob3RnX2lycSAmIEFfUkVRX1RNUk9VVCkgewotCQlvdGdfY3RybCA9IE9UR19DVFJMX1JFRzsKKwkJb3RnX2N0cmwgPSBvbWFwX3JlYWRsKE9UR19DVFJMKTsKIAkJcHJfaW5mbygib3RnOiBCQ09OX1RNT1VUIGZyb20gJXMsICUwNnhcbiIsCiAJCQkJc3RhdGVfbmFtZShpc3ApLCBvdGdfY3RybCk7CiAJCW5vdHJlc3BvbmRpbmcoaXNwKTsKIAogCQlvdGdfY3RybCB8PSBPVEdfQlVTRFJPUDsKIAkJb3RnX2N0cmwgJj0gfk9UR19BX0JVU1JFUSAmIE9UR19DVFJMX01BU0sgJiB+T1RHX1hDRUlWX0lOUFVUUzsKLQkJT1RHX0NUUkxfUkVHID0gb3RnX2N0cmw7CisJCW9tYXBfd3JpdGVsKG90Z19jdHJsLCBPVEdfQ1RSTCk7CiAJCWlzcC0+b3RnLnN0YXRlID0gT1RHX1NUQVRFX0FfV0FJVF9WRkFMTDsKIAotCQlPVEdfSVJRX1NSQ19SRUcgPSBBX1JFUV9UTVJPVVQ7CisJCW9tYXBfd3JpdGV3KEFfUkVRX1RNUk9VVCwgT1RHX0lSUV9TUkMpOwogCQlyZXQgPSBJUlFfSEFORExFRDsKIAogCS8qIEEtc3VwcGxpZWQgdm9sdGFnZSBmZWxsIHRvbyBsb3c7IG92ZXJjdXJyZW50ICovCiAJfSBlbHNlIGlmIChvdGdfaXJxICYgQV9WQlVTX0VSUikgewotCQlvdGdfY3RybCA9IE9UR19DVFJMX1JFRzsKKwkJb3RnX2N0cmwgPSBvbWFwX3JlYWRsKE9UR19DVFJMKTsKIAkJcHJpbnRrKEtFUk5fRVJSICJvdGc6ICVzLCBWQlVTX0VSUiAlMDR4IGN0cmwgJTA2eFxuIiwKIAkJCXN0YXRlX25hbWUoaXNwKSwgb3RnX2lycSwgb3RnX2N0cmwpOwogCiAJCW90Z19jdHJsIHw9IE9UR19CVVNEUk9QOwogCQlvdGdfY3RybCAmPSB+T1RHX0FfQlVTUkVRICYgT1RHX0NUUkxfTUFTSyAmIH5PVEdfWENFSVZfSU5QVVRTOwotCQlPVEdfQ1RSTF9SRUcgPSBvdGdfY3RybDsKKwkJb21hcF93cml0ZWwob3RnX2N0cmwsIE9UR19DVFJMKTsKIAkJaXNwLT5vdGcuc3RhdGUgPSBPVEdfU1RBVEVfQV9WQlVTX0VSUjsKIAotCQlPVEdfSVJRX1NSQ19SRUcgPSBBX1ZCVVNfRVJSOworCQlvbWFwX3dyaXRldyhBX1ZCVVNfRVJSLCBPVEdfSVJRX1NSQyk7CiAJCXJldCA9IElSUV9IQU5ETEVEOwogCiAJLyogc3dpdGNoIGRyaXZlcjsgdGhlIHRyYW5zY2lldmVyIGNvZGUgYWN0aXZhdGVzIGl0LApAQCAtNzcwLDcgKzc4Myw3IEBACiAJfSBlbHNlIGlmIChvdGdfaXJxICYgRFJJVkVSX1NXSVRDSCkgewogCQlpbnQJa2ljayA9IDA7CiAKLQkJb3RnX2N0cmwgPSBPVEdfQ1RSTF9SRUc7CisJCW90Z19jdHJsID0gb21hcF9yZWFkbChPVEdfQ1RSTCk7CiAJCXByaW50ayhLRVJOX05PVElDRSAib3RnOiAlcywgU1dJVENIIHRvICVzLCBjdHJsICUwNnhcbiIsCiAJCQkJc3RhdGVfbmFtZShpc3ApLAogCQkJCShvdGdfY3RybCAmIE9UR19EUklWRVJfU0VMKQpAQCAtNzkzLDcgKzgwNiw3IEBACiAJCX0gZWxzZSB7CiAJCQlpZiAoIShvdGdfY3RybCAmIE9UR19JRCkpIHsKIAkJCQlvdGdfY3RybCAmPSBPVEdfQ1RSTF9NQVNLICYgfk9UR19YQ0VJVl9JTlBVVFM7Ci0JCQkJT1RHX0NUUkxfUkVHID0gb3RnX2N0cmwgfCBPVEdfQV9CVVNSRVE7CisJCQkJb21hcF93cml0ZWwob3RnX2N0cmwgfCBPVEdfQV9CVVNSRVEsIE9UR19DVFJMKTsKIAkJCX0KIAogCQkJaWYgKGlzcC0+b3RnLmhvc3QpIHsKQEAgLTgxOCw3ICs4MzEsNyBAQAogCQkJfQogCQl9CiAKLQkJT1RHX0lSUV9TUkNfUkVHID0gRFJJVkVSX1NXSVRDSDsKKwkJb21hcF93cml0ZXcoRFJJVkVSX1NXSVRDSCwgT1RHX0lSUV9TUkMpOwogCQlyZXQgPSBJUlFfSEFORExFRDsKIAogCQlpZiAoa2ljaykKQEAgLTgzNCwxMiArODQ3LDE1IEBACiAKIHN0YXRpYyBpbnQgb3RnX2luaXQoc3RydWN0IGlzcDEzMDEgKmlzcCkKIHsKKwl1MzIgbDsKKwogCWlmICghb3RnX2RldikKIAkJcmV0dXJuIC1FTk9ERVY7CiAKIAlkdW1wX3JlZ3MoaXNwLCBfX2Z1bmNfXyk7CiAJLyogc29tZSBvZiB0aGVzZSB2YWx1ZXMgYXJlIGJvYXJkLXNwZWNpZmljLi4uICovCi0JT1RHX1NZU0NPTl8yX1JFRyB8PSBPVEdfRU4KKwlsID0gb21hcF9yZWFkbChPVEdfU1lTQ09OXzIpOworCWwgfD0gT1RHX0VOCiAJCS8qIGZvciBCLWRldmljZTogKi8KIAkJfCBTUlBfR1BEQVRBCQkvKiA5bXNlYyBCZGV2IEQrIHB1bHNlICovCiAJCXwgU1JQX0dQRFZCVVMJCS8qIGRpc2NoYXJnZSBhZnRlciBWQlVTIHB1bHNlICovCkBAIC04NDksMTggKzg2NSwyMiBAQAogCQl8IFNSUF9EUFcJCS8qIGRldGVjdCAxNjcrbnMgU1JQIHB1bHNlcyAqLwogCQl8IFNSUF9EQVRBIHwgU1JQX1ZCVVMJLyogYWNjZXB0IGJvdGgga2luZHMgb2YgU1JQIHB1bHNlICovCiAJCTsKKwlvbWFwX3dyaXRlbChsLCBPVEdfU1lTQ09OXzIpOwogCiAJdXBkYXRlX290ZzEoaXNwLCBpc3AxMzAxX2dldF91OChpc3AsIElTUDEzMDFfSU5URVJSVVBUX1NPVVJDRSkpOwogCXVwZGF0ZV9vdGcyKGlzcCwgaXNwMTMwMV9nZXRfdTgoaXNwLCBJU1AxMzAxX09UR19TVEFUVVMpKTsKIAogCWNoZWNrX3N0YXRlKGlzcCwgX19mdW5jX18pOwogCXByX2RlYnVnKCJvdGc6ICVzLCAlcyAlMDZ4XG4iLAotCQkJc3RhdGVfbmFtZShpc3ApLCBfX2Z1bmNfXywgT1RHX0NUUkxfUkVHKTsKKwkJCXN0YXRlX25hbWUoaXNwKSwgX19mdW5jX18sIG9tYXBfcmVhZGwoT1RHX0NUUkwpKTsKIAotCU9UR19JUlFfRU5fUkVHID0gRFJJVkVSX1NXSVRDSCB8IE9QUlRfQ0hHCisJb21hcF93cml0ZXcoRFJJVkVSX1NXSVRDSCB8IE9QUlRfQ0hHCiAJCQl8IEJfU1JQX1RNUk9VVCB8IEJfSE5QX0ZBSUwKLQkJCXwgQV9WQlVTX0VSUiB8IEFfU1JQX0RFVEVDVCB8IEFfUkVRX1RNUk9VVDsKLQlPVEdfU1lTQ09OXzJfUkVHIHw9IE9UR19FTjsKKwkJCXwgQV9WQlVTX0VSUiB8IEFfU1JQX0RFVEVDVCB8IEFfUkVRX1RNUk9VVCwgT1RHX0lSUV9FTik7CisKKwlsID0gb21hcF9yZWFkbChPVEdfU1lTQ09OXzIpOworCWwgfD0gT1RHX0VOOworCW9tYXBfd3JpdGVsKGwsIE9UR19TWVNDT05fMik7CiAKIAlyZXR1cm4gMDsKIH0KQEAgLTkyNyw3ICs5NDcsMTEgQEAKIAogc3RhdGljIHZvaWQgYl9wZXJpcGhlcmFsKHN0cnVjdCBpc3AxMzAxICppc3ApCiB7Ci0JT1RHX0NUUkxfUkVHID0gT1RHX0NUUkxfUkVHICYgT1RHX1hDRUlWX09VVFBVVFM7CisJdTMyIGw7CisKKwlsID0gb21hcF9yZWFkbChPVEdfQ1RSTCkgJiBPVEdfWENFSVZfT1VUUFVUUzsKKwlvbWFwX3dyaXRlbChsLCBPVEdfQ1RSTCk7CisKIAl1c2JfZ2FkZ2V0X3ZidXNfY29ubmVjdChpc3AtPm90Zy5nYWRnZXQpOwogCiAjaWZkZWYJQ09ORklHX1VTQl9PVEcKQEAgLTk5OSw2ICsxMDIzLDggQEAKIAkJCWlzcF9ic3RhdCA9IDA7CiAJCX0KIAl9IGVsc2UgeworCQl1MzIgbDsKKwogCQkvKiBpZiB1c2VyIHVucGx1Z2dlZCBtaW5pLUEgZW5kIG9mIGNhYmxlLAogCQkgKiBkb24ndCBieXBhc3MgQV9XQUlUX1ZGQUxMLgogCQkgKi8KQEAgLTEwMTksOCArMTA0NSw5IEBACiAJCQkJaXNwMTMwMV9jbGVhcl9iaXRzKGlzcCwgSVNQMTMwMV9NT0RFX0NPTlRST0xfMSwKIAkJCQkJCU1DMV9CRElTX0FDT05fRU4pOwogCQkJCWlzcC0+b3RnLnN0YXRlID0gT1RHX1NUQVRFX0JfSURMRTsKLQkJCQlPVEdfQ1RSTF9SRUcgJj0gT1RHX0NUUkxfUkVHICYgT1RHX0NUUkxfTUFTSwotCQkJCQkJJiB+T1RHX0NUUkxfQklUUzsKKwkJCQlsID0gb21hcF9yZWFkbChPVEdfQ1RSTCkgJiBPVEdfQ1RSTF9NQVNLOworCQkJCWwgJj0gfk9UR19DVFJMX0JJVFM7CisJCQkJb21hcF93cml0ZWwobCwgT1RHX0NUUkwpOwogCQkJCWJyZWFrOwogCQkJY2FzZSBPVEdfU1RBVEVfQl9JRExFOgogCQkJCWJyZWFrOwpAQCAtMTA0Niw3ICsxMDczLDggQEAKIAkJCS8qIEZBTExUSFJPVUdIICovCiAJCWNhc2UgT1RHX1NUQVRFX0JfU1JQX0lOSVQ6CiAJCQliX2lkbGUoaXNwLCBfX2Z1bmNfXyk7Ci0JCQlPVEdfQ1RSTF9SRUcgJj0gT1RHX0NUUkxfUkVHICYgT1RHX1hDRUlWX09VVFBVVFM7CisJCQlsID0gb21hcF9yZWFkbChPVEdfQ1RSTCkgJiBPVEdfWENFSVZfT1VUUFVUUzsKKwkJCW9tYXBfd3JpdGVsKGwsIE9UR19DVFJMKTsKIAkJCS8qIEZBTExUSFJPVUdIICovCiAJCWNhc2UgT1RHX1NUQVRFX0JfSURMRToKIAkJCWlmIChpc3AtPm90Zy5nYWRnZXQgJiYgKGlzcF9ic3RhdCAmIE9UR19CX1NFU1NfVkxEKSkgewpAQCAtMTEzMCwxMSArMTE1OCwxMSBAQAogCQkJY2FzZSBPVEdfU1RBVEVfQV9XQUlUX1ZSSVNFOgogCQkJCWlzcC0+b3RnLnN0YXRlID0gT1RHX1NUQVRFX0FfSE9TVDsKIAkJCQlwcl9kZWJ1ZygiICAtLT4gYV9ob3N0XG4iKTsKLQkJCQlvdGdfY3RybCA9IE9UR19DVFJMX1JFRzsKKwkJCQlvdGdfY3RybCA9IG9tYXBfcmVhZGwoT1RHX0NUUkwpOwogCQkJCW90Z19jdHJsIHw9IE9UR19BX0JVU1JFUTsKIAkJCQlvdGdfY3RybCAmPSB+KE9UR19CVVNEUk9QfE9UR19CX0JVU1JFUSkKIAkJCQkJCSYgT1RHX0NUUkxfTUFTSzsKLQkJCQlPVEdfQ1RSTF9SRUcgPSBvdGdfY3RybDsKKwkJCQlvbWFwX3dyaXRlbChvdGdfY3RybCwgT1RHX0NUUkwpOwogCQkJCWJyZWFrOwogCQkJY2FzZSBPVEdfU1RBVEVfQl9XQUlUX0FDT046CiAJCQkJaXNwLT5vdGcuc3RhdGUgPSBPVEdfU1RBVEVfQl9IT1NUOwpAQCAtMTI3NCw3ICsxMzAyLDcgQEAKIAkJcmV0dXJuIC1FTk9ERVY7CiAKIAlpZiAoIWhvc3QpIHsKLQkJT1RHX0lSUV9FTl9SRUcgPSAwOworCQlvbWFwX3dyaXRldygwLCBPVEdfSVJRX0VOKTsKIAkJcG93ZXJfZG93bihpc3ApOwogCQlpc3AtPm90Zy5ob3N0ID0gMDsKIAkJcmV0dXJuIDA7CkBAIC0xMzI1LDEyICsxMzUzLDEzIEBACiBpc3AxMzAxX3NldF9wZXJpcGhlcmFsKHN0cnVjdCBvdGdfdHJhbnNjZWl2ZXIgKm90Zywgc3RydWN0IHVzYl9nYWRnZXQgKmdhZGdldCkKIHsKIAlzdHJ1Y3QgaXNwMTMwMQkqaXNwID0gY29udGFpbmVyX29mKG90Zywgc3RydWN0IGlzcDEzMDEsIG90Zyk7CisJdTMyIGw7CiAKIAlpZiAoIW90ZyB8fCBpc3AgIT0gdGhlX3RyYW5zY2VpdmVyKQogCQlyZXR1cm4gLUVOT0RFVjsKIAogCWlmICghZ2FkZ2V0KSB7Ci0JCU9UR19JUlFfRU5fUkVHID0gMDsKKwkJb21hcF93cml0ZXcoMCwgT1RHX0lSUV9FTik7CiAJCWlmICghaXNwLT5vdGcuZGVmYXVsdF9hKQogCQkJZW5hYmxlX3ZidXNfZHJhdyhpc3AsIDApOwogCQl1c2JfZ2FkZ2V0X3ZidXNfZGlzY29ubmVjdChpc3AtPm90Zy5nYWRnZXQpOwpAQCAtMTM1MSw5ICsxMzgwLDExIEBACiAJaXNwLT5vdGcuZ2FkZ2V0ID0gZ2FkZ2V0OwogCS8vIEZJWE1FIHVwZGF0ZSBpdHMgcmVmY291bnQKIAotCU9UR19DVFJMX1JFRyA9IChPVEdfQ1RSTF9SRUcgJiBPVEdfQ1RSTF9NQVNLCi0JCQkJJiB+KE9UR19YQ0VJVl9PVVRQVVRTfE9UR19DVFJMX0JJVFMpKQotCQkJfCBPVEdfSUQ7CisJbCA9IG9tYXBfcmVhZGwoT1RHX0NUUkwpICYgT1RHX0NUUkxfTUFTSzsKKwlsICY9IH4oT1RHX1hDRUlWX09VVFBVVFN8T1RHX0NUUkxfQklUUyk7CisJbCB8PSBPVEdfSUQ7CisJb21hcF93cml0ZWwobCwgT1RHX0NUUkwpOworCiAJcG93ZXJfdXAoaXNwKTsKIAlpc3AtPm90Zy5zdGF0ZSA9IE9UR19TVEFURV9CX0lETEU7CiAKQEAgLTE0MDUsMTYgKzE0MzYsMTcgQEAKIAkJCXx8IGlzcC0+b3RnLnN0YXRlICE9IE9UR19TVEFURV9CX0lETEUpCiAJCXJldHVybiAtRU5PREVWOwogCi0Jb3RnX2N0cmwgPSBPVEdfQ1RSTF9SRUc7CisJb3RnX2N0cmwgPSBvbWFwX3JlYWRsKE9UR19DVFJMKTsKIAlpZiAoIShvdGdfY3RybCAmIE9UR19CU0VTU0VORCkpCiAJCXJldHVybiAtRUlOVkFMOwogCiAJb3RnX2N0cmwgfD0gT1RHX0JfQlVTUkVROwogCW90Z19jdHJsICY9IH5PVEdfQV9CVVNSRVEgJiBPVEdfQ1RSTF9NQVNLOwotCU9UR19DVFJMX1JFRyA9IG90Z19jdHJsOworCW9tYXBfd3JpdGVsKG90Z19jdHJsLCBPVEdfQ1RSTCk7CiAJaXNwLT5vdGcuc3RhdGUgPSBPVEdfU1RBVEVfQl9TUlBfSU5JVDsKIAotCXByX2RlYnVnKCJvdGc6IFNSUCwgJXMgLi4uICUwNnhcbiIsIHN0YXRlX25hbWUoaXNwKSwgT1RHX0NUUkxfUkVHKTsKKwlwcl9kZWJ1Zygib3RnOiBTUlAsICVzIC4uLiAlMDZ4XG4iLCBzdGF0ZV9uYW1lKGlzcCksCisJCQlvbWFwX3JlYWRsKE9UR19DVFJMKSk7CiAjaWZkZWYJQ09ORklHX1VTQl9PVEcKIAljaGVja19zdGF0ZShpc3AsIF9fZnVuY19fKTsKICNlbmRpZgpAQCAtMTQyNiw2ICsxNDU4LDcgQEAKIHsKICNpZmRlZglDT05GSUdfVVNCX09URwogCXN0cnVjdCBpc3AxMzAxCSppc3AgPSBjb250YWluZXJfb2YoZGV2LCBzdHJ1Y3QgaXNwMTMwMSwgb3RnKTsKKwl1MzIgbDsKIAogCWlmICghZGV2IHx8IGlzcCAhPSB0aGVfdHJhbnNjZWl2ZXIpCiAJCXJldHVybiAtRU5PREVWOwpAQCAtMTQ1Miw3ICsxNDg1LDkgQEAKICNlbmRpZgogCQkvKiBjYWxsZXIgbXVzdCBzdXNwZW5kIHRoZW4gY2xlYXIgQV9CVVNSRVEgKi8KIAkJdXNiX2dhZGdldF92YnVzX2Nvbm5lY3QoaXNwLT5vdGcuZ2FkZ2V0KTsKLQkJT1RHX0NUUkxfUkVHIHw9IE9UR19BX1NFVEJfSE5QRU47CisJCWwgPSBvbWFwX3JlYWRsKE9UR19DVFJMKTsKKwkJbCB8PSBPVEdfQV9TRVRCX0hOUEVOOworCQlvbWFwX3dyaXRlbChsLCBPVEdfQ1RSTCk7CiAKIAkJYnJlYWs7CiAJY2FzZSBPVEdfU1RBVEVfQV9QRVJJUEhFUkFMOgpAQCAtMTQ2Miw3ICsxNDk3LDcgQEAKIAkJcmV0dXJuIC1FSUxTRVE7CiAJfQogCXByX2RlYnVnKCJvdGc6IEhOUCAlcywgJTA2eCAuLi5cbiIsCi0JCXN0YXRlX25hbWUoaXNwKSwgT1RHX0NUUkxfUkVHKTsKKwkJc3RhdGVfbmFtZShpc3ApLCBvbWFwX3JlYWRsKE9UR19DVFJMKSk7CiAJY2hlY2tfc3RhdGUoaXNwLCBfX2Z1bmNfXyk7CiAJcmV0dXJuIDA7CiAjZWxzZQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvY2hpcHMvbWF4Njg3NS5jIGIvZHJpdmVycy9pMmMvY2hpcHMvbWF4Njg3NS5jCmluZGV4IGNmNTA3YjMuLjVhMDI4NWQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2NoaXBzL21heDY4NzUuYworKysgYi9kcml2ZXJzL2kyYy9jaGlwcy9tYXg2ODc1LmMKQEAgLTE3MCw3ICsxNzAsNyBAQAogCXN0cnVjdCBpMmNfY2xpZW50ICpyZWFsX2NsaWVudDsKIAlzdHJ1Y3QgaTJjX2NsaWVudCAqZmFrZV9jbGllbnQ7CiAJc3RydWN0IG1heDY4NzVfZGF0YSAqZGF0YTsKLQlpbnQgZXJyID0gMDsKKwlpbnQgZXJyOwogCiAJaWYgKCFpMmNfY2hlY2tfZnVuY3Rpb25hbGl0eShhZGFwdGVyLCBJMkNfRlVOQ19TTUJVU19XUklURV9CWVRFX0RBVEEKIAkJCQkgICAgIHwgSTJDX0ZVTkNfU01CVVNfUkVBRF9CWVRFKSkKQEAgLTE5NSw3ICsxOTUsNiBAQAogCXJlYWxfY2xpZW50LT5hZGRyID0gYWRkcmVzczsKIAlyZWFsX2NsaWVudC0+YWRhcHRlciA9IGFkYXB0ZXI7CiAJcmVhbF9jbGllbnQtPmRyaXZlciA9ICZtYXg2ODc1X2RyaXZlcjsKLQlyZWFsX2NsaWVudC0+ZmxhZ3MgPSAwOwogCXN0cmxjcHkocmVhbF9jbGllbnQtPm5hbWUsICJtYXg2ODc1IiwgSTJDX05BTUVfU0laRSk7CiAJbXV0ZXhfaW5pdCgmZGF0YS0+dXBkYXRlX2xvY2spOwogCkBAIC0yMDQsNyArMjAzLDYgQEAKIAlmYWtlX2NsaWVudC0+YWRkciA9IGFkZHJlc3MgfCAxOwogCWZha2VfY2xpZW50LT5hZGFwdGVyID0gYWRhcHRlcjsKIAlmYWtlX2NsaWVudC0+ZHJpdmVyID0gJm1heDY4NzVfZHJpdmVyOwotCWZha2VfY2xpZW50LT5mbGFncyA9IDA7CiAJc3RybGNweShmYWtlX2NsaWVudC0+bmFtZSwgIm1heDY4NzUgc3ViY2xpZW50IiwgSTJDX05BTUVfU0laRSk7CiAKIAlpZiAoKGVyciA9IGkyY19hdHRhY2hfY2xpZW50KHJlYWxfY2xpZW50KSkgIT0gMCkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2NoaXBzL3BjYTk1MzkuYyBiL2RyaXZlcnMvaTJjL2NoaXBzL3BjYTk1MzkuYwppbmRleCBmNDNjNGU3Li41OGFiN2YyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9jaGlwcy9wY2E5NTM5LmMKKysrIGIvZHJpdmVycy9pMmMvY2hpcHMvcGNhOTUzOS5jCkBAIC0xMTMsNyArMTEzLDcgQEAKIC8qIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIGJ5IGkyY19wcm9iZSAqLwogc3RhdGljIGludCBwY2E5NTM5X2RldGVjdChzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXB0ZXIsIGludCBhZGRyZXNzLCBpbnQga2luZCkKIHsKLQlzdHJ1Y3QgaTJjX2NsaWVudCAqbmV3X2NsaWVudDsKKwlzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50OwogCXN0cnVjdCBwY2E5NTM5X2RhdGEgKmRhdGE7CiAJaW50IGVyciA9IDA7CiAKQEAgLTEyNywyOSArMTI3LDI4IEBACiAJCWdvdG8gZXhpdDsKIAl9CiAKLQluZXdfY2xpZW50ID0gJmRhdGEtPmNsaWVudDsKLQlpMmNfc2V0X2NsaWVudGRhdGEobmV3X2NsaWVudCwgZGF0YSk7Ci0JbmV3X2NsaWVudC0+YWRkciA9IGFkZHJlc3M7Ci0JbmV3X2NsaWVudC0+YWRhcHRlciA9IGFkYXB0ZXI7Ci0JbmV3X2NsaWVudC0+ZHJpdmVyID0gJnBjYTk1MzlfZHJpdmVyOwotCW5ld19jbGllbnQtPmZsYWdzID0gMDsKKwljbGllbnQgPSAmZGF0YS0+Y2xpZW50OworCWkyY19zZXRfY2xpZW50ZGF0YShjbGllbnQsIGRhdGEpOworCWNsaWVudC0+YWRkciA9IGFkZHJlc3M7CisJY2xpZW50LT5hZGFwdGVyID0gYWRhcHRlcjsKKwljbGllbnQtPmRyaXZlciA9ICZwY2E5NTM5X2RyaXZlcjsKIAogCWlmIChraW5kIDwgMCkgewogCQkvKiBEZXRlY3Rpb246IHRoZSBwY2E5NTM5IG9ubHkgaGFzIDggcmVnaXN0ZXJzICgwLTcpLgogCQkgICBBIHJlYWQgb2YgNyBzaG91bGQgc3VjY2VlZCwgYnV0IGEgcmVhZCBvZiA4IHNob3VsZCBmYWlsLiAqLwotCQlpZiAoKGkyY19zbWJ1c19yZWFkX2J5dGVfZGF0YShuZXdfY2xpZW50LCA3KSA8IDApIHx8Ci0JCSAgICAoaTJjX3NtYnVzX3JlYWRfYnl0ZV9kYXRhKG5ld19jbGllbnQsIDgpID49IDApKQorCQlpZiAoKGkyY19zbWJ1c19yZWFkX2J5dGVfZGF0YShjbGllbnQsIDcpIDwgMCkgfHwKKwkJICAgIChpMmNfc21idXNfcmVhZF9ieXRlX2RhdGEoY2xpZW50LCA4KSA+PSAwKSkKIAkJCWdvdG8gZXhpdF9rZnJlZTsKIAl9CiAKLQlzdHJsY3B5KG5ld19jbGllbnQtPm5hbWUsICJwY2E5NTM5IiwgSTJDX05BTUVfU0laRSk7CisJc3RybGNweShjbGllbnQtPm5hbWUsICJwY2E5NTM5IiwgSTJDX05BTUVfU0laRSk7CiAKIAkvKiBUZWxsIHRoZSBJMkMgbGF5ZXIgYSBuZXcgY2xpZW50IGhhcyBhcnJpdmVkICovCi0JaWYgKChlcnIgPSBpMmNfYXR0YWNoX2NsaWVudChuZXdfY2xpZW50KSkpCisJaWYgKChlcnIgPSBpMmNfYXR0YWNoX2NsaWVudChjbGllbnQpKSkKIAkJZ290byBleGl0X2tmcmVlOwogCiAJLyogUmVnaXN0ZXIgc3lzZnMgaG9va3MgKi8KLQllcnIgPSBzeXNmc19jcmVhdGVfZ3JvdXAoJm5ld19jbGllbnQtPmRldi5rb2JqLAorCWVyciA9IHN5c2ZzX2NyZWF0ZV9ncm91cCgmY2xpZW50LT5kZXYua29iaiwKIAkJCQkgJnBjYTk1MzlfZGVmYXR0cl9ncm91cCk7CiAJaWYgKGVycikKIAkJZ290byBleGl0X2RldGFjaDsKQEAgLTE1Nyw3ICsxNTYsNyBAQAogCXJldHVybiAwOwogCiBleGl0X2RldGFjaDoKLQlpMmNfZGV0YWNoX2NsaWVudChuZXdfY2xpZW50KTsKKwlpMmNfZGV0YWNoX2NsaWVudChjbGllbnQpOwogZXhpdF9rZnJlZToKIAlrZnJlZShkYXRhKTsKIGV4aXQ6CmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9jaGlwcy9wY2Y4NTc0LmMgYi9kcml2ZXJzL2kyYy9jaGlwcy9wY2Y4NTc0LmMKaW5kZXggZTViMzEzMi4uMWIzZGIyYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvY2hpcHMvcGNmODU3NC5jCisrKyBiL2RyaXZlcnMvaTJjL2NoaXBzL3BjZjg1NzQuYwpAQCAtMSw2ICsxLDQgQEAKIC8qCi0gICAgcGNmODU3NC5jIC0gUGFydCBvZiBsbV9zZW5zb3JzLCBMaW51eCBrZXJuZWwgbW9kdWxlcyBmb3IgaGFyZHdhcmUKLSAgICAgICAgICAgICBtb25pdG9yaW5nCiAgICAgQ29weXJpZ2h0IChjKSAyMDAwICBGcm9kbyBMb29pamFhcmQgPGZyb2RvbEBkZHMubmw+LCAKICAgICAgICAgICAgICAgICAgICAgICAgIFBoaWxpcCBFZGVsYnJvY2sgPHBoaWxAbmV0cm9lZGdlLmNvbT4sCiAgICAgICAgICAgICAgICAgICAgICAgICBEYW4gRWF0b24gPGRhbi5lYXRvbkByb2NrZXRsb2dpeC5jb20+CkBAIC0xMjksNyArMTI3LDcgQEAKIC8qIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIGJ5IGkyY19wcm9iZSAqLwogc3RhdGljIGludCBwY2Y4NTc0X2RldGVjdChzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXB0ZXIsIGludCBhZGRyZXNzLCBpbnQga2luZCkKIHsKLQlzdHJ1Y3QgaTJjX2NsaWVudCAqbmV3X2NsaWVudDsKKwlzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50OwogCXN0cnVjdCBwY2Y4NTc0X2RhdGEgKmRhdGE7CiAJaW50IGVyciA9IDA7CiAJY29uc3QgY2hhciAqY2xpZW50X25hbWUgPSAiIjsKQEAgLTE0NCwxMiArMTQyLDExIEBACiAJCWdvdG8gZXhpdDsKIAl9CiAKLQluZXdfY2xpZW50ID0gJmRhdGEtPmNsaWVudDsKLQlpMmNfc2V0X2NsaWVudGRhdGEobmV3X2NsaWVudCwgZGF0YSk7Ci0JbmV3X2NsaWVudC0+YWRkciA9IGFkZHJlc3M7Ci0JbmV3X2NsaWVudC0+YWRhcHRlciA9IGFkYXB0ZXI7Ci0JbmV3X2NsaWVudC0+ZHJpdmVyID0gJnBjZjg1NzRfZHJpdmVyOwotCW5ld19jbGllbnQtPmZsYWdzID0gMDsKKwljbGllbnQgPSAmZGF0YS0+Y2xpZW50OworCWkyY19zZXRfY2xpZW50ZGF0YShjbGllbnQsIGRhdGEpOworCWNsaWVudC0+YWRkciA9IGFkZHJlc3M7CisJY2xpZW50LT5hZGFwdGVyID0gYWRhcHRlcjsKKwljbGllbnQtPmRyaXZlciA9ICZwY2Y4NTc0X2RyaXZlcjsKIAogCS8qIE5vdywgd2Ugd291bGQgZG8gdGhlIHJlbWFpbmluZyBkZXRlY3Rpb24uIEJ1dCB0aGUgUENGODU3NCBpcyBwbGFpbmx5CiAJICAgaW1wb3NzaWJsZSB0byBkZXRlY3QhIFN0dXBpZCBjaGlwLiAqLwpAQCAtMTY4LDIzICsxNjUsMjMgQEAKIAkJY2xpZW50X25hbWUgPSAicGNmODU3NCI7CiAKIAkvKiBGaWxsIGluIHRoZSByZW1haW5pbmcgY2xpZW50IGZpZWxkcyBhbmQgcHV0IGl0IGludG8gdGhlIGdsb2JhbCBsaXN0ICovCi0Jc3RybGNweShuZXdfY2xpZW50LT5uYW1lLCBjbGllbnRfbmFtZSwgSTJDX05BTUVfU0laRSk7CisJc3RybGNweShjbGllbnQtPm5hbWUsIGNsaWVudF9uYW1lLCBJMkNfTkFNRV9TSVpFKTsKIAogCS8qIFRlbGwgdGhlIEkyQyBsYXllciBhIG5ldyBjbGllbnQgaGFzIGFycml2ZWQgKi8KLQlpZiAoKGVyciA9IGkyY19hdHRhY2hfY2xpZW50KG5ld19jbGllbnQpKSkKKwlpZiAoKGVyciA9IGkyY19hdHRhY2hfY2xpZW50KGNsaWVudCkpKQogCQlnb3RvIGV4aXRfZnJlZTsKIAkKIAkvKiBJbml0aWFsaXplIHRoZSBQQ0Y4NTc0IGNoaXAgKi8KLQlwY2Y4NTc0X2luaXRfY2xpZW50KG5ld19jbGllbnQpOworCXBjZjg1NzRfaW5pdF9jbGllbnQoY2xpZW50KTsKIAogCS8qIFJlZ2lzdGVyIHN5c2ZzIGhvb2tzICovCi0JZXJyID0gc3lzZnNfY3JlYXRlX2dyb3VwKCZuZXdfY2xpZW50LT5kZXYua29iaiwgJnBjZjg1NzRfYXR0cl9ncm91cCk7CisJZXJyID0gc3lzZnNfY3JlYXRlX2dyb3VwKCZjbGllbnQtPmRldi5rb2JqLCAmcGNmODU3NF9hdHRyX2dyb3VwKTsKIAlpZiAoZXJyKQogCQlnb3RvIGV4aXRfZGV0YWNoOwogCXJldHVybiAwOwogCiAgICAgICBleGl0X2RldGFjaDoKLQlpMmNfZGV0YWNoX2NsaWVudChuZXdfY2xpZW50KTsKKwlpMmNfZGV0YWNoX2NsaWVudChjbGllbnQpOwogICAgICAgZXhpdF9mcmVlOgogCWtmcmVlKGRhdGEpOwogICAgICAgZXhpdDoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2NoaXBzL3BjZjg1OTEuYyBiL2RyaXZlcnMvaTJjL2NoaXBzL3BjZjg1OTEuYwppbmRleCA2NmM3YzNiLi5kYjczNTM3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9jaGlwcy9wY2Y4NTkxLmMKKysrIGIvZHJpdmVycy9pMmMvY2hpcHMvcGNmODU5MS5jCkBAIC0xLDYgKzEsNCBAQAogLyoKLSAgICBwY2Y4NTkxLmMgLSBQYXJ0IG9mIGxtX3NlbnNvcnMsIExpbnV4IGtlcm5lbCBtb2R1bGVzIGZvciBoYXJkd2FyZQotICAgICAgICAgICAgICAgIG1vbml0b3JpbmcKICAgICBDb3B5cmlnaHQgKEMpIDIwMDEtMjAwNCBBdXJlbGllbiBKYXJubyA8YXVyZWxpZW5AYXVyZWwzMi5uZXQ+CiAgICAgUG9ydGVkIHRvIExpbnV4IDIuNiBieSBBdXJlbGllbiBKYXJubyA8YXVyZWxpZW5AYXVyZWwzMi5uZXQ+IHdpdGggCiAgICAgdGhlIGhlbHAgb2YgSmVhbiBEZWx2YXJlIDxraGFsaUBsaW51eC1mci5vcmc+CkBAIC0xOTAsNyArMTg4LDcgQEAKIC8qIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIGJ5IGkyY19wcm9iZSAqLwogc3RhdGljIGludCBwY2Y4NTkxX2RldGVjdChzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXB0ZXIsIGludCBhZGRyZXNzLCBpbnQga2luZCkKIHsKLQlzdHJ1Y3QgaTJjX2NsaWVudCAqbmV3X2NsaWVudDsKKwlzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50OwogCXN0cnVjdCBwY2Y4NTkxX2RhdGEgKmRhdGE7CiAJaW50IGVyciA9IDA7CiAKQEAgLTIwNSwxMiArMjAzLDExIEBACiAJCWdvdG8gZXhpdDsKIAl9CiAJCi0JbmV3X2NsaWVudCA9ICZkYXRhLT5jbGllbnQ7Ci0JaTJjX3NldF9jbGllbnRkYXRhKG5ld19jbGllbnQsIGRhdGEpOwotCW5ld19jbGllbnQtPmFkZHIgPSBhZGRyZXNzOwotCW5ld19jbGllbnQtPmFkYXB0ZXIgPSBhZGFwdGVyOwotCW5ld19jbGllbnQtPmRyaXZlciA9ICZwY2Y4NTkxX2RyaXZlcjsKLQluZXdfY2xpZW50LT5mbGFncyA9IDA7CisJY2xpZW50ID0gJmRhdGEtPmNsaWVudDsKKwlpMmNfc2V0X2NsaWVudGRhdGEoY2xpZW50LCBkYXRhKTsKKwljbGllbnQtPmFkZHIgPSBhZGRyZXNzOworCWNsaWVudC0+YWRhcHRlciA9IGFkYXB0ZXI7CisJY2xpZW50LT5kcml2ZXIgPSAmcGNmODU5MV9kcml2ZXI7CiAKIAkvKiBOb3csIHdlIHdvdWxkIGRvIHRoZSByZW1haW5pbmcgZGV0ZWN0aW9uLiBCdXQgdGhlIFBDRjg1OTEgaXMgcGxhaW5seQogCSAgIGltcG9zc2libGUgdG8gZGV0ZWN0ISBTdHVwaWQgY2hpcC4gKi8KQEAgLTIyMSwzMSArMjE4LDMxIEBACiAKIAkvKiBGaWxsIGluIHRoZSByZW1haW5pbmcgY2xpZW50IGZpZWxkcyBhbmQgcHV0IGl0IGludG8gdGhlIGdsb2JhbCAKIAkgICBsaXN0ICovCi0Jc3RybGNweShuZXdfY2xpZW50LT5uYW1lLCAicGNmODU5MSIsIEkyQ19OQU1FX1NJWkUpOworCXN0cmxjcHkoY2xpZW50LT5uYW1lLCAicGNmODU5MSIsIEkyQ19OQU1FX1NJWkUpOwogCW11dGV4X2luaXQoJmRhdGEtPnVwZGF0ZV9sb2NrKTsKIAogCS8qIFRlbGwgdGhlIEkyQyBsYXllciBhIG5ldyBjbGllbnQgaGFzIGFycml2ZWQgKi8KLQlpZiAoKGVyciA9IGkyY19hdHRhY2hfY2xpZW50KG5ld19jbGllbnQpKSkKKwlpZiAoKGVyciA9IGkyY19hdHRhY2hfY2xpZW50KGNsaWVudCkpKQogCQlnb3RvIGV4aXRfa2ZyZWU7CiAKIAkvKiBJbml0aWFsaXplIHRoZSBQQ0Y4NTkxIGNoaXAgKi8KLQlwY2Y4NTkxX2luaXRfY2xpZW50KG5ld19jbGllbnQpOworCXBjZjg1OTFfaW5pdF9jbGllbnQoY2xpZW50KTsKIAogCS8qIFJlZ2lzdGVyIHN5c2ZzIGhvb2tzICovCi0JZXJyID0gc3lzZnNfY3JlYXRlX2dyb3VwKCZuZXdfY2xpZW50LT5kZXYua29iaiwgJnBjZjg1OTFfYXR0cl9ncm91cCk7CisJZXJyID0gc3lzZnNfY3JlYXRlX2dyb3VwKCZjbGllbnQtPmRldi5rb2JqLCAmcGNmODU5MV9hdHRyX2dyb3VwKTsKIAlpZiAoZXJyKQogCQlnb3RvIGV4aXRfZGV0YWNoOwogCiAJLyogUmVnaXN0ZXIgaW5wdXQyIGlmIG5vdCBpbiAidHdvIGRpZmZlcmVudGlhbCBpbnB1dHMiIG1vZGUgKi8KIAlpZiAoaW5wdXRfbW9kZSAhPSAzKSB7Ci0JCWlmICgoZXJyID0gZGV2aWNlX2NyZWF0ZV9maWxlKCZuZXdfY2xpZW50LT5kZXYsCisJCWlmICgoZXJyID0gZGV2aWNlX2NyZWF0ZV9maWxlKCZjbGllbnQtPmRldiwKIAkJCQkJICAgICAgJmRldl9hdHRyX2luMl9pbnB1dCkpKQogCQkJZ290byBleGl0X3N5c2ZzX3JlbW92ZTsKIAl9CiAKIAkvKiBSZWdpc3RlciBpbnB1dDMgb25seSBpbiAiZm91ciBzaW5nbGUgZW5kZWQgaW5wdXRzIiBtb2RlICovCiAJaWYgKGlucHV0X21vZGUgPT0gMCkgewotCQlpZiAoKGVyciA9IGRldmljZV9jcmVhdGVfZmlsZSgmbmV3X2NsaWVudC0+ZGV2LAorCQlpZiAoKGVyciA9IGRldmljZV9jcmVhdGVfZmlsZSgmY2xpZW50LT5kZXYsCiAJCQkJCSAgICAgICZkZXZfYXR0cl9pbjNfaW5wdXQpKSkKIAkJCWdvdG8gZXhpdF9zeXNmc19yZW1vdmU7CiAJfQpAQCAtMjUzLDEwICsyNTAsMTAgQEAKIAlyZXR1cm4gMDsKIAogZXhpdF9zeXNmc19yZW1vdmU6Ci0Jc3lzZnNfcmVtb3ZlX2dyb3VwKCZuZXdfY2xpZW50LT5kZXYua29iaiwgJnBjZjg1OTFfYXR0cl9ncm91cF9vcHQpOwotCXN5c2ZzX3JlbW92ZV9ncm91cCgmbmV3X2NsaWVudC0+ZGV2LmtvYmosICZwY2Y4NTkxX2F0dHJfZ3JvdXApOworCXN5c2ZzX3JlbW92ZV9ncm91cCgmY2xpZW50LT5kZXYua29iaiwgJnBjZjg1OTFfYXR0cl9ncm91cF9vcHQpOworCXN5c2ZzX3JlbW92ZV9ncm91cCgmY2xpZW50LT5kZXYua29iaiwgJnBjZjg1OTFfYXR0cl9ncm91cCk7CiBleGl0X2RldGFjaDoKLQlpMmNfZGV0YWNoX2NsaWVudChuZXdfY2xpZW50KTsKKwlpMmNfZGV0YWNoX2NsaWVudChjbGllbnQpOwogZXhpdF9rZnJlZToKIAlrZnJlZShkYXRhKTsKIGV4aXQ6CmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9pMmMtY29yZS5jIGIvZHJpdmVycy9pMmMvaTJjLWNvcmUuYwppbmRleCBkMDE3NWY0Li4wYTc5Zjc2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9pMmMtY29yZS5jCisrKyBiL2RyaXZlcnMvaTJjL2kyYy1jb3JlLmMKQEAgLTI5LDEzICsyOSwxMSBAQAogI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9pZHIuaD4KLSNpbmNsdWRlIDxsaW51eC9zZXFfZmlsZS5oPgogI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CiAjaW5jbHVkZSA8bGludXgvY29tcGxldGlvbi5oPgogI2luY2x1ZGUgPGxpbnV4L2hhcmRpcnEuaD4KICNpbmNsdWRlIDxsaW51eC9pcnFmbGFncy5oPgotI2luY2x1ZGUgPGxpbnV4L3NlbWFwaG9yZS5oPgogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAKICNpbmNsdWRlICJpMmMtY29yZS5oIgpAQCAtNDQsNyArNDIsOSBAQAogc3RhdGljIERFRklORV9NVVRFWChjb3JlX2xvY2spOwogc3RhdGljIERFRklORV9JRFIoaTJjX2FkYXB0ZXJfaWRyKTsKIAotI2RlZmluZSBpc19uZXdzdHlsZV9kcml2ZXIoZCkgKChkKS0+cHJvYmUgfHwgKGQpLT5yZW1vdmUpCisjZGVmaW5lIGlzX25ld3N0eWxlX2RyaXZlcihkKSAoKGQpLT5wcm9iZSB8fCAoZCktPnJlbW92ZSB8fCAoZCktPmRldGVjdCkKKworc3RhdGljIGludCBpMmNfZGV0ZWN0KHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcHRlciwgc3RydWN0IGkyY19kcml2ZXIgKmRyaXZlcik7CiAKIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KIApAQCAtMTAzLDE5ICsxMDMsMTQgQEAKIHsKIAlzdHJ1Y3QgaTJjX2NsaWVudAkqY2xpZW50ID0gdG9faTJjX2NsaWVudChkZXYpOwogCXN0cnVjdCBpMmNfZHJpdmVyCSpkcml2ZXIgPSB0b19pMmNfZHJpdmVyKGRldi0+ZHJpdmVyKTsKLQljb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCAqaWQ7CiAJaW50IHN0YXR1czsKIAotCWlmICghZHJpdmVyLT5wcm9iZSkKKwlpZiAoIWRyaXZlci0+cHJvYmUgfHwgIWRyaXZlci0+aWRfdGFibGUpCiAJCXJldHVybiAtRU5PREVWOwogCWNsaWVudC0+ZHJpdmVyID0gZHJpdmVyOwogCWRldl9kYmcoZGV2LCAicHJvYmVcbiIpOwogCi0JaWYgKGRyaXZlci0+aWRfdGFibGUpCi0JCWlkID0gaTJjX21hdGNoX2lkKGRyaXZlci0+aWRfdGFibGUsIGNsaWVudCk7Ci0JZWxzZQotCQlpZCA9IE5VTEw7Ci0Jc3RhdHVzID0gZHJpdmVyLT5wcm9iZShjbGllbnQsIGlkKTsKKwlzdGF0dXMgPSBkcml2ZXItPnByb2JlKGNsaWVudCwgaTJjX21hdGNoX2lkKGRyaXZlci0+aWRfdGFibGUsIGNsaWVudCkpOwogCWlmIChzdGF0dXMpCiAJCWNsaWVudC0+ZHJpdmVyID0gTlVMTDsKIAlyZXR1cm4gc3RhdHVzOwpAQCAtMjA4LDcgKzIwMyw3IEBACiAJeyB9LAogfTsKIAotc3RhdGljIHN0cnVjdCBidXNfdHlwZSBpMmNfYnVzX3R5cGUgPSB7CitzdHJ1Y3QgYnVzX3R5cGUgaTJjX2J1c190eXBlID0gewogCS5uYW1lCQk9ICJpMmMiLAogCS5kZXZfYXR0cnMJPSBpMmNfZGV2X2F0dHJzLAogCS5tYXRjaAkJPSBpMmNfZGV2aWNlX21hdGNoLApAQCAtMjE5LDYgKzIxNCw3IEBACiAJLnN1c3BlbmQJPSBpMmNfZGV2aWNlX3N1c3BlbmQsCiAJLnJlc3VtZQkJPSBpMmNfZGV2aWNlX3Jlc3VtZSwKIH07CitFWFBPUlRfU1lNQk9MX0dQTChpMmNfYnVzX3R5cGUpOwogCiAKIC8qKgpAQCAtMzA2LDYgKzMwMiwxNCBAQAogCQlyZXR1cm47CiAJfQogCisJaWYgKGFkYXB0ZXItPmNsaWVudF91bnJlZ2lzdGVyKSB7CisJCWlmIChhZGFwdGVyLT5jbGllbnRfdW5yZWdpc3RlcihjbGllbnQpKSB7CisJCQlkZXZfd2FybigmY2xpZW50LT5kZXYsCisJCQkJICJjbGllbnRfdW5yZWdpc3RlciBbJXNdIGZhaWxlZFxuIiwKKwkJCQkgY2xpZW50LT5uYW1lKTsKKwkJfQorCX0KKwogCW11dGV4X2xvY2soJmFkYXB0ZXItPmNsaXN0X2xvY2spOwogCWxpc3RfZGVsKCZjbGllbnQtPmxpc3QpOwogCW11dGV4X3VubG9jaygmYWRhcHRlci0+Y2xpc3RfbG9jayk7CkBAIC00MTYsNiArNDIwLDEwIEBACiAJc3RydWN0IGkyY19kcml2ZXIgKmRyaXZlciA9IHRvX2kyY19kcml2ZXIoZCk7CiAJc3RydWN0IGkyY19hZGFwdGVyICphZGFwID0gZGF0YTsKIAorCS8qIERldGVjdCBzdXBwb3J0ZWQgZGV2aWNlcyBvbiB0aGF0IGJ1cywgYW5kIGluc3RhbnRpYXRlIHRoZW0gKi8KKwlpMmNfZGV0ZWN0KGFkYXAsIGRyaXZlcik7CisKKwkvKiBMZXQgbGVnYWN5IGRyaXZlcnMgc2NhbiB0aGlzIGJ1cyBmb3IgbWF0Y2hpbmcgZGV2aWNlcyAqLwogCWlmIChkcml2ZXItPmF0dGFjaF9hZGFwdGVyKSB7CiAJCS8qIFdlIGlnbm9yZSB0aGUgcmV0dXJuIGNvZGU7IGlmIGl0IGZhaWxzLCB0b28gYmFkICovCiAJCWRyaXZlci0+YXR0YWNoX2FkYXB0ZXIoYWRhcCk7CkBAIC00NTUsNyArNDYzLDcgQEAKIAlpZiAoYWRhcC0+bnIgPCBfX2kyY19maXJzdF9keW5hbWljX2J1c19udW0pCiAJCWkyY19zY2FuX3N0YXRpY19ib2FyZF9pbmZvKGFkYXApOwogCi0JLyogbGV0IGxlZ2FjeSBkcml2ZXJzIHNjYW4gdGhpcyBidXMgZm9yIG1hdGNoaW5nIGRldmljZXMgKi8KKwkvKiBOb3RpZnkgZHJpdmVycyAqLwogCWR1bW15ID0gYnVzX2Zvcl9lYWNoX2RydigmaTJjX2J1c190eXBlLCBOVUxMLCBhZGFwLAogCQkJCSBpMmNfZG9fYWRkX2FkYXB0ZXIpOwogCkBAIC01NjEsOCArNTY5LDE5IEBACiB7CiAJc3RydWN0IGkyY19kcml2ZXIgKmRyaXZlciA9IHRvX2kyY19kcml2ZXIoZCk7CiAJc3RydWN0IGkyY19hZGFwdGVyICphZGFwdGVyID0gZGF0YTsKKwlzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50LCAqX247CiAJaW50IHJlczsKIAorCS8qIFJlbW92ZSB0aGUgZGV2aWNlcyB3ZSBjcmVhdGVkIG91cnNlbHZlcyAqLworCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShjbGllbnQsIF9uLCAmZHJpdmVyLT5jbGllbnRzLCBkZXRlY3RlZCkgeworCQlpZiAoY2xpZW50LT5hZGFwdGVyID09IGFkYXB0ZXIpIHsKKwkJCWRldl9kYmcoJmFkYXB0ZXItPmRldiwgIlJlbW92aW5nICVzIGF0IDB4JXhcbiIsCisJCQkJY2xpZW50LT5uYW1lLCBjbGllbnQtPmFkZHIpOworCQkJbGlzdF9kZWwoJmNsaWVudC0+ZGV0ZWN0ZWQpOworCQkJaTJjX3VucmVnaXN0ZXJfZGV2aWNlKGNsaWVudCk7CisJCX0KKwl9CisKIAlpZiAoIWRyaXZlci0+ZGV0YWNoX2FkYXB0ZXIpCiAJCXJldHVybiAwOwogCXJlcyA9IGRyaXZlci0+ZGV0YWNoX2FkYXB0ZXIoYWRhcHRlcik7CkBAIC01ODIsOCArNjAxLDcgQEAKICAqLwogaW50IGkyY19kZWxfYWRhcHRlcihzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXApCiB7Ci0Jc3RydWN0IGxpc3RfaGVhZCAgKml0ZW0sICpfbjsKLQlzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50OworCXN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQsICpfbjsKIAlpbnQgcmVzID0gMDsKIAogCW11dGV4X2xvY2soJmNvcmVfbG9jayk7CkBAIC02MDQsMTAgKzYyMiw5IEBACiAKIAkvKiBkZXRhY2ggYW55IGFjdGl2ZSBjbGllbnRzLiBUaGlzIG11c3QgYmUgZG9uZSBmaXJzdCwgYmVjYXVzZQogCSAqIGl0IGNhbiBmYWlsOyBpbiB3aGljaCBjYXNlIHdlIGdpdmUgdXAuICovCi0JbGlzdF9mb3JfZWFjaF9zYWZlKGl0ZW0sIF9uLCAmYWRhcC0+Y2xpZW50cykgeworCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShjbGllbnQsIF9uLCAmYWRhcC0+Y2xpZW50cywgbGlzdCkgewogCQlzdHJ1Y3QgaTJjX2RyaXZlcgkqZHJpdmVyOwogCi0JCWNsaWVudCA9IGxpc3RfZW50cnkoaXRlbSwgc3RydWN0IGkyY19jbGllbnQsIGxpc3QpOwogCQlkcml2ZXIgPSBjbGllbnQtPmRyaXZlcjsKIAogCQkvKiBuZXcgc3R5bGUsIGZvbGxvdyBzdGFuZGFyZCBkcml2ZXIgbW9kZWwgKi8KQEAgLTY0Niw2ICs2NjMsMjAgQEAKIAogLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwogCitzdGF0aWMgaW50IF9fYXR0YWNoX2FkYXB0ZXIoc3RydWN0IGRldmljZSAqZGV2LCB2b2lkICpkYXRhKQoreworCXN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcHRlciA9IHRvX2kyY19hZGFwdGVyKGRldik7CisJc3RydWN0IGkyY19kcml2ZXIgKmRyaXZlciA9IGRhdGE7CisKKwlpMmNfZGV0ZWN0KGFkYXB0ZXIsIGRyaXZlcik7CisKKwkvKiBMZWdhY3kgZHJpdmVycyBzY2FuIGkyYyBidXNzZXMgZGlyZWN0bHkgKi8KKwlpZiAoZHJpdmVyLT5hdHRhY2hfYWRhcHRlcikKKwkJZHJpdmVyLT5hdHRhY2hfYWRhcHRlcihhZGFwdGVyKTsKKworCXJldHVybiAwOworfQorCiAvKgogICogQW4gaTJjX2RyaXZlciBpcyB1c2VkIHdpdGggb25lIG9yIG1vcmUgaTJjX2NsaWVudCAoZGV2aWNlKSBub2RlcyB0byBhY2Nlc3MKICAqIGkyYyBzbGF2ZSBjaGlwcywgb24gYSBidXMgaW5zdGFuY2UgYXNzb2NpYXRlZCB3aXRoIHNvbWUgaTJjX2FkYXB0ZXIuICBUaGVyZQpAQCAtNjg1LDIzICs3MTYsNTkgQEAKIAogCXByX2RlYnVnKCJpMmMtY29yZTogZHJpdmVyIFslc10gcmVnaXN0ZXJlZFxuIiwgZHJpdmVyLT5kcml2ZXIubmFtZSk7CiAKLQkvKiBsZWdhY3kgZHJpdmVycyBzY2FuIGkyYyBidXNzZXMgZGlyZWN0bHkgKi8KLQlpZiAoZHJpdmVyLT5hdHRhY2hfYWRhcHRlcikgewotCQlzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXB0ZXI7Ci0KLQkJZG93bigmaTJjX2FkYXB0ZXJfY2xhc3Muc2VtKTsKLQkJbGlzdF9mb3JfZWFjaF9lbnRyeShhZGFwdGVyLCAmaTJjX2FkYXB0ZXJfY2xhc3MuZGV2aWNlcywKLQkJCQkgICAgZGV2Lm5vZGUpIHsKLQkJCWRyaXZlci0+YXR0YWNoX2FkYXB0ZXIoYWRhcHRlcik7Ci0JCX0KLQkJdXAoJmkyY19hZGFwdGVyX2NsYXNzLnNlbSk7Ci0JfQorCUlOSVRfTElTVF9IRUFEKCZkcml2ZXItPmNsaWVudHMpOworCS8qIFdhbGsgdGhlIGFkYXB0ZXJzIHRoYXQgYXJlIGFscmVhZHkgcHJlc2VudCAqLworCWNsYXNzX2Zvcl9lYWNoX2RldmljZSgmaTJjX2FkYXB0ZXJfY2xhc3MsIGRyaXZlciwgX19hdHRhY2hfYWRhcHRlcik7CiAKIAltdXRleF91bmxvY2soJmNvcmVfbG9jayk7CiAJcmV0dXJuIDA7CiB9CiBFWFBPUlRfU1lNQk9MKGkyY19yZWdpc3Rlcl9kcml2ZXIpOwogCitzdGF0aWMgaW50IF9fZGV0YWNoX2FkYXB0ZXIoc3RydWN0IGRldmljZSAqZGV2LCB2b2lkICpkYXRhKQoreworCXN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcHRlciA9IHRvX2kyY19hZGFwdGVyKGRldik7CisJc3RydWN0IGkyY19kcml2ZXIgKmRyaXZlciA9IGRhdGE7CisJc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCwgKl9uOworCisJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKGNsaWVudCwgX24sICZkcml2ZXItPmNsaWVudHMsIGRldGVjdGVkKSB7CisJCWRldl9kYmcoJmFkYXB0ZXItPmRldiwgIlJlbW92aW5nICVzIGF0IDB4JXhcbiIsCisJCQljbGllbnQtPm5hbWUsIGNsaWVudC0+YWRkcik7CisJCWxpc3RfZGVsKCZjbGllbnQtPmRldGVjdGVkKTsKKwkJaTJjX3VucmVnaXN0ZXJfZGV2aWNlKGNsaWVudCk7CisJfQorCisJaWYgKGlzX25ld3N0eWxlX2RyaXZlcihkcml2ZXIpKQorCQlyZXR1cm4gMDsKKworCS8qIEhhdmUgYSBsb29rIGF0IGVhY2ggYWRhcHRlciwgaWYgY2xpZW50cyBvZiB0aGlzIGRyaXZlciBhcmUgc3RpbGwKKwkgKiBhdHRhY2hlZC4gSWYgc28sIGRldGFjaCB0aGVtIHRvIGJlIGFibGUgdG8ga2lsbCB0aGUgZHJpdmVyCisJICogYWZ0ZXJ3YXJkcy4KKwkgKi8KKwlpZiAoZHJpdmVyLT5kZXRhY2hfYWRhcHRlcikgeworCQlpZiAoZHJpdmVyLT5kZXRhY2hfYWRhcHRlcihhZGFwdGVyKSkKKwkJCWRldl9lcnIoJmFkYXB0ZXItPmRldiwKKwkJCQkiZGV0YWNoX2FkYXB0ZXIgZmFpbGVkIGZvciBkcml2ZXIgWyVzXVxuIiwKKwkJCQlkcml2ZXItPmRyaXZlci5uYW1lKTsKKwl9IGVsc2UgeworCQlzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50LCAqX247CisKKwkJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKGNsaWVudCwgX24sICZhZGFwdGVyLT5jbGllbnRzLCBsaXN0KSB7CisJCQlpZiAoY2xpZW50LT5kcml2ZXIgIT0gZHJpdmVyKQorCQkJCWNvbnRpbnVlOworCQkJZGV2X2RiZygmYWRhcHRlci0+ZGV2LAorCQkJCSJkZXRhY2hpbmcgY2xpZW50IFslc10gYXQgMHglMDJ4XG4iLAorCQkJCWNsaWVudC0+bmFtZSwgY2xpZW50LT5hZGRyKTsKKwkJCWlmIChkcml2ZXItPmRldGFjaF9jbGllbnQoY2xpZW50KSkKKwkJCQlkZXZfZXJyKCZhZGFwdGVyLT5kZXYsICJkZXRhY2hfY2xpZW50ICIKKwkJCQkJImZhaWxlZCBmb3IgY2xpZW50IFslc10gYXQgMHglMDJ4XG4iLAorCQkJCQljbGllbnQtPm5hbWUsIGNsaWVudC0+YWRkcik7CisJCX0KKwl9CisKKwlyZXR1cm4gMDsKK30KKwogLyoqCiAgKiBpMmNfZGVsX2RyaXZlciAtIHVucmVnaXN0ZXIgSTJDIGRyaXZlcgogICogQGRyaXZlcjogdGhlIGRyaXZlciBiZWluZyB1bnJlZ2lzdGVyZWQKQEAgLTcwOSw0OCArNzc2LDEwIEBACiAgKi8KIHZvaWQgaTJjX2RlbF9kcml2ZXIoc3RydWN0IGkyY19kcml2ZXIgKmRyaXZlcikKIHsKLQlzdHJ1Y3QgbGlzdF9oZWFkICAgKml0ZW0yLCAqX247Ci0Jc3RydWN0IGkyY19jbGllbnQgICpjbGllbnQ7Ci0Jc3RydWN0IGkyY19hZGFwdGVyICphZGFwOwotCiAJbXV0ZXhfbG9jaygmY29yZV9sb2NrKTsKIAotCS8qIG5ldy1zdHlsZSBkcml2ZXI/ICovCi0JaWYgKGlzX25ld3N0eWxlX2RyaXZlcihkcml2ZXIpKQotCQlnb3RvIHVucmVnaXN0ZXI7CisJY2xhc3NfZm9yX2VhY2hfZGV2aWNlKCZpMmNfYWRhcHRlcl9jbGFzcywgZHJpdmVyLCBfX2RldGFjaF9hZGFwdGVyKTsKIAotCS8qIEhhdmUgYSBsb29rIGF0IGVhY2ggYWRhcHRlciwgaWYgY2xpZW50cyBvZiB0aGlzIGRyaXZlciBhcmUgc3RpbGwKLQkgKiBhdHRhY2hlZC4gSWYgc28sIGRldGFjaCB0aGVtIHRvIGJlIGFibGUgdG8ga2lsbCB0aGUgZHJpdmVyCi0JICogYWZ0ZXJ3YXJkcy4KLQkgKi8KLQlkb3duKCZpMmNfYWRhcHRlcl9jbGFzcy5zZW0pOwotCWxpc3RfZm9yX2VhY2hfZW50cnkoYWRhcCwgJmkyY19hZGFwdGVyX2NsYXNzLmRldmljZXMsIGRldi5ub2RlKSB7Ci0JCWlmIChkcml2ZXItPmRldGFjaF9hZGFwdGVyKSB7Ci0JCQlpZiAoZHJpdmVyLT5kZXRhY2hfYWRhcHRlcihhZGFwKSkgewotCQkJCWRldl9lcnIoJmFkYXAtPmRldiwgImRldGFjaF9hZGFwdGVyIGZhaWxlZCAiCi0JCQkJCSJmb3IgZHJpdmVyIFslc11cbiIsCi0JCQkJCWRyaXZlci0+ZHJpdmVyLm5hbWUpOwotCQkJfQotCQl9IGVsc2UgewotCQkJbGlzdF9mb3JfZWFjaF9zYWZlKGl0ZW0yLCBfbiwgJmFkYXAtPmNsaWVudHMpIHsKLQkJCQljbGllbnQgPSBsaXN0X2VudHJ5KGl0ZW0yLCBzdHJ1Y3QgaTJjX2NsaWVudCwgbGlzdCk7Ci0JCQkJaWYgKGNsaWVudC0+ZHJpdmVyICE9IGRyaXZlcikKLQkJCQkJY29udGludWU7Ci0JCQkJZGV2X2RiZygmYWRhcC0+ZGV2LCAiZGV0YWNoaW5nIGNsaWVudCBbJXNdICIKLQkJCQkJImF0IDB4JTAyeFxuIiwgY2xpZW50LT5uYW1lLAotCQkJCQljbGllbnQtPmFkZHIpOwotCQkJCWlmIChkcml2ZXItPmRldGFjaF9jbGllbnQoY2xpZW50KSkgewotCQkJCQlkZXZfZXJyKCZhZGFwLT5kZXYsICJkZXRhY2hfY2xpZW50ICIKLQkJCQkJCSJmYWlsZWQgZm9yIGNsaWVudCBbJXNdIGF0ICIKLQkJCQkJCSIweCUwMnhcbiIsIGNsaWVudC0+bmFtZSwKLQkJCQkJCWNsaWVudC0+YWRkcik7Ci0JCQkJfQotCQkJfQotCQl9Ci0JfQotCXVwKCZpMmNfYWRhcHRlcl9jbGFzcy5zZW0pOwotCi0gdW5yZWdpc3RlcjoKIAlkcml2ZXJfdW5yZWdpc3RlcigmZHJpdmVyLT5kcml2ZXIpOwogCXByX2RlYnVnKCJpMmMtY29yZTogZHJpdmVyIFslc10gdW5yZWdpc3RlcmVkXG4iLCBkcml2ZXItPmRyaXZlci5uYW1lKTsKIApAQCAtODYzLDggKzg5Miw5IEBACiAgKi8KIHN0cnVjdCBpMmNfY2xpZW50ICppMmNfdXNlX2NsaWVudChzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQogewotCWdldF9kZXZpY2UoJmNsaWVudC0+ZGV2KTsKLQlyZXR1cm4gY2xpZW50OworCWlmIChjbGllbnQgJiYgZ2V0X2RldmljZSgmY2xpZW50LT5kZXYpKQorCQlyZXR1cm4gY2xpZW50OworCXJldHVybiBOVUxMOwogfQogRVhQT1JUX1NZTUJPTChpMmNfdXNlX2NsaWVudCk7CiAKQEAgLTg3Niw3ICs5MDYsOCBAQAogICovCiB2b2lkIGkyY19yZWxlYXNlX2NsaWVudChzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQogewotCXB1dF9kZXZpY2UoJmNsaWVudC0+ZGV2KTsKKwlpZiAoY2xpZW50KQorCQlwdXRfZGV2aWNlKCZjbGllbnQtPmRldik7CiB9CiBFWFBPUlRfU1lNQk9MKGkyY19yZWxlYXNlX2NsaWVudCk7CiAKQEAgLTk0MiwxMCArOTczLDM5IEBACiAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgKi8KIAorLyoqCisgKiBpMmNfdHJhbnNmZXIgLSBleGVjdXRlIGEgc2luZ2xlIG9yIGNvbWJpbmVkIEkyQyBtZXNzYWdlCisgKiBAYWRhcDogSGFuZGxlIHRvIEkyQyBidXMKKyAqIEBtc2dzOiBPbmUgb3IgbW9yZSBtZXNzYWdlcyB0byBleGVjdXRlIGJlZm9yZSBTVE9QIGlzIGlzc3VlZCB0bworICoJdGVybWluYXRlIHRoZSBvcGVyYXRpb247IGVhY2ggbWVzc2FnZSBiZWdpbnMgd2l0aCBhIFNUQVJULgorICogQG51bTogTnVtYmVyIG9mIG1lc3NhZ2VzIHRvIGJlIGV4ZWN1dGVkLgorICoKKyAqIFJldHVybnMgbmVnYXRpdmUgZXJybm8sIGVsc2UgdGhlIG51bWJlciBvZiBtZXNzYWdlcyBleGVjdXRlZC4KKyAqCisgKiBOb3RlIHRoYXQgdGhlcmUgaXMgbm8gcmVxdWlyZW1lbnQgdGhhdCBlYWNoIG1lc3NhZ2UgYmUgc2VudCB0bworICogdGhlIHNhbWUgc2xhdmUgYWRkcmVzcywgYWx0aG91Z2ggdGhhdCBpcyB0aGUgbW9zdCBjb21tb24gbW9kZWwuCisgKi8KIGludCBpMmNfdHJhbnNmZXIoc3RydWN0IGkyY19hZGFwdGVyICogYWRhcCwgc3RydWN0IGkyY19tc2cgKm1zZ3MsIGludCBudW0pCiB7CiAJaW50IHJldDsKIAorCS8qIFJFVklTSVQgdGhlIGZhdWx0IHJlcG9ydGluZyBtb2RlbCBoZXJlIGlzIHdlYWs6CisJICoKKwkgKiAgLSBXaGVuIHdlIGdldCBhbiBlcnJvciBhZnRlciByZWNlaXZpbmcgTiBieXRlcyBmcm9tIGEgc2xhdmUsCisJICogICAgdGhlcmUgaXMgbm8gd2F5IHRvIHJlcG9ydCAiTiIuCisJICoKKwkgKiAgLSBXaGVuIHdlIGdldCBhIE5BSyBhZnRlciB0cmFuc21pdHRpbmcgTiBieXRlcyB0byBhIHNsYXZlLAorCSAqICAgIHRoZXJlIGlzIG5vIHdheSB0byByZXBvcnQgIk4iIC4uLiBvciB0byBsZXQgdGhlIG1hc3RlcgorCSAqICAgIGNvbnRpbnVlIGV4ZWN1dGluZyB0aGUgcmVzdCBvZiB0aGlzIGNvbWJpbmVkIG1lc3NhZ2UsIGlmCisJICogICAgdGhhdCdzIHRoZSBhcHByb3ByaWF0ZSByZXNwb25zZS4KKwkgKgorCSAqICAtIFdoZW4gZm9yIGV4YW1wbGUgIm51bSIgaXMgdHdvIGFuZCB3ZSBzdWNjZXNzZnVsbHkgY29tcGxldGUKKwkgKiAgICB0aGUgZmlyc3QgbWVzc2FnZSBidXQgZ2V0IGFuIGVycm9yIHBhcnQgd2F5IHRocm91Z2ggdGhlCisJICogICAgc2Vjb25kLCBpdCdzIHVuY2xlYXIgd2hldGhlciB0aGF0IHNob3VsZCBiZSByZXBvcnRlZCBhcworCSAqICAgIG9uZSAoZGlzY2FyZGluZyBzdGF0dXMgb24gdGhlIHNlY29uZCBtZXNzYWdlKSBvciBlcnJubworCSAqICAgIChkaXNjYXJkaW5nIHN0YXR1cyBvbiB0aGUgZmlyc3Qgb25lKS4KKwkgKi8KKwogCWlmIChhZGFwLT5hbGdvLT5tYXN0ZXJfeGZlcikgewogI2lmZGVmIERFQlVHCiAJCWZvciAocmV0ID0gMDsgcmV0IDwgbnVtOyByZXQrKykgewpAQCAtOTcxLDExICsxMDMxLDE5IEBACiAJCXJldHVybiByZXQ7CiAJfSBlbHNlIHsKIAkJZGV2X2RiZygmYWRhcC0+ZGV2LCAiSTJDIGxldmVsIHRyYW5zZmVycyBub3Qgc3VwcG9ydGVkXG4iKTsKLQkJcmV0dXJuIC1FTk9TWVM7CisJCXJldHVybiAtRU9QTk9UU1VQUDsKIAl9CiB9CiBFWFBPUlRfU1lNQk9MKGkyY190cmFuc2Zlcik7CiAKKy8qKgorICogaTJjX21hc3Rlcl9zZW5kIC0gaXNzdWUgYSBzaW5nbGUgSTJDIG1lc3NhZ2UgaW4gbWFzdGVyIHRyYW5zbWl0IG1vZGUKKyAqIEBjbGllbnQ6IEhhbmRsZSB0byBzbGF2ZSBkZXZpY2UKKyAqIEBidWY6IERhdGEgdGhhdCB3aWxsIGJlIHdyaXR0ZW4gdG8gdGhlIHNsYXZlCisgKiBAY291bnQ6IEhvdyBtYW55IGJ5dGVzIHRvIHdyaXRlCisgKgorICogUmV0dXJucyBuZWdhdGl2ZSBlcnJubywgb3IgZWxzZSB0aGUgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4uCisgKi8KIGludCBpMmNfbWFzdGVyX3NlbmQoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCxjb25zdCBjaGFyICpidWYgLGludCBjb3VudCkKIHsKIAlpbnQgcmV0OwpAQCAtOTk1LDYgKzEwNjMsMTQgQEAKIH0KIEVYUE9SVF9TWU1CT0woaTJjX21hc3Rlcl9zZW5kKTsKIAorLyoqCisgKiBpMmNfbWFzdGVyX3JlY3YgLSBpc3N1ZSBhIHNpbmdsZSBJMkMgbWVzc2FnZSBpbiBtYXN0ZXIgcmVjZWl2ZSBtb2RlCisgKiBAY2xpZW50OiBIYW5kbGUgdG8gc2xhdmUgZGV2aWNlCisgKiBAYnVmOiBXaGVyZSB0byBzdG9yZSBkYXRhIHJlYWQgZnJvbSBzbGF2ZQorICogQGNvdW50OiBIb3cgbWFueSBieXRlcyB0byByZWFkCisgKgorICogUmV0dXJucyBuZWdhdGl2ZSBlcnJubywgb3IgZWxzZSB0aGUgbnVtYmVyIG9mIGJ5dGVzIHJlYWQuCisgKi8KIGludCBpMmNfbWFzdGVyX3JlY3Yoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCwgY2hhciAqYnVmICxpbnQgY291bnQpCiB7CiAJc3RydWN0IGkyY19hZGFwdGVyICphZGFwPWNsaWVudC0+YWRhcHRlcjsKQEAgLTExMDMsNyArMTE3OSw3IEBACiAKIAkJZGV2X3dhcm4oJmFkYXB0ZXItPmRldiwgIlNNQnVzIFF1aWNrIGNvbW1hbmQgbm90IHN1cHBvcnRlZCwgIgogCQkJICJjYW4ndCBwcm9iZSBmb3IgY2hpcHNcbiIpOwotCQlyZXR1cm4gLTE7CisJCXJldHVybiAtRU9QTk9UU1VQUDsKIAl9CiAKIAkvKiBQcm9iZSBlbnRyaWVzIGFyZSBkb25lIHNlY29uZCwgYW5kIGFyZSBub3QgYWZmZWN0ZWQgYnkgaWdub3JlCkBAIC0xMTU3LDYgKzEyMzMsMTc5IEBACiB9CiBFWFBPUlRfU1lNQk9MKGkyY19wcm9iZSk7CiAKKy8qIFNlcGFyYXRlIGRldGVjdGlvbiBmdW5jdGlvbiBmb3IgbmV3LXN0eWxlIGRyaXZlcnMgKi8KK3N0YXRpYyBpbnQgaTJjX2RldGVjdF9hZGRyZXNzKHN0cnVjdCBpMmNfY2xpZW50ICp0ZW1wX2NsaWVudCwgaW50IGtpbmQsCisJCQkgICAgICBzdHJ1Y3QgaTJjX2RyaXZlciAqZHJpdmVyKQoreworCXN0cnVjdCBpMmNfYm9hcmRfaW5mbyBpbmZvOworCXN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcHRlciA9IHRlbXBfY2xpZW50LT5hZGFwdGVyOworCWludCBhZGRyID0gdGVtcF9jbGllbnQtPmFkZHI7CisJaW50IGVycjsKKworCS8qIE1ha2Ugc3VyZSB0aGUgYWRkcmVzcyBpcyB2YWxpZCAqLworCWlmIChhZGRyIDwgMHgwMyB8fCBhZGRyID4gMHg3NykgeworCQlkZXZfd2FybigmYWRhcHRlci0+ZGV2LCAiSW52YWxpZCBwcm9iZSBhZGRyZXNzIDB4JTAyeFxuIiwKKwkJCSBhZGRyKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJLyogU2tpcCBpZiBhbHJlYWR5IGluIHVzZSAqLworCWlmIChpMmNfY2hlY2tfYWRkcihhZGFwdGVyLCBhZGRyKSkKKwkJcmV0dXJuIDA7CisKKwkvKiBNYWtlIHN1cmUgdGhlcmUgaXMgc29tZXRoaW5nIGF0IHRoaXMgYWRkcmVzcywgdW5sZXNzIGZvcmNlZCAqLworCWlmIChraW5kIDwgMCkgeworCQlpZiAoaTJjX3NtYnVzX3hmZXIoYWRhcHRlciwgYWRkciwgMCwgMCwgMCwKKwkJCQkgICBJMkNfU01CVVNfUVVJQ0ssIE5VTEwpIDwgMCkKKwkJCXJldHVybiAwOworCisJCS8qIHByZXZlbnQgMjRSRjA4IGNvcnJ1cHRpb24gKi8KKwkJaWYgKChhZGRyICYgfjB4MGYpID09IDB4NTApCisJCQlpMmNfc21idXNfeGZlcihhZGFwdGVyLCBhZGRyLCAwLCAwLCAwLAorCQkJCSAgICAgICBJMkNfU01CVVNfUVVJQ0ssIE5VTEwpOworCX0KKworCS8qIEZpbmFsbHkgY2FsbCB0aGUgY3VzdG9tIGRldGVjdGlvbiBmdW5jdGlvbiAqLworCW1lbXNldCgmaW5mbywgMCwgc2l6ZW9mKHN0cnVjdCBpMmNfYm9hcmRfaW5mbykpOworCWluZm8uYWRkciA9IGFkZHI7CisJZXJyID0gZHJpdmVyLT5kZXRlY3QodGVtcF9jbGllbnQsIGtpbmQsICZpbmZvKTsKKwlpZiAoZXJyKSB7CisJCS8qIC1FTk9ERVYgaXMgcmV0dXJuZWQgaWYgdGhlIGRldGVjdGlvbiBmYWlscy4gV2UgY2F0Y2ggaXQKKwkJICAgaGVyZSBhcyB0aGlzIGlzbid0IGFuIGVycm9yLiAqLworCQlyZXR1cm4gZXJyID09IC1FTk9ERVYgPyAwIDogZXJyOworCX0KKworCS8qIENvbnNpc3RlbmN5IGNoZWNrICovCisJaWYgKGluZm8udHlwZVswXSA9PSAnXDAnKSB7CisJCWRldl9lcnIoJmFkYXB0ZXItPmRldiwgIiVzIGRldGVjdGlvbiBmdW5jdGlvbiBwcm92aWRlZCAiCisJCQkibm8gbmFtZSBmb3IgMHgleFxuIiwgZHJpdmVyLT5kcml2ZXIubmFtZSwKKwkJCWFkZHIpOworCX0gZWxzZSB7CisJCXN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQ7CisKKwkJLyogRGV0ZWN0aW9uIHN1Y2NlZWRlZCwgaW5zdGFudGlhdGUgdGhlIGRldmljZSAqLworCQlkZXZfZGJnKCZhZGFwdGVyLT5kZXYsICJDcmVhdGluZyAlcyBhdCAweCUwMnhcbiIsCisJCQlpbmZvLnR5cGUsIGluZm8uYWRkcik7CisJCWNsaWVudCA9IGkyY19uZXdfZGV2aWNlKGFkYXB0ZXIsICZpbmZvKTsKKwkJaWYgKGNsaWVudCkKKwkJCWxpc3RfYWRkX3RhaWwoJmNsaWVudC0+ZGV0ZWN0ZWQsICZkcml2ZXItPmNsaWVudHMpOworCQllbHNlCisJCQlkZXZfZXJyKCZhZGFwdGVyLT5kZXYsICJGYWlsZWQgY3JlYXRpbmcgJXMgYXQgMHglMDJ4XG4iLAorCQkJCWluZm8udHlwZSwgaW5mby5hZGRyKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgaTJjX2RldGVjdChzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXB0ZXIsIHN0cnVjdCBpMmNfZHJpdmVyICpkcml2ZXIpCit7CisJY29uc3Qgc3RydWN0IGkyY19jbGllbnRfYWRkcmVzc19kYXRhICphZGRyZXNzX2RhdGE7CisJc3RydWN0IGkyY19jbGllbnQgKnRlbXBfY2xpZW50OworCWludCBpLCBlcnIgPSAwOworCWludCBhZGFwX2lkID0gaTJjX2FkYXB0ZXJfaWQoYWRhcHRlcik7CisKKwlhZGRyZXNzX2RhdGEgPSBkcml2ZXItPmFkZHJlc3NfZGF0YTsKKwlpZiAoIWRyaXZlci0+ZGV0ZWN0IHx8ICFhZGRyZXNzX2RhdGEpCisJCXJldHVybiAwOworCisJLyogU2V0IHVwIGEgdGVtcG9yYXJ5IGNsaWVudCB0byBoZWxwIGRldGVjdCBjYWxsYmFjayAqLworCXRlbXBfY2xpZW50ID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IGkyY19jbGllbnQpLCBHRlBfS0VSTkVMKTsKKwlpZiAoIXRlbXBfY2xpZW50KQorCQlyZXR1cm4gLUVOT01FTTsKKwl0ZW1wX2NsaWVudC0+YWRhcHRlciA9IGFkYXB0ZXI7CisKKwkvKiBGb3JjZSBlbnRyaWVzIGFyZSBkb25lIGZpcnN0LCBhbmQgYXJlIG5vdCBhZmZlY3RlZCBieSBpZ25vcmUKKwkgICBlbnRyaWVzICovCisJaWYgKGFkZHJlc3NfZGF0YS0+Zm9yY2VzKSB7CisJCWNvbnN0IHVuc2lnbmVkIHNob3J0ICogY29uc3QgKmZvcmNlcyA9IGFkZHJlc3NfZGF0YS0+Zm9yY2VzOworCQlpbnQga2luZDsKKworCQlmb3IgKGtpbmQgPSAwOyBmb3JjZXNba2luZF07IGtpbmQrKykgeworCQkJZm9yIChpID0gMDsgZm9yY2VzW2tpbmRdW2ldICE9IEkyQ19DTElFTlRfRU5EOworCQkJICAgICBpICs9IDIpIHsKKwkJCQlpZiAoZm9yY2VzW2tpbmRdW2ldID09IGFkYXBfaWQKKwkJCQkgfHwgZm9yY2VzW2tpbmRdW2ldID09IEFOWV9JMkNfQlVTKSB7CisJCQkJCWRldl9kYmcoJmFkYXB0ZXItPmRldiwgImZvdW5kIGZvcmNlICIKKwkJCQkJCSJwYXJhbWV0ZXIgZm9yIGFkYXB0ZXIgJWQsICIKKwkJCQkJCSJhZGRyIDB4JTAyeCwga2luZCAlZFxuIiwKKwkJCQkJCWFkYXBfaWQsIGZvcmNlc1traW5kXVtpICsgMV0sCisJCQkJCQlraW5kKTsKKwkJCQkJdGVtcF9jbGllbnQtPmFkZHIgPSBmb3JjZXNba2luZF1baSArIDFdOworCQkJCQllcnIgPSBpMmNfZGV0ZWN0X2FkZHJlc3ModGVtcF9jbGllbnQsCisJCQkJCQlraW5kLCBkcml2ZXIpOworCQkJCQlpZiAoZXJyKQorCQkJCQkJZ290byBleGl0X2ZyZWU7CisJCQkJfQorCQkJfQorCQl9CisJfQorCisJLyogU3RvcCBoZXJlIGlmIHdlIGNhbid0IHVzZSBTTUJVU19RVUlDSyAqLworCWlmICghaTJjX2NoZWNrX2Z1bmN0aW9uYWxpdHkoYWRhcHRlciwgSTJDX0ZVTkNfU01CVVNfUVVJQ0spKSB7CisJCWlmIChhZGRyZXNzX2RhdGEtPnByb2JlWzBdID09IEkyQ19DTElFTlRfRU5ECisJCSAmJiBhZGRyZXNzX2RhdGEtPm5vcm1hbF9pMmNbMF0gPT0gSTJDX0NMSUVOVF9FTkQpCisJCQlnb3RvIGV4aXRfZnJlZTsKKworCQlkZXZfd2FybigmYWRhcHRlci0+ZGV2LCAiU01CdXMgUXVpY2sgY29tbWFuZCBub3Qgc3VwcG9ydGVkLCAiCisJCQkgImNhbid0IHByb2JlIGZvciBjaGlwc1xuIik7CisJCWVyciA9IC1FT1BOT1RTVVBQOworCQlnb3RvIGV4aXRfZnJlZTsKKwl9CisKKwkvKiBTdG9wIGhlcmUgaWYgdGhlIGNsYXNzZXMgZG8gbm90IG1hdGNoICovCisJaWYgKCEoYWRhcHRlci0+Y2xhc3MgJiBkcml2ZXItPmNsYXNzKSkKKwkJZ290byBleGl0X2ZyZWU7CisKKwkvKiBQcm9iZSBlbnRyaWVzIGFyZSBkb25lIHNlY29uZCwgYW5kIGFyZSBub3QgYWZmZWN0ZWQgYnkgaWdub3JlCisJICAgZW50cmllcyBlaXRoZXIgKi8KKwlmb3IgKGkgPSAwOyBhZGRyZXNzX2RhdGEtPnByb2JlW2ldICE9IEkyQ19DTElFTlRfRU5EOyBpICs9IDIpIHsKKwkJaWYgKGFkZHJlc3NfZGF0YS0+cHJvYmVbaV0gPT0gYWRhcF9pZAorCQkgfHwgYWRkcmVzc19kYXRhLT5wcm9iZVtpXSA9PSBBTllfSTJDX0JVUykgeworCQkJZGV2X2RiZygmYWRhcHRlci0+ZGV2LCAiZm91bmQgcHJvYmUgcGFyYW1ldGVyIGZvciAiCisJCQkJImFkYXB0ZXIgJWQsIGFkZHIgMHglMDJ4XG4iLCBhZGFwX2lkLAorCQkJCWFkZHJlc3NfZGF0YS0+cHJvYmVbaSArIDFdKTsKKwkJCXRlbXBfY2xpZW50LT5hZGRyID0gYWRkcmVzc19kYXRhLT5wcm9iZVtpICsgMV07CisJCQllcnIgPSBpMmNfZGV0ZWN0X2FkZHJlc3ModGVtcF9jbGllbnQsIC0xLCBkcml2ZXIpOworCQkJaWYgKGVycikKKwkJCQlnb3RvIGV4aXRfZnJlZTsKKwkJfQorCX0KKworCS8qIE5vcm1hbCBlbnRyaWVzIGFyZSBkb25lIGxhc3QsIHVubGVzcyBzaGFkb3dlZCBieSBhbiBpZ25vcmUgZW50cnkgKi8KKwlmb3IgKGkgPSAwOyBhZGRyZXNzX2RhdGEtPm5vcm1hbF9pMmNbaV0gIT0gSTJDX0NMSUVOVF9FTkQ7IGkgKz0gMSkgeworCQlpbnQgaiwgaWdub3JlOworCisJCWlnbm9yZSA9IDA7CisJCWZvciAoaiA9IDA7IGFkZHJlc3NfZGF0YS0+aWdub3JlW2pdICE9IEkyQ19DTElFTlRfRU5EOworCQkgICAgIGogKz0gMikgeworCQkJaWYgKChhZGRyZXNzX2RhdGEtPmlnbm9yZVtqXSA9PSBhZGFwX2lkIHx8CisJCQkgICAgIGFkZHJlc3NfZGF0YS0+aWdub3JlW2pdID09IEFOWV9JMkNfQlVTKQorCQkJICYmIGFkZHJlc3NfZGF0YS0+aWdub3JlW2ogKyAxXQorCQkJICAgID09IGFkZHJlc3NfZGF0YS0+bm9ybWFsX2kyY1tpXSkgeworCQkJCWRldl9kYmcoJmFkYXB0ZXItPmRldiwgImZvdW5kIGlnbm9yZSAiCisJCQkJCSJwYXJhbWV0ZXIgZm9yIGFkYXB0ZXIgJWQsICIKKwkJCQkJImFkZHIgMHglMDJ4XG4iLCBhZGFwX2lkLAorCQkJCQlhZGRyZXNzX2RhdGEtPmlnbm9yZVtqICsgMV0pOworCQkJCWlnbm9yZSA9IDE7CisJCQkJYnJlYWs7CisJCQl9CisJCX0KKwkJaWYgKGlnbm9yZSkKKwkJCWNvbnRpbnVlOworCisJCWRldl9kYmcoJmFkYXB0ZXItPmRldiwgImZvdW5kIG5vcm1hbCBlbnRyeSBmb3IgYWRhcHRlciAlZCwgIgorCQkJImFkZHIgMHglMDJ4XG4iLCBhZGFwX2lkLAorCQkJYWRkcmVzc19kYXRhLT5ub3JtYWxfaTJjW2ldKTsKKwkJdGVtcF9jbGllbnQtPmFkZHIgPSBhZGRyZXNzX2RhdGEtPm5vcm1hbF9pMmNbaV07CisJCWVyciA9IGkyY19kZXRlY3RfYWRkcmVzcyh0ZW1wX2NsaWVudCwgLTEsIGRyaXZlcik7CisJCWlmIChlcnIpCisJCQlnb3RvIGV4aXRfZnJlZTsKKwl9CisKKyBleGl0X2ZyZWU6CisJa2ZyZWUodGVtcF9jbGllbnQpOworCXJldHVybiBlcnI7Cit9CisKIHN0cnVjdCBpMmNfY2xpZW50ICoKIGkyY19uZXdfcHJvYmVkX2RldmljZShzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXAsCiAJCSAgICAgIHN0cnVjdCBpMmNfYm9hcmRfaW5mbyAqaW5mbywKQEAgLTEyOTUsMjkgKzE1NDQsMzggQEAKIAlpZiAocnBlYyAhPSBjcGVjKSB7CiAJCXByX2RlYnVnKCJpMmMtY29yZTogQmFkIFBFQyAweCUwMnggdnMuIDB4JTAyeFxuIiwKIAkJCXJwZWMsIGNwZWMpOwotCQlyZXR1cm4gLTE7CisJCXJldHVybiAtRUJBRE1TRzsKIAl9CiAJcmV0dXJuIDA7CiB9CiAKLXMzMiBpMmNfc21idXNfd3JpdGVfcXVpY2soc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCwgdTggdmFsdWUpCi17Ci0JcmV0dXJuIGkyY19zbWJ1c194ZmVyKGNsaWVudC0+YWRhcHRlcixjbGllbnQtPmFkZHIsY2xpZW50LT5mbGFncywKLQkgICAgICAgICAgICAgICAgICAgICAgdmFsdWUsMCxJMkNfU01CVVNfUVVJQ0ssTlVMTCk7Ci19Ci1FWFBPUlRfU1lNQk9MKGkyY19zbWJ1c193cml0ZV9xdWljayk7Ci0KKy8qKgorICogaTJjX3NtYnVzX3JlYWRfYnl0ZSAtIFNNQnVzICJyZWNlaXZlIGJ5dGUiIHByb3RvY29sCisgKiBAY2xpZW50OiBIYW5kbGUgdG8gc2xhdmUgZGV2aWNlCisgKgorICogVGhpcyBleGVjdXRlcyB0aGUgU01CdXMgInJlY2VpdmUgYnl0ZSIgcHJvdG9jb2wsIHJldHVybmluZyBuZWdhdGl2ZSBlcnJubworICogZWxzZSB0aGUgYnl0ZSByZWNlaXZlZCBmcm9tIHRoZSBkZXZpY2UuCisgKi8KIHMzMiBpMmNfc21idXNfcmVhZF9ieXRlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCiB7CiAJdW5pb24gaTJjX3NtYnVzX2RhdGEgZGF0YTsKLQlpZiAoaTJjX3NtYnVzX3hmZXIoY2xpZW50LT5hZGFwdGVyLGNsaWVudC0+YWRkcixjbGllbnQtPmZsYWdzLAotCSAgICAgICAgICAgICAgICAgICBJMkNfU01CVVNfUkVBRCwwLEkyQ19TTUJVU19CWVRFLCAmZGF0YSkpCi0JCXJldHVybiAtMTsKLQllbHNlCi0JCXJldHVybiBkYXRhLmJ5dGU7CisJaW50IHN0YXR1czsKKworCXN0YXR1cyA9IGkyY19zbWJ1c194ZmVyKGNsaWVudC0+YWRhcHRlciwgY2xpZW50LT5hZGRyLCBjbGllbnQtPmZsYWdzLAorCQkJCUkyQ19TTUJVU19SRUFELCAwLAorCQkJCUkyQ19TTUJVU19CWVRFLCAmZGF0YSk7CisJcmV0dXJuIChzdGF0dXMgPCAwKSA/IHN0YXR1cyA6IGRhdGEuYnl0ZTsKIH0KIEVYUE9SVF9TWU1CT0woaTJjX3NtYnVzX3JlYWRfYnl0ZSk7CiAKKy8qKgorICogaTJjX3NtYnVzX3dyaXRlX2J5dGUgLSBTTUJ1cyAic2VuZCBieXRlIiBwcm90b2NvbAorICogQGNsaWVudDogSGFuZGxlIHRvIHNsYXZlIGRldmljZQorICogQHZhbHVlOiBCeXRlIHRvIGJlIHNlbnQKKyAqCisgKiBUaGlzIGV4ZWN1dGVzIHRoZSBTTUJ1cyAic2VuZCBieXRlIiBwcm90b2NvbCwgcmV0dXJuaW5nIG5lZ2F0aXZlIGVycm5vCisgKiBlbHNlIHplcm8gb24gc3VjY2Vzcy4KKyAqLwogczMyIGkyY19zbWJ1c193cml0ZV9ieXRlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQsIHU4IHZhbHVlKQogewogCXJldHVybiBpMmNfc21idXNfeGZlcihjbGllbnQtPmFkYXB0ZXIsY2xpZW50LT5hZGRyLGNsaWVudC0+ZmxhZ3MsCkBAIC0xMzI1LDE3ICsxNTgzLDM1IEBACiB9CiBFWFBPUlRfU1lNQk9MKGkyY19zbWJ1c193cml0ZV9ieXRlKTsKIAorLyoqCisgKiBpMmNfc21idXNfcmVhZF9ieXRlX2RhdGEgLSBTTUJ1cyAicmVhZCBieXRlIiBwcm90b2NvbAorICogQGNsaWVudDogSGFuZGxlIHRvIHNsYXZlIGRldmljZQorICogQGNvbW1hbmQ6IEJ5dGUgaW50ZXJwcmV0ZWQgYnkgc2xhdmUKKyAqCisgKiBUaGlzIGV4ZWN1dGVzIHRoZSBTTUJ1cyAicmVhZCBieXRlIiBwcm90b2NvbCwgcmV0dXJuaW5nIG5lZ2F0aXZlIGVycm5vCisgKiBlbHNlIGEgZGF0YSBieXRlIHJlY2VpdmVkIGZyb20gdGhlIGRldmljZS4KKyAqLwogczMyIGkyY19zbWJ1c19yZWFkX2J5dGVfZGF0YShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50LCB1OCBjb21tYW5kKQogewogCXVuaW9uIGkyY19zbWJ1c19kYXRhIGRhdGE7Ci0JaWYgKGkyY19zbWJ1c194ZmVyKGNsaWVudC0+YWRhcHRlcixjbGllbnQtPmFkZHIsY2xpZW50LT5mbGFncywKLQkgICAgICAgICAgICAgICAgICAgSTJDX1NNQlVTX1JFQUQsY29tbWFuZCwgSTJDX1NNQlVTX0JZVEVfREFUQSwmZGF0YSkpCi0JCXJldHVybiAtMTsKLQllbHNlCi0JCXJldHVybiBkYXRhLmJ5dGU7CisJaW50IHN0YXR1czsKKworCXN0YXR1cyA9IGkyY19zbWJ1c194ZmVyKGNsaWVudC0+YWRhcHRlciwgY2xpZW50LT5hZGRyLCBjbGllbnQtPmZsYWdzLAorCQkJCUkyQ19TTUJVU19SRUFELCBjb21tYW5kLAorCQkJCUkyQ19TTUJVU19CWVRFX0RBVEEsICZkYXRhKTsKKwlyZXR1cm4gKHN0YXR1cyA8IDApID8gc3RhdHVzIDogZGF0YS5ieXRlOwogfQogRVhQT1JUX1NZTUJPTChpMmNfc21idXNfcmVhZF9ieXRlX2RhdGEpOwogCisvKioKKyAqIGkyY19zbWJ1c193cml0ZV9ieXRlX2RhdGEgLSBTTUJ1cyAid3JpdGUgYnl0ZSIgcHJvdG9jb2wKKyAqIEBjbGllbnQ6IEhhbmRsZSB0byBzbGF2ZSBkZXZpY2UKKyAqIEBjb21tYW5kOiBCeXRlIGludGVycHJldGVkIGJ5IHNsYXZlCisgKiBAdmFsdWU6IEJ5dGUgYmVpbmcgd3JpdHRlbgorICoKKyAqIFRoaXMgZXhlY3V0ZXMgdGhlIFNNQnVzICJ3cml0ZSBieXRlIiBwcm90b2NvbCwgcmV0dXJuaW5nIG5lZ2F0aXZlIGVycm5vCisgKiBlbHNlIHplcm8gb24gc3VjY2Vzcy4KKyAqLwogczMyIGkyY19zbWJ1c193cml0ZV9ieXRlX2RhdGEoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCwgdTggY29tbWFuZCwgdTggdmFsdWUpCiB7CiAJdW5pb24gaTJjX3NtYnVzX2RhdGEgZGF0YTsKQEAgLTEzNDYsMTcgKzE2MjIsMzUgQEAKIH0KIEVYUE9SVF9TWU1CT0woaTJjX3NtYnVzX3dyaXRlX2J5dGVfZGF0YSk7CiAKKy8qKgorICogaTJjX3NtYnVzX3JlYWRfd29yZF9kYXRhIC0gU01CdXMgInJlYWQgd29yZCIgcHJvdG9jb2wKKyAqIEBjbGllbnQ6IEhhbmRsZSB0byBzbGF2ZSBkZXZpY2UKKyAqIEBjb21tYW5kOiBCeXRlIGludGVycHJldGVkIGJ5IHNsYXZlCisgKgorICogVGhpcyBleGVjdXRlcyB0aGUgU01CdXMgInJlYWQgd29yZCIgcHJvdG9jb2wsIHJldHVybmluZyBuZWdhdGl2ZSBlcnJubworICogZWxzZSBhIDE2LWJpdCB1bnNpZ25lZCAid29yZCIgcmVjZWl2ZWQgZnJvbSB0aGUgZGV2aWNlLgorICovCiBzMzIgaTJjX3NtYnVzX3JlYWRfd29yZF9kYXRhKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQsIHU4IGNvbW1hbmQpCiB7CiAJdW5pb24gaTJjX3NtYnVzX2RhdGEgZGF0YTsKLQlpZiAoaTJjX3NtYnVzX3hmZXIoY2xpZW50LT5hZGFwdGVyLGNsaWVudC0+YWRkcixjbGllbnQtPmZsYWdzLAotCSAgICAgICAgICAgICAgICAgICBJMkNfU01CVVNfUkVBRCxjb21tYW5kLCBJMkNfU01CVVNfV09SRF9EQVRBLCAmZGF0YSkpCi0JCXJldHVybiAtMTsKLQllbHNlCi0JCXJldHVybiBkYXRhLndvcmQ7CisJaW50IHN0YXR1czsKKworCXN0YXR1cyA9IGkyY19zbWJ1c194ZmVyKGNsaWVudC0+YWRhcHRlciwgY2xpZW50LT5hZGRyLCBjbGllbnQtPmZsYWdzLAorCQkJCUkyQ19TTUJVU19SRUFELCBjb21tYW5kLAorCQkJCUkyQ19TTUJVU19XT1JEX0RBVEEsICZkYXRhKTsKKwlyZXR1cm4gKHN0YXR1cyA8IDApID8gc3RhdHVzIDogZGF0YS53b3JkOwogfQogRVhQT1JUX1NZTUJPTChpMmNfc21idXNfcmVhZF93b3JkX2RhdGEpOwogCisvKioKKyAqIGkyY19zbWJ1c193cml0ZV93b3JkX2RhdGEgLSBTTUJ1cyAid3JpdGUgd29yZCIgcHJvdG9jb2wKKyAqIEBjbGllbnQ6IEhhbmRsZSB0byBzbGF2ZSBkZXZpY2UKKyAqIEBjb21tYW5kOiBCeXRlIGludGVycHJldGVkIGJ5IHNsYXZlCisgKiBAdmFsdWU6IDE2LWJpdCAid29yZCIgYmVpbmcgd3JpdHRlbgorICoKKyAqIFRoaXMgZXhlY3V0ZXMgdGhlIFNNQnVzICJ3cml0ZSB3b3JkIiBwcm90b2NvbCwgcmV0dXJuaW5nIG5lZ2F0aXZlIGVycm5vCisgKiBlbHNlIHplcm8gb24gc3VjY2Vzcy4KKyAqLwogczMyIGkyY19zbWJ1c193cml0ZV93b3JkX2RhdGEoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCwgdTggY29tbWFuZCwgdTE2IHZhbHVlKQogewogCXVuaW9uIGkyY19zbWJ1c19kYXRhIGRhdGE7CkBAIC0xMzY4LDE1ICsxNjYyLDE0IEBACiBFWFBPUlRfU1lNQk9MKGkyY19zbWJ1c193cml0ZV93b3JkX2RhdGEpOwogCiAvKioKLSAqIGkyY19zbWJ1c19yZWFkX2Jsb2NrX2RhdGEgLSBTTUJ1cyBibG9jayByZWFkIHJlcXVlc3QKKyAqIGkyY19zbWJ1c19yZWFkX2Jsb2NrX2RhdGEgLSBTTUJ1cyAiYmxvY2sgcmVhZCIgcHJvdG9jb2wKICAqIEBjbGllbnQ6IEhhbmRsZSB0byBzbGF2ZSBkZXZpY2UKLSAqIEBjb21tYW5kOiBDb21tYW5kIGJ5dGUgaXNzdWVkIHRvIGxldCB0aGUgc2xhdmUga25vdyB3aGF0IGRhdGEgc2hvdWxkCi0gKgliZSByZXR1cm5lZAorICogQGNvbW1hbmQ6IEJ5dGUgaW50ZXJwcmV0ZWQgYnkgc2xhdmUKICAqIEB2YWx1ZXM6IEJ5dGUgYXJyYXkgaW50byB3aGljaCBkYXRhIHdpbGwgYmUgcmVhZDsgYmlnIGVub3VnaCB0byBob2xkCiAgKgl0aGUgZGF0YSByZXR1cm5lZCBieSB0aGUgc2xhdmUuICBTTUJ1cyBhbGxvd3MgYXQgbW9zdCAzMiBieXRlcy4KICAqCi0gKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgYnl0ZXMgcmVhZCBpbiB0aGUgc2xhdmUncyByZXNwb25zZSwgZWxzZSBhCi0gKiBuZWdhdGl2ZSBudW1iZXIgdG8gaW5kaWNhdGUgc29tZSBraW5kIG9mIGVycm9yLgorICogVGhpcyBleGVjdXRlcyB0aGUgU01CdXMgImJsb2NrIHJlYWQiIHByb3RvY29sLCByZXR1cm5pbmcgbmVnYXRpdmUgZXJybm8KKyAqIGVsc2UgdGhlIG51bWJlciBvZiBkYXRhIGJ5dGVzIGluIHRoZSBzbGF2ZSdzIHJlc3BvbnNlLgogICoKICAqIE5vdGUgdGhhdCB1c2luZyB0aGlzIGZ1bmN0aW9uIHJlcXVpcmVzIHRoYXQgdGhlIGNsaWVudCdzIGFkYXB0ZXIgc3VwcG9ydAogICogdGhlIEkyQ19GVU5DX1NNQlVTX1JFQURfQkxPQ0tfREFUQSBmdW5jdGlvbmFsaXR5LiAgTm90IGFsbCBhZGFwdGVyIGRyaXZlcnMKQEAgLTEzODcsMTcgKzE2ODAsMjkgQEAKIAkJCSAgICAgIHU4ICp2YWx1ZXMpCiB7CiAJdW5pb24gaTJjX3NtYnVzX2RhdGEgZGF0YTsKKwlpbnQgc3RhdHVzOwogCi0JaWYgKGkyY19zbWJ1c194ZmVyKGNsaWVudC0+YWRhcHRlciwgY2xpZW50LT5hZGRyLCBjbGllbnQtPmZsYWdzLAotCSAgICAgICAgICAgICAgICAgICBJMkNfU01CVVNfUkVBRCwgY29tbWFuZCwKLQkgICAgICAgICAgICAgICAgICAgSTJDX1NNQlVTX0JMT0NLX0RBVEEsICZkYXRhKSkKLQkJcmV0dXJuIC0xOworCXN0YXR1cyA9IGkyY19zbWJ1c194ZmVyKGNsaWVudC0+YWRhcHRlciwgY2xpZW50LT5hZGRyLCBjbGllbnQtPmZsYWdzLAorCQkJCUkyQ19TTUJVU19SRUFELCBjb21tYW5kLAorCQkJCUkyQ19TTUJVU19CTE9DS19EQVRBLCAmZGF0YSk7CisJaWYgKHN0YXR1cykKKwkJcmV0dXJuIHN0YXR1czsKIAogCW1lbWNweSh2YWx1ZXMsICZkYXRhLmJsb2NrWzFdLCBkYXRhLmJsb2NrWzBdKTsKIAlyZXR1cm4gZGF0YS5ibG9ja1swXTsKIH0KIEVYUE9SVF9TWU1CT0woaTJjX3NtYnVzX3JlYWRfYmxvY2tfZGF0YSk7CiAKKy8qKgorICogaTJjX3NtYnVzX3dyaXRlX2Jsb2NrX2RhdGEgLSBTTUJ1cyAiYmxvY2sgd3JpdGUiIHByb3RvY29sCisgKiBAY2xpZW50OiBIYW5kbGUgdG8gc2xhdmUgZGV2aWNlCisgKiBAY29tbWFuZDogQnl0ZSBpbnRlcnByZXRlZCBieSBzbGF2ZQorICogQGxlbmd0aDogU2l6ZSBvZiBkYXRhIGJsb2NrOyBTTUJ1cyBhbGxvd3MgYXQgbW9zdCAzMiBieXRlcworICogQHZhbHVlczogQnl0ZSBhcnJheSB3aGljaCB3aWxsIGJlIHdyaXR0ZW4uCisgKgorICogVGhpcyBleGVjdXRlcyB0aGUgU01CdXMgImJsb2NrIHdyaXRlIiBwcm90b2NvbCwgcmV0dXJuaW5nIG5lZ2F0aXZlIGVycm5vCisgKiBlbHNlIHplcm8gb24gc3VjY2Vzcy4KKyAqLwogczMyIGkyY19zbWJ1c193cml0ZV9ibG9ja19kYXRhKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQsIHU4IGNvbW1hbmQsCiAJCQkgICAgICAgdTggbGVuZ3RoLCBjb25zdCB1OCAqdmFsdWVzKQogewpAQCAtMTQxOCwxNCArMTcyMywxNiBAQAogCQkJCSAgdTggbGVuZ3RoLCB1OCAqdmFsdWVzKQogewogCXVuaW9uIGkyY19zbWJ1c19kYXRhIGRhdGE7CisJaW50IHN0YXR1czsKIAogCWlmIChsZW5ndGggPiBJMkNfU01CVVNfQkxPQ0tfTUFYKQogCQlsZW5ndGggPSBJMkNfU01CVVNfQkxPQ0tfTUFYOwogCWRhdGEuYmxvY2tbMF0gPSBsZW5ndGg7Ci0JaWYgKGkyY19zbWJ1c194ZmVyKGNsaWVudC0+YWRhcHRlcixjbGllbnQtPmFkZHIsY2xpZW50LT5mbGFncywKLQkgICAgICAgICAgICAgICAgICAgICAgSTJDX1NNQlVTX1JFQUQsY29tbWFuZCwKLQkgICAgICAgICAgICAgICAgICAgICAgSTJDX1NNQlVTX0kyQ19CTE9DS19EQVRBLCZkYXRhKSkKLQkJcmV0dXJuIC0xOworCXN0YXR1cyA9IGkyY19zbWJ1c194ZmVyKGNsaWVudC0+YWRhcHRlciwgY2xpZW50LT5hZGRyLCBjbGllbnQtPmZsYWdzLAorCQkJCUkyQ19TTUJVU19SRUFELCBjb21tYW5kLAorCQkJCUkyQ19TTUJVU19JMkNfQkxPQ0tfREFUQSwgJmRhdGEpOworCWlmIChzdGF0dXMgPCAwKQorCQlyZXR1cm4gc3RhdHVzOwogCiAJbWVtY3B5KHZhbHVlcywgJmRhdGEuYmxvY2tbMV0sIGRhdGEuYmxvY2tbMF0pOwogCXJldHVybiBkYXRhLmJsb2NrWzBdOwpAQCAtMTQ2Niw2ICsxNzczLDcgQEAKIAkgICAgICAgICAgICAgICAgICAgICAgICB9OwogCWludCBpOwogCXU4IHBhcnRpYWxfcGVjID0gMDsKKwlpbnQgc3RhdHVzOwogCiAJbXNnYnVmMFswXSA9IGNvbW1hbmQ7CiAJc3dpdGNoKHNpemUpIHsKQEAgLTE1MTUsMTAgKzE4MjMsMTAgQEAKIAkJfSBlbHNlIHsKIAkJCW1zZ1swXS5sZW4gPSBkYXRhLT5ibG9ja1swXSArIDI7CiAJCQlpZiAobXNnWzBdLmxlbiA+IEkyQ19TTUJVU19CTE9DS19NQVggKyAyKSB7Ci0JCQkJZGV2X2VycigmYWRhcHRlci0+ZGV2LCAic21idXNfYWNjZXNzIGNhbGxlZCB3aXRoICIKLQkJCQkgICAgICAgImludmFsaWQgYmxvY2sgd3JpdGUgc2l6ZSAoJWQpXG4iLAotCQkJCSAgICAgICBkYXRhLT5ibG9ja1swXSk7Ci0JCQkJcmV0dXJuIC0xOworCQkJCWRldl9lcnIoJmFkYXB0ZXItPmRldiwKKwkJCQkJIkludmFsaWQgYmxvY2sgd3JpdGUgc2l6ZSAlZFxuIiwKKwkJCQkJZGF0YS0+YmxvY2tbMF0pOworCQkJCXJldHVybiAtRUlOVkFMOwogCQkJfQogCQkJZm9yIChpID0gMTsgaSA8IG1zZ1swXS5sZW47IGkrKykKIAkJCQltc2didWYwW2ldID0gZGF0YS0+YmxvY2tbaS0xXTsKQEAgLTE1MjgsMTAgKzE4MzYsMTAgQEAKIAkJbnVtID0gMjsgLyogQW5vdGhlciBzcGVjaWFsIGNhc2UgKi8KIAkJcmVhZF93cml0ZSA9IEkyQ19TTUJVU19SRUFEOwogCQlpZiAoZGF0YS0+YmxvY2tbMF0gPiBJMkNfU01CVVNfQkxPQ0tfTUFYKSB7Ci0JCQlkZXZfZXJyKCZhZGFwdGVyLT5kZXYsICIlcyBjYWxsZWQgd2l0aCBpbnZhbGlkICIKLQkJCQkiYmxvY2sgcHJvYyBjYWxsIHNpemUgKCVkKVxuIiwgX19mdW5jX18sCisJCQlkZXZfZXJyKCZhZGFwdGVyLT5kZXYsCisJCQkJIkludmFsaWQgYmxvY2sgd3JpdGUgc2l6ZSAlZFxuIiwKIAkJCQlkYXRhLT5ibG9ja1swXSk7Ci0JCQlyZXR1cm4gLTE7CisJCQlyZXR1cm4gLUVJTlZBTDsKIAkJfQogCQltc2dbMF0ubGVuID0gZGF0YS0+YmxvY2tbMF0gKyAyOwogCQlmb3IgKGkgPSAxOyBpIDwgbXNnWzBdLmxlbjsgaSsrKQpAQCAtMTU0NiwxOSArMTg1NCwxOCBAQAogCQl9IGVsc2UgewogCQkJbXNnWzBdLmxlbiA9IGRhdGEtPmJsb2NrWzBdICsgMTsKIAkJCWlmIChtc2dbMF0ubGVuID4gSTJDX1NNQlVTX0JMT0NLX01BWCArIDEpIHsKLQkJCQlkZXZfZXJyKCZhZGFwdGVyLT5kZXYsICJpMmNfc21idXNfeGZlcl9lbXVsYXRlZCBjYWxsZWQgd2l0aCAiCi0JCQkJICAgICAgICJpbnZhbGlkIGJsb2NrIHdyaXRlIHNpemUgKCVkKVxuIiwKLQkJCQkgICAgICAgZGF0YS0+YmxvY2tbMF0pOwotCQkJCXJldHVybiAtMTsKKwkJCQlkZXZfZXJyKCZhZGFwdGVyLT5kZXYsCisJCQkJCSJJbnZhbGlkIGJsb2NrIHdyaXRlIHNpemUgJWRcbiIsCisJCQkJCWRhdGEtPmJsb2NrWzBdKTsKKwkJCQlyZXR1cm4gLUVJTlZBTDsKIAkJCX0KIAkJCWZvciAoaSA9IDE7IGkgPD0gZGF0YS0+YmxvY2tbMF07IGkrKykKIAkJCQltc2didWYwW2ldID0gZGF0YS0+YmxvY2tbaV07CiAJCX0KIAkJYnJlYWs7CiAJZGVmYXVsdDoKLQkJZGV2X2VycigmYWRhcHRlci0+ZGV2LCAic21idXNfYWNjZXNzIGNhbGxlZCB3aXRoIGludmFsaWQgc2l6ZSAoJWQpXG4iLAotCQkgICAgICAgc2l6ZSk7Ci0JCXJldHVybiAtMTsKKwkJZGV2X2VycigmYWRhcHRlci0+ZGV2LCAiVW5zdXBwb3J0ZWQgdHJhbnNhY3Rpb24gJWRcbiIsIHNpemUpOworCQlyZXR1cm4gLUVPUE5PVFNVUFA7CiAJfQogCiAJaSA9ICgoZmxhZ3MgJiBJMkNfQ0xJRU5UX1BFQykgJiYgc2l6ZSAhPSBJMkNfU01CVVNfUVVJQ0sKQEAgLTE1NzYsMTMgKzE4ODMsMTUgQEAKIAkJCW1zZ1tudW0tMV0ubGVuKys7CiAJfQogCi0JaWYgKGkyY190cmFuc2ZlcihhZGFwdGVyLCBtc2csIG51bSkgPCAwKQotCQlyZXR1cm4gLTE7CisJc3RhdHVzID0gaTJjX3RyYW5zZmVyKGFkYXB0ZXIsIG1zZywgbnVtKTsKKwlpZiAoc3RhdHVzIDwgMCkKKwkJcmV0dXJuIHN0YXR1czsKIAogCS8qIENoZWNrIFBFQyBpZiBsYXN0IG1lc3NhZ2UgaXMgYSByZWFkICovCiAJaWYgKGkgJiYgKG1zZ1tudW0tMV0uZmxhZ3MgJiBJMkNfTV9SRCkpIHsKLQkJaWYgKGkyY19zbWJ1c19jaGVja19wZWMocGFydGlhbF9wZWMsICZtc2dbbnVtLTFdKSA8IDApCi0JCQlyZXR1cm4gLTE7CisJCXN0YXR1cyA9IGkyY19zbWJ1c19jaGVja19wZWMocGFydGlhbF9wZWMsICZtc2dbbnVtLTFdKTsKKwkJaWYgKHN0YXR1cyA8IDApCisJCQlyZXR1cm4gc3RhdHVzOwogCX0KIAogCWlmIChyZWFkX3dyaXRlID09IEkyQ19TTUJVU19SRUFEKQpAQCAtMTYxMCw5ICsxOTE5LDIxIEBACiAJcmV0dXJuIDA7CiB9CiAKLQorLyoqCisgKiBpMmNfc21idXNfeGZlciAtIGV4ZWN1dGUgU01CdXMgcHJvdG9jb2wgb3BlcmF0aW9ucworICogQGFkYXB0ZXI6IEhhbmRsZSB0byBJMkMgYnVzCisgKiBAYWRkcjogQWRkcmVzcyBvZiBTTUJ1cyBzbGF2ZSBvbiB0aGF0IGJ1cworICogQGZsYWdzOiBJMkNfQ0xJRU5UXyogZmxhZ3MgKHVzdWFsbHkgemVybyBvciBJMkNfQ0xJRU5UX1BFQykKKyAqIEByZWFkX3dyaXRlOiBJMkNfU01CVVNfUkVBRCBvciBJMkNfU01CVVNfV1JJVEUKKyAqIEBjb21tYW5kOiBCeXRlIGludGVycHJldGVkIGJ5IHNsYXZlLCBmb3IgcHJvdG9jb2xzIHdoaWNoIHVzZSBzdWNoIGJ5dGVzCisgKiBAcHJvdG9jb2w6IFNNQnVzIHByb3RvY29sIG9wZXJhdGlvbiB0byBleGVjdXRlLCBzdWNoIGFzIEkyQ19TTUJVU19QUk9DX0NBTEwKKyAqIEBkYXRhOiBEYXRhIHRvIGJlIHJlYWQgb3Igd3JpdHRlbgorICoKKyAqIFRoaXMgZXhlY3V0ZXMgYW4gU01CdXMgcHJvdG9jb2wgb3BlcmF0aW9uLCBhbmQgcmV0dXJucyBhIG5lZ2F0aXZlCisgKiBlcnJubyBjb2RlIGVsc2UgemVybyBvbiBzdWNjZXNzLgorICovCiBzMzIgaTJjX3NtYnVzX3hmZXIoc3RydWN0IGkyY19hZGFwdGVyICogYWRhcHRlciwgdTE2IGFkZHIsIHVuc2lnbmVkIHNob3J0IGZsYWdzLAotICAgICAgICAgICAgICAgICAgIGNoYXIgcmVhZF93cml0ZSwgdTggY29tbWFuZCwgaW50IHNpemUsCisJCSAgIGNoYXIgcmVhZF93cml0ZSwgdTggY29tbWFuZCwgaW50IHByb3RvY29sLAogICAgICAgICAgICAgICAgICAgIHVuaW9uIGkyY19zbWJ1c19kYXRhICogZGF0YSkKIHsKIAlzMzIgcmVzOwpAQCAtMTYyMiwxMSArMTk0MywxMSBAQAogCWlmIChhZGFwdGVyLT5hbGdvLT5zbWJ1c194ZmVyKSB7CiAJCW11dGV4X2xvY2soJmFkYXB0ZXItPmJ1c19sb2NrKTsKIAkJcmVzID0gYWRhcHRlci0+YWxnby0+c21idXNfeGZlcihhZGFwdGVyLGFkZHIsZmxhZ3MscmVhZF93cml0ZSwKLQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21tYW5kLHNpemUsZGF0YSk7CisJCQkJCQljb21tYW5kLCBwcm90b2NvbCwgZGF0YSk7CiAJCW11dGV4X3VubG9jaygmYWRhcHRlci0+YnVzX2xvY2spOwogCX0gZWxzZQogCQlyZXMgPSBpMmNfc21idXNfeGZlcl9lbXVsYXRlZChhZGFwdGVyLGFkZHIsZmxhZ3MscmVhZF93cml0ZSwKLQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmQsc2l6ZSxkYXRhKTsKKwkJCQkJICAgICAgY29tbWFuZCwgcHJvdG9jb2wsIGRhdGEpOwogCiAJcmV0dXJuIHJlczsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2kyYy1kZXYuYyBiL2RyaXZlcnMvaTJjL2kyYy1kZXYuYwppbmRleCBkMzRjMTRjLi44NjcyN2ZhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9pMmMtZGV2LmMKKysrIGIvZHJpdmVycy9pMmMvaTJjLWRldi5jCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSA8bGludXgvbGlzdC5oPgogI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgogI2luY2x1ZGUgPGxpbnV4L2kyYy1kZXYuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAKIHN0YXRpYyBzdHJ1Y3QgaTJjX2RyaXZlciBpMmNkZXZfZHJpdmVyOwpAQCAtMzY2LDggKzM2Nyw3IEBACiAJcmV0dXJuIHJlczsKIH0KIAotc3RhdGljIGludCBpMmNkZXZfaW9jdGwoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUsCi0JCXVuc2lnbmVkIGludCBjbWQsIHVuc2lnbmVkIGxvbmcgYXJnKQorc3RhdGljIGxvbmcgaTJjZGV2X2lvY3RsKHN0cnVjdCBmaWxlICpmaWxlLCB1bnNpZ25lZCBpbnQgY21kLCB1bnNpZ25lZCBsb25nIGFyZykKIHsKIAlzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50ID0gKHN0cnVjdCBpMmNfY2xpZW50ICopZmlsZS0+cHJpdmF0ZV9kYXRhOwogCXVuc2lnbmVkIGxvbmcgZnVuY3M7CkBAIC00NDEsMTQgKzQ0MSwyMCBAQAogCXN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQ7CiAJc3RydWN0IGkyY19hZGFwdGVyICphZGFwOwogCXN0cnVjdCBpMmNfZGV2ICppMmNfZGV2OworCWludCByZXQgPSAwOwogCisJbG9ja19rZXJuZWwoKTsKIAlpMmNfZGV2ID0gaTJjX2Rldl9nZXRfYnlfbWlub3IobWlub3IpOwotCWlmICghaTJjX2RldikKLQkJcmV0dXJuIC1FTk9ERVY7CisJaWYgKCFpMmNfZGV2KSB7CisJCXJldCA9IC1FTk9ERVY7CisJCWdvdG8gb3V0OworCX0KIAogCWFkYXAgPSBpMmNfZ2V0X2FkYXB0ZXIoaTJjX2Rldi0+YWRhcC0+bnIpOwotCWlmICghYWRhcCkKLQkJcmV0dXJuIC1FTk9ERVY7CisJaWYgKCFhZGFwKSB7CisJCXJldCA9IC1FTk9ERVY7CisJCWdvdG8gb3V0OworCX0KIAogCS8qIFRoaXMgY3JlYXRlcyBhbiBhbm9ueW1vdXMgaTJjX2NsaWVudCwgd2hpY2ggbWF5IGxhdGVyIGJlCiAJICogcG9pbnRlZCB0byBzb21lIGFkZHJlc3MgdXNpbmcgSTJDX1NMQVZFIG9yIEkyQ19TTEFWRV9GT1JDRS4KQEAgLTQ2MCw3ICs0NjYsOCBAQAogCWNsaWVudCA9IGt6YWxsb2Moc2l6ZW9mKCpjbGllbnQpLCBHRlBfS0VSTkVMKTsKIAlpZiAoIWNsaWVudCkgewogCQlpMmNfcHV0X2FkYXB0ZXIoYWRhcCk7Ci0JCXJldHVybiAtRU5PTUVNOworCQlyZXQgPSAtRU5PTUVNOworCQlnb3RvIG91dDsKIAl9CiAJc25wcmludGYoY2xpZW50LT5uYW1lLCBJMkNfTkFNRV9TSVpFLCAiaTJjLWRldiAlZCIsIGFkYXAtPm5yKTsKIAljbGllbnQtPmRyaXZlciA9ICZpMmNkZXZfZHJpdmVyOwpAQCAtNDY4LDcgKzQ3NSw5IEBACiAJY2xpZW50LT5hZGFwdGVyID0gYWRhcDsKIAlmaWxlLT5wcml2YXRlX2RhdGEgPSBjbGllbnQ7CiAKLQlyZXR1cm4gMDsKK291dDoKKwl1bmxvY2tfa2VybmVsKCk7CisJcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIGludCBpMmNkZXZfcmVsZWFzZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKQEAgLTQ4Nyw3ICs0OTYsNyBAQAogCS5sbHNlZWsJCT0gbm9fbGxzZWVrLAogCS5yZWFkCQk9IGkyY2Rldl9yZWFkLAogCS53cml0ZQkJPSBpMmNkZXZfd3JpdGUsCi0JLmlvY3RsCQk9IGkyY2Rldl9pb2N0bCwKKwkudW5sb2NrZWRfaW9jdGwJPSBpMmNkZXZfaW9jdGwsCiAJLm9wZW4JCT0gaTJjZGV2X29wZW4sCiAJLnJlbGVhc2UJPSBpMmNkZXZfcmVsZWFzZSwKIH07CkBAIC01NDksMTkgKzU1OCwxMiBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGkyY2Rldl9kZXRhY2hfY2xpZW50KHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KIHN0YXRpYyBzdHJ1Y3QgaTJjX2RyaXZlciBpMmNkZXZfZHJpdmVyID0gewogCS5kcml2ZXIgPSB7CiAJCS5uYW1lCT0gImRldl9kcml2ZXIiLAogCX0sCi0JLmlkCQk9IEkyQ19EUklWRVJJRF9JMkNERVYsCiAJLmF0dGFjaF9hZGFwdGVyCT0gaTJjZGV2X2F0dGFjaF9hZGFwdGVyLAogCS5kZXRhY2hfYWRhcHRlcgk9IGkyY2Rldl9kZXRhY2hfYWRhcHRlciwKLQkuZGV0YWNoX2NsaWVudAk9IGkyY2Rldl9kZXRhY2hfY2xpZW50LAogfTsKIAogLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZGUvS2NvbmZpZyBiL2RyaXZlcnMvaWRlL0tjb25maWcKaW5kZXggMTYwNzUzNi4uY2Y3MDdjOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvS2NvbmZpZworKysgYi9kcml2ZXJzL2lkZS9LY29uZmlnCkBAIC05OCw2ICs5OCw5IEBACiAKIGNvbW1lbnQgIlBsZWFzZSBzZWUgRG9jdW1lbnRhdGlvbi9pZGUvaWRlLnR4dCBmb3IgaGVscC9pbmZvIG9uIElERSBkcml2ZXMiCiAKK2NvbmZpZyBJREVfQVRBUEkKKwlib29sCisKIGNvbmZpZyBCTEtfREVWX0lERV9TQVRBCiAJYm9vbCAiU3VwcG9ydCBmb3IgU0FUQSAoZGVwcmVjYXRlZDsgY29uZmxpY3RzIHdpdGggbGliYXRhIFNBVEEgZHJpdmVyKSIKIAlkZWZhdWx0IG4KQEAgLTIwMSw2ICsyMDQsNyBAQAogCiBjb25maWcgQkxLX0RFVl9JREVUQVBFCiAJdHJpc3RhdGUgIkluY2x1ZGUgSURFL0FUQVBJIFRBUEUgc3VwcG9ydCIKKwlzZWxlY3QgSURFX0FUQVBJCiAJaGVscAogCSAgSWYgeW91IGhhdmUgYW4gSURFIHRhcGUgZHJpdmUgdXNpbmcgdGhlIEFUQVBJIHByb3RvY29sLCBzYXkgWS4KIAkgIEFUQVBJIGlzIGEgbmV3ZXIgcHJvdG9jb2wgdXNlZCBieSBJREUgdGFwZSBhbmQgQ0QtUk9NIGRyaXZlcywKQEAgLTIyMyw2ICsyMjcsNyBAQAogCiBjb25maWcgQkxLX0RFVl9JREVGTE9QUFkKIAl0cmlzdGF0ZSAiSW5jbHVkZSBJREUvQVRBUEkgRkxPUFBZIHN1cHBvcnQiCisJc2VsZWN0IElERV9BVEFQSQogCS0tLWhlbHAtLS0KIAkgIElmIHlvdSBoYXZlIGFuIElERSBmbG9wcHkgZHJpdmUgd2hpY2ggdXNlcyB0aGUgQVRBUEkgcHJvdG9jb2wsCiAJICBhbnN3ZXIgWS4gIEFUQVBJIGlzIGEgbmV3ZXIgcHJvdG9jb2wgdXNlZCBieSBJREUgQ0QtUk9NL3RhcGUvZmxvcHB5CkBAIC0yNDYsNiArMjUxLDcgQEAKIGNvbmZpZyBCTEtfREVWX0lERVNDU0kKIAl0cmlzdGF0ZSAiU0NTSSBlbXVsYXRpb24gc3VwcG9ydCIKIAlkZXBlbmRzIG9uIFNDU0kKKwlzZWxlY3QgSURFX0FUQVBJCiAJLS0taGVscC0tLQogCSAgV0FSTklORzogaWRlLXNjc2kgaXMgbm8gbG9uZ2VyIG5lZWRlZCBmb3IgY2Qgd3JpdGluZyBhcHBsaWNhdGlvbnMhCiAJICBUaGUgMi42IGtlcm5lbCBzdXBwb3J0cyBkaXJlY3Qgd3JpdGluZyB0byBpZGUtY2QsIHdoaWNoIGVsaW1pbmF0ZXMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL01ha2VmaWxlIGIvZHJpdmVycy9pZGUvTWFrZWZpbGUKaW5kZXggZjk0YjY3OS4uYTJiM2Y4NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvTWFrZWZpbGUKKysrIGIvZHJpdmVycy9pZGUvTWFrZWZpbGUKQEAgLTE0LDYgKzE0LDcgQEAKIGlkZS1jb3JlLXkgKz0gaWRlLm8gaWRlLWlvLm8gaWRlLWlvcHMubyBpZGUtbGliLm8gaWRlLXByb2JlLm8gaWRlLXRhc2tmaWxlLm8KIAogIyBjb3JlIElERSBjb2RlCitpZGUtY29yZS0kKENPTkZJR19JREVfQVRBUEkpCQkrPSBpZGUtYXRhcGkubwogaWRlLWNvcmUtJChDT05GSUdfQkxLX0RFVl9JREVQQ0kpCSs9IHNldHVwLXBjaS5vCiBpZGUtY29yZS0kKENPTkZJR19CTEtfREVWX0lERURNQSkJKz0gaWRlLWRtYS5vCiBpZGUtY29yZS0kKENPTkZJR19JREVfUFJPQ19GUykJCSs9IGlkZS1wcm9jLm8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL2FybS9wYWxtX2JrMzcxMC5jIGIvZHJpdmVycy9pZGUvYXJtL3BhbG1fYmszNzEwLmMKaW5kZXggMmYyYjRmNC4uMzgzOWY1NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvYXJtL3BhbG1fYmszNzEwLmMKKysrIGIvZHJpdmVycy9pZGUvYXJtL3BhbG1fYmszNzEwLmMKQEAgLTgzLDcgKzgzLDcgQEAKIAl7MTI1LCAxNjB9LAkJLyogVURNQSBNb2RlIDEgKi8KIAl7MTAwLCAxMjB9LAkJLyogVURNQSBNb2RlIDIgKi8KIAl7MTAwLCA5MH0sCQkvKiBVRE1BIE1vZGUgMyAqLwotCXs4NSwgIDYwfSwJCS8qIFVETUEgTW9kZSA0ICovCisJezEwMCwgNjB9LAkJLyogVURNQSBNb2RlIDQgKi8KIH07CiAKIHN0YXRpYyB2b2lkIHBhbG1fYmszNzEwX3NldHVkbWFtb2RlKHZvaWQgX19pb21lbSAqYmFzZSwgdW5zaWduZWQgaW50IGRldiwKQEAgLTQwNSw3ICs0MDUsNiBAQAogCWlkZV9pbml0X3BvcnRfZGF0YShod2lmLCBpKTsKIAlpZGVfaW5pdF9wb3J0X2h3KGh3aWYsICZodyk7CiAKLQlod2lmLT5tbWlvID0gMTsKIAlkZWZhdWx0X2h3aWZfbW1pb3BzKGh3aWYpOwogCiAJaWR4WzBdID0gaTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL2g4MzAwL2lkZS1oODMwMC5jIGIvZHJpdmVycy9pZGUvaDgzMDAvaWRlLWg4MzAwLmMKaW5kZXggZWNmNTNiYi4uYWUzN2VlNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvaDgzMDAvaWRlLWg4MzAwLmMKKysrIGIvZHJpdmVycy9pZGUvaDgzMDAvaWRlLWg4MzAwLmMKQEAgLTUyLDggKzUyLDYgQEAKIAlpZiAodGFzay0+dGZfZmxhZ3MgJiBJREVfVEZMQUdfRkxBR0dFRCkKIAkJSElISSA9IDB4RkY7CiAKLQlpZGVfc2V0X2lycShkcml2ZSwgMSk7Ci0KIAlpZiAodGFzay0+dGZfZmxhZ3MgJiBJREVfVEZMQUdfT1VUX0RBVEEpCiAJCW1tX291dHcoKHRmLT5ob2JfZGF0YSA8PCA4KSB8IHRmLT5kYXRhLCBpb19wb3J0cy0+ZGF0YV9hZGRyKTsKIApAQCAtOTgsNyArOTYsNyBAQAogCX0KIAogCS8qIGJlIHN1cmUgd2UncmUgbG9va2luZyBhdCB0aGUgbG93IG9yZGVyIGJpdHMgKi8KLQlvdXRiKGRyaXZlLT5jdGwgJiB+MHg4MCwgaW9fcG9ydHMtPmN0bF9hZGRyKTsKKwlvdXRiKEFUQV9ERVZDVExfT0JTICYgfjB4ODAsIGlvX3BvcnRzLT5jdGxfYWRkcik7CiAKIAlpZiAodGFzay0+dGZfZmxhZ3MgJiBJREVfVEZMQUdfSU5fTlNFQ1QpCiAJCXRmLT5uc2VjdCAgPSBpbmIoaW9fcG9ydHMtPm5zZWN0X2FkZHIpOwpAQCAtMTEyLDcgKzExMCw3IEBACiAJCXRmLT5kZXZpY2UgPSBpbmIoaW9fcG9ydHMtPmRldmljZV9hZGRyKTsKIAogCWlmICh0YXNrLT50Zl9mbGFncyAmIElERV9URkxBR19MQkE0OCkgewotCQlvdXRiKGRyaXZlLT5jdGwgfCAweDgwLCBpb19wb3J0cy0+Y3RsX2FkZHIpOworCQlvdXRiKEFUQV9ERVZDVExfT0JTIHwgMHg4MCwgaW9fcG9ydHMtPmN0bF9hZGRyKTsKIAogCQlpZiAodGFzay0+dGZfZmxhZ3MgJiBJREVfVEZMQUdfSU5fSE9CX0ZFQVRVUkUpCiAJCQl0Zi0+aG9iX2ZlYXR1cmUgPSBpbmIoaW9fcG9ydHMtPmZlYXR1cmVfYWRkcik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2lkZS9pZGUtYWNwaS5jIGIvZHJpdmVycy9pZGUvaWRlLWFjcGkuYwppbmRleCA5ZDM2MDFmLi42ZjcwNDYyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2lkZS9pZGUtYWNwaS5jCisrKyBiL2RyaXZlcnMvaWRlL2lkZS1hY3BpLmMKQEAgLTYwLDE1ICs2MCwxNSBAQAogI2RlZmluZSBERUJQUklOVChmbXQsIGFyZ3MuLi4pCWRvIHt9IHdoaWxlICgwKQogI2VuZGlmCS8qIERFQlVHR0lORyAqLwogCi1pbnQgaWRlX25vYWNwaTsKK3N0YXRpYyBpbnQgaWRlX25vYWNwaTsKIG1vZHVsZV9wYXJhbV9uYW1lZChub2FjcGksIGlkZV9ub2FjcGksIGJvb2wsIDApOwogTU9EVUxFX1BBUk1fREVTQyhub2FjcGksICJkaXNhYmxlIElERSBBQ1BJIHN1cHBvcnQiKTsKIAotaW50IGlkZV9hY3BpZ3RmOworc3RhdGljIGludCBpZGVfYWNwaWd0ZjsKIG1vZHVsZV9wYXJhbV9uYW1lZChhY3BpZ3RmLCBpZGVfYWNwaWd0ZiwgYm9vbCwgMCk7CiBNT0RVTEVfUEFSTV9ERVNDKGFjcGlndGYsICJlbmFibGUgSURFIEFDUEkgX0dURiBzdXBwb3J0Iik7CiAKLWludCBpZGVfYWNwaW9uYm9vdDsKK3N0YXRpYyBpbnQgaWRlX2FjcGlvbmJvb3Q7CiBtb2R1bGVfcGFyYW1fbmFtZWQoYWNwaW9uYm9vdCwgaWRlX2FjcGlvbmJvb3QsIGJvb2wsIDApOwogTU9EVUxFX1BBUk1fREVTQyhhY3Bpb25ib290LCAiY2FsbCBJREUgQUNQSSBtZXRob2RzIG9uIGJvb3QiKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZGUvaWRlLWF0YXBpLmMgYi9kcml2ZXJzL2lkZS9pZGUtYXRhcGkuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yODAyMDMxCi0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9pZGUvaWRlLWF0YXBpLmMKQEAgLTAsMCArMSwyOTYgQEAKKy8qCisgKiBBVEFQSSBzdXBwb3J0LgorICovCisKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgorI2luY2x1ZGUgPGxpbnV4L2lkZS5oPgorI2luY2x1ZGUgPHNjc2kvc2NzaS5oPgorCisjaWZkZWYgREVCVUcKKyNkZWZpbmUgZGVidWdfbG9nKGZtdCwgYXJncy4uLikgXAorCXByaW50ayhLRVJOX0lORk8gImlkZTogIiBmbXQsICMjIGFyZ3MpCisjZWxzZQorI2RlZmluZSBkZWJ1Z19sb2coZm10LCBhcmdzLi4uKSBkbyB7fSB3aGlsZSAoMCkKKyNlbmRpZgorCisvKiBUT0RPOiB1bmlmeSB0aGUgY29kZSB0aHVzIG1ha2luZyBzb21lIGFyZ3VtZW50cyBnbyBhd2F5ICovCitpZGVfc3RhcnRzdG9wX3QgaWRlX3BjX2ludHIoaWRlX2RyaXZlX3QgKmRyaXZlLCBzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYywKKwlpZGVfaGFuZGxlcl90ICpoYW5kbGVyLCB1bnNpZ25lZCBpbnQgdGltZW91dCwgaWRlX2V4cGlyeV90ICpleHBpcnksCisJdm9pZCAoKnVwZGF0ZV9idWZmZXJzKShpZGVfZHJpdmVfdCAqLCBzdHJ1Y3QgaWRlX2F0YXBpX3BjICopLAorCXZvaWQgKCpyZXRyeV9wYykoaWRlX2RyaXZlX3QgKiksIHZvaWQgKCpkc2NfaGFuZGxlKShpZGVfZHJpdmVfdCAqKSwKKwl2b2lkICgqaW9fYnVmZmVycykoaWRlX2RyaXZlX3QgKiwgc3RydWN0IGlkZV9hdGFwaV9wYyAqLCB1bnNpZ25lZCwgaW50KSkKK3sKKwlpZGVfaHdpZl90ICpod2lmID0gZHJpdmUtPmh3aWY7CisJeGZlcl9mdW5jX3QgKnhmZXJmdW5jOworCXVuc2lnbmVkIGludCB0ZW1wOworCXUxNiBiY291bnQ7CisJdTggc3RhdCwgaXJlYXNvbiwgc2NzaSA9IGRyaXZlLT5zY3NpOworCisJZGVidWdfbG9nKCJFbnRlciAlcyAtIGludGVycnVwdCBoYW5kbGVyXG4iLCBfX2Z1bmNfXyk7CisKKwlpZiAocGMtPmZsYWdzICYgUENfRkxBR19USU1FRE9VVCkgeworCQlwYy0+Y2FsbGJhY2soZHJpdmUpOworCQlyZXR1cm4gaWRlX3N0b3BwZWQ7CisJfQorCisJLyogQ2xlYXIgdGhlIGludGVycnVwdCAqLworCXN0YXQgPSBpZGVfcmVhZF9zdGF0dXMoZHJpdmUpOworCisJaWYgKHBjLT5mbGFncyAmIFBDX0ZMQUdfRE1BX0lOX1BST0dSRVNTKSB7CisJCWlmIChod2lmLT5kbWFfb3BzLT5kbWFfZW5kKGRyaXZlKSB8fAorCQkgICAgKGRyaXZlLT5tZWRpYSA9PSBpZGVfdGFwZSAmJiAhc2NzaSAmJiAoc3RhdCAmIEVSUl9TVEFUKSkpIHsKKwkJCWlmIChkcml2ZS0+bWVkaWEgPT0gaWRlX2Zsb3BweSAmJiAhc2NzaSkKKwkJCQlwcmludGsoS0VSTl9FUlIgIiVzOiBETUEgJXMgZXJyb3JcbiIsCisJCQkJCWRyaXZlLT5uYW1lLCBycV9kYXRhX2RpcihwYy0+cnEpCisJCQkJCQkgICAgID8gIndyaXRlIiA6ICJyZWFkIik7CisJCQlwYy0+ZmxhZ3MgfD0gUENfRkxBR19ETUFfRVJST1I7CisJCX0gZWxzZSB7CisJCQlwYy0+eGZlcnJlZCA9IHBjLT5yZXFfeGZlcjsKKwkJCWlmICh1cGRhdGVfYnVmZmVycykKKwkJCQl1cGRhdGVfYnVmZmVycyhkcml2ZSwgcGMpOworCQl9CisJCWRlYnVnX2xvZygiJXM6IERNQSBmaW5pc2hlZFxuIiwgZHJpdmUtPm5hbWUpOworCX0KKworCS8qIE5vIG1vcmUgaW50ZXJydXB0cyAqLworCWlmICgoc3RhdCAmIERSUV9TVEFUKSA9PSAwKSB7CisJCWRlYnVnX2xvZygiUGFja2V0IGNvbW1hbmQgY29tcGxldGVkLCAlZCBieXRlcyB0cmFuc2ZlcnJlZFxuIiwKKwkJCSAgcGMtPnhmZXJyZWQpOworCisJCXBjLT5mbGFncyAmPSB+UENfRkxBR19ETUFfSU5fUFJPR1JFU1M7CisKKwkJbG9jYWxfaXJxX2VuYWJsZV9pbl9oYXJkaXJxKCk7CisKKwkJaWYgKGRyaXZlLT5tZWRpYSA9PSBpZGVfdGFwZSAmJiAhc2NzaSAmJgorCQkgICAgKHN0YXQgJiBFUlJfU1RBVCkgJiYgcGMtPmNbMF0gPT0gUkVRVUVTVF9TRU5TRSkKKwkJCXN0YXQgJj0gfkVSUl9TVEFUOworCQlpZiAoKHN0YXQgJiBFUlJfU1RBVCkgfHwgKHBjLT5mbGFncyAmIFBDX0ZMQUdfRE1BX0VSUk9SKSkgeworCQkJLyogRXJyb3IgZGV0ZWN0ZWQgKi8KKwkJCWRlYnVnX2xvZygiJXM6IEkvTyBlcnJvclxuIiwgZHJpdmUtPm5hbWUpOworCisJCQlpZiAoZHJpdmUtPm1lZGlhICE9IGlkZV90YXBlIHx8IHNjc2kpIHsKKwkJCQlwYy0+cnEtPmVycm9ycysrOworCQkJCWlmIChzY3NpKQorCQkJCQlnb3RvIGNtZF9maW5pc2hlZDsKKwkJCX0KKworCQkJaWYgKHBjLT5jWzBdID09IFJFUVVFU1RfU0VOU0UpIHsKKwkJCQlwcmludGsoS0VSTl9FUlIgIiVzOiBJL08gZXJyb3IgaW4gcmVxdWVzdCBzZW5zZSIKKwkJCQkJCSIgY29tbWFuZFxuIiwgZHJpdmUtPm5hbWUpOworCQkJCXJldHVybiBpZGVfZG9fcmVzZXQoZHJpdmUpOworCQkJfQorCisJCQlkZWJ1Z19sb2coIltjbWQgJXhdOiBjaGVjayBjb25kaXRpb25cbiIsIHBjLT5jWzBdKTsKKworCQkJLyogUmV0cnkgb3BlcmF0aW9uICovCisJCQlyZXRyeV9wYyhkcml2ZSk7CisJCQkvKiBxdWV1ZWQsIGJ1dCBub3Qgc3RhcnRlZCAqLworCQkJcmV0dXJuIGlkZV9zdG9wcGVkOworCQl9CitjbWRfZmluaXNoZWQ6CisJCXBjLT5lcnJvciA9IDA7CisJCWlmICgocGMtPmZsYWdzICYgUENfRkxBR19XQUlUX0ZPUl9EU0MpICYmCisJCSAgICAoc3RhdCAmIFNFRUtfU1RBVCkgPT0gMCkgeworCQkJZHNjX2hhbmRsZShkcml2ZSk7CisJCQlyZXR1cm4gaWRlX3N0b3BwZWQ7CisJCX0KKwkJLyogQ29tbWFuZCBmaW5pc2hlZCAtIENhbGwgdGhlIGNhbGxiYWNrIGZ1bmN0aW9uICovCisJCXBjLT5jYWxsYmFjayhkcml2ZSk7CisJCXJldHVybiBpZGVfc3RvcHBlZDsKKwl9CisKKwlpZiAocGMtPmZsYWdzICYgUENfRkxBR19ETUFfSU5fUFJPR1JFU1MpIHsKKwkJcGMtPmZsYWdzICY9IH5QQ19GTEFHX0RNQV9JTl9QUk9HUkVTUzsKKwkJcHJpbnRrKEtFUk5fRVJSICIlczogVGhlIGRldmljZSB3YW50cyB0byBpc3N1ZSBtb3JlIGludGVycnVwdHMgIgorCQkJCSJpbiBETUEgbW9kZVxuIiwgZHJpdmUtPm5hbWUpOworCQlpZGVfZG1hX29mZihkcml2ZSk7CisJCXJldHVybiBpZGVfZG9fcmVzZXQoZHJpdmUpOworCX0KKwkvKiBHZXQgdGhlIG51bWJlciBvZiBieXRlcyB0byB0cmFuc2ZlciBvbiB0aGlzIGludGVycnVwdC4gKi8KKwliY291bnQgPSAoaHdpZi0+SU5CKGh3aWYtPmlvX3BvcnRzLmxiYWhfYWRkcikgPDwgOCkgfAorCQkgIGh3aWYtPklOQihod2lmLT5pb19wb3J0cy5sYmFtX2FkZHIpOworCisJaXJlYXNvbiA9IGh3aWYtPklOQihod2lmLT5pb19wb3J0cy5uc2VjdF9hZGRyKTsKKworCWlmIChpcmVhc29uICYgQ0QpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICIlczogQ29EICE9IDAgaW4gJXNcbiIsIGRyaXZlLT5uYW1lLCBfX2Z1bmNfXyk7CisJCXJldHVybiBpZGVfZG9fcmVzZXQoZHJpdmUpOworCX0KKwlpZiAoKChpcmVhc29uICYgSU8pID09IElPKSA9PSAhIShwYy0+ZmxhZ3MgJiBQQ19GTEFHX1dSSVRJTkcpKSB7CisJCS8qIEhvcGVmdWxseSwgd2Ugd2lsbCBuZXZlciBnZXQgaGVyZSAqLworCQlwcmludGsoS0VSTl9FUlIgIiVzOiBXZSB3YW50ZWQgdG8gJXMsIGJ1dCB0aGUgZGV2aWNlIHdhbnRzIHVzICIKKwkJCQkidG8gJXMhXG4iLCBkcml2ZS0+bmFtZSwKKwkJCQkoaXJlYXNvbiAmIElPKSA/ICJXcml0ZSIgOiAiUmVhZCIsCisJCQkJKGlyZWFzb24gJiBJTykgPyAiUmVhZCIgOiAiV3JpdGUiKTsKKwkJcmV0dXJuIGlkZV9kb19yZXNldChkcml2ZSk7CisJfQorCWlmICghKHBjLT5mbGFncyAmIFBDX0ZMQUdfV1JJVElORykpIHsKKwkJLyogUmVhZGluZyAtIENoZWNrIHRoYXQgd2UgaGF2ZSBlbm91Z2ggc3BhY2UgKi8KKwkJdGVtcCA9IHBjLT54ZmVycmVkICsgYmNvdW50OworCQlpZiAodGVtcCA+IHBjLT5yZXFfeGZlcikgeworCQkJaWYgKHRlbXAgPiBwYy0+YnVmX3NpemUpIHsKKwkJCQlwcmludGsoS0VSTl9FUlIgIiVzOiBUaGUgZGV2aWNlIHdhbnRzIHRvIHNlbmQgIgorCQkJCQkJInVzIG1vcmUgZGF0YSB0aGFuIGV4cGVjdGVkIC0gIgorCQkJCQkJImRpc2NhcmRpbmcgZGF0YVxuIiwKKwkJCQkJCWRyaXZlLT5uYW1lKTsKKwkJCQlpZiAoc2NzaSkKKwkJCQkJdGVtcCA9IHBjLT5idWZfc2l6ZSAtIHBjLT54ZmVycmVkOworCQkJCWVsc2UKKwkJCQkJdGVtcCA9IDA7CisJCQkJaWYgKHRlbXApIHsKKwkJCQkJaWYgKHBjLT5zZykKKwkJCQkJCWlvX2J1ZmZlcnMoZHJpdmUsIHBjLCB0ZW1wLCAwKTsKKwkJCQkJZWxzZQorCQkJCQkJaHdpZi0+aW5wdXRfZGF0YShkcml2ZSwgTlVMTCwKKwkJCQkJCQlwYy0+Y3VyX3BvcywgdGVtcCk7CisJCQkJCXByaW50ayhLRVJOX0VSUiAiJXM6IHRyYW5zZmVycmVkICVkIG9mICIKKwkJCQkJCQkiJWQgYnl0ZXNcbiIsCisJCQkJCQkJZHJpdmUtPm5hbWUsCisJCQkJCQkJdGVtcCwgYmNvdW50KTsKKwkJCQl9CisJCQkJcGMtPnhmZXJyZWQgKz0gdGVtcDsKKwkJCQlwYy0+Y3VyX3BvcyArPSB0ZW1wOworCQkJCWlkZV9wYWRfdHJhbnNmZXIoZHJpdmUsIDAsIGJjb3VudCAtIHRlbXApOworCQkJCWlkZV9zZXRfaGFuZGxlcihkcml2ZSwgaGFuZGxlciwgdGltZW91dCwKKwkJCQkJCWV4cGlyeSk7CisJCQkJcmV0dXJuIGlkZV9zdGFydGVkOworCQkJfQorCQkJZGVidWdfbG9nKCJUaGUgZGV2aWNlIHdhbnRzIHRvIHNlbmQgdXMgbW9yZSBkYXRhIHRoYW4gIgorCQkJCSAgImV4cGVjdGVkIC0gYWxsb3dpbmcgdHJhbnNmZXJcbiIpOworCQl9CisJCXhmZXJmdW5jID0gaHdpZi0+aW5wdXRfZGF0YTsKKwl9IGVsc2UKKwkJeGZlcmZ1bmMgPSBod2lmLT5vdXRwdXRfZGF0YTsKKworCWlmICgoZHJpdmUtPm1lZGlhID09IGlkZV9mbG9wcHkgJiYgIXNjc2kgJiYgIXBjLT5idWYpIHx8CisJICAgIChkcml2ZS0+bWVkaWEgPT0gaWRlX3RhcGUgJiYgIXNjc2kgJiYgcGMtPmJoKSB8fAorCSAgICAoc2NzaSAmJiBwYy0+c2cpKQorCQlpb19idWZmZXJzKGRyaXZlLCBwYywgYmNvdW50LCAhIShwYy0+ZmxhZ3MgJiBQQ19GTEFHX1dSSVRJTkcpKTsKKwllbHNlCisJCXhmZXJmdW5jKGRyaXZlLCBOVUxMLCBwYy0+Y3VyX3BvcywgYmNvdW50KTsKKworCS8qIFVwZGF0ZSB0aGUgY3VycmVudCBwb3NpdGlvbiAqLworCXBjLT54ZmVycmVkICs9IGJjb3VudDsKKwlwYy0+Y3VyX3BvcyArPSBiY291bnQ7CisKKwlkZWJ1Z19sb2coIltjbWQgJXhdIHRyYW5zZmVycmVkICVkIGJ5dGVzIG9uIHRoYXQgaW50ci5cbiIsCisJCSAgcGMtPmNbMF0sIGJjb3VudCk7CisKKwkvKiBBbmQgc2V0IHRoZSBpbnRlcnJ1cHQgaGFuZGxlciBhZ2FpbiAqLworCWlkZV9zZXRfaGFuZGxlcihkcml2ZSwgaGFuZGxlciwgdGltZW91dCwgZXhwaXJ5KTsKKwlyZXR1cm4gaWRlX3N0YXJ0ZWQ7Cit9CitFWFBPUlRfU1lNQk9MX0dQTChpZGVfcGNfaW50cik7CisKK3N0YXRpYyB1OCBpZGVfd2FpdF9pcmVhc29uKGlkZV9kcml2ZV90ICpkcml2ZSwgdTggaXJlYXNvbikKK3sKKwlpZGVfaHdpZl90ICpod2lmID0gZHJpdmUtPmh3aWY7CisJaW50IHJldHJpZXMgPSAxMDA7CisKKwl3aGlsZSAocmV0cmllcy0tICYmICgoaXJlYXNvbiAmIENEKSA9PSAwIHx8IChpcmVhc29uICYgSU8pKSkgeworCQlwcmludGsoS0VSTl9FUlIgIiVzOiAoSU8sQ29EICE9ICgwLDEpIHdoaWxlIGlzc3VpbmcgIgorCQkJCSJhIHBhY2tldCBjb21tYW5kLCByZXRyeWluZ1xuIiwgZHJpdmUtPm5hbWUpOworCQl1ZGVsYXkoMTAwKTsKKwkJaXJlYXNvbiA9IGh3aWYtPklOQihod2lmLT5pb19wb3J0cy5uc2VjdF9hZGRyKTsKKwkJaWYgKHJldHJpZXMgPT0gMCkgeworCQkJcHJpbnRrKEtFUk5fRVJSICIlczogKElPLENvRCAhPSAoMCwxKSB3aGlsZSBpc3N1aW5nICIKKwkJCQkJImEgcGFja2V0IGNvbW1hbmQsIGlnbm9yaW5nXG4iLAorCQkJCQlkcml2ZS0+bmFtZSk7CisJCQlpcmVhc29uIHw9IENEOworCQkJaXJlYXNvbiAmPSB+SU87CisJCX0KKwl9CisKKwlyZXR1cm4gaXJlYXNvbjsKK30KKworaWRlX3N0YXJ0c3RvcF90IGlkZV90cmFuc2Zlcl9wYyhpZGVfZHJpdmVfdCAqZHJpdmUsIHN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjLAorCQkJCWlkZV9oYW5kbGVyX3QgKmhhbmRsZXIsIHVuc2lnbmVkIGludCB0aW1lb3V0LAorCQkJCWlkZV9leHBpcnlfdCAqZXhwaXJ5KQoreworCWlkZV9od2lmX3QgKmh3aWYgPSBkcml2ZS0+aHdpZjsKKwlpZGVfc3RhcnRzdG9wX3Qgc3RhcnRzdG9wOworCXU4IGlyZWFzb247CisKKwlpZiAoaWRlX3dhaXRfc3RhdCgmc3RhcnRzdG9wLCBkcml2ZSwgRFJRX1NUQVQsIEJVU1lfU1RBVCwgV0FJVF9SRUFEWSkpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICIlczogU3RyYW5nZSwgcGFja2V0IGNvbW1hbmQgaW5pdGlhdGVkIHlldCAiCisJCQkJIkRSUSBpc24ndCBhc3NlcnRlZFxuIiwgZHJpdmUtPm5hbWUpOworCQlyZXR1cm4gc3RhcnRzdG9wOworCX0KKworCWlyZWFzb24gPSBod2lmLT5JTkIoaHdpZi0+aW9fcG9ydHMubnNlY3RfYWRkcik7CisJaWYgKGRyaXZlLT5tZWRpYSA9PSBpZGVfdGFwZSAmJiAhZHJpdmUtPnNjc2kpCisJCWlyZWFzb24gPSBpZGVfd2FpdF9pcmVhc29uKGRyaXZlLCBpcmVhc29uKTsKKworCWlmICgoaXJlYXNvbiAmIENEKSA9PSAwIHx8IChpcmVhc29uICYgSU8pKSB7CisJCXByaW50ayhLRVJOX0VSUiAiJXM6IChJTyxDb0QpICE9ICgwLDEpIHdoaWxlIGlzc3VpbmcgIgorCQkJCSJhIHBhY2tldCBjb21tYW5kXG4iLCBkcml2ZS0+bmFtZSk7CisJCXJldHVybiBpZGVfZG9fcmVzZXQoZHJpdmUpOworCX0KKworCS8qIFNldCB0aGUgaW50ZXJydXB0IHJvdXRpbmUgKi8KKwlpZGVfc2V0X2hhbmRsZXIoZHJpdmUsIGhhbmRsZXIsIHRpbWVvdXQsIGV4cGlyeSk7CisKKwkvKiBCZWdpbiBETUEsIGlmIG5lY2Vzc2FyeSAqLworCWlmIChwYy0+ZmxhZ3MgJiBQQ19GTEFHX0RNQV9PSykgeworCQlwYy0+ZmxhZ3MgfD0gUENfRkxBR19ETUFfSU5fUFJPR1JFU1M7CisJCWh3aWYtPmRtYV9vcHMtPmRtYV9zdGFydChkcml2ZSk7CisJfQorCisJLyogU2VuZCB0aGUgYWN0dWFsIHBhY2tldCAqLworCWlmICgocGMtPmZsYWdzICYgUENfRkxBR19aSVBfRFJJVkUpID09IDApCisJCWh3aWYtPm91dHB1dF9kYXRhKGRyaXZlLCBOVUxMLCBwYy0+YywgMTIpOworCisJcmV0dXJuIGlkZV9zdGFydGVkOworfQorRVhQT1JUX1NZTUJPTF9HUEwoaWRlX3RyYW5zZmVyX3BjKTsKKworaWRlX3N0YXJ0c3RvcF90IGlkZV9pc3N1ZV9wYyhpZGVfZHJpdmVfdCAqZHJpdmUsIHN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjLAorCQkJICAgICBpZGVfaGFuZGxlcl90ICpoYW5kbGVyLCB1bnNpZ25lZCBpbnQgdGltZW91dCwKKwkJCSAgICAgaWRlX2V4cGlyeV90ICpleHBpcnkpCit7CisJaWRlX2h3aWZfdCAqaHdpZiA9IGRyaXZlLT5od2lmOworCXUxNiBiY291bnQ7CisJdTggZG1hID0gMDsKKworCS8qIFdlIGhhdmVuJ3QgdHJhbnNmZXJyZWQgYW55IGRhdGEgeWV0ICovCisJcGMtPnhmZXJyZWQgPSAwOworCXBjLT5jdXJfcG9zID0gcGMtPmJ1ZjsKKworCS8qIFJlcXVlc3QgdG8gdHJhbnNmZXIgdGhlIGVudGlyZSBidWZmZXIgYXQgb25jZSAqLworCWlmIChkcml2ZS0+bWVkaWEgPT0gaWRlX3RhcGUgJiYgIWRyaXZlLT5zY3NpKQorCQliY291bnQgPSBwYy0+cmVxX3hmZXI7CisJZWxzZQorCQliY291bnQgPSBtaW4ocGMtPnJlcV94ZmVyLCA2MyAqIDEwMjQpOworCisJaWYgKHBjLT5mbGFncyAmIFBDX0ZMQUdfRE1BX0VSUk9SKSB7CisJCXBjLT5mbGFncyAmPSB+UENfRkxBR19ETUFfRVJST1I7CisJCWlkZV9kbWFfb2ZmKGRyaXZlKTsKKwl9CisKKwlpZiAoKHBjLT5mbGFncyAmIFBDX0ZMQUdfRE1BX09LKSAmJiBkcml2ZS0+dXNpbmdfZG1hKSB7CisJCWlmIChkcml2ZS0+c2NzaSkKKwkJCWh3aWYtPnNnX21hcHBlZCA9IDE7CisJCWRtYSA9ICFod2lmLT5kbWFfb3BzLT5kbWFfc2V0dXAoZHJpdmUpOworCQlpZiAoZHJpdmUtPnNjc2kpCisJCQlod2lmLT5zZ19tYXBwZWQgPSAwOworCX0KKworCWlmICghZG1hKQorCQlwYy0+ZmxhZ3MgJj0gflBDX0ZMQUdfRE1BX09LOworCisJaWRlX3BrdGNtZF90Zl9sb2FkKGRyaXZlLCBkcml2ZS0+c2NzaSA/IDAgOiBJREVfVEZMQUdfT1VUX0RFVklDRSwKKwkJCSAgIGJjb3VudCwgZG1hKTsKKworCS8qIElzc3VlIHRoZSBwYWNrZXQgY29tbWFuZCAqLworCWlmIChwYy0+ZmxhZ3MgJiBQQ19GTEFHX0RSUV9JTlRFUlJVUFQpIHsKKwkJaWRlX2V4ZWN1dGVfY29tbWFuZChkcml2ZSwgV0lOX1BBQ0tFVENNRCwgaGFuZGxlciwKKwkJCQkgICAgdGltZW91dCwgTlVMTCk7CisJCXJldHVybiBpZGVfc3RhcnRlZDsKKwl9IGVsc2UgeworCQlpZGVfZXhlY3V0ZV9wa3RfY21kKGRyaXZlKTsKKwkJcmV0dXJuICgqaGFuZGxlcikoZHJpdmUpOworCX0KK30KK0VYUE9SVF9TWU1CT0xfR1BMKGlkZV9pc3N1ZV9wYyk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2lkZS9pZGUtY2QuYyBiL2RyaXZlcnMvaWRlL2lkZS1jZC5jCmluZGV4IDY4ZTdmMTkuLmQ5OTg0NzEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWRlL2lkZS1jZC5jCisrKyBiL2RyaXZlcnMvaWRlL2lkZS1jZC5jCkBAIC0xODgsMTYgKzE4OCw2IEBACiAJaWRlX2NkX2xvZ19lcnJvcihkcml2ZS0+bmFtZSwgZmFpbGVkX2NvbW1hbmQsIHNlbnNlKTsKIH0KIAotLyogSW5pdGlhbGl6ZSBhIGlkZS1jZCBwYWNrZXQgY29tbWFuZCByZXF1ZXN0ICovCi12b2lkIGlkZV9jZF9pbml0X3JxKGlkZV9kcml2ZV90ICpkcml2ZSwgc3RydWN0IHJlcXVlc3QgKnJxKQotewotCXN0cnVjdCBjZHJvbV9pbmZvICpjZCA9IGRyaXZlLT5kcml2ZXJfZGF0YTsKLQotCWlkZV9pbml0X2RyaXZlX2NtZChycSk7Ci0JcnEtPmNtZF90eXBlID0gUkVRX1RZUEVfQVRBX1BDOwotCXJxLT5ycV9kaXNrID0gY2QtPmRpc2s7Ci19Ci0KIHN0YXRpYyB2b2lkIGNkcm9tX3F1ZXVlX3JlcXVlc3Rfc2Vuc2UoaWRlX2RyaXZlX3QgKmRyaXZlLCB2b2lkICpzZW5zZSwKIAkJCQkgICAgICBzdHJ1Y3QgcmVxdWVzdCAqZmFpbGVkX2NvbW1hbmQpCiB7CkBAIC0yMDgsNyArMTk4LDkgQEAKIAkJc2Vuc2UgPSAmaW5mby0+c2Vuc2VfZGF0YTsKIAogCS8qIHN0dWZmIHRoZSBzZW5zZSByZXF1ZXN0IGluIGZyb250IG9mIG91ciBjdXJyZW50IHJlcXVlc3QgKi8KLQlpZGVfY2RfaW5pdF9ycShkcml2ZSwgcnEpOworCWJsa19ycV9pbml0KE5VTEwsIHJxKTsKKwlycS0+Y21kX3R5cGUgPSBSRVFfVFlQRV9BVEFfUEM7CisJcnEtPnJxX2Rpc2sgPSBpbmZvLT5kaXNrOwogCiAJcnEtPmRhdGEgPSBzZW5zZTsKIAlycS0+Y21kWzBdID0gR1BDTURfUkVRVUVTVF9TRU5TRTsKQEAgLTIxNiwxMSArMjA4LDEyIEBACiAJcnEtPmRhdGFfbGVuID0gMTg7CiAKIAlycS0+Y21kX3R5cGUgPSBSRVFfVFlQRV9TRU5TRTsKKwlycS0+Y21kX2ZsYWdzIHw9IFJFUV9QUkVFTVBUOwogCiAJLyogTk9URSEgU2F2ZSB0aGUgZmFpbGVkIGNvbW1hbmQgaW4gInJxLT5idWZmZXIiICovCiAJcnEtPmJ1ZmZlciA9ICh2b2lkICopIGZhaWxlZF9jb21tYW5kOwogCi0JKHZvaWQpIGlkZV9kb19kcml2ZV9jbWQoZHJpdmUsIHJxLCBpZGVfcHJlZW1wdCk7CisJaWRlX2RvX2RyaXZlX2NtZChkcml2ZSwgcnEpOwogfQogCiBzdGF0aWMgdm9pZCBjZHJvbV9lbmRfcmVxdWVzdChpZGVfZHJpdmVfdCAqZHJpdmUsIGludCB1cHRvZGF0ZSkKQEAgLTUzNyw4ICs1MzAsOCBAQAogCQlpbmZvLT5kbWEgPSAhaHdpZi0+ZG1hX29wcy0+ZG1hX3NldHVwKGRyaXZlKTsKIAogCS8qIHNldCB1cCB0aGUgY29udHJvbGxlciByZWdpc3RlcnMgKi8KLQlpZGVfcGt0Y21kX3RmX2xvYWQoZHJpdmUsIElERV9URkxBR19PVVRfTlNFQ1QgfCBJREVfVEZMQUdfT1VUX0xCQUwgfAotCQkJICAgSURFX1RGTEFHX05PX1NFTEVDVF9NQVNLLCB4ZmVybGVuLCBpbmZvLT5kbWEpOworCWlkZV9wa3RjbWRfdGZfbG9hZChkcml2ZSwgSURFX1RGTEFHX09VVF9OU0VDVCB8IElERV9URkxBR19PVVRfTEJBTCwKKwkJCSAgIHhmZXJsZW4sIGluZm8tPmRtYSk7CiAKIAlpZiAoaW5mby0+Y2RfZmxhZ3MgJiBJREVfQ0RfRkxBR19EUlFfSU5URVJSVVBUKSB7CiAJCS8qIHdhaXRpbmcgZm9yIENEQiBpbnRlcnJ1cHQsIG5vdCBETUEgeWV0LiAqLwpAQCAtODM4LDM0ICs4MzEsNTQgQEAKIAkJfQogfQogCi1pbnQgaWRlX2NkX3F1ZXVlX3BjKGlkZV9kcml2ZV90ICpkcml2ZSwgc3RydWN0IHJlcXVlc3QgKnJxKQoraW50IGlkZV9jZF9xdWV1ZV9wYyhpZGVfZHJpdmVfdCAqZHJpdmUsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmNtZCwKKwkJICAgIGludCB3cml0ZSwgdm9pZCAqYnVmZmVyLCB1bnNpZ25lZCAqYnVmZmxlbiwKKwkJICAgIHN0cnVjdCByZXF1ZXN0X3NlbnNlICpzZW5zZSwgaW50IHRpbWVvdXQsCisJCSAgICB1bnNpZ25lZCBpbnQgY21kX2ZsYWdzKQogewotCXN0cnVjdCByZXF1ZXN0X3NlbnNlIHNlbnNlOworCXN0cnVjdCBjZHJvbV9pbmZvICppbmZvID0gZHJpdmUtPmRyaXZlcl9kYXRhOworCXN0cnVjdCByZXF1ZXN0X3NlbnNlIGxvY2FsX3NlbnNlOwogCWludCByZXRyaWVzID0gMTA7Ci0JdW5zaWduZWQgaW50IGZsYWdzID0gcnEtPmNtZF9mbGFnczsKKwl1bnNpZ25lZCBpbnQgZmxhZ3MgPSAwOwogCi0JaWYgKHJxLT5zZW5zZSA9PSBOVUxMKQotCQlycS0+c2Vuc2UgPSAmc2Vuc2U7CisJaWYgKCFzZW5zZSkKKwkJc2Vuc2UgPSAmbG9jYWxfc2Vuc2U7CiAKIAkvKiBzdGFydCBvZiByZXRyeSBsb29wICovCiAJZG8geworCQlzdHJ1Y3QgcmVxdWVzdCAqcnE7CiAJCWludCBlcnJvcjsKLQkJdW5zaWduZWQgbG9uZyB0aW1lID0gamlmZmllczsKLQkJcnEtPmNtZF9mbGFncyA9IGZsYWdzOwogCi0JCWVycm9yID0gaWRlX2RvX2RyaXZlX2NtZChkcml2ZSwgcnEsIGlkZV93YWl0KTsKLQkJdGltZSA9IGppZmZpZXMgLSB0aW1lOworCQlycSA9IGJsa19nZXRfcmVxdWVzdChkcml2ZS0+cXVldWUsIHdyaXRlLCBfX0dGUF9XQUlUKTsKKworCQltZW1jcHkocnEtPmNtZCwgY21kLCBCTEtfTUFYX0NEQik7CisJCXJxLT5jbWRfdHlwZSA9IFJFUV9UWVBFX0FUQV9QQzsKKwkJcnEtPnNlbnNlID0gc2Vuc2U7CisJCXJxLT5jbWRfZmxhZ3MgfD0gY21kX2ZsYWdzOworCQlycS0+dGltZW91dCA9IHRpbWVvdXQ7CisJCWlmIChidWZmZXIpIHsKKwkJCXJxLT5kYXRhID0gYnVmZmVyOworCQkJcnEtPmRhdGFfbGVuID0gKmJ1ZmZsZW47CisJCX0KKworCQllcnJvciA9IGJsa19leGVjdXRlX3JxKGRyaXZlLT5xdWV1ZSwgaW5mby0+ZGlzaywgcnEsIDApOworCisJCWlmIChidWZmZXIpCisJCQkqYnVmZmxlbiA9IHJxLT5kYXRhX2xlbjsKKworCQlmbGFncyA9IHJxLT5jbWRfZmxhZ3M7CisJCWJsa19wdXRfcmVxdWVzdChycSk7CiAKIAkJLyoKIAkJICogRklYTUU6IHdlIHNob3VsZCBwcm9iYWJseSBhYm9ydC9yZXRyeSBvciBzb21ldGhpbmcgaW4gY2FzZSBvZgogCQkgKiBmYWlsdXJlLgogCQkgKi8KLQkJaWYgKHJxLT5jbWRfZmxhZ3MgJiBSRVFfRkFJTEVEKSB7CisJCWlmIChmbGFncyAmIFJFUV9GQUlMRUQpIHsKIAkJCS8qCiAJCQkgKiBUaGUgcmVxdWVzdCBmYWlsZWQuICBSZXRyeSBpZiBpdCB3YXMgZHVlIHRvIGEgdW5pdAogCQkJICogYXR0ZW50aW9uIHN0YXR1cyAodXN1YWxseSBtZWFucyBtZWRpYSB3YXMgY2hhbmdlZCkuCiAJCQkgKi8KLQkJCXN0cnVjdCByZXF1ZXN0X3NlbnNlICpyZXFidWYgPSBycS0+c2Vuc2U7CisJCQlzdHJ1Y3QgcmVxdWVzdF9zZW5zZSAqcmVxYnVmID0gc2Vuc2U7CiAKIAkJCWlmIChyZXFidWYtPnNlbnNlX2tleSA9PSBVTklUX0FUVEVOVElPTikKIAkJCQljZHJvbV9zYXdfbWVkaWFfY2hhbmdlKGRyaXZlKTsKQEAgLTg4NSwxMCArODk4LDEwIEBACiAJCX0KIAogCQkvKiBlbmQgb2YgcmV0cnkgbG9vcCAqLwotCX0gd2hpbGUgKChycS0+Y21kX2ZsYWdzICYgUkVRX0ZBSUxFRCkgJiYgcmV0cmllcyA+PSAwKTsKKwl9IHdoaWxlICgoZmxhZ3MgJiBSRVFfRkFJTEVEKSAmJiByZXRyaWVzID49IDApOwogCiAJLyogcmV0dXJuIGFuIGVycm9yIGlmIHRoZSBjb21tYW5kIGZhaWxlZCAqLwotCXJldHVybiAocnEtPmNtZF9mbGFncyAmIFJFUV9GQUlMRUQpID8gLUVJTyA6IDA7CisJcmV0dXJuIChmbGFncyAmIFJFUV9GQUlMRUQpID8gLUVJTyA6IDA7CiB9CiAKIC8qCkBAIC0xMjY4LDIzICsxMjgxLDIwIEBACiAKIGludCBjZHJvbV9jaGVja19zdGF0dXMoaWRlX2RyaXZlX3QgKmRyaXZlLCBzdHJ1Y3QgcmVxdWVzdF9zZW5zZSAqc2Vuc2UpCiB7Ci0Jc3RydWN0IHJlcXVlc3QgcmVxOwogCXN0cnVjdCBjZHJvbV9pbmZvICppbmZvID0gZHJpdmUtPmRyaXZlcl9kYXRhOwogCXN0cnVjdCBjZHJvbV9kZXZpY2VfaW5mbyAqY2RpID0gJmluZm8tPmRldmluZm87CisJdW5zaWduZWQgY2hhciBjbWRbQkxLX01BWF9DREJdOwogCi0JaWRlX2NkX2luaXRfcnEoZHJpdmUsICZyZXEpOwotCi0JcmVxLnNlbnNlID0gc2Vuc2U7Ci0JcmVxLmNtZFswXSA9IEdQQ01EX1RFU1RfVU5JVF9SRUFEWTsKLQlyZXEuY21kX2ZsYWdzIHw9IFJFUV9RVUlFVDsKKwltZW1zZXQoY21kLCAwLCBCTEtfTUFYX0NEQik7CisJY21kWzBdID0gR1BDTURfVEVTVF9VTklUX1JFQURZOwogCiAJLyoKIAkgKiBTYW55byAzIENEIGNoYW5nZXIgdXNlcyBieXRlIDcgb2YgVEVTVF9VTklUX1JFQURZIHRvIHN3aXRjaCBDRHMKIAkgKiBpbnN0ZWFkIG9mIHN1cHBvcnRpbmcgdGhlIExPQURfVU5MT0FEIG9wY29kZS4KIAkgKi8KLQlyZXEuY21kWzddID0gY2RpLT5zYW55b19zbG90ICUgMzsKKwljbWRbN10gPSBjZGktPnNhbnlvX3Nsb3QgJSAzOwogCi0JcmV0dXJuIGlkZV9jZF9xdWV1ZV9wYyhkcml2ZSwgJnJlcSk7CisJcmV0dXJuIGlkZV9jZF9xdWV1ZV9wYyhkcml2ZSwgY21kLCAwLCBOVUxMLCAwLCBzZW5zZSwgMCwgUkVRX1FVSUVUKTsKIH0KIAogc3RhdGljIGludCBjZHJvbV9yZWFkX2NhcGFjaXR5KGlkZV9kcml2ZV90ICpkcml2ZSwgdW5zaWduZWQgbG9uZyAqY2FwYWNpdHksCkBAIC0xMjk3LDE3ICsxMzA3LDE0IEBACiAJfSBjYXBidWY7CiAKIAlpbnQgc3RhdDsKLQlzdHJ1Y3QgcmVxdWVzdCByZXE7CisJdW5zaWduZWQgY2hhciBjbWRbQkxLX01BWF9DREJdOworCXVuc2lnbmVkIGxlbiA9IHNpemVvZihjYXBidWYpOwogCi0JaWRlX2NkX2luaXRfcnEoZHJpdmUsICZyZXEpOworCW1lbXNldChjbWQsIDAsIEJMS19NQVhfQ0RCKTsKKwljbWRbMF0gPSBHUENNRF9SRUFEX0NEVkRfQ0FQQUNJVFk7CiAKLQlyZXEuc2Vuc2UgPSBzZW5zZTsKLQlyZXEuY21kWzBdID0gR1BDTURfUkVBRF9DRFZEX0NBUEFDSVRZOwotCXJlcS5kYXRhID0gKGNoYXIgKikmY2FwYnVmOwotCXJlcS5kYXRhX2xlbiA9IHNpemVvZihjYXBidWYpOwotCXJlcS5jbWRfZmxhZ3MgfD0gUkVRX1FVSUVUOwotCi0Jc3RhdCA9IGlkZV9jZF9xdWV1ZV9wYyhkcml2ZSwgJnJlcSk7CisJc3RhdCA9IGlkZV9jZF9xdWV1ZV9wYyhkcml2ZSwgY21kLCAwLCAmY2FwYnVmLCAmbGVuLCBzZW5zZSwgMCwKKwkJCSAgICAgICBSRVFfUVVJRVQpOwogCWlmIChzdGF0ID09IDApIHsKIAkJKmNhcGFjaXR5ID0gMSArIGJlMzJfdG9fY3B1KGNhcGJ1Zi5sYmEpOwogCQkqc2VjdG9yc19wZXJfZnJhbWUgPQpAQCAtMTMyMSwyNCArMTMyOCwyMCBAQAogCQkJCWludCBmb3JtYXQsIGNoYXIgKmJ1ZiwgaW50IGJ1ZmxlbiwKIAkJCQlzdHJ1Y3QgcmVxdWVzdF9zZW5zZSAqc2Vuc2UpCiB7Ci0Jc3RydWN0IHJlcXVlc3QgcmVxOworCXVuc2lnbmVkIGNoYXIgY21kW0JMS19NQVhfQ0RCXTsKIAotCWlkZV9jZF9pbml0X3JxKGRyaXZlLCAmcmVxKTsKKwltZW1zZXQoY21kLCAwLCBCTEtfTUFYX0NEQik7CiAKLQlyZXEuc2Vuc2UgPSBzZW5zZTsKLQlyZXEuZGF0YSA9ICBidWY7Ci0JcmVxLmRhdGFfbGVuID0gYnVmbGVuOwotCXJlcS5jbWRfZmxhZ3MgfD0gUkVRX1FVSUVUOwotCXJlcS5jbWRbMF0gPSBHUENNRF9SRUFEX1RPQ19QTUFfQVRJUDsKLQlyZXEuY21kWzZdID0gdHJhY2tubzsKLQlyZXEuY21kWzddID0gKGJ1ZmxlbiA+PiA4KTsKLQlyZXEuY21kWzhdID0gKGJ1ZmxlbiAmIDB4ZmYpOwotCXJlcS5jbWRbOV0gPSAoZm9ybWF0IDw8IDYpOworCWNtZFswXSA9IEdQQ01EX1JFQURfVE9DX1BNQV9BVElQOworCWNtZFs2XSA9IHRyYWNrbm87CisJY21kWzddID0gKGJ1ZmxlbiA+PiA4KTsKKwljbWRbOF0gPSAoYnVmbGVuICYgMHhmZik7CisJY21kWzldID0gKGZvcm1hdCA8PCA2KTsKIAogCWlmIChtc2ZfZmxhZykKLQkJcmVxLmNtZFsxXSA9IDI7CisJCWNtZFsxXSA9IDI7CiAKLQlyZXR1cm4gaWRlX2NkX3F1ZXVlX3BjKGRyaXZlLCAmcmVxKTsKKwlyZXR1cm4gaWRlX2NkX3F1ZXVlX3BjKGRyaXZlLCBjbWQsIDAsIGJ1ZiwgJmJ1Zmxlbiwgc2Vuc2UsIDAsIFJFUV9RVUlFVCk7CiB9CiAKIC8qIFRyeSB0byByZWFkIHRoZSBlbnRpcmUgVE9DIGZvciB0aGUgZGlzayBpbnRvIG91ciBpbnRlcm5hbCBidWZmZXIuICovCkBAIC0yMTAzLDExICsyMTA2LDYgQEAKIAkJCWdvdG8gZmFpbGVkOwogCQl9CiAJfQotCWlmIChkcml2ZS0+c2NzaSkgewotCQlwcmludGsoS0VSTl9JTkZPICJpZGUtY2Q6IHBhc3NpbmcgZHJpdmUgJXMgdG8gaWRlLXNjc2kgIgotCQkJCSAiZW11bGF0aW9uLlxuIiwgZHJpdmUtPm5hbWUpOwotCQlnb3RvIGZhaWxlZDsKLQl9CiAJaW5mbyA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBjZHJvbV9pbmZvKSwgR0ZQX0tFUk5FTCk7CiAJaWYgKGluZm8gPT0gTlVMTCkgewogCQlwcmludGsoS0VSTl9FUlIgIiVzOiBDYW4ndCBhbGxvY2F0ZSBhIGNkcm9tIHN0cnVjdHVyZVxuIiwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL2lkZS1jZC5oIGIvZHJpdmVycy9pZGUvaWRlLWNkLmgKaW5kZXggYTU4ODAxYy4uZmUwZWEzNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvaWRlLWNkLmgKKysrIGIvZHJpdmVycy9pZGUvaWRlLWNkLmgKQEAgLTE0Myw4ICsxNDMsOCBAQAogdm9pZCBpZGVfY2RfbG9nX2Vycm9yKGNvbnN0IGNoYXIgKiwgc3RydWN0IHJlcXVlc3QgKiwgc3RydWN0IHJlcXVlc3Rfc2Vuc2UgKik7CiAKIC8qIGlkZS1jZC5jIGZ1bmN0aW9ucyB1c2VkIGJ5IGlkZS1jZF9pb2N0bC5jICovCi12b2lkIGlkZV9jZF9pbml0X3JxKGlkZV9kcml2ZV90ICosIHN0cnVjdCByZXF1ZXN0ICopOwotaW50IGlkZV9jZF9xdWV1ZV9wYyhpZGVfZHJpdmVfdCAqLCBzdHJ1Y3QgcmVxdWVzdCAqKTsKK2ludCBpZGVfY2RfcXVldWVfcGMoaWRlX2RyaXZlX3QgKiwgY29uc3QgdW5zaWduZWQgY2hhciAqLCBpbnQsIHZvaWQgKiwKKwkJICAgIHVuc2lnbmVkICosIHN0cnVjdCByZXF1ZXN0X3NlbnNlICosIGludCwgdW5zaWduZWQgaW50KTsKIGludCBpZGVfY2RfcmVhZF90b2MoaWRlX2RyaXZlX3QgKiwgc3RydWN0IHJlcXVlc3Rfc2Vuc2UgKik7CiBpbnQgaWRlX2Nkcm9tX2dldF9jYXBhYmlsaXRpZXMoaWRlX2RyaXZlX3QgKiwgdTggKik7CiB2b2lkIGlkZV9jZHJvbV91cGRhdGVfc3BlZWQoaWRlX2RyaXZlX3QgKiwgdTggKik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2lkZS9pZGUtY2RfaW9jdGwuYyBiL2RyaXZlcnMvaWRlL2lkZS1jZF9pb2N0bC5jCmluZGV4IDZkMTQ3Y2UuLjI0ZDAwMmEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWRlL2lkZS1jZF9pb2N0bC5jCisrKyBiL2RyaXZlcnMvaWRlL2lkZS1jZF9pb2N0bC5jCkBAIC0xMDQsOCArMTA0LDggQEAKIHsKIAlzdHJ1Y3QgY2Ryb21faW5mbyAqY2QgPSBkcml2ZS0+ZHJpdmVyX2RhdGE7CiAJc3RydWN0IGNkcm9tX2RldmljZV9pbmZvICpjZGkgPSAmY2QtPmRldmluZm87Ci0Jc3RydWN0IHJlcXVlc3QgcmVxOwogCWNoYXIgbG9laiA9IDB4MDI7CisJdW5zaWduZWQgY2hhciBjbWRbQkxLX01BWF9DREJdOwogCiAJaWYgKChjZC0+Y2RfZmxhZ3MgJiBJREVfQ0RfRkxBR19OT19FSkVDVCkgJiYgIWVqZWN0ZmxhZykKIAkJcmV0dXJuIC1FRFJJVkVfQ0FOVF9ET19USElTOwpAQCAtMTE0LDE3ICsxMTQsMTYgQEAKIAlpZiAoKGNkLT5jZF9mbGFncyAmIElERV9DRF9GTEFHX0RPT1JfTE9DS0VEKSAmJiBlamVjdGZsYWcpCiAJCXJldHVybiAwOwogCi0JaWRlX2NkX2luaXRfcnEoZHJpdmUsICZyZXEpOwotCiAJLyogb25seSB0ZWxsIGRyaXZlIHRvIGNsb3NlIHRyYXkgaWYgb3BlbiwgaWYgaXQgY2FuIGRvIHRoYXQgKi8KIAlpZiAoZWplY3RmbGFnICYmIChjZGktPm1hc2sgJiBDRENfQ0xPU0VfVFJBWSkpCiAJCWxvZWogPSAwOwogCi0JcmVxLnNlbnNlID0gc2Vuc2U7Ci0JcmVxLmNtZFswXSA9IEdQQ01EX1NUQVJUX1NUT1BfVU5JVDsKLQlyZXEuY21kWzRdID0gbG9laiB8IChlamVjdGZsYWcgIT0gMCk7CisJbWVtc2V0KGNtZCwgMCwgQkxLX01BWF9DREIpOwogCi0JcmV0dXJuIGlkZV9jZF9xdWV1ZV9wYyhkcml2ZSwgJnJlcSk7CisJY21kWzBdID0gR1BDTURfU1RBUlRfU1RPUF9VTklUOworCWNtZFs0XSA9IGxvZWogfCAoZWplY3RmbGFnICE9IDApOworCisJcmV0dXJuIGlkZV9jZF9xdWV1ZV9wYyhkcml2ZSwgY21kLCAwLCBOVUxMLCAwLCBzZW5zZSwgMCwgMCk7CiB9CiAKIC8qIExvY2sgdGhlIGRvb3IgaWYgTE9DS0ZMQUcgaXMgbm9uemVybzsgdW5sb2NrIGl0IG90aGVyd2lzZS4gKi8KQEAgLTEzNCw3ICsxMzMsNiBAQAogewogCXN0cnVjdCBjZHJvbV9pbmZvICpjZCA9IGRyaXZlLT5kcml2ZXJfZGF0YTsKIAlzdHJ1Y3QgcmVxdWVzdF9zZW5zZSBteV9zZW5zZTsKLQlzdHJ1Y3QgcmVxdWVzdCByZXE7CiAJaW50IHN0YXQ7CiAKIAlpZiAoc2Vuc2UgPT0gTlVMTCkKQEAgLTE0NCwxMSArMTQyLDE1IEBACiAJaWYgKGNkLT5jZF9mbGFncyAmIElERV9DRF9GTEFHX05PX0RPT1JMT0NLKSB7CiAJCXN0YXQgPSAwOwogCX0gZWxzZSB7Ci0JCWlkZV9jZF9pbml0X3JxKGRyaXZlLCAmcmVxKTsKLQkJcmVxLnNlbnNlID0gc2Vuc2U7Ci0JCXJlcS5jbWRbMF0gPSBHUENNRF9QUkVWRU5UX0FMTE9XX01FRElVTV9SRU1PVkFMOwotCQlyZXEuY21kWzRdID0gbG9ja2ZsYWcgPyAxIDogMDsKLQkJc3RhdCA9IGlkZV9jZF9xdWV1ZV9wYyhkcml2ZSwgJnJlcSk7CisJCXVuc2lnbmVkIGNoYXIgY21kW0JMS19NQVhfQ0RCXTsKKworCQltZW1zZXQoY21kLCAwLCBCTEtfTUFYX0NEQik7CisKKwkJY21kWzBdID0gR1BDTURfUFJFVkVOVF9BTExPV19NRURJVU1fUkVNT1ZBTDsKKwkJY21kWzRdID0gbG9ja2ZsYWcgPyAxIDogMDsKKworCQlzdGF0ID0gaWRlX2NkX3F1ZXVlX3BjKGRyaXZlLCBjbWQsIDAsIE5VTEwsIDAsCisJCQkJICAgICAgIHNlbnNlLCAwLCAwKTsKIAl9CiAKIAkvKiBJZiB3ZSBnb3QgYW4gaWxsZWdhbCBmaWVsZCBlcnJvciwgdGhlIGRyaXZlCkBAIC0yMDYsMzIgKzIwOCwzMCBAQAogewogCWlkZV9kcml2ZV90ICpkcml2ZSA9IGNkaS0+aGFuZGxlOwogCXN0cnVjdCBjZHJvbV9pbmZvICpjZCA9IGRyaXZlLT5kcml2ZXJfZGF0YTsKLQlzdHJ1Y3QgcmVxdWVzdCBycTsKIAlzdHJ1Y3QgcmVxdWVzdF9zZW5zZSBzZW5zZTsKIAl1OCBidWZbQVRBUElfQ0FQQUJJTElUSUVTX1BBR0VfU0laRV07CiAJaW50IHN0YXQ7Ci0KLQlpZGVfY2RfaW5pdF9ycShkcml2ZSwgJnJxKTsKLQotCXJxLnNlbnNlID0gJnNlbnNlOworCXVuc2lnbmVkIGNoYXIgY21kW0JMS19NQVhfQ0RCXTsKIAogCWlmIChzcGVlZCA9PSAwKQogCQlzcGVlZCA9IDB4ZmZmZjsgLyogc2V0IHRvIG1heCAqLwogCWVsc2UKIAkJc3BlZWQgKj0gMTc3OyAgIC8qIE54IHRvIGtieXRlcy9zICovCiAKLQlycS5jbWRbMF0gPSBHUENNRF9TRVRfU1BFRUQ7CisJbWVtc2V0KGNtZCwgMCwgQkxLX01BWF9DREIpOworCisJY21kWzBdID0gR1BDTURfU0VUX1NQRUVEOwogCS8qIFJlYWQgRHJpdmUgc3BlZWQgaW4ga2J5dGVzL3NlY29uZCBNU0IvTFNCICovCi0JcnEuY21kWzJdID0gKHNwZWVkID4+IDgpICYgMHhmZjsKLQlycS5jbWRbM10gPSBzcGVlZCAmIDB4ZmY7CisJY21kWzJdID0gKHNwZWVkID4+IDgpICYgMHhmZjsKKwljbWRbM10gPSBzcGVlZCAmIDB4ZmY7CiAJaWYgKChjZGktPm1hc2sgJiAoQ0RDX0NEX1IgfCBDRENfQ0RfUlcgfCBDRENfRFZEX1IpKSAhPQogCSAgICAoQ0RDX0NEX1IgfCBDRENfQ0RfUlcgfCBDRENfRFZEX1IpKSB7CiAJCS8qIFdyaXRlIERyaXZlIHNwZWVkIGluIGtieXRlcy9zZWNvbmQgTVNCL0xTQiAqLwotCQlycS5jbWRbNF0gPSAoc3BlZWQgPj4gOCkgJiAweGZmOwotCQlycS5jbWRbNV0gPSBzcGVlZCAmIDB4ZmY7CisJCWNtZFs0XSA9IChzcGVlZCA+PiA4KSAmIDB4ZmY7CisJCWNtZFs1XSA9IHNwZWVkICYgMHhmZjsKIAl9CiAKLQlzdGF0ID0gaWRlX2NkX3F1ZXVlX3BjKGRyaXZlLCAmcnEpOworCXN0YXQgPSBpZGVfY2RfcXVldWVfcGMoZHJpdmUsIGNtZCwgMCwgTlVMTCwgMCwgJnNlbnNlLCAwLCAwKTsKIAogCWlmICghaWRlX2Nkcm9tX2dldF9jYXBhYmlsaXRpZXMoZHJpdmUsIGJ1ZikpIHsKIAkJaWRlX2Nkcm9tX3VwZGF0ZV9zcGVlZChkcml2ZSwgYnVmKTsKQEAgLTI2OCwyMSArMjY4LDE5IEBACiB7CiAJaWRlX2RyaXZlX3QgKmRyaXZlID0gY2RpLT5oYW5kbGU7CiAJaW50IHN0YXQsIG1jbmxlbjsKLQlzdHJ1Y3QgcmVxdWVzdCBycTsKIAljaGFyIGJ1ZlsyNF07CisJdW5zaWduZWQgY2hhciBjbWRbQkxLX01BWF9DREJdOworCXVuc2lnbmVkIGxlbiA9IHNpemVvZihidWYpOwogCi0JaWRlX2NkX2luaXRfcnEoZHJpdmUsICZycSk7CisJbWVtc2V0KGNtZCwgMCwgQkxLX01BWF9DREIpOwogCi0JcnEuZGF0YSA9IGJ1ZjsKLQlycS5kYXRhX2xlbiA9IHNpemVvZihidWYpOworCWNtZFswXSA9IEdQQ01EX1JFQURfU1VCQ0hBTk5FTDsKKwljbWRbMV0gPSAyOwkJLyogTVNGIGFkZHJlc3NpbmcgKi8KKwljbWRbMl0gPSAweDQwOwkvKiByZXF1ZXN0IHN1YlEgZGF0YSAqLworCWNtZFszXSA9IDI7CQkvKiBmb3JtYXQgKi8KKwljbWRbOF0gPSBsZW47CiAKLQlycS5jbWRbMF0gPSBHUENNRF9SRUFEX1NVQkNIQU5ORUw7Ci0JcnEuY21kWzFdID0gMjsJCS8qIE1TRiBhZGRyZXNzaW5nICovCi0JcnEuY21kWzJdID0gMHg0MDsJLyogcmVxdWVzdCBzdWJRIGRhdGEgKi8KLQlycS5jbWRbM10gPSAyOwkJLyogZm9ybWF0ICovCi0JcnEuY21kWzhdID0gc2l6ZW9mKGJ1Zik7Ci0KLQlzdGF0ID0gaWRlX2NkX3F1ZXVlX3BjKGRyaXZlLCAmcnEpOworCXN0YXQgPSBpZGVfY2RfcXVldWVfcGMoZHJpdmUsIGNtZCwgMCwgYnVmLCAmbGVuLCBOVUxMLCAwLCAwKTsKIAlpZiAoc3RhdCkKIAkJcmV0dXJuIHN0YXQ7CiAKQEAgLTI5OCwxNCArMjk2LDE0IEBACiAJaWRlX2RyaXZlX3QgKmRyaXZlID0gY2RpLT5oYW5kbGU7CiAJc3RydWN0IGNkcm9tX2luZm8gKmNkID0gZHJpdmUtPmRyaXZlcl9kYXRhOwogCXN0cnVjdCByZXF1ZXN0X3NlbnNlIHNlbnNlOwotCXN0cnVjdCByZXF1ZXN0IHJlcTsKKwlzdHJ1Y3QgcmVxdWVzdCAqcnE7CiAJaW50IHJldDsKIAotCWlkZV9jZF9pbml0X3JxKGRyaXZlLCAmcmVxKTsKLQlyZXEuY21kX3R5cGUgPSBSRVFfVFlQRV9TUEVDSUFMOwotCXJlcS5jbWRfZmxhZ3MgPSBSRVFfUVVJRVQ7Ci0JcmV0ID0gaWRlX2RvX2RyaXZlX2NtZChkcml2ZSwgJnJlcSwgaWRlX3dhaXQpOwotCisJcnEgPSBibGtfZ2V0X3JlcXVlc3QoZHJpdmUtPnF1ZXVlLCBSRUFELCBfX0dGUF9XQUlUKTsKKwlycS0+Y21kX3R5cGUgPSBSRVFfVFlQRV9TUEVDSUFMOworCXJxLT5jbWRfZmxhZ3MgPSBSRVFfUVVJRVQ7CisJcmV0ID0gYmxrX2V4ZWN1dGVfcnEoZHJpdmUtPnF1ZXVlLCBjZC0+ZGlzaywgcnEsIDApOworCWJsa19wdXRfcmVxdWVzdChycSk7CiAJLyoKIAkgKiBBIHJlc2V0IHdpbGwgdW5sb2NrIHRoZSBkb29yLiBJZiBpdCB3YXMgcHJldmlvdXNseSBsb2NrZWQsCiAJICogbG9jayBpdCBhZ2Fpbi4KQEAgLTM1MSw4ICszNDksOCBAQAogCXN0cnVjdCBhdGFwaV90b2NfZW50cnkgKmZpcnN0X3RvYywgKmxhc3RfdG9jOwogCXVuc2lnbmVkIGxvbmcgbGJhX3N0YXJ0LCBsYmFfZW5kOwogCWludCBzdGF0OwotCXN0cnVjdCByZXF1ZXN0IHJxOwogCXN0cnVjdCByZXF1ZXN0X3NlbnNlIHNlbnNlOworCXVuc2lnbmVkIGNoYXIgY21kW0JMS19NQVhfQ0RCXTsKIAogCXN0YXQgPSBpZGVfY2RfZ2V0X3RvY19lbnRyeShkcml2ZSwgdGktPmNkdGlfdHJrMCwgJmZpcnN0X3RvYyk7CiAJaWYgKHN0YXQpCkBAIC0zNzAsMTQgKzM2OCwxMyBAQAogCWlmIChsYmFfZW5kIDw9IGxiYV9zdGFydCkKIAkJcmV0dXJuIC1FSU5WQUw7CiAKLQlpZGVfY2RfaW5pdF9ycShkcml2ZSwgJnJxKTsKKwltZW1zZXQoY21kLCAwLCBCTEtfTUFYX0NEQik7CiAKLQlycS5zZW5zZSA9ICZzZW5zZTsKLQlycS5jbWRbMF0gPSBHUENNRF9QTEFZX0FVRElPX01TRjsKLQlsYmFfdG9fbXNmKGxiYV9zdGFydCwgICAmcnEuY21kWzNdLCAmcnEuY21kWzRdLCAmcnEuY21kWzVdKTsKLQlsYmFfdG9fbXNmKGxiYV9lbmQgLSAxLCAmcnEuY21kWzZdLCAmcnEuY21kWzddLCAmcnEuY21kWzhdKTsKKwljbWRbMF0gPSBHUENNRF9QTEFZX0FVRElPX01TRjsKKwlsYmFfdG9fbXNmKGxiYV9zdGFydCwgICAmY21kWzNdLCAmY21kWzRdLCAmY21kWzVdKTsKKwlsYmFfdG9fbXNmKGxiYV9lbmQgLSAxLCAmY21kWzZdLCAmY21kWzddLCAmY21kWzhdKTsKIAotCXJldHVybiBpZGVfY2RfcXVldWVfcGMoZHJpdmUsICZycSk7CisJcmV0dXJuIGlkZV9jZF9xdWV1ZV9wYyhkcml2ZSwgY21kLCAwLCBOVUxMLCAwLCAmc2Vuc2UsIDAsIDApOwogfQogCiBzdGF0aWMgaW50IGlkZV9jZF9yZWFkX3RvY2hkcihpZGVfZHJpdmVfdCAqZHJpdmUsIHZvaWQgKmFyZykKQEAgLTQ0Nyw4ICs0NDQsOSBAQAogaW50IGlkZV9jZHJvbV9wYWNrZXQoc3RydWN0IGNkcm9tX2RldmljZV9pbmZvICpjZGksCiAJCQkgICAgc3RydWN0IHBhY2tldF9jb21tYW5kICpjZ2MpCiB7Ci0Jc3RydWN0IHJlcXVlc3QgcmVxOwogCWlkZV9kcml2ZV90ICpkcml2ZSA9IGNkaS0+aGFuZGxlOworCXVuc2lnbmVkIGludCBmbGFncyA9IDA7CisJdW5zaWduZWQgbGVuID0gY2djLT5idWZsZW47CiAKIAlpZiAoY2djLT50aW1lb3V0IDw9IDApCiAJCWNnYy0+dGltZW91dCA9IEFUQVBJX1dBSVRfUEM7CkBAIC00NTYsMjQgKzQ1NCwyMSBAQAogCS8qIGhlcmUgd2UgcXVldWUgdGhlIGNvbW1hbmRzIGZyb20gdGhlIHVuaWZvcm0gQ0QtUk9NCiAJICAgbGF5ZXIuIHRoZSBwYWNrZXQgbXVzdCBiZSBjb21wbGV0ZSwgYXMgd2UgZG8gbm90CiAJICAgdG91Y2ggaXQgYXQgYWxsLiAqLwotCWlkZV9jZF9pbml0X3JxKGRyaXZlLCAmcmVxKTsKIAogCWlmIChjZ2MtPmRhdGFfZGlyZWN0aW9uID09IENHQ19EQVRBX1dSSVRFKQotCQlyZXEuY21kX2ZsYWdzIHw9IFJFUV9SVzsKKwkJZmxhZ3MgfD0gUkVRX1JXOwogCi0JbWVtY3B5KHJlcS5jbWQsIGNnYy0+Y21kLCBDRFJPTV9QQUNLRVRfU0laRSk7CiAJaWYgKGNnYy0+c2Vuc2UpCiAJCW1lbXNldChjZ2MtPnNlbnNlLCAwLCBzaXplb2Yoc3RydWN0IHJlcXVlc3Rfc2Vuc2UpKTsKLQlyZXEuZGF0YSA9IGNnYy0+YnVmZmVyOwotCXJlcS5kYXRhX2xlbiA9IGNnYy0+YnVmbGVuOwotCXJlcS50aW1lb3V0ID0gY2djLT50aW1lb3V0OwogCiAJaWYgKGNnYy0+cXVpZXQpCi0JCXJlcS5jbWRfZmxhZ3MgfD0gUkVRX1FVSUVUOworCQlmbGFncyB8PSBSRVFfUVVJRVQ7CiAKLQlyZXEuc2Vuc2UgPSBjZ2MtPnNlbnNlOwotCWNnYy0+c3RhdCA9IGlkZV9jZF9xdWV1ZV9wYyhkcml2ZSwgJnJlcSk7CisJY2djLT5zdGF0ID0gaWRlX2NkX3F1ZXVlX3BjKGRyaXZlLCBjZ2MtPmNtZCwKKwkJCQkgICAgY2djLT5kYXRhX2RpcmVjdGlvbiA9PSBDR0NfREFUQV9XUklURSwKKwkJCQkgICAgY2djLT5idWZmZXIsICZsZW4sCisJCQkJICAgIGNnYy0+c2Vuc2UsIGNnYy0+dGltZW91dCwgZmxhZ3MpOwogCWlmICghY2djLT5zdGF0KQotCQljZ2MtPmJ1ZmxlbiAtPSByZXEuZGF0YV9sZW47CisJCWNnYy0+YnVmbGVuIC09IGxlbjsKIAlyZXR1cm4gY2djLT5zdGF0OwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZGUvaWRlLWRpc2suYyBiL2RyaXZlcnMvaWRlL2lkZS1kaXNrLmMKaW5kZXggOGUwOGQwOC4uNWY0OWE0YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvaWRlLWRpc2suYworKysgYi9kcml2ZXJzL2lkZS9pZGUtZGlzay5jCkBAIC0xOTgsOCArMTk4LDcgQEAKIAl9CiAKIAltZW1zZXQoJnRhc2ssIDAsIHNpemVvZih0YXNrKSk7Ci0JdGFzay50Zl9mbGFncyA9IElERV9URkxBR19OT19TRUxFQ1RfTUFTSzsgIC8qIEZJWE1FPyAqLwotCXRhc2sudGZfZmxhZ3MgfD0gKElERV9URkxBR19URiB8IElERV9URkxBR19ERVZJQ0UpOworCXRhc2sudGZfZmxhZ3MgPSBJREVfVEZMQUdfVEYgfCBJREVfVEZMQUdfREVWSUNFOwogCiAJaWYgKGRyaXZlLT5zZWxlY3QuYi5sYmEpIHsKIAkJaWYgKGxiYTQ4KSB7CkBAIC02MTcsNyArNjE2LDggQEAKICAqLwogc3RhdGljIGludCBzZXRfbXVsdGNvdW50KGlkZV9kcml2ZV90ICpkcml2ZSwgaW50IGFyZykKIHsKLQlzdHJ1Y3QgcmVxdWVzdCBycTsKKwlzdHJ1Y3QgcmVxdWVzdCAqcnE7CisJaW50IGVycm9yOwogCiAJaWYgKGFyZyA8IDAgfHwgYXJnID4gZHJpdmUtPmlkLT5tYXhfbXVsdHNlY3QpCiAJCXJldHVybiAtRUlOVkFMOwpAQCAtNjI1LDEyICs2MjUsMTMgQEAKIAlpZiAoZHJpdmUtPnNwZWNpYWwuYi5zZXRfbXVsdG1vZGUpCiAJCXJldHVybiAtRUJVU1k7CiAKLQlpZGVfaW5pdF9kcml2ZV9jbWQoJnJxKTsKLQlycS5jbWRfdHlwZSA9IFJFUV9UWVBFX0FUQV9UQVNLRklMRTsKKwlycSA9IGJsa19nZXRfcmVxdWVzdChkcml2ZS0+cXVldWUsIFJFQUQsIF9fR0ZQX1dBSVQpOworCXJxLT5jbWRfdHlwZSA9IFJFUV9UWVBFX0FUQV9UQVNLRklMRTsKIAogCWRyaXZlLT5tdWx0X3JlcSA9IGFyZzsKIAlkcml2ZS0+c3BlY2lhbC5iLnNldF9tdWx0bW9kZSA9IDE7Ci0JKHZvaWQpaWRlX2RvX2RyaXZlX2NtZChkcml2ZSwgJnJxLCBpZGVfd2FpdCk7CisJZXJyb3IgPSBibGtfZXhlY3V0ZV9ycShkcml2ZS0+cXVldWUsIE5VTEwsIHJxLCAwKTsKKwlibGtfcHV0X3JlcXVlc3QocnEpOwogCiAJcmV0dXJuIChkcml2ZS0+bXVsdF9jb3VudCA9PSBhcmcpID8gMCA6IC1FSU87CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2lkZS9pZGUtZG1hLmMgYi9kcml2ZXJzL2lkZS9pZGUtZG1hLmMKaW5kZXggNjUzYjFhZC4uN2VlNDRmOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvaWRlLWRtYS5jCisrKyBiL2RyaXZlcnMvaWRlL2lkZS1kbWEuYwpAQCAtNDYzLDcgKzQ2Myw3IEBACiAJfQogCiAJLyogUFJEIHRhYmxlICovCi0JaWYgKGh3aWYtPm1taW8pCisJaWYgKGh3aWYtPmhvc3RfZmxhZ3MgJiBJREVfSEZMQUdfTU1JTykKIAkJd3JpdGVsKGh3aWYtPmRtYXRhYmxlX2RtYSwKIAkJICAgICAgICh2b2lkIF9faW9tZW0gKikoaHdpZi0+ZG1hX2Jhc2UgKyBBVEFfRE1BX1RBQkxFX09GUykpOwogCWVsc2UKQEAgLTY5Miw3ICs2OTIsNyBAQAogCWlkZV9od2lmX3QgKmh3aWYgPSBkcml2ZS0+aHdpZjsKIAl1OCBzcGVlZDsKIAotCWlmIChub2F1dG9kbWEgfHwgZHJpdmUtPm5vZG1hIHx8IChkcml2ZS0+aWQtPmNhcGFiaWxpdHkgJiAxKSA9PSAwKQorCWlmIChkcml2ZS0+bm9kbWEgfHwgKGRyaXZlLT5pZC0+Y2FwYWJpbGl0eSAmIDEpID09IDApCiAJCXJldHVybiAwOwogCiAJLyogY29uc3VsdCB0aGUgbGlzdCBvZiBrbm93biAiYmFkIiBkcml2ZXMgKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL2lkZS1mbG9wcHkuYyBiL2RyaXZlcnMvaWRlL2lkZS1mbG9wcHkuYwppbmRleCBmMDVmYmMyLi5iMzY4OTQzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2lkZS9pZGUtZmxvcHB5LmMKKysrIGIvZHJpdmVycy9pZGUvaWRlLWZsb3BweS5jCkBAIC0yODYsMTEgKzI4NiwxMiBAQAogewogCXN0cnVjdCBpZGVfZmxvcHB5X29iaiAqZmxvcHB5ID0gZHJpdmUtPmRyaXZlcl9kYXRhOwogCi0JaWRlX2luaXRfZHJpdmVfY21kKHJxKTsKKwlibGtfcnFfaW5pdChOVUxMLCBycSk7CiAJcnEtPmJ1ZmZlciA9IChjaGFyICopIHBjOwogCXJxLT5jbWRfdHlwZSA9IFJFUV9UWVBFX1NQRUNJQUw7CisJcnEtPmNtZF9mbGFncyB8PSBSRVFfUFJFRU1QVDsKIAlycS0+cnFfZGlzayA9IGZsb3BweS0+ZGlzazsKLQkodm9pZCkgaWRlX2RvX2RyaXZlX2NtZChkcml2ZSwgcnEsIGlkZV9wcmVlbXB0KTsKKwlpZGVfZG9fZHJpdmVfY21kKGRyaXZlLCBycSk7CiB9CiAKIHN0YXRpYyBzdHJ1Y3QgaWRlX2F0YXBpX3BjICppZGVmbG9wcHlfbmV4dF9wY19zdG9yYWdlKGlkZV9kcml2ZV90ICpkcml2ZSkKQEAgLTMxMSw1MCArMzEyLDQxIEBACiAJcmV0dXJuICgmZmxvcHB5LT5ycV9zdGFja1tmbG9wcHktPnJxX3N0YWNrX2luZGV4KytdKTsKIH0KIAotc3RhdGljIHZvaWQgaWRlZmxvcHB5X3JlcXVlc3Rfc2Vuc2VfY2FsbGJhY2soaWRlX2RyaXZlX3QgKmRyaXZlKQorc3RhdGljIHZvaWQgaWRlX2Zsb3BweV9jYWxsYmFjayhpZGVfZHJpdmVfdCAqZHJpdmUpCiB7CiAJaWRlZmxvcHB5X2Zsb3BweV90ICpmbG9wcHkgPSBkcml2ZS0+ZHJpdmVyX2RhdGE7Ci0JdTggKmJ1ZiA9IGZsb3BweS0+cGMtPmJ1ZjsKKwlzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYyA9IGZsb3BweS0+cGM7CisJaW50IHVwdG9kYXRlID0gcGMtPmVycm9yID8gMCA6IDE7CiAKIAlkZWJ1Z19sb2coIlJlYWNoZWQgJXNcbiIsIF9fZnVuY19fKTsKIAotCWlmICghZmxvcHB5LT5wYy0+ZXJyb3IpIHsKLQkJZmxvcHB5LT5zZW5zZV9rZXkgPSBidWZbMl0gJiAweDBGOwotCQlmbG9wcHktPmFzYyA9IGJ1ZlsxMl07Ci0JCWZsb3BweS0+YXNjcSA9IGJ1ZlsxM107Ci0JCWZsb3BweS0+cHJvZ3Jlc3NfaW5kaWNhdGlvbiA9IGJ1ZlsxNV0gJiAweDgwID8KLQkJCSh1MTYpZ2V0X3VuYWxpZ25lZCgodTE2ICopJmJ1ZlsxNl0pIDogMHgxMDAwMDsKKwlpZiAoZmxvcHB5LT5mYWlsZWRfcGMgPT0gcGMpCisJCWZsb3BweS0+ZmFpbGVkX3BjID0gTlVMTDsKIAotCQlpZiAoZmxvcHB5LT5mYWlsZWRfcGMpCi0JCQlkZWJ1Z19sb2coInBjID0gJXgsIHNlbnNlIGtleSA9ICV4LCBhc2MgPSAleCwiCi0JCQkJCSIgYXNjcSA9ICV4XG4iLAotCQkJCQlmbG9wcHktPmZhaWxlZF9wYy0+Y1swXSwKLQkJCQkJZmxvcHB5LT5zZW5zZV9rZXksCi0JCQkJCWZsb3BweS0+YXNjLAotCQkJCQlmbG9wcHktPmFzY3EpOwotCQllbHNlCisJaWYgKHBjLT5jWzBdID09IEdQQ01EX1JFQURfMTAgfHwgcGMtPmNbMF0gPT0gR1BDTURfV1JJVEVfMTAgfHwKKwkgICAgKHBjLT5ycSAmJiBibGtfcGNfcmVxdWVzdChwYy0+cnEpKSkKKwkJdXB0b2RhdGUgPSAxOyAvKiBGSVhNRSAqLworCWVsc2UgaWYgKHBjLT5jWzBdID09IEdQQ01EX1JFUVVFU1RfU0VOU0UpIHsKKwkJdTggKmJ1ZiA9IGZsb3BweS0+cGMtPmJ1ZjsKKworCQlpZiAoIXBjLT5lcnJvcikgeworCQkJZmxvcHB5LT5zZW5zZV9rZXkgPSBidWZbMl0gJiAweDBGOworCQkJZmxvcHB5LT5hc2MgPSBidWZbMTJdOworCQkJZmxvcHB5LT5hc2NxID0gYnVmWzEzXTsKKwkJCWZsb3BweS0+cHJvZ3Jlc3NfaW5kaWNhdGlvbiA9IGJ1ZlsxNV0gJiAweDgwID8KKwkJCQkodTE2KWdldF91bmFsaWduZWQoKHUxNiAqKSZidWZbMTZdKSA6IDB4MTAwMDA7CisKKwkJCWlmIChmbG9wcHktPmZhaWxlZF9wYykKKwkJCQlkZWJ1Z19sb2coInBjID0gJXgsICIsIGZsb3BweS0+ZmFpbGVkX3BjLT5jWzBdKTsKKwogCQkJZGVidWdfbG9nKCJzZW5zZSBrZXkgPSAleCwgYXNjID0gJXgsIGFzY3EgPSAleFxuIiwKLQkJCQkJZmxvcHB5LT5zZW5zZV9rZXksCi0JCQkJCWZsb3BweS0+YXNjLAotCQkJCQlmbG9wcHktPmFzY3EpOwotCi0KLQkJaWRlZmxvcHB5X2VuZF9yZXF1ZXN0KGRyaXZlLCAxLCAwKTsKLQl9IGVsc2UgewotCQlwcmludGsoS0VSTl9FUlIgIkVycm9yIGluIFJFUVVFU1QgU0VOU0UgaXRzZWxmIC0gQWJvcnRpbmciCi0JCQkJIiByZXF1ZXN0IVxuIik7Ci0JCWlkZWZsb3BweV9lbmRfcmVxdWVzdChkcml2ZSwgMCwgMCk7CisJCQkJICBmbG9wcHktPnNlbnNlX2tleSwgZmxvcHB5LT5hc2MsIGZsb3BweS0+YXNjcSk7CisJCX0gZWxzZQorCQkJcHJpbnRrKEtFUk5fRVJSICJFcnJvciBpbiBSRVFVRVNUIFNFTlNFIGl0c2VsZiAtICIKKwkJCQkJIkFib3J0aW5nIHJlcXVlc3QhXG4iKTsKIAl9Ci19CiAKLS8qIEdlbmVyYWwgcGFja2V0IGNvbW1hbmQgY2FsbGJhY2sgZnVuY3Rpb24uICovCi1zdGF0aWMgdm9pZCBpZGVmbG9wcHlfcGNfY2FsbGJhY2soaWRlX2RyaXZlX3QgKmRyaXZlKQotewotCWlkZWZsb3BweV9mbG9wcHlfdCAqZmxvcHB5ID0gZHJpdmUtPmRyaXZlcl9kYXRhOwotCi0JZGVidWdfbG9nKCJSZWFjaGVkICVzXG4iLCBfX2Z1bmNfXyk7Ci0KLQlpZGVmbG9wcHlfZW5kX3JlcXVlc3QoZHJpdmUsIGZsb3BweS0+cGMtPmVycm9yID8gMCA6IDEsIDApOworCWlkZWZsb3BweV9lbmRfcmVxdWVzdChkcml2ZSwgdXB0b2RhdGUsIDApOwogfQogCiBzdGF0aWMgdm9pZCBpZGVmbG9wcHlfaW5pdF9wYyhzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYykKQEAgLTM2NSw3ICszNTcsNyBAQAogCXBjLT5yZXFfeGZlciA9IDA7CiAJcGMtPmJ1ZiA9IHBjLT5wY19idWY7CiAJcGMtPmJ1Zl9zaXplID0gSURFRkxPUFBZX1BDX0JVRkZFUl9TSVpFOwotCXBjLT5pZGVmbG9wcHlfY2FsbGJhY2sgPSAmaWRlZmxvcHB5X3BjX2NhbGxiYWNrOworCXBjLT5jYWxsYmFjayA9IGlkZV9mbG9wcHlfY2FsbGJhY2s7CiB9CiAKIHN0YXRpYyB2b2lkIGlkZWZsb3BweV9jcmVhdGVfcmVxdWVzdF9zZW5zZV9jbWQoc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMpCkBAIC0zNzQsNyArMzY2LDYgQEAKIAlwYy0+Y1swXSA9IEdQQ01EX1JFUVVFU1RfU0VOU0U7CiAJcGMtPmNbNF0gPSAyNTU7CiAJcGMtPnJlcV94ZmVyID0gMTg7Ci0JcGMtPmlkZWZsb3BweV9jYWxsYmFjayA9ICZpZGVmbG9wcHlfcmVxdWVzdF9zZW5zZV9jYWxsYmFjazsKIH0KIAogLyoKQEAgLTM5NywxNzQgKzM4OCwxOSBAQAogc3RhdGljIGlkZV9zdGFydHN0b3BfdCBpZGVmbG9wcHlfcGNfaW50cihpZGVfZHJpdmVfdCAqZHJpdmUpCiB7CiAJaWRlZmxvcHB5X2Zsb3BweV90ICpmbG9wcHkgPSBkcml2ZS0+ZHJpdmVyX2RhdGE7Ci0JaWRlX2h3aWZfdCAqaHdpZiA9IGRyaXZlLT5od2lmOwotCXN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjID0gZmxvcHB5LT5wYzsKLQlzdHJ1Y3QgcmVxdWVzdCAqcnEgPSBwYy0+cnE7Ci0JeGZlcl9mdW5jX3QgKnhmZXJmdW5jOwotCXVuc2lnbmVkIGludCB0ZW1wOwotCWludCBkbWFfZXJyb3IgPSAwOwotCXUxNiBiY291bnQ7Ci0JdTggc3RhdCwgaXJlYXNvbjsKIAotCWRlYnVnX2xvZygiUmVhY2hlZCAlcyBpbnRlcnJ1cHQgaGFuZGxlclxuIiwgX19mdW5jX18pOwotCi0JaWYgKHBjLT5mbGFncyAmIFBDX0ZMQUdfRE1BX0lOX1BST0dSRVNTKSB7Ci0JCWRtYV9lcnJvciA9IGh3aWYtPmRtYV9vcHMtPmRtYV9lbmQoZHJpdmUpOwotCQlpZiAoZG1hX2Vycm9yKSB7Ci0JCQlwcmludGsoS0VSTl9FUlIgIiVzOiBETUEgJXMgZXJyb3JcbiIsIGRyaXZlLT5uYW1lLAotCQkJCQlycV9kYXRhX2RpcihycSkgPyAid3JpdGUiIDogInJlYWQiKTsKLQkJCXBjLT5mbGFncyB8PSBQQ19GTEFHX0RNQV9FUlJPUjsKLQkJfSBlbHNlIHsKLQkJCXBjLT54ZmVycmVkID0gcGMtPnJlcV94ZmVyOwotCQkJaWRlZmxvcHB5X3VwZGF0ZV9idWZmZXJzKGRyaXZlLCBwYyk7Ci0JCX0KLQkJZGVidWdfbG9nKCJETUEgZmluaXNoZWRcbiIpOwotCX0KLQotCS8qIENsZWFyIHRoZSBpbnRlcnJ1cHQgKi8KLQlzdGF0ID0gaWRlX3JlYWRfc3RhdHVzKGRyaXZlKTsKLQotCS8qIE5vIG1vcmUgaW50ZXJydXB0cyAqLwotCWlmICgoc3RhdCAmIERSUV9TVEFUKSA9PSAwKSB7Ci0JCWRlYnVnX2xvZygiUGFja2V0IGNvbW1hbmQgY29tcGxldGVkLCAlZCBieXRlcyB0cmFuc2ZlcnJlZFxuIiwKLQkJCQlwYy0+eGZlcnJlZCk7Ci0JCXBjLT5mbGFncyAmPSB+UENfRkxBR19ETUFfSU5fUFJPR1JFU1M7Ci0KLQkJbG9jYWxfaXJxX2VuYWJsZV9pbl9oYXJkaXJxKCk7Ci0KLQkJaWYgKChzdGF0ICYgRVJSX1NUQVQpIHx8IChwYy0+ZmxhZ3MgJiBQQ19GTEFHX0RNQV9FUlJPUikpIHsKLQkJCS8qIEVycm9yIGRldGVjdGVkICovCi0JCQlkZWJ1Z19sb2coIiVzOiBJL08gZXJyb3JcbiIsIGRyaXZlLT5uYW1lKTsKLQkJCXJxLT5lcnJvcnMrKzsKLQkJCWlmIChwYy0+Y1swXSA9PSBHUENNRF9SRVFVRVNUX1NFTlNFKSB7Ci0JCQkJcHJpbnRrKEtFUk5fRVJSICJpZGUtZmxvcHB5OiBJL08gZXJyb3IgaW4gIgotCQkJCQkicmVxdWVzdCBzZW5zZSBjb21tYW5kXG4iKTsKLQkJCQlyZXR1cm4gaWRlX2RvX3Jlc2V0KGRyaXZlKTsKLQkJCX0KLQkJCS8qIFJldHJ5IG9wZXJhdGlvbiAqLwotCQkJaWRlZmxvcHB5X3JldHJ5X3BjKGRyaXZlKTsKLQkJCS8qIHF1ZXVlZCwgYnV0IG5vdCBzdGFydGVkICovCi0JCQlyZXR1cm4gaWRlX3N0b3BwZWQ7Ci0JCX0KLQkJcGMtPmVycm9yID0gMDsKLQkJaWYgKGZsb3BweS0+ZmFpbGVkX3BjID09IHBjKQotCQkJZmxvcHB5LT5mYWlsZWRfcGMgPSBOVUxMOwotCQkvKiBDb21tYW5kIGZpbmlzaGVkIC0gQ2FsbCB0aGUgY2FsbGJhY2sgZnVuY3Rpb24gKi8KLQkJcGMtPmlkZWZsb3BweV9jYWxsYmFjayhkcml2ZSk7Ci0JCXJldHVybiBpZGVfc3RvcHBlZDsKLQl9Ci0KLQlpZiAocGMtPmZsYWdzICYgUENfRkxBR19ETUFfSU5fUFJPR1JFU1MpIHsKLQkJcGMtPmZsYWdzICY9IH5QQ19GTEFHX0RNQV9JTl9QUk9HUkVTUzsKLQkJcHJpbnRrKEtFUk5fRVJSICJpZGUtZmxvcHB5OiBUaGUgZmxvcHB5IHdhbnRzIHRvIGlzc3VlICIKLQkJCSJtb3JlIGludGVycnVwdHMgaW4gRE1BIG1vZGVcbiIpOwotCQlpZGVfZG1hX29mZihkcml2ZSk7Ci0JCXJldHVybiBpZGVfZG9fcmVzZXQoZHJpdmUpOwotCX0KLQotCS8qIEdldCB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRvIHRyYW5zZmVyICovCi0JYmNvdW50ID0gKGh3aWYtPklOQihod2lmLT5pb19wb3J0cy5sYmFoX2FkZHIpIDw8IDgpIHwKLQkJICBod2lmLT5JTkIoaHdpZi0+aW9fcG9ydHMubGJhbV9hZGRyKTsKLQkvKiBvbiB0aGlzIGludGVycnVwdCAqLwotCWlyZWFzb24gPSBod2lmLT5JTkIoaHdpZi0+aW9fcG9ydHMubnNlY3RfYWRkcik7Ci0KLQlpZiAoaXJlYXNvbiAmIENEKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiaWRlLWZsb3BweTogQ29EICE9IDAgaW4gJXNcbiIsIF9fZnVuY19fKTsKLQkJcmV0dXJuIGlkZV9kb19yZXNldChkcml2ZSk7Ci0JfQotCWlmICgoKGlyZWFzb24gJiBJTykgPT0gSU8pID09ICEhKHBjLT5mbGFncyAmIFBDX0ZMQUdfV1JJVElORykpIHsKLQkJLyogSG9wZWZ1bGx5LCB3ZSB3aWxsIG5ldmVyIGdldCBoZXJlICovCi0JCXByaW50ayhLRVJOX0VSUiAiaWRlLWZsb3BweTogV2Ugd2FudGVkIHRvICVzLCAiLAotCQkJCShpcmVhc29uICYgSU8pID8gIldyaXRlIiA6ICJSZWFkIik7Ci0JCXByaW50ayhLRVJOX0VSUiAiYnV0IHRoZSBmbG9wcHkgd2FudHMgdXMgdG8gJXMgIVxuIiwKLQkJCQkoaXJlYXNvbiAmIElPKSA/ICJSZWFkIiA6ICJXcml0ZSIpOwotCQlyZXR1cm4gaWRlX2RvX3Jlc2V0KGRyaXZlKTsKLQl9Ci0JaWYgKCEocGMtPmZsYWdzICYgUENfRkxBR19XUklUSU5HKSkgewotCQkvKiBSZWFkaW5nIC0gQ2hlY2sgdGhhdCB3ZSBoYXZlIGVub3VnaCBzcGFjZSAqLwotCQl0ZW1wID0gcGMtPnhmZXJyZWQgKyBiY291bnQ7Ci0JCWlmICh0ZW1wID4gcGMtPnJlcV94ZmVyKSB7Ci0JCQlpZiAodGVtcCA+IHBjLT5idWZfc2l6ZSkgewotCQkJCXByaW50ayhLRVJOX0VSUiAiaWRlLWZsb3BweTogVGhlIGZsb3BweSB3YW50cyAiCi0JCQkJCSJ0byBzZW5kIHVzIG1vcmUgZGF0YSB0aGFuIGV4cGVjdGVkICIKLQkJCQkJIi0gZGlzY2FyZGluZyBkYXRhXG4iKTsKLQkJCQlpZGVfcGFkX3RyYW5zZmVyKGRyaXZlLCAwLCBiY291bnQpOwotCi0JCQkJaWRlX3NldF9oYW5kbGVyKGRyaXZlLAotCQkJCQkJJmlkZWZsb3BweV9wY19pbnRyLAotCQkJCQkJSURFRkxPUFBZX1dBSVRfQ01ELAotCQkJCQkJTlVMTCk7Ci0JCQkJcmV0dXJuIGlkZV9zdGFydGVkOwotCQkJfQotCQkJZGVidWdfbG9nKCJUaGUgZmxvcHB5IHdhbnRzIHRvIHNlbmQgdXMgbW9yZSBkYXRhIHRoYW4iCi0JCQkJCSIgZXhwZWN0ZWQgLSBhbGxvd2luZyB0cmFuc2ZlclxuIik7Ci0JCX0KLQl9Ci0JaWYgKHBjLT5mbGFncyAmIFBDX0ZMQUdfV1JJVElORykKLQkJeGZlcmZ1bmMgPSBod2lmLT5vdXRwdXRfZGF0YTsKLQllbHNlCi0JCXhmZXJmdW5jID0gaHdpZi0+aW5wdXRfZGF0YTsKLQotCWlmIChwYy0+YnVmKQotCQl4ZmVyZnVuYyhkcml2ZSwgTlVMTCwgcGMtPmN1cl9wb3MsIGJjb3VudCk7Ci0JZWxzZQotCQlpZGVfZmxvcHB5X2lvX2J1ZmZlcnMoZHJpdmUsIHBjLCBiY291bnQsCi0JCQkJICAgICAgISEocGMtPmZsYWdzICYgUENfRkxBR19XUklUSU5HKSk7Ci0KLQkvKiBVcGRhdGUgdGhlIGN1cnJlbnQgcG9zaXRpb24gKi8KLQlwYy0+eGZlcnJlZCArPSBiY291bnQ7Ci0JcGMtPmN1cl9wb3MgKz0gYmNvdW50OwotCi0JLyogQW5kIHNldCB0aGUgaW50ZXJydXB0IGhhbmRsZXIgYWdhaW4gKi8KLQlpZGVfc2V0X2hhbmRsZXIoZHJpdmUsICZpZGVmbG9wcHlfcGNfaW50ciwgSURFRkxPUFBZX1dBSVRfQ01ELCBOVUxMKTsKLQlyZXR1cm4gaWRlX3N0YXJ0ZWQ7CisJcmV0dXJuIGlkZV9wY19pbnRyKGRyaXZlLCBmbG9wcHktPnBjLCBpZGVmbG9wcHlfcGNfaW50ciwKKwkJCSAgIElERUZMT1BQWV9XQUlUX0NNRCwgTlVMTCwgaWRlZmxvcHB5X3VwZGF0ZV9idWZmZXJzLAorCQkJICAgaWRlZmxvcHB5X3JldHJ5X3BjLCBOVUxMLCBpZGVfZmxvcHB5X2lvX2J1ZmZlcnMpOwogfQogCiAvKgotICogVGhpcyBpcyB0aGUgb3JpZ2luYWwgcm91dGluZSB0aGF0IGRpZCB0aGUgcGFja2V0IHRyYW5zZmVyLgotICogSXQgZmFpbHMgYXQgaGlnaCBzcGVlZHMgb24gdGhlIElvbWVnYSBaSVAgZHJpdmUsIHNvIHRoZXJlJ3MgYSBzbG93ZXIgdmVyc2lvbgotICogZm9yIHRoYXQgZHJpdmUgYmVsb3cuIFRoZSBhbGdvcml0aG0gaXMgY2hvc2VuIGJhc2VkIG9uIGRyaXZlIHR5cGUKLSAqLwotc3RhdGljIGlkZV9zdGFydHN0b3BfdCBpZGVmbG9wcHlfdHJhbnNmZXJfcGMoaWRlX2RyaXZlX3QgKmRyaXZlKQotewotCWlkZV9od2lmX3QgKmh3aWYgPSBkcml2ZS0+aHdpZjsKLQlpZGVfc3RhcnRzdG9wX3Qgc3RhcnRzdG9wOwotCWlkZWZsb3BweV9mbG9wcHlfdCAqZmxvcHB5ID0gZHJpdmUtPmRyaXZlcl9kYXRhOwotCXU4IGlyZWFzb247Ci0KLQlpZiAoaWRlX3dhaXRfc3RhdCgmc3RhcnRzdG9wLCBkcml2ZSwgRFJRX1NUQVQsIEJVU1lfU1RBVCwgV0FJVF9SRUFEWSkpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJpZGUtZmxvcHB5OiBTdHJhbmdlLCBwYWNrZXQgY29tbWFuZCAiCi0JCQkJImluaXRpYXRlZCB5ZXQgRFJRIGlzbid0IGFzc2VydGVkXG4iKTsKLQkJcmV0dXJuIHN0YXJ0c3RvcDsKLQl9Ci0JaXJlYXNvbiA9IGh3aWYtPklOQihod2lmLT5pb19wb3J0cy5uc2VjdF9hZGRyKTsKLQlpZiAoKGlyZWFzb24gJiBDRCkgPT0gMCB8fCAoaXJlYXNvbiAmIElPKSkgewotCQlwcmludGsoS0VSTl9FUlIgImlkZS1mbG9wcHk6IChJTyxDb0QpICE9ICgwLDEpIHdoaWxlICIKLQkJCQkiaXNzdWluZyBhIHBhY2tldCBjb21tYW5kXG4iKTsKLQkJcmV0dXJuIGlkZV9kb19yZXNldChkcml2ZSk7Ci0JfQotCi0JLyogU2V0IHRoZSBpbnRlcnJ1cHQgcm91dGluZSAqLwotCWlkZV9zZXRfaGFuZGxlcihkcml2ZSwgJmlkZWZsb3BweV9wY19pbnRyLCBJREVGTE9QUFlfV0FJVF9DTUQsIE5VTEwpOwotCi0JLyogU2VuZCB0aGUgYWN0dWFsIHBhY2tldCAqLwotCWh3aWYtPm91dHB1dF9kYXRhKGRyaXZlLCBOVUxMLCBmbG9wcHktPnBjLT5jLCAxMik7Ci0KLQlyZXR1cm4gaWRlX3N0YXJ0ZWQ7Ci19Ci0KLQotLyoKICAqIFdoYXQgd2UgaGF2ZSBoZXJlIGlzIGEgY2xhc3NpYyBjYXNlIG9mIGEgdG9wIGhhbGYgLyBib3R0b20gaGFsZiBpbnRlcnJ1cHQKICAqIHNlcnZpY2Ugcm91dGluZS4gSW4gaW50ZXJydXB0IG1vZGUsIHRoZSBkZXZpY2Ugc2VuZHMgYW4gaW50ZXJydXB0IHRvIHNpZ25hbAogICogdGhhdCBpdCBpcyByZWFkeSB0byByZWNlaXZlIGEgcGFja2V0LiBIb3dldmVyLCB3ZSBuZWVkIHRvIGRlbGF5IGFib3V0IDItMwogICogdGlja3MgYmVmb3JlIGlzc3VpbmcgdGhlIHBhY2tldCBvciB3ZSBnZXRzIGluIHRyb3VibGUuCi0gKgotICogU28sIGZvbGxvdyBjYXJlZnVsbHkuIHRyYW5zZmVyX3BjMSBpcyBjYWxsZWQgYXMgYW4gaW50ZXJydXB0IChvciBkaXJlY3RseSkuCi0gKiBJbiBlaXRoZXIgY2FzZSwgd2hlbiB0aGUgZGV2aWNlIHNheXMgaXQncyByZWFkeSBmb3IgYSBwYWNrZXQsIHdlIHNjaGVkdWxlCi0gKiB0aGUgcGFja2V0IHRyYW5zZmVyIHRvIG9jY3VyIGFib3V0IDItMyB0aWNrcyBsYXRlciBpbiB0cmFuc2Zlcl9wYzIuCiAgKi8KLXN0YXRpYyBpbnQgaWRlZmxvcHB5X3RyYW5zZmVyX3BjMihpZGVfZHJpdmVfdCAqZHJpdmUpCitzdGF0aWMgaW50IGlkZWZsb3BweV90cmFuc2Zlcl9wYyhpZGVfZHJpdmVfdCAqZHJpdmUpCiB7CiAJaWRlZmxvcHB5X2Zsb3BweV90ICpmbG9wcHkgPSBkcml2ZS0+ZHJpdmVyX2RhdGE7CiAKQEAgLTU3NSwyNCArNDExLDE5IEBACiAJcmV0dXJuIElERUZMT1BQWV9XQUlUX0NNRDsKIH0KIAotc3RhdGljIGlkZV9zdGFydHN0b3BfdCBpZGVmbG9wcHlfdHJhbnNmZXJfcGMxKGlkZV9kcml2ZV90ICpkcml2ZSkKLXsKLQlpZGVfaHdpZl90ICpod2lmID0gZHJpdmUtPmh3aWY7Ci0JaWRlZmxvcHB5X2Zsb3BweV90ICpmbG9wcHkgPSBkcml2ZS0+ZHJpdmVyX2RhdGE7Ci0JaWRlX3N0YXJ0c3RvcF90IHN0YXJ0c3RvcDsKLQl1OCBpcmVhc29uOwogCi0JaWYgKGlkZV93YWl0X3N0YXQoJnN0YXJ0c3RvcCwgZHJpdmUsIERSUV9TVEFULCBCVVNZX1NUQVQsIFdBSVRfUkVBRFkpKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiaWRlLWZsb3BweTogU3RyYW5nZSwgcGFja2V0IGNvbW1hbmQgIgotCQkJCSJpbml0aWF0ZWQgeWV0IERSUSBpc24ndCBhc3NlcnRlZFxuIik7Ci0JCXJldHVybiBzdGFydHN0b3A7Ci0JfQotCWlyZWFzb24gPSBod2lmLT5JTkIoaHdpZi0+aW9fcG9ydHMubnNlY3RfYWRkcik7Ci0JaWYgKChpcmVhc29uICYgQ0QpID09IDAgfHwgKGlyZWFzb24gJiBJTykpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJpZGUtZmxvcHB5OiAoSU8sQ29EKSAhPSAoMCwxKSAiCi0JCQkJIndoaWxlIGlzc3VpbmcgYSBwYWNrZXQgY29tbWFuZFxuIik7Ci0JCXJldHVybiBpZGVfZG9fcmVzZXQoZHJpdmUpOwotCX0KKy8qCisgKiBDYWxsZWQgYXMgYW4gaW50ZXJydXB0IChvciBkaXJlY3RseSkuIFdoZW4gdGhlIGRldmljZSBzYXlzIGl0J3MgcmVhZHkgZm9yIGEKKyAqIHBhY2tldCwgd2Ugc2NoZWR1bGUgdGhlIHBhY2tldCB0cmFuc2ZlciB0byBvY2N1ciBhYm91dCAyLTMgdGlja3MgbGF0ZXIgaW4KKyAqIHRyYW5zZmVyX3BjLgorICovCitzdGF0aWMgaWRlX3N0YXJ0c3RvcF90IGlkZWZsb3BweV9zdGFydF9wY190cmFuc2ZlcihpZGVfZHJpdmVfdCAqZHJpdmUpCit7CisJaWRlZmxvcHB5X2Zsb3BweV90ICpmbG9wcHkgPSBkcml2ZS0+ZHJpdmVyX2RhdGE7CisJc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMgPSBmbG9wcHktPnBjOworCWlkZV9leHBpcnlfdCAqZXhwaXJ5OworCXVuc2lnbmVkIGludCB0aW1lb3V0OworCiAJLyoKIAkgKiBUaGUgZm9sbG93aW5nIGRlbGF5IHNvbHZlcyBhIHByb2JsZW0gd2l0aCBBVEFQSSBaaXAgMTAwIGRyaXZlcwogCSAqIHdoZXJlIHRoZSBCdXN5IGZsYWcgd2FzIGFwcGFyZW50bHkgYmVpbmcgZGVhc3NlcnRlZCBiZWZvcmUgdGhlCkBAIC02MDEsMTAgKzQzMiwxNSBAQAogCSAqIDQwIGFuZCA1MG1zZWMgd29yayB3ZWxsLiBpZGVmbG9wcHlfcGNfaW50ciB3aWxsIG5vdCBiZSBhY3R1YWxseQogCSAqIHVzZWQgdW50aWwgYWZ0ZXIgdGhlIHBhY2tldCBpcyBtb3ZlZCBpbiBhYm91dCA1MCBtc2VjLgogCSAqLworCWlmIChwYy0+ZmxhZ3MgJiBQQ19GTEFHX1pJUF9EUklWRSkgeworCQl0aW1lb3V0ID0gZmxvcHB5LT50aWNrczsKKwkJZXhwaXJ5ID0gJmlkZWZsb3BweV90cmFuc2Zlcl9wYzsKKwl9IGVsc2UgeworCQl0aW1lb3V0ID0gSURFRkxPUFBZX1dBSVRfQ01EOworCQlleHBpcnkgPSBOVUxMOworCX0KIAotCWlkZV9zZXRfaGFuZGxlcihkcml2ZSwgJmlkZWZsb3BweV9wY19pbnRyLCBmbG9wcHktPnRpY2tzLAotCQkJJmlkZWZsb3BweV90cmFuc2Zlcl9wYzIpOwotCXJldHVybiBpZGVfc3RhcnRlZDsKKwlyZXR1cm4gaWRlX3RyYW5zZmVyX3BjKGRyaXZlLCBwYywgaWRlZmxvcHB5X3BjX2ludHIsIHRpbWVvdXQsIGV4cGlyeSk7CiB9CiAKIHN0YXRpYyB2b2lkIGlkZV9mbG9wcHlfcmVwb3J0X2Vycm9yKGlkZWZsb3BweV9mbG9wcHlfdCAqZmxvcHB5LApAQCAtNjI3LDEwICs0NjMsNiBAQAogCQlzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYykKIHsKIAlpZGVmbG9wcHlfZmxvcHB5X3QgKmZsb3BweSA9IGRyaXZlLT5kcml2ZXJfZGF0YTsKLQlpZGVfaHdpZl90ICpod2lmID0gZHJpdmUtPmh3aWY7Ci0JaWRlX2hhbmRsZXJfdCAqcGt0X3hmZXJfcm91dGluZTsKLQl1MTYgYmNvdW50OwotCXU4IGRtYTsKIAogCWlmIChmbG9wcHktPmZhaWxlZF9wYyA9PSBOVUxMICYmCiAJICAgIHBjLT5jWzBdICE9IEdQQ01EX1JFUVVFU1RfU0VOU0UpCkBAIC02NDUsNjUgKzQ3NywxNiBAQAogCQlwYy0+ZXJyb3IgPSBJREVGTE9QUFlfRVJST1JfR0VORVJBTDsKIAogCQlmbG9wcHktPmZhaWxlZF9wYyA9IE5VTEw7Ci0JCXBjLT5pZGVmbG9wcHlfY2FsbGJhY2soZHJpdmUpOworCQlwYy0+Y2FsbGJhY2soZHJpdmUpOwogCQlyZXR1cm4gaWRlX3N0b3BwZWQ7CiAJfQogCiAJZGVidWdfbG9nKCJSZXRyeSBudW1iZXIgLSAlZFxuIiwgcGMtPnJldHJpZXMpOwogCiAJcGMtPnJldHJpZXMrKzsKLQkvKiBXZSBoYXZlbid0IHRyYW5zZmVycmVkIGFueSBkYXRhIHlldCAqLwotCXBjLT54ZmVycmVkID0gMDsKLQlwYy0+Y3VyX3BvcyA9IHBjLT5idWY7Ci0JYmNvdW50ID0gbWluKHBjLT5yZXFfeGZlciwgNjMgKiAxMDI0KTsKIAotCWlmIChwYy0+ZmxhZ3MgJiBQQ19GTEFHX0RNQV9FUlJPUikgewotCQlwYy0+ZmxhZ3MgJj0gflBDX0ZMQUdfRE1BX0VSUk9SOwotCQlpZGVfZG1hX29mZihkcml2ZSk7Ci0JfQotCWRtYSA9IDA7Ci0KLQlpZiAoKHBjLT5mbGFncyAmIFBDX0ZMQUdfRE1BX1JFQ09NTUVOREVEKSAmJiBkcml2ZS0+dXNpbmdfZG1hKQotCQlkbWEgPSAhaHdpZi0+ZG1hX29wcy0+ZG1hX3NldHVwKGRyaXZlKTsKLQotCWlkZV9wa3RjbWRfdGZfbG9hZChkcml2ZSwgSURFX1RGTEFHX05PX1NFTEVDVF9NQVNLIHwKLQkJCSAgIElERV9URkxBR19PVVRfREVWSUNFLCBiY291bnQsIGRtYSk7Ci0KLQlpZiAoZG1hKSB7Ci0JCS8qIEJlZ2luIERNQSwgaWYgbmVjZXNzYXJ5ICovCi0JCXBjLT5mbGFncyB8PSBQQ19GTEFHX0RNQV9JTl9QUk9HUkVTUzsKLQkJaHdpZi0+ZG1hX29wcy0+ZG1hX3N0YXJ0KGRyaXZlKTsKLQl9Ci0KLQkvKiBDYW4gd2UgdHJhbnNmZXIgdGhlIHBhY2tldCB3aGVuIHdlIGdldCB0aGUgaW50ZXJydXB0IG9yIHdhaXQ/ICovCi0JaWYgKGZsb3BweS0+ZmxhZ3MgJiBJREVGTE9QUFlfRkxBR19aSVBfRFJJVkUpIHsKLQkJLyogd2FpdCAqLwotCQlwa3RfeGZlcl9yb3V0aW5lID0gJmlkZWZsb3BweV90cmFuc2Zlcl9wYzE7Ci0JfSBlbHNlIHsKLQkJLyogaW1tZWRpYXRlICovCi0JCXBrdF94ZmVyX3JvdXRpbmUgPSAmaWRlZmxvcHB5X3RyYW5zZmVyX3BjOwotCX0KLQotCWlmIChmbG9wcHktPmZsYWdzICYgSURFRkxPUFBZX0ZMQUdfRFJRX0lOVEVSUlVQVCkgewotCQkvKiBJc3N1ZSB0aGUgcGFja2V0IGNvbW1hbmQgKi8KLQkJaWRlX2V4ZWN1dGVfY29tbWFuZChkcml2ZSwgV0lOX1BBQ0tFVENNRCwKLQkJCQlwa3RfeGZlcl9yb3V0aW5lLAotCQkJCUlERUZMT1BQWV9XQUlUX0NNRCwKLQkJCQlOVUxMKTsKLQkJcmV0dXJuIGlkZV9zdGFydGVkOwotCX0gZWxzZSB7Ci0JCS8qIElzc3VlIHRoZSBwYWNrZXQgY29tbWFuZCAqLwotCQlpZGVfZXhlY3V0ZV9wa3RfY21kKGRyaXZlKTsKLQkJcmV0dXJuICgqcGt0X3hmZXJfcm91dGluZSkgKGRyaXZlKTsKLQl9Ci19Ci0KLXN0YXRpYyB2b2lkIGlkZWZsb3BweV9yd19jYWxsYmFjayhpZGVfZHJpdmVfdCAqZHJpdmUpCi17Ci0JZGVidWdfbG9nKCJSZWFjaGVkICVzXG4iLCBfX2Z1bmNfXyk7Ci0KLQlpZGVmbG9wcHlfZW5kX3JlcXVlc3QoZHJpdmUsIDEsIDApOwotCXJldHVybjsKKwlyZXR1cm4gaWRlX2lzc3VlX3BjKGRyaXZlLCBwYywgaWRlZmxvcHB5X3N0YXJ0X3BjX3RyYW5zZmVyLAorCQkJICAgIElERUZMT1BQWV9XQUlUX0NNRCwgTlVMTCk7CiB9CiAKIHN0YXRpYyB2b2lkIGlkZWZsb3BweV9jcmVhdGVfcHJldmVudF9jbWQoc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMsIGludCBwcmV2ZW50KQpAQCAtODAwLDIxICs1ODMsMTkgQEAKIAlwdXRfdW5hbGlnbmVkKGNwdV90b19iZTE2KGJsb2NrcyksICh1bnNpZ25lZCBzaG9ydCAqKSZwYy0+Y1s3XSk7CiAJcHV0X3VuYWxpZ25lZChjcHVfdG9fYmUzMihibG9jayksICh1bnNpZ25lZCBpbnQgKikgJnBjLT5jWzJdKTsKIAotCXBjLT5pZGVmbG9wcHlfY2FsbGJhY2sgPSAmaWRlZmxvcHB5X3J3X2NhbGxiYWNrOwogCXBjLT5ycSA9IHJxOwogCXBjLT5iX2NvdW50ID0gY21kID09IFJFQUQgPyAwIDogcnEtPmJpby0+Ymlfc2l6ZTsKIAlpZiAocnEtPmNtZF9mbGFncyAmIFJFUV9SVykKIAkJcGMtPmZsYWdzIHw9IFBDX0ZMQUdfV1JJVElORzsKIAlwYy0+YnVmID0gTlVMTDsKIAlwYy0+cmVxX3hmZXIgPSBwYy0+YnVmX3NpemUgPSBibG9ja3MgKiBmbG9wcHktPmJsb2NrX3NpemU7Ci0JcGMtPmZsYWdzIHw9IFBDX0ZMQUdfRE1BX1JFQ09NTUVOREVEOworCXBjLT5mbGFncyB8PSBQQ19GTEFHX0RNQV9PSzsKIH0KIAogc3RhdGljIHZvaWQgaWRlZmxvcHB5X2Jsb2NrcGNfY21kKGlkZWZsb3BweV9mbG9wcHlfdCAqZmxvcHB5LAogCQlzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYywgc3RydWN0IHJlcXVlc3QgKnJxKQogewogCWlkZWZsb3BweV9pbml0X3BjKHBjKTsKLQlwYy0+aWRlZmxvcHB5X2NhbGxiYWNrID0gJmlkZWZsb3BweV9yd19jYWxsYmFjazsKIAltZW1jcHkocGMtPmMsIHJxLT5jbWQsIHNpemVvZihwYy0+YykpOwogCXBjLT5ycSA9IHJxOwogCXBjLT5iX2NvdW50ID0gcnEtPmRhdGFfbGVuOwpAQCAtODIyLDcgKzYwMyw3IEBACiAJCXBjLT5mbGFncyB8PSBQQ19GTEFHX1dSSVRJTkc7CiAJcGMtPmJ1ZiA9IHJxLT5kYXRhOwogCWlmIChycS0+YmlvKQotCQlwYy0+ZmxhZ3MgfD0gUENfRkxBR19ETUFfUkVDT01NRU5ERUQ7CisJCXBjLT5mbGFncyB8PSBQQ19GTEFHX0RNQV9PSzsKIAkvKgogCSAqIHBvc3NpYmx5IHByb2JsZW1hdGljLCBkb2Vzbid0IGxvb2sgbGlrZSBpZGUtZmxvcHB5IGNvcnJlY3RseQogCSAqIGhhbmRsZWQgc2NhdHRlcmVkIHJlcXVlc3RzIGlmIGRtYSBmYWlscy4uLgpAQCAtODc1LDcgKzY1NiwxNCBAQAogCQlyZXR1cm4gaWRlX3N0b3BwZWQ7CiAJfQogCisJaWYgKGZsb3BweS0+ZmxhZ3MgJiBJREVGTE9QUFlfRkxBR19EUlFfSU5URVJSVVBUKQorCQlwYy0+ZmxhZ3MgfD0gUENfRkxBR19EUlFfSU5URVJSVVBUOworCisJaWYgKGZsb3BweS0+ZmxhZ3MgJiBJREVGTE9QUFlfRkxBR19aSVBfRFJJVkUpCisJCXBjLT5mbGFncyB8PSBQQ19GTEFHX1pJUF9EUklWRTsKKwogCXBjLT5ycSA9IHJxOworCiAJcmV0dXJuIGlkZWZsb3BweV9pc3N1ZV9wYyhkcml2ZSwgcGMpOwogfQogCkBAIC04ODYsMTQgKzY3NCwxNiBAQAogc3RhdGljIGludCBpZGVmbG9wcHlfcXVldWVfcGNfdGFpbChpZGVfZHJpdmVfdCAqZHJpdmUsIHN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjKQogewogCXN0cnVjdCBpZGVfZmxvcHB5X29iaiAqZmxvcHB5ID0gZHJpdmUtPmRyaXZlcl9kYXRhOwotCXN0cnVjdCByZXF1ZXN0IHJxOworCXN0cnVjdCByZXF1ZXN0ICpycTsKKwlpbnQgZXJyb3I7CiAKLQlpZGVfaW5pdF9kcml2ZV9jbWQoJnJxKTsKLQlycS5idWZmZXIgPSAoY2hhciAqKSBwYzsKLQlycS5jbWRfdHlwZSA9IFJFUV9UWVBFX1NQRUNJQUw7Ci0JcnEucnFfZGlzayA9IGZsb3BweS0+ZGlzazsKKwlycSA9IGJsa19nZXRfcmVxdWVzdChkcml2ZS0+cXVldWUsIFJFQUQsIF9fR0ZQX1dBSVQpOworCXJxLT5idWZmZXIgPSAoY2hhciAqKSBwYzsKKwlycS0+Y21kX3R5cGUgPSBSRVFfVFlQRV9TUEVDSUFMOworCWVycm9yID0gYmxrX2V4ZWN1dGVfcnEoZHJpdmUtPnF1ZXVlLCBmbG9wcHktPmRpc2ssIHJxLCAwKTsKKwlibGtfcHV0X3JlcXVlc3QocnEpOwogCi0JcmV0dXJuIGlkZV9kb19kcml2ZV9jbWQoZHJpdmUsICZycSwgaWRlX3dhaXQpOworCXJldHVybiBlcnJvcjsKIH0KIAogLyoKQEAgLTE2MjIsMTEgKzE0MTIsNiBAQAogCQkJCSIgb2YgaWRlLWZsb3BweVxuIiwgZHJpdmUtPm5hbWUpOwogCQlnb3RvIGZhaWxlZDsKIAl9Ci0JaWYgKGRyaXZlLT5zY3NpKSB7Ci0JCXByaW50ayhLRVJOX0lORk8gImlkZS1mbG9wcHk6IHBhc3NpbmcgZHJpdmUgJXMgdG8gaWRlLXNjc2kiCi0JCQkJIiBlbXVsYXRpb24uXG4iLCBkcml2ZS0+bmFtZSk7Ci0JCWdvdG8gZmFpbGVkOwotCX0KIAlmbG9wcHkgPSBremFsbG9jKHNpemVvZihpZGVmbG9wcHlfZmxvcHB5X3QpLCBHRlBfS0VSTkVMKTsKIAlpZiAoIWZsb3BweSkgewogCQlwcmludGsoS0VSTl9FUlIgImlkZS1mbG9wcHk6ICVzOiBDYW4ndCBhbGxvY2F0ZSBhIGZsb3BweSIKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL2lkZS1pby5jIGIvZHJpdmVycy9pZGUvaWRlLWlvLmMKaW5kZXggNjk2NTI1My4uMjgwNTc3NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvaWRlLWlvLmMKKysrIGIvZHJpdmVycy9pZGUvaWRlLWlvLmMKQEAgLTM1OCwzMSArMzU4LDYgQEAKIAogRVhQT1JUX1NZTUJPTChpZGVfZW5kX2RyaXZlX2NtZCk7CiAKLS8qKgotICoJdHJ5X3RvX2ZsdXNoX2xlZnRvdmVyX2RhdGEJLQlmbHVzaCBqdW5rCi0gKglAZHJpdmU6IGRyaXZlIHRvIGZsdXNoCi0gKgotICoJdHJ5X3RvX2ZsdXNoX2xlZnRvdmVyX2RhdGEoKSBpcyBpbnZva2VkIGluIHJlc3BvbnNlIHRvIGEgZHJpdmUKLSAqCXVuZXhwZWN0ZWRseSBoYXZpbmcgaXRzIERSUV9TVEFUIGJpdCBzZXQuICBBcyBhbiBhbHRlcm5hdGl2ZSB0bwotICoJcmVzZXR0aW5nIHRoZSBkcml2ZSwgdGhpcyByb3V0aW5lIHRyaWVzIHRvIGNsZWFyIHRoZSBjb25kaXRpb24KLSAqCWJ5IHJlYWQgYSBzZWN0b3IncyB3b3J0aCBvZiBkYXRhIGZyb20gdGhlIGRyaXZlLiAgT2YgY291cnNlLAotICoJdGhpcyBtYXkgbm90IGhlbHAgaWYgdGhlIGRyaXZlIGlzICp3YWl0aW5nKiBmb3IgZGF0YSBmcm9tICp1cyouCi0gKi8KLXN0YXRpYyB2b2lkIHRyeV90b19mbHVzaF9sZWZ0b3Zlcl9kYXRhIChpZGVfZHJpdmVfdCAqZHJpdmUpCi17Ci0JaW50IGkgPSAoZHJpdmUtPm11bHRfY291bnQgPyBkcml2ZS0+bXVsdF9jb3VudCA6IDEpICogU0VDVE9SX1dPUkRTOwotCi0JaWYgKGRyaXZlLT5tZWRpYSAhPSBpZGVfZGlzaykKLQkJcmV0dXJuOwotCXdoaWxlIChpID4gMCkgewotCQl1MzIgYnVmZmVyWzE2XTsKLQkJdTMyIHdjb3VudCA9IChpID4gMTYpID8gMTYgOiBpOwotCi0JCWkgLT0gd2NvdW50OwotCQlkcml2ZS0+aHdpZi0+aW5wdXRfZGF0YShkcml2ZSwgTlVMTCwgYnVmZmVyLCB3Y291bnQgKiA0KTsKLQl9Ci19Ci0KIHN0YXRpYyB2b2lkIGlkZV9raWxsX3JxKGlkZV9kcml2ZV90ICpkcml2ZSwgc3RydWN0IHJlcXVlc3QgKnJxKQogewogCWlmIChycS0+cnFfZGlzaykgewpAQCAtNDIyLDggKzM5NywxMSBAQAogCX0KIAogCWlmICgoc3RhdCAmIERSUV9TVEFUKSAmJiBycV9kYXRhX2RpcihycSkgPT0gUkVBRCAmJgotCSAgICAoaHdpZi0+aG9zdF9mbGFncyAmIElERV9IRkxBR19FUlJPUl9TVE9QU19GSUZPKSA9PSAwKQotCQl0cnlfdG9fZmx1c2hfbGVmdG92ZXJfZGF0YShkcml2ZSk7CisJICAgIChod2lmLT5ob3N0X2ZsYWdzICYgSURFX0hGTEFHX0VSUk9SX1NUT1BTX0ZJRk8pID09IDApIHsKKwkJaW50IG5zZWN0ID0gZHJpdmUtPm11bHRfY291bnQgPyBkcml2ZS0+bXVsdF9jb3VudCA6IDE7CisKKwkJaWRlX3BhZF90cmFuc2Zlcihkcml2ZSwgUkVBRCwgbnNlY3QgKiBTRUNUT1JfU0laRSk7CisJfQogCiAJaWYgKHJxLT5lcnJvcnMgPj0gRVJST1JfTUFYIHx8IGJsa19ub3JldHJ5X3JlcXVlc3QocnEpKSB7CiAJCWlkZV9raWxsX3JxKGRyaXZlLCBycSk7CkBAIC00NTksNyArNDM3LDcgQEAKIAogCWlmIChpZGVfcmVhZF9zdGF0dXMoZHJpdmUpICYgKEJVU1lfU1RBVCB8IERSUV9TVEFUKSkKIAkJLyogZm9yY2UgYW4gYWJvcnQgKi8KLQkJaHdpZi0+T1VUQlNZTkMoZHJpdmUsIFdJTl9JRExFSU1NRURJQVRFLAorCQlod2lmLT5PVVRCU1lOQyhod2lmLCBXSU5fSURMRUlNTUVESUFURSwKIAkJCSAgICAgICBod2lmLT5pb19wb3J0cy5jb21tYW5kX2FkZHIpOwogCiAJaWYgKHJxLT5lcnJvcnMgPj0gRVJST1JfTUFYKSB7CkBAIC0xNTM5LDg4ICsxNTE3LDMwIEBACiB9CiAKIC8qKgotICoJaWRlX2luaXRfZHJpdmVfY21kCS0JaW5pdGlhbGl6ZSBhIGRyaXZlIGNvbW1hbmQgcmVxdWVzdAotICoJQHJxOiByZXF1ZXN0IG9iamVjdAotICoKLSAqCUluaXRpYWxpemUgYSByZXF1ZXN0IGJlZm9yZSB3ZSBmaWxsIGl0IGluIGFuZCBzZW5kIGl0IGRvd24gdG8KLSAqCWlkZV9kb19kcml2ZV9jbWQuIENvbW1hbmRzIG11c3QgYmUgc2V0IHVwIGJ5IHRoaXMgZnVuY3Rpb24uIFJpZ2h0Ci0gKglub3cgaXQgZG9lc24ndCBkbyBhIGxvdCwgYnV0IGlmIHRoYXQgY2hhbmdlcyBhYnVzZXJzIHdpbGwgaGF2ZSBhCi0gKgluYXN0eSBzdXJwcmlzZS4KLSAqLwotCi12b2lkIGlkZV9pbml0X2RyaXZlX2NtZCAoc3RydWN0IHJlcXVlc3QgKnJxKQotewotCWJsa19ycV9pbml0KE5VTEwsIHJxKTsKLX0KLQotRVhQT1JUX1NZTUJPTChpZGVfaW5pdF9kcml2ZV9jbWQpOwotCi0vKioKICAqCWlkZV9kb19kcml2ZV9jbWQJLQlpc3N1ZSBJREUgc3BlY2lhbCBjb21tYW5kCiAgKglAZHJpdmU6IGRldmljZSB0byBpc3N1ZSBjb21tYW5kCiAgKglAcnE6IHJlcXVlc3QgdG8gaXNzdWUKLSAqCUBhY3Rpb246IGFjdGlvbiBmb3IgcHJvY2Vzc2luZwogICoKICAqCVRoaXMgZnVuY3Rpb24gaXNzdWVzIGEgc3BlY2lhbCBJREUgZGV2aWNlIHJlcXVlc3QKICAqCW9udG8gdGhlIHJlcXVlc3QgcXVldWUuCiAgKgotICoJSWYgYWN0aW9uIGlzIGlkZV93YWl0LCB0aGVuIHRoZSBycSBpcyBxdWV1ZWQgYXQgdGhlIGVuZCBvZiB0aGUKLSAqCXJlcXVlc3QgcXVldWUsIGFuZCB0aGUgZnVuY3Rpb24gc2xlZXBzIHVudGlsIGl0IGhhcyBiZWVuIHByb2Nlc3NlZC4KLSAqCVRoaXMgaXMgZm9yIHVzZSB3aGVuIGludm9rZWQgZnJvbSBhbiBpb2N0bCBoYW5kbGVyLgotICoKLSAqCUlmIGFjdGlvbiBpcyBpZGVfcHJlZW1wdCwgdGhlbiB0aGUgcnEgaXMgcXVldWVkIGF0IHRoZSBoZWFkIG9mCi0gKgl0aGUgcmVxdWVzdCBxdWV1ZSwgZGlzcGxhY2luZyB0aGUgY3VycmVudGx5LWJlaW5nLXByb2Nlc3NlZAotICoJcmVxdWVzdCBhbmQgdGhpcyBmdW5jdGlvbiByZXR1cm5zIGltbWVkaWF0ZWx5IHdpdGhvdXQgd2FpdGluZwotICoJZm9yIHRoZSBuZXcgcnEgdG8gYmUgY29tcGxldGVkLiAgVGhpcyBpcyBWRVJZIERBTkdFUk9VUywgYW5kIGlzCi0gKglpbnRlbmRlZCBmb3IgY2FyZWZ1bCB1c2UgYnkgdGhlIEFUQVBJIHRhcGUvY2Ryb20gZHJpdmVyIGNvZGUuCi0gKgotICoJSWYgYWN0aW9uIGlzIGlkZV9lbmQsIHRoZW4gdGhlIHJxIGlzIHF1ZXVlZCBhdCB0aGUgZW5kIG9mIHRoZQotICoJcmVxdWVzdCBxdWV1ZSwgYW5kIHRoZSBmdW5jdGlvbiByZXR1cm5zIGltbWVkaWF0ZWx5IHdpdGhvdXQgd2FpdGluZwotICoJZm9yIHRoZSBuZXcgcnEgdG8gYmUgY29tcGxldGVkLiBUaGlzIGlzIGFnYWluIGludGVuZGVkIGZvciBjYXJlZnVsCi0gKgl1c2UgYnkgdGhlIEFUQVBJIHRhcGUvY2Ryb20gZHJpdmVyIGNvZGUuCisgKgl0aGUgcnEgaXMgcXVldWVkIGF0IHRoZSBoZWFkIG9mIHRoZSByZXF1ZXN0IHF1ZXVlLCBkaXNwbGFjaW5nCisgKgl0aGUgY3VycmVudGx5LWJlaW5nLXByb2Nlc3NlZCByZXF1ZXN0IGFuZCB0aGlzIGZ1bmN0aW9uCisgKglyZXR1cm5zIGltbWVkaWF0ZWx5IHdpdGhvdXQgd2FpdGluZyBmb3IgdGhlIG5ldyBycSB0byBiZQorICoJY29tcGxldGVkLiAgVGhpcyBpcyBWRVJZIERBTkdFUk9VUywgYW5kIGlzIGludGVuZGVkIGZvcgorICoJY2FyZWZ1bCB1c2UgYnkgdGhlIEFUQVBJIHRhcGUvY2Ryb20gZHJpdmVyIGNvZGUuCiAgKi8KLSAKLWludCBpZGVfZG9fZHJpdmVfY21kIChpZGVfZHJpdmVfdCAqZHJpdmUsIHN0cnVjdCByZXF1ZXN0ICpycSwgaWRlX2FjdGlvbl90IGFjdGlvbikKKwordm9pZCBpZGVfZG9fZHJpdmVfY21kKGlkZV9kcml2ZV90ICpkcml2ZSwgc3RydWN0IHJlcXVlc3QgKnJxKQogewogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAJaWRlX2h3Z3JvdXBfdCAqaHdncm91cCA9IEhXR1JPVVAoZHJpdmUpOwotCURFQ0xBUkVfQ09NUExFVElPTl9PTlNUQUNLKHdhaXQpOwotCWludCB3aGVyZSA9IEVMRVZBVE9SX0lOU0VSVF9CQUNLLCBlcnI7Ci0JaW50IG11c3Rfd2FpdCA9IChhY3Rpb24gPT0gaWRlX3dhaXQgfHwgYWN0aW9uID09IGlkZV9oZWFkX3dhaXQpOwotCi0JcnEtPmVycm9ycyA9IDA7Ci0KLQkvKgotCSAqIHdlIG5lZWQgdG8gaG9sZCBhbiBleHRyYSByZWZlcmVuY2UgdG8gcmVxdWVzdCBmb3Igc2FmZSBpbnNwZWN0aW9uCi0JICogYWZ0ZXIgY29tcGxldGlvbgotCSAqLwotCWlmIChtdXN0X3dhaXQpIHsKLQkJcnEtPnJlZl9jb3VudCsrOwotCQlycS0+ZW5kX2lvX2RhdGEgPSAmd2FpdDsKLQkJcnEtPmVuZF9pbyA9IGJsa19lbmRfc3luY19ycTsKLQl9CiAKIAlzcGluX2xvY2tfaXJxc2F2ZSgmaWRlX2xvY2ssIGZsYWdzKTsKLQlpZiAoYWN0aW9uID09IGlkZV9wcmVlbXB0KQotCQlod2dyb3VwLT5ycSA9IE5VTEw7Ci0JaWYgKGFjdGlvbiA9PSBpZGVfcHJlZW1wdCB8fCBhY3Rpb24gPT0gaWRlX2hlYWRfd2FpdCkgewotCQl3aGVyZSA9IEVMRVZBVE9SX0lOU0VSVF9GUk9OVDsKLQkJcnEtPmNtZF9mbGFncyB8PSBSRVFfUFJFRU1QVDsKLQl9Ci0JX19lbHZfYWRkX3JlcXVlc3QoZHJpdmUtPnF1ZXVlLCBycSwgd2hlcmUsIDApOwotCWlkZV9kb19yZXF1ZXN0KGh3Z3JvdXAsIElERV9OT19JUlEpOworCWh3Z3JvdXAtPnJxID0gTlVMTDsKKwlfX2Vsdl9hZGRfcmVxdWVzdChkcml2ZS0+cXVldWUsIHJxLCBFTEVWQVRPUl9JTlNFUlRfRlJPTlQsIDEpOworCV9fZ2VuZXJpY191bnBsdWdfZGV2aWNlKGRyaXZlLT5xdWV1ZSk7CiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaWRlX2xvY2ssIGZsYWdzKTsKLQotCWVyciA9IDA7Ci0JaWYgKG11c3Rfd2FpdCkgewotCQl3YWl0X2Zvcl9jb21wbGV0aW9uKCZ3YWl0KTsKLQkJaWYgKHJxLT5lcnJvcnMpCi0JCQllcnIgPSAtRUlPOwotCi0JCWJsa19wdXRfcmVxdWVzdChycSk7Ci0JfQotCi0JcmV0dXJuIGVycjsKIH0KIAogRVhQT1JUX1NZTUJPTChpZGVfZG9fZHJpdmVfY21kKTsKQEAgLTE2MzcsNiArMTU1Nyw4IEBACiAJdGFzay50Zi5sYmFoICAgID0gKGJjb3VudCA+PiA4KSAmIDB4ZmY7CiAKIAlpZGVfdGZfZHVtcChkcml2ZS0+bmFtZSwgJnRhc2sudGYpOworCWlkZV9zZXRfaXJxKGRyaXZlLCAxKTsKKwlTRUxFQ1RfTUFTSyhkcml2ZSwgMCk7CiAJZHJpdmUtPmh3aWYtPnRmX2xvYWQoZHJpdmUsICZ0YXNrKTsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZGUvaWRlLWlvcHMuYyBiL2RyaXZlcnMvaWRlL2lkZS1pb3BzLmMKaW5kZXggMGRhZjkyMy4uODBhZDRmMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvaWRlLWlvcHMuYworKysgYi9kcml2ZXJzL2lkZS9pZGUtaW9wcy5jCkBAIC00Miw3ICs0Miw3IEBACiAJb3V0Yih2YWwsIHBvcnQpOwogfQogCi1zdGF0aWMgdm9pZCBpZGVfb3V0YnN5bmMgKGlkZV9kcml2ZV90ICpkcml2ZSwgdTggYWRkciwgdW5zaWduZWQgbG9uZyBwb3J0KQorc3RhdGljIHZvaWQgaWRlX291dGJzeW5jKGlkZV9od2lmX3QgKmh3aWYsIHU4IGFkZHIsIHVuc2lnbmVkIGxvbmcgcG9ydCkKIHsKIAlvdXRiKGFkZHIsIHBvcnQpOwogfQpAQCAtNjgsNyArNjgsNyBAQAogCXdyaXRlYih2YWx1ZSwgKHZvaWQgX19pb21lbSAqKSBwb3J0KTsKIH0KIAotc3RhdGljIHZvaWQgaWRlX21tX291dGJzeW5jIChpZGVfZHJpdmVfdCAqZHJpdmUsIHU4IHZhbHVlLCB1bnNpZ25lZCBsb25nIHBvcnQpCitzdGF0aWMgdm9pZCBpZGVfbW1fb3V0YnN5bmMoaWRlX2h3aWZfdCAqaHdpZiwgdTggdmFsdWUsIHVuc2lnbmVkIGxvbmcgcG9ydCkKIHsKIAl3cml0ZWIodmFsdWUsICh2b2lkIF9faW9tZW0gKikgcG9ydCk7CiB9CkBAIC05NSw3ICs5NSw3IEBACiAJaHdpZi0+T1VUQihkcml2ZS0+c2VsZWN0LmFsbCwgaHdpZi0+aW9fcG9ydHMuZGV2aWNlX2FkZHIpOwogfQogCi1zdGF0aWMgdm9pZCBTRUxFQ1RfTUFTSyhpZGVfZHJpdmVfdCAqZHJpdmUsIGludCBtYXNrKQordm9pZCBTRUxFQ1RfTUFTSyhpZGVfZHJpdmVfdCAqZHJpdmUsIGludCBtYXNrKQogewogCWNvbnN0IHN0cnVjdCBpZGVfcG9ydF9vcHMgKnBvcnRfb3BzID0gZHJpdmUtPmh3aWYtPnBvcnRfb3BzOwogCkBAIC0xMjAsMTEgKzEyMCw2IEBACiAJaWYgKHRhc2stPnRmX2ZsYWdzICYgSURFX1RGTEFHX0ZMQUdHRUQpCiAJCUhJSEkgPSAweEZGOwogCi0JaWRlX3NldF9pcnEoZHJpdmUsIDEpOwotCi0JaWYgKCh0YXNrLT50Zl9mbGFncyAmIElERV9URkxBR19OT19TRUxFQ1RfTUFTSykgPT0gMCkKLQkJU0VMRUNUX01BU0soZHJpdmUsIDApOwotCiAJaWYgKHRhc2stPnRmX2ZsYWdzICYgSURFX1RGTEFHX09VVF9EQVRBKSB7CiAJCXUxNiBkYXRhID0gKHRmLT5ob2JfZGF0YSA8PCA4KSB8IHRmLT5kYXRhOwogCkBAIC0xOTEsNyArMTg2LDcgQEAKIAl9CiAKIAkvKiBiZSBzdXJlIHdlJ3JlIGxvb2tpbmcgYXQgdGhlIGxvdyBvcmRlciBiaXRzICovCi0JdGZfb3V0Yihkcml2ZS0+Y3RsICYgfjB4ODAsIGlvX3BvcnRzLT5jdGxfYWRkcik7CisJdGZfb3V0YihBVEFfREVWQ1RMX09CUyAmIH4weDgwLCBpb19wb3J0cy0+Y3RsX2FkZHIpOwogCiAJaWYgKHRhc2stPnRmX2ZsYWdzICYgSURFX1RGTEFHX0lOX05TRUNUKQogCQl0Zi0+bnNlY3QgID0gdGZfaW5iKGlvX3BvcnRzLT5uc2VjdF9hZGRyKTsKQEAgLTIwNSw3ICsyMDAsNyBAQAogCQl0Zi0+ZGV2aWNlID0gdGZfaW5iKGlvX3BvcnRzLT5kZXZpY2VfYWRkcik7CiAKIAlpZiAodGFzay0+dGZfZmxhZ3MgJiBJREVfVEZMQUdfTEJBNDgpIHsKLQkJdGZfb3V0Yihkcml2ZS0+Y3RsIHwgMHg4MCwgaW9fcG9ydHMtPmN0bF9hZGRyKTsKKwkJdGZfb3V0YihBVEFfREVWQ1RMX09CUyB8IDB4ODAsIGlvX3BvcnRzLT5jdGxfYWRkcik7CiAKIAkJaWYgKHRhc2stPnRmX2ZsYWdzICYgSURFX1RGTEFHX0lOX0hPQl9GRUFUVVJFKQogCQkJdGYtPmhvYl9mZWF0dXJlID0gdGZfaW5iKGlvX3BvcnRzLT5mZWF0dXJlX2FkZHIpOwpAQCAtNjg5LDkgKzY4NCw5IEBACiAJICovCiAKIAlTRUxFQ1RfTUFTSyhkcml2ZSwgMSk7Ci0JaWRlX3NldF9pcnEoZHJpdmUsIDEpOworCWlkZV9zZXRfaXJxKGRyaXZlLCAwKTsKIAltc2xlZXAoNTApOwotCWh3aWYtPk9VVEJTWU5DKGRyaXZlLCBXSU5fSURFTlRJRlksIGh3aWYtPmlvX3BvcnRzLmNvbW1hbmRfYWRkcik7CisJaHdpZi0+T1VUQlNZTkMoaHdpZiwgV0lOX0lERU5USUZZLCBod2lmLT5pb19wb3J0cy5jb21tYW5kX2FkZHIpOwogCXRpbWVvdXQgPSBqaWZmaWVzICsgV0FJVF9XT1JTVENBU0U7CiAJZG8gewogCQlpZiAodGltZV9hZnRlcihqaWZmaWVzLCB0aW1lb3V0KSkgewpAQCAtNzQ0LDkgKzczOSw2IEBACiAJaW50IGVycm9yID0gMDsKIAl1OCBzdGF0OwogCi0vLwl3aGlsZSAoSFdHUk9VUChkcml2ZSktPmJ1c3kpCi0vLwkJbXNsZWVwKDUwKTsKLQogI2lmZGVmIENPTkZJR19CTEtfREVWX0lERURNQQogCWlmIChod2lmLT5kbWFfb3BzKQkvKiBjaGVjayBpZiBob3N0IHN1cHBvcnRzIERNQSAqLwogCQlod2lmLT5kbWFfb3BzLT5kbWFfaG9zdF9zZXQoZHJpdmUsIDApOwpAQCAtNzgxLDcgKzc3Myw3IEBACiAJaWRlX3NldF9pcnEoZHJpdmUsIDApOwogCWh3aWYtPk9VVEIoc3BlZWQsIGlvX3BvcnRzLT5uc2VjdF9hZGRyKTsKIAlod2lmLT5PVVRCKFNFVEZFQVRVUkVTX1hGRVIsIGlvX3BvcnRzLT5mZWF0dXJlX2FkZHIpOwotCWh3aWYtPk9VVEJTWU5DKGRyaXZlLCBXSU5fU0VURkVBVFVSRVMsIGlvX3BvcnRzLT5jb21tYW5kX2FkZHIpOworCWh3aWYtPk9VVEJTWU5DKGh3aWYsIFdJTl9TRVRGRUFUVVJFUywgaW9fcG9ydHMtPmNvbW1hbmRfYWRkcik7CiAJaWYgKGRyaXZlLT5xdWlya19saXN0ID09IDIpCiAJCWlkZV9zZXRfaXJxKGRyaXZlLCAxKTsKIApAQCAtODg5LDcgKzg4MSw3IEBACiAKIAlzcGluX2xvY2tfaXJxc2F2ZSgmaWRlX2xvY2ssIGZsYWdzKTsKIAlfX2lkZV9zZXRfaGFuZGxlcihkcml2ZSwgaGFuZGxlciwgdGltZW91dCwgZXhwaXJ5KTsKLQlod2lmLT5PVVRCU1lOQyhkcml2ZSwgY21kLCBod2lmLT5pb19wb3J0cy5jb21tYW5kX2FkZHIpOworCWh3aWYtPk9VVEJTWU5DKGh3aWYsIGNtZCwgaHdpZi0+aW9fcG9ydHMuY29tbWFuZF9hZGRyKTsKIAkvKgogCSAqIERyaXZlIHRha2VzIDQwMG5TIHRvIHJlc3BvbmQsIHdlIG11c3QgYXZvaWQgdGhlIElSUSBiZWluZwogCSAqIHNlcnZpY2VkIGJlZm9yZSB0aGF0LgpAQCAtOTA3LDcgKzg5OSw3IEBACiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAogCXNwaW5fbG9ja19pcnFzYXZlKCZpZGVfbG9jaywgZmxhZ3MpOwotCWh3aWYtPk9VVEJTWU5DKGRyaXZlLCBXSU5fUEFDS0VUQ01ELCBod2lmLT5pb19wb3J0cy5jb21tYW5kX2FkZHIpOworCWh3aWYtPk9VVEJTWU5DKGh3aWYsIFdJTl9QQUNLRVRDTUQsIGh3aWYtPmlvX3BvcnRzLmNvbW1hbmRfYWRkcik7CiAJbmRlbGF5KDQwMCk7CiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaWRlX2xvY2ssIGZsYWdzKTsKIH0KQEAgLTExMDIsNyArMTA5NCw3IEBACiAJCXByZV9yZXNldChkcml2ZSk7CiAJCVNFTEVDVF9EUklWRShkcml2ZSk7CiAJCXVkZWxheSAoMjApOwotCQlod2lmLT5PVVRCU1lOQyhkcml2ZSwgV0lOX1NSU1QsIGlvX3BvcnRzLT5jb21tYW5kX2FkZHIpOworCQlod2lmLT5PVVRCU1lOQyhod2lmLCBXSU5fU1JTVCwgaW9fcG9ydHMtPmNvbW1hbmRfYWRkcik7CiAJCW5kZWxheSg0MDApOwogCQlod2dyb3VwLT5wb2xsX3RpbWVvdXQgPSBqaWZmaWVzICsgV0FJVF9XT1JTVENBU0U7CiAJCWh3Z3JvdXAtPnBvbGxpbmcgPSAxOwpAQCAtMTEzMywxNCArMTEyNSwxNCBAQAogCSAqIHJlY292ZXIgZnJvbSByZXNldCB2ZXJ5IHF1aWNrbHksIHNhdmluZyB1cyB0aGUgZmlyc3QgNTBtcyB3YWl0IHRpbWUuCiAJICovCiAJLyogc2V0IFNSU1QgYW5kIG5JRU4gKi8KLQlod2lmLT5PVVRCU1lOQyhkcml2ZSwgZHJpdmUtPmN0bHw2LCBpb19wb3J0cy0+Y3RsX2FkZHIpOworCWh3aWYtPk9VVEJTWU5DKGh3aWYsIEFUQV9ERVZDVExfT0JTIHwgNiwgaW9fcG9ydHMtPmN0bF9hZGRyKTsKIAkvKiBtb3JlIHRoYW4gZW5vdWdoIHRpbWUgKi8KIAl1ZGVsYXkoMTApOwogCWlmIChkcml2ZS0+cXVpcmtfbGlzdCA9PSAyKQotCQljdGwgPSBkcml2ZS0+Y3RsOwkvKiBjbGVhciBTUlNUIGFuZCBuSUVOICovCisJCWN0bCA9IEFUQV9ERVZDVExfT0JTOwkJLyogY2xlYXIgU1JTVCBhbmQgbklFTiAqLwogCWVsc2UKLQkJY3RsID0gZHJpdmUtPmN0bCB8IDI7CS8qIGNsZWFyIFNSU1QsIGxlYXZlIG5JRU4gKi8KLQlod2lmLT5PVVRCU1lOQyhkcml2ZSwgY3RsLCBpb19wb3J0cy0+Y3RsX2FkZHIpOworCQljdGwgPSBBVEFfREVWQ1RMX09CUyB8IDI7CS8qIGNsZWFyIFNSU1QsIGxlYXZlIG5JRU4gKi8KKwlod2lmLT5PVVRCU1lOQyhod2lmLCBjdGwsIGlvX3BvcnRzLT5jdGxfYWRkcik7CiAJLyogbW9yZSB0aGFuIGVub3VnaCB0aW1lICovCiAJdWRlbGF5KDEwKTsKIAlod2dyb3VwLT5wb2xsX3RpbWVvdXQgPSBqaWZmaWVzICsgV0FJVF9XT1JTVENBU0U7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2lkZS9pZGUtcHJvYmUuYyBiL2RyaXZlcnMvaWRlL2lkZS1wcm9iZS5jCmluZGV4IDI2ZTY4YjYuLmQyMWU1MWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWRlL2lkZS1wcm9iZS5jCisrKyBiL2RyaXZlcnMvaWRlL2lkZS1wcm9iZS5jCkBAIC0yOTMsNyArMjkzLDcgQEAKIAkJaHdpZi0+T1VUQigwLCBpb19wb3J0cy0+ZmVhdHVyZV9hZGRyKTsKIAogCS8qIGFzayBkcml2ZSBmb3IgSUQgKi8KLQlod2lmLT5PVVRCU1lOQyhkcml2ZSwgY21kLCBpb19wb3J0cy0+Y29tbWFuZF9hZGRyKTsKKwlod2lmLT5PVVRCU1lOQyhod2lmLCBjbWQsIGh3aWYtPmlvX3BvcnRzLmNvbW1hbmRfYWRkcik7CiAKIAl0aW1lb3V0ID0gKChjbWQgPT0gV0lOX0lERU5USUZZKSA/IFdBSVRfV09SU1RDQVNFIDogV0FJVF9QSURFTlRJRlkpIC8gMjsKIAl0aW1lb3V0ICs9IGppZmZpZXM7CkBAIC00NzgsOSArNDc4LDkgQEAKIAkJCXByaW50ayhLRVJOX0VSUiAiJXM6IG5vIHJlc3BvbnNlIChzdGF0dXMgPSAweCUwMngpLCAiCiAJCQkJCSJyZXNldHRpbmcgZHJpdmVcbiIsIGRyaXZlLT5uYW1lLCBzdGF0KTsKIAkJCW1zbGVlcCg1MCk7Ci0JCQlod2lmLT5PVVRCKGRyaXZlLT5zZWxlY3QuYWxsLCBpb19wb3J0cy0+ZGV2aWNlX2FkZHIpOworCQkJU0VMRUNUX0RSSVZFKGRyaXZlKTsKIAkJCW1zbGVlcCg1MCk7Ci0JCQlod2lmLT5PVVRCU1lOQyhkcml2ZSwgV0lOX1NSU1QsIGlvX3BvcnRzLT5jb21tYW5kX2FkZHIpOworCQkJaHdpZi0+T1VUQlNZTkMoaHdpZiwgV0lOX1NSU1QsIGlvX3BvcnRzLT5jb21tYW5kX2FkZHIpOwogCQkJKHZvaWQpaWRlX2J1c3lfc2xlZXAoaHdpZik7CiAJCQlyYyA9IHRyeV90b19pZGVudGlmeShkcml2ZSwgY21kKTsKIAkJfQpAQCAtNTE2LDcgKzUxNiw3IEBACiAJcHJpbnRrKCIlczogZW5hYmxpbmcgJXMgLS0gIiwgaHdpZi0+bmFtZSwgZHJpdmUtPmlkLT5tb2RlbCk7CiAJU0VMRUNUX0RSSVZFKGRyaXZlKTsKIAltc2xlZXAoNTApOwotCWh3aWYtPk9VVEJTWU5DKGRyaXZlLCBFWEFCWVRFX0VOQUJMRV9ORVNULCBod2lmLT5pb19wb3J0cy5jb21tYW5kX2FkZHIpOworCWh3aWYtPk9VVEJTWU5DKGh3aWYsIEVYQUJZVEVfRU5BQkxFX05FU1QsIGh3aWYtPmlvX3BvcnRzLmNvbW1hbmRfYWRkcik7CiAKIAlpZiAoaWRlX2J1c3lfc2xlZXAoaHdpZikpIHsKIAkJcHJpbnRrKEtFUk5fQ09OVCAiZmFpbGVkICh0aW1lb3V0KVxuIik7CkBAIC0xMDY1LDcgKzEwNjUsNyBAQAogCiAJCWlmIChpb19wb3J0cy0+Y3RsX2FkZHIpCiAJCQkvKiBjbGVhciBuSUVOICovCi0JCQlod2lmLT5PVVRCKDB4MDgsIGlvX3BvcnRzLT5jdGxfYWRkcik7CisJCQlod2lmLT5PVVRCU1lOQyhod2lmLCBBVEFfREVWQ1RMX09CUywgaW9fcG9ydHMtPmN0bF9hZGRyKTsKIAogCQlpZiAocmVxdWVzdF9pcnEoaHdpZi0+aXJxLCZpZGVfaW50cixzYSxod2lmLT5uYW1lLGh3Z3JvdXApKQogCSAgICAgICAJCWdvdG8gb3V0X3VubGluazsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL2lkZS10YXBlLmMgYi9kcml2ZXJzL2lkZS9pZGUtdGFwZS5jCmluZGV4IDFlMWYyNjMuLmY5Y2YxNjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWRlL2lkZS10YXBlLmMKKysrIGIvZHJpdmVycy9pZGUvaWRlLXRhcGUuYwpAQCAtMTQ0LDkgKzE0NCw2IEBACiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKiogRW5kIG9mIHR1bmFibGUgcGFyYW1ldGVycyAqKioqKioqKioqKioqKioqKioqKioqKi8KIAotLyogUmVhZC9Xcml0ZSBlcnJvciBzaW11bGF0aW9uICovCi0jZGVmaW5lIFNJTVVMQVRFX0VSUk9SUwkJCTAKLQogLyogdGFwZSBkaXJlY3Rpb25zICovCiBlbnVtIHsKIAlJREVUQVBFX0RJUl9OT05FICA9ICgxIDw8IDApLApAQCAtNDQyLDcgKzQzOSw3IEBACiAJfQogfQogCi1zdGF0aWMgdm9pZCBpZGV0YXBlX3VwZGF0ZV9idWZmZXJzKHN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjKQorc3RhdGljIHZvaWQgaWRldGFwZV91cGRhdGVfYnVmZmVycyhpZGVfZHJpdmVfdCAqZHJpdmUsIHN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjKQogewogCXN0cnVjdCBpZGV0YXBlX2JoICpiaCA9IHBjLT5iaDsKIAlpbnQgY291bnQ7CkBAIC01MDYsMTggKzUwMyw2IEBACiAJcmV0dXJuICgmdGFwZS0+cnFfc3RhY2tbdGFwZS0+cnFfc3RhY2tfaW5kZXgrK10pOwogfQogCi1zdGF0aWMgdm9pZCBpZGV0YXBlX2luaXRfcGMoc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMpCi17Ci0JbWVtc2V0KHBjLT5jLCAwLCAxMik7Ci0JcGMtPnJldHJpZXMgPSAwOwotCXBjLT5mbGFncyA9IDA7Ci0JcGMtPnJlcV94ZmVyID0gMDsKLQlwYy0+YnVmID0gcGMtPnBjX2J1ZjsKLQlwYy0+YnVmX3NpemUgPSBJREVUQVBFX1BDX0JVRkZFUl9TSVpFOwotCXBjLT5iaCA9IE5VTEw7Ci0JcGMtPmJfZGF0YSA9IE5VTEw7Ci19Ci0KIC8qCiAgKiBjYWxsZWQgb24gZWFjaCBmYWlsZWQgcGFja2V0IGNvbW1hbmQgcmV0cnkgdG8gYW5hbHl6ZSB0aGUgcmVxdWVzdCBzZW5zZS4gV2UKICAqIGN1cnJlbnRseSBkbyBub3QgdXRpbGl6ZSB0aGlzIGluZm9ybWF0aW9uLgpAQCAtNTM4LDggKzUyMyw4IEBACiAJaWYgKHBjLT5mbGFncyAmIFBDX0ZMQUdfRE1BX0VSUk9SKSB7CiAJCXBjLT54ZmVycmVkID0gcGMtPnJlcV94ZmVyIC0KIAkJCXRhcGUtPmJsa19zaXplICoKLQkJCWJlMzJfdG9fY3B1KGdldF91bmFsaWduZWQoKHUzMiAqKSZzZW5zZVszXSkpOwotCQlpZGV0YXBlX3VwZGF0ZV9idWZmZXJzKHBjKTsKKwkJCWdldF91bmFsaWduZWRfYmUzMigmc2Vuc2VbM10pOworCQlpZGV0YXBlX3VwZGF0ZV9idWZmZXJzKGRyaXZlLCBwYyk7CiAJfQogCiAJLyoKQEAgLTYzNCwyMSArNjE5LDc4IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpZGVfc3RhcnRzdG9wX3QgaWRldGFwZV9yZXF1ZXN0X3NlbnNlX2NhbGxiYWNrKGlkZV9kcml2ZV90ICpkcml2ZSkKK3N0YXRpYyB2b2lkIGlkZV90YXBlX2NhbGxiYWNrKGlkZV9kcml2ZV90ICpkcml2ZSkKIHsKIAlpZGV0YXBlX3RhcGVfdCAqdGFwZSA9IGRyaXZlLT5kcml2ZXJfZGF0YTsKKwlzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYyA9IHRhcGUtPnBjOworCWludCB1cHRvZGF0ZSA9IHBjLT5lcnJvciA/IDAgOiAxOwogCiAJZGVidWdfbG9nKERCR19QUk9DUywgIkVudGVyICVzXG4iLCBfX2Z1bmNfXyk7CiAKLQlpZiAoIXRhcGUtPnBjLT5lcnJvcikgewotCQlpZGV0YXBlX2FuYWx5emVfZXJyb3IoZHJpdmUsIHRhcGUtPnBjLT5idWYpOwotCQlpZGV0YXBlX2VuZF9yZXF1ZXN0KGRyaXZlLCAxLCAwKTsKLQl9IGVsc2UgewotCQlwcmludGsoS0VSTl9FUlIgImlkZS10YXBlOiBFcnJvciBpbiBSRVFVRVNUIFNFTlNFIGl0c2VsZiAtICIKLQkJCQkiQWJvcnRpbmcgcmVxdWVzdCFcbiIpOwotCQlpZGV0YXBlX2VuZF9yZXF1ZXN0KGRyaXZlLCAwLCAwKTsKKwlpZiAodGFwZS0+ZmFpbGVkX3BjID09IHBjKQorCQl0YXBlLT5mYWlsZWRfcGMgPSBOVUxMOworCisJaWYgKHBjLT5jWzBdID09IFJFUVVFU1RfU0VOU0UpIHsKKwkJaWYgKHVwdG9kYXRlKQorCQkJaWRldGFwZV9hbmFseXplX2Vycm9yKGRyaXZlLCBwYy0+YnVmKTsKKwkJZWxzZQorCQkJcHJpbnRrKEtFUk5fRVJSICJpZGUtdGFwZTogRXJyb3IgaW4gUkVRVUVTVCBTRU5TRSAiCisJCQkJCSJpdHNlbGYgLSBBYm9ydGluZyByZXF1ZXN0IVxuIik7CisJfSBlbHNlIGlmIChwYy0+Y1swXSA9PSBSRUFEXzYgfHwgcGMtPmNbMF0gPT0gV1JJVEVfNikgeworCQlzdHJ1Y3QgcmVxdWVzdCAqcnEgPSBkcml2ZS0+aHdpZi0+aHdncm91cC0+cnE7CisJCWludCBibG9ja3MgPSBwYy0+eGZlcnJlZCAvIHRhcGUtPmJsa19zaXplOworCisJCXRhcGUtPmF2Z19zaXplICs9IGJsb2NrcyAqIHRhcGUtPmJsa19zaXplOworCisJCWlmICh0aW1lX2FmdGVyX2VxKGppZmZpZXMsIHRhcGUtPmF2Z190aW1lICsgSFopKSB7CisJCQl0YXBlLT5hdmdfc3BlZWQgPSB0YXBlLT5hdmdfc2l6ZSAqIEhaIC8KKwkJCQkoamlmZmllcyAtIHRhcGUtPmF2Z190aW1lKSAvIDEwMjQ7CisJCQl0YXBlLT5hdmdfc2l6ZSA9IDA7CisJCQl0YXBlLT5hdmdfdGltZSA9IGppZmZpZXM7CisJCX0KKworCQl0YXBlLT5maXJzdF9mcmFtZSArPSBibG9ja3M7CisJCXJxLT5jdXJyZW50X25yX3NlY3RvcnMgLT0gYmxvY2tzOworCisJCWlmIChwYy0+ZXJyb3IpCisJCQl1cHRvZGF0ZSA9IHBjLT5lcnJvcjsKKwl9IGVsc2UgaWYgKHBjLT5jWzBdID09IFJFQURfUE9TSVRJT04gJiYgdXB0b2RhdGUpIHsKKwkJdTggKnJlYWRwb3MgPSB0YXBlLT5wYy0+YnVmOworCisJCWRlYnVnX2xvZyhEQkdfU0VOU0UsICJCT1AgLSAlc1xuIiwKKwkJCQkocmVhZHBvc1swXSAmIDB4ODApID8gIlllcyIgOiAiTm8iKTsKKwkJZGVidWdfbG9nKERCR19TRU5TRSwgIkVPUCAtICVzXG4iLAorCQkJCShyZWFkcG9zWzBdICYgMHg0MCkgPyAiWWVzIiA6ICJObyIpOworCisJCWlmIChyZWFkcG9zWzBdICYgMHg0KSB7CisJCQlwcmludGsoS0VSTl9JTkZPICJpZGUtdGFwZTogQmxvY2sgbG9jYXRpb24gaXMgdW5rbm93biIKKwkJCQkJICJ0byB0aGUgdGFwZVxuIik7CisJCQljbGVhcl9iaXQoSURFVEFQRV9GTEFHX0FERFJFU1NfVkFMSUQsICZ0YXBlLT5mbGFncyk7CisJCQl1cHRvZGF0ZSA9IDA7CisJCX0gZWxzZSB7CisJCQlkZWJ1Z19sb2coREJHX1NFTlNFLCAiQmxvY2sgTG9jYXRpb24gLSAldVxuIiwKKwkJCQkJYmUzMl90b19jcHUoKih1MzIgKikmcmVhZHBvc1s0XSkpOworCisJCQl0YXBlLT5wYXJ0aXRpb24gPSByZWFkcG9zWzFdOworCQkJdGFwZS0+Zmlyc3RfZnJhbWUgPSBiZTMyX3RvX2NwdSgqKHUzMiAqKSZyZWFkcG9zWzRdKTsKKwkJCXNldF9iaXQoSURFVEFQRV9GTEFHX0FERFJFU1NfVkFMSUQsICZ0YXBlLT5mbGFncyk7CisJCX0KIAl9Ci0JcmV0dXJuIGlkZV9zdG9wcGVkOworCisJaWRldGFwZV9lbmRfcmVxdWVzdChkcml2ZSwgdXB0b2RhdGUsIDApOworfQorCitzdGF0aWMgdm9pZCBpZGV0YXBlX2luaXRfcGMoc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMpCit7CisJbWVtc2V0KHBjLT5jLCAwLCAxMik7CisJcGMtPnJldHJpZXMgPSAwOworCXBjLT5mbGFncyA9IDA7CisJcGMtPnJlcV94ZmVyID0gMDsKKwlwYy0+YnVmID0gcGMtPnBjX2J1ZjsKKwlwYy0+YnVmX3NpemUgPSBJREVUQVBFX1BDX0JVRkZFUl9TSVpFOworCXBjLT5iaCA9IE5VTEw7CisJcGMtPmJfZGF0YSA9IE5VTEw7CisJcGMtPmNhbGxiYWNrID0gaWRlX3RhcGVfY2FsbGJhY2s7CiB9CiAKIHN0YXRpYyB2b2lkIGlkZXRhcGVfY3JlYXRlX3JlcXVlc3Rfc2Vuc2VfY21kKHN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjKQpAQCAtNjU3LDcgKzY5OSw2IEBACiAJcGMtPmNbMF0gPSBSRVFVRVNUX1NFTlNFOwogCXBjLT5jWzRdID0gMjA7CiAJcGMtPnJlcV94ZmVyID0gMjA7Ci0JcGMtPmlkZXRhcGVfY2FsbGJhY2sgPSAmaWRldGFwZV9yZXF1ZXN0X3NlbnNlX2NhbGxiYWNrOwogfQogCiBzdGF0aWMgdm9pZCBpZGV0YXBlX2luaXRfcnEoc3RydWN0IHJlcXVlc3QgKnJxLCB1OCBjbWQpCkBAIC02ODgsOSArNzI5LDEwIEBACiAJc3RydWN0IGlkZV90YXBlX29iaiAqdGFwZSA9IGRyaXZlLT5kcml2ZXJfZGF0YTsKIAogCWlkZXRhcGVfaW5pdF9ycShycSwgUkVRX0lERVRBUEVfUEMxKTsKKwlycS0+Y21kX2ZsYWdzIHw9IFJFUV9QUkVFTVBUOwogCXJxLT5idWZmZXIgPSAoY2hhciAqKSBwYzsKIAlycS0+cnFfZGlzayA9IHRhcGUtPmRpc2s7Ci0JKHZvaWQpIGlkZV9kb19kcml2ZV9jbWQoZHJpdmUsIHJxLCBpZGVfcHJlZW1wdCk7CisJaWRlX2RvX2RyaXZlX2NtZChkcml2ZSwgcnEpOwogfQogCiAvKgpAQCAtNjk4LDcgKzc0MCw3IEBACiAgKglsYXN0IHBhY2tldCBjb21tYW5kLiBXZSBxdWV1ZSBhIHJlcXVlc3Qgc2Vuc2UgcGFja2V0IGNvbW1hbmQgaW4KICAqCXRoZSBoZWFkIG9mIHRoZSByZXF1ZXN0IGxpc3QuCiAgKi8KLXN0YXRpYyBpZGVfc3RhcnRzdG9wX3QgaWRldGFwZV9yZXRyeV9wYyAoaWRlX2RyaXZlX3QgKmRyaXZlKQorc3RhdGljIHZvaWQgaWRldGFwZV9yZXRyeV9wYyhpZGVfZHJpdmVfdCAqZHJpdmUpCiB7CiAJaWRldGFwZV90YXBlX3QgKnRhcGUgPSBkcml2ZS0+ZHJpdmVyX2RhdGE7CiAJc3RydWN0IGlkZV9hdGFwaV9wYyAqcGM7CkBAIC03MTAsNyArNzUyLDYgQEAKIAlpZGV0YXBlX2NyZWF0ZV9yZXF1ZXN0X3NlbnNlX2NtZChwYyk7CiAJc2V0X2JpdChJREVUQVBFX0ZMQUdfSUdOT1JFX0RTQywgJnRhcGUtPmZsYWdzKTsKIAlpZGV0YXBlX3F1ZXVlX3BjX2hlYWQoZHJpdmUsIHBjLCBycSk7Ci0JcmV0dXJuIGlkZV9zdG9wcGVkOwogfQogCiAvKgpAQCAtNzI3LDcgKzc2OCwyNiBAQAogCWlkZV9zdGFsbF9xdWV1ZShkcml2ZSwgdGFwZS0+ZHNjX3BvbGxfZnJlcSk7CiB9CiAKLXR5cGVkZWYgdm9pZCBpZGV0YXBlX2lvX2J1ZihpZGVfZHJpdmVfdCAqLCBzdHJ1Y3QgaWRlX2F0YXBpX3BjICosIHVuc2lnbmVkIGludCk7CitzdGF0aWMgdm9pZCBpZGVfdGFwZV9oYW5kbGVfZHNjKGlkZV9kcml2ZV90ICpkcml2ZSkKK3sKKwlpZGV0YXBlX3RhcGVfdCAqdGFwZSA9IGRyaXZlLT5kcml2ZXJfZGF0YTsKKworCS8qIE1lZGlhIGFjY2VzcyBjb21tYW5kICovCisJdGFwZS0+ZHNjX3BvbGxpbmdfc3RhcnQgPSBqaWZmaWVzOworCXRhcGUtPmRzY19wb2xsX2ZyZXEgPSBJREVUQVBFX0RTQ19NQV9GQVNUOworCXRhcGUtPmRzY190aW1lb3V0ID0gamlmZmllcyArIElERVRBUEVfRFNDX01BX1RJTUVPVVQ7CisJLyogQWxsb3cgaWRlLmMgdG8gaGFuZGxlIG90aGVyIHJlcXVlc3RzICovCisJaWRldGFwZV9wb3N0cG9uZV9yZXF1ZXN0KGRyaXZlKTsKK30KKworc3RhdGljIHZvaWQgaWRlX3RhcGVfaW9fYnVmZmVycyhpZGVfZHJpdmVfdCAqZHJpdmUsIHN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjLAorCQkJCXVuc2lnbmVkIGludCBiY291bnQsIGludCB3cml0ZSkKK3sKKwlpZiAod3JpdGUpCisJCWlkZXRhcGVfb3V0cHV0X2J1ZmZlcnMoZHJpdmUsIHBjLCBiY291bnQpOworCWVsc2UKKwkJaWRldGFwZV9pbnB1dF9idWZmZXJzKGRyaXZlLCBwYywgYmNvdW50KTsKK30KIAogLyoKICAqIFRoaXMgaXMgdGhlIHVzdWFsIGludGVycnVwdCBoYW5kbGVyIHdoaWNoIHdpbGwgYmUgY2FsbGVkIGR1cmluZyBhIHBhY2tldApAQCAtNzM4LDE2OSArNzk4LDExIEBACiAgKi8KIHN0YXRpYyBpZGVfc3RhcnRzdG9wX3QgaWRldGFwZV9wY19pbnRyKGlkZV9kcml2ZV90ICpkcml2ZSkKIHsKLQlpZGVfaHdpZl90ICpod2lmID0gZHJpdmUtPmh3aWY7CiAJaWRldGFwZV90YXBlX3QgKnRhcGUgPSBkcml2ZS0+ZHJpdmVyX2RhdGE7Ci0Jc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMgPSB0YXBlLT5wYzsKLQl4ZmVyX2Z1bmNfdCAqeGZlcmZ1bmM7Ci0JaWRldGFwZV9pb19idWYgKmlvYnVmOwotCXVuc2lnbmVkIGludCB0ZW1wOwotI2lmIFNJTVVMQVRFX0VSUk9SUwotCXN0YXRpYyBpbnQgZXJyb3Jfc2ltX2NvdW50OwotI2VuZGlmCi0JdTE2IGJjb3VudDsKLQl1OCBzdGF0LCBpcmVhc29uOwogCi0JZGVidWdfbG9nKERCR19QUk9DUywgIkVudGVyICVzIC0gaW50ZXJydXB0IGhhbmRsZXJcbiIsIF9fZnVuY19fKTsKLQotCS8qIENsZWFyIHRoZSBpbnRlcnJ1cHQgKi8KLQlzdGF0ID0gaWRlX3JlYWRfc3RhdHVzKGRyaXZlKTsKLQotCWlmIChwYy0+ZmxhZ3MgJiBQQ19GTEFHX0RNQV9JTl9QUk9HUkVTUykgewotCQlpZiAoaHdpZi0+ZG1hX29wcy0+ZG1hX2VuZChkcml2ZSkgfHwgKHN0YXQgJiBFUlJfU1RBVCkpIHsKLQkJCS8qCi0JCQkgKiBBIERNQSBlcnJvciBpcyBzb21ldGltZXMgZXhwZWN0ZWQuIEZvciBleGFtcGxlLAotCQkJICogaWYgdGhlIHRhcGUgaXMgY3Jvc3NpbmcgYSBmaWxlbWFyayBkdXJpbmcgYQotCQkJICogUkVBRCBjb21tYW5kLCBpdCB3aWxsIGlzc3VlIGFuIGlycSBhbmQgcG9zaXRpb24KLQkJCSAqIGl0c2VsZiBiZWZvcmUgdGhlIGZpbGVtYXJrLCBzbyB0aGF0IG9ubHkgYSBwYXJ0aWFsCi0JCQkgKiBkYXRhIHRyYW5zZmVyIHdpbGwgb2NjdXIgKHdoaWNoIGNhdXNlcyB0aGUgRE1BCi0JCQkgKiBlcnJvcikuIEluIHRoYXQgY2FzZSwgd2Ugd2lsbCBsYXRlciBhc2sgdGhlIHRhcGUKLQkJCSAqIGhvdyBtdWNoIGJ5dGVzIG9mIHRoZSBvcmlnaW5hbCByZXF1ZXN0IHdlcmUKLQkJCSAqIGFjdHVhbGx5IHRyYW5zZmVycmVkICh3ZSBjYW4ndCByZWNlaXZlIHRoYXQKLQkJCSAqIGluZm9ybWF0aW9uIGZyb20gdGhlIERNQSBlbmdpbmUgb24gbW9zdCBjaGlwc2V0cykuCi0JCQkgKi8KLQotCQkJLyoKLQkJCSAqIE9uIHRoZSBjb250cmFyeSwgYSBETUEgZXJyb3IgaXMgbmV2ZXIgZXhwZWN0ZWQ7Ci0JCQkgKiBpdCB1c3VhbGx5IGluZGljYXRlcyBhIGhhcmR3YXJlIGVycm9yIG9yIGFib3J0LgotCQkJICogSWYgdGhlIHRhcGUgY3Jvc3NlcyBhIGZpbGVtYXJrIGR1cmluZyBhIFJFQUQKLQkJCSAqIGNvbW1hbmQsIGl0IHdpbGwgaXNzdWUgYW4gaXJxIGFuZCBwb3NpdGlvbiBpdHNlbGYKLQkJCSAqIGFmdGVyIHRoZSBmaWxlbWFyayAobm90IGJlZm9yZSkuIE9ubHkgYSBwYXJ0aWFsCi0JCQkgKiBkYXRhIHRyYW5zZmVyIHdpbGwgb2NjdXIsIGJ1dCBubyBETUEgZXJyb3IuCi0JCQkgKiAoQVMsIDE5IEFwciAyMDAxKQotCQkJICovCi0JCQlwYy0+ZmxhZ3MgfD0gUENfRkxBR19ETUFfRVJST1I7Ci0JCX0gZWxzZSB7Ci0JCQlwYy0+eGZlcnJlZCA9IHBjLT5yZXFfeGZlcjsKLQkJCWlkZXRhcGVfdXBkYXRlX2J1ZmZlcnMocGMpOwotCQl9Ci0JCWRlYnVnX2xvZyhEQkdfUFJPQ1MsICJETUEgZmluaXNoZWRcbiIpOwotCi0JfQotCi0JLyogTm8gbW9yZSBpbnRlcnJ1cHRzICovCi0JaWYgKChzdGF0ICYgRFJRX1NUQVQpID09IDApIHsKLQkJZGVidWdfbG9nKERCR19TRU5TRSwgIlBhY2tldCBjb21tYW5kIGNvbXBsZXRlZCwgJWQgYnl0ZXMiCi0JCQkJIiB0cmFuc2ZlcnJlZFxuIiwgcGMtPnhmZXJyZWQpOwotCi0JCXBjLT5mbGFncyAmPSB+UENfRkxBR19ETUFfSU5fUFJPR1JFU1M7Ci0JCWxvY2FsX2lycV9lbmFibGUoKTsKLQotI2lmIFNJTVVMQVRFX0VSUk9SUwotCQlpZiAoKHBjLT5jWzBdID09IFdSSVRFXzYgfHwgcGMtPmNbMF0gPT0gUkVBRF82KSAmJgotCQkgICAgKCsrZXJyb3Jfc2ltX2NvdW50ICUgMTAwKSA9PSAwKSB7Ci0JCQlwcmludGsoS0VSTl9JTkZPICJpZGUtdGFwZTogJXM6IHNpbXVsYXRpbmcgZXJyb3JcbiIsCi0JCQkJdGFwZS0+bmFtZSk7Ci0JCQlzdGF0IHw9IEVSUl9TVEFUOwotCQl9Ci0jZW5kaWYKLQkJaWYgKChzdGF0ICYgRVJSX1NUQVQpICYmIHBjLT5jWzBdID09IFJFUVVFU1RfU0VOU0UpCi0JCQlzdGF0ICY9IH5FUlJfU1RBVDsKLQkJaWYgKChzdGF0ICYgRVJSX1NUQVQpIHx8IChwYy0+ZmxhZ3MgJiBQQ19GTEFHX0RNQV9FUlJPUikpIHsKLQkJCS8qIEVycm9yIGRldGVjdGVkICovCi0JCQlkZWJ1Z19sb2coREJHX0VSUiwgIiVzOiBJL08gZXJyb3JcbiIsIHRhcGUtPm5hbWUpOwotCi0JCQlpZiAocGMtPmNbMF0gPT0gUkVRVUVTVF9TRU5TRSkgewotCQkJCXByaW50ayhLRVJOX0VSUiAiaWRlLXRhcGU6IEkvTyBlcnJvciBpbiByZXF1ZXN0IgotCQkJCQkJIiBzZW5zZSBjb21tYW5kXG4iKTsKLQkJCQlyZXR1cm4gaWRlX2RvX3Jlc2V0KGRyaXZlKTsKLQkJCX0KLQkJCWRlYnVnX2xvZyhEQkdfRVJSLCAiW2NtZCAleF06IGNoZWNrIGNvbmRpdGlvblxuIiwKLQkJCQkJcGMtPmNbMF0pOwotCi0JCQkvKiBSZXRyeSBvcGVyYXRpb24gKi8KLQkJCXJldHVybiBpZGV0YXBlX3JldHJ5X3BjKGRyaXZlKTsKLQkJfQotCQlwYy0+ZXJyb3IgPSAwOwotCQlpZiAoKHBjLT5mbGFncyAmIFBDX0ZMQUdfV0FJVF9GT1JfRFNDKSAmJgotCQkgICAgKHN0YXQgJiBTRUVLX1NUQVQpID09IDApIHsKLQkJCS8qIE1lZGlhIGFjY2VzcyBjb21tYW5kICovCi0JCQl0YXBlLT5kc2NfcG9sbGluZ19zdGFydCA9IGppZmZpZXM7Ci0JCQl0YXBlLT5kc2NfcG9sbF9mcmVxID0gSURFVEFQRV9EU0NfTUFfRkFTVDsKLQkJCXRhcGUtPmRzY190aW1lb3V0ID0gamlmZmllcyArIElERVRBUEVfRFNDX01BX1RJTUVPVVQ7Ci0JCQkvKiBBbGxvdyBpZGUuYyB0byBoYW5kbGUgb3RoZXIgcmVxdWVzdHMgKi8KLQkJCWlkZXRhcGVfcG9zdHBvbmVfcmVxdWVzdChkcml2ZSk7Ci0JCQlyZXR1cm4gaWRlX3N0b3BwZWQ7Ci0JCX0KLQkJaWYgKHRhcGUtPmZhaWxlZF9wYyA9PSBwYykKLQkJCXRhcGUtPmZhaWxlZF9wYyA9IE5VTEw7Ci0JCS8qIENvbW1hbmQgZmluaXNoZWQgLSBDYWxsIHRoZSBjYWxsYmFjayBmdW5jdGlvbiAqLwotCQlyZXR1cm4gcGMtPmlkZXRhcGVfY2FsbGJhY2soZHJpdmUpOwotCX0KLQotCWlmIChwYy0+ZmxhZ3MgJiBQQ19GTEFHX0RNQV9JTl9QUk9HUkVTUykgewotCQlwYy0+ZmxhZ3MgJj0gflBDX0ZMQUdfRE1BX0lOX1BST0dSRVNTOwotCQlwcmludGsoS0VSTl9FUlIgImlkZS10YXBlOiBUaGUgdGFwZSB3YW50cyB0byBpc3N1ZSBtb3JlICIKLQkJCQkiaW50ZXJydXB0cyBpbiBETUEgbW9kZVxuIik7Ci0JCXByaW50ayhLRVJOX0VSUiAiaWRlLXRhcGU6IERNQSBkaXNhYmxlZCwgcmV2ZXJ0aW5nIHRvIFBJT1xuIik7Ci0JCWlkZV9kbWFfb2ZmKGRyaXZlKTsKLQkJcmV0dXJuIGlkZV9kb19yZXNldChkcml2ZSk7Ci0JfQotCS8qIEdldCB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRvIHRyYW5zZmVyIG9uIHRoaXMgaW50ZXJydXB0LiAqLwotCWJjb3VudCA9IChod2lmLT5JTkIoaHdpZi0+aW9fcG9ydHMubGJhaF9hZGRyKSA8PCA4KSB8Ci0JCSAgaHdpZi0+SU5CKGh3aWYtPmlvX3BvcnRzLmxiYW1fYWRkcik7Ci0KLQlpcmVhc29uID0gaHdpZi0+SU5CKGh3aWYtPmlvX3BvcnRzLm5zZWN0X2FkZHIpOwotCi0JaWYgKGlyZWFzb24gJiBDRCkgewotCQlwcmludGsoS0VSTl9FUlIgImlkZS10YXBlOiBDb0QgIT0gMCBpbiAlc1xuIiwgX19mdW5jX18pOwotCQlyZXR1cm4gaWRlX2RvX3Jlc2V0KGRyaXZlKTsKLQl9Ci0JaWYgKCgoaXJlYXNvbiAmIElPKSA9PSBJTykgPT0gISEocGMtPmZsYWdzICYgUENfRkxBR19XUklUSU5HKSkgewotCQkvKiBIb3BlZnVsbHksIHdlIHdpbGwgbmV2ZXIgZ2V0IGhlcmUgKi8KLQkJcHJpbnRrKEtFUk5fRVJSICJpZGUtdGFwZTogV2Ugd2FudGVkIHRvICVzLCAiLAotCQkJCShpcmVhc29uICYgSU8pID8gIldyaXRlIiA6ICJSZWFkIik7Ci0JCXByaW50ayhLRVJOX0VSUiAiaWRlLXRhcGU6IGJ1dCB0aGUgdGFwZSB3YW50cyB1cyB0byAlcyAhXG4iLAotCQkJCShpcmVhc29uICYgSU8pID8gIlJlYWQiIDogIldyaXRlIik7Ci0JCXJldHVybiBpZGVfZG9fcmVzZXQoZHJpdmUpOwotCX0KLQlpZiAoIShwYy0+ZmxhZ3MgJiBQQ19GTEFHX1dSSVRJTkcpKSB7Ci0JCS8qIFJlYWRpbmcgLSBDaGVjayB0aGF0IHdlIGhhdmUgZW5vdWdoIHNwYWNlICovCi0JCXRlbXAgPSBwYy0+eGZlcnJlZCArIGJjb3VudDsKLQkJaWYgKHRlbXAgPiBwYy0+cmVxX3hmZXIpIHsKLQkJCWlmICh0ZW1wID4gcGMtPmJ1Zl9zaXplKSB7Ci0JCQkJcHJpbnRrKEtFUk5fRVJSICJpZGUtdGFwZTogVGhlIHRhcGUgd2FudHMgdG8gIgotCQkJCQkic2VuZCB1cyBtb3JlIGRhdGEgdGhhbiBleHBlY3RlZCAiCi0JCQkJCSItIGRpc2NhcmRpbmcgZGF0YVxuIik7Ci0JCQkJaWRlX3BhZF90cmFuc2Zlcihkcml2ZSwgMCwgYmNvdW50KTsKLQkJCQlpZGVfc2V0X2hhbmRsZXIoZHJpdmUsICZpZGV0YXBlX3BjX2ludHIsCi0JCQkJCQlJREVUQVBFX1dBSVRfQ01ELCBOVUxMKTsKLQkJCQlyZXR1cm4gaWRlX3N0YXJ0ZWQ7Ci0JCQl9Ci0JCQlkZWJ1Z19sb2coREJHX1NFTlNFLCAiVGhlIHRhcGUgd2FudHMgdG8gc2VuZCB1cyBtb3JlICIKLQkJCQkiZGF0YSB0aGFuIGV4cGVjdGVkIC0gYWxsb3dpbmcgdHJhbnNmZXJcbiIpOwotCQl9Ci0JCWlvYnVmID0gJmlkZXRhcGVfaW5wdXRfYnVmZmVyczsKLQkJeGZlcmZ1bmMgPSBod2lmLT5pbnB1dF9kYXRhOwotCX0gZWxzZSB7Ci0JCWlvYnVmID0gJmlkZXRhcGVfb3V0cHV0X2J1ZmZlcnM7Ci0JCXhmZXJmdW5jID0gaHdpZi0+b3V0cHV0X2RhdGE7Ci0JfQotCi0JaWYgKHBjLT5iaCkKLQkJaW9idWYoZHJpdmUsIHBjLCBiY291bnQpOwotCWVsc2UKLQkJeGZlcmZ1bmMoZHJpdmUsIE5VTEwsIHBjLT5jdXJfcG9zLCBiY291bnQpOwotCi0JLyogVXBkYXRlIHRoZSBjdXJyZW50IHBvc2l0aW9uICovCi0JcGMtPnhmZXJyZWQgKz0gYmNvdW50OwotCXBjLT5jdXJfcG9zICs9IGJjb3VudDsKLQotCWRlYnVnX2xvZyhEQkdfU0VOU0UsICJbY21kICV4XSB0cmFuc2ZlcnJlZCAlZCBieXRlcyBvbiB0aGF0IGludHIuXG4iLAotCQkJcGMtPmNbMF0sIGJjb3VudCk7Ci0KLQkvKiBBbmQgc2V0IHRoZSBpbnRlcnJ1cHQgaGFuZGxlciBhZ2FpbiAqLwotCWlkZV9zZXRfaGFuZGxlcihkcml2ZSwgJmlkZXRhcGVfcGNfaW50ciwgSURFVEFQRV9XQUlUX0NNRCwgTlVMTCk7Ci0JcmV0dXJuIGlkZV9zdGFydGVkOworCXJldHVybiBpZGVfcGNfaW50cihkcml2ZSwgdGFwZS0+cGMsIGlkZXRhcGVfcGNfaW50ciwgSURFVEFQRV9XQUlUX0NNRCwKKwkJCSAgIE5VTEwsIGlkZXRhcGVfdXBkYXRlX2J1ZmZlcnMsIGlkZXRhcGVfcmV0cnlfcGMsCisJCQkgICBpZGVfdGFwZV9oYW5kbGVfZHNjLCBpZGVfdGFwZV9pb19idWZmZXJzKTsKIH0KIAogLyoKQEAgLTk0MSw1NiArODQzLDE2IEBACiAgKi8KIHN0YXRpYyBpZGVfc3RhcnRzdG9wX3QgaWRldGFwZV90cmFuc2Zlcl9wYyhpZGVfZHJpdmVfdCAqZHJpdmUpCiB7Ci0JaWRlX2h3aWZfdCAqaHdpZiA9IGRyaXZlLT5od2lmOwogCWlkZXRhcGVfdGFwZV90ICp0YXBlID0gZHJpdmUtPmRyaXZlcl9kYXRhOwotCXN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjID0gdGFwZS0+cGM7Ci0JaW50IHJldHJpZXMgPSAxMDA7Ci0JaWRlX3N0YXJ0c3RvcF90IHN0YXJ0c3RvcDsKLQl1OCBpcmVhc29uOwogCi0JaWYgKGlkZV93YWl0X3N0YXQoJnN0YXJ0c3RvcCwgZHJpdmUsIERSUV9TVEFULCBCVVNZX1NUQVQsIFdBSVRfUkVBRFkpKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiaWRlLXRhcGU6IFN0cmFuZ2UsIHBhY2tldCBjb21tYW5kIGluaXRpYXRlZCAiCi0JCQkJInlldCBEUlEgaXNuJ3QgYXNzZXJ0ZWRcbiIpOwotCQlyZXR1cm4gc3RhcnRzdG9wOwotCX0KLQlpcmVhc29uID0gaHdpZi0+SU5CKGh3aWYtPmlvX3BvcnRzLm5zZWN0X2FkZHIpOwotCXdoaWxlIChyZXRyaWVzLS0gJiYgKChpcmVhc29uICYgQ0QpID09IDAgfHwgKGlyZWFzb24gJiBJTykpKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiaWRlLXRhcGU6IChJTyxDb0QgIT0gKDAsMSkgd2hpbGUgaXNzdWluZyAiCi0JCQkJImEgcGFja2V0IGNvbW1hbmQsIHJldHJ5aW5nXG4iKTsKLQkJdWRlbGF5KDEwMCk7Ci0JCWlyZWFzb24gPSBod2lmLT5JTkIoaHdpZi0+aW9fcG9ydHMubnNlY3RfYWRkcik7Ci0JCWlmIChyZXRyaWVzID09IDApIHsKLQkJCXByaW50ayhLRVJOX0VSUiAiaWRlLXRhcGU6IChJTyxDb0QgIT0gKDAsMSkgd2hpbGUgIgotCQkJCQkiaXNzdWluZyBhIHBhY2tldCBjb21tYW5kLCBpZ25vcmluZ1xuIik7Ci0JCQlpcmVhc29uIHw9IENEOwotCQkJaXJlYXNvbiAmPSB+SU87Ci0JCX0KLQl9Ci0JaWYgKChpcmVhc29uICYgQ0QpID09IDAgfHwgKGlyZWFzb24gJiBJTykpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJpZGUtdGFwZTogKElPLENvRCkgIT0gKDAsMSkgd2hpbGUgaXNzdWluZyAiCi0JCQkJImEgcGFja2V0IGNvbW1hbmRcbiIpOwotCQlyZXR1cm4gaWRlX2RvX3Jlc2V0KGRyaXZlKTsKLQl9Ci0JLyogU2V0IHRoZSBpbnRlcnJ1cHQgcm91dGluZSAqLwotCWlkZV9zZXRfaGFuZGxlcihkcml2ZSwgJmlkZXRhcGVfcGNfaW50ciwgSURFVEFQRV9XQUlUX0NNRCwgTlVMTCk7Ci0jaWZkZWYgQ09ORklHX0JMS19ERVZfSURFRE1BCi0JLyogQmVnaW4gRE1BLCBpZiBuZWNlc3NhcnkgKi8KLQlpZiAocGMtPmZsYWdzICYgUENfRkxBR19ETUFfSU5fUFJPR1JFU1MpCi0JCWh3aWYtPmRtYV9vcHMtPmRtYV9zdGFydChkcml2ZSk7Ci0jZW5kaWYKLQkvKiBTZW5kIHRoZSBhY3R1YWwgcGFja2V0ICovCi0JaHdpZi0+b3V0cHV0X2RhdGEoZHJpdmUsIE5VTEwsIHBjLT5jLCAxMik7Ci0KLQlyZXR1cm4gaWRlX3N0YXJ0ZWQ7CisJcmV0dXJuIGlkZV90cmFuc2Zlcl9wYyhkcml2ZSwgdGFwZS0+cGMsIGlkZXRhcGVfcGNfaW50ciwKKwkJCSAgICAgICBJREVUQVBFX1dBSVRfQ01ELCBOVUxMKTsKIH0KIAogc3RhdGljIGlkZV9zdGFydHN0b3BfdCBpZGV0YXBlX2lzc3VlX3BjKGlkZV9kcml2ZV90ICpkcml2ZSwKIAkJc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMpCiB7Ci0JaWRlX2h3aWZfdCAqaHdpZiA9IGRyaXZlLT5od2lmOwogCWlkZXRhcGVfdGFwZV90ICp0YXBlID0gZHJpdmUtPmRyaXZlcl9kYXRhOwotCWludCBkbWFfb2sgPSAwOwotCXUxNiBiY291bnQ7CiAKIAlpZiAodGFwZS0+cGMtPmNbMF0gPT0gUkVRVUVTVF9TRU5TRSAmJgogCSAgICBwYy0+Y1swXSA9PSBSRVFVRVNUX1NFTlNFKSB7CkBAIC0xMDI1LDUwICs4ODcsMTUgQEAKIAkJCXBjLT5lcnJvciA9IElERVRBUEVfRVJST1JfR0VORVJBTDsKIAkJfQogCQl0YXBlLT5mYWlsZWRfcGMgPSBOVUxMOwotCQlyZXR1cm4gcGMtPmlkZXRhcGVfY2FsbGJhY2soZHJpdmUpOworCQlwYy0+Y2FsbGJhY2soZHJpdmUpOworCQlyZXR1cm4gaWRlX3N0b3BwZWQ7CiAJfQogCWRlYnVnX2xvZyhEQkdfU0VOU0UsICJSZXRyeSAjJWQsIGNtZCA9ICUwMlhcbiIsIHBjLT5yZXRyaWVzLCBwYy0+Y1swXSk7CiAKIAlwYy0+cmV0cmllcysrOwotCS8qIFdlIGhhdmVuJ3QgdHJhbnNmZXJyZWQgYW55IGRhdGEgeWV0ICovCi0JcGMtPnhmZXJyZWQgPSAwOwotCXBjLT5jdXJfcG9zID0gcGMtPmJ1ZjsKLQkvKiBSZXF1ZXN0IHRvIHRyYW5zZmVyIHRoZSBlbnRpcmUgYnVmZmVyIGF0IG9uY2UgKi8KLQliY291bnQgPSBwYy0+cmVxX3hmZXI7CiAKLQlpZiAocGMtPmZsYWdzICYgUENfRkxBR19ETUFfRVJST1IpIHsKLQkJcGMtPmZsYWdzICY9IH5QQ19GTEFHX0RNQV9FUlJPUjsKLQkJcHJpbnRrKEtFUk5fV0FSTklORyAiaWRlLXRhcGU6IERNQSBkaXNhYmxlZCwgIgotCQkJCSJyZXZlcnRpbmcgdG8gUElPXG4iKTsKLQkJaWRlX2RtYV9vZmYoZHJpdmUpOwotCX0KLQlpZiAoKHBjLT5mbGFncyAmIFBDX0ZMQUdfRE1BX1JFQ09NTUVOREVEKSAmJiBkcml2ZS0+dXNpbmdfZG1hKQotCQlkbWFfb2sgPSAhaHdpZi0+ZG1hX29wcy0+ZG1hX3NldHVwKGRyaXZlKTsKLQotCWlkZV9wa3RjbWRfdGZfbG9hZChkcml2ZSwgSURFX1RGTEFHX05PX1NFTEVDVF9NQVNLIHwKLQkJCSAgIElERV9URkxBR19PVVRfREVWSUNFLCBiY291bnQsIGRtYV9vayk7Ci0KLQlpZiAoZG1hX29rKQotCQkvKiBXaWxsIGJlZ2luIERNQSBsYXRlciAqLwotCQlwYy0+ZmxhZ3MgfD0gUENfRkxBR19ETUFfSU5fUFJPR1JFU1M7Ci0JaWYgKHRlc3RfYml0KElERVRBUEVfRkxBR19EUlFfSU5URVJSVVBULCAmdGFwZS0+ZmxhZ3MpKSB7Ci0JCWlkZV9leGVjdXRlX2NvbW1hbmQoZHJpdmUsIFdJTl9QQUNLRVRDTUQsICZpZGV0YXBlX3RyYW5zZmVyX3BjLAotCQkJCSAgICBJREVUQVBFX1dBSVRfQ01ELCBOVUxMKTsKLQkJcmV0dXJuIGlkZV9zdGFydGVkOwotCX0gZWxzZSB7Ci0JCWlkZV9leGVjdXRlX3BrdF9jbWQoZHJpdmUpOwotCQlyZXR1cm4gaWRldGFwZV90cmFuc2Zlcl9wYyhkcml2ZSk7Ci0JfQotfQotCi1zdGF0aWMgaWRlX3N0YXJ0c3RvcF90IGlkZXRhcGVfcGNfY2FsbGJhY2soaWRlX2RyaXZlX3QgKmRyaXZlKQotewotCWlkZXRhcGVfdGFwZV90ICp0YXBlID0gZHJpdmUtPmRyaXZlcl9kYXRhOwotCi0JZGVidWdfbG9nKERCR19QUk9DUywgIkVudGVyICVzXG4iLCBfX2Z1bmNfXyk7Ci0KLQlpZGV0YXBlX2VuZF9yZXF1ZXN0KGRyaXZlLCB0YXBlLT5wYy0+ZXJyb3IgPyAwIDogMSwgMCk7Ci0JcmV0dXJuIGlkZV9zdG9wcGVkOworCXJldHVybiBpZGVfaXNzdWVfcGMoZHJpdmUsIHBjLCBpZGV0YXBlX3RyYW5zZmVyX3BjLAorCQkJICAgIElERVRBUEVfV0FJVF9DTUQsIE5VTEwpOwogfQogCiAvKiBBIG1vZGUgc2Vuc2UgY29tbWFuZCBpcyB1c2VkIHRvICJzZW5zZSIgdGFwZSBwYXJhbWV0ZXJzLiAqLwpAQCAtMTA5Niw3ICs5MjMsNiBAQAogCQlwYy0+cmVxX3hmZXIgPSAyNDsKIAllbHNlCiAJCXBjLT5yZXFfeGZlciA9IDUwOwotCXBjLT5pZGV0YXBlX2NhbGxiYWNrID0gJmlkZXRhcGVfcGNfY2FsbGJhY2s7CiB9CiAKIHN0YXRpYyBpZGVfc3RhcnRzdG9wX3QgaWRldGFwZV9tZWRpYV9hY2Nlc3NfZmluaXNoZWQoaWRlX2RyaXZlX3QgKmRyaXZlKQpAQCAtMTExNCw4MCArOTQwLDQxIEBACiAJCQkJcHJpbnRrKEtFUk5fRVJSICJpZGUtdGFwZTogJXM6IEkvTyBlcnJvciwgIiwKIAkJCQkJCXRhcGUtPm5hbWUpOwogCQkJLyogUmV0cnkgb3BlcmF0aW9uICovCi0JCQlyZXR1cm4gaWRldGFwZV9yZXRyeV9wYyhkcml2ZSk7CisJCQlpZGV0YXBlX3JldHJ5X3BjKGRyaXZlKTsKKwkJCXJldHVybiBpZGVfc3RvcHBlZDsKIAkJfQogCQlwYy0+ZXJyb3IgPSAwOwotCQlpZiAodGFwZS0+ZmFpbGVkX3BjID09IHBjKQotCQkJdGFwZS0+ZmFpbGVkX3BjID0gTlVMTDsKIAl9IGVsc2UgewogCQlwYy0+ZXJyb3IgPSBJREVUQVBFX0VSUk9SX0dFTkVSQUw7CiAJCXRhcGUtPmZhaWxlZF9wYyA9IE5VTEw7CiAJfQotCXJldHVybiBwYy0+aWRldGFwZV9jYWxsYmFjayhkcml2ZSk7Ci19Ci0KLXN0YXRpYyBpZGVfc3RhcnRzdG9wX3QgaWRldGFwZV9yd19jYWxsYmFjayhpZGVfZHJpdmVfdCAqZHJpdmUpCi17Ci0JaWRldGFwZV90YXBlX3QgKnRhcGUgPSBkcml2ZS0+ZHJpdmVyX2RhdGE7Ci0Jc3RydWN0IHJlcXVlc3QgKnJxID0gSFdHUk9VUChkcml2ZSktPnJxOwotCWludCBibG9ja3MgPSB0YXBlLT5wYy0+eGZlcnJlZCAvIHRhcGUtPmJsa19zaXplOwotCi0JdGFwZS0+YXZnX3NpemUgKz0gYmxvY2tzICogdGFwZS0+YmxrX3NpemU7Ci0KLQlpZiAodGltZV9hZnRlcl9lcShqaWZmaWVzLCB0YXBlLT5hdmdfdGltZSArIEhaKSkgewotCQl0YXBlLT5hdmdfc3BlZWQgPSB0YXBlLT5hdmdfc2l6ZSAqIEhaIC8KLQkJCQkoamlmZmllcyAtIHRhcGUtPmF2Z190aW1lKSAvIDEwMjQ7Ci0JCXRhcGUtPmF2Z19zaXplID0gMDsKLQkJdGFwZS0+YXZnX3RpbWUgPSBqaWZmaWVzOwotCX0KLQlkZWJ1Z19sb2coREJHX1BST0NTLCAiRW50ZXIgJXNcbiIsIF9fZnVuY19fKTsKLQotCXRhcGUtPmZpcnN0X2ZyYW1lICs9IGJsb2NrczsKLQlycS0+Y3VycmVudF9ucl9zZWN0b3JzIC09IGJsb2NrczsKLQotCWlmICghdGFwZS0+cGMtPmVycm9yKQotCQlpZGV0YXBlX2VuZF9yZXF1ZXN0KGRyaXZlLCAxLCAwKTsKLQllbHNlCi0JCWlkZXRhcGVfZW5kX3JlcXVlc3QoZHJpdmUsIHRhcGUtPnBjLT5lcnJvciwgMCk7CisJcGMtPmNhbGxiYWNrKGRyaXZlKTsKIAlyZXR1cm4gaWRlX3N0b3BwZWQ7CiB9CiAKLXN0YXRpYyB2b2lkIGlkZXRhcGVfY3JlYXRlX3JlYWRfY21kKGlkZXRhcGVfdGFwZV90ICp0YXBlLAotCQlzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYywKLQkJdW5zaWduZWQgaW50IGxlbmd0aCwgc3RydWN0IGlkZXRhcGVfYmggKmJoKQorc3RhdGljIHZvaWQgaWRlX3RhcGVfY3JlYXRlX3J3X2NtZChpZGV0YXBlX3RhcGVfdCAqdGFwZSwKKwkJc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMsIHVuc2lnbmVkIGludCBsZW5ndGgsCisJCXN0cnVjdCBpZGV0YXBlX2JoICpiaCwgdTggb3Bjb2RlKQogewogCWlkZXRhcGVfaW5pdF9wYyhwYyk7Ci0JcGMtPmNbMF0gPSBSRUFEXzY7CiAJcHV0X3VuYWxpZ25lZChjcHVfdG9fYmUzMihsZW5ndGgpLCAodW5zaWduZWQgaW50ICopICZwYy0+Y1sxXSk7CiAJcGMtPmNbMV0gPSAxOwotCXBjLT5pZGV0YXBlX2NhbGxiYWNrID0gJmlkZXRhcGVfcndfY2FsbGJhY2s7CiAJcGMtPmJoID0gYmg7Ci0JYXRvbWljX3NldCgmYmgtPmJfY291bnQsIDApOwogCXBjLT5idWYgPSBOVUxMOwogCXBjLT5idWZfc2l6ZSA9IGxlbmd0aCAqIHRhcGUtPmJsa19zaXplOwogCXBjLT5yZXFfeGZlciA9IHBjLT5idWZfc2l6ZTsKIAlpZiAocGMtPnJlcV94ZmVyID09IHRhcGUtPmJ1ZmZlcl9zaXplKQotCQlwYy0+ZmxhZ3MgfD0gUENfRkxBR19ETUFfUkVDT01NRU5ERUQ7Ci19CisJCXBjLT5mbGFncyB8PSBQQ19GTEFHX0RNQV9PSzsKIAotc3RhdGljIHZvaWQgaWRldGFwZV9jcmVhdGVfd3JpdGVfY21kKGlkZXRhcGVfdGFwZV90ICp0YXBlLAotCQlzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYywKLQkJdW5zaWduZWQgaW50IGxlbmd0aCwgc3RydWN0IGlkZXRhcGVfYmggKmJoKQotewotCWlkZXRhcGVfaW5pdF9wYyhwYyk7Ci0JcGMtPmNbMF0gPSBXUklURV82OwotCXB1dF91bmFsaWduZWQoY3B1X3RvX2JlMzIobGVuZ3RoKSwgKHVuc2lnbmVkIGludCAqKSAmcGMtPmNbMV0pOwotCXBjLT5jWzFdID0gMTsKLQlwYy0+aWRldGFwZV9jYWxsYmFjayA9ICZpZGV0YXBlX3J3X2NhbGxiYWNrOwotCXBjLT5mbGFncyB8PSBQQ19GTEFHX1dSSVRJTkc7Ci0JcGMtPmJoID0gYmg7Ci0JcGMtPmJfZGF0YSA9IGJoLT5iX2RhdGE7Ci0JcGMtPmJfY291bnQgPSBhdG9taWNfcmVhZCgmYmgtPmJfY291bnQpOwotCXBjLT5idWYgPSBOVUxMOwotCXBjLT5idWZfc2l6ZSA9IGxlbmd0aCAqIHRhcGUtPmJsa19zaXplOwotCXBjLT5yZXFfeGZlciA9IHBjLT5idWZfc2l6ZTsKLQlpZiAocGMtPnJlcV94ZmVyID09IHRhcGUtPmJ1ZmZlcl9zaXplKQotCQlwYy0+ZmxhZ3MgfD0gUENfRkxBR19ETUFfUkVDT01NRU5ERUQ7CisJaWYgKG9wY29kZSA9PSBSRUFEXzYpIHsKKwkJcGMtPmNbMF0gPSBSRUFEXzY7CisJCWF0b21pY19zZXQoJmJoLT5iX2NvdW50LCAwKTsKKwl9IGVsc2UgaWYgKG9wY29kZSA9PSBXUklURV82KSB7CisJCXBjLT5jWzBdID0gV1JJVEVfNjsKKwkJcGMtPmZsYWdzIHw9IFBDX0ZMQUdfV1JJVElORzsKKwkJcGMtPmJfZGF0YSA9IGJoLT5iX2RhdGE7CisJCXBjLT5iX2NvdW50ID0gYXRvbWljX3JlYWQoJmJoLT5iX2NvdW50KTsKKwl9CiB9CiAKIHN0YXRpYyBpZGVfc3RhcnRzdG9wX3QgaWRldGFwZV9kb19yZXF1ZXN0KGlkZV9kcml2ZV90ICpkcml2ZSwKQEAgLTEyMTEsOCArOTk4LDEwIEBACiAJfQogCiAJLyogUmV0cnkgYSBmYWlsZWQgcGFja2V0IGNvbW1hbmQgKi8KLQlpZiAodGFwZS0+ZmFpbGVkX3BjICYmIHRhcGUtPnBjLT5jWzBdID09IFJFUVVFU1RfU0VOU0UpCi0JCXJldHVybiBpZGV0YXBlX2lzc3VlX3BjKGRyaXZlLCB0YXBlLT5mYWlsZWRfcGMpOworCWlmICh0YXBlLT5mYWlsZWRfcGMgJiYgdGFwZS0+cGMtPmNbMF0gPT0gUkVRVUVTVF9TRU5TRSkgeworCQlwYyA9IHRhcGUtPmZhaWxlZF9wYzsKKwkJZ290byBvdXQ7CisJfQogCiAJaWYgKHBvc3Rwb25lZF9ycSAhPSBOVUxMKQogCQlpZiAocnEgIT0gcG9zdHBvbmVkX3JxKSB7CkBAIC0xMjYyLDE0ICsxMDUxLDE2IEBACiAJfQogCWlmIChycS0+Y21kWzBdICYgUkVRX0lERVRBUEVfUkVBRCkgewogCQlwYyA9IGlkZXRhcGVfbmV4dF9wY19zdG9yYWdlKGRyaXZlKTsKLQkJaWRldGFwZV9jcmVhdGVfcmVhZF9jbWQodGFwZSwgcGMsIHJxLT5jdXJyZW50X25yX3NlY3RvcnMsCi0JCQkJCShzdHJ1Y3QgaWRldGFwZV9iaCAqKXJxLT5zcGVjaWFsKTsKKwkJaWRlX3RhcGVfY3JlYXRlX3J3X2NtZCh0YXBlLCBwYywgcnEtPmN1cnJlbnRfbnJfc2VjdG9ycywKKwkJCQkJKHN0cnVjdCBpZGV0YXBlX2JoICopcnEtPnNwZWNpYWwsCisJCQkJCVJFQURfNik7CiAJCWdvdG8gb3V0OwogCX0KIAlpZiAocnEtPmNtZFswXSAmIFJFUV9JREVUQVBFX1dSSVRFKSB7CiAJCXBjID0gaWRldGFwZV9uZXh0X3BjX3N0b3JhZ2UoZHJpdmUpOwotCQlpZGV0YXBlX2NyZWF0ZV93cml0ZV9jbWQodGFwZSwgcGMsIHJxLT5jdXJyZW50X25yX3NlY3RvcnMsCi0JCQkJCSAoc3RydWN0IGlkZXRhcGVfYmggKilycS0+c3BlY2lhbCk7CisJCWlkZV90YXBlX2NyZWF0ZV9yd19jbWQodGFwZSwgcGMsIHJxLT5jdXJyZW50X25yX3NlY3RvcnMsCisJCQkJCSAoc3RydWN0IGlkZXRhcGVfYmggKilycS0+c3BlY2lhbCwKKwkJCQkJIFdSSVRFXzYpOwogCQlnb3RvIG91dDsKIAl9CiAJaWYgKHJxLT5jbWRbMF0gJiBSRVFfSURFVEFQRV9QQzEpIHsKQEAgLTEyODQsNiArMTA3NSw5IEBACiAJfQogCUJVRygpOwogb3V0OgorCWlmICh0ZXN0X2JpdChJREVUQVBFX0ZMQUdfRFJRX0lOVEVSUlVQVCwgJnRhcGUtPmZsYWdzKSkKKwkJcGMtPmZsYWdzIHw9IFBDX0ZMQUdfRFJRX0lOVEVSUlVQVDsKKwogCXJldHVybiBpZGV0YXBlX2lzc3VlX3BjKGRyaXZlLCBwYyk7CiB9CiAKQEAgLTE0NDcsNDAgKzEyNDEsNiBAQAogCX0KIH0KIAotc3RhdGljIGlkZV9zdGFydHN0b3BfdCBpZGV0YXBlX3JlYWRfcG9zaXRpb25fY2FsbGJhY2soaWRlX2RyaXZlX3QgKmRyaXZlKQotewotCWlkZXRhcGVfdGFwZV90ICp0YXBlID0gZHJpdmUtPmRyaXZlcl9kYXRhOwotCXU4ICpyZWFkcG9zID0gdGFwZS0+cGMtPmJ1ZjsKLQotCWRlYnVnX2xvZyhEQkdfUFJPQ1MsICJFbnRlciAlc1xuIiwgX19mdW5jX18pOwotCi0JaWYgKCF0YXBlLT5wYy0+ZXJyb3IpIHsKLQkJZGVidWdfbG9nKERCR19TRU5TRSwgIkJPUCAtICVzXG4iLAotCQkJCShyZWFkcG9zWzBdICYgMHg4MCkgPyAiWWVzIiA6ICJObyIpOwotCQlkZWJ1Z19sb2coREJHX1NFTlNFLCAiRU9QIC0gJXNcbiIsCi0JCQkJKHJlYWRwb3NbMF0gJiAweDQwKSA/ICJZZXMiIDogIk5vIik7Ci0KLQkJaWYgKHJlYWRwb3NbMF0gJiAweDQpIHsKLQkJCXByaW50ayhLRVJOX0lORk8gImlkZS10YXBlOiBCbG9jayBsb2NhdGlvbiBpcyB1bmtub3duIgotCQkJCQkgInRvIHRoZSB0YXBlXG4iKTsKLQkJCWNsZWFyX2JpdChJREVUQVBFX0ZMQUdfQUREUkVTU19WQUxJRCwgJnRhcGUtPmZsYWdzKTsKLQkJCWlkZXRhcGVfZW5kX3JlcXVlc3QoZHJpdmUsIDAsIDApOwotCQl9IGVsc2UgewotCQkJZGVidWdfbG9nKERCR19TRU5TRSwgIkJsb2NrIExvY2F0aW9uIC0gJXVcbiIsCi0JCQkJCWJlMzJfdG9fY3B1KCoodTMyICopJnJlYWRwb3NbNF0pKTsKLQotCQkJdGFwZS0+cGFydGl0aW9uID0gcmVhZHBvc1sxXTsKLQkJCXRhcGUtPmZpcnN0X2ZyYW1lID0KLQkJCQliZTMyX3RvX2NwdSgqKHUzMiAqKSZyZWFkcG9zWzRdKTsKLQkJCXNldF9iaXQoSURFVEFQRV9GTEFHX0FERFJFU1NfVkFMSUQsICZ0YXBlLT5mbGFncyk7Ci0JCQlpZGV0YXBlX2VuZF9yZXF1ZXN0KGRyaXZlLCAxLCAwKTsKLQkJfQotCX0gZWxzZSB7Ci0JCWlkZXRhcGVfZW5kX3JlcXVlc3QoZHJpdmUsIDAsIDApOwotCX0KLQlyZXR1cm4gaWRlX3N0b3BwZWQ7Ci19Ci0KIC8qCiAgKiBXcml0ZSBhIGZpbGVtYXJrIGlmIHdyaXRlX2ZpbGVtYXJrPTEuIEZsdXNoIHRoZSBkZXZpY2UgYnVmZmVycyB3aXRob3V0CiAgKiB3cml0aW5nIGEgZmlsZW1hcmsgb3RoZXJ3aXNlLgpAQCAtMTQ5MiwxNCArMTI1MiwxMiBAQAogCXBjLT5jWzBdID0gV1JJVEVfRklMRU1BUktTOwogCXBjLT5jWzRdID0gd3JpdGVfZmlsZW1hcms7CiAJcGMtPmZsYWdzIHw9IFBDX0ZMQUdfV0FJVF9GT1JfRFNDOwotCXBjLT5pZGV0YXBlX2NhbGxiYWNrID0gJmlkZXRhcGVfcGNfY2FsbGJhY2s7CiB9CiAKIHN0YXRpYyB2b2lkIGlkZXRhcGVfY3JlYXRlX3Rlc3RfdW5pdF9yZWFkeV9jbWQoc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMpCiB7CiAJaWRldGFwZV9pbml0X3BjKHBjKTsKIAlwYy0+Y1swXSA9IFRFU1RfVU5JVF9SRUFEWTsKLQlwYy0+aWRldGFwZV9jYWxsYmFjayA9ICZpZGV0YXBlX3BjX2NhbGxiYWNrOwogfQogCiAvKgpAQCAtMTUxOCwxMiArMTI3NiwxNiBAQAogc3RhdGljIGludCBpZGV0YXBlX3F1ZXVlX3BjX3RhaWwoaWRlX2RyaXZlX3QgKmRyaXZlLCBzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYykKIHsKIAlzdHJ1Y3QgaWRlX3RhcGVfb2JqICp0YXBlID0gZHJpdmUtPmRyaXZlcl9kYXRhOwotCXN0cnVjdCByZXF1ZXN0IHJxOworCXN0cnVjdCByZXF1ZXN0ICpycTsKKwlpbnQgZXJyb3I7CiAKLQlpZGV0YXBlX2luaXRfcnEoJnJxLCBSRVFfSURFVEFQRV9QQzEpOwotCXJxLmJ1ZmZlciA9IChjaGFyICopIHBjOwotCXJxLnJxX2Rpc2sgPSB0YXBlLT5kaXNrOwotCXJldHVybiBpZGVfZG9fZHJpdmVfY21kKGRyaXZlLCAmcnEsIGlkZV93YWl0KTsKKwlycSA9IGJsa19nZXRfcmVxdWVzdChkcml2ZS0+cXVldWUsIFJFQUQsIF9fR0ZQX1dBSVQpOworCXJxLT5jbWRfdHlwZSA9IFJFUV9UWVBFX1NQRUNJQUw7CisJcnEtPmNtZFswXSA9IFJFUV9JREVUQVBFX1BDMTsKKwlycS0+YnVmZmVyID0gKGNoYXIgKilwYzsKKwllcnJvciA9IGJsa19leGVjdXRlX3JxKGRyaXZlLT5xdWV1ZSwgdGFwZS0+ZGlzaywgcnEsIDApOworCWJsa19wdXRfcmVxdWVzdChycSk7CisJcmV0dXJuIGVycm9yOwogfQogCiBzdGF0aWMgdm9pZCBpZGV0YXBlX2NyZWF0ZV9sb2FkX3VubG9hZF9jbWQoaWRlX2RyaXZlX3QgKmRyaXZlLApAQCAtMTUzMyw3ICsxMjk1LDYgQEAKIAlwYy0+Y1swXSA9IFNUQVJUX1NUT1A7CiAJcGMtPmNbNF0gPSBjbWQ7CiAJcGMtPmZsYWdzIHw9IFBDX0ZMQUdfV0FJVF9GT1JfRFNDOwotCXBjLT5pZGV0YXBlX2NhbGxiYWNrID0gJmlkZXRhcGVfcGNfY2FsbGJhY2s7CiB9CiAKIHN0YXRpYyBpbnQgaWRldGFwZV93YWl0X3JlYWR5KGlkZV9kcml2ZV90ICpkcml2ZSwgdW5zaWduZWQgbG9uZyB0aW1lb3V0KQpAQCAtMTU4NSw3ICsxMzQ2LDYgQEAKIAlpZGV0YXBlX2luaXRfcGMocGMpOwogCXBjLT5jWzBdID0gUkVBRF9QT1NJVElPTjsKIAlwYy0+cmVxX3hmZXIgPSAyMDsKLQlwYy0+aWRldGFwZV9jYWxsYmFjayA9ICZpZGV0YXBlX3JlYWRfcG9zaXRpb25fY2FsbGJhY2s7CiB9CiAKIHN0YXRpYyBpbnQgaWRldGFwZV9yZWFkX3Bvc2l0aW9uKGlkZV9kcml2ZV90ICpkcml2ZSkKQEAgLTE2MTMsNyArMTM3Myw2IEBACiAJcHV0X3VuYWxpZ25lZChjcHVfdG9fYmUzMihibG9jayksICh1bnNpZ25lZCBpbnQgKikgJnBjLT5jWzNdKTsKIAlwYy0+Y1s4XSA9IHBhcnRpdGlvbjsKIAlwYy0+ZmxhZ3MgfD0gUENfRkxBR19XQUlUX0ZPUl9EU0M7Ci0JcGMtPmlkZXRhcGVfY2FsbGJhY2sgPSAmaWRldGFwZV9wY19jYWxsYmFjazsKIH0KIAogc3RhdGljIGludCBpZGV0YXBlX2NyZWF0ZV9wcmV2ZW50X2NtZChpZGVfZHJpdmVfdCAqZHJpdmUsCkBAIC0xNjI4LDcgKzEzODcsNiBAQAogCWlkZXRhcGVfaW5pdF9wYyhwYyk7CiAJcGMtPmNbMF0gPSBBTExPV19NRURJVU1fUkVNT1ZBTDsKIAlwYy0+Y1s0XSA9IHByZXZlbnQ7Ci0JcGMtPmlkZXRhcGVfY2FsbGJhY2sgPSAmaWRldGFwZV9wY19jYWxsYmFjazsKIAlyZXR1cm4gMTsKIH0KIApAQCAtMTcwMCwyNiArMTQ1OCwzMyBAQAogCQkJCSBzdHJ1Y3QgaWRldGFwZV9iaCAqYmgpCiB7CiAJaWRldGFwZV90YXBlX3QgKnRhcGUgPSBkcml2ZS0+ZHJpdmVyX2RhdGE7Ci0Jc3RydWN0IHJlcXVlc3QgcnE7CisJc3RydWN0IHJlcXVlc3QgKnJxOworCWludCByZXQsIGVycm9yczsKIAogCWRlYnVnX2xvZyhEQkdfU0VOU0UsICIlczogY21kPSVkXG4iLCBfX2Z1bmNfXywgY21kKTsKIAotCWlkZXRhcGVfaW5pdF9ycSgmcnEsIGNtZCk7Ci0JcnEucnFfZGlzayA9IHRhcGUtPmRpc2s7Ci0JcnEuc3BlY2lhbCA9ICh2b2lkICopYmg7Ci0JcnEuc2VjdG9yID0gdGFwZS0+Zmlyc3RfZnJhbWU7Ci0JcnEubnJfc2VjdG9ycwkJPSBibG9ja3M7Ci0JcnEuY3VycmVudF9ucl9zZWN0b3JzCT0gYmxvY2tzOwotCSh2b2lkKSBpZGVfZG9fZHJpdmVfY21kKGRyaXZlLCAmcnEsIGlkZV93YWl0KTsKKwlycSA9IGJsa19nZXRfcmVxdWVzdChkcml2ZS0+cXVldWUsIFJFQUQsIF9fR0ZQX1dBSVQpOworCXJxLT5jbWRfdHlwZSA9IFJFUV9UWVBFX1NQRUNJQUw7CisJcnEtPmNtZFswXSA9IGNtZDsKKwlycS0+cnFfZGlzayA9IHRhcGUtPmRpc2s7CisJcnEtPnNwZWNpYWwgPSAodm9pZCAqKWJoOworCXJxLT5zZWN0b3IgPSB0YXBlLT5maXJzdF9mcmFtZTsKKwlycS0+bnJfc2VjdG9ycyA9IGJsb2NrczsKKwlycS0+Y3VycmVudF9ucl9zZWN0b3JzID0gYmxvY2tzOworCWJsa19leGVjdXRlX3JxKGRyaXZlLT5xdWV1ZSwgdGFwZS0+ZGlzaywgcnEsIDApOworCisJZXJyb3JzID0gcnEtPmVycm9yczsKKwlyZXQgPSB0YXBlLT5ibGtfc2l6ZSAqIChibG9ja3MgLSBycS0+Y3VycmVudF9ucl9zZWN0b3JzKTsKKwlibGtfcHV0X3JlcXVlc3QocnEpOwogCiAJaWYgKChjbWQgJiAoUkVRX0lERVRBUEVfUkVBRCB8IFJFUV9JREVUQVBFX1dSSVRFKSkgPT0gMCkKIAkJcmV0dXJuIDA7CiAKIAlpZiAodGFwZS0+bWVyZ2VfYmgpCiAJCWlkZXRhcGVfaW5pdF9tZXJnZV9idWZmZXIodGFwZSk7Ci0JaWYgKHJxLmVycm9ycyA9PSBJREVUQVBFX0VSUk9SX0dFTkVSQUwpCisJaWYgKGVycm9ycyA9PSBJREVUQVBFX0VSUk9SX0dFTkVSQUwpCiAJCXJldHVybiAtRUlPOwotCXJldHVybiAodGFwZS0+YmxrX3NpemUgKiAoYmxvY2tzLXJxLmN1cnJlbnRfbnJfc2VjdG9ycykpOworCXJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyB2b2lkIGlkZXRhcGVfY3JlYXRlX2lucXVpcnlfY21kKHN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjKQpAQCAtMTcyOCw3ICsxNDkzLDYgQEAKIAlwYy0+Y1swXSA9IElOUVVJUlk7CiAJcGMtPmNbNF0gPSAyNTQ7CiAJcGMtPnJlcV94ZmVyID0gMjU0OwotCXBjLT5pZGV0YXBlX2NhbGxiYWNrID0gJmlkZXRhcGVfcGNfY2FsbGJhY2s7CiB9CiAKIHN0YXRpYyB2b2lkIGlkZXRhcGVfY3JlYXRlX3Jld2luZF9jbWQoaWRlX2RyaXZlX3QgKmRyaXZlLApAQCAtMTczNyw3ICsxNTAxLDYgQEAKIAlpZGV0YXBlX2luaXRfcGMocGMpOwogCXBjLT5jWzBdID0gUkVaRVJPX1VOSVQ7CiAJcGMtPmZsYWdzIHw9IFBDX0ZMQUdfV0FJVF9GT1JfRFNDOwotCXBjLT5pZGV0YXBlX2NhbGxiYWNrID0gJmlkZXRhcGVfcGNfY2FsbGJhY2s7CiB9CiAKIHN0YXRpYyB2b2lkIGlkZXRhcGVfY3JlYXRlX2VyYXNlX2NtZChzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYykKQEAgLTE3NDYsNyArMTUwOSw2IEBACiAJcGMtPmNbMF0gPSBFUkFTRTsKIAlwYy0+Y1sxXSA9IDE7CiAJcGMtPmZsYWdzIHw9IFBDX0ZMQUdfV0FJVF9GT1JfRFNDOwotCXBjLT5pZGV0YXBlX2NhbGxiYWNrID0gJmlkZXRhcGVfcGNfY2FsbGJhY2s7CiB9CiAKIHN0YXRpYyB2b2lkIGlkZXRhcGVfY3JlYXRlX3NwYWNlX2NtZChzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYywgaW50IGNvdW50LCB1OCBjbWQpCkBAIC0xNzU2LDcgKzE1MTgsNiBAQAogCXB1dF91bmFsaWduZWQoY3B1X3RvX2JlMzIoY291bnQpLCAodW5zaWduZWQgaW50ICopICZwYy0+Y1sxXSk7CiAJcGMtPmNbMV0gPSBjbWQ7CiAJcGMtPmZsYWdzIHw9IFBDX0ZMQUdfV0FJVF9GT1JfRFNDOwotCXBjLT5pZGV0YXBlX2NhbGxiYWNrID0gJmlkZXRhcGVfcGNfY2FsbGJhY2s7CiB9CiAKIC8qIFF1ZXVlIHVwIGEgY2hhcmFjdGVyIGRldmljZSBvcmlnaW5hdGVkIHdyaXRlIHJlcXVlc3QuICovCkBAIC0yNDIxLDkgKzIxODIsMTIgQEAKIAlpZiAoaSA+PSBNQVhfSFdJRlMgKiBNQVhfRFJJVkVTKQogCQlyZXR1cm4gLUVOWElPOwogCisJbG9ja19rZXJuZWwoKTsKIAl0YXBlID0gaWRlX3RhcGVfY2hyZGV2X2dldChpKTsKLQlpZiAoIXRhcGUpCisJaWYgKCF0YXBlKSB7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIC1FTlhJTzsKKwl9CiAKIAlkZWJ1Z19sb2coREJHX0NIUkRFViwgIkVudGVyICVzXG4iLCBfX2Z1bmNfXyk7CiAKQEAgLTI0ODIsMTAgKzIyNDYsMTIgQEAKIAkJCX0KIAkJfQogCX0KKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIDA7CiAKIG91dF9wdXRfdGFwZToKIAlpZGVfdGFwZV9wdXQodGFwZSk7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiByZXR2YWw7CiB9CiAKQEAgLTI3NDYsOSArMjUxMiw4IEBACiAJICogRW5zdXJlIHRoYXQgdGhlIG51bWJlciB3ZSBnb3QgbWFrZXMgc2Vuc2U7IGxpbWl0IGl0IHdpdGhpbgogCSAqIElERVRBUEVfRFNDX1JXX01JTiBhbmQgSURFVEFQRV9EU0NfUldfTUFYLgogCSAqLwotCXRhcGUtPmJlc3RfZHNjX3J3X2ZyZXEgPSBtYXhfdCh1bnNpZ25lZCBsb25nLAotCQkJCW1pbl90KHVuc2lnbmVkIGxvbmcsIHQsIElERVRBUEVfRFNDX1JXX01BWCksCi0JCQkJSURFVEFQRV9EU0NfUldfTUlOKTsKKwl0YXBlLT5iZXN0X2RzY19yd19mcmVxID0gY2xhbXBfdCh1bnNpZ25lZCBsb25nLCB0LCBJREVUQVBFX0RTQ19SV19NSU4sCisJCQkJCSBJREVUQVBFX0RTQ19SV19NQVgpOwogCXByaW50ayhLRVJOX0lORk8gImlkZS10YXBlOiAlcyA8LT4gJXM6ICVkS0JwcywgJWQqJWRrQiBidWZmZXIsICIKIAkJIiVsdW1zIHREU0Mlc1xuIiwKIAkJZHJpdmUtPm5hbWUsIHRhcGUtPm5hbWUsICoodTE2ICopJnRhcGUtPmNhcHNbMTRdLApAQCAtMjkwMCwxMSArMjY2NSw2IEBACiAJCQkJIiB0aGUgZHJpdmVyXG4iLCBkcml2ZS0+bmFtZSk7CiAJCWdvdG8gZmFpbGVkOwogCX0KLQlpZiAoZHJpdmUtPnNjc2kpIHsKLQkJcHJpbnRrKEtFUk5fSU5GTyAiaWRlLXRhcGU6IHBhc3NpbmcgZHJpdmUgJXMgdG8gaWRlLXNjc2kiCi0JCQkJICIgZW11bGF0aW9uLlxuIiwgZHJpdmUtPm5hbWUpOwotCQlnb3RvIGZhaWxlZDsKLQl9CiAJdGFwZSA9IGt6YWxsb2Moc2l6ZW9mKGlkZXRhcGVfdGFwZV90KSwgR0ZQX0tFUk5FTCk7CiAJaWYgKHRhcGUgPT0gTlVMTCkgewogCQlwcmludGsoS0VSTl9FUlIgImlkZS10YXBlOiAlczogQ2FuJ3QgYWxsb2NhdGUgYSB0YXBlIHN0cnVjdFxuIiwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL2lkZS10YXNrZmlsZS5jIGIvZHJpdmVycy9pZGUvaWRlLXRhc2tmaWxlLmMKaW5kZXggYWI1NDVmZi4uY2Y1NWE0OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvaWRlLXRhc2tmaWxlLmMKKysrIGIvZHJpdmVycy9pZGUvaWRlLXRhc2tmaWxlLmMKQEAgLTEwOSwxMyArMTA5LDE1IEBACiAKIAlpZiAoKHRhc2stPnRmX2ZsYWdzICYgSURFX1RGTEFHX0RNQV9QSU9fRkFMTEJBQ0spID09IDApIHsKIAkJaWRlX3RmX2R1bXAoZHJpdmUtPm5hbWUsIHRmKTsKKwkJaWRlX3NldF9pcnEoZHJpdmUsIDEpOworCQlTRUxFQ1RfTUFTSyhkcml2ZSwgMCk7CiAJCWh3aWYtPnRmX2xvYWQoZHJpdmUsIHRhc2spOwogCX0KIAogCXN3aXRjaCAodGFzay0+ZGF0YV9waGFzZSkgewogCWNhc2UgVEFTS0ZJTEVfTVVMVElfT1VUOgogCWNhc2UgVEFTS0ZJTEVfT1VUOgotCQlod2lmLT5PVVRCU1lOQyhkcml2ZSwgdGYtPmNvbW1hbmQsIGh3aWYtPmlvX3BvcnRzLmNvbW1hbmRfYWRkcik7CisJCWh3aWYtPk9VVEJTWU5DKGh3aWYsIHRmLT5jb21tYW5kLCBod2lmLT5pb19wb3J0cy5jb21tYW5kX2FkZHIpOwogCQluZGVsYXkoNDAwKTsJLyogRklYTUUgKi8KIAkJcmV0dXJuIHByZV90YXNrX291dF9pbnRyKGRyaXZlLCB0YXNrLT5ycSk7CiAJY2FzZSBUQVNLRklMRV9NVUxUSV9JTjoKQEAgLTQ5MiwxMSArNDk0LDEyIEBACiAKIGludCBpZGVfcmF3X3Rhc2tmaWxlKGlkZV9kcml2ZV90ICpkcml2ZSwgaWRlX3Rhc2tfdCAqdGFzaywgdTggKmJ1ZiwgdTE2IG5zZWN0KQogewotCXN0cnVjdCByZXF1ZXN0IHJxOworCXN0cnVjdCByZXF1ZXN0ICpycTsKKwlpbnQgZXJyb3I7CiAKLQlibGtfcnFfaW5pdChOVUxMLCAmcnEpOwotCXJxLmNtZF90eXBlID0gUkVRX1RZUEVfQVRBX1RBU0tGSUxFOwotCXJxLmJ1ZmZlciA9IGJ1ZjsKKwlycSA9IGJsa19nZXRfcmVxdWVzdChkcml2ZS0+cXVldWUsIFJFQUQsIF9fR0ZQX1dBSVQpOworCXJxLT5jbWRfdHlwZSA9IFJFUV9UWVBFX0FUQV9UQVNLRklMRTsKKwlycS0+YnVmZmVyID0gYnVmOwogCiAJLyoKIAkgKiAoa3MpIFdlIHRyYW5zZmVyIGN1cnJlbnRseSBvbmx5IHdob2xlIHNlY3RvcnMuCkBAIC01MDQsMTYgKzUwNywxOSBAQAogCSAqIGlmIHdlIHdvdWxkIGZpbmQgYSBzb2x1dGlvbiB0byB0cmFuc2ZlciBhbnkgc2l6ZS4KIAkgKiBUbyBzdXBwb3J0IHNwZWNpYWwgY29tbWFuZHMgbGlrZSBSRUFEIExPTkcuCiAJICovCi0JcnEuaGFyZF9ucl9zZWN0b3JzID0gcnEubnJfc2VjdG9ycyA9IG5zZWN0OwotCXJxLmhhcmRfY3VyX3NlY3RvcnMgPSBycS5jdXJyZW50X25yX3NlY3RvcnMgPSBuc2VjdDsKKwlycS0+aGFyZF9ucl9zZWN0b3JzID0gcnEtPm5yX3NlY3RvcnMgPSBuc2VjdDsKKwlycS0+aGFyZF9jdXJfc2VjdG9ycyA9IHJxLT5jdXJyZW50X25yX3NlY3RvcnMgPSBuc2VjdDsKIAogCWlmICh0YXNrLT50Zl9mbGFncyAmIElERV9URkxBR19XUklURSkKLQkJcnEuY21kX2ZsYWdzIHw9IFJFUV9SVzsKKwkJcnEtPmNtZF9mbGFncyB8PSBSRVFfUlc7CiAKLQlycS5zcGVjaWFsID0gdGFzazsKLQl0YXNrLT5ycSA9ICZycTsKKwlycS0+c3BlY2lhbCA9IHRhc2s7CisJdGFzay0+cnEgPSBycTsKIAotCXJldHVybiBpZGVfZG9fZHJpdmVfY21kKGRyaXZlLCAmcnEsIGlkZV93YWl0KTsKKwllcnJvciA9IGJsa19leGVjdXRlX3JxKGRyaXZlLT5xdWV1ZSwgTlVMTCwgcnEsIDApOworCWJsa19wdXRfcmVxdWVzdChycSk7CisKKwlyZXR1cm4gZXJyb3I7CiB9CiAKIEVYUE9SVF9TWU1CT0woaWRlX3Jhd190YXNrZmlsZSk7CkBAIC03MzksMTIgKzc0NSwxNCBAQAogCXN0cnVjdCBoZF9kcml2ZWlkICppZCA9IGRyaXZlLT5pZDsKIAogCWlmIChOVUxMID09ICh2b2lkICopIGFyZykgewotCQlzdHJ1Y3QgcmVxdWVzdCBycTsKKwkJc3RydWN0IHJlcXVlc3QgKnJxOwogCi0JCWlkZV9pbml0X2RyaXZlX2NtZCgmcnEpOwotCQlycS5jbWRfdHlwZSA9IFJFUV9UWVBFX0FUQV9UQVNLRklMRTsKKwkJcnEgPSBibGtfZ2V0X3JlcXVlc3QoZHJpdmUtPnF1ZXVlLCBSRUFELCBfX0dGUF9XQUlUKTsKKwkJcnEtPmNtZF90eXBlID0gUkVRX1RZUEVfQVRBX1RBU0tGSUxFOworCQllcnIgPSBibGtfZXhlY3V0ZV9ycShkcml2ZS0+cXVldWUsIE5VTEwsIHJxLCAwKTsKKwkJYmxrX3B1dF9yZXF1ZXN0KHJxKTsKIAotCQlyZXR1cm4gaWRlX2RvX2RyaXZlX2NtZChkcml2ZSwgJnJxLCBpZGVfd2FpdCk7CisJCXJldHVybiBlcnI7CiAJfQogCiAJaWYgKGNvcHlfZnJvbV91c2VyKGFyZ3MsICh2b2lkIF9fdXNlciAqKWFyZywgNCkpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2lkZS9pZGUtdGltaW5nLmggYi9kcml2ZXJzL2lkZS9pZGUtdGltaW5nLmgKaW5kZXggM2IxMmZmZS4uMmU5MWM1OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvaWRlLXRpbWluZy5oCisrKyBiL2RyaXZlcnMvaWRlL2lkZS10aW1pbmcuaApAQCAtOTUsNyArOTUsNiBAQAogI2RlZmluZSBJREVfVElNSU5HX1VETUEJCTB4ODAKICNkZWZpbmUgSURFX1RJTUlOR19BTEwJCTB4ZmYKIAotI2RlZmluZSBGSVQodix2bWluLHZtYXgpCW1heF90KHNob3J0LG1pbl90KHNob3J0LHYsdm1heCksdm1pbikKICNkZWZpbmUgRU5PVUdIKHYsdW5pdCkJCSgoKHYpLTEpLyh1bml0KSsxKQogI2RlZmluZSBFWih2LHVuaXQpCQkoKHYpP0VOT1VHSCh2LHVuaXQpOjApCiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL2lkZS5jIGIvZHJpdmVycy9pZGUvaWRlLmMKaW5kZXggMzAwNDMxZC4uMmI4NDUzNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvaWRlLmMKKysrIGIvZHJpdmVycy9pZGUvaWRlLmMKQEAgLTg2LDEzICs4NiwxMCBAQAogCQkJCQlJREU2X01BSk9SLCBJREU3X01BSk9SLAogCQkJCQlJREU4X01BSk9SLCBJREU5X01BSk9SIH07CiAKLXN0YXRpYyBpbnQgaWRlYnVzX3BhcmFtZXRlcjsJLyogaG9sZHMgdGhlICJpZGVidXM9IiBwYXJhbWV0ZXIgKi8KLXN0YXRpYyBpbnQgc3lzdGVtX2J1c19zcGVlZDsJLyogaG9sZHMgd2hhdCB3ZSB0aGluayBpcyBWRVNBL1BDSSBidXMgc3BlZWQgKi8KLQogREVGSU5FX01VVEVYKGlkZV9jZmdfbXR4KTsKLSBfX2NhY2hlbGluZV9hbGlnbmVkX2luX3NtcCBERUZJTkVfU1BJTkxPQ0soaWRlX2xvY2spOwogCi1pbnQgbm9hdXRvZG1hID0gMDsKK19fY2FjaGVsaW5lX2FsaWduZWRfaW5fc21wIERFRklORV9TUElOTE9DSyhpZGVfbG9jayk7CitFWFBPUlRfU1lNQk9MKGlkZV9sb2NrKTsKIAogaWRlX2h3aWZfdCBpZGVfaHdpZnNbTUFYX0hXSUZTXTsJLyogbWFzdGVyIGRhdGEgcmVwb3NpdG9yeSAqLwogCkBAIC0xMzksNyArMTM2LDYgQEAKIAkJZHJpdmUtPm1lZGlhCQkJPSBpZGVfZGlzazsKIAkJZHJpdmUtPnNlbGVjdC5hbGwJCT0gKHVuaXQ8PDQpfDB4YTA7CiAJCWRyaXZlLT5od2lmCQkJPSBod2lmOwotCQlkcml2ZS0+Y3RsCQkJPSAweDA4OwogCQlkcml2ZS0+cmVhZHlfc3RhdAkJPSBSRUFEWV9TVEFUOwogCQlkcml2ZS0+YmFkX3dzdGF0CQk9IEJBRF9XX1NUQVQ7CiAJCWRyaXZlLT5zcGVjaWFsLmIucmVjYWxpYnJhdGUJPSAxOwpAQCAtMTU0LDMyICsxNTAsOSBAQAogCX0KIH0KIAotLyoKLSAqIGluaXRfaWRlX2RhdGEoKSBzZXRzIHJlYXNvbmFibGUgZGVmYXVsdCB2YWx1ZXMgaW50byBhbGwgZmllbGRzCi0gKiBvZiBhbGwgaW5zdGFuY2VzIG9mIHRoZSBod2lmcyBhbmQgZHJpdmVzLCBidXQgb25seSBvbiB0aGUgZmlyc3QgY2FsbC4KLSAqIFN1YnNlcXVlbnQgY2FsbHMgaGF2ZSBubyBlZmZlY3QgKHRoZXkgZG9uJ3Qgd2lwZSBvdXQgYW55dGhpbmcpLgotICoKLSAqIFRoaXMgcm91dGluZSBpcyBub3JtYWxseSBjYWxsZWQgYXQgZHJpdmVyIGluaXRpYWxpemF0aW9uIHRpbWUsCi0gKiBidXQgbWF5IGFsc28gYmUgY2FsbGVkIE1VQ0ggZWFybGllciBkdXJpbmcga2VybmVsICJjb21tYW5kLWxpbmUiCi0gKiBwYXJhbWV0ZXIgcHJvY2Vzc2luZy4gIEFzIHN1Y2gsIHdlIGNhbm5vdCBkZXBlbmQgb24gYW55IG90aGVyIHBhcnRzCi0gKiBvZiB0aGUga2VybmVsIChzdWNoIGFzIG1lbW9yeSBhbGxvY2F0aW9uKSB0byBiZSBmdW5jdGlvbmluZyB5ZXQuCi0gKgotICogVGhpcyBpcyB0b28gYmFkLCBhcyBvdGhlcndpc2Ugd2UgY291bGQgZHluYW1pY2FsbHkgYWxsb2NhdGUgdGhlCi0gKiBpZGVfZHJpdmVfdCBzdHJ1Y3RzIGFzIG5lZWRlZCwgcmF0aGVyIHRoYW4gYWx3YXlzIGNvbnN1bWluZyBtZW1vcnkKLSAqIGZvciB0aGUgbWF4IHBvc3NpYmxlIG51bWJlciAoTUFYX0hXSUZTICogTUFYX0RSSVZFUykgb2YgdGhlbS4KLSAqCi0gKiBGSVhNRTogV2Ugc2hvdWxkIHN0dWZmIHRoZSBzZXR1cCBkYXRhIGludG8gX19pbml0IGFuZCBjb3B5IHRoZQotICogcmVsZXZhbnQgaHdpZnMvYWxsb2NhdGUgdGhlbSBwcm9wZXJseSBkdXJpbmcgYm9vdC4KLSAqLwotI2RlZmluZSBNQUdJQ19DT09LSUUgMHgxMjM0NTY3OAogc3RhdGljIHZvaWQgX19pbml0IGluaXRfaWRlX2RhdGEgKHZvaWQpCiB7CiAJdW5zaWduZWQgaW50IGluZGV4OwotCXN0YXRpYyB1bnNpZ25lZCBsb25nIG1hZ2ljX2Nvb2tpZSA9IE1BR0lDX0NPT0tJRTsKLQotCWlmIChtYWdpY19jb29raWUgIT0gTUFHSUNfQ09PS0lFKQotCQlyZXR1cm47CQkvKiBhbHJlYWR5IGluaXRpYWxpemVkICovCi0JbWFnaWNfY29va2llID0gMDsKIAogCS8qIEluaXRpYWxpc2UgYWxsIGludGVyZmFjZSBzdHJ1Y3R1cmVzICovCiAJZm9yIChpbmRleCA9IDA7IGluZGV4IDwgTUFYX0hXSUZTOyArK2luZGV4KSB7CkBAIC0xODksMzggKzE2Miw2IEBACiAJfQogfQogCi0vKioKLSAqCWlkZV9zeXN0ZW1fYnVzX3NwZWVkCS0JZ3Vlc3MgYnVzIHNwZWVkCi0gKgotICoJaWRlX3N5c3RlbV9idXNfc3BlZWQoKSByZXR1cm5zIHdoYXQgd2UgdGhpbmsgaXMgdGhlIHN5c3RlbSBWRVNBL1BDSQotICoJYnVzIHNwZWVkIChpbiBNSHopLiBUaGlzIGlzIHVzZWQgZm9yIGNhbGN1bGF0aW5nIGludGVyZmFjZSBQSU8gdGltaW5ncy4KLSAqCVRoZSBkZWZhdWx0IGlzIDQwIGZvciBrbm93biBQQ0kgc3lzdGVtcywgNTAgb3RoZXJ3aXNlLgotICoJVGhlICJpZGVidXM9eHgiIHBhcmFtZXRlciBjYW4gYmUgdXNlZCB0byBvdmVycmlkZSB0aGlzIHZhbHVlLgotICoJVGhlIGFjdHVhbCB2YWx1ZSB0byBiZSB1c2VkIGlzIGNvbXB1dGVkL2Rpc3BsYXllZCB0aGUgZmlyc3QgdGltZQotICoJdGhyb3VnaC4gRHJpdmVycyBzaG91bGQgb25seSB1c2UgdGhpcyBhcyBhIGxhc3QgcmVzb3J0LgotICoKLSAqCVJldHVybnMgYSBndWVzc2VkIHNwZWVkIGluIE1Iei4KLSAqLwotCi1zdGF0aWMgaW50IGlkZV9zeXN0ZW1fYnVzX3NwZWVkKHZvaWQpCi17Ci0jaWZkZWYgQ09ORklHX1BDSQotCXN0YXRpYyBzdHJ1Y3QgcGNpX2RldmljZV9pZCBwY2lfZGVmYXVsdFtdID0gewotCQl7IFBDSV9ERVZJQ0UoUENJX0FOWV9JRCwgUENJX0FOWV9JRCkgfSwKLQkJeyB9Ci0JfTsKLSNlbHNlCi0jZGVmaW5lIHBjaV9kZWZhdWx0IDAKLSNlbmRpZiAvKiBDT05GSUdfUENJICovCi0KLQkvKiB1c2VyIHN1cHBsaWVkIHZhbHVlICovCi0JaWYgKGlkZWJ1c19wYXJhbWV0ZXIpCi0JCXJldHVybiBpZGVidXNfcGFyYW1ldGVyOwotCi0JLyogc2FmZSBkZWZhdWx0IHZhbHVlIGZvciBQQ0kgb3IgVkVTQSBhbmQgUENJKi8KLQlyZXR1cm4gcGNpX2Rldl9wcmVzZW50KHBjaV9kZWZhdWx0KSA/IDMzIDogNTA7Ci19Ci0KIHZvaWQgaWRlX3JlbW92ZV9wb3J0X2Zyb21faHdncm91cChpZGVfaHdpZl90ICpod2lmKQogewogCWlkZV9od2dyb3VwX3QgKmh3Z3JvdXAgPSBod2lmLT5od2dyb3VwOwpAQCAtNDk4LDcgKzQzOSw3IEBACiAKIGludCBzZXRfcGlvX21vZGUoaWRlX2RyaXZlX3QgKmRyaXZlLCBpbnQgYXJnKQogewotCXN0cnVjdCByZXF1ZXN0IHJxOworCXN0cnVjdCByZXF1ZXN0ICpycTsKIAlpZGVfaHdpZl90ICpod2lmID0gZHJpdmUtPmh3aWY7CiAJY29uc3Qgc3RydWN0IGlkZV9wb3J0X29wcyAqcG9ydF9vcHMgPSBod2lmLT5wb3J0X29wczsKIApAQCAtNTEyLDEyICs0NTMsMTUgQEAKIAlpZiAoZHJpdmUtPnNwZWNpYWwuYi5zZXRfdHVuZSkKIAkJcmV0dXJuIC1FQlVTWTsKIAotCWlkZV9pbml0X2RyaXZlX2NtZCgmcnEpOwotCXJxLmNtZF90eXBlID0gUkVRX1RZUEVfQVRBX1RBU0tGSUxFOworCXJxID0gYmxrX2dldF9yZXF1ZXN0KGRyaXZlLT5xdWV1ZSwgUkVBRCwgX19HRlBfV0FJVCk7CisJcnEtPmNtZF90eXBlID0gUkVRX1RZUEVfQVRBX1RBU0tGSUxFOwogCiAJZHJpdmUtPnR1bmVfcmVxID0gKHU4KSBhcmc7CiAJZHJpdmUtPnNwZWNpYWwuYi5zZXRfdHVuZSA9IDE7Ci0JKHZvaWQpIGlkZV9kb19kcml2ZV9jbWQoZHJpdmUsICZycSwgaWRlX3dhaXQpOworCisJYmxrX2V4ZWN1dGVfcnEoZHJpdmUtPnF1ZXVlLCBOVUxMLCBycSwgMCk7CisJYmxrX3B1dF9yZXF1ZXN0KHJxKTsKKwogCXJldHVybiAwOwogfQogCkBAIC01MzcsMjUgKzQ4MSwxMSBAQAogCXJldHVybiAwOwogfQogCi0vKioKLSAqCXN5c3RlbV9idXNfY2xvY2sJLQljbG9jayBndWVzcwotICoKLSAqCUV4dGVybmFsIHZlcnNpb24gb2YgdGhlIGJ1cyBjbG9jayBndWVzcyB1c2VkIGJ5IHZlcnkgb2xkIElERSBkcml2ZXJzCi0gKglmb3IgdGhpbmdzIGxpa2UgVkxCIHRpbWluZ3MuIFNob3VsZCBub3QgYmUgdXNlZC4KLSAqLwotCi1pbnQgc3lzdGVtX2J1c19jbG9jayAodm9pZCkKLXsKLQlyZXR1cm4gc3lzdGVtX2J1c19zcGVlZDsKLX0KLQotRVhQT1JUX1NZTUJPTChzeXN0ZW1fYnVzX2Nsb2NrKTsKLQogc3RhdGljIGludCBnZW5lcmljX2lkZV9zdXNwZW5kKHN0cnVjdCBkZXZpY2UgKmRldiwgcG1fbWVzc2FnZV90IG1lc2cpCiB7CiAJaWRlX2RyaXZlX3QgKmRyaXZlID0gZGV2LT5kcml2ZXJfZGF0YTsKIAlpZGVfaHdpZl90ICpod2lmID0gSFdJRihkcml2ZSk7Ci0Jc3RydWN0IHJlcXVlc3QgcnE7CisJc3RydWN0IHJlcXVlc3QgKnJxOwogCXN0cnVjdCByZXF1ZXN0X3BtX3N0YXRlIHJxcG07CiAJaWRlX3Rhc2tfdCBhcmdzOwogCWludCByZXQ7CkBAIC01NjQsMTggKzQ5NCwxOSBAQAogCWlmICghKGRyaXZlLT5kbiAlIDIpKQogCQlpZGVfYWNwaV9nZXRfdGltaW5nKGh3aWYpOwogCi0JYmxrX3JxX2luaXQoTlVMTCwgJnJxKTsKIAltZW1zZXQoJnJxcG0sIDAsIHNpemVvZihycXBtKSk7CiAJbWVtc2V0KCZhcmdzLCAwLCBzaXplb2YoYXJncykpOwotCXJxLmNtZF90eXBlID0gUkVRX1RZUEVfUE1fU1VTUEVORDsKLQlycS5zcGVjaWFsID0gJmFyZ3M7Ci0JcnEuZGF0YSA9ICZycXBtOworCXJxID0gYmxrX2dldF9yZXF1ZXN0KGRyaXZlLT5xdWV1ZSwgUkVBRCwgX19HRlBfV0FJVCk7CisJcnEtPmNtZF90eXBlID0gUkVRX1RZUEVfUE1fU1VTUEVORDsKKwlycS0+c3BlY2lhbCA9ICZhcmdzOworCXJxLT5kYXRhID0gJnJxcG07CiAJcnFwbS5wbV9zdGVwID0gaWRlX3BtX3N0YXRlX3N0YXJ0X3N1c3BlbmQ7CiAJaWYgKG1lc2cuZXZlbnQgPT0gUE1fRVZFTlRfUFJFVEhBVykKIAkJbWVzZy5ldmVudCA9IFBNX0VWRU5UX0ZSRUVaRTsKIAlycXBtLnBtX3N0YXRlID0gbWVzZy5ldmVudDsKIAotCXJldCA9IGlkZV9kb19kcml2ZV9jbWQoZHJpdmUsICZycSwgaWRlX3dhaXQpOworCXJldCA9IGJsa19leGVjdXRlX3JxKGRyaXZlLT5xdWV1ZSwgTlVMTCwgcnEsIDApOworCWJsa19wdXRfcmVxdWVzdChycSk7CiAJLyogb25seSBjYWxsIEFDUEkgX1BTMyBhZnRlciBib3RoIGRyaXZlcnMgYXJlIHN1c3BlbmRlZCAqLwogCWlmICghcmV0ICYmICgoKGRyaXZlLT5kbiAlIDIpICYmIGh3aWYtPmRyaXZlc1swXS5wcmVzZW50CiAJCSAmJiBod2lmLT5kcml2ZXNbMV0ucHJlc2VudCkKQEAgLTU4OSw3ICs1MjAsNyBAQAogewogCWlkZV9kcml2ZV90ICpkcml2ZSA9IGRldi0+ZHJpdmVyX2RhdGE7CiAJaWRlX2h3aWZfdCAqaHdpZiA9IEhXSUYoZHJpdmUpOwotCXN0cnVjdCByZXF1ZXN0IHJxOworCXN0cnVjdCByZXF1ZXN0ICpycTsKIAlzdHJ1Y3QgcmVxdWVzdF9wbV9zdGF0ZSBycXBtOwogCWlkZV90YXNrX3QgYXJnczsKIAlpbnQgZXJyOwpAQCAtNjAyLDE2ICs1MzMsMTggQEAKIAogCWlkZV9hY3BpX2V4ZWNfdGZzKGRyaXZlKTsKIAotCWJsa19ycV9pbml0KE5VTEwsICZycSk7CiAJbWVtc2V0KCZycXBtLCAwLCBzaXplb2YocnFwbSkpOwogCW1lbXNldCgmYXJncywgMCwgc2l6ZW9mKGFyZ3MpKTsKLQlycS5jbWRfdHlwZSA9IFJFUV9UWVBFX1BNX1JFU1VNRTsKLQlycS5zcGVjaWFsID0gJmFyZ3M7Ci0JcnEuZGF0YSA9ICZycXBtOworCXJxID0gYmxrX2dldF9yZXF1ZXN0KGRyaXZlLT5xdWV1ZSwgUkVBRCwgX19HRlBfV0FJVCk7CisJcnEtPmNtZF90eXBlID0gUkVRX1RZUEVfUE1fUkVTVU1FOworCXJxLT5jbWRfZmxhZ3MgfD0gUkVRX1BSRUVNUFQ7CisJcnEtPnNwZWNpYWwgPSAmYXJnczsKKwlycS0+ZGF0YSA9ICZycXBtOwogCXJxcG0ucG1fc3RlcCA9IGlkZV9wbV9zdGF0ZV9zdGFydF9yZXN1bWU7CiAJcnFwbS5wbV9zdGF0ZSA9IFBNX0VWRU5UX09OOwogCi0JZXJyID0gaWRlX2RvX2RyaXZlX2NtZChkcml2ZSwgJnJxLCBpZGVfaGVhZF93YWl0KTsKKwllcnIgPSBibGtfZXhlY3V0ZV9ycShkcml2ZS0+cXVldWUsIE5VTEwsIHJxLCAxKTsKKwlibGtfcHV0X3JlcXVlc3QocnEpOwogCiAJaWYgKGVyciA9PSAwICYmIGRldi0+ZHJpdmVyKSB7CiAJCWlkZV9kcml2ZXJfdCAqZHJ2ID0gdG9faWRlX2RyaXZlcihkZXYtPmRyaXZlcik7CkBAIC03NjQsMjEyICs2OTcsNiBAQAogCiBFWFBPUlRfU1lNQk9MKGdlbmVyaWNfaWRlX2lvY3RsKTsKIAotLyoKLSAqIHN0cmlkeCgpIHJldHVybnMgdGhlIG9mZnNldCBvZiBjIHdpdGhpbiBzLAotICogb3IgLTEgaWYgYyBpcyAnXDAnIG9yIG5vdCBmb3VuZCB3aXRoaW4gcy4KLSAqLwotc3RhdGljIGludCBfX2luaXQgc3RyaWR4IChjb25zdCBjaGFyICpzLCBjaGFyIGMpCi17Ci0JY2hhciAqaSA9IHN0cmNocihzLCBjKTsKLQlyZXR1cm4gKGkgJiYgYykgPyBpIC0gcyA6IC0xOwotfQotCi0vKgotICogbWF0Y2hfcGFybSgpIGRvZXMgcGFyc2luZyBmb3IgaWRlX3NldHVwKCk6Ci0gKgotICogMS4gdGhlIGZpcnN0IGNoYXIgb2YgcyBtdXN0IGJlICc9Jy4KLSAqIDIuIGlmIHRoZSByZW1haW5kZXIgbWF0Y2hlcyBvbmUgb2YgdGhlIHN1cHBsaWVkIGtleXdvcmRzLAotICogICAgIHRoZSBpbmRleCAoMSBiYXNlZCkgb2YgdGhlIGtleXdvcmQgaXMgbmVnYXRlZCBhbmQgcmV0dXJuZWQuCi0gKiAzLiBpZiB0aGUgcmVtYWluZGVyIGlzIGEgc2VyaWVzIG9mIG5vIG1vcmUgdGhhbiBtYXhfdmFscyBudW1iZXJzCi0gKiAgICAgc2VwYXJhdGVkIGJ5IGNvbW1hcywgdGhlIG51bWJlcnMgYXJlIHNhdmVkIGluIHZhbHNbXSBhbmQgYQotICogICAgIGNvdW50IG9mIGhvdyBtYW55IHdlcmUgc2F2ZWQgaXMgcmV0dXJuZWQuICBCYXNlMTAgaXMgYXNzdW1lZCwKLSAqICAgICBhbmQgYmFzZTE2IGlzIGFsbG93ZWQgd2hlbiBwcmVmaXhlZCB3aXRoICIweCIuCi0gKiA0LiBvdGhlcndpc2UsIHplcm8gaXMgcmV0dXJuZWQuCi0gKi8KLXN0YXRpYyBpbnQgX19pbml0IG1hdGNoX3Bhcm0gKGNoYXIgKnMsIGNvbnN0IGNoYXIgKmtleXdvcmRzW10sIGludCB2YWxzW10sIGludCBtYXhfdmFscykKLXsKLQlzdGF0aWMgY29uc3QgY2hhciAqZGVjaW1hbCA9ICIwMTIzNDU2Nzg5IjsKLQlzdGF0aWMgY29uc3QgY2hhciAqaGV4ID0gIjAxMjM0NTY3ODlhYmNkZWYiOwotCWludCBpLCBuOwotCi0JaWYgKCpzKysgPT0gJz0nKSB7Ci0JCS8qCi0JCSAqIFRyeSBtYXRjaGluZyBhZ2FpbnN0IHRoZSBzdXBwbGllZCBrZXl3b3JkcywKLQkJICogYW5kIHJldHVybiAtKGluZGV4KzEpIGlmIHdlIG1hdGNoIG9uZQotCQkgKi8KLQkJaWYgKGtleXdvcmRzICE9IE5VTEwpIHsKLQkJCWZvciAoaSA9IDA7ICprZXl3b3JkcyAhPSBOVUxMOyArK2kpIHsKLQkJCQlpZiAoIXN0cmNtcChzLCAqa2V5d29yZHMrKykpCi0JCQkJCXJldHVybiAtKGkrMSk7Ci0JCQl9Ci0JCX0KLQkJLyoKLQkJICogTG9vayBmb3IgYSBzZXJpZXMgb2Ygbm8gbW9yZSB0aGFuICJtYXhfdmFscyIKLQkJICogbnVtZXJpYyB2YWx1ZXMgc2VwYXJhdGVkIGJ5IGNvbW1hcywgaW4gYmFzZTEwLAotCQkgKiBvciBiYXNlMTYgd2hlbiBwcmVmaXhlZCB3aXRoICIweCIuCi0JCSAqIFJldHVybiBhIGNvdW50IG9mIGhvdyBtYW55IHdlcmUgZm91bmQuCi0JCSAqLwotCQlmb3IgKG4gPSAwOyAoaSA9IHN0cmlkeChkZWNpbWFsLCAqcykpID49IDA7KSB7Ci0JCQl2YWxzW25dID0gaTsKLQkJCXdoaWxlICgoaSA9IHN0cmlkeChkZWNpbWFsLCAqKytzKSkgPj0gMCkKLQkJCQl2YWxzW25dID0gKHZhbHNbbl0gKiAxMCkgKyBpOwotCQkJaWYgKCpzID09ICd4JyAmJiAhdmFsc1tuXSkgewotCQkJCXdoaWxlICgoaSA9IHN0cmlkeChoZXgsICorK3MpKSA+PSAwKQotCQkJCQl2YWxzW25dID0gKHZhbHNbbl0gKiAweDEwKSArIGk7Ci0JCQl9Ci0JCQlpZiAoKytuID09IG1heF92YWxzKQotCQkJCWJyZWFrOwotCQkJaWYgKCpzID09ICcsJyB8fCAqcyA9PSAnOycpCi0JCQkJKytzOwotCQl9Ci0JCWlmICghKnMpCi0JCQlyZXR1cm4gbjsKLQl9Ci0JcmV0dXJuIDA7CS8qIHplcm8gPSBub3RoaW5nIG1hdGNoZWQgKi8KLX0KLQotLyoKLSAqIGlkZV9zZXR1cCgpIGdldHMgY2FsbGVkIFZFUlkgRUFSTFkgZHVyaW5nIGluaXRpYWxpemF0aW9uLAotICogdG8gaGFuZGxlIGtlcm5lbCAiY29tbWFuZCBsaW5lIiBzdHJpbmdzIGJlZ2lubmluZyB3aXRoICJoZHg9IiBvciAiaWRlIi4KLSAqCi0gKiBSZW1lbWJlciB0byB1cGRhdGUgRG9jdW1lbnRhdGlvbi9pZGUvaWRlLnR4dCBpZiB5b3UgY2hhbmdlIHNvbWV0aGluZyBoZXJlLgotICovCi1zdGF0aWMgaW50IF9faW5pdCBpZGVfc2V0dXAoY2hhciAqcykKLXsKLQlpZGVfaHdpZl90ICpod2lmOwotCWlkZV9kcml2ZV90ICpkcml2ZTsKLQl1bnNpZ25lZCBpbnQgaHcsIHVuaXQ7Ci0JaW50IHZhbHNbM107Ci0JY29uc3QgY2hhciBtYXhfZHJpdmUgPSAnYScgKyAoKE1BWF9IV0lGUyAqIE1BWF9EUklWRVMpIC0gMSk7Ci0KLQlpZiAoc3RybmNtcChzLCJoZCIsMikgPT0gMCAmJiBzWzJdID09ICc9JykJLyogaGQ9IGlzIGZvciBoZC5jICAgKi8KLQkJcmV0dXJuIDA7CQkJCS8qIGRyaXZlciBhbmQgbm90IHVzICovCi0KLQlpZiAoc3RybmNtcChzLCJpZGUiLDMpICYmIHN0cm5jbXAocywiaWRlYnVzIiw2KSAmJiBzdHJuY21wKHMsImhkIiwyKSkKLQkJcmV0dXJuIDA7Ci0KLQlwcmludGsoS0VSTl9JTkZPICJpZGVfc2V0dXA6ICVzIiwgcyk7Ci0JaW5pdF9pZGVfZGF0YSAoKTsKLQotI2lmZGVmIENPTkZJR19CTEtfREVWX0lERURPVUJMRVIKLQlpZiAoIXN0cmNtcChzLCAiaWRlPWRvdWJsZXIiKSkgewotCQlleHRlcm4gaW50IGlkZV9kb3VibGVyOwotCi0JCXByaW50aygiIDogRW5hYmxlZCBzdXBwb3J0IGZvciBJREUgZG91YmxlcnNcbiIpOwotCQlpZGVfZG91YmxlciA9IDE7Ci0JCWdvdG8gb2Jzb2xldGVfb3B0aW9uOwotCX0KLSNlbmRpZiAvKiBDT05GSUdfQkxLX0RFVl9JREVET1VCTEVSICovCi0KLQlpZiAoIXN0cmNtcChzLCAiaWRlPW5vZG1hIikpIHsKLQkJcHJpbnRrKCIgOiBQcmV2ZW50ZWQgRE1BXG4iKTsKLQkJbm9hdXRvZG1hID0gMTsKLQkJZ290byBvYnNvbGV0ZV9vcHRpb247Ci0JfQotCi0jaWZkZWYgQ09ORklHX0JMS19ERVZfSURFQUNQSQotCWlmICghc3RyY21wKHMsICJpZGU9bm9hY3BpIikpIHsKLQkJLy9wcmludGsoIiA6IERpc2FibGUgSURFIEFDUEkgc3VwcG9ydC5cbiIpOwotCQlpZGVfbm9hY3BpID0gMTsKLQkJZ290byBvYnNvbGV0ZV9vcHRpb247Ci0JfQotCWlmICghc3RyY21wKHMsICJpZGU9YWNwaWd0ZiIpKSB7Ci0JCS8vcHJpbnRrKCIgOiBFbmFibGUgSURFIEFDUEkgX0dURiBzdXBwb3J0LlxuIik7Ci0JCWlkZV9hY3BpZ3RmID0gMTsKLQkJZ290byBvYnNvbGV0ZV9vcHRpb247Ci0JfQotCWlmICghc3RyY21wKHMsICJpZGU9YWNwaW9uYm9vdCIpKSB7Ci0JCS8vcHJpbnRrKCIgOiBDYWxsIElERSBBQ1BJIG1ldGhvZHMgb24gYm9vdC5cbiIpOwotCQlpZGVfYWNwaW9uYm9vdCA9IDE7Ci0JCWdvdG8gb2Jzb2xldGVfb3B0aW9uOwotCX0KLSNlbmRpZiAvKiBDT05GSUdfQkxLX0RFVl9JREVBQ1BJICovCi0KLQkvKgotCSAqIExvb2sgZm9yIGRyaXZlIG9wdGlvbnM6ICAiaGR4PSIKLQkgKi8KLQlpZiAoc1swXSA9PSAnaCcgJiYgc1sxXSA9PSAnZCcgJiYgc1syXSA+PSAnYScgJiYgc1syXSA8PSBtYXhfZHJpdmUpIHsKLQkJY29uc3QgY2hhciAqaGRfd29yZHNbXSA9IHsKLQkJCSJub25lIiwgIm5vcHJvYmUiLCAibm93ZXJyIiwgImNkcm9tIiwgIm5vZG1hIiwKLQkJCSItNiIsICItNyIsICItOCIsICItOSIsICItMTAiLAotCQkJIm5vZmx1c2giLCAicmVtYXAiLCAicmVtYXA2MyIsICJzY3NpIiwgTlVMTCB9OwotCQl1bml0ID0gc1syXSAtICdhJzsKLQkJaHcgICA9IHVuaXQgLyBNQVhfRFJJVkVTOwotCQl1bml0ID0gdW5pdCAlIE1BWF9EUklWRVM7Ci0JCWh3aWYgPSAmaWRlX2h3aWZzW2h3XTsKLQkJZHJpdmUgPSAmaHdpZi0+ZHJpdmVzW3VuaXRdOwotCQlpZiAoc3RybmNtcChzICsgNCwgImlkZS0iLCA0KSA9PSAwKSB7Ci0JCQlzdHJsY3B5KGRyaXZlLT5kcml2ZXJfcmVxLCBzICsgNCwgc2l6ZW9mKGRyaXZlLT5kcml2ZXJfcmVxKSk7Ci0JCQlnb3RvIG9ic29sZXRlX29wdGlvbjsKLQkJfQotCQlzd2l0Y2ggKG1hdGNoX3Bhcm0oJnNbM10sIGhkX3dvcmRzLCB2YWxzLCAzKSkgewotCQkJY2FzZSAtMTogLyogIm5vbmUiICovCi0JCQljYXNlIC0yOiAvKiAibm9wcm9iZSIgKi8KLQkJCQlkcml2ZS0+bm9wcm9iZSA9IDE7Ci0JCQkJZ290byBvYnNvbGV0ZV9vcHRpb247Ci0JCQljYXNlIC0zOiAvKiAibm93ZXJyIiAqLwotCQkJCWRyaXZlLT5iYWRfd3N0YXQgPSBCQURfUl9TVEFUOwotCQkJCWdvdG8gb2Jzb2xldGVfb3B0aW9uOwotCQkJY2FzZSAtNDogLyogImNkcm9tIiAqLwotCQkJCWRyaXZlLT5wcmVzZW50ID0gMTsKLQkJCQlkcml2ZS0+bWVkaWEgPSBpZGVfY2Ryb207Ci0JCQkJLyogYW4gQVRBUEkgZGV2aWNlIGlnbm9yZXMgRFJEWSAqLwotCQkJCWRyaXZlLT5yZWFkeV9zdGF0ID0gMDsKLQkJCQlnb3RvIG9ic29sZXRlX29wdGlvbjsKLQkJCWNhc2UgLTU6IC8qIG5vZG1hICovCi0JCQkJZHJpdmUtPm5vZG1hID0gMTsKLQkJCQlnb3RvIG9ic29sZXRlX29wdGlvbjsKLQkJCWNhc2UgLTExOiAvKiBub2ZsdXNoICovCi0JCQkJZHJpdmUtPm5vZmx1c2ggPSAxOwotCQkJCWdvdG8gb2Jzb2xldGVfb3B0aW9uOwotCQkJY2FzZSAtMTI6IC8qICJyZW1hcCIgKi8KLQkJCQlkcml2ZS0+cmVtYXBfMF90b18xID0gMTsKLQkJCQlnb3RvIG9ic29sZXRlX29wdGlvbjsKLQkJCWNhc2UgLTEzOiAvKiAicmVtYXA2MyIgKi8KLQkJCQlkcml2ZS0+c2VjdDAgPSA2MzsKLQkJCQlnb3RvIG9ic29sZXRlX29wdGlvbjsKLQkJCWNhc2UgLTE0OiAvKiAic2NzaSIgKi8KLQkJCQlkcml2ZS0+c2NzaSA9IDE7Ci0JCQkJZ290byBvYnNvbGV0ZV9vcHRpb247Ci0JCQljYXNlIDM6IC8qIGN5bCxoZWFkLHNlY3QgKi8KLQkJCQlkcml2ZS0+bWVkaWEJPSBpZGVfZGlzazsKLQkJCQlkcml2ZS0+cmVhZHlfc3RhdCA9IFJFQURZX1NUQVQ7Ci0JCQkJZHJpdmUtPmN5bAk9IGRyaXZlLT5iaW9zX2N5bCAgPSB2YWxzWzBdOwotCQkJCWRyaXZlLT5oZWFkCT0gZHJpdmUtPmJpb3NfaGVhZCA9IHZhbHNbMV07Ci0JCQkJZHJpdmUtPnNlY3QJPSBkcml2ZS0+Ymlvc19zZWN0ID0gdmFsc1syXTsKLQkJCQlkcml2ZS0+cHJlc2VudAk9IDE7Ci0JCQkJZHJpdmUtPmZvcmNlZF9nZW9tID0gMTsKLQkJCQlnb3RvIG9ic29sZXRlX29wdGlvbjsKLQkJCWRlZmF1bHQ6Ci0JCQkJZ290byBiYWRfb3B0aW9uOwotCQl9Ci0JfQotCi0JaWYgKHNbMF0gIT0gJ2knIHx8IHNbMV0gIT0gJ2QnIHx8IHNbMl0gIT0gJ2UnKQotCQlnb3RvIGJhZF9vcHRpb247Ci0JLyoKLQkgKiBMb29rIGZvciBidXMgc3BlZWQgb3B0aW9uOiAgImlkZWJ1cz0iCi0JICovCi0JaWYgKHNbM10gPT0gJ2InICYmIHNbNF0gPT0gJ3UnICYmIHNbNV0gPT0gJ3MnKSB7Ci0JCWlmIChtYXRjaF9wYXJtKCZzWzZdLCBOVUxMLCB2YWxzLCAxKSAhPSAxKQotCQkJZ290byBiYWRfb3B0aW9uOwotCQlpZiAodmFsc1swXSA+PSAyMCAmJiB2YWxzWzBdIDw9IDY2KSB7Ci0JCQlpZGVidXNfcGFyYW1ldGVyID0gdmFsc1swXTsKLQkJfSBlbHNlCi0JCQlwcmludGsoIiAtLSBCQUQgQlVTIFNQRUVEISBFeHBlY3RlZCB2YWx1ZSBmcm9tIDIwIHRvIDY2Iik7Ci0JCWdvdG8gb2Jzb2xldGVfb3B0aW9uOwotCX0KLQotYmFkX29wdGlvbjoKLQlwcmludGsoIiAtLSBCQUQgT1BUSU9OXG4iKTsKLQlyZXR1cm4gMTsKLW9ic29sZXRlX29wdGlvbjoKLQlwcmludGsoIiAtLSBPQlNPTEVURSBPUFRJT04sIFdJTEwgQkUgUkVNT1ZFRCBTT09OIVxuIik7Ci0JcmV0dXJuIDE7Ci19Ci0KLUVYUE9SVF9TWU1CT0woaWRlX2xvY2spOwotCiBzdGF0aWMgaW50IGlkZV9idXNfbWF0Y2goc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlX2RyaXZlciAqZHJ2KQogewogCXJldHVybiAxOwpAQCAtMTI4MSwxMSArMTAwOCw2IEBACiAJaW50IHJldDsKIAogCXByaW50ayhLRVJOX0lORk8gIlVuaWZvcm0gTXVsdGktUGxhdGZvcm0gRS1JREUgZHJpdmVyXG4iKTsKLQlzeXN0ZW1fYnVzX3NwZWVkID0gaWRlX3N5c3RlbV9idXNfc3BlZWQoKTsKLQotCXByaW50ayhLRVJOX0lORk8gImlkZTogQXNzdW1pbmcgJWRNSHogc3lzdGVtIGJ1cyBzcGVlZCAiCi0JCQkgImZvciBQSU8gbW9kZXMlc1xuIiwgc3lzdGVtX2J1c19zcGVlZCwKLQkJCWlkZWJ1c19wYXJhbWV0ZXIgPyAiIiA6ICI7IG92ZXJyaWRlIHdpdGggaWRlYnVzPXh4Iik7CiAKIAlyZXQgPSBidXNfcmVnaXN0ZXIoJmlkZV9idXNfdHlwZSk7CiAJaWYgKHJldCA8IDApIHsKQEAgLTEzMTEsMzIgKzEwMzMsNyBAQAogCXJldHVybiByZXQ7CiB9CiAKLSNpZmRlZiBNT0RVTEUKLXN0YXRpYyBjaGFyICpvcHRpb25zID0gTlVMTDsKLW1vZHVsZV9wYXJhbShvcHRpb25zLCBjaGFycCwgMCk7Ci1NT0RVTEVfTElDRU5TRSgiR1BMIik7Ci0KLXN0YXRpYyB2b2lkIF9faW5pdCBwYXJzZV9vcHRpb25zIChjaGFyICpsaW5lKQotewotCWNoYXIgKm5leHQgPSBsaW5lOwotCi0JaWYgKGxpbmUgPT0gTlVMTCB8fCAhKmxpbmUpCi0JCXJldHVybjsKLQl3aGlsZSAoKGxpbmUgPSBuZXh0KSAhPSBOVUxMKSB7Ci0gCQlpZiAoKG5leHQgPSBzdHJjaHIobGluZSwnICcpKSAhPSBOVUxMKQotCQkJKm5leHQrKyA9IDA7Ci0JCWlmICghaWRlX3NldHVwKGxpbmUpKQotCQkJcHJpbnRrIChLRVJOX0lORk8gIlVua25vd24gb3B0aW9uICclcydcbiIsIGxpbmUpOwotCX0KLX0KLQotaW50IF9faW5pdCBpbml0X21vZHVsZSAodm9pZCkKLXsKLQlwYXJzZV9vcHRpb25zKG9wdGlvbnMpOwotCXJldHVybiBpZGVfaW5pdCgpOwotfQotCi12b2lkIF9fZXhpdCBjbGVhbnVwX21vZHVsZSAodm9pZCkKK3N0YXRpYyB2b2lkIF9fZXhpdCBpZGVfZXhpdCh2b2lkKQogewogCXByb2NfaWRlX2Rlc3Ryb3koKTsKIApAQCAtMTM0NSwxMCArMTA0Miw3IEBACiAJYnVzX3VucmVnaXN0ZXIoJmlkZV9idXNfdHlwZSk7CiB9CiAKLSNlbHNlIC8qICFNT0RVTEUgKi8KLQotX19zZXR1cCgiIiwgaWRlX3NldHVwKTsKLQogbW9kdWxlX2luaXQoaWRlX2luaXQpOworbW9kdWxlX2V4aXQoaWRlX2V4aXQpOwogCi0jZW5kaWYgLyogTU9EVUxFICovCitNT0RVTEVfTElDRU5TRSgiR1BMIik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2lkZS9sZWdhY3kvYWxpMTR4eC5jIGIvZHJpdmVycy9pZGUvbGVnYWN5L2FsaTE0eHguYwppbmRleCA5MGM2NWNmOS4uMDUyMTI1ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvbGVnYWN5L2FsaTE0eHguYworKysgYi9kcml2ZXJzL2lkZS9sZWdhY3kvYWxpMTR4eC5jCkBAIC0xMTYsNyArMTE2LDcgQEAKIAlpbnQgdGltZTEsIHRpbWUyOwogCXU4IHBhcmFtMSwgcGFyYW0yLCBwYXJhbTMsIHBhcmFtNDsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwotCWludCBidXNfc3BlZWQgPSBpZGVfdmxiX2NsayA/IGlkZV92bGJfY2xrIDogc3lzdGVtX2J1c19jbG9jaygpOworCWludCBidXNfc3BlZWQgPSBpZGVfdmxiX2NsayA/IGlkZV92bGJfY2xrIDogNTA7CiAKIAkvKiBjYWxjdWxhdGUgdGltaW5nLCBhY2NvcmRpbmcgdG8gUElPIG1vZGUgKi8KIAl0aW1lMSA9IGlkZV9waW9fY3ljbGVfdGltZShkcml2ZSwgcGlvKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL2xlZ2FjeS9nYXlsZS5jIGIvZHJpdmVycy9pZGUvbGVnYWN5L2dheWxlLmMKaW5kZXggZmVkN2Q4MS4uYjc4OTQxNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvbGVnYWN5L2dheWxlLmMKKysrIGIvZHJpdmVycy9pZGUvbGVnYWN5L2dheWxlLmMKQEAgLTY0LDkgKzY0LDcgQEAKICNkZWZpbmUgR0FZTEVfSEFTX0NPTlRST0xfUkVHCSghaWRlX2RvdWJsZXIpCiAjZGVmaW5lIEdBWUxFX0lERVJFR19TSVpFCShpZGVfZG91YmxlciA/IDB4MTAwMCA6IDB4MjAwMCkKIAotaW50IGlkZV9kb3VibGVyID0gMDsJLyogc3VwcG9ydCBJREUgZG91YmxlcnM/ICovCi1FWFBPUlRfU1lNQk9MX0dQTChpZGVfZG91Ymxlcik7Ci0KK3N0YXRpYyBpbnQgaWRlX2RvdWJsZXI7CiBtb2R1bGVfcGFyYW1fbmFtZWQoZG91YmxlciwgaWRlX2RvdWJsZXIsIGJvb2wsIDApOwogTU9EVUxFX1BBUk1fREVTQyhkb3VibGVyLCAiZW5hYmxlIHN1cHBvcnQgZm9yIElERSBkb3VibGVycyIpOwogI2VuZGlmIC8qIENPTkZJR19CTEtfREVWX0lERURPVUJMRVIgKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL2xlZ2FjeS9odDY1NjBiLmMgYi9kcml2ZXJzL2lkZS9sZWdhY3kvaHQ2NTYwYi5jCmluZGV4IDRmZTUxNmQuLmRkNmRmYjMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWRlL2xlZ2FjeS9odDY1NjBiLmMKKysrIGIvZHJpdmVycy9pZGUvbGVnYWN5L2h0NjU2MGIuYwpAQCAtMjEyLDcgKzIxMiw3IEBACiB7CiAJaW50IGFjdGl2ZV90aW1lLCByZWNvdmVyeV90aW1lOwogCWludCBhY3RpdmVfY3ljbGVzLCByZWNvdmVyeV9jeWNsZXM7Ci0JaW50IGJ1c19zcGVlZCA9IGlkZV92bGJfY2xrID8gaWRlX3ZsYl9jbGsgOiBzeXN0ZW1fYnVzX2Nsb2NrKCk7CisJaW50IGJ1c19zcGVlZCA9IGlkZV92bGJfY2xrID8gaWRlX3ZsYl9jbGsgOiA1MDsKIAogICAgICAgICBpZiAocGlvKSB7CiAJCXVuc2lnbmVkIGludCBjeWNsZV90aW1lOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZGUvbGVnYWN5L2lkZS1jcy5jIGIvZHJpdmVycy9pZGUvbGVnYWN5L2lkZS1jcy5jCmluZGV4IDMzODE0MjQuLjhkYmY0ZDkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWRlL2xlZ2FjeS9pZGUtY3MuYworKysgYi9kcml2ZXJzL2lkZS9sZWdhY3kvaWRlLWNzLmMKQEAgLTYzLDExICs2MywxMSBAQAogCiAjZGVmaW5lIElOVF9NT0RVTEVfUEFSTShuLCB2KSBzdGF0aWMgaW50IG4gPSB2OyBtb2R1bGVfcGFyYW0obiwgaW50LCAwKQogCi0jaWZkZWYgUENNQ0lBX0RFQlVHCi1JTlRfTU9EVUxFX1BBUk0ocGNfZGVidWcsIFBDTUNJQV9ERUJVRyk7CisjaWZkZWYgQ09ORklHX1BDTUNJQV9ERUJVRworSU5UX01PRFVMRV9QQVJNKHBjX2RlYnVnLCAwKTsKICNkZWZpbmUgREVCVUcobiwgYXJncy4uLikgaWYgKHBjX2RlYnVnPihuKSkgcHJpbnRrKEtFUk5fREVCVUcgYXJncykKLXN0YXRpYyBjaGFyICp2ZXJzaW9uID0KLSJpZGUtY3MuYyAxLjMgMjAwMi8xMC8yNiAwNTo0NTozMSAoRGF2aWQgSGluZHMpIjsKKy8qc3RhdGljIGNoYXIgKnZlcnNpb24gPQorImlkZS1jcy5jIDEuMyAyMDAyLzEwLzI2IDA1OjQ1OjMxIChEYXZpZCBIaW5kcykiOyovCiAjZWxzZQogI2RlZmluZSBERUJVRyhuLCBhcmdzLi4uKQogI2VuZGlmCkBAIC0zNzUsNyArMzc1LDcgQEAKIAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovCiAKLXZvaWQgaWRlX3JlbGVhc2Uoc3RydWN0IHBjbWNpYV9kZXZpY2UgKmxpbmspCitzdGF0aWMgdm9pZCBpZGVfcmVsZWFzZShzdHJ1Y3QgcGNtY2lhX2RldmljZSAqbGluaykKIHsKICAgICBpZGVfaW5mb190ICppbmZvID0gbGluay0+cHJpdjsKICAgICBpZGVfaHdpZl90ICpod2lmID0gaW5mby0+aHdpZjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL2xlZ2FjeS9xZDY1eHguYyBiL2RyaXZlcnMvaWRlL2xlZ2FjeS9xZDY1eHguYwppbmRleCA2NDI0YWYxLi41MWRiYTgyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2lkZS9sZWdhY3kvcWQ2NXh4LmMKKysrIGIvZHJpdmVycy9pZGUvbGVnYWN5L3FkNjV4eC5jCkBAIC0xMTAsNyArMTEwLDcgQEAKIAogc3RhdGljIHU4IHFkNjUwMF9jb21wdXRlX3RpbWluZyAoaWRlX2h3aWZfdCAqaHdpZiwgaW50IGFjdGl2ZV90aW1lLCBpbnQgcmVjb3ZlcnlfdGltZSkKIHsKLQlpbnQgY2xrID0gaWRlX3ZsYl9jbGsgPyBpZGVfdmxiX2NsayA6IHN5c3RlbV9idXNfY2xvY2soKTsKKwlpbnQgY2xrID0gaWRlX3ZsYl9jbGsgPyBpZGVfdmxiX2NsayA6IDUwOwogCXU4IGFjdF9jeWMsIHJlY19jeWM7CiAKIAlpZiAoY2xrIDw9IDMzKSB7CkBAIC0xMzIsNyArMTMyLDcgQEAKIAogc3RhdGljIHU4IHFkNjU4MF9jb21wdXRlX3RpbWluZyAoaW50IGFjdGl2ZV90aW1lLCBpbnQgcmVjb3ZlcnlfdGltZSkKIHsKLQlpbnQgY2xrID0gaWRlX3ZsYl9jbGsgPyBpZGVfdmxiX2NsayA6IHN5c3RlbV9idXNfY2xvY2soKTsKKwlpbnQgY2xrID0gaWRlX3ZsYl9jbGsgPyBpZGVfdmxiX2NsayA6IDUwOwogCXU4IGFjdF9jeWMsIHJlY19jeWM7CiAKIAlhY3RfY3ljID0gMTcgLSBJREVfSU4oYWN0aXZlX3RpbWUgICAqIGNsayAvIDEwMDAgKyAxLCAyLCAxNyk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2lkZS9wY2kvYWVjNjJ4eC5jIGIvZHJpdmVycy9pZGUvcGNpL2FlYzYyeHguYwppbmRleCA3ZjQ2YzIyLi5hZTdhNDMyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2lkZS9wY2kvYWVjNjJ4eC5jCisrKyBiL2RyaXZlcnMvaWRlL3BjaS9hZWM2Mnh4LmMKQEAgLTE0MCw3ICsxNDAsNyBAQAogCiBzdGF0aWMgdW5zaWduZWQgaW50IF9fZGV2aW5pdCBpbml0X2NoaXBzZXRfYWVjNjJ4eChzdHJ1Y3QgcGNpX2RldiAqZGV2LCBjb25zdCBjaGFyICpuYW1lKQogewotCWludCBidXNfc3BlZWQgPSBpZGVfcGNpX2NsayA/IGlkZV9wY2lfY2xrIDogc3lzdGVtX2J1c19jbG9jaygpOworCWludCBidXNfc3BlZWQgPSBpZGVfcGNpX2NsayA/IGlkZV9wY2lfY2xrIDogMzM7CiAKIAlpZiAoYnVzX3NwZWVkIDw9IDMzKQogCQlwY2lfc2V0X2RydmRhdGEoZGV2LCAodm9pZCAqKSBhZWM2eHh4XzMzX2Jhc2UpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZGUvcGNpL2FsaW0xNXgzLmMgYi9kcml2ZXJzL2lkZS9wY2kvYWxpbTE1eDMuYwppbmRleCBmMjEyOWQ1Li5mMmRlMDBhZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvcGNpL2FsaW0xNXgzLmMKKysrIGIvZHJpdmVycy9pZGUvcGNpL2FsaW0xNXgzLmMKQEAgLTcyLDcgKzcyLDcgQEAKIAlpbnQgc190aW1lLCBhX3RpbWUsIGNfdGltZTsKIAl1OCBzX2NsYywgYV9jbGMsIHJfY2xjOwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0JaW50IGJ1c19zcGVlZCA9IGlkZV9wY2lfY2xrID8gaWRlX3BjaV9jbGsgOiBzeXN0ZW1fYnVzX2Nsb2NrKCk7CisJaW50IGJ1c19zcGVlZCA9IGlkZV9wY2lfY2xrID8gaWRlX3BjaV9jbGsgOiAzMzsKIAlpbnQgcG9ydCA9IGh3aWYtPmNoYW5uZWwgPyAweDVjIDogMHg1ODsKIAlpbnQgcG9ydEZJRk8gPSBod2lmLT5jaGFubmVsID8gMHg1NSA6IDB4NTQ7CiAJdTggY2RfZG1hX2ZpZm8gPSAwOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZGUvcGNpL2FtZDc0eHguYyBiL2RyaXZlcnMvaWRlL3BjaS9hbWQ3NHh4LmMKaW5kZXggZWZjZjU0My4uYWQyMjIyMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvcGNpL2FtZDc0eHguYworKysgYi9kcml2ZXJzL2lkZS9wY2kvYW1kNzR4eC5jCkBAIC01MywyMCArNTMsMjAgQEAKIAl1OCB0ID0gMCwgb2Zmc2V0ID0gYW1kX29mZnNldChkZXYpOwogCiAJcGNpX3JlYWRfY29uZmlnX2J5dGUoZGV2LCBBTURfQUREUkVTU19TRVRVUCArIG9mZnNldCwgJnQpOwotCXQgPSAodCAmIH4oMyA8PCAoKDMgLSBkbikgPDwgMSkpKSB8ICgoRklUKHRpbWluZy0+c2V0dXAsIDEsIDQpIC0gMSkgPDwgKCgzIC0gZG4pIDw8IDEpKTsKKwl0ID0gKHQgJiB+KDMgPDwgKCgzIC0gZG4pIDw8IDEpKSkgfCAoKGNsYW1wX3ZhbCh0aW1pbmctPnNldHVwLCAxLCA0KSAtIDEpIDw8ICgoMyAtIGRuKSA8PCAxKSk7CiAJcGNpX3dyaXRlX2NvbmZpZ19ieXRlKGRldiwgQU1EX0FERFJFU1NfU0VUVVAgKyBvZmZzZXQsIHQpOwogCiAJcGNpX3dyaXRlX2NvbmZpZ19ieXRlKGRldiwgQU1EXzhCSVRfVElNSU5HICsgb2Zmc2V0ICsgKDEgLSAoZG4gPj4gMSkpLAotCQkoKEZJVCh0aW1pbmctPmFjdDhiLCAxLCAxNikgLSAxKSA8PCA0KSB8IChGSVQodGltaW5nLT5yZWM4YiwgMSwgMTYpIC0gMSkpOworCQkoKGNsYW1wX3ZhbCh0aW1pbmctPmFjdDhiLCAxLCAxNikgLSAxKSA8PCA0KSB8IChjbGFtcF92YWwodGltaW5nLT5yZWM4YiwgMSwgMTYpIC0gMSkpOwogCiAJcGNpX3dyaXRlX2NvbmZpZ19ieXRlKGRldiwgQU1EX0RSSVZFX1RJTUlORyArIG9mZnNldCArICgzIC0gZG4pLAotCQkoKEZJVCh0aW1pbmctPmFjdGl2ZSwgMSwgMTYpIC0gMSkgPDwgNCkgfCAoRklUKHRpbWluZy0+cmVjb3ZlciwgMSwgMTYpIC0gMSkpOworCQkoKGNsYW1wX3ZhbCh0aW1pbmctPmFjdGl2ZSwgMSwgMTYpIC0gMSkgPDwgNCkgfCAoY2xhbXBfdmFsKHRpbWluZy0+cmVjb3ZlciwgMSwgMTYpIC0gMSkpOwogCiAJc3dpdGNoICh1ZG1hX21hc2spIHsKLQljYXNlIEFUQV9VRE1BMjogdCA9IHRpbWluZy0+dWRtYSA/ICgweGMwIHwgKEZJVCh0aW1pbmctPnVkbWEsIDIsIDUpIC0gMikpIDogMHgwMzsgYnJlYWs7Ci0JY2FzZSBBVEFfVURNQTQ6IHQgPSB0aW1pbmctPnVkbWEgPyAoMHhjMCB8IGFtZF9jeWMydWRtYVtGSVQodGltaW5nLT51ZG1hLCAyLCAxMCldKSA6IDB4MDM7IGJyZWFrOwotCWNhc2UgQVRBX1VETUE1OiB0ID0gdGltaW5nLT51ZG1hID8gKDB4YzAgfCBhbWRfY3ljMnVkbWFbRklUKHRpbWluZy0+dWRtYSwgMSwgMTApXSkgOiAweDAzOyBicmVhazsKLQljYXNlIEFUQV9VRE1BNjogdCA9IHRpbWluZy0+dWRtYSA/ICgweGMwIHwgYW1kX2N5YzJ1ZG1hW0ZJVCh0aW1pbmctPnVkbWEsIDEsIDE1KV0pIDogMHgwMzsgYnJlYWs7CisJY2FzZSBBVEFfVURNQTI6IHQgPSB0aW1pbmctPnVkbWEgPyAoMHhjMCB8IChjbGFtcF92YWwodGltaW5nLT51ZG1hLCAyLCA1KSAtIDIpKSA6IDB4MDM7IGJyZWFrOworCWNhc2UgQVRBX1VETUE0OiB0ID0gdGltaW5nLT51ZG1hID8gKDB4YzAgfCBhbWRfY3ljMnVkbWFbY2xhbXBfdmFsKHRpbWluZy0+dWRtYSwgMiwgMTApXSkgOiAweDAzOyBicmVhazsKKwljYXNlIEFUQV9VRE1BNTogdCA9IHRpbWluZy0+dWRtYSA/ICgweGMwIHwgYW1kX2N5YzJ1ZG1hW2NsYW1wX3ZhbCh0aW1pbmctPnVkbWEsIDEsIDEwKV0pIDogMHgwMzsgYnJlYWs7CisJY2FzZSBBVEFfVURNQTY6IHQgPSB0aW1pbmctPnVkbWEgPyAoMHhjMCB8IGFtZF9jeWMydWRtYVtjbGFtcF92YWwodGltaW5nLT51ZG1hLCAxLCAxNSldKSA6IDB4MDM7IGJyZWFrOwogCWRlZmF1bHQ6IHJldHVybjsKIAl9CiAKQEAgLTE3OSw3ICsxNzksNyBAQAogICogRGV0ZXJtaW5lIHRoZSBzeXN0ZW0gYnVzIGNsb2NrLgogICovCiAKLQlhbWRfY2xvY2sgPSAoaWRlX3BjaV9jbGsgPyBpZGVfcGNpX2NsayA6IHN5c3RlbV9idXNfY2xvY2soKSkgKiAxMDAwOworCWFtZF9jbG9jayA9IChpZGVfcGNpX2NsayA/IGlkZV9wY2lfY2xrIDogMzMpICogMTAwMDsKIAogCXN3aXRjaCAoYW1kX2Nsb2NrKSB7CiAJCWNhc2UgMzMwMDA6IGFtZF9jbG9jayA9IDMzMzMzOyBicmVhazsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL3BjaS9jbWQ2NDAuYyBiL2RyaXZlcnMvaWRlL3BjaS9jbWQ2NDAuYwppbmRleCBiMzhhMTk4MC4uY2QxYmExNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvcGNpL2NtZDY0MC5jCisrKyBiL2RyaXZlcnMvaWRlL3BjaS9jbWQ2NDAuYwpAQCAtNTI1LDEyICs1MjUsMTAgQEAKIAl1OCBzZXR1cF9jb3VudCwgYWN0aXZlX2NvdW50LCByZWNvdmVyeV9jb3VudCwgcmVjb3ZlcnlfY291bnQyLCBjeWNsZV9jb3VudDsKIAlpbnQgYnVzX3NwZWVkOwogCi0JaWYgKGNtZDY0MF92bGIgJiYgaWRlX3ZsYl9jbGspCi0JCWJ1c19zcGVlZCA9IGlkZV92bGJfY2xrOwotCWVsc2UgaWYgKCFjbWQ2NDBfdmxiICYmIGlkZV9wY2lfY2xrKQotCQlidXNfc3BlZWQgPSBpZGVfcGNpX2NsazsKKwlpZiAoY21kNjQwX3ZsYikKKwkJYnVzX3NwZWVkID0gaWRlX3ZsYl9jbGsgPyBpZGVfdmxiX2NsayA6IDUwOwogCWVsc2UKLQkJYnVzX3NwZWVkID0gc3lzdGVtX2J1c19jbG9jaygpOworCQlidXNfc3BlZWQgPSBpZGVfcGNpX2NsayA/IGlkZV9wY2lfY2xrIDogMzM7CiAKIAlpZiAocGlvX21vZGUgPiA1KQogCQlwaW9fbW9kZSA9IDU7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2lkZS9wY2kvY21kNjR4LmMgYi9kcml2ZXJzL2lkZS9wY2kvY21kNjR4LmMKaW5kZXggMDg2NzQ3MS4uY2E0Nzc0YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvcGNpL2NtZDY0eC5jCisrKyBiL2RyaXZlcnMvaWRlL3BjaS9jbWQ2NHguYwpAQCAtNjksNyArNjksNyBAQAogc3RhdGljIHZvaWQgcHJvZ3JhbV9jeWNsZV90aW1lcyAoaWRlX2RyaXZlX3QgKmRyaXZlLCBpbnQgY3ljbGVfdGltZSwgaW50IGFjdGl2ZV90aW1lKQogewogCXN0cnVjdCBwY2lfZGV2ICpkZXYgPSB0b19wY2lfZGV2KGRyaXZlLT5od2lmLT5kZXYpOwotCWludCBjbG9ja190aW1lID0gMTAwMCAvIChpZGVfcGNpX2NsayA/IGlkZV9wY2lfY2xrIDogc3lzdGVtX2J1c19jbG9jaygpKTsKKwlpbnQgY2xvY2tfdGltZSA9IDEwMDAgLyAoaWRlX3BjaV9jbGsgPyBpZGVfcGNpX2NsayA6IDMzKTsKIAl1OCAgY3ljbGVfY291bnQsIGFjdGl2ZV9jb3VudCwgcmVjb3ZlcnlfY291bnQsIGRyd3RpbTsKIAlzdGF0aWMgY29uc3QgdTggcmVjb3ZlcnlfdmFsdWVzW10gPQogCQl7MTUsIDE1LCAxLCAyLCAzLCA0LCA1LCA2LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDB9OwpAQCAtMTI4LDcgKzEyOCw3IEBACiAJCQkgICAgaWRlX3Bpb190aW1pbmdzW3Bpb10uYWN0aXZlX3RpbWUpOwogCiAJc2V0dXBfY291bnQgPSBxdWFudGl6ZV90aW1pbmcoaWRlX3Bpb190aW1pbmdzW3Bpb10uc2V0dXBfdGltZSwKLQkJCTEwMDAgLyAoaWRlX3BjaV9jbGsgPyBpZGVfcGNpX2NsayA6IHN5c3RlbV9idXNfY2xvY2soKSkpOworCQkJMTAwMCAvIChpZGVfcGNpX2NsayA/IGlkZV9wY2lfY2xrIDogMzMpKTsKIAogCS8qCiAJICogVGhlIHByaW1hcnkgY2hhbm5lbCBoYXMgaW5kaXZpZHVhbCBhZGRyZXNzIHNldHVwIHRpbWluZyByZWdpc3RlcnMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL3BjaS9jeTgyYzY5My5jIGIvZHJpdmVycy9pZGUvcGNpL2N5ODJjNjkzLmMKaW5kZXggNzdjYzIyYy4uOGM1MzRhZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvcGNpL2N5ODJjNjkzLmMKKysrIGIvZHJpdmVycy9pZGUvcGNpL2N5ODJjNjkzLmMKQEAgLTEzNCw3ICsxMzQsNyBAQAogc3RhdGljIHZvaWQgY29tcHV0ZV9jbG9ja3ModTggcGlvLCBwaW9fY2xvY2tzX3QgKnBfcGNsaykKIHsKIAlpbnQgY2xrMSwgY2xrMjsKLQlpbnQgYnVzX3NwZWVkID0gaWRlX3BjaV9jbGsgPyBpZGVfcGNpX2NsayA6IHN5c3RlbV9idXNfY2xvY2soKTsKKwlpbnQgYnVzX3NwZWVkID0gaWRlX3BjaV9jbGsgPyBpZGVfcGNpX2NsayA6IDMzOwogCiAJLyogd2UgZG9uJ3QgY2hlY2sgYWdhaW5zdCBDWTgyQzY5MydzIG1pbiBhbmQgbWF4IHNwZWVkLAogCSAqIHNvIHlvdSBjYW4gcGxheSB3aXRoIHRoZSBpZGVidXM9eHggcGFyYW1ldGVyCmRpZmYgLS1naXQgYS9kcml2ZXJzL2lkZS9wY2kvaHB0MzY2LmMgYi9kcml2ZXJzL2lkZS9wY2kvaHB0MzY2LmMKaW5kZXggYzkyOWRhZC4uMzk3YzZjYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvcGNpL2hwdDM2Ni5jCisrKyBiL2RyaXZlcnMvaWRlL3BjaS9ocHQzNjYuYwpAQCAtNzU5LDggKzc1OSw3IEBACiAJCQkJZW5hYmxlX2lycSAoaHdpZi0+aXJxKTsKIAkJfQogCX0gZWxzZQotCQlvdXRiKG1hc2sgPyAoZHJpdmUtPmN0bCB8IDIpIDogKGRyaXZlLT5jdGwgJiB+MiksCi0JCSAgICAgaHdpZi0+aW9fcG9ydHMuY3RsX2FkZHIpOworCQlvdXRiKEFUQV9ERVZDVExfT0JTIHwgKG1hc2sgPyAyIDogMCksIGh3aWYtPmlvX3BvcnRzLmN0bF9hZGRyKTsKIH0KIAogLyoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL3BjaS9uczg3NDE1LmMgYi9kcml2ZXJzL2lkZS9wY2kvbnM4NzQxNS5jCmluZGV4IGE3YTQxYmIuLjQ1YmE3MWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWRlL3BjaS9uczg3NDE1LmMKKysrIGIvZHJpdmVycy9pZGUvcGNpL25zODc0MTUuYwpAQCAtNzYsNyArNzYsNyBAQAogCX0KIAogCS8qIGJlIHN1cmUgd2UncmUgbG9va2luZyBhdCB0aGUgbG93IG9yZGVyIGJpdHMgKi8KLQlvdXRiKGRyaXZlLT5jdGwgJiB+MHg4MCwgaW9fcG9ydHMtPmN0bF9hZGRyKTsKKwlvdXRiKEFUQV9ERVZDVExfT0JTICYgfjB4ODAsIGlvX3BvcnRzLT5jdGxfYWRkcik7CiAKIAlpZiAodGFzay0+dGZfZmxhZ3MgJiBJREVfVEZMQUdfSU5fTlNFQ1QpCiAJCXRmLT5uc2VjdCAgPSBpbmIoaW9fcG9ydHMtPm5zZWN0X2FkZHIpOwpAQCAtOTAsNyArOTAsNyBAQAogCQl0Zi0+ZGV2aWNlID0gc3VwZXJpb19pZGVfaW5iKGlvX3BvcnRzLT5kZXZpY2VfYWRkcik7CiAKIAlpZiAodGFzay0+dGZfZmxhZ3MgJiBJREVfVEZMQUdfTEJBNDgpIHsKLQkJb3V0Yihkcml2ZS0+Y3RsIHwgMHg4MCwgaW9fcG9ydHMtPmN0bF9hZGRyKTsKKwkJb3V0YihBVEFfREVWQ1RMX09CUyB8IDB4ODAsIGlvX3BvcnRzLT5jdGxfYWRkcik7CiAKIAkJaWYgKHRhc2stPnRmX2ZsYWdzICYgSURFX1RGTEFHX0lOX0hPQl9GRUFUVVJFKQogCQkJdGYtPmhvYl9mZWF0dXJlID0gaW5iKGlvX3BvcnRzLT5mZWF0dXJlX2FkZHIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZGUvcGNpL3NjY19wYXRhLmMgYi9kcml2ZXJzL2lkZS9wY2kvc2NjX3BhdGEuYwppbmRleCA5MTBmYjAwLi4xNTg0ZWJiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2lkZS9wY2kvc2NjX3BhdGEuYworKysgYi9kcml2ZXJzL2lkZS9wY2kvc2NjX3BhdGEuYwpAQCAtMTQ4LDExICsxNDgsOCBAQAogCW91dF9iZTMyKCh2b2lkKilwb3J0LCBhZGRyKTsKIH0KIAotc3RhdGljIHZvaWQKLXNjY19pZGVfb3V0YnN5bmMoaWRlX2RyaXZlX3QgKiBkcml2ZSwgdTggYWRkciwgdW5zaWduZWQgbG9uZyBwb3J0KQorc3RhdGljIHZvaWQgc2NjX2lkZV9vdXRic3luYyhpZGVfaHdpZl90ICpod2lmLCB1OCBhZGRyLCB1bnNpZ25lZCBsb25nIHBvcnQpCiB7Ci0JaWRlX2h3aWZfdCAqaHdpZiA9IEhXSUYoZHJpdmUpOwotCiAJb3V0X2JlMzIoKHZvaWQqKXBvcnQsIGFkZHIpOwogCWVpZWlvKCk7CiAJaW5fYmUzMigodm9pZCopKGh3aWYtPmRtYV9iYXNlICsgMHgwMWMpKTsKQEAgLTY2Miw4ICs2NTksNiBAQAogCWlmICh0YXNrLT50Zl9mbGFncyAmIElERV9URkxBR19GTEFHR0VEKQogCQlISUhJID0gMHhGRjsKIAotCWlkZV9zZXRfaXJxKGRyaXZlLCAxKTsKLQogCWlmICh0YXNrLT50Zl9mbGFncyAmIElERV9URkxBR19PVVRfREFUQSkKIAkJb3V0X2JlMzIoKHZvaWQgKilpb19wb3J0cy0+ZGF0YV9hZGRyLAogCQkJICh0Zi0+aG9iX2RhdGEgPDwgOCkgfCB0Zi0+ZGF0YSk7CkBAIC03MDgsNyArNzAzLDcgQEAKIAl9CiAKIAkvKiBiZSBzdXJlIHdlJ3JlIGxvb2tpbmcgYXQgdGhlIGxvdyBvcmRlciBiaXRzICovCi0Jc2NjX2lkZV9vdXRiKGRyaXZlLT5jdGwgJiB+MHg4MCwgaW9fcG9ydHMtPmN0bF9hZGRyKTsKKwlzY2NfaWRlX291dGIoQVRBX0RFVkNUTF9PQlMgJiB+MHg4MCwgaW9fcG9ydHMtPmN0bF9hZGRyKTsKIAogCWlmICh0YXNrLT50Zl9mbGFncyAmIElERV9URkxBR19JTl9OU0VDVCkKIAkJdGYtPm5zZWN0ICA9IHNjY19pZGVfaW5iKGlvX3BvcnRzLT5uc2VjdF9hZGRyKTsKQEAgLTcyMiw3ICs3MTcsNyBAQAogCQl0Zi0+ZGV2aWNlID0gc2NjX2lkZV9pbmIoaW9fcG9ydHMtPmRldmljZV9hZGRyKTsKIAogCWlmICh0YXNrLT50Zl9mbGFncyAmIElERV9URkxBR19MQkE0OCkgewotCQlzY2NfaWRlX291dGIoZHJpdmUtPmN0bCB8IDB4ODAsIGlvX3BvcnRzLT5jdGxfYWRkcik7CisJCXNjY19pZGVfb3V0YihBVEFfREVWQ1RMX09CUyB8IDB4ODAsIGlvX3BvcnRzLT5jdGxfYWRkcik7CiAKIAkJaWYgKHRhc2stPnRmX2ZsYWdzICYgSURFX1RGTEFHX0lOX0hPQl9GRUFUVVJFKQogCQkJdGYtPmhvYl9mZWF0dXJlID0gc2NjX2lkZV9pbmIoaW9fcG9ydHMtPmZlYXR1cmVfYWRkcik7CkBAIC03OTUsNyArNzkwLDYgQEAKIAogCWh3aWYtPmRtYV9iYXNlID0gZG1hX2Jhc2U7CiAJaHdpZi0+Y29uZmlnX2RhdGEgPSBwb3J0cy0+Y3RsOwotCWh3aWYtPm1taW8gPSAxOwogfQogCiAvKioKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL3BjaS9zZ2lpb2M0LmMgYi9kcml2ZXJzL2lkZS9wY2kvc2dpaW9jNC5jCmluZGV4IDE2YTBiY2UuLjI0NTEzZTNkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2lkZS9wY2kvc2dpaW9jNC5jCisrKyBiL2RyaXZlcnMvaWRlL3BjaS9zZ2lpb2M0LmMKQEAgLTExMSw3ICsxMTEsNyBAQAogc3RhdGljIHZvaWQKIHNnaWlvYzRfbWFza3Byb2MoaWRlX2RyaXZlX3QgKiBkcml2ZSwgaW50IG1hc2spCiB7Ci0Jd3JpdGViKG1hc2sgPyAoZHJpdmUtPmN0bCB8IDIpIDogKGRyaXZlLT5jdGwgJiB+MiksCisJd3JpdGViKEFUQV9ERVZDVExfT0JTIHwgKG1hc2sgPyAyIDogMCksCiAJICAgICAgICh2b2lkIF9faW9tZW0gKilkcml2ZS0+aHdpZi0+aW9fcG9ydHMuY3RsX2FkZHIpOwogfQogCkBAIC0zNjksOCArMzY5LDcgQEAKIAlod2lmLT5zZ19tYXhfbmVudHMgPSBJT0M0X1BSRF9FTlRSSUVTOwogCiAJcGFkID0gcGNpX2FsbG9jX2NvbnNpc3RlbnQoZGV2LCBJT0M0X0lERV9DQUNIRUxJTkVfU0laRSwKLQkJCQkgICAoZG1hX2FkZHJfdCAqKSAmKGh3aWYtPmRtYV9zdGF0dXMpKTsKLQorCQkJCSAgIChkbWFfYWRkcl90ICopJmh3aWYtPmV4dHJhX2Jhc2UpOwogCWlmIChwYWQpIHsKIAkJaWRlX3NldF9od2lmZGF0YShod2lmLCBwYWQpOwogCQlyZXR1cm4gMDsKQEAgLTQzOSw3ICs0MzgsNyBAQAogCiAJLyogQWRkcmVzcyBvZiB0aGUgRW5kaW5nIERNQSAqLwogCW1lbXNldChpZGVfZ2V0X2h3aWZkYXRhKGh3aWYpLCAwLCBJT0M0X0lERV9DQUNIRUxJTkVfU0laRSk7Ci0JZW5kaW5nX2RtYV9hZGRyID0gY3B1X3RvX2xlMzIoaHdpZi0+ZG1hX3N0YXR1cyk7CisJZW5kaW5nX2RtYV9hZGRyID0gY3B1X3RvX2xlMzIoaHdpZi0+ZXh0cmFfYmFzZSk7CiAJd3JpdGVsKGVuZGluZ19kbWFfYWRkciwgKHZvaWQgX19pb21lbSAqKShkbWFfYmFzZSArIElPQzRfRE1BX0VORF9BRERSICogNCkpOwogCiAJd3JpdGVsKGRtYV9kaXJlY3Rpb24sICh2b2lkIF9faW9tZW0gKilpb2M0X2RtYV9hZGRyKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL3BjaS9zaWltYWdlLmMgYi9kcml2ZXJzL2lkZS9wY2kvc2lpbWFnZS5jCmluZGV4IDAwMDZiOWUuLmI3NWU5YmIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWRlL3BjaS9zaWltYWdlLmMKKysrIGIvZHJpdmVycy9pZGUvcGNpL3NpaW1hZ2UuYwpAQCAtOTQsNyArOTQsNyBAQAogCXVuc2lnbmVkIGxvbmcgYmFzZSA9ICh1bnNpZ25lZCBsb25nKWh3aWYtPmh3aWZfZGF0YTsKIAogCWJhc2UgKz0gMHhBMCArIHI7Ci0JaWYgKGh3aWYtPm1taW8pCisJaWYgKGh3aWYtPmhvc3RfZmxhZ3MgJiBJREVfSEZMQUdfTU1JTykKIAkJYmFzZSArPSBod2lmLT5jaGFubmVsIDw8IDY7CiAJZWxzZQogCQliYXNlICs9IGh3aWYtPmNoYW5uZWwgPDwgNDsKQEAgLTExNyw3ICsxMTcsNyBAQAogCXVuc2lnbmVkIGxvbmcgYmFzZQk9ICh1bnNpZ25lZCBsb25nKWh3aWYtPmh3aWZfZGF0YTsKIAogCWJhc2UgKz0gMHhBMCArIHI7Ci0JaWYgKGh3aWYtPm1taW8pCisJaWYgKGh3aWYtPmhvc3RfZmxhZ3MgJiBJREVfSEZMQUdfTU1JTykKIAkJYmFzZSArPSBod2lmLT5jaGFubmVsIDw8IDY7CiAJZWxzZQogCQliYXNlICs9IGh3aWYtPmNoYW5uZWwgPDwgNDsKQEAgLTE5MCw3ICsxOTAsOSBAQAogCXVuc2lnbmVkIGxvbmcgYmFzZQk9ICh1bnNpZ25lZCBsb25nKWh3aWYtPmh3aWZfZGF0YTsKIAl1OCBzY3NjLCBtYXNrCQk9IDA7CiAKLQlzY3NjID0gc2lsX2lvcmVhZDgoZGV2LCBiYXNlICsgKGh3aWYtPm1taW8gPyAweDRBIDogMHg4QSkpOworCWJhc2UgKz0gKGh3aWYtPmhvc3RfZmxhZ3MgJiBJREVfSEZMQUdfTU1JTykgPyAweDRBIDogMHg4QTsKKworCXNjc2MgPSBzaWxfaW9yZWFkOChkZXYsIGJhc2UpOwogCiAJc3dpdGNoIChzY3NjICYgMHgzMCkgewogCWNhc2UgMHgxMDoJLyogMTMzICovCkBAIC0yMzgsOCArMjQwLDkgQEAKIAl1bnNpZ25lZCBsb25nIHRmYWRkcgk9IHNpaW1hZ2Vfc2VscmVnKGh3aWYsCTB4MDIpOwogCXVuc2lnbmVkIGxvbmcgYmFzZQk9ICh1bnNpZ25lZCBsb25nKWh3aWYtPmh3aWZfZGF0YTsKIAl1OCB0Zl9waW8JCT0gcGlvOwotCXU4IGFkZHJfbWFzawkJPSBod2lmLT5jaGFubmVsID8gKGh3aWYtPm1taW8gPyAweEY0IDogMHg4NCkKLQkJCQkJCTogKGh3aWYtPm1taW8gPyAweEI0IDogMHg4MCk7CisJdTggbW1pbwkJCT0gKGh3aWYtPmhvc3RfZmxhZ3MgJiBJREVfSEZMQUdfTU1JTykgPyAxIDogMDsKKwl1OCBhZGRyX21hc2sJCT0gaHdpZi0+Y2hhbm5lbCA/IChtbWlvID8gMHhGNCA6IDB4ODQpCisJCQkJCQk6IChtbWlvID8gMHhCNCA6IDB4ODApOwogCXU4IG1vZGUJCQk9IDA7CiAJdTggdW5pdAkJCT0gZHJpdmUtPnNlbGVjdC5iLnVuaXQ7CiAKQEAgLTI5MCwxMyArMjkzLDEzIEBACiAJdTE2IHVsdHJhID0gMCwgbXVsdGkJPSAwOwogCXU4IG1vZGUgPSAwLCB1bml0CT0gZHJpdmUtPnNlbGVjdC5iLnVuaXQ7CiAJdW5zaWduZWQgbG9uZyBiYXNlCT0gKHVuc2lnbmVkIGxvbmcpaHdpZi0+aHdpZl9kYXRhOwotCXU4IHNjc2MgPSAwLCBhZGRyX21hc2sJPSBod2lmLT5jaGFubmVsID8KLQkJCQkJKGh3aWYtPm1taW8gPyAweEY0IDogMHg4NCkgOgotCQkJCQkoaHdpZi0+bW1pbyA/IDB4QjQgOiAweDgwKTsKKwl1OCBtbWlvCQkJPSAoaHdpZi0+aG9zdF9mbGFncyAmIElERV9IRkxBR19NTUlPKSA/IDEgOiAwOworCXU4IHNjc2MgPSAwLCBhZGRyX21hc2sJPSBod2lmLT5jaGFubmVsID8gKG1taW8gPyAweEY0IDogMHg4NCkKKwkJCQkJCTogKG1taW8gPyAweEI0IDogMHg4MCk7CiAJdW5zaWduZWQgbG9uZyBtYQk9IHNpaW1hZ2Vfc2VsZGV2KGRyaXZlLCAweDA4KTsKIAl1bnNpZ25lZCBsb25nIHVhCT0gc2lpbWFnZV9zZWxkZXYoZHJpdmUsIDB4MEMpOwogCi0Jc2NzYyAgPSBzaWxfaW9yZWFkOCAoZGV2LCBiYXNlICsgKGh3aWYtPm1taW8gPyAweDRBIDogMHg4QSkpOworCXNjc2MgID0gc2lsX2lvcmVhZDggKGRldiwgYmFzZSArIChtbWlvID8gMHg0QSA6IDB4OEEpKTsKIAltb2RlICA9IHNpbF9pb3JlYWQ4IChkZXYsIGJhc2UgKyBhZGRyX21hc2spOwogCW11bHRpID0gc2lsX2lvcmVhZDE2KGRldiwgbWEpOwogCXVsdHJhID0gc2lsX2lvcmVhZDE2KGRldiwgdWEpOwpAQCAtMzkxLDcgKzM5NCw3IEBACiAKIHN0YXRpYyBpbnQgc2lpbWFnZV9kbWFfdGVzdF9pcnEoaWRlX2RyaXZlX3QgKmRyaXZlKQogewotCWlmIChkcml2ZS0+aHdpZi0+bW1pbykKKwlpZiAoZHJpdmUtPmh3aWYtPmhvc3RfZmxhZ3MgJiBJREVfSEZMQUdfTU1JTykKIAkJcmV0dXJuIHNpaW1hZ2VfbW1pb19kbWFfdGVzdF9pcnEoZHJpdmUpOwogCWVsc2UKIAkJcmV0dXJuIHNpaW1hZ2VfaW9fZG1hX3Rlc3RfaXJxKGRyaXZlKTsKQEAgLTY0MCw4ICs2NDMsNiBAQAogCWh3aWYtPmlycSA9IGRldi0+aXJxOwogCiAJaHdpZi0+ZG1hX2Jhc2UgPSAodW5zaWduZWQgbG9uZylhZGRyICsgKGNoID8gMHgwOCA6IDB4MDApOwotCi0JaHdpZi0+bW1pbyA9IDE7CiB9CiAKIHN0YXRpYyBpbnQgaXNfZGV2X3NlYWdhdGVfc2F0YShpZGVfZHJpdmVfdCAqZHJpdmUpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2lkZS9wY2kvdmlhODJjeHh4LmMgYi9kcml2ZXJzL2lkZS9wY2kvdmlhODJjeHh4LmMKaW5kZXggNTY2ZTBlYy4uM2VkOTcyOGEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWRlL3BjaS92aWE4MmN4eHguYworKysgYi9kcml2ZXJzL2lkZS9wY2kvdmlhODJjeHh4LmMKQEAgLTEyMCwyMSArMTIwLDIxIEBACiAKIAlpZiAofnZkZXYtPnZpYV9jb25maWctPmZsYWdzICYgVklBX0JBRF9BU1QpIHsKIAkJcGNpX3JlYWRfY29uZmlnX2J5dGUoZGV2LCBWSUFfQUREUkVTU19TRVRVUCwgJnQpOwotCQl0ID0gKHQgJiB+KDMgPDwgKCgzIC0gZG4pIDw8IDEpKSkgfCAoKEZJVCh0aW1pbmctPnNldHVwLCAxLCA0KSAtIDEpIDw8ICgoMyAtIGRuKSA8PCAxKSk7CisJCXQgPSAodCAmIH4oMyA8PCAoKDMgLSBkbikgPDwgMSkpKSB8ICgoY2xhbXBfdmFsKHRpbWluZy0+c2V0dXAsIDEsIDQpIC0gMSkgPDwgKCgzIC0gZG4pIDw8IDEpKTsKIAkJcGNpX3dyaXRlX2NvbmZpZ19ieXRlKGRldiwgVklBX0FERFJFU1NfU0VUVVAsIHQpOwogCX0KIAogCXBjaV93cml0ZV9jb25maWdfYnl0ZShkZXYsIFZJQV84QklUX1RJTUlORyArICgxIC0gKGRuID4+IDEpKSwKLQkJKChGSVQodGltaW5nLT5hY3Q4YiwgMSwgMTYpIC0gMSkgPDwgNCkgfCAoRklUKHRpbWluZy0+cmVjOGIsIDEsIDE2KSAtIDEpKTsKKwkJKChjbGFtcF92YWwodGltaW5nLT5hY3Q4YiwgMSwgMTYpIC0gMSkgPDwgNCkgfCAoY2xhbXBfdmFsKHRpbWluZy0+cmVjOGIsIDEsIDE2KSAtIDEpKTsKIAogCXBjaV93cml0ZV9jb25maWdfYnl0ZShkZXYsIFZJQV9EUklWRV9USU1JTkcgKyAoMyAtIGRuKSwKLQkJKChGSVQodGltaW5nLT5hY3RpdmUsIDEsIDE2KSAtIDEpIDw8IDQpIHwgKEZJVCh0aW1pbmctPnJlY292ZXIsIDEsIDE2KSAtIDEpKTsKKwkJKChjbGFtcF92YWwodGltaW5nLT5hY3RpdmUsIDEsIDE2KSAtIDEpIDw8IDQpIHwgKGNsYW1wX3ZhbCh0aW1pbmctPnJlY292ZXIsIDEsIDE2KSAtIDEpKTsKIAogCXN3aXRjaCAodmRldi0+dmlhX2NvbmZpZy0+dWRtYV9tYXNrKSB7Ci0JY2FzZSBBVEFfVURNQTI6IHQgPSB0aW1pbmctPnVkbWEgPyAoMHhlMCB8IChGSVQodGltaW5nLT51ZG1hLCAyLCA1KSAtIDIpKSA6IDB4MDM7IGJyZWFrOwotCWNhc2UgQVRBX1VETUE0OiB0ID0gdGltaW5nLT51ZG1hID8gKDB4ZTggfCAoRklUKHRpbWluZy0+dWRtYSwgMiwgOSkgLSAyKSkgOiAweDBmOyBicmVhazsKLQljYXNlIEFUQV9VRE1BNTogdCA9IHRpbWluZy0+dWRtYSA/ICgweGUwIHwgKEZJVCh0aW1pbmctPnVkbWEsIDIsIDkpIC0gMikpIDogMHgwNzsgYnJlYWs7Ci0JY2FzZSBBVEFfVURNQTY6IHQgPSB0aW1pbmctPnVkbWEgPyAoMHhlMCB8IChGSVQodGltaW5nLT51ZG1hLCAyLCA5KSAtIDIpKSA6IDB4MDc7IGJyZWFrOworCWNhc2UgQVRBX1VETUEyOiB0ID0gdGltaW5nLT51ZG1hID8gKDB4ZTAgfCAoY2xhbXBfdmFsKHRpbWluZy0+dWRtYSwgMiwgNSkgLSAyKSkgOiAweDAzOyBicmVhazsKKwljYXNlIEFUQV9VRE1BNDogdCA9IHRpbWluZy0+dWRtYSA/ICgweGU4IHwgKGNsYW1wX3ZhbCh0aW1pbmctPnVkbWEsIDIsIDkpIC0gMikpIDogMHgwZjsgYnJlYWs7CisJY2FzZSBBVEFfVURNQTU6IHQgPSB0aW1pbmctPnVkbWEgPyAoMHhlMCB8IChjbGFtcF92YWwodGltaW5nLT51ZG1hLCAyLCA5KSAtIDIpKSA6IDB4MDc7IGJyZWFrOworCWNhc2UgQVRBX1VETUE2OiB0ID0gdGltaW5nLT51ZG1hID8gKDB4ZTAgfCAoY2xhbXBfdmFsKHRpbWluZy0+dWRtYSwgMiwgOSkgLSAyKSkgOiAweDA3OyBicmVhazsKIAlkZWZhdWx0OiByZXR1cm47CiAJfQogCkBAIC0zNDAsNyArMzQwLDcgQEAKIAkgKiBEZXRlcm1pbmUgc3lzdGVtIGJ1cyBjbG9jay4KIAkgKi8KIAotCXZpYV9jbG9jayA9IChpZGVfcGNpX2NsayA/IGlkZV9wY2lfY2xrIDogc3lzdGVtX2J1c19jbG9jaygpKSAqIDEwMDA7CisJdmlhX2Nsb2NrID0gKGlkZV9wY2lfY2xrID8gaWRlX3BjaV9jbGsgOiAzMykgKiAxMDAwOwogCiAJc3dpdGNoICh2aWFfY2xvY2spIHsKIAkJY2FzZSAzMzAwMDogdmlhX2Nsb2NrID0gMzMzMzM7IGJyZWFrOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZGUvcHBjL3BtYWMuYyBiL2RyaXZlcnMvaWRlL3BwYy9wbWFjLmMKaW5kZXggYmEyZDU4Ny4uZGNiMmM0NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvcHBjL3BtYWMuYworKysgYi9kcml2ZXJzL2lkZS9wcGMvcG1hYy5jCkBAIC00ODAsMTMgKzQ4MCwxMyBAQAogCQlwbWFjX2lkZV9zZWxlY3Rwcm9jKGRyaXZlKTsKIH0KIAotc3RhdGljIHZvaWQKLXBtYWNfb3V0YnN5bmMoaWRlX2RyaXZlX3QgKmRyaXZlLCB1OCB2YWx1ZSwgdW5zaWduZWQgbG9uZyBwb3J0KQorc3RhdGljIHZvaWQgcG1hY19vdXRic3luYyhpZGVfaHdpZl90ICpod2lmLCB1OCB2YWx1ZSwgdW5zaWduZWQgbG9uZyBwb3J0KQogewogCXUzMiB0bXA7CiAJCiAJd3JpdGViKHZhbHVlLCAodm9pZCBfX2lvbWVtICopIHBvcnQpOwotCXRtcCA9IHJlYWRsKFBNQUNfSURFX1JFRyhJREVfVElNSU5HX0NPTkZJRykpOworCXRtcCA9IHJlYWRsKCh2b2lkIF9faW9tZW0gKikoaHdpZi0+aW9fcG9ydHMuZGF0YV9hZGRyCisJCQkJICAgICArIElERV9USU1JTkdfQ09ORklHKSk7CiB9CiAKIC8qCmRpZmYgLS1naXQgYS9kcml2ZXJzL2lkZS9zZXR1cC1wY2kuYyBiL2RyaXZlcnMvaWRlL3NldHVwLXBjaS5jCmluZGV4IDUxNzE2MDEuLmFiY2ZiMTcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWRlL3NldHVwLXBjaS5jCisrKyBiL2RyaXZlcnMvaWRlL3NldHVwLXBjaS5jCkBAIC04Nyw3ICs4Nyw3IEBACiAJdW5zaWduZWQgbG9uZyBkbWFfYmFzZSA9IDA7CiAJdTggZG1hX3N0YXQgPSAwOwogCi0JaWYgKGh3aWYtPm1taW8pCisJaWYgKGh3aWYtPmhvc3RfZmxhZ3MgJiBJREVfSEZMQUdfTU1JTykKIAkJcmV0dXJuIGh3aWYtPmRtYV9iYXNlOwogCiAJaWYgKGh3aWYtPm1hdGUgJiYgaHdpZi0+bWF0ZS0+ZG1hX2Jhc2UpIHsKQEAgLTM3NCw3ICszNzQsNyBAQAogCQlpZiAoYmFzZSA9PSAwIHx8IGlkZV9wY2lfc2V0X21hc3RlcihkZXYsIGQtPm5hbWUpIDwgMCkKIAkJCXJldHVybiAtMTsKIAotCQlpZiAoaHdpZi0+bW1pbykKKwkJaWYgKGh3aWYtPmhvc3RfZmxhZ3MgJiBJREVfSEZMQUdfTU1JTykKIAkJCXByaW50ayhLRVJOX0lORk8gIiAgICAlczogTU1JTy1ETUFcbiIsIGh3aWYtPm5hbWUpOwogCQllbHNlCiAJCQlwcmludGsoS0VSTl9JTkZPICIgICAgJXM6IEJNLURNQSBhdCAweCUwNGx4LTB4JTA0bHhcbiIsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2llZWUxMzk0L2NzcjEyMTIuYyBiL2RyaXZlcnMvaWVlZTEzOTQvY3NyMTIxMi5jCmluZGV4IGU4MTIyZGUuLjlmOTUzMzcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWVlZTEzOTQvY3NyMTIxMi5jCisrKyBiL2RyaXZlcnMvaWVlZTEzOTQvY3NyMTIxMi5jCkBAIC0xMDQ5LDYgKzEwNDksMjQgQEAKIAlyZXR1cm4gLUVOT0VOVDsKIH0KIAorLyoKKyAqIEFwcGFyZW50bHkgdGhlcmUgYXJlIG1hbnkgZGlmZmVyZW50IHdyb25nIGltcGxlbWVudGF0aW9ucyBvZiB0aGUgQ1JDCisgKiBhbGdvcml0aG0uICBXZSBkb24ndCBmYWlsLCB3ZSBqdXN0IHdhcm4uLi4gYXBwcm94aW1hdGVseSBvbmNlIHBlciBHVUlELgorICovCitzdGF0aWMgdm9pZAorY3NyMTIxMl9jaGVja19jcmMoY29uc3QgdTMyICpidWZmZXIsIHNpemVfdCBsZW5ndGgsIHUxNiBjcmMsIF9fYmUzMiAqZ3VpZCkKK3sKKwlzdGF0aWMgdTY0IGxhc3RfYmFkX2V1aTY0OworCXU2NCBldWk2NCA9ICgodTY0KWJlMzJfdG9fY3B1KGd1aWRbMF0pIDw8IDMyKSB8IGJlMzJfdG9fY3B1KGd1aWRbMV0pOworCisJaWYgKGNzcjEyMTJfY3JjMTYoYnVmZmVyLCBsZW5ndGgpID09IGNyYyB8fAorCSAgICBjc3IxMjEyX21zZnRfY3JjMTYoYnVmZmVyLCBsZW5ndGgpID09IGNyYyB8fAorCSAgICBldWk2NCA9PSBsYXN0X2JhZF9ldWk2NCkKKwkJcmV0dXJuOworCisJcHJpbnRrKEtFUk5fREVCVUcgImllZWUxMzk0OiBjb25maWcgUk9NIENSQyBlcnJvclxuIik7CisJbGFzdF9iYWRfZXVpNjQgPSBldWk2NDsKK30KIAogLyogUGFyc2UgYSBjaHVuayBvZiBkYXRhIGFzIGEgQ29uZmlnIFJPTSAqLwogCkBAIC0xMDkyLDExICsxMTEwLDggQEAKIAkJCXJldHVybiByZXQ7CiAJfQogCi0JLyogQXBwYXJlbnRseSB0aGVyZSBhcmUgbWFueSBkaWZmZXJlbnQgd3JvbmcgaW1wbGVtZW50YXRpb25zIG9mIHRoZSBDUkMKLQkgKiBhbGdvcml0aG0uICBXZSBkb24ndCBmYWlsLCB3ZSBqdXN0IHdhcm4uICovCi0JaWYgKChjc3IxMjEyX2NyYzE2KGJpLT5kYXRhLCBiaS0+Y3JjX2xlbmd0aCkgIT0gYmktPmNyYykgJiYKLQkgICAgKGNzcjEyMTJfbXNmdF9jcmMxNihiaS0+ZGF0YSwgYmktPmNyY19sZW5ndGgpICE9IGJpLT5jcmMpKQotCQlwcmludGsoS0VSTl9ERUJVRyAiSUVFRSAxMzk0IGRldmljZSBoYXMgUk9NIENSQyBlcnJvclxuIik7CisJY3NyMTIxMl9jaGVja19jcmMoYmktPmRhdGEsIGJpLT5jcmNfbGVuZ3RoLCBiaS0+Y3JjLAorCQkJICAmY3NyLT5idXNfaW5mb19kYXRhWzNdKTsKIAogCWNyID0gQ1NSMTIxMl9NQUxMT0Moc2l6ZW9mKCpjcikpOwogCWlmICghY3IpCkBAIC0xMjA1LDExICsxMjIwLDggQEAKIAkJJmNhY2hlLT5kYXRhW2J5dGVzX3RvX3F1YWRzKGt2LT5vZmZzZXQgLSBjYWNoZS0+b2Zmc2V0KV07CiAJa3ZpX2xlbiA9IGJlMTZfdG9fY3B1KGt2aS0+bGVuZ3RoKTsKIAotCS8qIEFwcGFyZW50bHkgdGhlcmUgYXJlIG1hbnkgZGlmZmVyZW50IHdyb25nIGltcGxlbWVudGF0aW9ucyBvZiB0aGUgQ1JDCi0JICogYWxnb3JpdGhtLiAgV2UgZG9uJ3QgZmFpbCwgd2UganVzdCB3YXJuLiAqLwotCWlmICgoY3NyMTIxMl9jcmMxNihrdmktPmRhdGEsIGt2aV9sZW4pICE9IGt2aS0+Y3JjKSAmJgotCSAgICAoY3NyMTIxMl9tc2Z0X2NyYzE2KGt2aS0+ZGF0YSwga3ZpX2xlbikgIT0ga3ZpLT5jcmMpKQotCQlwcmludGsoS0VSTl9ERUJVRyAiSUVFRSAxMzk0IGRldmljZSBoYXMgUk9NIENSQyBlcnJvclxuIik7CisJLyogR1VJRCBpcyB3cm9uZyBpbiBoZXJlIGluIGNhc2Ugb2YgZXh0ZW5kZWQgUk9NLiAgV2UgZG9uJ3QgY2FyZS4gKi8KKwljc3IxMjEyX2NoZWNrX2NyYyhrdmktPmRhdGEsIGt2aV9sZW4sIGt2aS0+Y3JjLCAmY2FjaGUtPmRhdGFbM10pOwogCiAJc3dpdGNoIChrdi0+a2V5LnR5cGUpIHsKIAljYXNlIENTUjEyMTJfS1ZfVFlQRV9ESVJFQ1RPUlk6CmRpZmYgLS1naXQgYS9kcml2ZXJzL2llZWUxMzk0L2RtYS5jIGIvZHJpdmVycy9pZWVlMTM5NC9kbWEuYwppbmRleCA3MzY4NWU3Li4xYWJhOGMxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2llZWUxMzk0L2RtYS5jCisrKyBiL2RyaXZlcnMvaWVlZTEzOTQvZG1hLmMKQEAgLTI3NCw3ICsyNzQsNyBAQAogCXZtYS0+dm1fb3BzID0gJmRtYV9yZWdpb25fdm1fb3BzOwogCXZtYS0+dm1fcHJpdmF0ZV9kYXRhID0gZG1hOwogCXZtYS0+dm1fZmlsZSA9IGZpbGU7Ci0Jdm1hLT52bV9mbGFncyB8PSBWTV9SRVNFUlZFRDsKKwl2bWEtPnZtX2ZsYWdzIHw9IFZNX1JFU0VSVkVEIHwgVk1fQUxXQVlTRFVNUDsKIAogCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZWVlMTM5NC9oaWdobGV2ZWwuYyBiL2RyaXZlcnMvaWVlZTEzOTQvaGlnaGxldmVsLmMKaW5kZXggZmEyYmZlYy4uOTE4ZmZjNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZWVlMTM5NC9oaWdobGV2ZWwuYworKysgYi9kcml2ZXJzL2llZWUxMzk0L2hpZ2hsZXZlbC5jCkBAIC0yMjgsMTAgKzIyOCw4IEBACiB7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAorCWhwc2JfaW5pdF9oaWdobGV2ZWwoaGwpOwogCUlOSVRfTElTVF9IRUFEKCZobC0+YWRkcl9saXN0KTsKLQlJTklUX0xJU1RfSEVBRCgmaGwtPmhvc3RfaW5mb19saXN0KTsKLQotCXJ3bG9ja19pbml0KCZobC0+aG9zdF9pbmZvX2xvY2spOwogCiAJZG93bl93cml0ZSgmaGxfZHJpdmVyc19zZW0pOwogCWxpc3RfYWRkX3RhaWwoJmhsLT5obF9saXN0LCAmaGxfZHJpdmVycyk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2llZWUxMzk0L2hpZ2hsZXZlbC5oIGIvZHJpdmVycy9pZWVlMTM5NC9oaWdobGV2ZWwuaAppbmRleCBlYjlmZTMyLi5iYzVkMDg1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2llZWUxMzk0L2hpZ2hsZXZlbC5oCisrKyBiL2RyaXZlcnMvaWVlZTEzOTQvaGlnaGxldmVsLmgKQEAgLTIsNyArMiw3IEBACiAjZGVmaW5lIElFRUUxMzk0X0hJR0hMRVZFTF9ICiAKICNpbmNsdWRlIDxsaW51eC9saXN0Lmg+Ci0jaW5jbHVkZSA8bGludXgvc3BpbmxvY2tfdHlwZXMuaD4KKyNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiAKIHN0cnVjdCBtb2R1bGU7CkBAIC0xMDMsNiArMTAzLDE3IEBACiB2b2lkIGhpZ2hsZXZlbF9mY3BfcmVxdWVzdChzdHJ1Y3QgaHBzYl9ob3N0ICpob3N0LCBpbnQgbm9kZWlkLCBpbnQgZGlyZWN0aW9uLAogCQkJICAgdm9pZCAqZGF0YSwgc2l6ZV90IGxlbmd0aCk7CiAKKy8qKgorICogaHBzYl9pbml0X2hpZ2hsZXZlbCAtIGluaXRpYWxpemUgYSBzdHJ1Y3QgaHBzYl9oaWdobGV2ZWwKKyAqCisgKiBUaGlzIGlzIG9ubHkgbmVjZXNzYXJ5IGlmIGhwc2JfZ2V0X2hvc3RpbmZvX2J5a2V5IGNhbiBiZSBjYWxsZWQKKyAqIGJlZm9yZSBocHNiX3JlZ2lzdGVyX2hpZ2hsZXZlbC4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIGhwc2JfaW5pdF9oaWdobGV2ZWwoc3RydWN0IGhwc2JfaGlnaGxldmVsICpobCkKK3sKKwlyd2xvY2tfaW5pdCgmaGwtPmhvc3RfaW5mb19sb2NrKTsKKwlJTklUX0xJU1RfSEVBRCgmaGwtPmhvc3RfaW5mb19saXN0KTsKK30KIHZvaWQgaHBzYl9yZWdpc3Rlcl9oaWdobGV2ZWwoc3RydWN0IGhwc2JfaGlnaGxldmVsICpobCk7CiB2b2lkIGhwc2JfdW5yZWdpc3Rlcl9oaWdobGV2ZWwoc3RydWN0IGhwc2JfaGlnaGxldmVsICpobCk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWVlZTEzOTQvcmF3MTM5NC5jIGIvZHJpdmVycy9pZWVlMTM5NC9yYXcxMzk0LmMKaW5kZXggZWMyYTBhZC4uOTZmMjg0NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZWVlMTM5NC9yYXcxMzk0LmMKKysrIGIvZHJpdmVycy9pZWVlMTM5NC9yYXcxMzk0LmMKQEAgLTI1NDksOCArMjU0OSw4IEBACiB9CiAKIC8qIGlvY3RsIGlzIG9ubHkgdXNlZCBmb3IgcmF3aXNvIG9wZXJhdGlvbnMgKi8KLXN0YXRpYyBpbnQgcmF3MTM5NF9pb2N0bChzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSwKLQkJCSB1bnNpZ25lZCBpbnQgY21kLCB1bnNpZ25lZCBsb25nIGFyZykKK3N0YXRpYyBsb25nIGRvX3JhdzEzOTRfaW9jdGwoc3RydWN0IGZpbGUgKmZpbGUsIHVuc2lnbmVkIGludCBjbWQsCisJCQkJCQkJdW5zaWduZWQgbG9uZyBhcmcpCiB7CiAJc3RydWN0IGZpbGVfaW5mbyAqZmkgPSBmaWxlLT5wcml2YXRlX2RhdGE7CiAJdm9pZCBfX3VzZXIgKmFyZ3AgPSAodm9pZCBfX3VzZXIgKilhcmc7CkBAIC0yNjU2LDYgKzI2NTYsMTYgQEAKIAlyZXR1cm4gLUVJTlZBTDsKIH0KIAorc3RhdGljIGxvbmcgcmF3MTM5NF9pb2N0bChzdHJ1Y3QgZmlsZSAqZmlsZSwgdW5zaWduZWQgaW50IGNtZCwKKwkJCQkJCQl1bnNpZ25lZCBsb25nIGFyZykKK3sKKwlsb25nIHJldDsKKwlsb2NrX2tlcm5lbCgpOworCXJldCA9IGRvX3JhdzEzOTRfaW9jdGwoZmlsZSwgY21kLCBhcmcpOworCXVubG9ja19rZXJuZWwoKTsKKwlyZXR1cm4gcmV0OworfQorCiAjaWZkZWYgQ09ORklHX0NPTVBBVAogc3RydWN0IHJhdzEzOTRfaXNvX3BhY2tldHMzMiB7CiAgICAgICAgIF9fdTMyIG5fcGFja2V0czsKQEAgLTI2OTAsNyArMjcwMCw3IEBACiAJICAgICFjb3B5X2Zyb21fdXNlcigmaW5mb3MzMiwgJmFyZy0+aW5mb3MsIHNpemVvZiBpbmZvczMyKSkgewogCQlpbmZvcyA9IGNvbXBhdF9wdHIoaW5mb3MzMik7CiAJCWlmICghY29weV90b191c2VyKCZkc3QtPmluZm9zLCAmaW5mb3MsIHNpemVvZiBpbmZvcykpCi0JCQllcnIgPSByYXcxMzk0X2lvY3RsKE5VTEwsIGZpbGUsIGNtZCwgKHVuc2lnbmVkIGxvbmcpZHN0KTsKKwkJCWVyciA9IGRvX3JhdzEzOTRfaW9jdGwoZmlsZSwgY21kLCAodW5zaWduZWQgbG9uZylkc3QpOwogCX0KIAlyZXR1cm4gZXJyOwogfQpAQCAtMjczMSw3ICsyNzQxLDcgQEAKIAljYXNlIFJBVzEzOTRfSU9DX0lTT19HRVRfU1RBVFVTOgogCWNhc2UgUkFXMTM5NF9JT0NfSVNPX1NIVVRET1dOOgogCWNhc2UgUkFXMTM5NF9JT0NfSVNPX1FVRVVFX0FDVElWSVRZOgotCQllcnIgPSByYXcxMzk0X2lvY3RsKE5VTEwsIGZpbGUsIGNtZCwgYXJnKTsKKwkJZXJyID0gZG9fcmF3MTM5NF9pb2N0bChmaWxlLCBjbWQsIGFyZyk7CiAJCWJyZWFrOwogCS8qIFRoZXNlIHJlcXVlc3QgaGF2ZSBkaWZmZXJlbnQgZm9ybWF0LiAqLwogCWNhc2UgUkFXMTM5NF9JT0NfSVNPX1JFQ1ZfUEFDS0VUUzMyOgpAQCAtMjk4NCw3ICsyOTk0LDcgQEAKIAkucmVhZCA9IHJhdzEzOTRfcmVhZCwKIAkud3JpdGUgPSByYXcxMzk0X3dyaXRlLAogCS5tbWFwID0gcmF3MTM5NF9tbWFwLAotCS5pb2N0bCA9IHJhdzEzOTRfaW9jdGwsCisJLnVubG9ja2VkX2lvY3RsID0gcmF3MTM5NF9pb2N0bCwKICNpZmRlZiBDT05GSUdfQ09NUEFUCiAJLmNvbXBhdF9pb2N0bCA9IHJhdzEzOTRfY29tcGF0X2lvY3RsLAogI2VuZGlmCmRpZmYgLS1naXQgYS9kcml2ZXJzL2llZWUxMzk0L3NicDIuYyBiL2RyaXZlcnMvaWVlZTEzOTQvc2JwMi5jCmluZGV4IGE1Y2VmZjIuLjljYmYzMTUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWVlZTEzOTQvc2JwMi5jCisrKyBiL2RyaXZlcnMvaWVlZTEzOTQvc2JwMi5jCkBAIC0xODYsNiArMTg2LDExIEBACiAgKiAtIGRlbGF5IGlucXVpcnkKICAqICAgV2FpdCBleHRyYSBTQlAyX0lOUVVJUllfREVMQVkgc2Vjb25kcyBhZnRlciBsb2dpbiBiZWZvcmUgU0NTSSBpbnF1aXJ5LgogICoKKyAqIC0gcG93ZXIgY29uZGl0aW9uCisgKiAgIFNldCB0aGUgcG93ZXIgY29uZGl0aW9uIGZpZWxkIGluIHRoZSBTVEFSVCBTVE9QIFVOSVQgY29tbWFuZHMgc2VudCBieQorICogICBzZF9tb2Qgb24gc3VzcGVuZCwgcmVzdW1lLCBhbmQgc2h1dGRvd24gKGlmIG1hbmFnZV9zdGFydF9zdG9wIGlzIG9uKS4KKyAqICAgU29tZSBkaXNrcyBuZWVkIHRoaXMgdG8gc3BpbiBkb3duIG9yIHRvIHJlc3VtZSBwcm9wZXJseS4KKyAqCiAgKiAtIG92ZXJyaWRlIGludGVybmFsIGJsYWNrbGlzdAogICogICBJbnN0ZWFkIG9mIGFkZGluZyB0byB0aGUgYnVpbHQtaW4gYmxhY2tsaXN0LCB1c2Ugb25seSB0aGUgd29ya2Fyb3VuZHMKICAqICAgc3BlY2lmaWVkIGluIHRoZSBtb2R1bGUgbG9hZCBwYXJhbWV0ZXIuCkBAIC0xOTksNiArMjA0LDggQEAKIAkiLCBza2lwIG1vZGUgcGFnZSA4ID0gIiAgIF9fc3RyaW5naWZ5KFNCUDJfV09SS0FST1VORF9NT0RFX1NFTlNFXzgpCiAJIiwgZml4IGNhcGFjaXR5ID0gIiAgICAgICBfX3N0cmluZ2lmeShTQlAyX1dPUktBUk9VTkRfRklYX0NBUEFDSVRZKQogCSIsIGRlbGF5IGlucXVpcnkgPSAiICAgICAgX19zdHJpbmdpZnkoU0JQMl9XT1JLQVJPVU5EX0RFTEFZX0lOUVVJUlkpCisJIiwgc2V0IHBvd2VyIGNvbmRpdGlvbiBpbiBzdGFydCBzdG9wIHVuaXQgPSAiCisJCQkJICBfX3N0cmluZ2lmeShTQlAyX1dPUktBUk9VTkRfUE9XRVJfQ09ORElUSU9OKQogCSIsIG92ZXJyaWRlIGludGVybmFsIGJsYWNrbGlzdCA9ICIgX19zdHJpbmdpZnkoU0JQMl9XT1JLQVJPVU5EX09WRVJSSURFKQogCSIsIG9yIGEgY29tYmluYXRpb24pIik7CiAKQEAgLTM1OSwxOCArMzY2LDI1IEBACiAJCS5maXJtd2FyZV9yZXZpc2lvbgk9IDB4MDAyODAwLAogCQkubW9kZWxfaWQJCT0gMHgwMDEwMTAsCiAJCS53b3JrYXJvdW5kcwkJPSBTQlAyX1dPUktBUk9VTkRfSU5RVUlSWV8zNiB8Ci0JCQkJCSAgU0JQMl9XT1JLQVJPVU5EX01PREVfU0VOU0VfOCwKKwkJCQkJICBTQlAyX1dPUktBUk9VTkRfTU9ERV9TRU5TRV84IHwKKwkJCQkJICBTQlAyX1dPUktBUk9VTkRfUE9XRVJfQ09ORElUSU9OLAogCX0sCiAJLyogRFZpQ08gTW9tb2JheSBGWC0zQSB3aXRoIFRTQjQyQUE5QSBicmlkZ2UgKi8gewogCQkuZmlybXdhcmVfcmV2aXNpb24JPSAweDAwMjgwMCwKIAkJLm1vZGVsX2lkCQk9IDB4MDAwMDAwLAotCQkud29ya2Fyb3VuZHMJCT0gU0JQMl9XT1JLQVJPVU5EX0RFTEFZX0lOUVVJUlksCisJCS53b3JrYXJvdW5kcwkJPSBTQlAyX1dPUktBUk9VTkRfREVMQVlfSU5RVUlSWSB8CisJCQkJCSAgU0JQMl9XT1JLQVJPVU5EX1BPV0VSX0NPTkRJVElPTiwKIAl9LAogCS8qIEluaXRpbyBicmlkZ2VzLCBhY3R1YWxseSBvbmx5IG5lZWRlZCBmb3Igc29tZSBvbGRlciBvbmVzICovIHsKIAkJLmZpcm13YXJlX3JldmlzaW9uCT0gMHgwMDAyMDAsCiAJCS5tb2RlbF9pZAkJPSBTQlAyX1JPTV9WQUxVRV9XSUxEQ0FSRCwKIAkJLndvcmthcm91bmRzCQk9IFNCUDJfV09SS0FST1VORF9JTlFVSVJZXzM2LAogCX0sCisJLyogUEwtMzUwNyBicmlkZ2Ugd2l0aCBQcm9saWZpYyBmaXJtd2FyZSAqLyB7CisJCS5maXJtd2FyZV9yZXZpc2lvbgk9IDB4MDEyODAwLAorCQkubW9kZWxfaWQJCT0gU0JQMl9ST01fVkFMVUVfV0lMRENBUkQsCisJCS53b3JrYXJvdW5kcwkJPSBTQlAyX1dPUktBUk9VTkRfUE9XRVJfQ09ORElUSU9OLAorCX0sCiAJLyogU3ltYmlvcyBicmlkZ2UgKi8gewogCQkuZmlybXdhcmVfcmV2aXNpb24JPSAweGEwYjgwMCwKIAkJLm1vZGVsX2lkCQk9IFNCUDJfUk9NX1ZBTFVFX1dJTERDQVJELApAQCAtMTk5NSw2ICsyMDA5LDggQEAKIAogCXNkZXYtPnVzZV8xMF9mb3JfcncgPSAxOwogCisJaWYgKHNicDJfZXhjbHVzaXZlX2xvZ2luKQorCQlzZGV2LT5tYW5hZ2Vfc3RhcnRfc3RvcCA9IDE7CiAJaWYgKHNkZXYtPnR5cGUgPT0gVFlQRV9ST00pCiAJCXNkZXYtPnVzZV8xMF9mb3JfbXMgPSAxOwogCWlmIChzZGV2LT50eXBlID09IFRZUEVfRElTSyAmJgpAQCAtMjAwMiw2ICsyMDE4LDggQEAKIAkJc2Rldi0+c2tpcF9tc19wYWdlXzggPSAxOwogCWlmIChsdS0+d29ya2Fyb3VuZHMgJiBTQlAyX1dPUktBUk9VTkRfRklYX0NBUEFDSVRZKQogCQlzZGV2LT5maXhfY2FwYWNpdHkgPSAxOworCWlmIChsdS0+d29ya2Fyb3VuZHMgJiBTQlAyX1dPUktBUk9VTkRfUE9XRVJfQ09ORElUSU9OKQorCQlzZGV2LT5zdGFydF9zdG9wX3B3cl9jb25kID0gMTsKIAlpZiAobHUtPndvcmthcm91bmRzICYgU0JQMl9XT1JLQVJPVU5EXzEyOEtfTUFYX1RSQU5TKQogCQlibGtfcXVldWVfbWF4X3NlY3RvcnMoc2Rldi0+cmVxdWVzdF9xdWV1ZSwgMTI4ICogMTAyNCAvIDUxMik7CiAJcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2llZWUxMzk0L3NicDIuaCBiL2RyaXZlcnMvaWVlZTEzOTQvc2JwMi5oCmluZGV4IDgwZDhlMDkuLjg3NTQyOGIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWVlZTEzOTQvc2JwMi5oCisrKyBiL2RyaXZlcnMvaWVlZTEzOTQvc2JwMi5oCkBAIC0zNDUsNiArMzQ1LDcgQEAKICNkZWZpbmUgU0JQMl9XT1JLQVJPVU5EX0ZJWF9DQVBBQ0lUWQkweDgKICNkZWZpbmUgU0JQMl9XT1JLQVJPVU5EX0RFTEFZX0lOUVVJUlkJMHgxMAogI2RlZmluZSBTQlAyX0lOUVVJUllfREVMQVkJCTEyCisjZGVmaW5lIFNCUDJfV09SS0FST1VORF9QT1dFUl9DT05ESVRJT04JMHgyMAogI2RlZmluZSBTQlAyX1dPUktBUk9VTkRfT1ZFUlJJREUJMHgxMDAKIAogI2VuZGlmIC8qIFNCUDJfSCAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZWVlMTM5NC92aWRlbzEzOTQuYyBiL2RyaXZlcnMvaWVlZTEzOTQvdmlkZW8xMzk0LmMKaW5kZXggZTI0NzcyZC4uMDY5YjlmNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZWVlMTM5NC92aWRlbzEzOTQuYworKysgYi9kcml2ZXJzL2llZWUxMzk0L3ZpZGVvMTM5NC5jCkBAIC0xNTAzLDYgKzE1MDMsOCBAQAogewogCWludCByZXQ7CiAKKwlocHNiX2luaXRfaGlnaGxldmVsKCZ2aWRlbzEzOTRfaGlnaGxldmVsKTsKKwogCWNkZXZfaW5pdCgmdmlkZW8xMzk0X2NkZXYsICZ2aWRlbzEzOTRfZm9wcyk7CiAJdmlkZW8xMzk0X2NkZXYub3duZXIgPSBUSElTX01PRFVMRTsKIAlyZXQgPSBjZGV2X2FkZCgmdmlkZW8xMzk0X2NkZXYsIElFRUUxMzk0X1ZJREVPMTM5NF9ERVYsIDE2KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL2FkZHIuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL2FkZHIuYwppbmRleCA3ODFlYTU5Li4wOWEyYmVjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9hZGRyLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvYWRkci5jCkBAIC00LDI4ICs0LDMzIEBACiAgKiBDb3B5cmlnaHQgKGMpIDE5OTktMjAwNSwgTWVsbGFub3ggVGVjaG5vbG9naWVzLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDUgSW50ZWwgQ29ycG9yYXRpb24uICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKLSAqIFRoaXMgU29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgb25lIG9mIHRoZSBmb2xsb3dpbmcgbGljZW5zZXM6CisgKiBUaGlzIHNvZnR3YXJlIGlzIGF2YWlsYWJsZSB0byB5b3UgdW5kZXIgYSBjaG9pY2Ugb2Ygb25lIG9mIHR3bworICogbGljZW5zZXMuICBZb3UgbWF5IGNob29zZSB0byBiZSBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVQorICogR2VuZXJhbCBQdWJsaWMgTGljZW5zZSAoR1BMKSBWZXJzaW9uIDIsIGF2YWlsYWJsZSBmcm9tIHRoZSBmaWxlCisgKiBDT1BZSU5HIGluIHRoZSBtYWluIGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLCBvciB0aGUKKyAqIE9wZW5JQi5vcmcgQlNEIGxpY2Vuc2UgYmVsb3c6CiAgKgotICogMSkgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSAiQ29tbW9uIFB1YmxpYyBMaWNlbnNlIDEuMCIgYSBjb3B5IG9mIHdoaWNoIGlzCi0gKiAgICBhdmFpbGFibGUgZnJvbSB0aGUgT3BlbiBTb3VyY2UgSW5pdGlhdGl2ZSwgc2VlCi0gKiAgICBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2NwbC5waHAuCisgKiAgICAgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvcgorICogICAgIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZworICogICAgIGNvbmRpdGlvbnMgYXJlIG1ldDoKICAqCi0gKiAyKSB1bmRlciB0aGUgdGVybXMgb2YgdGhlICJUaGUgQlNEIExpY2Vuc2UiIGEgY29weSBvZiB3aGljaCBpcwotICogICAgYXZhaWxhYmxlIGZyb20gdGhlIE9wZW4gU291cmNlIEluaXRpYXRpdmUsIHNlZQotICogICAgaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9ic2QtbGljZW5zZS5waHAuCisgKiAgICAgIC0gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZQorICogICAgICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICAgICAgZGlzY2xhaW1lci4KICAqCi0gKiAzKSB1bmRlciB0aGUgdGVybXMgb2YgdGhlICJHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSAoR1BMKSBWZXJzaW9uIDIiIGEKLSAqICAgIGNvcHkgb2Ygd2hpY2ggaXMgYXZhaWxhYmxlIGZyb20gdGhlIE9wZW4gU291cmNlIEluaXRpYXRpdmUsIHNlZQotICogICAgaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9ncGwtbGljZW5zZS5waHAuCisgKiAgICAgIC0gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICAgICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzCisgKiAgICAgICAgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgogICoKLSAqIExpY2Vuc2VlIGhhcyB0aGUgcmlnaHQgdG8gY2hvb3NlIG9uZSBvZiB0aGUgYWJvdmUgbGljZW5zZXMuCi0gKgotICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSBhbmQgb25lIG9mIHRoZSBsaWNlbnNlIG5vdGljZXMuCi0gKgotICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIGJvdGggdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCBvbmUgb2YgdGhlIGxpY2Vuc2Ugbm90aWNlcyBpbiB0aGUgZG9jdW1lbnRhdGlvbgotICogYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorICogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQKKyAqIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTgorICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KKyAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKKyAqIFNPRlRXQVJFLgogICovCiAKICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgpAQCAtMTAwLDYgKzEwNSw3IEBACiAJbWVtY3B5KGRldl9hZGRyLT5icm9hZGNhc3QsIGRldi0+YnJvYWRjYXN0LCBNQVhfQUREUl9MRU4pOwogCWlmIChkc3RfZGV2X2FkZHIpCiAJCW1lbWNweShkZXZfYWRkci0+ZHN0X2Rldl9hZGRyLCBkc3RfZGV2X2FkZHIsIE1BWF9BRERSX0xFTik7CisJZGV2X2FkZHItPnNyY19kZXYgPSBkZXY7CiAJcmV0dXJuIDA7CiB9CiBFWFBPUlRfU1lNQk9MKHJkbWFfY29weV9hZGRyKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL2FnZW50LmggYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9hZ2VudC5oCmluZGV4IGZiOWVkMTQuLjY2NjkyODcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL2FnZW50LmgKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvYWdlbnQuaApAQCAtMzIsOCArMzIsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogYWdlbnQuaCAxMzg5IDIwMDQtMTItMjcgMjI6NTY6NDdaIHJvbGFuZCAkCiAgKi8KIAogI2lmbmRlZiBfX0FHRU5UX0hfCmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9jYWNoZS5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvY2FjaGUuYwppbmRleCBlODVmNzAxLi42ODg4MzU2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9jYWNoZS5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL2NhY2hlLmMKQEAgLTMxLDggKzMxLDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IGNhY2hlLmMgMTM0OSAyMDA0LTEyLTE2IDIxOjA5OjQzWiByb2xhbmQgJAogICovCiAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL2NtLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9jbS5jCmluZGV4IGE0N2ZlNjQuLjU1NzM4ZWUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL2NtLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvY20uYwpAQCAtMzEsOCArMzEsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogY20uYyA0MzExIDIwMDUtMTItMDUgMTg6NDI6MDFaIHNlYW4uaGVmdHkgJAogICovCiAKICNpbmNsdWRlIDxsaW51eC9jb21wbGV0aW9uLmg+CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9jbWEuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL2NtYS5jCmluZGV4IDY3MWYxMzcuLmFlMTFkNWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL2NtYS5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL2NtYS5jCkBAIC00LDI5ICs0LDMzIEBACiAgKiBDb3B5cmlnaHQgKGMpIDE5OTktMjAwNSwgTWVsbGFub3ggVGVjaG5vbG9naWVzLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDUtMjAwNiBJbnRlbCBDb3Jwb3JhdGlvbi4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgotICogVGhpcyBTb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciBvbmUgb2YgdGhlIGZvbGxvd2luZyBsaWNlbnNlczoKKyAqIFRoaXMgc29mdHdhcmUgaXMgYXZhaWxhYmxlIHRvIHlvdSB1bmRlciBhIGNob2ljZSBvZiBvbmUgb2YgdHdvCisgKiBsaWNlbnNlcy4gIFlvdSBtYXkgY2hvb3NlIHRvIGJlIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VCisgKiBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIChHUEwpIFZlcnNpb24gMiwgYXZhaWxhYmxlIGZyb20gdGhlIGZpbGUKKyAqIENPUFlJTkcgaW4gdGhlIG1haW4gZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUsIG9yIHRoZQorICogT3BlbklCLm9yZyBCU0QgbGljZW5zZSBiZWxvdzoKICAqCi0gKiAxKSB1bmRlciB0aGUgdGVybXMgb2YgdGhlICJDb21tb24gUHVibGljIExpY2Vuc2UgMS4wIiBhIGNvcHkgb2Ygd2hpY2ggaXMKLSAqICAgIGF2YWlsYWJsZSBmcm9tIHRoZSBPcGVuIFNvdXJjZSBJbml0aWF0aXZlLCBzZWUKLSAqICAgIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvY3BsLnBocC4KKyAqICAgICBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yCisgKiAgICAgd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nCisgKiAgICAgY29uZGl0aW9ucyBhcmUgbWV0OgogICoKLSAqIDIpIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgIlRoZSBCU0QgTGljZW5zZSIgYSBjb3B5IG9mIHdoaWNoIGlzCi0gKiAgICBhdmFpbGFibGUgZnJvbSB0aGUgT3BlbiBTb3VyY2UgSW5pdGlhdGl2ZSwgc2VlCi0gKiAgICBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2JzZC1saWNlbnNlLnBocC4KKyAqICAgICAgLSBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlCisgKiAgICAgICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgICAgICBkaXNjbGFpbWVyLgogICoKLSAqIDMpIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgIkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIChHUEwpIFZlcnNpb24gMiIgYQotICogICAgY29weSBvZiB3aGljaCBpcyBhdmFpbGFibGUgZnJvbSB0aGUgT3BlbiBTb3VyY2UgSW5pdGlhdGl2ZSwgc2VlCi0gKiAgICBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2dwbC1saWNlbnNlLnBocC4KKyAqICAgICAgLSBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICAgICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgICAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMKKyAqICAgICAgICBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCiAgKgotICogTGljZW5zZWUgaGFzIHRoZSByaWdodCB0byBjaG9vc2Ugb25lIG9mIHRoZSBhYm92ZSBsaWNlbnNlcy4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlIGFuZCBvbmUgb2YgdGhlIGxpY2Vuc2Ugbm90aWNlcy4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgYm90aCB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIG9uZSBvZiB0aGUgbGljZW5zZSBub3RpY2VzIGluIHRoZSBkb2N1bWVudGF0aW9uCi0gKiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorICogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQKKyAqIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTgorICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KKyAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKKyAqIFNPRlRXQVJFLgogICovCiAKICNpbmNsdWRlIDxsaW51eC9jb21wbGV0aW9uLmg+CkBAIC0xMjYsOCArMTMwLDcgQEAKIAogCXN0cnVjdCBjb21wbGV0aW9uCWNvbXA7CiAJYXRvbWljX3QJCXJlZmNvdW50OwotCXdhaXRfcXVldWVfaGVhZF90CXdhaXRfcmVtb3ZlOwotCWF0b21pY190CQlkZXZfcmVtb3ZlOworCXN0cnVjdCBtdXRleAkJaGFuZGxlcl9tdXRleDsKIAogCWludAkJCWJhY2tsb2c7CiAJaW50CQkJdGltZW91dF9tczsKQEAgLTM1MSwyNiArMzU0LDE1IEBACiAJCWNvbXBsZXRlKCZpZF9wcml2LT5jb21wKTsKIH0KIAotc3RhdGljIGludCBjbWFfZGlzYWJsZV9yZW1vdmUoc3RydWN0IHJkbWFfaWRfcHJpdmF0ZSAqaWRfcHJpdiwKK3N0YXRpYyBpbnQgY21hX2Rpc2FibGVfY2FsbGJhY2soc3RydWN0IHJkbWFfaWRfcHJpdmF0ZSAqaWRfcHJpdiwKIAkJCSAgICAgIGVudW0gY21hX3N0YXRlIHN0YXRlKQogewotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0JaW50IHJldDsKLQotCXNwaW5fbG9ja19pcnFzYXZlKCZpZF9wcml2LT5sb2NrLCBmbGFncyk7Ci0JaWYgKGlkX3ByaXYtPnN0YXRlID09IHN0YXRlKSB7Ci0JCWF0b21pY19pbmMoJmlkX3ByaXYtPmRldl9yZW1vdmUpOwotCQlyZXQgPSAwOwotCX0gZWxzZQotCQlyZXQgPSAtRUlOVkFMOwotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmlkX3ByaXYtPmxvY2ssIGZsYWdzKTsKLQlyZXR1cm4gcmV0OwotfQotCi1zdGF0aWMgdm9pZCBjbWFfZW5hYmxlX3JlbW92ZShzdHJ1Y3QgcmRtYV9pZF9wcml2YXRlICppZF9wcml2KQotewotCWlmIChhdG9taWNfZGVjX2FuZF90ZXN0KCZpZF9wcml2LT5kZXZfcmVtb3ZlKSkKLQkJd2FrZV91cCgmaWRfcHJpdi0+d2FpdF9yZW1vdmUpOworCW11dGV4X2xvY2soJmlkX3ByaXYtPmhhbmRsZXJfbXV0ZXgpOworCWlmIChpZF9wcml2LT5zdGF0ZSAhPSBzdGF0ZSkgeworCQltdXRleF91bmxvY2soJmlkX3ByaXYtPmhhbmRsZXJfbXV0ZXgpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisJcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyBpbnQgY21hX2hhc19jbV9kZXYoc3RydWN0IHJkbWFfaWRfcHJpdmF0ZSAqaWRfcHJpdikKQEAgLTM5NSw4ICszODcsNyBAQAogCW11dGV4X2luaXQoJmlkX3ByaXYtPnFwX211dGV4KTsKIAlpbml0X2NvbXBsZXRpb24oJmlkX3ByaXYtPmNvbXApOwogCWF0b21pY19zZXQoJmlkX3ByaXYtPnJlZmNvdW50LCAxKTsKLQlpbml0X3dhaXRxdWV1ZV9oZWFkKCZpZF9wcml2LT53YWl0X3JlbW92ZSk7Ci0JYXRvbWljX3NldCgmaWRfcHJpdi0+ZGV2X3JlbW92ZSwgMCk7CisJbXV0ZXhfaW5pdCgmaWRfcHJpdi0+aGFuZGxlcl9tdXRleCk7CiAJSU5JVF9MSVNUX0hFQUQoJmlkX3ByaXYtPmxpc3Rlbl9saXN0KTsKIAlJTklUX0xJU1RfSEVBRCgmaWRfcHJpdi0+bWNfbGlzdCk7CiAJZ2V0X3JhbmRvbV9ieXRlcygmaWRfcHJpdi0+c2VxX251bSwgc2l6ZW9mIGlkX3ByaXYtPnNlcV9udW0pOwpAQCAtOTIzLDcgKzkxNCw3IEBACiAJc3RydWN0IHJkbWFfY21fZXZlbnQgZXZlbnQ7CiAJaW50IHJldCA9IDA7CiAKLQlpZiAoY21hX2Rpc2FibGVfcmVtb3ZlKGlkX3ByaXYsIENNQV9DT05ORUNUKSkKKwlpZiAoY21hX2Rpc2FibGVfY2FsbGJhY2soaWRfcHJpdiwgQ01BX0NPTk5FQ1QpKQogCQlyZXR1cm4gMDsKIAogCW1lbXNldCgmZXZlbnQsIDAsIHNpemVvZiBldmVudCk7CkBAIC05NzAsNyArOTYxLDcgQEAKIAkJZXZlbnQucGFyYW0uY29ubi5wcml2YXRlX2RhdGFfbGVuID0gSUJfQ01fUkVKX1BSSVZBVEVfREFUQV9TSVpFOwogCQlicmVhazsKIAlkZWZhdWx0OgotCQlwcmludGsoS0VSTl9FUlIgIlJETUEgQ01BOiB1bmV4cGVjdGVkIElCIENNIGV2ZW50OiAlZCIsCisJCXByaW50ayhLRVJOX0VSUiAiUkRNQSBDTUE6IHVuZXhwZWN0ZWQgSUIgQ00gZXZlbnQ6ICVkXG4iLAogCQkgICAgICAgaWJfZXZlbnQtPmV2ZW50KTsKIAkJZ290byBvdXQ7CiAJfQpAQCAtOTgwLDEyICs5NzEsMTIgQEAKIAkJLyogRGVzdHJveSB0aGUgQ00gSUQgYnkgcmV0dXJuaW5nIGEgbm9uLXplcm8gdmFsdWUuICovCiAJCWlkX3ByaXYtPmNtX2lkLmliID0gTlVMTDsKIAkJY21hX2V4Y2goaWRfcHJpdiwgQ01BX0RFU1RST1lJTkcpOwotCQljbWFfZW5hYmxlX3JlbW92ZShpZF9wcml2KTsKKwkJbXV0ZXhfdW5sb2NrKCZpZF9wcml2LT5oYW5kbGVyX211dGV4KTsKIAkJcmRtYV9kZXN0cm95X2lkKCZpZF9wcml2LT5pZCk7CiAJCXJldHVybiByZXQ7CiAJfQogb3V0OgotCWNtYV9lbmFibGVfcmVtb3ZlKGlkX3ByaXYpOworCW11dGV4X3VubG9jaygmaWRfcHJpdi0+aGFuZGxlcl9tdXRleCk7CiAJcmV0dXJuIHJldDsKIH0KIApAQCAtOTk4LDYgKzk4OSw3IEBACiAJdW5pb24gY21hX2lwX2FkZHIgKnNyYywgKmRzdDsKIAlfX2JlMTYgcG9ydDsKIAl1OCBpcF92ZXI7CisJaW50IHJldDsKIAogCWlmIChjbWFfZ2V0X25ldF9pbmZvKGliX2V2ZW50LT5wcml2YXRlX2RhdGEsIGxpc3Rlbl9pZC0+cHMsCiAJCQkgICAgICZpcF92ZXIsICZwb3J0LCAmc3JjLCAmZHN0KSkKQEAgLTEwMjIsMTAgKzEwMTQsMTEgQEAKIAlpZiAocnQtPm51bV9wYXRocyA9PSAyKQogCQlydC0+cGF0aF9yZWNbMV0gPSAqaWJfZXZlbnQtPnBhcmFtLnJlcV9yY3ZkLmFsdGVybmF0ZV9wYXRoOwogCi0JaWJfYWRkcl9zZXRfc2dpZCgmcnQtPmFkZHIuZGV2X2FkZHIsICZydC0+cGF0aF9yZWNbMF0uc2dpZCk7CiAJaWJfYWRkcl9zZXRfZGdpZCgmcnQtPmFkZHIuZGV2X2FkZHIsICZydC0+cGF0aF9yZWNbMF0uZGdpZCk7Ci0JaWJfYWRkcl9zZXRfcGtleSgmcnQtPmFkZHIuZGV2X2FkZHIsIGJlMTZfdG9fY3B1KHJ0LT5wYXRoX3JlY1swXS5wa2V5KSk7Ci0JcnQtPmFkZHIuZGV2X2FkZHIuZGV2X3R5cGUgPSBSRE1BX05PREVfSUJfQ0E7CisJcmV0ID0gcmRtYV90cmFuc2xhdGVfaXAoJmlkLT5yb3V0ZS5hZGRyLnNyY19hZGRyLAorCQkJCSZpZC0+cm91dGUuYWRkci5kZXZfYWRkcik7CisJaWYgKHJldCkKKwkJZ290byBkZXN0cm95X2lkOwogCiAJaWRfcHJpdiA9IGNvbnRhaW5lcl9vZihpZCwgc3RydWN0IHJkbWFfaWRfcHJpdmF0ZSwgaWQpOwogCWlkX3ByaXYtPnN0YXRlID0gQ01BX0NPTk5FQ1Q7CkBAIC0xMDk1LDcgKzEwODgsNyBAQAogCWludCBvZmZzZXQsIHJldDsKIAogCWxpc3Rlbl9pZCA9IGNtX2lkLT5jb250ZXh0OwotCWlmIChjbWFfZGlzYWJsZV9yZW1vdmUobGlzdGVuX2lkLCBDTUFfTElTVEVOKSkKKwlpZiAoY21hX2Rpc2FibGVfY2FsbGJhY2sobGlzdGVuX2lkLCBDTUFfTElTVEVOKSkKIAkJcmV0dXJuIC1FQ09OTkFCT1JURUQ7CiAKIAltZW1zZXQoJmV2ZW50LCAwLCBzaXplb2YgZXZlbnQpOwpAQCAtMTExNiw3ICsxMTA5LDcgQEAKIAkJZ290byBvdXQ7CiAJfQogCi0JYXRvbWljX2luYygmY29ubl9pZC0+ZGV2X3JlbW92ZSk7CisJbXV0ZXhfbG9ja19uZXN0ZWQoJmNvbm5faWQtPmhhbmRsZXJfbXV0ZXgsIFNJTkdMRV9ERVBUSF9ORVNUSU5HKTsKIAltdXRleF9sb2NrKCZsb2NrKTsKIAlyZXQgPSBjbWFfYWNxdWlyZV9kZXYoY29ubl9pZCk7CiAJbXV0ZXhfdW5sb2NrKCZsb2NrKTsKQEAgLTExMzgsNyArMTEzMSw3IEBACiAJCSAgICAhY21hX2lzX3VkX3BzKGNvbm5faWQtPmlkLnBzKSkKIAkJCWliX3NlbmRfY21fbXJhKGNtX2lkLCBDTUFfQ01fTVJBX1NFVFRJTkcsIE5VTEwsIDApOwogCQltdXRleF91bmxvY2soJmxvY2spOwotCQljbWFfZW5hYmxlX3JlbW92ZShjb25uX2lkKTsKKwkJbXV0ZXhfdW5sb2NrKCZjb25uX2lkLT5oYW5kbGVyX211dGV4KTsKIAkJZ290byBvdXQ7CiAJfQogCkBAIC0xMTQ3LDExICsxMTQwLDExIEBACiAKIHJlbGVhc2VfY29ubl9pZDoKIAljbWFfZXhjaChjb25uX2lkLCBDTUFfREVTVFJPWUlORyk7Ci0JY21hX2VuYWJsZV9yZW1vdmUoY29ubl9pZCk7CisJbXV0ZXhfdW5sb2NrKCZjb25uX2lkLT5oYW5kbGVyX211dGV4KTsKIAlyZG1hX2Rlc3Ryb3lfaWQoJmNvbm5faWQtPmlkKTsKIAogb3V0OgotCWNtYV9lbmFibGVfcmVtb3ZlKGxpc3Rlbl9pZCk7CisJbXV0ZXhfdW5sb2NrKCZsaXN0ZW5faWQtPmhhbmRsZXJfbXV0ZXgpOwogCXJldHVybiByZXQ7CiB9CiAKQEAgLTEyMTcsNyArMTIxMCw3IEBACiAJc3RydWN0IHNvY2thZGRyX2luICpzaW47CiAJaW50IHJldCA9IDA7CiAKLQlpZiAoY21hX2Rpc2FibGVfcmVtb3ZlKGlkX3ByaXYsIENNQV9DT05ORUNUKSkKKwlpZiAoY21hX2Rpc2FibGVfY2FsbGJhY2soaWRfcHJpdiwgQ01BX0NPTk5FQ1QpKQogCQlyZXR1cm4gMDsKIAogCW1lbXNldCgmZXZlbnQsIDAsIHNpemVvZiBldmVudCk7CkBAIC0xMjYxLDEyICsxMjU0LDEyIEBACiAJCS8qIERlc3Ryb3kgdGhlIENNIElEIGJ5IHJldHVybmluZyBhIG5vbi16ZXJvIHZhbHVlLiAqLwogCQlpZF9wcml2LT5jbV9pZC5pdyA9IE5VTEw7CiAJCWNtYV9leGNoKGlkX3ByaXYsIENNQV9ERVNUUk9ZSU5HKTsKLQkJY21hX2VuYWJsZV9yZW1vdmUoaWRfcHJpdik7CisJCW11dGV4X3VubG9jaygmaWRfcHJpdi0+aGFuZGxlcl9tdXRleCk7CiAJCXJkbWFfZGVzdHJveV9pZCgmaWRfcHJpdi0+aWQpOwogCQlyZXR1cm4gcmV0OwogCX0KIAotCWNtYV9lbmFibGVfcmVtb3ZlKGlkX3ByaXYpOworCW11dGV4X3VubG9jaygmaWRfcHJpdi0+aGFuZGxlcl9tdXRleCk7CiAJcmV0dXJuIHJldDsKIH0KIApAQCAtMTI4Miw3ICsxMjc1LDcgQEAKIAlzdHJ1Y3QgaWJfZGV2aWNlX2F0dHIgYXR0cjsKIAogCWxpc3Rlbl9pZCA9IGNtX2lkLT5jb250ZXh0OwotCWlmIChjbWFfZGlzYWJsZV9yZW1vdmUobGlzdGVuX2lkLCBDTUFfTElTVEVOKSkKKwlpZiAoY21hX2Rpc2FibGVfY2FsbGJhY2sobGlzdGVuX2lkLCBDTUFfTElTVEVOKSkKIAkJcmV0dXJuIC1FQ09OTkFCT1JURUQ7CiAKIAkvKiBDcmVhdGUgYSBuZXcgUkRNQSBpZCBmb3IgdGhlIG5ldyBJVyBDTSBJRCAqLwpAQCAtMTI5NCwxOSArMTI4NywxOSBAQAogCQlnb3RvIG91dDsKIAl9CiAJY29ubl9pZCA9IGNvbnRhaW5lcl9vZihuZXdfY21faWQsIHN0cnVjdCByZG1hX2lkX3ByaXZhdGUsIGlkKTsKLQlhdG9taWNfaW5jKCZjb25uX2lkLT5kZXZfcmVtb3ZlKTsKKwltdXRleF9sb2NrX25lc3RlZCgmY29ubl9pZC0+aGFuZGxlcl9tdXRleCwgU0lOR0xFX0RFUFRIX05FU1RJTkcpOwogCWNvbm5faWQtPnN0YXRlID0gQ01BX0NPTk5FQ1Q7CiAKIAlkZXYgPSBpcF9kZXZfZmluZCgmaW5pdF9uZXQsIGl3X2V2ZW50LT5sb2NhbF9hZGRyLnNpbl9hZGRyLnNfYWRkcik7CiAJaWYgKCFkZXYpIHsKIAkJcmV0ID0gLUVBRERSTk9UQVZBSUw7Ci0JCWNtYV9lbmFibGVfcmVtb3ZlKGNvbm5faWQpOworCQltdXRleF91bmxvY2soJmNvbm5faWQtPmhhbmRsZXJfbXV0ZXgpOwogCQlyZG1hX2Rlc3Ryb3lfaWQobmV3X2NtX2lkKTsKIAkJZ290byBvdXQ7CiAJfQogCXJldCA9IHJkbWFfY29weV9hZGRyKCZjb25uX2lkLT5pZC5yb3V0ZS5hZGRyLmRldl9hZGRyLCBkZXYsIE5VTEwpOwogCWlmIChyZXQpIHsKLQkJY21hX2VuYWJsZV9yZW1vdmUoY29ubl9pZCk7CisJCW11dGV4X3VubG9jaygmY29ubl9pZC0+aGFuZGxlcl9tdXRleCk7CiAJCXJkbWFfZGVzdHJveV9pZChuZXdfY21faWQpOwogCQlnb3RvIG91dDsKIAl9CkBAIC0xMzE1LDcgKzEzMDgsNyBAQAogCXJldCA9IGNtYV9hY3F1aXJlX2Rldihjb25uX2lkKTsKIAltdXRleF91bmxvY2soJmxvY2spOwogCWlmIChyZXQpIHsKLQkJY21hX2VuYWJsZV9yZW1vdmUoY29ubl9pZCk7CisJCW11dGV4X3VubG9jaygmY29ubl9pZC0+aGFuZGxlcl9tdXRleCk7CiAJCXJkbWFfZGVzdHJveV9pZChuZXdfY21faWQpOwogCQlnb3RvIG91dDsKIAl9CkBAIC0xMzMxLDcgKzEzMjQsNyBAQAogCiAJcmV0ID0gaWJfcXVlcnlfZGV2aWNlKGNvbm5faWQtPmlkLmRldmljZSwgJmF0dHIpOwogCWlmIChyZXQpIHsKLQkJY21hX2VuYWJsZV9yZW1vdmUoY29ubl9pZCk7CisJCW11dGV4X3VubG9jaygmY29ubl9pZC0+aGFuZGxlcl9tdXRleCk7CiAJCXJkbWFfZGVzdHJveV9pZChuZXdfY21faWQpOwogCQlnb3RvIG91dDsKIAl9CkBAIC0xMzQ3LDE0ICsxMzQwLDE3IEBACiAJCS8qIFVzZXIgd2FudHMgdG8gZGVzdHJveSB0aGUgQ00gSUQgKi8KIAkJY29ubl9pZC0+Y21faWQuaXcgPSBOVUxMOwogCQljbWFfZXhjaChjb25uX2lkLCBDTUFfREVTVFJPWUlORyk7Ci0JCWNtYV9lbmFibGVfcmVtb3ZlKGNvbm5faWQpOworCQltdXRleF91bmxvY2soJmNvbm5faWQtPmhhbmRsZXJfbXV0ZXgpOwogCQlyZG1hX2Rlc3Ryb3lfaWQoJmNvbm5faWQtPmlkKTsKKwkJZ290byBvdXQ7CiAJfQogCisJbXV0ZXhfdW5sb2NrKCZjb25uX2lkLT5oYW5kbGVyX211dGV4KTsKKwogb3V0OgogCWlmIChkZXYpCiAJCWRldl9wdXQoZGV2KTsKLQljbWFfZW5hYmxlX3JlbW92ZShsaXN0ZW5faWQpOworCW11dGV4X3VubG9jaygmbGlzdGVuX2lkLT5oYW5kbGVyX211dGV4KTsKIAlyZXR1cm4gcmV0OwogfQogCkBAIC0xNDQ2LDcgKzE0NDIsNyBAQAogCXJldCA9IHJkbWFfbGlzdGVuKGlkLCBpZF9wcml2LT5iYWNrbG9nKTsKIAlpZiAocmV0KQogCQlwcmludGsoS0VSTl9XQVJOSU5HICJSRE1BIENNQTogY21hX2xpc3Rlbl9vbl9kZXYsIGVycm9yICVkLCAiCi0JCSAgICAgICAibGlzdGVuaW5nIG9uIGRldmljZSAlcyIsIHJldCwgY21hX2Rldi0+ZGV2aWNlLT5uYW1lKTsKKwkJICAgICAgICJsaXN0ZW5pbmcgb24gZGV2aWNlICVzXG4iLCByZXQsIGNtYV9kZXYtPmRldmljZS0+bmFtZSk7CiB9CiAKIHN0YXRpYyB2b2lkIGNtYV9saXN0ZW5fb25fYWxsKHN0cnVjdCByZG1hX2lkX3ByaXZhdGUgKmlkX3ByaXYpCkBAIC0xNTg2LDcgKzE1ODIsNyBAQAogCXN0cnVjdCByZG1hX2lkX3ByaXZhdGUgKmlkX3ByaXYgPSB3b3JrLT5pZDsKIAlpbnQgZGVzdHJveSA9IDA7CiAKLQlhdG9taWNfaW5jKCZpZF9wcml2LT5kZXZfcmVtb3ZlKTsKKwltdXRleF9sb2NrKCZpZF9wcml2LT5oYW5kbGVyX211dGV4KTsKIAlpZiAoIWNtYV9jb21wX2V4Y2goaWRfcHJpdiwgd29yay0+b2xkX3N0YXRlLCB3b3JrLT5uZXdfc3RhdGUpKQogCQlnb3RvIG91dDsKIApAQCAtMTU5NSw3ICsxNTkxLDcgQEAKIAkJZGVzdHJveSA9IDE7CiAJfQogb3V0OgotCWNtYV9lbmFibGVfcmVtb3ZlKGlkX3ByaXYpOworCW11dGV4X3VubG9jaygmaWRfcHJpdi0+aGFuZGxlcl9tdXRleCk7CiAJY21hX2RlcmVmX2lkKGlkX3ByaXYpOwogCWlmIChkZXN0cm95KQogCQlyZG1hX2Rlc3Ryb3lfaWQoJmlkX3ByaXYtPmlkKTsKQEAgLTE3NTgsNyArMTc1NCw3IEBACiAJc3RydWN0IHJkbWFfY21fZXZlbnQgZXZlbnQ7CiAKIAltZW1zZXQoJmV2ZW50LCAwLCBzaXplb2YgZXZlbnQpOwotCWF0b21pY19pbmMoJmlkX3ByaXYtPmRldl9yZW1vdmUpOworCW11dGV4X2xvY2soJmlkX3ByaXYtPmhhbmRsZXJfbXV0ZXgpOwogCiAJLyoKIAkgKiBHcmFiIG11dGV4IHRvIGJsb2NrIHJkbWFfZGVzdHJveV9pZCgpIGZyb20gcmVtb3ZpbmcgdGhlIGRldmljZSB3aGlsZQpAQCAtMTc4NywxMyArMTc4MywxMyBAQAogCiAJaWYgKGlkX3ByaXYtPmlkLmV2ZW50X2hhbmRsZXIoJmlkX3ByaXYtPmlkLCAmZXZlbnQpKSB7CiAJCWNtYV9leGNoKGlkX3ByaXYsIENNQV9ERVNUUk9ZSU5HKTsKLQkJY21hX2VuYWJsZV9yZW1vdmUoaWRfcHJpdik7CisJCW11dGV4X3VubG9jaygmaWRfcHJpdi0+aGFuZGxlcl9tdXRleCk7CiAJCWNtYV9kZXJlZl9pZChpZF9wcml2KTsKIAkJcmRtYV9kZXN0cm95X2lkKCZpZF9wcml2LT5pZCk7CiAJCXJldHVybjsKIAl9CiBvdXQ6Ci0JY21hX2VuYWJsZV9yZW1vdmUoaWRfcHJpdik7CisJbXV0ZXhfdW5sb2NrKCZpZF9wcml2LT5oYW5kbGVyX211dGV4KTsKIAljbWFfZGVyZWZfaWQoaWRfcHJpdik7CiB9CiAKQEAgLTIxMjAsNyArMjExNiw3IEBACiAJc3RydWN0IGliX2NtX3NpZHJfcmVwX2V2ZW50X3BhcmFtICpyZXAgPSAmaWJfZXZlbnQtPnBhcmFtLnNpZHJfcmVwX3JjdmQ7CiAJaW50IHJldCA9IDA7CiAKLQlpZiAoY21hX2Rpc2FibGVfcmVtb3ZlKGlkX3ByaXYsIENNQV9DT05ORUNUKSkKKwlpZiAoY21hX2Rpc2FibGVfY2FsbGJhY2soaWRfcHJpdiwgQ01BX0NPTk5FQ1QpKQogCQlyZXR1cm4gMDsKIAogCW1lbXNldCgmZXZlbnQsIDAsIHNpemVvZiBldmVudCk7CkBAIC0yMTUxLDcgKzIxNDcsNyBAQAogCQlldmVudC5zdGF0dXMgPSAwOwogCQlicmVhazsKIAlkZWZhdWx0OgotCQlwcmludGsoS0VSTl9FUlIgIlJETUEgQ01BOiB1bmV4cGVjdGVkIElCIENNIGV2ZW50OiAlZCIsCisJCXByaW50ayhLRVJOX0VSUiAiUkRNQSBDTUE6IHVuZXhwZWN0ZWQgSUIgQ00gZXZlbnQ6ICVkXG4iLAogCQkgICAgICAgaWJfZXZlbnQtPmV2ZW50KTsKIAkJZ290byBvdXQ7CiAJfQpAQCAtMjE2MSwxMiArMjE1NywxMiBAQAogCQkvKiBEZXN0cm95IHRoZSBDTSBJRCBieSByZXR1cm5pbmcgYSBub24temVybyB2YWx1ZS4gKi8KIAkJaWRfcHJpdi0+Y21faWQuaWIgPSBOVUxMOwogCQljbWFfZXhjaChpZF9wcml2LCBDTUFfREVTVFJPWUlORyk7Ci0JCWNtYV9lbmFibGVfcmVtb3ZlKGlkX3ByaXYpOworCQltdXRleF91bmxvY2soJmlkX3ByaXYtPmhhbmRsZXJfbXV0ZXgpOwogCQlyZG1hX2Rlc3Ryb3lfaWQoJmlkX3ByaXYtPmlkKTsKIAkJcmV0dXJuIHJldDsKIAl9CiBvdXQ6Ci0JY21hX2VuYWJsZV9yZW1vdmUoaWRfcHJpdik7CisJbXV0ZXhfdW5sb2NrKCZpZF9wcml2LT5oYW5kbGVyX211dGV4KTsKIAlyZXR1cm4gcmV0OwogfQogCkBAIC0yNTY0LDggKzI1NjAsOCBAQAogCWludCByZXQ7CiAKIAlpZF9wcml2ID0gbWMtPmlkX3ByaXY7Ci0JaWYgKGNtYV9kaXNhYmxlX3JlbW92ZShpZF9wcml2LCBDTUFfQUREUl9CT1VORCkgJiYKLQkgICAgY21hX2Rpc2FibGVfcmVtb3ZlKGlkX3ByaXYsIENNQV9BRERSX1JFU09MVkVEKSkKKwlpZiAoY21hX2Rpc2FibGVfY2FsbGJhY2soaWRfcHJpdiwgQ01BX0FERFJfQk9VTkQpICYmCisJICAgIGNtYV9kaXNhYmxlX2NhbGxiYWNrKGlkX3ByaXYsIENNQV9BRERSX1JFU09MVkVEKSkKIAkJcmV0dXJuIDA7CiAKIAltdXRleF9sb2NrKCZpZF9wcml2LT5xcF9tdXRleCk7CkBAIC0yNTkwLDEyICsyNTg2LDEyIEBACiAJcmV0ID0gaWRfcHJpdi0+aWQuZXZlbnRfaGFuZGxlcigmaWRfcHJpdi0+aWQsICZldmVudCk7CiAJaWYgKHJldCkgewogCQljbWFfZXhjaChpZF9wcml2LCBDTUFfREVTVFJPWUlORyk7Ci0JCWNtYV9lbmFibGVfcmVtb3ZlKGlkX3ByaXYpOworCQltdXRleF91bmxvY2soJmlkX3ByaXYtPmhhbmRsZXJfbXV0ZXgpOwogCQlyZG1hX2Rlc3Ryb3lfaWQoJmlkX3ByaXYtPmlkKTsKIAkJcmV0dXJuIDA7CiAJfQogCi0JY21hX2VuYWJsZV9yZW1vdmUoaWRfcHJpdik7CisJbXV0ZXhfdW5sb2NrKCZpZF9wcml2LT5oYW5kbGVyX211dGV4KTsKIAlyZXR1cm4gMDsKIH0KIApAQCAtMjc1NCw2ICsyNzUwLDcgQEAKIHsKIAlzdHJ1Y3QgcmRtYV9jbV9ldmVudCBldmVudDsKIAllbnVtIGNtYV9zdGF0ZSBzdGF0ZTsKKwlpbnQgcmV0ID0gMDsKIAogCS8qIFJlY29yZCB0aGF0IHdlIHdhbnQgdG8gcmVtb3ZlIHRoZSBkZXZpY2UgKi8KIAlzdGF0ZSA9IGNtYV9leGNoKGlkX3ByaXYsIENNQV9ERVZJQ0VfUkVNT1ZBTCk7CkBAIC0yNzYxLDE1ICsyNzU4LDE4IEBACiAJCXJldHVybiAwOwogCiAJY21hX2NhbmNlbF9vcGVyYXRpb24oaWRfcHJpdiwgc3RhdGUpOwotCXdhaXRfZXZlbnQoaWRfcHJpdi0+d2FpdF9yZW1vdmUsICFhdG9taWNfcmVhZCgmaWRfcHJpdi0+ZGV2X3JlbW92ZSkpOworCW11dGV4X2xvY2soJmlkX3ByaXYtPmhhbmRsZXJfbXV0ZXgpOwogCiAJLyogQ2hlY2sgZm9yIGRlc3RydWN0aW9uIGZyb20gYW5vdGhlciBjYWxsYmFjay4gKi8KIAlpZiAoIWNtYV9jb21wKGlkX3ByaXYsIENNQV9ERVZJQ0VfUkVNT1ZBTCkpCi0JCXJldHVybiAwOworCQlnb3RvIG91dDsKIAogCW1lbXNldCgmZXZlbnQsIDAsIHNpemVvZiBldmVudCk7CiAJZXZlbnQuZXZlbnQgPSBSRE1BX0NNX0VWRU5UX0RFVklDRV9SRU1PVkFMOwotCXJldHVybiBpZF9wcml2LT5pZC5ldmVudF9oYW5kbGVyKCZpZF9wcml2LT5pZCwgJmV2ZW50KTsKKwlyZXQgPSBpZF9wcml2LT5pZC5ldmVudF9oYW5kbGVyKCZpZF9wcml2LT5pZCwgJmV2ZW50KTsKK291dDoKKwltdXRleF91bmxvY2soJmlkX3ByaXYtPmhhbmRsZXJfbXV0ZXgpOworCXJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyB2b2lkIGNtYV9wcm9jZXNzX3JlbW92ZShzdHJ1Y3QgY21hX2RldmljZSAqY21hX2RldikKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL2NvcmVfcHJpdi5oIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvY29yZV9wcml2LmgKaW5kZXggN2FkNDdhNC4uMDVhYzM2ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvY29yZV9wcml2LmgKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvY29yZV9wcml2LmgKQEAgLTI4LDggKzI4LDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IGNvcmVfcHJpdi5oIDEzNDkgMjAwNC0xMi0xNiAyMTowOTo0M1ogcm9sYW5kICQKICAqLwogCiAjaWZuZGVmIF9DT1JFX1BSSVZfSApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvZGV2aWNlLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9kZXZpY2UuYwppbmRleCA1YWM1ZmZlLi43OTEzYjgwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9kZXZpY2UuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9kZXZpY2UuYwpAQCAtMjksOCArMjksNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogZGV2aWNlLmMgMTM0OSAyMDA0LTEyLTE2IDIxOjA5OjQzWiByb2xhbmQgJAogICovCiAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL2Ztcl9wb29sLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9mbXJfcG9vbC5jCmluZGV4IDEyODZkYzEuLjQ1MDcwNDMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL2Ztcl9wb29sLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvZm1yX3Bvb2wuYwpAQCAtMjksOCArMjksNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogZm1yX3Bvb2wuYyAyNzMwIDIwMDUtMDYtMjggMTY6NDM6MDNaIHNlYW4uaGVmdHkgJAogICovCiAKICNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvbWFkX3ByaXYuaCBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL21hZF9wcml2LmgKaW5kZXggOGI3NTAxMC4uMDVjZTMzMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvbWFkX3ByaXYuaAorKysgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9tYWRfcHJpdi5oCkBAIC0zMCw4ICszMCw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBtYWRfcHJpdi5oIDU1OTYgMjAwNi0wMy0wMyAwMTowMDowN1ogc2Vhbi5oZWZ0eSAkCiAgKi8KIAogI2lmbmRlZiBfX0lCX01BRF9QUklWX0hfXwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvbWFkX3JtcHAuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL21hZF9ybXBwLmMKaW5kZXggYTVlMmEzMS4uZDBlZjdkNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvbWFkX3JtcHAuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9tYWRfcm1wcC5jCkBAIC0yOSw4ICsyOSw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBtYWRfcm1wcC5jIDE5MjEgMjAwNS0wMy0wMiAyMjo1ODo0NFogc2Vhbi5oZWZ0eSAkCiAgKi8KIAogI2luY2x1ZGUgIm1hZF9wcml2LmgiCmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9tYWRfcm1wcC5oIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvbWFkX3JtcHAuaAppbmRleCBmMDYxNmZkLi4zZDMzNmJmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9tYWRfcm1wcC5oCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL21hZF9ybXBwLmgKQEAgLTI4LDggKzI4LDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IG1hZF9ybXBwLmggMTkyMSAyMDA1LTAyLTI1IDIyOjU4OjQ0WiBzZWFuLmhlZnR5ICQKICAqLwogCiAjaWZuZGVmIF9fTUFEX1JNUFBfSF9fCmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9wYWNrZXIuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3BhY2tlci5jCmluZGV4IGM5NzJkNzIuLjAxOWJkNGIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3BhY2tlci5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3BhY2tlci5jCkBAIC0yOSw4ICsyOSw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBwYWNrZXIuYyAxMzQ5IDIwMDQtMTItMTYgMjE6MDk6NDNaIHJvbGFuZCAkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvc2FfcXVlcnkuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3NhX3F1ZXJ5LmMKaW5kZXggY2Y0NzRlYy4uMTM0MWRlNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvc2FfcXVlcnkuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9zYV9xdWVyeS5jCkBAIC0zMCw4ICszMCw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBzYV9xdWVyeS5jIDI4MTEgMjAwNS0wNy0wNiAxODoxMTo0M1ogaGFsciAkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgpAQCAtMzYxLDcgKzM1OSw3IEBACiB7CiAJc3RydWN0IGliX3NhX3BvcnQgKnBvcnQgPQogCQljb250YWluZXJfb2Yod29yaywgc3RydWN0IGliX3NhX3BvcnQsIHVwZGF0ZV90YXNrKTsKLQlzdHJ1Y3QgaWJfc2Ffc21fYWggKm5ld19haCwgKm9sZF9haDsKKwlzdHJ1Y3QgaWJfc2Ffc21fYWggKm5ld19haDsKIAlzdHJ1Y3QgaWJfcG9ydF9hdHRyIHBvcnRfYXR0cjsKIAlzdHJ1Y3QgaWJfYWhfYXR0ciAgIGFoX2F0dHI7CiAKQEAgLTM5NywxMiArMzk1LDkgQEAKIAl9CiAKIAlzcGluX2xvY2tfaXJxKCZwb3J0LT5haF9sb2NrKTsKLQlvbGRfYWggPSBwb3J0LT5zbV9haDsKIAlwb3J0LT5zbV9haCA9IG5ld19haDsKIAlzcGluX3VubG9ja19pcnEoJnBvcnQtPmFoX2xvY2spOwogCi0JaWYgKG9sZF9haCkKLQkJa3JlZl9wdXQoJm9sZF9haC0+cmVmLCBmcmVlX3NtX2FoKTsKIH0KIAogc3RhdGljIHZvaWQgaWJfc2FfZXZlbnQoc3RydWN0IGliX2V2ZW50X2hhbmRsZXIgKmhhbmRsZXIsIHN0cnVjdCBpYl9ldmVudCAqZXZlbnQpCkBAIC00MTMsOCArNDA4LDE3IEBACiAJICAgIGV2ZW50LT5ldmVudCA9PSBJQl9FVkVOVF9QS0VZX0NIQU5HRSB8fAogCSAgICBldmVudC0+ZXZlbnQgPT0gSUJfRVZFTlRfU01fQ0hBTkdFICAgfHwKIAkgICAgZXZlbnQtPmV2ZW50ID09IElCX0VWRU5UX0NMSUVOVF9SRVJFR0lTVEVSKSB7Ci0JCXN0cnVjdCBpYl9zYV9kZXZpY2UgKnNhX2RldjsKLQkJc2FfZGV2ID0gY29udGFpbmVyX29mKGhhbmRsZXIsIHR5cGVvZigqc2FfZGV2KSwgZXZlbnRfaGFuZGxlcik7CisJCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJCXN0cnVjdCBpYl9zYV9kZXZpY2UgKnNhX2RldiA9CisJCQljb250YWluZXJfb2YoaGFuZGxlciwgdHlwZW9mKCpzYV9kZXYpLCBldmVudF9oYW5kbGVyKTsKKwkJc3RydWN0IGliX3NhX3BvcnQgKnBvcnQgPQorCQkJJnNhX2Rldi0+cG9ydFtldmVudC0+ZWxlbWVudC5wb3J0X251bSAtIHNhX2Rldi0+c3RhcnRfcG9ydF07CisKKwkJc3Bpbl9sb2NrX2lycXNhdmUoJnBvcnQtPmFoX2xvY2ssIGZsYWdzKTsKKwkJaWYgKHBvcnQtPnNtX2FoKQorCQkJa3JlZl9wdXQoJnBvcnQtPnNtX2FoLT5yZWYsIGZyZWVfc21fYWgpOworCQlwb3J0LT5zbV9haCA9IE5VTEw7CisJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnBvcnQtPmFoX2xvY2ssIGZsYWdzKTsKIAogCQlzY2hlZHVsZV93b3JrKCZzYV9kZXYtPnBvcnRbZXZlbnQtPmVsZW1lbnQucG9ydF9udW0gLQogCQkJCQkgICAgc2FfZGV2LT5zdGFydF9wb3J0XS51cGRhdGVfdGFzayk7CkBAIC01MTksNiArNTIzLDEwIEBACiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAogCXNwaW5fbG9ja19pcnFzYXZlKCZxdWVyeS0+cG9ydC0+YWhfbG9jaywgZmxhZ3MpOworCWlmICghcXVlcnktPnBvcnQtPnNtX2FoKSB7CisJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnF1ZXJ5LT5wb3J0LT5haF9sb2NrLCBmbGFncyk7CisJCXJldHVybiAtRUFHQUlOOworCX0KIAlrcmVmX2dldCgmcXVlcnktPnBvcnQtPnNtX2FoLT5yZWYpOwogCXF1ZXJ5LT5zbV9haCA9IHF1ZXJ5LT5wb3J0LT5zbV9haDsKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZxdWVyeS0+cG9ydC0+YWhfbG9jaywgZmxhZ3MpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvc3lzZnMuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3N5c2ZzLmMKaW5kZXggOTU3NTY1NS4uNGQxMDQyMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvc3lzZnMuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9zeXNmcy5jCkBAIC0zMCw4ICszMCw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBzeXNmcy5jIDEzNDkgMjAwNC0xMi0xNiAyMTowOTo0M1ogcm9sYW5kICQKICAqLwogCiAjaW5jbHVkZSAiY29yZV9wcml2LmgiCkBAIC02NjUsNiArNjYzLDEyMCBAQAogCS5kZXZfdWV2ZW50ID0gaWJfZGV2aWNlX3VldmVudCwKIH07CiAKKy8qIFNob3cgYSBnaXZlbiBhbiBhdHRyaWJ1dGUgaW4gdGhlIHN0YXRpc3RpY3MgZ3JvdXAgKi8KK3N0YXRpYyBzc2l6ZV90IHNob3dfcHJvdG9jb2xfc3RhdChjb25zdCBzdHJ1Y3QgZGV2aWNlICpkZXZpY2UsCisJCQkgICAgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKmJ1ZiwKKwkJCSAgICB1bnNpZ25lZCBvZmZzZXQpCit7CisJc3RydWN0IGliX2RldmljZSAqZGV2ID0gY29udGFpbmVyX29mKGRldmljZSwgc3RydWN0IGliX2RldmljZSwgZGV2KTsKKwl1bmlvbiByZG1hX3Byb3RvY29sX3N0YXRzIHN0YXRzOworCXNzaXplX3QgcmV0OworCisJcmV0ID0gZGV2LT5nZXRfcHJvdG9jb2xfc3RhdHMoZGV2LCAmc3RhdHMpOworCWlmIChyZXQpCisJCXJldHVybiByZXQ7CisKKwlyZXR1cm4gc3ByaW50ZihidWYsICIlbGx1XG4iLAorCQkgICAgICAgKHVuc2lnbmVkIGxvbmcgbG9uZykgKCh1NjQgKikgJnN0YXRzKVtvZmZzZXRdKTsKK30KKworLyogZ2VuZXJhdGUgYSByZWFkLW9ubHkgaXdhcnAgc3RhdGlzdGljcyBhdHRyaWJ1dGUgKi8KKyNkZWZpbmUgSVdfU1RBVFNfRU5UUlkobmFtZSkJCQkJCQlcCitzdGF0aWMgc3NpemVfdCBzaG93XyMjbmFtZShzdHJ1Y3QgZGV2aWNlICpkZXZpY2UsCQkJXAorCQkJICAgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKmJ1ZikJXAorewkJCQkJCQkJCVwKKwlyZXR1cm4gc2hvd19wcm90b2NvbF9zdGF0KGRldmljZSwgYXR0ciwgYnVmLAkJCVwKKwkJCQkgIG9mZnNldG9mKHN0cnVjdCBpd19wcm90b2NvbF9zdGF0cywgbmFtZSkgLyBcCisJCQkJICBzaXplb2YgKHU2NCkpOwkJCVwKK30JCQkJCQkJCQlcCitzdGF0aWMgREVWSUNFX0FUVFIobmFtZSwgU19JUlVHTywgc2hvd18jI25hbWUsIE5VTEwpCisKK0lXX1NUQVRTX0VOVFJZKGlwSW5SZWNlaXZlcyk7CitJV19TVEFUU19FTlRSWShpcEluSGRyRXJyb3JzKTsKK0lXX1NUQVRTX0VOVFJZKGlwSW5Ub29CaWdFcnJvcnMpOworSVdfU1RBVFNfRU5UUlkoaXBJbk5vUm91dGVzKTsKK0lXX1NUQVRTX0VOVFJZKGlwSW5BZGRyRXJyb3JzKTsKK0lXX1NUQVRTX0VOVFJZKGlwSW5Vbmtub3duUHJvdG9zKTsKK0lXX1NUQVRTX0VOVFJZKGlwSW5UcnVuY2F0ZWRQa3RzKTsKK0lXX1NUQVRTX0VOVFJZKGlwSW5EaXNjYXJkcyk7CitJV19TVEFUU19FTlRSWShpcEluRGVsaXZlcnMpOworSVdfU1RBVFNfRU5UUlkoaXBPdXRGb3J3RGF0YWdyYW1zKTsKK0lXX1NUQVRTX0VOVFJZKGlwT3V0UmVxdWVzdHMpOworSVdfU1RBVFNfRU5UUlkoaXBPdXREaXNjYXJkcyk7CitJV19TVEFUU19FTlRSWShpcE91dE5vUm91dGVzKTsKK0lXX1NUQVRTX0VOVFJZKGlwUmVhc21UaW1lb3V0KTsKK0lXX1NUQVRTX0VOVFJZKGlwUmVhc21SZXFkcyk7CitJV19TVEFUU19FTlRSWShpcFJlYXNtT0tzKTsKK0lXX1NUQVRTX0VOVFJZKGlwUmVhc21GYWlscyk7CitJV19TVEFUU19FTlRSWShpcEZyYWdPS3MpOworSVdfU1RBVFNfRU5UUlkoaXBGcmFnRmFpbHMpOworSVdfU1RBVFNfRU5UUlkoaXBGcmFnQ3JlYXRlcyk7CitJV19TVEFUU19FTlRSWShpcEluTWNhc3RQa3RzKTsKK0lXX1NUQVRTX0VOVFJZKGlwT3V0TWNhc3RQa3RzKTsKK0lXX1NUQVRTX0VOVFJZKGlwSW5CY2FzdFBrdHMpOworSVdfU1RBVFNfRU5UUlkoaXBPdXRCY2FzdFBrdHMpOworSVdfU1RBVFNfRU5UUlkodGNwUnRvQWxnb3JpdGhtKTsKK0lXX1NUQVRTX0VOVFJZKHRjcFJ0b01pbik7CitJV19TVEFUU19FTlRSWSh0Y3BSdG9NYXgpOworSVdfU1RBVFNfRU5UUlkodGNwTWF4Q29ubik7CitJV19TVEFUU19FTlRSWSh0Y3BBY3RpdmVPcGVucyk7CitJV19TVEFUU19FTlRSWSh0Y3BQYXNzaXZlT3BlbnMpOworSVdfU1RBVFNfRU5UUlkodGNwQXR0ZW1wdEZhaWxzKTsKK0lXX1NUQVRTX0VOVFJZKHRjcEVzdGFiUmVzZXRzKTsKK0lXX1NUQVRTX0VOVFJZKHRjcEN1cnJFc3RhYik7CitJV19TVEFUU19FTlRSWSh0Y3BJblNlZ3MpOworSVdfU1RBVFNfRU5UUlkodGNwT3V0U2Vncyk7CitJV19TVEFUU19FTlRSWSh0Y3BSZXRyYW5zU2Vncyk7CitJV19TVEFUU19FTlRSWSh0Y3BJbkVycnMpOworSVdfU1RBVFNfRU5UUlkodGNwT3V0UnN0cyk7CisKK3N0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlICppd19wcm90b19zdGF0c19hdHRyc1tdID0geworCSZkZXZfYXR0cl9pcEluUmVjZWl2ZXMuYXR0ciwKKwkmZGV2X2F0dHJfaXBJbkhkckVycm9ycy5hdHRyLAorCSZkZXZfYXR0cl9pcEluVG9vQmlnRXJyb3JzLmF0dHIsCisJJmRldl9hdHRyX2lwSW5Ob1JvdXRlcy5hdHRyLAorCSZkZXZfYXR0cl9pcEluQWRkckVycm9ycy5hdHRyLAorCSZkZXZfYXR0cl9pcEluVW5rbm93blByb3Rvcy5hdHRyLAorCSZkZXZfYXR0cl9pcEluVHJ1bmNhdGVkUGt0cy5hdHRyLAorCSZkZXZfYXR0cl9pcEluRGlzY2FyZHMuYXR0ciwKKwkmZGV2X2F0dHJfaXBJbkRlbGl2ZXJzLmF0dHIsCisJJmRldl9hdHRyX2lwT3V0Rm9yd0RhdGFncmFtcy5hdHRyLAorCSZkZXZfYXR0cl9pcE91dFJlcXVlc3RzLmF0dHIsCisJJmRldl9hdHRyX2lwT3V0RGlzY2FyZHMuYXR0ciwKKwkmZGV2X2F0dHJfaXBPdXROb1JvdXRlcy5hdHRyLAorCSZkZXZfYXR0cl9pcFJlYXNtVGltZW91dC5hdHRyLAorCSZkZXZfYXR0cl9pcFJlYXNtUmVxZHMuYXR0ciwKKwkmZGV2X2F0dHJfaXBSZWFzbU9Lcy5hdHRyLAorCSZkZXZfYXR0cl9pcFJlYXNtRmFpbHMuYXR0ciwKKwkmZGV2X2F0dHJfaXBGcmFnT0tzLmF0dHIsCisJJmRldl9hdHRyX2lwRnJhZ0ZhaWxzLmF0dHIsCisJJmRldl9hdHRyX2lwRnJhZ0NyZWF0ZXMuYXR0ciwKKwkmZGV2X2F0dHJfaXBJbk1jYXN0UGt0cy5hdHRyLAorCSZkZXZfYXR0cl9pcE91dE1jYXN0UGt0cy5hdHRyLAorCSZkZXZfYXR0cl9pcEluQmNhc3RQa3RzLmF0dHIsCisJJmRldl9hdHRyX2lwT3V0QmNhc3RQa3RzLmF0dHIsCisJJmRldl9hdHRyX3RjcFJ0b0FsZ29yaXRobS5hdHRyLAorCSZkZXZfYXR0cl90Y3BSdG9NaW4uYXR0ciwKKwkmZGV2X2F0dHJfdGNwUnRvTWF4LmF0dHIsCisJJmRldl9hdHRyX3RjcE1heENvbm4uYXR0ciwKKwkmZGV2X2F0dHJfdGNwQWN0aXZlT3BlbnMuYXR0ciwKKwkmZGV2X2F0dHJfdGNwUGFzc2l2ZU9wZW5zLmF0dHIsCisJJmRldl9hdHRyX3RjcEF0dGVtcHRGYWlscy5hdHRyLAorCSZkZXZfYXR0cl90Y3BFc3RhYlJlc2V0cy5hdHRyLAorCSZkZXZfYXR0cl90Y3BDdXJyRXN0YWIuYXR0ciwKKwkmZGV2X2F0dHJfdGNwSW5TZWdzLmF0dHIsCisJJmRldl9hdHRyX3RjcE91dFNlZ3MuYXR0ciwKKwkmZGV2X2F0dHJfdGNwUmV0cmFuc1NlZ3MuYXR0ciwKKwkmZGV2X2F0dHJfdGNwSW5FcnJzLmF0dHIsCisJJmRldl9hdHRyX3RjcE91dFJzdHMuYXR0ciwKKwlOVUxMCit9OworCitzdGF0aWMgc3RydWN0IGF0dHJpYnV0ZV9ncm91cCBpd19zdGF0c19ncm91cCA9IHsKKwkubmFtZQk9ICJwcm90b19zdGF0cyIsCisJLmF0dHJzCT0gaXdfcHJvdG9fc3RhdHNfYXR0cnMsCit9OworCiBpbnQgaWJfZGV2aWNlX3JlZ2lzdGVyX3N5c2ZzKHN0cnVjdCBpYl9kZXZpY2UgKmRldmljZSkKIHsKIAlzdHJ1Y3QgZGV2aWNlICpjbGFzc19kZXYgPSAmZGV2aWNlLT5kZXY7CkBAIC03MDcsNiArODE5LDEyIEBACiAJCX0KIAl9CiAKKwlpZiAoZGV2aWNlLT5ub2RlX3R5cGUgPT0gUkRNQV9OT0RFX1JOSUMgJiYgZGV2aWNlLT5nZXRfcHJvdG9jb2xfc3RhdHMpIHsKKwkJcmV0ID0gc3lzZnNfY3JlYXRlX2dyb3VwKCZjbGFzc19kZXYtPmtvYmosICZpd19zdGF0c19ncm91cCk7CisJCWlmIChyZXQpCisJCQlnb3RvIGVycl9wdXQ7CisJfQorCiAJcmV0dXJuIDA7CiAKIGVycl9wdXQ6CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91Y20uYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3VjbS5jCmluZGV4IGQ3YTY4ODEuLjk0OTQwMDUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3VjbS5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3VjbS5jCkBAIC0yOSw4ICsyOSw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiB1Y20uYyA0MzExIDIwMDUtMTItMDUgMTg6NDI6MDFaIHNlYW4uaGVmdHkgJAogICovCiAKICNpbmNsdWRlIDxsaW51eC9jb21wbGV0aW9uLmg+CkBAIC00NSw2ICs0Myw3IEBACiAjaW5jbHVkZSA8bGludXgvY2Rldi5oPgogI2luY2x1ZGUgPGxpbnV4L2lkci5oPgogI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAKQEAgLTExNTksNiArMTE1OCw3IEBACiB7CiAJc3RydWN0IGliX3VjbV9maWxlICpmaWxlOwogCisJY3ljbGVfa2VybmVsX2xvY2soKTsKIAlmaWxlID0ga21hbGxvYyhzaXplb2YoKmZpbGUpLCBHRlBfS0VSTkVMKTsKIAlpZiAoIWZpbGUpCiAJCXJldHVybiAtRU5PTUVNOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdWNtYS5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdWNtYS5jCmluZGV4IGNhNGNmM2EuLjE5NWY5NzMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3VjbWEuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91Y21hLmMKQEAgLTM4LDYgKzM4LDcgQEAKICNpbmNsdWRlIDxsaW51eC9pbi5oPgogI2luY2x1ZGUgPGxpbnV4L2luNi5oPgogI2luY2x1ZGUgPGxpbnV4L21pc2NkZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAjaW5jbHVkZSA8cmRtYS9yZG1hX3VzZXJfY20uaD4KICNpbmNsdWRlIDxyZG1hL2liX21hcnNoYWxsLmg+CkBAIC0xMTU2LDYgKzExNTcsNyBAQAogCWlmICghZmlsZSkKIAkJcmV0dXJuIC1FTk9NRU07CiAKKwlsb2NrX2tlcm5lbCgpOwogCUlOSVRfTElTVF9IRUFEKCZmaWxlLT5ldmVudF9saXN0KTsKIAlJTklUX0xJU1RfSEVBRCgmZmlsZS0+Y3R4X2xpc3QpOwogCWluaXRfd2FpdHF1ZXVlX2hlYWQoJmZpbGUtPnBvbGxfd2FpdCk7CkBAIC0xMTYzLDYgKzExNjUsNyBAQAogCiAJZmlscC0+cHJpdmF0ZV9kYXRhID0gZmlsZTsKIAlmaWxlLT5maWxwID0gZmlscDsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3VkX2hlYWRlci5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdWRfaGVhZGVyLmMKaW5kZXggOTk3YzA3ZC4uOGVjNzg3NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdWRfaGVhZGVyLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdWRfaGVhZGVyLmMKQEAgLTI5LDggKzI5LDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IHVkX2hlYWRlci5jIDEzNDkgMjAwNC0xMi0xNiAyMTowOTo0M1ogcm9sYW5kICQKICAqLwogCiAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3VtZW0uYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3VtZW0uYwppbmRleCBhMTc2OGRiLi42ZjdjMDk2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91bWVtLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdW1lbS5jCkBAIC0zMCw4ICszMCw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiB1dmVyYnNfbWVtLmMgMjc0MyAyMDA1LTA2LTI4IDIyOjI3OjU5WiByb2xhbmQgJAogICovCiAKICNpbmNsdWRlIDxsaW51eC9tbS5oPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdXNlcl9tYWQuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3VzZXJfbWFkLmMKaW5kZXggODQwZWRlOS4uMjY4YTJkMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdXNlcl9tYWQuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91c2VyX21hZC5jCkBAIC0zMSw4ICszMSw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiB1c2VyX21hZC5jIDU1OTYgMjAwNi0wMy0wMyAwMTowMDowN1ogc2Vhbi5oZWZ0eSAkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgpAQCAtNzc3LDYgKzc3NSwxOSBAQAogfQogI2VuZGlmCiAKKy8qCisgKiBpYl91bWFkX29wZW4oKSBkb2VzIG5vdCBuZWVkIHRoZSBCS0w6CisgKgorICogIC0gdW1hZF9wb3J0W10gYWNjZXNzZXMgYXJlIHByb3RlY3RlZCBieSBwb3J0X2xvY2ssIHRoZQorICogICAgaWJfdW1hZF9wb3J0IHN0cnVjdHVyZXMgYXJlIHByb3Blcmx5IHJlZmVyZW5jZSBjb3VudGVkLCBhbmQKKyAqICAgIGV2ZXJ5dGhpbmcgZWxzZSBpcyBwdXJlbHkgbG9jYWwgdG8gdGhlIGZpbGUgYmVpbmcgY3JlYXRlZCwgc28KKyAqICAgIHJhY2VzIGFnYWluc3Qgb3RoZXIgb3BlbiBjYWxscyBhcmUgbm90IGEgcHJvYmxlbTsKKyAqICAtIHRoZSBpb2N0bCBtZXRob2QgZG9lcyBub3QgYWZmZWN0IGFueSBnbG9iYWwgc3RhdGUgb3V0c2lkZSBvZiB0aGUKKyAqICAgIGZpbGUgc3RydWN0dXJlIGJlaW5nIG9wZXJhdGVkIG9uOworICogIC0gdGhlIHBvcnQgaXMgYWRkZWQgdG8gdW1hZF9wb3J0W10gYXMgdGhlIGxhc3QgcGFydCBvZiBtb2R1bGUKKyAqICAgIGluaXRpYWxpemF0aW9uIHNvIHRoZSBvcGVuIG1ldGhvZCB3aWxsIGVpdGhlciBpbW1lZGlhdGVseSBydW4KKyAqICAgIC1FTlhJTywgb3IgYWxsIHJlcXVpcmVkIGluaXRpYWxpemF0aW9uIHdpbGwgYmUgZG9uZS4KKyAqLwogc3RhdGljIGludCBpYl91bWFkX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbHApCiB7CiAJc3RydWN0IGliX3VtYWRfcG9ydCAqcG9ydDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3V2ZXJicy5oIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdXZlcmJzLmgKaW5kZXggMzc2YTU3Yy4uYjNlYTk1OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdXZlcmJzLmgKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdXZlcmJzLmgKQEAgLTMyLDggKzMyLDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IHV2ZXJicy5oIDI1NTkgMjAwNS0wNi0wNiAxOTo0MzoxNlogcm9sYW5kICQKICAqLwogCiAjaWZuZGVmIFVWRVJCU19ICmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91dmVyYnNfY21kLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91dmVyYnNfY21kLmMKaW5kZXggMmMzYmZmNS4uNTZmZWFiNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdXZlcmJzX2NtZC5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3V2ZXJic19jbWQuYwpAQCAtMzEsOCArMzEsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogdXZlcmJzX2NtZC5jIDI3MDggMjAwNS0wNi0yNCAxNzoyNzoyMVogcm9sYW5kICQKICAqLwogCiAjaW5jbHVkZSA8bGludXgvZmlsZS5oPgpAQCAtOTE5LDcgKzkxNyw3IEBACiAJCXJlc3AtPndjW2ldLm9wY29kZSAJICAgPSB3Y1tpXS5vcGNvZGU7CiAJCXJlc3AtPndjW2ldLnZlbmRvcl9lcnIgCSAgID0gd2NbaV0udmVuZG9yX2VycjsKIAkJcmVzcC0+d2NbaV0uYnl0ZV9sZW4gCSAgID0gd2NbaV0uYnl0ZV9sZW47Ci0JCXJlc3AtPndjW2ldLmltbV9kYXRhIAkgICA9IChfX3UzMiBfX2ZvcmNlKSB3Y1tpXS5pbW1fZGF0YTsKKwkJcmVzcC0+d2NbaV0uZXguaW1tX2RhdGEgICAgPSAoX191MzIgX19mb3JjZSkgd2NbaV0uZXguaW1tX2RhdGE7CiAJCXJlc3AtPndjW2ldLnFwX251bSAJICAgPSB3Y1tpXS5xcC0+cXBfbnVtOwogCQlyZXNwLT53Y1tpXS5zcmNfcXAgCSAgID0gd2NbaV0uc3JjX3FwOwogCQlyZXNwLT53Y1tpXS53Y19mbGFncyAJICAgPSB3Y1tpXS53Y19mbGFnczsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3V2ZXJic19tYWluLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91dmVyYnNfbWFpbi5jCmluZGV4IGNhZWQ0MmIuLmFlZWU4NTYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3V2ZXJic19tYWluLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdXZlcmJzX21haW4uYwpAQCAtMzIsOCArMzIsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogdXZlcmJzX21haW4uYyAyNzMzIDIwMDUtMDYtMjggMTk6MTQ6MzRaIHJvbGFuZCAkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgpAQCAtNjEwLDYgKzYwOCwxOCBAQAogCQlyZXR1cm4gZmlsZS0+ZGV2aWNlLT5pYl9kZXYtPm1tYXAoZmlsZS0+dWNvbnRleHQsIHZtYSk7CiB9CiAKKy8qCisgKiBpYl91dmVyYnNfb3BlbigpIGRvZXMgbm90IG5lZWQgdGhlIEJLTDoKKyAqCisgKiAgLSBkZXZfdGFibGVbXSBhY2Nlc3NlcyBhcmUgcHJvdGVjdGVkIGJ5IG1hcF9sb2NrLCB0aGUKKyAqICAgIGliX3V2ZXJic19kZXZpY2Ugc3RydWN0dXJlcyBhcmUgcHJvcGVybHkgcmVmZXJlbmNlIGNvdW50ZWQsIGFuZAorICogICAgZXZlcnl0aGluZyBlbHNlIGlzIHB1cmVseSBsb2NhbCB0byB0aGUgZmlsZSBiZWluZyBjcmVhdGVkLCBzbworICogICAgcmFjZXMgYWdhaW5zdCBvdGhlciBvcGVuIGNhbGxzIGFyZSBub3QgYSBwcm9ibGVtOworICogIC0gdGhlcmUgaXMgbm8gaW9jdGwgbWV0aG9kIHRvIHJhY2UgYWdhaW5zdDsKKyAqICAtIHRoZSBkZXZpY2UgaXMgYWRkZWQgdG8gZGV2X3RhYmxlW10gYXMgdGhlIGxhc3QgcGFydCBvZiBtb2R1bGUKKyAqICAgIGluaXRpYWxpemF0aW9uLCB0aGUgb3BlbiBtZXRob2Qgd2lsbCBlaXRoZXIgaW1tZWRpYXRlbHkgcnVuCisgKiAgICAtRU5YSU8sIG9yIGFsbCByZXF1aXJlZCBpbml0aWFsaXphdGlvbiB3aWxsIGJlIGRvbmUuCisgKi8KIHN0YXRpYyBpbnQgaWJfdXZlcmJzX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbHApCiB7CiAJc3RydWN0IGliX3V2ZXJic19kZXZpY2UgKmRldjsKQEAgLTY1MSw3ICs2NjEsNiBAQAogCiBlcnI6CiAJa3JlZl9wdXQoJmRldi0+cmVmLCBpYl91dmVyYnNfcmVsZWFzZV9kZXYpOwotCiAJcmV0dXJuIHJldDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdmVyYnMuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3ZlcmJzLmMKaW5kZXggMDUwNDIwOC4uYTdkYTliZTQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3ZlcmJzLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdmVyYnMuYwpAQCAtMzQsOCArMzQsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogdmVyYnMuYyAxMzQ5IDIwMDQtMTItMTYgMjE6MDk6NDNaIHJvbGFuZCAkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CkBAIC0zMTcsNyArMzE1LDYgQEAKIH0gcXBfc3RhdGVfdGFibGVbSUJfUVBTX0VSUiArIDFdW0lCX1FQU19FUlIgKyAxXSA9IHsKIAlbSUJfUVBTX1JFU0VUXSA9IHsKIAkJW0lCX1FQU19SRVNFVF0gPSB7IC52YWxpZCA9IDEgfSwKLQkJW0lCX1FQU19FUlJdICAgPSB7IC52YWxpZCA9IDEgfSwKIAkJW0lCX1FQU19JTklUXSAgPSB7CiAJCQkudmFsaWQgPSAxLAogCQkJLnJlcV9wYXJhbSA9IHsKQEAgLTc1NSw2ICs3NTIsNTIgQEAKIH0KIEVYUE9SVF9TWU1CT0woaWJfZGVyZWdfbXIpOwogCitzdHJ1Y3QgaWJfbXIgKmliX2FsbG9jX2Zhc3RfcmVnX21yKHN0cnVjdCBpYl9wZCAqcGQsIGludCBtYXhfcGFnZV9saXN0X2xlbikKK3sKKwlzdHJ1Y3QgaWJfbXIgKm1yOworCisJaWYgKCFwZC0+ZGV2aWNlLT5hbGxvY19mYXN0X3JlZ19tcikKKwkJcmV0dXJuIEVSUl9QVFIoLUVOT1NZUyk7CisKKwltciA9IHBkLT5kZXZpY2UtPmFsbG9jX2Zhc3RfcmVnX21yKHBkLCBtYXhfcGFnZV9saXN0X2xlbik7CisKKwlpZiAoIUlTX0VSUihtcikpIHsKKwkJbXItPmRldmljZSAgPSBwZC0+ZGV2aWNlOworCQltci0+cGQgICAgICA9IHBkOworCQltci0+dW9iamVjdCA9IE5VTEw7CisJCWF0b21pY19pbmMoJnBkLT51c2VjbnQpOworCQlhdG9taWNfc2V0KCZtci0+dXNlY250LCAwKTsKKwl9CisKKwlyZXR1cm4gbXI7Cit9CitFWFBPUlRfU1lNQk9MKGliX2FsbG9jX2Zhc3RfcmVnX21yKTsKKworc3RydWN0IGliX2Zhc3RfcmVnX3BhZ2VfbGlzdCAqaWJfYWxsb2NfZmFzdF9yZWdfcGFnZV9saXN0KHN0cnVjdCBpYl9kZXZpY2UgKmRldmljZSwKKwkJCQkJCQkgIGludCBtYXhfcGFnZV9saXN0X2xlbikKK3sKKwlzdHJ1Y3QgaWJfZmFzdF9yZWdfcGFnZV9saXN0ICpwYWdlX2xpc3Q7CisKKwlpZiAoIWRldmljZS0+YWxsb2NfZmFzdF9yZWdfcGFnZV9saXN0KQorCQlyZXR1cm4gRVJSX1BUUigtRU5PU1lTKTsKKworCXBhZ2VfbGlzdCA9IGRldmljZS0+YWxsb2NfZmFzdF9yZWdfcGFnZV9saXN0KGRldmljZSwgbWF4X3BhZ2VfbGlzdF9sZW4pOworCisJaWYgKCFJU19FUlIocGFnZV9saXN0KSkgeworCQlwYWdlX2xpc3QtPmRldmljZSA9IGRldmljZTsKKwkJcGFnZV9saXN0LT5tYXhfcGFnZV9saXN0X2xlbiA9IG1heF9wYWdlX2xpc3RfbGVuOworCX0KKworCXJldHVybiBwYWdlX2xpc3Q7Cit9CitFWFBPUlRfU1lNQk9MKGliX2FsbG9jX2Zhc3RfcmVnX3BhZ2VfbGlzdCk7CisKK3ZvaWQgaWJfZnJlZV9mYXN0X3JlZ19wYWdlX2xpc3Qoc3RydWN0IGliX2Zhc3RfcmVnX3BhZ2VfbGlzdCAqcGFnZV9saXN0KQoreworCXBhZ2VfbGlzdC0+ZGV2aWNlLT5mcmVlX2Zhc3RfcmVnX3BhZ2VfbGlzdChwYWdlX2xpc3QpOworfQorRVhQT1JUX1NZTUJPTChpYl9mcmVlX2Zhc3RfcmVnX3BhZ2VfbGlzdCk7CisKIC8qIE1lbW9yeSB3aW5kb3dzICovCiAKIHN0cnVjdCBpYl9tdyAqaWJfYWxsb2NfbXcoc3RydWN0IGliX3BkICpwZCkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9hbXNvMTEwMC9jMl9ybmljLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvYW1zbzExMDAvYzJfcm5pYy5jCmluZGV4IGIxNDQxYWViLi5kZDA1YzQ4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvYW1zbzExMDAvYzJfcm5pYy5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9hbXNvMTEwMC9jMl9ybmljLmMKQEAgLTQ1NCw3ICs0NTQsNyBAQAogCSAgICAoSUJfREVWSUNFX1JFU0laRV9NQVhfV1IgfAogCSAgICAgSUJfREVWSUNFX0NVUlJfUVBfU1RBVEVfTU9EIHwKIAkgICAgIElCX0RFVklDRV9TWVNfSU1BR0VfR1VJRCB8Ci0JICAgICBJQl9ERVZJQ0VfWkVST19TVEFHIHwKKwkgICAgIElCX0RFVklDRV9MT0NBTF9ETUFfTEtFWSB8CiAJICAgICBJQl9ERVZJQ0VfTUVNX1dJTkRPVyk7CiAKIAkvKiBBbGxvY2F0ZSB0aGUgcXB0cl9hcnJheSAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2IzL2N4aW9faGFsLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvY3hpb19oYWwuYwppbmRleCAzZjQ0MWZjLi5mNmQ1NzQ3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvY3hpb19oYWwuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvY3hpb19oYWwuYwpAQCAtMTQ1LDcgKzE0NSw5IEBACiAJfQogCXdxZSA9IChzdHJ1Y3QgdDNfbW9kaWZ5X3FwX3dyICopIHNrYl9wdXQoc2tiLCBzaXplb2YoKndxZSkpOwogCW1lbXNldCh3cWUsIDAsIHNpemVvZigqd3FlKSk7Ci0JYnVpbGRfZndfcml3cmgoKHN0cnVjdCBmd19yaXdyaCAqKSB3cWUsIFQzX1dSX1FQX01PRCwgMywgMCwgcXBpZCwgNyk7CisJYnVpbGRfZndfcml3cmgoKHN0cnVjdCBmd19yaXdyaCAqKSB3cWUsIFQzX1dSX1FQX01PRCwKKwkJICAgICAgIFQzX0NPTVBMRVRJT05fRkxBRyB8IFQzX05PVElGWV9GTEFHLCAwLCBxcGlkLCA3LAorCQkgICAgICAgVDNfU09QRU9QKTsKIAl3cWUtPmZsYWdzID0gY3B1X3RvX2JlMzIoTU9EUVBfV1JJVEVfRUMpOwogCXNnZV9jbWQgPSBxcGlkIDw8IDggfCAzOwogCXdxZS0+c2dlX2NtZCA9IGNwdV90b19iZTY0KHNnZV9jbWQpOwpAQCAtMjc2LDcgKzI3OCw3IEBACiAJaWYgKCF3cS0+cXBpZCkKIAkJcmV0dXJuIC1FTk9NRU07CiAKLQl3cS0+cnEgPSBremFsbG9jKGRlcHRoICogc2l6ZW9mKHU2NCksIEdGUF9LRVJORUwpOworCXdxLT5ycSA9IGt6YWxsb2MoZGVwdGggKiBzaXplb2Yoc3RydWN0IHQzX3N3cnEpLCBHRlBfS0VSTkVMKTsKIAlpZiAoIXdxLT5ycSkKIAkJZ290byBlcnIxOwogCkBAIC0zMDAsNiArMzAyLDcgQEAKIAlpZiAoIWtlcm5lbF9kb21haW4pCiAJCXdxLT51ZGIgPSAodTY0KXJkZXZfcC0+cm5pY19pbmZvLnVkYmVsbF9waHlzYmFzZSArCiAJCQkJCSh3cS0+cXBpZCA8PCByZGV2X3AtPnFwc2hpZnQpOworCXdxLT5yZGV2ID0gcmRldl9wOwogCVBEQkcoIiVzIHFwaWQgMHgleCBkb29yYmVsbCAweCVwIHVkYiAweCVsbHhcbiIsIF9fZnVuY19fLAogCSAgICAgd3EtPnFwaWQsIHdxLT5kb29yYmVsbCwgKHVuc2lnbmVkIGxvbmcgbG9uZykgd3EtPnVkYik7CiAJcmV0dXJuIDA7CkBAIC01NTgsNyArNTYxLDcgQEAKIAl3cWUgPSAoc3RydWN0IHQzX21vZGlmeV9xcF93ciAqKSBza2JfcHV0KHNrYiwgc2l6ZW9mKCp3cWUpKTsKIAltZW1zZXQod3FlLCAwLCBzaXplb2YoKndxZSkpOwogCWJ1aWxkX2Z3X3Jpd3JoKChzdHJ1Y3QgZndfcml3cmggKikgd3FlLCBUM19XUl9RUF9NT0QsIDAsIDAsCi0JCSAgICAgICBUM19DVExfUVBfVElELCA3KTsKKwkJICAgICAgIFQzX0NUTF9RUF9USUQsIDcsIFQzX1NPUEVPUCk7CiAJd3FlLT5mbGFncyA9IGNwdV90b19iZTMyKE1PRFFQX1dSSVRFX0VDKTsKIAlzZ2VfY21kID0gKDNVTEwgPDwgNTYpIHwgRldfUklfU0dFRUNfU1RBUlQgPDwgOCB8IDM7CiAJd3FlLT5zZ2VfY21kID0gY3B1X3RvX2JlNjQoc2dlX2NtZCk7CkBAIC02NzQsNyArNjc3LDcgQEAKIAkJYnVpbGRfZndfcml3cmgoKHN0cnVjdCBmd19yaXdyaCAqKSB3cWUsIFQzX1dSX0JQLCBmbGFnLAogCQkJICAgICAgIFFfR0VOQklUKHJkZXZfcC0+Y3RybF9xcC53cHRyLAogCQkJCQlUM19DVFJMX1FQX1NJWkVfTE9HMiksIFQzX0NUUkxfUVBfSUQsCi0JCQkgICAgICAgd3JfbGVuKTsKKwkJCSAgICAgICB3cl9sZW4sIFQzX1NPUEVPUCk7CiAJCWlmIChmbGFnID09IFQzX0NPTVBMRVRJT05fRkxBRykKIAkJCXJpbmdfZG9vcmJlbGwocmRldl9wLT5jdHJsX3FwLmRvb3JiZWxsLCBUM19DVFJMX1FQX0lEKTsKIAkJbGVuIC09IDk2OwpAQCAtODE2LDYgKzgxOSwxMyBAQAogCQkJICAgICAwLCAwKTsKIH0KIAoraW50IGN4aW9fYWxsb2NhdGVfc3RhZyhzdHJ1Y3QgY3hpb19yZGV2ICpyZGV2X3AsIHUzMiAqc3RhZywgdTMyIHBkaWQsIHUzMiBwYmxfc2l6ZSwgdTMyIHBibF9hZGRyKQoreworCSpzdGFnID0gVDNfU1RBR19VTlNFVDsKKwlyZXR1cm4gX19jeGlvX3RwdF9vcChyZGV2X3AsIDAsIHN0YWcsIDAsIHBkaWQsIFRQVF9OT05fU0hBUkVEX01SLAorCQkJICAgICAwLCAwLCAwVUxMLCAwLCAwLCBwYmxfc2l6ZSwgcGJsX2FkZHIpOworfQorCiBpbnQgY3hpb19yZG1hX2luaXQoc3RydWN0IGN4aW9fcmRldiAqcmRldl9wLCBzdHJ1Y3QgdDNfcmRtYV9pbml0X2F0dHIgKmF0dHIpCiB7CiAJc3RydWN0IHQzX3JkbWFfaW5pdF93ciAqd3FlOwpAQCAtMTI1NywxMyArMTI2NywxNiBAQAogCQl3cS0+c3FfcnB0ciA9IENRRV9XUklEX1NRX1dQVFIoKmh3X2NxZSk7CiAJCVBEQkcoIiVzIGNvbXBsZXRpbmcgc3EgaWR4ICVsZFxuIiwgX19mdW5jX18sCiAJCSAgICAgUV9QVFIySURYKHdxLT5zcV9ycHRyLCB3cS0+c3Ffc2l6ZV9sb2cyKSk7Ci0JCSpjb29raWUgPSAod3EtPnNxICsKLQkJCSAgIFFfUFRSMklEWCh3cS0+c3FfcnB0ciwgd3EtPnNxX3NpemVfbG9nMikpLT53cl9pZDsKKwkJKmNvb2tpZSA9IHdxLT5zcVtRX1BUUjJJRFgod3EtPnNxX3JwdHIsIHdxLT5zcV9zaXplX2xvZzIpXS53cl9pZDsKIAkJd3EtPnNxX3JwdHIrKzsKIAl9IGVsc2UgewogCQlQREJHKCIlcyBjb21wbGV0aW5nIHJxIGlkeCAlbGRcbiIsIF9fZnVuY19fLAogCQkgICAgIFFfUFRSMklEWCh3cS0+cnFfcnB0ciwgd3EtPnJxX3NpemVfbG9nMikpOwotCQkqY29va2llID0gKih3cS0+cnEgKyBRX1BUUjJJRFgod3EtPnJxX3JwdHIsIHdxLT5ycV9zaXplX2xvZzIpKTsKKwkJKmNvb2tpZSA9IHdxLT5ycVtRX1BUUjJJRFgod3EtPnJxX3JwdHIsIHdxLT5ycV9zaXplX2xvZzIpXS53cl9pZDsKKwkJaWYgKHdxLT5ycVtRX1BUUjJJRFgod3EtPnJxX3JwdHIsIHdxLT5ycV9zaXplX2xvZzIpXS5wYmxfYWRkcikKKwkJCWN4aW9faGFsX3BibHBvb2xfZnJlZSh3cS0+cmRldiwKKwkJCQl3cS0+cnFbUV9QVFIySURYKHdxLT5ycV9ycHRyLAorCQkJCXdxLT5ycV9zaXplX2xvZzIpXS5wYmxfYWRkciwgVDNfU1RBRzBfUEJMX1NJWkUpOwogCQl3cS0+cnFfcnB0cisrOwogCX0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2IzL2N4aW9faGFsLmggYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvY3hpb19oYWwuaAppbmRleCA2ZTEyOGY2Li42NTZmZTQ3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvY3hpb19oYWwuaAorKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvY3hpb19oYWwuaApAQCAtNDUsMTUgKzQ1LDE3IEBACiAjZGVmaW5lIFQzX0NUUkxfUVBfU0laRV9MT0cyICA4CiAjZGVmaW5lIFQzX0NUUkxfQ1FfSUQgICAgMAogCi0vKiBUQkQgKi8KICNkZWZpbmUgVDNfTUFYX05VTV9SSSAoMTw8MTUpCiAjZGVmaW5lIFQzX01BWF9OVU1fUVAgKDE8PDE1KQogI2RlZmluZSBUM19NQVhfTlVNX0NRICgxPDwxNSkKICNkZWZpbmUgVDNfTUFYX05VTV9QRCAoMTw8MTUpCiAjZGVmaW5lIFQzX01BWF9QQkxfU0laRSAyNTYKICNkZWZpbmUgVDNfTUFYX1JRX1NJWkUgMTAyNAorI2RlZmluZSBUM19NQVhfUVBfREVQVEggKFQzX01BWF9SUV9TSVpFLTEpCisjZGVmaW5lIFQzX01BWF9DUV9ERVBUSCA4MTkyCiAjZGVmaW5lIFQzX01BWF9OVU1fU1RBRyAoMTw8MTUpCiAjZGVmaW5lIFQzX01BWF9NUl9TSVpFIDB4MTAwMDAwMDAwVUxMCisjZGVmaW5lIFQzX1BBR0VTSVpFX01BU0sgMHhmZmZmMDAwICAvKiA0S0ItMTI4TUIgKi8KIAogI2RlZmluZSBUM19TVEFHX1VOU0VUIDB4ZmZmZmZmZmYKIApAQCAtMTY1LDYgKzE2Nyw3IEBACiBpbnQgY3hpb19kZXJlZ19tZW0oc3RydWN0IGN4aW9fcmRldiAqcmRldiwgdTMyIHN0YWcsIHUzMiBwYmxfc2l6ZSwKIAkJICAgdTMyIHBibF9hZGRyKTsKIGludCBjeGlvX2FsbG9jYXRlX3dpbmRvdyhzdHJ1Y3QgY3hpb19yZGV2ICpyZGV2LCB1MzIgKiBzdGFnLCB1MzIgcGRpZCk7CitpbnQgY3hpb19hbGxvY2F0ZV9zdGFnKHN0cnVjdCBjeGlvX3JkZXYgKnJkZXYsIHUzMiAqc3RhZywgdTMyIHBkaWQsIHUzMiBwYmxfc2l6ZSwgdTMyIHBibF9hZGRyKTsKIGludCBjeGlvX2RlYWxsb2NhdGVfd2luZG93KHN0cnVjdCBjeGlvX3JkZXYgKnJkZXYsIHUzMiBzdGFnKTsKIGludCBjeGlvX3JkbWFfaW5pdChzdHJ1Y3QgY3hpb19yZGV2ICpyZGV2LCBzdHJ1Y3QgdDNfcmRtYV9pbml0X2F0dHIgKmF0dHIpOwogdm9pZCBjeGlvX3JlZ2lzdGVyX2V2X2NiKGN4aW9faGFsX2V2X2NhbGxiYWNrX2Z1bmNfdCBldl9jYik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvY3hpb193ci5oIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2IzL2N4aW9fd3IuaAppbmRleCBmMWEyNWE4Li4wNDYxOGY3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvY3hpb193ci5oCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9jeGdiMy9jeGlvX3dyLmgKQEAgLTM5LDYgKzM5LDkgQEAKIAogI2RlZmluZSBUM19NQVhfU0dFICAgICAgNAogI2RlZmluZSBUM19NQVhfSU5MSU5FCTY0CisjZGVmaW5lIFQzX1NUQUcwX1BCTF9TSVpFICgyICogVDNfTUFYX1NHRSA8PCAzKQorI2RlZmluZSBUM19TVEFHMF9NQVhfUEJFX0xFTiAoMTI4ICogMTAyNCAqIDEwMjQpCisjZGVmaW5lIFQzX1NUQUcwX1BBR0VfU0hJRlQgMTUKIAogI2RlZmluZSBRX0VNUFRZKHJwdHIsd3B0cikgKChycHRyKT09KHdwdHIpKQogI2RlZmluZSBRX0ZVTEwocnB0cix3cHRyLHNpemVfbG9nMikgICggKCgod3B0ciktKHJwdHIpKT4+KHNpemVfbG9nMikpICYmIFwKQEAgLTcyLDcgKzc1LDggQEAKIAlUM19XUl9CSU5EID0gRldfV1JPUENPREVfUklfQklORF9NVywKIAlUM19XUl9SQ1YgPSBGV19XUk9QQ09ERV9SSV9SRUNFSVZFLAogCVQzX1dSX0lOSVQgPSBGV19XUk9QQ09ERV9SSV9SRE1BX0lOSVQsCi0JVDNfV1JfUVBfTU9EID0gRldfV1JPUENPREVfUklfTU9ESUZZX1FQCisJVDNfV1JfUVBfTU9EID0gRldfV1JPUENPREVfUklfTU9ESUZZX1FQLAorCVQzX1dSX0ZBU1RSRUcgPSBGV19XUk9QQ09ERV9SSV9GQVNUUkVHSVNURVJfTVIKIH0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOwogCiBlbnVtIHQzX3JkbWFfb3Bjb2RlIHsKQEAgLTg5LDcgKzkzLDggQEAKIAlUM19GQVNUX1JFR0lTVEVSLAogCVQzX0xPQ0FMX0lOViwKIAlUM19RUF9NT0QsCi0JVDNfQllQQVNTCisJVDNfQllQQVNTLAorCVQzX1JETUFfUkVBRF9SRVFfV0lUSF9JTlYsCiB9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKIAogc3RhdGljIGlubGluZSBlbnVtIHQzX3JkbWFfb3Bjb2RlIHdyMm9wY29kZShlbnVtIHQzX3dyX29wY29kZSB3cm9wKQpAQCAtMTAzLDYgKzEwOCw3IEBACiAJCWNhc2UgVDNfV1JfQklORDogcmV0dXJuIFQzX0JJTkRfTVc7CiAJCWNhc2UgVDNfV1JfSU5JVDogcmV0dXJuIFQzX1JETUFfSU5JVDsKIAkJY2FzZSBUM19XUl9RUF9NT0Q6IHJldHVybiBUM19RUF9NT0Q7CisJCWNhc2UgVDNfV1JfRkFTVFJFRzogcmV0dXJuIFQzX0ZBU1RfUkVHSVNURVI7CiAJCWRlZmF1bHQ6IGJyZWFrOwogCX0KIAlyZXR1cm4gLTE7CkBAIC0xNzAsMTEgKzE3Niw1NCBAQAogCXN0cnVjdCB0M19zZ2Ugc2dsW1QzX01BWF9TR0VdOwkvKiA0KyAqLwogfTsKIAorI2RlZmluZSBUM19NQVhfRkFTVFJFR19ERVBUSCAyNAorI2RlZmluZSBUM19NQVhfRkFTVFJFR19GUkFHIDEwCisKK3N0cnVjdCB0M19mYXN0cmVnX3dyIHsKKwlzdHJ1Y3QgZndfcml3cmggd3JoOwkvKiAwICovCisJdW5pb24gdDNfd3JpZCB3cmlkOwkvKiAxICovCisJX19iZTMyIHN0YWc7CQkvKiAyICovCisJX19iZTMyIGxlbjsKKwlfX2JlMzIgdmFfYmFzZV9oaTsJLyogMyAqLworCV9fYmUzMiB2YV9iYXNlX2xvX2ZibzsKKwlfX2JlMzIgcGFnZV90eXBlX3Blcm1zOyAvKiA0ICovCisJX19iZTMyIHJlc2VydmVkMTsKKwlfX2JlNjQgcGJsX2FkZHJzWzBdOwkvKiA1KyAqLworfTsKKworLyoKKyAqIElmIGEgZmFzdHJlZyB3ciBzcGFucyBtdWx0aXBsZSB3cWVzLCB0aGVuIHRoZSAybmQgZnJhZ21lbnQgbG9vayBsaWtlIHRoaXMuCisgKi8KK3N0cnVjdCB0M19wYmxfZnJhZyB7CisJc3RydWN0IGZ3X3Jpd3JoIHdyaDsJLyogMCAqLworCV9fYmU2NCBwYmxfYWRkcnNbMTRdOwkvKiAxLi4xNCAqLworfTsKKworI2RlZmluZSBTX0ZSX1BBR0VfQ09VTlQJCTI0CisjZGVmaW5lIE1fRlJfUEFHRV9DT1VOVAkJMHhmZgorI2RlZmluZSBWX0ZSX1BBR0VfQ09VTlQoeCkJKCh4KSA8PCBTX0ZSX1BBR0VfQ09VTlQpCisjZGVmaW5lIEdfRlJfUEFHRV9DT1VOVCh4KQkoKCgoeCkgPj4gU19GUl9QQUdFX0NPVU5UKSkgJiBNX0ZSX1BBR0VfQ09VTlQpCisKKyNkZWZpbmUgU19GUl9QQUdFX1NJWkUJCTE2CisjZGVmaW5lIE1fRlJfUEFHRV9TSVpFCQkweDFmCisjZGVmaW5lIFZfRlJfUEFHRV9TSVpFKHgpCSgoeCkgPDwgU19GUl9QQUdFX1NJWkUpCisjZGVmaW5lIEdfRlJfUEFHRV9TSVpFKHgpCSgoKCh4KSA+PiBTX0ZSX1BBR0VfU0laRSkpICYgTV9GUl9QQUdFX1NJWkUpCisKKyNkZWZpbmUgU19GUl9UWVBFCQk4CisjZGVmaW5lIE1fRlJfVFlQRQkJMHgxCisjZGVmaW5lIFZfRlJfVFlQRSh4KQkJKCh4KSA8PCBTX0ZSX1RZUEUpCisjZGVmaW5lIEdfRlJfVFlQRSh4KQkJKCgoKHgpID4+IFNfRlJfVFlQRSkpICYgTV9GUl9UWVBFKQorCisjZGVmaW5lIFNfRlJfUEVSTVMJCTAKKyNkZWZpbmUgTV9GUl9QRVJNUwkJMHhmZgorI2RlZmluZSBWX0ZSX1BFUk1TKHgpCQkoKHgpIDw8IFNfRlJfUEVSTVMpCisjZGVmaW5lIEdfRlJfUEVSTVMoeCkJCSgoKCh4KSA+PiBTX0ZSX1BFUk1TKSkgJiBNX0ZSX1BFUk1TKQorCiBzdHJ1Y3QgdDNfbG9jYWxfaW52X3dyIHsKIAlzdHJ1Y3QgZndfcml3cmggd3JoOwkvKiAwICovCiAJdW5pb24gdDNfd3JpZCB3cmlkOwkvKiAxICovCiAJX19iZTMyIHN0YWc7CQkvKiAyICovCi0JX19iZTMyIHJlc2VydmVkMzsKKwlfX2JlMzIgcmVzZXJ2ZWQ7CiB9OwogCiBzdHJ1Y3QgdDNfcmRtYV93cml0ZV93ciB7CkBAIC0xOTMsNyArMjQyLDggQEAKIAlzdHJ1Y3QgZndfcml3cmggd3JoOwkvKiAwICovCiAJdW5pb24gdDNfd3JpZCB3cmlkOwkvKiAxICovCiAJdTggcmRtYW9wOwkJLyogMiAqLwotCXU4IHJlc2VydmVkWzNdOworCXU4IGxvY2FsX2ludjsKKwl1OCByZXNlcnZlZFsyXTsKIAlfX2JlMzIgcmVtX3N0YWc7CiAJX19iZTY0IHJlbV90bzsJCS8qIDMgKi8KIAlfX2JlMzIgbG9jYWxfc3RhZzsJLyogNCAqLwpAQCAtMjAxLDE4ICsyNTEsNiBAQAogCV9fYmU2NCBsb2NhbF90bzsJLyogNSAqLwogfTsKIAotZW51bSB0M19hZGRyX3R5cGUgewotCVQzX1ZBX0JBU0VEX1RPID0gMHgwLAotCVQzX1pFUk9fQkFTRURfVE8gPSAweDEKLX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOwotCi1lbnVtIHQzX21lbV9wZXJtcyB7Ci0JVDNfTUVNX0FDQ0VTU19MT0NBTF9SRUFEID0gMHgxLAotCVQzX01FTV9BQ0NFU1NfTE9DQUxfV1JJVEUgPSAweDIsCi0JVDNfTUVNX0FDQ0VTU19SRU1fUkVBRCA9IDB4NCwKLQlUM19NRU1fQUNDRVNTX1JFTV9XUklURSA9IDB4OAotfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7Ci0KIHN0cnVjdCB0M19iaW5kX213X3dyIHsKIAlzdHJ1Y3QgZndfcml3cmggd3JoOwkvKiAwICovCiAJdW5pb24gdDNfd3JpZCB3cmlkOwkvKiAxICovCkBAIC0zMzYsNiArMzc0LDExIEBACiAJX19iZTY0IGdlbmJpdDsKIH07CiAKK3N0cnVjdCB0M193cV9pbl9lcnIgeworCXU2NCBmbGl0WzEzXTsKKwl1NjQgZXJyOworfTsKKwogZW51bSByZG1hX2luaXRfd3JfZmxhZ3MgewogCU1QQV9JTklUSUFUT1IgPSAoMTw8MCksCiAJUFJJVl9RUCA9ICgxPDwxKSwKQEAgLTM0NiwxMyArMzg5LDE2IEBACiAJc3RydWN0IHQzX3JkbWFfd3JpdGVfd3Igd3JpdGU7CiAJc3RydWN0IHQzX3JkbWFfcmVhZF93ciByZWFkOwogCXN0cnVjdCB0M19yZWNlaXZlX3dyIHJlY3Y7CisJc3RydWN0IHQzX2Zhc3RyZWdfd3IgZmFzdHJlZzsKKwlzdHJ1Y3QgdDNfcGJsX2ZyYWcgcGJsX2ZyYWc7CiAJc3RydWN0IHQzX2xvY2FsX2ludl93ciBsb2NhbF9pbnY7CiAJc3RydWN0IHQzX2JpbmRfbXdfd3IgYmluZDsKIAlzdHJ1Y3QgdDNfYnlwYXNzX3dyIGJ5cGFzczsKIAlzdHJ1Y3QgdDNfcmRtYV9pbml0X3dyIGluaXQ7CiAJc3RydWN0IHQzX21vZGlmeV9xcF93ciBxcF9tb2Q7CiAJc3RydWN0IHQzX2dlbmJpdCBnZW5iaXQ7Ci0JdTY0IGZsaXRbMTZdOworCXN0cnVjdCB0M193cV9pbl9lcnIgd3FfaW5fZXJyOworCV9fYmU2NCBmbGl0WzE2XTsKIH07CiAKICNkZWZpbmUgVDNfU1FfQ1FFX0ZMSVQJICAxMwpAQCAtMzY2LDEyICs0MTIsMTggQEAKIAlyZXR1cm4gR19GV19SSVdSX09QKGJlMzJfdG9fY3B1KHdxZS0+b3Bfc2VvcF9mbGFncykpOwogfQogCitlbnVtIHQzX3dyX2hkcl9iaXRzIHsKKwlUM19FT1AgPSAxLAorCVQzX1NPUCA9IDIsCisJVDNfU09QRU9QID0gVDNfRU9QfFQzX1NPUCwKK307CisKIHN0YXRpYyBpbmxpbmUgdm9pZCBidWlsZF9md19yaXdyaChzdHJ1Y3QgZndfcml3cmggKndxZSwgZW51bSB0M193cl9vcGNvZGUgb3AsCiAJCQkJICBlbnVtIHQzX3dyX2ZsYWdzIGZsYWdzLCB1OCBnZW5iaXQsIHUzMiB0aWQsCi0JCQkJICB1OCBsZW4pCisJCQkJICB1OCBsZW4sIHU4IHNvcGVvcCkKIHsKIAl3cWUtPm9wX3Nlb3BfZmxhZ3MgPSBjcHVfdG9fYmUzMihWX0ZXX1JJV1JfT1Aob3ApIHwKLQkJCQkJIFZfRldfUklXUl9TT1BFT1AoTV9GV19SSVdSX1NPUEVPUCkgfAorCQkJCQkgVl9GV19SSVdSX1NPUEVPUChzb3Blb3ApIHwKIAkJCQkJIFZfRldfUklXUl9GTEFHUyhmbGFncykpOwogCXdtYigpOwogCXdxZS0+Z2VuX3RpZF9sZW4gPSBjcHVfdG9fYmUzMihWX0ZXX1JJV1JfR0VOKGdlbmJpdCkgfApAQCAtNDA0LDYgKzQ1Niw3IEBACiB9OwogCiBlbnVtIHRwdF9tZW1fcGVybSB7CisJVFBUX01XX0JJTkQgPSAweDEwLAogCVRQVF9MT0NBTF9SRUFEID0gMHg4LAogCVRQVF9MT0NBTF9XUklURSA9IDB4NCwKIAlUUFRfUkVNT1RFX1JFQUQgPSAweDIsCkBAIC02MTUsNiArNjY4LDExIEBACiAJaW50CQkJc2lnbmFsZWQ7CiB9OwogCitzdHJ1Y3QgdDNfc3dycSB7CisJX191NjQJCQl3cl9pZDsKKwlfX3UzMgkJCXBibF9hZGRyOworfTsKKwogLyoKICAqIEEgVDMgV1EgaW1wbGVtZW50cyBib3RoIHRoZSBTUSBhbmQgUlEuCiAgKi8KQEAgLTYzMSwxNCArNjg5LDE1IEBACiAJdTMyIHNxX3dwdHI7CQkJLyogc3Ffd3B0ciAtIHNxX3JwdHIgPT0gY291bnQgb2YgKi8KIAl1MzIgc3FfcnB0cjsJCQkvKiBwZW5kaW5nIHdycyAqLwogCXUzMiBzcV9zaXplX2xvZzI7CQkvKiBzcSBzaXplICovCi0JdTY0ICpycTsJCQkvKiBTVyBSUSAoaG9sZHMgY29uc3VtZXIgd3JfaWRzICovCisJc3RydWN0IHQzX3N3cnEgKnJxOwkJLyogU1cgUlEgKGhvbGRzIGNvbnN1bWVyIHdyX2lkcyAqLwogCXUzMiBycV93cHRyOwkJCS8qIHJxX3dwdHIgLSBycV9ycHRyID09IGNvdW50IG9mICovCiAJdTMyIHJxX3JwdHI7CQkJLyogcGVuZGluZyB3cnMgKi8KLQl1NjQgKnJxX29sZGVzdF93cjsJCS8qIG9sZGVzdCB3ciBvbiB0aGUgU1cgUlEgKi8KKwlzdHJ1Y3QgdDNfc3dycSAqcnFfb2xkZXN0X3dyOwkvKiBvbGRlc3Qgd3Igb24gdGhlIFNXIFJRICovCiAJdTMyIHJxX3NpemVfbG9nMjsJCS8qIHJxIHNpemUgKi8KIAl1MzIgcnFfYWRkcjsJCQkvKiBycSBhZGFwdGVyIGFkZHJlc3MgKi8KIAl2b2lkIF9faW9tZW0gKmRvb3JiZWxsOwkJLyoga2VybmVsIGRiICovCiAJdTY0IHVkYjsJCQkvKiB1c2VyIGRiIGlmIGFueSAqLworCXN0cnVjdCBjeGlvX3JkZXYgKnJkZXY7CiB9OwogCiBzdHJ1Y3QgdDNfY3EgewpAQCAtNjU5LDcgKzcxOCw3IEBACiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBjeGlvX3NldF93cV9pbl9lcnJvcihzdHJ1Y3QgdDNfd3EgKndxKQogewotCXdxLT5xdWV1ZS0+ZmxpdFsxM10gPSAxOworCXdxLT5xdWV1ZS0+d3FfaW5fZXJyLmVyciA9IDE7CiB9CiAKIHN0YXRpYyBpbmxpbmUgc3RydWN0IHQzX2NxZSAqY3hpb19uZXh0X2h3X2NxZShzdHJ1Y3QgdDNfY3EgKmNxKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2IzL2l3Y2guYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9jeGdiMy9pd2NoLmMKaW5kZXggNzE1NTRlYS4uNDQ4OWM4OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2IzL2l3Y2guYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvaXdjaC5jCkBAIC03MSwxOCArNzEsMTYgQEAKIAlpZHJfaW5pdCgmcm5pY3AtPm1taWRyKTsKIAlzcGluX2xvY2tfaW5pdCgmcm5pY3AtPmxvY2spOwogCi0Jcm5pY3AtPmF0dHIudmVuZG9yX2lkID0gMHgxNjg7Ci0Jcm5pY3AtPmF0dHIudmVuZG9yX3BhcnRfaWQgPSA3OwogCXJuaWNwLT5hdHRyLm1heF9xcHMgPSBUM19NQVhfTlVNX1FQIC0gMzI7Ci0Jcm5pY3AtPmF0dHIubWF4X3dycyA9ICgxVUwgPDwgMjQpIC0gMTsKKwlybmljcC0+YXR0ci5tYXhfd3JzID0gVDNfTUFYX1FQX0RFUFRIOwogCXJuaWNwLT5hdHRyLm1heF9zZ2VfcGVyX3dyID0gVDNfTUFYX1NHRTsKIAlybmljcC0+YXR0ci5tYXhfc2dlX3Blcl9yZG1hX3dyaXRlX3dyID0gVDNfTUFYX1NHRTsKIAlybmljcC0+YXR0ci5tYXhfY3FzID0gVDNfTUFYX05VTV9DUSAtIDE7Ci0Jcm5pY3AtPmF0dHIubWF4X2NxZXNfcGVyX2NxID0gKDFVTCA8PCAyNCkgLSAxOworCXJuaWNwLT5hdHRyLm1heF9jcWVzX3Blcl9jcSA9IFQzX01BWF9DUV9ERVBUSDsKIAlybmljcC0+YXR0ci5tYXhfbWVtX3JlZ3MgPSBjeGlvX251bV9zdGFncygmcm5pY3AtPnJkZXYpOwogCXJuaWNwLT5hdHRyLm1heF9waHlzX2J1Zl9lbnRyaWVzID0gVDNfTUFYX1BCTF9TSVpFOwogCXJuaWNwLT5hdHRyLm1heF9wZHMgPSBUM19NQVhfTlVNX1BEIC0gMTsKLQlybmljcC0+YXR0ci5tZW1fcGdzaXplc19iaXRtYXNrID0gMHg3RkZGOwkvKiA0S0ItMTI4TUIgKi8KKwlybmljcC0+YXR0ci5tZW1fcGdzaXplc19iaXRtYXNrID0gVDNfUEFHRVNJWkVfTUFTSzsKIAlybmljcC0+YXR0ci5tYXhfbXJfc2l6ZSA9IFQzX01BWF9NUl9TSVpFOwogCXJuaWNwLT5hdHRyLmNhbl9yZXNpemVfd3EgPSAwOwogCXJuaWNwLT5hdHRyLm1heF9yZG1hX3JlYWRzX3Blcl9xcCA9IDg7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvaXdjaC5oIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2IzL2l3Y2guaAppbmRleCBkMjQwOWE1Li4zNzczNDUzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvaXdjaC5oCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9jeGdiMy9pd2NoLmgKQEAgLTQ4LDggKzQ4LDYgQEAKIHN0cnVjdCBpd2NoX21yOwogCiBzdHJ1Y3QgaXdjaF9ybmljX2F0dHJpYnV0ZXMgewotCXUzMiB2ZW5kb3JfaWQ7Ci0JdTMyIHZlbmRvcl9wYXJ0X2lkOwogCXUzMiBtYXhfcXBzOwogCXUzMiBtYXhfd3JzOwkJCQkvKiBNYXggZm9yIGFueSBTUS9SUSAqLwogCXUzMiBtYXhfc2dlX3Blcl93cjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9jeGdiMy9pd2NoX2NxLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvaXdjaF9jcS5jCmluZGV4IDRlZThjY2QuLmNmNTQ3NGEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9jeGdiMy9pd2NoX2NxLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2IzL2l3Y2hfY3EuYwpAQCAtODEsNiArODEsNyBAQAogCXdjLT53cl9pZCA9IGNvb2tpZTsKIAl3Yy0+cXAgPSAmcWhwLT5pYnFwOwogCXdjLT52ZW5kb3JfZXJyID0gQ1FFX1NUQVRVUyhjcWUpOworCXdjLT53Y19mbGFncyA9IDA7CiAKIAlQREJHKCIlcyBxcGlkIDB4JXggdHlwZSAlZCBvcGNvZGUgJWQgc3RhdHVzIDB4JXggd3JpZCBoaSAweCV4ICIKIAkgICAgICJsbyAweCV4IGNvb2tpZSAweCVsbHhcbiIsIF9fZnVuY19fLApAQCAtOTQsNiArOTUsMTEgQEAKIAkJZWxzZQogCQkJd2MtPmJ5dGVfbGVuID0gMDsKIAkJd2MtPm9wY29kZSA9IElCX1dDX1JFQ1Y7CisJCWlmIChDUUVfT1BDT0RFKGNxZSkgPT0gVDNfU0VORF9XSVRIX0lOViB8fAorCQkgICAgQ1FFX09QQ09ERShjcWUpID09IFQzX1NFTkRfV0lUSF9TRV9JTlYpIHsKKwkJCXdjLT5leC5pbnZhbGlkYXRlX3JrZXkgPSBDUUVfV1JJRF9TVEFHKGNxZSk7CisJCQl3Yy0+d2NfZmxhZ3MgfD0gSUJfV0NfV0lUSF9JTlZBTElEQVRFOworCQl9CiAJfSBlbHNlIHsKIAkJc3dpdGNoIChDUUVfT1BDT0RFKGNxZSkpIHsKIAkJY2FzZSBUM19SRE1BX1dSSVRFOgpAQCAtMTA1LDE3ICsxMTEsMjAgQEAKIAkJCWJyZWFrOwogCQljYXNlIFQzX1NFTkQ6CiAJCWNhc2UgVDNfU0VORF9XSVRIX1NFOgorCQljYXNlIFQzX1NFTkRfV0lUSF9JTlY6CisJCWNhc2UgVDNfU0VORF9XSVRIX1NFX0lOVjoKIAkJCXdjLT5vcGNvZGUgPSBJQl9XQ19TRU5EOwogCQkJYnJlYWs7CiAJCWNhc2UgVDNfQklORF9NVzoKIAkJCXdjLT5vcGNvZGUgPSBJQl9XQ19CSU5EX01XOwogCQkJYnJlYWs7CiAKLQkJLyogdGhlc2UgYXJlbid0IHN1cHBvcnRlZCB5ZXQgKi8KLQkJY2FzZSBUM19TRU5EX1dJVEhfSU5WOgotCQljYXNlIFQzX1NFTkRfV0lUSF9TRV9JTlY6CiAJCWNhc2UgVDNfTE9DQUxfSU5WOgorCQkJd2MtPm9wY29kZSA9IElCX1dDX0xPQ0FMX0lOVjsKKwkJCWJyZWFrOwogCQljYXNlIFQzX0ZBU1RfUkVHSVNURVI6CisJCQl3Yy0+b3Bjb2RlID0gSUJfV0NfRkFTVF9SRUdfTVI7CisJCQlicmVhazsKIAkJZGVmYXVsdDoKIAkJCXByaW50ayhLRVJOX0VSUiBNT0QgIlVuZXhwZWN0ZWQgb3Bjb2RlICVkICIKIAkJCSAgICAgICAiaW4gdGhlIENRRSByZWNlaXZlZCBmb3IgUVBJRD0weCUweFxuIiwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9jeGdiMy9pd2NoX3Byb3ZpZGVyLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvaXdjaF9wcm92aWRlci5jCmluZGV4IDg5MzQxNzguLmI4OTY0MGEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9jeGdiMy9pd2NoX3Byb3ZpZGVyLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2IzL2l3Y2hfcHJvdmlkZXIuYwpAQCAtNTYsNiArNTYsNyBAQAogI2luY2x1ZGUgIml3Y2hfcHJvdmlkZXIuaCIKICNpbmNsdWRlICJpd2NoX2NtLmgiCiAjaW5jbHVkZSAiaXdjaF91c2VyLmgiCisjaW5jbHVkZSAiY29tbW9uLmgiCiAKIHN0YXRpYyBpbnQgaXdjaF9tb2RpZnlfcG9ydChzdHJ1Y3QgaWJfZGV2aWNlICppYmRldiwKIAkJCSAgICB1OCBwb3J0LCBpbnQgcG9ydF9tb2RpZnlfbWFzaywKQEAgLTc0Nyw2ICs3NDgsNyBAQAogCW1ocC0+YXR0ci50eXBlID0gVFBUX01XOwogCW1ocC0+YXR0ci5zdGFnID0gc3RhZzsKIAltbWlkID0gKHN0YWcpID4+IDg7CisJbWhwLT5pYm13LnJrZXkgPSBzdGFnOwogCWluc2VydF9oYW5kbGUocmhwLCAmcmhwLT5tbWlkciwgbWhwLCBtbWlkKTsKIAlQREJHKCIlcyBtbWlkIDB4JXggbWhwICVwIHN0YWcgMHgleFxuIiwgX19mdW5jX18sIG1taWQsIG1ocCwgc3RhZyk7CiAJcmV0dXJuICYobWhwLT5pYm13KTsKQEAgLTc2OCw2ICs3NzAsNjggQEAKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIHN0cnVjdCBpYl9tciAqaXdjaF9hbGxvY19mYXN0X3JlZ19tcihzdHJ1Y3QgaWJfcGQgKnBkLCBpbnQgcGJsX2RlcHRoKQoreworCXN0cnVjdCBpd2NoX2RldiAqcmhwOworCXN0cnVjdCBpd2NoX3BkICpwaHA7CisJc3RydWN0IGl3Y2hfbXIgKm1ocDsKKwl1MzIgbW1pZDsKKwl1MzIgc3RhZyA9IDA7CisJaW50IHJldDsKKworCXBocCA9IHRvX2l3Y2hfcGQocGQpOworCXJocCA9IHBocC0+cmhwOworCW1ocCA9IGt6YWxsb2Moc2l6ZW9mKCptaHApLCBHRlBfS0VSTkVMKTsKKwlpZiAoIW1ocCkKKwkJcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7CisKKwltaHAtPnJocCA9IHJocDsKKwlyZXQgPSBpd2NoX2FsbG9jX3BibChtaHAsIHBibF9kZXB0aCk7CisJaWYgKHJldCkgeworCQlrZnJlZShtaHApOworCQlyZXR1cm4gRVJSX1BUUihyZXQpOworCX0KKwltaHAtPmF0dHIucGJsX3NpemUgPSBwYmxfZGVwdGg7CisJcmV0ID0gY3hpb19hbGxvY2F0ZV9zdGFnKCZyaHAtPnJkZXYsICZzdGFnLCBwaHAtPnBkaWQsCisJCQkJIG1ocC0+YXR0ci5wYmxfc2l6ZSwgbWhwLT5hdHRyLnBibF9hZGRyKTsKKwlpZiAocmV0KSB7CisJCWl3Y2hfZnJlZV9wYmwobWhwKTsKKwkJa2ZyZWUobWhwKTsKKwkJcmV0dXJuIEVSUl9QVFIocmV0KTsKKwl9CisJbWhwLT5hdHRyLnBkaWQgPSBwaHAtPnBkaWQ7CisJbWhwLT5hdHRyLnR5cGUgPSBUUFRfTk9OX1NIQVJFRF9NUjsKKwltaHAtPmF0dHIuc3RhZyA9IHN0YWc7CisJbWhwLT5hdHRyLnN0YXRlID0gMTsKKwltbWlkID0gKHN0YWcpID4+IDg7CisJbWhwLT5pYm1yLnJrZXkgPSBtaHAtPmlibXIubGtleSA9IHN0YWc7CisJaW5zZXJ0X2hhbmRsZShyaHAsICZyaHAtPm1taWRyLCBtaHAsIG1taWQpOworCVBEQkcoIiVzIG1taWQgMHgleCBtaHAgJXAgc3RhZyAweCV4XG4iLCBfX2Z1bmNfXywgbW1pZCwgbWhwLCBzdGFnKTsKKwlyZXR1cm4gJihtaHAtPmlibXIpOworfQorCitzdGF0aWMgc3RydWN0IGliX2Zhc3RfcmVnX3BhZ2VfbGlzdCAqaXdjaF9hbGxvY19mYXN0cmVnX3BibCgKKwkJCQkJc3RydWN0IGliX2RldmljZSAqZGV2aWNlLAorCQkJCQlpbnQgcGFnZV9saXN0X2xlbikKK3sKKwlzdHJ1Y3QgaWJfZmFzdF9yZWdfcGFnZV9saXN0ICpwYWdlX2xpc3Q7CisKKwlwYWdlX2xpc3QgPSBrbWFsbG9jKHNpemVvZiAqcGFnZV9saXN0ICsgcGFnZV9saXN0X2xlbiAqIHNpemVvZih1NjQpLAorCQkJICAgIEdGUF9LRVJORUwpOworCWlmICghcGFnZV9saXN0KQorCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsKKworCXBhZ2VfbGlzdC0+cGFnZV9saXN0ID0gKHU2NCAqKShwYWdlX2xpc3QgKyAxKTsKKwlwYWdlX2xpc3QtPm1heF9wYWdlX2xpc3RfbGVuID0gcGFnZV9saXN0X2xlbjsKKworCXJldHVybiBwYWdlX2xpc3Q7Cit9CisKK3N0YXRpYyB2b2lkIGl3Y2hfZnJlZV9mYXN0cmVnX3BibChzdHJ1Y3QgaWJfZmFzdF9yZWdfcGFnZV9saXN0ICpwYWdlX2xpc3QpCit7CisJa2ZyZWUocGFnZV9saXN0KTsKK30KKwogc3RhdGljIGludCBpd2NoX2Rlc3Ryb3lfcXAoc3RydWN0IGliX3FwICppYl9xcCkKIHsKIAlzdHJ1Y3QgaXdjaF9kZXYgKnJocDsKQEAgLTg0Myw2ICs5MDcsMTUgQEAKIAkgKi8KIAlzcXNpemUgPSByb3VuZHVwX3Bvd19vZl90d28oYXR0cnMtPmNhcC5tYXhfc2VuZF93cik7CiAJd3FzaXplID0gcm91bmR1cF9wb3dfb2ZfdHdvKHJxc2l6ZSArIHNxc2l6ZSk7CisKKwkvKgorCSAqIEtlcm5lbCB1c2VycyBuZWVkIG1vcmUgd3Egc3BhY2UgZm9yIGZhc3RyZWcgV1JzIHdoaWNoIGNhbiB0YWtlCisJICogMiBXUiBmcmFnbWVudHMuCisJICovCisJdWNvbnRleHQgPSBwZC0+dW9iamVjdCA/IHRvX2l3Y2hfdWNvbnRleHQocGQtPnVvYmplY3QtPmNvbnRleHQpIDogTlVMTDsKKwlpZiAoIXVjb250ZXh0ICYmIHdxc2l6ZSA8IChycXNpemUgKyAoMiAqIHNxc2l6ZSkpKQorCQl3cXNpemUgPSByb3VuZHVwX3Bvd19vZl90d28ocnFzaXplICsKKwkJCQlyb3VuZHVwX3Bvd19vZl90d28oYXR0cnMtPmNhcC5tYXhfc2VuZF93ciAqIDIpKTsKIAlQREJHKCIlcyB3cXNpemUgJWQgc3FzaXplICVkIHJxc2l6ZSAlZFxuIiwgX19mdW5jX18sCiAJICAgICB3cXNpemUsIHNxc2l6ZSwgcnFzaXplKTsKIAlxaHAgPSBremFsbG9jKHNpemVvZigqcWhwKSwgR0ZQX0tFUk5FTCk7CkBAIC04NTEsNyArOTI0LDYgQEAKIAlxaHAtPndxLnNpemVfbG9nMiA9IGlsb2cyKHdxc2l6ZSk7CiAJcWhwLT53cS5ycV9zaXplX2xvZzIgPSBpbG9nMihycXNpemUpOwogCXFocC0+d3Euc3Ffc2l6ZV9sb2cyID0gaWxvZzIoc3FzaXplKTsKLQl1Y29udGV4dCA9IHBkLT51b2JqZWN0ID8gdG9faXdjaF91Y29udGV4dChwZC0+dW9iamVjdC0+Y29udGV4dCkgOiBOVUxMOwogCWlmIChjeGlvX2NyZWF0ZV9xcCgmcmhwLT5yZGV2LCAhdWRhdGEsICZxaHAtPndxLAogCQkJICAgdWNvbnRleHQgPyAmdWNvbnRleHQtPnVjdHggOiAmcmhwLT5yZGV2LnVjdHgpKSB7CiAJCWtmcmVlKHFocCk7CkBAIC05MzUsMTAgKzEwMDcsMTAgQEAKIAlxaHAtPmlicXAucXBfbnVtID0gcWhwLT53cS5xcGlkOwogCWluaXRfdGltZXIoJihxaHAtPnRpbWVyKSk7CiAJUERCRygiJXMgc3FfbnVtX2VudHJpZXMgJWQsIHJxX251bV9lbnRyaWVzICVkICIKLQkgICAgICJxcGlkIDB4JTB4IHFocCAlcCBkbWFfYWRkciAweCVsbHggc2l6ZSAlZFxuIiwKKwkgICAgICJxcGlkIDB4JTB4IHFocCAlcCBkbWFfYWRkciAweCVsbHggc2l6ZSAlZCBycV9hZGRyIDB4JXhcbiIsCiAJICAgICBfX2Z1bmNfXywgcWhwLT5hdHRyLnNxX251bV9lbnRyaWVzLCBxaHAtPmF0dHIucnFfbnVtX2VudHJpZXMsCiAJICAgICBxaHAtPndxLnFwaWQsIHFocCwgKHVuc2lnbmVkIGxvbmcgbG9uZykgcWhwLT53cS5kbWFfYWRkciwKLQkgICAgIDEgPDwgcWhwLT53cS5zaXplX2xvZzIpOworCSAgICAgMSA8PCBxaHAtPndxLnNpemVfbG9nMiwgcWhwLT53cS5ycV9hZGRyKTsKIAlyZXR1cm4gJnFocC0+aWJxcDsKIH0KIApAQCAtMTAyMyw2ICsxMDk1LDI5IEBACiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyB1NjQgZndfdmVyc19zdHJpbmdfdG9fdTY0KHN0cnVjdCBpd2NoX2RldiAqaXdjaF9kZXYpCit7CisJc3RydWN0IGV0aHRvb2xfZHJ2aW5mbyBpbmZvOworCXN0cnVjdCBuZXRfZGV2aWNlICpsbGRldiA9IGl3Y2hfZGV2LT5yZGV2LnQzY2Rldl9wLT5sbGRldjsKKwljaGFyICpjcCwgKm5leHQ7CisJdW5zaWduZWQgZndfbWFqLCBmd19taW4sIGZ3X21pYzsKKworCXJ0bmxfbG9jaygpOworCWxsZGV2LT5ldGh0b29sX29wcy0+Z2V0X2RydmluZm8obGxkZXYsICZpbmZvKTsKKwlydG5sX3VubG9jaygpOworCisJbmV4dCA9IGluZm8uZndfdmVyc2lvbiArIDE7CisJY3AgPSBzdHJzZXAoJm5leHQsICIuIik7CisJc3NjYW5mKGNwLCAiJWkiLCAmZndfbWFqKTsKKwljcCA9IHN0cnNlcCgmbmV4dCwgIi4iKTsKKwlzc2NhbmYoY3AsICIlaSIsICZmd19taW4pOworCWNwID0gc3Ryc2VwKCZuZXh0LCAiLiIpOworCXNzY2FuZihjcCwgIiVpIiwgJmZ3X21pYyk7CisKKwlyZXR1cm4gKCgodTY0KWZ3X21haiAmIDB4ZmZmZikgPDwgMzIpIHwgKChmd19taW4gJiAweGZmZmYpIDw8IDE2KSB8CisJICAgICAgIChmd19taWMgJiAweGZmZmYpOworfQorCiBzdGF0aWMgaW50IGl3Y2hfcXVlcnlfZGV2aWNlKHN0cnVjdCBpYl9kZXZpY2UgKmliZGV2LAogCQkJICAgICBzdHJ1Y3QgaWJfZGV2aWNlX2F0dHIgKnByb3BzKQogewpAQCAtMTAzMyw3ICsxMTI4LDEwIEBACiAJZGV2ID0gdG9faXdjaF9kZXYoaWJkZXYpOwogCW1lbXNldChwcm9wcywgMCwgc2l6ZW9mICpwcm9wcyk7CiAJbWVtY3B5KCZwcm9wcy0+c3lzX2ltYWdlX2d1aWQsIGRldi0+cmRldi50M2NkZXZfcC0+bGxkZXYtPmRldl9hZGRyLCA2KTsKKwlwcm9wcy0+aHdfdmVyID0gZGV2LT5yZGV2LnQzY2Rldl9wLT50eXBlOworCXByb3BzLT5md192ZXIgPSBmd192ZXJzX3N0cmluZ190b191NjQoZGV2KTsKIAlwcm9wcy0+ZGV2aWNlX2NhcF9mbGFncyA9IGRldi0+ZGV2aWNlX2NhcF9mbGFnczsKKwlwcm9wcy0+cGFnZV9zaXplX2NhcCA9IGRldi0+YXR0ci5tZW1fcGdzaXplc19iaXRtYXNrOwogCXByb3BzLT52ZW5kb3JfaWQgPSAodTMyKWRldi0+cmRldi5ybmljX2luZm8ucGRldi0+dmVuZG9yOwogCXByb3BzLT52ZW5kb3JfcGFydF9pZCA9ICh1MzIpZGV2LT5yZGV2LnJuaWNfaW5mby5wZGV2LT5kZXZpY2U7CiAJcHJvcHMtPm1heF9tcl9zaXplID0gZGV2LT5hdHRyLm1heF9tcl9zaXplOwpAQCAtMTA0OCw2ICsxMTQ2LDcgQEAKIAlwcm9wcy0+bWF4X21yID0gZGV2LT5hdHRyLm1heF9tZW1fcmVnczsKIAlwcm9wcy0+bWF4X3BkID0gZGV2LT5hdHRyLm1heF9wZHM7CiAJcHJvcHMtPmxvY2FsX2NhX2Fja19kZWxheSA9IDA7CisJcHJvcHMtPm1heF9mYXN0X3JlZ19wYWdlX2xpc3RfbGVuID0gVDNfTUFYX0ZBU1RSRUdfREVQVEg7CiAKIAlyZXR1cm4gMDsKIH0KQEAgLTEwODgsNiArMTE4NywyOCBAQAogCXJldHVybiBzcHJpbnRmKGJ1ZiwgIiVkXG4iLCBpd2NoX2Rldi0+cmRldi50M2NkZXZfcC0+dHlwZSk7CiB9CiAKK3N0YXRpYyBpbnQgZndfc3VwcG9ydHNfZmFzdHJlZyhzdHJ1Y3QgaXdjaF9kZXYgKml3Y2hfZGV2KQoreworCXN0cnVjdCBldGh0b29sX2RydmluZm8gaW5mbzsKKwlzdHJ1Y3QgbmV0X2RldmljZSAqbGxkZXYgPSBpd2NoX2Rldi0+cmRldi50M2NkZXZfcC0+bGxkZXY7CisJY2hhciAqY3AsICpuZXh0OworCXVuc2lnbmVkIGZ3X21haiwgZndfbWluOworCisJcnRubF9sb2NrKCk7CisJbGxkZXYtPmV0aHRvb2xfb3BzLT5nZXRfZHJ2aW5mbyhsbGRldiwgJmluZm8pOworCXJ0bmxfdW5sb2NrKCk7CisKKwluZXh0ID0gaW5mby5md192ZXJzaW9uKzE7CisJY3AgPSBzdHJzZXAoJm5leHQsICIuIik7CisJc3NjYW5mKGNwLCAiJWkiLCAmZndfbWFqKTsKKwljcCA9IHN0cnNlcCgmbmV4dCwgIi4iKTsKKwlzc2NhbmYoY3AsICIlaSIsICZmd19taW4pOworCisJUERCRygiJXMgbWFqICV1IG1pbiAldVxuIiwgX19mdW5jX18sIGZ3X21haiwgZndfbWluKTsKKworCXJldHVybiBmd19tYWogPiA2IHx8IChmd19tYWogPT0gNiAmJiBmd19taW4gPiAwKTsKK30KKwogc3RhdGljIHNzaXplX3Qgc2hvd19md192ZXIoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0ciwgY2hhciAqYnVmKQogewogCXN0cnVjdCBpd2NoX2RldiAqaXdjaF9kZXYgPSBjb250YWluZXJfb2YoZGV2LCBzdHJ1Y3QgaXdjaF9kZXYsCkBAIC0xMDk2LDcgKzEyMTcsOSBAQAogCXN0cnVjdCBuZXRfZGV2aWNlICpsbGRldiA9IGl3Y2hfZGV2LT5yZGV2LnQzY2Rldl9wLT5sbGRldjsKIAogCVBEQkcoIiVzIGRldiAweCVwXG4iLCBfX2Z1bmNfXywgZGV2KTsKKwlydG5sX2xvY2soKTsKIAlsbGRldi0+ZXRodG9vbF9vcHMtPmdldF9kcnZpbmZvKGxsZGV2LCAmaW5mbyk7CisJcnRubF91bmxvY2soKTsKIAlyZXR1cm4gc3ByaW50ZihidWYsICIlc1xuIiwgaW5mby5md192ZXJzaW9uKTsKIH0KIApAQCAtMTEwOSw3ICsxMjMyLDkgQEAKIAlzdHJ1Y3QgbmV0X2RldmljZSAqbGxkZXYgPSBpd2NoX2Rldi0+cmRldi50M2NkZXZfcC0+bGxkZXY7CiAKIAlQREJHKCIlcyBkZXYgMHglcFxuIiwgX19mdW5jX18sIGRldik7CisJcnRubF9sb2NrKCk7CiAJbGxkZXYtPmV0aHRvb2xfb3BzLT5nZXRfZHJ2aW5mbyhsbGRldiwgJmluZm8pOworCXJ0bmxfdW5sb2NrKCk7CiAJcmV0dXJuIHNwcmludGYoYnVmLCAiJXNcbiIsIGluZm8uZHJpdmVyKTsKIH0KIApAQCAtMTEyMyw2ICsxMjQ4LDYxIEBACiAJCSAgICAgICBpd2NoX2Rldi0+cmRldi5ybmljX2luZm8ucGRldi0+ZGV2aWNlKTsKIH0KIAorc3RhdGljIGludCBpd2NoX2dldF9taWIoc3RydWN0IGliX2RldmljZSAqaWJkZXYsCisJCQl1bmlvbiByZG1hX3Byb3RvY29sX3N0YXRzICpzdGF0cykKK3sKKwlzdHJ1Y3QgaXdjaF9kZXYgKmRldjsKKwlzdHJ1Y3QgdHBfbWliX3N0YXRzIG07CisJaW50IHJldDsKKworCVBEQkcoIiVzIGliZGV2ICVwXG4iLCBfX2Z1bmNfXywgaWJkZXYpOworCWRldiA9IHRvX2l3Y2hfZGV2KGliZGV2KTsKKwlyZXQgPSBkZXYtPnJkZXYudDNjZGV2X3AtPmN0bChkZXYtPnJkZXYudDNjZGV2X3AsIFJETUFfR0VUX01JQiwgJm0pOworCWlmIChyZXQpCisJCXJldHVybiAtRU5PU1lTOworCisJbWVtc2V0KHN0YXRzLCAwLCBzaXplb2YgKnN0YXRzKTsKKwlzdGF0cy0+aXcuaXBJblJlY2VpdmVzID0gKCh1NjQpIG0uaXBJblJlY2VpdmVfaGkgPDwgMzIpICsKKwkJCQltLmlwSW5SZWNlaXZlX2xvOworCXN0YXRzLT5pdy5pcEluSGRyRXJyb3JzID0gKCh1NjQpIG0uaXBJbkhkckVycm9yc19oaSA8PCAzMikgKworCQkJCSAgbS5pcEluSGRyRXJyb3JzX2xvOworCXN0YXRzLT5pdy5pcEluQWRkckVycm9ycyA9ICgodTY0KSBtLmlwSW5BZGRyRXJyb3JzX2hpIDw8IDMyKSArCisJCQkJICAgbS5pcEluQWRkckVycm9yc19sbzsKKwlzdGF0cy0+aXcuaXBJblVua25vd25Qcm90b3MgPSAoKHU2NCkgbS5pcEluVW5rbm93blByb3Rvc19oaSA8PCAzMikgKworCQkJCSAgICAgIG0uaXBJblVua25vd25Qcm90b3NfbG87CisJc3RhdHMtPml3LmlwSW5EaXNjYXJkcyA9ICgodTY0KSBtLmlwSW5EaXNjYXJkc19oaSA8PCAzMikgKworCQkJCSBtLmlwSW5EaXNjYXJkc19sbzsKKwlzdGF0cy0+aXcuaXBJbkRlbGl2ZXJzID0gKCh1NjQpIG0uaXBJbkRlbGl2ZXJzX2hpIDw8IDMyKSArCisJCQkJIG0uaXBJbkRlbGl2ZXJzX2xvOworCXN0YXRzLT5pdy5pcE91dFJlcXVlc3RzID0gKCh1NjQpIG0uaXBPdXRSZXF1ZXN0c19oaSA8PCAzMikgKworCQkJCSAgbS5pcE91dFJlcXVlc3RzX2xvOworCXN0YXRzLT5pdy5pcE91dERpc2NhcmRzID0gKCh1NjQpIG0uaXBPdXREaXNjYXJkc19oaSA8PCAzMikgKworCQkJCSAgbS5pcE91dERpc2NhcmRzX2xvOworCXN0YXRzLT5pdy5pcE91dE5vUm91dGVzID0gKCh1NjQpIG0uaXBPdXROb1JvdXRlc19oaSA8PCAzMikgKworCQkJCSAgbS5pcE91dE5vUm91dGVzX2xvOworCXN0YXRzLT5pdy5pcFJlYXNtVGltZW91dCA9ICh1NjQpIG0uaXBSZWFzbVRpbWVvdXQ7CisJc3RhdHMtPml3LmlwUmVhc21SZXFkcyA9ICh1NjQpIG0uaXBSZWFzbVJlcWRzOworCXN0YXRzLT5pdy5pcFJlYXNtT0tzID0gKHU2NCkgbS5pcFJlYXNtT0tzOworCXN0YXRzLT5pdy5pcFJlYXNtRmFpbHMgPSAodTY0KSBtLmlwUmVhc21GYWlsczsKKwlzdGF0cy0+aXcudGNwQWN0aXZlT3BlbnMgPSAodTY0KSBtLnRjcEFjdGl2ZU9wZW5zOworCXN0YXRzLT5pdy50Y3BQYXNzaXZlT3BlbnMgPSAodTY0KSBtLnRjcFBhc3NpdmVPcGVuczsKKwlzdGF0cy0+aXcudGNwQXR0ZW1wdEZhaWxzID0gKHU2NCkgbS50Y3BBdHRlbXB0RmFpbHM7CisJc3RhdHMtPml3LnRjcEVzdGFiUmVzZXRzID0gKHU2NCkgbS50Y3BFc3RhYlJlc2V0czsKKwlzdGF0cy0+aXcudGNwT3V0UnN0cyA9ICh1NjQpIG0udGNwT3V0UnN0czsKKwlzdGF0cy0+aXcudGNwQ3VyckVzdGFiID0gKHU2NCkgbS50Y3BDdXJyRXN0YWI7CisJc3RhdHMtPml3LnRjcEluU2VncyA9ICgodTY0KSBtLnRjcEluU2Vnc19oaSA8PCAzMikgKworCQkJICAgICAgbS50Y3BJblNlZ3NfbG87CisJc3RhdHMtPml3LnRjcE91dFNlZ3MgPSAoKHU2NCkgbS50Y3BPdXRTZWdzX2hpIDw8IDMyKSArCisJCQkgICAgICAgbS50Y3BPdXRTZWdzX2xvOworCXN0YXRzLT5pdy50Y3BSZXRyYW5zU2VncyA9ICgodTY0KSBtLnRjcFJldHJhbnNTZWdfaGkgPDwgMzIpICsKKwkJCQkgIG0udGNwUmV0cmFuc1NlZ19sbzsKKwlzdGF0cy0+aXcudGNwSW5FcnJzID0gKCh1NjQpIG0udGNwSW5FcnJzX2hpIDw8IDMyKSArCisJCQkgICAgICBtLnRjcEluRXJyc19sbzsKKwlzdGF0cy0+aXcudGNwUnRvTWluID0gKHU2NCkgbS50Y3BSdG9NaW47CisJc3RhdHMtPml3LnRjcFJ0b01heCA9ICh1NjQpIG0udGNwUnRvTWF4OworCXJldHVybiAwOworfQorCiBzdGF0aWMgREVWSUNFX0FUVFIoaHdfcmV2LCBTX0lSVUdPLCBzaG93X3JldiwgTlVMTCk7CiBzdGF0aWMgREVWSUNFX0FUVFIoZndfdmVyLCBTX0lSVUdPLCBzaG93X2Z3X3ZlciwgTlVMTCk7CiBzdGF0aWMgREVWSUNFX0FUVFIoaGNhX3R5cGUsIFNfSVJVR08sIHNob3dfaGNhLCBOVUxMKTsKQEAgLTExMzIsNyArMTMxMiw3IEBACiAJJmRldl9hdHRyX2h3X3JldiwKIAkmZGV2X2F0dHJfZndfdmVyLAogCSZkZXZfYXR0cl9oY2FfdHlwZSwKLQkmZGV2X2F0dHJfYm9hcmRfaWQKKwkmZGV2X2F0dHJfYm9hcmRfaWQsCiB9OwogCiBpbnQgaXdjaF9yZWdpc3Rlcl9kZXZpY2Uoc3RydWN0IGl3Y2hfZGV2ICpkZXYpCkBAIC0xMTQ1LDggKzEzMjUsMTIgQEAKIAltZW1zZXQoJmRldi0+aWJkZXYubm9kZV9ndWlkLCAwLCBzaXplb2YoZGV2LT5pYmRldi5ub2RlX2d1aWQpKTsKIAltZW1jcHkoJmRldi0+aWJkZXYubm9kZV9ndWlkLCBkZXYtPnJkZXYudDNjZGV2X3AtPmxsZGV2LT5kZXZfYWRkciwgNik7CiAJZGV2LT5pYmRldi5vd25lciA9IFRISVNfTU9EVUxFOwotCWRldi0+ZGV2aWNlX2NhcF9mbGFncyA9Ci0JICAgIChJQl9ERVZJQ0VfWkVST19TVEFHIHwgSUJfREVWSUNFX01FTV9XSU5ET1cpOworCWRldi0+ZGV2aWNlX2NhcF9mbGFncyA9IElCX0RFVklDRV9MT0NBTF9ETUFfTEtFWSB8IElCX0RFVklDRV9NRU1fV0lORE9XOworCisJLyogY3hnYjMgc3VwcG9ydHMgU1RhZyAwLiAqLworCWRldi0+aWJkZXYubG9jYWxfZG1hX2xrZXkgPSAwOworCWlmIChmd19zdXBwb3J0c19mYXN0cmVnKGRldikpCisJCWRldi0+ZGV2aWNlX2NhcF9mbGFncyB8PSBJQl9ERVZJQ0VfTUVNX01HVF9FWFRFTlNJT05TOwogCiAJZGV2LT5pYmRldi51dmVyYnNfY21kX21hc2sgPQogCSAgICAoMXVsbCA8PCBJQl9VU0VSX1ZFUkJTX0NNRF9HRVRfQ09OVEVYVCkgfApAQCAtMTE5OCwxNSArMTM4MiwxNiBAQAogCWRldi0+aWJkZXYuYWxsb2NfbXcgPSBpd2NoX2FsbG9jX213OwogCWRldi0+aWJkZXYuYmluZF9tdyA9IGl3Y2hfYmluZF9tdzsKIAlkZXYtPmliZGV2LmRlYWxsb2NfbXcgPSBpd2NoX2RlYWxsb2NfbXc7Ci0KKwlkZXYtPmliZGV2LmFsbG9jX2Zhc3RfcmVnX21yID0gaXdjaF9hbGxvY19mYXN0X3JlZ19tcjsKKwlkZXYtPmliZGV2LmFsbG9jX2Zhc3RfcmVnX3BhZ2VfbGlzdCA9IGl3Y2hfYWxsb2NfZmFzdHJlZ19wYmw7CisJZGV2LT5pYmRldi5mcmVlX2Zhc3RfcmVnX3BhZ2VfbGlzdCA9IGl3Y2hfZnJlZV9mYXN0cmVnX3BibDsKIAlkZXYtPmliZGV2LmF0dGFjaF9tY2FzdCA9IGl3Y2hfbXVsdGljYXN0X2F0dGFjaDsKIAlkZXYtPmliZGV2LmRldGFjaF9tY2FzdCA9IGl3Y2hfbXVsdGljYXN0X2RldGFjaDsKIAlkZXYtPmliZGV2LnByb2Nlc3NfbWFkID0gaXdjaF9wcm9jZXNzX21hZDsKLQogCWRldi0+aWJkZXYucmVxX25vdGlmeV9jcSA9IGl3Y2hfYXJtX2NxOwogCWRldi0+aWJkZXYucG9zdF9zZW5kID0gaXdjaF9wb3N0X3NlbmQ7CiAJZGV2LT5pYmRldi5wb3N0X3JlY3YgPSBpd2NoX3Bvc3RfcmVjZWl2ZTsKLQorCWRldi0+aWJkZXYuZ2V0X3Byb3RvY29sX3N0YXRzID0gaXdjaF9nZXRfbWliOwogCiAJZGV2LT5pYmRldi5pd2NtID0ga21hbGxvYyhzaXplb2Yoc3RydWN0IGl3X2NtX3ZlcmJzKSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCFkZXYtPmliZGV2Lml3Y20pCmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvaXdjaF9wcm92aWRlci5oIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2IzL2l3Y2hfcHJvdmlkZXIuaAppbmRleCA4MzYxNjNmLi5mNWNlY2EwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvaXdjaF9wcm92aWRlci5oCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9jeGdiMy9pd2NoX3Byb3ZpZGVyLmgKQEAgLTI5NiwxNCArMjk2LDYgQEAKIAkgICAgICAgVFBUX0xPQ0FMX1JFQUQ7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdTMyIGl3Y2hfaWJfdG9fbXdiaW5kX2FjY2VzcyhpbnQgYWNjKQotewotCXJldHVybiAoYWNjICYgSUJfQUNDRVNTX1JFTU9URV9XUklURSA/IFQzX01FTV9BQ0NFU1NfUkVNX1dSSVRFIDogMCkgfAotCSAgICAgICAoYWNjICYgSUJfQUNDRVNTX1JFTU9URV9SRUFEID8gVDNfTUVNX0FDQ0VTU19SRU1fUkVBRCA6IDApIHwKLQkgICAgICAgKGFjYyAmIElCX0FDQ0VTU19MT0NBTF9XUklURSA/IFQzX01FTV9BQ0NFU1NfTE9DQUxfV1JJVEUgOiAwKSB8Ci0JICAgICAgIFQzX01FTV9BQ0NFU1NfTE9DQUxfUkVBRDsKLX0KLQogZW51bSBpd2NoX21taWRfc3RhdGUgewogCUlXQ0hfU1RBR19TVEFURV9WQUxJRCwKIAlJV0NIX1NUQUdfU1RBVEVfSU5WQUxJRApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2IzL2l3Y2hfcXAuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9jeGdiMy9pd2NoX3FwLmMKaW5kZXggOTkyNjEzNy4uOWEzYmUzYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2IzL2l3Y2hfcXAuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvaXdjaF9xcC5jCkBAIC0zMywxMCArMzMsMTEgQEAKICNpbmNsdWRlICJpd2NoLmgiCiAjaW5jbHVkZSAiaXdjaF9jbS5oIgogI2luY2x1ZGUgImN4aW9faGFsLmgiCisjaW5jbHVkZSAiY3hpb19yZXNvdXJjZS5oIgogCiAjZGVmaW5lIE5PX1NVUFBPUlQgLTEKIAotc3RhdGljIGludCBpd2NoX2J1aWxkX3JkbWFfc2VuZCh1bmlvbiB0M193ciAqd3FlLCBzdHJ1Y3QgaWJfc2VuZF93ciAqd3IsCitzdGF0aWMgaW50IGJ1aWxkX3JkbWFfc2VuZCh1bmlvbiB0M193ciAqd3FlLCBzdHJ1Y3QgaWJfc2VuZF93ciAqd3IsCiAJCQkJdTggKiBmbGl0X2NudCkKIHsKIAlpbnQgaTsKQEAgLTQ0LDU5ICs0NSw0NCBAQAogCiAJc3dpdGNoICh3ci0+b3Bjb2RlKSB7CiAJY2FzZSBJQl9XUl9TRU5EOgotCWNhc2UgSUJfV1JfU0VORF9XSVRIX0lNTToKIAkJaWYgKHdyLT5zZW5kX2ZsYWdzICYgSUJfU0VORF9TT0xJQ0lURUQpCiAJCQl3cWUtPnNlbmQucmRtYW9wID0gVDNfU0VORF9XSVRIX1NFOwogCQllbHNlCiAJCQl3cWUtPnNlbmQucmRtYW9wID0gVDNfU0VORDsKIAkJd3FlLT5zZW5kLnJlbV9zdGFnID0gMDsKIAkJYnJlYWs7Ci0jaWYgMAkJCQkvKiBOb3QgY3VycmVudGx5IHN1cHBvcnRlZCAqLwotCWNhc2UgVFlQRV9TRU5EX0lOVkFMSURBVEU6Ci0JY2FzZSBUWVBFX1NFTkRfSU5WQUxJREFURV9JTU1FRElBVEU6Ci0JCXdxZS0+c2VuZC5yZG1hb3AgPSBUM19TRU5EX1dJVEhfSU5WOwotCQl3cWUtPnNlbmQucmVtX3N0YWcgPSBjcHVfdG9fYmUzMih3ci0+d3IucmRtYS5ya2V5KTsKKwljYXNlIElCX1dSX1NFTkRfV0lUSF9JTlY6CisJCWlmICh3ci0+c2VuZF9mbGFncyAmIElCX1NFTkRfU09MSUNJVEVEKQorCQkJd3FlLT5zZW5kLnJkbWFvcCA9IFQzX1NFTkRfV0lUSF9TRV9JTlY7CisJCWVsc2UKKwkJCXdxZS0+c2VuZC5yZG1hb3AgPSBUM19TRU5EX1dJVEhfSU5WOworCQl3cWUtPnNlbmQucmVtX3N0YWcgPSBjcHVfdG9fYmUzMih3ci0+ZXguaW52YWxpZGF0ZV9ya2V5KTsKIAkJYnJlYWs7Ci0JY2FzZSBUWVBFX1NFTkRfU0VfSU5WQUxJREFURToKLQkJd3FlLT5zZW5kLnJkbWFvcCA9IFQzX1NFTkRfV0lUSF9TRV9JTlY7Ci0JCXdxZS0+c2VuZC5yZW1fc3RhZyA9IGNwdV90b19iZTMyKHdyLT53ci5yZG1hLnJrZXkpOwotCQlicmVhazsKLSNlbmRpZgogCWRlZmF1bHQ6Ci0JCWJyZWFrOworCQlyZXR1cm4gLUVJTlZBTDsKIAl9CiAJaWYgKHdyLT5udW1fc2dlID4gVDNfTUFYX1NHRSkKIAkJcmV0dXJuIC1FSU5WQUw7CiAJd3FlLT5zZW5kLnJlc2VydmVkWzBdID0gMDsKIAl3cWUtPnNlbmQucmVzZXJ2ZWRbMV0gPSAwOwogCXdxZS0+c2VuZC5yZXNlcnZlZFsyXSA9IDA7Ci0JaWYgKHdyLT5vcGNvZGUgPT0gSUJfV1JfU0VORF9XSVRIX0lNTSkgewotCQlwbGVuID0gNDsKLQkJd3FlLT5zZW5kLnNnbFswXS5zdGFnID0gd3ItPmV4LmltbV9kYXRhOwotCQl3cWUtPnNlbmQuc2dsWzBdLmxlbiA9IF9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMCk7Ci0JCXdxZS0+c2VuZC5udW1fc2dsZSA9IF9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMCk7Ci0JCSpmbGl0X2NudCA9IDU7Ci0JfSBlbHNlIHsKLQkJcGxlbiA9IDA7Ci0JCWZvciAoaSA9IDA7IGkgPCB3ci0+bnVtX3NnZTsgaSsrKSB7Ci0JCQlpZiAoKHBsZW4gKyB3ci0+c2dfbGlzdFtpXS5sZW5ndGgpIDwgcGxlbikgewotCQkJCXJldHVybiAtRU1TR1NJWkU7Ci0JCQl9Ci0JCQlwbGVuICs9IHdyLT5zZ19saXN0W2ldLmxlbmd0aDsKLQkJCXdxZS0+c2VuZC5zZ2xbaV0uc3RhZyA9Ci0JCQkgICAgY3B1X3RvX2JlMzIod3ItPnNnX2xpc3RbaV0ubGtleSk7Ci0JCQl3cWUtPnNlbmQuc2dsW2ldLmxlbiA9Ci0JCQkgICAgY3B1X3RvX2JlMzIod3ItPnNnX2xpc3RbaV0ubGVuZ3RoKTsKLQkJCXdxZS0+c2VuZC5zZ2xbaV0udG8gPSBjcHVfdG9fYmU2NCh3ci0+c2dfbGlzdFtpXS5hZGRyKTsKLQkJfQotCQl3cWUtPnNlbmQubnVtX3NnbGUgPSBjcHVfdG9fYmUzMih3ci0+bnVtX3NnZSk7Ci0JCSpmbGl0X2NudCA9IDQgKyAoKHdyLT5udW1fc2dlKSA8PCAxKTsKKwlwbGVuID0gMDsKKwlmb3IgKGkgPSAwOyBpIDwgd3ItPm51bV9zZ2U7IGkrKykgeworCQlpZiAoKHBsZW4gKyB3ci0+c2dfbGlzdFtpXS5sZW5ndGgpIDwgcGxlbikKKwkJCXJldHVybiAtRU1TR1NJWkU7CisKKwkJcGxlbiArPSB3ci0+c2dfbGlzdFtpXS5sZW5ndGg7CisJCXdxZS0+c2VuZC5zZ2xbaV0uc3RhZyA9IGNwdV90b19iZTMyKHdyLT5zZ19saXN0W2ldLmxrZXkpOworCQl3cWUtPnNlbmQuc2dsW2ldLmxlbiA9IGNwdV90b19iZTMyKHdyLT5zZ19saXN0W2ldLmxlbmd0aCk7CisJCXdxZS0+c2VuZC5zZ2xbaV0udG8gPSBjcHVfdG9fYmU2NCh3ci0+c2dfbGlzdFtpXS5hZGRyKTsKIAl9CisJd3FlLT5zZW5kLm51bV9zZ2xlID0gY3B1X3RvX2JlMzIod3ItPm51bV9zZ2UpOworCSpmbGl0X2NudCA9IDQgKyAoKHdyLT5udW1fc2dlKSA8PCAxKTsKIAl3cWUtPnNlbmQucGxlbiA9IGNwdV90b19iZTMyKHBsZW4pOwogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGl3Y2hfYnVpbGRfcmRtYV93cml0ZSh1bmlvbiB0M193ciAqd3FlLCBzdHJ1Y3QgaWJfc2VuZF93ciAqd3IsCitzdGF0aWMgaW50IGJ1aWxkX3JkbWFfd3JpdGUodW5pb24gdDNfd3IgKndxZSwgc3RydWN0IGliX3NlbmRfd3IgKndyLAogCQkJCSB1OCAqZmxpdF9jbnQpCiB7CiAJaW50IGk7CkBAIC0xMzcsMTUgKzEyMywxOCBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGl3Y2hfYnVpbGRfcmRtYV9yZWFkKHVuaW9uIHQzX3dyICp3cWUsIHN0cnVjdCBpYl9zZW5kX3dyICp3ciwKK3N0YXRpYyBpbnQgYnVpbGRfcmRtYV9yZWFkKHVuaW9uIHQzX3dyICp3cWUsIHN0cnVjdCBpYl9zZW5kX3dyICp3ciwKIAkJCQl1OCAqZmxpdF9jbnQpCiB7CiAJaWYgKHdyLT5udW1fc2dlID4gMSkKIAkJcmV0dXJuIC1FSU5WQUw7CiAJd3FlLT5yZWFkLnJkbWFvcCA9IFQzX1JFQURfUkVROworCWlmICh3ci0+b3Bjb2RlID09IElCX1dSX1JETUFfUkVBRF9XSVRIX0lOVikKKwkJd3FlLT5yZWFkLmxvY2FsX2ludiA9IDE7CisJZWxzZQorCQl3cWUtPnJlYWQubG9jYWxfaW52ID0gMDsKIAl3cWUtPnJlYWQucmVzZXJ2ZWRbMF0gPSAwOwogCXdxZS0+cmVhZC5yZXNlcnZlZFsxXSA9IDA7Ci0Jd3FlLT5yZWFkLnJlc2VydmVkWzJdID0gMDsKIAl3cWUtPnJlYWQucmVtX3N0YWcgPSBjcHVfdG9fYmUzMih3ci0+d3IucmRtYS5ya2V5KTsKIAl3cWUtPnJlYWQucmVtX3RvID0gY3B1X3RvX2JlNjQod3ItPndyLnJkbWEucmVtb3RlX2FkZHIpOwogCXdxZS0+cmVhZC5sb2NhbF9zdGFnID0gY3B1X3RvX2JlMzIod3ItPnNnX2xpc3RbMF0ubGtleSk7CkBAIC0xNTUsNiArMTQ0LDU3IEBACiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBpbnQgYnVpbGRfZmFzdHJlZyh1bmlvbiB0M193ciAqd3FlLCBzdHJ1Y3QgaWJfc2VuZF93ciAqd3IsCisJCQkJdTggKmZsaXRfY250LCBpbnQgKndyX2NudCwgc3RydWN0IHQzX3dxICp3cSkKK3sKKwlpbnQgaTsKKwlfX2JlNjQgKnA7CisKKwlpZiAod3ItPndyLmZhc3RfcmVnLnBhZ2VfbGlzdF9sZW4gPiBUM19NQVhfRkFTVFJFR19ERVBUSCkKKwkJcmV0dXJuIC1FSU5WQUw7CisJKndyX2NudCA9IDE7CisJd3FlLT5mYXN0cmVnLnN0YWcgPSBjcHVfdG9fYmUzMih3ci0+d3IuZmFzdF9yZWcucmtleSk7CisJd3FlLT5mYXN0cmVnLmxlbiA9IGNwdV90b19iZTMyKHdyLT53ci5mYXN0X3JlZy5sZW5ndGgpOworCXdxZS0+ZmFzdHJlZy52YV9iYXNlX2hpID0gY3B1X3RvX2JlMzIod3ItPndyLmZhc3RfcmVnLmlvdmFfc3RhcnQgPj4gMzIpOworCXdxZS0+ZmFzdHJlZy52YV9iYXNlX2xvX2ZibyA9CisJCQkJY3B1X3RvX2JlMzIod3ItPndyLmZhc3RfcmVnLmlvdmFfc3RhcnQgJiAweGZmZmZmZmZmKTsKKwl3cWUtPmZhc3RyZWcucGFnZV90eXBlX3Blcm1zID0gY3B1X3RvX2JlMzIoCisJCVZfRlJfUEFHRV9DT1VOVCh3ci0+d3IuZmFzdF9yZWcucGFnZV9saXN0X2xlbikgfAorCQlWX0ZSX1BBR0VfU0laRSh3ci0+d3IuZmFzdF9yZWcucGFnZV9zaGlmdC0xMikgfAorCQlWX0ZSX1RZUEUoVFBUX1ZBVE8pIHwKKwkJVl9GUl9QRVJNUyhpd2NoX2liX3RvX3RwdF9hY2Nlc3Mod3ItPndyLmZhc3RfcmVnLmFjY2Vzc19mbGFncykpKTsKKwlwID0gJndxZS0+ZmFzdHJlZy5wYmxfYWRkcnNbMF07CisJZm9yIChpID0gMDsgaSA8IHdyLT53ci5mYXN0X3JlZy5wYWdlX2xpc3RfbGVuOyBpKyssIHArKykgeworCisJCS8qIElmIHdlIG5lZWQgYSAybmQgV1IsIHRoZW4gc2V0IGl0IHVwICovCisJCWlmIChpID09IFQzX01BWF9GQVNUUkVHX0ZSQUcpIHsKKwkJCSp3cl9jbnQgPSAyOworCQkJd3FlID0gKHVuaW9uIHQzX3dyICopKHdxLT5xdWV1ZSArCisJCQkJUV9QVFIySURYKCh3cS0+d3B0cisxKSwgd3EtPnNpemVfbG9nMikpOworCQkJYnVpbGRfZndfcml3cmgoKHZvaWQgKil3cWUsIFQzX1dSX0ZBU1RSRUcsIDAsCisJCQkgICAgICAgUV9HRU5CSVQod3EtPndwdHIgKyAxLCB3cS0+c2l6ZV9sb2cyKSwKKwkJCSAgICAgICAwLCAxICsgd3ItPndyLmZhc3RfcmVnLnBhZ2VfbGlzdF9sZW4gLSBUM19NQVhfRkFTVFJFR19GUkFHLAorCQkJICAgICAgIFQzX0VPUCk7CisKKwkJCXAgPSAmd3FlLT5wYmxfZnJhZy5wYmxfYWRkcnNbMF07CisJCX0KKwkJKnAgPSBjcHVfdG9fYmU2NCgodTY0KXdyLT53ci5mYXN0X3JlZy5wYWdlX2xpc3QtPnBhZ2VfbGlzdFtpXSk7CisJfQorCSpmbGl0X2NudCA9IDUgKyB3ci0+d3IuZmFzdF9yZWcucGFnZV9saXN0X2xlbjsKKwlpZiAoKmZsaXRfY250ID4gMTUpCisJCSpmbGl0X2NudCA9IDE1OworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGJ1aWxkX2ludl9zdGFnKHVuaW9uIHQzX3dyICp3cWUsIHN0cnVjdCBpYl9zZW5kX3dyICp3ciwKKwkJCQl1OCAqZmxpdF9jbnQpCit7CisJd3FlLT5sb2NhbF9pbnYuc3RhZyA9IGNwdV90b19iZTMyKHdyLT5leC5pbnZhbGlkYXRlX3JrZXkpOworCXdxZS0+bG9jYWxfaW52LnJlc2VydmVkID0gMDsKKwkqZmxpdF9jbnQgPSBzaXplb2Yoc3RydWN0IHQzX2xvY2FsX2ludl93cikgPj4gMzsKKwlyZXR1cm4gMDsKK30KKwogLyoKICAqIFRCRDogdGhpcyBpcyBnb2luZyB0byBiZSBtb3ZlZCB0byBmaXJtd2FyZS4gTWlzc2luZyBwZGlkL3FwaWQgY2hlY2sgZm9yIG5vdy4KICAqLwpAQCAtMjA1LDIzICsyNDUsMTA2IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgaXdjaF9idWlsZF9yZG1hX3JlY3Yoc3RydWN0IGl3Y2hfZGV2ICpyaHAsIHVuaW9uIHQzX3dyICp3cWUsCitzdGF0aWMgaW50IGJ1aWxkX3JkbWFfcmVjdihzdHJ1Y3QgaXdjaF9xcCAqcWhwLCB1bmlvbiB0M193ciAqd3FlLAogCQkJCXN0cnVjdCBpYl9yZWN2X3dyICp3cikKIHsKLQlpbnQgaTsKLQlpZiAod3ItPm51bV9zZ2UgPiBUM19NQVhfU0dFKQotCQlyZXR1cm4gLUVJTlZBTDsKKwlpbnQgaSwgZXJyID0gMDsKKwl1MzIgcGJsX2FkZHJbVDNfTUFYX1NHRV07CisJdTggcGFnZV9zaXplW1QzX01BWF9TR0VdOworCisJZXJyID0gaXdjaF9zZ2wycGJsX21hcChxaHAtPnJocCwgd3ItPnNnX2xpc3QsIHdyLT5udW1fc2dlLCBwYmxfYWRkciwKKwkJCSAgICAgICBwYWdlX3NpemUpOworCWlmIChlcnIpCisJCXJldHVybiBlcnI7CisJd3FlLT5yZWN2LnBhZ2VzelswXSA9IHBhZ2Vfc2l6ZVswXTsKKwl3cWUtPnJlY3YucGFnZXN6WzFdID0gcGFnZV9zaXplWzFdOworCXdxZS0+cmVjdi5wYWdlc3pbMl0gPSBwYWdlX3NpemVbMl07CisJd3FlLT5yZWN2LnBhZ2VzelszXSA9IHBhZ2Vfc2l6ZVszXTsKIAl3cWUtPnJlY3YubnVtX3NnbGUgPSBjcHVfdG9fYmUzMih3ci0+bnVtX3NnZSk7CiAJZm9yIChpID0gMDsgaSA8IHdyLT5udW1fc2dlOyBpKyspIHsKIAkJd3FlLT5yZWN2LnNnbFtpXS5zdGFnID0gY3B1X3RvX2JlMzIod3ItPnNnX2xpc3RbaV0ubGtleSk7CiAJCXdxZS0+cmVjdi5zZ2xbaV0ubGVuID0gY3B1X3RvX2JlMzIod3ItPnNnX2xpc3RbaV0ubGVuZ3RoKTsKLQkJd3FlLT5yZWN2LnNnbFtpXS50byA9IGNwdV90b19iZTY0KHdyLT5zZ19saXN0W2ldLmFkZHIpOworCisJCS8qIHRvIGluIHRoZSBXUUUgPT0gdGhlIG9mZnNldCBpbnRvIHRoZSBwYWdlICovCisJCXdxZS0+cmVjdi5zZ2xbaV0udG8gPSBjcHVfdG9fYmU2NCgoKHUzMikgd3ItPnNnX2xpc3RbaV0uYWRkcikgJQorCQkJCSgxVUwgPDwgKDEyICsgcGFnZV9zaXplW2ldKSkpOworCisJCS8qIHBibF9hZGRyIGlzIHRoZSBhZGFwdGVycyBhZGRyZXNzIGluIHRoZSBQQkwgKi8KKwkJd3FlLT5yZWN2LnBibF9hZGRyW2ldID0gY3B1X3RvX2JlMzIocGJsX2FkZHJbaV0pOwogCX0KIAlmb3IgKDsgaSA8IFQzX01BWF9TR0U7IGkrKykgewogCQl3cWUtPnJlY3Yuc2dsW2ldLnN0YWcgPSAwOwogCQl3cWUtPnJlY3Yuc2dsW2ldLmxlbiA9IDA7CiAJCXdxZS0+cmVjdi5zZ2xbaV0udG8gPSAwOworCQl3cWUtPnJlY3YucGJsX2FkZHJbaV0gPSAwOwogCX0KKwlxaHAtPndxLnJxW1FfUFRSMklEWChxaHAtPndxLnJxX3dwdHIsCisJCQkgICAgIHFocC0+d3EucnFfc2l6ZV9sb2cyKV0ud3JfaWQgPSB3ci0+d3JfaWQ7CisJcWhwLT53cS5ycVtRX1BUUjJJRFgocWhwLT53cS5ycV93cHRyLAorCQkJICAgICBxaHAtPndxLnJxX3NpemVfbG9nMildLnBibF9hZGRyID0gMDsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBidWlsZF96ZXJvX3N0YWdfcmVjdihzdHJ1Y3QgaXdjaF9xcCAqcWhwLCB1bmlvbiB0M193ciAqd3FlLAorCQkJCXN0cnVjdCBpYl9yZWN2X3dyICp3cikKK3sKKwlpbnQgaTsKKwl1MzIgcGJsX2FkZHI7CisJdTMyIHBibF9vZmZzZXQ7CisKKworCS8qCisJICogVGhlIFQzIEhXIHJlcXVpcmVzIHRoZSBQQkwgaW4gdGhlIEhXIHJlY3YgZGVzY3JpcHRvciB0byByZWZlcmVuY2UKKwkgKiBhIFBCTCBlbnRyeS4gIFNvIHdlIGFsbG9jYXRlIHRoZSBtYXggbmVlZGVkIFBCTCBtZW1vcnkgaGVyZSBhbmQgcGFzcworCSAqIGl0IHRvIHRoZSB1UCBpbiB0aGUgcmVjdiBXUi4gIFRoZSB1UCB3aWxsIGJ1aWxkIHRoZSBQQkwgYW5kIHNldHVwCisJICogdGhlIEhXIHJlY3YgZGVzY3JpcHRvci4KKwkgKi8KKwlwYmxfYWRkciA9IGN4aW9faGFsX3BibHBvb2xfYWxsb2MoJnFocC0+cmhwLT5yZGV2LCBUM19TVEFHMF9QQkxfU0laRSk7CisJaWYgKCFwYmxfYWRkcikKKwkJcmV0dXJuIC1FTk9NRU07CisKKwkvKgorCSAqIENvbXB1dGUgdGhlIDhCIGFsaWduZWQgb2Zmc2V0LgorCSAqLworCXBibF9vZmZzZXQgPSAocGJsX2FkZHIgLSBxaHAtPnJocC0+cmRldi5ybmljX2luZm8ucGJsX2Jhc2UpID4+IDM7CisKKwl3cWUtPnJlY3YubnVtX3NnbGUgPSBjcHVfdG9fYmUzMih3ci0+bnVtX3NnZSk7CisKKwlmb3IgKGkgPSAwOyBpIDwgd3ItPm51bV9zZ2U7IGkrKykgeworCisJCS8qCisJCSAqIFVzZSBhIDEyOE1CIHBhZ2Ugc2l6ZS4gVGhpcyBhbmQgYW4gaW1wb3NlZCAxMjhNQgorCQkgKiBzZ2UgbGVuZ3RoIGxpbWl0IGFsbG93cyB1cyB0byByZXF1aXJlIG9ubHkgYSAyLWVudHJ5IEhXCisJCSAqIFBCTCBmb3IgZWFjaCBTR0UuICBUaGlzIHJlc3RyaWN0aW9uIGlzIGFjY2VwdGFibGUgc2luY2UKKwkJICogc2luY2UgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGFsbG9jYXRlIDEyOE1CIG9mIGNvbnRpZ3VvdXMKKwkJICogRE1BIGNvaGVyZW50IG1lbW9yeSEKKwkJICovCisJCWlmICh3ci0+c2dfbGlzdFtpXS5sZW5ndGggPiBUM19TVEFHMF9NQVhfUEJFX0xFTikKKwkJCXJldHVybiAtRUlOVkFMOworCQl3cWUtPnJlY3YucGFnZXN6W2ldID0gVDNfU1RBRzBfUEFHRV9TSElGVDsKKworCQkvKgorCQkgKiBUMyByZXN0cmljdHMgYSByZWN2IHRvIGFsbCB6ZXJvLXN0YWcgb3IgYWxsIG5vbi16ZXJvLXN0YWcuCisJCSAqLworCQlpZiAod3ItPnNnX2xpc3RbaV0ubGtleSAhPSAwKQorCQkJcmV0dXJuIC1FSU5WQUw7CisJCXdxZS0+cmVjdi5zZ2xbaV0uc3RhZyA9IDA7CisJCXdxZS0+cmVjdi5zZ2xbaV0ubGVuID0gY3B1X3RvX2JlMzIod3ItPnNnX2xpc3RbaV0ubGVuZ3RoKTsKKwkJd3FlLT5yZWN2LnNnbFtpXS50byA9IGNwdV90b19iZTY0KHdyLT5zZ19saXN0W2ldLmFkZHIpOworCQl3cWUtPnJlY3YucGJsX2FkZHJbaV0gPSBjcHVfdG9fYmUzMihwYmxfb2Zmc2V0KTsKKwkJcGJsX29mZnNldCArPSAyOworCX0KKwlmb3IgKDsgaSA8IFQzX01BWF9TR0U7IGkrKykgeworCQl3cWUtPnJlY3YucGFnZXN6W2ldID0gMDsKKwkJd3FlLT5yZWN2LnNnbFtpXS5zdGFnID0gMDsKKwkJd3FlLT5yZWN2LnNnbFtpXS5sZW4gPSAwOworCQl3cWUtPnJlY3Yuc2dsW2ldLnRvID0gMDsKKwkJd3FlLT5yZWN2LnBibF9hZGRyW2ldID0gMDsKKwl9CisJcWhwLT53cS5ycVtRX1BUUjJJRFgocWhwLT53cS5ycV93cHRyLAorCQkJICAgICBxaHAtPndxLnJxX3NpemVfbG9nMildLndyX2lkID0gd3ItPndyX2lkOworCXFocC0+d3EucnFbUV9QVFIySURYKHFocC0+d3EucnFfd3B0ciwKKwkJCSAgICAgcWhwLT53cS5ycV9zaXplX2xvZzIpXS5wYmxfYWRkciA9IHBibF9hZGRyOwogCXJldHVybiAwOwogfQogCkBAIC0yMzgsNiArMzYxLDcgQEAKIAl1MzIgbnVtX3dyczsKIAl1bnNpZ25lZCBsb25nIGZsYWc7CiAJc3RydWN0IHQzX3N3c3EgKnNxcDsKKwlpbnQgd3JfY250ID0gMTsKIAogCXFocCA9IHRvX2l3Y2hfcXAoaWJxcCk7CiAJc3Bpbl9sb2NrX2lycXNhdmUoJnFocC0+bG9jaywgZmxhZyk7CkBAIC0yNjIsMzMgKzM4Niw0NSBAQAogCQl0M193cl9mbGFncyA9IDA7CiAJCWlmICh3ci0+c2VuZF9mbGFncyAmIElCX1NFTkRfU09MSUNJVEVEKQogCQkJdDNfd3JfZmxhZ3MgfD0gVDNfU09MSUNJVEVEX0VWRU5UX0ZMQUc7Ci0JCWlmICh3ci0+c2VuZF9mbGFncyAmIElCX1NFTkRfRkVOQ0UpCi0JCQl0M193cl9mbGFncyB8PSBUM19SRUFEX0ZFTkNFX0ZMQUc7CiAJCWlmICh3ci0+c2VuZF9mbGFncyAmIElCX1NFTkRfU0lHTkFMRUQpCiAJCQl0M193cl9mbGFncyB8PSBUM19DT01QTEVUSU9OX0ZMQUc7CiAJCXNxcCA9IHFocC0+d3Euc3EgKwogCQkgICAgICBRX1BUUjJJRFgocWhwLT53cS5zcV93cHRyLCBxaHAtPndxLnNxX3NpemVfbG9nMik7CiAJCXN3aXRjaCAod3ItPm9wY29kZSkgewogCQljYXNlIElCX1dSX1NFTkQ6Ci0JCWNhc2UgSUJfV1JfU0VORF9XSVRIX0lNTToKKwkJY2FzZSBJQl9XUl9TRU5EX1dJVEhfSU5WOgorCQkJaWYgKHdyLT5zZW5kX2ZsYWdzICYgSUJfU0VORF9GRU5DRSkKKwkJCQl0M193cl9mbGFncyB8PSBUM19SRUFEX0ZFTkNFX0ZMQUc7CiAJCQl0M193cl9vcGNvZGUgPSBUM19XUl9TRU5EOwotCQkJZXJyID0gaXdjaF9idWlsZF9yZG1hX3NlbmQod3FlLCB3ciwgJnQzX3dyX2ZsaXRfY250KTsKKwkJCWVyciA9IGJ1aWxkX3JkbWFfc2VuZCh3cWUsIHdyLCAmdDNfd3JfZmxpdF9jbnQpOwogCQkJYnJlYWs7CiAJCWNhc2UgSUJfV1JfUkRNQV9XUklURToKIAkJY2FzZSBJQl9XUl9SRE1BX1dSSVRFX1dJVEhfSU1NOgogCQkJdDNfd3Jfb3Bjb2RlID0gVDNfV1JfV1JJVEU7Ci0JCQllcnIgPSBpd2NoX2J1aWxkX3JkbWFfd3JpdGUod3FlLCB3ciwgJnQzX3dyX2ZsaXRfY250KTsKKwkJCWVyciA9IGJ1aWxkX3JkbWFfd3JpdGUod3FlLCB3ciwgJnQzX3dyX2ZsaXRfY250KTsKIAkJCWJyZWFrOwogCQljYXNlIElCX1dSX1JETUFfUkVBRDoKKwkJY2FzZSBJQl9XUl9SRE1BX1JFQURfV0lUSF9JTlY6CiAJCQl0M193cl9vcGNvZGUgPSBUM19XUl9SRUFEOwogCQkJdDNfd3JfZmxhZ3MgPSAwOyAvKiBUMyByZWFkcyBhcmUgYWx3YXlzIHNpZ25hbGVkICovCi0JCQllcnIgPSBpd2NoX2J1aWxkX3JkbWFfcmVhZCh3cWUsIHdyLCAmdDNfd3JfZmxpdF9jbnQpOworCQkJZXJyID0gYnVpbGRfcmRtYV9yZWFkKHdxZSwgd3IsICZ0M193cl9mbGl0X2NudCk7CiAJCQlpZiAoZXJyKQogCQkJCWJyZWFrOwogCQkJc3FwLT5yZWFkX2xlbiA9IHdxZS0+cmVhZC5sb2NhbF9sZW47CiAJCQlpZiAoIXFocC0+d3Eub2xkZXN0X3JlYWQpCiAJCQkJcWhwLT53cS5vbGRlc3RfcmVhZCA9IHNxcDsKIAkJCWJyZWFrOworCQljYXNlIElCX1dSX0ZBU1RfUkVHX01SOgorCQkJdDNfd3Jfb3Bjb2RlID0gVDNfV1JfRkFTVFJFRzsKKwkJCWVyciA9IGJ1aWxkX2Zhc3RyZWcod3FlLCB3ciwgJnQzX3dyX2ZsaXRfY250LAorCQkJCQkJICZ3cl9jbnQsICZxaHAtPndxKTsKKwkJCWJyZWFrOworCQljYXNlIElCX1dSX0xPQ0FMX0lOVjoKKwkJCWlmICh3ci0+c2VuZF9mbGFncyAmIElCX1NFTkRfRkVOQ0UpCisJCQkJdDNfd3JfZmxhZ3MgfD0gVDNfTE9DQUxfRkVOQ0VfRkxBRzsKKwkJCXQzX3dyX29wY29kZSA9IFQzX1dSX0lOVl9TVEFHOworCQkJZXJyID0gYnVpbGRfaW52X3N0YWcod3FlLCB3ciwgJnQzX3dyX2ZsaXRfY250KTsKKwkJCWJyZWFrOwogCQlkZWZhdWx0OgogCQkJUERCRygiJXMgcG9zdCBvZiB0eXBlPSVkIFRCRCFcbiIsIF9fZnVuY19fLAogCQkJICAgICB3ci0+b3Bjb2RlKTsKQEAgLTMwNywxNCArNDQzLDE1IEBACiAKIAkJYnVpbGRfZndfcml3cmgoKHZvaWQgKikgd3FlLCB0M193cl9vcGNvZGUsIHQzX3dyX2ZsYWdzLAogCQkJICAgICAgIFFfR0VOQklUKHFocC0+d3Eud3B0ciwgcWhwLT53cS5zaXplX2xvZzIpLAotCQkJICAgICAgIDAsIHQzX3dyX2ZsaXRfY250KTsKKwkJCSAgICAgICAwLCB0M193cl9mbGl0X2NudCwKKwkJCSAgICAgICAod3JfY250ID09IDEpID8gVDNfU09QRU9QIDogVDNfU09QKTsKIAkJUERCRygiJXMgY29va2llIDB4JWxseCB3cSBpZHggMHgleCBzd3NxIGlkeCAlbGQgb3Bjb2RlICVkXG4iLAogCQkgICAgIF9fZnVuY19fLCAodW5zaWduZWQgbG9uZyBsb25nKSB3ci0+d3JfaWQsIGlkeCwKIAkJICAgICBRX1BUUjJJRFgocWhwLT53cS5zcV93cHRyLCBxaHAtPndxLnNxX3NpemVfbG9nMiksCiAJCSAgICAgc3FwLT5vcGNvZGUpOwogCQl3ciA9IHdyLT5uZXh0OwogCQludW1fd3JzLS07Ci0JCSsrKHFocC0+d3Eud3B0cik7CisJCXFocC0+d3Eud3B0ciArPSB3cl9jbnQ7CiAJCSsrKHFocC0+d3Euc3Ffd3B0cik7CiAJfQogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnFocC0+bG9jaywgZmxhZyk7CkBAIC0zNDUsMjEgKzQ4MiwyNyBAQAogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CiAJd2hpbGUgKHdyKSB7CisJCWlmICh3ci0+bnVtX3NnZSA+IFQzX01BWF9TR0UpIHsKKwkJCWVyciA9IC1FSU5WQUw7CisJCQkqYmFkX3dyID0gd3I7CisJCQlicmVhazsKKwkJfQogCQlpZHggPSBRX1BUUjJJRFgocWhwLT53cS53cHRyLCBxaHAtPndxLnNpemVfbG9nMik7CiAJCXdxZSA9ICh1bmlvbiB0M193ciAqKSAocWhwLT53cS5xdWV1ZSArIGlkeCk7CiAJCWlmIChudW1fd3JzKQotCQkJZXJyID0gaXdjaF9idWlsZF9yZG1hX3JlY3YocWhwLT5yaHAsIHdxZSwgd3IpOworCQkJaWYgKHdyLT5zZ19saXN0WzBdLmxrZXkpCisJCQkJZXJyID0gYnVpbGRfcmRtYV9yZWN2KHFocCwgd3FlLCB3cik7CisJCQllbHNlCisJCQkJZXJyID0gYnVpbGRfemVyb19zdGFnX3JlY3YocWhwLCB3cWUsIHdyKTsKIAkJZWxzZQogCQkJZXJyID0gLUVOT01FTTsKIAkJaWYgKGVycikgewogCQkJKmJhZF93ciA9IHdyOwogCQkJYnJlYWs7CiAJCX0KLQkJcWhwLT53cS5ycVtRX1BUUjJJRFgocWhwLT53cS5ycV93cHRyLCBxaHAtPndxLnJxX3NpemVfbG9nMildID0KLQkJCXdyLT53cl9pZDsKIAkJYnVpbGRfZndfcml3cmgoKHZvaWQgKikgd3FlLCBUM19XUl9SQ1YsIFQzX0NPTVBMRVRJT05fRkxBRywKIAkJCSAgICAgICBRX0dFTkJJVChxaHAtPndxLndwdHIsIHFocC0+d3Euc2l6ZV9sb2cyKSwKLQkJCSAgICAgICAwLCBzaXplb2Yoc3RydWN0IHQzX3JlY2VpdmVfd3IpID4+IDMpOworCQkJICAgICAgIDAsIHNpemVvZihzdHJ1Y3QgdDNfcmVjZWl2ZV93cikgPj4gMywgVDNfU09QRU9QKTsKIAkJUERCRygiJXMgY29va2llIDB4JWxseCBpZHggMHgleCBycV93cHRyIDB4JXggcndfcnB0ciAweCV4ICIKIAkJICAgICAid3FlICVwIFxuIiwgX19mdW5jX18sICh1bnNpZ25lZCBsb25nIGxvbmcpIHdyLT53cl9pZCwKIAkJICAgICBpZHgsIHFocC0+d3EucnFfd3B0ciwgcWhwLT53cS5ycV9ycHRyLCB3cWUpOwpAQCAtNDE5LDEwICs1NjIsMTAgQEAKIAlzZ2wubGtleSA9IG13X2JpbmQtPm1yLT5sa2V5OwogCXNnbC5sZW5ndGggPSBtd19iaW5kLT5sZW5ndGg7CiAJd3FlLT5iaW5kLnJlc2VydmVkID0gMDsKLQl3cWUtPmJpbmQudHlwZSA9IFQzX1ZBX0JBU0VEX1RPOworCXdxZS0+YmluZC50eXBlID0gVFBUX1ZBVE87CiAKIAkvKiBUQkQ6IGNoZWNrIHBlcm1zICovCi0Jd3FlLT5iaW5kLnBlcm1zID0gaXdjaF9pYl90b19td2JpbmRfYWNjZXNzKG13X2JpbmQtPm13X2FjY2Vzc19mbGFncyk7CisJd3FlLT5iaW5kLnBlcm1zID0gaXdjaF9pYl90b190cHRfYWNjZXNzKG13X2JpbmQtPm13X2FjY2Vzc19mbGFncyk7CiAJd3FlLT5iaW5kLm1yX3N0YWcgPSBjcHVfdG9fYmUzMihtd19iaW5kLT5tci0+bGtleSk7CiAJd3FlLT5iaW5kLm13X3N0YWcgPSBjcHVfdG9fYmUzMihtdy0+cmtleSk7CiAJd3FlLT5iaW5kLm13X2xlbiA9IGNwdV90b19iZTMyKG13X2JpbmQtPmxlbmd0aCk7CkBAIC00MzAsNyArNTczLDcgQEAKIAllcnIgPSBpd2NoX3NnbDJwYmxfbWFwKHJocCwgJnNnbCwgMSwgJnBibF9hZGRyLCAmcGFnZV9zaXplKTsKIAlpZiAoZXJyKSB7CiAJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnFocC0+bG9jaywgZmxhZyk7Ci0JICAgICAgICByZXR1cm4gZXJyOworCQlyZXR1cm4gZXJyOwogCX0KIAl3cWUtPnNlbmQud3JpZC5pZDAuaGkgPSBxaHAtPndxLnNxX3dwdHI7CiAJc3FwID0gcWhwLT53cS5zcSArIFFfUFRSMklEWChxaHAtPndxLnNxX3dwdHIsIHFocC0+d3Euc3Ffc2l6ZV9sb2cyKTsKQEAgLTQ0MSwxMCArNTg0LDkgQEAKIAlzcXAtPnNpZ25hbGVkID0gKG13X2JpbmQtPnNlbmRfZmxhZ3MgJiBJQl9TRU5EX1NJR05BTEVEKTsKIAl3cWUtPmJpbmQubXJfcGJsX2FkZHIgPSBjcHVfdG9fYmUzMihwYmxfYWRkcik7CiAJd3FlLT5iaW5kLm1yX3BhZ2VzeiA9IHBhZ2Vfc2l6ZTsKLQl3cWUtPmZsaXRbVDNfU1FfQ09PS0lFX0ZMSVRdID0gbXdfYmluZC0+d3JfaWQ7CiAJYnVpbGRfZndfcml3cmgoKHZvaWQgKil3cWUsIFQzX1dSX0JJTkQsIHQzX3dyX2ZsYWdzLAogCQkgICAgICAgUV9HRU5CSVQocWhwLT53cS53cHRyLCBxaHAtPndxLnNpemVfbG9nMiksIDAsCi0JCQkgICAgICAgIHNpemVvZihzdHJ1Y3QgdDNfYmluZF9td193cikgPj4gMyk7CisJCSAgICAgICBzaXplb2Yoc3RydWN0IHQzX2JpbmRfbXdfd3IpID4+IDMsIFQzX1NPUEVPUCk7CiAJKysocWhwLT53cS53cHRyKTsKIAkrKyhxaHAtPndxLnNxX3dwdHIpOwogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnFocC0+bG9jaywgZmxhZyk7CkBAIC03NTgsNyArOTAwLDggQEAKIAlpbml0X2F0dHIucXBfZG1hX3NpemUgPSAoMVVMIDw8IHFocC0+d3Euc2l6ZV9sb2cyKTsKIAlpbml0X2F0dHIucnFlX2NvdW50ID0gaXdjaF9ycWVzX3Bvc3RlZChxaHApOwogCWluaXRfYXR0ci5mbGFncyA9IHFocC0+YXR0ci5tcGFfYXR0ci5pbml0aWF0b3IgPyBNUEFfSU5JVElBVE9SIDogMDsKLQlpbml0X2F0dHIuZmxhZ3MgfD0gY2FwYWJsZShDQVBfTkVUX0JJTkRfU0VSVklDRSkgPyBQUklWX1FQIDogMDsKKwlpZiAoIXFocC0+aWJxcC51b2JqZWN0KQorCQlpbml0X2F0dHIuZmxhZ3MgfD0gUFJJVl9RUDsKIAlpZiAocGVlcjJwZWVyKSB7CiAJCWluaXRfYXR0ci5ydHJfdHlwZSA9IFJUUl9SRUFEOwogCQlpZiAoaW5pdF9hdHRyLm9yZCA9PSAwICYmIHFocC0+YXR0ci5tcGFfYXR0ci5pbml0aWF0b3IpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvZWhjYS9laGNhX2lycS5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2VoY2EvZWhjYV9pcnEuYwppbmRleCBjZTFhYjA1Li4wNzkyZDkzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvZWhjYS9laGNhX2lycS5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9laGNhL2VoY2FfaXJxLmMKQEAgLTUzMSw3ICs1MzEsNyBAQAogewogCXN0cnVjdCBlaGNhX2VxICplcSA9ICZzaGNhLT5lcTsKIAlzdHJ1Y3QgZWhjYV9lcWVfY2FjaGVfZW50cnkgKmVxZV9jYWNoZSA9IGVxLT5lcWVfY2FjaGU7Ci0JdTY0IGVxZV92YWx1ZTsKKwl1NjQgZXFlX3ZhbHVlLCByZXQ7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAlpbnQgZXFlX2NudCwgaTsKIAlpbnQgZXFfZW1wdHkgPSAwOwpAQCAtNTgzLDggKzU4MywxMyBAQAogCQkJZWhjYV9kYmcoJnNoY2EtPmliX2RldmljZSwKIAkJCQkgIk5vIGVxZSBmb3VuZCBmb3IgaXJxIGV2ZW50Iik7CiAJCWdvdG8gdW5sb2NrX2lycV9zcGlubG9jazsKLQl9IGVsc2UgaWYgKCFpc19pcnEpCisJfSBlbHNlIGlmICghaXNfaXJxKSB7CisJCXJldCA9IGhpcHpfaF9lb2koZXEtPmlzdCk7CisJCWlmIChyZXQgIT0gSF9TVUNDRVNTKQorCQkJZWhjYV9lcnIoJnNoY2EtPmliX2RldmljZSwKKwkJCQkgImJhZCByZXR1cm4gY29kZSBFT0kgLXJjID0gJWxkXG4iLCByZXQpOwogCQllaGNhX2RiZygmc2hjYS0+aWJfZGV2aWNlLCAiZGVhZG1hbiBmb3VuZCAleCBlcWUiLCBlcWVfY250KTsKKwl9CiAJaWYgKHVubGlrZWx5KGVxZV9jbnQgPT0gRUhDQV9FUUVfQ0FDSEVfU0laRSkpCiAJCWVoY2FfZGJnKCZzaGNhLT5pYl9kZXZpY2UsICJ0b28gbWFueSBlcWVzIGZvciBvbmUgaXJxIGV2ZW50Iik7CiAJLyogZW5hYmxlIGlycSBmb3IgbmV3IHBhY2tldHMgKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9laGNhL2VoY2FfbWFpbi5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2VoY2EvZWhjYV9tYWluLmMKaW5kZXggNDgyMTAzZS4uNTk4ODQ0ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2VoY2EvZWhjYV9tYWluLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2VoY2EvZWhjYV9tYWluLmMKQEAgLTkyMyw2ICs5MjMsNyBAQAogCX0sCiAJe30sCiB9OworTU9EVUxFX0RFVklDRV9UQUJMRShvZiwgZWhjYV9kZXZpY2VfdGFibGUpOwogCiBzdGF0aWMgc3RydWN0IG9mX3BsYXRmb3JtX2RyaXZlciBlaGNhX2RyaXZlciA9IHsKIAkubmFtZSAgICAgICAgPSAiZWhjYSIsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvZWhjYS9laGNhX3JlcXMuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9laGNhL2VoY2FfcmVxcy5jCmluZGV4IGYwOTNiMDAuLmRkOWJjNjggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9laGNhL2VoY2FfcmVxcy5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9laGNhL2VoY2FfcmVxcy5jCkBAIC01NDQsOCArNTQ0LDE2IEBACiAJCSAgIHN0cnVjdCBpYl9yZWN2X3dyICpyZWN2X3dyLAogCQkgICBzdHJ1Y3QgaWJfcmVjdl93ciAqKmJhZF9yZWN2X3dyKQogewotCXJldHVybiBpbnRlcm5hbF9wb3N0X3JlY3YoY29udGFpbmVyX29mKHFwLCBzdHJ1Y3QgZWhjYV9xcCwgaWJfcXApLAotCQkJCSAgcXAtPmRldmljZSwgcmVjdl93ciwgYmFkX3JlY3Zfd3IpOworCXN0cnVjdCBlaGNhX3FwICpteV9xcCA9IGNvbnRhaW5lcl9vZihxcCwgc3RydWN0IGVoY2FfcXAsIGliX3FwKTsKKworCS8qIFJlamVjdCBXUiBpZiBRUCBpcyBpbiBSRVNFVCBzdGF0ZSAqLworCWlmICh1bmxpa2VseShteV9xcC0+c3RhdGUgPT0gSUJfUVBTX1JFU0VUKSkgeworCQllaGNhX2VycihxcC0+ZGV2aWNlLCAiSW52YWxpZCBRUCBzdGF0ZSAgcXBfc3RhdGU9JWQgcXBuPSV4IiwKKwkJCSBteV9xcC0+c3RhdGUsIHFwLT5xcF9udW0pOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwlyZXR1cm4gaW50ZXJuYWxfcG9zdF9yZWN2KG15X3FwLCBxcC0+ZGV2aWNlLCByZWN2X3dyLCBiYWRfcmVjdl93cik7CiB9CiAKIGludCBlaGNhX3Bvc3Rfc3JxX3JlY3Yoc3RydWN0IGliX3NycSAqc3JxLApAQCAtNjgxLDcgKzY4OSw3IEBACiAJd2MtPmRsaWRfcGF0aF9iaXRzID0gY3FlLT5kbGlkOwogCXdjLT5zcmNfcXAgPSBjcWUtPnJlbW90ZV9xcF9udW1iZXI7CiAJd2MtPndjX2ZsYWdzID0gY3FlLT53X2NvbXBsZXRpb25fZmxhZ3M7Ci0Jd2MtPmltbV9kYXRhID0gY3B1X3RvX2JlMzIoY3FlLT5pbW1lZGlhdGVfZGF0YSk7CisJd2MtPmV4LmltbV9kYXRhID0gY3B1X3RvX2JlMzIoY3FlLT5pbW1lZGlhdGVfZGF0YSk7CiAJd2MtPnNsID0gY3FlLT5zZXJ2aWNlX2xldmVsOwogCiBwb2xsX2NxX29uZV9leGl0MDoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9laGNhL2hjcF9pZi5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2VoY2EvaGNwX2lmLmMKaW5kZXggNTI0NWUxMy4uNDE1ZDNhNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2VoY2EvaGNwX2lmLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2VoY2EvaGNwX2lmLmMKQEAgLTkzMywzICs5MzMsMTMgQEAKIAkJCQkgICAgICAgcl9jYiwKIAkJCQkgICAgICAgMCwgMCwgMCwgMCk7CiB9CisKK3U2NCBoaXB6X2hfZW9pKGludCBpcnEpCit7CisJdW5zaWduZWQgbG9uZyB4aXJyOworCisJaW9zeW5jKCk7CisJeGlyciA9ICgweGZmVUxMIDw8IDI0KSB8IGlycTsKKworCXJldHVybiBwbHBhcl9oY2FsbF9ub3JldHMoSF9FT0ksIHhpcnIpOworfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2VoY2EvaGNwX2lmLmggYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvZWhjYS9oY3BfaWYuaAppbmRleCA2MGNlMDJiLi4yYzNjNmUwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvZWhjYS9oY3BfaWYuaAorKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvZWhjYS9oY3BfaWYuaApAQCAtMjYwLDUgKzI2MCw2IEBACiAJCSAgICAgIGNvbnN0IHU2NCByZXNzb3VyY2VfaGFuZGxlLAogCQkgICAgICB2b2lkICpyYmxvY2ssCiAJCSAgICAgIHVuc2lnbmVkIGxvbmcgKmJ5dGVfY291bnQpOwordTY0IGhpcHpfaF9lb2koaW50IGlycSk7CiAKICNlbmRpZiAvKiBfX0hDUF9JRl9IX18gKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9pcGF0aC9pcGF0aF9jcS5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX2NxLmMKaW5kZXggYTAzYmQyOC4uZDM4NWU0MTYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9pcGF0aC9pcGF0aF9jcS5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9pcGF0aC9pcGF0aF9jcS5jCkBAIC04Miw3ICs4Miw3IEBACiAJCXdjLT51cXVldWVbaGVhZF0ub3Bjb2RlID0gZW50cnktPm9wY29kZTsKIAkJd2MtPnVxdWV1ZVtoZWFkXS52ZW5kb3JfZXJyID0gZW50cnktPnZlbmRvcl9lcnI7CiAJCXdjLT51cXVldWVbaGVhZF0uYnl0ZV9sZW4gPSBlbnRyeS0+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+CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfZXEuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9lcS5jCmluZGV4IDhiZGU3ZjkuLjRlMzZhYTcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9lcS5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9lcS5jCkBAIC0yOSw4ICsyOSw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBtdGhjYV9lcS5jIDEzODIgMjAwNC0xMi0yNCAwMjoyMTowMlogcm9sYW5kICQKICAqLwogCiAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9tYWQuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9tYWQuYwppbmRleCA4YjdlODNlLi42NDA0NDk1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfbWFkLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX21hZC5jCkBAIC0zMCw4ICszMCw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBtdGhjYV9tYWQuYyAxMzQ5IDIwMDQtMTItMTYgMjE6MDk6NDNaIHJvbGFuZCAkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX21haW4uYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9tYWluLmMKaW5kZXggMjAwY2YxM2YuLmZiOWY5MWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9tYWluLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX21haW4uYwpAQCAtMzAsOCArMzAsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogbXRoY2FfbWFpbi5jIDEzOTYgMjAwNC0xMi0yOCAwNDoxMDoyN1ogcm9sYW5kICQKICAqLwogCiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfbWNnLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfbWNnLmMKaW5kZXggYThhZDA3Mi4uM2Y1Zjk0OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX21jZy5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9tY2cuYwpAQCAtMjgsOCArMjgsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogbXRoY2FfbWNnLmMgMTM0OSAyMDA0LTEyLTE2IDIxOjA5OjQzWiByb2xhbmQgJAogICovCiAKICNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9tZW1mcmVlLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfbWVtZnJlZS5jCmluZGV4IGQ1ODYyZTUuLjFmN2QxYTIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9tZW1mcmVlLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX21lbWZyZWUuYwpAQCAtMzAsOCArMzAsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZCQKICAqLwogCiAjaW5jbHVkZSA8bGludXgvbW0uaD4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9tZW1mcmVlLmggYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfbWVtZnJlZS5oCmluZGV4IGExYWIwNjguLmRhOWI4ZjkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9tZW1mcmVlLmgKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX21lbWZyZWUuaApAQCAtMzAsOCArMzAsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZCQKICAqLwogCiAjaWZuZGVmIE1USENBX01FTUZSRUVfSApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX21yLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfbXIuYwppbmRleCA4MjAyMDVkLi44NDg5YjFlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfbXIuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfbXIuYwpAQCAtMjksOCArMjksNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogbXRoY2FfbXIuYyAxMzQ5IDIwMDQtMTItMTYgMjE6MDk6NDNaIHJvbGFuZCAkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9wZC5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3BkLmMKaW5kZXggYzFlOTUwNy4uMjY2ZjE0ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3BkLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3BkLmMKQEAgLTMwLDggKzMwLDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IG10aGNhX3BkLmMgMTM0OSAyMDA0LTEyLTE2IDIxOjA5OjQzWiByb2xhbmQgJAogICovCiAKICNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3Byb2ZpbGUuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9wcm9maWxlLmMKaW5kZXggNjA1YThkNS4uZDE2OGMyNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3Byb2ZpbGUuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfcHJvZmlsZS5jCkBAIC0yOSw4ICsyOSw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBtdGhjYV9wcm9maWxlLmMgMTM0OSAyMDA0LTEyLTE2IDIxOjA5OjQzWiByb2xhbmQgJAogICovCiAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9wcm9maWxlLmggYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfcHJvZmlsZS5oCmluZGV4IGU3NmNiNjIuLjYyYjAwOWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9wcm9maWxlLmgKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3Byb2ZpbGUuaApAQCAtMjksOCArMjksNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogbXRoY2FfcHJvZmlsZS5oIDEzNDkgMjAwNC0xMi0xNiAyMTowOTo0M1ogcm9sYW5kICQKICAqLwogCiAjaWZuZGVmIE1USENBX1BST0ZJTEVfSApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3Byb3ZpZGVyLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfcHJvdmlkZXIuYwppbmRleCBiZTM0Zjk5Li44N2FkODg5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfcHJvdmlkZXIuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfcHJvdmlkZXIuYwpAQCAtMzIsOCArMzIsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogbXRoY2FfcHJvdmlkZXIuYyA0ODU5IDIwMDYtMDEtMDkgMjE6NTU6MTBaIHJvbGFuZCAkCiAgKi8KIAogI2luY2x1ZGUgPHJkbWEvaWJfc21pLmg+CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfcHJvdmlkZXIuaCBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9wcm92aWRlci5oCmluZGV4IDkzNGJmOTUuLmM2MjFmODcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9wcm92aWRlci5oCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9wcm92aWRlci5oCkBAIC0zMCw4ICszMCw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBtdGhjYV9wcm92aWRlci5oIDEzNDkgMjAwNC0xMi0xNiAyMTowOTo0M1ogcm9sYW5kICQKICAqLwogCiAjaWZuZGVmIE1USENBX1BST1ZJREVSX0gKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9xcC5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3FwLmMKaW5kZXggMDlkYzM2MS4uZjUwODFiZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3FwLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3FwLmMKQEAgLTMxLDggKzMxLDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IG10aGNhX3FwLmMgMTM1NSAyMDA0LTEyLTE3IDE1OjIzOjQzWiByb2xhbmQgJAogICovCiAKICNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KQEAgLTg1MCwyMyArODQ4LDYgQEAKIAlyZXR1cm4gZXJyOwogfQogCi1zdGF0aWMgY29uc3Qgc3RydWN0IGliX3FwX2F0dHIgZHVtbXlfaW5pdF9hdHRyID0geyAucG9ydF9udW0gPSAxIH07Ci1zdGF0aWMgY29uc3QgaW50IGR1bW15X2luaXRfYXR0cl9tYXNrW10gPSB7Ci0JW0lCX1FQVF9VRF0gID0gKElCX1FQX1BLRVlfSU5ERVgJCXwKLQkJCUlCX1FQX1BPUlQJCQl8Ci0JCQlJQl9RUF9RS0VZKSwKLQlbSUJfUVBUX1VDXSAgPSAoSUJfUVBfUEtFWV9JTkRFWAkJfAotCQkJSUJfUVBfUE9SVAkJCXwKLQkJCUlCX1FQX0FDQ0VTU19GTEFHUyksCi0JW0lCX1FQVF9SQ10gID0gKElCX1FQX1BLRVlfSU5ERVgJCXwKLQkJCUlCX1FQX1BPUlQJCQl8Ci0JCQlJQl9RUF9BQ0NFU1NfRkxBR1MpLAotCVtJQl9RUFRfU01JXSA9IChJQl9RUF9QS0VZX0lOREVYCQl8Ci0JCQlJQl9RUF9RS0VZKSwKLQlbSUJfUVBUX0dTSV0gPSAoSUJfUVBfUEtFWV9JTkRFWAkJfAotCQkJSUJfUVBfUUtFWSksCi19OwotCiBpbnQgbXRoY2FfbW9kaWZ5X3FwKHN0cnVjdCBpYl9xcCAqaWJxcCwgc3RydWN0IGliX3FwX2F0dHIgKmF0dHIsIGludCBhdHRyX21hc2ssCiAJCSAgICBzdHJ1Y3QgaWJfdWRhdGEgKnVkYXRhKQogewpAQCAtOTI4LDE1ICs5MDksNiBAQAogCQlnb3RvIG91dDsKIAl9CiAKLQlpZiAoY3VyX3N0YXRlID09IElCX1FQU19SRVNFVCAmJiBuZXdfc3RhdGUgPT0gSUJfUVBTX0VSUikgewotCQllcnIgPSBfX210aGNhX21vZGlmeV9xcChpYnFwLCAmZHVtbXlfaW5pdF9hdHRyLAotCQkJCQlkdW1teV9pbml0X2F0dHJfbWFza1tpYnFwLT5xcF90eXBlXSwKLQkJCQkJSUJfUVBTX1JFU0VULCBJQl9RUFNfSU5JVCk7Ci0JCWlmIChlcnIpCi0JCQlnb3RvIG91dDsKLQkJY3VyX3N0YXRlID0gSUJfUVBTX0lOSVQ7Ci0JfQotCiAJZXJyID0gX19tdGhjYV9tb2RpZnlfcXAoaWJxcCwgYXR0ciwgYXR0cl9tYXNrLCBjdXJfc3RhdGUsIG5ld19zdGF0ZSk7CiAKIG91dDoKQEAgLTEyNzcsMTAgKzEyNDksMTAgQEAKIAkJcmV0dXJuIC1FSU5WQUw7CiAKIAkvKgotCSAqIEZvciBNTFggdHJhbnNwb3J0IHdlIG5lZWQgMiBleHRyYSBTL0cgZW50cmllczoKKwkgKiBGb3IgTUxYIHRyYW5zcG9ydCB3ZSBuZWVkIDIgZXh0cmEgc2VuZCBnYXRoZXIgZW50cmllczoKIAkgKiBvbmUgZm9yIHRoZSBoZWFkZXIgYW5kIG9uZSBmb3IgdGhlIGNoZWNrc3VtIGF0IHRoZSBlbmQKIAkgKi8KLQlpZiAocXAtPnRyYW5zcG9ydCA9PSBNTFggJiYgY2FwLT5tYXhfcmVjdl9zZ2UgKyAyID4gZGV2LT5saW1pdHMubWF4X3NnKQorCWlmIChxcC0+dHJhbnNwb3J0ID09IE1MWCAmJiBjYXAtPm1heF9zZW5kX3NnZSArIDIgPiBkZXYtPmxpbWl0cy5tYXhfc2cpCiAJCXJldHVybiAtRUlOVkFMOwogCiAJaWYgKG10aGNhX2lzX21lbWZyZWUoZGV2KSkgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3Jlc2V0LmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfcmVzZXQuYwppbmRleCA5MTkzNGYyLi5hY2I2ODE3ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3Jlc2V0LmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3Jlc2V0LmMKQEAgLTI4LDggKzI4LDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IG10aGNhX3Jlc2V0LmMgMTM0OSAyMDA0LTEyLTE2IDIxOjA5OjQzWiByb2xhbmQgJAogICovCiAKICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2Ffc3JxLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2Ffc3JxLmMKaW5kZXggYTVmZmZmNi4uNGZhYmU2MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3NycS5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9zcnEuYwpAQCAtMjgsOCArMjgsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogbXRoY2Ffc3JxLmMgMzA0NyAyMDA1LTA4LTEwIDAzOjU5OjM1WiByb2xhbmQgJAogICovCiAKICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfdWFyLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfdWFyLmMKaW5kZXggOGI3Mjg0OC4uY2E1OTAwYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3Vhci5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV91YXIuYwpAQCAtMjgsOCArMjgsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZCQKICAqLwogCiAjaW5jbHVkZSA8YXNtL3BhZ2UuaD4JCS8qIFBBR0VfU0hJRlQgKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV91c2VyLmggYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfdXNlci5oCmluZGV4IGUxMjYyYzkuLjVmZTU2ZTggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV91c2VyLmgKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3VzZXIuaApAQCAtMjksNyArMjksNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKICAqLwogCiAjaWZuZGVmIE1USENBX1VTRVJfSApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3dxZS5oIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3dxZS5oCmluZGV4IGIzNTUxYTguLjM0MWE1YWUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV93cWUuaAorKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2Ffd3FlLmgKQEAgLTI4LDggKzI4LDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IG10aGNhX3dxZS5oIDMwNDcgMjAwNS0wOC0xMCAwMzo1OTozNVogcm9sYW5kICQKICAqLwogCiAjaWZuZGVmIE1USENBX1dRRV9ICmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbmVzL25lcy5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L25lcy9uZXMuYwppbmRleCBhNGU5MjY5Li5kMjg4NGU3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbmVzL25lcy5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9uZXMvbmVzLmMKQEAgLTMyOCw3ICszMjgsNyBAQAogCQlzZXRfd3FlXzMyYml0X3ZhbHVlKGNxcF93cWUtPndxZV93b3JkcywgTkVTX0NRUF9XUUVfSURfSURYLCBuZXNxcC0+aHdxcC5xcF9pZCk7CiAJCXU2NHRlbXAgPSAodTY0KW5lc3FwLT5uZXNxcF9jb250ZXh0X3BiYXNlOwogCQlzZXRfd3FlXzY0Yml0X3ZhbHVlKGNxcF93cWUtPndxZV93b3JkcywgTkVTX0NRUF9RUF9XUUVfQ09OVEVYVF9MT1dfSURYLCB1NjR0ZW1wKTsKLQkJbmVzX3Bvc3RfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCwgTkVTX0NRUF9SRVFVRVNUX1JJTkdfRE9PUkJFTEwpOworCQluZXNfcG9zdF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0KTsKIAl9CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9uZXMvbmVzLmggYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbmVzL25lcy5oCmluZGV4IDYxYjQ2ZTkuLjM5YmQ4OTcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9uZXMvbmVzLmgKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L25lcy9uZXMuaApAQCAtOTQsOSArOTQsNiBAQAogCiAjZGVmaW5lIE1BWF9EUENfSVRFUkFUSU9OUyAgICAgICAgICAgICAgIDEyOAogCi0jZGVmaW5lIE5FU19DUVBfUkVRVUVTVF9OT19ET09SQkVMTF9SSU5HIDAKLSNkZWZpbmUgTkVTX0NRUF9SRVFVRVNUX1JJTkdfRE9PUkJFTEwgICAgMQotCiAjZGVmaW5lIE5FU19EUlZfT1BUX0VOQUJMRV9NUEFfVkVSXzAgICAgIDB4MDAwMDAwMDEKICNkZWZpbmUgTkVTX0RSVl9PUFRfRElTQUJMRV9NUEFfQ1JDICAgICAgMHgwMDAwMDAwMgogI2RlZmluZSBORVNfRFJWX09QVF9ESVNBQkxFX0ZJUlNUX1dSSVRFICAweDAwMDAwMDA0CkBAIC01MzgsNyArNTM1LDExIEBACiB2b2lkIG5lc193cml0ZV8xMEdfcGh5X3JlZyhzdHJ1Y3QgbmVzX2RldmljZSAqLCB1MTYsIHU4LCB1MTYsIHUxNik7CiB2b2lkIG5lc19yZWFkXzEwR19waHlfcmVnKHN0cnVjdCBuZXNfZGV2aWNlICosIHU4LCB1OCwgdTE2KTsKIHN0cnVjdCBuZXNfY3FwX3JlcXVlc3QgKm5lc19nZXRfY3FwX3JlcXVlc3Qoc3RydWN0IG5lc19kZXZpY2UgKik7Ci12b2lkIG5lc19wb3N0X2NxcF9yZXF1ZXN0KHN0cnVjdCBuZXNfZGV2aWNlICosIHN0cnVjdCBuZXNfY3FwX3JlcXVlc3QgKiwgaW50KTsKK3ZvaWQgbmVzX2ZyZWVfY3FwX3JlcXVlc3Qoc3RydWN0IG5lc19kZXZpY2UgKm5lc2RldiwKKwkJCSAgc3RydWN0IG5lc19jcXBfcmVxdWVzdCAqY3FwX3JlcXVlc3QpOwordm9pZCBuZXNfcHV0X2NxcF9yZXF1ZXN0KHN0cnVjdCBuZXNfZGV2aWNlICpuZXNkZXYsCisJCQkgc3RydWN0IG5lc19jcXBfcmVxdWVzdCAqY3FwX3JlcXVlc3QpOwordm9pZCBuZXNfcG9zdF9jcXBfcmVxdWVzdChzdHJ1Y3QgbmVzX2RldmljZSAqLCBzdHJ1Y3QgbmVzX2NxcF9yZXF1ZXN0ICopOwogaW50IG5lc19hcnBfdGFibGUoc3RydWN0IG5lc19kZXZpY2UgKiwgdTMyLCB1OCAqLCB1MzIpOwogdm9pZCBuZXNfbWhfZml4KHVuc2lnbmVkIGxvbmcpOwogdm9pZCBuZXNfY2xjKHVuc2lnbmVkIGxvbmcpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L25lcy9uZXNfY20uYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9uZXMvbmVzX2NtLmMKaW5kZXggOWE0YjQwZi4uNmFhNTMxZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L25lcy9uZXNfY20uYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbmVzL25lc19jbS5jCkBAIC0xNjAzLDcgKzE2MDMsNiBAQAogCQkJcmV0dXJuIE5VTEw7CiAJCX0KIAotCQltZW1zZXQobGlzdGVuZXIsIDAsIHNpemVvZihzdHJ1Y3QgbmVzX2NtX2xpc3RlbmVyKSk7CiAJCWxpc3RlbmVyLT5sb2NfYWRkciA9IGh0b25sKGNtX2luZm8tPmxvY19hZGRyKTsKIAkJbGlzdGVuZXItPmxvY19wb3J0ID0gaHRvbnMoY21faW5mby0+bG9jX3BvcnQpOwogCQlsaXN0ZW5lci0+cmV1c2VkX25vZGUgPSAwOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L25lcy9uZXNfaHcuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9uZXMvbmVzX2h3LmMKaW5kZXggZDMyNzhmMS4uODVmMjZkMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L25lcy9uZXNfaHcuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbmVzL25lc19ody5jCkBAIC0zOTgsNyArMzk4LDcgQEAKIAluZXNhZGFwdGVyLT5iYXNlX3BkID0gMTsKIAogCW5lc2FkYXB0ZXItPmRldmljZV9jYXBfZmxhZ3MgPQotCQlJQl9ERVZJQ0VfWkVST19TVEFHIHwgSUJfREVWSUNFX01FTV9XSU5ET1c7CisJCUlCX0RFVklDRV9MT0NBTF9ETUFfTEtFWSB8IElCX0RFVklDRV9NRU1fV0lORE9XOwogCiAJbmVzYWRhcHRlci0+YWxsb2NhdGVkX3FwcyA9ICh1bnNpZ25lZCBsb25nICopJigoKHVuc2lnbmVkIGNoYXIgKiluZXNhZGFwdGVyKQogCQkJWyhzaXplb2Yoc3RydWN0IG5lc19hZGFwdGVyKSsoc2l6ZW9mKHVuc2lnbmVkIGxvbmcpLTEpKSYofihzaXplb2YodW5zaWduZWQgbG9uZyktMSkpXSk7CkBAIC0yNzEwLDM5ICsyNzEwLDExIEBACiAJCQkJCWJhcnJpZXIoKTsKIAkJCQkJY3FwX3JlcXVlc3QtPnJlcXVlc3RfZG9uZSA9IDE7CiAJCQkJCXdha2VfdXAoJmNxcF9yZXF1ZXN0LT53YWl0cSk7Ci0JCQkJCWlmIChhdG9taWNfZGVjX2FuZF90ZXN0KCZjcXBfcmVxdWVzdC0+cmVmY291bnQpKSB7Ci0JCQkJCQluZXNfZGVidWcoTkVTX0RCR19DUVAsICJDUVAgcmVxdWVzdCAlcCAob3Bjb2RlIDB4JTAyWCkgZnJlZWQuXG4iLAotCQkJCQkJCQljcXBfcmVxdWVzdCwKLQkJCQkJCQkJbGUzMl90b19jcHUoY3FwX3JlcXVlc3QtPmNxcF93cWUud3FlX3dvcmRzW05FU19DUVBfV1FFX09QQ09ERV9JRFhdKSYweDNmKTsKLQkJCQkJCWlmIChjcXBfcmVxdWVzdC0+ZHluYW1pYykgewotCQkJCQkJCWtmcmVlKGNxcF9yZXF1ZXN0KTsKLQkJCQkJCX0gZWxzZSB7Ci0JCQkJCQkJc3Bpbl9sb2NrX2lycXNhdmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCQkJCQlsaXN0X2FkZF90YWlsKCZjcXBfcmVxdWVzdC0+bGlzdCwgJm5lc2Rldi0+Y3FwX2F2YWlsX3JlcXMpOwotCQkJCQkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCQkJCX0KLQkJCQkJfQotCQkJCX0gZWxzZSBpZiAoY3FwX3JlcXVlc3QtPmNhbGxiYWNrKSB7Ci0JCQkJCS8qIEVudm9rZSB0aGUgY2FsbGJhY2sgcm91dGluZSAqLwotCQkJCQljcXBfcmVxdWVzdC0+Y3FwX2NhbGxiYWNrKG5lc2RldiwgY3FwX3JlcXVlc3QpOwotCQkJCQlpZiAoY3FwX3JlcXVlc3QtPmR5bmFtaWMpIHsKLQkJCQkJCWtmcmVlKGNxcF9yZXF1ZXN0KTsKLQkJCQkJfSBlbHNlIHsKLQkJCQkJCXNwaW5fbG9ja19pcnFzYXZlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCQkJCQlsaXN0X2FkZF90YWlsKCZjcXBfcmVxdWVzdC0+bGlzdCwgJm5lc2Rldi0+Y3FwX2F2YWlsX3JlcXMpOwotCQkJCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQkJCQl9CisJCQkJCW5lc19wdXRfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCk7CiAJCQkJfSBlbHNlIHsKLQkJCQkJbmVzX2RlYnVnKE5FU19EQkdfQ1FQLCAiQ1FQIHJlcXVlc3QgJXAgKG9wY29kZSAweCUwMlgpIGZyZWVkLlxuIiwKLQkJCQkJCQljcXBfcmVxdWVzdCwKLQkJCQkJCQlsZTMyX3RvX2NwdShjcXBfcmVxdWVzdC0+Y3FwX3dxZS53cWVfd29yZHNbTkVTX0NRUF9XUUVfT1BDT0RFX0lEWF0pICYgMHgzZik7Ci0JCQkJCWlmIChjcXBfcmVxdWVzdC0+ZHluYW1pYykgewotCQkJCQkJa2ZyZWUoY3FwX3JlcXVlc3QpOwotCQkJCQl9IGVsc2UgewotCQkJCQkJc3Bpbl9sb2NrX2lycXNhdmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCQkJCWxpc3RfYWRkX3RhaWwoJmNxcF9yZXF1ZXN0LT5saXN0LCAmbmVzZGV2LT5jcXBfYXZhaWxfcmVxcyk7Ci0JCQkJCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCQkJCX0KKwkJCQkJaWYgKGNxcF9yZXF1ZXN0LT5jYWxsYmFjaykKKwkJCQkJCWNxcF9yZXF1ZXN0LT5jcXBfY2FsbGJhY2sobmVzZGV2LCBjcXBfcmVxdWVzdCk7CisJCQkJCW5lc19mcmVlX2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QpOwogCQkJCX0KIAkJCX0gZWxzZSB7CiAJCQkJd2FrZV91cCgmbmVzZGV2LT5jcXAud2FpdHEpOwpAQCAtMzE0OSw3ICszMTIxLDYgQEAKIHsKIAlzdHJ1Y3QgbmVzX2RldmljZSAqbmVzZGV2ID0gbmVzdm5pYy0+bmVzZGV2OwogCXN0cnVjdCBuZXNfaHdfY3FwX3dxZSAqY3FwX3dxZTsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwogCXN0cnVjdCBuZXNfY3FwX3JlcXVlc3QgKmNxcF9yZXF1ZXN0OwogCWludCByZXQgPSAwOwogCXUxNiBtYWpvcl9jb2RlOwpAQCAtMzE3Niw3ICszMTQ3LDcgQEAKIAluZXNfZGVidWcoTkVTX0RCR19RUCwgIldhaXRpbmcgZm9yIENRUCBjb21wbGV0aW9uIGZvciBBUEJWVC5cbiIpOwogCiAJYXRvbWljX3NldCgmY3FwX3JlcXVlc3QtPnJlZmNvdW50LCAyKTsKLQluZXNfcG9zdF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0LCBORVNfQ1FQX1JFUVVFU1RfUklOR19ET09SQkVMTCk7CisJbmVzX3Bvc3RfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCk7CiAKIAlpZiAoYWRkX3BvcnQgPT0gTkVTX01BTkFHRV9BUEJWVF9BREQpCiAJCXJldCA9IHdhaXRfZXZlbnRfdGltZW91dChjcXBfcmVxdWVzdC0+d2FpdHEsIChjcXBfcmVxdWVzdC0+cmVxdWVzdF9kb25lICE9IDApLApAQCAtMzE4NCwxNSArMzE1NSw5IEBACiAJbmVzX2RlYnVnKE5FU19EQkdfUVAsICJDb21wbGV0ZWQsIHJldD0ldSwgIENRUCBNYWpvcjpNaW5vciBjb2RlcyA9IDB4JTA0WDoweCUwNFhcbiIsCiAJCQlyZXQsIGNxcF9yZXF1ZXN0LT5tYWpvcl9jb2RlLCBjcXBfcmVxdWVzdC0+bWlub3JfY29kZSk7CiAJbWFqb3JfY29kZSA9IGNxcF9yZXF1ZXN0LT5tYWpvcl9jb2RlOwotCWlmIChhdG9taWNfZGVjX2FuZF90ZXN0KCZjcXBfcmVxdWVzdC0+cmVmY291bnQpKSB7Ci0JCWlmIChjcXBfcmVxdWVzdC0+ZHluYW1pYykgewotCQkJa2ZyZWUoY3FwX3JlcXVlc3QpOwotCQl9IGVsc2UgewotCQkJc3Bpbl9sb2NrX2lycXNhdmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCWxpc3RfYWRkX3RhaWwoJmNxcF9yZXF1ZXN0LT5saXN0LCAmbmVzZGV2LT5jcXBfYXZhaWxfcmVxcyk7Ci0JCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCX0KLQl9CisKKwluZXNfcHV0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QpOworCiAJaWYgKCFyZXQpCiAJCXJldHVybiAtRVRJTUU7CiAJZWxzZSBpZiAobWFqb3JfY29kZSkKQEAgLTMyNTIsNyArMzIxNyw3IEBACiAJCQluZXNkZXYtPmNxcC5zcV9oZWFkLCBuZXNkZXYtPmNxcC5zcV90YWlsKTsKIAogCWF0b21pY19zZXQoJmNxcF9yZXF1ZXN0LT5yZWZjb3VudCwgMSk7Ci0JbmVzX3Bvc3RfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCwgTkVTX0NRUF9SRVFVRVNUX1JJTkdfRE9PUkJFTEwpOworCW5lc19wb3N0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QpOwogfQogCiAKQEAgLTMyNjIsNyArMzIyNyw2IEBACiB2b2lkIGZsdXNoX3dxZXMoc3RydWN0IG5lc19kZXZpY2UgKm5lc2Rldiwgc3RydWN0IG5lc19xcCAqbmVzcXAsCiAJCXUzMiB3aGljaF93cSwgdTMyIHdhaXRfY29tcGxldGlvbikKIHsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwogCXN0cnVjdCBuZXNfY3FwX3JlcXVlc3QgKmNxcF9yZXF1ZXN0OwogCXN0cnVjdCBuZXNfaHdfY3FwX3dxZSAqY3FwX3dxZTsKIAlpbnQgcmV0OwpAQCAtMzI4NSw3ICszMjQ5LDcgQEAKIAkJCWNwdV90b19sZTMyKE5FU19DUVBfRkxVU0hfV1FFUyB8IHdoaWNoX3dxKTsKIAljcXBfd3FlLT53cWVfd29yZHNbTkVTX0NRUF9XUUVfSURfSURYXSA9IGNwdV90b19sZTMyKG5lc3FwLT5od3FwLnFwX2lkKTsKIAotCW5lc19wb3N0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QsIE5FU19DUVBfUkVRVUVTVF9SSU5HX0RPT1JCRUxMKTsKKwluZXNfcG9zdF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0KTsKIAogCWlmICh3YWl0X2NvbXBsZXRpb24pIHsKIAkJLyogV2FpdCBmb3IgQ1FQICovCkBAIC0zMjk0LDE0ICszMjU4LDYgQEAKIAkJbmVzX2RlYnVnKE5FU19EQkdfUVAsICJGbHVzaCBTUSBRUCBXUUVzIGNvbXBsZXRlZCwgcmV0PSV1LCIKIAkJCQkiIENRUCBNYWpvcjpNaW5vciBjb2RlcyA9IDB4JTA0WDoweCUwNFhcbiIsCiAJCQkJcmV0LCBjcXBfcmVxdWVzdC0+bWFqb3JfY29kZSwgY3FwX3JlcXVlc3QtPm1pbm9yX2NvZGUpOwotCQlpZiAoYXRvbWljX2RlY19hbmRfdGVzdCgmY3FwX3JlcXVlc3QtPnJlZmNvdW50KSkgewotCQkJaWYgKGNxcF9yZXF1ZXN0LT5keW5hbWljKSB7Ci0JCQkJa2ZyZWUoY3FwX3JlcXVlc3QpOwotCQkJfSBlbHNlIHsKLQkJCQlzcGluX2xvY2tfaXJxc2F2ZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQkJCWxpc3RfYWRkX3RhaWwoJmNxcF9yZXF1ZXN0LT5saXN0LCAmbmVzZGV2LT5jcXBfYXZhaWxfcmVxcyk7Ci0JCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQkJfQotCQl9CisJCW5lc19wdXRfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCk7CiAJfQogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L25lcy9uZXNfaHcuaCBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9uZXMvbmVzX2h3LmgKaW5kZXggNzQ1YmY5NC4uN2I4MWUwYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L25lcy9uZXNfaHcuaAorKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbmVzL25lc19ody5oCkBAIC0xMTcyLDcgKzExNzIsNyBAQAogCXUzMiAgICBtY3JxX3FwX2lkOwogCXN0cnVjdCBuZXNfdWNvbnRleHQgKm1jcnFfdWNvbnRleHQ7CiAJc3RydWN0IG5lc19jcXBfcmVxdWVzdCogKCpnZXRfY3FwX3JlcXVlc3QpKHN0cnVjdCBuZXNfZGV2aWNlICpuZXNkZXYpOwotCXZvaWQgKCpwb3N0X2NxcF9yZXF1ZXN0KShzdHJ1Y3QgbmVzX2RldmljZSosIHN0cnVjdCBuZXNfY3FwX3JlcXVlc3QgKiwgaW50KTsKKwl2b2lkICgqcG9zdF9jcXBfcmVxdWVzdCkoc3RydWN0IG5lc19kZXZpY2UqLCBzdHJ1Y3QgbmVzX2NxcF9yZXF1ZXN0ICopOwogCWludCAoKm1jcnFfbWNhc3RfZmlsdGVyKSggc3RydWN0IG5lc192bmljKiBuZXN2bmljLCBfX3U4KiBkbWlfYWRkciApOwogCXN0cnVjdCBuZXRfZGV2aWNlX3N0YXRzIG5ldHN0YXRzOwogCS8qIHVzZWQgdG8gcHV0IHRoZSBuZXRkZXYgb24gdGhlIGFkYXB0ZXJzIGxvZ2ljYWwgcG9ydCBsaXN0ICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbmVzL25lc191dGlscy5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L25lcy9uZXNfdXRpbHMuYwppbmRleCBmZTgzZDFiLi5mYjhjYmQ3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbmVzL25lc191dGlscy5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9uZXMvbmVzX3V0aWxzLmMKQEAgLTU2NywxMiArNTY3LDM2IEBACiAJcmV0dXJuIGNxcF9yZXF1ZXN0OwogfQogCit2b2lkIG5lc19mcmVlX2NxcF9yZXF1ZXN0KHN0cnVjdCBuZXNfZGV2aWNlICpuZXNkZXYsCisJCQkgIHN0cnVjdCBuZXNfY3FwX3JlcXVlc3QgKmNxcF9yZXF1ZXN0KQoreworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwluZXNfZGVidWcoTkVTX0RCR19DUVAsICJDUVAgcmVxdWVzdCAlcCAob3Bjb2RlIDB4JTAyWCkgZnJlZWQuXG4iLAorCQkgIGNxcF9yZXF1ZXN0LAorCQkgIGxlMzJfdG9fY3B1KGNxcF9yZXF1ZXN0LT5jcXBfd3FlLndxZV93b3Jkc1tORVNfQ1FQX1dRRV9PUENPREVfSURYXSkgJiAweDNmKTsKKworCWlmIChjcXBfcmVxdWVzdC0+ZHluYW1pYykgeworCQlrZnJlZShjcXBfcmVxdWVzdCk7CisJfSBlbHNlIHsKKwkJc3Bpbl9sb2NrX2lycXNhdmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKKwkJbGlzdF9hZGRfdGFpbCgmY3FwX3JlcXVlc3QtPmxpc3QsICZuZXNkZXYtPmNxcF9hdmFpbF9yZXFzKTsKKwkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOworCX0KK30KKwordm9pZCBuZXNfcHV0X2NxcF9yZXF1ZXN0KHN0cnVjdCBuZXNfZGV2aWNlICpuZXNkZXYsCisJCQkgc3RydWN0IG5lc19jcXBfcmVxdWVzdCAqY3FwX3JlcXVlc3QpCit7CisJaWYgKGF0b21pY19kZWNfYW5kX3Rlc3QoJmNxcF9yZXF1ZXN0LT5yZWZjb3VudCkpCisJCW5lc19mcmVlX2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QpOworfQogCiAvKioKICAqIG5lc19wb3N0X2NxcF9yZXF1ZXN0CiAgKi8KIHZvaWQgbmVzX3Bvc3RfY3FwX3JlcXVlc3Qoc3RydWN0IG5lc19kZXZpY2UgKm5lc2RldiwKLQkJc3RydWN0IG5lc19jcXBfcmVxdWVzdCAqY3FwX3JlcXVlc3QsIGludCByaW5nX2Rvb3JiZWxsKQorCQkJICBzdHJ1Y3QgbmVzX2NxcF9yZXF1ZXN0ICpjcXBfcmVxdWVzdCkKIHsKIAlzdHJ1Y3QgbmVzX2h3X2NxcF93cWUgKmNxcF93cWU7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKQEAgLTYwMCwxMCArNjI0LDkgQEAKIAkJCQluZXNkZXYtPmNxcC5zcV9oZWFkLCBuZXNkZXYtPmNxcC5zcV90YWlsLCBuZXNkZXYtPmNxcC5zcV9zaXplLAogCQkJCWNxcF9yZXF1ZXN0LT53YWl0aW5nLCBhdG9taWNfcmVhZCgmY3FwX3JlcXVlc3QtPnJlZmNvdW50KSk7CiAJCWJhcnJpZXIoKTsKLQkJaWYgKHJpbmdfZG9vcmJlbGwpIHsKLQkJCS8qIFJpbmcgZG9vcmJlbGwgKDEgV1FFcykgKi8KLQkJCW5lc193cml0ZTMyKG5lc2Rldi0+cmVncytORVNfV1FFX0FMTE9DLCAweDAxODAwMDAwIHwgbmVzZGV2LT5jcXAucXBfaWQpOwotCQl9CisKKwkJLyogUmluZyBkb29yYmVsbCAoMSBXUUVzKSAqLworCQluZXNfd3JpdGUzMihuZXNkZXYtPnJlZ3MrTkVTX1dRRV9BTExPQywgMHgwMTgwMDAwMCB8IG5lc2Rldi0+Y3FwLnFwX2lkKTsKIAogCQliYXJyaWVyKCk7CiAJfSBlbHNlIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9uZXMvbmVzX3ZlcmJzLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbmVzL25lc192ZXJicy5jCmluZGV4IGQ2MTdkYTkuLmUzOTM5ZDEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9uZXMvbmVzX3ZlcmJzLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L25lcy9uZXNfdmVyYnMuYwpAQCAtNTUsNyArNTUsNiBAQAogICogbmVzX2FsbG9jX213CiAgKi8KIHN0YXRpYyBzdHJ1Y3QgaWJfbXcgKm5lc19hbGxvY19tdyhzdHJ1Y3QgaWJfcGQgKmlicGQpIHsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwogCXN0cnVjdCBuZXNfcGQgKm5lc3BkID0gdG9fbmVzcGQoaWJwZCk7CiAJc3RydWN0IG5lc192bmljICpuZXN2bmljID0gdG9fbmVzdm5pYyhpYnBkLT5kZXZpY2UpOwogCXN0cnVjdCBuZXNfZGV2aWNlICpuZXNkZXYgPSBuZXN2bmljLT5uZXNkZXY7CkBAIC0xMTksNyArMTE4LDcgQEAKIAlzZXRfd3FlXzMyYml0X3ZhbHVlKGNxcF93cWUtPndxZV93b3JkcywgTkVTX0NRUF9TVEFHX1dRRV9TVEFHX0lEWCwgc3RhZyk7CiAKIAlhdG9taWNfc2V0KCZjcXBfcmVxdWVzdC0+cmVmY291bnQsIDIpOwotCW5lc19wb3N0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QsIE5FU19DUVBfUkVRVUVTVF9SSU5HX0RPT1JCRUxMKTsKKwluZXNfcG9zdF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0KTsKIAogCS8qIFdhaXQgZm9yIENRUCAqLwogCXJldCA9IHdhaXRfZXZlbnRfdGltZW91dChjcXBfcmVxdWVzdC0+d2FpdHEsIChjcXBfcmVxdWVzdC0+cmVxdWVzdF9kb25lICE9IDApLApAQCAtMTI4LDE1ICsxMjcsNyBAQAogCQkJIiBDUVAgTWFqb3I6TWlub3IgY29kZXMgPSAweCUwNFg6MHglMDRYLlxuIiwKIAkJCXN0YWcsIHJldCwgY3FwX3JlcXVlc3QtPm1ham9yX2NvZGUsIGNxcF9yZXF1ZXN0LT5taW5vcl9jb2RlKTsKIAlpZiAoKCFyZXQpIHx8IChjcXBfcmVxdWVzdC0+bWFqb3JfY29kZSkpIHsKLQkJaWYgKGF0b21pY19kZWNfYW5kX3Rlc3QoJmNxcF9yZXF1ZXN0LT5yZWZjb3VudCkpIHsKLQkJCWlmIChjcXBfcmVxdWVzdC0+ZHluYW1pYykgewotCQkJCWtmcmVlKGNxcF9yZXF1ZXN0KTsKLQkJCX0gZWxzZSB7Ci0JCQkJc3Bpbl9sb2NrX2lycXNhdmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCQlsaXN0X2FkZF90YWlsKCZjcXBfcmVxdWVzdC0+bGlzdCwgJm5lc2Rldi0+Y3FwX2F2YWlsX3JlcXMpOwotCQkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCX0KLQkJfQorCQluZXNfcHV0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QpOwogCQlrZnJlZShuZXNtcik7CiAJCW5lc19mcmVlX3Jlc291cmNlKG5lc2FkYXB0ZXIsIG5lc2FkYXB0ZXItPmFsbG9jYXRlZF9tcnMsIHN0YWdfaW5kZXgpOwogCQlpZiAoIXJldCkgewpAQCAtMTQ0LDE3ICsxMzUsOCBAQAogCQl9IGVsc2UgewogCQkJcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7CiAJCX0KLQl9IGVsc2UgewotCQlpZiAoYXRvbWljX2RlY19hbmRfdGVzdCgmY3FwX3JlcXVlc3QtPnJlZmNvdW50KSkgewotCQkJaWYgKGNxcF9yZXF1ZXN0LT5keW5hbWljKSB7Ci0JCQkJa2ZyZWUoY3FwX3JlcXVlc3QpOwotCQkJfSBlbHNlIHsKLQkJCQlzcGluX2xvY2tfaXJxc2F2ZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQkJCWxpc3RfYWRkX3RhaWwoJmNxcF9yZXF1ZXN0LT5saXN0LCAmbmVzZGV2LT5jcXBfYXZhaWxfcmVxcyk7Ci0JCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQkJfQotCQl9CiAJfQorCW5lc19wdXRfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCk7CiAKIAluZXNtci0+aWJtdy5ya2V5ID0gc3RhZzsKIAluZXNtci0+bW9kZSA9IElXTkVTX01FTVJFR19UWVBFX01XOwpAQCAtMTc4LDcgKzE2MCw2IEBACiAJc3RydWN0IG5lc19od19jcXBfd3FlICpjcXBfd3FlOwogCXN0cnVjdCBuZXNfY3FwX3JlcXVlc3QgKmNxcF9yZXF1ZXN0OwogCWludCBlcnIgPSAwOwotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAJaW50IHJldDsKIAogCS8qIERlYWxsb2NhdGUgdGhlIHdpbmRvdyB3aXRoIHRoZSBhZGFwdGVyICovCkBAIC0xOTQsNyArMTc1LDcgQEAKIAlzZXRfd3FlXzMyYml0X3ZhbHVlKGNxcF93cWUtPndxZV93b3JkcywgTkVTX0NRUF9TVEFHX1dRRV9TVEFHX0lEWCwgaWJtdy0+cmtleSk7CiAKIAlhdG9taWNfc2V0KCZjcXBfcmVxdWVzdC0+cmVmY291bnQsIDIpOwotCW5lc19wb3N0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QsIE5FU19DUVBfUkVRVUVTVF9SSU5HX0RPT1JCRUxMKTsKKwluZXNfcG9zdF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0KTsKIAogCS8qIFdhaXQgZm9yIENRUCAqLwogCW5lc19kZWJ1ZyhORVNfREJHX01SLCAiV2FpdGluZyBmb3IgZGVhbGxvY2F0ZSBTVGFnIDB4JTA4WCB0byBjb21wbGV0ZS5cbiIsCkBAIC0yMDQsMzIgKzE4NSwxMiBAQAogCW5lc19kZWJ1ZyhORVNfREJHX01SLCAiRGVhbGxvY2F0ZSBTVGFnIGNvbXBsZXRlZCwgd2FpdF9ldmVudF90aW1lb3V0IHJldCA9ICV1LCIKIAkJCSIgQ1FQIE1ham9yOk1pbm9yIGNvZGVzID0gMHglMDRYOjB4JTA0WC5cbiIsCiAJCQlyZXQsIGNxcF9yZXF1ZXN0LT5tYWpvcl9jb2RlLCBjcXBfcmVxdWVzdC0+bWlub3JfY29kZSk7Ci0JaWYgKCghcmV0KSB8fCAoY3FwX3JlcXVlc3QtPm1ham9yX2NvZGUpKSB7Ci0JCWlmIChhdG9taWNfZGVjX2FuZF90ZXN0KCZjcXBfcmVxdWVzdC0+cmVmY291bnQpKSB7Ci0JCQlpZiAoY3FwX3JlcXVlc3QtPmR5bmFtaWMpIHsKLQkJCQlrZnJlZShjcXBfcmVxdWVzdCk7Ci0JCQl9IGVsc2UgewotCQkJCXNwaW5fbG9ja19pcnFzYXZlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCQkJbGlzdF9hZGRfdGFpbCgmY3FwX3JlcXVlc3QtPmxpc3QsICZuZXNkZXYtPmNxcF9hdmFpbF9yZXFzKTsKLQkJCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCQl9Ci0JCX0KLQkJaWYgKCFyZXQpIHsKLQkJCWVyciA9IC1FVElNRTsKLQkJfSBlbHNlIHsKLQkJCWVyciA9IC1FSU87Ci0JCX0KLQl9IGVsc2UgewotCQlpZiAoYXRvbWljX2RlY19hbmRfdGVzdCgmY3FwX3JlcXVlc3QtPnJlZmNvdW50KSkgewotCQkJaWYgKGNxcF9yZXF1ZXN0LT5keW5hbWljKSB7Ci0JCQkJa2ZyZWUoY3FwX3JlcXVlc3QpOwotCQkJfSBlbHNlIHsKLQkJCQlzcGluX2xvY2tfaXJxc2F2ZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQkJCWxpc3RfYWRkX3RhaWwoJmNxcF9yZXF1ZXN0LT5saXN0LCAmbmVzZGV2LT5jcXBfYXZhaWxfcmVxcyk7Ci0JCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQkJfQotCQl9Ci0JfQorCWlmICghcmV0KQorCQllcnIgPSAtRVRJTUU7CisJZWxzZSBpZiAoY3FwX3JlcXVlc3QtPm1ham9yX2NvZGUpCisJCWVyciA9IC1FSU87CisKKwluZXNfcHV0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QpOwogCiAJbmVzX2ZyZWVfcmVzb3VyY2UobmVzYWRhcHRlciwgbmVzYWRhcHRlci0+YWxsb2NhdGVkX21ycywKIAkJCShpYm13LT5ya2V5ICYgMHgwZmZmZmYwMCkgPj4gOCk7CkBAIC01MTYsNyArNDc3LDcgQEAKIAkJCShuZXNmbXItPm5lc21yLnBibHNfdXNlZC0xKSA6IG5lc2Ztci0+bmVzbXIucGJsc191c2VkKTsKIAogCWF0b21pY19zZXQoJmNxcF9yZXF1ZXN0LT5yZWZjb3VudCwgMik7Ci0JbmVzX3Bvc3RfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCwgTkVTX0NRUF9SRVFVRVNUX1JJTkdfRE9PUkJFTEwpOworCW5lc19wb3N0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QpOwogCiAJLyogV2FpdCBmb3IgQ1FQICovCiAJcmV0ID0gd2FpdF9ldmVudF90aW1lb3V0KGNxcF9yZXF1ZXN0LT53YWl0cSwgKGNxcF9yZXF1ZXN0LT5yZXF1ZXN0X2RvbmUgIT0gMCksCkBAIC01MjYsMjkgKzQ4NywxMSBAQAogCQkJc3RhZywgcmV0LCBjcXBfcmVxdWVzdC0+bWFqb3JfY29kZSwgY3FwX3JlcXVlc3QtPm1pbm9yX2NvZGUpOwogCiAJaWYgKCghcmV0KSB8fCAoY3FwX3JlcXVlc3QtPm1ham9yX2NvZGUpKSB7Ci0JCWlmIChhdG9taWNfZGVjX2FuZF90ZXN0KCZjcXBfcmVxdWVzdC0+cmVmY291bnQpKSB7Ci0JCQlpZiAoY3FwX3JlcXVlc3QtPmR5bmFtaWMpIHsKLQkJCQlrZnJlZShjcXBfcmVxdWVzdCk7Ci0JCQl9IGVsc2UgewotCQkJCXNwaW5fbG9ja19pcnFzYXZlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCQkJbGlzdF9hZGRfdGFpbCgmY3FwX3JlcXVlc3QtPmxpc3QsICZuZXNkZXYtPmNxcF9hdmFpbF9yZXFzKTsKLQkJCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCQl9Ci0JCX0KKwkJbmVzX3B1dF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0KTsKIAkJcmV0ID0gKCFyZXQpID8gLUVUSU1FIDogLUVJTzsKIAkJZ290byBmYWlsZWRfbGVhZl92cGJsX3BhZ2VzX2FsbG9jOwotCX0gZWxzZSB7Ci0JCWlmIChhdG9taWNfZGVjX2FuZF90ZXN0KCZjcXBfcmVxdWVzdC0+cmVmY291bnQpKSB7Ci0JCQlpZiAoY3FwX3JlcXVlc3QtPmR5bmFtaWMpIHsKLQkJCQlrZnJlZShjcXBfcmVxdWVzdCk7Ci0JCQl9IGVsc2UgewotCQkJCXNwaW5fbG9ja19pcnFzYXZlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCQkJbGlzdF9hZGRfdGFpbCgmY3FwX3JlcXVlc3QtPmxpc3QsICZuZXNkZXYtPmNxcF9hdmFpbF9yZXFzKTsKLQkJCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCQl9Ci0JCX0KIAl9Ci0KKwluZXNfcHV0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QpOwogCW5lc2Ztci0+bmVzbXIuaWJmbXIubGtleSA9IHN0YWc7CiAJbmVzZm1yLT5uZXNtci5pYmZtci5ya2V5ID0gc3RhZzsKIAluZXNmbXItPmF0dHIgPSAqaWJmbXJfYXR0cjsKQEAgLTE0NzQsNyArMTQxNyw3IEBACiAJCQlzZXRfd3FlXzY0Yml0X3ZhbHVlKGNxcF93cWUtPndxZV93b3JkcywgTkVTX0NRUF9RUF9XUUVfQ09OVEVYVF9MT1dfSURYLCB1NjR0ZW1wKTsKIAogCQkJYXRvbWljX3NldCgmY3FwX3JlcXVlc3QtPnJlZmNvdW50LCAyKTsKLQkJCW5lc19wb3N0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QsIE5FU19DUVBfUkVRVUVTVF9SSU5HX0RPT1JCRUxMKTsKKwkJCW5lc19wb3N0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QpOwogCiAJCQkvKiBXYWl0IGZvciBDUVAgKi8KIAkJCW5lc19kZWJ1ZyhORVNfREJHX1FQLCAiV2FpdGluZyBmb3IgY3JlYXRlIGlXQVJQIFFQJXUgdG8gY29tcGxldGUuXG4iLApAQCAtMTQ4NywxNSArMTQzMCw3IEBACiAJCQkJCW5lc3FwLT5od3FwLnFwX2lkLCByZXQsIG5lc2Rldi0+Y3FwLnNxX2hlYWQsIG5lc2Rldi0+Y3FwLnNxX3RhaWwsCiAJCQkJCWNxcF9yZXF1ZXN0LT5tYWpvcl9jb2RlLCBjcXBfcmVxdWVzdC0+bWlub3JfY29kZSk7CiAJCQlpZiAoKCFyZXQpIHx8IChjcXBfcmVxdWVzdC0+bWFqb3JfY29kZSkpIHsKLQkJCQlpZiAoYXRvbWljX2RlY19hbmRfdGVzdCgmY3FwX3JlcXVlc3QtPnJlZmNvdW50KSkgewotCQkJCQlpZiAoY3FwX3JlcXVlc3QtPmR5bmFtaWMpIHsKLQkJCQkJCWtmcmVlKGNxcF9yZXF1ZXN0KTsKLQkJCQkJfSBlbHNlIHsKLQkJCQkJCXNwaW5fbG9ja19pcnFzYXZlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCQkJCQlsaXN0X2FkZF90YWlsKCZjcXBfcmVxdWVzdC0+bGlzdCwgJm5lc2Rldi0+Y3FwX2F2YWlsX3JlcXMpOwotCQkJCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQkJCQl9Ci0JCQkJfQorCQkJCW5lc19wdXRfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCk7CiAJCQkJbmVzX2ZyZWVfcmVzb3VyY2UobmVzYWRhcHRlciwgbmVzYWRhcHRlci0+YWxsb2NhdGVkX3FwcywgcXBfbnVtKTsKIAkJCQluZXNfZnJlZV9xcF9tZW0obmVzZGV2LCBuZXNxcCx2aXJ0X3dxcyk7CiAJCQkJa2ZyZWUobmVzcXAtPmFsbG9jYXRlZF9idWZmZXIpOwpAQCAtMTUwNCwxOCArMTQzOSwxMCBAQAogCQkJCX0gZWxzZSB7CiAJCQkJCXJldHVybiBFUlJfUFRSKC1FSU8pOwogCQkJCX0KLQkJCX0gZWxzZSB7Ci0JCQkJaWYgKGF0b21pY19kZWNfYW5kX3Rlc3QoJmNxcF9yZXF1ZXN0LT5yZWZjb3VudCkpIHsKLQkJCQkJaWYgKGNxcF9yZXF1ZXN0LT5keW5hbWljKSB7Ci0JCQkJCQlrZnJlZShjcXBfcmVxdWVzdCk7Ci0JCQkJCX0gZWxzZSB7Ci0JCQkJCQlzcGluX2xvY2tfaXJxc2F2ZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQkJCQkJbGlzdF9hZGRfdGFpbCgmY3FwX3JlcXVlc3QtPmxpc3QsICZuZXNkZXYtPmNxcF9hdmFpbF9yZXFzKTsKLQkJCQkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCQkJfQotCQkJCX0KIAkJCX0KIAorCQkJbmVzX3B1dF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0KTsKKwogCQkJaWYgKGlicGQtPnVvYmplY3QpIHsKIAkJCQl1cmVzcC5tbWFwX3NxX2RiX2luZGV4ID0gbmVzcXAtPm1tYXBfc3FfZGJfaW5kZXg7CiAJCQkJdXJlc3AuYWN0dWFsX3NxX3NpemUgPSBzcV9zaXplOwpAQCAtMTgxNyw3ICsxNzQ0LDcgQEAKIAkJCWNwdV90b19sZTMyKCgodTMyKSgodTY0dGVtcCkgPj4gMzMpKSAmIDB4N0ZGRkZGRkYpOwogCiAJYXRvbWljX3NldCgmY3FwX3JlcXVlc3QtPnJlZmNvdW50LCAyKTsKLQluZXNfcG9zdF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0LCBORVNfQ1FQX1JFUVVFU1RfUklOR19ET09SQkVMTCk7CisJbmVzX3Bvc3RfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCk7CiAKIAkvKiBXYWl0IGZvciBDUVAgKi8KIAluZXNfZGVidWcoTkVTX0RCR19DUSwgIldhaXRpbmcgZm9yIGNyZWF0ZSBpV0FSUCBDUSV1IHRvIGNvbXBsZXRlLlxuIiwKQEAgLTE4MjcsMzIgKzE3NTQsMTUgQEAKIAluZXNfZGVidWcoTkVTX0RCR19DUSwgIkNyZWF0ZSBpV0FSUCBDUSV1IGNvbXBsZXRlZCwgd2FpdF9ldmVudF90aW1lb3V0IHJldCA9ICVkLlxuIiwKIAkJCW5lc2NxLT5od19jcS5jcV9udW1iZXIsIHJldCk7CiAJaWYgKCghcmV0KSB8fCAoY3FwX3JlcXVlc3QtPm1ham9yX2NvZGUpKSB7Ci0JCWlmIChhdG9taWNfZGVjX2FuZF90ZXN0KCZjcXBfcmVxdWVzdC0+cmVmY291bnQpKSB7Ci0JCQlpZiAoY3FwX3JlcXVlc3QtPmR5bmFtaWMpIHsKLQkJCQlrZnJlZShjcXBfcmVxdWVzdCk7Ci0JCQl9IGVsc2UgewotCQkJCXNwaW5fbG9ja19pcnFzYXZlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCQkJbGlzdF9hZGRfdGFpbCgmY3FwX3JlcXVlc3QtPmxpc3QsICZuZXNkZXYtPmNxcF9hdmFpbF9yZXFzKTsKLQkJCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCQl9Ci0JCX0KKwkJbmVzX3B1dF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0KTsKIAkJaWYgKCFjb250ZXh0KQogCQkJcGNpX2ZyZWVfY29uc2lzdGVudChuZXNkZXYtPnBjaWRldiwgbmVzY3EtPmNxX21lbV9zaXplLCBtZW0sCiAJCQkJCW5lc2NxLT5od19jcS5jcV9wYmFzZSk7CiAJCW5lc19mcmVlX3Jlc291cmNlKG5lc2FkYXB0ZXIsIG5lc2FkYXB0ZXItPmFsbG9jYXRlZF9jcXMsIGNxX251bSk7CiAJCWtmcmVlKG5lc2NxKTsKIAkJcmV0dXJuIEVSUl9QVFIoLUVJTyk7Ci0JfSBlbHNlIHsKLQkJaWYgKGF0b21pY19kZWNfYW5kX3Rlc3QoJmNxcF9yZXF1ZXN0LT5yZWZjb3VudCkpIHsKLQkJCWlmIChjcXBfcmVxdWVzdC0+ZHluYW1pYykgewotCQkJCWtmcmVlKGNxcF9yZXF1ZXN0KTsKLQkJCX0gZWxzZSB7Ci0JCQkJc3Bpbl9sb2NrX2lycXNhdmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCQlsaXN0X2FkZF90YWlsKCZjcXBfcmVxdWVzdC0+bGlzdCwgJm5lc2Rldi0+Y3FwX2F2YWlsX3JlcXMpOwotCQkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCX0KLQkJfQogCX0KKwluZXNfcHV0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QpOwogCiAJaWYgKGNvbnRleHQpIHsKIAkJLyogZnJlZSB0aGUgbmVzcGJsICovCkBAIC0xOTMxLDcgKzE4NDEsNyBAQAogCQkobmVzY3EtPmh3X2NxLmNxX251bWJlciB8ICgodTMyKVBDSV9GVU5DKG5lc2Rldi0+cGNpZGV2LT5kZXZmbikgPDwgMTYpKSk7CiAJbmVzX2ZyZWVfcmVzb3VyY2UobmVzYWRhcHRlciwgbmVzYWRhcHRlci0+YWxsb2NhdGVkX2NxcywgbmVzY3EtPmh3X2NxLmNxX251bWJlcik7CiAJYXRvbWljX3NldCgmY3FwX3JlcXVlc3QtPnJlZmNvdW50LCAyKTsKLQluZXNfcG9zdF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0LCBORVNfQ1FQX1JFUVVFU1RfUklOR19ET09SQkVMTCk7CisJbmVzX3Bvc3RfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCk7CiAKIAkvKiBXYWl0IGZvciBDUVAgKi8KIAluZXNfZGVidWcoTkVTX0RCR19DUSwgIldhaXRpbmcgZm9yIGRlc3Ryb3kgaVdBUlAgQ1EldSB0byBjb21wbGV0ZS5cbiIsCkBAIC0xOTQyLDM3ICsxODUyLDE4IEBACiAJCQkiIENRUCBNYWpvcjpNaW5vciBjb2RlcyA9IDB4JTA0WDoweCUwNFguXG4iLAogCQkJbmVzY3EtPmh3X2NxLmNxX251bWJlciwgcmV0LCBjcXBfcmVxdWVzdC0+bWFqb3JfY29kZSwKIAkJCWNxcF9yZXF1ZXN0LT5taW5vcl9jb2RlKTsKLQlpZiAoKCFyZXQpIHx8IChjcXBfcmVxdWVzdC0+bWFqb3JfY29kZSkpIHsKLQkJaWYgKGF0b21pY19kZWNfYW5kX3Rlc3QoJmNxcF9yZXF1ZXN0LT5yZWZjb3VudCkpIHsKLQkJCWlmIChjcXBfcmVxdWVzdC0+ZHluYW1pYykgewotCQkJCWtmcmVlKGNxcF9yZXF1ZXN0KTsKLQkJCX0gZWxzZSB7Ci0JCQkJc3Bpbl9sb2NrX2lycXNhdmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCQlsaXN0X2FkZF90YWlsKCZjcXBfcmVxdWVzdC0+bGlzdCwgJm5lc2Rldi0+Y3FwX2F2YWlsX3JlcXMpOwotCQkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCX0KLQkJfQotCQlpZiAoIXJldCkgewotCQkJbmVzX2RlYnVnKE5FU19EQkdfQ1EsICJpV0FSUCBDUSV1IGRlc3Ryb3kgdGltZW91dCBleHBpcmVkXG4iLAorCWlmICghcmV0KSB7CisJCW5lc19kZWJ1ZyhORVNfREJHX0NRLCAiaVdBUlAgQ1EldSBkZXN0cm95IHRpbWVvdXQgZXhwaXJlZFxuIiwKIAkJCQkJbmVzY3EtPmh3X2NxLmNxX251bWJlcik7Ci0JCQlyZXQgPSAtRVRJTUU7Ci0JCX0gZWxzZSB7Ci0JCQluZXNfZGVidWcoTkVTX0RCR19DUSwgImlXQVJQIENRJXUgZGVzdHJveSBmYWlsZWRcbiIsCisJCXJldCA9IC1FVElNRTsKKwl9IGVsc2UgaWYgKGNxcF9yZXF1ZXN0LT5tYWpvcl9jb2RlKSB7CisJCW5lc19kZWJ1ZyhORVNfREJHX0NRLCAiaVdBUlAgQ1EldSBkZXN0cm95IGZhaWxlZFxuIiwKIAkJCQkJbmVzY3EtPmh3X2NxLmNxX251bWJlcik7Ci0JCQlyZXQgPSAtRUlPOwotCQl9CisJCXJldCA9IC1FSU87CiAJfSBlbHNlIHsKIAkJcmV0ID0gMDsKLQkJaWYgKGF0b21pY19kZWNfYW5kX3Rlc3QoJmNxcF9yZXF1ZXN0LT5yZWZjb3VudCkpIHsKLQkJCWlmIChjcXBfcmVxdWVzdC0+ZHluYW1pYykgewotCQkJCWtmcmVlKGNxcF9yZXF1ZXN0KTsKLQkJCX0gZWxzZSB7Ci0JCQkJc3Bpbl9sb2NrX2lycXNhdmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCQlsaXN0X2FkZF90YWlsKCZjcXBfcmVxdWVzdC0+bGlzdCwgJm5lc2Rldi0+Y3FwX2F2YWlsX3JlcXMpOwotCQkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCX0KLQkJfQogCX0KKwluZXNfcHV0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QpOwogCiAJaWYgKG5lc2NxLT5jcV9tZW1fc2l6ZSkKIAkJcGNpX2ZyZWVfY29uc2lzdGVudChuZXNkZXYtPnBjaWRldiwgbmVzY3EtPmNxX21lbV9zaXplLApAQCAtMjA5Niw3ICsxOTg3LDcgQEAKIAliYXJyaWVyKCk7CiAKIAlhdG9taWNfc2V0KCZjcXBfcmVxdWVzdC0+cmVmY291bnQsIDIpOwotCW5lc19wb3N0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QsIE5FU19DUVBfUkVRVUVTVF9SSU5HX0RPT1JCRUxMKTsKKwluZXNfcG9zdF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0KTsKIAogCS8qIFdhaXQgZm9yIENRUCAqLwogCXJldCA9IHdhaXRfZXZlbnRfdGltZW91dChjcXBfcmVxdWVzdC0+d2FpdHEsICgwICE9IGNxcF9yZXF1ZXN0LT5yZXF1ZXN0X2RvbmUpLApAQCAtMjEwNSwxNSArMTk5Niw4IEBACiAJCQkiIENRUCBNYWpvcjpNaW5vciBjb2RlcyA9IDB4JTA0WDoweCUwNFguXG4iLAogCQkJc3RhZywgcmV0LCBjcXBfcmVxdWVzdC0+bWFqb3JfY29kZSwgY3FwX3JlcXVlc3QtPm1pbm9yX2NvZGUpOwogCW1ham9yX2NvZGUgPSBjcXBfcmVxdWVzdC0+bWFqb3JfY29kZTsKLQlpZiAoYXRvbWljX2RlY19hbmRfdGVzdCgmY3FwX3JlcXVlc3QtPnJlZmNvdW50KSkgewotCQlpZiAoY3FwX3JlcXVlc3QtPmR5bmFtaWMpIHsKLQkJCWtmcmVlKGNxcF9yZXF1ZXN0KTsKLQkJfSBlbHNlIHsKLQkJCXNwaW5fbG9ja19pcnFzYXZlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCQlsaXN0X2FkZF90YWlsKCZjcXBfcmVxdWVzdC0+bGlzdCwgJm5lc2Rldi0+Y3FwX2F2YWlsX3JlcXMpOwotCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQl9Ci0JfQorCW5lc19wdXRfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCk7CisKIAlpZiAoIXJldCkKIAkJcmV0dXJuIC1FVElNRTsKIAllbHNlIGlmIChtYWpvcl9jb2RlKQpAQCAtMjc1NCw3ICsyNjM4LDcgQEAKIAlzZXRfd3FlXzMyYml0X3ZhbHVlKGNxcF93cWUtPndxZV93b3JkcywgTkVTX0NRUF9TVEFHX1dRRV9TVEFHX0lEWCwgaWJfbXItPnJrZXkpOwogCiAJYXRvbWljX3NldCgmY3FwX3JlcXVlc3QtPnJlZmNvdW50LCAyKTsKLQluZXNfcG9zdF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0LCBORVNfQ1FQX1JFUVVFU1RfUklOR19ET09SQkVMTCk7CisJbmVzX3Bvc3RfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCk7CiAKIAkvKiBXYWl0IGZvciBDUVAgKi8KIAluZXNfZGVidWcoTkVTX0RCR19NUiwgIldhaXRpbmcgZm9yIGRlYWxsb2NhdGUgU1RhZyAweCUwOFggY29tcGxldGVkXG4iLCBpYl9tci0+cmtleSk7CkBAIC0yNzcxLDE1ICsyNjU1LDkgQEAKIAogCW1ham9yX2NvZGUgPSBjcXBfcmVxdWVzdC0+bWFqb3JfY29kZTsKIAltaW5vcl9jb2RlID0gY3FwX3JlcXVlc3QtPm1pbm9yX2NvZGU7Ci0JaWYgKGF0b21pY19kZWNfYW5kX3Rlc3QoJmNxcF9yZXF1ZXN0LT5yZWZjb3VudCkpIHsKLQkJaWYgKGNxcF9yZXF1ZXN0LT5keW5hbWljKSB7Ci0JCQlrZnJlZShjcXBfcmVxdWVzdCk7Ci0JCX0gZWxzZSB7Ci0JCQlzcGluX2xvY2tfaXJxc2F2ZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQkJbGlzdF9hZGRfdGFpbCgmY3FwX3JlcXVlc3QtPmxpc3QsICZuZXNkZXYtPmNxcF9hdmFpbF9yZXFzKTsKLQkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJfQotCX0KKworCW5lc19wdXRfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCk7CisKIAlpZiAoIXJldCkgewogCQluZXNfZGVidWcoTkVTX0RCR19NUiwgIlRpbWVvdXQgd2FpdGluZyB0byBkZXN0cm95IFNUYWcsIgogCQkJCSIgaWJfbXI9JXAsIHJrZXkgPSAweCUwOFhcbiIsCkBAIC0yOTA0LDcgKzI3ODIsNiBAQAogCS8qIHN0cnVjdCBpd19jbV9pZCAqY21faWQgPSBuZXNxcC0+Y21faWQ7ICovCiAJLyogc3RydWN0IGl3X2NtX2V2ZW50IGNtX2V2ZW50OyAqLwogCXN0cnVjdCBuZXNfY3FwX3JlcXVlc3QgKmNxcF9yZXF1ZXN0OwotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAJaW50IHJldDsKIAl1MTYgbWFqb3JfY29kZTsKIApAQCAtMjkzMiw3ICsyODA5LDcgQEAKIAlzZXRfd3FlXzY0Yml0X3ZhbHVlKGNxcF93cWUtPndxZV93b3JkcywgTkVTX0NRUF9RUF9XUUVfQ09OVEVYVF9MT1dfSURYLCAodTY0KW5lc3FwLT5uZXNxcF9jb250ZXh0X3BiYXNlKTsKIAogCWF0b21pY19zZXQoJmNxcF9yZXF1ZXN0LT5yZWZjb3VudCwgMik7Ci0JbmVzX3Bvc3RfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCwgTkVTX0NRUF9SRVFVRVNUX1JJTkdfRE9PUkJFTEwpOworCW5lc19wb3N0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QpOwogCiAJLyogV2FpdCBmb3IgQ1FQICovCiAJaWYgKHdhaXRfY29tcGxldGlvbikgewpAQCAtMjk1MCwxNSArMjgyNyw5IEBACiAJCQkJCW5lc3FwLT5od3FwLnFwX2lkLCBjcXBfcmVxdWVzdC0+bWFqb3JfY29kZSwKIAkJCQkJY3FwX3JlcXVlc3QtPm1pbm9yX2NvZGUsIG5leHRfaXdhcnBfc3RhdGUpOwogCQl9Ci0JCWlmIChhdG9taWNfZGVjX2FuZF90ZXN0KCZjcXBfcmVxdWVzdC0+cmVmY291bnQpKSB7Ci0JCQlpZiAoY3FwX3JlcXVlc3QtPmR5bmFtaWMpIHsKLQkJCQlrZnJlZShjcXBfcmVxdWVzdCk7Ci0JCQl9IGVsc2UgewotCQkJCXNwaW5fbG9ja19pcnFzYXZlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCQkJbGlzdF9hZGRfdGFpbCgmY3FwX3JlcXVlc3QtPmxpc3QsICZuZXNkZXYtPmNxcF9hdmFpbF9yZXFzKTsKLQkJCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCQl9Ci0JCX0KKworCQluZXNfcHV0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QpOworCiAJCWlmICghcmV0KQogCQkJcmV0dXJuIC1FVElNRTsKIAkJZWxzZSBpZiAobWFqb3JfY29kZSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXBvaWIvS2NvbmZpZyBiL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXBvaWIvS2NvbmZpZwppbmRleCAxZjc2YmFkLi42OTE1MjVjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL0tjb25maWcKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9LY29uZmlnCkBAIC0xLDYgKzEsNyBAQAogY29uZmlnIElORklOSUJBTkRfSVBPSUIKIAl0cmlzdGF0ZSAiSVAtb3Zlci1JbmZpbmlCYW5kIgogCWRlcGVuZHMgb24gTkVUREVWSUNFUyAmJiBJTkVUICYmIChJUFY2IHx8IElQVjY9bikKKwlzZWxlY3QgSU5FVF9MUk8KIAktLS1oZWxwLS0tCiAJICBTdXBwb3J0IGZvciB0aGUgSVAtb3Zlci1JbmZpbmlCYW5kIHByb3RvY29sIChJUG9JQikuIFRoaXMKIAkgIHRyYW5zcG9ydHMgSVAgcGFja2V0cyBvdmVyIEluZmluaUJhbmQgc28geW91IGNhbiB1c2UgeW91ciBJQgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9pcG9pYi5oIGIvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9pcG9pYi5oCmluZGV4IGNhMTI2ZmMuLmIwZmZjOWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXBvaWIvaXBvaWIuaAorKysgYi9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL2lwb2liLmgKQEAgLTMwLDggKzMwLDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IGlwb2liLmggMTM1OCAyMDA0LTEyLTE3IDIyOjAwOjExWiByb2xhbmQgJAogICovCiAKICNpZm5kZWYgX0lQT0lCX0gKQEAgLTUyLDkgKzUwLDE2IEBACiAjaW5jbHVkZSA8cmRtYS9pYl92ZXJicy5oPgogI2luY2x1ZGUgPHJkbWEvaWJfcGFjay5oPgogI2luY2x1ZGUgPHJkbWEvaWJfc2EuaD4KKyNpbmNsdWRlIDxsaW51eC9pbmV0X2xyby5oPgogCiAvKiBjb25zdGFudHMgKi8KIAorZW51bSBpcG9pYl9mbHVzaF9sZXZlbCB7CisJSVBPSUJfRkxVU0hfTElHSFQsCisJSVBPSUJfRkxVU0hfTk9STUFMLAorCUlQT0lCX0ZMVVNIX0hFQVZZCit9OworCiBlbnVtIHsKIAlJUE9JQl9FTkNBUF9MRU4JCSAgPSA0LAogCkBAIC02NSw4ICs3MCw4IEBACiAJSVBPSUJfQ01fQlVGX1NJWkUJICA9IElQT0lCX0NNX01UVSAgKyBJUE9JQl9FTkNBUF9MRU4sCiAJSVBPSUJfQ01fSEVBRF9TSVpFCSAgPSBJUE9JQl9DTV9CVUZfU0laRSAlIFBBR0VfU0laRSwKIAlJUE9JQl9DTV9SWF9TRwkJICA9IEFMSUdOKElQT0lCX0NNX0JVRl9TSVpFLCBQQUdFX1NJWkUpIC8gUEFHRV9TSVpFLAotCUlQT0lCX1JYX1JJTkdfU0laRQkgID0gMTI4LAotCUlQT0lCX1RYX1JJTkdfU0laRQkgID0gNjQsCisJSVBPSUJfUlhfUklOR19TSVpFCSAgPSAyNTYsCisJSVBPSUJfVFhfUklOR19TSVpFCSAgPSAxMjgsCiAJSVBPSUJfTUFYX1FVRVVFX1NJWkUJICA9IDgxOTIsCiAJSVBPSUJfTUlOX1FVRVVFX1NJWkUJICA9IDIsCiAJSVBPSUJfQ01fTUFYX0NPTk5fUVAJICA9IDQwOTYsCkBAIC04NCw3ICs4OSw2IEBACiAJSVBPSUJfRkxBR19TVUJJTlRFUkZBQ0UJICA9IDUsCiAJSVBPSUJfTUNBU1RfUlVOCQkgID0gNiwKIAlJUE9JQl9TVE9QX1JFQVBFUgkgID0gNywKLQlJUE9JQl9NQ0FTVF9TVEFSVEVECSAgPSA4LAogCUlQT0lCX0ZMQUdfQURNSU5fQ00JICA9IDksCiAJSVBPSUJfRkxBR19VTUNBU1QJICA9IDEwLAogCUlQT0lCX0ZMQUdfQ1NVTQkJICA9IDExLApAQCAtOTYsNyArMTAwLDExIEBACiAJSVBPSUJfTUNBU1RfRkxBR19CVVNZCSAgPSAyLAkvKiBqb2luaW5nIG9yIGFscmVhZHkgam9pbmVkICovCiAJSVBPSUJfTUNBU1RfRkxBR19BVFRBQ0hFRCA9IDMsCiAKKwlJUE9JQl9NQVhfTFJPX0RFU0NSSVBUT1JTID0gOCwKKwlJUE9JQl9MUk9fTUFYX0FHR1IgCSAgPSA2NCwKKwogCU1BWF9TRU5EX0NRRQkJICA9IDE2LAorCUlQT0lCX0NNX0NPUFlCUkVBSwkgID0gMjU2LAogfTsKIAogI2RlZmluZQlJUE9JQl9PUF9SRUNWICAgKDF1bCA8PCAzMSkKQEAgLTE0OSw2ICsxNTcsMTEgQEAKIAl1NjQJCW1hcHBpbmdbTUFYX1NLQl9GUkFHUyArIDFdOwogfTsKIAorc3RydWN0IGlwb2liX2NtX3R4X2J1ZiB7CisJc3RydWN0IHNrX2J1ZmYgKnNrYjsKKwl1NjQJCW1hcHBpbmc7Cit9OworCiBzdHJ1Y3QgaWJfY21faWQ7CiAKIHN0cnVjdCBpcG9pYl9jbV9kYXRhIHsKQEAgLTIwNyw3ICsyMjAsNyBAQAogCXN0cnVjdCBuZXRfZGV2aWNlICAgKmRldjsKIAlzdHJ1Y3QgaXBvaWJfbmVpZ2ggICpuZWlnaDsKIAlzdHJ1Y3QgaXBvaWJfcGF0aCAgICpwYXRoOwotCXN0cnVjdCBpcG9pYl90eF9idWYgKnR4X3Jpbmc7CisJc3RydWN0IGlwb2liX2NtX3R4X2J1ZiAqdHhfcmluZzsKIAl1bnNpZ25lZAkgICAgIHR4X2hlYWQ7CiAJdW5zaWduZWQJICAgICB0eF90YWlsOwogCXVuc2lnbmVkIGxvbmcJICAgICBmbGFnczsKQEAgLTI0OSw2ICsyNjIsMTEgQEAKIAl1MTYgICAgIG1heF9jb2FsZXNjZWRfZnJhbWVzOwogfTsKIAorc3RydWN0IGlwb2liX2xybyB7CisJc3RydWN0IG5ldF9scm9fbWdyIGxyb19tZ3I7CisJc3RydWN0IG5ldF9scm9fZGVzYyBscm9fZGVzY1tJUE9JQl9NQVhfTFJPX0RFU0NSSVBUT1JTXTsKK307CisKIC8qCiAgKiBEZXZpY2UgcHJpdmF0ZSBsb2NraW5nOiB0eF9sb2NrIHByb3RlY3RzIG1lbWJlcnMgdXNlZCBpbiBUWCBmYXN0CiAgKiBwYXRoIChhbmQgd2UgdXNlIExMVFggc28gdXBwZXIgbGF5ZXJzIGRvbid0IGRvIGV4dHJhIGxvY2tpbmcpLgpAQCAtMjY0LDcgKzI4Miw2IEBACiAKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCi0Jc3RydWN0IG11dGV4IG1jYXN0X211dGV4OwogCXN0cnVjdCBtdXRleCB2bGFuX211dGV4OwogCiAJc3RydWN0IHJiX3Jvb3QgIHBhdGhfdHJlZTsKQEAgLTI3NiwxMCArMjkzLDExIEBACiAKIAlzdHJ1Y3QgZGVsYXllZF93b3JrIHBrZXlfcG9sbF90YXNrOwogCXN0cnVjdCBkZWxheWVkX3dvcmsgbWNhc3RfdGFzazsKLQlzdHJ1Y3Qgd29ya19zdHJ1Y3QgZmx1c2hfdGFzazsKKwlzdHJ1Y3Qgd29ya19zdHJ1Y3QgZmx1c2hfbGlnaHQ7CisJc3RydWN0IHdvcmtfc3RydWN0IGZsdXNoX25vcm1hbDsKKwlzdHJ1Y3Qgd29ya19zdHJ1Y3QgZmx1c2hfaGVhdnk7CiAJc3RydWN0IHdvcmtfc3RydWN0IHJlc3RhcnRfdGFzazsKIAlzdHJ1Y3QgZGVsYXllZF93b3JrIGFoX3JlYXBfdGFzazsKLQlzdHJ1Y3Qgd29ya19zdHJ1Y3QgcGtleV9ldmVudF90YXNrOwogCiAJc3RydWN0IGliX2RldmljZSAqY2E7CiAJdTgJCSAgcG9ydDsKQEAgLTMzNSw2ICszNTMsOCBAQAogCWludAloY2FfY2FwczsKIAlzdHJ1Y3QgaXBvaWJfZXRodG9vbF9zdCBldGh0b29sOwogCXN0cnVjdCB0aW1lcl9saXN0IHBvbGxfdGltZXI7CisKKwlzdHJ1Y3QgaXBvaWJfbHJvIGxybzsKIH07CiAKIHN0cnVjdCBpcG9pYl9haCB7CkBAIC0zNTksNiArMzc5LDcgQEAKIAogCXN0cnVjdCByYl9ub2RlCSAgICAgIHJiX25vZGU7CiAJc3RydWN0IGxpc3RfaGVhZCAgICAgIGxpc3Q7CisJaW50ICAJCSAgICAgIHZhbGlkOwogfTsKIAogc3RydWN0IGlwb2liX25laWdoIHsKQEAgLTQyMywxMSArNDQ0LDE0IEBACiAJCXN0cnVjdCBpcG9pYl9haCAqYWRkcmVzcywgdTMyIHFwbik7CiB2b2lkIGlwb2liX3JlYXBfYWgoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKTsKIAordm9pZCBpcG9pYl9tYXJrX3BhdGhzX2ludmFsaWQoc3RydWN0IG5ldF9kZXZpY2UgKmRldik7CiB2b2lkIGlwb2liX2ZsdXNoX3BhdGhzKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpOwogc3RydWN0IGlwb2liX2Rldl9wcml2ICppcG9pYl9pbnRmX2FsbG9jKGNvbnN0IGNoYXIgKmZvcm1hdCk7CiAKIGludCBpcG9pYl9pYl9kZXZfaW5pdChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBzdHJ1Y3QgaWJfZGV2aWNlICpjYSwgaW50IHBvcnQpOwotdm9pZCBpcG9pYl9pYl9kZXZfZmx1c2goc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKTsKK3ZvaWQgaXBvaWJfaWJfZGV2X2ZsdXNoX2xpZ2h0KHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yayk7Cit2b2lkIGlwb2liX2liX2Rldl9mbHVzaF9ub3JtYWwoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKTsKK3ZvaWQgaXBvaWJfaWJfZGV2X2ZsdXNoX2hlYXZ5KHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yayk7CiB2b2lkIGlwb2liX3BrZXlfZXZlbnQoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKTsKIHZvaWQgaXBvaWJfaWJfZGV2X2NsZWFudXAoc3RydWN0IG5ldF9kZXZpY2UgKmRldik7CiAKQEAgLTQ2Niw5ICs0OTAsNyBAQAogI2VuZGlmCiAKIGludCBpcG9pYl9tY2FzdF9hdHRhY2goc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgdTE2IG1saWQsCi0JCSAgICAgICB1bmlvbiBpYl9naWQgKm1naWQpOwotaW50IGlwb2liX21jYXN0X2RldGFjaChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCB1MTYgbWxpZCwKLQkJICAgICAgIHVuaW9uIGliX2dpZCAqbWdpZCk7CisJCSAgICAgICB1bmlvbiBpYl9naWQgKm1naWQsIGludCBzZXRfcWtleSk7CiAKIGludCBpcG9pYl9pbml0X3FwKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpOwogaW50IGlwb2liX3RyYW5zcG9ydF9kZXZfaW5pdChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBzdHJ1Y3QgaWJfZGV2aWNlICpjYSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL2lwb2liX2NtLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL2lwb2liX2NtLmMKaW5kZXggOTdlNjdkMy4uMGYyZDMwNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9pcG9pYl9jbS5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXBvaWIvaXBvaWJfY20uYwpAQCAtMjgsOCArMjgsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZCQKICAqLwogCiAjaW5jbHVkZSA8cmRtYS9pYl9jbS5oPgpAQCAtMTEzLDE4ICsxMTEsMjAgQEAKIH0KIAogc3RhdGljIGludCBpcG9pYl9jbV9wb3N0X3JlY2VpdmVfbm9uc3JxKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsCi0JCQkJCXN0cnVjdCBpcG9pYl9jbV9yeCAqcngsIGludCBpZCkKKwkJCQkJc3RydWN0IGlwb2liX2NtX3J4ICpyeCwKKwkJCQkJc3RydWN0IGliX3JlY3Zfd3IgKndyLAorCQkJCQlzdHJ1Y3QgaWJfc2dlICpzZ2UsIGludCBpZCkKIHsKIAlzdHJ1Y3QgaXBvaWJfZGV2X3ByaXYgKnByaXYgPSBuZXRkZXZfcHJpdihkZXYpOwogCXN0cnVjdCBpYl9yZWN2X3dyICpiYWRfd3I7CiAJaW50IGksIHJldDsKIAotCXByaXYtPmNtLnJ4X3dyLndyX2lkID0gaWQgfCBJUE9JQl9PUF9DTSB8IElQT0lCX09QX1JFQ1Y7CisJd3ItPndyX2lkID0gaWQgfCBJUE9JQl9PUF9DTSB8IElQT0lCX09QX1JFQ1Y7CiAKIAlmb3IgKGkgPSAwOyBpIDwgSVBPSUJfQ01fUlhfU0c7ICsraSkKLQkJcHJpdi0+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+c2NzaV9ob3N0LCBQRlgKIAkJICAgICAibmV3IHRhcmdldDogaWRfZXh0ICUwMTZsbHggaW9jX2d1aWQgJTAxNmxseCBwa2V5ICUwNHggIgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL3VscC9zcnAvaWJfc3JwLmggYi9kcml2ZXJzL2luZmluaWJhbmQvdWxwL3NycC9pYl9zcnAuaAppbmRleCA2M2QyYWU3Mi4uZTE4NWI5MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL3VscC9zcnAvaWJfc3JwLmgKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL3VscC9zcnAvaWJfc3JwLmgKQEAgLTI4LDggKzI4LDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IGliX3NycC5oIDM5MzIgMjAwNS0xMS0wMSAxNzoxOToyOVogcm9sYW5kICQKICAqLwogCiAjaWZuZGVmIElCX1NSUF9ICmRpZmYgLS1naXQgYS9kcml2ZXJzL2lucHV0L2lucHV0LmMgYi9kcml2ZXJzL2lucHV0L2lucHV0LmMKaW5kZXggMjcwMDZmYy4uNDA4ZGYwYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbnB1dC9pbnB1dC5jCisrKyBiL2RyaXZlcnMvaW5wdXQvaW5wdXQuYwpAQCAtMjEsNiArMjEsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CiAjaW5jbHVkZSA8bGludXgvcmN1cGRhdGUuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiBNT0RVTEVfQVVUSE9SKCJWb2p0ZWNoIFBhdmxpayA8dm9qdGVjaEBzdXNlLmN6PiIpOwogTU9EVUxFX0RFU0NSSVBUSU9OKCJJbnB1dCBjb3JlIik7CkBAIC0xNTg4LDEzICsxNTg5LDE3IEBACiAKIHN0YXRpYyBpbnQgaW5wdXRfb3Blbl9maWxlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogewotCXN0cnVjdCBpbnB1dF9oYW5kbGVyICpoYW5kbGVyID0gaW5wdXRfdGFibGVbaW1pbm9yKGlub2RlKSA+PiA1XTsKKwlzdHJ1Y3QgaW5wdXRfaGFuZGxlciAqaGFuZGxlcjsKIAljb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zICpvbGRfZm9wcywgKm5ld19mb3BzID0gTlVMTDsKIAlpbnQgZXJyOwogCisJbG9ja19rZXJuZWwoKTsKIAkvKiBObyBsb2FkLW9uLWRlbWFuZCBoZXJlPyAqLwotCWlmICghaGFuZGxlciB8fCAhKG5ld19mb3BzID0gZm9wc19nZXQoaGFuZGxlci0+Zm9wcykpKQotCQlyZXR1cm4gLUVOT0RFVjsKKwloYW5kbGVyID0gaW5wdXRfdGFibGVbaW1pbm9yKGlub2RlKSA+PiA1XTsKKwlpZiAoIWhhbmRsZXIgfHwgIShuZXdfZm9wcyA9IGZvcHNfZ2V0KGhhbmRsZXItPmZvcHMpKSkgeworCQllcnIgPSAtRU5PREVWOworCQlnb3RvIG91dDsKKwl9CiAKIAkvKgogCSAqIFRoYXQncyBfcmVhbGx5XyBvZGQuIFVzdWFsbHkgTlVMTCAtPm9wZW4gbWVhbnMgIm5vdGhpbmcgc3BlY2lhbCIsCkBAIC0xNjAyLDcgKzE2MDcsOCBAQAogCSAqLwogCWlmICghbmV3X2ZvcHMtPm9wZW4pIHsKIAkJZm9wc19wdXQobmV3X2ZvcHMpOwotCQlyZXR1cm4gLUVOT0RFVjsKKwkJZXJyID0gLUVOT0RFVjsKKwkJZ290byBvdXQ7CiAJfQogCW9sZF9mb3BzID0gZmlsZS0+Zl9vcDsKIAlmaWxlLT5mX29wID0gbmV3X2ZvcHM7CkBAIC0xNjE0LDYgKzE2MjAsOCBAQAogCQlmaWxlLT5mX29wID0gZm9wc19nZXQob2xkX2ZvcHMpOwogCX0KIAlmb3BzX3B1dChvbGRfZm9wcyk7CitvdXQ6CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiBlcnI7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5wdXQvbWlzYy9ocF9zZGNfcnRjLmMgYi9kcml2ZXJzL2lucHV0L21pc2MvaHBfc2RjX3J0Yy5jCmluZGV4IDQ1ZTVkMDUuLjQ5ZDhhYmYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5wdXQvbWlzYy9ocF9zZGNfcnRjLmMKKysrIGIvZHJpdmVycy9pbnB1dC9taXNjL2hwX3NkY19ydGMuYwpAQCAtMzUsNiArMzUsNyBAQAogCiAjaW5jbHVkZSA8bGludXgvaHBfc2RjLmg+CiAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgpAQCAtNDA4LDYgKzQwOSw3IEBACiAKIHN0YXRpYyBpbnQgaHBfc2RjX3J0Y19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogeworCWN5Y2xlX2tlcm5lbF9sb2NrKCk7CiAgICAgICAgIHJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2lucHV0L21pc2MvdWlucHV0LmMgYi9kcml2ZXJzL2lucHV0L21pc2MvdWlucHV0LmMKaW5kZXggYTU2YWQ0Yi4uMmJjZmEwYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbnB1dC9taXNjL3VpbnB1dC5jCisrKyBiL2RyaXZlcnMvaW5wdXQvbWlzYy91aW5wdXQuYwpAQCAtMzcsNiArMzcsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvbWlzY2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L3VpbnB1dC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKIHN0YXRpYyBpbnQgdWlucHV0X2Rldl9ldmVudChzdHJ1Y3QgaW5wdXRfZGV2ICpkZXYsIHVuc2lnbmVkIGludCB0eXBlLCB1bnNpZ25lZCBpbnQgY29kZSwgaW50IHZhbHVlKQogewpAQCAtMjIyLDYgKzIyMyw3IEBACiAJaWYgKCFuZXdkZXYpCiAJCXJldHVybiAtRU5PTUVNOwogCisJbG9ja19rZXJuZWwoKTsKIAltdXRleF9pbml0KCZuZXdkZXYtPm11dGV4KTsKIAlzcGluX2xvY2tfaW5pdCgmbmV3ZGV2LT5yZXF1ZXN0c19sb2NrKTsKIAlpbml0X3dhaXRxdWV1ZV9oZWFkKCZuZXdkZXYtPnJlcXVlc3RzX3dhaXRxKTsKQEAgLTIyOSw2ICsyMzEsNyBAQAogCW5ld2Rldi0+c3RhdGUgPSBVSVNUX05FV19ERVZJQ0U7CiAKIAlmaWxlLT5wcml2YXRlX2RhdGEgPSBuZXdkZXY7CisJdW5sb2NrX2tlcm5lbCgpOwogCiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2lucHV0L21vdXNlZGV2LmMgYi9kcml2ZXJzL2lucHV0L21vdXNlZGV2LmMKaW5kZXggYjk4OTc0OC4uODEzN2U1MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbnB1dC9tb3VzZWRldi5jCisrKyBiL2RyaXZlcnMvaW5wdXQvbW91c2VkZXYuYwpAQCAtMTQsNiArMTQsNyBAQAogI2RlZmluZSBNT1VTRURFVl9NSVgJCTMxCiAKICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9wb2xsLmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgpAQCAtNTQ1LDE2ICs1NDYsMjEgQEAKIAlpZiAoaSA+PSBNT1VTRURFVl9NSU5PUlMpCiAJCXJldHVybiAtRU5PREVWOwogCisJbG9ja19rZXJuZWwoKTsKIAllcnJvciA9IG11dGV4X2xvY2tfaW50ZXJydXB0aWJsZSgmbW91c2VkZXZfdGFibGVfbXV0ZXgpOwotCWlmIChlcnJvcikKKwlpZiAoZXJyb3IpIHsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gZXJyb3I7CisJfQogCW1vdXNlZGV2ID0gbW91c2VkZXZfdGFibGVbaV07CiAJaWYgKG1vdXNlZGV2KQogCQlnZXRfZGV2aWNlKCZtb3VzZWRldi0+ZGV2KTsKIAltdXRleF91bmxvY2soJm1vdXNlZGV2X3RhYmxlX211dGV4KTsKIAotCWlmICghbW91c2VkZXYpCisJaWYgKCFtb3VzZWRldikgeworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiAtRU5PREVWOworCX0KIAogCWNsaWVudCA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBtb3VzZWRldl9jbGllbnQpLCBHRlBfS0VSTkVMKTsKIAlpZiAoIWNsaWVudCkgewpAQCAtNTczLDYgKzU3OSw3IEBACiAJCWdvdG8gZXJyX2ZyZWVfY2xpZW50OwogCiAJZmlsZS0+cHJpdmF0ZV9kYXRhID0gY2xpZW50OworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gMDsKIAogIGVycl9mcmVlX2NsaWVudDoKQEAgLTU4MCw2ICs1ODcsNyBAQAogCWtmcmVlKGNsaWVudCk7CiAgZXJyX3B1dF9tb3VzZWRldjoKIAlwdXRfZGV2aWNlKCZtb3VzZWRldi0+ZGV2KTsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIGVycm9yOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2lucHV0L3NlcmlvL3NlcmlvX3Jhdy5jIGIvZHJpdmVycy9pbnB1dC9zZXJpby9zZXJpb19yYXcuYwppbmRleCAwNDAzNjIyLi5jOTM5N2M4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2lucHV0L3NlcmlvL3NlcmlvX3Jhdy5jCisrKyBiL2RyaXZlcnMvaW5wdXQvc2VyaW8vc2VyaW9fcmF3LmMKQEAgLTEwLDYgKzEwLDcgQEAKICAqLwogCiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvcG9sbC5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L3NlcmlvLmg+CkBAIC04MSw5ICs4MiwxMCBAQAogCXN0cnVjdCBzZXJpb19yYXdfbGlzdCAqbGlzdDsKIAlpbnQgcmV0dmFsID0gMDsKIAorCWxvY2tfa2VybmVsKCk7CiAJcmV0dmFsID0gbXV0ZXhfbG9ja19pbnRlcnJ1cHRpYmxlKCZzZXJpb19yYXdfbXV0ZXgpOwogCWlmIChyZXR2YWwpCi0JCXJldHVybiByZXR2YWw7CisJCWdvdG8gb3V0X2JrbDsKIAogCWlmICghKHNlcmlvX3JhdyA9IHNlcmlvX3Jhd19sb2NhdGUoaW1pbm9yKGlub2RlKSkpKSB7CiAJCXJldHZhbCA9IC1FTk9ERVY7CkBAIC0xMDgsNiArMTEwLDggQEAKIAogb3V0OgogCW11dGV4X3VubG9jaygmc2VyaW9fcmF3X211dGV4KTsKK291dF9ia2w6CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiByZXR2YWw7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5wdXQveGVuLWtiZGZyb250LmMgYi9kcml2ZXJzL2lucHV0L3hlbi1rYmRmcm9udC5jCmluZGV4IDBmNDdmNDYuLjljZTNiM2IgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5wdXQveGVuLWtiZGZyb250LmMKKysrIGIvZHJpdmVycy9pbnB1dC94ZW4ta2JkZnJvbnQuYwpAQCAtNjYsNiArNjYsOSBAQAogCQljYXNlIFhFTktCRF9UWVBFX01PVElPTjoKIAkJCWlucHV0X3JlcG9ydF9yZWwoZGV2LCBSRUxfWCwgZXZlbnQtPm1vdGlvbi5yZWxfeCk7CiAJCQlpbnB1dF9yZXBvcnRfcmVsKGRldiwgUkVMX1ksIGV2ZW50LT5tb3Rpb24ucmVsX3kpOworCQkJaWYgKGV2ZW50LT5tb3Rpb24ucmVsX3opCisJCQkJaW5wdXRfcmVwb3J0X3JlbChkZXYsIFJFTF9XSEVFTCwKKwkJCQkJCSAtZXZlbnQtPm1vdGlvbi5yZWxfeik7CiAJCQlicmVhazsKIAkJY2FzZSBYRU5LQkRfVFlQRV9LRVk6CiAJCQlkZXYgPSBOVUxMOwpAQCAtODQsNiArODcsOSBAQAogCQljYXNlIFhFTktCRF9UWVBFX1BPUzoKIAkJCWlucHV0X3JlcG9ydF9hYnMoZGV2LCBBQlNfWCwgZXZlbnQtPnBvcy5hYnNfeCk7CiAJCQlpbnB1dF9yZXBvcnRfYWJzKGRldiwgQUJTX1ksIGV2ZW50LT5wb3MuYWJzX3kpOworCQkJaWYgKGV2ZW50LT5wb3MucmVsX3opCisJCQkJaW5wdXRfcmVwb3J0X3JlbChkZXYsIFJFTF9XSEVFTCwKKwkJCQkJCSAtZXZlbnQtPnBvcy5yZWxfeik7CiAJCQlicmVhazsKIAkJfQogCQlpZiAoZGV2KQpAQCAtMTUyLDcgKzE1OCw3IEBACiAJcHRyLT5ldmJpdFswXSA9IEJJVChFVl9LRVkpIHwgQklUKEVWX1JFTCkgfCBCSVQoRVZfQUJTKTsKIAlmb3IgKGkgPSBCVE5fTEVGVDsgaSA8PSBCVE5fVEFTSzsgaSsrKQogCQlzZXRfYml0KGksIHB0ci0+a2V5Yml0KTsKLQlwdHItPnJlbGJpdFswXSA9IEJJVChSRUxfWCkgfCBCSVQoUkVMX1kpOworCXB0ci0+cmVsYml0WzBdID0gQklUKFJFTF9YKSB8IEJJVChSRUxfWSkgfCBCSVQoUkVMX1dIRUVMKTsKIAlpbnB1dF9zZXRfYWJzX3BhcmFtcyhwdHIsIEFCU19YLCAwLCBYRU5GQl9XSURUSCwgMCwgMCk7CiAJaW5wdXRfc2V0X2Fic19wYXJhbXMocHRyLCBBQlNfWSwgMCwgWEVORkJfSEVJR0hULCAwLCAwKTsKIApAQCAtMjk0LDYgKzMwMCwxNiBAQAogCQkgKi8KIAkJaWYgKGRldi0+c3RhdGUgIT0gWGVuYnVzU3RhdGVDb25uZWN0ZWQpCiAJCQlnb3RvIEluaXRXYWl0OyAvKiBubyBJbml0V2FpdCBzZWVuIHlldCwgZnVkZ2UgaXQgKi8KKworCQkvKiBTZXQgaW5wdXQgYWJzIHBhcmFtcyB0byBtYXRjaCBiYWNrZW5kIHNjcmVlbiByZXMgKi8KKwkJaWYgKHhlbmJ1c19zY2FuZihYQlRfTklMLCBpbmZvLT54YmRldi0+b3RoZXJlbmQsCisJCQkJICJ3aWR0aCIsICIlZCIsICZ2YWwpID4gMCkKKwkJCWlucHV0X3NldF9hYnNfcGFyYW1zKGluZm8tPnB0ciwgQUJTX1gsIDAsIHZhbCwgMCwgMCk7CisKKwkJaWYgKHhlbmJ1c19zY2FuZihYQlRfTklMLCBpbmZvLT54YmRldi0+b3RoZXJlbmQsCisJCQkJICJoZWlnaHQiLCAiJWQiLCAmdmFsKSA+IDApCisJCQlpbnB1dF9zZXRfYWJzX3BhcmFtcyhpbmZvLT5wdHIsIEFCU19ZLCAwLCB2YWwsIDAsIDApOworCiAJCWJyZWFrOwogCiAJY2FzZSBYZW5idXNTdGF0ZUNsb3Npbmc6CkBAIC0zMzcsNCArMzUzLDYgQEAKIG1vZHVsZV9pbml0KHhlbmtiZF9pbml0KTsKIG1vZHVsZV9leGl0KHhlbmtiZF9jbGVhbnVwKTsKIAorTU9EVUxFX0RFU0NSSVBUSU9OKCJYZW4gdmlydHVhbCBrZXlib2FyZC9wb2ludGVyIGRldmljZSBmcm9udGVuZCIpOwogTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOworTU9EVUxFX0FMSUFTKCJ4ZW46dmtiZCIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pc2RuL2NhcGkvY2FwaS5jIGIvZHJpdmVycy9pc2RuL2NhcGkvY2FwaS5jCmluZGV4IDZjYTBiYjkuLjIwOTUxNTMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaXNkbi9jYXBpL2NhcGkuYworKysgYi9kcml2ZXJzL2lzZG4vY2FwaS9jYXBpLmMKQEAgLTIwLDYgKzIwLDcgQEAKICNpbmNsdWRlIDxsaW51eC9zaWduYWwuaD4KICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgogI2luY2x1ZGUgPGxpbnV4L21tLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC90aW1lci5oPgogI2luY2x1ZGUgPGxpbnV4L3dhaXQuaD4KICNpZmRlZiBDT05GSUdfSVNETl9DQVBJX01JRERMRVdBUkUKQEAgLTk4MywxMyArOTg0LDE3IEBACiBzdGF0aWMgaW50CiBjYXBpX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCiB7CisJaW50IHJldDsKKwkKKwlsb2NrX2tlcm5lbCgpOwogCWlmIChmaWxlLT5wcml2YXRlX2RhdGEpCi0JCXJldHVybiAtRUVYSVNUOwotCi0JaWYgKChmaWxlLT5wcml2YXRlX2RhdGEgPSBjYXBpZGV2X2FsbG9jKCkpID09IE5VTEwpCi0JCXJldHVybiAtRU5PTUVNOwotCi0JcmV0dXJuIG5vbnNlZWthYmxlX29wZW4oaW5vZGUsIGZpbGUpOworCQlyZXQgPSAtRUVYSVNUOworCWVsc2UgaWYgKChmaWxlLT5wcml2YXRlX2RhdGEgPSBjYXBpZGV2X2FsbG9jKCkpID09IE5VTEwpCisJCXJldCA9IC1FTk9NRU07CisJZWxzZQorCQlyZXQgPSBub25zZWVrYWJsZV9vcGVuKGlub2RlLCBmaWxlKTsKKwl1bmxvY2tfa2VybmVsKCk7CisJcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIGludApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pc2RuL2hhcmR3YXJlL2VpY29uL2RpdmFtbnQuYyBiL2RyaXZlcnMvaXNkbi9oYXJkd2FyZS9laWNvbi9kaXZhbW50LmMKaW5kZXggYzkwOTI4OS4uMWU4NWY3NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pc2RuL2hhcmR3YXJlL2VpY29uL2RpdmFtbnQuYworKysgYi9kcml2ZXJzL2lzZG4vaGFyZHdhcmUvZWljb24vZGl2YW1udC5jCkBAIC0xNCw2ICsxNCw3IEBACiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgogI2luY2x1ZGUgPGxpbnV4L3BvbGwuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAKICNpbmNsdWRlICJwbGF0Zm9ybS5oIgpAQCAtMTI3LDE0ICsxMjgsMTkgQEAKIAogc3RhdGljIGludCBtYWludF9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vLCBzdHJ1Y3QgZmlsZSAqZmlsZXApCiB7CisJaW50IHJldDsKKworCWxvY2tfa2VybmVsKCk7CiAJLyogb25seSBvbmUgb3BlbiBpcyBhbGxvd2VkLCBzbyB3ZSB0ZXN0CiAJICAgaXQgYXRvbWljYWxseSAqLwogCWlmICh0ZXN0X2FuZF9zZXRfYml0KDAsICZvcGVuZWQpKQotCQlyZXR1cm4gKC1FQlVTWSk7Ci0KLQlmaWxlcC0+cHJpdmF0ZV9kYXRhID0gTlVMTDsKLQotCXJldHVybiBub25zZWVrYWJsZV9vcGVuKGlubywgZmlsZXApOworCQlyZXQgPSAtRUJVU1k7CisJZWxzZSB7CisJCWZpbGVwLT5wcml2YXRlX2RhdGEgPSBOVUxMOworCQlyZXQgPSBub25zZWVrYWJsZV9vcGVuKGlubywgZmlsZXApOworCX0KKwl1bmxvY2tfa2VybmVsKCk7CisJcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIGludCBtYWludF9jbG9zZShzdHJ1Y3QgaW5vZGUgKmlubywgc3RydWN0IGZpbGUgKmZpbGVwKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pc2RuL2hhcmR3YXJlL2VpY29uL2RpdmFzaS5jIGIvZHJpdmVycy9pc2RuL2hhcmR3YXJlL2VpY29uL2RpdmFzaS5jCmluZGV4IDc4ZjE0MWUuLmY0OTY5ZmUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaXNkbi9oYXJkd2FyZS9laWNvbi9kaXZhc2kuYworKysgYi9kcml2ZXJzL2lzZG4vaGFyZHdhcmUvZWljb24vZGl2YXNpLmMKQEAgLTE3LDYgKzE3LDcgQEAKICNpbmNsdWRlIDxsaW51eC9wb2xsLmg+CiAjaW5jbHVkZSA8bGludXgvcHJvY19mcy5oPgogI2luY2x1ZGUgPGxpbnV4L3NrYnVmZi5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KIAogI2luY2x1ZGUgInBsYXRmb3JtLmgiCkBAIC00MDAsNiArNDAxLDcgQEAKIAogc3RhdGljIGludCB1bV9pZGlfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKKwljeWNsZV9rZXJuZWxfbG9jaygpOwogCXJldHVybiAoMCk7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaXNkbi9oYXJkd2FyZS9laWNvbi9kaXZhc21haW4uYyBiL2RyaXZlcnMvaXNkbi9oYXJkd2FyZS9laWNvbi9kaXZhc21haW4uYwppbmRleCAxNmE4NzRiLi5mYmJjYjI3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2lzZG4vaGFyZHdhcmUvZWljb24vZGl2YXNtYWluLmMKKysrIGIvZHJpdmVycy9pc2RuL2hhcmR3YXJlL2VpY29uL2RpdmFzbWFpbi5jCkBAIC0yMSw2ICsyMSw3IEBACiAjaW5jbHVkZSA8bGludXgvbGlzdC5oPgogI2luY2x1ZGUgPGxpbnV4L3BvbGwuaD4KICNpbmNsdWRlIDxsaW51eC9rbW9kLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogI2luY2x1ZGUgInBsYXRmb3JtLmgiCiAjdW5kZWYgSURfTUFTSwpAQCAtNTgwLDYgKzU4MSw3IEBACiAgKi8KIHN0YXRpYyBpbnQgZGl2YXNfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKKwljeWNsZV9rZXJuZWxfbG9jaygpOwogCXJldHVybiAoMCk7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaXNkbi9pNGwvaXNkbl9jb21tb24uYyBiL2RyaXZlcnMvaXNkbi9pNGwvaXNkbl9jb21tb24uYwppbmRleCAwZjNjNjZkLi43MTg4YzU5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2lzZG4vaTRsL2lzZG5fY29tbW9uLmMKKysrIGIvZHJpdmVycy9pc2RuL2k0bC9pc2RuX2NvbW1vbi5jCkBAIC0xNzMyLDcgKzE3MzIsNyBAQAogCWludCBjaGlkeDsKIAlpbnQgcmV0dmFsID0gLUVOT0RFVjsKIAotCisJbG9ja19rZXJuZWwoKTsKIAlpZiAobWlub3IgPT0gSVNETl9NSU5PUl9TVEFUVVMpIHsKIAkJaW5mb3N0cnVjdCAqcDsKIApAQCAtMTc4Myw2ICsxNzgzLDcgQEAKICNlbmRpZgogIG91dDoKIAlub25zZWVrYWJsZV9vcGVuKGlubywgZmlsZXApOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gcmV0dmFsOwogfQogCkBAIC0xOTc3LDggKzE5NzgsMTAgQEAKIAlpZiAoIXNrYikKIAkJcmV0dXJuIC1FTk9NRU07CiAJc2tiX3Jlc2VydmUoc2tiLCBobCk7Ci0JaWYgKGNvcHlfZnJvbV91c2VyKHNrYl9wdXQoc2tiLCBsZW4pLCBidWYsIGxlbikpCisJaWYgKGNvcHlfZnJvbV91c2VyKHNrYl9wdXQoc2tiLCBsZW4pLCBidWYsIGxlbikpIHsKKwkJZGV2X2tmcmVlX3NrYihza2IpOwogCQlyZXR1cm4gLUVGQVVMVDsKKwl9CiAJcmV0ID0gZGV2LT5kcnZbZHJ2aWR4XS0+aW50ZXJmYWNlLT53cml0ZWJ1Zl9za2IoZHJ2aWR4LCBjaGFuLCAxLCBza2IpOwogCWlmIChyZXQgPD0gMCkKIAkJZGV2X2tmcmVlX3NrYihza2IpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9sZ3Vlc3QvS2NvbmZpZyBiL2RyaXZlcnMvbGd1ZXN0L0tjb25maWcKaW5kZXggNmI4ZGJiOS4uNzZmMmIzNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9sZ3Vlc3QvS2NvbmZpZworKysgYi9kcml2ZXJzL2xndWVzdC9LY29uZmlnCkBAIC0xLDYgKzEsNiBAQAogY29uZmlnIExHVUVTVAogCXRyaXN0YXRlICJMaW51eCBoeXBlcnZpc29yIGV4YW1wbGUgY29kZSIKLQlkZXBlbmRzIG9uIFg4Nl8zMiAmJiBFWFBFUklNRU5UQUwgJiYgIVg4Nl9QQUUgJiYgRlVURVggJiYgIShYODZfVklTV1MgfHwgWDg2X1ZPWUFHRVIpCisJZGVwZW5kcyBvbiBYODZfMzIgJiYgRVhQRVJJTUVOVEFMICYmICFYODZfUEFFICYmIEZVVEVYICYmICFYODZfVk9ZQUdFUgogCXNlbGVjdCBIVkNfRFJJVkVSCiAJLS0taGVscC0tLQogCSAgVGhpcyBpcyBhIHZlcnkgc2ltcGxlIG1vZHVsZSB3aGljaCBhbGxvd3MgeW91IHRvIHJ1bgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9sZ3Vlc3QvbGcuaCBiL2RyaXZlcnMvbGd1ZXN0L2xnLmgKaW5kZXggMDA1YmQwNC4uNWZhZWZlYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9sZ3Vlc3QvbGcuaAorKysgYi9kcml2ZXJzL2xndWVzdC9sZy5oCkBAIC0xMzYsNyArMTM2LDYgQEAKICAqIGZpcnN0IHN0ZXAgaW4gdGhlIG1pZ3JhdGlvbiB0byB0aGUga2VybmVsIHR5cGVzLiAgcHRlX3BmbiBpcyBhbHJlYWR5IGRlZmluZWQKICAqIGluIHRoZSBrZXJuZWwuICovCiAjZGVmaW5lIHBnZF9mbGFncyh4KQkocGdkX3ZhbCh4KSAmIH5QQUdFX01BU0spCi0jZGVmaW5lIHB0ZV9mbGFncyh4KQkocHRlX3ZhbCh4KSAmIH5QQUdFX01BU0spCiAjZGVmaW5lIHBnZF9wZm4oeCkJKHBnZF92YWwoeCkgPj4gUEFHRV9TSElGVCkKIAogLyogaW50ZXJydXB0c19hbmRfdHJhcHMuYzogKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbGd1ZXN0L3g4Ni9jb3JlLmMgYi9kcml2ZXJzL2xndWVzdC94ODYvY29yZS5jCmluZGV4IDJlNTU0YTQuLjk1ZGZkYTUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbGd1ZXN0L3g4Ni9jb3JlLmMKKysrIGIvZHJpdmVycy9sZ3Vlc3QveDg2L2NvcmUuYwpAQCAtNDc4LDcgKzQ3OCw3IEBACiAJCWNwdV9oYWRfcGdlID0gMTsKIAkJLyogYWRqdXN0X3BnZSBpcyBhIGhlbHBlciBmdW5jdGlvbiB3aGljaCBzZXRzIG9yIHVuc2V0cyB0aGUgUEdFCiAJCSAqIGJpdCBvbiBpdHMgQ1BVLCBkZXBlbmRpbmcgb24gdGhlIGFyZ3VtZW50ICgwID09IHVuc2V0KS4gKi8KLQkJb25fZWFjaF9jcHUoYWRqdXN0X3BnZSwgKHZvaWQgKikwLCAwLCAxKTsKKwkJb25fZWFjaF9jcHUoYWRqdXN0X3BnZSwgKHZvaWQgKikwLCAxKTsKIAkJLyogVHVybiBvZmYgdGhlIGZlYXR1cmUgaW4gdGhlIGdsb2JhbCBmZWF0dXJlIHNldC4gKi8KIAkJY2xlYXJfYml0KFg4Nl9GRUFUVVJFX1BHRSwgYm9vdF9jcHVfZGF0YS54ODZfY2FwYWJpbGl0eSk7CiAJfQpAQCAtNDkzLDcgKzQ5Myw3IEBACiAJaWYgKGNwdV9oYWRfcGdlKSB7CiAJCXNldF9iaXQoWDg2X0ZFQVRVUkVfUEdFLCBib290X2NwdV9kYXRhLng4Nl9jYXBhYmlsaXR5KTsKIAkJLyogYWRqdXN0X3BnZSdzIGFyZ3VtZW50ICIxIiBtZWFucyBzZXQgUEdFLiAqLwotCQlvbl9lYWNoX2NwdShhZGp1c3RfcGdlLCAodm9pZCAqKTEsIDAsIDEpOworCQlvbl9lYWNoX2NwdShhZGp1c3RfcGdlLCAodm9pZCAqKTEsIDEpOwogCX0KIAlwdXRfb25saW5lX2NwdXMoKTsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWFjaW50b3NoL2FkYi5jIGIvZHJpdmVycy9tYWNpbnRvc2gvYWRiLmMKaW5kZXggZGJhYWQzOS4uNDBjNzBiYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9tYWNpbnRvc2gvYWRiLmMKKysrIGIvZHJpdmVycy9tYWNpbnRvc2gvYWRiLmMKQEAgLTY0NCwxMiArNjQ0LDE4IEBACiBzdGF0aWMgaW50IGFkYl9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogewogCXN0cnVjdCBhZGJkZXZfc3RhdGUgKnN0YXRlOworCWludCByZXQgPSAwOwogCi0JaWYgKGltaW5vcihpbm9kZSkgPiAwIHx8IGFkYl9jb250cm9sbGVyID09IE5VTEwpCi0JCXJldHVybiAtRU5YSU87CisJbG9ja19rZXJuZWwoKTsKKwlpZiAoaW1pbm9yKGlub2RlKSA+IDAgfHwgYWRiX2NvbnRyb2xsZXIgPT0gTlVMTCkgeworCQlyZXQgPSAtRU5YSU87CisJCWdvdG8gb3V0OworCX0KIAlzdGF0ZSA9IGttYWxsb2Moc2l6ZW9mKHN0cnVjdCBhZGJkZXZfc3RhdGUpLCBHRlBfS0VSTkVMKTsKLQlpZiAoc3RhdGUgPT0gMCkKLQkJcmV0dXJuIC1FTk9NRU07CisJaWYgKHN0YXRlID09IDApIHsKKwkJcmV0ID0gLUVOT01FTTsKKwkJZ290byBvdXQ7CisJfQogCWZpbGUtPnByaXZhdGVfZGF0YSA9IHN0YXRlOwogCXNwaW5fbG9ja19pbml0KCZzdGF0ZS0+bG9jayk7CiAJYXRvbWljX3NldCgmc3RhdGUtPm5fcGVuZGluZywgMCk7CkBAIC02NTcsNyArNjYzLDkgQEAKIAlpbml0X3dhaXRxdWV1ZV9oZWFkKCZzdGF0ZS0+d2FpdF9xdWV1ZSk7CiAJc3RhdGUtPmludXNlID0gMTsKIAotCXJldHVybiAwOworb3V0OgorCXVubG9ja19rZXJuZWwoKTsKKwlyZXR1cm4gcmV0OwogfQogCiBzdGF0aWMgaW50IGFkYl9yZWxlYXNlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tYWNpbnRvc2gvYW5zLWxjZC5jIGIvZHJpdmVycy9tYWNpbnRvc2gvYW5zLWxjZC5jCmluZGV4IDczYzUwYmMuLjZhODIyMTggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWFjaW50b3NoL2Fucy1sY2QuYworKysgYi9kcml2ZXJzL21hY2ludG9zaC9hbnMtbGNkLmMKQEAgLTMsNiArMyw3IEBACiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgogI2luY2x1ZGUgPGxpbnV4L21pc2NkZXZpY2UuaD4KQEAgLTExOSw2ICsxMjAsNyBAQAogc3RhdGljIGludAogYW5zbGNkX29wZW4oIHN0cnVjdCBpbm9kZSAqIGlub2RlLCBzdHJ1Y3QgZmlsZSAqIGZpbGUgKQogeworCWN5Y2xlX2tlcm5lbF9sb2NrKCk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWFjaW50b3NoL3NtdS5jIGIvZHJpdmVycy9tYWNpbnRvc2gvc211LmMKaW5kZXggZDg2ZDU3YS4uMzJjYjAyOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9tYWNpbnRvc2gvc211LmMKKysrIGIvZHJpdmVycy9tYWNpbnRvc2gvc211LmMKQEAgLTE5LDYgKzE5LDcgQEAKICAqICAgIHRoZSB1c2VybGFuZCBpbnRlcmZhY2UKICAqLwogCisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgogI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgpAQCAtMTA4NiwxMCArMTA4NywxMiBAQAogCXBwLT5tb2RlID0gc211X2ZpbGVfY29tbWFuZHM7CiAJaW5pdF93YWl0cXVldWVfaGVhZCgmcHAtPndhaXQpOwogCisJbG9ja19rZXJuZWwoKTsKIAlzcGluX2xvY2tfaXJxc2F2ZSgmc211X2NsaXN0X2xvY2ssIGZsYWdzKTsKIAlsaXN0X2FkZCgmcHAtPmxpc3QsICZzbXVfY2xpc3QpOwogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnNtdV9jbGlzdF9sb2NrLCBmbGFncyk7CiAJZmlsZS0+cHJpdmF0ZV9kYXRhID0gcHA7CisJdW5sb2NrX2tlcm5lbCgpOwogCiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL21hY2ludG9zaC92aWEtcG11LmMgYi9kcml2ZXJzL21hY2ludG9zaC92aWEtcG11LmMKaW5kZXggZDYzNjVhOS4uZDUyNGRjMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9tYWNpbnRvc2gvdmlhLXBtdS5jCisrKyBiL2RyaXZlcnMvbWFjaW50b3NoL3ZpYS1wbXUuYwpAQCAtMTgsNiArMTgsNyBAQAogICoKICAqLwogI2luY2x1ZGUgPHN0ZGFyZy5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KICNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgpAQCAtMjA0Nyw2ICsyMDQ4LDcgQEAKIAlwcC0+cmJfZ2V0ID0gcHAtPnJiX3B1dCA9IDA7CiAJc3Bpbl9sb2NrX2luaXQoJnBwLT5sb2NrKTsKIAlpbml0X3dhaXRxdWV1ZV9oZWFkKCZwcC0+d2FpdCk7CisJbG9ja19rZXJuZWwoKTsKIAlzcGluX2xvY2tfaXJxc2F2ZSgmYWxsX3B2dF9sb2NrLCBmbGFncyk7CiAjaWYgZGVmaW5lZChDT05GSUdfSU5QVVRfQURCSElEKSAmJiBkZWZpbmVkKENPTkZJR19QTUFDX0JBQ0tMSUdIVCkKIAlwcC0+YmFja2xpZ2h0X2xvY2tlciA9IDA7CkBAIC0yMDU0LDYgKzIwNTYsNyBAQAogCWxpc3RfYWRkKCZwcC0+bGlzdCwgJmFsbF9wbXVfcHZ0KTsKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZhbGxfcHZ0X2xvY2ssIGZsYWdzKTsKIAlmaWxlLT5wcml2YXRlX2RhdGEgPSBwcDsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWQvbGluZWFyLmMgYi9kcml2ZXJzL21kL2xpbmVhci5jCmluZGV4IDEwNzQ4MjQuLjZhODY2ZDcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWQvbGluZWFyLmMKKysrIGIvZHJpdmVycy9tZC9saW5lYXIuYwpAQCAtNTAsMTcgKzUwLDE5IEBACiAvKioKICAqCWxpbmVhcl9tZXJnZWFibGVfYnZlYyAtLSB0ZWxsIGJpbyBsYXllciBpZiB0d28gcmVxdWVzdHMgY2FuIGJlIG1lcmdlZAogICoJQHE6IHJlcXVlc3QgcXVldWUKLSAqCUBiaW86IHRoZSBidWZmZXIgaGVhZCB0aGF0J3MgYmVlbiBidWlsdCB1cCBzbyBmYXIKKyAqCUBidm06IHByb3BlcnRpZXMgb2YgbmV3IGJpbwogICoJQGJpb3ZlYzogdGhlIHJlcXVlc3QgdGhhdCBjb3VsZCBiZSBtZXJnZWQgdG8gaXQuCiAgKgogICoJUmV0dXJuIGFtb3VudCBvZiBieXRlcyB3ZSBjYW4gdGFrZSBhdCB0aGlzIG9mZnNldAogICovCi1zdGF0aWMgaW50IGxpbmVhcl9tZXJnZWFibGVfYnZlYyhzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcSwgc3RydWN0IGJpbyAqYmlvLCBzdHJ1Y3QgYmlvX3ZlYyAqYmlvdmVjKQorc3RhdGljIGludCBsaW5lYXJfbWVyZ2VhYmxlX2J2ZWMoc3RydWN0IHJlcXVlc3RfcXVldWUgKnEsCisJCQkJIHN0cnVjdCBidmVjX21lcmdlX2RhdGEgKmJ2bSwKKwkJCQkgc3RydWN0IGJpb192ZWMgKmJpb3ZlYykKIHsKIAltZGRldl90ICptZGRldiA9IHEtPnF1ZXVlZGF0YTsKIAlkZXZfaW5mb190ICpkZXYwOwotCXVuc2lnbmVkIGxvbmcgbWF4c2VjdG9ycywgYmlvX3NlY3RvcnMgPSBiaW8tPmJpX3NpemUgPj4gOTsKLQlzZWN0b3JfdCBzZWN0b3IgPSBiaW8tPmJpX3NlY3RvciArIGdldF9zdGFydF9zZWN0KGJpby0+YmlfYmRldik7CisJdW5zaWduZWQgbG9uZyBtYXhzZWN0b3JzLCBiaW9fc2VjdG9ycyA9IGJ2bS0+Ymlfc2l6ZSA+PiA5OworCXNlY3Rvcl90IHNlY3RvciA9IGJ2bS0+Ymlfc2VjdG9yICsgZ2V0X3N0YXJ0X3NlY3QoYnZtLT5iaV9iZGV2KTsKIAogCWRldjAgPSB3aGljaF9kZXYobWRkZXYsIHNlY3Rvcik7CiAJbWF4c2VjdG9ycyA9IChkZXYwLT5zaXplIDw8IDEpIC0gKHNlY3RvciAtIChkZXYwLT5vZmZzZXQ8PDEpKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWQvcmFpZDAuYyBiL2RyaXZlcnMvbWQvcmFpZDAuYwppbmRleCA5MTRjMDRkLi5iY2JiODI1IDEwMDY0NAotLS0gYS9kcml2ZXJzL21kL3JhaWQwLmMKKysrIGIvZHJpdmVycy9tZC9yYWlkMC5jCkBAIC0yNDEsMTggKzI0MSwyMCBAQAogLyoqCiAgKglyYWlkMF9tZXJnZWFibGVfYnZlYyAtLSB0ZWxsIGJpbyBsYXllciBpZiBhIHR3byByZXF1ZXN0cyBjYW4gYmUgbWVyZ2VkCiAgKglAcTogcmVxdWVzdCBxdWV1ZQotICoJQGJpbzogdGhlIGJ1ZmZlciBoZWFkIHRoYXQncyBiZWVuIGJ1aWx0IHVwIHNvIGZhcgorICoJQGJ2bTogcHJvcGVydGllcyBvZiBuZXcgYmlvCiAgKglAYmlvdmVjOiB0aGUgcmVxdWVzdCB0aGF0IGNvdWxkIGJlIG1lcmdlZCB0byBpdC4KICAqCiAgKglSZXR1cm4gYW1vdW50IG9mIGJ5dGVzIHdlIGNhbiBhY2NlcHQgYXQgdGhpcyBvZmZzZXQKICAqLwotc3RhdGljIGludCByYWlkMF9tZXJnZWFibGVfYnZlYyhzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcSwgc3RydWN0IGJpbyAqYmlvLCBzdHJ1Y3QgYmlvX3ZlYyAqYmlvdmVjKQorc3RhdGljIGludCByYWlkMF9tZXJnZWFibGVfYnZlYyhzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcSwKKwkJCQlzdHJ1Y3QgYnZlY19tZXJnZV9kYXRhICpidm0sCisJCQkJc3RydWN0IGJpb192ZWMgKmJpb3ZlYykKIHsKIAltZGRldl90ICptZGRldiA9IHEtPnF1ZXVlZGF0YTsKLQlzZWN0b3JfdCBzZWN0b3IgPSBiaW8tPmJpX3NlY3RvciArIGdldF9zdGFydF9zZWN0KGJpby0+YmlfYmRldik7CisJc2VjdG9yX3Qgc2VjdG9yID0gYnZtLT5iaV9zZWN0b3IgKyBnZXRfc3RhcnRfc2VjdChidm0tPmJpX2JkZXYpOwogCWludCBtYXg7CiAJdW5zaWduZWQgaW50IGNodW5rX3NlY3RvcnMgPSBtZGRldi0+Y2h1bmtfc2l6ZSA+PiA5OwotCXVuc2lnbmVkIGludCBiaW9fc2VjdG9ycyA9IGJpby0+Ymlfc2l6ZSA+PiA5OworCXVuc2lnbmVkIGludCBiaW9fc2VjdG9ycyA9IGJ2bS0+Ymlfc2l6ZSA+PiA5OwogCiAJbWF4ID0gIChjaHVua19zZWN0b3JzIC0gKChzZWN0b3IgJiAoY2h1bmtfc2VjdG9ycyAtIDEpKSArIGJpb19zZWN0b3JzKSkgPDwgOTsKIAlpZiAobWF4IDwgMCkgbWF4ID0gMDsgLyogYmlvX2FkZCBjYW5ub3QgaGFuZGxlIGEgbmVnYXRpdmUgcmV0dXJuICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL21kL3JhaWQxMC5jIGIvZHJpdmVycy9tZC9yYWlkMTAuYwppbmRleCBhNzEyNzdiLi4yMmJiMmIxIDEwMDY0NAotLS0gYS9kcml2ZXJzL21kL3JhaWQxMC5jCisrKyBiL2RyaXZlcnMvbWQvcmFpZDEwLmMKQEAgLTQzOSwyNiArNDM5LDI3IEBACiAvKioKICAqCXJhaWQxMF9tZXJnZWFibGVfYnZlYyAtLSB0ZWxsIGJpbyBsYXllciBpZiBhIHR3byByZXF1ZXN0cyBjYW4gYmUgbWVyZ2VkCiAgKglAcTogcmVxdWVzdCBxdWV1ZQotICoJQGJpbzogdGhlIGJ1ZmZlciBoZWFkIHRoYXQncyBiZWVuIGJ1aWx0IHVwIHNvIGZhcgorICoJQGJ2bTogcHJvcGVydGllcyBvZiBuZXcgYmlvCiAgKglAYmlvdmVjOiB0aGUgcmVxdWVzdCB0aGF0IGNvdWxkIGJlIG1lcmdlZCB0byBpdC4KICAqCiAgKglSZXR1cm4gYW1vdW50IG9mIGJ5dGVzIHdlIGNhbiBhY2NlcHQgYXQgdGhpcyBvZmZzZXQKICAqICAgICAgSWYgbmVhcl9jb3BpZXMgPT0gcmFpZF9kaXNrLCB0aGVyZSBhcmUgbm8gc3RyaXBpbmcgaXNzdWVzLAogICogICAgICBidXQgaW4gdGhhdCBjYXNlLCB0aGUgZnVuY3Rpb24gaXNuJ3QgY2FsbGVkIGF0IGFsbC4KICAqLwotc3RhdGljIGludCByYWlkMTBfbWVyZ2VhYmxlX2J2ZWMoc3RydWN0IHJlcXVlc3RfcXVldWUgKnEsIHN0cnVjdCBiaW8gKmJpbywKLQkJCQlzdHJ1Y3QgYmlvX3ZlYyAqYmlvX3ZlYykKK3N0YXRpYyBpbnQgcmFpZDEwX21lcmdlYWJsZV9idmVjKHN0cnVjdCByZXF1ZXN0X3F1ZXVlICpxLAorCQkJCSBzdHJ1Y3QgYnZlY19tZXJnZV9kYXRhICpidm0sCisJCQkJIHN0cnVjdCBiaW9fdmVjICpiaW92ZWMpCiB7CiAJbWRkZXZfdCAqbWRkZXYgPSBxLT5xdWV1ZWRhdGE7Ci0Jc2VjdG9yX3Qgc2VjdG9yID0gYmlvLT5iaV9zZWN0b3IgKyBnZXRfc3RhcnRfc2VjdChiaW8tPmJpX2JkZXYpOworCXNlY3Rvcl90IHNlY3RvciA9IGJ2bS0+Ymlfc2VjdG9yICsgZ2V0X3N0YXJ0X3NlY3QoYnZtLT5iaV9iZGV2KTsKIAlpbnQgbWF4OwogCXVuc2lnbmVkIGludCBjaHVua19zZWN0b3JzID0gbWRkZXYtPmNodW5rX3NpemUgPj4gOTsKLQl1bnNpZ25lZCBpbnQgYmlvX3NlY3RvcnMgPSBiaW8tPmJpX3NpemUgPj4gOTsKKwl1bnNpZ25lZCBpbnQgYmlvX3NlY3RvcnMgPSBidm0tPmJpX3NpemUgPj4gOTsKIAogCW1heCA9ICAoY2h1bmtfc2VjdG9ycyAtICgoc2VjdG9yICYgKGNodW5rX3NlY3RvcnMgLSAxKSkgKyBiaW9fc2VjdG9ycykpIDw8IDk7CiAJaWYgKG1heCA8IDApIG1heCA9IDA7IC8qIGJpb19hZGQgY2Fubm90IGhhbmRsZSBhIG5lZ2F0aXZlIHJldHVybiAqLwotCWlmIChtYXggPD0gYmlvX3ZlYy0+YnZfbGVuICYmIGJpb19zZWN0b3JzID09IDApCi0JCXJldHVybiBiaW9fdmVjLT5idl9sZW47CisJaWYgKG1heCA8PSBiaW92ZWMtPmJ2X2xlbiAmJiBiaW9fc2VjdG9ycyA9PSAwKQorCQlyZXR1cm4gYmlvdmVjLT5idl9sZW47CiAJZWxzZQogCQlyZXR1cm4gbWF4OwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZC9yYWlkNS5jIGIvZHJpdmVycy9tZC9yYWlkNS5jCmluZGV4IDU0YzhlZTIuLjljZTcxNTQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWQvcmFpZDUuYworKysgYi9kcml2ZXJzL21kL3JhaWQ1LmMKQEAgLTIwMTcsMTIgKzIwMTcsNyBAQAogCQkJICovCiAJCQlzLT51cHRvZGF0ZSsrOwogCQkJcmV0dXJuIDA7IC8qIHVwdG9kYXRlICsgY29tcHV0ZSA9PSBkaXNrcyAqLwotCQl9IGVsc2UgaWYgKChzLT51cHRvZGF0ZSA8IGRpc2tzIC0gMSkgJiYKLQkJCXRlc3RfYml0KFI1X0luc3luYywgJmRldi0+ZmxhZ3MpKSB7Ci0JCQkvKiBOb3RlOiB3ZSBob2xkIG9mZiBjb21wdXRlIG9wZXJhdGlvbnMgd2hpbGUgY2hlY2tzIGFyZQotCQkJICogaW4gZmxpZ2h0LCBidXQgd2Ugc3RpbGwgcHJlZmVyICdjb21wdXRlJyBvdmVyICdyZWFkJwotCQkJICogaGVuY2Ugd2Ugb25seSByZWFkIGlmICh1cHRvZGF0ZSA8ICogZGlza3MtMSkKLQkJCSAqLworCQl9IGVsc2UgaWYgKHRlc3RfYml0KFI1X0luc3luYywgJmRldi0+ZmxhZ3MpKSB7CiAJCQlzZXRfYml0KFI1X0xPQ0tFRCwgJmRldi0+ZmxhZ3MpOwogCQkJc2V0X2JpdChSNV9XYW50cmVhZCwgJmRldi0+ZmxhZ3MpOwogCQkJaWYgKCF0ZXN0X2FuZF9zZXRfYml0KFNUUklQRV9PUF9JTywgJnNoLT5vcHMucGVuZGluZykpCkBAIC0zMzE5LDE1ICszMzE0LDE3IEBACiAvKiBXZSB3YW50IHJlYWQgcmVxdWVzdHMgdG8gYWxpZ24gd2l0aCBjaHVua3Mgd2hlcmUgcG9zc2libGUsCiAgKiBidXQgd3JpdGUgcmVxdWVzdHMgZG9uJ3QgbmVlZCB0by4KICAqLwotc3RhdGljIGludCByYWlkNV9tZXJnZWFibGVfYnZlYyhzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcSwgc3RydWN0IGJpbyAqYmlvLCBzdHJ1Y3QgYmlvX3ZlYyAqYmlvdmVjKQorc3RhdGljIGludCByYWlkNV9tZXJnZWFibGVfYnZlYyhzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcSwKKwkJCQlzdHJ1Y3QgYnZlY19tZXJnZV9kYXRhICpidm0sCisJCQkJc3RydWN0IGJpb192ZWMgKmJpb3ZlYykKIHsKIAltZGRldl90ICptZGRldiA9IHEtPnF1ZXVlZGF0YTsKLQlzZWN0b3JfdCBzZWN0b3IgPSBiaW8tPmJpX3NlY3RvciArIGdldF9zdGFydF9zZWN0KGJpby0+YmlfYmRldik7CisJc2VjdG9yX3Qgc2VjdG9yID0gYnZtLT5iaV9zZWN0b3IgKyBnZXRfc3RhcnRfc2VjdChidm0tPmJpX2JkZXYpOwogCWludCBtYXg7CiAJdW5zaWduZWQgaW50IGNodW5rX3NlY3RvcnMgPSBtZGRldi0+Y2h1bmtfc2l6ZSA+PiA5OwotCXVuc2lnbmVkIGludCBiaW9fc2VjdG9ycyA9IGJpby0+Ymlfc2l6ZSA+PiA5OworCXVuc2lnbmVkIGludCBiaW9fc2VjdG9ycyA9IGJ2bS0+Ymlfc2l6ZSA+PiA5OwogCi0JaWYgKGJpb19kYXRhX2RpcihiaW8pID09IFdSSVRFKQorCWlmICgoYnZtLT5iaV9ydyAmIDEpID09IFdSSVRFKQogCQlyZXR1cm4gYmlvdmVjLT5idl9sZW47IC8qIGFsd2F5cyBhbGxvdyB3cml0ZXMgdG8gYmUgbWVyZ2VhYmxlICovCiAKIAltYXggPSAgKGNodW5rX3NlY3RvcnMgLSAoKHNlY3RvciAmIChjaHVua19zZWN0b3JzIC0gMSkpICsgYmlvX3NlY3RvcnMpKSA8PCA5OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9jb21tb24vdHVuZXJzL3R1bmVyLXhjMjAyOC5jIGIvZHJpdmVycy9tZWRpYS9jb21tb24vdHVuZXJzL3R1bmVyLXhjMjAyOC5jCmluZGV4IDBjYmRlMTcuLjMwZWIwN2IgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWVkaWEvY29tbW9uL3R1bmVycy90dW5lci14YzIwMjguYworKysgYi9kcml2ZXJzL21lZGlhL2NvbW1vbi90dW5lcnMvdHVuZXIteGMyMDI4LmMKQEAgLTI1NCw3ICsyNTQsNyBAQAogewogCXN0cnVjdCB4YzIwMjhfZGF0YSAgICAqcHJpdiA9IGZlLT50dW5lcl9wcml2OwogCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZncgICA9IE5VTEw7Ci0JdW5zaWduZWQgY2hhciAgICAgICAgICpwLCAqZW5kcDsKKwljb25zdCB1bnNpZ25lZCBjaGFyICAgKnAsICplbmRwOwogCWludCAgICAgICAgICAgICAgICAgICByYyA9IDA7CiAJaW50CQkgICAgICBuLCBuX2FycmF5OwogCWNoYXIJCSAgICAgIG5hbWVbMzNdOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9jb21tb24vdHVuZXJzL3hjNTAwMC5jIGIvZHJpdmVycy9tZWRpYS9jb21tb24vdHVuZXJzL3hjNTAwMC5jCmluZGV4IDdjZjRmNWIuLjQ4NzhkNjQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWVkaWEvY29tbW9uL3R1bmVycy94YzUwMDAuYworKysgYi9kcml2ZXJzL21lZGlhL2NvbW1vbi90dW5lcnMveGM1MDAwLmMKQEAgLTI3OCw3ICsyNzgsNyBAQAogCXJldHVybiByZXN1bHQ7CiB9CiAKLXN0YXRpYyBpbnQgeGNfbG9hZF9pMmNfc2VxdWVuY2Uoc3RydWN0IGR2Yl9mcm9udGVuZCAqZmUsIHU4IGkyY19zZXF1ZW5jZVtdKQorc3RhdGljIGludCB4Y19sb2FkX2kyY19zZXF1ZW5jZShzdHJ1Y3QgZHZiX2Zyb250ZW5kICpmZSwgY29uc3QgdTggKmkyY19zZXF1ZW5jZSkKIHsKIAlzdHJ1Y3QgeGM1MDAwX3ByaXYgKnByaXYgPSBmZS0+dHVuZXJfcHJpdjsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9kdmIvZHZiLWNvcmUvZHZiZGV2LmMgYi9kcml2ZXJzL21lZGlhL2R2Yi9kdmItY29yZS9kdmJkZXYuYwppbmRleCA4YjU2ZDkyLi5lMjA4YTYwIDEwMDY0NAotLS0gYS9kcml2ZXJzL21lZGlhL2R2Yi9kdmItY29yZS9kdmJkZXYuYworKysgYi9kcml2ZXJzL21lZGlhL2R2Yi9kdmItY29yZS9kdmJkZXYuYwpAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvY2Rldi5oPgogI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlICJkdmJkZXYuaCIKIAogc3RhdGljIGludCBkdmJkZXZfZGVidWc7CkBAIC03NCw2ICs3NSw3IEBACiB7CiAJc3RydWN0IGR2Yl9kZXZpY2UgKmR2YmRldjsKIAorCWxvY2tfa2VybmVsKCk7CiAJZHZiZGV2ID0gZHZiZGV2X2ZpbmRfZGV2aWNlIChpbWlub3IoaW5vZGUpKTsKIAogCWlmIChkdmJkZXYgJiYgZHZiZGV2LT5mb3BzKSB7CkBAIC05MCw4ICs5MiwxMCBAQAogCQkJZmlsZS0+Zl9vcCA9IGZvcHNfZ2V0KG9sZF9mb3BzKTsKIAkJfQogCQlmb3BzX3B1dChvbGRfZm9wcyk7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIGVycjsKIAl9CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiAtRU5PREVWOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2R2Yi9kdmItdXNiL2N4dXNiLmMgYi9kcml2ZXJzL21lZGlhL2R2Yi9kdmItdXNiL2N4dXNiLmMKaW5kZXggNzIwZmNkMS4uMDI4NjE1NjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWVkaWEvZHZiL2R2Yi11c2IvY3h1c2IuYworKysgYi9kcml2ZXJzL21lZGlhL2R2Yi9kdmItdXNiL2N4dXNiLmMKQEAgLTI0LDYgKzI0LDcgQEAKICAqIHNlZSBEb2N1bWVudGF0aW9uL2R2Yi9SRUFETUUuZHZiLXVzYiBmb3IgbW9yZSBpbmZvcm1hdGlvbgogICovCiAjaW5jbHVkZSA8bWVkaWEvdHVuZXIuaD4KKyNpbmNsdWRlIDxsaW51eC92bWFsbG9jLmg+CiAKICNpbmNsdWRlICJjeHVzYi5oIgogCkBAIC03MDAsMTIgKzcwMSwyNiBAQAogCiAJCWlmIChmdy0+ZGF0YVtpZG9mZl0gPT0gKFVTQl9WSURfRFZJQ08gJiAweGZmKSAmJgogCQkgICAgZnctPmRhdGFbaWRvZmYgKyAxXSA9PSBVU0JfVklEX0RWSUNPID4+IDgpIHsKLQkJCWZ3LT5kYXRhW2lkb2ZmICsgMl0gPQorCQkJc3RydWN0IGZpcm13YXJlIG5ld19mdzsKKwkJCXU4ICpuZXdfZndfZGF0YSA9IHZtYWxsb2MoZnctPnNpemUpOworCQkJaW50IHJldDsKKworCQkJaWYgKCFuZXdfZndfZGF0YSkKKwkJCQlyZXR1cm4gLUVOT01FTTsKKworCQkJbWVtY3B5KG5ld19md19kYXRhLCBmdy0+ZGF0YSwgZnctPnNpemUpOworCQkJbmV3X2Z3LnNpemUgPSBmdy0+c2l6ZTsKKwkJCW5ld19mdy5kYXRhID0gbmV3X2Z3X2RhdGE7CisKKwkJCW5ld19md19kYXRhW2lkb2ZmICsgMl0gPQogCQkJCWxlMTZfdG9fY3B1KHVkZXYtPmRlc2NyaXB0b3IuaWRQcm9kdWN0KSArIDE7Ci0JCQlmdy0+ZGF0YVtpZG9mZiArIDNdID0KKwkJCW5ld19md19kYXRhW2lkb2ZmICsgM10gPQogCQkJCWxlMTZfdG9fY3B1KHVkZXYtPmRlc2NyaXB0b3IuaWRQcm9kdWN0KSA+PiA4OwogCi0JCQlyZXR1cm4gdXNiX2N5cHJlc3NfbG9hZF9maXJtd2FyZSh1ZGV2LCBmdywgQ1lQUkVTU19GWDIpOworCQkJcmV0ID0gdXNiX2N5cHJlc3NfbG9hZF9maXJtd2FyZSh1ZGV2LCAmbmV3X2Z3LAorCQkJCQkJCUNZUFJFU1NfRlgyKTsKKwkJCXZmcmVlKG5ld19md19kYXRhKTsKKwkJCXJldHVybiByZXQ7CiAJCX0KIAl9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvZHZiL2R2Yi11c2IvZ3A4cHNrLmMgYi9kcml2ZXJzL21lZGlhL2R2Yi9kdmItdXNiL2dwOHBzay5jCmluZGV4IDI2NTMxMjAuLmQ5NjVhOTIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWVkaWEvZHZiL2R2Yi11c2IvZ3A4cHNrLmMKKysrIGIvZHJpdmVycy9tZWRpYS9kdmIvZHZiLXVzYi9ncDhwc2suYwpAQCAtODYsNyArODYsOCBAQAogewogCWludCByZXQ7CiAJY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdyA9IE5VTEw7Ci0JdTggKnB0ciwgKmJ1ZjsKKwljb25zdCB1OCAqcHRyOworCXU4ICpidWY7CiAJaWYgKChyZXQgPSByZXF1ZXN0X2Zpcm13YXJlKCZmdywgYmNtNDUwMF9maXJtd2FyZSwKIAkJCQkJJmQtPnVkZXYtPmRldikpICE9IDApIHsKIAkJZXJyKCJkaWQgbm90IGZpbmQgdGhlIGJjbTQ1MDAgZmlybXdhcmUgZmlsZS4gKCVzKSAiCmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2R2Yi9mcm9udGVuZHMvYmNtMzUxMC5jIGIvZHJpdmVycy9tZWRpYS9kdmIvZnJvbnRlbmRzL2JjbTM1MTAuYwppbmRleCBkMjY4ZTY1Li5jZjVlNTc2IDEwMDY0NAotLS0gYS9kcml2ZXJzL21lZGlhL2R2Yi9mcm9udGVuZHMvYmNtMzUxMC5jCisrKyBiL2RyaXZlcnMvbWVkaWEvZHZiL2Zyb250ZW5kcy9iY20zNTEwLmMKQEAgLTU5MCw3ICs1OTAsOCBAQAogICovCiAjZGVmaW5lIEJDTTM1MTBfREVGQVVMVF9GSVJNV0FSRSAiZHZiLWZlLWJjbTM1MTAtMDEuZnciCiAKLXN0YXRpYyBpbnQgYmNtMzUxMF93cml0ZV9yYW0oc3RydWN0IGJjbTM1MTBfc3RhdGUgKnN0LCB1MTYgYWRkciwgdTggKmIsIHUxNiBsZW4pCitzdGF0aWMgaW50IGJjbTM1MTBfd3JpdGVfcmFtKHN0cnVjdCBiY20zNTEwX3N0YXRlICpzdCwgdTE2IGFkZHIsIGNvbnN0IHU4ICpiLAorCQkJICAgICB1MTYgbGVuKQogewogCWludCByZXQgPSAwLGk7CiAJYmNtMzUxMF9yZWdpc3Rlcl92YWx1ZSB2SCwgdkwsdkQ7CkBAIC02MTQsNyArNjE1LDcgQEAKIAlzdHJ1Y3QgYmNtMzUxMF9zdGF0ZSogc3QgPSBmZS0+ZGVtb2R1bGF0b3JfcHJpdjsKIAljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3OwogCXUxNiBhZGRyLGxlbjsKLQl1OCAgKmI7CisJY29uc3QgdTggKmI7CiAJaW50IHJldCxpOwogCiAJZGViX2luZm8oInJlcXVlc3RpbmcgZmlybXdhcmVcbiIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9kdmIvZnJvbnRlbmRzL254dDIwMHguYyBiL2RyaXZlcnMvbWVkaWEvZHZiL2Zyb250ZW5kcy9ueHQyMDB4LmMKaW5kZXggMjNkMDIyOC4uYWYyOTgzNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZWRpYS9kdmIvZnJvbnRlbmRzL254dDIwMHguYworKysgYi9kcml2ZXJzL21lZGlhL2R2Yi9mcm9udGVuZHMvbnh0MjAweC5jCkBAIC05Myw3ICs5Myw4IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgbnh0MjAweF93cml0ZWJ5dGVzIChzdHJ1Y3Qgbnh0MjAweF9zdGF0ZSogc3RhdGUsIHU4IHJlZywgdTggKmJ1ZiwgdTggbGVuKQorc3RhdGljIGludCBueHQyMDB4X3dyaXRlYnl0ZXMgKHN0cnVjdCBueHQyMDB4X3N0YXRlKiBzdGF0ZSwgdTggcmVnLAorCQkJICAgICAgIGNvbnN0IHU4ICpidWYsIHU4IGxlbikKIHsKIAl1OCBidWYyIFtsZW4rMV07CiAJaW50IGVycjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvZHZiL2Zyb250ZW5kcy9vcjUxMjExLmMgYi9kcml2ZXJzL21lZGlhL2R2Yi9mcm9udGVuZHMvb3I1MTIxMS5jCmluZGV4IDdlYWE0NzYuLjZhZmUxMmEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWVkaWEvZHZiL2Zyb250ZW5kcy9vcjUxMjExLmMKKysrIGIvZHJpdmVycy9tZWRpYS9kdmIvZnJvbnRlbmRzL29yNTEyMTEuYwpAQCAtNjksNyArNjksNyBAQAogCXUzMiBjdXJyZW50X2ZyZXF1ZW5jeTsKIH07CiAKLXN0YXRpYyBpbnQgaTJjX3dyaXRlYnl0ZXMgKHN0cnVjdCBvcjUxMjExX3N0YXRlKiBzdGF0ZSwgdTggcmVnLCB1OCAqYnVmLAorc3RhdGljIGludCBpMmNfd3JpdGVieXRlcyAoc3RydWN0IG9yNTEyMTFfc3RhdGUqIHN0YXRlLCB1OCByZWcsIGNvbnN0IHU4ICpidWYsCiAJCQkgICBpbnQgbGVuKQogewogCWludCBlcnI7CkBAIC03Nyw3ICs3Nyw3IEBACiAJbXNnLmFkZHIJPSByZWc7CiAJbXNnLmZsYWdzCT0gMDsKIAltc2cubGVuCQk9IGxlbjsKLQltc2cuYnVmCQk9IGJ1ZjsKKwltc2cuYnVmCQk9ICh1OCAqKWJ1ZjsKIAogCWlmICgoZXJyID0gaTJjX3RyYW5zZmVyIChzdGF0ZS0+aTJjLCAmbXNnLCAxKSkgIT0gMSkgewogCQlwcmludGsoS0VSTl9XQVJOSU5HICJvcjUxMjExOiBpMmNfd3JpdGVieXRlcyBlcnJvciAiCmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2R2Yi9mcm9udGVuZHMvc3A4ODcwLmMgYi9kcml2ZXJzL21lZGlhL2R2Yi9mcm9udGVuZHMvc3A4ODcwLmMKaW5kZXggYWE3OGFhMS4uMWM5YTliNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZWRpYS9kdmIvZnJvbnRlbmRzL3NwODg3MC5jCisrKyBiL2RyaXZlcnMvbWVkaWEvZHZiL2Zyb250ZW5kcy9zcDg4NzAuYwpAQCAtOTgsNyArOTgsNyBAQAogc3RhdGljIGludCBzcDg4NzBfZmlybXdhcmVfdXBsb2FkIChzdHJ1Y3Qgc3A4ODcwX3N0YXRlKiBzdGF0ZSwgY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdykKIHsKIAlzdHJ1Y3QgaTJjX21zZyBtc2c7Ci0JY2hhciAqZndfYnVmID0gZnctPmRhdGE7CisJY29uc3QgY2hhciAqZndfYnVmID0gZnctPmRhdGE7CiAJaW50IGZ3X3BvczsKIAl1OCB0eF9idWZbMjU1XTsKIAlpbnQgdHhfbGVuOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9kdmIvZnJvbnRlbmRzL3NwODg3eC5jIGIvZHJpdmVycy9tZWRpYS9kdmIvZnJvbnRlbmRzL3NwODg3eC5jCmluZGV4IDQ5ZjU1ODcuLjQ1NDM2MDkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWVkaWEvZHZiL2Zyb250ZW5kcy9zcDg4N3guYworKysgYi9kcml2ZXJzL21lZGlhL2R2Yi9mcm9udGVuZHMvc3A4ODd4LmMKQEAgLTE0MCw3ICsxNDAsNyBAQAogCXU4IGJ1ZiBbQkxPQ0tTSVpFKzJdOwogCWludCBpOwogCWludCBmd19zaXplID0gZnctPnNpemU7Ci0JdW5zaWduZWQgY2hhciAqbWVtID0gZnctPmRhdGE7CisJY29uc3QgdW5zaWduZWQgY2hhciAqbWVtID0gZnctPmRhdGE7CiAKIAlkcHJpbnRrKCIlc1xuIiwgX19mdW5jX18pOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2R2Yi9mcm9udGVuZHMvdGRhMTAwNDguYyBiL2RyaXZlcnMvbWVkaWEvZHZiL2Zyb250ZW5kcy90ZGExMDA0OC5jCmluZGV4IDA5MGZiN2QuLjBhYjhkODZiIDEwMDY0NAotLS0gYS9kcml2ZXJzL21lZGlhL2R2Yi9mcm9udGVuZHMvdGRhMTAwNDguYworKysgYi9kcml2ZXJzL21lZGlhL2R2Yi9mcm9udGVuZHMvdGRhMTAwNDguYwpAQCAtMjMzLDcgKzIzMyw3IEBACiB9CiAKIHN0YXRpYyBpbnQgdGRhMTAwNDhfd3JpdGVyZWdidWxrKHN0cnVjdCB0ZGExMDA0OF9zdGF0ZSAqc3RhdGUsIHU4IHJlZywKLQl1OCAqZGF0YSwgdTE2IGxlbikKKwkJCQkgY29uc3QgdTggKmRhdGEsIHUxNiBsZW4pCiB7CiAJaW50IHJldCA9IC1FUkVNT1RFSU87CiAJc3RydWN0IGkyY19tc2cgbXNnOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9kdmIvZnJvbnRlbmRzL3RkYTEwMDR4LmMgYi9kcml2ZXJzL21lZGlhL2R2Yi9mcm9udGVuZHMvdGRhMTAwNHguYwppbmRleCBhMGQ2Mzg2Li4xNDY1ZmY3IDEwMDY0NAotLS0gYS9kcml2ZXJzL21lZGlhL2R2Yi9mcm9udGVuZHMvdGRhMTAwNHguYworKysgYi9kcml2ZXJzL21lZGlhL2R2Yi9mcm9udGVuZHMvdGRhMTAwNHguYwpAQCAtMzE3LDcgKzMxNyw3IEBACiB9CiAKIHN0YXRpYyBpbnQgdGRhMTAwNHhfZG9fdXBsb2FkKHN0cnVjdCB0ZGExMDA0eF9zdGF0ZSAqc3RhdGUsCi0JCQkgICAgICB1bnNpZ25lZCBjaGFyICptZW0sIHVuc2lnbmVkIGludCBsZW4sCisJCQkgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICptZW0sIHVuc2lnbmVkIGludCBsZW4sCiAJCQkgICAgICB1OCBkc3BDb2RlQ291bnRlclJlZywgdTggZHNwQ29kZUluUmVnKQogewogCXU4IGJ1Zls2NV07CmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2R2Yi90dHVzYi1idWRnZXQvZHZiLXR0dXNiLWJ1ZGdldC5jIGIvZHJpdmVycy9tZWRpYS9kdmIvdHR1c2ItYnVkZ2V0L2R2Yi10dHVzYi1idWRnZXQuYwppbmRleCA1ZDJkODFhLi5iYzIwNDNlIDEwMDY0NAotLS0gYS9kcml2ZXJzL21lZGlhL2R2Yi90dHVzYi1idWRnZXQvZHZiLXR0dXNiLWJ1ZGdldC5jCisrKyBiL2RyaXZlcnMvbWVkaWEvZHZiL3R0dXNiLWJ1ZGdldC9kdmItdHR1c2ItYnVkZ2V0LmMKQEAgLTE5LDYgKzE5LDcgQEAKICNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgogI2luY2x1ZGUgPGxpbnV4L2ppZmZpZXMuaD4KICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgorI2luY2x1ZGUgPGxpbnV4L2Zpcm13YXJlLmg+CiAKICNpbmNsdWRlICJkdmJfZnJvbnRlbmQuaCIKICNpbmNsdWRlICJkbXhkZXYuaCIKQEAgLTI4NSwxMyArMjg2LDE5IEBACiAJcmV0dXJuIGk7CiB9CiAKLSNpbmNsdWRlICJkdmItdHR1c2ItZHNwYm9vdGNvZGUuaCIKLQogc3RhdGljIGludCB0dHVzYl9ib290X2RzcChzdHJ1Y3QgdHR1c2IgKnR0dXNiKQogeworCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZnc7CiAJaW50IGksIGVycjsKIAl1OCBiWzQwXTsKIAorCWVyciA9IHJlcXVlc3RfZmlybXdhcmUoJmZ3LCAidHR1c2ItYnVkZ2V0L2RzcGJvb3Rjb2RlLmJpbiIsCisJCQkgICAgICAgJnR0dXNiLT5kZXYtPmRldik7CisJaWYgKGVycikgeworCQlwcmludGsoS0VSTl9FUlIgInR0dXNiLWJ1ZGdldDogZmFpbGVkIHRvIHJlcXVlc3QgZmlybXdhcmVcbiIpOworCQlyZXR1cm4gZXJyOworCX0KKwogCS8qIEJvb3RCbG9jayAqLwogCWJbMF0gPSAweGFhOwogCWJbMl0gPSAweDEzOwpAQCAtMjk5LDggKzMwNiw4IEBACiAKIAkvKiB1cGxvYWQgZHNwIGNvZGUgaW4gMzIgYnl0ZSBzdGVwcyAoMzYgZGlkbid0IHdvcmsgZm9yIG1lIC4uLikgKi8KIAkvKiAzMiBpcyBtYXggcGFja2V0IHNpemUsIG5vIG1lc3NhZ2VzIHNob3VsZCBiZSBzcGxpdHRlZC4gKi8KLQlmb3IgKGkgPSAwOyBpIDwgc2l6ZW9mKGRzcF9ib290Y29kZSk7IGkgKz0gMjgpIHsKLQkJbWVtY3B5KCZiWzRdLCAmZHNwX2Jvb3Rjb2RlW2ldLCAyOCk7CisJZm9yIChpID0gMDsgaSA8IGZ3LT5zaXplOyBpICs9IDI4KSB7CisJCW1lbWNweSgmYls0XSwgJmZ3LT5kYXRhW2ldLCAyOCk7CiAKIAkJYlsxXSA9ICsrdHR1c2ItPmM7CiAKQEAgLTE4MjAsMyArMTgyNyw0IEBACiBNT0RVTEVfQVVUSE9SKCJIb2xnZXIgV2FlY2h0bGVyIDxob2xnZXJAY29udmVyZ2VuY2UuZGU+Iik7CiBNT0RVTEVfREVTQ1JJUFRJT04oIlRUVVNCIERWQiBEcml2ZXIiKTsKIE1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKK01PRFVMRV9GSVJNV0FSRSgidHR1c2ItYnVkZ2V0L2RzcGJvb3Rjb2RlLmJpbiIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9kdmIvdHR1c2ItYnVkZ2V0L2R2Yi10dHVzYi1kc3Bib290Y29kZS5oIGIvZHJpdmVycy9tZWRpYS9kdmIvdHR1c2ItYnVkZ2V0L2R2Yi10dHVzYi1kc3Bib290Y29kZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4YzNjZDU0Li4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvbWVkaWEvZHZiL3R0dXNiLWJ1ZGdldC9kdmItdHR1c2ItZHNwYm9vdGNvZGUuaAorKysgL2Rldi9udWxsCkBAIC0xLDE2NDQgKzAsMCBAQAotCi0jaW5jbHVkZSA8YXNtL3R5cGVzLmg+Ci0KLXN0YXRpYyB1OCBkc3BfYm9vdGNvZGUgW10gPSB7Ci0JMHgwOCwgMHhhYSwgMHgwMCwgMHgxOCwgMHgwMCwgMHgwMywgMHgwOCwgMHgwMCwKLQkweDAwLCAweDEwLCAweDAwLCAweDAwLCAweDAxLCAweDgwLCAweDE4LCAweDVmLAotCTB4MDAsIDB4MDAsIDB4MDEsIDB4ODAsIDB4NzcsIDB4MTgsIDB4MmEsIDB4ZWIsCi0JMHg2YiwgMHhmOCwgMHgwMCwgMHgxOCwgMHgwMywgMHhmZiwgMHg2OCwgMHhmOCwKLQkweDAwLCAweDE4LCAweGZmLCAweGZlLCAweGY3LCAweGI4LCAweGY3LCAweGJlLAotCTB4ZjYsIDB4YjksIDB4ZjQsIDB4YTAsIDB4ZjYsIDB4YjcsIDB4ZjYsIDB4YjUsCi0JMHhmNiwgMHhiNiwgMHhmMCwgMHgyMCwgMHgxOSwgMHhkZiwgMHhmMSwgMHgwMCwKLQkweDAwLCAweDAxLCAweGY4LCAweDRkLCAweDAxLCAweGFiLCAweGY2LCAweGI4LAotCTB4ZjAsIDB4MjAsIDB4MTksIDB4ZGYsIDB4ZjAsIDB4NzMsIDB4MDEsIDB4YTUsCi0JMHg3ZSwgMHhmOCwgMHgwMCwgMHgxMiwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwMSwKLQkweDQ3LCAweGY4LCAweDAwLCAweDExLCAweDdlLCAweDkyLCAweDAwLCAweGY4LAotCTB4MDAsIDB4MTEsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDEsIDB4N2UsIDB4ZjgsCi0JMHgwMCwgMHgxMSwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHg2YywgMHg4OSwKLQkweDAxLCAweDlhLCAweGY3LCAweGI4LCAweGVlLCAweGZjLCAweGYwLCAweDIwLAotCTB4ZmYsIDB4ZmYsIDB4ZjEsIDB4MDAsIDB4MDAsIDB4MDEsIDB4ZjgsIDB4NGQsCi0JMHgwMSwgMHhiZiwgMHhmMiwgMHg3MywgMHgwMSwgMHhiOSwgMHg0ZSwgMHgwMiwKLQkweGY0LCAweDk1LCAweGY1LCAweGUzLCAweDU2LCAweDAyLCAweDdlLCAweDAwLAotCTB4MTEsIDB4MDAsIDB4ZmEsIDB4NGMsIDB4MDEsIDB4YjcsIDB4NmIsIDB4MDMsCi0JMHgwMCwgMHgwMSwgMHhmNiwgMHhiOCwgMHhlZSwgMHgwNCwgMHhmMCwgMHg3NCwKLQkweDBkLCAweGE3LCAweGYwLCAweDc0LCAweDAxLCAweGM1LCAweDRhLCAweDExLAotCTB4NGEsIDB4MTYsIDB4NzIsIDB4MTEsIDB4MmEsIDB4ZTYsIDB4MTAsIDB4ZjgsCi0JMHgwMCwgMHgxMSwgMHhmYSwgMHg0NSwgMHgwMSwgMHhkYiwgMHhmNCwgMHg5NSwKLQkweGVlLCAweGZmLCAweDQ4LCAweDExLCAweGYwLCAweDAwLCAweDJhLCAweGM2LAotCTB4ODgsIDB4MTYsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4MTAsIDB4ZWUsCi0JMHhmZiwgMHhmZiwgMHhmNCwgMHhlMywgMHg2YywgMHhlOSwgMHhmZiwgMHhmZiwKLQkweDAxLCAweGQ1LCAweDEwLCAweGY4LCAweDJhLCAweGU3LCAweGY4LCAweDQ1LAotCTB4MDEsIDB4ZTIsIDB4MTAsIDB4ZjgsIDB4MmEsIDB4ZTcsIDB4ZjQsIDB4ZTMsCi0JMHhmMCwgMHg3NCwgMHgwMSwgMHhmZiwgMHhlZSwgMHgwMSwgMHg4YSwgMHgxNiwKLQkweDhhLCAweDExLCAweGZjLCAweDAwLCAweGY3LCAweGI4LCAweGU5LCAweDIwLAotCTB4NGEsIDB4MTEsIDB4MDksIDB4ZjgsIDB4MmEsIDB4ZTYsIDB4ZjgsIDB4NGUsCi0JMHgwMSwgMHhmMywgMHhmMiwgMHg3MywgMHgwMSwgMHhmZCwgMHhmNCwgMHg5NSwKLQkweGU4LCAweDAxLCAweDcyLCAweDExLCAweDJhLCAweGU2LCAweDQ5LCAweDExLAotCTB4ODAsIDB4ZTEsIDB4MmEsIDB4YzYsIDB4ZjMsIDB4MDAsIDB4MDAsIDB4MDEsCi0JMHhlOCwgMHgwMCwgMHg4MSwgMHhmOCwgMHgyYSwgMHhlNiwgMHg4YSwgMHgxMSwKLQkweGZjLCAweDAwLCAweGY0LCAweDk1LCAweGYwLCAweDczLCAweDAyLCAweDAwLAotCTB4MTAsIDB4ZjgsIDB4MmEsIDB4MGYsIDB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsCi0JMHhmMCwgMHg3NCwgMHgwMiwgMHgwMiwgMHg4MCwgMHhmOCwgMHgyYSwgMHgxMCwKLQkweDczLCAweDA4LCAweDAwLCAweDA5LCAweDQwLCAweGY4LCAweDJhLCAweDE1LAotCTB4ODIsIDB4ZjgsIDB4MDAsIDB4MTEsIDB4ZjQsIDB4OTUsIDB4NzcsIDB4MTAsCi0JMHgwMywgMHhlOCwgMHhmNSwgMHhhOSwgMHhmOCwgMHgzMCwgMHgwMiwgMHgyMSwKLQkweDcxLCAweGY4LCAweDJhLCAweDEwLCAweDJhLCAweDE1LCAweDU2LCAweGY4LAotCTB4MmEsIDB4MGMsIDB4ZjAsIDB4ZTMsIDB4NGUsIDB4ZjgsIDB4MmEsIDB4MTYsCi0JMHhlOCwgMHgwMCwgMHg0ZSwgMHhmOCwgMHgyYSwgMHgwYywgMHg4YSwgMHgxMSwKLQkweGZjLCAweDAwLCAweDRhLCAweDA2LCAweDRhLCAweDA3LCAweDRhLCAweDFkLAotCTB4NjgsIDB4ZjgsIDB4MDAsIDB4MDcsIDB4N2QsIDB4M2YsIDB4NjksIDB4ZjgsCi0JMHgwMCwgMHgwNywgMHg0MCwgMHgwMCwgMHg2OCwgMHhmOCwgMHgwMCwgMHgxZCwKLQkweGZmLCAweGZjLCAweDZiLCAweGY4LCAweDJhLCAweDBmLCAweDAwLCAweDAxLAotCTB4OGEsIDB4MWQsIDB4OGEsIDB4MDcsIDB4OGEsIDB4MDYsIDB4ZjQsIDB4ZWIsCi0JMHhlZSwgMHhmZCwgMHg3NiwgMHhmOCwgMHgyYSwgMHgwZiwgMHgwMCwgMHgwMCwKLQkweDc2LCAweDAwLCAweDAwLCAweDAwLCAweGZiLCAweDgwLCAweDE5LCAweDRjLAotCTB4ZjQsIDB4OTUsIDB4ZTgsIDB4MDAsIDB4ODAsIDB4ZjgsIDB4MmEsIDB4MTEsCi0JMHhmOSwgMHg4MCwgMHgxOSwgMHgwNywgMHg4MCwgMHhmOCwgMHgyYSwgMHgwZSwKLQkweGY5LCAweDgwLCAweDE2LCAweDY2LCAweDc2LCAweDAwLCAweDJhLCAweDEyLAotCTB4MTAsIDB4ZjgsIDB4MmEsIDB4MTEsIDB4ZjksIDB4ODAsIDB4MTgsIDB4ZTMsCi0JMHgxMCwgMHhmOCwgMHgyYSwgMHgwZSwgMHhmOSwgMHg4MCwgMHgxNiwgMHg2NiwKLQkweDEwLCAweGY4LCAweDJhLCAweDBlLCAweGY5LCAweDgwLCAweDE2LCAweDg3LAotCTB4ZWUsIDB4MDMsIDB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsIDB4ZjYsIDB4YjgsCi0JMHhmNCwgMHg5NSwgMHhmMCwgMHgyMCwgMHg4MCwgMHgwMCwgMHgxMSwgMHhmOCwKLQkweDJhLCAweDVhLCAweGY4LCAweDRkLCAweDAyLCAweDkzLCAweDExLCAweGY4LAotCTB4MmEsIDB4OWYsIDB4ZjgsIDB4NGMsIDB4MDIsIDB4N2MsIDB4NzcsIDB4MTIsCi0JMHgyYSwgMHgzOSwgMHg0OSwgMHgxMiwgMHgwMSwgMHhmOCwgMHgyYSwgMHg5ZiwKLQkweDg5LCAweDExLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweDcxLCAweDgxLAotCTB4MDAsIDB4MTEsIDB4NmMsIDB4ZTEsIDB4ZmYsIDB4YWIsIDB4MDIsIDB4OTMsCi0JMHg2YiwgMHhmOCwgMHgyYSwgMHg5ZiwgMHgwMCwgMHgwMSwgMHhlOSwgMHgwNSwKLQkweDAxLCAweGUyLCAweDAwLCAweDAzLCAweDgxLCAweGY4LCAweDJhLCAweGEwLAotCTB4ZjAsIDB4NzMsIDB4MDIsIDB4OTUsIDB4NzIsIDB4MTEsIDB4MmEsIDB4OWYsCi0JMHhmNCwgMHg5NSwgMHgxMCwgMHhlMSwgMHgyYSwgMHgzOSwgMHg2YiwgMHhmOCwKLQkweDJhLCAweDlmLCAweDAwLCAweDAxLCAweDExLCAweGY4LCAweDJhLCAweDlmLAotCTB4MDksIDB4ZjgsIDB4MmEsIDB4YTAsIDB4ZjgsIDB4NGMsIDB4MDIsIDB4OTMsCi0JMHg3NiwgMHhmOCwgMHgyYSwgMHg1YSwgMHgwMCwgMHgwMCwgMHg3NiwgMHhmOCwKLQkweDJhLCAweDlmLCAweDAwLCAweDAwLCAweDc2LCAweGY4LCAweDJhLCAweGEwLAotCTB4MDAsIDB4MDAsIDB4ODgsIDB4MTEsIDB4ZjQsIDB4OTUsIDB4NDgsIDB4MTEsCi0JMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwgMHhlZSwgMHhmZSwKLQkweDEwLCAweGY4LCAweDJhLCAweDVhLCAweGY4LCAweDQ0LCAweDAyLCAweGIyLAotCTB4NzYsIDB4ZjgsIDB4MmEsIDB4NWEsIDB4MDAsIDB4MDEsIDB4ZjAsIDB4NzQsCi0JMHgwMiwgMHg1OCwgMHg4OCwgMHgxMSwgMHhmNCwgMHg5NSwgMHg3NywgMHgxMCwKLQkweDgwLCAweDAwLCAweGY0LCAweGE5LCAweGY4LCAweDMwLCAweDAyLCAweGIyLAotCTB4NDgsIDB4MTEsIDB4ZjAsIDB4MzAsIDB4MDAsIDB4ZmYsIDB4ODAsIDB4MDAsCi0JMHgxMCwgMHhmOCwgMHgyYSwgMHg1YiwgMHhmOSwgMHg4MCwgMHgxOCwgMHhkNiwKLQkweGVlLCAweDAyLCAweDhhLCAweDExLCAweGZjLCAweDAwLCAweGY0LCAweDk1LAotCTB4NGEsIDB4MDgsIDB4NGEsIDB4MDksIDB4NGEsIDB4MGEsIDB4NGEsIDB4MGIsCi0JMHg0YSwgMHgwYywgMHg0YSwgMHgwZCwgMHg0YSwgMHgxMCwgMHg0YSwgMHgxMSwKLQkweDRhLCAweDEyLCAweDRhLCAweDEzLCAweDRhLCAweDE0LCAweDRhLCAweDE1LAotCTB4NGEsIDB4MTYsIDB4NGEsIDB4MTcsIDB4NGEsIDB4MTcsIDB4NGEsIDB4MTksCi0JMHg0YSwgMHgwZSwgMHg0YSwgMHgwNiwgMHg0YSwgMHgwNywgMHg0YSwgMHgxYSwKLQkweDRhLCAweDFkLCAweDRhLCAweDFiLCAweDRhLCAweDFjLCAweDY4LCAweGY4LAotCTB4MDAsIDB4MDcsIDB4N2QsIDB4M2YsIDB4NjksIDB4ZjgsIDB4MDAsIDB4MDcsCi0JMHg0MCwgMHgwMCwgMHg2OCwgMHhmOCwgMHgwMCwgMHgxZCwgMHhmZiwgMHhmYywKLQkweDQ4LCAweDE4LCAweDY4LCAweGY4LCAweDAwLCAweDE4LCAweGZmLCAweGZlLAotCTB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4NGEsIDB4MDgsIDB4ZWUsIDB4ZmQsCi0JMHhmMCwgMHg3NCwgMHgwMiwgMHg1OCwgMHg4OCwgMHgxMSwgMHhmNCwgMHg5NSwKLQkweDc3LCAweDEwLCAweDgwLCAweDAwLCAweGY0LCAweGE5LCAweGY4LCAweDMwLAotCTB4MDIsIDB4ZWYsIDB4NDgsIDB4MTEsIDB4ZjAsIDB4MzAsIDB4MDAsIDB4ZmYsCi0JMHg4MCwgMHgwMCwgMHgxMCwgMHhmOCwgMHgyYSwgMHg1YiwgMHhmOSwgMHg4MCwKLQkweDE4LCAweGQ2LCAweGVlLCAweDAzLCAweDhhLCAweDE4LCAweGY0LCAweDk1LAotCTB4OGEsIDB4MWMsIDB4OGEsIDB4MWIsIDB4OGEsIDB4MWQsIDB4OGEsIDB4MWEsCi0JMHg4YSwgMHgwNywgMHg4YSwgMHgwNiwgMHg4YSwgMHgwZSwgMHg4YSwgMHgxOSwKLQkweDhhLCAweDE3LCAweDhhLCAweDE3LCAweDhhLCAweDE2LCAweDhhLCAweDE1LAotCTB4OGEsIDB4MTQsIDB4OGEsIDB4MTMsIDB4OGEsIDB4MTIsIDB4OGEsIDB4MTEsCi0JMHg4YSwgMHgxMCwgMHg4YSwgMHgwZCwgMHg4YSwgMHgwYywgMHg4YSwgMHgwYiwKLQkweDhhLCAweDBhLCAweDhhLCAweDA5LCAweDhhLCAweDA4LCAweGY0LCAweGViLAotCTB4NGEsIDB4MTEsIDB4NzcsIDB4MTEsIDB4MmEsIDB4MzksIDB4NzYsIDB4ODEsCi0JMHgwMCwgMHg1NSwgMHg3NywgMHgxMiwgMHgyYSwgMHgxOCwgMHgxMCwgMHhlMiwKLQkweDAwLCAweDAxLCAweDgwLCAweGUxLCAweDAwLCAweDAxLCAweDEwLCAweGUyLAotCTB4MDAsIDB4MDIsIDB4ODAsIDB4ZTEsIDB4MDAsIDB4MDIsIDB4NzYsIDB4ZTEsCi0JMHgwMCwgMHgwMywgMHgwMCwgMHgwMCwgMHg3NiwgMHhlMSwgMHgwMCwgMHgwNCwKLQkweDAwLCAweGFhLCAweGYwLCAweDc0LCAweDAyLCAweDk4LCAweDhhLCAweDExLAotCTB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsIDB4ODgsIDB4MTEsIDB4ZjQsIDB4OTUsCi0JMHhmNCwgMHg5NSwgMHgxMCwgMHg4MSwgMHg2ZiwgMHhmOCwgMHgyYSwgMHg5ZSwKLQkweDBjLCAweDg4LCAweGU4LCAweGZmLCAweDE4LCAweGUxLCAweDAwLCAweDAxLAotCTB4MWEsIDB4ZjgsIDB4MmEsIDB4OWUsIDB4ZjAsIDB4MzAsIDB4MWYsIDB4ZmYsCi0JMHg4MCwgMHhmOCwgMHgyYSwgMHg5ZSwgMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwKLQkweDRhLCAweDExLCAweDc3LCAweDExLCAweDJhLCAweDM5LCAweDc2LCAweDgxLAotCTB4MDAsIDB4NTUsIDB4NzcsIDB4MTIsIDB4MmEsIDB4MTgsIDB4MTEsIDB4ZTIsCi0JMHgwMCwgMHgwMSwgMHg4MSwgMHhlMSwgMHgwMCwgMHgwMSwgMHgxMSwgMHhlMiwKLQkweDAwLCAweDAyLCAweDgxLCAweGUxLCAweDAwLCAweDAyLCAweDc2LCAweGUxLAotCTB4MDAsIDB4MDMsIDB4MDAsIDB4MDIsIDB4NDgsIDB4MDgsIDB4NmYsIDB4ZTEsCi0JMHgwMCwgMHgwNCwgMHgwYywgMHg5OCwgMHhmMCwgMHgzMCwgMHgwMCwgMHhmZiwKLQkweDgwLCAweGUxLCAweDAwLCAweDA1LCAweDc2LCAweGUxLCAweDAwLCAweDA2LAotCTB4MDAsIDB4YWEsIDB4ZjAsIDB4NzQsIDB4MDIsIDB4OTgsIDB4OGEsIDB4MTEsCi0JMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwgMHg3NywgMHgxMSwgMHgyYSwgMHgzOSwKLQkweDc2LCAweDgxLCAweDAwLCAweDU1LCAweDc3LCAweDEyLCAweDJhLCAweDE4LAotCTB4MTAsIDB4ZTIsIDB4MDAsIDB4MDEsIDB4ODAsIDB4ZTEsIDB4MDAsIDB4MDEsCi0JMHgxMCwgMHhlMiwgMHgwMCwgMHgwMiwgMHg4MCwgMHhlMSwgMHgwMCwgMHgwMiwKLQkweDc2LCAweGUxLCAweDAwLCAweDAzLCAweDAwLCAweDA0LCAweDQ4LCAweDExLAotCTB4ZjAsIDB4MDAsIDB4MDAsIDB4MDQsIDB4ODgsIDB4MTIsIDB4ZjQsIDB4OTUsCi0JMHg3NywgMHgxMywgMHgyYSwgMHg3NiwgMHhlOSwgMHgwMCwgMHhlNSwgMHg5OCwKLQkweGYzLCAweDAwLCAweDAwLCAweDAxLCAweGY2LCAweGI4LCAweDQ4LCAweDBiLAotCTB4MDgsIDB4ZjgsIDB4MmEsIDB4M2MsIDB4ZjgsIDB4NDMsIDB4MDMsIDB4NzEsCi0JMHg3NiwgMHg4MiwgMHgwMCwgMHhhYSwgMHhmMCwgMHg3NCwgMHgwMiwgMHg5OCwKLQkweDhhLCAweDExLCAweGZjLCAweDAwLCAweDRhLCAweDExLCAweGVlLCAweGYwLAotCTB4ODgsIDB4MTEsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4NzEsIDB4ODEsCi0JMHgwMCwgMHgxNCwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwMSwgMHgwMCwgMHgxNSwKLQkweDQ5LCAweDExLCAweGYzLCAweDAwLCAweDAwLCAweDAyLCAweDg5LCAweDExLAotCTB4ZTcsIDB4ODIsIDB4NmQsIDB4ZWEsIDB4MDAsIDB4MDQsIDB4ZTcsIDB4ODMsCi0JMHg2ZCwgMHhlYiwgMHgwMCwgMHgwYSwgMHg3NywgMHgxYSwgMHgwMCwgMHgwNSwKLQkweGYwLCAweDcyLCAweDAzLCAweGFhLCAweDExLCAweDgxLCAweGYyLCAweGU4LAotCTB4ODAsIDB4ODIsIDB4ZTksIDB4ZmYsIDB4MTksIDB4ZTEsIDB4MDAsIDB4MDEsCi0JMHhmMSwgMHhhMCwgMHg4MSwgMHg5MiwgMHgxMSwgMHhlMSwgMHgwMCwgMHgwYywKLQkweGYyLCAweGU4LCAweDgwLCAweDgzLCAweGU5LCAweGZmLCAweDE5LCAweGUxLAotCTB4MDAsIDB4MGQsIDB4ZjEsIDB4YTAsIDB4ODEsIDB4OTMsIDB4NmQsIDB4ZTksCi0JMHgwMCwgMHgwMiwgMHg0OCwgMHgxOCwgMHg0OSwgMHgxOCwgMHg3MCwgMHgwMCwKLQkweDAwLCAweDE1LCAweGYwLCAweDAwLCAweDAwLCAweDA0LCAweGYzLCAweDAwLAotCTB4MDAsIDB4MGEsIDB4ODAsIDB4MDEsIDB4ODEsIDB4MDIsIDB4ZjIsIDB4NzQsCi0JMHgwZSwgMHg1NCwgMHhmNCwgMHg5NSwgMHg0OCwgMHgxNCwgMHhlZSwgMHgxMCwKLQkweDhhLCAweDExLCAweGZjLCAweDAwLCAweDRhLCAweDExLCAweGYwLCAweDc0LAotCTB4MGMsIDB4NWUsIDB4ODAsIDB4ZjgsIDB4MmEsIDB4NWMsIDB4NzcsIDB4MTIsCi0JMHgyYSwgMHgzOSwgMHg3NiwgMHg4MiwgMHgwMCwgMHg1NSwgMHg3NywgMHgxMSwKLQkweDJhLCAweDE4LCAweDEwLCAweGUxLCAweDAwLCAweDAxLCAweDgwLCAweGUyLAotCTB4MDAsIDB4MDEsIDB4MTAsIDB4ZTEsIDB4MDAsIDB4MDIsIDB4ODAsIDB4ZTIsCi0JMHgwMCwgMHgwMiwgMHg3NiwgMHhlMiwgMHgwMCwgMHgwMywgMHgwMCwgMHgxYywKLQkweGY2LCAweGI4LCAweDU2LCAweGY4LCAweDJhLCAweDE2LCAweGYwLCAweGYwLAotCTB4ZjAsIDB4ZjgsIDB4ODAsIDB4ZTIsIDB4MDAsIDB4MDcsIDB4NTYsIDB4ZjgsCi0JMHgyYSwgMHgxNiwgMHhmMSwgMHhmMCwgMHhlOCwgMHhmZiwgMHhmMiwgMHg4MCwKLQkweDgwLCAweGUyLCAweDAwLCAweDA2LCAweDU2LCAweGY4LCAweDJhLCAweDE2LAotCTB4ZjEsIDB4ZjgsIDB4ZTgsIDB4ZmYsIDB4ZjIsIDB4ODAsIDB4ODAsIDB4ZTIsCi0JMHgwMCwgMHgwNSwgMHg1NywgMHhmOCwgMHgyYSwgMHgxNiwgMHhlOCwgMHhmZiwKLQkweGYyLCAweDgwLCAweDgwLCAweGUyLCAweDAwLCAweDA0LCAweDU2LCAweGY4LAotCTB4MjcsIDB4NmMsIDB4ZjAsIDB4ZjAsIDB4ZjAsIDB4ZjgsIDB4ODAsIDB4ZTIsCi0JMHgwMCwgMHgwYiwgMHg1NiwgMHhmOCwgMHgyNywgMHg2YywgMHhmMSwgMHhmMCwKLQkweGU4LCAweGZmLCAweGYyLCAweDgwLCAweDgwLCAweGUyLCAweDAwLCAweDBhLAotCTB4NTYsIDB4ZjgsIDB4MjcsIDB4NmMsIDB4ZjEsIDB4ZjgsIDB4ZTgsIDB4ZmYsCi0JMHhmMiwgMHg4MCwgMHg4MCwgMHhlMiwgMHgwMCwgMHgwOSwgMHhlOCwgMHhmZiwKLQkweDU3LCAweGY4LCAweDI3LCAweDZjLCAweGYyLCAweDgwLCAweDgwLCAweGUyLAotCTB4MDAsIDB4MDgsIDB4NTYsIDB4ZjgsIDB4MjcsIDB4NmEsIDB4ZjAsIDB4ZjAsCi0JMHhmMCwgMHhmOCwgMHg4MCwgMHhlMiwgMHgwMCwgMHgwZiwgMHg1NiwgMHhmOCwKLQkweDI3LCAweDZhLCAweGYxLCAweGYwLCAweGU4LCAweGZmLCAweGYyLCAweDgwLAotCTB4ODAsIDB4ZTIsIDB4MDAsIDB4MGUsIDB4NTYsIDB4ZjgsIDB4MjcsIDB4NmEsCi0JMHhmMSwgMHhmOCwgMHhlOCwgMHhmZiwgMHhmMiwgMHg4MCwgMHg4MCwgMHhlMiwKLQkweDAwLCAweDBkLCAweDU3LCAweGY4LCAweDI3LCAweDZhLCAweGU4LCAweGZmLAotCTB4ZjIsIDB4ODAsIDB4ODAsIDB4ZTIsIDB4MDAsIDB4MGMsIDB4NzYsIDB4ZTIsCi0JMHgwMCwgMHgxMywgMHgwMCwgMHgwMCwgMHg3NiwgMHhlMiwgMHgwMCwgMHgxMiwKLQkweDAwLCAweDAwLCAweDZmLCAweGY4LCAweDJhLCAweDVjLCAweDBjLCAweDU4LAotCTB4ODAsIDB4ZTIsIDB4MDAsIDB4MTEsIDB4ZTgsIDB4ZmYsIDB4MTgsIDB4ZjgsCi0JMHgyYSwgMHg1YywgMHg4MCwgMHhlMiwgMHgwMCwgMHgxMCwgMHg3NiwgMHhlMiwKLQkweDAwLCAweDE3LCAweDAwLCAweDAwLCAweDc2LCAweGUyLCAweDAwLCAweDE2LAotCTB4MDAsIDB4MDAsIDB4NmYsIDB4ZjgsIDB4MmEsIDB4OWUsIDB4MGMsIDB4NTgsCi0JMHg4MCwgMHhlMiwgMHgwMCwgMHgxNSwgMHhlOCwgMHhmZiwgMHgxOCwgMHhmOCwKLQkweDJhLCAweDllLCAweDgwLCAweGUyLCAweDAwLCAweDE0LCAweDc2LCAweGUyLAotCTB4MDAsIDB4MWIsIDB4MDAsIDB4MDAsIDB4NzYsIDB4ZTIsIDB4MDAsIDB4MWEsCi0JMHgwMCwgMHgwMCwgMHg3NiwgMHhlMiwgMHgwMCwgMHgxOSwgMHgwMCwgMHgwMCwKLQkweDcwLCAweGUyLCAweDAwLCAweDE4LCAweDI3LCAweDZlLCAweDc2LCAweGUyLAotCTB4MDAsIDB4MWYsIDB4MDAsIDB4MDAsIDB4NzYsIDB4ZTIsIDB4MDAsIDB4MWUsCi0JMHgwMCwgMHgwMCwgMHg3NiwgMHhlMiwgMHgwMCwgMHgxZCwgMHgwMCwgMHgwMCwKLQkweDc2LCAweGUyLCAweDAwLCAweDFjLCAweDAwLCAweDAwLCAweDc2LCAweGUyLAotCTB4MDAsIDB4MjAsIDB4MDAsIDB4YWEsIDB4ZjAsIDB4NzQsIDB4MDIsIDB4OTgsCi0JMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwgMHhlZSwgMHhmZSwKLQkweDEwLCAweGY4LCAweDJhLCAweDM4LCAweGY4LCAweDQ1LCAweDA0LCAweGVkLAotCTB4NzcsIDB4MTIsIDB4MmEsIDB4MTgsIDB4MTAsIDB4ZTIsIDB4MDAsIDB4MDIsCi0JMHg4OCwgMHgxMSwgMHhmNCwgMHg5NSwgMHg3NywgMHgxMCwgMHgwMCwgMHgwOCwKLQkweDZkLCAweGU5LCAweGZmLCAweGRmLCAweGY2LCAweGE5LCAweGY4LCAweDIwLAotCTB4MDQsIDB4NzUsIDB4ZjAsIDB4NzMsIDB4MDQsIDB4N2QsIDB4ZjAsIDB4MTAsCi0JMHgwMCwgMHgyMSwgMHhmMCwgMHgwMCwgMHgxYSwgMHg4MywgMHg0OCwgMHgwOCwKLQkweDdlLCAweGY4LCAweDAwLCAweDA4LCAweGY0LCAweGUyLCAweGYwLCAweDc0LAotCTB4MDMsIDB4MGEsIDB4ZjAsIDB4NzMsIDB4MDQsIDB4ZWEsIDB4NDgsIDB4MTIsCi0JMHhmMiwgMHg3NCwgMHgwMywgMHgyMywgMHhmMCwgMHgwMCwgMHgwMCwgMHgwNCwKLQkweGYyLCAweDc0LCAweDAzLCAweDM2LCAweGY0LCAweDk1LCAweGU4LCAweDAwLAotCTB4ZjAsIDB4NzMsIDB4MDQsIDB4ZWEsIDB4NzcsIDB4MTEsIDB4MmEsIDB4MTgsCi0JMHhlOCwgMHhmZiwgMHg2ZiwgMHhlMSwgMHgwMCwgMHgwNCwgMHgwZCwgMHg0OCwKLQkweDE4LCAweGUxLCAweDAwLCAweDA1LCAweGYyLCAweDc0LCAweDA5LCAweDY5LAotCTB4ZjQsIDB4OTUsIDB4ZjIsIDB4YTAsIDB4ZjAsIDB4NzQsIDB4MDMsIDB4MzYsCi0JMHhmMCwgMHg3MywgMHgwNCwgMHhlYSwgMHg3NywgMHgxMSwgMHgyYSwgMHgxOCwKLQkweGU4LCAweGZmLCAweDZmLCAweGUxLCAweDAwLCAweDA0LCAweDBkLCAweDQ4LAotCTB4MTgsIDB4ZTEsIDB4MDAsIDB4MDUsIDB4ZjIsIDB4NzQsIDB4MDksIDB4NDEsCi0JMHhmNCwgMHg5NSwgMHhmMiwgMHhhMCwgMHhmMCwgMHg3NCwgMHgwMywgMHgzNiwKLQkweGYwLCAweDczLCAweDA0LCAweGVhLCAweGYwLCAweDc0LCAweDAzLCAweDU3LAotCTB4ZjAsIDB4NzMsIDB4MDQsIDB4ZWEsIDB4MTAsIDB4ZjgsIDB4MmEsIDB4MWMsCi0JMHhmMCwgMHg3NCwgMHgxMiwgMHhhNCwgMHhmMiwgMHg3NCwgMHgwMywgMHgzNiwKLQkweGY0LCAweDk1LCAweGU4LCAweDAwLCAweGYwLCAweDczLCAweDA0LCAweGVhLAotCTB4NDgsIDB4MTIsIDB4ZjIsIDB4NzQsIDB4MDMsIDB4ODAsIDB4ZjAsIDB4MDAsCi0JMHgwMCwgMHgwNCwgMHhmMiwgMHg3NCwgMHgwMywgMHgzNiwgMHhmNCwgMHg5NSwKLQkweGU4LCAweDAwLCAweGYwLCAweDczLCAweDA0LCAweGVhLCAweDEwLCAweGY4LAotCTB4MmEsIDB4MWMsIDB4ZjAsIDB4NzQsIDB4MTIsIDB4YzUsIDB4ZjIsIDB4NzQsCi0JMHgwMywgMHgzNiwgMHhmNCwgMHg5NSwgMHhlOCwgMHgwMCwgMHhmMCwgMHg3MywKLQkweDA0LCAweGVhLCAweDc3LCAweDExLCAweDJhLCAweDE4LCAweGU4LCAweGZmLAotCTB4NmYsIDB4ZTEsIDB4MDAsIDB4MDYsIDB4MGQsIDB4NDgsIDB4MTgsIDB4ZTEsCi0JMHgwMCwgMHgwNywgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNSwgMHgwMCwgMHgxMiwKLQkweGYyLCAweGEwLCAweDcwLCAweDAwLCAweDAwLCAweDEyLCAweDgwLCAweDAxLAotCTB4MTAsIDB4ZTEsIDB4MDAsIDB4MDQsIDB4ZjAsIDB4NzQsIDB4MGUsIDB4N2EsCi0JMHhmMiwgMHg3NCwgMHgwMywgMHgzNiwgMHhmNCwgMHg5NSwgMHhlOCwgMHgwMCwKLQkweGYwLCAweDczLCAweDA0LCAweGVhLCAweGYwLCAweDc0LCAweDAzLCAweGJjLAotCTB4NzYsIDB4ZjgsIDB4MmEsIDB4MzgsIDB4MDAsIDB4MDAsIDB4ZWUsIDB4MDIsCi0JMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwgMHg3NywgMHgxMSwKLQkweDJhLCAweDM5LCAweDc2LCAweDgxLCAweDAwLCAweDU1LCAweDc3LCAweDEyLAotCTB4MmEsIDB4MTgsIDB4MTAsIDB4ZTIsIDB4MDAsIDB4MDEsIDB4ODAsIDB4ZTEsCi0JMHgwMCwgMHgwMSwgMHgxMCwgMHhlMiwgMHgwMCwgMHgwMiwgMHg4MCwgMHhlMSwKLQkweDAwLCAweDAyLCAweDc2LCAweGUxLCAweDAwLCAweDAzLCAweDAwLCAweDA5LAotCTB4NDgsIDB4MTEsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDQsIDB4ODgsIDB4MTIsCi0JMHhmNCwgMHg5NSwgMHg3NywgMHgxMywgMHgyYSwgMHg4NiwgMHhlOSwgMHgwMCwKLQkweGU1LCAweDk4LCAweGYzLCAweDAwLCAweDAwLCAweDAxLCAweGY2LCAweGI4LAotCTB4NDgsIDB4MGIsIDB4MDgsIDB4ZjgsIDB4MmEsIDB4M2MsIDB4ZjgsIDB4NDMsCi0JMHgwNSwgMHgwYSwgMHg3NiwgMHg4MiwgMHgwMCwgMHhhYSwgMHhmMCwgMHg3NCwKLQkweDAyLCAweDk4LCAweDhhLCAweDExLCAweGZjLCAweDAwLCAweDRhLCAweDExLAotCTB4NzcsIDB4MTEsIDB4MmEsIDB4MzksIDB4NzYsIDB4ODEsIDB4MDAsIDB4NTUsCi0JMHg3NywgMHgxMywgMHgyYSwgMHgxOCwgMHgxMCwgMHhlMywgMHgwMCwgMHgwMSwKLQkweDgwLCAweGUxLCAweDAwLCAweDAxLCAweDEwLCAweGUzLCAweDAwLCAweDAyLAotCTB4ODAsIDB4ZTEsIDB4MDAsIDB4MDIsIDB4MTMsIDB4ZTMsIDB4MDAsIDB4MDMsCi0JMHg4MSwgMHhlMSwgMHgwMCwgMHgwMywgMHg0OCwgMHgxMSwgMHg3NywgMHgxMSwKLQkweDAwLCAweDAwLCAweGY4LCAweDRkLCAweDA1LCAweDQ0LCAweGYwLCAweDAwLAotCTB4MDAsIDB4MDQsIDB4ODgsIDB4MTIsIDB4NDgsIDB4MTMsIDB4ZjAsIDB4MDAsCi0JMHgwMCwgMHgwNCwgMHg4OCwgMHgxMywgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwKLQkweGU1LCAweDk4LCAweDZkLCAweDkxLCAweGY2LCAweGI4LCAweDQ4LCAweDExLAotCTB4MDgsIDB4ZjgsIDB4MmEsIDB4M2MsIDB4ZjgsIDB4NDMsIDB4MDUsIDB4M2EsCi0JMHhmMCwgMHgyMCwgMHgyYSwgMHgzOSwgMHg0OSwgMHgxMSwgMHhmNSwgMHgwMCwKLQkweDg5LCAweDExLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweDc2LCAweGUxLAotCTB4MDAsIDB4MDQsIDB4MDAsIDB4YWEsIDB4ZjAsIDB4NzQsIDB4MDIsIDB4OTgsCi0JMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwgMHg3NywgMHgxMSwKLQkweDJhLCAweDM5LCAweDc2LCAweDgxLCAweDAwLCAweDU1LCAweDc3LCAweDEyLAotCTB4MmEsIDB4MTgsIDB4MTAsIDB4ZTIsIDB4MDAsIDB4MDEsIDB4ODAsIDB4ZTEsCi0JMHgwMCwgMHgwMSwgMHgxMCwgMHhlMiwgMHgwMCwgMHgwMiwgMHg4MCwgMHhlMSwKLQkweDAwLCAweDAyLCAweDc2LCAweGUxLCAweDAwLCAweDAzLCAweDAwLCAweDBjLAotCTB4NDgsIDB4MTEsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDQsIDB4ODgsIDB4MTIsCi0JMHhmNCwgMHg5NSwgMHg3NywgMHgxMywgMHgyYSwgMHg3YSwgMHhlOSwgMHgwMCwKLQkweGU1LCAweDk4LCAweGYzLCAweDAwLCAweDAwLCAweDAxLCAweGY2LCAweGI4LAotCTB4NDgsIDB4MGIsIDB4MDgsIDB4ZjgsIDB4MmEsIDB4M2MsIDB4ZjgsIDB4NDMsCi0JMHgwNSwgMHg2YSwgMHg3NiwgMHg4MiwgMHgwMCwgMHhhYSwgMHhmMCwgMHg3NCwKLQkweDAyLCAweDk4LCAweDhhLCAweDExLCAweGZjLCAweDAwLCAweDRhLCAweDExLAotCTB4NzcsIDB4MTEsIDB4MmEsIDB4MzksIDB4NzYsIDB4ODEsIDB4MDAsIDB4NTUsCi0JMHg3NywgMHgxMiwgMHgyYSwgMHgxOCwgMHgxMCwgMHhlMiwgMHgwMCwgMHgwMSwKLQkweDgwLCAweGUxLCAweDAwLCAweDAxLCAweDEwLCAweGUyLCAweDAwLCAweDAyLAotCTB4ODAsIDB4ZTEsIDB4MDAsIDB4MDIsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MDMsCi0JMHgwMCwgMHgxOSwgMHg0OCwgMHgxMSwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwNCwKLQkweDg4LCAweDEyLCAweGY0LCAweDk1LCAweDc3LCAweDEzLCAweDJhLCAweDVkLAotCTB4ZTksIDB4MDAsIDB4ZTUsIDB4OTgsIDB4ZjMsIDB4MDAsIDB4MDAsIDB4MDEsCi0JMHhmNiwgMHhiOCwgMHg0OCwgMHgwYiwgMHgwOCwgMHhmOCwgMHgyYSwgMHgzYywKLQkweGY4LCAweDQzLCAweDA1LCAweDkzLCAweDc2LCAweDgyLCAweDAwLCAweGFhLAotCTB4ZjAsIDB4NzQsIDB4MDIsIDB4OTgsIDB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsCi0JMHg0YSwgMHgxMSwgMHg4OCwgMHgxMSwgMHgxMCwgMHhmOCwgMHgyYSwgMHgzOCwKLQkweGY4LCAweDQ0LCAweDA1LCAweGUzLCAweDEwLCAweGY4LCAweDJhLCAweGExLAotCTB4ZjgsIDB4NDQsIDB4MDUsIDB4YmEsIDB4NmMsIDB4ZTEsIDB4ZmYsIDB4NTYsCi0JMHgwNSwgMHhlMywgMHg3MiwgMHgxMiwgMHgyYSwgMHhhMSwgMHhmNCwgMHg5NSwKLQkweDcwLCAweGUyLCAweDJhLCAweDE4LCAweDAwLCAweDExLCAweDZiLCAweGY4LAotCTB4MmEsIDB4YTEsIDB4MDAsIDB4MDEsIDB4ZjAsIDB4NzMsIDB4MDUsIDB4ZTMsCi0JMHg3MiwgMHgxMiwgMHgyYSwgMHhhMSwgMHhmNCwgMHg5NSwgMHg3MCwgMHhlMiwKLQkweDJhLCAweDE4LCAweDAwLCAweDExLCAweDEwLCAweGY4LCAweDJhLCAweGExLAotCTB4ZjAsIDB4MDAsIDB4MDAsIDB4MDEsIDB4ODgsIDB4MTIsIDB4ZjQsIDB4OTUsCi0JMHhmNCwgMHg5NSwgMHg2ZSwgMHhlMiwgMHhmZiwgMHhmYywgMHgwNSwgMHhkMSwKLQkweDczLCAweDEyLCAweDJhLCAweGExLCAweDQ4LCAweDExLCAweGYwLCAweDAwLAotCTB4MDAsIDB4MDUsIDB4ODAsIDB4ZjgsIDB4MmEsIDB4YTIsIDB4MTAsIDB4ZjgsCi0JMHgyYSwgMHhhMSwgMHgwOCwgMHhmOCwgMHgyYSwgMHhhMiwgMHhmOCwgMHg0NCwKLQkweDA1LCAweGUzLCAweDZjLCAweGUxLCAweGZmLCAweGFiLCAweDA1LCAweGRkLAotCTB4NzYsIDB4ZjgsIDB4MmEsIDB4MzgsIDB4MDAsIDB4MDEsIDB4NzYsIDB4ZjgsCi0JMHgyYSwgMHhhMSwgMHgwMCwgMHgwMCwgMHg3NiwgMHhmOCwgMHgyYSwgMHhhMiwKLQkweDAwLCAweDAwLCAweDhhLCAweDExLCAweGZjLCAweDAwLCAweGY0LCAweDk1LAotCTB4NGEsIDB4MDgsIDB4NGEsIDB4MDksIDB4NGEsIDB4MGEsIDB4NGEsIDB4MGIsCi0JMHg0YSwgMHgwYywgMHg0YSwgMHgwZCwgMHg0YSwgMHgxMCwgMHg0YSwgMHgxMSwKLQkweDRhLCAweDEyLCAweDRhLCAweDEzLCAweDRhLCAweDE0LCAweDRhLCAweDE1LAotCTB4NGEsIDB4MTYsIDB4NGEsIDB4MTcsIDB4NGEsIDB4MTcsIDB4NGEsIDB4MTksCi0JMHg0YSwgMHgwZSwgMHg0YSwgMHgwNiwgMHg0YSwgMHgwNywgMHg0YSwgMHgxYSwKLQkweDRhLCAweDFkLCAweDRhLCAweDFiLCAweDRhLCAweDFjLCAweDY4LCAweGY4LAotCTB4MDAsIDB4MDcsIDB4N2QsIDB4M2YsIDB4NjksIDB4ZjgsIDB4MDAsIDB4MDcsCi0JMHg0MCwgMHgwMCwgMHg2OCwgMHhmOCwgMHgwMCwgMHgxZCwgMHhmZiwgMHhmYywKLQkweDQ4LCAweDE4LCAweDY4LCAweGY4LCAweDAwLCAweDE4LCAweGZmLCAweGZlLAotCTB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4NGEsIDB4MDgsIDB4ZWUsIDB4ZmYsCi0JMHgxMCwgMHhmOCwgMHgyYSwgMHg1YiwgMHhmOSwgMHg4MCwgMHgxOCwgMHgwNCwKLQkweGYwLCAweDc0LCAweDA1LCAweGEyLCAweGVlLCAweDAxLCAweDhhLCAweDE4LAotCTB4ZjQsIDB4OTUsIDB4OGEsIDB4MWMsIDB4OGEsIDB4MWIsIDB4OGEsIDB4MWQsCi0JMHg4YSwgMHgxYSwgMHg4YSwgMHgwNywgMHg4YSwgMHgwNiwgMHg4YSwgMHgwZSwKLQkweDhhLCAweDE5LCAweDhhLCAweDE3LCAweDhhLCAweDE3LCAweDhhLCAweDE2LAotCTB4OGEsIDB4MTUsIDB4OGEsIDB4MTQsIDB4OGEsIDB4MTMsIDB4OGEsIDB4MTIsCi0JMHg4YSwgMHgxMSwgMHg4YSwgMHgxMCwgMHg4YSwgMHgwZCwgMHg4YSwgMHgwYywKLQkweDhhLCAweDBiLCAweDhhLCAweDBhLCAweDhhLCAweDA5LCAweDhhLCAweDA4LAotCTB4ZjQsIDB4ZWIsIDB4ZWUsIDB4ZmQsIDB4NzYsIDB4ZjgsIDB4MmEsIDB4MzgsCi0JMHgwMCwgMHgwMCwgMHg3NiwgMHhmOCwgMHgyYSwgMHg1YSwgMHgwMCwgMHgwMCwKLQkweGU4LCAweDAxLCAweDRlLCAweDAwLCAweGZiLCAweDgwLCAweDE3LCAweGQ2LAotCTB4ZjQsIDB4OTUsIDB4ZTgsIDB4MDEsIDB4ODAsIDB4ZjgsIDB4MmEsIDB4NWIsCi0JMHg3NiwgMHgwMCwgMHgyYSwgMHg4ZiwgMHhmOSwgMHg4MCwgMHgxNiwgMHhhYSwKLQkweDEwLCAweGY4LCAweDJhLCAweDViLCAweGY5LCAweDgwLCAweDE3LCAweDVjLAotCTB4MTAsIDB4ZjgsIDB4MmEsIDB4NWIsIDB4ZjksIDB4ODAsIDB4MTcsIDB4NmYsCi0JMHhmYiwgMHg4MCwgMHgxNiwgMHg2NiwgMHhmNCwgMHg5NSwgMHhlOCwgMHgxYSwKLQkweGZiLCAweDgwLCAweDE2LCAweDg3LCAweGY0LCAweDk1LCAweGU4LCAweDFhLAotCTB4ZmIsIDB4ODAsIDB4MTYsIDB4NjYsIDB4ZjQsIDB4OTUsIDB4ZTgsIDB4MWIsCi0JMHhmYiwgMHg4MCwgMHgxNiwgMHg4NywgMHhmNCwgMHg5NSwgMHhlOCwgMHgxYiwKLQkweGVlLCAweDAzLCAweGZjLCAweDAwLCAweDRhLCAweDExLCAweGY0LCAweDk1LAotCTB4MTMsIDB4MDIsIDB4ODgsIDB4MTEsIDB4ZTgsIDB4MDAsIDB4ZjgsIDB4NGQsCi0JMHgwNiwgMHg2YSwgMHhmMywgMHgxMCwgMHgwMCwgMHgwMSwgMHg4OSwgMHgxYSwKLQkweGY0LCAweDk1LCAweGYwLCAweDcyLCAweDA2LCAweDY5LCAweDFjLCAweDkxLAotCTB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsIDB4ODgsIDB4MTEsCi0JMHgxMiwgMHgwMywgMHgxMSwgMHgwMiwgMHhmOCwgMHg0NSwgMHgwNiwgMHg3OSwKLQkweGYwLCAweDEwLCAweDAwLCAweDAxLCAweDg4LCAweDFhLCAweGY0LCAweDk1LAotCTB4ZjAsIDB4NzIsIDB4MDYsIDB4NzgsIDB4ODEsIDB4OTEsIDB4OGEsIDB4MTEsCi0JMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwgMHhmNCwgMHg5NSwgMHg3MSwgMHgwMiwKLQkweDAwLCAweDExLCAweDExLCAweDAzLCAweDYxLCAweGY4LCAweDAwLCAweDExLAotCTB4MDAsIDB4MDEsIDB4ZjgsIDB4MzAsIDB4MDYsIDB4OTEsIDB4ZjYsIDB4YjgsCi0JMHg2ZiwgMHhmOCwgMHgwMCwgMHgxMSwgMHgwYywgMHgxZiwgMHg4OCwgMHgxMSwKLQkweGYzLCAweGU4LCAweGU4LCAweGZmLCAweDE4LCAweDgxLCAweGYxLCAweGEwLAotCTB4ODEsIDB4ODEsIDB4ZjAsIDB4NzMsIDB4MDYsIDB4OWQsIDB4ZjYsIDB4YjgsCi0JMHg2ZiwgMHhmOCwgMHgwMCwgMHgxMSwgMHgwYywgMHgxZiwgMHg4OCwgMHgxMSwKLQkweGYzLCAweDMwLCAweDAwLCAweGZmLCAweGYwLCAweDIwLCAweGZmLCAweDAwLAotCTB4MTgsIDB4ODEsIDB4ZjEsIDB4YTAsIDB4ODEsIDB4ODEsIDB4OGEsIDB4MTEsCi0JMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwgMHhmNCwgMHg5NSwgMHgxMSwgMHgwMiwKLQkweDYxLCAweGY4LCAweDAwLCAweDBiLCAweDAwLCAweDAxLCAweGY4LCAweDIwLAotCTB4MDYsIDB4YjEsIDB4NDksIDB4MGIsIDB4ZjYsIDB4MWYsIDB4ODgsIDB4MTEsCi0JMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHgxMCwgMHg4MSwgMHhmMiwgMHg3MywKLQkweDA2LCAweGI4LCAweGYwLCAweDMwLCAweDAwLCAweGZmLCAweDQ5LCAweDBiLAotCTB4ZjYsIDB4MWYsIDB4ODgsIDB4MTEsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsCi0JMHgxMiwgMHg4MSwgMHhmNCwgMHg3OCwgMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwKLQkweDRhLCAweDExLCAweGY0LCAweDk1LCAweDcxLCAweDAyLCAweDAwLCAweDEyLAotCTB4MTMsIDB4MDMsIDB4ODgsIDB4MTEsIDB4ZTgsIDB4MDAsIDB4ZjgsIDB4NGQsCi0JMHgwNiwgMHhjYywgMHhmMywgMHgxMCwgMHgwMCwgMHgwMSwgMHg4OSwgMHgxYSwKLQkweGY0LCAweDk1LCAweGYwLCAweDcyLCAweDA2LCAweGNiLCAweDExLCAweDkyLAotCTB4ZjIsIDB4YzAsIDB4ODEsIDB4OTEsIDB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsCi0JMHg4OCwgMHgxMiwgMHgxMiwgMHgwMiwgMHg3MSwgMHgwMSwgMHgwMCwgMHgxMywKLQkweGY4LCAweDQ1LCAweDA2LCAweGRiLCAweGYwLCAweDEwLCAweDAwLCAweDAxLAotCTB4ODgsIDB4MWEsIDB4ZjQsIDB4OTUsIDB4ZjAsIDB4NzIsIDB4MDYsIDB4ZGEsCi0JMHhlNSwgMHg5OCwgMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwgMHhlZSwgMHhmZSwKLQkweDg4LCAweDExLCAweDExLCAweDA0LCAweDEwLCAweDA2LCAweDcxLCAweDA1LAotCTB4MDAsIDB4MTIsIDB4NjEsIDB4ZjgsIDB4MDAsIDB4MTIsIDB4MDAsIDB4MDEsCi0JMHhmOCwgMHgyMCwgMHgwNiwgMHhlYSwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwMSwKLQkweGY2LCAweGI4LCAweGYwLCAweDAwLCAweDAwLCAweDAxLCAweDZmLCAweGY4LAotCTB4MDAsIDB4MTIsIDB4MGYsIDB4MWYsIDB4NDgsIDB4MDgsIDB4ODEsIDB4MDAsCi0JMHhmNCwgMHg3ZiwgMHg4MCwgMHgwMSwgMHhmMiwgMHg3NCwgMHgwNiwgMHhiYSwKLQkweGY0LCAweDk1LCAweDQ4LCAweDExLCAweGVlLCAweDAyLCAweDhhLCAweDExLAotCTB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsIDB4ZWUsIDB4ZmUsIDB4ODgsIDB4MTIsCi0JMHgxMSwgMHgwNCwgMHgxMCwgMHgwNiwgMHg3MSwgMHgwNSwgMHgwMCwgMHgxMywKLQkweDYxLCAweGY4LCAweDAwLCAweDEzLCAweDAwLCAweDAxLCAweGY4LCAweDIwLAotCTB4MDcsIDB4MDksIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDEsIDB4ZjAsIDB4MDAsCi0JMHgwMCwgMHgwMSwgMHg4OCwgMHgxMSwgMHhmNiwgMHhiOCwgMHg2ZiwgMHhmOCwKLQkweDAwLCAweDEzLCAweDBmLCAweDFmLCAweDgxLCAweDAwLCAweDQ4LCAweDExLAotCTB4ZjQsIDB4N2YsIDB4ODAsIDB4MDEsIDB4ZjIsIDB4NzQsIDB4MDYsIDB4Y2UsCi0JMHhmNCwgMHg5NSwgMHg0OCwgMHgxMiwgMHg0OCwgMHgxMSwgMHhmMCwgMHgzMCwKLQkweGZmLCAweGZlLCAweGVlLCAweDAyLCAweDhhLCAweDExLCAweGZjLCAweDAwLAotCTB4NGEsIDB4MTEsIDB4NGEsIDB4MTYsIDB4NGEsIDB4MTcsIDB4ZWUsIDB4ZmMsCi0JMHhmNCwgMHg5NSwgMHg4MCwgMHgwMiwgMHg3MSwgMHgwOCwgMHgwMCwgMHgxNiwKLQkweDEwLCAweDA5LCAweDcxLCAweDBiLCAweDAwLCAweDE3LCAweDgwLCAweDAzLAotCTB4NzEsIDB4MGEsIDB4MDAsIDB4MTEsIDB4NDgsIDB4MTcsIDB4ZjgsIDB4NDUsCi0JMHgwNywgMHgzZiwgMHg3MCwgMHgwMCwgMHgwMCwgMHgxMSwgMHgxMCwgMHgwMywKLQkweGYwLCAweDc0LCAweDA2LCAweDlmLCAweDgwLCAweDAxLCAweDcwLCAweDAwLAotCTB4MDAsIDB4MTYsIDB4MTAsIDB4MDIsIDB4ZjAsIDB4NzQsIDB4MDYsIDB4N2IsCi0JMHg2ZCwgMHg5MSwgMHg2ZCwgMHg5NiwgMHg2YywgMHhlZiwgMHhmZiwgMHhmZiwKLQkweDA3LCAweDJmLCAweGVlLCAweDA0LCAweDhhLCAweDE3LCAweDhhLCAweDE2LAotCTB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsIDB4ZWUsIDB4ZmUsCi0JMHgxMCwgMHhmOCwgMHgyYSwgMHhlOCwgMHgwOCwgMHhmOCwgMHgyYSwgMHhlOSwKLQkweGY4LCAweDQ1LCAweDA3LCAweDY0LCAweDc2LCAweDAwLCAweDAwLCAweDAxLAotCTB4NjIsIDB4ZjgsIDB4MmEsIDB4ZTksIDB4MDAsIDB4NWUsIDB4ZjIsIDB4NzQsCi0JMHgxMiwgMHgwYiwgMHhmMCwgMHgwMCwgMHgzMCwgMHg0MCwgMHg3MiwgMHgxMSwKLQkweDJhLCAweGU5LCAweDc3LCAweDEwLCAweDAwLCAweDBmLCAweGY1LCAweGE5LAotCTB4ZjgsIDB4MjAsIDB4MDcsIDB4NjEsIDB4NmIsIDB4ZjgsIDB4MmEsIDB4ZTksCi0JMHgwMCwgMHgwMSwgMHhmMCwgMHg3MywgMHgwNywgMHg2NCwgMHg3NiwgMHhmOCwKLQkweDJhLCAweGU5LCAweDAwLCAweDAwLCAweGVlLCAweDAyLCAweDhhLCAweDExLAotCTB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsIDB4ODgsIDB4MTEsIDB4ZTgsIDB4MDAsCi0JMHg3NSwgMHhmOCwgMHgwMCwgMHgwOCwgMHgwMCwgMHgwOCwgMHhlOCwgMHgwMCwKLQkweDc1LCAweGY4LCAweDAwLCAweDA4LCAweDAwLCAweDA5LCAweGY2LCAweGI4LAotCTB4ZjQsIDB4OTUsIDB4ZjAsIDB4MjAsIDB4ZmMsIDB4M2YsIDB4NzUsIDB4ZjgsCi0JMHgwMCwgMHgwOCwgMHgwMCwgMHgwZCwgMHhmMCwgMHgyMCwgMHgwYywgMHgzMCwKLQkweDc1LCAweGY4LCAweDAwLCAweDA4LCAweDAwLCAweDBjLCAweDc2LCAweGY4LAotCTB4MmEsIDB4ZTgsIDB4MDAsIDB4MDAsIDB4NzYsIDB4ZjgsIDB4MmEsIDB4ZTksCi0JMHgwMCwgMHgwMCwgMHg2YywgMHg4MSwgMHgwNywgMHg5MiwgMHg3NiwgMHhmOCwKLQkweDJhLCAweGVhLCAweDAwLCAweDAwLCAweGZiLCAweDgwLCAweDE2LCAweDc2LAotCTB4ZjQsIDB4OTUsIDB4ZTgsIDB4MTAsIDB4ZTgsIDB4MDAsIDB4NzUsIDB4ZjgsCi0JMHgwMCwgMHgwOCwgMHgwMCwgMHgwMCwgMHhmMCwgMHg3MywgMHgwNywgMHhhOCwKLQkweDc2LCAweGY4LCAweDJhLCAweGVhLCAweDAwLCAweDAxLCAweGZiLCAweDgwLAotCTB4MTYsIDB4NjYsIDB4ZjQsIDB4OTUsIDB4ZTgsIDB4MTAsIDB4ZmIsIDB4ODAsCi0JMHgxNiwgMHg4NywgMHhmNCwgMHg5NSwgMHhlOCwgMHgxMCwgMHhlOCwgMHgwMCwKLQkweDc1LCAweGY4LCAweDAwLCAweDA4LCAweDAwLCAweDAwLCAweGY2LCAweGI4LAotCTB4ZjQsIDB4OTUsIDB4ZjAsIDB4MjAsIDB4ZmYsIDB4ZmYsIDB4NzUsIDB4ZjgsCi0JMHgwMCwgMHgwOCwgMHgwMCwgMHgwMCwgMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwKLQkweGY0LCAweDk1LCAweDRhLCAweDA4LCAweDRhLCAweDA5LCAweDRhLCAweDBhLAotCTB4NGEsIDB4MDYsIDB4NGEsIDB4MDcsIDB4NGEsIDB4MWQsIDB4NjgsIDB4ZjgsCi0JMHgwMCwgMHgwNywgMHg3ZCwgMHgzZiwgMHg2OSwgMHhmOCwgMHgwMCwgMHgwNywKLQkweDQwLCAweDAwLCAweDY4LCAweGY4LCAweDAwLCAweDFkLCAweGZmLCAweGZjLAotCTB4MTAsIDB4ZjgsIDB4MmEsIDB4ZWEsIDB4ZjgsIDB4NDUsIDB4MDcsIDB4ZTEsCi0JMHgxMCwgMHhmOCwgMHgyYSwgMHhlOCwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwMSwKLQkweGYwLCAweDMwLCAweDAwLCAweDBmLCAweDgwLCAweGY4LCAweDJhLCAweGU4LAotCTB4MTAsIDB4ZjgsIDB4MmEsIDB4ZTgsIDB4ZjgsIDB4NDQsIDB4MDcsIDB4ZDYsCi0JMHhmNiwgMHhiOCwgMHhmNCwgMHg5NSwgMHhmMCwgMHgyMCwgMHhmYywgMHgzZiwKLQkweDc1LCAweGY4LCAweDAwLCAweDA4LCAweDAwLCAweDBkLCAweGYwLCAweDIwLAotCTB4MGMsIDB4MzAsIDB4NzUsIDB4ZjgsIDB4MDAsIDB4MDgsIDB4MDAsIDB4MGMsCi0JMHhlOCwgMHgwMCwgMHg3NSwgMHhmOCwgMHgwMCwgMHgwOCwgMHgwMCwgMHgwMCwKLQkweGY2LCAweGI4LCAweGY0LCAweDk1LCAweGYwLCAweDIwLCAweGZmLCAweGZmLAotCTB4NzUsIDB4ZjgsIDB4MDAsIDB4MDgsIDB4MDAsIDB4MDAsIDB4OGEsIDB4MWQsCi0JMHg4YSwgMHgwNywgMHg4YSwgMHgwNiwgMHg4YSwgMHgwYSwgMHg4YSwgMHgwOSwKLQkweDhhLCAweDA4LCAweGY0LCAweGViLCAweGVlLCAweGZmLCAweGYyLCAweDc0LAotCTB4MDcsIDB4NjcsIDB4ZjQsIDB4OTUsIDB4ZTgsIDB4MDEsIDB4ZWUsIDB4MDEsCi0JMHhmYywgMHgwMCwgMHg0YSwgMHgwNywgMHg0YSwgMHgxZCwgMHg2OCwgMHhmOCwKLQkweDAwLCAweDA3LCAweDdkLCAweDNmLCAweDY5LCAweGY4LCAweDAwLCAweDA3LAotCTB4NDAsIDB4MDAsIDB4NjgsIDB4ZjgsIDB4MDAsIDB4MWQsIDB4ZmYsIDB4ZmMsCi0JMHg4YSwgMHgxZCwgMHg4YSwgMHgwNywgMHhmNCwgMHhlYiwgMHg0YSwgMHgxMSwKLQkweDc3LCAweDExLCAweDAwLCAweDI4LCAweDc2LCAweDgxLCAweDI0LCAweDAwLAotCTB4ZTgsIDB4MDAsIDB4NzUsIDB4ZjgsIDB4MDAsIDB4MDgsIDB4MDAsIDB4MDEsCi0JMHhmMiwgMHg3NCwgMHgwNywgMHg2NywgMHhmNCwgMHg5NSwgMHhlOCwgMHgwMCwKLQkweDc3LCAweDExLCAweDAwLCAweDFkLCAweDY4LCAweDgxLCAweDAwLCAweDdmLAotCTB4ZjYsIDB4YjgsIDB4ZjQsIDB4OTUsIDB4ZjAsIDB4MjAsIDB4ZmYsIDB4ODAsCi0JMHg3NywgMHgxMSwgMHgwMCwgMHgxZCwgMHhmMCwgMHgzMCwgMHgwMSwgMHgwMCwKLQkweDFhLCAweDgxLCAweDgwLCAweDgxLCAweGYwLCAweDc0LCAweDBhLCAweDMzLAotCTB4ZjAsIDB4NzQsIDB4MTEsIDB4YWMsIDB4ZjksIDB4ODAsIDB4MTMsIDB4MjUsCi0JMHhmOSwgMHg4MCwgMHgxNiwgMHg1MywgMHhmOSwgMHg4MCwgMHgxNywgMHg4MiwKLQkweGYwLCAweDc0LCAweDA2LCAweDJmLCAweGY5LCAweDgwLCAweDE0LCAweGIyLAotCTB4ZjksIDB4ODAsIDB4MTksIDB4MTAsIDB4ZjAsIDB4NzQsIDB4MGQsIDB4ZTMsCi0JMHhmMCwgMHg3NCwgMHgwNywgMHhlOCwgMHhmMCwgMHg3NCwgMHgwMiwgMHgzNiwKLQkweDhhLCAweDExLCAweGZjLCAweDAwLCAweDRhLCAweDExLCAweDYwLCAweGY4LAotCTB4MjcsIDB4N2IsIDB4ZmYsIDB4ZmYsIDB4ZjgsIDB4MzAsIDB4MDgsIDB4MzksCi0JMHg3MSwgMHhmOCwgMHgyNywgMHg3YiwgMHgyNywgMHg3OSwgMHg2MCwgMHhmOCwKLQkweDI3LCAweDc5LCAweGZmLCAweGZmLCAweGY4LCAweDMwLCAweDA4LCAweGIyLAotCTB4MTAsIDB4ZjgsIDB4MjksIDB4ODYsIDB4MDgsIDB4ZjgsIDB4MjcsIDB4NzksCi0JMHhmMCwgMHgzMCwgMHg3ZiwgMHhmZiwgMHg4OCwgMHgxMSwgMHhmNCwgMHg5NSwKLQkweDc3LCAweDEwLCAweDQwLCAweDAwLCAweGY2LCAweGE5LCAweGY4LCAweDMwLAotCTB4MDgsIDB4NTgsIDB4MTAsIDB4ZjgsIDB4MjcsIDB4NzksIDB4MDgsIDB4ZjgsCi0JMHgyNywgMHg3YSwgMHhmMCwgMHgzMCwgMHg3ZiwgMHhmZiwgMHg4OCwgMHgxMSwKLQkweGY0LCAweDk1LCAweDc3LCAweDEwLCAweDQwLCAweDAwLCAweGY2LCAweGE5LAotCTB4ZjgsIDB4MjAsIDB4MDgsIDB4NjMsIDB4NzYsIDB4ZjgsIDB4MjcsIDB4NzksCi0JMHhmZiwgMHhmZiwgMHg3NiwgMHhmOCwgMHgyNywgMHg3YiwgMHhmZiwgMHhmZiwKLQkweGY3LCAweGI4LCAweGYyLCAweDczLCAweDA4LCAweGQ5LCAweGYwLCAweDIwLAotCTB4ZmYsIDB4ZmYsIDB4ZjYsIDB4YjgsIDB4NTYsIDB4ZjgsIDB4MjcsIDB4NzQsCi0JMHhmMCwgMHhmOSwgMHg4OCwgMHgxMSwgMHg1NiwgMHhmOCwgMHgyNywgMHg3MiwKLQkweGYwLCAweGY5LCAweDg4LCAweDEyLCAweGY0LCAweDk1LCAweGY0LCAweDk1LAotCTB4ZTcsIDB4MjAsIDB4ZjQsIDB4YTksIDB4ZjgsIDB4MzAsIDB4MDgsIDB4OGYsCi0JMHhmMSwgMHgyMCwgMHgyNywgMHg3YywgMHg0OCwgMHgxMSwgMHhmNiwgMHgwMCwKLQkweDg4LCAweDEzLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweDEwLCAweDgzLAotCTB4MDgsIDB4ZjgsIDB4MjcsIDB4NzksIDB4ZjAsIDB4MzAsIDB4N2YsIDB4ZmYsCi0JMHg4OCwgMHgxMywgMHhmNCwgMHg5NSwgMHg3NywgMHgxMCwgMHg0MCwgMHgwMCwKLQkweGY1LCAweGFiLCAweGY4LCAweDMwLCAweDA4LCAweDhmLCAweDZkLCAweDkxLAotCTB4NDgsIDB4MTEsIDB4ZjAsIDB4MzAsIDB4MDEsIDB4ZmYsIDB4ODgsIDB4MTEsCi0JMHhmNCwgMHg5NSwgMHhlNywgMHgyMCwgMHhmNywgMHhhOSwgMHhmOCwgMHgzMCwKLQkweDA4LCAweDc0LCAweDZkLCAweDg5LCAweDQ4LCAweDExLCAweGYwLCAweDMwLAotCTB4MDEsIDB4ZmYsIDB4ZjAsIDB4ZTcsIDB4ZjQsIDB4OTUsIDB4NDgsIDB4MDgsCi0JMHg0ZSwgMHhmOCwgMHgyNywgMHg3NCwgMHg0OCwgMHgwOCwgMHhmMSwgMHhmOSwKLQkweDg5LCAweDExLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweDcxLCAweGUxLAotCTB4MjcsIDB4N2MsIDB4MjcsIDB4N2EsIDB4NjAsIDB4ZjgsIDB4MjcsIDB4N2IsCi0JMHhmZiwgMHhmZiwgMHhmOCwgMHgzMCwgMHgwOCwgMHhhYiwgMHg0OCwgMHgwOCwKLQkweDRlLCAweGY4LCAweDI3LCAweDcyLCAweDc2LCAweGY4LCAweDI3LCAweDdiLAotCTB4ZmYsIDB4ZmYsIDB4NzYsIDB4ZjgsIDB4MjcsIDB4NzksIDB4ZmYsIDB4ZmYsCi0JMHhmMiwgMHg3MywgMHgwOCwgMHhkOSwgMHhmNCwgMHg5NSwgMHhlOCwgMHgwMCwKLQkweDQ0LCAweGY4LCAweDI3LCAweDczLCAweDQwLCAweGY4LCAweDI3LCAweDc1LAotCTB4ODIsIDB4ZjgsIDB4MDAsIDB4MTEsIDB4ZjQsIDB4OTUsIDB4NzcsIDB4MTAsCi0JMHg4MCwgMHgwMCwgMHhmNiwgMHhhOSwgMHhmOCwgMHgyMCwgMHgwOCwgMHhkOCwKLQkweGY2LCAweGI4LCAweDEwLCAweGY4LCAweDI3LCAweDczLCAweGYwLCAweDAwLAotCTB4ODAsIDB4MDAsIDB4NDgsIDB4MDgsIDB4NGUsIDB4ZjgsIDB4MjcsIDB4NzQsCi0JMHg0OCwgMHgwOCwgMHhmMCwgMHhmOSwgMHg4OCwgMHgxMSwgMHhmNCwgMHg5NSwKLQkweGY0LCAweDk1LCAweDcxLCAweGUxLCAweDI3LCAweDdjLCAweDI3LCAweDdhLAotCTB4ZjcsIDB4YjgsIDB4NTcsIDB4ZjgsIDB4MjcsIDB4NzQsIDB4ZjAsIDB4NjIsCi0JMHhmZiwgMHhmZiwgMHhmMCwgMHg0MCwgMHhmZiwgMHg4MCwgMHhmMiwgMHg4MCwKLQkweDRlLCAweGY4LCAweDI3LCAweDc0LCAweGU4LCAweDAwLCAweDhhLCAweDExLAotCTB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsIDB4NGEsIDB4MTYsIDB4ZWUsIDB4ZmIsCi0JMHgxMSwgMHhmOCwgMHgyNywgMHg3MSwgMHgwOSwgMHhmOCwgMHgyNywgMHg3MywKLQkweDg5LCAweDExLCAweDg4LCAweDEwLCAweGY0LCAweDk1LCAweGY0LCAweDk1LAotCTB4ZjYsIDB4YTksIDB4ZjgsIDB4MjAsIDB4MDgsIDB4ZWQsIDB4ZjIsIDB4NzMsCi0JMHgwOSwgMHgwZSwgMHhmNCwgMHg5NSwgMHhlOCwgMHgwMCwgMHhmNiwgMHgyMCwKLQkweDc2LCAweDAwLCAweDAwLCAweDQxLCAweGYwLCAweDc0LCAweDEyLCAweGVlLAotCTB4ODgsIDB4MTYsIDB4ZjQsIDB4OTUsIDB4ZjcsIDB4YjgsIDB4NmQsIDB4OTYsCi0JMHgxMCwgMHhmOCwgMHgwMCwgMHgxNiwgMHhmOCwgMHg0NywgMHgwOSwgMHgwYSwKLQkweGU3LCAweDYxLCAweDc2LCAweDAwLCAweDAwLCAweDAwLCAweDc2LCAweDAxLAotCTB4MDAsIDB4ODAsIDB4NzYsIDB4MDIsIDB4MDAsIDB4ZmYsIDB4NzYsIDB4MDMsCi0JMHgwMCwgMHgwMCwgMHhmMiwgMHg3NCwgMHgwYywgMHhiOSwgMHhmNCwgMHg5NSwKLQkweGU4LCAweDAwLCAweDZjLCAweGU5LCAweGZmLCAweGZmLCAweDA4LCAweGZiLAotCTB4NzMsIDB4MTYsIDB4MDAsIDB4MGUsIDB4ZjAsIDB4NjYsIDB4MDAsIDB4NDEsCi0JMHhlZSwgMHgwNSwgMHg4YSwgMHgxNiwgMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwKLQkweDRhLCAweDExLCAweGY0LCAweDk1LCAweDcxLCAweDAyLCAweDAwLCAweDEzLAotCTB4ZjYsIDB4YjgsIDB4NzcsIDB4MTEsIDB4N2YsIDB4ZmYsIDB4NTcsIDB4ZjgsCi0JMHgyNywgMHg3MiwgMHg0OCwgMHgxMSwgMHhmMiwgMHg4MCwgMHhmMCwgMHgwMCwKLQkweDgwLCAweDAwLCAweDg4LCAweDExLCAweGY2LCAweDQwLCAweGYwLCAweGUwLAotCTB4ZjEsIDB4ZjEsIDB4ZTgsIDB4MDEsIDB4ZjIsIDB4ODAsIDB4ODAsIDB4ZjgsCi0JMHgyNywgMHg3OCwgMHg3NywgMHgxMiwgMHg4MCwgMHgwMCwgMHg1NywgMHhmOCwKLQkweDI3LCAweDcyLCAweDQ4LCAweDEyLCAweGYyLCAweDgwLCAweDg4LCAweDEyLAotCTB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4NmMsIDB4ODIsIDB4MDksIDB4MzgsCi0JMHhlOCwgMHgwMCwgMHg3NSwgMHhmOCwgMHgwMCwgMHgwOCwgMHgwMCwgMHgwMSwKLQkweGYwLCAweDczLCAweDA5LCAweDNkLCAweGYwLCAweDIwLCAweDgwLCAweDAxLAotCTB4NzUsIDB4ZjgsIDB4MDAsIDB4MDgsIDB4MDAsIDB4MDEsIDB4NzAsIDB4ODEsCi0JMHgwMCwgMHgxMywgMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwKLQkweGYwLCAweDMwLCAweDdmLCAweGZmLCAweDExLCAweGY4LCAweDI5LCAweDg2LAotCTB4ZjUsIDB4MjAsIDB4ZjMsIDB4MzAsIDB4N2YsIDB4ZmYsIDB4ODksIDB4MTEsCi0JMHhmNCwgMHg5NSwgMHg3NywgMHgxMCwgMHg0MCwgMHgwMCwgMHhmNiwgMHhhOSwKLQkweGY4LCAweDIwLCAweDA5LCAweDU0LCAweGYyLCAweDczLCAweDA5LCAweDY3LAotCTB4ZjQsIDB4OTUsIDB4ZTgsIDB4MDIsIDB4NmYsIDB4ZjgsIDB4MjcsIDB4N2EsCi0JMHgwZCwgMHgyMCwgMHhmMywgMHgzMCwgMHg3ZiwgMHhmZiwgMHg4OSwgMHgxMSwKLQkweGY0LCAweDk1LCAweDc3LCAweDEwLCAweDQwLCAweDAwLCAweGY2LCAweGE5LAotCTB4ZjgsIDB4MjAsIDB4MDksIDB4NjQsIDB4ZjIsIDB4NzMsIDB4MDksIDB4NjcsCi0JMHhmNCwgMHg5NSwgMHhlOCwgMHgwMSwgMHg4MCwgMHhmOCwgMHgyNywgMHg3YiwKLQkweGU4LCAweDAwLCAweDhhLCAweDExLCAweGZjLCAweDAwLCAweDRhLCAweDExLAotCTB4MTEsIDB4ZjgsIDB4MjksIDB4ODYsIDB4ZjUsIDB4MjAsIDB4ZjMsIDB4MzAsCi0JMHg3ZiwgMHhmZiwgMHg4OSwgMHgxMSwgMHhmNCwgMHg5NSwgMHg3NywgMHgxMCwKLQkweDQwLCAweDAwLCAweGY2LCAweGE5LCAweGY4LCAweDIwLCAweDA5LCAweDdhLAotCTB4ZjIsIDB4NzMsIDB4MDksIDB4OGQsIDB4ZjQsIDB4OTUsIDB4ZTgsIDB4MDIsCi0JMHg2ZiwgMHhmOCwgMHgyNywgMHg3YSwgMHgwZCwgMHgyMCwgMHhmMywgMHgzMCwKLQkweDdmLCAweGZmLCAweDg5LCAweDExLCAweGY0LCAweDk1LCAweDc3LCAweDEwLAotCTB4NDAsIDB4MDAsIDB4ZjYsIDB4YTksIDB4ZjgsIDB4MjAsIDB4MDksIDB4OGEsCi0JMHhmMiwgMHg3MywgMHgwOSwgMHg4ZCwgMHhmNCwgMHg5NSwgMHhlOCwgMHgwMSwKLQkweDgwLCAweGY4LCAweDI3LCAweDc5LCAweGU4LCAweDAwLCAweDhhLCAweDExLAotCTB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsIDB4ZjQsIDB4OTUsIDB4NzEsIDB4MDIsCi0JMHgwMCwgMHgxMiwgMHg4OCwgMHgxMSwgMHhmNiwgMHhiOCwgMHg1NywgMHhmOCwKLQkweDI3LCAweDcyLCAweGYwLCAweDIwLCAweDdmLCAweGZmLCAweGYyLCAweDgwLAotCTB4ZjAsIDB4MDAsIDB4ODAsIDB4MDAsIDB4ODAsIDB4ODEsIDB4NTcsIDB4ZjgsCi0JMHgyNywgMHg3MiwgMHhlOCwgMHgwMSwgMHhmMywgMHhmMSwgMHhmMiwgMHg4MCwKLQkweDgwLCAweGY4LCAweDI3LCAweDc4LCAweDc3LCAweDExLCAweDgwLCAweDAwLAotCTB4NDgsIDB4MTEsIDB4NTcsIDB4ZjgsIDB4MjcsIDB4NzIsIDB4ZjIsIDB4ODAsCi0JMHg4OCwgMHgxMSwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHg2YywgMHg4MSwKLQkweDA5LCAweGI1LCAweGU4LCAweDAwLCAweDc1LCAweGY4LCAweDAwLCAweDA4LAotCTB4MDAsIDB4MDEsIDB4ZjAsIDB4NzMsIDB4MDksIDB4YmEsIDB4ZjAsIDB4MjAsCi0JMHg4MCwgMHgwMSwgMHg3NSwgMHhmOCwgMHgwMCwgMHgwOCwgMHgwMCwgMHgwMSwKLQkweDQ1LCAweGY4LCAweDI3LCAweDcxLCAweDQzLCAweGY4LCAweDI3LCAweDczLAotCTB4ODMsIDB4ZjgsIDB4MDAsIDB4MTEsIDB4ZjQsIDB4OTUsIDB4ZTcsIDB4MjAsCi0JMHhmNiwgMHhhOSwgMHhmOCwgMHgzMCwgMHgwOSwgMHhjOSwgMHhmMiwgMHg3MywKLQkweDA5LCAweGU0LCAweDc3LCAweDEyLCAweDAwLCAweDAwLCAweDU3LCAweGY4LAotCTB4MjcsIDB4NzIsIDB4ZjAsIDB4MjAsIDB4N2YsIDB4ZmYsIDB4ZjIsIDB4ODAsCi0JMHg0OSwgMHgxMiwgMHhmNSwgMHgwMCwgMHhmMywgMHgwMCwgMHg4MCwgMHgwMCwKLQkweDYxLCAweGY4LCAweDAwLCAweDBiLCAweDgwLCAweDAwLCAweGY4LCAweDMwLAotCTB4MDksIDB4ZGMsIDB4ZjEsIDB4MjAsIDB4ODAsIDB4MDAsIDB4ZjUsIDB4MjAsCi0JMHg4OSwgMHgxMiwgMHhmNCwgMHg5NSwgMHg0OCwgMHgxMiwgMHg2ZiwgMHhmOCwKLQkweDI3LCAweDczLCAweDBkLCAweDAwLCAweGY0LCAweDk1LCAweDQ5LCAweDBiLAotCTB4NGYsIDB4ZjgsIDB4MjcsIDB4NzIsIDB4OGEsIDB4MTEsIDB4ZmUsIDB4MDAsCi0JMHg0OCwgMHgxMiwgMHhmNCwgMHg5NSwgMHg0YSwgMHgxMSwgMHg0YSwgMHgxNiwKLQkweDRhLCAweDE3LCAweGVlLCAweGZjLCAweGY0LCAweDk1LCAweDcxLCAweDA4LAotCTB4MDAsIDB4MTYsIDB4ODgsIDB4MTcsIDB4ZjAsIDB4NzQsIDB4MDgsIDB4MzAsCi0JMHg0OCwgMHgxOCwgMHg3MCwgMHgwMCwgMHgwMCwgMHgxNiwgMHhmMiwgMHg3NCwKLQkweDA5LCAweDhmLCAweGYwLCAweDAwLCAweDAwLCAweDAyLCAweDg4LCAweDExLAotCTB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4NmMsIDB4ODEsIDB4MGEsIDB4MGEsCi0JMHhmMiwgMHg3NCwgMHgwOCwgMHhkYiwgMHhmNCwgMHg5NSwgMHg0OCwgMHgxNiwKLQkweDQ4LCAweDE4LCAweDcwLCAweDAwLCAweDAwLCAweDE2LCAweGYyLCAweDc0LAotCTB4MDksIDB4OGYsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4ODgsIDB4MTEsCi0JMHgxMCwgMHgwMiwgMHg3MCwgMHgwMSwgMHgwMCwgMHgxMSwgMHg4MCwgMHgwMCwKLQkweGYyLCAweDc0LCAweDA2LCAweGNlLCAweGY0LCAweDk1LCAweDQ4LCAweDE3LAotCTB4NDksIDB4MTEsIDB4NDgsIDB4MTcsIDB4ZjYsIDB4MDAsIDB4ODgsIDB4MTcsCi0JMHhlNywgMHg2MCwgMHhmNSwgMHhhOSwgMHhmOCwgMHgyMCwgMHgwYSwgMHgyZCwKLQkweDQ4LCAweDE2LCAweGY2LCAweDIwLCAweDg4LCAweDExLCAweDQ4LCAweDE4LAotCTB4NzAsIDB4MDAsIDB4MDAsIDB4MTEsIDB4ZjIsIDB4NzQsIDB4MDksIDB4OGYsCi0JMHhmMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHg4OCwgMHgxMSwgMHg3MCwgMHgwMSwKLQkweDAwLCAweDExLCAweDEwLCAweDAyLCAweDgwLCAweDAwLCAweGYyLCAweDc0LAotCTB4MDYsIDB4Y2UsIDB4ZjQsIDB4OTUsIDB4NDgsIDB4MTcsIDB4ZWUsIDB4MDQsCi0JMHg0OCwgMHgxNiwgMHg4YSwgMHgxNywgMHg4YSwgMHgxNiwgMHg4YSwgMHgxMSwKLQkweGZjLCAweDAwLCAweGVlLCAweGZkLCAweGU4LCAweDAwLCAweDRlLCAweGY4LAotCTB4MjcsIDB4NzAsIDB4ZTgsIDB4MDAsIDB4NGUsIDB4ZjgsIDB4MjcsIDB4NzIsCi0JMHhlOCwgMHgwMCwgMHg0ZSwgMHhmOCwgMHgyNywgMHg3NCwgMHhlOCwgMHgwMCwKLQkweDRlLCAweGY4LCAweDI3LCAweDc2LCAweDc2LCAweGY4LCAweDI3LCAweDc5LAotCTB4ZmYsIDB4ZmYsIDB4NzYsIDB4ZjgsIDB4MjcsIDB4N2EsIDB4MDAsIDB4MDAsCi0JMHg3NiwgMHhmOCwgMHgyNywgMHg3YiwgMHhmZiwgMHhmZiwgMHg3NiwgMHhmOCwKLQkweDI3LCAweDc4LCAweDAwLCAweDAwLCAweGU4LCAweDAwLCAweDc1LCAweGY4LAotCTB4MDAsIDB4MDgsIDB4MDAsIDB4MDEsIDB4NzYsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHg3NiwgMHgwMSwgMHgwMiwgMHgwMCwgMHhmMiwgMHg3NCwgMHgxMiwgMHhkYywKLQkweGYwLCAweDIwLCAweDI3LCAweDdjLCAweGVlLCAweDAzLCAweGZjLCAweDAwLAotCTB4NGEsIDB4MTEsIDB4ZWUsIDB4ZmMsIDB4ZjQsIDB4OTUsIDB4NGUsIDB4MDAsCi0JMHg3NywgMHgxMiwgMHg3ZiwgMHhmZiwgMHhmNiwgMHhiOCwgMHg0OSwgMHgxMiwKLQkweGYxLCAweDgwLCAweGYzLCAweDAwLCAweDgwLCAweDAwLCAweDg5LCAweDEyLAotCTB4ZjAsIDB4ZTAsIDB4ZjEsIDB4ZjEsIDB4NGYsIDB4MDIsIDB4ZTksIDB4MDEsCi0JMHhmNCwgMHg5NSwgMHg0OCwgMHgwYiwgMHhmNSwgMHg0MCwgMHg1NiwgMHgwMiwKLQkweGYxLCAweDgwLCAweDgxLCAweGY4LCAweDI3LCAweDc4LCAweDc3LCAweDExLAotCTB4ODAsIDB4MDAsIDB4NTYsIDB4MDAsIDB4NDksIDB4MTEsIDB4ZjEsIDB4ODAsCi0JMHg4OSwgMHgxMSwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHg2YywgMHg4MSwKLQkweDBhLCAweDgxLCAweGU4LCAweDAwLCAweDc1LCAweGY4LCAweDAwLCAweDA4LAotCTB4MDAsIDB4MDEsIDB4ZjAsIDB4NzMsIDB4MGEsIDB4ODYsIDB4ZjAsIDB4MjAsCi0JMHg4MCwgMHgwMSwgMHg3NSwgMHhmOCwgMHgwMCwgMHgwOCwgMHgwMCwgMHgwMSwKLQkweDEwLCAweDgyLCAweGVlLCAweDA0LCAweDhhLCAweDExLCAweGZjLCAweDAwLAotCTB4NGEsIDB4MTEsIDB4ZWUsIDB4ZmUsIDB4ZjQsIDB4OTUsIDB4NGUsIDB4MDAsCi0JMHg3NywgMHgxMSwgMHg3ZiwgMHhmZiwgMHhmNiwgMHhiOCwgMHg0OSwgMHgxMSwKLQkweGYxLCAweDgwLCAweGYzLCAweDAwLCAweDgwLCAweDAwLCAweDg5LCAweDExLAotCTB4ZjAsIDB4ZTAsIDB4ZjEsIDB4ZjEsIDB4ZTgsIDB4MDEsIDB4ZjIsIDB4ODAsCi0JMHg4MCwgMHhmOCwgMHgyNywgMHg3OCwgMHg1NiwgMHgwMCwgMHhmMSwgMHgyMCwKLQkweDgwLCAweDAwLCAweGYxLCAweDgwLCAweGY0LCAweDk1LCAweDQ5LCAweDBiLAotCTB4ZjgsIDB4NGQsIDB4MGEsIDB4YWIsIDB4ZjAsIDB4MjAsIDB4ODAsIDB4MDEsCi0JMHg3NSwgMHhmOCwgMHgwMCwgMHgwOCwgMHgwMCwgMHgwMSwgMHhmMCwgMHg3MywKLQkweDBhLCAweGFmLCAweGU4LCAweDAwLCAweDc1LCAweGY4LCAweDAwLCAweDA4LAotCTB4MDAsIDB4MDEsIDB4ZWUsIDB4MDIsIDB4NDgsIDB4MTEsIDB4OGEsIDB4MTEsCi0JMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwgMHg4OCwgMHgxMiwgMHgxMywgMHgwMiwKLQkweDc3LCAweDExLCAweDAwLCAweDAwLCAweGY4LCAweDRkLCAweDBhLCAweGNiLAotCTB4ZjMsIDB4MTAsIDB4MDAsIDB4MDEsIDB4ODksIDB4MWEsIDB4ZjQsIDB4OTUsCi0JMHhmMCwgMHg3MiwgMHgwYSwgMHhjYSwgMHg0OCwgMHgxMSwgMHgxYywgMHhmOCwKLQkweDI5LCAweDdlLCAweDg4LCAweDExLCAweDExLCAweGY4LCAweDI5LCAweDdlLAotCTB4ZjIsIDB4MDAsIDB4MDAsIDB4MDEsIDB4ODAsIDB4ZjgsIDB4MjksIDB4N2UsCi0JMHg4MSwgMHg5MiwgMHg0OCwgMHgxMSwgMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwKLQkweDRhLCAweDExLCAweGY0LCAweDk1LCAweDcxLCAweDAyLCAweDAwLCAweDExLAotCTB4ODgsIDB4MTIsIDB4ZjYsIDB4YjgsIDB4ZjAsIDB4MjAsIDB4N2YsIDB4ZmYsCi0JMHg1NywgMHhmOCwgMHgyNywgMHg3MCwgMHhmMiwgMHg4MCwgMHhmMCwgMHgwMCwKLQkweDgwLCAweDAwLCAweDgwLCAweDgyLCAweDU3LCAweGY4LCAweDI3LCAweDcwLAotCTB4ZTgsIDB4MDEsIDB4ZjMsIDB4ZjEsIDB4ZjIsIDB4ODAsIDB4ODAsIDB4ZjgsCi0JMHgyNywgMHg3OCwgMHg3NywgMHgxMiwgMHg4MCwgMHgwMCwgMHg0OCwgMHgxMiwKLQkweDU3LCAweGY4LCAweDI3LCAweDcwLCAweGYyLCAweDgwLCAweDg4LCAweDEyLAotCTB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4NmMsIDB4ODIsIDB4MGEsIDB4ZjQsCi0JMHhlOCwgMHgwMCwgMHg3NSwgMHhmOCwgMHgwMCwgMHgwOCwgMHgwMCwgMHgwMSwKLQkweGYwLCAweDczLCAweDBhLCAweGY5LCAweGYwLCAweDIwLCAweDgwLCAweDAxLAotCTB4NzUsIDB4ZjgsIDB4MDAsIDB4MDgsIDB4MDAsIDB4MDEsIDB4NDUsIDB4ZjgsCi0JMHgyNywgMHg3NSwgMHhlNywgMHgxMCwgMHg0MywgMHhmOCwgMHgyNywgMHg3MSwKLQkweDgzLCAweGY4LCAweDAwLCAweDEyLCAweDZkLCAweGU4LCAweDAwLCAweDA0LAotCTB4NmQsIDB4OGEsIDB4ZjYsIDB4YWEsIDB4ZjgsIDB4MzAsIDB4MGIsIDB4MGEsCi0JMHhmMiwgMHg3MywgMHgwYiwgMHgyNSwgMHg3NywgMHgxMSwgMHgwMCwgMHgwMCwKLQkweDU3LCAweGY4LCAweDI3LCAweDcwLCAweGYwLCAweDIwLCAweDdmLCAweGZmLAotCTB4ZjIsIDB4ODAsIDB4NDksIDB4MTEsIDB4ZjUsIDB4MDAsIDB4ZjMsIDB4MDAsCi0JMHg4MCwgMHgwMCwgMHg2MSwgMHhmOCwgMHgwMCwgMHgwYiwgMHg4MCwgMHgwMCwKLQkweGY4LCAweDMwLCAweDBiLCAweDFkLCAweGYxLCAweDIwLCAweDgwLCAweDAwLAotCTB4ZjUsIDB4MjAsIDB4ODksIDB4MTEsIDB4ZjQsIDB4OTUsIDB4NDgsIDB4MTEsCi0JMHg2ZiwgMHhmOCwgMHgyNywgMHg3MSwgMHgwZCwgMHgwMCwgMHhmNCwgMHg5NSwKLQkweDQ5LCAweDBiLCAweDRmLCAweGY4LCAweDI3LCAweDcwLCAweDQ4LCAweDExLAotCTB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsIDB4NGEsIDB4MTYsCi0JMHg0YSwgMHgxNywgMHhlZSwgMHhmMCwgMHg4OCwgMHgxNywgMHgxMCwgMHgxNywKLQkweDgwLCAweDA1LCAweDEwLCAweDE2LCAweDgwLCAweDA2LCAweDEwLCAweDE1LAotCTB4ODAsIDB4MDcsIDB4NzEsIDB4MTQsIDB4MDAsIDB4MTEsIDB4MTAsIDB4MDUsCi0JMHhmMCwgMHgzMCwgMHgwMCwgMHgwMSwgMHg4OCwgMHgxMCwgMHgxMCwgMHgwNiwKLQkweGYwLCAweDMwLCAweDAwLCAweDAxLCAweDgwLCAweDA4LCAweDQ5LCAweDExLAotCTB4MTAsIDB4MDUsIDB4ZjYsIDB4MDEsIDB4ODAsIDB4MDksIDB4MTAsIDB4MDYsCi0JMHg2MSwgMHhmOCwgMHgwMCwgMHgwOCwgMHgwMCwgMHgwMSwgMHhmOCwgMHgyMCwKLQkweDBiLCAweDRiLCAweDEwLCAweDA5LCAweGYwLCAweDAwLCAweDAwLCAweDAxLAotCTB4ODAsIDB4MDksIDB4NzEsIDB4MDgsIDB4MDAsIDB4MTIsIDB4ZjQsIDB4YWEsCi0JMHhmOCwgMHgzMCwgMHgwYiwgMHg1NCwgMHgxMCwgMHgwOSwgMHhmMCwgMHgwMCwKLQkweDAwLCAweDAxLCAweDgwLCAweDA5LCAweDEyLCAweDA5LCAweDQ5LCAweDExLAotCTB4ZjQsIDB4N2YsIDB4ODAsIDB4MDksIDB4ZjYsIDB4MjAsIDB4ODAsIDB4MGEsCi0JMHg1NiwgMHhmOCwgMHgyNywgMHg3MCwgMHg0ZSwgMHgwYywgMHgxMCwgMHgwOSwKLQkweDgwLCAweDAwLCAweDQ4LCAweDE4LCAweGYyLCAweDc0LCAweDBhLCAweGNlLAotCTB4ZjAsIDB4MDAsIDB4MDAsIDB4MDQsIDB4ODgsIDB4MTYsIDB4ZjQsIDB4OTUsCi0JMHhmNCwgMHg5NSwgMHg2YywgMHg4NiwgMHgwYiwgMHg2ZCwgMHhmMiwgMHg3MywKLQkweDBjLCAweDU5LCAweGY0LCAweDk1LCAweGU4LCAweDAwLCAweGY2LCAweGI4LAotCTB4ZjQsIDB4OTUsIDB4NTYsIDB4MGMsIDB4ZjAsIDB4ZjksIDB4ODgsIDB4MTIsCi0JMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHg3MCwgMHhlMiwgMHgyNywgMHg3YywKLQkweDI5LCAweDg2LCAweGU4LCAweDAwLCAweDgwLCAweDBlLCAweDQ4LCAweDExLAotCTB4ZjgsIDB4NDUsIDB4MGIsIDB4Y2MsIDB4NzcsIDB4MTAsIDB4MDAsIDB4MDEsCi0JMHhmNCwgMHhhOSwgMHhmOCwgMHgzMCwgMHgwYiwgMHg4OSwgMHg2YywgMHhlMSwKLQkweGZmLCAweGZkLCAweDBiLCAweDhiLCAweDEwLCAweGU3LCAweDAwLCAweDAyLAotCTB4ODAsIDB4MGUsIDB4ZjAsIDB4NzMsIDB4MGIsIDB4OGIsIDB4MTAsIDB4ODcsCi0JMHg4MCwgMHgwZSwgMHhlNywgMHgxMCwgMHhmNSwgMHhhZSwgMHhmOCwgMHgyMCwKLQkweDBiLCAweGIyLCAweDcwLCAweDAwLCAweDAwLCAweDE3LCAweDcwLCAweDAxLAotCTB4MDAsIDB4MTYsIDB4MTAsIDB4MDQsIDB4ZjAsIDB4NzQsIDB4MDYsIDB4Y2UsCi0JMHg0OCwgMHgxNywgMHg0OSwgMHgxNiwgMHhmNiwgMHgwMCwgMHg4OCwgMHgxNywKLQkweDQ4LCAweDExLCAweGY2LCAweDIwLCAweDg4LCAweDExLCAweDEwLCAweDA5LAotCTB4ZjYsIDB4MjAsIDB4ODAsIDB4MDAsIDB4NDgsIDB4MTgsIDB4ZjIsIDB4NzQsCi0JMHgwYSwgMHhjZSwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwNCwgMHg4OCwgMHgxNiwKLQkweDEwLCAweDA0LCAweDcwLCAweDAwLCAweDAwLCAweDE3LCAweDcwLCAweDAxLAotCTB4MDAsIDB4MTEsIDB4ZjAsIDB4NzQsIDB4MDYsIDB4Y2UsIDB4NDgsIDB4MTEsCi0JMHgwMCwgMHgwNCwgMHg4MCwgMHgwNCwgMHhmMCwgMHg3MywgMHgwYiwgMHhiYywKLQkweDcwLCAweDAwLCAweDAwLCAweDE3LCAweDcwLCAweDAxLCAweDAwLCAweDExLAotCTB4MTAsIDB4MDQsIDB4ZjAsIDB4NzQsIDB4MDYsIDB4Y2UsIDB4NDgsIDB4MTEsCi0JMHgwMCwgMHgwNCwgMHg4MCwgMHgwNCwgMHg0OSwgMHgxMSwgMHg0OCwgMHgxNiwKLQkweGY2LCAweDIwLCAweDg4LCAweDE2LCAweGY0LCAweDk1LCAweGY0LCAweDk1LAotCTB4NmMsIDB4ODYsIDB4MGIsIDB4Y2MsIDB4MTAsIDB4MGEsIDB4ODAsIDB4MDAsCi0JMHg0OCwgMHgxOCwgMHhmMiwgMHg3NCwgMHgwYSwgMHhjZSwgMHhmMCwgMHgwMCwKLQkweDAwLCAweDA0LCAweDg4LCAweDE2LCAweDEyLCAweDBhLCAweGY4LCAweDQ1LAotCTB4MGMsIDB4MzMsIDB4NzEsIDB4MGEsIDB4MDAsIDB4MTAsIDB4ZjQsIDB4YWUsCi0JMHhmOCwgMHgzMCwgMHgwYywgMHgxYywgMHg0OCwgMHgxNiwgMHhmMCwgMHhlMSwKLQkweDg4LCAweDExLCAweDEyLCAweDA4LCAweGY4LCAweDQ1LCAweDBiLCAweGRiLAotCTB4NmQsIDB4ODksIDB4MTIsIDB4MDcsIDB4ZjgsIDB4NDUsIDB4MGIsIDB4ZTksCi0JMHgxMCwgMHgwNywgMHg4MCwgMHgwMCwgMHg3MCwgMHgwMiwgMHgwMCwgMHgxMSwKLQkweDEwLCAweDA2LCAweDgwLCAweDAxLCAweDEwLCAweDA0LCAweGYwLCAweDc0LAotCTB4MDYsIDB4ZGMsIDB4ZjAsIDB4NzMsIDB4MGIsIDB4ZWYsIDB4NDgsIDB4MTEsCi0JMHg2ZiwgMHgwMCwgMHgwYywgMHg5ZiwgMHgxMCwgMHgwNCwgMHhmMCwgMHg3NCwKLQkweDBhLCAweGIzLCAweDExLCAweDBlLCAweGYxLCAweGMwLCAweDgxLCAweDBlLAotCTB4MTAsIDB4MDYsIDB4NDksIDB4MTEsIDB4ZjYsIDB4MDAsIDB4ODAsIDB4MDYsCi0JMHgxMCwgMHgwNSwgMHhmNiwgMHgyMCwgMHg4OCwgMHgxMSwgMHhmMCwgMHgwMCwKLQkweDAwLCAweDAxLCAweDQ4LCAweDA4LCAweDZmLCAweDAwLCAweDBjLCAweDlmLAotCTB4NDgsIDB4MTgsIDB4ZjIsIDB4NzQsIDB4MGEsIDB4Y2UsIDB4ZjAsIDB4MDAsCi0JMHgwMCwgMHgwNCwgMHgxMiwgMHgwNywgMHhmOCwgMHg0NSwgMHgwYywgMHgxMSwKLQkweDEwLCAweDA3LCAweDgwLCAweDAwLCAweDcwLCAweDAyLCAweDAwLCAweDExLAotCTB4MTAsIDB4MDYsIDB4ODAsIDB4MDEsIDB4MTAsIDB4MDQsIDB4ZjAsIDB4NzQsCi0JMHgwNiwgMHhkYywgMHhmMCwgMHg3MywgMHgwYywgMHgxNywgMHg0OCwgMHgxMSwKLQkweDZmLCAweDAwLCAweDBjLCAweDlmLCAweDEwLCAweDA0LCAweGYwLCAweDc0LAotCTB4MGEsIDB4YjMsIDB4MTEsIDB4MGUsIDB4ZjEsIDB4YzAsIDB4ODEsIDB4MGUsCi0JMHhmMCwgMHg3MywgMHgwYywgMHgzMywgMHgxMiwgMHgwNywgMHhmOCwgMHg0NSwKLQkweDBjLCAweDJhLCAweDEwLCAweDA3LCAweDgwLCAweDAwLCAweDEwLCAweDA2LAotCTB4ODAsIDB4MDEsIDB4MTAsIDB4MDUsIDB4ODAsIDB4MDIsIDB4MTAsIDB4MDQsCi0JMHhmMCwgMHg3NCwgMHgwNiwgMHhkYywgMHhmMCwgMHg3MywgMHgwYywgMHgzMCwKLQkweDEyLCAweDA1LCAweDZmLCAweDAwLCAweDBjLCAweDlmLCAweDEwLCAweDA0LAotCTB4ZjAsIDB4NzQsIDB4MGEsIDB4YjMsIDB4MTEsIDB4MGUsIDB4ZjEsIDB4YzAsCi0JMHg4MSwgMHgwZSwgMHg3NiwgMHgwMCwgMHgwMCwgMHgwMSwgMHg0OCwgMHgxOCwKLQkweGYyLCAweDc0LCAweDBhLCAweGNlLCAweGYwLCAweDAwLCAweDAwLCAweDA0LAotCTB4NzEsIDB4MDQsIDB4MDAsIDB4MTEsIDB4NzAsIDB4ODEsIDB4MjksIDB4ODYsCi0JMHgxMCwgMHgwZSwgMHgxYywgMHhmOCwgMHgyOSwgMHg4NiwgMHg4MCwgMHgwZSwKLQkweDc2LCAweDAwLCAweDAwLCAweDAxLCAweDQ4LCAweDE4LCAweGYyLCAweDc0LAotCTB4MGEsIDB4Y2UsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDQsIDB4MTAsIDB4MGUsCi0JMHg3MSwgMHgwNCwgMHgwMCwgMHgxMSwgMHg4MCwgMHg4MSwgMHgxMCwgMHhmOCwKLQkweDI5LCAweDg2LCAweGYwLCAweDAwLCAweDAwLCAweDAxLCAweGYwLCAweDMwLAotCTB4N2YsIDB4ZmYsIDB4ODAsIDB4ZjgsIDB4MjksIDB4ODYsIDB4MTAsIDB4MDksCi0JMHhmMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHg4MCwgMHgwOSwgMHhlZSwgMHgxMCwKLQkweDhhLCAweDE3LCAweDhhLCAweDE2LCAweDhhLCAweDExLCAweGZjLCAweDAwLAotCTB4MTAsIDB4ZjgsIDB4MjcsIDB4NzUsIDB4MDgsIDB4ZjgsIDB4MjcsIDB4NzEsCi0JMHhmMCwgMHgxMCwgMHgwMCwgMHgwMSwgMHg0OCwgMHgwOCwgMHhmYywgMHgwMCwKLQkweDRhLCAweDExLCAweDRhLCAweDE2LCAweGVlLCAweGZmLCAweGY0LCAweDk1LAotCTB4NzEsIDB4MDQsIDB4MDAsIDB4MTYsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDEsCi0JMHg0OCwgMHgwOCwgMHg0ZSwgMHhmOCwgMHgyOSwgMHg3YywgMHg2ZCwgMHhlZSwKLQkweGZmLCAweGZkLCAweDQ4LCAweDE2LCAweGY4LCAweDQ1LCAweDBjLCAweDk5LAotCTB4NTYsIDB4ZjgsIDB4MjksIDB4N2MsIDB4ZjAsIDB4NzQsIDB4MGEsIDB4NWEsCi0JMHg4OCwgMHgxMSwgMHgxMCwgMHhmOCwgMHgyOSwgMHg3ZCwgMHhmMCwgMHgwMCwKLQkweDAwLCAweDAxLCAweDQ4LCAweDA4LCAweDRlLCAweGY4LCAweDI5LCAweDdjLAotCTB4MTAsIDB4ZjgsIDB4MjksIDB4ODIsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDEsCi0JMHg4OCwgMHgxMCwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmNCwgMHhhOSwKLQkweGZhLCAweDMwLCAweDBjLCAweDk2LCAweDgwLCAweGY4LCAweDI5LCAweDgyLAotCTB4NTYsIDB4ZjgsIDB4MjksIDB4ODAsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDEsCi0JMHg0ZSwgMHhmOCwgMHgyOSwgMHg4MCwgMHg3MywgMHgxMSwgMHgyOSwgMHg4MiwKLQkweDZjLCAweGVlLCAweGZmLCAweGZmLCAweDBjLCAweDc2LCAweGVlLCAweDAxLAotCTB4OGEsIDB4MTYsIDB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsCi0JMHg3NiwgMHhmOCwgMHgyOSwgMHg4NCwgMHgwMCwgMHgwMCwgMHg3NiwgMHhmOCwKLQkweDI5LCAweDg1LCAweDAwLCAweDAxLCAweGU4LCAweDAwLCAweDRlLCAweGY4LAotCTB4MmEsIDB4MGMsIDB4NzYsIDB4ZjgsIDB4MjksIDB4ODYsIDB4MDAsIDB4MDAsCi0JMHg3NiwgMHhmOCwgMHgyOSwgMHg4NywgMHgwMCwgMHgwMCwgMHg3NywgMHgxMSwKLQkweDI5LCAweDg4LCAweDc2LCAweDgxLCAweGFhLCAweGFhLCAweDc2LCAweGUxLAotCTB4MDAsIDB4MDEsIDB4YWEsIDB4YWEsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MDIsCi0JMHgwMCwgMHgwMCwgMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwKLQkweGVlLCAweGZjLCAweGY0LCAweDk1LCAweDcxLCAweDA2LCAweDAwLCAweDE0LAotCTB4NzEsIDB4MDcsIDB4MDAsIDB4MTMsIDB4NzEsIDB4MDgsIDB4MDAsIDB4MTIsCi0JMHg3MSwgMHgwOSwgMHgwMCwgMHgxNSwgMHg3NywgMHgxMCwgMHgwMCwgMHhmZiwKLQkweGY0LCAweGFhLCAweGY4LCAweDMwLCAweDBkLCAweDQ0LCAweDQ5LCAweDEzLAotCTB4NTMsIDB4ZjgsIDB4MmEsIDB4MGMsIDB4NGYsIDB4ZjgsIDB4MmEsIDB4MGMsCi0JMHg3MywgMHgxMiwgMHgwMCwgMHgwZSwgMHhmMSwgMHg2NiwgMHgwMCwgMHgwZCwKLQkweDg5LCAweDExLCAweGY0LCAweDk1LCAweDc3LCAweDEwLCAweDAwLCAweDAxLAotCTB4NzEsIDB4ZTEsIDB4MjQsIDB4MDAsIDB4MDAsIDB4MTEsIDB4ZjQsIDB4YTksCi0JMHhmOCwgMHgzMCwgMHgwZCwgMHgxNywgMHg3NywgMHgxMCwgMHgwMCwgMHgwMiwKLQkweGY0LCAweGE5LCAweGY4LCAweDMwLCAweDBjLCAweGVjLCAweDc3LCAweDExLAotCTB4MjksIDB4OGEsIDB4NzYsIDB4ODEsIDB4MDAsIDB4MDAsIDB4ZTgsIDB4MDAsCi0JMHg3NywgMHgxNCwgMHgwMCwgMHgwMCwgMHg3NywgMHgxMywgMHgwMCwgMHgwMCwKLQkweGYwLCAweDczLCAweDBkLCAweDQ4LCAweDZjLCAweDgzLCAweDBjLCAweGZhLAotCTB4NzcsIDB4MTEsIDB4MjksIDB4OGEsIDB4NDgsIDB4MTIsIDB4ZjAsIDB4ZTgsCi0JMHhmMCwgMHg0MCwgMHg4MCwgMHgwMCwgMHg4MCwgMHg4MSwgMHhlOCwgMHgwMCwKLQkweDc3LCAweDE0LCAweDAwLCAweDAwLCAweGYwLCAweDczLCAweDBkLCAweDQ4LAotCTB4NDksIDB4MTMsIDB4ZjMsIDB4NDAsIDB4ODAsIDB4MDAsIDB4ODEsIDB4ZjgsCi0JMHgyOSwgMHg4YSwgMHg2MSwgMHhmOCwgMHgwMCwgMHgxNSwgMHgwMCwgMHgwMSwKLQkweGY4LCAweDIwLCAweDBkLCAweDA3LCAweDY5LCAweGY4LCAweDI5LCAweDhhLAotCTB4NDAsIDB4MDAsIDB4NjEsIDB4ZjgsIDB4MDAsIDB4MTQsIDB4MDAsIDB4MDEsCi0JMHhmOCwgMHgyMCwgMHgwZCwgMHgwZiwgMHg2OSwgMHhmOCwgMHgyOSwgMHg4YSwKLQkweDIwLCAweDAwLCAweDc3LCAweDExLCAweDI5LCAweDhhLCAweDQ5LCAweDEyLAotCTB4ZjMsIDB4ZTgsIDB4MWIsIDB4ODEsIDB4ODEsIDB4ODEsIDB4ZjAsIDB4NzMsCi0JMHgwZCwgMHg0OCwgMHgxMSwgMHhmOCwgMHgyOSwgMHg4NCwgMHhmOCwgMHg0YywKLQkweDBkLCAweDM3LCAweDc3LCAweDExLCAweDI5LCAweDg4LCAweDc2LCAweDgxLAotCTB4YWEsIDB4YWEsIDB4MTEsIDB4ZjgsIDB4MjksIDB4ODUsIDB4ZjMsIDB4MTAsCi0JMHgwMCwgMHgwMSwgMHhmMywgMHg0MCwgMHhhYSwgMHgwMCwgMHg4MSwgMHhlMSwKLQkweDAwLCAweDAxLCAweDc2LCAweDAwLCAweDAwLCAweDAyLCAweDgwLCAweDAxLAotCTB4NzAsIDB4MDIsIDB4MDAsIDB4MTQsIDB4NzAsIDB4MDMsIDB4MDAsIDB4MTMsCi0JMHhmMiwgMHg3NCwgMHgwYiwgMHgyOCwgMHhmNCwgMHg5NSwgMHg0OCwgMHgxMSwKLQkweDcxLCAweGY4LCAweDI5LCAweDg1LCAweDI5LCAweDg0LCAweGYwLCAweDczLAotCTB4MGQsIDB4NzMsIDB4NzYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4ODAsIDB4MDEsCi0JMHg3NiwgMHgwMiwgMHgwMCwgMHgwMCwgMHg3MCwgMHgwMywgMHgwMCwgMHgxMywKLQkweGYyLCAweDc0LCAweDBiLCAweDI4LCAweGY0LCAweDk1LCAweGU4LCAweDAwLAotCTB4ZjAsIDB4NzMsIDB4MGQsIDB4NzMsIDB4NzcsIDB4MTEsIDB4MjksIDB4OGEsCi0JMHg3MCwgMHg4MSwgMHgwMCwgMHgxMywgMHgxMSwgMHhmOCwgMHgyOSwgMHg4NCwKLQkweGY4LCAweDRjLCAweDBkLCAweDY4LCAweDc3LCAweDExLCAweDI5LCAweDg4LAotCTB4NzYsIDB4ODEsIDB4YWEsIDB4YWEsIDB4MTEsIDB4ZjgsIDB4MjksIDB4ODUsCi0JMHhmMywgMHgxMCwgMHgwMCwgMHgwMSwgMHhmMywgMHg0MCwgMHhhYSwgMHgwMCwKLQkweDgxLCAweGUxLCAweDAwLCAweDAxLCAweDc2LCAweDAwLCAweDAwLCAweDAzLAotCTB4ODAsIDB4MDEsIDB4NzAsIDB4MDIsIDB4MDAsIDB4MTQsIDB4NzAsIDB4MDMsCi0JMHgwMCwgMHgxMywgMHhmMiwgMHg3NCwgMHgwYiwgMHgyOCwgMHhmNCwgMHg5NSwKLQkweDQ4LCAweDExLCAweDcxLCAweGY4LCAweDI5LCAweDg1LCAweDI5LCAweDg0LAotCTB4ZjAsIDB4NzMsIDB4MGQsIDB4NzMsIDB4NzYsIDB4MDAsIDB4MDAsIDB4MDEsCi0JMHg4MCwgMHgwMSwgMHg3MCwgMHgwMiwgMHgwMCwgMHgxNCwgMHg3MCwgMHgwMywKLQkweDAwLCAweDEzLCAweGYyLCAweDc0LCAweDBiLCAweDI4LCAweGY0LCAweDk1LAotCTB4NDgsIDB4MTEsIDB4NmIsIDB4ZjgsIDB4MjksIDB4ODQsIDB4ZmYsIDB4ZmYsCi0JMHhlZSwgMHgwNCwgMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwKLQkweGY1LCAweDQwLCAweGY0LCAweDk1LCAweDQ4LCAweDBiLCAweGY0LCAweDc4LAotCTB4ODgsIDB4MTEsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4NmMsIDB4ZTEsCi0JMHhmZiwgMHhiOSwgMHgwZCwgMHg4OCwgMHhmMiwgMHg3MywgMHgwZCwgMHhhNSwKLQkweGY0LCAweDk1LCAweGU4LCAweDYwLCAweGYyLCAweDAwLCAweDAwLCAweDA2LAotCTB4NjEsIDB4ZjgsIDB4MDAsIDB4MTEsIDB4MDAsIDB4MjAsIDB4ZjgsIDB4MzAsCi0JMHgwZCwgMHg5OCwgMHg2MSwgMHhmOCwgMHgwMCwgMHgwYiwgMHgwMCwgMHgwMSwKLQkweGY4LCAweDIwLCAweDBkLCAweGEzLCAweGYyLCAweDAwLCAweDAwLCAweDA3LAotCTB4ZjAsIDB4NzMsIDB4MGQsIDB4YTMsIDB4NjEsIDB4ZjgsIDB4MDAsIDB4MGIsCi0JMHgwMCwgMHgwMSwgMHhmOCwgMHgyMCwgMHgwZCwgMHhhMSwgMHhmMiwgMHg3MywKLQkweDBkLCAweGEzLCAweGYwLCAweDAwLCAweDAwLCAweDAxLCAweGYwLCAweDAwLAotCTB4MDAsIDB4MDIsIDB4NDgsIDB4MDgsIDB4ZjQsIDB4N2YsIDB4OGEsIDB4MTEsCi0JMHhmYywgMHgwMCwgMHhlZSwgMHhmZiwgMHhmMCwgMHg3NCwgMHgwNywgMHhmZCwKLQkweGYwLCAweDc0LCAweDA3LCAweDQ0LCAweGYwLCAweDc0LCAweDBkLCAweGI0LAotCTB4ZjAsIDB4NzQsIDB4MDIsIDB4MDUsIDB4ZjAsIDB4NzQsIDB4MDQsIDB4NjAsCi0JMHhmMCwgMHg3MywgMHgwZCwgMHhhYSwgMHhlZSwgMHhmZCwgMHgxMCwgMHhmOCwKLQkweDJhLCAweGEzLCAweGY4LCAweDQ0LCAweDBkLCAweGNiLCAweDEwLCAweGY4LAotCTB4MmEsIDB4YTQsIDB4ZjgsIDB4NDUsIDB4MGQsIDB4ZDcsIDB4NzYsIDB4MDAsCi0JMHgwMiwgMHgwMCwgMHhmMiwgMHg3NCwgMHgwOSwgMHhlOCwgMHhmMCwgMHgyMCwKLQkweDIyLCAweDAwLCAweDc2LCAweGY4LCAweDJhLCAweGE0LCAweDAwLCAweDAwLAotCTB4NzYsIDB4ZjgsIDB4MmEsIDB4YTcsIDB4MDAsIDB4MDAsIDB4ZjAsIDB4NzMsCi0JMHgwZCwgMHhkNywgMHg3NiwgMHgwMCwgMHgwMiwgMHgwMCwgMHhmMiwgMHg3NCwKLQkweDA5LCAweGU4LCAweGYwLCAweDIwLCAweDIwLCAweDAwLCAweDc2LCAweGY4LAotCTB4MmEsIDB4YTMsIDB4MDAsIDB4MDAsIDB4NzYsIDB4ZjgsIDB4MmEsIDB4YTcsCi0JMHgwMCwgMHgwMSwgMHhmMCwgMHg3NCwgMHgwYywgMHg1ZSwgMHhmMCwgMHhlMCwKLQkweGYwLCAweDEwLCAweDNhLCAweDk4LCAweGY4LCAweDQ3LCAweDBkLCAweGUxLAotCTB4NzYsIDB4ZjgsIDB4MjcsIDB4NmUsIDB4MDAsIDB4MDAsIDB4ZWUsIDB4MDMsCi0JMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwgMHhlZSwgMHhmZSwgMHg3NywgMHgxMSwKLQkweDIwLCAweDAwLCAweDc2LCAweDAwLCAweGFhLCAweGFhLCAweDc2LCAweDAxLAotCTB4MDIsIDB4MDAsIDB4ZjIsIDB4NzQsIDB4MDYsIDB4NmMsIDB4ZjQsIDB4OTUsCi0JMHg0OCwgMHgxMSwgMHg3NiwgMHgwMCwgMHg1NSwgMHg1NSwgMHg3NiwgMHgwMSwKLQkweDAyLCAweDAwLCAweDQ4LCAweDExLCAweGYyLCAweDc0LCAweDA2LCAweDZjLAotCTB4ZjAsIDB4MDAsIDB4MDIsIDB4MDAsIDB4NzYsIDB4ZjgsIDB4MmEsIDB4YTMsCi0JMHgwMCwgMHgwMCwgMHg3NiwgMHhmOCwgMHgyYSwgMHhhNCwgMHgwMCwgMHgwMCwKLQkweGU4LCAweDAwLCAweDRlLCAweDAwLCAweGZiLCAweDgwLCAweDE1LCAweDNlLAotCTB4ZjQsIDB4OTUsIDB4ZTgsIDB4MDQsIDB4ODAsIDB4ZjgsIDB4MmEsIDB4YTUsCi0JMHg3NiwgMHgwMCwgMHgyYSwgMHhhOCwgMHhmOSwgMHg4MCwgMHgxNCwgMHg4NywKLQkweDc2LCAweDAwLCAweDJhLCAweGFkLCAweGZiLCAweDgwLCAweDEzLCAweDYyLAotCTB4ZjQsIDB4OTUsIDB4ZTgsIDB4MDIsIDB4MTAsIDB4ZjgsIDB4MmEsIDB4YTUsCi0JMHhmOSwgMHg4MCwgMHgxNCwgMHg2MywgMHhmYiwgMHg4MCwgMHgxNiwgMHg2NiwKLQkweGY0LCAweDk1LCAweGU4LCAweDFjLCAweGZiLCAweDgwLCAweDE2LCAweDg3LAotCTB4ZjQsIDB4OTUsIDB4ZTgsIDB4MWMsIDB4ZTgsIDB4MDEsIDB4NGUsIDB4MDAsCi0JMHhmYiwgMHg4MCwgMHgxNywgMHhkNiwgMHhmNCwgMHg5NSwgMHhlOCwgMHgwMCwKLQkweDgwLCAweGY4LCAweDJhLCAweGE2LCAweDc2LCAweDAwLCAweDJhLCAweGI3LAotCTB4ZjksIDB4ODAsIDB4MTYsIDB4YWEsIDB4MTAsIDB4ZjgsIDB4MmEsIDB4YTYsCi0JMHhmOSwgMHg4MCwgMHgxNywgMHg1YywgMHgxMCwgMHhmOCwgMHgyYSwgMHhhNiwKLQkweGY5LCAweDgwLCAweDE3LCAweDZmLCAweGVlLCAweDAyLCAweDhhLCAweDExLAotCTB4ZmMsIDB4MDAsIDB4ZjQsIDB4OTUsIDB4NGEsIDB4MDgsIDB4NGEsIDB4MDksCi0JMHg0YSwgMHgwYSwgMHg0YSwgMHgwNywgMHg0YSwgMHgxZCwgMHg2OCwgMHhmOCwKLQkweDAwLCAweDA3LCAweDdkLCAweDNmLCAweDY5LCAweGY4LCAweDAwLCAweDA3LAotCTB4NDAsIDB4MDAsIDB4NjgsIDB4ZjgsIDB4MDAsIDB4MWQsIDB4ZmYsIDB4ZmMsCi0JMHgxMCwgMHhmOCwgMHgyYSwgMHhhNywgMHhmOCwgMHg0NCwgMHgwZSwgMHg0YiwKLQkweDc2LCAweGY4LCAweDJhLCAweGEzLCAweDAwLCAweDAxLCAweGYwLCAweDczLAotCTB4MGUsIDB4NGUsIDB4NzYsIDB4ZjgsIDB4MmEsIDB4YTQsIDB4MDAsIDB4MDEsCi0JMHg4YSwgMHgxZCwgMHg4YSwgMHgwNywgMHg4YSwgMHgwYSwgMHg4YSwgMHgwOSwKLQkweDhhLCAweDA4LCAweGY0LCAweGViLCAweDRhLCAweDExLCAweDRhLCAweDE2LAotCTB4NGEsIDB4MTcsIDB4ZWUsIDB4ZmUsIDB4ODgsIDB4MGUsIDB4NzEsIDB4MDgsCi0JMHgwMCwgMHgxNiwgMHg3MSwgMHgwNiwgMHgwMCwgMHgxNywgMHgxMSwgMHgwNywKLQkweGYwLCAweDY2LCAweDAwLCAweDBkLCAweGYwLCAweDAwLCAweDI1LCAweGEwLAotCTB4ODgsIDB4MTEsIDB4NzYsIDB4MDEsIDB4MDAsIDB4MDYsIDB4ODEsIDB4MDAsCi0JMHhmMiwgMHg3NCwgMHgwNiwgMHhjZSwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwMSwKLQkweDc2LCAweDAxLCAweDAwLCAweDA2LCAweDcwLCAweDAwLCAweDAwLCAweDE2LAotCTB4NDgsIDB4MTEsIDB4ZjIsIDB4NzQsIDB4MDYsIDB4Y2UsIDB4ZjAsIDB4MDAsCi0JMHgwMCwgMHgwNywgMHg3MCwgMHg4MSwgMHgwMCwgMHgxNywgMHhlZSwgMHgwMiwKLQkweDhhLCAweDE3LCAweDhhLCAweDE2LCAweDhhLCAweDExLCAweGZjLCAweDAwLAotCTB4NGEsIDB4MTEsIDB4ODgsIDB4MGUsIDB4NzEsIDB4MDIsIDB4MDAsIDB4MTIsCi0JMHgxMSwgMHgwMywgMHhmMCwgMHg2NiwgMHgwMCwgMHgwZCwgMHhmMCwgMHgwMCwKLQkweDI0LCAweDAwLCAweDg4LCAweDExLCAweGY0LCAweDk1LCAweDcwLCAweDgxLAotCTB4MDAsIDB4MTIsIDB4NmUsIDB4ZTIsIDB4ZmYsIDB4ZmUsIDB4MGUsIDB4OGQsCi0JMHhmNCwgMHg5NSwgMHhlOCwgMHgwMCwgMHhlOCwgMHgwMSwgMHg4MCwgMHhlMSwKLQkweDAwLCAweDAyLCAweDc2LCAweGUxLCAweDAwLCAweDAzLCAweDAwLCAweGZmLAotCTB4NzYsIDB4ZTEsIDB4MDAsIDB4MDQsIDB4MDAsIDB4MDAsIDB4NzYsIDB4ZTEsCi0JMHgwMCwgMHgwYiwgMHgwMCwgMHgwMCwgMHg3NiwgMHhlMSwgMHgwMCwgMHgwYywKLQkweDAwLCAweDAwLCAweDgxLCAweGUxLCAweDAwLCAweDAxLCAweDhhLCAweDExLAotCTB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsIDB4ZWUsIDB4ZmMsIDB4ODgsIDB4MGUsCi0JMHhmNCwgMHg5NSwgMHhmMSwgMHg2NiwgMHgwMCwgMHgwZCwgMHhmMywgMHgwMCwKLQkweDI0LCAweDAwLCAweDg5LCAweDExLCAweGY0LCAweDk1LCAweGY0LCAweDk1LAotCTB4NzYsIDB4ZTEsIDB4MDAsIDB4MGMsIDB4MDAsIDB4MDAsIDB4NzYsIDB4ZTEsCi0JMHgwMCwgMHgwYiwgMHgwMCwgMHgwMCwgMHg3NiwgMHhlMSwgMHgwMCwgMHgwMiwKLQkweDAwLCAweDAxLCAweDc2LCAweDAwLCAweDAwLCAweDAwLCAweDc2LCAweDAxLAotCTB4MDAsIDB4MDAsIDB4ODAsIDB4MDIsIDB4NzYsIDB4MDMsIDB4MDAsIDB4MDAsCi0JMHhmMiwgMHg3NCwgMHgwYywgMHhiOSwgMHhmNCwgMHg5NSwgMHhlOCwgMHgwMCwKLQkweGVlLCAweDA0LCAweDhhLCAweDExLCAweGZjLCAweDAwLCAweDRhLCAweDExLAotCTB4ODgsIDB4MTksIDB4ZjQsIDB4OTUsIDB4NzMsIDB4MTksIDB4MDAsIDB4MGUsCi0JMHhmMSwgMHg2NiwgMHgwMCwgMHgwZCwgMHhmMiwgMHgwMCwgMHgyNCwgMHgwMCwKLQkweDc3LCAweDE1LCAweDI1LCAweGEwLCAweDc3LCAweDE0LCAweDAwLCAweDAwLAotCTB4NzcsIDB4MWEsIDB4MDAsIDB4MWYsIDB4ZjAsIDB4NzIsIDB4MGYsIDB4MTQsCi0JMHhmNiwgMHhiOCwgMHg0OSwgMHgxOSwgMHgwOSwgMHg4NSwgMHhmOCwgMHg0YywKLQkweDBmLCAweDEzLCAweGYxLCAweDAwLCAweDAwLCAweDA1LCAweDg5LCAweDExLAotCTB4NDksIDB4MTUsIDB4ZjMsIDB4MDAsIDB4MDAsIDB4MDEsIDB4ODksIDB4MTMsCi0JMHg0OSwgMHgxNSwgMHhmMywgMHgwMCwgMHgwMCwgMHgwNywgMHg4OSwgMHgxMiwKLQkweDExLCAweDkzLCAweDFkLCAweDkxLCAweDE5LCAweDkyLCAweDg5LCAweDEwLAotCTB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4NmMsIDB4ODAsIDB4MGYsIDB4MTMsCi0JMHgxMSwgMHg5MywgMHgxZCwgMHg5MSwgMHgxOSwgMHg5MiwgMHg4OSwgMHgxMCwKLQkweGY0LCAweDk1LCAweGY0LCAweDk1LCAweDZjLCAweDgwLCAweDBmLCAweDEzLAotCTB4MTEsIDB4OTMsIDB4MWQsIDB4OTEsIDB4MTksIDB4OTIsIDB4ODksIDB4MTAsCi0JMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHg2YywgMHg4MCwgMHgwZiwgMHgxMywKLQkweDExLCAweDkzLCAweDFkLCAweDkxLCAweDE5LCAweDkyLCAweDg5LCAweDEwLAotCTB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4NmMsIDB4ODAsIDB4MGYsIDB4MTMsCi0JMHgxMSwgMHg5MywgMHgxZCwgMHg5MSwgMHgxOSwgMHg5MiwgMHg4OSwgMHgxMCwKLQkweGY0LCAweDk1LCAweGY0LCAweDk1LCAweDZjLCAweDgwLCAweDBmLCAweDEzLAotCTB4MTEsIDB4OTMsIDB4MWQsIDB4OTEsIDB4MTksIDB4OTIsIDB4ODksIDB4MTEsCi0JMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHg2YywgMHg4MSwgMHgwZiwgMHgxMywKLQkweDZkLCAweDk0LCAweDZkLCAweGVkLCAweDAwLCAweDBkLCAweDQ4LCAweDE0LAotCTB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsIDB4NGEsIDB4MTYsCi0JMHg0YSwgMHgxNywgMHhlZSwgMHhmOCwgMHg4OCwgMHgxNywgMHgxMCwgMHgwZCwKLQkweDgwLCAweDA0LCAweDEwLCAweDBjLCAweDgwLCAweDA1LCAweDcxLCAweDBlLAotCTB4MDAsIDB4MTYsIDB4NzMsIDB4MTcsIDB4MDAsIDB4MGUsIDB4ZjAsIDB4NjYsCi0JMHgwMCwgMHgwZCwgMHhmMCwgMHgwMCwgMHgyNCwgMHgwMCwgMHg4OCwgMHgxMSwKLQkweDEwLCAweGY4LCAweDI3LCAweDYzLCAweGY4LCAweDQ1LCAweDBmLCAweDMyLAotCTB4ZjIsIDB4NzQsIDB4MGUsIDB4OWYsIDB4ZjQsIDB4OTUsIDB4NDgsIDB4MTcsCi0JMHgxMCwgMHhmOCwgMHgyNywgMHg2MCwgMHhmOCwgMHg0NCwgMHgwZiwgMHgzZCwKLQkweDYwLCAweGUxLCAweDAwLCAweDAyLCAweDAwLCAweDAxLCAweGY4LCAweDIwLAotCTB4MGYsIDB4NmQsIDB4ZjAsIDB4NzMsIDB4MTEsIDB4MzMsIDB4MTAsIDB4MDQsCi0JMHg4MCwgMHgwMCwgMHgxMCwgMHgwNSwgMHhmMCwgMHg3NCwgMHgwNiwgMHg5ZiwKLQkweDExLCAweDA0LCAweGYzLCAweDAwLCAweDAwLCAweDAxLCAweDgxLCAweDA0LAotCTB4NmQsIDB4OGUsIDB4NzcsIDB4MTAsIDB4MDAsIDB4MDEsIDB4NzEsIDB4ZTEsCi0JMHgwMCwgMHgwMiwgMHgwMCwgMHgxMiwgMHhmNCwgMHhhYSwgMHhmOCwgMHgzMCwKLQkweDBmLCAweDYyLCAweDc3LCAweDEwLCAweDAwLCAweDAyLCAweGY0LCAweGFhLAotCTB4ZjgsIDB4MzAsIDB4MGYsIDB4NmQsIDB4NDUsIDB4ZTEsIDB4MDAsIDB4MGIsCi0JMHg4OCwgMHgxMCwgMHg0MywgMHhlMSwgMHgwMCwgMHgwYywgMHg4MywgMHhmOCwKLQkweDAwLCAweDEyLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweGY0LCAweGFhLAotCTB4ZjgsIDB4MzAsIDB4MGYsIDB4NmQsIDB4ZjAsIDB4NzMsIDB4MGYsIDB4OTYsCi0JMHhmNSwgMHgwMCwgMHg4MSwgMHgwNCwgMHg0OSwgMHgxNiwgMHhmNSwgMHgyMCwKLQkweDg5LCAweDE2LCAweDc2LCAweGUxLCAweDAwLCAweDBjLCAweDAwLCAweDAwLAotCTB4NzYsIDB4ZTEsIDB4MDAsIDB4MDQsIDB4MDAsIDB4MDAsIDB4NDgsIDB4MTYsCi0JMHhmOCwgMHg0NSwgMHgxMSwgMHgzMywgMHhmNywgMHhiOCwgMHg3MSwgMHhlMSwKLQkweDAwLCAweDAyLCAweDAwLCAweDEyLCAweDEwLCAweGY4LCAweDAwLCAweDEyLAotCTB4ZjAsIDB4MTAsIDB4MDAsIDB4MDMsIDB4ZjgsIDB4NDYsIDB4MGYsIDB4OGMsCi0JMHgxMCwgMHhmOCwgMHgwMCwgMHgxMiwgMHhmMCwgMHgxMCwgMHgwMCwgMHgwMywKLQkweGY4LCAweDQ1LCAweDEwLCAweDE2LCAweDc3LCAweDEwLCAweDAwLCAweDAxLAotCTB4ZjQsIDB4YWEsIDB4ZjgsIDB4MzAsIDB4MGYsIDB4OWMsIDB4NzcsIDB4MTAsCi0JMHgwMCwgMHgwMiwgMHhmNCwgMHhhYSwgMHhmOCwgMHgzMCwgMHgwZiwgMHhhOCwKLQkweGYwLCAweDczLCAweDBmLCAweDk2LCAweDc3LCAweDEwLCAweDAwLCAweDA0LAotCTB4ZjQsIDB4YWEsIDB4ZjgsIDB4MzAsIDB4MTAsIDB4YjcsIDB4NzcsIDB4MTAsCi0JMHgwMCwgMHgwNSwgMHhmNCwgMHhhYSwgMHhmOCwgMHgzMCwgMHgxMCwgMHhiYywKLQkweGYyLCAweDc0LCAweDBlLCAweDlmLCAweGY0LCAweDk1LCAweDQ4LCAweDE3LAotCTB4ZjAsIDB4NzMsIDB4MTEsIDB4MzEsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MGMsCi0JMHgwMCwgMHgwMCwgMHg3NiwgMHhlMSwgMHgwMCwgMHgwYiwgMHgwMCwgMHgwMCwKLQkweDc2LCAweGUxLCAweDAwLCAweDA0LCAweDAwLCAweDAwLCAweDc2LCAweGUxLAotCTB4MDAsIDB4MDIsIDB4MDAsIDB4MDIsIDB4MTEsIDB4ZTEsIDB4MDAsIDB4MGMsCi0JMHhlOCwgMHgwMywgMHhmNiwgMHgyMCwgMHg4OSwgMHgxMiwgMHhmNCwgMHg5NSwKLQkweDc3LCAweDEwLCAweDAwLCAweDAzLCAweGY1LCAweGFhLCAweGY4LCAweDMwLAotCTB4MGYsIDB4YjYsIDB4NmIsIDB4ZjgsIDB4MjcsIDB4NmYsIDB4MDAsIDB4MDEsCi0JMHg4OCwgMHgxMCwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmNSwgMHhhZSwKLQkweGY4LCAweDIwLCAweDBmLCAweGJkLCAweDQ4LCAweDE2LCAweDgwLCAweDA2LAotCTB4ODgsIDB4MTMsIDB4ZjQsIDB4OTUsIDB4NzcsIDB4MTAsIDB4MDAsIDB4MDMsCi0JMHhmNiwgMHhhYiwgMHhmOCwgMHgyMCwgMHgwZiwgMHhjOCwgMHg2YiwgMHhmOCwKLQkweDI3LCAweDZmLCAweDAwLCAweDAxLCAweDEyLCAweDA2LCAweGY4LCAweDQ1LAotCTB4MTAsIDB4MDAsIDB4MTAsIDB4ZTEsIDB4MDAsIDB4MDQsIDB4ODAsIDB4MDAsCi0JMHgxMCwgMHgwNSwgMHg4MCwgMHgwMSwgMHgxMCwgMHgwNCwgMHg4MCwgMHgwMiwKLQkweDEwLCAweDA2LCAweDgwLCAweDAzLCAweDQ4LCAweDExLCAweGYyLCAweDc0LAotCTB4MDcsIDB4MWUsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDUsIDB4MTAsIDB4MDYsCi0JMHgwMCwgMHhlMSwgMHgwMCwgMHgwNCwgMHg4MCwgMHhlMSwgMHgwMCwgMHgwNCwKLQkweDEwLCAweDA2LCAweDAwLCAweGUxLCAweDAwLCAweDBjLCAweDgwLCAweGUxLAotCTB4MDAsIDB4MGMsIDB4ODgsIDB4MTIsIDB4MTEsIDB4MDYsIDB4MTAsIDB4MDQsCi0JMHhmNiwgMHgwMCwgMHg4MCwgMHgwNCwgMHg0OCwgMHgxNiwgMHhmNiwgMHgyMCwKLQkweDg4LCAweDE2LCAweDg5LCAweDEzLCAweGY0LCAweDk1LCAweDc3LCAweDEwLAotCTB4MDAsIDB4MDMsIDB4ZjYsIDB4YWIsIDB4ZjgsIDB4MjAsIDB4MGYsIDB4ZjUsCi0JMHg2YiwgMHhmOCwgMHgyNywgMHg2ZiwgMHgwMCwgMHgwMSwgMHg3NywgMHgxMCwKLQkweDAwLCAweDBjLCAweDcxLCAweGUxLCAweDAwLCAweDA0LCAweDAwLCAweDEzLAotCTB4ZjYsIDB4YWIsIDB4ZjgsIDB4MjAsIDB4MTAsIDB4MDAsIDB4NmIsIDB4ZjgsCi0JMHgyNywgMHg2ZiwgMHgwMCwgMHgwMSwgMHg2YywgMHhlMiwgMHhmZiwgMHhmZCwKLQkweDExLCAweDMxLCAweGY2LCAweGI4LCAweDZmLCAweGUxLCAweDAwLCAweDA1LAotCTB4MGMsIDB4NDgsIDB4NmYsIDB4ZTEsIDB4MDAsIDB4MDYsIDB4MGMsIDB4MTgsCi0JMHhmMCwgMHgzMCwgMHgwZiwgMHhmZiwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwMywKLQkweDgwLCAweGUxLCAweDAwLCAweDBiLCAweDc2LCAweGUxLCAweDAwLCAweDAyLAotCTB4MDAsIDB4MDMsIDB4NDgsIDB4MTYsIDB4ZjgsIDB4NDUsIDB4MTEsIDB4MzMsCi0JMHg3MSwgMHhlMSwgMHgwMCwgMHgwYywgMHgwMCwgMHgxMiwgMHgxMCwgMHhlMSwKLQkweDAwLCAweDBiLCAweDQ5LCAweDEyLCAweGY2LCAweDIwLCAweDg4LCAweDEzLAotCTB4ZTgsIDB4MGMsIDB4ZjYsIDB4MjAsIDB4ODgsIDB4MTAsIDB4ZjQsIDB4OTUsCi0JMHhmNCwgMHg5NSwgMHhmNSwgMHhhYiwgMHhmOCwgMHgyMCwgMHgxMCwgMHgyNywKLQkweDQ4LCAweDEzLCAweDgwLCAweDA2LCAweDg4LCAweDEwLCAweGY0LCAweDk1LAotCTB4ZjQsIDB4OTUsIDB4ZjUsIDB4YWUsIDB4ZjgsIDB4MjAsIDB4MTAsIDB4MzAsCi0JMHg3MCwgMHgwNiwgMHgwMCwgMHgxNiwgMHgxMiwgMHgwNiwgMHhmOCwgMHg0NSwKLQkweDEwLCAweDVmLCAweDEwLCAweGUxLCAweDAwLCAweDA0LCAweDgwLCAweDAwLAotCTB4MTAsIDB4MDUsIDB4ODAsIDB4MDEsIDB4MTAsIDB4MDQsIDB4ODAsIDB4MDIsCi0JMHgxMCwgMHgwNiwgMHg4MCwgMHgwMywgMHg0OCwgMHgxMSwgMHhmMiwgMHg3NCwKLQkweDA3LCAweDFlLCAweGYwLCAweDAwLCAweDAwLCAweDA1LCAweDEwLCAweDA2LAotCTB4MDAsIDB4ZTEsIDB4MDAsIDB4MDQsIDB4ODAsIDB4ZTEsIDB4MDAsIDB4MDQsCi0JMHgxMCwgMHgwNiwgMHgwMCwgMHhlMSwgMHgwMCwgMHgwYywgMHg4MCwgMHhlMSwKLQkweDAwLCAweDBjLCAweDg4LCAweDEyLCAweDExLCAweDA2LCAweDEwLCAweDA0LAotCTB4ZjYsIDB4MDAsIDB4ODAsIDB4MDQsIDB4NDgsIDB4MTYsIDB4ZjYsIDB4MjAsCi0JMHg4OCwgMHgxNiwgMHhmNCwgMHg5NSwgMHg3NywgMHgxMCwgMHgwMCwgMHgwYywKLQkweDcxLCAweGUxLCAweDAwLCAweDA0LCAweDAwLCAweDEzLCAweGY2LCAweGFiLAotCTB4ZjgsIDB4MjAsIDB4MTAsIDB4NWYsIDB4NmIsIDB4ZjgsIDB4MjcsIDB4NmYsCi0JMHgwMCwgMHgwMSwgMHg3NywgMHgxMCwgMHgwMCwgMHgwYywgMHhmNiwgMHhhYSwKLQkweGY4LCAweDIwLCAweDEwLCAweDZiLCAweGYyLCAweDc0LCAweDBlLCAweDlmLAotCTB4ZjQsIDB4OTUsIDB4NDgsIDB4MTcsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MGMsCi0JMHgwMCwgMHgxMiwgMHg3NywgMHgxMCwgMHgwMCwgMHgwYywgMHhmNCwgMHhhYSwKLQkweGY4LCAweDMwLCAweDEwLCAweDdjLCAweDc3LCAweDEwLCAweDAwLCAweDBjLAotCTB4NzEsIDB4ZTEsIDB4MDAsIDB4MGIsIDB4MDAsIDB4MTMsIDB4ZjYsIDB4YWIsCi0JMHhmOCwgMHgzMCwgMHgxMCwgMHhiNCwgMHhlNywgMHgzMCwgMHhmNywgMHhhYSwKLQkweGY4LCAweDMwLCAweDEwLCAweGI0LCAweGYyLCAweDc0LCAweDBlLCAweGMxLAotCTB4ZjQsIDB4OTUsIDB4NDgsIDB4MTcsIDB4ODgsIDB4MTIsIDB4ZjQsIDB4OTUsCi0JMHhmNCwgMHg5NSwgMHg2YywgMHg4MiwgMHgxMCwgMHg4ZCwgMHg3NiwgMHhlMSwKLQkweDAwLCAweDA0LCAweDAwLCAweDAwLCAweDc2LCAweGUxLCAweDAwLCAweDAyLAotCTB4MDAsIDB4MDUsIDB4ZjAsIDB4NzMsIDB4MTAsIDB4YjQsIDB4NzYsIDB4ZTEsCi0JMHgwMCwgMHgwMiwgMHgwMCwgMHgwNCwgMHg3NywgMHgxMCwgMHgwMCwgMHgwYywKLQkweDcxLCAweGUxLCAweDAwLCAweDBiLCAweDAwLCAweDEyLCAweGY1LCAweGFhLAotCTB4ZjgsIDB4MjAsIDB4MTAsIDB4OWEsIDB4ZjAsIDB4NzMsIDB4MTAsIDB4OWMsCi0JMHg3NywgMHgxMiwgMHgwMCwgMHgwYywgMHg3NiwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDcwLCAweDAxLCAweDAwLCAweDEyLCAweDcwLCAweDAyLCAweDAwLCAweDE3LAotCTB4NzYsIDB4MDMsIDB4MDAsIDB4MDEsIDB4NDgsIDB4MTEsIDB4ZjIsIDB4NzQsCi0JMHgwYywgMHhiOSwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwNSwgMHg3NiwgMHhlMSwKLQkweDAwLCAweDA0LCAweDAwLCAweDAwLCAweDc3LCAweDEwLCAweDAwLCAweDBjLAotCTB4NzEsIDB4ZTEsIDB4MDAsIDB4MGIsIDB4MDAsIDB4MTIsIDB4ZjYsIDB4YWEsCi0JMHhmOCwgMHgyMCwgMHgxMSwgMHgxYywgMHg0OCwgMHgxNiwgMHhmOCwgMHg0NSwKLQkweDExLCAweDMzLCAweDYwLCAweGUxLCAweDAwLCAweDAyLCAweDAwLCAweDA1LAotCTB4ZjgsIDB4MjAsIDB4MTAsIDB4ZGYsIDB4MTAsIDB4ZTEsIDB4MDAsIDB4MGIsCi0JMHgwOCwgMHhlMSwgMHgwMCwgMHgwYywgMHgxMSwgMHhlMSwgMHgwMCwgMHgwNCwKLQkweGY4LCAweDRkLCAweDEwLCAweGM3LCAweDZiLCAweGY4LCAweDI3LCAweDZmLAotCTB4MDAsIDB4MDEsIDB4ODgsIDB4MTAsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsCi0JMHhmNSwgMHhhZSwgMHhmOCwgMHgyMCwgMHgxMCwgMHhjZiwgMHg0OCwgMHgxNiwKLQkweGY0LCAweDk1LCAweDQ4LCAweDA4LCAweGY4LCAweDQ1LCAweDExLCAweDE2LAotCTB4NmYsIDB4ZTEsIDB4MDAsIDB4MGMsIDB4MGQsIDB4MDAsIDB4ODEsIDB4ZTEsCi0JMHgwMCwgMHgwYywgMHgxMSwgMHgwNCwgMHhmNSwgMHgwMCwgMHg4MSwgMHgwNCwKLQkweDQ5LCAweDE2LCAweGY1LCAweDIwLCAweDg5LCAweDE2LCAweGYwLCAweDczLAotCTB4MTEsIDB4MGUsIDB4MTAsIDB4ZTEsIDB4MDAsIDB4MGIsIDB4NzEsIDB4ZTEsCi0JMHgwMCwgMHgwYywgMHgwMCwgMHgxMiwgMHg4OCwgMHgxMCwgMHhmNCwgMHg5NSwKLQkweGY0LCAweDk1LCAweGY2LCAweGFhLCAweGY4LCAweDMwLCAweDExLCAweDE2LAotCTB4NDksIDB4MTIsIDB4ZjYsIDB4MjAsIDB4ODgsIDB4MTAsIDB4ZjQsIDB4OTUsCi0JMHhmNCwgMHg5NSwgMHhmNSwgMHhhZSwgMHhmOCwgMHgyMCwgMHgxMCwgMHhmMywKLQkweDQ4LCAweDE2LCAweDgwLCAweDA2LCAweDQ4LCAweDA4LCAweGY4LCAweDQ1LAotCTB4MTEsIDB4MTYsIDB4MTAsIDB4MDQsIDB4NzAsIDB4MDIsIDB4MDAsIDB4MTcsCi0JMHg4MCwgMHgwMCwgMHg3NiwgMHgwMywgMHgwMCwgMHgwMCwgMHgxMCwgMHgwNiwKLQkweDgwLCAweDAxLCAweDEwLCAweDA1LCAweGYwLCAweDc0LCAweDBjLCAweGI5LAotCTB4MTAsIDB4MDYsIDB4MDAsIDB4ZTEsIDB4MDAsIDB4MGMsIDB4ODAsIDB4ZTEsCi0JMHgwMCwgMHgwYywgMHgxMSwgMHgwNiwgMHgxMCwgMHgwNCwgMHhmNiwgMHgwMCwKLQkweDgwLCAweDA0LCAweDQ4LCAweDE2LCAweGY2LCAweDIwLCAweDg4LCAweDE2LAotCTB4MTAsIDB4ZTEsIDB4MDAsIDB4MGMsIDB4MDgsIDB4ZTEsIDB4MDAsIDB4MGIsCi0JMHhmOCwgMHg0NSwgMHgxMSwgMHgxYywgMHhmMCwgMHg3MywgMHgxMSwgMHgzMSwKLQkweGYyLCAweDc0LCAweDBlLCAweDlmLCAweGY0LCAweDk1LCAweDQ4LCAweDE3LAotCTB4ZjAsIDB4NzMsIDB4MTEsIDB4MzMsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MGMsCi0JMHgwMCwgMHgwMCwgMHg3NiwgMHhlMSwgMHgwMCwgMHgwYiwgMHgwMCwgMHgwMCwKLQkweDc2LCAweGUxLCAweDAwLCAweDAyLCAweDAwLCAweDAxLCAweDEwLCAweDA0LAotCTB4ODAsIDB4MDAsIDB4MTAsIDB4MDUsIDB4ZjAsIDB4NzQsIDB4MDYsIDB4OWYsCi0JMHg4OCwgMHgxMiwgMHhmNCwgMHg5NSwgMHg3NywgMHgxMCwgMHgwMCwgMHhmZiwKLQkweGY0LCAweGFhLCAweGY4LCAweDMwLCAweDExLCAweDMzLCAweDZjLCAweDg2LAotCTB4MGYsIDB4NzAsIDB4ZWUsIDB4MDgsIDB4OGEsIDB4MTcsIDB4OGEsIDB4MTYsCi0JMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwgMHhlZSwgMHhmYywKLQkweGY0LCAweDk1LCAweDcxLCAweDA2LCAweDAwLCAweDEyLCAweDg4LCAweDExLAotCTB4NzMsIDB4MTIsIDB4MDAsIDB4MGUsIDB4ZjEsIDB4NjYsIDB4MDAsIDB4MGQsCi0JMHhmMywgMHgwMCwgMHgyNCwgMHgwMCwgMHg4OSwgMHgxNCwgMHgxMywgMHg4MSwKLQkweGY3LCAweDdhLCAweGYzLCAweDMwLCAweDAwLCAweDAxLCAweDgxLCAweGY4LAotCTB4MjcsIDB4NjAsIDB4MTMsIDB4ZTEsIDB4MDAsIDB4MDEsIDB4ZjcsIDB4N2MsCi0JMHhmMywgMHgzMCwgMHgwMCwgMHgwMywgMHg4MSwgMHhmOCwgMHgyNywgMHg2MSwKLQkweGU5LCAweDBmLCAweDE5LCAweGUxLCAweDAwLCAweDAxLCAweDgxLCAweGY4LAotCTB4MjcsIDB4NjIsIDB4NzEsIDB4ZTQsIDB4MDAsIDB4MDMsIDB4MDAsIDB4MTMsCi0JMHhmNiwgMHhiOCwgMHg0OSwgMHgxMywgMHhmMywgMHgwMCwgMHgwMCwgMHgwMSwKLQkweGYzLCAweDMwLCAweDAwLCAweDBmLCAweDQ5LCAweDBiLCAweDA5LCAweGY4LAotCTB4MjcsIDB4NjIsIDB4ZjgsIDB4NGQsIDB4MTEsIDB4NzUsIDB4NzcsIDB4MTAsCi0JMHgwMCwgMHhmZiwgMHhmNCwgMHhhYiwgMHhmOCwgMHgzMCwgMHgxMSwgMHg3NSwKLQkweDU3LCAweGY4LCAweDI3LCAweDZjLCAweGYzLCAweDAwLCAweDAwLCAweDAxLAotCTB4NGYsIDB4ZjgsIDB4MjcsIDB4NmMsIDB4NzYsIDB4ZjgsIDB4MjcsIDB4NjMsCi0JMHgwMCwgMHgwMSwgMHhmMCwgMHg3MywgMHgxMSwgMHg3OCwgMHg3NiwgMHhmOCwKLQkweDI3LCAweDYzLCAweDAwLCAweDAwLCAweDcwLCAweGU0LCAweDAwLCAweDAzLAotCTB4MjcsIDB4NjIsIDB4NzYsIDB4ZjgsIDB4MjcsIDB4NjQsIDB4MDAsIDB4MDAsCi0JMHgxMSwgMHhmOCwgMHgyNywgMHg2MSwgMHg2MSwgMHhmOCwgMHgwMCwgMHgwYiwKLQkweDAwLCAweDAyLCAweGY4LCAweDIwLCAweDExLCAweDhkLCAweGU5LCAweDAxLAotCTB4NmYsIDB4ZTEsIDB4MDAsIDB4MDIsIDB4MGYsIDB4MTgsIDB4ODEsIDB4ZjgsCi0JMHgyNywgMHg2NCwgMHgxMSwgMHhmOCwgMHgyNywgMHg2MSwgMHg2MSwgMHhmOCwKLQkweDAwLCAweDBiLCAweDAwLCAweDAxLCAweGY4LCAweDIwLCAweDExLCAweGE5LAotCTB4MTAsIDB4ZjgsIDB4MjcsIDB4NjQsIDB4ZjEsIDB4MDAsIDB4MDAsIDB4MDQsCi0JMHg4OSwgMHgxMywgMHhlOSwgMHhiOCwgMHhmNSwgMHgyMCwgMHg4MSwgMHhmOCwKLQkweDI3LCAweDY1LCAweDYwLCAweDg0LCAweDAwLCAweDAyLCAweGY4LCAweDIwLAotCTB4MTEsIDB4YTksIDB4NzAsIDB4MDAsIDB4MDAsIDB4MTEsIDB4NzAsIDB4MDEsCi0JMHgwMCwgMHgxMywgMHg3MCwgMHgwMiwgMHgyNywgMHg2NSwgMHhmMiwgMHg3NCwKLQkweDBmLCAweDE4LCAweGY0LCAweDk1LCAweDQ4LCAweDEyLCAweGVlLCAweDA0LAotCTB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsIDB4NGEsIDB4MTYsCi0JMHg0YSwgMHgxNywgMHhlZSwgMHhmYywgMHhlOCwgMHgwMCwgMHg0ZSwgMHhmOCwKLQkweDI3LCAweDY2LCAweGU4LCAweDAwLCAweDRlLCAweGY4LCAweDI3LCAweDY4LAotCTB4ZTgsIDB4MDAsIDB4NGUsIDB4ZjgsIDB4MjcsIDB4NmMsIDB4ZTgsIDB4MDAsCi0JMHg0ZSwgMHhmOCwgMHgyNywgMHg2YSwgMHg3NywgMHgxMiwgMHgyNywgMHg0MCwKLQkweDc3LCAweDExLCAweDI0LCAweDAwLCAweDc3LCAweDFhLCAweDAwLCAweDFmLAotCTB4ZjAsIDB4NzIsIDB4MTEsIDB4ZGIsIDB4NzAsIDB4OTIsIDB4MDAsIDB4MTEsCi0JMHg3NiwgMHhlMSwgMHgwMCwgMHgwMSwgMHhmZiwgMHhmZiwgMHg3NiwgMHg4MSwKLQkweDAwLCAweDAwLCAweDc2LCAweGUxLCAweDAwLCAweDAyLCAweDAwLCAweDAwLAotCTB4NzYsIDB4ZTEsIDB4MDAsIDB4MDMsIDB4MDAsIDB4ZmYsIDB4NzYsIDB4ZTEsCi0JMHgwMCwgMHgwYywgMHgwMCwgMHgwMCwgMHg3NiwgMHhlMSwgMHgwMCwgMHgwYiwKLQkweDAwLCAweDAwLCAweDc2LCAweGUxLCAweDAwLCAweDA0LCAweDAwLCAweDAwLAotCTB4NmQsIDB4ZTksIDB4MDAsIDB4MGQsIDB4ZjAsIDB4MjAsIDB4MjUsIDB4YTAsCi0JMHhmMSwgMHgwMCwgMHgwMCwgMHgwNywgMHg4OSwgMHgxMSwgMHhmMSwgMHgwMCwKLQkweDAwLCAweDAxLCAweDgxLCAweDAyLCAweDg4LCAweDE2LCAweGY0LCAweDk1LAotCTB4NzcsIDB4MTcsIDB4MDAsIDB4MjAsIDB4NzYsIDB4ODYsIDB4MDAsIDB4ZmYsCi0JMHg3NiwgMHgwMCwgMHgwMCwgMHgwMCwgMHg3NiwgMHgwMSwgMHgwMCwgMHgwNiwKLQkweDEwLCAweDAyLCAweGYwLCAweDc0LCAweDA2LCAweDZjLCAweDc2LCAweDAwLAotCTB4MDAsIDB4MDAsIDB4NzYsIDB4MDEsIDB4MDAsIDB4MDYsIDB4ZjIsIDB4NzQsCi0JMHgwNiwgMHg2YywgMHhmNCwgMHg5NSwgMHg0OCwgMHgxMSwgMHgxMCwgMHgwMiwKLQkweGYwLCAweDAwLCAweDAwLCAweDBkLCAweDgwLCAweDAyLCAweDZkLCAweGU5LAotCTB4MDAsIDB4MGQsIDB4NmQsIDB4ZWUsIDB4MDAsIDB4MGQsIDB4NmMsIDB4ZWYsCi0JMHhmZiwgMHhmZiwgMHgxMSwgMHhlOCwgMHhmMCwgMHg3NCwgMHgwYywgMHg5ZCwKLQkweGVlLCAweDA0LCAweDhhLCAweDE3LCAweDhhLCAweDE2LCAweDhhLCAweDExLAotCTB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsIDB4NGEsIDB4MTYsIDB4NGEsIDB4MTcsCi0JMHhlZSwgMHhmYSwgMHg4OCwgMHgxMSwgMHgxMCwgMHgwYSwgMHg0OSwgMHgxMSwKLQkweGY4LCAweDRkLCAweDEyLCAweDlmLCAweDQ4LCAweDA4LCAweGY4LCAweDQ1LAotCTB4MTIsIDB4OWYsIDB4ODAsIDB4MDQsIDB4MTIsIDB4ODEsIDB4ZjUsIDB4NzgsCi0JMHg4OSwgMHgxMiwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHg2YywgMHhlMiwKLQkweGZmLCAweGI5LCAweDEyLCAweDhhLCAweDYxLCAweGY4LCAweDAwLCAweDA4LAotCTB4MDAsIDB4ODAsIDB4ZjgsIDB4MzAsIDB4MTIsIDB4OGEsIDB4MTMsIDB4ZTEsCi0JMHgwMCwgMHgwMSwgMHhmMCwgMHhlOCwgMHhmNywgMHg3OCwgMHhmMSwgMHhhMCwKLQkweGYyLCAweDMwLCAweDFmLCAweGZmLCAweDg4LCAweDE3LCAweGY0LCAweDk1LAotCTB4NzcsIDB4MTIsIDB4MjQsIDB4MDAsIDB4NzcsIDB4MTYsIDB4MDAsIDB4MDAsCi0JMHg3NywgMHgxMywgMHgwMCwgMHgyMCwgMHhmNiwgMHhiOCwgMHg0OCwgMHgxNywKLQkweDA4LCAweGUyLCAweDAwLCAweDAxLCAweGY4LCAweDQ1LCAweDEyLCAweDQyLAotCTB4NmQsIDB4ZWEsIDB4MDAsIDB4MGQsIDB4NmQsIDB4OTYsIDB4NmMsIDB4ZWIsCi0JMHhmZiwgMHhmZiwgMHgxMiwgMHgzNCwgMHhmMCwgMHg3MywgMHgxMiwgMHg5MCwKLQkweDU2LCAweGY4LCAweDI3LCAweDZhLCAweGYwLCAweDAwLCAweDAwLCAweDAxLAotCTB4NGUsIDB4ZjgsIDB4MjcsIDB4NmEsIDB4NjAsIDB4ODIsIDB4MDAsIDB4MDEsCi0JMHhmOCwgMHgzMCwgMHgxMiwgMHg1NCwgMHg3MCwgMHgwMCwgMHgwMCwgMHgxNiwKLQkweGYyLCAweDc0LCAweDExLCAweDM4LCAweGY0LCAweDk1LCAweDQ4LCAweDExLAotCTB4ZjAsIDB4NzMsIDB4MTIsIDB4OTAsIDB4NzAsIDB4MDAsIDB4MDAsIDB4MTYsCi0JMHhmMiwgMHg3NCwgMHgxMSwgMHgzOCwgMHhmNCwgMHg5NSwgMHg0OCwgMHgxMSwKLQkweDcyLCAweDEwLCAweDJhLCAweDllLCAweGY0LCAweDk1LCAweGY0LCAweGFmLAotCTB4ZjgsIDB4MzAsIDB4MTIsIDB4NmUsIDB4NzYsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHg3NiwgMHgwMSwgMHgwMCwgMHhiYywgMHg3MCwgMHgwMiwgMHgwMCwgMHgxNiwKLQkweDc2LCAweDAzLCAweDAwLCAweDAwLCAweGYyLCAweDc0LCAweDBjLCAweGI5LAotCTB4ZjQsIDB4OTUsIDB4NDgsIDB4MTEsIDB4ZjAsIDB4NzMsIDB4MTIsIDB4OTAsCi0JMHgxMCwgMHhmOCwgMHgyNywgMHg2ZSwgMHhmOCwgMHg0NCwgMHgxMiwgMHg5MCwKLQkweDc2LCAweDAwLCAweDAwLCAweDAwLCAweDc2LCAweDAxLCAweDAwLCAweGJjLAotCTB4NzAsIDB4MDIsIDB4MDAsIDB4MTYsIDB4NzYsIDB4MDMsIDB4MDAsIDB4MDAsCi0JMHhmMiwgMHg3NCwgMHgwYywgMHhiOSwgMHhmNCwgMHg5NSwgMHg0OCwgMHgxMSwKLQkweGYwLCAweDc0LCAweDBjLCAweDVlLCAweGYwLCAweGUwLCAweGYwLCAweDEwLAotCTB4MTMsIDB4ODgsIDB4ZjgsIDB4NDIsIDB4MTIsIDB4OTAsIDB4NzYsIDB4ZjgsCi0JMHgyNywgMHg2ZSwgMHgwMCwgMHgwMSwgMHhmMCwgMHg3MywgMHgxMiwgMHg5MCwKLQkweDU2LCAweGY4LCAweDI3LCAweDY2LCAweGYwLCAweDAwLCAweDAwLCAweDAxLAotCTB4NGUsIDB4ZjgsIDB4MjcsIDB4NjYsIDB4NmQsIDB4ZTksIDB4MDAsIDB4NWUsCi0JMHg1NiwgMHhmOCwgMHgyNywgMHg2OCwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwMSwKLQkweDRlLCAweGY4LCAweDI3LCAweDY4LCAweDcxLCAweDA0LCAweDAwLCAweDEyLAotCTB4NmUsIDB4ZWEsIDB4ZmYsIDB4ZmYsIDB4MTIsIDB4MTgsIDB4NzAsIDB4MDQsCi0JMHgwMCwgMHgxMiwgMHhlZSwgMHgwNiwgMHg4YSwgMHgxNywgMHg4YSwgMHgxNiwKLQkweDhhLCAweDExLCAweGZjLCAweDAwLCAweDRhLCAweDExLCAweGVlLCAweGZlLAotCTB4ODgsIDB4MGUsIDB4ZjQsIDB4OTUsIDB4ZjAsIDB4NjYsIDB4MDAsIDB4MGQsCi0JMHhmMCwgMHgwMCwgMHgyNSwgMHhhMCwgMHg4OCwgMHgxMSwgMHhmNCwgMHg5NSwKLQkweGY0LCAweDk1LCAweDc2LCAweDgxLCAweDAwLCAweGZmLCAweDc2LCAweDAwLAotCTB4MDAsIDB4MDAsIDB4NzYsIDB4MDEsIDB4MDAsIDB4MDYsIDB4ZjIsIDB4NzQsCi0JMHgwNiwgMHg2YywgMHhmMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHg3NiwgMHgwMCwKLQkweDAwLCAweDAwLCAweDc2LCAweDAxLCAweDAwLCAweDA2LCAweDQ4LCAweDExLAotCTB4ZjIsIDB4NzQsIDB4MDYsIDB4NmMsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDcsCi0JMHhlZSwgMHgwMiwgMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwKLQkweDg4LCAweDBlLCAweGY0LCAweDk1LCAweGYwLCAweDY2LCAweDAwLCAweDBkLAotCTB4ZjAsIDB4MDAsIDB4MjQsIDB4MDAsIDB4ODgsIDB4MTEsIDB4ZjQsIDB4OTUsCi0JMHhmNCwgMHg5NSwgMHg3NiwgMHhlMSwgMHgwMCwgMHgwMSwgMHhmZiwgMHhmZiwKLQkweDc2LCAweDgxLCAweDAwLCAweDAwLCAweDc2LCAweGUxLCAweDAwLCAweDAyLAotCTB4MDAsIDB4MDAsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MDMsIDB4MDAsIDB4ZmYsCi0JMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwgMHhmNCwgMHg5NSwKLQkweDEzLCAweDAzLCAweDg4LCAweDExLCAweGZhLCAweDRkLCAweDEyLCAweGVjLAotCTB4NzEsIDB4MDIsIDB4MDAsIDB4MTIsIDB4ZjMsIDB4MTAsIDB4MDAsIDB4MDEsCi0JMHg4OSwgMHgxYSwgMHhmNCwgMHg5NSwgMHhmMCwgMHg3MiwgMHgxMiwgMHhlYiwKLQkweDcwLCAweDkxLCAweDAwLCAweDEyLCAweDhhLCAweDExLCAweGZjLCAweDAwLAotCTB4ZjQsIDB4OTUsIDB4NGEsIDB4MGIsIDB4NGEsIDB4MGMsIDB4NGEsIDB4MGQsCi0JMHhmNywgMHhiOCwgMHhlZSwgMHhmZSwgMHgxMCwgMHhmOCwgMHgwMCwgMHgwOCwKLQkweDExLCAweDA2LCAweGYxLCAweGMwLCAweDgzLCAweDAwLCAweGY0LCAweDg1LAotCTB4MTEsIDB4MDYsIDB4ZjcsIDB4ODUsIDB4ODEsIDB4MDYsIDB4ZjYsIDB4YjgsCi0JMHhlYywgMHgwZiwgMHgxZSwgMHgwNiwgMHg2MSwgMHgwMCwgMHg4MCwgMHgwMCwKLQkweGY4LCAweDIwLCAweDEzLCAweDA1LCAweGY0LCAweDg0LCAweGVlLCAweDAyLAotCTB4OGEsIDB4MGQsIDB4OGEsIDB4MGMsIDB4OGEsIDB4MGIsIDB4ZmMsIDB4MDAsCi0JMHhmNCwgMHg5NSwgMHg0YSwgMHgwYiwgMHg0YSwgMHgwYywgMHg0YSwgMHgwZCwKLQkweGVlLCAweGZlLCAweGY3LCAweGI4LCAweDgwLCAweDAwLCAweDEwLCAweGY4LAotCTB4MDAsIDB4MDgsIDB4ZjQsIDB4ODUsIDB4MTEsIDB4MDYsIDB4ZjcsIDB4ODUsCi0JMHg4MSwgMHgwNiwgMHhmNiwgMHhiOCwgMHhlYywgMHgwZiwgMHgxZSwgMHgwNiwKLQkweGYwLCAweGYwLCAweDYxLCAweDAwLCAweDgwLCAweDAwLCAweGY4LCAweDIwLAotCTB4MTMsIDB4MjAsIDB4ZjQsIDB4ODQsIDB4ZWUsIDB4MDIsIDB4OGEsIDB4MGQsCi0JMHg4YSwgMHgwYywgMHg4YSwgMHgwYiwgMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwKLQkweDc3LCAweDExLCAweDAwLCAweDdiLCAweDc2LCAweDgxLCAweDJlLCAweGVjLAotCTB4NzcsIDB4MTEsIDB4MDAsIDB4N2IsIDB4ZWUsIDB4ZmYsIDB4NzEsIDB4ODEsCi0JMHgwMCwgMHgxMSwgMHhlZSwgMHgwMSwgMHg3NiwgMHhlMSwgMHgwMCwgMHgwMSwKLQkweDAwLCAweDAwLCAweDc2LCAweGUxLCAweDAwLCAweDA0LCAweDAwLCAweDAwLAotCTB4NzYsIDB4ZTEsIDB4MDAsIDB4MDYsIDB4MDAsIDB4MDAsIDB4NzYsIDB4ZTEsCi0JMHgwMCwgMHg2MiwgMHgwMCwgMHgwMCwgMHg3NiwgMHhlMSwgMHgwMCwgMHg3NiwKLQkweDAwLCAweDAwLCAweDc2LCAweGUxLCAweDAwLCAweDkyLCAweDAwLCAweDAwLAotCTB4NzYsIDB4ZTEsIDB4MDAsIDB4OTQsIDB4MDAsIDB4MDAsIDB4NzYsIDB4ZTEsCi0JMHgwMCwgMHhiMCwgMHgwMCwgMHgwMCwgMHg3NiwgMHhlMSwgMHgwMCwgMHhiMywKLQkweDAwLCAweDAwLCAweDc2LCAweGUxLCAweDAwLCAweGJlLCAweDAwLCAweDAwLAotCTB4NzYsIDB4ZTEsIDB4MDAsIDB4YmYsIDB4MDAsIDB4MDAsIDB4NzYsIDB4ZTEsCi0JMHgwMCwgMHhjMSwgMHgwMCwgMHgwMCwgMHg3NiwgMHhlMSwgMHgwMCwgMHhjMywKLQkweDAwLCAweDAwLCAweDc2LCAweGUxLCAweDAwLCAweGM1LCAweDAwLCAweDAwLAotCTB4NzYsIDB4ZTEsIDB4MDAsIDB4YzcsIDB4MDAsIDB4MDAsIDB4NzYsIDB4ODEsCi0JMHgwMCwgMHgwMCwgMHg4YSwgMHgxMSwgMHhmNCwgMHg5NSwgMHhmNCwgMHhlNCwKLQkweDRhLCAweDExLCAweDRhLCAweDE2LCAweDRhLCAweDE3LCAweGVlLCAweGZmLAotCTB4ZjQsIDB4OTUsIDB4NzEsIDB4MDYsIDB4MDAsIDB4MTYsIDB4ZmIsIDB4ODAsCi0JMHgxNiwgMHhhMiwgMHg4OCwgMHgxNywgMHhmNCwgMHg5NSwgMHhmNywgMHhiOCwKLQkweDEwLCAweGY4LCAweDAwLCAweDE3LCAweGYwLCAweDEwLCAweDAwLCAweDAyLAotCTB4ZmEsIDB4NDYsIDB4MTMsIDB4ODgsIDB4NzcsIDB4MTEsIDB4MDAsIDB4MDAsCi0JMHgxMCwgMHhmOCwgMHgwMCwgMHgxNywgMHhmMCwgMHgxMCwgMHgwMCwgMHgwMiwKLQkweGY4LCAweDQ1LCAweDEzLCAweGY5LCAweDEwLCAweGY4LCAweDAwLCAweDE3LAotCTB4ZjgsIDB4NDUsIDB4MTQsIDB4MzksIDB4MTAsIDB4ZjgsIDB4MDAsIDB4MTcsCi0JMHhmMCwgMHgxMCwgMHgwMCwgMHgwMSwgMHhmOCwgMHg0NSwgMHgxNCwgMHgxZiwKLQkweGYwLCAweDczLCAweDE0LCAweDUyLCAweDEwLCAweGY4LCAweDAwLCAweDE3LAotCTB4ZjAsIDB4MTAsIDB4MDAsIDB4MDMsIDB4ZjgsIDB4NDUsIDB4MTMsIDB4ZDMsCi0JMHgxMCwgMHhmOCwgMHgwMCwgMHgxNywgMHhmMCwgMHgxMCwgMHgwMCwgMHgwNiwKLQkweGY4LCAweDQ0LCAweDE0LCAweDUyLCAweDc3LCAweDEyLCAweDAwLCAweDdiLAotCTB4NzEsIDB4ODIsIDB4MDAsIDB4MTQsIDB4NjEsIDB4ZTQsIDB4MDAsIDB4MDcsCi0JMHgwMCwgMHg0MCwgMHhmOCwgMHgzMCwgMHgxNCwgMHg1MiwgMHg0OSwgMHgxNCwKLQkweDQ4LCAweDE3LCAweGY2LCAweDAwLCAweDg4LCAweDEyLCAweGY0LCAweDk1LAotCTB4NzcsIDB4MTMsIDB4MDAsIDB4NTUsIDB4NzcsIDB4MTEsIDB4MDAsIDB4NTcsCi0JMHg2ZCwgMHhlYSwgMHgwMCwgMHgzYiwgMHhlNSwgMHgwMSwgMHgxMCwgMHhlNiwKLQkweDAwLCAweDA2LCAweDgwLCAweDgxLCAweDQ4LCAweDE0LCAweDAwLCAweGY4LAotCTB4MDAsIDB4MTcsIDB4ODgsIDB4MTIsIDB4ZjQsIDB4OTUsIDB4NzcsIDB4MTEsCi0JMHgwMCwgMHg1NSwgMHgxMCwgMHhlMiwgMHgwMCwgMHg0MCwgMHg4MCwgMHg4MSwKLQkweDc3LCAweDExLCAweDAwLCAweDU3LCAweDEwLCAweGU2LCAweDAwLCAweDA3LAotCTB4ODAsIDB4ODEsIDB4NzcsIDB4MTEsIDB4MDAsIDB4NTUsIDB4MTAsIDB4ZTIsCi0JMHgwMCwgMHg0NSwgMHg4MCwgMHg4MSwgMHgxMCwgMHhlNiwgMHgwMCwgMHgwOCwKLQkweDc3LCAweDExLCAweDAwLCAweDU3LCAweDgwLCAweDgxLCAweDc3LCAweDExLAotCTB4MDAsIDB4NTUsIDB4MTAsIDB4ZTIsIDB4MDAsIDB4NGEsIDB4ODAsIDB4ODEsCi0JMHg3NywgMHgxMSwgMHgwMCwgMHg1NywgMHgxMCwgMHhlNiwgMHgwMCwgMHgwOSwKLQkweDgwLCAweDgxLCAweGYyLCAweDczLCAweDE0LCAweDUyLCAweDc3LCAweDExLAotCTB4MDMsIDB4YzAsIDB4NzcsIDB4MTIsIDB4MDAsIDB4N2IsIDB4MTAsIDB4ODIsCi0JMHhmMCwgMHgwMCwgMHgwMCwgMHgwNywgMHg4OCwgMHgxMywgMHhmNCwgMHg5NSwKLQkweGY0LCAweDk1LCAweDk2LCAweDFiLCAweGY4LCAweDMwLCAweDE0LCAweDUyLAotCTB4MTAsIDB4ZTMsIDB4MDAsIDB4MzUsIDB4NzcsIDB4MTIsIDB4MDAsIDB4NTUsCi0JMHg4MCwgMHg4MiwgMHg3NywgMHgxMiwgMHgwMCwgMHg1NywgMHgxMCwgMHhlNiwKLQkweDAwLCAweDA0LCAweDgwLCAweDgyLCAweDc3LCAweDEyLCAweDAwLCAweDU1LAotCTB4MTAsIDB4ZTMsIDB4MDAsIDB4MzcsIDB4ODAsIDB4ODIsIDB4NzcsIDB4MTIsCi0JMHgwMCwgMHg1NywgMHgxMCwgMHhlNiwgMHgwMCwgMHgwNSwgMHg4MCwgMHg4MiwKLQkweDQ4LCAweDExLCAweGYwLCAweDQwLCAweDAwLCAweDEwLCAweGYyLCAweDczLAotCTB4MTQsIDB4NTAsIDB4ZjAsIDB4NDAsIDB4MDAsIDB4MjAsIDB4NzcsIDB4MTIsCi0JMHgwMCwgMHg3YiwgMHgxMCwgMHg4MiwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwNywKLQkweDg4LCAweDEyLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweDk2LCAweDBkLAotCTB4ZjgsIDB4MzAsIDB4MTQsIDB4NTIsIDB4MTAsIDB4ZTIsIDB4MDAsIDB4MzQsCi0JMHg3NywgMHgxMywgMHgwMCwgMHg1NSwgMHg4MCwgMHg4MywgMHg3NywgMHgxMywKLQkweDAwLCAweDU3LCAweDEwLCAweGU2LCAweDAwLCAweDAyLCAweDgwLCAweDgzLAotCTB4MTAsIDB4ZTIsIDB4MDAsIDB4MzYsIDB4NzcsIDB4MTIsIDB4MDAsIDB4NTUsCi0JMHg4MCwgMHg4MiwgMHg3NywgMHgxMiwgMHgwMCwgMHg1NywgMHgxMCwgMHhlNiwKLQkweDAwLCAweDAzLCAweDgwLCAweDgyLCAweDQ4LCAweDExLCAweGYwLCAweDQwLAotCTB4MDAsIDB4MDQsIDB4ZjIsIDB4NzMsIDB4MTQsIDB4NTAsIDB4ZjAsIDB4NDAsCi0JMHgwMCwgMHgwOCwgMHg3NywgMHgxMiwgMHgwMCwgMHg3YiwgMHgxMCwgMHg4MiwKLQkweGYwLCAweDAwLCAweDAwLCAweDA3LCAweDg4LCAweDEyLCAweGY0LCAweDk1LAotCTB4ZjQsIDB4OTUsIDB4OTYsIDB4MGUsIDB4ZjgsIDB4MzAsIDB4MTQsIDB4NTIsCi0JMHgxMCwgMHhlMiwgMHgwMCwgMHgzMywgMHg3NywgMHgxMiwgMHgwMCwgMHg1NSwKLQkweDgwLCAweDgyLCAweDc3LCAweDEyLCAweDAwLCAweDU3LCAweDEwLCAweGU2LAotCTB4MDAsIDB4MDEsIDB4ODAsIDB4ODIsIDB4NDgsIDB4MTEsIDB4ZjIsIDB4NzMsCi0JMHgxNCwgMHg1MCwgMHhmMCwgMHg0MCwgMHgwMCwgMHgwMiwgMHg3NywgMHgxMiwKLQkweDAwLCAweDdiLCAweDEwLCAweDgyLCAweGYwLCAweDAwLCAweDAwLCAweDA3LAotCTB4ODgsIDB4MTIsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4OTYsIDB4MGYsCi0JMHhmOCwgMHgzMCwgMHgxNCwgMHg1MiwgMHgxMCwgMHhlMiwgMHgwMCwgMHgzMiwKLQkweDc3LCAweDEyLCAweDAwLCAweDU1LCAweDc3LCAweDEzLCAweDAwLCAweDU3LAotCTB4ODAsIDB4ODIsIDB4NDgsIDB4MTEsIDB4ZTcsIDB4NjIsIDB4ZjAsIDB4NDAsCi0JMHgwMCwgMHgwMSwgMHhlNSwgMHgwMSwgMHg4OCwgMHgxMSwgMHhmNCwgMHg5NSwKLQkweDc3LCAweDEyLCAweDAwLCAweDdiLCAweDQ4LCAweDExLCAweDcxLCAweDgyLAotCTB4MDAsIDB4MTIsIDB4MWEsIDB4ZTIsIDB4MDAsIDB4MDcsIDB4ODAsIDB4ZTIsCi0JMHgwMCwgMHgwNywgMHhmOSwgMHg4MCwgMHgxNiwgMHg5YSwgMHhlZSwgMHgwMSwKLQkweDhhLCAweDE3LCAweDQ4LCAweDExLCAweDhhLCAweDE2LCAweDhhLCAweDExLAotCTB4ZjQsIDB4ZTQsIDB4NGEsIDB4MTEsIDB4ODgsIDB4MTEsIDB4NzcsIDB4MGUsCi0JMHgwMCwgMHgwNSwgMHg3NywgMHgxMiwgMHgwMCwgMHg1NSwgMHhlOCwgMHgwNCwKLQkweGY2LCAweGI4LCAweDI4LCAweGUxLCAweDAwLCAweDAyLCAweGVlLCAweGZmLAotCTB4ODAsIDB4ODIsIDB4NzcsIDB4MTIsIDB4MDAsIDB4NTcsIDB4ZjAsIDB4MjAsCi0JMHg4MCwgMHgwMCwgMHhlZSwgMHgwMSwgMHgxYSwgMHg4MiwgMHg3NywgMHgxMiwKLQkweDAwLCAweDU3LCAweDgwLCAweDgyLCAweGU4LCAweDAxLCAweDMyLCAweGUxLAotCTB4MDAsIDB4MDIsIDB4ZjUsIDB4ODIsIDB4NzcsIDB4MTEsIDB4MDAsIDB4NTQsCi0JMHhmNiwgMHg5MywgMHgxOCwgMHg4MSwgMHg3NywgMHgxMSwgMHgwMCwgMHg1NCwKLQkweGYyLCAweGEwLCAweDgwLCAweDgxLCAweDhhLCAweDExLCAweGY0LCAweDk1LAotCTB4ZjQsIDB4ZTQsIDB4NGEsIDB4MTEsIDB4NGEsIDB4MTYsIDB4ZjQsIDB4OTUsCi0JMHg3MSwgMHgwNCwgMHgwMCwgMHgxMSwgMHhmYiwgMHg4MCwgMHgxNiwgMHhhMiwKLQkweDg4LCAweDE2LCAweGY0LCAweDk1LCAweDc3LCAweDEyLCAweDAwLCAweDU1LAotCTB4MTAsIDB4ZTYsIDB4MDAsIDB4MDMsIDB4ODAsIDB4ODIsIDB4NzcsIDB4MTIsCi0JMHgwMCwgMHg1NiwgMHgxMCwgMHhlMSwgMHgwMCwgMHgwMiwgMHg3NywgMHgxMywKLQkweDAwLCAweDU2LCAweDgwLCAweDgyLCAweDc3LCAweDEyLCAweDAwLCAweDU2LAotCTB4MTAsIDB4ZTEsIDB4MDAsIDB4MDMsIDB4ODAsIDB4ODIsIDB4MTAsIDB4ZTEsCi0JMHgwMCwgMHgwNCwgMHg3NywgMHgxMiwgMHgwMCwgMHg1NiwgMHg4MCwgMHg4MiwKLQkweDc3LCAweDEyLCAweDAwLCAweDU2LCAweDEwLCAweGUxLCAweDAwLCAweDAxLAotCTB4ODAsIDB4ODIsIDB4ZTcsIDB4MTIsIDB4ZTUsIDB4MDEsIDB4ZjksIDB4ODAsCi0JMHgxNiwgMHg5YSwgMHg4YSwgMHgxNiwgMHg4YSwgMHgxMSwgMHhmNCwgMHhlNCwKLQkweDRhLCAweDExLCAweDRhLCAweDE2LCAweDRhLCAweDE3LCAweGVlLCAweGY5LAotCTB4NzcsIDB4MTEsIDB4MDAsIDB4N2IsIDB4NzYsIDB4MDAsIDB4MDAsIDB4MTYsCi0JMHg3NiwgMHgwMSwgMHgwMCwgMHgxNywgMHg3NiwgMHgwMiwgMHgwMCwgMHgxYSwKLQkweDc2LCAweDAzLCAweDAwLCAweDFiLCAweDc2LCAweDA0LCAweDAwLCAweDFjLAotCTB4NzYsIDB4MDUsIDB4MDAsIDB4MWQsIDB4NzEsIDB4ODEsIDB4MDAsIDB4MTcsCi0JMHg3MSwgMHhlNywgMHgwMCwgMHgwNiwgMHgwMCwgMHgxMSwgMHgxMCwgMHg4MSwKLQkweGY4LCAweDQ0LCAweDE0LCAweGRmLCAweGY5LCAweDgwLCAweDE2LCAweDUzLAotCTB4ZjYsIDB4YjgsIDB4ZmIsIDB4ODAsIDB4MTUsIDB4ODUsIDB4ZjAsIDB4MjAsCi0JMHhmZiwgMHhmZiwgMHhmNiwgMHhiOCwgMHhmYiwgMHg4MCwgMHgxNiwgMHgwOCwKLQkweGYwLCAweDIwLCAweGZmLCAweGZmLCAweDc3LCAweDExLCAweDAwLCAweDdiLAotCTB4NzEsIDB4ODEsIDB4MDAsIDB4MTcsIDB4NzYsIDB4ZTcsIDB4MDAsIDB4MDYsCi0JMHgwMCwgMHgwMSwgMHg0OCwgMHgxNywgMHg3NywgMHgxNiwgMHgwMCwgMHgwMCwKLQkweDc3LCAweDEwLCAweDAwLCAweDA0LCAweDc3LCAweDE1LCAweDAwLCAweDAzLAotCTB4NzcsIDB4MTQsIDB4MDAsIDB4MDIsIDB4NzcsIDB4MTMsIDB4MDAsIDB4MDEsCi0JMHhmMCwgMHgwMCwgMHgwMCwgMHgzOSwgMHg3NiwgMHhlNywgMHgwMCwgMHgwOCwKLQkweDAwLCAweDFmLCAweDc2LCAweGU3LCAweDAwLCAweDA3LCAweDAwLCAweDAwLAotCTB4ODgsIDB4MGUsIDB4NzcsIDB4MWEsIDB4MDAsIDB4MDUsIDB4NDgsIDB4MTcsCi0JMHhmMCwgMHgwMCwgMHgwMCwgMHgwOSwgMHg4OCwgMHgxMiwgMHg0OCwgMHgxOCwKLQkweDg4LCAweDE5LCAweGU4LCAweDAwLCAweGYwLCAweDcyLCAweDE1LCAweDJjLAotCTB4NzMsIDB4MTksIDB4MDAsIDB4MTEsIDB4NzYsIDB4ODIsIDB4MDAsIDB4MDAsCi0JMHgxMSwgMHg5MSwgMHg3MywgMHgxMSwgMHgwMCwgMHgxOSwgMHg3MCwgMHhlMiwKLQkweDAwLCAweDAzLCAweDAwLCAweDE2LCAweDcwLCAweGUyLCAweDAwLCAweDA0LAotCTB4MDAsIDB4MTMsIDB4NzAsIDB4ZTIsIDB4MDAsIDB4MDUsIDB4MDAsIDB4MTQsCi0JMHg4MSwgMHhlMiwgMHgwMCwgMHgwMSwgMHg3MCwgMHhlMiwgMHgwMCwgMHgwNiwKLQkweDAwLCAweDE1LCAweDcwLCAweGUyLCAweDAwLCAweDA3LCAweDAwLCAweDEwLAotCTB4ODAsIDB4ZTIsIDB4MDAsIDB4MDIsIDB4NzMsIDB4MGUsIDB4MDAsIDB4MTEsCi0JMHhmMSwgMHgwMCwgMHgwMCwgMHgxZSwgMHg2ZCwgMHhlZSwgMHgwMCwgMHgwNSwKLQkweDZkLCAweGViLCAweDAwLCAweDA1LCAweDZkLCAweGVjLCAweDAwLCAweDA1LAotCTB4NmQsIDB4ZWQsIDB4MDAsIDB4MDUsIDB4NmQsIDB4ZTgsIDB4MDAsIDB4MDUsCi0JMHhmMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHg4MSwgMHg5MSwgMHg2ZCwgMHhlYSwKLQkweDAwLCAweDA4LCAweDczLCAweDExLCAweDAwLCAweDBlLCAweGVlLCAweDA3LAotCTB4NzYsIDB4ZTcsIDB4MDAsIDB4NDEsIDB4MDAsIDB4MjQsIDB4NzYsIDB4ZTcsCi0JMHgwMCwgMHg0NiwgMHgwMCwgMHgyNSwgMHg3NiwgMHhlNywgMHgwMCwgMHg0YiwKLQkweDAwLCAweDI2LCAweDc2LCAweGU3LCAweDAwLCAweDUwLCAweDAwLCAweDI3LAotCTB4OGEsIDB4MTcsIDB4OGEsIDB4MTYsIDB4OGEsIDB4MTEsIDB4ZjQsIDB4ZTQsCi0JMHg0YSwgMHgxMSwgMHg0YSwgMHgxNiwgMHhlZSwgMHhmZSwgMHg4OCwgMHgxMSwKLQkweDU2LCAweDA2LCAweDRlLCAweDAwLCAweGY5LCAweDgwLCAweDE2LCAweGEyLAotCTB4ZjcsIDB4YjgsIDB4MTAsIDB4ZjgsIDB4MDAsIDB4MTEsIDB4ZjAsIDB4MTAsCi0JMHhmZiwgMHhmZiwgMHhmYSwgMHg0NSwgMHgxNSwgMHg2MCwgMHg3NywgMHgxNiwKLQkweGZmLCAweGZmLCAweDc3LCAweDEyLCAweDAwLCAweDdiLCAweDQ5LCAweDExLAotCTB4MTAsIDB4ODIsIDB4ZjYsIDB4MDMsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDksCi0JMHg4OCwgMHgxMSwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHgxMCwgMHg4MSwKLQkweGY4LCAweDQ0LCAweDE1LCAweDcxLCAweGYyLCAweDczLCAweDE1LCAweDcxLAotCTB4ZjQsIDB4OTUsIDB4ZTcsIDB4MTYsIDB4NzcsIDB4MTEsIDB4MDAsIDB4N2IsCi0JMHgxMCwgMHg4MSwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwOSwgMHg4OCwgMHgxMSwKLQkweGY0LCAweDk1LCAweDc3LCAweDEyLCAweDAwLCAweDA2LCAweDEwLCAweDgxLAotCTB4ZjgsIDB4NDUsIDB4MTUsIDB4NWMsIDB4NmUsIDB4ZWEsIDB4ZmYsIDB4ZmYsCi0JMHgxNSwgMHg2OSwgMHg2ZCwgMHhlOSwgMHgwMCwgMHgwOCwgMHg3NiwgMHg4NiwKLQkweDAwLCAweDAxLCAweGU5LCAweDAxLCAweDU2LCAweDAwLCAweGYxLCAweDgwLAotCTB4MTAsIDB4ZjgsIDB4MDAsIDB4MGIsIDB4ZjgsIDB4NDUsIDB4MTUsIDB4N2UsCi0JMHhmYiwgMHg4MCwgMHgxNSwgMHg4NSwgMHhmNCwgMHg5NSwgMHg0OCwgMHgxNiwKLQkweGY5LCAweDgwLCAweDE2LCAweDlhLCAweGVlLCAweDAyLCAweDQ4LCAweDE2LAotCTB4OGEsIDB4MTYsIDB4OGEsIDB4MTEsIDB4ZjQsIDB4ZTQsIDB4NGEsIDB4MTEsCi0JMHhlZSwgMHhmZiwgMHhmYiwgMHg4MCwgMHgxNiwgMHhhMiwgMHg4OCwgMHgxMSwKLQkweGY0LCAweDk1LCAweDc3LCAweDEwLCAweGZmLCAweGZmLCAweGY0LCAweGE5LAotCTB4ZjgsIDB4MzAsIDB4MTUsIDB4YzQsIDB4MTAsIDB4ZTEsIDB4MDAsIDB4MDMsCi0JMHg3NywgMHgxMiwgMHgwMCwgMHg1NSwgMHg4MCwgMHg4MiwgMHg3NywgMHgxMiwKLQkweDAwLCAweDU2LCAweDc2LCAweDgyLCAweDAwLCAweDAwLCAweDc3LCAweDEyLAotCTB4MDAsIDB4NTYsIDB4NzYsIDB4ODIsIDB4MDAsIDB4MDAsIDB4NzcsIDB4MTIsCi0JMHgwMCwgMHg1NiwgMHg3NiwgMHg4MiwgMHgwMCwgMHgwMCwgMHg3NywgMHgxMiwKLQkweDAwLCAweDU2LCAweDc2LCAweDgyLCAweDAwLCAweDAwLCAweDc3LCAweDEyLAotCTB4MDAsIDB4NTYsIDB4NzYsIDB4ODIsIDB4MDAsIDB4MDAsIDB4MTAsIDB4ZTEsCi0JMHgwMCwgMHgwMiwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwOCwgMHgzMiwgMHhmOCwKLQkweDAwLCAweDA4LCAweDc3LCAweDEyLCAweDAwLCAweDU0LCAweGU4LCAweDAxLAotCTB4ZjQsIDB4ODIsIDB4ZjQsIDB4OTMsIDB4MTgsIDB4ODIsIDB4NzcsIDB4MTIsCi0JMHgwMCwgMHg1NCwgMHhmMCwgMHg0MCwgMHgwMCwgMHgwMCwgMHg4MCwgMHg4MiwKLQkweDEwLCAweGUxLCAweDAwLCAweDAxLCAweGY5LCAweDgwLCAweDE2LCAweDc2LAotCTB4MTAsIDB4ZTEsIDB4MDAsIDB4MDEsIDB4ZjksIDB4ODAsIDB4MTYsIDB4NjYsCi0JMHhmMCwgMHg3MywgMHgxNiwgMHgwMywgMHg3NywgMHgxMSwgMHgwMCwgMHg3YiwKLQkweDcxLCAweDgxLCAweDAwLCAweDExLCAweDcxLCAweGUxLCAweDAwLCAweDA3LAotCTB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsIDB4MDAsIDB4MDAsIDB4MTAsIDB4ZTEsCi0JMHgwMCwgMHgwOSwgMHhmOSwgMHg4MCwgMHgxNSwgMHg4NSwgMHg3NywgMHgxMSwKLQkweDAwLCAweDdiLCAweDcxLCAweDgxLCAweDAwLCAweDExLCAweDEwLCAweGUxLAotCTB4MDAsIDB4MDksIDB4ZmIsIDB4ODAsIDB4MTUsIDB4ODUsIDB4ZjAsIDB4MDAsCi0JMHgwMCwgMHgwOCwgMHg3NywgMHgxMSwgMHgwMCwgMHg3YiwgMHg3MSwgMHg4MSwKLQkweDAwLCAweDExLCAweDEwLCAweGUxLCAweDAwLCAweDA5LCAweGZiLCAweDgwLAotCTB4MTUsIDB4ODUsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MTAsIDB4NzcsIDB4MTEsCi0JMHgwMCwgMHg3YiwgMHg3MSwgMHg4MSwgMHgwMCwgMHgxMSwgMHgxMCwgMHhlMSwKLQkweDAwLCAweDA5LCAweGZiLCAweDgwLCAweDE1LCAweDg1LCAweGYwLCAweDAwLAotCTB4MDAsIDB4MTgsIDB4NzcsIDB4MTEsIDB4MDAsIDB4N2IsIDB4NzEsIDB4ODEsCi0JMHgwMCwgMHgxMSwgMHgxMCwgMHhlMSwgMHgwMCwgMHgwOSwgMHhmYiwgMHg4MCwKLQkweDE1LCAweDg1LCAweGYwLCAweDAwLCAweDAwLCAweDIwLCAweDc3LCAweDExLAotCTB4MDAsIDB4N2IsIDB4NzEsIDB4ODEsIDB4MDAsIDB4MTEsIDB4MTAsIDB4ZTEsCi0JMHgwMCwgMHgwOSwgMHhmYiwgMHg4MCwgMHgxNSwgMHg4NSwgMHhmMCwgMHgwMCwKLQkweDAwLCAweDI4LCAweGY5LCAweDgwLCAweDE2LCAweDlhLCAweGVlLCAweDAxLAotCTB4OGEsIDB4MTEsIDB4ZjQsIDB4ZTQsIDB4NGEsIDB4MTEsIDB4ZWUsIDB4ZmYsCi0JMHhmYiwgMHg4MCwgMHgxNiwgMHhhMiwgMHg4OCwgMHgxMSwgMHhmNCwgMHg5NSwKLQkweDc3LCAweDEwLCAweGZmLCAweGZmLCAweGY0LCAweGE5LCAweGY4LCAweDMwLAotCTB4MTYsIDB4NDEsIDB4NzcsIDB4MTEsIDB4MDAsIDB4NTUsIDB4NzYsIDB4ODEsCi0JMHgwMCwgMHgxZSwgMHg3NywgMHgxMSwgMHgwMCwgMHg1NiwgMHg3NiwgMHg4MSwKLQkweDAwLCAweDAwLCAweDc3LCAweDExLCAweDAwLCAweDU2LCAweDc2LCAweDgxLAotCTB4MDAsIDB4MDAsIDB4NzcsIDB4MTEsIDB4MDAsIDB4NTYsIDB4NzYsIDB4ODEsCi0JMHgwMCwgMHgwMCwgMHg3NywgMHgxMSwgMHgwMCwgMHg1NiwgMHg3NiwgMHg4MSwKLQkweDAwLCAweDAwLCAweDc3LCAweDExLCAweDAwLCAweDU2LCAweDc2LCAweDgxLAotCTB4MDAsIDB4MDAsIDB4NzcsIDB4MTEsIDB4MDAsIDB4NTYsIDB4NzYsIDB4ODEsCi0JMHgwMCwgMHgwMCwgMHg3NywgMHgxMSwgMHgwMCwgMHg1NiwgMHg3NiwgMHg4MSwKLQkweDAwLCAweDAwLCAweDc3LCAweDExLCAweDAwLCAweDU2LCAweDc2LCAweDgxLAotCTB4MDAsIDB4MDAsIDB4NzcsIDB4MTEsIDB4MDAsIDB4NTYsIDB4NzYsIDB4ODEsCi0JMHgwMCwgMHgwMCwgMHg3NywgMHgxMSwgMHgwMCwgMHg1NiwgMHhmMiwgMHg3MywKLQkweDE2LCAweDRlLCAweDc2LCAweDgxLCAweDAwLCAweDAwLCAweDc3LCAweDExLAotCTB4MDAsIDB4N2IsIDB4NzEsIDB4ODEsIDB4MDAsIDB4MTEsIDB4NzEsIDB4ZTEsCi0JMHgwMCwgMHgwNywgMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwgMHgwMCwgMHgwMCwKLQkweDEwLCAweGUxLCAweDAwLCAweDM5LCAweGY5LCAweDgwLCAweDE2LCAweDA4LAotCTB4ZjksIDB4ODAsIDB4MTYsIDB4OWEsIDB4ZWUsIDB4MDEsIDB4OGEsIDB4MTEsCi0JMHhmNCwgMHhlNCwgMHg0YSwgMHgxMSwgMHg3NywgMHgxMSwgMHgwMCwgMHg3YiwKLQkweDEwLCAweDgxLCAweGYwLCAweDAwLCAweDAwLCAweDA0LCAweDg4LCAweDExLAotCTB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4MTAsIDB4ODEsIDB4ZmEsIDB4NDQsCi0JMHgxNiwgMHg2MywgMHhmNCwgMHg5NSwgMHhlZSwgMHhmZiwgMHg3NiwgMHg4MSwKLQkweDAwLCAweDAxLCAweGVlLCAweDAxLCAweDhhLCAweDExLCAweGY0LCAweGU0LAotCTB4ZjAsIDB4MTAsIDB4MDAsIDB4MTAsIDB4NGEsIDB4MTEsIDB4MzIsIDB4ZjgsCi0JMHgwMCwgMHgwOCwgMHhlZSwgMHhmZiwgMHg3NywgMHgxMSwgMHgwMCwgMHgwMSwKLQkweGU4LCAweDAxLCAweGVlLCAweDAxLCAweGY0LCAweDgyLCAweDFhLCAweDgxLAotCTB4ODAsIDB4ODEsIDB4OGEsIDB4MTEsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4ZTQsCi0JMHhmMCwgMHgxMCwgMHgwMCwgMHgxMCwgMHg0YSwgMHgxMSwgMHgzMiwgMHhmOCwKLQkweDAwLCAweDA4LCAweGVlLCAweGZmLCAweGU4LCAweDAxLCAweDc3LCAweDExLAotCTB4MDAsIDB4MDAsIDB4ZjQsIDB4ODIsIDB4ZWUsIDB4MDEsIDB4ZjQsIDB4OTMsCi0JMHgxOCwgMHg4MSwgMHg4MCwgMHg4MSwgMHg4YSwgMHgxMSwgMHhmNCwgMHg5NSwKLQkweGY0LCAweGU0LCAweDRhLCAweDExLCAweGYwLCAweDEwLCAweDAwLCAweDEwLAotCTB4NzcsIDB4MTEsIDB4MDAsIDB4MDAsIDB4MzIsIDB4ZjgsIDB4MDAsIDB4MDgsCi0JMHhlZSwgMHhmZiwgMHgxMSwgMHg4MSwgMHhlOCwgMHgwMSwgMHhlZSwgMHgwMSwKLQkweDc3LCAweDExLCAweDAwLCAweDAwLCAweGY0LCAweDgyLCAweGYyLCAweGEwLAotCTB4ODAsIDB4ODEsIDB4OGEsIDB4MTEsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4ZTQsCi0JMHhmMiwgMHg3MywgMHgxNiwgMHg5ZSwgMHhmNiwgMHhiYiwgMHhmNCwgMHg5NSwKLQkweGY0LCAweDk1LCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweGY0LCAweGU0LAotCTB4ZjIsIDB4NzMsIDB4MTYsIDB4YTYsIDB4ZjcsIDB4YmIsIDB4ZjQsIDB4OTUsCi0JMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmNCwgMHhlNCwKLQkweDRhLCAweDExLCAweDRhLCAweDE2LCAweGY0LCAweDk1LCAweDcxLCAweDA0LAotCTB4MDAsIDB4MTYsIDB4ZmIsIDB4ODAsIDB4MTYsIDB4YTIsIDB4ODgsIDB4MTEsCi0JMHhmNCwgMHg5NSwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNSwgMHgwMCwgMHgxMiwKLQkweDc2LCAweDgyLCAweDAwLCAweDBlLCAweDEwLCAweGU2LCAweDAwLCAweDBlLAotCTB4NzEsIDB4ZTEsIDB4MDAsIDB4MDYsIDB4MDAsIDB4MTIsIDB4ODAsIDB4ODIsCi0JMHg3MSwgMHhlMSwgMHgwMCwgMHgwNSwgMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwKLQkweDAwLCAweDBkLCAweDcxLCAweGUxLCAweDAwLCAweDA2LCAweDAwLCAweDEyLAotCTB4MTAsIDB4ZTYsIDB4MDAsIDB4MGQsIDB4ODAsIDB4ODIsIDB4NzEsIDB4ZTEsCi0JMHgwMCwgMHgwNSwgMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwgMHgwMCwgMHgwYywKLQkweDEwLCAweGU2LCAweDAwLCAweDBjLCAweDcxLCAweGUxLCAweDAwLCAweDA2LAotCTB4MDAsIDB4MTIsIDB4ODAsIDB4ODIsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDUsCi0JMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwgMHgwMCwgMHgwYiwgMHgxMCwgMHhlNiwKLQkweDAwLCAweDBiLCAweDcxLCAweGUxLCAweDAwLCAweDA2LCAweDAwLCAweDEyLAotCTB4ODAsIDB4ODIsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDUsIDB4MDAsIDB4MTIsCi0JMHg3NiwgMHg4MiwgMHgwMCwgMHgwYSwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNiwKLQkweDAwLCAweDEyLCAweDEwLCAweGU2LCAweDAwLCAweDBhLCAweDgwLCAweDgyLAotCTB4NzEsIDB4ZTEsIDB4MDAsIDB4MDUsIDB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsCi0JMHgwMCwgMHgwOSwgMHgxMCwgMHhlNiwgMHgwMCwgMHgwOSwgMHg3MSwgMHhlMSwKLQkweDAwLCAweDA2LCAweDAwLCAweDEyLCAweDgwLCAweDgyLCAweDcxLCAweGUxLAotCTB4MDAsIDB4MDUsIDB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsIDB4MDAsIDB4MDgsCi0JMHg3MSwgMHhlMSwgMHgwMCwgMHgwNiwgMHgwMCwgMHgxMiwgMHgxMCwgMHhlNiwKLQkweDAwLCAweDA4LCAweDgwLCAweDgyLCAweDcxLCAweGUxLCAweDAwLCAweDA1LAotCTB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsIDB4MDAsIDB4MDcsIDB4MTAsIDB4ZTYsCi0JMHgwMCwgMHgwNywgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNiwgMHgwMCwgMHgxMiwKLQkweDgwLCAweDgyLCAweDcxLCAweGUxLCAweDAwLCAweDA1LCAweDAwLCAweDEyLAotCTB4NzYsIDB4ODIsIDB4MDAsIDB4MDYsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDYsCi0JMHgwMCwgMHgxMiwgMHgxMCwgMHhlNiwgMHgwMCwgMHgwNiwgMHg4MCwgMHg4MiwKLQkweDcxLCAweGUxLCAweDAwLCAweDA1LCAweDAwLCAweDEyLCAweDc2LCAweDgyLAotCTB4MDAsIDB4MDUsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDYsIDB4MDAsIDB4MTIsCi0JMHgxMCwgMHhlNiwgMHgwMCwgMHgwNSwgMHg4MCwgMHg4MiwgMHg3MSwgMHhlMSwKLQkweDAwLCAweDA1LCAweDAwLCAweDEyLCAweDc2LCAweDgyLCAweDAwLCAweDA0LAotCTB4NzEsIDB4ZTEsIDB4MDAsIDB4MDYsIDB4MDAsIDB4MTIsIDB4MTAsIDB4ZTYsCi0JMHgwMCwgMHgwNCwgMHg4MCwgMHg4MiwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNSwKLQkweDAwLCAweDEyLCAweDc2LCAweDgyLCAweDAwLCAweDAzLCAweDcxLCAweGUxLAotCTB4MDAsIDB4MDYsIDB4MDAsIDB4MTIsIDB4MTAsIDB4ZTYsIDB4MDAsIDB4MDMsCi0JMHg4MCwgMHg4MiwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNSwgMHgwMCwgMHgxMiwKLQkweDc2LCAweDgyLCAweDAwLCAweDAyLCAweDEwLCAweGU2LCAweDAwLCAweDAyLAotCTB4NzEsIDB4ZTEsIDB4MDAsIDB4MDYsIDB4MDAsIDB4MTIsIDB4ODAsIDB4ODIsCi0JMHg3MSwgMHhlMSwgMHgwMCwgMHgwNSwgMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwKLQkweDAwLCAweDAxLCAweDEwLCAweGU2LCAweDAwLCAweDAxLCAweDcxLCAweGUxLAotCTB4MDAsIDB4MDYsIDB4MDAsIDB4MTIsIDB4ODAsIDB4ODIsIDB4NzEsIDB4ZTEsCi0JMHgwMCwgMHgwNSwgMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwgMHgwMCwgMHgwMCwKLQkweDcxLCAweGUxLCAweDAwLCAweDA2LCAweDAwLCAweDEzLCAweGU3LCAweDYyLAotCTB4ZTUsIDB4MDEsIDB4ZjksIDB4ODAsIDB4MTYsIDB4OWEsIDB4OGEsIDB4MTYsCi0JMHg4YSwgMHgxMSwgMHhmNCwgMHhlNCwgMHg0YSwgMHgxMSwgMHg4OCwgMHgxMSwKLQkweGY0LCAweDk1LCAweGY0LCAweDk1LCAweDcxLCAweGUxLCAweDAwLCAweDA1LAotCTB4MDAsIDB4MTIsIDB4ZWUsIDB4ZmYsIDB4NzYsIDB4ODIsIDB4MDAsIDB4MDAsCi0JMHhlZSwgMHgwMSwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNiwgMHgwMCwgMHgxMSwKLQkweDY5LCAweDgxLCAweDAwLCAweDAxLCAweDhhLCAweDExLCAweGY0LCAweDk1LAotCTB4ZjQsIDB4ZTQsIDB4NGEsIDB4MTEsIDB4ODgsIDB4MTEsIDB4ZjQsIDB4OTUsCi0JMHhmNCwgMHg5NSwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNSwgMHgwMCwgMHgxMiwKLQkweGVlLCAweGZmLCAweDc2LCAweDgyLCAweDAwLCAweDAxLCAweGVlLCAweDAxLAotCTB4NzEsIDB4ZTEsIDB4MDAsIDB4MDYsIDB4MDAsIDB4MTEsIDB4NjksIDB4ODEsCi0JMHgwMCwgMHgwMSwgMHg4YSwgMHgxMSwgMHhmNCwgMHg5NSwgMHhmNCwgMHhlNCwKLQkweDRhLCAweDExLCAweDc3LCAweDExLCAweDAwLCAweDdiLCAweDEwLCAweDgxLAotCTB4ZjAsIDB4MDAsIDB4MDAsIDB4OTQsIDB4ODgsIDB4MTEsIDB4ZjQsIDB4OTUsCi0JMHhmNCwgMHg5NSwgMHgxMCwgMHg4MSwgMHhmYSwgMHg0NCwgMHgxNywgMHg5YywKLQkweGY0LCAweDk1LCAweGVlLCAweGZmLCAweGY5LCAweDgwLCAweDE2LCAweDUzLAotCTB4NzcsIDB4MTEsIDB4MDAsIDB4N2IsIDB4MTAsIDB4ODEsIDB4ZjAsIDB4MDAsCi0JMHgwMCwgMHg5NCwgMHg4OCwgMHgxMSwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwKLQkweDc2LCAweDgxLCAweDAwLCAweDAxLCAweGVlLCAweDAxLCAweDc2LCAweGUxLAotCTB4MDAsIDB4MDEsIDB4MDAsIDB4MDAsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MDIsCi0JMHgwMCwgMHgyMSwgMHg3NiwgMHhlMSwgMHgwMCwgMHgwMywgMHgwMCwgMHgyMCwKLQkweDc2LCAweGUxLCAweDAwLCAweDA0LCAweDAwLCAweDIzLCAweDc2LCAweGUxLAotCTB4MDAsIDB4MDUsIDB4MDAsIDB4MjIsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MDYsCi0JMHgwMCwgMHgzOCwgMHg3NiwgMHhlMSwgMHgwMCwgMHgwNywgMHgwMCwgMHgzOSwKLQkweDc2LCAweGUxLCAweDAwLCAweDA4LCAweDAwLCAweDE1LCAweDc2LCAweGUxLAotCTB4MDAsIDB4MDksIDB4MDAsIDB4MTQsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MGEsCi0JMHgwMCwgMHgwMCwgMHg3NiwgMHhlMSwgMHgwMCwgMHgwYiwgMHgwMCwgMHg0MSwKLQkweDc2LCAweGUxLCAweDAwLCAweDBjLCAweDAwLCAweDQwLCAweDc2LCAweGUxLAotCTB4MDAsIDB4MGQsIDB4MDAsIDB4NDMsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MGUsCi0JMHgwMCwgMHg0MiwgMHg3NiwgMHhlMSwgMHgwMCwgMHgwZiwgMHgwMCwgMHg0OCwKLQkweDc2LCAweGUxLCAweDAwLCAweDEwLCAweDAwLCAweDQ5LCAweDc2LCAweGUxLAotCTB4MDAsIDB4MTEsIDB4MDAsIDB4MWIsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MTIsCi0JMHgwMCwgMHgxYSwgMHg4YSwgMHgxMSwgMHhmNCwgMHg5NSwgMHhmNCwgMHhlNCwKLQkweDRhLCAweDExLCAweGVlLCAweGZkLCAweDg4LCAweDExLCAweDU2LCAweDA2LAotCTB4NGUsIDB4MDAsIDB4ZjksIDB4ODAsIDB4MTYsIDB4YTIsIDB4NzcsIDB4MTIsCi0JMHgwMCwgMHg3YiwgMHg3NywgMHgwZSwgMHgwMCwgMHgwOSwgMHgxMCwgMHg4MiwKLQkweDI4LCAweGY4LCAweDAwLCAweDExLCAweGYwLCAweDAwLCAweDAwLCAweDk1LAotCTB4ODgsIDB4MTEsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4MTAsIDB4ODEsCi0JMHhmOCwgMHg0NSwgMHgxNywgMHhmMCwgMHhmMiwgMHg3MywgMHgxNywgMHhmZCwKLQkweDc3LCAweDExLCAweGZmLCAweGZmLCAweDc2LCAweDgxLCAweDAwLCAweDAxLAotCTB4ZTksIDB4MDEsIDB4NTYsIDB4MDAsIDB4ZjEsIDB4ODAsIDB4MTAsIDB4ZjgsCi0JMHgwMCwgMHgwYiwgMHhmOCwgMHg0NSwgMHgxNywgMHhmZCwgMHhmYiwgMHg4MCwKLQkweDE4LCAweDEwLCAweGY0LCAweDk1LCAweDQ4LCAweDExLCAweGY5LCAweDgwLAotCTB4MTYsIDB4OWEsIDB4ZWUsIDB4MDMsIDB4NDgsIDB4MTEsIDB4OGEsIDB4MTEsCi0JMHhmNCwgMHg5NSwgMHhmNCwgMHhlNCwgMHg0YSwgMHgxMSwgMHg4OCwgMHgxMSwKLQkweGY0LCAweDk1LCAweGVlLCAweGZmLCAweDcxLCAweGUxLCAweDAwLCAweDAxLAotCTB4MDAsIDB4MTEsIDB4ZWUsIDB4MDEsIDB4MTAsIDB4ODEsIDB4OGEsIDB4MTEsCi0JMHhmNCwgMHg5NSwgMHhmNCwgMHhlNCwgMHg0YSwgMHgxMSwgMHhlZSwgMHhmZiwKLQkweGZiLCAweDgwLCAweDE2LCAweGEyLCAweDg4LCAweDExLCAweGY0LCAweDk1LAotCTB4NzcsIDB4MTAsIDB4ZmYsIDB4ZmYsIDB4ZjQsIDB4YTksIDB4ZjgsIDB4MzAsCi0JMHgxOCwgMHhjMywgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNSwgMHgwMCwgMHgxMiwKLQkweDc2LCAweDgyLCAweDAwLCAweDAwLCAweDcxLCAweGUxLCAweDAwLCAweDA2LAotCTB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsIDB4MDAsIDB4MDAsIDB4NzEsIDB4ZTEsCi0JMHgwMCwgMHgwNSwgMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwgMHgwMCwgMHgwMSwKLQkweDcxLCAweGUxLCAweDAwLCAweDA2LCAweDAwLCAweDEyLCAweDc2LCAweDgyLAotCTB4MDAsIDB4MDAsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDUsIDB4MDAsIDB4MTIsCi0JMHg3NiwgMHg4MiwgMHgwMCwgMHgwMiwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNiwKLQkweDAwLCAweDEyLCAweDc2LCAweDgyLCAweDAwLCAweDAwLCAweDcxLCAweGUxLAotCTB4MDAsIDB4MDUsIDB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsIDB4MDAsIDB4MDMsCi0JMHg3MSwgMHhlMSwgMHgwMCwgMHgwNiwgMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwKLQkweDAwLCAweDAwLCAweDcxLCAweGUxLCAweDAwLCAweDA1LCAweDAwLCAweDEyLAotCTB4NzYsIDB4ODIsIDB4MDAsIDB4MDQsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDYsCi0JMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwgMHgwMCwgMHgwMCwgMHg3MSwgMHhlMSwKLQkweDAwLCAweDA1LCAweDAwLCAweDEyLCAweDc2LCAweDgyLCAweDAwLCAweDA1LAotCTB4NzEsIDB4ZTEsIDB4MDAsIDB4MDYsIDB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsCi0JMHgwMCwgMHgwMCwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNSwgMHgwMCwgMHgxMiwKLQkweDc2LCAweDgyLCAweDAwLCAweDA2LCAweDcxLCAweGUxLCAweDAwLCAweDA2LAotCTB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsIDB4MDAsIDB4MDEsIDB4NzEsIDB4ZTEsCi0JMHgwMCwgMHgwNSwgMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwgMHgwMCwgMHgwNywKLQkweDcxLCAweGUxLCAweDAwLCAweDA2LCAweDAwLCAweDEyLCAweDc2LCAweDgyLAotCTB4MjAsIDB4MDAsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDUsIDB4MDAsIDB4MTIsCi0JMHg3NiwgMHg4MiwgMHgwMCwgMHgwOCwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNiwKLQkweDAwLCAweDEyLCAweDc2LCAweDgyLCAweDAwLCAweDAwLCAweDcxLCAweGUxLAotCTB4MDAsIDB4MDUsIDB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsIDB4MDAsIDB4MDksCi0JMHg3MSwgMHhlMSwgMHgwMCwgMHgwNiwgMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwKLQkweDAwLCAweDAwLCAweDcxLCAweGUxLCAweDAwLCAweDA1LCAweDAwLCAweDEyLAotCTB4NzYsIDB4ODIsIDB4MDAsIDB4MGEsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDYsCi0JMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwgMHgwMCwgMHgwMCwgMHg3MSwgMHhlMSwKLQkweDAwLCAweDA1LCAweDAwLCAweDEyLCAweDc2LCAweDgyLCAweDAwLCAweDBiLAotCTB4NzEsIDB4ZTEsIDB4MDAsIDB4MDYsIDB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsCi0JMHgwMCwgMHgwMCwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNSwgMHgwMCwgMHgxMiwKLQkweDc2LCAweDgyLCAweDAwLCAweDBjLCAweDcxLCAweGUxLCAweDAwLCAweDA2LAotCTB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsIDB4MDAsIDB4MDAsIDB4NzEsIDB4ZTEsCi0JMHgwMCwgMHgwNSwgMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwgMHgwMCwgMHgwZCwKLQkweDcxLCAweGUxLCAweDAwLCAweDA2LCAweDAwLCAweDEyLCAweDc2LCAweDgyLAotCTB4MDAsIDB4MDAsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDUsIDB4MDAsIDB4MTIsCi0JMHg3NiwgMHg4MiwgMHgwMCwgMHgwZSwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNiwKLQkweDAwLCAweDEyLCAweDc2LCAweDgyLCAweDAwLCAweDAwLCAweDEwLCAweGUxLAotCTB4MDAsIDB4MDcsIDB4ZjksIDB4ODAsIDB4MTYsIDB4NzYsIDB4MTAsIDB4ZTEsCi0JMHgwMCwgMHgwOCwgMHhmOSwgMHg4MCwgMHgxNiwgMHg3NiwgMHgxMCwgMHhlMSwKLQkweDAwLCAweDA3LCAweGY5LCAweDgwLCAweDE2LCAweDY2LCAweDEwLCAweGUxLAotCTB4MDAsIDB4MDgsIDB4ZjksIDB4ODAsIDB4MTYsIDB4NjYsIDB4ZjAsIDB4NzMsCi0JMHgxOCwgMHhkMSwgMHg3NywgMHgxMSwgMHgwMCwgMHg3YiwgMHgxMCwgMHg4MSwKLQkweGZiLCAweDgwLCAweDE4LCAweDEwLCAweGYwLCAweDAwLCAweDAwLCAweDk1LAotCTB4NzcsIDB4MTEsIDB4MDAsIDB4N2IsIDB4MTAsIDB4ODEsIDB4ZmIsIDB4ODAsCi0JMHgxOCwgMHgxMCwgMHhmMCwgMHgwMCwgMHgwMCwgMHg5ZSwgMHhmOSwgMHg4MCwKLQkweDE2LCAweDlhLCAweGVlLCAweDAxLCAweDhhLCAweDExLCAweGY0LCAweGU0LAotCTB4NGEsIDB4MTEsIDB4ODgsIDB4MTEsIDB4ZWUsIDB4ZmYsIDB4ZjQsIDB4OTUsCi0JMHgxMCwgMHgwNCwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwMywgMHgwMCwgMHgxMSwKLQkweGVlLCAweDAxLCAweDgwLCAweDgxLCAweDhhLCAweDExLCAweGY0LCAweDk1LAotCTB4ZjQsIDB4ZTQsIDB4NGEsIDB4MTEsIDB4NGEsIDB4MTYsIDB4ZjQsIDB4OTUsCi0JMHg3MSwgMHgwNCwgMHgwMCwgMHgxNiwgMHhmYiwgMHg4MCwgMHgxNiwgMHhhMiwKLQkweDg4LCAweDExLCAweGY0LCAweDk1LCAweDcxLCAweGUxLCAweDAwLCAweDAyLAotCTB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsIDB4MDAsIDB4MTAsIDB4MTAsIDB4ZTYsCi0JMHgwMCwgMHgwMSwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwMywgMHgwMCwgMHgxMiwKLQkweDgwLCAweDgyLCAweDcxLCAweGUxLCAweDAwLCAweDA0LCAweDAwLCAweDEyLAotCTB4MTAsIDB4ZTYsIDB4MDAsIDB4MDIsIDB4ODAsIDB4ODIsIDB4ZTcsIDB4NjIsCi0JMHg3MSwgMHhlMSwgMHgwMCwgMHgwMiwgMHgwMCwgMHgxMywgMHhlNSwgMHgwMSwKLQkweGY5LCAweDgwLCAweDE2LCAweDlhLCAweDhhLCAweDE2LCAweDhhLCAweDExLAotCTB4ZjQsIDB4ZTQsIDB4NGEsIDB4MTEsIDB4ODgsIDB4MTEsIDB4ZWUsIDB4ZmYsCi0JMHhlZSwgMHgwMSwgMHgxMCwgMHhlMSwgMHgwMCwgMHgwMSwgMHg4YSwgMHgxMSwKLQkweGY0LCAweDk1LCAweGY0LCAweGU0LCAweDRhLCAweDExLCAweDc3LCAweDExLAotCTB4MDAsIDB4N2IsIDB4MTAsIDB4ODEsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4YjMsCi0JMHg4OCwgMHgxMSwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHgxMCwgMHg4MSwKLQkweGZhLCAweDQ0LCAweDE5LCAweDJhLCAweGY0LCAweDk1LCAweGVlLCAweGZmLAotCTB4ZjksIDB4ODAsIDB4MTYsIDB4NTMsIDB4NzcsIDB4MTEsIDB4MDAsIDB4N2IsCi0JMHgxMCwgMHg4MSwgMHhmMCwgMHgwMCwgMHgwMCwgMHhiMywgMHg4OCwgMHgxMSwKLQkweGY0LCAweDk1LCAweGY0LCAweDk1LCAweDc2LCAweDgxLCAweDAwLCAweDAxLAotCTB4ZWUsIDB4MDEsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MDEsIDB4MDAsIDB4MDAsCi0JMHg3NiwgMHhlMSwgMHgwMCwgMHgwMiwgMHgwMCwgMHgxMywgMHg3NiwgMHhlMSwKLQkweDAwLCAweDAzLCAweDAwLCAweDI2LCAweDc2LCAweGUxLCAweDAwLCAweDA0LAotCTB4MDAsIDB4MjUsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MDUsIDB4MDAsIDB4MjQsCi0JMHg3NiwgMHhlMSwgMHgwMCwgMHgwNiwgMHgwMCwgMHgwMCwgMHg3NiwgMHhlMSwKLQkweDAwLCAweDA3LCAweDAwLCAweDE3LCAweDc2LCAweGUxLCAweDAwLCAweDA4LAotCTB4MDAsIDB4MzIsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MDksIDB4MDAsIDB4MzEsCi0JMHg3NiwgMHhlMSwgMHgwMCwgMHgwYSwgMHgwMCwgMHgzMCwgMHg4YSwgMHgxMSwKLQkweGY0LCAweDk1LCAweGY0LCAweGU0LCAweDRhLCAweDExLCAweDRhLCAweDE2LAotCTB4NGEsIDB4MTcsIDB4ZWUsIDB4ZmYsIDB4ZjQsIDB4OTUsIDB4NzEsIDB4MDYsCi0JMHgwMCwgMHgxNywgMHhmYiwgMHg4MCwgMHgxNiwgMHhhMiwgMHg4OCwgMHgxMSwKLQkweGY0LCAweDk1LCAweGY3LCAweGI4LCAweDEwLCAweGY4LCAweDAwLCAweDExLAotCTB4ZjAsIDB4MTAsIDB4ZmYsIDB4ZmYsIDB4ZmEsIDB4NDUsIDB4MTksIDB4NzMsCi0JMHg3NywgMHgxNiwgMHhmZiwgMHhmZiwgMHg3NywgMHgxMiwgMHgwMCwgMHg3YiwKLQkweDc3LCAweDBlLCAweDAwLCAweDA1LCAweDEwLCAweDgyLCAweDI4LCAweGY4LAotCTB4MDAsIDB4MTEsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4YjQsIDB4ODgsIDB4MTEsCi0JMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHgxMCwgMHg4MSwgMHhmOCwgMHg0NCwKLQkweDE5LCAweDg0LCAweGYyLCAweDczLCAweDE5LCAweDg0LCAweGY0LCAweDk1LAotCTB4ZTcsIDB4MTYsIDB4NzcsIDB4MTEsIDB4MDAsIDB4N2IsIDB4MTAsIDB4ODEsCi0JMHhmMCwgMHgwMCwgMHgwMCwgMHhiNCwgMHg4OCwgMHgxMSwgMHhmNCwgMHg5NSwKLQkweDc3LCAweDEyLCAweDAwLCAweDAyLCAweDEwLCAweDgxLCAweGY4LCAweDQ1LAotCTB4MTksIDB4NmYsIDB4NmUsIDB4ZWEsIDB4ZmYsIDB4ZmYsIDB4MTksIDB4N2MsCi0JMHg2ZCwgMHhlOSwgMHgwMCwgMHgwNSwgMHg2MSwgMHhmOCwgMHgwMCwgMHgxNywKLQkweDAwLCAweDAxLCAweGZhLCAweDIwLCAweDE5LCAweDhmLCAweDc2LCAweDg2LAotCTB4MDAsIDB4MDEsIDB4ZmIsIDB4ODAsIDB4MTksIDB4OTcsIDB4ZjQsIDB4OTUsCi0JMHg0OCwgMHgxNiwgMHhmOSwgMHg4MCwgMHgxNiwgMHg5YSwgMHhlZSwgMHgwMSwKLQkweDhhLCAweDE3LCAweDQ4LCAweDE2LCAweDhhLCAweDE2LCAweDhhLCAweDExLAotCTB4ZjQsIDB4ZTQsIDB4NGEsIDB4MTEsIDB4ZWUsIDB4ZmYsIDB4ZmIsIDB4ODAsCi0JMHgxNiwgMHhhMiwgMHg4OCwgMHgxMSwgMHhmNCwgMHg5NSwgMHg3NywgMHgxMCwKLQkweGZmLCAweGZmLCAweGY0LCAweGE5LCAweGY4LCAweDMwLCAweDE5LCAweGNjLAotCTB4NzEsIDB4ZTEsIDB4MDAsIDB4MDIsIDB4MDAsIDB4MTIsIDB4NjksIDB4ODIsCi0JMHgwMCwgMHgxMCwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwMiwgMHgwMCwgMHgxMiwKLQkweDY4LCAweDgyLCAweGY3LCAweGZmLCAweDcxLCAweGUxLCAweDAwLCAweDAyLAotCTB4MDAsIDB4MTIsIDB4NjgsIDB4ODIsIDB4ZmIsIDB4ZmYsIDB4NzEsIDB4ZTEsCi0JMHgwMCwgMHgwMiwgMHgwMCwgMHgxMiwgMHg2OCwgMHg4MiwgMHhmZiwgMHhmMCwKLQkweDcxLCAweGUxLCAweDAwLCAweDAzLCAweDAwLCAweDEyLCAweDc2LCAweDgyLAotCTB4ZmYsIDB4ZmYsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDQsIDB4MDAsIDB4MTIsCi0JMHg3NiwgMHg4MiwgMHhmZiwgMHhmZiwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwMiwKLQkweDAwLCAweDEyLCAweDY5LCAweDgyLCAweDAwLCAweDIwLCAweDcxLCAweGUxLAotCTB4MDAsIDB4MDIsIDB4MDAsIDB4MTEsIDB4ZjIsIDB4NzMsIDB4MTksIDB4ZGEsCi0JMHg2OCwgMHg4MSwgMHhmZiwgMHhlZiwgMHg3NywgMHgxMSwgMHgwMCwgMHg3YiwKLQkweDEwLCAweDgxLCAweGZiLCAweDgwLCAweDE5LCAweDk3LCAweGYwLCAweDAwLAotCTB4MDAsIDB4YjQsIDB4NzcsIDB4MTEsIDB4MDAsIDB4N2IsIDB4MTAsIDB4ODEsCi0JMHhmYiwgMHg4MCwgMHgxOSwgMHg5NywgMHhmMCwgMHgwMCwgMHgwMCwgMHhiOSwKLQkweGY5LCAweDgwLCAweDE2LCAweDlhLCAweGVlLCAweDAxLCAweDhhLCAweDExLAotCTB4ZjQsIDB4ZTQsIDB4MDAsIDB4YTQsIDB4MDAsIDB4MDAsIDB4MTksIDB4ZGYsCi0JMHgwMCwgMHgwMSwgMHgyYSwgMHhlNiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwKLQkweDJhLCAweGU3LCAweDAwLCAweDAwLCAweDAwLCAweDAzLCAweDJhLCAweDEyLAotCTB4MGMsIDB4MDEsIDB4YzMsIDB4NGYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDEsCi0JMHgyYSwgMHgxNSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgyYSwgMHgxNiwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDE5LCAweDJhLCAweDVkLAotCTB4MDAsIDB4NDMsIDB4MDAsIDB4NmYsIDB4MDAsIDB4NzAsIDB4MDAsIDB4NzksCi0JMHgwMCwgMHg3MiwgMHgwMCwgMHg2OSwgMHgwMCwgMHg2NywgMHgwMCwgMHg2OCwKLQkweDAwLCAweDc0LCAweDAwLCAweDIwLCAweDAwLCAweDU0LCAweDAwLCAweDY1LAotCTB4MDAsIDB4NjMsIDB4MDAsIDB4NjgsIDB4MDAsIDB4NmUsIDB4MDAsIDB4NmYsCi0JMHgwMCwgMHg1NCwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2NSwgMHgwMCwgMHg2ZSwKLQkweDAwLCAweDY0LCAweDAwLCAweDIwLCAweDAwLCAweDQxLCAweDAwLCAweDQ3LAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDQsIDB4MmEsIDB4NzYsIDB4MDAsIDB4MzAsCi0JMHgwMCwgMHgyZSwgMHgwMCwgMHgzMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwYywKLQkweDJhLCAweDdhLCAweDAwLCAweDQ2LCAweDAwLCAweDY1LCAweDAwLCAweDYyLAotCTB4MDAsIDB4MjAsIDB4MDAsIDB4MzIsIDB4MDAsIDB4MzcsIDB4MDAsIDB4MjAsCi0JMHgwMCwgMHgzMiwgMHgwMCwgMHgzMCwgMHgwMCwgMHgzMCwgMHgwMCwgMHgzMSwKLQkweDAwLCAweDAwLCAweDAwLCAweDA5LCAweDJhLCAweDg2LCAweDAwLCAweDMxLAotCTB4MDAsIDB4MzQsIDB4MDAsIDB4M2EsIDB4MDAsIDB4MzMsIDB4MDAsIDB4MzUsCi0JMHgwMCwgMHgzYSwgMHgwMCwgMHgzMywgMHgwMCwgMHgzMywgMHgwMCwgMHgwMCwKLQkweDAwLCAweDBmLCAweDJhLCAweDhmLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDEsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MmEsIDB4OWUsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMSwgMHgyYSwgMHg5ZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwKLQkweDJhLCAweGEwLCAweDAwLCAweDAwLCAweDAwLCAweDAxLCAweDJhLCAweGExLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MmEsIDB4YTIsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMSwgMHgyOSwgMHg3ZSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwKLQkweDI5LCAweDgwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAxLAotCTB4MjksIDB4ODIsIDB4ZmYsIDB4ZmYsIDB4MDAsIDB4MDEsIDB4MmEsIDB4YTcsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwNSwgMHgyYSwgMHhhOCwgMHg3MSwgMHg0MSwKLQkweDIwLCAweDAwLCAweDIwLCAweDAwLCAweDAwLCAweDIzLCAweDA0LCAweDAwLAotCTB4MDAsIDB4MGEsIDB4MmEsIDB4YWQsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MGYsIDB4MmEsIDB4YjcsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHg0MCwgMHgwMCwgMHhhMCwgMHg4MiwgMHg0MCwKLQkweDAwLCAweDA4LCAweDMwLCAweDdmLCAweDAwLCAweDgwLCAweDAxLCAweDgwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHgyNywgMHg2ZSwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAxLCAweDI3LCAweDZmLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDksIDB4MDAsIDB4MDAsIDB4MWEsIDB4ODMsIDB4MDQsIDB4ZTgsCi0JMHgwNCwgMHhjZiwgMHgwNCwgMHhjNSwgMHgwNCwgMHhiYSwgMHgwNCwgMHhiMCwKLQkweDA0LCAweGFjLCAweDA0LCAweDljLCAweDA0LCAweDhjLCAweDA0LCAweDgxLAotCTB4MDAsIDB4NzgsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MDAsIDB4ZjIsIDB4NzMsCi0JMHgwNywgMHhlZiwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmMiwgMHg3MywKLQkweDA3LCAweGVmLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweGYyLCAweDczLAotCTB4MDcsIDB4ZWYsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4ZjIsIDB4NzMsCi0JMHgwNywgMHhlZiwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmMiwgMHg3MywKLQkweDA3LCAweGVmLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweGYyLCAweDczLAotCTB4MDcsIDB4ZWYsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4ZjIsIDB4NzMsCi0JMHgwNywgMHhlZiwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmMiwgMHg3MywKLQkweDA3LCAweGVmLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweGYyLCAweDczLAotCTB4MDcsIDB4ZWYsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4ZjIsIDB4NzMsCi0JMHgwNywgMHhlZiwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmMiwgMHg3MywKLQkweDA3LCAweGVmLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweGYyLCAweDczLAotCTB4MDcsIDB4ZWYsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4ZjIsIDB4NzMsCi0JMHgwNywgMHhlZiwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmMiwgMHg3MywKLQkweDA3LCAweGVmLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweGYyLCAweDczLAotCTB4MDcsIDB4ZWYsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4ZjIsIDB4NzMsCi0JMHgwNywgMHhlZiwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmMiwgMHg3MywKLQkweDA3LCAweGFhLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweGYyLCAweDczLAotCTB4MDcsIDB4ZWYsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4ZjIsIDB4NzMsCi0JMHgwNywgMHhlZiwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmMiwgMHg3MywKLQkweDAyLCAweDIzLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweGYyLCAweDczLAotCTB4MDcsIDB4ZWYsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4ZjIsIDB4NzMsCi0JMHgwNywgMHhlZiwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmMiwgMHg3MywKLQkweDA3LCAweGVmLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweGYyLCAweDczLAotCTB4MDcsIDB4ZWYsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4ZjIsIDB4NzMsCi0JMHgwNywgMHhlZiwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmMiwgMHg3MywKLQkweDA3LCAweGVmLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweGYyLCAweDczLAotCTB4MDUsIDB4ZTUsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4ZjIsIDB4NzMsCi0JMHgwMiwgMHhiNSwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmMiwgMHg3MywKLQkweDBlLCAweDMzLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweGYyLCAweDczLAotCTB4MDcsIDB4ZWYsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4MDAsIDB4MDAsCi19OwotCmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2R2Yi90dHVzYi1kZWMvdHR1c2JfZGVjLmMgYi9kcml2ZXJzL21lZGlhL2R2Yi90dHVzYi1kZWMvdHR1c2JfZGVjLmMKaW5kZXggZmVmZGMwNS4uZGU1ODI5YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZWRpYS9kdmIvdHR1c2ItZGVjL3R0dXNiX2RlYy5jCisrKyBiL2RyaXZlcnMvbWVkaWEvZHZiL3R0dXNiLWRlYy90dHVzYl9kZWMuYwpAQCAtMTI3NSw3ICsxMjc1LDcgQEAKIAl1OCBiMVtdID0geyAweDYxIH07CiAJdTggKmI7CiAJY2hhciBpZHN0cmluZ1syMV07Ci0JdTggKmZpcm13YXJlID0gTlVMTDsKKwljb25zdCB1OCAqZmlybXdhcmUgPSBOVUxMOwogCXNpemVfdCBmaXJtd2FyZV9zaXplID0gMDsKIAl1MTYgZmlybXdhcmVfY3N1bSA9IDA7CiAJX19iZTE2IGZpcm13YXJlX2NzdW1fbnM7CmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL3JhZGlvL21pcm9wY20yMC1yZHMuYyBiL2RyaXZlcnMvbWVkaWEvcmFkaW8vbWlyb3BjbTIwLXJkcy5jCmluZGV4IDA2ZGZlZDkuLjNlODQwZjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWVkaWEvcmFkaW8vbWlyb3BjbTIwLXJkcy5jCisrKyBiL2RyaXZlcnMvbWVkaWEvcmFkaW8vbWlyb3BjbTIwLXJkcy5jCkBAIC0xMiw2ICsxMiw3IEBACiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvbWlzY2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CkBAIC0yNywxMyArMjgsMTYgQEAKIAlpZiAocmRzX3VzZXJzKQogCQlyZXR1cm4gLUVCVVNZOwogCisJbG9ja19rZXJuZWwoKTsKIAlyZHNfdXNlcnMrKzsKIAlpZiAoKHRleHRfYnVmZmVyPWttYWxsb2MoNjYsIEdGUF9LRVJORUwpKSA9PSAwKSB7CiAJCXJkc191c2Vycy0tOwogCQlwcmludGsoS0VSTl9OT1RJQ0UgImFjaS1yZHM6IE91dCBvZiBtZW1vcnkgYnkgb3BlbigpLi4uXG4iKTsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gLUVOT01FTTsKIAl9CiAKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvdmlkZW8vYnQ4eHgvYnR0di1jYXJkcy5jIGIvZHJpdmVycy9tZWRpYS92aWRlby9idDh4eC9idHR2LWNhcmRzLmMKaW5kZXggOGVmMDQyNC4uMWM1NmFlOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZWRpYS92aWRlby9idDh4eC9idHR2LWNhcmRzLmMKKysrIGIvZHJpdmVycy9tZWRpYS92aWRlby9idDh4eC9idHR2LWNhcmRzLmMKQEAgLTM3NjgsNyArMzc2OCw4IEBACiAjZGVmaW5lIEJUVFZfQUxUX0RDTEsJCTB4MTAwMDAwCiAjZGVmaW5lIEJUVFZfQUxUX05DT05GSUcJMHg4MDAwMDAKIAotc3RhdGljIGludCBfX2RldmluaXQgcHZyX2FsdGVyYV9sb2FkKHN0cnVjdCBidHR2ICpidHYsIHU4ICptaWNybywgdTMyIG1pY3JvbGVuKQorc3RhdGljIGludCBfX2RldmluaXQgcHZyX2FsdGVyYV9sb2FkKHN0cnVjdCBidHR2ICpidHYsIGNvbnN0IHU4ICptaWNybywKKwkJCQkgICAgIHUzMiBtaWNyb2xlbikKIHsKIAl1MzIgbjsKIAl1OCBiaXRzOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS92aWRlby9jcGlhMi9jcGlhMl9jb3JlLmMgYi9kcml2ZXJzL21lZGlhL3ZpZGVvL2NwaWEyL2NwaWEyX2NvcmUuYwppbmRleCBjOGI5ZmRiLi5mMmU4YjFjIDEwMDY0NAotLS0gYS9kcml2ZXJzL21lZGlhL3ZpZGVvL2NwaWEyL2NwaWEyX2NvcmUuYworKysgYi9kcml2ZXJzL21lZGlhL3ZpZGVvL2NwaWEyL2NwaWEyX2NvcmUuYwpAQCAtMzMsMTEgKzMzLDEwIEBACiAKICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CiAjaW5jbHVkZSA8bGludXgvdm1hbGxvYy5oPgorI2luY2x1ZGUgPGxpbnV4L2Zpcm13YXJlLmg+CiAKIC8qICNkZWZpbmUgX0NQSUEyX0RFQlVHXyAqLwogCi0jaW5jbHVkZSAiY3BpYTJwYXRjaC5oIgotCiAjaWZkZWYgX0NQSUEyX0RFQlVHXwogCiBzdGF0aWMgY29uc3QgY2hhciAqYmxvY2tfbmFtZVtdID0gewpAQCAtODkzLDI0ICs4OTIsNTMgQEAKICAqICBhcHBseV92cF9wYXRjaAogICoKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBpbnQgY3BpYTJfc2VuZF9vbmVieXRlX2NvbW1hbmQoc3RydWN0IGNhbWVyYV9kYXRhICpjYW0sCisJCQkJICAgICAgc3RydWN0IGNwaWEyX2NvbW1hbmQgKmNtZCwKKwkJCQkgICAgICB1OCBzdGFydCwgdTggZGF0dW0pCit7CisJY21kLT5idWZmZXIuYmxvY2tfZGF0YVswXSA9IGRhdHVtOworCWNtZC0+c3RhcnQgPSBzdGFydDsKKwljbWQtPnJlZ19jb3VudCA9IDE7CisJcmV0dXJuIGNwaWEyX3NlbmRfY29tbWFuZChjYW0sIGNtZCk7Cit9CisKIHN0YXRpYyBpbnQgYXBwbHlfdnBfcGF0Y2goc3RydWN0IGNhbWVyYV9kYXRhICpjYW0pCiB7Ci0JaW50IGksIGo7CisJY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdzsKKwljb25zdCBjaGFyIGZ3X25hbWVbXSA9ICJjcGlhMi9zdHYwNjcyX3ZwNC5iaW4iOworCWludCBpLCByZXQ7CiAJc3RydWN0IGNwaWEyX2NvbW1hbmQgY21kOwogCisJcmV0ID0gcmVxdWVzdF9maXJtd2FyZSgmZncsIGZ3X25hbWUsICZjYW0tPmRldi0+ZGV2KTsKKwlpZiAocmV0KSB7CisJCXByaW50ayhLRVJOX0VSUiAiY3BpYTI6IGZhaWxlZCB0byBsb2FkIFZQIHBhdGNoIFwiJXNcIlxuIiwKKwkJICAgICAgIGZ3X25hbWUpOworCQlyZXR1cm4gcmV0OworCX0KKwogCWNtZC5yZXFfbW9kZSA9IENBTUVSQUFDQ0VTU19UWVBFX1JFUEVBVCB8IENBTUVSQUFDQ0VTU19WUDsKIAljbWQuZGlyZWN0aW9uID0gVFJBTlNGRVJfV1JJVEU7CiAKLQlmb3IgKGkgPSAwOyBpIDwgUEFUQ0hfREFUQV9TSVpFOyBpKyspIHsKLQkJZm9yIChqID0gMDsgaiA8IHBhdGNoX2RhdGFbaV0uY291bnQ7IGorKykgewotCQkJY21kLmJ1ZmZlci5ibG9ja19kYXRhW2pdID0gcGF0Y2hfZGF0YVtpXS5kYXRhW2pdOwotCQl9CisJLyogRmlyc3Qgc2VuZCB0aGUgc3RhcnQgYWRkcmVzcy4uLiAqLworCWNwaWEyX3NlbmRfb25lYnl0ZV9jb21tYW5kKGNhbSwgJmNtZCwgMHgwQSwgZnctPmRhdGFbMF0pOyAvKiBoaSAqLworCWNwaWEyX3NlbmRfb25lYnl0ZV9jb21tYW5kKGNhbSwgJmNtZCwgMHgwQiwgZnctPmRhdGFbMV0pOyAvKiBsbyAqLwogCi0JCWNtZC5zdGFydCA9IHBhdGNoX2RhdGFbaV0ucmVnOwotCQljbWQucmVnX2NvdW50ID0gcGF0Y2hfZGF0YVtpXS5jb3VudDsKKwkvKiAuLi4gZm9sbG93ZWQgYnkgdGhlIGRhdGEgcGF5bG9hZCAqLworCWZvciAoaSA9IDI7IGkgPCBmdy0+c2l6ZTsgaSArPSA2NCkgeworCQljbWQuc3RhcnQgPSAweDBDOyAvKiBEYXRhICovCisJCWNtZC5yZWdfY291bnQgPSBtaW5fdChpbnQsIDY0LCBmdy0+c2l6ZSAtIGkpOworCQltZW1jcHkoY21kLmJ1ZmZlci5ibG9ja19kYXRhLCAmZnctPmRhdGFbaV0sIGNtZC5yZWdfY291bnQpOwogCQljcGlhMl9zZW5kX2NvbW1hbmQoY2FtLCAmY21kKTsKIAl9CiAKKwkvKiBOZXh0IHNlbmQgdGhlIHN0YXJ0IGFkZHJlc3MuLi4gKi8KKwljcGlhMl9zZW5kX29uZWJ5dGVfY29tbWFuZChjYW0sICZjbWQsIDB4MEEsIGZ3LT5kYXRhWzBdKTsgLyogaGkgKi8KKwljcGlhMl9zZW5kX29uZWJ5dGVfY29tbWFuZChjYW0sICZjbWQsIDB4MEIsIGZ3LT5kYXRhWzFdKTsgLyogbG8gKi8KKworCS8qIC4uLiBmb2xsb3dlZCBieSB0aGUgJ2dvdG8nIGNvbW1hbmQgKi8KKwljcGlhMl9zZW5kX29uZWJ5dGVfY29tbWFuZChjYW0sICZjbWQsIDB4MEQsIDEpOworCisJcmVsZWFzZV9maXJtd2FyZShmdyk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvdmlkZW8vY3BpYTIvY3BpYTJwYXRjaC5oIGIvZHJpdmVycy9tZWRpYS92aWRlby9jcGlhMi9jcGlhMnBhdGNoLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdmMDg1ZmIuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy9tZWRpYS92aWRlby9jcGlhMi9jcGlhMnBhdGNoLmgKKysrIC9kZXYvbnVsbApAQCAtMSwyMzMgKzAsMCBAQAotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqCi0gKiAgRmlsZW5hbWU6IGNwaWEycGF0Y2guaAotICoKLSAqICBDb3B5cmlnaHQgMjAwMSwgU1RNaWNyb2xlY3Ryb25pY3MsIEluYy4KLSAqCi0gKiAgQ29udGFjdDogIHN0ZXZlLm1pbGxlckBzdC5jb20KLSAqCi0gKiAgRGVzY3JpcHRpb246Ci0gKiAgICAgVGhpcyBmaWxlIGNvbnRhaW5zIHBhdGNoIGRhdGEgZm9yIHRoZSBDUGlBMiAoc3R2MDY3MikgVlA0LgotICoKLSAqICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotICogIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0gKiAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKLSAqICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLSAqICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0gKiAgRm91bmRhdGlvbiwgSW5jLiwgNjc1IE1hc3MgQXZlLCBDYW1icmlkZ2UsIE1BIDAyMTM5LCBVU0EuCi0gKgotICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0KLSNpZm5kZWYgQ1BJQTJfUEFUQ0hfSEVBREVSCi0jZGVmaW5lIENQSUEyX1BBVENIX0hFQURFUgotCi10eXBlZGVmIHN0cnVjdCB7Ci0JdW5zaWduZWQgY2hhciByZWc7Ci0JdW5zaWduZWQgY2hhciBjb3VudDsKLQljb25zdCB1bnNpZ25lZCBjaGFyICpkYXRhOwotfSBjcGlhMl9wYXRjaDsKLQotc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgc3RhcnRfYWRkcmVzc19oaVsxXSA9IHsKLQkweDAxCi19OwotCi1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBzdGFydF9hZGRyZXNzX2xvWzFdID0gewotCTB4QkMKLX07Ci0KLXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhdGNoX2Jsb2NrMFs2NF0gPSB7Ci0JMHhFMywgMHgwMiwgMHhFMywgMHgwMywgMHhFMywgMHgwNCwgMHhFMywgMHgwNSwKLQkweEUzLCAweDA2LCAweEUzLCAweDA3LCAweDkzLCAweDQ0LCAweDU2LCAweEQ0LAotCTB4OTMsIDB4NEUsIDB4NTYsIDB4NTEsIDB4OTMsIDB4NEUsIDB4NTEsIDB4RDYsCi0JMHg5MywgMHg0RSwgMHg0RiwgMHg1NCwgMHg5MywgMHg0RSwgMHg5MiwgMHg0RiwKLQkweDkyLCAweEE0LCAweDkzLCAweDA1LCAweDkyLCAweEY0LCAweDkzLCAweDFCLAotCTB4OTIsIDB4OTIsIDB4OTEsIDB4RTYsIDB4OTIsIDB4MzYsIDB4OTIsIDB4NzQsCi0JMHg5MiwgMHg0QSwgMHg5MiwgMHg4QywgMHg5MiwgMHg4RSwgMHhDOCwgMHhEMCwKLQkweDBCLCAweDQyLCAweDAyLCAweEEwLCAweENBLCAweDkyLCAweDA5LCAweDAyCi19OwotCi1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYXRjaF9ibG9jazFbNjRdID0gewotCTB4QzksIDB4MTAsIDB4MEEsIDB4MEEsIDB4MEEsIDB4ODEsIDB4RTMsIDB4QjgsCi0JMHhFMywgMHhCMCwgMHhFMywgMHhBOCwgMHhFMywgMHhBMCwgMHhFMywgMHg5OCwKLQkweEUzLCAweDkwLCAweEUxLCAweDAwLCAweENGLCAweEQ3LCAweDBBLCAweDEyLAotCTB4Q0MsIDB4OTUsIDB4MDgsIDB4QjIsIDB4MEEsIDB4MTgsIDB4RTEsIDB4MDAsCi0JMHgwMSwgMHhFRSwgMHgwQywgMHgwOCwgMHg0QSwgMHgxMiwgMHhDOCwgMHgxOCwKLQkweEYwLCAweDlBLCAweEMwLCAweDIyLCAweEYzLCAweDFDLCAweDRBLCAweDEzLAotCTB4RjMsIDB4MTQsIDB4QzgsIDB4QTAsIDB4RjIsIDB4MTQsIDB4RjIsIDB4MUMsCi0JMHhFQiwgMHgxMywgMHhEMywgMHhBMiwgMHg2MywgMHgxNiwgMHg0OCwgMHg5RQotfTsKLQotc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGF0Y2hfYmxvY2syWzY0XSA9IHsKLQkweEYwLCAweDE4LCAweEE0LCAweDAzLCAweEYzLCAweDkzLCAweEMwLCAweDU4LAotCTB4RjcsIDB4MTMsIDB4NTEsIDB4OUMsIDB4RTksIDB4MjAsIDB4Q0YsIDB4RUYsCi0JMHg2MywgMHhGOSwgMHg5MiwgMHgyRSwgMHhEMywgMHg1RiwgMHg2MywgMHhGQSwKLQkweDkyLCAweDJFLCAweEQzLCAweDY3LCAweDYzLCAweEZCLCAweDkyLCAweDJFLAotCTB4RDMsIDB4NkYsIDB4RTksIDB4MUEsIDB4NjMsIDB4MTYsIDB4NDgsIDB4QTcsCi0JMHhGMCwgMHgyMCwgMHhBNCwgMHgwNiwgMHhGMywgMHg5NCwgMHhDMCwgMHgyNywKLQkweEY3LCAweDE0LCAweEY1LCAweDEzLCAweDUxLCAweDlELCAweEY2LCAweDEzLAotCTB4NjMsIDB4MTgsIDB4QzQsIDB4MjAsIDB4Q0IsIDB4RUYsIDB4NjMsIDB4RkMKLX07Ci0KLXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhdGNoX2Jsb2NrM1s2NF0gPSB7Ci0JMHg5MiwgMHgyRSwgMHhEMywgMHg3NywgMHg2MywgMHhGRCwgMHg5MiwgMHgyRSwKLQkweEQzLCAweDdGLCAweDYzLCAweEZFLCAweDkyLCAweDJFLCAweEQzLCAweDg3LAotCTB4NjMsIDB4RkYsIDB4OTIsIDB4MkUsIDB4RDMsIDB4OEYsIDB4NjQsIDB4MzgsCi0JMHg5MiwgMHgyRSwgMHhEMywgMHg5NywgMHg2NCwgMHgzOSwgMHg5MiwgMHgyRSwKLQkweEQzLCAweDlGLCAweEUxLCAweDAwLCAweEY1LCAweDNBLCAweEY0LCAweDNCLAotCTB4RjcsIDB4QkYsIDB4RjIsIDB4QkMsIDB4RjIsIDB4M0QsIDB4RTEsIDB4MDAsCi0JMHg4MCwgMHg4NywgMHg5MCwgMHg4MCwgMHg1MSwgMHhENSwgMHgwMiwgMHgyMiwKLQkweDAyLCAweDMyLCAweDRCLCAweEQzLCAweEY3LCAweDExLCAweDBCLCAweERBCi19OwotCi1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYXRjaF9ibG9jazRbNjRdID0gewotCTB4RTEsIDB4MDAsIDB4MEUsIDB4MDIsIDB4MDIsIDB4NDAsIDB4MEQsIDB4QjUsCi0JMHhFMywgMHgwMiwgMHg0OCwgMHg1NSwgMHhFNSwgMHgxMiwgMHhBNCwgMHgwMSwKLQkweEU4LCAweDFCLCAweEUzLCAweDkwLCAweEYwLCAweDE4LCAweEE0LCAweDAxLAotCTB4RTgsIDB4QkYsIDB4OEQsIDB4QjgsIDB4NEIsIDB4RDEsIDB4NEIsIDB4RDgsCi0JMHgwQiwgMHhDQiwgMHgwQiwgMHhDMiwgMHhFMSwgMHgwMCwgMHhFMywgMHgwMiwKLQkweEUzLCAweDAzLCAweDUyLCAweEQzLCAweDYwLCAweDU5LCAweEU2LCAweDkzLAotCTB4MEQsIDB4MjIsIDB4NTIsIDB4RDQsIDB4RTYsIDB4OTMsIDB4MEQsIDB4MkEsCi0JMHhFMywgMHg5OCwgMHhFMywgMHg5MCwgMHhFMSwgMHgwMCwgMHgwMiwgMHg1RAotfTsKLQotc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGF0Y2hfYmxvY2s1WzY0XSA9IHsKLQkweDAyLCAweDYzLCAweEUzLCAweDAyLCAweEM4LCAweDEyLCAweDAyLCAweENBLAotCTB4QzgsIDB4NTIsIDB4MDIsIDB4QzIsIDB4ODIsIDB4NjgsIDB4RTMsIDB4MDIsCi0JMHhDOCwgMHgxNCwgMHgwMiwgMHhDQSwgMHhDOCwgMHg5MCwgMHgwMiwgMHhDMiwKLQkweDBBLCAweEQwLCAweEM5LCAweDkzLCAweDBBLCAweERBLCAweENDLCAweEQyLAotCTB4MEEsIDB4RTIsIDB4NjMsIDB4MTIsIDB4MDIsIDB4REEsIDB4MEEsIDB4OTgsCi0JMHgwQSwgMHhBMCwgMHgwQSwgMHhBOCwgMHhFMywgMHg5MCwgMHhFMSwgMHgwMCwKLQkweEUzLCAweDAyLCAweDBBLCAweEQwLCAweEM5LCAweDkzLCAweDBBLCAweERBLAotCTB4Q0MsIDB4RDIsIDB4MEEsIDB4RTIsIDB4NjMsIDB4MTIsIDB4MDIsIDB4REEKLX07Ci0KLXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhdGNoX2Jsb2NrNls2NF0gPSB7Ci0JMHgwQSwgMHg5OCwgMHgwQSwgMHhBMCwgMHgwQSwgMHhBOCwgMHg0OSwgMHg5MSwKLQkweEU1LCAweDZBLCAweEE0LCAweDA0LCAweEM4LCAweDEyLCAweDAyLCAweENBLAotCTB4QzgsIDB4NTIsIDB4ODIsIDB4ODksIDB4QzgsIDB4MTQsIDB4MDIsIDB4Q0EsCi0JMHhDOCwgMHg5MCwgMHgwMiwgMHhDMiwgMHhFMywgMHg5MCwgMHhFMSwgMHgwMCwKLQkweDA4LCAweDYwLCAweEUxLCAweDAwLCAweDQ4LCAweDUzLCAweEU4LCAweDk3LAotCTB4MDgsIDB4NUEsIDB4RTEsIDB4MDAsIDB4RTMsIDB4MDIsIDB4RTMsIDB4MDMsCi0JMHg1NCwgMHhEMywgMHg2MCwgMHg1OSwgMHhFNiwgMHg5MywgMHgwRCwgMHg1MiwKLQkweEUzLCAweDk4LCAweEUzLCAweDkwLCAweEUxLCAweDAwLCAweDAyLCAweDlDCi19OwotCi1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYXRjaF9ibG9jazdbNjRdID0gewotCTB4RTMsIDB4MDIsIDB4NTUsIDB4MTMsIDB4OTMsIDB4MTcsIDB4NTUsIDB4MTMsCi0JMHg5MywgMHgxNywgMHhFMywgMHg5MCwgMHhFMSwgMHgwMCwgMHg3NSwgMHgzMCwKLQkweEUzLCAweDAyLCAweEUzLCAweDAzLCAweDU1LCAweDU1LCAweDYwLCAweDU5LAotCTB4RTYsIDB4OTMsIDB4MEQsIDB4QjIsIDB4RTMsIDB4OTgsIDB4RTMsIDB4OTAsCi0JMHhFMSwgMHgwMCwgMHgwMiwgMHhBRSwgMHhFNywgMHg5MiwgMHhFOSwgMHgxOCwKLQkweEVBLCAweDlBLCAweEU4LCAweDk4LCAweEU4LCAweDEwLCAweEU4LCAweDExLAotCTB4RTgsIDB4NTEsIDB4RDIsIDB4REEsIDB4RDIsIDB4RjMsIDB4RTgsIDB4MTMsCi0JMHhEMiwgMHhGQSwgMHhFOCwgMHg1MCwgMHhEMiwgMHhFQSwgMHhFOCwgMHhEMAotfTsKLQotc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGF0Y2hfYmxvY2s4WzY0XSA9IHsKLQkweEU4LCAweEQxLCAweEQzLCAweDBBLCAweDAzLCAweDA5LCAweDQ4LCAweDIzLAotCTB4RTUsIDB4MkMsIDB4QTAsIDB4MDMsIDB4NDgsIDB4MjQsIDB4RUEsIDB4MUMsCi0JMHgwMywgMHgwOCwgMHhEMiwgMHhFMywgMHhEMywgMHgwMywgMHhEMywgMHgxMywKLQkweEUxLCAweDAwLCAweDAyLCAweENCLCAweDA1LCAweDkzLCAweDU3LCAweDkzLAotCTB4RjAsIDB4OUEsIDB4QUMsIDB4MEIsIDB4RTMsIDB4MDcsIDB4OTIsIDB4RUEsCi0JMHhFMiwgMHg5RiwgMHhFNSwgMHgwNiwgMHhFMywgMHhCMCwgMHhBMCwgMHgwMiwKLQkweEVCLCAweDFFLCAweDgyLCAweEQ3LCAweEVBLCAweDFFLCAweEUyLCAweDNCLAotCTB4ODUsIDB4OUIsIDB4RTksIDB4MUUsIDB4QzgsIDB4OTAsIDB4ODUsIDB4OTQKLX07Ci0KLXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhdGNoX2Jsb2NrOVs2NF0gPSB7Ci0JMHgwMiwgMHhERSwgMHgwNSwgMHg4MCwgMHg1NywgMHg5MywgMHhGMCwgMHhCQSwKLQkweEFDLCAweDA2LCAweDkyLCAweEVBLCAweEUyLCAweEJGLCAweEU1LCAweDA2LAotCTB4QTAsIDB4MDEsIDB4RUIsIDB4QkYsIDB4ODUsIDB4ODgsIDB4RTksIDB4M0UsCi0JMHhDOCwgMHg5MCwgMHg4NSwgMHg4MSwgMHhFOSwgMHgzRSwgMHhGMCwgMHhCQSwKLQkweEYzLCAweDM5LCAweEYwLCAweDNBLCAweDYwLCAweDE3LCAweEYwLCAweDNBLAotCTB4QzAsIDB4OTAsIDB4RjAsIDB4QkEsIDB4RTEsIDB4MDAsIDB4MDAsIDB4M0YsCi0JMHhFMywgMHgwMiwgMHhFMywgMHgwMywgMHg1OCwgMHgxMCwgMHg2MCwgMHg1OSwKLQkweEU2LCAweDkzLCAweDBELCAweEEyLCAweDU4LCAweDEyLCAweEU2LCAweDkzCi19OwotCi1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYXRjaF9ibG9jazEwWzY0XSA9IHsKLQkweDBELCAweEFBLCAweEUzLCAweDk4LCAweEUzLCAweDkwLCAweEUxLCAweDAwLAotCTB4MDMsIDB4MDEsIDB4RTEsIDB4MDAsIDB4MDMsIDB4MDMsIDB4OUIsIDB4N0QsCi0JMHg4QiwgMHg4QiwgMHhFMywgMHgwMiwgMHhFMywgMHgwMywgMHg1OCwgMHg1NiwKLQkweDYwLCAweDU5LCAweEU2LCAweDkzLCAweDBELCAweEJBLCAweEUzLCAweDk4LAotCTB4RTMsIDB4OTAsIDB4RTEsIDB4MDAsIDB4MDMsIDB4MEYsIDB4OTMsIDB4MTEsCi0JMHhFMSwgMHgwMCwgMHhFMywgMHgwMiwgMHg0QSwgMHgxMSwgMHgwQiwgMHg0MiwKLQkweDkxLCAweEFGLCAweEUzLCAweDkwLCAweEUxLCAweDAwLCAweEYyLCAweDkxLAotCTB4RjAsIDB4OTEsIDB4QTMsIDB4RkUsIDB4RTEsIDB4MDAsIDB4NjAsIDB4OTIKLX07Ci0KLXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhdGNoX2Jsb2NrMTFbNjRdID0gewotCTB4QzAsIDB4NUYsIDB4RjAsIDB4MTMsIDB4RjAsIDB4MTMsIDB4NTksIDB4NUIsCi0JMHhFMiwgMHgxMywgMHhGMCwgMHgxMSwgMHg1QSwgMHgxOSwgMHhFMiwgMHgxMywKLQkweEUxLCAweDAwLCAweDAwLCAweDAwLCAweDAzLCAweDI3LCAweDY4LCAweDYxLAotCTB4NzYsIDB4NjEsIDB4NkUsIDB4NjEsIDB4MDAsIDB4MDYsIDB4MDMsIDB4MkMsCi0JMHhFMywgMHgwMiwgMHhFMywgMHgwMywgMHhFOSwgMHgzOCwgMHg1OSwgMHgxNSwKLQkweDU5LCAweDVBLCAweEYyLCAweDlBLCAweEJDLCAweDBCLCAweEE0LCAweDBBLAotCTB4NTksIDB4MUUsIDB4RjMsIDB4MTEsIDB4RjAsIDB4MUEsIDB4RTIsIDB4QkIsCi0JMHg1OSwgMHgxNSwgMHhGMCwgMHgxMSwgMHgxOSwgMHgyQSwgMHhFNSwgMHgwMgotfTsKLQotc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGF0Y2hfYmxvY2sxMls1NF0gPSB7Ci0JMHhBNCwgMHgwMSwgMHhFQiwgMHhCRiwgMHhFMywgMHg5OCwgMHhFMywgMHg5MCwKLQkweEUxLCAweDAwLCAweDAzLCAweDQyLCAweDE5LCAweDI4LCAweEUxLCAweDAwLAotCTB4RTksIDB4MzAsIDB4NjAsIDB4NzksIDB4RTEsIDB4MDAsIDB4RTMsIDB4MDMsCi0JMHhFMywgMHgwNywgMHg2MCwgMHg3OSwgMHg5MywgMHg0RSwgMHhFMywgMHhCOCwKLQkweEUzLCAweDk4LCAweEUxLCAweDAwLCAweEU5LCAweDFBLCAweEYwLCAweDFGLAotCTB4RTIsIDB4MzMsIDB4RjAsIDB4OTEsIDB4RTIsIDB4OTIsIDB4RTAsIDB4MzIsCi0JMHhGMCwgMHgzMSwgMHhFMSwgMHgwMCwgMHgwMCwgMHgwMAotfTsKLQotc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZG9fY2FsbFsxXSA9IHsKLQkweDAxCi19OwotCi0KLSNkZWZpbmUgUEFUQ0hfREFUQV9TSVpFIDE4Ci0KLXN0YXRpYyBjb25zdCBjcGlhMl9wYXRjaCBwYXRjaF9kYXRhW1BBVENIX0RBVEFfU0laRV0gPSB7Ci0JezB4MEEsIHNpemVvZihzdGFydF9hZGRyZXNzX2hpKSwgc3RhcnRfYWRkcmVzc19oaX0KLQksCQkJLy8gMAotCXsweDBCLCBzaXplb2Yoc3RhcnRfYWRkcmVzc19sbyksIHN0YXJ0X2FkZHJlc3NfbG99Ci0JLAkJCS8vIDEKLQl7MHgwQywgc2l6ZW9mKHBhdGNoX2Jsb2NrMCksIHBhdGNoX2Jsb2NrMH0KLQksCQkJLy8gMgotCXsweDBDLCBzaXplb2YocGF0Y2hfYmxvY2sxKSwgcGF0Y2hfYmxvY2sxfQotCSwJCQkvLyAzCi0JezB4MEMsIHNpemVvZihwYXRjaF9ibG9jazIpLCBwYXRjaF9ibG9jazJ9Ci0JLAkJCS8vIDQKLQl7MHgwQywgc2l6ZW9mKHBhdGNoX2Jsb2NrMyksIHBhdGNoX2Jsb2NrM30KLQksCQkJLy8gNQotCXsweDBDLCBzaXplb2YocGF0Y2hfYmxvY2s0KSwgcGF0Y2hfYmxvY2s0fQotCSwJCQkvLyA2Ci0JezB4MEMsIHNpemVvZihwYXRjaF9ibG9jazUpLCBwYXRjaF9ibG9jazV9Ci0JLAkJCS8vIDcKLQl7MHgwQywgc2l6ZW9mKHBhdGNoX2Jsb2NrNiksIHBhdGNoX2Jsb2NrNn0KLQksCQkJLy8gOAotCXsweDBDLCBzaXplb2YocGF0Y2hfYmxvY2s3KSwgcGF0Y2hfYmxvY2s3fQotCSwJCQkvLyA5Ci0JezB4MEMsIHNpemVvZihwYXRjaF9ibG9jazgpLCBwYXRjaF9ibG9jazh9Ci0JLAkJCS8vIDEwCi0JezB4MEMsIHNpemVvZihwYXRjaF9ibG9jazkpLCBwYXRjaF9ibG9jazl9Ci0JLAkJCS8vMTEKLQl7MHgwQywgc2l6ZW9mKHBhdGNoX2Jsb2NrMTApLCBwYXRjaF9ibG9jazEwfQotCSwJCQkvLyAxMgotCXsweDBDLCBzaXplb2YocGF0Y2hfYmxvY2sxMSksIHBhdGNoX2Jsb2NrMTF9Ci0JLAkJCS8vIDEzCi0JezB4MEMsIHNpemVvZihwYXRjaF9ibG9jazEyKSwgcGF0Y2hfYmxvY2sxMn0KLQksCQkJLy8gMTQKLQl7MHgwQSwgc2l6ZW9mKHN0YXJ0X2FkZHJlc3NfaGkpLCBzdGFydF9hZGRyZXNzX2hpfQotCSwJCQkvLyAxNQotCXsweDBCLCBzaXplb2Yoc3RhcnRfYWRkcmVzc19sbyksIHN0YXJ0X2FkZHJlc3NfbG99Ci0JLAkJCS8vIDE2Ci0JezB4MEQsIHNpemVvZihkb19jYWxsKSwgZG9fY2FsbH0JLy8xNwotfTsKLQotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvdmlkZW8vY3gxOC9jeDE4LWF2LWZpcm13YXJlLmMgYi9kcml2ZXJzL21lZGlhL3ZpZGVvL2N4MTgvY3gxOC1hdi1maXJtd2FyZS5jCmluZGV4IDUyNmUxNDIuLmExYTZhZjYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWVkaWEvdmlkZW8vY3gxOC9jeDE4LWF2LWZpcm13YXJlLmMKKysrIGIvZHJpdmVycy9tZWRpYS92aWRlby9jeDE4L2N4MTgtYXYtZmlybXdhcmUuYwpAQCAtMjksNyArMjksNyBAQAogCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZncgPSBOVUxMOwogCXUzMiBzaXplOwogCXUzMiB2OwotCXU4ICpwdHI7CisJY29uc3QgdTggKnB0cjsKIAlpbnQgaTsKIAogCWlmIChyZXF1ZXN0X2Zpcm13YXJlKCZmdywgRldGSUxFLCAmY3gtPmRldi0+ZGV2KSAhPSAwKSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL3ZpZGVvL2N4MjU4NDAvY3gyNTg0MC1maXJtd2FyZS5jIGIvZHJpdmVycy9tZWRpYS92aWRlby9jeDI1ODQwL2N4MjU4NDAtZmlybXdhcmUuYwppbmRleCA2MjBkMjk1Li44ZDQ4OWE0IDEwMDY0NAotLS0gYS9kcml2ZXJzL21lZGlhL3ZpZGVvL2N4MjU4NDAvY3gyNTg0MC1maXJtd2FyZS5jCisrKyBiL2RyaXZlcnMvbWVkaWEvdmlkZW8vY3gyNTg0MC9jeDI1ODQwLWZpcm13YXJlLmMKQEAgLTc5LDcgKzc5LDcgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBmd193cml0ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50LCB1OCAqZGF0YSwgaW50IHNpemUpCitzdGF0aWMgaW50IGZ3X3dyaXRlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQsIGNvbnN0IHU4ICpkYXRhLCBpbnQgc2l6ZSkKIHsKIAlpZiAoaTJjX21hc3Rlcl9zZW5kKGNsaWVudCwgZGF0YSwgc2l6ZSkgPCBzaXplKSB7CiAJCXY0bF9lcnIoY2xpZW50LCAiZmlybXdhcmUgbG9hZCBpMmMgZmFpbHVyZVxuIik7CkBAIC05Myw3ICs5Myw4IEBACiB7CiAJc3RydWN0IGN4MjU4NDBfc3RhdGUgKnN0YXRlID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7CiAJY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdyA9IE5VTEw7Ci0JdTggYnVmZmVyWzRdLCAqcHRyOworCXU4IGJ1ZmZlcltGV1NFTkRdOworCWNvbnN0IHU4ICpwdHI7CiAJaW50IHNpemUsIHJldHZhbDsKIAogCWlmIChzdGF0ZS0+aXNfY3gyMzg4NSkKQEAgLTEwOCwyOSArMTA5LDIzIEBACiAKIAlidWZmZXJbMF0gPSAweDA4OwogCWJ1ZmZlclsxXSA9IDB4MDI7Ci0JYnVmZmVyWzJdID0gZnctPmRhdGFbMF07Ci0JYnVmZmVyWzNdID0gZnctPmRhdGFbMV07Ci0JcmV0dmFsID0gZndfd3JpdGUoY2xpZW50LCBidWZmZXIsIDQpOwogCi0JaWYgKHJldHZhbCA8IDApIHsKLQkJcmVsZWFzZV9maXJtd2FyZShmdyk7Ci0JCXJldHVybiByZXR2YWw7Ci0JfQotCi0Jc2l6ZSA9IGZ3LT5zaXplIC0gMjsKKwlzaXplID0gZnctPnNpemU7CiAJcHRyID0gZnctPmRhdGE7CiAJd2hpbGUgKHNpemUgPiAwKSB7Ci0JCXB0clswXSA9IDB4MDg7Ci0JCXB0clsxXSA9IDB4MDI7Ci0JCXJldHZhbCA9IGZ3X3dyaXRlKGNsaWVudCwgcHRyLCBtaW4oRldTRU5ELCBzaXplICsgMikpOworCQlpbnQgbGVuID0gbWluKEZXU0VORCAtIDIsIHNpemUpOworCisJCW1lbWNweShidWZmZXIgKyAyLCBwdHIsIGxlbik7CisKKwkJcmV0dmFsID0gZndfd3JpdGUoY2xpZW50LCBidWZmZXIsIGxlbiArIDIpOwogCiAJCWlmIChyZXR2YWwgPCAwKSB7CiAJCQlyZWxlYXNlX2Zpcm13YXJlKGZ3KTsKIAkJCXJldHVybiByZXR2YWw7CiAJCX0KIAotCQlzaXplIC09IEZXU0VORCAtIDI7Ci0JCXB0ciArPSBGV1NFTkQgLSAyOworCQlzaXplIC09IGxlbjsKKwkJcHRyICs9IGxlbjsKIAl9CiAKIAllbmRfZndfbG9hZChjbGllbnQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS92aWRlby9kYWJmaXJtd2FyZS5oIGIvZHJpdmVycy9tZWRpYS92aWRlby9kYWJmaXJtd2FyZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjYmQ5MjYzLi4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvbWVkaWEvdmlkZW8vZGFiZmlybXdhcmUuaAorKysgL2Rldi9udWxsCkBAIC0xLDE0MTUgKzAsMCBAQAotLyoKLSAqIGRhYmRhdGEuaCAtIGRhYiB1c2IgZmlybXdhcmUgYW5kIGJpdHN0cmVhbSBkYXRhCi0gKgotICogQ29weXJpZ2h0IChDKSAxOTk5IEJheUNvbSBHbWJICi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCByZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlCi0gKiBjb2RlIHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBjb21tZW50IHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbi4KLSAqLwotCi1zdGF0aWMgSU5URUxfSEVYX1JFQ09SRCBmaXJtd2FyZVtdID0gewotCi17ICAyLCAweDAwMDAsIDAsIHsweDIxLDB4NTd9IH0sCi17ICAzLCAweDAwMDMsIDAsIHsweDAyLDB4MDEsMHg2Nn0gfSwKLXsgIDMsIDB4MDAwYiwgMCwgezB4MDIsMHgwMSwweDY2fSB9LAoteyAgMywgMHgwMDEzLCAwLCB7MHgwMiwweDAxLDB4NjZ9IH0sCi17ICAzLCAweDAwMWIsIDAsIHsweDAyLDB4MDEsMHg2Nn0gfSwKLXsgIDMsIDB4MDAyMywgMCwgezB4MDIsMHgwMSwweDY2fSB9LAoteyAgMywgMHgwMDJiLCAwLCB7MHgwMiwweDAxLDB4NjZ9IH0sCi17ICAzLCAweDAwMzMsIDAsIHsweDAyLDB4MDMsMHgwZn0gfSwKLXsgIDMsIDB4MDAzYiwgMCwgezB4MDIsMHgwMSwweDY2fSB9LAoteyAgMywgMHgwMDQzLCAwLCB7MHgwMiwweDAxLDB4MDB9IH0sCi17ICAzLCAweDAwNGIsIDAsIHsweDAyLDB4MDEsMHg2Nn0gfSwKLXsgIDMsIDB4MDA1MywgMCwgezB4MDIsMHgwMSwweDY2fSB9LAoteyAgMywgMHgwMDViLCAwLCB7MHgwMiwweDA0LDB4YmR9IH0sCi17ICAzLCAweDAwNjMsIDAsIHsweDAyLDB4MDEsMHg2N30gfSwKLXsgIDMsIDB4MDEwMCwgMCwgezB4MDIsMHgwYywweDVhfSB9LAoteyAgMywgMHgwMTA0LCAwLCB7MHgwMiwweDAxLDB4ZWR9IH0sCi17ICAzLCAweDAxMDgsIDAsIHsweDAyLDB4MDIsMHg1MX0gfSwKLXsgIDMsIDB4MDEwYywgMCwgezB4MDIsMHgwMiwweDdjfSB9LAoteyAgMywgMHgwMTEwLCAwLCB7MHgwMiwweDAyLDB4ZTR9IH0sCi17ICAxLCAweDAxMTQsIDAsIHsweDMyfSB9LAoteyAgMSwgMHgwMTE4LCAwLCB7MHgzMn0gfSwKLXsgIDMsIDB4MDExYywgMCwgezB4MDIsMHgwNSwweGZkfSB9LAoteyAgMywgMHgwMTIwLCAwLCB7MHgwMiwweDAwLDB4MDB9IH0sCi17ICAzLCAweDAxMjQsIDAsIHsweDAyLDB4MDAsMHgwMH0gfSwKLXsgIDMsIDB4MDEyOCwgMCwgezB4MDIsMHgwNCwweDNjfSB9LAoteyAgMywgMHgwMTJjLCAwLCB7MHgwMiwweDA0LDB4NmF9IH0sCi17ICAzLCAweDAxMzAsIDAsIHsweDAyLDB4MDAsMHgwMH0gfSwKLXsgIDMsIDB4MDEzNCwgMCwgezB4MDIsMHgwMCwweDAwfSB9LAoteyAgMywgMHgwMTM4LCAwLCB7MHgwMiwweDAwLDB4MDB9IH0sCi17ICAzLCAweDAxM2MsIDAsIHsweDAyLDB4MDAsMHgwMH0gfSwKLXsgIDMsIDB4MDE0MCwgMCwgezB4MDIsMHgwMCwweDAwfSB9LAoteyAgMywgMHgwMTQ0LCAwLCB7MHgwMiwweDAwLDB4MDB9IH0sCi17ICAzLCAweDAxNDgsIDAsIHsweDAyLDB4MDAsMHgwMH0gfSwKLXsgIDMsIDB4MDE0YywgMCwgezB4MDIsMHgwMCwweDAwfSB9LAoteyAgMywgMHgwMTUwLCAwLCB7MHgwMiwweDAwLDB4MDB9IH0sCi17ICAzLCAweDAxNTQsIDAsIHsweDAyLDB4MDAsMHgwMH0gfSwKLXsgMTAsIDB4MDE1NywgMCwgezB4NzUsMHg4MSwweDdmLDB4ZTUsMHg4MiwweDYwLDB4MDMsMHgwMiwweDAxLDB4NjF9IH0sCi17ICA1LCAweDAxNjEsIDAsIHsweDEyLDB4MDcsMHg2ZiwweDIxLDB4NjR9IH0sCi17ICAxLCAweDAxNjYsIDAsIHsweDMyfSB9LAoteyAxNCwgMHgwMTY3LCAwLCB7MHhjMCwweGQwLDB4YzAsMHg4NiwweGMwLDB4ODIsMHhjMCwweDgzLDB4YzAsMHhlMCwweDkwLDB4N2YsMHg5NywweGUwfSB9LAoteyAxNCwgMHgwMTc1LCAwLCB7MHg0NCwweDgwLDB4ZjAsMHg5MCwweDdmLDB4NjksMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwfSB9LAoteyAxNCwgMHgwMTgzLCAwLCB7MHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwfSB9LAoteyAxNCwgMHgwMTkxLCAwLCB7MHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweDkwLDB4N2YsMHg5NywweGUwfSB9LAoteyAgMywgMHgwMTlmLCAwLCB7MHg1NSwweDdmLDB4ZjB9IH0sCi17IDE0LCAweDAxYTIsIDAsIHsweDkwLDB4N2YsMHg5YSwweGUwLDB4MzAsMHhlNCwweDIzLDB4OTAsMHg3ZiwweDY4LDB4ZjAsMHhmMCwweGYwLDB4ZjB9IH0sCi17IDE0LCAweDAxYjAsIDAsIHsweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjB9IH0sCi17IDE0LCAweDAxYmUsIDAsIHsweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjB9IH0sCi17IDE0LCAweDAxY2MsIDAsIHsweGU1LDB4ZDgsMHhjMiwweGUzLDB4ZjUsMHhkOCwweGQwLDB4ZTAsMHhkMCwweDgzLDB4ZDAsMHg4MiwweGQwLDB4ODZ9IH0sCi17ICAzLCAweDAxZGEsIDAsIHsweGQwLDB4ZDAsMHgzMn0gfSwKLXsgIDgsIDB4MDFkZCwgMCwgezB4NzUsMHg4NiwweDAwLDB4OTAsMHhmZiwweGMzLDB4N2MsMHgwNX0gfSwKLXsgIDcsIDB4MDFlNSwgMCwgezB4YTMsMHhlNSwweDgyLDB4NDUsMHg4MywweDcwLDB4Zjl9IH0sCi17ICAxLCAweDAxZWMsIDAsIHsweDIyfSB9LAoteyAxNCwgMHgwMWVkLCAwLCB7MHhjMCwweGUwLDB4YzAsMHhmMCwweGMwLDB4ODIsMHhjMCwweDgzLDB4YzAsMHgwMiwweGMwLDB4MDMsMHhjMCwweGQwfSB9LAoteyAxNCwgMHgwMWZiLCAwLCB7MHg3NSwweGQwLDB4MDAsMHhjMCwweDg2LDB4NzUsMHg4NiwweDAwLDB4ZTUsMHg5MSwweGMyLDB4ZTQsMHhmNSwweDkxfSB9LAoteyAxMywgMHgwMjA5LCAwLCB7MHg5MCwweDg4LDB4MDAsMHhlMCwweGY1LDB4NDEsMHg5MCwweDdmLDB4YWIsMHg3NCwweDAyLDB4ZjAsMHg5MH0gfSwKLXsgIDksIDB4MDIxNiwgMCwgezB4N2YsMHhhYiwweDc0LDB4MDIsMHhmMCwweGU1LDB4MzIsMHg2MCwweDIxfSB9LAoteyAgNCwgMHgwMjFmLCAwLCB7MHg3YSwweDAwLDB4N2IsMHgwMH0gfSwKLXsgMTEsIDB4MDIyMywgMCwgezB4YzMsMHhlYSwweDk0LDB4MTgsMHhlYiwweDY0LDB4ODAsMHg5NCwweDgwLDB4NTAsMHgxMn0gfSwKLXsgMTQsIDB4MDIyZSwgMCwgezB4OTAsMHg3ZiwweDY5LDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweDBhLDB4YmEsMHgwMH0gfSwKLXsgIDIsIDB4MDIzYywgMCwgezB4MDEsMHgwYn0gfSwKLXsgIDIsIDB4MDIzZSwgMCwgezB4ODAsMHhlM30gfSwKLXsgIDIsIDB4MDI0MCwgMCwgezB4ZDAsMHg4Nn0gfSwKLXsgMTQsIDB4MDI0MiwgMCwgezB4ZDAsMHhkMCwweGQwLDB4MDMsMHhkMCwweDAyLDB4ZDAsMHg4MywweGQwLDB4ODIsMHhkMCwweGYwLDB4ZDAsMHhlMH0gfSwKLXsgIDEsIDB4MDI1MCwgMCwgezB4MzJ9IH0sCi17IDE0LCAweDAyNTEsIDAsIHsweGMwLDB4ZTAsMHhjMCwweGYwLDB4YzAsMHg4MiwweGMwLDB4ODMsMHhjMCwweGQwLDB4NzUsMHhkMCwweDAwLDB4YzB9IH0sCi17IDE0LCAweDAyNWYsIDAsIHsweDg2LDB4NzUsMHg4NiwweDAwLDB4ZTUsMHg5MSwweGMyLDB4ZTQsMHhmNSwweDkxLDB4OTAsMHg3ZiwweGFiLDB4NzR9IH0sCi17ICA0LCAweDAyNmQsIDAsIHsweDA0LDB4ZjAsMHhkMCwweDg2fSB9LAoteyAxMSwgMHgwMjcxLCAwLCB7MHhkMCwweGQwLDB4ZDAsMHg4MywweGQwLDB4ODIsMHhkMCwweGYwLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAxNCwgMHgwMjdjLCAwLCB7MHhjMCwweGUwLDB4YzAsMHhmMCwweGMwLDB4ODIsMHhjMCwweDgzLDB4YzAsMHgwMiwweGMwLDB4MDMsMHhjMCwweDA0fSB9LAoteyAxNCwgMHgwMjhhLCAwLCB7MHhjMCwweDA1LDB4YzAsMHgwNiwweGMwLDB4MDcsMHhjMCwweDAwLDB4YzAsMHgwMSwweGMwLDB4ZDAsMHg3NSwweGQwfSB9LAoteyAxMywgMHgwMjk4LCAwLCB7MHgwMCwweGMwLDB4ODYsMHg3NSwweDg2LDB4MDAsMHhlNSwweDkxLDB4YzIsMHhlNCwweGY1LDB4OTEsMHg5MH0gfSwKLXsgMTIsIDB4MDJhNSwgMCwgezB4N2YsMHhhYiwweDc0LDB4MDgsMHhmMCwweDc1LDB4NmUsMHgwMCwweDc1LDB4NmYsMHgwMiwweDEyfSB9LAoteyAgNiwgMHgwMmIxLCAwLCB7MHgxMSwweDQ0LDB4NzUsMHg3MCwweDM5LDB4NzV9IH0sCi17ICA2LCAweDAyYjcsIDAsIHsweDcxLDB4MGMsMHg3NSwweDcyLDB4MDIsMHgxMn0gfSwKLXsgMTIsIDB4MDJiZCwgMCwgezB4MTEsMHg3NSwweDkwLDB4N2YsMHhkNiwweGU0LDB4ZjAsMHg3NSwweGQ4LDB4MjAsMHhkMCwweDg2fSB9LAoteyAxNCwgMHgwMmM5LCAwLCB7MHhkMCwweGQwLDB4ZDAsMHgwMSwweGQwLDB4MDAsMHhkMCwweDA3LDB4ZDAsMHgwNiwweGQwLDB4MDUsMHhkMCwweDA0fSB9LAoteyAxMywgMHgwMmQ3LCAwLCB7MHhkMCwweDAzLDB4ZDAsMHgwMiwweGQwLDB4ODMsMHhkMCwweDgyLDB4ZDAsMHhmMCwweGQwLDB4ZTAsMHgzMn0gfSwKLXsgMTQsIDB4MDJlNCwgMCwgezB4YzAsMHhlMCwweGMwLDB4ZjAsMHhjMCwweDgyLDB4YzAsMHg4MywweGMwLDB4ZDAsMHg3NSwweGQwLDB4MDAsMHhjMH0gfSwKLXsgMTQsIDB4MDJmMiwgMCwgezB4ODYsMHg3NSwweDg2LDB4MDAsMHhlNSwweDkxLDB4YzIsMHhlNCwweGY1LDB4OTEsMHg5MCwweDdmLDB4YWIsMHg3NH0gfSwKLXsgIDQsIDB4MDMwMCwgMCwgezB4MTAsMHhmMCwweGQwLDB4ODZ9IH0sCi17IDExLCAweDAzMDQsIDAsIHsweGQwLDB4ZDAsMHhkMCwweDgzLDB4ZDAsMHg4MiwweGQwLDB4ZjAsMHhkMCwweGUwLDB4MzJ9IH0sCi17IDE0LCAweDAzMGYsIDAsIHsweGMwLDB4ZTAsMHhjMCwweGYwLDB4YzAsMHg4MiwweGMwLDB4ODMsMHhjMCwweDAyLDB4YzAsMHgwMywweGMwLDB4MDR9IH0sCi17IDE0LCAweDAzMWQsIDAsIHsweGMwLDB4MDUsMHhjMCwweDA2LDB4YzAsMHgwNywweGMwLDB4MDAsMHhjMCwweDAxLDB4YzAsMHhkMCwweDc1LDB4ZDB9IH0sCi17IDEyLCAweDAzMmIsIDAsIHsweDAwLDB4YzAsMHg4NiwweDc1LDB4ODYsMHgwMCwweDc1LDB4NmUsMHgwMCwweDc1LDB4NmYsMHgwMn0gfSwKLXsgIDcsIDB4MDMzNywgMCwgezB4MTIsMHgxMSwweDQ0LDB4NzUsMHg3MCwweDQwLDB4NzV9IH0sCi17ICA2LCAweDAzM2UsIDAsIHsweDcxLDB4MGMsMHg3NSwweDcyLDB4MDIsMHgxMn0gfSwKLXsgMTQsIDB4MDM0NCwgMCwgezB4MTEsMHg3NSwweDkwLDB4N2YsMHhkNiwweDc0LDB4MDIsMHhmMCwweDkwLDB4N2YsMHhkNiwweDc0LDB4MDYsMHhmMH0gfSwKLXsgIDUsIDB4MDM1MiwgMCwgezB4NzUsMHhkOCwweDEwLDB4ZDAsMHg4Nn0gfSwKLXsgMTQsIDB4MDM1NywgMCwgezB4ZDAsMHhkMCwweGQwLDB4MDEsMHhkMCwweDAwLDB4ZDAsMHgwNywweGQwLDB4MDYsMHhkMCwweDA1LDB4ZDAsMHgwNH0gfSwKLXsgMTMsIDB4MDM2NSwgMCwgezB4ZDAsMHgwMywweGQwLDB4MDIsMHhkMCwweDgzLDB4ZDAsMHg4MiwweGQwLDB4ZjAsMHhkMCwweGUwLDB4MzJ9IH0sCi17IDEzLCAweDAzNzIsIDAsIHsweDkwLDB4N2YsMHhhNSwweDc0LDB4ODAsMHhmMCwweDkwLDB4N2YsMHhhNiwweDc0LDB4OWEsMHhmMCwweDEyfSB9LAoteyAxMiwgMHgwMzdmLCAwLCB7MHgxMCwweDFiLDB4OTAsMHg3ZiwweGE2LDB4ZTUsMHg0MiwweGYwLDB4MTIsMHgxMCwweDFiLDB4OTB9IH0sCi17IDEzLCAweDAzOGIsIDAsIHsweDdmLDB4YTYsMHhlNSwweDQzLDB4ZjAsMHgxMiwweDEwLDB4MWIsMHg5MCwweDdmLDB4YTUsMHg3NCwweDQwfSB9LAoteyAgMSwgMHgwMzk4LCAwLCB7MHhmMH0gfSwKLXsgIDEsIDB4MDM5OSwgMCwgezB4MjJ9IH0sCi17IDEzLCAweDAzOWEsIDAsIHsweDkwLDB4N2YsMHhhNSwweDc0LDB4ODAsMHhmMCwweDkwLDB4N2YsMHhhNiwweDc0LDB4OWEsMHhmMCwweDEyfSB9LAoteyAxMiwgMHgwM2E3LCAwLCB7MHgxMCwweDFiLDB4OTAsMHg3ZiwweGE2LDB4ZTUsMHg0NCwweGYwLDB4MTIsMHgxMCwweDFiLDB4OTB9IH0sCi17IDEyLCAweDAzYjMsIDAsIHsweDdmLDB4YTYsMHhlNSwweDQ1LDB4ZjAsMHgxMiwweDEwLDB4MWIsMHg5MCwweDdmLDB4YTYsMHhlNX0gfSwKLXsgMTEsIDB4MDNiZiwgMCwgezB4NDYsMHhmMCwweDEyLDB4MTAsMHgxYiwweDkwLDB4N2YsMHhhNSwweDc0LDB4NDAsMHhmMH0gfSwKLXsgIDEsIDB4MDNjYSwgMCwgezB4MjJ9IH0sCi17IDEwLCAweDAzY2IsIDAsIHsweDc1LDB4NDQsMHgwMiwweDc1LDB4NDUsMHgwMCwweDc1LDB4NDYsMHgwMCwweDEyfSB9LAoteyAgOSwgMHgwM2Q1LCAwLCB7MHgwMywweDlhLDB4NzUsMHg0MiwweDAzLDB4NzUsMHg0MywweDAwLDB4MTJ9IH0sCi17ICAyLCAweDAzZGUsIDAsIHsweDAzLDB4NzJ9IH0sCi17ICAxLCAweDAzZTAsIDAsIHsweDIyfSB9LAoteyAxMiwgMHgwM2UxLCAwLCB7MHg5MCwweDg4LDB4MDAsMHhlNSwweDM2LDB4ZjAsMHg5MCwweDg4LDB4MDAsMHg3NCwweDEwLDB4MjV9IH0sCi17ICA5LCAweDAzZWQsIDAsIHsweDM2LDB4ZjAsMHgxMiwweDAxLDB4ZGQsMHg3NSwweDQyLDB4MDEsMHg3NX0gfSwKLXsgIDksIDB4MDNmNiwgMCwgezB4NDMsMHgxOCwweDEyLDB4MDMsMHg3MiwweDc1LDB4NDQsMHgwMiwweDc1fSB9LAoteyAgOSwgMHgwM2ZmLCAwLHsweDQ1LDB4MDAsMHg3NSwweDQ2LDB4MDAsMHgxMiwweDAzLDB4OWEsMHg3NX0gfSwKLXsgIDgsIDB4MDQwOCwgMCx7MHg0MiwweDAzLDB4NzUsMHg0MywweDQ0LDB4MTIsMHgwMywweDcyfSB9LAoteyAgMSwgMHgwNDEwLCAwLHsweDIyfSB9LAoteyAxNCwgMHgwNDExLCAwLCB7MHhjMCwweGUwLDB4YzAsMHhmMCwweGMwLDB4ODIsMHhjMCwweDgzLDB4YzAsMHhkMCwweDc1LDB4ZDAsMHgwMCwweGMwfSB9LAoteyAxNCwgMHgwNDFmLCAwLCB7MHg4NiwweDc1LDB4ODYsMHgwMCwweGU1LDB4OTEsMHhjMiwweGU0LDB4ZjUsMHg5MSwweDkwLDB4N2YsMHhhYSwweDc0fSB9LAoteyAgNCwgMHgwNDJkLCAwLCB7MHgwMiwweGYwLDB4ZDAsMHg4Nn0gfSwKLXsgMTEsIDB4MDQzMSwgMCwgezB4ZDAsMHhkMCwweGQwLDB4ODMsMHhkMCwweDgyLDB4ZDAsMHhmMCwweGQwLDB4ZTAsMHgzMn0gfSwKLXsgMTQsIDB4MDQzYywgMCwgezB4YzAsMHhlMCwweGMwLDB4ZjAsMHhjMCwweDgyLDB4YzAsMHg4MywweGMwLDB4ZDAsMHg3NSwweGQwLDB4MDAsMHhjMH0gfSwKLXsgMTQsIDB4MDQ0YSwgMCwgezB4ODYsMHg3NSwweDg2LDB4MDAsMHhlNSwweDkxLDB4YzIsMHhlNCwweGY1LDB4OTEsMHg5MCwweDdmLDB4YTksMHg3NH0gfSwKLXsgIDcsIDB4MDQ1OCwgMCwgezB4MDQsMHhmMCwweDc1LDB4MzAsMHgwMSwweGQwLDB4ODZ9IH0sCi17IDExLCAweDA0NWYsIDAsIHsweGQwLDB4ZDAsMHhkMCwweDgzLDB4ZDAsMHg4MiwweGQwLDB4ZjAsMHhkMCwweGUwLDB4MzJ9IH0sCi17IDE0LCAweDA0NmEsIDAsIHsweGMwLDB4ZTAsMHhjMCwweGYwLDB4YzAsMHg4MiwweGMwLDB4ODMsMHhjMCwweGQwLDB4NzUsMHhkMCwweDAwLDB4YzB9IH0sCi17IDE0LCAweDA0NzgsIDAsIHsweDg2LDB4NzUsMHg4NiwweDAwLDB4ZTUsMHg5MSwweGMyLDB4ZTQsMHhmNSwweDkxLDB4OTAsMHg3ZiwweGFhLDB4NzR9IH0sCi17ICA3LCAweDA0ODYsIDAsIHsweDA0LDB4ZjAsMHg3NSwweDMxLDB4MDEsMHhkMCwweDg2fSB9LAoteyAxMSwgMHgwNDhkLCAwLCB7MHhkMCwweGQwLDB4ZDAsMHg4MywweGQwLDB4ODIsMHhkMCwweGYwLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAxNCwgMHgwNDk4LCAwLCB7MHhjMCwweGUwLDB4YzAsMHhmMCwweGMwLDB4ODIsMHhjMCwweDgzLDB4YzAsMHhkMCwweDc1LDB4ZDAsMHgwMCwweGMwfSB9LAoteyAxMiwgMHgwNGE2LCAwLCB7MHg4NiwweDc1LDB4ODYsMHgwMCwweGU1LDB4OTEsMHhjMiwweGU1LDB4ZjUsMHg5MSwweGQwLDB4ODZ9IH0sCi17IDExLCAweDA0YjIsIDAsIHsweGQwLDB4ZDAsMHhkMCwweDgzLDB4ZDAsMHg4MiwweGQwLDB4ZjAsMHhkMCwweGUwLDB4MzJ9IH0sCi17IDE0LCAweDA0YmQsIDAsIHsweGMwLDB4ZTAsMHhjMCwweGYwLDB4YzAsMHg4MiwweGMwLDB4ODMsMHhjMCwweGQwLDB4NzUsMHhkMCwweDAwLDB4YzB9IH0sCi17IDEyLCAweDA0Y2IsIDAsIHsweDg2LDB4NzUsMHg4NiwweDAwLDB4ZTUsMHg5MSwweGMyLDB4ZTcsMHhmNSwweDkxLDB4ZDAsMHg4Nn0gfSwKLXsgMTEsIDB4MDRkNywgMCwgezB4ZDAsMHhkMCwweGQwLDB4ODMsMHhkMCwweDgyLDB4ZDAsMHhmMCwweGQwLDB4ZTAsMHgzMn0gfSwKLXsgMTIsIDB4MDRlMiwgMCwgezB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmYSwweDhhLDB4MjAsMHg5MCwweDdmLDB4OTYsMHhlNCwweGYwfSB9LAoteyAgMSwgMHgwNGVlLCAwLCB7MHgyMn0gfSwKLXsgIDcsIDB4MDRlZiwgMCwgezB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmYSwweDhhLDB4MjF9IH0sCi17ICAxLCAweDA0ZjYsIDAsIHsweDIyfSB9LAoteyAxNCwgMHgwNGY3LCAwLCB7MHg5MCwweDE3LDB4MTMsMHhlMCwweGZhLDB4OTAsMHgxNywweDE1LDB4ZTAsMHhmYiwweDc0LDB4ODAsMHgyYSwweGZhfSB9LAoteyAxNCwgMHgwNTA1LCAwLCB7MHg3NCwweDgwLDB4MmIsMHhmYiwweGVhLDB4MDMsMHgwMywweDU0LDB4M2YsMHhmYywweGVhLDB4YzQsMHgyMywweDU0fSB9LAoteyAxNCwgMHgwNTEzLCAwLCB7MHgxZiwweGZhLDB4MmMsMHhmYSwweGViLDB4MDMsMHgwMywweDU0LDB4M2YsMHhmYywweGViLDB4YzQsMHgyMywweDU0fSB9LAoteyAxMSwgMHgwNTIxLCAwLCB7MHgxZiwweGZiLDB4MmMsMHhmYiwweDkwLDB4MTcsMHgwYSwweGUwLDB4ZmMsMHg2MCwweDAyfSB9LAoteyAgMiwgMHgwNTJjLCAwLCB7MHg3YSwweDAwfSB9LAoteyAgNywgMHgwNTJlLCAwLCB7MHg5MCwweDE3LDB4MGMsMHhlMCwweGZjLDB4NjAsMHgwMn0gfSwKLXsgIDIsIDB4MDUzNSwgMCwgezB4N2IsMHgwMH0gfSwKLXsgMTEsIDB4MDUzNywgMCwgezB4ZWEsMHgyYiwweGZjLDB4YzMsMHgxMywweGY1LDB4M2EsMHg3NSwweDQ0LDB4MDIsMHg4Yn0gfSwKLXsgIDcsIDB4MDU0MiwgMCwgezB4NDUsMHg4YSwweDQ2LDB4MTIsMHgwMywweDlhLDB4NzV9IH0sCi17ICA5LCAweDA1NDksIDAsIHsweDZlLDB4MDgsMHg3NSwweDZmLDB4MDAsMHgxMiwweDExLDB4NDQsMHg3NX0gfSwKLXsgIDQsIDB4MDU1MiwgMCwgezB4NzAsMHg0NywweDc1LDB4NzF9IH0sCi17ICA4LCAweDA1NTYsIDAsIHsweDBjLDB4NzUsMHg3MiwweDAyLDB4MTIsMHgxMSwweDc1LDB4ODV9IH0sCi17ICA1LCAweDA1NWUsIDAsIHsweDNhLDB4NzMsMHgxMiwweDExLDB4YTB9IH0sCi17ICAxLCAweDA1NjMsIDAsIHsweDIyfSB9LAoteyAxNCwgMHgwNTY0LCAwLCB7MHg5MCwweDdmLDB4OTYsMHhlMCwweGZhLDB4OTAsMHg3ZiwweDk2LDB4NzQsMHg4MCwweDY1LDB4MDIsMHhmMCwweDkwfSB9LAoteyAxNCwgMHgwNTcyLCAwLCB7MHg3ZiwweGViLDB4ZTAsMHhmYSwweDkwLDB4N2YsMHhlYSwweGUwLDB4ZmIsMHg5MCwweDdmLDB4ZWYsMHhlMCwweGZjfSB9LAoteyAxNCwgMHgwNTgwLCAwLCB7MHgzMywweDk1LDB4ZTAsMHhmZCwweDhjLDB4MDUsMHg3YywweDAwLDB4OTAsMHg3ZiwweGVlLDB4ZTAsMHhmZSwweDMzfSB9LAoteyAxNCwgMHgwNThlLCAwLCB7MHg5NSwweGUwLDB4ZmYsMHhlYywweDJlLDB4ZmMsMHhlZCwweDNmLDB4ZmQsMHg5MCwweDdmLDB4ZTksMHhlMCwweGZlfSB9LAoteyAgNSwgMHgwNTljLCAwLCB7MHhiZSwweDAxLDB4MDIsMHg4MCwweDAzfSB9LAoteyAgMywgMHgwNWExLCAwLCB7MHgwMiwweDA1LDB4Zjl9IH0sCi17ICA2LCAweDA1YTQsIDAsIHsweGJjLDB4MDEsMHgyMSwweGJkLDB4MDAsMHgxZX0gfSwKLXsgMTQsIDB4MDVhYSwgMCwgezB4ZWEsMHhjNCwweDAzLDB4NTQsMHhmOCwweGZjLDB4ZWIsMHgyNSwweGUwLDB4ZmQsMHgyYywweDI0LDB4MDAsMHhmY30gfSwKLXsgMTQsIDB4MDViOCwgMCwgezB4ZTQsMHgzNCwweDE3LDB4ZmQsMHg5MCwweDdlLDB4YzAsMHhlMCwweGZlLDB4OGMsMHg4MiwweDhkLDB4ODMsMHhmMH0gfSwKLXsgIDIsIDB4MDVjNiwgMCwgezB4ODAsMHgzMX0gfSwKLXsgMTQsIDB4MDVjOCwgMCwgezB4ZWEsMHhjNCwweDAzLDB4NTQsMHhmOCwweGZhLDB4ZWIsMHgyNSwweGUwLDB4ZmIsMHgyYSwweGZhLDB4MjQsMHgwMH0gfSwKLXsgMTQsIDB4MDVkNiwgMCwgezB4ZmIsMHhlNCwweDM0LDB4MTcsMHhmYywweDkwLDB4N2UsMHhjMCwweGUwLDB4ZmQsMHg4YiwweDgyLDB4OGMsMHg4M30gfSwKLXsgMTQsIDB4MDVlNCwgMCwgezB4ZjAsMHg3NCwweDAxLDB4MmEsMHgyNCwweDAwLDB4ZmEsMHhlNCwweDM0LDB4MTcsMHhmYiwweDkwLDB4N2UsMHhjMX0gfSwKLXsgIDcsIDB4MDVmMiwgMCwgezB4ZTAsMHhmYywweDhhLDB4ODIsMHg4YiwweDgzLDB4ZjB9IH0sCi17ICAzLCAweDA1ZjksIDAsIHsweDc1LDB4MzgsMHgwMX0gfSwKLXsgIDEsIDB4MDVmYywgMCwgezB4MjJ9IH0sCi17IDE0LCAweDA1ZmQsIDAsIHsweGMwLDB4ZTAsMHhjMCwweGYwLDB4YzAsMHg4MiwweGMwLDB4ODMsMHhjMCwweDAyLDB4YzAsMHgwMywweGMwLDB4MDR9IH0sCi17IDE0LCAweDA2MGIsIDAsIHsweGMwLDB4MDUsMHhjMCwweDA2LDB4YzAsMHgwNywweGMwLDB4MDAsMHhjMCwweDAxLDB4YzAsMHhkMCwweDc1LDB4ZDB9IH0sCi17IDEzLCAweDA2MTksIDAsIHsweDAwLDB4YzAsMHg4NiwweDc1LDB4ODYsMHgwMCwweGU1LDB4OTEsMHhjMiwweGU0LDB4ZjUsMHg5MSwweDkwfSB9LAoteyAxMywgMHgwNjI2LCAwLCB7MHg3ZiwweGFhLDB4NzQsMHgwMSwweGYwLDB4MTIsMHgwNSwweDY0LDB4NzUsMHgzNywweDAwLDB4ZDAsMHg4Nn0gfSwKLXsgMTQsIDB4MDYzMywgMCwgezB4ZDAsMHhkMCwweGQwLDB4MDEsMHhkMCwweDAwLDB4ZDAsMHgwNywweGQwLDB4MDYsMHhkMCwweDA1LDB4ZDAsMHgwNH0gfSwKLXsgMTMsIDB4MDY0MSwgMCwgezB4ZDAsMHgwMywweGQwLDB4MDIsMHhkMCwweDgzLDB4ZDAsMHg4MiwweGQwLDB4ZjAsMHhkMCwweGUwLDB4MzJ9IH0sCi17IDE0LCAweDA2NGUsIDAsIHsweDkwLDB4N2YsMHhlYiwweGUwLDB4ZmEsMHg5MCwweDdmLDB4ZWEsMHhlMCwweGZiLDB4OTAsMHg3ZiwweGVlLDB4ZTB9IH0sCi17IDE0LCAweDA2NWMsIDAsIHsweGZjLDB4MzMsMHg5NSwweGUwLDB4ZmQsMHg5MCwweDdmLDB4OTYsMHhlMCwweGZlLDB4OTAsMHg3ZiwweDk2LDB4NzR9IH0sCi17IDE0LCAweDA2NmEsIDAsIHsweDgwLDB4NjUsMHgwNiwweGYwLDB4OTAsMHg3ZiwweDAwLDB4NzQsMHgwMSwweGYwLDB4ZWEsMHhjNCwweDAzLDB4NTR9IH0sCi17IDE0LCAweDA2NzgsIDAsIHsweGY4LDB4ZmUsMHhlYiwweDI1LDB4ZTAsMHhmYiwweDJlLDB4ZmUsMHgyNCwweDAwLDB4ZmIsMHhlNCwweDM0LDB4MTd9IH0sCi17IDE0LCAweDA2ODYsIDAsIHsweGZmLDB4OGIsMHg4MiwweDhmLDB4ODMsMHhlMCwweGZiLDB4NzQsMHgwMSwweDJlLDB4MjQsMHgwMCwweGZlLDB4ZTR9IH0sCi17IDE0LCAweDA2OTQsIDAsIHsweDM0LDB4MTcsMHhmZiwweDhlLDB4ODIsMHg4ZiwweDgzLDB4ZTAsMHhmZSwweDkwLDB4N2YsMHhlOSwweGUwLDB4ZmZ9IH0sCi17ICAzLCAweDA2YTIsIDAsIHsweGJmLDB4ODEsMHgwYX0gfSwKLXsgMTAsIDB4MDZhNSwgMCwgezB4OTAsMHg3ZiwweDAwLDB4ZWIsMHhmMCwweDkwLDB4N2YsMHgwMSwweGVlLDB4ZjB9IH0sCi17ICA4LCAweDA2YWYsIDAsIHsweDkwLDB4N2YsMHhlOSwweGUwLDB4ZmIsMHhiYiwweDgyLDB4MWF9IH0sCi17ICAzLCAweDA2YjcsIDAsIHsweGJhLDB4MDEsMHgwY30gfSwKLXsgMTIsIDB4MDZiYSwgMCwgezB4OTAsMHg3ZiwweDAwLDB4ZTQsMHhmMCwweDkwLDB4N2YsMHgwMSwweGU0LDB4ZjAsMHg4MCwweDBifSB9LAoteyAxMSwgMHgwNmM2LCAwLCB7MHg5MCwweDdmLDB4MDAsMHhlNCwweGYwLDB4OTAsMHg3ZiwweDAxLDB4NzQsMHhiNSwweGYwfSB9LAoteyAgOCwgMHgwNmQxLCAwLCB7MHg5MCwweDdmLDB4ZTksMHhlMCwweGZiLDB4YmIsMHg4MywweDFifSB9LAoteyAgMywgMHgwNmQ5LCAwLCB7MHhiYSwweDAxLDB4MGR9IH0sCi17IDEzLCAweDA2ZGMsIDAsIHsweDkwLDB4N2YsMHgwMCwweDc0LDB4MDEsMHhmMCwweDkwLDB4N2YsMHgwMSwweGU0LDB4ZjAsMHg4MCwweDBifSB9LAoteyAxMSwgMHgwNmU5LCAwLCB7MHg5MCwweDdmLDB4MDAsMHhlNCwweGYwLDB4OTAsMHg3ZiwweDAxLDB4NzQsMHgxMiwweGYwfSB9LAoteyAgOCwgMHgwNmY0LCAwLCB7MHg5MCwweDdmLDB4ZTksMHhlMCwweGZiLDB4YmIsMHg4NCwweDFjfSB9LAoteyAgMywgMHgwNmZjLCAwLCB7MHhiYSwweDAxLDB4MGR9IH0sCi17IDEzLCAweDA2ZmYsIDAsIHsweDkwLDB4N2YsMHgwMCwweDc0LDB4MDEsMHhmMCwweDkwLDB4N2YsMHgwMSwweGU0LDB4ZjAsMHg4MCwweDBjfSB9LAoteyAxMiwgMHgwNzBjLCAwLCB7MHg5MCwweDdmLDB4MDAsMHg3NCwweDgwLDB4ZjAsMHg5MCwweDdmLDB4MDEsMHg3NCwweDAxLDB4ZjB9IH0sCi17ICA1LCAweDA3MTgsIDAsIHsweDkwLDB4N2YsMHhiNSwweGVjLDB4ZjB9IH0sCi17ICAxLCAweDA3MWQsIDAsIHsweDIyfSB9LAoteyAxMiwgMHgwNzFlLCAwLCB7MHg3NSwweDM2LDB4MGQsMHg5MCwweDg4LDB4MDAsMHg3NCwweDFkLDB4ZjAsMHg3NSwweDZiLDB4ODB9IH0sCi17IDEwLCAweDA3MmEsIDAsIHsweDc1LDB4NmMsMHgzYywweDEyLDB4MTAsMHhlMiwweDc1LDB4NmIsMHg4MCwweDc1fSB9LAoteyAgOSwgMHgwNzM0LCAwLCB7MHg2YywweDBmLDB4MTIsMHgxMCwweGUyLDB4NzUsMHg2YiwweDgwLDB4NzV9IH0sCi17ICA5LCAweDA3M2QsIDAsIHsweDZjLDB4MDYsMHgxMiwweDEwLDB4ZTIsMHg3NSwweDZiLDB4ODAsMHg3NX0gfSwKLXsgIDcsIDB4MDc0NiwgMCwgezB4NmMsMHgwMSwweDEyLDB4MTAsMHhlMiwweDdhLDB4MDB9IH0sCi17ICAzLCAweDA3NGQsIDAsIHsweGJhLDB4ZmYsMHgwMH0gfSwKLXsgIDIsIDB4MDc1MCwgMCwgezB4NTAsMHgwYX0gfSwKLXsgMTAsIDB4MDc1MiwgMCwgezB4YzAsMHgwMiwweDEyLDB4MDEsMHhkZCwweGQwLDB4MDIsMHgwYSwweDgwLDB4ZjF9IH0sCi17IDEwLCAweDA3NWMsIDAsIHsweDc1LDB4NmIsMHg4MCwweDc1LDB4NmMsMHgzYywweDEyLDB4MTAsMHhlMiwweDc1fSB9LAoteyAgOCwgMHgwNzY2LCAwLCB7MHg2YiwweDgwLDB4NzUsMHg2YywweDBmLDB4MTIsMHgxMCwweGUyfSB9LAoteyAgMSwgMHgwNzZlLCAwLCB7MHgyMn0gfSwKLXsgMTQsIDB4MDc2ZiwgMCwgezB4OTAsMHg3ZiwweGExLDB4ZTQsMHhmMCwweDkwLDB4N2YsMHhhZiwweDc0LDB4MDEsMHhmMCwweDkwLDB4N2YsMHg5Mn0gfSwKLXsgMTQsIDB4MDc3ZCwgMCwgezB4NzQsMHgwMiwweGYwLDB4NzUsMHg4ZSwweDMxLDB4NzUsMHg4OSwweDIxLDB4NzUsMHg4OCwweDAwLDB4NzUsMHhjOH0gfSwKLXsgMTQsIDB4MDc4YiwgMCwgezB4MDAsMHg3NSwweDhkLDB4NDAsMHg3NSwweDk4LDB4NDAsMHg3NSwweGMwLDB4NDAsMHg3NSwweDg3LDB4MDAsMHg3NX0gfSwKLXsgIDksIDB4MDc5OSwgMCwgezB4MjAsMHgwMCwweDc1LDB4MjEsMHgwMCwweDc1LDB4MjIsMHgwMCwweDc1fSB9LAoteyAgNSwgMHgwN2EyLCAwLCB7MHgyMywweDAwLDB4NzUsMHg0NywweDAwfSB9LAoteyAgNywgMHgwN2E3LCAwLCB7MHhjMywweGU1LDB4NDcsMHg5NCwweDIwLDB4NTAsMHgxMX0gfSwKLXsgMTMsIDB4MDdhZSwgMCwgezB4ZTUsMHg0NywweDI0LDB4MDAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDE3LDB4ZjUsMHg4MywweGU0LDB4ZjB9IH0sCi17ICA0LCAweDA3YmIsIDAsIHsweDA1LDB4NDcsMHg4MCwweGU4fSB9LAoteyAgOSwgMHgwN2JmLCAwLCB7MHhlNCwweGY1LDB4NDAsMHhmNSwweDNmLDB4ZTQsMHhmNSwweDNjLDB4ZjV9IH0sCi17ICA3LCAweDA3YzgsIDAsIHsweDNiLDB4ZTQsMHhmNSwweDNlLDB4ZjUsMHgzZCwweDc1fSB9LAoteyAxMSwgMHgwN2NmLCAwLCB7MHgzMiwweDAwLDB4NzUsMHgzNywweDAwLDB4NzUsMHgzOSwweDAwLDB4OTAsMHg3ZiwweDkzfSB9LAoteyAxNCwgMHgwN2RhLCAwLCB7MHg3NCwweDNjLDB4ZjAsMHg5MCwweDdmLDB4OWMsMHg3NCwweGZmLDB4ZjAsMHg5MCwweDdmLDB4OTYsMHg3NCwweDgwfSB9LAoteyAxNCwgMHgwN2U4LCAwLCB7MHhmMCwweDkwLDB4N2YsMHg5NCwweDc0LDB4NzAsMHhmMCwweDkwLDB4N2YsMHg5ZCwweDc0LDB4OGYsMHhmMCwweDkwfSB9LAoteyAxNCwgMHgwN2Y2LCAwLCB7MHg3ZiwweDk3LDB4ZTQsMHhmMCwweDkwLDB4N2YsMHg5NSwweDc0LDB4YzIsMHhmMCwweDkwLDB4N2YsMHg5OCwweDc0fSB9LAoteyAxNCwgMHgwODA0LCAwLCB7MHgyOCwweGYwLDB4OTAsMHg3ZiwweDllLDB4NzQsMHgyOCwweGYwLDB4OTAsMHg3ZiwweGYwLDB4ZTQsMHhmMCwweDkwfSB9LAoteyAxNCwgMHgwODEyLCAwLCB7MHg3ZiwweGYxLDB4ZTQsMHhmMCwweDkwLDB4N2YsMHhmMiwweGU0LDB4ZjAsMHg5MCwweDdmLDB4ZjMsMHhlNCwweGYwfSB9LAoteyAxNCwgMHgwODIwLCAwLCB7MHg5MCwweDdmLDB4ZjQsMHhlNCwweGYwLDB4OTAsMHg3ZiwweGY1LDB4ZTQsMHhmMCwweDkwLDB4N2YsMHhmNiwweGU0fSB9LAoteyAxNCwgMHgwODJlLCAwLCB7MHhmMCwweDkwLDB4N2YsMHhmNywweGU0LDB4ZjAsMHg5MCwweDdmLDB4ZjgsMHhlNCwweGYwLDB4OTAsMHg3ZiwweGY5fSB9LAoteyAxNCwgMHgwODNjLCAwLCB7MHg3NCwweDM4LDB4ZjAsMHg5MCwweDdmLDB4ZmEsMHg3NCwweGEwLDB4ZjAsMHg5MCwweDdmLDB4ZmIsMHg3NCwweGEwfSB9LAoteyAxNCwgMHgwODRhLCAwLCB7MHhmMCwweDkwLDB4N2YsMHhmYywweDc0LDB4YTAsMHhmMCwweDkwLDB4N2YsMHhmZCwweDc0LDB4YTAsMHhmMCwweDkwfSB9LAoteyAxNCwgMHgwODU4LCAwLCB7MHg3ZiwweGZlLDB4NzQsMHhhMCwweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhhMCwweGYwLDB4OTAsMHg3ZiwweGUwfSB9LAoteyAxNCwgMHgwODY2LCAwLCB7MHg3NCwweDAzLDB4ZjAsMHg5MCwweDdmLDB4ZTEsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDdmLDB4ZGQsMHg3NCwweDgwfSB9LAoteyAxMSwgMHgwODc0LCAwLCB7MHhmMCwweDEyLDB4MTIsMHg0MywweDEyLDB4MDcsMHgxZSwweDdhLDB4MDAsMHg3YiwweDAwfSB9LAoteyAgOSwgMHgwODdmLCAwLCB7MHhjMywweGVhLDB4OTQsMHgxZSwweGViLDB4OTQsMHgwMCwweDUwLDB4MTd9IH0sCi17IDEyLCAweDA4ODgsIDAsIHsweDkwLDB4ODgsMHgwMCwweGUwLDB4ZjUsMHg0NywweDkwLDB4ODgsMHgwYiwweGUwLDB4ZjUsMHg0N30gfSwKLXsgIDksIDB4MDg5NCwgMCwgezB4OTAsMHg3ZiwweDY4LDB4ZjAsMHgwYSwweGJhLDB4MDAsMHgwMSwweDBifSB9LAoteyAgMiwgMHgwODlkLCAwLCB7MHg4MCwweGUwfSB9LAoteyAxMiwgMHgwODlmLCAwLCB7MHgxMiwweDAzLDB4ZTEsMHg5MCwweDdmLDB4ZDYsMHhlNCwweGYwLDB4N2EsMHgwMCwweDdiLDB4MDB9IH0sCi17IDEzLCAweDA4YWIsIDAsIHsweDhhLDB4MDQsMHg4YiwweDA1LDB4YzMsMHhlYSwweDk0LDB4ZTAsMHhlYiwweDk0LDB4MmUsMHg1MCwweDFhfSB9LAoteyAxNCwgMHgwOGI4LCAwLCB7MHhjMCwweDAyLDB4YzAsMHgwMywweGMwLDB4MDQsMHhjMCwweDA1LDB4MTIsMHgwMSwweGRkLDB4ZDAsMHgwNSwweGQwfSB9LAoteyAxMCwgMHgwOGM2LCAwLCB7MHgwNCwweGQwLDB4MDMsMHhkMCwweDAyLDB4MGEsMHhiYSwweDAwLDB4MDEsMHgwYn0gfSwKLXsgIDIsIDB4MDhkMCwgMCwgezB4ODAsMHhkOX0gfSwKLXsgMTMsIDB4MDhkMiwgMCwgezB4OTAsMHg3ZiwweGQ2LDB4NzQsMHgwMiwweGYwLDB4OTAsMHg3ZiwweGQ2LDB4NzQsMHgwNiwweGYwLDB4OTB9IH0sCi17IDE0LCAweDA4ZGYsIDAsIHsweDdmLDB4ZGUsMHg3NCwweDA1LDB4ZjAsMHg5MCwweDdmLDB4ZGYsMHg3NCwweDA1LDB4ZjAsMHg5MCwweDdmLDB4YWN9IH0sCi17IDE0LCAweDA4ZWQsIDAsIHsweGU0LDB4ZjAsMHg5MCwweDdmLDB4YWQsMHg3NCwweDA1LDB4ZjAsMHg3NSwweGE4LDB4ODAsMHg3NSwweGY4LDB4MTB9IH0sCi17IDEzLCAweDA4ZmIsIDAsIHsweDkwLDB4N2YsMHhhZSwweDc0LDB4MGIsMHhmMCwweDkwLDB4N2YsMHhlMiwweDc0LDB4ODgsMHhmMCwweDkwfSB9LAoteyAxMiwgMHgwOTA4LCAwLCB7MHg3ZiwweGFiLDB4NzQsMHgwOCwweGYwLDB4NzUsMHhlOCwweDExLDB4NzUsMHgzMiwweDAxLDB4NzV9IH0sCi17IDEyLCAweDA5MTQsIDAsIHsweDMxLDB4MDAsMHg3NSwweDMwLDB4MDAsMHhjMCwweDA0LDB4YzAsMHgwNSwweDEyLDB4MDQsMHhmN30gfSwKLXsgMTAsIDB4MDkyMCwgMCwgezB4ZDAsMHgwNSwweGQwLDB4MDQsMHg3NSwweDM0LDB4MDAsMHg3NSwweDM1LDB4MDF9IH0sCi17IDEzLCAweDA5MmEsIDAsIHsweDkwLDB4N2YsMHhhZSwweDc0LDB4MDMsMHhmMCwweDhjLDB4MDIsMHhiYSwweDAwLDB4MDIsMHg4MCwweDAzfSB9LAoteyAgMywgMHgwOTM3LCAwLCB7MHgwMiwweDBhLDB4M2Z9IH0sCi17IDEyLCAweDA5M2EsIDAsIHsweDg1LDB4MzMsMHgzNCwweDkwLDB4N2YsMHg5ZCwweDc0LDB4OGYsMHhmMCwweDkwLDB4N2YsMHg5N30gfSwKLXsgMTQsIDB4MDk0NiwgMCwgezB4NzQsMHgwOCwweGYwLDB4OTAsMHg3ZiwweDlkLDB4NzQsMHg4OCwweGYwLDB4OTAsMHg3ZiwweDlhLDB4ZTAsMHhmYX0gfSwKLXsgMTIsIDB4MDk1NCwgMCwgezB4NzQsMHgwNSwweDVhLDB4ZjUsMHgzMywweDkwLDB4N2YsMHg5ZCwweDc0LDB4OGYsMHhmMCwweDkwfSB9LAoteyAxMywgMHgwOTYwLCAwLCB7MHg3ZiwweDk3LDB4NzQsMHgwMiwweGYwLDB4OTAsMHg3ZiwweDlkLDB4NzQsMHg4MiwweGYwLDB4ZTUsMHgzM30gfSwKLXsgMTMsIDB4MDk2ZCwgMCwgezB4MjUsMHhlMCwweGZhLDB4OTAsMHg3ZiwweDlhLDB4ZTAsMHg1NCwweDA1LDB4ZmIsMHg0YSwweGY1LDB4MzN9IH0sCi17ICAyLCAweDA5N2EsIDAsIHsweDYwLDB4MGN9IH0sCi17IDEyLCAweDA5N2MsIDAsIHsweDkwLDB4N2YsMHg5NiwweGUwLDB4ZmEsMHg5MCwweDdmLDB4OTYsMHg3NCwweDgwLDB4NGEsMHhmMH0gfSwKLXsgMTEsIDB4MDk4OCwgMCwgezB4NzUsMHg2ZSwweDAwLDB4NzUsMHg2ZiwweDAwLDB4YzAsMHgwNCwweGMwLDB4MDUsMHgxMn0gfSwKLXsgMTQsIDB4MDk5MywgMCwgezB4MTEsMHg0NCwweGQwLDB4MDUsMHhkMCwweDA0LDB4OTAsMHgxNywweDEzLDB4ZTAsMHhmYSwweDc0LDB4ODAsMHgyYX0gfSwKLXsgIDYsIDB4MDlhMSwgMCwgezB4ZmEsMHhlNSwweDMzLDB4YjQsMHgwNCwweDI5fSB9LAoteyAgMywgMHgwOWE3LCAwLCB7MHhiYSwweGEwLDB4MDB9IH0sCi17ICAyLCAweDA5YWEsIDAsIHsweDUwLDB4MjR9IH0sCi17IDEzLCAweDA5YWMsIDAsIHsweDkwLDB4MTcsMHgxMywweGUwLDB4MDQsMHhmYiwweDBiLDB4OTAsMHgxNywweDEzLDB4ZWIsMHhmMCwweDkwfSB9LAoteyAxNCwgMHgwOWI5LCAwLCB7MHgxNywweDEzLDB4ZTAsMHhmYiwweDkwLDB4MTcsMHgxNSwweGYwLDB4YzAsMHgwMiwweGMwLDB4MDQsMHhjMCwweDA1fSB9LAoteyAgOSwgMHgwOWM3LCAwLCB7MHgxMiwweDA0LDB4ZjcsMHhkMCwweDA1LDB4ZDAsMHgwNCwweGQwLDB4MDJ9IH0sCi17ICA1LCAweDA5ZDAsIDAsIHsweGU1LDB4MzMsMHhiNCwweDAyLDB4MjZ9IH0sCi17ICA2LCAweDA5ZDUsIDAsIHsweGMzLDB4NzQsMHgwNCwweDlhLDB4NTAsMHgyMH0gfSwKLXsgMTMsIDB4MDlkYiwgMCwgezB4OTAsMHgxNywweDEzLDB4ZTAsMHhmYSwweDFhLDB4MWEsMHg5MCwweDE3LDB4MTMsMHhlYSwweGYwLDB4OTB9IH0sCi17IDEzLCAweDA5ZTgsIDAsIHsweDE3LDB4MTMsMHhlMCwweGZhLDB4OTAsMHgxNywweDE1LDB4ZjAsMHhjMCwweDA0LDB4YzAsMHgwNSwweDEyfSB9LAoteyAgNiwgMHgwOWY1LCAwLCB7MHgwNCwweGY3LDB4ZDAsMHgwNSwweGQwLDB4MDR9IH0sCi17ICA1LCAweDA5ZmIsIDAsIHsweGU1LDB4MzMsMHhiNCwweDA4LDB4MWR9IH0sCi17ICA0LCAweDBhMDAsIDAsIHsweGU1LDB4MzQsMHg3MCwweDE5fSB9LAoteyAxMCwgMHgwYTA0LCAwLCB7MHg3NCwweDAxLDB4MjUsMHgzNSwweDU0LDB4MGYsMHhmNSwweDM1LDB4ODUsMHgzNX0gfSwKLXsgMTIsIDB4MGEwZSwgMCwgezB4NzUsMHg3NSwweDc2LDB4MDAsMHhjMCwweDA0LDB4YzAsMHgwNSwweDEyLDB4MTMsMHhmZSwweGQwfSB9LAoteyAgMywgMHgwYTFhLCAwLCB7MHgwNSwweGQwLDB4MDR9IH0sCi17ICA1LCAweDBhMWQsIDAsIHsweGU1LDB4MzMsMHhiNCwweDAxLDB4MWR9IH0sCi17ICA0LCAweDBhMjIsIDAsIHsweGU1LDB4MzQsMHg3MCwweDE5fSB9LAoteyAxMCwgMHgwYTI2LCAwLCB7MHhlNSwweDM1LDB4MjQsMHhmZiwweDU0LDB4MGYsMHhmNSwweDM1LDB4ODUsMHgzNX0gfSwKLXsgMTIsIDB4MGEzMCwgMCwgezB4NzUsMHg3NSwweDc2LDB4MDAsMHhjMCwweDA0LDB4YzAsMHgwNSwweDEyLDB4MTMsMHhmZSwweGQwfSB9LAoteyAgMywgMHgwYTNjLCAwLCB7MHgwNSwweGQwLDB4MDR9IH0sCi17IDE0LCAweDBhM2YsIDAsIHsweGMwLDB4MDQsMHhjMCwweDA1LDB4MTIsMHgwMSwweGRkLDB4ZDAsMHgwNSwweGQwLDB4MDQsMHg5MCwweDdmLDB4OTZ9IH0sCi17IDE0LCAweDBhNGQsIDAsIHsweGUwLDB4ZmEsMHg5MCwweDdmLDB4OTYsMHg3NCwweDdmLDB4NWEsMHhmMCwweDkwLDB4N2YsMHg5NywweDc0LDB4MDh9IH0sCi17IDEwLCAweDBhNWIsIDAsIHsweGYwLDB4YzMsMHhlYywweDk0LDB4MDAsMHhlZCwweDk0LDB4MDIsMHg0MCwweDA4fSB9LAoteyAgOCwgMHgwYTY1LCAwLCB7MHg5MCwweDdmLDB4OTYsMHhlMCwweGZhLDB4MjAsMHhlNiwweDA4fSB9LAoteyAgOCwgMHgwYTZkLCAwLCB7MHhjMywweGU0LDB4OWMsMHg3NCwweDA4LDB4OWQsMHg1MCwweDEzfSB9LAoteyAxNCwgMHgwYTc1LCAwLCB7MHg5MCwweDdmLDB4OTYsMHhlMCwweGZhLDB4OTAsMHg3ZiwweDk2LDB4NzQsMHg0MCwweDY1LDB4MDIsMHhmMCwweDdjfSB9LAoteyAgNSwgMHgwYTgzLCAwLCB7MHgwMCwweDdkLDB4MDAsMHg4MCwweDA1fSB9LAoteyAgNSwgMHgwYTg4LCAwLCB7MHgwYywweGJjLDB4MDAsMHgwMSwweDBkfSB9LAoteyAgNSwgMHgwYThkLCAwLCB7MHhlNSwweDM4LDB4YjQsMHgwMSwweDBlfSB9LAoteyAxMywgMHgwYTkyLCAwLCB7MHhjMCwweDA0LDB4YzAsMHgwNSwweDEyLDB4MDQsMHhmNywweGQwLDB4MDUsMHhkMCwweDA0LDB4NzUsMHgzOH0gfSwKLXsgIDEsIDB4MGE5ZiwgMCwgezB4MDB9IH0sCi17ICA3LCAweDBhYTAsIDAsIHsweGU1LDB4MzEsMHg3MCwweDAzLDB4MDIsMHgwOSwweDJhfSB9LAoteyAxMCwgMHgwYWE3LCAwLCB7MHg5MCwweDdmLDB4YzksMHhlMCwweGZhLDB4NzAsMHgwMywweDAyLDB4MGMsMHgyZH0gfSwKLXsgMTQsIDB4MGFiMSwgMCwgezB4OTAsMHg3ZiwweDk2LDB4ZTAsMHhmYSwweDkwLDB4N2YsMHg5NiwweDc0LDB4ODAsMHg2NSwweDAyLDB4ZjAsMHg5MH0gfSwKLXsgIDksIDB4MGFiZiwgMCwgezB4N2QsMHhjMCwweGUwLDB4ZmEsMHhiYSwweDJjLDB4MDIsMHg4MCwweDAzfSB9LAoteyAgMywgMHgwYWM4LCAwLCB7MHgwMiwweDBiLDB4MzZ9IH0sCi17ICA1LCAweDBhY2IsIDAsIHsweDc1LDB4MzIsMHgwMCwweDdiLDB4MDB9IH0sCi17ICAzLCAweDBhZDAsIDAsIHsweGJiLDB4NjQsMHgwMH0gfSwKLXsgIDIsIDB4MGFkMywgMCwgezB4NTAsMHgxY30gfSwKLXsgMTQsIDB4MGFkNSwgMCwgezB4YzAsMHgwMiwweGMwLDB4MDMsMHhjMCwweDA0LDB4YzAsMHgwNSwweDEyLDB4MDEsMHhkZCwweGQwLDB4MDUsMHhkMH0gfSwKLXsgMTMsIDB4MGFlMywgMCwgezB4MDQsMHhkMCwweDAzLDB4ZDAsMHgwMiwweDkwLDB4ODgsMHgwZiwweGUwLDB4ZjUsMHg0NywweDBiLDB4ODB9IH0sCi17ICAxLCAweDBhZjAsIDAsIHsweGRmfSB9LAoteyAxMywgMHgwYWYxLCAwLCB7MHhjMCwweDAyLDB4YzAsMHgwNCwweGMwLDB4MDUsMHgxMiwweDA3LDB4MWUsMHgxMiwweDAzLDB4ZTEsMHgxMn0gfSwKLXsgMTIsIDB4MGFmZSwgMCwgezB4MDQsMHhmNywweGQwLDB4MDUsMHhkMCwweDA0LDB4ZDAsMHgwMiwweDc1LDB4NmUsMHgwMCwweDc1fSB9LAoteyAxMywgMHgwYjBhLCAwLCB7MHg2ZiwweDAxLDB4YzAsMHgwMiwweGMwLDB4MDQsMHhjMCwweDA1LDB4MTIsMHgxMSwweDQ0LDB4ZDAsMHgwNX0gfSwKLXsgIDksIDB4MGIxNywgMCwgezB4ZDAsMHgwNCwweGQwLDB4MDIsMHg3NSwweDcwLDB4NGQsMHg3NSwweDcxfSB9LAoteyAxMSwgMHgwYjIwLCAwLCB7MHgwYywweDc1LDB4NzIsMHgwMiwweGMwLDB4MDIsMHhjMCwweDA0LDB4YzAsMHgwNSwweDEyfSB9LAoteyAxMSwgMHgwYjJiLCAwLCB7MHgxMSwweDc1LDB4ZDAsMHgwNSwweGQwLDB4MDQsMHhkMCwweDAyLDB4MDIsMHgwYywweDJkfSB9LAoteyAgMywgMHgwYjM2LCAwLCB7MHhiYSwweDJhLDB4M2J9IH0sCi17IDEzLCAweDBiMzksIDAsIHsweDkwLDB4N2YsMHg5OCwweDc0LDB4MjAsMHhmMCwweGMwLDB4MDIsMHhjMCwweDA0LDB4YzAsMHgwNSwweDEyfSB9LAoteyAxNCwgMHgwYjQ2LCAwLCB7MHgwMSwweGRkLDB4ZDAsMHgwNSwweGQwLDB4MDQsMHhkMCwweDAyLDB4OTAsMHg3ZiwweDk4LDB4NzQsMHgyOCwweGYwfSB9LAoteyAgMiwgMHgwYjU0LCAwLCB7MHg3YiwweDAwfSB9LAoteyAgMywgMHgwYjU2LCAwLCB7MHhiYiwweDBhLDB4MDB9IH0sCi17ICA1LCAweDBiNTksIDAsIHsweDQwLDB4MDMsMHgwMiwweDBjLDB4MmR9IH0sCi17IDE0LCAweDBiNWUsIDAsIHsweGMwLDB4MDIsMHhjMCwweDAzLDB4YzAsMHgwNCwweGMwLDB4MDUsMHgxMiwweDAxLDB4ZGQsMHhkMCwweDA1LDB4ZDB9IH0sCi17ICA4LCAweDBiNmMsIDAsIHsweDA0LDB4ZDAsMHgwMywweGQwLDB4MDIsMHgwYiwweDgwLDB4ZTJ9IH0sCi17ICAzLCAweDBiNzQsIDAsIHsweGJhLDB4MmIsMHgxYX0gfSwKLXsgIDgsIDB4MGI3NywgMCwgezB4OTAsMHg3ZiwweGM5LDB4ZTAsMHhmYiwweGJiLDB4NDAsMHgxMn0gfSwKLXsgMTQsIDB4MGI3ZiwgMCwgezB4YzAsMHgwMiwweGMwLDB4MDQsMHhjMCwweDA1LDB4MTIsMHgxMiwweDA1LDB4ZDAsMHgwNSwweGQwLDB4MDQsMHhkMH0gfSwKLXsgIDQsIDB4MGI4ZCwgMCwgezB4MDIsMHgwMiwweDBjLDB4MmR9IH0sCi17ICAzLCAweDBiOTEsIDAsIHsweGJhLDB4MTAsMHgxZn0gfSwKLXsgMTQsIDB4MGI5NCwgMCwgezB4OTAsMHg3ZiwweDk2LDB4ZTAsMHhmYiwweDkwLDB4N2YsMHg5NiwweDc0LDB4ODAsMHg2NSwweDAzLDB4ZjAsMHhjMH0gfSwKLXsgMTQsIDB4MGJhMiwgMCwgezB4MDIsMHhjMCwweDA0LDB4YzAsMHgwNSwweDEyLDB4MTAsMHgzZCwweGQwLDB4MDUsMHhkMCwweDA0LDB4ZDAsMHgwMn0gfSwKLXsgIDMsIDB4MGJiMCwgMCwgezB4MDIsMHgwYywweDJkfSB9LAoteyAgMywgMHgwYmIzLCAwLCB7MHhiYSwweDExLDB4MTJ9IH0sCi17IDE0LCAweDBiYjYsIDAsIHsweGMwLDB4MDIsMHhjMCwweDA0LDB4YzAsMHgwNSwweDEyLDB4MTAsMHg2YSwweGQwLDB4MDUsMHhkMCwweDA0LDB4ZDB9IH0sCi17ICA0LCAweDBiYzQsIDAsIHsweDAyLDB4MDIsMHgwYywweDJkfSB9LAoteyAgMywgMHgwYmM4LCAwLCB7MHhiYSwweDEyLDB4MTJ9IH0sCi17IDE0LCAweDBiY2IsIDAsIHsweGMwLDB4MDIsMHhjMCwweDA0LDB4YzAsMHgwNSwweDEyLDB4MTAsMHg4ZiwweGQwLDB4MDUsMHhkMCwweDA0LDB4ZDB9IH0sCi17ICA0LCAweDBiZDksIDAsIHsweDAyLDB4MDIsMHgwYywweDJkfSB9LAoteyAgMywgMHgwYmRkLCAwLCB7MHhiYSwweDEzLDB4MGJ9IH0sCi17IDExLCAweDBiZTAsIDAsIHsweDkwLDB4N2QsMHhjMSwweGUwLDB4ZmIsMHg5MCwweDg4LDB4MDAsMHhmMCwweDgwLDB4NDJ9IH0sCi17ICAzLCAweDBiZWIsIDAsIHsweGJhLDB4MTQsMHgxMX0gfSwKLXsgMTQsIDB4MGJlZSwgMCwgezB4YzAsMHgwMiwweGMwLDB4MDQsMHhjMCwweDA1LDB4MTIsMHgxMSwweGRkLDB4ZDAsMHgwNSwweGQwLDB4MDQsMHhkMH0gfSwKLXsgIDMsIDB4MGJmYywgMCwgezB4MDIsMHg4MCwweDJlfSB9LAoteyAgMywgMHgwYmZmLCAwLCB7MHhiYSwweDE1LDB4MWR9IH0sCi17IDEyLCAweDBjMDIsIDAsIHsweDkwLDB4N2QsMHhjMSwweGUwLDB4ZjUsMHg3NSwweDkwLDB4N2QsMHhjMiwweGUwLDB4ZjUsMHg3Nn0gfSwKLXsgMTQsIDB4MGMwZSwgMCwgezB4YzAsMHgwMiwweGMwLDB4MDQsMHhjMCwweDA1LDB4MTIsMHgxMywweGZlLDB4ZDAsMHgwNSwweGQwLDB4MDQsMHhkMH0gfSwKLXsgIDMsIDB4MGMxYywgMCwgezB4MDIsMHg4MCwweDBlfSB9LAoteyAgMywgMHgwYzFmLCAwLCB7MHhiYSwweDE2LDB4MGJ9IH0sCi17IDExLCAweDBjMjIsIDAsIHsweGMwLDB4MDQsMHhjMCwweDA1LDB4MTIsMHgxMywweGEzLDB4ZDAsMHgwNSwweGQwLDB4MDR9IH0sCi17IDExLCAweDBjMmQsIDAsIHsweDkwLDB4N2YsMHhjOSwweGU0LDB4ZjAsMHg3NSwweDMxLDB4MDAsMHgwMiwweDA5LDB4MmF9IH0sCi17ICAxLCAweDBjMzgsIDAsIHsweDIyfSB9LAoteyAgNywgMHgwYzM5LCAwLCB7MHg1MywweDU1LDB4NTAsMHg0NSwweDRlLDB4NDQsMHgwMH0gfSwKLXsgIDcsIDB4MGM0MCwgMCwgezB4NTIsMHg0NSwweDUzLDB4NTUsMHg0ZCwweDQ1LDB4MDB9IH0sCi17ICA2LCAweDBjNDcsIDAsIHsweDIwLDB4NTYsMHg2ZiwweDZjLDB4MjAsMHgwMH0gfSwKLXsgMTMsIDB4MGM0ZCwgMCwgezB4NDQsMHg0MSwweDQyLDB4NTUsMHg1MywweDQyLDB4MjAsMHg3NiwweDMxLDB4MmUsMHgzMCwweDMwLDB4MDB9IH0sCi17IDE0LCAweDBjNWEsIDAsIHsweGMwLDB4ZTAsMHhjMCwweGYwLDB4YzAsMHg4MiwweGMwLDB4ODMsMHhjMCwweDAyLDB4YzAsMHgwMywweGMwLDB4MDR9IH0sCi17IDE0LCAweDBjNjgsIDAsIHsweGMwLDB4MDUsMHhjMCwweDA2LDB4YzAsMHgwNywweGMwLDB4MDAsMHhjMCwweDAxLDB4YzAsMHhkMCwweDc1LDB4ZDB9IH0sCi17IDEzLCAweDBjNzYsIDAsIHsweDAwLDB4YzAsMHg4NiwweDc1LDB4ODYsMHgwMCwweGU1LDB4OTEsMHhjMiwweGU0LDB4ZjUsMHg5MSwweDkwfSB9LAoteyAxNCwgMHgwYzgzLCAwLCB7MHg3ZiwweGFiLDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3ZiwweGU4LDB4ZTAsMHhmYSwweDkwLDB4N2YsMHhlOSwweGUwfSB9LAoteyAgNiwgMHgwYzkxLCAwLCB7MHhmYiwweGJiLDB4MDAsMHgwMiwweDgwLDB4MDN9IH0sCi17ICAzLCAweDBjOTcsIDAsIHsweDAyLDB4MGQsMHgzOH0gfSwKLXsgIDMsIDB4MGM5YSwgMCwgezB4YmEsMHg4MCwweDE0fSB9LAoteyAxNCwgMHgwYzlkLCAwLCB7MHg5MCwweDdmLDB4MDAsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDdmLDB4MDEsMHhlNCwweGYwLDB4OTAsMHg3ZiwweGI1fSB9LAoteyAgNiwgMHgwY2FiLCAwLCB7MHg3NCwweDAyLDB4ZjAsMHgwMiwweDBlLDB4Y2R9IH0sCi17ICA1LCAweDBjYjEsIDAsIHsweGJhLDB4ODIsMHgwMiwweDgwLDB4MDN9IH0sCi17ICAzLCAweDBjYjYsIDAsIHsweDAyLDB4MGQsMHgxZH0gfSwKLXsgIDgsIDB4MGNiOSwgMCwgezB4OTAsMHg3ZiwweGVjLDB4ZTAsMHhmYywweGJjLDB4MDEsMHgwMH0gfSwKLXsgIDIsIDB4MGNjMSwgMCwgezB4NDAsMHgyMX0gfSwKLXsgIDYsIDB4MGNjMywgMCwgezB4YzMsMHg3NCwweDA3LDB4OWMsMHg0MCwweDFifSB9LAoteyAxNCwgMHgwY2M5LCAwLCB7MHhlYywweDI0LDB4ZmYsMHgyNSwweGUwLDB4ZmQsMHgyNCwweGM2LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZiwweGY1fSB9LAoteyAxMywgMHgwY2Q3LCAwLCB7MHg4MywweGUwLDB4ZmQsMHg1MywweDA1LDB4MDEsMHg5MCwweDdmLDB4MDAsMHhlZCwweGYwLDB4ODAsMHgyYn0gfSwKLXsgIDMsIDB4MGNlNCwgMCwgezB4YmMsMHg4MSwweDAwfSB9LAoteyAgMiwgMHgwY2U3LCAwLCB7MHg0MCwweDIxfSB9LAoteyAgNiwgMHgwY2U5LCAwLCB7MHhjMywweDc0LDB4ODcsMHg5YywweDQwLDB4MWJ9IH0sCi17IDE0LCAweDBjZWYsIDAsIHsweGVjLDB4MjQsMHg3ZiwweDI1LDB4ZTAsMHhmYywweDI0LDB4YjYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdmLDB4ZjV9IH0sCi17IDEzLCAweDBjZmQsIDAsIHsweDgzLDB4ZTAsMHhmYywweDUzLDB4MDQsMHgwMSwweDkwLDB4N2YsMHgwMCwweGVjLDB4ZjAsMHg4MCwweDA1fSB9LAoteyAgNSwgMHgwZDBhLCAwLCB7MHg5MCwweDdmLDB4MDAsMHhlNCwweGYwfSB9LAoteyAxNCwgMHgwZDBmLCAwLCB7MHg5MCwweDdmLDB4MDEsMHhlNCwweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMiwweGYwLDB4MDIsMHgwZSwweGNkfSB9LAoteyAgNSwgMHgwZDFkLCAwLCB7MHhiYSwweDgxLDB4MDIsMHg4MCwweDAzfSB9LAoteyAgMywgMHgwZDIyLCAwLCB7MHgwMiwweDBlLDB4YzV9IH0sCi17IDE0LCAweDBkMjUsIDAsIHsweDkwLDB4N2YsMHgwMCwweGU0LDB4ZjAsMHg5MCwweDdmLDB4MDEsMHhlNCwweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzR9IH0sCi17ICA1LCAweDBkMzMsIDAsIHsweDAyLDB4ZjAsMHgwMiwweDBlLDB4Y2R9IH0sCi17ICAzLCAweDBkMzgsIDAsIHsweGJiLDB4MDEsMHgyZH0gfSwKLXsgIDYsIDB4MGQzYiwgMCwgezB4YmEsMHgwMCwweDAzLDB4MDIsMHgwZSwweGNkfSB9LAoteyAgMywgMHgwZDQxLCAwLCB7MHhiYSwweDAyLDB4MTF9IH0sCi17IDEzLCAweDBkNDQsIDAsIHsweDc1LDB4NTksMHgwMCwweGMwLDB4MDIsMHhjMCwweDAzLDB4MTIsMHgwZSwweGYwLDB4ZDAsMHgwMywweGQwfSB9LAoteyAgNCwgMHgwZDUxLCAwLCB7MHgwMiwweDAyLDB4MGUsMHhjZH0gfSwKLXsgIDUsIDB4MGQ1NSwgMCwgezB4YmEsMHgyMSwweDAyLDB4ODAsMHgwM30gfSwKLXsgIDMsIDB4MGQ1YSwgMCwgezB4MDIsMHgwZSwweGNkfSB9LAoteyAxMSwgMHgwZDVkLCAwLCB7MHg3NSwweDM3LDB4MDEsMHg5MCwweDdmLDB4YzUsMHhlNCwweGYwLDB4MDIsMHgwZSwweGNkfSB9LAoteyAgMywgMHgwZDY4LCAwLCB7MHhiYiwweDAzLDB4MWZ9IH0sCi17ICA2LCAweDBkNmIsIDAsIHsweGJhLDB4MDAsMHgwMywweDAyLDB4MGUsMHhjZH0gfSwKLXsgIDUsIDB4MGQ3MSwgMCwgezB4YmEsMHgwMiwweDAyLDB4ODAsMHgwM30gfSwKLXsgIDMsIDB4MGQ3NiwgMCwgezB4MDIsMHgwZSwweGNkfSB9LAoteyAxMywgMHgwZDc5LCAwLCB7MHg3NSwweDU5LDB4MDEsMHhjMCwweDAyLDB4YzAsMHgwMywweDEyLDB4MGUsMHhmMCwweGQwLDB4MDMsMHhkMH0gfSwKLXsgIDQsIDB4MGQ4NiwgMCwgezB4MDIsMHgwMiwweDBlLDB4Y2R9IH0sCi17ICAzLCAweDBkOGEsIDAsIHsweGJiLDB4MDYsMHg1NH0gfSwKLXsgIDUsIDB4MGQ4ZCwgMCwgezB4YmEsMHg4MCwweDAyLDB4ODAsMHgwM30gfSwKLXsgIDMsIDB4MGQ5MiwgMCwgezB4MDIsMHgwZSwweGM1fSB9LAoteyAgOCwgMHgwZDk1LCAwLCB7MHg5MCwweDdmLDB4ZWIsMHhlMCwweGZjLDB4YmMsMHgwMSwweDE1fSB9LAoteyAxMiwgMHgwZDlkLCAwLCB7MHg3YywweGZiLDB4N2QsMHgwZiwweDhkLDB4MDYsMHg3ZiwweDAwLDB4OTAsMHg3ZiwweGQ0LDB4ZWV9IH0sCi17ICA5LCAweDBkYTksIDAsIHsweGYwLDB4OTAsMHg3ZiwweGQ1LDB4ZWMsMHhmMCwweDAyLDB4MGUsMHhjZH0gfSwKLXsgMTAsIDB4MGRiMiwgMCwgezB4OTAsMHg3ZiwweGViLDB4ZTAsMHhmYywweGJjLDB4MDIsMHgwMiwweDgwLDB4MDN9IH0sCi17ICAzLCAweDBkYmMsIDAsIHsweDAyLDB4MGUsMHhjNX0gfSwKLXsgMTAsIDB4MGRiZiwgMCwgezB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmYywweGJjLDB4MDAsMHgwMiwweDgwLDB4MDN9IH0sCi17ICAzLCAweDBkYzksIDAsIHsweDAyLDB4MGUsMHhjNX0gfSwKLXsgMTIsIDB4MGRjYywgMCwgezB4N2MsMHgzYiwweDdkLDB4MGYsMHg4ZCwweDA2LDB4N2YsMHgwMCwweDkwLDB4N2YsMHhkNCwweGVlfSB9LAoteyAgOSwgMHgwZGQ4LCAwLCB7MHhmMCwweDkwLDB4N2YsMHhkNSwweGVjLDB4ZjAsMHgwMiwweDBlLDB4Y2R9IH0sCi17ICA2LCAweDBkZTEsIDAsIHsweGJiLDB4MDcsMHgwMywweDAyLDB4MGUsMHhjNX0gfSwKLXsgIDMsIDB4MGRlNywgMCwgezB4YmIsMHgwOCwweDEwfSB9LAoteyAxMywgMHgwZGVhLCAwLCB7MHhhYywweDQ4LDB4OTAsMHg3ZiwweDAwLDB4ZWMsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDEsMHhmMH0gfSwKLXsgIDMsIDB4MGRmNywgMCwgezB4MDIsMHgwZSwweGNkfSB9LAoteyAgMywgMHgwZGZhLCAwLCB7MHhiYiwweDA5LDB4MzF9IH0sCi17ICA1LCAweDBkZmQsIDAsIHsweGJhLDB4MDAsMHgwMiwweDgwLDB4MDN9IH0sCi17ICAzLCAweDBlMDIsIDAsIHsweDAyLDB4MGUsMHhjNX0gfSwKLXsgMTQsIDB4MGUwNSwgMCwgezB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmYywweGMzLDB4NzQsMHgwMSwweDljLDB4NTAsMHgwMywweDAyLDB4MGUsMHhjNX0gfSwKLXsgIDgsIDB4MGUxMywgMCwgezB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmYywweGJjLDB4MDAsMHgwYX0gfSwKLXsgMTAsIDB4MGUxYiwgMCwgezB4OTAsMHgxNywweDIxLDB4ZTQsMHhmMCwweDkwLDB4MTcsMHgyMiwweGU0LDB4ZjB9IH0sCi17ICA5LCAweDBlMjUsIDAsIHsweDkwLDB4N2YsMHhlYSwweGUwLDB4ZjUsMHg0OCwweDAyLDB4MGUsMHhjZH0gfSwKLXsgIDMsIDB4MGUyZSwgMCwgezB4YmIsMHgwYSwweDI3fSB9LAoteyAgNSwgMHgwZTMxLCAwLCB7MHhiYSwweDgxLDB4MDIsMHg4MCwweDAzfSB9LAoteyAgMywgMHgwZTM2LCAwLCB7MHgwMiwweDBlLDB4YzV9IH0sCi17IDE0LCAweDBlMzksIDAsIHsweDkwLDB4N2YsMHhlYywweGUwLDB4ZmEsMHgyNCwweDIwLDB4ZmEsMHhlNCwweDM0LDB4MTcsMHhmYywweDhhLDB4ODJ9IH0sCi17IDE0LCAweDBlNDcsIDAsIHsweDhjLDB4ODMsMHhlMCwweGZhLDB4OTAsMHg3ZiwweDAwLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAxLDB4ZjB9IH0sCi17ICAzLCAweDBlNTUsIDAsIHsweDAyLDB4MGUsMHhjZH0gfSwKLXsgIDUsIDB4MGU1OCwgMCwgezB4YmIsMHgwYiwweDAyLDB4ODAsMHgwM30gfSwKLXsgIDMsIDB4MGU1ZCwgMCwgezB4MDIsMHgwZSwweGE5fSB9LAoteyAxMywgMHgwZTYwLCAwLCB7MHg5MCwweDE3LDB4MjAsMHhlNCwweGYwLDB4OTAsMHg3ZiwweGVjLDB4ZTAsMHhmYSwweGJhLDB4MDEsMHgxYX0gfSwKLXsgIDgsIDB4MGU2ZCwgMCwgezB4OTAsMHg3ZiwweGVkLDB4ZTAsMHhmYSwweGJhLDB4MDAsMHgxMn0gfSwKLXsgMTQsIDB4MGU3NSwgMCwgezB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmYSwweDkwLDB4MTcsMHgyMSwweGYwLDB4YzAsMHgwMywweDEyLDB4MDQsMHhlMn0gfSwKLXsgIDQsIDB4MGU4MywgMCwgezB4ZDAsMHgwMywweDgwLDB4NDZ9IH0sCi17ICA4LCAweDBlODcsIDAsIHsweDkwLDB4N2YsMHhlYywweGUwLDB4ZmEsMHhiYSwweDAyLDB4M2V9IH0sCi17ICA4LCAweDBlOGYsIDAsIHsweDkwLDB4N2YsMHhlZCwweGUwLDB4ZmEsMHhiYSwweDAwLDB4MzZ9IH0sCi17IDEzLCAweDBlOTcsIDAsIHsweGMwLDB4MDMsMHgxMiwweDA0LDB4ZWYsMHhkMCwweDAzLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmYSwweDkwfSB9LAoteyAgNSwgMHgwZWE0LCAwLCB7MHgxNywweDIyLDB4ZjAsMHg4MCwweDI0fSB9LAoteyAgNSwgMHgwZWE5LCAwLCB7MHhiYiwweDEyLDB4MDIsMHg4MCwweDE3fSB9LAoteyAgNSwgMHgwZWFlLCAwLCB7MHhiYiwweDgxLDB4MDIsMHg4MCwweDBkfSB9LAoteyAgNSwgMHgwZWIzLCAwLCB7MHhiYiwweDgzLDB4MDIsMHg4MCwweDA4fSB9LAoteyAgNSwgMHgwZWI4LCAwLCB7MHhiYiwweDgyLDB4MDIsMHg4MCwweDAzfSB9LAoteyAgMywgMHgwZWJkLCAwLCB7MHhiYiwweDg0LDB4MDV9IH0sCi17ICA1LCAweDBlYzAsIDAsIHsweDEyLDB4MDYsMHg0ZSwweDgwLDB4MDh9IH0sCi17ICA4LCAweDBlYzUsIDAsIHsweDkwLDB4N2YsMHhiNCwweDc0LDB4MDMsMHhmMCwweDgwLDB4MDZ9IH0sCi17ICA2LCAweDBlY2QsIDAsIHsweDkwLDB4N2YsMHhiNCwweDc0LDB4MDIsMHhmMH0gfSwKLXsgIDIsIDB4MGVkMywgMCwgezB4ZDAsMHg4Nn0gfSwKLXsgMTQsIDB4MGVkNSwgMCwgezB4ZDAsMHhkMCwweGQwLDB4MDEsMHhkMCwweDAwLDB4ZDAsMHgwNywweGQwLDB4MDYsMHhkMCwweDA1LDB4ZDAsMHgwNH0gfSwKLXsgMTMsIDB4MGVlMywgMCwgezB4ZDAsMHgwMywweGQwLDB4MDIsMHhkMCwweDgzLDB4ZDAsMHg4MiwweGQwLDB4ZjAsMHhkMCwweGUwLDB4MzJ9IH0sCi17IDExLCAweDBlZjAsIDAsIHsweDkwLDB4N2YsMHhlYywweGUwLDB4ZjUsMHg1YSwweGMzLDB4OTQsMHgwMSwweDQwLDB4MWR9IH0sCi17ICA3LCAweDBlZmIsIDAsIHsweGMzLDB4NzQsMHgwNywweDk1LDB4NWEsMHg0MCwweDE2fSB9LAoteyAxMywgMHgwZjAyLCAwLCB7MHhlNSwweDVhLDB4MjQsMHhmZiwweDI1LDB4ZTAsMHhmYSwweDI0LDB4YzYsMHhmNSwweDgyLDB4ZTQsMHgzNH0gfSwKLXsgIDksIDB4MGYwZiwgMCwgezB4N2YsMHhmNSwweDgzLDB4YWEsMHg1OSwweGVhLDB4ZjAsMHg4MCwweDIyfSB9LAoteyAgNywgMHgwZjE4LCAwLCB7MHhjMywweGU1LDB4NWEsMHg5NCwweDgxLDB4NDAsMHgxYn0gfSwKLXsgIDcsIDB4MGYxZiwgMCwgezB4YzMsMHg3NCwweDg3LDB4OTUsMHg1YSwweDQwLDB4MTR9IH0sCi17IDEzLCAweDBmMjYsIDAsIHsweGU1LDB4NWEsMHgyNCwweGZmLDB4MjUsMHhlMCwweGZhLDB4MjQsMHhiNiwweGY1LDB4ODIsMHhlNCwweDM0fSB9LAoteyAgNywgMHgwZjMzLCAwLCB7MHg3ZiwweGY1LDB4ODMsMHhhYSwweDU5LDB4ZWEsMHhmMH0gfSwKLXsgIDEsIDB4MGYzYSwgMCwgezB4MjJ9IH0sCi17IDE0LCAweDBmM2IsIDAsIHsweDA5LDB4MDIsMHhiYSwweDAwLDB4MDMsMHgwMSwweDAwLDB4NDAsMHgwMCwweDA5LDB4MDQsMHgwMCwweDAwLDB4MDB9IH0sCi17IDE0LCAweDBmNDksIDAsIHsweDAxLDB4MDEsMHgwMCwweDAwLDB4MDksMHgyNCwweDAxLDB4MDAsMHgwMSwweDNkLDB4MDAsMHgwMSwweDAxLDB4MGN9IH0sCi17IDE0LCAweDBmNTcsIDAsIHsweDI0LDB4MDIsMHgwMSwweDEwLDB4MDcsMHgwMCwweDAyLDB4MDMsMHgwMCwweDAwLDB4MDAsMHgwZCwweDI0LDB4MDZ9IH0sCi17IDE0LCAweDBmNjUsIDAsIHsweDAzLDB4MDEsMHgwMiwweDE1LDB4MDAsMHgwMywweDAwLDB4MDMsMHgwMCwweDAwLDB4MDksMHgyNCwweDAzLDB4MDJ9IH0sCi17IDE0LCAweDBmNzMsIDAsIHsweDAxLDB4MDEsMHgwMCwweDAxLDB4MDAsMHgwOSwweDI0LDB4MDMsMHgwNCwweDAyLDB4MDMsMHgwMCwweDAzLDB4MDB9IH0sCi17IDE0LCAweDBmODEsIDAsIHsweDA5LDB4MjQsMHgwMywweDA1LDB4MDMsMHgwNiwweDAwLDB4MDEsMHgwMCwweDA5LDB4MDQsMHgwMSwweDAwLDB4MDB9IH0sCi17IDE0LCAweDBmOGYsIDAsIHsweDAxLDB4MDIsMHgwMCwweDAwLDB4MDksMHgwNCwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDIsMHgwMCwweDAwLDB4MDd9IH0sCi17IDE0LCAweDBmOWQsIDAsIHsweDI0LDB4MDEsMHgwMiwweDAxLDB4MDEsMHgwMCwweDBiLDB4MjQsMHgwMiwweDAxLDB4MDIsMHgwMiwweDEwLDB4MDF9IH0sCi17IDE0LCAweDBmYWIsIDAsIHsweDgwLDB4YmIsMHgwMCwweDA5LDB4MDUsMHg4OCwweDA1LDB4MDAsMHgwMSwweDAxLDB4MDAsMHgwMCwweDA3LDB4MjV9IH0sCi17IDE0LCAweDBmYjksIDAsIHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOSwweDA0LDB4MDIsMHgwMCwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17IDE0LCAweDBmYzcsIDAsIHsweDA3LDB4MDUsMHg4MiwweDAyLDB4NDAsMHgwMCwweDAwLDB4MDcsMHgwNSwweDAyLDB4MDIsMHg0MCwweDAwLDB4MDB9IH0sCi17IDE0LCAweDBmZDUsIDAsIHsweDA5LDB4MDQsMHgwMiwweDAxLDB4MDMsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA3LDB4MDUsMHg4MiwweDAyLDB4NDB9IH0sCi17IDE0LCAweDBmZTMsIDAsIHsweDAwLDB4MDAsMHgwNywweDA1LDB4MDIsMHgwMiwweDQwLDB4MDAsMHgwMCwweDA5LDB4MDUsMHg4OSwweDA1LDB4YTB9IH0sCi17IDEwLCAweDBmZjEsIDAsIHsweDAxLDB4MDEsMHgwMCwweDAwLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHhmZiwweDAwfSB9LAoteyAxNCwgMHgwZmZiLCAwLCB7MHgxMiwweDAxLDB4MDAsMHgwMSwweDAwLDB4MDAsMHgwMCwweDQwLDB4NDcsMHgwNSwweDk5LDB4OTksMHgwMCwweDAxfSB9LAoteyAxNCwgMHgxMDA5LCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDksMHgwMiwweGJhfSB9LAoteyAgNCwgMHgxMDE3LCAwLCB7MHgwMCwweDAzLDB4MDEsMHgwMH0gfSwKLXsgIDIsIDB4MTAxYiwgMCwgezB4N2EsMHgwMH0gfSwKLXsgIDMsIDB4MTAxZCwgMCwgezB4YmEsMHgwNSwweDAwfSB9LAoteyAgMiwgMHgxMDIwLCAwLCB7MHg1MCwweDE3fSB9LAoteyAgOCwgMHgxMDIyLCAwLCB7MHg5MCwweDdmLDB4YTUsMHhlMCwweGZiLDB4MzAsMHhlMCwweDA1fSB9LAoteyAgNSwgMHgxMDJhLCAwLCB7MHg5MCwweDAwLDB4MDEsMHg4MCwweDBkfSB9LAoteyAxMCwgMHgxMDJmLCAwLCB7MHhjMCwweDAyLDB4MTIsMHgwMSwweGRkLDB4ZDAsMHgwMiwweDBhLDB4ODAsMHhlNH0gfSwKLXsgIDMsIDB4MTAzOSwgMCwgezB4OTAsMHgwMCwweDAxfSB9LAoteyAgMSwgMHgxMDNjLCAwLCB7MHgyMn0gfSwKLXsgMTQsIDB4MTAzZCwgMCwgezB4OTAsMHg3ZCwweGMxLDB4ZTAsMHhmOSwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmYiwweDdjLDB4MDAsMHg3ZH0gfSwKLXsgIDQsIDB4MTA0YiwgMCwgezB4N2UsMHhlYiwweDYwLDB4MTJ9IH0sCi17IDE0LCAweDEwNGYsIDAsIHsweDg5LDB4ODIsMHg4YSwweDgzLDB4ZTAsMHhhMywweGE5LDB4ODIsMHhhYSwweDgzLDB4OGMsMHg4MiwweDhkLDB4ODN9IH0sCi17ICA0LCAweDEwNWQsIDAsIHsweGYwLDB4MGMsMHhkYiwweGVlfSB9LAoteyAgOCwgMHgxMDYxLCAwLCB7MHg5MCwweDdkLDB4YzMsMHhlMCwweDkwLDB4N2YsMHhiOSwweGYwfSB9LAoteyAgMSwgMHgxMDY5LCAwLCB7MHgyMn0gfSwKLXsgMTQsIDB4MTA2YSwgMCwgezB4OTAsMHg3ZCwweGMxLDB4ZTAsMHhmOSwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmYiwweDdjLDB4YzQsMHg3ZH0gfSwKLXsgIDQsIDB4MTA3OCwgMCwgezB4N2QsMHhlYiwweDYwLDB4ZTV9IH0sCi17IDE0LCAweDEwN2MsIDAsIHsweDhjLDB4ODIsMHg4ZCwweDgzLDB4ZTAsMHgwYywweDg5LDB4ODIsMHg4YSwweDgzLDB4ZjAsMHhhMywweGE5LDB4ODJ9IH0sCi17ICA0LCAweDEwOGEsIDAsIHsweGFhLDB4ODMsMHhkYiwweGVlfSB9LAoteyAgMSwgMHgxMDhlLCAwLCB7MHgyMn0gfSwKLXsgMTQsIDB4MTA4ZiwgMCwgezB4OTAsMHg3ZiwweGE1LDB4NzQsMHg4MCwweGYwLDB4MDUsMHg4NiwweDkwLDB4N2QsMHhjMSwweGUwLDB4MDUsMHg4Nn0gfSwKLXsgMTQsIDB4MTA5ZCwgMCwgezB4YTMsMHhmMCwweDEyLDB4MTAsMHgxYiwweDkwLDB4N2YsMHhhNiwweDA1LDB4ODYsMHhhMywweGEzLDB4ZTAsMHhmOX0gfSwKLXsgIDUsIDB4MTBhYiwgMCwgezB4NjAsMHgxNiwweGEzLDB4MDUsMHg4Nn0gfSwKLXsgMTMsIDB4MTBiMCwgMCwgezB4OTAsMHg3ZiwweGE2LDB4MDUsMHg4NiwweGUwLDB4YTMsMHgwNSwweDg2LDB4ZjAsMHhjMCwweDAxLDB4MTJ9IH0sCi17ICA2LCAweDEwYmQsIDAsIHsweDEwLDB4MWIsMHhkMCwweDAxLDB4ZDksMHhlZH0gfSwKLXsgIDYsIDB4MTBjMywgMCwgezB4OTAsMHg3ZiwweGE1LDB4NzQsMHg0MCwweGYwfSB9LAoteyAgMSwgMHgxMGM5LCAwLCB7MHgyMn0gfSwKLXsgIDgsIDB4MTBjYSwgMCwgezB4OTAsMHg4OCwweDAyLDB4NzQsMHgwMSwweGYwLDB4N2EsMHgwMH0gfSwKLXsgIDMsIDB4MTBkMiwgMCwgezB4YmEsMHhmZiwweDAwfSB9LAoteyAgMiwgMHgxMGQ1LCAwLCB7MHg1MCwweDBhfSB9LAoteyAxMCwgMHgxMGQ3LCAwLCB7MHhjMCwweDAyLDB4MTIsMHgwMSwweGRkLDB4ZDAsMHgwMiwweDBhLDB4ODAsMHhmMX0gfSwKLXsgIDEsIDB4MTBlMSwgMCwgezB4MjJ9IH0sCi17ICA1LCAweDEwZTIsIDAsIHsweGU1LDB4NmIsMHhiNCwweGMwLDB4MDh9IH0sCi17ICA4LCAweDEwZTcsIDAsIHsweDkwLDB4ODgsMHgwMywweGU1LDB4NmMsMHhmMCwweDgwLDB4MDZ9IH0sCi17ICA2LCAweDEwZWYsIDAsIHsweDkwLDB4ODgsMHgwMiwweGU1LDB4NmMsMHhmMH0gfSwKLXsgIDQsIDB4MTBmNSwgMCwgezB4N2EsMHgwMCwweDdiLDB4MDB9IH0sCi17IDExLCAweDEwZjksIDAsIHsweGMzLDB4ZWEsMHg5NCwweDMyLDB4ZWIsMHg2NCwweDgwLDB4OTQsMHg4MCwweDUwLDB4MDd9IH0sCi17ICA1LCAweDExMDQsIDAsIHsweDBhLDB4YmEsMHgwMCwweDAxLDB4MGJ9IH0sCi17ICAyLCAweDExMDksIDAsIHsweDgwLDB4ZWV9IH0sCi17ICAxLCAweDExMGIsIDAsIHsweDIyfSB9LAoteyAxMCwgMHgxMTBjLCAwLCB7MHg5MCwweDg4LDB4MDMsMHhlNSwweDZkLDB4ZjAsMHgwNSwweDM5LDB4N2EsMHgwMH0gfSwKLXsgIDMsIDB4MTExNiwgMCwgezB4YmEsMHgyOCwweDAwfSB9LAoteyAgMiwgMHgxMTE5LCAwLCB7MHg1MCwweDAzfSB9LAoteyAgMywgMHgxMTFiLCAwLCB7MHgwYSwweDgwLDB4Zjh9IH0sCi17ICA1LCAweDExMWUsIDAsIHsweGU1LDB4MzksMHhiNCwweDEwLDB4MDh9IH0sCi17ICA4LCAweDExMjMsIDAsIHsweDkwLDB4ODgsMHgwMiwweDc0LDB4YzAsMHhmMCwweDgwLDB4MGV9IH0sCi17ICA1LCAweDExMmIsIDAsIHsweGU1LDB4MzksMHhiNCwweDIwLDB4MDl9IH0sCi17ICA5LCAweDExMzAsIDAsIHsweDkwLDB4ODgsMHgwMiwweDc0LDB4ODAsMHhmMCwweDc1LDB4MzksMHgwMH0gfSwKLXsgIDIsIDB4MTEzOSwgMCwgezB4N2EsMHgwMH0gfSwKLXsgIDMsIDB4MTEzYiwgMCwgezB4YmEsMHgyOCwweDAwfSB9LAoteyAgMiwgMHgxMTNlLCAwLCB7MHg1MCwweDAzfSB9LAoteyAgMywgMHgxMTQwLCAwLCB7MHgwYSwweDgwLDB4Zjh9IH0sCi17ICAxLCAweDExNDMsIDAsIHsweDIyfSB9LAoteyAgNCwgMHgxMTQ0LCAwLCB7MHhlNSwweDZmLDB4NjAsMHgwMn0gfSwKLXsgIDIsIDB4MTE0OCwgMCwgezB4ODAsMHgwN30gfSwKLXsgIDcsIDB4MTE0YSwgMCwgezB4N2EsMHgwMCwweDc1LDB4MzksMHgwMCwweDgwLDB4MDV9IH0sCi17ICA1LCAweDExNTEsIDAsIHsweDdhLDB4NDAsMHg3NSwweDM5LDB4MTB9IH0sCi17ICA5LCAweDExNTYsIDAsIHsweGU1LDB4NmUsMHgyYSwweGZhLDB4ZTUsMHg2ZSwweDI1LDB4MzksMHhmNX0gfSwKLXsgMTAsIDB4MTE1ZiwgMCwgezB4MzksMHg5MCwweDg4LDB4MDIsMHg3NCwweDgwLDB4MmEsMHhmMCwweDdhLDB4MDB9IH0sCi17ICA4LCAweDExNjksIDAsIHsweGMzLDB4ZWEsMHg2NCwweDgwLDB4OTQsMHhhOCwweDUwLDB4MDN9IH0sCi17ICAzLCAweDExNzEsIDAsIHsweDBhLDB4ODAsMHhmNX0gfSwKLXsgIDEsIDB4MTE3NCwgMCwgezB4MjJ9IH0sCi17ICA2LCAweDExNzUsIDAsIHsweGFhLDB4NzAsMHhhYiwweDcxLDB4YWMsMHg3Mn0gfSwKLXsgMTIsIDB4MTE3YiwgMCwgezB4OGEsMHg4MiwweDhiLDB4ODMsMHg4YywweGYwLDB4MTIsMHgxNCwweGVlLDB4ZmQsMHg2MCwweDE4fSB9LAoteyAxMywgMHgxMTg3LCAwLCB7MHg4ZCwweDZkLDB4YzAsMHgwMiwweGMwLDB4MDMsMHhjMCwweDA0LDB4MTIsMHgxMSwweDBjLDB4ZDAsMHgwNH0gfSwKLXsgIDksIDB4MTE5NCwgMCwgezB4ZDAsMHgwMywweGQwLDB4MDIsMHgwYSwweGJhLDB4MDAsMHgwMSwweDBifSB9LAoteyAgMiwgMHgxMTlkLCAwLCB7MHg4MCwweGRjfSB9LAoteyAgMSwgMHgxMTlmLCAwLCB7MHgyMn0gfSwKLXsgMTMsIDB4MTFhMCwgMCwgezB4ZTUsMHg3MywweGM0LDB4NTQsMHgwZiwweGZhLDB4NTMsMHgwMiwweDBmLDB4YzMsMHg3NCwweDA5LDB4OWF9IH0sCi17ICAyLCAweDExYWQsIDAsIHsweDUwLDB4MDZ9IH0sCi17ICA2LCAweDExYWYsIDAsIHsweDc0LDB4MzcsMHgyYSwweGZiLDB4ODAsMHgwNH0gfSwKLXsgIDQsIDB4MTFiNSwgMCwgezB4NzQsMHgzMCwweDJhLDB4ZmJ9IH0sCi17IDEyLCAweDExYjksIDAsIHsweDhiLDB4NmQsMHhjMCwweDAzLDB4MTIsMHgxMSwweDBjLDB4ZDAsMHgwMywweGFhLDB4NzMsMHg1M30gfSwKLXsgIDgsIDB4MTFjNSwgMCwgezB4MDIsMHgwZiwweGMzLDB4NzQsMHgwOSwweDlhLDB4NTAsMHgwNn0gfSwKLXsgIDYsIDB4MTFjZCwgMCwgezB4NzQsMHgzNywweDJhLDB4ZmIsMHg4MCwweDA0fSB9LAoteyAgNCwgMHgxMWQzLCAwLCB7MHg3NCwweDMwLDB4MmEsMHhmYn0gfSwKLXsgIDUsIDB4MTFkNywgMCwgezB4OGIsMHg2ZCwweDEyLDB4MTEsMHgwY30gfSwKLXsgIDEsIDB4MTFkYywgMCwgezB4MjJ9IH0sCi17ICA3LCAweDExZGQsIDAsIHsweDkwLDB4N2QsMHhjMywweGUwLDB4ZmEsMHg2MCwweDBmfSB9LAoteyAxMiwgMHgxMWU0LCAwLCB7MHg5MCwweDdkLDB4YzEsMHhlMCwweGY1LDB4NmUsMHg5MCwweDdkLDB4YzIsMHhlMCwweGY1LDB4NmZ9IH0sCi17ICAzLCAweDExZjAsIDAsIHsweDEyLDB4MTEsMHg0NH0gfSwKLXsgMTIsIDB4MTFmMywgMCwgezB4OTAsMHg3ZCwweGZmLDB4ZTQsMHhmMCwweDc1LDB4NzAsMHhjNCwweDc1LDB4NzEsMHg3ZCwweDc1fSB9LAoteyAgNSwgMHgxMWZmLCAwLCB7MHg3MiwweDAxLDB4MTIsMHgxMSwweDc1fSB9LAoteyAgMSwgMHgxMjA0LCAwLCB7MHgyMn0gfSwKLXsgIDIsIDB4MTIwNSwgMCwgezB4N2EsMHgwNH0gfSwKLXsgIDMsIDB4MTIwNywgMCwgezB4YmEsMHg0MCwweDAwfSB9LAoteyAgMiwgMHgxMjBhLCAwLCB7MHg1MCwweDM2fSB9LAoteyAxNCwgMHgxMjBjLCAwLCB7MHhlYSwweDI0LDB4YzAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdkLDB4ZjUsMHg4MywweGUwLDB4ZmIsMHg3YywweDAwfSB9LAoteyAgMywgMHgxMjFhLCAwLCB7MHhiYywweDA4LDB4MDB9IH0sCi17ICAyLCAweDEyMWQsIDAsIHsweDUwLDB4MjB9IH0sCi17ICA2LCAweDEyMWYsIDAsIHsweDhiLDB4MDUsMHhlZCwweDMwLDB4ZTcsMHgwYn0gfSwKLXsgMTEsIDB4MTIyNSwgMCwgezB4OTAsMHg3ZiwweDk2LDB4NzQsMHg0MiwweGYwLDB4NzQsMHhjMywweGYwLDB4ODAsMHgwOH0gfSwKLXsgIDgsIDB4MTIzMCwgMCwgezB4OTAsMHg3ZiwweDk2LDB4ZTQsMHhmMCwweDc0LDB4ODEsMHhmMH0gfSwKLXsgIDcsIDB4MTIzOCwgMCwgezB4ZWIsMHgyNSwweGUwLDB4ZmIsMHgwYywweDgwLDB4ZGJ9IH0sCi17ICAzLCAweDEyM2YsIDAsIHsweDBhLDB4ODAsMHhjNX0gfSwKLXsgIDEsIDB4MTI0MiwgMCwgezB4MjJ9IH0sCi17ICA0LCAweDEyNDMsIDAsIHsweDdhLDB4MDAsMHg3YiwweGVmfSB9LAoteyAgMywgMHgxMjQ3LCAwLCB7MHhiYSwweDEwLDB4MDB9IH0sCi17ICAyLCAweDEyNGEsIDAsIHsweDUwLDB4MjB9IH0sCi17IDE0LCAweDEyNGMsIDAsIHsweDc0LDB4MTEsMHgyYiwweGZiLDB4MjQsMHgwMCwweGZjLDB4ZTQsMHgzNCwweDE4LDB4ZmQsMHg4YywweDgyLDB4OGR9IH0sCi17IDE0LCAweDEyNWEsIDAsIHsweDgzLDB4ZTQsMHhmMCwweGVhLDB4MjQsMHgwMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4MTksMHhmNSwweDgzLDB4ZTR9IH0sCi17ICA0LCAweDEyNjgsIDAsIHsweGYwLDB4MGEsMHg4MCwweGRifSB9LAoteyAgMSwgMHgxMjZjLCAwLCB7MHgyMn0gfSwKLXsgMTQsIDB4MTI2ZCwgMCwgezB4NzQsMHhmOCwweDI0LDB4MDAsMHhmNSwweDgyLDB4NzQsMHgwMywweDM0LDB4ODQsMHhmNSwweDgzLDB4ZTQsMHhmMH0gfSwKLXsgMTQsIDB4MTI3YiwgMCwgezB4NzQsMHhmOSwweDI0LDB4MDAsMHhmNSwweDgyLDB4NzQsMHgwMywweDM0LDB4ODQsMHhmNSwweDgzLDB4ZTQsMHhmMH0gfSwKLXsgMTQsIDB4MTI4OSwgMCwgezB4NzQsMHhmYSwweDI0LDB4MDAsMHhmNSwweDgyLDB4NzQsMHgwMywweDM0LDB4ODQsMHhmNSwweDgzLDB4ZTQsMHhmMH0gfSwKLXsgMTQsIDB4MTI5NywgMCwgezB4NzQsMHhmYiwweDI0LDB4MDAsMHhmNSwweDgyLDB4NzQsMHgwMywweDM0LDB4ODQsMHhmNSwweDgzLDB4ZTQsMHhmMH0gfSwKLXsgMTQsIDB4MTJhNSwgMCwgezB4NzQsMHhmZiwweDI0LDB4MDAsMHhmNSwweDgyLDB4NzQsMHgwMywweDM0LDB4ODQsMHhmNSwweDgzLDB4ZTQsMHhmMH0gfSwKLXsgIDEsIDB4MTJiMywgMCwgezB4MjJ9IH0sCi17IDE0LCAweDEyYjQsIDAsIHsweDEyLDB4MDMsMHhjYiwweDEyLDB4MTIsMHg2ZCwweDdhLDB4YzAsMHg3YiwweDg3LDB4N2MsMHgwMSwweDc0LDB4MDF9IH0sCi17IDE0LCAweDEyYzIsIDAsIHsweDJhLDB4ZmQsMHhlNCwweDNiLDB4ZmUsMHg4YywweDA3LDB4OGEsMHg4MiwweDhiLDB4ODMsMHg4YywweGYwLDB4NzR9IH0sCi17IDE0LCAweDEyZDAsIDAsIHsweDAxLDB4MTIsMHgxNCwweGJmLDB4MmQsMHhmYSwweGU0LDB4M2UsMHhmYiwweDhmLDB4MDQsMHg4ZCwweDgyLDB4OGV9IH0sCi17IDE0LCAweDEyZGUsIDAsIHsweDgzLDB4OGYsMHhmMCwweDc0LDB4MDYsMHgxMiwweDE0LDB4YmYsMHg3NCwweDAxLDB4MmEsMHhmZCwweGU0LDB4M2J9IH0sCi17IDE0LCAweDEyZWMsIDAsIHsweGZlLDB4OGMsMHgwNywweDhhLDB4ODIsMHg4YiwweDgzLDB4OGMsMHhmMCwweGU0LDB4MTIsMHgxNCwweGJmLDB4NzR9IH0sCi17IDE0LCAweDEyZmEsIDAsIHsweDAxLDB4MmQsMHhmYSwweGU0LDB4M2UsMHhmYiwweDhmLDB4MDQsMHg4ZCwweDgyLDB4OGUsMHg4MywweDhmLDB4ZjB9IH0sCi17IDE0LCAweDEzMDgsIDAsIHsweDc0LDB4MGIsMHgxMiwweDE0LDB4YmYsMHg3NCwweDAxLDB4MmEsMHhmZCwweGU0LDB4M2IsMHhmZSwweDhjLDB4MDd9IH0sCi17IDE0LCAweDEzMTYsIDAsIHsweDhhLDB4ODIsMHg4YiwweDgzLDB4OGMsMHhmMCwweDc0LDB4MDgsMHgxMiwweDE0LDB4YmYsMHg3NCwweDAxLDB4MmR9IH0sCi17IDE0LCAweDEzMjQsIDAsIHsweGZhLDB4ZTQsMHgzZSwweGZiLDB4OGYsMHgwNCwweDhkLDB4ODIsMHg4ZSwweDgzLDB4OGYsMHhmMCwweDc0LDB4MDF9IH0sCi17IDE0LCAweDEzMzIsIDAsIHsweDEyLDB4MTQsMHhiZiwweDJhLDB4ZmQsMHhlNCwweDNiLDB4ZmUsMHg4YywweDA3LDB4OGEsMHg4MiwweDhiLDB4ODN9IH0sCi17IDE0LCAweDEzNDAsIDAsIHsweDhjLDB4ZjAsMHhlNCwweDEyLDB4MTQsMHhiZiwweDc0LDB4MDEsMHgyZCwweGZhLDB4ZTQsMHgzZSwweGZiLDB4OGZ9IH0sCi17IDE0LCAweDEzNGUsIDAsIHsweDA0LDB4OGQsMHg4MiwweDhlLDB4ODMsMHg4ZiwweGYwLDB4NzQsMHgwMywweDEyLDB4MTQsMHhiZiwweDdkLDB4MDB9IH0sCi17ICAzLCAweDEzNWMsIDAsIHsweGJkLDB4MDYsMHgwMH0gfSwKLXsgIDIsIDB4MTM1ZiwgMCwgezB4NTAsMHgxMn0gfSwKLXsgMTEsIDB4MTM2MSwgMCwgezB4OGEsMHg4MiwweDhiLDB4ODMsMHg4YywweGYwLDB4MGEsMHhiYSwweDAwLDB4MDEsMHgwYn0gfSwKLXsgIDcsIDB4MTM2YywgMCwgezB4ZTQsMHgxMiwweDE0LDB4YmYsMHgwZCwweDgwLDB4ZTl9IH0sCi17IDEzLCAweDEzNzMsIDAsIHsweDhhLDB4ODIsMHg4YiwweDgzLDB4OGMsMHhmMCwweGU1LDB4NzQsMHgxMiwweDE0LDB4YmYsMHg3NCwweGY5fSB9LAoteyAxNCwgMHgxMzgwLCAwLCB7MHgyNCwweDAwLDB4ZjUsMHg4MiwweDc0LDB4MDMsMHgzNCwweDg0LDB4ZjUsMHg4MywweDc0LDB4MGYsMHhmMCwweDc0fSB9LAoteyAxNCwgMHgxMzhlLCAwLCB7MHhmZSwweDI0LDB4MDAsMHhmNSwweDgyLDB4NzQsMHgwMywweDM0LDB4ODQsMHhmNSwweDgzLDB4NzQsMHgwMSwweGYwfSB9LAoteyAgNiwgMHgxMzljLCAwLCB7MHgxMiwweDAzLDB4ZTEsMHgxMiwweDA0LDB4Zjd9IH0sCi17ICAxLCAweDEzYTIsIDAsIHsweDIyfSB9LAoteyAxMywgMHgxM2EzLCAwLCB7MHg5MCwweDdkLDB4YzEsMHhlMCwweGZhLDB4MjQsMHgwMCwweGZiLDB4ZTQsMHgzNCwweDE5LDB4ZmMsMHg5MH0gfSwKLXsgMTQsIDB4MTNiMCwgMCwgezB4N2QsMHhjMiwweGUwLDB4ZmQsMHg4YiwweDgyLDB4OGMsMHg4MywweGYwLDB4NzUsMHhmMCwweDExLDB4ZWEsMHhhNH0gfSwKLXsgIDMsIDB4MTNiZSwgMCwgezB4ZmEsMHg3YiwweDAwfSB9LAoteyAgMywgMHgxM2MxLCAwLCB7MHhiYiwweDEwLDB4MDB9IH0sCi17ICAyLCAweDEzYzQsIDAsIHsweDUwLDB4MjR9IH0sCi17IDE0LCAweDEzYzYsIDAsIHsweGVhLDB4MjQsMHgwMCwweGZjLDB4ZTQsMHgzNCwweDE4LDB4ZmQsMHhlYiwweDJjLDB4ZmMsMHhlNCwweDNkLDB4ZmR9IH0sCi17IDE0LCAweDEzZDQsIDAsIHsweDc0LDB4MDQsMHgyYiwweDI0LDB4YzAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdkLDB4ZjUsMHg4MywweGUwLDB4ZmV9IH0sCi17ICA4LCAweDEzZTIsIDAsIHsweDhjLDB4ODIsMHg4ZCwweDgzLDB4ZjAsMHgwYiwweDgwLDB4ZDd9IH0sCi17IDE0LCAweDEzZWEsIDAsIHsweGVhLDB4MjQsMHgwMCwweGZhLDB4ZTQsMHgzNCwweDE4LDB4ZmIsMHg3NCwweDEwLDB4MmEsMHhmNSwweDgyLDB4ZTR9IH0sCi17ICA1LCAweDEzZjgsIDAsIHsweDNiLDB4ZjUsMHg4MywweGU0LDB4ZjB9IH0sCi17ICAxLCAweDEzZmQsIDAsIHsweDIyfSB9LAoteyAgNCwgMHgxM2ZlLCAwLCB7MHhlNSwweDc2LDB4NjAsMHgwMn0gfSwKLXsgIDIsIDB4MTQwMiwgMCwgezB4ODAsMHgxNn0gfSwKLXsgMTIsIDB4MTQwNCwgMCwgezB4NzQsMHgwZiwweDU1LDB4NzUsMHhmYSwweDhhLDB4NzUsMHgyNCwweDAwLDB4ZjUsMHg4MiwweGU0fSB9LAoteyAxMCwgMHgxNDEwLCAwLCB7MHgzNCwweDE5LDB4ZjUsMHg4MywweGUwLDB4ZjUsMHg3NCwweDEyLDB4MTIsMHhiNH0gfSwKLXsgMTAsIDB4MTQxYSwgMCwgezB4MTIsMHgxMCwweGNhLDB4NzUsMHg2ZSwweDAwLDB4NzUsMHg2ZiwweDAwLDB4MTJ9IH0sCi17ICA2LCAweDE0MjQsIDAsIHsweDExLDB4NDQsMHg3NSwweDcwLDB4YjksMHg3NX0gfSwKLXsgIDYsIDB4MTQyYSwgMCwgezB4NzEsMHgxNCwweDc1LDB4NzIsMHgwMiwweDEyfSB9LAoteyAxMSwgMHgxNDMwLCAwLCB7MHgxMSwweDc1LDB4ZTUsMHg3NiwweGI0LDB4MDIsMHgwNCwweDc0LDB4MDEsMHg4MCwweDAxfSB9LAoteyAgMSwgMHgxNDNiLCAwLCB7MHhlNH0gfSwKLXsgIDMsIDB4MTQzYywgMCwgezB4ZmEsMHg3MCwweDBmfSB9LAoteyAxMiwgMHgxNDNmLCAwLCB7MHg3NCwweDAxLDB4MjUsMHg3NSwweGY1LDB4NzMsMHhjMCwweDAyLDB4MTIsMHgxMSwweGEwLDB4ZDB9IH0sCi17ICAzLCAweDE0NGIsIDAsIHsweDAyLDB4ODAsMHgwYX0gfSwKLXsgMTAsIDB4MTQ0ZSwgMCwgezB4ODUsMHg3NSwweDczLDB4YzAsMHgwMiwweDEyLDB4MTEsMHhhMCwweGQwLDB4MDJ9IH0sCi17IDEyLCAweDE0NTgsIDAsIHsweDc1LDB4NmUsMHgwMCwweDc1LDB4NmYsMHgwMSwweGMwLDB4MDIsMHgxMiwweDExLDB4NDQsMHhkMH0gfSwKLXsgIDQsIDB4MTQ2NCwgMCwgezB4MDIsMHhlYSwweDcwLDB4MWF9IH0sCi17IDEzLCAweDE0NjgsIDAsIHsweDc1LDB4ZjAsMHgxMSwweGU1LDB4NzUsMHhhNCwweGZhLDB4MjQsMHgwMCwweGZhLDB4ZTQsMHgzNCwweDE4fSB9LAoteyAgOSwgMHgxNDc1LCAwLCB7MHhmYiwweDhhLDB4NzAsMHg4YiwweDcxLDB4NzUsMHg3MiwweDAxLDB4MTJ9IH0sCi17ICA0LCAweDE0N2UsIDAsIHsweDExLDB4NzUsMHg4MCwweDM2fSB9LAoteyAgMiwgMHgxNDgyLCAwLCB7MHg3YSwweDAwfSB9LAoteyAgMywgMHgxNDg0LCAwLCB7MHhiYSwweDEwLDB4MDB9IH0sCi17ICAyLCAweDE0ODcsIDAsIHsweDUwLDB4MmZ9IH0sCi17IDEzLCAweDE0ODksIDAsIHsweGVhLDB4MjQsMHgwMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4MTksMHhmNSwweDgzLDB4ZTAsMHhmYiwweGU1fSB9LAoteyAgNCwgMHgxNDk2LCAwLCB7MHg3NSwweGI1LDB4MDMsMHgxYn0gfSwKLXsgMTQsIDB4MTQ5YSwgMCwgezB4NzUsMHhmMCwweDExLDB4ZWEsMHhhNCwweGZiLDB4MjQsMHgwMCwweGZiLDB4ZTQsMHgzNCwweDE4LDB4ZmMsMHg4Yn0gfSwKLXsgIDksIDB4MTRhOCwgMCwgezB4NzAsMHg4YywweDcxLDB4NzUsMHg3MiwweDAxLDB4YzAsMHgwMiwweDEyfSB9LAoteyAgNCwgMHgxNGIxLCAwLCB7MHgxMSwweDc1LDB4ZDAsMHgwMn0gfSwKLXsgIDMsIDB4MTRiNSwgMCwgezB4MGEsMHg4MCwweGNjfSB9LAoteyAgMSwgMHgxNGI4LCAwLCB7MHgyMn0gfSwKLXsgIDYsIDB4MTRiOSwgMCwgezB4NTAsMHg3MiwweDZmLDB4NjcsMHgyMCwweDAwfSB9LAoteyAxNCwgMHgxNGJmLCAwLCB7MHhjOCwweGMwLDB4ZTAsMHhjOCwweGMwLDB4ZTAsMHhlNSwweGYwLDB4NjAsMHgwYiwweDE0LDB4NjAsMHgwZiwweDE0fSB9LAoteyAgNywgMHgxNGNkLCAwLCB7MHg2MCwweDExLDB4MTQsMHg2MCwweDEyLDB4ODAsMHgxNX0gfSwKLXsgIDcsIDB4MTRkNCwgMCwgezB4ZDAsMHhlMCwweGE4LDB4ODIsMHhmNiwweDgwLDB4MGV9IH0sCi17ICA1LCAweDE0ZGIsIDAsIHsweGQwLDB4ZTAsMHhmMCwweDgwLDB4MDl9IH0sCi17ICA0LCAweDE0ZTAsIDAsIHsweGQwLDB4ZTAsMHg4MCwweDA1fSB9LAoteyAgNSwgMHgxNGU0LCAwLCB7MHhkMCwweGUwLDB4YTgsMHg4MiwweGYyfSB9LAoteyAgNCwgMHgxNGU5LCAwLCB7MHhjOCwweGQwLDB4ZTAsMHhjOH0gfSwKLXsgIDEsIDB4MTRlZCwgMCwgezB4MjJ9IH0sCi17IDE0LCAweDE0ZWUsIDAsIHsweGM4LDB4YzAsMHhlMCwweGU1LDB4ZjAsMHg2MCwweDBkLDB4MTQsMHg2MCwweDBmLDB4MTQsMHg2MCwweDBmLDB4MTR9IH0sCi17ICA2LCAweDE0ZmMsIDAsIHsweDYwLDB4MTAsMHg3NCwweGZmLDB4ODAsMHgwZn0gfSwKLXsgIDUsIDB4MTUwMiwgMCwgezB4YTgsMHg4MiwweGU2LDB4ODAsMHgwYX0gfSwKLXsgIDMsIDB4MTUwNywgMCwgezB4ZTAsMHg4MCwweDA3fSB9LAoteyAgNCwgMHgxNTBhLCAwLCB7MHhlNCwweDkzLDB4ODAsMHgwM30gfSwKLXsgIDMsIDB4MTUwZSwgMCwgezB4YTgsMHg4MiwweGUyfSB9LAoteyAgNCwgMHgxNTExLCAwLCB7MHhmOCwweGQwLDB4ZTAsMHhjOH0gfSwKLXsgIDEsIDB4MTUxNSwgMCwgezB4MjJ9IH0sCi17ICAwLCAweDAwMDAsIDEsIHswfSB9Ci0KLX07Ci0KLXN0YXRpYyB1bnNpZ25lZCBjaGFyIGJpdHN0cmVhbVtdID0gewotCi0weDAwLDB4MDksMHgwRiwweEYwLDB4MEYsMHhGMCwweDBGLDB4RjAsIDB4MEYsMHhGMCwweDAwLDB4MDAsMHgwMSwweDYxLDB4MDAsMHgwRCwKLTB4NjQsMHg2MSwweDYyLDB4NzUsMHg3MywweDYyLDB4NzQsMHg3MiwgMHgyRSwweDZFLDB4NjMsMHg2NCwweDAwLDB4NjIsMHgwMCwweDBCLAotMHg3MywweDMxLDB4MzAsMHg3OCwweDZDLDB4NzYsMHg3MSwweDMxLCAweDMwLDB4MzAsMHgwMCwweDYzLDB4MDAsMHgwQiwweDMxLDB4MzksCi0weDM5LDB4MzksMHgyRiwweDMwLDB4MzksMHgyRiwweDMyLDB4MzQsIDB4MDAsMHg2NCwweDAwLDB4MDksMHgzMSwweDMwLDB4M0EsMHgzNCwKLTB4MzIsMHgzQSwweDM0LDB4MzYsMHgwMCwweDY1LDB4MDAsMHgwMCwgMHgyRSwweEMwLDB4RkYsMHgyMCwweDE3LDB4NUYsMHg5RiwweDVCLAotMHhGRSwweEZCLDB4QkIsMHhCNywweEJCLDB4QkIsMHhGQiwweEJGLCAweEFGLDB4RUYsMHhGQiwweERGLDB4QjcsMHhGQiwweEZCLDB4N0YsCi0weEJGLDB4QjcsMHhFRiwweEYyLDB4RkYsMHhGQiwweEZFLDB4RkYsIDB4RkYsMHhFRiwweEZGLDB4RkUsMHhGRiwweEJGLDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEFGLDB4RkYsMHhGQSwweEZGLDB4RkYsMHhGRiwgMHhDOSwweEZGLDB4RkYsMHhGRiwweERGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhGRiwweEZCLDB4RkYsMHhBMywweEZGLDB4RkIsCi0weEZFLDB4RkYsMHhCRiwweEVGLDB4RTMsMHhGRSwweEZGLDB4QkYsIDB4RTMsMHhGRSwweEZGLDB4QkYsMHg2RiwweEZCLDB4RjYsMHhGRiwKLTB4QkYsMHhGRiwweDQ3LDB4RkYsMHhGRiwweDlGLDB4RUUsMHhGOSwgMHhGRSwweENGLDB4OUYsMHhFRiwweEZCLDB4Q0YsMHg5QiwweEVFLAotMHhGOCwweEZFLDB4RUYsMHg4RiwweEVFLDB4RkIsMHhGRSwweDBCLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhCRiwweEZGLDB4RkYsMHhGQiwweEZGLDB4RkYsIDB4QkYsMHhGRiwweEZGLDB4RkMsMHgxNywweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4N0YsMHhGRiwweEZGLDB4RkYsMHg3RiwgMHhGRiwweEZGLDB4RkIsMHhGRiwweEZGLDB4N0YsMHhGRiwweEZGLAotMHhGQywweDNGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhGRiwweEZCLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRSwweDVGLDB4RkYsIDB4RkYsMHhGRCwweEZGLDB4RkYsMHhEQiwweEZGLDB4RkQsMHhGRiwKLTB4NzcsMHhGRiwweEZELDB4RkYsMHhGRiwweERGLDB4RkUsMHhGRCwgMHhGRiwweEZGLDB4RjIsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEZELDB4RkYsMHhGRiwweEZGLDB4RkQsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RTEsCi0weDdGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweDNGLDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhFMywweEZGLDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEJGLAotMHhGRiwweEZFLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4NjcsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weDdGLDB4RkYsMHhGRiwweEZGLDB4N0YsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhGRiwweERGLDB4RkYsMHhGRiwweEZGLDB4MkYsMHhGRiwKLTB4RjMsMHhGRCwweEZGLDB4N0YsMHhERSwweEY3LDB4RkQsMHhGRiwgMHg3RiwweEY3LDB4N0QsMHhGRiwweDdGLDB4REYsMHhGNywweEJELAotMHhGRiwweDdGLDB4RkYsMHgxRiwweEZGLDB4RUYsMHhGQiwweEZFLCAweEZGLDB4QkYsMHhFRiwweEZCLDB4RkUsMHhGRiwweEVGLDB4RkIsCi0weEZFLDB4RkYsMHhCRiwweEVGLDB4RkIsMHhGRSwweEZGLDB4RkYsIDB4M0YsMHhGRSwweDdGLDB4OUYsMHhFNywweEY5LDB4RkUsMHg3RiwKLTB4OUYsMHhFNywweEZBLDB4N0YsMHg5RiwweEU3LDB4RjksMHhGRSwgMHg3RiwweDlGLDB4RTcsMHhGRiwweEZDLDB4N0YsMHhCRiwweEJGLAotMHhFRiwweEZCLDB4RkUsMHhGRiwweEJGLDB4RUYsMHhGQiwweEI3LCAweEJGLDB4RUYsMHhGQiwweEZFLDB4RkYsMHhCRiwweEVGLDB4RkIsCi0weEZGLDB4RTAsMHhGRCwweEY5LDB4RkUsMHg3RiwweDlGLDB4RTcsIDB4RjksMHhGRSwweDdGLDB4OUQsMHhGOSwweEZFLDB4N0QsMHg5RCwKLTB4RTcsMHhGOSwweEZFLDB4N0YsMHg5RiwweEVELDB4RUQsMHhGRiwgMHhGRCwweEZGLDB4N0YsMHhERiwweEY3LDB4RkQsMHhGRiwweDdGLAotMHhERiwweEZELDB4RkYsMHg3RiwweERGLDB4RjcsMHhGRCwweEZGLCAweDdGLDB4REYsMHhGRiwweDlCLDB4RkYsMHhFRiwweEZCLDB4RkUsCi0weEZCLDB4QkYsMHhFRiwweEJCLDB4RkUsMHhGRiwweEFGLDB4QkIsIDB4QkUsMHhGRiwweEJGLDB4RUYsMHhGQiwweEZFLDB4RkYsMHhGRiwKLTB4QjcsMHhCRiwweERCLDB4RjYsMHhCRCwweEJGLDB4NkIsMHhEQiwgMHhGNiwweEY5LDB4QkYsMHg1QiwweEQ2LDB4RjksMHhCRiwweDZGLAotMHhEQiwweEY2LDB4RkQsMHhCRiwweEZGLDB4MEUsMHhGRiwweEZGLCAweEZGLDB4RkYsMHg1RiwweEZGLDB4RjcsMHhGRiwweEZGLDB4N0YsCi0weEY3LDB4QkQsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhERiwweDlGLDB4RkYsMHhGRiwweEZGLDB4RkUsMHhGRiwKLTB4RkYsMHhFRiwweEZFLDB4RkUsMHhGRiwweEZGLDB4NzcsMHhGRiwgMHhGQiwweEZCLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGOCwweDNGLAotMHhGRiwweEZELDB4RkYsMHhGRiwweEZGLDB4RkQsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEY0LDB4N0YsMHhGRiwweEZFLDB4RkQsIDB4QkUsMHhGRiwweERGLDB4RkUsMHhGRiwweEZGLDB4RUYsMHg3RiwKLTB4RkYsMHhDRiwweEZGLDB4Q0YsMHhGRiwweEZGLDB4RkYsMHhERiwgMHhFNiwweEZGLDB4RkYsMHg3RiwweERGLDB4RjcsMHhERCwweDdGLAotMHg3RiwweERGLDB4RjcsMHhGRiwweDdGLDB4REYsMHhENywweEZELCAweEZGLDB4N0YsMHhERiwweEY3LDB4RkYsMHhDRCwweEZGLDB4RjIsCi0weEZGLDB4RkYsMHg0RiwweDdGLDB4RjQsMHhGRiwweEZGLDB4RkYsIDB4RTcsMHhFRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEJCLDB4RkYsMHhFRiwweEZGLDB4RkUsMHhGRiwgMHhGRiwweEZGLDB4RUYsMHhGRiwweEZGLDB4RUYsMHhGRiwweEZCLAotMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweDY1LCAweEVGLDB4RkYsMHhGRiwweDdGLDB4RkYsMHhGRCwweEVGLDB4RkYsCi0weEZGLDB4RkYsMHhGRSwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4RkUsMHhDRiwweERGLDB4RkUsMHhGRiwKLTB4RkYsMHhGQiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RjMsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhGRSwweERGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRSwweEJGLDB4RkYsIDB4RkYsMHhGRiwweEUzLDB4N0YsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEVGLDB4RUIsMHhGRiwweEZFLDB4QkYsMHhGRiwgMHhFQiwweEZGLDB4RkMsMHg3RiwweEZGLDB4RkYsMHhGRiwweEVFLAotMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhERCwweEZGLCAweEQ2LDB4RkYsMHhGRCwweEJGLDB4RkYsMHhGQiwweEZGLDB4RkUsCi0weEZELDB4RkYsMHhGRiwweEZELDB4RUYsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4REUsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEJGLDB4RkYsMHhGRCwweEZGLDB4N0YsMHhCRiwgMHhGRiwweDVGLDB4REYsMHhGRiwweEZGLDB4QkYsMHg3NywweEZGLAotMHhGRiwweEZGLDB4N0YsMHhENywweEZGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4QzMsMHhGRiwweEZGLDB4RkYsMHhGRiwweERGLDB4RUYsCi0weEZGLDB4RkYsMHhGRSwweEZCLDB4RkYsMHhGRiwweERGLDB4QkYsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhFRCwweEZGLDB4QjcsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4RkYsMHhBRiwweDdGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4REYsMHhCRiwweERGLDB4RjMsMHhGRCwweEZCLDB4RkYsMHg1QiwKLTB4RkQsMHhGRiwweEJGLDB4RUYsMHhGNywweEZGLDB4RkYsMHg3RCwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEY4LDB4M0IsMHhGRiwweEJGLAotMHg2RiwweEZGLDB4RkUsMHhGRiwweEJGLDB4RkYsMHhFQiwweDdELCAweEZGLDB4RUYsMHhGQiwweEZFLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RjIsMHg3RiwweEZDLDB4RkYsMHgzRiwweERGLDB4RUQsIDB4RkUsMHhGRiwweEZGLDB4RkYsMHhGRiwweEVGLDB4NUYsMHhGNywKLTB4QjUsMHhGRiwweEVGLDB4RkYsMHhGRiwweEZGLDB4RTAsMHgzRiwgMHg5RiwweDlFLDB4RkYsMHhGRiwweEVGLDB4RkYsMHhERiwweEZGLAotMHhCRiwweDVGLDB4QkYsMHhDRiwweEYzLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhGRiwweDY5LDB4QUYsMHgzMywweEZELDB4RkYsCi0weEZCLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGQywweEZGLDB4N0YsIDB4RDksMHhGRiwweERGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGNSwKLTB4QTMsMHhERiwweDZFLDB4REUsMHhGRiwweEZGLDB4QkQsMHhGRiwgMHhGRiwweEZFLDB4RkYsMHhGRiwweEZGLDB4RkUsMHhFNywweEZELAotMHhGRiwweEZGLDB4RkYsMHhGOSwweEVGLDB4QzYsMHhGRSwweEI3LCAweEFELDB4RTUsMHhGOSwweEZGLDB4RkYsMHhGRiwweENGLDB4RkYsCi0weEZGLDB4RkYsMHhDRCwweEZCLDB4N0YsMHhGRiwweEZGLDB4RkYsIDB4RjksMHhGNiwweDBGLDB4REYsMHhFQywweENGLDB4N0YsMHhGRiwKLTB4RkIsMHg3RiwweEZGLDB4RkYsMHhGRiwweEZELDB4RkYsMHhGRSwgMHhGOSwweEZELDB4N0YsMHhGRiwweDdGLDB4RkYsMHhGOSwweDVCLAotMHhGRiwweDczLDB4REMsMHhGRCwweDdCLDB4REYsMHhGRiwweEZGLCAweEZGLDB4N0IsMHhGRiwweEZGLDB4RjcsMHg1MywweEQ2LDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEQ4LDB4OUYsMHhGRSwweEZGLDB4RUYsIDB4N0YsMHhFRSwweEZGLDB4RkYsMHhGRiwweEZCLDB4RUQsMHhFRCwKLTB4RkQsMHhGRiwweEZFLDB4RkYsMHhGRiwweEZCLDB4N0YsMHhGRiwgMHhFMiwweDdGLDB4RkYsMHg2RiwweEQ4LDB4NTcsMHhGNywweEZGLAotMHhGRiwweEZGLDB4REYsMHhGRiwweEU4LDB4RkYsMHhGRiwweEZELCAweEZGLDB4RkYsMHhGQywweDdGLDB4RkYsMHhFNCwweEZGLDB4RkIsCi0weEVGLDB4RkIsMHhGRSwweERGLDB4QjcsMHhFRCwweEZGLDB4RkUsIDB4REYsMHg3RiwweEZGLDB4RkUsMHg3RiwweEI3LDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweDg5LDB4RkYsMHhGRiwweENGLDB4RjMsMHhGRSwgMHg3RiwweEZGLDB4RUYsMHhGRiwweEZFLDB4N0UsMHg3RiwweEZCLAotMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEYxLCAweEZGLDB4RUIsMHg3QSwweEQ1LDB4QkYsMHg2RiwweERCLDB4QkUsCi0weEZELDB4QjcsMHhEOCwweEY2LDB4RTUsMHhCRiwweDZGLDB4RkIsIDB4RkUsMHhGNSwweEJELDB4N0UsMHgwNiwweEZGLDB4REYsMHhGNywKLTB4RkIsMHhGNiwweEZGLDB4M0YsMHhGRiwweERCLDB4RkYsMHhGRiwgMHg2RiwweEZCLDB4RjcsMHhGRiwweEZGLDB4RkYsMHhGQiwweEZFLAotMHhGNywweEFGLDB4RkYsMHhCNywweEVELDB4RUYsMHhGNywweEZFLCAweEZGLDB4RkYsMHhERiwweEZGLDB4RkUsMHhGRiwweEVGLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEJGLDB4RjcsMHhGQywweDFGLDB4RUUsIDB4RkIsMHhGRSwweEJELDB4RkYsMHg3RiwweDVGLDB4RDcsMHhGRCwKLTB4RkIsMHg0MywweEZGLDB4RkYsMHhGRCwweEZGLDB4NUYsMHhGRiwgMHhGNywweEZGLDB4RjksMHgzRiwweEZGLDB4Q0YsMHhGMywweEZELAotMHhGNywweDdFLDB4RUYsMHhBNywweEY5LDB4RkUsMHg4RiwweEE3LCAweEU5LDB4RjMsMHg3RSwweDlGLDB4RkIsMHhGOCwweEZGLDB4RkYsCi0weDNGLDB4RkQsMHg3RiwweDVGLDB4REYsMHhGRCwweEZGLDB4RkYsIDB4NUYsMHhGRiwweEZELDB4NUYsMHhGRiwweEZGLDB4N0YsMHhGRCwKLTB4N0YsMHhGRCwweDlGLDB4RkYsMHhFMCwweEZGLDB4RkEsMHhGOCwgMHhCRSwweDZGLDB4OUYsMHhFNiwweEY4LDB4QkUsMHgzRiwweDlBLAotMHhGOSwweEJFLDB4NkYsMHg5RiwweEUyLDB4RjksMHhGRSwweDZGLCAweDlGLDB4RjksMHhGRiwweEY1LDB4RkQsMHg3RiwweENGLDB4REYsCi0weEZELDB4RkQsMHg3RiwweEZGLDB4RjUsMHhGRiwweEZGLDB4RkYsIDB4RjcsMHhGNSwweEZELDB4MEYsMHhEQiwweEZGLDB4RDMsMHhGRiwKLTB4RUIsMHhGQSwweEZGLDB4RkYsMHhCRiwweEZGLDB4RkEsMHhGRiwgMHhGRiwweENCLDB4RkIsMHhGRSwweEZGLDB4RkYsMHhFQiwweEZBLAotMHhGRSwweEZGLDB4RkYsMHhCNywweEZGLDB4RkYsMHhGRiwweEZGLCAweEJGLDB4RkYsMHhERiwweEY1LDB4RkYsMHhGRiwweEQ3LDB4RkYsCi0weEZGLDB4RkYsMHhERiwweEQ3LDB4RjUsMHhGRiwweDdGLDB4RkUsIDB4NEYsMHhGRiwweEZELDB4RkYsMHg3RiwweDdGLDB4RkYsMHhBRCwKLTB4RUIsMHhGQiwweEZGLDB4QUQsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhBRiwweEVCLDB4RkIsMHhGRiwweEZDLDB4MEQsMHhGRiwweEZGLAotMHhERiwweEQyLDB4RkQsMHhGRiwweEZGLDB4RkQsMHhGNiwweEZGLCAweEZGLDB4N0YsMHhGRiwweEZGLDB4MUYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RkIsMHgzRiwweDdELDB4RUIsMHgzMiwweEZFLDB4QkYsIDB4MkYsMHhFQiwweEZBLDB4QUUsMHhCRCwweEUwLDB4RkEsMHg3RSwKLTB4QkYsMHhBRCwweEVCLDB4RkEsMHhGRSwweEJGLDB4RjUsMHg3RiwgMHhGRiwweERFLDB4RkUsMHhFMywweEZCLDB4RkYsMHhGRiwweEZGLAotMHhERiwweEVGLDB4NEYsMHhERiwweEZGLDB4N0YsMHhERiwweEZGLCAweEY3LDB4RkYsMHhGRiwweEY4LDB4N0YsMHhGRiwweEZGLDB4RUYsCi0weEZCLDB4RkYsMHhGRiwweEZGLDB4RUYsMHhGRiwweEZGLDB4REYsIDB4RUQsMHhGQiwweERGLDB4RkYsMHhCRiwweEZGLDB4RkYsMHhGRiwKLTB4ODEsMHhGRiwweEZGLDB4RkYsMHhGRiwweDNGLDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RkUsMHhERCwweEZFLDB4RUYsMHhGRCwweEZGLAotMHhGRiwweEZCLDB4RkUsMHhGNywweEZGLDB4OTMsMHhGRCwweEZCLCAweDdFLDB4RkYsMHhGRSwweDg3LDB4RTksMHhGRiwweDdGLDB4QjMsCi0weDlGLDB4RkUsMHhGRSwweEZGLDB4QUYsMHhGRCwweEZFLDB4N0UsIDB4M0YsMHhGRSwweDY3LDB4RkYsMHhGRiwweEY3LDB4RkYsMHhGRiwKLTB4RkMsMHhGNywweERGLDB4RkQsMHhGRiwweDdGLDB4RkYsMHhGRiwgMHg3RiwweDZELDB4RkYsMHhGRiwweEZFLDB4RkYsMHhGRiwweDJGLAotMHhGRiwweEJGLDB4RkYsMHhGRiwweEVFLDB4RkYsMHhCRSwweEZGLCAweEZGLDB4RkUsMHhGRiwweEVGLDB4RkYsMHhGRiwweEZFLDB4RkYsCi0weEVGLDB4RkYsMHhGRiwweEZBLDB4NUYsMHhGRiwweEZGLDB4RkIsIDB4RkYsMHhGRiwweEVGLDB4RkYsMHhGQiwweEZFLDB4RkQsMHhGRiwKLTB4RkUsMHhGRiwweEZCLDB4RkYsMHhGRiwweEZGLDB4N0YsMHhGRiwgMHhGRSwweEJGLDB4REYsMHhGRiwweEZCLDB4RkYsMHhGRiwweEY3LAotMHhGQywweEZELDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweDdGLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGMiwweDdGLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweDdGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RjMsMHhGRiwweEZGLDB4RkYsMHhFRiwweEZCLDB4RkYsMHhGRiwKLTB4RkYsMHhERiwweEUyLDB4RkYsMHhGRiwweEZCLDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZCLDB4RTcsMHhGRiwweEZELAotMHhGRiwweEZGLDB4RkYsMHhCRiwweEZGLDB4RkYsMHhGRiwweEVELCAweEVGLDB4RkQsMHhGRiwweEZGLDB4REYsMHhENywweEY1LDB4RkQsCi0weDdGLDB4NUQsMHhGRCwweEZGLDB4N0YsMHhERiwweDk3LDB4RjQsIDB4RkQsMHg3QiwweDVGLDB4RkYsMHhDOSwweEZGLDB4RkIsMHhGRSwKLTB4RkYsMHhCRiwweEZGLDB4NUYsMHhGRiwweEZGLDB4RjcsMHhGRiwgMHhFRiwweEZELDB4RkYsMHhFRiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEY3LDB4RkYsMHhENywweEZELDB4N0QsMHg3RiwweEZGLCAweEZGLDB4RkYsMHhGRiwweEVGLDB4REYsMHhGNywweEZELDB4RkYsCi0weEJCLDB4RkYsMHhGRiwweDdGLDB4RkYsMHhGRSwweEUzLDB4RkYsIDB4RjksMHhGRSwweDdGLDB4QkYsMHhFRiwweEZCLDB4RkUsMHhGRiwKLTB4QkYsMHhGOSwweEZFLDB4RkYsMHg5RiwweEVGLDB4RjksMHhGRSwgMHhGRiwweEJGLDB4RjMsMHhEQSwweEZGLDB4MzcsMHhDRCwweEYzLAotMHg3QywweERGLDB4MzcsMHhDRCwweEYzLDB4N0YsMHgzNywweENELCAweEYzLDB4N0MsMHhERiwweDM3LDB4Q0MsMHhGMywweDdGLDB4NUEsCi0weEJELDB4RjYsMHhGRCwweEJGLDB4NkYsMHhEQiwweEY2LDB4RkQsIDB4QkYsMHg2RiwweERFLDB4RkQsMHhCRiwweDZGLDB4REIsMHhGNiwKLTB4RkQsMHhCRiwweDZGLDB4RkUsMHhGMSwweDZGLDB4RUIsMHg3QSwgMHhERSwweEI3LDB4QUQsMHhFQiwweDdBLDB4REUsMHhCNywweEFGLAotMHg3QSwweERFLDB4QjcsMHhBRCwweEVCLDB4N0EsMHhERSwweEI3LCAweEZGLDB4N0UsMHhGRiwweEZFLDB4Q0QsMHhCMywweDZDLDB4REIsCi0weDM2LDB4Q0QsMHhCMywweDZDLDB4REUsMHhDRCwweEIzLDB4NkMsIDB4REIsMHgzNiwweENELDB4QjMsMHg2QywweERGLDB4QzksMHhCRiwKLTB4RjcsMHhCRCwweEVGLDB4N0EsMHg5RSwweEE3LDB4QTksMHhFQSwgMHg3QSwweEI3LDB4QkQsMHhFQSwweDdCLDB4REUsMHhBNywweEJELAotMHhDQSwweDcyLDB4OEQsMHg5MSwweEZGLDB4RUYsMHhGQiwweEZFLCAweEZGLDB4QkYsMHhFRiwweEZCLDB4RkUsMHhGNywweEVGLDB4RkIsCi0weEZFLDB4RkYsMHhCRiwweEVGLDB4RkIsMHhGRSwweEZGLDB4RkUsIDB4ODcsMHhGRiwweEY2LDB4RkQsMHhCRiwweDZGLDB4REIsMHhGNiwKLTB4RkQsMHhCRiwweDZGLDB4RjYsMHhGRCwweEJGLDB4NkYsMHhEQiwgMHhGNiwweEZELDB4QkYsMHg2RiwweEZFLDB4NEYsMHhGRiwweEJGLAotMHhFRiwweEJCLDB4RUUsMHhGQiwweEJFLDB4RUYsMHhCQiwweEVGLCAweEJFLDB4RUYsMHhCQiwweEVFLDB4RkIsMHhCRSwweEVGLDB4QkIsCi0weEVGLDB4RkMsMHg1RiwweEZGLDB4RkYsMHhGRiwweDNGLDB4Q0YsIDB4RjMsMHhGQywweEZGLDB4M0YsMHhDRiwweEZDLDB4RkYsMHgzRiwKLTB4Q0YsMHhGMywweEZDLDB4RkYsMHgzRiwweENGLDB4RkQsMHg5RiwgMHhGRSwweEJGLDB4QUYsMHhFQiwweEZBLDB4RkUsMHhCRiwweEFGLAotMHhFQiwweEZFLDB4QkYsMHhBRiwweEVCLDB4RkEsMHhGRSwweEJGLCAweEFGLDB4RUIsMHhGRiwweEUxLDB4NkYsMHhGRCwweEZGLDB4N0YsCi0weERGLDB4RjcsMHhGRCwweEZGLDB4N0YsMHhERiwweEZELDB4RkYsIDB4N0YsMHhERiwweEY3LDB4RkQsMHhGRiwweDdGLDB4REYsMHhGRiwKLTB4N0EsMHhCRiwweEZCLDB4RkUsMHhERiwweEI3LDB4RUQsMHhGQiwgMHg3RSwweERGLDB4QjcsMHhGQiwweDdFLDB4REYsMHhCNywweEVELAotMHhGQiwweDdFLDB4REYsMHhCNywweEZGLDB4QzksMHhGRiwweEZGLCAweEJGLDB4RUYsMHhGQiwweEZFLDB4RkYsMHhCRiwweEVGLDB4RkIsCi0weEZGLDB4QkYsMHhFRiwweEZCLDB4RkUsMHhGRiwweEJGLDB4RUUsIDB4RkIsMHhGRSwweEJCLDB4RkYsMHhGRSwweEZGLDB4QkYsMHhFRiwKLTB4RkIsMHhGRSwweEZGLDB4QkYsMHhFRiwweEZFLDB4RkYsMHhCRiwgMHhFRiwweEZCLDB4RkUsMHhGRiwweDNGLDB4Q0YsMHhGRiwweEU3LAotMHhGRSwweEZGLDB4RjUsMHhGRCwweDc3LDB4NUQsMHhENywweDM1LCAweERELDB4NzcsMHhENywweEY1LDB4Q0QsMHg3QiwweDVELDB4RDcsCi0weEY1LDB4REQsMHg3NywweEZFLDB4MjcsMHhGRiwweEZGLDB4OEIsIDB4RTIsMHhGOCwweEJFLDB4MkYsMHg4QiwweEUyLDB4RjksMHhBRiwKLTB4OEIsMHhFMiwweEY4LDB4QkUsMHgyRiwweDhCLDB4RTIsMHhGOSwgMHhGRSwweDFGLDB4RkYsMHg1RiwweEQ3LDB4RjUsMHhGRCwweDdGLAotMHg1RiwweEQ3LDB4RjUsMHhGRiwweDVGLDB4RDcsMHhGNSwweEZELCAweDdGLDB4NUYsMHhENywweEY1LDB4RkYsMHhGQSwweDNGLDB4RkUsCi0weEJGLDB4QUYsMHhFQiwweEZBLDB4RkUsMHhCRiwweEFGLDB4RUIsIDB4RUMsMHhCRiwweEFGLDB4RUIsMHhGQSwweEZFLDB4QkYsMHhBRiwKLTB4RUIsMHhGRiwweEZFLDB4N0YsMHhGRCwweDdGLDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEU2LCAweEZGLDB4RkEsMHhERiwweEY3LDB4RkQsMHhGRiwweDdGLDB4REYsCi0weEY3LDB4RkMsMHhGRiwweERGLDB4RjcsMHhGRCwweEZGLDB4N0YsIDB4REYsMHhGNywweEZELDB4RkYsMHhGNSwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkIsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweDAyLDB4RkYsMHhGRSwweEJGLDB4QUIsMHhFQiwweEZBLCAweEJFLDB4QkYsMHgyMywweEVCLDB4REUsMHgxRiwweEFGLDB4RUEsCi0weEZBLDB4RkUsMHhBRiwweEFGLDB4RUIsMHhGRCwweDk3LDB4RkYsIDB4RjMsMHhGQywweDdCLDB4MUYsMHhDRiwweEYxLDB4RkMsMHg3RiwKLTB4MUYsMHhGMSwweEZDLDB4NzcsMHgxRiwweENELDB4RjEsMHhGQywgMHhGRiwweDFGLDB4RkUsMHg4NywweEZGLDB4QUYsMHhFRiwweEZBLAotMHhGRSwweEZGLDB4QUYsMHhFRiwweEZBLDB4RkQsMHhCRiwweDJCLCAweEZCLDB4N0UsMHhCRiwweEJGLDB4RUIsMHhGQiwweEZCLDB4RkIsCi0weERGLDB4RkYsMHhGQiwweEY3LDB4RkYsMHhGRiwweDdGLDB4RjcsIDB4RjcsMHhGRiwweEZELDB4REYsMHhGRSwweEZDLDB4REYsMHhGRiwKLTB4REYsMHhGRiwweEZELDB4RkYsMHhEQSwweEJGLDB4RkYsMHhCQiwgMHhFRiwweEZCLDB4RjksMHhGRiwweEJFLDB4RUYsMHhGQiwweEZCLAotMHhCRiwweEVGLDB4RkIsMHhGRSwweEZGLDB4QkYsMHhFRiwweEZCLCAweEZGLDB4RjcsMHg3RiwweEZELDB4RDcsMHhGRiwweEZGLDB4N0YsCi0weEZGLDB4RkYsMHhGRiwweEZFLDB4RjcsMHhGRiwweEZFLDB4RkYsIDB4RjcsMHhGRiwweEZGLDB4N0YsMHhGRiwweEZGLDB4RUMsMHhGRiwKLTB4RkYsMHhGRSwweERGLDB4QkYsMHhGRiwweEZCLDB4RkUsMHhGRiwgMHhCQiwweDY4LDB4QUUsMHgxRiwweEFFLDB4RkIsMHhGQiwweEZGLAotMHhGRiwweEJGLDB4RkYsMHhENSwweEZGLDB4N0YsMHhGRiwweEZGLCAweEY3LDB4RkUsMHhGRSwweEZGLDB4QkYsMHhFRiwweDlGLDB4RkQsCi0weDdGLDB4RkYsMHhDQiwweEZGLDB4RkYsMHhERiwweEZGLDB4RkYsIDB4QkIsMHhGNywweEJGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhERiwKLTB4RkYsMHhCRiwweEZCLDB4RkYsMHhGRiwweEZGLDB4REUsMHgzRiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4QTcsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4RUYsMHhGRiwweDdGLDB4RkIsMHhGRCwweEZCLCAweDdGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhDRiwweEYzLDB4N0MsCi0weEZGLDB4N0YsMHg4RCwweDdGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RkIsMHhGRiwweEY3LDB4RkIsMHhGRSwweEZELDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEY3LDB4RkQsMHhGRiwweDdGLDB4RkQsMHgxRiwgMHhGRCwweEZGLDB4RkYsMHhGRiwweEZGLDB4QkYsMHhERiwweEZGLAotMHhGRiwweEZFLDB4NUMsMHhGRiwweDZELDB4RkYsMHg3RiwweEFCLCAweEU3LDB4RjEsMHhGRiwweEZELDB4OUYsMHhGRiwweEZGLDB4QUQsCi0weEVCLDB4N0EsMHgzRiwweDFGLDB4RkYsMHhGRiwweEZFLDB4QkYsIDB4QUYsMHhGMywweERFLDB4RjUsMHhGRiwweDhGLDB4RkIsMHhERiwKLTB4RTYsMHg3RiwweEZGLDB4REYsMHhGMywweEZELDB4RkYsMHg3RSwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkQsMHhGNywweEYzLAotMHg3RiwweERGLDB4RjcsMHhFRiwweEZGLDB4RjYsMHgzRiwweDlGLCAweERGLDB4RkYsMHhGRiwweEVFLDB4RkYsMHhGRiwweEVGLDB4RkIsCi0weEZGLDB4RkYsMHhGOSwweEZCLDB4RkUsMHg0RiwweEJGLDB4RUYsIDB4QkIsMHhGRiwweDY5LDB4QUYsMHhBRiwweEZDLDB4RkYsMHgzRiwKLTB4REQsMHhGRiwweEZDLDB4QkYsMHg4RiwweEZGLDB4RkQsMHhGMywgMHhCRiwweEVELDB4OUUsMHhGQywweEJGLDB4NkYsMHhGNSwweEQzLAotMHhERiwweEZGLDB4REIsMHhENiwweEY1LDB4RUYsMHhGRCwweEZFLCAweEZGLDB4QjksMHhGRiwweDFGLDB4RDIsMHhBOSwweEFGLDB4RkYsCi0weERCLDB4RjcsMHhCRiwweEVGLDB4NDYsMHhGRiwweEZGLDB4QUQsIDB4RUIsMHg3QSwweERGLDB4RUYsMHhGNywweEZGLDB4N0YsMHhGNywKLTB4OUYsMHhFRCwweEZGLDB4N0YsMHhGRiwweEFELDB4RUIsMHg3RiwgMHhGNSwweDZGLDB4RkYsMHhGRCwweEZCLDB4RDYsMHhGNCwweEY3LAotMHhGQiwweEY5LDB4N0UsMHg3RiwweEZGLDB4NUYsMHhDMiwweEZFLCAweEJGLDB4RkQsMHhGQiwweDMzLDB4REYsMHhGOSwweDVCLDB4RkYsCi0weEZGLDB4REQsMHg2NywweDdELDB4Q0YsMHhFRiwweERCLDB4RUMsIDB4RkYsMHg3NywweERELDB4RjcsMHhGRCwweEZGLDB4RkYsMHhERSwKLTB4QTcsMHhCRiwweEQ0LDB4OUYsMHhGRiwweEZGLDB4QkYsMHhFRiwgMHhGRSwweEZGLDB4REYsMHhFRiwweEJCLDB4RkYsMHhGRiwweEVGLAotMHhFQiwweEZBLDB4RkYsMHhFRiwweEJELDB4RkIsMHhGRiwweEUyLCAweDdGLDB4RkYsMHhERiwweERGLDB4RjcsMHhGRCwweEJGLDB4QkIsCi0weDczLDB4RjcsMHhGRCwweDdGLDB4REYsMHhERSwweEY3LDB4QkYsIDB4RUEsMHhEQiwweEY2LDB4RkYsMHhENiwweEZGLDB4RkYsMHg2NiwKLTB4RkYsMHhCRSwweEZGLDB4QkYsMHg2QiwweEQ5LDB4RjYsMHhERiwgMHhGRiwweEZCLDB4N0UsMHg3RiwweEI3LDB4N0UsMHhGRiwweEZFLAotMHhGRiwweENELDB4RkYsMHhGRSwweDdGLDB4RkYsMHhGQywweEZELCAweDNGLDB4RkIsMHhGQiwweEY3LDB4RkYsMHhGRiwweEZCLDB4RjYsCi0weDdELDB4RkUsMHg3RiwweEZGLDB4RkMsMHhGRiwweEI5LDB4RkYsIDB4RjksMHhGQSwweEZFLDB4QkYsMHhBRiwweDVCLDB4RDYsMHhFRCwKLTB4QUQsMHg3QiwweEY2LDB4RjksMHhCRiwweEVGLDB4RjgsMHhGQSwgMHhGRSwweEJGLDB4RkUsMHhFNiwweEZGLDB4RkYsMHhGNywweEZELAotMHhGRiwweDdGLDB4QkYsMHhFRiwweEYzLDB4RkYsMHhGRiwweDZGLCAweEY3LDB4RkUsMHhGRiwweEZGLDB4RjcsMHhGRCwweEZFLDB4RjcsCi0weEVGLDB4RkYsMHhGQiwweEVGLDB4RkIsMHg3RSwweERFLDB4RkUsIDB4RkYsMHhCRiwweEZGLDB4RkUsMHhGRiwweEZGLDB4RkIsMHhGRiwKLTB4RkYsMHhFRiwweEZCLDB4NkYsMHhGQywweDFGLDB4RkUsMHhFNywgMHhGRiwweEZGLDB4RkYsMHhFRiwweEZGLDB4RDMsMHhCNCwweEJCLAotMHhGRiwweEZGLDB4RkQsMHhCRiwweDZGLDB4RTMsMHhGRSwweEZGLCAweEJGLDB4RkMsMHhCRiwweEY3LDB4Q0YsMHhGNywweEZELDB4RkYsCi0weDJGLDB4REYsMHhBQiwweEVBLDB4RkYsMHhERiwweEU3LDB4RUEsIDB4OUEsMHhBRiwweEVGLDB4RkIsMHhGRSwweEZGLDB4RjUsMHgzRiwKLTB4RkQsMHg3RSwweEZGLDB4RDcsMHhGNSwweEZCLDB4RkYsMHhGRCwgMHhGNywweEZGLDB4N0YsMHhGRSwweEY3LDB4RkQsMHhGRiwweEQ3LAotMHhGRiwweEQ3LDB4N0YsMHhFRSwweDdGLDB4RkEsMHg3OSwweEZFLCAweDJGLDB4OEIsMHhFNiwweEY5LDB4RkUsMHgzRiwweDlFLDB4RjksCi0weEJFLDB4MkYsMHgwQiwweEU3LDB4RjksMHhGRSwweDJGLDB4OUYsIDB4RkQsMHhGRiwweEZFLDB4N0QsMHg3RiwweDVGLDB4RDcsMHhGRiwKLTB4RkYsMHg3RiwweEZGLDB4RkQsMHhGRiwweDdGLDB4NUYsMHg5NywgMHhGRiwweEZELDB4N0YsMHg1RiwweEZGLDB4RTMsMHhGRiwweEZGLAotMHhGQSwweEZFLDB4QkYsMHhBRiwweEZCLDB4RkIsMHhGRiwweEZGLCAweENGLDB4RUIsMHhGRSwweEJGLDB4QUYsMHhGRiwweEZBLDB4RkUsCi0weEJGLDB4RkYsMHg4NywweEZGLDB4RkYsMHhGNSwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEZELDB4RkYsMHg3RiwweEZGLDB4RkYsMHhGRiwKLTB4RkIsMHhGRiwweEZGLDB4RjUsMHhGRiwweEZGLDB4RkUsMHgwRiwgMHhGRiwweEZELDB4RUIsMHhGRiwweEZGLDB4RjcsMHhGRiwweEVGLAotMHg3QiwweERGLDB4RkUsMHhGRiwweEZGLDB4REYsMHhGNywweEZELCAweEVCLDB4N0YsMHhERiwweEZGLDB4NUYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RkQsMHhCRiwweEZGLDB4N0UsMHhGQSwweEJGLDB4QzcsIDB4REIsMHhGNywweEJELDB4M0YsMHhGQiwweEZGLDB4RjYsMHhGRiwKLTB4RkEsMHhBRiwweEZGLDB4RUIsMHhGQSwweEZFLDB4M0YsMHgyRiwgMHhFQSwweEZBLDB4M0UsMHhBRCwweEM5LDB4QkEsMHhGNiwweEFELAotMHhBRiwweEVCLDB4RkEsMHhGNiwweEJGLDB4RkUsMHg3RiwweEZGLCAweEZGLDB4RkQsMHhGRiwweEYxLDB4N0YsMHgzRiwweENGLDB4RjEsCi0weEVGLDB4RkYsMHg3RiwweEZGLDB4QkMsMHhERiwweERGLDB4RjcsIDB4REQsMHhGRiwweEUwLDB4N0YsMHhGRiwweEZGLDB4RkUsMHhGRiwKLTB4RkEsMHhFQywweEJCLDB4N0YsMHg1RiwweEZGLDB4RkIsMHhFQywgMHhGRiwweEVGLDB4QjcsMHhGRiwweEY3LDB4RkYsMHhGRiwweEI1LAotMHhGRiwweEZGLDB4N0YsMHhGRiwweEZGLDB4RkYsMHhFRSwweERGLCAweDVGLDB4REYsMHhERSwweEZGLDB4QUUsMHhFNywweDc3LDB4RkYsCi0weEZGLDB4REYsMHhGNywweEZGLDB4RTMsMHhGRiwweEZBLDB4QkIsIDB4RkUsMHhGRiwweEFGLDB4RkQsMHhGQiwweEZFLDB4QkYsMHhBQiwKLTB4RjksMHhGRSwweEZGLDB4QkYsMHg3RiwweEJGLDB4RkUsMHhCRCwgMHhGRSwweEQ3LDB4RkYsMHg5RiwweEZELDB4RkYsMHhCRSwweEVGLAotMHhGRiwweEVFLDB4RkQsMHhCQiwweDVCLDB4RUYsMHhGRiwweDdGLCAweEVGLDB4RkYsMHhFRiwweEZGLDB4N0YsMHhGRiwweDRGLDB4RkYsCi0weEVGLDB4RkIsMHhCQywweEZDLDB4RkYsMHhGRiwweEZGLDB4RkUsIDB4RkUsMHhGRCwweEZBLDB4RkUsMHhGQiwweEZGLDB4RkQsMHhGMywKLTB4RkIsMHhGRiwweEY4LDB4NUYsMHhGRiwweEZGLDB4RDcsMHhGNSwgMHhGRCwweERGLDB4RUYsMHhGRiwweEYzLDB4REMsMHg1RiwweENFLAotMHhGNSwweEJELDB4RkYsMHhGRiwweEQ3LDB4RkYsMHhGRiwweEY5LCAweDNGLDB4RkYsMHhERiwweEY3LDB4RkYsMHhGRSwweEZGLDB4RkQsCi0weEZGLDB4RkIsMHhGRiwweEY3LDB4QjksMHg3RCwweEZFLDB4REYsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGOSwweDdGLDB4RkYsMHhGRSwKLTB4RkYsMHhGRiwweDdGLDB4RkYsMHhGRSwweEZGLDB4RkYsMHhGNywgMHhGNiwweEZGLDB4QkYsMHhGMSwweEY4LDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEUwLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGOSwweEZGLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RUYsMHhFRiwweEZGLDB4RkYsCi0weDlCLDB4RkIsMHg3RiwweEZGLDB4RkYsMHhGRiwweEMxLDB4RkYsIDB4REYsMHhGRiwweDNGLDB4NUYsMHhENywweEJGLDB4RUYsMHhCQiwKLTB4REUsMHhFRSwweEZGLDB4N0YsMHhERiwweEZGLDB4RkUsMHhGNSwgMHg3RiwweERGLDB4RkYsMHg5OSwweEZGLDB4RkYsMHhGQSwweEZGLAotMHhCRiwweEZELDB4RUIsMHg3QSwweEZGLDB4QjcsMHhGRSwweEZFLCAweEZGLDB4RkYsMHhFRiwweEZGLDB4RkYsMHhGRCwweEJGLDB4RkYsCi0weDk3LDB4RkYsMHhGRCwweEY3LDB4RkYsMHg3RiwweEY3LDB4RkYsIDB4RkYsMHhGRCwweDVGLDB4RkUsMHhGMywweEY5LDB4REYsMHhERiwKLTB4RkYsMHhGRiwweEZDLDB4RkYsMHhGRiwweDgzLDB4RkYsMHhGRiwgMHhGRSwweEZGLDB4OUUsMHhFQywweEZCLDB4RUUsMHhGRiwweDlGLAotMHhCRiwweEVGLDB4RkYsMHhGRSwweEVELDB4N0IsMHhGRiwweEZGLCAweEZGLDB4RjEsMHg1QSwweEZGLDB4RkYsMHhGRCwweEZGLDB4N0MsCi0weDY5LDB4M0IsMHhERiwweEZGLDB4N0YsMHgxRiwweERGLDB4RkYsIDB4RkQsMHhCQSwweEZGLDB4RkYsMHhGQiwweEZGLDB4NUIsMHhCRCwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhENywweEI2LDB4RUQsMHhFOSwgMHhGRiwweEQ2LDB4QkQsMHg2RiwweDVGLDB4RkIsMHhGRiwweEVGLAotMHhGRiwweDVGLDB4RkUsMHhGNiwweDZGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4RjcsMHhFQiwweDdBLDB4REYsMHhGRiwweDlGLDB4N0YsCi0weDdGLDB4RkYsMHhCNywweEZGLDB4RkYsMHhGRSwweERGLDB4RkYsIDB4NkMsMHhGRiwweEZCLDB4RkYsMHhCQiwweDZGLDB4RUIsMHhGRSwKLTB4Q0MsMHhGNywweEE1LDB4RkEsMHg1QywweEY1LDB4NzUsMHhCQiwgMHhCNywweERGLDB4RkUsMHg2RiwweDVGLDB4QzUsMHhCRiwweEZELAotMHg3QiwweEZFLDB4RkYsMHg5NSwweEU3LDB4MjksMHhDRiwweDRGLCAweEY1LDB4OTEsMHhFRSwweDZCLDB4REYsMHhFRiwweEZELDB4NTQsCi0weEY1LDB4QkQsMHhCMSwweEZGLDB4RUYsMHhFRSwweEZCLDB4QkUsIDB4QkYsMHhBRiwweEZFLDB4REUsMHhCRCwweDZGLDB4REEsMHhGMiwKLTB4RkYsMHhBRiwweEJFLDB4RkYsMHhGRiwweEZELDB4N0UsMHhBNywgMHhGRiwweEY3LDB4RkYsMHhCRiwweEVGLDB4N0IsMHhGNiwweEZELAotMHhCRCwweDRBLDB4RjIsMHg4NSwweDg1LDB4QkYsMHg1QiwweEZFLCAweEI1LDB4RkQsMHhGQSwweEZGLDB4NEYsMHhGRiwweEZFLDB4REYsCi0weEZGLDB4RUQsMHhGRiwweEJGLDB4RkYsMHhCRiwweDdGLDB4RkUsIDB4RkYsMHhCNywweDZELDB4RkYsMHhGNywweEJGLDB4QkYsMHhFRiwKLTB4RkQsMHgxRiwweEZGLDB4RkUsMHg3RCwweEZGLDB4NjcsMHhGRiwgMHhGRiwweEZGLDB4M0YsMHg3RiwweEZFLDB4QkYsMHhGRiwweEU3LAotMHhERiwweEU3LDB4RkYsMHhFRiwweDZCLDB4RkMsMHgxRiwweEZGLCAweEJGLDB4RUYsMHhGQiwweEZFLDB4REUsMHhCRiwweEFGLDB4RkEsCi0weEZGLDB4QjYsMHhFRiwweEY5LDB4RkUsMHhGRiwweDhGLDB4RUYsIDB4REIsMHhFRiwweEFCLDB4NkYsMHhGQiwweEZFLDB4RkYsMHhGRiwKLTB4RUYsMHhGRCwweEZGLDB4N0YsMHhGRiwweEZGLDB4REUsMHhGRiwgMHhGRiwweEVGLDB4RkYsMHhGRiwweEZGLDB4M0YsMHhGRiwweDZDLAotMHhGRiwweEJGLDB4RkIsMHhGRiwweEZFLDB4RkYsMHhGQiwweEZFLCAweERGLDB4RkYsMHhGRiwweEVGLDB4RkYsMHhGRiwweEJGLDB4RkYsCi0weEZGLDB4RkUsMHhGQiwweEZGLDB4RDUsMHg3RiwweEZGLDB4RkYsIDB4RUYsMHhGQiwweEZGLDB4RkYsMHhCRiwweEVGLDB4NDMsMHhCNSwKLTB4RkQsMHg2RiwweENGLDB4RDYsMHhCRSwweDNGLDB4N0YsMHhEQiwgMHhGRSwweEMzLDB4RkYsMHhGRCwweEZGLDB4QUYsMHhFQiwweEZCLAotMHhGQywweEZGLDB4M0UsMHhFRiwweEU4LDB4RkEsMHhCRCwweENELCAweEFBLDB4RkUsMHhGRSwweDdELDB4Q0YsMHhGRiwweEI3LDB4RkYsCi0weEY3LDB4RkYsMHhGRiwweEZGLDB4RkQsMHhGRiwweDc1LDB4Q0QsIDB4NTIsMHhENywweEZELDB4RkIsMHhGNywweERELDB4RkIsMHhFRiwKLTB4RUIsMHhGRiwweEZGLDB4NEYsMHhGRiwweEJGLDB4OUYsMHhFNywgMHhGOSwweEZDLDB4N0YsMHg4QiwweEMzLDB4RjksMHhBRiwweDhGLAotMHhFNywweEU5LDB4QkUsMHg3RiwweDlGLDB4RTYsMHhGOSwweEZDLCAweDVGLDB4RkYsMHhGRiwweEY3LDB4RkQsMHhGRiwweDdBLDB4NUYsCi0weEQ3LDB4RUQsMHhGRiwweEZGLDB4RDcsMHhGRiwweERELDB4N0YsIDB4RTcsMHhGRiwweEZDLDB4RkYsMHhGQywweDNGLDB4RkYsMHhGRiwKLTB4RkYsMHhGQiwweEZGLDB4RkUsMHhCRiwweEFGLDB4RkYsMHhGRCwgMHhGRiwweEVGLDB4RkYsMHhFQiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEY3LDB4N0YsMHhGRiwweDdGLDB4REYsMHhGRiwweEZELCAweEZELDB4N0YsMHhGRSwweEY3LDB4RkQsMHg3RiwweERGLDB4RkYsCi0weEZELDB4RkYsMHhGRiwweERGLDB4RkIsMHhGRiwweEVFLDB4RkYsIDB4RkIsMHhGRiwweEY3LDB4RkQsMHhGRiwweDdBLDB4REYsMHhGNSwKLTB4RkQsMHhGQSwweERGLDB4RjcsMHhGQywweEZGLDB4N0YsMHhERiwgMHhCRiwweEVELDB4RkYsMHhDOSwweEZGLDB4REYsMHhGRiwweEJGLAotMHgyRiwweEZCLDB4RkYsMHhCQywweEFELDB4RkYsMHhGNywweEZGLCAweEZGLDB4RUYsMHhEMywweEZGLDB4N0QsMHhCRiwweDZGLDB4RkYsCi0weEZBLDB4RkYsMHhGRSwweEJGLDB4QUUsMHhFQSwweEZBLDB4QkUsIDB4QUQsMHhBNSwweEVCLDB4Q0UsMHhCRiwweEE3LDB4RUIsMHg1QSwKLTB4REUsMHhCRCwweEFGLDB4NkIsMHhGRCwweDU3LDB4RkYsMHhGRiwgMHhGNCwweDdGLDB4MUYsMHg3RiwweEZELDB4RkYsMHg3RiwweDM2LAotMHhGMCwweERGLDB4NzksMHhGRiwweEZGLDB4RkYsMHhGNywweEZELCAweEJGLDB4RkYsMHg4NywweEZGLDB4RkIsMHhGMywweEZDLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweDdFLDB4RkYsMHhCRiwweERGLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRCwweEJGLDB4RjgsMHg5RiwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhCRiwweEZGLDB4RkYsMHhGRCwgMHhGNywweEZDLDB4QkQsMHhGRiwweEZFLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4RkIsMHhGOSwweEJGLDB4RkYsMHhGRiwweEVCLCAweEUyLDB4RkUsMHhGRiwweEJGLDB4RUYsMHhBOSwweEJBLDB4MkYsCi0weEVCLDB4RjksMHhGRSwweDc3LDB4REYsMHhGNywweEZGLDB4RkYsIDB4RjksMHg3RiwweEZGLDB4RkYsMHg3RiwweEVGLDB4RDcsMHhGRiwKLTB4RkQsMHhGRiwweEZCLDB4RjUsMHhGRiwweEJGLDB4NkYsMHhERiwgMHhGRiwweEZGLDB4RkQsMHhGRiwweEZGLDB4RjAsMHhGRiwweEZGLAotMHhGRiwweDNGLDB4Q0YsMHhGRiwweEJBLDB4RUUsMHg5QiwweEJGLCAweEVFLDB4RDcsMHhGRSwweENELDB4RUYsMHhGRiwweERGLDB4QkYsCi0weEZGLDB4RkYsMHhDNSwweEZGLDB4RkYsMHhGRCwweDdGLDB4NEYsIDB4RkQsMHhGNiwweEQ5LDB4RkYsMHg0RiwweEQ2LDB4RkQsMHhCRiwKLTB4NkUsMHhGRiwweEZGLDB4RjQsMHg3RiwweEZGLDB4N0YsMHg4QiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEY3LDB4RkYsMHhGOSwweEZFLAotMHgzNywweEZGLDB4RDksMHhGQiwweEY1LDB4QUYsMHhGRCwweEZGLCAweEZGLDB4RkIsMHhGRiwweEZGLDB4MDcsMHhGRiwweEZGLDB4RkYsCi0weEZCLDB4RjcsMHhGRiwweEZELDB4RkYsMHg3QywweEZBLDB4N0UsIDB4NEYsMHhGQywweERGLDB4MUQsMHhDNywweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhBRSwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkQsMHhGQiwgMHhGRiwweEZGLDB4RkUsMHhGRSwweEZDLDB4RkYsMHg3RiwweDdGLAotMHhCRiwweEVGLDB4RkUsMHhGRiwweEZGLDB4RkYsMHg1RiwweEZELCAweEZGLDB4RkYsMHhGRiwweEZELDB4NkYsMHg1QSwweEQ3LDB4N0IsCi0weEJFLDB4NUYsMHhGRSwweDM5LDB4RkYsMHhGNywweEZGLDB4RjcsIDB4RkQsMHhGRSwweEFBLDB4MUYsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RkUsMHhGRSwweEFCLDB4QUYsMHhGRCwweEZFLDB4QkYsMHhGRiwgMHhGNywweEZGLDB4N0YsMHhGRSwweDhGLDB4RTMsMHhGQiwweEVFLAotMHg3RiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RUIsMHhGQiwweEZGLCAweEZELDB4QkYsMHhFRiwweERGLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEZCLDB4RTQsMHgzRiwweEZGLDB4REYsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGMywweEVGLDB4QkIsMHhGQiwKLTB4QkYsMHhFRiwweEJCLDB4RkYsMHhENywweEJGLDB4RkYsMHhGRiwgMHhGRiwweDI5LDB4QUYsMHhGNywweEZGLDB4RkYsMHhGQiwweEZGLAotMHhGQiwweEU2LDB4RkYsMHgwRiwweEZCLDB4M0YsMHhERiwweDBGLCAweEZGLDB4QUYsMHhGRiwweEZGLDB4RkYsMHhGNSwweEMzLDB4REYsCi0weDVGLDB4RkYsMHhGRiwweEZGLDB4RkUsMHg2QiwweENBLDB4QkUsIDB4QkMsMHhGRiwweDlGLDB4RjIsMHhCRiwweEZGLDB4RkUsMHhGQSwKLTB4RkYsMHhGRiwweEVGLDB4MTYsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEZDLDB4REYsMHg5NywweEZELDB4NzksMHhGRiwweDM3LAotMHhFNywweDdGLDB4RkYsMHhGRiwweEI1LDB4RkYsMHhGRiwweEY2LCAweDJGLDB4RkYsMHhGRCwweEZCLDB4RkUsMHhGRiwweEZGLDB4RkQsCi0weDVGLDB4NTcsMHg1RiwweEZGLDB4REIsMHg1MiwweERGLDB4RkYsIDB4RkQsMHhCRiwweEZGLDB4RkYsMHhGQywweERCLDB4RkYsMHg3QiwKLTB4QjUsMHhGRCwweDdGLDB4RkYsMHg3MSwweDlDLDB4NkUsMHhGRiwgMHhGNiwweDM1LDB4QTUsMHg5QiwweEZGLDB4RkYsMHhGRCwweEZGLAotMHhGRiwweERCLDB4OUUsMHg3RiwweEZFLDB4RUYsMHhGQiwweEZGLCAweEZGLDB4QkQsMHhFRiwweEZGLDB4REUsMHhCNywweEY5LDB4NEIsCi0weEZGLDB4RjUsMHhFRiwweEZGLDB4RkYsMHhGRiwweEU4LDB4N0UsIDB4RkYsMHhFQSwweERGLDB4RjcsMHhGRiwweEZELDB4NjksMHg1QiwKLTB4RkMsMHg5RiwweEVGLDB4NzgsMHhENiwweEZGLDB4RUIsMHhFRiwgMHhGRiwweEZGLDB4RkYsMHhFOCwweEZGLDB4RkYsMHhFRCwweEZGLAotMHhGRiwweEZGLDB4RkYsMHhFMywweEY5LDB4RjYsMHhCRiwweEZGLCAweEZGLDB4RkUsMHhERiwweEZGLDB4N0YsMHhGRiwweEZGLDB4RkYsCi0weEQxLDB4RkYsMHhGRiwweEU3LDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RTcsMHhGOSwweEZGLDB4QkYsMHg3RiwweEQ5LDB4RkYsMHhGRCwKLTB4RkUsMHg3RiwweEZGLDB4RkUsMHhGRiwweEY5LDB4RkYsMHhGQiwgMHhENiwweERGLDB4QkYsMHhFRiwweDVCLDB4RDYsMHhGRiwweEJGLAotMHhGQiwweEY2LDB4RkYsMHhCRiwweEVGLDB4RjgsMHhGNiwweERELCAweEJFLDB4RkUsMHgxNiwweEZGLDB4QkYsMHhFRiwweEZGLDB4RkUsCi0weEZGLDB4QkYsMHhFRiwweEZGLDB4RkYsMHhGRiwweDZGLDB4RkIsIDB4RkYsMHhGRiwweEZGLDB4NkYsMHhGMywweEZGLDB4RjcsMHhFRiwKLTB4RkIsMHhGRiwweEJGLDB4RkYsMHhFRiwweEZFLDB4RkYsMHhCRiwgMHhGRiwweEZGLDB4RkYsMHhCRSwweEJGLDB4RkYsMHhFRiwweEZGLAotMHg3RiwweEVGLDB4RkYsMHhGRCwweDE3LDB4RkIsMHg3QiwweEZGLCAweEZGLDB4RkQsMHg3RiwweERCLDB4RjYsMHhGNCwweDdGLDB4RkEsCi0weEZFLDB4RjUsMHhCRiwweEVCLDB4RTMsMHhGNywweEZGLDB4RkYsIDB4RTksMHhCRiwweEZGLDB4QUYsMHhGNywweEZELDB4RjMsMHg3RSwKLTB4OEYsMHhBMywweEVBLDB4RkYsMHhDQiwweEYzLDB4RUUsMHhGRiwgMHhCRiwweEVGLDB4RjcsMHhGOSwweEZGLDB4RkUsMHg3RiwweEZGLAotMHhGRiwweEZGLDB4RkYsMHhGNSwweEZCLDB4RjYsMHhGRiwweEY1LCAweDJGLDB4RkUsMHhGQiwweEQ3LDB4QkYsMHhGRiwweEJFLDB4REYsCi0weDlGLDB4RkYsMHhGMCwweEZGLDB4RkYsMHhGOSwweEZFLDB4N0YsIDB4OEYsMHhBMywweEY4LDB4RkUsMHg2RiwweDlGLDB4RjksMHhGNiwKLTB4MkYsMHg5RiwweEU3LDB4RjksMHhGRSwweDJGLDB4OUYsMHhFMSwgMHhGRiwweEZGLDB4RkYsMHg3RiwweERGLDB4RjcsMHhGNSwweEZELAotMHg3RiwweDdGLDB4RjUsMHhGRiwweDlGLDB4NUYsMHhGQiwweEZFLCAweEZGLDB4N0YsMHhGRiwweEZGLDB4Q0IsMHhGRiwweEZGLDB4RkIsCi0weEZFLDB4RkYsMHhCRiwweEFGLDB4RkIsMHhGRSwweEZGLDB4REYsIDB4RkUsMHhGRSwweEJGLDB4RjcsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhDNywweEZGLDB4RkYsMHhGRCwweEZGLDB4N0YsMHhERCwgMHhGNywweEZELDB4RkYsMHhGRiwweEQ3LDB4RkYsMHhGRCwweDdGLAotMHhGRiwweEZCLDB4RkQsMHhGRiwweEZGLDB4RkUsMHhFRiwweDdGLCAweEZELDB4RUYsMHhGQiwweEZFLDB4RkIsMHhGRCwweEZGLDB4N0YsCi0weERGLDB4RkQsMHhGRiwweDdBLDB4REYsMHhGNywweEZELDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4MUYsMHhGRiwweEZGLDB4RDMsMHhGNywKLTB4RkYsMHhGRiwweDZGLDB4REIsMHhGRiwweEZGLDB4RUYsMHhDQiwgMHhGNCwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZFLAotMHgyOSwweEZGLDB4RTgsMHhEQSwweDc2LDB4OUYsMHhBRiwweDZBLCAweERBLDB4RkUsMHgzNSwweEVCLDB4REEsMHhENiwweEJGLDB4QUIsCi0weEVCLDB4N0EsMHhERSwweEJGLDB4RDcsMHg3RiwweEZGLDB4RkUsIDB4RkYsMHhCRiwweEVGLDB4RkQsMHhERiwweDc3LDB4QkYsMHhGRCwKLTB4MzcsMHhFRiwweEZGLDB4RUYsMHhGRiwweDNGLDB4RkYsMHhGRiwgMHhGRiwweEZFLDB4N0YsMHhGRiwweEZGLDB4RkYsMHhGNywweDdFLAotMHhERiwweEZGLDB4RkYsMHhGRiwweEZBLDB4QjcsMHg3RiwweEZGLCAweEZGLDB4RkUsMHhGRiwweEZGLDB4RkYsMHhGRiwweDg5LDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHg5RiwweEZCLDB4RkYsMHhGRiwweEZGLDB4RTcsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4QUEsMHhGRiwweEFCLDB4RkIsMHhGQSwgMHhFRiwweEJGLDB4RkYsMHhERiwweEZBLDB4N0IsMHhCOSwweEZFLAotMHhGRSwweEZGLDB4RkQsMHhGRiwweEY3LDB4RkUsMHgzRiwweEZGLCAweEI3LDB4RkYsMHhGNywweEVFLDB4RkYsMHg3RiwweEVGLDB4RkYsCi0weEZGLDB4N0YsMHhGRiwweDFGLDB4RkIsMHhGRiwweEJGLDB4RkIsIDB4RkUsMHhGRiwweEJELDB4RkYsMHhGRiwweDJGLDB4RkYsMHhCRiwKLTB4RkYsMHg3RiwweERGLDB4RkEsMHhGRiwweEZGLDB4RkMsMHhFRSwgMHhGNSwweEYzLDB4QkUsMHhGQiwweDBGLDB4RUYsMHhGMywweEJFLAotMHhFRiwweEZDLDB4NUYsMHhGRiwweDVBLDB4RkYsMHhGNywweERGLCAweEZGLDB4RkYsMHhGRSwweEQ1LDB4RkMsMHg1RiwweEZCLDB4RjIsCi0weEZGLDB4RkYsMHgyRiwweEJCLDB4RjMsMHhGRiwweEZGLDB4QkYsIDB4RkYsMHhFRiwweEZGLDB4RUYsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4QkYsMHhGRiwweEZGLDB4RkQsMHg3QiwweEZGLDB4REYsMHhCOSwgMHhGRiwweEZCLDB4RkYsMHhEOCwweDdGLDB4RkYsMHhGRiwweEZGLAotMHhGQiwweEZGLDB4RkMsMHg3RiwweDFGLDB4QkYsMHhFMCwweERGLCAweEY3LDB4RUYsMHhGRiwweEZELDB4N0YsMHhGRSwweERGLDB4RkYsCi0weEUwLDB4RkYsMHhGRiwweEZELDB4RUYsMHhGQiwweEZGLDB4RkUsIDB4RjcsMHhERiwweEZGLDB4RUIsMHg1RiwweEZGLDB4RjcsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4QkYsMHhGRiwweEZELDB4RkYsMHhGRCwgMHhGRiwweEZGLDB4RkYsMHhGNywweEZELDB4RkYsMHgzQiwweERDLAotMHhGRCwweDZELDB4N0IsMHg1RiwweDU3LDB4RjUsMHhGRCwweDdGLCAweDVGLDB4RkYsMHhCMSwweEZGLDB4RUIsMHhGRiwweEZGLDB4RkYsCi0weEZCLDB4RkIsMHhGRSwweEZGLDB4QkYsMHhGQiwweEJFLDB4RkYsIDB4QkYsMHhFRiwweEZCLDB4RkUsMHhGRiwweEFGLDB4RkUsMHhGNywKLTB4REYsMHhERiwweEZGLDB4RkYsMHhGRiwweDdGLDB4Q0YsMHhGMywgMHhGOCwweEZGLDB4RDcsMHhGQiwweEZGLDB4NUYsMHhCRiwweEY3LAotMHhGQiwweEZGLDB4N0YsMHhGRSwweDIzLDB4RkYsMHhGRiwweEZFLCAweDdGLDB4RjMsMHhGRiwweEZCLDB4RkUsMHhGRiwweEZGLDB4RjMsCi0weEZGLDB4RkYsMHhGNSwweEY5LDB4RkYsMHgzRiwweEZGLDB4RkYsIDB4RjAsMHg5QSwweEZGLDB4QkUsMHg3RiwweEZGLDB4RkMsMHhGOSwKLTB4RkYsMHhGRCwweEFGLDB4RUIsMHhGRSwweEJGLDB4RkYsMHhDRiwgMHhGMywweEZFLDB4N0YsMHhGRiwweEZGLDB4NUIsMHhCRCwweEZGLAotMHhCQywweEVCLDB4RkYsMHhENywweEQ0LDB4QUYsMHhBRiwweEZELCAweEZGLDB4Q0YsMHhGNywweEZELDB4RkYsMHg3RiwweERGLDB4RjcsCi0weEZELDB4RkUsMHhGRiwweDZGLDB4RkYsMHhGQiwweEZGLDB4RkYsIDB4RkYsMHhGRCwweDdGLDB4NUUsMHhGRCwweEJGLDB4REIsMHhGNiwKLTB4RkQsMHhCRiwweDZGLDB4RkIsMHhFRSwweEZELDB4RkYsMHg3QSwgMHhGRiwweEZBLDB4RkIsMHhGRiwweDNGLDB4RkIsMHhCNywweDVGLAotMHhENiwweEY3LDB4MUYsMHg3MSwweERDLDB4NzcsMHgxRCwweEM3LCAweDMxLDB4REMsMHg3NywweERGLDB4RjksMHhCRiwweEY1LDB4NUIsCi0weEY0LDB4RDcsMHg5RCwweEFFLDB4RkYsMHhCRiwweEZELDB4QkYsIDB4REIsMHhGNiwweEZELDB4QkYsMHg2RiwweERCLDB4RjYsMHhGRSwKLTB4M0QsMHg4MSwweEZGLDB4RUIsMHhGRSwweEZFLDB4RkUsMHhGRiwgMHhFQiwweDdBLDB4REYsMHg3RCwweDc3LDB4N0QsMHhGNSwweDc5LAotMHhERiwweDU3LDB4REQsMHhGNSwweDdELDB4N0UsMHhFNiwweEZGLCAweEQ2LDB4M0YsMHhCRiwweDdGLDB4RkYsMHhENCwweEY1LDB4M0YsCi0weEJGLDB4RkIsMHhCRSwweEVGLDB4QjMsMHhFRSwweEZCLDB4OUUsIDB4RUYsMHhCQiwweEZFLDB4OEIsMHhGRiwweEZFLDB4REYsMHhCNywKLTB4RUQsMHhGRiwweEY3LDB4RkQsMHhGRSwweEZGLDB4RUYsMHhCQiwgMHhFRSwweEZGLDB4QkUsMHhFRiwweEJCLDB4RUUsMHhFQiwweEZDLAotMHgxRiwweEZGLDB4RkYsMHhGRCwweEZGLDB4RTcsMHhGRiwweEY3LCAweEZELDB4RkYsMHhFRiwweEZFLDB4RkYsMHhCRiwweEVGLDB4RkIsCi0weEZFLDB4RkYsMHhCRiwweEVCLDB4RkEsMHgxRiwweEZGLDB4QjcsIDB4RUYsMHg1QiwweEZFLDB4RkYsMHhBRiwweEVCLDB4REQsMHhFNywKLTB4REUsMHg3NywweDlELDB4RTcsMHg3OSwweERFLDB4NzcsMHg5RCwgMHhCRiwweEU2LDB4NkYsMHhGRiwweEZFLDB4RkYsMHhCRiwweEVGLAotMHhGQiwweEZFLDB4RkQsMHhCRiwweDZGLDB4RjYsMHhGRCwweEJGLCAweDZGLDB4REIsMHhGNiwweEZELDB4QkYsMHhGRiwweDdFLDB4RkYsCi0weEZGLDB4RkIsMHhGRSwweEZFLDB4RkYsMHhFRiwweEZCLDB4RkQsIDB4RUYsMHg3RSwweEY3LDB4QkQsMHhFRiwweDdCLDB4REUsMHhGNywKLTB4QkQsMHhFRiwweEZGLDB4RDUsMHhGRiwweEJGLDB4RkYsMHhFRiwgMHhGRSwweEZGLDB4RkMsMHgzRiwweDBGLDB4RTcsMHhGRSwweDdGLAotMHg5RiwweEU3LDB4RjksMHhGRSwweDdGLDB4OUYsMHhFNywweEZFLCAweEYzLDB4RkYsMHhGRSwweERGLDB4QUQsMHhERiwweDY3LDB4RUUsCi0weEZCLDB4QkYsMHhFRiwweEZFLDB4RkYsMHhCRiwweEVGLDB4RkIsIDB4RkUsMHhGRiwweEJGLDB4RUYsMHhGRiwweDIzLDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweDdGLDB4RkYsMHhGMywweEJDLDB4REIsMHhGRSwgMHhGQiwweEZGLDB4RkIsMHhCRSwweEY3LDB4RkIsMHhGRiwweDdGLAotMHhERiwweEZGLDB4Q0YsMHhGQiwweEZGLDB4OUYsMHhFMywweEY5LCAweEJFLDB4M0YsMHg4RiwweEU3LDB4NzksMHhGRiwweDlELDB4RTcsCi0weEY5LDB4RkUsMHg3RiwweDlGLDB4RTcsMHhGOSwweEZFLDB4NUYsIDB4RkYsMHhDRiwweEY3LDB4RkYsMHhGRiwweEZGLDB4REYsMHhGNywKLTB4RkUsMHg3RiwweEU3LDB4RjksMHhGRSwweDdGLDB4RkYsMHhGRiwgMHhGQiwweEZFLDB4RkYsMHhGRiwweEJGLDB4RkYsMHhCRiwweEJGLAotMHhGRiwweEZFLDB4RkYsMHhCRiwweEVGLDB4RkYsMHhGRCwweEZGLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGNywweEZELDB4RkYsCi0weEZGLDB4M0YsMHhGRiwweEJGLDB4RkYsMHhGNywweEZGLDB4RkYsIDB4N0YsMHhERiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEU4LDB4RUYsMHhGRiwgMHg1RiwweEY3LDB4QkYsMHhGOSwweEZFLDB4REYsMHhCNywweEZELAotMHhGRiwweERGLDB4RjcsMHhGRCwweEZGLDB4N0YsMHhERiwweEY3LCAweEZELDB4RkYsMHhERCwweEZGLDB4RjIsMHhGRiwweEJGLDB4RkYsCi0weEZGLDB4QkYsMHhGRiwweEZGLDB4MkYsMHhGMiwweEZGLDB4QkYsIDB4MkYsMHg3QiwweEQyLDB4RjcsMHhCRiwweDJGLDB4RkYsMHhCQiwKLTB4RkYsMHhFRSwweDhGLDB4QUYsMHhFQiwweEZBLDB4RkUsMHgzRiwgMHhBNywweDY5LDB4Q0UsMHg4RiwweEE0LDB4RUEsMHhGQSwweEVFLAotMHhCNywweEFFLDB4RUIsMHhGRCwweEM3LDB4RkYsMHhGNywweEY3LCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHg3RiwweDNFLDB4RjMsCi0weDc0LDB4RkYsMHgzRiwweDRGLDB4RkYsMHhFNywweEZGLDB4M0YsIDB4RkUsMHhBNywweEZGLDB4RkYsMHhERiwweEY3LDB4QjcsMHhGRiwKLTB4RjcsMHhGRiwweEJBLDB4RUYsMHgzNywweEVCLDB4RkIsMHhGRSwgMHhCRiwweEZCLDB4RkUsMHhGMywweEZGLDB4RjksMHhERiwweEZGLAotMHhCRiwweEZGLDB4RkYsMHhGRiwweEJGLDB4RkYsMHhGRiwweEZGLCAweEZELDB4REYsMHhGRiwweEZELDB4RkYsMHhGRiwweEZCLDB4RkUsCi0weEZELDB4RkYsMHhGQiwweEJGLDB4RkUsMHgzRiwweEVELDB4RkYsIDB4REYsMHhCRSwweDNELDB4QTcsMHhGQiwweEZBLDB4M0YsMHhFNiwKLTB4RTEsMHhGRSwweEZFLDB4M0YsMHhFRiwweEUzLDB4REYsMHhGNSwgMHg3RiwweEZFLDB4RkYsMHg3RSwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhFRiwweDZGLDB4RjYsMHhGRiwweDdELDB4RUYsMHhENywweERFLCAweEZGLDB4N0QsMHhFRiwweEZGLDB4RjIsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweDdCLDB4REUsMHhGQiwweEU2LDB4RUUsIDB4RUYsMHgzNywweDZFLDB4RjMsMHg3RSwweEVCLDB4MzcsMHhFRiwKLTB4RkYsMHhDMSwweEZGLDB4RkUsMHhGRiwweEY3LDB4RUYsMHhGRiwgMHhGRiwweEZGLDB4QkYsMHgzRiwweEQyLDB4REYsMHhCRiwweDJGLAotMHg3QiwweEUyLDB4RkYsMHhGRSwweDNCLDB4QkQsMHhEQiwweEZGLCAweEZFLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEVGLDB4RkUsCi0weEZGLDB4RkIsMHhGRiwweEZGLDB4QkYsMHhGRiwweEZCLDB4REYsIDB4RkYsMHhCRiwweEZGLDB4QjcsMHhGRiwweEZGLDB4QkYsMHhFRiwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4MEYsMHhGRiwgMHg3RiwweEZGLDB4MUYsMHhFRiwweEYxLDB4RkQsMHhGRiwweEY2LAotMHhBRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhFRiwweEZGLCAweEZGLDB4RkYsMHhGRSwweDlGLDB4RkYsMHhGRiwweEZGLDB4NzcsCi0weEVGLDB4RjcsMHhGQiwweEZGLDB4RkUsMHg1RiwweEZGLDB4RkYsIDB4QkYsMHhDRiwweEZCLDB4RjcsMHhERCwweEY3LDB4RjUsMHhGRiwKLTB4NUYsMHhENSwweEY1LDB4RkQsMHg3RiwweDVGLDB4RDcsMHhGNSwgMHhGRiwweEZCLDB4MEYsMHhGRiwweEZGLDB4QTksMHhFQSwweDdBLAotMHhGRiwweEFGLDB4OEYsMHhGRSwweERGLDB4QUYsMHhFRiwweEZCLCAweEZFLDB4RkYsMHhCRiwweEVGLDB4RkIsMHhERiwweEU1LDB4NUYsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhCRCwweDU3LDB4RkYsIDB4RkYsMHg2RiwweDc3LDB4QkYsMHhGNywweEZCLDB4RkYsMHg3RiwKLTB4QkYsMHhGNywweEZGLDB4RkMsMHhCRiwweEZGLDB4OUYsMHhGRiwgMHhGRiwweEVGLDB4RkYsMHhGRSwweEZGLDB4RkYsMHhGRiwweDFGLAotMHhDRiwweEZGLDB4RkMsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZCLCAweDY1LDB4QUYsMHhGMywweDdDLDB4RkYsMHgzRiwweERGLDB4RkYsCi0weEZELDB4RTksMHhGRSwweDdGLDB4RTcsMHhGRiwweEZFLDB4N0YsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRCwweEUzLDB4REYsMHhGQiwKLTB4REIsMHhGNiwweEZELDB4RUYsMHg1QiwweEZCLDB4RkYsMHhERiwgMHhGQywweEZGLDB4M0YsMHhERiwweEYzLDB4RkQsMHhGRiwweDdGLAotMHhERiwweEVGLDB4NjYsMHhGRiwweERGLDB4QUQsMHhFQiwweDdBLCAweERFLDB4RjcsMHhGNywweEU3LDB4RDksMHhGRCwweDlGLDB4NjcsCi0weEQ5LDB4RjYsMHg3RCwweDlGLDB4RTcsMHhERiwweEY1LDB4NDcsIDB4RkQsMHg2NSwweDVCLDB4RDYsMHhGNCwweEZFLDB4RkYsMHhFRiwKLTB4RkYsMHg2RCwweEY2LDB4REQsMHhCNywweDZELDB4REIsMHg3NiwgMHhEQywweEI3LDB4N0QsMHhGQSwweDlCLDB4RjYsMHg2RCwweDlELAotMHg2NywweDU5LDB4REYsMHhGNywweERELDB4RkYsMHhFQiwweEZFLCAweEJGLDB4QUYsMHhFQiwweEZBLDB4RkUsMHhCRiwweEFGLDB4RTMsCi0weEQxLDB4OUYsMHhGRiwweEJELDB4QkYsMHhFRiwweEZFLDB4RjcsIDB4QkYsMHhCRiwweEY3LDB4RDcsMHg3RiwweERELDB4RjcsMHg5RCwKLTB4REYsMHg3RiwweERGLDB4RjcsMHhGRiwweEUwLDB4N0YsMHhGRCwgMHhDMSwweERGLDB4RjcsMHhGRCwweEM3LDB4N0YsMHg3RiwweEZCLAotMHhGRiwweEJCLDB4RUMsMHhGQiwweDNFLDB4RkYsMHhCRiwweEVDLCAweEZCLDB4RkYsMHhEOCwweDdGLDB4QkYsMHg2QywweEZGLDB4QkUsCi0weEZGLDB4QkYsMHhFRCwweEZGLDB4RUYsMHhGRSwweEZCLDB4QkYsIDB4RUYsMHhGQiwweEZFLDB4RkYsMHhCRiwweEVFLDB4RkYsMHhDNSwKLTB4RkYsMHhBRiwweDZGLDB4RkYsMHhGQywweEZELDB4M0YsMHhFNywgMHhGRiwweEZFLDB4RkYsMHhFRiwweEZCLDB4RkUsMHhGRiwweEJGLAotMHhFRiwweEZCLDB4RkUsMHhCRiwweDg5LDB4RkUsMHhGQSwweEJBLCAweEZFLDB4QkYsMHhBRiwweEZCLDB4RjYsMHhGNSwweEQ5LDB4N0QsCi0weDk3LDB4NjUsMHhEOSwweDc0LDB4NUQsMHg5NywweDY1LDB4RDMsIDB4RkUsMHhENiwweEZGLDB4QkYsMHhGNywweEZELDB4RkYsMHg3RiwKLTB4QkYsMHhDRiwweEZCLDB4RkUsMHhGRiwweEVGLDB4RkIsMHhGRSwgMHhGRiwweEJGLDB4RUYsMHhGQiwweEZGLDB4RjYsMHg4RiwweEZCLAotMHhGRiwweEVGLDB4RkIsMHg3RSwweERCLDB4RkUsMHhGRiwweEJFLCAweEVGLDB4RUUsMHhGQiwweEJFLDB4RUYsMHhCQiwweEVFLDB4RkIsCi0weEJFLDB4RkYsMHhGRiwweERGLDB4RkYsMHg0MywweEZGLDB4RkYsIDB4RkIsMHhFRiwweDVGLDB4QjcsMHhGRSwweDdGLDB4RTcsMHhGOSwKLTB4RkUsMHg3RiwweDlGLDB4RTcsMHhGOSwweEZFLDB4N0YsMHhGOSwgMHhCRiwweEZFLDB4QUYsMHg3NywweEZELDB4RkYsMHgyRiwweEFGLAotMHhBNywweEZFLDB4RkYsMHhFRiwweEZCLDB4RkUsMHhGRiwweEJGLCAweEVGLDB4RkIsMHhGRSwweEZGLDB4RjEsMHg3RiwweEVGLDB4REYsCi0weEZGLDB4OTcsMHhGNSwweEVGLDB4RkYsMHhERiwweEZGLDB4RkYsIDB4QkYsMHhGRiwweEJGLDB4RkYsMHhGRiwweEZFLDB4RkYsMHhGRiwKLTB4RkYsMHhFMCwweEZGLDB4RkYsMHhGOSwweEZFLDB4MkYsMHg4QiwgMHhFMywweEY4LDB4QkUsMHg3NywweDlGLDB4RjksMHhEQSwweDc3LAotMHg5RCwweEU3LDB4NzksMHhERSwweDc3LDB4OUYsMHhERCwweEZGLCAweEZELDB4RkQsMHg3RiwweDVGLDB4RDcsMHhGRCwweEZGLDB4N0YsCi0weEU3LDB4RkUsMHg3RiwweDk3LDB4RTcsMHhGQiwweEZFLDB4RkYsIDB4QkYsMHhFRiwweEZGLDB4QUIsMHhGRiwweEVGLDB4RkEsMHhGRSwKLTB4QkYsMHhBRiwweEZGLDB4RkEsMHhGRiwweEZGLDB4REYsMHhGRiwgMHhGQiwweEZGLDB4RjcsMHhGRCwweEZGLDB4N0YsMHhERiwweEZGLAotMHg2NywweEZGLDB4RjcsMHhGNSwweEZGLDB4RkYsMHhGRiwweERGLCAweEZELDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhFRiwweEZGLDB4QkQsIDB4RUIsMHhGRiwweEZGLDB4RjcsMHhBRCwweEVCLDB4RkYsMHhERiwKLTB4RkQsMHhGRiwweDNGLDB4REYsMHhGNywweEZELDB4RkYsMHg3RiwgMHhERiwweEZGLDB4NUYsMHhGRiwweEY3LDB4RkYsMHhGRiwweEZELAotMHhCRiwweEZGLDB4Q0IsMHhGNCwweEZGLDB4N0YsMHhEMywweEY3LCAweEZELDB4M0YsMHg3RiwweEQzLDB4RjcsMHhGRiwweEZDLDB4M0YsCi0weEZGLDB4RUEsMHhGQSwweEJFLDB4QUYsMHhBQiwweEVCLDB4QkEsIDB4RjQsMHg5NSwweDZCLDB4NTIsMHhENCwweEFELDB4MkYsMHg0QSwKLTB4RDIsMHhGNiwweEJGLDB4RDIsMHg3RiwweEY3LDB4M0YsMHhGRiwgMHhGRiwweEYzLDB4N0YsMHhGRiwweEZGLDB4RjcsMHhGRiwweEJBLAotMHhERiwweEZCLDB4RkQsMHhGRiwweEJGLDB4RkYsMHhGQiwweEZGLCAweEY4LDB4N0YsMHhFQSwweEZGLDB4RkUsMHhGRSwweERGLDB4RkYsCi0weEY3LDB4RkYsMHg3RiwweEJCLDB4RkYsMHhGRiwweEJGLDB4REYsIDB4RkIsMHhGRiwweEZGLDB4QkYsMHhGRiwweEIxLDB4N0YsMHhGRiwKLTB4RkIsMHhFRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhCRiwgMHhDRiwweEZFLDB4RkYsMHhGRiwweEVGLDB4RkYsMHhGNywweEZGLAotMHhGRiwweEZGLDB4RjEsMHhGRiwweDY5LDB4QkUsMHhGQSwweEJGLCAweEFGLDB4RTIsMHhGRiwweEZFLDB4RkQsMHhBRiwweEYzLDB4RkUsCi0weEZGLDB4QkYsMHhFRiwweEZCLDB4RkMsMHhGRiwweEZGLDB4MDcsIDB4RkQsMHg5NSwweERCLDB4REYsMHg3RiwweERGLDB4QUYsMHhGRiwKLTB4RjcsMHhBRiwweDM2LDB4RkUsMHhCRiwweDY1LDB4RUIsMHhGNiwgMHhGRSwweDlGLDB4NkYsMHhGRSwweDA3LDB4RkYsMHhDRiwweEZGLAotMHhGOCwweEZFLDB4RkYsMHhDRiwweEZGLDB4RjYsMHhGQSwweEU3LCAweEZCLDB4RkUsMHhGRiwweEJCLDB4RUQsMHhGOSwweEZGLDB4RkYsCi0weEZGLDB4NUYsMHhGRiwweEZGLDB4RkYsMHg3NSwweEZGLDB4RUYsIDB4N0UsMHhGRCwweEUwLDB4RTgsMHg1RSwweEQzLDB4RTUsMHhGOSwKLTB4M0UsMHg1RiwweEQ3LDB4RjcsMHhGRiwweEZBLDB4MkYsMHhGQiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZFLDB4RkYsMHhGRiwweDdGLAotMHg3RiwweEQ3LDB4RjUsMHg3RCwweDVGLDB4NTcsMHhENSwweEY1LCAweEVGLDB4RkYsMHhGMywweDdGLDB4RkMsMHg3RiwweEZGLDB4QzcsCi0weEYxLDB4RkYsMHhGRiwweDFGLDB4Q0YsMHhCMCwweEZGLDB4M0YsIDB4Q0YsMHhGMywweEZDLDB4RkYsMHgzRiwweENFLDB4RkYsMHhFNCwKLTB4RkYsMHhERiwweDdGLDB4RkUsMHhGNywweEJCLDB4RkYsMHhGRiwgMHhERiwweEVGLDB4RUUsMHhGRiwweEJGLDB4RUYsMHhGQiwweEZFLAotMHhCRiwweEJGLDB4RUYsMHhGRiwweEQxLDB4RkYsMHhGRiwweEZGLCAweEZELDB4RkIsMHhGRiwweEZELDB4RkYsMHhGQiwweDlGLDB4RTksCi0weEZFLDB4N0YsMHg5RiwweEU3LDB4RjksMHhGRSwweDdGLDB4QkYsIDB4RkYsMHhCMywweEZGLDB4RkYsMHhGNywweEZGLDB4RkYsMHhBRiwKLTB4RjcsMHhGRiwweEI2LDB4M0YsMHhFQiwweEZBLDB4RkUsMHhCRiwgMHhBRiwweEVCLDB4RkEsMHhGRSwweEJGLDB4RkUsMHhBNywweEZGLAotMHhGRiwweEZGLDB4RkYsMHhGRiwweEY3LDB4RkYsMHhGRiwweEZGLCAweEZFLDB4OUYsMHhGNywweEY5LDB4RkYsMHg3RiwweDlGLDB4RTcsCi0weEZGLDB4RkYsMHhGRSwweEFGLDB4NkYsMHhGRiwweEZGLDB4RkYsIDB4OUYsMHhGRiwweERGLDB4RkYsMHg3RCwweDVGLDB4REQsMHhGRiwKLTB4RkIsMHhCRiwweEU3LDB4QkIsMHhGRiwweEZCLDB4REYsMHg2RCwgMHg1RiwweDdFLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhFQiwweEY3LDB4RkYsMHhFNywweEVGLDB4RjcsMHhGRiwweEZGLCAweDdGLDB4RkYsMHhGNywweEZGLDB4RkMsMHg4RiwweEZGLDB4RUYsCi0weEZELDB4RkUsMHhGRiwweEJFLDB4RjQsMHhGMiwweDdELDB4RDcsIDB4Q0YsMHhGRiwweDNGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhDRiwweDZCLDB4RkYsMHhCRiwweDNGLDB4RkIsMHhGMiwgMHhGQywweDdGLDB4RUIsMHhGRiwweDlGLDB4RkEsMHhGRiwweEZGLAotMHgzRiwweEZGLDB4RjMsMHhGRiwweEZGLDB4RkQsMHg3MCwweEY3LCAweEZGLDB4RkYsMHhCRiwweEZGLDB4RkIsMHhENywweEZFLDB4RjUsCi0weDc3LDB4RkYsMHgxNSwweERELDB4NzcsMHhGRCwweEZGLDB4N0YsIDB4REYsMHhGNywweEZCLDB4Q0QsMHhCRiwweEZGLDB4RkQsMHhGRiwKLTB4RkYsMHhERiwweDM3LDB4Q0QsMHhGOSwweEVDLDB4RkUsMHhFRiwgMHhCQiwweEY0LDB4RkIsMHgzRiwweDRGLDB4QjMsMHhGRiwweEZELAotMHhDQiwweEZGLDB4RTksMHg3RSwweDU0LDB4OUYsMHhFNSwweDRCLCAweEI3LDB4RkYsMHhERCwweDdELDB4QzcsMHg3MSwweERELDB4NzcsCi0weDVELDB4RDcsMHg3NSwweENELDB4N0YsMHhENiwweEZGLDB4RDMsIDB4RjYsMHhGOSwweDNGLDB4NkQsMHg5NSwweEFGLDB4N0YsMHhGRSwKLTB4RkYsMHhFRiwweEZCLDB4RkUsMHhGRiwweEJGLDB4RUYsMHhGQiwgMHhGRSwweEY2LDB4QzcsMHhGRiwweEFELDB4N0IsMHhDQSwweEZGLAotMHhCRiwweEJGLDB4RUYsMHhGRCwweEUzLDB4REYsMHhCNywweEVELCAweEZCLDB4N0UsMHhERiwweDM3LDB4RUQsMHhFMywweEZCLDB4REYsCi0weEZGLDB4NTIsMHg1QywweDE1LDB4RkQsMHhDRiwweDdGLDB4REYsIDB4RkUsMHhFRiwweEVGLDB4RkIsMHhGRSwweEZGLDB4QkYsMHhFQywKLTB4N0IsMHhGRSwweEZGLDB4RkUsMHgzRSwweDdGLDB4REEsMHhGNywgMHhGRCwweEZGLDB4N0YsMHhGRiwweEZGLDB4RkIsMHhFRiwweEJCLAotMHg2RiwweEZCLDB4RkUsMHhGRiwweEJGLDB4RUYsMHhGQiwweEZGLCAweEY3LDB4N0QsMHhGRiwweEQ4LDB4RkYsMHhGRCwweEJGLDB4N0YsCi0weEZCLDB4RkYsMHhGRiwweDlGLDB4RkIsMHhGRSwweDdGLDB4OUYsIDB4RTcsMHhGOSwweEZFLDB4N0YsMHg5RiwweEVBLDB4N0YsMHhGNiwKLTB4QkYsMHhCRCwweDZBLDB4NUEsMHhGNiwweEU1LDB4QkYsMHg3NywgMHg1RiwweDZELDB4REQsMHg3NywweDVELDB4RDcsMHg3NSwweERELAotMHg3NywweEZGLDB4QTUsMHhCRiwweENGLDB4RkIsMHhGRiwweEZGLCAweEJGLDB4Q0YsMHhGQiwweEZELDB4RkYsMHhCRiwweEYzLDB4RkUsCi0weEZGLDB4QkYsMHhFRiwweEZCLDB4RkUsMHhGRiwweEZELDB4QUIsIDB4RkYsMHhCRiwweEJGLDB4RkYsMHhGQiwweEZGLDB4N0YsMHhFRiwKLTB4RkYsMHhCRSwweEZCLDB4RUUsMHhGQiwweEJFLDB4RUYsMHhCQiwgMHhFRSwweEZCLDB4QkYsMHhGRiwweEI1LDB4RkYsMHhEMCwweEJDLAotMHhGRCwweDJGLDB4NEIsMHhGNywweEZGLDB4RkYsMHg5RiwweEY5LCAweEZFLDB4N0YsMHg5RiwweEU3LDB4RjksMHhGRSwweDdGLDB4OUYsCi0weEZBLDB4OEYsMHhGRCwweEFCLDB4RkEsMHhEQSwweEJGLDB4QUYsIDB4QjMsMHhGRCwweEZGLDB4QkYsMHhGQiwweEZFLDB4RkYsMHhCRiwKLTB4RUYsMHhGQiwweEZFLDB4RjcsMHhCRiwweEZGLDB4OUYsMHhGRiwgMHg3NywweEY3LDB4QkQsMHhGRCwweDc3LDB4REYsMHhGRiwweDdFLAotMHhERiwweEVELDB4QkIsMHhGRSwweEZGLDB4QkUsMHhFRiwweEZCLCAweEZFLDB4RkYsMHhGQSwweDNGLDB4RkYsMHhCRSwweDZGLDB4OEYsCi0weEU2LDB4RjksMHhGRSwweDdGLDB4OUYsMHhDNywweEZFLDB4N0YsIDB4OUYsMHhFNywweEY5LDB4RkUsMHg3RiwweDlGLDB4RTcsMHhGQiwKLTB4N0YsMHhGRiwweDdGLDB4Q0YsMHhGRiwweEZELDB4RkYsMHhGRiwgMHhERiwweEZCLDB4QUYsMHhCRiwweEVGLDB4RkYsMHhGRSwweEZGLAotMHg5RiwweEVGLDB4RkIsMHhGRiwweEZDLDB4RkYsMHhGQiwweEZFLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RkUsMHhGRiwweEZGLDB4RjcsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhGNSwweEZGLDB4RkYsMHhGRiwweDNGLDB4REYsMHhGNywKLTB4RkYsMHhGRiwweDdGLDB4RUYsMHhGRSwweEZGLDB4QkYsMHhGRiwgMHhGQiwweEZGLDB4RkYsMHhCRiwweEVGLDB4RkYsMHhCMywweDdGLAotMHhGRiwweDdCLDB4NUUsMHhGNywweEZELDB4RkYsMHg3QiwweDdGLCAweEY3LDB4RkYsMHg3RiwweERGLDB4RjcsMHhGRCwweEZGLDB4N0YsCi0weERGLDB4RjcsMHhGRiwweDE3LDB4RkYsMHhGRiwweEZGLDB4N0YsIDB4RkYsMHhGRiwweERELDB4RjYsMHhGQywweEJGLDB4Q0IsMHhGMiwKLTB4QkMsMHhCRiwweDJGLDB4Q0IsMHhGMiwweEZDLDB4QkYsMHhGRSwgMHg4RiwweEZGLDB4RkEsMHg3RSwweEJGLDB4QTcsMHhFQiwweERBLAotMHhGQywweEJGLDB4QUYsMHg3QSwweEZFLDB4QkYsMHhBRiwweEVBLCAweEZBLDB4RkUsMHhCRiwweEFGLDB4RjQsMHhERiwweEZFLDB4RkYsCi0weEYzLDB4M0MsMHg3RiwweDNFLDB4RkYsMHhDRiwweEY4LDB4QkYsIDB4OEYsMHhFMywweEY4LDB4RkUsMHgzRiwweDhGLDB4RTcsMHhFOCwKLTB4RkYsMHhGQywweDlGLDB4RkYsMHhGRiwweENGLDB4RUIsMHhCMywgMHhFNywweEZCLDB4N0IsMHhGMywweEZFLDB4RkYsMHhDRiwweERCLAotMHhGQiwweEZCLDB4QkYsMHg2RiwweDZGLDB4REYsMHhFQywweDdGLCAweEZGLDB4RkYsMHhGNywweEZELDB4RkQsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4QjIsMHhCRiwweEZGLDB4REUsMHhGRCwweEJELDB4RUYsIDB4RkIsMHhGNiwweERGLDB4RUEsMHhFNywweERCLDB4RkUsMHhCQiwKLTB4RkYsMHhFQiwweEZCLDB4QkYsMHg5RiwweDhGLDB4RTgsMHhGRSwgMHgzRiwweDhGLDB4QTMsMHhGOCwweEZFLDB4M0YsMHg4RiwweEZGLAotMHhGOCwweDdFLDB4RkQsMHhGRCwweDdGLDB4RkYsMHhGQiwweENELCAweEZGLDB4RkQsMHhGRiwweDVGLDB4RUYsMHhGRCwweEZGLDB4RkYsCi0weERGLDB4RjcsMHhGRCwweEZGLDB4QkUsMHg5MCwweEZGLDB4RkYsIDB4RUUsMHhGRiwweDNGLDB4QkYsMHhGMywweEJCLDB4RkUsMHhCNywKLTB4QUIsMHhGQSwweEZFLDB4QUYsMHhBRCwweEVBLDB4RkEsMHhERSwgMHhBQiwweEZGLDB4NjMsMHhGRiwweEZFLDB4RjIsMHhGRiwweEIzLAotMHhGRiwweERGLDB4RUUsMHg3RCwweEZGLDB4MDMsMHhGMSwweEY0LCAweDNGLDB4MUYsMHhDMywweEYxLDB4RUMsMHg3RiwweEZFLDB4NkYsCi0weEZGLDB4RkIsMHhGQiwweEZGLDB4OUYsMHhGRiwweEJGLDB4RkYsIDB4N0IsMHg1RiwweEZELDB4RkYsMHhERiwweEY3LDB4RkQsMHhGRCwKLTB4N0YsMHg3RiwweERGLDB4RkUsMHhDRiwweEZCLDB4RkYsMHhGRiwgMHhBRiwweEZCLDB4RkYsMHgxRiwweEVGLDB4QTUsMHhGRCwweEJGLAotMHhERiwweEZCLDB4N0QsMHhGRiwweEJGLDB4REYsMHhGQiwweEZGLCAweEZELDB4M0IsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkQsCi0weEFGLDB4RjMsMHhGRiwweEZCLDB4N0YsMHhCRiwweEQ3LDB4RkIsIDB4QkYsMHg3RiwweEJCLDB4RjcsMHhGRiwweEY4LDB4N0YsMHhGRiwKLTB4RkEsMHg1RiwweEQ3LDB4RkYsMHhERiwweDdGLDB4RUYsMHhGRiwgMHhGRiwweDdGLDB4REIsMHhGNywweEZELDB4RkYsMHg3RiwweERGLAotMHhCNywweEZCLDB4RUMsMHhGRiwweEZGLDB4RjcsMHhCRiwweEVGLCAweEZELDB4RkMsMHhGQiwweEZGLDB4RUYsMHhGMCwweEZFLDB4M0YsCi0weDhGLDB4RTMsMHhGOCwweEZFLDB4M0YsMHg4RiwweEVGLDB4OEQsIDB4RkYsMHhGRiwweEVGLDB4N0YsMHhCRiwweEZGLDB4RkIsMHhGRiwKLTB4REIsMHhCRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhFRiwweEQ4LDB4RkYsMHgyRSwweDdGLAotMHhCRSwweEVGLDB4RkUsMHg2RSwweEZGLDB4QkYsMHhGOSwweEZGLCAweEZGLDB4RjMsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEZDLDB4NjYsMHhCRSwweDQ3LDB4RjMsMHg3RiwweERGLDB4RkUsIDB4ODcsMHg5RiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RTcsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEQ2LDB4NkYsMHg3QywgMHhGQiwweDRGLDB4RDIsMHhGRiwweEZELDB4MkIsMHhGRSwweEZGLAotMHhGRiwweEZELDB4NUYsMHhENywweEQ1LDB4RjUsMHg3RCwweEZGLCAweEZGLDB4RkYsMHhCRiwweDlCLDB4RkYsMHhGRiwweERGLDB4QjcsCi0weEZGLDB4RkYsMHhERiwweEZGLDB4M0YsMHhDRiwweEZFLDB4N0YsIDB4QkYsMHhFRiwweEZCLDB4RkMsMHhGRiwweDNGLDB4RkYsMHhEOSwKLTB4QkYsMHhGRSwweDk3LDB4RUMsMHg4RiwweEI3LDB4RkUsMHg5QiwgMHg3RCwweEZELDB4QjcsMHhERCwweDc3LDB4MUQsMHhDNywweDcxLAotMHhERCwweDc3LDB4NUQsMHhENywweEYzLDB4NkYsMHhGRCwweDNGLCAweDczLDB4REQsMHhBRiwweEZELDB4N0EsMHhGRiwweEZGLDB4QUYsCi0weEZFLDB4RkQsMHhCRiwweEVGLDB4RkIsMHhGRSwweEZGLDB4QkYsIDB4RUYsMHg2NiwweDdGLDB4RkYsMHhGRiwweEJGLDB4QkYsMHhGRiwKLTB4RkIsMHhGRiwweEY3LDB4REYsMHhGRCwweEZCLDB4N0QsMHhERiwgMHhCNywweENELDB4RjMsMHg3QywweDVGLDB4M0YsMHg5MSwweDNGLAotMHhGRiwweDNELDB4RUYsMHg3QiwweEZGLDB4RkMsMHhGRiwweENBLCAweEVGLDB4RkUsMHhGRiwweEJELDB4RUYsMHhGQiwweDFFLDB4RTcsCi0weEJCLDB4RUMsMHg3RiwweEIzLDB4RkYsMHhGRCwweDlGLDB4RkYsIDB4RkYsMHhGRSwweEZGLDB4RkYsMHg3RiwweEJGLDB4RkIsMHhGRSwKLTB4RkYsMHhCRiwweEVGLDB4RkIsMHhFRSwweEZCLDB4QkYsMHhERiwgMHg2NywweEZGLDB4RkYsMHhCRiwweEVGLDB4REIsMHhGRiwweEJDLAotMHhGRSwweDdGLDB4RkIsMHhGRiwweDlGLDB4RUYsMHhGOSwweEZFLCAweDdGLDB4OUYsMHhFNywweEY5LDB4RkUsMHg4NywweEZGLDB4RUUsCi0weEZCLDB4QkUsMHhFNSwweEJGLDB4RUYsMHhGOSwweEQ3LDB4NjUsIDB4RjcsMHhERCwweEU3LDB4N0QsMHhERiwweDc3LDB4NUQsMHhENywKLTB4N0YsMHhGOCwweDlCLDB4RkUsMHhGRiwweEJGLDB4RUYsMHhGQiwgMHhGRiwweEZGLDB4QkYsMHhFRiwweEZCLDB4RkYsMHg3RiwweENGLAotMHhGMywweEZDLDB4RkYsMHhCRiwweEVGLDB4RkYsMHhEQiwweDNGLCAweEVGLDB4RkIsMHhGRSwweEZGLDB4REYsMHhGRiwweEZFLDB4RkIsCi0weEJCLDB4RUYsMHhCRiwweEVGLDB4QkIsMHhFRSwweEZCLDB4QkUsIDB4RUYsMHhCQiwweEZGLDB4RkMsMHg3RiwweEZELDB4M0IsMHg1QiwKLTB4RDYsMHhFNSwweEZELDB4NEYsMHhDMywweEZCLDB4RkYsMHhCRiwgMHhFRiwweEZCLDB4RkUsMHhGRiwweEJGLDB4RUYsMHhGQiwweEZGLAotMHhCNCwweEZGLDB4RkEsMHhCQywweDhGLDB4QjIsMHhFOSwweEQyLCAweDJFLDB4Q0YsMHhGQiwweEZGLDB4QkYsMHhFRiwweEZCLDB4RkUsCi0weEZGLDB4QkYsMHhFRiwweEZCLDB4RkYsMHhFQywweEZGLDB4RkQsIDB4RkQsMHg3RiwweERGLDB4RjcsMHhFNCwweERGLDB4NUYsMHhGRiwKLTB4RkYsMHhGQiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4QzMsMHhGRiwweEVGLDB4RTYsMHhGOCwweEZFLAotMHgzRiwweDhCLDB4ODMsMHhGOSwweEZFLDB4N0YsMHhFNywweEY5LCAweEZFLDB4N0YsMHg5RiwweEU3LDB4RjksMHhGRSwweDdGLDB4MTcsCi0weEZELDB4RkYsMHhGRiwweEZGLDB4N0YsMHg1RiwweEY3LDB4MkMsIDB4RkYsMHhGRiwweEZGLDB4RkUsMHg3RiwweEZGLDB4RTcsMHhGOSwKLTB4RkUsMHg3RiwweDlGLDB4RkUsMHgyRiwweEZGLDB4RkYsMHhFRiwgMHhGRiwweEZFLDB4QkYsMHhFRiwweEFELDB4RkYsMHhGRiwweDdGLAotMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLCAweEZFLDB4REYsMHhGRiwweERGLDB4RkYsMHhGRCwweEZELDB4N0YsCi0weERGLDB4RjcsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZBLDB4M0YsMHhGRSwKLTB4RjcsMHhGRCwweEVGLDB4N0EsMHhGRiwweEIxLDB4QkQsMHhGRiwgMHg3RiwweEY3LDB4RkQsMHhGRiwweDdGLDB4REYsMHhGNywweEZELAotMHhGRiwweDdGLDB4RjMsMHgyNywweEZGLDB4REYsMHhGRiwweERELCAweEZGLDB4RkMsMHg5QiwweEZGLDB4Q0IsMHhGQywweEJGLDB4MkYsCi0weENCLDB4RjIsMHhGQywweEJGLDB4MkYsMHhDOSwweEZGLDB4REUsIDB4RkYsMHhERiwweEFGLDB4RUIsMHhEQSwweEZFLDB4QkIsMHhBRiwKLTB4RUIsMHhGOCwweEY3LDB4QUYsMHhFOCwweEZBLDB4RkUsMHhCRiwgMHhBRiwweEVCLDB4RjIsMHhGRiwweEZELDB4RkYsMHhGRiwweEVGLAotMHhCRCwweEQ3LDB4QkYsMHhGRiwweEZGLDB4REUsMHg4RiwweEI4LCAweERFLDB4MzcsMHg4RCwweEEzLDB4NzgsMHhEQSwweDNGLDB4OEYsCi0weEZGLDB4QTEsMHhGRiwweEZGLDB4RkIsMHhGQiwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEE3LDB4QkQsMHhGQiwweDc2LDB4RkQsMHhCRiwKLTB4RUYsMHhEQiwweEZFLDB4QkIsMHhCRiwweEZFLDB4MjcsMHg3RiwgMHhGRiwweEZFLDB4RkUsMHhGRCwweEY1LDB4RkYsMHhFRiwweEY1LAotMHhERiwweDFGLDB4RTcsMHhGRCwweEZGLDB4N0YsMHhERiwweEY3LCAweEZELDB4RkYsMHhGRiwweENELDB4RkQsMHhBRSwweEZGLDB4RkEsCi0weDNFLDB4M0YsMHhBQiwweEZELDB4RjgsMHg3RSwweDhGLDB4RTMsIDB4RjgsMHhGRSwweDNFLDB4OEYsMHhFMywweEY4LDB4RkYsMHhGRSwKLTB4MUYsMHhFRiwweERGLDB4QkYsMHhGRSwweERFLDB4REYsMHhEOSwgMHhGRiwweERGLDB4QkMsMHhGRiwweEZGLDB4N0YsMHhGRiwweEVGLAotMHhGRCwweDdGLDB4REYsMHhGNywweEY5LDB4M0YsMHhGRSwweEZGLCAweEZGLDB4NkYsMHhGRSwweERFLDB4QkYsMHhGNywweEVELDB4RUEsCi0weEZELDB4OEYsMHg4MywweEY4LDB4RUEsMHgzRiwweDhGLDB4RUYsIDB4RkYsMHhGNCwweDdGLDB4RkYsMHhFRiwweEVGLDB4N0IsMHhGMywKLTB4RjEsMHg1RiwweEZGLDB4RkYsMHhGMSwweDNCLDB4N0YsMHhERiwgMHhGNywweEZELDB4RkYsMHhGRiwweEZGLDB4RkYsMHhFMCwweEZGLAotMHhGRiwweEZGLDB4RjcsMHhGRiwweDZGLDB4RkYsMHg3RiwweEZGLCAweEZGLDB4RjcsMHhERSwweEY3LDB4QkYsMHhFRiwweEZCLDB4RjcsCi0weEZELDB4RkYsMHhGRiwweEY1LDB4RkEsMHhGRiwweEZGLDB4RkIsIDB4RTcsMHhGRiwweEYzLDB4RjgsMHg3RiwweEYzLDB4REYsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4MUYsMHhFRiwgMHhCQiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZELAotMHhGRiwweDdGLDB4RkYsMHg5RiwweEZGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhGRiwweENGLDB4RkYsMHgzNywweEZGLDB4RkYsCi0weDdGLDB4REYsMHg3NywweDVELDB4RTcsMHhGQywweEZGLDB4QkYsIDB4RjcsMHhGNSwweEZCLDB4RkYsMHhGRiwweEQ3LDB4RjUsMHhGQiwKLTB4RkYsMHhGRiwweDQ1LDB4RkQsMHg3RiwweEVBLDB4RkQsMHhCRSwgMHhCRiwweERGLDB4RjcsMHhGRiwweEZGLDB4REIsMHhGQiwweEZFLAotMHhGRiwweEJGLDB4RUYsMHhGRiwweEZGLDB4RkYsMHhGQiwweDVGLCAweDdGLDB4RkYsMHhGRSwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RkUsMHhGRiwweEVGLDB4RkQsMHhGRiwweDdGLDB4REYsIDB4RkYsMHhFRiwweEZCLDB4RjgsMHgwRiwweEYzLDB4RkYsMHhGOSwKLTB4MkUsMHhGQiwweEZFLDB4RkMsMHhGMywweEVGLDB4RkYsMHhGRiwgMHhCRiwweEZGLDB4RkIsMHhFNywweEZGLDB4RkUsMHg3RSwweEZGLAotMHhDMCwweDZCLDB4Q0YsMHhGRiwweDM0LDB4REYsMHhGMSwweEZELCAweEZGLDB4RUYsMHhGRiwweEZGLDB4RkYsMHhERiwweEY3LDB4RkQsCi0weENGLDB4N0YsMHg5QywweEZELDB4RkQsMHg2QywweEY3LDB4RkYsIDB4RjYsMHhGRCwweEVCLDB4MkIsMHg5RiwweEZGLDB4RkMsMHhGRSwKLTB4N0UsMHhGRiwweEZGLDB4RkYsMHhGRiwweEQ3LDB4RjMsMHhGNywgMHhGRiwweEZCLDB4RTEsMHhCRiwweEZGLDB4RUIsMHg3QSwweERFLAotMHhENywweEZCLDB4RkYsMHhGOSwweEZFLDB4RkYsMHhGRiwweEYzLCAweERFLDB4N0YsMHhGRCwweEU3LDB4N0YsMHhGRiwweEZELDB4QkIsCi0weEZGLDB4RkYsMHg3RSwweENDLDB4RjYsMHhBRiwweDVGLDB4N0YsIDB4RkUsMHhGNCwweDdELDB4RjcsMHhGRCwweEJCLDB4NkUsMHhEQiwKLTB4QjcsMHhGRiwweEY3LDB4REYsMHg2NiwweEZGLDB4RkYsMHhGNywgMHgzRCwweENGLDB4REUsMHhCRCwweEZGLDB4RkYsMHhERSwweERCLAotMHg4RCwweEY3LDB4N0UsMHhERiwweEI3LDB4RUYsMHg3RiwweEZGLCAweEY2LDB4ODcsMHhGRiwweEZGLDB4RUYsMHhGRSwweERFLDB4QkYsCi0weEZGLDB4RkYsMHhGRiwweEJCLDB4RUYsMHhGRCwweEZGLDB4N0IsIDB4REUsMHhGNywweDNGLDB4RkYsMHhCRiwweEZCLDB4REIsMHhGRiwKLTB4RjIsMHhCNiwweEZELDB4QkQsMHg3RiwweEU3LDB4RkYsMHhGRiwgMHhGRiwweDZGLDB4RjcsMHhGRiwweEZGLDB4RkYsMHhGRSwweDc3LAotMHhGRiwweEJGLDB4RjgsMHhBRiwweEZGLDB4REYsMHhCRiwweEZGLCAweEJGLDB4N0YsMHhGQiwweEZGLDB4RkYsMHhGRiwweERCLDB4RkUsCi0weEZGLDB4QkYsMHhGRiwweEZBLDB4RkYsMHhGRCwweEZGLDB4RjYsIDB4N0YsMHhGRiwweDlGLDB4RkYsMHhGRiwweDNGLDB4RUYsMHhGOCwKLTB4RUUsMHg3RSwweDlGLDB4QkEsMHhGRSwweEJGLDB4OEYsMHhFRiwgMHhGRSwweEZFLDB4RjksMHhGRiwweEZBLDB4N0YsMHhGRSwweDdFLAotMHhCRiwweEFGLDB4RkIsMHg5NiwweEZELDB4OUYsMHhFRiwweDVFLCAweDY1LDB4QkUsMHhFRiwweDVCLDB4QjYsMHhGRiwweEJFLDB4RTMsCi0weEZGLDB4QjUsMHhCRiwweEZGLDB4RkQsMHhGRiwweDdGLDB4RkYsIDB4RUYsMHhERiwweEZFLDB4RkYsMHhCRiwweEZCLDB4RkUsMHhGRiwKLTB4QkYsMHhDRiwweEZGLDB4RkYsMHhGRiwweEZELDB4OUIsMHhGRiwgMHhGRSwweEZCLDB4RkUsMHhERiwweEZGLDB4N0YsMHhGRiwweEY3LAotMHhGRSwweEZGLDB4REYsMHhGQiwweEZCLDB4RkUsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhGRiwweEI3LDB4RkUsMHhGQSwweEZGLDB4QUIsCi0weEVGLDB4RkYsMHhGRCwweEI1LDB4N0IsMHg3RiwweEZCLDB4RjcsIDB4RkQsMHhGRiwweEZGLDB4REQsMHhGRiwweEVGLDB4OEYsMHhGRiwKLTB4MkYsMHhGRiwweEZCLDB4N0MsMHhGRiwweDNGLDB4REYsMHg3MywgMHhFQiwweEZFLDB4M0YsMHhGRiwweEVGLDB4RkIsMHhGRSwweEZGLAotMHhFRiwweEZELDB4RkYsMHhCRiwweEZELDB4MEYsMHhGRiwweEZGLCAweEZGLDB4RjUsMHhGOSwweEZGLDB4N0YsMHhENywweEZELDB4RkYsCi0weERGLDB4RkYsMHhGNywweEZCLDB4RkYsMHg3RiwweEJGLDB4RkYsIDB4RkYsMHhGMCwweDlGLDB4RkYsMHhGRSwweDdGLDB4OEIsMHhFMywKLTB4RjksMHhERSwweDI3LDB4OUIsMHhFNiwweEJFLDB4N0YsMHg5QiwgMHhDMywweEY4LDB4REUsMHg3RiwweDlELDB4RTcsMHhGRSwweDdGLAotMHhGRiwweEZGLDB4NUYsMHhENywweEZGLDB4RkYsMHhGRiwweDRGLCAweEZCLDB4RkYsMHhGRiwweDdGLDB4RkYsMHhBRiwweEZGLDB4OUYsCi0weDdGLDB4RkIsMHhGRiwweEU4LDB4RkYsMHhGRiwweEZFLDB4QkYsIDB4QUYsMHhGRiwweEZGLDB4RkUsMHhCRiwweEVGLDB4RjcsMHhGRiwKLTB4QkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RjcsMHhGRiwgMHhGQywweEZGLDB4RkYsMHhGRCwweDdGLDB4RkYsMHhGRiwweEZGLAotMHhGRCwweDNGLDB4Q0YsMHhGRiwweEZGLDB4RkYsMHhGRiwweEY3LCAweEZGLDB4RkQsMHg3RiwweEZGLDB4RkYsMHg5MywweEZGLDB4RkYsCi0weDdBLDB4REYsMHhGNywweEZGLDB4RkYsMHg3QiwweDdGLDB4QjcsIDB4RUYsMHhGRiwweEZGLDB4RkQsMHhCRiwweEZELDB4RkIsMHhGRiwKLTB4RjcsMHhGRiwweEQ3LDB4RkYsMHhGRiwweEZGLDB4RkMsMHg5RiwgMHg2RiwweENCLDB4RkYsMHhGNCwweEJCLDB4REYsMHhENiwweEZELAotMHhCRiwweDJGLDB4RDMsMHhGNywweEZGLDB4REYsMHhGRiwweENGLCAweEZGLDB4RkEsMHhCRSwweEJELDB4QUYsMHg2QSwweERBLDB4QkUsCi0weEJCLDB4QUIsMHgzQSwweEJFLDB4MkQsMHhBRSwweEVCLDB4REEsIDB4RjYsMHgzRiwweEFELDB4RjUsMHhERCwweEZGLDB4Q0YsMHhGMSwKLTB4RkYsMHhGOSwweDdGLDB4RkYsMHg3MywweEZFLDB4RkYsMHhDRiwgMHhDMywweEY0LDB4RjcsMHgyRiwweEYzLDB4RkYsMHhGQywweEZGLAotMHg3QywweDFGLDB4RkYsMHgzRiwweDRGLDB4RkYsMHg3RSwweEZGLCAweEVGLDB4QkQsMHhGNiwweEZFLDB4RkYsMHgyQiwweEVGLDB4REMsCi0weEZCLDB4RkQsMHhGRiwweEZCLDB4RkYsMHhFQSwweDdCLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGQiwweEY3LDB4REYsMHhGRiwKLTB4RTMsMHg3RCwweEZGLDB4QjcsMHhGRiwweEJGLDB4RkYsMHhGRiwgMHhERiwweEZGLDB4RjgsMHhGRiwweEJGLDB4RkYsMHhCRiwweEVCLAotMHhFNywweEZBLDB4RkUsMHgzRCwweEJGLDB4RTksMHhGQywweEJGLCAweEZGLDB4RkEsMHhGQiwweEZFLDB4RkYsMHhGRiwweEZGLDB4RDksCi0weEZGLDB4RkYsMHhGRiwweEY2LDB4N0YsMHhGRiwweEY2LDB4N0QsIDB4RkYsMHhERiwweENGLDB4RkQsMHhCRiwweEZCLDB4RUYsMHg3RSwKLTB4RkYsMHg3RiwweEZGLDB4RkYsMHhEMywweEZGLDB4RkQsMHhGQiwgMHhGRiwweEZCLDB4RkYsMHhGRiwweEZGLDB4RUYsMHhGRiwweEJGLAotMHhGRSwweEZGLDB4RjcsMHhFRiwweEZGLDB4RkYsMHhGRiwweEZCLCAweEZGLDB4ODcsMHhGRiwweEZELDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weDdCLDB4RkUsMHhGRiwweEZFLDB4M0IsMHhGNywweEY3LDB4RkYsIDB4M0YsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4MEYsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4RkIsMHhGRiwweEZGLDB4RkYsMHhGNywgMHhGRiwweEZGLDB4QUQsMHhGRiwweEZFLDB4RjcsMHhGRiwweEZGLAotMHg1RiwweEZGLDB4RkYsMHhERiwweEZGLDB4RkQsMHhGRiwweEY1LCAweEZGLDB4REYsMHhGRiwweEJELDB4RkYsMHhFOSwweEZGLDB4QzcsCi0weEYzLDB4RkYsMHhGRiwweEY3LDB4RkYsMHhGMywweEZGLDB4RjgsIDB4M0IsMHhGRiwweEZGLDB4N0IsMHhERiwweEJGLDB4RkIsMHhFRiwKLTB4RkIsMHhGRiwweEZCLDB4RjcsMHhGNywweEJCLDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RkIsMHhGRiwweEZFLDB4N0YsMHhGMywweDdGLAotMHg1RSwweEI3LDB4QkYsMHhGRCwweDdGLDB4RkYsMHhGOSwweDdGLCAweEZCLDB4RkYsMHhFQiwweEZELDB4N0YsMHg3RiwweEZGLDB4RUYsCi0weEZCLDB4RTAsMHgzRiwweEZFLDB4QkYsMHhCRiwweERGLDB4RkYsIDB4N0UsMHhGRiwweEY3LDB4RkYsMHhGRiwweEZFLDB4QkYsMHhGRiwKLTB4REIsMHg3OCwweEZGLDB4RkYsMHhGRiwweEVFLDB4QTEsMHhCRiwgMHhGNSwweERFLDB4RkIsMHhGNywweEZGLDB4RkIsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4RkIsMHhGRiwweEZGLDB4RDcsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhFRiwweEYwLDB4RkYsMHhGRiwweEZGLDB4RjMsCi0weEY3LDB4RkYsMHhFRiwweEZGLDB4RTcsMHhDRiwweEZGLDB4RkIsIDB4RkYsMHhFRiwweEZGLDB4RkYsMHg5RiwweDlGLDB4RUYsMHhGQywKLTB4MTYsMHhCRiwweEZFLDB4RjMsMHhFNCwweEZGLDB4RkYsMHhDNiwgMHhGRiwweEU3LDB4RkYsMHhGRiwweEZELDB4RkYsMHhCRiwweEZGLAotMHhGRiwweDNGLDB4RkYsMHhCRiwweEQ2LDB4QUYsMHg3RiwweEZFLCAweDZCLDB4N0UsMHg3RiwweEZGLDB4QUYsMHhGRiwweEZGLDB4QkYsCi0weEZGLDB4NUYsMHhGRiwweEZFLDB4RkYsMHhGRiwweEZFLDB4RkYsIDB4RkYsMHhCRCwweERCLDB4RkYsMHhGRSwweDVGLDB4RjIsMHhGRiwKLTB4RkYsMHg1RiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhFRiwweDdGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhERSwweEJGLAotMHhGRiwweEZGLDB4RUYsMHhGQiwweDc3LDB4RkUsMHhCRCwweDdGLCAweDVGLDB4RkYsMHhGRiwweEZGLDB4REYsMHg2RiwweEVELDB4RkYsCi0weEZELDB4RkYsMHg3RiwweEZELDB4NkYsMHhGRiwweEZGLDB4NzcsIDB4REEsMHhDRiwweEZELDB4NUYsMHhGRiwweEJGLDB4RkYsMHhGRiwKLTB4REYsMHg3RiwweEZGLDB4RkIsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHg2NiwweDdGLDB4RkYsMHhGRSwweEJGLDB4RTcsMHhCRiwweEZBLAotMHhGRiwweEZFLDB4RkYsMHhGRiwweEZGLDB4REYsMHhGRiwweDU5LCAweEVGLDB4RkYsMHhFRiwweEZCLDB4N0YsMHg4OSwweEZGLDB4RkYsCi0weEU5LDB4RkYsMHg2RiwweEZGLDB4RjUsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhGRiwweDdGLDB4RjIsMHhGNywweEZGLDB4RkYsMHhFRiwKLTB4RjgsMHg3RiwweEZCLDB4RkYsMHhGRCwweEZGLDB4RkYsMHhEOSwgMHhGRiwweEVGLDB4QkIsMHhGRiwweEZGLDB4RkYsMHhCRiwweEVGLAotMHhERSwweEZGLDB4RkYsMHg5RiwweDdGLDB4REYsMHhGRiwweEY3LCAweEZGLDB4RkYsMHhGRiwweEZGLDB4REYsMHhGRiwweEZGLDB4QUYsCi0weEZGLDB4RkYsMHhGNywweDNGLDB4RUIsMHg5RiwweEZFLDB4N0YsIDB4OUUsMHg3RiwweDlGLDB4RkUsMHg4NywweEZGLDB4RUQsMHhEQiwKLTB4NTYsMHhGRiwweEJGLDB4QUYsMHgwQiwweEQyLDB4RkYsMHhFRiwgMHhEQiwweDZFLDB4N0QsMHhCRCwweDZGLDB4RjgsMHhGRSwweDNGLAotMHhGQSwweDVCLDB4RkYsMHhGRCwweEJGLDB4RUYsMHhGRiwweEJGLCAweDZGLDB4REIsMHhFNiwweEZGLDB4RkYsMHgzRiwweEZGLDB4REYsCi0weEZFLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhEQSwweDNGLDB4RkYsIDB4RkIsMHhGRSwweEZFLDB4RkYsMHhGRiwweERGLDB4RjcsMHhCRCwKLTB4RkYsMHhGRCwweEZGLDB4RkUsMHhGRiwweEZCLDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RjEsMHg1RiwweEZELDB4OUYsMHhERiwweEZELAotMHhGRiwweEZELDB4N0YsMHhGRiwweEZGLDB4RkYsMHhGRiwweDc2LCAweEZBLDB4RkYsMHhGRiwweDdGLDB4RTMsMHhGOCwweEZGLDB4QUUsCi0weEZGLDB4RkIsMHg3RSwweDlELDB4NzMsMHhGRiwweEZBLDB4N0YsIDB4REYsMHhGRiwweEZGLDB4N0YsMHhGRiwweEZCLDB4Q0QsMHhGRiwKLTB4N0YsMHhFRiwweEZCLDB4RkYsMHhGRCwweEZGLDB4RjcsMHg3RiwgMHg3RiwweEVGLDB4RkYsMHhFRCwweEZGLDB4RkYsMHhGRiwweEI1LAotMHhGRiwweEJGLDB4RkYsMHhCRiwweEZELDB4RUYsMHhEQiwweEY3LCAweEZGLDB4OTMsMHhGRiwweEVGLDB4RTIsMHhGOSwweEJFLDB4N0YsCi0weDhCLDB4RTcsMHhGOSwweEZFLDB4NkIsMHhFNywweEY5LDB4RkUsIDB4N0YsMHg5RiwweEU3LDB4RjksMHhGRSwweDdGLDB4NDcsMHhGRiwKLTB4RkYsMHhGRCwweEZGLDB4OUYsMHhGRiwweEQ3LDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RjUsMHhGRiwweDlGLDB4RkYsMHhGNywweEZFLAotMHhGRiwweEJGLDB4RkUsMHg2RiwweEZGLDB4RkYsMHhGQiwweEZGLCAweEZGLDB4RkYsMHhBRiwweEZGLDB4RkYsMHhGRiwweDdGLDB4RkIsCi0weEZGLDB4RkUsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkQsIDB4REYsMHhGRiwweEZGLDB4RjcsMHhGRiwweEZGLDB4RkYsMHhERiwKLTB4RkYsMHhGRiwweEZGLDB4NUYsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHg1RiwweEZCLDB4RkUsMHhGRiwweEY4LDB4MzcsMHhGRiwweEZGLAotMHhFRiwweEZGLDB4N0YsMHhGRSwweEJGLDB4RkYsMHhGRiwweEZFLCAweEJGLDB4RkYsMHhGRiwweDdGLDB4RkYsMHhCRiwweEZELDB4RkYsCi0weDdGLDB4RkEsMHg3RiwweEZGLDB4RkYsMHg2RiwweEZGLDB4RkYsIDB4N0QsMHhGRiwweENGLDB4RkYsMHhGRiwweEZGLDB4NEYsMHhGRiwKLTB4RjIsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkEsMHhCRiwgMHhGRiwweEFFLDB4RUIsMHhGQSwweEZFLDB4QkIsMHhBRCwweEVCLAotMHhGQSwweEY3LDB4QUYsMHg2QiwweEZBLDB4RjYsMHhCRiwweDI1LCAweEU5LDB4RjIsMHg3RiwweDQ1LDB4RkYsMHhGRiwweEZELDB4RjcsCi0weEY3LDB4QkYsMHhGRiwweERGLDB4RkYsMHhGRiwweEJGLDB4RkIsIDB4RkYsMHhERiwweEYzLDB4RkYsMHhGNywweDNGLDB4Q0YsMHhGRiwKLTB4QTEsMHhGRiwweEZGLDB4QkYsMHhFNywweEZGLDB4RkYsMHg3RiwgMHhGRiwweDNELDB4RkYsMHhGRiwweEZGLDB4RjcsMHhGRiwweDJGLAotMHhGRiwweEZCLDB4RjUsMHg3RiwweEZFLDB4NTcsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RjcsCi0weDNGLDB4RkYsMHhGRSwweEZGLDB4RkYsMHhGRiwweEZELDB4RkUsIDB4RjcsMHhFRSwweEFGLDB4RkUsMHhFRSwweEU3LDB4RkEsMHhGRiwKLTB4RkUsMHg5RCwweEY5LDB4NUUsMHhGRSwweEZGLDB4RUIsMHhGRiwgMHhGRiwweERGLDB4QTcsMHhGRiwweEZGLDB4RkYsMHhGQywweERCLAotMHhGRiwweEZGLDB4RkYsMHg3RSwweEZCLDB4RkYsMHhGRiwweEVGLCAweEZCLDB4RkQsMHhGRiwweERCLDB4RkYsMHhGRiwweEZGLDB4RUYsCi0weEZGLDB4RkYsMHhGRiwweEZELDB4QkYsMHhGRSwweEJGLDB4RkYsIDB4NkYsMHg3RiwweEZGLDB4RjcsMHhGRiwweEZGLDB4RjksMHhGRiwKLTB4RjcsMHhGRiwweEJGLDB4REUsMHhGNywweEZGLDB4RkYsMHhGRiwgMHhGQSwweDdGLDB4RkQsMHhCRiwweDVGLDB4RkYsMHhGRiwweEJGLAotMHhGRiwweEVELDB4RkYsMHhGNywweEJGLDB4RkYsMHhGRiwweEVGLCAweEZGLDB4REYsMHhGRiwweEZGLDB4RkYsMHhFNiwweEZGLDB4RkIsCi0weDdGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEY3LDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RUIsMHhGRiwKLTB4RkQsMHhGRiwweEY1LDB4RkYsMHhGNiwweDdGLDB4REYsMHhCRCwgMHhDRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4REYsMHhGRiwweEZGLAotMHhGRiwweEY5LDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEUzLCAweEZGLDB4RUUsMHhCRiwweEZGLDB4N0QsMHhFRiwweEZFLDB4RkYsCi0weEZGLDB4RkYsMHhCRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkUsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhFNywweEZGLDB4QjUsMHhBRSwKLTB4RkYsMHhGRiwweEI2LDB4RkUsMHhCRiwweEZGLDB4RkYsMHhCRiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweDI3LDB4RkYsMHhFRiwweEZFLDB4N0YsMHhERiwweEZGLCAweDdFLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhGRCwweEZGLDB4RjcsMHhGOSwweDlGLDB4RkYsIDB4NUYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHg3RiwKLTB4RkYsMHhGRiwweEZFLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHgwRiwweEZGLDB4RTcsMHhCRiwweEZFLAotMHhGRiwweEJGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGQywweEJGLCAweEZGLDB4RkYsMHhGRSwweEZGLDB4RkYsMHhGRiwweEZGLDB4QzQsCi0weDZCLDB4RkYsMHgyOSwweDFGLDB4RkIsMHhBRiwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4RUYsMHgxQiwweEZFLDB4RkYsMHhGQywKLTB4NkYsMHhGRiwweEZGLDB4RkQsMHg2QSwweEY3LDB4RDcsMHhGNSwgMHhCRiwweEZGLDB4RkUsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhGRSwweEJGLDB4RkYsMHhGRiwweEZBLDB4RkYsMHhGRiwweEY3LCAweEZCLDB4REQsMHhCRiwweEZGLDB4RTcsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRCwweDdGLDB4RkYsIDB4RkYsMHhGNSwweEZGLDB4RkYsMHhGNywweEZELDB4QjMsMHhFRiwKLTB4RkQsMHg3RSwweDVELDB4RkYsMHhGRCwweEZGLDB4RkYsMHhGRiwgMHhGRCwweDdGLDB4RDIsMHhGNSwweEZCLDB4N0UsMHhDQiwweEI3LAotMHhGRiwweEZGLDB4RkYsMHhDNiwweEZGLDB4RkQsMHhFRSwweDYzLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGNiwweEZELDB4NjUsCi0weDVCLDB4REYsMHhGRiwweEQ1LDB4RkYsMHhGRiwweEZGLDB4RjYsIDB4RTcsMHhCRiwweEY3LDB4QTksMHhGRiwweEZGLDB4RUQsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhFQiwweEZGLDB4RkYsMHhGRiwgMHhBRiwweEZGLDB4RkYsMHhGRiwweEY4LDB4MUIsMHhGRiwweEUzLAotMHhEMCwweEJGLDB4RkYsMHhFMSwweEZGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4RDcsMHhGRiwweEZGLDB4RkYsMHg1RiwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhBRiwweEZGLDB4REIsMHg3NiwweEJGLDB4RkYsIDB4N0YsMHhGRiwweEJGLDB4RUYsMHhGRSwweEZGLDB4QkYsMHhFRiwKLTB4RkIsMHhGRSwweEZGLDB4RkYsMHhGRiwweEJGLDB4RjIsMHg3RiwgMHhGRiwweDlGLDB4RkUsMHhCRCwweEZFLDB4N0YsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4RjcsMHgzRiwweEVDLDB4N0YsMHhGNiwweDk1LDB4QkIsCi0weEVGLDB4RjgsMHhGRSwweEZDLDB4QkYsMHgyRiwweERBLDB4RkMsIDB4QkYsMHgyRiwweENCLDB4RjIsMHhGQywweEJGLDB4RUYsMHhGRiwKLTB4QTksMHhCRiwweENGLDB4RkIsMHhGRiwweEZGLDB4RkYsMHhGRSwgMHhERCwweEI3LDB4NkQsMHhGNiwweEQ5LDB4QjYsMHg2RCwweDlCLAotMHg3NiwweEQ5LDB4QkYsMHhGQiwweEZELDB4QTMsMHhGRiwweEJGLCAweEVGLDB4RkYsMHhFRiwweEZGLDB4RkYsMHhGRiwweDdGLDB4REYsCi0weEZELDB4RUYsMHg3QiwweERFLDB4RjcsMHhGRCwweEVGLDB4N0YsIDB4RkYsMHhGRiwweDA1LDB4RkYsMHhGQSwweEZFLDB4N0YsMHhFRiwKLTB4RTMsMHhGRiwweEZGLDB4RkQsMHg3RiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweDVGLDB4RkYsMHhGRiwweEZELDB4N0YsMHhGQiwweEFGLAotMHhGRiwweDYzLDB4QzgsMHhGRiwweEJGLDB4RUYsMHhGRiwweEZGLCAweEZBLDB4N0YsMHhGRiwweEZGLDB4RkYsMHhGRSwweDlGLDB4RjcsCi0weEZGLDB4RkEsMHhCRiwweEZFLDB4OUYsMHhGQiwweDdGLDB4RkYsIDB4RkYsMHhFRiwweEQ3LDB4RkYsMHhGRiwweEY1LDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEZELDB4N0YsMHhGRiwweEZGLDB4QkYsMHhGRiwgMHhGOSwweEJGLDB4RkYsMHhCRSwweDI3LDB4OUYsMHhFNywweEY5LAotMHhGRSwweDdGLDB4OEIsMHhFNywweEZFLDB4N0YsMHg5RiwweEUyLCAweEY5LDB4RkUsMHg3RiwweDlGLDB4RTcsMHhGMSwweDdGLDB4RkYsCi0weEZGLDB4RkYsMHhGQiwweEZFLDB4RkYsMHhGRiwweEZGLDB4RDcsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGNSwweEZGLDB4RkYsMHhGRiwKLTB4RDcsMHhGRiwweEZBLDB4RkYsMHhGRSwweEZGLDB4RkYsMHhGRiwgMHhGRCwweEZGLDB4RkYsMHhGRiwweEFGLDB4RjcsMHhGRiwweEZGLAotMHhGRiwweEVCLDB4RkYsMHhGRiwweEZGLDB4QUYsMHhGRiwweEM0LCAweEZGLDB4RjcsMHhGRiwweEZGLDB4RUYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4NUYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEQ3LDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhFQiwweEZGLDB4RkIsMHg3QSwKLTB4REYsMHhGNywweEZELDB4RkYsMHhGRiwweEZFLDB4QkYsMHhGRiwgMHhGRiwweDdGLDB4RkYsMHhBRiwweEZGLDB4RkYsMHhGRiwweEY3LAotMHhFRiwweEUzLDB4RkYsMHhERCwweEQyLDB4RkYsMHhERiwweEZGLCAweEZGLDB4RjIsMHhGQywweEJGLDB4Q0IsMHhGNiwweEZELDB4QkYsCi0weDJGLDB4Q0IsMHhGRiwweDdGLDB4REYsMHhERSwweEFGLDB4RkYsIDB4REEsMHhFRSwweEJGLDB4QUYsMHhFOSwweEZBLDB4RjQsMHhCRCwKLTB4QUYsMHg1QSwweEFFLDB4QkIsMHhBQiwweDZCLDB4REEsMHhERSwgMHhCRiwweEFELDB4RDcsMHg1RSwweEZGLDB4RkYsMHhCRiwweEZDLAotMHhGRiwweERGLDB4RkQsMHhGRiwweEZGLDB4RkYsMHhGRiwweERGLCAweEY3LDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRCwweEZGLDB4RkEsCi0weDFGLDB4RkYsMHhGRSwweEZCLDB4RUYsMHhCRiwweEZELDB4RkYsIDB4RkQsMHhCRCwweDc3LDB4RkYsMHhGRiwweEZGLDB4RkYsMHg5RCwKLTB4RUYsMHhGRiwweEZGLDB4RkYsMHhFRiwweDdELDB4RkYsMHhGQiwgMHhGRSwweEVGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEY3LAotMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEVFLCAweEJGLDB4RTQsMHhGQiwweEZGLDB4RkUsMHgzRiwweEZFLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEFGLDB4RUEsMHhGRSwweEJGLDB4QUYsIDB4RUIsMHhGQSwweEZFLDB4RkYsMHhGRiwweEZGLDB4NTUsMHhGNiwKLTB4RkYsMHhGRSwweEY3LDB4RkYsMHg3RiwweEZGLDB4RUIsMHhGNywgMHg1RiwweEM1LDB4RkQsMHg3RiwweDVGLDB4RDcsMHhGNSwweEZGLAotMHg2RiwweEZCLDB4RkYsMHg4QSwweEZGLDB4RkYsMHhGRiwweEZGLCAweEVCLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGQiwweEJGLDB4QkYsCi0weEVGLDB4RkIsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZCLDB4RkYsIDB4NzcsMHhERiwweEZCLDB4RkYsMHhGRCwweDdGLDB4RUYsMHhGRiwKLTB4RkYsMHhGRiwweEJGLDB4N0YsMHhGRiwweERGLDB4QkYsMHhGRiwgMHhGQiwweEZGLDB4RkYsMHhGRiwweEZFLDB4RUYsMHhERiwweEZGLAotMHhGRSwweEZGLDB4OUYsMHhFRiwweDdELDB4RkYsMHhGNywweEZGLCAweDdGLDB4RkYsMHhGRiwweERGLDB4RjcsMHhGRCwweEZGLDB4RUYsCi0weERGLDB4RkYsMHhERiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRCwweEZGLDB4RkYsMHhGQiwKLTB4RkQsMHhGRiwweEJGLDB4REYsMHhEMSwweEZGLDB4RjgsMHgzQiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHg3RSwweERCLDB4RkQsMHhGRiwweDc3LDB4REIsMHhCNywweDdELCAweEJGLDB4RkIsMHhGRiwweEY4LDB4N0YsMHhFRCwweDdCLDB4NUUsCi0weEZGLDB4RkUsMHhGRiwweEZGLDB4NEYsMHhENywweEZELDB4N0YsIDB4REYsMHhENywweEY1LDB4RkYsMHg3RiwweEZGLDB4RkYsMHhGRiwKLTB4RjIsMHgzRiwweEZFLDB4RkYsMHhCRiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEJGLDB4RUYsMHhGRSwweEZGLDB4M0IsMHhFRSwweEZGLAotMHhGQywweEVGLDB4RkYsMHhGRiwweEZGLDB4ODUsMHhGRiwweEZELCAweEZFLDB4RkYsMHhGNSwweEZGLDB4RkYsMHhGRSwweEZGLDB4REYsCi0weEZCLDB4RkYsMHg1RiwweEJGLDB4RkYsMHhGRCwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEE4LDB4RkYsMHhGRiwweDlGLDB4OUUsMHhGRiwKLTB4RkYsMHhGRiwweDdGLDB4RjMsMHhGRiwweEZGLDB4Q0YsMHhGRiwgMHhGNywweEZELDB4RkYsMHg3RiwweEZGLDB4RkYsMHhGQywweDE2LAotMHhCRiwweENGLDB4QTMsMHhFNSwweEVGLDB4N0YsMHhGRiwweEYzLCAweEU0LDB4RkYsMHhDRiwweDkzLDB4RkMsMHhGRiwweDNGLDB4Q0YsCi0weEZGLDB4RkYsMHhGRiwweEQ2LDB4MEYsMHg3RCwweEJGLDB4NkUsIDB4RkIsMHhGNCwweEZDLDB4QUYsMHg2RCwweERCLDB4NzcsMHhCNywKLTB4NkQsMHhEQiwweEY2LDB4RkQsMHhCRiwweEZGLDB4RkYsMHhGRiwgMHhCRiwweDlCLDB4RkEsMHhERSwweEI3LDB4QjcsMHhFRCwweEY5LAotMHg3RSwweEI3LDB4QUMsMHhFQiwweEQ2LDB4QjMsMHhBRCwweEVCLCAweDdBLDB4REYsMHhGRiwweEZGLDB4RkYsMHhEOCwweEJGLDB4RkYsCi0weEI3LDB4RUQsMHg5RiwweDZGLDB4REQsMHhGNywweDY4LDB4REIsIDB4MzcsMHhCMywweDZDLDB4REIsMHgzNiwweENELDB4QjMsMHg3RiwKLTB4RkYsMHg3RiwweEY1LDB4NkYsMHhGRCwweEVGLDB4NzksMHgzRCwgMHhGNywweDkzLDB4RTQsMHg3QSwweDlFLDB4QUQsMHhFQSwweDdBLAotMHg5RSwweEY3LDB4QkQsMHhFRiwweEZGLDB4RkYsMHhGRiwweDc2LCAweDdGLDB4RkIsMHhDNiwweEZGLDB4QkIsMHhFRiwweERBLDB4RkUsCi0weEZELDB4QkYsMHhGQiwweEZFLDB4RkYsMHhCRiwweEVGLDB4RkIsIDB4RkYsMHhGRiwweEZCLDB4RkYsMHhBNSwweEZGLDB4RkQsMHhBQiwKLTB4NkYsMHg3OCwweERFLDB4MTcsMHg4RiwweDc5LDB4REYsMHhGRCwgMHhGRiwweDdGLDB4REYsMHhGNywweEZELDB4RkYsMHhGRiwweEZCLAotMHhGRiwweEZCLDB4RkYsMHhFRiwweEZCLDB4RUYsMHhGQiwweEZFLCAweEZGLDB4QkIsMHhEQSwweEYzLDB4RUYsMHgzQiwweENFLDB4RjMsCi0weEJDLDB4RUYsMHgzRiwweENGLDB4REYsMHhGRiwweEI3LDB4RkYsIDB4RkYsMHhGRiwweENGLDB4NzMsMHhGRiwweEJGLDB4RUYsMHhGRiwKLTB4RjMsMHhGRiwweDNGLDB4Q0YsMHhGMywweEZDLDB4RkYsMHgzRCwgMHhDRiwweDlGLDB4RkUsMHgwNywweEZGLDB4QUYsMHhFQiwweEZFLAotMHhGRCwweEJGLDB4RUYsMHhFQiwweEZBLDB4RkYsMHhBRiwweEVCLCAweEZBLDB4RkUsMHhCRiwweEFGLDB4RkIsMHhGRSwweDNGLDB4RkIsCi0weDlCLDB4RkYsMHg3RiwweERGLDB4RkYsMHhGMywweEZFLDB4RkYsIDB4REUsMHhGNywweEJGLDB4N0IsMHhERSwweEY3LDB4QkQsMHhFRiwKLTB4N0IsMHhGRSwweEZGLDB4RkYsMHhERiwweDNGLDB4RkUsMHhGRiwgMHhCNywweEZGLDB4RUYsMHhGNywweEZGLDB4QkYsMHhFRCwweEZFLAotMHhERiwweEI3LDB4RUQsMHhGQiwweDdFLDB4REYsMHhGRiwweEZGLCAweEZGLDB4RkQsMHg1RiwweEVGLDB4RUIsMHhGQSwweEZFLDB4RjUsCi0weEJGLDB4NkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4RkUsMHhGOCwweEZGLDB4QTgsMHhGRiwKLTB4RkYsMHhCRiwweEVGLDB4RkIsMHg2QSwweEZCLDB4QjcsMHhFRiwgMHhGQiwweEZGLDB4QkYsMHhFRiwweEZCLDB4RkUsMHhGRiwweEJGLAotMHhFRiwweEZCLDB4RkYsMHhFMCwweEZGLDB4RkYsMHhGRCwweDdGLCAweDVDLDB4RDcsMHg3RCwweERGLDB4RjMsMHg1QywweEY1LDB4Q0QsCi0weDczLDB4NUUsMHhENywweEI1LDB4RkQsMHg3RiwweEVGLDB4RkYsIDB4REIsMHhGRiwweEZGLDB4RTIsMHhGOCwweEJFLDB4MkYsMHg4RiwKLTB4RTcsMHhGOCwweEJFLDB4NkIsMHhFMiwweEY4LDB4QkUsMHgyRiwgMHg4QiwweEUyLDB4RjksMHhGRSwweDdGLDB4RTcsMHhGRiwweEQ3LAotMHhGNSwweEZELDB4N0YsMHhGRiwweEY3LDB4RjUsMHhGRCwweDdGLCAweEQ3LDB4RjUsMHhGRCwweDdGLDB4NUYsMHhENywweEY1LDB4RkYsCi0weEZGLDB4RkYsMHg4RiwweEZGLDB4QUYsMHhFQiwweEZBLDB4RkYsIDB4RkYsMHhCRiwweEVCLDB4RkEsMHhGRiwweDJGLDB4RUIsMHhGQSwKLTB4RkUsMHhCRiwweEFGLDB4RUIsMHhGRiwweEZGLDB4RkUsMHg1RiwgMHhGRiwweDVGLDB4RkYsMHhGRiwweEZELDB4RkYsMHhGRiwweEQ3LAotMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4QkYsMHhGRSwweEI3LDB4RkQsCi0weEZGLDB4N0UsMHhERiwweEY3LDB4QUQsMHhGRiwweDdGLDB4RjcsIDB4RkQsMHhGRiwweDdGLDB4REYsMHhGNywweEZELDB4RkYsMHg3RiwKLTB4RjYsMHg3RiwweEZGLDB4RkYsMHhGRiwweERCLDB4RjYsMHhGQywgMHhBRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RjcsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RUMsMHhCRiwweEZGLCAweEFGLDB4RUIsMHhGQSwweEY2LDB4QUIsMHg4RiwweEVCLDB4RkEsCi0weEY3LDB4QTUsMHhFQiwweEZBLDB4QkUsMHhCRiwweEFGLDB4RUIsIDB4RkEsMHhGRiwweDZELDB4RkYsMHhGRiwweDdGLDB4REYsMHgzMywKLTB4REQsMHhGRiwweDdGLDB4RkUsMHhGNywweEZDLDB4N0YsMHhGQiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEE5LAotMHhGRiwweEZELDB4RkYsMHhGRiwweEZFLDB4RkYsMHhGRiwweERGLCAweEZGLDB4RkYsMHhFRiwweEVGLDB4RkQsMHhGRiwweDdGLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEZFLDB4QTcsMHhGRiwweEZGLDB4RkYsIDB4NzcsMHhERiwweEY3LDB4RkQsMHg5RiwweDdGLDB4RkUsMHg3NywKLTB4RUYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEFGLDB4QkYsMHhBRiwweEZGLDB4RjksMHhCRSwweEJGLAotMHg4RiwweEZCLDB4RkUsMHhGRSwweEVGLDB4RkIsMHhGRSwweEZGLCAweEJGLDB4RUYsMHhGQiwweEZGLDB4RkYsMHhGRCwweERGLDB4NkYsCi0weEVGLDB4RkYsMHg3RiwweEZGLDB4QkYsMHhCRiwweERGLDB4RkYsIDB4RkMsMHhGRiwweERGLDB4RjcsMHhGRCwweEVGLDB4N0YsMHhERiwKLTB4RkYsMHhGRiwweEZGLDB4M0YsMHhGNiwweEZGLDB4Q0YsMHhGRiwgMHhEQiwweEZCLDB4RjcsMHhGRiwweEVCLDB4N0EsMHhGRiwweEZGLAotMHhGRiwweEJGLDB4RUYsMHhGQiwweEZGLDB4RkYsMHhGRiwweEZFLCAweDZELDB4RkQsMHhGRiwweDVGLDB4RkIsMHhGRiwweEZGLDB4RjcsCi0weEZGLDB4NUYsMHhGNSwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGOCwweEZGLDB4RkIsMHhGRiwKLTB4RkYsMHhGRCwweEZGLDB4RkYsMHhGRiwweEZGLDB4RTcsMHhGNiwgMHhCRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkIsMHhGRiwweEZGLAotMHhGRiwweEM5LDB4RkYsMHhGRiwweEZGLDB4QkQsMHhGRiwweEJGLCAweEFGLDB4RUYsMHhFRiwweDNGLDB4RDEsMHhGQywweDdGLDB4RkIsCi0weEM3LDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEUzLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4RkQsMHhGRiwweEZGLDB4NzcsMHhGRiwKLTB4REYsMHhCNywweEZELDB4RjcsMHhGRCwweEY3LDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHg1NywweEZGLDB4RjcsMHhBNSwweEZELAotMHgzRiwweERGLDB4QkYsMHhCRiwweEZFLDB4N0YsMHhGRiwweEZGLCAweEZGLDB4REYsMHhGQSwweEZELDB4RkYsMHhGRiwweEZGLDB4RkUsCi0weDg3LDB4RkYsMHhFOSwweEZGLDB4RkUsMHhFRiwweEJGLDB4RUYsIDB4RkUsMHhGRSwweEZGLDB4RUYsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhGQSwweDlGLDB4RkYsMHgzRiwgMHhGRiwweEZELDB4RkQsMHg1NywweERGLDB4RkQsMHhGMywweEZGLAotMHhERiwweEZELDB4RkYsMHg1RiwweERGLDB4RjUsMHhGRCwweEZGLCAweEZGLDB4RjksMHg4RiwweEZGLDB4RkYsMHhGRiwweEVFLDB4N0YsCi0weEZGLDB4RkYsMHhCRiwweDVFLDB4RkUsMHhFQywweEZCLDB4M0YsIDB4N0YsMHg5RiwweEVGLDB4RjksMHhGRiwweEZGLDB4Q0QsMHg2QiwKLTB4RkYsMHhGRiwweEZGLDB4QzUsMHhGMywweEZDLDB4RkEsMHgzOCwgMHhGRiwweEFGLDB4M0YsMHhFRSwweDdGLDB4OUYsMHhGRiwweEQ5LAotMHhGRiwweEZGLDB4RkQsMHg3QSwweEY3LDB4RkYsMHhGMywweEZGLCAweEFGLDB4NkYsMHhEQiwweEYyLDB4QjksMHhFOSwweEZCLDB4RkYsCi0weEZGLDB4RkYsMHhGRSwweEZGLDB4RkYsMHhFRiwweEZGLDB4RkIsIDB4QzUsMHhCRiwweEZGLDB4RUYsMHhGRiwweDVFLDB4QjcsMHhBRCwKLTB4Q0QsMHg3OSwweDdDLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZELDB4OTMsMHhGRiwweEVGLAotMHhFQSwweEZFLDB4QkYsMHhFRiwweDVCLDB4RDIsMHhDRCwweEY1LCAweDZELDB4NzcsMHhERiwweEY3LDB4RkQsMHhGRiwweDdGLDB4REYsCi0weEZGLDB4RkYsMHg2NiwweEZGLDB4RDUsMHg2NSwweDdELDB4NUYsIDB4NzUsMHg5RCwweDY1LDB4N0YsMHhENiwweEZCLDB4NEYsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RjYsMHhDNywgMHhGRiwweEJGLDB4RUYsMHhGQSwweEZFLDB4RkYsMHhCRiwweEVCLAotMHhGRiwweERGLDB4RkYsMHg3RSwweEZGLDB4RkYsMHhFRiwweEZELCAweDdFLDB4RDcsMHhGRiwweDc4LDB4REYsMHhGRiwweDVGLDB4REYsCi0weEY1LDB4QkYsMHg3RiwweERGLDB4QzUsMHhGRiwweDNGLDB4RjYsIDB4N0UsMHhGRiwweDBGLDB4RUYsMHhGMiwweDNFLDB4QkYsMHhGRiwKLTB4RkIsMHgzRiwweEZGLDB4RkIsMHg3RiwweEZGLDB4QjMsMHhGRSwgMHhGQiwweEY2LDB4RkQsMHhGRiwweERBLDB4RjcsMHhGRCwweEZGLAotMHg3RiwweERGLDB4RjcsMHhCRiwweEZGLDB4RkEsMHg3RiwweEZGLCAweEZGLDB4RkYsMHhGRiwweDlGLDB4RkYsMHhGMywweERDLDB4RjksCi0weEJGLDB4Q0UsMHhFNywweEY5LDB4RkUsMHg3RiwweDlGLDB4RTcsIDB4RkYsMHhGRiwweEUyLDB4N0YsMHhGRSwweEZGLDB4QkYsMHhFRiwKLTB4RUIsMHhGQSwweEZGLDB4OUYsMHg2NywweDFFLDB4RkYsMHg4RiwgMHhFNywweEY4LDB4RkUsMHg3RiwweDhGLDB4RUYsMHhGRiwweEJELAotMHhCRiwweEZGLDB4RkIsMHhGRiwweEZGLDB4REYsMHhGNywweEZGLCAweEZDLDB4RkYsMHhCRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEZELDB4QjMsMHhGRiwweEZGLDB4RUYsIDB4RkYsMHhGRiwweEJGLDB4RUQsMHhGRiwweEZCLDB4RUUsMHhGRSwKLTB4RkYsMHhGRiwweEVGLDB4RkYsMHhGRSwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEI1LDB4RkYsMHhCNywweEZELDB4RkQsMHg2RSwweEZGLAotMHhGRiwweEZFLDB4RkQsMHgyRiwweEQ4LDB4RkUsMHhCRiwweDhGLCAweEVCLDB4RjksMHhGRSwweDNGLDB4RkYsMHhGQSwweENGLDB4RkYsCi0weEU3LDB4RDksMHhGQSwweEJGLDB4REYsMHg3NywweEZDLDB4RkIsIDB4M0YsMHhBQiwweEZFLDB4RkYsMHhCRiwweEVGLDB4RkIsMHhGRSwKLTB4RkYsMHhGRiwweEVFLDB4MUYsMHhGRiwweERGLDB4RjcsMHhGRiwgMHhGRiwweEZGLDB4NUYsMHg5NywweDM1LDB4QkYsMHg1RSwweEZFLAotMHhCRiwweEVGLDB4RkYsMHhGNywweEZELDB4RkYsMHhGRiwweEZBLCAweEJGLDB4RkYsMHhCRSwweDZGLDB4OUYsMHhFNywweEY4LDB4QkUsCi0weDJGLDB4OEIsMHg2NiwweDk0LDB4N0QsMHg5RCwweEU3LDB4RjksIDB4RkUsMHg3RiwweDlGLDB4RTcsMHhGMSwweDdGLDB4RkYsMHhGRiwKLTB4RkYsMHhGNywweEY1LDB4RkQsMHg3RiwweDVGLDB4RkIsMHhGRCwgMHg5RSwweEZGLDB4RkIsMHhGRSwweEZGLDB4RkYsMHhFRiwweEZGLAotMHhGRiwweEEwLDB4RkYsMHhGRiwweEZGLDB4QkYsMHhFRiwweEVCLCAweEZBLDB4RkUsMHhCRiwweEI3LDB4RjcsMHhGNywweEZGLDB4RkYsCi0weEZELDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweERELDB4RkYsIDB4RkQsMHhGRiwweEZGLDB4RkYsMHhENywweEZGLDB4RkYsMHhGRiwKLTB4N0YsMHhGNSwweEZGLDB4RkYsMHhFRiwweEZGLDB4RkYsMHhGRiwgMHhCRiwweEZGLDB4RkYsMHhBQiwweEZFLDB4RkIsMHhGRSwweEZGLAotMHhGNywweEFGLDB4RkYsMHhGRiwweERFLDB4RjcsMHhFQiwweDVGLCAweERGLDB4RjcsMHhGRCwweEZGLDB4N0YsMHhERiwweEZGLDB4RkYsCi0weEIzLDB4RkYsMHhDOSwweEZFLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RDYsMHhGRiwweEZGLDB4Q0IsMHhGRiwweEZGLDB4REYsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhGQywweDhGLDB4RkYsMHhCQSwgMHhCRSwweEJGLDB4QUYsMHhFQiwweDc4LDB4RkUsMHhCNywweEFELAotMHgzQSwweEZFLDB4QjcsMHhBRiwweEVCLDB4N0EsMHhGRSwweEJGLCAweEFGLDB4RkYsMHg5RiwweEZGLDB4RkYsMHhERiwweEZDLDB4RkYsCi0weEZGLDB4RkUsMHhDMywweEZFLDB4RkYsMHhGRiwweDMzLDB4RkMsIDB4RkYsMHhCRiwweERGLDB4RjMsMHhGRiwweEZGLDB4QkIsMHg5RiwKLTB4RkYsMHhGRiwweEZGLDB4RUIsMHhERiwweEZGLDB4RkYsMHhBRiwgMHhGNywweDZGLDB4RjksMHhCRiwweEVGLDB4RkQsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4RkYsMHhFMywweDdGLDB4RkYsMHhGRiwweEZGLCAweEZCLDB4RkYsMHhGRiwweEJGLDB4RkQsMHhGQiwweEY3LDB4RkYsCi0weERGLDB4RjcsMHhGRiwweEZFLDB4RUYsMHg1RiwweEJELDB4RkYsIDB4RkEsMHhGRiwweEY4LDB4RkYsMHhCRiwweEFGLDB4RkIsMHhGRSwKLTB4RkUsMHgzRiwweEVGLDB4RTgsMHhGRiwweERGLDB4RjMsMHhGRCwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RUQsMHhGRiwweEZCLAotMHhGRCwweEZGLDB4QUYsMHhGRiwweEZGLDB4RkUsMHhGRSwweEJGLCAweERCLDB4RkYsMHhGRiwweEZGLDB4QkYsMHhGRiwweERGLDB4RkYsCi0weEZELDB4RkYsMHhDQiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4QkYsMHg2RiwweEZGLDB4N0YsMHhCNywweEIzLDB4RkYsMHhGRiwKLTB4REYsMHhGRiwweEZCLDB4RUYsMHhGRiwweEZGLDB4RkYsMHgwNywgMHhGRiwweEZCLDB4RkYsMHhGRiwweEZGLDB4RUQsMHhGRiwweEY1LAotMHg3QywweEZGLDB4N0YsMHhGRSwweEZGLDB4RkYsMHhFRiwweENGLCAweEZGLDB4RkIsMHhGRiwweEZGLDB4MkYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RjMsMHhGRiwweEZCLDB4RkYsMHhGRSwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhCRiwweEZGLDB4RkYsMHhGRiwKLTB4RkQsMHgxQiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RkUsMHg3QywweEZGLDB4RkYsMHhGRiwweEZGLAotMHhFRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkIsMHhCRiwweDdGLCAweEZELDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weERCLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkQsIDB4RkYsMHhGRiwweEYwLDB4N0YsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZCLDB4RkYsMHhERiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkQsMHhCRiwweEZFLAotMHg3RiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4RUYsMHhGRSwweEZGLDB4QkYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhFRiwweEZBLDB4QjUsMHhGRiwweEZGLDB4RkYsIDB4RjcsMHhGNywweEZGLDB4RkYsMHhGRiwweEZGLDB4REYsMHhGQiwKLTB4RkMsMHhGRiwweEZGLDB4RkUsMHhGRiwweDdGLDB4REYsMHhCRiwgMHhGRiwweENCLDB4QkYsMHhGOSwweEZFLDB4N0YsMHg5RiwweEU3LAotMHhGOSwweEZFLDB4N0YsMHg5NywweEUxLDB4RkUsMHg3OSwweDlGLCAweEU3LDB4RkQsMHhGRSwweDdGLDB4REYsMHhGRSwweDM3LDB4RkYsCi0weEZCLDB4REUsMHhERSwweEJELDB4RUYsMHhGMywweEZFLDB4RkIsIDB4QUYsMHhFQiwweEZFLDB4RkYsMHhGRiwweENGLDB4RkYsMHhGRSwKLTB4RkYsMHhCRiwweEZGLDB4OEYsMHhGRiwweEVGLDB4RkIsMHhGRSwgMHhGRiwweEJGLDB4RTcsMHhGOSwweDVFLDB4N0YsMHhFRiwweEZCLAotMHhEQSwweEZGLDB4QkYsMHhFRiwweEZCLDB4RkUsMHhGRiwweEZELCAweDFGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4REYsCi0weEZGLDB4RkYsMHg3RiwweEZGLDB4RkYsMHhGNywweEZCLDB4N0YsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGQywweDNGLDB4RkYsMHhCRiwKLTB4RUYsMHhGQiwweEZFLDB4RkYsMHhCRiwweEVGLDB4N0IsMHg3RiwgMHhCRiwweEVGLDB4RkIsMHhGRSwweEZGLDB4QjUsMHhFRiwweEZCLAotMHhCRiwweEZBLDB4N0YsMHhGQywweEZGLDB4M0YsMHhDRiwweEYzLCAweEZDLDB4RkYsMHgzRiwweENGLDB4QkMsMHhGRiwweDNGLDB4RUYsCi0weEYzLDB4RkMsMHhGRSwweDNGLDB4Q0YsMHhGRiwweEVFLDB4RUYsIDB4RkIsMHhGRSwweEZGLDB4QkYsMHhFRiwweEZCLDB4NkEsMHhENywKLTB4QjcsMHhGQiwweEY4LDB4RkYsMHhCNywweEVGLDB4QkEsMHhGRSwgMHhGRiwweEJGLDB4N0YsMHhFOSwweEZGLDB4RjksMHg3RSwweDVGLAotMHg5NywweEU1LDB4RjksMHhGRSwweDdGLDB4QkYsMHhGOSwweDdFLCAweDVGLDB4OUYsMHhFNSwweEZCLDB4RkUsMHg1RiwweEI3LDB4RkYsCi0weEEzLDB4RkYsMHhGNywweEZELDB4RkYsMHg3RiwweERGLDB4RjcsIDB4RkQsMHhGRiwweDVFLDB4RjcsMHg3RCwweEZGLDB4NzcsMHhERiwKLTB4RjcsMHhGRCwweEZGLDB4N0YsMHhGRiwweEQ3LDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZELDB4REYsMHhGQiwweDdGLAotMHhGRiwweEZGLDB4RUYsMHhGRiwweEZFLDB4RkIsMHhGRiwweEZGLCAweEJGLDB4RkUsMHg4RiwweEZGLDB4REYsMHhGNywweEZELDB4RkQsCi0weDdGLDB4REYsMHhGNywweEZELDB4M0UsMHhERiwweEY1LDB4QkQsIDB4RkYsMHg3RiwweERGLDB4RjcsMHhGRCwweEY3LDB4RkYsMHg5RiwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEZELDB4RkYsMHhCRSwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4RkYsMHhGRCwweDNGLDB4RkYsMHhERiwweEY3LCAweEZELDB4RkYsMHg3RiwweERGLDB4RjcsMHhGRCwweEZGLDB4Q0YsCi0weDc3LDB4RkMsMHhGRiwweDVGLDB4REYsMHhGNywweEZELDB4RkYsIDB4RjQsMHg3RiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEZELDB4RkYsMHhGRiwweEZGLDB4RUUsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLCAweEVELDB4RkIsMHhGRiwweEZGLDB4QkYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhFOSwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhGQiwweEZGLDB4RkYsMHhGRiwweEQzLDB4RkYsMHhGRiwKLTB4QkYsMHgzRiwweEZCLDB4RkYsMHhGRiwweEZGLDB4RkIsMHhGMywgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkUsMHhGRiwweEY3LCAweEZGLDB4RkYsMHhGRiwweEZGLDB4MTcsMHhGRiwweEZGLDB4RkYsCi0weERGLDB4RkYsMHhGRCwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4REYsMHhERiwweEZGLDB4RkQsMHhGRiwweEZGLDB4REYsMHhGNywKLTB4RkYsMHg0RiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhGRSwweEZGLDB4RkYsMHhGRiwweEZELAotMHhGRiwweEZGLDB4RkYsMHhGRiwweEZFLDB4RkYsMHg5RiwweEZGLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEZELDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweDdGLDB4RkYsIDB4RkYsMHhGRiwweDdBLDB4M0YsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4N0YsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEYyLAotMHg3RiwweEZGLDB4RkIsMHhGRSwweEZGLDB4QkYsMHhFRiwweEY4LCAweEZFLDB4RkYsMHhCRiwweEZCLDB4RkUsMHhGRiwweDhGLDB4RUMsCi0weEZCLDB4RkUsMHhGRiwweEJGLDB4RjgsMHhGNywweEZFLDB4RkYsIDB4QkYsMHhFRiwweEZCLDB4RkUsMHhGRCwweEJGLDB4Q0YsMHhFQywKLTB4RkYsMHgzRiwweEVGLDB4REIsMHhGOCwweEZGLDB4QkYsMHhDRiwgMHhGRiwweEY5LDB4RkYsMHhGRiwweEJGLDB4RkYsMHhGQiwweEZGLAotMHhGRiwweEZGLDB4RUYsMHhGQiwweERGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhCRiwweEZGLDB4RkYsMHhGRiwweEJCLDB4RkYsCi0weEVGLDB4RkIsMHhGRSwweEVGLDB4QkYsMHhFRSwweEVCLDB4RkIsIDB4RkUsMHhGRiwweEVGLDB4RkUsMHhFRSwweEJGLDB4RkUsMHhFQiwKLTB4RkYsMHhFRiwweEZGLDB4MTcsMHhGRiwweDdFLDB4RUIsMHhCQiwgMHhGRSwweEJGLDB4QkUsMHhGQiwweEVGLDB4NUIsMHhGNywweEJELAotMHhGQiwweENGLDB4QkYsMHhCRiwweEJCLDB4RkIsMHg3RSwweENDLCAweEVGLDB4RkYKLQotfTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvdmlkZW8vZGFidXNiLmMgYi9kcml2ZXJzL21lZGlhL3ZpZGVvL2RhYnVzYi5jCmluZGV4IDhkMWY4ZWUuLjQ4ZjRiOTIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWVkaWEvdmlkZW8vZGFidXNiLmMKKysrIGIvZHJpdmVycy9tZWRpYS92aWRlby9kYWJ1c2IuYwpAQCAtMzgsOSArMzgsMTAgQEAKICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgogI2luY2x1ZGUgPGxpbnV4L3VzYi5oPgogI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CisjaW5jbHVkZSA8bGludXgvZmlybXdhcmUuaD4KKyNpbmNsdWRlIDxsaW51eC9paGV4Lmg+CiAKICNpbmNsdWRlICJkYWJ1c2IuaCIKLSNpbmNsdWRlICJkYWJmaXJtd2FyZS5oIgogCiAvKgogICogVmVyc2lvbiBJbmZvcm1hdGlvbgpAQCAtMjk3LDcgKzI5OCw4IEBACiAJcmV0dXJuIHJldDsKIH0KIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwotc3RhdGljIGludCBkYWJ1c2Jfd3JpdGVtZW0gKHBkYWJ1c2JfdCBzLCBpbnQgcG9zLCB1bnNpZ25lZCBjaGFyICpkYXRhLCBpbnQgbGVuKQorc3RhdGljIGludCBkYWJ1c2Jfd3JpdGVtZW0gKHBkYWJ1c2JfdCBzLCBpbnQgcG9zLCBjb25zdCB1bnNpZ25lZCBjaGFyICpkYXRhLAorCQkJICAgIGludCBsZW4pCiB7CiAJaW50IHJldDsKIAl1bnNpZ25lZCBjaGFyICp0cmFuc2Zlcl9idWZmZXIgPSAga21hbGxvYyAobGVuLCBHRlBfS0VSTkVMKTsKQEAgLTMyNCwyNCArMzI2LDM1IEBACiBzdGF0aWMgaW50IGRhYnVzYl9sb2FkbWVtIChwZGFidXNiX3QgcywgY29uc3QgY2hhciAqZm5hbWUpCiB7CiAJaW50IHJldDsKLQlQSU5URUxfSEVYX1JFQ09SRCBwdHIgPSBmaXJtd2FyZTsKKwljb25zdCBzdHJ1Y3QgaWhleF9iaW5yZWMgKnJlYzsKKwljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3OwogCiAJZGJnKCJFbnRlciBkYWJ1c2JfbG9hZG1lbSAoaW50ZXJuYWwpIik7CiAKKwlyZXQgPSByZXF1ZXN0X2loZXhfZmlybXdhcmUoJmZ3LCAiZGFidXNiL2Zpcm13YXJlLmZ3IiwgJnMtPnVzYmRldi0+ZGV2KTsKKwlpZiAocmV0KSB7CisJCWVycigiRmFpbGVkIHRvIGxvYWQgXCJkYWJ1c2IvZmlybXdhcmUuZndcIjogJWRcbiIsIHJldCk7CisJCWdvdG8gb3V0OworCX0KIAlyZXQgPSBkYWJ1c2JfODA1MV9yZXNldCAocywgMSk7Ci0Jd2hpbGUgKHB0ci0+VHlwZSA9PSAwKSB7CiAKLQkJZGJnKCJkYWJ1c2Jfd3JpdGVtZW06ICUwNFggJXAgJWQpIiwgcHRyLT5BZGRyZXNzLCBwdHItPkRhdGEsIHB0ci0+TGVuZ3RoKTsKKwlmb3IgKHJlYyA9IChjb25zdCBzdHJ1Y3QgaWhleF9iaW5yZWMgKilmdy0+ZGF0YTsgcmVjOworCSAgICAgcmVjID0gaWhleF9uZXh0X2JpbnJlYyhyZWMpKSB7CisJCWRiZygiZGFidXNiX3dyaXRlbWVtOiAlMDRYICVwICVkKSIsIGJlMzJfdG9fY3B1KHJlYy0+YWRkciksCisJCSAgICByZWMtPmRhdGEsIGJlMTZfdG9fY3B1KHJlYy0+bGVuKSk7CiAKLQkJcmV0ID0gZGFidXNiX3dyaXRlbWVtIChzLCBwdHItPkFkZHJlc3MsIHB0ci0+RGF0YSwgcHRyLT5MZW5ndGgpOworCQlyZXQgPSBkYWJ1c2Jfd3JpdGVtZW0ocywgYmUzMl90b19jcHUocmVjLT5hZGRyKSwgcmVjLT5kYXRhLAorCQkJCSAgICAgICBiZTE2X3RvX2NwdShyZWMtPmxlbikpOwogCQlpZiAocmV0IDwgMCkgewotCQkJZXJyKCJkYWJ1c2Jfd3JpdGVtZW0gZmFpbGVkICglZCAlMDRYICVwICVkKSIsIHJldCwgcHRyLT5BZGRyZXNzLCBwdHItPkRhdGEsIHB0ci0+TGVuZ3RoKTsKKwkJCWVycigiZGFidXNiX3dyaXRlbWVtIGZhaWxlZCAoJWQgJTA0WCAlcCAlZCkiLCByZXQsCisJCQkgICAgYmUzMl90b19jcHUocmVjLT5hZGRyKSwgcmVjLT5kYXRhLAorCQkJICAgIGJlMTZfdG9fY3B1KHJlYy0+bGVuKSk7CiAJCQlicmVhazsKIAkJfQotCQlwdHIrKzsKIAl9CiAJcmV0ID0gZGFidXNiXzgwNTFfcmVzZXQgKHMsIDApOwotCisJcmVsZWFzZV9maXJtd2FyZShmdyk7Cisgb3V0OgogCWRiZygiZGFidXNiX2xvYWRtZW06IGV4aXQiKTsKIAogCXJldHVybiByZXQ7CkBAIC0zNzYsOSArMzg5LDkgQEAKIHN0YXRpYyBpbnQgZGFidXNiX2ZwZ2FfZG93bmxvYWQgKHBkYWJ1c2JfdCBzLCBjb25zdCBjaGFyICpmbmFtZSkKIHsKIAlwYnVsa190cmFuc2Zlcl90IGIgPSBrbWFsbG9jIChzaXplb2YgKGJ1bGtfdHJhbnNmZXJfdCksIEdGUF9LRVJORUwpOworCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZnc7CiAJdW5zaWduZWQgaW50IGJsZW4sIG47CiAJaW50IHJldDsKLQl1bnNpZ25lZCBjaGFyICpidWYgPSBiaXRzdHJlYW07CiAKIAlkYmcoIkVudGVyIGRhYnVzYl9mcGdhX2Rvd25sb2FkIChpbnRlcm5hbCkiKTsKIApAQCAtMzg3LDEwICs0MDAsMTYgQEAKIAkJcmV0dXJuIC1FTk9NRU07CiAJfQogCisJcmV0ID0gcmVxdWVzdF9maXJtd2FyZSgmZncsICJkYWJ1c2IvYml0c3RyZWFtLmJpbiIsICZzLT51c2JkZXYtPmRldik7CisJaWYgKHJldCkgeworCQllcnIoIkZhaWxlZCB0byBsb2FkIFwiZGFidXNiL2JpdHN0cmVhbS5iaW5cIjogJWRcbiIsIHJldCk7CisJCXJldHVybiByZXQ7CisJfQorCiAJYi0+cGlwZSA9IDE7CiAJcmV0ID0gZGFidXNiX2ZwZ2FfY2xlYXIgKHMsIGIpOwogCW1kZWxheSAoMTApOwotCWJsZW4gPSBidWZbNzNdICsgKGJ1Zls3Ml0gPDwgOCk7CisJYmxlbiA9IGZ3LT5kYXRhWzczXSArIChmdy0+ZGF0YVs3Ml0gPDwgOCk7CiAKIAlkYmcoIkJpdHN0cmVhbSBsZW46ICVpIiwgYmxlbik7CiAKQEAgLTQwMiw3ICs0MjEsNyBAQAogCWZvciAobiA9IDA7IG4gPD0gYmxlbiArIDYwOyBuICs9IDYwKSB7CiAJCS8vIHNvbWUgY2Nsa3MgZm9yIHN0YXJ0dXAKIAkJYi0+c2l6ZSA9IDY0OwotCQltZW1jcHkgKGItPmRhdGEgKyA0LCBidWYgKyA3NCArIG4sIDYwKTsKKwkJbWVtY3B5IChiLT5kYXRhICsgNCwgZnctPmRhdGEgKyA3NCArIG4sIDYwKTsKIAkJcmV0ID0gZGFidXNiX2J1bGsgKHMsIGIpOwogCQlpZiAocmV0IDwgMCkgewogCQkJZXJyKCJkYWJ1c2JfYnVsayBmYWlsZWQuIik7CkBAIC00MTMsNiArNDMyLDcgQEAKIAogCXJldCA9IGRhYnVzYl9mcGdhX2luaXQgKHMsIGIpOwogCWtmcmVlIChiKTsKKwlyZWxlYXNlX2Zpcm13YXJlKGZ3KTsKIAogCWRiZygiZXhpdCBkYWJ1c2JfZnBnYV9kb3dubG9hZCIpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL3ZpZGVvL292NzY3MC5jIGIvZHJpdmVycy9tZWRpYS92aWRlby9vdjc2NzAuYwppbmRleCAyYmM2YmRjLi5kN2JmZDMwIDEwMDY0NAotLS0gYS9kcml2ZXJzL21lZGlhL3ZpZGVvL292NzY3MC5jCisrKyBiL2RyaXZlcnMvbWVkaWEvdmlkZW8vb3Y3NjcwLmMKQEAgLTQwNiw4ICs0MDYsMTAgQEAKIAlpbnQgcmV0OwogCiAJcmV0ID0gaTJjX3NtYnVzX3JlYWRfYnl0ZV9kYXRhKGMsIHJlZyk7Ci0JaWYgKHJldCA+PSAwKQorCWlmIChyZXQgPj0gMCkgewogCQkqdmFsdWUgPSAodW5zaWduZWQgY2hhcikgcmV0OworCQlyZXQgPSAwOworCX0KIAlyZXR1cm4gcmV0OwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL3ZpZGVvL3VzYnZpZGVvL3ZpY2FtLmMgYi9kcml2ZXJzL21lZGlhL3ZpZGVvL3VzYnZpZGVvL3ZpY2FtLmMKaW5kZXggMTdmNTQyZC4uNDBkMDUzZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZWRpYS92aWRlby91c2J2aWRlby92aWNhbS5jCisrKyBiL2RyaXZlcnMvbWVkaWEvdmlkZW8vdXNidmlkZW8vdmljYW0uYwpAQCAtNDMsNiArNDMsOCBAQAogI2luY2x1ZGUgPGxpbnV4L3ZtYWxsb2MuaD4KICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KKyNpbmNsdWRlIDxsaW51eC9maXJtd2FyZS5oPgorI2luY2x1ZGUgPGxpbnV4L2loZXguaD4KICNpbmNsdWRlICJ1c2J2aWRlby5oIgogCiAvLyAjZGVmaW5lIFZJQ0FNX0RFQlVHCkBAIC03MCwyODQgKzcyLDYgQEAKIAogI2RlZmluZSBWSUNBTV9IRUFERVJfU0laRSAgICAgICA2NAogCi0vKiBOb3Qgc3VyZSB3aGF0IGFsbCB0aGUgYnl0ZXMgaW4gdGhlc2UgY2hhcgotICogYXJyYXlzIGRvLCBidXQgdGhleSdyZSBuZWNlc3NhcnkgdG8gbWFrZQotICogdGhlIGNhbWVyYSB3b3JrLgotICovCi0KLXN0YXRpYyB1bnNpZ25lZCBjaGFyIHNldHVwMVtdID0gewotCTB4QjYsIDB4QzMsIDB4MUYsIDB4MDAsIDB4MDIsIDB4NjQsIDB4RTcsIDB4NjcsCi0JMHhGRCwgMHhGRiwgMHgwRSwgMHhDMCwgMHhFNywgMHgwOSwgMHhERSwgMHgwMCwKLQkweDhFLCAweDAwLCAweEMwLCAweDA5LCAweDQwLCAweDAzLCAweEMwLCAweDE3LAotCTB4NDQsIDB4MDMsIDB4NEIsIDB4QUYsIDB4QzAsIDB4MDcsIDB4MDAsIDB4MDAsCi0JMHg0QiwgMHhBRiwgMHg5NywgMHhDRiwgMHgwMCwgMHgwMAotfTsKLQotc3RhdGljIHVuc2lnbmVkIGNoYXIgc2V0dXAyW10gPSB7Ci0JMHhCNiwgMHhDMywgMHgwMywgMHgwMCwgMHgwMywgMHg2NCwgMHgxOCwgMHgwMCwKLQkweDAwLCAweDAwCi19OwotCi1zdGF0aWMgdW5zaWduZWQgY2hhciBzZXR1cDNbXSA9IHsKLQkweEI2LCAweEMzLCAweDAxLCAweDAwLCAweDA2LCAweDY0LCAweDAwLCAweDAwCi19OwotCi1zdGF0aWMgdW5zaWduZWQgY2hhciBzZXR1cDRbXSA9IHsKLQkweEI2LCAweEMzLCAweDhGLCAweDA2LCAweDAyLCAweDY0LCAweEU3LCAweDA3LAotCTB4MDAsIDB4MDAsIDB4MDgsIDB4QzAsIDB4RTcsIDB4MDcsIDB4MDAsIDB4MDAsCi0JMHgzRSwgMHhDMCwgMHhFNywgMHgwNywgMHg1NCwgMHgwMSwgMHhBQSwgMHgwMCwKLQkweEU3LCAweDA3LCAweEM4LCAweDA1LCAweEI2LCAweDAwLCAweEU3LCAweDA3LAotCTB4NDIsIDB4MDEsIDB4RDIsIDB4MDAsIDB4RTcsIDB4MDcsIDB4N0MsIDB4MDAsCi0JMHgxNiwgMHgwMCwgMHhFNywgMHgwNywgMHg1NiwgMHgwMCwgMHgxOCwgMHgwMCwKLQkweEU3LCAweDA3LCAweDA2LCAweDAwLCAweDkyLCAweEMwLCAweEU3LCAweDA3LAotCTB4MDAsIDB4MDAsIDB4MUUsIDB4QzAsIDB4RTcsIDB4MDcsIDB4RkYsIDB4RkYsCi0JMHgyMiwgMHhDMCwgMHhFNywgMHgwNywgMHgwNCwgMHgwMCwgMHgyNCwgMHhDMCwKLQkweEU3LCAweDA3LCAweEVDLCAweDI3LCAweDI4LCAweEMwLCAweEU3LCAweDA3LAotCTB4MTYsIDB4MDEsIDB4OEUsIDB4MDAsIDB4RTcsIDB4ODcsIDB4MDEsIDB4MDAsCi0JMHgwRSwgMHhDMCwgMHg5NywgMHhDRiwgMHhENywgMHgwOSwgMHgwMCwgMHhDMCwKLQkweEU3LCAweDc3LCAweDAxLCAweDAwLCAweDkyLCAweEMwLCAweDA5LCAweEMxLAotCTB4RTcsIDB4MDksIDB4RkUsIDB4MDUsIDB4MjQsIDB4MDEsIDB4RTcsIDB4MDksCi0JMHgwNCwgMHgwNiwgMHgyNiwgMHgwMSwgMHhFNywgMHgwNywgMHgwNywgMHgwMCwKLQkweDkyLCAweEMwLCAweEU3LCAweDA1LCAweDAwLCAweEMwLCAweEMwLCAweERGLAotCTB4OTcsIDB4Q0YsIDB4MTcsIDB4MDAsIDB4NTcsIDB4MDAsIDB4MTcsIDB4MDIsCi0JMHhENywgMHgwOSwgMHgwMCwgMHhDMCwgMHhFNywgMHg3NywgMHgwMSwgMHgwMCwKLQkweDkyLCAweEMwLCAweDBBLCAweEMxLCAweEU3LCAweDU3LCAweEZGLCAweEZGLAotCTB4RkEsIDB4MDUsIDB4MEQsIDB4QzAsIDB4RTcsIDB4NTcsIDB4MDAsIDB4MDAsCi0JMHhGQSwgMHgwNSwgMHgwRiwgMHhDMCwgMHg5RiwgMHhBRiwgMHhDNiwgMHgwMCwKLQkweEU3LCAweDA1LCAweDAwLCAweEMwLCAweEM4LCAweDA1LCAweEMxLCAweDA1LAotCTB4QzAsIDB4MDUsIDB4QzAsIDB4REYsIDB4OTcsIDB4Q0YsIDB4MjcsIDB4REEsCi0JMHhGQSwgMHgwNSwgMHhFRiwgMHgwNywgMHgwMSwgMHgwMCwgMHgwQiwgMHgwNiwKLQkweDczLCAweENGLCAweDlGLCAweEFGLCAweDc4LCAweDAxLCAweDlGLCAweEFGLAotCTB4MUEsIDB4MDMsIDB4NkUsIDB4Q0YsIDB4RTcsIDB4MDksIDB4RkMsIDB4MDUsCi0JMHgyNCwgMHgwMSwgMHhFNywgMHgwOSwgMHgwMiwgMHgwNiwgMHgyNiwgMHgwMSwKLQkweEU3LCAweDA3LCAweDA3LCAweDAwLCAweDkyLCAweEMwLCAweEU3LCAweDA5LAotCTB4RkMsIDB4MDUsIDB4RkUsIDB4MDUsIDB4RTcsIDB4MDksIDB4MDIsIDB4MDYsCi0JMHgwNCwgMHgwNiwgMHhFNywgMHgwOSwgMHgwMCwgMHgwNiwgMHhGQywgMHgwNSwKLQkweEU3LCAweDA5LCAweEZFLCAweDA1LCAweDAwLCAweDA2LCAweDI3LCAweERBLAotCTB4RkEsIDB4MDUsIDB4RTcsIDB4NTcsIDB4MDEsIDB4MDAsIDB4RkEsIDB4MDUsCi0JMHgwMiwgMHhDQSwgMHgwNCwgMHhDMCwgMHg5NywgMHhDRiwgMHg5RiwgMHhBRiwKLQkweDY2LCAweDA1LCAweDk3LCAweENGLCAweEU3LCAweDA3LCAweDQwLCAweDAwLAotCTB4MDIsIDB4MDYsIDB4QzgsIDB4MDksIDB4RkMsIDB4MDUsIDB4OUYsIDB4QUYsCi0JMHhEQSwgMHgwMiwgMHg5NywgMHhDRiwgMHhDRiwgMHgxNywgMHgwMiwgMHgwMCwKLQkweEVGLCAweDU3LCAweDgxLCAweDAwLCAweDA5LCAweDA2LCAweDlGLCAweEEwLAotCTB4QjYsIDB4MDEsIDB4RUYsIDB4NTcsIDB4ODAsIDB4MDAsIDB4MDksIDB4MDYsCi0JMHg5RiwgMHhBMCwgMHg0MCwgMHgwMiwgMHhFRiwgMHg1NywgMHgwMSwgMHgwMCwKLQkweDBCLCAweDA2LCAweDlGLCAweEEwLCAweDQ2LCAweDAzLCAweEU3LCAweDA3LAotCTB4MDEsIDB4MDAsIDB4MEEsIDB4QzAsIDB4NDYsIDB4QUYsIDB4NDcsIDB4QUYsCi0JMHg5RiwgMHhBRiwgMHg0MCwgMHgwMiwgMHhFNywgMHgwNywgMHgyRSwgMHgwMCwKLQkweDBBLCAweEMwLCAweEVGLCAweDg3LCAweDgwLCAweDAwLCAweDA5LCAweDA2LAotCTB4OTcsIDB4Q0YsIDB4MDAsIDB4MEUsIDB4MDEsIDB4MDAsIDB4QzAsIDB4NTcsCi0JMHg1MSwgMHgwMCwgMHg5RiwgMHhDMCwgMHg5RSwgMHgwMiwgMHhDMCwgMHg1NywKLQkweDUwLCAweDAwLCAweDIwLCAweEMwLCAweEMwLCAweDU3LCAweDU1LCAweDAwLAotCTB4MTIsIDB4QzAsIDB4QzAsIDB4NTcsIDB4NTYsIDB4MDAsIDB4OUYsIDB4QzAsCi0JMHg3MiwgMHgwMiwgMHg5RiwgMHhDRiwgMHhENiwgMHgwMiwgMHhDMSwgMHgwQiwKLQkweDA4LCAweDA2LCAweDAxLCAweEQwLCAweDZGLCAweDkwLCAweDA4LCAweDA2LAotCTB4QzAsIDB4MDcsIDB4MDgsIDB4MDAsIDB4QzEsIDB4MEIsIDB4MDgsIDB4MDYsCi0JMHg5RiwgMHhBRiwgMHgyOCwgMHgwNSwgMHg5NywgMHhDRiwgMHgyRiwgMHgwRSwKLQkweDAyLCAweDAwLCAweDA4LCAweDA2LCAweEMwLCAweDA3LCAweDA4LCAweDAwLAotCTB4QzEsIDB4MEIsIDB4MDgsIDB4MDYsIDB4OUYsIDB4QUYsIDB4MjgsIDB4MDUsCi0JMHg5RiwgMHhDRiwgMHhENiwgMHgwMiwgMHgyRiwgMHgwRSwgMHgwMiwgMHgwMCwKLQkweDA5LCAweDA2LCAweEVGLCAweDg3LCAweDgwLCAweDAwLCAweDA5LCAweDA2LAotCTB4OUYsIDB4Q0YsIDB4RDYsIDB4MDIsIDB4RUYsIDB4NjcsIDB4N0YsIDB4RkYsCi0JMHgwOSwgMHgwNiwgMHhFNywgMHg2NywgMHhGRiwgMHhGRCwgMHgyMiwgMHhDMCwKLQkweEU3LCAweDY3LCAweEVGLCAweEZGLCAweDI0LCAweEMwLCAweEU3LCAweDg3LAotCTB4MTAsIDB4MDAsIDB4MjgsIDB4QzAsIDB4OUYsIDB4QUYsIDB4QjgsIDB4MDUsCi0JMHhFNywgMHg4NywgMHhFMCwgMHgyMSwgMHgyNCwgMHhDMCwgMHg5RiwgMHhBRiwKLQkweEE4LCAweDA1LCAweEU3LCAweDg3LCAweDA4LCAweDAwLCAweDI0LCAweEMwLAotCTB4RTcsIDB4NjcsIDB4REYsIDB4RkYsIDB4MjQsIDB4QzAsIDB4QzgsIDB4MDcsCi0JMHgwQSwgMHgwMCwgMHhDMCwgMHgwNywgMHgwMCwgMHgwMCwgMHhDMSwgMHgwNywKLQkweDAxLCAweDAwLCAweDlGLCAweEFGLCAweDI4LCAweDA1LCAweDlGLCAweEFGLAotCTB4QjgsIDB4MDUsIDB4QzAsIDB4MDcsIDB4OUUsIDB4MDAsIDB4OUYsIDB4QUYsCi0JMHg0NCwgMHgwNSwgMHhFNywgMHg2NywgMHhGRiwgMHhGRSwgMHgyNCwgMHhDMCwKLQkweEMwLCAweDA5LCAweDIwLCAweEMwLCAweEU3LCAweDg3LCAweDAwLCAweDAxLAotCTB4MjQsIDB4QzAsIDB4QzAsIDB4NzcsIDB4MDAsIDB4MDIsIDB4MEYsIDB4QzEsCi0JMHhFNywgMHg2NywgMHhGNywgMHhGRiwgMHgyNCwgMHhDMCwgMHhFNywgMHg2NywKLQkweEY3LCAweEZGLCAweDI0LCAweEMwLCAweEU3LCAweDg3LCAweDA4LCAweDAwLAotCTB4MjQsIDB4QzAsIDB4MDgsIDB4REEsIDB4NUUsIDB4QzEsIDB4RUYsIDB4MDcsCi0JMHg4MCwgMHgwMCwgMHgwOSwgMHgwNiwgMHg5NywgMHhDRiwgMHhFRiwgMHgwNywKLQkweDAxLCAweDAwLCAweDBBLCAweDA2LCAweDk3LCAweENGLCAweEVGLCAweDA3LAotCTB4MDAsIDB4MDAsIDB4MEIsIDB4MDYsIDB4RUYsIDB4MDcsIDB4MDAsIDB4MDAsCi0JMHgwQSwgMHgwNiwgMHhFRiwgMHg2NywgMHg3RiwgMHhGRiwgMHgwOSwgMHgwNiwKLQkweEVGLCAweDA3LCAweDAwLCAweDAwLCAweDBELCAweDA2LCAweEU3LCAweDY3LAotCTB4RUYsIDB4RkYsIDB4MjgsIDB4QzAsIDB4RTcsIDB4NjcsIDB4MTcsIDB4RDgsCi0JMHgyNCwgMHhDMCwgMHhFNywgMHgwNywgMHgwMCwgMHgwMCwgMHgxRSwgMHhDMCwKLQkweEU3LCAweDA3LCAweEZGLCAweEZGLCAweDIyLCAweEMwLCAweDk3LCAweENGLAotCTB4QzgsIDB4MDcsIDB4MEUsIDB4MDYsIDB4OUYsIDB4QUYsIDB4REEsIDB4MDIsCi0JMHhFNywgMHgwNywgMHgwMCwgMHgwMCwgMHhGMiwgMHgwNSwgMHhFNywgMHgwNywKLQkweDEwLCAweDAwLCAweEY2LCAweDA1LCAweEU3LCAweDA3LCAweDBFLCAweDA2LAotCTB4RjQsIDB4MDUsIDB4RTcsIDB4MDcsIDB4RDYsIDB4MDIsIDB4RjgsIDB4MDUsCi0JMHhDOCwgMHgwNywgMHhGMiwgMHgwNSwgMHhDMSwgMHgwNywgMHgwMCwgMHg4MCwKLQkweDUwLCAweEFGLCAweDk3LCAweENGLCAweDJGLCAweDBDLCAweDAyLCAweDAwLAotCTB4MDcsIDB4MDYsIDB4MkYsIDB4MEMsIDB4MDQsIDB4MDAsIDB4MDYsIDB4MDYsCi0JMHhFNywgMHgwNywgMHgwMCwgMHgwMCwgMHhGMiwgMHgwNSwgMHhFNywgMHgwNywKLQkweDEwLCAweDAwLCAweEY2LCAweDA1LCAweEU3LCAweDA3LCAweEUyLCAweDA1LAotCTB4RjQsIDB4MDUsIDB4RTcsIDB4MDcsIDB4Q0UsIDB4MDIsIDB4RjgsIDB4MDUsCi0JMHhDOCwgMHgwNywgMHhGMiwgMHgwNSwgMHhDMSwgMHgwNywgMHgwMCwgMHg4MCwKLQkweDUxLCAweEFGLCAweDk3LCAweENGLCAweDlGLCAweEFGLCAweDY2LCAweDA0LAotCTB4OUYsIDB4QUYsIDB4MUEsIDB4MDMsIDB4NTksIDB4QUYsIDB4OTcsIDB4Q0YsCi0JMHhDMCwgMHgwNywgMHgwRSwgMHgwMCwgMHhDMSwgMHgwQiwgMHgwQywgMHgwNiwKLQkweDQxLCAweEQxLCAweDlGLCAweEFGLCAweDI4LCAweDA1LCAweEMwLCAweDA3LAotCTB4M0MsIDB4MDAsIDB4OUYsIDB4QUYsIDB4NDQsIDB4MDUsIDB4NjgsIDB4MDAsCi0JMHhDMCwgMHgwNywgMHgzQiwgMHgwMCwgMHg5RiwgMHhBRiwgMHg0NCwgMHgwNSwKLQkweDZGLCAweDAwLCAweDBDLCAweDA2LCAweDY4LCAweDAwLCAweEUwLCAweDA3LAotCTB4MDQsIDB4MDEsIDB4RTgsIDB4MEIsIDB4MEEsIDB4MDYsIDB4RTgsIDB4MDcsCi0JMHgwMCwgMHgwMCwgMHhFMCwgMHgwNywgMHgwMCwgMHgwMiwgMHhFMCwgMHgwNywKLQkweEVDLCAweDAxLCAweEUwLCAweDA3LCAweEZDLCAweEZGLCAweDk3LCAweENGLAotCTB4RTcsIDB4MDcsIDB4RkYsIDB4RkYsIDB4RkEsIDB4MDUsIDB4RUYsIDB4MDcsCi0JMHgwMCwgMHgwMCwgMHgwQiwgMHgwNiwgMHhFNywgMHgwNywgMHgwRSwgMHgwNiwKLQkweDI0LCAweDAxLCAweEU3LCAweDA3LCAweDBFLCAweDA2LCAweEZFLCAweDA1LAotCTB4RTcsIDB4MDcsIDB4NDAsIDB4MDAsIDB4MjYsIDB4MDEsIDB4RTcsIDB4MDcsCi0JMHg0MCwgMHgwMCwgMHgwNCwgMHgwNiwgMHhFNywgMHgwNywgMHgwNywgMHgwMCwKLQkweDkyLCAweEMwLCAweDk3LCAweENGLCAweEVGLCAweDA3LCAweDAyLCAweDAwLAotCTB4MEIsIDB4MDYsIDB4OUYsIDB4QUYsIDB4NzgsIDB4MDEsIDB4RUYsIDB4NzcsCi0JMHg4MCwgMHgwMCwgMHgwNywgMHgwNiwgMHg5RiwgMHhDMCwgMHgxNCwgMHgwNCwKLQkweEVGLCAweDc3LCAweDAxLCAweDAwLCAweDA3LCAweDA2LCAweDM3LCAweEMwLAotCTB4RUYsIDB4NzcsIDB4MDEsIDB4MDAsIDB4MEQsIDB4MDYsIDB4MEYsIDB4QzEsCi0JMHhFRiwgMHgwNywgMHgwMSwgMHgwMCwgMHgwRCwgMHgwNiwgMHhDMCwgMHgwNywKLQkweDAyLCAweDAwLCAweEMxLCAweDA3LCAweDMwLCAweDAwLCAweDlGLCAweEFGLAotCTB4MjgsIDB4MDUsIDB4QzAsIDB4MDcsIDB4MDEsIDB4MDAsIDB4QzEsIDB4MDcsCi0JMHgwMiwgMHgwMCwgMHg5RiwgMHhBRiwgMHgyOCwgMHgwNSwgMHhDOCwgMHgwNywKLQkweEZGLCAweDRGLCAweDlGLCAweEFGLCAweEE4LCAweDA1LCAweEMwLCAweDA3LAotCTB4MzgsIDB4MDAsIDB4OUYsIDB4QUYsIDB4NDQsIDB4MDUsIDB4QzEsIDB4NzcsCi0JMHgwMywgMHgwMCwgMHgwMiwgMHhDMSwgMHgwOCwgMHhEQSwgMHg3NSwgMHhDMSwKLQkweEMxLCAweDc3LCAweDAxLCAweDAwLCAweDBBLCAweEMxLCAweEMwLCAweDA3LAotCTB4MDEsIDB4MDAsIDB4QzEsIDB4MDcsIDB4MDIsIDB4MDAsIDB4OUYsIDB4QUYsCi0JMHgyOCwgMHgwNSwgMHhFRiwgMHgwNywgMHgwMSwgMHgwMCwgMHgwNiwgMHgwNiwKLQkweDJDLCAweENGLCAweEMwLCAweDA3LCAweDAxLCAweDAwLCAweEMxLCAweDA3LAotCTB4MDQsIDB4MDAsIDB4OUYsIDB4QUYsIDB4MjgsIDB4MDUsIDB4RUYsIDB4MDcsCi0JMHgwMCwgMHgwMCwgMHgwNiwgMHgwNiwgMHgyMiwgMHhDRiwgMHhFRiwgMHgwNywKLQkweDAwLCAweDAwLCAweDBELCAweDA2LCAweEVGLCAweDU3LCAweDAxLCAweDAwLAotCTB4MDYsIDB4MDYsIDB4MUIsIDB4QzAsIDB4QzAsIDB4MDcsIDB4MDEsIDB4MDAsCi0JMHhDMSwgMHgwNywgMHgwMSwgMHgwMCwgMHg5RiwgMHhBRiwgMHgyOCwgMHgwNSwKLQkweEMwLCAweDA3LCAweDAyLCAweDAwLCAweEMxLCAweDA3LCAweDMwLCAweDAwLAotCTB4OUYsIDB4QUYsIDB4MjgsIDB4MDUsIDB4QzgsIDB4MDcsIDB4RkYsIDB4NEYsCi0JMHg5RiwgMHhBRiwgMHhBOCwgMHgwNSwgMHhDMCwgMHgwNywgMHgzOCwgMHgwMCwKLQkweDlGLCAweEFGLCAweDQ0LCAweDA1LCAweEMxLCAweDY3LCAweDAzLCAweDAwLAotCTB4QzEsIDB4NTcsIDB4MDMsIDB4MDAsIDB4MDIsIDB4QzAsIDB4MDgsIDB4REEsCi0JMHg3MywgMHhDMSwgMHhDMCwgMHgwNywgMHgwMiwgMHgwMCwgMHhDMSwgMHgwNywKLQkweDEyLCAweDAwLCAweEVGLCAweDU3LCAweDAwLCAweDAwLCAweDA2LCAweDA2LAotCTB4MDIsIDB4QzAsIDB4QzEsIDB4MDcsIDB4MjMsIDB4MDAsIDB4OUYsIDB4QUYsCi0JMHgyOCwgMHgwNSwgMHhDMCwgMHgwNywgMHgxNCwgMHgwMCwgMHhDMSwgMHgwQiwKLQkweEVBLCAweDA1LCAweDlGLCAweEFGLCAweDI4LCAweDA1LCAweEMwLCAweDA3LAotCTB4M0UsIDB4MDAsIDB4OUYsIDB4QUYsIDB4MEEsIDB4MDUsIDB4RTcsIDB4MDksCi0JMHhFNCwgMHgwNSwgMHhGQSwgMHgwNSwgMHgyNywgMHhEOCwgMHhGQSwgMHgwNSwKLQkweEU3LCAweDA3LCAweDBFLCAweDA2LCAweEZDLCAweDA1LCAweEU3LCAweDA3LAotCTB4NEUsIDB4MDYsIDB4MDAsIDB4MDYsIDB4RTcsIDB4MDcsIDB4NDAsIDB4MDAsCi0JMHgwMiwgMHgwNiwgMHg5RiwgMHhBRiwgMHg2NiwgMHgwNSwgMHg5RiwgMHhBRiwKLQkweEM2LCAweDAwLCAweDk3LCAweENGLCAweEMxLCAweDBCLCAweEUyLCAweDA1LAotCTB4NDEsIDB4RDAsIDB4MDEsIDB4RDIsIDB4QzEsIDB4MTcsIDB4MjMsIDB4MDAsCi0JMHg5RiwgMHhBRiwgMHhEQywgMHgwNCwgMHhDMCwgMHgwNywgMHgwNCwgMHgwMCwKLQkweEMxLCAweDBCLCAweEUzLCAweDA1LCAweDlGLCAweEFGLCAweDI4LCAweDA1LAotCTB4QzAsIDB4MDcsIDB4MDYsIDB4MDAsIDB4QzEsIDB4MDksIDB4RTYsIDB4MDUsCi0JMHg5RiwgMHhBRiwgMHgyOCwgMHgwNSwgMHhDMCwgMHgwNywgMHgwNywgMHgwMCwKLQkweEMxLCAweDA5LCAweEU2LCAweDA1LCAweEMxLCAweEQxLCAweDlGLCAweEFGLAotCTB4MjgsIDB4MDUsIDB4QzAsIDB4MDcsIDB4MEIsIDB4MDAsIDB4QzEsIDB4MDksCi0JMHhFOCwgMHgwNSwgMHg5RiwgMHhBRiwgMHgyOCwgMHgwNSwgMHhDMCwgMHgwNywKLQkweDBDLCAweDAwLCAweEMxLCAweDA5LCAweEU4LCAweDA1LCAweEMxLCAweEQxLAotCTB4OUYsIDB4QUYsIDB4MjgsIDB4MDUsIDB4QzAsIDB4MDcsIDB4MEQsIDB4MDAsCi0JMHhDMSwgMHgwNywgMHgwOSwgMHgwMCwgMHg5RiwgMHhBRiwgMHgyOCwgMHgwNSwKLQkweEMwLCAweDA3LCAweDAzLCAweDAwLCAweEMxLCAweDA3LCAweDMyLCAweDAwLAotCTB4OUYsIDB4QUYsIDB4MjgsIDB4MDUsIDB4QzAsIDB4MDcsIDB4MEYsIDB4MDAsCi0JMHhDMSwgMHgwNywgMHgwMCwgMHgwMCwgMHg5RiwgMHhBRiwgMHgyOCwgMHgwNSwKLQkweDk3LCAweENGLCAweEU3LCAweDY3LCAweEZGLCAweEQ5LCAweDI0LCAweEMwLAotCTB4QzgsIDB4MDcsIDB4MEEsIDB4MDAsIDB4NDAsIDB4MDAsIDB4QzAsIDB4NjcsCi0JMHgwMCwgMHgwMiwgMHgyNywgMHg4MCwgMHgyNCwgMHhDMCwgMHhFNywgMHg4NywKLQkweDAwLCAweDA0LCAweDI0LCAweEMwLCAweEU3LCAweDY3LCAweEZGLCAweEY5LAotCTB4MjQsIDB4QzAsIDB4MDEsIDB4RDIsIDB4MDgsIDB4REEsIDB4NzIsIDB4QzEsCi0JMHhFNywgMHg4NywgMHgwMCwgMHgyMCwgMHgyNCwgMHhDMCwgMHg5NywgMHhDRiwKLQkweDI3LCAweDAwLCAweDFFLCAweEMwLCAweEU3LCAweDg3LCAweEZGLCAweDAwLAotCTB4MjIsIDB4QzAsIDB4RTcsIDB4NjcsIDB4N0YsIDB4RkYsIDB4MjQsIDB4QzAsCi0JMHhFNywgMHg4NywgMHg4MCwgMHgwMCwgMHgyNCwgMHhDMCwgMHhFNywgMHg4NywKLQkweDgwLCAweDAwLCAweDI0LCAweEMwLCAweDk3LCAweENGLCAweDlGLCAweEFGLAotCTB4MEEsIDB4MDUsIDB4NjcsIDB4MDAsIDB4MUUsIDB4QzAsIDB4RTcsIDB4NjcsCi0JMHhCRiwgMHhGRiwgMHgyNCwgMHhDMCwgMHhFNywgMHg4NywgMHg0MCwgMHgwMCwKLQkweDI0LCAweEMwLCAweEU3LCAweDg3LCAweDQwLCAweDAwLCAweDI0LCAweEMwLAotCTB4OTcsIDB4Q0YsIDB4OUYsIDB4QUYsIDB4MEEsIDB4MDUsIDB4RTcsIDB4NjcsCi0JMHgwMCwgMHhGRiwgMHgyMiwgMHhDMCwgMHhFNywgMHg2NywgMHhGRiwgMHhGRSwKLQkweDI0LCAweEMwLCAweEU3LCAweDY3LCAweEZGLCAweEZFLCAweDI0LCAweEMwLAotCTB4QzEsIDB4MDksIDB4MjAsIDB4QzAsIDB4RTcsIDB4ODcsIDB4MDAsIDB4MDEsCi0JMHgyNCwgMHhDMCwgMHg5NywgMHhDRiwgMHhDMCwgMHgwNywgMHg0MCwgMHgwMCwKLQkweEM4LCAweDA5LCAweEZDLCAweDA1LCAweEU3LCAweDY3LCAweDAwLCAweEZGLAotCTB4MjIsIDB4QzAsIDB4RTcsIDB4NjcsIDB4RkYsIDB4RkUsIDB4MjQsIDB4QzAsCi0JMHhFNywgMHg2NywgMHhCRiwgMHhGRiwgMHgyNCwgMHhDMCwgMHhFNywgMHg2NywKLQkweEJGLCAweEZGLCAweDI0LCAweEMwLCAweDAwLCAweERBLCAweEU4LCAweDA5LAotCTB4MjAsIDB4QzAsIDB4RTcsIDB4ODcsIDB4NDAsIDB4MDAsIDB4MjQsIDB4QzAsCi0JMHhFNywgMHg4NywgMHg0MCwgMHgwMCwgMHgyNCwgMHhDMCwgMHgwMCwgMHhEQSwKLQkweEU4LCAweDA5LCAweDIwLCAweEMwLCAweDZELCAweEMxLCAweEU3LCAweDg3LAotCTB4MDAsIDB4MDEsIDB4MjQsIDB4QzAsIDB4OTcsIDB4Q0YsIDB4RTcsIDB4MDcsCi0JMHgzMiwgMHgwMCwgMHgxMiwgMHhDMCwgMHhFNywgMHg3NywgMHgwMCwgMHg4MCwKLQkweDEyLCAweEMwLCAweDdDLCAweEMwLCAweDk3LCAweENGLCAweEU3LCAweDA3LAotCTB4MjAsIDB4NEUsIDB4MTIsIDB4QzAsIDB4RTcsIDB4NzcsIDB4MDAsIDB4ODAsCi0JMHgxMiwgMHhDMCwgMHg3QywgMHhDMCwgMHg5NywgMHhDRiwgMHgwOSwgMHgwMiwKLQkweDE5LCAweDAwLCAweDAxLCAweDAxLCAweDAwLCAweDgwLCAweDk2LCAweDA5LAotCTB4MDQsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwNywgMHgwNSwgMHg4MSwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotfTsKLQotc3RhdGljIHVuc2lnbmVkIGNoYXIgc2V0dXA1W10gPSB7Ci0JMHhCNiwgMHhDMywgMHgyRiwgMHgwMSwgMHgwMywgMHg2NCwgMHgwRSwgMHgwMCwKLQkweDE0LCAweDAwLCAweDFBLCAweDAwLCAweDIwLCAweDAwLCAweDI2LCAweDAwLAotCTB4NEEsIDB4MDAsIDB4NjQsIDB4MDAsIDB4NkEsIDB4MDAsIDB4OTIsIDB4MDAsCi0JMHg5QSwgMHgwMCwgMHhBMCwgMHgwMCwgMHhCMiwgMHgwMCwgMHhCOCwgMHgwMCwKLQkweEJFLCAweDAwLCAweEMyLCAweDAwLCAweEM4LCAweDAwLCAweENFLCAweDAwLAotCTB4REMsIDB4MDAsIDB4REEsIDB4MDAsIDB4RTIsIDB4MDAsIDB4RTAsIDB4MDAsCi0JMHhFOCwgMHgwMCwgMHhFNiwgMHgwMCwgMHhFRSwgMHgwMCwgMHhFQywgMHgwMCwKLQkweEYyLCAweDAwLCAweEY4LCAweDAwLCAweDAyLCAweDAxLCAweDBBLCAweDAxLAotCTB4MEUsIDB4MDEsIDB4MTIsIDB4MDEsIDB4MUUsIDB4MDEsIDB4MjIsIDB4MDEsCi0JMHgyOCwgMHgwMSwgMHgyQywgMHgwMSwgMHgzMiwgMHgwMSwgMHgzNiwgMHgwMSwKLQkweDQ0LCAweDAxLCAweDUwLCAweDAxLCAweDVFLCAweDAxLCAweDcyLCAweDAxLAotCTB4NzYsIDB4MDEsIDB4N0EsIDB4MDEsIDB4ODAsIDB4MDEsIDB4ODgsIDB4MDEsCi0JMHg4QywgMHgwMSwgMHg5NCwgMHgwMSwgMHg5QywgMHgwMSwgMHhBMCwgMHgwMSwKLQkweEE0LCAweDAxLCAweEFBLCAweDAxLCAweEIwLCAweDAxLCAweEI0LCAweDAxLAotCTB4QkEsIDB4MDEsIDB4RDAsIDB4MDEsIDB4REEsIDB4MDEsIDB4RjYsIDB4MDEsCi0JMHhGQSwgMHgwMSwgMHgwMiwgMHgwMiwgMHgzNCwgMHgwMiwgMHgzQywgMHgwMiwKLQkweDQ0LCAweDAyLCAweDRBLCAweDAyLCAweDUwLCAweDAyLCAweDU2LCAweDAyLAotCTB4NzQsIDB4MDIsIDB4NzgsIDB4MDIsIDB4N0UsIDB4MDIsIDB4ODQsIDB4MDIsCi0JMHg4QSwgMHgwMiwgMHg4OCwgMHgwMiwgMHg5MCwgMHgwMiwgMHg4RSwgMHgwMiwKLQkweDk0LCAweDAyLCAweEEyLCAweDAyLCAweEE4LCAweDAyLCAweEFFLCAweDAyLAotCTB4QjQsIDB4MDIsIDB4QkEsIDB4MDIsIDB4QjgsIDB4MDIsIDB4QzAsIDB4MDIsCi0JMHhCRSwgMHgwMiwgMHhDNCwgMHgwMiwgMHhEMCwgMHgwMiwgMHhENCwgMHgwMiwKLQkweEUwLCAweDAyLCAweEU2LCAweDAyLCAweEVFLCAweDAyLCAweEY4LCAweDAyLAotCTB4RkMsIDB4MDIsIDB4MDYsIDB4MDMsIDB4MUUsIDB4MDMsIDB4MjQsIDB4MDMsCi0JMHgyOCwgMHgwMywgMHgzMCwgMHgwMywgMHgyRSwgMHgwMywgMHgzQywgMHgwMywKLQkweDRBLCAweDAzLCAweDRFLCAweDAzLCAweDU0LCAweDAzLCAweDU4LCAweDAzLAotCTB4NUUsIDB4MDMsIDB4NjYsIDB4MDMsIDB4NkUsIDB4MDMsIDB4N0EsIDB4MDMsCi0JMHg4NiwgMHgwMywgMHg4RSwgMHgwMywgMHg5NiwgMHgwMywgMHhCMiwgMHgwMywKLQkweEI4LCAweDAzLCAweEM2LCAweDAzLCAweENDLCAweDAzLCAweEQ0LCAweDAzLAotCTB4REEsIDB4MDMsIDB4RTgsIDB4MDMsIDB4RjQsIDB4MDMsIDB4RkMsIDB4MDMsCi0JMHgwNCwgMHgwNCwgMHgyMCwgMHgwNCwgMHgyQSwgMHgwNCwgMHgzMiwgMHgwNCwKLQkweDM2LCAweDA0LCAweDNFLCAweDA0LCAweDQ0LCAweDA0LCAweDQyLCAweDA0LAotCTB4NDgsIDB4MDQsIDB4NEUsIDB4MDQsIDB4NEMsIDB4MDQsIDB4NTQsIDB4MDQsCi0JMHg1MiwgMHgwNCwgMHg1QSwgMHgwNCwgMHg1RSwgMHgwNCwgMHg2MiwgMHgwNCwKLQkweDY4LCAweDA0LCAweDc0LCAweDA0LCAweDdDLCAweDA0LCAweDgwLCAweDA0LAotCTB4ODgsIDB4MDQsIDB4OEMsIDB4MDQsIDB4OTQsIDB4MDQsIDB4OUEsIDB4MDQsCi0JMHhBMiwgMHgwNCwgMHhBNiwgMHgwNCwgMHhBRSwgMHgwNCwgMHhCNCwgMHgwNCwKLQkweEMwLCAweDA0LCAweENDLCAweDA0LCAweEQ4LCAweDA0LCAweDJBLCAweDA1LAotCTB4NDYsIDB4MDUsIDB4NkMsIDB4MDUsIDB4MDAsIDB4MDAKLX07Ci0KIC8qIHJ2bWFsbG9jIC8gcnZmcmVlIGNvcGllZCBmcm9tIHVzYnZpZGVvLmMKICAqCiAgKiBOb3Qgc3VyZSB3aHkgdGhlc2UgYXJlIG5vdCB5ZXQgbm9uLXN0YXRpY3Mgd2hpY2ggSSBjYW4gcmVmZXJlbmNlIHRocm91Z2gKQEAgLTQ2NCwyOCArMTg4LDI4IEBACiBzdGF0aWMgaW50CiBpbml0aWFsaXplX2NhbWVyYShzdHJ1Y3QgdmljYW1fY2FtZXJhICpjYW0pCiB7Ci0JY29uc3Qgc3RydWN0IHsKLQkJdTggKmRhdGE7Ci0JCXUzMiBzaXplOwotCX0gZmlybXdhcmVbXSA9IHsKLQkJeyAuZGF0YSA9IHNldHVwMSwgLnNpemUgPSBzaXplb2Yoc2V0dXAxKSB9LAotCQl7IC5kYXRhID0gc2V0dXAyLCAuc2l6ZSA9IHNpemVvZihzZXR1cDIpIH0sCi0JCXsgLmRhdGEgPSBzZXR1cDMsIC5zaXplID0gc2l6ZW9mKHNldHVwMykgfSwKLQkJeyAuZGF0YSA9IHNldHVwNCwgLnNpemUgPSBzaXplb2Yoc2V0dXA0KSB9LAotCQl7IC5kYXRhID0gc2V0dXA1LCAuc2l6ZSA9IHNpemVvZihzZXR1cDUpIH0sCi0JCXsgLmRhdGEgPSBzZXR1cDMsIC5zaXplID0gc2l6ZW9mKHNldHVwMykgfSwKLQkJeyAuZGF0YSA9IE5VTEwsIC5zaXplID0gMCB9Ci0JfTsKKwlpbnQgZXJyOworCWNvbnN0IHN0cnVjdCBpaGV4X2JpbnJlYyAqcmVjOworCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZnc7CiAKLQlpbnQgZXJyLCBpOworCWVyciA9IHJlcXVlc3RfaWhleF9maXJtd2FyZSgmZncsICJ2aWNhbS9maXJtd2FyZS5mdyIsICZjYW0tPnVkZXYtPmRldik7CisJaWYgKGVycikgeworCQlwcmludGsoS0VSTl9FUlIgIkZhaWxlZCB0byBsb2FkIFwidmljYW0vZmlybXdhcmUuZndcIjogJWRcbiIsCisJCSAgICAgICBlcnIpOworCQlyZXR1cm4gZXJyOworCX0KIAotCWZvciAoaSA9IDAsIGVyciA9IDA7IGZpcm13YXJlW2ldLmRhdGEgJiYgIWVycjsgaSsrKSB7Ci0JCW1lbWNweShjYW0tPmNudHJsYnVmLCBmaXJtd2FyZVtpXS5kYXRhLCBmaXJtd2FyZVtpXS5zaXplKTsKKwlmb3IgKHJlYyA9ICh2b2lkICopZnctPmRhdGE7IHJlYzsgcmVjID0gaWhleF9uZXh0X2JpbnJlYyhyZWMpKSB7CisJCW1lbWNweShjYW0tPmNudHJsYnVmLCByZWMtPmRhdGEsIGJlMTZfdG9fY3B1KHJlYy0+bGVuKSk7CiAKIAkJZXJyID0gc2VuZF9jb250cm9sX21zZyhjYW0sIDB4ZmYsIDAsIDAsCi0JCQkJICAgICAgIGNhbS0+Y250cmxidWYsIGZpcm13YXJlW2ldLnNpemUpOworCQkJCSAgICAgICBjYW0tPmNudHJsYnVmLCBiZTE2X3RvX2NwdShyZWMtPmxlbikpOworCQlpZiAoZXJyKQorCQkJYnJlYWs7CiAJfQogCisJcmVsZWFzZV9maXJtd2FyZShmdyk7CisKIAlyZXR1cm4gZXJyOwogfQogCkBAIC0xMjI2LDMgKzk1MCw0IEBACiBNT0RVTEVfQVVUSE9SKERSSVZFUl9BVVRIT1IpOwogTU9EVUxFX0RFU0NSSVBUSU9OKERSSVZFUl9ERVNDKTsKIE1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKK01PRFVMRV9GSVJNV0FSRSgidmljYW0vZmlybXdhcmUuZnciKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvdmlkZW8vdmlkZW9kZXYuYyBiL2RyaXZlcnMvbWVkaWEvdmlkZW8vdmlkZW9kZXYuYwppbmRleCA2N2E2NjFjLi43NjQ5ODYwIDEwMDY0NAotLS0gYS9kcml2ZXJzL21lZGlhL3ZpZGVvL3ZpZGVvZGV2LmMKKysrIGIvZHJpdmVycy9tZWRpYS92aWRlby92aWRlb2Rldi5jCkBAIC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L2ttb2QuaD4KICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogI2luY2x1ZGUgPGFzbS9zeXN0ZW0uaD4KIApAQCAtNDQyLDYgKzQ0Myw3IEBACiAKIAlpZihtaW5vcj49VklERU9fTlVNX0RFVklDRVMpCiAJCXJldHVybiAtRU5PREVWOworCWxvY2tfa2VybmVsKCk7CiAJbXV0ZXhfbG9jaygmdmlkZW9kZXZfbG9jayk7CiAJdmZsPXZpZGVvX2RldmljZVttaW5vcl07CiAJaWYodmZsPT1OVUxMKSB7CkBAIC00NTEsNiArNDUzLDcgQEAKIAkJdmZsPXZpZGVvX2RldmljZVttaW5vcl07CiAJCWlmICh2Zmw9PU5VTEwpIHsKIAkJCW11dGV4X3VubG9jaygmdmlkZW9kZXZfbG9jayk7CisJCQl1bmxvY2tfa2VybmVsKCk7CiAJCQlyZXR1cm4gLUVOT0RFVjsKIAkJfQogCX0KQEAgLTQ2NCw2ICs0NjcsNyBAQAogCX0KIAlmb3BzX3B1dChvbGRfZm9wcyk7CiAJbXV0ZXhfdW5sb2NrKCZ2aWRlb2Rldl9sb2NrKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIGVycjsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZXNzYWdlL2Z1c2lvbi9tcHRiYXNlLmMgYi9kcml2ZXJzL21lc3NhZ2UvZnVzaW9uL21wdGJhc2UuYwppbmRleCBkYjNjODkyLi5kNDBkNmQxIDEwMDY0NAotLS0gYS9kcml2ZXJzL21lc3NhZ2UvZnVzaW9uL21wdGJhc2UuYworKysgYi9kcml2ZXJzL21lc3NhZ2UvZnVzaW9uL21wdGJhc2UuYwpAQCAtMTY4Niw5ICsxNjg2LDE0IEBACiAJCWlvYy0+YnVzX3R5cGUgPSBTQVM7CiAJfQogCi0JaWYgKGlvYy0+YnVzX3R5cGUgPT0gU0FTICYmIG1wdF9tc2lfZW5hYmxlID09IC0xKQotCQlpb2MtPm1zaV9lbmFibGUgPSAxOwotCWVsc2UKKwlpZiAobXB0X21zaV9lbmFibGUgPT0gLTEpIHsKKwkJLyogRW5hYmxlIG9uIFNBUywgZGlzYWJsZSBvbiBGQyBhbmQgU1BJICovCisJCWlmIChpb2MtPmJ1c190eXBlID09IFNBUykKKwkJCWlvYy0+bXNpX2VuYWJsZSA9IDE7CisJCWVsc2UKKwkJCWlvYy0+bXNpX2VuYWJsZSA9IDA7CisJfSBlbHNlCisJCS8qIGZvbGxvdyBmbGFnOiAwIC0gZGlzYWJsZTsgMSAtIGVuYWJsZSAqLwogCQlpb2MtPm1zaV9lbmFibGUgPSBtcHRfbXNpX2VuYWJsZTsKIAogCWlmIChpb2MtPmVycmF0YV9mbGFnXzEwNjQpCmRpZmYgLS1naXQgYS9kcml2ZXJzL21lc3NhZ2UvZnVzaW9uL21wdGN0bC5jIGIvZHJpdmVycy9tZXNzYWdlL2Z1c2lvbi9tcHRjdGwuYwppbmRleCBlNjMwYjUwLi5jNTk0NjU2IDEwMDY0NAotLS0gYS9kcml2ZXJzL21lc3NhZ2UvZnVzaW9uL21wdGN0bC5jCisrKyBiL2RyaXZlcnMvbWVzc2FnZS9mdXNpb24vbXB0Y3RsLmMKQEAgLTU0OCwxMSArNTQ4LDE1IEBACiBtcHRjdGxfZmFzeW5jKGludCBmZCwgc3RydWN0IGZpbGUgKmZpbGVwLCBpbnQgbW9kZSkKIHsKIAlNUFRfQURBUFRFUgkqaW9jOworCWludCByZXQ7CiAKKwlsb2NrX2tlcm5lbCgpOwogCWxpc3RfZm9yX2VhY2hfZW50cnkoaW9jLCAmaW9jX2xpc3QsIGxpc3QpCiAJCWlvYy0+YWVuX2V2ZW50X3JlYWRfZmxhZz0wOwogCi0JcmV0dXJuIGZhc3luY19oZWxwZXIoZmQsIGZpbGVwLCBtb2RlLCAmYXN5bmNfcXVldWUpOworCXJldCA9IGZhc3luY19oZWxwZXIoZmQsIGZpbGVwLCBtb2RlLCAmYXN5bmNfcXVldWUpOworCXVubG9ja19rZXJuZWwoKTsKKwlyZXR1cm4gcmV0OwogfQogCiBzdGF0aWMgaW50CmRpZmYgLS1naXQgYS9kcml2ZXJzL21lc3NhZ2UvZnVzaW9uL21wdHNwaS5jIGIvZHJpdmVycy9tZXNzYWdlL2Z1c2lvbi9tcHRzcGkuYwppbmRleCAyNWJjZmNmLi4xZWZmY2E0IDEwMDY0NAotLS0gYS9kcml2ZXJzL21lc3NhZ2UvZnVzaW9uL21wdHNwaS5jCisrKyBiL2RyaXZlcnMvbWVzc2FnZS9mdXNpb24vbXB0c3BpLmMKQEAgLTEyNjYsMTMgKzEyNjYsMTggQEAKIHN0YXRpYyBpbnQKIG1wdHNwaV9pb2NfcmVzZXQoTVBUX0FEQVBURVIgKmlvYywgaW50IHJlc2V0X3BoYXNlKQogewotCXN0cnVjdCBfTVBUX1NDU0lfSE9TVCAqaGQgPSBzaG9zdF9wcml2KGlvYy0+c2gpOwogCWludCByYzsKIAogCXJjID0gbXB0c2NzaWhfaW9jX3Jlc2V0KGlvYywgcmVzZXRfcGhhc2UpOwogCi0JaWYgKHJlc2V0X3BoYXNlID09IE1QVF9JT0NfUE9TVF9SRVNFVCkKKwkvKiBvbmx5IHRyeSB0byBkbyBhIHJlbmVnb3RpYXRpb24gaWYgd2UncmUgcHJvcGVybHkgc2V0IHVwCisJICogaWYgd2UgZ2V0IGFuIGlvYyBmYXVsdCBvbiBicmluZ3VwLCBpb2MtPnNoIHdpbGwgYmUgTlVMTCAqLworCWlmIChyZXNldF9waGFzZSA9PSBNUFRfSU9DX1BPU1RfUkVTRVQgJiYKKwkgICAgaW9jLT5zaCkgeworCQlzdHJ1Y3QgX01QVF9TQ1NJX0hPU1QgKmhkID0gc2hvc3RfcHJpdihpb2MtPnNoKTsKKwogCQltcHRzcGlfZHZfcmVuZWdvdGlhdGUoaGQpOworCX0KIAogCXJldHVybiByYzsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVzc2FnZS9pMm8vaTJvX2NvbmZpZy5jIGIvZHJpdmVycy9tZXNzYWdlL2kyby9pMm9fY29uZmlnLmMKaW5kZXggYzBmYjc3ZC4uNDIzOGRlOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZXNzYWdlL2kyby9pMm9fY29uZmlnLmMKKysrIGIvZHJpdmVycy9tZXNzYWdlL2kyby9pMm9fY29uZmlnLmMKQEAgLTEwNjEsNiArMTA2MSw3IEBACiAJaWYgKCF0bXApCiAJCXJldHVybiAtRU5PTUVNOwogCisJbG9ja19rZXJuZWwoKTsKIAlmaWxlLT5wcml2YXRlX2RhdGEgPSAodm9pZCAqKShpMm9fY2ZnX2luZm9faWQrKyk7CiAJdG1wLT5mcCA9IGZpbGU7CiAJdG1wLT5mYXN5bmMgPSBOVUxMOwpAQCAtMTA3NCw2ICsxMDc1LDcgQEAKIAlzcGluX2xvY2tfaXJxc2F2ZSgmaTJvX2NvbmZpZ19sb2NrLCBmbGFncyk7CiAJb3Blbl9maWxlcyA9IHRtcDsKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpMm9fY29uZmlnX2xvY2ssIGZsYWdzKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAKIAlyZXR1cm4gMDsKIH0KQEAgLTEwODIsMTUgKzEwODQsMTcgQEAKIHsKIAl1bG9uZyBpZCA9ICh1bG9uZykgZnAtPnByaXZhdGVfZGF0YTsKIAlzdHJ1Y3QgaTJvX2NmZ19pbmZvICpwOworCWludCByZXQgPSAtRUJBREY7CiAKKwlsb2NrX2tlcm5lbCgpOwogCWZvciAocCA9IG9wZW5fZmlsZXM7IHA7IHAgPSBwLT5uZXh0KQogCQlpZiAocC0+cV9pZCA9PSBpZCkKIAkJCWJyZWFrOwogCi0JaWYgKCFwKQotCQlyZXR1cm4gLUVCQURGOwotCi0JcmV0dXJuIGZhc3luY19oZWxwZXIoZmQsIGZwLCBvbiwgJnAtPmZhc3luYyk7CisJaWYgKHApCisJCXJldCA9IGZhc3luY19oZWxwZXIoZmQsIGZwLCBvbiwgJnAtPmZhc3luYyk7CisJdW5sb2NrX2tlcm5lbCgpOworCXJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyBpbnQgY2ZnX3JlbGVhc2Uoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCmRpZmYgLS1naXQgYS9kcml2ZXJzL21pc2MvYXRtZWxfcHdtLmMgYi9kcml2ZXJzL21pc2MvYXRtZWxfcHdtLmMKaW5kZXggMGQ1Y2UwMy4uNWI1YTE0ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9taXNjL2F0bWVsX3B3bS5jCisrKyBiL2RyaXZlcnMvbWlzYy9hdG1lbF9wd20uYwpAQCAtMzMyLDcgKzMzMiw3IEBACiAJcC0+YmFzZSA9IGlvcmVtYXAoci0+c3RhcnQsIHItPmVuZCAtIHItPnN0YXJ0ICsgMSk7CiAJaWYgKCFwLT5iYXNlKQogCQlnb3RvIGZhaWw7Ci0JcC0+Y2xrID0gY2xrX2dldCgmcGRldi0+ZGV2LCAibWNrIik7CisJcC0+Y2xrID0gY2xrX2dldCgmcGRldi0+ZGV2LCAicHdtX2NsayIpOwogCWlmIChJU19FUlIocC0+Y2xrKSkgewogCQlzdGF0dXMgPSBQVFJfRVJSKHAtPmNsayk7CiAJCXAtPmNsayA9IE5VTEw7CmRpZmYgLS1naXQgYS9kcml2ZXJzL21pc2MvaGRwdWZ0cnMvaGRwdV9jcHVzdGF0ZS5jIGIvZHJpdmVycy9taXNjL2hkcHVmdHJzL2hkcHVfY3B1c3RhdGUuYwppbmRleCBmZjUxYWI2Li4xNzZmZTRlIDEwMDY0NAotLS0gYS9kcml2ZXJzL21pc2MvaGRwdWZ0cnMvaGRwdV9jcHVzdGF0ZS5jCisrKyBiL2RyaXZlcnMvbWlzYy9oZHB1ZnRycy9oZHB1X2NwdXN0YXRlLmMKQEAgLTE3LDYgKzE3LDcgQEAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KICNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvbWlzY2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L3Byb2NfZnMuaD4KICNpbmNsdWRlIDxsaW51eC9oZHB1X2ZlYXR1cmVzLmg+CkBAIC0xNTEsNyArMTUyLDEzIEBACiAKIHN0YXRpYyBpbnQgY3B1c3RhdGVfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKLQlyZXR1cm4gY3B1c3RhdGVfZ2V0X3JlZigoZmlsZS0+Zl9mbGFncyAmIE9fRVhDTCkpOworCWludCByZXQ7CisKKwlsb2NrX2tlcm5lbCgpOworCXJldCA9IGNwdXN0YXRlX2dldF9yZWYoKGZpbGUtPmZfZmxhZ3MgJiBPX0VYQ0wpKTsKKwl1bmxvY2tfa2VybmVsKCk7CisKKwlyZXR1cm4gcmV0OwogfQogCiBzdGF0aWMgaW50IGNwdXN0YXRlX3JlbGVhc2Uoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCmRpZmYgLS1naXQgYS9kcml2ZXJzL21pc2MvcGhhbnRvbS5jIGIvZHJpdmVycy9taXNjL3BoYW50b20uYwppbmRleCA3MWQxYzg0Li4xODYxNjI0IDEwMDY0NAotLS0gYS9kcml2ZXJzL21pc2MvcGhhbnRvbS5jCisrKyBiL2RyaXZlcnMvbWlzYy9waGFudG9tLmMKQEAgLTIyLDYgKzIyLDcgQEAKICNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KICNpbmNsdWRlIDxsaW51eC9jZGV2Lmg+CiAjaW5jbHVkZSA8bGludXgvcGhhbnRvbS5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICNpbmNsdWRlIDxhc20vYXRvbWljLmg+CiAjaW5jbHVkZSA8YXNtL2lvLmg+CkBAIC0yMTIsMTMgKzIxMywxNyBAQAogCXN0cnVjdCBwaGFudG9tX2RldmljZSAqZGV2ID0gY29udGFpbmVyX29mKGlub2RlLT5pX2NkZXYsCiAJCQlzdHJ1Y3QgcGhhbnRvbV9kZXZpY2UsIGNkZXYpOwogCisJbG9ja19rZXJuZWwoKTsKIAlub25zZWVrYWJsZV9vcGVuKGlub2RlLCBmaWxlKTsKIAotCWlmIChtdXRleF9sb2NrX2ludGVycnVwdGlibGUoJmRldi0+b3Blbl9sb2NrKSkKKwlpZiAobXV0ZXhfbG9ja19pbnRlcnJ1cHRpYmxlKCZkZXYtPm9wZW5fbG9jaykpIHsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gLUVSRVNUQVJUU1lTOworCX0KIAogCWlmIChkZXYtPm9wZW5lZCkgewogCQltdXRleF91bmxvY2soJmRldi0+b3Blbl9sb2NrKTsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CiAKQEAgLTIyOSw3ICsyMzQsNyBAQAogCWF0b21pY19zZXQoJmRldi0+Y291bnRlciwgMCk7CiAJZGV2LT5vcGVuZWQrKzsKIAltdXRleF91bmxvY2soJmRldi0+b3Blbl9sb2NrKTsKLQorCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9taXNjL3NvbnktbGFwdG9wLmMgYi9kcml2ZXJzL21pc2Mvc29ueS1sYXB0b3AuYwppbmRleCAwMGU0OGUyLi42MDc3NWJlIDEwMDY0NAotLS0gYS9kcml2ZXJzL21pc2Mvc29ueS1sYXB0b3AuYworKysgYi9kcml2ZXJzL21pc2Mvc29ueS1sYXB0b3AuYwpAQCAtNDYsNiArNDYsNyBAQAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZXBhcmFtLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KICNpbmNsdWRlIDxsaW51eC9iYWNrbGlnaHQuaD4KICNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KQEAgLTE5MjcsOCArMTkyOCwxMCBAQAogc3RhdGljIGludCBzb255cGlfbWlzY19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogewogCS8qIEZsdXNoIGlucHV0IHF1ZXVlIG9uIGZpcnN0IG9wZW4gKi8KKwlsb2NrX2tlcm5lbCgpOwogCWlmIChhdG9taWNfaW5jX3JldHVybigmc29ueXBpX2NvbXBhdC5vcGVuX2NvdW50KSA9PSAxKQogCQlrZmlmb19yZXNldChzb255cGlfY29tcGF0LmZpZm8pOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9tbWMvaG9zdC9pbXhtbWMuYyBiL2RyaXZlcnMvbW1jL2hvc3QvaW14bW1jLmMKaW5kZXggOTVmMzNlOC4uZWVkMjExYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9tbWMvaG9zdC9pbXhtbWMuYworKysgYi9kcml2ZXJzL21tYy9ob3N0L2lteG1tYy5jCkBAIC00Miw2ICs0Miw3IEBACiAjaW5jbHVkZSA8bGludXgvbW1jL2hvc3QuaD4KICNpbmNsdWRlIDxsaW51eC9tbWMvY2FyZC5oPgogI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CisjaW5jbHVkZSA8bGludXgvY2xrLmg+CiAKICNpbmNsdWRlIDxhc20vZG1hLmg+CiAjaW5jbHVkZSA8YXNtL2lvLmg+CkBAIC05Miw2ICs5Myw4IEBACiAJdW5zaWduZWQgY2hhcgkJYWN0dWFsX2J1c193aWR0aDsKIAogCWludAkJCXByZXZfY21kX2NvZGU7CisKKwlzdHJ1Y3QgY2xrCQkqY2xrOwogfTsKIAogI2RlZmluZSBJTVhNQ0lfUEVORF9JUlFfYgkwCkBAIC04NDEsNyArODQ0LDcgQEAKIAkJLyogVGhlIHByZXNjYWxlciBpcyA1IGZvciBQRVJDTEsyIGVxdWFsIHRvIDk2TUh6CiAJCSAqIHRoZW4gOTZNSHogLyA1ID0gMTkuMiBNSHoKIAkJICovCi0JCWNsaz1pbXhfZ2V0X3BlcmNsazIoKTsKKwkJY2xrID0gY2xrX2dldF9yYXRlKGhvc3QtPmNsayk7CiAJCXByZXNjYWxlcj0oY2xrKyhDTEtfUkFURSo3KS84KS9DTEtfUkFURTsKIAkJc3dpdGNoKHByZXNjYWxlcikgewogCQljYXNlIDA6CkBAIC05OTQsNiArOTk3LDEzIEBACiAJaG9zdC0+cmVzID0gcjsKIAlob3N0LT5pcnEgPSBpcnE7CiAKKwlob3N0LT5jbGsgPSBjbGtfZ2V0KCZwZGV2LT5kZXYsICJwZXJjbGsyIik7CisJaWYgKElTX0VSUihob3N0LT5jbGspKSB7CisJCXJldCA9IFBUUl9FUlIoaG9zdC0+Y2xrKTsKKwkJZ290byBvdXQ7CisJfQorCWNsa19lbmFibGUoaG9zdC0+Y2xrKTsKKwogCWlteF9ncGlvX21vZGUoUEI4X1BGX1NEX0RBVDApOwogCWlteF9ncGlvX21vZGUoUEI5X1BGX1NEX0RBVDEpOwogCWlteF9ncGlvX21vZGUoUEIxMF9QRl9TRF9EQVQyKTsKQEAgLTEwMTcsOCArMTAyNyw4IEBACiAJaG9zdC0+aW1hc2sgPSBJTVhNQ0lfSU5UX01BU0tfREVGQVVMVDsKIAlNTUNfSU5UX01BU0sgPSBob3N0LT5pbWFzazsKIAotCi0JaWYoaW14X2RtYV9yZXF1ZXN0X2J5X3ByaW8oJmhvc3QtPmRtYSwgRFJJVkVSX05BTUUsIERNQV9QUklPX0xPVyk8MCl7CisJaG9zdC0+ZG1hID0gaW14X2RtYV9yZXF1ZXN0X2J5X3ByaW8oRFJJVkVSX05BTUUsIERNQV9QUklPX0xPVyk7CisJaWYoaG9zdC0+ZG1hIDwgMCkgewogCQlkZXZfZXJyKG1tY19kZXYoaG9zdC0+bW1jKSwgImlteF9kbWFfcmVxdWVzdF9ieV9wcmlvIGZhaWxlZFxuIik7CiAJCXJldCA9IC1FQlVTWTsKIAkJZ290byBvdXQ7CkBAIC0xMDUzLDYgKzEwNjMsMTAgQEAKIAkJCWlteF9kbWFfZnJlZShob3N0LT5kbWEpOwogCQkJaG9zdC0+ZG1hX2FsbG9jYXRlZD0wOwogCQl9CisJCWlmIChob3N0LT5jbGspIHsKKwkJCWNsa19kaXNhYmxlKGhvc3QtPmNsayk7CisJCQljbGtfcHV0KGhvc3QtPmNsayk7CisJCX0KIAl9CiAJaWYgKG1tYykKIAkJbW1jX2ZyZWVfaG9zdChtbWMpOwpAQCAtMTA4Miw2ICsxMDk2LDkgQEAKIAogCQl0YXNrbGV0X2tpbGwoJmhvc3QtPnRhc2tsZXQpOwogCisJCWNsa19kaXNhYmxlKGhvc3QtPmNsayk7CisJCWNsa19wdXQoaG9zdC0+Y2xrKTsKKwogCQlyZWxlYXNlX3Jlc291cmNlKGhvc3QtPnJlcyk7CiAKIAkJbW1jX2ZyZWVfaG9zdChtbWMpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tdGQvZnRsLmMgYi9kcml2ZXJzL210ZC9mdGwuYwppbmRleCA0YTc5YjE4Li41YzI5ODcyIDEwMDY0NAotLS0gYS9kcml2ZXJzL210ZC9mdGwuYworKysgYi9kcml2ZXJzL210ZC9mdGwuYwpAQCAtMTMwLDEwICsxMzAsNiBAQAogICAgIHVfaW50MTZfdAkJRGF0YVVuaXRzOwogICAgIHVfaW50MzJfdAkJQmxvY2tzUGVyVW5pdDsKICAgICBlcmFzZV91bml0X2hlYWRlcl90CWhlYWRlcjsKLSNpZiAwCi0gICAgcmVnaW9uX2luZm9fdAlyZWdpb247Ci0gICAgbWVtb3J5X2hhbmRsZV90CWhhbmRsZTsKLSNlbmRpZgogfSBwYXJ0aXRpb25fdDsKIAogLyogUGFydGl0aW9uIHN0YXRlIGZsYWdzICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL210ZC9tYXBzL29tYXBfbm9yLmMgYi9kcml2ZXJzL210ZC9tYXBzL29tYXBfbm9yLmMKaW5kZXggYzEyZDgwNS4uNjhlZWM2YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9tdGQvbWFwcy9vbWFwX25vci5jCisrKyBiL2RyaXZlcnMvbXRkL21hcHMvb21hcF9ub3IuYwpAQCAtNjAsMTMgKzYwLDIyIEBACiBzdGF0aWMgdm9pZCBvbWFwX3NldF92cHAoc3RydWN0IG1hcF9pbmZvICptYXAsIGludCBlbmFibGUpCiB7CiAJc3RhdGljIGludAljb3VudDsKKwl1MzIgbDsKIAotCWlmIChlbmFibGUpIHsKLQkJaWYgKGNvdW50KysgPT0gMCkKLQkJCU9NQVBfRU1JRlNfQ09ORklHX1JFRyB8PSBPTUFQX0VNSUZTX0NPTkZJR19XUDsKLQl9IGVsc2UgewotCQlpZiAoY291bnQgJiYgKC0tY291bnQgPT0gMCkpCi0JCQlPTUFQX0VNSUZTX0NPTkZJR19SRUcgJj0gfk9NQVBfRU1JRlNfQ09ORklHX1dQOworCWlmIChjcHVfY2xhc3NfaXNfb21hcDEoKSkgeworCQlpZiAoZW5hYmxlKSB7CisJCQlpZiAoY291bnQrKyA9PSAwKSB7CisJCQkJbCA9IG9tYXBfcmVhZGwoRU1JRlNfQ09ORklHKTsKKwkJCQlsIHw9IE9NQVBfRU1JRlNfQ09ORklHX1dQOworCQkJCW9tYXBfd3JpdGVsKGwsIEVNSUZTX0NPTkZJRyk7CisJCQl9CisJCX0gZWxzZSB7CisJCQlpZiAoY291bnQgJiYgKC0tY291bnQgPT0gMCkpIHsKKwkJCQlsID0gb21hcF9yZWFkbChFTUlGU19DT05GSUcpOworCQkJCWwgJj0gfk9NQVBfRU1JRlNfQ09ORklHX1dQOworCQkJCW9tYXBfd3JpdGVsKGwsIEVNSUZTX0NPTkZJRyk7CisJCQl9CisJCX0KIAl9CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbXRkL21hcHMvcGNtY2lhbXRkLmMgYi9kcml2ZXJzL210ZC9tYXBzL3BjbWNpYW10ZC5jCmluZGV4IDE5MTJkOTYuLjBjYzMxNjc1IDEwMDY0NAotLS0gYS9kcml2ZXJzL210ZC9tYXBzL3BjbWNpYW10ZC5jCisrKyBiL2RyaXZlcnMvbXRkL21hcHMvcGNtY2lhbXRkLmMKQEAgLTQ5OCwxNyArNDk4LDE0IEBACiAJaW50IGk7CiAJY29uZmlnX2luZm9fdCB0OwogCXN0YXRpYyBjaGFyICpwcm9iZXNbXSA9IHsgImplZGVjX3Byb2JlIiwgImNmaV9wcm9iZSIgfTsKLQljaXNpbmZvX3QgY2lzaW5mbzsKIAlpbnQgbmV3X25hbWUgPSAwOwogCiAJREVCVUcoMywgImxpbms9MHglcCIsIGxpbmspOwogCiAJREVCVUcoMiwgIlZhbGlkYXRpbmcgQ0lTIik7Ci0JcmV0ID0gcGNtY2lhX3ZhbGlkYXRlX2NpcyhsaW5rLCAmY2lzaW5mbyk7CisJcmV0ID0gcGNtY2lhX3ZhbGlkYXRlX2NpcyhsaW5rLCBOVUxMKTsKIAlpZihyZXQgIT0gQ1NfU1VDQ0VTUykgewogCQljc19lcnJvcihsaW5rLCBHZXRUdXBsZURhdGEsIHJldCk7Ci0JfSBlbHNlIHsKLQkJREVCVUcoMiwgIlZhbGlkYXRlQ0lTIGZvdW5kICVkIGNoYWlucyIsIGNpc2luZm8uQ2hhaW5zKTsKIAl9CiAKIAljYXJkX3NldHRpbmdzKGRldiwgbGluaywgJm5ld19uYW1lKTsKQEAgLTU2Myw5ICs1NjAsNyBAQAogCURFQlVHKDEsICJBbGxvY2F0ZWQgYSB3aW5kb3cgb2YgJWRLaUIiLCBkZXYtPndpbl9zaXplID4+IDEwKTsKIAogCS8qIEdldCB3cml0ZSBwcm90ZWN0IHN0YXR1cyAqLwotCUNTX0NIRUNLKEdldFN0YXR1cywgcGNtY2lhX2dldF9zdGF0dXMobGluaywgJnN0YXR1cykpOwotCURFQlVHKDIsICJzdGF0dXMgdmFsdWU6IDB4JXggd2luZG93IGhhbmRsZSA9IDB4JTguOGx4IiwKLQkgICAgICBzdGF0dXMuQ2FyZFN0YXRlLCAodW5zaWduZWQgbG9uZylsaW5rLT53aW4pOworCURFQlVHKDIsICJ3aW5kb3cgaGFuZGxlID0gMHglOC44bHgiLCAodW5zaWduZWQgbG9uZylsaW5rLT53aW4pOwogCWRldi0+d2luX2Jhc2UgPSBpb3JlbWFwKHJlcS5CYXNlLCByZXEuU2l6ZSk7CiAJaWYoIWRldi0+d2luX2Jhc2UpIHsKIAkJZXJyKCJpb3JlbWFwKCVsdSwgJXUpIGZhaWxlZCIsIHJlcS5CYXNlLCByZXEuU2l6ZSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL210ZC9tdGRjaGFyLmMgYi9kcml2ZXJzL210ZC9tdGRjaGFyLmMKaW5kZXggNWQzYWM1MS4uMTI5ZDQyOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9tdGQvbXRkY2hhci5jCisrKyBiL2RyaXZlcnMvbXRkL210ZGNoYXIuYwpAQCAtMTQsNiArMTQsNyBAQAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICNpbmNsdWRlIDxsaW51eC9tdGQvbXRkLmg+CiAjaW5jbHVkZSA8bGludXgvbXRkL2NvbXBhdG1hYy5oPgpAQCAtODYsNiArODcsNyBAQAogewogCWludCBtaW5vciA9IGltaW5vcihpbm9kZSk7CiAJaW50IGRldm51bSA9IG1pbm9yID4+IDE7CisJaW50IHJldCA9IDA7CiAJc3RydWN0IG10ZF9pbmZvICptdGQ7CiAJc3RydWN0IG10ZF9maWxlX2luZm8gKm1maTsKIApAQCAtOTgsMzEgKzEwMCwzOSBAQAogCWlmICgoZmlsZS0+Zl9tb2RlICYgMikgJiYgKG1pbm9yICYgMSkpCiAJCXJldHVybiAtRUFDQ0VTOwogCisJbG9ja19rZXJuZWwoKTsKIAltdGQgPSBnZXRfbXRkX2RldmljZShOVUxMLCBkZXZudW0pOwogCi0JaWYgKElTX0VSUihtdGQpKQotCQlyZXR1cm4gUFRSX0VSUihtdGQpOworCWlmIChJU19FUlIobXRkKSkgeworCQlyZXQgPSBQVFJfRVJSKG10ZCk7CisJCWdvdG8gb3V0OworCX0KIAogCWlmIChNVERfQUJTRU5UID09IG10ZC0+dHlwZSkgewogCQlwdXRfbXRkX2RldmljZShtdGQpOwotCQlyZXR1cm4gLUVOT0RFVjsKKwkJcmV0ID0gLUVOT0RFVjsKKwkJZ290byBvdXQ7CiAJfQogCiAJLyogWW91IGNhbid0IG9wZW4gaXQgUlcgaWYgaXQncyBub3QgYSB3cml0ZWFibGUgZGV2aWNlICovCiAJaWYgKChmaWxlLT5mX21vZGUgJiAyKSAmJiAhKG10ZC0+ZmxhZ3MgJiBNVERfV1JJVEVBQkxFKSkgewogCQlwdXRfbXRkX2RldmljZShtdGQpOwotCQlyZXR1cm4gLUVBQ0NFUzsKKwkJcmV0ID0gLUVBQ0NFUzsKKwkJZ290byBvdXQ7CiAJfQogCiAJbWZpID0ga3phbGxvYyhzaXplb2YoKm1maSksIEdGUF9LRVJORUwpOwogCWlmICghbWZpKSB7CiAJCXB1dF9tdGRfZGV2aWNlKG10ZCk7Ci0JCXJldHVybiAtRU5PTUVNOworCQlyZXQgPSAtRU5PTUVNOworCQlnb3RvIG91dDsKIAl9CiAJbWZpLT5tdGQgPSBtdGQ7CiAJZmlsZS0+cHJpdmF0ZV9kYXRhID0gbWZpOwogCi0JcmV0dXJuIDA7CitvdXQ6CisJdW5sb2NrX2tlcm5lbCgpOworCXJldHVybiByZXQ7CiB9IC8qIG10ZF9vcGVuICovCiAKIC8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tdGQvbmFuZC9vcmlvbl9uYW5kLmMgYi9kcml2ZXJzL210ZC9uYW5kL29yaW9uX25hbmQuYwppbmRleCA1OWUwNWExLi5lZTJhYzM5IDEwMDY0NAotLS0gYS9kcml2ZXJzL210ZC9uYW5kL29yaW9uX25hbmQuYworKysgYi9kcml2ZXJzL210ZC9uYW5kL29yaW9uX25hbmQuYwpAQCAtODUsNiArODUsOSBAQAogCW5jLT5jbWRfY3RybCA9IG9yaW9uX25hbmRfY21kX2N0cmw7CiAJbmMtPmVjYy5tb2RlID0gTkFORF9FQ0NfU09GVDsKIAorCWlmIChib2FyZC0+Y2hpcF9kZWxheSkKKwkJbmMtPmNoaXBfZGVsYXkgPSBib2FyZC0+Y2hpcF9kZWxheTsKKwogCWlmIChib2FyZC0+d2lkdGggPT0gMTYpCiAJCW5jLT5vcHRpb25zIHw9IE5BTkRfQlVTV0lEVEhfMTY7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbXRkL3ViaS9jZGV2LmMgYi9kcml2ZXJzL210ZC91YmkvY2Rldi5jCmluZGV4IDlkNmFhZTUuLjg5MTkzYmEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbXRkL3ViaS9jZGV2LmMKKysrIGIvZHJpdmVycy9tdGQvdWJpL2NkZXYuYwpAQCAtMzksNiArMzksNyBAQAogI2luY2x1ZGUgPGxpbnV4L3N0YXQuaD4KICNpbmNsdWRlIDxsaW51eC9pb2N0bC5oPgogI2luY2x1ZGUgPGxpbnV4L2NhcGFiaWxpdHkuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPG10ZC91YmktdXNlci5oPgogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAjaW5jbHVkZSA8YXNtL2RpdjY0Lmg+CkBAIC0xMDMsOSArMTA0LDEyIEBACiAJc3RydWN0IHViaV92b2x1bWVfZGVzYyAqZGVzYzsKIAlpbnQgdm9sX2lkID0gaW1pbm9yKGlub2RlKSAtIDEsIG1vZGUsIHViaV9udW07CiAKKwlsb2NrX2tlcm5lbCgpOwogCXViaV9udW0gPSB1YmlfbWFqb3IybnVtKGltYWpvcihpbm9kZSkpOwotCWlmICh1YmlfbnVtIDwgMCkKKwlpZiAodWJpX251bSA8IDApIHsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gdWJpX251bTsKKwl9CiAKIAlpZiAoZmlsZS0+Zl9tb2RlICYgRk1PREVfV1JJVEUpCiAJCW1vZGUgPSBVQklfUkVBRFdSSVRFOwpAQCAtMTE1LDYgKzExOSw3IEBACiAJZGJnX21zZygib3BlbiB2b2x1bWUgJWQsIG1vZGUgJWQiLCB2b2xfaWQsIG1vZGUpOwogCiAJZGVzYyA9IHViaV9vcGVuX3ZvbHVtZSh1YmlfbnVtLCB2b2xfaWQsIG1vZGUpOworCXVubG9ja19rZXJuZWwoKTsKIAlpZiAoSVNfRVJSKGRlc2MpKQogCQlyZXR1cm4gUFRSX0VSUihkZXNjKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvS2NvbmZpZyBiL2RyaXZlcnMvbmV0L0tjb25maWcKaW5kZXggZjQxODJjZi4uNDVhNDFiNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvS2NvbmZpZworKysgYi9kcml2ZXJzL25ldC9LY29uZmlnCkBAIC0yMTcsNyArMjE3LDcgQEAKIAogY29uZmlnIE1BQ0IKIAl0cmlzdGF0ZSAiQXRtZWwgTUFDQiBzdXBwb3J0IgotCWRlcGVuZHMgb24gQVZSMzIgfHwgQVJDSF9BVDkxU0FNOTI2MCB8fCBBUkNIX0FUOTFTQU05MjYzIHx8IEFSQ0hfQVQ5MUNBUDkKKwlkZXBlbmRzIG9uIEFWUjMyIHx8IEFSQ0hfQVQ5MVNBTTkyNjAgfHwgQVJDSF9BVDkxU0FNOTI2MyB8fCBBUkNIX0FUOTFTQU05RzIwIHx8IEFSQ0hfQVQ5MUNBUDkKIAlzZWxlY3QgUEhZTElCCiAJaGVscAogCSAgVGhlIEF0bWVsIE1BQ0IgZXRoZXJuZXQgaW50ZXJmYWNlIGlzIGZvdW5kIG9uIG1hbnkgQVQzMiBhbmQgQVQ5MQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvYXJtL2V0aGVyaC5jIGIvZHJpdmVycy9uZXQvYXJtL2V0aGVyaC5jCmluZGV4IDAwMDgxZDIuLmU5ZDE1ZWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2FybS9ldGhlcmguYworKysgYi9kcml2ZXJzL25ldC9hcm0vZXRoZXJoLmMKQEAgLTY0Nyw3ICs2NDcsNyBAQAogCXN0cnVjdCBlaV9kZXZpY2UgKmVpX2xvY2FsOwogCXN0cnVjdCBuZXRfZGV2aWNlICpkZXY7CiAJc3RydWN0IGV0aGVyaF9wcml2ICplaDsKLQlpbnQgaSwgcmV0OworCWludCByZXQ7CiAJREVDTEFSRV9NQUNfQlVGKG1hYyk7CiAKIAlldGhlcmhfYmFubmVyKCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9jeGdiMy9jb21tb24uaCBiL2RyaXZlcnMvbmV0L2N4Z2IzL2NvbW1vbi5oCmluZGV4IDU3OWJlZTQuLjhlOGViZDcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2N4Z2IzL2NvbW1vbi5oCisrKyBiL2RyaXZlcnMvbmV0L2N4Z2IzL2NvbW1vbi5oCkBAIC02ODYsOCArNjg2LDkgQEAKIGludCB0M19zZWVwcm9tX3dwKHN0cnVjdCBhZGFwdGVyICphZGFwdGVyLCBpbnQgZW5hYmxlKTsKIGludCB0M19nZXRfdHBfdmVyc2lvbihzdHJ1Y3QgYWRhcHRlciAqYWRhcHRlciwgdTMyICp2ZXJzKTsKIGludCB0M19jaGVja190cHNyYW1fdmVyc2lvbihzdHJ1Y3QgYWRhcHRlciAqYWRhcHRlciwgaW50ICptdXN0X2xvYWQpOwotaW50IHQzX2NoZWNrX3Rwc3JhbShzdHJ1Y3QgYWRhcHRlciAqYWRhcHRlciwgdTggKnRwX3JhbSwgdW5zaWduZWQgaW50IHNpemUpOwotaW50IHQzX3NldF9wcm90b19zcmFtKHN0cnVjdCBhZGFwdGVyICphZGFwLCB1OCAqZGF0YSk7CitpbnQgdDNfY2hlY2tfdHBzcmFtKHN0cnVjdCBhZGFwdGVyICphZGFwdGVyLCBjb25zdCB1OCAqdHBfcmFtLAorCQkgICAgdW5zaWduZWQgaW50IHNpemUpOworaW50IHQzX3NldF9wcm90b19zcmFtKHN0cnVjdCBhZGFwdGVyICphZGFwLCBjb25zdCB1OCAqZGF0YSk7CiBpbnQgdDNfcmVhZF9mbGFzaChzdHJ1Y3QgYWRhcHRlciAqYWRhcHRlciwgdW5zaWduZWQgaW50IGFkZHIsCiAJCSAgdW5zaWduZWQgaW50IG53b3JkcywgdTMyICpkYXRhLCBpbnQgYnl0ZV9vcmllbnRlZCk7CiBpbnQgdDNfbG9hZF9mdyhzdHJ1Y3QgYWRhcHRlciAqYWRhcHRlciwgY29uc3QgdTggKiBmd19kYXRhLCB1bnNpZ25lZCBpbnQgc2l6ZSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9jeGdiMy9jeGdiM19jdGxfZGVmcy5oIGIvZHJpdmVycy9uZXQvY3hnYjMvY3hnYjNfY3RsX2RlZnMuaAppbmRleCA2YzRmMzIwLi5lZDBlY2Q5IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9jeGdiMy9jeGdiM19jdGxfZGVmcy5oCisrKyBiL2RyaXZlcnMvbmV0L2N4Z2IzL2N4Z2IzX2N0bF9kZWZzLmgKQEAgLTU0LDYgKzU0LDcgQEAKIAlSRE1BX0NRX0RJU0FCTEUJCT0gMTYsCiAJUkRNQV9DVFJMX1FQX1NFVFVQCT0gMTcsCiAJUkRNQV9HRVRfTUVNCQk9IDE4LAorCVJETUFfR0VUX01JQgkJPSAxOSwKIAogCUdFVF9SWF9QQUdFX0lORk8JPSA1MCwKIH07CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9jeGdiMy9jeGdiM19vZmZsb2FkLmMgYi9kcml2ZXJzL25ldC9jeGdiMy9jeGdiM19vZmZsb2FkLmMKaW5kZXggZmY5YzAxMy4uY2YyNjk2OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvY3hnYjMvY3hnYjNfb2ZmbG9hZC5jCisrKyBiL2RyaXZlcnMvbmV0L2N4Z2IzL2N4Z2IzX29mZmxvYWQuYwpAQCAtMzAzLDYgKzMwMywxMiBAQAogCQlzcGluX3VubG9ja19pcnEoJmFkYXB0ZXItPnNnZS5yZWdfbG9jayk7CiAJCWJyZWFrOwogCX0KKwljYXNlIFJETUFfR0VUX01JQjogeworCQlzcGluX2xvY2soJmFkYXB0ZXItPnN0YXRzX2xvY2spOworCQl0M190cF9nZXRfbWliX3N0YXRzKGFkYXB0ZXIsIChzdHJ1Y3QgdHBfbWliX3N0YXRzICopZGF0YSk7CisJCXNwaW5fdW5sb2NrKCZhZGFwdGVyLT5zdGF0c19sb2NrKTsKKwkJYnJlYWs7CisJfQogCWRlZmF1bHQ6CiAJCXJldCA9IC1FT1BOT1RTVVBQOwogCX0KQEAgLTM4MSw2ICszODcsNyBAQAogCWNhc2UgUkRNQV9DUV9ESVNBQkxFOgogCWNhc2UgUkRNQV9DVFJMX1FQX1NFVFVQOgogCWNhc2UgUkRNQV9HRVRfTUVNOgorCWNhc2UgUkRNQV9HRVRfTUlCOgogCQlpZiAoIW9mZmxvYWRfcnVubmluZyhhZGFwdGVyKSkKIAkJCXJldHVybiAtRUFHQUlOOwogCQlyZXR1cm4gY3hnYl9yZG1hX2N0bChhZGFwdGVyLCByZXEsIGRhdGEpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvY3hnYjMvdDNfaHcuYyBiL2RyaXZlcnMvbmV0L2N4Z2IzL3QzX2h3LmMKaW5kZXggZDQwNWE5My4uNDdkNTE3OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvY3hnYjMvdDNfaHcuYworKysgYi9kcml2ZXJzL25ldC9jeGdiMy90M19ody5jCkBAIC05MjMsNyArOTIzLDggQEAKICAqCUNoZWNrcyBpZiBhbiBhZGFwdGVyJ3MgdHAgc3JhbSBpcyBjb21wYXRpYmxlIHdpdGggdGhlIGRyaXZlci4KICAqCVJldHVybnMgMCBpZiB0aGUgdmVyc2lvbnMgYXJlIGNvbXBhdGlibGUsIGEgbmVnYXRpdmUgZXJyb3Igb3RoZXJ3aXNlLgogICovCi1pbnQgdDNfY2hlY2tfdHBzcmFtKHN0cnVjdCBhZGFwdGVyICphZGFwdGVyLCB1OCAqdHBfc3JhbSwgdW5zaWduZWQgaW50IHNpemUpCitpbnQgdDNfY2hlY2tfdHBzcmFtKHN0cnVjdCBhZGFwdGVyICphZGFwdGVyLCBjb25zdCB1OCAqdHBfc3JhbSwKKwkJICAgIHVuc2lnbmVkIGludCBzaXplKQogewogCXUzMiBjc3VtOwogCXVuc2lnbmVkIGludCBpOwpAQCAtMjg3NSwxMCArMjg3NiwxMCBAQAogICoKICAqCVdyaXRlIHRoZSBjb250ZW50cyBvZiB0aGUgcHJvdG9jb2wgU1JBTS4KICAqLwotaW50IHQzX3NldF9wcm90b19zcmFtKHN0cnVjdCBhZGFwdGVyICphZGFwLCB1OCAqZGF0YSkKK2ludCB0M19zZXRfcHJvdG9fc3JhbShzdHJ1Y3QgYWRhcHRlciAqYWRhcCwgY29uc3QgdTggKmRhdGEpCiB7CiAJaW50IGk7Ci0JX19iZTMyICpidWYgPSAoX19iZTMyICopZGF0YTsKKwljb25zdCBfX2JlMzIgKmJ1ZiA9IChjb25zdCBfX2JlMzIgKilkYXRhOwogCiAJZm9yIChpID0gMDsgaSA8IFBST1RPX1NSQU1fTElORVM7IGkrKykgewogCQl0M193cml0ZV9yZWcoYWRhcCwgQV9UUF9FTUJFRF9PUF9GSUVMRDUsIGJlMzJfdG9fY3B1KCpidWYrKykpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvY3hnYjMvdmVyc2lvbi5oIGIvZHJpdmVycy9uZXQvY3hnYjMvdmVyc2lvbi5oCmluZGV4IGEwMTc3ZmMuLjI5ZGI3MTEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2N4Z2IzL3ZlcnNpb24uaAorKysgYi9kcml2ZXJzL25ldC9jeGdiMy92ZXJzaW9uLmgKQEAgLTM4LDcgKzM4LDcgQEAKICNkZWZpbmUgRFJWX1ZFUlNJT04gIjEuMC1rbyIKIAogLyogRmlybXdhcmUgdmVyc2lvbiAqLwotI2RlZmluZSBGV19WRVJTSU9OX01BSk9SIDYKKyNkZWZpbmUgRldfVkVSU0lPTl9NQUpPUiA3CiAjZGVmaW5lIEZXX1ZFUlNJT05fTUlOT1IgMAogI2RlZmluZSBGV19WRVJTSU9OX01JQ1JPIDAKICNlbmRpZgkJCQkvKiBfX0NIRUxTSU9fVkVSU0lPTl9IICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9pcmRhL2lyZGEtdXNiLmMgYi9kcml2ZXJzL25ldC9pcmRhL2lyZGEtdXNiLmMKaW5kZXggNmY1MGVkNy4uMThiNDcxYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvaXJkYS9pcmRhLXVzYi5jCisrKyBiL2RyaXZlcnMvbmV0L2lyZGEvaXJkYS11c2IuYwpAQCAtMTAyNCw3ICsxMDI0LDcgQEAKICAqICAgVXBsb2FkIGZpcm13YXJlIGNvZGUgdG8gU2lnbWFUZWwgNDIxWCBJUkRBLVVTQiBkb25nbGUKICAqLwogc3RhdGljIGludCBzdGlyNDIxeF9md191cGxvYWQoc3RydWN0IGlyZGFfdXNiX2NiICpzZWxmLAotCQkJICAgICB1bnNpZ25lZCBjaGFyICpwYXRjaCwKKwkJCSAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqcGF0Y2gsCiAJCQkgICAgIGNvbnN0IHVuc2lnbmVkIGludCBwYXRjaF9sZW4pCiB7CiAgICAgICAgIGludCByZXQgPSAtRU5PTUVNOwpAQCAtMTA3MywxMSArMTA3MywxMSBAQAogICAqLwogc3RhdGljIGludCBzdGlyNDIxeF9wYXRjaF9kZXZpY2Uoc3RydWN0IGlyZGFfdXNiX2NiICpzZWxmKQogewotICAgICAgICB1bnNpZ25lZCBpbnQgaTsKLSAgICAgICAgaW50IHJldDsKLSAgICAgICAgY2hhciBzdGlyNDIxeF9md19uYW1lWzExXTsKLSAgICAgICAgY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdzsKLSAgICAgICAgdW5zaWduZWQgY2hhciAqZndfdmVyc2lvbl9wdHI7IC8qIHBvaW50ZXIgdG8gdmVyc2lvbiBzdHJpbmcgKi8KKwl1bnNpZ25lZCBpbnQgaTsKKwlpbnQgcmV0OworCWNoYXIgc3RpcjQyMXhfZndfbmFtZVsxMV07CisJY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdzsKKwljb25zdCB1bnNpZ25lZCBjaGFyICpmd192ZXJzaW9uX3B0cjsgLyogcG9pbnRlciB0byB2ZXJzaW9uIHN0cmluZyAqLwogCXVuc2lnbmVkIGxvbmcgZndfdmVyc2lvbiA9IDA7CiAKICAgICAgICAgLyoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2lyZGEvbnNjLWlyY2MuYyBiL2RyaXZlcnMvbmV0L2lyZGEvbnNjLWlyY2MuYwppbmRleCBhNzcxNGRhLi5lZmZjMWNlIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9pcmRhL25zYy1pcmNjLmMKKysrIGIvZHJpdmVycy9uZXQvaXJkYS9uc2MtaXJjYy5jCkBAIC0xNTIsNiArMTUyLDcgQEAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcG5wX2RldmljZV9pZCBuc2NfaXJjY19wbnBfdGFibGVbXSA9IHsKIAl7IC5pZCA9ICJOU0M2MDAxIiwgLmRyaXZlcl9kYXRhID0gMCB9LAogCXsgLmlkID0gIklCTTAwNzEiLCAuZHJpdmVyX2RhdGEgPSAwIH0sCisJeyAuaWQgPSAiSFdQQzIyNCIsIC5kcml2ZXJfZGF0YSA9IDAgfSwKIAl7IH0KIH07CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2lyZGEvcHhhZmljcF9pci5jIGIvZHJpdmVycy9uZXQvaXJkYS9weGFmaWNwX2lyLmMKaW5kZXggZDVjMmQyNy4uZjc2YjBiNmMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2lyZGEvcHhhZmljcF9pci5jCisrKyBiL2RyaXZlcnMvbmV0L2lyZGEvcHhhZmljcF9pci5jCkBAIC0xMywxNiArMTMsOCBAQAogICoKICAqLwogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgotI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+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+Y2FwYWJpbGl0eSk7CiAJcG9zICs9IDI7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3A1NC9wNTR1c2IuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3A1NC9wNTR1c2IuYwppbmRleCAxNjEwYTczMC4uODE1YzA5NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcDU0L3A1NHVzYi5jCisrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3A1NC9wNTR1c2IuYwpAQCAtMzc2LDcgKzM3Niw4IEBACiAJY29uc3Qgc3RydWN0IGZpcm13YXJlICpmd19lbnRyeSA9IE5VTEw7CiAJaW50IGVyciwgYWxlbjsKIAl1OCBjYXJyeSA9IDA7Ci0JdTggKmJ1ZiwgKnRtcCwgKmRhdGE7CisJdTggKmJ1ZiwgKnRtcDsKKwljb25zdCB1OCAqZGF0YTsKIAl1bnNpZ25lZCBpbnQgbGVmdCwgcmVtYWlucywgYmxvY2tfc2l6ZTsKIAlzdHJ1Y3QgeDJfaGVhZGVyICpoZHI7CiAJdW5zaWduZWQgbG9uZyB0aW1lb3V0OwpAQCAtNTIzLDcgKzUyNCw3IEBACiAJdm9pZCAqYnVmOwogCV9fbGUzMiByZWc7CiAJdW5zaWduZWQgaW50IHJlbWFpbnMsIG9mZnNldDsKLQl1OCAqZGF0YTsKKwljb25zdCB1OCAqZGF0YTsKIAogCWJ1ZiA9IGttYWxsb2MoNTEyLCBHRlBfS0VSTkVMKTsKIAlpZiAoIWJ1ZikgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcnQyeDAwL3J0MjQwMHBjaS5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcnQyeDAwL3J0MjQwMHBjaS5jCmluZGV4IDU2MGI5YzcuLmIzNmVkMWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3J0MngwMC9ydDI0MDBwY2kuYworKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9ydDJ4MDAvcnQyNDAwcGNpLmMKQEAgLTczMSw2ICs3MzEsMTcgQEAKIAkJCSAgIChydDJ4MDBkZXYtPnJ4LT5kYXRhX3NpemUgLyAxMjgpKTsKIAlydDJ4MDBwY2lfcmVnaXN0ZXJfd3JpdGUocnQyeDAwZGV2LCBDU1I5LCByZWcpOwogCisJcnQyeDAwcGNpX3JlZ2lzdGVyX3JlYWQocnQyeDAwZGV2LCBDU1IxNCwgJnJlZyk7CisJcnQyeDAwX3NldF9maWVsZDMyKCZyZWcsIENTUjE0X1RTRl9DT1VOVCwgMCk7CisJcnQyeDAwX3NldF9maWVsZDMyKCZyZWcsIENTUjE0X1RTRl9TWU5DLCAwKTsKKwlydDJ4MDBfc2V0X2ZpZWxkMzIoJnJlZywgQ1NSMTRfVEJDTiwgMCk7CisJcnQyeDAwX3NldF9maWVsZDMyKCZyZWcsIENTUjE0X1RDRlAsIDApOworCXJ0MngwMF9zZXRfZmllbGQzMigmcmVnLCBDU1IxNF9UQVRJTVcsIDApOworCXJ0MngwMF9zZXRfZmllbGQzMigmcmVnLCBDU1IxNF9CRUFDT05fR0VOLCAwKTsKKwlydDJ4MDBfc2V0X2ZpZWxkMzIoJnJlZywgQ1NSMTRfQ0ZQX0NPVU5UX1BSRUxPQUQsIDApOworCXJ0MngwMF9zZXRfZmllbGQzMigmcmVnLCBDU1IxNF9UQkNNX1BSRUxPQUQsIDApOworCXJ0MngwMHBjaV9yZWdpc3Rlcl93cml0ZShydDJ4MDBkZXYsIENTUjE0LCByZWcpOworCiAJcnQyeDAwcGNpX3JlZ2lzdGVyX3dyaXRlKHJ0MngwMGRldiwgQ05UMywgMHgzZjA4MDAwMCk7CiAKIAlydDJ4MDBwY2lfcmVnaXN0ZXJfcmVhZChydDJ4MDBkZXYsIEFSQ1NSMCwgJnJlZyk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9ydDJ4MDAvcnQyNTAwcGNpLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9ydDJ4MDAvcnQyNTAwcGNpLmMKaW5kZXggYTVlZDU0Yi4uZjc3MzFmYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcnQyeDAwL3J0MjUwMHBjaS5jCisrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3J0MngwMC9ydDI1MDBwY2kuYwpAQCAtODI0LDYgKzgyNCwxNyBAQAogCXJ0MngwMF9zZXRfZmllbGQzMigmcmVnLCBDU1IxMV9DV19TRUxFQ1QsIDApOwogCXJ0MngwMHBjaV9yZWdpc3Rlcl93cml0ZShydDJ4MDBkZXYsIENTUjExLCByZWcpOwogCisJcnQyeDAwcGNpX3JlZ2lzdGVyX3JlYWQocnQyeDAwZGV2LCBDU1IxNCwgJnJlZyk7CisJcnQyeDAwX3NldF9maWVsZDMyKCZyZWcsIENTUjE0X1RTRl9DT1VOVCwgMCk7CisJcnQyeDAwX3NldF9maWVsZDMyKCZyZWcsIENTUjE0X1RTRl9TWU5DLCAwKTsKKwlydDJ4MDBfc2V0X2ZpZWxkMzIoJnJlZywgQ1NSMTRfVEJDTiwgMCk7CisJcnQyeDAwX3NldF9maWVsZDMyKCZyZWcsIENTUjE0X1RDRlAsIDApOworCXJ0MngwMF9zZXRfZmllbGQzMigmcmVnLCBDU1IxNF9UQVRJTVcsIDApOworCXJ0MngwMF9zZXRfZmllbGQzMigmcmVnLCBDU1IxNF9CRUFDT05fR0VOLCAwKTsKKwlydDJ4MDBfc2V0X2ZpZWxkMzIoJnJlZywgQ1NSMTRfQ0ZQX0NPVU5UX1BSRUxPQUQsIDApOworCXJ0MngwMF9zZXRfZmllbGQzMigmcmVnLCBDU1IxNF9UQkNNX1BSRUxPQUQsIDApOworCXJ0MngwMHBjaV9yZWdpc3Rlcl93cml0ZShydDJ4MDBkZXYsIENTUjE0LCByZWcpOworCiAJcnQyeDAwcGNpX3JlZ2lzdGVyX3dyaXRlKHJ0MngwMGRldiwgQ05UMywgMCk7CiAKIAlydDJ4MDBwY2lfcmVnaXN0ZXJfcmVhZChydDJ4MDBkZXYsIFRYQ1NSOCwgJnJlZyk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9ydDJ4MDAvcnQyNTAwdXNiLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9ydDJ4MDAvcnQyNTAwdXNiLmMKaW5kZXggNjFlNTljMS4uZDkwNTEyZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcnQyeDAwL3J0MjUwMHVzYi5jCisrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3J0MngwMC9ydDI1MDB1c2IuYwpAQCAtODAxLDYgKzgwMSwxMyBAQAogCXJ0MngwMF9zZXRfZmllbGQxNigmcmVnLCBUWFJYX0NTUjhfQkJQX0lEMV9WQUxJRCwgMCk7CiAJcnQyNTAwdXNiX3JlZ2lzdGVyX3dyaXRlKHJ0MngwMGRldiwgVFhSWF9DU1I4LCByZWcpOwogCisJcnQyNTAwdXNiX3JlZ2lzdGVyX3JlYWQocnQyeDAwZGV2LCBUWFJYX0NTUjE5LCAmcmVnKTsKKwlydDJ4MDBfc2V0X2ZpZWxkMTYoJnJlZywgVFhSWF9DU1IxOV9UU0ZfQ09VTlQsIDApOworCXJ0MngwMF9zZXRfZmllbGQxNigmcmVnLCBUWFJYX0NTUjE5X1RTRl9TWU5DLCAwKTsKKwlydDJ4MDBfc2V0X2ZpZWxkMTYoJnJlZywgVFhSWF9DU1IxOV9UQkNOLCAwKTsKKwlydDJ4MDBfc2V0X2ZpZWxkMTYoJnJlZywgVFhSWF9DU1IxOV9CRUFDT05fR0VOLCAwKTsKKwlydDI1MDB1c2JfcmVnaXN0ZXJfd3JpdGUocnQyeDAwZGV2LCBUWFJYX0NTUjE5LCByZWcpOworCiAJcnQyNTAwdXNiX3JlZ2lzdGVyX3dyaXRlKHJ0MngwMGRldiwgVFhSWF9DU1IyMSwgMHhlNzhmKTsKIAlydDI1MDB1c2JfcmVnaXN0ZXJfd3JpdGUocnQyeDAwZGV2LCBNQUNfQ1NSOSwgMHhmZjFkKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcnQyeDAwL3J0MngwMC5oIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcnQyeDAwL3J0MngwMC5oCmluZGV4IGI0YmYxZTAuLmE3NGUxYTUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3J0MngwMC9ydDJ4MDAuaAorKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9ydDJ4MDAvcnQyeDAwLmgKQEAgLTUxMSw4ICs1MTEsOCBAQAogCSAqLwogCWludCAoKnByb2JlX2h3KSAoc3RydWN0IHJ0MngwMF9kZXYgKnJ0MngwMGRldik7CiAJY2hhciAqKCpnZXRfZmlybXdhcmVfbmFtZSkgKHN0cnVjdCBydDJ4MDBfZGV2ICpydDJ4MDBkZXYpOwotCXUxNiAoKmdldF9maXJtd2FyZV9jcmMpICh2b2lkICpkYXRhLCBjb25zdCBzaXplX3QgbGVuKTsKLQlpbnQgKCpsb2FkX2Zpcm13YXJlKSAoc3RydWN0IHJ0MngwMF9kZXYgKnJ0MngwMGRldiwgdm9pZCAqZGF0YSwKKwl1MTYgKCpnZXRfZmlybXdhcmVfY3JjKSAoY29uc3Qgdm9pZCAqZGF0YSwgY29uc3Qgc2l6ZV90IGxlbik7CisJaW50ICgqbG9hZF9maXJtd2FyZSkgKHN0cnVjdCBydDJ4MDBfZGV2ICpydDJ4MDBkZXYsIGNvbnN0IHZvaWQgKmRhdGEsCiAJCQkgICAgICBjb25zdCBzaXplX3QgbGVuKTsKIAogCS8qCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9ydDJ4MDAvcnQyeDAwcGNpLmggYi9kcml2ZXJzL25ldC93aXJlbGVzcy9ydDJ4MDAvcnQyeDAwcGNpLmgKaW5kZXggOWQxY2RiOS4uYjQxOTY3ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcnQyeDAwL3J0MngwMHBjaS5oCisrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3J0MngwMC9ydDJ4MDBwY2kuaApAQCAtODIsNyArODIsNyBAQAogc3RhdGljIGlubGluZSB2b2lkCiBydDJ4MDBwY2lfcmVnaXN0ZXJfbXVsdGl3cml0ZShzdHJ1Y3QgcnQyeDAwX2RldiAqcnQyeDAwZGV2LAogCQkJICAgICAgY29uc3QgdW5zaWduZWQgbG9uZyBvZmZzZXQsCi0JCQkgICAgICB2b2lkICp2YWx1ZSwgY29uc3QgdTE2IGxlbmd0aCkKKwkJCSAgICAgIGNvbnN0IHZvaWQgKnZhbHVlLCBjb25zdCB1MTYgbGVuZ3RoKQogewogCW1lbWNweV90b2lvKHJ0MngwMGRldi0+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+Y29scyA9IDEzMjsKIAkJYnJlYWs7CiAJZGVmYXVsdDoKLQkJcHJpbnRrKEtFUk5fV0FSTklORyAidnJkY2NybWQgaXMgMHglLjh4XG4iLCBtb2RlbCk7CiAJCXJjID0gLUVPUE5PVFNVUFA7CiAJCWJyZWFrOwogCX0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaGFyL3NjbHAuYyBiL2RyaXZlcnMvczM5MC9jaGFyL3NjbHAuYwppbmRleCAyYzdhMWVlLi4zYzhiMjVlIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2hhci9zY2xwLmMKKysrIGIvZHJpdmVycy9zMzkwL2NoYXIvc2NscC5jCkBAIC01MDYsNiArNTA2LDggQEAKIAlpZiAoc2NidWYtPnZhbGlkaXR5X3NjbHBfc2VuZF9tYXNrKQogCQlzY2xwX3NlbmRfbWFzayA9IHNjYnVmLT5zY2xwX3NlbmRfbWFzazsKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZzY2xwX2xvY2ssIGZsYWdzKTsKKwlpZiAoc2NidWYtPnZhbGlkaXR5X3NjbHBfYWN0aXZlX2ZhY2lsaXR5X21hc2spCisJCXNjbHBfZmFjaWxpdGllcyA9IHNjYnVmLT5zY2xwX2FjdGl2ZV9mYWNpbGl0eV9tYXNrOwogCXNjbHBfZGlzcGF0Y2hfc3RhdGVfY2hhbmdlKCk7CiB9CiAKQEAgLTc4MiwxMSArNzg0LDkgQEAKIAkvKiBJcyB0aGlzIHRoZSBpbnRlcnJ1cHQgd2UgYXJlIHdhaXRpbmcgZm9yPyAqLwogCWlmIChmaW5pc2hlZF9zY2NiID09IDApCiAJCXJldHVybjsKLQlpZiAoZmluaXNoZWRfc2NjYiAhPSAodTMyKSAoYWRkcl90KSBzY2xwX2luaXRfc2NjYikgewotCQlwcmludGsoS0VSTl9XQVJOSU5HIFNDTFBfSEVBREVSICJ1bnNvbGljaXRlZCBpbnRlcnJ1cHQgIgotCQkgICAgICAgImZvciBidWZmZXIgYXQgMHgleFxuIiwgZmluaXNoZWRfc2NjYik7Ci0JCXJldHVybjsKLQl9CisJaWYgKGZpbmlzaGVkX3NjY2IgIT0gKHUzMikgKGFkZHJfdCkgc2NscF9pbml0X3NjY2IpCisJCXBhbmljKCJzY2xwOiB1bnNvbGljaXRlZCBpbnRlcnJ1cHQgZm9yIGJ1ZmZlciBhdCAweCV4XG4iLAorCQkgICAgICBmaW5pc2hlZF9zY2NiKTsKIAlzcGluX2xvY2soJnNjbHBfbG9jayk7CiAJaWYgKHNjbHBfcnVubmluZ19zdGF0ZSA9PSBzY2xwX3J1bm5pbmdfc3RhdGVfcnVubmluZykgewogCQlzY2xwX2luaXRfcmVxLnN0YXR1cyA9IFNDTFBfUkVRX0RPTkU7CkBAIC04ODMsOCArODgzLDYgQEAKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCWludCByYzsKIAotCWlmICghTUFDSElORV9IQVNfU0NMUCkKLQkJcmV0dXJuIC1FTk9ERVY7CiAJc3Bpbl9sb2NrX2lycXNhdmUoJnNjbHBfbG9jaywgZmxhZ3MpOwogCS8qIENoZWNrIGZvciBwcmV2aW91cyBvciBydW5uaW5nIGluaXRpYWxpemF0aW9uICovCiAJaWYgKHNjbHBfaW5pdF9zdGF0ZSAhPSBzY2xwX2luaXRfc3RhdGVfdW5pbml0aWFsaXplZCkgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2NoYXIvc2NscF9jbWQuYyBiL2RyaXZlcnMvczM5MC9jaGFyL3NjbHBfY21kLmMKaW5kZXggYjVjMjMzOS4uMGMyYjc3NDkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaGFyL3NjbHBfY21kLmMKKysrIGIvZHJpdmVycy9zMzkwL2NoYXIvc2NscF9jbWQuYwpAQCAtMTEsNiArMTEsOSBAQAogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgogI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgorI2luY2x1ZGUgPGxpbnV4L21tLmg+CisjaW5jbHVkZSA8bGludXgvbW16b25lLmg+CisjaW5jbHVkZSA8bGludXgvbWVtb3J5Lmg+CiAjaW5jbHVkZSA8YXNtL2NocGlkLmg+CiAjaW5jbHVkZSA8YXNtL3NjbHAuaD4KICNpbmNsdWRlICJzY2xwLmgiCkBAIC00Myw2ICs0Niw4IEBACiAKIHU2NCBzY2xwX2ZhY2lsaXRpZXM7CiBzdGF0aWMgdTggc2NscF9mYWM4NDsKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGxvbmcgcnptOworc3RhdGljIHVuc2lnbmVkIGxvbmcgbG9uZyBybm1heDsKIAogc3RhdGljIGludCBfX2luaXQgc2NscF9jbWRfc3luY19lYXJseShzY2xwX2NtZHdfdCBjbWQsIHZvaWQgKnNjY2IpCiB7CkBAIC02Miw3ICs2Nyw3IEBACiAJcmV0dXJuIHJjOwogfQogCi12b2lkIF9faW5pdCBzY2xwX3JlYWRfaW5mb19lYXJseSh2b2lkKQorc3RhdGljIHZvaWQgX19pbml0IHNjbHBfcmVhZF9pbmZvX2Vhcmx5KHZvaWQpCiB7CiAJaW50IHJjOwogCWludCBpOwpAQCAtOTIsMzQgKzk3LDMzIEBACiAKIHZvaWQgX19pbml0IHNjbHBfZmFjaWxpdGllc19kZXRlY3Qodm9pZCkKIHsKLQlpZiAoIWVhcmx5X3JlYWRfaW5mb19zY2NiX3ZhbGlkKQotCQlyZXR1cm47Ci0Jc2NscF9mYWNpbGl0aWVzID0gZWFybHlfcmVhZF9pbmZvX3NjY2IuZmFjaWxpdGllczsKLQlzY2xwX2ZhYzg0ID0gZWFybHlfcmVhZF9pbmZvX3NjY2IuZmFjODQ7Ci19Ci0KLXVuc2lnbmVkIGxvbmcgbG9uZyBfX2luaXQgc2NscF9tZW1vcnlfZGV0ZWN0KHZvaWQpCi17Ci0JdW5zaWduZWQgbG9uZyBsb25nIG1lbXNpemU7CiAJc3RydWN0IHJlYWRfaW5mb19zY2NiICpzY2NiOwogCisJc2NscF9yZWFkX2luZm9fZWFybHkoKTsKIAlpZiAoIWVhcmx5X3JlYWRfaW5mb19zY2NiX3ZhbGlkKQotCQlyZXR1cm4gMDsKKwkJcmV0dXJuOworCiAJc2NjYiA9ICZlYXJseV9yZWFkX2luZm9fc2NjYjsKLQlpZiAoc2NjYi0+cm5zaXplKQotCQltZW1zaXplID0gc2NjYi0+cm5zaXplIDw8IDIwOwotCWVsc2UKLQkJbWVtc2l6ZSA9IHNjY2ItPnJuc2l6ZTIgPDwgMjA7Ci0JaWYgKHNjY2ItPnJubWF4KQotCQltZW1zaXplICo9IHNjY2ItPnJubWF4OwotCWVsc2UKLQkJbWVtc2l6ZSAqPSBzY2NiLT5ybm1heDI7Ci0JcmV0dXJuIG1lbXNpemU7CisJc2NscF9mYWNpbGl0aWVzID0gc2NjYi0+ZmFjaWxpdGllczsKKwlzY2xwX2ZhYzg0ID0gc2NjYi0+ZmFjODQ7CisJcm5tYXggPSBzY2NiLT5ybm1heCA/IHNjY2ItPnJubWF4IDogc2NjYi0+cm5tYXgyOworCXJ6bSA9IHNjY2ItPnJuc2l6ZSA/IHNjY2ItPnJuc2l6ZSA6IHNjY2ItPnJuc2l6ZTI7CisJcnptIDw8PSAyMDsKK30KKwordW5zaWduZWQgbG9uZyBsb25nIHNjbHBfZ2V0X3JubWF4KHZvaWQpCit7CisJcmV0dXJuIHJubWF4OworfQorCit1bnNpZ25lZCBsb25nIGxvbmcgc2NscF9nZXRfcnptKHZvaWQpCit7CisJcmV0dXJuIHJ6bTsKIH0KIAogLyoKLSAqIFRoaXMgZnVuY3Rpb24gd2lsbCBiZSBjYWxsZWQgYWZ0ZXIgc2NscF9tZW1vcnlfZGV0ZWN0KCksIHdoaWNoIGdldHMgY2FsbGVkCi0gKiBlYXJseSBmcm9tIGVhcmx5LmMgY29kZS4gVGhlcmVmb3JlIHRoZSBzY2NiIHNob3VsZCBoYXZlIHZhbGlkIGNvbnRlbnRzLgorICogVGhpcyBmdW5jdGlvbiB3aWxsIGJlIGNhbGxlZCBhZnRlciBzY2xwX2ZhY2lsaXRpZXNfZGV0ZWN0KCksIHdoaWNoIGdldHMKKyAqIGNhbGxlZCBmcm9tIGVhcmx5LmMgY29kZS4gVGhlcmVmb3JlIHRoZSBzY2NiIHNob3VsZCBoYXZlIHZhbGlkIGNvbnRlbnRzLgogICovCiB2b2lkIF9faW5pdCBzY2xwX2dldF9pcGxfaW5mbyhzdHJ1Y3Qgc2NscF9pcGxfaW5mbyAqaW5mbykKIHsKQEAgLTI3OCw2ICsyODIsMzA1IEBACiAJcmV0dXJuIGRvX2NwdV9jb25maWd1cmUoU0NMUF9DTURXX0RFQ09ORklHVVJFX0NQVSB8IGNwdSA8PCA4KTsKIH0KIAorI2lmZGVmIENPTkZJR19NRU1PUllfSE9UUExVRworCitzdGF0aWMgREVGSU5FX01VVEVYKHNjbHBfbWVtX211dGV4KTsKK3N0YXRpYyBMSVNUX0hFQUQoc2NscF9tZW1fbGlzdCk7CitzdGF0aWMgdTggc2NscF9tYXhfc3RvcmFnZV9pZDsKK3N0YXRpYyB1bnNpZ25lZCBsb25nIHNjbHBfc3RvcmFnZV9pZHNbMjU2IC8gQklUU19QRVJfTE9OR107CisKK3N0cnVjdCBtZW1vcnlfaW5jcmVtZW50IHsKKwlzdHJ1Y3QgbGlzdF9oZWFkIGxpc3Q7CisJdTE2IHJuOworCWludCBzdGFuZGJ5OworCWludCB1c2Vjb3VudDsKK307CisKK3N0cnVjdCBhc3NpZ25fc3RvcmFnZV9zY2NiIHsKKwlzdHJ1Y3Qgc2NjYl9oZWFkZXIgaGVhZGVyOworCXUxNiBybjsKK30gX19wYWNrZWQ7CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGxvbmcgcm4yYWRkcih1MTYgcm4pCit7CisJcmV0dXJuICh1bnNpZ25lZCBsb25nIGxvbmcpIChybiAtIDEpICogcnptOworfQorCitzdGF0aWMgaW50IGRvX2Fzc2lnbl9zdG9yYWdlKHNjbHBfY21kd190IGNtZCwgdTE2IHJuKQoreworCXN0cnVjdCBhc3NpZ25fc3RvcmFnZV9zY2NiICpzY2NiOworCWludCByYzsKKworCXNjY2IgPSAodm9pZCAqKSBnZXRfemVyb2VkX3BhZ2UoR0ZQX0tFUk5FTCB8IEdGUF9ETUEpOworCWlmICghc2NjYikKKwkJcmV0dXJuIC1FTk9NRU07CisJc2NjYi0+aGVhZGVyLmxlbmd0aCA9IFBBR0VfU0laRTsKKwlzY2NiLT5ybiA9IHJuOworCXJjID0gZG9fc3luY19yZXF1ZXN0KGNtZCwgc2NjYik7CisJaWYgKHJjKQorCQlnb3RvIG91dDsKKwlzd2l0Y2ggKHNjY2ItPmhlYWRlci5yZXNwb25zZV9jb2RlKSB7CisJY2FzZSAweDAwMjA6CisJY2FzZSAweDAxMjA6CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXJjID0gLUVJTzsKKwkJYnJlYWs7CisJfQorb3V0OgorCWZyZWVfcGFnZSgodW5zaWduZWQgbG9uZykgc2NjYik7CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IHNjbHBfYXNzaWduX3N0b3JhZ2UodTE2IHJuKQoreworCXJldHVybiBkb19hc3NpZ25fc3RvcmFnZSgweDAwMGQwMDAxLCBybik7Cit9CisKK3N0YXRpYyBpbnQgc2NscF91bmFzc2lnbl9zdG9yYWdlKHUxNiBybikKK3sKKwlyZXR1cm4gZG9fYXNzaWduX3N0b3JhZ2UoMHgwMDBjMDAwMSwgcm4pOworfQorCitzdHJ1Y3QgYXR0YWNoX3N0b3JhZ2Vfc2NjYiB7CisJc3RydWN0IHNjY2JfaGVhZGVyIGhlYWRlcjsKKwl1MTYgOjE2OworCXUxNiBhc3NpZ25lZDsKKwl1MzIgOjMyOworCXUzMiBlbnRyaWVzWzBdOworfSBfX3BhY2tlZDsKKworc3RhdGljIGludCBzY2xwX2F0dGFjaF9zdG9yYWdlKHU4IGlkKQoreworCXN0cnVjdCBhdHRhY2hfc3RvcmFnZV9zY2NiICpzY2NiOworCWludCByYzsKKwlpbnQgaTsKKworCXNjY2IgPSAodm9pZCAqKSBnZXRfemVyb2VkX3BhZ2UoR0ZQX0tFUk5FTCB8IEdGUF9ETUEpOworCWlmICghc2NjYikKKwkJcmV0dXJuIC1FTk9NRU07CisJc2NjYi0+aGVhZGVyLmxlbmd0aCA9IFBBR0VfU0laRTsKKwlyYyA9IGRvX3N5bmNfcmVxdWVzdCgweDAwMDgwMDAxIHwgaWQgPDwgOCwgc2NjYik7CisJaWYgKHJjKQorCQlnb3RvIG91dDsKKwlzd2l0Y2ggKHNjY2ItPmhlYWRlci5yZXNwb25zZV9jb2RlKSB7CisJY2FzZSAweDAwMjA6CisJCXNldF9iaXQoaWQsIHNjbHBfc3RvcmFnZV9pZHMpOworCQlmb3IgKGkgPSAwOyBpIDwgc2NjYi0+YXNzaWduZWQ7IGkrKykKKwkJCXNjbHBfdW5hc3NpZ25fc3RvcmFnZShzY2NiLT5lbnRyaWVzW2ldID4+IDE2KTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcmMgPSAtRUlPOworCQlicmVhazsKKwl9CitvdXQ6CisJZnJlZV9wYWdlKCh1bnNpZ25lZCBsb25nKSBzY2NiKTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgc2NscF9tZW1fY2hhbmdlX3N0YXRlKHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgc2l6ZSwKKwkJCQkgaW50IG9ubGluZSkKK3sKKwlzdHJ1Y3QgbWVtb3J5X2luY3JlbWVudCAqaW5jcjsKKwl1bnNpZ25lZCBsb25nIGxvbmcgaXN0YXJ0OworCWludCByYyA9IDA7CisKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KGluY3IsICZzY2xwX21lbV9saXN0LCBsaXN0KSB7CisJCWlzdGFydCA9IHJuMmFkZHIoaW5jci0+cm4pOworCQlpZiAoc3RhcnQgKyBzaXplIC0gMSA8IGlzdGFydCkKKwkJCWJyZWFrOworCQlpZiAoc3RhcnQgPiBpc3RhcnQgKyByem0gLSAxKQorCQkJY29udGludWU7CisJCWlmIChvbmxpbmUpIHsKKwkJCWlmIChpbmNyLT51c2Vjb3VudCsrKQorCQkJCWNvbnRpbnVlOworCQkJLyoKKwkJCSAqIERvbid0IGJyZWFrIHRoZSBsb29wIGlmIG9uZSBhc3NpZ24gZmFpbHMuIExvb3AgbWF5CisJCQkgKiBiZSB3YWxrZWQgYWdhaW4gb24gQ0FOQ0VMIGFuZCB3ZSBjYW4ndCBzYXZlCisJCQkgKiBpbmZvcm1hdGlvbiBpZiBzdGF0ZSBjaGFuZ2VkIGJlZm9yZSBvciBub3QuCisJCQkgKiBTbyBjb250aW51ZSBhbmQgaW5jcmVhc2UgdXNlY291bnQgZm9yIGFsbCBpbmNyZW1lbnRzLgorCQkJICovCisJCQlyYyB8PSBzY2xwX2Fzc2lnbl9zdG9yYWdlKGluY3ItPnJuKTsKKwkJfSBlbHNlIHsKKwkJCWlmICgtLWluY3ItPnVzZWNvdW50KQorCQkJCWNvbnRpbnVlOworCQkJc2NscF91bmFzc2lnbl9zdG9yYWdlKGluY3ItPnJuKTsKKwkJfQorCX0KKwlyZXR1cm4gcmMgPyAtRUlPIDogMDsKK30KKworc3RhdGljIGludCBzY2xwX21lbV9ub3RpZmllcihzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKm5iLAorCQkJICAgICB1bnNpZ25lZCBsb25nIGFjdGlvbiwgdm9pZCAqZGF0YSkKK3sKKwl1bnNpZ25lZCBsb25nIHN0YXJ0LCBzaXplOworCXN0cnVjdCBtZW1vcnlfbm90aWZ5ICphcmc7CisJdW5zaWduZWQgY2hhciBpZDsKKwlpbnQgcmMgPSAwOworCisJYXJnID0gZGF0YTsKKwlzdGFydCA9IGFyZy0+c3RhcnRfcGZuIDw8IFBBR0VfU0hJRlQ7CisJc2l6ZSA9IGFyZy0+bnJfcGFnZXMgPDwgUEFHRV9TSElGVDsKKwltdXRleF9sb2NrKCZzY2xwX21lbV9tdXRleCk7CisJZm9yIChpZCA9IDA7IGlkIDw9IHNjbHBfbWF4X3N0b3JhZ2VfaWQ7IGlkKyspCisJCWlmICghdGVzdF9iaXQoaWQsIHNjbHBfc3RvcmFnZV9pZHMpKQorCQkJc2NscF9hdHRhY2hfc3RvcmFnZShpZCk7CisJc3dpdGNoIChhY3Rpb24pIHsKKwljYXNlIE1FTV9PTkxJTkU6CisJCWJyZWFrOworCWNhc2UgTUVNX0dPSU5HX09OTElORToKKwkJcmMgPSBzY2xwX21lbV9jaGFuZ2Vfc3RhdGUoc3RhcnQsIHNpemUsIDEpOworCQlicmVhazsKKwljYXNlIE1FTV9DQU5DRUxfT05MSU5FOgorCQlzY2xwX21lbV9jaGFuZ2Vfc3RhdGUoc3RhcnQsIHNpemUsIDApOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlyYyA9IC1FSU5WQUw7CisJCWJyZWFrOworCX0KKwltdXRleF91bmxvY2soJnNjbHBfbWVtX211dGV4KTsKKwlyZXR1cm4gcmMgPyBOT1RJRllfQkFEIDogTk9USUZZX09LOworfQorCitzdGF0aWMgc3RydWN0IG5vdGlmaWVyX2Jsb2NrIHNjbHBfbWVtX25iID0geworCS5ub3RpZmllcl9jYWxsID0gc2NscF9tZW1fbm90aWZpZXIsCit9OworCitzdGF0aWMgdm9pZCBfX2luaXQgYWRkX21lbW9yeV9tZXJnZWQodTE2IHJuKQoreworCXN0YXRpYyB1MTYgZmlyc3Rfcm4sIG51bTsKKwl1bnNpZ25lZCBsb25nIGxvbmcgc3RhcnQsIHNpemU7CisKKwlpZiAocm4gJiYgZmlyc3Rfcm4gJiYgKGZpcnN0X3JuICsgbnVtID09IHJuKSkgeworCQludW0rKzsKKwkJcmV0dXJuOworCX0KKwlpZiAoIWZpcnN0X3JuKQorCQlnb3RvIHNraXBfYWRkOworCXN0YXJ0ID0gcm4yYWRkcihmaXJzdF9ybik7CisJc2l6ZSA9ICh1bnNpZ25lZCBsb25nIGxvbmcgKSBudW0gKiByem07CisJaWYgKHN0YXJ0ID49IFZNRU1fTUFYX1BIWVMpCisJCWdvdG8gc2tpcF9hZGQ7CisJaWYgKHN0YXJ0ICsgc2l6ZSA+IFZNRU1fTUFYX1BIWVMpCisJCXNpemUgPSBWTUVNX01BWF9QSFlTIC0gc3RhcnQ7CisJYWRkX21lbW9yeSgwLCBzdGFydCwgc2l6ZSk7Citza2lwX2FkZDoKKwlmaXJzdF9ybiA9IHJuOworCW51bSA9IDE7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBzY2xwX2FkZF9zdGFuZGJ5X21lbW9yeSh2b2lkKQoreworCXN0cnVjdCBtZW1vcnlfaW5jcmVtZW50ICppbmNyOworCisJbGlzdF9mb3JfZWFjaF9lbnRyeShpbmNyLCAmc2NscF9tZW1fbGlzdCwgbGlzdCkKKwkJaWYgKGluY3ItPnN0YW5kYnkpCisJCQlhZGRfbWVtb3J5X21lcmdlZChpbmNyLT5ybik7CisJYWRkX21lbW9yeV9tZXJnZWQoMCk7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBpbnNlcnRfaW5jcmVtZW50KHUxNiBybiwgaW50IHN0YW5kYnksIGludCBhc3NpZ25lZCkKK3sKKwlzdHJ1Y3QgbWVtb3J5X2luY3JlbWVudCAqaW5jciwgKm5ld19pbmNyOworCXN0cnVjdCBsaXN0X2hlYWQgKnByZXY7CisJdTE2IGxhc3Rfcm47CisKKwluZXdfaW5jciA9IGt6YWxsb2Moc2l6ZW9mKCpuZXdfaW5jciksIEdGUF9LRVJORUwpOworCWlmICghbmV3X2luY3IpCisJCXJldHVybjsKKwluZXdfaW5jci0+cm4gPSBybjsKKwluZXdfaW5jci0+c3RhbmRieSA9IHN0YW5kYnk7CisJbGFzdF9ybiA9IDA7CisJcHJldiA9ICZzY2xwX21lbV9saXN0OworCWxpc3RfZm9yX2VhY2hfZW50cnkoaW5jciwgJnNjbHBfbWVtX2xpc3QsIGxpc3QpIHsKKwkJaWYgKGFzc2lnbmVkICYmIGluY3ItPnJuID4gcm4pCisJCQlicmVhazsKKwkJaWYgKCFhc3NpZ25lZCAmJiBpbmNyLT5ybiAtIGxhc3Rfcm4gPiAxKQorCQkJYnJlYWs7CisJCWxhc3Rfcm4gPSBpbmNyLT5ybjsKKwkJcHJldiA9ICZpbmNyLT5saXN0OworCX0KKwlpZiAoIWFzc2lnbmVkKQorCQluZXdfaW5jci0+cm4gPSBsYXN0X3JuICsgMTsKKwlpZiAobmV3X2luY3ItPnJuID4gcm5tYXgpIHsKKwkJa2ZyZWUobmV3X2luY3IpOworCQlyZXR1cm47CisJfQorCWxpc3RfYWRkKCZuZXdfaW5jci0+bGlzdCwgcHJldik7Cit9CisKK3N0cnVjdCByZWFkX3N0b3JhZ2Vfc2NjYiB7CisJc3RydWN0IHNjY2JfaGVhZGVyIGhlYWRlcjsKKwl1MTYgbWF4X2lkOworCXUxNiBhc3NpZ25lZDsKKwl1MTYgc3RhbmRieTsKKwl1MTYgOjE2OworCXUzMiBlbnRyaWVzWzBdOworfSBfX3BhY2tlZDsKKworc3RhdGljIGludCBfX2luaXQgc2NscF9kZXRlY3Rfc3RhbmRieV9tZW1vcnkodm9pZCkKK3sKKwlzdHJ1Y3QgcmVhZF9zdG9yYWdlX3NjY2IgKnNjY2I7CisJaW50IGksIGlkLCBhc3NpZ25lZCwgcmM7CisKKwlpZiAoIWVhcmx5X3JlYWRfaW5mb19zY2NiX3ZhbGlkKQorCQlyZXR1cm4gMDsKKwlpZiAoKHNjbHBfZmFjaWxpdGllcyAmIDB4ZTAwMDAwMDAwMDAwVUxMKSAhPSAweGUwMDAwMDAwMDAwMFVMTCkKKwkJcmV0dXJuIDA7CisJcmMgPSAtRU5PTUVNOworCXNjY2IgPSAodm9pZCAqKSBfX2dldF9mcmVlX3BhZ2UoR0ZQX0tFUk5FTCB8IEdGUF9ETUEpOworCWlmICghc2NjYikKKwkJZ290byBvdXQ7CisJYXNzaWduZWQgPSAwOworCWZvciAoaWQgPSAwOyBpZCA8PSBzY2xwX21heF9zdG9yYWdlX2lkOyBpZCsrKSB7CisJCW1lbXNldChzY2NiLCAwLCBQQUdFX1NJWkUpOworCQlzY2NiLT5oZWFkZXIubGVuZ3RoID0gUEFHRV9TSVpFOworCQlyYyA9IGRvX3N5bmNfcmVxdWVzdCgweDAwMDQwMDAxIHwgaWQgPDwgOCwgc2NjYik7CisJCWlmIChyYykKKwkJCWdvdG8gb3V0OworCQlzd2l0Y2ggKHNjY2ItPmhlYWRlci5yZXNwb25zZV9jb2RlKSB7CisJCWNhc2UgMHgwMDEwOgorCQkJc2V0X2JpdChpZCwgc2NscF9zdG9yYWdlX2lkcyk7CisJCQlmb3IgKGkgPSAwOyBpIDwgc2NjYi0+YXNzaWduZWQ7IGkrKykgeworCQkJCWlmICghc2NjYi0+ZW50cmllc1tpXSkKKwkJCQkJY29udGludWU7CisJCQkJYXNzaWduZWQrKzsKKwkJCQlpbnNlcnRfaW5jcmVtZW50KHNjY2ItPmVudHJpZXNbaV0gPj4gMTYsIDAsIDEpOworCQkJfQorCQkJYnJlYWs7CisJCWNhc2UgMHgwMzEwOgorCQkJYnJlYWs7CisJCWNhc2UgMHgwNDEwOgorCQkJZm9yIChpID0gMDsgaSA8IHNjY2ItPmFzc2lnbmVkOyBpKyspIHsKKwkJCQlpZiAoIXNjY2ItPmVudHJpZXNbaV0pCisJCQkJCWNvbnRpbnVlOworCQkJCWFzc2lnbmVkKys7CisJCQkJaW5zZXJ0X2luY3JlbWVudChzY2NiLT5lbnRyaWVzW2ldID4+IDE2LCAxLCAxKTsKKwkJCX0KKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJcmMgPSAtRUlPOworCQkJYnJlYWs7CisJCX0KKwkJaWYgKCFyYykKKwkJCXNjbHBfbWF4X3N0b3JhZ2VfaWQgPSBzY2NiLT5tYXhfaWQ7CisJfQorCWlmIChyYyB8fCBsaXN0X2VtcHR5KCZzY2xwX21lbV9saXN0KSkKKwkJZ290byBvdXQ7CisJZm9yIChpID0gMTsgaSA8PSBybm1heCAtIGFzc2lnbmVkOyBpKyspCisJCWluc2VydF9pbmNyZW1lbnQoMCwgMSwgMCk7CisJcmMgPSByZWdpc3Rlcl9tZW1vcnlfbm90aWZpZXIoJnNjbHBfbWVtX25iKTsKKwlpZiAocmMpCisJCWdvdG8gb3V0OworCXNjbHBfYWRkX3N0YW5kYnlfbWVtb3J5KCk7CitvdXQ6CisJZnJlZV9wYWdlKCh1bnNpZ25lZCBsb25nKSBzY2NiKTsKKwlyZXR1cm4gcmM7Cit9CitfX2luaXRjYWxsKHNjbHBfZGV0ZWN0X3N0YW5kYnlfbWVtb3J5KTsKKworI2VuZGlmIC8qIENPTkZJR19NRU1PUllfSE9UUExVRyAqLworCiAvKgogICogQ2hhbm5lbCBwYXRoIGNvbmZpZ3VyYXRpb24gcmVsYXRlZCBmdW5jdGlvbnMuCiAgKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaGFyL3NjbHBfY29uLmMgYi9kcml2ZXJzL3MzOTAvY2hhci9zY2xwX2Nvbi5jCmluZGV4IGVhZDEwNDMuLjdlNjE5YzUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaGFyL3NjbHBfY29uLmMKKysrIGIvZHJpdmVycy9zMzkwL2NoYXIvc2NscF9jb24uYwpAQCAtMTQsMTQgKzE0LDEzIEBACiAjaW5jbHVkZSA8bGludXgvdGltZXIuaD4KICNpbmNsdWRlIDxsaW51eC9qaWZmaWVzLmg+CiAjaW5jbHVkZSA8bGludXgvYm9vdG1lbS5oPgorI2luY2x1ZGUgPGxpbnV4L3Rlcm1pb3MuaD4KICNpbmNsdWRlIDxsaW51eC9lcnIuaD4KIAogI2luY2x1ZGUgInNjbHAuaCIKICNpbmNsdWRlICJzY2xwX3J3LmgiCiAjaW5jbHVkZSAic2NscF90dHkuaCIKIAotI2RlZmluZSBTQ0xQX0NPTl9QUklOVF9IRUFERVIgInNjbHAgY29uc29sZSBkcml2ZXI6ICIKLQogI2RlZmluZSBzY2xwX2NvbnNvbGVfbWFqb3IgNAkJLyogVFRZQVVYX01BSk9SICovCiAjZGVmaW5lIHNjbHBfY29uc29sZV9taW5vciA2NAogI2RlZmluZSBzY2xwX2NvbnNvbGVfbmFtZSAgInR0eVMiCkBAIC0yMjIsOCArMjIxLDYgQEAKIAlJTklUX0xJU1RfSEVBRCgmc2NscF9jb25fcGFnZXMpOwogCWZvciAoaSA9IDA7IGkgPCBNQVhfQ09OU09MRV9QQUdFUzsgaSsrKSB7CiAJCXBhZ2UgPSBhbGxvY19ib290bWVtX2xvd19wYWdlcyhQQUdFX1NJWkUpOwotCQlpZiAocGFnZSA9PSBOVUxMKQotCQkJcmV0dXJuIC1FTk9NRU07CiAJCWxpc3RfYWRkX3RhaWwoKHN0cnVjdCBsaXN0X2hlYWQgKikgcGFnZSwgJnNjbHBfY29uX3BhZ2VzKTsKIAl9CiAJSU5JVF9MSVNUX0hFQUQoJnNjbHBfY29uX291dHF1ZXVlKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaGFyL3NjbHBfY29uZmlnLmMgYi9kcml2ZXJzL3MzOTAvY2hhci9zY2xwX2NvbmZpZy5jCmluZGV4IGFkMDVhODcuLmZmZjRmZjQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaGFyL3NjbHBfY29uZmlnLmMKKysrIGIvZHJpdmVycy9zMzkwL2NoYXIvc2NscF9jb25maWcuYwpAQCAtOCw2ICs4LDcgQEAKICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KICNpbmNsdWRlIDxsaW51eC9jcHUuaD4KKyNpbmNsdWRlIDxsaW51eC9rdGhyZWFkLmg+CiAjaW5jbHVkZSA8bGludXgvc3lzZGV2Lmg+CiAjaW5jbHVkZSA8bGludXgvd29ya3F1ZXVlLmg+CiAjaW5jbHVkZSA8YXNtL3NtcC5oPgpAQCAtNDAsOSArNDEsMTkgQEAKIAlwdXRfb25saW5lX2NwdXMoKTsKIH0KIAotc3RhdGljIHZvaWQgX19yZWYgc2NscF9jcHVfY2hhbmdlX25vdGlmeShzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCitzdGF0aWMgaW50IHNjbHBfY3B1X2t0aHJlYWQodm9pZCAqZGF0YSkKIHsKIAlzbXBfcmVzY2FuX2NwdXMoKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgX19yZWYgc2NscF9jcHVfY2hhbmdlX25vdGlmeShzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCit7CisJLyogQ2FuJ3QgY2FsbCBzbXBfcmVzY2FuX2NwdXMoKSBmcm9tICB3b3JrcXVldWUgY29udGV4dCBzaW5jZSBpdCBtYXkKKwkgKiBkZWFkbG9jayBpbiBjYXNlIG9mIGNwdSBob3RwbHVnLiBTbyB3ZSBoYXZlIHRvIGNyZWF0ZSBhIGtlcm5lbAorCSAqIHRocmVhZCBpbiBvcmRlciB0byBjYWxsIGl0LgorCSAqLworCWt0aHJlYWRfcnVuKHNjbHBfY3B1X2t0aHJlYWQsIE5VTEwsICJjcHVfcmVzY2FuIik7CiB9CiAKIHN0YXRpYyB2b2lkIHNjbHBfY29uZl9yZWNlaXZlcl9mbihzdHJ1Y3QgZXZidWZfaGVhZGVyICpldmJ1ZikKQEAgLTc0LDEwICs4NSw4IEBACiAJSU5JVF9XT1JLKCZzY2xwX2NwdV9jaGFuZ2Vfd29yaywgc2NscF9jcHVfY2hhbmdlX25vdGlmeSk7CiAKIAlyYyA9IHNjbHBfcmVnaXN0ZXIoJnNjbHBfY29uZl9yZWdpc3Rlcik7Ci0JaWYgKHJjKSB7Ci0JCXByaW50ayhLRVJOX0VSUiBUQUcgImZhaWxlZCB0byByZWdpc3RlciAoJWQpLlxuIiwgcmMpOworCWlmIChyYykKIAkJcmV0dXJuIHJjOwotCX0KIAogCWlmICghKHNjbHBfY29uZl9yZWdpc3Rlci5zY2xwX3NlbmRfbWFzayAmIEVWVFlQX0NPTkZNR01EQVRBX01BU0spKSB7CiAJCXByaW50ayhLRVJOX1dBUk5JTkcgVEFHICJubyBjb25maWd1cmF0aW9uIG1hbmFnZW1lbnQuXG4iKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaGFyL3NjbHBfY3BpX3N5cy5jIGIvZHJpdmVycy9zMzkwL2NoYXIvc2NscF9jcGlfc3lzLmMKaW5kZXggOWYzNzQ1Ni4uZDg4N2JkMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2NoYXIvc2NscF9jcGlfc3lzLmMKKysrIGIvZHJpdmVycy9zMzkwL2NoYXIvc2NscF9jcGlfc3lzLmMKQEAgLTI3LDYgKzI3LDggQEAKICNkZWZpbmUgQ1BJX0xFTkdUSF9OQU1FIDgKICNkZWZpbmUgQ1BJX0xFTkdUSF9MRVZFTCAxNgogCitzdGF0aWMgREVGSU5FX01VVEVYKHNjbHBfY3BpX211dGV4KTsKKwogc3RydWN0IGNwaV9ldmJ1ZiB7CiAJc3RydWN0IGV2YnVmX2hlYWRlciBoZWFkZXI7CiAJdTgJaWRfZm9ybWF0OwpAQCAtMTI0LDIxICsxMjYsMTUgQEAKIAlpbnQgcmVzcG9uc2U7CiAKIAlyYyA9IHNjbHBfcmVnaXN0ZXIoJnNjbHBfY3BpX2V2ZW50KTsKLQlpZiAocmMpIHsKLQkJcHJpbnRrKEtFUk5fV0FSTklORyAiY3BpOiBjb3VsZCBub3QgcmVnaXN0ZXIgIgotCQkJInRvIGhhcmR3YXJlIGNvbnNvbGUuXG4iKTsKKwlpZiAocmMpCiAJCWdvdG8gb3V0OwotCX0KIAlpZiAoIShzY2xwX2NwaV9ldmVudC5zY2xwX3JlY2VpdmVfbWFzayAmIEVWVFlQX0NUTFBST0dJREVOVF9NQVNLKSkgewotCQlwcmludGsoS0VSTl9XQVJOSU5HICJjcGk6IG5vIGNvbnRyb2wgcHJvZ3JhbSAiCi0JCQkiaWRlbnRpZmljYXRpb24gc3VwcG9ydFxuIik7CiAJCXJjID0gLUVPUE5PVFNVUFA7CiAJCWdvdG8gb3V0X3VucmVnaXN0ZXI7CiAJfQogCiAJcmVxID0gY3BpX3ByZXBhcmVfcmVxKCk7CiAJaWYgKElTX0VSUihyZXEpKSB7Ci0JCXByaW50ayhLRVJOX1dBUk5JTkcgImNwaTogY291bGQgbm90IGFsbG9jYXRlIHJlcXVlc3RcbiIpOwogCQlyYyA9IFBUUl9FUlIocmVxKTsKIAkJZ290byBvdXRfdW5yZWdpc3RlcjsKIAl9CkBAIC0xNDgsMTAgKzE0NCw4IEBACiAKIAkvKiBBZGQgcmVxdWVzdCB0byBzY2xwIHF1ZXVlICovCiAJcmMgPSBzY2xwX2FkZF9yZXF1ZXN0KHJlcSk7Ci0JaWYgKHJjKSB7Ci0JCXByaW50ayhLRVJOX1dBUk5JTkcgImNwaTogY291bGQgbm90IHN0YXJ0IHJlcXVlc3RcbiIpOworCWlmIChyYykKIAkJZ290byBvdXRfZnJlZV9yZXE7Ci0JfQogCiAJd2FpdF9mb3JfY29tcGxldGlvbigmY29tcGxldGlvbik7CiAKQEAgLTIyMyw3ICsyMTcsMTIgQEAKIHN0YXRpYyBzc2l6ZV90IHN5c3RlbV9uYW1lX3Nob3coc3RydWN0IGtvYmplY3QgKmtvYmosCiAJCQkJc3RydWN0IGtvYmpfYXR0cmlidXRlICphdHRyLCBjaGFyICpwYWdlKQogewotCXJldHVybiBzbnByaW50ZihwYWdlLCBQQUdFX1NJWkUsICIlc1xuIiwgc3lzdGVtX25hbWUpOworCWludCByYzsKKworCW11dGV4X2xvY2soJnNjbHBfY3BpX211dGV4KTsKKwlyYyA9IHNucHJpbnRmKHBhZ2UsIFBBR0VfU0laRSwgIiVzXG4iLCBzeXN0ZW1fbmFtZSk7CisJbXV0ZXhfdW5sb2NrKCZzY2xwX2NwaV9tdXRleCk7CisJcmV0dXJuIHJjOwogfQogCiBzdGF0aWMgc3NpemVfdCBzeXN0ZW1fbmFtZV9zdG9yZShzdHJ1Y3Qga29iamVjdCAqa29iaiwKQEAgLTIzNyw3ICsyMzYsOSBAQAogCWlmIChyYykKIAkJcmV0dXJuIHJjOwogCisJbXV0ZXhfbG9jaygmc2NscF9jcGlfbXV0ZXgpOwogCXNldF9zdHJpbmcoc3lzdGVtX25hbWUsIGJ1Zik7CisJbXV0ZXhfdW5sb2NrKCZzY2xwX2NwaV9tdXRleCk7CiAKIAlyZXR1cm4gbGVuOwogfQpAQCAtMjQ4LDcgKzI0OSwxMiBAQAogc3RhdGljIHNzaXplX3Qgc3lzcGxleF9uYW1lX3Nob3coc3RydWN0IGtvYmplY3QgKmtvYmosCiAJCQkJIHN0cnVjdCBrb2JqX2F0dHJpYnV0ZSAqYXR0ciwgY2hhciAqcGFnZSkKIHsKLQlyZXR1cm4gc25wcmludGYocGFnZSwgUEFHRV9TSVpFLCAiJXNcbiIsIHN5c3BsZXhfbmFtZSk7CisJaW50IHJjOworCisJbXV0ZXhfbG9jaygmc2NscF9jcGlfbXV0ZXgpOworCXJjID0gc25wcmludGYocGFnZSwgUEFHRV9TSVpFLCAiJXNcbiIsIHN5c3BsZXhfbmFtZSk7CisJbXV0ZXhfdW5sb2NrKCZzY2xwX2NwaV9tdXRleCk7CisJcmV0dXJuIHJjOwogfQogCiBzdGF0aWMgc3NpemVfdCBzeXNwbGV4X25hbWVfc3RvcmUoc3RydWN0IGtvYmplY3QgKmtvYmosCkBAIC0yNjIsNyArMjY4LDkgQEAKIAlpZiAocmMpCiAJCXJldHVybiByYzsKIAorCW11dGV4X2xvY2soJnNjbHBfY3BpX211dGV4KTsKIAlzZXRfc3RyaW5nKHN5c3BsZXhfbmFtZSwgYnVmKTsKKwltdXRleF91bmxvY2soJnNjbHBfY3BpX211dGV4KTsKIAogCXJldHVybiBsZW47CiB9CkBAIC0yNzMsNyArMjgxLDEyIEBACiBzdGF0aWMgc3NpemVfdCBzeXN0ZW1fdHlwZV9zaG93KHN0cnVjdCBrb2JqZWN0ICprb2JqLAogCQkJCXN0cnVjdCBrb2JqX2F0dHJpYnV0ZSAqYXR0ciwgY2hhciAqcGFnZSkKIHsKLQlyZXR1cm4gc25wcmludGYocGFnZSwgUEFHRV9TSVpFLCAiJXNcbiIsIHN5c3RlbV90eXBlKTsKKwlpbnQgcmM7CisKKwltdXRleF9sb2NrKCZzY2xwX2NwaV9tdXRleCk7CisJcmMgPSBzbnByaW50ZihwYWdlLCBQQUdFX1NJWkUsICIlc1xuIiwgc3lzdGVtX3R5cGUpOworCW11dGV4X3VubG9jaygmc2NscF9jcGlfbXV0ZXgpOworCXJldHVybiByYzsKIH0KIAogc3RhdGljIHNzaXplX3Qgc3lzdGVtX3R5cGVfc3RvcmUoc3RydWN0IGtvYmplY3QgKmtvYmosCkBAIC0yODcsNyArMzAwLDkgQEAKIAlpZiAocmMpCiAJCXJldHVybiByYzsKIAorCW11dGV4X2xvY2soJnNjbHBfY3BpX211dGV4KTsKIAlzZXRfc3RyaW5nKHN5c3RlbV90eXBlLCBidWYpOworCW11dGV4X3VubG9jaygmc2NscF9jcGlfbXV0ZXgpOwogCiAJcmV0dXJuIGxlbjsKIH0KQEAgLTI5OCw4ICszMTMsMTEgQEAKIHN0YXRpYyBzc2l6ZV90IHN5c3RlbV9sZXZlbF9zaG93KHN0cnVjdCBrb2JqZWN0ICprb2JqLAogCQkJCSBzdHJ1Y3Qga29ial9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKnBhZ2UpCiB7Ci0JdW5zaWduZWQgbG9uZyBsb25nIGxldmVsID0gc3lzdGVtX2xldmVsOworCXVuc2lnbmVkIGxvbmcgbG9uZyBsZXZlbDsKIAorCW11dGV4X2xvY2soJnNjbHBfY3BpX211dGV4KTsKKwlsZXZlbCA9IHN5c3RlbV9sZXZlbDsKKwltdXRleF91bmxvY2soJnNjbHBfY3BpX211dGV4KTsKIAlyZXR1cm4gc25wcmludGYocGFnZSwgUEFHRV9TSVpFLCAiJSMwMThsbHhcbiIsIGxldmVsKTsKIH0KIApAQCAtMzIwLDggKzMzOCw5IEBACiAJaWYgKCplbmRwKQogCQlyZXR1cm4gLUVJTlZBTDsKIAorCW11dGV4X2xvY2soJnNjbHBfY3BpX211dGV4KTsKIAlzeXN0ZW1fbGV2ZWwgPSBsZXZlbDsKLQorCW11dGV4X3VubG9jaygmc2NscF9jcGlfbXV0ZXgpOwogCXJldHVybiBsZW47CiB9CiAKQEAgLTMzNCw3ICszNTMsOSBAQAogewogCWludCByYzsKIAorCW11dGV4X2xvY2soJnNjbHBfY3BpX211dGV4KTsKIAlyYyA9IGNwaV9yZXEoKTsKKwltdXRleF91bmxvY2soJnNjbHBfY3BpX211dGV4KTsKIAlpZiAocmMpCiAJCXJldHVybiByYzsKIApAQCAtMzczLDEyICszOTQsMTYgQEAKIAlpZiAocmMpCiAJCXJldHVybiByYzsKIAorCW11dGV4X2xvY2soJnNjbHBfY3BpX211dGV4KTsKIAlzZXRfc3RyaW5nKHN5c3RlbV9uYW1lLCBzeXN0ZW0pOwogCXNldF9zdHJpbmcoc3lzcGxleF9uYW1lLCBzeXNwbGV4KTsKIAlzZXRfc3RyaW5nKHN5c3RlbV90eXBlLCB0eXBlKTsKIAlzeXN0ZW1fbGV2ZWwgPSBsZXZlbDsKIAotCXJldHVybiBjcGlfcmVxKCk7CisJcmMgPSBjcGlfcmVxKCk7CisJbXV0ZXhfdW5sb2NrKCZzY2xwX2NwaV9tdXRleCk7CisKKwlyZXR1cm4gcmM7CiB9CiBFWFBPUlRfU1lNQk9MKHNjbHBfY3BpX3NldF9kYXRhKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2NoYXIvc2NscF9xdWllc2NlLmMgYi9kcml2ZXJzL3MzOTAvY2hhci9zY2xwX3F1aWVzY2UuYwppbmRleCA0NWZmMjVlLi44NGMxOTFjIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2hhci9zY2xwX3F1aWVzY2UuYworKysgYi9kcml2ZXJzL3MzOTAvY2hhci9zY2xwX3F1aWVzY2UuYwpAQCAtNTEsMTMgKzUxLDcgQEAKIHN0YXRpYyBpbnQgX19pbml0CiBzY2xwX3F1aWVzY2VfaW5pdCh2b2lkKQogewotCWludCByYzsKLQotCXJjID0gc2NscF9yZWdpc3Rlcigmc2NscF9xdWllc2NlX2V2ZW50KTsKLQlpZiAocmMpCi0JCXByaW50ayhLRVJOX1dBUk5JTkcgInNjbHA6IGNvdWxkIG5vdCByZWdpc3RlciBxdWllc2NlIGhhbmRsZXIgIgotCQkgICAgICAgIihyYz0lZClcbiIsIHJjKTsKLQlyZXR1cm4gcmM7CisJcmV0dXJuIHNjbHBfcmVnaXN0ZXIoJnNjbHBfcXVpZXNjZV9ldmVudCk7CiB9CiAKIG1vZHVsZV9pbml0KHNjbHBfcXVpZXNjZV9pbml0KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaGFyL3NjbHBfcncuYyBiL2RyaXZlcnMvczM5MC9jaGFyL3NjbHBfcncuYwppbmRleCBkYTA5NzgxLi43MTBhZjQyIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2hhci9zY2xwX3J3LmMKKysrIGIvZHJpdmVycy9zMzkwL2NoYXIvc2NscF9ydy5jCkBAIC0xOSw4ICsxOSw2IEBACiAjaW5jbHVkZSAic2NscC5oIgogI2luY2x1ZGUgInNjbHBfcncuaCIKIAotI2RlZmluZSBTQ0xQX1JXX1BSSU5UX0hFQURFUiAic2NscCBsb3cgbGV2ZWwgZHJpdmVyOiAiCi0KIC8qCiAgKiBUaGUgcm9vbSBmb3IgdGhlIFNDQ0IgKG9ubHkgZm9yIHdyaXRpbmcpIGlzIG5vdCBlcXVhbCB0byBhIHBhZ2VzIHNpemUKICAqIChhcyBpdCBpcyBzcGVjaWZpZWQgYXMgdGhlIG1heGltdW0gc2l6ZSBpbiB0aGUgU0NMUCBkb2N1bWVudGF0aW9uKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2NoYXIvc2NscF9zZGlhcy5jIGIvZHJpdmVycy9zMzkwL2NoYXIvc2NscF9zZGlhcy5jCmluZGV4IDFjMDY0OTcuLjhiODU0ODUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaGFyL3NjbHBfc2RpYXMuYworKysgYi9kcml2ZXJzL3MzOTAvY2hhci9zY2xwX3NkaWFzLmMKQEAgLTIzOSwxMCArMjM5LDggQEAKIAlkZWJ1Z19yZWdpc3Rlcl92aWV3KHNkaWFzX2RiZiwgJmRlYnVnX3NwcmludGZfdmlldyk7CiAJZGVidWdfc2V0X2xldmVsKHNkaWFzX2RiZiwgNik7CiAJcmMgPSBzY2xwX3JlZ2lzdGVyKCZzY2xwX3NkaWFzX3JlZ2lzdGVyKTsKLQlpZiAocmMpIHsKLQkJRVJST1JfTVNHKCJzY2xwIHJlZ2lzdGVyIGZhaWxlZFxuIik7CisJaWYgKHJjKQogCQlyZXR1cm4gcmM7Ci0JfQogCWluaXRfd2FpdHF1ZXVlX2hlYWQoJnNkaWFzX3dxKTsKIAlUUkFDRSgiaW5pdCBkb25lXG4iKTsKIAlyZXR1cm4gMDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaGFyL3NjbHBfdHR5LmMgYi9kcml2ZXJzL3MzOTAvY2hhci9zY2xwX3R0eS5jCmluZGV4IDQwYjExNTIuLjQzNGJhMDQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaGFyL3NjbHBfdHR5LmMKKysrIGIvZHJpdmVycy9zMzkwL2NoYXIvc2NscF90dHkuYwpAQCAtMTMsNyArMTMsNiBAQAogI2luY2x1ZGUgPGxpbnV4L3R0eS5oPgogI2luY2x1ZGUgPGxpbnV4L3R0eV9kcml2ZXIuaD4KICNpbmNsdWRlIDxsaW51eC90dHlfZmxpcC5oPgotI2luY2x1ZGUgPGxpbnV4L3dhaXQuaD4KICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CiAjaW5jbHVkZSA8bGludXgvZXJyLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgpAQCAtMjUsOCArMjQsNiBAQAogI2luY2x1ZGUgInNjbHBfcncuaCIKICNpbmNsdWRlICJzY2xwX3R0eS5oIgogCi0jZGVmaW5lIFNDTFBfVFRZX1BSSU5UX0hFQURFUiAic2NscCB0dHkgZHJpdmVyOiAiCi0KIC8qCiAgKiBzaXplIG9mIGEgYnVmZmVyIHRoYXQgY29sbGVjdHMgc2luZ2xlIGNoYXJhY3RlcnMgY29taW5nIGluCiAgKiB2aWEgc2NscF90dHlfcHV0X2NoYXIoKQpAQCAtNTAsOCArNDcsNiBAQAogc3RhdGljIHN0cnVjdCBzY2xwX2J1ZmZlciAqc2NscF90dHlidWY7CiAvKiBUaW1lciBmb3IgZGVsYXllZCBvdXRwdXQgb2YgY29uc29sZSBtZXNzYWdlcy4gKi8KIHN0YXRpYyBzdHJ1Y3QgdGltZXJfbGlzdCBzY2xwX3R0eV90aW1lcjsKLS8qIFdhaXRxdWV1ZSB0byB3YWl0IGZvciBidWZmZXJzIHRvIGdldCBlbXB0eS4gKi8KLXN0YXRpYyB3YWl0X3F1ZXVlX2hlYWRfdCBzY2xwX3R0eV93YWl0cTsKIAogc3RhdGljIHN0cnVjdCB0dHlfc3RydWN0ICpzY2xwX3R0eTsKIHN0YXRpYyB1bnNpZ25lZCBjaGFyIHNjbHBfdHR5X2NoYXJzW1NDTFBfVFRZX0JVRl9TSVpFXTsKQEAgLTU5LDE5ICs1NCwxMSBAQAogCiBzdHJ1Y3QgdHR5X2RyaXZlciAqc2NscF90dHlfZHJpdmVyOwogCi1zdGF0aWMgc3RydWN0IHNjbHBfaW9jdGxzIHNjbHBfaW9jdGxzOwotc3RhdGljIHN0cnVjdCBzY2xwX2lvY3RscyBzY2xwX2lvY3Rsc19pbml0ID0KLXsKLQk4LAkJCS8qIDEgaG9yLiB0YWIuID0gOCBzcGFjZXMgKi8KLQkwLAkJCS8qIG5vIGVjaG8gb2YgaW5wdXQgYnkgdGhpcyBkcml2ZXIgKi8KLQk4MCwJCQkvKiA4MCBjaGFyYWN0ZXJzL2xpbmUgKi8KLQkxLAkJCS8qIHdyaXRlIGFmdGVyIDEvMTAgcyB3aXRob3V0IGZpbmFsIG5ldyBsaW5lICovCi0JTUFYX0tNRU1fUEFHRVMsCQkvKiBxdWljayBmaXg6IGF2b2lkIF9fYWxsb2NfcGFnZXMgKi8KLQlNQVhfS01FTV9QQUdFUywJCS8qIHRha2UgMzIvNjQgcGFnZXMgZnJvbSBrZXJuZWwgbWVtb3J5LCAqLwotCTAsCQkJLyogZG8gbm90IGNvbnZlcnQgdG8gbG93ZXIgY2FzZSAqLwotCTB4NmMJCQkvKiB0byBzZXByYXRlIHVwcGVyIGFuZCBsb3dlciBjYXNlICovCi0JCQkJLyogKCclJyBpbiBFQkNESUMpICovCi19Oworc3RhdGljIGludCBzY2xwX3R0eV90b2xvd2VyOworc3RhdGljIGludCBzY2xwX3R0eV9jb2x1bW5zID0gODA7CisKKyNkZWZpbmUgU1BBQ0VTX1BFUl9UQUIgOAorI2RlZmluZSBDQVNFX0RFTElNSVRFUiAweDZjIC8qIHRvIHNlcGFyYXRlIHVwcGVyIGFuZCBsb3dlciBjYXNlICglIGluIEVCQ0RJQykgKi8KIAogLyogVGhpcyByb3V0aW5lIGlzIGNhbGxlZCB3aGVuZXZlciB3ZSB0cnkgdG8gb3BlbiBhIFNDTFAgdGVybWluYWwuICovCiBzdGF0aWMgaW50CkBAIC05MiwxMzYgKzc5LDYgQEAKIAlzY2xwX3R0eSA9IE5VTEw7CiB9CiAKLS8qIGV4ZWN1dGUgY29tbWFuZHMgdG8gY29udHJvbCB0aGUgaS9vIGJlaGF2aW91ciBvZiB0aGUgU0NMUCB0dHkgYXQgcnVudGltZSAqLwotc3RhdGljIGludAotc2NscF90dHlfaW9jdGwoc3RydWN0IHR0eV9zdHJ1Y3QgKnR0eSwgc3RydWN0IGZpbGUgKiBmaWxlLAotCSAgICAgICB1bnNpZ25lZCBpbnQgY21kLCB1bnNpZ25lZCBsb25nIGFyZykKLXsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCXVuc2lnbmVkIGludCBvYnVmOwotCWludCBjaGVjazsKLQlpbnQgcmM7Ci0KLQlpZiAodHR5LT5mbGFncyAmICgxIDw8IFRUWV9JT19FUlJPUikpCi0JCXJldHVybiAtRUlPOwotCXJjID0gMDsKLQljaGVjayA9IDA7Ci0Jc3dpdGNoIChjbWQpIHsKLQljYXNlIFRJT0NTQ0xQU0hUQUI6Ci0JCS8qIHNldCB3aWR0aCBvZiBob3Jpem9udGFsIHRhYgkqLwotCQlpZiAoZ2V0X3VzZXIoc2NscF9pb2N0bHMuaHRhYiwgKHVuc2lnbmVkIHNob3J0IF9fdXNlciAqKSBhcmcpKQotCQkJcmMgPSAtRUZBVUxUOwotCQllbHNlCi0JCQljaGVjayA9IDE7Ci0JCWJyZWFrOwotCWNhc2UgVElPQ1NDTFBHSFRBQjoKLQkJLyogZ2V0IHdpZHRoIG9mIGhvcml6b250YWwgdGFiCSovCi0JCWlmIChwdXRfdXNlcihzY2xwX2lvY3Rscy5odGFiLCAodW5zaWduZWQgc2hvcnQgX191c2VyICopIGFyZykpCi0JCQlyYyA9IC1FRkFVTFQ7Ci0JCWJyZWFrOwotCWNhc2UgVElPQ1NDTFBTRUNITzoKLQkJLyogZW5hYmxlL2Rpc2FibGUgZWNobyBvZiBpbnB1dCAqLwotCQlpZiAoZ2V0X3VzZXIoc2NscF9pb2N0bHMuZWNobywgKHVuc2lnbmVkIGNoYXIgX191c2VyICopIGFyZykpCi0JCQlyYyA9IC1FRkFVTFQ7Ci0JCWJyZWFrOwotCWNhc2UgVElPQ1NDTFBHRUNITzoKLQkJLyogSXMgZWNobyBvZiBpbnB1dCBlbmFibGVkID8gICovCi0JCWlmIChwdXRfdXNlcihzY2xwX2lvY3Rscy5lY2hvLCAodW5zaWduZWQgY2hhciBfX3VzZXIgKikgYXJnKSkKLQkJCXJjID0gLUVGQVVMVDsKLQkJYnJlYWs7Ci0JY2FzZSBUSU9DU0NMUFNDT0xTOgotCQkvKiBzZXQgbnVtYmVyIG9mIGNvbHVtbnMgZm9yIG91dHB1dCAgKi8KLQkJaWYgKGdldF91c2VyKHNjbHBfaW9jdGxzLmNvbHVtbnMsICh1bnNpZ25lZCBzaG9ydCBfX3VzZXIgKikgYXJnKSkKLQkJCXJjID0gLUVGQVVMVDsKLQkJZWxzZQotCQkJY2hlY2sgPSAxOwotCQlicmVhazsKLQljYXNlIFRJT0NTQ0xQR0NPTFM6Ci0JCS8qIGdldCBudW1iZXIgb2YgY29sdW1ucyBmb3Igb3V0cHV0ICAqLwotCQlpZiAocHV0X3VzZXIoc2NscF9pb2N0bHMuY29sdW1ucywgKHVuc2lnbmVkIHNob3J0IF9fdXNlciAqKSBhcmcpKQotCQkJcmMgPSAtRUZBVUxUOwotCQlicmVhazsKLQljYXNlIFRJT0NTQ0xQU05MOgotCQkvKiBlbmFibGUvZGlzYWJsZSB3cml0aW5nIHdpdGhvdXQgZmluYWwgbmV3IGxpbmUgY2hhcmFjdGVyICAqLwotCQlpZiAoZ2V0X3VzZXIoc2NscF9pb2N0bHMuZmluYWxfbmwsIChzaWduZWQgY2hhciBfX3VzZXIgKikgYXJnKSkKLQkJCXJjID0gLUVGQVVMVDsKLQkJYnJlYWs7Ci0JY2FzZSBUSU9DU0NMUEdOTDoKLQkJLyogSXMgd3JpdGluZyB3aXRob3V0IGZpbmFsIG5ldyBsaW5lIGNoYXJhY3RlciBlbmFibGVkID8gICovCi0JCWlmIChwdXRfdXNlcihzY2xwX2lvY3Rscy5maW5hbF9ubCwgKHNpZ25lZCBjaGFyIF9fdXNlciAqKSBhcmcpKQotCQkJcmMgPSAtRUZBVUxUOwotCQlicmVhazsKLQljYXNlIFRJT0NTQ0xQU09CVUY6Ci0JCS8qCi0JCSAqIHNldCB0aGUgbWF4aW11bSBidWZmZXJzIHNpemUgZm9yIG91dHB1dCwgd2lsbCBiZSByb3VuZGVkCi0JCSAqIHVwIHRvIG5leHQgNGtCIGJvdW5kYXJ5IGFuZCBzdG9yZWQgYXMgbnVtYmVyIG9mIFNDQ0JzCi0JCSAqICg0a0IgQnVmZmVycykgbGltaXRhdGlvbjogMjU2IHggNGtCCi0JCSAqLwotCQlpZiAoZ2V0X3VzZXIob2J1ZiwgKHVuc2lnbmVkIGludCBfX3VzZXIgKikgYXJnKSA9PSAwKSB7Ci0JCQlpZiAob2J1ZiAmIDB4RkZGKQotCQkJCXNjbHBfaW9jdGxzLm1heF9zY2NiID0gKG9idWYgPj4gMTIpICsgMTsKLQkJCWVsc2UKLQkJCQlzY2xwX2lvY3Rscy5tYXhfc2NjYiA9IChvYnVmID4+IDEyKTsKLQkJfSBlbHNlCi0JCQlyYyA9IC1FRkFVTFQ7Ci0JCWJyZWFrOwotCWNhc2UgVElPQ1NDTFBHT0JVRjoKLQkJLyogZ2V0IHRoZSBtYXhpbXVtIGJ1ZmZlcnMgc2l6ZSBmb3Igb3V0cHV0ICAqLwotCQlvYnVmID0gc2NscF9pb2N0bHMubWF4X3NjY2IgPDwgMTI7Ci0JCWlmIChwdXRfdXNlcihvYnVmLCAodW5zaWduZWQgaW50IF9fdXNlciAqKSBhcmcpKQotCQkJcmMgPSAtRUZBVUxUOwotCQlicmVhazsKLQljYXNlIFRJT0NTQ0xQR0tCVUY6Ci0JCS8qIGdldCB0aGUgbnVtYmVyIG9mIGJ1ZmZlcnMgZ290IGZyb20ga2VybmVsIGF0IHN0YXJ0dXAgKi8KLQkJaWYgKHB1dF91c2VyKHNjbHBfaW9jdGxzLmttZW1fc2NjYiwgKHVuc2lnbmVkIHNob3J0IF9fdXNlciAqKSBhcmcpKQotCQkJcmMgPSAtRUZBVUxUOwotCQlicmVhazsKLQljYXNlIFRJT0NTQ0xQU0NBU0U6Ci0JCS8qIGVuYWJsZS9kaXNhYmxlIGNvbnZlcnNpb24gZnJvbSB1cHBlciB0byBsb3dlciBjYXNlICovCi0JCWlmIChnZXRfdXNlcihzY2xwX2lvY3Rscy50b2xvd2VyLCAodW5zaWduZWQgY2hhciBfX3VzZXIgKikgYXJnKSkKLQkJCXJjID0gLUVGQVVMVDsKLQkJYnJlYWs7Ci0JY2FzZSBUSU9DU0NMUEdDQVNFOgotCQkvKiBJcyBjb252ZXJzaW9uIGZyb20gdXBwZXIgdG8gbG93ZXIgY2FzZSBvZiBpbnB1dCBlbmFibGVkPyAqLwotCQlpZiAocHV0X3VzZXIoc2NscF9pb2N0bHMudG9sb3dlciwgKHVuc2lnbmVkIGNoYXIgX191c2VyICopIGFyZykpCi0JCQlyYyA9IC1FRkFVTFQ7Ci0JCWJyZWFrOwotCWNhc2UgVElPQ1NDTFBTREVMSU06Ci0JCS8qCi0JCSAqIHNldCBzcGVjaWFsIGNoYXJhY3RlciB1c2VkIGZvciBzZXBhcmF0aW5nIHVwcGVyIGFuZAotCQkgKiBsb3dlciBjYXNlLCAweDAwIGRpc2FibGVzIHRoaXMgZmVhdHVyZQotCQkgKi8KLQkJaWYgKGdldF91c2VyKHNjbHBfaW9jdGxzLmRlbGltLCAodW5zaWduZWQgY2hhciBfX3VzZXIgKikgYXJnKSkKLQkJCXJjID0gLUVGQVVMVDsKLQkJYnJlYWs7Ci0JY2FzZSBUSU9DU0NMUEdERUxJTToKLQkJLyoKLQkJICogZ2V0IHNwZWNpYWwgY2hhcmFjdGVyIHVzZWQgZm9yIHNlcGFyYXRpbmcgdXBwZXIgYW5kCi0JCSAqIGxvd2VyIGNhc2UsIDB4MDAgZGlzYWJsZXMgdGhpcyBmZWF0dXJlCi0JCSAqLwotCQlpZiAocHV0X3VzZXIoc2NscF9pb2N0bHMuZGVsaW0sICh1bnNpZ25lZCBjaGFyIF9fdXNlciAqKSBhcmcpKQotCQkJcmMgPSAtRUZBVUxUOwotCQlicmVhazsKLQljYXNlIFRJT0NTQ0xQU0lOSVQ6Ci0JCS8qIHNldCBpbml0aWFsIChkZWZhdWx0KSBzY2xwIGlvY3RscyAgKi8KLQkJc2NscF9pb2N0bHMgPSBzY2xwX2lvY3Rsc19pbml0OwotCQljaGVjayA9IDE7Ci0JCWJyZWFrOwotCWRlZmF1bHQ6Ci0JCXJjID0gLUVOT0lPQ1RMQ01EOwotCQlicmVhazsKLQl9Ci0JaWYgKGNoZWNrKSB7Ci0JCXNwaW5fbG9ja19pcnFzYXZlKCZzY2xwX3R0eV9sb2NrLCBmbGFncyk7Ci0JCWlmIChzY2xwX3R0eWJ1ZiAhPSBOVUxMKSB7Ci0JCQlzY2xwX3NldF9odGFiKHNjbHBfdHR5YnVmLCBzY2xwX2lvY3Rscy5odGFiKTsKLQkJCXNjbHBfc2V0X2NvbHVtbnMoc2NscF90dHlidWYsIHNjbHBfaW9jdGxzLmNvbHVtbnMpOwotCQl9Ci0JCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnNjbHBfdHR5X2xvY2ssIGZsYWdzKTsKLQl9Ci0JcmV0dXJuIHJjOwotfQotCiAvKgogICogVGhpcyByb3V0aW5lIHJldHVybnMgdGhlIG51bWJlcnMgb2YgY2hhcmFjdGVycyB0aGUgdHR5IGRyaXZlcgogICogd2lsbCBhY2NlcHQgZm9yIHF1ZXVpbmcgdG8gYmUgd3JpdHRlbi4gIFRoaXMgbnVtYmVyIGlzIHN1YmplY3QKQEAgLTI2OCw3ICsxMjUsNiBAQAogCQkJCQkgICAgc3RydWN0IHNjbHBfYnVmZmVyLCBsaXN0KTsKIAkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmc2NscF90dHlfbG9jaywgZmxhZ3MpOwogCX0gd2hpbGUgKGJ1ZmZlciAmJiBzY2xwX2VtaXRfYnVmZmVyKGJ1ZmZlciwgc2NscF90dHlidWZfY2FsbGJhY2spKTsKLQl3YWtlX3VwKCZzY2xwX3R0eV93YWl0cSk7CiAJLyogY2hlY2sgaWYgdGhlIHR0eSBuZWVkcyBhIHdha2UgdXAgY2FsbCAqLwogCWlmIChzY2xwX3R0eSAhPSBOVUxMKSB7CiAJCXR0eV93YWtldXAoc2NscF90dHkpOwpAQCAtMzE2LDM3ICsxNzIsMzcgQEAKIC8qCiAgKiBXcml0ZSBhIHN0cmluZyB0byB0aGUgc2NscCB0dHkuCiAgKi8KLXN0YXRpYyB2b2lkCi1zY2xwX3R0eV93cml0ZV9zdHJpbmcoY29uc3QgdW5zaWduZWQgY2hhciAqc3RyLCBpbnQgY291bnQpCitzdGF0aWMgaW50IHNjbHBfdHR5X3dyaXRlX3N0cmluZyhjb25zdCB1bnNpZ25lZCBjaGFyICpzdHIsIGludCBjb3VudCwgaW50IG1heV9mYWlsKQogewogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAJdm9pZCAqcGFnZTsKIAlpbnQgd3JpdHRlbjsKKwlpbnQgb3ZlcmFsbF93cml0dGVuOwogCXN0cnVjdCBzY2xwX2J1ZmZlciAqYnVmOwogCiAJaWYgKGNvdW50IDw9IDApCi0JCXJldHVybjsKKwkJcmV0dXJuIDA7CisJb3ZlcmFsbF93cml0dGVuID0gMDsKIAlzcGluX2xvY2tfaXJxc2F2ZSgmc2NscF90dHlfbG9jaywgZmxhZ3MpOwogCWRvIHsKIAkJLyogQ3JlYXRlIGEgc2NscCBvdXRwdXQgYnVmZmVyIGlmIG5vbmUgZXhpc3RzIHlldCAqLwogCQlpZiAoc2NscF90dHlidWYgPT0gTlVMTCkgewogCQkJd2hpbGUgKGxpc3RfZW1wdHkoJnNjbHBfdHR5X3BhZ2VzKSkgewogCQkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnNjbHBfdHR5X2xvY2ssIGZsYWdzKTsKLQkJCQlpZiAoaW5faW50ZXJydXB0KCkpCi0JCQkJCXNjbHBfc3luY193YWl0KCk7CisJCQkJaWYgKG1heV9mYWlsKQorCQkJCQlnb3RvIG91dDsKIAkJCQllbHNlCi0JCQkJCXdhaXRfZXZlbnQoc2NscF90dHlfd2FpdHEsCi0JCQkJCQkhbGlzdF9lbXB0eSgmc2NscF90dHlfcGFnZXMpKTsKKwkJCQkJc2NscF9zeW5jX3dhaXQoKTsKIAkJCQlzcGluX2xvY2tfaXJxc2F2ZSgmc2NscF90dHlfbG9jaywgZmxhZ3MpOwogCQkJfQogCQkJcGFnZSA9IHNjbHBfdHR5X3BhZ2VzLm5leHQ7CiAJCQlsaXN0X2RlbCgoc3RydWN0IGxpc3RfaGVhZCAqKSBwYWdlKTsKLQkJCXNjbHBfdHR5YnVmID0gc2NscF9tYWtlX2J1ZmZlcihwYWdlLAotCQkJCQkJICAgICAgIHNjbHBfaW9jdGxzLmNvbHVtbnMsCi0JCQkJCQkgICAgICAgc2NscF9pb2N0bHMuaHRhYik7CisJCQlzY2xwX3R0eWJ1ZiA9IHNjbHBfbWFrZV9idWZmZXIocGFnZSwgc2NscF90dHlfY29sdW1ucywKKwkJCQkJCSAgICAgICBTUEFDRVNfUEVSX1RBQik7CiAJCX0KIAkJLyogdHJ5IHRvIHdyaXRlIHRoZSBzdHJpbmcgdG8gdGhlIGN1cnJlbnQgb3V0cHV0IGJ1ZmZlciAqLwogCQl3cml0dGVuID0gc2NscF93cml0ZShzY2xwX3R0eWJ1Ziwgc3RyLCBjb3VudCk7CisJCW92ZXJhbGxfd3JpdHRlbiArPSB3cml0dGVuOwogCQlpZiAod3JpdHRlbiA9PSBjb3VudCkKIAkJCWJyZWFrOwogCQkvKgpAQCAtMzYzLDI3ICsyMTksMTcgQEAKIAkJY291bnQgLT0gd3JpdHRlbjsKIAl9IHdoaWxlIChjb3VudCA+IDApOwogCS8qIFNldHVwIHRpbWVyIHRvIG91dHB1dCBjdXJyZW50IGNvbnNvbGUgYnVmZmVyIGFmdGVyIDEvMTAgc2Vjb25kICovCi0JaWYgKHNjbHBfaW9jdGxzLmZpbmFsX25sKSB7Ci0JCWlmIChzY2xwX3R0eWJ1ZiAhPSBOVUxMICYmCi0JCSAgICBzY2xwX2NoYXJzX2luX2J1ZmZlcihzY2xwX3R0eWJ1ZikgIT0gMCAmJgotCQkgICAgIXRpbWVyX3BlbmRpbmcoJnNjbHBfdHR5X3RpbWVyKSkgewotCQkJaW5pdF90aW1lcigmc2NscF90dHlfdGltZXIpOwotCQkJc2NscF90dHlfdGltZXIuZnVuY3Rpb24gPSBzY2xwX3R0eV90aW1lb3V0OwotCQkJc2NscF90dHlfdGltZXIuZGF0YSA9IDBVTDsKLQkJCXNjbHBfdHR5X3RpbWVyLmV4cGlyZXMgPSBqaWZmaWVzICsgSFovMTA7Ci0JCQlhZGRfdGltZXIoJnNjbHBfdHR5X3RpbWVyKTsKLQkJfQotCX0gZWxzZSB7Ci0JCWlmIChzY2xwX3R0eWJ1ZiAhPSBOVUxMICYmCi0JCSAgICBzY2xwX2NoYXJzX2luX2J1ZmZlcihzY2xwX3R0eWJ1ZikgIT0gMCkgewotCQkJYnVmID0gc2NscF90dHlidWY7Ci0JCQlzY2xwX3R0eWJ1ZiA9IE5VTEw7Ci0JCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZzY2xwX3R0eV9sb2NrLCBmbGFncyk7Ci0JCQlfX3NjbHBfdHR5YnVmX2VtaXQoYnVmKTsKLQkJCXNwaW5fbG9ja19pcnFzYXZlKCZzY2xwX3R0eV9sb2NrLCBmbGFncyk7Ci0JCX0KKwlpZiAoc2NscF90dHlidWYgJiYgc2NscF9jaGFyc19pbl9idWZmZXIoc2NscF90dHlidWYpICYmCisJICAgICF0aW1lcl9wZW5kaW5nKCZzY2xwX3R0eV90aW1lcikpIHsKKwkJaW5pdF90aW1lcigmc2NscF90dHlfdGltZXIpOworCQlzY2xwX3R0eV90aW1lci5mdW5jdGlvbiA9IHNjbHBfdHR5X3RpbWVvdXQ7CisJCXNjbHBfdHR5X3RpbWVyLmRhdGEgPSAwVUw7CisJCXNjbHBfdHR5X3RpbWVyLmV4cGlyZXMgPSBqaWZmaWVzICsgSFovMTA7CisJCWFkZF90aW1lcigmc2NscF90dHlfdGltZXIpOwogCX0KIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZzY2xwX3R0eV9sb2NrLCBmbGFncyk7CitvdXQ6CisJcmV0dXJuIG92ZXJhbGxfd3JpdHRlbjsKIH0KIAogLyoKQEAgLTM5NSwxMSArMjQxLDEwIEBACiBzY2xwX3R0eV93cml0ZShzdHJ1Y3QgdHR5X3N0cnVjdCAqdHR5LCBjb25zdCB1bnNpZ25lZCBjaGFyICpidWYsIGludCBjb3VudCkKIHsKIAlpZiAoc2NscF90dHlfY2hhcnNfY291bnQgPiAwKSB7Ci0JCXNjbHBfdHR5X3dyaXRlX3N0cmluZyhzY2xwX3R0eV9jaGFycywgc2NscF90dHlfY2hhcnNfY291bnQpOworCQlzY2xwX3R0eV93cml0ZV9zdHJpbmcoc2NscF90dHlfY2hhcnMsIHNjbHBfdHR5X2NoYXJzX2NvdW50LCAwKTsKIAkJc2NscF90dHlfY2hhcnNfY291bnQgPSAwOwogCX0KLQlzY2xwX3R0eV93cml0ZV9zdHJpbmcoYnVmLCBjb3VudCk7Ci0JcmV0dXJuIGNvdW50OworCXJldHVybiBzY2xwX3R0eV93cml0ZV9zdHJpbmcoYnVmLCBjb3VudCwgMSk7CiB9CiAKIC8qCkBAIC00MTcsOSArMjYyLDEwIEBACiB7CiAJc2NscF90dHlfY2hhcnNbc2NscF90dHlfY2hhcnNfY291bnQrK10gPSBjaDsKIAlpZiAoY2ggPT0gJ1xuJyB8fCBzY2xwX3R0eV9jaGFyc19jb3VudCA+PSBTQ0xQX1RUWV9CVUZfU0laRSkgewotCQlzY2xwX3R0eV93cml0ZV9zdHJpbmcoc2NscF90dHlfY2hhcnMsIHNjbHBfdHR5X2NoYXJzX2NvdW50KTsKKwkJc2NscF90dHlfd3JpdGVfc3RyaW5nKHNjbHBfdHR5X2NoYXJzLCBzY2xwX3R0eV9jaGFyc19jb3VudCwgMCk7CiAJCXNjbHBfdHR5X2NoYXJzX2NvdW50ID0gMDsKLQl9IHJldHVybiAxOworCX0KKwlyZXR1cm4gMTsKIH0KIAogLyoKQEAgLTQzMCw3ICsyNzYsNyBAQAogc2NscF90dHlfZmx1c2hfY2hhcnMoc3RydWN0IHR0eV9zdHJ1Y3QgKnR0eSkKIHsKIAlpZiAoc2NscF90dHlfY2hhcnNfY291bnQgPiAwKSB7Ci0JCXNjbHBfdHR5X3dyaXRlX3N0cmluZyhzY2xwX3R0eV9jaGFycywgc2NscF90dHlfY2hhcnNfY291bnQpOworCQlzY2xwX3R0eV93cml0ZV9zdHJpbmcoc2NscF90dHlfY2hhcnMsIHNjbHBfdHR5X2NoYXJzX2NvdW50LCAwKTsKIAkJc2NscF90dHlfY2hhcnNfY291bnQgPSAwOwogCX0KIH0KQEAgLTQ2OSw3ICszMTUsNyBAQAogc2NscF90dHlfZmx1c2hfYnVmZmVyKHN0cnVjdCB0dHlfc3RydWN0ICp0dHkpCiB7CiAJaWYgKHNjbHBfdHR5X2NoYXJzX2NvdW50ID4gMCkgewotCQlzY2xwX3R0eV93cml0ZV9zdHJpbmcoc2NscF90dHlfY2hhcnMsIHNjbHBfdHR5X2NoYXJzX2NvdW50KTsKKwkJc2NscF90dHlfd3JpdGVfc3RyaW5nKHNjbHBfdHR5X2NoYXJzLCBzY2xwX3R0eV9jaGFyc19jb3VudCwgMCk7CiAJCXNjbHBfdHR5X2NoYXJzX2NvdW50ID0gMDsKIAl9CiB9CkBAIC01MTcsOSArMzYzLDcgQEAKICAqIG1vZGlmaXkgb3JpZ2luYWwgc3RyaW5nLAogICogcmV0dXJucyBsZW5ndGggb2YgcmVzdWx0aW5nIHN0cmluZwogICovCi1zdGF0aWMgaW50Ci1zY2xwX3N3aXRjaF9jYXNlcyh1bnNpZ25lZCBjaGFyICpidWYsIGludCBjb3VudCwKLQkJICB1bnNpZ25lZCBjaGFyIGRlbGltLCBpbnQgdG9sb3dlcikKK3N0YXRpYyBpbnQgc2NscF9zd2l0Y2hfY2FzZXModW5zaWduZWQgY2hhciAqYnVmLCBpbnQgY291bnQpCiB7CiAJdW5zaWduZWQgY2hhciAqaXAsICpvcDsKIAlpbnQgdG9nZ2xlOwpAQCAtNTI5LDkgKzM3Myw5IEBACiAJaXAgPSBvcCA9IGJ1ZjsKIAl3aGlsZSAoY291bnQtLSA+IDApIHsKIAkJLyogY29tcGFyZSB3aXRoIHNwZWNpYWwgY2hhcmFjdGVyICovCi0JCWlmICgqaXAgPT0gZGVsaW0pIHsKKwkJaWYgKCppcCA9PSBDQVNFX0RFTElNSVRFUikgewogCQkJLyogZm9sbG93ZWQgYnkgYW5vdGhlciBzcGVjaWFsIGNoYXJhY3Rlcj8gKi8KLQkJCWlmIChjb3VudCAmJiBpcFsxXSA9PSBkZWxpbSkgeworCQkJaWYgKGNvdW50ICYmIGlwWzFdID09IENBU0VfREVMSU1JVEVSKSB7CiAJCQkJLyoKIAkJCQkgKiAuLi4gdGhlbiBwdXQgYSBzaW5nbGUgY29weSBvZiB0aGUgc3BlY2lhbAogCQkJCSAqIGNoYXJhY3RlciB0byB0aGUgb3V0cHV0IHN0cmluZwpAQCAtNTUwLDcgKzM5NCw3IEBACiAJCQkvKiBub3QgdGhlIHNwZWNpYWwgY2hhcmFjdGVyICovCiAJCQlpZiAodG9nZ2xlKQogCQkJCS8qIGJ1dCBjYXNlIHN3aXRjaGluZyBpcyBvbiAqLwotCQkJCWlmICh0b2xvd2VyKQorCQkJCWlmIChzY2xwX3R0eV90b2xvd2VyKQogCQkJCQkvKiBzd2l0Y2ggdG8gdXBwZXJjYXNlICovCiAJCQkJCSpvcCsrID0gX2ViY190b3VwcGVyWyhpbnQpICppcCsrXTsKIAkJCQllbHNlCkBAIC01NzAsMzAgKzQxNCwxMiBAQAogCWludCBjb3VudDsKIAogCWNvdW50ID0gZW5kIC0gc3RhcnQ7Ci0JLyoKLQkgKiBpZiBzZXQgaW4gaW9jdGwgY29udmVydCBFQkNESUMgdG8gbG93ZXIgY2FzZQotCSAqIChtb2RpZnkgb3JpZ2luYWwgaW5wdXQgaW4gU0NDQikKLQkgKi8KLQlpZiAoc2NscF9pb2N0bHMudG9sb3dlcikKKwlpZiAoc2NscF90dHlfdG9sb3dlcikKIAkJRUJDX1RPTE9XRVIoc3RhcnQsIGNvdW50KTsKLQotCS8qCi0JICogaWYgc2V0IGluIGlvY3RsIGZpbmQgb3V0IGNoYXJhY3RlcnMgaW4gbG93ZXIgb3IgdXBwZXIgY2FzZQotCSAqIChkZXBlbmRzIG9uIGN1cnJlbnQgY2FzZSkgc2VwYXJhdGVkIGJ5IGEgc3BlY2lhbCBjaGFyYWN0ZXIsCi0JICogd29ya3Mgb24gRUJDRElDCi0JICovCi0JaWYgKHNjbHBfaW9jdGxzLmRlbGltKQotCQljb3VudCA9IHNjbHBfc3dpdGNoX2Nhc2VzKHN0YXJ0LCBjb3VudCwKLQkJCQkJICBzY2xwX2lvY3Rscy5kZWxpbSwKLQkJCQkJICBzY2xwX2lvY3Rscy50b2xvd2VyKTsKLQorCWNvdW50ID0gc2NscF9zd2l0Y2hfY2FzZXMoc3RhcnQsIGNvdW50KTsKIAkvKiBjb252ZXJ0IEVCQ0RJQyB0byBBU0NJSSAobW9kaWZ5IG9yaWdpbmFsIGlucHV0IGluIFNDQ0IpICovCiAJc2NscF9lYmNhc2Nfc3RyKHN0YXJ0LCBjb3VudCk7CiAKLQkvKiBpZiBzZXQgaW4gaW9jdGwgd3JpdGUgb3BlcmF0b3JzIGlucHV0IHRvIGNvbnNvbGUgICovCi0JaWYgKHNjbHBfaW9jdGxzLmVjaG8pCi0JCXNjbHBfdHR5X3dyaXRlKHNjbHBfdHR5LCBzdGFydCwgY291bnQpOwotCiAJLyogdHJhbnNmZXIgaW5wdXQgdG8gaGlnaCBsZXZlbCBkcml2ZXIgKi8KIAlzY2xwX3R0eV9pbnB1dChzdGFydCwgY291bnQpOwogfQpAQCAtNzE3LDcgKzU0Myw2IEBACiAJLndyaXRlX3Jvb20gPSBzY2xwX3R0eV93cml0ZV9yb29tLAogCS5jaGFyc19pbl9idWZmZXIgPSBzY2xwX3R0eV9jaGFyc19pbl9idWZmZXIsCiAJLmZsdXNoX2J1ZmZlciA9IHNjbHBfdHR5X2ZsdXNoX2J1ZmZlciwKLQkuaW9jdGwgPSBzY2xwX3R0eV9pb2N0bCwKIH07CiAKIHN0YXRpYyBpbnQgX19pbml0CkBAIC03MzYsOSArNTYxLDYgQEAKIAogCXJjID0gc2NscF9yd19pbml0KCk7CiAJaWYgKHJjKSB7Ci0JCXByaW50ayhLRVJOX0VSUiBTQ0xQX1RUWV9QUklOVF9IRUFERVIKLQkJICAgICAgICJjb3VsZCBub3QgcmVnaXN0ZXIgdHR5IC0gIgotCQkgICAgICAgInNjbHBfcndfaW5pdCByZXR1cm5lZCAlZFxuIiwgcmMpOwogCQlwdXRfdHR5X2RyaXZlcihkcml2ZXIpOwogCQlyZXR1cm4gcmM7CiAJfQpAQCAtNzU0LDcgKzU3Niw2IEBACiAJfQogCUlOSVRfTElTVF9IRUFEKCZzY2xwX3R0eV9vdXRxdWV1ZSk7CiAJc3Bpbl9sb2NrX2luaXQoJnNjbHBfdHR5X2xvY2spOwotCWluaXRfd2FpdHF1ZXVlX2hlYWQoJnNjbHBfdHR5X3dhaXRxKTsKIAlpbml0X3RpbWVyKCZzY2xwX3R0eV90aW1lcik7CiAJc2NscF90dHlidWYgPSBOVUxMOwogCXNjbHBfdHR5X2J1ZmZlcl9jb3VudCA9IDA7CkBAIC03NjMsMTEgKzU4NCwxMCBAQAogCQkgKiBzYXZlIDQgY2hhcmFjdGVycyBmb3IgdGhlIENQVSBudW1iZXIKIAkJICogd3JpdHRlbiBhdCBzdGFydCBvZiBlYWNoIGxpbmUgYnkgVk0vQ1AKIAkJICovCi0JCXNjbHBfaW9jdGxzX2luaXQuY29sdW1ucyA9IDc2OworCQlzY2xwX3R0eV9jb2x1bW5zID0gNzY7CiAJCS8qIGNhc2UgaW5wdXQgbGluZXMgdG8gbG93ZXJjYXNlICovCi0JCXNjbHBfaW9jdGxzX2luaXQudG9sb3dlciA9IDE7CisJCXNjbHBfdHR5X3RvbG93ZXIgPSAxOwogCX0KLQlzY2xwX2lvY3RscyA9IHNjbHBfaW9jdGxzX2luaXQ7CiAJc2NscF90dHlfY2hhcnNfY291bnQgPSAwOwogCXNjbHBfdHR5ID0gTlVMTDsKIApAQCAtNzkyLDkgKzYxMiw2IEBACiAJdHR5X3NldF9vcGVyYXRpb25zKGRyaXZlciwgJnNjbHBfb3BzKTsKIAlyYyA9IHR0eV9yZWdpc3Rlcl9kcml2ZXIoZHJpdmVyKTsKIAlpZiAocmMpIHsKLQkJcHJpbnRrKEtFUk5fRVJSIFNDTFBfVFRZX1BSSU5UX0hFQURFUgotCQkgICAgICAgImNvdWxkIG5vdCByZWdpc3RlciB0dHkgLSAiCi0JCSAgICAgICAidHR5X3JlZ2lzdGVyX2RyaXZlciByZXR1cm5lZCAlZFxuIiwgcmMpOwogCQlwdXRfdHR5X2RyaXZlcihkcml2ZXIpOwogCQlyZXR1cm4gcmM7CiAJfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2NoYXIvc2NscF90dHkuaCBiL2RyaXZlcnMvczM5MC9jaGFyL3NjbHBfdHR5LmgKaW5kZXggMGNlMmMxZi4uNGI5NjViMjIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaGFyL3NjbHBfdHR5LmgKKysrIGIvZHJpdmVycy9zMzkwL2NoYXIvc2NscF90dHkuaApAQCAtMTEsNjEgKzExLDggQEAKICNpZm5kZWYgX19TQ0xQX1RUWV9IX18KICNkZWZpbmUgX19TQ0xQX1RUWV9IX18KIAotI2luY2x1ZGUgPGxpbnV4L2lvY3RsLmg+Ci0jaW5jbHVkZSA8bGludXgvdGVybWlvcy5oPgogI2luY2x1ZGUgPGxpbnV4L3R0eV9kcml2ZXIuaD4KIAotLyogVGhpcyBpcyB0aGUgdHlwZSBvZiBkYXRhIHN0cnVjdHVyZXMgc3RvcmluZyBzY2xwIGlvY3RsIHNldHRpbmcuICovCi1zdHJ1Y3Qgc2NscF9pb2N0bHMgewotCXVuc2lnbmVkIHNob3J0IGh0YWI7Ci0JdW5zaWduZWQgY2hhciBlY2hvOwotCXVuc2lnbmVkIHNob3J0IGNvbHVtbnM7Ci0JdW5zaWduZWQgY2hhciBmaW5hbF9ubDsKLQl1bnNpZ25lZCBzaG9ydCBtYXhfc2NjYjsKLQl1bnNpZ25lZCBzaG9ydCBrbWVtX3NjY2I7CS8qIGNhbid0IGJlIG1vZGlmaWVkIGF0IHJ1biB0aW1lICovCi0JdW5zaWduZWQgY2hhciB0b2xvd2VyOwotCXVuc2lnbmVkIGNoYXIgZGVsaW07Ci19OwotCi0vKiBtdXN0IGJlIHVuaXF1ZSwgRklYTUU6IG11c3QgYmUgYWRkZWQgaW4gRG9jdW1lbnRhdGlvbi9pb2N0bF9udW1iZXIudHh0ICovCi0jZGVmaW5lIFNDTFBfSU9DVExfTEVUVEVSICdCJwotCi0vKiBzZXQgd2lkdGggb2YgaG9yaXpvbnRhbCB0YWJ1bGF0b3IgKi8KLSNkZWZpbmUgVElPQ1NDTFBTSFRBQglfSU9XKFNDTFBfSU9DVExfTEVUVEVSLCAwLCB1bnNpZ25lZCBzaG9ydCkKLS8qIGVuYWJsZS9kaXNhYmxlIGVjaG8gb2YgaW5wdXQgKGluZGVwZW5kZW50IGZyb20gbGluZSBkaXNjaXBsaW5lKSAqLwotI2RlZmluZSBUSU9DU0NMUFNFQ0hPCV9JT1coU0NMUF9JT0NUTF9MRVRURVIsIDEsIHVuc2lnbmVkIGNoYXIpCi0vKiBzZXQgbnVtYmVyIG9mIGNvbHVtcyBmb3Igb3V0cHV0ICovCi0jZGVmaW5lIFRJT0NTQ0xQU0NPTFMJX0lPVyhTQ0xQX0lPQ1RMX0xFVFRFUiwgMiwgdW5zaWduZWQgc2hvcnQpCi0vKiBlbmFibGUvZGlzYWJsZSB3cml0aW5nIHdpdGhvdXQgZmluYWwgbmV3IGxpbmUgY2hhcmFjdGVyICovCi0jZGVmaW5lIFRJT0NTQ0xQU05MCV9JT1coU0NMUF9JT0NUTF9MRVRURVIsIDQsIHNpZ25lZCBjaGFyKQotLyogc2V0IHRoZSBtYXhpbXVtIGJ1ZmZlcnMgc2l6ZSBmb3Igb3V0cHV0LCByb3VuZGVkIHVwIHRvIG5leHQgNGtCIGJvdW5kYXJ5ICovCi0jZGVmaW5lIFRJT0NTQ0xQU09CVUYJX0lPVyhTQ0xQX0lPQ1RMX0xFVFRFUiwgNSwgdW5zaWduZWQgc2hvcnQpCi0vKiBzZXQgaW5pdGlhbCAoZGVmYXVsdCkgc2NscCBpb2N0bHMgKi8KLSNkZWZpbmUgVElPQ1NDTFBTSU5JVAlfSU8oU0NMUF9JT0NUTF9MRVRURVIsIDYpCi0vKiBlbmFibGUvZGlzYWJsZSBjb252ZXJzaW9uIGZyb20gdXBwZXIgdG8gbG93ZXIgY2FzZSBvZiBpbnB1dCAqLwotI2RlZmluZSBUSU9DU0NMUFNDQVNFCV9JT1coU0NMUF9JT0NUTF9MRVRURVIsIDcsIHVuc2lnbmVkIGNoYXIpCi0vKiBzZXQgc3BlY2lhbCBjaGFyYWN0ZXIgdXNlZCBmb3Igc2VwYXJhdGluZyB1cHBlciBhbmQgbG93ZXIgY2FzZSwgKi8KLS8qIDB4MDAgZGlzYWJsZXMgdGhpcyBmZWF0dXJlICovCi0jZGVmaW5lIFRJT0NTQ0xQU0RFTElNCV9JT1coU0NMUF9JT0NUTF9MRVRURVIsIDksIHVuc2lnbmVkIGNoYXIpCi0KLS8qIGdldCB3aWR0aCBvZiBob3Jpem9udGFsIHRhYnVsYXRvciAqLwotI2RlZmluZSBUSU9DU0NMUEdIVEFCCV9JT1IoU0NMUF9JT0NUTF9MRVRURVIsIDEwLCB1bnNpZ25lZCBzaG9ydCkKLS8qIElzIGVjaG8gb2YgaW5wdXQgZW5hYmxlZCA/IChpbmRlcGVuZGVudCBmcm9tIGxpbmUgZGlzY2lwbGluZSkgKi8KLSNkZWZpbmUgVElPQ1NDTFBHRUNITwlfSU9SKFNDTFBfSU9DVExfTEVUVEVSLCAxMSwgdW5zaWduZWQgY2hhcikKLS8qIGdldCBudW1iZXIgb2YgY29sdW1zIGZvciBvdXRwdXQgKi8KLSNkZWZpbmUgVElPQ1NDTFBHQ09MUwlfSU9SKFNDTFBfSU9DVExfTEVUVEVSLCAxMiwgdW5zaWduZWQgc2hvcnQpCi0vKiBJcyB3cml0aW5nIHdpdGhvdXQgZmluYWwgbmV3IGxpbmUgY2hhcmFjdGVyIGVuYWJsZWQgPyAqLwotI2RlZmluZSBUSU9DU0NMUEdOTAlfSU9SKFNDTFBfSU9DVExfTEVUVEVSLCAxNCwgc2lnbmVkIGNoYXIpCi0vKiBnZXQgdGhlIG1heGltdW0gYnVmZmVycyBzaXplIGZvciBvdXRwdXQgKi8KLSNkZWZpbmUgVElPQ1NDTFBHT0JVRglfSU9SKFNDTFBfSU9DVExfTEVUVEVSLCAxNSwgdW5zaWduZWQgc2hvcnQpCi0vKiBJcyBjb252ZXJzaW9uIGZyb20gdXBwZXIgdG8gbG93ZXIgY2FzZSBvZiBpbnB1dCBlbmFibGVkID8gKi8KLSNkZWZpbmUgVElPQ1NDTFBHQ0FTRQlfSU9SKFNDTFBfSU9DVExfTEVUVEVSLCAxNywgdW5zaWduZWQgY2hhcikKLS8qIGdldCBzcGVjaWFsIGNoYXJhY3RlciB1c2VkIGZvciBzZXBhcmF0aW5nIHVwcGVyIGFuZCBsb3dlciBjYXNlLCAqLwotLyogMHgwMCBkaXNhYmxlcyB0aGlzIGZlYXR1cmUgKi8KLSNkZWZpbmUgVElPQ1NDTFBHREVMSU0JX0lPUihTQ0xQX0lPQ1RMX0xFVFRFUiwgMTksIHVuc2lnbmVkIGNoYXIpCi0vKiBnZXQgdGhlIG51bWJlciBvZiBidWZmZXJzL3BhZ2VzIGdvdCBmcm9tIGtlcm5lbCBhdCBzdGFydHVwICovCi0jZGVmaW5lIFRJT0NTQ0xQR0tCVUYJX0lPUihTQ0xQX0lPQ1RMX0xFVFRFUiwgMjAsIHVuc2lnbmVkIHNob3J0KQotCiBleHRlcm4gc3RydWN0IHR0eV9kcml2ZXIgKnNjbHBfdHR5X2RyaXZlcjsKIAogI2VuZGlmCS8qIF9fU0NMUF9UVFlfSF9fICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2hhci9zY2xwX3Z0MjIwLmMgYi9kcml2ZXJzL3MzOTAvY2hhci9zY2xwX3Z0MjIwLmMKaW5kZXggM2U1NzdmNi4uYWQ1MTczOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2NoYXIvc2NscF92dDIyMC5jCisrKyBiL2RyaXZlcnMvczM5MC9jaGFyL3NjbHBfdnQyMjAuYwpAQCAtMjcsNyArMjcsNiBAQAogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAjaW5jbHVkZSAic2NscC5oIgogCi0jZGVmaW5lIFNDTFBfVlQyMjBfUFJJTlRfSEVBREVSIAkic2NscCB2dDIyMCB0dHkgZHJpdmVyOiAiCiAjZGVmaW5lIFNDTFBfVlQyMjBfTUFKT1IJCVRUWV9NQUpPUgogI2RlZmluZSBTQ0xQX1ZUMjIwX01JTk9SCQk2NQogI2RlZmluZSBTQ0xQX1ZUMjIwX0RSSVZFUl9OQU1FCQkic2NscF92dDIyMCIKQEAgLTgyLDggKzgxLDggQEAKIC8qIE51bWJlciBvZiBjaGFyYWN0ZXJzIGluIGN1cnJlbnQgcmVxdWVzdCBidWZmZXIgKi8KIHN0YXRpYyBpbnQgc2NscF92dDIyMF9idWZmZXJlZF9jaGFyczsKIAotLyogRmxhZyBpbmRpY2F0aW5nIHdoZXRoZXIgdGhpcyBkcml2ZXIgaGFzIGFscmVhZHkgYmVlbiBpbml0aWFsaXplZCAqLwotc3RhdGljIGludCBzY2xwX3Z0MjIwX2luaXRpYWxpemVkID0gMDsKKy8qIENvdW50ZXIgY29udHJvbGxpbmcgY29yZSBkcml2ZXIgaW5pdGlhbGl6YXRpb24uICovCitzdGF0aWMgaW50IF9faW5pdGRhdGEgc2NscF92dDIyMF9pbml0X2NvdW50OwogCiAvKiBGbGFnIGluZGljYXRpbmcgdGhhdCBzY2xwX3Z0MjIwX2N1cnJlbnRfcmVxdWVzdCBzaG91bGQgcmVhbGx5CiAgKiBoYXZlIGJlZW4gYWxyZWFkeSBxdWV1ZWQgYnV0IHdhc24ndCBiZWNhdXNlIHRoZSBTQ0xQIHdhcyBwcm9jZXNzaW5nCkBAIC02MDksMTAgKzYwOCw4IEBACiAJc2NscF92dDIyMF9lbWl0X2N1cnJlbnQoKTsKIH0KIAotLyoKLSAqIEluaXRpYWxpemUgYWxsIHJlbGV2YW50IGNvbXBvbmVudHMgYW5kIHJlZ2lzdGVyIGRyaXZlciB3aXRoIHN5c3RlbS4KLSAqLwotc3RhdGljIHZvaWQgX19pbml0IF9fc2NscF92dDIyMF9jbGVhbnVwKHZvaWQpCisvKiBSZWxlYXNlIGFsbG9jYXRlZCBwYWdlcy4gKi8KK3N0YXRpYyB2b2lkIF9faW5pdCBfX3NjbHBfdnQyMjBfZnJlZV9wYWdlcyh2b2lkKQogewogCXN0cnVjdCBsaXN0X2hlYWQgKnBhZ2UsICpwOwogCkBAIC02MjMsMjEgKzYyMCwzMCBAQAogCQllbHNlCiAJCQlmcmVlX2Jvb3RtZW0oKHVuc2lnbmVkIGxvbmcpIHBhZ2UsIFBBR0VfU0laRSk7CiAJfQotCWlmICghbGlzdF9lbXB0eSgmc2NscF92dDIyMF9yZWdpc3Rlci5saXN0KSkKLQkJc2NscF91bnJlZ2lzdGVyKCZzY2xwX3Z0MjIwX3JlZ2lzdGVyKTsKLQlzY2xwX3Z0MjIwX2luaXRpYWxpemVkID0gMDsKIH0KIAotc3RhdGljIGludCBfX2luaXQgX19zY2xwX3Z0MjIwX2luaXQodm9pZCkKKy8qIFJlbGVhc2UgbWVtb3J5IGFuZCB1bnJlZ2lzdGVyIGZyb20gc2NscCBjb3JlLiBDb250cm9sbGVkIGJ5IGluaXQgY291bnRpbmcgLQorICogb25seSB0aGUgbGFzdCBpbnZva2VyIHdpbGwgYWN0dWFsbHkgcGVyZm9ybSB0aGVzZSBhY3Rpb25zLiAqLworc3RhdGljIHZvaWQgX19pbml0IF9fc2NscF92dDIyMF9jbGVhbnVwKHZvaWQpCit7CisJc2NscF92dDIyMF9pbml0X2NvdW50LS07CisJaWYgKHNjbHBfdnQyMjBfaW5pdF9jb3VudCAhPSAwKQorCQlyZXR1cm47CisJc2NscF91bnJlZ2lzdGVyKCZzY2xwX3Z0MjIwX3JlZ2lzdGVyKTsKKwlfX3NjbHBfdnQyMjBfZnJlZV9wYWdlcygpOworfQorCisvKiBBbGxvY2F0ZSBidWZmZXIgcGFnZXMgYW5kIHJlZ2lzdGVyIHdpdGggc2NscCBjb3JlLiBDb250cm9sbGVkIGJ5IGluaXQKKyAqIGNvdW50aW5nIC0gb25seSB0aGUgZmlyc3QgaW52b2tlciB3aWxsIGFjdHVhbGx5IHBlcmZvcm0gdGhlc2UgYWN0aW9ucy4gKi8KK3N0YXRpYyBpbnQgX19pbml0IF9fc2NscF92dDIyMF9pbml0KGludCBudW1fcGFnZXMpCiB7CiAJdm9pZCAqcGFnZTsKIAlpbnQgaTsKLQlpbnQgbnVtX3BhZ2VzOwogCWludCByYzsKIAotCWlmIChzY2xwX3Z0MjIwX2luaXRpYWxpemVkKQorCXNjbHBfdnQyMjBfaW5pdF9jb3VudCsrOworCWlmIChzY2xwX3Z0MjIwX2luaXRfY291bnQgIT0gMSkKIAkJcmV0dXJuIDA7Ci0Jc2NscF92dDIyMF9pbml0aWFsaXplZCA9IDE7CiAJc3Bpbl9sb2NrX2luaXQoJnNjbHBfdnQyMjBfbG9jayk7CiAJSU5JVF9MSVNUX0hFQUQoJnNjbHBfdnQyMjBfZW1wdHkpOwogCUlOSVRfTElTVF9IRUFEKCZzY2xwX3Z0MjIwX291dHF1ZXVlKTsKQEAgLTY0OSwyNCArNjU1LDIyIEBACiAJc2NscF92dDIyMF9mbHVzaF9sYXRlciA9IDA7CiAKIAkvKiBBbGxvY2F0ZSBwYWdlcyBmb3Igb3V0cHV0IGJ1ZmZlcmluZyAqLwotCW51bV9wYWdlcyA9IHNsYWJfaXNfYXZhaWxhYmxlKCkgPyBNQVhfS01FTV9QQUdFUyA6IE1BWF9DT05TT0xFX1BBR0VTOwogCWZvciAoaSA9IDA7IGkgPCBudW1fcGFnZXM7IGkrKykgewogCQlpZiAoc2xhYl9pc19hdmFpbGFibGUoKSkKIAkJCXBhZ2UgPSAodm9pZCAqKSBnZXRfemVyb2VkX3BhZ2UoR0ZQX0tFUk5FTCB8IEdGUF9ETUEpOwogCQllbHNlCiAJCQlwYWdlID0gYWxsb2NfYm9vdG1lbV9sb3dfcGFnZXMoUEFHRV9TSVpFKTsKIAkJaWYgKCFwYWdlKSB7Ci0JCQlfX3NjbHBfdnQyMjBfY2xlYW51cCgpOwotCQkJcmV0dXJuIC1FTk9NRU07CisJCQlyYyA9IC1FTk9NRU07CisJCQlnb3RvIG91dDsKIAkJfQogCQlsaXN0X2FkZF90YWlsKChzdHJ1Y3QgbGlzdF9oZWFkICopIHBhZ2UsICZzY2xwX3Z0MjIwX2VtcHR5KTsKIAl9CiAJcmMgPSBzY2xwX3JlZ2lzdGVyKCZzY2xwX3Z0MjIwX3JlZ2lzdGVyKTsKK291dDoKIAlpZiAocmMpIHsKLQkJcHJpbnRrKEtFUk5fRVJSIFNDTFBfVlQyMjBfUFJJTlRfSEVBREVSCi0JCSAgICAgICAiY291bGQgbm90IHJlZ2lzdGVyIHZ0MjIwIC0gIgotCQkgICAgICAgInNjbHBfcmVnaXN0ZXIgcmV0dXJuZWQgJWRcbiIsIHJjKTsKLQkJX19zY2xwX3Z0MjIwX2NsZWFudXAoKTsKKwkJX19zY2xwX3Z0MjIwX2ZyZWVfcGFnZXMoKTsKKwkJc2NscF92dDIyMF9pbml0X2NvdW50LS07CiAJfQogCXJldHVybiByYzsKIH0KQEAgLTY4OSwxNSArNjkzLDEzIEBACiB7CiAJc3RydWN0IHR0eV9kcml2ZXIgKmRyaXZlcjsKIAlpbnQgcmM7Ci0JaW50IGNsZWFudXA7CiAKIAkvKiBOb3RlOiB3ZSdyZSBub3QgdGVzdGluZyBmb3IgQ09OU09MRV9JU19TQ0xQIGhlcmUgdG8gcHJlc2VydmUKIAkgKiBzeW1tZXRyeSBiZXR3ZWVuIFZNIGFuZCBMUEFSIHN5c3RlbXMgcmVnYXJkaW5nIHR0eVMxLiAqLwogCWRyaXZlciA9IGFsbG9jX3R0eV9kcml2ZXIoMSk7CiAJaWYgKCFkcml2ZXIpCiAJCXJldHVybiAtRU5PTUVNOwotCWNsZWFudXAgPSAhc2NscF92dDIyMF9pbml0aWFsaXplZDsKLQlyYyA9IF9fc2NscF92dDIyMF9pbml0KCk7CisJcmMgPSBfX3NjbHBfdnQyMjBfaW5pdChNQVhfS01FTV9QQUdFUyk7CiAJaWYgKHJjKQogCQlnb3RvIG91dF9kcml2ZXI7CiAKQEAgLTcxMywxOCArNzE1LDEzIEBACiAJdHR5X3NldF9vcGVyYXRpb25zKGRyaXZlciwgJnNjbHBfdnQyMjBfb3BzKTsKIAogCXJjID0gdHR5X3JlZ2lzdGVyX2RyaXZlcihkcml2ZXIpOwotCWlmIChyYykgewotCQlwcmludGsoS0VSTl9FUlIgU0NMUF9WVDIyMF9QUklOVF9IRUFERVIKLQkJICAgICAgICJjb3VsZCBub3QgcmVnaXN0ZXIgdHR5IC0gIgotCQkgICAgICAgInR0eV9yZWdpc3Rlcl9kcml2ZXIgcmV0dXJuZWQgJWRcbiIsIHJjKTsKKwlpZiAocmMpCiAJCWdvdG8gb3V0X2luaXQ7Ci0JfQogCXNjbHBfdnQyMjBfZHJpdmVyID0gZHJpdmVyOwogCXJldHVybiAwOwogCiBvdXRfaW5pdDoKLQlpZiAoY2xlYW51cCkKLQkJX19zY2xwX3Z0MjIwX2NsZWFudXAoKTsKKwlfX3NjbHBfdnQyMjBfY2xlYW51cCgpOwogb3V0X2RyaXZlcjoKIAlwdXRfdHR5X2RyaXZlcihkcml2ZXIpOwogCXJldHVybiByYzsKQEAgLTc3MywxMCArNzcwLDkgQEAKIHsKIAlpbnQgcmM7CiAKLQlJTklUX0xJU1RfSEVBRCgmc2NscF92dDIyMF9yZWdpc3Rlci5saXN0KTsKIAlpZiAoIUNPTlNPTEVfSVNfU0NMUCkKIAkJcmV0dXJuIDA7Ci0JcmMgPSBfX3NjbHBfdnQyMjBfaW5pdCgpOworCXJjID0gX19zY2xwX3Z0MjIwX2luaXQoTUFYX0NPTlNPTEVfUEFHRVMpOwogCWlmIChyYykKIAkJcmV0dXJuIHJjOwogCS8qIEF0dGFjaCBsaW51eCBjb25zb2xlICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2hhci90YXBlXzM0eHguYyBiL2RyaXZlcnMvczM5MC9jaGFyL3RhcGVfMzR4eC5jCmluZGV4IDg3NGFkZjMuLjIyY2EzNDMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaGFyL3RhcGVfMzR4eC5jCisrKyBiL2RyaXZlcnMvczM5MC9jaGFyL3RhcGVfMzR4eC5jCkBAIC0xOTYsNyArMTk2LDcgQEAKIHN0YXRpYyBpbnQKIHRhcGVfMzR4eF91bnNvbGljaXRlZF9pcnEoc3RydWN0IHRhcGVfZGV2aWNlICpkZXZpY2UsIHN0cnVjdCBpcmIgKmlyYikKIHsKLQlpZiAoaXJiLT5zY3N3LmRzdGF0ID09IDB4ODUgLyogUkVBRFkgKi8pIHsKKwlpZiAoaXJiLT5zY3N3LmNtZC5kc3RhdCA9PSAweDg1KSB7IC8qIFJFQURZICovCiAJCS8qIEEgbWVkaXVtIHdhcyBpbnNlcnRlZCBpbiB0aGUgZHJpdmUuICovCiAJCURCRl9FVkVOVCg2LCAieHV1ZCBtZWRcbiIpOwogCQl0YXBlXzM0eHhfZGVsZXRlX3NiaWRfZnJvbShkZXZpY2UsIDApOwpAQCAtODQ0LDIyICs4NDQsMjIgQEAKIAlpZiAocmVxdWVzdCA9PSBOVUxMKQogCQlyZXR1cm4gdGFwZV8zNHh4X3Vuc29saWNpdGVkX2lycShkZXZpY2UsIGlyYik7CiAKLQlpZiAoKGlyYi0+c2Nzdy5kc3RhdCAmIERFVl9TVEFUX1VOSVRfRVhDRVApICYmCi0JICAgIChpcmItPnNjc3cuZHN0YXQgJiBERVZfU1RBVF9ERVZfRU5EKSAmJgorCWlmICgoaXJiLT5zY3N3LmNtZC5kc3RhdCAmIERFVl9TVEFUX1VOSVRfRVhDRVApICYmCisJICAgIChpcmItPnNjc3cuY21kLmRzdGF0ICYgREVWX1NUQVRfREVWX0VORCkgJiYKIAkgICAgKHJlcXVlc3QtPm9wID09IFRPX1dSSSkpIHsKIAkJLyogV3JpdGUgYXQgZW5kIG9mIHZvbHVtZSAqLwogCQlQUklOVF9JTkZPKCJFbmQgb2Ygdm9sdW1lXG4iKTsgLyogWFhYICovCiAJCXJldHVybiB0YXBlXzM0eHhfZXJwX2ZhaWxlZChyZXF1ZXN0LCAtRU5PU1BDKTsKIAl9CiAKLQlpZiAoaXJiLT5zY3N3LmRzdGF0ICYgREVWX1NUQVRfVU5JVF9DSEVDSykKKwlpZiAoaXJiLT5zY3N3LmNtZC5kc3RhdCAmIERFVl9TVEFUX1VOSVRfQ0hFQ0spCiAJCXJldHVybiB0YXBlXzM0eHhfdW5pdF9jaGVjayhkZXZpY2UsIHJlcXVlc3QsIGlyYik7CiAKLQlpZiAoaXJiLT5zY3N3LmRzdGF0ICYgREVWX1NUQVRfREVWX0VORCkgeworCWlmIChpcmItPnNjc3cuY21kLmRzdGF0ICYgREVWX1NUQVRfREVWX0VORCkgewogCQkvKgogCQkgKiBBIHVuaXQgZXhjZXB0aW9uIG9jY3VycyBvbiBza2lwcGluZyBvdmVyIGEgdGFwZW1hcmsgYmxvY2suCiAJCSAqLwotCQlpZiAoaXJiLT5zY3N3LmRzdGF0ICYgREVWX1NUQVRfVU5JVF9FWENFUCkgeworCQlpZiAoaXJiLT5zY3N3LmNtZC5kc3RhdCAmIERFVl9TVEFUX1VOSVRfRVhDRVApIHsKIAkJCWlmIChyZXF1ZXN0LT5vcCA9PSBUT19CU0IgfHwgcmVxdWVzdC0+b3AgPT0gVE9fRlNCKQogCQkJCXJlcXVlc3QtPnJlc2NudCsrOwogCQkJZWxzZQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2NoYXIvdGFwZV8zNTkwLmMgYi9kcml2ZXJzL3MzOTAvY2hhci90YXBlXzM1OTAuYwppbmRleCA0MmNlNzkxLi44Mzk5ODc2IDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2hhci90YXBlXzM1OTAuYworKysgYi9kcml2ZXJzL3MzOTAvY2hhci90YXBlXzM1OTAuYwpAQCAtODM3LDEzICs4MzcsMTMgQEAKIHN0YXRpYyBpbnQKIHRhcGVfMzU5MF91bnNvbGljaXRlZF9pcnEoc3RydWN0IHRhcGVfZGV2aWNlICpkZXZpY2UsIHN0cnVjdCBpcmIgKmlyYikKIHsKLQlpZiAoaXJiLT5zY3N3LmRzdGF0ID09IERFVl9TVEFUX0NITl9FTkQpCisJaWYgKGlyYi0+c2Nzdy5jbWQuZHN0YXQgPT0gREVWX1NUQVRfQ0hOX0VORCkKIAkJLyogUHJvYmFibHkgcmVzdWx0IG9mIGhhbHQgc3NjaCAqLwogCQlyZXR1cm4gVEFQRV9JT19QRU5ESU5HOwotCWVsc2UgaWYgKGlyYi0+c2Nzdy5kc3RhdCA9PSAweDg1KQorCWVsc2UgaWYgKGlyYi0+c2Nzdy5jbWQuZHN0YXQgPT0gMHg4NSkKIAkJLyogRGV2aWNlIFJlYWR5ICovCiAJCURCRl9FVkVOVCgzLCAidW5zb2wuaXJxISB0YXBlIHJlYWR5OiAlMDh4XG4iLCBkZXZpY2UtPmNkZXZfaWQpOwotCWVsc2UgaWYgKGlyYi0+c2Nzdy5kc3RhdCAmIERFVl9TVEFUX0FUVEVOVElPTikgeworCWVsc2UgaWYgKGlyYi0+c2Nzdy5jbWQuZHN0YXQgJiBERVZfU1RBVF9BVFRFTlRJT04pIHsKIAkJdGFwZV8zNTkwX3NjaGVkdWxlX3dvcmsoZGV2aWNlLCBUT19SRUFEX0FUVE1TRyk7CiAJfSBlbHNlIHsKIAkJREJGX0VWRU5UKDMsICJ1bnNvbC5pcnEhIGRldiBlbmQ6ICUwOHhcbiIsIGRldmljZS0+Y2Rldl9pZCk7CkBAIC0xNTE1LDE4ICsxNTE1LDE5IEBACiAJaWYgKHJlcXVlc3QgPT0gTlVMTCkKIAkJcmV0dXJuIHRhcGVfMzU5MF91bnNvbGljaXRlZF9pcnEoZGV2aWNlLCBpcmIpOwogCi0JaWYgKChpcmItPnNjc3cuZHN0YXQgJiBERVZfU1RBVF9VTklUX0VYQ0VQKSAmJgotCSAgICAoaXJiLT5zY3N3LmRzdGF0ICYgREVWX1NUQVRfREVWX0VORCkgJiYgKHJlcXVlc3QtPm9wID09IFRPX1dSSSkpIHsKKwlpZiAoKGlyYi0+c2Nzdy5jbWQuZHN0YXQgJiBERVZfU1RBVF9VTklUX0VYQ0VQKSAmJgorCSAgICAoaXJiLT5zY3N3LmNtZC5kc3RhdCAmIERFVl9TVEFUX0RFVl9FTkQpICYmCisJICAgIChyZXF1ZXN0LT5vcCA9PSBUT19XUkkpKSB7CiAJCS8qIFdyaXRlIGF0IGVuZCBvZiB2b2x1bWUgKi8KIAkJREJGX0VWRU5UKDIsICJFbmQgb2Ygdm9sdW1lXG4iKTsKIAkJcmV0dXJuIHRhcGVfMzU5MF9lcnBfZmFpbGVkKGRldmljZSwgcmVxdWVzdCwgaXJiLCAtRU5PU1BDKTsKIAl9CiAKLQlpZiAoaXJiLT5zY3N3LmRzdGF0ICYgREVWX1NUQVRfVU5JVF9DSEVDSykKKwlpZiAoaXJiLT5zY3N3LmNtZC5kc3RhdCAmIERFVl9TVEFUX1VOSVRfQ0hFQ0spCiAJCXJldHVybiB0YXBlXzM1OTBfdW5pdF9jaGVjayhkZXZpY2UsIHJlcXVlc3QsIGlyYik7CiAKLQlpZiAoaXJiLT5zY3N3LmRzdGF0ICYgREVWX1NUQVRfREVWX0VORCkgewotCQlpZiAoaXJiLT5zY3N3LmRzdGF0ID09IERFVl9TVEFUX1VOSVRfRVhDRVApIHsKKwlpZiAoaXJiLT5zY3N3LmNtZC5kc3RhdCAmIERFVl9TVEFUX0RFVl9FTkQpIHsKKwkJaWYgKGlyYi0+c2Nzdy5jbWQuZHN0YXQgPT0gREVWX1NUQVRfVU5JVF9FWENFUCkgewogCQkJaWYgKHJlcXVlc3QtPm9wID09IFRPX0ZTQiB8fCByZXF1ZXN0LT5vcCA9PSBUT19CU0IpCiAJCQkJcmVxdWVzdC0+cmVzY250Kys7CiAJCQllbHNlCkBAIC0xNTM2LDEyICsxNTM3LDEyIEBACiAJCXJldHVybiB0YXBlXzM1OTBfZG9uZShkZXZpY2UsIHJlcXVlc3QpOwogCX0KIAotCWlmIChpcmItPnNjc3cuZHN0YXQgJiBERVZfU1RBVF9DSE5fRU5EKSB7CisJaWYgKGlyYi0+c2Nzdy5jbWQuZHN0YXQgJiBERVZfU1RBVF9DSE5fRU5EKSB7CiAJCURCRl9FVkVOVCgyLCAiY2FubmVsIGVuZFxuIik7CiAJCXJldHVybiBUQVBFX0lPX1BFTkRJTkc7CiAJfQogCi0JaWYgKGlyYi0+c2Nzdy5kc3RhdCAmIERFVl9TVEFUX0FUVEVOVElPTikgeworCWlmIChpcmItPnNjc3cuY21kLmRzdGF0ICYgREVWX1NUQVRfQVRURU5USU9OKSB7CiAJCURCRl9FVkVOVCgyLCAiVW5pdCBBdHRlbnRpb24gd2hlbiBidXN5Li5cbiIpOwogCQlyZXR1cm4gVEFQRV9JT19QRU5ESU5HOwogCX0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaGFyL3RhcGVfY2hhci5jIGIvZHJpdmVycy9zMzkwL2NoYXIvdGFwZV9jaGFyLmMKaW5kZXggZWJlODQwNi4uNjg3NzIwYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2NoYXIvdGFwZV9jaGFyLmMKKysrIGIvZHJpdmVycy9zMzkwL2NoYXIvdGFwZV9jaGFyLmMKQEAgLTE0LDYgKzE0LDcgQEAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogI2luY2x1ZGUgPGxpbnV4L3Byb2NfZnMuaD4KICNpbmNsdWRlIDxsaW51eC9tdGlvLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAKQEAgLTI4OSwyMSArMjkwLDI2IEBACiAJaWYgKGltYWpvcihmaWxwLT5mX3BhdGguZGVudHJ5LT5kX2lub2RlKSAhPSB0YXBlY2hhcl9tYWpvcikKIAkJcmV0dXJuIC1FTk9ERVY7CiAKKwlsb2NrX2tlcm5lbCgpOwogCW1pbm9yID0gaW1pbm9yKGZpbHAtPmZfcGF0aC5kZW50cnktPmRfaW5vZGUpOwogCWRldmljZSA9IHRhcGVfZ2V0X2RldmljZShtaW5vciAvIFRBUEVfTUlOT1JTX1BFUl9ERVYpOwogCWlmIChJU19FUlIoZGV2aWNlKSkgewogCQlEQkZfRVZFTlQoMywgIlRDSEFSOm9wZW46IHRhcGVfZ2V0X2RldmljZSgpIGZhaWxlZFxuIik7Ci0JCXJldHVybiBQVFJfRVJSKGRldmljZSk7CisJCXJjID0gUFRSX0VSUihkZXZpY2UpOworCQlnb3RvIG91dDsKIAl9CiAKIAogCXJjID0gdGFwZV9vcGVuKGRldmljZSk7CiAJaWYgKHJjID09IDApIHsKIAkJZmlscC0+cHJpdmF0ZV9kYXRhID0gZGV2aWNlOwotCQlyZXR1cm4gbm9uc2Vla2FibGVfb3Blbihpbm9kZSwgZmlscCk7CisJCXJjID0gbm9uc2Vla2FibGVfb3Blbihpbm9kZSwgZmlscCk7CiAJfQotCXRhcGVfcHV0X2RldmljZShkZXZpY2UpOworCWVsc2UKKwkJdGFwZV9wdXRfZGV2aWNlKGRldmljZSk7CiAKK291dDoKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIHJjOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2hhci90YXBlX2NvcmUuYyBiL2RyaXZlcnMvczM5MC9jaGFyL3RhcGVfY29yZS5jCmluZGV4IGMyMGUzYzUuLjE4MWE1NDQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaGFyL3RhcGVfY29yZS5jCisrKyBiL2RyaXZlcnMvczM5MC9jaGFyL3RhcGVfY29yZS5jCkBAIC04MzksNyArODM5LDcgQEAKIAogCVBSSU5UX0lORk8oIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIpOwogCVBSSU5UX0lORk8oIkRTVEFUIDogJTAyeCAgQ1NUQVQ6ICUwMngJQ1BBOiAlMDR4XG4iLAotCQkgICBpcmItPnNjc3cuZHN0YXQsIGlyYi0+c2Nzdy5jc3RhdCwgaXJiLT5zY3N3LmNwYSk7CisJCSAgIGlyYi0+c2Nzdy5jbWQuZHN0YXQsIGlyYi0+c2Nzdy5jbWQuY3N0YXQsIGlyYi0+c2Nzdy5jbWQuY3BhKTsKIAlQUklOVF9JTkZPKCJERVZJQ0U6ICVzXG4iLCBkZXZpY2UtPmNkZXYtPmRldi5idXNfaWQpOwogCWlmIChyZXF1ZXN0ICE9IE5VTEwpCiAJCVBSSU5UX0lORk8oIk9QCSAgOiAlc1xuIiwgdGFwZV9vcF92ZXJib3NlW3JlcXVlc3QtPm9wXSk7CkBAIC04NjcsNyArODY3LDcgQEAKIAllbHNlCiAJCW9wID0gIi0tLSI7CiAJREJGX0VWRU5UKDMsICJEU1RBVCA6ICUwMnggICBDU1RBVDogJTAyeFxuIiwKLQkJICBpcmItPnNjc3cuZHN0YXQsaXJiLT5zY3N3LmNzdGF0KTsKKwkJICBpcmItPnNjc3cuY21kLmRzdGF0LCBpcmItPnNjc3cuY21kLmNzdGF0KTsKIAlEQkZfRVZFTlQoMywgIkRFVklDRTogJTA4eCBPUFx0OiAlc1xuIiwgZGV2aWNlLT5jZGV2X2lkLCBvcCk7CiAJc3B0ciA9ICh1bnNpZ25lZCBpbnQgKikgaXJiLT5lY3c7CiAJREJGX0VWRU5UKDMsICIlMDh4ICUwOHhcbiIsIHNwdHJbMF0sIHNwdHJbMV0pOwpAQCAtMTA4MywxMCArMTA4MywxMSBAQAogCSAqIGVycm9yIG1pZ2h0IHN0aWxsIGFwcGx5LiBTbyB3ZSBqdXN0IHNjaGVkdWxlIHRoZSByZXF1ZXN0IHRvIGJlCiAJICogc3RhcnRlZCBsYXRlci4KIAkgKi8KLQlpZiAoaXJiLT5zY3N3LmNjICE9IDAgJiYgKGlyYi0+c2Nzdy5mY3RsICYgU0NTV19GQ1RMX1NUQVJUX0ZVTkMpICYmCisJaWYgKGlyYi0+c2Nzdy5jbWQuY2MgIT0gMCAmJgorCSAgICAoaXJiLT5zY3N3LmNtZC5mY3RsICYgU0NTV19GQ1RMX1NUQVJUX0ZVTkMpICYmCiAJICAgIChyZXF1ZXN0LT5zdGF0dXMgPT0gVEFQRV9SRVFVRVNUX0lOX0lPKSkgewogCQlEQkZfRVZFTlQoMywiKCUwOHgpOiBkZWZlcnJlZCBjYz0laSwgZmN0bD0laS4gcmVzdGFydGluZ1xuIiwKLQkJCWRldmljZS0+Y2Rldl9pZCwgaXJiLT5zY3N3LmNjLCBpcmItPnNjc3cuZmN0bCk7CisJCQlkZXZpY2UtPmNkZXZfaWQsIGlyYi0+c2Nzdy5jbWQuY2MsIGlyYi0+c2Nzdy5jbWQuZmN0bCk7CiAJCXJlcXVlc3QtPnN0YXR1cyA9IFRBUEVfUkVRVUVTVF9RVUVVRUQ7CiAJCXNjaGVkdWxlX2RlbGF5ZWRfd29yaygmZGV2aWNlLT50YXBlX2RuciwgSFopOwogCQlyZXR1cm47CkBAIC0xMDk0LDggKzEwOTUsOCBAQAogCiAJLyogTWF5IGJlIGFuIHVuc29saWNpdGVkIGlycSAqLwogCWlmKHJlcXVlc3QgIT0gTlVMTCkKLQkJcmVxdWVzdC0+cmVzY250ID0gaXJiLT5zY3N3LmNvdW50OwotCWVsc2UgaWYgKChpcmItPnNjc3cuZHN0YXQgPT0gMHg4NSB8fCBpcmItPnNjc3cuZHN0YXQgPT0gMHg4MCkgJiYKKwkJcmVxdWVzdC0+cmVzY250ID0gaXJiLT5zY3N3LmNtZC5jb3VudDsKKwllbHNlIGlmICgoaXJiLT5zY3N3LmNtZC5kc3RhdCA9PSAweDg1IHx8IGlyYi0+c2Nzdy5jbWQuZHN0YXQgPT0gMHg4MCkgJiYKIAkJICFsaXN0X2VtcHR5KCZkZXZpY2UtPnJlcV9xdWV1ZSkpIHsKIAkJLyogTm90IFJlYWR5IHRvIFJlYWR5IGFmdGVyIGxvbmcgYnVzeSA/ICovCiAJCXN0cnVjdCB0YXBlX3JlcXVlc3QgKnJlcTsKQEAgLTExMTEsNyArMTExMiw3IEBACiAJCQlyZXR1cm47CiAJCX0KIAl9Ci0JaWYgKGlyYi0+c2Nzdy5kc3RhdCAhPSAweDBjKSB7CisJaWYgKGlyYi0+c2Nzdy5jbWQuZHN0YXQgIT0gMHgwYykgewogCQkvKiBTZXQgdGhlICdPTkxJTkUnIGZsYWcgZGVwZW5kaW5nIG9uIHNlbnNlIGJ5dGUgMSAqLwogCQlpZigqKCgoX191OCAqKSBpcmItPmVjdykgKyAxKSAmIFNFTlNFX0RSSVZFX09OTElORSkKIAkJCWRldmljZS0+dGFwZV9nZW5lcmljX3N0YXR1cyB8PSBHTVRfT05MSU5FKH4wKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaGFyL3R0eTMyNzAuYyBiL2RyaXZlcnMvczM5MC9jaGFyL3R0eTMyNzAuYwppbmRleCA1MDQzMTUwLi5hN2ZlNjMwIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2hhci90dHkzMjcwLmMKKysrIGIvZHJpdmVycy9zMzkwL2NoYXIvdHR5MzI3MC5jCkBAIC02NjMsNyArNjYzLDcgQEAKIHR0eTMyNzBfaXJxKHN0cnVjdCB0dHkzMjcwICp0cCwgc3RydWN0IHJhdzMyNzBfcmVxdWVzdCAqcnEsIHN0cnVjdCBpcmIgKmlyYikKIHsKIAkvKiBIYW5kbGUgQVRUTi4gU2NoZWR1bGUgdGFza2xldCB0byByZWFkIGFpZC4gKi8KLQlpZiAoaXJiLT5zY3N3LmRzdGF0ICYgREVWX1NUQVRfQVRURU5USU9OKSB7CisJaWYgKGlyYi0+c2Nzdy5jbWQuZHN0YXQgJiBERVZfU1RBVF9BVFRFTlRJT04pIHsKIAkJaWYgKCF0cC0+dGhyb3R0bGUpCiAJCQl0dHkzMjcwX2lzc3VlX3JlYWQodHAsIDApOwogCQllbHNlCkBAIC02NzEsMTEgKzY3MSwxMSBAQAogCX0KIAogCWlmIChycSkgewotCQlpZiAoaXJiLT5zY3N3LmRzdGF0ICYgREVWX1NUQVRfVU5JVF9DSEVDSykKKwkJaWYgKGlyYi0+c2Nzdy5jbWQuZHN0YXQgJiBERVZfU1RBVF9VTklUX0NIRUNLKQogCQkJcnEtPnJjID0gLUVJTzsKIAkJZWxzZQogCQkJLyogTm9ybWFsIGVuZC4gQ29weSByZXNpZHVhbCBjb3VudC4gKi8KLQkJCXJxLT5yZXNjbnQgPSBpcmItPnNjc3cuY291bnQ7CisJCQlycS0+cmVzY250ID0gaXJiLT5zY3N3LmNtZC5jb3VudDsKIAl9CiAJcmV0dXJuIFJBVzMyNzBfSU9fRE9ORTsKIH0KQEAgLTE3OTIsMTUgKzE3OTIsMTIgQEAKIAl0dHlfc2V0X29wZXJhdGlvbnMoZHJpdmVyLCAmdHR5MzI3MF9vcHMpOwogCXJldCA9IHR0eV9yZWdpc3Rlcl9kcml2ZXIoZHJpdmVyKTsKIAlpZiAocmV0KSB7Ci0JCXByaW50ayhLRVJOX0VSUiAidHR5MzI3MCByZWdpc3RyYXRpb24gZmFpbGVkIHdpdGggJWRcbiIsIHJldCk7CiAJCXB1dF90dHlfZHJpdmVyKGRyaXZlcik7CiAJCXJldHVybiByZXQ7CiAJfQogCXR0eTMyNzBfZHJpdmVyID0gZHJpdmVyOwogCXJldCA9IHJhdzMyNzBfcmVnaXN0ZXJfbm90aWZpZXIodHR5MzI3MF9ub3RpZmllcik7CiAJaWYgKHJldCkgewotCQlwcmludGsoS0VSTl9FUlIgInR0eTMyNzAgbm90aWZpZXIgcmVnaXN0cmF0aW9uIGZhaWxlZCAiCi0JCSAgICAgICAid2l0aCAlZFxuIiwgcmV0KTsKIAkJcHV0X3R0eV9kcml2ZXIoZHJpdmVyKTsKIAkJcmV0dXJuIHJldDsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2NoYXIvdm1jcC5jIGIvZHJpdmVycy9zMzkwL2NoYXIvdm1jcC5jCmluZGV4IDJmNDE5YjAuLjA5ZTdkOWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaGFyL3ZtY3AuYworKysgYi9kcml2ZXJzL3MzOTAvY2hhci92bWNwLmMKQEAgLTE2LDYgKzE2LDcgQEAKICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KICNpbmNsdWRlIDxsaW51eC9taXNjZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxhc20vY3BjbWQuaD4KICNpbmNsdWRlIDxhc20vZGVidWcuaD4KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgpAQCAtMzksMTEgKzQwLDE0IEBACiAJc2Vzc2lvbiA9IGttYWxsb2Moc2l6ZW9mKCpzZXNzaW9uKSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCFzZXNzaW9uKQogCQlyZXR1cm4gLUVOT01FTTsKKworCWxvY2tfa2VybmVsKCk7CiAJc2Vzc2lvbi0+YnVmc2l6ZSA9IFBBR0VfU0laRTsKIAlzZXNzaW9uLT5yZXNwb25zZSA9IE5VTEw7CiAJc2Vzc2lvbi0+cmVzcF9zaXplID0gMDsKIAltdXRleF9pbml0KCZzZXNzaW9uLT5tdXRleCk7CiAJZmlsZS0+cHJpdmF0ZV9kYXRhID0gc2Vzc2lvbjsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIG5vbnNlZWthYmxlX29wZW4oaW5vZGUsIGZpbGUpOwogfQogCkBAIC02MSwzMCArNjUsMjQgQEAKIHN0YXRpYyBzc2l6ZV90CiB2bWNwX3JlYWQoc3RydWN0IGZpbGUgKmZpbGUsIGNoYXIgX191c2VyICpidWZmLCBzaXplX3QgY291bnQsIGxvZmZfdCAqcHBvcykKIHsKLQlzaXplX3QgdG9jb3B5OworCXNzaXplX3QgcmV0OworCXNpemVfdCBzaXplOwogCXN0cnVjdCB2bWNwX3Nlc3Npb24gKnNlc3Npb247CiAKLQlzZXNzaW9uID0gKHN0cnVjdCB2bWNwX3Nlc3Npb24gKilmaWxlLT5wcml2YXRlX2RhdGE7CisJc2Vzc2lvbiA9IGZpbGUtPnByaXZhdGVfZGF0YTsKIAlpZiAobXV0ZXhfbG9ja19pbnRlcnJ1cHRpYmxlKCZzZXNzaW9uLT5tdXRleCkpCiAJCXJldHVybiAtRVJFU1RBUlRTWVM7CiAJaWYgKCFzZXNzaW9uLT5yZXNwb25zZSkgewogCQltdXRleF91bmxvY2soJnNlc3Npb24tPm11dGV4KTsKIAkJcmV0dXJuIDA7CiAJfQotCWlmICgqcHBvcyA+IHNlc3Npb24tPnJlc3Bfc2l6ZSkgewotCQltdXRleF91bmxvY2soJnNlc3Npb24tPm11dGV4KTsKLQkJcmV0dXJuIDA7Ci0JfQotCXRvY29weSA9IG1pbihzZXNzaW9uLT5yZXNwX3NpemUgLSAoc2l6ZV90KSAoKnBwb3MpLCBjb3VudCk7Ci0JdG9jb3B5ID0gbWluKHRvY29weSwgc2Vzc2lvbi0+YnVmc2l6ZSAtIChzaXplX3QpICgqcHBvcykpOworCXNpemUgPSBtaW5fdChzaXplX3QsIHNlc3Npb24tPnJlc3Bfc2l6ZSwgc2Vzc2lvbi0+YnVmc2l6ZSk7CisJcmV0ID0gc2ltcGxlX3JlYWRfZnJvbV9idWZmZXIoYnVmZiwgY291bnQsIHBwb3MsCisJCQkJCXNlc3Npb24tPnJlc3BvbnNlLCBzaXplKTsKIAotCWlmIChjb3B5X3RvX3VzZXIoYnVmZiwgc2Vzc2lvbi0+cmVzcG9uc2UgKyAoKnBwb3MpLCB0b2NvcHkpKSB7Ci0JCW11dGV4X3VubG9jaygmc2Vzc2lvbi0+bXV0ZXgpOwotCQlyZXR1cm4gLUVGQVVMVDsKLQl9CiAJbXV0ZXhfdW5sb2NrKCZzZXNzaW9uLT5tdXRleCk7Ci0JKnBwb3MgKz0gdG9jb3B5OwotCXJldHVybiB0b2NvcHk7CisKKwlyZXR1cm4gcmV0OwogfQogCiBzdGF0aWMgc3NpemVfdApAQCAtMTk4LDI3ICsxOTYsMjMgQEAKIAkJUFJJTlRfV0FSTigiei9WTSBDUCBpbnRlcmZhY2UgaXMgb25seSBhdmFpbGFibGUgdW5kZXIgei9WTVxuIik7CiAJCXJldHVybiAtRU5PREVWOwogCX0KKwogCXZtY3BfZGVidWcgPSBkZWJ1Z19yZWdpc3Rlcigidm1jcCIsIDEsIDEsIDI0MCk7Ci0JaWYgKCF2bWNwX2RlYnVnKSB7Ci0JCVBSSU5UX0VSUigiei9WTSBDUCBpbnRlcmZhY2Ugbm90IGxvYWRlZC4gQ291bGQgbm90IHJlZ2lzdGVyICIKLQkJCSAgICJkZWJ1ZyBmZWF0dXJlXG4iKTsKKwlpZiAoIXZtY3BfZGVidWcpCiAJCXJldHVybiAtRU5PTUVNOwotCX0KKwogCXJldCA9IGRlYnVnX3JlZ2lzdGVyX3ZpZXcodm1jcF9kZWJ1ZywgJmRlYnVnX2hleF9hc2NpaV92aWV3KTsKIAlpZiAocmV0KSB7Ci0JCVBSSU5UX0VSUigiei9WTSBDUCBpbnRlcmZhY2Ugbm90IGxvYWRlZC4gQ291bGQgbm90IHJlZ2lzdGVyICIKLQkJCSAgImRlYnVnIGZlYXR1cmUgdmlldy4gRXJyb3IgY29kZTogJWRcbiIsIHJldCk7CiAJCWRlYnVnX3VucmVnaXN0ZXIodm1jcF9kZWJ1Zyk7CiAJCXJldHVybiByZXQ7CiAJfQorCiAJcmV0ID0gbWlzY19yZWdpc3Rlcigmdm1jcF9kZXYpOwogCWlmIChyZXQpIHsKLQkJUFJJTlRfRVJSKCJ6L1ZNIENQIGludGVyZmFjZSBub3QgbG9hZGVkLiBDb3VsZCBub3QgcmVnaXN0ZXIgIgotCQkJICAgIm1pc2MgZGV2aWNlLiBFcnJvciBjb2RlOiAlZFxuIiwgcmV0KTsKIAkJZGVidWdfdW5yZWdpc3Rlcih2bWNwX2RlYnVnKTsKIAkJcmV0dXJuIHJldDsKIAl9Ci0JUFJJTlRfSU5GTygiei9WTSBDUCBpbnRlcmZhY2UgbG9hZGVkXG4iKTsKKwogCXJldHVybiAwOwogfQogCkBAIC0yMjYsNyArMjIwLDYgQEAKIHsKIAltaXNjX2RlcmVnaXN0ZXIoJnZtY3BfZGV2KTsKIAlkZWJ1Z191bnJlZ2lzdGVyKHZtY3BfZGVidWcpOwotCVBSSU5UX0lORk8oInovVk0gQ1AgaW50ZXJmYWNlIHVubG9hZGVkLlxuIik7CiB9CiAKIG1vZHVsZV9pbml0KHZtY3BfaW5pdCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2hhci92bWxvZ3Jkci5jIGIvZHJpdmVycy9zMzkwL2NoYXIvdm1sb2dyZHIuYwppbmRleCAyYzI0MjhjLi5jMzFmYWVmIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2hhci92bWxvZ3Jkci5jCisrKyBiL2RyaXZlcnMvczM5MC9jaGFyL3ZtbG9ncmRyLmMKQEAgLTI1LDYgKzI1LDcgQEAKICNpbmNsdWRlIDxsaW51eC9rbW9kLmg+CiAjaW5jbHVkZSA8bGludXgvY2Rldi5oPgogI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvc3RyaW5nLmg+CiAKIApAQCAtMjE2LDkgKzIxNyw3IEBACiAJY2hhciAqdGFpbDsKIAlpbnQgbGVuLGk7CiAKLQlwcmludGsgKEtFUk5fREVCVUcgInZtbG9ncmRyOiBxdWVyeSBjb21tYW5kOiAlc1xuIiwgY3BfY29tbWFuZCk7CiAJY3BjbWQoY3BfY29tbWFuZCwgY3BfcmVzcG9uc2UsIHNpemVvZihjcF9yZXNwb25zZSksIE5VTEwpOwotCXByaW50ayAoS0VSTl9ERUJVRyAidm1sb2dyZHI6IHJlc3BvbnNlOiAlcyIsIGNwX3Jlc3BvbnNlKTsKIAlsZW4gPSBzdHJubGVuKGNwX3Jlc3BvbnNlLHNpemVvZihjcF9yZXNwb25zZSkpOwogCS8vIG5vdyB0aGUgcGFyc2luZwogCXRhaWw9c3RybmNocihjcF9yZXNwb25zZSxsZW4sJz0nKTsKQEAgLTI2OCwxMSArMjY3LDcgQEAKIAkJCSBsb2dwdHItPnJlY29yZGluZ19uYW1lLAogCQkJIHFpZF9zdHJpbmcpOwogCi0JCXByaW50ayAoS0VSTl9ERUJVRyAidm1sb2dyZHI6IHJlY29yZGluZyBjb21tYW5kOiAlc1xuIiwKLQkJCWNwX2NvbW1hbmQpOwogCQljcGNtZChjcF9jb21tYW5kLCBjcF9yZXNwb25zZSwgc2l6ZW9mKGNwX3Jlc3BvbnNlKSwgTlVMTCk7Ci0JCXByaW50ayAoS0VSTl9ERUJVRyAidm1sb2dyZHI6IHJlY29yZGluZyByZXNwb25zZTogJXMiLAotCQkJY3BfcmVzcG9uc2UpOwogCX0KIAogCW1lbXNldChjcF9jb21tYW5kLCAweDAwLCBzaXplb2YoY3BfY29tbWFuZCkpOwpAQCAtMjgyLDEwICsyNzcsNyBAQAogCQlvbm9mZiwKIAkJcWlkX3N0cmluZyk7CiAKLQlwcmludGsgKEtFUk5fREVCVUcgInZtbG9ncmRyOiByZWNvcmRpbmcgY29tbWFuZDogJXNcbiIsIGNwX2NvbW1hbmQpOwogCWNwY21kKGNwX2NvbW1hbmQsIGNwX3Jlc3BvbnNlLCBzaXplb2YoY3BfcmVzcG9uc2UpLCBOVUxMKTsKLQlwcmludGsgKEtFUk5fREVCVUcgInZtbG9ncmRyOiByZWNvcmRpbmcgcmVzcG9uc2U6ICVzIiwKLQkJY3BfcmVzcG9uc2UpOwogCS8qIFRoZSByZWNvcmRpbmcgY29tbWFuZCB3aWxsIHVzdWFsbHkgYW5zd2VyIHdpdGggJ0NvbW1hbmQgY29tcGxldGUnCiAJICogb24gc3VjY2VzcywgYnV0IHdoZW4gdGhlIHNwZWNpZmljIHNlcnZpY2Ugd2FzIG5ldmVyIGNvbm5lY3RlZAogCSAqIGJlZm9yZSB0aGVuIHRoZXJlIG1pZ2h0IGJlIGFuIGFkZGl0aW9uYWwgaW5mb3JtYXRpb25hbCBtZXNzYWdlCkBAIC0zMTksOSArMzExLDExIEBACiAJCXJldHVybiAtRU5PU1lTOwogCiAJLyogQmVzdXJlIHRoaXMgZGV2aWNlIGhhc24ndCBhbHJlYWR5IGJlZW4gb3BlbmVkICovCisJbG9ja19rZXJuZWwoKTsKIAlzcGluX2xvY2tfYmgoJmxvZ3B0ci0+cHJpdl9sb2NrKTsKIAlpZiAobG9ncHRyLT5kZXZfaW5fdXNlKQl7CiAJCXNwaW5fdW5sb2NrX2JoKCZsb2dwdHItPnByaXZfbG9jayk7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIC1FQlVTWTsKIAl9CiAJbG9ncHRyLT5kZXZfaW5fdXNlID0gMTsKQEAgLTM2NSw3ICszNTksOSBAQAogCQkgICB8fCAobG9ncHRyLT5pdWN2X3BhdGhfc2V2ZXJlZCkpOwogCWlmIChsb2dwdHItPml1Y3ZfcGF0aF9zZXZlcmVkKQogCQlnb3RvIG91dF9yZWNvcmQ7Ci0gCXJldHVybiBub25zZWVrYWJsZV9vcGVuKGlub2RlLCBmaWxwKTsKKyAJcmV0ID0gbm9uc2Vla2FibGVfb3Blbihpbm9kZSwgZmlscCk7CisJdW5sb2NrX2tlcm5lbCgpOworCXJldHVybiByZXQ7CiAKIG91dF9yZWNvcmQ6CiAJaWYgKGxvZ3B0ci0+YXV0b3JlY29yZGluZykKQEAgLTM3NSw2ICszNzEsNyBAQAogCWxvZ3B0ci0+cGF0aCA9IE5VTEw7CiBvdXRfZGV2OgogCWxvZ3B0ci0+ZGV2X2luX3VzZSA9IDA7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiAtRUlPOwogfQogCkBAIC01NjcsMTAgKzU2NCw3IEBACiAJCQkgIlJFQ09SRElORyAlcyBQVVJHRSAiLAogCQkJIHByaXYtPnJlY29yZGluZ19uYW1lKTsKIAotCXByaW50ayAoS0VSTl9ERUJVRyAidm1sb2dyZHI6IHJlY29yZGluZyBjb21tYW5kOiAlc1xuIiwgY3BfY29tbWFuZCk7CiAJY3BjbWQoY3BfY29tbWFuZCwgY3BfcmVzcG9uc2UsIHNpemVvZihjcF9yZXNwb25zZSksIE5VTEwpOwotCXByaW50ayAoS0VSTl9ERUJVRyAidm1sb2dyZHI6IHJlY29yZGluZyByZXNwb25zZTogJXMiLAotCQljcF9yZXNwb25zZSk7CiAKIAlyZXR1cm4gY291bnQ7CiB9CkBAIC02ODIsMjggKzY3NiwyMCBAQAogCiAJLyogUmVnaXN0ZXIgd2l0aCBpdWN2IGRyaXZlciAqLwogCXJldCA9IGl1Y3ZfcmVnaXN0ZXIoJnZtbG9ncmRyX2l1Y3ZfaGFuZGxlciwgMSk7Ci0JaWYgKHJldCkgewotCQlwcmludGsgKEtFUk5fRVJSICJ2bWxvZ3JkcjogZmFpbGVkIHRvIHJlZ2lzdGVyIHdpdGggIgotCQkJIml1Y3YgZHJpdmVyXG4iKTsKKwlpZiAocmV0KQogCQlnb3RvIG91dDsKLQl9CiAKIAlyZXQgPSBkcml2ZXJfcmVnaXN0ZXIoJnZtbG9ncmRyX2RyaXZlcik7Ci0JaWYgKHJldCkgewotCQlwcmludGsoS0VSTl9FUlIgInZtbG9ncmRyOiBmYWlsZWQgdG8gcmVnaXN0ZXIgZHJpdmVyLlxuIik7CisJaWYgKHJldCkKIAkJZ290byBvdXRfaXVjdjsKLQl9CiAKIAlyZXQgPSBkcml2ZXJfY3JlYXRlX2ZpbGUoJnZtbG9ncmRyX2RyaXZlciwKIAkJCQkgJmRyaXZlcl9hdHRyX3JlY29yZGluZ19zdGF0dXMpOwotCWlmIChyZXQpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJ2bWxvZ3JkcjogZmFpbGVkIHRvIGFkZCBkcml2ZXIgYXR0cmlidXRlLlxuIik7CisJaWYgKHJldCkKIAkJZ290byBvdXRfZHJpdmVyOwotCX0KIAogCXZtbG9ncmRyX2NsYXNzID0gY2xhc3NfY3JlYXRlKFRISVNfTU9EVUxFLCAidm1sb2dyZHIiKTsKIAlpZiAoSVNfRVJSKHZtbG9ncmRyX2NsYXNzKSkgewotCQlwcmludGsoS0VSTl9FUlIgInZtbG9ncmRyOiBmYWlsZWQgdG8gY3JlYXRlIGNsYXNzLlxuIik7CiAJCXJldCA9IFBUUl9FUlIodm1sb2dyZHJfY2xhc3MpOwogCQl2bWxvZ3Jkcl9jbGFzcyA9IE5VTEw7CiAJCWdvdG8gb3V0X2F0dHI7CkBAIC04NzEsMTIgKzg1NywxMCBAQAogCXJjID0gdm1sb2dyZHJfcmVnaXN0ZXJfY2RldihkZXYpOwogCWlmIChyYykKIAkJZ290byBjbGVhbnVwOwotCXByaW50ayAoS0VSTl9JTkZPICJ2bWxvZ3JkcjogZHJpdmVyIGxvYWRlZFxuIik7CiAJcmV0dXJuIDA7CiAKIGNsZWFudXA6CiAJdm1sb2dyZHJfY2xlYW51cCgpOwotCXByaW50ayAoS0VSTl9FUlIgInZtbG9ncmRyOiBkcml2ZXIgbm90IGxvYWRlZC5cbiIpOwogCXJldHVybiByYzsKIH0KIApAQCAtODg0LDcgKzg2OCw2IEBACiBzdGF0aWMgdm9pZCBfX2V4aXQgdm1sb2dyZHJfZXhpdCh2b2lkKQogewogCXZtbG9ncmRyX2NsZWFudXAoKTsKLQlwcmludGsgKEtFUk5fSU5GTyAidm1sb2dyZHI6IGRyaXZlciB1bmxvYWRlZFxuIik7CiAJcmV0dXJuOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2hhci92bXVyLmMgYi9kcml2ZXJzL3MzOTAvY2hhci92bXVyLmMKaW5kZXggODNhZTlhOC4uMGE5ZjFjYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2NoYXIvdm11ci5jCisrKyBiL2RyaXZlcnMvczM5MC9jaGFyL3ZtdXIuYwpAQCAtOSw2ICs5LDcgQEAKICAqLwogCiAjaW5jbHVkZSA8bGludXgvY2Rldi5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogI2luY2x1ZGUgPGFzbS9jaW8uaD4KQEAgLTI3Nyw3ICsyNzgsOCBAQAogCXN0cnVjdCB1cmRldiAqdXJkOwogCiAJVFJBQ0UoInVyX2ludF9oYW5kbGVyOiBpbnRwYXJtPTB4JWx4IGNzdGF0PSUwMnggZHN0YXQ9JTAyeCByZXM9JXVcbiIsCi0JICAgICAgaW50cGFybSwgaXJiLT5zY3N3LmNzdGF0LCBpcmItPnNjc3cuZHN0YXQsIGlyYi0+c2Nzdy5jb3VudCk7CisJICAgICAgaW50cGFybSwgaXJiLT5zY3N3LmNtZC5jc3RhdCwgaXJiLT5zY3N3LmNtZC5kc3RhdCwKKwkgICAgICBpcmItPnNjc3cuY21kLmNvdW50KTsKIAogCWlmICghaW50cGFybSkgewogCQlUUkFDRSgidXJfaW50X2hhbmRsZXI6IHVuc29saWNpdGVkIGludGVycnVwdFxuIik7CkBAIC0yODgsNyArMjkwLDcgQEAKIAkvKiBPbiBzcGVjaWFsIGNvbmRpdGlvbnMgaXJiIGlzIGFuIGVycm9yIHBvaW50ZXIgKi8KIAlpZiAoSVNfRVJSKGlyYikpCiAJCXVyZC0+aW9fcmVxdWVzdF9yYyA9IFBUUl9FUlIoaXJiKTsKLQllbHNlIGlmIChpcmItPnNjc3cuZHN0YXQgPT0gKERFVl9TVEFUX0NITl9FTkQgfCBERVZfU1RBVF9ERVZfRU5EKSkKKwllbHNlIGlmIChpcmItPnNjc3cuY21kLmRzdGF0ID09IChERVZfU1RBVF9DSE5fRU5EIHwgREVWX1NUQVRfREVWX0VORCkpCiAJCXVyZC0+aW9fcmVxdWVzdF9yYyA9IDA7CiAJZWxzZQogCQl1cmQtPmlvX3JlcXVlc3RfcmMgPSAtRUlPOwpAQCAtNjY4LDcgKzY3MCw3IEBACiAKIAlpZiAoYWNjbW9kZSA9PSBPX1JEV1IpCiAJCXJldHVybiAtRUFDQ0VTOwotCisJbG9ja19rZXJuZWwoKTsKIAkvKgogCSAqIFdlIHRyZWF0IHRoZSBtaW5vciBudW1iZXIgYXMgdGhlIGRldm5vIG9mIHRoZSB1ciBkZXZpY2UKIAkgKiB0byBmaW5kIGluIHRoZSBkcml2ZXIgdHJlZS4KQEAgLTY3Niw4ICs2NzgsMTAgQEAKIAlkZXZubyA9IE1JTk9SKGZpbGUtPmZfZGVudHJ5LT5kX2lub2RlLT5pX3JkZXYpOwogCiAJdXJkID0gdXJkZXZfZ2V0X2Zyb21fZGV2bm8oZGV2bm8pOwotCWlmICghdXJkKQotCQlyZXR1cm4gLUVOWElPOworCWlmICghdXJkKSB7CisJCXJjID0gLUVOWElPOworCQlnb3RvIG91dDsKKwl9CiAKIAlzcGluX2xvY2soJnVyZC0+b3Blbl9sb2NrKTsKIAl3aGlsZSAodXJkLT5vcGVuX2ZsYWcpIHsKQEAgLTcyMCw2ICs3MjQsNyBAQAogCQlnb3RvIGZhaWxfdXJmaWxlX2ZyZWU7CiAJdXJmLT5maWxlX3JlY2xlbiA9IHJjOwogCWZpbGUtPnByaXZhdGVfZGF0YSA9IHVyZjsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIDA7CiAKIGZhaWxfdXJmaWxlX2ZyZWU6CkBAIC03MzAsNiArNzM1LDggQEAKIAlzcGluX3VubG9jaygmdXJkLT5vcGVuX2xvY2spOwogZmFpbF9wdXQ6CiAJdXJkZXZfcHV0KHVyZCk7CitvdXQ6CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiByYzsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2NoYXIvdm13YXRjaGRvZy5jIGIvZHJpdmVycy9zMzkwL2NoYXIvdm13YXRjaGRvZy5jCmluZGV4IDE5ZjgzODkuLjIxYTJhODIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaGFyL3Ztd2F0Y2hkb2cuYworKysgYi9kcml2ZXJzL3MzOTAvY2hhci92bXdhdGNoZG9nLmMKQEAgLTEzLDYgKzEzLDcgQEAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGVwYXJhbS5oPgogI2luY2x1ZGUgPGxpbnV4L3dhdGNoZG9nLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogI2luY2x1ZGUgPGFzbS9lYmNkaWMuaD4KICNpbmNsdWRlIDxhc20vaW8uaD4KQEAgLTkyLDIzICs5MywxNSBAQAogCiAJZnVuYyA9IHZtd2R0X2NvbmNlYWwgPyAod2R0X2luaXQgfCB3ZHRfY29uY2VhbCkgOiB3ZHRfaW5pdDsKIAlyZXQgPSBfX2RpYWcyODgoZnVuYywgdm13ZHRfaW50ZXJ2YWwsIGViY19jbWQsIGxlbik7CisJV0FSTl9PTihyZXQgIT0gMCk7CiAJa2ZyZWUoZWJjX2NtZCk7Ci0KLQlpZiAocmV0KSB7Ci0JCXByaW50ayhLRVJOX1dBUk5JTkcgIiVzOiBwcm9ibGVtIHNldHRpbmcgaW50ZXJ2YWwgJWQsICIKLQkJCSJjbWQgJXNcbiIsIF9fZnVuY19fLCB2bXdkdF9pbnRlcnZhbCwKLQkJCXZtd2R0X2NtZCk7Ci0JfQogCXJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyBpbnQgdm13ZHRfZGlzYWJsZSh2b2lkKQogewogCWludCByZXQgPSBfX2RpYWcyODgod2R0X2NhbmNlbCwgMCwgIiIsIDApOwotCWlmIChyZXQpIHsKLQkJcHJpbnRrKEtFUk5fV0FSTklORyAiJXM6IHByb2JsZW0gZGlzYWJsaW5nIHdhdGNoZG9nXG4iLAotCQkJX19mdW5jX18pOwotCX0KKwlXQVJOX09OKHJldCAhPSAwKTsKIAlyZXR1cm4gcmV0OwogfQogCkBAIC0xMjEsMjEgKzExNCwyMyBAQAogCXN0YXRpYyBjaGFyIF9faW5pdGRhdGEgZWJjX2JlZ2luW10gPSB7CiAJCTE5NCwgMTk3LCAxOTksIDIwMSwgMjEzCiAJfTsKLQlpZiAoX19kaWFnMjg4KHdkdF9pbml0LCAxNSwgZWJjX2JlZ2luLCBzaXplb2YoZWJjX2JlZ2luKSkgIT0gMCkgewotCQlwcmludGsoS0VSTl9JTkZPICJ6L1ZNIHdhdGNoZG9nIG5vdCBhdmFpbGFibGVcbiIpOworCWlmIChfX2RpYWcyODgod2R0X2luaXQsIDE1LCBlYmNfYmVnaW4sIHNpemVvZihlYmNfYmVnaW4pKSAhPSAwKQogCQlyZXR1cm4gLUVJTlZBTDsKLQl9CiAJcmV0dXJuIHZtd2R0X2Rpc2FibGUoKTsKIH0KIAogc3RhdGljIGludCB2bXdkdF9vcGVuKHN0cnVjdCBpbm9kZSAqaSwgc3RydWN0IGZpbGUgKmYpCiB7CiAJaW50IHJldDsKLQlpZiAodGVzdF9hbmRfc2V0X2JpdCgwLCAmdm13ZHRfaXNfb3BlbikpCisJbG9ja19rZXJuZWwoKTsKKwlpZiAodGVzdF9hbmRfc2V0X2JpdCgwLCAmdm13ZHRfaXNfb3BlbikpIHsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gLUVCVVNZOworCX0KIAlyZXQgPSB2bXdkdF9rZWVwYWxpdmUoKTsKIAlpZiAocmV0KQogCQljbGVhcl9iaXQoMCwgJnZtd2R0X2lzX29wZW4pOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gcmV0ID8gcmV0IDogbm9uc2Vla2FibGVfb3BlbihpLCBmKTsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2NoYXIvemNvcmUuYyBiL2RyaXZlcnMvczM5MC9jaGFyL3pjb3JlLmMKaW5kZXggYmJiZDE0ZS4uMDQ3ZGQ5MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2NoYXIvemNvcmUuYworKysgYi9kcml2ZXJzL3MzOTAvY2hhci96Y29yZS5jCkBAIC0yMjMsMTIgKzIyMywxMCBAQAogCS8qIGdldCBpbmZvIGZvciBib290IGNwdSBmcm9tIGxvd2NvcmUsIHN0b3JlZCBpbiB0aGUgSFNBICovCiAKIAlzYSA9IGttYWxsb2Moc2l6ZW9mKCpzYSksIEdGUF9LRVJORUwpOwotCWlmICghc2EpIHsKLQkJRVJST1JfTVNHKCJrbWFsbG9jIGZhaWxlZDogJXM6ICVpXG4iLF9fZnVuY19fLCBfX0xJTkVfXyk7CisJaWYgKCFzYSkKIAkJcmV0dXJuIC1FTk9NRU07Ci0JfQogCWlmIChtZW1jcHlfaHNhX2tlcm5lbChzYSwgc3lzX2luZm8uc2FfYmFzZSwgc3lzX2luZm8uc2Ffc2l6ZSkgPCAwKSB7Ci0JCUVSUk9SX01TRygiY291bGQgbm90IGNvcHkgZnJvbSBIU0FcbiIpOworCQlUUkFDRSgiY291bGQgbm90IGNvcHkgZnJvbSBIU0FcbiIpOwogCQlrZnJlZShzYSk7CiAJCXJldHVybiAtRUlPOwogCX0KQEAgLTUxMSw2ICs1MDksOCBAQAogICovCiBzdGF0aWMgaW50IF9faW5pdCBzeXNfaW5mb19pbml0KGVudW0gYXJjaF9pZCBhcmNoKQogeworCWludCByYzsKKwogCXN3aXRjaCAoYXJjaCkgewogCWNhc2UgQVJDSF9TMzkwWDoKIAkJTVNHKCJERVRFQ1RFRCAnUzM5MFggKDY0IGJpdCkgT1MnXG4iKTsKQEAgLTUyOSwxMCArNTI5LDkgQEAKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQogCXN5c19pbmZvLmFyY2ggPSBhcmNoOwotCWlmIChpbml0X2NwdV9pbmZvKGFyY2gpKSB7Ci0JCUVSUk9SX01TRygiZ2V0IGNwdSBpbmZvIGZhaWxlZFxuIik7Ci0JCXJldHVybiAtRU5PTUVNOwotCX0KKwlyYyA9IGluaXRfY3B1X2luZm8oYXJjaCk7CisJaWYgKHJjKQorCQlyZXR1cm4gcmM7CiAJc3lzX2luZm8ubWVtX3NpemUgPSByZWFsX21lbW9yeV9zaXplOwogCiAJcmV0dXJuIDA7CkBAIC01NDQsMTIgKzU0MywxMiBAQAogCiAJcmMgPSBzY2xwX3NkaWFzX2Jsa19jb3VudCgpOwogCWlmIChyYyA8IDApIHsKLQkJRVJST1JfTVNHKCJDb3VsZCBub3QgZGV0ZXJtaW5lIEhTQSBzaXplXG4iKTsKKwkJVFJBQ0UoIkNvdWxkIG5vdCBkZXRlcm1pbmUgSFNBIHNpemVcbiIpOwogCQlyZXR1cm4gcmM7CiAJfQogCWFjdF9oc2Ffc2l6ZSA9IChyYyAtIDEpICogUEFHRV9TSVpFOwogCWlmIChhY3RfaHNhX3NpemUgPCBaRkNQRFVNUF9IU0FfU0laRSkgewotCQlFUlJPUl9NU0coIkhTQSBzaXplIHRvbyBzbWFsbDogJWlcbiIsIGFjdF9oc2Ffc2l6ZSk7CisJCVRSQUNFKCJIU0Egc2l6ZSB0b28gc21hbGw6ICVpXG4iLCBhY3RfaHNhX3NpemUpOwogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CiAJcmV0dXJuIDA7CkBAIC01OTAsMTYgKzU4OSwxMiBAQAogCQlnb3RvIGZhaWw7CiAKIAlyYyA9IGNoZWNrX3NkaWFzKCk7Ci0JaWYgKHJjKSB7Ci0JCUVSUk9SX01TRygiRHVtcCBpbml0aWFsaXphdGlvbiBmYWlsZWRcbiIpOworCWlmIChyYykKIAkJZ290byBmYWlsOwotCX0KIAogCXJjID0gbWVtY3B5X2hzYV9rZXJuZWwoJmFyY2gsIF9fTENfQVJfTU9ERV9JRCwgMSk7Ci0JaWYgKHJjKSB7Ci0JCUVSUk9SX01TRygic2RpYWwgbWVtY3B5IGZvciBhcmNoIGlkIGZhaWxlZFxuIik7CisJaWYgKHJjKQogCQlnb3RvIGZhaWw7Ci0JfQogCiAjaWZuZGVmIF9fczM5MHhfXwogCWlmIChhcmNoID09IEFSQ0hfUzM5MFgpIHsKQEAgLTYxMCwxMCArNjA1LDggQEAKICNlbmRpZgogCiAJcmMgPSBzeXNfaW5mb19pbml0KGFyY2gpOwotCWlmIChyYykgewotCQlFUlJPUl9NU0coImFyY2ggaW5pdCBmYWlsZWRcbiIpOworCWlmIChyYykKIAkJZ290byBmYWlsOwotCX0KIAogCXpjb3JlX2hlYWRlcl9pbml0KGFyY2gsICZ6Y29yZV9oZWFkZXIpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2lvL01ha2VmaWxlIGIvZHJpdmVycy9zMzkwL2Npby9NYWtlZmlsZQppbmRleCBjZmFmNzdiLi45MWU5ZTNmIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2lvL01ha2VmaWxlCisrKyBiL2RyaXZlcnMvczM5MC9jaW8vTWFrZWZpbGUKQEAgLTIsOSArMiwxMSBAQAogIyBNYWtlZmlsZSBmb3IgdGhlIFMvMzkwIGNvbW1vbiBpL28gZHJpdmVycwogIwogCi1vYmoteSArPSBhaXJxLm8gYmxhY2tsaXN0Lm8gY2hzYy5vIGNpby5vIGNzcy5vIGNocC5vIGlkc2V0Lm8KK29iai15ICs9IGFpcnEubyBibGFja2xpc3QubyBjaHNjLm8gY2lvLm8gY3NzLm8gY2hwLm8gaWRzZXQubyBpc2MubyBzY3N3Lm8gXAorCWZjeC5vIGl0Y3cubwogY2N3X2RldmljZS1vYmpzICs9IGRldmljZS5vIGRldmljZV9mc20ubyBkZXZpY2Vfb3BzLm8KIGNjd19kZXZpY2Utb2JqcyArPSBkZXZpY2VfaWQubyBkZXZpY2VfcGdpZC5vIGRldmljZV9zdGF0dXMubwogb2JqLXkgKz0gY2N3X2RldmljZS5vIGNtZi5vCitvYmotJChDT05GSUdfQ0hTQ19TQ0gpICs9IGNoc2Nfc2NoLm8KIG9iai0kKENPTkZJR19DQ1dHUk9VUCkgKz0gY2N3Z3JvdXAubwogb2JqLSQoQ09ORklHX1FESU8pICs9IHFkaW8ubwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2Npby9haXJxLmMgYi9kcml2ZXJzL3MzOTAvY2lvL2FpcnEuYwppbmRleCBiN2EwN2E4Li5mZTZjZWExIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2lvL2FpcnEuYworKysgYi9kcml2ZXJzL3MzOTAvY2lvL2FpcnEuYwpAQCAtMTUsNiArMTUsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3JjdXBkYXRlLmg+CiAKICNpbmNsdWRlIDxhc20vYWlycS5oPgorI2luY2x1ZGUgPGFzbS9pc2MuaD4KIAogI2luY2x1ZGUgImNpby5oIgogI2luY2x1ZGUgImNpb19kZWJ1Zy5oIgpAQCAtMzMsMTUgKzM0LDE1IEBACiAJdm9pZCAqZHJ2X2RhdGE7CiB9OwogCi1zdGF0aWMgdW5pb24gaW5kaWNhdG9yX3QgaW5kaWNhdG9yczsKLXN0YXRpYyBzdHJ1Y3QgYWlycV90ICphaXJxc1tOUl9BSVJRU107CitzdGF0aWMgdW5pb24gaW5kaWNhdG9yX3QgaW5kaWNhdG9yc1tNQVhfSVNDXTsKK3N0YXRpYyBzdHJ1Y3QgYWlycV90ICphaXJxc1tNQVhfSVNDXVtOUl9BSVJRU107CiAKLXN0YXRpYyBpbnQgcmVnaXN0ZXJfYWlycShzdHJ1Y3QgYWlycV90ICphaXJxKQorc3RhdGljIGludCByZWdpc3Rlcl9haXJxKHN0cnVjdCBhaXJxX3QgKmFpcnEsIHU4IGlzYykKIHsKIAlpbnQgaTsKIAogCWZvciAoaSA9IDA7IGkgPCBOUl9BSVJRUzsgaSsrKQotCQlpZiAoIWNtcHhjaGcoJmFpcnFzW2ldLCBOVUxMLCBhaXJxKSkKKwkJaWYgKCFjbXB4Y2hnKCZhaXJxc1tpc2NdW2ldLCBOVUxMLCBhaXJxKSkKIAkJCXJldHVybiBpOwogCXJldHVybiAtRU5PTUVNOwogfQpAQCAtNTAsMTggKzUxLDIxIEBACiAgKiBzMzkwX3JlZ2lzdGVyX2FkYXB0ZXJfaW50ZXJydXB0KCkgLSByZWdpc3RlciBhZGFwdGVyIGludGVycnVwdCBoYW5kbGVyCiAgKiBAaGFuZGxlcjogYWRhcHRlciBoYW5kbGVyIHRvIGJlIHJlZ2lzdGVyZWQKICAqIEBkcnZfZGF0YTogZHJpdmVyIGRhdGEgcGFzc2VkIHdpdGggZWFjaCBjYWxsIHRvIHRoZSBoYW5kbGVyCisgKiBAaXNjOiBpc2MgZm9yIHdoaWNoIHRoZSBoYW5kbGVyIHNob3VsZCBiZSBjYWxsZWQKICAqCiAgKiBSZXR1cm5zOgogICogIFBvaW50ZXIgdG8gdGhlIGluZGljYXRvciB0byBiZSB1c2VkIG9uIHN1Y2Nlc3MKICAqICBFUlJfUFRSKCkgaWYgcmVnaXN0cmF0aW9uIGZhaWxlZAogICovCiB2b2lkICpzMzkwX3JlZ2lzdGVyX2FkYXB0ZXJfaW50ZXJydXB0KGFkYXB0ZXJfaW50X2hhbmRsZXJfdCBoYW5kbGVyLAotCQkJCSAgICAgIHZvaWQgKmRydl9kYXRhKQorCQkJCSAgICAgIHZvaWQgKmRydl9kYXRhLCB1OCBpc2MpCiB7CiAJc3RydWN0IGFpcnFfdCAqYWlycTsKIAljaGFyIGRiZl90eHRbMTZdOwogCWludCByZXQ7CiAKKwlpZiAoaXNjID4gTUFYX0lTQykKKwkJcmV0dXJuIEVSUl9QVFIoLUVJTlZBTCk7CiAJYWlycSA9IGttYWxsb2Moc2l6ZW9mKHN0cnVjdCBhaXJxX3QpLCBHRlBfS0VSTkVMKTsKIAlpZiAoIWFpcnEpIHsKIAkJcmV0ID0gLUVOT01FTTsKQEAgLTY5LDM0ICs3MywzNSBAQAogCX0KIAlhaXJxLT5oYW5kbGVyID0gaGFuZGxlcjsKIAlhaXJxLT5kcnZfZGF0YSA9IGRydl9kYXRhOwotCXJldCA9IHJlZ2lzdGVyX2FpcnEoYWlycSk7Ci0JaWYgKHJldCA8IDApCi0JCWtmcmVlKGFpcnEpOworCisJcmV0ID0gcmVnaXN0ZXJfYWlycShhaXJxLCBpc2MpOwogb3V0OgogCXNucHJpbnRmKGRiZl90eHQsIHNpemVvZihkYmZfdHh0KSwgInJhaXJxOiVkIiwgcmV0KTsKIAlDSU9fVFJBQ0VfRVZFTlQoNCwgZGJmX3R4dCk7Ci0JaWYgKHJldCA8IDApCisJaWYgKHJldCA8IDApIHsKKwkJa2ZyZWUoYWlycSk7CiAJCXJldHVybiBFUlJfUFRSKHJldCk7Ci0JZWxzZQotCQlyZXR1cm4gJmluZGljYXRvcnMuYnl0ZVtyZXRdOworCX0gZWxzZQorCQlyZXR1cm4gJmluZGljYXRvcnNbaXNjXS5ieXRlW3JldF07CiB9CiBFWFBPUlRfU1lNQk9MKHMzOTBfcmVnaXN0ZXJfYWRhcHRlcl9pbnRlcnJ1cHQpOwogCiAvKioKICAqIHMzOTBfdW5yZWdpc3Rlcl9hZGFwdGVyX2ludGVycnVwdCAtIHVucmVnaXN0ZXIgYWRhcHRlciBpbnRlcnJ1cHQgaGFuZGxlcgogICogQGluZDogaW5kaWNhdG9yIGZvciB3aGljaCB0aGUgaGFuZGxlciBpcyB0byBiZSB1bnJlZ2lzdGVyZWQKKyAqIEBpc2M6IGludGVycnVwdGlvbiBzdWJjbGFzcwogICovCi12b2lkIHMzOTBfdW5yZWdpc3Rlcl9hZGFwdGVyX2ludGVycnVwdCh2b2lkICppbmQpCit2b2lkIHMzOTBfdW5yZWdpc3Rlcl9hZGFwdGVyX2ludGVycnVwdCh2b2lkICppbmQsIHU4IGlzYykKIHsKIAlzdHJ1Y3QgYWlycV90ICphaXJxOwogCWNoYXIgZGJmX3R4dFsxNl07CiAJaW50IGk7CiAKLQlpID0gKGludCkgKChhZGRyX3QpIGluZCkgLSAoKGFkZHJfdCkgJmluZGljYXRvcnMuYnl0ZVswXSk7CisJaSA9IChpbnQpICgoYWRkcl90KSBpbmQpIC0gKChhZGRyX3QpICZpbmRpY2F0b3JzW2lzY10uYnl0ZVswXSk7CiAJc25wcmludGYoZGJmX3R4dCwgc2l6ZW9mKGRiZl90eHQpLCAidXJhaXJxOiVkIiwgaSk7CiAJQ0lPX1RSQUNFX0VWRU5UKDQsIGRiZl90eHQpOwotCWluZGljYXRvcnMuYnl0ZVtpXSA9IDA7Ci0JYWlycSA9IHhjaGcoJmFpcnFzW2ldLCBOVUxMKTsKKwlpbmRpY2F0b3JzW2lzY10uYnl0ZVtpXSA9IDA7CisJYWlycSA9IHhjaGcoJmFpcnFzW2lzY11baV0sIE5VTEwpOwogCS8qCiAJICogQWxsb3cgaW50ZXJydXB0cyB0byBjb21wbGV0ZS4gVGhpcyB3aWxsIGVuc3VyZSB0aGF0IHRoZSBhaXJxIGhhbmRsZQogCSAqIGlzIG5vIGxvbmdlciByZWZlcmVuY2VkIGJ5IGFueSBpbnRlcnJ1cHQgaGFuZGxlci4KQEAgLTEwOCw3ICsxMTMsNyBAQAogCiAjZGVmaW5lIElORElDQVRPUl9NQVNLCSgweGZmVUwgPDwgKChOUl9BSVJRU19QRVJfV09SRCAtIDEpICogOCkpCiAKLXZvaWQgZG9fYWRhcHRlcl9JTyh2b2lkKQordm9pZCBkb19hZGFwdGVyX0lPKHU4IGlzYykKIHsKIAlpbnQgdzsKIAlpbnQgaTsKQEAgLTEyMCwyMiArMTI1LDIyIEBACiAJICogZmV0Y2ggb3BlcmF0aW9ucy4KIAkgKi8KIAlmb3IgKHcgPSAwOyB3IDwgTlJfQUlSUV9XT1JEUzsgdysrKSB7Ci0JCXdvcmQgPSBpbmRpY2F0b3JzLndvcmRbd107CisJCXdvcmQgPSBpbmRpY2F0b3JzW2lzY10ud29yZFt3XTsKIAkJaSA9IHcgKiBOUl9BSVJRU19QRVJfV09SRDsKIAkJLyoKIAkJICogQ2hlY2sgYnl0ZXMgd2l0aGluIHdvcmQgZm9yIGFjdGl2ZSBpbmRpY2F0b3JzLgogCQkgKi8KIAkJd2hpbGUgKHdvcmQpIHsKIAkJCWlmICh3b3JkICYgSU5ESUNBVE9SX01BU0spIHsKLQkJCQlhaXJxID0gYWlycXNbaV07CisJCQkJYWlycSA9IGFpcnFzW2lzY11baV07CiAJCQkJaWYgKGxpa2VseShhaXJxKSkKLQkJCQkJYWlycS0+aGFuZGxlcigmaW5kaWNhdG9ycy5ieXRlW2ldLAorCQkJCQlhaXJxLT5oYW5kbGVyKCZpbmRpY2F0b3JzW2lzY10uYnl0ZVtpXSwKIAkJCQkJCSAgICAgIGFpcnEtPmRydl9kYXRhKTsKIAkJCQllbHNlCiAJCQkJCS8qCiAJCQkJCSAqIFJlc2V0IGlsbC1iZWhhdmVkIGluZGljYXRvci4KIAkJCQkJICovCi0JCQkJCWluZGljYXRvcnMuYnl0ZVtpXSA9IDA7CisJCQkJCWluZGljYXRvcnNbaXNjXS5ieXRlW2ldID0gMDsKIAkJCX0KIAkJCXdvcmQgPDw9IDg7CiAJCQlpKys7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2lvL2NocC5jIGIvZHJpdmVycy9zMzkwL2Npby9jaHAuYwppbmRleCAyOTdjZGNlLi5kYjAwYjA1IDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2lvL2NocC5jCisrKyBiL2RyaXZlcnMvczM5MC9jaW8vY2hwLmMKQEAgLTE4LDYgKzE4LDcgQEAKICNpbmNsdWRlIDxhc20vY2hwaWQuaD4KICNpbmNsdWRlIDxhc20vc2NscC5oPgogCisjaW5jbHVkZSAiLi4vczM5MG1hY2guaCIKICNpbmNsdWRlICJjaW8uaCIKICNpbmNsdWRlICJjc3MuaCIKICNpbmNsdWRlICJpb2FzbS5oIgpAQCAtOTQsNiArOTUsNyBAQAogCX0KIAlyZXR1cm4gb3BtOwogfQorRVhQT1JUX1NZTUJPTF9HUEwoY2hwX2dldF9zY2hfb3BtKTsKIAogLyoqCiAgKiBjaHBfaXNfcmVnaXN0ZXJlZCAtIGNoZWNrIGlmIGEgY2hhbm5lbC1wYXRoIGlzIHJlZ2lzdGVyZWQKQEAgLTEyMSwxMSArMTIzLDggQEAKIAlDSU9fVFJBQ0VfRVZFTlQoMiwgZGJmX3RleHQpOwogCiAJc3RhdHVzID0gY2hwX2dldF9zdGF0dXMoY2hwaWQpOwotCWlmICghb24gJiYgIXN0YXR1cykgewotCQlwcmludGsoS0VSTl9FUlIgImNpbzogY2hwaWQgJXguJTAyeCBpcyBhbHJlYWR5IG9mZmxpbmVcbiIsCi0JCSAgICAgICBjaHBpZC5jc3NpZCwgY2hwaWQuaWQpOwotCQlyZXR1cm4gLUVJTlZBTDsKLQl9CisJaWYgKCFvbiAmJiAhc3RhdHVzKQorCQlyZXR1cm4gMDsKIAogCXNldF9jaHBfbG9naWNhbGx5X29ubGluZShjaHBpZCwgb24pOwogCWNoc2NfY2hwX3ZhcnkoY2hwaWQsIG9uKTsKQEAgLTE0MSwyMSArMTQwLDE0IEBACiB7CiAJc3RydWN0IGNoYW5uZWxfcGF0aCAqY2hwOwogCXN0cnVjdCBkZXZpY2UgKmRldmljZTsKLQl1bnNpZ25lZCBpbnQgc2l6ZTsKIAogCWRldmljZSA9IGNvbnRhaW5lcl9vZihrb2JqLCBzdHJ1Y3QgZGV2aWNlLCBrb2JqKTsKIAljaHAgPSB0b19jaGFubmVscGF0aChkZXZpY2UpOwogCWlmICghY2hwLT5jbWdfY2hhcnMpCiAJCXJldHVybiAwOwogCi0Jc2l6ZSA9IHNpemVvZihzdHJ1Y3QgY21nX2NoYXJzKTsKLQotCWlmIChvZmYgPiBzaXplKQotCQlyZXR1cm4gMDsKLQlpZiAob2ZmICsgY291bnQgPiBzaXplKQotCQljb3VudCA9IHNpemUgLSBvZmY7Ci0JbWVtY3B5KGJ1ZiwgY2hwLT5jbWdfY2hhcnMgKyBvZmYsIGNvdW50KTsKLQlyZXR1cm4gY291bnQ7CisJcmV0dXJuIG1lbW9yeV9yZWFkX2Zyb21fYnVmZmVyKGJ1ZiwgY291bnQsICZvZmYsCisJCQkJY2hwLT5jbWdfY2hhcnMsIHNpemVvZihzdHJ1Y3QgY21nX2NoYXJzKSk7CiB9CiAKIHN0YXRpYyBzdHJ1Y3QgYmluX2F0dHJpYnV0ZSBjaHBfbWVhc3VyZW1lbnRfY2hhcnNfYXR0ciA9IHsKQEAgLTQwNSw3ICszOTcsNyBAQAogCQkgY2hwaWQuaWQpOwogCiAJLyogT2J0YWluIGNoYW5uZWwgcGF0aCBkZXNjcmlwdGlvbiBhbmQgZmlsbCBpdCBpbi4gKi8KLQlyZXQgPSBjaHNjX2RldGVybWluZV9jaGFubmVsX3BhdGhfZGVzY3JpcHRpb24oY2hwaWQsICZjaHAtPmRlc2MpOworCXJldCA9IGNoc2NfZGV0ZXJtaW5lX2Jhc2VfY2hhbm5lbF9wYXRoX2Rlc2MoY2hwaWQsICZjaHAtPmRlc2MpOwogCWlmIChyZXQpCiAJCWdvdG8gb3V0X2ZyZWU7CiAJaWYgKChjaHAtPmRlc2MuZmxhZ3MgJiAweDgwKSA9PSAwKSB7CkBAIC00MTMsOCArNDA1LDcgQEAKIAkJZ290byBvdXRfZnJlZTsKIAl9CiAJLyogR2V0IGNoYW5uZWwtbWVhc3VyZW1lbnQgY2hhcmFjdGVyaXN0aWNzLiAqLwotCWlmIChjc3NfY2hhcmFjdGVyaXN0aWNzX2F2YWlsICYmIGNzc19jaHNjX2NoYXJhY3RlcmlzdGljcy5zY21jCi0JICAgICYmIGNzc19jaHNjX2NoYXJhY3RlcmlzdGljcy5zZWNtKSB7CisJaWYgKGNzc19jaHNjX2NoYXJhY3RlcmlzdGljcy5zY21jICYmIGNzc19jaHNjX2NoYXJhY3RlcmlzdGljcy5zZWNtKSB7CiAJCXJldCA9IGNoc2NfZ2V0X2NoYW5uZWxfbWVhc3VyZW1lbnRfY2hhcnMoY2hwKTsKIAkJaWYgKHJldCkKIAkJCWdvdG8gb3V0X2ZyZWU7CkBAIC00NzYsMjYgKzQ2Nyw3NCBAQAogCiAvKioKICAqIGNocF9wcm9jZXNzX2NydyAtIHByb2Nlc3MgY2hhbm5lbC1wYXRoIHN0YXR1cyBjaGFuZ2UKLSAqIEBpZDogY2hhbm5lbC1wYXRoIElEIG51bWJlcgotICogQHN0YXR1czogbm9uLXplcm8gaWYgY2hhbm5lbC1wYXRoIGhhcyBiZWNvbWUgYXZhaWxhYmxlLCB6ZXJvIG90aGVyd2lzZQorICogQGNydzA6IGNoYW5uZWwgcmVwb3J0LXdvcmQgdG8gaGFuZGxlcgorICogQGNydzE6IHNlY29uZCBjaGFubmVsLXJlcG9ydCB3b3JkIChhbHdheXMgTlVMTCkKKyAqIEBvdmVyZmxvdzogY3J3IG92ZXJmbG93IGluZGljYXRpb24KICAqCiAgKiBIYW5kbGUgY2hhbm5lbC1yZXBvcnQtd29yZHMgaW5kaWNhdGluZyB0aGF0IHRoZSBzdGF0dXMgb2YgYSBjaGFubmVsLXBhdGgKICAqIGhhcyBjaGFuZ2VkLgogICovCi12b2lkIGNocF9wcm9jZXNzX2NydyhpbnQgaWQsIGludCBzdGF0dXMpCitzdGF0aWMgdm9pZCBjaHBfcHJvY2Vzc19jcncoc3RydWN0IGNydyAqY3J3MCwgc3RydWN0IGNydyAqY3J3MSwKKwkJCSAgICBpbnQgb3ZlcmZsb3cpCiB7CiAJc3RydWN0IGNocF9pZCBjaHBpZDsKIAorCWlmIChvdmVyZmxvdykgeworCQljc3Nfc2NoZWR1bGVfZXZhbF9hbGwoKTsKKwkJcmV0dXJuOworCX0KKwlDSU9fQ1JXX0VWRU5UKDIsICJDUlcgcmVwb3J0cyBzbGN0PSVkLCBvZmx3PSVkLCAiCisJCSAgICAgICJjaG49JWQsIHJzYz0lWCwgYW5jPSVkLCBlcmM9JVgsIHJzaWQ9JVhcbiIsCisJCSAgICAgIGNydzAtPnNsY3QsIGNydzAtPm9mbHcsIGNydzAtPmNobiwgY3J3MC0+cnNjLCBjcncwLT5hbmMsCisJCSAgICAgIGNydzAtPmVyYywgY3J3MC0+cnNpZCk7CisJLyoKKwkgKiBDaGVjayBmb3Igc29saWNpdGVkIG1hY2hpbmUgY2hlY2tzLiBUaGVzZSBhcmUKKwkgKiBjcmVhdGVkIGJ5IHJlc2V0IGNoYW5uZWwgcGF0aCBhbmQgbmVlZCBub3QgYmUKKwkgKiBoYW5kbGVkIGhlcmUuCisJICovCisJaWYgKGNydzAtPnNsY3QpIHsKKwkJQ0lPX0NSV19FVkVOVCgyLCAic29saWNpdGVkIG1hY2hpbmUgY2hlY2sgZm9yICIKKwkJCSAgICAgICJjaGFubmVsIHBhdGggJTAyWFxuIiwgY3J3MC0+cnNpZCk7CisJCXJldHVybjsKKwl9CiAJY2hwX2lkX2luaXQoJmNocGlkKTsKLQljaHBpZC5pZCA9IGlkOwotCWlmIChzdGF0dXMpIHsKKwljaHBpZC5pZCA9IGNydzAtPnJzaWQ7CisJc3dpdGNoIChjcncwLT5lcmMpIHsKKwljYXNlIENSV19FUkNfSVBBUk06IC8qIFBhdGggaGFzIGNvbWUuICovCiAJCWlmICghY2hwX2lzX3JlZ2lzdGVyZWQoY2hwaWQpKQogCQkJY2hwX25ldyhjaHBpZCk7CiAJCWNoc2NfY2hwX29ubGluZShjaHBpZCk7Ci0JfSBlbHNlCisJCWJyZWFrOworCWNhc2UgQ1JXX0VSQ19QRVJSSTogLyogUGF0aCBoYXMgZ29uZS4gKi8KKwljYXNlIENSV19FUkNfUEVSUk46CiAJCWNoc2NfY2hwX29mZmxpbmUoY2hwaWQpOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlDSU9fQ1JXX0VWRU5UKDIsICJEb24ndCBrbm93IGhvdyB0byBoYW5kbGUgZXJjPSV4XG4iLAorCQkJICAgICAgY3J3MC0+ZXJjKTsKKwl9CiB9CiAKK2ludCBjaHBfc3NkX2dldF9tYXNrKHN0cnVjdCBjaHNjX3NzZF9pbmZvICpzc2QsIHN0cnVjdCBjaHBfbGluayAqbGluaykKK3sKKwlpbnQgaTsKKwlpbnQgbWFzazsKKworCWZvciAoaSA9IDA7IGkgPCA4OyBpKyspIHsKKwkJbWFzayA9IDB4ODAgPj4gaTsKKwkJaWYgKCEoc3NkLT5wYXRoX21hc2sgJiBtYXNrKSkKKwkJCWNvbnRpbnVlOworCQlpZiAoIWNocF9pZF9pc19lcXVhbCgmc3NkLT5jaHBpZFtpXSwgJmxpbmstPmNocGlkKSkKKwkJCWNvbnRpbnVlOworCQlpZiAoKHNzZC0+ZmxhX3ZhbGlkX21hc2sgJiBtYXNrKSAmJgorCQkgICAgKChzc2QtPmZsYVtpXSAmIGxpbmstPmZsYV9tYXNrKSAhPSBsaW5rLT5mbGEpKQorCQkJY29udGludWU7CisJCXJldHVybiBtYXNrOworCX0KKwlyZXR1cm4gMDsKK30KK0VYUE9SVF9TWU1CT0xfR1BMKGNocF9zc2RfZ2V0X21hc2spOworCiBzdGF0aWMgaW5saW5lIGludCBpbmZvX2JpdF9udW0oc3RydWN0IGNocF9pZCBpZCkKIHsKIAlyZXR1cm4gaWQuaWQgKyBpZC5jc3NpZCAqIChfX01BWF9DSFBJRCArIDEpOwpAQCAtNTc1LDYgKzYxNCw3IEBACiB7CiAJc3RydWN0IGNocF9pZCBjaHBpZDsKIAllbnVtIGNmZ190YXNrX3QgdDsKKwlpbnQgcmM7CiAKIAltdXRleF9sb2NrKCZjZmdfbG9jayk7CiAJdCA9IGNmZ19ub25lOwpAQCAtNTg5LDE0ICs2MjksMjQgQEAKIAogCXN3aXRjaCAodCkgewogCWNhc2UgY2ZnX2NvbmZpZ3VyZToKLQkJc2NscF9jaHBfY29uZmlndXJlKGNocGlkKTsKLQkJaW5mb19leHBpcmUoKTsKLQkJY2hzY19jaHBfb25saW5lKGNocGlkKTsKKwkJcmMgPSBzY2xwX2NocF9jb25maWd1cmUoY2hwaWQpOworCQlpZiAocmMpCisJCQlDSU9fTVNHX0VWRU5UKDIsICJjaHA6IHNjbHBfY2hwX2NvbmZpZ3VyZSgleC4lMDJ4KT0iCisJCQkJICAgICAgIiVkXG4iLCBjaHBpZC5jc3NpZCwgY2hwaWQuaWQsIHJjKTsKKwkJZWxzZSB7CisJCQlpbmZvX2V4cGlyZSgpOworCQkJY2hzY19jaHBfb25saW5lKGNocGlkKTsKKwkJfQogCQlicmVhazsKIAljYXNlIGNmZ19kZWNvbmZpZ3VyZToKLQkJc2NscF9jaHBfZGVjb25maWd1cmUoY2hwaWQpOwotCQlpbmZvX2V4cGlyZSgpOwotCQljaHNjX2NocF9vZmZsaW5lKGNocGlkKTsKKwkJcmMgPSBzY2xwX2NocF9kZWNvbmZpZ3VyZShjaHBpZCk7CisJCWlmIChyYykKKwkJCUNJT19NU0dfRVZFTlQoMiwgImNocDogc2NscF9jaHBfZGVjb25maWd1cmUoJXguJTAyeCk9IgorCQkJCSAgICAgICIlZFxuIiwgY2hwaWQuY3NzaWQsIGNocGlkLmlkLCByYyk7CisJCWVsc2UgeworCQkJaW5mb19leHBpcmUoKTsKKwkJCWNoc2NfY2hwX29mZmxpbmUoY2hwaWQpOworCQl9CiAJCWJyZWFrOwogCWNhc2UgY2ZnX25vbmU6CiAJCS8qIEdldCB1cGRhdGVkIGluZm9ybWF0aW9uIGFmdGVyIGxhc3QgY2hhbmdlLiAqLwpAQCAtNjU0LDEwICs3MDQsMTYgQEAKIHN0YXRpYyBpbnQgX19pbml0IGNocF9pbml0KHZvaWQpCiB7CiAJc3RydWN0IGNocF9pZCBjaHBpZDsKKwlpbnQgcmV0OwogCisJcmV0ID0gczM5MF9yZWdpc3Rlcl9jcndfaGFuZGxlcihDUldfUlNDX0NQQVRILCBjaHBfcHJvY2Vzc19jcncpOworCWlmIChyZXQpCisJCXJldHVybiByZXQ7CiAJY2hwX3dxID0gY3JlYXRlX3NpbmdsZXRocmVhZF93b3JrcXVldWUoImNpb19jaHAiKTsKLQlpZiAoIWNocF93cSkKKwlpZiAoIWNocF93cSkgeworCQlzMzkwX3VucmVnaXN0ZXJfY3J3X2hhbmRsZXIoQ1JXX1JTQ19DUEFUSCk7CiAJCXJldHVybiAtRU5PTUVNOworCX0KIAlJTklUX1dPUksoJmNmZ193b3JrLCBjZmdfZnVuYyk7CiAJaW5pdF93YWl0cXVldWVfaGVhZCgmY2ZnX3dhaXRfcXVldWUpOwogCWlmIChpbmZvX3VwZGF0ZSgpKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2Npby9jaHAuaCBiL2RyaXZlcnMvczM5MC9jaW8vY2hwLmgKaW5kZXggNjUyODY1Ni4uMjZjM2QyMjQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaW8vY2hwLmgKKysrIGIvZHJpdmVycy9zMzkwL2Npby9jaHAuaApAQCAtMTIsMTIgKzEyLDI0IEBACiAjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+CiAjaW5jbHVkZSA8YXNtL2NocGlkLmg+CiAjaW5jbHVkZSAiY2hzYy5oIgorI2luY2x1ZGUgImNzcy5oIgogCiAjZGVmaW5lIENIUF9TVEFUVVNfU1RBTkRCWQkJMAogI2RlZmluZSBDSFBfU1RBVFVTX0NPTkZJR1VSRUQJCTEKICNkZWZpbmUgQ0hQX1NUQVRVU19SRVNFUlZFRAkJMgogI2RlZmluZSBDSFBfU1RBVFVTX05PVF9SRUNPR05JWkVECTMKIAorI2RlZmluZSBDSFBfT05MSU5FIDAKKyNkZWZpbmUgQ0hQX09GRkxJTkUgMQorI2RlZmluZSBDSFBfVkFSWV9PTiAyCisjZGVmaW5lIENIUF9WQVJZX09GRiAzCisKK3N0cnVjdCBjaHBfbGluayB7CisJc3RydWN0IGNocF9pZCBjaHBpZDsKKwl1MzIgZmxhX21hc2s7CisJdTE2IGZsYTsKK307CisKIHN0YXRpYyBpbmxpbmUgaW50IGNocF90ZXN0X2JpdCh1OCAqYml0bWFwLCBpbnQgbnVtKQogewogCWludCBieXRlID0gbnVtID4+IDM7CkBAIC00MiwxMiArNTQsMTEgQEAKIHU4IGNocF9nZXRfc2NoX29wbShzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoKTsKIGludCBjaHBfaXNfcmVnaXN0ZXJlZChzdHJ1Y3QgY2hwX2lkIGNocGlkKTsKIHZvaWQgKmNocF9nZXRfY2hwX2Rlc2Moc3RydWN0IGNocF9pZCBjaHBpZCk7Ci12b2lkIGNocF9wcm9jZXNzX2NydyhpbnQgaWQsIGludCBhdmFpbGFibGUpOwogdm9pZCBjaHBfcmVtb3ZlX2NtZ19hdHRyKHN0cnVjdCBjaGFubmVsX3BhdGggKmNocCk7CiBpbnQgY2hwX2FkZF9jbWdfYXR0cihzdHJ1Y3QgY2hhbm5lbF9wYXRoICpjaHApOwogaW50IGNocF9uZXcoc3RydWN0IGNocF9pZCBjaHBpZCk7CiB2b2lkIGNocF9jZmdfc2NoZWR1bGUoc3RydWN0IGNocF9pZCBjaHBpZCwgaW50IGNvbmZpZ3VyZSk7CiB2b2lkIGNocF9jZmdfY2FuY2VsX2RlY29uZmlndXJlKHN0cnVjdCBjaHBfaWQgY2hwaWQpOwogaW50IGNocF9pbmZvX2dldF9zdGF0dXMoc3RydWN0IGNocF9pZCBjaHBpZCk7Ci0KK2ludCBjaHBfc3NkX2dldF9tYXNrKHN0cnVjdCBjaHNjX3NzZF9pbmZvICosIHN0cnVjdCBjaHBfbGluayAqKTsKICNlbmRpZiAvKiBTMzkwX0NIUF9IICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2lvL2Noc2MuYyBiL2RyaXZlcnMvczM5MC9jaW8vY2hzYy5jCmluZGV4IDVkZTg2OTAuLjY1MjY0YTMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaW8vY2hzYy5jCisrKyBiL2RyaXZlcnMvczM5MC9jaW8vY2hzYy5jCkBAIC0yLDggKzIsNyBAQAogICogIGRyaXZlcnMvczM5MC9jaW8vY2hzYy5jCiAgKiAgIFMvMzkwIGNvbW1vbiBJL08gcm91dGluZXMgLS0gY2hhbm5lbCBzdWJzeXN0ZW0gY2FsbAogICoKLSAqICAgIENvcHlyaWdodCAoQykgMTk5OS0yMDAyIElCTSBEZXV0c2NobGFuZCBFbnR3aWNrbHVuZyBHbWJILAotICoJCQkgICAgICBJQk0gQ29ycG9yYXRpb24KKyAqICAgIENvcHlyaWdodCBJQk0gQ29ycC4gMTk5OSwyMDA4CiAgKiAgICBBdXRob3Iocyk6IEluZ28gQWRsdW5nIChhZGx1bmdAZGUuaWJtLmNvbSkKICAqCQkgQ29ybmVsaWEgSHVjayAoY29ybmVsaWEuaHVja0BkZS5pYm0uY29tKQogICoJCSBBcm5kIEJlcmdtYW5uIChhcm5kYkBkZS5pYm0uY29tKQpAQCAtMTYsNyArMTUsOSBAQAogCiAjaW5jbHVkZSA8YXNtL2Npby5oPgogI2luY2x1ZGUgPGFzbS9jaHBpZC5oPgorI2luY2x1ZGUgPGFzbS9jaHNjLmg+CiAKKyNpbmNsdWRlICIuLi9zMzkwbWFjaC5oIgogI2luY2x1ZGUgImNzcy5oIgogI2luY2x1ZGUgImNpby5oIgogI2luY2x1ZGUgImNpb19kZWJ1Zy5oIgpAQCAtMTI3LDc3ICsxMjgsMTIgQEAKIAlyZXR1cm4gcmV0OwogfQogCi1zdGF0aWMgaW50IGNoZWNrX2Zvcl9pb19vbl9wYXRoKHN0cnVjdCBzdWJjaGFubmVsICpzY2gsIGludCBtYXNrKQotewotCWludCBjYzsKLQotCWNjID0gc3RzY2goc2NoLT5zY2hpZCwgJnNjaC0+c2NoaWIpOwotCWlmIChjYykKLQkJcmV0dXJuIDA7Ci0JaWYgKHNjaC0+c2NoaWIuc2Nzdy5hY3RsICYmIHNjaC0+c2NoaWIucG1jdy5scHVtID09IG1hc2spCi0JCXJldHVybiAxOwotCXJldHVybiAwOwotfQotCi1zdGF0aWMgdm9pZCB0ZXJtaW5hdGVfaW50ZXJuYWxfaW8oc3RydWN0IHN1YmNoYW5uZWwgKnNjaCkKLXsKLQlpZiAoY2lvX2NsZWFyKHNjaCkpIHsKLQkJLyogUmVjaGVjayBkZXZpY2UgaW4gY2FzZSBjbGVhciBmYWlsZWQuICovCi0JCXNjaC0+bHBtID0gMDsKLQkJaWYgKGRldmljZV90cmlnZ2VyX3ZlcmlmeShzY2gpICE9IDApCi0JCQljc3Nfc2NoZWR1bGVfZXZhbChzY2gtPnNjaGlkKTsKLQkJcmV0dXJuOwotCX0KLQkvKiBSZXF1ZXN0IHJldHJ5IG9mIGludGVybmFsIG9wZXJhdGlvbi4gKi8KLQlkZXZpY2Vfc2V0X2ludHJldHJ5KHNjaCk7Ci0JLyogQ2FsbCBoYW5kbGVyLiAqLwotCWlmIChzY2gtPmRyaXZlciAmJiBzY2gtPmRyaXZlci0+dGVybWluYXRpb24pCi0JCXNjaC0+ZHJpdmVyLT50ZXJtaW5hdGlvbihzY2gpOwotfQotCiBzdGF0aWMgaW50IHMzOTBfc3ViY2hhbm5lbF9yZW1vdmVfY2hwaWQoc3RydWN0IHN1YmNoYW5uZWwgKnNjaCwgdm9pZCAqZGF0YSkKIHsKLQlpbnQgajsKLQlpbnQgbWFzazsKLQlzdHJ1Y3QgY2hwX2lkICpjaHBpZCA9IGRhdGE7Ci0Jc3RydWN0IHNjaGliIHNjaGliOwotCi0JZm9yIChqID0gMDsgaiA8IDg7IGorKykgewotCQltYXNrID0gMHg4MCA+PiBqOwotCQlpZiAoKHNjaC0+c2NoaWIucG1jdy5waW0gJiBtYXNrKSAmJgotCQkgICAgKHNjaC0+c2NoaWIucG1jdy5jaHBpZFtqXSA9PSBjaHBpZC0+aWQpKQotCQkJYnJlYWs7Ci0JfQotCWlmIChqID49IDgpCi0JCXJldHVybiAwOwotCiAJc3Bpbl9sb2NrX2lycShzY2gtPmxvY2spOwotCi0Jc3RzY2goc2NoLT5zY2hpZCwgJnNjaGliKTsKLQlpZiAoIWNzc19zY2hfaXNfdmFsaWQoJnNjaGliKSkKLQkJZ290byBvdXRfdW5yZWc7Ci0JbWVtY3B5KCZzY2gtPnNjaGliLCAmc2NoaWIsIHNpemVvZihzdHJ1Y3Qgc2NoaWIpKTsKLQkvKiBDaGVjayBmb3Igc2luZ2xlIHBhdGggZGV2aWNlcy4gKi8KLQlpZiAoc2NoLT5zY2hpYi5wbWN3LnBpbSA9PSAweDgwKQotCQlnb3RvIG91dF91bnJlZzsKLQotCWlmIChjaGVja19mb3JfaW9fb25fcGF0aChzY2gsIG1hc2spKSB7Ci0JCWlmIChkZXZpY2VfaXNfb25saW5lKHNjaCkpCi0JCQlkZXZpY2Vfa2lsbF9pbyhzY2gpOwotCQllbHNlIHsKLQkJCXRlcm1pbmF0ZV9pbnRlcm5hbF9pbyhzY2gpOwotCQkJLyogUmUtc3RhcnQgcGF0aCB2ZXJpZmljYXRpb24uICovCi0JCQlpZiAoc2NoLT5kcml2ZXIgJiYgc2NoLT5kcml2ZXItPnZlcmlmeSkKLQkJCQlzY2gtPmRyaXZlci0+dmVyaWZ5KHNjaCk7Ci0JCX0KLQl9IGVsc2UgewotCQkvKiB0cmlnZ2VyIHBhdGggdmVyaWZpY2F0aW9uLiAqLwotCQlpZiAoc2NoLT5kcml2ZXIgJiYgc2NoLT5kcml2ZXItPnZlcmlmeSkKLQkJCXNjaC0+ZHJpdmVyLT52ZXJpZnkoc2NoKTsKLQkJZWxzZSBpZiAoc2NoLT5scG0gPT0gbWFzaykKKwlpZiAoc2NoLT5kcml2ZXIgJiYgc2NoLT5kcml2ZXItPmNocF9ldmVudCkKKwkJaWYgKHNjaC0+ZHJpdmVyLT5jaHBfZXZlbnQoc2NoLCBkYXRhLCBDSFBfT0ZGTElORSkgIT0gMCkKIAkJCWdvdG8gb3V0X3VucmVnOwotCX0KLQogCXNwaW5fdW5sb2NrX2lycShzY2gtPmxvY2spOwogCXJldHVybiAwOwogCkBAIC0yMTEsMTUgKzE0NywxOCBAQAogdm9pZCBjaHNjX2NocF9vZmZsaW5lKHN0cnVjdCBjaHBfaWQgY2hwaWQpCiB7CiAJY2hhciBkYmZfdHh0WzE1XTsKKwlzdHJ1Y3QgY2hwX2xpbmsgbGluazsKIAogCXNwcmludGYoZGJmX3R4dCwgImNocHIleC4lMDJ4IiwgY2hwaWQuY3NzaWQsIGNocGlkLmlkKTsKIAlDSU9fVFJBQ0VfRVZFTlQoMiwgZGJmX3R4dCk7CiAKIAlpZiAoY2hwX2dldF9zdGF0dXMoY2hwaWQpIDw9IDApCiAJCXJldHVybjsKKwltZW1zZXQoJmxpbmssIDAsIHNpemVvZihzdHJ1Y3QgY2hwX2xpbmspKTsKKwlsaW5rLmNocGlkID0gY2hwaWQ7CiAJLyogV2FpdCB1bnRpbCBwcmV2aW91cyBhY3Rpb25zIGhhdmUgc2V0dGxlZC4gKi8KIAljc3Nfd2FpdF9mb3Jfc2xvd19wYXRoKCk7Ci0JZm9yX2VhY2hfc3ViY2hhbm5lbF9zdGFnZWQoczM5MF9zdWJjaGFubmVsX3JlbW92ZV9jaHBpZCwgTlVMTCwgJmNocGlkKTsKKwlmb3JfZWFjaF9zdWJjaGFubmVsX3N0YWdlZChzMzkwX3N1YmNoYW5uZWxfcmVtb3ZlX2NocGlkLCBOVUxMLCAmbGluayk7CiB9CiAKIHN0YXRpYyBpbnQgczM5MF9wcm9jZXNzX3Jlc19hY2NfbmV3X3NjaChzdHJ1Y3Qgc3ViY2hhbm5lbF9pZCBzY2hpZCwgdm9pZCAqZGF0YSkKQEAgLTI0Miw2NyArMTgxLDI1IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0cnVjdCByZXNfYWNjX2RhdGEgewotCXN0cnVjdCBjaHBfaWQgY2hwaWQ7Ci0JdTMyIGZsYV9tYXNrOwotCXUxNiBmbGE7Ci19OwotCi1zdGF0aWMgaW50IGdldF9yZXNfY2hwaWRfbWFzayhzdHJ1Y3QgY2hzY19zc2RfaW5mbyAqc3NkLAotCQkJICAgICAgc3RydWN0IHJlc19hY2NfZGF0YSAqZGF0YSkKLXsKLQlpbnQgaTsKLQlpbnQgbWFzazsKLQotCWZvciAoaSA9IDA7IGkgPCA4OyBpKyspIHsKLQkJbWFzayA9IDB4ODAgPj4gaTsKLQkJaWYgKCEoc3NkLT5wYXRoX21hc2sgJiBtYXNrKSkKLQkJCWNvbnRpbnVlOwotCQlpZiAoIWNocF9pZF9pc19lcXVhbCgmc3NkLT5jaHBpZFtpXSwgJmRhdGEtPmNocGlkKSkKLQkJCWNvbnRpbnVlOwotCQlpZiAoKHNzZC0+ZmxhX3ZhbGlkX21hc2sgJiBtYXNrKSAmJgotCQkgICAgKChzc2QtPmZsYVtpXSAmIGRhdGEtPmZsYV9tYXNrKSAhPSBkYXRhLT5mbGEpKQotCQkJY29udGludWU7Ci0JCXJldHVybiBtYXNrOwotCX0KLQlyZXR1cm4gMDsKLX0KLQogc3RhdGljIGludCBfX3MzOTBfcHJvY2Vzc19yZXNfYWNjKHN0cnVjdCBzdWJjaGFubmVsICpzY2gsIHZvaWQgKmRhdGEpCiB7Ci0JaW50IGNocF9tYXNrLCBvbGRfbHBtOwotCXN0cnVjdCByZXNfYWNjX2RhdGEgKnJlc19kYXRhID0gZGF0YTsKLQogCXNwaW5fbG9ja19pcnEoc2NoLT5sb2NrKTsKLQljaHBfbWFzayA9IGdldF9yZXNfY2hwaWRfbWFzaygmc2NoLT5zc2RfaW5mbywgcmVzX2RhdGEpOwotCWlmIChjaHBfbWFzayA9PSAwKQotCQlnb3RvIG91dDsKLQlpZiAoc3RzY2goc2NoLT5zY2hpZCwgJnNjaC0+c2NoaWIpKQotCQlnb3RvIG91dDsKLQlvbGRfbHBtID0gc2NoLT5scG07Ci0Jc2NoLT5scG0gPSAoKHNjaC0+c2NoaWIucG1jdy5waW0gJgotCQkgICAgIHNjaC0+c2NoaWIucG1jdy5wYW0gJgotCQkgICAgIHNjaC0+c2NoaWIucG1jdy5wb20pCi0JCSAgICB8IGNocF9tYXNrKSAmIHNjaC0+b3BtOwotCWlmICghb2xkX2xwbSAmJiBzY2gtPmxwbSkKLQkJZGV2aWNlX3RyaWdnZXJfcmVwcm9iZShzY2gpOwotCWVsc2UgaWYgKHNjaC0+ZHJpdmVyICYmIHNjaC0+ZHJpdmVyLT52ZXJpZnkpCi0JCXNjaC0+ZHJpdmVyLT52ZXJpZnkoc2NoKTsKLW91dDoKKwlpZiAoc2NoLT5kcml2ZXIgJiYgc2NoLT5kcml2ZXItPmNocF9ldmVudCkKKwkJc2NoLT5kcml2ZXItPmNocF9ldmVudChzY2gsIGRhdGEsIENIUF9PTkxJTkUpOwogCXNwaW5fdW5sb2NrX2lycShzY2gtPmxvY2spOwogCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyB2b2lkIHMzOTBfcHJvY2Vzc19yZXNfYWNjIChzdHJ1Y3QgcmVzX2FjY19kYXRhICpyZXNfZGF0YSkKK3N0YXRpYyB2b2lkIHMzOTBfcHJvY2Vzc19yZXNfYWNjKHN0cnVjdCBjaHBfbGluayAqbGluaykKIHsKIAljaGFyIGRiZl90eHRbMTVdOwogCi0Jc3ByaW50ZihkYmZfdHh0LCAiYWNjcHIleC4lMDJ4IiwgcmVzX2RhdGEtPmNocGlkLmNzc2lkLAotCQlyZXNfZGF0YS0+Y2hwaWQuaWQpOworCXNwcmludGYoZGJmX3R4dCwgImFjY3ByJXguJTAyeCIsIGxpbmstPmNocGlkLmNzc2lkLAorCQlsaW5rLT5jaHBpZC5pZCk7CiAJQ0lPX1RSQUNFX0VWRU5UKCAyLCBkYmZfdHh0KTsKLQlpZiAocmVzX2RhdGEtPmZsYSAhPSAwKSB7Ci0JCXNwcmludGYoZGJmX3R4dCwgImZsYSV4IiwgcmVzX2RhdGEtPmZsYSk7CisJaWYgKGxpbmstPmZsYSAhPSAwKSB7CisJCXNwcmludGYoZGJmX3R4dCwgImZsYSV4IiwgbGluay0+ZmxhKTsKIAkJQ0lPX1RSQUNFX0VWRU5UKCAyLCBkYmZfdHh0KTsKIAl9CiAJLyogV2FpdCB1bnRpbCBwcmV2aW91cyBhY3Rpb25zIGhhdmUgc2V0dGxlZC4gKi8KQEAgLTMxNSw3ICsyMTIsNyBAQAogCSAqIHdpbGwgd2UgaGF2ZSB0byBkby4KIAkgKi8KIAlmb3JfZWFjaF9zdWJjaGFubmVsX3N0YWdlZChfX3MzOTBfcHJvY2Vzc19yZXNfYWNjLAotCQkJCSAgIHMzOTBfcHJvY2Vzc19yZXNfYWNjX25ld19zY2gsIHJlc19kYXRhKTsKKwkJCQkgICBzMzkwX3Byb2Nlc3NfcmVzX2FjY19uZXdfc2NoLCBsaW5rKTsKIH0KIAogc3RhdGljIGludApAQCAtMzg4LDcgKzI4NSw3IEBACiAKIHN0YXRpYyB2b2lkIGNoc2NfcHJvY2Vzc19zZWlfcmVzX2FjYyhzdHJ1Y3QgY2hzY19zZWlfYXJlYSAqc2VpX2FyZWEpCiB7Ci0Jc3RydWN0IHJlc19hY2NfZGF0YSByZXNfZGF0YTsKKwlzdHJ1Y3QgY2hwX2xpbmsgbGluazsKIAlzdHJ1Y3QgY2hwX2lkIGNocGlkOwogCWludCBzdGF0dXM7CiAKQEAgLTQwNCwxOCArMzAxLDE4IEBACiAJCWNocF9uZXcoY2hwaWQpOwogCWVsc2UgaWYgKCFzdGF0dXMpCiAJCXJldHVybjsKLQltZW1zZXQoJnJlc19kYXRhLCAwLCBzaXplb2Yoc3RydWN0IHJlc19hY2NfZGF0YSkpOwotCXJlc19kYXRhLmNocGlkID0gY2hwaWQ7CisJbWVtc2V0KCZsaW5rLCAwLCBzaXplb2Yoc3RydWN0IGNocF9saW5rKSk7CisJbGluay5jaHBpZCA9IGNocGlkOwogCWlmICgoc2VpX2FyZWEtPnZmICYgMHhjMCkgIT0gMCkgewotCQlyZXNfZGF0YS5mbGEgPSBzZWlfYXJlYS0+ZmxhOworCQlsaW5rLmZsYSA9IHNlaV9hcmVhLT5mbGE7CiAJCWlmICgoc2VpX2FyZWEtPnZmICYgMHhjMCkgPT0gMHhjMCkKIAkJCS8qIGZ1bGwgbGluayBhZGRyZXNzICovCi0JCQlyZXNfZGF0YS5mbGFfbWFzayA9IDB4ZmZmZjsKKwkJCWxpbmsuZmxhX21hc2sgPSAweGZmZmY7CiAJCWVsc2UKIAkJCS8qIGxpbmsgYWRkcmVzcyAqLwotCQkJcmVzX2RhdGEuZmxhX21hc2sgPSAweGZmMDA7CisJCQlsaW5rLmZsYV9tYXNrID0gMHhmZjAwOwogCX0KLQlzMzkwX3Byb2Nlc3NfcmVzX2FjYygmcmVzX2RhdGEpOworCXMzOTBfcHJvY2Vzc19yZXNfYWNjKCZsaW5rKTsKIH0KIAogc3RydWN0IGNocF9jb25maWdfZGF0YSB7CkBAIC00ODAsMTcgKzM3NywyNSBAQAogCX0KIH0KIAotdm9pZCBjaHNjX3Byb2Nlc3NfY3J3KHZvaWQpCitzdGF0aWMgdm9pZCBjaHNjX3Byb2Nlc3NfY3J3KHN0cnVjdCBjcncgKmNydzAsIHN0cnVjdCBjcncgKmNydzEsIGludCBvdmVyZmxvdykKIHsKIAlzdHJ1Y3QgY2hzY19zZWlfYXJlYSAqc2VpX2FyZWE7CiAKKwlpZiAob3ZlcmZsb3cpIHsKKwkJY3NzX3NjaGVkdWxlX2V2YWxfYWxsKCk7CisJCXJldHVybjsKKwl9CisJQ0lPX0NSV19FVkVOVCgyLCAiQ1JXIHJlcG9ydHMgc2xjdD0lZCwgb2Zsdz0lZCwgIgorCQkgICAgICAiY2huPSVkLCByc2M9JVgsIGFuYz0lZCwgZXJjPSVYLCByc2lkPSVYXG4iLAorCQkgICAgICBjcncwLT5zbGN0LCBjcncwLT5vZmx3LCBjcncwLT5jaG4sIGNydzAtPnJzYywgY3J3MC0+YW5jLAorCQkgICAgICBjcncwLT5lcmMsIGNydzAtPnJzaWQpOwogCWlmICghc2VpX3BhZ2UpCiAJCXJldHVybjsKIAkvKiBBY2Nlc3MgdG8gc2VpX3BhZ2UgaXMgc2VyaWFsaXplZCB0aHJvdWdoIG1hY2hpbmUgY2hlY2sgaGFuZGxlcgogCSAqIHRocmVhZCwgc28gbm8gbmVlZCBmb3IgbG9ja2luZy4gKi8KIAlzZWlfYXJlYSA9IHNlaV9wYWdlOwogCi0JQ0lPX1RSQUNFX0VWRU5UKCAyLCAicHJjc3MiKTsKKwlDSU9fVFJBQ0VfRVZFTlQoMiwgInByY3NzIik7CiAJZG8gewogCQltZW1zZXQoc2VpX2FyZWEsIDAsIHNpemVvZigqc2VpX2FyZWEpKTsKIAkJc2VpX2FyZWEtPnJlcXVlc3QubGVuZ3RoID0gMHgwMDEwOwpAQCAtNTA5LDExNCArNDE0LDM2IEBACiAJfSB3aGlsZSAoc2VpX2FyZWEtPmZsYWdzICYgMHg4MCk7CiB9CiAKLXN0YXRpYyBpbnQgX19jaHBfYWRkX25ld19zY2goc3RydWN0IHN1YmNoYW5uZWxfaWQgc2NoaWQsIHZvaWQgKmRhdGEpCi17Ci0Jc3RydWN0IHNjaGliIHNjaGliOwotCi0JaWYgKHN0c2NoX2VycihzY2hpZCwgJnNjaGliKSkKLQkJLyogV2UncmUgdGhyb3VnaCAqLwotCQlyZXR1cm4gLUVOWElPOwotCi0JLyogUHV0IGl0IG9uIHRoZSBzbG93IHBhdGguICovCi0JY3NzX3NjaGVkdWxlX2V2YWwoc2NoaWQpOwotCXJldHVybiAwOwotfQotCi0KLXN0YXRpYyBpbnQgX19jaHBfYWRkKHN0cnVjdCBzdWJjaGFubmVsICpzY2gsIHZvaWQgKmRhdGEpCi17Ci0JaW50IGksIG1hc2s7Ci0Jc3RydWN0IGNocF9pZCAqY2hwaWQgPSBkYXRhOwotCi0Jc3Bpbl9sb2NrX2lycShzY2gtPmxvY2spOwotCWZvciAoaT0wOyBpPDg7IGkrKykgewotCQltYXNrID0gMHg4MCA+PiBpOwotCQlpZiAoKHNjaC0+c2NoaWIucG1jdy5waW0gJiBtYXNrKSAmJgotCQkgICAgKHNjaC0+c2NoaWIucG1jdy5jaHBpZFtpXSA9PSBjaHBpZC0+aWQpKQotCQkJYnJlYWs7Ci0JfQotCWlmIChpPT04KSB7Ci0JCXNwaW5fdW5sb2NrX2lycShzY2gtPmxvY2spOwotCQlyZXR1cm4gMDsKLQl9Ci0JaWYgKHN0c2NoKHNjaC0+c2NoaWQsICZzY2gtPnNjaGliKSkgewotCQlzcGluX3VubG9ja19pcnEoc2NoLT5sb2NrKTsKLQkJY3NzX3NjaGVkdWxlX2V2YWwoc2NoLT5zY2hpZCk7Ci0JCXJldHVybiAwOwotCX0KLQlzY2gtPmxwbSA9ICgoc2NoLT5zY2hpYi5wbWN3LnBpbSAmCi0JCSAgICAgc2NoLT5zY2hpYi5wbWN3LnBhbSAmCi0JCSAgICAgc2NoLT5zY2hpYi5wbWN3LnBvbSkKLQkJICAgIHwgbWFzaykgJiBzY2gtPm9wbTsKLQotCWlmIChzY2gtPmRyaXZlciAmJiBzY2gtPmRyaXZlci0+dmVyaWZ5KQotCQlzY2gtPmRyaXZlci0+dmVyaWZ5KHNjaCk7Ci0KLQlzcGluX3VubG9ja19pcnEoc2NoLT5sb2NrKTsKLQotCXJldHVybiAwOwotfQotCiB2b2lkIGNoc2NfY2hwX29ubGluZShzdHJ1Y3QgY2hwX2lkIGNocGlkKQogewogCWNoYXIgZGJmX3R4dFsxNV07CisJc3RydWN0IGNocF9saW5rIGxpbms7CiAKIAlzcHJpbnRmKGRiZl90eHQsICJjYWRkJXguJTAyeCIsIGNocGlkLmNzc2lkLCBjaHBpZC5pZCk7CiAJQ0lPX1RSQUNFX0VWRU5UKDIsIGRiZl90eHQpOwogCiAJaWYgKGNocF9nZXRfc3RhdHVzKGNocGlkKSAhPSAwKSB7CisJCW1lbXNldCgmbGluaywgMCwgc2l6ZW9mKHN0cnVjdCBjaHBfbGluaykpOworCQlsaW5rLmNocGlkID0gY2hwaWQ7CiAJCS8qIFdhaXQgdW50aWwgcHJldmlvdXMgYWN0aW9ucyBoYXZlIHNldHRsZWQuICovCiAJCWNzc193YWl0X2Zvcl9zbG93X3BhdGgoKTsKLQkJZm9yX2VhY2hfc3ViY2hhbm5lbF9zdGFnZWQoX19jaHBfYWRkLCBfX2NocF9hZGRfbmV3X3NjaCwKLQkJCQkJICAgJmNocGlkKTsKKwkJZm9yX2VhY2hfc3ViY2hhbm5lbF9zdGFnZWQoX19zMzkwX3Byb2Nlc3NfcmVzX2FjYywgTlVMTCwKKwkJCQkJICAgJmxpbmspOwogCX0KIH0KIAogc3RhdGljIHZvaWQgX19zMzkwX3N1YmNoYW5uZWxfdmFyeV9jaHBpZChzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoLAogCQkJCQkgc3RydWN0IGNocF9pZCBjaHBpZCwgaW50IG9uKQogewotCWludCBjaHAsIG9sZF9scG07Ci0JaW50IG1hc2s7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKKwlzdHJ1Y3QgY2hwX2xpbmsgbGluazsKIAorCW1lbXNldCgmbGluaywgMCwgc2l6ZW9mKHN0cnVjdCBjaHBfbGluaykpOworCWxpbmsuY2hwaWQgPSBjaHBpZDsKIAlzcGluX2xvY2tfaXJxc2F2ZShzY2gtPmxvY2ssIGZsYWdzKTsKLQlvbGRfbHBtID0gc2NoLT5scG07Ci0JZm9yIChjaHAgPSAwOyBjaHAgPCA4OyBjaHArKykgewotCQltYXNrID0gMHg4MCA+PiBjaHA7Ci0JCWlmICghKHNjaC0+c3NkX2luZm8ucGF0aF9tYXNrICYgbWFzaykpCi0JCQljb250aW51ZTsKLQkJaWYgKCFjaHBfaWRfaXNfZXF1YWwoJnNjaC0+c3NkX2luZm8uY2hwaWRbY2hwXSwgJmNocGlkKSkKLQkJCWNvbnRpbnVlOwotCi0JCWlmIChvbikgewotCQkJc2NoLT5vcG0gfD0gbWFzazsKLQkJCXNjaC0+bHBtIHw9IG1hc2s7Ci0JCQlpZiAoIW9sZF9scG0pCi0JCQkJZGV2aWNlX3RyaWdnZXJfcmVwcm9iZShzY2gpOwotCQkJZWxzZSBpZiAoc2NoLT5kcml2ZXIgJiYgc2NoLT5kcml2ZXItPnZlcmlmeSkKLQkJCQlzY2gtPmRyaXZlci0+dmVyaWZ5KHNjaCk7Ci0JCQlicmVhazsKLQkJfQotCQlzY2gtPm9wbSAmPSB+bWFzazsKLQkJc2NoLT5scG0gJj0gfm1hc2s7Ci0JCWlmIChjaGVja19mb3JfaW9fb25fcGF0aChzY2gsIG1hc2spKSB7Ci0JCQlpZiAoZGV2aWNlX2lzX29ubGluZShzY2gpKQotCQkJCS8qIFBhdGggdmVyaWZpY2F0aW9uIGlzIGRvbmUgYWZ0ZXIga2lsbGluZy4gKi8KLQkJCQlkZXZpY2Vfa2lsbF9pbyhzY2gpOwotCQkJZWxzZSB7Ci0JCQkJLyogS2lsbCBhbmQgcmV0cnkgaW50ZXJuYWwgSS9PLiAqLwotCQkJCXRlcm1pbmF0ZV9pbnRlcm5hbF9pbyhzY2gpOwotCQkJCS8qIFJlLXN0YXJ0IHBhdGggdmVyaWZpY2F0aW9uLiAqLwotCQkJCWlmIChzY2gtPmRyaXZlciAmJiBzY2gtPmRyaXZlci0+dmVyaWZ5KQotCQkJCQlzY2gtPmRyaXZlci0+dmVyaWZ5KHNjaCk7Ci0JCQl9Ci0JCX0gZWxzZSBpZiAoIXNjaC0+bHBtKSB7Ci0JCQlpZiAoZGV2aWNlX3RyaWdnZXJfdmVyaWZ5KHNjaCkgIT0gMCkKLQkJCQljc3Nfc2NoZWR1bGVfZXZhbChzY2gtPnNjaGlkKTsKLQkJfSBlbHNlIGlmIChzY2gtPmRyaXZlciAmJiBzY2gtPmRyaXZlci0+dmVyaWZ5KQotCQkJc2NoLT5kcml2ZXItPnZlcmlmeShzY2gpOwotCQlicmVhazsKLQl9CisJaWYgKHNjaC0+ZHJpdmVyICYmIHNjaC0+ZHJpdmVyLT5jaHBfZXZlbnQpCisJCXNjaC0+ZHJpdmVyLT5jaHBfZXZlbnQoc2NoLCAmbGluaywKKwkJCQkgICAgICAgb24gPyBDSFBfVkFSWV9PTiA6IENIUF9WQVJZX09GRik7CiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZShzY2gtPmxvY2ssIGZsYWdzKTsKIH0KIApAQCAtNjU2LDYgKzQ4MywxMCBAQAogICovCiBpbnQgY2hzY19jaHBfdmFyeShzdHJ1Y3QgY2hwX2lkIGNocGlkLCBpbnQgb24pCiB7CisJc3RydWN0IGNocF9saW5rIGxpbms7CisKKwltZW1zZXQoJmxpbmssIDAsIHNpemVvZihzdHJ1Y3QgY2hwX2xpbmspKTsKKwlsaW5rLmNocGlkID0gY2hwaWQ7CiAJLyogV2FpdCB1bnRpbCBwcmV2aW91cyBhY3Rpb25zIGhhdmUgc2V0dGxlZC4gKi8KIAljc3Nfd2FpdF9mb3Jfc2xvd19wYXRoKCk7CiAJLyoKQEAgLTY2NCwxMCArNDk1LDEwIEBACiAKIAlpZiAob24pCiAJCWZvcl9lYWNoX3N1YmNoYW5uZWxfc3RhZ2VkKHMzOTBfc3ViY2hhbm5lbF92YXJ5X2NocGlkX29uLAotCQkJCQkgICBfX3MzOTBfdmFyeV9jaHBpZF9vbiwgJmNocGlkKTsKKwkJCQkJICAgX19zMzkwX3ZhcnlfY2hwaWRfb24sICZsaW5rKTsKIAllbHNlCiAJCWZvcl9lYWNoX3N1YmNoYW5uZWxfc3RhZ2VkKHMzOTBfc3ViY2hhbm5lbF92YXJ5X2NocGlkX29mZiwKLQkJCQkJICAgTlVMTCwgJmNocGlkKTsKKwkJCQkJICAgTlVMTCwgJmxpbmspOwogCiAJcmV0dXJuIDA7CiB9CkBAIC03OTcsMjMgKzYyOCwzMyBAQAogCXJldHVybiByZXQ7CiB9CiAKLWludCBjaHNjX2RldGVybWluZV9jaGFubmVsX3BhdGhfZGVzY3JpcHRpb24oc3RydWN0IGNocF9pZCBjaHBpZCwKLQkJCQkJICAgIHN0cnVjdCBjaGFubmVsX3BhdGhfZGVzYyAqZGVzYykKK2ludCBjaHNjX2RldGVybWluZV9jaGFubmVsX3BhdGhfZGVzYyhzdHJ1Y3QgY2hwX2lkIGNocGlkLCBpbnQgZm10LCBpbnQgcmZtdCwKKwkJCQkgICAgIGludCBjLCBpbnQgbSwKKwkJCQkgICAgIHN0cnVjdCBjaHNjX3Jlc3BvbnNlX3N0cnVjdCAqcmVzcCkKIHsKIAlpbnQgY2NvZGUsIHJldDsKIAogCXN0cnVjdCB7CiAJCXN0cnVjdCBjaHNjX2hlYWRlciByZXF1ZXN0OwotCQl1MzIgOiAyNDsKKwkJdTMyIDogMjsKKwkJdTMyIG0gOiAxOworCQl1MzIgYyA6IDE7CisJCXUzMiBmbXQgOiA0OworCQl1MzIgY3NzaWQgOiA4OworCQl1MzIgOiA0OworCQl1MzIgcmZtdCA6IDQ7CiAJCXUzMiBmaXJzdF9jaHBpZCA6IDg7CiAJCXUzMiA6IDI0OwogCQl1MzIgbGFzdF9jaHBpZCA6IDg7CiAJCXUzMiB6ZXJvZXMxOwogCQlzdHJ1Y3QgY2hzY19oZWFkZXIgcmVzcG9uc2U7Ci0JCXUzMiB6ZXJvZXMyOwotCQlzdHJ1Y3QgY2hhbm5lbF9wYXRoX2Rlc2MgZGVzYzsKKwkJdTggZGF0YVtQQUdFX1NJWkUgLSAyMF07CiAJfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSkgKnNjcGRfYXJlYTsKIAorCWlmICgocmZtdCA9PSAxKSAmJiAhY3NzX2dlbmVyYWxfY2hhcmFjdGVyaXN0aWNzLmZjcykKKwkJcmV0dXJuIC1FSU5WQUw7CisJaWYgKChyZm10ID09IDIpICYmICFjc3NfZ2VuZXJhbF9jaGFyYWN0ZXJpc3RpY3MuY2liKQorCQlyZXR1cm4gLUVJTlZBTDsKIAlzY3BkX2FyZWEgPSAodm9pZCAqKWdldF96ZXJvZWRfcGFnZShHRlBfS0VSTkVMIHwgR0ZQX0RNQSk7CiAJaWYgKCFzY3BkX2FyZWEpCiAJCXJldHVybiAtRU5PTUVNOwpAQCAtODIxLDggKzY2MiwxMyBAQAogCXNjcGRfYXJlYS0+cmVxdWVzdC5sZW5ndGggPSAweDAwMTA7CiAJc2NwZF9hcmVhLT5yZXF1ZXN0LmNvZGUgPSAweDAwMDI7CiAKKwlzY3BkX2FyZWEtPmNzc2lkID0gY2hwaWQuY3NzaWQ7CiAJc2NwZF9hcmVhLT5maXJzdF9jaHBpZCA9IGNocGlkLmlkOwogCXNjcGRfYXJlYS0+bGFzdF9jaHBpZCA9IGNocGlkLmlkOworCXNjcGRfYXJlYS0+bSA9IG07CisJc2NwZF9hcmVhLT5jID0gYzsKKwlzY3BkX2FyZWEtPmZtdCA9IGZtdDsKKwlzY3BkX2FyZWEtPnJmbXQgPSByZm10OwogCiAJY2NvZGUgPSBjaHNjKHNjcGRfYXJlYSk7CiAJaWYgKGNjb2RlID4gMCkgewpAQCAtODMzLDggKzY3OSw3IEBACiAJcmV0ID0gY2hzY19lcnJvcl9mcm9tX3Jlc3BvbnNlKHNjcGRfYXJlYS0+cmVzcG9uc2UuY29kZSk7CiAJaWYgKHJldCA9PSAwKQogCQkvKiBTdWNjZXNzLiAqLwotCQltZW1jcHkoZGVzYywgJnNjcGRfYXJlYS0+ZGVzYywKLQkJICAgICAgIHNpemVvZihzdHJ1Y3QgY2hhbm5lbF9wYXRoX2Rlc2MpKTsKKwkJbWVtY3B5KHJlc3AsICZzY3BkX2FyZWEtPnJlc3BvbnNlLCBzY3BkX2FyZWEtPnJlc3BvbnNlLmxlbmd0aCk7CiAJZWxzZQogCQlDSU9fQ1JXX0VWRU5UKDIsICJjaHNjOiBzY3BkIGZhaWxlZCAocmM9JTA0eClcbiIsCiAJCQkgICAgICBzY3BkX2FyZWEtPnJlc3BvbnNlLmNvZGUpOwpAQCAtODQyLDYgKzY4NywyNSBAQAogCWZyZWVfcGFnZSgodW5zaWduZWQgbG9uZylzY3BkX2FyZWEpOwogCXJldHVybiByZXQ7CiB9CitFWFBPUlRfU1lNQk9MX0dQTChjaHNjX2RldGVybWluZV9jaGFubmVsX3BhdGhfZGVzYyk7CisKK2ludCBjaHNjX2RldGVybWluZV9iYXNlX2NoYW5uZWxfcGF0aF9kZXNjKHN0cnVjdCBjaHBfaWQgY2hwaWQsCisJCQkJCSAgc3RydWN0IGNoYW5uZWxfcGF0aF9kZXNjICpkZXNjKQoreworCXN0cnVjdCBjaHNjX3Jlc3BvbnNlX3N0cnVjdCAqY2hzY19yZXNwOworCWludCByZXQ7CisKKwljaHNjX3Jlc3AgPSBremFsbG9jKHNpemVvZigqY2hzY19yZXNwKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFjaHNjX3Jlc3ApCisJCXJldHVybiAtRU5PTUVNOworCXJldCA9IGNoc2NfZGV0ZXJtaW5lX2NoYW5uZWxfcGF0aF9kZXNjKGNocGlkLCAwLCAwLCAwLCAwLCBjaHNjX3Jlc3ApOworCWlmIChyZXQpCisJCWdvdG8gb3V0X2ZyZWU7CisJbWVtY3B5KGRlc2MsICZjaHNjX3Jlc3AtPmRhdGEsIGNoc2NfcmVzcC0+bGVuZ3RoKTsKK291dF9mcmVlOgorCWtmcmVlKGNoc2NfcmVzcCk7CisJcmV0dXJuIHJldDsKK30KIAogc3RhdGljIHZvaWQKIGNoc2NfaW5pdGlhbGl6ZV9jbWdfY2hhcnMoc3RydWN0IGNoYW5uZWxfcGF0aCAqY2hwLCB1OCBjbWN2LApAQCAtOTM3LDE1ICs4MDEsMjMgQEAKIAogaW50IF9faW5pdCBjaHNjX2FsbG9jX3NlaV9hcmVhKHZvaWQpCiB7CisJaW50IHJldDsKKwogCXNlaV9wYWdlID0gKHZvaWQgKilnZXRfemVyb2VkX3BhZ2UoR0ZQX0tFUk5FTCB8IEdGUF9ETUEpOwotCWlmICghc2VpX3BhZ2UpCisJaWYgKCFzZWlfcGFnZSkgewogCQlDSU9fTVNHX0VWRU5UKDAsICJDYW4ndCBhbGxvY2F0ZSBwYWdlIGZvciBwcm9jZXNzaW5nIG9mICIKIAkJCSAgICAgICJjaHNjIG1hY2hpbmUgY2hlY2tzIVxuIik7Ci0JcmV0dXJuIChzZWlfcGFnZSA/IDAgOiAtRU5PTUVNKTsKKwkJcmV0dXJuIC1FTk9NRU07CisJfQorCXJldCA9IHMzOTBfcmVnaXN0ZXJfY3J3X2hhbmRsZXIoQ1JXX1JTQ19DU1MsIGNoc2NfcHJvY2Vzc19jcncpOworCWlmIChyZXQpCisJCWtmcmVlKHNlaV9wYWdlKTsKKwlyZXR1cm4gcmV0OwogfQogCiB2b2lkIF9faW5pdCBjaHNjX2ZyZWVfc2VpX2FyZWEodm9pZCkKIHsKKwlzMzkwX3VucmVnaXN0ZXJfY3J3X2hhbmRsZXIoQ1JXX1JTQ19DU1MpOwogCWtmcmVlKHNlaV9wYWdlKTsKIH0KIApAQCAtMTA0MywzICs5MTUsNTIgQEAKIAogRVhQT1JUX1NZTUJPTF9HUEwoY3NzX2dlbmVyYWxfY2hhcmFjdGVyaXN0aWNzKTsKIEVYUE9SVF9TWU1CT0xfR1BMKGNzc19jaHNjX2NoYXJhY3RlcmlzdGljcyk7CisKK2ludCBjaHNjX3NzdHBjKHZvaWQgKnBhZ2UsIHVuc2lnbmVkIGludCBvcCwgdTE2IGN0cmwpCit7CisJc3RydWN0IHsKKwkJc3RydWN0IGNoc2NfaGVhZGVyIHJlcXVlc3Q7CisJCXVuc2lnbmVkIGludCByc3ZkMDsKKwkJdW5zaWduZWQgaW50IG9wIDogODsKKwkJdW5zaWduZWQgaW50IHJzdmQxIDogODsKKwkJdW5zaWduZWQgaW50IGN0cmwgOiAxNjsKKwkJdW5zaWduZWQgaW50IHJzdmQyWzVdOworCQlzdHJ1Y3QgY2hzY19oZWFkZXIgcmVzcG9uc2U7CisJCXVuc2lnbmVkIGludCByc3ZkM1s3XTsKKwl9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKSAqcnI7CisJaW50IHJjOworCisJbWVtc2V0KHBhZ2UsIDAsIFBBR0VfU0laRSk7CisJcnIgPSBwYWdlOworCXJyLT5yZXF1ZXN0Lmxlbmd0aCA9IDB4MDAyMDsKKwlyci0+cmVxdWVzdC5jb2RlID0gMHgwMDMzOworCXJyLT5vcCA9IG9wOworCXJyLT5jdHJsID0gY3RybDsKKwlyYyA9IGNoc2MocnIpOworCWlmIChyYykKKwkJcmV0dXJuIC1FSU87CisJcmMgPSAocnItPnJlc3BvbnNlLmNvZGUgPT0gMHgwMDAxKSA/IDAgOiAtRUlPOworCXJldHVybiByYzsKK30KKworaW50IGNoc2Nfc3N0cGkodm9pZCAqcGFnZSwgdm9pZCAqcmVzdWx0LCBzaXplX3Qgc2l6ZSkKK3sKKwlzdHJ1Y3QgeworCQlzdHJ1Y3QgY2hzY19oZWFkZXIgcmVxdWVzdDsKKwkJdW5zaWduZWQgaW50IHJzdmQwWzNdOworCQlzdHJ1Y3QgY2hzY19oZWFkZXIgcmVzcG9uc2U7CisJCWNoYXIgZGF0YVtzaXplXTsKKwl9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKSAqcnI7CisJaW50IHJjOworCisJbWVtc2V0KHBhZ2UsIDAsIFBBR0VfU0laRSk7CisJcnIgPSBwYWdlOworCXJyLT5yZXF1ZXN0Lmxlbmd0aCA9IDB4MDAxMDsKKwlyci0+cmVxdWVzdC5jb2RlID0gMHgwMDM4OworCXJjID0gY2hzYyhycik7CisJaWYgKHJjKQorCQlyZXR1cm4gLUVJTzsKKwltZW1jcHkocmVzdWx0LCAmcnItPmRhdGEsIHNpemUpOworCXJldHVybiAocnItPnJlc3BvbnNlLmNvZGUgPT0gMHgwMDAxKSA/IDAgOiAtRUlPOworfQorCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2lvL2Noc2MuaCBiL2RyaXZlcnMvczM5MC9jaW8vY2hzYy5oCmluZGV4IGQxZjVkYjEuLmZiNmM0ZDYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaW8vY2hzYy5oCisrKyBiL2RyaXZlcnMvczM5MC9jaW8vY2hzYy5oCkBAIC00LDcgKzQsOCBAQAogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiAjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+CiAjaW5jbHVkZSA8YXNtL2NocGlkLmg+Ci0jaW5jbHVkZSAic2NoaWQuaCIKKyNpbmNsdWRlIDxhc20vY2hzYy5oPgorI2luY2x1ZGUgPGFzbS9zY2hpZC5oPgogCiAjZGVmaW5lIENIU0NfU0RBX09DX01TUyAgIDB4MgogCkBAIC0zNiwxNCArMzcsMTUgQEAKIAogc3RydWN0IGNoYW5uZWxfcGF0aDsKIAotZXh0ZXJuIHZvaWQgY2hzY19wcm9jZXNzX2Nydyh2b2lkKTsKLQogc3RydWN0IGNzc19nZW5lcmFsX2NoYXIgewotCXU2NCA6IDQxOworCXU2NCA6IDEyOworCXUzMiBkeW5pbyA6IDE7CSAvKiBiaXQgMTIgKi8KKwl1MzIgOiAyODsKIAl1MzIgYWlmIDogMTsgICAgIC8qIGJpdCA0MSAqLwogCXUzMiA6IDM7CiAJdTMyIG1jc3MgOiAxOyAgICAvKiBiaXQgNDUgKi8KLQl1MzIgOiAyOworCXUzMiBmY3MgOiAxOwkgLyogYml0IDQ2ICovCisJdTMyIDogMTsKIAl1MzIgZXh0X21iIDogMTsgIC8qIGJpdCA0OCAqLwogCXUzMiA6IDc7CiAJdTMyIGFpZl90ZGQgOiAxOyAvKiBiaXQgNTYgKi8KQEAgLTUxLDcgKzUzLDExIEBACiAJdTMyIHFlYnNtIDogMTsgICAvKiBiaXQgNTggKi8KIAl1MzIgOiA4OwogCXUzMiBhaWZfb3NhIDogMTsgLyogYml0IDY3ICovCi0JdTMyIDogMjg7CisJdTMyIDogMTQ7CisJdTMyIGNpYiA6IDE7CSAvKiBiaXQgODIgKi8KKwl1MzIgOiA1OworCXUzMiBmY3ggOiAxOwkgLyogYml0IDg4ICovCisJdTMyIDogNzsKIH1fX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKIAogc3RydWN0IGNzc19jaHNjX2NoYXIgewpAQCAtNzgsNyArODQsNiBAQAogZXh0ZXJuIGludCBjaHNjX2dldF9zc2RfaW5mbyhzdHJ1Y3Qgc3ViY2hhbm5lbF9pZCBzY2hpZCwKIAkJCSAgICAgc3RydWN0IGNoc2Nfc3NkX2luZm8gKnNzZCk7CiBleHRlcm4gaW50IGNoc2NfZGV0ZXJtaW5lX2Nzc19jaGFyYWN0ZXJpc3RpY3Modm9pZCk7Ci1leHRlcm4gaW50IGNzc19jaGFyYWN0ZXJpc3RpY3NfYXZhaWw7CiBleHRlcm4gaW50IGNoc2NfYWxsb2Nfc2VpX2FyZWEodm9pZCk7CiBleHRlcm4gdm9pZCBjaHNjX2ZyZWVfc2VpX2FyZWEodm9pZCk7CiAKQEAgLTg3LDggKzkyLDExIEBACiBleHRlcm4gaW50IGNoc2Nfc2VjbShzdHJ1Y3QgY2hhbm5lbF9zdWJzeXN0ZW0gKiwgaW50KTsKIAogaW50IGNoc2NfY2hwX3Zhcnkoc3RydWN0IGNocF9pZCBjaHBpZCwgaW50IG9uKTsKLWludCBjaHNjX2RldGVybWluZV9jaGFubmVsX3BhdGhfZGVzY3JpcHRpb24oc3RydWN0IGNocF9pZCBjaHBpZCwKLQkJCQkJICAgIHN0cnVjdCBjaGFubmVsX3BhdGhfZGVzYyAqZGVzYyk7CitpbnQgY2hzY19kZXRlcm1pbmVfY2hhbm5lbF9wYXRoX2Rlc2Moc3RydWN0IGNocF9pZCBjaHBpZCwgaW50IGZtdCwgaW50IHJmbXQsCisJCQkJICAgICBpbnQgYywgaW50IG0sCisJCQkJICAgICBzdHJ1Y3QgY2hzY19yZXNwb25zZV9zdHJ1Y3QgKnJlc3ApOworaW50IGNoc2NfZGV0ZXJtaW5lX2Jhc2VfY2hhbm5lbF9wYXRoX2Rlc2Moc3RydWN0IGNocF9pZCBjaHBpZCwKKwkJCQkJICBzdHJ1Y3QgY2hhbm5lbF9wYXRoX2Rlc2MgKmRlc2MpOwogdm9pZCBjaHNjX2NocF9vbmxpbmUoc3RydWN0IGNocF9pZCBjaHBpZCk7CiB2b2lkIGNoc2NfY2hwX29mZmxpbmUoc3RydWN0IGNocF9pZCBjaHBpZCk7CiBpbnQgY2hzY19nZXRfY2hhbm5lbF9tZWFzdXJlbWVudF9jaGFycyhzdHJ1Y3QgY2hhbm5lbF9wYXRoICpjaHApOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2Npby9jaHNjX3NjaC5jIGIvZHJpdmVycy9zMzkwL2Npby9jaHNjX3NjaC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkxY2E4N2EKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL3MzOTAvY2lvL2Noc2Nfc2NoLmMKQEAgLTAsMCArMSw4MjAgQEAKKy8qCisgKiBEcml2ZXIgZm9yIHMzOTAgY2hzYyBzdWJjaGFubmVscworICoKKyAqIENvcHlyaWdodCBJQk0gQ29ycC4gMjAwOAorICogQXV0aG9yKHMpOiBDb3JuZWxpYSBIdWNrIDxjb3JuZWxpYS5odWNrQGRlLmlibS5jb20+CisgKgorICovCisKKyNpbmNsdWRlIDxsaW51eC9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC91YWNjZXNzLmg+CisjaW5jbHVkZSA8bGludXgvbWlzY2RldmljZS5oPgorCisjaW5jbHVkZSA8YXNtL2Npby5oPgorI2luY2x1ZGUgPGFzbS9jaHNjLmg+CisjaW5jbHVkZSA8YXNtL2lzYy5oPgorCisjaW5jbHVkZSAiY2lvLmgiCisjaW5jbHVkZSAiY2lvX2RlYnVnLmgiCisjaW5jbHVkZSAiY3NzLmgiCisjaW5jbHVkZSAiY2hzY19zY2guaCIKKyNpbmNsdWRlICJpb2FzbS5oIgorCitzdGF0aWMgZGVidWdfaW5mb190ICpjaHNjX2RlYnVnX21zZ19pZDsKK3N0YXRpYyBkZWJ1Z19pbmZvX3QgKmNoc2NfZGVidWdfbG9nX2lkOworCisjZGVmaW5lIENIU0NfTVNHKGltcCwgYXJncy4uLikgZG8gewkJCQkJXAorCQlkZWJ1Z19zcHJpbnRmX2V2ZW50KGNoc2NfZGVidWdfbXNnX2lkLCBpbXAgLCAjI2FyZ3MpOwlcCisJfSB3aGlsZSAoMCkKKworI2RlZmluZSBDSFNDX0xPRyhpbXAsIHR4dCkgZG8gewkJCQkJXAorCQlkZWJ1Z190ZXh0X2V2ZW50KGNoc2NfZGVidWdfbG9nX2lkLCBpbXAgLCB0eHQpOwlcCisJfSB3aGlsZSAoMCkKKworc3RhdGljIHZvaWQgQ0hTQ19MT0dfSEVYKGludCBsZXZlbCwgdm9pZCAqZGF0YSwgaW50IGxlbmd0aCkKK3sKKwl3aGlsZSAobGVuZ3RoID4gMCkgeworCQlkZWJ1Z19ldmVudChjaHNjX2RlYnVnX2xvZ19pZCwgbGV2ZWwsIGRhdGEsIGxlbmd0aCk7CisJCWxlbmd0aCAtPSBjaHNjX2RlYnVnX2xvZ19pZC0+YnVmX3NpemU7CisJCWRhdGEgKz0gY2hzY19kZWJ1Z19sb2dfaWQtPmJ1Zl9zaXplOworCX0KK30KKworTU9EVUxFX0FVVEhPUigiSUJNIENvcnBvcmF0aW9uIik7CitNT0RVTEVfREVTQ1JJUFRJT04oImRyaXZlciBmb3IgczM5MCBjaHNjIHN1YmNoYW5uZWxzIik7CitNT0RVTEVfTElDRU5TRSgiR1BMIik7CisKK3N0YXRpYyB2b2lkIGNoc2Nfc3ViY2hhbm5lbF9pcnEoc3RydWN0IHN1YmNoYW5uZWwgKnNjaCkKK3sKKwlzdHJ1Y3QgY2hzY19wcml2YXRlICpwcml2YXRlID0gc2NoLT5wcml2YXRlOworCXN0cnVjdCBjaHNjX3JlcXVlc3QgKnJlcXVlc3QgPSBwcml2YXRlLT5yZXF1ZXN0OworCXN0cnVjdCBpcmIgKmlyYiA9IChzdHJ1Y3QgaXJiICopX19MQ19JUkI7CisKKwlDSFNDX0xPRyg0LCAiaXJiIik7CisJQ0hTQ19MT0dfSEVYKDQsIGlyYiwgc2l6ZW9mKCppcmIpKTsKKwkvKiBDb3B5IGlyYiB0byBwcm92aWRlZCByZXF1ZXN0IGFuZCBzZXQgZG9uZS4gKi8KKwlpZiAoIXJlcXVlc3QpIHsKKwkJQ0hTQ19NU0coMCwgIkludGVycnVwdCBvbiBzY2ggMC4leC4lMDR4IHdpdGggbm8gcmVxdWVzdFxuIiwKKwkJCSBzY2gtPnNjaGlkLnNzaWQsIHNjaC0+c2NoaWQuc2NoX25vKTsKKwkJcmV0dXJuOworCX0KKwlwcml2YXRlLT5yZXF1ZXN0ID0gTlVMTDsKKwltZW1jcHkoJnJlcXVlc3QtPmlyYiwgaXJiLCBzaXplb2YoKmlyYikpOworCXN0c2NoKHNjaC0+c2NoaWQsICZzY2gtPnNjaGliKTsKKwljb21wbGV0ZSgmcmVxdWVzdC0+Y29tcGxldGlvbik7CisJcHV0X2RldmljZSgmc2NoLT5kZXYpOworfQorCitzdGF0aWMgaW50IGNoc2Nfc3ViY2hhbm5lbF9wcm9iZShzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoKQoreworCXN0cnVjdCBjaHNjX3ByaXZhdGUgKnByaXZhdGU7CisJaW50IHJldDsKKworCUNIU0NfTVNHKDYsICJEZXRlY3RlZCBjaHNjIHN1YmNoYW5uZWwgMC4leC4lMDR4XG4iLAorCQkgc2NoLT5zY2hpZC5zc2lkLCBzY2gtPnNjaGlkLnNjaF9ubyk7CisJc2NoLT5pc2MgPSBDSFNDX1NDSF9JU0M7CisJcHJpdmF0ZSA9IGt6YWxsb2Moc2l6ZW9mKCpwcml2YXRlKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFwcml2YXRlKQorCQlyZXR1cm4gLUVOT01FTTsKKwlyZXQgPSBjaW9fZW5hYmxlX3N1YmNoYW5uZWwoc2NoLCAodTMyKSh1bnNpZ25lZCBsb25nKXNjaCk7CisJaWYgKHJldCkgeworCQlDSFNDX01TRygwLCAiRmFpbGVkIHRvIGVuYWJsZSAwLiV4LiUwNHg6ICVkXG4iLAorCQkJIHNjaC0+c2NoaWQuc3NpZCwgc2NoLT5zY2hpZC5zY2hfbm8sIHJldCk7CisJCWtmcmVlKHByaXZhdGUpOworCX0gZWxzZSB7CisJCXNjaC0+cHJpdmF0ZSA9IHByaXZhdGU7CisJCWlmIChzY2gtPmRldi51ZXZlbnRfc3VwcHJlc3MpIHsKKwkJCXNjaC0+ZGV2LnVldmVudF9zdXBwcmVzcyA9IDA7CisJCQlrb2JqZWN0X3VldmVudCgmc2NoLT5kZXYua29iaiwgS09CSl9BREQpOworCQl9CisJfQorCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgY2hzY19zdWJjaGFubmVsX3JlbW92ZShzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoKQoreworCXN0cnVjdCBjaHNjX3ByaXZhdGUgKnByaXZhdGU7CisKKwljaW9fZGlzYWJsZV9zdWJjaGFubmVsKHNjaCk7CisJcHJpdmF0ZSA9IHNjaC0+cHJpdmF0ZTsKKwlzY2gtPnByaXZhdGUgPSBOVUxMOworCWlmIChwcml2YXRlLT5yZXF1ZXN0KSB7CisJCWNvbXBsZXRlKCZwcml2YXRlLT5yZXF1ZXN0LT5jb21wbGV0aW9uKTsKKwkJcHV0X2RldmljZSgmc2NoLT5kZXYpOworCX0KKwlrZnJlZShwcml2YXRlKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgY2hzY19zdWJjaGFubmVsX3NodXRkb3duKHN0cnVjdCBzdWJjaGFubmVsICpzY2gpCit7CisJY2lvX2Rpc2FibGVfc3ViY2hhbm5lbChzY2gpOworfQorCitzdGF0aWMgc3RydWN0IGNzc19kZXZpY2VfaWQgY2hzY19zdWJjaGFubmVsX2lkc1tdID0geworCXsgLm1hdGNoX2ZsYWdzID0gMHgxLCAudHlwZSA9U1VCQ0hBTk5FTF9UWVBFX0NIU0MsIH0sCisJeyAvKiBlbmQgb2YgbGlzdCAqLyB9LAorfTsKK01PRFVMRV9ERVZJQ0VfVEFCTEUoY3NzLCBjaHNjX3N1YmNoYW5uZWxfaWRzKTsKKworc3RhdGljIHN0cnVjdCBjc3NfZHJpdmVyIGNoc2Nfc3ViY2hhbm5lbF9kcml2ZXIgPSB7CisJLm93bmVyID0gVEhJU19NT0RVTEUsCisJLnN1YmNoYW5uZWxfdHlwZSA9IGNoc2Nfc3ViY2hhbm5lbF9pZHMsCisJLmlycSA9IGNoc2Nfc3ViY2hhbm5lbF9pcnEsCisJLnByb2JlID0gY2hzY19zdWJjaGFubmVsX3Byb2JlLAorCS5yZW1vdmUgPSBjaHNjX3N1YmNoYW5uZWxfcmVtb3ZlLAorCS5zaHV0ZG93biA9IGNoc2Nfc3ViY2hhbm5lbF9zaHV0ZG93biwKKwkubmFtZSA9ICJjaHNjX3N1YmNoYW5uZWwiLAorfTsKKworc3RhdGljIGludCBfX2luaXQgY2hzY19pbml0X2RiZnModm9pZCkKK3sKKwljaHNjX2RlYnVnX21zZ19pZCA9IGRlYnVnX3JlZ2lzdGVyKCJjaHNjX21zZyIsIDE2LCAxLAorCQkJCQkgICAxNiAqIHNpemVvZihsb25nKSk7CisJaWYgKCFjaHNjX2RlYnVnX21zZ19pZCkKKwkJZ290byBvdXQ7CisJZGVidWdfcmVnaXN0ZXJfdmlldyhjaHNjX2RlYnVnX21zZ19pZCwgJmRlYnVnX3NwcmludGZfdmlldyk7CisJZGVidWdfc2V0X2xldmVsKGNoc2NfZGVidWdfbXNnX2lkLCAyKTsKKwljaHNjX2RlYnVnX2xvZ19pZCA9IGRlYnVnX3JlZ2lzdGVyKCJjaHNjX2xvZyIsIDE2LCAxLCAxNik7CisJaWYgKCFjaHNjX2RlYnVnX2xvZ19pZCkKKwkJZ290byBvdXQ7CisJZGVidWdfcmVnaXN0ZXJfdmlldyhjaHNjX2RlYnVnX2xvZ19pZCwgJmRlYnVnX2hleF9hc2NpaV92aWV3KTsKKwlkZWJ1Z19zZXRfbGV2ZWwoY2hzY19kZWJ1Z19sb2dfaWQsIDIpOworCXJldHVybiAwOworb3V0OgorCWlmIChjaHNjX2RlYnVnX21zZ19pZCkKKwkJZGVidWdfdW5yZWdpc3RlcihjaHNjX2RlYnVnX21zZ19pZCk7CisJcmV0dXJuIC1FTk9NRU07Cit9CisKK3N0YXRpYyB2b2lkIGNoc2NfcmVtb3ZlX2RiZnModm9pZCkKK3sKKwlkZWJ1Z191bnJlZ2lzdGVyKGNoc2NfZGVidWdfbG9nX2lkKTsKKwlkZWJ1Z191bnJlZ2lzdGVyKGNoc2NfZGVidWdfbXNnX2lkKTsKK30KKworc3RhdGljIGludCBfX2luaXQgY2hzY19pbml0X3NjaF9kcml2ZXIodm9pZCkKK3sKKwlyZXR1cm4gY3NzX2RyaXZlcl9yZWdpc3RlcigmY2hzY19zdWJjaGFubmVsX2RyaXZlcik7Cit9CisKK3N0YXRpYyB2b2lkIGNoc2NfY2xlYW51cF9zY2hfZHJpdmVyKHZvaWQpCit7CisJY3NzX2RyaXZlcl91bnJlZ2lzdGVyKCZjaHNjX3N1YmNoYW5uZWxfZHJpdmVyKTsKK30KKworc3RhdGljIERFRklORV9TUElOTE9DSyhjaHNjX2xvY2spOworCitzdGF0aWMgaW50IGNoc2Nfc3ViY2hhbm5lbF9tYXRjaF9uZXh0X2ZyZWUoc3RydWN0IGRldmljZSAqZGV2LCB2b2lkICpkYXRhKQoreworCXN0cnVjdCBzdWJjaGFubmVsICpzY2ggPSB0b19zdWJjaGFubmVsKGRldik7CisKKwlyZXR1cm4gc2NoLT5zY2hpYi5wbWN3LmVuYSAmJiAhc2Nzd19mY3RsKCZzY2gtPnNjaGliLnNjc3cpOworfQorCitzdGF0aWMgc3RydWN0IHN1YmNoYW5uZWwgKmNoc2NfZ2V0X25leHRfc3ViY2hhbm5lbChzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoKQoreworCXN0cnVjdCBkZXZpY2UgKmRldjsKKworCWRldiA9IGRyaXZlcl9maW5kX2RldmljZSgmY2hzY19zdWJjaGFubmVsX2RyaXZlci5kcnYsCisJCQkJIHNjaCA/ICZzY2gtPmRldiA6IE5VTEwsIE5VTEwsCisJCQkJIGNoc2Nfc3ViY2hhbm5lbF9tYXRjaF9uZXh0X2ZyZWUpOworCXJldHVybiBkZXYgPyB0b19zdWJjaGFubmVsKGRldikgOiBOVUxMOworfQorCisvKioKKyAqIGNoc2NfYXN5bmMoKSAtIHRyeSB0byBzdGFydCBhIGNoc2MgcmVxdWVzdCBhc3luY2hyb25vdXNseQorICogQGNoc2NfYXJlYTogcmVxdWVzdCB0byBiZSBzdGFydGVkCisgKiBAcmVxdWVzdDogcmVxdWVzdCBzdHJ1Y3R1cmUgdG8gYXNzb2NpYXRlCisgKgorICogVHJpZXMgdG8gc3RhcnQgYSBjaHNjIHJlcXVlc3Qgb24gb25lIG9mIHRoZSBleGlzdGluZyBjaHNjIHN1YmNoYW5uZWxzLgorICogUmV0dXJuczoKKyAqICAlMCBpZiB0aGUgcmVxdWVzdCB3YXMgcGVyZm9ybWVkIHN5bmNocm9ub3VzbHkKKyAqICAlLUVJTlBST0dSRVNTIGlmIHRoZSByZXF1ZXN0IHdhcyBzdWNjZXNzZnVsbHkgc3RhcnRlZAorICogICUtRUJVU1kgaWYgYWxsIGNoc2Mgc3ViY2hhbm5lbHMgYXJlIGJ1c3kKKyAqICAlLUVOT0RFViBpZiBubyBjaHNjIHN1YmNoYW5uZWxzIGFyZSBhdmFpbGFibGUKKyAqIENvbnRleHQ6CisgKiAgaW50ZXJydXB0cyBkaXNhYmxlZCwgY2hzY19sb2NrIGhlbGQKKyAqLworc3RhdGljIGludCBjaHNjX2FzeW5jKHN0cnVjdCBjaHNjX2FzeW5jX2FyZWEgKmNoc2NfYXJlYSwKKwkJICAgICAgc3RydWN0IGNoc2NfcmVxdWVzdCAqcmVxdWVzdCkKK3sKKwlpbnQgY2M7CisJc3RydWN0IGNoc2NfcHJpdmF0ZSAqcHJpdmF0ZTsKKwlzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoID0gTlVMTDsKKwlpbnQgcmV0ID0gLUVOT0RFVjsKKwljaGFyIGRiZlsxMF07CisKKwljaHNjX2FyZWEtPmhlYWRlci5rZXkgPSBQQUdFX0RFRkFVTFRfS0VZOworCXdoaWxlICgoc2NoID0gY2hzY19nZXRfbmV4dF9zdWJjaGFubmVsKHNjaCkpKSB7CisJCXNwaW5fbG9jayhzY2gtPmxvY2spOworCQlwcml2YXRlID0gc2NoLT5wcml2YXRlOworCQlpZiAocHJpdmF0ZS0+cmVxdWVzdCkgeworCQkJc3Bpbl91bmxvY2soc2NoLT5sb2NrKTsKKwkJCXJldCA9IC1FQlVTWTsKKwkJCWNvbnRpbnVlOworCQl9CisJCWNoc2NfYXJlYS0+aGVhZGVyLnNpZCA9IHNjaC0+c2NoaWQ7CisJCUNIU0NfTE9HKDIsICJzY2hpZCIpOworCQlDSFNDX0xPR19IRVgoMiwgJnNjaC0+c2NoaWQsIHNpemVvZihzY2gtPnNjaGlkKSk7CisJCWNjID0gY2hzYyhjaHNjX2FyZWEpOworCQlzcHJpbnRmKGRiZiwgImNjOiVkIiwgY2MpOworCQlDSFNDX0xPRygyLCBkYmYpOworCQlzd2l0Y2ggKGNjKSB7CisJCWNhc2UgMDoKKwkJCXJldCA9IDA7CisJCQlicmVhazsKKwkJY2FzZSAxOgorCQkJc2NoLT5zY2hpYi5zY3N3LmNtZC5mY3RsIHw9IFNDU1dfRkNUTF9TVEFSVF9GVU5DOworCQkJcmV0ID0gLUVJTlBST0dSRVNTOworCQkJcHJpdmF0ZS0+cmVxdWVzdCA9IHJlcXVlc3Q7CisJCQlicmVhazsKKwkJY2FzZSAyOgorCQkJcmV0ID0gLUVCVVNZOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQlyZXQgPSAtRU5PREVWOworCQl9CisJCXNwaW5fdW5sb2NrKHNjaC0+bG9jayk7CisJCUNIU0NfTVNHKDIsICJjaHNjIG9uIDAuJXguJTA0eCByZXR1cm5lZCBjYz0lZFxuIiwKKwkJCSBzY2gtPnNjaGlkLnNzaWQsIHNjaC0+c2NoaWQuc2NoX25vLCBjYyk7CisJCWlmIChyZXQgPT0gLUVJTlBST0dSRVNTKQorCQkJcmV0dXJuIC1FSU5QUk9HUkVTUzsKKwkJcHV0X2RldmljZSgmc2NoLT5kZXYpOworCQlpZiAocmV0ID09IDApCisJCQlyZXR1cm4gMDsKKwl9CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIHZvaWQgY2hzY19sb2dfY29tbWFuZChzdHJ1Y3QgY2hzY19hc3luY19hcmVhICpjaHNjX2FyZWEpCit7CisJY2hhciBkYmZbMTBdOworCisJc3ByaW50ZihkYmYsICJDSFNDOiV4IiwgY2hzY19hcmVhLT5oZWFkZXIuY29kZSk7CisJQ0hTQ19MT0coMCwgZGJmKTsKKwlDSFNDX0xPR19IRVgoMCwgY2hzY19hcmVhLCAzMik7Cit9CisKK3N0YXRpYyBpbnQgY2hzY19leGFtaW5lX2lyYihzdHJ1Y3QgY2hzY19yZXF1ZXN0ICpyZXF1ZXN0KQoreworCWludCBiYWNrZWRfdXA7CisKKwlpZiAoIXNjc3dfc3RjdGwoJnJlcXVlc3QtPmlyYi5zY3N3KSAmIFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpCisJCXJldHVybiAtRUlPOworCWJhY2tlZF91cCA9IHNjc3dfY3N0YXQoJnJlcXVlc3QtPmlyYi5zY3N3KSAmIFNDSE5fU1RBVF9DSEFJTl9DSEVDSzsKKwlyZXF1ZXN0LT5pcmIuc2Nzdy5jbWQuY3N0YXQgJj0gflNDSE5fU1RBVF9DSEFJTl9DSEVDSzsKKwlpZiAoc2Nzd19jc3RhdCgmcmVxdWVzdC0+aXJiLnNjc3cpID09IDApCisJCXJldHVybiAwOworCWlmICghYmFja2VkX3VwKQorCQlyZXR1cm4gMDsKKwlpZiAoc2Nzd19jc3RhdCgmcmVxdWVzdC0+aXJiLnNjc3cpICYgU0NITl9TVEFUX1BST0dfQ0hFQ0spCisJCXJldHVybiAtRUlPOworCWlmIChzY3N3X2NzdGF0KCZyZXF1ZXN0LT5pcmIuc2NzdykgJiBTQ0hOX1NUQVRfUFJPVF9DSEVDSykKKwkJcmV0dXJuIC1FUEVSTTsKKwlpZiAoc2Nzd19jc3RhdCgmcmVxdWVzdC0+aXJiLnNjc3cpICYgU0NITl9TVEFUX0NITl9EQVRBX0NISykKKwkJcmV0dXJuIC1FQUdBSU47CisJaWYgKHNjc3dfY3N0YXQoJnJlcXVlc3QtPmlyYi5zY3N3KSAmIFNDSE5fU1RBVF9DSE5fQ1RSTF9DSEspCisJCXJldHVybiAtRUFHQUlOOworCXJldHVybiAtRUlPOworfQorCitzdGF0aWMgaW50IGNoc2NfaW9jdGxfc3RhcnQodm9pZCBfX3VzZXIgKnVzZXJfYXJlYSkKK3sKKwlzdHJ1Y3QgY2hzY19yZXF1ZXN0ICpyZXF1ZXN0OworCXN0cnVjdCBjaHNjX2FzeW5jX2FyZWEgKmNoc2NfYXJlYTsKKwlpbnQgcmV0OworCWNoYXIgZGJmWzEwXTsKKworCWlmICghY3NzX2dlbmVyYWxfY2hhcmFjdGVyaXN0aWNzLmR5bmlvKQorCQkvKiBJdCBtYWtlcyBubyBzZW5zZSB0byB0cnkuICovCisJCXJldHVybiAtRU9QTk9UU1VQUDsKKwljaHNjX2FyZWEgPSAodm9pZCAqKWdldF96ZXJvZWRfcGFnZShHRlBfRE1BIHwgR0ZQX0tFUk5FTCk7CisJaWYgKCFjaHNjX2FyZWEpCisJCXJldHVybiAtRU5PTUVNOworCXJlcXVlc3QgPSBremFsbG9jKHNpemVvZigqcmVxdWVzdCksIEdGUF9LRVJORUwpOworCWlmICghcmVxdWVzdCkgeworCQlyZXQgPSAtRU5PTUVNOworCQlnb3RvIG91dF9mcmVlOworCX0KKwlpbml0X2NvbXBsZXRpb24oJnJlcXVlc3QtPmNvbXBsZXRpb24pOworCWlmIChjb3B5X2Zyb21fdXNlcihjaHNjX2FyZWEsIHVzZXJfYXJlYSwgUEFHRV9TSVpFKSkgeworCQlyZXQgPSAtRUZBVUxUOworCQlnb3RvIG91dF9mcmVlOworCX0KKwljaHNjX2xvZ19jb21tYW5kKGNoc2NfYXJlYSk7CisJc3Bpbl9sb2NrX2lycSgmY2hzY19sb2NrKTsKKwlyZXQgPSBjaHNjX2FzeW5jKGNoc2NfYXJlYSwgcmVxdWVzdCk7CisJc3Bpbl91bmxvY2tfaXJxKCZjaHNjX2xvY2spOworCWlmIChyZXQgPT0gLUVJTlBST0dSRVNTKSB7CisJCXdhaXRfZm9yX2NvbXBsZXRpb24oJnJlcXVlc3QtPmNvbXBsZXRpb24pOworCQlyZXQgPSBjaHNjX2V4YW1pbmVfaXJiKHJlcXVlc3QpOworCX0KKwkvKiBjb3B5IGFyZWEgYmFjayB0byB1c2VyICovCisJaWYgKCFyZXQpCisJCWlmIChjb3B5X3RvX3VzZXIodXNlcl9hcmVhLCBjaHNjX2FyZWEsIFBBR0VfU0laRSkpCisJCQlyZXQgPSAtRUZBVUxUOworb3V0X2ZyZWU6CisJc3ByaW50ZihkYmYsICJyZXQ6JWQiLCByZXQpOworCUNIU0NfTE9HKDAsIGRiZik7CisJa2ZyZWUocmVxdWVzdCk7CisJZnJlZV9wYWdlKCh1bnNpZ25lZCBsb25nKWNoc2NfYXJlYSk7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBjaHNjX2lvY3RsX2luZm9fY2hhbm5lbF9wYXRoKHZvaWQgX191c2VyICp1c2VyX2NkKQoreworCXN0cnVjdCBjaHNjX2NocF9jZCAqY2Q7CisJaW50IHJldCwgY2NvZGU7CisJc3RydWN0IHsKKwkJc3RydWN0IGNoc2NfaGVhZGVyIHJlcXVlc3Q7CisJCXUzMiA6IDI7CisJCXUzMiBtIDogMTsKKwkJdTMyIDogMTsKKwkJdTMyIGZtdDEgOiA0OworCQl1MzIgY3NzaWQgOiA4OworCQl1MzIgOiA4OworCQl1MzIgZmlyc3RfY2hwaWQgOiA4OworCQl1MzIgOiAyNDsKKwkJdTMyIGxhc3RfY2hwaWQgOiA4OworCQl1MzIgOiAzMjsKKwkJc3RydWN0IGNoc2NfaGVhZGVyIHJlc3BvbnNlOworCQl1OCBkYXRhW1BBR0VfU0laRSAtIDIwXTsKKwl9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKSAqc2NwY2RfYXJlYTsKKworCXNjcGNkX2FyZWEgPSAodm9pZCAqKWdldF96ZXJvZWRfcGFnZShHRlBfS0VSTkVMIHwgR0ZQX0RNQSk7CisJaWYgKCFzY3BjZF9hcmVhKQorCQlyZXR1cm4gLUVOT01FTTsKKwljZCA9IGt6YWxsb2Moc2l6ZW9mKCpjZCksIEdGUF9LRVJORUwpOworCWlmICghY2QpIHsKKwkJcmV0ID0gLUVOT01FTTsKKwkJZ290byBvdXRfZnJlZTsKKwl9CisJaWYgKGNvcHlfZnJvbV91c2VyKGNkLCB1c2VyX2NkLCBzaXplb2YoKmNkKSkpIHsKKwkJcmV0ID0gLUVGQVVMVDsKKwkJZ290byBvdXRfZnJlZTsKKwl9CisJc2NwY2RfYXJlYS0+cmVxdWVzdC5sZW5ndGggPSAweDAwMTA7CisJc2NwY2RfYXJlYS0+cmVxdWVzdC5jb2RlID0gMHgwMDI4OworCXNjcGNkX2FyZWEtPm0gPSBjZC0+bTsKKwlzY3BjZF9hcmVhLT5mbXQxID0gY2QtPmZtdDsKKwlzY3BjZF9hcmVhLT5jc3NpZCA9IGNkLT5jaHBpZC5jc3NpZDsKKwlzY3BjZF9hcmVhLT5maXJzdF9jaHBpZCA9IGNkLT5jaHBpZC5pZDsKKwlzY3BjZF9hcmVhLT5sYXN0X2NocGlkID0gY2QtPmNocGlkLmlkOworCisJY2NvZGUgPSBjaHNjKHNjcGNkX2FyZWEpOworCWlmIChjY29kZSAhPSAwKSB7CisJCXJldCA9IC1FSU87CisJCWdvdG8gb3V0X2ZyZWU7CisJfQorCWlmIChzY3BjZF9hcmVhLT5yZXNwb25zZS5jb2RlICE9IDB4MDAwMSkgeworCQlyZXQgPSAtRUlPOworCQlDSFNDX01TRygwLCAic2NwY2Q6IHJlc3BvbnNlIGNvZGU9JXhcbiIsCisJCQkgc2NwY2RfYXJlYS0+cmVzcG9uc2UuY29kZSk7CisJCWdvdG8gb3V0X2ZyZWU7CisJfQorCW1lbWNweSgmY2QtPmNwY2IsICZzY3BjZF9hcmVhLT5yZXNwb25zZSwgc2NwY2RfYXJlYS0+cmVzcG9uc2UubGVuZ3RoKTsKKwlpZiAoY29weV90b191c2VyKHVzZXJfY2QsIGNkLCBzaXplb2YoKmNkKSkpCisJCXJldCA9IC1FRkFVTFQ7CisJZWxzZQorCQlyZXQgPSAwOworb3V0X2ZyZWU6CisJa2ZyZWUoY2QpOworCWZyZWVfcGFnZSgodW5zaWduZWQgbG9uZylzY3BjZF9hcmVhKTsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IGNoc2NfaW9jdGxfaW5mb19jdSh2b2lkIF9fdXNlciAqdXNlcl9jZCkKK3sKKwlzdHJ1Y3QgY2hzY19jdV9jZCAqY2Q7CisJaW50IHJldCwgY2NvZGU7CisJc3RydWN0IHsKKwkJc3RydWN0IGNoc2NfaGVhZGVyIHJlcXVlc3Q7CisJCXUzMiA6IDI7CisJCXUzMiBtIDogMTsKKwkJdTMyIDogMTsKKwkJdTMyIGZtdDEgOiA0OworCQl1MzIgY3NzaWQgOiA4OworCQl1MzIgOiA4OworCQl1MzIgZmlyc3RfY3VuIDogODsKKwkJdTMyIDogMjQ7CisJCXUzMiBsYXN0X2N1biA6IDg7CisJCXUzMiA6IDMyOworCQlzdHJ1Y3QgY2hzY19oZWFkZXIgcmVzcG9uc2U7CisJCXU4IGRhdGFbUEFHRV9TSVpFIC0gMjBdOworCX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpICpzY3VjZF9hcmVhOworCisJc2N1Y2RfYXJlYSA9ICh2b2lkICopZ2V0X3plcm9lZF9wYWdlKEdGUF9LRVJORUwgfCBHRlBfRE1BKTsKKwlpZiAoIXNjdWNkX2FyZWEpCisJCXJldHVybiAtRU5PTUVNOworCWNkID0ga3phbGxvYyhzaXplb2YoKmNkKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFjZCkgeworCQlyZXQgPSAtRU5PTUVNOworCQlnb3RvIG91dF9mcmVlOworCX0KKwlpZiAoY29weV9mcm9tX3VzZXIoY2QsIHVzZXJfY2QsIHNpemVvZigqY2QpKSkgeworCQlyZXQgPSAtRUZBVUxUOworCQlnb3RvIG91dF9mcmVlOworCX0KKwlzY3VjZF9hcmVhLT5yZXF1ZXN0Lmxlbmd0aCA9IDB4MDAxMDsKKwlzY3VjZF9hcmVhLT5yZXF1ZXN0LmNvZGUgPSAweDAwMjg7CisJc2N1Y2RfYXJlYS0+bSA9IGNkLT5tOworCXNjdWNkX2FyZWEtPmZtdDEgPSBjZC0+Zm10OworCXNjdWNkX2FyZWEtPmNzc2lkID0gY2QtPmNzc2lkOworCXNjdWNkX2FyZWEtPmZpcnN0X2N1biA9IGNkLT5jdW47CisJc2N1Y2RfYXJlYS0+bGFzdF9jdW4gPSBjZC0+Y3VuOworCisJY2NvZGUgPSBjaHNjKHNjdWNkX2FyZWEpOworCWlmIChjY29kZSAhPSAwKSB7CisJCXJldCA9IC1FSU87CisJCWdvdG8gb3V0X2ZyZWU7CisJfQorCWlmIChzY3VjZF9hcmVhLT5yZXNwb25zZS5jb2RlICE9IDB4MDAwMSkgeworCQlyZXQgPSAtRUlPOworCQlDSFNDX01TRygwLCAic2N1Y2Q6IHJlc3BvbnNlIGNvZGU9JXhcbiIsCisJCQkgc2N1Y2RfYXJlYS0+cmVzcG9uc2UuY29kZSk7CisJCWdvdG8gb3V0X2ZyZWU7CisJfQorCW1lbWNweSgmY2QtPmN1Y2IsICZzY3VjZF9hcmVhLT5yZXNwb25zZSwgc2N1Y2RfYXJlYS0+cmVzcG9uc2UubGVuZ3RoKTsKKwlpZiAoY29weV90b191c2VyKHVzZXJfY2QsIGNkLCBzaXplb2YoKmNkKSkpCisJCXJldCA9IC1FRkFVTFQ7CisJZWxzZQorCQlyZXQgPSAwOworb3V0X2ZyZWU6CisJa2ZyZWUoY2QpOworCWZyZWVfcGFnZSgodW5zaWduZWQgbG9uZylzY3VjZF9hcmVhKTsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IGNoc2NfaW9jdGxfaW5mb19zY2hfY3Uodm9pZCBfX3VzZXIgKnVzZXJfY3VkKQoreworCXN0cnVjdCBjaHNjX3NjaF9jdWQgKmN1ZDsKKwlpbnQgcmV0LCBjY29kZTsKKwlzdHJ1Y3QgeworCQlzdHJ1Y3QgY2hzY19oZWFkZXIgcmVxdWVzdDsKKwkJdTMyIDogMjsKKwkJdTMyIG0gOiAxOworCQl1MzIgOiA1OworCQl1MzIgZm10MSA6IDQ7CisJCXUzMiA6IDI7CisJCXUzMiBzc2lkIDogMjsKKwkJdTMyIGZpcnN0X3NjaCA6IDE2OworCQl1MzIgOiA4OworCQl1MzIgY3NzaWQgOiA4OworCQl1MzIgbGFzdF9zY2ggOiAxNjsKKwkJdTMyIDogMzI7CisJCXN0cnVjdCBjaHNjX2hlYWRlciByZXNwb25zZTsKKwkJdTggZGF0YVtQQUdFX1NJWkUgLSAyMF07CisJfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSkgKnNzY3VkX2FyZWE7CisKKwlzc2N1ZF9hcmVhID0gKHZvaWQgKilnZXRfemVyb2VkX3BhZ2UoR0ZQX0tFUk5FTCB8IEdGUF9ETUEpOworCWlmICghc3NjdWRfYXJlYSkKKwkJcmV0dXJuIC1FTk9NRU07CisJY3VkID0ga3phbGxvYyhzaXplb2YoKmN1ZCksIEdGUF9LRVJORUwpOworCWlmICghY3VkKSB7CisJCXJldCA9IC1FTk9NRU07CisJCWdvdG8gb3V0X2ZyZWU7CisJfQorCWlmIChjb3B5X2Zyb21fdXNlcihjdWQsIHVzZXJfY3VkLCBzaXplb2YoKmN1ZCkpKSB7CisJCXJldCA9IC1FRkFVTFQ7CisJCWdvdG8gb3V0X2ZyZWU7CisJfQorCXNzY3VkX2FyZWEtPnJlcXVlc3QubGVuZ3RoID0gMHgwMDEwOworCXNzY3VkX2FyZWEtPnJlcXVlc3QuY29kZSA9IDB4MDAwNjsKKwlzc2N1ZF9hcmVhLT5tID0gY3VkLT5zY2hpZC5tOworCXNzY3VkX2FyZWEtPmZtdDEgPSBjdWQtPmZtdDsKKwlzc2N1ZF9hcmVhLT5zc2lkID0gY3VkLT5zY2hpZC5zc2lkOworCXNzY3VkX2FyZWEtPmZpcnN0X3NjaCA9IGN1ZC0+c2NoaWQuc2NoX25vOworCXNzY3VkX2FyZWEtPmNzc2lkID0gY3VkLT5zY2hpZC5jc3NpZDsKKwlzc2N1ZF9hcmVhLT5sYXN0X3NjaCA9IGN1ZC0+c2NoaWQuc2NoX25vOworCisJY2NvZGUgPSBjaHNjKHNzY3VkX2FyZWEpOworCWlmIChjY29kZSAhPSAwKSB7CisJCXJldCA9IC1FSU87CisJCWdvdG8gb3V0X2ZyZWU7CisJfQorCWlmIChzc2N1ZF9hcmVhLT5yZXNwb25zZS5jb2RlICE9IDB4MDAwMSkgeworCQlyZXQgPSAtRUlPOworCQlDSFNDX01TRygwLCAic3NjdWQ6IHJlc3BvbnNlIGNvZGU9JXhcbiIsCisJCQkgc3NjdWRfYXJlYS0+cmVzcG9uc2UuY29kZSk7CisJCWdvdG8gb3V0X2ZyZWU7CisJfQorCW1lbWNweSgmY3VkLT5zY3ViLCAmc3NjdWRfYXJlYS0+cmVzcG9uc2UsIHNzY3VkX2FyZWEtPnJlc3BvbnNlLmxlbmd0aCk7CisJaWYgKGNvcHlfdG9fdXNlcih1c2VyX2N1ZCwgY3VkLCBzaXplb2YoKmN1ZCkpKQorCQlyZXQgPSAtRUZBVUxUOworCWVsc2UKKwkJcmV0ID0gMDsKK291dF9mcmVlOgorCWtmcmVlKGN1ZCk7CisJZnJlZV9wYWdlKCh1bnNpZ25lZCBsb25nKXNzY3VkX2FyZWEpOworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgY2hzY19pb2N0bF9jb25mX2luZm8odm9pZCBfX3VzZXIgKnVzZXJfY2kpCit7CisJc3RydWN0IGNoc2NfY29uZl9pbmZvICpjaTsKKwlpbnQgcmV0LCBjY29kZTsKKwlzdHJ1Y3QgeworCQlzdHJ1Y3QgY2hzY19oZWFkZXIgcmVxdWVzdDsKKwkJdTMyIDogMjsKKwkJdTMyIG0gOiAxOworCQl1MzIgOiAxOworCQl1MzIgZm10MSA6IDQ7CisJCXUzMiBjc3NpZCA6IDg7CisJCXUzMiA6IDY7CisJCXUzMiBzc2lkIDogMjsKKwkJdTMyIDogODsKKwkJdTY0IDogNjQ7CisJCXN0cnVjdCBjaHNjX2hlYWRlciByZXNwb25zZTsKKwkJdTggZGF0YVtQQUdFX1NJWkUgLSAyMF07CisJfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSkgKnNjaV9hcmVhOworCisJc2NpX2FyZWEgPSAodm9pZCAqKWdldF96ZXJvZWRfcGFnZShHRlBfS0VSTkVMIHwgR0ZQX0RNQSk7CisJaWYgKCFzY2lfYXJlYSkKKwkJcmV0dXJuIC1FTk9NRU07CisJY2kgPSBremFsbG9jKHNpemVvZigqY2kpLCBHRlBfS0VSTkVMKTsKKwlpZiAoIWNpKSB7CisJCXJldCA9IC1FTk9NRU07CisJCWdvdG8gb3V0X2ZyZWU7CisJfQorCWlmIChjb3B5X2Zyb21fdXNlcihjaSwgdXNlcl9jaSwgc2l6ZW9mKCpjaSkpKSB7CisJCXJldCA9IC1FRkFVTFQ7CisJCWdvdG8gb3V0X2ZyZWU7CisJfQorCXNjaV9hcmVhLT5yZXF1ZXN0Lmxlbmd0aCA9IDB4MDAxMDsKKwlzY2lfYXJlYS0+cmVxdWVzdC5jb2RlID0gMHgwMDEyOworCXNjaV9hcmVhLT5tID0gY2ktPmlkLm07CisJc2NpX2FyZWEtPmZtdDEgPSBjaS0+Zm10OworCXNjaV9hcmVhLT5jc3NpZCA9IGNpLT5pZC5jc3NpZDsKKwlzY2lfYXJlYS0+c3NpZCA9IGNpLT5pZC5zc2lkOworCisJY2NvZGUgPSBjaHNjKHNjaV9hcmVhKTsKKwlpZiAoY2NvZGUgIT0gMCkgeworCQlyZXQgPSAtRUlPOworCQlnb3RvIG91dF9mcmVlOworCX0KKwlpZiAoc2NpX2FyZWEtPnJlc3BvbnNlLmNvZGUgIT0gMHgwMDAxKSB7CisJCXJldCA9IC1FSU87CisJCUNIU0NfTVNHKDAsICJzY2k6IHJlc3BvbnNlIGNvZGU9JXhcbiIsCisJCQkgc2NpX2FyZWEtPnJlc3BvbnNlLmNvZGUpOworCQlnb3RvIG91dF9mcmVlOworCX0KKwltZW1jcHkoJmNpLT5zY2lkLCAmc2NpX2FyZWEtPnJlc3BvbnNlLCBzY2lfYXJlYS0+cmVzcG9uc2UubGVuZ3RoKTsKKwlpZiAoY29weV90b191c2VyKHVzZXJfY2ksIGNpLCBzaXplb2YoKmNpKSkpCisJCXJldCA9IC1FRkFVTFQ7CisJZWxzZQorCQlyZXQgPSAwOworb3V0X2ZyZWU6CisJa2ZyZWUoY2kpOworCWZyZWVfcGFnZSgodW5zaWduZWQgbG9uZylzY2lfYXJlYSk7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBjaHNjX2lvY3RsX2NvbmZfY29tcF9saXN0KHZvaWQgX191c2VyICp1c2VyX2NjbCkKK3sKKwlzdHJ1Y3QgY2hzY19jb21wX2xpc3QgKmNjbDsKKwlpbnQgcmV0LCBjY29kZTsKKwlzdHJ1Y3QgeworCQlzdHJ1Y3QgY2hzY19oZWFkZXIgcmVxdWVzdDsKKwkJdTMyIGN0eXBlIDogODsKKwkJdTMyIDogNDsKKwkJdTMyIGZtdCA6IDQ7CisJCXUzMiA6IDE2OworCQl1NjQgOiA2NDsKKwkJdTMyIGxpc3RfcGFybVsyXTsKKwkJdTY0IDogNjQ7CisJCXN0cnVjdCBjaHNjX2hlYWRlciByZXNwb25zZTsKKwkJdTggZGF0YVtQQUdFX1NJWkUgLSAzNl07CisJfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSkgKnNjY2xfYXJlYTsKKwlzdHJ1Y3QgeworCQl1MzIgbSA6IDE7CisJCXUzMiA6IDMxOworCQl1MzIgY3NzaWQgOiA4OworCQl1MzIgOiAxNjsKKwkJdTMyIGNocGlkIDogODsKKwl9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKSAqY2hwaWRfcGFybTsKKwlzdHJ1Y3QgeworCQl1MzIgZl9jc3NpZCA6IDg7CisJCXUzMiBsX2Nzc2lkIDogODsKKwkJdTMyIDogMTY7CisJCXUzMiByZXM7CisJfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSkgKmNzc2lkc19wYXJtOworCisJc2NjbF9hcmVhID0gKHZvaWQgKilnZXRfemVyb2VkX3BhZ2UoR0ZQX0tFUk5FTCB8IEdGUF9ETUEpOworCWlmICghc2NjbF9hcmVhKQorCQlyZXR1cm4gLUVOT01FTTsKKwljY2wgPSBremFsbG9jKHNpemVvZigqY2NsKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFjY2wpIHsKKwkJcmV0ID0gLUVOT01FTTsKKwkJZ290byBvdXRfZnJlZTsKKwl9CisJaWYgKGNvcHlfZnJvbV91c2VyKGNjbCwgdXNlcl9jY2wsIHNpemVvZigqY2NsKSkpIHsKKwkJcmV0ID0gLUVGQVVMVDsKKwkJZ290byBvdXRfZnJlZTsKKwl9CisJc2NjbF9hcmVhLT5yZXF1ZXN0Lmxlbmd0aCA9IDB4MDAyMDsKKwlzY2NsX2FyZWEtPnJlcXVlc3QuY29kZSA9IDB4MDAzMDsKKwlzY2NsX2FyZWEtPmZtdCA9IGNjbC0+cmVxLmZtdDsKKwlzY2NsX2FyZWEtPmN0eXBlID0gY2NsLT5yZXEuY3R5cGU7CisJc3dpdGNoIChzY2NsX2FyZWEtPmN0eXBlKSB7CisJY2FzZSBDQ0xfQ1VfT05fQ0hQOgorCWNhc2UgQ0NMX0lPUF9DSFA6CisJCWNocGlkX3Bhcm0gPSAodm9pZCAqKSZzY2NsX2FyZWEtPmxpc3RfcGFybTsKKwkJY2hwaWRfcGFybS0+bSA9IGNjbC0+cmVxLmNocGlkLm07CisJCWNocGlkX3Bhcm0tPmNzc2lkID0gY2NsLT5yZXEuY2hwaWQuY2hwLmNzc2lkOworCQljaHBpZF9wYXJtLT5jaHBpZCA9IGNjbC0+cmVxLmNocGlkLmNocC5pZDsKKwkJYnJlYWs7CisJY2FzZSBDQ0xfQ1NTX0lNRzoKKwljYXNlIENDTF9DU1NfSU1HX0NPTkZfQ0hBUjoKKwkJY3NzaWRzX3Bhcm0gPSAodm9pZCAqKSZzY2NsX2FyZWEtPmxpc3RfcGFybTsKKwkJY3NzaWRzX3Bhcm0tPmZfY3NzaWQgPSBjY2wtPnJlcS5jc3NpZHMuZl9jc3NpZDsKKwkJY3NzaWRzX3Bhcm0tPmxfY3NzaWQgPSBjY2wtPnJlcS5jc3NpZHMubF9jc3NpZDsKKwkJYnJlYWs7CisJfQorCWNjb2RlID0gY2hzYyhzY2NsX2FyZWEpOworCWlmIChjY29kZSAhPSAwKSB7CisJCXJldCA9IC1FSU87CisJCWdvdG8gb3V0X2ZyZWU7CisJfQorCWlmIChzY2NsX2FyZWEtPnJlc3BvbnNlLmNvZGUgIT0gMHgwMDAxKSB7CisJCXJldCA9IC1FSU87CisJCUNIU0NfTVNHKDAsICJzY2NsOiByZXNwb25zZSBjb2RlPSV4XG4iLAorCQkJIHNjY2xfYXJlYS0+cmVzcG9uc2UuY29kZSk7CisJCWdvdG8gb3V0X2ZyZWU7CisJfQorCW1lbWNweSgmY2NsLT5zY2NsLCAmc2NjbF9hcmVhLT5yZXNwb25zZSwgc2NjbF9hcmVhLT5yZXNwb25zZS5sZW5ndGgpOworCWlmIChjb3B5X3RvX3VzZXIodXNlcl9jY2wsIGNjbCwgc2l6ZW9mKCpjY2wpKSkKKwkJcmV0ID0gLUVGQVVMVDsKKwllbHNlCisJCXJldCA9IDA7CitvdXRfZnJlZToKKwlrZnJlZShjY2wpOworCWZyZWVfcGFnZSgodW5zaWduZWQgbG9uZylzY2NsX2FyZWEpOworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgY2hzY19pb2N0bF9jaHBkKHZvaWQgX191c2VyICp1c2VyX2NocGQpCit7CisJc3RydWN0IGNoc2NfY3BkX2luZm8gKmNocGQ7CisJaW50IHJldDsKKworCWNocGQgPSBremFsbG9jKHNpemVvZigqY2hwZCksIEdGUF9LRVJORUwpOworCWlmICghY2hwZCkKKwkJcmV0dXJuIC1FTk9NRU07CisJaWYgKGNvcHlfZnJvbV91c2VyKGNocGQsIHVzZXJfY2hwZCwgc2l6ZW9mKCpjaHBkKSkpIHsKKwkJcmV0ID0gLUVGQVVMVDsKKwkJZ290byBvdXRfZnJlZTsKKwl9CisJcmV0ID0gY2hzY19kZXRlcm1pbmVfY2hhbm5lbF9wYXRoX2Rlc2MoY2hwZC0+Y2hwaWQsIGNocGQtPmZtdCwKKwkJCQkJICAgICAgIGNocGQtPnJmbXQsIGNocGQtPmMsIGNocGQtPm0sCisJCQkJCSAgICAgICAmY2hwZC0+Y2hwZGIpOworCWlmIChyZXQpCisJCWdvdG8gb3V0X2ZyZWU7CisJaWYgKGNvcHlfdG9fdXNlcih1c2VyX2NocGQsIGNocGQsIHNpemVvZigqY2hwZCkpKQorCQlyZXQgPSAtRUZBVUxUOworb3V0X2ZyZWU6CisJa2ZyZWUoY2hwZCk7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBjaHNjX2lvY3RsX2RjYWwodm9pZCBfX3VzZXIgKnVzZXJfZGNhbCkKK3sKKwlzdHJ1Y3QgY2hzY19kY2FsICpkY2FsOworCWludCByZXQsIGNjb2RlOworCXN0cnVjdCB7CisJCXN0cnVjdCBjaHNjX2hlYWRlciByZXF1ZXN0OworCQl1MzIgYXR5cGUgOiA4OworCQl1MzIgOiA0OworCQl1MzIgZm10IDogNDsKKwkJdTMyIDogMTY7CisJCXUzMiByZXMwWzJdOworCQl1MzIgbGlzdF9wYXJtWzJdOworCQl1MzIgcmVzMVsyXTsKKwkJc3RydWN0IGNoc2NfaGVhZGVyIHJlc3BvbnNlOworCQl1OCBkYXRhW1BBR0VfU0laRSAtIDM2XTsKKwl9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKSAqc2RjYWxfYXJlYTsKKworCXNkY2FsX2FyZWEgPSAodm9pZCAqKWdldF96ZXJvZWRfcGFnZShHRlBfS0VSTkVMIHwgR0ZQX0RNQSk7CisJaWYgKCFzZGNhbF9hcmVhKQorCQlyZXR1cm4gLUVOT01FTTsKKwlkY2FsID0ga3phbGxvYyhzaXplb2YoKmRjYWwpLCBHRlBfS0VSTkVMKTsKKwlpZiAoIWRjYWwpIHsKKwkJcmV0ID0gLUVOT01FTTsKKwkJZ290byBvdXRfZnJlZTsKKwl9CisJaWYgKGNvcHlfZnJvbV91c2VyKGRjYWwsIHVzZXJfZGNhbCwgc2l6ZW9mKCpkY2FsKSkpIHsKKwkJcmV0ID0gLUVGQVVMVDsKKwkJZ290byBvdXRfZnJlZTsKKwl9CisJc2RjYWxfYXJlYS0+cmVxdWVzdC5sZW5ndGggPSAweDAwMjA7CisJc2RjYWxfYXJlYS0+cmVxdWVzdC5jb2RlID0gMHgwMDM0OworCXNkY2FsX2FyZWEtPmF0eXBlID0gZGNhbC0+cmVxLmF0eXBlOworCXNkY2FsX2FyZWEtPmZtdCA9IGRjYWwtPnJlcS5mbXQ7CisJbWVtY3B5KCZzZGNhbF9hcmVhLT5saXN0X3Bhcm0sICZkY2FsLT5yZXEubGlzdF9wYXJtLAorCSAgICAgICBzaXplb2Yoc2RjYWxfYXJlYS0+bGlzdF9wYXJtKSk7CisKKwljY29kZSA9IGNoc2Moc2RjYWxfYXJlYSk7CisJaWYgKGNjb2RlICE9IDApIHsKKwkJcmV0ID0gLUVJTzsKKwkJZ290byBvdXRfZnJlZTsKKwl9CisJaWYgKHNkY2FsX2FyZWEtPnJlc3BvbnNlLmNvZGUgIT0gMHgwMDAxKSB7CisJCXJldCA9IC1FSU87CisJCUNIU0NfTVNHKDAsICJzZGNhbDogcmVzcG9uc2UgY29kZT0leFxuIiwKKwkJCSBzZGNhbF9hcmVhLT5yZXNwb25zZS5jb2RlKTsKKwkJZ290byBvdXRfZnJlZTsKKwl9CisJbWVtY3B5KCZkY2FsLT5zZGNhbCwgJnNkY2FsX2FyZWEtPnJlc3BvbnNlLAorCSAgICAgICBzZGNhbF9hcmVhLT5yZXNwb25zZS5sZW5ndGgpOworCWlmIChjb3B5X3RvX3VzZXIodXNlcl9kY2FsLCBkY2FsLCBzaXplb2YoKmRjYWwpKSkKKwkJcmV0ID0gLUVGQVVMVDsKKwllbHNlCisJCXJldCA9IDA7CitvdXRfZnJlZToKKwlrZnJlZShkY2FsKTsKKwlmcmVlX3BhZ2UoKHVuc2lnbmVkIGxvbmcpc2RjYWxfYXJlYSk7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGxvbmcgY2hzY19pb2N0bChzdHJ1Y3QgZmlsZSAqZmlscCwgdW5zaWduZWQgaW50IGNtZCwKKwkJICAgICAgIHVuc2lnbmVkIGxvbmcgYXJnKQoreworCUNIU0NfTVNHKDIsICJjaHNjX2lvY3RsIGNhbGxlZCwgY21kPSV4XG4iLCBjbWQpOworCXN3aXRjaCAoY21kKSB7CisJY2FzZSBDSFNDX1NUQVJUOgorCQlyZXR1cm4gY2hzY19pb2N0bF9zdGFydCgodm9pZCBfX3VzZXIgKilhcmcpOworCWNhc2UgQ0hTQ19JTkZPX0NIQU5ORUxfUEFUSDoKKwkJcmV0dXJuIGNoc2NfaW9jdGxfaW5mb19jaGFubmVsX3BhdGgoKHZvaWQgX191c2VyICopYXJnKTsKKwljYXNlIENIU0NfSU5GT19DVToKKwkJcmV0dXJuIGNoc2NfaW9jdGxfaW5mb19jdSgodm9pZCBfX3VzZXIgKilhcmcpOworCWNhc2UgQ0hTQ19JTkZPX1NDSF9DVToKKwkJcmV0dXJuIGNoc2NfaW9jdGxfaW5mb19zY2hfY3UoKHZvaWQgX191c2VyICopYXJnKTsKKwljYXNlIENIU0NfSU5GT19DSToKKwkJcmV0dXJuIGNoc2NfaW9jdGxfY29uZl9pbmZvKCh2b2lkIF9fdXNlciAqKWFyZyk7CisJY2FzZSBDSFNDX0lORk9fQ0NMOgorCQlyZXR1cm4gY2hzY19pb2N0bF9jb25mX2NvbXBfbGlzdCgodm9pZCBfX3VzZXIgKilhcmcpOworCWNhc2UgQ0hTQ19JTkZPX0NQRDoKKwkJcmV0dXJuIGNoc2NfaW9jdGxfY2hwZCgodm9pZCBfX3VzZXIgKilhcmcpOworCWNhc2UgQ0hTQ19JTkZPX0RDQUw6CisJCXJldHVybiBjaHNjX2lvY3RsX2RjYWwoKHZvaWQgX191c2VyICopYXJnKTsKKwlkZWZhdWx0OiAvKiB1bmtub3duIGlvY3RsIG51bWJlciAqLworCQlyZXR1cm4gLUVOT0lPQ1RMQ01EOworCX0KK30KKworc3RhdGljIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgY2hzY19mb3BzID0geworCS5vd25lciA9IFRISVNfTU9EVUxFLAorCS51bmxvY2tlZF9pb2N0bCA9IGNoc2NfaW9jdGwsCisJLmNvbXBhdF9pb2N0bCA9IGNoc2NfaW9jdGwsCit9OworCitzdGF0aWMgc3RydWN0IG1pc2NkZXZpY2UgY2hzY19taXNjX2RldmljZSA9IHsKKwkubWlub3IgPSBNSVNDX0RZTkFNSUNfTUlOT1IsCisJLm5hbWUgPSAiY2hzYyIsCisJLmZvcHMgPSAmY2hzY19mb3BzLAorfTsKKworc3RhdGljIGludCBfX2luaXQgY2hzY19taXNjX2luaXQodm9pZCkKK3sKKwlyZXR1cm4gbWlzY19yZWdpc3RlcigmY2hzY19taXNjX2RldmljZSk7Cit9CisKK3N0YXRpYyB2b2lkIGNoc2NfbWlzY19jbGVhbnVwKHZvaWQpCit7CisJbWlzY19kZXJlZ2lzdGVyKCZjaHNjX21pc2NfZGV2aWNlKTsKK30KKworc3RhdGljIGludCBfX2luaXQgY2hzY19zY2hfaW5pdCh2b2lkKQoreworCWludCByZXQ7CisKKwlyZXQgPSBjaHNjX2luaXRfZGJmcygpOworCWlmIChyZXQpCisJCXJldHVybiByZXQ7CisJaXNjX3JlZ2lzdGVyKENIU0NfU0NIX0lTQyk7CisJcmV0ID0gY2hzY19pbml0X3NjaF9kcml2ZXIoKTsKKwlpZiAocmV0KQorCQlnb3RvIG91dF9kYmY7CisJcmV0ID0gY2hzY19taXNjX2luaXQoKTsKKwlpZiAocmV0KQorCQlnb3RvIG91dF9kcml2ZXI7CisJcmV0dXJuIHJldDsKK291dF9kcml2ZXI6CisJY2hzY19jbGVhbnVwX3NjaF9kcml2ZXIoKTsKK291dF9kYmY6CisJaXNjX3VucmVnaXN0ZXIoQ0hTQ19TQ0hfSVNDKTsKKwljaHNjX3JlbW92ZV9kYmZzKCk7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIHZvaWQgX19leGl0IGNoc2Nfc2NoX2V4aXQodm9pZCkKK3sKKwljaHNjX21pc2NfY2xlYW51cCgpOworCWNoc2NfY2xlYW51cF9zY2hfZHJpdmVyKCk7CisJaXNjX3VucmVnaXN0ZXIoQ0hTQ19TQ0hfSVNDKTsKKwljaHNjX3JlbW92ZV9kYmZzKCk7Cit9CisKK21vZHVsZV9pbml0KGNoc2Nfc2NoX2luaXQpOworbW9kdWxlX2V4aXQoY2hzY19zY2hfZXhpdCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2lvL2Noc2Nfc2NoLmggYi9kcml2ZXJzL3MzOTAvY2lvL2Noc2Nfc2NoLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTg5ZWJmYQotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvczM5MC9jaW8vY2hzY19zY2guaApAQCAtMCwwICsxLDEzIEBACisjaWZuZGVmIF9DSFNDX1NDSF9ICisjZGVmaW5lIF9DSFNDX1NDSF9ICisKK3N0cnVjdCBjaHNjX3JlcXVlc3QgeworCXN0cnVjdCBjb21wbGV0aW9uIGNvbXBsZXRpb247CisJc3RydWN0IGlyYiBpcmI7Cit9OworCitzdHJ1Y3QgY2hzY19wcml2YXRlIHsKKwlzdHJ1Y3QgY2hzY19yZXF1ZXN0ICpyZXF1ZXN0OworfTsKKworI2VuZGlmCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2lvL2Npby5jIGIvZHJpdmVycy9zMzkwL2Npby9jaW8uYwppbmRleCBiMzJkN2ViLi4zM2JmZjhmIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2lvL2Npby5jCisrKyBiL2RyaXZlcnMvczM5MC9jaW8vY2lvLmMKQEAgLTIsNyArMiw3IEBACiAgKiAgZHJpdmVycy9zMzkwL2Npby9jaW8uYwogICogICBTLzM5MCBjb21tb24gSS9PIHJvdXRpbmVzIC0tIGxvdyBsZXZlbCBpL28gY2FsbHMKICAqCi0gKiAgICBDb3B5cmlnaHQgKEMpIElCTSBDb3JwLiAxOTk5LDIwMDYKKyAqICAgIENvcHlyaWdodCBJQk0gQ29ycC4gMTk5OSwyMDA4CiAgKiAgICBBdXRob3Iocyk6IEluZ28gQWRsdW5nIChhZGx1bmdAZGUuaWJtLmNvbSkKICAqCQkgQ29ybmVsaWEgSHVjayAoY29ybmVsaWEuaHVja0BkZS5pYm0uY29tKQogICoJCSBBcm5kIEJlcmdtYW5uIChhcm5kYkBkZS5pYm0uY29tKQpAQCAtMjQsNyArMjQsOSBAQAogI2luY2x1ZGUgPGFzbS9pcGwuaD4KICNpbmNsdWRlIDxhc20vY2hwaWQuaD4KICNpbmNsdWRlIDxhc20vYWlycS5oPgorI2luY2x1ZGUgPGFzbS9pc2MuaD4KICNpbmNsdWRlIDxhc20vY3B1Lmg+CisjaW5jbHVkZSA8YXNtL2ZjeC5oPgogI2luY2x1ZGUgImNpby5oIgogI2luY2x1ZGUgImNzcy5oIgogI2luY2x1ZGUgImNoc2MuaCIKQEAgLTcyLDcgKzc0LDYgQEAKIAkJZGVidWdfdW5yZWdpc3RlcihjaW9fZGVidWdfdHJhY2VfaWQpOwogCWlmIChjaW9fZGVidWdfY3J3X2lkKQogCQlkZWJ1Z191bnJlZ2lzdGVyKGNpb19kZWJ1Z19jcndfaWQpOwotCXByaW50ayhLRVJOX1dBUk5JTkciY2lvOiBjb3VsZCBub3QgaW5pdGlhbGl6ZSBkZWJ1Z2dpbmdcbiIpOwogCXJldHVybiAtMTsKIH0KIApAQCAtMTI4LDcgKzEyOSw3IEBACiAJbG9jYWxfYmhfZGlzYWJsZSgpOwogCWlycV9lbnRlciAoKTsKIAlzcGluX2xvY2soc2NoLT5sb2NrKTsKLQltZW1jcHkgKCZzY2gtPnNjaGliLnNjc3csICZpcmItPnNjc3csIHNpemVvZiAoc3RydWN0IHNjc3cpKTsKKwltZW1jcHkoJnNjaC0+c2NoaWIuc2NzdywgJmlyYi0+c2Nzdywgc2l6ZW9mKHVuaW9uIHNjc3cpKTsKIAlpZiAoc2NoLT5kcml2ZXIgJiYgc2NoLT5kcml2ZXItPmlycSkKIAkJc2NoLT5kcml2ZXItPmlycShzY2gpOwogCXNwaW5fdW5sb2NrKHNjaC0+bG9jayk7CkBAIC0xNjcsMzAgKzE2OCwzMCBAQAogewogCWNoYXIgZGJmX3R4dFsxNV07CiAJaW50IGNjb2RlOwotCXN0cnVjdCBvcmIgKm9yYjsKKwl1bmlvbiBvcmIgKm9yYjsKIAogCUNJT19UUkFDRV9FVkVOVCg0LCAic3RJTyIpOwogCUNJT19UUkFDRV9FVkVOVCg0LCBzY2gtPmRldi5idXNfaWQpOwogCiAJb3JiID0gJnRvX2lvX3ByaXZhdGUoc2NoKS0+b3JiOwogCS8qIHNjaCBpcyBhbHdheXMgdW5kZXIgMkcuICovCi0Jb3JiLT5pbnRwYXJtID0gKHUzMikoYWRkcl90KXNjaDsKLQlvcmItPmZtdCA9IDE7CisJb3JiLT5jbWQuaW50cGFybSA9ICh1MzIpKGFkZHJfdClzY2g7CisJb3JiLT5jbWQuZm10ID0gMTsKIAotCW9yYi0+cGZjaCA9IHNjaC0+b3B0aW9ucy5wcmVmZXRjaCA9PSAwOwotCW9yYi0+c3BuZCA9IHNjaC0+b3B0aW9ucy5zdXNwZW5kOwotCW9yYi0+c3NpYyA9IHNjaC0+b3B0aW9ucy5zdXNwZW5kICYmIHNjaC0+b3B0aW9ucy5pbnRlcjsKLQlvcmItPmxwbSA9IChscG0gIT0gMCkgPyBscG0gOiBzY2gtPmxwbTsKKwlvcmItPmNtZC5wZmNoID0gc2NoLT5vcHRpb25zLnByZWZldGNoID09IDA7CisJb3JiLT5jbWQuc3BuZCA9IHNjaC0+b3B0aW9ucy5zdXNwZW5kOworCW9yYi0+Y21kLnNzaWMgPSBzY2gtPm9wdGlvbnMuc3VzcGVuZCAmJiBzY2gtPm9wdGlvbnMuaW50ZXI7CisJb3JiLT5jbWQubHBtID0gKGxwbSAhPSAwKSA/IGxwbSA6IHNjaC0+bHBtOwogI2lmZGVmIENPTkZJR182NEJJVAogCS8qCiAJICogZm9yIDY0IGJpdCB3ZSBhbHdheXMgc3VwcG9ydCA2NCBiaXQgSURBV3Mgd2l0aCA0ayBwYWdlIHNpemUgb25seQogCSAqLwotCW9yYi0+YzY0ID0gMTsKLQlvcmItPmkyayA9IDA7CisJb3JiLT5jbWQuYzY0ID0gMTsKKwlvcmItPmNtZC5pMmsgPSAwOwogI2VuZGlmCi0Jb3JiLT5rZXkgPSBrZXkgPj4gNDsKKwlvcmItPmNtZC5rZXkgPSBrZXkgPj4gNDsKIAkvKiBpc3N1ZSAiU3RhcnQgU3ViY2hhbm5lbCIgKi8KLQlvcmItPmNwYSA9IChfX3UzMikgX19wYShjcGEpOworCW9yYi0+Y21kLmNwYSA9IChfX3UzMikgX19wYShjcGEpOwogCWNjb2RlID0gc3NjaChzY2gtPnNjaGlkLCBvcmIpOwogCiAJLyogcHJvY2VzcyBjb25kaXRpb24gY29kZSAqLwpAQCAtMjAyLDcgKzIwMyw3IEBACiAJCS8qCiAJCSAqIGluaXRpYWxpemUgZGV2aWNlIHN0YXR1cyBpbmZvcm1hdGlvbgogCQkgKi8KLQkJc2NoLT5zY2hpYi5zY3N3LmFjdGwgfD0gU0NTV19BQ1RMX1NUQVJUX1BFTkQ7CisJCXNjaC0+c2NoaWIuc2Nzdy5jbWQuYWN0bCB8PSBTQ1NXX0FDVExfU1RBUlRfUEVORDsKIAkJcmV0dXJuIDA7CiAJY2FzZSAxOgkJLyogc3RhdHVzIHBlbmRpbmcgKi8KIAljYXNlIDI6CQkvKiBidXN5ICovCkBAIC0yMzcsNyArMjM4LDcgQEAKIAogCXN3aXRjaCAoY2NvZGUpIHsKIAljYXNlIDA6Ci0JCXNjaC0+c2NoaWIuc2Nzdy5hY3RsIHw9IFNDU1dfQUNUTF9SRVNVTUVfUEVORDsKKwkJc2NoLT5zY2hpYi5zY3N3LmNtZC5hY3RsIHw9IFNDU1dfQUNUTF9SRVNVTUVfUEVORDsKIAkJcmV0dXJuIDA7CiAJY2FzZSAxOgogCQlyZXR1cm4gLUVCVVNZOwpAQCAtMjc3LDcgKzI3OCw3IEBACiAKIAlzd2l0Y2ggKGNjb2RlKSB7CiAJY2FzZSAwOgotCQlzY2gtPnNjaGliLnNjc3cuYWN0bCB8PSBTQ1NXX0FDVExfSEFMVF9QRU5EOworCQlzY2gtPnNjaGliLnNjc3cuY21kLmFjdGwgfD0gU0NTV19BQ1RMX0hBTFRfUEVORDsKIAkJcmV0dXJuIDA7CiAJY2FzZSAxOgkJLyogc3RhdHVzIHBlbmRpbmcgKi8KIAljYXNlIDI6CQkvKiBidXN5ICovCkBAIC0zMTIsNyArMzEzLDcgQEAKIAogCXN3aXRjaCAoY2NvZGUpIHsKIAljYXNlIDA6Ci0JCXNjaC0+c2NoaWIuc2Nzdy5hY3RsIHw9IFNDU1dfQUNUTF9DTEVBUl9QRU5EOworCQlzY2gtPnNjaGliLnNjc3cuY21kLmFjdGwgfD0gU0NTV19BQ1RMX0NMRUFSX1BFTkQ7CiAJCXJldHVybiAwOwogCWRlZmF1bHQ6CQkvKiBkZXZpY2Ugbm90IG9wZXJhdGlvbmFsICovCiAJCXJldHVybiAtRU5PREVWOwpAQCAtMzg3LDggKzM4OCwxMCBAQAogCXJldHVybiByZXQ7CiB9CiAKLS8qCi0gKiBFbmFibGUgc3ViY2hhbm5lbC4KKy8qKgorICogY2lvX2VuYWJsZV9zdWJjaGFubmVsIC0gZW5hYmxlIGEgc3ViY2hhbm5lbC4KKyAqIEBzY2g6IHN1YmNoYW5uZWwgdG8gYmUgZW5hYmxlZAorICogQGludHBhcm06IGludGVycnVwdGlvbiBwYXJhbWV0ZXIgdG8gc2V0CiAgKi8KIGludCBjaW9fZW5hYmxlX3N1YmNoYW5uZWwoc3RydWN0IHN1YmNoYW5uZWwgKnNjaCwgdTMyIGludHBhcm0pCiB7CkBAIC00MzQsMTIgKzQzNywxMyBAQAogCUNJT19UUkFDRV9FVkVOVCAoMiwgZGJmX3R4dCk7CiAJcmV0dXJuIHJldDsKIH0KK0VYUE9SVF9TWU1CT0xfR1BMKGNpb19lbmFibGVfc3ViY2hhbm5lbCk7CiAKLS8qCi0gKiBEaXNhYmxlIHN1YmNoYW5uZWwuCisvKioKKyAqIGNpb19kaXNhYmxlX3N1YmNoYW5uZWwgLSBkaXNhYmxlIGEgc3ViY2hhbm5lbC4KKyAqIEBzY2g6IHN1YmNoYW5uZWwgdG8gZGlzYWJsZQogICovCi1pbnQKLWNpb19kaXNhYmxlX3N1YmNoYW5uZWwgKHN0cnVjdCBzdWJjaGFubmVsICpzY2gpCitpbnQgY2lvX2Rpc2FibGVfc3ViY2hhbm5lbChzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoKQogewogCWNoYXIgZGJmX3R4dFsxNV07CiAJaW50IGNjb2RlOwpAQCAtNDU1LDcgKzQ1OSw3IEBACiAJaWYgKGNjb2RlID09IDMpCQkvKiBOb3Qgb3BlcmF0aW9uYWwuICovCiAJCXJldHVybiAtRU5PREVWOwogCi0JaWYgKHNjaC0+c2NoaWIuc2Nzdy5hY3RsICE9IDApCisJaWYgKHNjc3dfYWN0bCgmc2NoLT5zY2hpYi5zY3N3KSAhPSAwKQogCQkvKgogCQkgKiB0aGUgZGlzYWJsZSBmdW5jdGlvbiBtdXN0IG5vdCBiZSBjYWxsZWQgd2hpbGUgdGhlcmUgYXJlCiAJCSAqICByZXF1ZXN0cyBwZW5kaW5nIGZvciBjb21wbGV0aW9uICEKQEAgLTQ4NCw2ICs0ODgsNyBAQAogCUNJT19UUkFDRV9FVkVOVCAoMiwgZGJmX3R4dCk7CiAJcmV0dXJuIHJldDsKIH0KK0VYUE9SVF9TWU1CT0xfR1BMKGNpb19kaXNhYmxlX3N1YmNoYW5uZWwpOwogCiBpbnQgY2lvX2NyZWF0ZV9zY2hfbG9jayhzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoKQogewpAQCAtNDk0LDI3ICs0OTksNjEgQEAKIAlyZXR1cm4gMDsKIH0KIAotLyoKLSAqIGNpb192YWxpZGF0ZV9zdWJjaGFubmVsKCkKK3N0YXRpYyBpbnQgY2lvX2NoZWNrX2Rldm5vX2JsYWNrbGlzdGVkKHN0cnVjdCBzdWJjaGFubmVsICpzY2gpCit7CisJaWYgKGlzX2JsYWNrbGlzdGVkKHNjaC0+c2NoaWQuc3NpZCwgc2NoLT5zY2hpYi5wbWN3LmRldikpIHsKKwkJLyoKKwkJICogVGhpcyBkZXZpY2UgbXVzdCBub3QgYmUga25vd24gdG8gTGludXguIFNvIHdlIHNpbXBseQorCQkgKiBzYXkgdGhhdCB0aGVyZSBpcyBubyBkZXZpY2UgYW5kIHJldHVybiBFTk9ERVYuCisJCSAqLworCQlDSU9fTVNHX0VWRU5UKDYsICJCbGFja2xpc3RlZCBkZXZpY2UgZGV0ZWN0ZWQgIgorCQkJICAgICAgImF0IGRldm5vICUwNFgsIHN1YmNoYW5uZWwgc2V0ICV4XG4iLAorCQkJICAgICAgc2NoLT5zY2hpYi5wbWN3LmRldiwgc2NoLT5zY2hpZC5zc2lkKTsKKwkJcmV0dXJuIC1FTk9ERVY7CisJfQorCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNpb192YWxpZGF0ZV9pb19zdWJjaGFubmVsKHN0cnVjdCBzdWJjaGFubmVsICpzY2gpCit7CisJLyogSW5pdGlhbGl6YXRpb24gZm9yIGlvIHN1YmNoYW5uZWxzLiAqLworCWlmICghY3NzX3NjaF9pc192YWxpZCgmc2NoLT5zY2hpYikpCisJCXJldHVybiAtRU5PREVWOworCisJLyogRGV2bm8gaXMgdmFsaWQuICovCisJcmV0dXJuIGNpb19jaGVja19kZXZub19ibGFja2xpc3RlZChzY2gpOworfQorCitzdGF0aWMgaW50IGNpb192YWxpZGF0ZV9tc2dfc3ViY2hhbm5lbChzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoKQoreworCS8qIEluaXRpYWxpemF0aW9uIGZvciBtZXNzYWdlIHN1YmNoYW5uZWxzLiAqLworCWlmICghY3NzX3NjaF9pc192YWxpZCgmc2NoLT5zY2hpYikpCisJCXJldHVybiAtRU5PREVWOworCisJLyogRGV2bm8gaXMgdmFsaWQuICovCisJcmV0dXJuIGNpb19jaGVja19kZXZub19ibGFja2xpc3RlZChzY2gpOworfQorCisvKioKKyAqIGNpb192YWxpZGF0ZV9zdWJjaGFubmVsIC0gYmFzaWMgdmFsaWRhdGlvbiBvZiBzdWJjaGFubmVsCisgKiBAc2NoOiBzdWJjaGFubmVsIHN0cnVjdHVyZSB0byBiZSBmaWxsZWQgb3V0CisgKiBAc2NoaWQ6IHN1YmNoYW5uZWwgaWQKICAqCiAgKiBGaW5kIG91dCBzdWJjaGFubmVsIHR5cGUgYW5kIGluaXRpYWxpemUgc3RydWN0IHN1YmNoYW5uZWwuCiAgKiBSZXR1cm4gY29kZXM6Ci0gKiAgIFNVQkNIQU5ORUxfVFlQRV9JTyBmb3IgYSBub3JtYWwgaW8gc3ViY2hhbm5lbAotICogICBTVUJDSEFOTkVMX1RZUEVfQ0hTQyBmb3IgYSBjaHNjIHN1YmNoYW5uZWwKLSAqICAgU1VCQ0hBTk5FTF9UWVBFX01FU1NBR0UgZm9yIGEgbWVzc2FnaW5nIHN1YmNoYW5uZWwKLSAqICAgU1VCQ0hBTk5FTF9UWVBFX0FETSBmb3IgYSBhZG0oPykgc3ViY2hhbm5lbAorICogICAwIG9uIHN1Y2Nlc3MKICAqICAgLUVOWElPIGZvciBub24tZGVmaW5lZCBzdWJjaGFubmVscwotICogICAtRU5PREVWIGZvciBzdWJjaGFubmVscyB3aXRoIGludmFsaWQgZGV2aWNlIG51bWJlciBvciBibGFja2xpc3RlZCBkZXZpY2VzCisgKiAgIC1FTk9ERVYgZm9yIGludmFsaWQgc3ViY2hhbm5lbHMgb3IgYmxhY2tsaXN0ZWQgZGV2aWNlcworICogICAtRUlPIGZvciBzdWJjaGFubmVscyBpbiBhbiBpbnZhbGlkIHN1YmNoYW5uZWwgc2V0CiAgKi8KLWludAotY2lvX3ZhbGlkYXRlX3N1YmNoYW5uZWwgKHN0cnVjdCBzdWJjaGFubmVsICpzY2gsIHN0cnVjdCBzdWJjaGFubmVsX2lkIHNjaGlkKQoraW50IGNpb192YWxpZGF0ZV9zdWJjaGFubmVsKHN0cnVjdCBzdWJjaGFubmVsICpzY2gsIHN0cnVjdCBzdWJjaGFubmVsX2lkIHNjaGlkKQogewogCWNoYXIgZGJmX3R4dFsxNV07CiAJaW50IGNjb2RlOwogCWludCBlcnI7CiAKLQlzcHJpbnRmIChkYmZfdHh0LCAidmFsc2NoJXgiLCBzY2hpZC5zY2hfbm8pOwotCUNJT19UUkFDRV9FVkVOVCAoNCwgZGJmX3R4dCk7CisJc3ByaW50ZihkYmZfdHh0LCAidmFsc2NoJXgiLCBzY2hpZC5zY2hfbm8pOworCUNJT19UUkFDRV9FVkVOVCg0LCBkYmZfdHh0KTsKIAogCS8qIE51a2UgYWxsIGZpZWxkcy4gKi8KIAltZW1zZXQoc2NoLCAwLCBzaXplb2Yoc3RydWN0IHN1YmNoYW5uZWwpKTsKQEAgLTU0Niw2NyArNTg1LDIxIEBACiAJLyogQ29weSBzdWJjaGFubmVsIHR5cGUgZnJvbSBwYXRoIG1hbmFnZW1lbnQgY29udHJvbCB3b3JkLiAqLwogCXNjaC0+c3QgPSBzY2gtPnNjaGliLnBtY3cuc3Q7CiAKLQkvKgotCSAqIC4uLiBqdXN0IGJlaW5nIGN1cmlvdXMgd2UgY2hlY2sgZm9yIG5vbiBJL08gc3ViY2hhbm5lbHMKLQkgKi8KLQlpZiAoc2NoLT5zdCAhPSAwKSB7Ci0JCUNJT19NU0dfRVZFTlQoNCwgIlN1YmNoYW5uZWwgMC4leC4lMDR4IHJlcG9ydHMgIgotCQkJICAgICAgIm5vbi1JL08gc3ViY2hhbm5lbCB0eXBlICUwNFhcbiIsCi0JCQkgICAgICBzY2gtPnNjaGlkLnNzaWQsIHNjaC0+c2NoaWQuc2NoX25vLCBzY2gtPnN0KTsKLQkJLyogV2Ugc3RvcCBoZXJlIGZvciBub24taW8gc3ViY2hhbm5lbHMuICovCi0JCWVyciA9IHNjaC0+c3Q7CisJc3dpdGNoIChzY2gtPnN0KSB7CisJY2FzZSBTVUJDSEFOTkVMX1RZUEVfSU86CisJCWVyciA9IGNpb192YWxpZGF0ZV9pb19zdWJjaGFubmVsKHNjaCk7CisJCWJyZWFrOworCWNhc2UgU1VCQ0hBTk5FTF9UWVBFX01TRzoKKwkJZXJyID0gY2lvX3ZhbGlkYXRlX21zZ19zdWJjaGFubmVsKHNjaCk7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCWVyciA9IDA7CisJfQorCWlmIChlcnIpCiAJCWdvdG8gb3V0OwotCX0KIAotCS8qIEluaXRpYWxpemF0aW9uIGZvciBpbyBzdWJjaGFubmVscy4gKi8KLQlpZiAoIWNzc19zY2hfaXNfdmFsaWQoJnNjaC0+c2NoaWIpKSB7Ci0JCWVyciA9IC1FTk9ERVY7Ci0JCWdvdG8gb3V0OwotCX0KLQotCS8qIERldm5vIGlzIHZhbGlkLiAqLwotCWlmIChpc19ibGFja2xpc3RlZCAoc2NoLT5zY2hpZC5zc2lkLCBzY2gtPnNjaGliLnBtY3cuZGV2KSkgewotCQkvKgotCQkgKiBUaGlzIGRldmljZSBtdXN0IG5vdCBiZSBrbm93biB0byBMaW51eC4gU28gd2Ugc2ltcGx5Ci0JCSAqIHNheSB0aGF0IHRoZXJlIGlzIG5vIGRldmljZSBhbmQgcmV0dXJuIEVOT0RFVi4KLQkJICovCi0JCUNJT19NU0dfRVZFTlQoNiwgIkJsYWNrbGlzdGVkIGRldmljZSBkZXRlY3RlZCAiCi0JCQkgICAgICAiYXQgZGV2bm8gJTA0WCwgc3ViY2hhbm5lbCBzZXQgJXhcbiIsCi0JCQkgICAgICBzY2gtPnNjaGliLnBtY3cuZGV2LCBzY2gtPnNjaGlkLnNzaWQpOwotCQllcnIgPSAtRU5PREVWOwotCQlnb3RvIG91dDsKLQl9Ci0JaWYgKGNpb19pc19jb25zb2xlKHNjaC0+c2NoaWQpKSB7Ci0JCXNjaC0+b3BtID0gMHhmZjsKLQkJc2NoLT5pc2MgPSAxOwotCX0gZWxzZSB7Ci0JCXNjaC0+b3BtID0gY2hwX2dldF9zY2hfb3BtKHNjaCk7Ci0JCXNjaC0+aXNjID0gMzsKLQl9Ci0Jc2NoLT5scG0gPSBzY2gtPnNjaGliLnBtY3cucGFtICYgc2NoLT5vcG07Ci0KLQlDSU9fTVNHX0VWRU5UKDYsICJEZXRlY3RlZCBkZXZpY2UgJTA0eCBvbiBzdWJjaGFubmVsIDAuJXguJTA0WCAiCi0JCSAgICAgICItIFBJTSA9ICUwMlgsIFBBTSA9ICUwMlgsIFBPTSA9ICUwMlhcbiIsCi0JCSAgICAgIHNjaC0+c2NoaWIucG1jdy5kZXYsIHNjaC0+c2NoaWQuc3NpZCwKLQkJICAgICAgc2NoLT5zY2hpZC5zY2hfbm8sIHNjaC0+c2NoaWIucG1jdy5waW0sCi0JCSAgICAgIHNjaC0+c2NoaWIucG1jdy5wYW0sIHNjaC0+c2NoaWIucG1jdy5wb20pOwotCi0JLyoKLQkgKiBXZSBub3cgaGF2ZSB0byBpbml0aWFsbHkgLi4uCi0JICogIC4uLiBlbmFibGUgImNvbmN1cnJlbnQgc2Vuc2UiCi0JICogIC4uLiBlbmFibGUgIm11bHRpcGF0aCBtb2RlIiBpZiBtb3JlIHRoYW4gb25lCi0JICoJICBDSFBJRCBpcyBhdmFpbGFibGUuIFRoaXMgaXMgZG9uZSByZWdhcmRsZXNzCi0JICoJICB3aGV0aGVyIG11bHRpcGxlIHBhdGhzIGFyZSBhdmFpbGFibGUgZm9yIHVzLgotCSAqLwotCXNjaC0+c2NoaWIucG1jdy5jc2Vuc2UgPSAxOwkvKiBjb25jdXJyZW50IHNlbnNlICovCi0Jc2NoLT5zY2hpYi5wbWN3LmVuYSA9IDA7Ci0JaWYgKChzY2gtPmxwbSAmIChzY2gtPmxwbSAtIDEpKSAhPSAwKQotCQlzY2gtPnNjaGliLnBtY3cubXAgPSAxOwkvKiBtdWx0aXBhdGggbW9kZSAqLwotCS8qIGNsZWFuIHVwIHBvc3NpYmxlIHJlc2lkdWFsIGNtZiBzdHVmZiAqLwotCXNjaC0+c2NoaWIucG1jdy5tbWUgPSAwOwotCXNjaC0+c2NoaWIucG1jdy5tYmZjID0gMDsKLQlzY2gtPnNjaGliLnBtY3cubWJpID0gMDsKLQlzY2gtPnNjaGliLm1iYSA9IDA7CisJQ0lPX01TR19FVkVOVCg0LCAiU3ViY2hhbm5lbCAwLiV4LiUwNHggcmVwb3J0cyBzdWJjaGFubmVsIHR5cGUgJTA0WFxuIiwKKwkJICAgICAgc2NoLT5zY2hpZC5zc2lkLCBzY2gtPnNjaGlkLnNjaF9ubywgc2NoLT5zdCk7CiAJcmV0dXJuIDA7CiBvdXQ6CiAJaWYgKCFjaW9faXNfY29uc29sZShzY2hpZCkpCkBAIC02NDcsNyArNjQwLDcgQEAKIAkJICovCiAJCWlmICh0cGlfaW5mby0+YWRhcHRlcl9JTyA9PSAxICYmCiAJCSAgICB0cGlfaW5mby0+aW50X3R5cGUgPT0gSU9fSU5URVJSVVBUX1RZUEUpIHsKLQkJCWRvX2FkYXB0ZXJfSU8oKTsKKwkJCWRvX2FkYXB0ZXJfSU8odHBpX2luZm8tPmlzYyk7CiAJCQljb250aW51ZTsKIAkJfQogCQlzY2ggPSAoc3RydWN0IHN1YmNoYW5uZWwgKikodW5zaWduZWQgbG9uZyl0cGlfaW5mby0+aW50cGFybTsKQEAgLTcwNiw5ICs2OTksOSBAQAogCWlmICghY29uc29sZV9zdWJjaGFubmVsX2luX3VzZSkKIAkJcmV0dXJuOwogCi0JLyogZGlzYWJsZSBhbGwgYnV0IGlzYyAxIChjb25zb2xlIGRldmljZSkgKi8KKwkvKiBkaXNhYmxlIGFsbCBidXQgdGhlIGNvbnNvbGUgaXNjICovCiAJX19jdGxfc3RvcmUgKHNhdmVfY3I2LCA2LCA2KTsKLQljcjYgPSAweDQwMDAwMDAwOworCWNyNiA9IDFVTCA8PCAoMzEgLSBDT05TT0xFX0lTQyk7CiAJX19jdGxfbG9hZCAoY3I2LCA2LCA2KTsKIAogCWRvIHsKQEAgLTcxNiw3ICs3MDksNyBAQAogCQlpZiAoIWNpb190cGkoKSkKIAkJCWNwdV9yZWxheCgpOwogCQlzcGluX2xvY2soY29uc29sZV9zdWJjaGFubmVsLmxvY2spOwotCX0gd2hpbGUgKGNvbnNvbGVfc3ViY2hhbm5lbC5zY2hpYi5zY3N3LmFjdGwgIT0gMCk7CisJfSB3aGlsZSAoY29uc29sZV9zdWJjaGFubmVsLnNjaGliLnNjc3cuY21kLmFjdGwgIT0gMCk7CiAJLyoKIAkgKiByZXN0b3JlIHByZXZpb3VzIGlzYyB2YWx1ZQogCSAqLwpAQCAtNzYxLDcgKzc1NCw2IEBACiAJCS8qIHVubGlrZSBpbiAyLjQsIHdlIGNhbm5vdCBhdXRvcHJvYmUgaGVyZSwgc2luY2UKIAkJICogdGhlIGNoYW5uZWwgc3Vic3lzdGVtIGlzIG5vdCBmdWxseSBpbml0aWFsaXplZC4KIAkJICogV2l0aCBzb21lIGx1Y2ssIHRoZSBIV0MgY29uc29sZSBjYW4gdGFrZSBvdmVyICovCi0JCXByaW50ayhLRVJOX1dBUk5JTkcgImNpbzogTm8gY2N3IGNvbnNvbGUgZm91bmQhXG4iKTsKIAkJcmV0dXJuIC0xOwogCX0KIAlyZXR1cm4gY29uc29sZV9pcnE7CkBAIC03NzgsNiArNzcwLDcgQEAKIAlzY2hfbm8gPSBjaW9fZ2V0X2NvbnNvbGVfc2NoX25vKCk7CiAJaWYgKHNjaF9ubyA9PSAtMSkgewogCQljb25zb2xlX3N1YmNoYW5uZWxfaW5fdXNlID0gMDsKKwkJcHJpbnRrKEtFUk5fV0FSTklORyAiY2lvOiBObyBjY3cgY29uc29sZSBmb3VuZCFcbiIpOwogCQlyZXR1cm4gRVJSX1BUUigtRU5PREVWKTsKIAl9CiAJbWVtc2V0KCZjb25zb2xlX3N1YmNoYW5uZWwsIDAsIHNpemVvZihzdHJ1Y3Qgc3ViY2hhbm5lbCkpOwpAQCAtNzkwLDE1ICs3ODMsMTUgQEAKIAl9CiAKIAkvKgotCSAqIGVuYWJsZSBjb25zb2xlIEkvTy1pbnRlcnJ1cHQgc3ViY2xhc3MgMQorCSAqIGVuYWJsZSBjb25zb2xlIEkvTy1pbnRlcnJ1cHQgc3ViY2xhc3MKIAkgKi8KLQljdGxfc2V0X2JpdCg2LCAzMCk7Ci0JY29uc29sZV9zdWJjaGFubmVsLmlzYyA9IDE7Ci0JY29uc29sZV9zdWJjaGFubmVsLnNjaGliLnBtY3cuaXNjID0gMTsKKwlpc2NfcmVnaXN0ZXIoQ09OU09MRV9JU0MpOworCWNvbnNvbGVfc3ViY2hhbm5lbC5zY2hpYi5wbWN3LmlzYyA9IENPTlNPTEVfSVNDOwogCWNvbnNvbGVfc3ViY2hhbm5lbC5zY2hpYi5wbWN3LmludHBhcm0gPQogCQkodTMyKShhZGRyX3QpJmNvbnNvbGVfc3ViY2hhbm5lbDsKIAlyZXQgPSBjaW9fbW9kaWZ5KCZjb25zb2xlX3N1YmNoYW5uZWwpOwogCWlmIChyZXQpIHsKKwkJaXNjX3VucmVnaXN0ZXIoQ09OU09MRV9JU0MpOwogCQljb25zb2xlX3N1YmNoYW5uZWxfaW5fdXNlID0gMDsKIAkJcmV0dXJuIEVSUl9QVFIocmV0KTsKIAl9CkBAIC04MTAsNyArODAzLDcgQEAKIHsKIAljb25zb2xlX3N1YmNoYW5uZWwuc2NoaWIucG1jdy5pbnRwYXJtID0gMDsKIAljaW9fbW9kaWZ5KCZjb25zb2xlX3N1YmNoYW5uZWwpOwotCWN0bF9jbGVhcl9iaXQoNiwgMjQpOworCWlzY191bnJlZ2lzdGVyKENPTlNPTEVfSVNDKTsKIAljb25zb2xlX3N1YmNoYW5uZWxfaW5fdXNlID0gMDsKIH0KIApAQCAtODY0LDcgKzg1Nyw3IEBACiB9CiAKIHN0YXRpYyBpbnQKLV9fY2xlYXJfc3ViY2hhbm5lbF9lYXN5KHN0cnVjdCBzdWJjaGFubmVsX2lkIHNjaGlkKQorX19jbGVhcl9pb19zdWJjaGFubmVsX2Vhc3koc3RydWN0IHN1YmNoYW5uZWxfaWQgc2NoaWQpCiB7CiAJaW50IHJldHJ5OwogCkBAIC04ODMsNiArODc2LDEyIEBACiAJcmV0dXJuIC1FQlVTWTsKIH0KIAorc3RhdGljIHZvaWQgX19jbGVhcl9jaHNjX3N1YmNoYW5uZWxfZWFzeSh2b2lkKQoreworCS8qIEl0IHNlZW1zIHdlIGNhbiBvbmx5IHdhaXQgZm9yIGEgYml0IGhlcmUgOi8gKi8KKwl1ZGVsYXlfcmVzZXQoMTAwKTsKK30KKwogc3RhdGljIGludCBwZ21fY2hlY2tfb2NjdXJlZDsKIAogc3RhdGljIHZvaWQgY2lvX3Jlc2V0X3BnbV9jaGVja19oYW5kbGVyKHZvaWQpCkBAIC05MjEsMTEgKzkyMCwyMiBAQAogCWNhc2UgLUVOT0RFVjoKIAkJYnJlYWs7CiAJZGVmYXVsdDogLyogLUVCVVNZICovCi0JCWlmIChfX2NsZWFyX3N1YmNoYW5uZWxfZWFzeShzY2hpZCkpCi0JCQlicmVhazsgLyogZ2l2ZSB1cC4uLiAqLworCQlzd2l0Y2ggKHNjaGliLnBtY3cuc3QpIHsKKwkJY2FzZSBTVUJDSEFOTkVMX1RZUEVfSU86CisJCQlpZiAoX19jbGVhcl9pb19zdWJjaGFubmVsX2Vhc3koc2NoaWQpKQorCQkJCWdvdG8gb3V0OyAvKiBnaXZlIHVwLi4uICovCisJCQlicmVhazsKKwkJY2FzZSBTVUJDSEFOTkVMX1RZUEVfQ0hTQzoKKwkJCV9fY2xlYXJfY2hzY19zdWJjaGFubmVsX2Vhc3koKTsKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJLyogTm8gZGVmYXVsdCBjbGVhciBzdHJhdGVneSAqLworCQkJYnJlYWs7CisJCX0KIAkJc3RzY2goc2NoaWQsICZzY2hpYik7CiAJCV9fZGlzYWJsZV9zdWJjaGFubmVsX2Vhc3koc2NoaWQsICZzY2hpYik7CiAJfQorb3V0OgogCXJldHVybiAwOwogfQogCkBAIC0xMDY4LDMgKzEwNzgsNjEgQEAKIAlpcGxpbmZvLT5pc19xZGlvID0gc2NoaWIucG1jdy5xZjsKIAlyZXR1cm4gMDsKIH0KKworLyoqCisgKiBjaW9fdG1fc3RhcnRfa2V5IC0gcGVyZm9ybSBzdGFydCBmdW5jdGlvbgorICogQHNjaDogc3ViY2hhbm5lbCBvbiB3aGljaCB0byBwZXJmb3JtIHRoZSBzdGFydCBmdW5jdGlvbgorICogQHRjdzogdHJhbnNwb3J0LWNvbW1hbmQgd29yZCB0byBiZSBzdGFydGVkCisgKiBAbHBtOiBtYXNrIG9mIHBhdGhzIHRvIHVzZQorICogQGtleTogc3RvcmFnZSBrZXkgdG8gdXNlIGZvciBzdG9yYWdlIGFjY2VzcworICoKKyAqIFN0YXJ0IHRoZSB0Y3cgb24gdGhlIGdpdmVuIHN1YmNoYW5uZWwuIFJldHVybiB6ZXJvIG9uIHN1Y2Nlc3MsIG5vbi16ZXJvCisgKiBvdGhlcndpc2UuCisgKi8KK2ludCBjaW9fdG1fc3RhcnRfa2V5KHN0cnVjdCBzdWJjaGFubmVsICpzY2gsIHN0cnVjdCB0Y3cgKnRjdywgdTggbHBtLCB1OCBrZXkpCit7CisJaW50IGNjOworCXVuaW9uIG9yYiAqb3JiID0gJnRvX2lvX3ByaXZhdGUoc2NoKS0+b3JiOworCisJbWVtc2V0KG9yYiwgMCwgc2l6ZW9mKHVuaW9uIG9yYikpOworCW9yYi0+dG0uaW50cGFybSA9ICh1MzIpIChhZGRyX3QpIHNjaDsKKwlvcmItPnRtLmtleSA9IGtleSA+PiA0OworCW9yYi0+dG0uYiA9IDE7CisJb3JiLT50bS5scG0gPSBscG0gPyBscG0gOiBzY2gtPmxwbTsKKwlvcmItPnRtLnRjdyA9ICh1MzIpIChhZGRyX3QpIHRjdzsKKwljYyA9IHNzY2goc2NoLT5zY2hpZCwgb3JiKTsKKwlzd2l0Y2ggKGNjKSB7CisJY2FzZSAwOgorCQlyZXR1cm4gMDsKKwljYXNlIDE6CisJY2FzZSAyOgorCQlyZXR1cm4gLUVCVVNZOworCWRlZmF1bHQ6CisJCXJldHVybiBjaW9fc3RhcnRfaGFuZGxlX25vdG9wZXIoc2NoLCBscG0pOworCX0KK30KKworLyoqCisgKiBjaW9fdG1faW50cmcgLSBwZXJmb3JtIGludGVycm9nYXRlIGZ1bmN0aW9uCisgKiBAc2NoIC0gc3ViY2hhbm5lbCBvbiB3aGljaCB0byBwZXJmb3JtIHRoZSBpbnRlcnJvZ2F0ZSBmdW5jdGlvbgorICoKKyAqIElmIHRoZSBzcGVjaWZpZWQgc3ViY2hhbm5lbCBpcyBydW5uaW5nIGluIHRyYW5zcG9ydC1tb2RlLCBwZXJmb3JtIHRoZQorICogaW50ZXJyb2dhdGUgZnVuY3Rpb24uIFJldHVybiB6ZXJvIG9uIHN1Y2Nlc3MsIG5vbi16ZXJvIG90aGVyd2llLgorICovCitpbnQgY2lvX3RtX2ludHJnKHN0cnVjdCBzdWJjaGFubmVsICpzY2gpCit7CisJaW50IGNjOworCisJaWYgKCF0b19pb19wcml2YXRlKHNjaCktPm9yYi50bS5iKQorCQlyZXR1cm4gLUVJTlZBTDsKKwljYyA9IHhzY2goc2NoLT5zY2hpZCk7CisJc3dpdGNoIChjYykgeworCWNhc2UgMDoKKwljYXNlIDI6CisJCXJldHVybiAwOworCWNhc2UgMToKKwkJcmV0dXJuIC1FQlVTWTsKKwlkZWZhdWx0OgorCQlyZXR1cm4gLUVOT0RFVjsKKwl9Cit9CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2lvL2Npby5oIGIvZHJpdmVycy9zMzkwL2Npby9jaW8uaAppbmRleCA2ZTkzM2FlLi4zYjIzNmQyIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2lvL2Npby5oCisrKyBiL2RyaXZlcnMvczM5MC9jaW8vY2lvLmgKQEAgLTMsOSArMywxMiBAQAogCiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KICNpbmNsdWRlIDxsaW51eC9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2RfZGV2aWNldGFibGUuaD4KICNpbmNsdWRlIDxhc20vY2hwaWQuaD4KKyNpbmNsdWRlIDxhc20vY2lvLmg+CisjaW5jbHVkZSA8YXNtL2ZjeC5oPgorI2luY2x1ZGUgPGFzbS9zY2hpZC5oPgogI2luY2x1ZGUgImNoc2MuaCIKLSNpbmNsdWRlICJzY2hpZC5oIgogCiAvKgogICogcGF0aCBtYW5hZ2VtZW50IGNvbnRyb2wgd29yZApAQCAtMTMsNyArMTYsNyBAQAogc3RydWN0IHBtY3cgewogCXUzMiBpbnRwYXJtOwkJLyogaW50ZXJydXB0aW9uIHBhcmFtZXRlciAqLwogCXUzMiBxZgkgOiAxOwkJLyogcWRpbyBmYWNpbGl0eSAqLwotCXUzMiByZXMwIDogMTsJCS8qIHJlc2VydmVkIHplcm9zICovCisJdTMyIHcJIDogMTsKIAl1MzIgaXNjICA6IDM7CQkvKiBpbnRlcnJ1cHRpb24gc3VibGFzcyAqLwogCXUzMiByZXM1IDogMzsJCS8qIHJlc2VydmVkIHplcm9zICovCiAJdTMyIGVuYSAgOiAxOwkJLyogZW5hYmxlZCAqLwpAQCAtNDcsNyArNTAsNyBAQAogICovCiBzdHJ1Y3Qgc2NoaWIgewogCXN0cnVjdCBwbWN3IHBtY3c7CSAvKiBwYXRoIG1hbmFnZW1lbnQgY29udHJvbCB3b3JkICovCi0Jc3RydWN0IHNjc3cgc2NzdzsJIC8qIHN1YmNoYW5uZWwgc3RhdHVzIHdvcmQgKi8KKwl1bmlvbiBzY3N3IHNjc3c7CSAvKiBzdWJjaGFubmVsIHN0YXR1cyB3b3JkICovCiAJX191NjQgbWJhOyAgICAgICAgICAgICAgIC8qIG1lYXN1cmVtZW50IGJsb2NrIGFkZHJlc3MgKi8KIAlfX3U4IG1kYVs0XTsJCSAvKiBtb2RlbCBkZXBlbmRlbnQgYXJlYSAqLwogfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkLGFsaWduZWQoNCkpKTsKQEAgLTk5LDggKzEwMiwxMSBAQAogZXh0ZXJuIGludCBjaW9fZ2V0X29wdGlvbnMgKHN0cnVjdCBzdWJjaGFubmVsICopOwogZXh0ZXJuIGludCBjaW9fbW9kaWZ5IChzdHJ1Y3Qgc3ViY2hhbm5lbCAqKTsKIAoraW50IGNpb190bV9zdGFydF9rZXkoc3RydWN0IHN1YmNoYW5uZWwgKnNjaCwgc3RydWN0IHRjdyAqdGN3LCB1OCBscG0sIHU4IGtleSk7CitpbnQgY2lvX3RtX2ludHJnKHN0cnVjdCBzdWJjaGFubmVsICpzY2gpOworCiBpbnQgY2lvX2NyZWF0ZV9zY2hfbG9jayhzdHJ1Y3Qgc3ViY2hhbm5lbCAqKTsKLXZvaWQgZG9fYWRhcHRlcl9JTyh2b2lkKTsKK3ZvaWQgZG9fYWRhcHRlcl9JTyh1OCBpc2MpOwogdm9pZCBkb19JUlEoc3RydWN0IHB0X3JlZ3MgKik7CiAKIC8qIFVzZSB3aXRoIGNhcmUuICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2lvL2NtZi5jIGIvZHJpdmVycy9zMzkwL2Npby9jbWYuYwppbmRleCAyODA4YjY4Li5hOTBiMjhjIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2lvL2NtZi5jCisrKyBiL2RyaXZlcnMvczM5MC9jaW8vY21mLmMKQEAgLTM0MSwxMiArMzQxLDEyIEBACiAJaWYgKHN0c2NoKHNjaC0+c2NoaWQsICZzY2gtPnNjaGliKSkKIAkJcmV0dXJuIC1FTk9ERVY7CiAKLQlpZiAoc2NoLT5zY2hpYi5zY3N3LmZjdGwgJiBTQ1NXX0ZDVExfU1RBUlRfRlVOQykgeworCWlmIChzY3N3X2ZjdGwoJnNjaC0+c2NoaWIuc2NzdykgJiBTQ1NXX0ZDVExfU1RBUlRfRlVOQykgewogCQkvKiBEb24ndCBjb3B5IGlmIGEgc3RhcnQgZnVuY3Rpb24gaXMgaW4gcHJvZ3Jlc3MuICovCi0JCWlmICgoIShzY2gtPnNjaGliLnNjc3cuYWN0bCAmIFNDU1dfQUNUTF9TVVNQRU5ERUQpKSAmJgotCQkgICAgKHNjaC0+c2NoaWIuc2Nzdy5hY3RsICYKKwkJaWYgKCghKHNjc3dfYWN0bCgmc2NoLT5zY2hpYi5zY3N3KSAmIFNDU1dfQUNUTF9TVVNQRU5ERUQpKSAmJgorCQkgICAgKHNjc3dfYWN0bCgmc2NoLT5zY2hpYi5zY3N3KSAmCiAJCSAgICAgKFNDU1dfQUNUTF9ERVZBQ1QgfCBTQ1NXX0FDVExfU0NIQUNUKSkgJiYKLQkJICAgICghKHNjaC0+c2NoaWIuc2Nzdy5zdGN0bCAmIFNDU1dfU1RDVExfU0VDX1NUQVRVUykpKQorCQkgICAgKCEoc2Nzd19zdGN0bCgmc2NoLT5zY2hpYi5zY3N3KSAmIFNDU1dfU1RDVExfU0VDX1NUQVRVUykpKQogCQkJcmV0dXJuIC1FQlVTWTsKIAl9CiAJY21iX2RhdGEgPSBjZGV2LT5wcml2YXRlLT5jbWI7CkBAIC02MTIsOSArNjEyLDYgQEAKIAkJCWZyZWVfcGFnZXMoKHVuc2lnbmVkIGxvbmcpbWVtLCBnZXRfb3JkZXIoc2l6ZSkpOwogCQl9IGVsc2UgaWYgKCFtZW0pIHsKIAkJCS8qIG5vIGx1Y2sgKi8KLQkJCXByaW50ayhLRVJOX1dBUk5JTkcgImNpbzogZmFpbGVkIHRvIGFsbG9jYXRlIGFyZWEgIgotCQkJICAgICAgICJmb3IgbWVhc3VyaW5nICVkIHN1YmNoYW5uZWxzXG4iLAotCQkJICAgICAgIGNtYl9hcmVhLm51bV9jaGFubmVscyk7CiAJCQlyZXQgPSAtRU5PTUVNOwogCQkJZ290byBvdXQ7CiAJCX0gZWxzZSB7CkBAIC0xMjMwLDEzICsxMjI3LDkgQEAKIAlzd2l0Y2ggKHZhbCkgewogCWNhc2UgMDoKIAkJcmV0ID0gZGlzYWJsZV9jbWYoY2Rldik7Ci0JCWlmIChyZXQpCi0JCQlkZXZfaW5mbygmY2Rldi0+ZGV2LCAiZGlzYWJsZV9jbWYgZmFpbGVkICglZClcbiIsIHJldCk7CiAJCWJyZWFrOwogCWNhc2UgMToKIAkJcmV0ID0gZW5hYmxlX2NtZihjZGV2KTsKLQkJaWYgKHJldCAmJiByZXQgIT0gLUVCVVNZKQotCQkJZGV2X2luZm8oJmNkZXYtPmRldiwgImVuYWJsZV9jbWYgZmFpbGVkICglZClcbiIsIHJldCk7CiAJCWJyZWFrOwogCX0KIApAQCAtMTM0NCw4ICsxMzM3LDcgQEAKIAkgKiB0byBiYXNpYyBtb2RlLgogCSAqLwogCWlmIChmb3JtYXQgPT0gQ01GX0FVVE9ERVRFQ1QpIHsKLQkJaWYgKCFjc3NfY2hhcmFjdGVyaXN0aWNzX2F2YWlsIHx8Ci0JCSAgICAhY3NzX2dlbmVyYWxfY2hhcmFjdGVyaXN0aWNzLmV4dF9tYikgeworCQlpZiAoIWNzc19nZW5lcmFsX2NoYXJhY3RlcmlzdGljcy5leHRfbWIpIHsKIAkJCWZvcm1hdCA9IENNRl9CQVNJQzsKIAkJfSBlbHNlIHsKIAkJCWZvcm1hdCA9IENNRl9FWFRFTkRFRDsKQEAgLTEzNjUsOCArMTM1Nyw2IEBACiAJCWNtYm9wcyA9ICZjbWJvcHNfZXh0ZW5kZWQ7CiAJCWJyZWFrOwogCWRlZmF1bHQ6Ci0JCXByaW50ayhLRVJOX0VSUiAiY2lvOiBJbnZhbGlkIGZvcm1hdCAlZCBmb3IgY2hhbm5lbCAiCi0JCQkibWVhc3VyZW1lbnQgZmFjaWxpdHlcbiIsIGZvcm1hdCk7CiAJCXJldHVybiAxOwogCX0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2Npby9jc3MuYyBiL2RyaXZlcnMvczM5MC9jaW8vY3NzLmMKaW5kZXggYTc2OTU2NS4uNDZjMDIxZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2Npby9jc3MuYworKysgYi9kcml2ZXJzL3MzOTAvY2lvL2Nzcy5jCkBAIC0yLDggKzIsNyBAQAogICogIGRyaXZlcnMvczM5MC9jaW8vY3NzLmMKICAqICBkcml2ZXIgZm9yIGNoYW5uZWwgc3Vic3lzdGVtCiAgKgotICogICAgQ29weXJpZ2h0IChDKSAyMDAyIElCTSBEZXV0c2NobGFuZCBFbnR3aWNrbHVuZyBHbWJILAotICoJCQkgSUJNIENvcnBvcmF0aW9uCisgKiAgICBDb3B5cmlnaHQgSUJNIENvcnAuIDIwMDIsMjAwOAogICogICAgQXV0aG9yKHMpOiBBcm5kIEJlcmdtYW5uIChhcm5kYkBkZS5pYm0uY29tKQogICoJCSBDb3JuZWxpYSBIdWNrIChjb3JuZWxpYS5odWNrQGRlLmlibS5jb20pCiAgKi8KQEAgLTE0LDcgKzEzLDkgQEAKICNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgogI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KICNpbmNsdWRlIDxsaW51eC9yZWJvb3QuaD4KKyNpbmNsdWRlIDxhc20vaXNjLmg+CiAKKyNpbmNsdWRlICIuLi9zMzkwbWFjaC5oIgogI2luY2x1ZGUgImNzcy5oIgogI2luY2x1ZGUgImNpby5oIgogI2luY2x1ZGUgImNpb19kZWJ1Zy5oIgpAQCAtMzAsOCArMzEsNiBAQAogCiBzdHJ1Y3QgY2hhbm5lbF9zdWJzeXN0ZW0gKmNoYW5uZWxfc3Vic3lzdGVtc1tfX01BWF9DU1NJRCArIDFdOwogCi1pbnQgY3NzX2NoYXJhY3RlcmlzdGljc19hdmFpbCA9IDA7Ci0KIGludAogZm9yX2VhY2hfc3ViY2hhbm5lbChpbnQoKmZuKShzdHJ1Y3Qgc3ViY2hhbm5lbF9pZCwgdm9pZCAqKSwgdm9pZCAqZGF0YSkKIHsKQEAgLTEyMSwyNSArMTIwLDYgQEAKIAkJa2ZyZWUoc2NoKTsKIAkJcmV0dXJuIEVSUl9QVFIocmV0KTsKIAl9Ci0KLQlpZiAoc2NoLT5zdCAhPSBTVUJDSEFOTkVMX1RZUEVfSU8pIHsKLQkJLyogRm9yIG5vdyB3ZSBpZ25vcmUgYWxsIG5vbi1pbyBzdWJjaGFubmVscy4gKi8KLQkJa2ZyZWUoc2NoKTsKLQkJcmV0dXJuIEVSUl9QVFIoLUVJTlZBTCk7Ci0JfQotCi0JLyogCi0JICogU2V0IGludHBhcm0gdG8gc3ViY2hhbm5lbCBhZGRyZXNzLgotCSAqIFRoaXMgaXMgZmluZSBldmVuIG9uIDY0Yml0IHNpbmNlIHRoZSBzdWJjaGFubmVsIGlzIGFsd2F5cyBsb2NhdGVkCi0JICogdW5kZXIgMkcuCi0JICovCi0Jc2NoLT5zY2hpYi5wbWN3LmludHBhcm0gPSAodTMyKShhZGRyX3Qpc2NoOwotCXJldCA9IGNpb19tb2RpZnkoc2NoKTsKLQlpZiAocmV0KSB7Ci0JCWtmcmVlKHNjaC0+bG9jayk7Ci0JCWtmcmVlKHNjaCk7Ci0JCXJldHVybiBFUlJfUFRSKHJldCk7Ci0JfQogCXJldHVybiBzY2g7CiB9CiAKQEAgLTE3NywxMiArMTU3LDE4IEBACiAJcmV0dXJuIHJldDsKIH0KIAorLyoqCisgKiBjc3Nfc2NoX2RldmljZV91bnJlZ2lzdGVyIC0gdW5yZWdpc3RlciBhIHN1YmNoYW5uZWwKKyAqIEBzY2g6IHN1YmNoYW5uZWwgdG8gYmUgdW5yZWdpc3RlcmVkCisgKi8KIHZvaWQgY3NzX3NjaF9kZXZpY2VfdW5yZWdpc3RlcihzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoKQogewogCW11dGV4X2xvY2soJnNjaC0+cmVnX211dGV4KTsKLQlkZXZpY2VfdW5yZWdpc3Rlcigmc2NoLT5kZXYpOworCWlmIChkZXZpY2VfaXNfcmVnaXN0ZXJlZCgmc2NoLT5kZXYpKQorCQlkZXZpY2VfdW5yZWdpc3Rlcigmc2NoLT5kZXYpOwogCW11dGV4X3VubG9jaygmc2NoLT5yZWdfbXV0ZXgpOwogfQorRVhQT1JUX1NZTUJPTF9HUEwoY3NzX3NjaF9kZXZpY2VfdW5yZWdpc3Rlcik7CiAKIHN0YXRpYyB2b2lkIHNzZF9mcm9tX3BtY3coc3RydWN0IGNoc2Nfc3NkX2luZm8gKnNzZCwgc3RydWN0IHBtY3cgKnBtY3cpCiB7CkBAIC0yMjksNiArMjE1LDQxIEBACiAJfQogfQogCitzdGF0aWMgc3NpemVfdCB0eXBlX3Nob3coc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0ciwKKwkJCSBjaGFyICpidWYpCit7CisJc3RydWN0IHN1YmNoYW5uZWwgKnNjaCA9IHRvX3N1YmNoYW5uZWwoZGV2KTsKKworCXJldHVybiBzcHJpbnRmKGJ1ZiwgIiUwMXhcbiIsIHNjaC0+c3QpOworfQorCitzdGF0aWMgREVWSUNFX0FUVFIodHlwZSwgMDQ0NCwgdHlwZV9zaG93LCBOVUxMKTsKKworc3RhdGljIHNzaXplX3QgbW9kYWxpYXNfc2hvdyhzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICphdHRyLAorCQkJICAgICBjaGFyICpidWYpCit7CisJc3RydWN0IHN1YmNoYW5uZWwgKnNjaCA9IHRvX3N1YmNoYW5uZWwoZGV2KTsKKworCXJldHVybiBzcHJpbnRmKGJ1ZiwgImNzczp0JTAxWFxuIiwgc2NoLT5zdCk7Cit9CisKK3N0YXRpYyBERVZJQ0VfQVRUUihtb2RhbGlhcywgMDQ0NCwgbW9kYWxpYXNfc2hvdywgTlVMTCk7CisKK3N0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlICpzdWJjaF9hdHRyc1tdID0geworCSZkZXZfYXR0cl90eXBlLmF0dHIsCisJJmRldl9hdHRyX21vZGFsaWFzLmF0dHIsCisJTlVMTCwKK307CisKK3N0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlX2dyb3VwIHN1YmNoX2F0dHJfZ3JvdXAgPSB7CisJLmF0dHJzID0gc3ViY2hfYXR0cnMsCit9OworCitzdGF0aWMgc3RydWN0IGF0dHJpYnV0ZV9ncm91cCAqZGVmYXVsdF9zdWJjaF9hdHRyX2dyb3Vwc1tdID0geworCSZzdWJjaF9hdHRyX2dyb3VwLAorCU5VTEwsCit9OworCiBzdGF0aWMgaW50IGNzc19yZWdpc3Rlcl9zdWJjaGFubmVsKHN0cnVjdCBzdWJjaGFubmVsICpzY2gpCiB7CiAJaW50IHJldDsKQEAgLTIzNywxNiArMjU4LDE3IEBACiAJc2NoLT5kZXYucGFyZW50ID0gJmNoYW5uZWxfc3Vic3lzdGVtc1swXS0+ZGV2aWNlOwogCXNjaC0+ZGV2LmJ1cyA9ICZjc3NfYnVzX3R5cGU7CiAJc2NoLT5kZXYucmVsZWFzZSA9ICZjc3Nfc3ViY2hhbm5lbF9yZWxlYXNlOwotCXNjaC0+ZGV2Lmdyb3VwcyA9IHN1YmNoX2F0dHJfZ3JvdXBzOworCXNjaC0+ZGV2Lmdyb3VwcyA9IGRlZmF1bHRfc3ViY2hfYXR0cl9ncm91cHM7CiAJLyoKIAkgKiBXZSBkb24ndCB3YW50IHRvIGdlbmVyYXRlIHVldmVudHMgZm9yIEkvTyBzdWJjaGFubmVscyB0aGF0IGRvbid0CiAJICogaGF2ZSBhIHdvcmtpbmcgY2N3IGRldmljZSBiZWhpbmQgdGhlbSBzaW5jZSB0aGV5IHdpbGwgYmUKIAkgKiB1bnJlZ2lzdGVyZWQgYmVmb3JlIHRoZXkgY2FuIGJlIHVzZWQgYW55d2F5LCBzbyB3ZSBkZWxheSB0aGUgYWRkCiAJICogdWV2ZW50IHVudGlsIGFmdGVyIGRldmljZSByZWNvZ25pdGlvbiB3YXMgc3VjY2Vzc2Z1bC4KKwkgKiBOb3RlIHRoYXQgd2Ugc3VwcHJlc3MgdGhlIHVldmVudCBmb3IgYWxsIHN1YmNoYW5uZWwgdHlwZXM7CisJICogdGhlIHN1YmNoYW5uZWwgZHJpdmVyIGNhbiBkZWNpZGUgaXRzZWxmIHdoZW4gaXQgd2FudHMgdG8gaW5mb3JtCisJICogdXNlcnNwYWNlIG9mIGl0cyBleGlzdGVuY2UuCiAJICovCi0JaWYgKCFjaW9faXNfY29uc29sZShzY2gtPnNjaGlkKSkKLQkJLyogQ29uc29sZSBpcyBzcGVjaWFsLCBubyBuZWVkIHRvIHN1cHByZXNzLiAqLwotCQlzY2gtPmRldi51ZXZlbnRfc3VwcHJlc3MgPSAxOworCXNjaC0+ZGV2LnVldmVudF9zdXBwcmVzcyA9IDE7CiAJY3NzX3VwZGF0ZV9zc2RfaW5mbyhzY2gpOwogCS8qIG1ha2UgaXQga25vd24gdG8gdGhlIHN5c3RlbSAqLwogCXJldCA9IGNzc19zY2hfZGV2aWNlX3JlZ2lzdGVyKHNjaCk7CkBAIC0yNTUsMTAgKzI3NywxOSBAQAogCQkJICAgICAgc2NoLT5zY2hpZC5zc2lkLCBzY2gtPnNjaGlkLnNjaF9ubywgcmV0KTsKIAkJcmV0dXJuIHJldDsKIAl9CisJaWYgKCFzY2gtPmRyaXZlcikgeworCQkvKgorCQkgKiBObyBkcml2ZXIgbWF0Y2hlZC4gR2VuZXJhdGUgdGhlIHVldmVudCBub3cgc28gdGhhdAorCQkgKiBhIGZpdHRpbmcgZHJpdmVyIG1vZHVsZSBtYXkgYmUgbG9hZGVkIGJhc2VkIG9uIHRoZQorCQkgKiBtb2RhbGlhcy4KKwkJICovCisJCXNjaC0+ZGV2LnVldmVudF9zdXBwcmVzcyA9IDA7CisJCWtvYmplY3RfdWV2ZW50KCZzY2gtPmRldi5rb2JqLCBLT0JKX0FERCk7CisJfQogCXJldHVybiByZXQ7CiB9CiAKLXN0YXRpYyBpbnQgY3NzX3Byb2JlX2RldmljZShzdHJ1Y3Qgc3ViY2hhbm5lbF9pZCBzY2hpZCkKK2ludCBjc3NfcHJvYmVfZGV2aWNlKHN0cnVjdCBzdWJjaGFubmVsX2lkIHNjaGlkKQogewogCWludCByZXQ7CiAJc3RydWN0IHN1YmNoYW5uZWwgKnNjaDsKQEAgLTMwMSwxMTYgKzMzMiwxMiBAQAogewogCWlmICgoc2NoaWItPnBtY3cuc3QgPT0gU1VCQ0hBTk5FTF9UWVBFX0lPKSAmJiAhc2NoaWItPnBtY3cuZG52KQogCQlyZXR1cm4gMDsKKwlpZiAoKHNjaGliLT5wbWN3LnN0ID09IFNVQkNIQU5ORUxfVFlQRV9NU0cpICYmICFzY2hpYi0+cG1jdy53KQorCQlyZXR1cm4gMDsKIAlyZXR1cm4gMTsKIH0KIEVYUE9SVF9TWU1CT0xfR1BMKGNzc19zY2hfaXNfdmFsaWQpOwogCi1zdGF0aWMgaW50IGNzc19nZXRfc3ViY2hhbm5lbF9zdGF0dXMoc3RydWN0IHN1YmNoYW5uZWwgKnNjaCkKLXsKLQlzdHJ1Y3Qgc2NoaWIgc2NoaWI7Ci0KLQlpZiAoc3RzY2goc2NoLT5zY2hpZCwgJnNjaGliKSkKLQkJcmV0dXJuIENJT19HT05FOwotCWlmICghY3NzX3NjaF9pc192YWxpZCgmc2NoaWIpKQotCQlyZXR1cm4gQ0lPX0dPTkU7Ci0JaWYgKHNjaC0+c2NoaWIucG1jdy5kbnYgJiYgKHNjaGliLnBtY3cuZGV2ICE9IHNjaC0+c2NoaWIucG1jdy5kZXYpKQotCQlyZXR1cm4gQ0lPX1JFVkFMSURBVEU7Ci0JaWYgKCFzY2gtPmxwbSkKLQkJcmV0dXJuIENJT19OT19QQVRIOwotCXJldHVybiBDSU9fT1BFUjsKLX0KLQotc3RhdGljIGludCBjc3NfZXZhbHVhdGVfa25vd25fc3ViY2hhbm5lbChzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoLCBpbnQgc2xvdykKLXsKLQlpbnQgZXZlbnQsIHJldCwgZGlzYzsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCWVudW0geyBOT05FLCBVTlJFR0lTVEVSLCBVTlJFR0lTVEVSX1BST0JFLCBSRVBST0JFIH0gYWN0aW9uOwotCi0Jc3Bpbl9sb2NrX2lycXNhdmUoc2NoLT5sb2NrLCBmbGFncyk7Ci0JZGlzYyA9IGRldmljZV9pc19kaXNjb25uZWN0ZWQoc2NoKTsKLQlpZiAoZGlzYyAmJiBzbG93KSB7Ci0JCS8qIERpc2Nvbm5lY3RlZCBkZXZpY2VzIGFyZSBldmFsdWF0ZWQgZGlyZWN0bHkgb25seS4qLwotCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKHNjaC0+bG9jaywgZmxhZ3MpOwotCQlyZXR1cm4gMDsKLQl9Ci0JLyogTm8gaW50ZXJydXB0IGFmdGVyIG1hY2hpbmUgY2hlY2sgLSBraWxsIHBlbmRpbmcgdGltZXJzLiAqLwotCWRldmljZV9raWxsX3BlbmRpbmdfdGltZXIoc2NoKTsKLQlpZiAoIWRpc2MgJiYgIXNsb3cpIHsKLQkJLyogTm9uLWRpc2Nvbm5lY3RlZCBkZXZpY2VzIGFyZSBldmFsdWF0ZWQgb24gdGhlIHNsb3cgcGF0aC4gKi8KLQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZShzY2gtPmxvY2ssIGZsYWdzKTsKLQkJcmV0dXJuIC1FQUdBSU47Ci0JfQotCWV2ZW50ID0gY3NzX2dldF9zdWJjaGFubmVsX3N0YXR1cyhzY2gpOwotCUNJT19NU0dfRVZFTlQoNCwgIkV2YWx1YXRpbmcgc2NoaWQgMC4leC4lMDR4LCBldmVudCAlZCwgJXMsICVzIHBhdGguXG4iLAotCQkgICAgICBzY2gtPnNjaGlkLnNzaWQsIHNjaC0+c2NoaWQuc2NoX25vLCBldmVudCwKLQkJICAgICAgZGlzYyA/ICJkaXNjb25uZWN0ZWQiIDogIm5vcm1hbCIsCi0JCSAgICAgIHNsb3cgPyAic2xvdyIgOiAiZmFzdCIpOwotCS8qIEFuYWx5emUgc3ViY2hhbm5lbCBzdGF0dXMuICovCi0JYWN0aW9uID0gTk9ORTsKLQlzd2l0Y2ggKGV2ZW50KSB7Ci0JY2FzZSBDSU9fTk9fUEFUSDoKLQkJaWYgKGRpc2MpIHsKLQkJCS8qIENoZWNrIGlmIHBhdGhzIGhhdmUgYmVjb21lIGF2YWlsYWJsZS4gKi8KLQkJCWFjdGlvbiA9IFJFUFJPQkU7Ci0JCQlicmVhazsKLQkJfQotCQkvKiBmYWxsIHRocm91Z2ggKi8KLQljYXNlIENJT19HT05FOgotCQkvKiBQcmV2ZW50IHVud2FudGVkIGVmZmVjdHMgd2hlbiBvcGVuaW5nIGxvY2suICovCi0JCWNpb19kaXNhYmxlX3N1YmNoYW5uZWwoc2NoKTsKLQkJZGV2aWNlX3NldF9kaXNjb25uZWN0ZWQoc2NoKTsKLQkJLyogQXNrIGRyaXZlciB3aGF0IHRvIGRvIHdpdGggZGV2aWNlLiAqLwotCQlhY3Rpb24gPSBVTlJFR0lTVEVSOwotCQlpZiAoc2NoLT5kcml2ZXIgJiYgc2NoLT5kcml2ZXItPm5vdGlmeSkgewotCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZShzY2gtPmxvY2ssIGZsYWdzKTsKLQkJCXJldCA9IHNjaC0+ZHJpdmVyLT5ub3RpZnkoc2NoLCBldmVudCk7Ci0JCQlzcGluX2xvY2tfaXJxc2F2ZShzY2gtPmxvY2ssIGZsYWdzKTsKLQkJCWlmIChyZXQpCi0JCQkJYWN0aW9uID0gTk9ORTsKLQkJfQotCQlicmVhazsKLQljYXNlIENJT19SRVZBTElEQVRFOgotCQkvKiBEZXZpY2Ugd2lsbCBiZSByZW1vdmVkLCBzbyBubyBub3RpZnkgbmVjZXNzYXJ5LiAqLwotCQlpZiAoZGlzYykKLQkJCS8qIFJlcHJvYmUgYmVjYXVzZSBpbW1lZGlhdGUgdW5yZWdpc3RlciBtaWdodCBibG9jay4gKi8KLQkJCWFjdGlvbiA9IFJFUFJPQkU7Ci0JCWVsc2UKLQkJCWFjdGlvbiA9IFVOUkVHSVNURVJfUFJPQkU7Ci0JCWJyZWFrOwotCWNhc2UgQ0lPX09QRVI6Ci0JCWlmIChkaXNjKQotCQkJLyogR2V0IGRldmljZSBvcGVyYXRpb25hbCBhZ2Fpbi4gKi8KLQkJCWFjdGlvbiA9IFJFUFJPQkU7Ci0JCWJyZWFrOwotCX0KLQkvKiBQZXJmb3JtIGFjdGlvbi4gKi8KLQlyZXQgPSAwOwotCXN3aXRjaCAoYWN0aW9uKSB7Ci0JY2FzZSBVTlJFR0lTVEVSOgotCWNhc2UgVU5SRUdJU1RFUl9QUk9CRToKLQkJLyogVW5yZWdpc3RlciBkZXZpY2UgKHdpbGwgdXNlIHN1YmNoYW5uZWwgbG9jaykuICovCi0JCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoc2NoLT5sb2NrLCBmbGFncyk7Ci0JCWNzc19zY2hfZGV2aWNlX3VucmVnaXN0ZXIoc2NoKTsKLQkJc3Bpbl9sb2NrX2lycXNhdmUoc2NoLT5sb2NrLCBmbGFncyk7Ci0KLQkJLyogUmVzZXQgaW50cGFybSB0byB6ZXJvZXMuICovCi0JCXNjaC0+c2NoaWIucG1jdy5pbnRwYXJtID0gMDsKLQkJY2lvX21vZGlmeShzY2gpOwotCQlicmVhazsKLQljYXNlIFJFUFJPQkU6Ci0JCWRldmljZV90cmlnZ2VyX3JlcHJvYmUoc2NoKTsKLQkJYnJlYWs7Ci0JZGVmYXVsdDoKLQkJYnJlYWs7Ci0JfQotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoc2NoLT5sb2NrLCBmbGFncyk7Ci0JLyogUHJvYmUgaWYgbmVjZXNzYXJ5LiAqLwotCWlmIChhY3Rpb24gPT0gVU5SRUdJU1RFUl9QUk9CRSkKLQkJcmV0ID0gY3NzX3Byb2JlX2RldmljZShzY2gtPnNjaGlkKTsKLQotCXJldHVybiByZXQ7Ci19Ci0KIHN0YXRpYyBpbnQgY3NzX2V2YWx1YXRlX25ld19zdWJjaGFubmVsKHN0cnVjdCBzdWJjaGFubmVsX2lkIHNjaGlkLCBpbnQgc2xvdykKIHsKIAlzdHJ1Y3Qgc2NoaWIgc2NoaWI7CkBAIC00MjksNiArMzU2LDIxIEBACiAJcmV0dXJuIGNzc19wcm9iZV9kZXZpY2Uoc2NoaWQpOwogfQogCitzdGF0aWMgaW50IGNzc19ldmFsdWF0ZV9rbm93bl9zdWJjaGFubmVsKHN0cnVjdCBzdWJjaGFubmVsICpzY2gsIGludCBzbG93KQoreworCWludCByZXQgPSAwOworCisJaWYgKHNjaC0+ZHJpdmVyKSB7CisJCWlmIChzY2gtPmRyaXZlci0+c2NoX2V2ZW50KQorCQkJcmV0ID0gc2NoLT5kcml2ZXItPnNjaF9ldmVudChzY2gsIHNsb3cpOworCQllbHNlCisJCQlkZXZfZGJnKCZzY2gtPmRldiwKKwkJCQkiR290IHN1YmNoYW5uZWwgbWFjaGluZSBjaGVjayBidXQgIgorCQkJCSJubyBzY2hfZXZlbnQgaGFuZGxlciBwcm92aWRlZC5cbiIpOworCX0KKwlyZXR1cm4gcmV0OworfQorCiBzdGF0aWMgdm9pZCBjc3NfZXZhbHVhdGVfc3ViY2hhbm5lbChzdHJ1Y3Qgc3ViY2hhbm5lbF9pZCBzY2hpZCwgaW50IHNsb3cpCiB7CiAJc3RydWN0IHN1YmNoYW5uZWwgKnNjaDsKQEAgLTU5NiwxOCArNTM4LDI5IEBACiAvKgogICogQ2FsbGVkIGZyb20gdGhlIG1hY2hpbmUgY2hlY2sgaGFuZGxlciBmb3Igc3ViY2hhbm5lbCByZXBvcnQgd29yZHMuCiAgKi8KLXZvaWQgY3NzX3Byb2Nlc3NfY3J3KGludCByc2lkMSwgaW50IHJzaWQyKQorc3RhdGljIHZvaWQgY3NzX3Byb2Nlc3NfY3J3KHN0cnVjdCBjcncgKmNydzAsIHN0cnVjdCBjcncgKmNydzEsIGludCBvdmVyZmxvdykKIHsKIAlzdHJ1Y3Qgc3ViY2hhbm5lbF9pZCBtY2hrX3NjaGlkOwogCi0JQ0lPX0NSV19FVkVOVCgyLCAic291cmNlIGlzIHN1YmNoYW5uZWwgJTA0WCwgc3Vic3lzdGVtIGlkICV4XG4iLAotCQkgICAgICByc2lkMSwgcnNpZDIpOworCWlmIChvdmVyZmxvdykgeworCQljc3Nfc2NoZWR1bGVfZXZhbF9hbGwoKTsKKwkJcmV0dXJuOworCX0KKwlDSU9fQ1JXX0VWRU5UKDIsICJDUlcwIHJlcG9ydHMgc2xjdD0lZCwgb2Zsdz0lZCwgIgorCQkgICAgICAiY2huPSVkLCByc2M9JVgsIGFuYz0lZCwgZXJjPSVYLCByc2lkPSVYXG4iLAorCQkgICAgICBjcncwLT5zbGN0LCBjcncwLT5vZmx3LCBjcncwLT5jaG4sIGNydzAtPnJzYywgY3J3MC0+YW5jLAorCQkgICAgICBjcncwLT5lcmMsIGNydzAtPnJzaWQpOworCWlmIChjcncxKQorCQlDSU9fQ1JXX0VWRU5UKDIsICJDUlcxIHJlcG9ydHMgc2xjdD0lZCwgb2Zsdz0lZCwgIgorCQkJICAgICAgImNobj0lZCwgcnNjPSVYLCBhbmM9JWQsIGVyYz0lWCwgcnNpZD0lWFxuIiwKKwkJCSAgICAgIGNydzEtPnNsY3QsIGNydzEtPm9mbHcsIGNydzEtPmNobiwgY3J3MS0+cnNjLAorCQkJICAgICAgY3J3MS0+YW5jLCBjcncxLT5lcmMsIGNydzEtPnJzaWQpOwogCWluaXRfc3ViY2hhbm5lbF9pZCgmbWNoa19zY2hpZCk7Ci0JbWNoa19zY2hpZC5zY2hfbm8gPSByc2lkMTsKLQlpZiAocnNpZDIgIT0gMCkKLQkJbWNoa19zY2hpZC5zc2lkID0gKHJzaWQyID4+IDgpICYgMzsKKwltY2hrX3NjaGlkLnNjaF9ubyA9IGNydzAtPnJzaWQ7CisJaWYgKGNydzEpCisJCW1jaGtfc2NoaWQuc3NpZCA9IChjcncxLT5yc2lkID4+IDgpICYgMzsKIAotCS8qIAorCS8qCiAJICogU2luY2Ugd2UgYXJlIGFsd2F5cyBwcmVzZW50ZWQgd2l0aCBJUEkgaW4gdGhlIENSVywgd2UgaGF2ZSB0bwogCSAqIHVzZSBzdHNjaCgpIHRvIGZpbmQgb3V0IGlmIHRoZSBzdWJjaGFubmVsIGluIHF1ZXN0aW9uIGhhcyBjb21lCiAJICogb3IgZ29uZS4KQEAgLTY1OCw3ICs2MTEsNyBAQAogc3RhdGljIHZvaWQgX19pbml0CiBjc3NfZ2VuZXJhdGVfcGdpZChzdHJ1Y3QgY2hhbm5lbF9zdWJzeXN0ZW0gKmNzcywgdTMyIHRvZF9oaWdoKQogewotCWlmIChjc3NfY2hhcmFjdGVyaXN0aWNzX2F2YWlsICYmIGNzc19nZW5lcmFsX2NoYXJhY3RlcmlzdGljcy5tY3NzKSB7CisJaWYgKGNzc19nZW5lcmFsX2NoYXJhY3RlcmlzdGljcy5tY3NzKSB7CiAJCWNzcy0+Z2xvYmFsX3BnaWQucGdpZF9oaWdoLmV4dF9jc3NpZC52ZXJzaW9uID0gMHg4MDsKIAkJY3NzLT5nbG9iYWxfcGdpZC5wZ2lkX2hpZ2guZXh0X2Nzc2lkLmNzc2lkID0gY3NzLT5jc3NpZDsKIAl9IGVsc2UgewpAQCAtNzk1LDggKzc0OCw2IEBACiAJcmV0ID0gY2hzY19kZXRlcm1pbmVfY3NzX2NoYXJhY3RlcmlzdGljcygpOwogCWlmIChyZXQgPT0gLUVOT01FTSkKIAkJZ290byBvdXQ7IC8qIE5vIG5lZWQgdG8gY29udGludWUuICovCi0JaWYgKHJldCA9PSAwKQotCQljc3NfY2hhcmFjdGVyaXN0aWNzX2F2YWlsID0gMTsKIAogCXJldCA9IGNoc2NfYWxsb2Nfc2VpX2FyZWEoKTsKIAlpZiAocmV0KQpAQCAtODA2LDYgKzc1NywxMCBAQAogCWlmIChyZXQpCiAJCWdvdG8gb3V0OwogCisJcmV0ID0gczM5MF9yZWdpc3Rlcl9jcndfaGFuZGxlcihDUldfUlNDX1NDSCwgY3NzX3Byb2Nlc3NfY3J3KTsKKwlpZiAocmV0KQorCQlnb3RvIG91dDsKKwogCWlmICgocmV0ID0gYnVzX3JlZ2lzdGVyKCZjc3NfYnVzX3R5cGUpKSkKIAkJZ290byBvdXQ7CiAKQEAgLTgzNiw4ICs3OTEsNyBAQAogCQlyZXQgPSBkZXZpY2VfcmVnaXN0ZXIoJmNzcy0+ZGV2aWNlKTsKIAkJaWYgKHJldCkKIAkJCWdvdG8gb3V0X2ZyZWVfYWxsOwotCQlpZiAoY3NzX2NoYXJhY3RlcmlzdGljc19hdmFpbCAmJgotCQkgICAgY3NzX2Noc2NfY2hhcmFjdGVyaXN0aWNzLnNlY20pIHsKKwkJaWYgKGNzc19jaHNjX2NoYXJhY3RlcmlzdGljcy5zZWNtKSB7CiAJCQlyZXQgPSBkZXZpY2VfY3JlYXRlX2ZpbGUoJmNzcy0+ZGV2aWNlLAogCQkJCQkJICZkZXZfYXR0cl9jbV9lbmFibGUpOwogCQkJaWYgKHJldCkKQEAgLTg1Miw3ICs4MDYsOCBAQAogCQlnb3RvIG91dF9wc2V1ZG87CiAJY3NzX2luaXRfZG9uZSA9IDE7CiAKLQljdGxfc2V0X2JpdCg2LCAyOCk7CisJLyogRW5hYmxlIGRlZmF1bHQgaXNjIGZvciBJL08gc3ViY2hhbm5lbHMuICovCisJaXNjX3JlZ2lzdGVyKElPX1NDSF9JU0MpOwogCiAJZm9yX2VhY2hfc3ViY2hhbm5lbChfX2luaXRfY2hhbm5lbF9zdWJzeXN0ZW0sIE5VTEwpOwogCXJldHVybiAwOwpAQCAtODc1LDcgKzgzMCw3IEBACiAJCWktLTsKIAkJY3NzID0gY2hhbm5lbF9zdWJzeXN0ZW1zW2ldOwogCQlkZXZpY2VfdW5yZWdpc3RlcigmY3NzLT5wc2V1ZG9fc3ViY2hhbm5lbC0+ZGV2KTsKLQkJaWYgKGNzc19jaGFyYWN0ZXJpc3RpY3NfYXZhaWwgJiYgY3NzX2Noc2NfY2hhcmFjdGVyaXN0aWNzLnNlY20pCisJCWlmIChjc3NfY2hzY19jaGFyYWN0ZXJpc3RpY3Muc2VjbSkKIAkJCWRldmljZV9yZW1vdmVfZmlsZSgmY3NzLT5kZXZpY2UsCiAJCQkJCSAgICZkZXZfYXR0cl9jbV9lbmFibGUpOwogCQlkZXZpY2VfdW5yZWdpc3RlcigmY3NzLT5kZXZpY2UpOwpAQCAtODgzLDYgKzgzOCw3IEBACiBvdXRfYnVzOgogCWJ1c191bnJlZ2lzdGVyKCZjc3NfYnVzX3R5cGUpOwogb3V0OgorCXMzOTBfdW5yZWdpc3Rlcl9jcndfaGFuZGxlcihDUldfUlNDX0NTUyk7CiAJY2hzY19mcmVlX3NlaV9hcmVhKCk7CiAJa2ZyZWUoc2xvd19zdWJjaGFubmVsX3NldCk7CiAJcHJpbnRrKEtFUk5fV0FSTklORyJjaW86IGZhaWxlZCB0byBpbml0aWFsaXplIGNzcyBkcml2ZXIgKCVkKSFcbiIsCkBAIC04OTUsMTkgKzg1MSwxNiBAQAogCXJldHVybiBzY2ggPT0gdG9fY3NzKHNjaC0+ZGV2LnBhcmVudCktPnBzZXVkb19zdWJjaGFubmVsOwogfQogCi0vKgotICogZmluZCBhIGRyaXZlciBmb3IgYSBzdWJjaGFubmVsLiBUaGV5IGlkZW50aWZ5IGJ5IHRoZSBzdWJjaGFubmVsCi0gKiB0eXBlIHdpdGggdGhlIGV4Y2VwdGlvbiB0aGF0IHRoZSBjb25zb2xlIHN1YmNoYW5uZWwgZHJpdmVyIGhhcyBpdHMgb3duCi0gKiBzdWJjaGFubmVsIHR5cGUgYWx0aG91Z2ggdGhlIGRldmljZSBpcyBhbiBpL28gc3ViY2hhbm5lbAotICovCi1zdGF0aWMgaW50Ci1jc3NfYnVzX21hdGNoIChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZpY2VfZHJpdmVyICpkcnYpCitzdGF0aWMgaW50IGNzc19idXNfbWF0Y2goc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlX2RyaXZlciAqZHJ2KQogewogCXN0cnVjdCBzdWJjaGFubmVsICpzY2ggPSB0b19zdWJjaGFubmVsKGRldik7CiAJc3RydWN0IGNzc19kcml2ZXIgKmRyaXZlciA9IHRvX2Nzc2RyaXZlcihkcnYpOworCXN0cnVjdCBjc3NfZGV2aWNlX2lkICppZDsKIAotCWlmIChzY2gtPnN0ID09IGRyaXZlci0+c3ViY2hhbm5lbF90eXBlKQotCQlyZXR1cm4gMTsKKwlmb3IgKGlkID0gZHJpdmVyLT5zdWJjaGFubmVsX3R5cGU7IGlkLT5tYXRjaF9mbGFnczsgaWQrKykgeworCQlpZiAoc2NoLT5zdCA9PSBpZC0+dHlwZSkKKwkJCXJldHVybiAxOworCX0KIAogCXJldHVybiAwOwogfQpAQCAtOTQ1LDEyICs4OTgsMjUgQEAKIAkJc2NoLT5kcml2ZXItPnNodXRkb3duKHNjaCk7CiB9CiAKK3N0YXRpYyBpbnQgY3NzX3VldmVudChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBrb2JqX3VldmVudF9lbnYgKmVudikKK3sKKwlzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoID0gdG9fc3ViY2hhbm5lbChkZXYpOworCWludCByZXQ7CisKKwlyZXQgPSBhZGRfdWV2ZW50X3ZhcihlbnYsICJTVD0lMDFYIiwgc2NoLT5zdCk7CisJaWYgKHJldCkKKwkJcmV0dXJuIHJldDsKKwlyZXQgPSBhZGRfdWV2ZW50X3ZhcihlbnYsICJNT0RBTElBUz1jc3M6dCUwMVgiLCBzY2gtPnN0KTsKKwlyZXR1cm4gcmV0OworfQorCiBzdHJ1Y3QgYnVzX3R5cGUgY3NzX2J1c190eXBlID0gewogCS5uYW1lICAgICA9ICJjc3MiLAogCS5tYXRjaCAgICA9IGNzc19idXNfbWF0Y2gsCiAJLnByb2JlICAgID0gY3NzX3Byb2JlLAogCS5yZW1vdmUgICA9IGNzc19yZW1vdmUsCiAJLnNodXRkb3duID0gY3NzX3NodXRkb3duLAorCS51ZXZlbnQgICA9IGNzc191ZXZlbnQsCiB9OwogCiAvKioKQEAgLTk4NSw0ICs5NTEsMyBAQAogCiBNT0RVTEVfTElDRU5TRSgiR1BMIik7CiBFWFBPUlRfU1lNQk9MKGNzc19idXNfdHlwZSk7Ci1FWFBPUlRfU1lNQk9MX0dQTChjc3NfY2hhcmFjdGVyaXN0aWNzX2F2YWlsKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaW8vY3NzLmggYi9kcml2ZXJzL3MzOTAvY2lvL2Nzcy5oCmluZGV4IGUxOTEzNTEuLjU3ZWJmMTIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaW8vY3NzLmgKKysrIGIvZHJpdmVycy9zMzkwL2Npby9jc3MuaApAQCAtOSw4ICs5LDcgQEAKIAogI2luY2x1ZGUgPGFzbS9jaW8uaD4KICNpbmNsdWRlIDxhc20vY2hwaWQuaD4KLQotI2luY2x1ZGUgInNjaGlkLmgiCisjaW5jbHVkZSA8YXNtL3NjaGlkLmg+CiAKIC8qCiAgKiBwYXRoIGdyb3VwaW5nIHN0dWZmCkBAIC01OCwyMCArNTcsMjggQEAKIAlfX3UzMiB0b2RfaGlnaDsJCS8qIGhpZ2ggd29yZCBUT0QgY2xvY2sgKi8KIH0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOwogCi0vKgotICogQSBjc3MgZHJpdmVyIGhhbmRsZXMgYWxsIHN1YmNoYW5uZWxzIG9mIG9uZSB0eXBlLgotICogQ3VycmVudGx5LCB3ZSBvbmx5IGNhcmUgYWJvdXQgSS9PIHN1YmNoYW5uZWxzICh0eXBlIDApLCB0aGVzZQotICogaGF2ZSBhIGNjd19kZXZpY2UgY29ubmVjdGVkIHRvIHRoZW0uCi0gKi8KIHN0cnVjdCBzdWJjaGFubmVsOworc3RydWN0IGNocF9saW5rOworLyoqCisgKiBzdHJ1Y3QgY3NzX2RyaXZlciAtIGRldmljZSBkcml2ZXIgZm9yIHN1YmNoYW5uZWxzCisgKiBAb3duZXI6IG93bmluZyBtb2R1bGUKKyAqIEBzdWJjaGFubmVsX3R5cGU6IHN1YmNoYW5uZWwgdHlwZSBzdXBwb3J0ZWQgYnkgdGhpcyBkcml2ZXIKKyAqIEBkcnY6IGVtYmVkZGVkIGRldmljZSBkcml2ZXIgc3RydWN0dXJlCisgKiBAaXJxOiBjYWxsZWQgb24gaW50ZXJydXB0cworICogQGNocF9ldmVudDogY2FsbGVkIGZvciBldmVudHMgYWZmZWN0aW5nIGEgY2hhbm5lbCBwYXRoCisgKiBAc2NoX2V2ZW50OiBjYWxsZWQgZm9yIGV2ZW50cyBhZmZlY3RpbmcgdGhlIHN1YmNoYW5uZWwKKyAqIEBwcm9iZTogZnVuY3Rpb24gY2FsbGVkIG9uIHByb2JlCisgKiBAcmVtb3ZlOiBmdW5jdGlvbiBjYWxsZWQgb24gcmVtb3ZlCisgKiBAc2h1dGRvd246IGNhbGxlZCBhdCBkZXZpY2Ugc2h1dGRvd24KKyAqIEBuYW1lOiBuYW1lIG9mIHRoZSBkZXZpY2UgZHJpdmVyCisgKi8KIHN0cnVjdCBjc3NfZHJpdmVyIHsKIAlzdHJ1Y3QgbW9kdWxlICpvd25lcjsKLQl1bnNpZ25lZCBpbnQgc3ViY2hhbm5lbF90eXBlOworCXN0cnVjdCBjc3NfZGV2aWNlX2lkICpzdWJjaGFubmVsX3R5cGU7CiAJc3RydWN0IGRldmljZV9kcml2ZXIgZHJ2OwogCXZvaWQgKCppcnEpKHN0cnVjdCBzdWJjaGFubmVsICopOwotCWludCAoKm5vdGlmeSkoc3RydWN0IHN1YmNoYW5uZWwgKiwgaW50KTsKLQl2b2lkICgqdmVyaWZ5KShzdHJ1Y3Qgc3ViY2hhbm5lbCAqKTsKLQl2b2lkICgqdGVybWluYXRpb24pKHN0cnVjdCBzdWJjaGFubmVsICopOworCWludCAoKmNocF9ldmVudCkoc3RydWN0IHN1YmNoYW5uZWwgKiwgc3RydWN0IGNocF9saW5rICosIGludCk7CisJaW50ICgqc2NoX2V2ZW50KShzdHJ1Y3Qgc3ViY2hhbm5lbCAqLCBpbnQpOwogCWludCAoKnByb2JlKShzdHJ1Y3Qgc3ViY2hhbm5lbCAqKTsKIAlpbnQgKCpyZW1vdmUpKHN0cnVjdCBzdWJjaGFubmVsICopOwogCXZvaWQgKCpzaHV0ZG93bikoc3RydWN0IHN1YmNoYW5uZWwgKik7CkBAIC04OSwxMyArOTYsMTMgQEAKIGV4dGVybiB2b2lkIGNzc19kcml2ZXJfdW5yZWdpc3RlcihzdHJ1Y3QgY3NzX2RyaXZlciAqKTsKIAogZXh0ZXJuIHZvaWQgY3NzX3NjaF9kZXZpY2VfdW5yZWdpc3RlcihzdHJ1Y3Qgc3ViY2hhbm5lbCAqKTsKLWV4dGVybiBzdHJ1Y3Qgc3ViY2hhbm5lbCAqIGdldF9zdWJjaGFubmVsX2J5X3NjaGlkKHN0cnVjdCBzdWJjaGFubmVsX2lkKTsKK2V4dGVybiBpbnQgY3NzX3Byb2JlX2RldmljZShzdHJ1Y3Qgc3ViY2hhbm5lbF9pZCk7CitleHRlcm4gc3RydWN0IHN1YmNoYW5uZWwgKmdldF9zdWJjaGFubmVsX2J5X3NjaGlkKHN0cnVjdCBzdWJjaGFubmVsX2lkKTsKIGV4dGVybiBpbnQgY3NzX2luaXRfZG9uZTsKIGludCBmb3JfZWFjaF9zdWJjaGFubmVsX3N0YWdlZChpbnQgKCpmbl9rbm93bikoc3RydWN0IHN1YmNoYW5uZWwgKiwgdm9pZCAqKSwKIAkJCSAgICAgICBpbnQgKCpmbl91bmtub3duKShzdHJ1Y3Qgc3ViY2hhbm5lbF9pZCwKIAkJCSAgICAgICB2b2lkICopLCB2b2lkICpkYXRhKTsKIGV4dGVybiBpbnQgZm9yX2VhY2hfc3ViY2hhbm5lbChpbnQoKmZuKShzdHJ1Y3Qgc3ViY2hhbm5lbF9pZCwgdm9pZCAqKSwgdm9pZCAqKTsKLWV4dGVybiB2b2lkIGNzc19wcm9jZXNzX2NydyhpbnQsIGludCk7CiBleHRlcm4gdm9pZCBjc3NfcmVpdGVyYXRlX3N1YmNoYW5uZWxzKHZvaWQpOwogdm9pZCBjc3NfdXBkYXRlX3NzZF9pbmZvKHN0cnVjdCBzdWJjaGFubmVsICpzY2gpOwogCkBAIC0xMjEsMjAgKzEyOCw2IEBACiBleHRlcm4gc3RydWN0IGJ1c190eXBlIGNzc19idXNfdHlwZTsKIGV4dGVybiBzdHJ1Y3QgY2hhbm5lbF9zdWJzeXN0ZW0gKmNoYW5uZWxfc3Vic3lzdGVtc1tdOwogCi0vKiBTb21lIGhlbHBlciBmdW5jdGlvbnMgZm9yIGRpc2Nvbm5lY3RlZCBzdGF0ZS4gKi8KLWludCBkZXZpY2VfaXNfZGlzY29ubmVjdGVkKHN0cnVjdCBzdWJjaGFubmVsICopOwotdm9pZCBkZXZpY2Vfc2V0X2Rpc2Nvbm5lY3RlZChzdHJ1Y3Qgc3ViY2hhbm5lbCAqKTsKLXZvaWQgZGV2aWNlX3RyaWdnZXJfcmVwcm9iZShzdHJ1Y3Qgc3ViY2hhbm5lbCAqKTsKLQotLyogSGVscGVyIGZ1bmN0aW9ucyBmb3IgdmFyeSBvbi9vZmYuICovCi1pbnQgZGV2aWNlX2lzX29ubGluZShzdHJ1Y3Qgc3ViY2hhbm5lbCAqKTsKLXZvaWQgZGV2aWNlX2tpbGxfaW8oc3RydWN0IHN1YmNoYW5uZWwgKik7Ci12b2lkIGRldmljZV9zZXRfaW50cmV0cnkoc3RydWN0IHN1YmNoYW5uZWwgKnNjaCk7Ci1pbnQgZGV2aWNlX3RyaWdnZXJfdmVyaWZ5KHN0cnVjdCBzdWJjaGFubmVsICpzY2gpOwotCi0vKiBNYWNoaW5lIGNoZWNrIGhlbHBlciBmdW5jdGlvbi4gKi8KLXZvaWQgZGV2aWNlX2tpbGxfcGVuZGluZ190aW1lcihzdHJ1Y3Qgc3ViY2hhbm5lbCAqKTsKLQogLyogSGVscGVyIGZ1bmN0aW9ucyB0byBidWlsZCBsaXN0cyBmb3IgdGhlIHNsb3cgcGF0aC4gKi8KIHZvaWQgY3NzX3NjaGVkdWxlX2V2YWwoc3RydWN0IHN1YmNoYW5uZWxfaWQgc2NoaWQpOwogdm9pZCBjc3Nfc2NoZWR1bGVfZXZhbF9hbGwodm9pZCk7CkBAIC0xNDUsNiArMTM4LDQgQEAKIAogZXh0ZXJuIHN0cnVjdCB3b3JrcXVldWVfc3RydWN0ICpzbG93X3BhdGhfd3E7CiB2b2lkIGNzc193YWl0X2Zvcl9zbG93X3BhdGgodm9pZCk7Ci0KLWV4dGVybiBzdHJ1Y3QgYXR0cmlidXRlX2dyb3VwICpzdWJjaF9hdHRyX2dyb3Vwc1tdOwogI2VuZGlmCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2lvL2RldmljZS5jIGIvZHJpdmVycy9zMzkwL2Npby9kZXZpY2UuYwppbmRleCBlMjI4MTNkLi5lODE4ZDBjIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2lvL2RldmljZS5jCisrKyBiL2RyaXZlcnMvczM5MC9jaW8vZGV2aWNlLmMKQEAgLTIsOCArMiw3IEBACiAgKiAgZHJpdmVycy9zMzkwL2Npby9kZXZpY2UuYwogICogIGJ1cyBkcml2ZXIgZm9yIGNjdyBkZXZpY2VzCiAgKgotICogICAgQ29weXJpZ2h0IChDKSAyMDAyIElCTSBEZXV0c2NobGFuZCBFbnR3aWNrbHVuZyBHbWJILAotICoJCQkgSUJNIENvcnBvcmF0aW9uCisgKiAgICBDb3B5cmlnaHQgSUJNIENvcnAuIDIwMDIsMjAwOAogICogICAgQXV0aG9yKHMpOiBBcm5kIEJlcmdtYW5uIChhcm5kYkBkZS5pYm0uY29tKQogICoJCSBDb3JuZWxpYSBIdWNrIChjb3JuZWxpYS5odWNrQGRlLmlibS5jb20pCiAgKgkJIE1hcnRpbiBTY2h3aWRlZnNreSAoc2Nod2lkZWZza3lAZGUuaWJtLmNvbSkKQEAgLTIzLDcgKzIyLDkgQEAKICNpbmNsdWRlIDxhc20vY2lvLmg+CiAjaW5jbHVkZSA8YXNtL3BhcmFtLmg+CQkvKiBIWiAqLwogI2luY2x1ZGUgPGFzbS9jbWIuaD4KKyNpbmNsdWRlIDxhc20vaXNjLmg+CiAKKyNpbmNsdWRlICJjaHAuaCIKICNpbmNsdWRlICJjaW8uaCIKICNpbmNsdWRlICJjaW9fZGVidWcuaCIKICNpbmNsdWRlICJjc3MuaCIKQEAgLTEyNSwxOSArMTI2LDI0IEBACiBzdGF0aWMgdm9pZCBpb19zdWJjaGFubmVsX2lycShzdHJ1Y3Qgc3ViY2hhbm5lbCAqKTsKIHN0YXRpYyBpbnQgaW9fc3ViY2hhbm5lbF9wcm9iZShzdHJ1Y3Qgc3ViY2hhbm5lbCAqKTsKIHN0YXRpYyBpbnQgaW9fc3ViY2hhbm5lbF9yZW1vdmUoc3RydWN0IHN1YmNoYW5uZWwgKik7Ci1zdGF0aWMgaW50IGlvX3N1YmNoYW5uZWxfbm90aWZ5KHN0cnVjdCBzdWJjaGFubmVsICosIGludCk7Ci1zdGF0aWMgdm9pZCBpb19zdWJjaGFubmVsX3ZlcmlmeShzdHJ1Y3Qgc3ViY2hhbm5lbCAqKTsKLXN0YXRpYyB2b2lkIGlvX3N1YmNoYW5uZWxfaW90ZXJtKHN0cnVjdCBzdWJjaGFubmVsICopOwogc3RhdGljIHZvaWQgaW9fc3ViY2hhbm5lbF9zaHV0ZG93bihzdHJ1Y3Qgc3ViY2hhbm5lbCAqKTsKK3N0YXRpYyBpbnQgaW9fc3ViY2hhbm5lbF9zY2hfZXZlbnQoc3RydWN0IHN1YmNoYW5uZWwgKiwgaW50KTsKK3N0YXRpYyBpbnQgaW9fc3ViY2hhbm5lbF9jaHBfZXZlbnQoc3RydWN0IHN1YmNoYW5uZWwgKiwgc3RydWN0IGNocF9saW5rICosCisJCQkJICAgaW50KTsKKworc3RhdGljIHN0cnVjdCBjc3NfZGV2aWNlX2lkIGlvX3N1YmNoYW5uZWxfaWRzW10gPSB7CisJeyAubWF0Y2hfZmxhZ3MgPSAweDEsIC50eXBlID0gU1VCQ0hBTk5FTF9UWVBFX0lPLCB9LAorCXsgLyogZW5kIG9mIGxpc3QgKi8gfSwKK307CitNT0RVTEVfREVWSUNFX1RBQkxFKGNzcywgaW9fc3ViY2hhbm5lbF9pZHMpOwogCiBzdGF0aWMgc3RydWN0IGNzc19kcml2ZXIgaW9fc3ViY2hhbm5lbF9kcml2ZXIgPSB7CiAJLm93bmVyID0gVEhJU19NT0RVTEUsCi0JLnN1YmNoYW5uZWxfdHlwZSA9IFNVQkNIQU5ORUxfVFlQRV9JTywKKwkuc3ViY2hhbm5lbF90eXBlID0gaW9fc3ViY2hhbm5lbF9pZHMsCiAJLm5hbWUgPSAiaW9fc3ViY2hhbm5lbCIsCiAJLmlycSA9IGlvX3N1YmNoYW5uZWxfaXJxLAotCS5ub3RpZnkgPSBpb19zdWJjaGFubmVsX25vdGlmeSwKLQkudmVyaWZ5ID0gaW9fc3ViY2hhbm5lbF92ZXJpZnksCi0JLnRlcm1pbmF0aW9uID0gaW9fc3ViY2hhbm5lbF9pb3Rlcm0sCisJLnNjaF9ldmVudCA9IGlvX3N1YmNoYW5uZWxfc2NoX2V2ZW50LAorCS5jaHBfZXZlbnQgPSBpb19zdWJjaGFubmVsX2NocF9ldmVudCwKIAkucHJvYmUgPSBpb19zdWJjaGFubmVsX3Byb2JlLAogCS5yZW1vdmUgPSBpb19zdWJjaGFubmVsX3JlbW92ZSwKIAkuc2h1dGRvd24gPSBpb19zdWJjaGFubmVsX3NodXRkb3duLApAQCAtNDg3LDI1ICs0OTMsMjIgQEAKIAkJY2N3X2RldmljZV9zZXRfb25saW5lKGNkZXYpOwogCXJldHVybiAwOwogfQotc3RhdGljIHZvaWQgb25saW5lX3N0b3JlX2hhbmRsZV9vbmxpbmUoc3RydWN0IGNjd19kZXZpY2UgKmNkZXYsIGludCBmb3JjZSkKK3N0YXRpYyBpbnQgb25saW5lX3N0b3JlX2hhbmRsZV9vbmxpbmUoc3RydWN0IGNjd19kZXZpY2UgKmNkZXYsIGludCBmb3JjZSkKIHsKIAlpbnQgcmV0OwogCiAJcmV0ID0gb25saW5lX3N0b3JlX3JlY29nX2FuZF9vbmxpbmUoY2Rldik7CiAJaWYgKHJldCkKLQkJcmV0dXJuOworCQlyZXR1cm4gcmV0OwogCWlmIChmb3JjZSAmJiBjZGV2LT5wcml2YXRlLT5zdGF0ZSA9PSBERVZfU1RBVEVfQk9YRUQpIHsKIAkJcmV0ID0gY2N3X2RldmljZV9zdGxjayhjZGV2KTsKLQkJaWYgKHJldCkgewotCQkJZGV2X3dhcm4oJmNkZXYtPmRldiwKLQkJCQkgImNjd19kZXZpY2Vfc3RsY2sgcmV0dXJuZWQgJWQhXG4iLCByZXQpOwotCQkJcmV0dXJuOwotCQl9CisJCWlmIChyZXQpCisJCQlyZXR1cm4gcmV0OwogCQlpZiAoY2Rldi0+aWQuY3VfdHlwZSA9PSAwKQogCQkJY2Rldi0+cHJpdmF0ZS0+c3RhdGUgPSBERVZfU1RBVEVfTk9UX09QRVI7CiAJCW9ubGluZV9zdG9yZV9yZWNvZ19hbmRfb25saW5lKGNkZXYpOwogCX0KLQorCXJldHVybiAwOwogfQogCiBzdGF0aWMgc3NpemVfdCBvbmxpbmVfc3RvcmUgKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsCkBAIC01MzgsOCArNTQxLDkgQEAKIAkJcmV0ID0gY291bnQ7CiAJCWJyZWFrOwogCWNhc2UgMToKLQkJb25saW5lX3N0b3JlX2hhbmRsZV9vbmxpbmUoY2RldiwgZm9yY2UpOwotCQlyZXQgPSBjb3VudDsKKwkJcmV0ID0gb25saW5lX3N0b3JlX2hhbmRsZV9vbmxpbmUoY2RldiwgZm9yY2UpOworCQlpZiAoIXJldCkKKwkJCXJldCA9IGNvdW50OwogCQlicmVhazsKIAlkZWZhdWx0OgogCQlyZXQgPSAtRUlOVkFMOwpAQCAtNTg0LDE5ICs1ODgsMTQgQEAKIHN0YXRpYyBERVZJQ0VfQVRUUihvbmxpbmUsIDA2NDQsIG9ubGluZV9zaG93LCBvbmxpbmVfc3RvcmUpOwogc3RhdGljIERFVklDRV9BVFRSKGF2YWlsYWJpbGl0eSwgMDQ0NCwgYXZhaWxhYmxlX3Nob3csIE5VTEwpOwogCi1zdGF0aWMgc3RydWN0IGF0dHJpYnV0ZSAqIHN1YmNoX2F0dHJzW10gPSB7CitzdGF0aWMgc3RydWN0IGF0dHJpYnV0ZSAqaW9fc3ViY2hhbm5lbF9hdHRyc1tdID0gewogCSZkZXZfYXR0cl9jaHBpZHMuYXR0ciwKIAkmZGV2X2F0dHJfcGltcGFtcG9tLmF0dHIsCiAJTlVMTCwKIH07CiAKLXN0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlX2dyb3VwIHN1YmNoX2F0dHJfZ3JvdXAgPSB7Ci0JLmF0dHJzID0gc3ViY2hfYXR0cnMsCi19OwotCi1zdHJ1Y3QgYXR0cmlidXRlX2dyb3VwICpzdWJjaF9hdHRyX2dyb3Vwc1tdID0gewotCSZzdWJjaF9hdHRyX2dyb3VwLAotCU5VTEwsCitzdGF0aWMgc3RydWN0IGF0dHJpYnV0ZV9ncm91cCBpb19zdWJjaGFubmVsX2F0dHJfZ3JvdXAgPSB7CisJLmF0dHJzID0gaW9fc3ViY2hhbm5lbF9hdHRycywKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlICogY2N3ZGV2X2F0dHJzW10gPSB7CkBAIC03OTAsNyArNzg5LDcgQEAKIAlzY2hfc2V0X2NkZXYoc2NoLCBjZGV2KTsKIAljZGV2LT5wcml2YXRlLT5zY2hpZCA9IHNjaC0+c2NoaWQ7CiAJY2Rldi0+Y2N3bG9jayA9IHNjaC0+bG9jazsKLQlkZXZpY2VfdHJpZ2dlcl9yZXByb2JlKHNjaCk7CisJY2N3X2RldmljZV90cmlnZ2VyX3JlcHJvYmUoY2Rldik7CiAJc3Bpbl91bmxvY2tfaXJxKHNjaC0+bG9jayk7CiB9CiAKQEAgLTEwMzcsNyArMTAzNiw2IEBACiAJc3RydWN0IGNjd19kZXZpY2VfcHJpdmF0ZSAqcHJpdjsKIAogCXNjaF9zZXRfY2RldihzY2gsIGNkZXYpOwotCXNjaC0+ZHJpdmVyID0gJmlvX3N1YmNoYW5uZWxfZHJpdmVyOwogCWNkZXYtPmNjd2xvY2sgPSBzY2gtPmxvY2s7CiAKIAkvKiBJbml0IHByaXZhdGUgZGF0YS4gKi8KQEAgLTExMjIsOCArMTEyMCwzMyBAQAogCQlkZXZfZnNtX2V2ZW50KGNkZXYsIERFVl9FVkVOVF9JTlRFUlJVUFQpOwogfQogCi1zdGF0aWMgaW50Ci1pb19zdWJjaGFubmVsX3Byb2JlIChzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoKQorc3RhdGljIHZvaWQgaW9fc3ViY2hhbm5lbF9pbml0X2ZpZWxkcyhzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoKQoreworCWlmIChjaW9faXNfY29uc29sZShzY2gtPnNjaGlkKSkKKwkJc2NoLT5vcG0gPSAweGZmOworCWVsc2UKKwkJc2NoLT5vcG0gPSBjaHBfZ2V0X3NjaF9vcG0oc2NoKTsKKwlzY2gtPmxwbSA9IHNjaC0+c2NoaWIucG1jdy5wYW0gJiBzY2gtPm9wbTsKKwlzY2gtPmlzYyA9IGNpb19pc19jb25zb2xlKHNjaC0+c2NoaWQpID8gQ09OU09MRV9JU0MgOiBJT19TQ0hfSVNDOworCisJQ0lPX01TR19FVkVOVCg2LCAiRGV0ZWN0ZWQgZGV2aWNlICUwNHggb24gc3ViY2hhbm5lbCAwLiV4LiUwNFgiCisJCSAgICAgICIgLSBQSU0gPSAlMDJYLCBQQU0gPSAlMDJYLCBQT00gPSAlMDJYXG4iLAorCQkgICAgICBzY2gtPnNjaGliLnBtY3cuZGV2LCBzY2gtPnNjaGlkLnNzaWQsCisJCSAgICAgIHNjaC0+c2NoaWQuc2NoX25vLCBzY2gtPnNjaGliLnBtY3cucGltLAorCQkgICAgICBzY2gtPnNjaGliLnBtY3cucGFtLCBzY2gtPnNjaGliLnBtY3cucG9tKTsKKwkvKiBJbml0aWFsbHkgc2V0IHVwIHNvbWUgZmllbGRzIGluIHRoZSBwbWN3LiAqLworCXNjaC0+c2NoaWIucG1jdy5lbmEgPSAwOworCXNjaC0+c2NoaWIucG1jdy5jc2Vuc2UgPSAxOwkvKiBjb25jdXJyZW50IHNlbnNlICovCisJaWYgKChzY2gtPmxwbSAmIChzY2gtPmxwbSAtIDEpKSAhPSAwKQorCQlzY2gtPnNjaGliLnBtY3cubXAgPSAxOyAvKiBtdWx0aXBhdGggbW9kZSAqLworCS8qIGNsZWFuIHVwIHBvc3NpYmxlIHJlc2lkdWFsIGNtZiBzdHVmZiAqLworCXNjaC0+c2NoaWIucG1jdy5tbWUgPSAwOworCXNjaC0+c2NoaWIucG1jdy5tYmZjID0gMDsKKwlzY2gtPnNjaGliLnBtY3cubWJpID0gMDsKKwlzY2gtPnNjaGliLm1iYSA9IDA7Cit9CisKK3N0YXRpYyBpbnQgaW9fc3ViY2hhbm5lbF9wcm9iZShzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoKQogewogCXN0cnVjdCBjY3dfZGV2aWNlICpjZGV2OwogCWludCByYzsKQEAgLTExMzIsMTEgKzExNTUsMjEgQEAKIAogCWNkZXYgPSBzY2hfZ2V0X2NkZXYoc2NoKTsKIAlpZiAoY2RldikgeworCQlyYyA9IHN5c2ZzX2NyZWF0ZV9ncm91cCgmc2NoLT5kZXYua29iaiwKKwkJCQkJJmlvX3N1YmNoYW5uZWxfYXR0cl9ncm91cCk7CisJCWlmIChyYykKKwkJCUNJT19NU0dfRVZFTlQoMCwgIkZhaWxlZCB0byBjcmVhdGUgaW8gc3ViY2hhbm5lbCAiCisJCQkJICAgICAgImF0dHJpYnV0ZXMgZm9yIHN1YmNoYW5uZWwgIgorCQkJCSAgICAgICIwLiV4LiUwNHggKHJjPSVkKVxuIiwKKwkJCQkgICAgICBzY2gtPnNjaGlkLnNzaWQsIHNjaC0+c2NoaWQuc2NoX25vLCByYyk7CiAJCS8qCiAJCSAqIFRoaXMgc3ViY2hhbm5lbCBhbHJlYWR5IGhhcyBhbiBhc3NvY2lhdGVkIGNjd19kZXZpY2UuCi0JCSAqIFJlZ2lzdGVyIGl0IGFuZCBleGl0LiBUaGlzIGhhcHBlbnMgZm9yIGFsbCBlYXJseQotCQkgKiBkZXZpY2UsIGUuZy4gdGhlIGNvbnNvbGUuCisJCSAqIFRocm93IHRoZSBkZWxheWVkIHVldmVudCBmb3IgdGhlIHN1YmNoYW5uZWwsIHJlZ2lzdGVyCisJCSAqIHRoZSBjY3dfZGV2aWNlIGFuZCBleGl0LiBUaGlzIGhhcHBlbnMgZm9yIGFsbCBlYXJseQorCQkgKiBkZXZpY2VzLCBlLmcuIHRoZSBjb25zb2xlLgogCQkgKi8KKwkJc2NoLT5kZXYudWV2ZW50X3N1cHByZXNzID0gMDsKKwkJa29iamVjdF91ZXZlbnQoJnNjaC0+ZGV2LmtvYmosIEtPQkpfQUREKTsKIAkJY2Rldi0+ZGV2Lmdyb3VwcyA9IGNjd2Rldl9hdHRyX2dyb3VwczsKIAkJZGV2aWNlX2luaXRpYWxpemUoJmNkZXYtPmRldik7CiAJCWNjd19kZXZpY2VfcmVnaXN0ZXIoY2Rldik7CkBAIC0xMTUyLDE3ICsxMTg1LDI0IEBACiAJCQlnZXRfZGV2aWNlKCZjZGV2LT5kZXYpOwogCQlyZXR1cm4gMDsKIAl9CisJaW9fc3ViY2hhbm5lbF9pbml0X2ZpZWxkcyhzY2gpOwogCS8qCiAJICogRmlyc3QgY2hlY2sgaWYgYSBmaXR0aW5nIGRldmljZSBtYXkgYmUgZm91bmQgYW1vbmdzdCB0aGUKIAkgKiBkaXNjb25uZWN0ZWQgZGV2aWNlcyBvciBpbiB0aGUgb3JwaGFuYWdlLgogCSAqLwogCWRldl9pZC5kZXZubyA9IHNjaC0+c2NoaWIucG1jdy5kZXY7CiAJZGV2X2lkLnNzaWQgPSBzY2gtPnNjaGlkLnNzaWQ7CisJcmMgPSBzeXNmc19jcmVhdGVfZ3JvdXAoJnNjaC0+ZGV2LmtvYmosCisJCQkJJmlvX3N1YmNoYW5uZWxfYXR0cl9ncm91cCk7CisJaWYgKHJjKQorCQlyZXR1cm4gcmM7CiAJLyogQWxsb2NhdGUgSS9PIHN1YmNoYW5uZWwgcHJpdmF0ZSBkYXRhLiAqLwogCXNjaC0+cHJpdmF0ZSA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBpb19zdWJjaGFubmVsX3ByaXZhdGUpLAogCQkJICAgICAgIEdGUF9LRVJORUwgfCBHRlBfRE1BKTsKLQlpZiAoIXNjaC0+cHJpdmF0ZSkKLQkJcmV0dXJuIC1FTk9NRU07CisJaWYgKCFzY2gtPnByaXZhdGUpIHsKKwkJcmMgPSAtRU5PTUVNOworCQlnb3RvIG91dF9lcnI7CisJfQogCWNkZXYgPSBnZXRfZGlzY19jY3dkZXZfYnlfZGV2X2lkKCZkZXZfaWQsIE5VTEwpOwogCWlmICghY2RldikKIAkJY2RldiA9IGdldF9vcnBoYW5lZF9jY3dkZXZfYnlfZGV2X2lkKHRvX2NzcyhzY2gtPmRldi5wYXJlbnQpLApAQCAtMTE4MSw4ICsxMjIxLDggQEAKIAl9CiAJY2RldiA9IGlvX3N1YmNoYW5uZWxfY3JlYXRlX2Njd2RldihzY2gpOwogCWlmIChJU19FUlIoY2RldikpIHsKLQkJa2ZyZWUoc2NoLT5wcml2YXRlKTsKLQkJcmV0dXJuIFBUUl9FUlIoY2Rldik7CisJCXJjID0gUFRSX0VSUihjZGV2KTsKKwkJZ290byBvdXRfZXJyOwogCX0KIAlyYyA9IGlvX3N1YmNoYW5uZWxfcmVjb2coY2Rldiwgc2NoKTsKIAlpZiAocmMpIHsKQEAgLTExOTEsOSArMTIzMSwxMiBAQAogCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKHNjaC0+bG9jaywgZmxhZ3MpOwogCQlpZiAoY2Rldi0+ZGV2LnJlbGVhc2UpCiAJCQljZGV2LT5kZXYucmVsZWFzZSgmY2Rldi0+ZGV2KTsKLQkJa2ZyZWUoc2NoLT5wcml2YXRlKTsKKwkJZ290byBvdXRfZXJyOwogCX0KLQorCXJldHVybiAwOworb3V0X2VycjoKKwlrZnJlZShzY2gtPnByaXZhdGUpOworCXN5c2ZzX3JlbW92ZV9ncm91cCgmc2NoLT5kZXYua29iaiwgJmlvX3N1YmNoYW5uZWxfYXR0cl9ncm91cCk7CiAJcmV0dXJuIHJjOwogfQogCkBAIC0xMjE0LDYgKzEyNTcsNyBAQAogCWNjd19kZXZpY2VfdW5yZWdpc3RlcihjZGV2KTsKIAlwdXRfZGV2aWNlKCZjZGV2LT5kZXYpOwogCWtmcmVlKHNjaC0+cHJpdmF0ZSk7CisJc3lzZnNfcmVtb3ZlX2dyb3VwKCZzY2gtPmRldi5rb2JqLCAmaW9fc3ViY2hhbm5lbF9hdHRyX2dyb3VwKTsKIAlyZXR1cm4gMDsKIH0KIApAQCAtMTIyNCwxMSArMTI2OCw3IEBACiAJY2RldiA9IHNjaF9nZXRfY2RldihzY2gpOwogCWlmICghY2RldikKIAkJcmV0dXJuIDA7Ci0JaWYgKCFjZGV2LT5kcnYpCi0JCXJldHVybiAwOwotCWlmICghY2Rldi0+b25saW5lKQotCQlyZXR1cm4gMDsKLQlyZXR1cm4gY2Rldi0+ZHJ2LT5ub3RpZnkgPyBjZGV2LT5kcnYtPm5vdGlmeShjZGV2LCBldmVudCkgOiAwOworCXJldHVybiBjY3dfZGV2aWNlX25vdGlmeShjZGV2LCBldmVudCk7CiB9CiAKIHN0YXRpYyB2b2lkIGlvX3N1YmNoYW5uZWxfdmVyaWZ5KHN0cnVjdCBzdWJjaGFubmVsICpzY2gpCkBAIC0xMjQwLDIwICsxMjgwLDk0IEBACiAJCWRldl9mc21fZXZlbnQoY2RldiwgREVWX0VWRU5UX1ZFUklGWSk7CiB9CiAKLXN0YXRpYyB2b2lkIGlvX3N1YmNoYW5uZWxfaW90ZXJtKHN0cnVjdCBzdWJjaGFubmVsICpzY2gpCitzdGF0aWMgaW50IGNoZWNrX2Zvcl9pb19vbl9wYXRoKHN0cnVjdCBzdWJjaGFubmVsICpzY2gsIGludCBtYXNrKQoreworCWludCBjYzsKKworCWNjID0gc3RzY2goc2NoLT5zY2hpZCwgJnNjaC0+c2NoaWIpOworCWlmIChjYykKKwkJcmV0dXJuIDA7CisJaWYgKHNjc3dfYWN0bCgmc2NoLT5zY2hpYi5zY3N3KSAmJiBzY2gtPnNjaGliLnBtY3cubHB1bSA9PSBtYXNrKQorCQlyZXR1cm4gMTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgdGVybWluYXRlX2ludGVybmFsX2lvKHN0cnVjdCBzdWJjaGFubmVsICpzY2gsCisJCQkJICBzdHJ1Y3QgY2N3X2RldmljZSAqY2RldikKK3sKKwlpZiAoY2lvX2NsZWFyKHNjaCkpIHsKKwkJLyogUmVjaGVjayBkZXZpY2UgaW4gY2FzZSBjbGVhciBmYWlsZWQuICovCisJCXNjaC0+bHBtID0gMDsKKwkJaWYgKGNkZXYtPm9ubGluZSkKKwkJCWRldl9mc21fZXZlbnQoY2RldiwgREVWX0VWRU5UX1ZFUklGWSk7CisJCWVsc2UKKwkJCWNzc19zY2hlZHVsZV9ldmFsKHNjaC0+c2NoaWQpOworCQlyZXR1cm47CisJfQorCWNkZXYtPnByaXZhdGUtPnN0YXRlID0gREVWX1NUQVRFX0NMRUFSX1ZFUklGWTsKKwkvKiBSZXF1ZXN0IHJldHJ5IG9mIGludGVybmFsIG9wZXJhdGlvbi4gKi8KKwljZGV2LT5wcml2YXRlLT5mbGFncy5pbnRyZXRyeSA9IDE7CisJLyogQ2FsbCBoYW5kbGVyLiAqLworCWlmIChjZGV2LT5oYW5kbGVyKQorCQljZGV2LT5oYW5kbGVyKGNkZXYsIGNkZXYtPnByaXZhdGUtPmludHBhcm0sCisJCQkgICAgICBFUlJfUFRSKC1FSU8pKTsKK30KKworc3RhdGljIHZvaWQgaW9fc3ViY2hhbm5lbF90ZXJtaW5hdGVfcGF0aChzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoLCB1OCBtYXNrKQogewogCXN0cnVjdCBjY3dfZGV2aWNlICpjZGV2OwogCiAJY2RldiA9IHNjaF9nZXRfY2RldihzY2gpOwogCWlmICghY2RldikKIAkJcmV0dXJuOwotCS8qIEludGVybmFsIEkvTyB3aWxsIGJlIHJldHJpZWQgYnkgdGhlIGludGVycnVwdCBoYW5kbGVyLiAqLwotCWlmIChjZGV2LT5wcml2YXRlLT5mbGFncy5pbnRyZXRyeSkKLQkJcmV0dXJuOwotCWNkZXYtPnByaXZhdGUtPnN0YXRlID0gREVWX1NUQVRFX0NMRUFSX1ZFUklGWTsKLQlpZiAoY2Rldi0+aGFuZGxlcikKLQkJY2Rldi0+aGFuZGxlcihjZGV2LCBjZGV2LT5wcml2YXRlLT5pbnRwYXJtLAotCQkJICAgICAgRVJSX1BUUigtRUlPKSk7CisJaWYgKGNoZWNrX2Zvcl9pb19vbl9wYXRoKHNjaCwgbWFzaykpIHsKKwkJaWYgKGNkZXYtPnByaXZhdGUtPnN0YXRlID09IERFVl9TVEFURV9PTkxJTkUpCisJCQljY3dfZGV2aWNlX2tpbGxfaW8oY2Rldik7CisJCWVsc2UgeworCQkJdGVybWluYXRlX2ludGVybmFsX2lvKHNjaCwgY2Rldik7CisJCQkvKiBSZS1zdGFydCBwYXRoIHZlcmlmaWNhdGlvbi4gKi8KKwkJCWRldl9mc21fZXZlbnQoY2RldiwgREVWX0VWRU5UX1ZFUklGWSk7CisJCX0KKwl9IGVsc2UKKwkJLyogdHJpZ2dlciBwYXRoIHZlcmlmaWNhdGlvbi4gKi8KKwkJZGV2X2ZzbV9ldmVudChjZGV2LCBERVZfRVZFTlRfVkVSSUZZKTsKKworfQorCitzdGF0aWMgaW50IGlvX3N1YmNoYW5uZWxfY2hwX2V2ZW50KHN0cnVjdCBzdWJjaGFubmVsICpzY2gsCisJCQkJICAgc3RydWN0IGNocF9saW5rICpsaW5rLCBpbnQgZXZlbnQpCit7CisJaW50IG1hc2s7CisKKwltYXNrID0gY2hwX3NzZF9nZXRfbWFzaygmc2NoLT5zc2RfaW5mbywgbGluayk7CisJaWYgKCFtYXNrKQorCQlyZXR1cm4gMDsKKwlzd2l0Y2ggKGV2ZW50KSB7CisJY2FzZSBDSFBfVkFSWV9PRkY6CisJCXNjaC0+b3BtICY9IH5tYXNrOworCQlzY2gtPmxwbSAmPSB+bWFzazsKKwkJaW9fc3ViY2hhbm5lbF90ZXJtaW5hdGVfcGF0aChzY2gsIG1hc2spOworCQlicmVhazsKKwljYXNlIENIUF9WQVJZX09OOgorCQlzY2gtPm9wbSB8PSBtYXNrOworCQlzY2gtPmxwbSB8PSBtYXNrOworCQlpb19zdWJjaGFubmVsX3ZlcmlmeShzY2gpOworCQlicmVhazsKKwljYXNlIENIUF9PRkZMSU5FOgorCQlpZiAoc3RzY2goc2NoLT5zY2hpZCwgJnNjaC0+c2NoaWIpKQorCQkJcmV0dXJuIC1FTlhJTzsKKwkJaWYgKCFjc3Nfc2NoX2lzX3ZhbGlkKCZzY2gtPnNjaGliKSkKKwkJCXJldHVybiAtRU5PREVWOworCQlpb19zdWJjaGFubmVsX3Rlcm1pbmF0ZV9wYXRoKHNjaCwgbWFzayk7CisJCWJyZWFrOworCWNhc2UgQ0hQX09OTElORToKKwkJaWYgKHN0c2NoKHNjaC0+c2NoaWQsICZzY2gtPnNjaGliKSkKKwkJCXJldHVybiAtRU5YSU87CisJCXNjaC0+bHBtIHw9IG1hc2sgJiBzY2gtPm9wbTsKKwkJaW9fc3ViY2hhbm5lbF92ZXJpZnkoc2NoKTsKKwkJYnJlYWs7CisJfQorCXJldHVybiAwOwogfQogCiBzdGF0aWMgdm9pZApAQCAtMTI4NSw2ICsxMzk5LDE5NSBAQAogCWNpb19kaXNhYmxlX3N1YmNoYW5uZWwoc2NoKTsKIH0KIAorc3RhdGljIGludCBpb19zdWJjaGFubmVsX2dldF9zdGF0dXMoc3RydWN0IHN1YmNoYW5uZWwgKnNjaCkKK3sKKwlzdHJ1Y3Qgc2NoaWIgc2NoaWI7CisKKwlpZiAoc3RzY2goc2NoLT5zY2hpZCwgJnNjaGliKSB8fCAhc2NoaWIucG1jdy5kbnYpCisJCXJldHVybiBDSU9fR09ORTsKKwlpZiAoc2NoLT5zY2hpYi5wbWN3LmRudiAmJiAoc2NoaWIucG1jdy5kZXYgIT0gc2NoLT5zY2hpYi5wbWN3LmRldikpCisJCXJldHVybiBDSU9fUkVWQUxJREFURTsKKwlpZiAoIXNjaC0+bHBtKQorCQlyZXR1cm4gQ0lPX05PX1BBVEg7CisJcmV0dXJuIENJT19PUEVSOworfQorCitzdGF0aWMgaW50IGRldmljZV9pc19kaXNjb25uZWN0ZWQoc3RydWN0IGNjd19kZXZpY2UgKmNkZXYpCit7CisJaWYgKCFjZGV2KQorCQlyZXR1cm4gMDsKKwlyZXR1cm4gKGNkZXYtPnByaXZhdGUtPnN0YXRlID09IERFVl9TVEFURV9ESVNDT05ORUNURUQgfHwKKwkJY2Rldi0+cHJpdmF0ZS0+c3RhdGUgPT0gREVWX1NUQVRFX0RJU0NPTk5FQ1RFRF9TRU5TRV9JRCk7Cit9CisKK3N0YXRpYyBpbnQgcmVjb3ZlcnlfY2hlY2soc3RydWN0IGRldmljZSAqZGV2LCB2b2lkICpkYXRhKQoreworCXN0cnVjdCBjY3dfZGV2aWNlICpjZGV2ID0gdG9fY2N3ZGV2KGRldik7CisJaW50ICpyZWRvID0gZGF0YTsKKworCXNwaW5fbG9ja19pcnEoY2Rldi0+Y2N3bG9jayk7CisJc3dpdGNoIChjZGV2LT5wcml2YXRlLT5zdGF0ZSkgeworCWNhc2UgREVWX1NUQVRFX0RJU0NPTk5FQ1RFRDoKKwkJQ0lPX01TR19FVkVOVCgzLCAicmVjb3Zlcnk6IHRyaWdnZXIgMC4leC4lMDR4XG4iLAorCQkJICAgICAgY2Rldi0+cHJpdmF0ZS0+ZGV2X2lkLnNzaWQsCisJCQkgICAgICBjZGV2LT5wcml2YXRlLT5kZXZfaWQuZGV2bm8pOworCQlkZXZfZnNtX2V2ZW50KGNkZXYsIERFVl9FVkVOVF9WRVJJRlkpOworCQkqcmVkbyA9IDE7CisJCWJyZWFrOworCWNhc2UgREVWX1NUQVRFX0RJU0NPTk5FQ1RFRF9TRU5TRV9JRDoKKwkJKnJlZG8gPSAxOworCQlicmVhazsKKwl9CisJc3Bpbl91bmxvY2tfaXJxKGNkZXYtPmNjd2xvY2spOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIHJlY292ZXJ5X3dvcmtfZnVuYyhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKnVudXNlZCkKK3sKKwlpbnQgcmVkbyA9IDA7CisKKwlidXNfZm9yX2VhY2hfZGV2KCZjY3dfYnVzX3R5cGUsIE5VTEwsICZyZWRvLCByZWNvdmVyeV9jaGVjayk7CisJaWYgKHJlZG8pIHsKKwkJc3Bpbl9sb2NrX2lycSgmcmVjb3ZlcnlfbG9jayk7CisJCWlmICghdGltZXJfcGVuZGluZygmcmVjb3ZlcnlfdGltZXIpKSB7CisJCQlpZiAocmVjb3ZlcnlfcGhhc2UgPCBBUlJBWV9TSVpFKHJlY292ZXJ5X2RlbGF5KSAtIDEpCisJCQkJcmVjb3ZlcnlfcGhhc2UrKzsKKwkJCW1vZF90aW1lcigmcmVjb3ZlcnlfdGltZXIsIGppZmZpZXMgKworCQkJCSAgcmVjb3ZlcnlfZGVsYXlbcmVjb3ZlcnlfcGhhc2VdICogSFopOworCQl9CisJCXNwaW5fdW5sb2NrX2lycSgmcmVjb3ZlcnlfbG9jayk7CisJfSBlbHNlCisJCUNJT19NU0dfRVZFTlQoNCwgInJlY292ZXJ5OiBlbmRcbiIpOworfQorCitzdGF0aWMgREVDTEFSRV9XT1JLKHJlY292ZXJ5X3dvcmssIHJlY292ZXJ5X3dvcmtfZnVuYyk7CisKK3N0YXRpYyB2b2lkIHJlY292ZXJ5X2Z1bmModW5zaWduZWQgbG9uZyBkYXRhKQoreworCS8qCisJICogV2UgY2FuJ3QgZG8gb3VyIHJlY292ZXJ5IGluIHNvZnRpcnEgY29udGV4dCBhbmQgaXQncyBub3QKKwkgKiBwZXJmb3JtYW5jZSBjcml0aWNhbCwgc28gd2Ugc2NoZWR1bGUgaXQuCisJICovCisJc2NoZWR1bGVfd29yaygmcmVjb3Zlcnlfd29yayk7Cit9CisKK3N0YXRpYyB2b2lkIGNjd19kZXZpY2Vfc2NoZWR1bGVfcmVjb3Zlcnkodm9pZCkKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJQ0lPX01TR19FVkVOVCg0LCAicmVjb3Zlcnk6IHNjaGVkdWxlXG4iKTsKKwlzcGluX2xvY2tfaXJxc2F2ZSgmcmVjb3ZlcnlfbG9jaywgZmxhZ3MpOworCWlmICghdGltZXJfcGVuZGluZygmcmVjb3ZlcnlfdGltZXIpIHx8IChyZWNvdmVyeV9waGFzZSAhPSAwKSkgeworCQlyZWNvdmVyeV9waGFzZSA9IDA7CisJCW1vZF90aW1lcigmcmVjb3ZlcnlfdGltZXIsIGppZmZpZXMgKyByZWNvdmVyeV9kZWxheVswXSAqIEhaKTsKKwl9CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcmVjb3ZlcnlfbG9jaywgZmxhZ3MpOworfQorCitzdGF0aWMgdm9pZCBkZXZpY2Vfc2V0X2Rpc2Nvbm5lY3RlZChzdHJ1Y3QgY2N3X2RldmljZSAqY2RldikKK3sKKwlpZiAoIWNkZXYpCisJCXJldHVybjsKKwljY3dfZGV2aWNlX3NldF90aW1lb3V0KGNkZXYsIDApOworCWNkZXYtPnByaXZhdGUtPmZsYWdzLmZha2VfaXJiID0gMDsKKwljZGV2LT5wcml2YXRlLT5zdGF0ZSA9IERFVl9TVEFURV9ESVNDT05ORUNURUQ7CisJaWYgKGNkZXYtPm9ubGluZSkKKwkJY2N3X2RldmljZV9zY2hlZHVsZV9yZWNvdmVyeSgpOworfQorCitzdGF0aWMgaW50IGlvX3N1YmNoYW5uZWxfc2NoX2V2ZW50KHN0cnVjdCBzdWJjaGFubmVsICpzY2gsIGludCBzbG93KQoreworCWludCBldmVudCwgcmV0LCBkaXNjOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJZW51bSB7IE5PTkUsIFVOUkVHSVNURVIsIFVOUkVHSVNURVJfUFJPQkUsIFJFUFJPQkUgfSBhY3Rpb247CisJc3RydWN0IGNjd19kZXZpY2UgKmNkZXY7CisKKwlzcGluX2xvY2tfaXJxc2F2ZShzY2gtPmxvY2ssIGZsYWdzKTsKKwljZGV2ID0gc2NoX2dldF9jZGV2KHNjaCk7CisJZGlzYyA9IGRldmljZV9pc19kaXNjb25uZWN0ZWQoY2Rldik7CisJaWYgKGRpc2MgJiYgc2xvdykgeworCQkvKiBEaXNjb25uZWN0ZWQgZGV2aWNlcyBhcmUgZXZhbHVhdGVkIGRpcmVjdGx5IG9ubHkuKi8KKwkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZShzY2gtPmxvY2ssIGZsYWdzKTsKKwkJcmV0dXJuIDA7CisJfQorCS8qIE5vIGludGVycnVwdCBhZnRlciBtYWNoaW5lIGNoZWNrIC0ga2lsbCBwZW5kaW5nIHRpbWVycy4gKi8KKwlpZiAoY2RldikKKwkJY2N3X2RldmljZV9zZXRfdGltZW91dChjZGV2LCAwKTsKKwlpZiAoIWRpc2MgJiYgIXNsb3cpIHsKKwkJLyogTm9uLWRpc2Nvbm5lY3RlZCBkZXZpY2VzIGFyZSBldmFsdWF0ZWQgb24gdGhlIHNsb3cgcGF0aC4gKi8KKwkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZShzY2gtPmxvY2ssIGZsYWdzKTsKKwkJcmV0dXJuIC1FQUdBSU47CisJfQorCWV2ZW50ID0gaW9fc3ViY2hhbm5lbF9nZXRfc3RhdHVzKHNjaCk7CisJQ0lPX01TR19FVkVOVCg0LCAiRXZhbHVhdGluZyBzY2hpZCAwLiV4LiUwNHgsIGV2ZW50ICVkLCAlcywgJXMgcGF0aC5cbiIsCisJCSAgICAgIHNjaC0+c2NoaWQuc3NpZCwgc2NoLT5zY2hpZC5zY2hfbm8sIGV2ZW50LAorCQkgICAgICBkaXNjID8gImRpc2Nvbm5lY3RlZCIgOiAibm9ybWFsIiwKKwkJICAgICAgc2xvdyA/ICJzbG93IiA6ICJmYXN0Iik7CisJLyogQW5hbHl6ZSBzdWJjaGFubmVsIHN0YXR1cy4gKi8KKwlhY3Rpb24gPSBOT05FOworCXN3aXRjaCAoZXZlbnQpIHsKKwljYXNlIENJT19OT19QQVRIOgorCQlpZiAoZGlzYykgeworCQkJLyogQ2hlY2sgaWYgcGF0aHMgaGF2ZSBiZWNvbWUgYXZhaWxhYmxlLiAqLworCQkJYWN0aW9uID0gUkVQUk9CRTsKKwkJCWJyZWFrOworCQl9CisJCS8qIGZhbGwgdGhyb3VnaCAqLworCWNhc2UgQ0lPX0dPTkU6CisJCS8qIFByZXZlbnQgdW53YW50ZWQgZWZmZWN0cyB3aGVuIG9wZW5pbmcgbG9jay4gKi8KKwkJY2lvX2Rpc2FibGVfc3ViY2hhbm5lbChzY2gpOworCQlkZXZpY2Vfc2V0X2Rpc2Nvbm5lY3RlZChjZGV2KTsKKwkJLyogQXNrIGRyaXZlciB3aGF0IHRvIGRvIHdpdGggZGV2aWNlLiAqLworCQlhY3Rpb24gPSBVTlJFR0lTVEVSOworCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKHNjaC0+bG9jaywgZmxhZ3MpOworCQlyZXQgPSBpb19zdWJjaGFubmVsX25vdGlmeShzY2gsIGV2ZW50KTsKKwkJc3Bpbl9sb2NrX2lycXNhdmUoc2NoLT5sb2NrLCBmbGFncyk7CisJCWlmIChyZXQpCisJCQlhY3Rpb24gPSBOT05FOworCQlicmVhazsKKwljYXNlIENJT19SRVZBTElEQVRFOgorCQkvKiBEZXZpY2Ugd2lsbCBiZSByZW1vdmVkLCBzbyBubyBub3RpZnkgbmVjZXNzYXJ5LiAqLworCQlpZiAoZGlzYykKKwkJCS8qIFJlcHJvYmUgYmVjYXVzZSBpbW1lZGlhdGUgdW5yZWdpc3RlciBtaWdodCBibG9jay4gKi8KKwkJCWFjdGlvbiA9IFJFUFJPQkU7CisJCWVsc2UKKwkJCWFjdGlvbiA9IFVOUkVHSVNURVJfUFJPQkU7CisJCWJyZWFrOworCWNhc2UgQ0lPX09QRVI6CisJCWlmIChkaXNjKQorCQkJLyogR2V0IGRldmljZSBvcGVyYXRpb25hbCBhZ2Fpbi4gKi8KKwkJCWFjdGlvbiA9IFJFUFJPQkU7CisJCWJyZWFrOworCX0KKwkvKiBQZXJmb3JtIGFjdGlvbi4gKi8KKwlyZXQgPSAwOworCXN3aXRjaCAoYWN0aW9uKSB7CisJY2FzZSBVTlJFR0lTVEVSOgorCWNhc2UgVU5SRUdJU1RFUl9QUk9CRToKKwkJLyogVW5yZWdpc3RlciBkZXZpY2UgKHdpbGwgdXNlIHN1YmNoYW5uZWwgbG9jaykuICovCisJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoc2NoLT5sb2NrLCBmbGFncyk7CisJCWNzc19zY2hfZGV2aWNlX3VucmVnaXN0ZXIoc2NoKTsKKwkJc3Bpbl9sb2NrX2lycXNhdmUoc2NoLT5sb2NrLCBmbGFncyk7CisKKwkJLyogUmVzZXQgaW50cGFybSB0byB6ZXJvZXMuICovCisJCXNjaC0+c2NoaWIucG1jdy5pbnRwYXJtID0gMDsKKwkJY2lvX21vZGlmeShzY2gpOworCQlicmVhazsKKwljYXNlIFJFUFJPQkU6CisJCWNjd19kZXZpY2VfdHJpZ2dlcl9yZXByb2JlKGNkZXYpOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlicmVhazsKKwl9CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZShzY2gtPmxvY2ssIGZsYWdzKTsKKwkvKiBQcm9iZSBpZiBuZWNlc3NhcnkuICovCisJaWYgKGFjdGlvbiA9PSBVTlJFR0lTVEVSX1BST0JFKQorCQlyZXQgPSBjc3NfcHJvYmVfZGV2aWNlKHNjaC0+c2NoaWQpOworCisJcmV0dXJuIHJldDsKK30KKwogI2lmZGVmIENPTkZJR19DQ1dfQ09OU09MRQogc3RhdGljIHN0cnVjdCBjY3dfZGV2aWNlIGNvbnNvbGVfY2RldjsKIHN0YXRpYyBzdHJ1Y3QgY2N3X2RldmljZV9wcml2YXRlIGNvbnNvbGVfcHJpdmF0ZTsKQEAgLTEyOTcsMTQgKzE2MDAsMTYgQEAKIAlyZXR1cm4gJmNjd19jb25zb2xlX2xvY2s7CiB9CiAKLXN0YXRpYyBpbnQKLWNjd19kZXZpY2VfY29uc29sZV9lbmFibGUgKHN0cnVjdCBjY3dfZGV2aWNlICpjZGV2LCBzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoKQorc3RhdGljIGludCBjY3dfZGV2aWNlX2NvbnNvbGVfZW5hYmxlKHN0cnVjdCBjY3dfZGV2aWNlICpjZGV2LAorCQkJCSAgICAgc3RydWN0IHN1YmNoYW5uZWwgKnNjaCkKIHsKIAlpbnQgcmM7CiAKIAkvKiBBdHRhY2ggc3ViY2hhbm5lbCBwcml2YXRlIGRhdGEuICovCiAJc2NoLT5wcml2YXRlID0gY2lvX2dldF9jb25zb2xlX3ByaXYoKTsKIAltZW1zZXQoc2NoLT5wcml2YXRlLCAwLCBzaXplb2Yoc3RydWN0IGlvX3N1YmNoYW5uZWxfcHJpdmF0ZSkpOworCWlvX3N1YmNoYW5uZWxfaW5pdF9maWVsZHMoc2NoKTsKKwlzY2gtPmRyaXZlciA9ICZpb19zdWJjaGFubmVsX2RyaXZlcjsKIAkvKiBJbml0aWFsaXplIHRoZSBjY3dfZGV2aWNlIHN0cnVjdHVyZS4gKi8KIAljZGV2LT5kZXYucGFyZW50PSAmc2NoLT5kZXY7CiAJcmMgPSBpb19zdWJjaGFubmVsX3JlY29nKGNkZXYsIHNjaCk7CkBAIC0xNTE1LDcxICsxODIwLDYgQEAKIAlyZXR1cm4gc2NoLT5zY2hpZDsKIH0KIAotc3RhdGljIGludCByZWNvdmVyeV9jaGVjayhzdHJ1Y3QgZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEpCi17Ci0Jc3RydWN0IGNjd19kZXZpY2UgKmNkZXYgPSB0b19jY3dkZXYoZGV2KTsKLQlpbnQgKnJlZG8gPSBkYXRhOwotCi0Jc3Bpbl9sb2NrX2lycShjZGV2LT5jY3dsb2NrKTsKLQlzd2l0Y2ggKGNkZXYtPnByaXZhdGUtPnN0YXRlKSB7Ci0JY2FzZSBERVZfU1RBVEVfRElTQ09OTkVDVEVEOgotCQlDSU9fTVNHX0VWRU5UKDQsICJyZWNvdmVyeTogdHJpZ2dlciAwLiV4LiUwNHhcbiIsCi0JCQkgICAgICBjZGV2LT5wcml2YXRlLT5kZXZfaWQuc3NpZCwKLQkJCSAgICAgIGNkZXYtPnByaXZhdGUtPmRldl9pZC5kZXZubyk7Ci0JCWRldl9mc21fZXZlbnQoY2RldiwgREVWX0VWRU5UX1ZFUklGWSk7Ci0JCSpyZWRvID0gMTsKLQkJYnJlYWs7Ci0JY2FzZSBERVZfU1RBVEVfRElTQ09OTkVDVEVEX1NFTlNFX0lEOgotCQkqcmVkbyA9IDE7Ci0JCWJyZWFrOwotCX0KLQlzcGluX3VubG9ja19pcnEoY2Rldi0+Y2N3bG9jayk7Ci0KLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQgcmVjb3Zlcnlfd29ya19mdW5jKHN0cnVjdCB3b3JrX3N0cnVjdCAqdW51c2VkKQotewotCWludCByZWRvID0gMDsKLQotCWJ1c19mb3JfZWFjaF9kZXYoJmNjd19idXNfdHlwZSwgTlVMTCwgJnJlZG8sIHJlY292ZXJ5X2NoZWNrKTsKLQlpZiAocmVkbykgewotCQlzcGluX2xvY2tfaXJxKCZyZWNvdmVyeV9sb2NrKTsKLQkJaWYgKCF0aW1lcl9wZW5kaW5nKCZyZWNvdmVyeV90aW1lcikpIHsKLQkJCWlmIChyZWNvdmVyeV9waGFzZSA8IEFSUkFZX1NJWkUocmVjb3ZlcnlfZGVsYXkpIC0gMSkKLQkJCQlyZWNvdmVyeV9waGFzZSsrOwotCQkJbW9kX3RpbWVyKCZyZWNvdmVyeV90aW1lciwgamlmZmllcyArCi0JCQkJICByZWNvdmVyeV9kZWxheVtyZWNvdmVyeV9waGFzZV0gKiBIWik7Ci0JCX0KLQkJc3Bpbl91bmxvY2tfaXJxKCZyZWNvdmVyeV9sb2NrKTsKLQl9IGVsc2UKLQkJQ0lPX01TR19FVkVOVCg0LCAicmVjb3Zlcnk6IGVuZFxuIik7Ci19Ci0KLXN0YXRpYyBERUNMQVJFX1dPUksocmVjb3Zlcnlfd29yaywgcmVjb3Zlcnlfd29ya19mdW5jKTsKLQotc3RhdGljIHZvaWQgcmVjb3ZlcnlfZnVuYyh1bnNpZ25lZCBsb25nIGRhdGEpCi17Ci0JLyoKLQkgKiBXZSBjYW4ndCBkbyBvdXIgcmVjb3ZlcnkgaW4gc29mdGlycSBjb250ZXh0IGFuZCBpdCdzIG5vdAotCSAqIHBlcmZvcm1hbmNlIGNyaXRpY2FsLCBzbyB3ZSBzY2hlZHVsZSBpdC4KLQkgKi8KLQlzY2hlZHVsZV93b3JrKCZyZWNvdmVyeV93b3JrKTsKLX0KLQotdm9pZCBjY3dfZGV2aWNlX3NjaGVkdWxlX3JlY292ZXJ5KHZvaWQpCi17Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQotCUNJT19NU0dfRVZFTlQoNCwgInJlY292ZXJ5OiBzY2hlZHVsZVxuIik7Ci0Jc3Bpbl9sb2NrX2lycXNhdmUoJnJlY292ZXJ5X2xvY2ssIGZsYWdzKTsKLQlpZiAoIXRpbWVyX3BlbmRpbmcoJnJlY292ZXJ5X3RpbWVyKSB8fCAocmVjb3ZlcnlfcGhhc2UgIT0gMCkpIHsKLQkJcmVjb3ZlcnlfcGhhc2UgPSAwOwotCQltb2RfdGltZXIoJnJlY292ZXJ5X3RpbWVyLCBqaWZmaWVzICsgcmVjb3ZlcnlfZGVsYXlbMF0gKiBIWik7Ci0JfQotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnJlY292ZXJ5X2xvY2ssIGZsYWdzKTsKLX0KLQogTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwogRVhQT1JUX1NZTUJPTChjY3dfZGV2aWNlX3NldF9vbmxpbmUpOwogRVhQT1JUX1NZTUJPTChjY3dfZGV2aWNlX3NldF9vZmZsaW5lKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaW8vZGV2aWNlLmggYi9kcml2ZXJzL3MzOTAvY2lvL2RldmljZS5oCmluZGV4IGNiMDgwOTIuLjk4MDBhODMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaW8vZGV2aWNlLmgKKysrIGIvZHJpdmVycy9zMzkwL2Npby9kZXZpY2UuaApAQCAtODgsOCArODgsNiBAQAogaW50IGNjd19kZXZpY2Vfb25saW5lKHN0cnVjdCBjY3dfZGV2aWNlICopOwogaW50IGNjd19kZXZpY2Vfb2ZmbGluZShzdHJ1Y3QgY2N3X2RldmljZSAqKTsKIAotdm9pZCBjY3dfZGV2aWNlX3NjaGVkdWxlX3JlY292ZXJ5KHZvaWQpOwotCiAvKiBGdW5jdGlvbiBwcm90b3R5cGVzIGZvciBkZXZpY2Ugc3RhdHVzIGFuZCBiYXNpYyBzZW5zZSBzdHVmZi4gKi8KIHZvaWQgY2N3X2RldmljZV9hY2N1bXVsYXRlX2lyYihzdHJ1Y3QgY2N3X2RldmljZSAqLCBzdHJ1Y3QgaXJiICopOwogdm9pZCBjY3dfZGV2aWNlX2FjY3VtdWxhdGVfYmFzaWNfc2Vuc2Uoc3RydWN0IGNjd19kZXZpY2UgKiwgc3RydWN0IGlyYiAqKTsKQEAgLTExOCw2ICsxMTYsMTEgQEAKIAogaW50IGNjd19kZXZpY2Vfc3RsY2soc3RydWN0IGNjd19kZXZpY2UgKik7CiAKKy8qIEhlbHBlciBmdW5jdGlvbiBmb3IgbWFjaGluZSBjaGVjayBoYW5kbGluZy4gKi8KK3ZvaWQgY2N3X2RldmljZV90cmlnZ2VyX3JlcHJvYmUoc3RydWN0IGNjd19kZXZpY2UgKik7Cit2b2lkIGNjd19kZXZpY2Vfa2lsbF9pbyhzdHJ1Y3QgY2N3X2RldmljZSAqKTsKK2ludCBjY3dfZGV2aWNlX25vdGlmeShzdHJ1Y3QgY2N3X2RldmljZSAqLCBpbnQpOworCiAvKiBxZGlvIG5lZWRzIHRoaXMuICovCiB2b2lkIGNjd19kZXZpY2Vfc2V0X3RpbWVvdXQoc3RydWN0IGNjd19kZXZpY2UgKiwgaW50KTsKIGV4dGVybiBzdHJ1Y3Qgc3ViY2hhbm5lbF9pZCBjY3dfZGV2aWNlX2dldF9zdWJjaGFubmVsX2lkKHN0cnVjdCBjY3dfZGV2aWNlICopOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2Npby9kZXZpY2VfZnNtLmMgYi9kcml2ZXJzL3MzOTAvY2lvL2RldmljZV9mc20uYwppbmRleCBlMjY4ZDVhLi44YjVmZTU3IDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2lvL2RldmljZV9mc20uYworKysgYi9kcml2ZXJzL3MzOTAvY2lvL2RldmljZV9mc20uYwpAQCAtMiw4ICsyLDcgQEAKICAqIGRyaXZlcnMvczM5MC9jaW8vZGV2aWNlX2ZzbS5jCiAgKiBmaW5pdGUgc3RhdGUgbWFjaGluZSBmb3IgZGV2aWNlIGhhbmRsaW5nCiAgKgotICogICAgQ29weXJpZ2h0IChDKSAyMDAyIElCTSBEZXV0c2NobGFuZCBFbnR3aWNrbHVuZyBHbWJILAotICoJCQkgSUJNIENvcnBvcmF0aW9uCisgKiAgICBDb3B5cmlnaHQgSUJNIENvcnAuIDIwMDIsMjAwOAogICogICAgQXV0aG9yKHMpOiBDb3JuZWxpYSBIdWNrIChjb3JuZWxpYS5odWNrQGRlLmlibS5jb20pCiAgKgkJIE1hcnRpbiBTY2h3aWRlZnNreSAoc2Nod2lkZWZza3lAZGUuaWJtLmNvbSkKICAqLwpAQCAtMjcsNjUgKzI2LDYgQEAKIAogc3RhdGljIGludCB0aW1lb3V0X2xvZ19lbmFibGVkOwogCi1pbnQKLWRldmljZV9pc19vbmxpbmUoc3RydWN0IHN1YmNoYW5uZWwgKnNjaCkKLXsKLQlzdHJ1Y3QgY2N3X2RldmljZSAqY2RldjsKLQotCWNkZXYgPSBzY2hfZ2V0X2NkZXYoc2NoKTsKLQlpZiAoIWNkZXYpCi0JCXJldHVybiAwOwotCXJldHVybiAoY2Rldi0+cHJpdmF0ZS0+c3RhdGUgPT0gREVWX1NUQVRFX09OTElORSk7Ci19Ci0KLWludAotZGV2aWNlX2lzX2Rpc2Nvbm5lY3RlZChzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoKQotewotCXN0cnVjdCBjY3dfZGV2aWNlICpjZGV2OwotCi0JY2RldiA9IHNjaF9nZXRfY2RldihzY2gpOwotCWlmICghY2RldikKLQkJcmV0dXJuIDA7Ci0JcmV0dXJuIChjZGV2LT5wcml2YXRlLT5zdGF0ZSA9PSBERVZfU1RBVEVfRElTQ09OTkVDVEVEIHx8Ci0JCWNkZXYtPnByaXZhdGUtPnN0YXRlID09IERFVl9TVEFURV9ESVNDT05ORUNURURfU0VOU0VfSUQpOwotfQotCi12b2lkCi1kZXZpY2Vfc2V0X2Rpc2Nvbm5lY3RlZChzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoKQotewotCXN0cnVjdCBjY3dfZGV2aWNlICpjZGV2OwotCi0JY2RldiA9IHNjaF9nZXRfY2RldihzY2gpOwotCWlmICghY2RldikKLQkJcmV0dXJuOwotCWNjd19kZXZpY2Vfc2V0X3RpbWVvdXQoY2RldiwgMCk7Ci0JY2Rldi0+cHJpdmF0ZS0+ZmxhZ3MuZmFrZV9pcmIgPSAwOwotCWNkZXYtPnByaXZhdGUtPnN0YXRlID0gREVWX1NUQVRFX0RJU0NPTk5FQ1RFRDsKLQlpZiAoY2Rldi0+b25saW5lKQotCQljY3dfZGV2aWNlX3NjaGVkdWxlX3JlY292ZXJ5KCk7Ci19Ci0KLXZvaWQgZGV2aWNlX3NldF9pbnRyZXRyeShzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoKQotewotCXN0cnVjdCBjY3dfZGV2aWNlICpjZGV2OwotCi0JY2RldiA9IHNjaF9nZXRfY2RldihzY2gpOwotCWlmICghY2RldikKLQkJcmV0dXJuOwotCWNkZXYtPnByaXZhdGUtPmZsYWdzLmludHJldHJ5ID0gMTsKLX0KLQotaW50IGRldmljZV90cmlnZ2VyX3ZlcmlmeShzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoKQotewotCXN0cnVjdCBjY3dfZGV2aWNlICpjZGV2OwotCi0JY2RldiA9IHNjaF9nZXRfY2RldihzY2gpOwotCWlmICghY2RldiB8fCAhY2Rldi0+b25saW5lKQotCQlyZXR1cm4gLUVJTlZBTDsKLQlkZXZfZnNtX2V2ZW50KGNkZXYsIERFVl9FVkVOVF9WRVJJRlkpOwotCXJldHVybiAwOwotfQotCiBzdGF0aWMgaW50IF9faW5pdCBjY3dfdGltZW91dF9sb2dfc2V0dXAoY2hhciAqdW51c2VkKQogewogCXRpbWVvdXRfbG9nX2VuYWJsZWQgPSAxOwpAQCAtOTksMzEgKzM5LDQzIEBACiAJc3RydWN0IHNjaGliIHNjaGliOwogCXN0cnVjdCBzdWJjaGFubmVsICpzY2g7CiAJc3RydWN0IGlvX3N1YmNoYW5uZWxfcHJpdmF0ZSAqcHJpdmF0ZTsKKwl1bmlvbiBvcmIgKm9yYjsKIAlpbnQgY2M7CiAKIAlzY2ggPSB0b19zdWJjaGFubmVsKGNkZXYtPmRldi5wYXJlbnQpOwogCXByaXZhdGUgPSB0b19pb19wcml2YXRlKHNjaCk7CisJb3JiID0gJnByaXZhdGUtPm9yYjsKIAljYyA9IHN0c2NoKHNjaC0+c2NoaWQsICZzY2hpYik7CiAKIAlwcmludGsoS0VSTl9XQVJOSU5HICJjaW86IGNjdyBkZXZpY2UgdGltZW91dCBvY2N1cnJlZCBhdCAlbGx4LCAiCiAJICAgICAgICJkZXZpY2UgaW5mb3JtYXRpb246XG4iLCBnZXRfY2xvY2soKSk7CiAJcHJpbnRrKEtFUk5fV0FSTklORyAiY2lvOiBvcmI6XG4iKTsKIAlwcmludF9oZXhfZHVtcChLRVJOX1dBUk5JTkcsICJjaW86ICAiLCBEVU1QX1BSRUZJWF9OT05FLCAxNiwgMSwKLQkJICAgICAgICZwcml2YXRlLT5vcmIsIHNpemVvZihwcml2YXRlLT5vcmIpLCAwKTsKKwkJICAgICAgIG9yYiwgc2l6ZW9mKCpvcmIpLCAwKTsKIAlwcmludGsoS0VSTl9XQVJOSU5HICJjaW86IGNjdyBkZXZpY2UgYnVzIGlkOiAlc1xuIiwgY2Rldi0+ZGV2LmJ1c19pZCk7CiAJcHJpbnRrKEtFUk5fV0FSTklORyAiY2lvOiBzdWJjaGFubmVsIGJ1cyBpZDogJXNcbiIsIHNjaC0+ZGV2LmJ1c19pZCk7CiAJcHJpbnRrKEtFUk5fV0FSTklORyAiY2lvOiBzdWJjaGFubmVsIGxwbTogJTAyeCwgb3BtOiAlMDJ4LCAiCiAJICAgICAgICJ2cG06ICUwMnhcbiIsIHNjaC0+bHBtLCBzY2gtPm9wbSwgc2NoLT52cG0pOwogCi0JaWYgKCh2b2lkICopKGFkZHJfdClwcml2YXRlLT5vcmIuY3BhID09ICZwcml2YXRlLT5zZW5zZV9jY3cgfHwKLQkgICAgKHZvaWQgKikoYWRkcl90KXByaXZhdGUtPm9yYi5jcGEgPT0gY2Rldi0+cHJpdmF0ZS0+aWNjd3MpCi0JCXByaW50ayhLRVJOX1dBUk5JTkcgImNpbzogbGFzdCBjaGFubmVsIHByb2dyYW0gKGludGVybik6XG4iKTsKLQllbHNlCi0JCXByaW50ayhLRVJOX1dBUk5JTkcgImNpbzogbGFzdCBjaGFubmVsIHByb2dyYW06XG4iKTsKKwlpZiAob3JiLT50bS5iKSB7CisJCXByaW50ayhLRVJOX1dBUk5JTkcgImNpbzogb3JiIGluZGljYXRlcyB0cmFuc3BvcnQgbW9kZVxuIik7CisJCXByaW50ayhLRVJOX1dBUk5JTkcgImNpbzogbGFzdCB0Y3c6XG4iKTsKKwkJcHJpbnRfaGV4X2R1bXAoS0VSTl9XQVJOSU5HLCAiY2lvOiAgIiwgRFVNUF9QUkVGSVhfTk9ORSwgMTYsIDEsCisJCQkgICAgICAgKHZvaWQgKikoYWRkcl90KW9yYi0+dG0udGN3LAorCQkJICAgICAgIHNpemVvZihzdHJ1Y3QgdGN3KSwgMCk7CisJfSBlbHNlIHsKKwkJcHJpbnRrKEtFUk5fV0FSTklORyAiY2lvOiBvcmIgaW5kaWNhdGVzIGNvbW1hbmQgbW9kZVxuIik7CisJCWlmICgodm9pZCAqKShhZGRyX3Qpb3JiLT5jbWQuY3BhID09ICZwcml2YXRlLT5zZW5zZV9jY3cgfHwKKwkJICAgICh2b2lkICopKGFkZHJfdClvcmItPmNtZC5jcGEgPT0gY2Rldi0+cHJpdmF0ZS0+aWNjd3MpCisJCQlwcmludGsoS0VSTl9XQVJOSU5HICJjaW86IGxhc3QgY2hhbm5lbCBwcm9ncmFtICIKKwkJCSAgICAgICAiKGludGVybik6XG4iKTsKKwkJZWxzZQorCQkJcHJpbnRrKEtFUk5fV0FSTklORyAiY2lvOiBsYXN0IGNoYW5uZWwgcHJvZ3JhbTpcbiIpOwogCi0JcHJpbnRfaGV4X2R1bXAoS0VSTl9XQVJOSU5HLCAiY2lvOiAgIiwgRFVNUF9QUkVGSVhfTk9ORSwgMTYsIDEsCi0JCSAgICAgICAodm9pZCAqKShhZGRyX3QpcHJpdmF0ZS0+b3JiLmNwYSwKLQkJICAgICAgIHNpemVvZihzdHJ1Y3QgY2N3MSksIDApOworCQlwcmludF9oZXhfZHVtcChLRVJOX1dBUk5JTkcsICJjaW86ICAiLCBEVU1QX1BSRUZJWF9OT05FLCAxNiwgMSwKKwkJCSAgICAgICAodm9pZCAqKShhZGRyX3Qpb3JiLT5jbWQuY3BhLAorCQkJICAgICAgIHNpemVvZihzdHJ1Y3QgY2N3MSksIDApOworCX0KIAlwcmludGsoS0VSTl9XQVJOSU5HICJjaW86IGNjdyBkZXZpY2Ugc3RhdGU6ICVkXG4iLAogCSAgICAgICBjZGV2LT5wcml2YXRlLT5zdGF0ZSk7CiAJcHJpbnRrKEtFUk5fV0FSTklORyAiY2lvOiBzdG9yZSBzdWJjaGFubmVsIHJldHVybmVkOiBjYz0lZFxuIiwgY2MpOwpAQCAtMTcxLDE4ICsxMjMsNiBAQAogCWFkZF90aW1lcigmY2Rldi0+cHJpdmF0ZS0+dGltZXIpOwogfQogCi0vKiBLaWxsIGFueSBwZW5kaW5nIHRpbWVycyBhZnRlciBtYWNoaW5lIGNoZWNrLiAqLwotdm9pZAotZGV2aWNlX2tpbGxfcGVuZGluZ190aW1lcihzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoKQotewotCXN0cnVjdCBjY3dfZGV2aWNlICpjZGV2OwotCi0JY2RldiA9IHNjaF9nZXRfY2RldihzY2gpOwotCWlmICghY2RldikKLQkJcmV0dXJuOwotCWNjd19kZXZpY2Vfc2V0X3RpbWVvdXQoY2RldiwgMCk7Ci19Ci0KIC8qCiAgKiBDYW5jZWwgcnVubmluZyBpL28uIFRoaXMgaXMgY2FsbGVkIHJlcGVhdGVkbHkgc2luY2UgaGFsdC9jbGVhciBhcmUKICAqIGFzeW5jaHJvbm91cyBvcGVyYXRpb25zLiBXZSBkbyBvbmUgdHJ5IHdpdGggY2lvX2NhbmNlbCwgdHdvIHRyaWVzCkBAIC0yMDUsMTUgKzE0NSwxOCBAQAogCQkvKiBOb3Qgb3BlcmF0aW9uYWwgLT4gZG9uZS4gKi8KIAkJcmV0dXJuIDA7CiAJLyogU3RhZ2UgMTogY2FuY2VsIGlvLiAqLwotCWlmICghKHNjaC0+c2NoaWIuc2Nzdy5hY3RsICYgU0NTV19BQ1RMX0hBTFRfUEVORCkgJiYKLQkgICAgIShzY2gtPnNjaGliLnNjc3cuYWN0bCAmIFNDU1dfQUNUTF9DTEVBUl9QRU5EKSkgewotCQlyZXQgPSBjaW9fY2FuY2VsKHNjaCk7Ci0JCWlmIChyZXQgIT0gLUVJTlZBTCkKLQkJCXJldHVybiByZXQ7Ci0JCS8qIGNhbmNlbCBpbyB1bnN1Y2Nlc3NmdWwuIEZyb20gbm93IG9uIGl0IGlzIGFzeW5jaHJvbm91cy4gKi8KKwlpZiAoIShzY3N3X2FjdGwoJnNjaC0+c2NoaWIuc2NzdykgJiBTQ1NXX0FDVExfSEFMVF9QRU5EKSAmJgorCSAgICAhKHNjc3dfYWN0bCgmc2NoLT5zY2hpYi5zY3N3KSAmIFNDU1dfQUNUTF9DTEVBUl9QRU5EKSkgeworCQlpZiAoIXNjc3dfaXNfdG0oJnNjaC0+c2NoaWIuc2NzdykpIHsKKwkJCXJldCA9IGNpb19jYW5jZWwoc2NoKTsKKwkJCWlmIChyZXQgIT0gLUVJTlZBTCkKKwkJCQlyZXR1cm4gcmV0OworCQl9CisJCS8qIGNhbmNlbCBpbyB1bnN1Y2Nlc3NmdWwgb3Igbm90IGFwcGxpY2FibGUgKHRyYW5zcG9ydCBtb2RlKS4KKwkJICogQ29udGludWUgd2l0aCBhc3luY2hyb25vdXMgaW5zdHJ1Y3Rpb25zLiAqLwogCQljZGV2LT5wcml2YXRlLT5pcmV0cnkgPSAzOwkvKiAzIGhhbHQgcmV0cmllcy4gKi8KIAl9Ci0JaWYgKCEoc2NoLT5zY2hpYi5zY3N3LmFjdGwgJiBTQ1NXX0FDVExfQ0xFQVJfUEVORCkpIHsKKwlpZiAoIShzY3N3X2FjdGwoJnNjaC0+c2NoaWIuc2NzdykgJiBTQ1NXX0FDVExfQ0xFQVJfUEVORCkpIHsKIAkJLyogU3RhZ2UgMjogaGFsdCBpby4gKi8KIAkJaWYgKGNkZXYtPnByaXZhdGUtPmlyZXRyeSkgewogCQkJY2Rldi0+cHJpdmF0ZS0+aXJldHJ5LS07CkBAIC0zODgsMzQgKzMzMSwzMCBAQAogCX0KIH0KIAoraW50IGNjd19kZXZpY2Vfbm90aWZ5KHN0cnVjdCBjY3dfZGV2aWNlICpjZGV2LCBpbnQgZXZlbnQpCit7CisJaWYgKCFjZGV2LT5kcnYpCisJCXJldHVybiAwOworCWlmICghY2Rldi0+b25saW5lKQorCQlyZXR1cm4gMDsKKwlyZXR1cm4gY2Rldi0+ZHJ2LT5ub3RpZnkgPyBjZGV2LT5kcnYtPm5vdGlmeShjZGV2LCBldmVudCkgOiAwOworfQorCiBzdGF0aWMgdm9pZAogY2N3X2RldmljZV9vcGVyX25vdGlmeShzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCiB7CiAJc3RydWN0IGNjd19kZXZpY2VfcHJpdmF0ZSAqcHJpdjsKIAlzdHJ1Y3QgY2N3X2RldmljZSAqY2RldjsKLQlzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoOwogCWludCByZXQ7Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKIAogCXByaXYgPSBjb250YWluZXJfb2Yod29yaywgc3RydWN0IGNjd19kZXZpY2VfcHJpdmF0ZSwga2lja193b3JrKTsKIAljZGV2ID0gcHJpdi0+Y2RldjsKLQlzcGluX2xvY2tfaXJxc2F2ZShjZGV2LT5jY3dsb2NrLCBmbGFncyk7Ci0Jc2NoID0gdG9fc3ViY2hhbm5lbChjZGV2LT5kZXYucGFyZW50KTsKLQlpZiAoc2NoLT5kcml2ZXIgJiYgc2NoLT5kcml2ZXItPm5vdGlmeSkgewotCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKGNkZXYtPmNjd2xvY2ssIGZsYWdzKTsKLQkJcmV0ID0gc2NoLT5kcml2ZXItPm5vdGlmeShzY2gsIENJT19PUEVSKTsKLQkJc3Bpbl9sb2NrX2lycXNhdmUoY2Rldi0+Y2N3bG9jaywgZmxhZ3MpOwotCX0gZWxzZQotCQlyZXQgPSAwOworCXJldCA9IGNjd19kZXZpY2Vfbm90aWZ5KGNkZXYsIENJT19PUEVSKTsKIAlpZiAocmV0KSB7CiAJCS8qIFJlZW5hYmxlIGNoYW5uZWwgbWVhc3VyZW1lbnRzLCBpZiBuZWVkZWQuICovCi0JCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoY2Rldi0+Y2N3bG9jaywgZmxhZ3MpOwogCQljbWZfcmVlbmFibGUoY2Rldik7Ci0JCXNwaW5fbG9ja19pcnFzYXZlKGNkZXYtPmNjd2xvY2ssIGZsYWdzKTsKIAkJd2FrZV91cCgmY2Rldi0+cHJpdmF0ZS0+d2FpdF9xKTsKLQl9Ci0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZShjZGV2LT5jY3dsb2NrLCBmbGFncyk7Ci0JaWYgKCFyZXQpCisJfSBlbHNlCiAJCS8qIERyaXZlciBkb2Vzbid0IHdhbnQgZGV2aWNlIGJhY2suICovCiAJCWNjd19kZXZpY2VfZG9fdW5yZWdfcmVyZWcod29yayk7CiB9CkBAIC02MjEsMTAgKzU2MCwxMSBAQAogCQkvKiBEZWxpdmVyIGZha2UgaXJiIHRvIGRldmljZSBkcml2ZXIsIGlmIG5lZWRlZC4gKi8KIAkJaWYgKGNkZXYtPnByaXZhdGUtPmZsYWdzLmZha2VfaXJiKSB7CiAJCQltZW1zZXQoJmNkZXYtPnByaXZhdGUtPmlyYiwgMCwgc2l6ZW9mKHN0cnVjdCBpcmIpKTsKLQkJCWNkZXYtPnByaXZhdGUtPmlyYi5zY3N3LmNjID0gMTsKLQkJCWNkZXYtPnByaXZhdGUtPmlyYi5zY3N3LmZjdGwgPSBTQ1NXX0ZDVExfU1RBUlRfRlVOQzsKLQkJCWNkZXYtPnByaXZhdGUtPmlyYi5zY3N3LmFjdGwgPSBTQ1NXX0FDVExfU1RBUlRfUEVORDsKLQkJCWNkZXYtPnByaXZhdGUtPmlyYi5zY3N3LnN0Y3RsID0gU0NTV19TVENUTF9TVEFUVVNfUEVORDsKKwkJCWNkZXYtPnByaXZhdGUtPmlyYi5zY3N3LmNtZC5jYyA9IDE7CisJCQljZGV2LT5wcml2YXRlLT5pcmIuc2Nzdy5jbWQuZmN0bCA9IFNDU1dfRkNUTF9TVEFSVF9GVU5DOworCQkJY2Rldi0+cHJpdmF0ZS0+aXJiLnNjc3cuY21kLmFjdGwgPSBTQ1NXX0FDVExfU1RBUlRfUEVORDsKKwkJCWNkZXYtPnByaXZhdGUtPmlyYi5zY3N3LmNtZC5zdGN0bCA9CisJCQkJU0NTV19TVENUTF9TVEFUVVNfUEVORDsKIAkJCWNkZXYtPnByaXZhdGUtPmZsYWdzLmZha2VfaXJiID0gMDsKIAkJCWlmIChjZGV2LT5oYW5kbGVyKQogCQkJCWNkZXYtPmhhbmRsZXIoY2RldiwgY2Rldi0+cHJpdmF0ZS0+aW50cGFybSwKQEAgLTcxOCwxMyArNjU4LDEwIEBACiAJc2NoID0gdG9fc3ViY2hhbm5lbChjZGV2LT5kZXYucGFyZW50KTsKIAlpZiAoc3RzY2goc2NoLT5zY2hpZCwgJnNjaC0+c2NoaWIpIHx8ICFzY2gtPnNjaGliLnBtY3cuZG52KQogCQlyZXR1cm4gLUVOT0RFVjsKLQlpZiAoY2Rldi0+cHJpdmF0ZS0+c3RhdGUgIT0gREVWX1NUQVRFX09OTElORSkgewotCQlpZiAoc2NoLT5zY2hpYi5zY3N3LmFjdGwgIT0gMCkKLQkJCXJldHVybiAtRUJVU1k7Ci0JCXJldHVybiAtRUlOVkFMOwotCX0KLQlpZiAoc2NoLT5zY2hpYi5zY3N3LmFjdGwgIT0gMCkKKwlpZiAoc2Nzd19hY3RsKCZzY2gtPnNjaGliLnNjc3cpICE9IDApCiAJCXJldHVybiAtRUJVU1k7CisJaWYgKGNkZXYtPnByaXZhdGUtPnN0YXRlICE9IERFVl9TVEFURV9PTkxJTkUpCisJCXJldHVybiAtRUlOVkFMOwogCS8qIEFyZSB3ZSBkb2luZyBwYXRoIGdyb3VwaW5nPyAqLwogCWlmICghY2Rldi0+cHJpdmF0ZS0+b3B0aW9ucy5wZ3JvdXApIHsKIAkJLyogTm8sIHNldCBzdGF0ZSBvZmZsaW5lIGltbWVkaWF0ZWx5LiAqLwpAQCAtNzk5LDkgKzczNiw5IEBACiAJICovCiAJc3RzY2goc2NoLT5zY2hpZCwgJnNjaC0+c2NoaWIpOwogCi0JaWYgKHNjaC0+c2NoaWIuc2Nzdy5hY3RsICE9IDAgfHwKLQkgICAgKHNjaC0+c2NoaWIuc2Nzdy5zdGN0bCAmIFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpIHx8Ci0JICAgIChjZGV2LT5wcml2YXRlLT5pcmIuc2Nzdy5zdGN0bCAmIFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpKSB7CisJaWYgKHNjc3dfYWN0bCgmc2NoLT5zY2hpYi5zY3N3KSAhPSAwIHx8CisJICAgIChzY3N3X3N0Y3RsKCZzY2gtPnNjaGliLnNjc3cpICYgU0NTV19TVENUTF9TVEFUVVNfUEVORCkgfHwKKwkgICAgKHNjc3dfc3RjdGwoJmNkZXYtPnByaXZhdGUtPmlyYi5zY3N3KSAmIFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpKSB7CiAJCS8qCiAJCSAqIE5vIGZpbmFsIHN0YXR1cyB5ZXQgb3IgZmluYWwgc3RhdHVzIG5vdCB5ZXQgZGVsaXZlcmVkCiAJCSAqIHRvIHRoZSBkZXZpY2UgZHJpdmVyLiBDYW4ndCBkbyBwYXRoIHZlcmZpY2F0aW9uIG5vdywKQEAgLTgyMywxMyArNzYwLDEzIEBACiBjY3dfZGV2aWNlX2lycShzdHJ1Y3QgY2N3X2RldmljZSAqY2RldiwgZW51bSBkZXZfZXZlbnQgZGV2X2V2ZW50KQogewogCXN0cnVjdCBpcmIgKmlyYjsKKwlpbnQgaXNfY21kOwogCiAJaXJiID0gKHN0cnVjdCBpcmIgKikgX19MQ19JUkI7CisJaXNfY21kID0gIXNjc3dfaXNfdG0oJmlyYi0+c2Nzdyk7CiAJLyogQ2hlY2sgZm9yIHVuc29saWNpdGVkIGludGVycnVwdC4gKi8KLQlpZiAoKGlyYi0+c2Nzdy5zdGN0bCA9PQotCSAgICAJCShTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EIHwgU0NTV19TVENUTF9BTEVSVF9TVEFUVVMpKQotCSAgICAmJiAoIWlyYi0+c2Nzdy5jYykpIHsKLQkJaWYgKChpcmItPnNjc3cuZHN0YXQgJiBERVZfU1RBVF9VTklUX0NIRUNLKSAmJgorCWlmICghc2Nzd19pc19zb2xpY2l0ZWQoJmlyYi0+c2NzdykpIHsKKwkJaWYgKGlzX2NtZCAmJiAoaXJiLT5zY3N3LmNtZC5kc3RhdCAmIERFVl9TVEFUX1VOSVRfQ0hFQ0spICYmCiAJCSAgICAhaXJiLT5lc3cuZXN3MC5lcncuY29ucykgewogCQkJLyogVW5pdCBjaGVjayBidXQgbm8gc2Vuc2UgZGF0YS4gTmVlZCBiYXNpYyBzZW5zZS4gKi8KIAkJCWlmIChjY3dfZGV2aWNlX2RvX3NlbnNlKGNkZXYsIGlyYikgIT0gMCkKQEAgLTg0OCw3ICs3ODUsNyBAQAogCX0KIAkvKiBBY2N1bXVsYXRlIHN0YXR1cyBhbmQgZmluZCBvdXQgaWYgYSBiYXNpYyBzZW5zZSBpcyBuZWVkZWQuICovCiAJY2N3X2RldmljZV9hY2N1bXVsYXRlX2lyYihjZGV2LCBpcmIpOwotCWlmIChjZGV2LT5wcml2YXRlLT5mbGFncy5kb3NlbnNlKSB7CisJaWYgKGlzX2NtZCAmJiBjZGV2LT5wcml2YXRlLT5mbGFncy5kb3NlbnNlKSB7CiAJCWlmIChjY3dfZGV2aWNlX2RvX3NlbnNlKGNkZXYsIGlyYikgPT0gMCkgewogCQkJY2Rldi0+cHJpdmF0ZS0+c3RhdGUgPSBERVZfU1RBVEVfVzRTRU5TRTsKIAkJfQpAQCAtODkyLDkgKzgyOSw5IEBACiAKIAlpcmIgPSAoc3RydWN0IGlyYiAqKSBfX0xDX0lSQjsKIAkvKiBDaGVjayBmb3IgdW5zb2xpY2l0ZWQgaW50ZXJydXB0LiAqLwotCWlmIChpcmItPnNjc3cuc3RjdGwgPT0KLQkgICAgCQkoU0NTV19TVENUTF9TVEFUVVNfUEVORCB8IFNDU1dfU1RDVExfQUxFUlRfU1RBVFVTKSkgewotCQlpZiAoaXJiLT5zY3N3LmNjID09IDEpCisJaWYgKHNjc3dfc3RjdGwoJmlyYi0+c2NzdykgPT0KKwkgICAgKFNDU1dfU1RDVExfU1RBVFVTX1BFTkQgfCBTQ1NXX1NUQ1RMX0FMRVJUX1NUQVRVUykpIHsKKwkJaWYgKHNjc3dfY2MoJmlyYi0+c2NzdykgPT0gMSkKIAkJCS8qIEJhc2ljIHNlbnNlIGhhc24ndCBzdGFydGVkLiBUcnkgYWdhaW4uICovCiAJCQljY3dfZGV2aWNlX2RvX3NlbnNlKGNkZXYsIGlyYik7CiAJCWVsc2UgewpAQCAtOTEyLDcgKzg0OSw4IEBACiAJICogb25seSBkZWxpdmVyIHRoZSBoYWx0L2NsZWFyIGludGVycnVwdCB0byB0aGUgZGV2aWNlIGRyaXZlciBhcyBpZiBpdAogCSAqIGhhZCBraWxsZWQgdGhlIG9yaWdpbmFsIHJlcXVlc3QuCiAJICovCi0JaWYgKGlyYi0+c2Nzdy5mY3RsICYgKFNDU1dfRkNUTF9DTEVBUl9GVU5DIHwgU0NTV19GQ1RMX0hBTFRfRlVOQykpIHsKKwlpZiAoc2Nzd19mY3RsKCZpcmItPnNjc3cpICYKKwkgICAgKFNDU1dfRkNUTF9DTEVBUl9GVU5DIHwgU0NTV19GQ1RMX0hBTFRfRlVOQykpIHsKIAkJLyogUmV0cnkgQmFzaWMgU2Vuc2UgaWYgcmVxdWVzdGVkLiAqLwogCQlpZiAoY2Rldi0+cHJpdmF0ZS0+ZmxhZ3MuaW50cmV0cnkpIHsKIAkJCWNkZXYtPnByaXZhdGUtPmZsYWdzLmludHJldHJ5ID0gMDsKQEAgLTk4NiwxMiArOTI0LDEwIEBACiAJCQkgICAgICBFUlJfUFRSKC1FSU8pKTsKIH0KIAotdm9pZCBkZXZpY2Vfa2lsbF9pbyhzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoKQordm9pZCBjY3dfZGV2aWNlX2tpbGxfaW8oc3RydWN0IGNjd19kZXZpY2UgKmNkZXYpCiB7CiAJaW50IHJldDsKLQlzdHJ1Y3QgY2N3X2RldmljZSAqY2RldjsKIAotCWNkZXYgPSBzY2hfZ2V0X2NkZXYoc2NoKTsKIAlyZXQgPSBjY3dfZGV2aWNlX2NhbmNlbF9oYWx0X2NsZWFyKGNkZXYpOwogCWlmIChyZXQgPT0gLUVCVVNZKSB7CiAJCWNjd19kZXZpY2Vfc2V0X3RpbWVvdXQoY2RldiwgMypIWik7CkBAIC0xMDIxLDkgKzk1Nyw5IEBACiAJY2FzZSBERVZfRVZFTlRfSU5URVJSVVBUOgogCQlpcmIgPSAoc3RydWN0IGlyYiAqKSBfX0xDX0lSQjsKIAkJLyogQ2hlY2sgZm9yIHVuc29saWNpdGVkIGludGVycnVwdC4gKi8KLQkJaWYgKChpcmItPnNjc3cuc3RjdGwgPT0KKwkJaWYgKChzY3N3X3N0Y3RsKCZpcmItPnNjc3cpID09CiAJCSAgICAgKFNDU1dfU1RDVExfU1RBVFVTX1BFTkQgfCBTQ1NXX1NUQ1RMX0FMRVJUX1NUQVRVUykpICYmCi0JCSAgICAoIWlyYi0+c2Nzdy5jYykpCisJCSAgICAoIXNjc3dfY2MoJmlyYi0+c2NzdykpKQogCQkJLyogRklYTUU6IHdlIHNob3VsZCByZXN0YXJ0IHN0bGNrIGhlcmUsIGJ1dCB0aGlzCiAJCQkgKiBpcyBleHRyZW1lbHkgdW5saWtlbHkgLi4uICovCiAJCQlnb3RvIG91dF93YWtldXA7CkBAIC0xMDU1LDE3ICs5OTEsMTQgQEAKIAljY3dfZGV2aWNlX3NlbnNlX2lkX3N0YXJ0KGNkZXYpOwogfQogCi12b2lkCi1kZXZpY2VfdHJpZ2dlcl9yZXByb2JlKHN0cnVjdCBzdWJjaGFubmVsICpzY2gpCit2b2lkIGNjd19kZXZpY2VfdHJpZ2dlcl9yZXByb2JlKHN0cnVjdCBjY3dfZGV2aWNlICpjZGV2KQogewotCXN0cnVjdCBjY3dfZGV2aWNlICpjZGV2OworCXN0cnVjdCBzdWJjaGFubmVsICpzY2g7CiAKLQljZGV2ID0gc2NoX2dldF9jZGV2KHNjaCk7Ci0JaWYgKCFjZGV2KQotCQlyZXR1cm47CiAJaWYgKGNkZXYtPnByaXZhdGUtPnN0YXRlICE9IERFVl9TVEFURV9ESVNDT05ORUNURUQpCiAJCXJldHVybjsKIAorCXNjaCA9IHRvX3N1YmNoYW5uZWwoY2Rldi0+ZGV2LnBhcmVudCk7CiAJLyogVXBkYXRlIHNvbWUgdmFsdWVzLiAqLwogCWlmIChzdHNjaChzY2gtPnNjaGlkLCAmc2NoLT5zY2hpYikpCiAJCXJldHVybjsKQEAgLTEwODEsNyArMTAxNCw2IEBACiAJc2NoLT5zY2hpYi5wbWN3LmVuYSA9IDA7CiAJaWYgKChzY2gtPmxwbSAmIChzY2gtPmxwbSAtIDEpKSAhPSAwKQogCQlzY2gtPnNjaGliLnBtY3cubXAgPSAxOwotCXNjaC0+c2NoaWIucG1jdy5pbnRwYXJtID0gKHUzMikoYWRkcl90KXNjaDsKIAkvKiBXZSBzaG91bGQgYWxzbyB1ZGF0ZSBzc2QgaW5mbywgYnV0IHRoaXMgaGFzIHRvIHdhaXQuICovCiAJLyogQ2hlY2sgaWYgdGhpcyBpcyBhbm90aGVyIGRldmljZSB3aGljaCBhcHBlYXJlZCBvbiB0aGUgc2FtZSBzY2guICovCiAJaWYgKHNjaC0+c2NoaWIucG1jdy5kZXYgIT0gY2Rldi0+cHJpdmF0ZS0+ZGV2X2lkLmRldm5vKSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2lvL2RldmljZV9pZC5jIGIvZHJpdmVycy9zMzkwL2Npby9kZXZpY2VfaWQuYwppbmRleCBjYmE3MDIwNS4uMWJkYWE2MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2Npby9kZXZpY2VfaWQuYworKysgYi9kcml2ZXJzL3MzOTAvY2lvL2RldmljZV9pZC5jCkBAIC0xOTYsNyArMTk2LDcgQEAKIAlpcmIgPSAmY2Rldi0+cHJpdmF0ZS0+aXJiOwogCiAJLyogQ2hlY2sgdGhlIGVycm9yIGNhc2VzLiAqLwotCWlmIChpcmItPnNjc3cuZmN0bCAmIChTQ1NXX0ZDVExfSEFMVF9GVU5DIHwgU0NTV19GQ1RMX0NMRUFSX0ZVTkMpKSB7CisJaWYgKGlyYi0+c2Nzdy5jbWQuZmN0bCAmIChTQ1NXX0ZDVExfSEFMVF9GVU5DIHwgU0NTV19GQ1RMX0NMRUFSX0ZVTkMpKSB7CiAJCS8qIFJldHJ5IFNlbnNlIElEIGlmIHJlcXVlc3RlZC4gKi8KIAkJaWYgKGNkZXYtPnByaXZhdGUtPmZsYWdzLmludHJldHJ5KSB7CiAJCQljZGV2LT5wcml2YXRlLT5mbGFncy5pbnRyZXRyeSA9IDA7CkBAIC0yMzQsMTAgKzIzNCwxMCBAQAogCQkJICAgICAgaXJiLT5lY3dbNl0sIGlyYi0+ZWN3WzddKTsKIAkJcmV0dXJuIC1FQUdBSU47CiAJfQotCWlmIChpcmItPnNjc3cuY2MgPT0gMykgeworCWlmIChpcmItPnNjc3cuY21kLmNjID09IDMpIHsKIAkJdTggbHBtOwogCi0JCWxwbSA9IHRvX2lvX3ByaXZhdGUoc2NoKS0+b3JiLmxwbTsKKwkJbHBtID0gdG9faW9fcHJpdmF0ZShzY2gpLT5vcmIuY21kLmxwbTsKIAkJaWYgKChscG0gJiBzY2gtPnNjaGliLnBtY3cucGltICYgc2NoLT5zY2hpYi5wbWN3LnBhbSkgIT0gMCkKIAkJCUNJT19NU0dfRVZFTlQoNCwgIlNlbnNlSUQgOiBwYXRoICUwMlggZm9yIGRldmljZSAlMDR4ICIKIAkJCQkgICAgICAib24gc3ViY2hhbm5lbCAwLiV4LiUwNHggaXMgIgpAQCAtMjQ4LDkgKzI0OCw5IEBACiAJfQogCiAJLyogRGlkIHdlIGdldCBhIHByb3BlciBhbnN3ZXIgPyAqLwotCWlmIChpcmItPnNjc3cuY2MgPT0gMCAmJiBjZGV2LT5wcml2YXRlLT5zZW5zZWlkLmN1X3R5cGUgIT0gMHhGRkZGICYmCisJaWYgKGlyYi0+c2Nzdy5jbWQuY2MgPT0gMCAmJiBjZGV2LT5wcml2YXRlLT5zZW5zZWlkLmN1X3R5cGUgIT0gMHhGRkZGICYmCiAJICAgIGNkZXYtPnByaXZhdGUtPnNlbnNlaWQucmVzZXJ2ZWQgPT0gMHhGRikgewotCQlpZiAoaXJiLT5zY3N3LmNvdW50IDwgc2l6ZW9mKHN0cnVjdCBzZW5zZWlkKSAtIDgpCisJCWlmIChpcmItPnNjc3cuY21kLmNvdW50IDwgc2l6ZW9mKHN0cnVjdCBzZW5zZWlkKSAtIDgpCiAJCQljZGV2LT5wcml2YXRlLT5mbGFncy5lc2lkID0gMTsKIAkJcmV0dXJuIDA7IC8qIFN1Y2Nlc3MgKi8KIAl9CkBAIC0yNjAsNyArMjYwLDcgQEAKIAkJICAgICAgInN1YmNoYW5uZWwgMC4leC4lMDR4IHJldHVybnMgc3RhdHVzICUwMlglMDJYXG4iLAogCQkgICAgICBjZGV2LT5wcml2YXRlLT5kZXZfaWQuZGV2bm8sIHNjaC0+c2NoaWQuc3NpZCwKIAkJICAgICAgc2NoLT5zY2hpZC5zY2hfbm8sCi0JCSAgICAgIGlyYi0+c2Nzdy5kc3RhdCwgaXJiLT5zY3N3LmNzdGF0KTsKKwkJICAgICAgaXJiLT5zY3N3LmNtZC5kc3RhdCwgaXJiLT5zY3N3LmNtZC5jc3RhdCk7CiAJcmV0dXJuIC1FQUdBSU47CiB9CiAKQEAgLTI3Nyw5ICsyNzcsOSBAQAogCXNjaCA9IHRvX3N1YmNoYW5uZWwoY2Rldi0+ZGV2LnBhcmVudCk7CiAJaXJiID0gKHN0cnVjdCBpcmIgKikgX19MQ19JUkI7CiAJLyogUmV0cnkgc2Vuc2UgaWQsIGlmIG5lZWRlZC4gKi8KLQlpZiAoaXJiLT5zY3N3LnN0Y3RsID09CisJaWYgKGlyYi0+c2Nzdy5jbWQuc3RjdGwgPT0KIAkgICAgKFNDU1dfU1RDVExfU1RBVFVTX1BFTkQgfCBTQ1NXX1NUQ1RMX0FMRVJUX1NUQVRVUykpIHsKLQkJaWYgKChpcmItPnNjc3cuY2MgPT0gMSkgfHwgIWlyYi0+c2Nzdy5hY3RsKSB7CisJCWlmICgoaXJiLT5zY3N3LmNtZC5jYyA9PSAxKSB8fCAhaXJiLT5zY3N3LmNtZC5hY3RsKSB7CiAJCQlyZXQgPSBfX2Njd19kZXZpY2Vfc2Vuc2VfaWRfc3RhcnQoY2Rldik7CiAJCQlpZiAocmV0ICYmIHJldCAhPSAtRUJVU1kpCiAJCQkJY2N3X2RldmljZV9zZW5zZV9pZF9kb25lKGNkZXYsIHJldCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2lvL2RldmljZV9vcHMuYyBiL2RyaXZlcnMvczM5MC9jaW8vZGV2aWNlX29wcy5jCmluZGV4IGYzMDhhZDUuLmVlMWEyODMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaW8vZGV2aWNlX29wcy5jCisrKyBiL2RyaXZlcnMvczM5MC9jaW8vZGV2aWNlX29wcy5jCkBAIC0xNyw2ICsxNyw3IEBACiAjaW5jbHVkZSA8YXNtL2Njd2Rldi5oPgogI2luY2x1ZGUgPGFzbS9pZGFscy5oPgogI2luY2x1ZGUgPGFzbS9jaHBpZC5oPgorI2luY2x1ZGUgPGFzbS9mY3guaD4KIAogI2luY2x1ZGUgImNpby5oIgogI2luY2x1ZGUgImNpb19kZWJ1Zy5oIgpAQCAtMTc5LDggKzE4MCw4IEBACiAJCQlyZXR1cm4gLUVCVVNZOwogCX0KIAlpZiAoY2Rldi0+cHJpdmF0ZS0+c3RhdGUgIT0gREVWX1NUQVRFX09OTElORSB8fAotCSAgICAoKHNjaC0+c2NoaWIuc2Nzdy5zdGN0bCAmIFNDU1dfU1RDVExfUFJJTV9TVEFUVVMpICYmCi0JICAgICAhKHNjaC0+c2NoaWIuc2Nzdy5zdGN0bCAmIFNDU1dfU1RDVExfU0VDX1NUQVRVUykpIHx8CisJICAgICgoc2NoLT5zY2hpYi5zY3N3LmNtZC5zdGN0bCAmIFNDU1dfU1RDVExfUFJJTV9TVEFUVVMpICYmCisJICAgICAhKHNjaC0+c2NoaWIuc2Nzdy5jbWQuc3RjdGwgJiBTQ1NXX1NUQ1RMX1NFQ19TVEFUVVMpKSB8fAogCSAgICBjZGV2LT5wcml2YXRlLT5mbGFncy5kb3ZlcmlmeSkKIAkJcmV0dXJuIC1FQlVTWTsKIAlyZXQgPSBjaW9fc2V0X29wdGlvbnMgKHNjaCwgZmxhZ3MpOwpAQCAtMzc5LDcgKzM4MCw3IEBACiAJaWYgKGNkZXYtPnByaXZhdGUtPnN0YXRlID09IERFVl9TVEFURV9OT1RfT1BFUikKIAkJcmV0dXJuIC1FTk9ERVY7CiAJaWYgKGNkZXYtPnByaXZhdGUtPnN0YXRlICE9IERFVl9TVEFURV9PTkxJTkUgfHwKLQkgICAgIShzY2gtPnNjaGliLnNjc3cuYWN0bCAmIFNDU1dfQUNUTF9TVVNQRU5ERUQpKQorCSAgICAhKHNjaC0+c2NoaWIuc2Nzdy5jbWQuYWN0bCAmIFNDU1dfQUNUTF9TVVNQRU5ERUQpKQogCQlyZXR1cm4gLUVJTlZBTDsKIAlyZXR1cm4gY2lvX3Jlc3VtZShzY2gpOwogfQpAQCAtNDA0LDcgKzQwNSw3IEBACiAJICogIC0gZmFzdCBub3RpZmljYXRpb24gd2FzIHJlcXVlc3RlZCAocHJpbWFyeSBzdGF0dXMpCiAJICogIC0gdW5zb2xpY2l0ZWQgaW50ZXJydXB0cwogCSAqLwotCXN0Y3RsID0gY2Rldi0+cHJpdmF0ZS0+aXJiLnNjc3cuc3RjdGw7CisJc3RjdGwgPSBzY3N3X3N0Y3RsKCZjZGV2LT5wcml2YXRlLT5pcmIuc2Nzdyk7CiAJZW5kaW5nX3N0YXR1cyA9IChzdGN0bCAmIFNDU1dfU1RDVExfU0VDX1NUQVRVUykgfHwKIAkJKHN0Y3RsID09IChTQ1NXX1NUQ1RMX0FMRVJUX1NUQVRVUyB8IFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpKSB8fAogCQkoc3RjdGwgPT0gU0NTV19TVENUTF9TVEFUVVNfUEVORCk7CkBAIC01MjgsMTQgKzUyOSwxNSBAQAogCQljaW9fZGlzYWJsZV9zdWJjaGFubmVsKHNjaCk7IC8vRklYTUU6IHJldHVybiBjb2RlPwogCQlnb3RvIG91dF91bmxvY2s7CiAJfQotCWNkZXYtPnByaXZhdGUtPmlyYi5zY3N3LmFjdGwgfD0gU0NTV19BQ1RMX1NUQVJUX1BFTkQ7CisJY2Rldi0+cHJpdmF0ZS0+aXJiLnNjc3cuY21kLmFjdGwgfD0gU0NTV19BQ1RMX1NUQVJUX1BFTkQ7CiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZShzY2gtPmxvY2ssIGZsYWdzKTsKLQl3YWl0X2V2ZW50KGNkZXYtPnByaXZhdGUtPndhaXRfcSwgY2Rldi0+cHJpdmF0ZS0+aXJiLnNjc3cuYWN0bCA9PSAwKTsKKwl3YWl0X2V2ZW50KGNkZXYtPnByaXZhdGUtPndhaXRfcSwKKwkJICAgY2Rldi0+cHJpdmF0ZS0+aXJiLnNjc3cuY21kLmFjdGwgPT0gMCk7CiAJc3Bpbl9sb2NrX2lycXNhdmUoc2NoLT5sb2NrLCBmbGFncyk7CiAJY2lvX2Rpc2FibGVfc3ViY2hhbm5lbChzY2gpOyAvL0ZJWE1FOiByZXR1cm4gY29kZT8KLQlpZiAoKGNkZXYtPnByaXZhdGUtPmlyYi5zY3N3LmRzdGF0ICE9CisJaWYgKChjZGV2LT5wcml2YXRlLT5pcmIuc2Nzdy5jbWQuZHN0YXQgIT0KIAkgICAgIChERVZfU1RBVF9DSE5fRU5EfERFVl9TVEFUX0RFVl9FTkQpKSB8fAotCSAgICAoY2Rldi0+cHJpdmF0ZS0+aXJiLnNjc3cuY3N0YXQgIT0gMCkpCisJICAgIChjZGV2LT5wcml2YXRlLT5pcmIuc2Nzdy5jbWQuY3N0YXQgIT0gMCkpCiAJCXJldCA9IC1FSU87CiAJLyogQ2xlYXIgaXJiLiAqLwogCW1lbXNldCgmY2Rldi0+cHJpdmF0ZS0+aXJiLCAwLCBzaXplb2Yoc3RydWN0IGlyYikpOwpAQCAtNTY4LDYgKzU3MCwxMjIgQEAKIH0KIEVYUE9SVF9TWU1CT0woY2N3X2RldmljZV9nZXRfaWQpOwogCisvKioKKyAqIGNjd19kZXZpY2VfdG1fc3RhcnRfa2V5IC0gcGVyZm9ybSBzdGFydCBmdW5jdGlvbgorICogQGNkZXY6IGNjdyBkZXZpY2Ugb24gd2hpY2ggdG8gcGVyZm9ybSB0aGUgc3RhcnQgZnVuY3Rpb24KKyAqIEB0Y3c6IHRyYW5zcG9ydC1jb21tYW5kIHdvcmQgdG8gYmUgc3RhcnRlZAorICogQGludHBhcm06IHVzZXIgZGVmaW5lZCBwYXJhbWV0ZXIgdG8gYmUgcGFzc2VkIHRvIHRoZSBpbnRlcnJ1cHQgaGFuZGxlcgorICogQGxwbTogbWFzayBvZiBwYXRocyB0byB1c2UKKyAqIEBrZXk6IHN0b3JhZ2Uga2V5IHRvIHVzZSBmb3Igc3RvcmFnZSBhY2Nlc3MKKyAqCisgKiBTdGFydCB0aGUgdGN3IG9uIHRoZSBnaXZlbiBjY3cgZGV2aWNlLiBSZXR1cm4gemVybyBvbiBzdWNjZXNzLCBub24temVybworICogb3RoZXJ3aXNlLgorICovCitpbnQgY2N3X2RldmljZV90bV9zdGFydF9rZXkoc3RydWN0IGNjd19kZXZpY2UgKmNkZXYsIHN0cnVjdCB0Y3cgKnRjdywKKwkJCSAgICB1bnNpZ25lZCBsb25nIGludHBhcm0sIHU4IGxwbSwgdTgga2V5KQoreworCXN0cnVjdCBzdWJjaGFubmVsICpzY2g7CisJaW50IHJjOworCisJc2NoID0gdG9fc3ViY2hhbm5lbChjZGV2LT5kZXYucGFyZW50KTsKKwlpZiAoY2Rldi0+cHJpdmF0ZS0+c3RhdGUgIT0gREVWX1NUQVRFX09OTElORSkKKwkJcmV0dXJuIC1FSU87CisJLyogQWRqdXN0IHJlcXVlc3RlZCBwYXRoIG1hc2sgdG8gZXhjbHVkZWQgdmFyaWVkIG9mZiBwYXRocy4gKi8KKwlpZiAobHBtKSB7CisJCWxwbSAmPSBzY2gtPm9wbTsKKwkJaWYgKGxwbSA9PSAwKQorCQkJcmV0dXJuIC1FQUNDRVM7CisJfQorCXJjID0gY2lvX3RtX3N0YXJ0X2tleShzY2gsIHRjdywgbHBtLCBrZXkpOworCWlmIChyYyA9PSAwKQorCQljZGV2LT5wcml2YXRlLT5pbnRwYXJtID0gaW50cGFybTsKKwlyZXR1cm4gcmM7Cit9CitFWFBPUlRfU1lNQk9MKGNjd19kZXZpY2VfdG1fc3RhcnRfa2V5KTsKKworLyoqCisgKiBjY3dfZGV2aWNlX3RtX3N0YXJ0X3RpbWVvdXRfa2V5IC0gcGVyZm9ybSBzdGFydCBmdW5jdGlvbgorICogQGNkZXY6IGNjdyBkZXZpY2Ugb24gd2hpY2ggdG8gcGVyZm9ybSB0aGUgc3RhcnQgZnVuY3Rpb24KKyAqIEB0Y3c6IHRyYW5zcG9ydC1jb21tYW5kIHdvcmQgdG8gYmUgc3RhcnRlZAorICogQGludHBhcm06IHVzZXIgZGVmaW5lZCBwYXJhbWV0ZXIgdG8gYmUgcGFzc2VkIHRvIHRoZSBpbnRlcnJ1cHQgaGFuZGxlcgorICogQGxwbTogbWFzayBvZiBwYXRocyB0byB1c2UKKyAqIEBrZXk6IHN0b3JhZ2Uga2V5IHRvIHVzZSBmb3Igc3RvcmFnZSBhY2Nlc3MKKyAqIEBleHBpcmVzOiB0aW1lIHNwYW4gaW4gamlmZmllcyBhZnRlciB3aGljaCB0byBhYm9ydCByZXF1ZXN0CisgKgorICogU3RhcnQgdGhlIHRjdyBvbiB0aGUgZ2l2ZW4gY2N3IGRldmljZS4gUmV0dXJuIHplcm8gb24gc3VjY2Vzcywgbm9uLXplcm8KKyAqIG90aGVyd2lzZS4KKyAqLworaW50IGNjd19kZXZpY2VfdG1fc3RhcnRfdGltZW91dF9rZXkoc3RydWN0IGNjd19kZXZpY2UgKmNkZXYsIHN0cnVjdCB0Y3cgKnRjdywKKwkJCQkgICAgdW5zaWduZWQgbG9uZyBpbnRwYXJtLCB1OCBscG0sIHU4IGtleSwKKwkJCQkgICAgaW50IGV4cGlyZXMpCit7CisJaW50IHJldDsKKworCWNjd19kZXZpY2Vfc2V0X3RpbWVvdXQoY2RldiwgZXhwaXJlcyk7CisJcmV0ID0gY2N3X2RldmljZV90bV9zdGFydF9rZXkoY2RldiwgdGN3LCBpbnRwYXJtLCBscG0sIGtleSk7CisJaWYgKHJldCAhPSAwKQorCQljY3dfZGV2aWNlX3NldF90aW1lb3V0KGNkZXYsIDApOworCXJldHVybiByZXQ7Cit9CitFWFBPUlRfU1lNQk9MKGNjd19kZXZpY2VfdG1fc3RhcnRfdGltZW91dF9rZXkpOworCisvKioKKyAqIGNjd19kZXZpY2VfdG1fc3RhcnQgLSBwZXJmb3JtIHN0YXJ0IGZ1bmN0aW9uCisgKiBAY2RldjogY2N3IGRldmljZSBvbiB3aGljaCB0byBwZXJmb3JtIHRoZSBzdGFydCBmdW5jdGlvbgorICogQHRjdzogdHJhbnNwb3J0LWNvbW1hbmQgd29yZCB0byBiZSBzdGFydGVkCisgKiBAaW50cGFybTogdXNlciBkZWZpbmVkIHBhcmFtZXRlciB0byBiZSBwYXNzZWQgdG8gdGhlIGludGVycnVwdCBoYW5kbGVyCisgKiBAbHBtOiBtYXNrIG9mIHBhdGhzIHRvIHVzZQorICoKKyAqIFN0YXJ0IHRoZSB0Y3cgb24gdGhlIGdpdmVuIGNjdyBkZXZpY2UuIFJldHVybiB6ZXJvIG9uIHN1Y2Nlc3MsIG5vbi16ZXJvCisgKiBvdGhlcndpc2UuCisgKi8KK2ludCBjY3dfZGV2aWNlX3RtX3N0YXJ0KHN0cnVjdCBjY3dfZGV2aWNlICpjZGV2LCBzdHJ1Y3QgdGN3ICp0Y3csCisJCQl1bnNpZ25lZCBsb25nIGludHBhcm0sIHU4IGxwbSkKK3sKKwlyZXR1cm4gY2N3X2RldmljZV90bV9zdGFydF9rZXkoY2RldiwgdGN3LCBpbnRwYXJtLCBscG0sCisJCQkJICAgICAgIFBBR0VfREVGQVVMVF9LRVkpOworfQorRVhQT1JUX1NZTUJPTChjY3dfZGV2aWNlX3RtX3N0YXJ0KTsKKworLyoqCisgKiBjY3dfZGV2aWNlX3RtX3N0YXJ0X3RpbWVvdXQgLSBwZXJmb3JtIHN0YXJ0IGZ1bmN0aW9uCisgKiBAY2RldjogY2N3IGRldmljZSBvbiB3aGljaCB0byBwZXJmb3JtIHRoZSBzdGFydCBmdW5jdGlvbgorICogQHRjdzogdHJhbnNwb3J0LWNvbW1hbmQgd29yZCB0byBiZSBzdGFydGVkCisgKiBAaW50cGFybTogdXNlciBkZWZpbmVkIHBhcmFtZXRlciB0byBiZSBwYXNzZWQgdG8gdGhlIGludGVycnVwdCBoYW5kbGVyCisgKiBAbHBtOiBtYXNrIG9mIHBhdGhzIHRvIHVzZQorICogQGV4cGlyZXM6IHRpbWUgc3BhbiBpbiBqaWZmaWVzIGFmdGVyIHdoaWNoIHRvIGFib3J0IHJlcXVlc3QKKyAqCisgKiBTdGFydCB0aGUgdGN3IG9uIHRoZSBnaXZlbiBjY3cgZGV2aWNlLiBSZXR1cm4gemVybyBvbiBzdWNjZXNzLCBub24temVybworICogb3RoZXJ3aXNlLgorICovCitpbnQgY2N3X2RldmljZV90bV9zdGFydF90aW1lb3V0KHN0cnVjdCBjY3dfZGV2aWNlICpjZGV2LCBzdHJ1Y3QgdGN3ICp0Y3csCisJCQkgICAgICAgdW5zaWduZWQgbG9uZyBpbnRwYXJtLCB1OCBscG0sIGludCBleHBpcmVzKQoreworCXJldHVybiBjY3dfZGV2aWNlX3RtX3N0YXJ0X3RpbWVvdXRfa2V5KGNkZXYsIHRjdywgaW50cGFybSwgbHBtLAorCQkJCQkgICAgICAgUEFHRV9ERUZBVUxUX0tFWSwgZXhwaXJlcyk7Cit9CitFWFBPUlRfU1lNQk9MKGNjd19kZXZpY2VfdG1fc3RhcnRfdGltZW91dCk7CisKKy8qKgorICogY2N3X2RldmljZV90bV9pbnRyZyAtIHBlcmZvcm0gaW50ZXJyb2dhdGUgZnVuY3Rpb24KKyAqIEBjZGV2OiBjY3cgZGV2aWNlIG9uIHdoaWNoIHRvIHBlcmZvcm0gdGhlIGludGVycm9nYXRlIGZ1bmN0aW9uCisgKgorICogUGVyZm9ybSBhbiBpbnRlcnJvZ2F0ZSBmdW5jdGlvbiBvbiB0aGUgZ2l2ZW4gY2N3IGRldmljZS4gUmV0dXJuIHplcm8gb24KKyAqIHN1Y2Nlc3MsIG5vbi16ZXJvIG90aGVyd2lzZS4KKyAqLworaW50IGNjd19kZXZpY2VfdG1faW50cmcoc3RydWN0IGNjd19kZXZpY2UgKmNkZXYpCit7CisJc3RydWN0IHN1YmNoYW5uZWwgKnNjaCA9IHRvX3N1YmNoYW5uZWwoY2Rldi0+ZGV2LnBhcmVudCk7CisKKwlpZiAoY2Rldi0+cHJpdmF0ZS0+c3RhdGUgIT0gREVWX1NUQVRFX09OTElORSkKKwkJcmV0dXJuIC1FSU87CisJaWYgKCFzY3N3X2lzX3RtKCZzY2gtPnNjaGliLnNjc3cpIHx8CisJICAgICEoc2Nzd19hY3RsKCZzY2gtPnNjaGliLnNjc3cpIHwgU0NTV19BQ1RMX1NUQVJUX1BFTkQpKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlyZXR1cm4gY2lvX3RtX2ludHJnKHNjaCk7Cit9CitFWFBPUlRfU1lNQk9MKGNjd19kZXZpY2VfdG1faW50cmcpOworCiAvLyBGSVhNRTogdGhlc2UgaGF2ZSB0byBnbzoKIAogaW50CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2lvL2RldmljZV9wZ2lkLmMgYi9kcml2ZXJzL3MzOTAvY2lvL2RldmljZV9wZ2lkLmMKaW5kZXggNWNmN2JlMC4uODZiYzk0ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2Npby9kZXZpY2VfcGdpZC5jCisrKyBiL2RyaXZlcnMvczM5MC9jaW8vZGV2aWNlX3BnaWQuYwpAQCAtMjgsMTMgKzI4LDEzIEBACiAgKiBIZWxwZXIgZnVuY3Rpb24gY2FsbGVkIGZyb20gaW50ZXJydXB0IGNvbnRleHQgdG8gZGVjaWRlIHdoZXRoZXIgYW4KICAqIG9wZXJhdGlvbiBzaG91bGQgYmUgdHJpZWQgYWdhaW4uCiAgKi8KLXN0YXRpYyBpbnQgX19jY3dfZGV2aWNlX3Nob3VsZF9yZXRyeShzdHJ1Y3Qgc2NzdyAqc2NzdykKK3N0YXRpYyBpbnQgX19jY3dfZGV2aWNlX3Nob3VsZF9yZXRyeSh1bmlvbiBzY3N3ICpzY3N3KQogewogCS8qIENDIGlzIG9ubHkgdmFsaWQgaWYgc3RhcnQgZnVuY3Rpb24gYml0IGlzIHNldC4gKi8KLQlpZiAoKHNjc3ctPmZjdGwgJiBTQ1NXX0ZDVExfU1RBUlRfRlVOQykgJiYgc2Nzdy0+Y2MgPT0gMSkKKwlpZiAoKHNjc3ctPmNtZC5mY3RsICYgU0NTV19GQ1RMX1NUQVJUX0ZVTkMpICYmIHNjc3ctPmNtZC5jYyA9PSAxKQogCQlyZXR1cm4gMTsKIAkvKiBObyBtb3JlIGFjdGl2aXR5LiBGb3Igc2Vuc2UgYW5kIHNldCBQR0lEIHdlIHN0dWJib3JubHkgdHJ5IGFnYWluLiAqLwotCWlmICghc2Nzdy0+YWN0bCkKKwlpZiAoIXNjc3ctPmNtZC5hY3RsKQogCQlyZXR1cm4gMTsKIAlyZXR1cm4gMDsKIH0KQEAgLTEyNSw3ICsxMjUsNyBAQAogCiAJc2NoID0gdG9fc3ViY2hhbm5lbChjZGV2LT5kZXYucGFyZW50KTsKIAlpcmIgPSAmY2Rldi0+cHJpdmF0ZS0+aXJiOwotCWlmIChpcmItPnNjc3cuZmN0bCAmIChTQ1NXX0ZDVExfSEFMVF9GVU5DIHwgU0NTV19GQ1RMX0NMRUFSX0ZVTkMpKSB7CisJaWYgKGlyYi0+c2Nzdy5jbWQuZmN0bCAmIChTQ1NXX0ZDVExfSEFMVF9GVU5DIHwgU0NTV19GQ1RMX0NMRUFSX0ZVTkMpKSB7CiAJCS8qIFJldHJ5IFNlbnNlIFBHSUQgaWYgcmVxdWVzdGVkLiAqLwogCQlpZiAoY2Rldi0+cHJpdmF0ZS0+ZmxhZ3MuaW50cmV0cnkpIHsKIAkJCWNkZXYtPnByaXZhdGUtPmZsYWdzLmludHJldHJ5ID0gMDsKQEAgLTE1NSwxMCArMTU1LDEwIEBACiAJCQkgICAgICBpcmItPmVjd1s2XSwgaXJiLT5lY3dbN10pOwogCQlyZXR1cm4gLUVBR0FJTjsKIAl9Ci0JaWYgKGlyYi0+c2Nzdy5jYyA9PSAzKSB7CisJaWYgKGlyYi0+c2Nzdy5jbWQuY2MgPT0gMykgewogCQl1OCBscG07CiAKLQkJbHBtID0gdG9faW9fcHJpdmF0ZShzY2gpLT5vcmIubHBtOworCQlscG0gPSB0b19pb19wcml2YXRlKHNjaCktPm9yYi5jbWQubHBtOwogCQlDSU9fTVNHX0VWRU5UKDMsICJTTklEIC0gRGV2aWNlICUwNHggb24gU3ViY2hhbm5lbCAwLiV4LiUwNHgsIgogCQkJICAgICAgIiBscG0gJTAyWCwgYmVjYW1lICdub3Qgb3BlcmF0aW9uYWwnXG4iLAogCQkJICAgICAgY2Rldi0+cHJpdmF0ZS0+ZGV2X2lkLmRldm5vLCBzY2gtPnNjaGlkLnNzaWQsCkBAIC0xODgsNyArMTg4LDcgQEAKIAogCWlyYiA9IChzdHJ1Y3QgaXJiICopIF9fTENfSVJCOwogCi0JaWYgKGlyYi0+c2Nzdy5zdGN0bCA9PQorCWlmIChpcmItPnNjc3cuY21kLnN0Y3RsID09CiAJICAgIChTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EIHwgU0NTV19TVENUTF9BTEVSVF9TVEFUVVMpKSB7CiAJCWlmIChfX2Njd19kZXZpY2Vfc2hvdWxkX3JldHJ5KCZpcmItPnNjc3cpKSB7CiAJCQlyZXQgPSBfX2Njd19kZXZpY2Vfc2Vuc2VfcGdpZF9zdGFydChjZGV2KTsKQEAgLTMzMSw3ICszMzEsNyBAQAogCiAJc2NoID0gdG9fc3ViY2hhbm5lbChjZGV2LT5kZXYucGFyZW50KTsKIAlpcmIgPSAmY2Rldi0+cHJpdmF0ZS0+aXJiOwotCWlmIChpcmItPnNjc3cuZmN0bCAmIChTQ1NXX0ZDVExfSEFMVF9GVU5DIHwgU0NTV19GQ1RMX0NMRUFSX0ZVTkMpKSB7CisJaWYgKGlyYi0+c2Nzdy5jbWQuZmN0bCAmIChTQ1NXX0ZDVExfSEFMVF9GVU5DIHwgU0NTV19GQ1RMX0NMRUFSX0ZVTkMpKSB7CiAJCS8qIFJldHJ5IFNldCBQR0lEIGlmIHJlcXVlc3RlZC4gKi8KIAkJaWYgKGNkZXYtPnByaXZhdGUtPmZsYWdzLmludHJldHJ5KSB7CiAJCQljZGV2LT5wcml2YXRlLT5mbGFncy5pbnRyZXRyeSA9IDA7CkBAIC0zNTUsNyArMzU1LDcgQEAKIAkJCSAgICAgIGlyYi0+ZWN3WzZdLCBpcmItPmVjd1s3XSk7CiAJCXJldHVybiAtRUFHQUlOOwogCX0KLQlpZiAoaXJiLT5zY3N3LmNjID09IDMpIHsKKwlpZiAoaXJiLT5zY3N3LmNtZC5jYyA9PSAzKSB7CiAJCUNJT19NU0dfRVZFTlQoMywgIlNQSUQgLSBEZXZpY2UgJTA0eCBvbiBTdWJjaGFubmVsIDAuJXguJTA0eCwiCiAJCQkgICAgICAiIGxwbSAlMDJYLCBiZWNhbWUgJ25vdCBvcGVyYXRpb25hbCdcbiIsCiAJCQkgICAgICBjZGV2LT5wcml2YXRlLT5kZXZfaWQuZGV2bm8sIHNjaC0+c2NoaWQuc3NpZCwKQEAgLTM3Niw3ICszNzYsNyBAQAogCiAJc2NoID0gdG9fc3ViY2hhbm5lbChjZGV2LT5kZXYucGFyZW50KTsKIAlpcmIgPSAmY2Rldi0+cHJpdmF0ZS0+aXJiOwotCWlmIChpcmItPnNjc3cuZmN0bCAmIChTQ1NXX0ZDVExfSEFMVF9GVU5DIHwgU0NTV19GQ1RMX0NMRUFSX0ZVTkMpKSB7CisJaWYgKGlyYi0+c2Nzdy5jbWQuZmN0bCAmIChTQ1NXX0ZDVExfSEFMVF9GVU5DIHwgU0NTV19GQ1RMX0NMRUFSX0ZVTkMpKSB7CiAJCS8qIFJldHJ5IE5PUCBpZiByZXF1ZXN0ZWQuICovCiAJCWlmIChjZGV2LT5wcml2YXRlLT5mbGFncy5pbnRyZXRyeSkgewogCQkJY2Rldi0+cHJpdmF0ZS0+ZmxhZ3MuaW50cmV0cnkgPSAwOwpAQCAtMzg0LDcgKzM4NCw3IEBACiAJCX0KIAkJcmV0dXJuIC1FVElNRTsKIAl9Ci0JaWYgKGlyYi0+c2Nzdy5jYyA9PSAzKSB7CisJaWYgKGlyYi0+c2Nzdy5jbWQuY2MgPT0gMykgewogCQlDSU9fTVNHX0VWRU5UKDMsICJOT1AgLSBEZXZpY2UgJTA0eCBvbiBTdWJjaGFubmVsIDAuJXguJTA0eCwiCiAJCQkgICAgICAiIGxwbSAlMDJYLCBiZWNhbWUgJ25vdCBvcGVyYXRpb25hbCdcbiIsCiAJCQkgICAgICBjZGV2LT5wcml2YXRlLT5kZXZfaWQuZGV2bm8sIHNjaC0+c2NoaWQuc3NpZCwKQEAgLTQzOCw3ICs0MzgsNyBAQAogCiAJaXJiID0gKHN0cnVjdCBpcmIgKikgX19MQ19JUkI7CiAKLQlpZiAoaXJiLT5zY3N3LnN0Y3RsID09CisJaWYgKGlyYi0+c2Nzdy5jbWQuc3RjdGwgPT0KIAkgICAgKFNDU1dfU1RDVExfU1RBVFVTX1BFTkQgfCBTQ1NXX1NUQ1RMX0FMRVJUX1NUQVRVUykpIHsKIAkJaWYgKF9fY2N3X2RldmljZV9zaG91bGRfcmV0cnkoJmlyYi0+c2NzdykpCiAJCQlfX2Njd19kZXZpY2VfdmVyaWZ5X3N0YXJ0KGNkZXYpOwpAQCAtNTQ0LDcgKzU0NCw3IEBACiAKIAlpcmIgPSAoc3RydWN0IGlyYiAqKSBfX0xDX0lSQjsKIAotCWlmIChpcmItPnNjc3cuc3RjdGwgPT0KKwlpZiAoaXJiLT5zY3N3LmNtZC5zdGN0bCA9PQogCSAgICAoU0NTV19TVENUTF9TVEFUVVNfUEVORCB8IFNDU1dfU1RDVExfQUxFUlRfU1RBVFVTKSkgewogCQlpZiAoX19jY3dfZGV2aWNlX3Nob3VsZF9yZXRyeSgmaXJiLT5zY3N3KSkKIAkJCV9fY2N3X2RldmljZV9kaXNiYW5kX3N0YXJ0KGNkZXYpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2Npby9kZXZpY2Vfc3RhdHVzLmMgYi9kcml2ZXJzL3MzOTAvY2lvL2RldmljZV9zdGF0dXMuYwppbmRleCA0YTM4OTkzLi4xYjAzYzU0IDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2lvL2RldmljZV9zdGF0dXMuYworKysgYi9kcml2ZXJzL3MzOTAvY2lvL2RldmljZV9zdGF0dXMuYwpAQCAtMjksOSArMjksMTEgQEAKIHN0YXRpYyB2b2lkCiBjY3dfZGV2aWNlX21zZ19jb250cm9sX2NoZWNrKHN0cnVjdCBjY3dfZGV2aWNlICpjZGV2LCBzdHJ1Y3QgaXJiICppcmIpCiB7Ci0JaWYgKCEoaXJiLT5zY3N3LmNzdGF0ICYgKFNDSE5fU1RBVF9DSE5fREFUQV9DSEsgfAotCQkJCSBTQ0hOX1NUQVRfQ0hOX0NUUkxfQ0hLIHwKLQkJCQkgU0NITl9TVEFUX0lOVEZfQ1RSTF9DSEspKSkKKwljaGFyIGRiZl90ZXh0WzE1XTsKKworCWlmICghc2Nzd19pc192YWxpZF9jc3RhdCgmaXJiLT5zY3N3KSB8fAorCSAgICAhKHNjc3dfY3N0YXQoJmlyYi0+c2NzdykgJiAoU0NITl9TVEFUX0NITl9EQVRBX0NISyB8CisJICAgICAgU0NITl9TVEFUX0NITl9DVFJMX0NISyB8IFNDSE5fU1RBVF9JTlRGX0NUUkxfQ0hLKSkpCiAJCXJldHVybjsKIAlDSU9fTVNHX0VWRU5UKDAsICJDaGFubmVsLUNoZWNrIG9yIEludGVyZmFjZS1Db250cm9sLUNoZWNrICIKIAkJICAgICAgInJlY2VpdmVkIgpAQCAtMzksMTUgKzQxLDEwIEBACiAJCSAgICAgICI6ICUwMlggc2NoX3N0YXQgOiAlMDJYXG4iLAogCQkgICAgICBjZGV2LT5wcml2YXRlLT5kZXZfaWQuZGV2bm8sIGNkZXYtPnByaXZhdGUtPnNjaGlkLnNzaWQsCiAJCSAgICAgIGNkZXYtPnByaXZhdGUtPnNjaGlkLnNjaF9ubywKLQkJICAgICAgaXJiLT5zY3N3LmRzdGF0LCBpcmItPnNjc3cuY3N0YXQpOwotCi0JaWYgKGlyYi0+c2Nzdy5jYyAhPSAzKSB7Ci0JCWNoYXIgZGJmX3RleHRbMTVdOwotCi0JCXNwcmludGYoZGJmX3RleHQsICJjaGsleCIsIGNkZXYtPnByaXZhdGUtPnNjaGlkLnNjaF9ubyk7Ci0JCUNJT19UUkFDRV9FVkVOVCgwLCBkYmZfdGV4dCk7Ci0JCUNJT19IRVhfRVZFTlQoMCwgaXJiLCBzaXplb2YgKHN0cnVjdCBpcmIpKTsKLQl9CisJCSAgICAgIHNjc3dfZHN0YXQoJmlyYi0+c2NzdyksIHNjc3dfY3N0YXQoJmlyYi0+c2NzdykpOworCXNwcmludGYoZGJmX3RleHQsICJjaGsleCIsIGNkZXYtPnByaXZhdGUtPnNjaGlkLnNjaF9ubyk7CisJQ0lPX1RSQUNFX0VWRU5UKDAsIGRiZl90ZXh0KTsKKwlDSU9fSEVYX0VWRU5UKDAsIGlyYiwgc2l6ZW9mKHN0cnVjdCBpcmIpKTsKIH0KIAogLyoKQEAgLTgxLDEyICs3OCwxMiBAQAogCSAqIGFyZSBjb25kaXRpb24gdGhhdCBoYXZlIHRvIGJlIG1ldCBmb3IgdGhlIGV4dGVuZGVkIGNvbnRyb2wKIAkgKiBiaXQgdG8gaGF2ZSBtZWFuaW5nLiBTaWNrLgogCSAqLwotCWNkZXYtPnByaXZhdGUtPmlyYi5zY3N3LmVjdGwgPSAwOwotCWlmICgoaXJiLT5zY3N3LnN0Y3RsICYgU0NTV19TVENUTF9BTEVSVF9TVEFUVVMpICYmCi0JICAgICEoaXJiLT5zY3N3LnN0Y3RsICYgU0NTV19TVENUTF9JTlRFUl9TVEFUVVMpKQotCQljZGV2LT5wcml2YXRlLT5pcmIuc2Nzdy5lY3RsID0gaXJiLT5zY3N3LmVjdGw7CisJY2Rldi0+cHJpdmF0ZS0+aXJiLnNjc3cuY21kLmVjdGwgPSAwOworCWlmICgoaXJiLT5zY3N3LmNtZC5zdGN0bCAmIFNDU1dfU1RDVExfQUxFUlRfU1RBVFVTKSAmJgorCSAgICAhKGlyYi0+c2Nzdy5jbWQuc3RjdGwgJiBTQ1NXX1NUQ1RMX0lOVEVSX1NUQVRVUykpCisJCWNkZXYtPnByaXZhdGUtPmlyYi5zY3N3LmNtZC5lY3RsID0gaXJiLT5zY3N3LmNtZC5lY3RsOwogCS8qIENoZWNrIGlmIGV4dGVuZGVkIGNvbnRyb2wgd29yZCBpcyB2YWxpZC4gKi8KLQlpZiAoIWNkZXYtPnByaXZhdGUtPmlyYi5zY3N3LmVjdGwpCisJaWYgKCFjZGV2LT5wcml2YXRlLT5pcmIuc2Nzdy5jbWQuZWN0bCkKIAkJcmV0dXJuOwogCS8qIENvcHkgY29uY3VycmVudCBzZW5zZSAvIG1vZGVsIGRlcGVuZGVudCBpbmZvcm1hdGlvbi4gKi8KIAltZW1jcHkgKCZjZGV2LT5wcml2YXRlLT5pcmIuZWN3LCBpcmItPmVjdywgc2l6ZW9mIChpcmItPmVjdykpOwpAQCAtOTgsMTEgKzk1LDEyIEBACiBzdGF0aWMgaW50CiBjY3dfZGV2aWNlX2FjY3VtdWxhdGVfZXN3X3ZhbGlkKHN0cnVjdCBpcmIgKmlyYikKIHsKLQlpZiAoIWlyYi0+c2Nzdy5lc3dmICYmIGlyYi0+c2Nzdy5zdGN0bCA9PSBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKQorCWlmICghaXJiLT5zY3N3LmNtZC5lc3dmICYmCisJICAgIChpcmItPnNjc3cuY21kLnN0Y3RsID09IFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpKQogCQlyZXR1cm4gMDsKLQlpZiAoaXJiLT5zY3N3LnN0Y3RsID09IAotCSAgICAJCShTQ1NXX1NUQ1RMX0lOVEVSX1NUQVRVU3xTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKSAmJgotCSAgICAhKGlyYi0+c2Nzdy5hY3RsICYgU0NTV19BQ1RMX1NVU1BFTkRFRCkpCisJaWYgKGlyYi0+c2Nzdy5jbWQuc3RjdGwgPT0KKwkJCShTQ1NXX1NUQ1RMX0lOVEVSX1NUQVRVU3xTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKSAmJgorCSAgICAhKGlyYi0+c2Nzdy5jbWQuYWN0bCAmIFNDU1dfQUNUTF9TVVNQRU5ERUQpKQogCQlyZXR1cm4gMDsKIAlyZXR1cm4gMTsKIH0KQEAgLTEyNSw3ICsxMjMsNyBAQAogCWNkZXZfaXJiLT5lc3cuZXN3MS5scHVtID0gaXJiLT5lc3cuZXN3MS5scHVtOwogCiAJLyogQ29weSBzdWJjaGFubmVsIGxvZ291dCBpbmZvcm1hdGlvbiBpZiBlc3cgaXMgb2YgZm9ybWF0IDAuICovCi0JaWYgKGlyYi0+c2Nzdy5lc3dmKSB7CisJaWYgKGlyYi0+c2Nzdy5jbWQuZXN3ZikgewogCQljZGV2X3N1YmxvZyA9ICZjZGV2X2lyYi0+ZXN3LmVzdzAuc3VibG9nOwogCQlzdWJsb2cgPSAmaXJiLT5lc3cuZXN3MC5zdWJsb2c7CiAJCS8qIENvcHkgZXh0ZW5kZWQgc3RhdHVzIGZsYWdzLiAqLwpAQCAtMTM0LDcgKzEzMiw3IEBACiAJCSAqIENvcHkgZmllbGRzIHRoYXQgaGF2ZSBhIG1lYW5pbmcgZm9yIGNoYW5uZWwgZGF0YSBjaGVjawogCQkgKiBjaGFubmVsIGNvbnRyb2wgY2hlY2sgYW5kIGludGVyZmFjZSBjb250cm9sIGNoZWNrLgogCQkgKi8KLQkJaWYgKGlyYi0+c2Nzdy5jc3RhdCAmIChTQ0hOX1NUQVRfQ0hOX0RBVEFfQ0hLIHwKKwkJaWYgKGlyYi0+c2Nzdy5jbWQuY3N0YXQgJiAoU0NITl9TVEFUX0NITl9EQVRBX0NISyB8CiAJCQkJICAgICAgIFNDSE5fU1RBVF9DSE5fQ1RSTF9DSEsgfAogCQkJCSAgICAgICBTQ0hOX1NUQVRfSU5URl9DVFJMX0NISykpIHsKIAkJCS8qIENvcHkgYW5jaWxsYXJ5IHJlcG9ydCBiaXQuICovCkBAIC0xNTUsNyArMTUzLDcgQEAKIAkJLyogQ29weSBpL28tZXJyb3IgYWxlcnQuICovCiAJCWNkZXZfc3VibG9nLT5pb2VyciA9IHN1YmxvZy0+aW9lcnI7CiAJCS8qIENvcHkgY2hhbm5lbCBwYXRoIHRpbWVvdXQgYml0LiAqLwotCQlpZiAoaXJiLT5zY3N3LmNzdGF0ICYgU0NITl9TVEFUX0lOVEZfQ1RSTF9DSEspCisJCWlmIChpcmItPnNjc3cuY21kLmNzdGF0ICYgU0NITl9TVEFUX0lOVEZfQ1RSTF9DSEspCiAJCQljZGV2X2lyYi0+ZXN3LmVzdzAuZXJ3LmNwdCA9IGlyYi0+ZXN3LmVzdzAuZXJ3LmNwdDsKIAkJLyogQ29weSBmYWlsaW5nIHN0b3JhZ2UgYWRkcmVzcyB2YWxpZGl0eSBmbGFnLiAqLwogCQljZGV2X2lyYi0+ZXN3LmVzdzAuZXJ3LmZzYXZmID0gaXJiLT5lc3cuZXN3MC5lcncuZnNhdmY7CkBAIC0yMDAsMjQgKzE5OCwyNCBAQAogCSAqIElmIG5vdCwgdGhlIHJlbWFpbmluZyBiaXQgaGF2ZSBubyBtZWFuaW5nIGFuZCB3ZSBtdXN0IGlnbm9yZSB0aGVtLgogCSAqIFRoZSBlc3cgaXMgbm90IG1lYW5pbmdmdWwgYXMgd2VsbC4uLgogCSAqLwotCWlmICghKGlyYi0+c2Nzdy5zdGN0bCAmIFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpKQorCWlmICghKHNjc3dfc3RjdGwoJmlyYi0+c2NzdykgJiBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKSkKIAkJcmV0dXJuOwogCiAJLyogQ2hlY2sgZm9yIGNoYW5uZWwgY2hlY2tzIGFuZCBpbnRlcmZhY2UgY29udHJvbCBjaGVja3MuICovCiAJY2N3X2RldmljZV9tc2dfY29udHJvbF9jaGVjayhjZGV2LCBpcmIpOwogCiAJLyogQ2hlY2sgZm9yIHBhdGggbm90IG9wZXJhdGlvbmFsLiAqLwotCWlmIChpcmItPnNjc3cucG5vICYmIGlyYi0+c2Nzdy5mY3RsICE9IDAgJiYKLQkgICAgKCEoaXJiLT5zY3N3LnN0Y3RsICYgU0NTV19TVENUTF9JTlRFUl9TVEFUVVMpIHx8Ci0JICAgICAoaXJiLT5zY3N3LmFjdGwgJiBTQ1NXX0FDVExfU1VTUEVOREVEKSkpCisJaWYgKHNjc3dfaXNfdmFsaWRfcG5vKCZpcmItPnNjc3cpICYmIHNjc3dfcG5vKCZpcmItPnNjc3cpKQogCQljY3dfZGV2aWNlX3BhdGhfbm90b3BlcihjZGV2KTsKLQorCS8qIE5vIGlyYiBhY2N1bXVsYXRpb24gZm9yIHRyYW5zcG9ydCBtb2RlIGlyYnMuICovCisJaWYgKHNjc3dfaXNfdG0oJmlyYi0+c2NzdykpIHsKKwkJbWVtY3B5KCZjZGV2LT5wcml2YXRlLT5pcmIsIGlyYiwgc2l6ZW9mKHN0cnVjdCBpcmIpKTsKKwkJcmV0dXJuOworCX0KIAkvKgogCSAqIERvbid0IGFjY3VtdWxhdGUgdW5zb2xpY2l0ZWQgaW50ZXJydXB0cy4KIAkgKi8KLQlpZiAoKGlyYi0+c2Nzdy5zdGN0bCA9PQotCSAgICAgKFNDU1dfU1RDVExfU1RBVFVTX1BFTkQgfCBTQ1NXX1NUQ1RMX0FMRVJUX1NUQVRVUykpICYmCi0JICAgICghaXJiLT5zY3N3LmNjKSkKKwlpZiAoIXNjc3dfaXNfc29saWNpdGVkKCZpcmItPnNjc3cpKQogCQlyZXR1cm47CiAKIAljZGV2X2lyYiA9ICZjZGV2LT5wcml2YXRlLT5pcmI7CkBAIC0yMjcsNjIgKzIyNSw2MyBAQAogCSAqIHN0YXR1cyBhdCB0aGUgc3ViY2hhbm5lbCBoYXMgYmVlbiBjbGVhcmVkIGFuZCB3ZSBtdXN0IG5vdCBwYXNzCiAJICogaW50ZXJtZWRpYXRlIGFjY3VtdWxhdGVkIHN0YXR1cyB0byB0aGUgZGV2aWNlIGRyaXZlci4KIAkgKi8KLQlpZiAoaXJiLT5zY3N3LmZjdGwgJiBTQ1NXX0ZDVExfQ0xFQVJfRlVOQykKKwlpZiAoaXJiLT5zY3N3LmNtZC5mY3RsICYgU0NTV19GQ1RMX0NMRUFSX0ZVTkMpCiAJCW1lbXNldCgmY2Rldi0+cHJpdmF0ZS0+aXJiLCAwLCBzaXplb2Yoc3RydWN0IGlyYikpOwogCiAJLyogQ29weSBiaXRzIHdoaWNoIGFyZSB2YWxpZCBvbmx5IGZvciB0aGUgc3RhcnQgZnVuY3Rpb24uICovCi0JaWYgKGlyYi0+c2Nzdy5mY3RsICYgU0NTV19GQ1RMX1NUQVJUX0ZVTkMpIHsKKwlpZiAoaXJiLT5zY3N3LmNtZC5mY3RsICYgU0NTV19GQ1RMX1NUQVJUX0ZVTkMpIHsKIAkJLyogQ29weSBrZXkuICovCi0JCWNkZXZfaXJiLT5zY3N3LmtleSA9IGlyYi0+c2Nzdy5rZXk7CisJCWNkZXZfaXJiLT5zY3N3LmNtZC5rZXkgPSBpcmItPnNjc3cuY21kLmtleTsKIAkJLyogQ29weSBzdXNwZW5kIGNvbnRyb2wgYml0LiAqLwotCQljZGV2X2lyYi0+c2Nzdy5zY3RsID0gaXJiLT5zY3N3LnNjdGw7CisJCWNkZXZfaXJiLT5zY3N3LmNtZC5zY3RsID0gaXJiLT5zY3N3LmNtZC5zY3RsOwogCQkvKiBBY2N1bXVsYXRlIGRlZmVycmVkIGNvbmRpdGlvbiBjb2RlLiAqLwotCQljZGV2X2lyYi0+c2Nzdy5jYyB8PSBpcmItPnNjc3cuY2M7CisJCWNkZXZfaXJiLT5zY3N3LmNtZC5jYyB8PSBpcmItPnNjc3cuY21kLmNjOwogCQkvKiBDb3B5IGNjdyBmb3JtYXQgYml0LiAqLwotCQljZGV2X2lyYi0+c2Nzdy5mbXQgPSBpcmItPnNjc3cuZm10OworCQljZGV2X2lyYi0+c2Nzdy5jbWQuZm10ID0gaXJiLT5zY3N3LmNtZC5mbXQ7CiAJCS8qIENvcHkgcHJlZmV0Y2ggYml0LiAqLwotCQljZGV2X2lyYi0+c2Nzdy5wZmNoID0gaXJiLT5zY3N3LnBmY2g7CisJCWNkZXZfaXJiLT5zY3N3LmNtZC5wZmNoID0gaXJiLT5zY3N3LmNtZC5wZmNoOwogCQkvKiBDb3B5IGluaXRpYWwtc3RhdHVzLWludGVycnVwdGlvbi1jb250cm9sLiAqLwotCQljZGV2X2lyYi0+c2Nzdy5pc2ljID0gaXJiLT5zY3N3LmlzaWM7CisJCWNkZXZfaXJiLT5zY3N3LmNtZC5pc2ljID0gaXJiLT5zY3N3LmNtZC5pc2ljOwogCQkvKiBDb3B5IGFkZHJlc3MgbGltaXQgY2hlY2tpbmcgY29udHJvbC4gKi8KLQkJY2Rldl9pcmItPnNjc3cuYWxjYyA9IGlyYi0+c2Nzdy5hbGNjOworCQljZGV2X2lyYi0+c2Nzdy5jbWQuYWxjYyA9IGlyYi0+c2Nzdy5jbWQuYWxjYzsKIAkJLyogQ29weSBzdXBwcmVzcyBzdXNwZW5kIGJpdC4gKi8KLQkJY2Rldl9pcmItPnNjc3cuc3NpID0gaXJiLT5zY3N3LnNzaTsKKwkJY2Rldl9pcmItPnNjc3cuY21kLnNzaSA9IGlyYi0+c2Nzdy5jbWQuc3NpOwogCX0KIAogCS8qIFRha2UgY2FyZSBvZiB0aGUgZXh0ZW5kZWQgY29udHJvbCBiaXQgYW5kIGV4dGVuZGVkIGNvbnRyb2wgd29yZC4gKi8KIAljY3dfZGV2aWNlX2FjY3VtdWxhdGVfZWN3KGNkZXYsIGlyYik7CiAJICAgIAogCS8qIEFjY3VtdWxhdGUgZnVuY3Rpb24gY29udHJvbC4gKi8KLQljZGV2X2lyYi0+c2Nzdy5mY3RsIHw9IGlyYi0+c2Nzdy5mY3RsOworCWNkZXZfaXJiLT5zY3N3LmNtZC5mY3RsIHw9IGlyYi0+c2Nzdy5jbWQuZmN0bDsKIAkvKiBDb3B5IGFjdGl2aXR5IGNvbnRyb2wuICovCi0JY2Rldl9pcmItPnNjc3cuYWN0bD0gaXJiLT5zY3N3LmFjdGw7CisJY2Rldl9pcmItPnNjc3cuY21kLmFjdGwgPSBpcmItPnNjc3cuY21kLmFjdGw7CiAJLyogQWNjdW11bGF0ZSBzdGF0dXMgY29udHJvbC4gKi8KLQljZGV2X2lyYi0+c2Nzdy5zdGN0bCB8PSBpcmItPnNjc3cuc3RjdGw7CisJY2Rldl9pcmItPnNjc3cuY21kLnN0Y3RsIHw9IGlyYi0+c2Nzdy5jbWQuc3RjdGw7CiAJLyoKIAkgKiBDb3B5IGNjdyBhZGRyZXNzIGlmIGl0IGlzIHZhbGlkLiBUaGlzIGlzIGEgYml0IHNpbXBsaWZpZWQKIAkgKiBidXQgc2hvdWxkIGJlIGNsb3NlIGVub3VnaCBmb3IgYWxsIHByYWN0aWNhbCBwdXJwb3Nlcy4KIAkgKi8KLQlpZiAoKGlyYi0+c2Nzdy5zdGN0bCAmIFNDU1dfU1RDVExfUFJJTV9TVEFUVVMpIHx8Ci0JICAgICgoaXJiLT5zY3N3LnN0Y3RsID09IAorCWlmICgoaXJiLT5zY3N3LmNtZC5zdGN0bCAmIFNDU1dfU1RDVExfUFJJTV9TVEFUVVMpIHx8CisJICAgICgoaXJiLT5zY3N3LmNtZC5zdGN0bCA9PQogCSAgICAgIChTQ1NXX1NUQ1RMX0lOVEVSX1NUQVRVU3xTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKSkgJiYKLQkgICAgIChpcmItPnNjc3cuYWN0bCAmIFNDU1dfQUNUTF9ERVZBQ1QpICYmCi0JICAgICAoaXJiLT5zY3N3LmFjdGwgJiBTQ1NXX0FDVExfU0NIQUNUKSkgfHwKLQkgICAgKGlyYi0+c2Nzdy5hY3RsICYgU0NTV19BQ1RMX1NVU1BFTkRFRCkpCi0JCWNkZXZfaXJiLT5zY3N3LmNwYSA9IGlyYi0+c2Nzdy5jcGE7CisJICAgICAoaXJiLT5zY3N3LmNtZC5hY3RsICYgU0NTV19BQ1RMX0RFVkFDVCkgJiYKKwkgICAgIChpcmItPnNjc3cuY21kLmFjdGwgJiBTQ1NXX0FDVExfU0NIQUNUKSkgfHwKKwkgICAgKGlyYi0+c2Nzdy5jbWQuYWN0bCAmIFNDU1dfQUNUTF9TVVNQRU5ERUQpKQorCQljZGV2X2lyYi0+c2Nzdy5jbWQuY3BhID0gaXJiLT5zY3N3LmNtZC5jcGE7CiAJLyogQWNjdW11bGF0ZSBkZXZpY2Ugc3RhdHVzLCBidXQgbm90IHRoZSBkZXZpY2UgYnVzeSBmbGFnLiAqLwotCWNkZXZfaXJiLT5zY3N3LmRzdGF0ICY9IH5ERVZfU1RBVF9CVVNZOworCWNkZXZfaXJiLT5zY3N3LmNtZC5kc3RhdCAmPSB+REVWX1NUQVRfQlVTWTsKIAkvKiBkc3RhdCBpcyBub3QgYWx3YXlzIHZhbGlkLiAqLwotCWlmIChpcmItPnNjc3cuc3RjdGwgJgorCWlmIChpcmItPnNjc3cuY21kLnN0Y3RsICYKIAkgICAgKFNDU1dfU1RDVExfUFJJTV9TVEFUVVMgfCBTQ1NXX1NUQ1RMX1NFQ19TVEFUVVMKIAkgICAgIHwgU0NTV19TVENUTF9JTlRFUl9TVEFUVVMgfCBTQ1NXX1NUQ1RMX0FMRVJUX1NUQVRVUykpCi0JCWNkZXZfaXJiLT5zY3N3LmRzdGF0IHw9IGlyYi0+c2Nzdy5kc3RhdDsKKwkJY2Rldl9pcmItPnNjc3cuY21kLmRzdGF0IHw9IGlyYi0+c2Nzdy5jbWQuZHN0YXQ7CiAJLyogQWNjdW11bGF0ZSBzdWJjaGFubmVsIHN0YXR1cy4gKi8KLQljZGV2X2lyYi0+c2Nzdy5jc3RhdCB8PSBpcmItPnNjc3cuY3N0YXQ7CisJY2Rldl9pcmItPnNjc3cuY21kLmNzdGF0IHw9IGlyYi0+c2Nzdy5jbWQuY3N0YXQ7CiAJLyogQ29weSByZXNpZHVhbCBjb3VudCBpZiBpdCBpcyB2YWxpZC4gKi8KLQlpZiAoKGlyYi0+c2Nzdy5zdGN0bCAmIFNDU1dfU1RDVExfUFJJTV9TVEFUVVMpICYmCi0JICAgIChpcmItPnNjc3cuY3N0YXQgJiB+KFNDSE5fU1RBVF9QQ0kgfCBTQ0hOX1NUQVRfSU5DT1JSX0xFTikpID09IDApCi0JCWNkZXZfaXJiLT5zY3N3LmNvdW50ID0gaXJiLT5zY3N3LmNvdW50OworCWlmICgoaXJiLT5zY3N3LmNtZC5zdGN0bCAmIFNDU1dfU1RDVExfUFJJTV9TVEFUVVMpICYmCisJICAgIChpcmItPnNjc3cuY21kLmNzdGF0ICYgfihTQ0hOX1NUQVRfUENJIHwgU0NITl9TVEFUX0lOQ09SUl9MRU4pKQorCSAgICAgPT0gMCkKKwkJY2Rldl9pcmItPnNjc3cuY21kLmNvdW50ID0gaXJiLT5zY3N3LmNtZC5jb3VudDsKIAogCS8qIFRha2UgY2FyZSBvZiBiaXRzIGluIHRoZSBleHRlbmRlZCBzdGF0dXMgd29yZC4gKi8KIAljY3dfZGV2aWNlX2FjY3VtdWxhdGVfZXN3KGNkZXYsIGlyYik7CkBAIC0yOTksNyArMjk4LDcgQEAKIAkgKgkgc2Vuc2UgZmFjaWxpdHkgYXZhaWxhYmxlL3N1cHBvcnRlZCB3aGVuIGVuYWJsaW5nIHRoZQogCSAqCSBjb25jdXJyZW50IHNlbnNlIGZhY2lsaXR5LgogCSAqLwotCWlmICgoY2Rldl9pcmItPnNjc3cuZHN0YXQgJiBERVZfU1RBVF9VTklUX0NIRUNLKSAmJgorCWlmICgoY2Rldl9pcmItPnNjc3cuY21kLmRzdGF0ICYgREVWX1NUQVRfVU5JVF9DSEVDSykgJiYKIAkgICAgIShjZGV2X2lyYi0+ZXN3LmVzdzAuZXJ3LmNvbnMpKQogCQljZGV2LT5wcml2YXRlLT5mbGFncy5kb3NlbnNlID0gMTsKIH0KQEAgLTMxNyw3ICszMTYsNyBAQAogCXNjaCA9IHRvX3N1YmNoYW5uZWwoY2Rldi0+ZGV2LnBhcmVudCk7CiAKIAkvKiBBIHNlbnNlIGlzIHJlcXVpcmVkLCBjYW4gd2UgZG8gaXQgbm93ID8gKi8KLQlpZiAoKGlyYi0+c2Nzdy5hY3RsICAmIChTQ1NXX0FDVExfREVWQUNUIHwgU0NTV19BQ1RMX1NDSEFDVCkpICE9IDApCisJaWYgKHNjc3dfYWN0bCgmaXJiLT5zY3N3KSAmIChTQ1NXX0FDVExfREVWQUNUIHwgU0NTV19BQ1RMX1NDSEFDVCkpCiAJCS8qCiAJCSAqIHdlIHJlY2VpdmVkIGFuIFVuaXQgQ2hlY2sgYnV0IHdlIGhhdmUgbm8gZmluYWwKIAkJICogIHN0YXR1cyB5ZXQsIHRoZXJlZm9yZSB3ZSBtdXN0IGRlbGF5IHRoZSBTRU5TRQpAQCAtMzU1LDIwICszNTQsMTggQEAKIAkgKiBJZiBub3QsIHRoZSByZW1haW5pbmcgYml0IGhhdmUgbm8gbWVhbmluZyBhbmQgd2UgbXVzdCBpZ25vcmUgdGhlbS4KIAkgKiBUaGUgZXN3IGlzIG5vdCBtZWFuaW5nZnVsIGFzIHdlbGwuLi4KIAkgKi8KLQlpZiAoIShpcmItPnNjc3cuc3RjdGwgJiBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKSkKKwlpZiAoIShzY3N3X3N0Y3RsKCZpcmItPnNjc3cpICYgU0NTV19TVENUTF9TVEFUVVNfUEVORCkpCiAJCXJldHVybjsKIAogCS8qIENoZWNrIGZvciBjaGFubmVsIGNoZWNrcyBhbmQgaW50ZXJmYWNlIGNvbnRyb2wgY2hlY2tzLiAqLwogCWNjd19kZXZpY2VfbXNnX2NvbnRyb2xfY2hlY2soY2RldiwgaXJiKTsKIAogCS8qIENoZWNrIGZvciBwYXRoIG5vdCBvcGVyYXRpb25hbC4gKi8KLQlpZiAoaXJiLT5zY3N3LnBubyAmJiBpcmItPnNjc3cuZmN0bCAhPSAwICYmCi0JICAgICghKGlyYi0+c2Nzdy5zdGN0bCAmIFNDU1dfU1RDVExfSU5URVJfU1RBVFVTKSB8fAotCSAgICAgKGlyYi0+c2Nzdy5hY3RsICYgU0NTV19BQ1RMX1NVU1BFTkRFRCkpKQorCWlmIChzY3N3X2lzX3ZhbGlkX3BubygmaXJiLT5zY3N3KSAmJiBzY3N3X3BubygmaXJiLT5zY3N3KSkKIAkJY2N3X2RldmljZV9wYXRoX25vdG9wZXIoY2Rldik7CiAKLQlpZiAoIShpcmItPnNjc3cuZHN0YXQgJiBERVZfU1RBVF9VTklUX0NIRUNLKSAmJgotCSAgICAoaXJiLT5zY3N3LmRzdGF0ICYgREVWX1NUQVRfQ0hOX0VORCkpIHsKKwlpZiAoIShpcmItPnNjc3cuY21kLmRzdGF0ICYgREVWX1NUQVRfVU5JVF9DSEVDSykgJiYKKwkgICAgKGlyYi0+c2Nzdy5jbWQuZHN0YXQgJiBERVZfU1RBVF9DSE5fRU5EKSkgewogCQljZGV2LT5wcml2YXRlLT5pcmIuZXN3LmVzdzAuZXJ3LmNvbnMgPSAxOwogCQljZGV2LT5wcml2YXRlLT5mbGFncy5kb3NlbnNlID0gMDsKIAl9CkBAIC0zODYsMTEgKzM4MywxMSBAQAogY2N3X2RldmljZV9hY2N1bXVsYXRlX2FuZF9zZW5zZShzdHJ1Y3QgY2N3X2RldmljZSAqY2Rldiwgc3RydWN0IGlyYiAqaXJiKQogewogCWNjd19kZXZpY2VfYWNjdW11bGF0ZV9pcmIoY2RldiwgaXJiKTsKLQlpZiAoKGlyYi0+c2Nzdy5hY3RsICAmIChTQ1NXX0FDVExfREVWQUNUIHwgU0NTV19BQ1RMX1NDSEFDVCkpICE9IDApCisJaWYgKChpcmItPnNjc3cuY21kLmFjdGwgICYgKFNDU1dfQUNUTF9ERVZBQ1QgfCBTQ1NXX0FDVExfU0NIQUNUKSkgIT0gMCkKIAkJcmV0dXJuIC1FQlVTWTsKIAkvKiBDaGVjayBmb3IgYmFzaWMgc2Vuc2UuICovCiAJaWYgKGNkZXYtPnByaXZhdGUtPmZsYWdzLmRvc2Vuc2UgJiYKLQkgICAgIShpcmItPnNjc3cuZHN0YXQgJiBERVZfU1RBVF9VTklUX0NIRUNLKSkgeworCSAgICAhKGlyYi0+c2Nzdy5jbWQuZHN0YXQgJiBERVZfU1RBVF9VTklUX0NIRUNLKSkgewogCQljZGV2LT5wcml2YXRlLT5pcmIuZXN3LmVzdzAuZXJ3LmNvbnMgPSAxOwogCQljZGV2LT5wcml2YXRlLT5mbGFncy5kb3NlbnNlID0gMDsKIAkJcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2lvL2ZjeC5jIGIvZHJpdmVycy9zMzkwL2Npby9mY3guYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MTY3N2RmCi0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9zMzkwL2Npby9mY3guYwpAQCAtMCwwICsxLDM1MCBAQAorLyoKKyAqICBGdW5jdGlvbnMgZm9yIGFzc2VtYmxpbmcgZmN4IGVuYWJsZWQgSS9PIGNvbnRyb2wgYmxvY2tzLgorICoKKyAqICAgIENvcHlyaWdodCBJQk0gQ29ycC4gMjAwOAorICogICAgQXV0aG9yKHMpOiBQZXRlciBPYmVycGFybGVpdGVyIDxwZXRlci5vYmVycGFybGVpdGVyQGRlLmlibS5jb20+CisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisjaW5jbHVkZSA8bGludXgvc3RyaW5nLmg+CisjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KKyNpbmNsdWRlIDxsaW51eC9lcnIuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxhc20vZmN4Lmg+CisjaW5jbHVkZSAiY2lvLmgiCisKKy8qKgorICogdGN3X2dldF9pbnRyZyAtIHJldHVybiBwb2ludGVyIHRvIGFzc29jaWF0ZWQgaW50ZXJyb2dhdGUgdGN3CisgKiBAdGN3OiBwb2ludGVyIHRvIHRoZSBvcmlnaW5hbCB0Y3cKKyAqCisgKiBSZXR1cm4gYSBwb2ludGVyIHRvIHRoZSBpbnRlcnJvZ2F0ZSB0Y3cgYXNzb2NpYXRlZCB3aXRoIHRoZSBzcGVjaWZpZWQgdGN3CisgKiBvciAlTlVMTCBpZiB0aGVyZSBpcyBubyBhc3NvY2lhdGVkIGludGVycm9nYXRlIHRjdy4KKyAqLworc3RydWN0IHRjdyAqdGN3X2dldF9pbnRyZyhzdHJ1Y3QgdGN3ICp0Y3cpCit7CisJcmV0dXJuIChzdHJ1Y3QgdGN3ICopICgoYWRkcl90KSB0Y3ctPmludHJnKTsKK30KK0VYUE9SVF9TWU1CT0wodGN3X2dldF9pbnRyZyk7CisKKy8qKgorICogdGN3X2dldF9kYXRhIC0gcmV0dXJuIHBvaW50ZXIgdG8gaW5wdXQvb3V0cHV0IGRhdGEgYXNzb2NpYXRlZCB3aXRoIHRjdworICogQHRjdzogcG9pbnRlciB0byB0aGUgdGN3CisgKgorICogUmV0dXJuIHRoZSBpbnB1dCBvciBvdXRwdXQgZGF0YSBhZGRyZXNzIHNwZWNpZmllZCBpbiB0aGUgdGN3IGRlcGVuZGluZworICogb24gd2hldGhlciB0aGUgci1iaXQgb3IgdGhlIHctYml0IGlzIHNldC4gSWYgbmVpdGhlciBiaXQgaXMgc2V0LCByZXR1cm4KKyAqICVOVUxMLgorICovCit2b2lkICp0Y3dfZ2V0X2RhdGEoc3RydWN0IHRjdyAqdGN3KQoreworCWlmICh0Y3ctPnIpCisJCXJldHVybiAodm9pZCAqKSAoKGFkZHJfdCkgdGN3LT5pbnB1dCk7CisJaWYgKHRjdy0+dykKKwkJcmV0dXJuICh2b2lkICopICgoYWRkcl90KSB0Y3ctPm91dHB1dCk7CisJcmV0dXJuIE5VTEw7Cit9CitFWFBPUlRfU1lNQk9MKHRjd19nZXRfZGF0YSk7CisKKy8qKgorICogdGN3X2dldF90Y2NiIC0gcmV0dXJuIHBvaW50ZXIgdG8gdGNjYiBhc3NvY2lhdGVkIHdpdGggdGN3CisgKiBAdGN3OiBwb2ludGVyIHRvIHRoZSB0Y3cKKyAqCisgKiBSZXR1cm4gcG9pbnRlciB0byB0aGUgdGNjYiBhc3NvY2lhdGVkIHdpdGggdGhpcyB0Y3cuCisgKi8KK3N0cnVjdCB0Y2NiICp0Y3dfZ2V0X3RjY2Ioc3RydWN0IHRjdyAqdGN3KQoreworCXJldHVybiAoc3RydWN0IHRjY2IgKikgKChhZGRyX3QpIHRjdy0+dGNjYik7Cit9CitFWFBPUlRfU1lNQk9MKHRjd19nZXRfdGNjYik7CisKKy8qKgorICogdGN3X2dldF90c2IgLSByZXR1cm4gcG9pbnRlciB0byB0c2IgYXNzb2NpYXRlZCB3aXRoIHRjdworICogQHRjdzogcG9pbnRlciB0byB0aGUgdGN3CisgKgorICogUmV0dXJuIHBvaW50ZXIgdG8gdGhlIHRzYiBhc3NvY2lhdGVkIHdpdGggdGhpcyB0Y3cuCisgKi8KK3N0cnVjdCB0c2IgKnRjd19nZXRfdHNiKHN0cnVjdCB0Y3cgKnRjdykKK3sKKwlyZXR1cm4gKHN0cnVjdCB0c2IgKikgKChhZGRyX3QpIHRjdy0+dHNiKTsKK30KK0VYUE9SVF9TWU1CT0wodGN3X2dldF90c2IpOworCisvKioKKyAqIHRjd19pbml0IC0gaW5pdGlhbGl6ZSB0Y3cgZGF0YSBzdHJ1Y3R1cmUKKyAqIEB0Y3c6IHBvaW50ZXIgdG8gdGhlIHRjdyB0byBiZSBpbml0aWFsaXplZAorICogQHI6IGluaXRpYWwgdmFsdWUgb2YgdGhlIHItYml0CisgKiBAdzogaW5pdGlhbCB2YWx1ZSBvZiB0aGUgdy1iaXQKKyAqCisgKiBJbml0aWFsaXplIGFsbCBmaWVsZHMgb2YgdGhlIHNwZWNpZmllZCB0Y3cgZGF0YSBzdHJ1Y3R1cmUgd2l0aCB6ZXJvIGFuZAorICogZmlsbCBpbiB0aGUgZm9ybWF0LCBmbGFncywgciBhbmQgdyBmaWVsZHMuCisgKi8KK3ZvaWQgdGN3X2luaXQoc3RydWN0IHRjdyAqdGN3LCBpbnQgciwgaW50IHcpCit7CisJbWVtc2V0KHRjdywgMCwgc2l6ZW9mKHN0cnVjdCB0Y3cpKTsKKwl0Y3ctPmZvcm1hdCA9IFRDV19GT1JNQVRfREVGQVVMVDsKKwl0Y3ctPmZsYWdzID0gVENXX0ZMQUdTX1RJREFXX0ZPUk1BVChUQ1dfVElEQVdfRk9STUFUX0RFRkFVTFQpOworCWlmIChyKQorCQl0Y3ctPnIgPSAxOworCWlmICh3KQorCQl0Y3ctPncgPSAxOworfQorRVhQT1JUX1NZTUJPTCh0Y3dfaW5pdCk7CisKK3N0YXRpYyBpbmxpbmUgc2l6ZV90IHRjYV9zaXplKHN0cnVjdCB0Y2NiICp0Y2NiKQoreworCXJldHVybiB0Y2NiLT50Y2FoLnRjYWwgLSAxMjsKK30KKworc3RhdGljIHUzMiBjYWxjX2Rjd19jb3VudChzdHJ1Y3QgdGNjYiAqdGNjYikKK3sKKwlpbnQgb2Zmc2V0OworCXN0cnVjdCBkY3cgKmRjdzsKKwl1MzIgY291bnQgPSAwOworCXNpemVfdCBzaXplOworCisJc2l6ZSA9IHRjYV9zaXplKHRjY2IpOworCWZvciAob2Zmc2V0ID0gMDsgb2Zmc2V0IDwgc2l6ZTspIHsKKwkJZGN3ID0gKHN0cnVjdCBkY3cgKikgJnRjY2ItPnRjYVtvZmZzZXRdOworCQljb3VudCArPSBkY3ctPmNvdW50OworCQlpZiAoIShkY3ctPmZsYWdzICYgRENXX0ZMQUdTX0NDKSkKKwkJCWJyZWFrOworCQlvZmZzZXQgKz0gc2l6ZW9mKHN0cnVjdCBkY3cpICsgQUxJR04oKGludCkgZGN3LT5jZF9jb3VudCwgNCk7CisJfQorCXJldHVybiBjb3VudDsKK30KKworc3RhdGljIHUzMiBjYWxjX2NiY19zaXplKHN0cnVjdCB0aWRhdyAqdGlkYXcsIGludCBudW0pCit7CisJaW50IGk7CisJdTMyIGNiY19kYXRhOworCXUzMiBjYmNfY291bnQgPSAwOworCXU2NCBkYXRhX2NvdW50ID0gMDsKKworCWZvciAoaSA9IDA7IGkgPCBudW07IGkrKykgeworCQlpZiAodGlkYXdbaV0uZmxhZ3MgJiBUSURBV19GTEFHU19MQVNUKQorCQkJYnJlYWs7CisJCS8qIFRPRE86IGZpbmQgb3V0IGlmIHBhZGRpbmcgYXBwbGllcyB0byB0b3RhbCBvZiBkYXRhCisJCSAqIHRyYW5zZmVycmVkIG9yIGRhdGEgdHJhbnNmZXJyZWQgYnkgdGhpcyB0aWRhdy4gQXNzdW1wdGlvbjoKKwkJICogYXBwbGllcyB0byB0b3RhbC4gKi8KKwkJZGF0YV9jb3VudCArPSB0aWRhd1tpXS5jb3VudDsKKwkJaWYgKHRpZGF3W2ldLmZsYWdzICYgVElEQVdfRkxBR1NfSU5TRVJUX0NCQykgeworCQkJY2JjX2RhdGEgPSA0ICsgQUxJR04oZGF0YV9jb3VudCwgNCkgLSBkYXRhX2NvdW50OworCQkJY2JjX2NvdW50ICs9IGNiY19kYXRhOworCQkJZGF0YV9jb3VudCArPSBjYmNfZGF0YTsKKwkJfQorCX0KKwlyZXR1cm4gY2JjX2NvdW50OworfQorCisvKioKKyAqIHRjd19maW5hbGl6ZSAtIGZpbmFsaXplIHRjdyBsZW5ndGggZmllbGRzIGFuZCB0aWRhdyBsaXN0CisgKiBAdGN3OiBwb2ludGVyIHRvIHRoZSB0Y3cKKyAqIEBudW1fdGlkYXdzOiB0aGUgbnVtYmVyIG9mIHRpZGF3cyB1c2VkIHRvIGFkZHJlc3MgaW5wdXQvb3V0cHV0IGRhdGEgb3IgemVybworICogaWYgbm8gdGlkYSBpcyB1c2VkCisgKgorICogQ2FsY3VsYXRlIHRoZSBpbnB1dC0vb3V0cHV0LWNvdW50IGFuZCB0Y2NibCBmaWVsZCBpbiB0aGUgdGN3LCBhZGQgYQorICogdGNhdCB0aGUgdGNjYiBhbmQgdGVybWluYXRlIHRoZSBkYXRhIHRpZGF3IGxpc3QgaWYgdXNlZC4KKyAqCisgKiBOb3RlOiBpbiBjYXNlIGlucHV0LSBvciBvdXRwdXQtdGlkYSBpcyB1c2VkLCB0aGUgdGlkYXctbGlzdCBtdXN0IGJlIHN0b3JlZAorICogaW4gY29udGlndW91cyBzdG9yYWdlIChubyB0dGljKS4gVGhlIHRjYWwgZmllbGQgaW4gdGhlIHRjY2IgbXVzdCBiZQorICogdXAtdG8tZGF0ZS4KKyAqLwordm9pZCB0Y3dfZmluYWxpemUoc3RydWN0IHRjdyAqdGN3LCBpbnQgbnVtX3RpZGF3cykKK3sKKwlzdHJ1Y3QgdGlkYXcgKnRpZGF3OworCXN0cnVjdCB0Y2NiICp0Y2NiOworCXN0cnVjdCB0Y2NiX3RjYXQgKnRjYXQ7CisJdTMyIGNvdW50OworCisJLyogVGVybWluYXRlIHRpZGF3IGxpc3QuICovCisJdGlkYXcgPSB0Y3dfZ2V0X2RhdGEodGN3KTsKKwlpZiAobnVtX3RpZGF3cyA+IDApCisJCXRpZGF3W251bV90aWRhd3MgLSAxXS5mbGFncyB8PSBUSURBV19GTEFHU19MQVNUOworCS8qIEFkZCB0Y2F0IHRvIHRjY2IuICovCisJdGNjYiA9IHRjd19nZXRfdGNjYih0Y3cpOworCXRjYXQgPSAoc3RydWN0IHRjY2JfdGNhdCAqKSAmdGNjYi0+dGNhW3RjYV9zaXplKHRjY2IpXTsKKwltZW1zZXQodGNhdCwgMCwgc2l6ZW9mKHRjYXQpKTsKKwkvKiBDYWxjdWxhdGUgdGN3IGlucHV0L291dHB1dCBjb3VudCBhbmQgdGNhdCB0cmFuc3BvcnQgY291bnQuICovCisJY291bnQgPSBjYWxjX2Rjd19jb3VudCh0Y2NiKTsKKwlpZiAodGN3LT53ICYmICh0Y3ctPmZsYWdzICYgVENXX0ZMQUdTX09VVFBVVF9USURBKSkKKwkJY291bnQgKz0gY2FsY19jYmNfc2l6ZSh0aWRhdywgbnVtX3RpZGF3cyk7CisJaWYgKHRjdy0+cikKKwkJdGN3LT5pbnB1dF9jb3VudCA9IGNvdW50OworCWVsc2UgaWYgKHRjdy0+dykKKwkJdGN3LT5vdXRwdXRfY291bnQgPSBjb3VudDsKKwl0Y2F0LT5jb3VudCA9IEFMSUdOKGNvdW50LCA0KSArIDQ7CisJLyogQ2FsY3VsYXRlIHRjY2JsLiAqLworCXRjdy0+dGNjYmwgPSAoc2l6ZW9mKHN0cnVjdCB0Y2NiKSArIHRjYV9zaXplKHRjY2IpICsKKwkJICAgICAgc2l6ZW9mKHN0cnVjdCB0Y2NiX3RjYXQpIC0gMjApID4+IDI7Cit9CitFWFBPUlRfU1lNQk9MKHRjd19maW5hbGl6ZSk7CisKKy8qKgorICogdGN3X3NldF9pbnRyZyAtIHNldCB0aGUgaW50ZXJyb2dhdGUgdGN3IGFkZHJlc3Mgb2YgYSB0Y3cKKyAqIEB0Y3c6IHRoZSB0Y3cgYWRkcmVzcworICogQGludHJnX3RjdzogdGhlIGFkZHJlc3Mgb2YgdGhlIGludGVycm9nYXRlIHRjdworICoKKyAqIFNldCB0aGUgYWRkcmVzcyBvZiB0aGUgaW50ZXJyb2dhdGUgdGN3IGluIHRoZSBzcGVjaWZpZWQgdGN3LgorICovCit2b2lkIHRjd19zZXRfaW50cmcoc3RydWN0IHRjdyAqdGN3LCBzdHJ1Y3QgdGN3ICppbnRyZ190Y3cpCit7CisJdGN3LT5pbnRyZyA9ICh1MzIpICgoYWRkcl90KSBpbnRyZ190Y3cpOworfQorRVhQT1JUX1NZTUJPTCh0Y3dfc2V0X2ludHJnKTsKKworLyoqCisgKiB0Y3dfc2V0X2RhdGEgLSBzZXQgZGF0YSBhZGRyZXNzIGFuZCB0aWRhIGZsYWcgb2YgYSB0Y3cKKyAqIEB0Y3c6IHRoZSB0Y3cgYWRkcmVzcworICogQGRhdGE6IHRoZSBkYXRhIGFkZHJlc3MKKyAqIEB1c2VfdGlkYWw6IHplcm8gb2YgdGhlIGRhdGEgYWRkcmVzcyBzcGVjaWZpZXMgYSBjb250aWd1b3VzIGJsb2NrIG9mIGRhdGEsCisgKiBub24temVybyBpZiBpdCBzcGVjaWZpZXMgYSBsaXN0IGlmIHRpZGF3cy4KKyAqCisgKiBTZXQgdGhlIGlucHV0L291dHB1dCBkYXRhIGFkZHJlc3Mgb2YgYSB0Y3cgKGRlcGVuZGluZyBvbiB0aGUgdmFsdWUgb2YgdGhlCisgKiByLWZsYWcgYW5kIHctZmxhZykuIElmIEB1c2VfdGlkYWwgaXMgbm9uLXplcm8sIHRoZSBjb3JyZXNwb25kaW5nIHRpZGEgZmxhZworICogaXMgc2V0IGFzIHdlbGwuCisgKi8KK3ZvaWQgdGN3X3NldF9kYXRhKHN0cnVjdCB0Y3cgKnRjdywgdm9pZCAqZGF0YSwgaW50IHVzZV90aWRhbCkKK3sKKwlpZiAodGN3LT5yKSB7CisJCXRjdy0+aW5wdXQgPSAodTY0KSAoKGFkZHJfdCkgZGF0YSk7CisJCWlmICh1c2VfdGlkYWwpCisJCQl0Y3ctPmZsYWdzIHw9IFRDV19GTEFHU19JTlBVVF9USURBOworCX0gZWxzZSBpZiAodGN3LT53KSB7CisJCXRjdy0+b3V0cHV0ID0gKHU2NCkgKChhZGRyX3QpIGRhdGEpOworCQlpZiAodXNlX3RpZGFsKQorCQkJdGN3LT5mbGFncyB8PSBUQ1dfRkxBR1NfT1VUUFVUX1RJREE7CisJfQorfQorRVhQT1JUX1NZTUJPTCh0Y3dfc2V0X2RhdGEpOworCisvKioKKyAqIHRjd19zZXRfdGNjYiAtIHNldCB0Y2NiIGFkZHJlc3Mgb2YgYSB0Y3cKKyAqIEB0Y3c6IHRoZSB0Y3cgYWRkcmVzcworICogQHRjY2I6IHRoZSB0Y2NiIGFkZHJlc3MKKyAqCisgKiBTZXQgdGhlIGFkZHJlc3Mgb2YgdGhlIHRjY2IgaW4gdGhlIHNwZWNpZmllZCB0Y3cuCisgKi8KK3ZvaWQgdGN3X3NldF90Y2NiKHN0cnVjdCB0Y3cgKnRjdywgc3RydWN0IHRjY2IgKnRjY2IpCit7CisJdGN3LT50Y2NiID0gKHU2NCkgKChhZGRyX3QpIHRjY2IpOworfQorRVhQT1JUX1NZTUJPTCh0Y3dfc2V0X3RjY2IpOworCisvKioKKyAqIHRjd19zZXRfdHNiIC0gc2V0IHRzYiBhZGRyZXNzIG9mIGEgdGN3CisgKiBAdGN3OiB0aGUgdGN3IGFkZHJlc3MKKyAqIEB0c2I6IHRoZSB0c2IgYWRkcmVzcworICoKKyAqIFNldCB0aGUgYWRkcmVzcyBvZiB0aGUgdHNiIGluIHRoZSBzcGVjaWZpZWQgdGN3LgorICovCit2b2lkIHRjd19zZXRfdHNiKHN0cnVjdCB0Y3cgKnRjdywgc3RydWN0IHRzYiAqdHNiKQoreworCXRjdy0+dHNiID0gKHU2NCkgKChhZGRyX3QpIHRzYik7Cit9CitFWFBPUlRfU1lNQk9MKHRjd19zZXRfdHNiKTsKKworLyoqCisgKiB0Y2NiX2luaXQgLSBpbml0aWFsaXplIHRjY2IKKyAqIEB0Y2NiOiB0aGUgdGNjYiBhZGRyZXNzCisgKiBAc2l6ZTogdGhlIG1heGltdW0gc2l6ZSBvZiB0aGUgdGNjYgorICogQHNhYzogdGhlIHNlcnZpY2UtYWN0aW9uLWNvZGUgdG8gYmUgdXNlcgorICoKKyAqIEluaXRpYWxpemUgdGhlIGhlYWRlciBvZiB0aGUgc3BlY2lmaWVkIHRjY2IgYnkgcmVzZXR0aW5nIGFsbCB2YWx1ZXMgdG8gemVybworICogYW5kIGZpbGxpbmcgaW4gZGVmYXVsdHMgZm9yIGZvcm1hdCwgc2FjIGFuZCBpbml0aWFsIHRjYWwgZmllbGRzLgorICovCit2b2lkIHRjY2JfaW5pdChzdHJ1Y3QgdGNjYiAqdGNjYiwgc2l6ZV90IHNpemUsIHUzMiBzYWMpCit7CisJbWVtc2V0KHRjY2IsIDAsIHNpemUpOworCXRjY2ItPnRjYWguZm9ybWF0ID0gVENDQl9GT1JNQVRfREVGQVVMVDsKKwl0Y2NiLT50Y2FoLnNhYyA9IHNhYzsKKwl0Y2NiLT50Y2FoLnRjYWwgPSAxMjsKK30KK0VYUE9SVF9TWU1CT0wodGNjYl9pbml0KTsKKworLyoqCisgKiB0c2JfaW5pdCAtIGluaXRpYWxpemUgdHNiCisgKiBAdHNiOiB0aGUgdHNiIGFkZHJlc3MKKyAqCisgKiBJbml0aWFsaXplIHRoZSBzcGVjaWZpZWQgdHNiIGJ5IHJlc2V0dGluZyBhbGwgdmFsdWVzIHRvIHplcm8uCisgKi8KK3ZvaWQgdHNiX2luaXQoc3RydWN0IHRzYiAqdHNiKQoreworCW1lbXNldCh0c2IsIDAsIHNpemVvZih0c2IpKTsKK30KK0VYUE9SVF9TWU1CT0wodHNiX2luaXQpOworCisvKioKKyAqIHRjY2JfYWRkX2RjdyAtIGFkZCBhIGRjdyB0byB0aGUgdGNjYgorICogQHRjY2I6IHRoZSB0Y2NiIGFkZHJlc3MKKyAqIEB0Y2NiX3NpemU6IHRoZSBtYXhpbXVtIHRjY2Igc2l6ZQorICogQGNtZDogdGhlIGRjdyBjb21tYW5kCisgKiBAZmxhZ3M6IGZsYWdzIGZvciB0aGUgZGN3CisgKiBAY2Q6IHBvaW50ZXIgdG8gY29udHJvbCBkYXRhIGZvciB0aGlzIGRjdyBvciBOVUxMIGlmIG5vbmUgaXMgcmVxdWlyZWQKKyAqIEBjZF9jb3VudDogbnVtYmVyIG9mIGNvbnRyb2wgZGF0YSBieXRlcyBmb3IgdGhpcyBkY3cKKyAqIEBjb3VudDogbnVtYmVyIG9mIGRhdGEgYnl0ZXMgZm9yIHRoaXMgZGN3CisgKgorICogQWRkIGEgbmV3IGRjdyB0byB0aGUgc3BlY2lmaWVkIHRjY2IgYnkgd3JpdGluZyB0aGUgZGN3IGluZm9ybWF0aW9uIHNwZWNpZmllZAorICogYnkgQGNtZCwgQGZsYWdzLCBAY2QsIEBjZF9jb3VudCBhbmQgQGNvdW50IHRvIHRoZSB0Y2Egb2YgdGhlIHRjY2IuIFJldHVybgorICogYSBwb2ludGVyIHRvIHRoZSBuZXdseSBhZGRlZCBkY3cgb24gc3VjY2VzcyBvciAtJUVOT1NQQyBpZiB0aGUgbmV3IGRjdworICogd291bGQgZXhjZWVkIHRoZSBhdmFpbGFibGUgc3BhY2UgYXMgZGVmaW5lZCBieSBAdGNjYl9zaXplLgorICoKKyAqIE5vdGU6IHRoZSB0Y2FsIGZpZWxkIG9mIHRoZSB0Y2NiIGhlYWRlciB3aWxsIGJlIHVwZGF0ZXMgdG8gcmVmbGVjdCBhZGRlZAorICogY29udGVudC4KKyAqLworc3RydWN0IGRjdyAqdGNjYl9hZGRfZGN3KHN0cnVjdCB0Y2NiICp0Y2NiLCBzaXplX3QgdGNjYl9zaXplLCB1OCBjbWQsIHU4IGZsYWdzLAorCQkJIHZvaWQgKmNkLCB1OCBjZF9jb3VudCwgdTMyIGNvdW50KQoreworCXN0cnVjdCBkY3cgKmRjdzsKKwlpbnQgc2l6ZTsKKwlpbnQgdGNhX29mZnNldDsKKworCS8qIENoZWNrIGZvciBzcGFjZS4gKi8KKwl0Y2Ffb2Zmc2V0ID0gdGNhX3NpemUodGNjYik7CisJc2l6ZSA9IEFMSUdOKHNpemVvZihzdHJ1Y3QgZGN3KSArIGNkX2NvdW50LCA0KTsKKwlpZiAoc2l6ZW9mKHN0cnVjdCB0Y2NiX3RjYWgpICsgdGNhX29mZnNldCArIHNpemUgKworCSAgICBzaXplb2Yoc3RydWN0IHRjY2JfdGNhdCkgPiB0Y2NiX3NpemUpCisJCXJldHVybiBFUlJfUFRSKC1FTk9TUEMpOworCS8qIEFkZCBkY3cgdG8gdGNhLiAqLworCWRjdyA9IChzdHJ1Y3QgZGN3ICopICZ0Y2NiLT50Y2FbdGNhX29mZnNldF07CisJbWVtc2V0KGRjdywgMCwgc2l6ZSk7CisJZGN3LT5jbWQgPSBjbWQ7CisJZGN3LT5mbGFncyA9IGZsYWdzOworCWRjdy0+Y291bnQgPSBjb3VudDsKKwlkY3ctPmNkX2NvdW50ID0gY2RfY291bnQ7CisJaWYgKGNkKQorCQltZW1jcHkoJmRjdy0+Y2RbMF0sIGNkLCBjZF9jb3VudCk7CisJdGNjYi0+dGNhaC50Y2FsICs9IHNpemU7CisJcmV0dXJuIGRjdzsKK30KK0VYUE9SVF9TWU1CT0wodGNjYl9hZGRfZGN3KTsKKworLyoqCisgKiB0Y3dfYWRkX3RpZGF3IC0gYWRkIGEgdGlkYXcgdG8gYSB0Y3cKKyAqIEB0Y3c6IHRoZSB0Y3cgYWRkcmVzcworICogQG51bV90aWRhd3M6IHRoZSBjdXJyZW50IG51bWJlciBvZiB0aWRhd3MKKyAqIEBmbGFnczogZmxhZ3MgZm9yIHRoZSBuZXcgdGlkYXcKKyAqIEBhZGRyOiBhZGRyZXNzIHZhbHVlIGZvciB0aGUgbmV3IHRpZGF3CisgKiBAY291bnQ6IGNvdW50IHZhbHVlIGZvciB0aGUgbmV3IHRpZGF3CisgKgorICogQWRkIGEgbmV3IHRpZGF3IHRvIHRoZSBpbnB1dC9vdXRwdXQgZGF0YSB0aWRhdy1saXN0IG9mIHRoZSBzcGVjaWZpZWQgdGN3CisgKiAoZGVwZW5kaW5nIG9uIHRoZSB2YWx1ZSBvZiB0aGUgci1mbGFnIGFuZCB3LWZsYWcpIGFuZCByZXR1cm4gYSBwb2ludGVyIHRvCisgKiB0aGUgbmV3IHRpZGF3LgorICoKKyAqIE5vdGU6IHRoZSB0aWRhdy1saXN0IGlzIGFzc3VtZWQgdG8gYmUgY29udGlndW91cyB3aXRoIG5vIHR0aWNzLiBUaGUgY2FsbGVyCisgKiBtdXN0IGVuc3VyZSB0aGF0IHRoZXJlIGlzIGVub3VnaCBzcGFjZSBmb3IgdGhlIG5ldyB0aWRhdy4gVGhlIGxhc3QtdGlkYXcKKyAqIGZsYWcgZm9yIHRoZSBsYXN0IHRpZGF3IGluIHRoZSBsaXN0IHdpbGwgYmUgc2V0IGJ5IHRjd19maW5hbGl6ZS4KKyAqLworc3RydWN0IHRpZGF3ICp0Y3dfYWRkX3RpZGF3KHN0cnVjdCB0Y3cgKnRjdywgaW50IG51bV90aWRhd3MsIHU4IGZsYWdzLAorCQkJICAgIHZvaWQgKmFkZHIsIHUzMiBjb3VudCkKK3sKKwlzdHJ1Y3QgdGlkYXcgKnRpZGF3OworCisJLyogQWRkIHRpZGF3IHRvIHRpZGF3LWxpc3QuICovCisJdGlkYXcgPSAoKHN0cnVjdCB0aWRhdyAqKSB0Y3dfZ2V0X2RhdGEodGN3KSkgKyBudW1fdGlkYXdzOworCW1lbXNldCh0aWRhdywgMCwgc2l6ZW9mKHN0cnVjdCB0aWRhdykpOworCXRpZGF3LT5mbGFncyA9IGZsYWdzOworCXRpZGF3LT5jb3VudCA9IGNvdW50OworCXRpZGF3LT5hZGRyID0gKHU2NCkgKChhZGRyX3QpIGFkZHIpOworCXJldHVybiB0aWRhdzsKK30KK0VYUE9SVF9TWU1CT0wodGN3X2FkZF90aWRhdyk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2lvL2lkc2V0LmggYi9kcml2ZXJzL3MzOTAvY2lvL2lkc2V0LmgKaW5kZXggMTQ0NDY2YS4uNTI4MDY1YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2Npby9pZHNldC5oCisrKyBiL2RyaXZlcnMvczM5MC9jaW8vaWRzZXQuaApAQCAtOCw3ICs4LDcgQEAKICNpZm5kZWYgUzM5MF9JRFNFVF9ICiAjZGVmaW5lIFMzOTBfSURTRVRfSCBTMzkwX0lEU0VUX0gKIAotI2luY2x1ZGUgInNjaGlkLmgiCisjaW5jbHVkZSA8YXNtL3NjaGlkLmg+CiAKIHN0cnVjdCBpZHNldDsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2Npby9pb19zY2guaCBiL2RyaXZlcnMvczM5MC9jaW8vaW9fc2NoLmgKaW5kZXggOGM2MTMxNi4uM2Y4ZjFjZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2Npby9pb19zY2guaAorKysgYi9kcml2ZXJzL3MzOTAvY2lvL2lvX3NjaC5oCkBAIC0xLDEyICsxLDEyIEBACiAjaWZuZGVmIFMzOTBfSU9fU0NIX0gKICNkZWZpbmUgUzM5MF9JT19TQ0hfSAogCi0jaW5jbHVkZSAic2NoaWQuaCIKKyNpbmNsdWRlIDxhc20vc2NoaWQuaD4KIAogLyoKLSAqIG9wZXJhdGlvbiByZXF1ZXN0IGJsb2NrCisgKiBjb21tYW5kLW1vZGUgb3BlcmF0aW9uIHJlcXVlc3QgYmxvY2sKICAqLwotc3RydWN0IG9yYiB7CitzdHJ1Y3QgY21kX29yYiB7CiAJdTMyIGludHBhcm07CS8qIGludGVycnVwdGlvbiBwYXJhbWV0ZXIgKi8KIAl1MzIga2V5ICA6IDQ7CS8qIGZsYWdzLCBsaWtlIGtleSwgc3VzcGVuZCBjb250cm9sLCBldGMuICovCiAJdTMyIHNwbmQgOiAxOwkvKiBzdXNwZW5kIGNvbnRyb2wgKi8KQEAgLTI4LDggKzI4LDM2IEBACiAJdTMyIGNwYTsJLyogY2hhbm5lbCBwcm9ncmFtIGFkZHJlc3MgKi8KIH0gIF9fYXR0cmlidXRlX18gKChwYWNrZWQsIGFsaWduZWQoNCkpKTsKIAorLyoKKyAqIHRyYW5zcG9ydC1tb2RlIG9wZXJhdGlvbiByZXF1ZXN0IGJsb2NrCisgKi8KK3N0cnVjdCB0bV9vcmIgeworCXUzMiBpbnRwYXJtOworCXUzMiBrZXk6NDsKKwl1MzIgOjk7CisJdTMyIGI6MTsKKwl1MzIgOjI7CisJdTMyIGxwbTo4OworCXUzMiA6NzsKKwl1MzIgeDoxOworCXUzMiB0Y3c7CisJdTMyIHByaW86ODsKKwl1MzIgOjg7CisJdTMyIHJzdnBnbTo4OworCXUzMiA6ODsKKwl1MzIgOjMyOworCXUzMiA6MzI7CisJdTMyIDozMjsKKwl1MzIgOjMyOworfSAgX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCwgYWxpZ25lZCg0KSkpOworCit1bmlvbiBvcmIgeworCXN0cnVjdCBjbWRfb3JiIGNtZDsKKwlzdHJ1Y3QgdG1fb3JiIHRtOworfSAgX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCwgYWxpZ25lZCg0KSkpOworCiBzdHJ1Y3QgaW9fc3ViY2hhbm5lbF9wcml2YXRlIHsKLQlzdHJ1Y3Qgb3JiIG9yYjsJCS8qIG9wZXJhdGlvbiByZXF1ZXN0IGJsb2NrICovCisJdW5pb24gb3JiIG9yYjsJCS8qIG9wZXJhdGlvbiByZXF1ZXN0IGJsb2NrICovCiAJc3RydWN0IGNjdzEgc2Vuc2VfY2N3OwkvKiBzdGF0aWMgY2N3IGZvciBzZW5zZSBjb21tYW5kICovCiB9IF9fYXR0cmlidXRlX18gKChhbGlnbmVkKDgpKSk7CiAKQEAgLTk1LDE2ICsxMjMsMTggQEAKIAl2b2lkICpjbWJfd2FpdDsJCQkvKiBkZWZlcnJlZCBjbWIgZW5hYmxlL2Rpc2FibGUgKi8KIH07CiAKLXN0YXRpYyBpbmxpbmUgaW50IHNzY2goc3RydWN0IHN1YmNoYW5uZWxfaWQgc2NoaWQsIHZvbGF0aWxlIHN0cnVjdCBvcmIgKmFkZHIpCitzdGF0aWMgaW5saW5lIGludCBzc2NoKHN0cnVjdCBzdWJjaGFubmVsX2lkIHNjaGlkLCB2b2xhdGlsZSB1bmlvbiBvcmIgKmFkZHIpCiB7CiAJcmVnaXN0ZXIgc3RydWN0IHN1YmNoYW5uZWxfaWQgcmVnMSBhc20oIjEiKSA9IHNjaGlkOwotCWludCBjY29kZTsKKwlpbnQgY2NvZGUgPSAtRUlPOwogCiAJYXNtIHZvbGF0aWxlKAogCQkiCXNzY2gJMCglMilcbiIKLQkJIglpcG0JJTBcbiIKLQkJIglzcmwJJTAsMjgiCi0JCTogIj1kIiAoY2NvZGUpIDogImQiIChyZWcxKSwgImEiIChhZGRyKSwgIm0iICgqYWRkcikgOiAiY2MiKTsKKwkJIjA6CWlwbQklMFxuIgorCQkiCXNybAklMCwyOFxuIgorCQkiMTpcbiIKKwkJRVhfVEFCTEUoMGIsIDFiKQorCQk6ICIrZCIgKGNjb2RlKSA6ICJkIiAocmVnMSksICJhIiAoYWRkciksICJtIiAoKmFkZHIpIDogImNjIik7CiAJcmV0dXJuIGNjb2RlOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2lvL2lvYXNtLmggYi9kcml2ZXJzL3MzOTAvY2lvL2lvYXNtLmgKaW5kZXggNjUyZWEzNi4uOWZhMmFjMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2Npby9pb2FzbS5oCisrKyBiL2RyaXZlcnMvczM5MC9jaW8vaW9hc20uaApAQCAtMiw3ICsyLDcgQEAKICNkZWZpbmUgUzM5MF9DSU9fSU9BU01fSAogCiAjaW5jbHVkZSA8YXNtL2NocGlkLmg+Ci0jaW5jbHVkZSAic2NoaWQuaCIKKyNpbmNsdWRlIDxhc20vc2NoaWQuaD4KIAogLyoKICAqIFRQSSBpbmZvIHN0cnVjdHVyZQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2Npby9pc2MuYyBiL2RyaXZlcnMvczM5MC9jaW8vaXNjLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzU5MjA4NwotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvczM5MC9jaW8vaXNjLmMKQEAgLTAsMCArMSw2OCBAQAorLyoKKyAqIEZ1bmN0aW9ucyBmb3IgcmVnaXN0cmF0aW9uIG9mIEkvTyBpbnRlcnJ1cHRpb24gc3ViY2xhc3NlcyBvbiBzMzkwLgorICoKKyAqIENvcHlyaWdodCBJQk0gQ29ycC4gMjAwOAorICogQXV0aG9yczogU2ViYXN0aWFuIE90dCA8c2Vib3R0QGxpbnV4LnZuZXQuaWJtLmNvbT4KKyAqLworCisjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxhc20vaXNjLmg+CisKK3N0YXRpYyB1bnNpZ25lZCBpbnQgaXNjX3JlZnNbTUFYX0lTQyArIDFdOworc3RhdGljIERFRklORV9TUElOTE9DSyhpc2NfcmVmX2xvY2spOworCisKKy8qKgorICogaXNjX3JlZ2lzdGVyIC0gcmVnaXN0ZXIgYW4gSS9PIGludGVycnVwdGlvbiBzdWJjbGFzcy4KKyAqIEBpc2M6IEkvTyBpbnRlcnJ1cHRpb24gc3ViY2xhc3MgdG8gcmVnaXN0ZXIKKyAqCisgKiBUaGUgbnVtYmVyIG9mIHVzZXJzIGZvciBAaXNjIGlzIGluY3JlYXNlZC4gSWYgdGhpcyBpcyB0aGUgZmlyc3QgdXNlciB0bworICogcmVnaXN0ZXIgQGlzYywgdGhlIGNvcnJlc3BvbmRpbmcgSS9PIGludGVycnVwdGlvbiBzdWJjbGFzcyBtYXNrIGlzIGVuYWJsZWQuCisgKgorICogQ29udGV4dDoKKyAqICAgVGhpcyBmdW5jdGlvbiBtdXN0IG5vdCBiZSBjYWxsZWQgaW4gaW50ZXJydXB0IGNvbnRleHQuCisgKi8KK3ZvaWQgaXNjX3JlZ2lzdGVyKHVuc2lnbmVkIGludCBpc2MpCit7CisJaWYgKGlzYyA+IE1BWF9JU0MpIHsKKwkJV0FSTl9PTigxKTsKKwkJcmV0dXJuOworCX0KKworCXNwaW5fbG9jaygmaXNjX3JlZl9sb2NrKTsKKwlpZiAoaXNjX3JlZnNbaXNjXSA9PSAwKQorCQljdGxfc2V0X2JpdCg2LCAzMSAtIGlzYyk7CisJaXNjX3JlZnNbaXNjXSsrOworCXNwaW5fdW5sb2NrKCZpc2NfcmVmX2xvY2spOworfQorRVhQT1JUX1NZTUJPTF9HUEwoaXNjX3JlZ2lzdGVyKTsKKworLyoqCisgKiBpc2NfdW5yZWdpc3RlciAtIHVucmVnaXN0ZXIgYW4gSS9PIGludGVycnVwdGlvbiBzdWJjbGFzcy4KKyAqIEBpc2M6IEkvTyBpbnRlcnJ1cHRpb24gc3ViY2xhc3MgdG8gdW5yZWdpc3RlcgorICoKKyAqIFRoZSBudW1iZXIgb2YgdXNlcnMgZm9yIEBpc2MgaXMgZGVjcmVhc2VkLiBJZiB0aGlzIGlzIHRoZSBsYXN0IHVzZXIgdG8KKyAqIHVucmVnaXN0ZXIgQGlzYywgdGhlIGNvcnJlc3BvbmRpbmcgSS9PIGludGVycnVwdGlvbiBzdWJjbGFzcyBtYXNrIGlzCisgKiBkaXNhYmxlZC4KKyAqIE5vdGU6IFRoaXMgZnVuY3Rpb24gbXVzdCBub3QgYmUgY2FsbGVkIGlmIGlzY19yZWdpc3RlcigpIGhhc24ndCBiZWVuIGNhbGxlZAorICogYmVmb3JlIGJ5IHRoZSBkcml2ZXIgZm9yIEBpc2MuCisgKgorICogQ29udGV4dDoKKyAqICAgVGhpcyBmdW5jdGlvbiBtdXN0IG5vdCBiZSBjYWxsZWQgaW4gaW50ZXJydXB0IGNvbnRleHQuCisgKi8KK3ZvaWQgaXNjX3VucmVnaXN0ZXIodW5zaWduZWQgaW50IGlzYykKK3sKKwlzcGluX2xvY2soJmlzY19yZWZfbG9jayk7CisJLyogY2hlY2sgZm9yIG1pc3VzZSAqLworCWlmIChpc2MgPiBNQVhfSVNDIHx8IGlzY19yZWZzW2lzY10gPT0gMCkgeworCQlXQVJOX09OKDEpOworCQlnb3RvIG91dF91bmxvY2s7CisJfQorCWlmIChpc2NfcmVmc1tpc2NdID09IDEpCisJCWN0bF9jbGVhcl9iaXQoNiwgMzEgLSBpc2MpOworCWlzY19yZWZzW2lzY10tLTsKK291dF91bmxvY2s6CisJc3Bpbl91bmxvY2soJmlzY19yZWZfbG9jayk7Cit9CitFWFBPUlRfU1lNQk9MX0dQTChpc2NfdW5yZWdpc3Rlcik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2lvL2l0Y3cuYyBiL2RyaXZlcnMvczM5MC9jaW8vaXRjdy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE3ZGE5YWIKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL3MzOTAvY2lvL2l0Y3cuYwpAQCAtMCwwICsxLDMyNyBAQAorLyoKKyAqICBGdW5jdGlvbnMgZm9yIGluY3JlbWVudGFsIGNvbnN0cnVjdGlvbiBvZiBmY3ggZW5hYmxlZCBJL08gY29udHJvbCBibG9ja3MuCisgKgorICogICAgQ29weXJpZ2h0IElCTSBDb3JwLiAyMDA4CisgKiAgICBBdXRob3Iocyk6IFBldGVyIE9iZXJwYXJsZWl0ZXIgPHBldGVyLm9iZXJwYXJsZWl0ZXJAZGUuaWJtLmNvbT4KKyAqLworCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKyNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KKyNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgorI2luY2x1ZGUgPGxpbnV4L2Vyci5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGFzbS9mY3guaD4KKyNpbmNsdWRlIDxhc20vaXRjdy5oPgorCisvKioKKyAqIHN0cnVjdCBpdGN3IC0gaW5jcmVtZW50YWwgdGN3IGhlbHBlciBkYXRhIHR5cGUKKyAqCisgKiBUaGlzIHN0cnVjdHVyZSBzZXJ2ZXMgYXMgYSBoYW5kbGUgZm9yIHRoZSBpbmNyZW1lbnRhbCBjb25zdHJ1Y3Rpb24gb2YgYQorICogdGN3IGFuZCBhc3NvY2lhdGVkIHRjY2IsIHRzYiwgZGF0YSB0aWRhdy1saXN0IHBsdXMgYW4gb3B0aW9uYWwgaW50ZXJyb2dhdGUKKyAqIHRjdyBhbmQgYXNzb2NpYXRlZCBkYXRhLiBUaGUgZGF0YSBzdHJ1Y3R1cmVzIGFyZSBjb250YWluZWQgaW5zaWRlIGEgc2luZ2xlCisgKiBjb250aWd1b3VzIGJ1ZmZlciBwcm92aWRlZCBieSB0aGUgdXNlci4KKyAqCisgKiBUaGUgaXRjdyBjb25zdHJ1Y3Rpb24gZnVuY3Rpb25zIHRha2UgY2FyZSBvZiBvdmVyYWxsIGRhdGEgaW50ZWdyaXR5OgorICogLSByZXNldCB1bnVzZWQgZmllbGRzIHRvIHplcm8KKyAqIC0gZmlsbCBpbiByZXF1aXJlZCBwb2ludGVycworICogLSBlbnN1cmUgcmVxdWlyZWQgYWxpZ25tZW50IGZvciBkYXRhIHN0cnVjdHVyZXMKKyAqIC0gcHJldmVudCBkYXRhIHN0cnVjdHVyZXMgdG8gY3Jvc3MgNGstYnl0ZSBib3VuZGFyeSB3aGVyZSByZXF1aXJlZAorICogLSBjYWxjdWxhdGUgdGNjYi1yZWxhdGVkIGxlbmd0aCBmaWVsZHMKKyAqIC0gb3B0aW9uYWxseSBwcm92aWRlIHJlYWR5LW1hZGUgaW50ZXJyb2dhdGUgdGN3IGFuZCBhc3NvY2lhdGVkIHN0cnVjdHVyZXMKKyAqCisgKiBSZXN0cmljdGlvbnMgYXBwbHkgdG8gdGhlIGl0Y3dzIGNyZWF0ZWQgd2l0aCB0aGVzZSBjb25zdHJ1Y3Rpb24gZnVuY3Rpb25zOgorICogLSB0aWRhIG9ubHkgc3VwcG9ydGVkIGZvciBkYXRhIGFkZHJlc3MsIG5vdCBmb3IgdGNjYgorICogLSBvbmx5IGNvbnRpZ3VvdXMgdGlkYXctbGlzdHMgKG5vIHR0aWMpCisgKiAtIHRvdGFsIG51bWJlciBvZiBieXRlcyByZXF1aXJlZCBwZXIgaXRjdyBtYXkgbm90IGV4Y2VlZCA0ayBieXRlcworICogLSBlaXRoZXIgcmVhZCBvciB3cml0ZSBvcGVyYXRpb24gKG1heSBub3Qgd29yayB3aXRoIHI9MCBhbmQgdz0wKQorICoKKyAqIEV4YW1wbGU6CisgKiBzdHJ1Y3QgaXRjdyAqaXRjdzsKKyAqIHZvaWQgKmJ1ZmZlcjsKKyAqIHNpemVfdCBzaXplOworICoKKyAqIHNpemUgPSBpdGN3X2NhbGNfc2l6ZSgxLCAyLCAwKTsKKyAqIGJ1ZmZlciA9IGttYWxsb2Moc2l6ZSwgR0ZQX0RNQSk7CisgKiBpZiAoIWJ1ZmZlcikKKyAqCXJldHVybiAtRU5PTUVNOworICogaXRjdyA9IGl0Y3dfaW5pdChidWZmZXIsIHNpemUsIElUQ1dfT1BfUkVBRCwgMSwgMiwgMCk7CisgKiBpZiAoSVNfRVJSKGl0Y3cpKQorICoJcmV0dXJuIFBUUl9FUihpdGN3KTsKKyAqIGl0Y3dfYWRkX2RjdyhpdGN3LCAweDIsIDAsIE5VTEwsIDAsIDcyKTsKKyAqIGl0Y3dfYWRkX3RpZGF3KGl0Y3csIDAsIDB4MzAwMDAsIDIwKTsKKyAqIGl0Y3dfYWRkX3RpZGF3KGl0Y3csIDAsIDB4NDAwMDAsIDUyKTsKKyAqIGl0Y3dfZmluYWxpemUoaXRjdyk7CisgKgorICovCitzdHJ1Y3QgaXRjdyB7CisJc3RydWN0IHRjdyAqdGN3OworCXN0cnVjdCB0Y3cgKmludHJnX3RjdzsKKwlpbnQgbnVtX3RpZGF3czsKKwlpbnQgbWF4X3RpZGF3czsKKwlpbnQgaW50cmdfbnVtX3RpZGF3czsKKwlpbnQgaW50cmdfbWF4X3RpZGF3czsKK307CisKKy8qKgorICogaXRjd19nZXRfdGN3IC0gcmV0dXJuIHBvaW50ZXIgdG8gdGN3IGFzc29jaWF0ZWQgd2l0aCB0aGUgaXRjdworICogQGl0Y3c6IGFkZHJlc3Mgb2YgdGhlIGl0Y3cKKyAqCisgKiBSZXR1cm4gcG9pbnRlciB0byB0aGUgdGN3IGFzc29jaWF0ZWQgd2l0aCB0aGUgaXRjdy4KKyAqLworc3RydWN0IHRjdyAqaXRjd19nZXRfdGN3KHN0cnVjdCBpdGN3ICppdGN3KQoreworCXJldHVybiBpdGN3LT50Y3c7Cit9CitFWFBPUlRfU1lNQk9MKGl0Y3dfZ2V0X3Rjdyk7CisKKy8qKgorICogaXRjd19jYWxjX3NpemUgLSByZXR1cm4gdGhlIHNpemUgb2YgYW4gaXRjdyB3aXRoIHRoZSBnaXZlbiBwYXJhbWV0ZXJzCisgKiBAaW50cmc6IGlmIG5vbi16ZXJvLCBhZGQgYW4gaW50ZXJyb2dhdGUgdGN3CisgKiBAbWF4X3RpZGF3czogbWF4aW11bSBudW1iZXIgb2YgdGlkYXdzIHRvIGJlIHVzZWQgZm9yIGRhdGEgYWRkcmVzc2luZyBvciB6ZXJvCisgKiBpZiBubyB0aWRhIGlzIHRvIGJlIHVzZWQuCisgKiBAaW50cmdfbWF4X3RpZGF3czogbWF4aW11bSBudW1iZXIgb2YgdGlkYXdzIHRvIGJlIHVzZWQgZm9yIGRhdGEgYWRkcmVzc2luZworICogYnkgdGhlIGludGVycm9nYXRlIHRjdywgaWYgc3BlY2lmaWVkCisgKgorICogQ2FsY3VsYXRlIGFuZCByZXR1cm4gdGhlIG51bWJlciBvZiBieXRlcyByZXF1aXJlZCB0byBob2xkIGFuIGl0Y3cgd2l0aCB0aGUKKyAqIGdpdmVuIHBhcmFtZXRlcnMgYW5kIGFzc3VtaW5nIHRjY2JzIHdpdGggbWF4aW11bSBzaXplLgorICoKKyAqIE5vdGUgdGhhdCB0aGUgcmVzdWx0aW5nIHNpemUgYWxzbyBjb250YWlucyBieXRlcyBuZWVkZWQgZm9yIGFsaWdubWVudAorICogcGFkZGluZyBhcyB3ZWxsIGFzIHBhZGRpbmcgdG8gZW5zdXJlIHRoYXQgZGF0YSBzdHJ1Y3R1cmVzIGRvbid0IGNyb3NzIGEKKyAqIDRrLWJvdW5kYXJ5IHdoZXJlIHJlcXVpcmVkLgorICovCitzaXplX3QgaXRjd19jYWxjX3NpemUoaW50IGludHJnLCBpbnQgbWF4X3RpZGF3cywgaW50IGludHJnX21heF90aWRhd3MpCit7CisJc2l6ZV90IGxlbjsKKworCS8qIE1haW4gZGF0YS4gKi8KKwlsZW4gPSBzaXplb2Yoc3RydWN0IGl0Y3cpOworCWxlbiArPSAvKiBUQ1cgKi8gc2l6ZW9mKHN0cnVjdCB0Y3cpICsgLyogVENDQiAqLyBUQ0NCX01BWF9TSVpFICsKKwkgICAgICAgLyogVFNCICovIHNpemVvZihzdHJ1Y3QgdHNiKSArCisJICAgICAgIC8qIFRJREFMICovIG1heF90aWRhd3MgKiBzaXplb2Yoc3RydWN0IHRpZGF3KTsKKwkvKiBJbnRlcnJvZ2F0ZSBkYXRhLiAqLworCWlmIChpbnRyZykgeworCQlsZW4gKz0gLyogVENXICovIHNpemVvZihzdHJ1Y3QgdGN3KSArIC8qIFRDQ0IgKi8gVENDQl9NQVhfU0laRSArCisJCSAgICAgICAvKiBUU0IgKi8gc2l6ZW9mKHN0cnVjdCB0c2IpICsKKwkJICAgICAgIC8qIFRJREFMICovIGludHJnX21heF90aWRhd3MgKiBzaXplb2Yoc3RydWN0IHRpZGF3KTsKKwl9CisJLyogTWF4aW11bSByZXF1aXJlZCBhbGlnbm1lbnQgcGFkZGluZy4gKi8KKwlsZW4gKz0gLyogSW5pdGlhbCBUQ1cgKi8gNjMgKyAvKiBJbnRlcnJvZ2F0ZSBUQ0NCICovIDc7CisJLyogTWF4aW11bSBwYWRkaW5nIGZvciBzdHJ1Y3R1cmVzIHRoYXQgbWF5IG5vdCBjcm9zcyA0ayBib3VuZGFyeS4gKi8KKwlpZiAoKG1heF90aWRhd3MgPiAwKSB8fCAoaW50cmdfbWF4X3RpZGF3cyA+IDApKQorCQlsZW4gKz0gbWF4KG1heF90aWRhd3MsIGludHJnX21heF90aWRhd3MpICoKKwkJICAgICAgIHNpemVvZihzdHJ1Y3QgdGlkYXcpIC0gMTsKKwlyZXR1cm4gbGVuOworfQorRVhQT1JUX1NZTUJPTChpdGN3X2NhbGNfc2l6ZSk7CisKKyNkZWZpbmUgQ1JPU1M0Syh4LCBsKQkoKCh4KSAmIH40MDk1KSAhPSAoKHggKyBsKSAmIH40MDk1KSkKKworc3RhdGljIGlubGluZSB2b2lkICpmaXRfY2h1bmsoYWRkcl90ICpzdGFydCwgYWRkcl90IGVuZCwgc2l6ZV90IGxlbiwKKwkJCSAgICAgIGludCBhbGlnbiwgaW50IGNoZWNrXzRrKQoreworCWFkZHJfdCBhZGRyOworCisJYWRkciA9IEFMSUdOKCpzdGFydCwgYWxpZ24pOworCWlmIChjaGVja180ayAmJiBDUk9TUzRLKGFkZHIsIGxlbikpIHsKKwkJYWRkciA9IEFMSUdOKGFkZHIsIDQwOTYpOworCQlhZGRyID0gQUxJR04oYWRkciwgYWxpZ24pOworCX0KKwlpZiAoYWRkciArIGxlbiA+IGVuZCkKKwkJcmV0dXJuIEVSUl9QVFIoLUVOT1NQQyk7CisJKnN0YXJ0ID0gYWRkciArIGxlbjsKKwlyZXR1cm4gKHZvaWQgKikgYWRkcjsKK30KKworLyoqCisgKiBpdGN3X2luaXQgLSBpbml0aWFsaXplIGluY3JlbWVudGFsIHRjdyBkYXRhIHN0cnVjdHVyZQorICogQGJ1ZmZlcjogYWRkcmVzcyBvZiBidWZmZXIgdG8gdXNlIGZvciBkYXRhIHN0cnVjdHVyZXMKKyAqIEBzaXplOiBudW1iZXIgb2YgYnl0ZXMgaW4gYnVmZmVyCisgKiBAb3A6ICVJVENXX09QX1JFQUQgZm9yIGEgcmVhZCBvcGVyYXRpb24gdGN3LCAlSVRDV19PUF9XUklURSBmb3IgYSB3cml0ZQorICogb3BlcmF0aW9uIHRjdworICogQGludHJnOiBpZiBub24temVybywgYWRkIGFuZCBpbml0aWFsaXplIGFuIGludGVycm9nYXRlIHRjdworICogQG1heF90aWRhd3M6IG1heGltdW0gbnVtYmVyIG9mIHRpZGF3cyB0byBiZSB1c2VkIGZvciBkYXRhIGFkZHJlc3Npbmcgb3IgemVybworICogaWYgbm8gdGlkYSBpcyB0byBiZSB1c2VkLgorICogQGludHJnX21heF90aWRhd3M6IG1heGltdW0gbnVtYmVyIG9mIHRpZGF3cyB0byBiZSB1c2VkIGZvciBkYXRhIGFkZHJlc3NpbmcKKyAqIGJ5IHRoZSBpbnRlcnJvZ2F0ZSB0Y3csIGlmIHNwZWNpZmllZAorICoKKyAqIFByZXBhcmUgdGhlIHNwZWNpZmllZCBidWZmZXIgdG8gYmUgdXNlZCBhcyBhbiBpbmNyZW1lbnRhbCB0Y3csIGkuZS4gYQorICogaGVscGVyIGRhdGEgc3RydWN0dXJlIHRoYXQgY2FuIGJlIHVzZWQgdG8gY29uc3RydWN0IGEgdmFsaWQgdGN3IGJ5CisgKiBzdWNjZXNzaXZlIGNhbGxzIHRvIG90aGVyIGhlbHBlciBmdW5jdGlvbnMuIE5vdGU6IHRoZSBidWZmZXIgbmVlZHMgdG8gYmUKKyAqIGxvY2F0ZWQgYmVsb3cgdGhlIDJHIGFkZHJlc3MgbGltaXQuIFRoZSByZXN1bHRpbmcgdGN3IGhhcyB0aGUgZm9sbG93aW5nCisgKiByZXN0cmljdGlvbnM6CisgKiAgLSBubyB0Y2NiIHRpZGFsCisgKiAgLSBpbnB1dC9vdXRwdXQgdGlkYWwgaXMgY29udGlndW91cyAobm8gdHRpYykKKyAqICAtIHRvdGFsIGRhdGEgc2hvdWxkIG5vdCBleGNlZWQgNGsKKyAqICAtIHRjdyBzcGVjaWZpZXMgZWl0aGVyIHJlYWQgb3Igd3JpdGUgb3BlcmF0aW9uCisgKgorICogT24gc3VjY2VzcywgcmV0dXJuIHBvaW50ZXIgdG8gdGhlIHJlc3VsdGluZyBpbmNyZW1lbnRhbCB0Y3cgZGF0YSBzdHJ1Y3R1cmUsCisgKiBFUlJfUFRSIG90aGVyd2lzZS4KKyAqLworc3RydWN0IGl0Y3cgKml0Y3dfaW5pdCh2b2lkICpidWZmZXIsIHNpemVfdCBzaXplLCBpbnQgb3AsIGludCBpbnRyZywKKwkJICAgICAgIGludCBtYXhfdGlkYXdzLCBpbnQgaW50cmdfbWF4X3RpZGF3cykKK3sKKwlzdHJ1Y3QgaXRjdyAqaXRjdzsKKwl2b2lkICpjaHVuazsKKwlhZGRyX3Qgc3RhcnQ7CisJYWRkcl90IGVuZDsKKworCS8qIENoZWNrIGZvciAyRyBsaW1pdC4gKi8KKwlzdGFydCA9IChhZGRyX3QpIGJ1ZmZlcjsKKwllbmQgPSBzdGFydCArIHNpemU7CisJaWYgKGVuZCA+ICgxIDw8IDMxKSkKKwkJcmV0dXJuIEVSUl9QVFIoLUVJTlZBTCk7CisJbWVtc2V0KGJ1ZmZlciwgMCwgc2l6ZSk7CisJLyogSVRDVy4gKi8KKwljaHVuayA9IGZpdF9jaHVuaygmc3RhcnQsIGVuZCwgc2l6ZW9mKHN0cnVjdCBpdGN3KSwgMSwgMCk7CisJaWYgKElTX0VSUihjaHVuaykpCisJCXJldHVybiBjaHVuazsKKwlpdGN3ID0gY2h1bms7CisJaXRjdy0+bWF4X3RpZGF3cyA9IG1heF90aWRhd3M7CisJaXRjdy0+aW50cmdfbWF4X3RpZGF3cyA9IGludHJnX21heF90aWRhd3M7CisJLyogTWFpbiBUQ1cuICovCisJY2h1bmsgPSBmaXRfY2h1bmsoJnN0YXJ0LCBlbmQsIHNpemVvZihzdHJ1Y3QgdGN3KSwgNjQsIDApOworCWlmIChJU19FUlIoY2h1bmspKQorCQlyZXR1cm4gY2h1bms7CisJaXRjdy0+dGN3ID0gY2h1bms7CisJdGN3X2luaXQoaXRjdy0+dGN3LCAob3AgPT0gSVRDV19PUF9SRUFEKSA/IDEgOiAwLAorCQkgKG9wID09IElUQ1dfT1BfV1JJVEUpID8gMSA6IDApOworCS8qIEludGVycm9nYXRlIFRDVy4gKi8KKwlpZiAoaW50cmcpIHsKKwkJY2h1bmsgPSBmaXRfY2h1bmsoJnN0YXJ0LCBlbmQsIHNpemVvZihzdHJ1Y3QgdGN3KSwgNjQsIDApOworCQlpZiAoSVNfRVJSKGNodW5rKSkKKwkJCXJldHVybiBjaHVuazsKKwkJaXRjdy0+aW50cmdfdGN3ID0gY2h1bms7CisJCXRjd19pbml0KGl0Y3ctPmludHJnX3RjdywgMSwgMCk7CisJCXRjd19zZXRfaW50cmcoaXRjdy0+dGN3LCBpdGN3LT5pbnRyZ190Y3cpOworCX0KKwkvKiBEYXRhIFRJREFMLiAqLworCWlmIChtYXhfdGlkYXdzID4gMCkgeworCQljaHVuayA9IGZpdF9jaHVuaygmc3RhcnQsIGVuZCwgc2l6ZW9mKHN0cnVjdCB0aWRhdykgKgorCQkJCSAgbWF4X3RpZGF3cywgMTYsIDEpOworCQlpZiAoSVNfRVJSKGNodW5rKSkKKwkJCXJldHVybiBjaHVuazsKKwkJdGN3X3NldF9kYXRhKGl0Y3ctPnRjdywgY2h1bmssIDEpOworCX0KKwkvKiBJbnRlcnJvZ2F0ZSBkYXRhIFRJREFMLiAqLworCWlmIChpbnRyZyAmJiAoaW50cmdfbWF4X3RpZGF3cyA+IDApKSB7CisJCWNodW5rID0gZml0X2NodW5rKCZzdGFydCwgZW5kLCBzaXplb2Yoc3RydWN0IHRpZGF3KSAqCisJCQkJICBpbnRyZ19tYXhfdGlkYXdzLCAxNiwgMSk7CisJCWlmIChJU19FUlIoY2h1bmspKQorCQkJcmV0dXJuIGNodW5rOworCQl0Y3dfc2V0X2RhdGEoaXRjdy0+aW50cmdfdGN3LCBjaHVuaywgMSk7CisJfQorCS8qIFRTQi4gKi8KKwljaHVuayA9IGZpdF9jaHVuaygmc3RhcnQsIGVuZCwgc2l6ZW9mKHN0cnVjdCB0c2IpLCA4LCAwKTsKKwlpZiAoSVNfRVJSKGNodW5rKSkKKwkJcmV0dXJuIGNodW5rOworCXRzYl9pbml0KGNodW5rKTsKKwl0Y3dfc2V0X3RzYihpdGN3LT50Y3csIGNodW5rKTsKKwkvKiBJbnRlcnJvZ2F0ZSBUU0IuICovCisJaWYgKGludHJnKSB7CisJCWNodW5rID0gZml0X2NodW5rKCZzdGFydCwgZW5kLCBzaXplb2Yoc3RydWN0IHRzYiksIDgsIDApOworCQlpZiAoSVNfRVJSKGNodW5rKSkKKwkJCXJldHVybiBjaHVuazsKKwkJdHNiX2luaXQoY2h1bmspOworCQl0Y3dfc2V0X3RzYihpdGN3LT5pbnRyZ190Y3csIGNodW5rKTsKKwl9CisJLyogVENDQi4gKi8KKwljaHVuayA9IGZpdF9jaHVuaygmc3RhcnQsIGVuZCwgVENDQl9NQVhfU0laRSwgOCwgMCk7CisJaWYgKElTX0VSUihjaHVuaykpCisJCXJldHVybiBjaHVuazsKKwl0Y2NiX2luaXQoY2h1bmssIFRDQ0JfTUFYX1NJWkUsIFRDQ0JfU0FDX0RFRkFVTFQpOworCXRjd19zZXRfdGNjYihpdGN3LT50Y3csIGNodW5rKTsKKwkvKiBJbnRlcnJvZ2F0ZSBUQ0NCLiAqLworCWlmIChpbnRyZykgeworCQljaHVuayA9IGZpdF9jaHVuaygmc3RhcnQsIGVuZCwgVENDQl9NQVhfU0laRSwgOCwgMCk7CisJCWlmIChJU19FUlIoY2h1bmspKQorCQkJcmV0dXJuIGNodW5rOworCQl0Y2NiX2luaXQoY2h1bmssIFRDQ0JfTUFYX1NJWkUsIFRDQ0JfU0FDX0lOVFJHKTsKKwkJdGN3X3NldF90Y2NiKGl0Y3ctPmludHJnX3RjdywgY2h1bmspOworCQl0Y2NiX2FkZF9kY3coY2h1bmssIFRDQ0JfTUFYX1NJWkUsIERDV19DTURfSU5UUkcsIDAsIE5VTEwsCisJCQkgICAgIHNpemVvZihzdHJ1Y3QgZGN3X2ludHJnX2RhdGEpLCAwKTsKKwkJdGN3X2ZpbmFsaXplKGl0Y3ctPmludHJnX3RjdywgMCk7CisJfQorCXJldHVybiBpdGN3OworfQorRVhQT1JUX1NZTUJPTChpdGN3X2luaXQpOworCisvKioKKyAqIGl0Y3dfYWRkX2RjdyAtIGFkZCBhIGRjdyB0byB0aGUgaXRjdworICogQGl0Y3c6IGFkZHJlc3Mgb2YgdGhlIGl0Y3cKKyAqIEBjbWQ6IHRoZSBkY3cgY29tbWFuZAorICogQGZsYWdzOiBmbGFncyBmb3IgdGhlIGRjdworICogQGNkOiBhZGRyZXNzIG9mIGNvbnRyb2wgZGF0YSBmb3IgdGhpcyBkY3cgb3IgTlVMTCBpZiBub25lIGlzIHJlcXVpcmVkCisgKiBAY2RfY291bnQ6IG51bWJlciBvZiBjb250cm9sIGRhdGEgYnl0ZXMgZm9yIHRoaXMgZGN3CisgKiBAY291bnQ6IG51bWJlciBvZiBkYXRhIGJ5dGVzIGZvciB0aGlzIGRjdworICoKKyAqIEFkZCBhIG5ldyBkY3cgdG8gdGhlIHNwZWNpZmllZCBpdGN3IGJ5IHdyaXRpbmcgdGhlIGRjdyBpbmZvcm1hdGlvbiBzcGVjaWZpZWQKKyAqIGJ5IEBjbWQsIEBmbGFncywgQGNkLCBAY2RfY291bnQgYW5kIEBjb3VudCB0byB0aGUgdGNhIG9mIHRoZSB0Y2NiLiBSZXR1cm4KKyAqIGEgcG9pbnRlciB0byB0aGUgbmV3bHkgYWRkZWQgZGN3IG9uIHN1Y2Nlc3Mgb3IgLSVFTk9TUEMgaWYgdGhlIG5ldyBkY3cKKyAqIHdvdWxkIGV4Y2VlZCB0aGUgYXZhaWxhYmxlIHNwYWNlLgorICoKKyAqIE5vdGU6IHRoZSB0Y2FsIGZpZWxkIG9mIHRoZSB0Y2NiIGhlYWRlciB3aWxsIGJlIHVwZGF0ZWQgdG8gcmVmbGVjdCBhZGRlZAorICogY29udGVudC4KKyAqLworc3RydWN0IGRjdyAqaXRjd19hZGRfZGN3KHN0cnVjdCBpdGN3ICppdGN3LCB1OCBjbWQsIHU4IGZsYWdzLCB2b2lkICpjZCwKKwkJCSB1OCBjZF9jb3VudCwgdTMyIGNvdW50KQoreworCXJldHVybiB0Y2NiX2FkZF9kY3codGN3X2dldF90Y2NiKGl0Y3ctPnRjdyksIFRDQ0JfTUFYX1NJWkUsIGNtZCwKKwkJCSAgICBmbGFncywgY2QsIGNkX2NvdW50LCBjb3VudCk7Cit9CitFWFBPUlRfU1lNQk9MKGl0Y3dfYWRkX2Rjdyk7CisKKy8qKgorICogaXRjd19hZGRfdGlkYXcgLSBhZGQgYSB0aWRhdyB0byB0aGUgaXRjdworICogQGl0Y3c6IGFkZHJlc3Mgb2YgdGhlIGl0Y3cKKyAqIEBmbGFnczogZmxhZ3MgZm9yIHRoZSBuZXcgdGlkYXcKKyAqIEBhZGRyOiBhZGRyZXNzIHZhbHVlIGZvciB0aGUgbmV3IHRpZGF3CisgKiBAY291bnQ6IGNvdW50IHZhbHVlIGZvciB0aGUgbmV3IHRpZGF3CisgKgorICogQWRkIGEgbmV3IHRpZGF3IHRvIHRoZSBpbnB1dC9vdXRwdXQgZGF0YSB0aWRhdy1saXN0IG9mIHRoZSBzcGVjaWZpZWQgaXRjdworICogKGRlcGVuZGluZyBvbiB0aGUgdmFsdWUgb2YgdGhlIHItZmxhZyBhbmQgdy1mbGFnKS4gUmV0dXJuIGEgcG9pbnRlciB0bworICogdGhlIG5ldyB0aWRhdyBvbiBzdWNjZXNzIG9yIC0lRU5PU1BDIGlmIHRoZSBuZXcgdGlkYXcgd291bGQgZXhjZWVkIHRoZQorICogYXZhaWxhYmxlIHNwYWNlLgorICoKKyAqIE5vdGU6IHRoZSB0aWRhdy1saXN0IGlzIGFzc3VtZWQgdG8gYmUgY29udGlndW91cyB3aXRoIG5vIHR0aWNzLiBUaGUKKyAqIGxhc3QtdGlkYXcgZmxhZyBmb3IgdGhlIGxhc3QgdGlkYXcgaW4gdGhlIGxpc3Qgd2lsbCBiZSBzZXQgYnkgaXRjd19maW5hbGl6ZS4KKyAqLworc3RydWN0IHRpZGF3ICppdGN3X2FkZF90aWRhdyhzdHJ1Y3QgaXRjdyAqaXRjdywgdTggZmxhZ3MsIHZvaWQgKmFkZHIsIHUzMiBjb3VudCkKK3sKKwlpZiAoaXRjdy0+bnVtX3RpZGF3cyA+PSBpdGN3LT5tYXhfdGlkYXdzKQorCQlyZXR1cm4gRVJSX1BUUigtRU5PU1BDKTsKKwlyZXR1cm4gdGN3X2FkZF90aWRhdyhpdGN3LT50Y3csIGl0Y3ctPm51bV90aWRhd3MrKywgZmxhZ3MsIGFkZHIsIGNvdW50KTsKK30KK0VYUE9SVF9TWU1CT0woaXRjd19hZGRfdGlkYXcpOworCisvKioKKyAqIGl0Y3dfc2V0X2RhdGEgLSBzZXQgZGF0YSBhZGRyZXNzIGFuZCB0aWRhIGZsYWcgb2YgdGhlIGl0Y3cKKyAqIEBpdGN3OiBhZGRyZXNzIG9mIHRoZSBpdGN3CisgKiBAYWRkcjogdGhlIGRhdGEgYWRkcmVzcworICogQHVzZV90aWRhbDogemVybyBvZiB0aGUgZGF0YSBhZGRyZXNzIHNwZWNpZmllcyBhIGNvbnRpZ3VvdXMgYmxvY2sgb2YgZGF0YSwKKyAqIG5vbi16ZXJvIGlmIGl0IHNwZWNpZmllcyBhIGxpc3QgaWYgdGlkYXdzLgorICoKKyAqIFNldCB0aGUgaW5wdXQvb3V0cHV0IGRhdGEgYWRkcmVzcyBvZiB0aGUgaXRjdyAoZGVwZW5kaW5nIG9uIHRoZSB2YWx1ZSBvZiB0aGUKKyAqIHItZmxhZyBhbmQgdy1mbGFnKS4gSWYgQHVzZV90aWRhbCBpcyBub24temVybywgdGhlIGNvcnJlc3BvbmRpbmcgdGlkYSBmbGFnCisgKiBpcyBzZXQgYXMgd2VsbC4KKyAqLwordm9pZCBpdGN3X3NldF9kYXRhKHN0cnVjdCBpdGN3ICppdGN3LCB2b2lkICphZGRyLCBpbnQgdXNlX3RpZGFsKQoreworCXRjd19zZXRfZGF0YShpdGN3LT50Y3csIGFkZHIsIHVzZV90aWRhbCk7Cit9CitFWFBPUlRfU1lNQk9MKGl0Y3dfc2V0X2RhdGEpOworCisvKioKKyAqIGl0Y3dfZmluYWxpemUgLSBjYWxjdWxhdGUgbGVuZ3RoIGFuZCBjb3VudCBmaWVsZHMgb2YgdGhlIGl0Y3cKKyAqIEBpdGN3OiBhZGRyZXNzIG9mIHRoZSBpdGN3CisgKgorICogQ2FsY3VsYXRlIHRjdyBpbnB1dC0vb3V0cHV0LWNvdW50IGFuZCB0Y2NibCBmaWVsZHMgYW5kIGFkZCBhIHRjYXQgdGhlIHRjY2IuCisgKiBJbiBjYXNlIGlucHV0LSBvciBvdXRwdXQtdGlkYSBpcyB1c2VkLCB0aGUgdGlkYXctbGlzdCBtdXN0IGJlIHN0b3JlZCBpbgorICogY29udGludW91cyBzdG9yYWdlIChubyB0dGljKS4gVGhlIHRjYWwgZmllbGQgaW4gdGhlIHRjY2IgbXVzdCBiZQorICogdXAtdG8tZGF0ZS4KKyAqLwordm9pZCBpdGN3X2ZpbmFsaXplKHN0cnVjdCBpdGN3ICppdGN3KQoreworCXRjd19maW5hbGl6ZShpdGN3LT50Y3csIGl0Y3ctPm51bV90aWRhd3MpOworfQorRVhQT1JUX1NZTUJPTChpdGN3X2ZpbmFsaXplKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaW8vcWRpby5jIGIvZHJpdmVycy9zMzkwL2Npby9xZGlvLmMKaW5kZXggNDQ1Y2YzNi4uMmJmMzZlMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2Npby9xZGlvLmMKKysrIGIvZHJpdmVycy9zMzkwL2Npby9xZGlvLmMKQEAgLTIwODIsNyArMjA4Miw2IEBACiAJZGVmYXVsdDoKIAkJQlVHKCk7CiAJfQotCWNjd19kZXZpY2Vfc2V0X3RpbWVvdXQoY2RldiwgMCk7CiAJd2FrZV91cCgmY2Rldi0+cHJpdmF0ZS0+d2FpdF9xKTsKIH0KIApAQCAtMjEyMSw2ICsyMTIwLDggQEAKIAkJY2FzZSAtRUlPOgogCQkJUURJT19QUklOVF9FUlIoImkvbyBlcnJvciBvbiBkZXZpY2UgJXNcbiIsCiAJCQkJICAgICAgIGNkZXYtPmRldi5idXNfaWQpOworCQkJcWRpb19zZXRfc3RhdGUoaXJxX3B0ciwgUURJT19JUlFfU1RBVEVfRVJSKTsKKwkJCXdha2VfdXAoJmNkZXYtPnByaXZhdGUtPndhaXRfcSk7CiAJCQlyZXR1cm47CiAJCWNhc2UgLUVUSU1FRE9VVDoKIAkJCXFkaW9fdGltZW91dF9oYW5kbGVyKGNkZXYpOwpAQCAtMjEzOSw4ICsyMTQwLDggQEAKIAlRRElPX0RCRl9URVhUNCgwLCB0cmFjZSwgZGJmX3RleHQpOwogI2VuZGlmIC8qIENPTkZJR19RRElPX0RFQlVHICovCiAKLSAgICAgICAgY3N0YXQgPSBpcmItPnNjc3cuY3N0YXQ7Ci0gICAgICAgIGRzdGF0ID0gaXJiLT5zY3N3LmRzdGF0OworCWNzdGF0ID0gaXJiLT5zY3N3LmNtZC5jc3RhdDsKKwlkc3RhdCA9IGlyYi0+c2Nzdy5jbWQuZHN0YXQ7CiAKIAlzd2l0Y2ggKGlycV9wdHItPnN0YXRlKSB7CiAJY2FzZSBRRElPX0lSUV9TVEFURV9JTkFDVElWRToKQEAgLTIzNTMsOSArMjM1NCw2IEBACiB7CiAJY2hhciBkYmZfdGV4dFsxNV07CiAKLQlpZiAoIWNzc19jaGFyYWN0ZXJpc3RpY3NfYXZhaWwpCi0JCXJldHVybiAtRUlPOwotCiAJLyogQ2hlY2sgZm9yIGJpdCA0MS4gKi8KIAlpZiAoIWNzc19nZW5lcmFsX2NoYXJhY3RlcmlzdGljcy5haWYpIHsKIAkJUURJT19QUklOVF9XQVJOKCJBZGFwdGVyIGludGVycnVwdGlvbiBmYWNpbGl0eSBub3QgIiBcCkBAIC0yNjY3LDEyICsyNjY1LDEyIEBACiAJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoZ2V0X2Njd2Rldl9sb2NrKGNkZXYpLCBmbGFncyk7CiAJfSBlbHNlIGlmIChyYyA9PSAwKSB7CiAJCXFkaW9fc2V0X3N0YXRlKGlycV9wdHIsIFFESU9fSVJRX1NUQVRFX0NMRUFOVVApOwotCQljY3dfZGV2aWNlX3NldF90aW1lb3V0KGNkZXYsIHRpbWVvdXQpOwogCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKGdldF9jY3dkZXZfbG9jayhjZGV2KSxmbGFncyk7CiAKLQkJd2FpdF9ldmVudChjZGV2LT5wcml2YXRlLT53YWl0X3EsCi0JCQkgICBpcnFfcHRyLT5zdGF0ZSA9PSBRRElPX0lSUV9TVEFURV9JTkFDVElWRSB8fAotCQkJICAgaXJxX3B0ci0+c3RhdGUgPT0gUURJT19JUlFfU1RBVEVfRVJSKTsKKwkJd2FpdF9ldmVudF9pbnRlcnJ1cHRpYmxlX3RpbWVvdXQoY2Rldi0+cHJpdmF0ZS0+d2FpdF9xLAorCQkJaXJxX3B0ci0+c3RhdGUgPT0gUURJT19JUlFfU1RBVEVfSU5BQ1RJVkUgfHwKKwkJCWlycV9wdHItPnN0YXRlID09IFFESU9fSVJRX1NUQVRFX0VSUiwKKwkJCXRpbWVvdXQpOwogCX0gZWxzZSB7CiAJCVFESU9fUFJJTlRfSU5GTygiY2N3X2RldmljZV97aGFsdCxjbGVhcn0gcmV0dXJuZWQgJWQgZm9yICIKIAkJCQkiZGV2aWNlICVzXG4iLCByZXN1bHQsIGNkZXYtPmRldi5idXNfaWQpOwpAQCAtMjY5Miw3ICsyNjkwLDYgQEAKIAogCS8qIElnbm9yZSBlcnJvcnMuICovCiAJcWRpb19zZXRfc3RhdGUoaXJxX3B0ciwgUURJT19JUlFfU1RBVEVfSU5BQ1RJVkUpOwotCWNjd19kZXZpY2Vfc2V0X3RpbWVvdXQoY2RldiwgMCk7CiBvdXQ6CiAJdXAoJmlycV9wdHItPnNldHRpbmdfdXBfc2VtYSk7CiAJcmV0dXJuIHJlc3VsdDsKQEAgLTI5MDcsMTMgKzI5MDQsMTAgQEAKIAlRRElPX0RCRl9URVhUMCgwLHNldHVwLGRiZl90ZXh0KTsKIAlRRElPX0RCRl9URVhUMCgwLHRyYWNlLGRiZl90ZXh0KTsKIAotCWlmIChxZGlvX2VzdGFibGlzaF9pcnFfY2hlY2tfZm9yX2Vycm9ycyhjZGV2LCBjc3RhdCwgZHN0YXQpKSB7Ci0JCWNjd19kZXZpY2Vfc2V0X3RpbWVvdXQoY2RldiwgMCk7CisJaWYgKHFkaW9fZXN0YWJsaXNoX2lycV9jaGVja19mb3JfZXJyb3JzKGNkZXYsIGNzdGF0LCBkc3RhdCkpCiAJCXJldHVybjsKLQl9CiAKIAlxZGlvX3NldF9zdGF0ZShpcnFfcHRyLFFESU9fSVJRX1NUQVRFX0VTVEFCTElTSEVEKTsKLQljY3dfZGV2aWNlX3NldF90aW1lb3V0KGNkZXYsIDApOwogfQogCiBpbnQKQEAgLTMxOTYsOCArMzE5MCw2IEBACiAJCQkJaXJxX3B0ci0+c2NoaWQuc3NpZCwgaXJxX3B0ci0+c2NoaWQuc2NoX25vLAogCQkJCXJlc3VsdCwgcmVzdWx0Mik7CiAJCXJlc3VsdD1yZXN1bHQyOwotCQlpZiAocmVzdWx0KQotCQkJY2N3X2RldmljZV9zZXRfdGltZW91dChjZGV2LCAwKTsKIAl9CiAKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKGdldF9jY3dkZXZfbG9jayhjZGV2KSxzYXZlZmxhZ3MpOwpAQCAtMzI3OSw3ICszMjcxLDYgQEAKIAogCXNwaW5fbG9ja19pcnFzYXZlKGdldF9jY3dkZXZfbG9jayhjZGV2KSxzYXZlZmxhZ3MpOwogCi0JY2N3X2RldmljZV9zZXRfdGltZW91dChjZGV2LCAwKTsKIAljY3dfZGV2aWNlX3NldF9vcHRpb25zKGNkZXYsIENDV0RFVl9SRVBPUlRfQUxMKTsKIAlyZXN1bHQ9Y2N3X2RldmljZV9zdGFydChjZGV2LCZpcnFfcHRyLT5jY3csUURJT19ET0lOR19BQ1RJVkFURSwKIAkJCQkwLCBET0lPX0RFTllfUFJFRkVUQ0gpOwpAQCAtMzcyMiw3ICszNzEzLDggQEAKIAljaGFyIGRiZl90ZXh0WzIwXTsKIAogCXRpcWRpb19pbmQgPQotCQlzMzkwX3JlZ2lzdGVyX2FkYXB0ZXJfaW50ZXJydXB0KCZ0aXFkaW9fdGhpbmludF9oYW5kbGVyLCBOVUxMKTsKKwkJczM5MF9yZWdpc3Rlcl9hZGFwdGVyX2ludGVycnVwdCgmdGlxZGlvX3RoaW5pbnRfaGFuZGxlciwgTlVMTCwKKwkJCQkJCVRJUURJT19USElOSU5UX0lTQyk7CiAJaWYgKElTX0VSUih0aXFkaW9faW5kKSkgewogCQlzcHJpbnRmKGRiZl90ZXh0LCAicmVndGhuJWx4IiwgUFRSX0VSUih0aXFkaW9faW5kKSk7CiAJCVFESU9fREJGX1RFWFQwKDAsc2V0dXAsZGJmX3RleHQpOwpAQCAtMzczOCw3ICszNzMwLDggQEAKIHRpcWRpb191bnJlZ2lzdGVyX3RoaW5pbnRzKHZvaWQpCiB7CiAJaWYgKHRpcWRpb19pbmQpCi0JCXMzOTBfdW5yZWdpc3Rlcl9hZGFwdGVyX2ludGVycnVwdCh0aXFkaW9faW5kKTsKKwkJczM5MF91bnJlZ2lzdGVyX2FkYXB0ZXJfaW50ZXJydXB0KHRpcWRpb19pbmQsCisJCQkJCQkgIFRJUURJT19USElOSU5UX0lTQyk7CiB9CiAKIHN0YXRpYyBpbnQKQEAgLTM4OTksNiArMzg5Miw3IEBACiAJCQkJCSAgICBxZGlvX21lbXBvb2xfYWxsb2MsCiAJCQkJCSAgICBxZGlvX21lbXBvb2xfZnJlZSwgTlVMTCk7CiAKKwlpc2NfcmVnaXN0ZXIoUURJT19BSVJRX0lTQyk7CiAJaWYgKHRpcWRpb19jaGVja19jaHNjX2F2YWlsYWJpbGl0eSgpKQogCQlRRElPX1BSSU5UX0VSUigiTm90IGFsbCBDSFNDcyBzdXBwb3J0ZWQuIENvbnRpbnVpbmcuXG4iKTsKIApAQCAtMzkxMSw2ICszOTA1LDcgQEAKIGNsZWFudXBfUURJTyh2b2lkKQogewogCXRpcWRpb191bnJlZ2lzdGVyX3RoaW5pbnRzKCk7CisJaXNjX3VucmVnaXN0ZXIoUURJT19BSVJRX0lTQyk7CiAJcWRpb19yZW1vdmVfcHJvY2ZzX2VudHJ5KCk7CiAJcWRpb19yZWxlYXNlX3FkaW9fbWVtb3J5KCk7CiAJcWRpb191bnJlZ2lzdGVyX2RiZl92aWV3cygpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2Npby9xZGlvLmggYi9kcml2ZXJzL3MzOTAvY2lvL3FkaW8uaAppbmRleCBjM2RmNmIyLi43NjU2MDgxIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2lvL3FkaW8uaAorKysgYi9kcml2ZXJzL3MzOTAvY2lvL3FkaW8uaApAQCAtMiw4ICsyLDggQEAKICNkZWZpbmUgX0NJT19RRElPX0gKIAogI2luY2x1ZGUgPGFzbS9wYWdlLmg+Ci0KLSNpbmNsdWRlICJzY2hpZC5oIgorI2luY2x1ZGUgPGFzbS9pc2MuaD4KKyNpbmNsdWRlIDxhc20vc2NoaWQuaD4KIAogI2lmZGVmIENPTkZJR19RRElPX0RFQlVHCiAjZGVmaW5lIFFESU9fVkVSQk9TRV9MRVZFTCA5CkBAIC0yNiw3ICsyNiw3IEBACiAgKi8KICNkZWZpbmUgSVFESU9fRklMTF9MRVZFTF9UT19QT0xMIDQKIAotI2RlZmluZSBUSVFESU9fVEhJTklOVF9JU0MgMworI2RlZmluZSBUSVFESU9fVEhJTklOVF9JU0MgUURJT19BSVJRX0lTQwogI2RlZmluZSBUSVFESU9fREVMQVlfVEFSR0VUIDAKICNkZWZpbmUgUURJT19CVVNZX0JJVF9QQVRJRU5DRSAxMDAgLyogaW4gbWljcm9zZWNzICovCiAjZGVmaW5lIFFESU9fQlVTWV9CSVRfR0lWRV9VUCAxMDAwMDAwMCAvKiAxMCBzZWNvbmRzICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2lvL3Njc3cuYyBiL2RyaXZlcnMvczM5MC9jaW8vc2Nzdy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY4ZGEyNWEKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL3MzOTAvY2lvL3Njc3cuYwpAQCAtMCwwICsxLDg0MyBAQAorLyoKKyAqICBIZWxwZXIgZnVuY3Rpb25zIGZvciBzY3N3IGFjY2Vzcy4KKyAqCisgKiAgICBDb3B5cmlnaHQgSUJNIENvcnAuIDIwMDgKKyAqICAgIEF1dGhvcihzKTogUGV0ZXIgT2JlcnBhcmxlaXRlciA8cGV0ZXIub2JlcnBhcmxlaXRlckBkZS5pYm0uY29tPgorICovCisKKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGFzbS9jaW8uaD4KKyNpbmNsdWRlICJjc3MuaCIKKyNpbmNsdWRlICJjaHNjLmgiCisKKy8qKgorICogc2Nzd19pc190bSAtIGNoZWNrIGZvciB0cmFuc3BvcnQgbW9kZSBzY3N3CisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIG5vbi16ZXJvIGlmIHRoZSBzcGVjaWZpZWQgc2NzdyBpcyBhIHRyYW5zcG9ydCBtb2RlIHNjc3csIHplcm8KKyAqIG90aGVyd2lzZS4KKyAqLworaW50IHNjc3dfaXNfdG0odW5pb24gc2NzdyAqc2NzdykKK3sKKwlyZXR1cm4gY3NzX2dlbmVyYWxfY2hhcmFjdGVyaXN0aWNzLmZjeCAmJiAoc2Nzdy0+dG0ueCA9PSAxKTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19pc190bSk7CisKKy8qKgorICogc2Nzd19rZXkgLSByZXR1cm4gc2NzdyBrZXkgZmllbGQKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gdGhlIHZhbHVlIG9mIHRoZSBrZXkgZmllbGQgb2YgdGhlIHNwZWNpZmllZCBzY3N3LCByZWdhcmRsZXNzIG9mCisgKiB3aGV0aGVyIGl0IGlzIGEgdHJhbnNwb3J0IG1vZGUgb3IgY29tbWFuZCBtb2RlIHNjc3cuCisgKi8KK3UzMiBzY3N3X2tleSh1bmlvbiBzY3N3ICpzY3N3KQoreworCWlmIChzY3N3X2lzX3RtKHNjc3cpKQorCQlyZXR1cm4gc2Nzdy0+dG0ua2V5OworCWVsc2UKKwkJcmV0dXJuIHNjc3ctPmNtZC5rZXk7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfa2V5KTsKKworLyoqCisgKiBzY3N3X2Vzd2YgLSByZXR1cm4gc2NzdyBlc3dmIGZpZWxkCisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIHRoZSB2YWx1ZSBvZiB0aGUgZXN3ZiBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIHNjc3csIHJlZ2FyZGxlc3Mgb2YKKyAqIHdoZXRoZXIgaXQgaXMgYSB0cmFuc3BvcnQgbW9kZSBvciBjb21tYW5kIG1vZGUgc2Nzdy4KKyAqLwordTMyIHNjc3dfZXN3Zih1bmlvbiBzY3N3ICpzY3N3KQoreworCWlmIChzY3N3X2lzX3RtKHNjc3cpKQorCQlyZXR1cm4gc2Nzdy0+dG0uZXN3ZjsKKwllbHNlCisJCXJldHVybiBzY3N3LT5jbWQuZXN3ZjsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19lc3dmKTsKKworLyoqCisgKiBzY3N3X2NjIC0gcmV0dXJuIHNjc3cgY2MgZmllbGQKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gdGhlIHZhbHVlIG9mIHRoZSBjYyBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIHNjc3csIHJlZ2FyZGxlc3Mgb2YKKyAqIHdoZXRoZXIgaXQgaXMgYSB0cmFuc3BvcnQgbW9kZSBvciBjb21tYW5kIG1vZGUgc2Nzdy4KKyAqLwordTMyIHNjc3dfY2ModW5pb24gc2NzdyAqc2NzdykKK3sKKwlpZiAoc2Nzd19pc190bShzY3N3KSkKKwkJcmV0dXJuIHNjc3ctPnRtLmNjOworCWVsc2UKKwkJcmV0dXJuIHNjc3ctPmNtZC5jYzsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19jYyk7CisKKy8qKgorICogc2Nzd19lY3RsIC0gcmV0dXJuIHNjc3cgZWN0bCBmaWVsZAorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiB0aGUgdmFsdWUgb2YgdGhlIGVjdGwgZmllbGQgb2YgdGhlIHNwZWNpZmllZCBzY3N3LCByZWdhcmRsZXNzIG9mCisgKiB3aGV0aGVyIGl0IGlzIGEgdHJhbnNwb3J0IG1vZGUgb3IgY29tbWFuZCBtb2RlIHNjc3cuCisgKi8KK3UzMiBzY3N3X2VjdGwodW5pb24gc2NzdyAqc2NzdykKK3sKKwlpZiAoc2Nzd19pc190bShzY3N3KSkKKwkJcmV0dXJuIHNjc3ctPnRtLmVjdGw7CisJZWxzZQorCQlyZXR1cm4gc2Nzdy0+Y21kLmVjdGw7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfZWN0bCk7CisKKy8qKgorICogc2Nzd19wbm8gLSByZXR1cm4gc2NzdyBwbm8gZmllbGQKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gdGhlIHZhbHVlIG9mIHRoZSBwbm8gZmllbGQgb2YgdGhlIHNwZWNpZmllZCBzY3N3LCByZWdhcmRsZXNzIG9mCisgKiB3aGV0aGVyIGl0IGlzIGEgdHJhbnNwb3J0IG1vZGUgb3IgY29tbWFuZCBtb2RlIHNjc3cuCisgKi8KK3UzMiBzY3N3X3Bubyh1bmlvbiBzY3N3ICpzY3N3KQoreworCWlmIChzY3N3X2lzX3RtKHNjc3cpKQorCQlyZXR1cm4gc2Nzdy0+dG0ucG5vOworCWVsc2UKKwkJcmV0dXJuIHNjc3ctPmNtZC5wbm87Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfcG5vKTsKKworLyoqCisgKiBzY3N3X2ZjdGwgLSByZXR1cm4gc2NzdyBmY3RsIGZpZWxkCisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIHRoZSB2YWx1ZSBvZiB0aGUgZmN0bCBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIHNjc3csIHJlZ2FyZGxlc3Mgb2YKKyAqIHdoZXRoZXIgaXQgaXMgYSB0cmFuc3BvcnQgbW9kZSBvciBjb21tYW5kIG1vZGUgc2Nzdy4KKyAqLwordTMyIHNjc3dfZmN0bCh1bmlvbiBzY3N3ICpzY3N3KQoreworCWlmIChzY3N3X2lzX3RtKHNjc3cpKQorCQlyZXR1cm4gc2Nzdy0+dG0uZmN0bDsKKwllbHNlCisJCXJldHVybiBzY3N3LT5jbWQuZmN0bDsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19mY3RsKTsKKworLyoqCisgKiBzY3N3X2FjdGwgLSByZXR1cm4gc2NzdyBhY3RsIGZpZWxkCisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIHRoZSB2YWx1ZSBvZiB0aGUgYWN0bCBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIHNjc3csIHJlZ2FyZGxlc3Mgb2YKKyAqIHdoZXRoZXIgaXQgaXMgYSB0cmFuc3BvcnQgbW9kZSBvciBjb21tYW5kIG1vZGUgc2Nzdy4KKyAqLwordTMyIHNjc3dfYWN0bCh1bmlvbiBzY3N3ICpzY3N3KQoreworCWlmIChzY3N3X2lzX3RtKHNjc3cpKQorCQlyZXR1cm4gc2Nzdy0+dG0uYWN0bDsKKwllbHNlCisJCXJldHVybiBzY3N3LT5jbWQuYWN0bDsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19hY3RsKTsKKworLyoqCisgKiBzY3N3X3N0Y3RsIC0gcmV0dXJuIHNjc3cgc3RjdGwgZmllbGQKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gdGhlIHZhbHVlIG9mIHRoZSBzdGN0bCBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIHNjc3csIHJlZ2FyZGxlc3Mgb2YKKyAqIHdoZXRoZXIgaXQgaXMgYSB0cmFuc3BvcnQgbW9kZSBvciBjb21tYW5kIG1vZGUgc2Nzdy4KKyAqLwordTMyIHNjc3dfc3RjdGwodW5pb24gc2NzdyAqc2NzdykKK3sKKwlpZiAoc2Nzd19pc190bShzY3N3KSkKKwkJcmV0dXJuIHNjc3ctPnRtLnN0Y3RsOworCWVsc2UKKwkJcmV0dXJuIHNjc3ctPmNtZC5zdGN0bDsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19zdGN0bCk7CisKKy8qKgorICogc2Nzd19kc3RhdCAtIHJldHVybiBzY3N3IGRzdGF0IGZpZWxkCisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIHRoZSB2YWx1ZSBvZiB0aGUgZHN0YXQgZmllbGQgb2YgdGhlIHNwZWNpZmllZCBzY3N3LCByZWdhcmRsZXNzIG9mCisgKiB3aGV0aGVyIGl0IGlzIGEgdHJhbnNwb3J0IG1vZGUgb3IgY29tbWFuZCBtb2RlIHNjc3cuCisgKi8KK3UzMiBzY3N3X2RzdGF0KHVuaW9uIHNjc3cgKnNjc3cpCit7CisJaWYgKHNjc3dfaXNfdG0oc2NzdykpCisJCXJldHVybiBzY3N3LT50bS5kc3RhdDsKKwllbHNlCisJCXJldHVybiBzY3N3LT5jbWQuZHN0YXQ7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfZHN0YXQpOworCisvKioKKyAqIHNjc3dfY3N0YXQgLSByZXR1cm4gc2NzdyBjc3RhdCBmaWVsZAorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiB0aGUgdmFsdWUgb2YgdGhlIGNzdGF0IGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgc2NzdywgcmVnYXJkbGVzcyBvZgorICogd2hldGhlciBpdCBpcyBhIHRyYW5zcG9ydCBtb2RlIG9yIGNvbW1hbmQgbW9kZSBzY3N3LgorICovCit1MzIgc2Nzd19jc3RhdCh1bmlvbiBzY3N3ICpzY3N3KQoreworCWlmIChzY3N3X2lzX3RtKHNjc3cpKQorCQlyZXR1cm4gc2Nzdy0+dG0uY3N0YXQ7CisJZWxzZQorCQlyZXR1cm4gc2Nzdy0+Y21kLmNzdGF0OworfQorRVhQT1JUX1NZTUJPTChzY3N3X2NzdGF0KTsKKworLyoqCisgKiBzY3N3X2NtZF9pc192YWxpZF9rZXkgLSBjaGVjayBrZXkgZmllbGQgdmFsaWRpdHkKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gbm9uLXplcm8gaWYgdGhlIGtleSBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIGNvbW1hbmQgbW9kZSBzY3N3IGlzCisgKiB2YWxpZCwgemVybyBvdGhlcndpc2UuCisgKi8KK2ludCBzY3N3X2NtZF9pc192YWxpZF9rZXkodW5pb24gc2NzdyAqc2NzdykKK3sKKwlyZXR1cm4gKHNjc3ctPmNtZC5mY3RsICYgU0NTV19GQ1RMX1NUQVJUX0ZVTkMpOworfQorRVhQT1JUX1NZTUJPTChzY3N3X2NtZF9pc192YWxpZF9rZXkpOworCisvKioKKyAqIHNjc3dfY21kX2lzX3ZhbGlkX3NjdGwgLSBjaGVjayBmY3RsIGZpZWxkIHZhbGlkaXR5CisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIG5vbi16ZXJvIGlmIHRoZSBmY3RsIGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgY29tbWFuZCBtb2RlIHNjc3cgaXMKKyAqIHZhbGlkLCB6ZXJvIG90aGVyd2lzZS4KKyAqLworaW50IHNjc3dfY21kX2lzX3ZhbGlkX3NjdGwodW5pb24gc2NzdyAqc2NzdykKK3sKKwlyZXR1cm4gKHNjc3ctPmNtZC5mY3RsICYgU0NTV19GQ1RMX1NUQVJUX0ZVTkMpOworfQorRVhQT1JUX1NZTUJPTChzY3N3X2NtZF9pc192YWxpZF9zY3RsKTsKKworLyoqCisgKiBzY3N3X2NtZF9pc192YWxpZF9lc3dmIC0gY2hlY2sgZXN3ZiBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgZXN3ZiBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIGNvbW1hbmQgbW9kZSBzY3N3IGlzCisgKiB2YWxpZCwgemVybyBvdGhlcndpc2UuCisgKi8KK2ludCBzY3N3X2NtZF9pc192YWxpZF9lc3dmKHVuaW9uIHNjc3cgKnNjc3cpCit7CisJcmV0dXJuIChzY3N3LT5jbWQuc3RjdGwgJiBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19jbWRfaXNfdmFsaWRfZXN3Zik7CisKKy8qKgorICogc2Nzd19jbWRfaXNfdmFsaWRfY2MgLSBjaGVjayBjYyBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgY2MgZmllbGQgb2YgdGhlIHNwZWNpZmllZCBjb21tYW5kIG1vZGUgc2NzdyBpcworICogdmFsaWQsIHplcm8gb3RoZXJ3aXNlLgorICovCitpbnQgc2Nzd19jbWRfaXNfdmFsaWRfY2ModW5pb24gc2NzdyAqc2NzdykKK3sKKwlyZXR1cm4gKHNjc3ctPmNtZC5mY3RsICYgU0NTV19GQ1RMX1NUQVJUX0ZVTkMpICYmCisJICAgICAgIChzY3N3LT5jbWQuc3RjdGwgJiBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19jbWRfaXNfdmFsaWRfY2MpOworCisvKioKKyAqIHNjc3dfY21kX2lzX3ZhbGlkX2ZtdCAtIGNoZWNrIGZtdCBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgZm10IGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgY29tbWFuZCBtb2RlIHNjc3cgaXMKKyAqIHZhbGlkLCB6ZXJvIG90aGVyd2lzZS4KKyAqLworaW50IHNjc3dfY21kX2lzX3ZhbGlkX2ZtdCh1bmlvbiBzY3N3ICpzY3N3KQoreworCXJldHVybiAoc2Nzdy0+Y21kLmZjdGwgJiBTQ1NXX0ZDVExfU1RBUlRfRlVOQyk7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfY21kX2lzX3ZhbGlkX2ZtdCk7CisKKy8qKgorICogc2Nzd19jbWRfaXNfdmFsaWRfcGZjaCAtIGNoZWNrIHBmY2ggZmllbGQgdmFsaWRpdHkKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gbm9uLXplcm8gaWYgdGhlIHBmY2ggZmllbGQgb2YgdGhlIHNwZWNpZmllZCBjb21tYW5kIG1vZGUgc2NzdyBpcworICogdmFsaWQsIHplcm8gb3RoZXJ3aXNlLgorICovCitpbnQgc2Nzd19jbWRfaXNfdmFsaWRfcGZjaCh1bmlvbiBzY3N3ICpzY3N3KQoreworCXJldHVybiAoc2Nzdy0+Y21kLmZjdGwgJiBTQ1NXX0ZDVExfU1RBUlRfRlVOQyk7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfY21kX2lzX3ZhbGlkX3BmY2gpOworCisvKioKKyAqIHNjc3dfY21kX2lzX3ZhbGlkX2lzaWMgLSBjaGVjayBpc2ljIGZpZWxkIHZhbGlkaXR5CisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIG5vbi16ZXJvIGlmIHRoZSBpc2ljIGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgY29tbWFuZCBtb2RlIHNjc3cgaXMKKyAqIHZhbGlkLCB6ZXJvIG90aGVyd2lzZS4KKyAqLworaW50IHNjc3dfY21kX2lzX3ZhbGlkX2lzaWModW5pb24gc2NzdyAqc2NzdykKK3sKKwlyZXR1cm4gKHNjc3ctPmNtZC5mY3RsICYgU0NTV19GQ1RMX1NUQVJUX0ZVTkMpOworfQorRVhQT1JUX1NZTUJPTChzY3N3X2NtZF9pc192YWxpZF9pc2ljKTsKKworLyoqCisgKiBzY3N3X2NtZF9pc192YWxpZF9hbGNjIC0gY2hlY2sgYWxjYyBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgYWxjYyBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIGNvbW1hbmQgbW9kZSBzY3N3IGlzCisgKiB2YWxpZCwgemVybyBvdGhlcndpc2UuCisgKi8KK2ludCBzY3N3X2NtZF9pc192YWxpZF9hbGNjKHVuaW9uIHNjc3cgKnNjc3cpCit7CisJcmV0dXJuIChzY3N3LT5jbWQuZmN0bCAmIFNDU1dfRkNUTF9TVEFSVF9GVU5DKTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19jbWRfaXNfdmFsaWRfYWxjYyk7CisKKy8qKgorICogc2Nzd19jbWRfaXNfdmFsaWRfc3NpIC0gY2hlY2sgc3NpIGZpZWxkIHZhbGlkaXR5CisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIG5vbi16ZXJvIGlmIHRoZSBzc2kgZmllbGQgb2YgdGhlIHNwZWNpZmllZCBjb21tYW5kIG1vZGUgc2NzdyBpcworICogdmFsaWQsIHplcm8gb3RoZXJ3aXNlLgorICovCitpbnQgc2Nzd19jbWRfaXNfdmFsaWRfc3NpKHVuaW9uIHNjc3cgKnNjc3cpCit7CisJcmV0dXJuIChzY3N3LT5jbWQuZmN0bCAmIFNDU1dfRkNUTF9TVEFSVF9GVU5DKTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19jbWRfaXNfdmFsaWRfc3NpKTsKKworLyoqCisgKiBzY3N3X2NtZF9pc192YWxpZF96Y2MgLSBjaGVjayB6Y2MgZmllbGQgdmFsaWRpdHkKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gbm9uLXplcm8gaWYgdGhlIHpjYyBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIGNvbW1hbmQgbW9kZSBzY3N3IGlzCisgKiB2YWxpZCwgemVybyBvdGhlcndpc2UuCisgKi8KK2ludCBzY3N3X2NtZF9pc192YWxpZF96Y2ModW5pb24gc2NzdyAqc2NzdykKK3sKKwlyZXR1cm4gKHNjc3ctPmNtZC5mY3RsICYgU0NTV19GQ1RMX1NUQVJUX0ZVTkMpICYmCisJICAgICAgIChzY3N3LT5jbWQuc3RjdGwgJiBTQ1NXX1NUQ1RMX0lOVEVSX1NUQVRVUyk7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfY21kX2lzX3ZhbGlkX3pjYyk7CisKKy8qKgorICogc2Nzd19jbWRfaXNfdmFsaWRfZWN0bCAtIGNoZWNrIGVjdGwgZmllbGQgdmFsaWRpdHkKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gbm9uLXplcm8gaWYgdGhlIGVjdGwgZmllbGQgb2YgdGhlIHNwZWNpZmllZCBjb21tYW5kIG1vZGUgc2NzdyBpcworICogdmFsaWQsIHplcm8gb3RoZXJ3aXNlLgorICovCitpbnQgc2Nzd19jbWRfaXNfdmFsaWRfZWN0bCh1bmlvbiBzY3N3ICpzY3N3KQoreworCXJldHVybiAoc2Nzdy0+Y21kLnN0Y3RsICYgU0NTV19TVENUTF9TVEFUVVNfUEVORCkgJiYKKwkgICAgICAgIShzY3N3LT5jbWQuc3RjdGwgJiBTQ1NXX1NUQ1RMX0lOVEVSX1NUQVRVUykgJiYKKwkgICAgICAgKHNjc3ctPmNtZC5zdGN0bCAmIFNDU1dfU1RDVExfQUxFUlRfU1RBVFVTKTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19jbWRfaXNfdmFsaWRfZWN0bCk7CisKKy8qKgorICogc2Nzd19jbWRfaXNfdmFsaWRfcG5vIC0gY2hlY2sgcG5vIGZpZWxkIHZhbGlkaXR5CisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIG5vbi16ZXJvIGlmIHRoZSBwbm8gZmllbGQgb2YgdGhlIHNwZWNpZmllZCBjb21tYW5kIG1vZGUgc2NzdyBpcworICogdmFsaWQsIHplcm8gb3RoZXJ3aXNlLgorICovCitpbnQgc2Nzd19jbWRfaXNfdmFsaWRfcG5vKHVuaW9uIHNjc3cgKnNjc3cpCit7CisJcmV0dXJuIChzY3N3LT5jbWQuZmN0bCAhPSAwKSAmJgorCSAgICAgICAoc2Nzdy0+Y21kLnN0Y3RsICYgU0NTV19TVENUTF9TVEFUVVNfUEVORCkgJiYKKwkgICAgICAgKCEoc2Nzdy0+Y21kLnN0Y3RsICYgU0NTV19TVENUTF9JTlRFUl9TVEFUVVMpIHx8CisJCSAoKHNjc3ctPmNtZC5zdGN0bCAmIFNDU1dfU1RDVExfSU5URVJfU1RBVFVTKSAmJgorCQkgIChzY3N3LT5jbWQuYWN0bCAmIFNDU1dfQUNUTF9TVVNQRU5ERUQpKSk7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfY21kX2lzX3ZhbGlkX3Bubyk7CisKKy8qKgorICogc2Nzd19jbWRfaXNfdmFsaWRfZmN0bCAtIGNoZWNrIGZjdGwgZmllbGQgdmFsaWRpdHkKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gbm9uLXplcm8gaWYgdGhlIGZjdGwgZmllbGQgb2YgdGhlIHNwZWNpZmllZCBjb21tYW5kIG1vZGUgc2NzdyBpcworICogdmFsaWQsIHplcm8gb3RoZXJ3aXNlLgorICovCitpbnQgc2Nzd19jbWRfaXNfdmFsaWRfZmN0bCh1bmlvbiBzY3N3ICpzY3N3KQoreworCS8qIE9ubHkgdmFsaWQgaWYgcG1jdy5kbnYgPT0gMSovCisJcmV0dXJuIDE7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfY21kX2lzX3ZhbGlkX2ZjdGwpOworCisvKioKKyAqIHNjc3dfY21kX2lzX3ZhbGlkX2FjdGwgLSBjaGVjayBhY3RsIGZpZWxkIHZhbGlkaXR5CisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIG5vbi16ZXJvIGlmIHRoZSBhY3RsIGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgY29tbWFuZCBtb2RlIHNjc3cgaXMKKyAqIHZhbGlkLCB6ZXJvIG90aGVyd2lzZS4KKyAqLworaW50IHNjc3dfY21kX2lzX3ZhbGlkX2FjdGwodW5pb24gc2NzdyAqc2NzdykKK3sKKwkvKiBPbmx5IHZhbGlkIGlmIHBtY3cuZG52ID09IDEqLworCXJldHVybiAxOworfQorRVhQT1JUX1NZTUJPTChzY3N3X2NtZF9pc192YWxpZF9hY3RsKTsKKworLyoqCisgKiBzY3N3X2NtZF9pc192YWxpZF9zdGN0bCAtIGNoZWNrIHN0Y3RsIGZpZWxkIHZhbGlkaXR5CisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIG5vbi16ZXJvIGlmIHRoZSBzdGN0bCBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIGNvbW1hbmQgbW9kZSBzY3N3IGlzCisgKiB2YWxpZCwgemVybyBvdGhlcndpc2UuCisgKi8KK2ludCBzY3N3X2NtZF9pc192YWxpZF9zdGN0bCh1bmlvbiBzY3N3ICpzY3N3KQoreworCS8qIE9ubHkgdmFsaWQgaWYgcG1jdy5kbnYgPT0gMSovCisJcmV0dXJuIDE7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfY21kX2lzX3ZhbGlkX3N0Y3RsKTsKKworLyoqCisgKiBzY3N3X2NtZF9pc192YWxpZF9kc3RhdCAtIGNoZWNrIGRzdGF0IGZpZWxkIHZhbGlkaXR5CisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIG5vbi16ZXJvIGlmIHRoZSBkc3RhdCBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIGNvbW1hbmQgbW9kZSBzY3N3IGlzCisgKiB2YWxpZCwgemVybyBvdGhlcndpc2UuCisgKi8KK2ludCBzY3N3X2NtZF9pc192YWxpZF9kc3RhdCh1bmlvbiBzY3N3ICpzY3N3KQoreworCXJldHVybiAoc2Nzdy0+Y21kLnN0Y3RsICYgU0NTV19TVENUTF9TVEFUVVNfUEVORCkgJiYKKwkgICAgICAgKHNjc3ctPmNtZC5jYyAhPSAzKTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19jbWRfaXNfdmFsaWRfZHN0YXQpOworCisvKioKKyAqIHNjc3dfY21kX2lzX3ZhbGlkX2NzdGF0IC0gY2hlY2sgY3N0YXQgZmllbGQgdmFsaWRpdHkKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gbm9uLXplcm8gaWYgdGhlIGNzdGF0IGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgY29tbWFuZCBtb2RlIHNjc3cgaXMKKyAqIHZhbGlkLCB6ZXJvIG90aGVyd2lzZS4KKyAqLworaW50IHNjc3dfY21kX2lzX3ZhbGlkX2NzdGF0KHVuaW9uIHNjc3cgKnNjc3cpCit7CisJcmV0dXJuIChzY3N3LT5jbWQuc3RjdGwgJiBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKSAmJgorCSAgICAgICAoc2Nzdy0+Y21kLmNjICE9IDMpOworfQorRVhQT1JUX1NZTUJPTChzY3N3X2NtZF9pc192YWxpZF9jc3RhdCk7CisKKy8qKgorICogc2Nzd190bV9pc192YWxpZF9rZXkgLSBjaGVjayBrZXkgZmllbGQgdmFsaWRpdHkKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gbm9uLXplcm8gaWYgdGhlIGtleSBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIHRyYW5zcG9ydCBtb2RlIHNjc3cgaXMKKyAqIHZhbGlkLCB6ZXJvIG90aGVyd2lzZS4KKyAqLworaW50IHNjc3dfdG1faXNfdmFsaWRfa2V5KHVuaW9uIHNjc3cgKnNjc3cpCit7CisJcmV0dXJuIChzY3N3LT50bS5mY3RsICYgU0NTV19GQ1RMX1NUQVJUX0ZVTkMpOworfQorRVhQT1JUX1NZTUJPTChzY3N3X3RtX2lzX3ZhbGlkX2tleSk7CisKKy8qKgorICogc2Nzd190bV9pc192YWxpZF9lc3dmIC0gY2hlY2sgZXN3ZiBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgZXN3ZiBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIHRyYW5zcG9ydCBtb2RlIHNjc3cgaXMKKyAqIHZhbGlkLCB6ZXJvIG90aGVyd2lzZS4KKyAqLworaW50IHNjc3dfdG1faXNfdmFsaWRfZXN3Zih1bmlvbiBzY3N3ICpzY3N3KQoreworCXJldHVybiAoc2Nzdy0+dG0uc3RjdGwgJiBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd190bV9pc192YWxpZF9lc3dmKTsKKworLyoqCisgKiBzY3N3X3RtX2lzX3ZhbGlkX2NjIC0gY2hlY2sgY2MgZmllbGQgdmFsaWRpdHkKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gbm9uLXplcm8gaWYgdGhlIGNjIGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgdHJhbnNwb3J0IG1vZGUgc2NzdyBpcworICogdmFsaWQsIHplcm8gb3RoZXJ3aXNlLgorICovCitpbnQgc2Nzd190bV9pc192YWxpZF9jYyh1bmlvbiBzY3N3ICpzY3N3KQoreworCXJldHVybiAoc2Nzdy0+dG0uZmN0bCAmIFNDU1dfRkNUTF9TVEFSVF9GVU5DKSAmJgorCSAgICAgICAoc2Nzdy0+dG0uc3RjdGwgJiBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd190bV9pc192YWxpZF9jYyk7CisKKy8qKgorICogc2Nzd190bV9pc192YWxpZF9mbXQgLSBjaGVjayBmbXQgZmllbGQgdmFsaWRpdHkKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gbm9uLXplcm8gaWYgdGhlIGZtdCBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIHRyYW5zcG9ydCBtb2RlIHNjc3cgaXMKKyAqIHZhbGlkLCB6ZXJvIG90aGVyd2lzZS4KKyAqLworaW50IHNjc3dfdG1faXNfdmFsaWRfZm10KHVuaW9uIHNjc3cgKnNjc3cpCit7CisJcmV0dXJuIDE7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfdG1faXNfdmFsaWRfZm10KTsKKworLyoqCisgKiBzY3N3X3RtX2lzX3ZhbGlkX3ggLSBjaGVjayB4IGZpZWxkIHZhbGlkaXR5CisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIG5vbi16ZXJvIGlmIHRoZSB4IGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgdHJhbnNwb3J0IG1vZGUgc2NzdyBpcworICogdmFsaWQsIHplcm8gb3RoZXJ3aXNlLgorICovCitpbnQgc2Nzd190bV9pc192YWxpZF94KHVuaW9uIHNjc3cgKnNjc3cpCit7CisJcmV0dXJuIDE7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfdG1faXNfdmFsaWRfeCk7CisKKy8qKgorICogc2Nzd190bV9pc192YWxpZF9xIC0gY2hlY2sgcSBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgcSBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIHRyYW5zcG9ydCBtb2RlIHNjc3cgaXMKKyAqIHZhbGlkLCB6ZXJvIG90aGVyd2lzZS4KKyAqLworaW50IHNjc3dfdG1faXNfdmFsaWRfcSh1bmlvbiBzY3N3ICpzY3N3KQoreworCXJldHVybiAxOworfQorRVhQT1JUX1NZTUJPTChzY3N3X3RtX2lzX3ZhbGlkX3EpOworCisvKioKKyAqIHNjc3dfdG1faXNfdmFsaWRfZWN0bCAtIGNoZWNrIGVjdGwgZmllbGQgdmFsaWRpdHkKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gbm9uLXplcm8gaWYgdGhlIGVjdGwgZmllbGQgb2YgdGhlIHNwZWNpZmllZCB0cmFuc3BvcnQgbW9kZSBzY3N3IGlzCisgKiB2YWxpZCwgemVybyBvdGhlcndpc2UuCisgKi8KK2ludCBzY3N3X3RtX2lzX3ZhbGlkX2VjdGwodW5pb24gc2NzdyAqc2NzdykKK3sKKwlyZXR1cm4gKHNjc3ctPnRtLnN0Y3RsICYgU0NTV19TVENUTF9TVEFUVVNfUEVORCkgJiYKKwkgICAgICAgIShzY3N3LT50bS5zdGN0bCAmIFNDU1dfU1RDVExfSU5URVJfU1RBVFVTKSAmJgorCSAgICAgICAoc2Nzdy0+dG0uc3RjdGwgJiBTQ1NXX1NUQ1RMX0FMRVJUX1NUQVRVUyk7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfdG1faXNfdmFsaWRfZWN0bCk7CisKKy8qKgorICogc2Nzd190bV9pc192YWxpZF9wbm8gLSBjaGVjayBwbm8gZmllbGQgdmFsaWRpdHkKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gbm9uLXplcm8gaWYgdGhlIHBubyBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIHRyYW5zcG9ydCBtb2RlIHNjc3cgaXMKKyAqIHZhbGlkLCB6ZXJvIG90aGVyd2lzZS4KKyAqLworaW50IHNjc3dfdG1faXNfdmFsaWRfcG5vKHVuaW9uIHNjc3cgKnNjc3cpCit7CisJcmV0dXJuIChzY3N3LT50bS5mY3RsICE9IDApICYmCisJICAgICAgIChzY3N3LT50bS5zdGN0bCAmIFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpICYmCisJICAgICAgICghKHNjc3ctPnRtLnN0Y3RsICYgU0NTV19TVENUTF9JTlRFUl9TVEFUVVMpIHx8CisJCSAoKHNjc3ctPnRtLnN0Y3RsICYgU0NTV19TVENUTF9JTlRFUl9TVEFUVVMpICYmCisJCSAgKHNjc3ctPnRtLmFjdGwgJiBTQ1NXX0FDVExfU1VTUEVOREVEKSkpOworfQorRVhQT1JUX1NZTUJPTChzY3N3X3RtX2lzX3ZhbGlkX3Bubyk7CisKKy8qKgorICogc2Nzd190bV9pc192YWxpZF9mY3RsIC0gY2hlY2sgZmN0bCBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgZmN0bCBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIHRyYW5zcG9ydCBtb2RlIHNjc3cgaXMKKyAqIHZhbGlkLCB6ZXJvIG90aGVyd2lzZS4KKyAqLworaW50IHNjc3dfdG1faXNfdmFsaWRfZmN0bCh1bmlvbiBzY3N3ICpzY3N3KQoreworCS8qIE9ubHkgdmFsaWQgaWYgcG1jdy5kbnYgPT0gMSovCisJcmV0dXJuIDE7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfdG1faXNfdmFsaWRfZmN0bCk7CisKKy8qKgorICogc2Nzd190bV9pc192YWxpZF9hY3RsIC0gY2hlY2sgYWN0bCBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgYWN0bCBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIHRyYW5zcG9ydCBtb2RlIHNjc3cgaXMKKyAqIHZhbGlkLCB6ZXJvIG90aGVyd2lzZS4KKyAqLworaW50IHNjc3dfdG1faXNfdmFsaWRfYWN0bCh1bmlvbiBzY3N3ICpzY3N3KQoreworCS8qIE9ubHkgdmFsaWQgaWYgcG1jdy5kbnYgPT0gMSovCisJcmV0dXJuIDE7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfdG1faXNfdmFsaWRfYWN0bCk7CisKKy8qKgorICogc2Nzd190bV9pc192YWxpZF9zdGN0bCAtIGNoZWNrIHN0Y3RsIGZpZWxkIHZhbGlkaXR5CisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIG5vbi16ZXJvIGlmIHRoZSBzdGN0bCBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIHRyYW5zcG9ydCBtb2RlIHNjc3cgaXMKKyAqIHZhbGlkLCB6ZXJvIG90aGVyd2lzZS4KKyAqLworaW50IHNjc3dfdG1faXNfdmFsaWRfc3RjdGwodW5pb24gc2NzdyAqc2NzdykKK3sKKwkvKiBPbmx5IHZhbGlkIGlmIHBtY3cuZG52ID09IDEqLworCXJldHVybiAxOworfQorRVhQT1JUX1NZTUJPTChzY3N3X3RtX2lzX3ZhbGlkX3N0Y3RsKTsKKworLyoqCisgKiBzY3N3X3RtX2lzX3ZhbGlkX2RzdGF0IC0gY2hlY2sgZHN0YXQgZmllbGQgdmFsaWRpdHkKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gbm9uLXplcm8gaWYgdGhlIGRzdGF0IGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgdHJhbnNwb3J0IG1vZGUgc2NzdyBpcworICogdmFsaWQsIHplcm8gb3RoZXJ3aXNlLgorICovCitpbnQgc2Nzd190bV9pc192YWxpZF9kc3RhdCh1bmlvbiBzY3N3ICpzY3N3KQoreworCXJldHVybiAoc2Nzdy0+dG0uc3RjdGwgJiBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKSAmJgorCSAgICAgICAoc2Nzdy0+dG0uY2MgIT0gMyk7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfdG1faXNfdmFsaWRfZHN0YXQpOworCisvKioKKyAqIHNjc3dfdG1faXNfdmFsaWRfY3N0YXQgLSBjaGVjayBjc3RhdCBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgY3N0YXQgZmllbGQgb2YgdGhlIHNwZWNpZmllZCB0cmFuc3BvcnQgbW9kZSBzY3N3IGlzCisgKiB2YWxpZCwgemVybyBvdGhlcndpc2UuCisgKi8KK2ludCBzY3N3X3RtX2lzX3ZhbGlkX2NzdGF0KHVuaW9uIHNjc3cgKnNjc3cpCit7CisJcmV0dXJuIChzY3N3LT50bS5zdGN0bCAmIFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpICYmCisJICAgICAgIChzY3N3LT50bS5jYyAhPSAzKTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd190bV9pc192YWxpZF9jc3RhdCk7CisKKy8qKgorICogc2Nzd190bV9pc192YWxpZF9mY3hzIC0gY2hlY2sgZmN4cyBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgZmN4cyBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIHRyYW5zcG9ydCBtb2RlIHNjc3cgaXMKKyAqIHZhbGlkLCB6ZXJvIG90aGVyd2lzZS4KKyAqLworaW50IHNjc3dfdG1faXNfdmFsaWRfZmN4cyh1bmlvbiBzY3N3ICpzY3N3KQoreworCXJldHVybiAxOworfQorRVhQT1JUX1NZTUJPTChzY3N3X3RtX2lzX3ZhbGlkX2ZjeHMpOworCisvKioKKyAqIHNjc3dfdG1faXNfdmFsaWRfc2NoeHMgLSBjaGVjayBzY2h4cyBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgc2NoeHMgZmllbGQgb2YgdGhlIHNwZWNpZmllZCB0cmFuc3BvcnQgbW9kZSBzY3N3IGlzCisgKiB2YWxpZCwgemVybyBvdGhlcndpc2UuCisgKi8KK2ludCBzY3N3X3RtX2lzX3ZhbGlkX3NjaHhzKHVuaW9uIHNjc3cgKnNjc3cpCit7CisJcmV0dXJuIChzY3N3LT50bS5jc3RhdCAmIChTQ0hOX1NUQVRfUFJPR19DSEVDSyB8CisJCQkJICBTQ0hOX1NUQVRfSU5URl9DVFJMX0NISyB8CisJCQkJICBTQ0hOX1NUQVRfUFJPVF9DSEVDSyB8CisJCQkJICBTQ0hOX1NUQVRfQ0hOX0RBVEFfQ0hLKSk7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfdG1faXNfdmFsaWRfc2NoeHMpOworCisvKioKKyAqIHNjc3dfaXNfdmFsaWRfYWN0bCAtIGNoZWNrIGFjdGwgZmllbGQgdmFsaWRpdHkKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gbm9uLXplcm8gaWYgdGhlIGFjdGwgZmllbGQgb2YgdGhlIHNwZWNpZmllZCBzY3N3IGlzIHZhbGlkLAorICogcmVnYXJkbGVzcyBvZiB3aGV0aGVyIGl0IGlzIGEgdHJhbnNwb3J0IG1vZGUgb3IgY29tbWFuZCBtb2RlIHNjc3cuCisgKiBSZXR1cm4gemVybyBpZiB0aGUgZmllbGQgZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIHZhbHVlLgorICovCitpbnQgc2Nzd19pc192YWxpZF9hY3RsKHVuaW9uIHNjc3cgKnNjc3cpCit7CisJaWYgKHNjc3dfaXNfdG0oc2NzdykpCisJCXJldHVybiBzY3N3X3RtX2lzX3ZhbGlkX2FjdGwoc2Nzdyk7CisJZWxzZQorCQlyZXR1cm4gc2Nzd19jbWRfaXNfdmFsaWRfYWN0bChzY3N3KTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19pc192YWxpZF9hY3RsKTsKKworLyoqCisgKiBzY3N3X2lzX3ZhbGlkX2NjIC0gY2hlY2sgY2MgZmllbGQgdmFsaWRpdHkKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gbm9uLXplcm8gaWYgdGhlIGNjIGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgc2NzdyBpcyB2YWxpZCwKKyAqIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciBpdCBpcyBhIHRyYW5zcG9ydCBtb2RlIG9yIGNvbW1hbmQgbW9kZSBzY3N3LgorICogUmV0dXJuIHplcm8gaWYgdGhlIGZpZWxkIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCB2YWx1ZS4KKyAqLworaW50IHNjc3dfaXNfdmFsaWRfY2ModW5pb24gc2NzdyAqc2NzdykKK3sKKwlpZiAoc2Nzd19pc190bShzY3N3KSkKKwkJcmV0dXJuIHNjc3dfdG1faXNfdmFsaWRfY2Moc2Nzdyk7CisJZWxzZQorCQlyZXR1cm4gc2Nzd19jbWRfaXNfdmFsaWRfY2Moc2Nzdyk7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfaXNfdmFsaWRfY2MpOworCisvKioKKyAqIHNjc3dfaXNfdmFsaWRfY3N0YXQgLSBjaGVjayBjc3RhdCBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgY3N0YXQgZmllbGQgb2YgdGhlIHNwZWNpZmllZCBzY3N3IGlzIHZhbGlkLAorICogcmVnYXJkbGVzcyBvZiB3aGV0aGVyIGl0IGlzIGEgdHJhbnNwb3J0IG1vZGUgb3IgY29tbWFuZCBtb2RlIHNjc3cuCisgKiBSZXR1cm4gemVybyBpZiB0aGUgZmllbGQgZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIHZhbHVlLgorICovCitpbnQgc2Nzd19pc192YWxpZF9jc3RhdCh1bmlvbiBzY3N3ICpzY3N3KQoreworCWlmIChzY3N3X2lzX3RtKHNjc3cpKQorCQlyZXR1cm4gc2Nzd190bV9pc192YWxpZF9jc3RhdChzY3N3KTsKKwllbHNlCisJCXJldHVybiBzY3N3X2NtZF9pc192YWxpZF9jc3RhdChzY3N3KTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19pc192YWxpZF9jc3RhdCk7CisKKy8qKgorICogc2Nzd19pc192YWxpZF9kc3RhdCAtIGNoZWNrIGRzdGF0IGZpZWxkIHZhbGlkaXR5CisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIG5vbi16ZXJvIGlmIHRoZSBkc3RhdCBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIHNjc3cgaXMgdmFsaWQsCisgKiByZWdhcmRsZXNzIG9mIHdoZXRoZXIgaXQgaXMgYSB0cmFuc3BvcnQgbW9kZSBvciBjb21tYW5kIG1vZGUgc2Nzdy4KKyAqIFJldHVybiB6ZXJvIGlmIHRoZSBmaWVsZCBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgdmFsdWUuCisgKi8KK2ludCBzY3N3X2lzX3ZhbGlkX2RzdGF0KHVuaW9uIHNjc3cgKnNjc3cpCit7CisJaWYgKHNjc3dfaXNfdG0oc2NzdykpCisJCXJldHVybiBzY3N3X3RtX2lzX3ZhbGlkX2RzdGF0KHNjc3cpOworCWVsc2UKKwkJcmV0dXJuIHNjc3dfY21kX2lzX3ZhbGlkX2RzdGF0KHNjc3cpOworfQorRVhQT1JUX1NZTUJPTChzY3N3X2lzX3ZhbGlkX2RzdGF0KTsKKworLyoqCisgKiBzY3N3X2lzX3ZhbGlkX2VjdGwgLSBjaGVjayBlY3RsIGZpZWxkIHZhbGlkaXR5CisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIG5vbi16ZXJvIGlmIHRoZSBlY3RsIGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgc2NzdyBpcyB2YWxpZCwKKyAqIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciBpdCBpcyBhIHRyYW5zcG9ydCBtb2RlIG9yIGNvbW1hbmQgbW9kZSBzY3N3LgorICogUmV0dXJuIHplcm8gaWYgdGhlIGZpZWxkIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCB2YWx1ZS4KKyAqLworaW50IHNjc3dfaXNfdmFsaWRfZWN0bCh1bmlvbiBzY3N3ICpzY3N3KQoreworCWlmIChzY3N3X2lzX3RtKHNjc3cpKQorCQlyZXR1cm4gc2Nzd190bV9pc192YWxpZF9lY3RsKHNjc3cpOworCWVsc2UKKwkJcmV0dXJuIHNjc3dfY21kX2lzX3ZhbGlkX2VjdGwoc2Nzdyk7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfaXNfdmFsaWRfZWN0bCk7CisKKy8qKgorICogc2Nzd19pc192YWxpZF9lc3dmIC0gY2hlY2sgZXN3ZiBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgZXN3ZiBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIHNjc3cgaXMgdmFsaWQsCisgKiByZWdhcmRsZXNzIG9mIHdoZXRoZXIgaXQgaXMgYSB0cmFuc3BvcnQgbW9kZSBvciBjb21tYW5kIG1vZGUgc2Nzdy4KKyAqIFJldHVybiB6ZXJvIGlmIHRoZSBmaWVsZCBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgdmFsdWUuCisgKi8KK2ludCBzY3N3X2lzX3ZhbGlkX2Vzd2YodW5pb24gc2NzdyAqc2NzdykKK3sKKwlpZiAoc2Nzd19pc190bShzY3N3KSkKKwkJcmV0dXJuIHNjc3dfdG1faXNfdmFsaWRfZXN3ZihzY3N3KTsKKwllbHNlCisJCXJldHVybiBzY3N3X2NtZF9pc192YWxpZF9lc3dmKHNjc3cpOworfQorRVhQT1JUX1NZTUJPTChzY3N3X2lzX3ZhbGlkX2Vzd2YpOworCisvKioKKyAqIHNjc3dfaXNfdmFsaWRfZmN0bCAtIGNoZWNrIGZjdGwgZmllbGQgdmFsaWRpdHkKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gbm9uLXplcm8gaWYgdGhlIGZjdGwgZmllbGQgb2YgdGhlIHNwZWNpZmllZCBzY3N3IGlzIHZhbGlkLAorICogcmVnYXJkbGVzcyBvZiB3aGV0aGVyIGl0IGlzIGEgdHJhbnNwb3J0IG1vZGUgb3IgY29tbWFuZCBtb2RlIHNjc3cuCisgKiBSZXR1cm4gemVybyBpZiB0aGUgZmllbGQgZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIHZhbHVlLgorICovCitpbnQgc2Nzd19pc192YWxpZF9mY3RsKHVuaW9uIHNjc3cgKnNjc3cpCit7CisJaWYgKHNjc3dfaXNfdG0oc2NzdykpCisJCXJldHVybiBzY3N3X3RtX2lzX3ZhbGlkX2ZjdGwoc2Nzdyk7CisJZWxzZQorCQlyZXR1cm4gc2Nzd19jbWRfaXNfdmFsaWRfZmN0bChzY3N3KTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19pc192YWxpZF9mY3RsKTsKKworLyoqCisgKiBzY3N3X2lzX3ZhbGlkX2tleSAtIGNoZWNrIGtleSBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUga2V5IGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgc2NzdyBpcyB2YWxpZCwKKyAqIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciBpdCBpcyBhIHRyYW5zcG9ydCBtb2RlIG9yIGNvbW1hbmQgbW9kZSBzY3N3LgorICogUmV0dXJuIHplcm8gaWYgdGhlIGZpZWxkIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCB2YWx1ZS4KKyAqLworaW50IHNjc3dfaXNfdmFsaWRfa2V5KHVuaW9uIHNjc3cgKnNjc3cpCit7CisJaWYgKHNjc3dfaXNfdG0oc2NzdykpCisJCXJldHVybiBzY3N3X3RtX2lzX3ZhbGlkX2tleShzY3N3KTsKKwllbHNlCisJCXJldHVybiBzY3N3X2NtZF9pc192YWxpZF9rZXkoc2Nzdyk7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfaXNfdmFsaWRfa2V5KTsKKworLyoqCisgKiBzY3N3X2lzX3ZhbGlkX3BubyAtIGNoZWNrIHBubyBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgcG5vIGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgc2NzdyBpcyB2YWxpZCwKKyAqIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciBpdCBpcyBhIHRyYW5zcG9ydCBtb2RlIG9yIGNvbW1hbmQgbW9kZSBzY3N3LgorICogUmV0dXJuIHplcm8gaWYgdGhlIGZpZWxkIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCB2YWx1ZS4KKyAqLworaW50IHNjc3dfaXNfdmFsaWRfcG5vKHVuaW9uIHNjc3cgKnNjc3cpCit7CisJaWYgKHNjc3dfaXNfdG0oc2NzdykpCisJCXJldHVybiBzY3N3X3RtX2lzX3ZhbGlkX3BubyhzY3N3KTsKKwllbHNlCisJCXJldHVybiBzY3N3X2NtZF9pc192YWxpZF9wbm8oc2Nzdyk7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfaXNfdmFsaWRfcG5vKTsKKworLyoqCisgKiBzY3N3X2lzX3ZhbGlkX3N0Y3RsIC0gY2hlY2sgc3RjdGwgZmllbGQgdmFsaWRpdHkKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gbm9uLXplcm8gaWYgdGhlIHN0Y3RsIGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgc2NzdyBpcyB2YWxpZCwKKyAqIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciBpdCBpcyBhIHRyYW5zcG9ydCBtb2RlIG9yIGNvbW1hbmQgbW9kZSBzY3N3LgorICogUmV0dXJuIHplcm8gaWYgdGhlIGZpZWxkIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCB2YWx1ZS4KKyAqLworaW50IHNjc3dfaXNfdmFsaWRfc3RjdGwodW5pb24gc2NzdyAqc2NzdykKK3sKKwlpZiAoc2Nzd19pc190bShzY3N3KSkKKwkJcmV0dXJuIHNjc3dfdG1faXNfdmFsaWRfc3RjdGwoc2Nzdyk7CisJZWxzZQorCQlyZXR1cm4gc2Nzd19jbWRfaXNfdmFsaWRfc3RjdGwoc2Nzdyk7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfaXNfdmFsaWRfc3RjdGwpOworCisvKioKKyAqIHNjc3dfY21kX2lzX3NvbGljaXRlZCAtIGNoZWNrIGZvciBzb2xpY2l0ZWQgc2NzdworICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgY29tbWFuZCBtb2RlIHNjc3cgaW5kaWNhdGVzIHRoYXQgdGhlIGFzc29jaWF0ZWQKKyAqIHN0YXR1cyBjb25kaXRpb24gaXMgc29saWNpdGVkLCB6ZXJvIGlmIGl0IGlzIHVuc29saWNpdGVkLgorICovCitpbnQgc2Nzd19jbWRfaXNfc29saWNpdGVkKHVuaW9uIHNjc3cgKnNjc3cpCit7CisJcmV0dXJuIChzY3N3LT5jbWQuY2MgIT0gMCkgfHwgKHNjc3ctPmNtZC5zdGN0bCAhPQorCQkoU0NTV19TVENUTF9TVEFUVVNfUEVORCB8IFNDU1dfU1RDVExfQUxFUlRfU1RBVFVTKSk7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfY21kX2lzX3NvbGljaXRlZCk7CisKKy8qKgorICogc2Nzd190bV9pc19zb2xpY2l0ZWQgLSBjaGVjayBmb3Igc29saWNpdGVkIHNjc3cKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gbm9uLXplcm8gaWYgdGhlIHRyYW5zcG9ydCBtb2RlIHNjc3cgaW5kaWNhdGVzIHRoYXQgdGhlIGFzc29jaWF0ZWQKKyAqIHN0YXR1cyBjb25kaXRpb24gaXMgc29saWNpdGVkLCB6ZXJvIGlmIGl0IGlzIHVuc29saWNpdGVkLgorICovCitpbnQgc2Nzd190bV9pc19zb2xpY2l0ZWQodW5pb24gc2NzdyAqc2NzdykKK3sKKwlyZXR1cm4gKHNjc3ctPnRtLmNjICE9IDApIHx8IChzY3N3LT50bS5zdGN0bCAhPQorCQkoU0NTV19TVENUTF9TVEFUVVNfUEVORCB8IFNDU1dfU1RDVExfQUxFUlRfU1RBVFVTKSk7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfdG1faXNfc29saWNpdGVkKTsKKworLyoqCisgKiBzY3N3X2lzX3NvbGljaXRlZCAtIGNoZWNrIGZvciBzb2xpY2l0ZWQgc2NzdworICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgdHJhbnNwb3J0IG9yIGNvbW1hbmQgbW9kZSBzY3N3IGluZGljYXRlcyB0aGF0IHRoZQorICogYXNzb2NpYXRlZCBzdGF0dXMgY29uZGl0aW9uIGlzIHNvbGljaXRlZCwgemVybyBpZiBpdCBpcyB1bnNvbGljaXRlZC4KKyAqLworaW50IHNjc3dfaXNfc29saWNpdGVkKHVuaW9uIHNjc3cgKnNjc3cpCit7CisJaWYgKHNjc3dfaXNfdG0oc2NzdykpCisJCXJldHVybiBzY3N3X3RtX2lzX3NvbGljaXRlZChzY3N3KTsKKwllbHNlCisJCXJldHVybiBzY3N3X2NtZF9pc19zb2xpY2l0ZWQoc2Nzdyk7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfaXNfc29saWNpdGVkKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jcnlwdG8vYXBfYnVzLmMgYi9kcml2ZXJzL3MzOTAvY3J5cHRvL2FwX2J1cy5jCmluZGV4IGExYWIzZTMuLjYyYjZiNTUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jcnlwdG8vYXBfYnVzLmMKKysrIGIvZHJpdmVycy9zMzkwL2NyeXB0by9hcF9idXMuYwpAQCAtMzQsMTMgKzM0LDE1IEBACiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KICNpbmNsdWRlIDxhc20vczM5MF9yZGV2Lmg+CiAjaW5jbHVkZSA8YXNtL3Jlc2V0Lmg+CisjaW5jbHVkZSA8bGludXgvaHJ0aW1lci5oPgorI2luY2x1ZGUgPGxpbnV4L2t0aW1lLmg+CiAKICNpbmNsdWRlICJhcF9idXMuaCIKIAogLyogU29tZSBwcm90b3R5cGVzLiAqLwogc3RhdGljIHZvaWQgYXBfc2Nhbl9idXMoc3RydWN0IHdvcmtfc3RydWN0ICopOwogc3RhdGljIHZvaWQgYXBfcG9sbF9hbGwodW5zaWduZWQgbG9uZyk7Ci1zdGF0aWMgdm9pZCBhcF9wb2xsX3RpbWVvdXQodW5zaWduZWQgbG9uZyk7CitzdGF0aWMgZW51bSBocnRpbWVyX3Jlc3RhcnQgYXBfcG9sbF90aW1lb3V0KHN0cnVjdCBocnRpbWVyICopOwogc3RhdGljIGludCBhcF9wb2xsX3RocmVhZF9zdGFydCh2b2lkKTsKIHN0YXRpYyB2b2lkIGFwX3BvbGxfdGhyZWFkX3N0b3Aodm9pZCk7CiBzdGF0aWMgdm9pZCBhcF9yZXF1ZXN0X3RpbWVvdXQodW5zaWduZWQgbG9uZyk7CkBAIC04MCwxMiArODIsMTUgQEAKIC8qCiAgKiBUYXNrbGV0ICYgdGltZXIgZm9yIEFQIHJlcXVlc3QgcG9sbGluZy4KICAqLwotc3RhdGljIHN0cnVjdCB0aW1lcl9saXN0IGFwX3BvbGxfdGltZXIgPSBUSU1FUl9JTklUSUFMSVpFUihhcF9wb2xsX3RpbWVvdXQsMCwwKTsKIHN0YXRpYyBERUNMQVJFX1RBU0tMRVQoYXBfdGFza2xldCwgYXBfcG9sbF9hbGwsIDApOwogc3RhdGljIGF0b21pY190IGFwX3BvbGxfcmVxdWVzdHMgPSBBVE9NSUNfSU5JVCgwKTsKIHN0YXRpYyBERUNMQVJFX1dBSVRfUVVFVUVfSEVBRChhcF9wb2xsX3dhaXQpOwogc3RhdGljIHN0cnVjdCB0YXNrX3N0cnVjdCAqYXBfcG9sbF9rdGhyZWFkID0gTlVMTDsKIHN0YXRpYyBERUZJTkVfTVVURVgoYXBfcG9sbF90aHJlYWRfbXV0ZXgpOworc3RhdGljIHN0cnVjdCBocnRpbWVyIGFwX3BvbGxfdGltZXI7CisvKiBJbiBMUEFSIHBvbGwgd2l0aCA0a0h6IGZyZXF1ZW5jeS4gUG9sbCBldmVyeSAyNTAwMDAgbmFub3NlY29uZHMuCisgKiBJZiB6L1ZNIGNoYW5nZSB0byAxNTAwMDAwIG5hbm9zZWNvbmRzIHRvIGFkanVzdCB0byB6L1ZNIHBvbGxpbmcuKi8KK3N0YXRpYyB1bnNpZ25lZCBsb25nIGxvbmcgcG9sbF90aW1lb3V0ID0gMjUwMDAwOwogCiAvKioKICAqIGFwX2ludHJ1Y3Rpb25zX2F2YWlsYWJsZSgpIC0gVGVzdCBpZiBBUCBpbnN0cnVjdGlvbnMgYXJlIGF2YWlsYWJsZS4KQEAgLTYzNiwxMSArNjQxLDM5IEBACiAKIHN0YXRpYyBCVVNfQVRUUihwb2xsX3RocmVhZCwgMDY0NCwgYXBfcG9sbF90aHJlYWRfc2hvdywgYXBfcG9sbF90aHJlYWRfc3RvcmUpOwogCitzdGF0aWMgc3NpemVfdCBwb2xsX3RpbWVvdXRfc2hvdyhzdHJ1Y3QgYnVzX3R5cGUgKmJ1cywgY2hhciAqYnVmKQoreworCXJldHVybiBzbnByaW50ZihidWYsIFBBR0VfU0laRSwgIiVsbHVcbiIsIHBvbGxfdGltZW91dCk7Cit9CisKK3N0YXRpYyBzc2l6ZV90IHBvbGxfdGltZW91dF9zdG9yZShzdHJ1Y3QgYnVzX3R5cGUgKmJ1cywgY29uc3QgY2hhciAqYnVmLAorCQkJCSAgc2l6ZV90IGNvdW50KQoreworCXVuc2lnbmVkIGxvbmcgbG9uZyB0aW1lOworCWt0aW1lX3QgaHJfdGltZTsKKworCS8qIDEyMCBzZWNvbmRzID0gbWF4aW11bSBwb2xsIGludGVydmFsICovCisJaWYgKHNzY2FuZihidWYsICIlbGx1XG4iLCAmdGltZSkgIT0gMSB8fCB0aW1lIDwgMSB8fCB0aW1lID4gMTIwMDAwMDAwMDAwKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlwb2xsX3RpbWVvdXQgPSB0aW1lOworCWhyX3RpbWUgPSBrdGltZV9zZXQoMCwgcG9sbF90aW1lb3V0KTsKKworCWlmICghaHJ0aW1lcl9pc19xdWV1ZWQoJmFwX3BvbGxfdGltZXIpIHx8CisJICAgICFocnRpbWVyX2ZvcndhcmQoJmFwX3BvbGxfdGltZXIsIGFwX3BvbGxfdGltZXIuZXhwaXJlcywgaHJfdGltZSkpIHsKKwkJYXBfcG9sbF90aW1lci5leHBpcmVzID0gaHJfdGltZTsKKwkJaHJ0aW1lcl9zdGFydCgmYXBfcG9sbF90aW1lciwgaHJfdGltZSwgSFJUSU1FUl9NT0RFX0FCUyk7CisJfQorCXJldHVybiBjb3VudDsKK30KKworc3RhdGljIEJVU19BVFRSKHBvbGxfdGltZW91dCwgMDY0NCwgcG9sbF90aW1lb3V0X3Nob3csIHBvbGxfdGltZW91dF9zdG9yZSk7CisKIHN0YXRpYyBzdHJ1Y3QgYnVzX2F0dHJpYnV0ZSAqY29uc3QgYXBfYnVzX2F0dHJzW10gPSB7CiAJJmJ1c19hdHRyX2FwX2RvbWFpbiwKIAkmYnVzX2F0dHJfY29uZmlnX3RpbWUsCiAJJmJ1c19hdHRyX3BvbGxfdGhyZWFkLAotCU5VTEwKKwkmYnVzX2F0dHJfcG9sbF90aW1lb3V0LAorCU5VTEwsCiB9OwogCiAvKioKQEAgLTg5NSw5ICs5MjgsMTAgQEAKICAqLwogc3RhdGljIGlubGluZSB2b2lkIGFwX3NjaGVkdWxlX3BvbGxfdGltZXIodm9pZCkKIHsKLQlpZiAodGltZXJfcGVuZGluZygmYXBfcG9sbF90aW1lcikpCisJaWYgKGhydGltZXJfaXNfcXVldWVkKCZhcF9wb2xsX3RpbWVyKSkKIAkJcmV0dXJuOwotCW1vZF90aW1lcigmYXBfcG9sbF90aW1lciwgamlmZmllcyArIEFQX1BPTExfVElNRSk7CisJaHJ0aW1lcl9zdGFydCgmYXBfcG9sbF90aW1lciwga3RpbWVfc2V0KDAsIHBvbGxfdGltZW91dCksCisJCSAgICAgIEhSVElNRVJfTU9ERV9BQlMpOwogfQogCiAvKioKQEAgLTExMTUsMTMgKzExNDksMTQgQEAKIAogLyoqCiAgKiBhcF9wb2xsX3RpbWVvdXQoKTogQVAgcmVjZWl2ZSBwb2xsaW5nIGZvciBmaW5pc2hlZCBBUCByZXF1ZXN0cy4KLSAqIEB1bnVzZWQ6IFVudXNlZCB2YXJpYWJsZS4KKyAqIEB1bnVzZWQ6IFVudXNlZCBwb2ludGVyLgogICoKLSAqIFNjaGVkdWxlcyB0aGUgQVAgdGFza2xldC4KKyAqIFNjaGVkdWxlcyB0aGUgQVAgdGFza2xldCB1c2luZyBhIGhpZ2ggcmVzb2x1dGlvbiB0aW1lci4KICAqLwotc3RhdGljIHZvaWQgYXBfcG9sbF90aW1lb3V0KHVuc2lnbmVkIGxvbmcgdW51c2VkKQorc3RhdGljIGVudW0gaHJ0aW1lcl9yZXN0YXJ0IGFwX3BvbGxfdGltZW91dChzdHJ1Y3QgaHJ0aW1lciAqdW51c2VkKQogewogCXRhc2tsZXRfc2NoZWR1bGUoJmFwX3Rhc2tsZXQpOworCXJldHVybiBIUlRJTUVSX05PUkVTVEFSVDsKIH0KIAogLyoqCkBAIC0xMzQ0LDYgKzEzNzksMTQgQEAKIAlhcF9jb25maWdfdGltZXIuZXhwaXJlcyA9IGppZmZpZXMgKyBhcF9jb25maWdfdGltZSAqIEhaOwogCWFkZF90aW1lcigmYXBfY29uZmlnX3RpbWVyKTsKIAorCS8qIFNldHVwIHRoZSBoaWdoIHJlc3VsdGlvbiBwb2xsIHRpbWVyLgorCSAqIElmIHdlIGFyZSBydW5uaW5nIHVuZGVyIHovVk0gYWRqdXN0IHBvbGxpbmcgdG8gei9WTSBwb2xsaW5nIHJhdGUuCisJICovCisJaWYgKE1BQ0hJTkVfSVNfVk0pCisJCXBvbGxfdGltZW91dCA9IDE1MDAwMDA7CisJaHJ0aW1lcl9pbml0KCZhcF9wb2xsX3RpbWVyLCBDTE9DS19NT05PVE9OSUMsIEhSVElNRVJfTU9ERV9BQlMpOworCWFwX3BvbGxfdGltZXIuZnVuY3Rpb24gPSBhcF9wb2xsX3RpbWVvdXQ7CisKIAkvKiBTdGFydCB0aGUgbG93IHByaW9yaXR5IEFQIGJ1cyBwb2xsIHRocmVhZC4gKi8KIAlpZiAoYXBfdGhyZWFkX2ZsYWcpIHsKIAkJcmMgPSBhcF9wb2xsX3RocmVhZF9zdGFydCgpOwpAQCAtMTM1NSw3ICsxMzk4LDcgQEAKIAogb3V0X3dvcms6CiAJZGVsX3RpbWVyX3N5bmMoJmFwX2NvbmZpZ190aW1lcik7Ci0JZGVsX3RpbWVyX3N5bmMoJmFwX3BvbGxfdGltZXIpOworCWhydGltZXJfY2FuY2VsKCZhcF9wb2xsX3RpbWVyKTsKIAlkZXN0cm95X3dvcmtxdWV1ZShhcF93b3JrX3F1ZXVlKTsKIG91dF9yb290OgogCXMzOTBfcm9vdF9kZXZfdW5yZWdpc3RlcihhcF9yb290X2RldmljZSk7CkBAIC0xMzg2LDcgKzE0MjksNyBAQAogCWFwX3Jlc2V0X2RvbWFpbigpOwogCWFwX3BvbGxfdGhyZWFkX3N0b3AoKTsKIAlkZWxfdGltZXJfc3luYygmYXBfY29uZmlnX3RpbWVyKTsKLQlkZWxfdGltZXJfc3luYygmYXBfcG9sbF90aW1lcik7CisJaHJ0aW1lcl9jYW5jZWwoJmFwX3BvbGxfdGltZXIpOwogCWRlc3Ryb3lfd29ya3F1ZXVlKGFwX3dvcmtfcXVldWUpOwogCXRhc2tsZXRfa2lsbCgmYXBfdGFza2xldCk7CiAJczM5MF9yb290X2Rldl91bnJlZ2lzdGVyKGFwX3Jvb3RfZGV2aWNlKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jcnlwdG8vYXBfYnVzLmggYi9kcml2ZXJzL3MzOTAvY3J5cHRvL2FwX2J1cy5oCmluZGV4IGMxZTEyMDAuLjQ0NjM3OGIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jcnlwdG8vYXBfYnVzLmgKKysrIGIvZHJpdmVycy9zMzkwL2NyeXB0by9hcF9idXMuaApAQCAtOTIsNiArOTIsOCBAQAogI2RlZmluZSBBUF9ERVZJQ0VfVFlQRV9QQ0lYQ0MJNQogI2RlZmluZSBBUF9ERVZJQ0VfVFlQRV9DRVgyQQk2CiAjZGVmaW5lIEFQX0RFVklDRV9UWVBFX0NFWDJDCTcKKyNkZWZpbmUgQVBfREVWSUNFX1RZUEVfQ0VYMkEyCTgKKyNkZWZpbmUgQVBfREVWSUNFX1RZUEVfQ0VYMkMyCTkKIAogLyoKICAqIEFQIHJlc2V0IGZsYWcgc3RhdGVzCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY3J5cHRvL3pjcnlwdF9hcGkuYyBiL2RyaXZlcnMvczM5MC9jcnlwdG8vemNyeXB0X2FwaS5jCmluZGV4IDRkMzZlODAuLmNiMjJiOTcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jcnlwdG8vemNyeXB0X2FwaS5jCisrKyBiL2RyaXZlcnMvczM5MC9jcnlwdG8vemNyeXB0X2FwaS5jCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSA8bGludXgvZnMuaD4KICNpbmNsdWRlIDxsaW51eC9wcm9jX2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvY29tcGF0Lmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxhc20vYXRvbWljLmg+CiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KICNpbmNsdWRlIDxsaW51eC9od19yYW5kb20uaD4KQEAgLTMwMCw3ICszMDEsOSBAQAogICovCiBzdGF0aWMgaW50IHpjcnlwdF9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxwKQogeworCWxvY2tfa2VybmVsKCk7CiAJYXRvbWljX2luYygmemNyeXB0X29wZW5fY291bnQpOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gMDsKIH0KIApAQCAtMTA2OCwxMCArMTA3MSw4IEBACiAKICNkZWZpbmUgTEJVRlNJWkUgMTIwMFVMCiAJbGJ1ZiA9IGttYWxsb2MoTEJVRlNJWkUsIEdGUF9LRVJORUwpOwotCWlmICghbGJ1ZikgewotCQlQUklOVEsoImttYWxsb2MgZmFpbGVkIVxuIik7CisJaWYgKCFsYnVmKQogCQlyZXR1cm4gMDsKLQl9CiAKIAlsb2NhbF9jb3VudCA9IG1pbihMQlVGU0laRSAtIDEsIGNvdW50KTsKIAlpZiAoY29weV9mcm9tX3VzZXIobGJ1ZiwgYnVmZmVyLCBsb2NhbF9jb3VudCkgIT0gMCkgewpAQCAtMTA4MSwyMyArMTA4MiwxNSBAQAogCWxidWZbbG9jYWxfY291bnRdID0gJ1wwJzsKIAogCXB0ciA9IHN0cnN0cihsYnVmLCAiT25saW5lIGRldmljZXMiKTsKLQlpZiAoIXB0cikgewotCQlQUklOVEsoIlVuYWJsZSB0byBwYXJzZSBkYXRhIChtaXNzaW5nIFwiT25saW5lIGRldmljZXNcIilcbiIpOworCWlmICghcHRyKQogCQlnb3RvIG91dDsKLQl9CiAJcHRyID0gc3Ryc3RyKHB0ciwgIlxuIik7Ci0JaWYgKCFwdHIpIHsKLQkJUFJJTlRLKCJVbmFibGUgdG8gcGFyc2UgZGF0YSAobWlzc2luZyBuZXdsaW5lICIKLQkJICAgICAgICJhZnRlciBcIk9ubGluZSBkZXZpY2VzXCIpXG4iKTsKKwlpZiAoIXB0cikKIAkJZ290byBvdXQ7Ci0JfQogCXB0cisrOwogCi0JaWYgKHN0cnN0cihwdHIsICJXYWl0aW5nIHdvcmsgZWxlbWVudCBjb3VudHMiKSA9PSBOVUxMKSB7Ci0JCVBSSU5USygiVW5hYmxlIHRvIHBhcnNlIGRhdGEgKG1pc3NpbmcgIgotCQkgICAgICAgIlwiV2FpdGluZyB3b3JrIGVsZW1lbnQgY291bnRzXCIpXG4iKTsKKwlpZiAoc3Ryc3RyKHB0ciwgIldhaXRpbmcgd29yayBlbGVtZW50IGNvdW50cyIpID09IE5VTEwpCiAJCWdvdG8gb3V0OwotCX0KIAogCWZvciAoaiA9IDA7IGogPCA2NCAmJiAqcHRyOyBwdHIrKykgewogCQkvKgpAQCAtMTE5NywxNiArMTE5MCwxMiBAQAogCiAJLyogUmVnaXN0ZXIgdGhlIHJlcXVlc3Qgc3ByYXllci4gKi8KIAlyYyA9IG1pc2NfcmVnaXN0ZXIoJnpjcnlwdF9taXNjX2RldmljZSk7Ci0JaWYgKHJjIDwgMCkgewotCQlQUklOVEtXKEtFUk5fRVJSICJtaXNjX3JlZ2lzdGVyIChtaW5vciAlZCkgZmFpbGVkIHdpdGggJWRcbiIsCi0JCQl6Y3J5cHRfbWlzY19kZXZpY2UubWlub3IsIHJjKTsKKwlpZiAocmMgPCAwKQogCQlnb3RvIG91dDsKLQl9CiAKIAkvKiBTZXQgdXAgdGhlIHByb2MgZmlsZSBzeXN0ZW0gKi8KIAl6Y3J5cHRfZW50cnkgPSBjcmVhdGVfcHJvY19lbnRyeSgiZHJpdmVyL3o5MGNyeXB0IiwgMDY0NCwgTlVMTCk7CiAJaWYgKCF6Y3J5cHRfZW50cnkpIHsKLQkJUFJJTlRLKCJDb3VsZG4ndCBjcmVhdGUgejkwY3J5cHQgcHJvYyBlbnRyeVxuIik7CiAJCXJjID0gLUVOT01FTTsKIAkJZ290byBvdXRfbWlzYzsKIAl9CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY3J5cHRvL3pjcnlwdF9hcGkuaCBiL2RyaXZlcnMvczM5MC9jcnlwdG8vemNyeXB0X2FwaS5oCmluZGV4IDVjNmUyMjIuLjFkMWVjNzQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jcnlwdG8vemNyeXB0X2FwaS5oCisrKyBiL2RyaXZlcnMvczM5MC9jcnlwdG8vemNyeXB0X2FwaS5oCkBAIC0zMCwzNCArMzAsNiBAQAogI2lmbmRlZiBfWkNSWVBUX0FQSV9IXwogI2RlZmluZSBfWkNSWVBUX0FQSV9IXwogCi0vKioKLSAqIE1hY3JvIGRlZmluaXRpb25zCi0gKgotICogUERFQlVHIGRlYnVncyBpbiB0aGUgZm9ybSAiemNyeXB0OiBmdW5jdGlvbl9uYW1lIC0+IG1lc3NhZ2UiCi0gKgotICogUFJJTlRLIGlzIGxpa2UgUERFQlVHLCBleGNlcHQgdGhhdCBpdCBpcyBhbHdheXMgZW5hYmxlZAotICogUFJJTlRLTiBpcyBsaWtlIFBSSU5USywgZXhjZXB0IHRoYXQgaXQgZG9lcyBub3QgaW5jbHVkZSB0aGUgZnVuY3Rpb24gbmFtZQotICogUFJJTlRLVyBpcyBsaWtlIFBSSU5USywgZXhjZXB0IHRoYXQgaXQgdXNlcyBLRVJOX1dBUk5JTkcKLSAqIFBSSU5US0MgaXMgbGlrZSBQUklOVEssIGV4Y2VwdCB0aGF0IGl0IHVzZXMgS0VSTl9DUklUCi0gKi8KLSNkZWZpbmUgREVWX05BTUUJInpjcnlwdCIKLQotI2RlZmluZSBQUklOVEsoZm10LCBhcmdzLi4uKSBcCi0JcHJpbnRrKEtFUk5fREVCVUcgREVWX05BTUUgIjogJXMgLT4gIiBmbXQsIF9fZnVuY19fICwgIyMgYXJncykKLSNkZWZpbmUgUFJJTlRLTihmbXQsIGFyZ3MuLi4pIFwKLQlwcmludGsoS0VSTl9ERUJVRyBERVZfTkFNRSAiOiAiIGZtdCwgIyMgYXJncykKLSNkZWZpbmUgUFJJTlRLVyhmbXQsIGFyZ3MuLi4pIFwKLQlwcmludGsoS0VSTl9XQVJOSU5HIERFVl9OQU1FICI6ICVzIC0+ICIgZm10LCBfX2Z1bmNfXyAsICMjIGFyZ3MpCi0jZGVmaW5lIFBSSU5US0MoZm10LCBhcmdzLi4uKSBcCi0JcHJpbnRrKEtFUk5fQ1JJVCBERVZfTkFNRSAiOiAlcyAtPiAiIGZtdCwgX19mdW5jX18gLCAjIyBhcmdzKQotCi0jaWZkZWYgWkNSWVBUX0RFQlVHCi0jZGVmaW5lIFBERUJVRyhmbXQsIGFyZ3MuLi4pIFwKLQlwcmludGsoS0VSTl9ERUJVRyBERVZfTkFNRSAiOiAlcyAtPiAiIGZtdCwgX19mdW5jX18gLCAjIyBhcmdzKQotI2Vsc2UKLSNkZWZpbmUgUERFQlVHKGZtdCwgYXJncy4uLikgZG8ge30gd2hpbGUgKDApCi0jZW5kaWYKLQogI2luY2x1ZGUgImFwX2J1cy5oIgogI2luY2x1ZGUgPGFzbS96Y3J5cHQuaD4KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2NyeXB0by96Y3J5cHRfY2V4MmEuYyBiL2RyaXZlcnMvczM5MC9jcnlwdG8vemNyeXB0X2NleDJhLmMKaW5kZXggMDg2NTdmNi4uNTRmNGNiYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2NyeXB0by96Y3J5cHRfY2V4MmEuYworKysgYi9kcml2ZXJzL3MzOTAvY3J5cHRvL3pjcnlwdF9jZXgyYS5jCkBAIC00OSw2ICs0OSw3IEBACiAKIHN0YXRpYyBzdHJ1Y3QgYXBfZGV2aWNlX2lkIHpjcnlwdF9jZXgyYV9pZHNbXSA9IHsKIAl7IEFQX0RFVklDRShBUF9ERVZJQ0VfVFlQRV9DRVgyQSkgfSwKKwl7IEFQX0RFVklDRShBUF9ERVZJQ0VfVFlQRV9DRVgyQTIpIH0sCiAJeyAvKiBlbmQgb2YgbGlzdCAqLyB9LAogfTsKIApAQCAtMjQyLDkgKzI0Myw2IEBACiAJCXJldHVybiBjb252ZXJ0X3R5cGU4MCh6ZGV2LCByZXBseSwKIAkJCQkgICAgICBvdXRwdXRkYXRhLCBvdXRwdXRkYXRhbGVuZ3RoKTsKIAlkZWZhdWx0OiAvKiBVbmtub3duIHJlc3BvbnNlIHR5cGUsIHRoaXMgc2hvdWxkIE5FVkVSIEVWRVIgaGFwcGVuICovCi0JCVBSSU5USygiVW5yZWNvZ25pemVkIE1lc3NhZ2UgSGVhZGVyOiAlMDh4JTA4eFxuIiwKLQkJICAgICAgICoodW5zaWduZWQgaW50ICopIHJlcGx5LT5tZXNzYWdlLAotCQkgICAgICAgKih1bnNpZ25lZCBpbnQgKikgKHJlcGx5LT5tZXNzYWdlKzQpKTsKIAkJemRldi0+b25saW5lID0gMDsKIAkJcmV0dXJuIC1FQUdBSU47CS8qIHJlcGVhdCB0aGUgcmVxdWVzdCBvbiBhIGRpZmZlcmVudCBkZXZpY2UuICovCiAJfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2NyeXB0by96Y3J5cHRfZXJyb3IuaCBiL2RyaXZlcnMvczM5MC9jcnlwdG8vemNyeXB0X2Vycm9yLmgKaW5kZXggM2UyN2ZlNy4uMDNiYTI3ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2NyeXB0by96Y3J5cHRfZXJyb3IuaAorKysgYi9kcml2ZXJzL3MzOTAvY3J5cHRvL3pjcnlwdF9lcnJvci5oCkBAIC05MiwxMCArOTIsNiBAQAogewogCXN0cnVjdCBlcnJvcl9oZHIgKmVoZHIgPSByZXBseS0+bWVzc2FnZTsKIAotCVBSSU5USygiSGFyZHdhcmUgZXJyb3IgOiBUeXBlICUwMnggTWVzc2FnZSBIZWFkZXI6ICUwOHglMDh4XG4iLAotCSAgICAgICBlaGRyLT50eXBlLCAqKHVuc2lnbmVkIGludCAqKSByZXBseS0+bWVzc2FnZSwKLQkgICAgICAgKih1bnNpZ25lZCBpbnQgKikgKHJlcGx5LT5tZXNzYWdlICsgNCkpOwotCiAJc3dpdGNoIChlaGRyLT5yZXBseV9jb2RlKSB7CiAJY2FzZSBSRVA4Ml9FUlJPUl9PUEVSQU5EX0lOVkFMSUQ6CiAJY2FzZSBSRVA4Ml9FUlJPUl9PUEVSQU5EX1NJWkU6CkBAIC0xMjMsOCArMTE5LDYgQEAKIAkJemRldi0+b25saW5lID0gMDsKIAkJcmV0dXJuIC1FQUdBSU47CiAJZGVmYXVsdDoKLQkJUFJJTlRLVygidW5rbm93biB0eXBlICUwMnggcmVwbHkgY29kZSA9ICVkXG4iLAotCQkJZWhkci0+dHlwZSwgZWhkci0+cmVwbHlfY29kZSk7CiAJCXpkZXYtPm9ubGluZSA9IDA7CiAJCXJldHVybiAtRUFHQUlOOwkvKiByZXBlYXQgdGhlIHJlcXVlc3Qgb24gYSBkaWZmZXJlbnQgZGV2aWNlLiAqLwogCX0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jcnlwdG8vemNyeXB0X3BjaWNhLmMgYi9kcml2ZXJzL3MzOTAvY3J5cHRvL3pjcnlwdF9wY2ljYS5jCmluZGV4IDZlOTNiNDcuLjEyZGE0ODEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jcnlwdG8vemNyeXB0X3BjaWNhLmMKKysrIGIvZHJpdmVycy9zMzkwL2NyeXB0by96Y3J5cHRfcGNpY2EuYwpAQCAtMjI2LDkgKzIyNiw2IEBACiAJCXJldHVybiBjb252ZXJ0X3R5cGU4NCh6ZGV2LCByZXBseSwKIAkJCQkgICAgICBvdXRwdXRkYXRhLCBvdXRwdXRkYXRhbGVuZ3RoKTsKIAlkZWZhdWx0OiAvKiBVbmtub3duIHJlc3BvbnNlIHR5cGUsIHRoaXMgc2hvdWxkIE5FVkVSIEVWRVIgaGFwcGVuICovCi0JCVBSSU5USygiVW5yZWNvZ25pemVkIE1lc3NhZ2UgSGVhZGVyOiAlMDh4JTA4eFxuIiwKLQkJICAgICAgICoodW5zaWduZWQgaW50ICopIHJlcGx5LT5tZXNzYWdlLAotCQkgICAgICAgKih1bnNpZ25lZCBpbnQgKikgKHJlcGx5LT5tZXNzYWdlKzQpKTsKIAkJemRldi0+b25saW5lID0gMDsKIAkJcmV0dXJuIC1FQUdBSU47CS8qIHJlcGVhdCB0aGUgcmVxdWVzdCBvbiBhIGRpZmZlcmVudCBkZXZpY2UuICovCiAJfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2NyeXB0by96Y3J5cHRfcGNpY2MuYyBiL2RyaXZlcnMvczM5MC9jcnlwdG8vemNyeXB0X3BjaWNjLmMKaW5kZXggMTdlYTU2Yy4uNzc5OTUyYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2NyeXB0by96Y3J5cHRfcGNpY2MuYworKysgYi9kcml2ZXJzL3MzOTAvY3J5cHRvL3pjcnlwdF9wY2ljYy5jCkBAIC0zNjEsMjYgKzM2MSwxOCBAQAogCXNlcnZpY2VfcmMgPSBsZTE2X3RvX2NwdShtc2ctPmNwcmIuY2NwX3J0Y29kZSk7CiAJaWYgKHVubGlrZWx5KHNlcnZpY2VfcmMgIT0gMCkpIHsKIAkJc2VydmljZV9ycyA9IGxlMTZfdG9fY3B1KG1zZy0+Y3ByYi5jY3BfcnNjb2RlKTsKLQkJaWYgKHNlcnZpY2VfcmMgPT0gOCAmJiBzZXJ2aWNlX3JzID09IDY2KSB7Ci0JCQlQREVCVUcoIkJhZCBibG9jayBmb3JtYXQgb24gUENJQ0NcbiIpOworCQlpZiAoc2VydmljZV9yYyA9PSA4ICYmIHNlcnZpY2VfcnMgPT0gNjYpCiAJCQlyZXR1cm4gLUVJTlZBTDsKLQkJfQotCQlpZiAoc2VydmljZV9yYyA9PSA4ICYmIHNlcnZpY2VfcnMgPT0gNjUpIHsKLQkJCVBERUJVRygiUHJvYmFibHkgYW4gZXZlbiBtb2R1bHVzIG9uIFBDSUNDXG4iKTsKKwkJaWYgKHNlcnZpY2VfcmMgPT0gOCAmJiBzZXJ2aWNlX3JzID09IDY1KQogCQkJcmV0dXJuIC1FSU5WQUw7Ci0JCX0KIAkJaWYgKHNlcnZpY2VfcmMgPT0gOCAmJiBzZXJ2aWNlX3JzID09IDc3MCkgewotCQkJUERFQlVHKCJJbnZhbGlkIGtleSBsZW5ndGggb24gUENJQ0NcbiIpOwogCQkJemRldi0+bWF4X21vZF9zaXplID0gUENJQ0NfTUFYX01PRF9TSVpFX09MRDsKIAkJCXJldHVybiAtRUFHQUlOOwogCQl9CiAJCWlmIChzZXJ2aWNlX3JjID09IDggJiYgc2VydmljZV9ycyA9PSA3ODMpIHsKLQkJCVBERUJVRygiRXh0ZW5kZWQgYml0bGVuZ3RocyBub3QgZW5hYmxlZCBvbiBQQ0lDQ1xuIik7CiAJCQl6ZGV2LT5tYXhfbW9kX3NpemUgPSBQQ0lDQ19NQVhfTU9EX1NJWkVfT0xEOwogCQkJcmV0dXJuIC1FQUdBSU47CiAJCX0KLQkJUFJJTlRLKCJVbmtub3duIHNlcnZpY2UgcmMvcnMgKFBDSUNDKTogJWQvJWRcbiIsCi0JCSAgICAgICBzZXJ2aWNlX3JjLCBzZXJ2aWNlX3JzKTsKIAkJemRldi0+b25saW5lID0gMDsKIAkJcmV0dXJuIC1FQUdBSU47CS8qIHJlcGVhdCB0aGUgcmVxdWVzdCBvbiBhIGRpZmZlcmVudCBkZXZpY2UuICovCiAJfQpAQCAtNDM0LDkgKzQyNiw2IEBACiAJCQkJCSAgICAgIG91dHB1dGRhdGEsIG91dHB1dGRhdGFsZW5ndGgpOwogCQkvKiBubyBicmVhaywgaW5jb3JyZWN0IGNwcmIgdmVyc2lvbiBpcyBhbiB1bmtub3duIHJlc3BvbnNlICovCiAJZGVmYXVsdDogLyogVW5rbm93biByZXNwb25zZSB0eXBlLCB0aGlzIHNob3VsZCBORVZFUiBFVkVSIGhhcHBlbiAqLwotCQlQUklOVEsoIlVucmVjb2duaXplZCBNZXNzYWdlIEhlYWRlcjogJTA4eCUwOHhcbiIsCi0JCSAgICAgICAqKHVuc2lnbmVkIGludCAqKSByZXBseS0+bWVzc2FnZSwKLQkJICAgICAgICoodW5zaWduZWQgaW50ICopIChyZXBseS0+bWVzc2FnZSs0KSk7CiAJCXpkZXYtPm9ubGluZSA9IDA7CiAJCXJldHVybiAtRUFHQUlOOwkvKiByZXBlYXQgdGhlIHJlcXVlc3Qgb24gYSBkaWZmZXJlbnQgZGV2aWNlLiAqLwogCX0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jcnlwdG8vemNyeXB0X3BjaXhjYy5jIGIvZHJpdmVycy9zMzkwL2NyeXB0by96Y3J5cHRfcGNpeGNjLmMKaW5kZXggMGJjOWIzMS4uZDhhZDM2ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2NyeXB0by96Y3J5cHRfcGNpeGNjLmMKKysrIGIvZHJpdmVycy9zMzkwL2NyeXB0by96Y3J5cHRfcGNpeGNjLmMKQEAgLTcyLDYgKzcyLDcgQEAKIHN0YXRpYyBzdHJ1Y3QgYXBfZGV2aWNlX2lkIHpjcnlwdF9wY2l4Y2NfaWRzW10gPSB7CiAJeyBBUF9ERVZJQ0UoQVBfREVWSUNFX1RZUEVfUENJWENDKSB9LAogCXsgQVBfREVWSUNFKEFQX0RFVklDRV9UWVBFX0NFWDJDKSB9LAorCXsgQVBfREVWSUNFKEFQX0RFVklDRV9UWVBFX0NFWDJDMikgfSwKIAl7IC8qIGVuZCBvZiBsaXN0ICovIH0sCiB9OwogCkBAIC0yODksMzggKzI5MCwxOSBAQAogCWFwX21zZy0+bGVuZ3RoID0gc2l6ZW9mKHN0cnVjdCB0eXBlNl9oZHIpICsKIAkJQ0VJTDQoeGNSQi0+cmVxdWVzdF9jb250cm9sX2Jsa19sZW5ndGgpICsKIAkJeGNSQi0+cmVxdWVzdF9kYXRhX2xlbmd0aDsKLQlpZiAoYXBfbXNnLT5sZW5ndGggPiBQQ0lYQ0NfTUFYX1hDUkJfTUVTU0FHRV9TSVpFKSB7Ci0JCVBSSU5USygiQ29tYmluZWQgbWVzc2FnZSBpcyB0b28gbGFyZ2UgKCVsZC8lZC8lZCkuXG4iLAotCQkgICAgc2l6ZW9mKHN0cnVjdCB0eXBlNl9oZHIpLAotCQkgICAgeGNSQi0+cmVxdWVzdF9jb250cm9sX2Jsa19sZW5ndGgsCi0JCSAgICB4Y1JCLT5yZXF1ZXN0X2RhdGFfbGVuZ3RoKTsKKwlpZiAoYXBfbXNnLT5sZW5ndGggPiBQQ0lYQ0NfTUFYX1hDUkJfTUVTU0FHRV9TSVpFKQogCQlyZXR1cm4gLUVGQVVMVDsKLQl9Ci0JaWYgKENFSUw0KHhjUkItPnJlcGx5X2NvbnRyb2xfYmxrX2xlbmd0aCkgPgotCSAgICBQQ0lYQ0NfTUFYX1hDUkJfUkVQTFlfU0laRSkgewotCQlQREVCVUcoIlJlcGx5IENQUkIgbGVuZ3RoIGlzIHRvbyBsYXJnZSAoJWQpLlxuIiwKLQkJICAgIHhjUkItPnJlcXVlc3RfY29udHJvbF9ibGtfbGVuZ3RoKTsKKwlpZiAoQ0VJTDQoeGNSQi0+cmVwbHlfY29udHJvbF9ibGtfbGVuZ3RoKSA+IFBDSVhDQ19NQVhfWENSQl9SRVBMWV9TSVpFKQogCQlyZXR1cm4gLUVGQVVMVDsKLQl9Ci0JaWYgKENFSUw0KHhjUkItPnJlcGx5X2RhdGFfbGVuZ3RoKSA+IFBDSVhDQ19NQVhfWENSQl9EQVRBX1NJWkUpIHsKLQkJUERFQlVHKCJSZXBseSBkYXRhIGJsb2NrIGxlbmd0aCBpcyB0b28gbGFyZ2UgKCVkKS5cbiIsCi0JCSAgICB4Y1JCLT5yZXBseV9kYXRhX2xlbmd0aCk7CisJaWYgKENFSUw0KHhjUkItPnJlcGx5X2RhdGFfbGVuZ3RoKSA+IFBDSVhDQ19NQVhfWENSQl9EQVRBX1NJWkUpCiAJCXJldHVybiAtRUZBVUxUOwotCX0KIAlyZXBseWxlbiA9IENFSUw0KHhjUkItPnJlcGx5X2NvbnRyb2xfYmxrX2xlbmd0aCkgKwogCQlDRUlMNCh4Y1JCLT5yZXBseV9kYXRhX2xlbmd0aCkgKwogCQlzaXplb2Yoc3RydWN0IHR5cGU4Nl9mbXQyX21zZyk7CiAJaWYgKHJlcGx5bGVuID4gUENJWENDX01BWF9YQ1JCX1JFU1BPTlNFX1NJWkUpIHsKLQkJUERFQlVHKCJSZXBseSBDUFJCICsgZGF0YSBibG9jayA+IFBDSVhDQ19NQVhfWENSQl9SRVNQT05TRV9TSVpFIgotCQkgICAgICAgIiAoJWQvJWQvJWQpLlxuIiwKLQkJICAgICAgIHNpemVvZihzdHJ1Y3QgdHlwZTg2X2ZtdDJfbXNnKSwKLQkJICAgICAgIHhjUkItPnJlcGx5X2NvbnRyb2xfYmxrX2xlbmd0aCwKLQkJICAgICAgIHhjUkItPnJlcGx5X2RhdGFfbGVuZ3RoKTsKIAkJeGNSQi0+cmVwbHlfY29udHJvbF9ibGtfbGVuZ3RoID0gUENJWENDX01BWF9YQ1JCX1JFU1BPTlNFX1NJWkUgLQogCQkJKHNpemVvZihzdHJ1Y3QgdHlwZTg2X2ZtdDJfbXNnKSArCiAJCQkgICAgQ0VJTDQoeGNSQi0+cmVwbHlfZGF0YV9sZW5ndGgpKTsKLQkJUERFQlVHKCJDYXBwaW5nIFJlcGx5IENQUkIgbGVuZ3RoIGF0ICVkXG4iLAotCQkgICAgICAgeGNSQi0+cmVwbHlfY29udHJvbF9ibGtfbGVuZ3RoKTsKIAl9CiAKIAkvKiBwcmVwYXJlIHR5cGU2IGhlYWRlciAqLwpAQCAtMzM5LDExICszMjEsOCBAQAogCQkgICAgeGNSQi0+cmVxdWVzdF9jb250cm9sX2Jsa19sZW5ndGgpKQogCQlyZXR1cm4gLUVGQVVMVDsKIAlpZiAobXNnLT5jcHJieC5jcHJiX2xlbiArIHNpemVvZihtc2ctPmhkci5mdW5jdGlvbl9jb2RlKSA+Ci0JICAgIHhjUkItPnJlcXVlc3RfY29udHJvbF9ibGtfbGVuZ3RoKSB7Ci0JCVBERUJVRygiY3ByYl9sZW4gdG9vIGxhcmdlICglZC8lZClcbiIsIG1zZy0+Y3ByYnguY3ByYl9sZW4sCi0JCSAgICB4Y1JCLT5yZXF1ZXN0X2NvbnRyb2xfYmxrX2xlbmd0aCk7CisJICAgIHhjUkItPnJlcXVlc3RfY29udHJvbF9ibGtfbGVuZ3RoKQogCQlyZXR1cm4gLUVGQVVMVDsKLQl9CiAJZnVuY3Rpb25fY29kZSA9ICgodW5zaWduZWQgY2hhciAqKSZtc2ctPmNwcmJ4KSArIG1zZy0+Y3ByYnguY3ByYl9sZW47CiAJbWVtY3B5KG1zZy0+aGRyLmZ1bmN0aW9uX2NvZGUsIGZ1bmN0aW9uX2NvZGUsIHNpemVvZihtc2ctPmhkci5mdW5jdGlvbl9jb2RlKSk7CiAKQEAgLTQ3MSwyOSArNDUwLDE4IEBACiAJc2VydmljZV9yYyA9IG1zZy0+Y3ByYnguY2NwX3J0Y29kZTsKIAlpZiAodW5saWtlbHkoc2VydmljZV9yYyAhPSAwKSkgewogCQlzZXJ2aWNlX3JzID0gbXNnLT5jcHJieC5jY3BfcnNjb2RlOwotCQlpZiAoc2VydmljZV9yYyA9PSA4ICYmIHNlcnZpY2VfcnMgPT0gNjYpIHsKLQkJCVBERUJVRygiQmFkIGJsb2NrIGZvcm1hdCBvbiBQQ0lYQ0MvQ0VYMkNcbiIpOworCQlpZiAoc2VydmljZV9yYyA9PSA4ICYmIHNlcnZpY2VfcnMgPT0gNjYpCiAJCQlyZXR1cm4gLUVJTlZBTDsKLQkJfQotCQlpZiAoc2VydmljZV9yYyA9PSA4ICYmIHNlcnZpY2VfcnMgPT0gNjUpIHsKLQkJCVBERUJVRygiUHJvYmFibHkgYW4gZXZlbiBtb2R1bHVzIG9uIFBDSVhDQy9DRVgyQ1xuIik7CisJCWlmIChzZXJ2aWNlX3JjID09IDggJiYgc2VydmljZV9ycyA9PSA2NSkKIAkJCXJldHVybiAtRUlOVkFMOwotCQl9Ci0JCWlmIChzZXJ2aWNlX3JjID09IDggJiYgc2VydmljZV9ycyA9PSA3NzApIHsKLQkJCVBERUJVRygiSW52YWxpZCBrZXkgbGVuZ3RoIG9uIFBDSVhDQy9DRVgyQ1xuIik7CisJCWlmIChzZXJ2aWNlX3JjID09IDggJiYgc2VydmljZV9ycyA9PSA3NzApCiAJCQlyZXR1cm4gLUVJTlZBTDsKLQkJfQogCQlpZiAoc2VydmljZV9yYyA9PSA4ICYmIHNlcnZpY2VfcnMgPT0gNzgzKSB7Ci0JCQlQREVCVUcoIkV4dGVuZGVkIGJpdGxlbmd0aHMgbm90IGVuYWJsZWQgb24gUENJWENDL0NFWDJDXG4iKTsKIAkJCXpkZXYtPm1pbl9tb2Rfc2l6ZSA9IFBDSVhDQ19NSU5fTU9EX1NJWkVfT0xEOwogCQkJcmV0dXJuIC1FQUdBSU47CiAJCX0KLQkJaWYgKHNlcnZpY2VfcmMgPT0gMTIgJiYgc2VydmljZV9ycyA9PSA3NjkpIHsKLQkJCVBERUJVRygiSW52YWxpZCBrZXkgb24gUENJWENDL0NFWDJDXG4iKTsKKwkJaWYgKHNlcnZpY2VfcmMgPT0gMTIgJiYgc2VydmljZV9ycyA9PSA3NjkpCiAJCQlyZXR1cm4gLUVJTlZBTDsKLQkJfQotCQlQUklOVEsoIlVua25vd24gc2VydmljZSByYy9ycyAoUENJWENDL0NFWDJDKTogJWQvJWRcbiIsCi0JCSAgICAgICBzZXJ2aWNlX3JjLCBzZXJ2aWNlX3JzKTsKIAkJemRldi0+b25saW5lID0gMDsKIAkJcmV0dXJuIC1FQUdBSU47CS8qIHJlcGVhdCB0aGUgcmVxdWVzdCBvbiBhIGRpZmZlcmVudCBkZXZpY2UuICovCiAJfQpAQCAtNTY5LDExICs1MzcsOCBAQAogCX0gX19hdHRyaWJ1dGVfXygocGFja2VkKSkgKm1zZyA9IHJlcGx5LT5tZXNzYWdlOwogCWNoYXIgKmRhdGEgPSByZXBseS0+bWVzc2FnZTsKIAotCWlmIChtc2ctPmNwcmJ4LmNjcF9ydGNvZGUgIT0gMCB8fCBtc2ctPmNwcmJ4LmNjcF9yc2NvZGUgIT0gMCkgewotCQlQREVCVUcoIlJORyByZXNwb25zZSBlcnJvciBvbiBQQ0lYQ0MvQ0VYMkMgcmM9JWh1L3JzPSVodVxuIiwKLQkJICAgICAgIHJjLCBycyk7CisJaWYgKG1zZy0+Y3ByYnguY2NwX3J0Y29kZSAhPSAwIHx8IG1zZy0+Y3ByYnguY2NwX3JzY29kZSAhPSAwKQogCQlyZXR1cm4gLUVJTlZBTDsKLQl9CiAJbWVtY3B5KGJ1ZmZlciwgZGF0YSArIG1zZy0+Zm10Mi5vZmZzZXQyLCBtc2ctPmZtdDIuY291bnQyKTsKIAlyZXR1cm4gbXNnLT5mbXQyLmNvdW50MjsKIH0KQEAgLTU5OCw5ICs1NjMsNiBAQAogCQkJCQkJICBvdXRwdXRkYXRhLCBvdXRwdXRkYXRhbGVuZ3RoKTsKIAkJLyogbm8gYnJlYWssIGluY29ycmVjdCBjcHJiIHZlcnNpb24gaXMgYW4gdW5rbm93biByZXNwb25zZSAqLwogCWRlZmF1bHQ6IC8qIFVua25vd24gcmVzcG9uc2UgdHlwZSwgdGhpcyBzaG91bGQgTkVWRVIgRVZFUiBoYXBwZW4gKi8KLQkJUFJJTlRLKCJVbnJlY29nbml6ZWQgTWVzc2FnZSBIZWFkZXI6ICUwOHglMDh4XG4iLAotCQkgICAgICAgKih1bnNpZ25lZCBpbnQgKikgcmVwbHktPm1lc3NhZ2UsCi0JCSAgICAgICAqKHVuc2lnbmVkIGludCAqKSAocmVwbHktPm1lc3NhZ2UrNCkpOwogCQl6ZGV2LT5vbmxpbmUgPSAwOwogCQlyZXR1cm4gLUVBR0FJTjsJLyogcmVwZWF0IHRoZSByZXF1ZXN0IG9uIGEgZGlmZmVyZW50IGRldmljZS4gKi8KIAl9CkBAIC02MjcsOSArNTg5LDYgQEAKIAkJCXJldHVybiBjb252ZXJ0X3R5cGU4Nl94Y3JiKHpkZXYsIHJlcGx5LCB4Y1JCKTsKIAkJLyogbm8gYnJlYWssIGluY29ycmVjdCBjcHJiIHZlcnNpb24gaXMgYW4gdW5rbm93biByZXNwb25zZSAqLwogCWRlZmF1bHQ6IC8qIFVua25vd24gcmVzcG9uc2UgdHlwZSwgdGhpcyBzaG91bGQgTkVWRVIgRVZFUiBoYXBwZW4gKi8KLQkJUFJJTlRLKCJVbnJlY29nbml6ZWQgTWVzc2FnZSBIZWFkZXI6ICUwOHglMDh4XG4iLAotCQkgICAgICAgKih1bnNpZ25lZCBpbnQgKikgcmVwbHktPm1lc3NhZ2UsCi0JCSAgICAgICAqKHVuc2lnbmVkIGludCAqKSAocmVwbHktPm1lc3NhZ2UrNCkpOwogCQl4Y1JCLT5zdGF0dXMgPSAweDAwMDgwNDRETDsgLyogSEREX0ludmFsaWRQYXJtICovCiAJCXpkZXYtPm9ubGluZSA9IDA7CiAJCXJldHVybiAtRUFHQUlOOwkvKiByZXBlYXQgdGhlIHJlcXVlc3Qgb24gYSBkaWZmZXJlbnQgZGV2aWNlLiAqLwpAQCAtNjUzLDkgKzYxMiw2IEBACiAJCQlyZXR1cm4gY29udmVydF90eXBlODZfcm5nKHpkZXYsIHJlcGx5LCBkYXRhKTsKIAkJLyogbm8gYnJlYWssIGluY29ycmVjdCBjcHJiIHZlcnNpb24gaXMgYW4gdW5rbm93biByZXNwb25zZSAqLwogCWRlZmF1bHQ6IC8qIFVua25vd24gcmVzcG9uc2UgdHlwZSwgdGhpcyBzaG91bGQgTkVWRVIgRVZFUiBoYXBwZW4gKi8KLQkJUFJJTlRLKCJVbnJlY29nbml6ZWQgTWVzc2FnZSBIZWFkZXI6ICUwOHglMDh4XG4iLAotCQkgICAgICAgKih1bnNpZ25lZCBpbnQgKikgcmVwbHktPm1lc3NhZ2UsCi0JCSAgICAgICAqKHVuc2lnbmVkIGludCAqKSAocmVwbHktPm1lc3NhZ2UrNCkpOwogCQl6ZGV2LT5vbmxpbmUgPSAwOwogCQlyZXR1cm4gLUVBR0FJTjsJLyogcmVwZWF0IHRoZSByZXF1ZXN0IG9uIGEgZGlmZmVyZW50IGRldmljZS4gKi8KIAl9CkBAIC03MDAsMTAgKzY1Niw3IEBACiAJCQltZW1jcHkobXNnLT5tZXNzYWdlLCByZXBseS0+bWVzc2FnZSwgbGVuZ3RoKTsKIAkJCWJyZWFrOwogCQlkZWZhdWx0OgotCQkJUFJJTlRLKCJJbnZhbGlkIGludGVybmFsIHJlc3BvbnNlIHR5cGU6ICVpXG4iLAotCQkJICAgIHJlc3BfdHlwZS0+dHlwZSk7Ci0JCQltZW1jcHkobXNnLT5tZXNzYWdlLCAmZXJyb3JfcmVwbHksCi0JCQkgICAgc2l6ZW9mIGVycm9yX3JlcGx5KTsKKwkJCW1lbWNweShtc2ctPm1lc3NhZ2UsICZlcnJvcl9yZXBseSwgc2l6ZW9mIGVycm9yX3JlcGx5KTsKIAkJfQogCX0gZWxzZQogCQltZW1jcHkobXNnLT5tZXNzYWdlLCByZXBseS0+bWVzc2FnZSwgc2l6ZW9mIGVycm9yX3JlcGx5KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9uZXQvY2xhdy5jIGIvZHJpdmVycy9zMzkwL25ldC9jbGF3LmMKaW5kZXggMDRhMWQ3Yi4uYzY0NDY2OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL25ldC9jbGF3LmMKKysrIGIvZHJpdmVycy9zMzkwL25ldC9jbGF3LmMKQEAgLTcwMyw3ICs3MDMsOCBAQAogCWlmICghY2Rldi0+ZGV2LmRyaXZlcl9kYXRhKSB7CiAgICAgICAgICAgICAgICAgcHJpbnRrKEtFUk5fV0FSTklORyAiY2xhdzogdW5zb2xpY2l0ZWQgaW50ZXJydXB0IGZvciBkZXZpY2U6IgogCQkgCSIlcyByZWNlaXZlZCBjLSUwMnggZC0lMDJ4XG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgY2Rldi0+ZGV2LmJ1c19pZCxpcmItPnNjc3cuY3N0YXQsIGlyYi0+c2Nzdy5kc3RhdCk7CisJCSAgICAgICBjZGV2LT5kZXYuYnVzX2lkLCBpcmItPnNjc3cuY21kLmNzdGF0LAorCQkgICAgICAgaXJiLT5zY3N3LmNtZC5kc3RhdCk7CiAjaWZkZWYgRlVOQ1RSQUNFCiAgICAgICAgICAgICAgICAgcHJpbnRrKEtFUk5fSU5GTyAiY2xhdzogJXMoKSAiCiAJCQkiZXhpdCBvbiBsaW5lICVkXG4iLF9fZnVuY19fLF9fTElORV9fKTsKQEAgLTczMiwyMiArNzMzLDIzIEBACiAjaWZkZWYgSU9UUkFDRQogICAgICAgICBwcmludGsoS0VSTl9JTkZPICIlczogaW50ZXJydXB0IGZvciBkZXZpY2U6ICUwNHggIgogCQkicmVjZWl2ZWQgYy0lMDJ4IGQtJTAyeCBzdGF0ZS0lMDJ4XG4iLAotICAgICAgICAgICAgICAgIGRldi0+bmFtZSwgcF9jaC0+ZGV2bm8sIGlyYi0+c2Nzdy5jc3RhdCwKLQkJaXJiLT5zY3N3LmRzdGF0LCBwX2NoLT5jbGF3X3N0YXRlKTsKKwkgICAgICAgZGV2LT5uYW1lLCBwX2NoLT5kZXZubywgaXJiLT5zY3N3LmNtZC5jc3RhdCwKKwkgICAgICAgaXJiLT5zY3N3LmNtZC5kc3RhdCwgcF9jaC0+Y2xhd19zdGF0ZSk7CiAjZW5kaWYKIAogCS8qIENvcHkgaW50ZXJydXB0aW9uIHJlc3BvbnNlIGJsb2NrLiAqLwogCW1lbWNweShwX2NoLT5pcmIsIGlyYiwgc2l6ZW9mKHN0cnVjdCBpcmIpKTsKIAogICAgICAgICAvKiBDaGVjayBmb3IgZ29vZCBzdWJjaGFubmVsIHJldHVybiBjb2RlLCBvdGhlcndpc2UgZXJyb3IgbWVzc2FnZSAqLwotICAgICAgICBpZiAoaXJiLT5zY3N3LmNzdGF0ICAmJiAgIShpcmItPnNjc3cuY3N0YXQgJiBTQ0hOX1NUQVRfUENJKSkgeworCWlmIChpcmItPnNjc3cuY21kLmNzdGF0ICYmICEoaXJiLT5zY3N3LmNtZC5jc3RhdCAmIFNDSE5fU1RBVF9QQ0kpKSB7CiAgICAgICAgICAgICAgICAgcHJpbnRrKEtFUk5fSU5GTyAiJXM6IHN1YmNoYW5uZWwgY2hlY2sgZm9yIGRldmljZTogJTA0eCAtIgogCQkJIiBTY2ggU3RhdCAlMDJ4ICBEZXYgU3RhdCAlMDJ4IENQQSAtICUwNHhcbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICBkZXYtPm5hbWUsIHBfY2gtPmRldm5vLAotCQkJaXJiLT5zY3N3LmNzdGF0LCBpcmItPnNjc3cuZHN0YXQsaXJiLT5zY3N3LmNwYSk7CisJCQlpcmItPnNjc3cuY21kLmNzdGF0LCBpcmItPnNjc3cuY21kLmRzdGF0LAorCQkJaXJiLT5zY3N3LmNtZC5jcGEpOwogI2lmZGVmIElPVFJBQ0UKIAkJZHVtcGl0KChjaGFyICopaXJiLHNpemVvZihzdHJ1Y3QgaXJiKSk7Ci0JCWR1bXBpdCgoY2hhciAqKSh1bnNpZ25lZCBsb25nKWlyYi0+c2Nzdy5jcGEsCisJCWR1bXBpdCgoY2hhciAqKSh1bnNpZ25lZCBsb25nKWlyYi0+c2Nzdy5jbWQuY3BhLAogCQkJc2l6ZW9mKHN0cnVjdCBjY3cxKSk7CiAjZW5kaWYKICNpZmRlZiBGVU5DVFJBQ0UKQEAgLTc1OSwyMiArNzYxLDI0IEBACiAgICAgICAgIH0KIAogICAgICAgICAvKiBDaGVjayB0aGUgcmVhc29uLWNvZGUgb2YgYSB1bml0IGNoZWNrICovCi0gICAgICAgIGlmIChpcmItPnNjc3cuZHN0YXQgJiBERVZfU1RBVF9VTklUX0NIRUNLKSB7CisJaWYgKGlyYi0+c2Nzdy5jbWQuZHN0YXQgJiBERVZfU1RBVF9VTklUX0NIRUNLKQogICAgICAgICAgICAgICAgIGNjd19jaGVja191bml0X2NoZWNrKHBfY2gsIGlyYi0+ZWN3WzBdKTsKLSAgICAgICAgfQogCiAgICAgICAgIC8qIFN0YXRlIG1hY2hpbmUgdG8gYnJpbmcgdGhlIGNvbm5lY3Rpb24gdXAsIGRvd24gYW5kIHRvIHJlc3RhcnQgKi8KLSAgICAgICAgcF9jaC0+bGFzdF9kc3RhdCA9IGlyYi0+c2Nzdy5kc3RhdDsKKwlwX2NoLT5sYXN0X2RzdGF0ID0gaXJiLT5zY3N3LmNtZC5kc3RhdDsKIAogICAgICAgICBzd2l0Y2ggKHBfY2gtPmNsYXdfc3RhdGUpIHsKICAgICAgICAgICAgICAgICBjYXNlIENMQVdfU1RPUDovKiBIQUxUX0lPIGJ5IGNsYXdfcmVsZWFzZSAoaGFsdCBzZXF1ZW5jZSkgKi8KICNpZmRlZiBERUJVR01TRwogICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnRrKEtFUk5fSU5GTyAiJXM6IENMQVdfU1RPUCBlbnRlclxuIiwgZGV2LT5uYW1lKTsKICNlbmRpZgotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEoKHBfY2gtPmlyYi0+c2Nzdy5zdGN0bCAmIFNDU1dfU1RDVExfU0VDX1NUQVRVUykgfHwKLQkgICAgCQkocF9jaC0+aXJiLT5zY3N3LnN0Y3RsID09IFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpIHx8Ci0JICAgIAkJKHBfY2gtPmlyYi0+c2Nzdy5zdGN0bCA9PQotCSAgICAgCQkoU0NTV19TVENUTF9BTEVSVF9TVEFUVVMgfCBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKSkpKSB7CisJCQlpZiAoISgocF9jaC0+aXJiLT5zY3N3LmNtZC5zdGN0bCAmCisJCQkgICAgICAgU0NTV19TVENUTF9TRUNfU1RBVFVTKSB8fAorCQkJICAgIChwX2NoLT5pcmItPnNjc3cuY21kLnN0Y3RsID09CisJCQkJU0NTV19TVENUTF9TVEFUVVNfUEVORCkgfHwKKwkJCSAgICAocF9jaC0+aXJiLT5zY3N3LmNtZC5zdGN0bCA9PQorCQkJCShTQ1NXX1NUQ1RMX0FMRVJUX1NUQVRVUyB8CisJCQkJIFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpKSkpIHsKICNpZmRlZiBGVU5DVFJBQ0UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnRrKEtFUk5fSU5GTyAiJXM6JXMgRXhpdCBvbiBsaW5lICVkXG4iLAogCQkJCQlkZXYtPm5hbWUsX19mdW5jX18sX19MSU5FX18pOwpAQCAtNzk4LDEwICs4MDIsMTMgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50ayhLRVJOX0lORk8gIiVzOiBwcm9jZXNzIENMQVdfU1RBVF9IQUxUX0lPXG4iLAogCQkJCWRldi0+bmFtZSk7CiAjZW5kaWYKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICghKChwX2NoLT5pcmItPnNjc3cuc3RjdGwgJiBTQ1NXX1NUQ1RMX1NFQ19TVEFUVVMpIHx8Ci0JICAgIAkJKHBfY2gtPmlyYi0+c2Nzdy5zdGN0bCA9PSBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKSB8fAotCSAgICAJCShwX2NoLT5pcmItPnNjc3cuc3RjdGwgPT0KLQkgICAgIAkJKFNDU1dfU1RDVExfQUxFUlRfU1RBVFVTIHwgU0NTV19TVENUTF9TVEFUVVNfUEVORCkpKSkgeworCQkJaWYgKCEoKHBfY2gtPmlyYi0+c2Nzdy5jbWQuc3RjdGwgJgorCQkJICAgICAgIFNDU1dfU1RDVExfU0VDX1NUQVRVUykgfHwKKwkJCSAgICAocF9jaC0+aXJiLT5zY3N3LmNtZC5zdGN0bCA9PQorCQkJICAgICBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKSB8fAorCQkJICAgIChwX2NoLT5pcmItPnNjc3cuY21kLnN0Y3RsID09CisJCQkgICAgIChTQ1NXX1NUQ1RMX0FMRVJUX1NUQVRVUyB8CisJCQkgICAgICBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKSkpKSB7CiAjaWZkZWYgRlVOQ1RSQUNFCiAJCQkJcHJpbnRrKEtFUk5fSU5GTyAiJXM6JXMgRXhpdCBvbiBsaW5lICVkXG4iLAogCQkJCQlkZXYtPm5hbWUsX19mdW5jX18sX19MSU5FX18pOwpAQCAtODI4LDggKzgzNSw4IEBACiAJCQkJCSJpbnRlcnJ1cHQgZm9yIGRldmljZToiCiAJCQkJIAkiJXMgcmVjZWl2ZWQgYy0lMDJ4IGQtJTAyeFxuIiwKICAgICAgICAgICAgICAgICAJCSAgICAgICAgY2Rldi0+ZGV2LmJ1c19pZCwKLQkJCQkJaXJiLT5zY3N3LmNzdGF0LAotCQkJCQlpcmItPnNjc3cuZHN0YXQpOworCQkJCQlpcmItPnNjc3cuY21kLmNzdGF0LAorCQkJCQlpcmItPnNjc3cuY21kLmRzdGF0KTsKIAkJCQlyZXR1cm47CiAJCQkJfQogI2lmZGVmIERFQlVHTVNHCkBAIC04NDQsNyArODUxLDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgICAgICBjYXNlIENMQVdfU1RBUlRfUkVBRDoKIAkJCUNMQVdfREJGX1RFWFQoNCx0cmFjZSwiUmVhZElSUSIpOwotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHBfY2gtPmlyYi0+c2Nzdy5kc3RhdCAmIERFVl9TVEFUX1VOSVRfQ0hFQ0spIHsKKwkJCWlmIChwX2NoLT5pcmItPnNjc3cuY21kLmRzdGF0ICYgREVWX1NUQVRfVU5JVF9DSEVDSykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGVhcl9iaXQoMCwgKHZvaWQgKikmcF9jaC0+SU9fYWN0aXZlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKChwX2NoLT5pcmItPmVjd1swXSAmIDB4NDEpID09IDB4NDEgfHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwX2NoLT5pcmItPmVjd1swXSAmIDB4NDApID09IDB4NDAgfHwKQEAgLTg2Myw4ICs4NzAsOCBAQAogCQkJCQlDTEFXX0RCRl9URVhUKDQsdHJhY2UsIm5vdHJkeSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICgocF9jaC0+aXJiLT5zY3N3LmNzdGF0ICYgU0NITl9TVEFUX1BDSSkgJiYKLQkJCSAgICAocF9jaC0+aXJiLT5zY3N3LmRzdGF0PT0wKSkgeworCQkJaWYgKChwX2NoLT5pcmItPnNjc3cuY21kLmNzdGF0ICYgU0NITl9TVEFUX1BDSSkgJiYKKwkJCSAgICAocF9jaC0+aXJiLT5zY3N3LmNtZC5kc3RhdCA9PSAwKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodGVzdF9hbmRfc2V0X2JpdChDTEFXX0JIX0FDVElWRSwKIAkJCQkJKHZvaWQgKikmcF9jaC0+ZmxhZ19hKSA9PSAwKSB7CiAJCQkJCXRhc2tsZXRfc2NoZWR1bGUoJnBfY2gtPnRhc2tsZXQpOwpAQCAtODc5LDEwICs4ODYsMTMgQEAKIAkJCQlDTEFXX0RCRl9URVhUKDQsdHJhY2UsIlBDSV9yZWFkIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgIGlmKCEoKHBfY2gtPmlyYi0+c2Nzdy5zdGN0bCAmIFNDU1dfU1RDVExfU0VDX1NUQVRVUykgfHwKLQkgICAgCQkgKHBfY2gtPmlyYi0+c2Nzdy5zdGN0bCA9PSBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKSB8fAotCSAgICAJCSAocF9jaC0+aXJiLT5zY3N3LnN0Y3RsID09Ci0JICAgICAJCSAoU0NTV19TVENUTF9BTEVSVF9TVEFUVVMgfCBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKSkpKSB7CisJCQlpZiAoISgocF9jaC0+aXJiLT5zY3N3LmNtZC5zdGN0bCAmCisJCQkgICAgICAgU0NTV19TVENUTF9TRUNfU1RBVFVTKSB8fAorCQkJICAgICAocF9jaC0+aXJiLT5zY3N3LmNtZC5zdGN0bCA9PQorCQkJICAgICAgU0NTV19TVENUTF9TVEFUVVNfUEVORCkgfHwKKwkJCSAgICAgKHBfY2gtPmlyYi0+c2Nzdy5jbWQuc3RjdGwgPT0KKwkJCSAgICAgIChTQ1NXX1NUQ1RMX0FMRVJUX1NUQVRVUyB8CisJCQkgICAgICAgU0NTV19TVENUTF9TVEFUVVNfUEVORCkpKSkgewogI2lmZGVmIEZVTkNUUkFDRQogCQkJCXByaW50ayhLRVJOX0lORk8gIiVzOiVzIEV4aXQgb24gbGluZSAlZFxuIiwKIAkJCQkJZGV2LT5uYW1lLF9fZnVuY19fLF9fTElORV9fKTsKQEAgLTkxMSw3ICs5MjEsNyBAQAogCQkJQ0xBV19EQkZfVEVYVCg0LHRyYWNlLCJSZElSUVhpdCIpOwogICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgIGNhc2UgQ0xBV19TVEFSVF9XUklURToKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwX2NoLT5pcmItPnNjc3cuZHN0YXQgJiBERVZfU1RBVF9VTklUX0NIRUNLKSB7CisJCQlpZiAocF9jaC0+aXJiLT5zY3N3LmNtZC5kc3RhdCAmIERFVl9TVEFUX1VOSVRfQ0hFQ0spIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnRrKEtFUk5fSU5GTyAiJXM6IFVuaXQgQ2hlY2sgT2NjdXJlZCBpbiAiCiAJCQkJCSJ3cml0ZSBjaGFubmVsXG4iLGRldi0+bmFtZSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFyX2JpdCgwLCAodm9pZCAqKSZwX2NoLT5JT19hY3RpdmUpOwpAQCAtOTM0LDE2ICs5NDQsMTkgQEAKIAkJCQlDTEFXX0RCRl9URVhUKDQsdHJhY2UsInJzdHJ0d3J0Iik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwX2NoLT5pcmItPnNjc3cuZHN0YXQgJiBERVZfU1RBVF9VTklUX0VYQ0VQKSB7CisJCQlpZiAocF9jaC0+aXJiLT5zY3N3LmNtZC5kc3RhdCAmIERFVl9TVEFUX1VOSVRfRVhDRVApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGVhcl9iaXQoMCwgKHZvaWQgKikmcF9jaC0+SU9fYWN0aXZlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmludGsoS0VSTl9JTkZPICIlczogVW5pdCBFeGNlcHRpb24gIgogCQkJCQkJIk9jY3VyZWQgaW4gd3JpdGUgY2hhbm5lbFxuIiwKIAkJCQkJCWRldi0+bmFtZSk7CiAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZighKChwX2NoLT5pcmItPnNjc3cuc3RjdGwgJiBTQ1NXX1NUQ1RMX1NFQ19TVEFUVVMpIHx8Ci0JICAgIAkJKHBfY2gtPmlyYi0+c2Nzdy5zdGN0bCA9PSBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKSB8fAotCSAgICAJCShwX2NoLT5pcmItPnNjc3cuc3RjdGwgPT0KLQkgICAgIAkJKFNDU1dfU1RDVExfQUxFUlRfU1RBVFVTIHwgU0NTV19TVENUTF9TVEFUVVNfUEVORCkpKSkgeworCQkJaWYgKCEoKHBfY2gtPmlyYi0+c2Nzdy5jbWQuc3RjdGwgJgorCQkJICAgICAgIFNDU1dfU1RDVExfU0VDX1NUQVRVUykgfHwKKwkJCSAgICAgKHBfY2gtPmlyYi0+c2Nzdy5jbWQuc3RjdGwgPT0KKwkJCSAgICAgIFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpIHx8CisJCQkgICAgIChwX2NoLT5pcmItPnNjc3cuY21kLnN0Y3RsID09CisJCQkgICAgICAoU0NTV19TVENUTF9BTEVSVF9TVEFUVVMgfAorCQkJICAgICAgIFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpKSkpIHsKICNpZmRlZiBGVU5DVFJBQ0UKIAkJCQlwcmludGsoS0VSTl9JTkZPICIlczolcyBFeGl0IG9uIGxpbmUgJWRcbiIsCiAJCQkJCWRldi0+bmFtZSxfX2Z1bmNfXyxfX0xJTkVfXyk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvbmV0L2N0Y21fZnNtcy5jIGIvZHJpdmVycy9zMzkwL25ldC9jdGNtX2ZzbXMuYwppbmRleCAyYTEwNmYzLi43ZTZiZDM4IDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvbmV0L2N0Y21fZnNtcy5jCisrKyBiL2RyaXZlcnMvczM5MC9uZXQvY3RjbV9mc21zLmMKQEAgLTI1Nyw5ICsyNTcsOSBAQAogCWlmIChkdXJhdGlvbiA+IGNoLT5wcm9mLnR4X3RpbWUpCiAJCWNoLT5wcm9mLnR4X3RpbWUgPSBkdXJhdGlvbjsKIAotCWlmIChjaC0+aXJiLT5zY3N3LmNvdW50ICE9IDApCisJaWYgKGNoLT5pcmItPnNjc3cuY21kLmNvdW50ICE9IDApCiAJCWN0Y21fcHJfZGVidWcoIiVzOiBUWCBub3QgY29tcGxldGUsIHJlbWFpbmluZyAlZCBieXRlc1xuIiwKLQkJCSAgICAgZGV2LT5uYW1lLCBjaC0+aXJiLT5zY3N3LmNvdW50KTsKKwkJCSAgICAgZGV2LT5uYW1lLCBjaC0+aXJiLT5zY3N3LmNtZC5jb3VudCk7CiAJZnNtX2RlbHRpbWVyKCZjaC0+dGltZXIpOwogCXdoaWxlICgoc2tiID0gc2tiX2RlcXVldWUoJmNoLT5pb19xdWV1ZSkpKSB7CiAJCXByaXYtPnN0YXRzLnR4X3BhY2tldHMrKzsKQEAgLTM1Myw3ICszNTMsNyBAQAogCXN0cnVjdCBjaGFubmVsICpjaCA9IGFyZzsKIAlzdHJ1Y3QgbmV0X2RldmljZSAqZGV2ID0gY2gtPm5ldGRldjsKIAlzdHJ1Y3QgY3RjbV9wcml2ICpwcml2ID0gZGV2LT5wcml2OwotCWludCBsZW4gPSBjaC0+bWF4X2J1ZnNpemUgLSBjaC0+aXJiLT5zY3N3LmNvdW50OworCWludCBsZW4gPSBjaC0+bWF4X2J1ZnNpemUgLSBjaC0+aXJiLT5zY3N3LmNtZC5jb3VudDsKIAlzdHJ1Y3Qgc2tfYnVmZiAqc2tiID0gY2gtPnRyYW5zX3NrYjsKIAlfX3UxNiBibG9ja19sZW4gPSAqKChfX3UxNiAqKXNrYi0+ZGF0YSk7CiAJaW50IGNoZWNrX2xlbjsKQEAgLTEyMzQsOSArMTIzNCw5IEBACiAJaWYgKGR1cmF0aW9uID4gY2gtPnByb2YudHhfdGltZSkKIAkJY2gtPnByb2YudHhfdGltZSA9IGR1cmF0aW9uOwogCi0JaWYgKGNoLT5pcmItPnNjc3cuY291bnQgIT0gMCkKKwlpZiAoY2gtPmlyYi0+c2Nzdy5jbWQuY291bnQgIT0gMCkKIAkJY3RjbV9wcl9kZWJ1ZygiJXM6IFRYIG5vdCBjb21wbGV0ZSwgcmVtYWluaW5nICVkIGJ5dGVzXG4iLAotCQkJCWRldi0+bmFtZSwgY2gtPmlyYi0+c2Nzdy5jb3VudCk7CisJCQkJZGV2LT5uYW1lLCBjaC0+aXJiLT5zY3N3LmNtZC5jb3VudCk7CiAJZnNtX2RlbHRpbWVyKCZjaC0+dGltZXIpOwogCXdoaWxlICgoc2tiID0gc2tiX2RlcXVldWUoJmNoLT5pb19xdWV1ZSkpKSB7CiAJCXByaXYtPnN0YXRzLnR4X3BhY2tldHMrKzsKQEAgLTEzOTQsNyArMTM5NCw3IEBACiAJc3RydWN0IHNrX2J1ZmYJCSpza2IgPSBjaC0+dHJhbnNfc2tiOwogCXN0cnVjdCBza19idWZmCQkqbmV3X3NrYjsKIAl1bnNpZ25lZCBsb25nCXNhdmVmbGFncyA9IDA7CS8qIGF2b2lkcyBjb21waWxlciB3YXJuaW5nICovCi0JaW50IGxlbgk9IGNoLT5tYXhfYnVmc2l6ZSAtIGNoLT5pcmItPnNjc3cuY291bnQ7CisJaW50IGxlbgk9IGNoLT5tYXhfYnVmc2l6ZSAtIGNoLT5pcmItPnNjc3cuY21kLmNvdW50OwogCiAJaWYgKGRvX2RlYnVnX2RhdGEpIHsKIAkJQ1RDTV9EQkZfVEVYVF8oVFJBQ0UsIENUQ19EQkZfREVCVUcsICJtcGNfY2hfcnggJXMgY3A6JWkgJXNcbiIsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvbmV0L2N0Y21fbWFpbi5jIGIvZHJpdmVycy9zMzkwL25ldC9jdGNtX21haW4uYwppbmRleCBkNTI4NDNkLi42YjEzYzFjIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvbmV0L2N0Y21fbWFpbi5jCisrKyBiL2RyaXZlcnMvczM5MC9uZXQvY3RjbV9tYWluLmMKQEAgLTEyMzYsOCArMTIzNiw4IEBACiAJLyogQ2hlY2sgZm9yIHVuc29saWNpdGVkIGludGVycnVwdHMuICovCiAJaWYgKGNnZGV2ID09IE5VTEwpIHsKIAkJY3RjbV9wcl93YXJuKCJjdGNtOiBHb3QgdW5zb2xpY2l0ZWQgaXJxOiAlcyBjLSUwMnggZC0lMDJ4XG4iLAotCQkJICAgIGNkZXYtPmRldi5idXNfaWQsIGlyYi0+c2Nzdy5jc3RhdCwKLQkJCSAgICBpcmItPnNjc3cuZHN0YXQpOworCQkJICAgIGNkZXYtPmRldi5idXNfaWQsIGlyYi0+c2Nzdy5jbWQuY3N0YXQsCisJCQkgICAgaXJiLT5zY3N3LmNtZC5kc3RhdCk7CiAJCXJldHVybjsKIAl9CiAKQEAgLTEyNjYsNDAgKzEyNjYsNDAgQEAKIAkJCQkicmVjZWl2ZWQgYy0lMDJ4IGQtJTAyeFxuIiwKIAkJCQlkZXYtPm5hbWUsCiAJCQkJY2gtPmlkLAotCQkJCWlyYi0+c2Nzdy5jc3RhdCwKLQkJCQlpcmItPnNjc3cuZHN0YXQpOworCQkJCWlyYi0+c2Nzdy5jbWQuY3N0YXQsCisJCQkJaXJiLT5zY3N3LmNtZC5kc3RhdCk7CiAKIAkvKiBDb3B5IGludGVycnVwdGlvbiByZXNwb25zZSBibG9jay4gKi8KIAltZW1jcHkoY2gtPmlyYiwgaXJiLCBzaXplb2Yoc3RydWN0IGlyYikpOwogCiAJLyogQ2hlY2sgZm9yIGdvb2Qgc3ViY2hhbm5lbCByZXR1cm4gY29kZSwgb3RoZXJ3aXNlIGVycm9yIG1lc3NhZ2UgKi8KLQlpZiAoaXJiLT5zY3N3LmNzdGF0KSB7CisJaWYgKGlyYi0+c2Nzdy5jbWQuY3N0YXQpIHsKIAkJZnNtX2V2ZW50KGNoLT5mc20sIENUQ19FVkVOVF9TQ19VTktOT1dOLCBjaCk7CiAJCWN0Y21fcHJfd2FybigiJXM6IHN1YmNoYW5uZWwgY2hlY2sgZm9yIGRldjogJXMgLSAlMDJ4ICUwMnhcbiIsCi0JCQkgICAgZGV2LT5uYW1lLCBjaC0+aWQsIGlyYi0+c2Nzdy5jc3RhdCwKLQkJCSAgICBpcmItPnNjc3cuZHN0YXQpOworCQkJICAgIGRldi0+bmFtZSwgY2gtPmlkLCBpcmItPnNjc3cuY21kLmNzdGF0LAorCQkJICAgIGlyYi0+c2Nzdy5jbWQuZHN0YXQpOwogCQlyZXR1cm47CiAJfQogCiAJLyogQ2hlY2sgdGhlIHJlYXNvbi1jb2RlIG9mIGEgdW5pdCBjaGVjayAqLwotCWlmIChpcmItPnNjc3cuZHN0YXQgJiBERVZfU1RBVF9VTklUX0NIRUNLKSB7CisJaWYgKGlyYi0+c2Nzdy5jbWQuZHN0YXQgJiBERVZfU1RBVF9VTklUX0NIRUNLKSB7CiAJCWNjd191bml0X2NoZWNrKGNoLCBpcmItPmVjd1swXSk7CiAJCXJldHVybjsKIAl9Ci0JaWYgKGlyYi0+c2Nzdy5kc3RhdCAmIERFVl9TVEFUX0JVU1kpIHsKLQkJaWYgKGlyYi0+c2Nzdy5kc3RhdCAmIERFVl9TVEFUX0FUVEVOVElPTikKKwlpZiAoaXJiLT5zY3N3LmNtZC5kc3RhdCAmIERFVl9TVEFUX0JVU1kpIHsKKwkJaWYgKGlyYi0+c2Nzdy5jbWQuZHN0YXQgJiBERVZfU1RBVF9BVFRFTlRJT04pCiAJCQlmc21fZXZlbnQoY2gtPmZzbSwgQ1RDX0VWRU5UX0FUVE5CVVNZLCBjaCk7CiAJCWVsc2UKIAkJCWZzbV9ldmVudChjaC0+ZnNtLCBDVENfRVZFTlRfQlVTWSwgY2gpOwogCQlyZXR1cm47CiAJfQotCWlmIChpcmItPnNjc3cuZHN0YXQgJiBERVZfU1RBVF9BVFRFTlRJT04pIHsKKwlpZiAoaXJiLT5zY3N3LmNtZC5kc3RhdCAmIERFVl9TVEFUX0FUVEVOVElPTikgewogCQlmc21fZXZlbnQoY2gtPmZzbSwgQ1RDX0VWRU5UX0FUVE4sIGNoKTsKIAkJcmV0dXJuOwogCX0KLQlpZiAoKGlyYi0+c2Nzdy5zdGN0bCAmIFNDU1dfU1RDVExfU0VDX1NUQVRVUykgfHwKLQkgICAgKGlyYi0+c2Nzdy5zdGN0bCA9PSBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKSB8fAotCSAgICAoaXJiLT5zY3N3LnN0Y3RsID09CisJaWYgKChpcmItPnNjc3cuY21kLnN0Y3RsICYgU0NTV19TVENUTF9TRUNfU1RBVFVTKSB8fAorCSAgICAoaXJiLT5zY3N3LmNtZC5zdGN0bCA9PSBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKSB8fAorCSAgICAoaXJiLT5zY3N3LmNtZC5zdGN0bCA9PQogCSAgICAgKFNDU1dfU1RDVExfQUxFUlRfU1RBVFVTIHwgU0NTV19TVENUTF9TVEFUVVNfUEVORCkpKQogCQlmc21fZXZlbnQoY2gtPmZzbSwgQ1RDX0VWRU5UX0ZJTlNUQVQsIGNoKTsKIAllbHNlCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvbmV0L2N1MzA4OC5jIGIvZHJpdmVycy9zMzkwL25ldC9jdTMwODguYwppbmRleCA4ZTc2OTczLi5mNGEzMjM3IDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvbmV0L2N1MzA4OC5jCisrKyBiL2RyaXZlcnMvczM5MC9uZXQvY3UzMDg4LmMKQEAgLTM2LDcgKzM2LDYgQEAKIAkiQ1RDL0EiLAogCSJFU0NPTiBjaGFubmVsIiwKIAkiRklDT04gY2hhbm5lbCIsCi0JIlAzOTAgTENTIGNhcmQiLAogCSJPU0EgTENTIGNhcmQiLAogCSJDTEFXIGNoYW5uZWwgZGV2aWNlIiwKIAkidW5rbm93biBjaGFubmVsIHR5cGUiLApAQCAtNDksNyArNDgsNiBAQAogCXsgQ0NXX0RFVklDRSgweDMwODgsIDB4MDgpLCAuZHJpdmVyX2luZm8gPSBjaGFubmVsX3R5cGVfcGFyYWxsZWwgfSwKIAl7IENDV19ERVZJQ0UoMHgzMDg4LCAweDFmKSwgLmRyaXZlcl9pbmZvID0gY2hhbm5lbF90eXBlX2VzY29uIH0sCiAJeyBDQ1dfREVWSUNFKDB4MzA4OCwgMHgxZSksIC5kcml2ZXJfaW5mbyA9IGNoYW5uZWxfdHlwZV9maWNvbiB9LAotCXsgQ0NXX0RFVklDRSgweDMwODgsIDB4MDEpLCAuZHJpdmVyX2luZm8gPSBjaGFubmVsX3R5cGVfcDM5MCB9LAogCXsgQ0NXX0RFVklDRSgweDMwODgsIDB4NjApLCAuZHJpdmVyX2luZm8gPSBjaGFubmVsX3R5cGVfb3NhMiB9LAogCXsgQ0NXX0RFVklDRSgweDMwODgsIDB4NjEpLCAuZHJpdmVyX2luZm8gPSBjaGFubmVsX3R5cGVfY2xhdyB9LAogCXsgLyogZW5kIG9mIGxpc3QgKi8gfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL25ldC9jdTMwODguaCBiL2RyaXZlcnMvczM5MC9uZXQvY3UzMDg4LmgKaW5kZXggMTc1MzY2MS4uZDg1NThhNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL25ldC9jdTMwODguaAorKysgYi9kcml2ZXJzL3MzOTAvbmV0L2N1MzA4OC5oCkBAIC0xNyw5ICsxNyw2IEBACiAJLyogRGV2aWNlIGlzIGEgRklDT04gY2hhbm5lbCAqLwogCWNoYW5uZWxfdHlwZV9maWNvbiwKIAotCS8qIERldmljZSBpcyBhIFAzOTAgTENTIGNhcmQgKi8KLQljaGFubmVsX3R5cGVfcDM5MCwKLQogCS8qIERldmljZSBpcyBhIE9TQTIgY2FyZCAqLwogCWNoYW5uZWxfdHlwZV9vc2EyLAogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvbmV0L2xjcy5jIGIvZHJpdmVycy9zMzkwL25ldC9sY3MuYwppbmRleCBkZDIyZjRiLi42ZGUyODM4IDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvbmV0L2xjcy5jCisrKyBiL2RyaXZlcnMvczM5MC9uZXQvbGNzLmMKQEAgLTEzMjcsOCArMTMyNyw4IEBACiAJY2hhciAqc2Vuc2U7CiAKIAlzZW5zZSA9IChjaGFyICopIGlyYi0+ZWN3OwotCWNzdGF0ID0gaXJiLT5zY3N3LmNzdGF0OwotCWRzdGF0ID0gaXJiLT5zY3N3LmRzdGF0OworCWNzdGF0ID0gaXJiLT5zY3N3LmNtZC5jc3RhdDsKKwlkc3RhdCA9IGlyYi0+c2Nzdy5jbWQuZHN0YXQ7CiAKIAlpZiAoY3N0YXQgJiAoU0NITl9TVEFUX0NITl9DVFJMX0NISyB8IFNDSE5fU1RBVF9JTlRGX0NUUkxfQ0hLIHwKIAkJICAgICBTQ0hOX1NUQVRfQ0hOX0RBVEFfQ0hLIHwgU0NITl9TVEFUX0NIQUlOX0NIRUNLIHwKQEAgLTEzODgsMTEgKzEzODgsMTMgQEAKIAllbHNlCiAJCWNoYW5uZWwgPSAmY2FyZC0+d3JpdGU7CiAKLQljc3RhdCA9IGlyYi0+c2Nzdy5jc3RhdDsKLQlkc3RhdCA9IGlyYi0+c2Nzdy5kc3RhdDsKKwljc3RhdCA9IGlyYi0+c2Nzdy5jbWQuY3N0YXQ7CisJZHN0YXQgPSBpcmItPnNjc3cuY21kLmRzdGF0OwogCUxDU19EQkZfVEVYVF8oNSwgdHJhY2UsICJSaW50JXMiLGNkZXYtPmRldi5idXNfaWQpOwotCUxDU19EQkZfVEVYVF8oNSwgdHJhY2UsICIlNHglNHgiLGlyYi0+c2Nzdy5jc3RhdCwgaXJiLT5zY3N3LmRzdGF0KTsKLQlMQ1NfREJGX1RFWFRfKDUsIHRyYWNlLCAiJTR4JTR4IixpcmItPnNjc3cuZmN0bCwgaXJiLT5zY3N3LmFjdGwpOworCUxDU19EQkZfVEVYVF8oNSwgdHJhY2UsICIlNHglNHgiLCBpcmItPnNjc3cuY21kLmNzdGF0LAorCQkgICAgICBpcmItPnNjc3cuY21kLmRzdGF0KTsKKwlMQ1NfREJGX1RFWFRfKDUsIHRyYWNlLCAiJTR4JTR4IiwgaXJiLT5zY3N3LmNtZC5mY3RsLAorCQkgICAgICBpcmItPnNjc3cuY21kLmFjdGwpOwogCiAJLyogQ2hlY2sgZm9yIGNoYW5uZWwgYW5kIGRldmljZSBlcnJvcnMgcHJlc2VudGVkICovCiAJcmMgPSBsY3NfZ2V0X3Byb2JsZW0oY2RldiwgaXJiKTsKQEAgLTE0MTAsMTEgKzE0MTIsMTEgQEAKIAl9CiAJLyogSG93IGZhciBpbiB0aGUgY2N3IGNoYWluIGhhdmUgd2UgcHJvY2Vzc2VkPyAqLwogCWlmICgoY2hhbm5lbC0+c3RhdGUgIT0gTENTX0NIX1NUQVRFX0lOSVQpICYmCi0JICAgIChpcmItPnNjc3cuZmN0bCAmIFNDU1dfRkNUTF9TVEFSVF9GVU5DKSkgewotCQlpbmRleCA9IChzdHJ1Y3QgY2N3MSAqKSBfX3ZhKChhZGRyX3QpIGlyYi0+c2Nzdy5jcGEpCisJICAgIChpcmItPnNjc3cuY21kLmZjdGwgJiBTQ1NXX0ZDVExfU1RBUlRfRlVOQykpIHsKKwkJaW5kZXggPSAoc3RydWN0IGNjdzEgKikgX192YSgoYWRkcl90KSBpcmItPnNjc3cuY21kLmNwYSkKIAkJCS0gY2hhbm5lbC0+Y2N3czsKLQkJaWYgKChpcmItPnNjc3cuYWN0bCAmIFNDU1dfQUNUTF9TVVNQRU5ERUQpIHx8Ci0JCSAgICAoaXJiLT5zY3N3LmNzdGF0ICYgU0NITl9TVEFUX1BDSSkpCisJCWlmICgoaXJiLT5zY3N3LmNtZC5hY3RsICYgU0NTV19BQ1RMX1NVU1BFTkRFRCkgfHwKKwkJICAgIChpcmItPnNjc3cuY21kLmNzdGF0ICYgU0NITl9TVEFUX1BDSSkpCiAJCQkvKiBCbG9vZHkgaW8gc3Vic3lzdGVtIHRlbGxzIHVzIGxpZXMgYWJvdXQgY3BhLi4uICovCiAJCQlpbmRleCA9IChpbmRleCAtIDEpICYgKExDU19OVU1fQlVGRlMgLSAxKTsKIAkJd2hpbGUgKGNoYW5uZWwtPmlvX2lkeCAhPSBpbmRleCkgewpAQCAtMTQyNSwyNSArMTQyNywyNCBAQAogCQl9CiAJfQogCi0JaWYgKChpcmItPnNjc3cuZHN0YXQgJiBERVZfU1RBVF9ERVZfRU5EKSB8fAotCSAgICAoaXJiLT5zY3N3LmRzdGF0ICYgREVWX1NUQVRfQ0hOX0VORCkgfHwKLQkgICAgKGlyYi0+c2Nzdy5kc3RhdCAmIERFVl9TVEFUX1VOSVRfQ0hFQ0spKQorCWlmICgoaXJiLT5zY3N3LmNtZC5kc3RhdCAmIERFVl9TVEFUX0RFVl9FTkQpIHx8CisJICAgIChpcmItPnNjc3cuY21kLmRzdGF0ICYgREVWX1NUQVRfQ0hOX0VORCkgfHwKKwkgICAgKGlyYi0+c2Nzdy5jbWQuZHN0YXQgJiBERVZfU1RBVF9VTklUX0NIRUNLKSkKIAkJLyogTWFyayBjaGFubmVsIGFzIHN0b3BwZWQuICovCiAJCWNoYW5uZWwtPnN0YXRlID0gTENTX0NIX1NUQVRFX1NUT1BQRUQ7Ci0JZWxzZSBpZiAoaXJiLT5zY3N3LmFjdGwgJiBTQ1NXX0FDVExfU1VTUEVOREVEKQorCWVsc2UgaWYgKGlyYi0+c2Nzdy5jbWQuYWN0bCAmIFNDU1dfQUNUTF9TVVNQRU5ERUQpCiAJCS8qIENDVyBleGVjdXRpb24gc3RvcHBlZCBvbiBhIHN1c3BlbmQgYml0LiAqLwogCQljaGFubmVsLT5zdGF0ZSA9IExDU19DSF9TVEFURV9TVVNQRU5ERUQ7Ci0JaWYgKGlyYi0+c2Nzdy5mY3RsICYgU0NTV19GQ1RMX0hBTFRfRlVOQykgewotCQlpZiAoaXJiLT5zY3N3LmNjICE9IDApIHsKKwlpZiAoaXJiLT5zY3N3LmNtZC5mY3RsICYgU0NTV19GQ1RMX0hBTFRfRlVOQykgeworCQlpZiAoaXJiLT5zY3N3LmNtZC5jYyAhPSAwKSB7CiAJCQljY3dfZGV2aWNlX2hhbHQoY2hhbm5lbC0+Y2N3ZGV2LCAoYWRkcl90KSBjaGFubmVsKTsKIAkJCXJldHVybjsKIAkJfQogCQkvKiBUaGUgY2hhbm5lbCBoYXMgYmVlbiBzdG9wcGVkIGJ5IGhhbHRfSU8uICovCiAJCWNoYW5uZWwtPnN0YXRlID0gTENTX0NIX1NUQVRFX0hBTFRFRDsKIAl9Ci0JaWYgKGlyYi0+c2Nzdy5mY3RsICYgU0NTV19GQ1RMX0NMRUFSX0ZVTkMpIHsKKwlpZiAoaXJiLT5zY3N3LmNtZC5mY3RsICYgU0NTV19GQ1RMX0NMRUFSX0ZVTkMpCiAJCWNoYW5uZWwtPnN0YXRlID0gTENTX0NIX1NUQVRFX0NMRUFSRUQ7Ci0JfQogCS8qIERvIHRoZSByZXN0IGluIHRoZSB0YXNrbGV0LiAqLwogCXRhc2tsZXRfc2NoZWR1bGUoJmNoYW5uZWwtPmlycV90YXNrbGV0KTsKIH0KQEAgLTE3NjEsNyArMTc2Miw3IEBACiAJCQkJbmV0aWZfY2Fycmllcl9vZmYoY2FyZC0+ZGV2KTsKIAkJCWJyZWFrOwogCQlkZWZhdWx0OgotCQkJUFJJTlRfSU5GTygiVU5SRUNPR05JWkVEIExHVyBDT01NQU5EXG4iKTsKKwkJCUxDU19EQkZfVEVYVCg1LCB0cmFjZSwgIm5vTEdXY21kIik7CiAJCQlicmVhazsKIAkJfQogCX0gZWxzZQpAQCAtMjA0MiwxMyArMjA0MywxMiBAQAogCUxDU19EQkZfVEVYVCgyLCBzZXR1cCwgImFkZF9kZXYiKTsKICAgICAgICAgY2FyZCA9IGxjc19hbGxvY19jYXJkKCk7CiAgICAgICAgIGlmICghY2FyZCkgewotICAgICAgICAgICAgICAgIFBSSU5UX0VSUigiQWxsb2NhdGlvbiBvZiBsY3MgY2FyZCBmYWlsZWRcbiIpOworCQlMQ1NfREJGX1RFWFRfKDIsIHNldHVwLCAiICByYyVkIiwgLUVOT01FTSk7CiAJCXB1dF9kZXZpY2UoJmNjd2dkZXYtPmRldik7CiAgICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07CiAgICAgICAgIH0KIAlyZXQgPSBzeXNmc19jcmVhdGVfZ3JvdXAoJmNjd2dkZXYtPmRldi5rb2JqLCAmbGNzX2F0dHJfZ3JvdXApOwogCWlmIChyZXQpIHsKLSAgICAgICAgICAgICAgICBQUklOVF9FUlIoIkNyZWF0aW5nIGF0dHJpYnV0ZXMgZmFpbGVkIik7CiAJCWxjc19mcmVlX2NhcmQoY2FyZCk7CiAJCXB1dF9kZXZpY2UoJmNjd2dkZXYtPmRldik7CiAJCXJldHVybiByZXQ7CkBAIC0yMTQwLDcgKzIxNDAsNiBAQAogCWRlZmF1bHQ6CiAJCUxDU19EQkZfVEVYVCgzLCBzZXR1cCwgImVycmluaXQiKTsKIAkJUFJJTlRfRVJSKCJMQ1M6IEluaXRpYWxpemF0aW9uIGZhaWxlZFxuIik7Ci0JCVBSSU5UX0VSUigiTENTOiBObyBkZXZpY2UgZm91bmQhXG4iKTsKIAkJZ290byBvdXQ7CiAJfQogCWlmICghZGV2KQpAQCAtMjI2OSw3ICsyMjY4LDYgQEAKIAlpZiAoIWNhcmQpCiAJCXJldHVybjsKIAotCVBSSU5UX0lORk8oIlJlbW92aW5nIGxjcyBncm91cCBkZXZpY2UgLi4uLlxuIik7CiAJTENTX0RCRl9URVhUKDMsIHNldHVwLCAicmVtZGV2Iik7CiAJTENTX0RCRl9IRVgoMywgc2V0dXAsICZjYXJkLCBzaXplb2Yodm9pZCopKTsKIAlpZiAoY2N3Z2Rldi0+c3RhdGUgPT0gQ0NXR1JPVVBfT05MSU5FKSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvbmV0L25ldGl1Y3YuYyBiL2RyaXZlcnMvczM5MC9uZXQvbmV0aXVjdi5jCmluZGV4IGU0YmE2YTAuLjkyNDJiNWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9uZXQvbmV0aXVjdi5jCisrKyBiL2RyaXZlcnMvczM5MC9uZXQvbmV0aXVjdi5jCkBAIC02MjUsOSArNjI1LDYgQEAKIAkJb2Zmc2V0ICs9IGhlYWRlci0+bmV4dDsKIAkJaGVhZGVyLT5uZXh0IC09IE5FVElVQ1ZfSERSTEVOOwogCQlpZiAoc2tiX3RhaWxyb29tKHBza2IpIDwgaGVhZGVyLT5uZXh0KSB7Ci0JCQlQUklOVF9XQVJOKCIlczogSWxsZWdhbCBuZXh0IGZpZWxkIGluIGl1Y3YgaGVhZGVyOiAiCi0JCQkgICAgICAgIiVkID4gJWRcbiIsCi0JCQkgICAgICAgZGV2LT5uYW1lLCBoZWFkZXItPm5leHQsIHNrYl90YWlscm9vbShwc2tiKSk7CiAJCQlJVUNWX0RCRl9URVhUXyhkYXRhLCAyLCAiSWxsZWdhbCBuZXh0IGZpZWxkOiAlZCA+ICVkXG4iLAogCQkJCWhlYWRlci0+bmV4dCwgc2tiX3RhaWxyb29tKHBza2IpKTsKIAkJCXJldHVybjsKQEAgLTYzNiw4ICs2MzMsNiBAQAogCQlza2JfcmVzZXRfbWFjX2hlYWRlcihwc2tiKTsKIAkJc2tiID0gZGV2X2FsbG9jX3NrYihwc2tiLT5sZW4pOwogCQlpZiAoIXNrYikgewotCQkJUFJJTlRfV0FSTigiJXMgT3V0IG9mIG1lbW9yeSBpbiBuZXRpdWN2X3VucGFja19za2JcbiIsCi0JCQkgICAgICAgZGV2LT5uYW1lKTsKIAkJCUlVQ1ZfREJGX1RFWFQoZGF0YSwgMiwKIAkJCQkiT3V0IG9mIG1lbW9yeSBpbiBuZXRpdWN2X3VucGFja19za2JcbiIpOwogCQkJcHJpdnB0ci0+c3RhdHMucnhfZHJvcHBlZCsrOwpAQCAtNjc0LDcgKzY2OSw2IEBACiAKIAlpZiAoIWNvbm4tPm5ldGRldikgewogCQlpdWN2X21lc3NhZ2VfcmVqZWN0KGNvbm4tPnBhdGgsIG1zZyk7Ci0JCVBSSU5UX1dBUk4oIlJlY2VpdmVkIGRhdGEgZm9yIHVubGlua2VkIGNvbm5lY3Rpb25cbiIpOwogCQlJVUNWX0RCRl9URVhUKGRhdGEsIDIsCiAJCQkgICAgICAiUmVjZWl2ZWQgZGF0YSBmb3IgdW5saW5rZWQgY29ubmVjdGlvblxuIik7CiAJCXJldHVybjsKQEAgLTY4Miw4ICs2NzYsNiBAQAogCWlmIChtc2ctPmxlbmd0aCA+IGNvbm4tPm1heF9idWZmc2l6ZSkgewogCQlpdWN2X21lc3NhZ2VfcmVqZWN0KGNvbm4tPnBhdGgsIG1zZyk7CiAJCXByaXZwdHItPnN0YXRzLnJ4X2Ryb3BwZWQrKzsKLQkJUFJJTlRfV0FSTigibXNnbGVuICVkID4gbWF4X2J1ZmZzaXplICVkXG4iLAotCQkJICAgbXNnLT5sZW5ndGgsIGNvbm4tPm1heF9idWZmc2l6ZSk7CiAJCUlVQ1ZfREJGX1RFWFRfKGRhdGEsIDIsICJtc2dsZW4gJWQgPiBtYXhfYnVmZnNpemUgJWRcbiIsCiAJCQkgICAgICAgbXNnLT5sZW5ndGgsIGNvbm4tPm1heF9idWZmc2l6ZSk7CiAJCXJldHVybjsKQEAgLTY5NSw3ICs2ODcsNiBAQAogCQkJCSAgbXNnLT5sZW5ndGgsIE5VTEwpOwogCWlmIChyYyB8fCBtc2ctPmxlbmd0aCA8IDUpIHsKIAkJcHJpdnB0ci0+c3RhdHMucnhfZXJyb3JzKys7Ci0JCVBSSU5UX1dBUk4oIml1Y3ZfcmVjZWl2ZSByZXR1cm5lZCAlMDh4XG4iLCByYyk7CiAJCUlVQ1ZfREJGX1RFWFRfKGRhdGEsIDIsICJyYyAlZCBmcm9tIGl1Y3ZfcmVjZWl2ZVxuIiwgcmMpOwogCQlyZXR1cm47CiAJfQpAQCAtNzc4LDcgKzc2OSw2IEBACiAJCWZzbV9uZXdzdGF0ZShmaSwgQ09OTl9TVEFURV9JRExFKTsKIAkJaWYgKHByaXZwdHIpCiAJCQlwcml2cHRyLT5zdGF0cy50eF9lcnJvcnMgKz0gdHhwYWNrZXRzOwotCQlQUklOVF9XQVJOKCJpdWN2X3NlbmQgcmV0dXJuZWQgJTA4eFxuIiwJcmMpOwogCQlJVUNWX0RCRl9URVhUXyhkYXRhLCAyLCAicmMgJWQgZnJvbSBpdWN2X3NlbmRcbiIsIHJjKTsKIAl9IGVsc2UgewogCQlpZiAocHJpdnB0cikgewpAQCAtODA2LDggKzc5Niw2IEBACiAJcGF0aC0+ZmxhZ3MgPSAwOwogCXJjID0gaXVjdl9wYXRoX2FjY2VwdChwYXRoLCAmbmV0aXVjdl9oYW5kbGVyLCBOVUxMLCBjb25uKTsKIAlpZiAocmMpIHsKLQkJUFJJTlRfV0FSTigiJXM6IElVQ1YgYWNjZXB0IGZhaWxlZCB3aXRoIGVycm9yICVkXG4iLAotCQkgICAgICAgbmV0ZGV2LT5uYW1lLCByYyk7CiAJCUlVQ1ZfREJGX1RFWFRfKHNldHVwLCAyLCAicmMgJWQgZnJvbSBpdWN2X2FjY2VwdCIsIHJjKTsKIAkJcmV0dXJuOwogCX0KQEAgLTg3Myw3ICs4NjEsNyBAQAogCUlVQ1ZfREJGX1RFWFQodHJhY2UsIDMsIF9fZnVuY19fKTsKIAogCWZzbV9uZXdzdGF0ZShmaSwgQ09OTl9TVEFURV9TVEFSVFdBSVQpOwotCVBSSU5UX0RFQlVHKCIlcygnJXMnKTogY29ubmVjdGluZyAuLi5cbiIsCisJSVVDVl9EQkZfVEVYVF8oc2V0dXAsIDIsICIlcygnJXMnKTogY29ubmVjdGluZyAuLi5cbiIsCiAJCSAgICBjb25uLT5uZXRkZXYtPm5hbWUsIGNvbm4tPnVzZXJpZCk7CiAKIAkvKgpAQCAtOTY4LDggKzk1Niw4IEBACiAJc3RydWN0IGl1Y3ZfY29ubmVjdGlvbiAqY29ubiA9IGFyZzsKIAlzdHJ1Y3QgbmV0X2RldmljZSAqbmV0ZGV2ID0gY29ubi0+bmV0ZGV2OwogCi0JUFJJTlRfV0FSTigiJXM6IENhbm5vdCBjb25uZWN0IHdpdGhvdXQgdXNlcm5hbWVcbiIsIG5ldGRldi0+bmFtZSk7Ci0JSVVDVl9EQkZfVEVYVChkYXRhLCAyLCAiY29ubl9hY3Rpb25faW52YWwgY2FsbGVkXG4iKTsKKwlJVUNWX0RCRl9URVhUXyhkYXRhLCAyLCAiJXMoJyVzJyk6IGNvbm5fYWN0aW9uX2ludmFsIGNhbGxlZFxuIiwKKwkJbmV0ZGV2LT5uYW1lLCBjb25uLT51c2VyaWQpOwogfQogCiBzdGF0aWMgY29uc3QgZnNtX25vZGUgY29ubl9mc21bXSA9IHsKQEAgLTEwNzcsOSArMTA2NSw2IEBACiAJCQkJImNvbm5lY3Rpb24gaXMgdXAgYW5kIHJ1bm5pbmdcbiIpOwogCQkJYnJlYWs7CiAJCWNhc2UgREVWX1NUQVRFX1NUT1BXQUlUOgotCQkJUFJJTlRfSU5GTygKLQkJCSAgICAgICAiJXM6IGdvdCBjb25uZWN0aW9uIFVQIGV2ZW50IGR1cmluZyBzaHV0ZG93biFcbiIsCi0JCQkgICAgICAgZGV2LT5uYW1lKTsKIAkJCUlVQ1ZfREJGX1RFWFQoZGF0YSwgMiwKIAkJCQkiZGV2X2FjdGlvbl9jb25udXA6IGluIERFVl9TVEFURV9TVE9QV0FJVFxuIik7CiAJCQlicmVhazsKQEAgLTExNzQsOCArMTE1OSw2IEBACiAJCQluc2tiID0gYWxsb2Nfc2tiKHNrYi0+bGVuICsgTkVUSVVDVl9IRFJMRU4gKwogCQkJCQkgTkVUSVVDVl9IRFJMRU4sIEdGUF9BVE9NSUMgfCBHRlBfRE1BKTsKIAkJCWlmICghbnNrYikgewotCQkJCVBSSU5UX1dBUk4oIiVzOiBDb3VsZCBub3QgYWxsb2NhdGUgdHhfc2tiXG4iLAotCQkJCSAgICAgICBjb25uLT5uZXRkZXYtPm5hbWUpOwogCQkJCUlVQ1ZfREJGX1RFWFQoZGF0YSwgMiwgImFsbG9jX3NrYiBmYWlsZWRcbiIpOwogCQkJCXJjID0gLUVOT01FTTsKIAkJCQlyZXR1cm4gcmM7CkBAIC0xMjIzLDcgKzEyMDYsNiBAQAogCQkJCXNrYl9wdWxsKHNrYiwgTkVUSVVDVl9IRFJMRU4pOwogCQkJCXNrYl90cmltKHNrYiwgc2tiLT5sZW4gLSBORVRJVUNWX0hEUkxFTik7CiAJCQl9Ci0JCQlQUklOVF9XQVJOKCJpdWN2X3NlbmQgcmV0dXJuZWQgJTA4eFxuIiwJcmMpOwogCQkJSVVDVl9EQkZfVEVYVF8oZGF0YSwgMiwgInJjICVkIGZyb20gaXVjdl9zZW5kXG4iLCByYyk7CiAJCX0gZWxzZSB7CiAJCQlpZiAoY29waWVkKQpAQCAtMTI5MywxNCArMTI3NSwxMSBAQAogCSAqIFNvbWUgc2FuaXR5IGNoZWNrcyAuLi4KIAkgKi8KIAlpZiAoc2tiID09IE5VTEwpIHsKLQkJUFJJTlRfV0FSTigiJXM6IE5VTEwgc2tfYnVmZiBwYXNzZWRcbiIsIGRldi0+bmFtZSk7CiAJCUlVQ1ZfREJGX1RFWFQoZGF0YSwgMiwgIm5ldGl1Y3ZfdHg6IHNrYiBpcyBOVUxMXG4iKTsKIAkJcHJpdnB0ci0+c3RhdHMudHhfZHJvcHBlZCsrOwogCQlyZXR1cm4gMDsKIAl9CiAJaWYgKHNrYl9oZWFkcm9vbShza2IpIDwgTkVUSVVDVl9IRFJMRU4pIHsKLQkJUFJJTlRfV0FSTigiJXM6IEdvdCBza19idWZmIHdpdGggaGVhZCByb29tIDwgJWxkIGJ5dGVzXG4iLAotCQkgICAgICAgZGV2LT5uYW1lLCBORVRJVUNWX0hEUkxFTik7CiAJCUlVQ1ZfREJGX1RFWFQoZGF0YSwgMiwKIAkJCSJuZXRpdWN2X3R4OiBza2JfaGVhZHJvb20gPCBORVRJVUNWX0hEUkxFTlxuIik7CiAJCWRldl9rZnJlZV9za2Ioc2tiKTsKQEAgLTEzOTMsNyArMTM3Miw2IEBACiAKIAlJVUNWX0RCRl9URVhUKHRyYWNlLCAzLCBfX2Z1bmNfXyk7CiAJaWYgKGNvdW50ID4gOSkgewotCQlQUklOVF9XQVJOKCJuZXRpdWN2OiB1c2VybmFtZSB0b28gbG9uZyAoJWQpIVxuIiwgKGludCkgY291bnQpOwogCQlJVUNWX0RCRl9URVhUXyhzZXR1cCwgMiwKIAkJCSAgICAgICAiJWQgaXMgbGVuZ3RoIG9mIHVzZXJuYW1lXG4iLCAoaW50KSBjb3VudCk7CiAJCXJldHVybiAtRUlOVkFMOwpAQCAtMTQwOSw3ICsxMzg3LDYgQEAKIAkJCS8qIHRyYWlsaW5nIGxmLCBncnIgKi8KIAkJCWJyZWFrOwogCQl9Ci0JCVBSSU5UX1dBUk4oIm5ldGl1Y3Y6IEludmFsaWQgY2hhciAlYyBpbiB1c2VybmFtZSFcbiIsICpwKTsKIAkJSVVDVl9EQkZfVEVYVF8oc2V0dXAsIDIsCiAJCQkgICAgICAgInVzZXJuYW1lOiBpbnZhbGlkIGNoYXJhY3RlciAlY1xuIiwgKnApOwogCQlyZXR1cm4gLUVJTlZBTDsKQEAgLTE0MjEsMTggKzEzOTgsMTUgQEAKIAlpZiAobWVtY21wKHVzZXJuYW1lLCBwcml2LT5jb25uLT51c2VyaWQsIDkpICYmCiAJICAgIChuZGV2LT5mbGFncyAmIChJRkZfVVAgfCBJRkZfUlVOTklORykpKSB7CiAJCS8qIHVzZXJuYW1lIGNoYW5nZWQgd2hpbGUgdGhlIGludGVyZmFjZSBpcyBhY3RpdmUuICovCi0JCVBSSU5UX1dBUk4oIm5ldGl1Y3Y6IGRldmljZSAlcyBhY3RpdmUsIGNvbm5lY3RlZCB0byAlc1xuIiwKLQkJCSAgIGRldi0+YnVzX2lkLCBwcml2LT5jb25uLT51c2VyaWQpOwotCQlQUklOVF9XQVJOKCJuZXRpdWN2OiB1c2VyIGNhbm5vdCBiZSB1cGRhdGVkXG4iKTsKIAkJSVVDVl9EQkZfVEVYVChzZXR1cCwgMiwgInVzZXJfd3JpdGU6IGRldmljZSBhY3RpdmVcbiIpOwotCQlyZXR1cm4gLUVCVVNZOworCQlyZXR1cm4gLUVQRVJNOwogCX0KIAlyZWFkX2xvY2tfYmgoJml1Y3ZfY29ubmVjdGlvbl9yd2xvY2spOwogCWxpc3RfZm9yX2VhY2hfZW50cnkoY3AsICZpdWN2X2Nvbm5lY3Rpb25fbGlzdCwgbGlzdCkgewogCQlpZiAoIXN0cm5jbXAodXNlcm5hbWUsIGNwLT51c2VyaWQsIDkpICYmIGNwLT5uZXRkZXYgIT0gbmRldikgewogCQkJcmVhZF91bmxvY2tfYmgoJml1Y3ZfY29ubmVjdGlvbl9yd2xvY2spOwotCQkJUFJJTlRfV0FSTigibmV0aXVjdjogQ29ubmVjdGlvbiB0byAlcyBhbHJlYWR5ICIKLQkJCQkgICAiZXhpc3RzXG4iLCB1c2VybmFtZSk7CisJCQlJVUNWX0RCRl9URVhUXyhzZXR1cCwgMiwgInVzZXJfd3JpdGU6IENvbm5lY3Rpb24gIgorCQkJCSJ0byAlcyBhbHJlYWR5IGV4aXN0c1xuIiwgdXNlcm5hbWUpOwogCQkJcmV0dXJuIC1FRVhJU1Q7CiAJCX0KIAl9CkBAIC0xNDY2LDEzICsxNDQwLDEwIEBACiAJYnMxID0gc2ltcGxlX3N0cnRvdWwoYnVmLCAmZSwgMCk7CiAKIAlpZiAoZSAmJiAoIWlzc3BhY2UoKmUpKSkgewotCQlQUklOVF9XQVJOKCJuZXRpdWN2OiBJbnZhbGlkIGNoYXJhY3RlciBpbiBidWZmZXIhXG4iKTsKIAkJSVVDVl9EQkZfVEVYVF8oc2V0dXAsIDIsICJidWZmZXJfd3JpdGU6IGludmFsaWQgY2hhciAlY1xuIiwgKmUpOwogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CiAJaWYgKGJzMSA+IE5FVElVQ1ZfQlVGU0laRV9NQVgpIHsKLQkJUFJJTlRfV0FSTigibmV0aXVjdjogR2l2ZW4gYnVmZmVyIHNpemUgJWQgdG9vIGxhcmdlLlxuIiwKLQkJCWJzMSk7CiAJCUlVQ1ZfREJGX1RFWFRfKHNldHVwLCAyLAogCQkJImJ1ZmZlcl93cml0ZTogYnVmZmVyIHNpemUgJWQgdG9vIGxhcmdlXG4iLAogCQkJYnMxKTsKQEAgLTE0ODAsMTYgKzE0NTEsMTIgQEAKIAl9CiAJaWYgKChuZGV2LT5mbGFncyAmIElGRl9SVU5OSU5HKSAmJgogCSAgICAoYnMxIDwgKG5kZXYtPm10dSArIE5FVElVQ1ZfSERSTEVOICsgMikpKSB7Ci0JCVBSSU5UX1dBUk4oIm5ldGl1Y3Y6IEdpdmVuIGJ1ZmZlciBzaXplICVkIHRvbyBzbWFsbC5cbiIsCi0JCQliczEpOwogCQlJVUNWX0RCRl9URVhUXyhzZXR1cCwgMiwKIAkJCSJidWZmZXJfd3JpdGU6IGJ1ZmZlciBzaXplICVkIHRvbyBzbWFsbFxuIiwKIAkJCWJzMSk7CiAJCXJldHVybiAtRUlOVkFMOwogCX0KIAlpZiAoYnMxIDwgKDU3NiArIE5FVElVQ1ZfSERSTEVOICsgTkVUSVVDVl9IRFJMRU4pKSB7Ci0JCVBSSU5UX1dBUk4oIm5ldGl1Y3Y6IEdpdmVuIGJ1ZmZlciBzaXplICVkIHRvbyBzbWFsbC5cbiIsCi0JCQliczEpOwogCQlJVUNWX0RCRl9URVhUXyhzZXR1cCwgMiwKIAkJCSJidWZmZXJfd3JpdGU6IGJ1ZmZlciBzaXplICVkIHRvbyBzbWFsbFxuIiwKIAkJCWJzMSk7CkBAIC0xOTYzLDcgKzE5MzAsNiBAQAogCiAJSVVDVl9EQkZfVEVYVCh0cmFjZSwgMywgX19mdW5jX18pOwogCWlmIChjb3VudD45KSB7Ci0JCVBSSU5UX1dBUk4oIm5ldGl1Y3Y6IHVzZXJuYW1lIHRvbyBsb25nICglZCkhXG4iLCAoaW50KWNvdW50KTsKIAkJSVVDVl9EQkZfVEVYVChzZXR1cCwgMiwgImNvbm5fd3JpdGU6IHRvbyBsb25nXG4iKTsKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQpAQCAtMTk3Niw3ICsxOTQyLDYgQEAKIAkJaWYgKCpwID09ICdcbicpCiAJCQkvKiB0cmFpbGluZyBsZiwgZ3JyICovCiAJCQlicmVhazsKLQkJUFJJTlRfV0FSTigibmV0aXVjdjogSW52YWxpZCBjaGFyYWN0ZXIgaW4gdXNlcm5hbWUhXG4iKTsKIAkJSVVDVl9EQkZfVEVYVF8oc2V0dXAsIDIsCiAJCQkgICAgICAgImNvbm5fd3JpdGU6IGludmFsaWQgY2hhcmFjdGVyICVjXG4iLCAqcCk7CiAJCXJldHVybiAtRUlOVkFMOwpAQCAtMTk4OSw4ICsxOTU0LDggQEAKIAlsaXN0X2Zvcl9lYWNoX2VudHJ5KGNwLCAmaXVjdl9jb25uZWN0aW9uX2xpc3QsIGxpc3QpIHsKIAkJaWYgKCFzdHJuY21wKHVzZXJuYW1lLCBjcC0+dXNlcmlkLCA5KSkgewogCQkJcmVhZF91bmxvY2tfYmgoJml1Y3ZfY29ubmVjdGlvbl9yd2xvY2spOwotCQkJUFJJTlRfV0FSTigibmV0aXVjdjogQ29ubmVjdGlvbiB0byAlcyBhbHJlYWR5ICIKLQkJCQkgICAiZXhpc3RzXG4iLCB1c2VybmFtZSk7CisJCQlJVUNWX0RCRl9URVhUXyhzZXR1cCwgMiwgImNvbm5fd3JpdGU6IENvbm5lY3Rpb24gIgorCQkJCSJ0byAlcyBhbHJlYWR5IGV4aXN0c1xuIiwgdXNlcm5hbWUpOwogCQkJcmV0dXJuIC1FRVhJU1Q7CiAJCX0KIAl9CkBAIC0xOTk4LDkgKzE5NjMsNiBAQAogCiAJZGV2ID0gbmV0aXVjdl9pbml0X25ldGRldmljZSh1c2VybmFtZSk7CiAJaWYgKCFkZXYpIHsKLQkJUFJJTlRfV0FSTigibmV0aXVjdjogQ291bGQgbm90IGFsbG9jYXRlIG5ldHdvcmsgZGV2aWNlICIKLQkJCSAgICJzdHJ1Y3R1cmUgZm9yIHVzZXIgJyVzJ1xuIiwKLQkJCSAgIG5ldGl1Y3ZfcHJpbnRuYW1lKHVzZXJuYW1lKSk7CiAJCUlVQ1ZfREJGX1RFWFQoc2V0dXAsIDIsICJOVUxMIGZyb20gbmV0aXVjdl9pbml0X25ldGRldmljZVxuIik7CiAJCXJldHVybiAtRU5PREVWOwogCX0KQEAgLTIwMjAsMTUgKzE5ODIsMTIgQEAKIAlpZiAocmMpCiAJCWdvdG8gb3V0X3VucmVnOwogCi0JUFJJTlRfSU5GTygiJXM6ICclcydcbiIsIGRldi0+bmFtZSwgbmV0aXVjdl9wcmludG5hbWUodXNlcm5hbWUpKTsKIAogCXJldHVybiBjb3VudDsKIAogb3V0X3VucmVnOgogCW5ldGl1Y3ZfdW5yZWdpc3Rlcl9kZXZpY2UocHJpdi0+ZGV2KTsKIG91dF9mcmVlX25kZXY6Ci0JUFJJTlRfV0FSTigibmV0aXVjdjogQ291bGQgbm90IHJlZ2lzdGVyICclcydcbiIsIGRldi0+bmFtZSk7Ci0JSVVDVl9EQkZfVEVYVChzZXR1cCwgMiwgImNvbm5fd3JpdGU6IGNvdWxkIG5vdCByZWdpc3RlclxuIik7CiAJbmV0aXVjdl9mcmVlX25ldGRldmljZShkZXYpOwogCXJldHVybiByYzsKIH0KQEAgLTIwNzMsMTQgKzIwMzIsMTMgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIFBSSU5UX1dBUk4oIm5ldGl1Y3Y6ICVzIGNhbm5vdCBiZSByZW1vdmVkXG4iLAogCQkJCSAgIG5kZXYtPm5hbWUpOwogCQkJSVVDVl9EQkZfVEVYVChkYXRhLCAyLCAicmVtb3ZlX3dyaXRlOiBzdGlsbCBhY3RpdmVcbiIpOwotICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC1FQlVTWTsKKwkJCXJldHVybiAtRVBFUk07CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIHVucmVnaXN0ZXJfbmV0ZGV2KG5kZXYpOwogICAgICAgICAgICAgICAgIG5ldGl1Y3ZfdW5yZWdpc3Rlcl9kZXZpY2UoZGV2KTsKICAgICAgICAgICAgICAgICByZXR1cm4gY291bnQ7CiAgICAgICAgIH0KIAlyZWFkX3VubG9ja19iaCgmaXVjdl9jb25uZWN0aW9uX3J3bG9jayk7Ci0gICAgICAgIFBSSU5UX1dBUk4oIm5ldGl1Y3Y6IG5ldCBkZXZpY2UgJXMgdW5rbm93blxuIiwgbmFtZSk7CiAJSVVDVl9EQkZfVEVYVChkYXRhLCAyLCAicmVtb3ZlX3dyaXRlOiB1bmtub3duIGRldmljZVxuIik7CiAgICAgICAgIHJldHVybiAtRUlOVkFMOwogfQpAQCAtMjE0OCw3ICsyMTA2LDYgQEAKIAluZXRpdWN2X2RyaXZlci5ncm91cHMgPSBuZXRpdWN2X2Rydl9hdHRyX2dyb3VwczsKIAlyYyA9IGRyaXZlcl9yZWdpc3RlcigmbmV0aXVjdl9kcml2ZXIpOwogCWlmIChyYykgewotCQlQUklOVF9FUlIoIk5FVElVQ1Y6IGZhaWxlZCB0byByZWdpc3RlciBkcml2ZXIuXG4iKTsKIAkJSVVDVl9EQkZfVEVYVF8oc2V0dXAsIDIsICJyZXQgJWQgZnJvbSBkcml2ZXJfcmVnaXN0ZXJcbiIsIHJjKTsKIAkJZ290byBvdXRfaXVjdjsKIAl9CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvbmV0L3FldGhfY29yZV9tYWluLmMgYi9kcml2ZXJzL3MzOTAvbmV0L3FldGhfY29yZV9tYWluLmMKaW5kZXggOWE3MWRhZS4uMGFjNTRkYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL25ldC9xZXRoX2NvcmVfbWFpbi5jCisrKyBiL2RyaXZlcnMvczM5MC9uZXQvcWV0aF9jb3JlX21haW4uYwpAQCAtNDIwLDcgKzQyMCw3IEBACiAJCQkJUUVUSF9EQkZfVEVYVChUUkFDRSwgMywgInVybGEiKTsKIAkJCQlicmVhazsKIAkJCWRlZmF1bHQ6Ci0JCQkJUFJJTlRfV0FSTigiUmVjZWl2ZWQgZGF0YSBpcyBJUEEgIgorCQkJCVFFVEhfREJGX01FU1NBR0UoMiwgIlJlY2VpdmVkIGRhdGEgaXMgSVBBICIKIAkJCQkJICAgImJ1dCBub3QgYSByZXBseSFcbiIpOwogCQkJCWJyZWFrOwogCQkJfQpAQCAtNzM1LDggKzczNSw4IEBACiAJY2hhciAqc2Vuc2U7CiAKIAlzZW5zZSA9IChjaGFyICopIGlyYi0+ZWN3OwotCWNzdGF0ID0gaXJiLT5zY3N3LmNzdGF0OwotCWRzdGF0ID0gaXJiLT5zY3N3LmRzdGF0OworCWNzdGF0ID0gaXJiLT5zY3N3LmNtZC5jc3RhdDsKKwlkc3RhdCA9IGlyYi0+c2Nzdy5jbWQuZHN0YXQ7CiAKIAlpZiAoY3N0YXQgJiAoU0NITl9TVEFUX0NITl9DVFJMX0NISyB8IFNDSE5fU1RBVF9JTlRGX0NUUkxfQ0hLIHwKIAkJICAgICBTQ0hOX1NUQVRfQ0hOX0RBVEFfQ0hLIHwgU0NITl9TVEFUX0NIQUlOX0NIRUNLIHwKQEAgLTgyMyw4ICs4MjMsOCBAQAogCiAJaWYgKF9fcWV0aF9jaGVja19pcmJfZXJyb3IoY2RldiwgaW50cGFybSwgaXJiKSkKIAkJcmV0dXJuOwotCWNzdGF0ID0gaXJiLT5zY3N3LmNzdGF0OwotCWRzdGF0ID0gaXJiLT5zY3N3LmRzdGF0OworCWNzdGF0ID0gaXJiLT5zY3N3LmNtZC5jc3RhdDsKKwlkc3RhdCA9IGlyYi0+c2Nzdy5jbWQuZHN0YXQ7CiAKIAljYXJkID0gQ0FSRF9GUk9NX0NERVYoY2Rldik7CiAJaWYgKCFjYXJkKQpAQCAtODQyLDEwICs4NDIsMTAgQEAKIAl9CiAJYXRvbWljX3NldCgmY2hhbm5lbC0+aXJxX3BlbmRpbmcsIDApOwogCi0JaWYgKGlyYi0+c2Nzdy5mY3RsICYgKFNDU1dfRkNUTF9DTEVBUl9GVU5DKSkKKwlpZiAoaXJiLT5zY3N3LmNtZC5mY3RsICYgKFNDU1dfRkNUTF9DTEVBUl9GVU5DKSkKIAkJY2hhbm5lbC0+c3RhdGUgPSBDSF9TVEFURV9TVE9QUEVEOwogCi0JaWYgKGlyYi0+c2Nzdy5mY3RsICYgKFNDU1dfRkNUTF9IQUxUX0ZVTkMpKQorCWlmIChpcmItPnNjc3cuY21kLmZjdGwgJiAoU0NTV19GQ1RMX0hBTFRfRlVOQykpCiAJCWNoYW5uZWwtPnN0YXRlID0gQ0hfU1RBVEVfSEFMVEVEOwogCiAJLypsZXQncyB3YWtlIHVwIGltbWVkaWF0ZWx5IG9uIGRhdGEgY2hhbm5lbCovCkBAIC00MDkyLDcgKzQwOTIsNiBAQAogCiAJcmMgPSBxZXRoX2RldGVybWluZV9jYXJkX3R5cGUoY2FyZCk7CiAJaWYgKHJjKSB7Ci0JCVBSSU5UX1dBUk4oIiVzOiBub3QgYSB2YWxpZCBjYXJkIHR5cGVcbiIsIF9fZnVuY19fKTsKIAkJUUVUSF9EQkZfVEVYVF8oU0VUVVAsIDIsICIzZXJyJWQiLCByYyk7CiAJCWdvdG8gZXJyX2NhcmQ7CiAJfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL25ldC9xZXRoX2wzX21haW4uYyBiL2RyaXZlcnMvczM5MC9uZXQvcWV0aF9sM19tYWluLmMKaW5kZXggOTk5NTUyYy4uMDZkZWFlZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL25ldC9xZXRoX2wzX21haW4uYworKysgYi9kcml2ZXJzL3MzOTAvbmV0L3FldGhfbDNfbWFpbi5jCkBAIC05NDQsMTUgKzk0NCw4IEBACiAJZWxzZQogCQlyYyA9IHFldGhfbDNfc2VuZF9zZXRkZWxpcChjYXJkLCBhZGRyLCBJUEFfQ01EX0RFTElQLAogCQkJCQlhZGRyLT5kZWxfZmxhZ3MpOwotCWlmIChyYykgeworCWlmIChyYykKIAkJUUVUSF9EQkZfVEVYVChUUkFDRSwgMiwgImZhaWxlZCIpOwotCQkvKiBUT0RPOiByZS1hY3RpdmF0ZSB0aGlzIHdhcm5pbmcgYXMgc29vbiBhcyB3ZSBoYXZlIGEKLQkJICogY2xlYW4gbWlyY28gY29kZQotCQlxZXRoX2lwYWRkcl90b19zdHJpbmcoYWRkci0+cHJvdG8sICh1OCAqKSZhZGRyLT51LCBidWYpOwotCQlQUklOVF9XQVJOKCJDb3VsZCBub3QgZGVyZWdpc3RlciBJUCBhZGRyZXNzICVzIChyYz0leClcbiIsCi0JCQkgICBidWYsIHJjKTsKLQkJKi8KLQl9CiAKIAlyZXR1cm4gcmM7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvbmV0L3Ntc2dpdWN2LmMgYi9kcml2ZXJzL3MzOTAvbmV0L3Ntc2dpdWN2LmMKaW5kZXggODczNWE0MS4uMTY0ZTA5MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL25ldC9zbXNnaXVjdi5jCisrKyBiL2RyaXZlcnMvczM5MC9uZXQvc21zZ2l1Y3YuYwpAQCAtMTU2LDExICsxNTYsOCBAQAogCWlmIChyYyAhPSAwKQogCQlnb3RvIG91dDsKIAlyYyA9IGl1Y3ZfcmVnaXN0ZXIoJnNtc2dfaGFuZGxlciwgMSk7Ci0JaWYgKHJjKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiU01TR0lVQ1Y6IGZhaWxlZCB0byByZWdpc3RlciB0byBpdWN2Iik7Ci0JCXJjID0gLUVJTzsJLyogYmV0dGVyIGVycm5vID8gKi8KKwlpZiAocmMpCiAJCWdvdG8gb3V0X2RyaXZlcjsKLQl9CiAJc21zZ19wYXRoID0gaXVjdl9wYXRoX2FsbG9jKDI1NSwgMCwgR0ZQX0tFUk5FTCk7CiAJaWYgKCFzbXNnX3BhdGgpIHsKIAkJcmMgPSAtRU5PTUVNOwpAQCAtMTY4LDExICsxNjUsOCBAQAogCX0KIAlyYyA9IGl1Y3ZfcGF0aF9jb25uZWN0KHNtc2dfcGF0aCwgJnNtc2dfaGFuZGxlciwgIipNU0cgICAgIiwKIAkJCSAgICAgICBOVUxMLCBOVUxMLCBOVUxMKTsKLQlpZiAocmMpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJTTVNHSVVDVjogZmFpbGVkIHRvIGNvbm5lY3QgdG8gKk1TRyIpOwotCQlyYyA9IC1FSU87CS8qIGJldHRlciBlcnJubyA/ICovCisJaWYgKHJjKQogCQlnb3RvIG91dF9mcmVlOwotCX0KIAljcGNtZCgiU0VUIFNNU0cgSVVDViIsIE5VTEwsIDAsIE5VTEwpOwogCXJldHVybiAwOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvczM5MG1hY2guYyBiL2RyaXZlcnMvczM5MC9zMzkwbWFjaC5jCmluZGV4IDViZmJlNzYuLjgzNGU5ZWUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9zMzkwbWFjaC5jCisrKyBiL2RyaXZlcnMvczM5MC9zMzkwbWFjaC5jCkBAIC0yLDEwICsyLDEwIEBACiAgKiAgZHJpdmVycy9zMzkwL3MzOTBtYWNoLmMKICAqICAgUy8zOTAgbWFjaGluZSBjaGVjayBoYW5kbGVyCiAgKgotICogIFMzOTAgdmVyc2lvbgotICogICAgQ29weXJpZ2h0IChDKSAyMDAwIElCTSBEZXV0c2NobGFuZCBFbnR3aWNrbHVuZyBHbWJILCBJQk0gQ29ycG9yYXRpb24KKyAqICAgIENvcHlyaWdodCBJQk0gQ29ycC4gMjAwMCwyMDA4CiAgKiAgICBBdXRob3Iocyk6IEluZ28gQWRsdW5nIChhZGx1bmdAZGUuaWJtLmNvbSkKICAqCQkgTWFydGluIFNjaHdpZGVmc2t5IChzY2h3aWRlZnNreUBkZS5pYm0uY29tKQorICoJCSBDb3JuZWxpYSBIdWNrIDxjb3JuZWxpYS5odWNrQGRlLmlibS5jb20+CiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KQEAgLTE4LDEwICsxOCw2IEBACiAjaW5jbHVkZSA8YXNtL2V0ci5oPgogI2luY2x1ZGUgPGFzbS9sb3djb3JlLmg+CiAjaW5jbHVkZSA8YXNtL2Npby5oPgotI2luY2x1ZGUgImNpby9jaW8uaCIKLSNpbmNsdWRlICJjaW8vY2hzYy5oIgotI2luY2x1ZGUgImNpby9jc3MuaCIKLSNpbmNsdWRlICJjaW8vY2hwLmgiCiAjaW5jbHVkZSAiczM5MG1hY2guaCIKIAogc3RhdGljIHN0cnVjdCBzZW1hcGhvcmUgbV9zZW07CkBAIC0zNiwxMyArMzIsNDAgQEAKIAlmb3IoOzspOwogfQogCitzdGF0aWMgY3J3X2hhbmRsZXJfdCBjcndfaGFuZGxlcnNbTlJfUlNDU107CisKKy8qKgorICogczM5MF9yZWdpc3Rlcl9jcndfaGFuZGxlcigpIC0gcmVnaXN0ZXIgYSBjaGFubmVsIHJlcG9ydCB3b3JkIGhhbmRsZXIKKyAqIEByc2M6IHJlcG9ydGluZyBzb3VyY2UgY29kZSB0byBoYW5kbGUKKyAqIEBoYW5kbGVyOiBoYW5kbGVyIHRvIGJlIHJlZ2lzdGVyZWQKKyAqCisgKiBSZXR1cm5zICUwIG9uIHN1Y2Nlc3MgYW5kIGEgbmVnYXRpdmUgZXJyb3IgdmFsdWUgb3RoZXJ3aXNlLgorICovCitpbnQgczM5MF9yZWdpc3Rlcl9jcndfaGFuZGxlcihpbnQgcnNjLCBjcndfaGFuZGxlcl90IGhhbmRsZXIpCit7CisJaWYgKChyc2MgPCAwKSB8fCAocnNjID49IE5SX1JTQ1MpKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAoIWNtcHhjaGcoJmNyd19oYW5kbGVyc1tyc2NdLCBOVUxMLCBoYW5kbGVyKSkKKwkJcmV0dXJuIDA7CisJcmV0dXJuIC1FQlVTWTsKK30KKworLyoqCisgKiBzMzkwX3VucmVnaXN0ZXJfY3J3X2hhbmRsZXIoKSAtIHVucmVnaXN0ZXIgYSBjaGFubmVsIHJlcG9ydCB3b3JkIGhhbmRsZXIKKyAqIEByc2M6IHJlcG9ydGluZyBzb3VyY2UgY29kZSB0byBoYW5kbGUKKyAqLwordm9pZCBzMzkwX3VucmVnaXN0ZXJfY3J3X2hhbmRsZXIoaW50IHJzYykKK3sKKwlpZiAoKHJzYyA8IDApIHx8IChyc2MgPj0gTlJfUlNDUykpCisJCXJldHVybjsKKwl4Y2hnKCZjcndfaGFuZGxlcnNbcnNjXSwgTlVMTCk7CisJc3luY2hyb25pemVfc2NoZWQoKTsKK30KKwogLyoKICAqIFJldHJpZXZlIENSV3MgYW5kIGNhbGwgZnVuY3Rpb24gdG8gaGFuZGxlIGV2ZW50LgotICoKLSAqIE5vdGUgOiB3ZSBjdXJyZW50bHkgcHJvY2VzcyBDUldzIGZvciBpbyBhbmQgY2hzYyBzdWJjaGFubmVscyBvbmx5CiAgKi8KLXN0YXRpYyBpbnQKLXMzOTBfY29sbGVjdF9jcndfaW5mbyh2b2lkICpwYXJhbSkKK3N0YXRpYyBpbnQgczM5MF9jb2xsZWN0X2Nyd19pbmZvKHZvaWQgKnBhcmFtKQogewogCXN0cnVjdCBjcncgY3J3WzJdOwogCWludCBjY29kZTsKQEAgLTg0LDU3ICsxMDcsMjQgQEAKIAkJICAgICAgIGNyd1tjaGFpbl0ucnNpZCk7CiAJCS8qIENoZWNrIGZvciBvdmVyZmxvd3MuICovCiAJCWlmIChjcndbY2hhaW5dLm9mbHcpIHsKKwkJCWludCBpOworCiAJCQlwcl9kZWJ1ZygiJXM6IGNydyBvdmVyZmxvdyBkZXRlY3RlZCFcbiIsIF9fZnVuY19fKTsKLQkJCWNzc19zY2hlZHVsZV9ldmFsX2FsbCgpOworCQkJZm9yIChpID0gMDsgaSA8IE5SX1JTQ1M7IGkrKykgeworCQkJCWlmIChjcndfaGFuZGxlcnNbaV0pCisJCQkJCWNyd19oYW5kbGVyc1tpXShOVUxMLCBOVUxMLCAxKTsKKwkJCX0KIAkJCWNoYWluID0gMDsKIAkJCWNvbnRpbnVlOwogCQl9Ci0JCXN3aXRjaCAoY3J3W2NoYWluXS5yc2MpIHsKLQkJY2FzZSBDUldfUlNDX1NDSDoKLQkJCWlmIChjcndbMF0uY2huICYmICFjaGFpbikKLQkJCQlicmVhazsKLQkJCXByX2RlYnVnKCJzb3VyY2UgaXMgc3ViY2hhbm5lbCAlMDRYXG4iLCBjcndbMF0ucnNpZCk7Ci0JCQljc3NfcHJvY2Vzc19jcncoY3J3WzBdLnJzaWQsIGNoYWluID8gY3J3WzFdLnJzaWQgOiAwKTsKLQkJCWJyZWFrOwotCQljYXNlIENSV19SU0NfTU9OSVRPUjoKLQkJCXByX2RlYnVnKCJzb3VyY2UgaXMgbW9uaXRvcmluZyBmYWNpbGl0eVxuIik7Ci0JCQlicmVhazsKLQkJY2FzZSBDUldfUlNDX0NQQVRIOgotCQkJcHJfZGVidWcoInNvdXJjZSBpcyBjaGFubmVsIHBhdGggJTAyWFxuIiwgY3J3WzBdLnJzaWQpOwotCQkJLyoKLQkJCSAqIENoZWNrIGZvciBzb2xpY2l0ZWQgbWFjaGluZSBjaGVja3MuIFRoZXNlIGFyZQotCQkJICogY3JlYXRlZCBieSByZXNldCBjaGFubmVsIHBhdGggYW5kIG5lZWQgbm90IGJlCi0JCQkgKiByZXBvcnRlZCB0byB0aGUgY29tbW9uIEkvTyBsYXllci4KLQkJCSAqLwotCQkJaWYgKGNyd1tjaGFpbl0uc2xjdCkgewotCQkJCXByX2RlYnVnKCJzb2xpY2l0ZWQgbWFjaGluZSBjaGVjayBmb3IgIgotCQkJCQkgImNoYW5uZWwgcGF0aCAlMDJYXG4iLCBjcndbMF0ucnNpZCk7Ci0JCQkJYnJlYWs7Ci0JCQl9Ci0JCQlzd2l0Y2ggKGNyd1swXS5lcmMpIHsKLQkJCWNhc2UgQ1JXX0VSQ19JUEFSTTogLyogUGF0aCBoYXMgY29tZS4gKi8KLQkJCQljaHBfcHJvY2Vzc19jcncoY3J3WzBdLnJzaWQsIDEpOwotCQkJCWJyZWFrOwotCQkJY2FzZSBDUldfRVJDX1BFUlJJOiAvKiBQYXRoIGhhcyBnb25lLiAqLwotCQkJY2FzZSBDUldfRVJDX1BFUlJOOgotCQkJCWNocF9wcm9jZXNzX2NydyhjcndbMF0ucnNpZCwgMCk7Ci0JCQkJYnJlYWs7Ci0JCQlkZWZhdWx0OgotCQkJCXByX2RlYnVnKCJEb24ndCBrbm93IGhvdyB0byBoYW5kbGUgZXJjPSV4XG4iLAotCQkJCQkgY3J3WzBdLmVyYyk7Ci0JCQl9Ci0JCQlicmVhazsKLQkJY2FzZSBDUldfUlNDX0NPTkZJRzoKLQkJCXByX2RlYnVnKCJzb3VyY2UgaXMgY29uZmlndXJhdGlvbi1hbGVydCBmYWNpbGl0eVxuIik7Ci0JCQlicmVhazsKLQkJY2FzZSBDUldfUlNDX0NTUzoKLQkJCXByX2RlYnVnKCJzb3VyY2UgaXMgY2hhbm5lbCBzdWJzeXN0ZW1cbiIpOwotCQkJY2hzY19wcm9jZXNzX2NydygpOwotCQkJYnJlYWs7Ci0JCWRlZmF1bHQ6Ci0JCQlwcl9kZWJ1ZygidW5rbm93biBzb3VyY2VcbiIpOwotCQkJYnJlYWs7CisJCWlmIChjcndbMF0uY2huICYmICFjaGFpbikgeworCQkJY2hhaW4rKzsKKwkJCWNvbnRpbnVlOwogCQl9CisJCWlmIChjcndfaGFuZGxlcnNbY3J3W2NoYWluXS5yc2NdKQorCQkJY3J3X2hhbmRsZXJzW2Nyd1tjaGFpbl0ucnNjXSgmY3J3WzBdLAorCQkJCQkJICAgICBjaGFpbiA/ICZjcndbMV0gOiBOVUxMLAorCQkJCQkJICAgICAwKTsKIAkJLyogY2hhaW4gaXMgYWx3YXlzIDAgb3IgMSBoZXJlLiAqLwogCQljaGFpbiA9IGNyd1tjaGFpbl0uY2huID8gY2hhaW4gKyAxIDogMDsKIAl9CkBAIC00NjgsNiArNDU4LDEwIEBACiAJCQlldHJfc3luY19jaGVjaygpOwogCQlpZiAoUzM5MF9sb3djb3JlLmV4dGVybmFsX2RhbWFnZV9jb2RlICYgKDFVIDw8IEVEX0VUUl9TV0lUQ0gpKQogCQkJZXRyX3N3aXRjaF90b19sb2NhbCgpOworCQlpZiAoUzM5MF9sb3djb3JlLmV4dGVybmFsX2RhbWFnZV9jb2RlICYgKDFVIDw8IEVEX1NUUF9TWU5DKSkKKwkJCXN0cF9zeW5jX2NoZWNrKCk7CisJCWlmIChTMzkwX2xvd2NvcmUuZXh0ZXJuYWxfZGFtYWdlX2NvZGUgJiAoMVUgPDwgRURfU1RQX0lTTEFORCkpCisJCQlzdHBfaXNsYW5kX2NoZWNrKCk7CiAJfQogCiAJaWYgKG1jaS0+c2UpCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvczM5MG1hY2guaCBiL2RyaXZlcnMvczM5MC9zMzkwbWFjaC5oCmluZGV4IGNhNjgxZjkuLmQzOWY4YjYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9zMzkwbWFjaC5oCisrKyBiL2RyaXZlcnMvczM5MC9zMzkwbWFjaC5oCkBAIC03Miw2ICs3MiwxMyBAQAogCV9fdTMyIHJzaWQgICAgOiAxNjsgICAvKiByZXBvcnRpbmctc291cmNlIElEICovCiB9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKIAordHlwZWRlZiB2b2lkICgqY3J3X2hhbmRsZXJfdCkoc3RydWN0IGNydyAqLCBzdHJ1Y3QgY3J3ICosIGludCk7CisKK2V4dGVybiBpbnQgczM5MF9yZWdpc3Rlcl9jcndfaGFuZGxlcihpbnQgcnNjLCBjcndfaGFuZGxlcl90IGhhbmRsZXIpOworZXh0ZXJuIHZvaWQgczM5MF91bnJlZ2lzdGVyX2Nyd19oYW5kbGVyKGludCByc2MpOworCisjZGVmaW5lIE5SX1JTQ1MgMTYKKwogI2RlZmluZSBDUldfUlNDX01PTklUT1IgIDB4MiAgLyogbW9uaXRvcmluZyBmYWNpbGl0eSAqLwogI2RlZmluZSBDUldfUlNDX1NDSCAgICAgIDB4MyAgLyogc3ViY2hhbm5lbCAqLwogI2RlZmluZSBDUldfUlNDX0NQQVRIICAgIDB4NCAgLyogY2hhbm5lbCBwYXRoICovCkBAIC0xMDUsNiArMTEyLDkgQEAKICNkZWZpbmUgRURfRVRSX1NZTkMJMTIJLyogRXh0ZXJuYWwgZGFtYWdlIEVUUiBzeW5jIGNoZWNrICovCiAjZGVmaW5lIEVEX0VUUl9TV0lUQ0gJMTMJLyogRXh0ZXJuYWwgZGFtYWdlIEVUUiBzd2l0Y2ggdG8gbG9jYWwgKi8KIAorI2RlZmluZSBFRF9TVFBfU1lOQwk3CS8qIEV4dGVybmFsIGRhbWFnZSBTVFAgc3luYyBjaGVjayAqLworI2RlZmluZSBFRF9TVFBfSVNMQU5ECTYJLyogRXh0ZXJuYWwgZGFtYWdlIFNUUCBpc2xhbmQgY2hlY2sgKi8KKwogc3RydWN0IHB0X3JlZ3M7CiAKIHZvaWQgczM5MF9oYW5kbGVfbWNjayh2b2lkKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2J1cy9jaGFyL2JwcC5jIGIvZHJpdmVycy9zYnVzL2NoYXIvYnBwLmMKaW5kZXggMDNjOTY2MC4uYmJhMjFlMDUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2J1cy9jaGFyL2JwcC5jCisrKyBiL2RyaXZlcnMvc2J1cy9jaGFyL2JwcC5jCkBAIC0xOSw2ICsxOSw3IEBACiAjaW5jbHVkZSA8bGludXgvdGltZXIuaD4KICNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4KICNpbmNsdWRlIDxsaW51eC9tYWpvci5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogI2luY2x1ZGUgPGFzbS9pby5oPgpAQCAtNDI5LDYgKzQzMCw3IEBACiAgICAgICB1bnNpZ25lZCBtaW5vciA9IGltaW5vcihpbm9kZSk7CiAgICAgICBpbnQgcmV0OwogCisgICAgICBsb2NrX2tlcm5lbCgpOwogICAgICAgc3Bpbl9sb2NrKCZicHBfb3Blbl9sb2NrKTsKICAgICAgIHJldCA9IDA7CiAgICAgICBpZiAobWlub3IgPj0gQlBQX05PKSB7CkBAIC00NDQsNiArNDQ2LDcgQEAKIAkgICAgICB9CiAgICAgICB9CiAgICAgICBzcGluX3VubG9jaygmYnBwX29wZW5fbG9jayk7CisgICAgICB1bmxvY2tfa2VybmVsKCk7CiAKICAgICAgIHJldHVybiByZXQ7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL3NidXMvY2hhci9jcHdhdGNoZG9nLmMgYi9kcml2ZXJzL3NidXMvY2hhci9jcHdhdGNoZG9nLmMKaW5kZXggMjM1NzAzNC4uMjNhYmZkZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9zYnVzL2NoYXIvY3B3YXRjaGRvZy5jCisrKyBiL2RyaXZlcnMvc2J1cy9jaGFyL2Nwd2F0Y2hkb2cuYwpAQCAtMjc5LDYgKzI3OSw3IEBACiAKIHN0YXRpYyBpbnQgd2Rfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZikKIHsKKwlsb2NrX2tlcm5lbCgpOwogCXN3aXRjaChpbWlub3IoaW5vZGUpKQogCXsKIAkJY2FzZSBXRDBfTUlOT1I6CkBAIC0yOTEsNiArMjkyLDcgQEAKIAkJCWYtPnByaXZhdGVfZGF0YSA9ICZ3ZF9kZXYud2F0Y2hkb2dbV0QyX0lEXTsKIAkJCWJyZWFrOwogCQlkZWZhdWx0OgorCQkJdW5sb2NrX2tlcm5lbCgpOwogCQkJcmV0dXJuKC1FTk9ERVYpOwogCX0KIApAQCAtMzA0LDExICszMDYsMTMgQEAKIAkJCQkJCSh2b2lkICopd2RfZGV2LnJlZ3MpKSB7CiAJCQlwcmludGsoIiVzOiBDYW5ub3QgcmVnaXN0ZXIgSVJRICVkXG4iLCAKIAkJCQlXRF9PQlBOQU1FLCB3ZF9kZXYuaXJxKTsKKwkJCXVubG9ja19rZXJuZWwoKTsKIAkJCXJldHVybigtRUJVU1kpOwogCQl9CiAJCXdkX2Rldi5pbml0aWFsaXplZCA9IDE7CiAJfQogCisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybihub25zZWVrYWJsZV9vcGVuKGlub2RlLCBmKSk7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2J1cy9jaGFyL2Rpc3BsYXk3c2VnLmMgYi9kcml2ZXJzL3NidXMvY2hhci9kaXNwbGF5N3NlZy5jCmluZGV4IDMyNzlhMWIuLmQ4ZjVjMGMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2J1cy9jaGFyL2Rpc3BsYXk3c2VnLmMKKysrIGIvZHJpdmVycy9zYnVzL2NoYXIvZGlzcGxheTdzZWcuYwpAQCAtOTQsNiArOTQsNyBAQAogewogCWlmIChEN1NfTUlOT1IgIT0gaW1pbm9yKGlub2RlKSkKIAkJcmV0dXJuIC1FTk9ERVY7CisJY3ljbGVfa2VybmVsX2xvY2soKTsKIAlhdG9taWNfaW5jKCZkN3NfdXNlcnMpOwogCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zYnVzL2NoYXIvZW52Y3RybC5jIGIvZHJpdmVycy9zYnVzL2NoYXIvZW52Y3RybC5jCmluZGV4IGRhZGFiZWYuLmE0MDg0MDIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2J1cy9jaGFyL2VudmN0cmwuYworKysgYi9kcml2ZXJzL3NidXMvY2hhci9lbnZjdHJsLmMKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlIDxsaW51eC9taXNjZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgva21vZC5oPgogI2luY2x1ZGUgPGxpbnV4L3JlYm9vdC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICNpbmNsdWRlIDxhc20vZWJ1cy5oPgogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CkBAIC02OTQsNiArNjk1LDcgQEAKIHN0YXRpYyBpbnQKIGVudmN0cmxfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKKwljeWNsZV9rZXJuZWxfbG9jaygpOwogCWZpbGUtPnByaXZhdGVfZGF0YSA9IE5VTEw7CiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL3NidXMvY2hhci9mbGFzaC5jIGIvZHJpdmVycy9zYnVzL2NoYXIvZmxhc2guYwppbmRleCA0NGUwMzk4Li43ZDk1ZTE1IDEwMDY0NAotLS0gYS9kcml2ZXJzL3NidXMvY2hhci9mbGFzaC5jCisrKyBiL2RyaXZlcnMvc2J1cy9jaGFyL2ZsYXNoLmMKQEAgLTEyNyw5ICsxMjcsMTMgQEAKIHN0YXRpYyBpbnQKIGZsYXNoX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCiB7Ci0JaWYgKHRlc3RfYW5kX3NldF9iaXQoMCwgKHZvaWQgKikmZmxhc2guYnVzeSkgIT0gMCkKKwlsb2NrX2tlcm5lbCgpOworCWlmICh0ZXN0X2FuZF9zZXRfYml0KDAsICh2b2lkICopJmZsYXNoLmJ1c3kpICE9IDApIHsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gLUVCVVNZOworCX0KIAorCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9zYnVzL2NoYXIvanNmbGFzaC5jIGIvZHJpdmVycy9zYnVzL2NoYXIvanNmbGFzaC5jCmluZGV4IDRiNzA3OWYuLjJiZWM5Y2MgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2J1cy9jaGFyL2pzZmxhc2guYworKysgYi9kcml2ZXJzL3NidXMvY2hhci9qc2ZsYXNoLmMKQEAgLTI3LDYgKzI3LDcgQEAKICAqLwogCiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CiAjaW5jbHVkZSA8bGludXgvbWlzY2RldmljZS5oPgpAQCAtNDE3LDExICs0MTgsMTcgQEAKIAogc3RhdGljIGludCBqc2Zfb3BlbihzdHJ1Y3QgaW5vZGUgKiBpbm9kZSwgc3RydWN0IGZpbGUgKiBmaWxwKQogewotCi0JaWYgKGpzZjAuYmFzZSA9PSAwKSByZXR1cm4gLUVOWElPOwotCWlmICh0ZXN0X2FuZF9zZXRfYml0KDAsICh2b2lkICopJmpzZjAuYnVzeSkgIT0gMCkKKwlsb2NrX2tlcm5lbCgpOworCWlmIChqc2YwLmJhc2UgPT0gMCkgeworCQl1bmxvY2tfa2VybmVsKCk7CisJCXJldHVybiAtRU5YSU87CisJfQorCWlmICh0ZXN0X2FuZF9zZXRfYml0KDAsICh2b2lkICopJmpzZjAuYnVzeSkgIT0gMCkgeworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiAtRUJVU1k7CisJfQogCisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiAwOwkvKiBYWFggV2hhdCBzZWN1cml0eT8gKi8KIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9zYnVzL2NoYXIvb3BlbnByb20uYyBiL2RyaXZlcnMvc2J1cy9jaGFyL29wZW5wcm9tLmMKaW5kZXggZmJmZWI4OS4uMjlkYzczNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zYnVzL2NoYXIvb3BlbnByb20uYworKysgYi9kcml2ZXJzL3NidXMvY2hhci9vcGVucHJvbS5jCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CiAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KICNpbmNsdWRlIDxsaW51eC9taXNjZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgpAQCAtNjg5LDkgKzY5MCwxMSBAQAogCWlmICghZGF0YSkKIAkJcmV0dXJuIC1FTk9NRU07CiAKKwlsb2NrX2tlcm5lbCgpOwogCWRhdGEtPmN1cnJlbnRfbm9kZSA9IG9mX2ZpbmRfbm9kZV9ieV9wYXRoKCIvIik7CiAJZGF0YS0+bGFzdG5vZGUgPSBkYXRhLT5jdXJyZW50X25vZGU7CiAJZmlsZS0+cHJpdmF0ZV9kYXRhID0gKHZvaWQgKikgZGF0YTsKKwl1bmxvY2tfa2VybmVsKCk7CiAKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2J1cy9jaGFyL3Jpb3dhdGNoZG9nLmMgYi9kcml2ZXJzL3NidXMvY2hhci9yaW93YXRjaGRvZy5jCmluZGV4IGEyZmM2YjguLjg4YzBmYzYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2J1cy9jaGFyL3Jpb3dhdGNoZG9nLmMKKysrIGIvZHJpdmVycy9zYnVzL2NoYXIvcmlvd2F0Y2hkb2cuYwpAQCAtMTEsNiArMTEsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L21pc2NkZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAjaW5jbHVkZSA8YXNtL2VidXMuaD4KQEAgLTExNiw2ICsxMTcsNyBAQAogCiBzdGF0aWMgaW50IHJpb3dkX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbHApCiB7CisJY3ljbGVfa2VybmVsX2xvY2soKTsKIAlub25zZWVrYWJsZV9vcGVuKGlub2RlLCBmaWxwKTsKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2J1cy9jaGFyL3J0Yy5jIGIvZHJpdmVycy9zYnVzL2NoYXIvcnRjLmMKaW5kZXggMThkMThmMS4uYjA0Mjk5MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zYnVzL2NoYXIvcnRjLmMKKysrIGIvZHJpdmVycy9zYnVzL2NoYXIvcnRjLmMKQEAgLTEyLDYgKzEyLDcgQEAKICAqLwogCiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CiAjaW5jbHVkZSA8bGludXgvbWlzY2RldmljZS5oPgpAQCAtMjEzLDYgKzIxNCw3IEBACiB7CiAJaW50IHJldDsKIAorCWxvY2tfa2VybmVsKCk7CiAJc3Bpbl9sb2NrX2lycSgmbW9zdGVrX2xvY2spOwogCWlmIChydGNfYnVzeSkgewogCQlyZXQgPSAtRUJVU1k7CkBAIC0yMjEsNiArMjIzLDcgQEAKIAkJcmV0ID0gMDsKIAl9CiAJc3Bpbl91bmxvY2tfaXJxKCZtb3N0ZWtfbG9jayk7CisJdW5sb2NrX2tlcm5lbCgpOwogCiAJcmV0dXJuIHJldDsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2J1cy9jaGFyL3VjdHJsLmMgYi9kcml2ZXJzL3NidXMvY2hhci91Y3RybC5jCmluZGV4IDM4M2YzMmMuLjUxM2JhNjEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2J1cy9jaGFyL3VjdHJsLmMKKysrIGIvZHJpdmVycy9zYnVzL2NoYXIvdWN0cmwuYwpAQCAtOSw2ICs5LDcgQEAKICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgogI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L2lvcG9ydC5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9taXNjZGV2aWNlLmg+CkBAIC0yMTEsOCArMjEyLDEwIEBACiBzdGF0aWMgaW50CiB1Y3RybF9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogeworCWxvY2tfa2VybmVsKCk7CiAJdWN0cmxfZ2V0X2V2ZW50X3N0YXR1cygpOwogCXVjdHJsX2dldF9leHRlcm5hbF9zdGF0dXMoKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2J1cy9jaGFyL3ZmY19kZXYuYyBiL2RyaXZlcnMvc2J1cy9jaGFyL3ZmY19kZXYuYwppbmRleCBkNGY4ZmNkLi4xZjZjYjhhIDEwMDY0NAotLS0gYS9kcml2ZXJzL3NidXMvY2hhci92ZmNfZGV2LmMKKysrIGIvZHJpdmVycy9zYnVzL2NoYXIvdmZjX2Rldi5jCkBAIC0yNCw2ICsyNCw3IEBACiAjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgogI2luY2x1ZGUgPGxpbnV4L21tLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogI2luY2x1ZGUgPGFzbS9vcGVucHJvbS5oPgogI2luY2x1ZGUgPGFzbS9vcGxpYi5oPgpAQCAtMTc4LDE0ICsxNzksMTcgQEAKIHsKIAlzdHJ1Y3QgdmZjX2RldiAqZGV2OwogCisJbG9ja19rZXJuZWwoKTsKIAlzcGluX2xvY2soJnZmY19kZXZfbG9jayk7CiAJZGV2ID0gdmZjX2dldF9kZXZfcHRyKGltaW5vcihpbm9kZSkpOwogCWlmIChkZXYgPT0gTlVMTCkgewogCQlzcGluX3VubG9jaygmdmZjX2Rldl9sb2NrKTsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gLUVOT0RFVjsKIAl9CiAJaWYgKGRldi0+YnVzeSkgewogCQlzcGluX3VubG9jaygmdmZjX2Rldl9sb2NrKTsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gLUVCVVNZOwogCX0KIApAQCAtMjAyLDYgKzIwNiw3IEBACiAJdmZjX2NhcHRzdGF0X3Jlc2V0KGRldik7CiAJCiAJdmZjX3VubG9ja19kZXZpY2UoZGV2KTsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2NzaS8zdy05eHh4LmMgYi9kcml2ZXJzL3Njc2kvM3ctOXh4eC5jCmluZGV4IDg2N2Y2ZmQuLjcwNDU1MTEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2NzaS8zdy05eHh4LmMKKysrIGIvZHJpdmVycy9zY3NpLzN3LTl4eHguYwpAQCAtODQsNiArODQsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgogI2luY2x1ZGUgPGxpbnV4L3RpbWUuaD4KICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAjaW5jbHVkZSA8YXNtL2lycS5oPgogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CkBAIC04NjIsMTEgKzg2MywxMyBAQAogfSAvKiBFbmQgdHdhX2NocmRldl9pb2N0bCgpICovCiAKIC8qIFRoaXMgZnVuY3Rpb24gaGFuZGxlcyBvcGVuIGZvciB0aGUgY2hhcmFjdGVyIGRldmljZSAqLworLyogTk9URSB0aGF0IHRoaXMgZnVuY3Rpb24gd2lsbCByYWNlIHdpdGggcmVtb3ZlLiAqLwogc3RhdGljIGludCB0d2FfY2hyZGV2X29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCiB7CiAJdW5zaWduZWQgaW50IG1pbm9yX251bWJlcjsKIAlpbnQgcmV0dmFsID0gVFdfSU9DVExfRVJST1JfT1NfRU5PREVWOwogCisJY3ljbGVfa2VybmVsX2xvY2soKTsKIAltaW5vcl9udW1iZXIgPSBpbWlub3IoaW5vZGUpOwogCWlmIChtaW5vcl9udW1iZXIgPj0gdHdhX2RldmljZV9leHRlbnNpb25fY291bnQpCiAJCWdvdG8gb3V0OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zY3NpLzN3LXh4eHguYyBiL2RyaXZlcnMvc2NzaS8zdy14eHh4LmMKaW5kZXggOGMyMjMyOS4uYTA1MzdmMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9zY3NpLzN3LXh4eHguYworKysgYi9kcml2ZXJzL3Njc2kvM3cteHh4eC5jCkBAIC0xOTgsNiArMTk4LDcgQEAKIAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L3JlYm9vdC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KICNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGVwYXJhbS5oPgpAQCAtMTAyNywxMCArMTAyOCwxMiBAQAogfSAvKiBFbmQgdHdfY2hyZGV2X2lvY3RsKCkgKi8KIAogLyogVGhpcyBmdW5jdGlvbiBoYW5kbGVzIG9wZW4gZm9yIHRoZSBjaGFyYWN0ZXIgZGV2aWNlICovCisvKiBOT1RFIHRoYXQgdGhpcyBmdW5jdGlvbiByYWNlcyB3aXRoIHJlbW92ZS4gKi8KIHN0YXRpYyBpbnQgdHdfY2hyZGV2X29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCiB7CiAJdW5zaWduZWQgaW50IG1pbm9yX251bWJlcjsKIAorCWN5Y2xlX2tlcm5lbF9sb2NrKCk7CiAJZHByaW50ayhLRVJOX1dBUk5JTkcgIjN3LXh4eHg6IHR3X2lvY3RsX29wZW4oKVxuIik7CiAKIAltaW5vcl9udW1iZXIgPSBpbWlub3IoaW5vZGUpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zY3NpL2ExMDB1MncuYyBiL2RyaXZlcnMvc2NzaS9hMTAwdTJ3LmMKaW5kZXggY2VkM2VlYi4uODRiYjYxNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9zY3NpL2ExMDB1MncuYworKysgYi9kcml2ZXJzL3Njc2kvYTEwMHUydy5jCkBAIC0zODksNyArMzg5LDcgQEAKIAogCW91dGIoUFJHTVJTVCB8IERPV05MT0FELCBob3N0LT5iYXNlICsgT1JDX1JJU0NDVEwpOwkvKiBFbmFibGUgU1JBTSBwcm9ncmFtbWluZyAqLwogCWRhdGEzMl9wdHIgPSAodTggKikgJiBkYXRhMzI7Ci0JZGF0YTMyID0gMDsJCS8qIEluaXRpYWwgRlcgYWRkcmVzcyB0byAwICovCisJZGF0YTMyID0gY3B1X3RvX2xlMzIoMCk7CQkvKiBJbml0aWFsIEZXIGFkZHJlc3MgdG8gMCAqLwogCW91dHcoMHgwMDEwLCBob3N0LT5iYXNlICsgT1JDX0VCSU9TQURSMCk7CiAJKmRhdGEzMl9wdHIgPSBpbmIoaG9zdC0+YmFzZSArIE9SQ19FQklPU0RBVEEpOwkJLyogUmVhZCBmcm9tIEJJT1MgKi8KIAlvdXR3KDB4MDAxMSwgaG9zdC0+YmFzZSArIE9SQ19FQklPU0FEUjApOwpAQCAtMzk3LDE4ICszOTcsMTkgQEAKIAlvdXR3KDB4MDAxMiwgaG9zdC0+YmFzZSArIE9SQ19FQklPU0FEUjApOwogCSooZGF0YTMyX3B0ciArIDIpID0gaW5iKGhvc3QtPmJhc2UgKyBPUkNfRUJJT1NEQVRBKTsJLyogUmVhZCBmcm9tIEJJT1MgKi8KIAlvdXR3KCooZGF0YTMyX3B0ciArIDIpLCBob3N0LT5iYXNlICsgT1JDX0VCSU9TQURSMik7Ci0Jb3V0bChkYXRhMzIsIGhvc3QtPmJhc2UgKyBPUkNfRldCQVNFQURSKTsJCS8qIFdyaXRlIEZXIGFkZHJlc3MgKi8KKwlvdXRsKGxlMzJfdG9fY3B1KGRhdGEzMiksIGhvc3QtPmJhc2UgKyBPUkNfRldCQVNFQURSKTsJCS8qIFdyaXRlIEZXIGFkZHJlc3MgKi8KIAogCS8qIENvcHkgdGhlIGNvZGUgZnJvbSB0aGUgQklPUyB0byB0aGUgU1JBTSAqLwogCi0JYmlvc19hZGRyID0gKHUxNikgZGF0YTMyOwkvKiBGVyBjb2RlIGxvY2F0ZSBhdCBCSU9TIGFkZHJlc3MgKyA/ICovCisJdWRlbGF5KDUwMCk7CS8qIFJlcXVpcmVkIG9uIFN1biBVbHRyYSA1IC4uLiAzNTAgLT4gZmFpbHVyZXMgKi8KKwliaW9zX2FkZHIgPSAodTE2KSBsZTMyX3RvX2NwdShkYXRhMzIpOwkvKiBGVyBjb2RlIGxvY2F0ZSBhdCBCSU9TIGFkZHJlc3MgKyA/ICovCiAJZm9yIChpID0gMCwgZGF0YTMyX3B0ciA9ICh1OCAqKSAmIGRhdGEzMjsJLyogRG93bmxvYWQgdGhlIGNvZGUgICAgKi8KIAkgICAgIGkgPCAweDEwMDA7CS8qIEZpcm13YXJlIGNvZGUgc2l6ZSA9IDRLICAgICAgKi8KIAkgICAgIGkrKywgYmlvc19hZGRyKyspIHsKIAkJb3V0dyhiaW9zX2FkZHIsIGhvc3QtPmJhc2UgKyBPUkNfRUJJT1NBRFIwKTsKIAkJKmRhdGEzMl9wdHIrKyA9IGluYihob3N0LT5iYXNlICsgT1JDX0VCSU9TREFUQSk7CS8qIFJlYWQgZnJvbSBCSU9TICovCiAJCWlmICgoaSAlIDQpID09IDMpIHsKLQkJCW91dGwoZGF0YTMyLCBob3N0LT5iYXNlICsgT1JDX1JJU0NSQU0pOwkvKiBXcml0ZSBldmVyeSA0IGJ5dGVzICovCisJCQlvdXRsKGxlMzJfdG9fY3B1KGRhdGEzMiksIGhvc3QtPmJhc2UgKyBPUkNfUklTQ1JBTSk7CS8qIFdyaXRlIGV2ZXJ5IDQgYnl0ZXMgKi8KIAkJCWRhdGEzMl9wdHIgPSAodTggKikgJiBkYXRhMzI7CiAJCX0KIAl9CkBAIC00MjMsNyArNDI0LDcgQEAKIAkJb3V0dyhiaW9zX2FkZHIsIGhvc3QtPmJhc2UgKyBPUkNfRUJJT1NBRFIwKTsKIAkJKmRhdGEzMl9wdHIrKyA9IGluYihob3N0LT5iYXNlICsgT1JDX0VCSU9TREFUQSk7CS8qIFJlYWQgZnJvbSBCSU9TICovCiAJCWlmICgoaSAlIDQpID09IDMpIHsKLQkJCWlmIChpbmwoaG9zdC0+YmFzZSArIE9SQ19SSVNDUkFNKSAhPSBkYXRhMzIpIHsKKwkJCWlmIChpbmwoaG9zdC0+YmFzZSArIE9SQ19SSVNDUkFNKSAhPSBsZTMyX3RvX2NwdShkYXRhMzIpKSB7CiAJCQkJb3V0YihQUkdNUlNULCBob3N0LT5iYXNlICsgT1JDX1JJU0NDVEwpOwkvKiBSZXNldCBwcm9ncmFtIHRvIDAgKi8KIAkJCQlvdXRiKGRhdGEsIGhvc3QtPmJhc2UgKyBPUkNfR0NGRyk7CS8qRGlzYWJsZSBFRVBST00gcHJvZ3JhbW1pbmcgKi8KIAkJCQlyZXR1cm4gMDsKQEAgLTQ1OSw4ICs0NjAsOCBAQAogCiAJZm9yIChpID0gMDsgaSA8IE9SQ19NQVhRVUVVRTsgaSsrKSB7CiAJCWVzY2JfcGh5cyA9IChob3N0LT5lc2NiX3BoeXMgKyAoc2l6ZW9mKHN0cnVjdCBvcmNfZXh0ZW5kZWRfc2NiKSAqIGkpKTsKLQkJc2NiLT5zZ19hZGRyID0gKHUzMikgZXNjYl9waHlzOwotCQlzY2ItPnNlbnNlX2FkZHIgPSAodTMyKSBlc2NiX3BoeXM7CisJCXNjYi0+c2dfYWRkciA9IGNwdV90b19sZTMyKCh1MzIpIGVzY2JfcGh5cyk7CisJCXNjYi0+c2Vuc2VfYWRkciA9IGNwdV90b19sZTMyKCh1MzIpIGVzY2JfcGh5cyk7CiAJCXNjYi0+ZXNjYiA9IGVzY2I7CiAJCXNjYi0+c2NiaWR4ID0gaTsKIAkJc2NiKys7CkBAIC02NDIsOCArNjQzLDggQEAKIAlzY2ItPmxpbmsgPSAweEZGOwogCXNjYi0+cmVzZXJ2ZWQwID0gMDsKIAlzY2ItPnJlc2VydmVkMSA9IDA7Ci0Jc2NiLT54ZmVybGVuID0gMDsKLQlzY2ItPnNnX2xlbiA9IDA7CisJc2NiLT54ZmVybGVuID0gY3B1X3RvX2xlMzIoMCk7CisJc2NiLT5zZ19sZW4gPSBjcHVfdG9fbGUzMigwKTsKIAogCWVzY2ItPnNyYiA9IE5VTEw7CiAJZXNjYi0+c3JiID0gY21kOwpAQCAtODM5LDcgKzg0MCw3IEBACiAgKglCdWlsZCBhIGhvc3QgYWRhcHRlciBjb250cm9sIGJsb2NrIGZyb20gdGhlIFNDU0kgbWlkIGxheWVyIGNvbW1hbmQKICAqLwogCi1zdGF0aWMgdm9pZCBpbmlhMTAwX2J1aWxkX3NjYihzdHJ1Y3Qgb3JjX2hvc3QgKiBob3N0LCBzdHJ1Y3Qgb3JjX3NjYiAqIHNjYiwgc3RydWN0IHNjc2lfY21uZCAqIGNtZCkKK3N0YXRpYyBpbnQgaW5pYTEwMF9idWlsZF9zY2Ioc3RydWN0IG9yY19ob3N0ICogaG9zdCwgc3RydWN0IG9yY19zY2IgKiBzY2IsIHN0cnVjdCBzY3NpX2NtbmQgKiBjbWQpCiB7CQkJCS8qIENyZWF0ZSBjb3JyZXNwb25kaW5nIFNDQiAgICAgKi8KIAlzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnNnOwogCXN0cnVjdCBvcmNfc2dlbnQgKnNnZW50OwkJLyogUG9pbnRlciB0byBTRyBsaXN0ICAgICAgICAgICAqLwpAQCAtODU4LDI4ICs4NTksMzAgQEAKIAlzY2ItPmx1biA9IGNtZC0+ZGV2aWNlLT5sdW47CiAJc2NiLT5yZXNlcnZlZDAgPSAwOwogCXNjYi0+cmVzZXJ2ZWQxID0gMDsKLQlzY2ItPnNnX2xlbiA9IDA7CisJc2NiLT5zZ19sZW4gPSBjcHVfdG9fbGUzMigwKTsKIAotCXNjYi0+eGZlcmxlbiA9ICh1MzIpIHNjc2lfYnVmZmxlbihjbWQpOworCXNjYi0+eGZlcmxlbiA9IGNwdV90b19sZTMyKCh1MzIpIHNjc2lfYnVmZmxlbihjbWQpKTsKIAlzZ2VudCA9IChzdHJ1Y3Qgb3JjX3NnZW50ICopICYgZXNjYi0+c2dsaXN0WzBdOwogCiAJY291bnRfc2cgPSBzY3NpX2RtYV9tYXAoY21kKTsKLQlCVUdfT04oY291bnRfc2cgPCAwKTsKKwlpZiAoY291bnRfc2cgPCAwKQorCQlyZXR1cm4gY291bnRfc2c7CisJQlVHX09OKGNvdW50X3NnID4gVE9UQUxfU0dfRU5UUlkpOwogCiAJLyogQnVpbGQgdGhlIHNjYXR0ZXIgZ2F0aGVyIGxpc3RzICovCiAJaWYgKGNvdW50X3NnKSB7Ci0JCXNjYi0+c2dfbGVuID0gKHUzMikgKGNvdW50X3NnICogOCk7CisJCXNjYi0+c2dfbGVuID0gY3B1X3RvX2xlMzIoKHUzMikgKGNvdW50X3NnICogOCkpOwogCQlzY3NpX2Zvcl9lYWNoX3NnKGNtZCwgc2csIGNvdW50X3NnLCBpKSB7Ci0JCQlzZ2VudC0+YmFzZSA9ICh1MzIpIHNnX2RtYV9hZGRyZXNzKHNnKTsKLQkJCXNnZW50LT5sZW5ndGggPSAodTMyKSBzZ19kbWFfbGVuKHNnKTsKKwkJCXNnZW50LT5iYXNlID0gY3B1X3RvX2xlMzIoKHUzMikgc2dfZG1hX2FkZHJlc3Moc2cpKTsKKwkJCXNnZW50LT5sZW5ndGggPSBjcHVfdG9fbGUzMigodTMyKSBzZ19kbWFfbGVuKHNnKSk7CiAJCQlzZ2VudCsrOwogCQl9CiAJfSBlbHNlIHsKLQkJc2NiLT5zZ19sZW4gPSAwOwotCQlzZ2VudC0+YmFzZSA9IDA7Ci0JCXNnZW50LT5sZW5ndGggPSAwOworCQlzY2ItPnNnX2xlbiA9IGNwdV90b19sZTMyKDApOworCQlzZ2VudC0+YmFzZSA9IGNwdV90b19sZTMyKDApOworCQlzZ2VudC0+bGVuZ3RoID0gY3B1X3RvX2xlMzIoMCk7CiAJfQotCXNjYi0+c2dfYWRkciA9ICh1MzIpIHNjYi0+c2Vuc2VfYWRkcjsKKwlzY2ItPnNnX2FkZHIgPSAodTMyKSBzY2ItPnNlbnNlX2FkZHI7CS8qIHNlbnNlX2FkZHIgaXMgYWxyZWFkeSBsaXR0bGUgZW5kaWFuICovCiAJc2NiLT5oYXN0YXQgPSAwOwogCXNjYi0+dGFzdGF0ID0gMDsKIAlzY2ItPmxpbmsgPSAweEZGOwpAQCAtODk2LDYgKzg5OSw3IEBACiAJCXNjYi0+dGFnX21zZyA9IDA7CS8qIE5vIHRhZyBzdXBwb3J0ICAgICAgICAgICAgICAgKi8KIAl9CiAJbWVtY3B5KHNjYi0+Y2RiLCBjbWQtPmNtbmQsIHNjYi0+Y2RiX2xlbik7CisJcmV0dXJuIDA7CiB9CiAKIC8qKgpAQCAtOTE5LDcgKzkyMywxMCBAQAogCWlmICgoc2NiID0gb3JjX2FsbG9jX3NjYihob3N0KSkgPT0gTlVMTCkKIAkJcmV0dXJuIFNDU0lfTUxRVUVVRV9IT1NUX0JVU1k7CiAKLQlpbmlhMTAwX2J1aWxkX3NjYihob3N0LCBzY2IsIGNtZCk7CisJaWYgKGluaWExMDBfYnVpbGRfc2NiKGhvc3QsIHNjYiwgY21kKSkgeworCQlvcmNfcmVsZWFzZV9zY2IoaG9zdCwgc2NiKTsKKwkJcmV0dXJuIFNDU0lfTUxRVUVVRV9IT1NUX0JVU1k7CisJfQogCW9yY19leGVjX3NjYihob3N0LCBzY2IpOwkvKiBTdGFydCBleGVjdXRlIFNDQiAgICAgICAgICAgICovCiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL3Njc2kvYWFjcmFpZC9saW5pdC5jIGIvZHJpdmVycy9zY3NpL2FhY3JhaWQvbGluaXQuYwppbmRleCAxZjdjODM2Li42OGMxNDBlIDEwMDY0NAotLS0gYS9kcml2ZXJzL3Njc2kvYWFjcmFpZC9saW5pdC5jCisrKyBiL2RyaXZlcnMvc2NzaS9hYWNyYWlkL2xpbml0LmMKQEAgLTM4LDYgKzM4LDcgQEAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGVwYXJhbS5oPgogI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvc3lzY2FsbHMuaD4KICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgpAQCAtNjY3LDYgKzY2OCw3IEBACiAJdW5zaWduZWQgbWlub3JfbnVtYmVyID0gaW1pbm9yKGlub2RlKTsKIAlpbnQgZXJyID0gLUVOT0RFVjsKIAorCWxvY2tfa2VybmVsKCk7ICAvKiBCS0wgcHVzaGRvd246IG5vdGhpbmcgZWxzZSBwcm90ZWN0cyB0aGlzIGxpc3QgKi8KIAlsaXN0X2Zvcl9lYWNoX2VudHJ5KGFhYywgJmFhY19kZXZpY2VzLCBlbnRyeSkgewogCQlpZiAoYWFjLT5pZCA9PSBtaW5vcl9udW1iZXIpIHsKIAkJCWZpbGUtPnByaXZhdGVfZGF0YSA9IGFhYzsKQEAgLTY3NCw2ICs2NzYsNyBAQAogCQkJYnJlYWs7CiAJCX0KIAl9CisJdW5sb2NrX2tlcm5lbCgpOwogCiAJcmV0dXJuIGVycjsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2NzaS9haWM5NHh4L2FpYzk0eHhfc2RzLmMgYi9kcml2ZXJzL3Njc2kvYWljOTR4eC9haWM5NHh4X3Nkcy5jCmluZGV4IDQ0NDZlM2QuLjg2MzBhNzUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2NzaS9haWM5NHh4L2FpYzk0eHhfc2RzLmMKKysrIGIvZHJpdmVycy9zY3NpL2FpYzk0eHgvYWljOTR4eF9zZHMuYwpAQCAtMTA5Myw5ICsxMDkzLDkgQEAKICAqIEBieXRlc190b192ZXJpZnk6IHRvdGFsIGJ5dGVzIHRvIHZlcmlmeQogICovCiBpbnQgYXNkX3ZlcmlmeV9mbGFzaF9zZWcoc3RydWN0IGFzZF9oYV9zdHJ1Y3QgKmFzZF9oYSwKLQkJdm9pZCAqc3JjLCB1MzIgZGVzdF9vZmZzZXQsIHUzMiBieXRlc190b192ZXJpZnkpCisJCQkgY29uc3Qgdm9pZCAqc3JjLCB1MzIgZGVzdF9vZmZzZXQsIHUzMiBieXRlc190b192ZXJpZnkpCiB7Ci0JdTggKnNyY19idWY7CisJY29uc3QgdTggKnNyY19idWY7CiAJdTggZmxhc2hfY2hhcjsKIAlpbnQgZXJyOwogCXUzMiBudl9vZmZzZXQsIHJlZywgaTsKQEAgLTExMDUsNyArMTEwNSw3IEBACiAKIAllcnIgPSBGTEFTSF9PSzsKIAludl9vZmZzZXQgPSBkZXN0X29mZnNldDsKLQlzcmNfYnVmID0gKHU4ICopc3JjOworCXNyY19idWYgPSAoY29uc3QgdTggKilzcmM7CiAJZm9yIChpID0gMDsgaSA8IGJ5dGVzX3RvX3ZlcmlmeTsgaSsrKSB7CiAJCWZsYXNoX2NoYXIgPSBhc2RfcmVhZF9yZWdfYnl0ZShhc2RfaGEsIHJlZyArIG52X29mZnNldCArIGkpOwogCQlpZiAoZmxhc2hfY2hhciAhPSBzcmNfYnVmW2ldKSB7CkBAIC0xMTI0LDkgKzExMjQsOSBAQAogICogQGJ5dGVzX3RvX3dyaXRlOiB0b3RhbCBieXRlcyB0byB3cml0ZQogICovCiBpbnQgYXNkX3dyaXRlX2ZsYXNoX3NlZyhzdHJ1Y3QgYXNkX2hhX3N0cnVjdCAqYXNkX2hhLAotCQl2b2lkICpzcmMsIHUzMiBkZXN0X29mZnNldCwgdTMyIGJ5dGVzX3RvX3dyaXRlKQorCQkJY29uc3Qgdm9pZCAqc3JjLCB1MzIgZGVzdF9vZmZzZXQsIHUzMiBieXRlc190b193cml0ZSkKIHsKLQl1OCAqc3JjX2J1ZjsKKwljb25zdCB1OCAqc3JjX2J1ZjsKIAl1MzIgbnZfb2Zmc2V0LCByZWcsIGk7CiAJaW50IGVycjsKIApAQCAtMTE1Myw3ICsxMTUzLDcgQEAKIAkJcmV0dXJuIGVycjsKIAl9CiAKLQlzcmNfYnVmID0gKHU4ICopc3JjOworCXNyY19idWYgPSAoY29uc3QgdTggKilzcmM7CiAJZm9yIChpID0gMDsgaSA8IGJ5dGVzX3RvX3dyaXRlOyBpKyspIHsKIAkJLyogU2V0dXAgcHJvZ3JhbSBjb21tYW5kIHNlcXVlbmNlICovCiAJCXN3aXRjaCAoYXNkX2hhLT5od19wcm9mLmZsYXNoLm1ldGhvZCkgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zY3NpL2FpYzk0eHgvYWljOTR4eF9zZHMuaCBiL2RyaXZlcnMvc2NzaS9haWM5NHh4L2FpYzk0eHhfc2RzLmgKaW5kZXggYmI5Nzk1YS4uYTA2ZGMwMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zY3NpL2FpYzk0eHgvYWljOTR4eF9zZHMuaAorKysgYi9kcml2ZXJzL3Njc2kvYWljOTR4eC9haWM5NHh4X3Nkcy5oCkBAIC0xMTAsOSArMTEwLDkgQEAKIH07CiAKIGludCBhc2RfdmVyaWZ5X2ZsYXNoX3NlZyhzdHJ1Y3QgYXNkX2hhX3N0cnVjdCAqYXNkX2hhLAotCQl2b2lkICpzcmMsIHUzMiBkZXN0X29mZnNldCwgdTMyIGJ5dGVzX3RvX3ZlcmlmeSk7CisJCWNvbnN0IHZvaWQgKnNyYywgdTMyIGRlc3Rfb2Zmc2V0LCB1MzIgYnl0ZXNfdG9fdmVyaWZ5KTsKIGludCBhc2Rfd3JpdGVfZmxhc2hfc2VnKHN0cnVjdCBhc2RfaGFfc3RydWN0ICphc2RfaGEsCi0JCXZvaWQgKnNyYywgdTMyIGRlc3Rfb2Zmc2V0LCB1MzIgYnl0ZXNfdG9fd3JpdGUpOworCQljb25zdCB2b2lkICpzcmMsIHUzMiBkZXN0X29mZnNldCwgdTMyIGJ5dGVzX3RvX3dyaXRlKTsKIGludCBhc2RfY2hrX3dyaXRlX3N0YXR1cyhzdHJ1Y3QgYXNkX2hhX3N0cnVjdCAqYXNkX2hhLAogCQl1MzIgc2VjdG9yX2FkZHIsIHU4IGVyYXNlX2ZsYWcpOwogaW50IGFzZF9jaGVja19mbGFzaF90eXBlKHN0cnVjdCBhc2RfaGFfc3RydWN0ICphc2RfaGEpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zY3NpL2FpYzk0eHgvYWljOTR4eF9zZXEuYyBiL2RyaXZlcnMvc2NzaS9haWM5NHh4L2FpYzk0eHhfc2VxLmMKaW5kZXggZjQyNzJhYy4uOGY5OGUzMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9zY3NpL2FpYzk0eHgvYWljOTR4eF9zZXEuYworKysgYi9kcml2ZXJzL3Njc2kvYWljOTR4eC9haWM5NHh4X3NlcS5jCkBAIC00Niw3ICs0Niw3IEBACiBzdGF0aWMgY29uc3Qgc3RydWN0IGZpcm13YXJlICpzZXF1ZW5jZXJfZnc7CiBzdGF0aWMgdTE2IGNzZXFfdmVjc1tDU0VRX05VTV9WRUNTXSwgbHNlcV92ZWNzW0xTRVFfTlVNX1ZFQ1NdLCBtb2RlMl90YXNrLAogCWNzZXFfaWRsZV9sb29wLCBsc2VxX2lkbGVfbG9vcDsKLXN0YXRpYyB1OCAqY3NlcV9jb2RlLCAqbHNlcV9jb2RlOworc3RhdGljIGNvbnN0IHU4ICpjc2VxX2NvZGUsICpsc2VxX2NvZGU7CiBzdGF0aWMgdTMyIGNzZXFfY29kZV9zaXplLCBsc2VxX2NvZGVfc2l6ZTsKIAogc3RhdGljIHUxNiBmaXJzdF9zY2Jfc2l0ZV9ubyA9IDB4RkZGRjsKQEAgLTEyMzUsNyArMTIzNSw4IEBACiBzdGF0aWMgaW50IGFzZF9yZXF1ZXN0X2Zpcm13YXJlKHN0cnVjdCBhc2RfaGFfc3RydWN0ICphc2RfaGEpCiB7CiAJaW50IGVyciwgaTsKLQlzdHJ1Y3Qgc2VxdWVuY2VyX2ZpbGVfaGVhZGVyIGhlYWRlciwgKmhkcl9wdHI7CisJc3RydWN0IHNlcXVlbmNlcl9maWxlX2hlYWRlciBoZWFkZXI7CisJY29uc3Qgc3RydWN0IHNlcXVlbmNlcl9maWxlX2hlYWRlciAqaGRyX3B0cjsKIAl1MzIgY3N1bSA9IDA7CiAJdTE2ICpwdHJfY3NlcV92ZWNzLCAqcHRyX2xzZXFfdmVjczsKIApAQCAtMTI0OSw3ICsxMjUwLDcgQEAKIAlpZiAoZXJyKQogCQlyZXR1cm4gZXJyOwogCi0JaGRyX3B0ciA9IChzdHJ1Y3Qgc2VxdWVuY2VyX2ZpbGVfaGVhZGVyICopc2VxdWVuY2VyX2Z3LT5kYXRhOworCWhkcl9wdHIgPSAoY29uc3Qgc3RydWN0IHNlcXVlbmNlcl9maWxlX2hlYWRlciAqKXNlcXVlbmNlcl9mdy0+ZGF0YTsKIAogCWhlYWRlci5jc3VtID0gbGUzMl90b19jcHUoaGRyX3B0ci0+Y3N1bSk7CiAJaGVhZGVyLm1ham9yID0gbGUzMl90b19jcHUoaGRyX3B0ci0+bWFqb3IpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zY3NpL2FybS9LY29uZmlnIGIvZHJpdmVycy9zY3NpL2FybS9LY29uZmlnCmluZGV4IDcyMzYxNDMuLmE4NTg3ZjEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2NzaS9hcm0vS2NvbmZpZworKysgYi9kcml2ZXJzL3Njc2kvYXJtL0tjb25maWcKQEAgLTMsNyArMyw3IEBACiAjCiBjb25maWcgU0NTSV9BQ09STlNDU0lfMwogCXRyaXN0YXRlICJBY29ybiBTQ1NJIGNhcmQgKGFrYTMwKSBzdXBwb3J0IgotCWRlcGVuZHMgb24gQVJDSF9BQ09STiAmJiBTQ1NJICYmIEJST0tFTgorCWRlcGVuZHMgb24gQVJDSF9BQ09STiAmJiBTQ1NJCiAJc2VsZWN0IFNDU0lfU1BJX0FUVFJTCiAJaGVscAogCSAgVGhpcyBlbmFibGVzIHN1cHBvcnQgZm9yIHRoZSBBY29ybiBTQ1NJIGNhcmQgKGFrYTMwKS4gSWYgeW91IGhhdmUgYW4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2NzaS9hcm0vYWNvcm5zY3NpLWlvLlMgYi9kcml2ZXJzL3Njc2kvYXJtL2Fjb3Juc2NzaS1pby5TCmluZGV4IDkzNDY3ZTYuLjVjZWJlMzEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2NzaS9hcm0vYWNvcm5zY3NpLWlvLlMKKysrIGIvZHJpdmVycy9zY3NpL2FybS9hY29ybnNjc2ktaW8uUwpAQCAtMTAsMTcgKzEwLDEwIEBACiAjaW5jbHVkZSA8YXNtL2Fzc2VtYmxlci5oPgogI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgogCi0jaWYgKElPX0JBU0UgPT0gKFBDSU9fQkFTRSAmIDB4ZmYwMDAwMDApKQotI2RlZmluZSBBRERSKG9mZixyZWcpCQkJCQkJXAotCQl0c3QJb2ZmLCAkMHg4MDAwMDAwMAkJCTtcCi0JCW1vdglyZWcsICRJT19CQVNFCQkJCTtcCi0JCW9ycmVxCXJlZywgcmVnLCAkKFBDSU9fQkFTRSAmIDB4MDBmZjAwMDApCi0jZWxzZQotI2RlZmluZSBBRERSKG9mZixyZWcpCQkJCQkJXAotCQl0c3QJb2ZmLCAkMHg4MDAwMDAwMAkJCTtcCi0JCW1vdm5lCXJlZywgJElPX0JBU0UJCQkJO1wKLQkJbW92ZXEJcmVnLCAkKFBDSU9fQkFTRSAmIDB4ZmYwMDAwMDApCQk7XAotCQlvcnJlcQlyZWcsIHJlZywgJChQQ0lPX0JBU0UgJiAweDAwZmYwMDAwKQorI2lmIGRlZmluZWQoX19BUENTXzMyX18pCisjZGVmaW5lIExPQURSRUdTKHQscixsLi4uKQlsZG0jI3QJciwgbAorI2VsaWYgZGVmaW5lZChfX0FQQ1NfMjZfXykKKyNkZWZpbmUgTE9BRFJFR1ModCxyLGwuLi4pCWxkbSMjdAlyLCBsIyNeCiAjZW5kaWYKIAogQCBQdXJwb3NlOiB0cmFuc2ZlciBhIGJsb2NrIG9mIGRhdGEgZnJvbSB0aGUgYWNvcm4gc2NzaSBjYXJkIHRvIG1lbW9yeQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zY3NpL2FybS9hY29ybnNjc2kuYyBiL2RyaXZlcnMvc2NzaS9hcm0vYWNvcm5zY3NpLmMKaW5kZXggOGU1M2YwMi4uOTE4Y2NmOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9zY3NpL2FybS9hY29ybnNjc2kuYworKysgYi9kcml2ZXJzL3Njc2kvYXJtL2Fjb3Juc2NzaS5jCkBAIC0xMjMsMTIgKzEyMyw2IEBACiAjZGVmaW5lIERCRyhjbWQseHh4Li4uKSB4eHgKICNlbmRpZgogCi0jaWZuZGVmIFNUUklOR0lGWQotI2RlZmluZSBTVFJJTkdJRlkoeCkgI3gKLSNlbmRpZgotI2RlZmluZSBTVFJ4KHgpIFNUUklOR0lGWSh4KQotI2RlZmluZSBOT19XUklURV9TVFIgU1RSeChOT19XUklURSkKLQogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgogI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgpAQCAtMTQxLDkgKzEzNSwxMCBAQAogI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9iaXRvcHMuaD4KKyNpbmNsdWRlIDxsaW51eC9zdHJpbmdpZnkuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgogCiAjaW5jbHVkZSA8YXNtL3N5c3RlbS5oPgotI2luY2x1ZGUgPGFzbS9pby5oPgogI2luY2x1ZGUgPGFzbS9lY2FyZC5oPgogCiAjaW5jbHVkZSAiLi4vc2NzaS5oIgpAQCAtMjAzLDQ0ICsxOTgsNDYgQEAKICAqIE1pc2NlbGxhbmVvdXMKICAqLwogCi1zdGF0aWMgaW5saW5lIHZvaWQKLXNiaWNfYXJtX3dyaXRlKHVuc2lnbmVkIGludCBpb19wb3J0LCBpbnQgcmVnLCBpbnQgdmFsdWUpCisvKiBPZmZzZXRzIGZyb20gTUVNQyBiYXNlICovCisjZGVmaW5lIFNCSUNfUkVHSURYCTB4MjAwMAorI2RlZmluZSBTQklDX1JFR1ZBTAkweDIwMDQKKyNkZWZpbmUgRE1BQ19PRkZTRVQJMHgzMDAwCisKKy8qIE9mZnNldHMgZnJvbSBGQVNUIElPQyBiYXNlICovCisjZGVmaW5lIElOVF9SRUcJCTB4MjAwMAorI2RlZmluZSBQQUdFX1JFRwkweDMwMDAKKworc3RhdGljIGlubGluZSB2b2lkIHNiaWNfYXJtX3dyaXRlKEFTX0hvc3QgKmhvc3QsIHVuc2lnbmVkIGludCByZWcsIHVuc2lnbmVkIGludCB2YWx1ZSkKIHsKLSAgICBfX3Jhd193cml0ZWIocmVnLCBpb19wb3J0KTsKLSAgICBfX3Jhd193cml0ZWIodmFsdWUsIGlvX3BvcnQgKyA0KTsKKyAgICB3cml0ZWIocmVnLCBob3N0LT5iYXNlICsgU0JJQ19SRUdJRFgpOworICAgIHdyaXRlYih2YWx1ZSwgaG9zdC0+YmFzZSArIFNCSUNfUkVHVkFMKTsKIH0KIAotI2RlZmluZSBzYmljX2FybV93cml0ZW5leHQoaW8sdmFsKSBcCi0JX19yYXdfd3JpdGViKCh2YWwpLCAoaW8pICsgNCkKLQotc3RhdGljIGlubGluZQotaW50IHNiaWNfYXJtX3JlYWQodW5zaWduZWQgaW50IGlvX3BvcnQsIGludCByZWcpCitzdGF0aWMgaW5saW5lIGludCBzYmljX2FybV9yZWFkKEFTX0hvc3QgKmhvc3QsIHVuc2lnbmVkIGludCByZWcpCiB7CiAgICAgaWYocmVnID09IFNCSUNfQVNSKQotCSAgIHJldHVybiBfX3Jhd19yZWFkbChpb19wb3J0KSAmIDI1NTsKLSAgICBfX3Jhd193cml0ZWIocmVnLCBpb19wb3J0KTsKLSAgICByZXR1cm4gX19yYXdfcmVhZGwoaW9fcG9ydCArIDQpICYgMjU1OworCSAgIHJldHVybiByZWFkbChob3N0LT5iYXNlICsgU0JJQ19SRUdJRFgpICYgMjU1OworICAgIHdyaXRlYihyZWcsIGhvc3QtPmJhc2UgKyBTQklDX1JFR0lEWCk7CisgICAgcmV0dXJuIHJlYWRsKGhvc3QtPmJhc2UgKyBTQklDX1JFR1ZBTCkgJiAyNTU7CiB9CiAKLSNkZWZpbmUgc2JpY19hcm1fcmVhZG5leHQoaW8pIFwKLQlfX3Jhd19yZWFkYigoaW8pICsgNCkKKyNkZWZpbmUgc2JpY19hcm1fd3JpdGVuZXh0KGhvc3QsIHZhbCkJd3JpdGViKCh2YWwpLCAoaG9zdCktPmJhc2UgKyBTQklDX1JFR1ZBTCkKKyNkZWZpbmUgc2JpY19hcm1fcmVhZG5leHQoaG9zdCkgCXJlYWRiKChob3N0KS0+YmFzZSArIFNCSUNfUkVHVkFMKQogCiAjaWZkZWYgVVNFX0RNQUMKLSNkZWZpbmUgZG1hY19yZWFkKGlvX3BvcnQscmVnKSBcCi0JaW5iKChpb19wb3J0KSArIChyZWcpKQorI2RlZmluZSBkbWFjX3JlYWQoaG9zdCxyZWcpIFwKKwlyZWFkYigoaG9zdCktPmJhc2UgKyBETUFDX09GRlNFVCArICgocmVnKSA8PCAyKSkKIAotI2RlZmluZSBkbWFjX3dyaXRlKGlvX3BvcnQscmVnLHZhbHVlKSBcCi0JKHsgb3V0YigodmFsdWUpLCAoaW9fcG9ydCkgKyAocmVnKSk7IH0pCisjZGVmaW5lIGRtYWNfd3JpdGUoaG9zdCxyZWcsdmFsdWUpIFwKKwkoeyB3cml0ZWIoKHZhbHVlKSwgKGhvc3QpLT5iYXNlICsgRE1BQ19PRkZTRVQgKyAoKHJlZykgPDwgMikpOyB9KQogCi0jZGVmaW5lIGRtYWNfY2xlYXJpbnRyKGlvX3BvcnQpIFwKLQkoeyBvdXRiKDAsIChpb19wb3J0KSk7IH0pCisjZGVmaW5lIGRtYWNfY2xlYXJpbnRyKGhvc3QpIAl3cml0ZWIoMCwgKGhvc3QpLT5mYXN0ICsgSU5UX1JFRykKIAotc3RhdGljIGlubGluZQotdW5zaWduZWQgaW50IGRtYWNfYWRkcmVzcyh1bnNpZ25lZCBpbnQgaW9fcG9ydCkKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IGRtYWNfYWRkcmVzcyhBU19Ib3N0ICpob3N0KQogewotICAgIHJldHVybiBkbWFjX3JlYWQoaW9fcG9ydCwgRE1BQ19UWEFEUkhJKSA8PCAxNiB8Ci0JICAgZG1hY19yZWFkKGlvX3BvcnQsIERNQUNfVFhBRFJNRCkgPDwgOCB8Ci0JICAgZG1hY19yZWFkKGlvX3BvcnQsIERNQUNfVFhBRFJMTyk7CisgICAgcmV0dXJuIGRtYWNfcmVhZChob3N0LCBETUFDX1RYQURSSEkpIDw8IDE2IHwKKwkgICBkbWFjX3JlYWQoaG9zdCwgRE1BQ19UWEFEUk1EKSA8PCA4IHwKKwkgICBkbWFjX3JlYWQoaG9zdCwgRE1BQ19UWEFEUkxPKTsKIH0KIAogc3RhdGljCkBAIC0yNDgsMTUgKzI0NSwxNSBAQAogewogCXVuc2lnbmVkIGludCBtb2RlLCBhZGRyLCBsZW47CiAKLQltb2RlID0gZG1hY19yZWFkKGhvc3QtPmRtYS5pb19wb3J0LCBETUFDX01PREVDT04pOwotCWFkZHIgPSBkbWFjX2FkZHJlc3MoaG9zdC0+ZG1hLmlvX3BvcnQpOwotCWxlbiAgPSBkbWFjX3JlYWQoaG9zdC0+ZG1hLmlvX3BvcnQsIERNQUNfVFhDTlRISSkgPDwgOCB8Ci0JICAgICAgIGRtYWNfcmVhZChob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19UWENOVExPKTsKKwltb2RlID0gZG1hY19yZWFkKGhvc3QsIERNQUNfTU9ERUNPTik7CisJYWRkciA9IGRtYWNfYWRkcmVzcyhob3N0KTsKKwlsZW4gID0gZG1hY19yZWFkKGhvc3QsIERNQUNfVFhDTlRISSkgPDwgOCB8CisJICAgICAgIGRtYWNfcmVhZChob3N0LCBETUFDX1RYQ05UTE8pOwogCiAJcHJpbnRrKCJzY3NpJWQ6ICVzOiBETUFDICUwMnggQCUwNngrJTA0eCBtc2sgJTAyeCwgIiwKIAkJaG9zdC0+aG9zdC0+aG9zdF9ubywgd2hlcmUsCiAJCW1vZGUsIGFkZHIsIChsZW4gKyAxKSAmIDB4ZmZmZiwKLQkJZG1hY19yZWFkKGhvc3QtPmRtYS5pb19wb3J0LCBETUFDX01BU0tSRUcpKTsKKwkJZG1hY19yZWFkKGhvc3QsIERNQUNfTUFTS1JFRykpOwogCiAJcHJpbnRrKCJETUEgQCUwNngsICIsIGhvc3QtPmRtYS5zdGFydF9hZGRyKTsKIAlwcmludGsoIkJIIEAlcCArJTA0eCwgIiwgaG9zdC0+c2NzaS5TQ3AucHRyLApAQCAtMjcyLDkgKzI2OSw5IEBACiB7CiAgICAgdW5zaWduZWQgbG9uZyBsZW5ndGg7CiAKLSAgICBsZW5ndGggPSBzYmljX2FybV9yZWFkKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19UUkFOU0NOVEgpIDw8IDE2OwotICAgIGxlbmd0aCB8PSBzYmljX2FybV9yZWFkbmV4dChob3N0LT5zY3NpLmlvX3BvcnQpIDw8IDg7Ci0gICAgbGVuZ3RoIHw9IHNiaWNfYXJtX3JlYWRuZXh0KGhvc3QtPnNjc2kuaW9fcG9ydCk7CisgICAgbGVuZ3RoID0gc2JpY19hcm1fcmVhZChob3N0LCBTQklDX1RSQU5TQ05USCkgPDwgMTY7CisgICAgbGVuZ3RoIHw9IHNiaWNfYXJtX3JlYWRuZXh0KGhvc3QpIDw8IDg7CisgICAgbGVuZ3RoIHw9IHNiaWNfYXJtX3JlYWRuZXh0KGhvc3QpOwogCiAgICAgcmV0dXJuIGxlbmd0aDsKIH0KQEAgLTI4NSw3ICsyODIsNyBAQAogCWludCBhc3I7CiAKIAlkbyB7Ci0JCWFzciA9IHNiaWNfYXJtX3JlYWQoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX0FTUik7CisJCWFzciA9IHNiaWNfYXJtX3JlYWQoaG9zdCwgU0JJQ19BU1IpOwogCiAJCWlmICgoYXNyICYgc3RhdF9tYXNrKSA9PSBzdGF0KQogCQkJcmV0dXJuIDA7CkBAIC0zMDQsNyArMzAxLDcgQEAKICAgICBpZiAoYWNvcm5zY3NpX3NiaWNfd2FpdChob3N0LCBBU1JfQ0lQLCAwLCAxMDAwLCAiaXNzdWluZyBjb21tYW5kIikpCiAJcmV0dXJuIC0xOwogCi0gICAgc2JpY19hcm1fd3JpdGUoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX0NNTkQsIGNvbW1hbmQpOworICAgIHNiaWNfYXJtX3dyaXRlKGhvc3QsIFNCSUNfQ01ORCwgY29tbWFuZCk7CiAKICAgICByZXR1cm4gMDsKIH0KQEAgLTMzMSwyMCArMzI4LDIwIEBACiAKICAgICAvKiBhc3NlcnQgcmVzZXQgbGluZSAqLwogICAgIGhvc3QtPmNhcmQucGFnZV9yZWcgPSAweDgwOwotICAgIG91dGIoaG9zdC0+Y2FyZC5wYWdlX3JlZywgaG9zdC0+Y2FyZC5pb19wYWdlKTsKKyAgICB3cml0ZWIoaG9zdC0+Y2FyZC5wYWdlX3JlZywgaG9zdC0+ZmFzdCArIFBBR0VfUkVHKTsKIAogICAgIC8qIHdhaXQgMyBjcy4gIFNDU0kgc3RhbmRhcmQgc2F5cyAyNW1zLiAqLwogICAgIGFjb3Juc2NzaV9jc2RlbGF5KDMpOwogCiAgICAgaG9zdC0+Y2FyZC5wYWdlX3JlZyA9IDA7Ci0gICAgb3V0Yihob3N0LT5jYXJkLnBhZ2VfcmVnLCBob3N0LT5jYXJkLmlvX3BhZ2UpOworICAgIHdyaXRlYihob3N0LT5jYXJkLnBhZ2VfcmVnLCBob3N0LT5mYXN0ICsgUEFHRV9SRUcpOwogCiAgICAgLyoKICAgICAgKiBTaG91bGQgZ2V0IGEgcmVzZXQgZnJvbSB0aGUgY2FyZAogICAgICAqLwogICAgIHRpbWVvdXQgPSAxMDAwOwogICAgIGRvIHsKLQlpZiAoaW5iKGhvc3QtPmNhcmQuaW9faW50cikgJiA4KQorCWlmIChyZWFkYihob3N0LT5mYXN0ICsgSU5UX1JFRykgJiA4KQogCSAgICBicmVhazsKIAl1ZGVsYXkoMSk7CiAgICAgfSB3aGlsZSAoLS10aW1lb3V0KTsKQEAgLTM1MywxOSArMzUwLDE5IEBACiAJcHJpbnRrKCJzY3NpJWQ6IHRpbWVvdXQgd2hpbGUgcmVzZXR0aW5nIGNhcmRcbiIsCiAJCWhvc3QtPmhvc3QtPmhvc3Rfbm8pOwogCi0gICAgc2JpY19hcm1fcmVhZChob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfQVNSKTsKLSAgICBzYmljX2FybV9yZWFkKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19TU1IpOworICAgIHNiaWNfYXJtX3JlYWQoaG9zdCwgU0JJQ19BU1IpOworICAgIHNiaWNfYXJtX3JlYWQoaG9zdCwgU0JJQ19TU1IpOwogCiAgICAgLyogc2V0dXAgc2JpYyAtIFdEMzNDOTNBICovCi0gICAgc2JpY19hcm1fd3JpdGUoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX09XTklELCBPV05JRF9FQUYgfCBob3N0LT5ob3N0LT50aGlzX2lkKTsKLSAgICBzYmljX2FybV93cml0ZShob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfQ01ORCwgQ01ORF9SRVNFVCk7CisgICAgc2JpY19hcm1fd3JpdGUoaG9zdCwgU0JJQ19PV05JRCwgT1dOSURfRUFGIHwgaG9zdC0+aG9zdC0+dGhpc19pZCk7CisgICAgc2JpY19hcm1fd3JpdGUoaG9zdCwgU0JJQ19DTU5ELCBDTU5EX1JFU0VUKTsKIAogICAgIC8qCiAgICAgICogQ29tbWFuZCBzaG91bGQgY2F1c2UgYSByZXNldCBpbnRlcnJ1cHQKICAgICAgKi8KICAgICB0aW1lb3V0ID0gMTAwMDsKICAgICBkbyB7Ci0JaWYgKGluYihob3N0LT5jYXJkLmlvX2ludHIpICYgOCkKKwlpZiAocmVhZGIoaG9zdC0+ZmFzdCArIElOVF9SRUcpICYgOCkKIAkgICAgYnJlYWs7CiAJdWRlbGF5KDEpOwogICAgIH0gd2hpbGUgKC0tdGltZW91dCk7CkBAIC0zNzQsMjYgKzM3MSwyNiBAQAogCXByaW50aygic2NzaSVkOiB0aW1lb3V0IHdoaWxlIHJlc2V0dGluZyBjYXJkXG4iLAogCQlob3N0LT5ob3N0LT5ob3N0X25vKTsKIAotICAgIHNiaWNfYXJtX3JlYWQoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX0FTUik7Ci0gICAgaWYgKHNiaWNfYXJtX3JlYWQoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX1NTUikgIT0gMHgwMSkKKyAgICBzYmljX2FybV9yZWFkKGhvc3QsIFNCSUNfQVNSKTsKKyAgICBpZiAoc2JpY19hcm1fcmVhZChob3N0LCBTQklDX1NTUikgIT0gMHgwMSkKIAlwcmludGsoS0VSTl9DUklUICJzY3NpJWQ6IFdEMzNDOTNBIGRpZG4ndCBnaXZlIGVuaGFuY2VkIHJlc2V0IGludGVycnVwdFxuIiwKIAkJaG9zdC0+aG9zdC0+aG9zdF9ubyk7CiAKLSAgICBzYmljX2FybV93cml0ZShob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfQ1RSTCwgSU5JVF9TQklDRE1BIHwgQ1RSTF9JREkpOwotICAgIHNiaWNfYXJtX3dyaXRlKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19USU1FT1VULCBUSU1FT1VUX1RJTUUpOwotICAgIHNiaWNfYXJtX3dyaXRlKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19TWU5DSFRSQU5TRkVSLCBTWU5DSFRSQU5TRkVSXzJEQkEpOwotICAgIHNiaWNfYXJtX3dyaXRlKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19TT1VSQ0VJRCwgU09VUkNFSURfRVIgfCBTT1VSQ0VJRF9EU1ApOworICAgIHNiaWNfYXJtX3dyaXRlKGhvc3QsIFNCSUNfQ1RSTCwgSU5JVF9TQklDRE1BIHwgQ1RSTF9JREkpOworICAgIHNiaWNfYXJtX3dyaXRlKGhvc3QsIFNCSUNfVElNRU9VVCwgVElNRU9VVF9USU1FKTsKKyAgICBzYmljX2FybV93cml0ZShob3N0LCBTQklDX1NZTkNIVFJBTlNGRVIsIFNZTkNIVFJBTlNGRVJfMkRCQSk7CisgICAgc2JpY19hcm1fd3JpdGUoaG9zdCwgU0JJQ19TT1VSQ0VJRCwgU09VUkNFSURfRVIgfCBTT1VSQ0VJRF9EU1ApOwogCiAgICAgaG9zdC0+Y2FyZC5wYWdlX3JlZyA9IDB4NDA7Ci0gICAgb3V0Yihob3N0LT5jYXJkLnBhZ2VfcmVnLCBob3N0LT5jYXJkLmlvX3BhZ2UpOworICAgIHdyaXRlYihob3N0LT5jYXJkLnBhZ2VfcmVnLCBob3N0LT5mYXN0ICsgUEFHRV9SRUcpOwogCiAgICAgLyogc2V0dXAgZG1hYyAtIHVQQzcxMDcxICovCi0gICAgZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19JTklULCAwKTsKKyAgICBkbWFjX3dyaXRlKGhvc3QsIERNQUNfSU5JVCwgMCk7CiAjaWZkZWYgVVNFX0RNQUMKLSAgICBkbWFjX3dyaXRlKGhvc3QtPmRtYS5pb19wb3J0LCBETUFDX0lOSVQsIElOSVRfOEJJVCk7Ci0gICAgZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19DSEFOTkVMLCBDSEFOTkVMXzApOwotICAgIGRtYWNfd3JpdGUoaG9zdC0+ZG1hLmlvX3BvcnQsIERNQUNfREVWQ09OMCwgSU5JVF9ERVZDT04wKTsKLSAgICBkbWFjX3dyaXRlKGhvc3QtPmRtYS5pb19wb3J0LCBETUFDX0RFVkNPTjEsIElOSVRfREVWQ09OMSk7CisgICAgZG1hY193cml0ZShob3N0LCBETUFDX0lOSVQsIElOSVRfOEJJVCk7CisgICAgZG1hY193cml0ZShob3N0LCBETUFDX0NIQU5ORUwsIENIQU5ORUxfMCk7CisgICAgZG1hY193cml0ZShob3N0LCBETUFDX0RFVkNPTjAsIElOSVRfREVWQ09OMCk7CisgICAgZG1hY193cml0ZShob3N0LCBETUFDX0RFVkNPTjEsIElOSVRfREVWQ09OMSk7CiAjZW5kaWYKIAogICAgIGhvc3QtPlNDcG50ID0gTlVMTDsKQEAgLTc0MSw5ICs3MzgsOSBAQAogICAgICAqIElmIHdlIGhhdmUgYW4gaW50ZXJydXB0IHBlbmRpbmcsIHRoZW4gd2UgbWF5IGhhdmUgYmVlbiByZXNlbGVjdGVkLgogICAgICAqIEluIHRoaXMgY2FzZSwgd2UgZG9uJ3Qgd2FudCB0byB3cml0ZSB0byB0aGUgcmVnaXN0ZXJzCiAgICAgICovCi0gICAgaWYgKCEoc2JpY19hcm1fcmVhZChob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfQVNSKSAmIChBU1JfSU5UfEFTUl9CU1l8QVNSX0NJUCkpKSB7Ci0Jc2JpY19hcm1fd3JpdGUoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX0RFU1RJRCwgU0NwbnQtPmRldmljZS0+aWQpOwotCXNiaWNfYXJtX3dyaXRlKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19DTU5ELCBDTU5EX1NFTFdJVEhBVE4pOworICAgIGlmICghKHNiaWNfYXJtX3JlYWQoaG9zdCwgU0JJQ19BU1IpICYgKEFTUl9JTlR8QVNSX0JTWXxBU1JfQ0lQKSkpIHsKKwlzYmljX2FybV93cml0ZShob3N0LCBTQklDX0RFU1RJRCwgU0NwbnQtPmRldmljZS0+aWQpOworCXNiaWNfYXJtX3dyaXRlKGhvc3QsIFNCSUNfQ01ORCwgQ01ORF9TRUxXSVRIQVROKTsKICAgICB9CiAKICAgICAvKgpAQCAtODA3LDcgKzgwNCw3IEBACiAJc3RydWN0IHNjc2lfY21uZCAqU0NwbnQgPSAqU0NwbnRwOwogCiAgICAgLyogY2xlYW4gdXAgKi8KLSAgICBzYmljX2FybV93cml0ZShob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfU09VUkNFSUQsIFNPVVJDRUlEX0VSIHwgU09VUkNFSURfRFNQKTsKKyAgICBzYmljX2FybV93cml0ZShob3N0LCBTQklDX1NPVVJDRUlELCBTT1VSQ0VJRF9FUiB8IFNPVVJDRUlEX0RTUCk7CiAKICAgICBob3N0LT5zdGF0cy5maW5zICs9IDE7CiAKQEAgLTkxOCwxMyArOTE1LDEzIEBACiB2b2lkIGFjb3Juc2NzaV9kYXRhX3JlYWQoQVNfSG9zdCAqaG9zdCwgY2hhciAqcHRyLAogCQkJCSB1bnNpZ25lZCBpbnQgc3RhcnRfYWRkciwgdW5zaWduZWQgaW50IGxlbmd0aCkKIHsKLSAgICBleHRlcm4gdm9pZCBfX2Fjb3Juc2NzaV9pbihpbnQgcG9ydCwgY2hhciAqYnVmLCBpbnQgbGVuKTsKKyAgICBleHRlcm4gdm9pZCBfX2Fjb3Juc2NzaV9pbih2b2lkIF9faW9tZW0gKiwgY2hhciAqYnVmLCBpbnQgbGVuKTsKICAgICB1bnNpZ25lZCBpbnQgcGFnZSwgb2Zmc2V0LCBsZW4gPSBsZW5ndGg7CiAKICAgICBwYWdlID0gKHN0YXJ0X2FkZHIgPj4gMTIpOwogICAgIG9mZnNldCA9IHN0YXJ0X2FkZHIgJiAoKDEgPDwgMTIpIC0gMSk7CiAKLSAgICBvdXRiKChwYWdlICYgMHgzZikgfCBob3N0LT5jYXJkLnBhZ2VfcmVnLCBob3N0LT5jYXJkLmlvX3BhZ2UpOworICAgIHdyaXRlYigocGFnZSAmIDB4M2YpIHwgaG9zdC0+Y2FyZC5wYWdlX3JlZywgaG9zdC0+ZmFzdCArIFBBR0VfUkVHKTsKIAogICAgIHdoaWxlIChsZW4gPiAwKSB7CiAJdW5zaWduZWQgaW50IHRoaXNfbGVuOwpAQCAtOTM0LDcgKzkzMSw3IEBACiAJZWxzZQogCSAgICB0aGlzX2xlbiA9IGxlbjsKIAotCV9fYWNvcm5zY3NpX2luKGhvc3QtPmNhcmQuaW9fcmFtICsgKG9mZnNldCA8PCAxKSwgcHRyLCB0aGlzX2xlbik7CisJX19hY29ybnNjc2lfaW4oaG9zdC0+YmFzZSArIChvZmZzZXQgPDwgMSksIHB0ciwgdGhpc19sZW4pOwogCiAJb2Zmc2V0ICs9IHRoaXNfbGVuOwogCXB0ciArPSB0aGlzX2xlbjsKQEAgLTk0MywxMCArOTQwLDEwIEBACiAJaWYgKG9mZnNldCA9PSAoMSA8PCAxMikpIHsKIAkgICAgb2Zmc2V0ID0gMDsKIAkgICAgcGFnZSArKzsKLQkgICAgb3V0YigocGFnZSAmIDB4M2YpIHwgaG9zdC0+Y2FyZC5wYWdlX3JlZywgaG9zdC0+Y2FyZC5pb19wYWdlKTsKKwkgICAgd3JpdGViKChwYWdlICYgMHgzZikgfCBob3N0LT5jYXJkLnBhZ2VfcmVnLCBob3N0LT5mYXN0ICsgUEFHRV9SRUcpOwogCX0KICAgICB9Ci0gICAgb3V0Yihob3N0LT5jYXJkLnBhZ2VfcmVnLCBob3N0LT5jYXJkLmlvX3BhZ2UpOworICAgIHdyaXRlYihob3N0LT5jYXJkLnBhZ2VfcmVnLCBob3N0LT5mYXN0ICsgUEFHRV9SRUcpOwogfQogCiAvKgpAQCAtOTYzLDEzICs5NjAsMTMgQEAKIHZvaWQgYWNvcm5zY3NpX2RhdGFfd3JpdGUoQVNfSG9zdCAqaG9zdCwgY2hhciAqcHRyLAogCQkJCSB1bnNpZ25lZCBpbnQgc3RhcnRfYWRkciwgdW5zaWduZWQgaW50IGxlbmd0aCkKIHsKLSAgICBleHRlcm4gdm9pZCBfX2Fjb3Juc2NzaV9vdXQoaW50IHBvcnQsIGNoYXIgKmJ1ZiwgaW50IGxlbik7CisgICAgZXh0ZXJuIHZvaWQgX19hY29ybnNjc2lfb3V0KHZvaWQgX19pb21lbSAqLCBjaGFyICpidWYsIGludCBsZW4pOwogICAgIHVuc2lnbmVkIGludCBwYWdlLCBvZmZzZXQsIGxlbiA9IGxlbmd0aDsKIAogICAgIHBhZ2UgPSAoc3RhcnRfYWRkciA+PiAxMik7CiAgICAgb2Zmc2V0ID0gc3RhcnRfYWRkciAmICgoMSA8PCAxMikgLSAxKTsKIAotICAgIG91dGIoKHBhZ2UgJiAweDNmKSB8IGhvc3QtPmNhcmQucGFnZV9yZWcsIGhvc3QtPmNhcmQuaW9fcGFnZSk7CisgICAgd3JpdGViKChwYWdlICYgMHgzZikgfCBob3N0LT5jYXJkLnBhZ2VfcmVnLCBob3N0LT5mYXN0ICsgUEFHRV9SRUcpOwogCiAgICAgd2hpbGUgKGxlbiA+IDApIHsKIAl1bnNpZ25lZCBpbnQgdGhpc19sZW47CkBAIC05NzksNyArOTc2LDcgQEAKIAllbHNlCiAJICAgIHRoaXNfbGVuID0gbGVuOwogCi0JX19hY29ybnNjc2lfb3V0KGhvc3QtPmNhcmQuaW9fcmFtICsgKG9mZnNldCA8PCAxKSwgcHRyLCB0aGlzX2xlbik7CisJX19hY29ybnNjc2lfb3V0KGhvc3QtPmJhc2UgKyAob2Zmc2V0IDw8IDEpLCBwdHIsIHRoaXNfbGVuKTsKIAogCW9mZnNldCArPSB0aGlzX2xlbjsKIAlwdHIgKz0gdGhpc19sZW47CkBAIC05ODgsMTAgKzk4NSwxMCBAQAogCWlmIChvZmZzZXQgPT0gKDEgPDwgMTIpKSB7CiAJICAgIG9mZnNldCA9IDA7CiAJICAgIHBhZ2UgKys7Ci0JICAgIG91dGIoKHBhZ2UgJiAweDNmKSB8IGhvc3QtPmNhcmQucGFnZV9yZWcsIGhvc3QtPmNhcmQuaW9fcGFnZSk7CisJICAgIHdyaXRlYigocGFnZSAmIDB4M2YpIHwgaG9zdC0+Y2FyZC5wYWdlX3JlZywgaG9zdC0+ZmFzdCArIFBBR0VfUkVHKTsKIAl9CiAgICAgfQotICAgIG91dGIoaG9zdC0+Y2FyZC5wYWdlX3JlZywgaG9zdC0+Y2FyZC5pb19wYWdlKTsKKyAgICB3cml0ZWIoaG9zdC0+Y2FyZC5wYWdlX3JlZywgaG9zdC0+ZmFzdCArIFBBR0VfUkVHKTsKIH0KIAogLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQEAgLTEwMDgsOCArMTAwNSw4IEBACiBzdGF0aWMgaW5saW5lCiB2b2lkIGFjb3Juc2NzaV9kbWFfc3RvcChBU19Ib3N0ICpob3N0KQogewotICAgIGRtYWNfd3JpdGUoaG9zdC0+ZG1hLmlvX3BvcnQsIERNQUNfTUFTS1JFRywgTUFTS19PTik7Ci0gICAgZG1hY19jbGVhcmludHIoaG9zdC0+ZG1hLmlvX2ludHJfY2xlYXIpOworICAgIGRtYWNfd3JpdGUoaG9zdCwgRE1BQ19NQVNLUkVHLCBNQVNLX09OKTsKKyAgICBkbWFjX2NsZWFyaW50cihob3N0KTsKIAogI2lmIChERUJVRyAmIERFQlVHX0RNQSkKICAgICBEQkcoaG9zdC0+U0NwbnQsIGFjb3Juc2NzaV9kdW1wZG1hKGhvc3QsICJzdG9wIikpOwpAQCAtMTAzMSw3ICsxMDI4LDcgQEAKIAogICAgIGhvc3QtPmRtYS5kaXJlY3Rpb24gPSBkaXJlY3Rpb247CiAKLSAgICBkbWFjX3dyaXRlKGhvc3QtPmRtYS5pb19wb3J0LCBETUFDX01BU0tSRUcsIE1BU0tfT04pOworICAgIGRtYWNfd3JpdGUoaG9zdCwgRE1BQ19NQVNLUkVHLCBNQVNLX09OKTsKIAogICAgIGlmIChkaXJlY3Rpb24gPT0gRE1BX09VVCkgewogI2lmIChERUJVRyAmIERFQlVHX05PX1dSSVRFKQpAQCAtMTA2MiwxMyArMTA1OSwxMyBAQAogCQkJCWxlbmd0aCk7CiAKIAlsZW5ndGggLT0gMTsKLQlkbWFjX3dyaXRlKGhvc3QtPmRtYS5pb19wb3J0LCBETUFDX1RYQ05UTE8sIGxlbmd0aCk7Ci0JZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19UWENOVEhJLCBsZW5ndGggPj4gOCk7Ci0JZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19UWEFEUkxPLCBhZGRyZXNzKTsKLQlkbWFjX3dyaXRlKGhvc3QtPmRtYS5pb19wb3J0LCBETUFDX1RYQURSTUQsIGFkZHJlc3MgPj4gOCk7Ci0JZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19UWEFEUkhJLCAwKTsKLQlkbWFjX3dyaXRlKGhvc3QtPmRtYS5pb19wb3J0LCBETUFDX01PREVDT04sIG1vZGUpOwotCWRtYWNfd3JpdGUoaG9zdC0+ZG1hLmlvX3BvcnQsIERNQUNfTUFTS1JFRywgTUFTS19PRkYpOworCWRtYWNfd3JpdGUoaG9zdCwgRE1BQ19UWENOVExPLCBsZW5ndGgpOworCWRtYWNfd3JpdGUoaG9zdCwgRE1BQ19UWENOVEhJLCBsZW5ndGggPj4gOCk7CisJZG1hY193cml0ZShob3N0LCBETUFDX1RYQURSTE8sIGFkZHJlc3MpOworCWRtYWNfd3JpdGUoaG9zdCwgRE1BQ19UWEFEUk1ELCBhZGRyZXNzID4+IDgpOworCWRtYWNfd3JpdGUoaG9zdCwgRE1BQ19UWEFEUkhJLCAwKTsKKwlkbWFjX3dyaXRlKGhvc3QsIERNQUNfTU9ERUNPTiwgbW9kZSk7CisJZG1hY193cml0ZShob3N0LCBETUFDX01BU0tSRUcsIE1BU0tfT0ZGKTsKIAogI2lmIChERUJVRyAmIERFQlVHX0RNQSkKIAlEQkcoaG9zdC0+U0NwbnQsIGFjb3Juc2NzaV9kdW1wZG1hKGhvc3QsICJzdHJ0IikpOwpAQCAtMTA4OCw4ICsxMDg1LDggQEAKIHN0YXRpYwogdm9pZCBhY29ybnNjc2lfZG1hX2NsZWFudXAoQVNfSG9zdCAqaG9zdCkKIHsKLSAgICBkbWFjX3dyaXRlKGhvc3QtPmRtYS5pb19wb3J0LCBETUFDX01BU0tSRUcsIE1BU0tfT04pOwotICAgIGRtYWNfY2xlYXJpbnRyKGhvc3QtPmRtYS5pb19pbnRyX2NsZWFyKTsKKyAgICBkbWFjX3dyaXRlKGhvc3QsIERNQUNfTUFTS1JFRywgTUFTS19PTik7CisgICAgZG1hY19jbGVhcmludHIoaG9zdCk7CiAKICAgICAvKgogICAgICAqIENoZWNrIGZvciBhIHBlbmRpbmcgdHJhbnNmZXIKQEAgLTExMTYsNyArMTExMyw3IEBACiAJLyoKIAkgKiBDYWxjdWxhdGUgbnVtYmVyIG9mIGJ5dGVzIHRyYW5zZmVycmVkIGZyb20gRE1BLgogCSAqLwotCXRyYW5zZmVycmVkID0gZG1hY19hZGRyZXNzKGhvc3QtPmRtYS5pb19wb3J0KSAtIGhvc3QtPmRtYS5zdGFydF9hZGRyOworCXRyYW5zZmVycmVkID0gZG1hY19hZGRyZXNzKGhvc3QpIC0gaG9zdC0+ZG1hLnN0YXJ0X2FkZHI7CiAJaG9zdC0+ZG1hLnRyYW5zZmVycmVkICs9IHRyYW5zZmVycmVkOwogCiAJaWYgKGhvc3QtPmRtYS5kaXJlY3Rpb24gPT0gRE1BX0lOKQpAQCAtMTE1MiwxMyArMTE0OSwxMyBAQAogICAgIERCRyhob3N0LT5TQ3BudCwgYWNvcm5zY3NpX2R1bXBkbWEoaG9zdCwgImludGkiKSk7CiAjZW5kaWYKIAotICAgIGRtYWNfd3JpdGUoaG9zdC0+ZG1hLmlvX3BvcnQsIERNQUNfTUFTS1JFRywgTUFTS19PTik7Ci0gICAgZG1hY19jbGVhcmludHIoaG9zdC0+ZG1hLmlvX2ludHJfY2xlYXIpOworICAgIGRtYWNfd3JpdGUoaG9zdCwgRE1BQ19NQVNLUkVHLCBNQVNLX09OKTsKKyAgICBkbWFjX2NsZWFyaW50cihob3N0KTsKIAogICAgIC8qCiAgICAgICogQ2FsY3VsYXRlIGFtb3VudCB0cmFuc2ZlcnJlZCB2aWEgRE1BCiAgICAgICovCi0gICAgdHJhbnNmZXJyZWQgPSBkbWFjX2FkZHJlc3MoaG9zdC0+ZG1hLmlvX3BvcnQpIC0gaG9zdC0+ZG1hLnN0YXJ0X2FkZHI7CisgICAgdHJhbnNmZXJyZWQgPSBkbWFjX2FkZHJlc3MoaG9zdCkgLSBob3N0LT5kbWEuc3RhcnRfYWRkcjsKICAgICBob3N0LT5kbWEudHJhbnNmZXJyZWQgKz0gdHJhbnNmZXJyZWQ7CiAKICAgICAvKgpAQCAtMTE5MCwxMiArMTE4NywxMiBAQAogCQkJCWxlbmd0aCk7CiAKIAlsZW5ndGggLT0gMTsKLQlkbWFjX3dyaXRlKGhvc3QtPmRtYS5pb19wb3J0LCBETUFDX1RYQ05UTE8sIGxlbmd0aCk7Ci0JZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19UWENOVEhJLCBsZW5ndGggPj4gOCk7Ci0JZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19UWEFEUkxPLCBhZGRyZXNzKTsKLQlkbWFjX3dyaXRlKGhvc3QtPmRtYS5pb19wb3J0LCBETUFDX1RYQURSTUQsIGFkZHJlc3MgPj4gOCk7Ci0JZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19UWEFEUkhJLCAwKTsKLQlkbWFjX3dyaXRlKGhvc3QtPmRtYS5pb19wb3J0LCBETUFDX01BU0tSRUcsIE1BU0tfT0ZGKTsKKwlkbWFjX3dyaXRlKGhvc3QsIERNQUNfVFhDTlRMTywgbGVuZ3RoKTsKKwlkbWFjX3dyaXRlKGhvc3QsIERNQUNfVFhDTlRISSwgbGVuZ3RoID4+IDgpOworCWRtYWNfd3JpdGUoaG9zdCwgRE1BQ19UWEFEUkxPLCBhZGRyZXNzKTsKKwlkbWFjX3dyaXRlKGhvc3QsIERNQUNfVFhBRFJNRCwgYWRkcmVzcyA+PiA4KTsKKwlkbWFjX3dyaXRlKGhvc3QsIERNQUNfVFhBRFJISSwgMCk7CisJZG1hY193cml0ZShob3N0LCBETUFDX01BU0tSRUcsIE1BU0tfT0ZGKTsKIAogI2lmIChERUJVRyAmIERFQlVHX0RNQSkKIAlEQkcoaG9zdC0+U0NwbnQsIGFjb3Juc2NzaV9kdW1wZG1hKGhvc3QsICJpbnRvIikpOwpAQCAtMTIwOSwxNSArMTIwNiwxNSBAQAogCSAqIGF0dGVudGlvbiBjb25kaXRpb24uICBXZSBjb250aW51ZSBnaXZpbmcgb25lIGJ5dGUgdW50aWwKIAkgKiB0aGUgZGV2aWNlIHJlY29nbmlzZXMgdGhlIGF0dGVudGlvbi4KIAkgKi8KLQlpZiAoZG1hY19yZWFkKGhvc3QtPmRtYS5pb19wb3J0LCBETUFDX1NUQVRVUykgJiBTVEFUVVNfUlEwKSB7CisJaWYgKGRtYWNfcmVhZChob3N0LCBETUFDX1NUQVRVUykgJiBTVEFUVVNfUlEwKSB7CiAJICAgIGFjb3Juc2NzaV9hYm9ydGNtZChob3N0LCBob3N0LT5TQ3BudC0+dGFnKTsKIAotCSAgICBkbWFjX3dyaXRlKGhvc3QtPmRtYS5pb19wb3J0LCBETUFDX1RYQ05UTE8sIDApOwotCSAgICBkbWFjX3dyaXRlKGhvc3QtPmRtYS5pb19wb3J0LCBETUFDX1RYQ05USEksIDApOwotCSAgICBkbWFjX3dyaXRlKGhvc3QtPmRtYS5pb19wb3J0LCBETUFDX1RYQURSTE8sIDApOwotCSAgICBkbWFjX3dyaXRlKGhvc3QtPmRtYS5pb19wb3J0LCBETUFDX1RYQURSTUQsIDApOwotCSAgICBkbWFjX3dyaXRlKGhvc3QtPmRtYS5pb19wb3J0LCBETUFDX1RYQURSSEksIDApOwotCSAgICBkbWFjX3dyaXRlKGhvc3QtPmRtYS5pb19wb3J0LCBETUFDX01BU0tSRUcsIE1BU0tfT0ZGKTsKKwkgICAgZG1hY193cml0ZShob3N0LCBETUFDX1RYQ05UTE8sIDApOworCSAgICBkbWFjX3dyaXRlKGhvc3QsIERNQUNfVFhDTlRISSwgMCk7CisJICAgIGRtYWNfd3JpdGUoaG9zdCwgRE1BQ19UWEFEUkxPLCAwKTsKKwkgICAgZG1hY193cml0ZShob3N0LCBETUFDX1RYQURSTUQsIDApOworCSAgICBkbWFjX3dyaXRlKGhvc3QsIERNQUNfVFhBRFJISSwgMCk7CisJICAgIGRtYWNfd3JpdGUoaG9zdCwgRE1BQ19NQVNLUkVHLCBNQVNLX09GRik7CiAJfQogI2VuZGlmCiAgICAgfQpAQCAtMTI3MSw5ICsxMjY4LDkgQEAKIAkgICAgaG9zdC0+ZG1hLnhmZXJfc2V0dXAgPSAwOwogCWVsc2UgewogCSAgICB0cmFuc2ZlcnJlZCArPSBob3N0LT5kbWEuc3RhcnRfYWRkcjsKLQkgICAgZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19UWEFEUkxPLCB0cmFuc2ZlcnJlZCk7Ci0JICAgIGRtYWNfd3JpdGUoaG9zdC0+ZG1hLmlvX3BvcnQsIERNQUNfVFhBRFJNRCwgdHJhbnNmZXJyZWQgPj4gOCk7Ci0JICAgIGRtYWNfd3JpdGUoaG9zdC0+ZG1hLmlvX3BvcnQsIERNQUNfVFhBRFJISSwgdHJhbnNmZXJyZWQgPj4gMTYpOworCSAgICBkbWFjX3dyaXRlKGhvc3QsIERNQUNfVFhBRFJMTywgdHJhbnNmZXJyZWQpOworCSAgICBkbWFjX3dyaXRlKGhvc3QsIERNQUNfVFhBRFJNRCwgdHJhbnNmZXJyZWQgPj4gOCk7CisJICAgIGRtYWNfd3JpdGUoaG9zdCwgRE1BQ19UWEFEUkhJLCB0cmFuc2ZlcnJlZCA+PiAxNik7CiAjaWYgKERFQlVHICYgKERFQlVHX0RNQXxERUJVR19XUklURSkpCiAJICAgIERCRyhob3N0LT5TQ3BudCwgYWNvcm5zY3NpX2R1bXBkbWEoaG9zdCwgImFkam8iKSk7CiAjZW5kaWYKQEAgLTEyOTIsMTIgKzEyODksMTIgQEAKIAlpbnQgbXlfcHRyID0gKnB0cjsKIAogCXdoaWxlIChteV9wdHIgPCBsZW4pIHsKLQkJYXNyID0gc2JpY19hcm1fcmVhZChob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfQVNSKTsKKwkJYXNyID0gc2JpY19hcm1fcmVhZChob3N0LCBTQklDX0FTUik7CiAKIAkJaWYgKGFzciAmIEFTUl9EQlIpIHsKIAkJCXRpbWVvdXQgPSBtYXhfdGltZW91dDsKIAotCQkJc2JpY19hcm1fd3JpdGUoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX0RBVEEsIGJ5dGVzW215X3B0cisrXSk7CisJCQlzYmljX2FybV93cml0ZShob3N0LCBTQklDX0RBVEEsIGJ5dGVzW215X3B0cisrXSk7CiAJCX0gZWxzZSBpZiAoYXNyICYgQVNSX0lOVCkKIAkJCWJyZWFrOwogCQllbHNlIGlmICgtLXRpbWVvdXQgPT0gMCkKQEAgLTEzMjAsOSArMTMxNyw5IEBACiB7CiAJc3RydWN0IHNjc2lfY21uZCAqU0NwbnQgPSBob3N0LT5TQ3BudDsKIAotICAgIHNiaWNfYXJtX3dyaXRlKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19UUkFOU0NOVEgsIDApOwotICAgIHNiaWNfYXJtX3dyaXRlbmV4dChob3N0LT5zY3NpLmlvX3BvcnQsIDApOwotICAgIHNiaWNfYXJtX3dyaXRlbmV4dChob3N0LT5zY3NpLmlvX3BvcnQsIFNDcG50LT5jbWRfbGVuIC0gaG9zdC0+c2NzaS5TQ3Auc2VudF9jb21tYW5kKTsKKyAgICBzYmljX2FybV93cml0ZShob3N0LCBTQklDX1RSQU5TQ05USCwgMCk7CisgICAgc2JpY19hcm1fd3JpdGVuZXh0KGhvc3QsIDApOworICAgIHNiaWNfYXJtX3dyaXRlbmV4dChob3N0LCBTQ3BudC0+Y21kX2xlbiAtIGhvc3QtPnNjc2kuU0NwLnNlbnRfY29tbWFuZCk7CiAKICAgICBhY29ybnNjc2lfc2JpY19pc3N1ZWNtZChob3N0LCBDTU5EX1hGRVJJTkZPKTsKIApAQCAtMTM1MSw3ICsxMzQ4LDcgQEAKIAogCWFjb3Juc2NzaV9zYmljX3dhaXQoaG9zdCwgQVNSX0RCUiwgQVNSX0RCUiwgMTAwMCwgInNlbmRpbmcgbWVzc2FnZSAxIik7CiAKLQlzYmljX2FybV93cml0ZShob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfREFUQSwgTk9QKTsKKwlzYmljX2FybV93cml0ZShob3N0LCBTQklDX0RBVEEsIE5PUCk7CiAKIAlob3N0LT5zY3NpLmxhc3RfbWVzc2FnZSA9IE5PUDsKICNpZiAoREVCVUcgJiBERUJVR19NRVNTQUdFUykKQEAgLTEzNjUsNyArMTM2Miw3IEBACiAKIAlhY29ybnNjc2lfc2JpY193YWl0KGhvc3QsIEFTUl9EQlIsIEFTUl9EQlIsIDEwMDAsICJzZW5kaW5nIG1lc3NhZ2UgMiIpOwogCi0Jc2JpY19hcm1fd3JpdGUoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX0RBVEEsIG1zZy0+bXNnWzBdKTsKKwlzYmljX2FybV93cml0ZShob3N0LCBTQklDX0RBVEEsIG1zZy0+bXNnWzBdKTsKIAogCWhvc3QtPnNjc2kubGFzdF9tZXNzYWdlID0gbXNnLT5tc2dbMF07CiAjaWYgKERFQlVHICYgREVCVUdfTUVTU0FHRVMpCkBAIC0xMzgyLDkgKzEzNzksOSBAQAogCSAqICBpbml0aWF0b3IuICBUaGlzIHByb3ZpZGVzIGFuIGludGVybG9jayBzbyB0aGF0IHRoZQogCSAqICBpbml0aWF0b3IgY2FuIGRldGVybWluZSB3aGljaCBtZXNzYWdlIGJ5dGUgaXMgcmVqZWN0ZWQuCiAJICovCi0Jc2JpY19hcm1fd3JpdGUoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX1RSQU5TQ05USCwgMCk7Ci0Jc2JpY19hcm1fd3JpdGVuZXh0KGhvc3QtPnNjc2kuaW9fcG9ydCwgMCk7Ci0Jc2JpY19hcm1fd3JpdGVuZXh0KGhvc3QtPnNjc2kuaW9fcG9ydCwgbWVzc2FnZV9sZW5ndGgpOworCXNiaWNfYXJtX3dyaXRlKGhvc3QsIFNCSUNfVFJBTlNDTlRILCAwKTsKKwlzYmljX2FybV93cml0ZW5leHQoaG9zdCwgMCk7CisJc2JpY19hcm1fd3JpdGVuZXh0KGhvc3QsIG1lc3NhZ2VfbGVuZ3RoKTsKIAlhY29ybnNjc2lfc2JpY19pc3N1ZWNtZChob3N0LCBDTU5EX1hGRVJJTkZPKTsKIAogCW1zZ25yID0gMDsKQEAgLTE0MjEsNyArMTQxOCw3IEBACiB7CiAgICAgYWNvcm5zY3NpX3NiaWNfaXNzdWVjbWQoaG9zdCwgQ01ORF9YRkVSSU5GT3xDTU5EX1NCVCk7CiAgICAgYWNvcm5zY3NpX3NiaWNfd2FpdChob3N0LCBBU1JfREJSLCBBU1JfREJSLCAxMDAwLCAicmVhZGluZyBzdGF0dXMgYnl0ZSIpOwotICAgIGhvc3QtPnNjc2kuU0NwLlN0YXR1cyA9IHNiaWNfYXJtX3JlYWQoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX0RBVEEpOworICAgIGhvc3QtPnNjc2kuU0NwLlN0YXR1cyA9IHNiaWNfYXJtX3JlYWQoaG9zdCwgU0JJQ19EQVRBKTsKIH0KIAogLyoKQEAgLTE0MzgsMTIgKzE0MzUsMTIgQEAKIAogICAgIGFjb3Juc2NzaV9zYmljX3dhaXQoaG9zdCwgQVNSX0RCUiwgQVNSX0RCUiwgMTAwMCwgImZvciBtZXNzYWdlIGJ5dGUiKTsKIAotICAgIG1lc3NhZ2UgPSBzYmljX2FybV9yZWFkKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19EQVRBKTsKKyAgICBtZXNzYWdlID0gc2JpY19hcm1fcmVhZChob3N0LCBTQklDX0RBVEEpOwogCiAgICAgLyogd2FpdCBmb3IgTVNHSU4tWEZFUi1QQVVTRUQgKi8KICAgICBhY29ybnNjc2lfc2JpY193YWl0KGhvc3QsIEFTUl9JTlQsIEFTUl9JTlQsIDEwMDAsICJmb3IgaW50ZXJydXB0IGFmdGVyIG1lc3NhZ2UgYnl0ZSIpOwogCi0gICAgc2JpY19hcm1fcmVhZChob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfU1NSKTsKKyAgICBzYmljX2FybV9yZWFkKGhvc3QsIFNCSUNfU1NSKTsKIAogICAgIHJldHVybiBtZXNzYWdlOwogfQpAQCAtMTQ4MCw3ICsxNDc3LDcgQEAKIAogCSAgICAvKiB3YWl0IGZvciBuZXh0IG1zZy1pbiAqLwogCSAgICBhY29ybnNjc2lfc2JpY193YWl0KGhvc3QsIEFTUl9JTlQsIEFTUl9JTlQsIDEwMDAsICJmb3IgaW50ZXJydXB0IGFmdGVyIG5lZ2F0ZSBhY2siKTsKLQkgICAgc2JpY19hcm1fcmVhZChob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfU1NSKTsKKwkgICAgc2JpY19hcm1fcmVhZChob3N0LCBTQklDX1NTUik7CiAJfQogICAgIH0gd2hpbGUgKG1zZ2lkeCA8IG1zZ2xlbik7CiAKQEAgLTE2MDIsNyArMTU5OSw3IEBACiAJCSAgICBob3N0LT5ob3N0LT5ob3N0X25vLCBhY29ybnNjc2lfdGFyZ2V0KGhvc3QpKTsKIAkgICAgaG9zdC0+ZGV2aWNlW2hvc3QtPlNDcG50LT5kZXZpY2UtPmlkXS5zeW5jX3hmZXIgPSBTWU5DSFRSQU5TRkVSXzJEQkE7CiAJICAgIGhvc3QtPmRldmljZVtob3N0LT5TQ3BudC0+ZGV2aWNlLT5pZF0uc3luY19zdGF0ZSA9IFNZTkNfQVNZTkNIUk9OT1VTOwotCSAgICBzYmljX2FybV93cml0ZShob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfU1lOQ0hUUkFOU0ZFUiwgaG9zdC0+ZGV2aWNlW2hvc3QtPlNDcG50LT5kZXZpY2UtPmlkXS5zeW5jX3hmZXIpOworCSAgICBzYmljX2FybV93cml0ZShob3N0LCBTQklDX1NZTkNIVFJBTlNGRVIsIGhvc3QtPmRldmljZVtob3N0LT5TQ3BudC0+ZGV2aWNlLT5pZF0uc3luY194ZmVyKTsKIAkgICAgYnJlYWs7CiAKIAlkZWZhdWx0OgpAQCAtMTY1Miw3ICsxNjQ5LDcgQEAKIAkJaG9zdC0+ZGV2aWNlW2hvc3QtPlNDcG50LT5kZXZpY2UtPmlkXS5zeW5jX3hmZXIgPQogCQkJY2FsY19zeW5jX3hmZXIocGVyaW9kICogNCwgbGVuZ3RoKTsKIAkgICAgfQotCSAgICBzYmljX2FybV93cml0ZShob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfU1lOQ0hUUkFOU0ZFUiwgaG9zdC0+ZGV2aWNlW2hvc3QtPlNDcG50LT5kZXZpY2UtPmlkXS5zeW5jX3hmZXIpOworCSAgICBzYmljX2FybV93cml0ZShob3N0LCBTQklDX1NZTkNIVFJBTlNGRVIsIGhvc3QtPmRldmljZVtob3N0LT5TQ3BudC0+ZGV2aWNlLT5pZF0uc3luY194ZmVyKTsKIAkgICAgYnJlYWs7CiAjZWxzZQogCSAgICAvKiBXZSBkbyBub3QgYWNjZXB0IHN5bmNocm9ub3VzIHRyYW5zZmVycy4gIFJlc3BvbmQgd2l0aCBhCkBAIC0xNzkyLDEwICsxNzg5LDEwIEBACiAKICAgICByZXNpZHVhbCA9IHNjc2lfYnVmZmxlbihob3N0LT5TQ3BudCkgLSBob3N0LT5zY3NpLlNDcC5zY3NpX3hmZXJyZWQ7CiAKLSAgICBzYmljX2FybV93cml0ZShob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfU1lOQ0hUUkFOU0ZFUiwgaG9zdC0+ZGV2aWNlW2hvc3QtPlNDcG50LT5kZXZpY2UtPmlkXS5zeW5jX3hmZXIpOwotICAgIHNiaWNfYXJtX3dyaXRlbmV4dChob3N0LT5zY3NpLmlvX3BvcnQsIHJlc2lkdWFsID4+IDE2KTsKLSAgICBzYmljX2FybV93cml0ZW5leHQoaG9zdC0+c2NzaS5pb19wb3J0LCByZXNpZHVhbCA+PiA4KTsKLSAgICBzYmljX2FybV93cml0ZW5leHQoaG9zdC0+c2NzaS5pb19wb3J0LCByZXNpZHVhbCk7CisgICAgc2JpY19hcm1fd3JpdGUoaG9zdCwgU0JJQ19TWU5DSFRSQU5TRkVSLCBob3N0LT5kZXZpY2VbaG9zdC0+U0NwbnQtPmRldmljZS0+aWRdLnN5bmNfeGZlcik7CisgICAgc2JpY19hcm1fd3JpdGVuZXh0KGhvc3QsIHJlc2lkdWFsID4+IDE2KTsKKyAgICBzYmljX2FybV93cml0ZW5leHQoaG9zdCwgcmVzaWR1YWwgPj4gOCk7CisgICAgc2JpY19hcm1fd3JpdGVuZXh0KGhvc3QsIHJlc2lkdWFsKTsKICAgICBhY29ybnNjc2lfc2JpY19pc3N1ZWNtZChob3N0LCBDTU5EX1hGRVJJTkZPKTsKICAgICByZXR1cm4gMTsKIH0KQEAgLTE4MTYsNyArMTgxMyw3IEBACiB7CiAgICAgdW5zaWduZWQgaW50IHRhcmdldCwgbHVuLCBvayA9IDA7CiAKLSAgICB0YXJnZXQgPSBzYmljX2FybV9yZWFkKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19TT1VSQ0VJRCk7CisgICAgdGFyZ2V0ID0gc2JpY19hcm1fcmVhZChob3N0LCBTQklDX1NPVVJDRUlEKTsKIAogICAgIGlmICghKHRhcmdldCAmIDgpKQogCXByaW50ayhLRVJOX0VSUiAic2NzaSVkOiBpbnZhbGlkIHNvdXJjZSBpZCBhZnRlciByZXNlbGVjdGlvbiAiCkBAIC0xODMyLDcgKzE4MjksNyBAQAogCWhvc3QtPlNDcG50ID0gTlVMTDsKICAgICB9CiAKLSAgICBsdW4gPSBzYmljX2FybV9yZWFkKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19EQVRBKSAmIDc7CisgICAgbHVuID0gc2JpY19hcm1fcmVhZChob3N0LCBTQklDX0RBVEEpICYgNzsKIAogICAgIGhvc3QtPnNjc2kucmVjb25uZWN0ZWQudGFyZ2V0ID0gdGFyZ2V0OwogICAgIGhvc3QtPnNjc2kucmVjb25uZWN0ZWQubHVuID0gbHVuOwpAQCAtMTk1Miw3ICsxOTQ5LDcgQEAKIHZvaWQgYWNvcm5zY3NpX2Fib3J0Y21kKEFTX0hvc3QgKmhvc3QsIHVuc2lnbmVkIGNoYXIgdGFnKQogewogICAgIGhvc3QtPnNjc2kucGhhc2UgPSBQSEFTRV9BQk9SVEVEOwotICAgIHNiaWNfYXJtX3dyaXRlKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19DTU5ELCBDTU5EX0FTU0VSVEFUTik7CisgICAgc2JpY19hcm1fd3JpdGUoaG9zdCwgU0JJQ19DTU5ELCBDTU5EX0FTU0VSVEFUTik7CiAKICAgICBtc2dxdWV1ZV9mbHVzaCgmaG9zdC0+c2NzaS5tc2dzKTsKICNpZmRlZiBDT05GSUdfU0NTSV9BQ09STlNDU0lfVEFHR0VEX1FVRVVFCkBAIC0xOTc5LDExICsxOTc2LDExIEBACiB7CiAgICAgdW5zaWduZWQgaW50IGFzciwgc3NyOwogCi0gICAgYXNyID0gc2JpY19hcm1fcmVhZChob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfQVNSKTsKKyAgICBhc3IgPSBzYmljX2FybV9yZWFkKGhvc3QsIFNCSUNfQVNSKTsKICAgICBpZiAoIShhc3IgJiBBU1JfSU5UKSkKIAlyZXR1cm4gSU5UUl9JRExFOwogCi0gICAgc3NyID0gc2JpY19hcm1fcmVhZChob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfU1NSKTsKKyAgICBzc3IgPSBzYmljX2FybV9yZWFkKGhvc3QsIFNCSUNfU1NSKTsKIAogI2lmIChERUJVRyAmIERFQlVHX1BIQVNFUykKICAgICBwcmludF9zYmljX3N0YXR1cyhhc3IsIHNzciwgaG9zdC0+c2NzaS5waGFzZSk7CkBAIC0xOTk5LDE1ICsxOTk2LDE1IEBACiAJcHJpbnRrKEtFUk5fRVJSICJzY3NpJWQ6IHJlc2V0IGluIHN0YW5kYXJkIG1vZGUgYnV0IHdhbnRlZCBhZHZhbmNlZCBtb2RlLlxuIiwKIAkJaG9zdC0+aG9zdC0+aG9zdF9ubyk7CiAJLyogc2V0dXAgc2JpYyAtIFdEMzNDOTNBICovCi0Jc2JpY19hcm1fd3JpdGUoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX09XTklELCBPV05JRF9FQUYgfCBob3N0LT5ob3N0LT50aGlzX2lkKTsKLQlzYmljX2FybV93cml0ZShob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfQ01ORCwgQ01ORF9SRVNFVCk7CisJc2JpY19hcm1fd3JpdGUoaG9zdCwgU0JJQ19PV05JRCwgT1dOSURfRUFGIHwgaG9zdC0+aG9zdC0+dGhpc19pZCk7CisJc2JpY19hcm1fd3JpdGUoaG9zdCwgU0JJQ19DTU5ELCBDTU5EX1JFU0VUKTsKIAlyZXR1cm4gSU5UUl9JRExFOwogCiAgICAgY2FzZSAweDAxOgkJCQkvKiByZXNldCBzdGF0ZSAtIGFkdmFuY2VkCQkJKi8KLQlzYmljX2FybV93cml0ZShob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfQ1RSTCwgSU5JVF9TQklDRE1BIHwgQ1RSTF9JREkpOwotCXNiaWNfYXJtX3dyaXRlKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19USU1FT1VULCBUSU1FT1VUX1RJTUUpOwotCXNiaWNfYXJtX3dyaXRlKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19TWU5DSFRSQU5TRkVSLCBTWU5DSFRSQU5TRkVSXzJEQkEpOwotCXNiaWNfYXJtX3dyaXRlKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19TT1VSQ0VJRCwgU09VUkNFSURfRVIgfCBTT1VSQ0VJRF9EU1ApOworCXNiaWNfYXJtX3dyaXRlKGhvc3QsIFNCSUNfQ1RSTCwgSU5JVF9TQklDRE1BIHwgQ1RSTF9JREkpOworCXNiaWNfYXJtX3dyaXRlKGhvc3QsIFNCSUNfVElNRU9VVCwgVElNRU9VVF9USU1FKTsKKwlzYmljX2FybV93cml0ZShob3N0LCBTQklDX1NZTkNIVFJBTlNGRVIsIFNZTkNIVFJBTlNGRVJfMkRCQSk7CisJc2JpY19hcm1fd3JpdGUoaG9zdCwgU0JJQ19TT1VSQ0VJRCwgU09VUkNFSURfRVIgfCBTT1VSQ0VJRF9EU1ApOwogCW1zZ3F1ZXVlX2ZsdXNoKCZob3N0LT5zY3NpLm1zZ3MpOwogCXJldHVybiBJTlRSX0lETEU7CiAKQEAgLTIwMjUsMTAgKzIwMjIsMTAgQEAKIAkgICAgbXNncXVldWVfZmx1c2goJmhvc3QtPnNjc2kubXNncyk7CiAJICAgIGhvc3QtPmRtYS50cmFuc2ZlcnJlZCA9IGhvc3QtPnNjc2kuU0NwLnNjc2lfeGZlcnJlZDsKIAkgICAgLyogMzNDOTMgZ2l2ZXMgbmV4dCBpbnRlcnJ1cHQgaW5kaWNhdGluZyBidXMgcGhhc2UgKi8KLQkgICAgYXNyID0gc2JpY19hcm1fcmVhZChob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfQVNSKTsKKwkgICAgYXNyID0gc2JpY19hcm1fcmVhZChob3N0LCBTQklDX0FTUik7CiAJICAgIGlmICghKGFzciAmIEFTUl9JTlQpKQogCQlicmVhazsKLQkgICAgc3NyID0gc2JpY19hcm1fcmVhZChob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfU1NSKTsKKwkgICAgc3NyID0gc2JpY19hcm1fcmVhZChob3N0LCBTQklDX1NTUik7CiAJICAgIEFERF9TVEFUVVMoOCwgc3NyLCBob3N0LT5zY3NpLnBoYXNlLCAxKTsKIAkgICAgQUREX1NUQVRVUyhob3N0LT5TQ3BudC0+ZGV2aWNlLT5pZCwgc3NyLCBob3N0LT5zY3NpLnBoYXNlLCAxKTsKIAkgICAgZ290byBjb25uZWN0ZWQ7CkBAIC0yNDc2LDExICsyNDczLDExIEBACiAgICAgZG8gewogCXJldCA9IElOVFJfSURMRTsKIAotCWlvc3RhdHVzID0gaW5iKGhvc3QtPmNhcmQuaW9faW50cik7CisJaW9zdGF0dXMgPSByZWFkYihob3N0LT5mYXN0ICsgSU5UX1JFRyk7CiAKIAlpZiAoaW9zdGF0dXMgJiAyKSB7CiAJICAgIGFjb3Juc2NzaV9kbWFfaW50cihob3N0KTsKLQkgICAgaW9zdGF0dXMgPSBpbmIoaG9zdC0+Y2FyZC5pb19pbnRyKTsKKwkgICAgaW9zdGF0dXMgPSByZWFkYihob3N0LT5mYXN0ICsgSU5UX1JFRyk7CiAJfQogCiAJaWYgKGlvc3RhdHVzICYgOCkKQEAgLTI2NTUsNyArMjY1Miw3IEBACiAJCSAqIGJ1c3lsdW4gYml0LgogCQkgKi8KIAkJY2FzZSBQSEFTRV9DT05ORUNURUQ6Ci0JCQlzYmljX2FybV93cml0ZShob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfQ01ORCwgQ01ORF9ESVNDT05ORUNUKTsKKwkJCXNiaWNfYXJtX3dyaXRlKGhvc3QsIFNCSUNfQ01ORCwgQ01ORF9ESVNDT05ORUNUKTsKIAkJCWhvc3QtPlNDcG50ID0gTlVMTDsKIAkJCXJlcyA9IHJlc19zdWNjZXNzX2NsZWFyOwogCQkJYnJlYWs7CkBAIC0yNjk5LDggKzI2OTYsOCBAQAogI2lmIChERUJVRyAmIERFQlVHX0FCT1JUKQogCXsKIAkJaW50IGFzciwgc3NyOwotCQlhc3IgPSBzYmljX2FybV9yZWFkKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19BU1IpOwotCQlzc3IgPSBzYmljX2FybV9yZWFkKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19TU1IpOworCQlhc3IgPSBzYmljX2FybV9yZWFkKGhvc3QsIFNCSUNfQVNSKTsKKwkJc3NyID0gc2JpY19hcm1fcmVhZChob3N0LCBTQklDX1NTUik7CiAKIAkJcHJpbnRrKEtFUk5fV0FSTklORyAiYWNvcm5zY3NpX2Fib3J0OiAiKTsKIAkJcHJpbnRfc2JpY19zdGF0dXMoYXNyLCBzc3IsIGhvc3QtPnNjc2kucGhhc2UpOwpAQCAtMjczMSw5ICsyNzI4LDcgQEAKIC8vI2lmIChERUJVRyAmIERFQlVHX0FCT1JUKQogCQlwcmludGsoInN1Y2Nlc3NcbiIpOwogLy8jZW5kaWYKLQkJU0NwbnQtPnJlc3VsdCA9IERJRF9BQk9SVCA8PCAxNjsKLQkJU0NwbnQtPnNjc2lfZG9uZShTQ3BudCk7Ci0JCXJlc3VsdCA9IFNDU0lfQUJPUlRfU1VDQ0VTUzsKKwkJcmVzdWx0ID0gU1VDQ0VTUzsKIAkJYnJlYWs7CiAKIAkvKgpAQCAtMjc0NSw3ICsyNzQwLDcgQEAKIC8vI2lmIChERUJVRyAmIERFQlVHX0FCT1JUKQogCQlwcmludGsoInNub296ZVxuIik7CiAvLyNlbmRpZgotCQlyZXN1bHQgPSBTQ1NJX0FCT1JUX1NOT09aRTsKKwkJcmVzdWx0ID0gRkFJTEVEOwogCQlicmVhazsKIAogCS8qCkBAIC0yNzU1LDExICsyNzUwLDcgQEAKIAlkZWZhdWx0OgogCWNhc2UgcmVzX25vdF9ydW5uaW5nOgogCQlhY29ybnNjc2lfZHVtcGxvZyhob3N0LCBTQ3BudC0+ZGV2aWNlLT5pZCk7Ci0jaWYgKERFQlVHICYgREVCVUdfQUJPUlQpCi0JCXJlc3VsdCA9IFNDU0lfQUJPUlRfU05PT1pFOwotI2Vsc2UKLQkJcmVzdWx0ID0gU0NTSV9BQk9SVF9OT1RfUlVOTklORzsKLSNlbmRpZgorCQlyZXN1bHQgPSBGQUlMRUQ7CiAvLyNpZiAoREVCVUcgJiBERUJVR19BQk9SVCkKIAkJcHJpbnRrKCJub3QgcnVubmluZ1xuIik7CiAvLyNlbmRpZgpAQCAtMjc3MCwxMyArMjc2MSwxMiBAQAogfQogCiAvKgotICogUHJvdG90eXBlOiBpbnQgYWNvcm5zY3NpX3Jlc2V0KHN0cnVjdCBzY3NpX2NtbmQgKlNDcG50LCB1bnNpZ25lZCBpbnQgcmVzZXRfZmxhZ3MpCisgKiBQcm90b3R5cGU6IGludCBhY29ybnNjc2lfcmVzZXQoc3RydWN0IHNjc2lfY21uZCAqU0NwbnQpCiAgKiBQdXJwb3NlICA6IHJlc2V0IGEgY29tbWFuZCBvbiB0aGlzIGhvc3QvcmVzZXQgdGhpcyBob3N0CiAgKiBQYXJhbXMgICA6IFNDcG50ICAtIGNvbW1hbmQgY2F1c2luZyByZXNldAotICoJICAgICAgcmVzdWx0IC0gd2hhdCB0eXBlIG9mIHJlc2V0IHRvIHBlcmZvcm0KICAqIFJldHVybnMgIDogb25lIG9mIFNDU0lfUkVTRVRfIG1hY3JvcwogICovCi1pbnQgYWNvcm5zY3NpX3Jlc2V0KHN0cnVjdCBzY3NpX2NtbmQgKlNDcG50LCB1bnNpZ25lZCBpbnQgcmVzZXRfZmxhZ3MpCitpbnQgYWNvcm5zY3NpX2J1c19yZXNldChzdHJ1Y3Qgc2NzaV9jbW5kICpTQ3BudCkKIHsKIAlBU19Ib3N0ICpob3N0ID0gKEFTX0hvc3QgKilTQ3BudC0+ZGV2aWNlLT5ob3N0LT5ob3N0ZGF0YTsKIAlzdHJ1Y3Qgc2NzaV9jbW5kICpTQ3B0cjsKQEAgLTI3ODcsOCArMjc3Nyw4IEBACiAgICAgewogCWludCBhc3IsIHNzcjsKIAotCWFzciA9IHNiaWNfYXJtX3JlYWQoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX0FTUik7Ci0Jc3NyID0gc2JpY19hcm1fcmVhZChob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfU1NSKTsKKwlhc3IgPSBzYmljX2FybV9yZWFkKGhvc3QsIFNCSUNfQVNSKTsKKwlzc3IgPSBzYmljX2FybV9yZWFkKGhvc3QsIFNCSUNfU1NSKTsKIAogCXByaW50ayhLRVJOX1dBUk5JTkcgImFjb3Juc2NzaV9yZXNldDogIik7CiAJcHJpbnRfc2JpY19zdGF0dXMoYXNyLCBzc3IsIGhvc3QtPnNjc2kucGhhc2UpOwpAQCAtMjc5OCwyOCArMjc4OCwxNiBAQAogCiAgICAgYWNvcm5zY3NpX2RtYV9zdG9wKGhvc3QpOwogCi0gICAgU0NwdHIgPSBob3N0LT5TQ3BudDsKLQogICAgIC8qCiAgICAgICogZG8gaGFyZCByZXNldC4gIFRoaXMgcmVzZXRzIGFsbCBkZXZpY2VzIG9uIHRoaXMgaG9zdCwgYW5kIHNvIHdlCiAgICAgICogbXVzdCBzZXQgdGhlIHJlc2V0IHN0YXR1cyBvbiBhbGwgY29tbWFuZHMuCiAgICAgICovCiAgICAgYWNvcm5zY3NpX3Jlc2V0Y2FyZChob3N0KTsKIAotICAgIC8qCi0gICAgICogcmVwb3J0IHJlc2V0IG9uIGNvbW1hbmRzIGN1cnJlbnQgY29ubmVjdGVkL2Rpc2Nvbm5lY3RlZAotICAgICAqLwotICAgIGFjb3Juc2NzaV9yZXBvcnRzdGF0dXMoJmhvc3QtPlNDcG50LCAmU0NwdHIsIERJRF9SRVNFVCk7Ci0KICAgICB3aGlsZSAoKFNDcHRyID0gcXVldWVfcmVtb3ZlKCZob3N0LT5xdWV1ZXMuZGlzY29ubmVjdGVkKSkgIT0gTlVMTCkKLQlhY29ybnNjc2lfcmVwb3J0c3RhdHVzKCZTQ3B0ciwgJlNDcG50LCBESURfUkVTRVQpOworCTsKIAotICAgIGlmIChTQ3BudCkgewotCVNDcG50LT5yZXN1bHQgPSBESURfUkVTRVQgPDwgMTY7Ci0JU0NwbnQtPnNjc2lfZG9uZShTQ3BudCk7Ci0gICAgfQotCi0gICAgcmV0dXJuIFNDU0lfUkVTRVRfQlVTX1JFU0VUIHwgU0NTSV9SRVNFVF9IT1NUX1JFU0VUIHwgU0NTSV9SRVNFVF9TVUNDRVNTOworICAgIHJldHVybiBTVUNDRVNTOwogfQogCiAvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQEAgLTI4NTAsNyArMjgyOCw3IEBACiAgICAgIiBMSU5LIgogI2VuZGlmCiAjaWYgKERFQlVHICYgREVCVUdfTk9fV1JJVEUpCi0gICAgIiBOT1dSSVRFICgiTk9fV1JJVEVfU1RSIikiCisgICAgIiBOT1dSSVRFICgiIF9fc3RyaW5naWZ5KE5PX1dSSVRFKSAiKSIKICNlbmRpZgogCQksIGhvc3QtPmhvc3R0LT5uYW1lLCBob3N0LT5pb19wb3J0LCBob3N0LT5pcnEsCiAJCVZFUl9NQUpPUiwgVkVSX01JTk9SLCBWRVJfUEFUQ0gpOwpAQCAtMjg4MSwxNSArMjg1OSwxNSBAQAogICAgICIgTElOSyIKICNlbmRpZgogI2lmIChERUJVRyAmIERFQlVHX05PX1dSSVRFKQotICAgICIgTk9XUklURSAoIk5PX1dSSVRFX1NUUiIpIgorICAgICIgTk9XUklURSAoIiBfX3N0cmluZ2lmeShOT19XUklURSkgIikiCiAjZW5kaWYKIAkJIlxuXG4iLCBWRVJfTUFKT1IsIFZFUl9NSU5PUiwgVkVSX1BBVENIKTsKIAotICAgIHAgKz0gc3ByaW50ZihwLAkiU0JJQzogV0QzM0M5M0EgIEFkZHJlc3M6ICUwOFggIElSUSA6ICVkXG4iLAotCQkJaG9zdC0+c2NzaS5pb19wb3J0LCBob3N0LT5zY3NpLmlycSk7CisgICAgcCArPSBzcHJpbnRmKHAsCSJTQklDOiBXRDMzQzkzQSAgQWRkcmVzczogJXAgICAgSVJRIDogJWRcbiIsCisJCQlob3N0LT5iYXNlICsgU0JJQ19SRUdJRFgsIGhvc3QtPnNjc2kuaXJxKTsKICNpZmRlZiBVU0VfRE1BQwotICAgIHAgKz0gc3ByaW50ZihwLAkiRE1BQzogdVBDNzEwNzEgIEFkZHJlc3M6ICUwOFggIElSUSA6ICVkXG5cbiIsCi0JCQlob3N0LT5kbWEuaW9fcG9ydCwgaG9zdC0+c2NzaS5pcnEpOworICAgIHAgKz0gc3ByaW50ZihwLAkiRE1BQzogdVBDNzEwNzEgIEFkZHJlc3M6ICVwICBJUlEgOiAlZFxuXG4iLAorCQkJaG9zdC0+YmFzZSArIERNQUNfT0ZGU0VULCBob3N0LT5zY3NpLmlycSk7CiAjZW5kaWYKIAogICAgIHAgKz0gc3ByaW50ZihwLAkiU3RhdGlzdGljczpcbiIKQEAgLTI5NzYsOSArMjk1NCw4IEBACiAJLm5hbWUJCQk9ICJBY29yblNDU0kiLAogCS5pbmZvCQkJPSBhY29ybnNjc2lfaW5mbywKIAkucXVldWVjb21tYW5kCQk9IGFjb3Juc2NzaV9xdWV1ZWNtZCwKLSN3YXJuaW5nIGZpeG1lCi0JLmFib3J0CQkJPSBhY29ybnNjc2lfYWJvcnQsCi0JLnJlc2V0CQkJPSBhY29ybnNjc2lfcmVzZXQsCisJLmVoX2Fib3J0X2hhbmRsZXIJPSBhY29ybnNjc2lfYWJvcnQsCisJLmVoX2J1c19yZXNldF9oYW5kbGVyCT0gYWNvcm5zY3NpX2J1c19yZXNldCwKIAkuY2FuX3F1ZXVlCQk9IDE2LAogCS50aGlzX2lkCQk9IDcsCiAJLnNnX3RhYmxlc2l6ZQkJPSBTR19BTEwsCkBAIC0yOTkyLDQ4ICsyOTY5LDM3IEBACiB7CiAJc3RydWN0IFNjc2lfSG9zdCAqaG9zdDsKIAlBU19Ib3N0ICphc2hvc3Q7Ci0JaW50IHJldCA9IC1FTk9NRU07CisJaW50IHJldDsKKworCXJldCA9IGVjYXJkX3JlcXVlc3RfcmVzb3VyY2VzKGVjKTsKKwlpZiAocmV0KQorCQlnb3RvIG91dDsKIAogCWhvc3QgPSBzY3NpX2hvc3RfYWxsb2MoJmFjb3Juc2NzaV90ZW1wbGF0ZSwgc2l6ZW9mKEFTX0hvc3QpKTsKLQlpZiAoIWhvc3QpCi0JCWdvdG8gb3V0OworCWlmICghaG9zdCkgeworCQlyZXQgPSAtRU5PTUVNOworCQlnb3RvIG91dF9yZWxlYXNlOworCX0KIAogCWFzaG9zdCA9IChBU19Ib3N0ICopaG9zdC0+aG9zdGRhdGE7CiAKLQlob3N0LT5pb19wb3J0ID0gZWNhcmRfYWRkcmVzcyhlYywgRUNBUkRfTUVNQywgMCk7CisJYXNob3N0LT5iYXNlID0gZWNhcmRtX2lvbWFwKGVjLCBFQ0FSRF9SRVNfTUVNQywgMCwgMCk7CisJYXNob3N0LT5mYXN0ID0gZWNhcmRtX2lvbWFwKGVjLCBFQ0FSRF9SRVNfSU9DRkFTVCwgMCwgMCk7CisJaWYgKCFhc2hvc3QtPmJhc2UgfHwgIWFzaG9zdC0+ZmFzdCkKKwkJZ290byBvdXRfcHV0OworCiAJaG9zdC0+aXJxID0gZWMtPmlycTsKKwlhc2hvc3QtPmhvc3QgPSBob3N0OworCWFzaG9zdC0+c2NzaS5pcnEgPSBob3N0LT5pcnE7CiAKLQlhc2hvc3QtPmhvc3QJCT0gaG9zdDsKLQlhc2hvc3QtPnNjc2kuaW9fcG9ydAk9IGlvYWRkcihob3N0LT5pb19wb3J0ICsgMHg4MDApOwotCWFzaG9zdC0+c2NzaS5pcnEJPSBob3N0LT5pcnE7Ci0JYXNob3N0LT5jYXJkLmlvX2ludHIJPSBQT0RfU1BBQ0UoaG9zdC0+aW9fcG9ydCkgKyAweDgwMDsKLQlhc2hvc3QtPmNhcmQuaW9fcGFnZQk9IFBPRF9TUEFDRShob3N0LT5pb19wb3J0KSArIDB4YzAwOwotCWFzaG9zdC0+Y2FyZC5pb19yYW0JPSBpb2FkZHIoaG9zdC0+aW9fcG9ydCk7Ci0JYXNob3N0LT5kbWEuaW9fcG9ydAk9IGhvc3QtPmlvX3BvcnQgKyAweGMwMDsKLQlhc2hvc3QtPmRtYS5pb19pbnRyX2NsZWFyID0gUE9EX1NQQUNFKGhvc3QtPmlvX3BvcnQpICsgMHg4MDA7Ci0KLQllYy0+aXJxYWRkcgk9IChjaGFyICopaW9hZGRyKGFzaG9zdC0+Y2FyZC5pb19pbnRyKTsKKwllYy0+aXJxYWRkcgk9IGFzaG9zdC0+ZmFzdCArIElOVF9SRUc7CiAJZWMtPmlycW1hc2sJPSAweDBhOwogCi0JcmV0ID0gLUVCVVNZOwotCWlmICghcmVxdWVzdF9yZWdpb24oaG9zdC0+aW9fcG9ydCArIDB4ODAwLCAyLCAiYWNvcm5zY3NpKHNiaWMpIikpCi0JCWdvdG8gZXJyXzE7Ci0JaWYgKCFyZXF1ZXN0X3JlZ2lvbihhc2hvc3QtPmNhcmQuaW9faW50ciwgMSwgImFjb3Juc2NzaShpbnRyKSIpKQotCQlnb3RvIGVycl8yOwotCWlmICghcmVxdWVzdF9yZWdpb24oYXNob3N0LT5jYXJkLmlvX3BhZ2UsIDEsICJhY29ybnNjc2kocGFnZSkiKSkKLQkJZ290byBlcnJfMzsKLSNpZmRlZiBVU0VfRE1BQwotCWlmICghcmVxdWVzdF9yZWdpb24oYXNob3N0LT5kbWEuaW9fcG9ydCwgMjU2LCAiYWNvcm5zY3NpKGRtYWMpIikpCi0JCWdvdG8gZXJyXzQ7Ci0jZW5kaWYKLQlpZiAoIXJlcXVlc3RfcmVnaW9uKGhvc3QtPmlvX3BvcnQsIDIwNDgsICJhY29ybnNjc2kocmFtKSIpKQotCQlnb3RvIGVycl81OwotCiAJcmV0ID0gcmVxdWVzdF9pcnEoaG9zdC0+aXJxLCBhY29ybnNjc2lfaW50ciwgSVJRRl9ESVNBQkxFRCwgImFjb3Juc2NzaSIsIGFzaG9zdCk7CiAJaWYgKHJldCkgewogCQlwcmludGsoS0VSTl9DUklUICJzY3NpJWQ6IElSUSVkIG5vdCBmcmVlOiAlZFxuIiwKIAkJCWhvc3QtPmhvc3Rfbm8sIGFzaG9zdC0+c2NzaS5pcnEsIHJldCk7Ci0JCWdvdG8gZXJyXzY7CisJCWdvdG8gb3V0X3B1dDsKIAl9CiAKIAltZW1zZXQoJmFzaG9zdC0+c3RhdHMsIDAsIHNpemVvZiAoYXNob3N0LT5zdGF0cykpOwpAQCAtMzA0NSwyNyArMzAxMSwyMiBAQAogCiAJcmV0ID0gc2NzaV9hZGRfaG9zdChob3N0LCAmZWMtPmRldik7CiAJaWYgKHJldCkKLQkJZ290byBlcnJfNzsKKwkJZ290byBvdXRfaXJxOwogCiAJc2NzaV9zY2FuX2hvc3QoaG9zdCk7CiAJZ290byBvdXQ7CiAKLSBlcnJfNzoKKyBvdXRfaXJxOgogCWZyZWVfaXJxKGhvc3QtPmlycSwgYXNob3N0KTsKLSBlcnJfNjoKLQlyZWxlYXNlX3JlZ2lvbihob3N0LT5pb19wb3J0LCAyMDQ4KTsKLSBlcnJfNToKLSNpZmRlZiBVU0VfRE1BQwotCXJlbGVhc2VfcmVnaW9uKGFzaG9zdC0+ZG1hLmlvX3BvcnQsIDI1Nik7Ci0jZW5kaWYKLSBlcnJfNDoKLQlyZWxlYXNlX3JlZ2lvbihhc2hvc3QtPmNhcmQuaW9fcGFnZSwgMSk7Ci0gZXJyXzM6Ci0JcmVsZWFzZV9yZWdpb24oYXNob3N0LT5jYXJkLmlvX2ludHIsIDEpOyAgICAKLSBlcnJfMjoKLQlyZWxlYXNlX3JlZ2lvbihob3N0LT5pb19wb3J0ICsgMHg4MDAsIDIpOwotIGVycl8xOgorCW1zZ3F1ZXVlX2ZyZWUoJmFzaG9zdC0+c2NzaS5tc2dzKTsKKwlxdWV1ZV9mcmVlKCZhc2hvc3QtPnF1ZXVlcy5kaXNjb25uZWN0ZWQpOworCXF1ZXVlX2ZyZWUoJmFzaG9zdC0+cXVldWVzLmlzc3VlKTsKKyBvdXRfcHV0OgorCWVjYXJkbV9pb3VubWFwKGVjLCBhc2hvc3QtPmZhc3QpOworCWVjYXJkbV9pb3VubWFwKGVjLCBhc2hvc3QtPmJhc2UpOwogCXNjc2lfaG9zdF9wdXQoaG9zdCk7Cisgb3V0X3JlbGVhc2U6CisJZWNhcmRfcmVsZWFzZV9yZXNvdXJjZXMoZWMpOwogIG91dDoKIAlyZXR1cm4gcmV0OwogfQpAQCAtMzA4MSwyMCArMzA0MiwxNyBAQAogCS8qCiAJICogUHV0IGNhcmQgaW50byBSRVNFVCBzdGF0ZQogCSAqLwotCW91dGIoMHg4MCwgYXNob3N0LT5jYXJkLmlvX3BhZ2UpOworCXdyaXRlYigweDgwLCBhc2hvc3QtPmZhc3QgKyBQQUdFX1JFRyk7CiAKIAlmcmVlX2lycShob3N0LT5pcnEsIGFzaG9zdCk7CiAKLQlyZWxlYXNlX3JlZ2lvbihob3N0LT5pb19wb3J0ICsgMHg4MDAsIDIpOwotCXJlbGVhc2VfcmVnaW9uKGFzaG9zdC0+Y2FyZC5pb19pbnRyLCAxKTsKLQlyZWxlYXNlX3JlZ2lvbihhc2hvc3QtPmNhcmQuaW9fcGFnZSwgMSk7Ci0JcmVsZWFzZV9yZWdpb24oYXNob3N0LT5kbWEuaW9fcG9ydCwgMjU2KTsKLQlyZWxlYXNlX3JlZ2lvbihob3N0LT5pb19wb3J0LCAyMDQ4KTsKLQogCW1zZ3F1ZXVlX2ZyZWUoJmFzaG9zdC0+c2NzaS5tc2dzKTsKIAlxdWV1ZV9mcmVlKCZhc2hvc3QtPnF1ZXVlcy5kaXNjb25uZWN0ZWQpOwogCXF1ZXVlX2ZyZWUoJmFzaG9zdC0+cXVldWVzLmlzc3VlKTsKKwllY2FyZG1faW91bm1hcChlYywgYXNob3N0LT5mYXN0KTsKKwllY2FyZG1faW91bm1hcChlYywgYXNob3N0LT5iYXNlKTsKIAlzY3NpX2hvc3RfcHV0KGhvc3QpOworCWVjYXJkX3JlbGVhc2VfcmVzb3VyY2VzKGVjKTsKIH0KIAogc3RhdGljIGNvbnN0IHN0cnVjdCBlY2FyZF9pZCBhY29ybnNjc2lfY2lkc1tdID0gewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zY3NpL2FybS9hY29ybnNjc2kuaCBiL2RyaXZlcnMvc2NzaS9hcm0vYWNvcm5zY3NpLmgKaW5kZXggZDExNDI0Yi4uOGQyMTcyYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zY3NpL2FybS9hY29ybnNjc2kuaAorKysgYi9kcml2ZXJzL3Njc2kvYXJtL2Fjb3Juc2NzaS5oCkBAIC0xNzksNyArMTc5LDYgQEAKIAogLyogbWlzY2VsbGFuZW91cyBpbnRlcm5hbCB2YXJpYWJsZXMgKi8KIAotI2RlZmluZSBQT0RfU1BBQ0UoeCkJKCh4KSArIDB4ZDAwMDApCiAjZGVmaW5lIE1BU0tfT04JCShNQVNLUkVHX00zfE1BU0tSRUdfTTJ8TUFTS1JFR19NMXxNQVNLUkVHX00wKQogI2RlZmluZSBNQVNLX09GRgkoTUFTS1JFR19NM3xNQVNLUkVHX00yfE1BU0tSRUdfTTEpCiAKQEAgLTI3OSwxMCArMjc4LDExIEBACiAgICAgc3RydWN0IFNjc2lfSG9zdAkqaG9zdDsJCQkvKiBob3N0CQkJCQkqLwogICAgIHN0cnVjdCBzY3NpX2NtbmQJKlNDcG50OwkJCS8qIGN1cnJlbnRseSBwcm9jZXNzaW5nIGNvbW1hbmQJCSovCiAgICAgc3RydWN0IHNjc2lfY21uZAkqb3JpZ1NDcG50OwkJLyogb3JpZ2luYWwgY29ubmVjdGluZyBjb21tYW5kCQkqLworICAgIHZvaWQgX19pb21lbQkqYmFzZTsJCQkvKiBtZW1jIGJhc2UgYWRkcmVzcyAJCQkqLworICAgIHZvaWQgX19pb21lbQkqZmFzdDsJCQkvKiBmYXN0IGlvYyBiYXNlIGFkZHJlc3MJCSovCiAKICAgICAvKiBkcml2ZXIgaW5mb3JtYXRpb24gKi8KICAgICBzdHJ1Y3QgewotCXVuc2lnbmVkIGludAlpb19wb3J0OwkJLyogYmFzZSBhZGRyZXNzIG9mIFdEMzNDOTMJCSovCiAJdW5zaWduZWQgaW50CWlycTsJCQkvKiBpbnRlcnJ1cHQJCQkJKi8KIAlwaGFzZV90CQlwaGFzZTsJCQkvKiBjdXJyZW50IHBoYXNlCQkJKi8KIApAQCAtMzI5LDggKzMyOSw2IEBACiAKICAgICAvKiBETUEgaW5mbyAqLwogICAgIHN0cnVjdCB7Ci0JdW5zaWduZWQgaW50CWlvX3BvcnQ7CQkvKiBiYXNlIGFkZHJlc3Mgb2YgRE1BIGNvbnRyb2xsZXIJKi8KLQl1bnNpZ25lZCBpbnQJaW9faW50cl9jbGVhcjsJCS8qIGFkZHJlc3Mgb2YgRE1BIGludGVycnVwdCBjbGVhcgkqLwogCXVuc2lnbmVkIGludAlmcmVlX2FkZHI7CQkvKiBuZXh0IGZyZWUgYWRkcmVzcwkJCSovCiAJdW5zaWduZWQgaW50CXN0YXJ0X2FkZHI7CQkvKiBzdGFydCBhZGRyZXNzIG9mIGN1cnJlbnQgdHJhbnNmZXIJKi8KIAlkbWFkaXJfdAlkaXJlY3Rpb247CQkvKiBkbWEgZGlyZWN0aW9uCQkJKi8KQEAgLTM0NSw5ICszNDMsNiBAQAogCiAgICAgLyogY2FyZCBpbmZvICovCiAgICAgc3RydWN0IHsKLQl1bnNpZ25lZCBpbnQJaW9faW50cjsJCS8qIGJhc2UgYWRkcmVzcyBvZiBpbnRlcnJ1cHQgaWQgcmVnCSovCi0JdW5zaWduZWQgaW50CWlvX3BhZ2U7CQkvKiBiYXNlIGFkZHJlc3Mgb2YgcGFnZSByZWcJCSovCi0JdW5zaWduZWQgaW50CWlvX3JhbTsJCQkvKiBiYXNlIGFkZHJlc3Mgb2YgUkFNIGFjY2VzcwkJKi8KIAl1bnNpZ25lZCBjaGFyCXBhZ2VfcmVnOwkJLyogY3VycmVudCBzZXR0aW5nIG9mIHBhZ2UgcmVnCQkqLwogICAgIH0gY2FyZDsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9zY3NpL2NoLmMgYi9kcml2ZXJzL3Njc2kvY2guYwppbmRleCBjNGI5MzhiLi5hYTIwMTFiIDEwMDY0NAotLS0gYS9kcml2ZXJzL3Njc2kvY2guYworKysgYi9kcml2ZXJzL3Njc2kvY2guYwpAQCAtMjIsNiArMjIsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2NoaW8uaD4JCQkvKiBoZXJlIGFyZSBhbGwgdGhlIGlvY3RscyAqLwogI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CiAjaW5jbHVkZSA8bGludXgvaWRyLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogI2luY2x1ZGUgPHNjc2kvc2NzaS5oPgogI2luY2x1ZGUgPHNjc2kvc2NzaV9jbW5kLmg+CkBAIC01NzEsMTYgKzU3MiwxOSBAQAogCXNjc2lfY2hhbmdlciAqY2g7CiAJaW50IG1pbm9yID0gaW1pbm9yKGlub2RlKTsKIAorCWxvY2tfa2VybmVsKCk7CiAJc3Bpbl9sb2NrKCZjaF9pbmRleF9sb2NrKTsKIAljaCA9IGlkcl9maW5kKCZjaF9pbmRleF9pZHIsIG1pbm9yKTsKIAogCWlmIChOVUxMID09IGNoIHx8IHNjc2lfZGV2aWNlX2dldChjaC0+ZGV2aWNlKSkgewogCQlzcGluX3VubG9jaygmY2hfaW5kZXhfbG9jayk7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIC1FTlhJTzsKIAl9CiAJc3Bpbl91bmxvY2soJmNoX2luZGV4X2xvY2spOwogCiAJZmlsZS0+cHJpdmF0ZV9kYXRhID0gY2g7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3Njc2kvZHB0X2kyby5jIGIvZHJpdmVycy9zY3NpL2RwdF9pMm8uYwppbmRleCA4NTA4ODE2Li4yYmMzMGUzIDEwMDY0NAotLS0gYS9kcml2ZXJzL3Njc2kvZHB0X2kyby5jCisrKyBiL2RyaXZlcnMvc2NzaS9kcHRfaTJvLmMKQEAgLTQ5LDYgKzQ5LDcgQEAKICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4JLyogZm9yIHByaW50ayAqLwogI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CiAjaW5jbHVkZSA8bGludXgvcmVib290Lmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L2RtYS1tYXBwaW5nLmg+CiAKQEAgLTE3MjcsMTAgKzE3MjgsMTIgQEAKIAlpbnQgbWlub3I7CiAJYWRwdF9oYmEqIHBIYmE7CiAKKwlsb2NrX2tlcm5lbCgpOwogCS8vVE9ETyBjaGVjayBmb3Igcm9vdCBhY2Nlc3MKIAkvLwogCW1pbm9yID0gaW1pbm9yKGlub2RlKTsKIAlpZiAobWlub3IgPj0gaGJhX2NvdW50KSB7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIC1FTlhJTzsKIAl9CiAJbXV0ZXhfbG9jaygmYWRwdF9jb25maWd1cmF0aW9uX2xvY2spOwpAQCAtMTc0MSw2ICsxNzQ0LDcgQEAKIAl9CiAJaWYgKHBIYmEgPT0gTlVMTCkgewogCQltdXRleF91bmxvY2soJmFkcHRfY29uZmlndXJhdGlvbl9sb2NrKTsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gLUVOWElPOwogCX0KIApAQCAtMTc1MSw2ICsxNzU1LDcgQEAKIAogCXBIYmEtPmluX3VzZSA9IDE7CiAJbXV0ZXhfdW5sb2NrKCZhZHB0X2NvbmZpZ3VyYXRpb25fbG9jayk7CisJdW5sb2NrX2tlcm5lbCgpOwogCiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL3Njc2kvZ2R0aC5jIGIvZHJpdmVycy9zY3NpL2dkdGguYwppbmRleCA0Njc3MWQ0Li44MjJkNTIxIDEwMDY0NAotLS0gYS9kcml2ZXJzL3Njc2kvZ2R0aC5jCisrKyBiL2RyaXZlcnMvc2NzaS9nZHRoLmMKQEAgLTEyMCw2ICsxMjAsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3RpbWVyLmg+CiAjaW5jbHVkZSA8bGludXgvZG1hLW1hcHBpbmcuaD4KICNpbmNsdWRlIDxsaW51eC9saXN0Lmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogI2lmZGVmIEdEVEhfUlRDCiAjaW5jbHVkZSA8bGludXgvbWMxNDY4MThydGMuaD4KQEAgLTQwMTksMTAgKzQwMjAsMTIgQEAKIHsKICAgICBnZHRoX2hhX3N0ciAqaGE7CiAKKyAgICBsb2NrX2tlcm5lbCgpOwogICAgIGxpc3RfZm9yX2VhY2hfZW50cnkoaGEsICZnZHRoX2luc3RhbmNlcywgbGlzdCkgewogICAgICAgICBpZiAoIWhhLT5zZGV2KQogICAgICAgICAgICAgaGEtPnNkZXYgPSBzY3NpX2dldF9ob3N0X2RldihoYS0+c2hvc3QpOwogICAgIH0KKyAgICB1bmxvY2tfa2VybmVsKCk7CiAKICAgICBUUkFDRSgoImdkdGhfb3BlbigpXG4iKSk7CiAgICAgcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3Njc2kvaWRlLXNjc2kuYyBiL2RyaXZlcnMvc2NzaS9pZGUtc2NzaS5jCmluZGV4IDQ0ZDhkNTEuLjY4M2JjZTMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2NzaS9pZGUtc2NzaS5jCisrKyBiL2RyaXZlcnMvc2NzaS9pZGUtc2NzaS5jCkBAIC02MCw2ICs2MCwxMyBAQAogCiAjZGVmaW5lIElERVNDU0lfREVCVUdfTE9HCQkwCiAKKyNpZiBJREVTQ1NJX0RFQlVHX0xPRworI2RlZmluZSBkZWJ1Z19sb2coZm10LCBhcmdzLi4uKSBcCisJcHJpbnRrKEtFUk5fSU5GTyAiaWRlLXNjc2k6ICIgZm10LCAjIyBhcmdzKQorI2Vsc2UKKyNkZWZpbmUgZGVidWdfbG9nKGZtdCwgYXJncy4uLikgZG8ge30gd2hpbGUgKDApCisjZW5kaWYKKwogLyoKICAqCVNDU0kgY29tbWFuZCB0cmFuc2Zvcm1hdGlvbiBsYXllcgogICovCkBAIC0xMjksMTQgKzEzNiwxNSBAQAogI2RlZmluZSBJREVTQ1NJX1BDX1JRCQkJOTAKIAogLyoKLSAqCVBJTyBkYXRhIHRyYW5zZmVyIHJvdXRpbmVzIHVzaW5nIHRoZSBzY2F0dGVyIGdhdGhlciB0YWJsZS4KKyAqCVBJTyBkYXRhIHRyYW5zZmVyIHJvdXRpbmUgdXNpbmcgdGhlIHNjYXR0ZXIgZ2F0aGVyIHRhYmxlLgogICovCi1zdGF0aWMgdm9pZCBpZGVzY3NpX2lucHV0X2J1ZmZlcnMoaWRlX2RyaXZlX3QgKmRyaXZlLCBzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYywKLQkJdW5zaWduZWQgaW50IGJjb3VudCkKK3N0YXRpYyB2b2lkIGlkZV9zY3NpX2lvX2J1ZmZlcnMoaWRlX2RyaXZlX3QgKmRyaXZlLCBzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYywKKwkJCQl1bnNpZ25lZCBpbnQgYmNvdW50LCBpbnQgd3JpdGUpCiB7CiAJaWRlX2h3aWZfdCAqaHdpZiA9IGRyaXZlLT5od2lmOwotCWludCBjb3VudDsKKwl4ZmVyX2Z1bmNfdCAqeGYgPSB3cml0ZSA/IGh3aWYtPm91dHB1dF9kYXRhIDogaHdpZi0+aW5wdXRfZGF0YTsKIAljaGFyICpidWY7CisJaW50IGNvdW50OwogCiAJd2hpbGUgKGJjb3VudCkgewogCQljb3VudCA9IG1pbihwYy0+c2ctPmxlbmd0aCAtIHBjLT5iX2NvdW50LCBiY291bnQpOwpAQCAtMTQ1LDEzICsxNTMsMTMgQEAKIAogCQkJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOwogCQkJYnVmID0ga21hcF9hdG9taWMoc2dfcGFnZShwYy0+c2cpLCBLTV9JUlEwKSArCi0JCQkJCXBjLT5zZy0+b2Zmc2V0OwotCQkJaHdpZi0+aW5wdXRfZGF0YShkcml2ZSwgTlVMTCwgYnVmICsgcGMtPmJfY291bnQsIGNvdW50KTsKKwkJCQkJICBwYy0+c2ctPm9mZnNldDsKKwkJCXhmKGRyaXZlLCBOVUxMLCBidWYgKyBwYy0+Yl9jb3VudCwgY291bnQpOwogCQkJa3VubWFwX2F0b21pYyhidWYgLSBwYy0+c2ctPm9mZnNldCwgS01fSVJRMCk7CiAJCQlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7CiAJCX0gZWxzZSB7CiAJCQlidWYgPSBzZ192aXJ0KHBjLT5zZyk7Ci0JCQlod2lmLT5pbnB1dF9kYXRhKGRyaXZlLCBOVUxMLCBidWYgKyBwYy0+Yl9jb3VudCwgY291bnQpOworCQkJeGYoZHJpdmUsIE5VTEwsIGJ1ZiArIHBjLT5iX2NvdW50LCBjb3VudCk7CiAJCX0KIAkJYmNvdW50IC09IGNvdW50OyBwYy0+Yl9jb3VudCArPSBjb3VudDsKIAkJaWYgKHBjLT5iX2NvdW50ID09IHBjLT5zZy0+bGVuZ3RoKSB7CkBAIC0xNjMsNDUgKzE3MSwxMCBAQAogCX0KIAogCWlmIChiY291bnQpIHsKLQkJcHJpbnRrIChLRVJOX0VSUiAiaWRlLXNjc2k6IHNjYXR0ZXIgZ2F0aGVyIHRhYmxlIHRvbyBzbWFsbCwgZGlzY2FyZGluZyBkYXRhXG4iKTsKLQkJaWRlX3BhZF90cmFuc2Zlcihkcml2ZSwgMCwgYmNvdW50KTsKLQl9Ci19Ci0KLXN0YXRpYyB2b2lkIGlkZXNjc2lfb3V0cHV0X2J1ZmZlcnMoaWRlX2RyaXZlX3QgKmRyaXZlLCBzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYywKLQkJdW5zaWduZWQgaW50IGJjb3VudCkKLXsKLQlpZGVfaHdpZl90ICpod2lmID0gZHJpdmUtPmh3aWY7Ci0JaW50IGNvdW50OwotCWNoYXIgKmJ1ZjsKLQotCXdoaWxlIChiY291bnQpIHsKLQkJY291bnQgPSBtaW4ocGMtPnNnLT5sZW5ndGggLSBwYy0+Yl9jb3VudCwgYmNvdW50KTsKLQkJaWYgKFBhZ2VIaWdoTWVtKHNnX3BhZ2UocGMtPnNnKSkpIHsKLQkJCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0KLQkJCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKLQkJCWJ1ZiA9IGttYXBfYXRvbWljKHNnX3BhZ2UocGMtPnNnKSwgS01fSVJRMCkgKwotCQkJCQkJcGMtPnNnLT5vZmZzZXQ7Ci0JCQlod2lmLT5vdXRwdXRfZGF0YShkcml2ZSwgTlVMTCwgYnVmICsgcGMtPmJfY291bnQsIGNvdW50KTsKLQkJCWt1bm1hcF9hdG9taWMoYnVmIC0gcGMtPnNnLT5vZmZzZXQsIEtNX0lSUTApOwotCQkJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOwotCQl9IGVsc2UgewotCQkJYnVmID0gc2dfdmlydChwYy0+c2cpOwotCQkJaHdpZi0+b3V0cHV0X2RhdGEoZHJpdmUsIE5VTEwsIGJ1ZiArIHBjLT5iX2NvdW50LCBjb3VudCk7Ci0JCX0KLQkJYmNvdW50IC09IGNvdW50OyBwYy0+Yl9jb3VudCArPSBjb3VudDsKLQkJaWYgKHBjLT5iX2NvdW50ID09IHBjLT5zZy0+bGVuZ3RoKSB7Ci0JCQlpZiAoIS0tcGMtPnNnX2NudCkKLQkJCQlicmVhazsKLQkJCXBjLT5zZyA9IHNnX25leHQocGMtPnNnKTsKLQkJCXBjLT5iX2NvdW50ID0gMDsKLQkJfQotCX0KLQotCWlmIChiY291bnQpIHsKLQkJcHJpbnRrIChLRVJOX0VSUiAiaWRlLXNjc2k6IHNjYXR0ZXIgZ2F0aGVyIHRhYmxlIHRvbyBzbWFsbCwgcGFkZGluZyB3aXRoIHplcm9zXG4iKTsKLQkJaWRlX3BhZF90cmFuc2Zlcihkcml2ZSwgMSwgYmNvdW50KTsKKwkJcHJpbnRrKEtFUk5fRVJSICIlczogc2NhdHRlciBnYXRoZXIgdGFibGUgdG9vIHNtYWxsLCAlc1xuIiwKKwkJCQlkcml2ZS0+bmFtZSwgd3JpdGUgPyAicGFkZGluZyB3aXRoIHplcm9zIgorCQkJCQkJICAgOiAiZGlzY2FyZGluZyBkYXRhIik7CisJCWlkZV9wYWRfdHJhbnNmZXIoZHJpdmUsIHdyaXRlLCBiY291bnQpOwogCX0KIH0KIApAQCAtMjEwLDYgKzE4MywyNCBAQAogCXByaW50X2hleF9kdW1wKEtFUk5fQ09OVCwgIiIsIERVTVBfUFJFRklYX05PTkUsIDE2LCAxLCBkYXRhLCBsZW4sIDApOwogfQogCitzdGF0aWMgaW50IGlkZXNjc2lfZW5kX3JlcXVlc3QoaWRlX2RyaXZlX3QgKiwgaW50LCBpbnQpOworCitzdGF0aWMgdm9pZCBpZGVfc2NzaV9jYWxsYmFjayhpZGVfZHJpdmVfdCAqZHJpdmUpCit7CisJaWRlc2NzaV9zY3NpX3QgKnNjc2kgPSBkcml2ZV90b19pZGVzY3NpKGRyaXZlKTsKKwlzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYyA9IHNjc2ktPnBjOworCisJaWYgKHBjLT5mbGFncyAmIFBDX0ZMQUdfVElNRURPVVQpCisJCWRlYnVnX2xvZygiJXM6IGdvdCB0aW1lZCBvdXQgcGFja2V0ICVsdSBhdCAlbHVcbiIsIF9fZnVuY19fLAorCQkJICBwYy0+c2NzaV9jbWQtPnNlcmlhbF9udW1iZXIsIGppZmZpZXMpOworCQkvKiBlbmQgdGhpcyByZXF1ZXN0IG5vdyAtIHNjc2kgc2hvdWxkIHJldHJ5IGl0Ki8KKwllbHNlIGlmICh0ZXN0X2JpdChJREVTQ1NJX0xPR19DTUQsICZzY3NpLT5sb2cpKQorCQlwcmludGsoS0VSTl9JTkZPICJQYWNrZXQgY29tbWFuZCBjb21wbGV0ZWQsICVkIGJ5dGVzIgorCQkJCSAiIHRyYW5zZmVycmVkXG4iLCBwYy0+eGZlcnJlZCk7CisKKwlpZGVzY3NpX2VuZF9yZXF1ZXN0KGRyaXZlLCAxLCAwKTsKK30KKwogc3RhdGljIGludCBpZGVzY3NpX2NoZWNrX2NvbmRpdGlvbihpZGVfZHJpdmVfdCAqZHJpdmUsCiAJCXN0cnVjdCByZXF1ZXN0ICpmYWlsZWRfY21kKQogewpAQCAtMjI4LDE0ICsyMTksMTYgQEAKIAkJa2ZyZWUocGMpOwogCQlyZXR1cm4gLUVOT01FTTsKIAl9Ci0JaWRlX2luaXRfZHJpdmVfY21kKHJxKTsKKwlibGtfcnFfaW5pdChOVUxMLCBycSk7CiAJcnEtPnNwZWNpYWwgPSAoY2hhciAqKSBwYzsKIAlwYy0+cnEgPSBycTsKIAlwYy0+YnVmID0gYnVmOwogCXBjLT5jWzBdID0gUkVRVUVTVF9TRU5TRTsKIAlwYy0+Y1s0XSA9IHBjLT5yZXFfeGZlciA9IHBjLT5idWZfc2l6ZSA9IFNDU0lfU0VOU0VfQlVGRkVSU0laRTsKIAlycS0+Y21kX3R5cGUgPSBSRVFfVFlQRV9TRU5TRTsKKwlycS0+Y21kX2ZsYWdzIHw9IFJFUV9QUkVFTVBUOwogCXBjLT50aW1lb3V0ID0gamlmZmllcyArIFdBSVRfUkVBRFk7CisJcGMtPmNhbGxiYWNrID0gaWRlX3Njc2lfY2FsbGJhY2s7CiAJLyogTk9URSEgU2F2ZSB0aGUgZmFpbGVkIHBhY2tldCBjb21tYW5kIGluICJycS0+YnVmZmVyIiAqLwogCXJxLT5idWZmZXIgPSAodm9pZCAqKSBmYWlsZWRfY21kLT5zcGVjaWFsOwogCXBjLT5zY3NpX2NtZCA9ICgoc3RydWN0IGlkZV9hdGFwaV9wYyAqKSBmYWlsZWRfY21kLT5zcGVjaWFsKS0+c2NzaV9jbWQ7CkBAIC0yNDQsMTEgKzIzNywxMCBAQAogCQlpZGVfc2NzaV9oZXhfZHVtcChwYy0+YywgNik7CiAJfQogCXJxLT5ycV9kaXNrID0gc2NzaS0+ZGlzazsKLQlyZXR1cm4gaWRlX2RvX2RyaXZlX2NtZChkcml2ZSwgcnEsIGlkZV9wcmVlbXB0KTsKKwlpZGVfZG9fZHJpdmVfY21kKGRyaXZlLCBycSk7CisJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgaWRlc2NzaV9lbmRfcmVxdWVzdChpZGVfZHJpdmVfdCAqLCBpbnQsIGludCk7Ci0KIHN0YXRpYyBpZGVfc3RhcnRzdG9wX3QKIGlkZXNjc2lfYXRhcGlfZXJyb3IoaWRlX2RyaXZlX3QgKmRyaXZlLCBzdHJ1Y3QgcmVxdWVzdCAqcnEsIHU4IHN0YXQsIHU4IGVycikKIHsKQEAgLTI1Niw3ICsyNDgsNyBAQAogCiAJaWYgKGlkZV9yZWFkX3N0YXR1cyhkcml2ZSkgJiAoQlVTWV9TVEFUIHwgRFJRX1NUQVQpKQogCQkvKiBmb3JjZSBhbiBhYm9ydCAqLwotCQlod2lmLT5PVVRCU1lOQyhkcml2ZSwgV0lOX0lETEVJTU1FRElBVEUsCisJCWh3aWYtPk9VVEJTWU5DKGh3aWYsIFdJTl9JRExFSU1NRURJQVRFLAogCQkJICAgICAgIGh3aWYtPmlvX3BvcnRzLmNvbW1hbmRfYWRkcik7CiAKIAlycS0+ZXJyb3JzKys7CkBAIC0yNjksMTAgKzI2MSw5IEBACiBzdGF0aWMgaWRlX3N0YXJ0c3RvcF90CiBpZGVzY3NpX2F0YXBpX2Fib3J0KGlkZV9kcml2ZV90ICpkcml2ZSwgc3RydWN0IHJlcXVlc3QgKnJxKQogewotI2lmIElERVNDU0lfREVCVUdfTE9HCi0JcHJpbnRrKEtFUk5fV0FSTklORyAiaWRlc2NzaV9hdGFwaV9hYm9ydCBjYWxsZWQgZm9yICVsdVxuIiwKKwlkZWJ1Z19sb2coIiVzIGNhbGxlZCBmb3IgJWx1XG4iLCBfX2Z1bmNfXywKIAkJKChzdHJ1Y3QgaWRlX2F0YXBpX3BjICopIHJxLT5zcGVjaWFsKS0+c2NzaV9jbWQtPnNlcmlhbF9udW1iZXIpOwotI2VuZGlmCisKIAlycS0+ZXJyb3JzIHw9IEVSUk9SX01BWDsKIAogCWlkZXNjc2lfZW5kX3JlcXVlc3QoZHJpdmUsIDAsIDApOwpAQCAtMzUxLDkgKzM0Miw5IEBACiAJaWRlc2NzaV9zY3NpX3QgKnNjc2kgPSBkcml2ZV90b19pZGVzY3NpKGRyaXZlKTsKIAlzdHJ1Y3QgaWRlX2F0YXBpX3BjICAgKnBjICAgPSBzY3NpLT5wYzsKIAotI2lmIElERVNDU0lfREVCVUdfTE9HCi0JcHJpbnRrKEtFUk5fV0FSTklORyAiaWRlc2NzaV9leHBpcnkgY2FsbGVkIGZvciAlbHUgYXQgJWx1XG4iLCBwYy0+c2NzaV9jbWQtPnNlcmlhbF9udW1iZXIsIGppZmZpZXMpOwotI2VuZGlmCisJZGVidWdfbG9nKCIlcyBjYWxsZWQgZm9yICVsdSBhdCAlbHVcbiIsIF9fZnVuY19fLAorCQkgIHBjLT5zY3NpX2NtZC0+c2VyaWFsX251bWJlciwgamlmZmllcyk7CisKIAlwYy0+ZmxhZ3MgfD0gUENfRkxBR19USU1FRE9VVDsKIAogCXJldHVybiAwOwkJCQkJLyogd2UgZG8gbm90IHdhbnQgdGhlIGlkZSBzdWJzeXN0ZW0gdG8gcmV0cnkgKi8KQEAgLTM2NSwxNDEgKzM1NiwxOSBAQAogc3RhdGljIGlkZV9zdGFydHN0b3BfdCBpZGVzY3NpX3BjX2ludHIgKGlkZV9kcml2ZV90ICpkcml2ZSkKIHsKIAlpZGVzY3NpX3Njc2lfdCAqc2NzaSA9IGRyaXZlX3RvX2lkZXNjc2koZHJpdmUpOwotCWlkZV9od2lmX3QgKmh3aWYgPSBkcml2ZS0+aHdpZjsKIAlzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYyA9IHNjc2ktPnBjOwotCXN0cnVjdCByZXF1ZXN0ICpycSA9IHBjLT5ycTsKLQl1bnNpZ25lZCBpbnQgdGVtcDsKLQl1MTYgYmNvdW50OwotCXU4IHN0YXQsIGlyZWFzb247CiAKLSNpZiBJREVTQ1NJX0RFQlVHX0xPRwotCXByaW50ayAoS0VSTl9JTkZPICJpZGUtc2NzaTogUmVhY2hlZCBpZGVzY3NpX3BjX2ludHIgaW50ZXJydXB0IGhhbmRsZXJcbiIpOwotI2VuZGlmIC8qIElERVNDU0lfREVCVUdfTE9HICovCi0KLQlpZiAocGMtPmZsYWdzICYgUENfRkxBR19USU1FRE9VVCkgewotI2lmIElERVNDU0lfREVCVUdfTE9HCi0JCXByaW50ayhLRVJOX1dBUk5JTkcgImlkZXNjc2lfcGNfaW50cjogZ290IHRpbWVkIG91dCBwYWNrZXQgICVsdSBhdCAlbHVcbiIsCi0JCQkJcGMtPnNjc2lfY21kLT5zZXJpYWxfbnVtYmVyLCBqaWZmaWVzKTsKLSNlbmRpZgotCQkvKiBlbmQgdGhpcyByZXF1ZXN0IG5vdyAtIHNjc2kgc2hvdWxkIHJldHJ5IGl0Ki8KLQkJaWRlc2NzaV9lbmRfcmVxdWVzdCAoZHJpdmUsIDEsIDApOwotCQlyZXR1cm4gaWRlX3N0b3BwZWQ7Ci0JfQotCWlmIChwYy0+ZmxhZ3MgJiBQQ19GTEFHX0RNQV9JTl9QUk9HUkVTUykgewotCQlwYy0+ZmxhZ3MgJj0gflBDX0ZMQUdfRE1BX0lOX1BST0dSRVNTOwotI2lmIElERVNDU0lfREVCVUdfTE9HCi0JCXByaW50ayAoImlkZS1zY3NpOiAlczogRE1BIGNvbXBsZXRlXG4iLCBkcml2ZS0+bmFtZSk7Ci0jZW5kaWYgLyogSURFU0NTSV9ERUJVR19MT0cgKi8KLQkJcGMtPnhmZXJyZWQgPSBwYy0+cmVxX3hmZXI7Ci0JCSh2b2lkKWh3aWYtPmRtYV9vcHMtPmRtYV9lbmQoZHJpdmUpOwotCX0KLQotCS8qIENsZWFyIHRoZSBpbnRlcnJ1cHQgKi8KLQlzdGF0ID0gaWRlX3JlYWRfc3RhdHVzKGRyaXZlKTsKLQotCWlmICgoc3RhdCAmIERSUV9TVEFUKSA9PSAwKSB7Ci0JCS8qIE5vIG1vcmUgaW50ZXJydXB0cyAqLwotCQlpZiAodGVzdF9iaXQoSURFU0NTSV9MT0dfQ01ELCAmc2NzaS0+bG9nKSkKLQkJCXByaW50ayhLRVJOX0lORk8gIlBhY2tldCBjb21tYW5kIGNvbXBsZXRlZCwgJWQgYnl0ZXMiCi0JCQkJCSIgdHJhbnNmZXJyZWRcbiIsIHBjLT54ZmVycmVkKTsKLQkJbG9jYWxfaXJxX2VuYWJsZV9pbl9oYXJkaXJxKCk7Ci0JCWlmIChzdGF0ICYgRVJSX1NUQVQpCi0JCQlycS0+ZXJyb3JzKys7Ci0JCWlkZXNjc2lfZW5kX3JlcXVlc3QgKGRyaXZlLCAxLCAwKTsKLQkJcmV0dXJuIGlkZV9zdG9wcGVkOwotCX0KLQliY291bnQgPSAoaHdpZi0+SU5CKGh3aWYtPmlvX3BvcnRzLmxiYWhfYWRkcikgPDwgOCkgfAotCQkgIGh3aWYtPklOQihod2lmLT5pb19wb3J0cy5sYmFtX2FkZHIpOwotCWlyZWFzb24gPSBod2lmLT5JTkIoaHdpZi0+aW9fcG9ydHMubnNlY3RfYWRkcik7Ci0KLQlpZiAoaXJlYXNvbiAmIENEKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiaWRlLXNjc2k6IENvRCAhPSAwIGluIGlkZXNjc2lfcGNfaW50clxuIik7Ci0JCXJldHVybiBpZGVfZG9fcmVzZXQgKGRyaXZlKTsKLQl9Ci0JaWYgKGlyZWFzb24gJiBJTykgewotCQl0ZW1wID0gcGMtPnhmZXJyZWQgKyBiY291bnQ7Ci0JCWlmICh0ZW1wID4gcGMtPnJlcV94ZmVyKSB7Ci0JCQlpZiAodGVtcCA+IHBjLT5idWZfc2l6ZSkgewotCQkJCXByaW50ayhLRVJOX0VSUiAiaWRlLXNjc2k6IFRoZSBzY3NpIHdhbnRzIHRvICIKLQkJCQkJInNlbmQgdXMgbW9yZSBkYXRhIHRoYW4gZXhwZWN0ZWQgIgotCQkJCQkiLSBkaXNjYXJkaW5nIGRhdGFcbiIpOwotCQkJCXRlbXAgPSBwYy0+YnVmX3NpemUgLSBwYy0+eGZlcnJlZDsKLQkJCQlpZiAodGVtcCkgewotCQkJCQlwYy0+ZmxhZ3MgJj0gflBDX0ZMQUdfV1JJVElORzsKLQkJCQkJaWYgKHBjLT5zZykKLQkJCQkJCWlkZXNjc2lfaW5wdXRfYnVmZmVycyhkcml2ZSwgcGMsCi0JCQkJCQkJCQl0ZW1wKTsKLQkJCQkJZWxzZQotCQkJCQkJaHdpZi0+aW5wdXRfZGF0YShkcml2ZSwgTlVMTCwKLQkJCQkJCQlwYy0+Y3VyX3BvcywgdGVtcCk7Ci0JCQkJCXByaW50ayhLRVJOX0VSUiAiaWRlLXNjc2k6IHRyYW5zZmVycmVkIgotCQkJCQkJCSIgJWQgb2YgJWQgYnl0ZXNcbiIsCi0JCQkJCQkJdGVtcCwgYmNvdW50KTsKLQkJCQl9Ci0JCQkJcGMtPnhmZXJyZWQgKz0gdGVtcDsKLQkJCQlwYy0+Y3VyX3BvcyArPSB0ZW1wOwotCQkJCWlkZV9wYWRfdHJhbnNmZXIoZHJpdmUsIDAsIGJjb3VudCAtIHRlbXApOwotCQkJCWlkZV9zZXRfaGFuZGxlcihkcml2ZSwgJmlkZXNjc2lfcGNfaW50ciwgZ2V0X3RpbWVvdXQocGMpLCBpZGVzY3NpX2V4cGlyeSk7Ci0JCQkJcmV0dXJuIGlkZV9zdGFydGVkOwotCQkJfQotI2lmIElERVNDU0lfREVCVUdfTE9HCi0JCQlwcmludGsgKEtFUk5fTk9USUNFICJpZGUtc2NzaTogVGhlIHNjc2kgd2FudHMgdG8gc2VuZCB1cyBtb3JlIGRhdGEgdGhhbiBleHBlY3RlZCAtIGFsbG93aW5nIHRyYW5zZmVyXG4iKTsKLSNlbmRpZiAvKiBJREVTQ1NJX0RFQlVHX0xPRyAqLwotCQl9Ci0JfQotCWlmIChpcmVhc29uICYgSU8pIHsKLQkJcGMtPmZsYWdzICY9IH5QQ19GTEFHX1dSSVRJTkc7Ci0JCWlmIChwYy0+c2cpCi0JCQlpZGVzY3NpX2lucHV0X2J1ZmZlcnMoZHJpdmUsIHBjLCBiY291bnQpOwotCQllbHNlCi0JCQlod2lmLT5pbnB1dF9kYXRhKGRyaXZlLCBOVUxMLCBwYy0+Y3VyX3BvcywgYmNvdW50KTsKLQl9IGVsc2UgewotCQlwYy0+ZmxhZ3MgfD0gUENfRkxBR19XUklUSU5HOwotCQlpZiAocGMtPnNnKQotCQkJaWRlc2NzaV9vdXRwdXRfYnVmZmVycyhkcml2ZSwgcGMsIGJjb3VudCk7Ci0JCWVsc2UKLQkJCWh3aWYtPm91dHB1dF9kYXRhKGRyaXZlLCBOVUxMLCBwYy0+Y3VyX3BvcywgYmNvdW50KTsKLQl9Ci0JLyogVXBkYXRlIHRoZSBjdXJyZW50IHBvc2l0aW9uICovCi0JcGMtPnhmZXJyZWQgKz0gYmNvdW50OwotCXBjLT5jdXJfcG9zICs9IGJjb3VudDsKLQotCS8qIEFuZCBzZXQgdGhlIGludGVycnVwdCBoYW5kbGVyIGFnYWluICovCi0JaWRlX3NldF9oYW5kbGVyKGRyaXZlLCAmaWRlc2NzaV9wY19pbnRyLCBnZXRfdGltZW91dChwYyksIGlkZXNjc2lfZXhwaXJ5KTsKLQlyZXR1cm4gaWRlX3N0YXJ0ZWQ7CisJcmV0dXJuIGlkZV9wY19pbnRyKGRyaXZlLCBwYywgaWRlc2NzaV9wY19pbnRyLCBnZXRfdGltZW91dChwYyksCisJCQkgICBpZGVzY3NpX2V4cGlyeSwgTlVMTCwgTlVMTCwgTlVMTCwKKwkJCSAgIGlkZV9zY3NpX2lvX2J1ZmZlcnMpOwogfQogCiBzdGF0aWMgaWRlX3N0YXJ0c3RvcF90IGlkZXNjc2lfdHJhbnNmZXJfcGMoaWRlX2RyaXZlX3QgKmRyaXZlKQogewotCWlkZV9od2lmX3QgKmh3aWYgPSBkcml2ZS0+aHdpZjsKIAlpZGVzY3NpX3Njc2lfdCAqc2NzaSA9IGRyaXZlX3RvX2lkZXNjc2koZHJpdmUpOwotCXN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjID0gc2NzaS0+cGM7Ci0JaWRlX3N0YXJ0c3RvcF90IHN0YXJ0c3RvcDsKLQl1OCBpcmVhc29uOwogCi0JaWYgKGlkZV93YWl0X3N0YXQoJnN0YXJ0c3RvcCxkcml2ZSxEUlFfU1RBVCxCVVNZX1NUQVQsV0FJVF9SRUFEWSkpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJpZGUtc2NzaTogU3RyYW5nZSwgcGFja2V0IGNvbW1hbmQgIgotCQkJImluaXRpYXRlZCB5ZXQgRFJRIGlzbid0IGFzc2VydGVkXG4iKTsKLQkJcmV0dXJuIHN0YXJ0c3RvcDsKLQl9Ci0JaXJlYXNvbiA9IGh3aWYtPklOQihod2lmLT5pb19wb3J0cy5uc2VjdF9hZGRyKTsKLQlpZiAoKGlyZWFzb24gJiBDRCkgPT0gMCB8fCAoaXJlYXNvbiAmIElPKSkgewotCQlwcmludGsoS0VSTl9FUlIgImlkZS1zY3NpOiAoSU8sQ29EKSAhPSAoMCwxKSB3aGlsZSAiCi0JCQkJImlzc3VpbmcgYSBwYWNrZXQgY29tbWFuZFxuIik7Ci0JCXJldHVybiBpZGVfZG9fcmVzZXQgKGRyaXZlKTsKLQl9Ci0JQlVHX09OKEhXR1JPVVAoZHJpdmUpLT5oYW5kbGVyICE9IE5VTEwpOwotCS8qIFNldCB0aGUgaW50ZXJydXB0IHJvdXRpbmUgKi8KLQlpZGVfc2V0X2hhbmRsZXIoZHJpdmUsICZpZGVzY3NpX3BjX2ludHIsIGdldF90aW1lb3V0KHBjKSwgaWRlc2NzaV9leHBpcnkpOwotCi0JLyogU2VuZCB0aGUgYWN0dWFsIHBhY2tldCAqLwotCWh3aWYtPm91dHB1dF9kYXRhKGRyaXZlLCBOVUxMLCBzY3NpLT5wYy0+YywgMTIpOwotCi0JaWYgKHBjLT5mbGFncyAmIFBDX0ZMQUdfRE1BX09LKSB7Ci0JCXBjLT5mbGFncyB8PSBQQ19GTEFHX0RNQV9JTl9QUk9HUkVTUzsKLQkJaHdpZi0+ZG1hX29wcy0+ZG1hX3N0YXJ0KGRyaXZlKTsKLQl9Ci0JcmV0dXJuIGlkZV9zdGFydGVkOworCXJldHVybiBpZGVfdHJhbnNmZXJfcGMoZHJpdmUsIHNjc2ktPnBjLCBpZGVzY3NpX3BjX2ludHIsCisJCQkgICAgICAgZ2V0X3RpbWVvdXQoc2NzaS0+cGMpLCBpZGVzY3NpX2V4cGlyeSk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgaW50IGlkZXNjc2lfc2V0X2RpcmVjdGlvbihzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYykKQEAgLTU0NSwzOCArNDE0LDEyIEBACiAJCXN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjKQogewogCWlkZXNjc2lfc2NzaV90ICpzY3NpID0gZHJpdmVfdG9faWRlc2NzaShkcml2ZSk7Ci0JaWRlX2h3aWZfdCAqaHdpZiA9IGRyaXZlLT5od2lmOwotCXUxNiBiY291bnQ7Ci0JdTggZG1hID0gMDsKIAogCS8qIFNldCB0aGUgY3VycmVudCBwYWNrZXQgY29tbWFuZCAqLwogCXNjc2ktPnBjID0gcGM7Ci0JLyogV2UgaGF2ZW4ndCB0cmFuc2ZlcnJlZCBhbnkgZGF0YSB5ZXQgKi8KLQlwYy0+eGZlcnJlZCA9IDA7Ci0JcGMtPmN1cl9wb3MgPSBwYy0+YnVmOwotCS8qIFJlcXVlc3QgdG8gdHJhbnNmZXIgdGhlIGVudGlyZSBidWZmZXIgYXQgb25jZSAqLwotCWJjb3VudCA9IG1pbihwYy0+cmVxX3hmZXIsIDYzICogMTAyNCk7CiAKLQlpZiAoZHJpdmUtPnVzaW5nX2RtYSAmJiAhaWRlc2NzaV9tYXBfc2coZHJpdmUsIHBjKSkgewotCQlod2lmLT5zZ19tYXBwZWQgPSAxOwotCQlkbWEgPSAhaHdpZi0+ZG1hX29wcy0+ZG1hX3NldHVwKGRyaXZlKTsKLQkJaHdpZi0+c2dfbWFwcGVkID0gMDsKLQl9Ci0KLQlpZGVfcGt0Y21kX3RmX2xvYWQoZHJpdmUsIElERV9URkxBR19OT19TRUxFQ1RfTUFTSywgYmNvdW50LCBkbWEpOwotCi0JaWYgKGRtYSkKLQkJcGMtPmZsYWdzIHw9IFBDX0ZMQUdfRE1BX09LOwotCi0JaWYgKHRlc3RfYml0KElERVNDU0lfRFJRX0lOVEVSUlVQVCwgJnNjc2ktPmZsYWdzKSkgewotCQlpZGVfZXhlY3V0ZV9jb21tYW5kKGRyaXZlLCBXSU5fUEFDS0VUQ01ELCAmaWRlc2NzaV90cmFuc2Zlcl9wYywKLQkJCQkgICAgZ2V0X3RpbWVvdXQocGMpLCBpZGVzY3NpX2V4cGlyeSk7Ci0JCXJldHVybiBpZGVfc3RhcnRlZDsKLQl9IGVsc2UgewotCQkvKiBJc3N1ZSB0aGUgcGFja2V0IGNvbW1hbmQgKi8KLQkJaWRlX2V4ZWN1dGVfcGt0X2NtZChkcml2ZSk7Ci0JCXJldHVybiBpZGVzY3NpX3RyYW5zZmVyX3BjKGRyaXZlKTsKLQl9CisJcmV0dXJuIGlkZV9pc3N1ZV9wYyhkcml2ZSwgcGMsIGlkZXNjc2lfdHJhbnNmZXJfcGMsCisJCQkgICAgZ2V0X3RpbWVvdXQocGMpLCBpZGVzY3NpX2V4cGlyeSk7CiB9CiAKIC8qCkBAIC01ODQsMTQgKzQyNywyMiBAQAogICovCiBzdGF0aWMgaWRlX3N0YXJ0c3RvcF90IGlkZXNjc2lfZG9fcmVxdWVzdCAoaWRlX2RyaXZlX3QgKmRyaXZlLCBzdHJ1Y3QgcmVxdWVzdCAqcnEsIHNlY3Rvcl90IGJsb2NrKQogewotI2lmIElERVNDU0lfREVCVUdfTE9HCi0JcHJpbnRrIChLRVJOX0lORk8gImRldjogJXMsIGNtZDogJXgsIGVycm9yczogJWRcbiIsIHJxLT5ycV9kaXNrLT5kaXNrX25hbWUscnEtPmNtZFswXSxycS0+ZXJyb3JzKTsKLQlwcmludGsgKEtFUk5fSU5GTyAic2VjdG9yOiAlbGQsIG5yX3NlY3RvcnM6ICVsZCwgY3VycmVudF9ucl9zZWN0b3JzOiAlZFxuIixycS0+c2VjdG9yLHJxLT5ucl9zZWN0b3JzLHJxLT5jdXJyZW50X25yX3NlY3RvcnMpOwotI2VuZGlmIC8qIElERVNDU0lfREVCVUdfTE9HICovCisJZGVidWdfbG9nKCJkZXY6ICVzLCBjbWQ6ICV4LCBlcnJvcnM6ICVkXG4iLCBycS0+cnFfZGlzay0+ZGlza19uYW1lLAorCQkgIHJxLT5jbWRbMF0sIHJxLT5lcnJvcnMpOworCWRlYnVnX2xvZygic2VjdG9yOiAlbGQsIG5yX3NlY3RvcnM6ICVsZCwgY3VycmVudF9ucl9zZWN0b3JzOiAlZFxuIiwKKwkJICBycS0+c2VjdG9yLCBycS0+bnJfc2VjdG9ycywgcnEtPmN1cnJlbnRfbnJfc2VjdG9ycyk7CiAKIAlpZiAoYmxrX3NlbnNlX3JlcXVlc3QocnEpIHx8IGJsa19zcGVjaWFsX3JlcXVlc3QocnEpKSB7Ci0JCXJldHVybiBpZGVzY3NpX2lzc3VlX3BjKGRyaXZlLAotCQkJCShzdHJ1Y3QgaWRlX2F0YXBpX3BjICopIHJxLT5zcGVjaWFsKTsKKwkJc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMgPSAoc3RydWN0IGlkZV9hdGFwaV9wYyAqKXJxLT5zcGVjaWFsOworCQlpZGVzY3NpX3Njc2lfdCAqc2NzaSA9IGRyaXZlX3RvX2lkZXNjc2koZHJpdmUpOworCisJCWlmICh0ZXN0X2JpdChJREVTQ1NJX0RSUV9JTlRFUlJVUFQsICZzY3NpLT5mbGFncykpCisJCQlwYy0+ZmxhZ3MgfD0gUENfRkxBR19EUlFfSU5URVJSVVBUOworCisJCWlmIChkcml2ZS0+dXNpbmdfZG1hICYmICFpZGVzY3NpX21hcF9zZyhkcml2ZSwgcGMpKQorCQkJcGMtPmZsYWdzIHw9IFBDX0ZMQUdfRE1BX09LOworCisJCXJldHVybiBpZGVzY3NpX2lzc3VlX3BjKGRyaXZlLCBwYyk7CiAJfQogCWJsa19kdW1wX3JxX2ZsYWdzKHJxLCAiaWRlLXNjc2k6IHVuc3VwIGNvbW1hbmQiKTsKIAlpZGVzY3NpX2VuZF9yZXF1ZXN0IChkcml2ZSwgMCwgMCk7CkBAIC02NDYsNiArNDk3LDggQEAKIAlwdXRfZGlzayhnKTsKIAogCWlkZV9zY3NpX3B1dChzY3NpKTsKKworCWRyaXZlLT5zY3NpID0gMDsKIH0KIAogc3RhdGljIGludCBpZGVfc2NzaV9wcm9iZShpZGVfZHJpdmVfdCAqKTsKQEAgLTc2NSw2ICs2MTgsOCBAQAogCiAJbWVtc2V0IChwYy0+YywgMCwgMTIpOwogCXBjLT5mbGFncyA9IDA7CisJaWYgKGNtZC0+c2NfZGF0YV9kaXJlY3Rpb24gPT0gRE1BX1RPX0RFVklDRSkKKwkJcGMtPmZsYWdzIHw9IFBDX0ZMQUdfV1JJVElORzsKIAlwYy0+cnEgPSBycTsKIAltZW1jcHkgKHBjLT5jLCBjbWQtPmNtbmQsIGNtZC0+Y21kX2xlbik7CiAJcGMtPmJ1ZiA9IE5VTEw7CkBAIC03NzUsNiArNjMwLDcgQEAKIAlwYy0+c2NzaV9jbWQgPSBjbWQ7CiAJcGMtPmRvbmUgPSBkb25lOwogCXBjLT50aW1lb3V0ID0gamlmZmllcyArIGNtZC0+dGltZW91dF9wZXJfY29tbWFuZDsKKwlwYy0+Y2FsbGJhY2sgPSBpZGVfc2NzaV9jYWxsYmFjazsKIAogCWlmICh0ZXN0X2JpdChJREVTQ1NJX0xPR19DTUQsICZzY3NpLT5sb2cpKSB7CiAJCXByaW50ayAoImlkZS1zY3NpOiAlczogcXVlICVsdSwgY21kID0gIiwgZHJpdmUtPm5hbWUsIGNtZC0+c2VyaWFsX251bWJlcik7CkBAIC03ODUsMTIgKzY0MSwxMSBAQAogCQl9CiAJfQogCi0JaWRlX2luaXRfZHJpdmVfY21kIChycSk7CisJYmxrX3JxX2luaXQoTlVMTCwgcnEpOwogCXJxLT5zcGVjaWFsID0gKGNoYXIgKikgcGM7CiAJcnEtPmNtZF90eXBlID0gUkVRX1RZUEVfU1BFQ0lBTDsKIAlzcGluX3VubG9ja19pcnEoaG9zdC0+aG9zdF9sb2NrKTsKLQlycS0+cnFfZGlzayA9IHNjc2ktPmRpc2s7Ci0JKHZvaWQpIGlkZV9kb19kcml2ZV9jbWQgKGRyaXZlLCBycSwgaWRlX2VuZCk7CisJYmxrX2V4ZWN1dGVfcnFfbm93YWl0KGRyaXZlLT5xdWV1ZSwgc2NzaS0+ZGlzaywgcnEsIDAsIE5VTEwpOwogCXNwaW5fbG9ja19pcnEoaG9zdC0+aG9zdF9sb2NrKTsKIAlyZXR1cm4gMDsKIGFib3J0OgpAQCAtOTg1LDYgKzg0MCw4IEBACiAJICAgICEoaG9zdCA9IHNjc2lfaG9zdF9hbGxvYygmaWRlc2NzaV90ZW1wbGF0ZSxzaXplb2YoaWRlc2NzaV9zY3NpX3QpKSkpCiAJCXJldHVybiAtRU5PREVWOwogCisJZHJpdmUtPnNjc2kgPSAxOworCiAJZyA9IGFsbG9jX2Rpc2soMSA8PCBQQVJUTl9CSVRTKTsKIAlpZiAoIWcpCiAJCWdvdG8gb3V0X2hvc3RfcHV0OwpAQCAtOTkzLDEwICs4NTAsMTAgQEAKIAogCWhvc3QtPm1heF9pZCA9IDE7CiAKLSNpZiBJREVTQ1NJX0RFQlVHX0xPRwogCWlmIChkcml2ZS0+aWQtPmxhc3RfbHVuKQotCQlwcmludGsoS0VSTl9OT1RJQ0UgIiVzOiBpZC0+bGFzdF9sdW49JXVcbiIsIGRyaXZlLT5uYW1lLCBkcml2ZS0+aWQtPmxhc3RfbHVuKTsKLSNlbmRpZgorCQlkZWJ1Z19sb2coIiVzOiBpZC0+bGFzdF9sdW49JXVcbiIsIGRyaXZlLT5uYW1lLAorCQkJICBkcml2ZS0+aWQtPmxhc3RfbHVuKTsKKwogCWlmICgoZHJpdmUtPmlkLT5sYXN0X2x1biAmIDB4NykgIT0gNykKIAkJaG9zdC0+bWF4X2x1biA9IChkcml2ZS0+aWQtPmxhc3RfbHVuICYgMHg3KSArIDE7CiAJZWxzZQpAQCAtMTAyNSw2ICs4ODIsNyBAQAogCiAJcHV0X2Rpc2soZyk7CiBvdXRfaG9zdF9wdXQ6CisJZHJpdmUtPnNjc2kgPSAwOwogCXNjc2lfaG9zdF9wdXQoaG9zdCk7CiAJcmV0dXJuIGVycjsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2NzaS9pcHIuYyBiL2RyaXZlcnMvc2NzaS9pcHIuYwppbmRleCA5OTllOTFlLi5lN2EzYTY1IDEwMDY0NAotLS0gYS9kcml2ZXJzL3Njc2kvaXByLmMKKysrIGIvZHJpdmVycy9zY3NpL2lwci5jCkBAIC03MSw2ICs3MSw3IEBACiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlcGFyYW0uaD4KICNpbmNsdWRlIDxsaW51eC9saWJhdGEuaD4KKyNpbmNsdWRlIDxsaW51eC9oZHJlZy5oPgogI2luY2x1ZGUgPGFzbS9pby5oPgogI2luY2x1ZGUgPGFzbS9pcnEuaD4KICNpbmNsdWRlIDxhc20vcHJvY2Vzc29yLmg+CkBAIC00OTEzLDggKzQ5MTQsMTEgQEAKIAlzdHJ1Y3QgaXByX3Jlc291cmNlX2VudHJ5ICpyZXM7CiAKIAlyZXMgPSAoc3RydWN0IGlwcl9yZXNvdXJjZV9lbnRyeSAqKXNkZXYtPmhvc3RkYXRhOwotCWlmIChyZXMgJiYgaXByX2lzX2dhdGEocmVzKSkKKwlpZiAocmVzICYmIGlwcl9pc19nYXRhKHJlcykpIHsKKwkJaWYgKGNtZCA9PSBIRElPX0dFVF9JREVOVElUWSkKKwkJCXJldHVybiAtRU5PVFRZOwogCQlyZXR1cm4gYXRhX3Njc2lfaW9jdGwoc2RldiwgY21kLCBhcmcpOworCX0KIAogCXJldHVybiAtRUlOVkFMOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zY3NpL21lZ2FyYWlkLmMgYi9kcml2ZXJzL3Njc2kvbWVnYXJhaWQuYwppbmRleCAxODU1MWFhLi4yOGM5ZGE3IDEwMDY0NAotLS0gYS9kcml2ZXJzL3Njc2kvbWVnYXJhaWQuYworKysgYi9kcml2ZXJzL3Njc2kvbWVnYXJhaWQuYwpAQCAtNDYsNiArNDYsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9kbWEtbWFwcGluZy5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8c2NzaS9zY3NpY2FtLmg+CiAKICNpbmNsdWRlICJzY3NpLmgiCkBAIC0zMjcyLDEyICszMjczLDEyIEBACiAgKiBAZmlsZXAgLSB1bnVzZWQKICAqCiAgKiBSb3V0aW5lcyBmb3IgdGhlIGNoYXJhY3Rlci9pb2N0bCBpbnRlcmZhY2UgdG8gdGhlIGRyaXZlci4gRmluZCBvdXQgaWYgdGhpcwotICogaXMgYSB2YWxpZCBvcGVuLiBJZiB5ZXMsIGluY3JlbWVudCB0aGUgbW9kdWxlIHVzZSBjb3VudCBzbyB0aGF0IGl0IGNhbm5vdAotICogYmUgdW5sb2FkZWQuCisgKiBpcyBhIHZhbGlkIG9wZW4uIAogICovCiBzdGF0aWMgaW50CiBtZWdhZGV2X29wZW4gKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlcCkKIHsKKwljeWNsZV9rZXJuZWxfbG9jaygpOwogCS8qCiAJICogT25seSBhbGxvdyBzdXBlcnVzZXIgdG8gYWNjZXNzIHByaXZhdGUgaW9jdGwgaW50ZXJmYWNlCiAJICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL3Njc2kvbWVnYXJhaWQvbWVnYXJhaWRfbW0uYyBiL2RyaXZlcnMvc2NzaS9tZWdhcmFpZC9tZWdhcmFpZF9tbS5jCmluZGV4IDBhZDIxNWUuLmFjM2IyODAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2NzaS9tZWdhcmFpZC9tZWdhcmFpZF9tbS5jCisrKyBiL2RyaXZlcnMvc2NzaS9tZWdhcmFpZC9tZWdhcmFpZF9tbS5jCkBAIC0xNSw2ICsxNSw3IEBACiAgKiBDb21tb24gbWFuYWdlbWVudCBtb2R1bGUKICAqLwogI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlICJtZWdhcmFpZF9tbS5oIgogCiAKQEAgLTk2LDYgKzk3LDcgQEAKIAkgKi8KIAlpZiAoIWNhcGFibGUoQ0FQX1NZU19BRE1JTikpIHJldHVybiAoLUVBQ0NFUyk7CiAKKwljeWNsZV9rZXJuZWxfbG9jaygpOwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3Njc2kvbWVnYXJhaWQvbWVnYXJhaWRfc2FzLmMgYi9kcml2ZXJzL3Njc2kvbWVnYXJhaWQvbWVnYXJhaWRfc2FzLmMKaW5kZXggN2Q4NGM4Yi4uZmM3YWMxNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zY3NpL21lZ2FyYWlkL21lZ2FyYWlkX3Nhcy5jCisrKyBiL2RyaXZlcnMvc2NzaS9tZWdhcmFpZC9tZWdhcmFpZF9zYXMuYwpAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3Vpby5oPgogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAjaW5jbHVkZSA8bGludXgvZnMuaD4KQEAgLTI4NjMsNiArMjg2NCw3IEBACiAgKi8KIHN0YXRpYyBpbnQgbWVnYXNhc19tZ210X29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGVwKQogeworCWN5Y2xlX2tlcm5lbF9sb2NrKCk7CiAJLyoKIAkgKiBBbGxvdyBvbmx5IHRob3NlIHVzZXJzIHdpdGggYWRtaW4gcmlnaHRzCiAJICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL3Njc2kvb3NzdC5jIGIvZHJpdmVycy9zY3NpL29zc3QuYwppbmRleCAyNDNkOGJlLi4xYzc5Zjk3IDEwMDY0NAotLS0gYS9kcml2ZXJzL3Njc2kvb3NzdC5jCisrKyBiL2RyaXZlcnMvc2NzaS9vc3N0LmMKQEAgLTUwLDYgKzUwLDcgQEAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGVwYXJhbS5oPgogI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CiAjaW5jbHVkZSA8bGludXgvamlmZmllcy5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KICNpbmNsdWRlIDxhc20vZG1hLmg+CiAjaW5jbHVkZSA8YXNtL3N5c3RlbS5oPgpAQCAtNDM1OSw3ICs0MzYwLDcgQEAKIAogCiAvKiBPcGVuIHRoZSBkZXZpY2UgKi8KLXN0YXRpYyBpbnQgb3Nfc2NzaV90YXBlX29wZW4oc3RydWN0IGlub2RlICogaW5vZGUsIHN0cnVjdCBmaWxlICogZmlscCkKK3N0YXRpYyBpbnQgX19vc19zY3NpX3RhcGVfb3BlbihzdHJ1Y3QgaW5vZGUgKiBpbm9kZSwgc3RydWN0IGZpbGUgKiBmaWxwKQogewogCXVuc2lnbmVkIHNob3J0CSAgICAgIGZsYWdzOwogCWludAkJICAgICAgaSwgYl9zaXplLCBuZXdfc2Vzc2lvbiA9IDAsIHJldHZhbCA9IDA7CkBAIC00NzI1LDYgKzQ3MjYsMTggQEAKIAlyZXR1cm4gcmV0dmFsOwogfQogCisvKiBCS0wgcHVzaGRvd246IHNwYWdoZXR0aSBhdm9pZGFuY2Ugd3JhcHBlciAqLworc3RhdGljIGludCBvc19zY3NpX3RhcGVfb3BlbihzdHJ1Y3QgaW5vZGUgKiBpbm9kZSwgc3RydWN0IGZpbGUgKiBmaWxwKQoreworCWludCByZXQ7CisKKwlsb2NrX2tlcm5lbCgpOworCXJldCA9IF9fb3Nfc2NzaV90YXBlX29wZW4oaW5vZGUsIGZpbHApOworCXVubG9ja19rZXJuZWwoKTsKKwlyZXR1cm4gcmV0OworfQorCisKIAogLyogRmx1c2ggdGhlIHRhcGUgYnVmZmVyIGJlZm9yZSBjbG9zZSAqLwogc3RhdGljIGludCBvc19zY3NpX3RhcGVfZmx1c2goc3RydWN0IGZpbGUgKiBmaWxwLCBmbF9vd25lcl90IGlkKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zY3NpL3Njc2lfbGliLmMgYi9kcml2ZXJzL3Njc2kvc2NzaV9saWIuYwppbmRleCBhODJkMmZlLi5jYmY1NWQ1IDEwMDY0NAotLS0gYS9kcml2ZXJzL3Njc2kvc2NzaV9saWIuYworKysgYi9kcml2ZXJzL3Njc2kvc2NzaV9saWIuYwpAQCAtMjA3LDYgKzIwNywxNSBAQAogCSAqLwogCWJsa19leGVjdXRlX3JxKHJlcS0+cSwgTlVMTCwgcmVxLCAxKTsKIAorCS8qCisJICogU29tZSBkZXZpY2VzIChVU0IgbWFzcy1zdG9yYWdlIGluIHBhcnRpY3VsYXIpIG1heSB0cmFuc2ZlcgorCSAqIGdhcmJhZ2UgZGF0YSB0b2dldGhlciB3aXRoIGEgcmVzaWR1ZSBpbmRpY2F0aW5nIHRoYXQgdGhlIGRhdGEKKwkgKiBpcyBpbnZhbGlkLiAgUHJldmVudCB0aGUgZ2FyYmFnZSBmcm9tIGJlaW5nIG1pc2ludGVycHJldGVkCisJICogYW5kIHByZXZlbnQgc2VjdXJpdHkgbGVha3MgYnkgemVyb2luZyBvdXQgdGhlIGV4Y2VzcyBkYXRhLgorCSAqLworCWlmICh1bmxpa2VseShyZXEtPmRhdGFfbGVuID4gMCAmJiByZXEtPmRhdGFfbGVuIDw9IGJ1ZmZsZW4pKQorCQltZW1zZXQoYnVmZmVyICsgKGJ1ZmZsZW4gLSByZXEtPmRhdGFfbGVuKSwgMCwgcmVxLT5kYXRhX2xlbik7CisKIAlyZXQgPSByZXEtPmVycm9yczsKICBvdXQ6CiAJYmxrX3B1dF9yZXF1ZXN0KHJlcSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3Njc2kvc2NzaV90Z3RfaWYuYyBiL2RyaXZlcnMvc2NzaS9zY3NpX3RndF9pZi5jCmluZGV4IGQyNTU3ZGIuLjBlOTUzM2Y3IDEwMDY0NAotLS0gYS9kcml2ZXJzL3Njc2kvc2NzaV90Z3RfaWYuYworKysgYi9kcml2ZXJzL3Njc2kvc2NzaV90Z3RfaWYuYwpAQCAtMjEsNiArMjEsNyBAQAogICovCiAjaW5jbHVkZSA8bGludXgvbWlzY2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L2ZpbGUuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPG5ldC90Y3AuaD4KICNpbmNsdWRlIDxzY3NpL3Njc2kuaD4KICNpbmNsdWRlIDxzY3NpL3Njc2lfY21uZC5oPgpAQCAtMzIxLDYgKzMyMiw3IEBACiB7CiAJdHhfcmluZy50cl9pZHggPSByeF9yaW5nLnRyX2lkeCA9IDA7CiAKKwljeWNsZV9rZXJuZWxfbG9jaygpOwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3Njc2kvc2QuYyBiL2RyaXZlcnMvc2NzaS9zZC5jCmluZGV4IDAxY2VmYmIuLmQ1MzMxMmMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2NzaS9zZC5jCisrKyBiL2RyaXZlcnMvc2NzaS9zZC5jCkBAIC0xMTI0LDYgKzExMjQsOCBAQAogCQkJCWNtZFsxXSA9IDE7CS8qIFJldHVybiBpbW1lZGlhdGVseSAqLwogCQkJCW1lbXNldCgodm9pZCAqKSAmY21kWzJdLCAwLCA4KTsKIAkJCQljbWRbNF0gPSAxOwkvKiBTdGFydCBzcGluIGN5Y2xlICovCisJCQkJaWYgKHNka3AtPmRldmljZS0+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+IC8qIEZJWE1FOiBmb3IgUFNTUiAqLwogI2luY2x1ZGUgPGFzbS9hcmNoL3VkYy5oPgogCiAjaW5jbHVkZSAicHhhMjd4X3VkYy5oIgpAQCAtMjM2MCwxOCArMjM2MCwxOSBAQAogCSAqIFNvZnR3YXJlIG11c3QgY29uZmlndXJlIHRoZSBVU0IgT1RHIHBhZCwgVURDLCBhbmQgVUhDCiAJICogdG8gdGhlIHN0YXRlIHRoZXkgd2VyZSBpbiBiZWZvcmUgZW50ZXJpbmcgc2xlZXAgbW9kZS4KIAkgKi8KLQlQU1NSIHw9IFBTU1JfT1RHUEg7CisJaWYgKGNwdV9pc19weGEyN3goKSkKKwkJUFNTUiB8PSBQU1NSX09UR1BIOwogCiAJcmV0dXJuIDA7CiB9CiAjZW5kaWYKIAogLyogd29yayB3aXRoIGhvdHBsdWcgYW5kIGNvbGRwbHVnICovCi1NT0RVTEVfQUxJQVMoInBsYXRmb3JtOnB4YTJ4eC11ZGMiKTsKK01PRFVMRV9BTElBUygicGxhdGZvcm06cHhhMjd4LXVkYyIpOwogCiBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZlciB1ZGNfZHJpdmVyID0gewogCS5kcml2ZXIJCT0gewotCQkubmFtZQk9ICJweGEyeHgtdWRjIiwKKwkJLm5hbWUJPSAicHhhMjd4LXVkYyIsCiAJCS5vd25lcgk9IFRISVNfTU9EVUxFLAogCX0sCiAJLnJlbW92ZQkJPSBfX2V4aXRfcChweGFfdWRjX3JlbW92ZSksCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9nYWRnZXQvcHhhMjd4X3VkYy5oIGIvZHJpdmVycy91c2IvZ2FkZ2V0L3B4YTI3eF91ZGMuaAppbmRleCA5NzQ1M2RiLi4xZDFiNzkzNiAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2IvZ2FkZ2V0L3B4YTI3eF91ZGMuaAorKysgYi9kcml2ZXJzL3VzYi9nYWRnZXQvcHhhMjd4X3VkYy5oCkBAIC00ODQsMTIgKzQ4NCw0IEBACiAjZGVmaW5lIGVwX3dhcm4oZXAsIGZtdCwgYXJnLi4uKSBcCiAJZGV2X3dhcm4oZXAtPmRldi0+ZGV2LCAiJXM6JXM6IiBmbXQsIEVQTkFNRShlcCksIF9fZnVuY19fLCAjIyBhcmcpCiAKLS8qCi0gKiBDYW5ub3QgaW5jbHVkZSBweGEtcmVncy5oLCBhcyByZWdpc3RlciBuYW1lcyBhcmUgc2ltaWxhci4KLSAqIFNvIFBTU1IgaXMgcmVkZWZpbmVkIGhlcmUuIFRoaXMgc2hvdWxkIGJlIHJlbW92ZWQgb25jZSBVREMgcmVnaXN0ZXJzIHdpbGwKLSAqIGJlIGdvbmUgZnJvbSBweGEtcmVncy5oLgotICovCi0jZGVmaW5lIFBTU1IJCV9fUkVHKDB4NDBGMDAwMDQpCS8qIFBvd2VyIE1hbmFnZXIgU2xlZXAgU3RhdHVzICovCi0jZGVmaW5lIFBTU1JfT1RHUEgJKDEgPDwgNikJCS8qIE9URyBQZXJpcGhlcmFsIEhvbGQgKi8KLQogI2VuZGlmIC8qIF9fTElOVVhfVVNCX0dBREdFVF9QWEEyN1hfSCAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvaG9zdC9vaGNpLWF1MXh4eC5jIGIvZHJpdmVycy91c2IvaG9zdC9vaGNpLWF1MXh4eC5jCmluZGV4IGY5MGZlMGMuLjY4YzE3ZjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL2hvc3Qvb2hjaS1hdTF4eHguYworKysgYi9kcml2ZXJzL3VzYi9ob3N0L29oY2ktYXUxeHh4LmMKQEAgLTgsNyArOCw3IEBACiAgKiBCdXMgR2x1ZSBmb3IgQU1EIEFsY2hlbXkgQXUxeHh4CiAgKgogICogV3JpdHRlbiBieSBDaHJpc3RvcGhlciBIb292ZXIgPGNoQGhwbC5ocC5jb20+Ci0gKiBCYXNlZCBvbiBmcmFnbWVudHMgb2YgcHJldmlvdXMgZHJpdmVyIGJ5IFJ1c2VsbCBLaW5nIGV0IGFsLgorICogQmFzZWQgb24gZnJhZ21lbnRzIG9mIHByZXZpb3VzIGRyaXZlciBieSBSdXNzZWxsIEtpbmcgZXQgYWwuCiAgKgogICogTW9kaWZpZWQgZm9yIExIN0E0MDQgZnJvbSBvaGNpLXNhMTExMS5jCiAgKiAgYnkgRHVyZ2VzaCBQYXR0YW1hdHRhIDxwYXR0YW1hdHRhZEBzaGFycHNlYy5jb20+CmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9ob3N0L29oY2ktbGg3YTQwNC5jIGIvZHJpdmVycy91c2IvaG9zdC9vaGNpLWxoN2E0MDQuYwppbmRleCAxM2MxMmVkLi4xZWY1ZDQ4IDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9ob3N0L29oY2ktbGg3YTQwNC5jCisrKyBiL2RyaXZlcnMvdXNiL2hvc3Qvb2hjaS1saDdhNDA0LmMKQEAgLTgsNyArOCw3IEBACiAgKiBCdXMgR2x1ZSBmb3IgU2hhcnAgTEg3QTQwNAogICoKICAqIFdyaXR0ZW4gYnkgQ2hyaXN0b3BoZXIgSG9vdmVyIDxjaEBocGwuaHAuY29tPgotICogQmFzZWQgb24gZnJhZ21lbnRzIG9mIHByZXZpb3VzIGRyaXZlciBieSBSdXNlbGwgS2luZyBldCBhbC4KKyAqIEJhc2VkIG9uIGZyYWdtZW50cyBvZiBwcmV2aW91cyBkcml2ZXIgYnkgUnVzc2VsbCBLaW5nIGV0IGFsLgogICoKICAqIE1vZGlmaWVkIGZvciBMSDdBNDA0IGZyb20gb2hjaS1zYTExMTEuYwogICogIGJ5IER1cmdlc2ggUGF0dGFtYXR0YSA8cGF0dGFtYXR0YWRAc2hhcnBzZWMuY29tPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvaG9zdC9vaGNpLW9tYXAuYyBiL2RyaXZlcnMvdXNiL2hvc3Qvb2hjaS1vbWFwLmMKaW5kZXggM2E3YzI0Yy4uYTE5YTRmOCAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2IvaG9zdC9vaGNpLW9tYXAuYworKysgYi9kcml2ZXJzL3VzYi9ob3N0L29oY2ktb21hcC5jCkBAIC0xNjksMTMgKzE2OSwxNiBAQAogewogCWNvbnN0IHVuc2lnbmVkCXBvcnQgPSBvaGNpX3RvX2hjZChvaGNpKS0+c2VsZi5vdGdfcG9ydCAtIDE7CiAJdW5zaWduZWQgbG9uZwlmbGFnczsKKwl1MzIgbDsKIAogCW90Z19zdGFydF9obnAob2hjaS0+dHJhbnNjZWl2ZXIpOwogCiAJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOwogCW9oY2ktPnRyYW5zY2VpdmVyLT5zdGF0ZSA9IE9UR19TVEFURV9BX1NVU1BFTkQ7CiAJd3JpdGVsIChSSF9QU19QU1MsICZvaGNpLT5yZWdzLT5yb290aHViLnBvcnRzdGF0dXMgW3BvcnRdKTsKLQlPVEdfQ1RSTF9SRUcgJj0gfk9UR19BX0JVU1JFUTsKKwlsID0gb21hcF9yZWFkbChPVEdfQ1RSTCk7CisJbCAmPSB+T1RHX0FfQlVTUkVROworCW9tYXBfd3JpdGVsKGwsIE9UR19DVFJMKTsKIAlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL2hvc3Qvb2hjaS1weGEyN3guYyBiL2RyaXZlcnMvdXNiL2hvc3Qvb2hjaS1weGEyN3guYwppbmRleCBkNGVlMjdkLi4xMjdiMTU3IDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9ob3N0L29oY2ktcHhhMjd4LmMKKysrIGIvZHJpdmVycy91c2IvaG9zdC9vaGNpLXB4YTI3eC5jCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSA8YXNtL21hY2gtdHlwZXMuaD4KICNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9weGEtcmVncy5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL3B4YTJ4eC1yZWdzLmg+IC8qIEZJWE1FOiBmb3IgUFNTUiAqLwogI2luY2x1ZGUgPGFzbS9hcmNoL29oY2kuaD4KIAogI2RlZmluZSBQWEFfVUhDX01BWF9QT1JUTlVNICAgIDMKQEAgLTEwNCw3ICsxMDUsNyBAQAogCVVIQ0hJRSA9IChVSENISUVfVVBSSUUgfCBVSENISUVfUldJRSk7CiAKIAkvKiBDbGVhciBhbnkgT1RHIFBpbiBIb2xkICovCi0JaWYgKFBTU1IgJiBQU1NSX09UR1BIKQorCWlmIChjcHVfaXNfcHhhMjd4KCkgJiYgKFBTU1IgJiBQU1NSX09UR1BIKSkKIAkJUFNTUiB8PSBQU1NSX09UR1BIOwogCiAJcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9ob3N0L29oY2ktczNjMjQxMC5jIGIvZHJpdmVycy91c2IvaG9zdC9vaGNpLXMzYzI0MTAuYwppbmRleCBlYWQ0NzcyLi4zYzdhNzQwIDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9ob3N0L29oY2ktczNjMjQxMC5jCisrKyBiL2RyaXZlcnMvdXNiL2hvc3Qvb2hjaS1zM2MyNDEwLmMKQEAgLTgsNyArOCw3IEBACiAgKiBVU0IgQnVzIEdsdWUgZm9yIFNhbXN1bmcgUzNDMjQxMAogICoKICAqIFdyaXR0ZW4gYnkgQ2hyaXN0b3BoZXIgSG9vdmVyIDxjaEBocGwuaHAuY29tPgotICogQmFzZWQgb24gZnJhZ21lbnRzIG9mIHByZXZpb3VzIGRyaXZlciBieSBSdXNlbGwgS2luZyBldCBhbC4KKyAqIEJhc2VkIG9uIGZyYWdtZW50cyBvZiBwcmV2aW91cyBkcml2ZXIgYnkgUnVzc2VsbCBLaW5nIGV0IGFsLgogICoKICAqIE1vZGlmaWVkIGZvciBTM0MyNDEwIGZyb20gb2hjaS1zYTExMTEuYywgb2hjaS1vbWFwLmMgYW5kIG9oY2ktbGg3YTQwLmMKICAqCWJ5IEJlbiBEb29rcywgPGJlbkBzaW10ZWMuY28udWs+CmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9ob3N0L29oY2ktc2ExMTExLmMgYi9kcml2ZXJzL3VzYi9ob3N0L29oY2ktc2ExMTExLmMKaW5kZXggMGY0OGYyZC4uMmU5ZGNlYiAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2IvaG9zdC9vaGNpLXNhMTExMS5jCisrKyBiL2RyaXZlcnMvdXNiL2hvc3Qvb2hjaS1zYTExMTEuYwpAQCAtOCw3ICs4LDcgQEAKICAqIFNBMTExMSBCdXMgR2x1ZQogICoKICAqIFdyaXR0ZW4gYnkgQ2hyaXN0b3BoZXIgSG9vdmVyIDxjaEBocGwuaHAuY29tPgotICogQmFzZWQgb24gZnJhZ21lbnRzIG9mIHByZXZpb3VzIGRyaXZlciBieSBSdXNlbGwgS2luZyBldCBhbC4KKyAqIEJhc2VkIG9uIGZyYWdtZW50cyBvZiBwcmV2aW91cyBkcml2ZXIgYnkgUnVzc2VsbCBLaW5nIGV0IGFsLgogICoKICAqIFRoaXMgZmlsZSBpcyBsaWNlbmNlZCB1bmRlciB0aGUgR1BMLgogICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9taXNjL2VtaTI2LmMgYi9kcml2ZXJzL3VzYi9taXNjL2VtaTI2LmMKaW5kZXggNGI5ZGM4MS4uNGI5OTRhMCAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2IvbWlzYy9lbWkyNi5jCisrKyBiL2RyaXZlcnMvdXNiL21pc2MvZW1pMjYuYwpAQCAtMTYsMTggKzE2LDggQEAKICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvdXNiLmg+CiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KLQotI2RlZmluZSBNQVhfSU5URUxfSEVYX1JFQ09SRF9MRU5HVEggMTYKLXR5cGVkZWYgc3RydWN0IF9JTlRFTF9IRVhfUkVDT1JECi17Ci0JX191MzIJbGVuZ3RoOwotCV9fdTMyCWFkZHJlc3M7Ci0JX191MzIJdHlwZTsKLQlfX3U4CWRhdGFbTUFYX0lOVEVMX0hFWF9SRUNPUkRfTEVOR1RIXTsKLX0gSU5URUxfSEVYX1JFQ09SRCwgKlBJTlRFTF9IRVhfUkVDT1JEOwotCi0vKiBpbmNsdWRlIGZpcm13YXJlICh2YXJpYWJsZXMpICovCi0jaW5jbHVkZSAiZW1pMjZfZncuaCIKKyNpbmNsdWRlIDxsaW51eC9maXJtd2FyZS5oPgorI2luY2x1ZGUgPGxpbnV4L2loZXguaD4KIAogI2RlZmluZSBFTUkyNl9WRU5ET1JfSUQgCQkweDA4NmEgIC8qIEVtYWdpYyBTb2Z0LXVuZCBIYXJkd2FyZSBHbUJIICovCiAjZGVmaW5lIEVNSTI2X1BST0RVQ1RfSUQJCTB4MDEwMAkvKiBFTUkgMnw2IHdpdGhvdXQgZmlybXdhcmUgKi8KQEAgLTQwLDcgKzMwLDkgQEAKICNkZWZpbmUgQ1BVQ1NfUkVHCQkweDdGOTIgIC8qIEVaLVVTQiBDb250cm9sIGFuZCBTdGF0dXMgUmVnaXN0ZXIuICBCaXQgMCBjb250cm9scyA4MDUxIHJlc2V0ICovIAogI2RlZmluZSBJTlRFUk5BTF9SQU0oYWRkcmVzcykgICAoYWRkcmVzcyA8PSBNQVhfSU5URVJOQUxfQUREUkVTUykKIAotc3RhdGljIGludCBlbWkyNl93cml0ZW1lbW9yeSggc3RydWN0IHVzYl9kZXZpY2UgKmRldiwgaW50IGFkZHJlc3MsIHVuc2lnbmVkIGNoYXIgKmRhdGEsIGludCBsZW5ndGgsIF9fdTggYlJlcXVlc3QpOworc3RhdGljIGludCBlbWkyNl93cml0ZW1lbW9yeSggc3RydWN0IHVzYl9kZXZpY2UgKmRldiwgaW50IGFkZHJlc3MsCisJCQkgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpkYXRhLCBpbnQgbGVuZ3RoLAorCQkJICAgICAgX191OCBiUmVxdWVzdCk7CiBzdGF0aWMgaW50IGVtaTI2X3NldF9yZXNldChzdHJ1Y3QgdXNiX2RldmljZSAqZGV2LCB1bnNpZ25lZCBjaGFyIHJlc2V0X2JpdCk7CiBzdGF0aWMgaW50IGVtaTI2X2xvYWRfZmlybXdhcmUgKHN0cnVjdCB1c2JfZGV2aWNlICpkZXYpOwogc3RhdGljIGludCBlbWkyNl9wcm9iZShzdHJ1Y3QgdXNiX2ludGVyZmFjZSAqaW50ZiwgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgKmlkKTsKQEAgLTUwLDcgKzQyLDkgQEAKIAogCiAvKiB0aGFua3MgdG8gZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fcGRhLmMgY29kZSAqLwotc3RhdGljIGludCBlbWkyNl93cml0ZW1lbW9yeSAoc3RydWN0IHVzYl9kZXZpY2UgKmRldiwgaW50IGFkZHJlc3MsIHVuc2lnbmVkIGNoYXIgKmRhdGEsIGludCBsZW5ndGgsIF9fdTggcmVxdWVzdCkKK3N0YXRpYyBpbnQgZW1pMjZfd3JpdGVtZW1vcnkgKHN0cnVjdCB1c2JfZGV2aWNlICpkZXYsIGludCBhZGRyZXNzLAorCQkJICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqZGF0YSwgaW50IGxlbmd0aCwKKwkJCSAgICAgIF9fdTggcmVxdWVzdCkKIHsKIAlpbnQgcmVzdWx0OwogCXVuc2lnbmVkIGNoYXIgKmJ1ZmZlciA9ICBrbWVtZHVwKGRhdGEsIGxlbmd0aCwgR0ZQX0tFUk5FTCk7CkBAIC04Myw5ICs3NywxMiBAQAogCiBzdGF0aWMgaW50IGVtaTI2X2xvYWRfZmlybXdhcmUgKHN0cnVjdCB1c2JfZGV2aWNlICpkZXYpCiB7CisJY29uc3Qgc3RydWN0IGZpcm13YXJlICpsb2FkZXJfZncgPSBOVUxMOworCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqYml0c3RyZWFtX2Z3ID0gTlVMTDsKKwljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZpcm13YXJlX2Z3ID0gTlVMTDsKKwljb25zdCBzdHJ1Y3QgaWhleF9iaW5yZWMgKnJlYzsKIAlpbnQgZXJyOwogCWludCBpOwotCWludCBwb3MgPSAwOwkvKiBQb3NpdGlvbiBpbiBoZXggcmVjb3JkICovCiAJX191MzIgYWRkcjsJLyogQWRkcmVzcyB0byB3cml0ZSAqLwogCV9fdTggKmJ1ZjsKIApAQCAtOTYsNiArOTMsMjMgQEAKIAkJZ290byB3cmFwZXJyOwogCX0KIAorCWVyciA9IHJlcXVlc3RfaWhleF9maXJtd2FyZSgmbG9hZGVyX2Z3LCAiZW1pMjYvbG9hZGVyLmZ3IiwgJmRldi0+ZGV2KTsKKwlpZiAoZXJyKQorCQlnb3RvIG5vZnc7CisKKwllcnIgPSByZXF1ZXN0X2loZXhfZmlybXdhcmUoJmJpdHN0cmVhbV9mdywgImVtaTI2L2JpdHN0cmVhbS5mdyIsCisJCQkJICAgICZkZXYtPmRldik7CisJaWYgKGVycikKKwkJZ290byBub2Z3OworCisJZXJyID0gcmVxdWVzdF9paGV4X2Zpcm13YXJlKCZmaXJtd2FyZV9mdywgImVtaTI2L2Zpcm13YXJlLmZ3IiwKKwkJCQkgICAgJmRldi0+ZGV2KTsKKwlpZiAoZXJyKSB7CisJbm9mdzoKKwkJZXJyKCAiJXMgLSByZXF1ZXN0X2Zpcm13YXJlKCkgZmFpbGVkIiwgX19mdW5jX18pOworCQlnb3RvIHdyYXBlcnI7CisJfQorCiAJLyogQXNzZXJ0IHJlc2V0IChzdG9wIHRoZSBDUFUgaW4gdGhlIEVNSSkgKi8KIAllcnIgPSBlbWkyNl9zZXRfcmVzZXQoZGV2LDEpOwogCWlmIChlcnIgPCAwKSB7CkBAIC0xMDMsMTMgKzExNywxNyBAQAogCQlnb3RvIHdyYXBlcnI7CiAJfQogCisJcmVjID0gKGNvbnN0IHN0cnVjdCBpaGV4X2JpbnJlYyAqKWxvYWRlcl9mdy0+ZGF0YTsKIAkvKiAxLiBXZSBuZWVkIHRvIHB1dCB0aGUgbG9hZGVyIGZvciB0aGUgRlBHQSBpbnRvIHRoZSBFWi1VU0IgKi8KLQlmb3IgKGk9MDsgZ19Mb2FkZXJbaV0udHlwZSA9PSAwOyBpKyspIHsKLQkJZXJyID0gZW1pMjZfd3JpdGVtZW1vcnkoZGV2LCBnX0xvYWRlcltpXS5hZGRyZXNzLCBnX0xvYWRlcltpXS5kYXRhLCBnX0xvYWRlcltpXS5sZW5ndGgsIEFOQ0hPUl9MT0FEX0lOVEVSTkFMKTsKKwl3aGlsZSAocmVjKSB7CisJCWVyciA9IGVtaTI2X3dyaXRlbWVtb3J5KGRldiwgYmUzMl90b19jcHUocmVjLT5hZGRyKSwKKwkJCQkJcmVjLT5kYXRhLCBiZTE2X3RvX2NwdShyZWMtPmxlbiksCisJCQkJCUFOQ0hPUl9MT0FEX0lOVEVSTkFMKTsKIAkJaWYgKGVyciA8IDApIHsKIAkJCWVycigiJXMgLSBlcnJvciBsb2FkaW5nIGZpcm13YXJlOiBlcnJvciA9ICVkIiwgX19mdW5jX18sIGVycik7CiAJCQlnb3RvIHdyYXBlcnI7CiAJCX0KKwkJcmVjID0gaWhleF9uZXh0X2JpbnJlYyhyZWMpOwogCX0KIAogCS8qIERlLWFzc2VydCByZXNldCAobGV0IHRoZSBDUFUgcnVuKSAqLwpAQCAtMTIzLDE1ICsxNDEsMTYgQEAKIAkvKiAyLiBXZSB1cGxvYWQgdGhlIEZQR0EgZmlybXdhcmUgaW50byB0aGUgRU1JCiAJICogTm90ZTogY29sbGVjdCB1cCB0byAxMDIzICh5ZXMhKSBieXRlcyBhbmQgc2VuZCB0aGVtIHdpdGgKIAkgKiBhIHNpbmdsZSByZXF1ZXN0LiBUaGlzIGlzIF9tdWNoXyBmYXN0ZXIhICovCisJcmVjID0gKGNvbnN0IHN0cnVjdCBpaGV4X2JpbnJlYyAqKWJpdHN0cmVhbV9mdy0+ZGF0YTsKIAlkbyB7CiAJCWkgPSAwOwotCQlhZGRyID0gZ19iaXRzdHJlYW1bcG9zXS5hZGRyZXNzOworCQlhZGRyID0gYmUzMl90b19jcHUocmVjLT5hZGRyKTsKIAogCQkvKiBpbnRlbCBoZXggcmVjb3JkcyBhcmUgdGVybWluYXRlZCB3aXRoIHR5cGUgMCBlbGVtZW50ICovCi0JCXdoaWxlICgoZ19iaXRzdHJlYW1bcG9zXS50eXBlID09IDApICYmIChpICsgZ19iaXRzdHJlYW1bcG9zXS5sZW5ndGggPCBGV19MT0FEX1NJWkUpKSB7Ci0JCQltZW1jcHkoYnVmICsgaSwgZ19iaXRzdHJlYW1bcG9zXS5kYXRhLCBnX2JpdHN0cmVhbVtwb3NdLmxlbmd0aCk7Ci0JCQlpICs9IGdfYml0c3RyZWFtW3Bvc10ubGVuZ3RoOwotCQkJcG9zKys7CisJCXdoaWxlIChyZWMgJiYgKGkgKyBiZTE2X3RvX2NwdShyZWMtPmxlbikgPCBGV19MT0FEX1NJWkUpKSB7CisJCQltZW1jcHkoYnVmICsgaSwgcmVjLT5kYXRhLCBiZTE2X3RvX2NwdShyZWMtPmxlbikpOworCQkJaSArPSBiZTE2X3RvX2NwdShyZWMtPmxlbik7CisJCQlyZWMgPSBpaGV4X25leHRfYmlucmVjKHJlYyk7CiAJCX0KIAkJZXJyID0gZW1pMjZfd3JpdGVtZW1vcnkoZGV2LCBhZGRyLCBidWYsIGksIEFOQ0hPUl9MT0FEX0ZQR0EpOwogCQlpZiAoZXJyIDwgMCkgewpAQCAtMTQ4LDggKzE2NywxMSBAQAogCX0KIAogCS8qIDMuIFdlIG5lZWQgdG8gcHV0IHRoZSBsb2FkZXIgZm9yIHRoZSBmaXJtd2FyZSBpbnRvIHRoZSBFWi1VU0IgKGFnYWluLi4uKSAqLwotCWZvciAoaT0wOyBnX0xvYWRlcltpXS50eXBlID09IDA7IGkrKykgewotCQllcnIgPSBlbWkyNl93cml0ZW1lbW9yeShkZXYsIGdfTG9hZGVyW2ldLmFkZHJlc3MsIGdfTG9hZGVyW2ldLmRhdGEsIGdfTG9hZGVyW2ldLmxlbmd0aCwgQU5DSE9SX0xPQURfSU5URVJOQUwpOworCWZvciAocmVjID0gKGNvbnN0IHN0cnVjdCBpaGV4X2JpbnJlYyAqKWxvYWRlcl9mdy0+ZGF0YTsKKwkgICAgIHJlYzsgcmVjID0gaWhleF9uZXh0X2JpbnJlYyhyZWMpKSB7CisJCWVyciA9IGVtaTI2X3dyaXRlbWVtb3J5KGRldiwgYmUzMl90b19jcHUocmVjLT5hZGRyKSwKKwkJCQkJcmVjLT5kYXRhLCBiZTE2X3RvX2NwdShyZWMtPmxlbiksCisJCQkJCUFOQ0hPUl9MT0FEX0lOVEVSTkFMKTsKIAkJaWYgKGVyciA8IDApIHsKIAkJCWVycigiJXMgLSBlcnJvciBsb2FkaW5nIGZpcm13YXJlOiBlcnJvciA9ICVkIiwgX19mdW5jX18sIGVycik7CiAJCQlnb3RvIHdyYXBlcnI7CkBAIC0xNjUsOSArMTg3LDEzIEBACiAJfQogCiAJLyogNC4gV2UgcHV0IHRoZSBwYXJ0IG9mIHRoZSBmaXJtd2FyZSB0aGF0IGxpZXMgaW4gdGhlIGV4dGVybmFsIFJBTSBpbnRvIHRoZSBFWi1VU0IgKi8KLQlmb3IgKGk9MDsgZ19GaXJtd2FyZVtpXS50eXBlID09IDA7IGkrKykgewotCQlpZiAoIUlOVEVSTkFMX1JBTShnX0Zpcm13YXJlW2ldLmFkZHJlc3MpKSB7Ci0JCQllcnIgPSBlbWkyNl93cml0ZW1lbW9yeShkZXYsIGdfRmlybXdhcmVbaV0uYWRkcmVzcywgZ19GaXJtd2FyZVtpXS5kYXRhLCBnX0Zpcm13YXJlW2ldLmxlbmd0aCwgQU5DSE9SX0xPQURfRVhURVJOQUwpOworCisJZm9yIChyZWMgPSAoY29uc3Qgc3RydWN0IGloZXhfYmlucmVjICopZmlybXdhcmVfZnctPmRhdGE7CisJICAgICByZWM7IHJlYyA9IGloZXhfbmV4dF9iaW5yZWMocmVjKSkgeworCQlpZiAoIUlOVEVSTkFMX1JBTShiZTMyX3RvX2NwdShyZWMtPmFkZHIpKSkgeworCQkJZXJyID0gZW1pMjZfd3JpdGVtZW1vcnkoZGV2LCBiZTMyX3RvX2NwdShyZWMtPmFkZHIpLAorCQkJCQkJcmVjLT5kYXRhLCBiZTE2X3RvX2NwdShyZWMtPmxlbiksCisJCQkJCQlBTkNIT1JfTE9BRF9FWFRFUk5BTCk7CiAJCQlpZiAoZXJyIDwgMCkgewogCQkJCWVycigiJXMgLSBlcnJvciBsb2FkaW5nIGZpcm13YXJlOiBlcnJvciA9ICVkIiwgX19mdW5jX18sIGVycik7CiAJCQkJZ290byB3cmFwZXJyOwpAQCAtMTgyLDkgKzIwOCwxMiBAQAogCQlnb3RvIHdyYXBlcnI7CiAJfQogCi0JZm9yIChpPTA7IGdfRmlybXdhcmVbaV0udHlwZSA9PSAwOyBpKyspIHsKLQkJaWYgKElOVEVSTkFMX1JBTShnX0Zpcm13YXJlW2ldLmFkZHJlc3MpKSB7Ci0JCQllcnIgPSBlbWkyNl93cml0ZW1lbW9yeShkZXYsIGdfRmlybXdhcmVbaV0uYWRkcmVzcywgZ19GaXJtd2FyZVtpXS5kYXRhLCBnX0Zpcm13YXJlW2ldLmxlbmd0aCwgQU5DSE9SX0xPQURfSU5URVJOQUwpOworCWZvciAocmVjID0gKGNvbnN0IHN0cnVjdCBpaGV4X2JpbnJlYyAqKWZpcm13YXJlX2Z3LT5kYXRhOworCSAgICAgcmVjOyByZWMgPSBpaGV4X25leHRfYmlucmVjKHJlYykpIHsKKwkJaWYgKElOVEVSTkFMX1JBTShiZTMyX3RvX2NwdShyZWMtPmFkZHIpKSkgeworCQkJZXJyID0gZW1pMjZfd3JpdGVtZW1vcnkoZGV2LCBiZTMyX3RvX2NwdShyZWMtPmFkZHIpLAorCQkJCQkJcmVjLT5kYXRhLCBiZTE2X3RvX2NwdShyZWMtPmxlbiksCisJCQkJCQlBTkNIT1JfTE9BRF9JTlRFUk5BTCk7CiAJCQlpZiAoZXJyIDwgMCkgewogCQkJCWVycigiJXMgLSBlcnJvciBsb2FkaW5nIGZpcm13YXJlOiBlcnJvciA9ICVkIiwgX19mdW5jX18sIGVycik7CiAJCQkJZ290byB3cmFwZXJyOwpAQCAtMjA1LDYgKzIzNCwxMCBAQAogCWVyciA9IDE7CiAKIHdyYXBlcnI6CisJcmVsZWFzZV9maXJtd2FyZShsb2FkZXJfZncpOworCXJlbGVhc2VfZmlybXdhcmUoYml0c3RyZWFtX2Z3KTsKKwlyZWxlYXNlX2Zpcm13YXJlKGZpcm13YXJlX2Z3KTsKKwogCWtmcmVlKGJ1Zik7CiAJcmV0dXJuIGVycjsKIH0KQEAgLTI1Nyw1ICsyOTAsOCBAQAogTU9EVUxFX0RFU0NSSVBUSU9OKCJFbWFnaWMgRU1JIDJ8NiBmaXJtd2FyZSBsb2FkZXIuIik7CiBNT0RVTEVfTElDRU5TRSgiR1BMIik7CiAKK01PRFVMRV9GSVJNV0FSRSgiZW1pMjYvbG9hZGVyLmZ3Iik7CitNT0RVTEVfRklSTVdBUkUoImVtaTI2L2JpdHN0cmVhbS5mdyIpOworTU9EVUxFX0ZJUk1XQVJFKCJlbWkyNi9maXJtd2FyZS5mdyIpOwogLyogdmk6YWk6c3ludGF4PWM6c3c9ODp0cz04OnR3PTgwCiAgKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL21pc2MvZW1pMjZfZncuaCBiL2RyaXZlcnMvdXNiL21pc2MvZW1pMjZfZncuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTQ3ZmYxMC4uMDAwMDAwMAotLS0gYS9kcml2ZXJzL3VzYi9taXNjL2VtaTI2X2Z3LmgKKysrIC9kZXYvbnVsbApAQCAtMSw1Nzc5ICswLDAgQEAKLS8qCi0gKiBUaGlzIGZpbGUgaXMgZ2VuZXJhdGVkIGZyb20gdGhyZWUgZGlmZmVyZW50IGZpbGVzLCBwcm92aWRlZCBieSBFbWFnaWMuCi0gKi8KLS8qIGdlbmVyYXRlZCBGcmkgTWFyIDggMTU6MTE6MzUgRUVUIDIwMDIgKi8KLQotLyoKLSAqIFRoaXMgZmlybXdhcmUgaXMgZm9yIHRoZSBFbWFnaWMgRU1JIDJ8NiBBdWRpbyBJbnRlcmZhY2UKLSAqCi0gKiBUaGUgZmlybXdhcmUgY29udGFpbmVkIGhlcmVpbiBpcyBDb3B5cmlnaHQgKGMpIDE5OTktMjAwMiBFbWFnaWMKLSAqIGFzIGFuIHVucHVibGlzaGVkIHdvcmsuIFRoaXMgbm90aWNlIGRvZXMgbm90IGltcGx5IHVucmVzdHJpY3RlZAotICogb3IgcHVibGljIGFjY2VzcyB0byB0aGlzIGZpcm13YXJlIHdoaWNoIGlzIGEgdHJhZGUgc2VjcmV0IG9mIEVtYWdpYywKLSAqIGFuZCB3aGljaCBtYXkgbm90IGJlIHJlcHJvZHVjZWQsIHVzZWQsIHNvbGQgb3IgdHJhbnNmZXJyZWQgdG8KLSAqIGFueSB0aGlyZCBwYXJ0eSB3aXRob3V0IEVtYWdpYydzIHdyaXR0ZW4gY29uc2VudC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSAqCi0gKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkIGZvciB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmlybXdhcmUgCi0gKiBpbWFnZSBhcyBwYXJ0IG9mIGEgTGludXggb3Igb3RoZXIgT3BlbiBTb3VyY2Ugb3BlcmF0aW5nIHN5c3RlbSBrZXJuZWwgCi0gKiBpbiB0ZXh0IG9yIGJpbmFyeSBmb3JtIGFzIHJlcXVpcmVkLiAKLSAqCi0gKiBUaGlzIGZpcm13YXJlIG1heSBub3QgYmUgbW9kaWZpZWQgYW5kIG1heSBvbmx5IGJlIHVzZWQgd2l0aCB0aGUKLSAqIEVtYWdpYyBFTUkgMnw2IEF1ZGlvIEludGVyZmFjZS4gRGlzdHJpYnV0aW9uIGFuZC9vciBNb2RpZmljYXRpb24gb2YKLSAqIGFueSBkcml2ZXIgd2hpY2ggaW5jbHVkZXMgdGhpcyBmaXJtd2FyZSwgaW4gd2hvbGUgb3IgaW4gcGFydCwKLSAqIHJlcXVpcmVzIHRoZSBpbmNsdXNpb24gb2YgdGhpcyBzdGF0ZW1lbnQuCi0gKi8KLXN0YXRpYyBJTlRFTF9IRVhfUkVDT1JEIGdfYml0c3RyZWFtW109ewoteyAgMTYsIDB4ODAxMCwgMCwgezB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhhYSwweDk5LDB4NTUsMHg2NiwweDMwLDB4MDAsMHg4MCwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDcgfSB9LAoteyAgMTYsIDB4ODAyMCwgMCwgezB4MzAsMHgwMSwweDYwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwYiwweDMwLDB4MDEsMHgyMCwweDAxLDB4MDAsMHg4MCwweDNmLDB4MmQgfSB9LAoteyAgMTYsIDB4ODAzMCwgMCwgezB4MzAsMHgwMCwweGMwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDMwLDB4MDAsMHg4MCwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDkgfSB9LAoteyAgMTYsIDB4ODA0MCwgMCwgezB4MzAsMHgwMCwweDIwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDMwLDB4MDAsMHg4MCwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDEgfSB9LAoteyAgMTYsIDB4ODA1MCwgMCwgezB4MzAsMHgwMCwweDQwLDB4MDAsMHg1MCwweDAwLDB4M2UsMHgwNCwweDA4LDB4MTIsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODA2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODA3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDQgfSB9LAoteyAgMTYsIDB4ODA4MCwgMCwgezB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTIsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODA5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODBhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4ODQgfSB9LAoteyAgMTYsIDB4ODBiMCwgMCwgezB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODBjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODBkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAgfSB9LAoteyAgMTYsIDB4ODBlMCwgMCwgezB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODBmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODEwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODExMCwgMCwgezB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODEyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODEzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDQgfSB9LAoteyAgMTYsIDB4ODE0MCwgMCwgezB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTMsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODE1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODE2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODE3MCwgMCwgezB4OTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODE4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODE5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODQgfSB9LAoteyAgMTYsIDB4ODFhMCwgMCwgezB4OTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGY3LDB4MTAsMHgwMSwweDE0LDB4MDAsMHgyNSwweDAwLDB4MDUgfSB9LAoteyAgMTYsIDB4ODFiMCwgMCwgezB4NDAsMHgwMSwweDUwLDB4MDAsMHg5NCwweDAwLDB4MTUsMHgwMCwweDA3LDB4NDAsMHgwMSwweGQwLDB4MDAsMHg5NCwweDAwLDB4MjUgfSB9LAoteyAgMTYsIDB4ODFjMCwgMCwgezB4ODAsMHgwMSwweDYwLDB4MDIsMHhkOCwweDAwLDB4ZjYsMHgwMCwweDJmLDB4ODAsMHgwMiwweGUwLDB4MDQsMHhkOCwweDM3LDB4NDQgfSB9LAoteyAgMTYsIDB4ODFkMCwgMCwgezB4OTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmMiwweDAwLDB4Y2MsMHg5MCwweDM5LDB4MjAgfSB9LAoteyAgMTYsIDB4ODFlMCwgMCwgezB4MGQsMHg5OCwweDAzLDB4ZDIsMHgwMCwweGU3LDB4ODAsMHgzNywweDA0LDB4MGUsMHhmMSwweDgzLDB4N2UsMHgwMCwweGRmLDB4OTAgfSB9LAoteyAgMTYsIDB4ODFmMCwgMCwgezB4MzEsMHhlNCwweDhmLDB4NzksMHgwMywweDdjLDB4MjAsMHhkZiwweDIyLDB4MzMsMHhjMCwweDBjLDB4ZjAsMHgyMiwweDMwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODIwMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MTAsMHg2MiwweDAwLDB4ODAsMHgyNCwweDIyLDB4MjAgfSB9LAoteyAgMTYsIDB4ODIxMCwgMCwgezB4MDgsMHg5OCwweDEyLDB4ZTIsMHgwMCwweDhiLDB4ODEsMHgyMCwweDk0LDB4MDgsMHg3NCwweDAyLDB4MmUsMHgwMCwweDhhLDB4MDEgfSB9LAoteyAgMTYsIDB4ODIyMCwgMCwgezB4MjIsMHhjOCwweDA4LDB4OTIsMHgwMiwweDNkLDB4ODAsMHg4YiwweDYwLDB4MjIsMHg4MCwweDA4LDB4YjAsMHgwMiwweDIwLDB4MDQgfSB9LAoteyAgMTYsIDB4ODIzMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjOCwweDAwLDB4YTAsMHgwMCwweDIwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODI0MCwgMCwgezB4MGIsMHgxMCwweDAyLDB4YzAsMHgwMCwweGExLDB4MDAsMHgyNCwweDA5LDB4NGEsMHgzMiwweDAyLDB4NDgsMHgwMCwweGIxLDB4MDAgfSB9LAoteyAgMTYsIDB4ODI1MCwgMCwgezB4NjIsMHhjMCwweDA5LDB4YTAsMHg0NiwweGNjLDB4MjQsMHg5MywweDQ5LDB4MmEsMHg4MCwweDQ4LDB4MzAsMHgyMiwweDYyLDB4MDEgfSB9LAoteyAgMTYsIDB4ODI2MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MTUsMHhhOCwweDEyLDB4YTgsMHgwMCwweDIyLDB4MDAgfSB9LAoteyAgMTYsIDB4ODI3MCwgMCwgezB4MDgsMHg5MCwweDAyLDB4ZTAsMHgwMCwweDg5LDB4ODAsMHgyMiwweDQ0LDB4MDgsMHhiMCwweDEyLDB4YTgsMHgwMCwweGE5LDB4NDAgfSB9LAoteyAgMTYsIDB4ODI4MCwgMCwgezB4MjIsMHhjMCwweDA4LDB4OTAsMHg4MiwweGFjLDB4MDAsMHg5YiwweDA0LDB4MmEsMHhjNCwweDA4LDB4YjAsMHgwMiwweDcwLDB4MDQgfSB9LAoteyAgMTYsIDB4ODI5MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTQsMHg4NCwweDAwLDB4ZTksMHg4MCwweGIyLDB4NjQgfSB9LAoteyAgMTYsIDB4ODJhMCwgMCwgezB4NGQsMHhhMCwweDAzLDB4ZWEsMHgyMCwweGU5LDB4YzAsMHgzNiwweDQwLDB4MGUsMHhiMCwweDAzLDB4NDQsMHgwMCwweGZiLDB4OTAgfSB9LAoteyAgMTYsIDB4ODJiMCwgMCwgezB4YjIsMHg4OCwweDBkLDB4YmMsMHgwMywweGVjLDB4MDgsMHg1YiwweDAwLDB4MzgsMHg2MCwweDJjLDB4YjAsMHg2MywweDQwLDB4MDQgfSB9LAoteyAgMTYsIDB4ODJjMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDEsMHhiNCwweDI2LDB4ZGQsMHg5MCwweDM3LDB4NDAgfSB9LAoteyAgMTYsIDB4ODJkMCwgMCwgezB4NGYsMHhlMCwweDEzLDB4ZjIsMHg4MCwweGZkLDB4MDAsMHgzZCwweGEwLDB4MGQsMHg3MCwweDAzLDB4NzUsMHgwMCwweDVlLDB4MDAgfSB9LAoteyAgMTYsIDB4ODJlMCwgMCwgezB4M2YsMHhhNCwweDBkLDB4ZjksMHgwMywweDVjLDB4MTAsMHhlYiwweDAwLDB4MzcsMHgyMCwweDBmLDB4MzAsMHgwMywweGI4LDB4MDAgfSB9LAoteyAgMTYsIDB4ODJmMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhYywweDAwLDB4ZTksMHg4MCwweDMyLDB4NDAgfSB9LAoteyAgMTYsIDB4ODMwMCwgMCwgezB4MGMsMHhhMSwweDgzLDB4ZTgsMHgwMCwweGU5LDB4MDAsMHgzMiwweDQyLDB4MGUsMHhiMCwweDAzLDB4YWMsMHg0OCwweGU5LDB4MDAgfSB9LAoteyAgMTYsIDB4ODMxMCwgMCwgezB4M2EsMHg4MCwweDBlLDB4YTQsMHgwMywweGVjLDB4MDAsMHhlYiwweDAwLDB4YjIsMHgwMywweDBlLDB4YjAsMHgwYiwweDEwLDB4MDQgfSB9LAoteyAgMTYsIDB4ODMyMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM4LDB4MDUsMHgyZSwweDgwLDB4ODksMHhkMSwweDIwLDB4NDAgfSB9LAoteyAgMTYsIDB4ODMzMCwgMCwgezB4MDgsMHhhMCwweDAyLDB4YzAsMHgwMCwweDgxLDB4ODAsMHgyMiwweDU4LDB4MDgsMHhmNSwweDAyLDB4MmYsMHg0MCwweDhiLDB4MDAgfSB9LAoteyAgMTYsIDB4ODM0MCwgMCwgezB4MjAsMHhjMCwweDA4LDB4MzAsMHg0MywweDdjLDB4MDAsMHg4NywweDAwLDB4MjIsMHg0MCwweDA4LDB4ZjAsMHgwMiwweDMyLDB4MDAgfSB9LAoteyAgMTYsIDB4ODM1MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0MiwweDAxLDB4OWEsMHg0NCwweDI4LDB4YTIgfSB9LAoteyAgMTYsIDB4ODM2MCwgMCwgezB4MDgsMHgxOCwweDAyLDB4YzAsMHg4MCwweGExLDB4ODAsMHhhMCwweDAwLDB4MDgsMHgzMCwweDAyLDB4OGUsMHgwMCwweGFiLDB4MDAgfSB9LAoteyAgMTYsIDB4ODM3MCwgMCwgezB4MmMsMHg0MCwweDBhLDB4MzAsMHgwMiwweDBjLDB4MDAsMHhhMywweDAwLDB4MjAsMHg0NCwweDBhLDB4MzAsMHgwMiwweDM4LDB4MDAgfSB9LAoteyAgMTYsIDB4ODM4MCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDYwLDB4MDEsMHgzMiwweDAwLDB4OTYsMHg4MiwweDJiLDB4YTIgfSB9LAoteyAgMTYsIDB4ODM5MCwgMCwgezB4ODgsMHg1YSwweDAyLDB4ZjIsMHgwMCwweDA1LDB4ODAsMHgyOSwweGEwLDB4MDgsMHg3OCwweDQyLDB4YmUsMHgwMCwweDhlLDB4ODQgfSB9LAoteyAgMTYsIDB4ODNhMCwgMCwgezB4MmYsMHg2MSwweDBhLDB4ZDgsMHgwMiwweDRlLDB4MTAsMHhhNywweDgwLDB4MjAsMHgyOCwweDA4LDB4NzgsMHgwMiwweDE4LDB4MDAgfSB9LAoteyAgMTYsIDB4ODNiMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwOCwweDAwLDB4ZjIsMHgyNCwweDM4LDB4ODAgfSB9LAoteyAgMTYsIDB4ODNjMCwgMCwgezB4MmMsMHgxYSwweDAzLDB4YzQsMHgwMCwweGUwLDB4NTgsMHhhMCwweDgwLDB4MmUsMHgzMCwweDAzLDB4ODgsMHg0MSwweGUzLDB4MDIgfSB9LAoteyAgMTYsIDB4ODNkMCwgMCwgezB4M2MsMHg0MCwweDA2LDB4MjAsMHgwMywweDhjLDB4MDAsMHhlMywweDAwLDB4MTAsMHgwMCwweDBlLDB4MzEsMHg0MywweDEyLDB4MDIgfSB9LAoteyAgMTYsIDB4ODNlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MWQsMHg5OCwweDAwLDB4ZWUsMHgwMSwweDM3LDB4ODQgfSB9LAoteyAgMTYsIDB4ODNmMCwgMCwgezB4OWYsMHhkOSwweDAzLDB4ZjAsMHg0OCwweGZkLDB4MTAsMHgzNywweGMwLDB4MDcsMHhiMCwweDAzLDB4NWMsMHgwMCwweGY2LDB4MTAgfSB9LAoteyAgMTYsIDB4ODQwMCwgMCwgezB4MzMsMHhjMCwweDBkLDB4ZTEsMHgwMywweGVkLDB4MjAsMHhkZiwweDEwLDB4M2YsMHg0OCwweDBmLDB4ZjAsMHgyMywweGQwLDB4MDYgfSB9LAoteyAgMTYsIDB4ODQxMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlNCwweDAyLDB4Y2IsMHg4MCwweDMwLDB4YzAgfSB9LAoteyAgMTYsIDB4ODQyMCwgMCwgezB4MGMsMHhhMCwweDAzLDB4ZTIsMHgwMiwweGM5LDB4MDAsMHgzYSwweDQwLDB4MGQsMHhiNiwweDAzLDB4NjQsMHgwMCwweGViLDB4MDAgfSB9LAoteyAgMTYsIDB4ODQzMCwgMCwgezB4M2UsMHhjMCwweDBmLDB4YjAsMHgwMywweGVkLDB4MDAsMHhmYiwweDAxLDB4M2UsMHhlMCwweDBjLDB4YjAsMHgwMiwweGVhLDB4MDAgfSB9LAoteyAgMTYsIDB4ODQ0MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MTEsMHg5NCwweDAwLDB4ODcsMHgwMCwweDIxLDB4YzAgfSB9LAoteyAgMTYsIDB4ODQ1MCwgMCwgezB4MjgsMHg2MCwweDAyLDB4ZDAsMHgwMCwweDg1LDB4MDAsMHgyZCwweDgwLDB4NDgsMHhmMCwweDgyLDB4MWMsMHgwMCwweGI3LDB4MDAgfSB9LAoteyAgMTYsIDB4ODQ2MCwgMCwgezB4MmQsMHgwMCwweDBiLDB4NTAsMHgwMiwweGRjLDB4MDAsMHhiNywweGEwLDB4MmYsMHg4MCwweDI4LDB4N2EsMHgwMiwweGQyLDB4MDQgfSB9LAoteyAgMTYsIDB4ODQ3MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMxLDB4MDAsMHhiZSwweDAwLDB4ODcsMHg4MCwweDIxLDB4ZTAgfSB9LAoteyAgMTYsIDB4ODQ4MCwgMCwgezB4MjgsMHg2OCwweDAyLDB4ZDcsMHgwMCwweDg0LDB4ODAsMHgyZCwweGUwLDB4NDksMHg3OSwweDA2LDB4NTMsMHgwOSwweGI1LDB4ODAgfSB9LAoteyAgMTYsIDB4ODQ5MCwgMCwgezB4MmQsMHhlMiwweDBiLDB4NzgsMHgwMiwweGRlLDB4ODAsMHhiNywweDkwLDB4MmQsMHhiMCwweDA4LDB4NzksMHgwMiwweGYwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODRhMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MTQsMHhjYywweDEwLDB4ODMsMHgwMSwweDI4LDB4YzggfSB9LAoteyAgMTYsIDB4ODRiMCwgMCwgezB4MDgsMHgyMCwweDAyLDB4YzIsMHgwNiwweDgxLDB4MDAsMHgyYywweGM4LDB4ODgsMHgzMCwweDYyLDB4MGUsMHgyMSwweGIzLDB4YTAgfSB9LAoteyAgMTYsIDB4ODRjMCwgMCwgezB4MmMsMHhjMSwweDBiLDB4YjYsMHgwMiwweGNjLDB4MDAsMHhiMywweDAwLDB4MmMsMHhlMCwweDA4LDB4MzAsMHgwMiwweGQyLDB4MDQgfSB9LAoteyAgMTYsIDB4ODRkMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOCwweDAwLDB4Y2EsMHg0MCwweGIwLDB4ODAgfSB9LAoteyAgMTYsIDB4ODRlMCwgMCwgezB4MGMsMHgyYywweDAyLDB4ZjgsMHgwMCwweGM2LDB4MjAsMHgzZiwweDkwLDB4MGQsMHhhMCwweDAzLDB4N2IsMHgwMSwweGVlLDB4ZTAgfSB9LAoteyAgMTYsIDB4ODRmMCwgMCwgezB4M2YsMHhiNCwweDBmLDB4ZWMsMHgwMywweGU4LDB4MDAsMHhmYSwweDAwLDB4M2YsMHhhMCwweDBjLDB4YTAsMHgwMywweGZhLDB4MDQgfSB9LAoteyAgMTYsIDB4ODUwMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDAsMHhlMywweDAwLDB4ZjgsMHgwOSwweDI2LDB4MDAgfSB9LAoteyAgMTYsIDB4ODUxMCwgMCwgezB4MGYsMHhjMSwweDgzLDB4ZTAsMHgxMCwweGY4LDB4NDAsMHgzYywweDAwLDB4MGYsMHg4MCwweDAzLDB4ZTAsMHgwMSwweGY4LDB4MDAgfSB9LAoteyAgMTYsIDB4ODUyMCwgMCwgezB4M2UsMHgwMCwweDBmLDB4ODEsMHgwMywweGUwLDB4MDQsMHhmOCwweDAwLDB4M2UsMHgxMCwweDBmLDB4ODAsMHgwMywweGQyLDB4MDAgfSB9LAoteyAgMTYsIDB4ODUzMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDAyLDB4YzksMHgwMCwweDNlLDB4NDAgfSB9LAoteyAgMTYsIDB4ODU0MCwgMCwgezB4NGYsMHg5MCwweDYzLDB4MjYsMHg4NCwweDM5LDB4MDIsMHhiMiwweDQwLDB4MGMsMHg5MSwweDAzLDB4MjQsMHgwMCwweGY5LDB4MDAgfSB9LAoteyAgMTYsIDB4ODU1MCwgMCwgezB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweDI0LDB4MDAsMHhmMSwweDAwLDB4M2EsMHg0NCwweDBmLDB4OTAsMHgwMywweGMyLDB4MDQgfSB9LAoteyAgMTYsIDB4ODU2MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDQsMHg0NSwweDAwLDB4ODksMHg0MCwweDJlLDB4NDAgfSB9LAoteyAgMTYsIDB4ODU3MCwgMCwgezB4MDgsMHg5MiwweDBhLDB4MjQsMHgwMCwweGI5LDB4MzEsMHgyMiwweDYwLDB4ODgsMHg5NCwweDhhLDB4MjQsMHgyMCwweGI5LDB4MDAgfSB9LAoteyAgMTYsIDB4ODU4MCwgMCwgezB4MmUsMHg0MCwweDBiLDB4OTAsMHgwMiwweDI0LDB4MDAsMHhiOSwweDAwLDB4MjIsMHg2OCwweDBiLDB4OTAsMHgwMiwweGUwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODU5MCwgMCwgezB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweGEwLDB4OGQsMHg4NCwweDJmLDB4NDAgfSB9LAoteyAgMTYsIDB4ODVhMCwgMCwgezB4MGIsMHhkMSwweDAyLDB4MjQsMHgwMCwweGI5LDB4MDAsMHgyMiwweDRhLDB4MDgsMHgxMCwweDAyLDB4MmMsMHg0MCwweGI5LDB4MDAgfSB9LAoteyAgMTYsIDB4ODViMCwgMCwgezB4MmUsMHg0MCwweDBiLDB4OTAsMHgwMiwweDI0LDB4MDAsMHhiOSwweDAwLDB4MmEsMHg0MCwweDBiLDB4OTAsMHgwMiwweGM2LDB4MDAgfSB9LAoteyAgMTYsIDB4ODVjMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDQsMHgxNCwweDAwLDB4ODUsMHg4MCwweDJkLDB4NDAgfSB9LAoteyAgMTYsIDB4ODVkMCwgMCwgezB4MDgsMHg1MCwweDAyLDB4MDQsMHgwYywweGI5LDB4MDAsMHhhMCwweDUwLDB4MDgsMHgxNCwweDIyLDB4MDQsMHgwMCwweGIxLDB4MDAgfSB9LAoteyAgMTYsIDB4ODVlMCwgMCwgezB4MmMsMHg0MCwweDBiLDB4MTAsMHgwMiwweDA0LDB4MDAsMHhiMSwweDI4LDB4MjAsMHg0YSwweDBiLDB4MTMsMHgwMiwweGMyLDB4MDEgfSB9LAoteyAgMTYsIDB4ODVmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDAwLDB4YzAsMHg1MCwweDNlLDB4ODAgfSB9LAoteyAgMTYsIDB4ODYwMCwgMCwgezB4MGYsMHhjMCwweDQzLDB4MjAsMHgwMCwweGY4LDB4MDAsMHgzMCwweDAwLDB4MmMsMHg4MCwweDIzLDB4MjAsMHgwMCwweGY4LDB4NTEgfSB9LAoteyAgMTYsIDB4ODYxMCwgMCwgezB4M2UsMHgxNCwweDhmLDB4ODUsMHgwYiwweDIxLDB4NDAsMHhmOCwweDcwLDB4M2EsMHgwOCwweDBmLDB4ODQsMHg4MywweGVlLDB4MDMgfSB9LAoteyAgMTYsIDB4ODYyMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDk4LDB4MWQsMHhjNCwweDAwLDB4ZjksMHgwNCwweDNlLDB4NDAgfSB9LAoteyAgMTYsIDB4ODYzMCwgMCwgezB4MGYsMHg5MCwweDIzLDB4ZDQsMHgwMCwweGZkLDB4MDAsMHgzZiwweDUwLDB4MGYsMHg5NCwweDAzLDB4ZjQsMHgwNCwweGZkLDB4MDAgfSB9LAoteyAgMTYsIDB4ODY0MCwgMCwgezB4M2YsMHg0MSwweDhmLDB4ZDAsMHg0MywweGU1LDB4MGMsMHhmOSwweDAyLDB4M2YsMHg0YSwweDBmLDB4OTIsMHgwMywweGU2LDB4MDIgfSB9LAoteyAgMTYsIDB4ODY1MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhkNCwweDAxLDB4ZmQsMHgwMCwweDNkLDB4NDAgfSB9LAoteyAgMTYsIDB4ODY2MCwgMCwgezB4MGMsMHhkMCwweDEzLDB4ZjQsMHgwMCwweGQ1LDB4MDAsMHgzMywweDZhLDB4MWMsMHhkYywweDgzLDB4MzQsMHgwMCwweGQxLDB4MDQgfSB9LAoteyAgMTYsIDB4ODY3MCwgMCwgezB4M2UsMHg1MCwweDBjLDB4OTEsMHgwMywweGU2LDB4YzAsMHhkZCwweGIwLDB4MzMsMHg2YSwweDJjLDB4OWMsMHg4MywweGU2LDB4MDAgfSB9LAoteyAgMTYsIDB4ODY4MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDM4LDB4MTAsMHhlMCwweDA5LDB4ZjgsMHg4MCwweDJlLDB4MDAgfSB9LAoteyAgMTYsIDB4ODY5MCwgMCwgezB4ODgsMHg4MCwweDAwLDB4ZTgsMHgwMCwweGJhLDB4MDAsMHgyMiwweGIwLDB4MDgsMHg4ZSwweDAyLDB4MjgsMHgwMCwweDg4LDB4YTggfSB9LAoteyAgMTYsIDB4ODZhMCwgMCwgezB4MjYsMHgyOCwweDA4LDB4OGEsMHgyMiwweGUyLDB4MDAsMHg4OCwweGU0LDB4MjIsMHgzMCwweDA4LDB4OGMsMHgwMiwweGNlLDB4MDQgfSB9LAoteyAgMTYsIDB4ODZiMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweDAwLDB4YjEsMHgyOCwweDJlLDB4NDAgfSB9LAoteyAgMTYsIDB4ODZjMCwgMCwgezB4MDgsMHgxMCwweDAyLDB4YzQsMHgwMCwweDk5LDB4MDAsMHgyMCwweDQyLDB4NDgsMHgxMCwweDAyLDB4NjQsMHgwMSwweDkxLDB4ODAgfSB9LAoteyAgMTYsIDB4ODZkMCwgMCwgezB4MmMsMHg0OCwweDA4LDB4MTAsMHgwMiwweGM0LDB4YzAsMHg4MSwweDQwLDB4MjAsMHg0YSwweDA4LDB4MTIsMHgwMiwweGMyLDB4MDEgfSB9LAoteyAgMTYsIDB4ODZlMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MTUsMHhhNCwweDk0LDB4YTksMHgwMiwweDJlLDB4NDAgfSB9LAoteyAgMTYsIDB4ODZmMCwgMCwgezB4MGEsMHg5MCwweDAyLDB4NjQsMHgwMCwweGI5LDB4MDAsMHg4MiwweDYwLDB4MDgsMHg5MCwweDAyLDB4NjYsMHgwMCwweDg5LDB4MTAgfSB9LAoteyAgMTYsIDB4ODcwMCwgMCwgezB4MjQsMHg2MiwweDA4LDB4OTAsMHgwMiwweGU0LDB4MDAsMHg4OSwweDAyLDB4MjIsMHg0MCwweDE4LDB4OTAsMHgwMiwweGM2LDB4MDQgfSB9LAoteyAgMTYsIDB4ODcxMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNiwweDAwLDB4YjksMHgwNCwweDNlLDB4NDAgfSB9LAoteyAgMTYsIDB4ODcyMCwgMCwgezB4MGMsMHg5MCwweDEzLDB4ZTQsMHgwMCwweGQxLDB4YzAsMHgxMiwweDUwLDB4MjgsMHg5MCwweDAzLDB4NDQsMHgwMCwweGQ5LDB4MDAgfSB9LAoteyAgMTYsIDB4ODczMCwgMCwgezB4M2UsMHg0MCwweDI4LDB4OTIsMHgwMywweGU0LDB4MDIsMHhkOSwweDAwLDB4MzIsMHg0MiwweDhjLDB4OTAsMHgxMiwweGU4LDB4MDQgfSB9LAoteyAgMTYsIDB4ODc0MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDEsMHhhNiwweDIwLDB4ZjksMHgwMCwweDNlLDB4NDEgfSB9LAoteyAgMTYsIDB4ODc1MCwgMCwgezB4MmQsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MjAsMHgzZSwweDQwLDB4NGYsMHg5MCwweDAxLDB4YTQsMHgwMCwweGY5LDB4MDAgfSB9LAoteyAgMTYsIDB4ODc2MCwgMCwgezB4MzYsMHg0MCwweDhmLDB4OTIsMHgwNywweGU0LDB4MDAsMHhmMSwweDAwLDB4YmUsMHg0MCwweDBmLDB4OTAsMHgwMywweGNhLDB4MDAgfSB9LAoteyAgMTYsIDB4ODc3MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMCwweDAwLDB4YzgsMHgwMCwweDNlLDB4MjAgfSB9LAoteyAgMTYsIDB4ODc4MCwgMCwgezB4MGMsMHg4MCwweDAzLDB4ZTAsMHg0MCwweGY4LDB4MDAsMHgzNiwweDEyLDB4MmMsMHgwMCwweDAzLDB4ZTAsMHhjMCwweGY4LDB4MDAgfSB9LAoteyAgMTYsIDB4ODc5MCwgMCwgezB4MzIsMHgxMCwweDBkLDB4ODQsMHgwMywweGEwLDB4MDAsMHhmOCwweDAyLDB4M2UsMHgwOCwweDBmLDB4ODAsMHgwMCwweGNhLDB4MDQgfSB9LAoteyAgMTYsIDB4ODdhMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHgzYSwweDkwLDB4OGUsMHgwMCwweDJkLDB4YTAgfSB9LAoteyAgMTYsIDB4ODdiMCwgMCwgezB4ODAsMHhlOCwweDAyLDB4ZmEsMHgwMCwweGJlLDB4NDAsMHgyMywweDgwLDB4MDgsMHhlOCwweDAyLDB4ZmEsMHgwMCwweDhhLDB4MDAgfSB9LAoteyAgMTYsIDB4ODdjMCwgMCwgezB4MzYsMHg4MCwweDA4LDB4YTAsMHgwMiwweGU4LDB4MDAsMHhiYSwweDAwLDB4MmYsMHg4MCwweDBiLDB4YTAsMHgwMywweDhhLDB4MDAgfSB9LAoteyAgMTYsIDB4ODdkMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0NiwweDAyLDB4ODMsMHgwMCwweDJjLDB4ODAgfSB9LAoteyAgMTYsIDB4ODdlMCwgMCwgezB4MDgsMHgyMiwweDQyLDB4YzYsMHg4MCwweGIxLDB4NjAsMHgyZSwweGY0LDB4MDgsMHgzOCwweDIyLDB4Y2UsMHgwMCwweGEzLDB4MDAgfSB9LAoteyAgMTYsIDB4ODdmMCwgMCwgezB4MjAsMHhjMCwweDA4LDB4MzAsMHgwMiwweGFjLDB4MDAsMHhiMSwweDAwLDB4MmUsMHg0MCwweDBiLDB4MzAsMHgwMiwweGNhLDB4MDAgfSB9LAoteyAgMTYsIDB4ODgwMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MDEsMHgxZSwweDAyLDB4ODUsMHgwMSwweDJkLDB4YzIgfSB9LAoteyAgMTYsIDB4ODgxMCwgMCwgezB4YTgsMHg0NCwweDAyLDB4ZDQsMHgwMCwweGJkLDB4MDEsMHgyOSwweDQwLDB4MTgsMHg2OCwweGQyLDB4ZGMsMHgwMCwweDhmLDB4ODAgfSB9LAoteyAgMTYsIDB4ODgyMCwgMCwgezB4MjUsMHhjYywweDI4LDB4NzMsMHg0MiwweGRjLDB4ODAsMHhiNSwweDMwLDB4MmQsMHhjMCwweDFiLDB4NzIsMHgwMiwweGU4LDB4MDAgfSB9LAoteyAgMTYsIDB4ODgzMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZSwweDA0LDB4YzYsMHg4MiwweDNkLDB4ZTAgfSB9LAoteyAgMTYsIDB4ODg0MCwgMCwgezB4MGMsMHg0OCwweDEyLDB4ZDYsMHgxMCwweGY1LDB4ODAsMHgzYywweGEwLDB4MGMsMHg3MCwweDAzLDB4ZGUsMHgwMCwweGU3LDB4OTAgfSB9LAoteyAgMTYsIDB4ODg1MCwgMCwgezB4MjMsMHhlYSwweDA0LDB4N2EsMHgwMywweDllLDB4MDAsMHhmNSwweDgwLDB4M2QsMHhlMCwweDBmLDB4N2EsMHgwMywweGVhLDB4MDIgfSB9LAoteyAgMTYsIDB4ODg2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MGQsMHhhYywweDAwLDB4OWMsMHgwMCwweDNlLDB4YzAgfSB9LAoteyAgMTYsIDB4ODg3MCwgMCwgezB4MGYsMHg4MCwweDAzLDB4ZTQsMHgxMCwweGY5LDB4MDAsMHgzNiwweDAxLDB4MGYsMHhhMCwweDAzLDB4YzAsMHgwMCwweGViLDB4MDAgfSB9LAoteyAgMTYsIDB4ODg4MCwgMCwgezB4M2UsMHhkOCwweDRlLDB4YjAsMHg4MywweGVjLDB4MDAsMHhmOSwweDAwLDB4M2UsMHhjMCwweDBmLDB4YjQsMHg0MywweDgyLDB4MDYgfSB9LAoteyAgMTYsIDB4ODg5MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhkZSwweDAwLDB4Y2YsMHg4NCwweDMxLDB4ZTAgfSB9LAoteyAgMTYsIDB4ODhhMCwgMCwgezB4MGUsMHhjOCwweDQzLDB4ZDYsMHgwMCwweGNkLDB4ODAsMHgzMywweGUwLDB4Y2QsMHhkOSwweDAzLDB4M2EsMHgwMCwweGZmLDB4ODggfSB9LAoteyAgMTYsIDB4ODhiMCwgMCwgezB4MzMsMHhlMCwweDBmLDB4ZjksMHgxMywweGZlLDB4MjQsMHhmZCwweDgwLDB4M2YsMHgyMCwweDBjLDB4ZjYsMHg4MywweDEwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODhjMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTEsMHg5YywweDAwLDB4ODUsMHgwMCwweDIxLDB4YzQgfSB9LAoteyAgMTYsIDB4ODhkMCwgMCwgezB4MjgsMHg0MCwweDgyLDB4ZDAsMHgwMCwweGQ1LDB4MDAsMHgyMywweDgwLDB4NDgsMHhjOSwweDAyLDB4MWMsMHgwMCwweGI3LDB4MDAgfSB9LAoteyAgMTYsIDB4ODhlMCwgMCwgezB4MjEsMHhjMCwweDBiLDB4NzEsMHgwMiwweGRlLDB4ODAsMHhiNSwweDEwLDB4MmQsMHhjMCwweDI4LDB4ZjAsMHgwMiwweDJhLDB4MDQgfSB9LAoteyAgMTYsIDB4ODhmMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4MDAsMHg5YywweDAwLDB4OTYsMHgwMCwweDIxLDB4YzAgfSB9LAoteyAgMTYsIDB4ODkwMCwgMCwgezB4MGEsMHg0MSwweDAyLDB4ZjUsMHg0MCwweDhkLDB4MDAsMHgyMSwweDQwLDB4MDksMHg1MiwweDAyLDB4OTgsMHgyMCwweGI3LDB4MDAgfSB9LAoteyAgMTYsIDB4ODkxMCwgMCwgezB4MjEsMHhjMCwweDBiLDB4NzAsMHgwNiwweGRjLDB4ODAsMHhiNSwweDAwLDB4MmQsMHhjMCwweDA4LDB4NzAsMHgwMiwweDA0LDB4MDAgfSB9LAoteyAgMTYsIDB4ODkyMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDYwLDB4MTQsMHhjYywweDEwLDB4OTgsMHgwMCwweDAwLDB4YzAgfSB9LAoteyAgMTYsIDB4ODkzMCwgMCwgezB4ODgsMHgwNCwweDgyLDB4YzAsMHgwMCwweDkxLDB4MDQsMHgyMCwweDAzLDB4MDksMHgwMCwweDAyLDB4OGEsMHgwMCwweGIzLDB4MGEgfSB9LAoteyAgMTYsIDB4ODk0MCwgMCwgezB4MjAsMHhjNCwweDhiLDB4MzQsMHgwMiwweGNjLDB4MDAsMHhiOSwweDAwLDB4MmMsMHhjMCwweDAwLDB4MzAsMHgwMiwweDE4LDB4MDQgfSB9LAoteyAgMTYsIDB4ODk1MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGY4LDB4MTUsMHhhYywweDAwLDB4ZGIsMHgwMCwweGIwLDB4YzAgfSB9LAoteyAgMTYsIDB4ODk2MCwgMCwgezB4MGUsMHg5YywweDAyLDB4YzUsMHgwMCwweGMxLDB4MTAsMHhiMiwweGMwLDB4MGQsMHhiMCwweDBiLDB4YTcsMHgwOCwweGZmLDB4MDAgfSB9LAoteyAgMTYsIDB4ODk3MCwgMCwgezB4YjMsMHhjMCwweDBmLDB4ZmEsMHgwMywweGZjLDB4MDAsMHhmZCwweDAwLDB4M2UsMHhkNCwweDBjLDB4ZjAsMHgwYiwweDJlLDB4MDQgfSB9LAoteyAgMTYsIDB4ODk4MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDAsMHhlYywweDA0LDB4ZWQsMHgwMCwweDNlLDB4NDAgfSB9LAoteyAgMTYsIDB4ODk5MCwgMCwgezB4MGYsMHg4NCwweDAzLDB4ZTUsMHg0MCwweGY5LDB4NDAsMHgzZSwweDYwLDB4Y2UsMHhiNCwweDQzLDB4NjQsMHgwMCwweGZiLDB4ODAgfSB9LAoteyAgMTYsIDB4ODlhMCwgMCwgezB4M2UsMHhjMiwweDBmLDB4YjAsMHgxMywweGVjLDB4MDAsMHhmOSwweDAyLDB4M2UsMHhjMCwweDRmLDB4YjAsMHgwMywweGUxLDB4MDAgfSB9LAoteyAgMTYsIDB4ODliMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDkwLDB4MTAsMHhmZiwweDAwLDB4Y2UsMHgwMCwweDMzLDB4YzAgfSB9LAoteyAgMTYsIDB4ODljMCwgMCwgezB4MGUsMHhjMCwweDA3LDB4NzQsMHgwNCwweGVjLDB4MDAsMHgxMSwweDgwLDB4MGMsMHhjYSwweDAzLDB4ZmUsMHg2MCwweGZmLDB4MDAgfSB9LAoteyAgMTYsIDB4ODlkMCwgMCwgezB4M2YsMHhjMCwweDBmLDB4ZjAsMHg4MywweDNjLDB4MDAsMHhkZCwweDAwLDB4YjMsMHg1MCwweDJjLDB4ZjAsMHgwMywweDIwLDB4MDQgfSB9LAoteyAgMTYsIDB4ODllMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgxLDB4MDAsMHg0YywweDA0LDB4OGIsMHgwYiwweDIyLDB4NzAgfSB9LAoteyAgMTYsIDB4ODlmMCwgMCwgezB4MDgsMHgwOCwweDAzLDB4NjcsMHgyMCwweDhhLDB4ODgsMHhhMiwweDAwLDB4MjgsMHg4NCwweDAyLDB4ZTcsMHgwMCwweGJiLDB4MDAgfSB9LAoteyAgMTYsIDB4OGEwMCwgMCwgezB4M2UsMHhjMCwweDBiLDB4YjAsMHgwMiwweDJjLDB4MDAsMHhiOSwweDAwLDB4MjIsMHg2MSwweDA4LDB4YjAsMHgwMywweDYwLDB4NDAgfSB9LAoteyAgMTYsIDB4OGExMCwgMCwgezB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAwLDB4OGIsMHgyMCwweDIyLDB4ZTIgfSB9LAoteyAgMTYsIDB4OGEyMCwgMCwgezB4MGEsMHg4YywweDAyLDB4MjYsMHgwMCwweGE5LDB4ODAsMHgyYSwweGMwLDB4MDgsMHhiNCwweDQyLDB4ZWQsMHgwMCwweGJiLDB4MDAgfSB9LAoteyAgMTYsIDB4OGEzMCwgMCwgezB4MmUsMHhjMCwweDBiLDB4MzAsMHgwMiwweDJjLDB4MDAsMHhiOSwweDAwLDB4MjAsMHg4MCwweDA4LDB4MzAsMHgwMiwweDYwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGE0MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDQsMHgwZSwweDAxLDB4ODEsMHgwMCwweGEwLDB4YzAgfSB9LAoteyAgMTYsIDB4OGE1MCwgMCwgezB4MDgsMHg4MSwweDAyLDB4NDQsMHgwMCwweDgxLDB4MDAsMHgyOCwweDgxLDB4MDgsMHgzMiwweDAyLDB4Y2MsMHgwMCwweGIzLDB4MDAgfSB9LAoteyAgMTYsIDB4OGE2MCwgMCwgezB4MjgsMHhjMCwweDBiLDB4MzAsMHgwMiwweDBjLDB4ODAsMHhiMSwweDAwLDB4MjAsMHhjMCwweDA4LDB4MzAsMHgxMiwweDQyLDB4MDEgfSB9LAoteyAgMTYsIDB4OGE3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MGQsMHg2YywweDAwLDB4YzIsMHgwMSwweDMyLDB4YzAgfSB9LAoteyAgMTYsIDB4OGE4MCwgMCwgezB4MmUsMHg4MCwweDE2LDB4MmMsMHgwOCwweGU5LDB4MDAsMHgzYSwweDQwLDB4MGMsMHg4MCwweDAzLDB4ZWMsMHgwMCwweGY3LDB4MDAgfSB9LAoteyAgMTYsIDB4OGE5MCwgMCwgezB4MmYsMHhjMCwweDBmLDB4ZjAsMHgwYiwweDJjLDB4MDAsMHhkOSwweDAwLDB4MzAsMHg0MCwweDBjLDB4ZjAsMHgwMywweDYwLDB4MDMgfSB9LAoteyAgMTYsIDB4OGFhMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MGQsMHhmOCwweDA4LDB4ZmYsMHgwMCwweDNmLDB4YzAgfSB9LAoteyAgMTYsIDB4OGFiMCwgMCwgezB4MGYsMHhjMiwweDE3LDB4ZmMsMHgwMCwweGY3LDB4MDAsMHgzNywweDAwLDB4MGYsMHg4NCwweDAzLDB4ZmMsMHgwMCwweGZmLDB4MDAgfSB9LAoteyAgMTYsIDB4OGFjMCwgMCwgezB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGVkLDB4MDAsMHhmZCwweDAwLDB4M2YsMHg0MCwweDBmLDB4ZjAsMHgwMywweGU4LDB4MDYgfSB9LAoteyAgMTYsIDB4OGFkMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmYywweDAwLDB4Y2YsMHgzMCwweDE3LDB4NDggfSB9LAoteyAgMTYsIDB4OGFlMCwgMCwgezB4MGMsMHg1OSwweDAzLDB4YjksMHgwMCwweGRmLDB4MjgsMHgzNSwweDI0LDB4MGQsMHg4MiwweGEzLDB4N2MsMHg4MCwweGZmLDB4MDAgfSB9LAoteyAgMTYsIDB4OGFmMCwgMCwgezB4M2YsMHhjOCwweDBmLDB4ZjIsMHgwMywweGU0LDB4YTAsMHhlZiwweDgwLDB4M2YsMHhlMSwweDhjLDB4ZDgsMHg0MywweDMwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGIwMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MTAsMHhlZCwweDQ4LDB4ODksMHgzNCwweGEzLDB4NzAgfSB9LAoteyAgMTYsIDB4OGIxMCwgMCwgezB4MjgsMHhiMCwweDIzLDB4NjAsMHgwMCwweDhiLDB4YzAsMHgyMiwweDQwLDB4MDgsMHhiNCwweDgyLDB4MmYsMHg0MCwweGJmLDB4ZDEgfSB9LAoteyAgMTYsIDB4OGIyMCwgMCwgezB4NmYsMHhmNCwweDhlLDB4YmQsMHgwMiwweGU3LDB4MDAsMHhiYiwweDgwLDB4M2EsMHhlMCwweDA4LDB4OTgsMHgwYSwweDI4LDB4MDQgfSB9LAoteyAgMTYsIDB4OGIzMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjNCwweGIwLDB4OTEsMHgwMCwweGE4LDB4NTAgfSB9LAoteyAgMTYsIDB4OGI0MCwgMCwgezB4MDgsMHhiMiwweDAyLDB4YzgsMHg4NCwweDkzLDB4MDAsMHgyNCwweDQ5LDB4MGIsMHgwMiwweDAyLDB4NGMsMHgwMCwweGIzLDB4MDQgfSB9LAoteyAgMTYsIDB4OGI1MCwgMCwgezB4MmMsMHhjMCwweDBiLDB4MzAsMHg0MiwweDg0LDB4MDAsMHhiMywweDAwLDB4MmUsMHgwMCwweDBhLDB4YjAsMHgxMiwweDIyLDB4MDEgfSB9LAoteyAgMTYsIDB4OGI2MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MTEsMHhhYywweDAyLDB4OTksMHgxOCwweDJhLDB4NDQgfSB9LAoteyAgMTYsIDB4OGI3MCwgMCwgezB4MDgsMHhiOCwweDgyLDB4YTIsMHgwMSwweGJiLDB4MDAsMHgyOCwweDYwLDB4MGEsMHhhMCwweDEyLDB4NmMsMHgwMCwweGJiLDB4MDAgfSB9LAoteyAgMTYsIDB4OGI4MCwgMCwgezB4NmUsMHhjMCwweDBhLDB4YjAsMHgwMiwweGU0LDB4MDAsMHhiYiwweDAwLDB4MmEsMHgwMCwweDJhLDB4YjAsMHgwMiwweDM4LDB4MDQgfSB9LAoteyAgMTYsIDB4OGI5MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTEsMHhlNCwweDA4LDB4ZGEsMHhjMCwweDNhLDB4NjAgfSB9LAoteyAgMTYsIDB4OGJhMCwgMCwgezB4MGMsMHgxOCwweDBhLDB4ZWIsMHgwNCwweGRiLDB4MDAsMHgzNiwweGUwLDB4MDcsMHg4NSwweDgzLDB4NmMsMHgwMCwweGZiLDB4MDAgfSB9LAoteyAgMTYsIDB4OGJiMCwgMCwgezB4MmUsMHhjMCwweDBmLDB4YjAsMHg0MywweGU0LDB4MDAsMHhlYiwweDAwLDB4M2UsMHg4OCwweDBlLDB4MTgsMHgwMywweDEwLDB4MDQgfSB9LAoteyAgMTYsIDB4OGJjMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4NDEsMHg5YywweDEwLDB4ZTksMHgwMCwweDM3LDB4NjAgfSB9LAoteyAgMTYsIDB4OGJkMCwgMCwgezB4ODcsMHhmMCwweDE3LDB4NzAsMHgwMCwweGNmLDB4MDEsMHgzNywweGMwLDB4NGMsMHg5OCwweDAzLDB4YmMsMHgwMCwweGZiLDB4MDAgfSB9LAoteyAgMTYsIDB4OGJlMCwgMCwgezB4M2YsMHhjMiwweDBmLDB4ZjAsMHgwMywweGU0LDB4MDAsMHhmZiwweDQwLDB4M2YsMHhlNCwweDBkLDB4ZDksMHgwMywweGYwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGJmMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhNCwweDAwLDB4ZjQsMHgwMCwweDMwLDB4NDAgfSB9LAoteyAgMTYsIDB4OGMwMCwgMCwgezB4MGYsMHhiNCwweDAzLDB4OTksMHgwMCwweGZiLDB4MDAsMHgzZSwweGMwLDB4MGQsMHgwNCwweDIzLDB4MmMsMHgwOCwweGZiLDB4ODggfSB9LAoteyAgMTYsIDB4OGMxMCwgMCwgezB4MzIsMHhjMCwweDBmLDB4YjAsMHgwMywweGU2LDB4MDAsMHhkYiwweDEwLDB4M2UsMHgwMiwweDBmLDB4YjAsMHg4MywweGQwLDB4MDQgfSB9LAoteyAgMTYsIDB4OGMyMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM4LDB4MDUsMHgyYywweDAwLDB4YjksMHg1MCwweGEyLDB4NDggfSB9LAoteyAgMTYsIDB4OGMzMCwgMCwgezB4OGIsMHhiMCwweDAzLDB4MjAsMHgwMCwweGQ3LDB4ODAsMHgyZSwweGQ4LDB4MDAsMHg4MCwweDAyLDB4M2MsMHgwMCwweGJmLDB4ODAgfSB9LAoteyAgMTYsIDB4OGM0MCwgMCwgezB4MjMsMHhlOCwweDhiLDB4ZjAsMHgwMiwweGY0LDB4NDAsMHg4YiwweDQwLDB4MGMsMHg0MiwweDAzLDB4YjYsMHgwMiwweGYyLDB4MDAgfSB9LAoteyAgMTYsIDB4OGM1MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0YywweDAwLDB4YjIsMHg0NCwweDAwLDB4YzggfSB9LAoteyAgMTYsIDB4OGM2MCwgMCwgezB4MGIsMHgzMCwweDEyLDB4OGMsMHgwMCwweGEzLDB4ODAsMHgyNCwweGM4LDB4MGIsMHgwMCwweDBhLDB4Y2MsMHgwMCwweGIzLDB4NDQgfSB9LAoteyAgMTYsIDB4OGM3MCwgMCwgezB4MDQsMHhjMCwweDFiLDB4MzYsMHgwMiwweGM1LDB4MDEsMHg4MywweDBjLDB4MmMsMHhhMCwweDBiLDB4MzAsMHgwMiwweGY4LDB4MDAgfSB9LAoteyAgMTYsIDB4OGM4MCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIwLDB4MDEsMHgxZSwweDA4LDB4YjcsMHg5MCwweDIxLDB4NjQgfSB9LAoteyAgMTYsIDB4OGM5MCwgMCwgezB4MGIsMHhmOCwweDAyLDB4NGEsMHgwNCwweDk3LDB4ODEsMHgyZiwweGU0LDB4MGEsMHg3OCwweDAyLDB4OWUsMHgwMCwweGI3LDB4ODAgfSB9LAoteyAgMTYsIDB4OGNhMCwgMCwgezB4MjEsMHhlMCwweDhiLDB4NzgsMHg4MiwweGQ2LDB4ODYsMHg4NywweDg0LDB4MmQsMHhhMCwweDBiLDB4NzgsMHgwMiwweGMwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGNiMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwNCwweDAwLDB4ZjIsMHgwMCwweDMwLDB4YzAgfSB9LAoteyAgMTYsIDB4OGNjMCwgMCwgezB4MGYsMHgzMCwweDAzLDB4OGMsMHgwMCwweGUzLDB4MGEsMHgzYywweGMwLDB4MGYsMHgxOCwweDAzLDB4OGMsMHgwMCwweGYzLDB4MDIgfSB9LAoteyAgMTYsIDB4OGNkMCwgMCwgezB4MzAsMHhjMCwweDFmLDB4MzAsMHgwMSwweGM2LDB4ODAsMHhjMywweDAwLDB4M2MsMHhjMCwweDBmLDB4MTIsMHgwMywweGRhLDB4MDIgfSB9LAoteyAgMTYsIDB4OGNlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MGQsMHhiYywweDAwLDB4ZmYsMHgwMCwweDNmLDB4NDEgfSB9LAoteyAgMTYsIDB4OGNmMCwgMCwgezB4MGYsMHhmMCwweDAzLDB4YjgsMHgwOCwweGZmLDB4MDgsMHgzZiwweGMwLDB4MGQsMHhmMCwweDAzLDB4M2MsMHgyMCwweGZmLDB4MDggfSB9LAoteyAgMTYsIDB4OGQwMCwgMCwgezB4M2IsMHhkMiwweDBmLDB4ZjAsMHgwMywweGY0LDB4NDAsMHhlZiwweDAwLDB4M2YsMHhjNCwweDBmLDB4ZDAsMHgwMywweGQwLDB4MDYgfSB9LAoteyAgMTYsIDB4OGQxMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlNCwweDAwLDB4ZmUsMHgwMCwweDMyLDB4YzIgfSB9LAoteyAgMTYsIDB4OGQyMCwgMCwgezB4MGMsMHgzMCwweDBiLDB4MjYsMHgwMCwweGZiLDB4ODAsMHgzNiwweGMwLDB4MGQsMHhhMCwweDAzLDB4ZWMsMHgwMCwweGZiLDB4ZTAgfSB9LAoteyAgMTYsIDB4OGQzMCwgMCwgezB4MzIsMHhkMCwweDBmLDB4YjgsMHg0MywweDY0LDB4NDQsMHhkYiwweDA0LDB4M2UsMHg4MCwweDBmLDB4YjAsMHgwMywweGUyLDB4MDAgfSB9LAoteyAgMTYsIDB4OGQ0MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MTEsMHg5YywweDAwLDB4YjcsMHgwMCwweGExLDB4YzAgfSB9LAoteyAgMTYsIDB4OGQ1MCwgMCwgezB4ODgsMHg3MCwweDAzLDB4MTAsMHgwMCwweGI3LDB4MjAsMHgyMSwweGMwLDB4MDgsMHg3MCwweDAyLDB4ZGMsMHg4MCwweGIzLDB4MzAgfSB9LAoteyAgMTYsIDB4OGQ2MCwgMCwgezB4MzEsMHhjOCwweDBiLDB4NzQsMHgwMiwweDE0LDB4MDAsMHg4NywweDQwLDB4MmQsMHhjMCwweDRiLDB4NzAsMHgwMiwweGQyLDB4MDAgfSB9LAoteyAgMTYsIDB4OGQ3MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5NiwweDIwLDB4YjYsMHg4MCwweDIwLDB4ZTAgfSB9LAoteyAgMTYsIDB4OGQ4MCwgMCwgezB4MjgsMHhmOCwweDAyLDB4OTQsMHgxMCwweGI3LDB4ODEsMHgyNywweGUyLDB4MDksMHg3OCwweDAyLDB4ZGUsMHgwMCwweGI3LDB4YTAgfSB9LAoteyAgMTYsIDB4OGQ5MCwgMCwgezB4YTksMHhlOCwweDBiLDB4MzgsMHgwMiwweDc2LDB4MDAsMHg4NywweDgwLDB4MmQsMHhhMCwweDBiLDB4NTgsMHgwMiwweGYwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGRhMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MTQsMHhjZSwweDEwLDB4YjMsMHgwMCwweDIwLDB4YzQgfSB9LAoteyAgMTYsIDB4OGRiMCwgMCwgezB4MDgsMHgyMCwweDAyLDB4ODAsMHgxMCwweGIzLDB4MDAsMHgyMiwweGM4LDB4MDgsMHhiMCwweDAyLDB4Y2MsMHgxMSwweGIzLDB4MDIgfSB9LAoteyAgMTYsIDB4OGRjMCwgMCwgezB4MjgsMHhjMCwweDBiLDB4MzAsMHgwMiwweDA0LDB4MDAsMHg5MywweDgwLDB4MmMsMHhkMiwweDBiLDB4MTAsMHgwMiwweGQyLDB4MDQgfSB9LAoteyAgMTYsIDB4OGRkMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOCwweDAwLDB4ZmUsMHg0MCwweDMyLDB4YTAgfSB9LAoteyAgMTYsIDB4OGRlMCwgMCwgezB4MGMsMHhlNCwweDAzLDB4OTgsMHg4MCwweGZhLDB4MDAsMHgzNywweGEwLDB4MGQsMHhlMCwweDgzLDB4ZTgsMHgwMCwweGZlLDB4MDAgfSB9LAoteyAgMTYsIDB4OGRmMCwgMCwgezB4M2EsMHg4MCwweDBiLDB4YTAsMHgwMywweDY4LDB4MDAsMHhkOCwweGEwLDB4M2YsMHg5MCwweDBmLDB4YTAsMHgwMywweGZhLDB4MDQgfSB9LAoteyAgMTYsIDB4OGUwMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDAsMHhlMCwweDA4LDB4ZjgsMHgwOCwweDNlLDB4MDAgfSB9LAoteyAgMTYsIDB4OGUxMCwgMCwgezB4MGYsMHg4MCwweDAzLDB4MjAsMHgwMCwweGY4LDB4NDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGY4LDB4MDQgfSB9LAoteyAgMTYsIDB4OGUyMCwgMCwgezB4MzAsMHgxMCwweDBmLDB4ODAsMHgwMywweGUwLDB4MDIsMHhlOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweGQyLDB4MDAgfSB9LAoteyAgMTYsIDB4OGUzMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDAwLDB4ZjEsMHgwMCwweDMyLDB4NDAgfSB9LAoteyAgMTYsIDB4OGU0MCwgMCwgezB4MGUsMHg5MCwweDgzLDB4YTQsMHgwMCwweGM5LDB4ODAsMHgzZSwweDQwLDB4MGUsMHg5MCwweDAzLDB4YTQsMHgwMCwweGY5LDB4MDAgfSB9LAoteyAgMTYsIDB4OGU1MCwgMCwgezB4M2UsMHg0MCwweDBjLDB4OTAsMHgwMywweGU0LDB4MDAsMHhjOCwweDAwLDB4M2UsMHg0MCwweDhmLDB4OTAsMHgwMywweDAyLDB4MDQgfSB9LAoteyAgMTYsIDB4OGU2MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDQsMHg2NCwweDAwLDB4YjksMHg0MCwweGEwLDB4NjIgfSB9LAoteyAgMTYsIDB4OGU3MCwgMCwgezB4MDgsMHgxMCwweDAyLDB4MjQsMHgxMCwweDg5LDB4MDAsMHgyZSwweDQwLDB4MDgsMHg5MCwweDAyLDB4MjQsMHgwMCwweGI5LDB4MDAgfSB9LAoteyAgMTYsIDB4OGU4MCwgMCwgezB4MmUsMHg1MiwweDA4LDB4OTQsMHgwMiwweGM0LDB4MDAsMHg4OSwweDQwLDB4MmUsMHg0MCwweDBiLDB4MTAsMHgwMywweDYwLDB4MTAgfSB9LAoteyAgMTYsIDB4OGU5MCwgMCwgezB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDAwLDB4YjksMHgxOCwweDIyLDB4NDQgfSB9LAoteyAgMTYsIDB4OGVhMCwgMCwgezB4MGEsMHg5MCwweDAyLDB4YWMsMHgwMCwweDg5LDB4MTAsMHgyZSwweGMwLDB4MGEsMHg5MCwweDAyLDB4YTQsMHgwMCwweGI5LDB4ODAgfSB9LAoteyAgMTYsIDB4OGViMCwgMCwgezB4MmUsMHg2MCwweDA4LDB4OTgsMHgwMiwweGU2LDB4MDIsMHg4OSwweDA4LDB4MmUsMHg0MCwweDBiLDB4OTAsMHgwMiwweDA2LDB4MDAgfSB9LAoteyAgMTYsIDB4OGVjMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDQsMHgwNCwweDgwLDB4YjEsMHgyMCwweGEwLDB4NDggfSB9LAoteyAgMTYsIDB4OGVkMCwgMCwgezB4MDgsMHg5MCwweDAyLDB4MjQsMHgwOCwweDgxLDB4MjMsMHgyYywweDUwLDB4MDgsMHgxMCwweDAyLDB4MDQsMHg4MCwweGIxLDB4MjAgfSB9LAoteyAgMTYsIDB4OGVlMCwgMCwgezB4MmMsMHg0OCwweDI4LDB4MTIsMHgwMiwweGU0LDB4ODAsMHg4MSwweDIwLDB4MmMsMHg0MCwweDBiLDB4OTgsMHgwMiwweDQyLDB4MDUgfSB9LAoteyAgMTYsIDB4OGVmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MSwweDQwLDB4ZjgsMHg1MCwweDMyLDB4MDAgfSB9LAoteyAgMTYsIDB4OGYwMCwgMCwgezB4MGUsMHg4NSwweDAzLDB4YTEsMHhlMCwweGNhLDB4MDAsMHgzZSwweDAwLDB4MGUsMHg4NSwweDAzLDB4YTAsMHgwMCwweGY4LDB4MDAgfSB9LAoteyAgMTYsIDB4OGYxMCwgMCwgezB4MmUsMHgwMCwweDljLDB4YTAsMHgwMywweGUwLDB4MDAsMHhjOCwweDI4LDB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweDJlLDB4MDEgfSB9LAoteyAgMTYsIDB4OGYyMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDk4LDB4MWQsMHhmNCwweDQwLDB4ZjUsMHgxMCwweDNmLDB4NDQgfSB9LAoteyAgMTYsIDB4OGYzMCwgMCwgezB4MGYsMHhkMCwweDAzLDB4ZjQsMHgwMCwweGYxLDB4MTAsMHgzZCwweDQwLDB4OGYsMHhkNCwweDAzLDB4ZTQsMHg1MCwweGY5LDB4MTAgfSB9LAoteyAgMTYsIDB4OGY0MCwgMCwgezB4M2UsMHg0NSwweDBmLDB4OTEsMHgwMywweGQ0LDB4NDAsMHhmYywweDAwLDB4M2YsMHhjMCwweDhmLDB4ZDAsMHgyMywweGU2LDB4MDQgfSB9LAoteyAgMTYsIDB4OGY1MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhlNiwweDIwLDB4Y2QsMHhhOCwweDMzLDB4NDAgfSB9LAoteyAgMTYsIDB4OGY2MCwgMCwgezB4OGQsMHhkMCwweDAzLDB4MjYsMHg4MCwweGNkLDB4MDAsMHgzZCwweDUwLDB4MGMsMHg5YSwweDAzLDB4NjQsMHgwMCwweGY5LDB4YTAgfSB9LAoteyAgMTYsIDB4OGY3MCwgMCwgezB4N2EsMHg2YSwweDBmLDB4OWEsMHg2MywweGU2LDB4ODAsMHhjOSwweDgwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweDA2LDB4MDAgfSB9LAoteyAgMTYsIDB4OGY4MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDM4LDB4MTAsMHhlMSwweDAwLDB4ODgsMHhlMCwweDM2LDB4MDAgfSB9LAoteyAgMTYsIDB4OGY5MCwgMCwgezB4MDgsMHg4MCwweDBhLDB4MjEsMHg0MiwweGM4LDB4MDAsMHgyZSwweDI5LDB4MGMsMHhhNCwweDQyLDB4MjAsMHgwMCwweGI4LDB4NDAgfSB9LAoteyAgMTYsIDB4OGZhMCwgMCwgezB4MmUsMHgwMCwweDBiLDB4ODEsMHgwMiwweGUxLDB4MDAsMHg4OCwweDAyLDB4M2EsMHgwMSwweDBiLDB4YzAsMHgwMiwweDBlLDB4MDQgfSB9LAoteyAgMTYsIDB4OGZiMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweDAyLDB4ODEsMHgwOCwweDI0LDB4NDAgfSB9LAoteyAgMTYsIDB4OGZjMCwgMCwgezB4MDksMHgxMCwweDAyLDB4MDQsMHgwMCwweDkxLDB4MDAsMHgyYywweDQwLDB4NGIsMHgxNCwweDAyLDB4NDQsMHgwMCwweGI1LDB4MTAgfSB9LAoteyAgMTYsIDB4OGZkMCwgMCwgezB4MjksMHg0MCwweDBiLDB4NTAsMHgwMiwweGY1LDB4MDAsMHhiNSwweDAwLDB4MmQsMHg0MCwweDBiLDB4ZDAsMHgwMiwweDAyLDB4MDEgfSB9LAoteyAgMTYsIDB4OGZlMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MTEsMHhhNiwweDAxLDB4ODksMHgwMCwweDI2LDB4NDAgfSB9LAoteyAgMTYsIDB4OGZmMCwgMCwgezB4MDgsMHg5NCwweDAyLDB4MjQsMHgwMSwweDg5LDB4MDAsMHgyZSwweDQwLDB4MWEsMHg5MCwweDAyLDB4NmMsMHgwMCwweGJmLDB4MDIgfSB9LAoteyAgMTYsIDB4OTAwMCwgMCwgezB4MmYsMHg0MCwweDBiLDB4ZDAsMHgwMiwweGY0LDB4MDIsMHhiZCwweDgwLDB4MmIsMHg0MCwweDhiLDB4ZDgsMHgzYSwweDA2LDB4MDQgfSB9LAoteyAgMTYsIDB4OTAxMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNCwweDAwLDB4YzksMHgwNSwweDM2LDB4NDEgfSB9LAoteyAgMTYsIDB4OTAyMCwgMCwgezB4MGQsMHgxYywweDAzLDB4MjQsMHgwMCwweGQ5LDB4MDAsMHgzZSwweDQyLDB4MmYsMHg5NCwweDAzLDB4NjQsMHgwMCwweGY5LDB4MDAgfSB9LAoteyAgMTYsIDB4OTAzMCwgMCwgezB4M2EsMHg0MCwweDBmLDB4OTAsMHgwMywweGM0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg3MCwweDBmLDB4MTAsMHgwMywweDI4LDB4MDQgfSB9LAoteyAgMTYsIDB4OTA0MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDEsMHg4NCwweDA4LDB4ZjksMHgyNCwweDNlLDB4NDAgfSB9LAoteyAgMTYsIDB4OTA1MCwgMCwgezB4MGYsMHg5MSwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQxLDB4MGQsMHgxMCwweDAzLDB4YTQsMHgwMCwweGY5LDB4MDAgfSB9LAoteyAgMTYsIDB4OTA2MCwgMCwgezB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhjOSwweDAwLDB4M2UsMHg2NCwweDBmLDB4OTAsMHgwMywweGNhLDB4MDAgfSB9LAoteyAgMTYsIDB4OTA3MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMCwweDA4LDB4YzgsMHg4MCwweDMyLDB4MDIgfSB9LAoteyAgMTYsIDB4OTA4MCwgMCwgezB4MGYsMHg4MCwweDAzLDB4MDAsMHgwMCwweGM4LDB4MDgsMHgzYSwweDEwLDB4Y2UsMHg4NCwweDAzLDB4ZTAsMHgwMCwweGZjLDB4MDAgfSB9LAoteyAgMTYsIDB4OTA5MCwgMCwgezB4M2YsMHgwMCwweDhmLDB4YzAsMHgwMywweGYwLDB4ODAsMHhmYywweDAwLDB4M2YsMHgxOCwweDBmLDB4YzAsMHg0MywweGNhLDB4MDQgfSB9LAoteyAgMTYsIDB4OTBhMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHgyOCwweDAwLDB4OGUsMHgwMCwweGExLDB4ODAgfSB9LAoteyAgMTYsIDB4OTBiMCwgMCwgezB4MGIsMHhlMCwweDAyLDB4MjgsMHgwMCwweGRlLDB4YzIsMHgyMywweDkwLDB4MDAsMHhhMCwweDAyLDB4ZTgsMHgwMCwweGJhLDB4MDAgfSB9LAoteyAgMTYsIDB4OTBjMCwgMCwgezB4MmUsMHg4MCwweDBiLDB4YTAsMHgwMiwweGU4LDB4MDAsMHhmYSwweDAwLDB4MmUsMHg4MCwweDBiLDB4YTAsMHgwMiwweGNhLDB4MDAgfSB9LAoteyAgMTYsIDB4OTBkMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAwLDB4OTksMHg4MSwweDYwLDB4YzAgfSB9LAoteyAgMTYsIDB4OTBlMCwgMCwgezB4MGIsMHgxMCwweDAyLDB4MGMsMHgwMCwweDkwLDB4MTAsMHgyYSwweGZjLDB4MGIsMHgzMCwweDAyLDB4Y2MsMHgwMCwweGIzLDB4MDAgfSB9LAoteyAgMTYsIDB4OTBmMCwgMCwgezB4MmMsMHhjMCwweDBiLDB4MzAsMHgwMiwweGNjLDB4MDAsMHhiMywweDAwLDB4MmMsMHhjMCwweDBiLDB4MzAsMHgwMiwweGNhLDB4MDAgfSB9LAoteyAgMTYsIDB4OTEwMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MDEsMHgxYywweDgyLDB4OTUsMHg0MCwweDIxLDB4YzAgfSB9LAoteyAgMTYsIDB4OTExMCwgMCwgezB4MGIsMHg1MCwweDAyLDB4MWMsMHg4MCwweDkwLDB4ODAsMHgyMywweDAxLDB4MDksMHg3MiwweDEyLDB4ZGMsMHgwMCwweGI2LDB4MDAgfSB9LAoteyAgMTYsIDB4OTEyMCwgMCwgezB4MmQsMHgwMCwweDBiLDB4NDAsMHgwMiwweGQwLDB4MDAsMHhiNCwweDA5LDB4MmQsMHgwMCwweDRiLDB4NDAsMHg4MiwweGU4LDB4MDAgfSB9LAoteyAgMTYsIDB4OTEzMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgzZSwweDgwLDB4ZGQsMHg4MCwweGIxLDB4ZTAgfSB9LAoteyAgMTYsIDB4OTE0MCwgMCwgezB4MGYsMHhkYSwweDAzLDB4MGYsMHg4MCwweGQ0LDB4ODAsMHgzOSwweGUwLDB4MGIsMHg3YSwweDAzLDB4ZGUsMHgwMCwweGY1LDB4ODAgfSB9LAoteyAgMTYsIDB4OTE1MCwgMCwgezB4M2QsMHgyMCwweDBmLDB4NDgsMHgwMywweGQ2LDB4MTAsMHhmNiwweDgxLDB4M2QsMHhlMCwweDhmLDB4NjgsMHgwMywweGVhLDB4MDIgfSB9LAoteyAgMTYsIDB4OTE2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MWQsMHhhYywweDAwLDB4ZWQsMHgwMCwweDNlLDB4MDAgfSB9LAoteyAgMTYsIDB4OTE3MCwgMCwgezB4MGYsMHg5MSwweDBiLDB4ZWMsMHgxMCwweGY4LDB4MDAsMHgzZSwweDAwLDB4MGUsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGY4LDB4MDAgfSB9LAoteyAgMTYsIDB4OTE4MCwgMCwgezB4M2UsMHhjMCwweDRmLDB4YjAsMHgwMywweGU4LDB4MDAsMHhlOSwweDAxLDB4M2UsMHgwMCwweDBmLDB4OTAsMHgwMywweGMyLDB4MDYgfSB9LAoteyAgMTYsIDB4OTE5MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmZSwweDIwLDB4YmYsMHg4MSwweDMzLDB4YTQgfSB9LAoteyAgMTYsIDB4OTFhMCwgMCwgezB4OGMsMHgxOSwweDAzLDB4M2UsMHgwMCwweGNkLDB4ODAsMHgzZiwweGUwLDB4MGYsMHhmOCwweDgzLDB4M2UsMHgwMCwweGVmLDB4ODAgfSB9LAoteyAgMTYsIDB4OTFiMCwgMCwgezB4M2YsMHhlMCwweDBmLDB4ZjksMHgxMywweGZhLDB4MTAsMHhmZCwweDgwLDB4M2YsMHhhNCwweDBmLDB4ZDgsMHgwMywweGMwLDB4MDAgfSB9LAoteyAgMTYsIDB4OTFjMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTEsMHg5YywweDAwLDB4YmYsMHgyMCwweDMxLDB4YzIgfSB9LAoteyAgMTYsIDB4OTFkMCwgMCwgezB4MDgsMHg1YSwweDAyLDB4M2MsMHgwMiwweDg3LDB4MDAsMHgyZCwweDk0LDB4MGIsMHg3MCwweDBhLDB4MWMsMHg0MCwweDg2LDB4MTAgfSB9LAoteyAgMTYsIDB4OTFlMCwgMCwgezB4MmQsMHgwMCwweDBiLDB4NDAsMHgwMiwweGQ0LDB4MDAsMHhmNiwweDAwLDB4MmQsMHg0MCwweDRiLDB4NjAsMHgwMiwweGVhLDB4MDQgfSB9LAoteyAgMTYsIDB4OTFmMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5YywweDAwLDB4YjcsMHgwMSwweDIzLDB4ODAgfSB9LAoteyAgMTYsIDB4OTIwMCwgMCwgezB4MjgsMHg1MCwweDAyLDB4MWMsMHgwMCwweDg0LDB4MDAsMHgyZCwweGMwLDB4MGIsMHgzMCwweDAyLDB4MWMsMHgwMCwweGI1LDB4MDAgfSB9LAoteyAgMTYsIDB4OTIxMCwgMCwgezB4MmQsMHgwMCwweDBiLDB4NDAsMHgwNiwweGQwLDB4NDAsMHhiNCwweDA4LDB4MmQsMHg4MCwweDBiLDB4NDgsMHgwMiwweGMwLDB4MDAgfSB9LAoteyAgMTYsIDB4OTIyMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIwLDB4MTQsMHhjYywweDAwLDB4YjMsMHgwOCwweGEwLDB4MjAgfSB9LAoteyAgMTYsIDB4OTIzMCwgMCwgezB4MDgsMHgxMSwweDhhLDB4MGUsMHgwMCwweDgwLDB4MDAsMHgyYywweDkwLDB4MGIsMHgzNywweDAyLDB4MGMsMHgwMCwweDkwLDB4MDAgfSB9LAoteyAgMTYsIDB4OTI0MCwgMCwgezB4MmMsMHhjMCwweDBiLDB4MzAsMHg0MiwweGNjLDB4MDQsMHhhMywweDgwLDB4MmMsMHg1MCwweDBiLDB4MzAsMHgwMiwweGM4LDB4MDQgfSB9LAoteyAgMTYsIDB4OTI1MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhiYywweDAwLDB4ZjksMHg4MCwweDMyLDB4NjAgfSB9LAoteyAgMTYsIDB4OTI2MCwgMCwgezB4MGMsMHhkNCwweDAzLDB4M2MsMHg4MCwweDg4LDB4MDAsMHgzZSwweGQwLDB4MGYsMHhmOCwweDAzLDB4MjgsMHgwMCwweGZhLDB4MDAgfSB9LAoteyAgMTYsIDB4OTI3MCwgMCwgezB4M2UsMHhjMCwweDBmLDB4YjAsMHgwNywweGVjLDB4MDEsMHhiYiwweDgwLDB4M2UsMHg1NCwweDBmLDB4YjAsMHgwNiwweGVhLDB4MDQgfSB9LAoteyAgMTYsIDB4OTI4MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDAsMHhlZSwweDA4LDB4ZjksMHg4MCwweDNhLDB4YzAgfSB9LAoteyAgMTYsIDB4OTI5MCwgMCwgezB4MGYsMHg5MCwweDAzLDB4ZWMsMHgwMCwweGY4LDB4NDAsMHgzZSwweDU4LDB4MGYsMHhiMCwweDQzLDB4ZTksMHgwMCwweGViLDB4NDQgfSB9LAoteyAgMTYsIDB4OTJhMCwgMCwgezB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweGUwLDB4MGQsMHhmOCwweDAwLDB4M2UsMHg4MCwweDBmLDB4ODAsMHgwMywweGUwLDB4MDAgfSB9LAoteyAgMTYsIDB4OTJiMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhkYywweDAwLDB4Y2YsMHgwMCwweDMzLDB4NDAgfSB9LAoteyAgMTYsIDB4OTJjMCwgMCwgezB4MGMsMHhkMCwweDAzLDB4M2MsMHgzMCwweGNjLDB4MDAsMHgzYiwweGMwLDB4MmQsMHhmMCwweDAzLDB4ZDgsMHgwMiwweGNjLDB4MDAgfSB9LAoteyAgMTYsIDB4OTJkMCwgMCwgezB4M2QsMHgwMCwweDBjLDB4YzAsMHgwMywweGY0LDB4MDAsMHhlZSwweDAyLDB4MzcsMHg0MCwweDBjLDB4ZTAsMHgwMywweGMwLDB4NDQgfSB9LAoteyAgMTYsIDB4OTJlMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgxLDB4MDQsMHg2YywweDE4LDB4ODMsMHg4NCwweDIwLDB4MDAgfSB9LAoteyAgMTYsIDB4OTJmMCwgMCwgezB4NGEsMHgxMCwweDAyLDB4MGMsMHgwMCwweGE4LDB4NDgsMHgyZSwweDYwLDB4MDgsMHhiMCwweDAyLDB4ZTksMHgwMCwweDg5LDB4NDAgfSB9LAoteyAgMTYsIDB4OTMwMCwgMCwgezB4MmUsMHhjMCwweDA4LDB4YjAsMHgwMiwweGU4LDB4MTAsMHhiMSwweDAxLDB4MjAsMHg4MCwweDBhLDB4OTAsMHgwMywweGEwLDB4NDAgfSB9LAoteyAgMTYsIDB4OTMxMCwgMCwgezB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAwLDB4OGIsMHg4MiwweDIyLDB4MDggfSB9LAoteyAgMTYsIDB4OTMyMCwgMCwgezB4MDgsMHg5MCwweDAyLDB4MmMsMHgxNCwweDg4LDB4MDQsMHgyYywweDA4LDB4MDgsMHhiMCwweDEyLDB4ZTgsMHgwMCwweDhhLDB4MDAgfSB9LAoteyAgMTYsIDB4OTMzMCwgMCwgezB4MmUsMHhjMCwweDBhLDB4YjAsMHgwMiwweGU4LDB4MDEsMHhiOSwweDAwLDB4MjYsMHgwNCwweDA4LDB4OTAsMHgwMiwweGUwLDB4MDAgfSB9LAoteyAgMTYsIDB4OTM0MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDQsMHgwYywweDAwLDB4ODMsMHg4MCwweGEyLDB4YzAgfSB9LAoteyAgMTYsIDB4OTM1MCwgMCwgezB4MGEsMHg5MiwweDAyLDB4MmMsMHgwMCwweGEyLDB4MDAsMHgyYywweDAwLDB4MDgsMHgzNCwweDAyLDB4YzgsMHgwMCwweDgzLDB4MDAgfSB9LAoteyAgMTYsIDB4OTM2MCwgMCwgezB4MmMsMHgwMCwweDI4LDB4MDAsMHgwMiwweGM0LDB4MDEsMHhiYSwweDAwLDB4MjIsMHhjMCwweDAyLDB4MjAsMHgwNiwweGMyLDB4MDEgfSB9LAoteyAgMTYsIDB4OTM3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2YywweDAwLDB4Y2EsMHgwMCwweGIyLDB4MDAgfSB9LAoteyAgMTYsIDB4OTM4MCwgMCwgezB4MGMsMHg5MiwweDBiLDB4MmMsMHgwNCwweGM4LDB4MDQsMHgzYSwweDAwLDB4MGMsMHhiNCwweDAzLDB4ZTgsMHgwMCwweGM4LDB4MDAgfSB9LAoteyAgMTYsIDB4OTM5MCwgMCwgezB4MmUsMHgwMCwweDBjLDB4ODAsMHgzMywweGUxLDB4NDAsMHhlOCwweDAwLDB4MzYsMHgwMCwweDBjLDB4ODAsMHgwMywweGMwLDB4MDMgfSB9LAoteyAgMTYsIDB4OTNhMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MWQsMHhmYywweDAwLDB4ZmYsMHgwMCwweDNkLDB4MDAgfSB9LAoteyAgMTYsIDB4OTNiMCwgMCwgezB4MGYsMHhkMSwweDBiLDB4ZmMsMHgwMSwweGZjLDB4MDAsMHgzZiwweDAwLDB4MGYsMHhmMCwweDAzLDB4ZDgsMHgwMCwweGZkLDB4MDAgfSB9LAoteyAgMTYsIDB4OTNjMCwgMCwgezB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGZjLDB4ODAsMHhmZiwweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwNywweGE4LDB4MDYgfSB9LAoteyAgMTYsIDB4OTNkMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MTUsMHhmMywweDAwLDB4Y2YsMHg4MCwweDM1LDB4NjAgfSB9LAoteyAgMTYsIDB4OTNlMCwgMCwgezB4NGUsMHg2OCwweDQzLDB4NWMsMHgwMCwweGU3LDB4ODAsMHgzOSwweGMwLDB4MGMsMHhjMSwweDAzLDB4N2UsMHgwMCwweGNmLDB4MzQgfSB9LAoteyAgMTYsIDB4OTNmMCwgMCwgezB4MzUsMHhlMSwweDRkLDB4ZjIsMHgwMywweDdjLDB4MDAsMHhkZiwweDM4LDB4M2YsMHhjOCwweDBmLDB4ZjgsMHgwMywweGYwLDB4MDAgfSB9LAoteyAgMTYsIDB4OTQwMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MTgsMHhjOCwweDAwLDB4ZGIsMHg4NCwweDIyLDB4NjAgfSB9LAoteyAgMTYsIDB4OTQxMCwgMCwgezB4MDgsMHhhYywweDBhLDB4MmMsMHgwMCwweDhiLDB4ODAsMHgyMiwweDMwLDB4MDgsMHg5MSwweDIyLDB4MmMsMHg5MCwweDI3LDB4NjEgfSB9LAoteyAgMTYsIDB4OTQyMCwgMCwgezB4MjIsMHhjYSwweDg4LDB4ZmMsMHgyMiwweGJmLDB4MDAsMHg4YiwweDYyLDB4MmYsMHhkMCwweDA5LDB4YjgsMHgwMywweGIwLDB4MDQgfSB9LAoteyAgMTYsIDB4OTQzMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM4LDB4MDUsMHhlMiwweDgwLDB4YTksMHgwMiwweDI0LDB4NDAgfSB9LAoteyAgMTYsIDB4OTQ0MCwgMCwgezB4ODIsMHgzNCwweDQyLDB4MDQsMHgwMCwweGE5LDB4MDAsMHgyOCwweGM1LDB4NDgsMHgzMiwweDAyLDB4NGMsMHgyMCwweDgzLDB4MzAgfSB9LAoteyAgMTYsIDB4OTQ1MCwgMCwgezB4MjAsMHhjMCwweDA4LDB4MzEsMHgwMiwweDBkLDB4MDAsMHhiMywweDIwLDB4MmMsMHhjNCwweDBiLDB4MzAsMHgwMiwweGYyLDB4MDEgfSB9LAoteyAgMTYsIDB4OTQ2MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhhYSwweDAyLDB4YjksMHgwNCwweDIyLDB4NjAgfSB9LAoteyAgMTYsIDB4OTQ3MCwgMCwgezB4MjgsMHhiMiwweDAyLDB4MjYsMHgwMCwweDg5LDB4ODgsMHgwMiwweGMwLDB4MDgsMHgzMSwweDEyLDB4ZWMsMHgwMCwweDhiLDB4MDAgfSB9LAoteyAgMTYsIDB4OTQ4MCwgMCwgezB4MmEsMHhkMCwweDA4LDB4YjAsMHgwMiwweGFjLDB4MDAsMHgyYiwweDAwLDB4MmUsMHhjMCwweDBiLDB4YjAsMHgwMiwweGIwLDB4MDQgfSB9LAoteyAgMTYsIDB4OTQ5MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhlMiwweDAwLDB4ZTMsMHgwMCwweDM2LDB4MjAgfSB9LAoteyAgMTYsIDB4OTRhMCwgMCwgezB4MGUsMHhhNCwweDYzLDB4NmUsMHgwMCwweGUxLDB4YzAsMHgxYSwweGMxLDB4MGMsMHg4MCwweDAzLDB4NjgsMHg3MCwweGNiLDB4MDAgfSB9LAoteyAgMTYsIDB4OTRiMCwgMCwgezB4MzYsMHg4MCwweDBkLDB4YjAsMHgwMywweDRjLDB4MDAsMHhmYiwweDA0LDB4M2UsMHhjMSwweDBmLDB4YjAsMHgwMywweGQwLDB4MDQgfSB9LAoteyAgMTYsIDB4OTRjMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDEsMHhiOCwweDA0LDB4ZGYsMHgwMCwweDNmLDB4MDAgfSB9LAoteyAgMTYsIDB4OTRkMCwgMCwgezB4MGYsMHhlOCwweDAzLDB4ZmMsMHgwMCwweGZkLDB4MDAsMHgzZiwweDAwLDB4MmIsMHg5OCwweDAzLDB4M2EsMHgwMCwweDc3LDB4MDAgfSB9LAoteyAgMTYsIDB4OTRlMCwgMCwgezB4MjcsMHhlNCwweDBmLDB4ZjAsMHgwMywweGZjLDB4MDAsMHhkZiwweDAwLDB4M2UsMHhjMCwweDBkLDB4ZjAsMHg0MywweGY4LDB4MDAgfSB9LAoteyAgMTYsIDB4OTRmMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDUwLDB4MDAsMHhhNCwweDY4LDB4Y2IsMHgyMCwweDNhLDB4OTAgfSB9LAoteyAgMTYsIDB4OTUwMCwgMCwgezB4MGYsMHgyNCwweGEzLDB4YWMsMHgwMCwweGU5LDB4NTAsMHgzYSwweGMwLDB4MGUsMHhiNCwweDgzLDB4MmMsMHgwOCwweGViLDB4MDAgfSB9LAoteyAgMTYsIDB4OTUxMCwgMCwgezB4M2EsMHg5MCwweDBlLDB4YjAsMHg4YiwweGVjLDB4ODAsMHhmYiwweDAwLDB4M2UsMHhjMCwweDBlLDB4YjAsMHgwMywweDkwLDB4MDQgfSB9LAoteyAgMTYsIDB4OTUyMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM4LDB4MDEsMHgwYSwweDAwLDB4OGIsMHhhMCwweDIwLDB4ODAgfSB9LAoteyAgMTYsIDB4OTUzMCwgMCwgezB4MGQsMHhhOCwweDAyLDB4MmMsMHgwNCwweDg5LDB4NDAsMHgyOCwweGU4LDB4MDgsMHhiMiwweDAyLDB4MmMsMHgwMCwweGFmLDB4MDAgfSB9LAoteyAgMTYsIDB4OTU0MCwgMCwgezB4MDIsMHg4MCwweDA4LDB4N2MsMHgwMywweDNkLDB4ODAsMHgzZiwweDAwLDB4MmYsMHhjMCwweDA4LDB4YjAsMHgwMiwweDM2LDB4MDAgfSB9LAoteyAgMTYsIDB4OTU1MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0OSwweDAwLDB4MDMsMHg0MCwweDI4LDB4YzAgfSB9LAoteyAgMTYsIDB4OTU2MCwgMCwgezB4MmIsMHgyOCwweDRhLDB4MjgsMHgwMCwweGExLDB4MDAsMHg2OCwweGQyLDB4MGEsMHgyMCwweDQyLDB4YTQsMHgwMSwweGEzLDB4MDAgfSB9LAoteyAgMTYsIDB4OTU3MCwgMCwgezB4MDIsMHg0MCwweDBhLDB4MzQsMHgwMiwweDBkLDB4MDAsMHgzMywweDAwLDB4MmMsMHhjMCwweDBhLDB4MzAsMHgwMCwweGI4LDB4MDAgfSB9LAoteyAgMTYsIDB4OTU4MCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MDEsMHgxYSwweDAwLDB4ODcsMHg5MCwweDIxLDB4ZTQgfSB9LAoteyAgMTYsIDB4OTU5MCwgMCwgezB4MmIsMHhjOCwweDEyLDB4M2EsMHgwMCwweDg1LDB4YzAsMHgyYiwweDIxLDB4MjgsMHg2OCwweDAyLDB4YjYsMHgwMCwweGE3LDB4ODQgfSB9LAoteyAgMTYsIDB4OTVhMCwgMCwgezB4MjMsMHg2MCwweDA4LDB4MzgsMHg4MCwweDFlLDB4MDAsMHhiNywweDgwLDB4MmQsMHhlMCwweDA4LDB4NzgsMHgwMiwweDJlLDB4MDAgfSB9LAoteyAgMTYsIDB4OTViMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwOCwweDAwLDB4YzEsMHgwMCwweDM4LDB4NTQgfSB9LAoteyAgMTYsIDB4OTVjMCwgMCwgezB4MGYsMHgyNiwweDgzLDB4ODAsMHgwMCwweGUwLDB4MzQsMHgyOCwweGM4LDB4MGUsMHgyYywweDBiLDB4OGMsMHgwMCwweGUzLDB4MDAgfSB9LAoteyAgMTYsIDB4OTVkMCwgMCwgezB4NzgsMHg0NSwweDBlLDB4MzAsMHgwMywweDhlLDB4ODAsMHhmMywweDAwLDB4M2MsMHhjOCwweDBlLDB4MzAsMHgwMywweDkyLDB4MDIgfSB9LAoteyAgMTYsIDB4OTVlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MWQsMHhiOCwweDAwLDB4ZjUsMHgwMiwweDNmLDB4NDQgfSB9LAoteyAgMTYsIDB4OTVmMCwgMCwgezB4MGQsMHg5MCwweDAzLDB4ZjgsMHgwMCwweGJkLDB4MTQsMHgxZiwweGMwLDB4MGYsMHhlMSwweDIzLDB4NWMsMHg0NCwweDlmLDB4NDIgfSB9LAoteyAgMTYsIDB4OTYwMCwgMCwgezB4M2YsMHhjMCwweDBmLDB4ZjQsMHg4MiwweDdkLDB4NDAsMHhmZiwweDEwLDB4M2YsMHhjMCwweDRmLDB4NzAsMHgwNywweGQwLDB4MDYgfSB9LAoteyAgMTYsIDB4OTYxMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlOCwweDAyLDB4Y2IsMHgwMCwweDM4LDB4YzAgfSB9LAoteyAgMTYsIDB4OTYyMCwgMCwgezB4M2MsMHhhMCwweDAzLDB4ZWMsMHgwMCwweGU5LDB4MDAsMHgzZSwweGMwLDB4MGMsMHhiMCwweDAzLDB4MjAsMHgwNCwweGZiLDB4MjEgfSB9LAoteyAgMTYsIDB4OTYzMCwgMCwgezB4M2UsMHg4MCwweDRmLDB4YjQsMHgwMywweGNmLDB4MDAsMHhjYiwweDAwLDB4M2UsMHhjYywweDRmLDB4YjAsMHg0MywweGVhLDB4MDAgfSB9LAoteyAgMTYsIDB4OTY0MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM4LDB4OTEsMHg5OCwweDAwLDB4ODcsMHgwMCwweDIxLDB4YzAgfSB9LAoteyAgMTYsIDB4OTY1MCwgMCwgezB4MDgsMHg0MCwweDAyLDB4ZGMsMHgwNCwweGI1LDB4MDAsMHgyZCwweDAwLDB4MmQsMHg3MCwweDAyLDB4MWMsMHgxYywweGI3LDB4MDIgfSB9LAoteyAgMTYsIDB4OTY2MCwgMCwgezB4MmQsMHhjMCwweDBiLDB4NzIsMHgwMiwweGRjLDB4MDAsMHg4NywweDQwLDB4MmQsMHhjYSwweDhiLDB4NzAsMHgwMiwweGYyLDB4MDQgfSB9LAoteyAgMTYsIDB4OTY3MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDAsMHhiYSwweDAwLDB4ODcsMHg4OCwweDJiLDB4ZTAgfSB9LAoteyAgMTYsIDB4OTY4MCwgMCwgezB4MTgsMHg3OCwweDIyLDB4ZDYsMHgxMSwweGE0LDB4ODIsMHgyZiwweGUwLDB4MDgsMHg3OCwweDAyLDB4MTIsMHgwMCwweGI3LDB4OTQgfSB9LAoteyAgMTYsIDB4OTY5MCwgMCwgezB4NmQsMHg2MCwweDRiLDB4N2EsMHgwMiwweGRlLDB4NDAsMHhiNywweGEwLDB4MmQsMHhlMCwweDBiLDB4NzgsMHgwNiwweGUwLDB4MDAgfSB9LAoteyAgMTYsIDB4OTZhMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MTQsMHhjOSwweDEyLDB4ODMsMHg4MiwweDI4LDB4ZDQgfSB9LAoteyAgMTYsIDB4OTZiMCwgMCwgezB4OTgsMHgwMCwweDA2LDB4ZWYsMHgwNSwweGIxLDB4OTAsMHgyYywweGMxLDB4MDksMHhiNCwweDAyLDB4MGMsMHgwNCwweGIzLDB4MDEgfSB9LAoteyAgMTYsIDB4OTZjMCwgMCwgezB4NmMsMHhmMCwweDBiLDB4MzAsMHgwMiwweGNjLDB4MDAsMHhiYiwweDAwLDB4MmUsMHhjMCwweDBiLDB4MzAsMHgwMiwweGQyLDB4MDQgfSB9LAoteyAgMTYsIDB4OTZkMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhiOCwweDQwLDB4Y2EsMHg4MCwweDNiLDB4YTAgfSB9LAoteyAgMTYsIDB4OTZlMCwgMCwgezB4NGMsMHhlNSwweDAyLDB4ZjgsMHg4MCwweGVlLDB4MDAsMHgzZCwweDgwLDB4MmMsMHhlMCwweDBmLDB4MzgsMHg4MCwweGZhLDB4MDAgfSB9LAoteyAgMTYsIDB4OTZmMCwgMCwgezB4M2YsMHhhOSwweDBmLDB4YTAsMHgwMywweGU4LDB4MDAsMHhiYSwweDAyLDB4M2UsMHg4MCwweDhiLDB4YTAsMHgwMywweGZhLDB4MDQgfSB9LAoteyAgMTYsIDB4OTcwMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDAsMHhlMCwweDEwLDB4ZjgsMHgwMCwweDI2LDB4MDIgfSB9LAoteyAgMTYsIDB4OTcxMCwgMCwgezB4MGYsMHg4NCwweDAzLDB4ZTAsMHgyNCwweGY4LDB4MDAsMHgzZSwweDAwLDB4NGYsMHg4MCwweGEzLDB4ZTAsMHgzMCwweGY4LDB4MDAgfSB9LAoteyAgMTYsIDB4OTcyMCwgMCwgezB4MzYsMHgwMiwweDBmLDB4ODAsMHgyMywweGUwLDB4MDQsMHgwOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweGQyLDB4MDAgfSB9LAoteyAgMTYsIDB4OTczMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDAwLDB4ZDksMHgwMCwweGI2LDB4NDEgfSB9LAoteyAgMTYsIDB4OTc0MCwgMCwgezB4NGUsMHg5OSwweDBiLDB4YTQsMHgwMCwweDY5LDB4MTAsMHgzZSwweDQwLDB4MGMsMHg5MCwweDAzLDB4YTQsMHgxMCwweGM5LDB4MDAgfSB9LAoteyAgMTYsIDB4OTc1MCwgMCwgezB4M2UsMHg0MCwweDBkLDB4OTIsMHgwMywweGU2LDB4MDAsMHhmOSwweDAwLDB4M2EsMHg0MCwweDBlLDB4OTAsMHgwMywweGMyLDB4MDQgfSB9LAoteyAgMTYsIDB4OTc2MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDQsMHg2NCwweDAwLDB4ODEsMHgwMCwweDIwLDB4NDIgfSB9LAoteyAgMTYsIDB4OTc3MCwgMCwgezB4MDgsMHgxNCwweDlhLDB4MjQsMHgwMCwweDg5LDB4MDAsMHg2ZSwweDUwLDB4MDAsMHg5MCwweDAyLDB4MjQsMHgxMCwweGQ5LDB4MDIgfSB9LAoteyAgMTYsIDB4OTc4MCwgMCwgezB4NmUsMHg0MCwweDBiLDB4OTQsMHgwMywweGE3LDB4MDAsMHhiOSwweDAwLDB4MjIsMHg0MCwweDA4LDB4OTAsMHgwMywweGUwLDB4MDAgfSB9LAoteyAgMTYsIDB4OTc5MCwgMCwgezB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgwNiwweDAwLDB4OTksMHgwMCwweGE2LDB4NDEgfSB9LAoteyAgMTYsIDB4OTdhMCwgMCwgezB4MGEsMHg5MCwweDA2LDB4MmMsMHgwMCwweGE5LDB4MDksMHg2ZSwweDUwLDB4MDgsMHg5MSwweDAyLDB4ODQsMHgwNCwweDg5LDB4MDAgfSB9LAoteyAgMTYsIDB4OTdiMCwgMCwgezB4MGUsMHg0MCwweDBiLDB4OTQsMHgwMiwweGU1LDB4NDksMHhiOSwweDAwLDB4MGEsMHg0MCwweDBhLDB4OTAsMHgwMiwweGM2LDB4MDAgfSB9LAoteyAgMTYsIDB4OTdjMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDQsMHgwNiwweDAwLDB4ODEsMHgwMCwweDIyLDB4NDAgfSB9LAoteyAgMTYsIDB4OTdkMCwgMCwgezB4MDgsMHgxMiwweDIyLDB4MDQsMHg4MSwweGExLDB4MDAsMHgyYywweDQwLDB4MDgsMHgxNiwweDAyLDB4MDQsMHgwMCwweDkxLDB4MjAgfSB9LAoteyAgMTYsIDB4OTdlMCwgMCwgezB4MmMsMHg0MCwweDBiLDB4MTIsMHg0MiwweDg0LDB4ODksMHhiMSwweDIwLDB4MjAsMHg0OCwweDA4LDB4MTAsMHgwMiwweGMyLDB4MDEgfSB9LAoteyAgMTYsIDB4OTdmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MSwweDQwLDB4ZDgsMHgwMCwweDM2LDB4MDAgfSB9LAoteyAgMTYsIDB4OTgwMCwgMCwgezB4MGEsMHg4MCwweDAzLDB4YTEsMHg0MCwweGU4LDB4MDAsMHgyZSwweDAwLDB4MGMsMHgwMCwweDIzLDB4YTEsMHg0MCwweGM4LDB4NTAgfSB9LAoteyAgMTYsIDB4OTgxMCwgMCwgezB4MmUsMHgxNCwweDBkLDB4ODAsMHgwMywweGUwLDB4MDAsMHhmOCwweDUwLDB4M2EsMHgwMCwweDBlLDB4ODAsMHgwMywweGVlLDB4MDMgfSB9LAoteyAgMTYsIDB4OTgyMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MWQsMHhkNCwweDAwLDB4ZjUsMHgwMCwweGJmLDB4NDAgfSB9LAoteyAgMTYsIDB4OTgzMCwgMCwgezB4MGYsMHhkMSwweDAzLDB4ZjQsMHg0NCwweGRkLDB4MDIsMHgzZCwweDUwLDB4MmIsMHhkMSwweDIzLDB4ZjQsMHgwMCwweGY5LDB4MTAgfSB9LAoteyAgMTYsIDB4OTg0MCwgMCwgezB4M2YsMHg0MCwweDBkLDB4OTEsMHgwMywweGE0LDB4NDgsMHhmOSwweDEyLDB4M2UsMHg0ZSwweDFmLDB4OTAsMHgwMywweGE2LDB4MDIgfSB9LAoteyAgMTYsIDB4OTg1MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MTUsMHhmNCwweDAwLDB4YzUsMHgwNCwweDNiLDB4NDAgfSB9LAoteyAgMTYsIDB4OTg2MCwgMCwgezB4MGYsMHhkOCwweDAzLDB4YTcsMHg4MCwweGZkLDB4MDAsMHhiMywweDY4LDB4MGQsMHhkOCwweDQzLDB4YTUsMHgxMCwweGM5LDB4YTAgfSB9LAoteyAgMTYsIDB4OTg3MCwgMCwgezB4MzIsMHg1MSwweDRmLDB4NWEsMHg0MywweDM2LDB4MDAsMHhjOSwweGEwLDB4N2EsMHg2OCwweDBiLDB4ZDAsMHgwMywweGM2LDB4MDEgfSB9LAoteyAgMTYsIDB4OTg4MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDc4LDB4MTgsMHhjYSwweDg4LDB4ODgsMHgwMiwweDAyLDB4MDAgfSB9LAoteyAgMTYsIDB4OTg5MCwgMCwgezB4OGQsMHg4NCwweDIyLDB4MjMsMHg0MiwweGY4LDB4MDAsMHgyMiwweDA0LDB4MjgsMHg4YSwweGEyLDB4YWEsMHg5NCwweDg4LDB4ZTkgfSB9LAoteyAgMTYsIDB4OThhMCwgMCwgezB4MjAsMHhhOCwweDBhLDB4ODAsMHgwYSwweDIxLDB4NDAsMHg4MCwweGUyLDB4MmUsMHgyOCwweDBiLDB4ODAsMHgwMiwweGNlLDB4MDQgfSB9LAoteyAgMTYsIDB4OThiMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDUsMHhjNCwweDIwLDB4YTEsMHgwNCwweGE4LDB4YzAgfSB9LAoteyAgMTYsIDB4OThjMCwgMCwgezB4MGIsMHgxYywweDJhLDB4MjQsMHgwMCwweDM5LDB4MDQsMHgyMCwweDQwLDB4MmEsMHgxZSwweDAyLDB4ZTQsMHg4MCwweGIxLDB4MTAgfSB9LAoteyAgMTYsIDB4OThkMCwgMCwgezB4MmEsMHg0OCwweDA5LDB4MTQsMHg0NiwweDA0LDB4MDAsMHg4MSwweDM4LDB4MmMsMHg1YiwweDBiLDB4MTAsMHgwMiwweGQyLDB4MDAgfSB9LAoteyAgMTYsIDB4OThlMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhhNCwweDEyLDB4YTksMHgyNCwweDIyLDB4NDAgfSB9LAoteyAgMTYsIDB4OThmMCwgMCwgezB4MjksMHg5MCwweDAyLDB4MjQsMHgwMCwweDM5LDB4MDAsMHgwMiwweDU4LDB4MDgsMHgxOCwweDEwLDB4ZTYsMHgwMSwweGI5LDB4MDAgfSB9LAoteyAgMTYsIDB4OTkwMCwgMCwgezB4YWEsMHg0NCwweDA4LDB4OTAsMHgwMiwweDI0LDB4MDAsMHg4OSwweDAwLDB4MGUsMHg0MSwweDBiLDB4OTAsMHgwMiwweGM2LDB4MDQgfSB9LAoteyAgMTYsIDB4OTkxMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MDUsMHhlNCwweDAwLDB4ZTEsMHgwMSwweDJhLDB4NjQgfSB9LAoteyAgMTYsIDB4OTkyMCwgMCwgezB4MmYsMHg5NCwweDEzLDB4MjQsMHgwMiwweDcxLDB4NjAsMHgxMiwweDYwLDB4NGQsMHg5MCwweDAwLDB4YzUsMHgwMiwweGY5LDB4MDAgfSB9LAoteyAgMTYsIDB4OTkzMCwgMCwgezB4M2EsMHg0MCwweDBmLDB4OTAsMHgyMywweDI0LDB4MDIsMHhjOSwweDAyLDB4M2EsMHg0MCwweDBmLDB4OTAsMHgwMiwweGU4LDB4MDQgfSB9LAoteyAgMTYsIDB4OTk0MCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDY4LDB4MDEsMHhhNCwweDAwLDB4ZDksMHgwMCwweDNlLDB4NjAgfSB9LAoteyAgMTYsIDB4OTk1MCwgMCwgezB4YWYsMHg5MCwweDgzLDB4NjQsMHg4OCwweGY5LDB4MjAsMHgzZSwweDYyLDB4MDMsMHg5MCwweDgzLDB4YTQsMHgwMCwweGM5LDB4MDAgfSB9LAoteyAgMTYsIDB4OTk2MCwgMCwgezB4MzYsMHg2MCwweDBmLDB4MTAsMHgwMywweGM0LDB4MDAsMHhmOSwweDAwLDB4N2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGRhLDB4MDAgfSB9LAoteyAgMTYsIDB4OTk3MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDAsMHhhMSwweDAwLDB4YzgsMHg4MiwweDMyLDB4MDAgfSB9LAoteyAgMTYsIDB4OTk4MCwgMCwgezB4NmYsMHgwMCwweDAzLDB4YTAsMHgwMCwweGQ4LDB4NDAsMHgzMCwweDAwLDB4MGUsMHg4MCwweDAzLDB4NjAsMHgwNCwweGY4LDB4MDEgfSB9LAoteyAgMTYsIDB4OTk5MCwgMCwgezB4M2UsMHgxMCwweDRmLDB4ODAsMHg4YiwweDIyLDB4MDAsMHhmOCwweDAwLDB4MzIsMHgwMSwweDBlLDB4ODAsMHgwMywweGNhLDB4MDQgfSB9LAoteyAgMTYsIDB4OTlhMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDEsMHgzOCwweDAwLDB4MGUsMHgwMCwweGE5LDB4OTAgfSB9LAoteyAgMTYsIDB4OTliMCwgMCwgezB4MmYsMHhlNiwweDIwLDB4ODgsMHgwMCwweDllLDB4ODAsMHgyMywweDgwLDB4MGEsMHhlOCwweDAzLDB4MjgsMHgwMCwweGJhLDB4MDAgfSB9LAoteyAgMTYsIDB4OTljMCwgMCwgezB4MTgsMHg4MCwweDBkLDB4ZWMsMHgwMiwweDM4LDB4ODAsMHhiYSwweDAwLDB4YTIsMHg4MCwweDA4LDB4YTAsMHgwMywweDhhLDB4MDAgfSB9LAoteyAgMTYsIDB4OTlkMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg2YywweDAyLDB4ODMsMHg4MCwweDIwLDB4YzggfSB9LAoteyAgMTYsIDB4OTllMCwgMCwgezB4MGIsMHgyMCwweDAyLDB4MGMsMHgwMSwweDkyLDB4MTAsMHg2OCwweGMwLDB4M2EsMHgzYywweDAyLDB4Y2MsMHgxMCwweDNiLDB4MDIgfSB9LAoteyAgMTYsIDB4OTlmMCwgMCwgezB4MGMsMHhjMCwweDI4LDB4M2MsMHgwMiwweDRlLDB4MDAsMHhiMywweDAwLDB4MjgsMHhjMCwweDI4LDB4MzAsMHgwMiwweGNhLDB4MDAgfSB9LAoteyAgMTYsIDB4OWEwMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MDEsMHgxNCwweDAwLDB4ODcsMHg0MiwweDJiLDB4YzAgfSB9LAoteyAgMTYsIDB4OWExMCwgMCwgezB4MjksMHg3MCwweDIyLDB4OWMsMHgwMCwweGI2LDB4MDAsMHgyYiwweGMyLDB4MGEsMHg2MCwweDg2LDB4MWMsMHgwMCwweGI3LDB4MjEgfSB9LAoteyAgMTYsIDB4OWEyMCwgMCwgezB4MjksMHhjMCwweDAwLDB4NzQsMHgwMiwweDVjLDB4MDAsMHgzNywweDkxLDB4MDEsMHhlMCwweDA4LDB4NzQsMHgwMiwweGE4LDB4MDAgfSB9LAoteyAgMTYsIDB4OWEzMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZSwweDAwLDB4YzcsMHg4MCwweDIxLDB4ZTAgfSB9LAoteyAgMTYsIDB4OWE0MCwgMCwgezB4MmYsMHg3OCwweDAyLDB4OWUsMHgwMCwweDk2LDB4ODAsMHgzOSwweGUwLDB4MmUsMHhmOCwweDAzLDB4ZGUsMHgzMCwweGY3LDB4ZDAgfSB9LAoteyAgMTYsIDB4OWE1MCwgMCwgezB4MmQsMHhmMiwweDAwLDB4NzgsMHgwMywweDUyLDB4MDAsMHhmNywweGEyLDB4M2IsMHhlMCwweDBlLDB4NzgsMHgwNywweGVhLDB4MDIgfSB9LAoteyAgMTYsIDB4OWE2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MWQsMHhiNCwweDAwLDB4ZmIsMHgwMCwweDBjLDB4YzAgfSB9LAoteyAgMTYsIDB4OWE3MCwgMCwgezB4MGYsMHgzMCwweDAzLDB4ZWMsMHgxMCwweGQzLDB4MDAsMHhiNCwweGMwLDB4MmYsMHg4MCwweDAzLDB4NmMsMHg0OCwweGZiLDB4MDAgfSB9LAoteyAgMTYsIDB4OWE4MCwgMCwgezB4M2UsMHhjOCwweDRkLDB4OTAsMHgwMywweGE0LDB4MDAsMHhmYiwweDIwLDB4MWUsMHhjMCwweDBmLDB4YjAsMHgwMywweGMyLDB4MDYgfSB9LAoteyAgMTYsIDB4OWE5MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmZSwweDAwLDB4Y2MsMHg4MCwweDJiLDB4MmMgfSB9LAoteyAgMTYsIDB4OWFhMCwgMCwgezB4MmYsMHhmOCwweDAzLDB4N2UsMHgwMCwweDZlLDB4ODAsMHgzYiwweGExLDB4MGQsMHhkOCwweDQzLDB4M2UsMHgwMCwweGZmLDB4OTAgfSB9LAoteyAgMTYsIDB4OWFiMCwgMCwgezB4MzMsMHhlMCwweDBmLDB4ZTksMHgzMywweGZlLDB4MDAsMHhjZiwweGMwLDB4M2YsMHhlMiwweDBmLDB4ZDgsMHgwMywweGMwLDB4MDAgfSB9LAoteyAgMTYsIDB4OWFjMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTEsMHhiNCwweDQwLDB4ODcsMHgwMCwweDIxLDB4MDQgfSB9LAoteyAgMTYsIDB4OWFkMCwgMCwgezB4MDgsMHg3OCwweDAyLDB4MWMsMHgwMCwweDg2LDB4MDAsMHgyMSwweGMwLDB4MjgsMHg5MCwweDAyLDB4ZGMsMHgwMCwweGI3LDB4MTAgfSB9LAoteyAgMTYsIDB4OWFlMCwgMCwgezB4MjEsMHhjMCwweDBmLDB4NzMsMHgwMiwweGNjLDB4MDAsMHg4NywweDAwLDB4MmQsMHhjMCwweDBiLDB4NTAsMHgwMiwweGVhLDB4MDAgfSB9LAoteyAgMTYsIDB4OWFmMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5ZCwweDAwLDB4YTQsMHgwMCwweDI5LDB4NDggfSB9LAoteyAgMTYsIDB4OWIwMCwgMCwgezB4NmEsMHhmMCwweDgyLDB4NGMsMHgwMCwweGFlLDB4MDAsMHhhMSwweGM0LDB4MjksMHg3NCwweDAyLDB4NWMsMHg0MCwweGEzLDB4MTAgfSB9LAoteyAgMTYsIDB4OWIxMCwgMCwgezB4NjEsMHhjMiwweDBiLDB4NjAsMHgwNiwweGM4LDB4MDAsMHg4NywweDAwLDB4MmQsMHhjMCwweDBiLDB4NTAsMHgwMiwweGMwLDB4MDQgfSB9LAoteyAgMTYsIDB4OWIyMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIwLDB4MTQsMHhlNiwweDAxLDB4YTMsMHgwMiwweDIwLDB4NDAgfSB9LAoteyAgMTYsIDB4OWIzMCwgMCwgezB4MjgsMHgzYywweDAyLDB4MGMsMHgwMCwweDgzLDB4NDIsMHgyMCwweGM4LDB4MDgsMHgxMCwweDAyLDB4Y2QsMHgwMCwweGIzLDB4MDAgfSB9LAoteyAgMTYsIDB4OWI0MCwgMCwgezB4MjgsMHhmMCwweDBiLDB4MzAsMHgwMiwweGNjLDB4MDEsMHg4MywweDA0LDB4MmMsMHhjMCwweDgzLDB4MTAsMHgwMiwweGM4LDB4MDQgfSB9LAoteyAgMTYsIDB4OWI1MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhhYSwweDgwLDB4ZWIsMHgwMCwweDM4LDB4YzAgfSB9LAoteyAgMTYsIDB4OWI2MCwgMCwgezB4MGEsMHg5MCwweDAzLDB4N2MsMHgyMiwweGEyLDB4NDAsMHgzMiwweDQ4LDB4MGQsMHhiMCwweDBiLDB4M2UsMHgwMCwweGZmLDB4MDAgfSB9LAoteyAgMTYsIDB4OWI3MCwgMCwgezB4MzMsMHhmNCwweDBmLDB4OTAsMHgwMywweGVjLDB4MDAsMHg4ZiwweDAyLDB4M2YsMHhjMCwweDBmLDB4OTAsMHgwMywweGVhLDB4MDQgfSB9LAoteyAgMTYsIDB4OWI4MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDAsMHhlMCwweDAwLDB4ZDksMHgwMiwweDNlLDB4YzAgfSB9LAoteyAgMTYsIDB4OWI5MCwgMCwgezB4MGUsMHhiNiwweDAzLDB4ZWMsMHgwMCwweGZhLDB4MjAsMHgzZSwweGMwLDB4NGYsMHgyNCwweDIzLDB4YWMsMHg2MCwweGZiLDB4MDAgfSB9LAoteyAgMTYsIDB4OWJhMCwgMCwgezB4YTYsMHhjMCwweDBlLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmYiwweDAwLDB4M2MsMHhjMSwweDBmLDB4OTAsMHgwMywweGUwLDB4MDAgfSB9LAoteyAgMTYsIDB4OWJiMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmOCwweDAyLDB4Y2YsMHgwMCwweDMzLDB4ZTAgfSB9LAoteyAgMTYsIDB4OWJjMCwgMCwgezB4MmMsMHhmMCwweDEzLDB4YmMsMHgwMCwweDJlLDB4MTAsMHhiMSwweDY0LDB4MmUsMHhmMCwweDAyLDB4M2MsMHgwMCwweGZmLDB4MDIgfSB9LAoteyAgMTYsIDB4OWJkMCwgMCwgezB4M2YsMHhjMSwweDRkLDB4ZWMsMHg2MywweGZlLDB4MDAsMHhiNywweDAwLDB4M2IsMHhjMCwweDBjLDB4ZDgsMHgwMywweGMwLDB4NDQgfSB9LAoteyAgMTYsIDB4OWJlMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDQsMHg2YywweDI4LDB4ODEsMHg4MSwweDIyLDB4ZTAgfSB9LAoteyAgMTYsIDB4OWJmMCwgMCwgezB4MGEsMHgzOCwweDAyLDB4M2MsMHgwNCwweGJhLDB4YzksMHgzMiwweGUwLDB4MjAsMHg4NCwweDAyLDB4MmMsMHgwMCwweGJiLDB4MDAgfSB9LAoteyAgMTYsIDB4OWMwMCwgMCwgezB4MmUsMHhjMCwweDBiLDB4OWMsMHgwMiwweGU3LDB4ODEsMHhiYiwweDA0LDB4MjIsMHhjMCwweDBhLDB4OTksMHgwMiwweGUwLDB4MDAgfSB9LAoteyAgMTYsIDB4OWMxMCwgMCwgezB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyOCwweDQwLDB4ODgsMHg4MCwweDIyLDB4ODggfSB9LAoteyAgMTYsIDB4OWMyMCwgMCwgezB4MjgsMHhiYywweDQyLDB4YWMsMHgwMCwweGJhLDB4MDAsMHgyYSwweDgwLDB4MDgsMHg4NCwweDAyLDB4YWMsMHgwMCwweGJiLDB4MDAgfSB9LAoteyAgMTYsIDB4OWMzMCwgMCwgezB4MmUsMHhjMCwweDBiLDB4YjAsMHg4MiwweGU4LDB4OTAsMHhhYiwweDAwLDB4NjIsMHhjMCwweDA4LDB4YjAsMHgxMiwweGUwLDB4MDAgfSB9LAoteyAgMTYsIDB4OWM0MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDQsMHgwMCwweDAwLDB4ODksMHgwMCwweDJhLDB4ODAgfSB9LAoteyAgMTYsIDB4OWM1MCwgMCwgezB4MjgsMHhiMiwweDAyLDB4MGMsMHgwMCwweGJhLDB4MDAsMHgyMCwweGMwLDB4MDgsMHgwMCwweDAyLDB4OGMsMHgwMCwweGIzLDB4MDAgfSB9LAoteyAgMTYsIDB4OWM2MCwgMCwgezB4MmMsMHhjMCwweDBiLDB4MzAsMHgyMCwweDRjLDB4MTQsMHhiMywweDAwLDB4MjAsMHhjMCwweDA4LDB4MzAsMHgwMiwweGMyLDB4MDEgfSB9LAoteyAgMTYsIDB4OWM3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2OCwweDAwLDB4YzgsMHgwMCwweGIyLDB4YzAgfSB9LAoteyAgMTYsIDB4OWM4MCwgMCwgezB4MmMsMHhiMiwweDAzLDB4YWMsMHgwMCwweGZhLDB4MDAsMHgzYSwweGMwLDB4NGUsMHhhNSwweDAzLDB4YmMsMHgwMCwweGZmLDB4MDAgfSB9LAoteyAgMTYsIDB4OWM5MCwgMCwgezB4M2YsMHhjMCwweDA5LDB4YTAsMHgwMywweGU5LDB4MDQsMHhlZiwweDAwLDB4YmEsMHhjMCwweDBjLDB4YjAsMHgwMSwweGMwLDB4MDEgfSB9LAoteyAgMTYsIDB4OWNhMCwgMCwgezB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTksMHhmYywweDAwLDB4ZjUsMHgwMCwweDM1LDB4YzAgfSB9LAoteyAgMTYsIDB4OWNiMCwgMCwgezB4YWYsMHgzNCwweDAzLDB4ZmMsMHgwMCwweGY0LDB4MDAsMHgzOSwweGMwLDB4MGYsMHhjMiwweDAzLDB4N2MsMHgwMCwweGZmLDB4MDEgfSB9LAoteyAgMTYsIDB4OWNjMCwgMCwgezB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGZjLDB4YTAsMHhmZiwweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGU4LDB4MDUgfSB9LAoteyAgMTYsIDB4OWNkMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmYywweDAwLDB4ZmYsMHgyOSwweDNkLDB4MjAgfSB9LAoteyAgMTYsIDB4OWNlMCwgMCwgezB4OGUsMHhjMSwweDAzLDB4MzIsMHg0OCwweGRjLDB4ODAsMHgyMywweDI1LDB4MGUsMHhmMiwweDAzLDB4M2MsMHhjMCwweGRmLDB4ODQgfSB9LAoteyAgMTYsIDB4OWNmMCwgMCwgezB4MzMsMHhjOSwweDBmLDB4ZjIsMHgwMywweGZjLDB4MDAsMHhjZiwweDgwLDB4MzMsMHg0MCwweDBjLDB4ZjIsMHgwMywweDMwLDB4MDAgfSB9LAoteyAgMTYsIDB4OWQwMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MTAsMHhlYywweGMwLDB4YmIsMHg2MCwweDJlLDB4MDggfSB9LAoteyAgMTYsIDB4OWQxMCwgMCwgezB4MDgsMHg4MSwweDAyLDB4MjAsMHgwNCwweDg4LDB4MjAsMHgyMCwweDQ4LDB4MDgsMHhmMSwweDgyLDB4MmQsMHhjMCwweDgzLDB4MDAgfSB9LAoteyAgMTYsIDB4OWQyMCwgMCwgezB4MjIsMHhkNCwweDA5LDB4ZjUsMHgwMiwweGZjLDB4MDgsMHg4YiwweDAxLDB4MjIsMHg0MCwweDI4LDB4YjQsMHgwMiwweDIwLDB4MDQgfSB9LAoteyAgMTYsIDB4OWQzMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDIwLDB4YjMsMHgwOSwweDJjLDB4ODIgfSB9LAoteyAgMTYsIDB4OWQ0MCwgMCwgezB4MDgsMHgxMCwweDE2LDB4YTAsMHgxMCwweDkwLDB4MDgsMHgyOCwweDQ4LDB4MGEsMHgzMiwweDAyLDB4MGMsMHgwMCwweGJiLDB4MDAgfSB9LAoteyAgMTYsIDB4OWQ1MCwgMCwgezB4MmMsMHhjMCwweDBiLDB4MzAsMHgwMiwweGNjLDB4MDIsMHg5MywweDAxLDB4MjAsMHgwMCwweDhhLDB4MzEsMHgyMiwweGUyLDB4MDEgfSB9LAoteyAgMTYsIDB4OWQ2MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MTUsMHhhYywweDA0LDB4YmIsMHgwMCwweDJjLDB4ODAgfSB9LAoteyAgMTYsIDB4OWQ3MCwgMCwgezB4MDgsMHg4NiwweDAyLDB4YTAsMHgyMCwweGEwLDB4MDAsMHgyYSwweDYwLDB4MGEsMHhiMCwweDEwLDB4MmMsMHgwMCwweGFiLDB4MGMgfSB9LAoteyAgMTYsIDB4OWQ4MCwgMCwgezB4NmUsMHhjMCwweDA5LDB4YjAsMHgwMiwweGNjLDB4MDAsMHg5YiwweDAwLDB4MjIsMHg2MCwweDBhLDB4YjAsMHgwMiwweGYwLDB4MDQgfSB9LAoteyAgMTYsIDB4OWQ5MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTUsMHhlYywweDAwLDB4YmIsMHgwMCwweDNlLDB4MzQgfSB9LAoteyAgMTYsIDB4OWRhMCwgMCwgezB4MDgsMHhhMCwweDBiLDB4ODMsMHgwMCwweGQ5LDB4MDIsMHgzYSwweGUwLDB4MmUsMHhiMCwweDBiLDB4MmMsMHgwMCwweGY4LDB4ODAgfSB9LAoteyAgMTYsIDB4OWRiMCwgMCwgezB4M2UsMHhjMCwweDRmLDB4YjAsMHgwMywweGVjLDB4MDAsMHhjYSwweDQwLDB4YjIsMHg3MiwweDBlLDB4YjAsMHgwYiwweGMwLDB4MDQgfSB9LAoteyAgMTYsIDB4OWRjMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDEsMHhiYywweDEwLDB4ZmIsMHgwMCwweDNmLDB4MDAgfSB9LAoteyAgMTYsIDB4OWRkMCwgMCwgezB4MGQsMHhmOCwweDEzLDB4NzAsMHg0OCwweGRkLDB4NDAsMHgzNywweGMyLDB4OGQsMHhmMCwweDAzLDB4ZGMsMHgwMCwweGRkLDB4YzggfSB9LAoteyAgMTYsIDB4OWRlMCwgMCwgezB4MTMsMHhjMCwweDBmLDB4ZjAsMHgwMywweGZjLDB4MDAsMHhlZSwweDQwLDB4N2YsMHg0MCwweDBkLDB4NzAsMHgwMywweDM4LDB4MDAgfSB9LAoteyAgMTYsIDB4OWRmMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhYywweDAwLDB4ZmIsMHgwMSwweDMyLDB4YzAgfSB9LAoteyAgMTYsIDB4OWUwMCwgMCwgezB4MDQsMHgxMCwweDAzLDB4MjAsMHg0MCwweGU4LDB4MTAsMHgzYSwweGMwLDB4MGQsMHhiMCwweDAzLDB4YWMsMHgwOCwweGY4LDB4NDAgfSB9LAoteyAgMTYsIDB4OWUxMCwgMCwgezB4YjIsMHhjMCwweDJjLDB4YjAsMHgzMywweGE0LDB4ODIsMHhkYSwweDQwLDB4YmEsMHg0MCwweDBmLDB4YjAsMHgwMywweGQwLDB4MDQgfSB9LAoteyAgMTYsIDB4OWUyMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM4LDB4MDUsMHgzYywweDA4LDB4YmYsMHg4MCwweDIyLDB4YzggfSB9LAoteyAgMTYsIDB4OWUzMCwgMCwgezB4MDgsMHhiNywweDAwLDB4MjMsMHg0NCwweDg4LDB4ZDAsMHgyMiwweGQwLDB4MDgsMHg3MCwweDgyLDB4ZmMsMHgwMCwweGIyLDB4ZTAgfSB9LAoteyAgMTYsIDB4OWU0MCwgMCwgezB4MDMsMHhmNCwweDA4LDB4ZjUsMHgwMiwweDM3LDB4MDQsMHg4YiwweGQxLDB4MjIsMHg2MCwweDRiLDB4ZmQsMHgwMiwweGYyLDB4MDAgfSB9LAoteyAgMTYsIDB4OWU1MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0YywweDAwLDB4YjMsMHgxMCwweGE0LDB4NDAgfSB9LAoteyAgMTYsIDB4OWU2MCwgMCwgezB4MDgsMHgwMCwweDAyLDB4NDgsMHgwMCwweGEwLDB4NDIsMHgyYSwweGQwLDB4MDEsMHgzMCwweDAyLDB4OGMsMHgwMCwweGIzLDB4ODAgfSB9LAoteyAgMTYsIDB4OWU3MCwgMCwgezB4MmMsMHhjMCwweDA5LDB4MzEsMHgwMiwweGNjLDB4MDAsMHg4OSwweDAwLDB4MjIsMHhlOCwweDAzLDB4MzgsMHgwMiwweGY4LDB4MDAgfSB9LAoteyAgMTYsIDB4OWU4MCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDYwLDB4MDEsMHgxZSwweDAwLDB4YjcsMHg4MCwweDI3LDB4NjQgfSB9LAoteyAgMTYsIDB4OWU5MCwgMCwgezB4NjgsMHg0YSwweDAyLDB4NTIsMHgwMCwweDhjLDB4ODAsMHgyMSwweGUwLDB4MDgsMHg3OCwweDAyLDB4ZGUsMHgwMCwweGI3LDB4ODAgfSB9LAoteyAgMTYsIDB4OWVhMCwgMCwgezB4MmQsMHhlMiwweDE5LDB4MzksMHgwMiwweDVlLDB4MzAsMHg4NSwweDk4LDB4MjEsMHhlNCwweDBiLDB4NzksMHgwMiwweGQ4LDB4MDAgfSB9LAoteyAgMTYsIDB4OWViMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDAwLDB4ZjMsMHgyMCwweDM0LDB4MDAgfSB9LAoteyAgMTYsIDB4OWVjMCwgMCwgezB4MGMsMHhiOCwweDAzLDB4NDgsMHg4MCwweGUyLDB4MjIsMHgzOCwweGMwLDB4MGQsMHgzMCwweDAzLDB4OGMsMHgwMCwweGYzLDB4MDAgfSB9LAoteyAgMTYsIDB4OWVkMCwgMCwgezB4M2UsMHhjMCwweDBkLDB4MzEsMHgwMywweGVjLDB4MDAsMHhjYiwweDAwLDB4MzgsMHgwNiwweDBmLDB4MzAsMHg4MywweGQyLDB4MDIgfSB9LAoteyAgMTYsIDB4OWVlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MWQsMHhiYywweDAwLDB4ZmYsMHgwMCwweDNiLDB4MDEgfSB9LAoteyAgMTYsIDB4OWVmMCwgMCwgezB4MGYsMHhkMCwweDAzLDB4OTAsMHgwMCwweGY2LDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmNCwweDAxLDB4ZmMsMHgwMCwweGZmLDB4MDEgfSB9LAoteyAgMTYsIDB4OWYwMCwgMCwgezB4MzMsMHhjMiwweDBlLDB4ZjUsMHgxMywweGJjLDB4MDAsMHhlZCwweDAwLDB4M2YsMHhjNCwweDBmLDB4ZjAsMHgwMywweGQwLDB4MDYgfSB9LAoteyAgMTYsIDB4OWYxMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlYywweDAwLDB4ZmIsMHgwMCwweDNjLDB4YzAgfSB9LAoteyAgMTYsIDB4OWYyMCwgMCwgezB4MGUsMHhhMCwweDAxLDB4NjQsMHgwMSwweGQ4LDB4MDAsMHgzMiwweGUwLDB4MmMsMHhiNSwweDAzLDB4MmMsMHgwMCwweGYyLDB4MDAgfSB9LAoteyAgMTYsIDB4OWYzMCwgMCwgezB4N2EsMHhjMCwweDBkLDB4YjQsMHgwMywweDJkLDB4ODAsMHhjOSwweDAyLDB4MzIsMHhjMCwweDBjLDB4YjAsMHgwMywweDJhLDB4MDAgfSB9LAoteyAgMTYsIDB4OWY0MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MTEsMHg5YywweDgwLDB4YjcsMHgwMCwweDJkLDB4YzAgfSB9LAoteyAgMTYsIDB4OWY1MCwgMCwgezB4MGQsMHg2MCwweDAyLDB4ZDAsMHgwMSwweDg0LDB4MDAsMHgyMSwweGMwLDB4MDgsMHgzMCwweDAyLDB4MWQsMHgwMCwweGI3LDB4MDAgfSB9LAoteyAgMTYsIDB4OWY2MCwgMCwgezB4MjEsMHhjOCwweDBiLDB4ZjQsMHgwMywweDFlLDB4YzAsMHg4NiwweDAwLDB4MjEsMHhjMCwweDA4LDB4N2MsMHgwMywweDUyLDB4MDQgfSB9LAoteyAgMTYsIDB4OWY3MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZSwweGMwLDB4YjcsMHg5MCwweDJkLDB4ZTAgfSB9LAoteyAgMTYsIDB4OWY4MCwgMCwgezB4MDgsMHg3OCwweDA2LDB4ZDYsMHgwMSwweGI0LDB4ODIsMHgyMSwweGUwLDB4MDgsMHg3OCwweDBhLDB4MWUsMHgwMCwweGI1LDB4YzAgfSB9LAoteyAgMTYsIDB4OWY5MCwgMCwgezB4MjksMHhlOCwweDA5LDB4NzgsMHgwMiwweDM2LDB4YzEsMHg5NywweDgwLDB4MjgsMHhiMCwweDBhLDB4N2EsMHgwMiwweDMwLDB4MDAgfSB9LAoteyAgMTYsIDB4OWZhMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MTQsMHhjYywweDAwLDB4YmIsMHgwMCwweDJjLDB4ZTAgfSB9LAoteyAgMTYsIDB4OWZiMCwgMCwgezB4MDksMHgzNSwweDgyLDB4YzAsMHhjMSwweGEwLDB4NTEsMHgyMCwweGU0LDB4MDgsMHgzMCwweDAyLDB4OGMsMHgwMCwweGJiLDB4YzQgfSB9LAoteyAgMTYsIDB4OWZjMCwgMCwgezB4MjAsMHhjMCwweDBiLDB4MzAsMHgwMiwweDA2LDB4MDAsMHg5MywweDE4LDB4YWEsMHhiMCwweDJhLDB4MzAsMHgwYSwweDUyLDB4MDQgfSB9LAoteyAgMTYsIDB4OWZkMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOCwweDAwLDB4ZmEsMHgwMSwweDNkLDB4YWMgfSB9LAoteyAgMTYsIDB4OWZlMCwgMCwgezB4NGMsMHhlYywweDEzLDB4NzgsMHgxMCwweGY2LDB4ODAsMHhiMywweDkwLDB4MGMsMHhhMCwweDAzLDB4MjgsMHgwMCwweGZlLDB4MDAgfSB9LAoteyAgMTYsIDB4OWZmMCwgMCwgezB4M2EsMHg4MSwweDBkLDB4YTAsMHgwZiwweDJhLDB4ODAsMHhkZSwweDA0LDB4M2IsMHhhMCwweDBlLDB4YTAsMHgwMywweDNhLDB4MDQgfSB9LAoteyAgMTYsIDB4YTAwMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDAsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDAgfSB9LAoteyAgMTYsIDB4YTAxMCwgMCwgezB4MGQsMHg4MCwweDAyLDB4ZTEsMHgwMCwweGQ4LDB4NDgsMHgzZSwweDEyLDB4MGYsMHg4MCwweDEzLDB4NjAsMHgwMCwweGY4LDB4NjAgfSB9LAoteyAgMTYsIDB4YTAyMCwgMCwgezB4M2UsMHgwMCwweDA3LDB4ODAsMHgwMywweGEwLDB4MDIsMHhlOCwweDA0LDB4MjYsMHgwOCwweDA1LDB4ODAsMHgwMywweDkyLDB4MDAgfSB9LAoteyAgMTYsIDB4YTAzMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDAwLDB4ZjksMHgwNCwweDNhLDB4NDAgfSB9LAoteyAgMTYsIDB4YTA0MCwgMCwgezB4MGMsMHgxMiwweDAzLDB4MjQsMHg4MiwweGM5LDB4MDAsMHgzNiwweDQ0LDB4MGYsMHgxMCwweDAzLDB4MjQsMHgwMCwweGY5LDB4MDAgfSB9LAoteyAgMTYsIDB4YTA1MCwgMCwgezB4MzYsMHg0MCwweDA0LDB4OTAsMHgwMywweDA0LDB4MDAsMHhjOSwweDAwLDB4MTIsMHg0MCwweDBjLDB4OTAsMHgwMywweDAyLDB4MDQgfSB9LAoteyAgMTYsIDB4YTA2MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDQsMHg2NCwweDAwLDB4YjksMHg4MSwweDIyLDB4NDAgfSB9LAoteyAgMTYsIDB4YTA3MCwgMCwgezB4MDgsMHg5MCwweDFhLDB4MjQsMHgwMCwweDg5LDB4MDAsMHgyMiwweDY4LDB4MGIsMHg5OSwweDAyLDB4MjQsMHgwMCwweGI5LDB4MDAgfSB9LAoteyAgMTYsIDB4YTA4MCwgMCwgezB4MjIsMHg0MCwweDY4LDB4OTAsMHgwYSwweDI0LDB4MDAsMHg4OSwweDAwLDB4YTIsMHg0MCwweDA4LDB4OTAsMHgwYSwweDIwLDB4MDAgfSB9LAoteyAgMTYsIDB4YTA5MCwgMCwgezB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDAwLDB4YjksMHgxMCwweDIyLDB4ZTAgfSB9LAoteyAgMTYsIDB4YTBhMCwgMCwgezB4MDgsMHg5NCwweDAwLDB4MDQsMHgwNCwweDhiLDB4MDgsMHgyNiwweGMwLDB4MGIsMHg5MCwweDAyLDB4MjQsMHgwNCwweGI5LDB4MGMgfSB9LAoteyAgMTYsIDB4YTBiMCwgMCwgezB4MjQsMHg0MCwweDBhLDB4MTAsMHgwMiwweDI0LDB4MDAsMHgyMywweDAyLDB4MmEsMHg0MCwweGE4LDB4MTAsMHgwMiwweDA2LDB4MDAgfSB9LAoteyAgMTYsIDB4YTBjMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDQsMHgwNCwweDkwLDB4YjEsMHgyMCwweDIyLDB4NDAgfSB9LAoteyAgMTYsIDB4YTBkMCwgMCwgezB4MDgsMHgxMiwweDAyLDB4MGMsMHgxMCwweDgxLDB4MDIsMHhhMCwweDUwLDB4MGIsMHgxMiwweDAyLDB4MDQsMHg4MCwweGIxLDB4MDUgfSB9LAoteyAgMTYsIDB4YTBlMCwgMCwgezB4MDAsMHg0OCwweDBhLDB4MTAsMHgwMiwweDA0LDB4YTAsMHhhMSwweDAwLDB4MjgsMHg0YSwweDA4LDB4MTIsMHgwMCwweDAyLDB4MDEgfSB9LAoteyAgMTYsIDB4YTBmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MSwweDQwLDB4ZjgsMHg1MCwweGJhLDB4MTQgfSB9LAoteyAgMTYsIDB4YTEwMCwgMCwgezB4MGMsMHg4NSwweDAzLDB4MDEsMHg0MiwweGM4LDB4NTAsMHgzNCwweDAwLDB4MGYsMHg4NSwweDAzLDB4MjEsMHg0MCwweGY4LDB4MDAgfSB9LAoteyAgMTYsIDB4YTExMCwgMCwgezB4MzYsMHgwMCwweDBlLDB4ODAsMHgxMywweDIwLDB4ODAsMHhlMCwweDAwLDB4MWEsMHgwOCwweDBjLDB4MDAsMHgwMywweDJlLDB4MDMgfSB9LAoteyAgMTYsIDB4YTEyMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDk4LDB4MWQsMHhlNCwweDQ0LDB4ZjksMHgxMCwweDNmLDB4NDAgfSB9LAoteyAgMTYsIDB4YTEzMCwgMCwgezB4MmYsMHhkMSwweDEzLDB4ZjQsMHgwNCwweGY1LDB4MDAsMHgzZiwweDQwLDB4MGYsMHg5MSwweDBiLDB4ZTQsMHg0MCwweGZmLDB4MjggfSB9LAoteyAgMTYsIDB4YTE0MCwgMCwgezB4YmUsMHg0ZSwweDBkLDB4OTYsMHg4MywweGQ0LDB4YTIsMHhkZCwweDI4LDB4MzcsMHg0YSwweDBmLDB4OTMsMHg4MywweGU2LDB4MDYgfSB9LAoteyAgMTYsIDB4YTE1MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDk4LDB4MDUsMHhlNCwweDEwLDB4Y2QsMHgwMCwweDNmLDB4NDAgfSB9LAoteyAgMTYsIDB4YTE2MCwgMCwgezB4MGYsMHhkMCwweDAzLDB4MzUsMHgwMiwweDVkLDB4MDEsMHgzMSwweDQ0LDB4MGYsMHhkMCwweDAzLDB4MjQsMHgwMCwweGY5LDB4MDAgfSB9LAoteyAgMTYsIDB4YTE3MCwgMCwgezB4MzIsMHg2MCwweDBjLDB4OTgsMHg4MywweGU2LDB4NDAsMHhkOSwweDAwLDB4MzYsMHg2YSwweDBjLDB4OWUsMHg4MywweDI2LDB4MDEgfSB9LAoteyAgMTYsIDB4YTE4MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDM4LDB4MTAsMHhlMCwweDAwLDB4ODgsMHgwMCwweDJlLDB4MDAgfSB9LAoteyAgMTYsIDB4YTE5MCwgMCwgezB4MGIsMHg4MCwweDQyLDB4MDIsMHg4MCwweDhhLDB4MDAsMHgyMiwweDIwLDB4ODgsMHg4MCwweDAzLDB4MjAsMHgwOCwweGI4LDB4ODIgfSB9LAoteyAgMTYsIDB4YTFhMCwgMCwgezB4MjIsMHgyMSwweDA4LDB4ODgsMHg4MiwweGUyLDB4NDIsMHg4OCwweGE4LDB4MjIsMHgyMCwweDA4LDB4Y2UsMHgwMiwweDBlLDB4MDQgfSB9LAoteyAgMTYsIDB4YTFiMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweDAyLDB4ODEsMHgwMCwweDY4LDB4NDAgfSB9LAoteyAgMTYsIDB4YTFjMCwgMCwgezB4MGIsMHgxMCwweDAyLDB4ODQsMHgwMSwweGI5LDB4MDAsMHgyMCwweDQwLDB4NDksMHgxMCwweDBhLDB4MDQsMHgwMCwweGI1LDB4MDggfSB9LAoteyAgMTYsIDB4YTFkMCwgMCwgezB4MjEsMHg0NiwweDA4LDB4NTAsMHgwMiwweGQ0LDB4MDAsMHg4ZCwweDIwLDB4MjUsMHg0YSwweDBiLDB4NTAsMHgwMiwweDQyLDB4MDEgfSB9LAoteyAgMTYsIDB4YTFlMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MTEsMHhhNCwweDAwLDB4ODksMHgwNCwweDZlLDB4NTQgfSB9LAoteyAgMTYsIDB4YTFmMCwgMCwgezB4MGIsMHgxMCwweDEyLDB4YTQsMHgwMSwweGE5LDB4MDAsMHhhMiwweDQwLDB4MTgsMHg5MCwweDE2LDB4MjQsMHgwMCwweGI5LDB4MDAgfSB9LAoteyAgMTYsIDB4YTIwMCwgMCwgezB4MjMsMHg0MCwweDE4LDB4ZDAsMHgwMiwweGY0LDB4MDAsMHg4ZCwweDQwLDB4MjEsMHg0YSwweDBiLDB4ZDAsMHgwMiwweDQ2LDB4MDQgfSB9LAoteyAgMTYsIDB4YTIxMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNCwweDAwLDB4YzksMHgwMCwweDNhLDB4NTAgfSB9LAoteyAgMTYsIDB4YTIyMCwgMCwgezB4OGYsMHg5NiwweDBiLDB4ODQsMHgwMiwweGYxLDB4MDEsMHgzMCwweDQ4LDB4OGQsMHg5MCwweDAzLDB4MjQsMHgxMCwweGY5LDB4MDAgfSB9LAoteyAgMTYsIDB4YTIzMCwgMCwgezB4YjIsMHg0MCwweDJjLDB4OTAsMHgwMywweGU2LDB4NDAsMHhkMSwweGMwLDB4MzYsMHg1MCwweDJmLDB4OTAsMHgwYiwweDY4LDB4MDQgfSB9LAoteyAgMTYsIDB4YTI0MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDEsMHhhNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NjAgfSB9LAoteyAgMTYsIDB4YTI1MCwgMCwgezB4MGYsMHg5OSwweGMzLDB4NjQsMHgwMCwweGQ5LDB4MjgsMHgzZSwweDQwLDB4MGQsMHg5MCwweDAzLDB4YTQsMHgwMCwweGY5LDB4NDAgfSB9LAoteyAgMTYsIDB4YTI2MCwgMCwgezB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGU0LDB4MjAsMHhmOSwweDQwLDB4M2UsMHg0MCwweDBjLDB4OTAsMHgwMywweDhhLDB4MDAgfSB9LAoteyAgMTYsIDB4YTI3MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMCwweDAwLDB4ZjgsMHgwMSwweDM2LDB4MDAgfSB9LAoteyAgMTYsIDB4YTI4MCwgMCwgezB4OGYsMHg4MCwweDAzLDB4ZTAsMHgwMiwweGY4LDB4MDQsMHgzMiwweDAwLDB4MGQsMHg4MCwweDQzLDB4MjAsMHgwMiwweGNjLDB4MDAgfSB9LAoteyAgMTYsIDB4YTI5MCwgMCwgezB4M2YsMHgwMCwweDBmLDB4YzAsMHgxMywweDkwLDB4MDIsMHhkYywweDQwLDB4M2YsMHgxMCwweDRjLDB4YzAsMHgyMywweDBhLDB4MDQgfSB9LAoteyAgMTYsIDB4YTJhMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHgyOCwweDAwLDB4YmEsMHgwMCwweDIyLDB4ODAgfSB9LAoteyAgMTYsIDB4YTJiMCwgMCwgezB4MGIsMHhlOCwweDIwLDB4ZjgsMHgwMCwweDRlLDB4YzAsMHgyMywweGEwLDB4MDgsMHhhMCwweDAzLDB4NjgsMHgwMCwweDhhLDB4MDAgfSB9LAoteyAgMTYsIDB4YTJjMCwgMCwgezB4MmUsMHg4MCwweDFmLDB4YTAsMHgwMiwweDJhLDB4MDYsMHg4YSwweDAwLDB4MmUsMHhhMCwweDAyLDB4NjAsMHgwMywweDBhLDB4MDAgfSB9LAoteyAgMTYsIDB4YTJkMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg2YywweDAwLDB4YjMsMHgwMCwweDIwLDB4YzAgfSB9LAoteyAgMTYsIDB4YTJlMCwgMCwgezB4MGIsMHgzZCwweDAyLDB4YzAsMHgwMywweDIzLDB4MDAsMHgyMCwweGUwLDB4MDEsMHhiMCwweDA2LDB4NGMsMHgwMCwweDhiLDB4MDAgfSB9LAoteyAgMTYsIDB4YTJmMCwgMCwgezB4MmUsMHhjMCwweDRiLDB4MzAsMHgwMiwweDhlLDB4MDgsMHg4MywweDgwLDB4MmMsMHhjNCwweDAwLDB4MzQsMHg4ZSwweDRhLDB4MDAgfSB9LAoteyAgMTYsIDB4YTMwMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MDEsMHgxYywweDgwLDB4YjUsMHg4MCwweDYxLDB4YzAgfSB9LAoteyAgMTYsIDB4YTMxMCwgMCwgezB4MGIsMHg0MCwweDAyLDB4ZDQsMHgwMCwweDg0LDB4MDgsMHgyMywweGMyLDB4MDgsMHg1MCwweDAyLDB4NWUsMHhjMCwweDg0LDB4MDEgfSB9LAoteyAgMTYsIDB4YTMyMCwgMCwgezB4MmQsMHgwMCwweDhhLDB4MDgsMHgwMiwweDEwLDB4MjQsMHg4NCwweDA4LDB4NmQsMHgwMCwweDBhLDB4MDMsMHgxMiwweDI4LDB4MDAgfSB9LAoteyAgMTYsIDB4YTMzMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZSwweDAwLDB4ZjUsMHg4MiwweDIxLDB4NjAgfSB9LAoteyAgMTYsIDB4YTM0MCwgMCwgezB4MGYsMHg3OCwweDAzLDB4ZDYsMHgwNCwweGFlLDB4ODAsMHgzMSwweGUwLDB4MGQsMHg1OCwweDIzLDB4N2UsMHgwMCwweGM2LDB4ODAgfSB9LAoteyAgMTYsIDB4YTM1MCwgMCwgezB4MmQsMHhlMCwweDBiLDB4NzgsMHgwMywweDhlLDB4MDAsMHhkNywweDgyLDB4M2QsMHhmMCwweDBjLDB4N2EsMHgwMywweDZhLDB4MDIgfSB9LAoteyAgMTYsIDB4YTM2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MWQsMHhhYywweDAwLDB4ZjEsMHgwMCwweGJhLDB4ZDggfSB9LAoteyAgMTYsIDB4YTM3MCwgMCwgezB4MGYsMHg4MCwweDAzLDB4ZTQsMHgxMiwweGY4LDB4MDAsMHhiZSwweDgwLDB4MGUsMHgxMCwweDAzLDB4ZWMsMHgwMCwweGY5LDB4MDAgfSB9LAoteyAgMTYsIDB4YTM4MCwgMCwgezB4M2UsMHgwMCwweDVmLDB4ODAsMHgwMywweGUwLDB4MDgsMHhmOCwweDA0LDB4M2MsMHgwMCwweDBmLDB4ODAsMHgwMywweGMyLDB4MDYgfSB9LAoteyAgMTYsIDB4YTM5MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDUsMHhmZSwweDIwLDB4ZmYsMHg4MCwweDNmLDB4ZjAgfSB9LAoteyAgMTYsIDB4YTNhMCwgMCwgezB4MGYsMHhmOCwweDAzLDB4ZDIsMHgwMCwweGVmLDB4ODQsMHhiMywweDYxLDB4MGMsMHhiOSwweDAzLDB4ZmUsMHgwMCwweGZmLDB4ODAgfSB9LAoteyAgMTYsIDB4YTNiMCwgMCwgezB4MzMsMHhlMCwweDBjLDB4ZjgsMHgxMywweDIyLDB4MTEsMHhjZCwweDkwLDB4M2YsMHg2MCwweDBjLDB4ZTgsMHgwMywweDEwLDB4MDAgfSB9LAoteyAgMTYsIDB4YTNjMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTEsMHg5YywweDAwLDB4ZjUsMHgwMCwweDJkLDB4YzAgfSB9LAoteyAgMTYsIDB4YTNkMCwgMCwgezB4MGIsMHgwMCwweDAyLDB4ZDQsMHgwNCwweDg0LDB4MjAsMHgyMywweDQwLDB4MDgsMHg1YSwweDAyLDB4ZGMsMHgwMCwweGI0LDB4MDAgfSB9LAoteyAgMTYsIDB4YTNlMCwgMCwgezB4MjEsMHgwMCwweDI4LDB4YzIsMHgwMiwweDFlLDB4MDQsMHg4NiwweDA0LDB4MmQsMHg4OCwweDA4LDB4ZDAsMHgwMiwweDJhLDB4MDQgfSB9LAoteyAgMTYsIDB4YTNmMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4MDAsMHg5YywweDAwLDB4YjUsMHgwMCwweDJkLDB4NDAgfSB9LAoteyAgMTYsIDB4YTQwMCwgMCwgezB4MGIsMHg3MCwweDAyLDB4ZjQsMHgyMCwweGE3LDB4MDQsMHgyMSwweGMwLDB4MGEsMHg1MCwweDAyLDB4ZGMsMHgwMCwweGJlLDB4MDAgfSB9LAoteyAgMTYsIDB4YTQxMCwgMCwgezB4MjEsMHhjMCwweDA4LDB4NzAsMHgxMiwweDAwLDB4MDAsMHg4NSwweDAwLDB4MmQsMHg0MCwweDg4LDB4NjgsMHgwYSwweDA0LDB4MDAgfSB9LAoteyAgMTYsIDB4YTQyMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDYwLDB4MTQsMHhjYywweDAwLDB4YTEsMHgwMCwweDJlLDB4YzAgfSB9LAoteyAgMTYsIDB4YTQzMCwgMCwgezB4MWIsMHgwOCwweDA2LDB4YzQsMHgyMCwweDgwLDB4MDAsMHgyMCwweDk4LDB4MWEsMHgxMCwweDAyLDB4Y2MsMHgwMCwweGIxLDB4MDggfSB9LAoteyAgMTYsIDB4YTQ0MCwgMCwgezB4MjAsMHgwMCwweDA4LDB4MDAsMHgwMiwweDBjLDB4MDEsMHg4MiwweGMwLDB4MmMsMHhhYywweDI4LDB4OTAsMHgyMiwweDE4LDB4MDQgfSB9LAoteyAgMTYsIDB4YTQ1MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhiYywweDAwLDB4YjMsMHgwMCwweDNlLDB4NDAgfSB9LAoteyAgMTYsIDB4YTQ2MCwgMCwgezB4MGYsMHhiYSwweDAzLDB4ZTUsMHgwMiwweGU5LDB4MDQsMHgzMiwweDkwLDB4YWUsMHhiMCwweDAzLDB4ZmMsMHgxMCwweGZiLDB4NDAgfSB9LAoteyAgMTYsIDB4YTQ3MCwgMCwgezB4YjIsMHgwMCwweDBjLDB4ODAsMHgwYiwweDJjLDB4MDIsMHg4MiwweDE4LDB4M2YsMHhhMCwweDBjLDB4ZDAsMHgwMywweDJlLDB4MDQgfSB9LAoteyAgMTYsIDB4YTQ4MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDkwLDB4MDAsMHhlYywweDA0LDB4ZmIsMHgwMSwweDNlLDB4NDAgfSB9LAoteyAgMTYsIDB4YTQ5MCwgMCwgezB4MGYsMHhiNiwweDQzLDB4ZTQsMHgwMCwweGY4LDB4MDAsMHgzZSwweDgwLDB4MDEsMHg5MCwweDAzLDB4ZWMsMHgwMCwweGY4LDB4ODEgfSB9LAoteyAgMTYsIDB4YTRhMCwgMCwgezB4M2UsMHhkMCwweDBkLDB4YjQsMHg1MywweGUwLDB4MDAsMHhmOSwweDQwLDB4M2UsMHg0MCwweDBmLDB4YTAsMHgwMywweGUwLDB4MDAgfSB9LAoteyAgMTYsIDB4YTRiMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MTAsMHhkYywweDAyLDB4Y2QsMHg4MCwweDMzLDB4NjAgfSB9LAoteyAgMTYsIDB4YTRjMCwgMCwgezB4MmMsMHhkYSwweDAzLDB4ZmMsMHgwMCwweGVjLDB4MDAsMHgzMywweDQwLDB4MGYsMHhmMiwweDAzLDB4N2MsMHgwNCwweGZlLDB4MDAgfSB9LAoteyAgMTYsIDB4YTRkMCwgMCwgezB4MzIsMHgwMCwweDBjLDB4YzgsMHgwMywweDNjLDB4MDAsMHhjZSwweDAwLDB4MzEsMHg4MCwweDBjLDB4ZDEsMHgwMywweDI0LDB4MDQgfSB9LAoteyAgMTYsIDB4YTRlMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDkxLDB4MDQsMHg2YywweDAwLDB4MDksMHgwMCwweDJhLDB4NjQgfSB9LAoteyAgMTYsIDB4YTRmMCwgMCwgezB4MDgsMHg4ZSwweDAyLDB4YzIsMHgxMCwweGEwLDB4MTAsMHgzZSwweDEwLDB4MGIsMHg5OCwweDAyLDB4ZWMsMHgwMCwweGI5LDB4MDAgfSB9LAoteyAgMTYsIDB4YTUwMCwgMCwgezB4MDIsMHhkOCwweDA4LDB4YmUsMHgyMiwweDIwLDB4MDAsMHg4OSwweDAwLDB4MjIsMHg1MCwweDA4LDB4YTAsMHgwMiwweDIwLDB4NDAgfSB9LAoteyAgMTYsIDB4YTUxMCwgMCwgezB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAwLDB4MGIsMHgyMCwweDIyLDB4NDAgfSB9LAoteyAgMTYsIDB4YTUyMCwgMCwgezB4MDgsMHhhMCwweDAyLDB4ZTUsMHg0MiwweGFiLDB4MDQsMHgyMiwweDE4LDB4MGIsMHhiMCwweDAyLDB4NmMsMHgwMCwweGIzLDB4MDAgfSB9LAoteyAgMTYsIDB4YTUzMCwgMCwgezB4MjAsMHgwNCwweDA4LDB4MDEsMHgwMiwweDAwLDB4MDQsMHhhOCwweDQwLDB4MjIsMHgxMCwweDA4LDB4ODAsMHgwMiwweDIwLDB4MDAgfSB9LAoteyAgMTYsIDB4YTU0MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDQsMHgwYywweDA4LDB4ODMsMHgwMCwweDI4LDB4NDAgfSB9LAoteyAgMTYsIDB4YTU1MCwgMCwgezB4MDgsMHgwNCwweDAyLDB4YzQsMHgwMiwweGE4LDB4MDAsMHgyYywweDAwLDB4MGIsMHgxMiwweDAyLDB4Y2MsMHgwMCwweGIwLDB4MDAgfSB9LAoteyAgMTYsIDB4YTU2MCwgMCwgezB4MjAsMHhjMCwweDQwLDB4MzAsMHgwMiwweDBjLDB4MDAsMHg4YiwweDAwLDB4YTgsMHhjMCwweDA4LDB4MzAsMHgwMiwweDAyLDB4MTEgfSB9LAoteyAgMTYsIDB4YTU3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MGQsMHg2YywweDAwLDB4YzksMHgwMCwweDMzLDB4NDAgfSB9LAoteyAgMTYsIDB4YTU4MCwgMCwgezB4MGMsMHhiMCwweDAzLDB4ZWMsMHgwMiwweGViLDB4MDAsMHgzMiwweDQwLDB4MGYsMHhiMCwweDAzLDB4NmMsMHgwMCwweGZhLDB4MDAgfSB9LAoteyAgMTYsIDB4YTU5MCwgMCwgezB4MzIsMHgwMCwweDBjLDB4ODAsMHgwMywweDIwLDB4ODAsMHhjOCwweDAwLDB4MzAsMHgwMCwweDBjLDB4ODAsMHgwMywweDIwLDB4MDMgfSB9LAoteyAgMTYsIDB4YTVhMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTksMHhmYywweDAwLDB4ZmQsMHgwMCwweDNmLDB4NDAgfSB9LAoteyAgMTYsIDB4YTViMCwgMCwgezB4MGYsMHhjMiwweDEzLDB4ZjAsMHgwMCwweGY0LDB4MDAsMHgzZiwweDAwLDB4NGYsMHhkNCwweDAzLDB4ZmMsMHgwMCwweGY1LDB4MDAgfSB9LAoteyAgMTYsIDB4YTVjMCwgMCwgezB4M2YsMHhjMCwweDhmLDB4ZjAsMHgwMywweGZjLDB4NDAsMHhmZiwweDAwLDB4MzcsMHhjMCwweDJmLDB4ZjAsMHgwMywweGU4LDB4MDYgfSB9LAoteyAgMTYsIDB4YTVkMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmMCwweDAwLDB4Y2MsMHgwMCwweDMzLDB4MDAgfSB9LAoteyAgMTYsIDB4YTVlMCwgMCwgezB4MGUsMHhkMCwweDBiLDB4MzMsMHgwMCwweGNjLDB4MDAsMHgzMywweGUwLDB4MGYsMHhjMCwweDgzLDB4N2MsMHgwMCwweGNmLDB4MjAgfSB9LAoteyAgMTYsIDB4YTVmMCwgMCwgezB4N2IsMHgwOSwweDhjLDB4ZjgsMHgwMywweGZlLDB4NTAsMHhjZiwweDM4LDB4M2YsMHhlMSwweDBkLDB4YzIsMHgwMywweGYwLDB4MDAgfSB9LAoteyAgMTYsIDB4YTYwMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MTAsMHhlMiwweDAwLDB4OTgsMHgwOCwweDIwLDB4ODAgfSB9LAoteyAgMTYsIDB4YTYxMCwgMCwgezB4MDgsMHg5OCwweDAyLDB4MjAsMHgwMCwweDg4LDB4ZDAsMHgyMiwweGUwLDB4MGUsMHhiNCwweDIyLDB4N2QsMHgxOSwweDlmLDB4NjkgfSB9LAoteyAgMTYsIDB4YTYyMCwgMCwgezB4MmUsMHg5MCwweDA4LDB4MzAsMHg5MiwweDI4LDB4ODEsMHhkYiwweDY0LDB4MmUsMHhlMSwweDg4LDB4MTYsMHhhMiwweGUwLDB4MDQgfSB9LAoteyAgMTYsIDB4YTYzMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjOCwweDAwLDB4OTAsMHgyNCwweDIwLDB4MDEgfSB9LAoteyAgMTYsIDB4YTY0MCwgMCwgezB4MDgsMHgxMCwweDE2LDB4MDAsMHg4MiwweDgzLDB4MDEsMHgyOCwweGMxLDB4MGIsMHgwMiwweDgyLDB4MGMsMHhlMCwweGEzLDB4MTAgfSB9LAoteyAgMTYsIDB4YTY1MCwgMCwgezB4MjgsMHgwZSwweDFiLDB4OTIsMHgwMiwweDg0LDB4ODQsMHg5MywweDIwLDB4MmUsMHhjMCwweDA4LDB4MzEsMHgwMiwweGUyLDB4MDEgfSB9LAoteyAgMTYsIDB4YTY2MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MTUsMHhhOCwweDEwLDB4OTgsMHgwMCwweDIyLDB4ODAgfSB9LAoteyAgMTYsIDB4YTY3MCwgMCwgezB4MDgsMHg5MCwweDAyLDB4MDAsMHg2MCwweDhhLDB4MTAsMHgyYSwweGMwLDB4MGEsMHgyMCwweDAyLDB4NmMsMHgxOCwweGJiLDB4MDAgfSB9LAoteyAgMTYsIDB4YTY4MCwgMCwgezB4NmUsMHg2MCwweDJiLDB4OTAsMHgwMiwweDQ2LDB4MjAsMHg4YiwweDAwLDB4MmUsMHhjMiwweDA4LDB4YjEsMHg4MiwweGYwLDB4MDQgfSB9LAoteyAgMTYsIDB4YTY5MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTEsMHhlNCwweDAyLDB4Y2IsMHgwMCwweGIyLDB4NDAgfSB9LAoteyAgMTYsIDB4YTZhMCwgMCwgezB4MmMsMHg5MiwweDAzLDB4MjcsMHgwMCwweDg4LDB4MDAsMHhiYSwweGMwLDB4MGYsMHg4OCwweDAzLDB4MmMsMHgwMCwweGViLDB4MDQgfSB9LAoteyAgMTYsIDB4YTZiMCwgMCwgezB4M2EsMHhhMCwweGNmLDB4MmMsMHhhMywweGVkLDB4MDAsMHg5YiwweDAwLDB4M2MsMHhmMCwweDJkLDB4OGMsMHgzMywweGQwLDB4MDQgfSB9LAoteyAgMTYsIDB4YTZjMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDEsMHhiNCwweDA0LDB4ZWYsMHgwMCwweDNmLDB4YzAgfSB9LAoteyAgMTYsIDB4YTZkMCwgMCwgezB4MGQsMHg1MSwweDAzLDB4ZjAsMHgwMCwweGYxLDB4ODEsMHgzNywweGMwLDB4MGUsMHhmNCwweDAzLDB4OWMsMHgxMCwweGNmLDB4MDAgfSB9LAoteyAgMTYsIDB4YTZlMCwgMCwgezB4M2QsMHg4MCwweDBjLDB4ZWMsMHgwNywweGI4LDB4MDgsMHhmZiwweDAyLDB4MWYsMHhjNCwweDBmLDB4YzgsMHgwMywweGY4LDB4MDAgfSB9LAoteyAgMTYsIDB4YTZmMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHg5ZSwweDAwLDB4YzMsMHgwMCwweDM4LDB4NDAgfSB9LAoteyAgMTYsIDB4YTcwMCwgMCwgezB4MGMsMHg5MiwweDAzLDB4YTQsMHg4MCwweGZiLDB4MjAsMHgzYSwweGMwLDB4MGQsMHg5NCwweDAzLDB4MmMsMHg0MCwweGZiLDB4MDAgfSB9LAoteyAgMTYsIDB4YTcxMCwgMCwgezB4M2UsMHgwMSwweDBmLDB4ODAsMHgwMywweGU1LDB4MDAsMHhlYiwweDAwLDB4M2EsMHhjMCwweDBkLDB4ODQsMHgwYiwweDEwLDB4MDQgfSB9LAoteyAgMTYsIDB4YTcyMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM4LDB4MDUsMHgyYywweDA4LDB4OGIsMHgwMiwweDIyLDB4YzAgfSB9LAoteyAgMTYsIDB4YTczMCwgMCwgezB4MDgsMHg5MiwweDAzLDB4MjEsMHgwMCwweDhiLDB4NDgsMHgyMiwweGMwLDB4MGIsMHhiNywweDAyLDB4M2QsMHg0MCwweDNmLDB4MDEgfSB9LAoteyAgMTYsIDB4YTc0MCwgMCwgezB4MjIsMHg3NCwweDBiLDB4OTAsMHgwMiwweDI4LDB4MDQsMHhiZiwweDAwLDB4YjIsMHhjMCwweDBiLDB4ODUsMHgwMiwweDMyLDB4MDAgfSB9LAoteyAgMTYsIDB4YTc1MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0MCwweDAxLDB4ODAsMHgwMCwweDI4LDB4MDAgfSB9LAoteyAgMTYsIDB4YTc2MCwgMCwgezB4MDgsMHgyYywweDEyLDB4ODgsMHg0MCwweGIwLDB4NDAsMHgwOCwweGMwLDB4MGIsMHgxOCwweDAyLDB4MGUsMHgwMCwweGIzLDB4MDAgfSB9LAoteyAgMTYsIDB4YTc3MCwgMCwgezB4MjgsMHgyMCwweDExLDB4MzAsMHgwMiwweDBjLDB4MDAsMHhiMywweDAwLDB4MjQsMHgwMCwweDA5LDB4MDAsMHgwNiwweDM4LDB4MDAgfSB9LAoteyAgMTYsIDB4YTc4MCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIwLDB4MDEsMHgxMiwweDAwLDB4ODQsMHg4MCwweDIxLDB4YTAgfSB9LAoteyAgMTYsIDB4YTc5MCwgMCwgezB4MjgsMHg2OCwweDEyLDB4M2EsMHgwMCwweDg0LDB4ODAsMHgyNSwweGUwLDB4OGIsMHg1OCwweDAyLDB4MWUsMHg0MCwweGI3LDB4ODIgfSB9LAoteyAgMTYsIDB4YTdhMCwgMCwgezB4MjEsMHhhNiwweDBiLDB4NzgsMHgwMiwweDFhLDB4MDAsMHhiNywweDgwLDB4MjEsMHgyMCwweDBiLDB4NTgsMHgwMiwweDA4LDB4MDAgfSB9LAoteyAgMTYsIDB4YTdiMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwOCwweDAwLDB4YzgsMHgyMSwweDM4LDB4MDkgfSB9LAoteyAgMTYsIDB4YTdjMCwgMCwgezB4MGMsMHgyOCwweDAzLDB4ODAsMHgwMSwweGYxLDB4MDAsMHgzOCwweGMwLDB4MGQsMHg4NSwweDAyLDB4MGMsMHgwMCwweGZiLDB4MDAgfSB9LAoteyAgMTYsIDB4YTdkMCwgMCwgezB4MzgsMHg4NSwweDBmLDB4MTAsMHgwMywweDhjLDB4MDAsMHhlYiwweDEwLDB4M2MsMHhjOCwweDBkLDB4MzAsMHgwMywweDEyLDB4MDIgfSB9LAoteyAgMTYsIDB4YTdlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MWQsMHg5OCwweDAwLDB4ZmMsMHgwMSwweDNmLDB4ODAgfSB9LAoteyAgMTYsIDB4YTdmMCwgMCwgezB4MGYsMHg2OCwweDAzLDB4ZDAsMHg0MCwweGZjLDB4MDAsMHgzYiwweGMwLDB4MGQsMHhjMCwweDAzLDB4ZmMsMHgyMCwweGZmLDB4MDAgfSB9LAoteyAgMTYsIDB4YTgwMCwgMCwgezB4M2IsMHhjNSwweDBmLDB4ZjAsMHgwYiwweGI0LDB4NDAsMHhmZiwweDE4LDB4M2YsMHgwMCwweDBmLDB4ZjEsMHgwMywweGQwLDB4MDYgfSB9LAoteyAgMTYsIDB4YTgxMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlNCwweDAwLDB4ZWIsMHgwMCwweGIwLDB4NDEgfSB9LAoteyAgMTYsIDB4YTgyMCwgMCwgezB4MGMsMHhhMCwweDAzLDB4ZTAsMHgwNCwweGNhLDB4MDQsMHhiMCwweGUwLDB4MGUsMHhiMCwweDAzLDB4ZWMsMHg4MCwweGNiLDB4MjAgfSB9LAoteyAgMTYsIDB4YTgzMCwgMCwgezB4MzIsMHg4MSwweDBjLDB4YTAsMHgwMywweGVlLDB4MDAsMHhkYiwweDAwLDB4M2UsMHgwMCwweDBlLDB4YjAsMHgwMywweDJhLDB4MDAgfSB9LAoteyAgMTYsIDB4YTg0MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MTEsMHg5NCwweDA0LDB4ODcsMHgwMCwweDIxLDB4YzAgfSB9LAoteyAgMTYsIDB4YTg1MCwgMCwgezB4NDgsMHg2MCwweDAyLDB4ZjAsMHgwMCwweDg3LDB4MDAsMHgyMSwweGMwLDB4MDgsMHg3MCwweDAyLDB4ZmMsMHhhMCwweDgzLDB4MjggfSB9LAoteyAgMTYsIDB4YTg2MCwgMCwgezB4YTMsMHg4MCwweDA4LDB4NjAsMHgwMiwweGRjLDB4MDAsMHg4NywweDIwLDB4MmQsMHhjMCwweDBiLDB4NzAsMHgwMiwweDEyLDB4MDQgfSB9LAoteyAgMTYsIDB4YTg3MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5YywweDAyLDB4YTMsMHg4MCwweDIxLDB4NjAgfSB9LAoteyAgMTYsIDB4YTg4MCwgMCwgezB4MDgsMHg2OCwweDAyLDB4ZDIsMHgwMCwweDg3LDB4ODAsMHgyMSwweGUwLDB4MjksMHg3OCwweDAyLDB4ZGUsMHg4MCwweDg3LDB4OTAgfSB9LAoteyAgMTYsIDB4YTg5MCwgMCwgezB4MjEsMHhhMCwweDE5LDB4NDgsMHgwMiwweGZlLDB4MDAsMHg5NywweDgwLDB4MmQsMHhlMCwweDBhLDB4MzgsMHg4MiwweDMwLDB4MDAgfSB9LAoteyAgMTYsIDB4YThhMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MTQsMHhjYywweDAxLDB4ODMsMHg4MCwweDIwLDB4YzAgfSB9LAoteyAgMTYsIDB4YThiMCwgMCwgezB4MDgsMHgyMCwweDQyLDB4YzAsMHgzMCwweDgzLDB4NzAsMHhhMCwweGMwLDB4ODksMHgzNCwweDAyLDB4Y2MsMHgwMiwweDgzLDB4MDAgfSB9LAoteyAgMTYsIDB4YThjMCwgMCwgezB4NjAsMHhjMCwweDI5LDB4MDAsMHgwMiwweGNlLDB4MDAsMHg4MywweDAwLDB4MmMsMHhjOCwweDBiLDB4YmMsMHgwMiwweDEyLDB4MDQgfSB9LAoteyAgMTYsIDB4YThkMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOSwweDAwLDB4ZWEsMHhlMiwweDMyLDB4OTAgfSB9LAoteyAgMTYsIDB4YThlMCwgMCwgezB4MmMsMHhlMCwweDAzLDB4ZmIsMHgwMiwweGNlLDB4YzAsMHgzMiwweDgwLDB4MGYsMHhlNCwweDAzLDB4ZTgsMHgwMCwweDhhLDB4MDAgfSB9LAoteyAgMTYsIDB4YThmMCwgMCwgezB4MzMsMHg4OCwweDBkLDB4NjQsMHhjMywweGZhLDB4MDAsMHhkYSwweDAwLDB4M2QsMHg5MCwweDBlLDB4ZTAsMHgwYiwweDNhLDB4MDQgfSB9LAoteyAgMTYsIDB4YTkwMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDAsMHhjMCwweDI0LDB4ZjgsMHgwOCwweDNlLDB4MTIgfSB9LAoteyAgMTYsIDB4YTkxMCwgMCwgezB4MGYsMHhjMCwweDAzLDB4ZTAsMHg0OCwweGYwLDB4MDAsMHgzZSwweDAwLDB4MGUsMHg4MCwweDkzLDB4YzAsMHgwMCwweGY4LDB4MDAgfSB9LAoteyAgMTYsIDB4YTkyMCwgMCwgezB4N2UsMHgwMSwweDBlLDB4ODAsMHhjMiwweGUwLDB4NDAsMHhmOCwweDAwLDB4N2UsMHgwMCwweDhmLDB4ODQsMHgwMywweGQyLDB4MDAgfSB9LAoteyAgMTYsIDB4YTkzMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNSwweDAwLDB4YzEsMHgwMSwweDMyLDB4NDggfSB9LAoteyAgMTYsIDB4YTk0MCwgMCwgezB4MGMsMHg5OCwweDAzLDB4ZTYsMHg0MCwweGM5LDB4MDAsMHgzMiwweDQwLDB4MGYsMHg5MCwweDAzLDB4NjYsMHgwMCwweGM5LDB4MDAgfSB9LAoteyAgMTYsIDB4YTk1MCwgMCwgezB4MTgsMHg2MSwweDBjLDB4OTAsMHgwMywweDY0LDB4MjAsMHhmOSwweDA1LDB4M2UsMHg0MCwweDBjLDB4OTAsMHg4MywweDAyLDB4MDQgfSB9LAoteyAgMTYsIDB4YTk2MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDQsMHg2NiwweDIwLDB4ODksMHgwMCwweDIwLDB4NTIgfSB9LAoteyAgMTYsIDB4YTk3MCwgMCwgezB4MjgsMHgxMCwweGMyLDB4MjYsMHgwMiwweGE5LDB4MDAsMHgyMiwweDQwLDB4MGIsMHg5MCwweDBhLDB4MjcsMHgwMCwweGE5LDB4MDAgfSB9LAoteyAgMTYsIDB4YTk4MCwgMCwgezB4MjIsMHg3MCwweDA4LDB4OTAsMHgwMiwweDI0LDB4MDgsMHhiOSwweDAwLDB4MmUsMHg0MCwweDBhLDB4OTAsMHgwYSwweDIwLDB4MDAgfSB9LAoteyAgMTYsIDB4YTk5MCwgMCwgezB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDAyLDB4OGQsMHgwMCwweDIzLDB4NDAgfSB9LAoteyAgMTYsIDB4YTlhMCwgMCwgezB4MDgsMHhkMSwweDAyLDB4ODQsMHgyMCwweDg5LDB4MDAsMHgyMiwweDYwLDB4MGIsMHgxMSwweGYyLDB4MjQsMHhiMCwweDgxLDB4MDAgfSB9LAoteyAgMTYsIDB4YTliMCwgMCwgezB4MmEsMHg0NiwweDA4LDB4OTAsMHg0MiwweDY0LDB4MDgsMHhiOSwweDAwLDB4MmUsMHg0MCwweDA4LDB4OTIsMHgwMiwweDA2LDB4MDAgfSB9LAoteyAgMTYsIDB4YTljMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDQsMHgxNCwweDgwLDB4ODUsMHgyMCwweDIzLDB4NDggfSB9LAoteyAgMTYsIDB4YTlkMCwgMCwgezB4MDgsMHg1MiwweDAyLDB4ODQsMHgwOCwweDgxLDB4MDAsMHgyMCwweDQwLDB4MGIsMHgxMiwweDAyLDB4MDQsMHg4MCwweGExLDB4MjAgfSB9LAoteyAgMTYsIDB4YTllMCwgMCwgezB4MjgsMHg0OSwweDI4LDB4OTAsMHgwMiwweDA0LDB4MDAsMHgzMSwweDIwLDB4MmUsMHg0MCwweDA4LDB4MzIsMHgwMiwweDAyLDB4MDEgfSB9LAoteyAgMTYsIDB4YTlmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDAwLDB4YzgsMHg1MCwweGIyLDB4MTQgfSB9LAoteyAgMTYsIDB4YWEwMCwgMCwgezB4MGMsMHhjMCwweDAzLDB4YTEsMHg0MCwweGM4LDB4MDAsMHhiMiwweDAwLDB4MDcsMHg4NSwweDAzLDB4MjEsMHg0MCwweGM4LDB4NTAgfSB9LAoteyAgMTYsIDB4YWExMCwgMCwgezB4M2EsMHgxNSwweDBjLDB4ODUsMHgwMywweDYxLDB4NDAsMHhmOCwweDUxLDB4M2UsMHgwMCwweDJjLDB4ODUsMHgwMywweDJlLDB4MDMgfSB9LAoteyAgMTYsIDB4YWEyMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDk4LDB4MWQsMHhjNCwweDQ4LDB4ZjksMHgxMCwweDNlLDB4NDQgfSB9LAoteyAgMTYsIDB4YWEzMCwgMCwgezB4NGYsMHg5MSwweDAzLDB4NzQsMHgwMCwweGY1LDB4NDQsMHgzZSwweDQwLDB4MGYsMHhkMSwweDAzLDB4ZTQsMHg0MCwweGY5LDB4MTAgfSB9LAoteyAgMTYsIDB4YWE0MCwgMCwgezB4MzcsMHg0NCwweDBmLDB4ZDAsMHgwMywweGQ0LDB4MDAsMHhmOSwweDEwLDB4M2YsMHhjMCwweDBmLDB4ZDEsMHgwMywweGU2LDB4MDYgfSB9LAoteyAgMTYsIDB4YWE1MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MTUsMHhmNiwweGEwLDB4ZGQsMHg4YywweDMzLDB4NzggfSB9LAoteyAgMTYsIDB4YWE2MCwgMCwgezB4MGUsMHhkYSwweDAzLDB4MzUsMHgwMCwweGNkLDB4YTAsMHgzMywweDQwLDB4MGQsMHhmOCwweDBiLDB4MzYsMHg4MSwweGU5LDB4ODAgfSB9LAoteyAgMTYsIDB4YWE3MCwgMCwgezB4MzMsMHg3MCwweDBjLDB4OTEsMHgwMywweGU0LDB4NDAsMHhmOSwweGMwLDB4M2UsMHhjMCwweDBmLDB4ZGMsMHgwMywweGM2LDB4MDAgfSB9LAoteyAgMTYsIDB4YWE4MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDM4LDB4MTAsMHhlMSwweDA0LDB4YjgsMHg0MCwweDIwLDB4M2MgfSB9LAoteyAgMTYsIDB4YWE5MCwgMCwgezB4MGMsMHg4NSwweDAyLDB4MDIsMHg4NCwweDhhLDB4NDAsMHgyMiwweDAwLDB4MDgsMHg4ZiwweDgyLDB4MjMsMHgwMCwweGI4LDB4ZTggfSB9LAoteyAgMTYsIDB4YWFhMCwgMCwgezB4MjIsMHgyMCwweDA4LDB4ODgsMHgwMiwweGUyLDB4MDAsMHhiOCwweGQwLDB4MmUsMHgwMCwweDBiLDB4OGMsMHgwMiwweGNlLDB4MDQgfSB9LAoteyAgMTYsIDB4YWFiMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweDAwLDB4OTEsMHgwMCwweDYwLDB4NDggfSB9LAoteyAgMTYsIDB4YWFjMCwgMCwgezB4NGIsMHgxMCwweDAyLDB4MDQsMHg4YSwweDgxLDB4NDAsMHg2MCwweDQwLDB4NDksMHgxMCwweDAyLDB4OGQsMHhhMCwweGExLDB4NDEgfSB9LAoteyAgMTYsIDB4YWFkMCwgMCwgezB4MjAsMHg1MCwweDA5LDB4MTIsMHgyMiwweGM0LDB4ODAsMHhiMSwweDIwLDB4MmMsMHg0MCwweDRiLDB4M2UsMHgwMiwweGMyLDB4MDEgfSB9LAoteyAgMTYsIDB4YWFlMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MTUsMHhhNCwweDA4LDB4YjksMHgwNCwweGEwLDB4NDAgfSB9LAoteyAgMTYsIDB4YWFmMCwgMCwgezB4NDgsMHhiMCwweDAyLDB4MjQsMHgwMCwweDg5LDB4MDAsMHg4MiwweDQwLDB4MDgsMHg5MCwweGE2LDB4YTQsMHgwMCwweGI5LDB4MDQgfSB9LAoteyAgMTYsIDB4YWIwMCwgMCwgezB4MjIsMHg1NCwweDI5LDB4OTUsMHgwMiwweGU1LDB4NDAsMHhiOSwweDAwLDB4NmUsMHg0MCwweDBiLDB4OTIsMHgwMiwweGM2LDB4MDQgfSB9LAoteyAgMTYsIDB4YWIxMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MDUsMHhlNCwweDAwLDB4OTEsMHgwMCwweDMyLDB4NDAgfSB9LAoteyAgMTYsIDB4YWIyMCwgMCwgezB4MGYsMHg5MCwweDA5LDB4MjQsMHgwMCwweDg5LDB4OTAsMHgzMiwweDQwLDB4MGQsMHg5NCwweDAzLDB4YTQsMHgwMCwweGU5LDB4MDIgfSB9LAoteyAgMTYsIDB4YWIzMCwgMCwgezB4NzIsMHg2MCwweDBkLDB4OTQsMHgwMywweGU0LDB4MDEsMHhmOSwweDAxLDB4M2UsMHg2MCwweDBmLDB4OTAsMHgwMywweGU4LDB4MDQgfSB9LAoteyAgMTYsIDB4YWI0MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDEsMHhhNCwweDQwLDB4ZjksMHgwMCwweDNlLDB4NDAgfSB9LAoteyAgMTYsIDB4YWI1MCwgMCwgezB4NGYsMHg5MCwweDAzLDB4ZTcsMHgxMCwweGY5LDB4ODAsMHgzZSwweDQwLDB4MGYsMHgxMCwweDEzLDB4NjQsMHgwMCwweGYxLDB4MDAgfSB9LAoteyAgMTYsIDB4YWI2MCwgMCwgezB4YmUsMHg0MCwweDBlLDB4OTAsMHgwMywweGU2LDB4MDgsMHhmOSwweDAxLDB4M2UsMHg2NCwweDBmLDB4OTAsMHgwMywweGNhLDB4MDAgfSB9LAoteyAgMTYsIDB4YWI3MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDAsMHhhMCwweDAwLDB4ZjgsMHgwMCwweDMyLDB4MDggfSB9LAoteyAgMTYsIDB4YWI4MCwgMCwgezB4MGMsMHgwMSwweDBiLDB4MjAsMHg0MCwweGM4LDB4NDAsMHgzMiwweDAwLDB4MGUsMHg4NCwweDgzLDB4MjAsMHgwMCwweGY4LDB4MDQgfSB9LAoteyAgMTYsIDB4YWI5MCwgMCwgezB4M2UsMHgwNCwweDBmLDB4ODAsMHgwMywweDIxLDB4MDAsMHhlOCwweDAwLDB4M2UsMHgxMCwweDBmLDB4ODgsMHgwMywweGNhLDB4MDQgfSB9LAoteyAgMTYsIDB4YWJhMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHgzOCwweDAwLDB4M2UsMHgwNCwweDIzLDB4ODAgfSB9LAoteyAgMTYsIDB4YWJiMCwgMCwgezB4MDgsMHhlYywweDEyLDB4MzksMHg0NCwweGE2LDB4MDAsMHgyOCwweDgxLDB4MDgsMHhlMCwweDAwLDB4MzgsMHgwOCwweGJhLDB4MDAgfSB9LAoteyAgMTYsIDB4YWJjMCwgMCwgezB4M2YsMHg4MCwweDBiLDB4YTAsMHgwMiwweGE4LDB4MDAsMHg4YSwweDAyLDB4MmUsMHg4MCwweDBiLDB4ZTAsMHgwMiwweGNhLDB4MDAgfSB9LAoteyAgMTYsIDB4YWJkMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0OCwweDAwLDB4MzEsMHgwMCwweDI0LDB4ZDAgfSB9LAoteyAgMTYsIDB4YWJlMCwgMCwgezB4MDgsMHgzZSwweDEyLDB4YWUsMHgwOCwweDgxLDB4YTAsMHgyYywweGMwLDB4MGEsMHgzOCwweDAwLDB4NGMsMHgwMCwweGIzLDB4MDAgfSB9LAoteyAgMTYsIDB4YWJmMCwgMCwgezB4NmUsMHhjMCwweDBhLDB4MzAsMHgwMiwweDBjLDB4MDAsMHhhMywweDAwLDB4NmMsMHhjMCwweDBiLDB4MzAsMHgwMiwweGNhLDB4MDAgfSB9LAoteyAgMTYsIDB4YWMwMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MDEsMHgxOCwweDAwLDB4YjUsMHgxMCwweDI1LDB4YzAgfSB9LAoteyAgMTYsIDB4YWMxMCwgMCwgezB4MjgsMHg2MCwweDEyLDB4OTAsMHgxMCwweGE1LDB4MDgsMHgyZCwweGMyLDB4MDgsMHg2NCwweDIyLDB4NTgsMHgxOCwweGI3LDB4MDAgfSB9LAoteyAgMTYsIDB4YWMyMCwgMCwgezB4MmQsMHg4MCwweDBiLDB4NzksMHgwMiwweGJlLDB4YzAsMHg4NywweDAxLDB4NmQsMHhjMCwweDBiLDB4NjAsMHgwMiwweGU4LDB4MDAgfSB9LAoteyAgMTYsIDB4YWMzMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZSwweDAwLDB4ZjUsMHg4NCwweDM1LDB4MjAgfSB9LAoteyAgMTYsIDB4YWM0MCwgMCwgezB4OGMsMHgxOCwweDAyLDB4OTIsMHgxMCwweGM1LDB4ODAsMHgzZCwweDYwLDB4MGUsMHhjOCwweDBiLDB4NWEsMHgwOCwweDc3LDB4ZjMgfSB9LAoteyAgMTYsIDB4YWM1MCwgMCwgezB4M2QsMHhhMCwweDBmLDB4ZjgsMHgwMywweDFlLDB4YjAsMHhlNywweDg1LDB4M2QsMHhlMCwweDBmLDB4NzgsMHgwMywweGVhLDB4MDIgfSB9LAoteyAgMTYsIDB4YWM2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MWQsMHhhYywweDAwLDB4ZjEsMHgwNCwweGJhLDB4MDEgfSB9LAoteyAgMTYsIDB4YWM3MCwgMCwgezB4MGYsMHhhMCwweDQzLDB4NjAsMHgwOSwweGUxLDB4MDAsMHgzOCwweDQwLDB4MGUsMHhhMCwweDAzLDB4YTgsMHgxNCwweGZiLDB4MjAgfSB9LAoteyAgMTYsIDB4YWM4MCwgMCwgezB4M2EsMHg4MCwweDBmLDB4YjQsMHgxYiwweDRjLDB4ODAsMHhmYiwweDI5LDB4M2UsMHhjMCwweDBmLDB4YjAsMHgyMywweGMyLDB4MDYgfSB9LAoteyAgMTYsIDB4YWM5MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmYSwweDAwLDB4Y2QsMHg4MCwweDNiLDB4ZTAgfSB9LAoteyAgMTYsIDB4YWNhMCwgMCwgezB4NGUsMHhmOCwweDAzLDB4ZjIsMHgwMiwweGQ0LDB4ODEsMHgzYiwweGUwLDB4OGUsMHg5OCwweDA3LDB4M2UsMHg0NCwweGVmLDB4OTEgfSB9LAoteyAgMTYsIDB4YWNiMCwgMCwgezB4M2YsMHhlMCwweDRmLDB4ZmMsMHgwNywweGVlLDB4ZDAsMHhjZiwweDk4LDB4MzMsMHhlNCwweDBmLDB4ZjgsMHgwMywweGMwLDB4MDAgfSB9LAoteyAgMTYsIDB4YWNjMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDEsMHg5OCwweDAwLDB4ODUsMHgxMCwweDJkLDB4YzQgfSB9LAoteyAgMTYsIDB4YWNkMCwgMCwgezB4MGQsMHgxMSwweDAyLDB4ZjAsMHgwMCwweDg1LDB4MjAsMHgzMSwweGM0LDB4MGIsMHg3YiwweDAwLDB4MzgsMHg0MCwweGQ3LDB4MTAgfSB9LAoteyAgMTYsIDB4YWNlMCwgMCwgezB4MmQsMHg4MCwweDBiLDB4NzAsMHg2MiwweGZlLDB4ZTEsMHg4NywweDE0LDB4MzksMHhjMCwweDBiLDB4NjAsMHgwMiwweGVhLDB4MDQgfSB9LAoteyAgMTYsIDB4YWNmMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHhiYywweDQwLDB4YTUsMHgwMCwweDI5LDB4NDAgfSB9LAoteyAgMTYsIDB4YWQwMCwgMCwgezB4MGIsMHg1MCwweDgyLDB4ZGMsMHg0MCwweDg0LDB4MDQsMHgyZCwweGMwLDB4MGIsMHgxMCwweDA2LDB4NTgsMHg0NCwweGE3LDB4MTAgfSB9LAoteyAgMTYsIDB4YWQxMCwgMCwgezB4MmQsMHg4MCwweDBiLDB4NzEsMHgwMiwweGRjLDB4MDAsMHg4NywweDA0LDB4MjEsMHhjMiwweDBiLDB4NTAsMHgwMiwweGMwLDB4MTAgfSB9LAoteyAgMTYsIDB4YWQyMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIwLDB4MTQsMHhjYywweDBhLDB4YTEsMHgwMSwweDJjLDB4NDAgfSB9LAoteyAgMTYsIDB4YWQzMCwgMCwgezB4ODksMHgxOCwweDAyLDB4YzEsMHgwMCwweGExLDB4MDgsMHgyMCwweGMwLDB4MGIsMHgzNCwweDA2LDB4NDAsMHgwMCwweDkzLDB4MDUgfSB9LAoteyAgMTYsIDB4YWQ0MCwgMCwgezB4MmMsMHgxNCwweDBiLDB4M2MsMHg4NiwweGNlLDB4MTAsMHg4MywweDAxLDB4MjgsMHhmMSwweDBiLDB4MTQsMHgwMiwweGM4LDB4MDQgfSB9LAoteyAgMTYsIDB4YWQ1MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhhMCwweDAwLDB4ZWQsMHgwMCwweDNhLDB4YzAgfSB9LAoteyAgMTYsIDB4YWQ2MCwgMCwgezB4MDcsMHhiYywweDYzLDB4ZWQsMHgwMCwweDgxLDB4NDAsMHgzZSwweGMwLDB4MGUsMHg4OCwweDAzLDB4NjQsMHgwMCwweGVmLDB4MDAgfSB9LAoteyAgMTYsIDB4YWQ3MCwgMCwgezB4N2UsMHg1MCwweDBmLDB4ZjAsMHgwMiwweGZkLDB4NDIsMHhjZiwweDAwLDB4NzIsMHhjMCwweDFmLDB4YjQsMHgwMywweGVhLDB4MDQgfSB9LAoteyAgMTYsIDB4YWQ4MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDAsMHhlOCwweDAwLDB4OTksMHgwMCwweDNlLDB4ZTAgfSB9LAoteyAgMTYsIDB4YWQ5MCwgMCwgezB4NGYsMHhiNCwweDgzLDB4ZWQsMHg5MCwweDA5LDB4NDAsMHgzZSwweGMwLDB4MGYsMHhhMSwweDgzLDB4YTgsMHgwMSwweGViLDB4MDEgfSB9LAoteyAgMTYsIDB4YWRhMCwgMCwgezB4M2UsMHgwMCwweDBmLDB4YjEsMHgxMywweGVjLDB4MGMsMHhmYiwweDAwLDB4M2EsMHhjMCwweDVmLDB4MjAsMHgyMywweGUwLDB4MDAgfSB9LAoteyAgMTYsIDB4YWRiMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmOCwweDAwLDB4ZmQsMHgwNCwweDNmLDB4YjAgfSB9LAoteyAgMTYsIDB4YWRjMCwgMCwgezB4MGQsMHg2MCwweDAzLDB4M2UsMHgwMCwweGNkLDB4MDAsMHgzMywweGYwLDB4MGYsMHhmMiwweDAxLDB4ZjAsMHgwMCwweGZmLDB4MDMgfSB9LAoteyAgMTYsIDB4YWRkMCwgMCwgezB4M2YsMHgwMywweDBmLDB4ZjAsMHgwMSwweGZjLDB4MDAsMHhmYiwweDAyLDB4MzMsMHhjMiwweDBmLDB4ZjAsMHhlMywweDAwLDB4NDQgfSB9LAoteyAgMTYsIDB4YWRlMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgxLDB4MDQsMHg2YSwweDAwLDB4YjksMHgwMiwweDJlLDB4YTAgfSB9LAoteyAgMTYsIDB4YWRmMCwgMCwgezB4NGEsMHhhYywweDAyLDB4MGUsMHg4MCwweGY5LDB4YzAsMHgzNiwweGUxLDB4MGIsMHhhMCwweDAyLDB4MmEsMHgwOCwweGJiLDB4MDAgfSB9LAoteyAgMTYsIDB4YWUwMCwgMCwgezB4MmUsMHgyMCwweDBlLDB4YjAsMHgwMiwweGVjLDB4MDAsMHhlYiwweDAwLDB4MjIsMHhjMCwweDhiLDB4YjAsMHgwMiwweDIwLDB4NDAgfSB9LAoteyAgMTYsIDB4YWUxMCwgMCwgezB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDEsMHgyMywweDAwLDB4YTksMHgwMCwweDI4LDB4YzAgfSB9LAoteyAgMTYsIDB4YWUyMCwgMCwgezB4MDksMHhiMiwweDIyLDB4NmMsMHg0MCwweDg5LDB4ODksMHgyYSwweGMwLDB4MGIsMHgxNCwweDA2LDB4MjYsMHgwMCwweGFiLDB4MDIgfSB9LAoteyAgMTYsIDB4YWUzMCwgMCwgezB4NmUsMHhlMCwweDA5LDB4YjAsMHgwNiwweDZjLDB4MDAsMHhiMywweDAyLDB4MjIsMHhjMCwweDBiLDB4YjAsMHgwMiwweDIwLDB4MDAgfSB9LAoteyAgMTYsIDB4YWU0MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDQsMHgwOCwweDAwLDB4YjEsMHgwMCwweDJjLDB4YzAgfSB9LAoteyAgMTYsIDB4YWU1MCwgMCwgezB4MGEsMHgzMCwweDAyLDB4MmMsMHgwMCwweGJiLDB4MDAsMHg2NCwweGMwLDB4MGIsMHgzMiwweDBhLDB4MDgsMHgwMCwweDMzLDB4MDAgfSB9LAoteyAgMTYsIDB4YWU2MCwgMCwgezB4NmMsMHg4MCwweDAyLDB4MzAsMHg0NiwweGNjLDB4MTgsMHhhMywweDAwLDB4MjAsMHhjMCwweDBiLDB4MjgsMHgwMiwweDAyLDB4MTEgfSB9LAoteyAgMTYsIDB4YWU3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHg2OCwweDAwLDB4ZTksMHgwMCwweDM4LDB4YzEgfSB9LAoteyAgMTYsIDB4YWU4MCwgMCwgezB4MGQsMHhiMSwweDBiLDB4MmMsMHgwMCwweDg5LDB4MDAsMHgzYSwweGMwLDB4MGIsMHg5MCwweDAzLDB4NjAsMHgwMCwweGZmLDB4MDIgfSB9LAoteyAgMTYsIDB4YWU5MCwgMCwgezB4M2UsMHg4MCwweDBmLDB4ZjAsMHgwMywweGZjLDB4ODAsMHhmZiwweDAwLDB4MzIsMHhjMCwweDhmLDB4ODAsMHgwYiwweDAwLDB4MDMgfSB9LAoteyAgMTYsIDB4YWVhMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTEsMHhkOCwweDAwLDB4ZmQsMHgwNCwweDNmLDB4YzAgfSB9LAoteyAgMTYsIDB4YWViMCwgMCwgezB4MmYsMHhmMiwweDAzLDB4ZmMsMHgxMSwweGVmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmNCwweDQzLDB4NzAsMHgwMCwweGZmLDB4MDAgfSB9LAoteyAgMTYsIDB4YWVjMCwgMCwgezB4M2YsMHgwMCwweDQ2LDB4ZjAsMHgwMywweGZkLDB4MDAsMHhlZiwweDAwLDB4M2YsMHhjMCwweDBmLDB4YzAsMHgwMywweGU4LDB4MDYgfSB9LAoteyAgMTYsIDB4YWVkMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmZSwweDAwLDB4ZmYsMHg4MCwweDNkLDB4ZTAgfSB9LAoteyAgMTYsIDB4YWVlMCwgMCwgezB4MGMsMHhmOSwweDEzLDB4ZGUsMHgwMCwweDdmLDB4ODAsMHhiMywweGUwLDB4MGYsMHhmYywweDAzLDB4YmUsMHg0MCwweGNmLDB4ODAgfSB9LAoteyAgMTYsIDB4YWVmMCwgMCwgezB4MzMsMHhmMCwweDBmLDB4ZjgsMHgwMywweDdjLDB4MDQsMHhjYywweDgwLDB4MzMsMHhhMCwweDBjLDB4ZjAsMHgwYiwweDMwLDB4MDEgfSB9LAoteyAgMTYsIDB4YWYwMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MTAsMHhlMCwweDIwLDB4ODgsMHgwMCwweDJlLDB4MjAgfSB9LAoteyAgMTYsIDB4YWYxMCwgMCwgezB4MDgsMHg4MiwweDEyLDB4ZTAsMHg4MCwweGE4LDB4ODEsMHgyMiwweDAyLDB4MGIsMHg4MCwweDAyLDB4MjAsMHg4MCwweGE4LDB4ODAgfSB9LAoteyAgMTYsIDB4YWYyMCwgMCwgezB4MjIsMHgwOCwweDBiLDB4ODAsMHgwMiwweDJjLDB4MDIsMHg4OCwweDA0LDB4YWEsMHgyMCwweDA4LDB4YjAsMHgwMiwweDIwLDB4MDQgfSB9LAoteyAgMTYsIDB4YWYzMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhlYywweDAwLDB4YTMsMHgwOCwweDJjLDB4ODAgfSB9LAoteyAgMTYsIDB4YWY0MCwgMCwgezB4MDgsMHgzMiwweDAyLDB4YzQsMHgyMCwweGEzLDB4MDAsMHgyOCwweDQwLDB4MGIsMHg5MiwweDAyLDB4ODQsMHgwMCwweGE5LDB4MDEgfSB9LAoteyAgMTYsIDB4YWY1MCwgMCwgezB4MjgsMHhjOCwweDFiLDB4MTIsMHg4MiwweGNjLDB4NDAsMHhhOCwweDAwLDB4MjQsMHhlMCwweDBhLDB4MzAsMHg0MiwweDIyLDB4MDEgfSB9LAoteyAgMTYsIDB4YWY2MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MTEsMHhhOCwweDgwLDB4YTgsMHgwMiwweDJlLDB4NDAgfSB9LAoteyAgMTYsIDB4YWY3MCwgMCwgezB4NjgsMHg4MCwweDEwLDB4YzgsMHgwMCwweGI4LDB4NDAsMHgyYSwweDkwLDB4MGIsMHhhMCwweDAwLDB4MjgsMHgwMCwweGFhLDB4MDggfSB9LAoteyAgMTYsIDB4YWY4MCwgMCwgezB4MmEsMHgwMiwweDAzLDB4MjAsMHgwMiwweDhjLDB4MDAsMHhhOCwweDg4LDB4MmUsMHgyMCwweDBhLDB4YjAsMHgwMiwweDMwLDB4MDQgfSB9LAoteyAgMTYsIDB4YWY5MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlOCwweDA0LDB4ZmEsMHgwMCwweDNjLDB4NDAgfSB9LAoteyAgMTYsIDB4YWZhMCwgMCwgezB4MGMsMHhhMCwweDAzLDB4ZTgsMHgwMCwweGViLDB4MDAsMHgzYSwweGMwLDB4MGYsMHgyMCwweDUzLDB4YTgsMHgwMCwweGUzLDB4NDAgfSB9LAoteyAgMTYsIDB4YWZiMCwgMCwgezB4MmEsMHg0MCwweDBmLDB4YTAsMHgwMywweDZjLDB4MDAsMHhhOCwweDgwLDB4MzQsMHgyMCwweDFlLDB4YjAsMHgwMywweDEwLDB4MDQgfSB9LAoteyAgMTYsIDB4YWZjMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDEsMHhiNCwweDAwLDB4OWQsMHg5MSwweDNmLDB4ODAgfSB9LAoteyAgMTYsIDB4YWZkMCwgMCwgezB4MGYsMHhkYSwweDIzLDB4ZjQsMHgwMCwweGNjLDB4MjAsMHgzNywweDAwLDB4MDcsMHhkMCwweDEzLDB4NzQsMHgwMCwweGJjLDB4MDAgfSB9LAoteyAgMTYsIDB4YWZlMCwgMCwgezB4YjcsMHg4MCwweDBiLDB4ZDAsMHg0MywweDdjLDB4MDAsMHhkYywweDA0LDB4M2IsMHgwMCwweDZkLDB4ZjAsMHgwMywweGY4LDB4MDAgfSB9LAoteyAgMTYsIDB4YWZmMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhOCwweDAwLDB4ZmEsMHg4MCwweDNhLDB4MDAgfSB9LAoteyAgMTYsIDB4YjAwMCwgMCwgezB4MmMsMHhhMCwweDBiLDB4MjAsMHgwMiwweGNiLDB4NjIsMHgzZSwweDUwLDB4MGUsMHg4OCwweDAzLDB4MjAsMHgwMCwweGQ5LDB4MTAgfSB9LAoteyAgMTYsIDB4YjAxMCwgMCwgezB4M2UsMHg3MCwweDhjLDB4ODAsMHgzMywweGVjLDB4ODAsMHhkOCwweDQwLDB4M2EsMHgwMiwweDBkLDB4YjAsMHgwMywweDEwLDB4MDQgfSB9LAoteyAgMTYsIDB4YjAyMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM4LDB4MDEsMHgwYywweDAwLDB4MzksMHg4MCwweDIyLDB4YzAgfSB9LAoteyAgMTYsIDB4YjAzMCwgMCwgezB4MGMsMHg5ZCwweDgyLDB4MmMsMHgxMCwweGQwLDB4NDAsMHgyZSwweGEwLDB4MDgsMHhiOCwweDAzLDB4NGUsMHgwMiwweDhhLDB4NDAgfSB9LAoteyAgMTYsIDB4YjA0MCwgMCwgezB4MGUsMHhhMCwweDBkLDB4YjAsMHgwMywweDNkLDB4MDAsMHhkMCwweDkwLDB4MzYsMHgxMCwweDBiLDB4ZjAsMHgwMiwweGIyLDB4MDAgfSB9LAoteyAgMTYsIDB4YjA1MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0YywweDAwLDB4YjEsMHgwMCwweDYwLDB4YzAgfSB9LAoteyAgMTYsIDB4YjA2MCwgMCwgezB4OGEsMHgxOCwweDAyLDB4OGMsMHgwOCwweDgwLDB4NDAsMHgwYywweGEwLDB4MDIsMHgzMCwweDAyLDB4Y2UsMHgwMCwweDgyLDB4NDggfSB9LAoteyAgMTYsIDB4YjA3MCwgMCwgezB4MmMsMHg4MCwweDJiLDB4MzAsMHgwNiwweDhjLDB4MDAsMHg4MSwweDAyLDB4MjAsMHg5MCwweDA5LDB4YjAsMHgwMiwweDM4LDB4MDAgfSB9LAoteyAgMTYsIDB4YjA4MCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIwLDB4MDEsMHgxMiwweDAwLDB4YjYsMHg5MCwweGEzLDB4MzAgfSB9LAoteyAgMTYsIDB4YjA5MCwgMCwgezB4MDgsMHhlOCwweDIyLDB4YjIsMHgxNCwweDg3LDB4ODAsMHgyZCwweDYwLDB4MDgsMHg0OSwweDEyLDB4MTIsMHg2MSwweDk1LDB4OTAgfSB9LAoteyAgMTYsIDB4YjBhMCwgMCwgezB4MmQsMHg2MSwweDBhLDB4NDgsMHgxNiwweDFlLDB4ODAsMHg5NSwweDgwLDB4MjUsMHgyMCwweDBiLDB4NzgsMHgwMiwweDg4LDB4MDAgfSB9LAoteyAgMTYsIDB4YjBiMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDAwLDB4ZjEsMHgwMCwweDI4LDB4OGMgfSB9LAoteyAgMTYsIDB4YjBjMCwgMCwgezB4OGUsMHgxMCwweDAzLDB4ODQsMHg4MCwweDgwLDB4MDAsMHgyYywweDAyLDB4MGEsMHg5YSwweDAyLDB4ZTQsMHgwMCwweGQwLDB4MDAgfSB9LAoteyAgMTYsIDB4YjBkMCwgMCwgezB4M2UsMHg4MCwweDBiLDB4OTEsMHgwMywweDhlLDB4ODAsMHhjMiwweDA4LDB4MzgsMHg4MCwweDBkLDB4YjAsMHgwMywweDEyLDB4MDIgfSB9LAoteyAgMTYsIDB4YjBlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MWQsMHhiMCwweDAwLDB4ZjYsMHgwMCwweDNmLDB4NDQgfSB9LAoteyAgMTYsIDB4YjBmMCwgMCwgezB4MGYsMHgyMSwweDEzLDB4NzgsMHgwMCwweGZmLDB4MDAsMHgzZCwweGMwLDB4MGYsMHhlMCwweDAzLDB4NzgsMHgwMCwweGVmLDB4MDQgfSB9LAoteyAgMTYsIDB4YjEwMCwgMCwgezB4M2YsMHg0MCwweDhkLDB4ZTgsMHgwMywweGRjLDB4MDQsMHhmNiwweDAwLDB4M2YsMHgwMCwweDBmLDB4ZjAsMHg4MywweGQwLDB4MDYgfSB9LAoteyAgMTYsIDB4YjExMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlOCwweDAwLDB4ZTgsMHg4MCwweDMyLDB4NDAgfSB9LAoteyAgMTYsIDB4YjEyMCwgMCwgezB4MGYsMHg4OCwweDBiLDB4MjgsMHgwMCwweDc4LDB4MDIsMHgzZSwweDgwLDB4MGUsMHgyOCwweDAzLDB4MjgsMHgwMCwweGNhLDB4ODAgfSB9LAoteyAgMTYsIDB4YjEzMCwgMCwgezB4MzIsMHgwMCwweDBmLDB4YTAsMHgwMywweGVjLDB4MDAsMHhjOSwweDgwLDB4MzIsMHg4MCwweDBmLDB4YjAsMHgwMywweDJhLDB4MDAgfSB9LAoteyAgMTYsIDB4YjE0MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MTEsMHg4YywweDAwLDB4OGYsMHgwMCwweGExLDB4ODAgfSB9LAoteyAgMTYsIDB4YjE1MCwgMCwgezB4MGIsMHg3MCwweDQyLDB4MTQsMHgwMCwweGI3LDB4MDAsMHgyZCwweDQxLDB4MGIsMHg1MCwweDQyLDB4MTQsMHgwMCwweGE1LDB4MDAgfSB9LAoteyAgMTYsIDB4YjE2MCwgMCwgezB4YTEsMHhjMCwweDBiLDB4NTAsMHgwMiwweGZjLDB4ODAsMHhhNSwweDAwLDB4MjEsMHgwMCwweDBiLDB4ZjIsMHgwMiwweDEyLDB4MDQgfSB9LAoteyAgMTYsIDB4YjE3MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHhiYSwweDAwLDB4YTQsMHg4MCwweDI5LDB4MzAgfSB9LAoteyAgMTYsIDB4YjE4MCwgMCwgezB4NGIsMHg0OCwweDA2LDB4NTIsMHgwOCwweGI0LDB4ODAsMHgyZCwweDIwLDB4MGIsMHg0OCwweDQyLDB4MzIsMHgwMCwweDg0LDB4ODAgfSB9LAoteyAgMTYsIDB4YjE5MCwgMCwgezB4MjEsMHgyMCwweDBiLDB4NDgsMHgxMiwweGRlLDB4NDAsMHg4NiwweDgxLDB4MjksMHhhMCwweDBiLDB4NzgsMHgwYSwweDMwLDB4MDAgfSB9LAoteyAgMTYsIDB4YjFhMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MTQsMHhjYywweDAwLDB4ODMsMHgwNSwweDIwLDB4ZTAgfSB9LAoteyAgMTYsIDB4YjFiMCwgMCwgezB4MGIsMHgzNCwweDAyLDB4NmMsMHgxMCwweGIzLDB4MDAsMHgyYywweGMwLDB4MGIsMHgzNiwweDRhLDB4MGQsMHgwZCwweGEzLDB4MDAgfSB9LAoteyAgMTYsIDB4YjFjMCwgMCwgezB4MjAsMHhjMCwweDBiLDB4MzQsMHg4MiwweGNjLDB4MDIsMHhhMiwweDAwLDB4MjgsMHgwMCwweDBiLDB4MzAsMHgwMiwweDEyLDB4MDQgfSB9LAoteyAgMTYsIDB4YjFkMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOSwweDIwLDB4ZWEsMHg0MCwweDMwLDB4YTAgfSB9LAoteyAgMTYsIDB4YjFlMCwgMCwgezB4MDcsMHhhMCwweDQzLDB4NjksMHg0MCwweGZhLDB4MDAsMHgzYywweDgwLDB4MGYsMHhhMCwweDAzLDB4MDgsMHg0MCwweGNhLDB4MDAgfSB9LAoteyAgMTYsIDB4YjFmMCwgMCwgezB4MzAsMHhhMCwweDBmLDB4YTQsMHgwMywweGU4LDB4MDAsMHhjZSwweDAwLDB4M2IsMHg5OCwweDBmLDB4YTAsMHgwMywweDNhLDB4MDQgfSB9LAoteyAgMTYsIDB4YjIwMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDAsMHhkMiwweDAwLDB4ZmMsMHgwOCwweDNmLDB4MDAgfSB9LAoteyAgMTYsIDB4YjIxMCwgMCwgezB4MGIsMHhjMiwweDAzLDB4YjAsMHgwMCwweGZjLDB4MDAsMHgzZiwweDAwLDB4MGYsMHhjMCwweDAzLDB4ZjAsMHgwMCwweGZjLDB4MDAgfSB9LAoteyAgMTYsIDB4YjIyMCwgMCwgezB4M2YsMHgwNCwweDBmLDB4YzAsMHgwMywweGUwLDB4MDAsMHhmOCwweDAwLDB4YjYsMHgwMiwweDBmLDB4ODAsMHgwMywweGQyLDB4MDAgfSB9LAoteyAgMTYsIDB4YjIzMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDAwLDB4ZDksMHgwMCwweDNlLDB4NjggfSB9LAoteyAgMTYsIDB4YjI0MCwgMCwgezB4NGMsMHg5MSwweDAxLDB4ZTQsMHgwOCwweGM5LDB4MDAsMHgzZSwweDQwLDB4MmMsMHg5MiwweDAzLDB4ZTQsMHgwMiwweGM5LDB4YTAgfSB9LAoteyAgMTYsIDB4YjI1MCwgMCwgezB4M2UsMHg3MCwweDBlLDB4OTAsMHgwMywweGM2LDB4NDIsMHhjOSwweDAwLDB4M2UsMHg0MCwweDBmLDB4MTAsMHgwMywweDAyLDB4MDQgfSB9LAoteyAgMTYsIDB4YjI2MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDQsMHg2NCwweDAwLDB4ODksMHg4NiwweDBlLDB4NjAgfSB9LAoteyAgMTYsIDB4YjI3MCwgMCwgezB4MDgsMHg5OCwweDAyLDB4ZTQsMHgwOCwweDg5LDB4MTAsMHgyZSwweDYwLDB4MDgsMHg5MCwweDAyLDB4ZTQsMHgwMCwweDg5LDB4MGMgfSB9LAoteyAgMTYsIDB4YjI4MCwgMCwgezB4MmUsMHg2MCwweDA4LDB4OTAsMHgwMiwweGU2LDB4ODgsMHg4OSwweDAwLDB4MmUsMHg0MCwweDBiLDB4OTAsMHgwMiwweGEwLDB4MDAgfSB9LAoteyAgMTYsIDB4YjI5MCwgMCwgezB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDAwLDB4OWQsMHgxMCwweDJmLDB4NDAgfSB9LAoteyAgMTYsIDB4YjJhMCwgMCwgezB4MjgsMHhkMCwweDA2LDB4ZjQsMHgwMiwweGFkLDB4MDAsMHgyZiwweDYwLDB4MDgsMHhkMCwweDAyLDB4ZjQsMHgwMCwweDhkLDB4MDAgfSB9LAoteyAgMTYsIDB4YjJiMCwgMCwgezB4MmYsMHg0MCwweDBhLDB4ZDAsMHgwMiwweGU0LDB4MDAsMHg4OSwweDAwLDB4MmUsMHg2MCwweDBiLDB4OTAsMHgwMiwweDA2LDB4MDAgfSB9LAoteyAgMTYsIDB4YjJjMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDQsMHgzNCwweDAwLDB4ODUsMHgwMCwweDJkLDB4NDAgfSB9LAoteyAgMTYsIDB4YjJkMCwgMCwgezB4MDgsMHg1OCwweDAyLDB4ZDQsMHgwMCwweGE1LDB4MDIsMHgyZCwweDQwLDB4MDgsMHg1MCwweDAwLDB4ZDQsMHgwMCwweDg1LDB4MDAgfSB9LAoteyAgMTYsIDB4YjJlMCwgMCwgezB4MmQsMHg0MCwweDA4LDB4NTQsMHgwMiwweGM0LDB4ODAsMHg4MSwweDAwLDB4MmMsMHg2MCwweDBiLDB4MTQsMHgwMiwweDgyLDB4MDEgfSB9LAoteyAgMTYsIDB4YjJmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MSwweDQwLDB4ZDgsMHg1MiwweDNlLDB4MDAgfSB9LAoteyAgMTYsIDB4YjMwMCwgMCwgezB4MGMsMHgwNSwweDAzLDB4ZTEsMHg0MCwweGU4LDB4MDQsMHgzZSwweDE0LDB4MGMsMHg4NSwweDAzLDB4ZTEsMHg0MCwweGM4LDB4MDAgfSB9LAoteyAgMTYsIDB4YjMxMCwgMCwgezB4M2UsMHgxNCwweDBlLDB4YzAsMHgwMywweGUwLDB4MDAsMHhjMCwweDAyLDB4M2UsMHgwMCwweDRmLDB4ODAsMHgyMywweDJlLDB4MDMgfSB9LAoteyAgMTYsIDB4YjMyMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDk4LDB4MWQsMHhmNCwweDAwLDB4ZjksMHgwMSwweDNlLDB4NDAgfSB9LAoteyAgMTYsIDB4YjMzMCwgMCwgezB4NGYsMHg5MCwweDEzLDB4ZTQsMHgwMCwweGQ5LDB4MDAsMHgxZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4YzQsMHgxMCwweGYxLDB4MDAgfSB9LAoteyAgMTYsIDB4YjM0MCwgMCwgezB4MWUsMHg0MCwweDBmLDB4OTAsMHgwMywweGU0LDB4ZTAsMHhmZCwweDI4LDB4M2YsMHg0MCwweDBmLDB4OTQsMHgwMywweGU2LDB4MDYgfSB9LAoteyAgMTYsIDB4YjM1MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhhNCwweDAwLDB4ZmQsMHgwMCwweDNmLDB4NDAgfSB9LAoteyAgMTYsIDB4YjM2MCwgMCwgezB4NGQsMHg1MCwweDAyLDB4ZTQsMHgwMCwweDk1LDB4MDQsMHgzMywweDQwLDB4MjgsMHhkMCwweDAzLDB4ZjQsMHgwMCwweGZkLDB4MDAgfSB9LAoteyAgMTYsIDB4YjM3MCwgMCwgezB4MzMsMHg0MCwweDBmLDB4OTEsMHgwMywweDM0LDB4MDAsMHhjZCwweDQwLDB4MzMsMHg0MCwweDBmLDB4OTgsMHg4MSwweDA2LDB4MDAgfSB9LAoteyAgMTYsIDB4YjM4MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDM4LDB4MTAsMHhlMCwweDEwLDB4YjgsMHgwMCwweDJlLDB4MDAgfSB9LAoteyAgMTYsIDB4YjM5MCwgMCwgezB4MGIsMHg4MCwweDAyLDB4ZTAsMHgxMCwweGI4LDB4MDAsMHgyMiwweDAwLDB4MDgsMHg4MCwweDAyLDB4ZTAsMHgwMCwweGI4LDB4MDAgfSB9LAoteyAgMTYsIDB4YjNhMCwgMCwgezB4MjIsMHgwMCwweDBiLDB4ODgsMHgwMywweGMyLDB4ODAsMHg4OCwweDgwLDB4MjIsMHgwMCwweDBiLDB4OGMsMHgwMiwweDBlLDB4MDQgfSB9LAoteyAgMTYsIDB4YjNiMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDQsMHhjNCwweDAwLDB4YjEsMHgwMCwweDJjLDB4YzAgfSB9LAoteyAgMTYsIDB4YjNjMCwgMCwgezB4MGIsMHgxMCwweDAyLDB4YzQsMHgwMCwweGJiLDB4MDAsMHgyMiwweDQwLDB4MDgsMHgxMCwweDAyLDB4YzQsMHgwMSwweGI5LDB4MDAgfSB9LAoteyAgMTYsIDB4YjNkMCwgMCwgezB4MjAsMHg0MCwweDFiLDB4OTAsMHgwMiwweDA0LDB4MjIsMHg4OSwweDAwLDB4MjAsMHg2MCwweDBiLDB4MTIsMHg4MiwweDAyLDB4MDEgfSB9LAoteyAgMTYsIDB4YjNlMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MTUsMHhhNCwweDQ0LDB4YjksMHgwMCwweDJlLDB4YzAgfSB9LAoteyAgMTYsIDB4YjNmMCwgMCwgezB4NGIsMHg5MCwweDAyLDB4ZTQsMHgxMCwweGI5LDB4MDIsMHgwMiwweDQwLDB4MDgsMHg5MSwweDQyLDB4ZTQsMHgwMCwweGI5LDB4ODAgfSB9LAoteyAgMTYsIDB4YjQwMCwgMCwgezB4MjIsMHg0MCwweDBiLDB4OTIsMHgwMiwweGM0LDB4MDAsMHg5OSwweDQwLDB4MjIsMHg0MCwweDRiLDB4OTAsMHgxMiwweDA2LDB4MDQgfSB9LAoteyAgMTYsIDB4YjQxMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNiwweDAwLDB4YjksMHgwMSwweDNlLDB4NTggfSB9LAoteyAgMTYsIDB4YjQyMCwgMCwgezB4MGQsMHg5MCwweDAzLDB4ZTYsMHgwMCwweGQxLDB4MDAsMHgzMiwweDYwLDB4MGMsMHg5OCwweDAyLDB4ZTYsMHg0MCwweGY5LDB4MDAgfSB9LAoteyAgMTYsIDB4YjQzMCwgMCwgezB4YjIsMHg0MCwweDBmLDB4MTgsMHgwMywweDI0LDB4MDAsMHhjOSwweDgwLDB4MzIsMHg1MCwweDBmLDB4OTAsMHgyMywweDI4LDB4MDQgfSB9LAoteyAgMTYsIDB4YjQ0MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDEsMHhhNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDIgfSB9LAoteyAgMTYsIDB4YjQ1MCwgMCwgezB4MGIsMHg5MCwweDAzLDB4ZTcsMHgwOCwweGY5LDB4MDAsMHhiZSwweDQ4LDB4MGYsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAgfSB9LAoteyAgMTYsIDB4YjQ2MCwgMCwgezB4M2UsMHg0MCwweDBmLDB4OTgsMHgwMywweGE0LDB4MDAsMHhlOSwweGEwLDB4YmUsMHg0MCwweDBmLDB4MTAsMHgwYiwweDRhLDB4MDAgfSB9LAoteyAgMTYsIDB4YjQ3MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMCwweDAwLDB4ZDgsMHgwMSwweDNlLDB4MDAgfSB9LAoteyAgMTYsIDB4YjQ4MCwgMCwgezB4MGYsMHg4MCwweDhiLDB4MjAsMHgwMCwweGY4LDB4MjAsMHgzZSwweDAxLDB4MGYsMHg4MSwweDAzLDB4ZTAsMHgwMCwweGY4LDB4MDggfSB9LAoteyAgMTYsIDB4YjQ5MCwgMCwgezB4M2EsMHgwMCwweDBjLDB4ODAsMHgwMywweGUwLDB4MDAsMHhkOCwweDQwLDB4MzIsMHgwMCwweDBmLDB4ODAsMHgxMywweDBhLDB4MDQgfSB9LAoteyAgMTYsIDB4YjRhMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHgyOCwweDAwLDB4OGEsMHg4MCwweDJmLDB4OTEgfSB9LAoteyAgMTYsIDB4YjRiMCwgMCwgezB4MGIsMHhlZSwweDAyLDB4MjgsMHgwMSwweGJlLDB4MDAsMHgyMCwweDgwLDB4MGIsMHhhMCwweDAyLDB4ZWEsMHg4MCwweGI2LDB4NDggfSB9LAoteyAgMTYsIDB4YjRjMCwgMCwgezB4MjIsMHg4MCwweDBkLDB4YTAsMHgwMiwweGZhLDB4MDIsMHg4NiwweDQxLDB4YTMsMHhhNiwweDBiLDB4YTAsMHgwMywweDBhLDB4MDAgfSB9LAoteyAgMTYsIDB4YjRkMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAwLDB4OTMsMHg4MCwweDJjLDB4YzAgfSB9LAoteyAgMTYsIDB4YjRlMCwgMCwgezB4MGIsMHgzMCwweDAyLDB4MGMsMHgxMCwweGIzLDB4MDAsMHgyOCwweGMwLDB4MGIsMHgzOCwweDAyLDB4Y2MsMHgwMCwweGIzLDB4MDAgfSB9LAoteyAgMTYsIDB4YjRmMCwgMCwgezB4MjgsMHhjMCwweDA5LDB4MzAsMHgwMiwweGM2LDB4MDEsMHg4MywweDYwLDB4MjAsMHg3MCwweDBiLDB4MzAsMHgwYSwweDRhLDB4MDAgfSB9LAoteyAgMTYsIDB4YjUwMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MDEsMHgyZSwweDg4LDB4ODUsMHgwOCwweDJkLDB4ODAgfSB9LAoteyAgMTYsIDB4YjUxMCwgMCwgezB4NGIsMHhmOCwweDA2LDB4MWMsMHg4MCwweGI3LDB4MDAsMHgyMSwweGMwLDB4MGIsMHg1MCwweDAyLDB4ZDQsMHgwMCwweGI2LDB4MDAgfSB9LAoteyAgMTYsIDB4YjUyMCwgMCwgezB4MjksMHg2MCwweDA5LDB4NzAsMHgwMiwweGQwLDB4YTAsMHg4ZCwweDAwLDB4MjEsMHg0MCwweDBiLDB4MzIsMHgwMiwweDI4LDB4MDAgfSB9LAoteyAgMTYsIDB4YjUzMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZSwweDAwLDB4ZDUsMHg4MCwweDNkLDB4ZTAgfSB9LAoteyAgMTYsIDB4YjU0MCwgMCwgezB4OGYsMHg3OCwweDAzLDB4MWUsMHg4NCwweGI3LDB4ODIsMHgzZCwweDYwLDB4MGYsMHg1OSwweDAzLDB4ZGUsMHgwMCwweGY3LDB4ODAgfSB9LAoteyAgMTYsIDB4YjU1MCwgMCwgezB4MjksMHg2MCwweDE1LDB4NzgsMHgwMywweGRlLDB4MDAsMHhjNywweDgwLDB4MzEsMHg2MCwweDBmLDB4N2MsMHgwMywweDZhLDB4MDIgfSB9LAoteyAgMTYsIDB4YjU2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MWQsMHhhYywweDQwLDB4ZTksMHgwMCwweDNlLDB4ODAgfSB9LAoteyAgMTYsIDB4YjU3MCwgMCwgezB4MGYsMHhhMCwweDAzLDB4ZWQsMHgzMCwweGZiLDB4MDAsMHgzNiwweGMxLDB4MGYsMHg5NiwweDAzLDB4ZTQsMHgwMCwweGIzLDB4MDAgfSB9LAoteyAgMTYsIDB4YjU4MCwgMCwgezB4MzQsMHg0MCwweDBmLDB4YjcsMHg4MywweGVjLDB4NDAsMHgyMSwweDAwLDB4M2UsMHg0MCwweDBmLDB4YjAsMHgwMywweGMyLDB4MDYgfSB9LAoteyAgMTYsIDB4YjU5MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmZSwweDAwLDB4ZmYsMHg4MSwweDMzLDB4ZTAgfSB9LAoteyAgMTYsIDB4YjVhMCwgMCwgezB4MGYsMHhmOSwweDAzLDB4ZGUsMHgyMCwweGNmLDB4ODEsMHgzZiwweGUwLDB4MDcsMHg3OCwweDAzLDB4M2UsMHgwMCwweGZmLDB4ODAgfSB9LAoteyAgMTYsIDB4YjViMCwgMCwgezB4M2YsMHhlMCwweDA0LDB4ZjgsMHgxMywweGZlLDB4MDIsMHhkZSwweDgwLDB4MzMsMHg2MCwweDBmLDB4ZjgsMHgwMywweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4YjVjMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTEsMHg5YywweDAwLDB4YjcsMHgwMCwweDIxLDB4YzQgfSB9LAoteyAgMTYsIDB4YjVkMCwgMCwgezB4MGIsMHg1YSwweDAyLDB4ZGMsMHg0OCwweDg2LDB4NTAsMHgyZCwweGMwLDB4MGIsMHgzMSwweDAyLDB4OTQsMHg2MCwweGI0LDB4MTggfSB9LAoteyAgMTYsIDB4YjVlMCwgMCwgezB4MmQsMHg0MCwweDQ4LDB4NzAsMHgwMiwweGU4LDB4MDAsMHhhNSwweDEwLDB4MjEsMHg0MCwweDBiLDB4NzEsMHgwMiwweDJhLDB4MDQgfSB9LAoteyAgMTYsIDB4YjVmMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5YywweDAwLDB4YmQsMHgwMCwweDIxLDB4NDIgfSB9LAoteyAgMTYsIDB4YjYwMCwgMCwgezB4MGIsMHg3MCwweDAyLDB4ZmMsMHgwMiwweDg1LDB4MDAsMHgyNSwweDQwLDB4MGIsMHg1MCwweDAyLDB4OWMsMHgwMCwweGI3LDB4MDAgfSB9LAoteyAgMTYsIDB4YjYxMCwgMCwgezB4MmYsMHg0MCwweDI4LDB4NzEsMHgwMiwweGRjLDB4MDAsMHhhNiwweDAwLDB4MjEsMHhjMCwweDBiLDB4NzAsMHgwMiwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4YjYyMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIwLDB4MTQsMHg2ZCwweDgwLDB4YjEsMHgyMCwweGEwLDB4NTAgfSB9LAoteyAgMTYsIDB4YjYzMCwgMCwgezB4MGIsMHhiMiwweDA2LDB4Y2UsMHgwMCwweGEwLDB4MzQsMHgyZSwweGYwLDB4MGIsMHgxOCwweDAyLDB4ODUsMHgyMCwweGIzLDB4NGEgfSB9LAoteyAgMTYsIDB4YjY0MCwgMCwgezB4MmMsMHg1NCwweDg4LDB4MzgsMHgwMiwweGNjLDB4MTAsMHhhMSwweDAwLDB4MjAsMHhiMCwweDBiLDB4MzAsMHgwMiwweDA4LDB4MDQgfSB9LAoteyAgMTYsIDB4YjY1MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhiZSwweDgwLDB4ZjMsMHgwOCwweDEwLDB4NTQgfSB9LAoteyAgMTYsIDB4YjY2MCwgMCwgezB4MGIsMHg4OCwweDEzLDB4ZmYsMHgwMCwweGMwLDB4ODAsMHgzZSwweDY0LDB4MGYsMHhiNCwweDgzLDB4MDcsMHgwMCwweGY5LDB4YzAgfSB9LAoteyAgMTYsIDB4YjY3MCwgMCwgezB4M2UsMHhmMCwweDBjLDB4ZmMsMHgxMywweGY0LDB4MDAsMHhlYSwweDAwLDB4MzIsMHg3MCwweDBmLDB4ZjAsMHgwYiwweDJhLDB4MDQgfSB9LAoteyAgMTYsIDB4YjY4MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDAsMHhlYywweDAwLDB4ZjksMHgwMCwweDNlLDB4MTAgfSB9LAoteyAgMTYsIDB4YjY5MCwgMCwgezB4MDcsMHg5MSwweDAzLDB4ZWMsMHhjMCwweDU4LDB4MDAsMHgzZSwweDQ0LDB4MGYsMHg5MiwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAgfSB9LAoteyAgMTYsIDB4YjZhMCwgMCwgezB4M2UsMHhjMCwweDhmLDB4YjMsMHgwMywweGUwLDB4MDAsMHhiYiwweDAwLDB4YmUsMHg0NCwweDBmLDB4YjAsMHgwMywweGUwLDB4MDAgfSB9LAoteyAgMTYsIDB4YjZiMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmYywweDAyLDB4Y2QsMHgwNCwweDMzLDB4ZTAgfSB9LAoteyAgMTYsIDB4YjZjMCwgMCwgezB4MGMsMHhjMCwweDAzLDB4M2MsMHgwOCwweGZlLDB4MDAsMHgzMywweDYwLDB4MmMsMHhkMCwweDAyLDB4YjQsMHg4MCwweGNmLDB4MDAgfSB9LAoteyAgMTYsIDB4YjZkMCwgMCwgezB4M2YsMHg1MiwweDA3LDB4ZjAsMHgxMywweGZjLDB4MDAsMHhjZSwweDEwLDB4MzMsMHg0MiwweDBjLDB4YjAsMHgwMywweGMwLDB4NDQgfSB9LAoteyAgMTYsIDB4YjZlMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgxLDB4MDQsMHg2YywweDAwLDB4ODksMHgwMCwweDJhLDB4YjAgfSB9LAoteyAgMTYsIDB4YjZmMCwgMCwgezB4MDgsMHg4OCwweDAyLDB4MmMsMHgwMCwweGJhLDB4MDAsMHgzNiwweDQ0LDB4MDgsMHg5MCwweDAwLDB4MjYsMHgwMCwweGRiLDB4YzAgfSB9LAoteyAgMTYsIDB4YjcwMCwgMCwgezB4MmUsMHg0MCwweDBiLDB4YjAsMHgwMiwweGVjLDB4MDAsMHg4MywweGMwLDB4MjgsMHg0MCwweDBhLDB4YjAsMHgwMiwweGUwLDB4NDAgfSB9LAoteyAgMTYsIDB4YjcxMCwgMCwgezB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAwLDB4OGIsMHgwMCwweDIyLDB4MDggfSB9LAoteyAgMTYsIDB4YjcyMCwgMCwgezB4MWEsMHhhMiwweDAyLDB4MmMsMHgxMCwweGI5LDB4MjAsMHgyMiwweDQwLDB4MDgsMHgzMCwweDAyLDB4MmMsMHgwNCwweGFhLDB4NTQgfSB9LAoteyAgMTYsIDB4YjczMCwgMCwgezB4MmUsMHhjMCwweDBiLDB4YjAsMHgxMiwweGNjLDB4MDAsMHg4YiwweDA4LDB4MjIsMHg0MCwweDA4LDB4YjAsMHgwMiwweGUwLDB4MDAgfSB9LAoteyAgMTYsIDB4Yjc0MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDQsMHgwYywweDAwLDB4ODMsMHgwNCwweDJhLDB4MDAgfSB9LAoteyAgMTYsIDB4Yjc1MCwgMCwgezB4MGEsMHgwOCwweDgyLDB4MGMsMHgwMCwweGI4LDB4MDAsMHg2NCwweDQwLDB4MDgsMHgzMCwweDAyLDB4YTQsMHgwMCwweGIwLDB4MDAgfSB9LAoteyAgMTYsIDB4Yjc2MCwgMCwgezB4MmMsMHhjMCwweDhiLDB4MzAsMHgxMCwweGM4LDB4MDIsMHg4YiwweDAwLDB4MmEsMHg0MCwweDBhLDB4MzAsMHgwMiwweGMyLDB4MDEgfSB9LAoteyAgMTYsIDB4Yjc3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2YywweDAwLDB4YzksMHgwMCwweDMyLDB4MDAgfSB9LAoteyAgMTYsIDB4Yjc4MCwgMCwgezB4MWEsMHg4MiwweDAzLDB4M2MsMHgwMCwweGY5LDB4MDAsMHgzMiwweDQwLDB4MGMsMHhkMSwweDAzLDB4YWMsMHgwMCwweGViLDB4MDAgfSB9LAoteyAgMTYsIDB4Yjc5MCwgMCwgezB4M2UsMHg0MCwweDBmLDB4ZjAsMHgwMywweGVkLDB4MDAsMHhjMywweDAwLDB4MzIsMHhjMCwweDhjLDB4YjAsMHgwMywweGMwLDB4MDMgfSB9LAoteyAgMTYsIDB4YjdhMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTksMHhmYywweDAwLDB4ZjUsMHgwMCwweDNmLDB4MDAgfSB9LAoteyAgMTYsIDB4YjdiMCwgMCwgezB4MGQsMHg4MCwweDRiLDB4ZmMsMHgwMCwweDdjLDB4MDAsMHgzZiwweDQwLDB4MGYsMHhkMiwweDBiLDB4NzQsMHgwMCwweGRmLDB4MDAgfSB9LAoteyAgMTYsIDB4YjdjMCwgMCwgezB4MWQsMHg0MCwweDhmLDB4ZjAsMHgwMywweGZjLDB4YTAsMHhmZiwweDAwLDB4M2YsMHg4MCwweDBmLDB4ZjAsMHgwMywweGU4LDB4MDYgfSB9LAoteyAgMTYsIDB4YjdkMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmYywweDAwLDB4ZGYsMHg4NCwweDNiLDB4ZTAgfSB9LAoteyAgMTYsIDB4YjdlMCwgMCwgezB4MGYsMHhmOCwweDBiLDB4M2UsMHgwMCwweGVjLDB4ODAsMHgzMywweGUxLDB4MGMsMHgzMCwweDAzLDB4M2MsMHg4MCwweGNmLDB4NDggfSB9LAoteyAgMTYsIDB4YjdmMCwgMCwgezB4MzcsMHhjMCwweDBlLDB4NDAsMHgwMywweGUwLDB4YzAsMHhjNywweDkxLDB4YjMsMHgwNCwweDBjLDB4ZjAsMHgwMywweDMwLDB4MDAgfSB9LAoteyAgMTYsIDB4YjgwMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MTAsMHhlZiwweDA0LDB4OGIsMHg4MCwweDIyLDB4NDEgfSB9LAoteyAgMTYsIDB4YjgxMCwgMCwgezB4MGIsMHhiMCwweDgyLDB4MmUsMHgwMCwweDg4LDB4ODAsMHhhMiwweGUwLDB4MGEsMHhhMiwweDkyLDB4YWQsMHg4MCwweDg3LDB4NDIgfSB9LAoteyAgMTYsIDB4YjgyMCwgMCwgezB4MjMsMHhkOCwweDhhLDB4YWQsMHgwMiwweGUwLDB4YzAsMHg4YiwweDAwLDB4MjAsMHg0YywweDQ4LDB4YTQsMHgwMiwweDIwLDB4MDQgfSB9LAoteyAgMTYsIDB4YjgzMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDU4LDB4YmIsMHgwMCwweDI4LDB4ODAgfSB9LAoteyAgMTYsIDB4Yjg0MCwgMCwgezB4MGIsMHhiMiwweDQyLDB4MjQsMHgwMCwweGE4LDB4MDAsMHgyYSwweGMwLDB4MGEsMHgxMCwweDAyLDB4MDQsMHg2MCwweGEzLDB4MjAgfSB9LAoteyAgMTYsIDB4Yjg1MCwgMCwgezB4MjQsMHhkMiwweDA4LDB4MDAsMHg0MiwweDhjLDB4ODMsMHg5YiwweDAxLDB4MjAsMHg0OSwweDA4LDB4MzMsMHhjMiwweDIyLDB4MDEgfSB9LAoteyAgMTYsIDB4Yjg2MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MTUsMHhhYywweDAwLDB4YWIsMHg4OCwweDIyLDB4YTAgfSB9LAoteyAgMTYsIDB4Yjg3MCwgMCwgezB4MGIsMHhiOCwweDAyLDB4MjYsMHgwYywweGE4LDB4MDAsMHgyYSwweGMwLDB4MGEsMHg5MiwweDAyLDB4YTQsMHgwMCwweGFiLDB4MDYgfSB9LAoteyAgMTYsIDB4Yjg4MCwgMCwgezB4MjIsMHhjMCwweDBhLDB4YjAsMHgwMiwweGU4LDB4MDAsMHg5YiwweDAwLDB4MDIsMHg0MCwweDA4LDB4YTAsMHg0MiwweDMwLDB4MDQgfSB9LAoteyAgMTYsIDB4Yjg5MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlYywweDAwLDB4ZDMsMHg4MCwweDNhLDB4ZTAgfSB9LAoteyAgMTYsIDB4YjhhMCwgMCwgezB4MGYsMHgxOCwweDAxLDB4MDYsMHgwMCwweGU4LDB4MzAsMHgzOCwweDY2LDB4MGUsMHhiOCwweDAzLDB4MmEsMHg0MCwweGViLDB4MDAgfSB9LAoteyAgMTYsIDB4YjhiMCwgMCwgezB4MzYsMHhjMSwweDBlLDB4OTYsMHgwMywweGUyLDB4ODAsMHhkYSwweDA4LDB4MzIsMHg4MCwweDJjLDB4YmIsMHgwMywweDEwLDB4MDQgfSB9LAoteyAgMTYsIDB4YjhjMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDEsMHg5YywweDAwLDB4ZGYsMHgwMCwweDNmLDB4YzAgfSB9LAoteyAgMTYsIDB4YjhkMCwgMCwgezB4MGYsMHhkMCwweDAzLDB4ZjQsMHgwMCwweGRjLDB4ODAsMHgzNywweDYwLDB4MGYsMHhlOCwweDAzLDB4ZmEsMHgwMCwweGRmLDB4MDEgfSB9LAoteyAgMTYsIDB4YjhlMCwgMCwgezB4M2YsMHhjMCwweDBmLDB4YzAsMHg0MywweGU2LDB4NGMsMHhlZiwweGEwLDB4M2YsMHg0NCwweDBmLDB4YTAsMHgwMywweGY4LDB4MDAgfSB9LAoteyAgMTYsIDB4YjhmMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhYywweDQwLDB4ZGIsMHgwMCwweDM2LDB4ODAgfSB9LAoteyAgMTYsIDB4YjkwMCwgMCwgezB4MGMsMHg5OCwweDAzLDB4MjYsMHgwMCwweGY4LDB4MDAsMHgzZSwweGMwLDB4MGUsMHgxOCwweDAzLDB4ODQsMHgwMiwweGUzLDB4MDEgfSB9LAoteyAgMTYsIDB4YjkxMCwgMCwgezB4MzgsMHhjMSwweDBlLDB4YjQsMHgwMywweGFjLDB4ODAsMHhjYSwweDE4LDB4M2EsMHhkMCwweDJjLDB4MzAsMHgwMywweDEwLDB4MDQgfSB9LAoteyAgMTYsIDB4YjkyMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM4LDB4MDUsMHgzZiwweDQwLDB4YjksMHg4OCwweDJlLDB4ODAgfSB9LAoteyAgMTYsIDB4YjkzMCwgMCwgezB4MDgsMHhiYywweDAyLDB4YTMsMHgwMCwweGIwLDB4MDAsMHgwZSwweGMwLDB4MDgsMHhiMCwweDA2LDB4MjAsMHgwMCwweDhmLDB4MDQgfSB9LAoteyAgMTYsIDB4Yjk0MCwgMCwgezB4MjMsMHhjMSwweDA4LDB4YjksMHgxMiwweDJmLDB4MDAsMHg4MywweDgwLDB4MzYsMHg0MCwweDA4LDB4YWQsMHgwMiwweDMyLDB4MDAgfSB9LAoteyAgMTYsIDB4Yjk1MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0YywweDAwLDB4YjIsMHgwMCwweDJjLDB4YzAgfSB9LAoteyAgMTYsIDB4Yjk2MCwgMCwgezB4MDksMHgzMiwweDAyLDB4ODQsMHgwMCwweDMzLDB4MDAsMHgyYywweGIyLDB4MGEsMHgzNiwweDEyLDB4OGMsMHgwOCwweDkzLDB4MDUgfSB9LAoteyAgMTYsIDB4Yjk3MCwgMCwgezB4MjAsMHhjMCwweDBiLDB4MTgsMHgwMiwweGVkLDB4MDAsMHg5MSwweDgwLDB4NmEsMHgwMCwweDA4LDB4MTAsMHgwMiwweDM4LDB4MDAgfSB9LAoteyAgMTYsIDB4Yjk4MCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIwLDB4MDEsMHgxZSwweDAwLDB4YjcsMHg4MCwweDJkLDB4ZTAgfSB9LAoteyAgMTYsIDB4Yjk5MCwgMCwgezB4MDksMHg3OCwweDAyLDB4OTcsMHg0MCwweGI0LDB4ODAsMHgyZiwweGEwLDB4MDgsMHhlOCwweDAyLDB4MGUsMHg0MCwweDk3LDB4ODIgfSB9LAoteyAgMTYsIDB4YjlhMCwgMCwgezB4MjEsMHhlMCwweDk4LDB4NjgsMHg4MiwweDFhLDB4MTgsMHg5ZCwweDkwLDB4MmQsMHhhMSwweDE4LDB4NTgsMHgwMiwweDA4LDB4MDAgfSB9LAoteyAgMTYsIDB4YjliMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweGMwLDB4ZjMsMHgwMCwweDNlLDB4YzAgfSB9LAoteyAgMTYsIDB4YjljMCwgMCwgezB4MGQsMHhiMCwweDQzLDB4ODQsMHg0MCwweGYwLDB4MDAsMHgzYywweDgyLDB4MGUsMHgzOCwweDEyLDB4OGMsMHg0NCwweGYzLDB4MzAgfSB9LAoteyAgMTYsIDB4YjlkMCwgMCwgezB4YmEsMHhjMSwweDFlLDB4MTAsMHg0NywweDhlLDB4MjIsMHhkMSwweDEwLDB4MzgsMHgxOCwweDBjLDB4MzAsMHg4MywweDEyLDB4MDIgfSB9LAoteyAgMTYsIDB4YjllMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MWQsMHhiYywweDQwLDB4ZmYsMHgwMCwweDNmLDB4YzAgfSB9LAoteyAgMTYsIDB4YjlmMCwgMCwgezB4MGUsMHhlMCwweDAzLDB4ZjQsMHg0MCwweGZjLDB4MDAsMHgzZCwweGM0LDB4MGYsMHhkMCwweDAxLDB4ZjQsMHg0MSwweGVmLDB4MTggfSB9LAoteyAgMTYsIDB4YmEwMCwgMCwgezB4M2YsMHhjNCwweDFmLDB4ZjAsMHgwMywweGY4LDB4NDgsMHhlZiwweDE0LDB4MzMsMHg4MCwweDBmLDB4YzEsMHgwMywweGQwLDB4MDYgfSB9LAoteyAgMTYsIDB4YmExMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhmYywweDQwLDB4ZmIsMHgwMCwweDNlLDB4YzAgfSB9LAoteyAgMTYsIDB4YmEyMCwgMCwgezB4MGYsMHg5OCwweDAzLDB4MjQsMHgwMCwweGNiLDB4MDAsMHgzZSwweDQwLDB4MGYsMHhiMCwweDAzLDB4YTgsMHgwMCwweGRiLDB4MjggfSB9LAoteyAgMTYsIDB4YmEzMCwgMCwgezB4M2UsMHhjNCwweDFmLDB4OTAsMHgyMywweGVjLDB4MDAsMHhjYSwweDAwLDB4MzIsMHhlMCwweDBjLDB4OTAsMHgwMywweGVhLDB4MDAgfSB9LAoteyAgMTYsIDB4YmE0MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MTEsMHg5YywweDgwLDB4YjcsMHgwMCwweDJkLDB4YzAgfSB9LAoteyAgMTYsIDB4YmE1MCwgMCwgezB4NGIsMHg1MCwweDUyLDB4MTQsMHgwMCwweGQ0LDB4MDEsMHgyZCwweDgwLDB4MGIsMHg2MCwweDAyLDB4ZDgsMHgwMCwweGE3LDB4MjAgfSB9LAoteyAgMTYsIDB4YmE2MCwgMCwgezB4MmQsMHhjNSwweDBiLDB4NDAsMHgxNiwweGRjLDB4MDAsMHg4NCwweDAwLDB4MjMsMHhjMCwweDA4LDB4NDAsMHgwMiwweGQyLDB4MDQgfSB9LAoteyAgMTYsIDB4YmE3MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZSwweDgwLDB4YjcsMHg4MCwweDJkLDB4ZTAgfSB9LAoteyAgMTYsIDB4YmE4MCwgMCwgezB4MGIsMHg3OCwweDBhLDB4OTYsMHgwMCwweDk0LDB4ODAsMHgyZCwweDYwLDB4MWIsMHg3OCwweDA2LDB4ZDIsMHgwMCwweGE3LDB4ODAgfSB9LAoteyAgMTYsIDB4YmE5MCwgMCwgezB4MmQsMHhlMCwweDBiLDB4NzgsMHgyMiwweGRlLDB4MDAsMHg4NywweDgyLDB4MjEsMHhlMCwweDA4LDB4NTgsMHgwMiwweGYwLDB4MDAgfSB9LAoteyAgMTYsIDB4YmFhMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MTQsMHhjYywweDAwLDB4YjMsMHhlNCwweDJjLDB4YzAgfSB9LAoteyAgMTYsIDB4YmFiMCwgMCwgezB4MWIsMHgyMSwweDAyLDB4ODEsMHgwMCwweDkwLDB4MDAsMHgyYywweGM4LDB4MGIsMHgzOSwweDAyLDB4Y2UsMHgwMCwweGEzLDB4MDAgfSB9LAoteyAgMTYsIDB4YmFjMCwgMCwgezB4MmMsMHhjMCwweDBiLDB4MzAsMHgwMiwweGNkLDB4MDAsMHg4YiwweDIwLDB4MjAsMHhmMCwweDA4LDB4YjIsMHgwMiwweGQyLDB4MDQgfSB9LAoteyAgMTYsIDB4YmFkMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOCwweDAwLDB4ZmUsMHhhMCwweDNmLDB4ODIgfSB9LAoteyAgMTYsIDB4YmFlMCwgMCwgezB4MGYsMHhlOCwweDAzLDB4OTgsMHgzMCwweGQ2LDB4MDAsMHgzZiwweGEwLDB4MGYsMHhlMCwweDAzLDB4YmEsMHhjMCwweGZhLDB4MDAgfSB9LAoteyAgMTYsIDB4YmFmMCwgMCwgezB4M2UsMHg4MCwweDBmLDB4ZWMsMHgzMywweGY4LDB4MDIsMHhjZSwweDAwLDB4YjMsMHhiOCwweDJjLDB4ZWMsMHg4MywweGZhLDB4MDQgfSB9LAoteyAgMTYsIDB4YmIwMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDAsMHhlMCwweDE4LDB4ZjgsMHg0MCwweDNlLDB4MDAgfSB9LAoteyAgMTYsIDB4YmIxMCwgMCwgezB4MGYsMHg4MCwweDAyLDB4NjAsMHg4NCwweGY4LDB4MDUsMHgyZSwweDA0LDB4OGYsMHg4MCwweDQxLDB4ZTAsMHgwMCwweDc4LDB4MDIgfSB9LAoteyAgMTYsIDB4YmIyMCwgMCwgezB4M2UsMHgwMCwweDBmLDB4ODEsMHg4MywweGUwLDB4MjAsMHhmOCwweDAwLDB4YmUsMHgwMiwweDBmLDB4ODAsMHgwMywweGQyLDB4MDAgfSB9LAoteyAgMTYsIDB4YmIzMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNiwweDE4LDB4ZjksMHgyMCwweDNlLDB4NDAgfSB9LAoteyAgMTYsIDB4YmI0MCwgMCwgezB4MGYsMHg5YywweDAzLDB4ZTQsMHg0MCwweGM5LDB4MDAsMHgzMiwweDYxLDB4MGMsMHg5MCwweDEzLDB4YzQsMHgwOCwweGM5LDB4MDEgfSB9LAoteyAgMTYsIDB4YmI1MCwgMCwgezB4M2UsMHg0MSwweDBmLDB4MTgsMHgwMywweDI0LDB4MDAsMHhjOSwweGEwLDB4MzIsMHg0MCwweDBmLDB4OTgsMHg0MywweDAyLDB4MDQgfSB9LAoteyAgMTYsIDB4YmI2MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDQsMHg2NSwweDAwLDB4YjEsMHhjMCwweDIyLDB4NDAgfSB9LAoteyAgMTYsIDB4YmI3MCwgMCwgezB4MGIsMHg5YywweDAyLDB4ZTcsMHgxMCwweDg5LDB4MDAsMHgyOCwweDQ0LDB4MDgsMHg5NCwweDIyLDB4ZTQsMHgxMCwweDg5LDB4MDAgfSB9LAoteyAgMTYsIDB4YmI4MCwgMCwgezB4MmUsMHg0MCwweDBiLDB4OWYsMHgyMiwweDI2LDB4NjAsMHg4OSwweDgwLDB4MjIsMHg0MCwweDBiLDB4OTEsMHgwYSwweDIwLDB4MDAgfSB9LAoteyAgMTYsIDB4YmI5MCwgMCwgezB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDgwLDB4YjksMHgwMCwweDJlLDB4YzAgfSB9LAoteyAgMTYsIDB4YmJhMCwgMCwgezB4NGIsMHhiNCwweDAyLDB4ZTQsMHgyMCwweDg5LDB4MjAsMHgyMiwweDQwLDB4MDgsMHg5NCwweDAyLDB4ZWMsMHgwMCwweDg5LDB4MDAgfSB9LAoteyAgMTYsIDB4YmJiMCwgMCwgezB4MmUsMHg0MSwweDBiLDB4OTAsMHgwMiwweDA0LDB4MDAsMHg4OSwweDQwLDB4MjIsMHg0MCwweDBiLDB4OTAsMHgwMiwweDA2LDB4MDAgfSB9LAoteyAgMTYsIDB4YmJjMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDQsMHgwNCwweDAwLDB4YjEsMHgwNCwweDIwLDB4NDAgfSB9LAoteyAgMTYsIDB4YmJkMCwgMCwgezB4OGIsMHgxMCwweDAyLDB4ZTQsMHgwNSwweDgxLDB4MDAsMHgyOCwweDQwLDB4MjgsMHgxMiwweDEyLDB4YzQsMHg4MiwweDgxLDB4MjAgfSB9LAoteyAgMTYsIDB4YmJlMCwgMCwgezB4MmMsMHg0OCwweDBiLDB4MTIsMHgwYSwweDA0LDB4ODIsMHg4MSwweDAwLDB4MjAsMHg0OCwweDBiLDB4MTIsMHgwMiwweDAyLDB4MDEgfSB9LAoteyAgMTYsIDB4YmJmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2OCwweGEwLDB4ZmEsMHgwMiwweDNlLDB4MTQgfSB9LAoteyAgMTYsIDB4YmMwMCwgMCwgezB4MGYsMHg4NSwweDAzLDB4ZTAsMHgwMCwweGM4LDB4MDAsMHgzMiwweDAwLDB4MGMsMHg4NSwweDAzLDB4YzEsMHg0MCwweGM4LDB4NTMgfSB9LAoteyAgMTYsIDB4YmMxMCwgMCwgezB4M2UsMHgxNCwweDBmLDB4ODAsMHgwMywweDAxLDB4NDgsMHhjMCwweDUwLDB4YjIsMHgxNCwweDBmLDB4ODUsMHgwMywweDJlLDB4MDMgfSB9LAoteyAgMTYsIDB4YmMyMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDk4LDB4MWQsMHhlNCwweDAwLDB4ZmQsMHgwMCwweGJmLDB4NDAgfSB9LAoteyAgMTYsIDB4YmMzMCwgMCwgezB4MGYsMHg1MCwweDEzLDB4ZDQsMHgwMiwweGZkLDB4MDAsMHgyZiwweGMwLDB4MGYsMHhkMSwweDAzLDB4ZjQsMHg0MCwweGY5LDB4MTAgfSB9LAoteyAgMTYsIDB4YmM0MCwgMCwgezB4M2UsMHg0NCwweDBmLDB4ZDEsMHgwMywweGY0LDB4NDAsMHhmZiwweDAwLDB4YmYsMHg0NCwweDBmLDB4ZDEsMHgwMywweGU2LDB4MDYgfSB9LAoteyAgMTYsIDB4YmM1MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhlNiwweGEwLDB4ZmQsMHgwMSwweDNlLDB4NDQgfSB9LAoteyAgMTYsIDB4YmM2MCwgMCwgezB4MGYsMHhkMSwweDAzLDB4ZDQsMHgwMCwweGM1LDB4MDAsMHgzMywweDQxLDB4MGYsMHhkYiwweDAzLDB4MjcsMHgyMCwweGQ5LDB4ZTAgfSB9LAoteyAgMTYsIDB4YmM3MCwgMCwgezB4YjIsMHg3MCwweDBkLDB4ZGEsMHg4MywweGY2LDB4NDAsMHhjZiwweDEwLDB4MzIsMHg3OCwweDJkLDB4ZGEsMHgwMywweDA2LDB4MDAgfSB9LAoteyAgMTYsIDB4YmM4MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDM4LDB4MTAsMHhlMSwweDAwLDB4YjgsMHgwMCwweDJlLDB4MjggfSB9LAoteyAgMTYsIDB4YmM5MCwgMCwgezB4MGIsMHg4OCwweDQyLDB4ZTAsMHgxMCwweGQ4LDB4MDAsMHgyMiwweDAwLDB4MGIsMHg4YywweDBhLDB4MjMsMHgwMCwweDg4LDB4YzAgfSB9LAoteyAgMTYsIDB4YmNhMCwgMCwgezB4MjIsMHgyOCwweDA4LDB4ODQsMHgwMiwweGMyLDB4ODAsMHg4MCwweGEwLDB4MjIsMHgzMCwweDQ4LDB4YWEsMHg4MiwweDBlLDB4MDQgfSB9LAoteyAgMTYsIDB4YmNiMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweDAwLDB4YjEsMHgwMCwweDJjLDB4NDAgfSB9LAoteyAgMTYsIDB4YmNjMCwgMCwgezB4OGIsMHgxMiwweDAyLDB4YzQsMHgwMCwweDk5LDB4MDIsMHgyOCwweDQwLDB4OGIsMHgxNiwweDAyLDB4ODQsMHg4MSwweDkxLDB4MzAgfSB9LAoteyAgMTYsIDB4YmNkMCwgMCwgezB4MjAsMHg1OCwweDA5LDB4MTAsMHgwMiwweGM1LDB4MDAsMHg4MSwweDAwLDB4NjQsMHg0ZCwweDA4LDB4MzQsMHgwMiwweDAyLDB4MDEgfSB9LAoteyAgMTYsIDB4YmNlMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MTUsMHhhYywweDBjLDB4YjksMHgwNCwweDJlLDB4NDggfSB9LAoteyAgMTYsIDB4YmNmMCwgMCwgezB4MGIsMHg5NCwweDA2LDB4ZTQsMHgwMCwweDk5LDB4NDAsMHhhYSwweDQwLDB4MGIsMHg5MiwweDIyLDB4YTQsMHgwMCwweDg5LDB4MDAgfSB9LAoteyAgMTYsIDB4YmQwMCwgMCwgezB4NjAsMHg0MCwweDA4LDB4OTQsMHgwMiwweGU0LDB4MDAsMHg4OSwweDgwLDB4YTYsMHg1MCwweDA4LDB4OTIsMHgwMiwweDA2LDB4MDQgfSB9LAoteyAgMTYsIDB4YmQxMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNCwweDAwLDB4ZjksMHg5OCwweDNlLDB4NDggfSB9LAoteyAgMTYsIDB4YmQyMCwgMCwgezB4MGYsMHg5OCwweDAzLDB4ZTUsMHgyMCwweGQ5LDB4MDAsMHgzYSwweDY0LDB4MGYsMHg5NCwweDgzLDB4YTQsMHhjMCwweGQ5LDB4MDIgfSB9LAoteyAgMTYsIDB4YmQzMCwgMCwgezB4NzIsMHg0MCwweDRkLDB4OTAsMHg0MiwweGU0LDB4ODIsMHhjOSwweDQwLDB4MzYsMHg0MCwweDBjLDB4OTAsMHgwYiwweDI4LDB4MDQgfSB9LAoteyAgMTYsIDB4YmQ0MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDEsMHhhYywweDI4LDB4ZjksMHg4OCwweDNlLDB4NDAgfSB9LAoteyAgMTYsIDB4YmQ1MCwgMCwgezB4MGYsMHg5OSwweDEzLDB4ZTcsMHgwMCwweGY5LDB4YzAsMHgzNiwweDYwLDB4MGYsMHg5MCwweDAzLDB4NjYsMHgwMCwweGYxLDB4MDAgfSB9LAoteyAgMTYsIDB4YmQ2MCwgMCwgezB4N2UsMHg0MCwweDBmLDB4OTksMHgwNywweGU0LDB4NjAsMHhmOSwweDAwLDB4MzgsMHg0MCwweDBmLDB4OTgsMHgwMywweGNhLDB4MDAgfSB9LAoteyAgMTYsIDB4YmQ3MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMCwweDAwLDB4ZjgsMHgxMCwweDMyLDB4MDAgfSB9LAoteyAgMTYsIDB4YmQ4MCwgMCwgezB4MGYsMHg4MiwweDBiLDB4MjEsMHgwMCwweGU4LDB4MDAsMHgzNiwweDA0LDB4MGMsMHg4NiwweDAzLDB4ZTEsMHgwMCwweGQ4LDB4MDAgfSB9LAoteyAgMTYsIDB4YmQ5MCwgMCwgezB4MzIsMHgwMCwweDBmLDB4ODAsMHgwMywweDYxLDB4MDAsMHhjOCwweDAwLDB4MzIsMHgwMCwweDBmLDB4MDAsMHgwMywweDBhLDB4MDQgfSB9LAoteyAgMTYsIDB4YmRhMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHgyOCwweDIwLDB4YmUsMHgwMCwweDIyLDB4ODAgfSB9LAoteyAgMTYsIDB4YmRiMCwgMCwgezB4MjgsMHhlYywweDAyLDB4MTksMHgwNCwweDgyLDB4MDAsMHgwMywweDgwLDB4MGQsMHhlNCwweDgyLDB4ZTgsMHgwMCwweDhhLDB4MDEgfSB9LAoteyAgMTYsIDB4YmRjMCwgMCwgezB4YWEsMHg4MCwweDhiLDB4ZWQsMHg4MiwweDNiLDB4ODAsMHg4ZSwweDkwLDB4MzYsMHg4MCwweDBiLDB4ZTAsMHgwMywweDRhLDB4MDAgfSB9LAoteyAgMTYsIDB4YmRkMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0MiwweDAwLDB4YjMsMHg4MCwweDIwLDB4YzAgfSB9LAoteyAgMTYsIDB4YmRlMCwgMCwgezB4NmIsMHgzNCwweDE2LDB4NDAsMHhjMCwweDgzLDB4MTAsMHgyNCwweDcyLDB4ODgsMHhiMCwweDAyLDB4ZWMsMHgwMCwweDgzLDB4MDAgfSB9LAoteyAgMTYsIDB4YmRmMCwgMCwgezB4MjQsMHhjMCwweDBiLDB4MDQsMHgwMiwweDZmLDB4MDksMHg5YiwweDAwLDB4MjQsMHhjMCwweDBiLDB4MzAsMHgwMiwweDBhLDB4MDAgfSB9LAoteyAgMTYsIDB4YmUwMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MDEsMHgxNCwweDAwLDB4YjcsMHg4MCwweDIzLDB4ZTQgfSB9LAoteyAgMTYsIDB4YmUxMCwgMCwgezB4MjgsMHg3OCwweDgyLDB4NzQsMHgxNCwweDhmLDB4MDAsMHg2MSwweGUwLDB4MDksMHg1MCwweDEyLDB4ZGMsMHgwNCwweDg3LDB4MjIgfSB9LAoteyAgMTYsIDB4YmUyMCwgMCwgezB4MjUsMHhjOCwweDFiLDB4NzgsMHgwMiwweDE0LDB4MDAsMHg5NCwweDQwLDB4YTUsMHhjMCwweDBiLDB4NjAsMHgyMiwweDY4LDB4MDAgfSB9LAoteyAgMTYsIDB4YmUzMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxMiwweDIwLDB4YjcsMHg4MCwweGIxLDB4ZTAgfSB9LAoteyAgMTYsIDB4YmU0MCwgMCwgezB4OGYsMHhmOCwweDAzLDB4MTIsMHgwMiwweGU3LDB4ODAsMHgzNSwweGUwLDB4MGMsMHg2OCwweDA2LDB4Y2YsMHhjMiwweGNmLDB4YjAgfSB9LAoteyAgMTYsIDB4YmU1MCwgMCwgezB4MjUsMHhmNCwweDBmLDB4NTgsMHgwMywweDVhLDB4MDIsMHhkNSwweDgwLDB4NzUsMHhmYSwweDRmLDB4ZjgsMHgwMywweDJhLDB4MDIgfSB9LAoteyAgMTYsIDB4YmU2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MWQsMHhhNSwweDkwLDB4ZjMsMHgwMCwweDNkLDB4YzAgfSB9LAoteyAgMTYsIDB4YmU3MCwgMCwgezB4NGYsMHhiMCwweDEzLDB4YTgsMHgwNCwweGZiLDB4MDAsMHgzYywweGMwLDB4MGYsMHg4MCwweDQzLDB4ZWMsMHg4MCwweGViLDB4NjAgfSB9LAoteyAgMTYsIDB4YmU4MCwgMCwgezB4M2EsMHhjOSwweDBmLDB4MzAsMHgwMywweGVjLDB4MDAsMHhlOSwweDAwLDB4M2UsMHhjOCwweDBmLDB4YTAsMHgwMywweGMyLDB4MDYgfSB9LAoteyAgMTYsIDB4YmU5MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmNiwweDAwLDB4ZWUsMHg4MCwweDNmLDB4ZTAgfSB9LAoteyAgMTYsIDB4YmVhMCwgMCwgezB4MGQsMHg4OSwweDAzLDB4ZDIsMHg0MCwweGU1LDB4ODEsMHgzOSwweGUwLDB4M2MsMHhmOSwweDA3LDB4ZmUsMHgwMCwweGNmLDB4ODggfSB9LAoteyAgMTYsIDB4YmViMCwgMCwgezB4M2YsMHhlMCwweDBmLDB4ZTgsMHgwMywweGYyLDB4MDgsMHhjZSwweDgwLDB4MzMsMHhlMCwweDBjLDB4ZjgsMHgwMywweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4YmVjMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTEsMHg5NCwweDQ0LDB4YzYsMHgwMCwweDJmLDB4YzAgfSB9LAoteyAgMTYsIDB4YmVkMCwgMCwgezB4MDgsMHg1OCwweDAyLDB4ZDAsMHhjNCwweDg1LDB4MjQsMHgyMSwweDkwLDB4MDgsMHg1NCwweDEyLDB4ZGMsMHg4MiwweDA3LDB4MDAgfSB9LAoteyAgMTYsIDB4YmVlMCwgMCwgezB4MmQsMHhjMCwweDBiLDB4NzAsMHgwNiwweGQ0LDB4MDAsMHg4ZSwweDQ4LDB4MjEsMHhjMCwweDBhLDB4NjAsMHgwMiwweDJhLDB4MDQgfSB9LAoteyAgMTYsIDB4YmVmMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5YywweDAwLDB4YTcsMHg0MCwweDJkLDB4YzAgfSB9LAoteyAgMTYsIDB4YmYwMCwgMCwgezB4MDgsMHg0MiwweDAyLDB4ZDAsMHgwMCwweGFkLDB4MDAsMHgyOSwweGMwLDB4MDgsMHg3MCwweDIyLDB4ZGMsMHgyOCwweDg3LDB4MDAgfSB9LAoteyAgMTYsIDB4YmYxMCwgMCwgezB4MmQsMHhjMCwweDBiLDB4NDAsMHgwMiwweDk4LDB4MDAsMHg5NywweDAwLDB4YTAsMHhjNCwweDA4LDB4NzAsMHgwMiwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4YmYyMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIwLDB4MTQsMHhjYywweDA4LDB4OTMsMHgwMCwweDJjLDB4ZTAgfSB9LAoteyAgMTYsIDB4YmYzMCwgMCwgezB4MDgsMHgzYywweDIyLDB4YzEsMHgwMCwweDgxLDB4MDAsMHgyMCwweDgwLDB4ODgsMHgxNSwweDAyLDB4Y2UsMHgzMCwweDgzLDB4MDAgfSB9LAoteyAgMTYsIDB4YmY0MCwgMCwgezB4MmMsMHhjMCwweDBiLDB4M2MsMHgwMiwweGNjLDB4MDQsMHg5MywweGMwLDB4MjAsMHhmNCwweDRhLDB4MGMsMHg4MiwweDA4LDB4MDQgfSB9LAoteyAgMTYsIDB4YmY1MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhhMCwweDAwLDB4ZTMsMHhjMCwweDFmLDB4ZTAgfSB9LAoteyAgMTYsIDB4YmY2MCwgMCwgezB4NmMsMHgxMCwweDgzLDB4ZTAsMHgwNCwweGViLDB4MDAsMHgzYSwweDUyLDB4NGMsMHhiNCwweDAzLDB4ZmUsMHgwMiwweGNmLDB4MDAgfSB9LAoteyAgMTYsIDB4YmY3MCwgMCwgezB4M2YsMHhjMCwweDBmLDB4ODQsMHg0MywweGUxLDB4MDIsMHhkOCwweGMyLDB4MzMsMHhjMCwweDBjLDB4ODQsMHgwYiwweDJhLDB4MDQgfSB9LAoteyAgMTYsIDB4YmY4MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDAsMHhlOSwweDAwLDB4ZWIsMHgxMCwweDNlLDB4YzQgfSB9LAoteyAgMTYsIDB4YmY5MCwgMCwgezB4MGUsMHg5NCwweDAzLDB4ZTQsMHgwMCwweGZiLDB4MTgsMHgzZSwweGMyLDB4MGYsMHhiNiwweDAzLDB4ZWMsMHgwMCwweGZiLDB4MDEgfSB9LAoteyAgMTYsIDB4YmZhMCwgMCwgezB4M2UsMHhjMCwweDBmLDB4MzUsMHgwMywweGM0LDB4MjgsMHhlYSwweDQyLDB4M2UsMHhjMCwweDBmLDB4ODEsMHgwMywweGUwLDB4MDAgfSB9LAoteyAgMTYsIDB4YmZiMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmYywweDQwLDB4ZmYsMHgwMCwweDMzLDB4YzAgfSB9LAoteyAgMTYsIDB4YmZjMCwgMCwgezB4MGMsMHhjMCwweGEzLDB4MzAsMHgyOCwweGNkLDB4YTAsMHgzMywweGMwLDB4MGMsMHhlOCwweDAzLDB4MGMsMHgwMCwweGVmLDB4MDUgfSB9LAoteyAgMTYsIDB4YmZkMCwgMCwgezB4M2QsMHhjMCwweDBjLDB4Y2EsMHg4MywweDNjLDB4MDAsMHhjZCwweDA4LDB4M2YsMHhjMiwweDBjLDB4YTAsMHgwMywweGMwLDB4NDQgfSB9LAoteyAgMTYsIDB4YmZlMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgxLDB4MDQsMHg2NywweDAwLDB4YmIsMHg4MCwweDIwLDB4YzAgfSB9LAoteyAgMTYsIDB4YmZmMCwgMCwgezB4MDgsMHhhYSwweDAyLDB4MDgsMHgwMCwweGExLDB4MDEsMHgzNCwweGQxLDB4MDgsMHhhNCwweDEyLDB4MmMsMHgwMCwweDhiLDB4MDAgfSB9LAoteyAgMTYsIDB4YzAwMCwgMCwgezB4NmUsMHhjMCwweDg4LDB4YjIsMHgwMiwweDJjLDB4MDgsMHg4OSwweDgwLDB4MmUsMHhjMCwweDBhLDB4YTgsMHgwMywweGEwLDB4NDAgfSB9LAoteyAgMTYsIDB4YzAxMCwgMCwgezB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAwLDB4YmEsMHg4MCwweGEyLDB4YzAgfSB9LAoteyAgMTYsIDB4YzAyMCwgMCwgezB4MDgsMHhhOCwweDBhLDB4YTAsMHgwMCwweDhiLDB4MDAsMHhhMiwweGMwLDB4NDgsMHgxMSwweDAyLDB4YWMsMHgwNCwweDhiLDB4MDAgfSB9LAoteyAgMTYsIDB4YzAzMCwgMCwgezB4MmUsMHhjMCwweDAwLDB4ODAsMHgxMiwweDJhLDB4MDgsMHg4YiwweDE0LDB4MmMsMHhjMCwweDA4LDB4ODgsMHgwMiwweGUwLDB4MDAgfSB9LAoteyAgMTYsIDB4YzA0MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDQsMHgwYywweDAwLDB4YjIsMHgwMCwweDIyLDB4YzAgfSB9LAoteyAgMTYsIDB4YzA1MCwgMCwgezB4MDgsMHhiMiwweDEyLDB4ODAsMHgwMCwweGFiLDB4MDEsMHgyNCwweGMwLDB4MDgsMHgwMCwweDAyLDB4MGMsMHgwNCwweDgzLDB4MDAgfSB9LAoteyAgMTYsIDB4YzA2MCwgMCwgezB4MmMsMHhjMCwweDA4LDB4MzAsMHgwMiwweDA3LDB4MDAsMHg4MiwweDAwLDB4MjQsMHhjMCwweDA4LDB4MDgsMHgwMiwweDgyLDB4MDEgfSB9LAoteyAgMTYsIDB4YzA3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2YywweDAwLDB4ZmIsMHgwMCwweDMyLDB4YzAgfSB9LAoteyAgMTYsIDB4YzA4MCwgMCwgezB4MGMsMHhhMiwweDAzLDB4YTAsMHgwMCwweGM5LDB4MDAsMHgzMiwweGMwLDB4MjQsMHg5NCwweDAzLDB4M2MsMHgwMiwweGNmLDB4MDAgfSB9LAoteyAgMTYsIDB4YzA5MCwgMCwgezB4MmYsMHhjMCwweDA0LDB4ODAsMHgwYiwweDA5LDB4MDIsMHhjYiwweDAxLDB4M2YsMHhjMCwweDJjLDB4YTAsMHgwMywweGMwLDB4MDMgfSB9LAoteyAgMTYsIDB4YzBhMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTksMHhkYywweDAwLDB4ZmQsMHgwMiwweDNmLDB4YzAgfSB9LAoteyAgMTYsIDB4YzBiMCwgMCwgezB4NGYsMHhlNCwweDEzLDB4NzAsMHgwMCwweGZkLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhjMiwweDgzLDB4ZmMsMHgwMCwweGZmLDB4MDAgfSB9LAoteyAgMTYsIDB4YzBjMCwgMCwgezB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGZjLDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMCwweDBmLDB4YzAsMHgwMywweGE4LDB4MDYgfSB9LAoteyAgMTYsIDB4YzBkMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmYywweDIwLDB4ZWYsMHgzMCwweDNmLDB4MDQgfSB9LAoteyAgMTYsIDB4YzBlMCwgMCwgezB4NmMsMHg4OCwweDAzLDB4M2EsMHg0MiwweGU0LDB4OTEsMHgzZiwweDBkLDB4MGQsMHg0OCwweDAzLDB4M2MsMHhjMCwweGZmLDB4MDIgfSB9LAoteyAgMTYsIDB4YzBmMCwgMCwgezB4MzMsMHg0NCwweDBjLDB4ZjQsMHgwMywweGZjLDB4ODIsMHhkZiwweDMwLDB4MzMsMHg2MCwweDBkLDB4ZjEsMHgwMywweDMwLDB4MDAgfSB9LAoteyAgMTYsIDB4YzEwMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTAsMHhlZCwweDAwLDB4OGIsMHg3MCwweDJlLDB4MTggfSB9LAoteyAgMTYsIDB4YzExMCwgMCwgezB4ODgsMHgyMiwweDRhLDB4MmMsMHg4MiwweGVhLDB4MjYsMHgyZSwweDBjLDB4MGIsMHhiOCwweDQyLDB4M2QsMHg4MCwweGJmLDB4OTAgfSB9LAoteyAgMTYsIDB4YzEyMCwgMCwgezB4MmEsMHg1NCwweDI4LDB4YjQsMHgwMiwweGNkLDB4MDAsMHhkYiwweDQwLDB4MmEsMHg0YSwweDQ4LDB4MzAsMHgwMiwweGEwLDB4MDQgfSB9LAoteyAgMTYsIDB4YzEzMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweGIwLDB4YTMsMHgwMCwweDZjLDB4MTAgfSB9LAoteyAgMTYsIDB4YzE0MCwgMCwgezB4MDksMHgwMCwweDgyLDB4MjAsMHg4MiwweGEwLDB4MjAsMHgyYywweDg4LDB4NGIsMHg4MCwweDAwLDB4MGMsMHg0MCwweGIzLDB4MDEgfSB9LAoteyAgMTYsIDB4YzE1MCwgMCwgezB4MjAsMHg0OCwweDBiLDB4MzYsMHgwMiwweDhjLDB4ZTAsMHg4MywweDY0LDB4MjQsMHg0MCwweDI4LDB4MzIsMHgwMiwweDIyLDB4MDEgfSB9LAoteyAgMTYsIDB4YzE2MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MTEsMHhhYywweDAwLDB4OGIsMHgwMCwweDJlLDB4MDAgfSB9LAoteyAgMTYsIDB4YzE3MCwgMCwgezB4MDksMHg4MCwweDgwLDB4YTYsMHgwMCwweGJhLDB4MTEsMHgyZSwweDg4LDB4MGIsMHhiMCwweDAwLDB4MmMsMHgwMCwweGJiLDB4MDIgfSB9LAoteyAgMTYsIDB4YzE4MCwgMCwgezB4MDIsMHg0MCwweDA5LDB4YjAsMHgwMiwweGVjLDB4MDAsMHg4YiwweDAwLDB4MmMsMHhjOCwweDA4LDB4YjgsMHg4MiwweGIwLDB4MDQgfSB9LAoteyAgMTYsIDB4YzE5MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlYywweDAwLDB4ZWIsMHgwMCwweDNlLDB4OTIgfSB9LAoteyAgMTYsIDB4YzFhMCwgMCwgezB4MGQsMHg4MCwweDAzLDB4MGEsMHgyMCwweGU5LDB4MDAsMHgzZSwweDUwLDB4NDUsMHg4MCwweDAxLDB4MmMsMHgwNCwweGYzLDB4MDAgfSB9LAoteyAgMTYsIDB4YzFiMCwgMCwgezB4OTAsMHg2MCwweDA5LDB4YjAsMHgwMywweGVjLDB4MDAsMHg4YiwweDAyLDB4MjYsMHg1MCwweDhkLDB4YmMsMHgwMywweDEwLDB4MDQgfSB9LAoteyAgMTYsIDB4YzFjMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDEsMHhiYywweDAwLDB4ZmYsMHgwMiwweDNmLDB4ODAgfSB9LAoteyAgMTYsIDB4YzFkMCwgMCwgezB4MGUsMHhmOSwweDAyLDB4N2MsMHgyMiwweGFmLDB4MDAsMHgzZiwweDYwLDB4MDMsMHhjMCwweDBiLDB4ZmMsMHgxMCwweGZmLDB4MDAgfSB9LAoteyAgMTYsIDB4YzFlMCwgMCwgezB4M2YsMHg0YSwweDRlLDB4ZjAsMHgwMywweGZjLDB4MDAsMHhmNywweDAwLDB4MmIsMHg2MCwweDBmLDB4NzAsMHgwMywweGY4LDB4MDAgfSB9LAoteyAgMTYsIDB4YzFmMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhYywweDAwLDB4ZmIsMHgwMCwweGIwLDB4MDAgfSB9LAoteyAgMTYsIDB4YzIwMCwgMCwgezB4MGYsMHg4MiwweDBiLDB4YTksMHgwMCwweGM5LDB4MDAsMHgzMiwweGQyLDB4MGYsMHhhMCwweDgzLDB4YWMsMHgwMCwweGNiLDB4MTAgfSB9LAoteyAgMTYsIDB4YzIxMCwgMCwgezB4M2UsMHg0MCwweDBjLDB4YjAsMHgwMywweGVjLDB4MDAsMHhkYiwweDAwLDB4MzIsMHg1MCwweDJjLDB4OTUsMHgwMywweDEwLDB4MDQgfSB9LAoteyAgMTYsIDB4YzIyMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM4LDB4MDUsMHgzYywweDA0LDB4YmYsMHgwMiwweDIyLDB4ODAgfSB9LAoteyAgMTYsIDB4YzIzMCwgMCwgezB4MGIsMHg5OCwweDAwLDB4MjksMHgwMCwweGNiLDB4NDAsMHgyMiwweGMwLDB4MGIsMHgyNCwweDAyLDB4M2MsMHgwOCwweDhmLDB4NTAgfSB9LAoteyAgMTYsIDB4YzI0MCwgMCwgezB4MmUsMHg1MCwweDBkLDB4ZjAsMHgwMiwweGZkLDB4NDIsMHg4ZiwweDU4LDB4MjIsMHhlMCwweDQ4LDB4YjUsMHgwMiwweDMyLDB4MDAgfSB9LAoteyAgMTYsIDB4YzI1MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg2YywweDAwLDB4YjMsMHgwMCwweDI0LDB4NDAgfSB9LAoteyAgMTYsIDB4YzI2MCwgMCwgezB4NGIsMHg5NCwweDAwLDB4NDksMHgwMCwweDkwLDB4ODAsMHgwNCwweDMwLDB4MDksMHgwMCwweDBlLDB4NGMsMHgwMCwweDgzLDB4ODAgfSB9LAoteyAgMTYsIDB4YzI3MCwgMCwgezB4MmMsMHhjMCwweDA5LDB4MzAsMHgyMiwweDZlLDB4NDIsMHg4MywweDgwLDB4MjAsMHg0OCwweDA4LDB4MzgsMHgwMiwweDM4LDB4MDAgfSB9LAoteyAgMTYsIDB4YzI4MCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIwLDB4MDEsMHgxZSwweDAwLDB4YjcsMHg4MCwweDY1LDB4MjAgfSB9LAoteyAgMTYsIDB4YzI5MCwgMCwgezB4MGIsMHg3OCwweDgyLDB4N2EsMHgwOCwweDhjLDB4YzAsMHgyNSwweGEzLDB4NGIsMHg3OCwweDAyLDB4NWUsMHgwNCwweDg3LDB4ODQgfSB9LAoteyAgMTYsIDB4YzJhMCwgMCwgezB4MmQsMHg2MSwweDg5LDB4NzgsMHgwMiwweGRlLDB4MDQsMHg4NywweDgwLDB4ZTksMHg2MiwweDA4LDB4NzgsMHgwMiwweDA4LDB4MDAgfSB9LAoteyAgMTYsIDB4YzJiMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDAwLDB4ZmIsMHgwMCwweDM0LDB4NDggfSB9LAoteyAgMTYsIDB4YzJjMCwgMCwgezB4MGYsMHgzYiwweDAzLDB4NDgsMHgwMCwweDkzLDB4NDgsMHgzNCwweDUwLDB4MGQsMHgwMCwweDAzLDB4NmMsMHgwMCwweGMzLDB4MTAgfSB9LAoteyAgMTYsIDB4YzJkMCwgMCwgezB4MWMsMHhjMiwweDA1LDB4MzAsMHgwMywweGNjLDB4NDAsMHhjYiwweDAwLDB4MzIsMHg0MCwweDBjLDB4MjAsMHgwMywweDEyLDB4MDIgfSB9LAoteyAgMTYsIDB4YzJlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MWQsMHhiYywweDIwLDB4ZmYsMHgwMSwweDAzLDB4NDAgfSB9LAoteyAgMTYsIDB4YzJmMCwgMCwgezB4MGYsMHhmMCwweDIzLDB4MWMsMHgwMCwweGZmLDB4MDAsMHgzYiwweDgwLDB4MGYsMHhiMCwweDIzLDB4M2MsMHgwMiwweGZmLDB4NTAgfSB9LAoteyAgMTYsIDB4YzMwMCwgMCwgezB4M2QsMHhjNCwweDBmLDB4ZjEsMHgwMywweGVjLDB4MDAsMHhlZiwweDAwLDB4YjcsMHhjMCwweDBmLDB4ZTEsMHgwMywweGQwLDB4MDYgfSB9LAoteyAgMTYsIDB4YzMxMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhlYywweDAwLDB4ZmIsMHgwMiwweDNlLDB4ZTAgfSB9LAoteyAgMTYsIDB4YzMyMCwgMCwgezB4MGMsMHg4MCwweDAzLDB4NDgsMHgwMiwweGM4LDB4ODEsMHgzMiwweDAwLDB4MGYsMHg5MCwweDQyLDB4ZWMsMHhhMCwweGZiLDB4MTAgfSB9LAoteyAgMTYsIDB4YzMzMCwgMCwgezB4M2UsMHhlMCwweDBjLDB4YjEsMHgwMywweGVjLDB4NDAsMHhmYiwweDEwLDB4MzIsMHg0MCwweDFmLDB4ZjAsMHgwMywweDJhLDB4MDAgfSB9LAoteyAgMTYsIDB4YzM0MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MTEsMHg5YywweDAwLDB4YjcsMHgyNCwweDJkLDB4ODAgfSB9LAoteyAgMTYsIDB4YzM1MCwgMCwgezB4MDgsMHg3MCwweDQyLDB4ZDgsMHgxMCwweDhjLDB4MDIsMHgyMSwweDQwLDB4MGIsMHg1MCwweDAyLDB4ZGQsMHgwMCwweGU3LDB4MjAgfSB9LAoteyAgMTYsIDB4YzM2MCwgMCwgezB4MmYsMHg0MCwweDA4LDB4NzAsMHgwMiwweGRjLDB4MDUsMHhiNywweDAwLDB4MjEsMHhjMCwweDBiLDB4ZjAsMHgwMiwweDEyLDB4MDQgfSB9LAoteyAgMTYsIDB4YzM3MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZSwweDAwLDB4YjcsMHg5MCwweDJmLDB4NDAgfSB9LAoteyAgMTYsIDB4YzM4MCwgMCwgezB4MGEsMHg2OCwweDAyLDB4N2EsMHgwMCwweDk3LDB4ODAsMHgyMSwweGUwLDB4MGIsMHg3OCwweDAyLDB4ZGUsMHgwMCwweGI3LDB4ODAgfSB9LAoteyAgMTYsIDB4YzM5MCwgMCwgezB4MmQsMHhlMCwweDA4LDB4NzgsMHgwNiwweGRlLDB4MDAsMHhiNywweGEwLDB4MjEsMHg2MCwweDBiLDB4NzgsMHg0MiwweDMwLDB4MDAgfSB9LAoteyAgMTYsIDB4YzNhMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MTQsMHhjYywweDAwLDB4YjMsMHgwMCwweDJjLDB4YzAgfSB9LAoteyAgMTYsIDB4YzNiMCwgMCwgezB4MGEsMHgzNCwweDAyLDB4YzgsMHgwMCwweDgzLDB4NGEsMHgyMCwweGY4LDB4MGIsMHgzMSwweDAyLDB4Y2MsMHgwMCwweGEzLDB4MDAgfSB9LAoteyAgMTYsIDB4YzNjMCwgMCwgezB4MmMsMHhjMCwweDA4LDB4MzAsMHgwMiwweGNjLDB4MDAsMHhiMywweDAwLDB4MjAsMHhiMiwweDBiLDB4MjAsMHg0MiwweDEyLDB4MDQgfSB9LAoteyAgMTYsIDB4YzNkMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOCwweDAwLDB4YmEsMHgwMCwweDNmLDB4ODggfSB9LAoteyAgMTYsIDB4YzNlMCwgMCwgezB4MmUsMHhlMCwweDQzLDB4NTksMHg4OCwweGRlLDB4MDAsMHgzMywweGIwLDB4MGYsMHg2YywweDAzLDB4ZTgsMHgwMCwweGZhLDB4MDAgfSB9LAoteyAgMTYsIDB4YzNmMCwgMCwgezB4M2UsMHg4MCwweDJjLDB4YTAsMHgwMywweGU4LDB4MDQsMHhmYSwweDAwLDB4MjMsMHhiOCwweDBmLDB4ZTAsMHg4YiwweDNhLDB4MDQgfSB9LAoteyAgMTYsIDB4YzQwMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDAsMHhlMCwweDA0LDB4ZjgsMHgwMSwweDNlLDB4MDAgfSB9LAoteyAgMTYsIDB4YzQxMCwgMCwgezB4MDksMHg4MiwweDIxLDB4ZTAsMHgwMCwweGY4LDB4NDAsMHhiZSwweDE0LDB4MGYsMHg4NCwweDgxLDB4ZTAsMHgwMCwweGU4LDB4MDAgfSB9LAoteyAgMTYsIDB4YzQyMCwgMCwgezB4M2UsMHgwMCwweDFmLDB4ODAsMHgwMywweGUwLDB4MDAsMHhmOCwweDAwLDB4YmUsMHgwMCwweDBmLDB4ODgsMHgwMywweGQyLDB4MDAgfSB9LAoteyAgMTYsIDB4YzQzMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDAwLDB4ZTEsMHgwMCwweDMyLDB4NDAgfSB9LAoteyAgMTYsIDB4YzQ0MCwgMCwgezB4MGMsMHg5MCwweDQzLDB4ZTQsMHgyMCwweGQ5LDB4MDAsMHgzYywweDQ0LDB4MDgsMHg5MCwweDAzLDB4MjQsMHgwMCwweGY5LDB4MDEgfSB9LAoteyAgMTYsIDB4YzQ1MCwgMCwgezB4M2UsMHg0OCwweDBmLDB4MTAsMHg0MywweDI1LDB4MDAsMHhjOSwweDAwLDB4YjIsMHg0MCwweDBjLDB4OTAsMHgwMywweDAyLDB4MDQgfSB9LAoteyAgMTYsIDB4YzQ2MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDQsMHg2NCwweDAwLDB4YjksMHgwMCwweGEwLDB4NDAgfSB9LAoteyAgMTYsIDB4YzQ3MCwgMCwgezB4MDgsMHg5OCwweDAyLDB4ZTYsMHgwOCwweGE5LDB4NjAsMHgyZSwweDQ5LDB4MDgsMHg5NCwweDAyLDB4MjQsMHgwMCwweGI5LDB4MDAgfSB9LAoteyAgMTYsIDB4YzQ4MCwgMCwgezB4MmUsMHg3MCwweDBiLDB4OTAsMHgwMiwweDI2LDB4MDIsMHg4OSwweDAwLDB4YTAsMHg0MCwweDBhLDB4OTAsMHgwYSwweDIwLDB4MDAgfSB9LAoteyAgMTYsIDB4YzQ5MCwgMCwgezB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDAwLDB4YjksMHgwMCwweDIyLDB4NDAgfSB9LAoteyAgMTYsIDB4YzRhMCwgMCwgezB4MDgsMHg5OCwweDA0LDB4ZTYsMHgwMCwweDk5LDB4ODAsMHgyZSwweDQwLDB4MGEsMHhiMSwweDAyLDB4MjQsMHgwMCwweGI5LDB4MDAgfSB9LAoteyAgMTYsIDB4YzRiMCwgMCwgezB4MGUsMHg0MCwweDBiLDB4OTAsMHgwYSwweDA0LDB4MDAsMHg4MSwweDAxLDB4MjIsMHhjMCwweDA4LDB4MTAsMHgwMiwweDA2LDB4MDAgfSB9LAoteyAgMTYsIDB4YzRjMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDQsMHgwNCwweDgwLDB4YjEsMHgyMCwweDIyLDB4NDggfSB9LAoteyAgMTYsIDB4YzRkMCwgMCwgezB4MDgsMHgxOCwweDA2LDB4YzQsMHgwMCwweGExLDB4MDAsMHgyYywweDQ4LDB4MmEsMHgzMCwweDAyLDB4MDQsMHg4MCwweGIxLDB4MjIgfSB9LAoteyAgMTYsIDB4YzRlMCwgMCwgezB4MmMsMHg0OCwweDBiLDB4MTIsMHgwMiwweDA1LDB4ODAsMHg4MSwweDYwLDB4MjIsMHg1MCwweDBhLDB4MTQsMHgwMiwweDAyLDB4MDEgfSB9LAoteyAgMTYsIDB4YzRmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MSwweDQwLDB4ZjgsMHg1MCwweDMyLDB4MTQgfSB9LAoteyAgMTYsIDB4YzUwMCwgMCwgezB4MGMsMHg4NSwweDAzLDB4ZTEsMHg0MCwweGQ4LDB4NTAsMHgzZSwweDE0LDB4MGUsMHg4MCwweDBiLDB4MjEsMHg0MCwweGZhLDB4MDAgfSB9LAoteyAgMTYsIDB4YzUxMCwgMCwgezB4M2UsMHg5NCwweDBmLDB4ODUsMHgwMywweDIwLDB4MDAsMHhjMCwweDAwLDB4MzIsMHgwMCwweDBjLDB4ODAsMHgwMywweDJlLDB4MDMgfSB9LAoteyAgMTYsIDB4YzUyMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDk4LDB4MWQsMHhlNCwweDQxLDB4ZjksMHgxMCwweDNkLDB4NDUgfSB9LAoteyAgMTYsIDB4YzUzMCwgMCwgezB4MGYsMHhkMCwweDAzLDB4ZjQsMHgwMCwweGZmLDB4MDAsMHgzZiwweDQ1LDB4MGQsMHhkMCwweDAzLDB4ZTQsMHg0MCwweGY5LDB4MTAgfSB9LAoteyAgMTYsIDB4YzU0MCwgMCwgezB4M2YsMHg0NCwweDBmLDB4OTEsMHgwMywweGU0LDB4NDIsMHhmOSwweDEwLDB4M2YsMHg0MCwweDBmLDB4ZDQsMHgwMywweGU2LDB4MDYgfSB9LAoteyAgMTYsIDB4YzU1MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDAgfSB9LAoteyAgMTYsIDB4YzU2MCwgMCwgezB4MGMsMHhkMCwweDAzLDB4ZjQsMHgwOCwweDhkLDB4MDIsMHgzZiwweDQwLDB4MGYsMHhkMCwweDAzLDB4ZTQsMHgwMCwweGNkLDB4MDAgfSB9LAoteyAgMTYsIDB4YzU3MCwgMCwgezB4MzMsMHg0MCwweDBjLDB4OTAsMHgwMywweDI0LDB4MDAsMHhmOSwweDAwLDB4MzIsMHg0MCwweDRjLDB4OTgsMHgyMywweDA2LDB4MDAgfSB9LAoteyAgMTYsIDB4YzU4MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDM4LDB4MTAsMHhlMCwweDAwLDB4ZTgsMHgwMCwweDJlLDB4MDAgfSB9LAoteyAgMTYsIDB4YzU5MCwgMCwgezB4NDgsMHg4MCwweDAyLDB4ZTgsMHgwMCwweGQwLDB4MDAsMHgyZSwweDgwLDB4MGIsMHg4MCwweDEyLDB4ZTAsMHgwMiwweDg4LDB4MDAgfSB9LAoteyAgMTYsIDB4YzVhMCwgMCwgezB4YTIsMHgwMCwweDBhLDB4ODAsMHgxMiwweDIyLDB4MDAsMHhiOCwweDgxLDB4MjIsMHgyOCwweDA4LDB4Y2YsMHgwMiwweDBlLDB4MDQgfSB9LAoteyAgMTYsIDB4YzViMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweDAwLDB4YjEsMHgwMCwweDJjLDB4NDAgfSB9LAoteyAgMTYsIDB4YzVjMCwgMCwgezB4MjgsMHgxMCwweDAyLDB4YzQsMHgwMCwweDgxLDB4MDAsMHgyYywweDQwLDB4MGIsMHgxMCwweDAyLDB4YzQsMHgwMCwweDkxLDB4MDAgfSB9LAoteyAgMTYsIDB4YzVkMCwgMCwgezB4MjYsMHg0MCwweDA5LDB4MTAsMHgwMiwweDU0LDB4YTAsMHhiNSwweDJjLDB4YTUsMHg0MiwweDA4LDB4NTAsMHg4MiwweDAyLDB4MDEgfSB9LAoteyAgMTYsIDB4YzVlMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MTUsMHhhNCwweDAwLDB4YTksMHgwMCwweDJlLDB4NTAgfSB9LAoteyAgMTYsIDB4YzVmMCwgMCwgezB4NTgsMHg5MCwweDAyLDB4ZTQsMHg4MCwweDliLDB4MDAsMHgyZSwweDQ1LDB4OGIsMHg5MiwweDAyLDB4ZTQsMHgwMCwweDk5LDB4MDAgfSB9LAoteyAgMTYsIDB4YzYwMCwgMCwgezB4MjYsMHg0NCwweDBiLDB4OTAsMHgwMiwweDY0LDB4MDgsMHhiNSwweDAwLDB4MjUsMHg0YSwweDA4LDB4NTEsMHgwMiwweDA2LDB4MDQgfSB9LAoteyAgMTYsIDB4YzYxMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NTQgfSB9LAoteyAgMTYsIDB4YzYyMCwgMCwgezB4MGMsMHg5MCwweDQzLDB4YzQsMHgwMCwweGM5LDB4OTAsMHgzZSwweDcwLDB4MGYsMHg5OCwweDAzLDB4ZTQsMHgwMCwweGQ5LDB4MDAgfSB9LAoteyAgMTYsIDB4YzYzMCwgMCwgezB4MzQsMHg2MCwweDRkLDB4OTAsMHgwYSwweDY0LDB4MDAsMHhmOSwweDAwLDB4MzYsMHg0MCwweDJjLDB4OWUsMHgwMywweDI4LDB4MDQgfSB9LAoteyAgMTYsIDB4YzY0MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDEsMHhhNCwweDAwLDB4ZjksMHgwMCwweDNjLDB4NDAgfSB9LAoteyAgMTYsIDB4YzY1MCwgMCwgezB4MGYsMHg5YywweDAzLDB4ZTYsMHgzMCwweGY5LDB4MDAsMHgzZSwweDYyLDB4MGYsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGU5LDB4MDAgfSB9LAoteyAgMTYsIDB4YzY2MCwgMCwgezB4M2EsMHg0MCwweDRlLDB4OTAsMHgwMywweGE0LDB4MDAsMHg3OSwweDBjLDB4M2EsMHg0MCwweDBmLDB4OTAsMHgxYiwweGNhLDB4MDAgfSB9LAoteyAgMTYsIDB4YzY3MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDAgfSB9LAoteyAgMTYsIDB4YzY4MCwgMCwgezB4MGMsMHg4MSwweDEzLDB4ZTEsMHgwOCwweGM4LDB4NDgsMHgzMiwweDAwLDB4M2MsMHg4MCwweDAzLDB4YzAsMHgwMCwweGYwLDB4MTAgfSB9LAoteyAgMTYsIDB4YzY5MCwgMCwgezB4M2UsMHgwNiwweDBjLDB4ODAsMHgwMywweGYwLDB4MDgsMHhjYywweDAwLDB4MzMsMHgwNCwweDBjLDB4YzAsMHgwMywweDBhLDB4MDQgfSB9LAoteyAgMTYsIDB4YzZhMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHgyOCwweDAwLDB4YmEsMHgwMCwweDJlLDB4ODAgfSB9LAoteyAgMTYsIDB4YzZiMCwgMCwgezB4MDgsMHhlYywweDQyLDB4ZmEsMHgyMCwweDhlLDB4MDAsMHgyMywweGEwLDB4MDgsMHhlOCwweDQyLDB4ZTgsMHgwMCwweGJlLDB4ODAgfSB9LAoteyAgMTYsIDB4YzZjMCwgMCwgezB4MmYsMHg4MCwweDA4LDB4YTAsMHgwMiwweGU4LDB4MDAsMHhkYSwweDAwLDB4MjIsMHg4MCwweDQ4LDB4ZTAsMHgwMiwweDBhLDB4MDAgfSB9LAoteyAgMTYsIDB4YzZkMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAwLDB4YjMsMHgwMCwweDJjLDB4YzAgfSB9LAoteyAgMTYsIDB4YzZlMCwgMCwgezB4MDksMHgzNCwweDgyLDB4YzksMHgwMCwweDgzLDB4ODAsMHgyMCwweGYwLDB4MDgsMHgzMCwweDgyLDB4Y2MsMHgwMCwweGIzLDB4ODAgfSB9LAoteyAgMTYsIDB4YzZmMCwgMCwgezB4MmMsMHhmMCwweDA4LDB4YjAsMHgwMiwweGMxLDB4MjAsMHg4MCwweDAwLDB4YTAsMHgzMiwweDA4LDB4MDAsMHgwMiwweDBhLDB4MDAgfSB9LAoteyAgMTYsIDB4YzcwMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MDEsMHgxYywweGMwLDB4YjcsMHgwMSwweDJmLDB4YzggfSB9LAoteyAgMTYsIDB4YzcxMCwgMCwgezB4ODksMHg1MCwweDAyLDB4ZDgsMHgwMiwweDg3LDB4YzQsMHgyMSwweGUyLDB4NDgsMHg3MCwweDgyLDB4ZGMsMHgwMCwweGI3LDB4MDAgfSB9LAoteyAgMTYsIDB4YzcyMCwgMCwgezB4MmMsMHg0MCwweDA4LDB4NzIsMHgwMiwweGNlLDB4MDAsMHg5NywweDA4LDB4MjMsMHhjMCwweDA4LDB4NzAsMHgwMiwweDI4LDB4MDAgfSB9LAoteyAgMTYsIDB4YzczMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZSwweDAwLDB4ZjcsMHhlMSwweDNkLDB4ZTggfSB9LAoteyAgMTYsIDB4Yzc0MCwgMCwgezB4MmQsMHg2OCwweDAzLDB4ZjIsMHgwMCwweGM3LDB4ODAsMHhiMCwweGUwLDB4MDgsMHg2OCwweDAzLDB4ZGYsMHg4MCwweGY2LDB4ODAgfSB9LAoteyAgMTYsIDB4Yzc1MCwgMCwgezB4M2QsMHhlMCwweDhjLDB4N2UsMHgwMywweGRhLDB4MDAsMHhjYywweDgwLDB4MzEsMHgyMCwweDBjLDB4YzgsMHgwYiwweDJhLDB4MDIgfSB9LAoteyAgMTYsIDB4Yzc2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MWQsMHhhYywweDA4LDB4ZmIsMHgwMCwweDNjLDB4YzAgfSB9LAoteyAgMTYsIDB4Yzc3MCwgMCwgezB4MGUsMHg4MCwweDAzLDB4ZTAsMHgwOCwweGY5LDB4MDAsMHgzZSwweDQwLDB4MGYsMHhiMCwweDAyLDB4ZWMsMHgwMCwweGZhLDB4MDAgfSB9LAoteyAgMTYsIDB4Yzc4MCwgMCwgezB4M2UsMHg0MCwweDJmLDB4YjAsMHgwMywweGU0LDB4MDAsMHhmYiwweDAwLDB4M2MsMHhjMCwweDJmLDB4YjAsMHgwMywweGMyLDB4MDYgfSB9LAoteyAgMTYsIDB4Yzc5MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmZSwweDAwLDB4ZmYsMHg5MiwweDdmLDB4ZWEgfSB9LAoteyAgMTYsIDB4YzdhMCwgMCwgezB4MGMsMHhmOCwweDAzLDB4ZmUsMHgwMCwweGNjLDB4YTAsMHgzZiwweDIwLDB4MGQsMHhmOSwweDAzLDB4M2UsMHgwMCwweGNmLDB4ODAgfSB9LAoteyAgMTYsIDB4YzdiMCwgMCwgezB4MzMsMHg2MCwweDBmLDB4ZjgsMHgwMywweGY2LDB4MDAsMHhlZiwweDg0LDB4MzMsMHhlMCwweDJjLDB4YzgsMHgwMywweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4YzdjMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTEsMHg5YywweDAwLDB4YjcsMHgwMCwweDJmLDB4YzggfSB9LAoteyAgMTYsIDB4YzdkMCwgMCwgezB4MDgsMHg1NCwweDAyLDB4ZDgsMHgwMCwweGQ2LDB4MDQsMHgyZCwweDAxLDB4MDgsMHg2OSwweDAyLDB4MWMsMHgwMCwweDg1LDB4MDAgfSB9LAoteyAgMTYsIDB4YzdlMCwgMCwgezB4MjEsMHg0MywweDBiLDB4NzAsMHgwMywweDlhLDB4YzAsMHg4YywweDAwLDB4YTMsMHgwMiwweDA4LDB4ZjEsMHgwMiwweDJhLDB4MDQgfSB9LAoteyAgMTYsIDB4YzdmMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5YywweDAwLDB4YjcsMHgwMSwweDJkLDB4Y2MgfSB9LAoteyAgMTYsIDB4YzgwMCwgMCwgezB4MDgsMHg3MCwweDAyLDB4ZDQsMHgwMCwweDk0LDB4MjgsMHgyZCwweGMyLDB4MDgsMHhjMiwweDAyLDB4NWMsMHgwMCwweDg2LDB4MDAgfSB9LAoteyAgMTYsIDB4YzgxMCwgMCwgezB4MjEsMHg4MCwweDBiLDB4NzEsMHgwMiwweGRjLDB4MDAsMHhhNywweDEwLDB4MjEsMHhjMCwweDA4LDB4NDgsMHgwMiwweDQwLDB4MDAgfSB9LAoteyAgMTYsIDB4YzgyMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIwLDB4MTQsMHhjYywweDA4LDB4YjMsMHgwMCwweDJjLDB4ZjAgfSB9LAoteyAgMTYsIDB4YzgzMCwgMCwgezB4MDgsMHgwNSwweDAyLDB4YzAsMHgyMCwweDkwLDB4ODAsMHgyZSwweDAwLDB4MDgsMHgwMCwweDgyLDB4NGMsMHgwMiwweDgwLDB4MDAgfSB9LAoteyAgMTYsIDB4Yzg0MCwgMCwgezB4YTAsMHg2MSwweDBiLDB4MzAsMHgwMiwweGEwLDB4MDAsMHg4MCwweDAwLDB4YTAsMHgzMCwweDg4LDB4YjEsMHgwYSwweDQ4LDB4MDQgfSB9LAoteyAgMTYsIDB4Yzg1MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhiYywweDAwLDB4ZmYsMHgwMCwweDJkLDB4YzggfSB9LAoteyAgMTYsIDB4Yzg2MCwgMCwgezB4MGMsMHgzZCwweDAzLDB4ZTQsMHgwMCwweGRiLDB4MDIsMHgzZSwweGYwLDB4MmMsMHg5MCwweDRiLDB4N2MsMHgwMCwweGMxLDB4MDAgfSB9LAoteyAgMTYsIDB4Yzg3MCwgMCwgezB4MzIsMHgyMCwweDRmLDB4ZjAsMHgxMywweGUwLDB4MDAsMHhlOCwweDAxLDB4MzIsMHgwMCwweDhjLDB4YWMsMHgwMywweDZhLDB4MDQgfSB9LAoteyAgMTYsIDB4Yzg4MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDAsMHhlYywweDAwLDB4ZmIsMHgwNCwweDNlLDB4YzIgfSB9LAoteyAgMTYsIDB4Yzg5MCwgMCwgezB4NGYsMHhiMCwweDAzLDB4ZTAsMHgwNCwweGZhLDB4NDAsMHgzZSwweGMyLDB4NGUsMHg5OCwweDIzLDB4YWMsMHgxMCwweGY4LDB4MDAgfSB9LAoteyAgMTYsIDB4YzhhMCwgMCwgezB4M2UsMHg1MCwweDA3LDB4YjAsMHgxMywweGFjLDB4MDAsMHhmYiwweDAwLDB4M2UsMHhjMiwweDBmLDB4OTIsMHgwMywweGEwLDB4MDAgfSB9LAoteyAgMTYsIDB4YzhiMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhkYywweDAwLDB4Y2YsMHgwMCwweDNmLDB4YzAgfSB9LAoteyAgMTYsIDB4YzhjMCwgMCwgezB4MGMsMHhjOCwweDIzLDB4MzYsMHg4MiwweGNmLDB4ODAsMHgzZiwweDgwLDB4MGMsMHhlMCwweDAzLDB4ZWMsMHgwMCwweGY5LDB4MjAgfSB9LAoteyAgMTYsIDB4YzhkMCwgMCwgezB4MzMsMHhjMCwweDBlLDB4ZjAsMHgwMywweGY4LDB4MTAsMHhkYywweDAwLDB4MzMsMHgwMCwweDRjLDB4ZTgsMHgyMSwweDAwLDB4NDQgfSB9LAoteyAgMTYsIDB4YzhlMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgxLDB4MDQsMHg2YywweDAwLDB4YWIsMHgwMCwweDJlLDB4YzAgfSB9LAoteyAgMTYsIDB4YzhmMCwgMCwgezB4NGEsMHg4ZCwweDQyLDB4MjEsMHgwMCwweDhiLDB4NDIsMHgyZSwweGQyLDB4MDgsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGI4LDB4ODggfSB9LAoteyAgMTYsIDB4YzkwMCwgMCwgezB4MzQsMHg2MiwweDBkLDB4YjAsMHgwMiwweGU0LDB4MDAsMHg4YiwweDAwLDB4MjIsMHhjMCwweDA4LDB4OTAsMHgwYSwweDIwLDB4NDAgfSB9LAoteyAgMTYsIDB4YzkxMCwgMCwgezB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAwLDB4OGIsMHgwMCwweDJlLDB4YzAgfSB9LAoteyAgMTYsIDB4YzkyMCwgMCwgezB4MDgsMHhhMCwweDAyLDB4MGQsMHgwMCwweDg5LDB4MTAsMHgyZSwweDA4LDB4MjgsMHg5MiwweDAyLDB4ZWMsMHgwNCwweGJiLDB4MDAgfSB9LAoteyAgMTYsIDB4YzkzMCwgMCwgezB4MjIsMHhhMCwweDA4LDB4YjAsMHgwMiwweDY0LDB4MDIsMHhiMywweDAyLDB4MjAsMHhjMCwweDA4LDB4YTIsMHgwMiwweGEwLDB4MDAgfSB9LAoteyAgMTYsIDB4Yzk0MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDQsMHgwYywweDAwLDB4YTMsMHgwMCwweDJlLDB4YzAgfSB9LAoteyAgMTYsIDB4Yzk1MCwgMCwgezB4MGEsMHg5MCwweDIyLDB4MGMsMHgxMCwweDgwLDB4MDAsMHgyYywweDAwLDB4MTgsMHgwMiwweDgyLDB4Y2MsMHgwMCwweGIwLDB4MDAgfSB9LAoteyAgMTYsIDB4Yzk2MCwgMCwgezB4MjYsMHg0MCwweDA5LDB4MzAsMHgwMiwweGM4LDB4MjAsMHg4MCwweDAwLDB4MjAsMHgwMCwweDA4LDB4MTAsMHgwNiwweDgyLDB4MDEgfSB9LAoteyAgMTYsIDB4Yzk3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2YywweDAwLDB4Y2IsMHgwMCwweDJlLDB4YzAgfSB9LAoteyAgMTYsIDB4Yzk4MCwgMCwgezB4MGMsMHhhMSwweDAyLDB4MjQsMHgwMCwweDg4LDB4MDAsMHgzYywweDAwLDB4MGMsMHg4MCwweDAzLDB4ZWMsMHgwMCwweGZiLDB4MDAgfSB9LAoteyAgMTYsIDB4Yzk5MCwgMCwgezB4MzIsMHg4MCwweDBlLDB4YjAsMHgwMywweGNjLDB4ODAsMHhkYiwweDAwLDB4MzIsMHhjMCwweDBjLDB4YTAsMHgwMywweDgwLDB4MDMgfSB9LAoteyAgMTYsIDB4YzlhMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MWQsMHhmYywweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzAgfSB9LAoteyAgMTYsIDB4YzliMCwgMCwgezB4NGYsMHhjMiwweDEzLDB4ZDQsMHgxMCwweGZjLDB4MDAsMHgzZiwweDAwLDB4MGYsMHgwMCwweDAzLDB4YmMsMHgwMCwweGZjLDB4MDAgfSB9LAoteyAgMTYsIDB4YzljMCwgMCwgezB4M2YsMHg0MCwweDBmLDB4ZjAsMHgyMywweGUwLDB4MTIsMHhmYywweDAxLDB4YmYsMHgwMCwweDBmLDB4ZDAsMHgwMywweDY4LDB4MDIgfSB9LAoteyAgMTYsIDB4YzlkMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmYywweDAwLDB4YzcsMHg4MCwweDMzLDB4YzAgfSB9LAoteyAgMTYsIDB4YzllMCwgMCwgezB4OGIsMHhiNCwweDAzLDB4YjAsMHhjMCwweGNmLDB4MmUsMHgxZiwweDBjLDB4NGYsMHhjMywweDAzLDB4MzAsMHg4MCwweGZmLDB4MDEgfSB9LAoteyAgMTYsIDB4YzlmMCwgMCwgezB4M2YsMHgwOCwweDBmLDB4ZjAsMHgwMCwweDdjLDB4MDAsMHhmZiwweDIxLDB4MzMsMHhlNCwweDBjLDB4ZTAsMHgwMywweDMwLDB4MDAgfSB9LAoteyAgMTYsIDB4Y2EwMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MTAsMHhlZSwweDAwLDB4OGIsMHg4MiwweDIzLDB4ZjAgfSB9LAoteyAgMTYsIDB4Y2ExMCwgMCwgezB4MGIsMHhiNSwweDEyLDB4MGQsMHg4OCwweDg4LDB4YzAsMHgwZSwweDk4LDB4MGIsMHg4NiwweDAyLDB4MjEsMHgwMCwweGJiLDB4YzAgfSB9LAoteyAgMTYsIDB4Y2EyMCwgMCwgezB4MmUsMHhlNCwweDRiLDB4ZjcsMHg4MywweDJmLDB4NDQsMHhiZiwweDkwLDB4MjIsMHhjOCwweDQ4LDB4YTYsMHg4MiwweDIwLDB4MDQgfSB9LAoteyAgMTYsIDB4Y2EzMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDA5LDB4OGEsMHgwMCwweDIwLDB4NTAgfSB9LAoteyAgMTYsIDB4Y2E0MCwgMCwgezB4NGIsMHhiMiwweDBhLDB4ODAsMHhjYywweDgzLDB4MDEsMHgwYywweDhjLDB4MGIsMHgyMywweDBhLDB4MDQsMHg2MCwweGIzLDB4MTQgfSB9LAoteyAgMTYsIDB4Y2E1MCwgMCwgezB4MjQsMHg0MCwweDRiLDB4MzAsMHgwMiwweGNjLDB4MTAsMHhiMywweDAwLDB4MjAsMHhjOCwweGU5LDB4MTEsMHgwNiwweDYyLDB4MDEgfSB9LAoteyAgMTYsIDB4Y2E2MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MTUsMHhhYywweDAxLDB4OGEsMHg4MCwweGEyLDB4NDQgfSB9LAoteyAgMTYsIDB4Y2E3MCwgMCwgezB4MGIsMHhiMCwweDAyLDB4YTEsMHgwNCwweDg4LDB4NDAsMHgyZSwweGEwLDB4MGIsMHgyMCwweDAyLDB4MjgsMHgyMCwweGJiLDB4NDAgfSB9LAoteyAgMTYsIDB4Y2E4MCwgMCwgezB4MmUsMHg0MCwweDBiLDB4YjAsMHgwMiwweDJjLDB4MDgsMHhiYiwweDAwLDB4MjIsMHhjMCwweDA5LDB4YjAsMHgwMiwweDcwLDB4MDQgfSB9LAoteyAgMTYsIDB4Y2E5MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlYywweDAwLDB4YzMsMHg4MywweDMyLDB4ZTAgfSB9LAoteyAgMTYsIDB4Y2FhMCwgMCwgezB4OGYsMHgwMCwweDAzLDB4YTAsMHgwMiwweGNiLDB4YzQsMHgzZSwweDI4LDB4MDcsMHg4YiwweDAzLDB4MjEsMHgwMCwweGY5LDB4YzAgfSB9LAoteyAgMTYsIDB4Y2FiMCwgMCwgezB4M2UsMHgxMCwweDBmLDB4YjAsMHgwMywweGVjLDB4MDAsMHg3YiwweDAwLDB4MzIsMHhjMCwweDBkLDB4YTAsMHgwMywweDUwLDB4MDQgfSB9LAoteyAgMTYsIDB4Y2FjMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDEsMHg5YywweDAyLDB4ZmYsMHgwMCwweDNmLDB4ZTAgfSB9LAoteyAgMTYsIDB4Y2FkMCwgMCwgezB4MGYsMHhmNCwweDQzLDB4NWUsMHg4MCwweGZjLDB4OTQsMHgzZiwweDAwLDB4MGYsMHhjMCwweDJiLDB4ZjIsMHg1MCwweGZkLDB4MjEgfSB9LAoteyAgMTYsIDB4Y2FlMCwgMCwgezB4N2UsMHg4NCwweDhmLDB4ZjAsMHgwMywweDZjLDB4MGMsMHhmZiwweDAwLDB4M2YsMHhjMCwweDBlLDB4NjIsMHgwMywweGI4LDB4MDAgfSB9LAoteyAgMTYsIDB4Y2FmMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhYywweDAwLDB4ZWIsMHgwMCwweDMyLDB4NDAgfSB9LAoteyAgMTYsIDB4Y2IwMCwgMCwgezB4MmMsMHg4MCwweDAzLDB4NjksMHgwMCwweGNiLDB4MzAsMHhiMiwweDAwLDB4NGYsMHhiMywweDQzLDB4ZTUsMHgwMCwweGNiLDB4NDAgfSB9LAoteyAgMTYsIDB4Y2IxMCwgMCwgezB4NzIsMHgxOCwweDJjLDB4YjAsMHgwMywweGVjLDB4MjgsMHhjMywweDIxLDB4M2EsMHhjMSwweDBmLDB4OTQsMHgwMywweDEwLDB4MDQgfSB9LAoteyAgMTYsIDB4Y2IyMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM4LDB4MDUsMHgzYywweDAwLDB4OGIsMHgyMCwweDIyLDB4NTAgfSB9LAoteyAgMTYsIDB4Y2IzMCwgMCwgezB4MDgsMHhiMCwweDAyLDB4MjgsMHgwMCwweDg4LDB4YzAsMHgyYSwweDAwLDB4OGIsMHhiNCwweDAyLDB4ZTgsMHgwMCwweGRiLDB4MDAgfSB9LAoteyAgMTYsIDB4Y2I0MCwgMCwgezB4NjIsMHgzMCwweDA4LDB4ZjAsMHgwMiwweGZjLDB4MDAsMHg4ZiwweDgwLDB4MjIsMHhjMCwweDBiLDB4OTUsMHg0NywweDMyLDB4MDAgfSB9LAoteyAgMTYsIDB4Y2I1MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0YywweDAwLDB4YjEsMHgwMCwweDIwLDB4YzIgfSB9LAoteyAgMTYsIDB4Y2I2MCwgMCwgezB4NDgsMHgzMCwweDAyLDB4NDksMHg4MCwweDgzLDB4NDIsMHg2MCwweDEyLDB4MGIsMHgzMCwweDAyLDB4YzgsMHgwMCwweDgyLDB4MDIgfSB9LAoteyAgMTYsIDB4Y2I3MCwgMCwgezB4MmMsMHgzMCwweDA5LDB4YjAsMHgwMiwweGNmLDB4MDEsMHg4MywweDUwLDB4MmEsMHhjMCwweDBiLDB4MjAsMHgwMiwweGI4LDB4MDAgfSB9LAoteyAgMTYsIDB4Y2I4MCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIwLDB4MDEsMHgxZSwweDAwLDB4OWQsMHg4MCwweGEwLDB4ZTAgfSB9LAoteyAgMTYsIDB4Y2I5MCwgMCwgezB4MDgsMHg3OSwweDIyLDB4NWUsMHg2MCwweDg3LDB4OTAsMHgyOSwweGEwLDB4MGIsMHg3OCwweDAyLDB4YzYsMHgwMCwweDkyLDB4ODEgfSB9LAoteyAgMTYsIDB4Y2JhMCwgMCwgezB4MDUsMHhlMCwweDA5LDB4NzgsMHgwMiwweGRlLDB4NDAsMHg4NywweDgwLDB4MjEsMHhlMCwweDBiLDB4MjksMHgwMiwweDA4LDB4MDAgfSB9LAoteyAgMTYsIDB4Y2JiMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDQwLDB4ZjIsMHgwMCwweDMwLDB4YzAgfSB9LAoteyAgMTYsIDB4Y2JjMCwgMCwgezB4MDgsMHgzYSwweDAzLDB4NDQsMHgwNCwweGMzLDB4MTQsMHgzMCwweGMwLDB4MGYsMHgyMiwweDAzLDB4Y2MsMHg4MCwweGMyLDB4MDAgfSB9LAoteyAgMTYsIDB4Y2JkMCwgMCwgezB4YTQsMHhkMiwweDBkLDB4MzAsMHgxMywweGNjLDB4MjAsMHhjMywweDAwLDB4MzgsMHhjNCwweDRmLDB4MDQsMHg0MywweDEyLDB4MDIgfSB9LAoteyAgMTYsIDB4Y2JlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MWQsMHg5YywweDAwLDB4ZWUsMHgwMCwweDNmLDB4ZTAgfSB9LAoteyAgMTYsIDB4Y2JmMCwgMCwgezB4MGYsMHg3MCwweDAzLDB4YjQsMHgwMiwweGY0LDB4MTAsMHgzZiwweGMwLDB4OGYsMHhhMCwweDAzLDB4ZmMsMHgwMCwweDdlLDB4MDAgfSB9LAoteyAgMTYsIDB4Y2MwMCwgMCwgezB4M2IsMHhjMCwweDBlLDB4ZjAsMHg4MywweGVjLDB4MDAsMHhmNywweDAwLDB4M2YsMHhjMCwweDBmLDB4YzAsMHgwMywweGQwLDB4MDYgfSB9LAoteyAgMTYsIDB4Y2MxMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhmYywweDAwLDB4ZjksMHgwMCwweDNlLDB4YzAgfSB9LAoteyAgMTYsIDB4Y2MyMCwgMCwgezB4MGYsMHhhMCwweDAzLDB4YWEsMHgxMiwweGNiLDB4MDEsMHgzMiwweDgwLDB4MGYsMHhiMCwweDEzLDB4MjgsMHgxNCwweGY5LDB4ODAgfSB9LAoteyAgMTYsIDB4Y2MzMCwgMCwgezB4M2EsMHg0MCwweDAzLDB4YjQsMHgwMywweGVjLDB4NDIsMHhjYiwweDE4LDB4M2UsMHhjMCwweDBmLDB4YjAsMHgwMywweDJhLDB4MDAgfSB9LAoteyAgMTYsIDB4Y2M0MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MTEsMHg5ZCwweDAwLDB4YjUsMHgwMCwweDJkLDB4YzQgfSB9LAoteyAgMTYsIDB4Y2M1MCwgMCwgezB4MGIsMHg3MCwweDRiLDB4N2MsMHgwMCwweDg0LDB4MDAsMHgyMSwweDgwLDB4MGIsMHg3MCwweDAyLDB4OTQsMHgxMCwweGIyLDB4MDAgfSB9LAoteyAgMTYsIDB4Y2M2MCwgMCwgezB4MjksMHhjMCwweDBiLDB4NzIsMHg4MiwweGRjLDB4MDAsMHg4NywweDIwLDB4MmQsMHhjMSwweDBlLDB4NzAsMHgwMiwweDEyLDB4MDQgfSB9LAoteyAgMTYsIDB4Y2M3MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZSwweDAwLDB4YjcsMHg4MCwweDJkLDB4ZTAgfSB9LAoteyAgMTYsIDB4Y2M4MCwgMCwgezB4MGIsMHg2OCwweDAyLDB4OWUsMHgwMCwweDgzLDB4ODAsMHgyMSwweGUwLDB4NWIsMHgzOCwweDAyLDB4MWUsMHgwMCwweGI0LDB4YzAgfSB9LAoteyAgMTYsIDB4Y2M5MCwgMCwgezB4MjUsMHhlMCwweDA5LDB4NzgsMHgzMiwweGNlLDB4MDAsMHg5NywweDgwLDB4MmQsMHhlMCwweDBiLDB4NWMsMHg0ZSwweDMwLDB4MDAgfSB9LAoteyAgMTYsIDB4Y2NhMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MTQsMHhjYywweDAwLDB4YjMsMHg0NCwweDJjLDB4YzAgfSB9LAoteyAgMTYsIDB4Y2NiMCwgMCwgezB4MGIsMHgzYywweDAyLDB4Y2MsMHg0MCwweDkzLDB4MDgsMHgyMCwweGUwLDB4MGIsMHgzMCwweDAyLDB4OGMsMHgxMCwweGIzLDB4YzAgfSB9LAoteyAgMTYsIDB4Y2NjMCwgMCwgezB4MjgsMHhkOCwweDFiLDB4MzAsMHgwMiwweGNjLDB4MDgsMHg5MywweDAxLDB4NmMsMHhjMCwweDBhLDB4YjgsMHg4MiwweDEyLDB4MDQgfSB9LAoteyAgMTYsIDB4Y2NkMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOCwweDAwLDB4ZjYsMHgxMCwweDNlLDB4ODAgfSB9LAoteyAgMTYsIDB4Y2NlMCwgMCwgezB4NGIsMHhlZCwweDgzLDB4YjgsMHgwMCwweGNlLDB4ZTQsMHhiMywweGEzLDB4MGYsMHhlMCwweDAzLDB4MzgsMHgwMCwweGZlLDB4MDAgfSB9LAoteyAgMTYsIDB4Y2NmMCwgMCwgezB4M2IsMHg4MCwweDBkLDB4YTAsMHgwMiwweGU4LDB4MDAsMHhkYSwweDAwLDB4M2UsMHg4MCwweDBmLDB4ZTgsMHgwMiwweDNhLDB4MDQgfSB9LAoteyAgMTYsIDB4Y2QwMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDAsMHhlMCwweDEwLDB4ZjgsMHg0MCwweDNlLDB4MDAgfSB9LAoteyAgMTYsIDB4Y2QxMCwgMCwgezB4MGYsMHg4MCwweDEzLDB4NjAsMHgwMCwweGUwLDB4MDAsMHgzZSwweDAwLDB4NDMsMHgwOCwweDAzLDB4ZTAsMHgwMCwweGY4LDB4MDggfSB9LAoteyAgMTYsIDB4Y2QyMCwgMCwgezB4M2EsMHgwMCwweDBmLDB4ODAsMHgwMywweGUwLDB4MDAsMHhlOCwweDQwLDB4M2UsMHgwMCwweDBlLDB4ODAsMHgyMywweGQyLDB4MDAgfSB9LAoteyAgMTYsIDB4Y2QzMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhjNCwweDAwLDB4ZDksMHhjMCwweGJlLDB4NDAgfSB9LAoteyAgMTYsIDB4Y2Q0MCwgMCwgezB4MGYsMHg5MCwweDAzLDB4ZTYsMHgwMCwweGY5LDB4MDAsMHgzMiwweDQwLDB4MDEsMHg5YSwweDAzLDB4MjQsMHgwMCwweGY5LDB4MDAgfSB9LAoteyAgMTYsIDB4Y2Q1MCwgMCwgezB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGM0LDB4NDAsMHgwOSwweDEwLDB4MGUsMHg0MCwweDBmLDB4OWEsMHgwMywweDAyLDB4MDQgfSB9LAoteyAgMTYsIDB4Y2Q2MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDQsMHg2NCwweDA0LDB4ODksMHgwNCwweGEyLDB4NjAgfSB9LAoteyAgMTYsIDB4Y2Q3MCwgMCwgezB4OGIsMHg5ZCwweDgwLDB4YTYsMHgwMCwweGI5LDB4ODAsMHgyMiwweDQwLDB4NDgsMHg5OCwweDAyLDB4MjQsMHgwMCwweGI5LDB4MDAgfSB9LAoteyAgMTYsIDB4Y2Q4MCwgMCwgezB4MmUsMHg0MCwweDhiLDB4OTAsMHgwMiwweGU0LDB4OTQsMHg4OSwweDYwLDB4MmUsMHg0MCwweDBiLDB4OTQsMHgwYiwweDIwLDB4MDAgfSB9LAoteyAgMTYsIDB4Y2Q5MCwgMCwgezB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDAwLDB4OTksMHgwOCwweGFlLDB4NDggfSB9LAoteyAgMTYsIDB4Y2RhMCwgMCwgezB4NGIsMHgxMCwweDAyLDB4ZTUsMHg4MSwweGI5LDB4MTAsMHgyMCwweDQ0LDB4MWIsMHg5NCwweDAyLDB4MjQsMHgxMCwweGI5LDB4MDAgfSB9LAoteyAgMTYsIDB4Y2RiMCwgMCwgezB4NmUsMHg2MCwweDBiLDB4OTAsMHgwMiwweGU0LDB4MDAsMHg4OSwweDAwLDB4MmUsMHg0MCwweDBiLDB4OTQsMHgwMiwweDA2LDB4MDAgfSB9LAoteyAgMTYsIDB4Y2RjMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDQsMHgwNCwweDgwLDB4ODksMHgwMCwweGEwLDB4NjggfSB9LAoteyAgMTYsIDB4Y2RkMCwgMCwgezB4MGIsMHgxMiwweDAyLDB4ODQsMHg4OSwweGIxLDB4MjAsMHgyMCwweDQ4LDB4MWEsMHgxMiwweDEyLDB4MDQsMHg4MCwweGIxLDB4MjIgfSB9LAoteyAgMTYsIDB4Y2RlMCwgMCwgezB4MGMsMHg0OCwweDBiLDB4MTIsMHgwMiwweGM0LDB4ODEsMHhhMSwweDIwLDB4MmMsMHg0MCwweDBiLDB4MTIsMHgwMiwweDAyLDB4MDEgfSB9LAoteyAgMTYsIDB4Y2RmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDAwLDB4ZDgsMHgwMCwweGJlLDB4MDAgfSB9LAoteyAgMTYsIDB4Y2UwMCwgMCwgezB4MGYsMHgwNSwweDBiLDB4ZTEsMHg0MCwweGY4LDB4MDAsMHgzMiwweDE0LDB4MGYsMHg4NSwweDAzLDB4MjEsMHg0MCwweGY4LDB4MDAgfSB9LAoteyAgMTYsIDB4Y2UxMCwgMCwgezB4MmUsMHg4MCwweDBmLDB4ODUsMHgxMywweGUwLDB4MDIsMHhjOCwweDAwLDB4M2UsMHgxNCwweDBmLDB4MDUsMHgwMSwweDJlLDB4MDMgfSB9LAoteyAgMTYsIDB4Y2UyMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDk4LDB4MWQsMHhlNCwweDQwLDB4ZmQsMHgwMCwweGJmLDB4NDQgfSB9LAoteyAgMTYsIDB4Y2UzMCwgMCwgezB4MGYsMHhkMSwweDAzLDB4ZjQsMHg0MCwweDdkLDB4MTAsMHhiZiwweDQ0LDB4NDUsMHhmMSwweDJiLDB4ZjQsMHg0MCwweGZkLDB4MTAgfSB9LAoteyAgMTYsIDB4Y2U0MCwgMCwgezB4M2YsMHg0NCwweDBmLDB4OTEsMHgwMywweGU0LDB4NDAsMHhkOSwweDEwLDB4M2UsMHg0MCwweDBmLDB4ZDEsMHgwMywweGE2LDB4MDYgfSB9LAoteyAgMTYsIDB4Y2U1MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhmNiwweDAwLDB4ZmQsMHgwMCwweDFmLDB4NjIgfSB9LAoteyAgMTYsIDB4Y2U2MCwgMCwgezB4MGYsMHhkOCwweDgyLDB4MzYsMHgwMCwweGJkLDB4YTAsMHgzYiwweDY4LDB4MGMsMHhkYywweDgzLDB4MjYsMHhjOCwweGQ5LDB4YTAgfSB9LAoteyAgMTYsIDB4Y2U3MCwgMCwgezB4MzMsMHg2MCwweDBkLDB4OTksMHg4MywweDU2LDB4MjAsMHhkNSwweGE4LDB4MmUsMHg0NCwweDBjLDB4ZDgsMHg4MywweDg2LDB4MDQgfSB9LAoteyAgMTYsIDB4Y2U4MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDM4LDB4MTAsMHhlMSwweDQ4LDB4YjgsMHgwMCwweDJlLDB4MDAgfSB9LAoteyAgMTYsIDB4Y2U5MCwgMCwgezB4MGIsMHgwYSwweDgyLDB4MjIsMHgyMCwweGI4LDB4NTAsMHgyMiwweGJhLDB4MDgsMHg4YSwweDIyLDB4MjIsMHg4MCwweDg4LDB4MDAgfSB9LAoteyAgMTYsIDB4Y2VhMCwgMCwgezB4MjIsMHgwMSwweDA4LDB4MGMsMHgwMiwweDIwLDB4MDAsMHg4OCwweDAwLDB4MmUsMHgyOCwweDg4LDB4ODgsMHgwMiwweGNlLDB4MDQgfSB9LAoteyAgMTYsIDB4Y2ViMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweDAwLDB4YjEsMHgwMCwweDJjLDB4NDAgfSB9LAoteyAgMTYsIDB4Y2VjMCwgMCwgezB4MWIsMHgxMCwweDBhLDB4ODQsMHg0MCwweGIxLDB4MDAsMHgyOCwweDU4LDB4MGEsMHgzMiwweDAyLDB4MDUsMHgwMCwweDk5LDB4NDAgfSB9LAoteyAgMTYsIDB4Y2VkMCwgMCwgezB4MjAsMHg2NSwweDA5LDB4MTAsMHg0MiwweGM0LDB4MDAsMHg5MSwweDAwLDB4MmMsMHg0MCwweDBhLDB4MzAsMHg4MiwweGMyLDB4MDEgfSB9LAoteyAgMTYsIDB4Y2VlMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MTEsMHhhNCwweDAwLDB4YjksMHgwMCwweDJlLDB4NDAgfSB9LAoteyAgMTYsIDB4Y2VmMCwgMCwgezB4MWIsMHg5MCwweDAyLDB4YTUsMHg4MCwweGI5LDB4MTAsMHgyMiwweDQ4LDB4MDgsMHgxMCwweDQyLDB4MDQsMHgxMCwweDA5LDB4MDAgfSB9LAoteyAgMTYsIDB4Y2YwMCwgMCwgezB4MjIsMHg0MCwweDA4LDB4OTAsMHgwMiwweGU0LDB4MDAsMHg5YiwweDAwLDB4MmMsMHg0MCwweDBhLDB4OTQsMHgyMiwweGM2LDB4MDQgfSB9LAoteyAgMTYsIDB4Y2YxMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNCwweDAwLDB4ZjksMHgyMCwweDNlLDB4NDAgfSB9LAoteyAgMTYsIDB4Y2YyMCwgMCwgezB4MGYsMHg5MCwweDEzLDB4YTcsMHgxMCwweGY5LDB4NjAsMHhiYSwweDUwLDB4MmUsMHg5YywweDBhLDB4MjUsMHg4NCwweGQxLDB4ZjAgfSB9LAoteyAgMTYsIDB4Y2YzMCwgMCwgezB4YjIsMHg2MCwweDBkLDB4OTAsMHgwMywweGU0LDB4MDAsMHhkOSwweDAwLDB4M2UsMHg0MCwweDBlLDB4OTAsMHgwMywweGE4LDB4MDAgfSB9LAoteyAgMTYsIDB4Y2Y0MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDEsMHhhNCwweDBjLDB4ZjksMHg5MCwweDNlLDB4NmEgfSB9LAoteyAgMTYsIDB4Y2Y1MCwgMCwgezB4OGYsMHg5MCwweDIzLDB4NjYsMHgwMCwweGYxLDB4MDgsMHgzYywweDQwLDB4MGYsMHg5YywweDQzLDB4ZTQsMHg0MCwweGY5LDB4ODAgfSB9LAoteyAgMTYsIDB4Y2Y2MCwgMCwgezB4M2EsMHg0NCwweDBmLDB4OTAsMHgwMywweDI0LDB4MDQsMHhlOSwweDAyLDB4M2UsMHg0MCwweDJkLDB4OTEsMHgxMywweGNhLDB4MDAgfSB9LAoteyAgMTYsIDB4Y2Y3MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMCwweDAwLDB4ZTgsMHgyMCwweDNlLDB4MDEgfSB9LAoteyAgMTYsIDB4Y2Y4MCwgMCwgezB4MGMsMHgwMCwweDAzLDB4YTEsMHgyMCwweGU4LDB4NTAsMHgzMiwweDEwLDB4MmMsMHg4YywweDAzLDB4MjEsMHgwMCwweGU4LDB4MDAgfSB9LAoteyAgMTYsIDB4Y2Y5MCwgMCwgezB4MzIsMHgwMiwweDBmLDB4MDAsMHgxMywweDIwLDB4ODgsMHhjOCwweDA4LDB4MzIsMHgwMCwweDBmLDB4OGMsMHgwMywweGNhLDB4MDAgfSB9LAoteyAgMTYsIDB4Y2ZhMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHgyOCwweDIwLDB4OGUsMHhlMywweDJmLDB4OTAgfSB9LAoteyAgMTYsIDB4Y2ZiMCwgMCwgezB4MGEsMHhlMCwweDA2LDB4M2IsMHgwMCwweGVlLDB4MDQsMHgyMywweDkwLDB4MDgsMHhlMCwweDAyLDB4MjgsMHgwOCwweDhhLDB4MDIgfSB9LAoteyAgMTYsIDB4Y2ZjMCwgMCwgezB4NzUsMHg5MCwweDhiLDB4YTAsMHg0MSwweDU4LDB4OTAsMHg4ZSwweDgwLDB4MmEsMHg4MSwweDBiLDB4ZTAsMHgwMywweDhhLDB4MTAgfSB9LAoteyAgMTYsIDB4Y2ZkMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0ZSwweDAwLDB4YTMsMHgwMCwweDZjLDB4NjAgfSB9LAoteyAgMTYsIDB4Y2ZlMCwgMCwgezB4MDgsMHgzOCwweDFhLDB4OGUsMHg0MCwweGEwLDB4ODAsMHgyMCwweGNjLDB4MDksMHgzMCwweDAyLDB4MGMsMHgwNSwweGEzLDB4MDQgfSB9LAoteyAgMTYsIDB4Y2ZmMCwgMCwgezB4MjgsMHhjNCwweDBiLDB4MzAsMHgwMiwweDBkLDB4MDEsMHg4MywweGMwLDB4MjAsMHhjMCwweDBiLDB4MzAsMHgwMiwweGNhLDB4MDAgfSB9LAoteyAgMTYsIDB4ZDAwMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MDEsMHgxZSwweDA4LDB4ODcsMHgwMCwweDJkLDB4NjIgfSB9LAoteyAgMTYsIDB4ZDAxMCwgMCwgezB4MGIsMHg3MCwweDkyLDB4MWMsMHgwOCwweGEwLDB4MDAsMHg2MSwweGMwLDB4MDksMHg2MCwweDA2LDB4MWMsMHg4MCwweGE3LDB4MDAgfSB9LAoteyAgMTYsIDB4ZDAyMCwgMCwgezB4MjEsMHhjMCwweDBiLDB4NzIsMHgwMiwweDU4LDB4MDEsMHg4NywweDg4LDB4MjksMHhjMCwweDBiLDB4NjAsMHgxMiwweGE4LDB4MDAgfSB9LAoteyAgMTYsIDB4ZDAzMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZSwweDAwLDB4ZTYsMHg4MCwweDNkLDB4NjAgfSB9LAoteyAgMTYsIDB4ZDA0MCwgMCwgezB4MGMsMHg3OCwweDQyLDB4OTYsMHgwMCwweGU0LDB4ODAsMHhhMywweDYwLDB4MGQsMHg3OCwweDAzLDB4M2YsMHgwMCwweGUzLDB4ODAgfSB9LAoteyAgMTYsIDB4ZDA1MCwgMCwgezB4MjEsMHhlMCwweDBmLDB4N2IsMHgwMywweDE2LDB4MDgsMHhjNywweDgwLDB4MzEsMHhlMiwweDRmLDB4NzgsMHg0MywweGVhLDB4MDIgfSB9LAoteyAgMTYsIDB4ZDA2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MWQsMHg4YywweDAxLDB4ZjgsMHgwMCwweDNjLDB4NDAgfSB9LAoteyAgMTYsIDB4ZDA3MCwgMCwgezB4MGUsMHhiMCwweDAyLDB4ZWMsMHgwMCwweGY4LDB4MDEsMHgzZSwweDQwLDB4NGUsMHgzMCwweDMzLDB4ZWQsMHgyMCwweGRiLDB4MDEgfSB9LAoteyAgMTYsIDB4ZDA4MCwgMCwgezB4YmUsMHhjMCwweDBmLDB4YjQsMHgwMywweGVjLDB4MDAsMHhmYiwweDAwLDB4M2UsMHhkOCwweDBmLDB4YTAsMHgwMywweGMyLDB4MDYgfSB9LAoteyAgMTYsIDB4ZDA5MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmZSwweDAwLDB4YzcsMHg4NCwweDIzLDB4NjAgfSB9LAoteyAgMTYsIDB4ZDBhMCwgMCwgezB4MGMsMHg3OCwweDBiLDB4YmUsMHgwMCwweGZkLDB4ODAsMHgzZiwweGUwLDB4MGYsMHhlYiwweDAzLDB4M2UsMHgwMCwweGNmLDB4ODAgfSB9LAoteyAgMTYsIDB4ZDBiMCwgMCwgezB4M2IsMHgyNSwweDBjLDB4ZjgsMHg4MywweDdlLDB4NDAsMHhjZCwweDgwLDB4MzMsMHhlMiwweDBiLDB4ZjksMHgwMywweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZDBjMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTEsMHg5YywweDAyLDB4ODcsMHgwMCwweDE1LDB4NDggfSB9LAoteyAgMTYsIDB4ZDBkMCwgMCwgezB4MDgsMHg3MCwweDAyLDB4MTQsMHgyMCwweGI2LDB4MDAsMHgzNSwweDlhLDB4NDksMHhjOCwweDAzLDB4OWMsMHg4NCwweGE3LDB4MDAgfSB9LAoteyAgMTYsIDB4ZDBlMCwgMCwgezB4MzksMHhkMCwweDBhLDB4NzAsMHgwMiwweDFhLDB4MDgsMHhhNCwweDAwLDB4MjEsMHhjMCwweDA5LDB4NjEsMHg0MiwweDJhLDB4MDQgfSB9LAoteyAgMTYsIDB4ZDBmMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5YywweDAwLDB4ODcsMHgwMCwweDIxLDB4NDAgfSB9LAoteyAgMTYsIDB4ZDEwMCwgMCwgezB4MDgsMHg3MSwweDAyLDB4OTQsMHgwMCwweGI1LDB4MDAsMHgyZCwweDQwLDB4MGIsMHhmMSwweDIyLDB4NWMsMHgwMiwweDA3LDB4MDggfSB9LAoteyAgMTYsIDB4ZDExMCwgMCwgezB4MmMsMHg1MCwweDA4LDB4NzAsMHgwMiwweDUwLDB4MDAsMHg4NywweDAwLDB4MmQsMHhjNCwweDBiLDB4NTAsMHg0MiwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZDEyMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIwLDB4MTQsMHhjYywweDAwLDB4ODMsMHgwMiwweDI0LDB4NDAgfSB9LAoteyAgMTYsIDB4ZDEzMCwgMCwgezB4MTgsMHgzZCwweDBhLDB4MDEsMHgwMCwweGIwLDB4NTgsMHgyNCwweDIwLDB4MDksMHgzMCwweDAyLDB4OGYsMHg0MCwweDgzLDB4ZTAgfSB9LAoteyAgMTYsIDB4ZDE0MCwgMCwgezB4MmMsMHhjMSwweDBhLDB4MzAsMHg0MiwweDA4LDB4MDAsMHhiMywweDAxLDB4NmMsMHhjMCwweDA5LDB4MDgsMHgxNiwweDA4LDB4MDQgfSB9LAoteyAgMTYsIDB4ZDE1MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHg4YywweDAwLDB4OGIsMHgwMCwweDMyLDB4NDAgfSB9LAoteyAgMTYsIDB4ZDE2MCwgMCwgezB4MGMsMHgyNSwweDAzLDB4YTgsMHg0OCwweGY4LDB4ODEsMHgzZSwweDgwLDB4MGYsMHg4MCwweDYzLDB4N2MsMHgwMCwweGNiLDB4ODAgfSB9LAoteyAgMTYsIDB4ZDE3MCwgMCwgezB4M2EsMHhjMCwweDBjLDB4ZjAsMHgwMywweDZjLDB4MDAsMHhjYSwweDAyLDB4YmYsMHhjMCwweDBmLDB4OTgsMHg4YiwweDJhLDB4MDQgfSB9LAoteyAgMTYsIDB4ZDE4MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDAsMHhlYywweDAwLDB4ZjksMHgwMCwweDNlLDB4NTAgfSB9LAoteyAgMTYsIDB4ZDE5MCwgMCwgezB4MmYsMHhhNCwweDBiLDB4YzgsMHgwMCwweGYwLDB4NDAsMHgzZSwweGQwLDB4MGYsMHhhMCwweDMzLDB4ZWMsMHgyMCwweGZiLDB4MDQgfSB9LAoteyAgMTYsIDB4ZDFhMCwgMCwgezB4N2EsMHhlMCwweDBmLDB4YjAsMHgwMywweGVkLDB4MDgsMHhlOSwweDAzLDB4MzIsMHhjMCwweDBkLDB4OTAsMHgwMywweGUwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZDFiMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhlYywweDQwLDB4ZWUsMHgwMCwweDNlLDB4YzAgfSB9LAoteyAgMTYsIDB4ZDFjMCwgMCwgezB4MGMsMHhkYSwweDAzLDB4NzAsMHgwNCwweGNjLDB4MDIsMHhiMSwweGEwLDB4MGUsMHhmMCwweDIzLDB4ZWMsMHgwMCwweGZmLDB4MDAgfSB9LAoteyAgMTYsIDB4ZDFkMCwgMCwgezB4MzcsMHgyMCwweGNkLDB4YjAsMHg3MywweGVjLDB4ODgsMHhmYiwweDgwLDB4M2YsMHhjMCwweDBmLDB4MzAsMHgwMywweDAwLDB4NDQgfSB9LAoteyAgMTYsIDB4ZDFlMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgxLDB4MDQsMHg2ZSwweDAwLDB4ODgsMHg4MCwweDJjLDB4ZTEgfSB9LAoteyAgMTYsIDB4ZDFmMCwgMCwgezB4MDgsMHg5NCwweDBhLDB4YTksMHgwMiwweDg4LDB4NDAsMHgyMiwweGQwLDB4MDgsMHhiOSwweDQyLDB4ZWMsMHgwNCwweGJiLDB4MDAgfSB9LAoteyAgMTYsIDB4ZDIwMCwgMCwgezB4MmMsMHhkNCwweDBkLDB4YjAsMHgwMiwweGVkLDB4MjAsMHhiYiwweGQwLDB4MmUsMHhjMCwweDBiLDB4YjAsMHgwMiwweGEwLDB4NDAgfSB9LAoteyAgMTYsIDB4ZDIxMCwgMCwgezB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyNCwweDAwLDB4YWIsMHg4MCwweDJlLDB4ZjAgfSB9LAoteyAgMTYsIDB4ZDIyMCwgMCwgezB4MjksMHhhMCwweDgyLDB4NmQsMHgwMCwweDg4LDB4MDgsMHgyMiwweDA0LDB4MDgsMHg5MCwweDQyLDB4ZWMsMHgwMCwweGJiLDB4MDAgfSB9LAoteyAgMTYsIDB4ZDIzMCwgMCwgezB4MmEsMHg4MSwweDA4LDB4YjAsMHgwMiwweGU0LDB4MDksMHhiYSwweDA0LDB4MmUsMHhjMSwweDRiLDB4OTgsMHg4MiwweDIwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZDI0MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDQsMHgwNCwweDAwLDB4ODMsMHgwMCwweDJjLDB4YzAgfSB9LAoteyAgMTYsIDB4ZDI1MCwgMCwgezB4MGEsMHgyMSwweDAyLDB4ODQsMHgxMCwweDgyLDB4MDAsMHhlMCwweDAwLDB4MTgsMHgwYSwweDEyLDB4Y2MsMHgwMCwweGIzLDB4MDAgfSB9LAoteyAgMTYsIDB4ZDI2MCwgMCwgezB4MGMsMHhjMCwweDA5LDB4MzAsMHgwMiwweGNjLDB4OTAsMHhiMCwweDAwLDB4MmMsMHhjMCwweDBiLDB4MTAsMHgwMiwweDgyLDB4MDEgfSB9LAoteyAgMTYsIDB4ZDI3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2NCwweDAwLDB4ZWIsMHgwMCwweDNlLDB4MDAgfSB9LAoteyAgMTYsIDB4ZDI4MCwgMCwgezB4MmMsMHhiNCwweDAzLDB4NjQsMHgwOCwweDg4LDB4MDAsMHhiMiwweDAwLDB4MGMsMHhiMiwweDQzLDB4ZmMsMHgwMCwweGZiLDB4MDAgfSB9LAoteyAgMTYsIDB4ZDI5MCwgMCwgezB4NTYsMHgwMCwweDBjLDB4ZjAsMHgwMSwweGU0LDB4MDAsMHhmYiwweDAwLDB4M2YsMHhjMCwweDBmLDB4ODAsMHgwYiwweDAwLDB4MDMgfSB9LAoteyAgMTYsIDB4ZDJhMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MWQsMHhmNCwweDAwLDB4ZmYsMHgwMCwweDNmLDB4NDAgfSB9LAoteyAgMTYsIDB4ZDJiMCwgMCwgezB4MmQsMHhmMCwweDYxLDB4ZjAsMHgwMCwweGY0LDB4MDAsMHgyNywweDAxLDB4MGQsMHhiMSwweDExLDB4ZmMsMHgwMCwweGZmLDB4MDIgfSB9LAoteyAgMTYsIDB4ZDJjMCwgMCwgezB4MDcsMHhjMCwweDBmLDB4ZjAsMHgwMywweGVjLDB4NDAsMHhmZiwweDAwLDB4M2YsMHhjMCwweDBmLDB4YzAsMHgwMywweDY4LDB4MDYgfSB9LAoteyAgMTYsIDB4ZDJkMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmNiwweDAwLDB4ZWYsMHg5MCwweDNkLDB4NGMgfSB9LAoteyAgMTYsIDB4ZDJlMCwgMCwgezB4MmMsMHhjMCwweDEzLDB4ZjQsMHgwOCwweGZkLDB4MjAsMHgzNywweDRjLDB4OGUsMHg4MiwweDgzLDB4NzQsMHg4NCwweGRjLDB4YzIgfSB9LAoteyAgMTYsIDB4ZDJmMCwgMCwgezB4M2YsMHhkOCwweDBkLDB4ZjIsMHgwMywweGVjLDB4YzAsMHhmZiwweDgxLDB4M2YsMHgwMCwweDBjLDB4ZjgsMHgwMywweGYwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZDMwMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MTAsMHhlNiwweDAwLDB4OGIsMHgyNCwweDJlLDB4NWMgfSB9LAoteyAgMTYsIDB4ZDMxMCwgMCwgezB4MDgsMHg4ZCwweDAyLDB4ZmYsMHg0OCwweGI5LDB4OTAsMHgyZiwweDU0LDB4MGIsMHg4NCwweDgyLDB4M2UsMHg0MCwweGEwLDB4ODAgfSB9LAoteyAgMTYsIDB4ZDMyMCwgMCwgezB4MmUsMHhjNCwweDBhLDB4ZmMsMHg0MiwweGVkLDB4ODAsMHhiOSwweDgwLDB4MmUsMHg2MCwweDBhLDB4OTgsMHgxMiwweGUwLDB4MDQgfSB9LAoteyAgMTYsIDB4ZDMzMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhlNCwweDAxLDB4YTMsMHgwMCwweDI4LDB4NDggfSB9LAoteyAgMTYsIDB4ZDM0MCwgMCwgezB4MGEsMHgwMCwweDQyLDB4YzQsMHgwMCwweGIxLDB4MDAsMHgyYywweDQ5LDB4MGIsMHgwYSwweDQyLDB4MDQsMHhhMiwweDkxLDB4MjEgfSB9LAoteyAgMTYsIDB4ZDM1MCwgMCwgezB4MmMsMHhjOSwweDA4LDB4MzEsMHgwMiwweDhjLDB4YzEsMHhhMywweDAwLDB4MmMsMHg0MCwweDA4LDB4MTgsMHgwMiwweGEyLDB4MDEgfSB9LAoteyAgMTYsIDB4ZDM2MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MTUsMHhhMCwweDIwLDB4OGIsMHg4MiwweDJlLDB4NDQgfSB9LAoteyAgMTYsIDB4ZDM3MCwgMCwgezB4NTgsMHg4MCwweDAyLDB4ZTQsMHgwMCwweGJiLDB4MTAsMHgyZSwweDQwLDB4MGIsMHhhMSwweDEyLDB4MGMsMHgwMSwweDg5LDB4MTAgfSB9LAoteyAgMTYsIDB4ZDM4MCwgMCwgezB4MmUsMHhjMCwweDBhLDB4YjAsMHgwMiwweGVjLDB4MDEsMHhiOCwweDgwLDB4MmUsMHhlMiwweDBhLDB4YTEsMHgwMiwweGYwLDB4MDQgfSB9LAoteyAgMTYsIDB4ZDM5MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlYiwweDQwLDB4ZWIsMHg0MCwweDNlLDB4NjAgfSB9LAoteyAgMTYsIDB4ZDNhMCwgMCwgezB4MGUsMHg4NywweDMzLDB4ZTQsMHgwMCwweGI5LDB4YTEsMHgzNiwweGMwLDB4MGUsMHhhOCwweDBiLDB4MjYsMHgwMCwweGRhLDB4YzAgfSB9LAoteyAgMTYsIDB4ZDNiMCwgMCwgezB4M2UsMHhjMCwweDhkLDB4YjAsMHgwMywweGVjLDB4MDAsMHhmYiwweDg1LDB4M2UsMHhlMSwweDA4LDB4YjgsMHgwMywweDkwLDB4MDUgfSB9LAoteyAgMTYsIDB4ZDNjMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDEsMHhiOCwweDAwLDB4ZmYsMHgwMiwweDJmLDB4NjAgfSB9LAoteyAgMTYsIDB4ZDNkMCwgMCwgezB4MDMsMHhlOCwweDgzLDB4ZmMsMHgxMCwweGZkLDB4ODAsMHgxZiwweDQwLDB4MWYsMHhkMCwweDEzLDB4YmUsMHg0MCwweGVlLDB4MDQgfSB9LAoteyAgMTYsIDB4ZDNlMCwgMCwgezB4M2YsMHhjMCwweDBmLDB4ZjAsMHg0MywweGZjLDB4MDgsMHhmZCwweDAwLDB4M2MsMHhjMCwweDBmLDB4ZDAsMHgxMSwweGY4LDB4MDAgfSB9LAoteyAgMTYsIDB4ZDNmMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhNCwweDAwLDB4ZGIsMHgwMCwweGIyLDB4NDAgfSB9LAoteyAgMTYsIDB4ZDQwMCwgMCwgezB4MGUsMHg5NCwweDAzLDB4MjQsMHgwMCwweGQ5LDB4MDAsMHhiYSwweGMwLDB4MGMsMHgyMCwweDAzLDB4ZTQsMHg5MCwweGZiLDB4MDAgfSB9LAoteyAgMTYsIDB4ZDQxMCwgMCwgezB4M2EsMHhjMCwweDBjLDB4YjAsMHgwMywweGVjLDB4MDEsMHhmYSwweDAwLDB4M2UsMHhkMCwweDJjLDB4OTgsMHgwMywweDkwLDB4MDQgfSB9LAoteyAgMTYsIDB4ZDQyMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM4LDB4MDUsMHgwMywweDAwLDB4OGIsMHgwMCwweDIyLDB4NDggfSB9LAoteyAgMTYsIDB4ZDQzMCwgMCwgezB4MDgsMHg4NCwweDIyLDB4MmMsMHgwMCwweGI5LDB4MDAsMHgyMiwweGMwLDB4MDgsMHhhMCwweDAyLDB4ZWQsMHgwMCwweDhiLDB4YTAgfSB9LAoteyAgMTYsIDB4ZDQ0MCwgMCwgezB4MjEsMHhjMCwweDA4LDB4ZjAsMHgwMiwweGZjLDB4MDAsMHhiOSwweDgwLDB4MmUsMHhjMCwweDA4LDB4YTAsMHgwMiwweDMyLDB4MDAgfSB9LAoteyAgMTYsIDB4ZDQ1MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0NSwweDIwLDB4OTMsMHgwMCwweDIyLDB4ZjggfSB9LAoteyAgMTYsIDB4ZDQ2MCwgMCwgezB4MGIsMHgzMCwweDBhLDB4ODQsMHg0MCwweGIyLDB4MDAsMHgyMCwweDQwLDB4MDgsMHgxMCwweDAyLDB4YzQsMHgwMCwweDgwLDB4ODAgfSB9LAoteyAgMTYsIDB4ZDQ3MCwgMCwgezB4MjgsMHhjMCwweDI4LDB4MzksMHgwMiwweDRjLDB4MDAsMHhiMSwweDAwLDB4MmMsMHhjMCwweDA4LDB4MzAsMHgwMiwweGI4LDB4MDAgfSB9LAoteyAgMTYsIDB4ZDQ4MCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIwLDB4MDEsMHgzNiwweDAwLDB4OWYsMHg4MCwweDIxLDB4NjAgfSB9LAoteyAgMTYsIDB4ZDQ5MCwgMCwgezB4MDksMHgzOCwweDAyLDB4OWUsMHgwMCwweGIyLDB4YzAsMHgyMCwweDYwLDB4NDgsMHg0OCwweDEyLDB4ZDYsMHhjNiwweDg2LDB4ZDAgfSB9LAoteyAgMTYsIDB4ZDRhMCwgMCwgezB4MjEsMHhlMCwweDA4LDB4NzgsMHgwMCwweGRlLDB4ODAsMHhiNywweDgyLDB4MmQsMHhlMCwweDA4LDB4ZjgsMHgwMiwweDA4LDB4MDAgfSB9LAoteyAgMTYsIDB4ZDRiMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDIwLDB4ZDMsMHgxMCwweDMwLDB4YzggfSB9LAoteyAgMTYsIDB4ZDRjMCwgMCwgezB4MGYsMHgzMCwweDAzLDB4ODQsMHgwMCwweGYxLDB4MDAsMHgzMCwweDQwLDB4MjQsMHgxOSwweDAzLDB4ZTQsMHhjMCwweGUwLDB4NDAgfSB9LAoteyAgMTYsIDB4ZDRkMCwgMCwgezB4M2EsMHhjMCwweDBjLDB4MzIsMHgwMywweGNlLDB4ODAsMHhiMSwweDI4LDB4M2MsMHhjMCwweDBjLDB4MzAsMHgxMywweDkyLDB4MDIgfSB9LAoteyAgMTYsIDB4ZDRlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MWQsMHg5YywweDAwLDB4ZTYsMHgwMCwweDdmLDB4YzAgfSB9LAoteyAgMTYsIDB4ZDRmMCwgMCwgezB4MGUsMHhmMCwweDIzLDB4NzQsMHg0MCwweGZmLDB4MTAsMHgzZiwweDQwLDB4NGYsMHhkMCwweDAzLDB4ZmMsMHhkMiwweGNlLDB4MDQgfSB9LAoteyAgMTYsIDB4ZDUwMCwgMCwgezB4M2YsMHhjMCwweDBmLDB4ZjQsMHgwMywweGZjLDB4MDAsMHhmZSwweDAwLDB4M2YsMHhjMCwweDBmLDB4NzEsMHgwMywweGQwLDB4MTIgfSB9LAoteyAgMTYsIDB4ZDUxMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlZSwweDAwLDB4Y2IsMHgwMCwweDE2LDB4YzAgfSB9LAoteyAgMTYsIDB4ZDUyMCwgMCwgezB4MGQsMHg4MCwweDAzLDB4MjcsMHgyMCwweGNiLDB4MDAsMHgzZSwweGMyLDB4MGEsMHhiMCwweDUzLDB4ZTQsMHgyOCwweGMxLDB4ODEgfSB9LAoteyAgMTYsIDB4ZDUzMCwgMCwgezB4MzIsMHhjMSwweDBlLDB4YjksMHgwMywweDJjLDB4MDAsMHhmMSwweDgwLDB4MzUsMHhlMCwweDBjLDB4YjgsMHgwMywweDJhLDB4MDQgfSB9LAoteyAgMTYsIDB4ZDU0MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MTEsMHg5YywweDAyLDB4ODcsMHgxMCwweDJkLDB4NDAgfSB9LAoteyAgMTYsIDB4ZDU1MCwgMCwgezB4MDgsMHg3MCwweDAzLDB4NWMsMHgwMCwweGE3LDB4MDAsMHgyZCwweDQwLDB4MjgsMHg3MCwweDAyLDB4ZDQsMHgwNCwweDg3LDB4MDQgfSB9LAoteyAgMTYsIDB4ZDU2MCwgMCwgezB4YTEsMHhkMCwweDBiLDB4NzIsMHgwMiwweDFkLDB4MDAsMHhmNywweDAwLDB4MjEsMHhjMCwweDBkLDB4NTAsMHgwMiwweDEyLDB4MDQgfSB9LAoteyAgMTYsIDB4ZDU3MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZSwweDAwLDB4ODUsMHg4MCwweDI1LDB4ZTAgfSB9LAoteyAgMTYsIDB4ZDU4MCwgMCwgezB4MDksMHg3OCwweDAyLDB4MzcsMHgwMywweDg3LDB4ODAsMHgyZiwweGUwLDB4MDgsMHg3OCwweDEyLDB4YzYsMHgxMCwweDhkLDB4ODAgfSB9LAoteyAgMTYsIDB4ZDU5MCwgMCwgezB4MjUsMHhlOCwweDBiLDB4MzgsMHgwMiwweDFlLDB4ODAsMHhiYywweDg0LDB4MjUsMHhlMCwweDA4LDB4NTgsMHgwMiwweDcwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZDVhMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MTQsMHhjZCwweDgwLDB4ODMsMHg4OCwweDJjLDB4YzAgfSB9LAoteyAgMTYsIDB4ZDViMCwgMCwgezB4MDgsMHgzYywweDAyLDB4NGUsMHgwMSwweGEzLDB4ZDIsMHgyZSwweGM0LDB4MDgsMHhiMSwweDAyLDB4Y2MsMHgwMCwweDgzLDB4ODAgfSB9LAoteyAgMTYsIDB4ZDVjMCwgMCwgezB4MjQsMHhjMSwweDBiLDB4MzAsMHgwMiwweDBjLDB4MDAsMHhiMywweDQwLDB4YTAsMHhkMiwweDA5LDB4MzAsMHgxMiwweDUyLDB4MDAgfSB9LAoteyAgMTYsIDB4ZDVkMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhiYSwweDAwLDB4Y2EsMHhjMCwweDM2LDB4ODAgfSB9LAoteyAgMTYsIDB4ZDVlMCwgMCwgezB4MGQsMHg2NywweDEzLDB4MjgsMHgwMCwweGNlLDB4MDAsMHgzZSwweGEwLDB4MGMsMHhlZCwweDAzLDB4ZTgsMHgwMCwweGNlLDB4ZTAgfSB9LAoteyAgMTYsIDB4ZDVmMCwgMCwgezB4MzYsMHg4MCwweDFlLDB4YTAsMHgwYiwweDI4LDB4MDQsMHhmZSwweDAwLDB4YjcsMHhiMiwweDBjLDB4ZTAsMHgwYiwweDdhLDB4MDAgfSB9LAoteyAgMTYsIDB4ZDYwMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDAsMHhlMCwweDQwLDB4ZjgsMHgxMCwweDJlLDB4MTAgfSB9LAoteyAgMTYsIDB4ZDYxMCwgMCwgezB4MGYsMHg4MCwweDAzLDB4ZTAsMHgwMSwweGQ4LDB4MGEsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4YzAsMHgwMiwweGY4LDB4MDggfSB9LAoteyAgMTYsIDB4ZDYyMCwgMCwgezB4M2EsMHgwMCwweDBmLDB4ODAsMHgwMywweGUwLDB4MTAsMHhlOCwweDIwLDB4YmUsMHgwMCwweDBmLDB4ODAsMHgxMywweDkyLDB4MDAgfSB9LAoteyAgMTYsIDB4ZDYzMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNSwweDAwLDB4ZmIsMHgwMCwweDNlLDB4NDAgfSB9LAoteyAgMTYsIDB4ZDY0MCwgMCwgezB4MGMsMHg5MSwweDAzLDB4MjYsMHgwMCwweDYxLDB4ODAsMHgzMiwweDQwLDB4MGMsMHg5MCwweDAzLDB4MjQsMHgwMCwweGM5LDB4MDAgfSB9LAoteyAgMTYsIDB4ZDY1MCwgMCwgezB4MWUsMHg0MCwweDBjLDB4OWMsMHgwMywweGU0LDB4MDEsMHhmOSwweDAwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGMyLDB4MDAgfSB9LAoteyAgMTYsIDB4ZDY2MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDQsMHg2NywweDAwLDB4YjksMHgwMCwweDJjLDB4NDAgfSB9LAoteyAgMTYsIDB4ZDY3MCwgMCwgezB4MDAsMHg5YywweDAyLDB4YTYsMHgwMCwweDc5LDB4MDAsMHgyMiwweDQwLDB4MjgsMHg5MCwweDAyLDB4MjQsMHgwMCwweDg5LDB4MDAgfSB9LAoteyAgMTYsIDB4ZDY4MCwgMCwgezB4MmMsMHg0NCwweDA4LDB4OTgsMHgwMiwweGU0LDB4MDAsMHhiOSwweDgwLDB4MmUsMHg0MCwweDBiLDB4OTAsMHgwMiwweGUwLDB4MDEgfSB9LAoteyAgMTYsIDB4ZDY5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDEsMHgyNCwweDAwLDB4YmIsMHgwMCwweDI2LDB4NTAgfSB9LAoteyAgMTYsIDB4ZDZhMCwgMCwgezB4MjgsMHg5MCwweDgyLDB4MjQsMHg4NCwweDk5LDB4MjAsMHgyMiwweDQwLDB4NDksMHg5MCwweDAyLDB4MjQsMHgwMCwweDg5LDB4MDAgfSB9LAoteyAgMTYsIDB4ZDZiMCwgMCwgezB4MmUsMHg0MCwweDA4LDB4OTAsMHgwMiwweGU0LDB4MDAsMHhiOSwweDYwLDB4MmUsMHg0MCwweDBiLDB4OTAsMHgwMiwweGM2LDB4MDQgfSB9LAoteyAgMTYsIDB4ZDZjMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDQsMHgwNiwweDAwLDB4YjEsMHgwMCwweDJlLDB4NDggfSB9LAoteyAgMTYsIDB4ZDZkMCwgMCwgezB4MDgsMHgxMiwweDAyLDB4ODQsMHg4MCwweGIxLDB4MjAsMHhhMCwweDQ4LDB4MDksMHgxMiwweDBhLDB4MDQsMHg4MCwweDgxLDB4MDAgfSB9LAoteyAgMTYsIDB4ZDZlMCwgMCwgezB4MmMsMHg0OCwweDI4LDB4MTIsMHg0MiwweGM0LDB4ODgsMHgzMSwweDAwLDB4MmMsMHg0MCwweDBiLDB4MTgsMHgwMiwweGMyLDB4MDEgfSB9LAoteyAgMTYsIDB4ZDZmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDAwLDB4ZjgsMHg1MCwweDM2LDB4MTQgfSB9LAoteyAgMTYsIDB4ZDcwMCwgMCwgezB4MGMsMHg4MCwweDAzLDB4MjAsMHgwMCwweGU4LDB4MDAsMHgzMiwweDE0LDB4MGMsMHg4NSwweDAzLDB4MjEsMHg0MCwweGM4LDB4NTAgfSB9LAoteyAgMTYsIDB4ZDcxMCwgMCwgezB4M2UsMHgxNCwweDBjLDB4ODAsMHgwMywweGUxLDB4NDAsMHgzOCwweDAwLDB4M2UsMHgwMCwweDhmLDB4ODAsMHgwMywweGVlLDB4MDMgfSB9LAoteyAgMTYsIDB4ZDcyMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDk4LDB4MWQsMHhkNCwweDAwLDB4ZmIsMHgwNCwweDNkLDB4NDQgfSB9LAoteyAgMTYsIDB4ZDczMCwgMCwgezB4MGYsMHg1MSwweDIzLDB4ZDQsMHg0OCwweGVkLDB4MTAsMHgzZCwweDQ0LDB4NGUsMHhkMSwweDIzLDB4ZjQsMHg0MiwweGZkLDB4MDAgfSB9LAoteyAgMTYsIDB4ZDc0MCwgMCwgezB4M2UsMHg0NCwweDhmLDB4OTEsMHgwMywweGU0LDB4NTgsMHhmZCwweDAwLDB4M2YsMHg1MCwweDBmLDB4NTAsMHgwMywweGU2LDB4MDYgfSB9LAoteyAgMTYsIDB4ZDc1MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhmNCwweDAwLDB4ZjksMHgwMCwweDNkLDB4NDAgfSB9LAoteyAgMTYsIDB4ZDc2MCwgMCwgezB4MGMsMHhkMCwweDAzLDB4ZjQsMHgwMCwweGRkLDB4MDIsMHgzZSwweDQwLDB4MGMsMHg5MCwweDAzLDB4ZTQsMHg0MCwweGM5LDB4MTAgfSB9LAoteyAgMTYsIDB4ZDc3MCwgMCwgezB4MzcsMHg0MCwweDA3LDB4ZDAsMHgwNywweDI0LDB4MDAsMHhlNSwweDAwLDB4MmYsMHg2YSwweDBmLDB4NzAsMHgwMywweDA2LDB4MDAgfSB9LAoteyAgMTYsIDB4ZDc4MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDM4LDB4MTAsMHhlMCwweDAwLDB4YjgsMHgwMCwweDNhLDB4MDAgfSB9LAoteyAgMTYsIDB4ZDc5MCwgMCwgezB4ODAsMHg4MCwweDAyLDB4ZTAsMHgwMCwweDg4LDB4MDAsMHgyZSwweDAwLDB4MGEsMHg4MCwweDUzLDB4YTIsMHg4MCwweDJjLDB4YTAgfSB9LAoteyAgMTYsIDB4ZDdhMCwgMCwgezB4MjIsMHgwMCwweDBiLDB4ODAsMHgwYSwweDIwLDB4MDAsMHhiOCwweDAwLDB4MmUsMHgxMCwweDA5LDB4ODAsMHgwMywweDBlLDB4MDQgfSB9LAoteyAgMTYsIDB4ZDdiMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweDAwLDB4YjEsMHgwMCwweDZjLDB4NDAgfSB9LAoteyAgMTYsIDB4ZDdjMCwgMCwgezB4MmEsMHgxMCwweDAyLDB4ODQsMHgwMSwweDgxLDB4ODAsMHgyZSwweDQwLDB4MDksMHgxMCwweDAyLDB4ZjQsMHgwMCwweDhkLDB4MDQgfSB9LAoteyAgMTYsIDB4ZDdkMCwgMCwgezB4MjAsMHg0MCwweDBiLDB4MTAsMHgwMiwweDg0LDB4MDAsMHhiMSwweDAwLDB4MmMsMHg0MCwweDBiLDB4OTgsMHgwMiwweDQyLDB4MDEgfSB9LAoteyAgMTYsIDB4ZDdlMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MTEsMHhhNCwweDIwLDB4YjksMHgwMCwweDJhLDB4NDAgfSB9LAoteyAgMTYsIDB4ZDdmMCwgMCwgezB4ODgsMHhiNCwweDAyLDB4ZTYsMHgwMSwweGE5LDB4MjAsMHgyZSwweDQ4LDB4MGEsMHg5MCwweDAwLDB4YTQsMHg0MCwweGFkLDB4NDAgfSB9LAoteyAgMTYsIDB4ZDgwMCwgMCwgezB4MjIsMHg0MCwweDBiLDB4OTAsMHgxMiwweGE0LDB4MDQsMHhiOSwweDAxLDB4MmUsMHg0MSwweDBiLDB4OTAsMHgwMiwweDA2LDB4MDQgfSB9LAoteyAgMTYsIDB4ZDgxMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNCwweDAwLDB4ZjksMHhjMCwweDNlLDB4NjAgfSB9LAoteyAgMTYsIDB4ZDgyMCwgMCwgezB4MGMsMHg5NCwweDEzLDB4YTYsMHgwMiwweGQ5LDB4NDIsMHgxYywweDYwLDB4MGMsMHg5ZSwweDAxLDB4YzYsMHgwNCwweGMxLDB4MDAgfSB9LAoteyAgMTYsIDB4ZDgzMCwgMCwgezB4YjIsMHg0MCwweDFmLDB4OTAsMHgwMiwweGE0LDB4MDAsMHhlOSwweDA4LDB4M2UsMHg2OCwweDRmLDB4OTgsMHgwYiwweDY4LDB4MDQgfSB9LAoteyAgMTYsIDB4ZDg0MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDEsMHhhNiwweDQwLDB4ZjksMHgyMCwweDM4LDB4NzAgfSB9LAoteyAgMTYsIDB4ZDg1MCwgMCwgezB4MGYsMHg5MSwweDAzLDB4ZTQsMHgwMCwweGQ5LDB4ODAsMHgzZSwweDQwLDB4MGYsMHg5YywweDEzLDB4YTQsMHgwMCwweGY5LDB4MDAgfSB9LAoteyAgMTYsIDB4ZDg2MCwgMCwgezB4M2UsMHg0MCwweDBmLDB4MTAsMHgwMywweDY0LDB4MTAsMHhmOSwweDBhLDB4M2UsMHg1MCwweDBkLDB4OWEsMHgwMywweGNhLDB4MDAgfSB9LAoteyAgMTYsIDB4ZDg3MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMSwweDAwLDB4ZDgsMHgwNCwweDNlLDB4MDAgfSB9LAoteyAgMTYsIDB4ZDg4MCwgMCwgezB4MGMsMHg4MSwweDEzLDB4YzAsMHgwMiwweGQ4LDB4MjAsMHgzZSwweDAwLDB4MmQsMHg4NCwweDAzLDB4ZTAsMHgwMCwweGNjLDB4MDggfSB9LAoteyAgMTYsIDB4ZDg5MCwgMCwgezB4M2EsMHgwMCwweDBmLDB4ODAsMHg0MywweGUwLDB4MDAsMHhmOCwweDQxLDB4MzIsMHgwMCwweDA3LDB4ODEsMHg4YiwweDBhLDB4MDQgfSB9LAoteyAgMTYsIDB4ZDhhMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHgzYSwweDYwLDB4OGEsMHgwMCwweDJmLDB4YTggfSB9LAoteyAgMTYsIDB4ZDhiMCwgMCwgezB4MGEsMHhlMCwweDIyLDB4ZTgsMHgwMiwweDdlLDB4NDgsMHgyZSwweDgwLDB4MDgsMHhhMCwweDQyLDB4ZTgsMHgwNCwweDhlLDB4MDAgfSB9LAoteyAgMTYsIDB4ZDhjMCwgMCwgezB4MjMsMHhhOCwweDBiLDB4YTgsMHg4MiwweGU4LDB4MDAsMHhlZSwweDAwLDB4YTIsMHg4MCwweDRiLDB4NjAsMHgwMiwweDBhLDB4MDAgfSB9LAoteyAgMTYsIDB4ZDhkMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAwLDB4OTMsMHgwMCwweDZjLDB4YzAgfSB9LAoteyAgMTYsIDB4ZDhlMCwgMCwgezB4MDgsMHgzMCwweDAyLDB4Y2MsMHgwMCwweDEzLDB4ODEsMHgyYywweGMwLDB4MDgsMHgzMCwweDAyLDB4Y2UsMHg0MCwweDgyLDB4NDAgfSB9LAoteyAgMTYsIDB4ZDhmMCwgMCwgezB4MjgsMHhlMCwweDBiLDB4MzgsMHgwMiwweGNjLDB4MDAsMHhiMywweDEwLDB4MjQsMHhjMCwweDhiLDB4MzgsMHgwMiwweDBhLDB4MDAgfSB9LAoteyAgMTYsIDB4ZDkwMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MDEsMHgxZSwweDAwLDB4ODcsMHgyMCwweDJmLDB4YzAgfSB9LAoteyAgMTYsIDB4ZDkxMCwgMCwgezB4MGEsMHg3MCwweDAyLDB4ZGMsMHgwYSwweGI2LDB4MDAsMHgyYywweGM4LDB4ODgsMHg3MiwweDA2LDB4ZDgsMHgwMCwweDg2LDB4MDAgfSB9LAoteyAgMTYsIDB4ZDkyMCwgMCwgezB4MjEsMHhjMCwweDBiLDB4NzAsMHgwMiwweGRjLDB4ODQsMHhhZiwweDgwLDB4YTUsMHhjMCwweDBiLDB4ZDAsMHgwMiwweDI4LDB4MDAgfSB9LAoteyAgMTYsIDB4ZDkzMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZSwweDAwLDB4ZDcsMHg4MCwweDNkLDB4YTAgfSB9LAoteyAgMTYsIDB4ZDk0MCwgMCwgezB4MWMsMHg3OCwweDEzLDB4ZDYsMHgwMiwweGQ3LDB4ODAsMHgzZCwweGVjLDB4MDgsMHg3ZSwweDIzLDB4ZmUsMHgwMCwweGNlLDB4ODAgfSB9LAoteyAgMTYsIDB4ZDk1MCwgMCwgezB4MzksMHg2MCwweDBmLDB4NzgsMHgwMywweGRmLDB4MDAsMHhmNiwweDgwLDB4NzUsMHhlMCwweDBmLDB4NzgsMHgwMywweDJhLDB4MDIgfSB9LAoteyAgMTYsIDB4ZDk2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MWQsMHg4YywweDAwLDB4ZmIsMHgxMCwweDNlLDB4ODAgfSB9LAoteyAgMTYsIDB4ZDk3MCwgMCwgezB4MWYsMHhhMCwweDIxLDB4Y2MsMHgwMCwweGZhLDB4MDAsMHgzZSwweGMwLDB4MGUsMHhiMCwweDAzLDB4ZTgsMHgwMiwweGZhLDB4MDAgfSB9LAoteyAgMTYsIDB4ZDk4MCwgMCwgezB4M2UsMHg0MCwweDBmLDB4YjAsMHgxMywweGVjLDB4MDAsMHhlYSwweDAxLDB4M2EsMHhjMCwweDBmLDB4OTAsMHgwMywweGMyLDB4MDYgfSB9LAoteyAgMTYsIDB4ZDk5MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmYywweDAwLDB4ZmYsMHg4MCwweDNmLDB4NjAgfSB9LAoteyAgMTYsIDB4ZDlhMCwgMCwgezB4MDgsMHg5OSwweDA3LDB4N2UsMHgwMCwweGRkLDB4ODAsMHgzZiwweGUyLDB4MGMsMHhmOCwweDAzLDB4ZjYsMHgwMiwweGRmLDB4ODAgfSB9LAoteyAgMTYsIDB4ZDliMCwgMCwgezB4YjMsMHhlMCwweDBjLDB4ZjgsMHgwMywweDNlLDB4NDEsMHhjYywweDgwLDB4MzMsMHhlNCwweDBmLDB4ZjgsMHgwMywweGMwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZDljMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTEsMHg5YywweDQwLDB4YjcsMHgwMCwweDJkLDB4YzAgfSB9LAoteyAgMTYsIDB4ZDlkMCwgMCwgezB4MGQsMHg1YSwweDIyLDB4ZGMsMHg4MCwweDc1LDB4MDAsMHgyZCwweGMwLDB4MDgsMHg3MSwweDAyLDB4ZjAsMHgyMCwweDg3LDB4MDAgfSB9LAoteyAgMTYsIDB4ZDllMCwgMCwgezB4MjEsMHhjMCwweDBhLDB4NzAsMHgwMiwweDFjLDB4MDAsMHhkNCwweDI4LDB4MjEsMHhjMCwweDBiLDB4NzIsMHgwMiwweGVhLDB4MDQgfSB9LAoteyAgMTYsIDB4ZDlmMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5YywweDQwLDB4YjcsMHgwMCwweDJkLDB4MDAgfSB9LAoteyAgMTYsIDB4ZGEwMCwgMCwgezB4MDgsMHg3MiwweDIyLDB4ZjQsMHgwMCwweDg3LDB4MDAsMHgyZCwweGMyLDB4MDgsMHg3MCwweDAyLDB4ZDQsMHgwMCwweDg3LDB4ODAgfSB9LAoteyAgMTYsIDB4ZGExMCwgMCwgezB4MjUsMHg0MCwweDA5LDB4MzAsMHgwMiwweDVjLDB4MDEsMHhhZCwweDAwLDB4MjksMHhkMCwweDRiLDB4NzAsMHgwMiwweGMwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZGEyMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIwLDB4MTQsMHhjYywweDAwLDB4YmIsMHhjOCwweDJjLDB4YTAgfSB9LAoteyAgMTYsIDB4ZGEzMCwgMCwgezB4MDksMHgyMCwweDAyLDB4Y2UsMHgwMCwweGEzLDB4MDAsMHgyYywweGUwLDB4YTgsMHgzZCwweDQyLDB4YzIsMHgwMCwweDhiLDB4ODAgfSB9LAoteyAgMTYsIDB4ZGE0MCwgMCwgezB4MjQsMHg0MCwweDBiLDB4MzAsMHgwYSwweDZjLDB4MDgsMHhhMywweDQwLDB4YTgsMHhlMCwweDBiLDB4MzQsMHgwMiwweGM4LDB4MDQgfSB9LAoteyAgMTYsIDB4ZGE1MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhhZCwweDAwLDB4ZmYsMHg0OCwweDNjLDB4MjggfSB9LAoteyAgMTYsIDB4ZGE2MCwgMCwgezB4MGMsMHhhOSwweDIzLDB4NmMsMHg4MCwweDhiLDB4MDAsMHgzZiwweGMwLDB4MGMsMHhmYywweDAzLDB4ZWMsMHgwMCwweGQ4LDB4ODAgfSB9LAoteyAgMTYsIDB4ZGE3MCwgMCwgezB4MzQsMHg0MCwweDBkLDB4MzAsMHgwMywweDdjLDB4MDIsMHhhMywweDQwLDB4MzgsMHg2OCwweDBmLDB4MjQsMHgwMywweGVhLDB4MDQgfSB9LAoteyAgMTYsIDB4ZGE4MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDAsMHhlZCwweDg4LDB4ZmIsMHgwMCwweDNlLDB4NTAgfSB9LAoteyAgMTYsIDB4ZGE5MCwgMCwgezB4MGYsMHhhMSwweDAzLDB4ZWMsMHgwNCwweDNhLDB4YzAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDgzLDB4ZTgsMHgwMiwweGY4LDB4MTAgfSB9LAoteyAgMTYsIDB4ZGFhMCwgMCwgezB4M2EsMHg0MSwweDBlLDB4OTAsMHgwMywweGFjLDB4MDAsMHg5YiwweDA4LDB4YjYsMHg0MCwweDBmLDB4ODEsMHgwMywweGUwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZGFiMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmYywweDAwLDB4ZmYsMHgwMCwweGIzLDB4MjAgfSB9LAoteyAgMTYsIDB4ZGFjMCwgMCwgezB4MGMsMHg1MCwweDEzLDB4MWMsMHgwOSwweGNkLDB4ODMsMHgzMywweGMwLDB4ODMsMHg3MCwweDAwLDB4M2MsMHgwMCwweGRjLDB4MTAgfSB9LAoteyAgMTYsIDB4ZGFkMCwgMCwgezB4MzIsMHg2MCwweDBlLDB4ZjEsMHg0MywweDJjLDB4MDAsMHhjZSwweDA0LDB4M2IsMHg3MCwweDBjLDB4ZjAsMHg4MywweDAwLDB4NDQgfSB9LAoteyAgMTYsIDB4ZGFlMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgxLDB4MDQsMHg2NywweDgwLDB4YmIsMHgwMSwweDYyLDB4MjEgfSB9LAoteyAgMTYsIDB4ZGFmMCwgMCwgezB4OGEsMHg4OSwweDIwLDB4MmMsMHgwMCwweDgwLDB4ZTAsMHgyMiwweGMwLDB4MGIsMHhiMCwweDAzLDB4ZDgsMHgxMCwweDhjLDB4MDQgfSB9LAoteyAgMTYsIDB4ZGIwMCwgMCwgezB4MjIsMHg0MCwweDA1LDB4OTAsMHgwMiwweGFjLDB4MDAsMHhkOCwweDgwLDB4MzYsMHg0MCwweDBhLDB4OTAsMHgwMiwweDIwLDB4NDAgfSB9LAoteyAgMTYsIDB4ZGIxMCwgMCwgezB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyNiwweDAwLDB4YmIsMHgwMCwweDIyLDB4MDYgfSB9LAoteyAgMTYsIDB4ZGIyMCwgMCwgezB4MDgsMHg4MCwweDAyLDB4MmUsMHgwMCwweDg4LDB4MjAsMHgyMiwweGMwLDB4MDksMHhiMCwweDAyLDB4YTQsMHgwMCwweDk5LDB4MDAgfSB9LAoteyAgMTYsIDB4ZGIzMCwgMCwgezB4NjIsMHhjNCwweDA4LDB4YjAsMHgwNiwweDJjLDB4MDAsMHg4OCwweDgwLDB4MjIsMHg0MSwweDA4LDB4YTAsMHgwMiwweDIwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZGI0MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDQsMHgwYywweDAwLDB4YjMsMHgwMCwweDIwLDB4NDAgfSB9LAoteyAgMTYsIDB4ZGI1MCwgMCwgezB4MGEsMHgwMCwweDgyLDB4MGMsMHgwMCwweDgwLDB4MDAsMHgyMCwweGMwLDB4MGIsMHgzMCwweDIyLDB4YTAsMHgwMCwweDgxLDB4MDAgfSB9LAoteyAgMTYsIDB4ZGI2MCwgMCwgezB4YTAsMHhjMCwweDA5LDB4MzAsMHgwMiwweDhjLDB4MDAsMHg5MCwweDAwLDB4MjQsMHg0MCwweDBhLDB4MjgsMHgwMiwweDAyLDB4MDEgfSB9LAoteyAgMTYsIDB4ZGI3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2MCwweDAwLDB4ZmIsMHgwMiwweDIwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZGI4MCwgMCwgezB4MmMsMHg5MiwweDAzLDB4MmMsMHgwMiwweDg4LDB4MDAsMHgzMSwweGMwLDB4MGIsMHhiNSwweDAyLDB4YTQsMHgwMCwweGQxLDB4MDQgfSB9LAoteyAgMTYsIDB4ZGI5MCwgMCwgezB4MzIsMHg0MCwweDBlLDB4OTAsMHgwMywweDJjLDB4NDAsMHhjOSwweDAwLDB4M2EsMHg0MCwweDhjLDB4YTAsMHgwMywweDAwLDB4MDMgfSB9LAoteyAgMTYsIDB4ZGJhMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MWQsMHhmNCwweDAwLDB4ZmYsMHgwMCwweDJmLDB4MDAgfSB9LAoteyAgMTYsIDB4ZGJiMCwgMCwgezB4MGYsMHhjMCwweDAzLDB4ZGMsMHgwMCwweGZjLDB4MDAsMHgzZiwweGMxLDB4MGYsMHhmMCwweDQzLDB4ZjAsMHgwMCwweGZkLDB4MDAgfSB9LAoteyAgMTYsIDB4ZGJjMCwgMCwgezB4M2YsMHg0MCwweDRmLDB4ZDAsMHgwMywweGZjLDB4MDAsMHhmNSwweDAwLDB4M2YsMHg0MCwweDBmLDB4ZTAsMHgwMywweGU4LDB4MDYgfSB9LAoteyAgMTYsIDB4ZGJkMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhkOCwweDgwLDB4Y2MsMHgwMCwweGI3LDB4MDQgfSB9LAoteyAgMTYsIDB4ZGJlMCwgMCwgezB4NGUsMHhlMSwweDAzLDB4M2MsMHgyMCwweGRmLDB4MTAsMHgzMSwweDgwLDB4MDYsMHhmMCwweDAzLDB4N2YsMHgwMCwweGZmLDB4YzAgfSB9LAoteyAgMTYsIDB4ZGJmMCwgMCwgezB4M2IsMHhjMCwweDBlLDB4ZjIsMHgwMywweDVlLDB4MDAsMHhlZiwweDEwLDB4MzMsMHhkMCwweDJjLDB4ZjIsMHgwMywweDMwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZGMwMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MTAsMHhlOSwweDAwLDB4ODgsMHhjNiwweDIwLDB4NWMgfSB9LAoteyAgMTYsIDB4ZGMxMCwgMCwgezB4MDgsMHhhNCwweDU3LDB4NjUsMHgwMCwweDhmLDB4NTIsMHgyYSwweGYwLDB4MDksMHhmYywweDAyLDB4MDQsMHgwMCwweGJiLDB4MDAgfSB9LAoteyAgMTYsIDB4ZGMyMCwgMCwgezB4MmQsMHhkOSwweDA5LDB4NzQsMHg4MywweDY0LDB4MjgsMHg4MywweDQ0LDB4MjIsMHg4NCwweDg4LDB4MDYsMHg4MiwweDMwLDB4MDQgfSB9LAoteyAgMTYsIDB4ZGMzMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM4LDB4MDUsMHhjOSwweDAwLDB4ODAsMHgxMCwweDIwLDB4MDggfSB9LAoteyAgMTYsIDB4ZGM0MCwgMCwgezB4MDgsMHgzMSwweDEyLDB4MDQsMHhiMiwweGEzLDB4MDAsMHgyMCwweDg0LDB4MWIsMHgzNCwweDAyLDB4MGMsMHg4MCwweGIzLDB4MjAgfSB9LAoteyAgMTYsIDB4ZGM1MCwgMCwgezB4MmMsMHhjNywweDA5LDB4MzYsMHgwMiwweDhjLDB4ODAsMHg5MywweDQwLDB4YWMsMHhjOCwweDA4LDB4MzEsMHgyOCwweDMyLDB4MDEgfSB9LAoteyAgMTYsIDB4ZGM2MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MTUsMHhhOSwweDAwLDB4ODgsMHgwMCwweGEyLDB4NTAgfSB9LAoteyAgMTYsIDB4ZGM3MCwgMCwgezB4MDgsMHgzNSwweDAyLDB4MjQsMHgwMCwweDhiLDB4MDQsMHgyZSwweGMxLDB4MDksMHhiMCwweDAyLDB4MjQsMHg5NCwweGJiLDB4MDAgfSB9LAoteyAgMTYsIDB4ZGM4MCwgMCwgezB4MmUsMHhjMCwweDBiLDB4YjAsMHgwMiwweGNjLDB4NjAsMHg4YiwweDAwLDB4MmUsMHg4MCwweDA4LDB4ODAsMHgwMCwweDMwLDB4MDQgfSB9LAoteyAgMTYsIDB4ZGM5MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTUsMHhlNywweDAyLDB4Y2IsMHgxOCwweGIyLDB4ODAgfSB9LAoteyAgMTYsIDB4ZGNhMCwgMCwgezB4MmMsMHhhYywweDBhLDB4MmUsMHgwOCwweGViLDB4MDAsMHgzMiwweDEyLDB4NGUsMHhiMCwweDAzLDB4MmIsMHg4MCwweGZiLDB4MDAgfSB9LAoteyAgMTYsIDB4ZGNiMCwgMCwgezB4M2EsMHhjMCwweDBhLDB4YjAsMHgwMywweGFiLDB4MDgsMHhlYiwweDA0LDB4MmUsMHg0OCwweDBjLDB4YjgsMHg4MywweDAwLDB4MDQgfSB9LAoteyAgMTYsIDB4ZGNjMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDEsMHhiNiwweDgwLDB4ZmYsMHg4MCwweDM5LDB4Y2EgfSB9LAoteyAgMTYsIDB4ZGNkMCwgMCwgezB4MGQsMHhlOCwweDAzLDB4ZDYsMHg0MCwweGU3LDB4MDQsMHgzYiwweDY2LDB4NGUsMHg3MCwweDAzLDB4YjgsMHgwMCwweGZmLDB4MDEgfSB9LAoteyAgMTYsIDB4ZGNlMCwgMCwgezB4M2YsMHhjMCwweDZjLDB4ZjAsMHgwMywweDcwLDB4MDYsMHhlNywweDAwLDB4MzEsMHgwNCwweDBmLDB4YzEsMHg0MywweGY4LDB4MDAgfSB9LAoteyAgMTYsIDB4ZGNmMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHg4NSwweDAwLDB4Y2IsMHg0MCwweDMyLDB4OTAgfSB9LAoteyAgMTYsIDB4ZGQwMCwgMCwgezB4MmYsMHhiMCwweDBiLDB4NjQsMHg4MCwweGZiLDB4MDgsMHhiYSwweDEwLDB4MGQsMHhiMCwweGE3LDB4MmQsMHgwMCwweGZiLDB4MDQgfSB9LAoteyAgMTYsIDB4ZGQxMCwgMCwgezB4M2UsMHhjMCwweDhlLDB4YjAsMHgwMywweDZkLDB4MDAsMHhkYiwweDAxLDB4MzIsMHg0MCwweDhjLDB4MzMsMHgwMywweDkwLDB4MDQgfSB9LAoteyAgMTYsIDB4ZGQyMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHgyNCwweDAwLDB4ODMsMHhlMCwweGEyLDB4ZDAgfSB9LAoteyAgMTYsIDB4ZGQzMCwgMCwgezB4NDAsMHhiMCwweDAyLDB4MjUsMHgwNCwweGJmLDB4ODAsMHhhMCwweDUwLDB4MDgsMHhmOCwweDAyLDB4MjAsMHgwMCwweDhiLDB4MDIgfSB9LAoteyAgMTYsIDB4ZGQ0MCwgMCwgezB4MmYsMHhkMCwweDA4LDB4ZjAsMHgwMiwweDI0LDB4MDAsMHg4ZiwweDgwLDB4MzYsMHgwMSwweDA4LDB4ODQsMHg0MiwweDM2LDB4MDAgfSB9LAoteyAgMTYsIDB4ZGQ1MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MDUsMHg0NCwweDAwLDB4ODMsMHg0OCwweDIwLDB4YzQgfSB9LAoteyAgMTYsIDB4ZGQ2MCwgMCwgezB4MDksMHgwMCwweDAyLDB4NDYsMHgwMCwweGIzLDB4MDEsMHhhOCwweDkwLDB4MTksMHgzMCwweDEyLDB4OGMsMHgwMCwweGEzLDB4MDQgfSB9LAoteyAgMTYsIDB4ZGQ3MCwgMCwgezB4MmUsMHhlMiwweDBhLDB4YjAsMHgwMiwweDBjLDB4MDAsMHg4MywweDQ5LDB4MjgsMHhjMCwweDA5LDB4M2MsMHgwMiwweDM4LDB4MDAgfSB9LAoteyAgMTYsIDB4ZGQ4MCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGYwLDB4MDEsMHgzNiwweDA0LDB4ODMsMHg4MCwweDIxLDB4ZTEgfSB9LAoteyAgMTYsIDB4ZGQ5MCwgMCwgezB4MDgsMHgzOCwweDEyLDB4MWUsMHgyOCwweGIzLDB4OTgsMHgyMSwweGEwLDB4MTksMHgzOCwweDgyLDB4OTYsMHgwMCwweDg3LDB4ODMgfSB9LAoteyAgMTYsIDB4ZGRhMCwgMCwgezB4MmQsMHhlMiwweDA4LDB4NzgsMHgyMiwweDM2LDB4OGMsMHg4NywweDgwLDB4MmQsMHhlMCwweDA5LDB4NzksMHgwMiwweDNlLDB4MDAgfSB9LAoteyAgMTYsIDB4ZGRiMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwNCwweDAwLDB4YzMsMHgzMCwweDMwLDB4YzggfSB9LAoteyAgMTYsIDB4ZGRjMCwgMCwgezB4NGQsMHgwMCwweDBiLDB4NGMsMHg4MCwweGYzLDB4MTIsMHgzOCwweGMwLDB4MGQsMHgzYSwweDAyLDB4OGMsMHg4MCwweGYzLDB4MDAgfSB9LAoteyAgMTYsIDB4ZGRkMCwgMCwgezB4M2MsMHhjMCwweDBlLDB4MzAsMHgwYiwweDBlLDB4MDAsMHhjMywweDBjLDB4M2EsMHhjMCwweDBkLDB4MzAsMHgwMywweDEyLDB4MDIgfSB9LAoteyAgMTYsIDB4ZGRlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MWQsMHhiNCwweDA2LDB4ZmYsMHgxMCwweDNmLDB4YzAgfSB9LAoteyAgMTYsIDB4ZGRmMCwgMCwgezB4MGYsMHhiMCwweDEzLDB4YmMsMHgwMCwweGZmLDB4MTAsMHg3ZiwweGMwLDB4MGUsMHhmMSwweGEzLDB4N2MsMHgwMCwweGZmLDB4MTIgfSB9LAoteyAgMTYsIDB4ZGUwMCwgMCwgezB4M2YsMHhjMiwweDBmLDB4ZjUsMHgyMywweGJjLDB4NDEsMHhlZiwweDE4LDB4MzcsMHg4MCwweGFlLDB4YzAsMHgwMywweDUwLDB4MDYgfSB9LAoteyAgMTYsIDB4ZGUxMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlNCwweDAwLDB4ZGIsMHgwMCwweDNlLDB4ZGEgfSB9LAoteyAgMTYsIDB4ZGUyMCwgMCwgezB4MGMsMHg4MCwweDAzLDB4NjYsMHgxMCwweDhiLDB4MDAsMHgzMiwweDgwLDB4OGMsMHhiNiwweDAzLDB4NGEsMHgwMCwweDRiLDB4ODAgfSB9LAoteyAgMTYsIDB4ZGUzMCwgMCwgezB4MzIsMHhjOCwweDBjLDB4YjQsMHgwMywweDBhLDB4MTAsMHhkYiwweDAwLDB4M2UsMHhjMSwweDBjLDB4YjAsMHg0MywweDJhLDB4MDAgfSB9LAoteyAgMTYsIDB4ZGU0MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM4LDB4MTEsMHhiNCwweDAwLDB4ODcsMHgwNCwweDJjLDB4YzAgfSB9LAoteyAgMTYsIDB4ZGU1MCwgMCwgezB4MGQsMHg3MCwweDAzLDB4MWMsMHgwOCwweDg3LDB4NDgsMHgyMCwweDgxLDB4MGQsMHg3MiwweDgyLDB4NWMsMHgwMCwweGQ3LDB4MDAgfSB9LAoteyAgMTYsIDB4ZGU2MCwgMCwgezB4MjEsMHhjYywweDI4LDB4ZjAsMHgwMiwweDFjLDB4MTAsMHg4NywweDIwLDB4MmMsMHgwMCwweDA4LDB4NDAsMHgwYSwweDMyLDB4MDQgfSB9LAoteyAgMTYsIDB4ZGU3MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDAsMHg5NiwweDAwLDB4YjcsMHg4MSwweDJkLDB4ZTAgfSB9LAoteyAgMTYsIDB4ZGU4MCwgMCwgezB4MDgsMHg0OCwweDAyLDB4MGUsMHgwNCwweDg3LDB4ODAsMHgyMSwweGUwLDB4MDgsMHg3OCwweDAyLDB4M2UsMHgwMSwweDg3LDB4ODAgfSB9LAoteyAgMTYsIDB4ZGU5MCwgMCwgezB4MjEsMHhlMCwweDE4LDB4NzksMHgwMiwweDNhLDB4MDEsMHg5NywweGEwLDB4MmQsMHg2MCwweDA4LDB4MzgsMHgwMiwweDIwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZGVhMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MTQsMHhjNiwweDAwLDB4YTMsMHhjNiwweDJjLDB4YzAgfSB9LAoteyAgMTYsIDB4ZGViMCwgMCwgezB4MDksMHgzMCwweDAyLDB4MGMsMHgwMSwweDgzLDB4MDAsMHgyMCwweGUwLDB4MDksMHgzMCwweDAyLDB4NGUsMHgwMCwweDkzLDB4MDAgfSB9LAoteyAgMTYsIDB4ZGVjMCwgMCwgezB4MjAsMHhjMCwweDQ5LDB4MzAsMHgyMiwweDBmLDB4NjQsMHg4MywweDAyLDB4NmMsMHhkNCwweDI4LDB4MzAsMHgwMiwweDEyLDB4MDQgfSB9LAoteyAgMTYsIDB4ZGVkMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTEsMHhhYiwweDgwLDB4ZmEsMHhlMCwweDNjLDB4ODggfSB9LAoteyAgMTYsIDB4ZGVlMCwgMCwgezB4MGMsMHhlMCwweDAyLDB4MjgsMHgwMiwweGNhLDB4MDAsMHhiMywweGE5LDB4MGMsMHhhMCwweDAzLDB4M2IsMHgxMCwweGNhLDB4MDAgfSB9LAoteyAgMTYsIDB4ZGVmMCwgMCwgezB4YTIsMHg4MCwweDBjLDB4YTAsMHgwYiwweDM4LDB4MDAsMHhkYSwweDAwLDB4M2YsMHhiMCwweDBjLDB4ZTYsMHgwMywweDNhLDB4MDQgfSB9LAoteyAgMTYsIDB4ZGYwMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDAsMHhjMCwweDIwLDB4OTgsMHgwOCwweDNlLDB4MDAgfSB9LAoteyAgMTYsIDB4ZGYxMCwgMCwgezB4MGYsMHg4MCwweDBiLDB4ZTEsMHgwMCwweGY4LDB4MDEsMHgzYywweDEwLDB4NGYsMHgwMCwweDAzLDB4YTAsMHg0MCwweGY4LDB4MDAgfSB9LAoteyAgMTYsIDB4ZGYyMCwgMCwgezB4M2UsMHgxMCwweDBlLDB4ODAsMHgwMywweGUwLDB4MDAsMHhmOCwweDAwLDB4M2MsMHgwMiwweDJmLDB4MDQsMHg5MywweGQyLDB4MDAgfSB9LAoteyAgMTYsIDB4ZGYzMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDAwLDB4YzEsMHhjMSwweDMyLDB4NDAgfSB9LAoteyAgMTYsIDB4ZGY0MCwgMCwgezB4MGMsMHg5OCwweDAzLDB4MjYsMHg0MCwweGY5LDB4MDAsMHgzMiwweDQwLDB4MGMsMHg5OCwweDAzLDB4MjQsMHgyNCwweGY5LDB4MDAgfSB9LAoteyAgMTYsIDB4ZGY1MCwgMCwgezB4M2MsMHg2MCwweDBjLDB4MTAsMHgwMywweGE0LDB4MDAsMHhmOSwweDgyLDB4MzIsMHg0MCwweDBjLDB4OTAsMHgwMywweDAyLDB4MDQgfSB9LAoteyAgMTYsIDB4ZGY2MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDQsMHg2NCwweDAwLDB4ODksMHgwMCwweDIyLDB4NTAgfSB9LAoteyAgMTYsIDB4ZGY3MCwgMCwgezB4MGQsMHg5OCwweDAyLDB4MjUsMHg4MCwweGI5LDB4MDAsMHgyMiwweDUyLDB4MGQsMHg5YywweDAyLDB4MjQsMHgwMCwweGI5LDB4MDAgfSB9LAoteyAgMTYsIDB4ZGY4MCwgMCwgezB4MmUsMHg2MCwweDA4LDB4OTAsMHg0MiwweDI0LDB4MDAsMHhiOSwweDQwLDB4MzYsMHg0MCwweDA4LDB4OTAsMHgwYSwweDIwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZGY5MCwgMCwgezB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDAwLDB4OGQsMHgwMCwweDIzLDB4NDAgfSB9LAoteyAgMTYsIDB4ZGZhMCwgMCwgezB4MDgsMHgxMiwweDAyLDB4MjQsMHgwMCwweGExLDB4MTAsMHhhMiwweDYwLDB4MDgsMHg5MiwweDhhLDB4MjQsMHgwMCwweGI5LDB4MDEgfSB9LAoteyAgMTYsIDB4ZGZiMCwgMCwgezB4MmUsMHg0NiwweDA4LDB4OTAsMHgwMiwweGE0LDB4MDAsMHhiMSwweDUwLDB4MjIsMHg0MCwweDI4LDB4OTAsMHg4MiwweDA2LDB4MDAgfSB9LAoteyAgMTYsIDB4ZGZjMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDQsMHgwNCwweDg0LDB4ODUsMHgyMCwweGExLDB4ZDggfSB9LAoteyAgMTYsIDB4ZGZkMCwgMCwgezB4MDksMHgxMCwweDAyLDB4MDQsMHg4MCwweGIzLDB4MjAsMHgyMCwweDQwLDB4MjksMHgxMiwweDA2LDB4MDQsMHgwMCwweGIxLDB4MDEgfSB9LAoteyAgMTYsIDB4ZGZlMCwgMCwgezB4MmMsMHg0OCwweDI4LDB4MTIsMHgwMiwweDA0LDB4MDAsMHhiMSwweDIwLDB4MjQsMHg0OCwweDA4LDB4MTIsMHgwMiwweDAyLDB4MDEgfSB9LAoteyAgMTYsIDB4ZGZmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MSwweDQyLDB4OGEsMHgwMCwweGIzLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTAwMCwgMCwgezB4MGMsMHgwNSwweDAzLDB4MjEsMHg0MCwweGUwLDB4NTAsMHhiMiwweDAwLDB4MmMsMHg4MCwweDAyLDB4MjEsMHg0MCwweGYwLDB4NTAgfSB9LAoteyAgMTYsIDB4ZTAxMCwgMCwgezB4M2MsMHgxNCwweDBjLDB4ODUsMHgxMywweGExLDB4NTAsMHhmOCwweDUwLDB4MzIsMHgxNCwweDBjLDB4ODUsMHgyMywweDJlLDB4MDMgfSB9LAoteyAgMTYsIDB4ZTAyMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDk4LDB4MWQsMHhmNCwweDQwLDB4ZjksMHgxMCwweDNlLDB4NDQgfSB9LAoteyAgMTYsIDB4ZTAzMCwgMCwgezB4MGYsMHhkNCwweDBiLDB4ZjQsMHg0NCwweGY5LDB4MTAsMHgzZiwweDUwLDB4NGYsMHgxMSwweDAzLDB4ZjQsMHgwMCwweGY5LDB4MDAgfSB9LAoteyAgMTYsIDB4ZTA0MCwgMCwgezB4M2UsMHg0NCwweDBmLDB4OTEsMHg1MywweGY0LDB4MTQsMHhmOSwweDEwLDB4M2YsMHg0NCwweDBmLDB4ZDEsMHgwMywweGU2LDB4MDIgfSB9LAoteyAgMTYsIDB4ZTA1MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDk4LDB4MDUsMHhlNiwweGEwLDB4ZGQsMHg4OCwweGIzLDB4NjYgfSB9LAoteyAgMTYsIDB4ZTA2MCwgMCwgezB4MGMsMHhkYywweDgzLDB4MzYsMHg4OCwweGJkLDB4YTAsMHgzNywweDZhLDB4MGMsMHhkYSwweDBiLDB4MjUsMHgwMiwweGM5LDB4NDAgfSB9LAoteyAgMTYsIDB4ZTA3MCwgMCwgezB4M2YsMHg3OCwweDRmLDB4OTgsMHhiMywweGU1LDB4MDQsMHhjZCwweGEwLDB4NzIsMHg3OCwweDBjLDB4ZDgsMHg4YiwweDI2LDB4MTQgfSB9LAoteyAgMTYsIDB4ZTA4MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDM4LDB4MTAsMHhlMywweDAwLDB4ODgsMHg0MiwweDIyLDB4MzEgfSB9LAoteyAgMTYsIDB4ZTA5MCwgMCwgezB4MDgsMHgwYSwweDAyLDB4MjIsMHhhMCwweGI4LDB4ZjksMHgyMiwweDEwLDB4MGQsMHg4NCwweDEyLDB4NmEsMHg4MCwweDg4LDB4ODAgfSB9LAoteyAgMTYsIDB4ZTBhMCwgMCwgezB4MmUsMHgyMCwweDBiLDB4MDgsMHgwMiwweGUyLDB4ODAsMHhhOCwweGE4LDB4YTIsMHgzOCwweDQ4LDB4YTgsMHgwMiwweDBlLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTBiMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDUsMHhjNCwweGEyLDB4ODEsMHgwMCwweDIwLDB4NDggfSB9LAoteyAgMTYsIDB4ZTBjMCwgMCwgezB4MDgsMHgxMiwweDQyLDB4NDUsMHgwMCwweGIxLDB4MDAsMHgyNCwweDQwLDB4MDksMHgxNCwweDAyLDB4MjQsMHgwMCwweDgxLDB4MjAgfSB9LAoteyAgMTYsIDB4ZTBkMCwgMCwgezB4MmMsMHg1OCwweDBiLDB4MTAsMHg4MiwweGM0LDB4MDQsMHg5MSwweDQwLDB4NjQsMHg2YywweDA4LDB4MzAsMHg4MiwweDEyLDB4MDUgfSB9LAoteyAgMTYsIDB4ZTBlMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MTUsMHhhNCwweDAwLDB4ODksMHgwMCwweDIyLDB4NDEgfSB9LAoteyAgMTYsIDB4ZTBmMCwgMCwgezB4MDgsMHg5MCwweDhhLDB4NjQsMHg4MCwweGI5LDB4MDAsMHgyMiwweDUwLDB4MDksMHg5MCwweDA2LDB4NjQsMHgwOCwweDk5LDB4MDAgfSB9LAoteyAgMTYsIDB4ZTEwMCwgMCwgezB4MmUsMHg0MCwweDBiLDB4OTAsMHgwNiwweGM0LDB4MDEsMHhiOSwweDAyLDB4MjYsMHg2MSwweDg4LDB4OTAsMHgwMiwweDA2LDB4MDQgfSB9LAoteyAgMTYsIDB4ZTExMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNCwweDAwLDB4YzksMHgwMCwweDIyLDB4NDAgfSB9LAoteyAgMTYsIDB4ZTEyMCwgMCwgezB4MmMsMHg5NCwweDIzLDB4NjQsMHgwMCwweGI5LDB4MDAsMHgzNiwweDQwLDB4MDksMHg5MCwweDEzLDB4MDUsMHgwMCwweGM5LDB4MDAgfSB9LAoteyAgMTYsIDB4ZTEzMCwgMCwgezB4M2UsMHg0MCwweDRmLDB4OTAsMHgxMywweGU1LDB4YzAsMHhkOSwweDAwLDB4MjYsMHg0MCwweDJjLDB4OTQsMHgwMywweDI4LDB4MDAgfSB9LAoteyAgMTYsIDB4ZTE0MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDY4LDB4MDEsMHhhNCwweDAyLDB4ZTksMHgwOCwweDNjLDB4NDAgfSB9LAoteyAgMTYsIDB4ZTE1MCwgMCwgezB4MGYsMHg5MCwweDBiLDB4YTQsMHgwMCwweGYxLDB4MDAsMHgzZSwweDQxLDB4MGYsMHg5MCwweDQzLDB4YTQsMHg4OCwweGU5LDB4MDQgfSB9LAoteyAgMTYsIDB4ZTE2MCwgMCwgezB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGU2LDB4MDAsMHhlMSwweDAwLDB4M2EsMHg0MCwweDlmLDB4OTIsMHg2MywweGRhLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTE3MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHg4MCwweDEwLDB4ZTAsMHgwMSwweDMyLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTE4MCwgMCwgezB4OGYsMHg4MCwweDAzLDB4MjAsMHgwMCwweGQ4LDB4MDgsMHgzMCwweDAxLDB4OGMsMHgwMCwweDAzLDB4ZTEsMHgwMiwweGM4LDB4MDQgfSB9LAoteyAgMTYsIDB4ZTE5MCwgMCwgezB4M2UsMHgwMCwweDBjLDB4ODAsMHgwYiwweDIxLDB4MDAsMHhjOCwweDAwLDB4NzgsMHgwMCwweDBmLDB4ODYsMHgwMywweDBhLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTFhMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHgyOCwweDAwLDB4OGUsMHg0MCwweDJiLDB4ODIgfSB9LAoteyAgMTYsIDB4ZTFiMCwgMCwgezB4MGIsMHhhMCwweDAyLDB4M2EsMHgwMCwweDhlLDB4ODAsMHgyMywweDgyLDB4MDgsMHhlMiwweDAyLDB4MjgsMHgxMCwweDhhLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTFjMCwgMCwgezB4MmYsMHg5OCwweDI4LDB4YTAsMHgxMiwweDI4LDB4MDAsMHg4ZSwweDIwLDB4MmUsMHg4MCwweDRiLDB4ZTQsMHgwMiwweDBhLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTFkMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAyLDB4YTIsMHg0MCwweDIwLDB4ODAgfSB9LAoteyAgMTYsIDB4ZTFlMCwgMCwgezB4MGIsMHhiMCwweDAyLDB4NGUsMHg0MCwweDkzLDB4YzAsMHhhMCwweDIwLDB4MDgsMHgzNiwweDAyLDB4OGMsMHgwMCwweDkzLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTFmMCwgMCwgezB4MmMsMHhlMiwweDA4LDB4MzAsMHgwNiwweDRjLDB4MTIsMHg5MywweDA4LDB4MjgsMHhjMCwweDBiLDB4YjAsMHgwMiwweDBhLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTIwMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MDEsMHgxYywweDA4LDB4ODIsMHg0MCwweDI5LDB4NDAgfSB9LAoteyAgMTYsIDB4ZTIxMCwgMCwgezB4MGIsMHg3MCwweDAyLDB4NWUsMHgwOCwweDg0LDB4MDgsMHgyMywweDQwLDB4MDgsMHg3MCwweDA2LDB4MWMsMHg4MCwweDg3LDB4MDAgfSB9LAoteyAgMTYsIDB4ZTIyMCwgMCwgezB4MmQsMHgyMCwweDA4LDB4NzksMHgxMiwweDVjLDB4MDAsMHg5NCwweDAwLDB4MmQsMHhjMCwweDBiLDB4MzAsMHg0MiwweDI4LDB4MDAgfSB9LAoteyAgMTYsIDB4ZTIzMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgzZSwweDAwLDB4ZTQsMHg4MCwweDMxLDB4YTEgfSB9LAoteyAgMTYsIDB4ZTI0MCwgMCwgezB4MGYsMHg1OCwweDEzLDB4NzYsMHgwMCwweGQwLDB4ODAsMHgzMSwweGMwLDB4MGMsMHgzOCwweDAzLDB4YmUsMHg4MCwweGQ3LDB4ODEgfSB9LAoteyAgMTYsIDB4ZTI1MCwgMCwgezB4M2YsMHgyMCwweDhjLDB4NzksMHgwMywweDdmLDB4MDEsMHhkNiwweDgwLDB4MzksMHhlOCwweDRmLDB4NjgsMHgwMywweDJhLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTI2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MWQsMHhiZSwweDAwLDB4ZmEsMHgwMCwweDNlLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTI3MCwgMCwgezB4OGYsMHg5NiwweDBiLDB4YTQsMHgwMCwweGVhLDB4MDAsMHgzYywweGMwLDB4MGYsMHg5MCwweDAzLDB4YWMsMHgyMCwweGZiLDB4NDAgfSB9LAoteyAgMTYsIDB4ZTI4MCwgMCwgezB4MmUsMHgwMCwweDBmLDB4YjIsMHgwMywweGFkLDB4YTAsMHhlYSwweDAwLDB4M2UsMHhjMCwweDBmLDB4YTAsMHgxYiwweGMyLDB4MDQgfSB9LAoteyAgMTYsIDB4ZTI5MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDUsMHhmZSwweDA4LDB4ZGUsMHg4MSwweDMzLDB4YTQgfSB9LAoteyAgMTYsIDB4ZTJhMCwgMCwgezB4MGUsMHhmYywweDEzLDB4M2UsMHgwMCwweGZjLDB4ODAsMHgxMywweDIwLDB4MGMsMHg2OCwweDAzLDB4M2UsMHgyMCwweGZmLDB4YzggfSB9LAoteyAgMTYsIDB4ZTJiMCwgMCwgezB4M2YsMHg2MCwweDFkLDB4ZjgsMHgwMywweDdlLDB4MDAsMHhjNywweDgwLDB4MzMsMHhlMiwweDBjLDB4ZDgsMHgwMywweDEwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTJjMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTEsMHg5YywweDAwLDB4ODYsMHg0MSwweDMxLDB4YzQgfSB9LAoteyAgMTYsIDB4ZTJkMCwgMCwgezB4MDgsMHg3OSwweDQyLDB4OWMsMHgwMCwweGJjLDB4MTAsMHgyMSwweDQwLDB4ODUsMHgzNSwweDAzLDB4NWMsMHgwMCwweGI3LDB4MDAgfSB9LAoteyAgMTYsIDB4ZTJlMCwgMCwgezB4MmQsMHhjMCwweDA4LDB4NzIsMHgwMiwweDJjLDB4MDAsMHhhNywweDAxLDB4MzcsMHhjMCwweDA4LDB4NTEsMHg0MiwweDJhLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTJmMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4MDAsMHg4YywweDQwLDB4ODIsMHgwMCwweDI0LDB4ODEgfSB9LAoteyAgMTYsIDB4ZTMwMCwgMCwgezB4MDgsMHhkOCwweDAyLDB4MTQsMHgyMCwweGI1LDB4MDAsMHgyMCwweDQwLDB4MDksMHg2MCwweDAyLDB4MWMsMHg0MCwweGI3LDB4MDAgfSB9LAoteyAgMTYsIDB4ZTMxMCwgMCwgezB4MmMsMHg0MCwweDBiLDB4MzAsMHgyMiwweGRjLDB4MDAsMHg5NywweDAwLDB4MjEsMHhjNCwweDA4LDB4NDAsMHgwMiwweDQ0LDB4MDAgfSB9LAoteyAgMTYsIDB4ZTMyMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDYwLDB4MTQsMHhlYywweDAwLDB4OTIsMHgwNiwweDIwLDB4OTAgfSB9LAoteyAgMTYsIDB4ZTMzMCwgMCwgezB4MzgsMHgxNSwweDAyLDB4ODYsMHgwMCwweGI4LDB4MDAsMHg2MCwweDUwLDB4MDksMHgzMCwweDAyLDB4NGUsMHgwMSwweGJiLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTM0MCwgMCwgezB4MmUsMHg0MCwweDBiLDB4MzAsMHgwMiwweGNlLDB4MjAsMHhiMywweDAwLDB4MjQsMHhmMCwweDQ4LDB4MDIsMHgwYSwweDU4LDB4MDQgfSB9LAoteyAgMTYsIDB4ZTM1MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhiYywweDAwLDB4Y2EsMHgwMCwweGE2LDB4OTQgfSB9LAoteyAgMTYsIDB4ZTM2MCwgMCwgezB4MmMsMHg5MCwweDAzLDB4MmUsMHgwMCwweGZiLDB4MDUsMHhiMiwweDg1LDB4MGQsMHg5MCwweDAzLDB4M2YsMHg5MCwweGZmLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTM3MCwgMCwgezB4N2UsMHg4MCwweDFmLDB4ZjAsMHg0MywweGZjLDB4MjEsMHg5YSwweDAwLDB4MzMsMHhjOCwweDNjLDB4YjIsMHgwMywweDZhLDB4MDQgfSB9LAoteyAgMTYsIDB4ZTM4MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDkwLDB4MDAsMHhlYywweDAyLDB4ZWEsMHg0MCwweDNkLDB4ODAgfSB9LAoteyAgMTYsIDB4ZTM5MCwgMCwgezB4MGYsMHgxMCwweDkzLDB4ZWQsMHgwMCwweGZiLDB4NDAsMHgzZSwweDkwLDB4OGYsMHgzMCwweDAzLDB4ZWMsMHg4MCwweGZiLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTNhMCwgMCwgezB4M2UsMHg5MSwweDFjLDB4YjAsMHgwMywweDJjLDB4MTAsMHhlOCwweDAwLDB4M2UsMHhjOCwweDFmLDB4OTAsMHgwMywweGE1LDB4MTAgfSB9LAoteyAgMTYsIDB4ZTNiMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MTAsMHhmYywweDAyLDB4ZTQsMHgwMCwweDczLDB4YTAgfSB9LAoteyAgMTYsIDB4ZTNjMCwgMCwgezB4MGMsMHhmYywweDAzLDB4N2MsMHgwMiwweGZmLDB4MTAsMHgxMywweGM0LDB4MWMsMHhjMCwweDAzLDB4M2MsMHgwMCwweGZmLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTNkMCwgMCwgezB4MzcsMHhlMCwweDBkLDB4ZjAsMHgwMywweGZjLDB4MDAsMHhlZCwweDgwLDB4MzEsMHhjMCwweDBjLDB4MzIsMHg2MywweDIwLDB4MDQgfSB9LAoteyAgMTYsIDB4ZTNlMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg0LDB4MDAsMHg2YywweDAwLDB4OGEsMHhjMCwweDIyLDB4YjEgfSB9LAoteyAgMTYsIDB4ZTNmMCwgMCwgezB4OGEsMHhiOCwweDQzLDB4NGEsMHgxMCwweGRiLDB4MjAsMHgyMCwweGYwLDB4MGEsMHg5NCwweDAzLDB4NmMsMHgwMCwweGJiLDB4MDcgfSB9LAoteyAgMTYsIDB4ZTQwMCwgMCwgezB4MjIsMHhiOCwweDA4LDB4YjAsMHgwMiwweGVjLDB4MTEsMHhlOCwweGMwLDB4YjIsMHhjMCwweDJhLDB4OTIsMHgxYSwweDIwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTQxMCwgMCwgezB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDEsMHgyYywweDAwLDB4YWEsMHg4MCwweDIyLDB4OTggfSB9LAoteyAgMTYsIDB4ZTQyMCwgMCwgezB4MDgsMHg5MCwweDAyLDB4MmYsMHgwMywweGJiLDB4MDEsMHgyYSwweDgzLDB4MDgsMHhiMiwweDRlLDB4MmMsMHgwNCwweGFiLDB4MDIgfSB9LAoteyAgMTYsIDB4ZTQzMCwgMCwgezB4MjIsMHhjNCwweDI4LDB4YjAsMHgyMiwweGVjLDB4MDksMHhiMywweDUwLDB4NjIsMHhjMCwweDA4LDB4YjAsMHgwMiwweDIwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTQ0MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDQsMHgwYywweDAxLDB4ODMsMHgwMCwweDYwLDB4ODAgfSB9LAoteyAgMTYsIDB4ZTQ1MCwgMCwgezB4MDgsMHgxMiwweDBhLDB4NDQsMHgwMCwweDkzLDB4MDAsMHgyYSwweDgwLDB4NGEsMHgzMCwweDAyLDB4MGMsMHgwMCwweGIzLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTQ2MCwgMCwgezB4NjAsMHhjMCwweDA4LDB4MzAsMHgwMiwweGNjLDB4MDAsMHhiMywweDAyLDB4NjAsMHhjMCwweDA4LDB4MDAsMHg0NiwweDAyLDB4MDEgfSB9LAoteyAgMTYsIDB4ZTQ3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MGQsMHg2YywweDAwLDB4ZTgsMHgwMiwweDIyLDB4ODAgfSB9LAoteyAgMTYsIDB4ZTQ4MCwgMCwgezB4MmMsMHhmMiwweDQzLDB4MmMsMHgwMCwweGZiLDB4MDAsMHhiYSwweGMwLDB4MDgsMHhhNSwweDAyLDB4M2MsMHgwMCwweGVmLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTQ5MCwgMCwgezB4MzYsMHhjMCwweDRkLDB4ZjAsMHgxMywweGZkLDB4NTEsMHhmYiwweDAwLDB4MzIsMHhjMCwweDBjLDB4YjAsMHgwMywweDIwLDB4MDEgfSB9LAoteyAgMTYsIDB4ZTRhMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MWQsMHhmYywweDAwLDB4N2UsMHgwNCwweDNmLDB4ODAgfSB9LAoteyAgMTYsIDB4ZTRiMCwgMCwgezB4MGYsMHgzMSwweDQzLDB4ZjAsMHgwMiwweGZmLDB4MDAsMHgzNywweGMwLDB4MGYsMHhmMCwweDAzLDB4ZmMsMHgwOCwweGZmLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTRjMCwgMCwgezB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGZjLDB4MDAsMHhlZiwweDAwLDB4M2IsMHhjMCwweDBmLDB4YzAsMHgwMywweGU4LDB4MTYgfSB9LAoteyAgMTYsIDB4ZTRkMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmMiwweDQwLDB4ZmMsMHg4MCwweDNmLDB4MjQgfSB9LAoteyAgMTYsIDB4ZTRlMCwgMCwgezB4MGQsMHhkOCwweDUzLDB4ZDYsMHgwNCwweGRmLDB4MzIsMHgzZiwweGNjLDB4NGMsMHhjMCwweDQzLDB4ZmMsMHgwMCwweGRmLDB4NjAgfSB9LAoteyAgMTYsIDB4ZTRmMCwgMCwgezB4MzcsMHhjMCwweDBmLDB4YzQsMHgwMywweDdjLDB4ZDAsMHhkZiwweDIwLDB4MzMsMHhkOCwweDBkLDB4ZjgsMHg0MywweGYwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTUwMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MTgsMHhlOCwweDgwLDB4YjAsMHgwMSwweDJlLDB4MDggfSB9LAoteyAgMTYsIDB4ZTUxMCwgMCwgezB4ODgsMHg5MCwweDAyLDB4ZWMsMHgyMCwweDhiLDB4NzAsMHgyZiwweGNjLDB4MDgsMHhiMywweDgyLDB4ZmQsMHhlMCwweGJmLDB4NDAgfSB9LAoteyAgMTYsIDB4ZTUyMCwgMCwgezB4MjIsMHhkOCwweDBiLDB4OTMsMHgwMiwweGZkLDB4YzAsMHhhZiwweDEwLDB4MjgsMHhmMCwweDA4LDB4YmMsMHgxMiwweGYwLDB4MDQgfSB9LAoteyAgMTYsIDB4ZTUzMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjNCwweDAwLDB4YjAsMHgwMCwweDJlLDB4MDEgfSB9LAoteyAgMTYsIDB4ZTU0MCwgMCwgezB4MGEsMHgxMiwweDgyLDB4ZWMsMHg4MCwweGIzLDB4MDAsMHgyYywweGM4LDB4MGEsMHgwMCwweDMyLDB4OGMsMHgwMCwweGEzLDB4MzAgfSB9LAoteyAgMTYsIDB4ZTU1MCwgMCwgezB4MjAsMHhkMiwweDA5LDB4MDAsMHgwMiwweDhjLDB4ODAsMHg4MywweDAwLDB4MjgsMHhkOCwweDBiLDB4MzQsMHgxMiwweGYyLDB4MDEgfSB9LAoteyAgMTYsIDB4ZTU2MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhhYywweDAxLDB4YjgsMHgwMiwweDJlLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTU3MCwgMCwgezB4MGEsMHg5MCwweDEyLDB4ZWMsMHgxMCwweDhiLDB4MDAsMHgyZSwweGMwLDB4MGEsMHhiMCwweDAwLDB4ZWMsMHgwMCwweGIzLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTU4MCwgMCwgezB4MjIsMHhjMSwweDBiLDB4OTIsMHgwMiwweGNjLDB4MDEsMHhhYiwweDAwLDB4MmEsMHhjMCwweDAyLDB4YjAsMHgwMiwweGYwLDB4MDQgfSB9LAoteyAgMTYsIDB4ZTU5MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlMCwweDAwLDB4ZmEsMHgwYywweDNlLDB4YzAgfSB9LAoteyAgMTYsIDB4ZTVhMCwgMCwgezB4MGYsMHhhMCwweDEzLDB4ZWUsMHgyMCwweGRiLDB4MDAsMHgzZSwweGMwLDB4MmUsMHg4OCwweDUzLDB4ZWMsMHgwMCwweGZiLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTViMCwgMCwgezB4YjIsMHhjMCwweDhmLDB4YWMsMHg4MywweGFjLDB4MDgsMHhkYiwweDAwLDB4MWEsMHhjMCwweDRmLDB4YjAsMHgwMywweGMwLDB4MDQgfSB9LAoteyAgMTYsIDB4ZTVjMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDEsMHhiOCwweDAwLDB4ZmUsMHgwMCwweDNmLDB4YzAgfSB9LAoteyAgMTYsIDB4ZTVkMCwgMCwgezB4MmQsMHhlMCwweDAzLDB4ZmUsMHg4MCwweDdmLDB4MDAsMHgzZiwweGMwLDB4MGQsMHhkMiwweDAzLDB4ZmMsMHgwMCwweGJmLDB4MDEgfSB9LAoteyAgMTYsIDB4ZTVlMCwgMCwgezB4M2UsMHhjMCwweDBkLDB4YzgsMHgwMywweGZjLDB4MGMsMHhmZiwweDAwLDB4M2YsMHhjMCwweDA5LDB4ZjAsMHgyMywweGY4LDB4MDAgfSB9LAoteyAgMTYsIDB4ZTVmMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhNCwweDAwLDB4ZmEsMHg0MCwweDMyLDB4YzEgfSB9LAoteyAgMTYsIDB4ZTYwMCwgMCwgezB4MGYsMHhhMCwweDAzLDB4MjksMHgwOCwweGRiLDB4MDAsMHgzZSwweGMwLDB4MGUsMHg4NSwweDAzLDB4ZWMsMHgyMCwweGNiLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTYxMCwgMCwgezB4M2EsMHhjMCwweDBlLDB4YTQsMHgwMywweGVjLDB4MDAsMHhmYiwweDAwLDB4M2EsMHhjMiwweDBlLDB4YjAsMHgwMywweDEwLDB4MDQgfSB9LAoteyAgMTYsIDB4ZTYyMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM4LDB4MDUsMHgyYywweDAwLDB4YmEsMHg2MCwweDIwLDB4YzAgfSB9LAoteyAgMTYsIDB4ZTYzMCwgMCwgezB4MGIsMHhhMCwweDAyLDB4MDgsMHgwMCwweGFmLDB4MDAsMHgyZiwweGQwLDB4MGIsMHhiNSwweDAyLDB4ZmUsMHgwMiwweDhmLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTY0MCwgMCwgezB4MmYsMHhjMCwweDBkLDB4ODAsMHgwYSwweDNjLDB4MDAsMHhiNywweDAwLDB4MjMsMHhjMiwweDA1LDB4ZjAsMHgyMiwweDM2LDB4MDAgfSB9LAoteyAgMTYsIDB4ZTY1MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDQsMHg0MCwweDAwLDB4YjEsMHg4OCwweDIwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTY2MCwgMCwgezB4MGIsMHgxMCwweDAyLDB4MGMsMHgwMCwweDgzLDB4MDAsMHgyZSwweGM4LDB4MGIsMHgwOCwweDA2LDB4NGQsMHg0MCwweDgzLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTY3MCwgMCwgezB4MjAsMHhjMCwweDA4LDB4MzAsMHgwNiwweDBjLDB4MDgsMHg5MywweDIwLDB4MGEsMHhlMCwweDRhLDB4MzAsMHgwMiwweDM4LDB4MDAgfSB9LAoteyAgMTYsIDB4ZTY4MCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIwLDB4MTAsMHg1YSwweDAwLDB4YjUsMHg5MCwweDIxLDB4MjAgfSB9LAoteyAgMTYsIDB4ZTY5MCwgMCwgezB4MGIsMHg1OCwweDQyLDB4M2UsMHgwMCwweGE3LDB4ODAsMHgyZCwweGUwLDB4MGIsMHg2OSwweDAyLDB4ZGUsMHg0MCwweDg3LDB4OTIgfSB9LAoteyAgMTYsIDB4ZTZhMCwgMCwgezB4MmQsMHhlMCwweDA5LDB4MTgsMHgwMiwweDllLDB4MDEsMHhiNywweDgwLDB4MjksMHhlMCwweDAzLDB4NzAsMHgwMiwweDNlLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTZiMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHg0NCwweDAwLDB4ZjEsMHgwMSwweDMwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTZjMCwgMCwgezB4NWYsMHgxOCwweDAzLDB4MGMsMHgxMCwweDgzLDB4MDAsMHgzYywweGM0LDB4MGUsMHgwNCwweDAzLDB4ZWMsMHgwMCwweDgzLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTZkMCwgMCwgezB4MzAsMHhjNCwweDBjLDB4MzEsMHgwMywweDhjLDB4MDAsMHhmMywweDAwLDB4MzgsMHhjOCwweDBlLDB4MzEsMHgwMywweDEyLDB4MDIgfSB9LAoteyAgMTYsIDB4ZTZlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhiYywweDAwLDB4ZmQsMHgwNCwweGJmLDB4MDQgfSB9LAoteyAgMTYsIDB4ZTZmMCwgMCwgezB4NGYsMHg1OCwweDAzLDB4ZjgsMHgwOCwweGVmLDB4MDgsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAxLDB4ZmMsMHgwMCwweGZmLDB4NGMgfSB9LAoteyAgMTYsIDB4ZTcwMCwgMCwgezB4M2YsMHhjMSwweDBmLDB4ZDAsMHgwMywweDNjLDB4MDAsMHhmNywweDAwLDB4MzcsMHhjMiwweDBkLDB4NzIsMHgwMywweGQwLDB4MDYgfSB9LAoteyAgMTYsIDB4ZTcxMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhlMiwweDAwLDB4ZGIsMHgwMCwweDMyLDB4YzAgfSB9LAoteyAgMTYsIDB4ZTcyMCwgMCwgezB4NGQsMHhhOCwweDAzLDB4MmMsMHgwOCwweGZiLDB4MDAsMHg3ZSwweGM4LDB4OGYsMHhiMCwweDBiLDB4NmYsMHg0NSwweGViLDB4YzIgfSB9LAoteyAgMTYsIDB4ZTczMCwgMCwgezB4MzYsMHhjMCwweDA3LDB4YTAsMHgwMywweGVmLDB4MjAsMHhjYiwweDUwLDB4YjIsMHhjMCwweDBjLDB4NzksMHgwMywweDJhLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTc0MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MTksMHg5OCwweDAwLDB4OGYsMHgwMCwweDIxLDB4YzAgfSB9LAoteyAgMTYsIDB4ZTc1MCwgMCwgezB4MGIsMHg2MCwweDAzLDB4NWMsMHgwMCwweDM3LDB4MDAsMHgyZCwweGQyLDB4MGIsMHgzMCwweDAyLDB4MGMsMHhhOCwweDg3LDB4MjQgfSB9LAoteyAgMTYsIDB4ZTc2MCwgMCwgezB4MjEsMHhkMCwweDA5LDB4NzAsMHgwMiwweGRkLDB4ODgsMHg4NywweDJhLDB4MjMsMHhlOCwweDA4LDB4NzAsMHgwMiwweDMyLDB4MDQgfSB9LAoteyAgMTYsIDB4ZTc3MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIwLDB4MDAsMHhiNiwweDAwLDB4OTcsMHg4MCwweDIxLDB4ZTAgfSB9LAoteyAgMTYsIDB4ZTc4MCwgMCwgezB4MGIsMHg2OCwweDAyLDB4MWUsMHgwMCwweGI3LDB4ODAsMHgyZCwweGU4LDB4OGIsMHg0OCwweDgyLDB4MWUsMHg4MCwweGEzLDB4ODQgfSB9LAoteyAgMTYsIDB4ZTc5MCwgMCwgezB4MjUsMHhlOCwweDBiLDB4NjgsMHgwMiwweGNlLDB4MDIsMHg4NywweDgwLDB4MjEsMHhlMCwweDA4LDB4N2EsMHgwMiwweDIwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTdhMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDY4LDB4MDQsMHhjYywweDA4LDB4ODMsMHg4MiwweDIwLDB4ZTAgfSB9LAoteyAgMTYsIDB4ZTdiMCwgMCwgezB4OGIsMHgyYSwweDAyLDB4NDgsMHg0MCwweGIzLDB4MDAsMHgyYywweGMwLDB4MGIsMHgzMCwweDgyLDB4MGMsMHgwMCwweDgzLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTdjMCwgMCwgezB4MDAsMHhjMSwweDA5LDB4MzEsMHgwMiwweGNjLDB4MDAsMHg4MywweDAwLDB4MjAsMHhjMCwweDA4LDB4MzAsMHgwYSwweDEyLDB4MDQgfSB9LAoteyAgMTYsIDB4ZTdkMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhlOCwweDAwLDB4ZGEsMHhhMCwweDMyLDB4YTggfSB9LAoteyAgMTYsIDB4ZTdlMCwgMCwgezB4OGQsMHhhOCwweDAzLDB4M2IsMHgwMCwweGZhLDB4MDAsMHgzZSwweDgwLDB4MGYsMHhlNCwweDAzLDB4NjgsMHgwMCwweGVhLDB4MDIgfSB9LAoteyAgMTYsIDB4ZTdmMCwgMCwgezB4MzYsMHg4MCwweDBmLDB4ZTQsMHgwMywweGU4LDB4MDAsMHhjYSwweDAwLDB4MzIsMHg4MCwweDJjLDB4YTAsMHgwMywweDNhLDB4MDQgfSB9LAoteyAgMTYsIDB4ZTgwMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDEsMHhhMCwweDEwLDB4ZjgsMHgwMCwweGJlLDB4MjAgfSB9LAoteyAgMTYsIDB4ZTgxMCwgMCwgezB4OGYsMHhjMSwweDAzLDB4ZTAsMHgyNCwweGY4LDB4MDAsMHgzZSwweDEwLDB4MGYsMHg4NCwweDAzLDB4ZTAsMHgwMCwweGY4LDB4MDEgfSB9LAoteyAgMTYsIDB4ZTgyMCwgMCwgezB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweGUwLDB4MDAsMHhmOCwweDAxLDB4YmUsMHgxMCwweDBmLDB4ODAsMHgwMywweGQyLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTgzMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhhNCwweDAwLDB4ZjksMHg0MCwweDMyLDB4NDAgfSB9LAoteyAgMTYsIDB4ZTg0MCwgMCwgezB4Y2YsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGM5LDB4MDAsMHgwZSwweDUwLDB4MGYsMHgxYSwweDAzLDB4MjYsMHgwMCwweGY5LDB4MDAgfSB9LAoteyAgMTYsIDB4ZTg1MCwgMCwgezB4M2UsMHg0MCwweDBmLDB4OTAsMHg4MSwweGU0LDB4MDAsMHhmOSwweDgwLDB4MzIsMHg0MCwweDBjLDB4OTAsMHgwMywweGMyLDB4MDQgfSB9LAoteyAgMTYsIDB4ZTg2MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDQsMHg2NCwweDA0LDB4YjEsMHgwNCwweDIyLDB4NDAgfSB9LAoteyAgMTYsIDB4ZTg3MCwgMCwgezB4MGIsMHg5MCwweDAyLDB4ZTQsMHgwMCwweGE5LDB4MDAsMHgyZSwweDUzLDB4MGIsMHg5MiwweDBhLDB4MjYsMHg0OCwweGI5LDB4MDQgfSB9LAoteyAgMTYsIDB4ZTg4MCwgMCwgezB4MmUsMHg0MCwweDBiLDB4OTAsMHgwMiwweGU0LDB4MDAsMHhiOSwweDgwLDB4MDIsMHg1MCwweDA4LDB4OTAsMHgwMiwweGUwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTg5MCwgMCwgezB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDM4LDB4MDUsMHgyNCwweDAwLDB4YmQsMHgwMCwweDIzLDB4NDAgfSB9LAoteyAgMTYsIDB4ZThhMCwgMCwgezB4MGIsMHhkMCwweDEyLDB4YzQsMHgwMCwweDg5LDB4MDIsMHgyZSwweDQwLDB4MGIsMHg5MCwweDIyLDB4MjQsMHgwMCwweGI5LDB4MDAgfSB9LAoteyAgMTYsIDB4ZThiMCwgMCwgezB4MmUsMHg0MCwweDBiLDB4OTAsMHgwMiwweGU0LDB4MDAsMHhiMSwweDIwLDB4MjAsMHg0MCwweDY4LDB4OTAsMHgyMiwweGM2LDB4MDAgfSB9LAoteyAgMTYsIDB4ZThjMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTQsMHgxNCwweDAwLDB4YmYsMHgxMiwweGExLDB4NDAgfSB9LAoteyAgMTYsIDB4ZThkMCwgMCwgezB4MGIsMHg1MCwweDAyLDB4YzQsMHgwMCwweGExLDB4MjAsMHgyYywweDQ4LDB4MGIsMHgxMiwweDAyLDB4MDQsMHgxMCwweGIxLDB4MTEgfSB9LAoteyAgMTYsIDB4ZThlMCwgMCwgezB4MmMsMHg0OCwweDBiLDB4MTMsMHgyMiwweGM0LDB4MDAsMHhiMSwweDQwLDB4MjAsMHg1YSwweDA4LDB4MTAsMHgwMiwweGMyLDB4MDEgfSB9LAoteyAgMTYsIDB4ZThmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MSwweDQwLDB4ZjgsMHg0MCwweDMyLDB4MTQgfSB9LAoteyAgMTYsIDB4ZTkwMCwgMCwgezB4MGYsMHg0NSwweDAzLDB4ZTEsMHg0MCwweGM4LDB4NTAsMHgzZSwweDE1LDB4OGYsMHg4NSwweDAzLDB4MjEsMHhlOCwweGY4LDB4NjggfSB9LAoteyAgMTYsIDB4ZTkxMCwgMCwgezB4M2UsMHgxNCwweDBmLDB4ODQsMHgwMywweGUxLDB4ZTAsMHhmMCwweDI4LDB4MzIsMHhhOCwweGNjLDB4ODAsMHgyMywweGVlLDB4MDMgfSB9LAoteyAgMTYsIDB4ZTkyMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDk4LDB4MTUsMHhjNCwweDEwLDB4ZjksMHgyMCwweDNlLDB4NDAgfSB9LAoteyAgMTYsIDB4ZTkzMCwgMCwgezB4MGYsMHg5MCwweDAzLDB4ZjQsMHgwMCwweGY5LDB4MTAsMHgzZSwweDQ0LDB4MGYsMHhkMSwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MjAgfSB9LAoteyAgMTYsIDB4ZTk0MCwgMCwgezB4M2UsMHg0NCwweDBmLDB4ZDMsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4YmUsMHg0MCwweDBmLDB4OTQsMHgwMywweGU2LDB4MDYgfSB9LAoteyAgMTYsIDB4ZTk1MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MTUsMHhlNCwweDAwLDB4ZmQsMHgxMCwweDMzLDB4NDAgfSB9LAoteyAgMTYsIDB4ZTk2MCwgMCwgezB4MGMsMHhkMCwweDAzLDB4MjQsMHgwMCwweGQ5LDB4MDAsMHgzZiwweDQwLDB4NGMsMHhkMCwweDAzLDB4ZjYsMHgwMCwweGZkLDB4OTAgfSB9LAoteyAgMTYsIDB4ZTk3MCwgMCwgezB4M2EsMHg0MCwweDBjLDB4OTAsMHgwMywweGU2LDB4YTAsMHhmZCwweGE4LDB4MzcsMHg2OCwweDBjLDB4ZDgsMHg4MywweDI2LDB4MDAgfSB9LAoteyAgMTYsIDB4ZTk4MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDM4LDB4MTAsMHhlMCwweDA4LDB4YzgsMHhhMCwweDIyLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTk5MCwgMCwgezB4MDgsMHg4MCwweDAyLDB4MjAsMHgwMCwweDg4LDB4MDAsMHgyZSwweDAwLDB4MGMsMHg4MCwweDEyLDB4ZTAsMHgwMCwweGI4LDB4ODAgfSB9LAoteyAgMTYsIDB4ZTlhMCwgMCwgezB4MjIsMHgwMCwweDBkLDB4MGEsMHgwMiwweGUzLDB4ODAsMHhiMCwweGMwLDB4MjAsMHgzNCwweDA4LDB4ODQsMHgwMywweDRlLDB4MDQgfSB9LAoteyAgMTYsIDB4ZTliMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDAsMHg4NCwweDA5LDB4YTEsMHgwMCwweDIwLDB4NDEgfSB9LAoteyAgMTYsIDB4ZTljMCwgMCwgezB4MDgsMHg5MCwweDAyLDB4MjQsMHgwMCwweDkxLDB4MDAsMHgyYywweDQwLDB4MDgsMHgxMCwweDAyLDB4YzUsMHgwMCwweGIxLDB4NjAgfSB9LAoteyAgMTYsIDB4ZTlkMCwgMCwgezB4MjAsMHg0MCwweDA4LDB4MTAsMHhhMiwweGM0LDB4MjAsMHhiMSwweDI4LDB4MjQsMHg0YSwweDA4LDB4MTAsMHgwMiwweDUyLDB4MDEgfSB9LAoteyAgMTYsIDB4ZTllMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MTQsMHhhNCwweDAxLDB4ODEsMHgwMCwweGEyLDB4NDAgfSB9LAoteyAgMTYsIDB4ZTlmMCwgMCwgezB4YTgsMHg5MCwweDAwLDB4MjUsMHg0MCwweDg5LDB4MDEsMHgyYywweDQwLDB4MDgsMHg5NCwweDAyLDB4ZTQsMHgwMCwweGI5LDB4MDAgfSB9LAoteyAgMTYsIDB4ZWEwMCwgMCwgezB4MmEsMHg0MCwweDA5LDB4OTAsMHgwMiwweGU0LDB4MDEsMHhiOSwweDA0LDB4MjIsMHg0MSwweDQ4LDB4OTAsMHgwMiwweDQ2LDB4MDQgfSB9LAoteyAgMTYsIDB4ZWExMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTQsMHhhNSwweDIwLDB4ZTksMHgwMCwweDMyLDB4NDAgfSB9LAoteyAgMTYsIDB4ZWEyMCwgMCwgezB4NGMsMHgxMCwweDBiLDB4MjYsMHgwMCwweGQ5LDB4MDAsMHgzZSwweDQwLDB4MmMsMHg5OCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAgfSB9LAoteyAgMTYsIDB4ZWEzMCwgMCwgezB4YjIsMHg0MCwweDBjLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4MzYsMHg0MCwweDJjLDB4OTAsMHgwMywweDY4LDB4MDQgfSB9LAoteyAgMTYsIDB4ZWE0MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDEsMHhhNCwweDAwLDB4ZTksMHgwMCwweDNlLDB4NDAgfSB9LAoteyAgMTYsIDB4ZWE1MCwgMCwgezB4MGYsMHg5MCwweDAzLDB4ZTYsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQwLDB4MGUsMHg5YSwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAgfSB9LAoteyAgMTYsIDB4ZWE2MCwgMCwgezB4MzYsMHg0MCwweDBmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4M2MsMHg0MCwweDBmLDB4OTAsMHgwMywweGRhLDB4MDAgfSB9LAoteyAgMTYsIDB4ZWE3MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhhMSwweDAwLDB4ZjgsMHgwMCwweDMyLDB4MDAgfSB9LAoteyAgMTYsIDB4ZWE4MCwgMCwgezB4MGYsMHg4MCwweDEzLDB4YTAsMHgwMCwweGM4LDB4MDAsMHgzMiwweDA0LDB4OGMsMHg4MCwweDAzLDB4YTAsMHhjMCwweGY4LDB4MDAgfSB9LAoteyAgMTYsIDB4ZWE5MCwgMCwgezB4M2EsMHgwMCwweDBmLDB4ODAsMHgwMywweDIwLDB4MDAsMHhjMCwweDA5LDB4MzIsMHgwMCwweDRjLDB4ODAsMHgwMSwweDBhLDB4MDQgfSB9LAoteyAgMTYsIDB4ZWFhMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHgyOCwweDAwLDB4YmUsMHgwMCwweDIwLDB4ODAgfSB9LAoteyAgMTYsIDB4ZWFiMCwgMCwgezB4MGIsMHhlMCwweDAyLDB4ODgsMHgwMCwweGFhLDB4MDAsMHgwMywweGEwLDB4MGEsMHhlNiwweDAyLDB4ZmEsMHgwMCwweDhhLDB4MDAgfSB9LAoteyAgMTYsIDB4ZWFjMCwgMCwgezB4MzIsMHg4MCwweDBiLDB4YTAsMHgwMiwweDI4LDB4MDAsMHg4ZSwweDgwLDB4YTMsMHg4MCwweDI4LDB4MjAsMHgwMiwweDhhLDB4MDAgfSB9LAoteyAgMTYsIDB4ZWFkMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg2YywweDAwLDB4YjMsMHg0OCwweDIwLDB4NDAgfSB9LAoteyAgMTYsIDB4ZWFlMCwgMCwgezB4MGIsMHgxMCwweDAyLDB4MGMsMHgwMCwweDgzLDB4MDAsMHgyMCwweGMwLDB4MDgsMHgzNCwweDgyLDB4OGUsMHgwNCwweDk5LDB4MDAgfSB9LAoteyAgMTYsIDB4ZWFmMCwgMCwgezB4MGEsMHhjMCwweDFiLDB4MzAsMHgwMiwweDBjLDB4MDIsMHg5MCwweDUwLDB4MjAsMHg2MCwweDA4LDB4MzAsMHgwMiwweDBhLDB4MDAgfSB9LAoteyAgMTYsIDB4ZWIwMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MTEsMHgxYywweDgwLDB4YmQsMHgwYSwweDIxLDB4NDggfSB9LAoteyAgMTYsIDB4ZWIxMCwgMCwgezB4MGIsMHg1MiwweDAyLDB4OWMsMHg0MCwweGEzLDB4YTAsMHgyMCwweDgwLDB4MGEsMHg2MCwweDAyLDB4Y2UsMHgwMCwweDg1LDB4MjAgfSB9LAoteyAgMTYsIDB4ZWIyMCwgMCwgezB4MjEsMHhjNCwweDBiLDB4N2EsMHgwNiwweDFlLDB4ODAsMHg5NSwweDIwLDB4MjEsMHg5MCwweDA4LDB4NzAsMHgwMiwweDI4LDB4MDAgfSB9LAoteyAgMTYsIDB4ZWIzMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDgsMHgxZSwweDgwLDB4ZjcsMHg4MCwweGIxLDB4NzkgfSB9LAoteyAgMTYsIDB4ZWI0MCwgMCwgezB4MGYsMHhkYiwweDAyLDB4M2UsMHgyMCwweGM3LDB4YTAsMHhiMSwweDYwLDB4Y2MsMHg3OCwweDEzLDB4OTYsMHgwMCwweGYxLDB4ZjAgfSB9LAoteyAgMTYsIDB4ZWI1MCwgMCwgezB4MzksMHhlMiwweDBmLDB4N2IsMHgxMywweDBmLDB4MDAsMHhkNCwweGEwLDB4MzEsMHg2MCwweDJjLDB4NzAsMHgwMywweDJhLDB4MDIgfSB9LAoteyAgMTYsIDB4ZWI2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTUsMHhhYywweDAwLDB4ZjcsMHgwMCwweDNlLDB4NDAgfSB9LAoteyAgMTYsIDB4ZWI3MCwgMCwgezB4MGYsMHg5MCwweDAzLDB4ZWQsMHg4MCwweGZiLDB4MTAsMHgzZSwweDQwLDB4MGIsMHhiMCwweDIzLDB4ZWMsMHgwMCwweGY5LDB4MjAgfSB9LAoteyAgMTYsIDB4ZWI4MCwgMCwgezB4M2EsMHhkOCwweDBmLDB4YjAsMHgwYiwweGVkLDB4ODEsMHhlZCwweDEwLDB4M2UsMHg4MCwweDBmLDB4MzAsMHgwMywweGMyLDB4MDYgfSB9LAoteyAgMTYsIDB4ZWI5MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDQsMHhiZSwweDIwLDB4ZWUsMHg4MCwweDMzLDB4NjAgfSB9LAoteyAgMTYsIDB4ZWJhMCwgMCwgezB4MGMsMHhkOCwweDgzLDB4MWUsMHgwMCwweDZmLDB4ODAsMHgzMywweGUwLDB4MGYsMHhiOCwweDExLDB4MzIsMHgwNCwweGY1LDB4ODAgfSB9LAoteyAgMTYsIDB4ZWJiMCwgMCwgezB4MzMsMHhlMCwweDBmLDB4ZjgsMHg4MywweDJmLDB4NDAsMHhmZSwweDgwLDB4YjMsMHhlMCwweDBjLDB4ZjgsMHgwMywweDEwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZWJjMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTgsMHg5YywweDAwLDB4YmMsMHgwMCwweGExLDB4NDQgfSB9LAoteyAgMTYsIDB4ZWJkMCwgMCwgezB4MDgsMHgxMCwweDAzLDB4NWMsMHgwMCwweDhmLDB4MDAsMHgyMSwweDgwLDB4MGIsMHhlYSwweDIyLDB4MWMsMHg4MCwweGI1LDB4MDEgfSB9LAoteyAgMTYsIDB4ZWJlMCwgMCwgezB4MjEsMHhjMCwweDBiLDB4ZjAsMHgwMiwweDFlLDB4ODAsMHhiZSwweDAwLDB4MjMsMHg4MCwweDJhLDB4NzAsMHgwMiwweDJhLDB4MDQgfSB9LAoteyAgMTYsIDB4ZWJmMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5YywweDIwLDB4YTcsMHgwMCwweDIzLDB4NDAgfSB9LAoteyAgMTYsIDB4ZWMwMCwgMCwgezB4MGIsMHg1MCwweDBhLDB4M2MsMHgwMCwweGE3LDB4MDAsMHgyNSwweGMwLDB4MGEsMHg0MywweDAyLDB4MTAsMHgwMCwweGI1LDB4MDAgfSB9LAoteyAgMTYsIDB4ZWMxMCwgMCwgezB4MjEsMHhjMCwweDBiLDB4NzAsMHg4MiwweDFjLDB4ODAsMHhiNCwweDAwLDB4MjEsMHhjMCwweDA4LDB4NzAsMHgwMiwweDA0LDB4MDAgfSB9LAoteyAgMTYsIDB4ZWMyMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIwLDB4MDQsMHg4ZSwweDA0LDB4YjMsMHgwMCwweDIyLDB4NDAgfSB9LAoteyAgMTYsIDB4ZWMzMCwgMCwgezB4MDksMHgxNCwweDAyLDB4NGMsMHgwMCwweDgzLDB4MDAsMHgyMCwweGMwLDB4MGIsMHgyNCwweDgyLDB4MDQsMHgwMCwweGIxLDB4MDAgfSB9LAoteyAgMTYsIDB4ZWM0MCwgMCwgezB4MjAsMHhjMCwweDhiLDB4M2EsMHgwMiwweDJjLDB4MDEsMHhiMCwweDAwLDB4MjAsMHg4MCwweDBhLDB4MzAsMHgwMiwweDFhLDB4MDQgfSB9LAoteyAgMTYsIDB4ZWM1MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHg5ZSwweDAwLDB4ZWIsMHgwNCwweDMzLDB4NDAgfSB9LAoteyAgMTYsIDB4ZWM2MCwgMCwgezB4MmQsMHhkYywweDAzLDB4MWQsMHg2MCwweGVmLDB4MDAsMHgzMiwweDAwLDB4Y2YsMHg5YSwweDAzLDB4MjgsMHgwMCwweGZkLDB4MDAgfSB9LAoteyAgMTYsIDB4ZWM3MCwgMCwgezB4MzMsMHhjMSwweDhiLDB4ZmMsMHgwYiwweDNjLDB4MDAsMHhmYywweDAwLDB4MzIsMHg4MCwweDBjLDB4OTAsMHgwMywweDJhLDB4MDQgfSB9LAoteyAgMTYsIDB4ZWM4MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDAsMHhhYywweDEwLDB4ZjgsMHgwMCwweDNlLDB4NDAgfSB9LAoteyAgMTYsIDB4ZWM5MCwgMCwgezB4MGUsMHg5OCwweDIzLDB4YWMsMHgwNCwweGZiLDB4MDAsMHgzYywweDAwLDB4MGYsMHg4NCwweDIwLDB4ZWQsMHgwMCwweGY5LDB4MDAgfSB9LAoteyAgMTYsIDB4ZWNhMCwgMCwgezB4M2UsMHhjMCwweDRmLDB4YjAsMHgwMywweGVjLDB4MDAsMHhmZCwweDAwLDB4M2UsMHg4MCwweDBmLDB4OTAsMHgwMywweGU0LDB4MDAgfSB9LAoteyAgMTYsIDB4ZWNiMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIxLDB4MTAsMHhmYywweDAwLDB4Y2YsMHg4MCwweDMzLDB4NDAgfSB9LAoteyAgMTYsIDB4ZWNjMCwgMCwgezB4MGMsMHhkMCwweDgzLDB4ZmMsMHgwMCwweGVmLDB4MDAsMHgzZiwweDQwLDB4MGMsMHhmMSwweDQxLDB4MzAsMHgxMCwweGNkLDB4MDAgfSB9LAoteyAgMTYsIDB4ZWNkMCwgMCwgezB4M2YsMHhjMCwweDAwLDB4NzAsMHgxMywweDNjLDB4MDAsMHhlNCwweDAwLDB4YjEsMHhkMCwweDBjLDB4MTAsMHgwMywweDIwLDB4MDQgfSB9LAoteyAgMTYsIDB4ZWNlMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGExLDB4MDQsMHgyYywweDAwLDB4OGEsMHhlNCwweDJhLDB4NDAgfSB9LAoteyAgMTYsIDB4ZWNmMCwgMCwgezB4MjgsMHg5MCwweDAyLDB4ZWMsMHgwMCwweDhiLDB4MDAsMHgzZSwweDAyLDB4MGEsMHg4MCwweDAyLDB4MmMsMHg4MiwweDg5LDB4MDQgfSB9LAoteyAgMTYsIDB4ZWQwMCwgMCwgezB4MmUsMHhjMSwweDBhLDB4YjAsMHgwYSwweDJjLDB4MDAsMHg4OSwweDAyLDB4MjIsMHhmMiwweDJhLDB4OTgsMHgwMiwweDIwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZWQxMCwgMCwgezB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAyLDB4ODAsMHgxNCwweDJhLDB4NDAgfSB9LAoteyAgMTYsIDB4ZWQyMCwgMCwgezB4MDgsMHg5MCwweDAyLDB4ZWMsMHgwOCwweGFiLDB4MDQsMHgyZSwweDg0LDB4MDgsMHgxMCwweDgyLDB4ODAsMHgxMCwweDg5LDB4MDMgfSB9LAoteyAgMTYsIDB4ZWQzMCwgMCwgezB4MmMsMHhjMCwweDRhLDB4YjAsMHgyMiwweDJjLDB4MDAsMHhhYSwweDAwLDB4MjIsMHg4MCwweDA4LDB4OTEsMHgwMiwweDIwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZWQ0MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTQsMHgyYywweDAwLDB4ODAsMHgwMCwweDI4LDB4NDAgfSB9LAoteyAgMTYsIDB4ZWQ1MCwgMCwgezB4MDgsMHgxMSwweDAyLDB4ZWMsMHgwMCwweDgzLDB4MDAsMHgyYywweDgxLDB4MGEsMHgwMCwweDVhLDB4ODgsMHgwMCwweDAxLDB4MDAgfSB9LAoteyAgMTYsIDB4ZWQ2MCwgMCwgezB4MmMsMHhjMCwweDBhLDB4MzAsMHgwMiwweDBjLDB4MDAsMHg4MiwweDAwLDB4MjAsMHg4MCwweDBhLDB4MTAsMHgwMiwweDAyLDB4MDEgfSB9LAoteyAgMTYsIDB4ZWQ3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2YywweDAwLDB4YzksMHgwMCwweDNhLDB4NDAgfSB9LAoteyAgMTYsIDB4ZWQ4MCwgMCwgezB4MGMsMHhkNCwweDAzLDB4ZmMsMHgwMCwweGViLDB4MDAsMHgzZSwweDQwLDB4MGMsMHg5MiwweDAzLDB4YTAsMHgwMCwweDRkLDB4MDAgfSB9LAoteyAgMTYsIDB4ZWQ5MCwgMCwgezB4M2YsMHhjMCwweDBlLDB4ZjAsMHgzMywweDNjLDB4ODAsMHhlOCwweDAwLDB4MzIsMHhjMCwweDBjLDB4OTAsMHgwMywweDIwLDB4MDMgfSB9LAoteyAgMTYsIDB4ZWRhMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTEsMHhmYywweDAwLDB4ZmMsMHgwMCwweDNkLDB4NDAgfSB9LAoteyAgMTYsIDB4ZWRiMCwgMCwgezB4MGYsMHg1MCwweDAzLDB4ZmMsMHgwMiwweDNmLDB4MDQsMHgzYiwweDAxLDB4NGYsMHhjNCwweDEzLDB4NzAsMHgwMCwweGZkLDB4MDAgfSB9LAoteyAgMTYsIDB4ZWRjMCwgMCwgezB4M2YsMHhjMCwweDFmLDB4ZjAsMHgwMSwweGZjLDB4NDAsMHhmYywweDAwLDB4M2YsMHhjMCwweDBmLDB4ZDAsMHgxMywweGU4LDB4MDYgfSB9LAoteyAgMTYsIDB4ZWRkMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmOCwweGUwLDB4ZmYsMHg4MCwweDNkLDB4YzAgfSB9LAoteyAgMTYsIDB4ZWRlMCwgMCwgezB4MGQsMHhmMywweDgyLDB4ZjAsMHg4MCwweGZmLDB4NDAsMHgzMSwweGNiLDB4MGMsMHhmMywweDAzLDB4ZmQsMHgwNCwweGVmLDB4YzEgfSB9LAoteyAgMTYsIDB4ZWRmMCwgMCwgezB4MzMsMHhlMCwweDBmLDB4NzksMHgwMywweGZlLDB4MDAsMHhjZiwweDQyLDB4MzMsMHhmMCwweDRjLDB4ZjgsMHgwMywweDMwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZWUwMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MTAsMHhlOSwweDA4LDB4YjksMHg4MSwweDJmLDB4ZjAgfSB9LAoteyAgMTYsIDB4ZWUxMCwgMCwgezB4MDgsMHhmNCwweDUyLDB4ZTksMHgyMCwweGJmLDB4NDAsMHgyMywweGYwLDB4MGEsMHhmMywweDAyLDB4ZmQsMHgwOCwweDhiLDB4MDAgfSB9LAoteyAgMTYsIDB4ZWUyMCwgMCwgezB4MzYsMHhlMCwweDBiLDB4ODAsMHgyMiwweGU4LDB4ODAsMHg4ZiwweDQwLDB4MjIsMHhjMCwweDA4LDB4YjAsMHg4MiwweDMwLDB4MDQgfSB9LAoteyAgMTYsIDB4ZWUzMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM4LDB4MDUsMHhjYywweDAwLDB4YjEsMHg4MCwweDJjLDB4YzUgfSB9LAoteyAgMTYsIDB4ZWU0MCwgMCwgezB4MDksMHgzMiwweDQyLDB4YzgsMHhjMCwweGIzLDB4MzEsMHgyMCwweGMxLDB4MDgsMHgzMiwweDAyLDB4Y2MsMHhkNCwweGJiLDB4MjAgfSB9LAoteyAgMTYsIDB4ZWU1MCwgMCwgezB4NjgsMHhjMCwweDBiLDB4MzAsMHgwMiwweGNjLDB4MjAsMHg5MywweDYwLDB4MjAsMHg4OCwweDA4LDB4MzIsMHgwMiwweDMyLDB4MDEgfSB9LAoteyAgMTYsIDB4ZWU2MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MTUsMHhhMCwweDAwLDB4YmIsMHg4MCwweDJlLDB4YzAgfSB9LAoteyAgMTYsIDB4ZWU3MCwgMCwgezB4MDgsMHhiMCwweDAyLDB4ZWEsMHgwMCwweGJiLDB4MDAsMHg2MiwweGMxLDB4MGEsMHhiMCwweDAyLDB4Y2MsMHgwMCwweGFiLDB4MDAgfSB9LAoteyAgMTYsIDB4ZWU4MCwgMCwgezB4MmUsMHhjMCwweDBiLDB4YTAsMHgwMCwweGU4LDB4MDAsMHg4MywweDAwLDB4MjIsMHhjMSwweDA4LDB4MzAsMHgwMiwweDMwLDB4MDQgfSB9LAoteyAgMTYsIDB4ZWU5MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTUsMHhlOCwweDkwLDB4ZmIsMHg4MCwweDNlLDB4YzAgfSB9LAoteyAgMTYsIDB4ZWVhMCwgMCwgezB4MGQsMHhiMCwweDAzLDB4ZTIsMHgxMCwweGZiLDB4MDAsMHgzMiwweGMwLDB4NGMsMHhiMCwweDEzLDB4ZWMsMHgwMCwweGU5LDB4NTQgfSB9LAoteyAgMTYsIDB4ZWViMCwgMCwgezB4M2EsMHhjMCwweDBmLDB4YjAsMHgwMywweGU2LDB4MDAsMHhjYiwweDAwLDB4YjIsMHg0MCwweDBjLDB4YjAsMHgwMywweDA0LDB4MDQgfSB9LAoteyAgMTYsIDB4ZWVjMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDEsMHhiOCwweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzAgfSB9LAoteyAgMTYsIDB4ZWVkMCwgMCwgezB4OGYsMHhmMCwweDAzLDB4ZjAsMHgwMCwweGY3LDB4MDIsMHhiZiwweGMxLDB4MGYsMHhmMCwweDIzLDB4ZmMsMHgwMCwweGRmLDB4MDYgfSB9LAoteyAgMTYsIDB4ZWVlMCwgMCwgezB4MzcsMHhjMCwweDhmLDB4YzksMHgwNywweGZhLDB4OTIsMHhmZiwweDA0LDB4M2YsMHg1MCwweDJmLDB4ZjAsMHgwMywweGY4LDB4MDAgfSB9LAoteyAgMTYsIDB4ZWVmMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDUwLDB4MTAsMHhhYywweDAwLDB4YzksMHgwMCwweDNlLDB4YzIgfSB9LAoteyAgMTYsIDB4ZWYwMCwgMCwgezB4MGUsMHhiMCwweDIzLDB4ZTQsMHgwMCwweGViLDB4MDAsMHgzYSwweGM4LDB4MGUsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGY5LDB4MDAgfSB9LAoteyAgMTYsIDB4ZWYxMCwgMCwgezB4M2UsMHhjMCwweDBmLDB4YjQsMHgwMywweGE0LDB4MDAsMHhmYiwweDAwLDB4M2UsMHg4MCwweDBmLDB4YjAsMHg4MywweGQwLDB4MDQgfSB9LAoteyAgMTYsIDB4ZWYyMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM4LDB4MDUsMHgyOCwweDAwLDB4OGIsMHg3NCwweDJkLDB4YzAgfSB9LAoteyAgMTYsIDB4ZWYzMCwgMCwgezB4MDgsMHhmMCwweDAyLDB4ZTQsMHgwMCwweDhmLDB4MDAsMHgyMSwweGYwLDB4MDgsMHhmMCwweDAyLDB4ZmMsMHgxMCwweGQzLDB4MDAgfSB9LAoteyAgMTYsIDB4ZWY0MCwgMCwgezB4MmUsMHhjMCwweDBiLDB4OTAsMHgxMiwweDJjLDB4MDAsMHhlZiwweDAwLDB4MmUsMHhjMCwweDBiLDB4YjYsMHgwMiwweGY2LDB4MDAgfSB9LAoteyAgMTYsIDB4ZWY1MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MDUsMHg0OCwweDAwLDB4YTMsMHgwMCwweDJjLDB4YzQgfSB9LAoteyAgMTYsIDB4ZWY2MCwgMCwgezB4MGEsMHgzMCwweDAyLDB4YzAsMHgwMCwweGEzLDB4MDAsMHg2OCwweGYwLDB4MGEsMHgzMCwweDEyLDB4Y2MsMHgwNCwweGEyLDB4MDAgfSB9LAoteyAgMTYsIDB4ZWY3MCwgMCwgezB4MmMsMHhjMCwweDBiLDB4MzAsMHgwMiwweGVjLDB4MDAsMHhiMywweDAxLDB4MmUsMHhjMCwweDBiLDB4MzQsMHgwMiwweGY4LDB4MDAgfSB9LAoteyAgMTYsIDB4ZWY4MCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGIwLDB4MDEsMHgwYywweDAwLDB4ODcsMHg4MCwweDJkLDB4ZTggfSB9LAoteyAgMTYsIDB4ZWY5MCwgMCwgezB4MDgsMHg3OCwweDQyLDB4ZGEsMHgwMCwweDg3LDB4ODAsMHgyNSwweGUwLDB4MDgsMHg3OSwweDAyLDB4Y2UsMHgwMCwweDk2LDB4ODAgfSB9LAoteyAgMTYsIDB4ZWZhMCwgMCwgezB4MmQsMHhlMCwweDBiLDB4ZDksMHgwMiwweGRlLDB4MDAsMHhhNywweDgwLDB4MmQsMHhlMCwweDBiLDB4NzgsMHgwMiwweGZjLDB4MDAgfSB9LAoteyAgMTYsIDB4ZWZiMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDQwLDB4ZTMsMHgxMCwweDNjLDB4YzAgfSB9LAoteyAgMTYsIDB4ZWZjMCwgMCwgezB4MGEsMHgzOCwweDAzLDB4ZTgsMHgwMCwweGViLDB4MDAsMHgzOCwweGMyLDB4MGEsMHgzMCwweDAzLDB4Y2MsMHgwMCwweGUzLDB4NDAgfSB9LAoteyAgMTYsIDB4ZWZkMCwgMCwgezB4M2MsMHhjMCwweDBmLDB4MzQsMHgwMywweGNkLDB4MDAsMHhmMywweDIwLDB4M2MsMHg4OCwweDBmLDB4MzAsMHgwMywweGQyLDB4MDIgfSB9LAoteyAgMTYsIDB4ZWZlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MWQsMHhiNCwweDgwLDB4ZmYsMHgwNCwweDNmLDB4YzggfSB9LAoteyAgMTYsIDB4ZWZmMCwgMCwgezB4MGYsMHhmMCwweDgzLDB4ZjgsMHg0MCwweGZmLDB4MTgsMHgzYiwweGMwLDB4MGYsMHhmNCwweDgzLDB4ZmMsMHgwMCwweGVlLDB4MDIgfSB9LAoteyAgMTYsIDB4ZjAwMCwgMCwgezB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweDNjLDB4MDAsMHhlZiwweDA4LDB4M2YsMHg4MCwweDBmLDB4ZjAsMHgxMywweGQwLDB4MDYgfSB9LAoteyAgMTYsIDB4ZjAxMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhlOCwweDAwLDB4Y2IsMHgwMCwweDNlLDB4ZjIgfSB9LAoteyAgMTYsIDB4ZjAyMCwgMCwgezB4NGQsMHhiMiwweDEzLDB4ZTgsMHgwNCwweGNiLDB4MDEsMHgzMiwweGY4LDB4NGQsMHhiMiwweDEzLDB4NmQsMHgyMCwweGY4LDB4MDAgfSB9LAoteyAgMTYsIDB4ZjAzMCwgMCwgezB4M2UsMHhjMCwweDBmLDB4MzAsMHgwMywweDI0LDB4MDAsMHhmYiwweDAwLDB4M2UsMHg0MCwweDhmLDB4YjgsMHgwMywweDJhLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjA0MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM4LDB4MTEsMHg4YywweDAwLDB4ODYsMHgwMCwweDJjLDB4YzAgfSB9LAoteyAgMTYsIDB4ZjA1MCwgMCwgezB4MDgsMHg3MywweDAyLDB4ZDgsMHgxMiwweDg3LDB4MzAsMHgyMCwweGNiLDB4MDgsMHhmMiwweDAyLDB4MWQsMHgwNSwweGI1LDB4MDAgfSB9LAoteyAgMTYsIDB4ZjA2MCwgMCwgezB4MmQsMHhjMCwweDBiLDB4NjAsMHgwMywweDUwLDB4MTAsMHhiNywweDA5LDB4MmQsMHhjMCwweDBiLDB4ZjAsMHgwMiwweDMyLDB4MDQgfSB9LAoteyAgMTYsIDB4ZjA3MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDAsMHg5ZSwweDAwLDB4ODcsMHg4MCwweDJkLDB4ZTQgfSB9LAoteyAgMTYsIDB4ZjA4MCwgMCwgezB4MDksMHg3YSwweDAyLDB4Y2UsMHgwMSwweDg3LDB4ODAsMHgyMSwweGVjLDB4MDksMHg3OCwweDAyLDB4NWUsMHg4MCwweGI3LDB4YzAgfSB9LAoteyAgMTYsIDB4ZjA5MCwgMCwgezB4MmQsMHhlMCwweDBiLDB4ZjgsMHgwMiwweDFlLDB4MDAsMHhiNywweGEwLDB4MmQsMHg2MCwweDBiLDB4NzgsMHgwMiwweDIwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjBhMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MTQsMHhlZSwweDAwLDB4ODIsMHg4MCwweDJjLDB4YzAgfSB9LAoteyAgMTYsIDB4ZjBiMCwgMCwgezB4MDgsMHgzMCwweDAyLDB4ZWMsMHgwMCwweDgzLDB4MDAsMHhhMCwweGMwLDB4MDgsMHgzMCwweDAyLDB4MGMsMHgwMCwweGIzLDB4ODAgfSB9LAoteyAgMTYsIDB4ZjBjMCwgMCwgezB4MmMsMHhjMSwweDBiLDB4MzAsMHgwMiwweDRlLDB4MDAsMHhiMywweDAwLDB4MmMsMHhmMSwweDBiLDB4MzAsMHgwYSwweDEyLDB4MDQgfSB9LAoteyAgMTYsIDB4ZjBkMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhiYSwweDgwLDB4YzYsMHgwMCwweDNlLDB4ODAgfSB9LAoteyAgMTYsIDB4ZjBlMCwgMCwgezB4MGQsMHhhMCwweDAzLDB4ZjgsMHg0MCwweGNhLDB4MDAsMHgzMiwweDgwLDB4MGQsMHhhMCwweDEzLDB4NjgsMHgwMCwweGZlLDB4MDIgfSB9LAoteyAgMTYsIDB4ZjBmMCwgMCwgezB4N2UsMHg4MCwweDBmLDB4ZWQsMHg4MywweDM5LDB4MTAsMHhmYSwweDAwLDB4M2YsMHg4YywweDBmLDB4YTAsMHgwMywweDNhLDB4MDQgfSB9LAoteyAgMTYsIDB4ZjEwMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDAsMHhlMCwweDEyLDB4ZjgsMHg5MCwweDNlLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjExMCwgMCwgezB4MGYsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGY4LDB4MDUsMHgzZSwweDAwLDB4MGUsMHgwMCwweDAzLDB4ZTAsMHgwMCwweGY4LDB4ODAgfSB9LAoteyAgMTYsIDB4ZjEyMCwgMCwgezB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweGUwLDB4NjAsMHhmOCwweDAwLDB4N2UsMHgwMCwweDBmLDB4ODAsMHgwMywweGQyLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjEzMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDAwLDB4YzksMHg4MCwweDMyLDB4NjQgfSB9LAoteyAgMTYsIDB4ZjE0MCwgMCwgezB4MGYsMHg5MCwweDQzLDB4ZTQsMHgwNiwweGMxLDB4MDQsMHgzYSwweDQwLDB4MGYsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGU5LDB4MDAgfSB9LAoteyAgMTYsIDB4ZjE1MCwgMCwgezB4MzIsMHg0MCwweDBmLDB4OTAsMHgwMywweDI0LDB4MDAsMHhjMSwweDAxLDB4MzIsMHg0MCwweDBjLDB4OTAsMHgwMywweGMyLDB4MDQgfSB9LAoteyAgMTYsIDB4ZjE2MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDQsMHg2NCwweDAwLDB4ODksMHhjMCwweDIyLDB4NDAgfSB9LAoteyAgMTYsIDB4ZjE3MCwgMCwgezB4MGIsMHg5MCwweDAyLDB4MjQsMHgwMCwweDg5LDB4MDAsMHgyMiwweDUwLDB4MWIsMHg5MCwweDIyLDB4MjQsMHgwMCwweDgxLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjE4MCwgMCwgezB4MjIsMHg0MCwweDBiLDB4OTAsMHgyMiwweDI0LDB4MDgsMHhjOSwweDAwLDB4MjAsMHg0MCwweDA4LDB4OTQsMHgwMiwweGUwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjE5MCwgMCwgezB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDAwLDB4OTksMHgyMCwweDIyLDB4NDAgfSB9LAoteyAgMTYsIDB4ZjFhMCwgMCwgezB4MGIsMHgxMCwweDAyLDB4YTQsMHgwMCwweDg5LDB4MDAsMHgyYSwweDU4LDB4MGIsMHg5MCwweDAyLDB4ODQsMHgwMCwweGE5LDB4MDAgfSB9LAoteyAgMTYsIDB4ZjFiMCwgMCwgezB4MjIsMHg0MCwweDBiLDB4MTAsMHgwYSwweDA0LDB4MDAsMHg5OSwweDAyLDB4MjIsMHhjMSwweDA4LDB4OTAsMHg4MiwweGM2LDB4MDAgfSB9LAoteyAgMTYsIDB4ZjFjMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDQsMHgwNCwweDAwLDB4OTEsMHgwMiwweGEwLDB4YzggfSB9LAoteyAgMTYsIDB4ZjFkMCwgMCwgezB4MGIsMHgxMiwweDAyLDB4MDQsMHg4MCwweDgxLDB4MjIsMHgyMCwweDQ4LDB4OWIsMHgxMiwweDAyLDB4MDQsMHg5MCwweDg5LDB4MDEgfSB9LAoteyAgMTYsIDB4ZjFlMCwgMCwgezB4MjAsMHg0MCwweDBiLDB4MTAsMHgwMiwweDA0LDB4MDIsMHg4MSwweDIyLDB4MjIsMHg0MCwweDA4LDB4MTAsMHgwMiwweGMyLDB4MDEgfSB9LAoteyAgMTYsIDB4ZjFmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MSwweDQyLDB4ZGEsMHgwMSwweDMyLDB4MDEgfSB9LAoteyAgMTYsIDB4ZjIwMCwgMCwgezB4MGYsMHg4NSwweDAzLDB4YTEsMHg0MCwweGMwLDB4NTAsMHgzYSwweDAxLDB4OGIsMHg4NSwweDIzLDB4YTEsMHg0NCwweGU4LDB4NTAgfSB9LAoteyAgMTYsIDB4ZjIxMCwgMCwgezB4YjIsMHgwMCwweDBmLDB4ODUsMHgwMywweDIxLDB4NDgsMHhkOCwweDUxLDB4MzIsMHgxNCwweDJjLDB4ODUsMHgwMywweGVlLDB4MDMgfSB9LAoteyAgMTYsIDB4ZjIyMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDk4LDB4MWQsMHhmNSwweDAwLDB4ZWQsMHgwMiwweDNlLDB4NDQgfSB9LAoteyAgMTYsIDB4ZjIzMCwgMCwgezB4MGYsMHg5MSwweDAzLDB4ZjQsMHg0MCwweGY5LDB4MTAsMHgzZSwweDQ0LDB4MGYsMHg5MSwweDAzLDB4ZTQsMHg0MCwweGZkLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjI0MCwgMCwgezB4M2UsMHg0MCwweDBmLDB4ZDAsMHgwMywweGY0LDB4MDAsMHhlOSwweDEwLDB4YmYsMHg0MCwweDBmLDB4OTAsMHgwMywweDY2LDB4MDYgfSB9LAoteyAgMTYsIDB4ZjI1MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhlNiwweDIxLDB4YzUsMHgwMCwweDMzLDB4NjggfSB9LAoteyAgMTYsIDB4ZjI2MCwgMCwgezB4MGYsMHg5YSwweDAzLDB4NmYsMHg4OCwweGM5LDB4YzAsMHgzMywweDY4LDB4MGMsMHg5ZSwweDAzLDB4MjcsMHg4MCwweGQ5LDB4NDAgfSB9LAoteyAgMTYsIDB4ZjI3MCwgMCwgezB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGM1LDB4MTAsMHhkOSwweGU4LDB4MzYsMHg1MCwweDBjLDB4ZDAsMHgwMywweGU2LDB4MDAgfSB9LAoteyAgMTYsIDB4ZjI4MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDM4LDB4MTAsMHhlMSwweDA4LDB4ODgsMHgwMCwweDgyLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjI5MCwgMCwgezB4MGIsMHg4ZSwweDgyLDB4ZWIsMHhjOCwweDg4LDB4ZTAsMHgyMiwweDAwLDB4MjgsMHg4OCwweDQyLDB4YTIsMHg4MCwweDhhLDB4ODAgfSB9LAoteyAgMTYsIDB4ZjJhMCwgMCwgezB4MjIsMHgwMCwweDBiLDB4YWEsMHgwMiwweGUyLDB4MDAsMHg4OCwweGMwLDB4MjIsMHhhOSwweDA4LDB4OGEsMHgwMywweDhlLDB4MDQgfSB9LAoteyAgMTYsIDB4ZjJiMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDUsMHhjNCwweDAwLDB4ODEsMHgwMCwweDIwLDB4ZDAgfSB9LAoteyAgMTYsIDB4ZjJjMCwgMCwgezB4MGIsMHgxMSwweDMyLDB4ODQsMHg4NCwweDgxLDB4NjAsMHg2MCwweDUwLDB4MDgsMHgxNiwweDA2LDB4MDUsMHgwMCwweDkxLDB4MjAgfSB9LAoteyAgMTYsIDB4ZjJkMCwgMCwgezB4MjAsMHg0MCwweDBiLDB4MTAsMHg4MiwweGU0LDB4MDksMHg5MSwweDIwLDB4MjQsMHg0MCwweDA4LDB4MTAsMHhjMiwweGQyLDB4MDEgfSB9LAoteyAgMTYsIDB4ZjJlMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MTUsMHhhNCwweDA0LDB4ODksMHgwNCwweDIyLDB4NDAgfSB9LAoteyAgMTYsIDB4ZjJmMCwgMCwgezB4MGIsMHg5MCwweDAyLDB4YzQsMHgwMCwweGE5LDB4MDAsMHgyMiwweDQxLDB4MDAsMHg5MCwweDAyLDB4YTQsMHgwMCwweDgxLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjMwMCwgMCwgezB4MjIsMHg0MCwweDBiLDB4OTIsMHgyMiwweGU1LDB4ODAsMHg5OSwweDAxLDB4MjIsMHg2MSwweDA4LDB4OTAsMHgwMiwweDg2LDB4MDQgfSB9LAoteyAgMTYsIDB4ZjMxMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTQsMHhhNSwweDgyLDB4ODEsMHg5MCwweDMyLDB4NDAgfSB9LAoteyAgMTYsIDB4ZjMyMCwgMCwgezB4MGYsMHg5MCwweDEzLDB4NjcsMHgwMiwweGM5LDB4MDAsMHgzMiwweDQwLDB4MGMsMHg5MCwweDIzLDB4MjQsMHgwNCwweGQ5LDB4YzAgfSB9LAoteyAgMTYsIDB4ZjMzMCwgMCwgezB4YjIsMHg0MCwweDBmLDB4OWMsMHgwMywweGU2LDB4MDAsMHhkOSwweDAwLDB4MzYsMHg1MCwweDBjLDB4OTAsMHgwMywweGU4LDB4MDQgfSB9LAoteyAgMTYsIDB4ZjM0MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDY4LDB4MDAsMHhhNiwweDgwLDB4ZjksMHgwMCwweDNlLDB4NDAgfSB9LAoteyAgMTYsIDB4ZjM1MCwgMCwgezB4MGYsMHg5MCwweDAzLDB4ZTcsMHgwMCwweGQ5LDB4MDAsMHhiYywweDQyLDB4MGYsMHg5MCwweDUzLDB4ZTQsMHgwNCwweGY5LDB4MTAgfSB9LAoteyAgMTYsIDB4ZjM2MCwgMCwgezB4M2UsMHg0MCwweDBmLDB4OTgsMHgwMywweGU2LDB4MDQsMHhlMSwweDAwLDB4M2UsMHg0MCwweDJmLDB4OTAsMHgwMywweGRhLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjM3MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHg4MSwweDEwLDB4NDgsMHgxMCwweDMyLDB4MDggfSB9LAoteyAgMTYsIDB4ZjM4MCwgMCwgezB4MGMsMHg4MCwweDBmLDB4MjEsMHgwMiwweGM4LDB4MDAsMHgzYSwweDA0LDB4MGYsMHg4MCwweDA3LDB4NjAsMHgwMCwweGY4LDB4NDAgfSB9LAoteyAgMTYsIDB4ZjM5MCwgMCwgezB4YjIsMHgwMCwweDBmLDB4ODQsMHgwYiwweDIwLDB4MDAsMHhkOCwweDAwLDB4MzYsMHgxMCwweDBjLDB4ODAsMHgwMywweGNhLDB4MDQgfSB9LAoteyAgMTYsIDB4ZjNhMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDQsMHgyOCwweDA0LDB4OGUsMHg4MCwweDIzLDB4ODAgfSB9LAoteyAgMTYsIDB4ZjNiMCwgMCwgezB4MDgsMHhhMCwweDQyLDB4MjgsMHgwMCwweDhhLDB4MDAsMHgyMywweGEwLDB4NGIsMHhhMCwweDAyLDB4ZTgsMHgwMCwweGJhLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjNjMCwgMCwgezB4NzYsMHg4MCwweDBiLDB4YTAsMHgwMiwweDA4LDB4MDAsMHg4YSwweDAwLDB4MzIsMHg4MCwweDA4LDB4ZTAsMHgwMywweGNhLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjNkMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAwLDB4ODIsMHgwMCwweDIwLDB4ZDAgfSB9LAoteyAgMTYsIDB4ZjNlMCwgMCwgezB4MDgsMHgzMCwweDAyLDB4MGMsMHgwMCwweDliLDB4MDAsMHgyOCwweGMwLDB4MWEsMHhiMCwweDAyLDB4NmMsMHgwMCwweGIzLDB4MDIgfSB9LAoteyAgMTYsIDB4ZjNmMCwgMCwgezB4MjAsMHhjMCwweDBiLDB4MzAsMHgwMiwweDBjLDB4MDAsMHhhMywweDAwLDB4MjIsMHhjMCwweDI4LDB4MzQsMHg4MiwweGNhLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjQwMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIwLDB4MDEsMHgxYywweDAwLDB4ODcsMHgwMCwweDIwLDB4ZTAgfSB9LAoteyAgMTYsIDB4ZjQxMCwgMCwgezB4MDgsMHg3OCwweDAyLDB4MGMsMHgwMCwweDk3LDB4MjAsMHgyNSwweGMwLDB4MGIsMHg3MSwweDAyLDB4ZGMsMHg4MSwweGI3LDB4MjAgfSB9LAoteyAgMTYsIDB4ZjQyMCwgMCwgezB4MjEsMHhjMCwweDBiLDB4N2EsMHg0MiwweDNjLDB4ODAsMHg4NywweDIwLDB4MjEsMHhjMCwweDA4LDB4NzAsMHgwMiwweGU4LDB4MDAgfSB9LAoteyAgMTYsIDB4ZjQzMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDgsMHgwZSwweDgyLDB4YzcsMHg4MCwweGIxLDB4ZTAgfSB9LAoteyAgMTYsIDB4ZjQ0MCwgMCwgezB4MmMsMHhmYSwweDA2LDB4MWUsMHgwOCwweGQzLDB4YjEsMHgzOSwweDYwLDB4NGUsMHg3OCwweDEyLDB4NWUsMHhhMCwweGZmLDB4ZjAgfSB9LAoteyAgMTYsIDB4ZjQ1MCwgMCwgezB4MjEsMHhlMCwweDBmLDB4ZjgsMHgwMywweDFmLDB4MDgsMHhlMywweGEwLDB4MzMsMHhlMCwweDBjLDB4NjgsMHgwMywweGVhLDB4MDIgfSB9LAoteyAgMTYsIDB4ZjQ2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MWQsMHhhYywweDQwLDB4ZmIsMHgwMCwweDNlLDB4YzAgfSB9LAoteyAgMTYsIDB4ZjQ3MCwgMCwgezB4MGYsMHhiMiwweDAzLDB4ZWQsMHhhOCwweGViLDB4MTAsMHgzYSwweDgwLDB4MGYsMHhiMCwweGMzLDB4ZWMsMHg0MCwweGZiLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjQ4MCwgMCwgezB4M2UsMHhjMCwweDBmLDB4YjAsMHg4MywweGVjLDB4ODAsMHhlYiwweDcwLDB4YmUsMHhjNCwweDBmLDB4YjAsMHgwMywweDgyLDB4MDYgfSB9LAoteyAgMTYsIDB4ZjQ5MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDUsMHhmZSwweDAwLDB4Y2UsMHg4MCwweGIzLDB4NjAgfSB9LAoteyAgMTYsIDB4ZjRhMCwgMCwgezB4MGYsMHhmYywweDgzLDB4N2UsMHgyMCwweGVmLDB4YjAsMHgzYiwweGUwLDB4MGYsMHhiOCwweDAzLDB4M2UsMHgwMCwweGNmLDB4ODEgfSB9LAoteyAgMTYsIDB4ZjRiMCwgMCwgezB4M2YsMHhlMCwweDhmLDB4ZjgsMHg4MywweGVmLDB4NDAsMHhmZiwweGMyLDB4MzMsMHhlMSwweDBjLDB4ZjgsMHgwMywweGQwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjRjMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTEsMHg5YywweDgyLDB4ODcsMHgxOCwweDIxLDB4ODAgfSB9LAoteyAgMTYsIDB4ZjRkMCwgMCwgezB4MGIsMHgzMCwweDAyLDB4MWMsMHg2MCwweGQ3LDB4MTAsMHgyMSwweGQwLDB4MGIsMHg3YiwweDAyLDB4M2MsMHgwMCwweGQ3LDB4MDAgfSB9LAoteyAgMTYsIDB4ZjRlMCwgMCwgezB4MmQsMHhjMCwweDBiLDB4NzAsMHgwMiwweGRlLDB4MDAsMHhiZiwweDAwLDB4YTMsMHhjNCwweDA4LDB4NzAsMHgwMywweGFhLDB4MDQgfSB9LAoteyAgMTYsIDB4ZjRmMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiYywweDExLDB4ODcsMHgwMCwweDIxLDB4YzAgfSB9LAoteyAgMTYsIDB4ZjUwMCwgMCwgezB4MGIsMHgzMCwweDAyLDB4MWMsMHgwMCwweDkzLDB4MjAsMHg2OSwweGMwLDB4MGIsMHg3MCwweDAyLDB4MWMsMHgwMCwweDg3LDB4MDAgfSB9LAoteyAgMTYsIDB4ZjUxMCwgMCwgezB4MmQsMHhjMCwweDBiLDB4NzEsMHgwMiwweGRjLDB4MjAsMHhiNywweDEwLDB4MjEsMHhjMCwweDA4LDB4NjAsMHgwMiwweDg0LDB4MDAgfSB9LAoteyAgMTYsIDB4ZjUyMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDYwLDB4MTQsMHhjZCwweDAwLDB4ODMsMHg0MCwweDIwLDB4YzAgfSB9LAoteyAgMTYsIDB4ZjUzMCwgMCwgezB4NGIsMHgzMCwweDAyLDB4MGMsMHgwMSwweDgzLDB4MDAsMHgyMCwweGMwLDB4MGIsMHgzMCwweDAyLDB4MGMsMHgwMCwweDkzLDB4ODAgfSB9LAoteyAgMTYsIDB4ZjU0MCwgMCwgezB4MmMsMHhjMCwweDBiLDB4MzAsMHgwMiwweGNjLDB4MDEsMHhiMywweDAwLDB4MjAsMHhjMCwweDA4LDB4MzAsMHgyMiwweDk4LDB4MDQgfSB9LAoteyAgMTYsIDB4ZjU1MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhiZiwweDIwLDB4Y2EsMHhjMCwweDMyLDB4ODAgfSB9LAoteyAgMTYsIDB4ZjU2MCwgMCwgezB4MGYsMHhmMCwweDAzLDB4M2UsMHgwMCwweDlmLDB4MDAsMHgzYSwweDgwLDB4MGYsMHhmMCwweDBiLDB4M2MsMHgwMCwweGNmLDB4OTggfSB9LAoteyAgMTYsIDB4ZjU3MCwgMCwgezB4M2UsMHhjMCwweDBmLDB4ZjYsMHgwMywweGZmLDB4MDAsMHhmZiwweDAwLDB4MzEsMHhlMCwweDJjLDB4YjAsMHgwMywweGFlLDB4MDQgfSB9LAoteyAgMTYsIDB4ZjU4MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDAsMHhjYywweDgwLDB4ZmIsMHgwMCwweDNlLDB4NTAgfSB9LAoteyAgMTYsIDB4ZjU5MCwgMCwgezB4MGYsMHhiMCwweDAzLDB4YWMsMHgwMiwweGZiLDB4MDAsMHg3ZSwweDUwLDB4MGYsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGZiLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjVhMCwgMCwgezB4M2UsMHhjMCwweDBmLDB4YjIsMHgwMywweGVjLDB4MjAsMHhmMywweDAwLDB4M2UsMHhjNiwweDBmLDB4OTAsMHgwMywweGEwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjViMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmYywweDAyLDB4Y2YsMHg5OCwweDczLDB4YzggfSB9LAoteyAgMTYsIDB4ZjVjMCwgMCwgezB4MGYsMHg3MCwweDAzLDB4M2MsMHgwMCwweGZmLDB4MDAsMHgzMywweDI4LDB4MGYsMHhiMCwweDAyLDB4MWMsMHgwMCwweDRmLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjVkMCwgMCwgezB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGZjLDB4MDAsMHhmZiwweDAxLDB4MzMsMHhjMCwweDBjLDB4ZTQsMHgwMywweGU0LDB4MDQgfSB9LAoteyAgMTYsIDB4ZjVlMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDQsMHg2YywweDAwLDB4ODMsMHg4MCwweGEyLDB4ZjggfSB9LAoteyAgMTYsIDB4ZjVmMCwgMCwgezB4MGIsMHhiMCwweDQyLDB4MmMsMHgwMCwweGJiLDB4MDAsMHgzMiwweDEwLDB4MGYsMHhiMCwweDAzLDB4NmMsMHgwNCwweGFiLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjYwMCwgMCwgezB4MmUsMHhjMCwweDBiLDB4YjAsMHgxMiwweGVjLDB4MDQsMHhlYiwweDAwLDB4MjIsMHhjMCwweDRhLDB4OTQsMHg4MiwweGUwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjYxMCwgMCwgezB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHg2YywweDAwLDB4OGEsMHgwMCwweDIyLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjYyMCwgMCwgezB4MGIsMHhiMCwweDAyLDB4MmMsMHgwMCwweGIzLDB4MDAsMHhhMiwweGMwLDB4MGIsMHgzMCwweDAyLDB4YWMsMHgwMCwweGFiLDB4MDQgfSB9LAoteyAgMTYsIDB4ZjYzMCwgMCwgezB4MmUsMHhjMCwweDBiLDB4YjAsMHg0MiwweGVjLDB4MDAsMHhiYiwweDAwLDB4MjIsMHhjMCwweDA4LDB4YjAsMHgyMiwweGUwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjY0MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAsMHgwYywweDAwLDB4OGIsMHgwMSwweDIwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjY1MCwgMCwgezB4MGIsMHgzMCwweDA2LDB4MGMsMHgwMCwweGIzLDB4MDAsMHgyMCwweGMwLDB4MGEsMHgzMiwweDBhLDB4Y2MsMHgwMCwweGEzLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjY2MCwgMCwgezB4MmMsMHhjMCwweDBiLDB4MzAsMHgwMiwweGNjLDB4MDAsMHhhMywweDAwLDB4MjIsMHhjMCwweDRhLDB4MDAsMHgxMiwweGMyLDB4MDEgfSB9LAoteyAgMTYsIDB4ZjY3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHg2YywweDAwLDB4OGIsMHgwNCwweDIyLDB4YzAgfSB9LAoteyAgMTYsIDB4ZjY4MCwgMCwgezB4MGYsMHhmMSwweDAzLDB4MWMsMHgwMCwweGZmLDB4MDQsMHgzMiwweGMwLDB4MGIsMHhmMiwweDAzLDB4YmMsMHgwMCwweGVmLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjY5MCwgMCwgezB4M2UsMHhjMCwweDA3LDB4ZjAsMHgwMywweGZjLDB4ODAsMHhmZiwweDAwLDB4YjIsMHhjMCwweDBjLDB4YTAsMHgwMywweGUwLDB4MDMgfSB9LAoteyAgMTYsIDB4ZjZhMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTksMHhkYywweDAwLDB4ZjUsMHgwMCwweDNmLDB4YzAgfSB9LAoteyAgMTYsIDB4ZjZiMCwgMCwgezB4MGYsMHhmMCwweDAzLDB4ZmMsMHgwMSwweGZmLDB4MDIsMHgzYiwweGMwLDB4MGYsMHhmMSwweDAzLDB4N2MsMHgwMCwweGZmLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjZjMCwgMCwgezB4M2YsMHhjMCwweDBmLDB4ZjAsMHgxMywweGZjLDB4NDAsMHhlZiwweDAwLDB4M2YsMHhjMCwweDBmLDB4YzAsMHgwMywweGU4LDB4MDYgfSB9LAoteyAgMTYsIDB4ZjZkMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MTUsMHhmMiwweDQwLDB4Y2MsMHg4MCwweDM3LDB4MjAgfSB9LAoteyAgMTYsIDB4ZjZlMCwgMCwgezB4MGMsMHhkOCwweDAzLDB4YjAsMHg0NCwweGZjLDB4MDgsMHgzZiwweDBlLDB4MGYsMHhjMSwweDAzLDB4ZmMsMHgwMCwweGNjLDB4OTQgfSB9LAoteyAgMTYsIDB4ZjZmMCwgMCwgezB4M2YsMHgwYSwweDJlLDB4YzQsMHgwMywweDdkLDB4ODAsMHhjZiwweDEwLDB4M2YsMHhjMCwweDBmLDB4YzAsMHg4MywweDMwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjcwMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDgsMHhlMCwweDkwLDB4ODgsMHgwMiwweDIyLDB4ODEgfSB9LAoteyAgMTYsIDB4ZjcxMCwgMCwgezB4MDgsMHg5MiwweDEzLDB4YTQsMHg0MCwweDNiLDB4NjAsMHgyMiwweDE4LDB4MGIsMHg4MSwweDAyLDB4ZmMsMHhkNCwweDgxLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjcyMCwgMCwgezB4M2EsMHhiMCwweDBhLDB4OTQsMHgwMiwweDNkLDB4NDAsMHhhZiwweDYzLDB4MmYsMHhkZiwweDBiLDB4OTgsMHgwMCwweDIwLDB4MDQgfSB9LAoteyAgMTYsIDB4ZjczMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhlMCwweDAwLDB4ODgsMHgwMCwweDIwLDB4NDAgfSB9LAoteyAgMTYsIDB4Zjc0MCwgMCwgezB4ODgsMHgzMCwweDgyLDB4YzAsMHgwMCwweGIwLDB4MDgsMHgyOCwweDgwLDB4MGEsMHgxMCwweDAyLDB4Y2MsMHgyMCwweDgwLDB4MDEgfSB9LAoteyAgMTYsIDB4Zjc1MCwgMCwgezB4MmMsMHg0MCwweDFiLDB4MDYsMHgwMiwweDhjLDB4OTAsMHg5MywweDYwLDB4NjgsMHhjMCwweDRhLDB4MDAsMHg0MiwweDIyLDB4MDEgfSB9LAoteyAgMTYsIDB4Zjc2MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhhMCwweDAyLDB4ODgsMHgwMCwweDIyLDB4YzAgfSB9LAoteyAgMTYsIDB4Zjc3MCwgMCwgezB4MDgsMHhiMCwweDAyLDB4ZTQsMHgyMCwweGJiLDB4ODgsMHgyNiwweDk4LDB4MGIsMHg4MCwweDQyLDB4Y2MsMHgxOCwweDhhLDB4MDAgfSB9LAoteyAgMTYsIDB4Zjc4MCwgMCwgezB4MmUsMHhjMiwweDFiLDB4OTgsMHgwMiwweGFjLDB4MDAsMHhhYiwweDAwLDB4MmUsMHhjMCwweDBiLDB4OTgsMHg4MiwweDMwLDB4MDQgfSB9LAoteyAgMTYsIDB4Zjc5MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTEsMHhlMywweGMwLDB4Y2IsMHgwMiwweDMyLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjdhMCwgMCwgezB4MmMsMHg4MCwweDAzLDB4YWUsMHgwOCwweGI5LDB4MDAsMHgzZSwweDcwLDB4MGYsMHhiOSwweDAzLDB4ZWMsMHgwMiwweDQ4LDB4NDggfSB9LAoteyAgMTYsIDB4ZjdiMCwgMCwgezB4M2MsMHhjMCwweDBmLDB4OGMsMHg5MywweGVjLDB4MDAsMHhkYiwweDAwLDB4MWEsMHhjMCwweDBlLDB4YWMsMHgwMywweDEwLDB4MDQgfSB9LAoteyAgMTYsIDB4ZjdjMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDEsMHhiMiwweDAwLDB4ZmYsMHgwMCwweGJiLDB4ODAgfSB9LAoteyAgMTYsIDB4ZjdkMCwgMCwgezB4MGYsMHhjMCwweDQzLDB4YjYsMHg0MCwweGJkLDB4MDAsMHgzYiwweDYwLDB4MGYsMHhlOCwweDAzLDB4ZmMsMHgwMCwweGZmLDB4OTQgfSB9LAoteyAgMTYsIDB4ZjdlMCwgMCwgezB4M2IsMHhlNCwweDBlLDB4NjAsMHgwZiwweDZjLDB4MDgsMHhlZiwweDAxLDB4M2YsMHhjMCwweDBmLDB4NjAsMHgwMywweGY4LDB4MDAgfSB9LAoteyAgMTYsIDB4ZjdmMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhMSwweDAwLDB4ZmIsMHgwMCwweDNlLDB4NjAgfSB9LAoteyAgMTYsIDB4ZjgwMCwgMCwgezB4MGYsMHhhMCwweDAzLDB4ZWQsMHgwMCwweGY5LDB4NDAsMHgzYSwweDAwLDB4MGYsMHg5MCwweDAzLDB4ZWMsMHgwMiwweGM5LDB4MDQgfSB9LAoteyAgMTYsIDB4ZjgxMCwgMCwgezB4MzIsMHhkMCwweDBmLDB4OTAsMHgwMywweDJjLDB4MDgsMHhkYiwweDAwLDB4YjYsMHhjMCwweDBkLDB4YjQsMHgwMywweGQwLDB4MDQgfSB9LAoteyAgMTYsIDB4ZjgyMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM4LDB4MDUsMHgwMCwweDAwLDB4YjMsMHg4OSwweDJlLDB4ZTAgfSB9LAoteyAgMTYsIDB4ZjgzMCwgMCwgezB4MGIsMHhhNCwweDAzLDB4YTQsMHgwMSwweGI5LDB4MDAsMHgyZSwweDAxLDB4MGIsMHg5MCwweDQyLDB4ZmMsMHgxMCwweDg5LDB4NTAgfSB9LAoteyAgMTYsIDB4Zjg0MCwgMCwgezB4YTIsMHhjMCwweDhkLDB4YjQsMHgwMiwweDNjLDB4NDQsMHg4ZiwweDAwLDB4MjMsMHhjMCwweDA4LDB4YjAsMHgwMiwweGYyLDB4MDAgfSB9LAoteyAgMTYsIDB4Zjg1MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDQsMHgwYywweDAwLDB4YjAsMHg4MCwweDJlLDB4MDAgfSB9LAoteyAgMTYsIDB4Zjg2MCwgMCwgezB4MGIsMHgxMiwweDAyLDB4YzgsMHgwMCwweGJhLDB4MDAsMHgyYywweGMwLDB4MGIsMHgyMCwweDAyLDB4Y2MsMHgwMCwweGEyLDB4MDAgfSB9LAoteyAgMTYsIDB4Zjg3MCwgMCwgezB4MjAsMHgwMCwweDJiLDB4MmQsMHg5YSwweDJlLDB4NDIsMHg4MywweDAwLDB4MjgsMHhjMCwweDA4LDB4MjAsMHgwMiwweGY4LDB4MDAgfSB9LAoteyAgMTYsIDB4Zjg4MCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIwLDB4MDAsMHgxZSwweDA0LDB4YjQsMHg4MCwweDJkLDB4YTAgfSB9LAoteyAgMTYsIDB4Zjg5MCwgMCwgezB4MGIsMHg1OCwweDAyLDB4OTIsMHgwMCwweGI2LDB4ODAsMHgyZCwweGUwLDB4MGIsMHg2OCwweDAyLDB4ZGUsMHg0MCwweGE2LDB4ODAgfSB9LAoteyAgMTYsIDB4ZjhhMCwgMCwgezB4MjEsMHgyNCwweDI5LDB4NDgsMHgwMiwweDFlLDB4ODAsMHg4NywweDgwLDB4NjksMHhlMCwweDA4LDB4NjEsMHgwMiwweGM4LDB4MDAgfSB9LAoteyAgMTYsIDB4ZjhiMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MTgsMHgwYywweDAwLDB4ZjAsMHgzMCwweDNjLDB4NGMgfSB9LAoteyAgMTYsIDB4ZjhjMCwgMCwgezB4MGYsMHgzMiwweDAzLDB4YzgsMHg4MCwweGIyLDB4MDAsMHgzOCwweDgwLDB4MGYsMHgxYiwweDAzLDB4ZWMsMHgwMCwweGUwLDB4MzAgfSB9LAoteyAgMTYsIDB4ZjhkMCwgMCwgezB4MzAsMHgwNCwweDBmLDB4YjEsMHgwMywweDBlLDB4ODUsMHhjYiwweDAwLDB4M2EsMHhjMCwweDBjLDB4MzEsMHgwMywweGQyLDB4MDIgfSB9LAoteyAgMTYsIDB4ZjhlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MWMsMHhiYywweDAwLDB4ZmMsMHgxMSwweDNmLDB4YzQgfSB9LAoteyAgMTYsIDB4ZjhmMCwgMCwgezB4MGYsMHhiOCwweDEzLDB4YjAsMHgwNCwweGZlLDB4MDIsMHgzZiwweDgwLDB4MGYsMHhjMCwweDAzLDB4ZmQsMHgwMCwweGRmLDB4MTIgfSB9LAoteyAgMTYsIDB4ZjkwMCwgMCwgezB4MWQsMHgwNCwweDBmLDB4ZDAsMHg0MywweGJjLDB4MDEsMHhlZiwweDEwLDB4MzMsMHhjNCwweDBlLDB4ZjMsMHgwMywweGQwLDB4MDYgfSB9LAoteyAgMTYsIDB4ZjkxMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhlZSwweDAwLDB4Y2IsMHgwMCwweDNlLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjkyMCwgMCwgezB4MGYsMHg4MCwweDAzLDB4MjgsMHgwMCwweGY4LDB4MDAsMHgzZSwweDQwLDB4M2QsMHhiMCwweDAzLDB4ZWYsMHgwOCwweGM5LDB4MDAgfSB9LAoteyAgMTYsIDB4ZjkzMCwgMCwgezB4M2EsMHgwMCwweDBjLDB4YTAsMHgwMywweGVjLDB4OTgsMHhmYiwweDIwLDB4MzIsMHhkMiwweDBjLDB4YTgsMHgwMywweDJhLDB4MDIgfSB9LAoteyAgMTYsIDB4Zjk0MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MTEsMHg5YywweDAwLDB4ODcsMHgwMSwweDJkLDB4ODAgfSB9LAoteyAgMTYsIDB4Zjk1MCwgMCwgezB4MGIsMHg0MCwweDQyLDB4MWMsMHgwNCwweDM3LDB4MDAsMHhhMSwweDQwLDB4MDgsMHg2MCwweDAyLDB4Y2MsMHg4MCwweDg3LDB4MDAgfSB9LAoteyAgMTYsIDB4Zjk2MCwgMCwgezB4MmQsMHg4MCwweDJlLDB4NzAsMHgwMiwweGRjLDB4YTksMHhiNywweDI4LDB4MjEsMHhkMCwweDA4LDB4NzAsMHgwMiwweDEyLDB4MDAgfSB9LAoteyAgMTYsIDB4Zjk3MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIwLDB4MDAsMHhiZSwweDAyLDB4ODcsMHg4MCwweDJkLDB4NjAgfSB9LAoteyAgMTYsIDB4Zjk4MCwgMCwgezB4NGIsMHhlOCwweDAyLDB4NWEsMHgwMSwweGI0LDB4ODgsMHgyOCwweGUwLDB4ODgsMHg3OCwweGMyLDB4ZGUsMHg1MiwweDg2LDB4YzAgfSB9LAoteyAgMTYsIDB4Zjk5MCwgMCwgezB4MjksMHg2MCwweDA4LDB4NjgsMHgwMiwweGRlLDB4NDAsMHhiMywweDkyLDB4ZTEsMHhlOCwweDI4LDB4MjgsMHgwMiwweDcwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjlhMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDY4LDB4MTQsMHhjYywweDAwLDB4OGIsMHg4MCwweDJlLDB4YzAgfSB9LAoteyAgMTYsIDB4ZjliMCwgMCwgezB4MGIsMHgyMCwweDAyLDB4NGQsMHg4MCwweDliLDB4MjAsMHgyMCwweGUwLDB4MDgsMHgzOCwweDAyLDB4Y2MsMHgwMCwweDgzLDB4ODAgfSB9LAoteyAgMTYsIDB4ZjljMCwgMCwgezB4MmMsMHhjMCwweDBhLDB4YjAsMHgwMiwweGNjLDB4MDgsMHhiMywweDAwLDB4MjAsMHhjMCwweDA4LDB4MzEsMHgwMiwweDUyLDB4MDQgfSB9LAoteyAgMTYsIDB4ZjlkMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MDUsMHhhOCwweDAwLDB4Y2EsMHhlMCwweDNlLDB4ODAgfSB9LAoteyAgMTYsIDB4ZjllMCwgMCwgezB4MWYsMHhhNCwweDBiLDB4NzksMHgwMCwweGZlLDB4MDAsMHgzZiwweDgyLDB4MWQsMHhlMCwweDAzLDB4ZTgsMHgwMCwweGNlLDB4NDAgfSB9LAoteyAgMTYsIDB4ZjlmMCwgMCwgezB4M2IsMHg4OCwweDJjLDB4ZTQsMHgwMywweGU4LDB4MDEsMHhmYSwweDAwLDB4MzIsMHg4MCwweDBjLDB4ZTgsMHgwMywweDdhLDB4MDQgfSB9LAoteyAgMTYsIDB4ZmEwMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MTEsMHhhMCwweDAwLDB4ZjgsMHgwOSwweDNlLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmExMCwgMCwgezB4OGYsMHhjMCwweDgzLDB4YTAsMHgxOCwweGY4LDB4MDAsMHgzYywweDIwLDB4MGYsMHg4OCwweDAzLDB4ZTAsMHgwMCwweGY4LDB4MDggfSB9LAoteyAgMTYsIDB4ZmEyMCwgMCwgezB4M2UsMHgyMCwweDBlLDB4ODAsMHg4MywweGUxLDB4MDEsMHhmMCwweDAwLDB4M2MsMHgwMCwweDBmLDB4ODAsMHgwYiwweDkyLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmEzMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhhNCwweDAwLDB4ZjksMHg0MiwweDMyLDB4NDAgfSB9LAoteyAgMTYsIDB4ZmE0MCwgMCwgezB4NGMsMHg5OCwweDAzLDB4MDQsMHgwMCwweGM5LDB4MDAsMHgzYSwweDQwLDB4MGYsMHg5MCwweDIzLDB4MjQsMHgwMCwweGI5LDB4ODEgfSB9LAoteyAgMTYsIDB4ZmE1MCwgMCwgezB4M2MsMHg0MCwweDBjLDB4OTIsMHgwMywweDI0LDB4MDAsMHhmOSwweDA1LDB4MzIsMHg0MCwweDZjLDB4OTAsMHhjMywweGMyLDB4MDQgfSB9LAoteyAgMTYsIDB4ZmE2MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDQsMHgyNCwweDE0LDB4YjksMHgwMCwweGEyLDB4NTQgfSB9LAoteyAgMTYsIDB4ZmE3MCwgMCwgezB4MDgsMHg5YiwweDFhLDB4MjQsMHgwMiwweDg5LDB4MDAsMHgyMiwweDQwLDB4MjgsMHg5MCwweDAyLDB4YTQsMHgwMCwweGI5LDB4OTAgfSB9LAoteyAgMTYsIDB4ZmE4MCwgMCwgezB4MmUsMHg0MCwweDI4LDB4OWMsMHg4MiwweDI1LDB4MDQsMHhiOSwweDAwLDB4MjIsMHg0MCwweDA4LDB4OTgsMHgxMiwweGUwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmE5MCwgMCwgezB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDAwLDB4YWQsMHgwMCwweDIzLDB4NDAgfSB9LAoteyAgMTYsIDB4ZmFhMCwgMCwgezB4MDgsMHg1MCwweDAyLDB4NjQsMHgwMCwweDg5LDB4MDAsMHgyYSwweDQwLDB4MDgsMHgxMCwweDAyLDB4NjQsMHgwMCwweGI5LDB4MDAgfSB9LAoteyAgMTYsIDB4ZmFiMCwgMCwgezB4NmUsMHg0MCwweDA4LDB4OTAsMHgwMiwweDI1LDB4MDAsMHhhOSwweDAwLDB4MjIsMHg0MCwweDA4LDB4OTEsMHgwNiwweGM2LDB4MDAgfSB9LAoteyAgMTYsIDB4ZmFjMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDQsMHgxNCwweDAwLDB4YjUsMHgxMCwweGExLDB4NDQgfSB9LAoteyAgMTYsIDB4ZmFkMCwgMCwgezB4MjgsMHg1MCwweDAyLDB4NDQsMHg4MCwweDgxLDB4MzAsMHgyMCwweDQ4LDB4MDgsMHgxMiwweDAyLDB4ODQsMHg0MCwweGIxLDB4ODAgfSB9LAoteyAgMTYsIDB4ZmFlMCwgMCwgezB4NmMsMHhjOCwweDA4LDB4MTIsMHgwMiwweDA0LDB4ODAsMHhiMSwweDM0LDB4MjAsMHg0OCwweDA4LDB4MTIsMHgwMiwweGMyLDB4MDEgfSB9LAoteyAgMTYsIDB4ZmFmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MSwweDQwLDB4ZTgsMHg0MCwweDMyLDB4OTAgfSB9LAoteyAgMTYsIDB4ZmIwMCwgMCwgezB4MGMsMHhjNSwweDAzLDB4NjEsMHg0MCwweGMwLDB4NDAsMHgzYSwweDE0LDB4MGYsMHg4NSwweDAzLDB4MjEsMHhiMCwweGY4LDB4NTAgfSB9LAoteyAgMTYsIDB4ZmIxMCwgMCwgezB4M2UsMHgwMCwweDBjLDB4ODUsMHgwMywweDIxLDB4NDAsMHhmOCwweDQwLDB4YjAsMHgxNCwweDBjLDB4ODAsMHgwMywweGVlLDB4MDEgfSB9LAoteyAgMTYsIDB4ZmIyMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MWQsMHhjNCwweDA0LDB4ZjksMHgyMiwweDBlLDB4NDggfSB9LAoteyAgMTYsIDB4ZmIzMCwgMCwgezB4MGYsMHgxMCwweDEzLDB4YjQsMHg0MCwweGZkLDB4MzAsMHgzZiwweDQ0LDB4NGYsMHhkMSwweDAwLDB4ZTQsMHg4NCwweGZmLDB4MDEgfSB9LAoteyAgMTYsIDB4ZmI0MCwgMCwgezB4M2QsMHg0NCwweDBmLDB4ZDEsMHgwYiwweGU0LDB4NDAsMHhmOSwweDMwLDB4M2UsMHg0NCwweDBmLDB4ZDEsMHgwMywweGU2LDB4MDQgfSB9LAoteyAgMTYsIDB4ZmI1MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDM4LDB4MDUsMHhlNCwweDAwLDB4ZGQsMHg0MCwweDNmLDB4NTAgfSB9LAoteyAgMTYsIDB4ZmI2MCwgMCwgezB4MGMsMHhkMCwweDAzLDB4MmMsMHgwMCwweGM5LDB4MDAsMHgzNiwweDQwLDB4MGYsMHg5MCwweDEzLDB4MjcsMHgwNCwweGY1LDB4MDEgfSB9LAoteyAgMTYsIDB4ZmI3MCwgMCwgezB4MzcsMHg0MCwweDBjLDB4ZjAsMHgwMywweGY2LDB4MjAsMHhmOSwweGE4LDB4MzIsMHg2OCwweDBjLDB4ZDAsMHgwMywweGM2LDB4MDAgfSB9LAoteyAgMTYsIDB4ZmI4MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDAsMHhlMCwweDAwLDB4ODgsMHhhMCwweDJlLDB4MjggfSB9LAoteyAgMTYsIDB4ZmI5MCwgMCwgezB4MjgsMHg4MCwweDAyLDB4MjAsMHgwMCwweDg4LDB4YTAsMHgyMiwweDAwLDB4MGIsMHg4MCwweDBhLDB4NjIsMHg4MCwweGI4LDB4MDAgfSB9LAoteyAgMTYsIDB4ZmJhMCwgMCwgezB4MjIsMHgwMCwweDA4LDB4ODAsMHgwMiwweGUxLDB4MDAsMHhiOCwweGUwLDB4MjIsMHgzYSwweDA4LDB4YTAsMHgwMiwweGNlLDB4MDQgfSB9LAoteyAgMTYsIDB4ZmJiMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDAsMHg4NCwweDAyLDB4ODEsMHgwMCwweDJlLDB4NDAgfSB9LAoteyAgMTYsIDB4ZmJjMCwgMCwgezB4MDgsMHgxMCwweDBhLDB4NDQsMHgwMiwweDgxLDB4MDgsMHgyNCwweDQwLDB4MGEsMHgxMCwweDAyLDB4NDUsMHg4MCwweGI5LDB4MDAgfSB9LAoteyAgMTYsIDB4ZmJkMCwgMCwgezB4MjQsMHg0MCwweDI5LDB4MTAsMHgwMiwweGM0LDB4MDAsMHhiMSwweDA4LDB4MjQsMHg0NCwweDA4LDB4MTAsMHgwMiwweGMyLDB4MDEgfSB9LAoteyAgMTYsIDB4ZmJlMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MTQsMHhhNCwweDA0LDB4ODksMHgwMSwweDJlLDB4NTAgfSB9LAoteyAgMTYsIDB4ZmJmMCwgMCwgezB4NDgsMHhiMiwweDAyLDB4NjQsMHgwMCwweDkxLDB4MDAsMHgyMiwweDQ2LDB4MGIsMHg5MCwweDAyLDB4NjQsMHgwMCwweGI5LDB4MDEgfSB9LAoteyAgMTYsIDB4ZmMwMCwgMCwgezB4MjYsMHhjMCwweDA5LDB4YjAsMHgxMiwweGU0LDB4MDAsMHhiMSwweDAwLDB4MjYsMHg0MCwweDA4LDB4OTAsMHgwMiwweGM2LDB4MDQgfSB9LAoteyAgMTYsIDB4ZmMxMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MDQsMHhlNCwweDAwLDB4YzksMHgwMCwweDNjLDB4NDAgfSB9LAoteyAgMTYsIDB4ZmMyMCwgMCwgezB4MGMsMHg5MCwweDAzLDB4NjQsMHgwMCwweGM5LDB4MDIsMHgzNiwweDUwLDB4MGUsMHg5MywweDAzLDB4MjQsMHgwMCwweGY5LDB4OTAgfSB9LAoteyAgMTYsIDB4ZmMzMCwgMCwgezB4MzYsMHg0OCwweDBkLDB4OTQsMHg4MywweGU0LDB4MDgsMHhmOSwweDAwLDB4YjYsMHg0MCwweDBjLDB4OTQsMHgwMywweGU4LDB4MDQgfSB9LAoteyAgMTYsIDB4ZmM0MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDY4LDB4MTAsMHhhNCwweDAwLDB4ZTksMHgwMCwweDNlLDB4NDAgfSB9LAoteyAgMTYsIDB4ZmM1MCwgMCwgezB4MGYsMHg5MCwweDEzLDB4YTQsMHgwMCwweGU5LDB4MDIsMHgyZSwweDYxLDB4MDUsMHg5MCwweDAzLDB4YTQsMHgwMCwweGY5LDB4MDAgfSB9LAoteyAgMTYsIDB4ZmM2MCwgMCwgezB4M2EsMHg0MCwweDBlLDB4OTAsMHg0MywweGU0LDB4MTAsMHhmOSwweDAwLDB4MzgsMHg0MCwweDJmLDB4OTAsMHgwMywweGNhLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmM3MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMCwweDAwLDB4ZDgsMHgwMSwweDMyLDB4MDQgfSB9LAoteyAgMTYsIDB4ZmM4MCwgMCwgezB4MGYsMHg4MCwweDQzLDB4YzAsMHgwMSwweGM4LDB4MDAsMHhiMiwweDAxLDB4MGMsMHg4MCwweDAzLDB4MjAsMHgwMCwweGM4LDB4NDAgfSB9LAoteyAgMTYsIDB4ZmM5MCwgMCwgezB4MzAsMHgwMCwweDhjLDB4ODQsMHg4MywweGUwLDB4MDAsMHhjOCwweDAwLDB4MzIsMHgwMCwweDZjLDB4ODQsMHgwMywweGNhLDB4MDQgfSB9LAoteyAgMTYsIDB4ZmNhMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDQsMHgyOCwweDAwLDB4YmEsMHgwMCwweDIzLDB4ODAgfSB9LAoteyAgMTYsIDB4ZmNiMCwgMCwgezB4MGIsMHhlYSwweDAyLDB4ZTgsMHgwMCwweGFhLDB4MDAsMHgyMiwweDgwLDB4MDgsMHhhMCwweDAyLDB4MjgsMHgwMCwweDg2LDB4MjAgfSB9LAoteyAgMTYsIDB4ZmNjMCwgMCwgezB4MzcsMHhhMCwweDhkLDB4ZTQsMHgwMiwweGY4LDB4MDAsMHhkYSwweDAwLDB4MjIsMHg4MCwweDA4LDB4YTAsMHgwMiwweGNhLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmNkMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHg2YywweDAwLDB4YjMsMHgwMCwweDIwLDB4YzAgfSB9LAoteyAgMTYsIDB4ZmNlMCwgMCwgezB4MGIsMHhiOCwweDAyLDB4NGMsMHgwNCwweDgzLDB4MDAsMHgyMCwweGMwLDB4MDgsMHhiMCwweDAyLDB4MGMsMHgwMiwweDgzLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmNmMCwgMCwgezB4MjAsMHg0MCwweDI4LDB4MzQsMHgwMiwweGNlLDB4OTAsMHg4MywweDAwLDB4YTAsMHhjMCwweDA4LDB4MzAsMHgwMiwweGNhLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmQwMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIwLDB4MDEsMHgxYywweGMwLDB4YjUsMHg4OCwweDIxLDB4NDAgfSB9LAoteyAgMTYsIDB4ZmQxMCwgMCwgezB4MGIsMHg3MCwweDAyLDB4ZGMsMHg4MCwweGEzLDB4MjAsMHgyMSwweGUwLDB4NDgsMHgzMiwweDQyLDB4MGUsMHg5MCwweDhlLDB4MDEgfSB9LAoteyAgMTYsIDB4ZmQyMCwgMCwgezB4NjUsMHg1MCwweDA5LDB4NzAsMHgwMiwweGRlLDB4MjAsMHg5MywweDIxLDB4MjEsMHhjMCwweDA4LDB4NzAsMHgwMiwweGU4LDB4MDAgfSB9LAoteyAgMTYsIDB4ZmQzMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTgsMHgxZSwweDAwLDB4ZmYsMHg4MCwweGIxLDB4YTAgfSB9LAoteyAgMTYsIDB4ZmQ0MCwgMCwgezB4MGYsMHg0OCwweDAyLDB4N2UsMHgwMCwweDg3LDB4YTAsMHgzMywweGUwLDB4MjgsMHg3YSwweDBiLDB4MWYsMHgwMCwweGM0LDB4ODAgfSB9LAoteyAgMTYsIDB4ZmQ1MCwgMCwgezB4MzEsMHg2MCwweDhjLDB4NTgsMHgwMywweGZlLDB4MDAsMHhjNywweGM4LDB4MzMsMHhlOCwweDBjLDB4NTgsMHgwMywweGVhLDB4MDIgfSB9LAoteyAgMTYsIDB4ZmQ2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MWQsMHhhYywweDAwLDB4ZmYsMHgwMCwweDNlLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmQ3MCwgMCwgezB4MGYsMHg5MCwweDIzLDB4ZWMsMHhhMCwweGZiLDB4NDAsMHgzZSwweGMwLDB4OGYsMHhiNSwweDAzLDB4ZWQsMHg4MCwweGY4LDB4MDAgfSB9LAoteyAgMTYsIDB4ZmQ4MCwgMCwgezB4M2MsMHg0MCwweDBmLDB4YjAsMHgwMywweGU4LDB4MDAsMHhmYiwweDAyLDB4M2UsMHhkMCwweDBmLDB4OTAsMHgwMywweGMyLDB4MDYgfSB9LAoteyAgMTYsIDB4ZmQ5MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDYwLDB4MDQsMHhiZSwweDAwLDB4ZmYsMHg4MCwweDNmLDB4ZTAgfSB9LAoteyAgMTYsIDB4ZmRhMCwgMCwgezB4MGYsMHhkOSwweDAzLDB4ZmUsMHgyMCwweGNmLDB4YzgsMHgzMywweGVhLDB4OGYsMHhmYywweDAzLDB4M2YsMHgwMCwweGZkLDB4ODAgfSB9LAoteyAgMTYsIDB4ZmRiMCwgMCwgezB4M2YsMHg2MCwweDBlLDB4ZTgsMHgwMywweGYyLDB4MDAsMHhjZiwweDgwLDB4MmYsMHhmZSwweDBjLDB4NzgsMHgwMywweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmRjMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDAsMHg5YywweDAwLDB4YjUsMHgwMiwweDJkLDB4YzAgfSB9LAoteyAgMTYsIDB4ZmRkMCwgMCwgezB4MGIsMHg1OCwweDQyLDB4ZGMsMHg4MCwweGNmLDB4MDAsMHgyMSwweGMxLDB4MGIsMHgzMCwweDEyLDB4MWMsMHg0MCwweGI0LDB4MDIgfSB9LAoteyAgMTYsIDB4ZmRlMCwgMCwgezB4MmQsMHg0NiwweDA4LDB4NzEsMHgxMiwweGM4LDB4MDAsMHhlNywweDAwLDB4MmQsMHhjNCwweDA4LDB4NzAsMHgwMywweDZhLDB4MDQgfSB9LAoteyAgMTYsIDB4ZmRmMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5YywweDAwLDB4YjcsMHgwMCwweDJkLDB4MDIgfSB9LAoteyAgMTYsIDB4ZmUwMCwgMCwgezB4MGIsMHg0NiwweDAyLDB4ZGMsMHgwOCwweDk3LDB4MDAsMHgyMSwweGM5LDB4MGEsMHgzMCwweDIyLDB4MWMsMHgwMCwweGI0LDB4MDAgfSB9LAoteyAgMTYsIDB4ZmUxMCwgMCwgezB4MmQsMHg0MCwweDBhLDB4NTAsMHg4MiwweGM0LDB4MDAsMHhiNywweDAwLDB4MmMsMHhjOCwweDI4LDB4NTAsMHgwMiwweDQwLDB4MTAgfSB9LAoteyAgMTYsIDB4ZmUyMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTQsMHg4YywweDE4LDB4YjMsMHgwMCwweDJlLDB4MjAgfSB9LAoteyAgMTYsIDB4ZmUzMCwgMCwgezB4MGIsMHgxOCwweDAyLDB4Y2YsMHg0YSwweDgzLDB4YzIsMHgyMCwweGMxLDB4MGIsMHgzNCwweDIyLDB4MGMsMHgwNCwweGI4LDB4NTggfSB9LAoteyAgMTYsIDB4ZmU0MCwgMCwgezB4MmMsMHg0MCwweDBiLDB4MjgsMHgwMiwweGM4LDB4MDAsMHhhMywweDAwLDB4MmMsMHhjMCwweDA4LDB4MTQsMHgwMiwweDQ4LDB4MDQgfSB9LAoteyAgMTYsIDB4ZmU1MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhiYywweDAwLDB4ZmIsMHgwMCwweDNlLDB4ODAgfSB9LAoteyAgMTYsIDB4ZmU2MCwgMCwgezB4MGYsMHhhMCwweDAyLDB4ZmMsMHgwMCwweGRmLDB4YTAsMHhiMywweGMwLDB4MGUsMHhmMCwweDBiLDB4M2MsMHgwMCwweGZiLDB4YzAgfSB9LAoteyAgMTYsIDB4ZmU3MCwgMCwgezB4M2MsMHhhMCwweDBlLDB4YmQsMHgwMywweGVjLDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMCwweDBjLDB4MzAsMHgwMywweDZhLDB4MDQgfSB9LAoteyAgMTYsIDB4ZmU4MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTAsMHhlYywweDAwLDB4ZjksMHgwMCwweDNlLDB4MDEgfSB9LAoteyAgMTYsIDB4ZmU5MCwgMCwgezB4OGYsMHhiMSwweDQzLDB4ZWMsMHgwMCwweGYzLDB4MDAsMHgzZSwweGMwLDB4NGYsMHhiMCwweDEzLDB4ZWMsMHgwMCwweGZiLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmVhMCwgMCwgezB4M2UsMHg4MCwweDBjLDB4ODQsMHgwMywweGUxLDB4MDAsMHg3MywweDAwLDB4M2UsMHhjMSwweDBmLDB4YjIsMHg0MywweGUwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmViMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4NTAsMHhmYywweDEwLDB4ZmYsMHg4MCwweDM3LDB4YzAgfSB9LAoteyAgMTYsIDB4ZmVjMCwgMCwgezB4MGMsMHhlMCwweDAzLDB4ZmMsMHgyMCwweGZmLDB4MDgsMHgzMywweGMwLDB4MGYsMHhmMCwweDgzLDB4YmMsMHgwMCwweGZmLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmVkMCwgMCwgezB4MzMsMHhjMCwweDJlLDB4NDAsMHgwMywweDFjLDB4MDEsMHhjZiwweDAwLDB4MTEsMHhjMCwweDRjLDB4ZDAsMHgwMywweDAwLDB4NDQgfSB9LAoteyAgMTYsIDB4ZmVlMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgxLDB4MDQsMHg2YywweDA0LDB4YjMsMHgwMiwweDIyLDB4NzIgfSB9LAoteyAgMTYsIDB4ZmVmMCwgMCwgezB4MDgsMHhhMSwweDE2LDB4ZWMsMHgwMCwweGJiLDB4MDQsMHgyMiwweGMwLDB4MGIsMHhiMCwweDQyLDB4ZWMsMHgwMCwweGJhLDB4MTkgfSB9LAoteyAgMTYsIDB4ZmYwMCwgMCwgezB4YjYsMHhkMCwweDA4LDB4OWMsMHg0YSwweDI2LDB4ODAsMHhkYiwweDAwLDB4MjIsMHhjMCwweDA4LDB4OTAsMHgwMywweDYwLDB4NDAgfSB9LAoteyAgMTYsIDB4ZmYxMCwgMCwgezB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAwLDB4YjksMHgxMCwweDYyLDB4MjAgfSB9LAoteyAgMTYsIDB4ZmYyMCwgMCwgezB4NDgsMHhhMCwweDAyLDB4ZWMsMHgwMCwweGJiLDB4MDAsMHgyMiwweGMwLDB4MGIsMHhiMCwweDAyLDB4ZWMsMHgxMCwweGJiLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmYzMCwgMCwgezB4NjYsMHgwOCwweDBhLDB4YTgsMHgxMiwweDI2LDB4MTAsMHg5YiwweDAwLDB4MmEsMHhjMCwweDI4LDB4YjAsMHgyNiwweDIwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmY0MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAsMHgwYywweDAwLDB4YjksMHgwMCwweDIwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmY1MCwgMCwgezB4MDgsMHgzMiwweDAyLDB4Y2MsMHgwNCwweGIzLDB4MDAsMHgyMCwweGMwLDB4NGIsMHgzMCwweDAyLDB4Y2MsMHgwMCwweGIzLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmY2MCwgMCwgezB4MjAsMHgwMCwweDA4LDB4MDAsMHgwMiwweDAxLDB4MDAsMHg5MywweDAwLDB4MjgsMHhjMCwweDA4LDB4MzAsMHgwNiwweDQyLDB4MTEgfSB9LAoteyAgMTYsIDB4ZmY3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MWMsMHg2YywweDAwLDB4ZjksMHgwMCwweGIyLDB4NDAgfSB9LAoteyAgMTYsIDB4ZmY4MCwgMCwgezB4MGMsMHg4MiwweDAyLDB4ZGMsMHgwMSwweGZmLDB4MDAsMHhiMiwweGMwLDB4MGIsMHhmMSwweDAzLDB4YmMsMHgwMCwweGY5LDB4MDAgfSB9LAoteyAgMTYsIDB4ZmY5MCwgMCwgezB4MjYsMHg0MCwweDJlLDB4ODAsMHgwMywweDIxLDB4MDQsMHhjZiwweDAwLDB4YmIsMHhjMCwweDBjLDB4OTAsMHgwMywweDAwLDB4MDMgfSB9LAoteyAgMTYsIDB4ZmZhMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MWQsMHhmYywweDAwLDB4ZmQsMHgwMCwweDNmLDB4NDAgfSB9LAoteyAgMTYsIDB4ZmZiMCwgMCwgezB4MGYsMHg4MSwweDAzLDB4ZmMsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDIzLDB4ZmMsMHgwMCwweGZjLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmZjMCwgMCwgezB4MmQsMHg0MCwweDJmLDB4YzAsMHgwMywweGYwLDB4ODgsMHhmZiwweDAwLDB4MzcsMHhjMCwweDhmLDB4ZDAsMHgwMywweGU4LDB4MDIgfSB9LAoteyAgMTYsIDB4ZmZkMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmZSwweDQwLDB4ZmYsMHg4MCwweDMzLDB4YzIgfSB9LAoteyAgMTYsIDB4ZmZlMCwgMCwgezB4MGMsMHhmOCwweDAzLDB4N2MsMHhhMCwweGZmLDB4OTAsMHgzZiwweGM0LDB4MmMsMHhiNCwweDAzLDB4YmMsMHg4MCwweGNmLDB4NDAgfSB9LAoteyAgMTYsIDB4ZmZmMCwgMCwgezB4MzcsMHhlMCwweDBmLDB4ZjEsMHg5MywweDZlLDB4NDQsMHhiZiwweDMwLDB4M2YsMHgyMCwweDJjLDB4ZjgsMHg2MywweGYwLDB4MDQgfSB9LAoteyAgMTYsIDB4ODAxMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MTAsMHhlYywweDAwLDB4ZWIsMHgyMCwweDIzLDB4ZjAgfSB9LAoteyAgMTYsIDB4ODAyMCwgMCwgezB4MDgsMHhiOCwweDUyLDB4M2QsMHgwMCwweGIzLDB4MDAsMHgyZSwweGRjLDB4MDgsMHhmNCwweDQyLDB4MWMsMHg0MiwweDhiLDB4NDAgfSB9LAoteyAgMTYsIDB4ODAzMCwgMCwgezB4MjIsMHhjOCwweDBiLDB4ZjYsMHgwMywweDZjLDB4ODgsMHhiYiwweDMwLDB4MmUsMHgwMCwweDA4LDB4YjIsMHgwMiwweGUwLDB4MDQgfSB9LAoteyAgMTYsIDB4ODA0MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDAwLDB4YmIsMHgwOCwweDIwLDB4YzAgfSB9LAoteyAgMTYsIDB4ODA1MCwgMCwgezB4MDgsMHgzMCwweDAyLDB4NGMsMHhhMCwweGIzLDB4MjAsMHgyNiwweDgwLDB4ODgsMHgzNiwweDAyLDB4Y2MsMHhhMCwweDkzLDB4NjAgfSB9LAoteyAgMTYsIDB4ODA2MCwgMCwgezB4YTQsMHhjMiwweDBhLDB4MzIsMHg0MiwweDRjLDB4OTAsMHhiMywweDIwLDB4MmMsMHgwYiwweDg4LDB4MzAsMHg4MiwweGUyLDB4MDEgfSB9LAoteyAgMTYsIDB4ODA3MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MTUsMHhhYywweDA4LDB4YmIsMHgyMiwweGEyLDB4YzAgfSB9LAoteyAgMTYsIDB4ODA4MCwgMCwgezB4MDgsMHhiMCwweDAyLDB4MmMsMHgwMCwweGJiLDB4MDAsMHgyZSwweDkwLDB4MDgsMHhiMCwweDAyLDB4ZWMsMHgwMCwweDliLDB4MDAgfSB9LAoteyAgMTYsIDB4ODA5MCwgMCwgezB4MjIsMHhjMCwweDBiLDB4YjAsMHgwMiwweDZjLDB4MDAsMHhiYiwweDAyLDB4MmUsMHgyMCwweDA4LDB4YjAsMHgwMiwweGYwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODBhMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlYywweDAwLDB4YjEsMHg4MywweDMyLDB4YzAgfSB9LAoteyAgMTYsIDB4ODBiMCwgMCwgezB4MGMsMHgxYSwweDAzLDB4NmMsMHgxMCwweGZiLDB4MDAsMHgzNCwweGMwLDB4MGMsMHhiMCwweDAzLDB4ZWMsMHgwOCwweGRhLDB4MDAgfSB9LAoteyAgMTYsIDB4ODBjMCwgMCwgezB4MzYsMHhjMCwweDBlLDB4YjAsMHgwYiwweDZjLDB4MDAsMHhmYiwweDAwLDB4M2UsMHgyOCwweDBjLDB4YjAsMHgwMiwweGQwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODBkMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDEsMHhiYywweDAwLDB4ZWQsMHg4MCwweDNmLDB4YzAgfSB9LAoteyAgMTYsIDB4ODBlMCwgMCwgezB4MGYsMHhkNCwweDAzLDB4ZWMsMHgwMCwweGZmLDB4MDAsMHgzZiwweGM4LDB4MGYsMHhiMCwweDAzLDB4M2MsMHgwMCwweGVlLDB4NDAgfSB9LAoteyAgMTYsIDB4ODBmMCwgMCwgezB4M2YsMHhjMCwweDBmLDB4NzAsMHgwMywweGZjLDB4MDAsMHhmZiwweDAwLDB4M2YsMHg4MCwweDBmLDB4ZjAsMHgwMywweGY4LDB4MDAgfSB9LAoteyAgMTYsIDB4ODEwMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhYywweDAwLDB4ZmIsMHgyMCwweGIwLDB4YzAgfSB9LAoteyAgMTYsIDB4ODExMCwgMCwgezB4MGYsMHhiNCwweDAzLDB4YWMsMHgwMiwweGNiLDB4MDAsMHgzMiwweDkwLDB4MGUsMHhiMCwweDAzLDB4NmMsMHgwMCwweGViLDB4MDAgfSB9LAoteyAgMTYsIDB4ODEyMCwgMCwgezB4M2EsMHhjMCwweDBjLDB4YjAsMHgwMiwweGVjLDB4MDAsMHhmYiwweDAwLDB4M2UsMHg5MSwweDBmLDB4YjAsMHgwMywweDkwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODEzMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM4LDB4MDUsMHgyYywweDAwLDB4YmIsMHg4MCwweDIzLDB4ZDcgfSB9LAoteyAgMTYsIDB4ODE0MCwgMCwgezB4MGIsMHg5MCwweDAyLDB4M2MsMHgxNCwweDhiLDB4MDAsMHg2YSwweDA4LDB4MjgsMHhmMCwweDAwLDB4YmMsMHgwMCwweDgzLDB4MDAgfSB9LAoteyAgMTYsIDB4ODE1MCwgMCwgezB4YmUsMHhjMCwweDg4LDB4ZjAsMHgxMywweDJjLDB4MDAsMHhlZiwweDAwLDB4MmUsMHg4MCwweDBiLDB4YjAsMHgwNywweGIyLDB4MDAgfSB9LAoteyAgMTYsIDB4ODE2MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0YywweDAwLDB4YjMsMHg0MCwweDIwLDB4ZDAgfSB9LAoteyAgMTYsIDB4ODE3MCwgMCwgezB4MGIsMHgyOCwweDAyLDB4OGMsMHgwMCwweDgzLDB4MDEsMHgyMCwweGMwLDB4MWEsMHhiOCwweDAwLDB4NmMsMHgxMCwweGExLDB4MDAgfSB9LAoteyAgMTYsIDB4ODE4MCwgMCwgezB4NjgsMHhjMCwweDJhLDB4MzAsMHgwMiwweDhjLDB4MDAsMHhiMywweDAyLDB4MmUsMHgwMCwweDRiLDB4MzAsMHgwMiwweGY4LDB4MDQgfSB9LAoteyAgMTYsIDB4ODE5MCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIwLDB4MDEsMHgxZSwweDAwLDB4YjcsMHhhMCwweDIxLDB4ZTAgfSB9LAoteyAgMTYsIDB4ODFhMCwgMCwgezB4MGIsMHhlYywweGMyLDB4MWUsMHgwNCwweDg3LDB4ODAsMHgyOSwweGU0LDB4MDgsMHg3OSwweDgyLDB4OWUsMHg0MCwweGFmLDB4OTAgfSB9LAoteyAgMTYsIDB4ODFiMCwgMCwgezB4MjksMHhlMCwweDBhLDB4MzgsMHgwMCwweDFlLDB4MDAsMHhhNywweDkwLDB4MmQsMHgyNCwweDBiLDB4NzgsMHgwMiwweDg4LDB4MDAgfSB9LAoteyAgMTYsIDB4ODFjMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDUwLDB4ZmIsMHgwOSwweDMwLDB4YzAgfSB9LAoteyAgMTYsIDB4ODFkMCwgMCwgezB4MGYsMHgyMCwweDAyLDB4OGMsMHg0MCwweGMzLDB4MDAsMHgyMCwweGMwLDB4MGEsMHgzOCwweDAzLDB4NGMsMHg0NCwweGUxLDB4MDAgfSB9LAoteyAgMTYsIDB4ODFlMCwgMCwgezB4YWEsMHhjMCwweDBlLDB4MzEsMHg0MywweDhlLDB4MDAsMHhmMywweDAwLDB4M2MsMHgwMCwweDBmLDB4MzAsMHgwMywweGQyLDB4MDIgfSB9LAoteyAgMTYsIDB4ODFmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4NGQsMHhiYywweDAwLDB4ZmYsMHgyMCwweDNmLDB4ZDAgfSB9LAoteyAgMTYsIDB4ODIwMCwgMCwgezB4NGYsMHg3MCwweDAzLDB4ZmMsMHgwMCwweGZmLDB4MDAsMHgzZCwweGMwLDB4MGYsMHhmMywweDQzLDB4ZmMsMHg0MCwweGQ3LDB4MDAgfSB9LAoteyAgMTYsIDB4ODIxMCwgMCwgezB4YmYsMHhjMCwweDBkLDB4ZjQsMHhjMywweGZjLDB4NDAsMHhmZiwweDAwLDB4M2YsMHg0MCwweDBmLDB4ZjAsMHgwMywweGQwLDB4MDYgfSB9LAoteyAgMTYsIDB4ODIyMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlYywweDAwLDB4ZmIsMHgwMCwweDMyLDB4ZDAgfSB9LAoteyAgMTYsIDB4ODIzMCwgMCwgezB4MGQsMHg5MCwweDAxLDB4ZWQsMHhjMCwweGZiLDB4MDAsMHgzZSwweGMwLDB4MWYsMHhiYSwweDAzLDB4YWMsMHhjMCwweGM4LDB4MDAgfSB9LAoteyAgMTYsIDB4ODI0MCwgMCwgezB4MzIsMHhlMCwweDhkLDB4YjQsMHg0MywweGVjLDB4MDAsMHhmYiwweDAwLDB4MzYsMHhhMCwweDBjLDB4YjAsMHgwMywweDZhLDB4MDAgfSB9LAoteyAgMTYsIDB4ODI1MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MTEsMHg5YywweDAwLDB4YjcsMHgwMCwweDIxLDB4YzggfSB9LAoteyAgMTYsIDB4ODI2MCwgMCwgezB4MDgsMHg2MCwweDAyLDB4ZGMsMHgyMCwweGI3LDB4MDAsMHgyZCwweGMwLDB4MGYsMHg3NCwweGEyLDB4MWMsMHgyOCwweGQ2LDB4MDAgfSB9LAoteyAgMTYsIDB4ODI3MCwgMCwgezB4MzUsMHhjMCwweDA4LDB4NzIsMHgwMiwweDVjLDB4MDgsMHhiNywweDQ0LDB4YTEsMHg4MCwweDQ4LDB4NzAsMHgwMiwweDEyLDB4MDAgfSB9LAoteyAgMTYsIDB4ODI4MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZSwweDAwLDB4YjcsMHg4MCwweDIwLDB4ZTQgfSB9LAoteyAgMTYsIDB4ODI5MCwgMCwgezB4MDksMHg3OCwweDI2LDB4ZGUsMHgwMCwweGI3LDB4ODAsMHgyZCwweGUyLDB4MGEsMHg3MCwweDEyLDB4OGMsMHg4OCwweDgxLDB4ODAgfSB9LAoteyAgMTYsIDB4ODJhMCwgMCwgezB4MjEsMHhlMCwweDA5LDB4NzgsMHgwMiwweGRlLDB4MDAsMHhiMywweGEwLDB4MjUsMHhhMCwweDI4LDB4NzgsMHgwMiwweDcwLDB4MDQgfSB9LAoteyAgMTYsIDB4ODJiMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MTQsMHhjYywweDAxLDB4YmIsMHg4MCwweDIwLDB4YzAgfSB9LAoteyAgMTYsIDB4ODJjMCwgMCwgezB4MDgsMHgzMCwweDQyLDB4ZWMsMHgwMCwweGIzLDB4MDAsMHgyYywweGMwLDB4MGEsMHgzMCwweDIyLDB4MGMsMHgwMCwweDkzLDB4MDAgfSB9LAoteyAgMTYsIDB4ODJkMCwgMCwgezB4MjQsMHhjMSwweDA4LDB4MzAsMHgwMiwweGNjLDB4MDAsMHhiMywweDAwLDB4MjAsMHhlMCwweDA4LDB4YjAsMHgwMiwweDEyLDB4MDQgfSB9LAoteyAgMTYsIDB4ODJlMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOCwweDAwLDB4ZmEsMHgwOCwweGIyLDB4ODAgfSB9LAoteyAgMTYsIDB4ODJmMCwgMCwgezB4MGQsMHhlMiwweDAzLDB4ZTgsMHgwMCwweGZhLDB4MDAsMHgzZiwweDgwLDB4MGEsMHhhMCwweDAzLDB4YTgsMHgwMCwweGNlLDB4NTAgfSB9LAoteyAgMTYsIDB4ODMwMCwgMCwgezB4MzIsMHg4MCwweDA1LDB4YTAsMHgwMywweGU4LDB4MDAsMHhmYSwweDAwLDB4MzcsMHhhOCwweDBjLDB4YTAsMHgwMywweDdhLDB4MDQgfSB9LAoteyAgMTYsIDB4ODMxMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDAsMHg2MCwweDA4LDB4ZjgsMHgwMCwweDNjLDB4MDAgfSB9LAoteyAgMTYsIDB4ODMyMCwgMCwgezB4MGYsMHg4OCwweDAxLDB4ZTAsMHgwMCwweGY4LDB4MDQsMHgzYywweDAwLDB4NGYsMHgwMCwweDEzLDB4YzAsMHgwMCwweGY4LDB4MDAgfSB9LAoteyAgMTYsIDB4ODMzMCwgMCwgezB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweDYwLDB4MDAsMHhmOCwweDAyLDB4M2UsMHgwMSwweDBmLDB4ODAsMHgwMywweGQyLDB4MDAgfSB9LAoteyAgMTYsIDB4ODM0MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDAwLDB4ZjksMHg5MCwweDEyLDB4NDAgfSB9LAoteyAgMTYsIDB4ODM1MCwgMCwgezB4MGMsMHg5MCwweDAzLDB4YTQsMHgwMCwweGM5LDB4MDAsMHgzZSwweDcwLDB4MGUsMHg5NCwweDMzLDB4MjQsMHgwOCwweGM5LDB4MDAgfSB9LAoteyAgMTYsIDB4ODM2MCwgMCwgezB4MmEsMHg0MCwweDBiLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4M2EsMHg0MCwweDBmLDB4OTAsMHgwMywweDAyLDB4MDQgfSB9LAoteyAgMTYsIDB4ODM3MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDQsMHg2NCwweDAwLDB4YjksMHg0MiwweDIyLDB4NjAgfSB9LAoteyAgMTYsIDB4ODM4MCwgMCwgezB4MDgsMHgxMCwweDAyLDB4MjQsMHgwMCwweDg5LDB4MDMsMHgyZSwweDQwLDB4MDgsMHg5MCwweDAyLDB4YTQsMHgwMSwweDgxLDB4MDQgfSB9LAoteyAgMTYsIDB4ODM5MCwgMCwgezB4M2UsMHg0MCwweDBiLDB4OTAsMHgwMiwweGU0LDB4MDAsMHhiOSwweDAyLDB4MjIsMHg0MCwweDBlLDB4OTAsMHgwMiwweDIwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODNhMCwgMCwgezB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDAwLDB4YjksMHg0MCwweDJhLDB4NGEgfSB9LAoteyAgMTYsIDB4ODNiMCwgMCwgezB4MDgsMHg5MSwweDAyLDB4YTQsMHgwMCwweDg5LDB4MDAsMHgyZSwweDQwLDB4MWEsMHg5MCwweDBhLDB4MjQsMHgwNCwweDg5LDB4MDAgfSB9LAoteyAgMTYsIDB4ODNjMCwgMCwgezB4MmEsMHg0MCwweDBiLDB4OTAsMHgwMiwweGU0LDB4MDAsMHhiMSwweDAwLDB4MmEsMHg0MCwweDBiLDB4OTAsMHgwMiwweDA2LDB4MDAgfSB9LAoteyAgMTYsIDB4ODNkMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDQsMHgwNCwweDAwLDB4YjEsMHgwMSwweGE4LDB4NDggfSB9LAoteyAgMTYsIDB4ODNlMCwgMCwgezB4ODgsMHg5MCwweDAyLDB4MDQsMHg4MCwweDgxLDB4NDAsMHgyYywweDUwLDB4MTgsMHgxNCwweDBhLDB4ODQsMHgxMCwweDg5LDB4NDAgfSB9LAoteyAgMTYsIDB4ODNmMCwgMCwgezB4MmMsMHg0MCwweDBiLDB4MTAsMHgwMiwweGM0LDB4MDAsMHgzMSwweDIwLDB4MjAsMHg0MCwweDBhLDB4MTAsMHgwYSwweDAyLDB4MDEgfSB9LAoteyAgMTYsIDB4ODQwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MSwweDQwLDB4ZjAsMHg1MCwweDNhLDB4MDAgfSB9LAoteyAgMTYsIDB4ODQxMCwgMCwgezB4MmMsMHhhMCwweDAyLDB4YTEsMHg0MiwweGM4LDB4MDAsMHgzZSwweDAwLDB4ZGUsMHgwMCwweDIzLDB4MjEsMHg0MiwweDg4LDB4MDAgfSB9LAoteyAgMTYsIDB4ODQyMCwgMCwgezB4MzgsMHgxNCwweDBmLDB4ODUsMHgwMywweGUxLDB4NDAsMHhmOCwweDUwLDB4MzgsMHgxNCwweDBmLDB4MDUsMHgwMywweDJlLDB4MDEgfSB9LAoteyAgMTYsIDB4ODQzMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDk4LDB4MWQsMHhlNCwweDA4LDB4ZmQsMHgwMCwweDM2LDB4NDQgfSB9LAoteyAgMTYsIDB4ODQ0MCwgMCwgezB4MGYsMHhkMCwweDAzLDB4NjQsMHg0MCwweGY5LDB4MDAsMHgzZCwweDUwLDB4MGYsMHg5NCwweDAzLDB4ZTUsMHgwMCwweDdkLDB4NDAgfSB9LAoteyAgMTYsIDB4ODQ1MCwgMCwgezB4M2UsMHg0MCwweDBmLDB4OTQsMHgwMywweGU0LDB4MDAsMHhmOSwweDEwLDB4M2YsMHg0MCwweDBlLDB4OTAsMHgwMywweGU2LDB4MDQgfSB9LAoteyAgMTYsIDB4ODQ2MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhlNCwweDAwLDB4ZmQsMHg0MCwweDMzLDB4NjggfSB9LAoteyAgMTYsIDB4ODQ3MCwgMCwgezB4MGMsMHhkMCwweDAzLDB4ZTcsMHg4MSwweGY5LDB4MDAsMHgzMywweDc4LDB4MGQsMHhkOCwweDEzLDB4MjYsMHhhMCwweGNkLDB4YTAgfSB9LAoteyAgMTYsIDB4ODQ4MCwgMCwgezB4MzIsMHg0MCwweDBkLDB4OWIsMHgwMywweDI0LDB4MDAsMHhmOSwweGEwLDB4M2MsMHg0NCwweDJjLDB4OTAsMHgwNywweDg2LDB4MDAgfSB9LAoteyAgMTYsIDB4ODQ5MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDM4LDB4MTAsMHhlMCwweDAwLDB4YjgsMHhhMCwweGEyLDB4MTAgfSB9LAoteyAgMTYsIDB4ODRhMCwgMCwgezB4MTgsMHg4MCwweDAzLDB4ODIsMHg4NCwweGI4LDB4ODAsMHgzNiwweDJjLDB4MmUsMHgwZiwweDAyLDB4YTMsMHhhMCwweGQ4LDB4ZTAgfSB9LAoteyAgMTYsIDB4ODRiMCwgMCwgezB4MzYsMHgyMiwweDhiLDB4MDgsMHgwMywweDQyLDB4YTAsMHhmOCwweGUwLDB4MmUsMHgyOCwweDA4LDB4ODgsMHgwMiwweGNlLDB4MDQgfSB9LAoteyAgMTYsIDB4ODRjMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweDAwLDB4YjEsMHgwMCwweGEwLDB4NTAgfSB9LAoteyAgMTYsIDB4ODRkMCwgMCwgezB4MjgsMHgzMCwweDAyLDB4YzUsMHg4MCwweGIxLDB4MDgsMHgyMCwweDQwLDB4MDksMHgxMCwweGEyLDB4NDQsMHgwOCwweDgxLDB4NDggfSB9LAoteyAgMTYsIDB4ODRlMCwgMCwgezB4MjAsMHg0MCwweDBiLDB4MTQsMHgwMiwweDA0LDB4ODAsMHhiMSwweDM4LDB4MmMsMHg0OCwweDA4LDB4MTIsMHg4MiwweDgyLDB4MDEgfSB9LAoteyAgMTYsIDB4ODRmMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MTEsMHhhNCwweDAwLDB4YjEsMHgwMCwweDIyLDB4NDAgfSB9LAoteyAgMTYsIDB4ODUwMCwgMCwgezB4MDgsMHg5MiwweDAyLDB4ZTQsMHgwMCwweGI5LDB4MDIsMHgyNiwweDU4LDB4NGEsMHg5MCwweDAyLDB4ZTQsMHgwOCwweDk5LDB4NDAgfSB9LAoteyAgMTYsIDB4ODUxMCwgMCwgezB4MjYsMHg0MCwweDBiLDB4OTAsMHgwMiwweDY0LDB4MDgsMHhiOSwweDAxLDB4MmMsMHg0OCwweDA4LDB4OTAsMHgxMiwweGM2LDB4MDQgfSB9LAoteyAgMTYsIDB4ODUyMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNCwweDAwLDB4ZjksMHg4MCwweDMyLDB4NDAgfSB9LAoteyAgMTYsIDB4ODUzMCwgMCwgezB4MDgsMHg5OCwweDgzLDB4ZTQsMHgwNCwweGI5LDB4MDEsMHgzMCwweDQwLDB4MGQsMHg5MCwweDBiLDB4NjQsMHgwMiwweGM5LDB4MDAgfSB9LAoteyAgMTYsIDB4ODU0MCwgMCwgezB4MzIsMHg0MCwweDBmLDB4OTAsMHgwMywweDI0LDB4MDAsMHhmOSwweDAwLDB4MWUsMHg1OCwweDBjLDB4OTAsMHgwMywweGE4LDB4MDQgfSB9LAoteyAgMTYsIDB4ODU1MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDEsMHhhNCwweDAwLDB4ZjksMHgyMCwweDNjLDB4NDAgfSB9LAoteyAgMTYsIDB4ODU2MCwgMCwgezB4MGYsMHg5OCwweDAzLDB4YTQsMHgwMCwweGI5LDB4MDAsMHgzZSwweDQyLDB4OGUsMHgxMCwweDRiLDB4ODQsMHgwNCwweGY5LDB4MDAgfSB9LAoteyAgMTYsIDB4ODU3MCwgMCwgezB4M2UsMHg0MCwweDhmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhlOSwweDAwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGNhLDB4MDAgfSB9LAoteyAgMTYsIDB4ODU4MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMCwweDAwLDB4ZDgsMHgwMCwweDMyLDB4MDggfSB9LAoteyAgMTYsIDB4ODU5MCwgMCwgezB4MGYsMHg4NCwweDgzLDB4YTAsMHgwNCwweGM4LDB4MDQsMHgzZSwweDAwLDB4ODMsMHg4MCwweDAxLDB4MjAsMHgwMCwweGMwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODVhMCwgMCwgezB4MzIsMHgwMCwweDBmLDB4MDAsMHgwMywweGEwLDB4MDAsMHhjOCwweDAwLDB4MzIsMHgxMCwweDRlLDB4ODAsMHgxMywweGNhLDB4MDQgfSB9LAoteyAgMTYsIDB4ODViMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHgyOCwweDAwLDB4OGUsMHg5MCwweGEzLDB4ODAgfSB9LAoteyAgMTYsIDB4ODVjMCwgMCwgezB4MGIsMHhlNCwweDAyLDB4MjgsMHgwMCwweGNhLDB4MDAsMHgyZiwweDgwLDB4NGEsMHhhMCwweDEzLDB4YTgsMHgwMCwweGFhLDB4MDAgfSB9LAoteyAgMTYsIDB4ODVkMCwgMCwgezB4MzYsMHg4MSwweDBiLDB4YTAsMHgwMiwweDI4LDB4MDAsMHg4YSwweDAwLDB4MjIsMHg4MCwweDA4LDB4YTAsMHgwMywweDhhLDB4MDAgfSB9LAoteyAgMTYsIDB4ODVlMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAwLDB4OTMsMHhjMCwweDIwLDB4ZDAgfSB9LAoteyAgMTYsIDB4ODVmMCwgMCwgezB4MGIsMHgzNCwweDAyLDB4OGMsMHgwMCwweDhiLDB4MDAsMHgyYywweGYwLDB4OGIsMHgxOCwweDAyLDB4NGMsMHgwMCwweDgzLDB4MDAgfSB9LAoteyAgMTYsIDB4ODYwMCwgMCwgezB4NjAsMHhjMCwweDBiLDB4MzAsMHgwMiwweDhjLDB4MDIsMHg4MywweDAwLDB4MjgsMHhjMSwweDBhLDB4MzAsMHgwMiwweGNhLDB4MDAgfSB9LAoteyAgMTYsIDB4ODYxMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MDEsMHgxZSwweDAwLDB4YjQsMHgwYiwweDY5LDB4YzAgfSB9LAoteyAgMTYsIDB4ODYyMCwgMCwgezB4MDksMHg1OCwweDA2LDB4MWUsMHg4MCwweDk3LDB4MTAsMHgyZiwweGMyLDB4NDgsMHg3MCwweDgyLDB4OWMsMHg4MCwweGE3LDB4MDggfSB9LAoteyAgMTYsIDB4ODYzMCwgMCwgezB4MjUsMHhjYywweDBiLDB4NzAsMHgwMiwweDFlLDB4ODEsMHg4NywweGEyLDB4YWIsMHhjNCwweDA4LDB4NzMsMHgwMiwweGU4LDB4MDAgfSB9LAoteyAgMTYsIDB4ODY0MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgzZSwweDEwLDB4ZGMsMHg4NCwweDIxLDB4ZTAgfSB9LAoteyAgMTYsIDB4ODY1MCwgMCwgezB4MGYsMHg3OCwweDQyLDB4OWYsMHgwMiwweGM3LDB4ODgsMHgzZCwweGUwLDB4MmYsMHg3MSwweDAzLDB4NGUsMHgwMCwweGNmLDB4ODAgfSB9LAoteyAgMTYsIDB4ODY2MCwgMCwgezB4MjEsMHhlMiwweDBmLDB4NzgsMHg4MywweDllLDB4NDksMHhjZiwweGQwLDB4MzksMHhlOCwweDBlLDB4NzgsMHgwMywweGVhLDB4MDIgfSB9LAoteyAgMTYsIDB4ODY3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4NGQsMHhhYywweDQwLDB4Y2EsMHgwMCwweDM2LDB4MDAgfSB9LAoteyAgMTYsIDB4ODY4MCwgMCwgezB4OGYsMHgzMCwweDIzLDB4ZWMsMHhhOCwweGViLDB4NDAsMHgzYywweGMwLDB4MGYsMHg5NiwweDQzLDB4ZWQsMHg4MCwweGZiLDB4MDAgfSB9LAoteyAgMTYsIDB4ODY5MCwgMCwgezB4M2UsMHhkOCwweDhmLDB4YjEsMHg0MywweGVkLDB4ODAsMHhmYiwweDIwLDB4MzYsMHhjYSwweDBmLDB4YjAsMHhhMywweDgyLDB4MDYgfSB9LAoteyAgMTYsIDB4ODZhMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmZSwweDgwLDB4ZmMsMHg4MCwweDMxLDB4ZTAgfSB9LAoteyAgMTYsIDB4ODZiMCwgMCwgezB4MDUsMHhhYSwweDEwLDB4ZmUsMHg0NCwweGZmLDB4OTAsMHgzZiwweGUxLDB4Y2YsMHhmOSwweDE3LDB4M2YsMHgyMCwweGQ3LDB4ODAgfSB9LAoteyAgMTYsIDB4ODZjMCwgMCwgezB4OGIsMHhlNCwweDBmLDB4ZjgsMHgwMywweDNlLDB4MzAsMHhmZiwweDgwLDB4MzcsMHhlMCwweDBmLDB4ZjgsMHgwMCwweDQwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODZkMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTEsMHg5YywweDAwLDB4YmQsMHgxMCwweDIxLDB4YzAgfSB9LAoteyAgMTYsIDB4ODZlMCwgMCwgezB4MDgsMHg0YSwweDAyLDB4ZGMsMHhjMCwweGI3LDB4MDAsMHgyZCwweGMyLDB4MGMsMHhkMywweDAyLDB4MWMsMHg4MCwweDg3LDB4MDAgfSB9LAoteyAgMTYsIDB4ODZmMCwgMCwgezB4MjksMHhjMCwweDRiLDB4NzIsMHgwMiwweDFjLDB4MDAsMHhiNywweDAxLDB4MjEsMHhjMCwweDBiLDB4ZjAsMHgxMiwweDJhLDB4MDQgfSB9LAoteyAgMTYsIDB4ODcwMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5YywweDkwLDB4MzQsMHgwMCwweDIxLDB4ODAgfSB9LAoteyAgMTYsIDB4ODcxMCwgMCwgezB4MDksMHg3MCwweDAwLDB4NWMsMHgwYywweGI3LDB4MDAsMHgyZCwweGM0LDB4MDgsMHg1MCwweDFhLDB4MGMsMHgwMCwweDk3LDB4MDAgfSB9LAoteyAgMTYsIDB4ODcyMCwgMCwgezB4MjEsMHhjMCwweDRiLDB4MzAsMHgwMiwweDFjLDB4MDAsMHhiNywweDAwLDB4MjUsMHhjMCwweDBiLDB4NzAsMHgwMiwweDQwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODczMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIwLDB4MTQsMHhjYywweDAwLDB4YjAsMHgwMCwweDYwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODc0MCwgMCwgezB4MDgsMHgzZSwweDAyLDB4Y2MsMHgwMCwweGIzLDB4MDIsMHgwYywweGUwLDB4MmIsMHhiMCwweDAyLDB4MGMsMHgwMCwweDkzLDB4MDAgfSB9LAoteyAgMTYsIDB4ODc1MCwgMCwgezB4MjgsMHhjMCwweDBiLDB4YjAsMHgwMiwweDJjLDB4MTAsMHhiMywweDAwLDB4MjAsMHhkNiwweDAzLDB4MzAsMHgwMiwweDA4LDB4MDQgfSB9LAoteyAgMTYsIDB4ODc2MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhiYywweDAwLDB4ZmIsMHgwMCwweGIyLDB4MDAgfSB9LAoteyAgMTYsIDB4ODc3MCwgMCwgezB4MDUsMHhiZSwweDAzLDB4N2MsMHgwMCwweGZmLDB4MDAsMHgzZSwweDIwLDB4MGMsMHhiMCwweDAzLDB4M2MsMHgwMCwweGQ5LDB4ODAgfSB9LAoteyAgMTYsIDB4ODc4MCwgMCwgezB4MzMsMHhjMCwweDhiLDB4ZjAsMHgwMywweDNjLDB4MDAsMHhmZiwweDAwLDB4MzcsMHhlMCwweDBmLDB4ZjAsMHgwMywweDZhLDB4MDQgfSB9LAoteyAgMTYsIDB4ODc5MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDAsMHhlYywweDAwLDB4ZmIsMHgwNCwweDNlLDB4MDAgfSB9LAoteyAgMTYsIDB4ODdhMCwgMCwgezB4MGYsMHhhNCwweDIzLDB4Y2MsMHgwMCwweGZiLDB4MDAsMHgzZSwweDgxLDB4MDgsMHg5MCwweDAzLDB4ZWMsMHgwMCwweGU5LDB4MTQgfSB9LAoteyAgMTYsIDB4ODdiMCwgMCwgezB4M2UsMHhjMCwweDBmLDB4YjAsMHgwMywweGVjLDB4MTAsMHhmYiwweDAwLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgwMywweGUwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODdjMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmYywweDAwLDB4ZmYsMHgwMCwweDM3LDB4ODAgfSB9LAoteyAgMTYsIDB4ODdkMCwgMCwgezB4MGYsMHhmYSwweDAzLDB4ZmMsMHgwMCwweGNmLDB4MDAsMHgzZiwweDkwLDB4MDYsMHhkYywweDIzLDB4M2MsMHgwMCwweGZkLDB4MTAgfSB9LAoteyAgMTYsIDB4ODdlMCwgMCwgezB4MzMsMHhjMCwweDBmLDB4ZjAsMHgwYiwweDNjLDB4MDAsMHg0MywweDAwLDB4MzMsMHhjMCwweDBmLDB4ZjAsMHgwMywweGMwLDB4NDQgfSB9LAoteyAgMTYsIDB4ODdmMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgxLDB4MDAsMHg2YywweDA5LDB4YmIsMHgxOSwweDIyLDB4MzIgfSB9LAoteyAgMTYsIDB4ODgwMCwgMCwgezB4MGIsMHhiZSwweDAzLDB4NmMsMHgwMCwweDhiLDB4MDAsMHgyYywweDkwLDB4MGQsMHhiOCwweDAyLDB4YWMsMHgwMCwweGIxLDB4MDAgfSB9LAoteyAgMTYsIDB4ODgxMCwgMCwgezB4ZjIsMHhjMCwweDBiLDB4YjAsMHgxMiwweGFjLDB4MDAsMHg4YiwweDAwLDB4MjIsMHhjMCwweDBiLDB4YjAsMHgwMywweGEwLDB4NDAgfSB9LAoteyAgMTYsIDB4ODgyMCwgMCwgezB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDEwLDB4YjMsMHgwMCwweDI2LDB4MjAgfSB9LAoteyAgMTYsIDB4ODgzMCwgMCwgezB4MGIsMHg5MCwweDEyLDB4ZWMsMHgwMSwweDhiLDB4MDAsMHgyYSwweGMyLDB4MGEsMHg5MCwweDAyLDB4MmMsMHgwMCwweGJiLDB4MDAgfSB9LAoteyAgMTYsIDB4ODg0MCwgMCwgezB4YTIsMHhjMCwweDBiLDB4YjAsMHgwMiwweDJjLDB4MDAsMHhhYiwweDAwLDB4MmEsMHhjMCwweDBiLDB4YjAsMHgwMiwweGUwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODg1MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDQsMHgwYywweDAxLDB4YjMsMHgwMCwweDIwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODg2MCwgMCwgezB4MGIsMHgwMCwweDAyLDB4OGMsMHgwMCwweDgzLDB4MDAsMHgyZSwweGMwLDB4MGIsMHgzNCwweDAyLDB4OGMsMHgwMCwweGJiLDB4MDAgfSB9LAoteyAgMTYsIDB4ODg3MCwgMCwgezB4MjAsMHhjMCwweDBiLDB4MzAsMHgwMiwweDBkLDB4MDAsMHhhMywweDAwLDB4YTAsMHhjMCwweDBiLDB4MzAsMHgwMiwweDgyLDB4MDEgfSB9LAoteyAgMTYsIDB4ODg4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2YywweDAwLDB4YmIsMHgwNCwweDM2LDB4ODAgfSB9LAoteyAgMTYsIDB4ODg5MCwgMCwgezB4MGYsMHhiMiwweDAyLDB4ZmMsMHgwMiwweGNmLDB4MDIsMHgzOCwweGMwLDB4MGUsMHhmMCwweDAzLDB4M2MsMHgwMCwweGZiLDB4MDAgfSB9LAoteyAgMTYsIDB4ODhhMCwgMCwgezB4MjMsMHhjMCwweDBmLDB4ZjAsMHgwMywweDNkLDB4MDIsMHhlZiwweDAwLDB4MzMsMHhjMCwweDBmLDB4ZjAsMHg0MywweGMwLDB4MDMgfSB9LAoteyAgMTYsIDB4ODhiMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MWQsMHhmYywweDAwLDB4ZmYsMHgwMCwweDNmLDB4MDAgfSB9LAoteyAgMTYsIDB4ODhjMCwgMCwgezB4MGYsMHhmNCwweDIzLDB4N2MsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMwLDB4MGQsMHhkMCwweDAzLDB4ZmMsMHgwMCwweGZmLDB4MDAgfSB9LAoteyAgMTYsIDB4ODhkMCwgMCwgezB4M2IsMHhjMCwweDBmLDB4ZjAsMHgwMywweGZjLDB4ODgsMHhkZiwweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGE4LDB4MDYgfSB9LAoteyAgMTYsIDB4ODhlMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmMCwweDUwLDB4Y2UsMHgxMiwweDMzLDB4ZDAgfSB9LAoteyAgMTYsIDB4ODhmMCwgMCwgezB4NGMsMHg4NiwweDgzLDB4MzAsMHg4MCwweDVmLDB4NjgsMHgzMywweGM0LDB4MGYsMHhmMywweDgzLDB4M2MsMHhjMCwweGNjLDB4MzggfSB9LAoteyAgMTYsIDB4ODkwMCwgMCwgezB4YjMsMHgwOCwweDBjLDB4YzYsMHgwMywweGYxLDB4YTAsMHhmZiwweDAwLDB4MzMsMHgyNCwweDBjLDB4YzIsMHgwMywweGYwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODkxMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MTAsMHhlYywweDgwLDB4ZDIsMHgyMCwweDIzLDB4ZDggfSB9LAoteyAgMTYsIDB4ODkyMCwgMCwgezB4MGQsMHg5NiwweDAyLDB4ODgsMHg2MCwweGFmLDB4NDAsMHgyMywweGRjLDB4MGIsMHhmNiwweDAyLDB4M2MsMHhjMiwweDg4LDB4NjAgfSB9LAoteyAgMTYsIDB4ODkzMCwgMCwgezB4MjIsMHg1MiwweDA4LDB4OTEsMHgyMiwweGUxLDB4MDAsMHhiNywweDI0LDB4YTIsMHg0OCwweDhhLDB4ODQsMHg4MiwweDYwLDB4MDQgfSB9LAoteyAgMTYsIDB4ODk0MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjNCwweDAwLDB4ODEsMHgwMCwweGUwLDB4YzQgfSB9LAoteyAgMTYsIDB4ODk1MCwgMCwgezB4MGEsMHgwMCwweDAyLDB4MDQsMHg4MCwweGEzLDB4MjAsMHhhOCwweGMwLDB4MWIsMHgzMCwweDBhLDB4MGMsMHgwMCwweGEwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODk2MCwgMCwgezB4MjgsMHgwYywweDA5LDB4MDIsMHgwMiwweGM0LDB4ODAsMHhiMywweDFjLDB4MjIsMHgwOCwweDE5LDB4MDMsMHgwMiwweGUyLDB4MTEgfSB9LAoteyAgMTYsIDB4ODk3MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MTUsMHhhNCwweDAwLDB4OTksMHg4MCwweDYyLDB4YzAgfSB9LAoteyAgMTYsIDB4ODk4MCwgMCwgezB4MGIsMHhhMCwweDMyLDB4YTQsMHg1MSwweGFiLDB4MDAsMHgyYSwweGMwLDB4OGIsMHhiMCwweDAwLDB4MGMsMHgwMCwweGE5LDB4YzAgfSB9LAoteyAgMTYsIDB4ODk5MCwgMCwgezB4MmEsMHgyMSwweDA4LDB4YjgsMHgyMiwweGUyLDB4MDAsMHhiYiwweDAwLDB4MjIsMHg4NCwweDFiLDB4YTgsMHg0MiwweDcwLDB4MDQgfSB9LAoteyAgMTYsIDB4ODlhMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlMiwweDAwLDB4Y2IsMHhjOSwweDMyLDB4YzAgfSB9LAoteyAgMTYsIDB4ODliMCwgMCwgezB4MGUsMHg4YiwweDEzLDB4MjIsMHgxMCwweGRiLDB4MDEsMHgzMiwweGMwLDB4MGYsMHhiMCwweDBiLDB4MmMsMHgwMCwweDY4LDB4ODEgfSB9LAoteyAgMTYsIDB4ODljMCwgMCwgezB4M2EsMHgyMiwweDJjLDB4ODgsMHgyMywweGUzLDB4MDAsMHhmYiwweDAwLDB4MzAsMHgzMCwweDhkLDB4OWMsMHg4MywweGQwLDB4MDQgfSB9LAoteyAgMTYsIDB4ODlkMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDEsMHhiYSwweDQwLDB4ZjcsMHgwNCwweDNlLDB4YzIgfSB9LAoteyAgMTYsIDB4ODllMCwgMCwgezB4MGQsMHhkOCwweDIzLDB4ZDgsMHgwMCwweDdiLDB4MDAsMHgzNywweGMwLDB4MGYsMHg3MCwweDMzLDB4ZmMsMHgxMCwweGQyLDB4MDAgfSB9LAoteyAgMTYsIDB4ODlmMCwgMCwgezB4MzUsMHhjMCwweDhmLDB4YzAsMHgwMywweGY0LDB4MDAsMHhmNywweDAyLDB4M2YsMHhlMCwweDBlLDB4ODAsMHgwMywweGY4LDB4MDAgfSB9LAoteyAgMTYsIDB4OGEwMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHg4MSwweDIwLDB4YzgsMHgwOCwweDMwLDB4YzAgfSB9LAoteyAgMTYsIDB4OGExMCwgMCwgezB4MGMsMHgwMCwweDgzLDB4MjQsMHg0MCwweGMzLDB4ODksMHgzYSwweGMwLDB4MGUsMHhiMCwweDBiLDB4MmMsMHgwOCwweGM5LDB4NDggfSB9LAoteyAgMTYsIDB4OGEyMCwgMCwgezB4NzIsMHg1NCwweDBmLDB4OTEsMHgwMywweGVkLDB4MDIsMHhlYiwweDhhLDB4M2EsMHg2MiwweDhjLDB4ODAsMHgwYiwweDEwLDB4MDQgfSB9LAoteyAgMTYsIDB4OGEzMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM4LDB4MDUsMHgyYiwweDA0LDB4ODgsMHg0MCwweGEzLDB4YzIgfSB9LAoteyAgMTYsIDB4OGE0MCwgMCwgezB4MDIsMHhhZSwweDEyLDB4MjcsMHg0MiwweDhmLDB4NDQsMHgyMywweGMyLDB4MGIsMHhmNCwweDAyLDB4M2QsMHgwMCwweDBhLDB4NDAgfSB9LAoteyAgMTYsIDB4OGE1MCwgMCwgezB4MjIsMHhlMCwweDBiLDB4YjUsMHgwMiwweGVjLDB4MjAsMHg4ZiwweDQ0LDB4YTIsMHg0MCwweDhkLDB4YmQsMHgyMywweDMyLDB4MDAgfSB9LAoteyAgMTYsIDB4OGE2MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0OSwweDQwLDB4ODMsMHg4MSwweDI0LDB4YzEgfSB9LAoteyAgMTYsIDB4OGE3MCwgMCwgezB4MDgsMHgyOCwweDAyLDB4MDEsMHgwMCwweDkzLDB4MDAsMHhhMCwweGU4LDB4MGEsMHgzMCwweDgyLDB4OGYsMHg2MCwweGIzLDB4OTAgfSB9LAoteyAgMTYsIDB4OGE4MCwgMCwgezB4NjAsMHhiOCwweDBiLDB4MjgsMHgxMiwweDRhLDB4MDAsMHg5MywweDAwLDB4MjAsMHg5MCwweDA5LDB4MjAsMHgwMiwweDc4LDB4MDAgfSB9LAoteyAgMTYsIDB4OGE5MCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIwLDB4MDEsMHgxZSwweDAyLDB4ODcsMHhhOCwweDI1LDB4ZTAgfSB9LAoteyAgMTYsIDB4OGFhMCwgMCwgezB4MGEsMHg3YiwweDAyLDB4MWEsMHgwNCwweDg3LDB4ODAsMHgyMSwweGU0LDB4MGIsMHg3OCwweDgyLDB4OGUsMHgwMiwweDk2LDB4OTEgfSB9LAoteyAgMTYsIDB4OGFiMCwgMCwgezB4MjEsMHgyMSwweDBiLDB4NjksMHg0MCwweGRiLDB4NDAsMHg5NywweDkyLDB4MjMsMHhhMCwweDg5LDB4NTgsMHg4MiwweDA4LDB4MDAgfSB9LAoteyAgMTYsIDB4OGFjMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgyNSwweDgyLDB4YzMsMHgwMCwweDM0LDB4YzAgfSB9LAoteyAgMTYsIDB4OGFkMCwgMCwgezB4MGMsMHg5YiwweDQzLDB4MDgsMHhkMCwweGQzLDB4MjAsMHgzOCwweGMwLDB4MGUsMHhiMCwweDAzLDB4OGMsMHgwMCwweGIzLDB4MDAgfSB9LAoteyAgMTYsIDB4OGFlMCwgMCwgezB4MjAsMHg4MCwweDA3LDB4MTAsMHgwMywweGUwLDB4MDAsMHhkMywweDEwLDB4MzgsMHgxOCwweDBkLDB4MzAsMHgwMywweDUyLDB4MDIgfSB9LAoteyAgMTYsIDB4OGFmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MWQsMHhiNCwweDAwLDB4N2YsMHgyMCwweDFiLDB4ZDAgfSB9LAoteyAgMTYsIDB4OGIwMCwgMCwgezB4MGYsMHhmMSwweDAzLDB4ZjgsMHg0MCwweGVmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhiNCwweDAzLDB4N2MsMHgyMCwweGNmLDB4MDQgfSB9LAoteyAgMTYsIDB4OGIxMCwgMCwgezB4YmYsMHg0MCwweDBmLDB4ZjAsMHgwMywweGU0LDB4MTAsMHhlZiwweDE4LDB4M2QsMHhjMCwweDBmLDB4ZTAsMHgwMywweGQwLDB4MDYgfSB9LAoteyAgMTYsIDB4OGIyMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlOCwweDAwLDB4ZTMsMHgwMCwweGIyLDB4YzQgfSB9LAoteyAgMTYsIDB4OGIzMCwgMCwgezB4MGMsMHhhMCwweDAzLDB4MjQsMHgwMCwweGRiLDB4NjgsMHgzMiwweGM4LDB4MGMsMHhiNCwweDAzLDB4ZWMsMHg4MCwweGM4LDB4ODAgfSB9LAoteyAgMTYsIDB4OGI0MCwgMCwgezB4YjYsMHhlMCwweDBjLDB4YTAsMHgwMywweDJlLDB4MDAsMHhjYiwweGUwLDB4YjIsMHg2MCwweDBjLDB4YjgsMHgwYiwweDJhLDB4MDAgfSB9LAoteyAgMTYsIDB4OGI1MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MTEsMHg5YywweDAyLDB4ODcsMHgwMCwweGExLDB4YzggfSB9LAoteyAgMTYsIDB4OGI2MCwgMCwgezB4MDgsMHg3MCwweDAyLDB4MWMsMHgwOCwweDk3LDB4MDIsMHgyMSwweGQ0LDB4MDgsMHg3NCwweDAyLDB4ZGMsMHhjMCwweDA3LDB4MDAgfSB9LAoteyAgMTYsIDB4OGI3MCwgMCwgezB4MjEsMHhjMCwweDg4LDB4NzAsMHgwMiwweDE4LDB4MDAsMHg4MywweDA4LDB4MjEsMHhjMCwweDA4LDB4NTAsMHgwMiwweDEyLDB4MDQgfSB9LAoteyAgMTYsIDB4OGI4MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZSwweDIwLDB4YWQsMHg4MCwweDI5LDB4ZTAgfSB9LAoteyAgMTYsIDB4OGI5MCwgMCwgezB4MDgsMHg1OCwweDAyLDB4MWUsMHgwMCwweDk3LDB4YjAsMHgyMSwweGU4LDB4MDgsMHg3OCwweDAyLDB4ZGUsMHgxMCwweDE1LDB4ODAgfSB9LAoteyAgMTYsIDB4OGJhMCwgMCwgezB4MjEsMHhhMSwweDA4LDB4NDgsMHgwMiwweDVlLDB4MDAsMHg4NywweGE0LDB4NjUsMHhhMCwweDA4LDB4NzgsMHgwMiwweDMwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGJiMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MTQsMHhjZiwweDEwLDB4ODEsMHg3MCwweGE4LDB4YzAgfSB9LAoteyAgMTYsIDB4OGJjMCwgMCwgezB4MzgsMHgzMCwweDBhLDB4MGQsMHgwMCwweDkzLDB4MDAsMHhhMCwweGMxLDB4MjgsMHgzMCwweDAyLDB4Y2MsMHgwMiwweDgzLDB4ODggfSB9LAoteyAgMTYsIDB4OGJkMCwgMCwgezB4MjAsMHhlMCwweDM4LDB4MzQsMHgwYSwweDRkLDB4NzIsMHg4MywweDAwLDB4MjQsMHhlOCwweDI4LDB4MzQsMHg4MiwweDEyLDB4MDQgfSB9LAoteyAgMTYsIDB4OGJlMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhiYSwweDQwLDB4ZWUsMHhjMCwweGJhLDB4ODAgfSB9LAoteyAgMTYsIDB4OGJmMCwgMCwgezB4MGMsMHhlMCwweDAzLDB4MzksMHgxMCwweGRhLDB4MDAsMHgzMiwweDgwLDB4MGMsMHhhMCwweDAzLDB4ZTgsMHgwMCwweGRlLDB4YzggfSB9LAoteyAgMTYsIDB4OGMwMCwgMCwgezB4MzMsMHhhMCwweDBjLDB4ZTAsMHgwMywweDdiLDB4MDAsMHhjYSwweDAwLDB4MzcsMHhiMSwweDBjLDB4ZTQsMHgyMywweDNhLDB4MDQgfSB9LAoteyAgMTYsIDB4OGMxMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDAsMHhjMSwweDAwLDB4ZjgsMHgwMCwweDM2LDB4MDAgfSB9LAoteyAgMTYsIDB4OGMyMCwgMCwgezB4MGYsMHg4MCwweDAzLDB4YzAsMHgyMCwweDM4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHgwMCwweDAzLDB4ZTAsMHgwMCwweGY4LDB4MDIgfSB9LAoteyAgMTYsIDB4OGMzMCwgMCwgezB4M2EsMHgyNCwweDBmLDB4ODAsMHg4MywweGEwLDB4MDEsMHhmOCwweDA0LDB4M2EsMHgwNCwweDBkLDB4ODAsMHgxMywweGQyLDB4MDAgfSB9LAoteyAgMTYsIDB4OGM0MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDQ0LDB4YzEsMHgwMCwweDMyLDB4NDAgfSB9LAoteyAgMTYsIDB4OGM1MCwgMCwgezB4MGMsMHg5MCwweDMyLDB4MjQsMHgwYywweGMxLDB4MDYsMHgzOCwweDQwLDB4MGQsMHg5MCwweDA5LDB4MDQsMHgwMCwweGQ5LDB4MDAgfSB9LAoteyAgMTYsIDB4OGM2MCwgMCwgezB4M2UsMHg0MCwweDBmLDB4MTgsMHgwMywweDI0LDB4MDAsMHhmOSwweDAxLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGMyLDB4MDQgfSB9LAoteyAgMTYsIDB4OGM3MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDQsMHg2NCwweDA2LDB4ODksMHgwMCwweDJhLDB4NTAgfSB9LAoteyAgMTYsIDB4OGM4MCwgMCwgezB4MDgsMHg5NCwweDBhLDB4MjQsMHgwMCwweDg5LDB4NDIsMHgyMiwweDUwLDB4MGEsMHg5MCwweDEyLDB4MjUsMHgwMCwweDg5LDB4MDAgfSB9LAoteyAgMTYsIDB4OGM5MCwgMCwgezB4MmUsMHg1MCwweDBiLDB4OWMsMHgwYSwweDI1LDB4MTAsMHhiOSwweDAwLDB4MmUsMHg1MCwweDBiLDB4OTAsMHgwMiwweGUwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGNhMCwgMCwgezB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDIwLDB4ODksMHgwMCwweDIwLDB4NDIgfSB9LAoteyAgMTYsIDB4OGNiMCwgMCwgezB4MDgsMHgxMCwweGMyLDB4YWMsMHgxMCwweDg5LDB4MDgsMHgyYSwweDQyLDB4MDksMHg5MCwweDAyLDB4MjQsMHgyMCwweDk5LDB4MDAgfSB9LAoteyAgMTYsIDB4OGNjMCwgMCwgezB4MmUsMHg0MiwweDBhLDB4YjEsMHg4MiwweDJjLDB4MjAsMHhiOSwweDAwLDB4NmUsMHg0MiwweDBiLDB4OTAsMHgwMiwweGM2LDB4MDAgfSB9LAoteyAgMTYsIDB4OGNkMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDQsMHgwNCwweDAwLDB4ODMsMHgwMCwweDI4LDB4NDggfSB9LAoteyAgMTYsIDB4OGNlMCwgMCwgezB4MDgsMHgxMiwweDYyLDB4OGMsMHg4MCwweDgxLDB4MDAsMHgyMCwweDQwLDB4MDIsMHgxMCwweDAyLDB4ODQsMHg4MCwweDgxLDB4MjAgfSB9LAoteyAgMTYsIDB4OGNmMCwgMCwgezB4MmMsMHg0OSwweDBiLDB4MTIsMHgwNiwweDA0LDB4ODQsMHhiMywweDAyLDB4NmMsMHg0MCwweDBiLDB4MTIsMHgwMiwweGMyLDB4MDEgfSB9LAoteyAgMTYsIDB4OGQwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg0MSwweGUwLDB4YzgsMHg3OCwweDMwLDB4MTQgfSB9LAoteyAgMTYsIDB4OGQxMCwgMCwgezB4NGMsMHgwNSwweDEzLDB4YTEsMHg0MiwweGMwLDB4NzgsMHgzOCwweDFlLDB4MGQsMHg4NywweDgzLDB4MDEsMHg0MCwweGQwLDB4NTAgfSB9LAoteyAgMTYsIDB4OGQyMCwgMCwgezB4M2MsMHgxNCwweDBlLDB4MDUsMHgwMywweDAxLDB4NDAsMHhmOCwweDc4LDB4M2MsMHgxNCwweDBmLDB4MDUsMHgwMywweGVlLDB4MDMgfSB9LAoteyAgMTYsIDB4OGQzMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDk4LDB4MWQsMHhmYywweDAwLDB4ZmYsMHgwMCwweDBlLDB4NDQgfSB9LAoteyAgMTYsIDB4OGQ0MCwgMCwgezB4MmYsMHhmMSwweDAzLDB4NzQsMHg0MCwweGY5LDB4MDAsMHgzZSwweDQwLDB4MGQsMHg5MCwweDAzLDB4NjQsMHg0MCwweGZkLDB4MTAgfSB9LAoteyAgMTYsIDB4OGQ1MCwgMCwgezB4M2YsMHg0NCwweDBmLDB4ZDEsMHgwMSwweGY0LDB4NDAsMHhmOSwweDAxLDB4M2YsMHhjMCwweDBmLDB4ZDEsMHgwMywweGU2LDB4MDYgfSB9LAoteyAgMTYsIDB4OGQ2MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhlNiwweDIyLDB4ZTksMHg4OCwweGIyLDB4NDAgfSB9LAoteyAgMTYsIDB4OGQ3MCwgMCwgezB4MGYsMHg5MCwweDAzLDB4MjQsMHgxNiwweGM5LDB4OGMsMHgzNiwweDdiLDB4OGYsMHg5YywweDgzLDB4YTcsMHg5MCwweGM5LDB4MDAgfSB9LAoteyAgMTYsIDB4OGQ4MCwgMCwgezB4M2UsMHg1MCwweDA0LDB4OTQsMHgxMywweDI0LDB4NTAsMHhjOSwweGUwLDB4M2UsMHg1MCwweDBmLDB4OTAsMHgwMywweDA2LDB4MDAgfSB9LAoteyAgMTYsIDB4OGQ5MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDM4LDB4MTAsMHhlMiwweDgwLDB4ODgsMHhhMCwweDIyLDB4MjggfSB9LAoteyAgMTYsIDB4OGRhMCwgMCwgezB4MGIsMHg4YSwweDAyLDB4MmEsMHg4MCwweDg4LDB4YTQsMHgyMiwweDMwLDB4MDgsMHg4ZSwweDBhLDB4MjIsMHgwMiwweDg4LDB4YTAgfSB9LAoteyAgMTYsIDB4OGRiMCwgMCwgezB4MmUsMHgyOCwweDg4LDB4YWEsMHgxMiwweDIyLDB4OTAsMHg4OCwweGY0LDB4MmUsMHgyMCwweDBiLDB4YzgsMHgwMiwweDBlLDB4MDQgfSB9LAoteyAgMTYsIDB4OGRjMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhkNCwweDIwLDB4YTUsMHgwOCwweDIxLDB4NDIgfSB9LAoteyAgMTYsIDB4OGRkMCwgMCwgezB4MGIsMHg1MCwweDgyLDB4MTQsMHgzMSwweDg1LDB4MDgsMHgyNSwweDQwLDB4MGEsMHg1MCwweDIyLDB4OTQsMHg0MCwweDg1LDB4MDggfSB9LAoteyAgMTYsIDB4OGRlMCwgMCwgezB4NmQsMHg0MCwweDA4LDB4NTAsMHgwMiwweDU0LDB4MDIsMHg5NSwweDAwLDB4MmQsMHg0OCwweDBiLDB4NTAsMHg4MiwweDQyLDB4MDEgfSB9LAoteyAgMTYsIDB4OGRmMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MTUsMHg4NCwweDAwLDB4OGQsMHgxMCwweDIzLDB4NDAgfSB9LAoteyAgMTYsIDB4OGUwMCwgMCwgezB4MGIsMHhkMCwweDAwLDB4MzQsMHgwMSwweDhkLDB4MDAsMHgyMywweDQxLDB4NTgsMHhkMCwweDAyLDB4MzQsMHgwMCwweDhkLDB4MDggfSB9LAoteyAgMTYsIDB4OGUxMCwgMCwgezB4MmYsMHg1MCwweDA4LDB4ZDIsMHgwMiwweDc0LDB4ODAsMHg5ZCwweDAwLDB4MmYsMHg0OCwweDBiLDB4ZGMsMHgwMiwweDQ2LDB4MDQgfSB9LAoteyAgMTYsIDB4OGUyMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNywweDQwLDB4ZTksMHhjMCwweDMyLDB4NDAgfSB9LAoteyAgMTYsIDB4OGUzMCwgMCwgezB4MGYsMHg5MCwweDA5LDB4MjYsMHgwMCwweGM5LDB4MDQsMHgzNiwweDQwLDB4MWYsMHg5MCwweDIzLDB4YTQsMHgwOCwweGM5LDB4NDAgfSB9LAoteyAgMTYsIDB4OGU0MCwgMCwgezB4M2UsMHg0MCwweDBjLDB4OTQsMHgwYiwweDY0LDB4MjAsMHhkOSwweDAyLDB4M2UsMHg0MSwweDBmLDB4OTQsMHgwMywweDY4LDB4MDQgfSB9LAoteyAgMTYsIDB4OGU1MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDEsMHhhNCwweDAwLDB4ZjksMHg4MCwweDNlLDB4NDAgfSB9LAoteyAgMTYsIDB4OGU2MCwgMCwgezB4MGYsMHgxNCwweDAzLDB4YzUsMHgwOCwweGY5LDB4MDAsMHgzZSwweDQwLDB4MWYsMHg5MCwweDIzLDB4ZTQsMHgwMCwweGY5LDB4MDAgfSB9LAoteyAgMTYsIDB4OGU3MCwgMCwgezB4M2MsMHg0MCwweGFmLDB4OTgsMHgwMywweDg2LDB4MDAsMHhlOSwweDAwLDB4M2UsMHg0MCwweDBmLDB4MTAsMHgwYiwweDhhLDB4MDAgfSB9LAoteyAgMTYsIDB4OGU4MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhiMCwweDAwLDB4ZGMsMHg0MCwweGIzLDB4MDAgfSB9LAoteyAgMTYsIDB4OGU5MCwgMCwgezB4MGYsMHhjMCwweDAzLDB4MzEsMHgwMiwweGM0LDB4MDQsMHhiMSwweDAwLDB4M2MsMHg0MCwweDAzLDB4MTAsMHgwMCwweGZjLDB4NDAgfSB9LAoteyAgMTYsIDB4OGVhMCwgMCwgezB4MzMsMHgwMCwweDBjLDB4YzQsMHgwMywweGIxLDB4MDAsMHhjYywweDAwLDB4YjMsMHgwMCwweDBjLDB4YzQsMHgwMywweGNhLDB4MDQgfSB9LAoteyAgMTYsIDB4OGViMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHgyOCwweDAwLDB4OGEsMHg4MCwweDIyLDB4YTAgfSB9LAoteyAgMTYsIDB4OGVjMCwgMCwgezB4MGIsMHhhMCwweDAyLDB4MmEsMHgwMCwweDhhLDB4ODQsMHgyMiwweGExLDB4MDgsMHhhMCwweDAyLDB4MjgsMHgwOCwweGJhLDB4MDEgfSB9LAoteyAgMTYsIDB4OGVkMCwgMCwgezB4MjIsMHg4MCwweDA4LDB4YTAsMHgyYiwweDI4LDB4MDAsMHg4YSwweDgwLDB4MmEsMHg4MCwweDA4LDB4ZTAsMHgwMiwweGNhLDB4MDAgfSB9LAoteyAgMTYsIDB4OGVlMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAyLDB4OWIsMHg4MSwweDIwLDB4ZTAgfSB9LAoteyAgMTYsIDB4OGVmMCwgMCwgezB4OGIsMHgzOCwweDA2LDB4Y2UsMHgwMCwweDkzLDB4ODAsMHgyMCwweGMwLDB4MDgsMHgzOCwweDAyLDB4MGMsMHgwMCwweGIzLDB4ODAgfSB9LAoteyAgMTYsIDB4OGYwMCwgMCwgezB4NmMsMHhlMCwweDBhLDB4YjAsMHgwMiwweDRjLDB4MDAsMHg5MywweDAwLDB4MjAsMHhlMCwweDA4LDB4MzAsMHgwMiwweGNhLDB4MDAgfSB9LAoteyAgMTYsIDB4OGYxMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MDEsMHgxMCwweDA0LDB4ODAsMHgwOCwweDIxLDB4MDIgfSB9LAoteyAgMTYsIDB4OGYyMCwgMCwgezB4NGIsMHg0NCwweDA2LDB4ZDAsMHgyMCwweDkwLDB4MDgsMHgyMSwweDAyLDB4ODAsMHg0NCwweDAyLDB4MTAsMHgwMCwweGI0LDB4YzAgfSB9LAoteyAgMTYsIDB4OGYzMCwgMCwgezB4MmQsMHgxMCwweDQ4LDB4NDAsMHgwMiwweDAwLDB4MDAsMHg5NCwweDg5LDB4MjksMHgzMCwweDA4LDB4NDAsMHgwMiwweGU4LDB4MDAgfSB9LAoteyAgMTYsIDB4OGY0MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgzMiwweDAwLDB4ZDYsMHg4MCwweDMxLDB4YTAgfSB9LAoteyAgMTYsIDB4OGY1MCwgMCwgezB4MGYsMHhlOCwweDBiLDB4Y2EsMHgwMCwweGQ2LDB4ODAsMHgyMywweGEwLDB4MDQsMHhmOCwweDBiLDB4MWEsMHgwMCwweGZmLDB4ODAgfSB9LAoteyAgMTYsIDB4OGY2MCwgMCwgezB4YmYsMHhhMCwweDJlLDB4YzgsMHgxMywweGRhLDB4MDIsMHg1ZSwweDgwLDB4NzMsMHhhMCwweDJjLDB4NzgsMHgwMywweGVhLDB4MDIgfSB9LAoteyAgMTYsIDB4OGY3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MWQsMHhhYywweDAwLDB4ZjksMHgwMCwweDNlLDB4NDAgfSB9LAoteyAgMTYsIDB4OGY4MCwgMCwgezB4MGYsMHg5MCwweDAzLDB4MjQsMHgwMCwweGU5LDB4MDAsMHgzZSwweDQwLDB4MGUsMHg4MCwweDAzLDB4ZTQsMHgwMCwweGY4LDB4MDAgfSB9LAoteyAgMTYsIDB4OGY5MCwgMCwgezB4MzIsMHg0MCwweDBmLDB4YjAsMHgwMywweGU0LDB4MDEsMHhlOSwweDA0LDB4MzYsMHg0MCwweDBmLDB4ODAsMHgwMywweGMyLDB4MDYgfSB9LAoteyAgMTYsIDB4OGZhMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmZSwweDAwLDB4Y2QsMHg4MCwweDMzLDB4NjAgfSB9LAoteyAgMTYsIDB4OGZiMCwgMCwgezB4MGMsMHhkOCwweDQzLDB4MzYsMHgwMCwweGNkLDB4ODAsMHgzMywweDYwLDB4MGMsMHhkOSwweDIzLDB4YmUsMHgwMCwweDRkLDB4ODAgfSB9LAoteyAgMTYsIDB4OGZjMCwgMCwgezB4MzMsMHg2MCwweDA4LDB4ZjgsMHgwYiwweDNlLDB4MDAsMHhmZCwweDg0LDB4M2YsMHg2MCwweDBmLDB4ZjksMHgwMywweGMwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGZkMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTEsMHg5MCwweDA0LDB4ZGUsMHgwMCwweDIzLDB4ODAgfSB9LAoteyAgMTYsIDB4OGZlMCwgMCwgezB4MDgsMHg2MCwweDAyLDB4YjgsMHgyMCwweDhlLDB4MDQsMHgyMywweDgwLDB4MDgsMHg2OCwweDAyLDB4MTAsMHgwMCwweDhlLDB4MjAgfSB9LAoteyAgMTYsIDB4OGZmMCwgMCwgezB4MjMsMHg4MiwweDA4LDB4NDAsMHgwMiwweDEyLDB4MDAsMHhmNiwweDAwLDB4MmQsMHg4MCwweDBiLDB4NDEsMHhhMCwweGVhLDB4MDQgfSB9LAoteyAgMTYsIDB4OTAwMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5MCwweDAwLDB4ODQsMHgwMCwweDIxLDB4MDAgfSB9LAoteyAgMTYsIDB4OTAxMCwgMCwgezB4MDgsMHg0MSwweDAyLDB4NTAsMHg0MCwweDk0LDB4MDAsMHgyMSwweDAwLDB4MGEsMHg1MiwweDAyLDB4ZDgsMHgwMCwweDg1LDB4MDIgfSB9LAoteyAgMTYsIDB4OTAyMCwgMCwgezB4MjUsMHgwNCwweDA4LDB4NDAsMHgyMiwweDE4LDB4MDgsMHhiNCwweDAwLDB4MmQsMHgxMCwweDBiLDB4NzgsMHg0MCwweGMwLDB4MDAgfSB9LAoteyAgMTYsIDB4OTAzMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIwLDB4MTQsMHhlZSwweDIyLDB4OTMsMHgwMCwweDIwLDB4YzAgfSB9LAoteyAgMTYsIDB4OTA0MCwgMCwgezB4MDgsMHgzOCwweDAyLDB4ZWMsMHgwMCwweDkzLDB4MDAsMHgyMCwweGMxLDB4MmEsMHgyMCwweDAyLDB4NjQsMHgwMiwweDgyLDB4MTAgfSB9LAoteyAgMTYsIDB4OTA1MCwgMCwgezB4MjQsMHhmMCwweDBhLDB4M2MsMHg0MiwweDI0LDB4MjgsMHhiMywweDAwLDB4MmMsMHhlMCwweDBiLDB4ODgsMHg4MiwweGM4LDB4MDQgfSB9LAoteyAgMTYsIDB4OTA2MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhhZCwweDAwLDB4Y2IsMHgwMCwweGIyLDB4YzAgfSB9LAoteyAgMTYsIDB4OTA3MCwgMCwgezB4YWMsMHhiZSwweDAzLDB4NmUsMHgwMiwweGRiLDB4MDAsMHhiMiwweGMwLDB4MWUsMHhhMCwweDAzLDB4ZTQsMHgwMCwweGNhLDB4MTEgfSB9LAoteyAgMTYsIDB4OTA4MCwgMCwgezB4YjYsMHhkMCwweGFjLDB4YmMsMHgwMywweDI0LDB4MDAsMHhmYiwweDAwLDB4M2UsMHhjMCwweGNmLDB4ODQsMHgwMywweGVhLDB4MDQgfSB9LAoteyAgMTYsIDB4OTA5MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDAsMHhlMCwweDQwLDB4ZjgsMHgwMCwweDNjLDB4MDAgfSB9LAoteyAgMTYsIDB4OTBhMCwgMCwgezB4MmYsMHg4MiwweDAzLDB4YTAsMHgwMCwweGU4LDB4MDAsMHgzZSwweDAwLDB4MWQsMHg5MCwweDEzLDB4YTgsMHgwMCwweGY5LDB4MDAgfSB9LAoteyAgMTYsIDB4OTBiMCwgMCwgezB4M2EsMHgwMCwweDgxLDB4ODMsMHg0MywweGU4LDB4MDAsMHhlOCwweDAzLDB4M2UsMHgwNCwweDBmLDB4YjAsMHgwMywweGUwLDB4MDAgfSB9LAoteyAgMTYsIDB4OTBjMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhlMCwweDAwLDB4ZDYsMHgwMCwweDM3LDB4ODAgfSB9LAoteyAgMTYsIDB4OTBkMCwgMCwgezB4MGMsMHhhMCwweDAzLDB4ZjgsMHgwMCwweGNlLDB4MDAsMHgzMywweDgwLDB4MGQsMHhhMCwweDEzLDB4MjAsMHgwOCwweGNlLDB4MDAgfSB9LAoteyAgMTYsIDB4OTBlMCwgMCwgezB4MzMsMHg4MiwweDBjLDB4NDAsMHg3MywweDMwLDB4MTgsMHhjZSwweDAwLDB4MWYsMHg4MCwweDRmLDB4YzEsMHg0MywweDAwLDB4NDQgfSB9LAoteyAgMTYsIDB4OTBmMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgxLDB4MDQsMHg3YywweDAwLDB4OGQsMHgwMCwweDIzLDB4NDAgfSB9LAoteyAgMTYsIDB4OTEwMCwgMCwgezB4MGEsMHhkMCwweDAyLDB4ZjQsMHgwMCwweDhkLDB4MDAsMHgyMywweDQwLDB4MDgsMHhkNCwweDgwLDB4M2UsMHg0MiwweDhkLDB4NDAgfSB9LAoteyAgMTYsIDB4OTExMCwgMCwgezB4MjMsMHg0MCwweDA4LDB4ZjAsMHgwMiwweDNlLDB4NDAsMHg4ZCwweDAwLDB4MGYsMHg0MCwweDBiLDB4ZjQsMHgwMiwweDIwLDB4NDAgfSB9LAoteyAgMTYsIDB4OTEyMCwgMCwgezB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAwLDB4OTksMHgwMCwweGE2LDB4NDAgfSB9LAoteyAgMTYsIDB4OTEzMCwgMCwgezB4MDgsMHg5MCwweDA2LDB4ZTQsMHgwMCwweDkxLDB4MDAsMHgyMCwweDQwLDB4ODgsMHgwMCwweDAyLDB4MjQsMHgwOCwweDgwLDB4NDAgfSB9LAoteyAgMTYsIDB4OTE0MCwgMCwgezB4MjAsMHg0MCwweDBhLDB4YjAsMHgwMiwweDI0LDB4MDAsMHg4OSwweDAwLDB4MGUsMHg0MCwweDBiLDB4ODQsMHgwMiwweDIwLDB4MDAgfSB9LAoteyAgMTYsIDB4OTE1MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDQsMHgwMCwweDAwLDB4ODIsMHgwMCwweDIwLDB4ODAgfSB9LAoteyAgMTYsIDB4OTE2MCwgMCwgezB4MGEsMHgyMSwweDA2LDB4YzgsMHgwMSwweDgyLDB4MDAsMHgyMCwweDgwLDB4MDgsMHgzMiwweDgyLDB4MDgsMHgwOCwweDgzLDB4MDAgfSB9LAoteyAgMTYsIDB4OTE3MCwgMCwgezB4NjAsMHg4MCwweDBhLDB4MDAsMHgxMiwweDA4LDB4ODAsMHg4MiwweDAwLDB4MmMsMHg4MCwweDBiLDB4MzAsMHgwYSwweDAyLDB4MDEgfSB9LAoteyAgMTYsIDB4OTE4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2MCwweDAwLDB4ZDgsMHgwMCwweDM2LDB4MDAgfSB9LAoteyAgMTYsIDB4OTE5MCwgMCwgezB4MGMsMHg4NCwweDIzLDB4ZTAsMHgwMCwweGM4LDB4MDAsMHgzMiwweDAwLDB4MGQsMHg4MiwweDBiLDB4MjAsMHgwMiwweGM4LDB4MDAgfSB9LAoteyAgMTYsIDB4OTFhMCwgMCwgezB4MzIsMHgwMCwweDBlLDB4MDAsMHgwMywweDIwLDB4MDIsMHhjOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweDAwLDB4MDMgfSB9LAoteyAgMTYsIDB4OTFiMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MWQsMHhmYywweDAwLDB4YmYsMHgwMCwweDNmLDB4YzAgfSB9LAoteyAgMTYsIDB4OTFjMCwgMCwgezB4MGYsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGZmLDB4MDAsMHhiZiwweGMwLDB4OGYsMHhiMCwweDAzLDB4ZmMsMHgwOCwweGZmLDB4MDIgfSB9LAoteyAgMTYsIDB4OTFkMCwgMCwgezB4M2YsMHhjMCwweDBkLDB4ZjAsMHgwMywweGVkLDB4MDAsMHhmZiwweDAyLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGU4LDB4MDYgfSB9LAoteyAgMTYsIDB4OTFlMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDEsMHhmMCwweDhjLDB4ZmYsMHgwMCwweDNkLDB4NjAgfSB9LAoteyAgMTYsIDB4OTFmMCwgMCwgezB4MmMsMHhiMiwweDgzLDB4N2MsMHg5MCwweGRmLDB4MzgsMHgzMSwweGUwLDB4MGYsMHhmOCwweDAzLDB4M2MsMHgwMCwweGZmLDB4MjAgfSB9LAoteyAgMTYsIDB4OTIwMCwgMCwgezB4M2YsMHhjNCwweDBlLDB4ZjQsMHgwMywweDdjLDB4MDAsMHhmNCwweDgwLDB4MzMsMHgwMCwweDBkLDB4ZjgsMHgwMywweGYwLDB4MDAgfSB9LAoteyAgMTYsIDB4OTIxMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MTAsMHhlMSwweDIwLDB4YmIsMHg2MiwweDJlLDB4NDIgfSB9LAoteyAgMTYsIDB4OTIyMCwgMCwgezB4MjgsMHhmNCwweDQyLDB4M2UsMHg0MCwweDhmLDB4NDQsMHgyMiwweGUwLDB4MGIsMHhiMCwweDgzLDB4N2YsMHg0NCwweGJmLDB4YzEgfSB9LAoteyAgMTYsIDB4OTIzMCwgMCwgezB4MmQsMHhkYywweDJhLDB4ZjYsMHgwMiwweDNmLDB4NDUsMHhiOCwweDgwLDB4MjIsMHg2MSwweDg4LDB4YjgsMHgwMiwweGUwLDB4MDQgfSB9LAoteyAgMTYsIDB4OTI0MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjNSwweDgwLDB4YjIsMHgxOCwweDJlLDB4YzggfSB9LAoteyAgMTYsIDB4OTI1MCwgMCwgezB4MjksMHgzMCwweDMyLDB4MGMsMHgwOCwweGIzLDB4MjAsMHgyMCwweGMwLDB4NGIsMHg5MiwweDAyLDB4MGMsMHgwMCwweGIzLDB4NDAgfSB9LAoteyAgMTYsIDB4OTI2MCwgMCwgezB4MmMsMHhjMCwweDg5LDB4MzQsMHgxMiwweDRjLDB4MDAsMHhiMCwweDAwLDB4MjQsMHhjMSwweDQ5LDB4MzAsMHgwMiwweGUyLDB4MDEgfSB9LAoteyAgMTYsIDB4OTI3MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MTEsMHhhNCwweDAwLDB4YmEsMHgwYywweDJlLDB4ZTAgfSB9LAoteyAgMTYsIDB4OTI4MCwgMCwgezB4YTksMHhiMCwweDA2LDB4MmMsMHgwMCwweDhiLDB4MDAsMHhhMiwweGMwLDB4MGIsMHg5MCwweDAwLDB4NmMsMHgwMCwweGJiLDB4MDAgfSB9LAoteyAgMTYsIDB4OTI5MCwgMCwgezB4MmUsMHhjMCwweDBiLDB4MzAsMHgwMiwweDZjLDB4MDAsMHhiYSwweDgwLDB4MjYsMHhmMCwweDA4LDB4YjAsMHgwMiwweGYwLDB4MDQgfSB9LAoteyAgMTYsIDB4OTJhMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTEsMHhlZSwweDAwLDB4ZmIsMHhjNCwweDNlLDB4NzggfSB9LAoteyAgMTYsIDB4OTJiMCwgMCwgezB4MmQsMHhiMCwweDAzLDB4NmMsMHgwOCwweGZiLDB4MDAsMHgzMiwweGMwLDB4OGIsMHgyNCwweDgzLDB4MmMsMHgwMCwweGZiLDB4MDAgfSB9LAoteyAgMTYsIDB4OTJjMCwgMCwgezB4M2UsMHhjMCwweDhmLDB4YjAsMHgwYiwweDZjLDB4MDgsMHhiMiwweGUwLDB4MTYsMHg2MCwweDhkLDB4YjAsMHgyMywweGQwLDB4MDQgfSB9LAoteyAgMTYsIDB4OTJkMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDEsMHhiZSwweDk4LDB4ZmYsMHg0MCwweDNmLDB4YzAgfSB9LAoteyAgMTYsIDB4OTJlMCwgMCwgezB4MGUsMHg3MCwweDAzLDB4ZGMsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhlMCwweDAzLDB4ZmMsMHgwMCwweGZmLDB4MDAgfSB9LAoteyAgMTYsIDB4OTJmMCwgMCwgezB4M2YsMHhjMCwweDBlLDB4ZjAsMHgwMywweGFjLDB4MDAsMHhmZSwweDAwLDB4YjksMHhjMCwweDBmLDB4ZjAsMHgwMywweGY4LDB4MDAgfSB9LAoteyAgMTYsIDB4OTMwMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhZCwweDAwLDB4ZmEsMHg0MCwweDNlLDB4ZDAgfSB9LAoteyAgMTYsIDB4OTMxMCwgMCwgezB4MGUsMHhiMiwweDAzLDB4ZWMsMHgwMCwweGMzLDB4MDAsMHgzZSwweGMwLDB4MGMsMHhhMCwweDAzLDB4MmMsMHgwMSwweGZiLDB4MDAgfSB9LAoteyAgMTYsIDB4OTMyMCwgMCwgezB4M2MsMHhjMCwweDBlLDB4YjgsMHgwMywweGVjLDB4MDAsMHhkYSwweDAwLDB4M2EsMHhkMCwweDRmLDB4YjAsMHgyMywweGQwLDB4MDQgfSB9LAoteyAgMTYsIDB4OTMzMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM4LDB4MDUsMHgyYywweDAwLDB4YmEsMHgwMCwweDJjLDB4YzAgfSB9LAoteyAgMTYsIDB4OTM0MCwgMCwgezB4MDgsMHhmNCwweDA3LDB4YmMsMHgxNCwweGRmLDB4MDAsMHgzZSwweGMwLDB4MWEsMHhhMCwweDUyLDB4YmMsMHgwMCwweGJmLDB4MDQgfSB9LAoteyAgMTYsIDB4OTM1MCwgMCwgezB4M2YsMHhjMCwweDhhLDB4ZjAsMHgwMywweGJjLDB4MDAsMHhmYSwweDAwLDB4MjIsMHhjOCwweDBmLDB4YjAsMHgwMywweGYyLDB4MDAgfSB9LAoteyAgMTYsIDB4OTM2MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0OCwweDAxLDB4YjEsMHgwMCwweDZjLDB4YzIgfSB9LAoteyAgMTYsIDB4OTM3MCwgMCwgezB4MGEsMHgzMCwweDQyLDB4Y2MsMHgwMCwweDgzLDB4MDUsMHgyYywweGMwLDB4MDgsMHgzMCwweDAyLDB4OGMsMHgwMSwweGIzLDB4MDQgfSB9LAoteyAgMTYsIDB4OTM4MCwgMCwgezB4MmMsMHhjMCwweDBhLDB4MzAsMHgyMiwweDhjLDB4MDAsMHg4MCwweDgwLDB4MjgsMHhjMCwweDBiLDB4MzAsMHgyMiwweGY4LDB4MDAgfSB9LAoteyAgMTYsIDB4OTM5MCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIwLDB4MDEsMHgxZSwweDA4LDB4YjcsMHg4MCwweDZmLDB4ZTAgfSB9LAoteyAgMTYsIDB4OTNhMCwgMCwgezB4MTgsMHg3OCwweDAyLDB4OGUsMHg0MCwweGI3LDB4ODAsMHgyZCwweGUwLDB4MGEsMHg3OCwweDAyLDB4OWUsMHgwMCwweGI3LDB4ODAgfSB9LAoteyAgMTYsIDB4OTNiMCwgMCwgezB4MjksMHhlMSwweDBhLDB4NzgsMHgwMiwweDllLDB4MDEsMHhiYywweDgwLDB4MjksMHhlNCwweDBiLDB4NzgsMHgwMiwweGM4LDB4MDAgfSB9LAoteyAgMTYsIDB4OTNjMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwOSwweDQwLDB4ZjEsMHgyMCwweDNjLDB4YzQgfSB9LAoteyAgMTYsIDB4OTNkMCwgMCwgezB4MGUsMHgzOSwweDAyLDB4Y2MsMHgwMCwweGMzLDB4MDAsMHgyYywweGM0LDB4MDgsMHg5MiwweDAzLDB4OGMsMHg4OCwweGIzLDB4MTAgfSB9LAoteyAgMTYsIDB4OTNlMCwgMCwgezB4MmMsMHhjNCwweDBlLDB4YjAsMHgwNywweDhjLDB4MDAsMHhjMiwweDA4LDB4MzgsMHhjMCwweDBmLDB4MzAsMHg0MywweGQyLDB4MDIgfSB9LAoteyAgMTYsIDB4OTNmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MWQsMHhiYywweDEwLDB4ZmMsMHgwMCwweDdmLDB4YzAgfSB9LAoteyAgMTYsIDB4OTQwMCwgMCwgezB4MGYsMHhmMCwweDgzLDB4ZmMsMHgyMSwweGRmLDB4MDgsMHgzYiwweGMwLDB4OGYsMHg5MCwweDAxLDB4ZmMsMHgyMSwweGZmLDB4MGMgfSB9LAoteyAgMTYsIDB4OTQxMCwgMCwgezB4M2YsMHhjMiwweDBmLDB4ZjEsMHgwMywweGVjLDB4MDAsMHhlZiwweDAwLDB4NzcsMHhjMCwweDFlLDB4ZjAsMHgwMywweDkwLDB4MDYgfSB9LAoteyAgMTYsIDB4OTQyMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlOCwweDAxLDB4ZjksMHgwMCwweDMyLDB4YzAgfSB9LAoteyAgMTYsIDB4OTQzMCwgMCwgezB4MGYsMHhiMiwweDAzLDB4ZWUsMHg5MCwweGRiLDB4ZTEsMHgzYSwweGMwLDB4NGQsMHgzOCwweDEzLDB4MmQsMHgzMCwweGZiLDB4MDAgfSB9LAoteyAgMTYsIDB4OTQ0MCwgMCwgezB4M2UsMHhlMCwweDRmLDB4YmEsMHg0MywweDJjLDB4NDAsMHhmYSwweDAwLDB4M2YsMHhjMCwweDhjLDB4YjAsMHgwMywweGVhLDB4MDAgfSB9LAoteyAgMTYsIDB4OTQ1MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MTEsMHg5YywweDAwLDB4YjEsMHgwMCwweDIxLDB4YzAgfSB9LAoteyAgMTYsIDB4OTQ2MCwgMCwgezB4MGIsMHg3MSwweDAyLDB4Y2MsMHgyMCwweGE3LDB4MjgsMHgyMSwweGMwLDB4MGIsMHg3MCwweDEzLDB4NWMsMHgwOCwweGI3LDB4MTAgfSB9LAoteyAgMTYsIDB4OTQ3MCwgMCwgezB4MmQsMHhjNCwweDRiLDB4MzQsMHg4MywweDFjLDB4YzEsMHhiNywweDAyLDB4MmQsMHhjMCwweDFhLDB4NzAsMHgwMiwweGQyLDB4MDQgfSB9LAoteyAgMTYsIDB4OTQ4MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5YSwweDIwLDB4YjQsMHhjNCwweDI1LDB4YTIgfSB9LAoteyAgMTYsIDB4OTQ5MCwgMCwgezB4MGIsMHg3OCwweDA2LDB4ZGUsMHgwMCwweDgzLDB4ODAsMHgyOSwweGUwLDB4MWIsMHhmOCwweDAyLDB4NWUsMHg4MCwweGE3LDB4YTAgfSB9LAoteyAgMTYsIDB4OTRhMCwgMCwgezB4MmQsMHhjOCwweDBhLDB4NzIsMHgwMiwweDFlLDB4MDAsMHhhNiwweDgwLDB4MjgsMHhlMCwweDA4LDB4NzgsMHgwMiwweGYwLDB4MDAgfSB9LAoteyAgMTYsIDB4OTRiMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MTQsMHhlZCwweDAwLDB4YjMsMHg0MCwweDI0LDB4YzMgfSB9LAoteyAgMTYsIDB4OTRjMCwgMCwgezB4MGIsMHgzMCwweDQyLDB4Y2MsMHgwMCwweGEzLDB4MDAsMHgyMCwweGMwLDB4MWIsMHgzNCwweDAyLDB4NGMsMHgwMCwweGIzLDB4MDAgfSB9LAoteyAgMTYsIDB4OTRkMCwgMCwgezB4MmMsMHhjMCwweDRiLDB4MzAsMHgwMiwweDBjLDB4MDAsMHhiMywweDg4LDB4MmMsMHhkNCwweDBhLDB4MzAsMHgwMiwweGQyLDB4MDQgfSB9LAoteyAgMTYsIDB4OTRlMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhiOCwweDAwLDB4ZmUsMHg0MCwweGI3LDB4YTAgfSB9LAoteyAgMTYsIDB4OTRmMCwgMCwgezB4MGYsMHhhMCwweDAzLDB4ZTgsMHgwMCwweGRhLDB4MDAsMHgzYSwweDgwLDB4MGYsMHhlMiwweDAzLDB4NjgsMHgwMCwweGZhLDB4MDAgfSB9LAoteyAgMTYsIDB4OTUwMCwgMCwgezB4M2UsMHg4MCwweDBmLDB4YTAsMHgwYiwweDI4LDB4MDAsMHhlZSwweGUwLDB4M2YsMHhiMCwweDA0LDB4YTAsMHgwMywweGZhLDB4MDQgfSB9LAoteyAgMTYsIDB4OTUxMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDAsMHhlMCwweDA0LDB4ZjAsMHgwOCwweDNhLDB4MTAgfSB9LAoteyAgMTYsIDB4OTUyMCwgMCwgezB4MGYsMHg4NCwweDAzLDB4ZTAsMHgxMCwweGY4LDB4MDAsMHgzZSwweDAwLDB4NGYsMHg4MCwweDgzLDB4ZTAsMHgwMCwweGY4LDB4MDAgfSB9LAoteyAgMTYsIDB4OTUzMCwgMCwgezB4M2MsMHgwMCwweDBmLDB4ODAsMHgwMywweDgwLDB4MDAsMHhmOCwweDQwLDB4M2UsMHgwOSwweDBmLDB4ODAsMHgwMywweGQyLDB4MDAgfSB9LAoteyAgMTYsIDB4OTU0MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDIwLDB4ZTksMHgwMCwweDMyLDB4NDQgfSB9LAoteyAgMTYsIDB4OTU1MCwgMCwgezB4MGMsMHg5MCwweDAzLDB4MjQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDEzLDB4ZTQsMHgwMCwweGI5LDB4MDAgfSB9LAoteyAgMTYsIDB4OTU2MCwgMCwgezB4MWUsMHg0MCwweDBjLDB4MTAsMHgwMywweDI0LDB4MDAsMHhjOSwweGEwLDB4M2MsMHg2NCwweDBjLDB4OTAsMHgwMywweDgyLDB4MDQgfSB9LAoteyAgMTYsIDB4OTU3MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDQsMHg2NCwweDAwLDB4ODksMHgwMCwweDIyLDB4NjggfSB9LAoteyAgMTYsIDB4OTU4MCwgMCwgezB4MDgsMHgxMywweDAyLDB4MjQsMHgwOCwweGY5LDB4MDAsMHgyZSwweDQ4LDB4MWIsMHg5MCwweDAyLDB4ZTQsMHgwMCwweGI5LDB4MDAgfSB9LAoteyAgMTYsIDB4OTU5MCwgMCwgezB4M2UsMHg0MCwweDBjLDB4OTAsMHgwMiwweDI0LDB4MDgsMHhmOSwweDQwLDB4MmUsMHg2MCwweDBhLDB4OTAsMHgwNiwweGUwLDB4MDAgfSB9LAoteyAgMTYsIDB4OTVhMCwgMCwgezB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDEsMHgyNCwweDAwLDB4YTksMHgwMCwweDIwLDB4NDAgfSB9LAoteyAgMTYsIDB4OTViMCwgMCwgezB4MDgsMHg5MCwweDAyLDB4MjQsMHgwMCwweGI5LDB4MDEsMHgyZSwweDQwLDB4MGIsMHg5MCwweDAyLDB4ZTQsMHgwMCwweGI5LDB4MDAgfSB9LAoteyAgMTYsIDB4OTVjMCwgMCwgezB4MmUsMHg0MCwweDA4LDB4OTIsMHgyMiwweDI0LDB4MDAsMHg4OSwweDAwLDB4MmUsMHg0MCwweDA4LDB4OTAsMHgwMiwweGM2LDB4MDAgfSB9LAoteyAgMTYsIDB4OTVkMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDQsMHgwNCwweDgwLDB4ODEsMHgyMSwweGUwLDB4NTAgfSB9LAoteyAgMTYsIDB4OTVlMCwgMCwgezB4MjgsMHgxNiwweDBhLDB4MDQsMHg4MCwweGExLDB4NDAsMHgyYywweDQwLDB4NGIsMHgxNCwweDIyLDB4YzQsMHgwMCwweGIxLDB4MDAgfSB9LAoteyAgMTYsIDB4OTVmMCwgMCwgezB4MmMsMHg1MCwweDA5LDB4MTQsMHgwMiwweDA0LDB4MDQsMHhiMSwweDAwLDB4MmMsMHg0MCwweDBhLDB4MTAsMHgwMiwweGMyLDB4MDEgfSB9LAoteyAgMTYsIDB4OTYwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MSwweDQwLDB4ZTgsMHg1MCwweDMyLDB4MDAgfSB9LAoteyAgMTYsIDB4OTYxMCwgMCwgezB4OGMsMHg4MCwweDAyLDB4MjAsMHgwMCwweGI4LDB4MDAsMHgzZSwweDAwLDB4MGIsMHg4MCwweDMzLDB4ZTAsMHgxMCwweGY4LDB4MDAgfSB9LAoteyAgMTYsIDB4OTYyMCwgMCwgezB4M2UsMHgwMCwweDBjLDB4ODAsMHgwMywweDIwLDB4MDgsMHhjYSwweDAwLDB4M2UsMHgwMCwweDBjLDB4ODAsMHgwMywweGFlLDB4MDMgfSB9LAoteyAgMTYsIDB4OTYzMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDk4LDB4MWQsMHhmYywweDQwLDB4ZmQsMHgxMCwweDJmLDB4NDEgfSB9LAoteyAgMTYsIDB4OTY0MCwgMCwgezB4NGYsMHg5MSwweDAzLDB4ZTQsMHg0MCwweGY5LDB4NDAsMHgzZSwweDQwLDB4NGYsMHhkMCwweDYzLDB4ZTUsMHgwMCwweGY5LDB4NDAgfSB9LAoteyAgMTYsIDB4OTY1MCwgMCwgezB4M2EsMHg1MCwweDJlLDB4OTQsMHgwMywweDY1LDB4MDAsMHhlZCwweDAwLDB4M2YsMHg1MCwweDBmLDB4OTAsMHgwMywweGU2LDB4MDYgfSB9LAoteyAgMTYsIDB4OTY2MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MTUsMHhlNiwweDAwLDB4ZjksMHhlMCwweDMzLDB4NTAgfSB9LAoteyAgMTYsIDB4OTY3MCwgMCwgezB4MGMsMHhkYSwweDAzLDB4YTYsMHgwMCwweGQ5LDB4ODAsMHgzZiwweDQwLDB4MGYsMHg5MSwweDAzLDB4YTYsMHgwMCwweGY5LDB4ODggfSB9LAoteyAgMTYsIDB4OTY4MCwgMCwgezB4M2UsMHg2OCwweDBjLDB4ZGUsMHgwMywweDY2LDB4MDAsMHhlZCwweDAwLDB4M2IsMHg2OSwweDBjLDB4OTAsMHgwMywweGM2LDB4MDAgfSB9LAoteyAgMTYsIDB4OTY5MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDM4LDB4MTAsMHhlMSwweDA4LDB4YjgsMHhlMCwweDIwLDB4MjAgfSB9LAoteyAgMTYsIDB4OTZhMCwgMCwgezB4MTgsMHg4ZSwweDI2LDB4ZTEsMHgwMCwweDgwLDB4YTAsMHgyZSwweDAwLDB4NGIsMHg4OCwweDQyLDB4ZTEsMHg1MCwweGI4LDB4NDAgfSB9LAoteyAgMTYsIDB4OTZiMCwgMCwgezB4MmUsMHgyYSwweDBkLDB4MGEsMHgwMiwweDIwLDB4MDgsMHhiOCwweDAwLDB4MmUsMHgxNCwweDBkLDB4ODAsMHgwMiwweGNlLDB4MDQgfSB9LAoteyAgMTYsIDB4OTZjMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNSwweDAwLDB4YjEsMHg2MCwweDIwLDB4NDAgfSB9LAoteyAgMTYsIDB4OTZkMCwgMCwgezB4MDgsMHgzMSwweGEyLDB4YzUsMHgwMCwweDkxLDB4NDgsMHgyYywweDQwLDB4MWIsMHgxMiwweDAyLDB4ODQsMHgwMCwweGIxLDB4MDAgfSB9LAoteyAgMTYsIDB4OTZlMCwgMCwgezB4MmMsMHg1MCwweDA5LDB4MTYsMHgwMiwweDA1LDB4MDAsMHhhMywweDA0LDB4MjgsMHg0MCwweDA4LDB4MTAsMHgwMiwweGMyLDB4MDEgfSB9LAoteyAgMTYsIDB4OTZmMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhhNCwweDAwLDB4YjksMHgwOCwweDIwLDB4NzAgfSB9LAoteyAgMTYsIDB4OTcwMCwgMCwgezB4MjgsMHg5MCwweDAyLDB4ZTQsMHgwMCwweDg5LDB4MDAsMHgyZSwweDQwLDB4MGIsMHg5MCwweDAyLDB4ZTQsMHgwOCwweGI5LDB4MDMgfSB9LAoteyAgMTYsIDB4OTcxMCwgMCwgezB4MmMsMHg0MCwweDI5LDB4OTAsMHgwMiwweDY0LDB4MDAsMHhiOSwweDAwLDB4MmUsMHg2MiwweDA5LDB4OTAsMHgwMiwweGM2LDB4MDQgfSB9LAoteyAgMTYsIDB4OTcyMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MDUsMHhlNSwweDAwLDB4ZjksMHhkMCwweGIyLDB4NzAgfSB9LAoteyAgMTYsIDB4OTczMCwgMCwgezB4MDgsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGQ5LDB4MDQsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4YTQsMHgxMCwweGY5LDB4MDIgfSB9LAoteyAgMTYsIDB4OTc0MCwgMCwgezB4M2UsMHg0MCwweDBkLDB4OTAsMHgyYiwweDY0LDB4MDAsMHhlOSwweDhkLDB4M2EsMHg2MCwweDBjLDB4OTAsMHgwMywweGU4LDB4MDQgfSB9LAoteyAgMTYsIDB4OTc1MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDEsMHhhNCwweDAwLDB4ZjksMHg4MCwweDNlLDB4NDIgfSB9LAoteyAgMTYsIDB4OTc2MCwgMCwgezB4MGYsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQwLDB4MGYsMHg5YSwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAgfSB9LAoteyAgMTYsIDB4OTc3MCwgMCwgezB4M2UsMHg0MCwweDJmLDB4MTAsMHgwMywweGE0LDB4MDAsMHhmOSwweDIyLDB4M2MsMHg0MCwweDRmLDB4OTAsMHgwMywweGNhLDB4MDAgfSB9LAoteyAgMTYsIDB4OTc4MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDAsMHhhMCwweDAwLDB4ZjAsMHg0MCwweDMyLDB4MDAgfSB9LAoteyAgMTYsIDB4OTc5MCwgMCwgezB4MGMsMHg4MCwweDAzLDB4YzAsMHgwMCwweGY4LDB4MDAsMHgzMiwweDIwLDB4MWYsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGM4LDB4MDAgfSB9LAoteyAgMTYsIDB4OTdhMCwgMCwgezB4MzIsMHgwMCwweDBjLDB4ODAsMHgwMiwweDIwLDB4MDAsMHhjOCwweGMwLDB4M2UsMHgwMCwweDBjLDB4ODAsMHgwMywweGNhLDB4MDQgfSB9LAoteyAgMTYsIDB4OTdiMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTUsMHgyOCwweDEwLDB4YmEsMHgwMCwweDIzLDB4YTAgfSB9LAoteyAgMTYsIDB4OTdjMCwgMCwgezB4MGEsMHhlNCwweDAyLDB4ZTgsMHgwMCwweGJhLDB4MDAsMHgyYiwweGExLDB4MGIsMHhhMCwweDAyLDB4ZTgsMHgwMCwweGFhLDB4MDAgfSB9LAoteyAgMTYsIDB4OTdkMCwgMCwgezB4MmEsMHg4MSwweDBhLDB4YTAsMHgwMywweGU4LDB4MDgsMHhkZSwweDAwLDB4MmUsMHg4MCwweDBhLDB4YTAsMHgwMiwweGNhLDB4MDAgfSB9LAoteyAgMTYsIDB4OTdlMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAwLDB4YjMsMHgwNCwweGEwLDB4YjEgfSB9LAoteyAgMTYsIDB4OTdmMCwgMCwgezB4MDgsMHgzNiwweDIyLDB4Y2MsMHgwMCwweGIzLDB4MDAsMHgyMCwweGU0LDB4MGIsMHgzMCwweDAyLDB4Y2MsMHgwMCwweDgzLDB4MDAgfSB9LAoteyAgMTYsIDB4OTgwMCwgMCwgezB4MjAsMHhjMCwweDA4LDB4MTgsMHgwMiwweDBjLDB4MDAsMHg5MSwweDAxLDB4MmMsMHhjMCwweDA4LDB4MzAsMHgwNiwweGNhLDB4MDAgfSB9LAoteyAgMTYsIDB4OTgxMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MDEsMHgxYywweGM4LDB4YjMsMHgyMSwweDIxLDB4YzIgfSB9LAoteyAgMTYsIDB4OTgyMCwgMCwgezB4MmEsMHg3MCwweDAyLDB4ZGMsMHgwMCwweGI3LDB4YTAsMHgyOSwweGMwLDB4MGIsMHg3MiwweDAyLDB4Y2UsMHgwMCwweGE3LDB4ODEgfSB9LAoteyAgMTYsIDB4OTgzMCwgMCwgezB4MjksMHhjMCwweDRhLDB4NzQsMHgwMiwweGZlLDB4MDAsMHg5NywweDAxLDB4MmMsMHhjMCwweDBhLDB4NzAsMHgxMiwweGU4LDB4MDAgfSB9LAoteyAgMTYsIDB4OTg0MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZSwweDgwLDB4ZjcsMHhjMCwweDMxLDB4ZTAgfSB9LAoteyAgMTYsIDB4OTg1MCwgMCwgezB4MGMsMHg0OCwweDAzLDB4ZGUsMHgxMSwweGY3LDB4ODAsMHgyMSwweGUwLDB4MGIsMHg3YSwweDAzLDB4ZGUsMHgwMCwweGMzLDB4ODAgfSB9LAoteyAgMTYsIDB4OTg2MCwgMCwgezB4MzMsMHhkOCwweDZjLDB4NzgsMHgwMywweDNlLDB4MDAsMHhkNiwweDgwLDB4M2QsMHhlMCwweDBjLDB4NzgsMHgwMywweGVhLDB4MDIgfSB9LAoteyAgMTYsIDB4OTg3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MGQsMHhhYywweDA4LDB4ZmIsMHg4MCwweDNlLDB4YzAgfSB9LAoteyAgMTYsIDB4OTg4MCwgMCwgezB4MGYsMHhkMCwweDAzLDB4ZWMsMHgwNCwweGZiLDB4M2MsMHgzZSwweGMwLDB4MGYsMHhiNiwweDA3LDB4NmMsMHgwMSwweGZiLDB4MDAgfSB9LAoteyAgMTYsIDB4OTg5MCwgMCwgezB4M2UsMHhkMCwweDBmLDB4OTQsMHgwNywweGVjLDB4MDEsMHhlYSwweDAwLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgwMywweGMyLDB4MDYgfSB9LAoteyAgMTYsIDB4OThhMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHhmZSwweDAwLDB4Y2YsMHhhNCwweDNiLDB4NjAgfSB9LAoteyAgMTYsIDB4OThiMCwgMCwgezB4MDgsMHhkOSwweDAzLDB4N2UsMHgwMCwweGNmLDB4ODAsMHgzZiwweDI1LDB4NGYsMHhmYywweDg3LDB4YmUsMHgwMCwweGNmLDB4ODAgfSB9LAoteyAgMTYsIDB4OThjMCwgMCwgezB4N2YsMHhmYywweDBjLDB4ZmMsMHgwMywweDdjLDB4MDAsMHhmNiwweDkwLDB4MzMsMHhlMCwweDBmLDB4ZjgsMHgwMywweGMwLDB4MDAgfSB9LAoteyAgMTYsIDB4OThkMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTEsMHg5YywweDA4LDB4OGYsMHgyOCwweDIxLDB4NDAgfSB9LAoteyAgMTYsIDB4OThlMCwgMCwgezB4MDgsMHhkMCwweDAyLDB4MWMsMHg0MCwweGE3LDB4MjAsMHgzMSwweDA0LDB4MWIsMHg3OCwweDAyLDB4ZGMsMHg4MCwweGQ3LDB4MDAgfSB9LAoteyAgMTYsIDB4OThmMCwgMCwgezB4MmYsMHhjNCwweDFhLDB4ZDAsMHgwMiwweDFlLDB4NDgsMHhiNiwweDAwLDB4NjEsMHhjMCwweDBiLDB4NzAsMHgwNiwweGVhLDB4MDQgfSB9LAoteyAgMTYsIDB4OTkwMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4YywweDAwLDB4ODcsMHgzMCwweDY5LDB4NDQgfSB9LAoteyAgMTYsIDB4OTkxMCwgMCwgezB4MDgsMHg1MCwweDIyLDB4MGMsMHgwMCwweDg3LDB4MDEsMHgyZCwweDQ0LDB4OGIsMHg3MCwweDA2LDB4OGMsMHgxMCwweDg3LDB4MDAgfSB9LAoteyAgMTYsIDB4OTkyMCwgMCwgezB4MjksMHhjOSwweDA4LDB4NTAsMHgwMiwweDFjLDB4NDQsMHhhNiwweDAwLDB4NjEsMHhjMCwweDBiLDB4NzAsMHgwMiwweGMwLDB4MDAgfSB9LAoteyAgMTYsIDB4OTkzMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIwLDB4MTQsMHhjZCwweDAwLDB4ODMsMHg4OCwweDYwLDB4NDAgfSB9LAoteyAgMTYsIDB4OTk0MCwgMCwgezB4MDAsMHgxMCwweDAyLDB4NGMsMHgwMCwweDJiLDB4MDAsMHgyYywweDQxLDB4MWIsMHgzMCwweDAyLDB4Y2MsMHgwMCwweDkzLDB4MDAgfSB9LAoteyAgMTYsIDB4OTk1MCwgMCwgezB4MmMsMHhjMCwweDBhLDB4MzAsMHg0MiwweDBjLDB4MDAsMHhiMiwweDQwLDB4MjAsMHhmMSwweDBiLDB4MzAsMHgwMiwweGM4LDB4MDQgfSB9LAoteyAgMTYsIDB4OTk2MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhiZCwweDQxLDB4Y2YsMHhjMCwweGJhLDB4ZjAgfSB9LAoteyAgMTYsIDB4OTk3MCwgMCwgezB4MjgsMHg5MCwweDFiLDB4NmMsMHgwOCwweGNmLDB4MDAsMHgyYywweGMwLDB4MGYsMHhmMCwweDAzLDB4YWMsMHgwMCwweDhiLDB4MDAgfSB9LAoteyAgMTYsIDB4OTk4MCwgMCwgezB4M2YsMHhjMCwweDZjLDB4YjAsMHg0YiwweDJjLDB4MDEsMHhmYiwweDQwLDB4MjIsMHhjOCwweDBmLDB4YjAsMHgwMywweGVhLDB4MDQgfSB9LAoteyAgMTYsIDB4OTk5MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDAsMHhlYywweDA0LDB4ZmIsMHgwNCwweDNmLDB4ZDQgfSB9LAoteyAgMTYsIDB4OTlhMCwgMCwgezB4MGYsMHgxMCwweDAzLDB4YWMsMHgwMCwweGZiLDB4MDAsMHgzMiwweGMwLDB4NWYsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGZiLDB4MDQgfSB9LAoteyAgMTYsIDB4OTliMCwgMCwgezB4M2UsMHhjMCwweDRmLDB4MTAsMHgxMywweGVjLDB4MDAsMHhmYiwweDg4LDB4M2UsMHhjMCwweDRmLDB4YjAsMHgwMywweGUwLDB4MDAgfSB9LAoteyAgMTYsIDB4OTljMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhkYywweDAwLDB4YzcsMHgwMCwweDMzLDB4NjIgfSB9LAoteyAgMTYsIDB4OTlkMCwgMCwgezB4MGMsMHhjMCwweDBiLDB4M2MsMHgwMCwweGVmLDB4MDAsMHgzMywweGUwLDB4MWMsMHhmMCwweDEzLDB4M2MsMHgwOCwweGY3LDB4MDAgfSB9LAoteyAgMTYsIDB4OTllMCwgMCwgezB4MzEsMHhjMCwweDBlLDB4ZDgsMHgwMywweGJjLDB4MDAsMHhmZSwweDAwLDB4M2QsMHhjNiwweDBjLDB4ZjAsMHgwMywweGMwLDB4NDQgfSB9LAoteyAgMTYsIDB4OTlmMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgxLDB4MDQsMHg2YywweDAwLDB4Y2IsMHgwMywweDIyLDB4NDcgfSB9LAoteyAgMTYsIDB4OWEwMCwgMCwgezB4MDgsMHg5OCwweDQyLDB4MmMsMHgwMCwweDliLDB4MDAsMHgyYSwweGMwLDB4MGEsMHhiMCwweDAyLDB4MmMsMHgwMCwweGJiLDB4MDQgfSB9LAoteyAgMTYsIDB4OWExMCwgMCwgezB4MmEsMHhjMCwweDBhLDB4YjAsMHgwMiwweGFjLDB4MDgsMHhmYSwweDAwLDB4MmUsMHg2MCwweDA4LDB4YjAsMHgwMiwweGUwLDB4NDAgfSB9LAoteyAgMTYsIDB4OWEyMCwgMCwgezB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAwLDB4OWIsMHgwMCwweDIwLDB4NDAgfSB9LAoteyAgMTYsIDB4OWEzMCwgMCwgezB4MDgsMHg5OCwweDAyLDB4MmMsMHgwMCwweGJiLDB4MDAsMHgyMiwweDg4LDB4MDgsMHgzMCwweDAyLDB4MmMsMHgwMCwweGJiLDB4MDAgfSB9LAoteyAgMTYsIDB4OWE0MCwgMCwgezB4MjIsMHhjMCwweDhhLDB4OTIsMHgwMiwweGFjLDB4MDAsMHhhYSwweDgwLDB4MmUsMHhjMCwweDA4LDB4YjAsMHgwNiwweGUwLDB4MDAgfSB9LAoteyAgMTYsIDB4OWE1MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDQsMHgwYywweDAwLDB4ODMsMHgwMCwweGEwLDB4NDAgfSB9LAoteyAgMTYsIDB4OWE2MCwgMCwgezB4MDgsMHgxMCwweDAyLDB4MGMsMHgwMCwweGIzLDB4MDAsMHgyOCwweDgwLDB4MGEsMHgzMiwweDEyLDB4MGMsMHgwMCwweGIzLDB4MDQgfSB9LAoteyAgMTYsIDB4OWE3MCwgMCwgezB4MjgsMHhjMCwweDBhLDB4MzAsMHgyMiwweDhjLDB4MjAsMHhiMiwweDAwLDB4MmMsMHhjMCwweDA4LDB4MzAsMHgwMiwweGMyLDB4MDEgfSB9LAoteyAgMTYsIDB4OWE4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2YywweDAyLDB4Y2IsMHgwMCwweDMwLDB4NDAgfSB9LAoteyAgMTYsIDB4OWE5MCwgMCwgezB4MWMsMHg5NCwweDAzLDB4MmMsMHgwMCwweGVmLDB4MDAsMHgzMiwweGMwLDB4ODgsMHhmMCwweDhiLDB4MmMsMHgwMCwweGZiLDB4MDAgfSB9LAoteyAgMTYsIDB4OWFhMCwgMCwgezB4MzMsMHhjMCwweGFlLDB4ZjAsMHgwMywweGFjLDB4ODAsMHhlYSwweDAxLDB4M2UsMHhjMCwweDJjLDB4YjAsMHgwMywweGMwLDB4MDMgfSB9LAoteyAgMTYsIDB4OWFiMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MWQsMHhmYywweDAwLDB4ZmYsMHgwMCwweDJmLDB4NDAgfSB9LAoteyAgMTYsIDB4OWFjMCwgMCwgezB4MDcsMHhkMiwweDgzLDB4ZmMsMHgwMCwweGRmLDB4MDQsMHgzZiwweGMwLDB4MGYsMHhiMCwweDAzLDB4ZmMsMHgwMCwweGZmLDB4MDAgfSB9LAoteyAgMTYsIDB4OWFkMCwgMCwgezB4M2YsMHhjMCwweDBmLDB4ZDAsMHgwYiwweGVjLDB4MDAsMHhlZSwweDAwLDB4M2YsMHg0MCwweDBmLDB4ZjAsMHgwMywweGU4LDB4MDYgfSB9LAoteyAgMTYsIDB4OWFlMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmNSwweDAwLDB4Y2YsMHgwOCwweDNmLDB4NDggfSB9LAoteyAgMTYsIDB4OWFmMCwgMCwgezB4MGYsMHhjMywweDkzLDB4NzAsMHhkMCwweGRjLDB4MzAsMHgzZiwweGQ4LDB4MGMsMHhiMiwweDAzLDB4M2MsMHhjMCwweGZmLDB4NDAgfSB9LAoteyAgMTYsIDB4OWIwMCwgMCwgezB4MzMsMHhjNCwweDJjLDB4ZjEsMHgwMywweDYyLDB4NTAsMHhmYywweDM0LDB4MzMsMHgwMCwweDBmLDB4NWMsMHgwMywweGYwLDB4MDAgfSB9LAoteyAgMTYsIDB4OWIxMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MTAsMHhjNCwweDgwLDB4OGIsMHgwMCwweDJmLDB4NWEgfSB9LAoteyAgMTYsIDB4OWIyMCwgMCwgezB4MGIsMHhhNiwweDEyLDB4MjEsMHhjMCwweDg5LDB4NzAsMHgyZiwweGRjLDB4MDgsMHhmMiwweGMyLDB4M2QsMHhkMCwweGJmLDB4NDAgfSB9LAoteyAgMTYsIDB4OWIzMCwgMCwgezB4MzcsMHhkYywweDg4LDB4ZjUsMHgwYSwweDIwLDB4ODAsMHhlOCwweDEwLDB4MmEsMHgxNiwweDBiLDB4OTAsMHgwMiwweGUwLDB4MDQgfSB9LAoteyAgMTYsIDB4OWI0MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjMCwweDAwLDB4ODMsMHgwOCwweDJjLDB4NDQgfSB9LAoteyAgMTYsIDB4OWI1MCwgMCwgezB4MGIsMHgwMiwweDAyLDB4MGMsMHgwMCwweDgwLDB4MDAsMHgyYywweGM4LDB4MDgsMHgzMywweDQyLDB4OGMsMHg5MCwweGIzLDB4MzAgfSB9LAoteyAgMTYsIDB4OWI2MCwgMCwgezB4MjgsMHhjOCwweDRhLDB4MzIsMHgxMiwweDgwLDB4MGMsMHhiMCwweGEwLDB4MjgsMHgyOCwweDBiLDB4MTIsMHgwMiwweGUyLDB4MDEgfSB9LAoteyAgMTYsIDB4OWI3MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MTUsMHhhMiwweDAwLDB4OGIsMHgwMCwweDJlLDB4NDggfSB9LAoteyAgMTYsIDB4OWI4MCwgMCwgezB4MGIsMHhhMCwweDIyLDB4MjAsMHgyMCwweDg4LDB4ODAsMHgyZSwweGMwLDB4MjgsMHhiMCwweDBhLDB4YWMsMHgwMCwweGJiLDB4MDAgfSB9LAoteyAgMTYsIDB4OWI5MCwgMCwgezB4MmUsMHhjMCwweDBhLDB4YjAsMHgwMiwweGEwLDB4MDAsMHhhYiwweDgyLDB4MmEsMHhhMCwweDBiLDB4YjIsMHgwMiwweGYwLDB4MDQgfSB9LAoteyAgMTYsIDB4OWJhMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlNywweDAwLDB4Y2IsMHgwMCwweDNlLDB4YzAgfSB9LAoteyAgMTYsIDB4OWJiMCwgMCwgezB4Y2YsMHg5YywweDBiLDB4MjEsMHgwMCwweGQ4LDB4ODgsMHgzZSwweGMwLDB4MGMsMHhiMCwweDAzLDB4YWMsMHgwMCwweGZiLDB4MDAgfSB9LAoteyAgMTYsIDB4OWJjMCwgMCwgezB4M2EsMHhjMCwweDBlLDB4YjAsMHg0MywweGU4LDB4NDAsMHhmOCwweDgwLDB4M2EsMHg2MCwweDBmLDB4OTgsMHgwMywweGQwLDB4MDQgfSB9LAoteyAgMTYsIDB4OWJkMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDEsMHhiNCwweDAwLDB4ZmYsMHgwMCwweDBmLDB4ZTAgfSB9LAoteyAgMTYsIDB4OWJlMCwgMCwgezB4MDcsMHhhMSwweDAzLDB4ZTgsMHgwMiwweGZiLDB4MDAsMHgzZiwweGMwLDB4MGYsMHg3MCwweDIzLDB4N2MsMHgwMCwweGZmLDB4MDIgfSB9LAoteyAgMTYsIDB4OWJmMCwgMCwgezB4MzUsMHhjMCwweDRkLDB4YjAsMHgwMywweDc0LDB4MjAsMHhmYywweDAxLDB4M2YsMHgwMCwweDBmLDB4ZjgsMHgwMywweGY4LDB4MDAgfSB9LAoteyAgMTYsIDB4OWMwMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhNSwweDAwLDB4Y2IsMHgwMCwweGJhLDB4NDAgfSB9LAoteyAgMTYsIDB4OWMxMCwgMCwgezB4MGMsMHgxNCwweDBiLDB4MmYsMHgyMiwweGM5LDB4NDAsMHgzMiwweGMwLDB4OGUsMHhiMCwweDAzLDB4YWMsMHgwMCwweGZiLDB4MDAgfSB9LAoteyAgMTYsIDB4OWMyMCwgMCwgezB4M2UsMHhjMCwweDBlLDB4YjAsMHgwMywweGU0LDB4MDAsMHhjOSwweDAwLDB4MzIsMHgwMCwweDJjLDB4OTAsMHgwMywweDEwLDB4MDQgfSB9LAoteyAgMTYsIDB4OWMzMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM4LDB4MDEsMHgyNCwweDAwLDB4OGYsMHgwMCwweDIyLDB4NDAgfSB9LAoteyAgMTYsIDB4OWM0MCwgMCwgezB4MmMsMHhhNSwweDQyLDB4MjksMHgwMCwweDhiLDB4MDQsMHhhMywweGMxLDB4MGQsMHhmMCwweDBhLDB4M2MsMHgwMCwweGJmLDB4MDAgfSB9LAoteyAgMTYsIDB4OWM1MCwgMCwgezB4M2YsMHhjMCwweDA4LDB4ZjAsMHgwMSwweDY5LDB4MDAsMHhkYSwweDA1LDB4MjIsMHhkMCwweDA4LDB4OTQsMHgwMywweDcyLDB4MDAgfSB9LAoteyAgMTYsIDB4OWM2MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg2MCwweDQwLDB4ODMsMHgwMSwweDIwLDB4YzAgfSB9LAoteyAgMTYsIDB4OWM3MCwgMCwgezB4MDksMHgwMCwweDAyLDB4MjAsMHgwMCwweDgyLDB4NjAsMHgyMiwweGMwLDB4MDgsMHgzMCwweDQyLDB4NGMsMHgxMCwweGJiLDB4MDIgfSB9LAoteyAgMTYsIDB4OWM4MCwgMCwgezB4MmMsMHhjMCwweDA4LDB4YjAsMHgxMiwweDA1LDB4MDAsMHg5YiwweDAwLDB4MjAsMHg4MiwweDA5LDB4MzIsMHgwMiwweDM4LDB4MDAgfSB9LAoteyAgMTYsIDB4OWM5MCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIwLDB4MDEsMHgxNiwweDkwLDB4ODcsMHg4MCwweDIwLDB4ZTAgfSB9LAoteyAgMTYsIDB4OWNhMCwgMCwgezB4MDgsMHg1OCwweDAyLDB4MTYsMHgxNCwweDg0LDB4ODEsMHgyMSwweGUwLDB4MjksMHgzOSwweDAyLDB4NWUsMHgwMCwweGI3LDB4ODAgfSB9LAoteyAgMTYsIDB4OWNiMCwgMCwgezB4MjgsMHhlMCwweDA4LDB4NzgsMHgwMiwweDdhLDB4ODAsMHg5NiwweDgxLDB4MjEsMHhlMCwweDA5LDB4ZjgsMHgwMiwweDQ4LDB4MDAgfSB9LAoteyAgMTYsIDB4OWNjMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwOCwweDA5LDB4OGIsMHgxMCwweDM4LDB4NDQgfSB9LAoteyAgMTYsIDB4OWNkMCwgMCwgezB4NGQsMHgyNSwweDEyLDB4MGMsMHgwMCwweGMyLDB4MTAsMHgyMiwweGM4LDB4MGEsMHgzOCwweDAzLDB4Y2MsMHgwMCwweGYzLDB4MTAgfSB9LAoteyAgMTYsIDB4OWNlMCwgMCwgezB4MmMsMHhjMCwweDBjLDB4MzAsMHgwMywweDhhLDB4YzAsMHhkOSwweDEwLDB4MzIsMHg0MCwweDJkLDB4MTAsMHgwMywweDEyLDB4MDIgfSB9LAoteyAgMTYsIDB4OWNmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MWQsMHhiYywweDgwLDB4ZmYsMHgwMCwweDNmLDB4NDAgfSB9LAoteyAgMTYsIDB4OWQwMCwgMCwgezB4MGYsMHhmMCwweDAzLDB4ZjQsMHg0MCwweGVkLDB4MDAsMHgzZiwweGMwLDB4MGUsMHhmMywweDAzLDB4YmMsMHgwNCwweGZmLDB4MDAgfSB9LAoteyAgMTYsIDB4OWQxMCwgMCwgezB4M2YsMHhjMiwweDBmLDB4ZjAsMHgwYiwweGQ0LDB4MDAsMHhmZiwweDEwLDB4YmYsMHg4MCwweDBlLDB4ZjAsMHgwMywweGQwLDB4MDYgfSB9LAoteyAgMTYsIDB4OWQyMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhmYSwweDAwLDB4Y2IsMHgwMiwweDNlLDB4YzAgfSB9LAoteyAgMTYsIDB4OWQzMCwgMCwgezB4MGYsMHg5MCwweDAzLDB4YTAsMHgwMCwweGNiLDB4MDAsMHgzYSwweGNhLDB4MGMsMHhiMywweDEzLDB4YWYsMHgyNCwweGNiLDB4NDggfSB9LAoteyAgMTYsIDB4OWQ0MCwgMCwgezB4MWUsMHhjOCwweDBmLDB4YjYsMHgwMywweDJjLDB4MDAsMHhmYSwweDAwLDB4M2UsMHhjMCwweDBmLDB4OTAsMHgwMywweGVhLDB4MDAgfSB9LAoteyAgMTYsIDB4OWQ1MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MTEsMHg5YywweDA4LDB4ODcsMHgyMCwweDJkLDB4YzQgfSB9LAoteyAgMTYsIDB4OWQ2MCwgMCwgezB4MGIsMHg1MCwweDEyLDB4ZGMsMHgwNCwweDg3LDB4MDAsMHgyYywweGMwLDB4MDgsMHg3MCwweGEyLDB4MWQsMHgwMCwweGE3LDB4NDAgfSB9LAoteyAgMTYsIDB4OWQ3MCwgMCwgezB4MjUsMHhjYiwweDhiLDB4NzQsMHg4MiwweDFjLDB4MDAsMHhiNywweDAwLDB4MmQsMHhjMSwweDBiLDB4NzAsMHgwMiwweGQyLDB4MDQgfSB9LAoteyAgMTYsIDB4OWQ4MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5YSwweDAxLDB4ODcsMHg5MCwweDJkLDB4ZTAgfSB9LAoteyAgMTYsIDB4OWQ5MCwgMCwgezB4MGIsMHg3OCwweDAyLDB4Y2UsMHgwMCwweDg2LDB4ODAsMHgyZCwweGU0LDB4MjksMHg3YSwweDAyLDB4OWUsMHg4MCwweDg3LDB4YTAgfSB9LAoteyAgMTYsIDB4OWRhMCwgMCwgezB4NmQsMHhlOCwweDBiLDB4NzgsMHgwMiwweDFlLDB4MDAsMHhiNSwweDgwLDB4MmQsMHg2MCwweDBiLDB4NzgsMHgwMiwweGYwLDB4MDAgfSB9LAoteyAgMTYsIDB4OWRiMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MTQsMHhjZCwweDAwLDB4ODMsMHgwMiwweDJjLDB4ZTAgfSB9LAoteyAgMTYsIDB4OWRjMCwgMCwgezB4MGIsMHgzMCwweDAyLDB4Y2MsMHgwMCwweDgzLDB4ZTAsMHgyYywweGMwLDB4MDgsMHgzMCwweDAyLDB4MGMsMHgwMCwweGEzLDB4MDAgfSB9LAoteyAgMTYsIDB4OWRkMCwgMCwgezB4MjQsMHhjMCwweDBiLDB4YjAsMHgwMiwweDBlLDB4MjAsMHhiMywweDA4LDB4MmMsMHhjMCwweDBiLDB4MzAsMHgwMiwweGQyLDB4MDQgfSB9LAoteyAgMTYsIDB4OWRlMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhiOCwweDgyLDB4Y2EsMHgwMCwweDNlLDB4YTggfSB9LAoteyAgMTYsIDB4OWRmMCwgMCwgezB4MGYsMHhlMCwweDAzLDB4ZjgsMHgwMiwweDhlLDB4ODAsMHgzZSwweDgwLDB4MGQsMHhhMCwweDViLDB4YTgsMHgwMCwweGNhLDB4MDAgfSB9LAoteyAgMTYsIDB4OWUwMCwgMCwgezB4M2UsMHg4MCwweDBmLDB4YTAsMHgwMywweDNiLDB4ODAsMHhmZSwweDQyLDB4MmYsMHg4MCwweDBmLDB4YTgsMHgwMywweGZhLDB4MDQgfSB9LAoteyAgMTYsIDB4OWUxMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDAsMHhlMCwweDIwLDB4ZjgsMHgwMCwweDNlLDB4MDAgfSB9LAoteyAgMTYsIDB4OWUyMCwgMCwgezB4MGYsMHgwNiwweDAzLDB4YzAsMHgwMCwweGY4LDB4MTEsMHgzZSwweDAwLDB4MGYsMHgwMCwweDAzLDB4ZTAsMHgwMCwweGY4LDB4MDAgfSB9LAoteyAgMTYsIDB4OWUzMCwgMCwgezB4MzYsMHgwMCwweDBmLDB4ODAsMHgwYiwweGUwLDB4MDAsMHhmOCwweDA0LDB4M2UsMHgyMCwweDBmLDB4ODEsMHgwMywweGQyLDB4MDAgfSB9LAoteyAgMTYsIDB4OWU0MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDAgfSB9LAoteyAgMTYsIDB4OWU1MCwgMCwgezB4MGMsMHg5YSwweDAzLDB4MjQsMHg0MCwweGM5LDB4YzAsMHgzZSwweDQwLDB4NGMsMHg5MCwweDAzLDB4MjQsMHgwMCwweGY5LDB4MDAgfSB9LAoteyAgMTYsIDB4OWU2MCwgMCwgezB4MzYsMHg0MCwweDA3LDB4OTAsMHgwMywweDI0LDB4MDAsMHhjOSwweDA0LDB4MzIsMHg2MCwweDBmLDB4OTAsMHgwMywweGMyLDB4MDQgfSB9LAoteyAgMTYsIDB4OWU3MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDQsMHg2NCwweDAwLDB4YjksMHgwMiwweDJlLDB4NDAgfSB9LAoteyAgMTYsIDB4OWU4MCwgMCwgezB4MGEsMHg5MiwweDAyLDB4MjUsMHgwMiwweDg5LDB4ZTAsMHgyZSwweDQwLDB4OTgsMHg5MCwweDAyLDB4MjQsMHgwMCwweGI5LDB4MDAgfSB9LAoteyAgMTYsIDB4OWU5MCwgMCwgezB4MjIsMHg0MCwweDA5LDB4OTAsMHgwMiwweDA0LDB4MDAsMHhkOSwweDAwLDB4MjIsMHg0NCwweDBiLDB4OWMsMHgwMiwweGUwLDB4MDAgfSB9LAoteyAgMTYsIDB4OWVhMCwgMCwgezB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyYywweDAwLDB4YjksMHgwMCwweDJjLDB4NDAgfSB9LAoteyAgMTYsIDB4OWViMCwgMCwgezB4MDgsMHg5MCwweDAyLDB4MjQsMHgyOCwweDg5LDB4MDAsMHgyYywweDQwLDB4NjgsMHg5MCwweDQyLDB4MjQsMHgwYywweGIxLDB4MDQgfSB9LAoteyAgMTYsIDB4OWVjMCwgMCwgezB4MjYsMHg0MCwweDBiLDB4OTAsMHgwYSwweDJjLDB4ODAsMHg4MSwweDAwLDB4MjIsMHg0MCwweGNiLDB4OTIsMHg4MiwweGM2LDB4MDAgfSB9LAoteyAgMTYsIDB4OWVkMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDQsMHgwNCwweDAwLDB4YjEsMHgyMCwweDJjLDB4NDggfSB9LAoteyAgMTYsIDB4OWVlMCwgMCwgezB4MGEsMHgxMiwweDAyLDB4MDQsMHg4MCwweDgxLDB4MjEsMHgyYywweDRjLDB4MDgsMHgxMSwweDAyLDB4MDQsMHgwOCwweGIxLDB4MTAgfSB9LAoteyAgMTYsIDB4OWVmMCwgMCwgezB4MjAsMHg0YywweDA5LDB4MTIsMHgwMiwweDI0LDB4MDEsMHg5MSwweDIwLDB4YTAsMHg0OCwweDBiLDB4MTAsMHgwMiwweGMyLDB4MDEgfSB9LAoteyAgMTYsIDB4OWYwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg0MSwweGUwLDB4ZjgsMHg1MCwweDNlLDB4MTQgfSB9LAoteyAgMTYsIDB4OWYxMCwgMCwgezB4MGMsMHg4NSwweDAzLDB4MjEsMHg0MCwweGM4LDB4NTAsMHgzZSwweDEwLDB4MDgsMHgwNiwweDgzLDB4MDEsMHhmMCwweGY4LDB4NjggfSB9LAoteyAgMTYsIDB4OWYyMCwgMCwgezB4MzYsMHgxMCwweDBmLDB4MDUsMHgwMywweDI5LDB4NDAsMHhjOCwweDUwLDB4MzIsMHg5NCwweDBmLDB4ODUsMHgwMywweGVlLDB4MDMgfSB9LAoteyAgMTYsIDB4OWYzMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDk4LDB4MWQsMHhmNCwweDAwLDB4ZjksMHgxMCwweDNmLDB4NDQgfSB9LAoteyAgMTYsIDB4OWY0MCwgMCwgezB4MGYsMHhkMSwweDBiLDB4ZjQsMHg0MCwweGZkLDB4MTIsMHgyZSwweDRjLDB4MDMsMHg5MiwweDBiLDB4ZTQsMHgwMCwweGY5LDB4MjAgfSB9LAoteyAgMTYsIDB4OWY1MCwgMCwgezB4M2UsMHg0YywweDBmLDB4OTEsMHgwMywweGZjLDB4MDAsMHhmZCwweDEwLDB4M2YsMHg0NCwweDBmLDB4ZDAsMHgwMywweGU2LDB4MDYgfSB9LAoteyAgMTYsIDB4OWY2MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhmNiwweDIwLDB4YzksMHgwMSwweDNlLDB4NDAgfSB9LAoteyAgMTYsIDB4OWY3MCwgMCwgezB4MGYsMHhkMCwweDAzLDB4M2MsMHgwMCwweGJkLDB4MDAsMHgzMiwweDYzLDB4MGMsMHg5ZSwweDQzLDB4MjcsMHgwMCwweGU5LDB4YzAgfSB9LAoteyAgMTYsIDB4OWY4MCwgMCwgezB4M2UsMHg2OCwweDBjLDB4OTgsMHgwMywweDM0LDB4MDAsMHhmOSwweDEwLDB4M2YsMHg0MCwweDBmLDB4ZDAsMHgwMywweGM2LDB4MDAgfSB9LAoteyAgMTYsIDB4OWY5MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDM4LDB4MTAsMHhjMiwweDIwLDB4ZDgsMHgwMCwweDJlLDB4MDAgfSB9LAoteyAgMTYsIDB4OWZhMCwgMCwgezB4MGIsMHg4MCwweDUyLDB4MjgsMHgwNCwweGI4LDB4MDAsMHgyMiwweDM4LDB4MDgsMHg4OCwweDAzLDB4NjIsMHgwMCwweDg4LDB4ZjAgfSB9LAoteyAgMTYsIDB4OWZiMCwgMCwgezB4MmUsMHgzYSwweDQ4LDB4OGYsMHgwYSwweDIwLDB4MDAsMHhiMCwweDgwLDB4MmUsMHgwMCwweDBiLDB4ODAsMHgwMiwweGNlLDB4MDQgfSB9LAoteyAgMTYsIDB4OWZjMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweDgwLDB4ODEsMHgwMCwweDJjLDB4NDAgfSB9LAoteyAgMTYsIDB4OWZkMCwgMCwgezB4MGIsMHgxMCwweDAyLDB4MDQsMHgwMCwweGIxLDB4MDAsMHgyMCwweDQyLDB4NDgsMHgxNCwweDQyLDB4MDUsMHg4MCwweGExLDB4MjAgfSB9LAoteyAgMTYsIDB4OWZlMCwgMCwgezB4MmMsMHg0NCwweDA4LDB4MTAsMHg4MiwweDA0LDB4MDAsMHhiMSwweDIwLDB4MmMsMHg0MCwweDBiLDB4MTAsMHgwMiwweGMyLDB4MDEgfSB9LAoteyAgMTYsIDB4OWZmMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MTUsMHhhNSwweDAxLDB4OTksMHgwMCwweDJlLDB4NDAgfSB9LAoteyAgMTYsIDB4YTAwMCwgMCwgezB4MGIsMHg5MCwweDAyLDB4MjQsMHg0MCwweGJiLDB4MDEsMHgyMiwweDQxLDB4MDgsMHg5MCwweDEyLDB4MjQsMHgwMCwweGE5LDB4MDAgfSB9LAoteyAgMTYsIDB4YTAxMCwgMCwgezB4MmMsMHg0MCwweDA4LDB4MTAsMHg0MCwweDI0LDB4MDgsMHhiOSwweDQwLDB4NmUsMHg1MCwweDBiLDB4OTIsMHgwMiwweGM2LDB4MDQgfSB9LAoteyAgMTYsIDB4YTAyMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNywweDE0LDB4YzksMHgwNSwweDNlLDB4NDEgfSB9LAoteyAgMTYsIDB4YTAzMCwgMCwgezB4MGYsMHg5MCwweDBiLDB4MjQsMHgwNCwweGY5LDB4MDgsMHhiMiwweDQwLDB4MmMsMHg5MCwweDBhLDB4MjQsMHgwMCwweGU5LDB4MDAgfSB9LAoteyAgMTYsIDB4YTA0MCwgMCwgezB4M2UsMHg0MCwweDJjLDB4OTAsMHgwMywweDI3LDB4MDAsMHhmOSwweDgwLDB4M2UsMHg2MCwweDBmLDB4OTAsMHgwMywweGU4LDB4MDQgfSB9LAoteyAgMTYsIDB4YTA1MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDEsMHg4NCwweDg4LDB4ZjksMHgwMCwweDNlLDB4NDggfSB9LAoteyAgMTYsIDB4YTA2MCwgMCwgezB4MGYsMHg5OSwweDAzLDB4ZTYsMHgwMCwweGY5LDB4MDIsMHgzYywweDQwLDB4YWYsMHgxMCwweDAzLDB4ZTQsMHgxMiwweGQ5LDB4MDQgfSB9LAoteyAgMTYsIDB4YTA3MCwgMCwgezB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGU1LDB4MDAsMHhmOSwweGMwLDB4M2UsMHg2NCwweDBmLDB4OTAsMHg4MywweGNhLDB4MDAgfSB9LAoteyAgMTYsIDB4YTA4MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMSwweDAwLDB4YzgsMHgwMCwweDNlLDB4MDAgfSB9LAoteyAgMTYsIDB4YTA5MCwgMCwgezB4MGYsMHg4MCwweDAzLDB4MjEsMHgwMCwweGM4LDB4NDAsMHhiMiwweDAwLDB4MGMsMHg4MCwweDAzLDB4MjAsMHgxMCwweGM4LDB4MDAgfSB9LAoteyAgMTYsIDB4YTBhMCwgMCwgezB4MzIsMHgwMCwweDBjLDB4ODAsMHgwMywweGUwLDB4ODAsMHhmOCwweDA0LDB4MzIsMHgwMCwweDJjLDB4ODAsMHgwYiwweDBhLDB4MDQgfSB9LAoteyAgMTYsIDB4YTBiMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHgyOCwweDAwLDB4Y2EsMHgwMCwweDJlLDB4ODAgfSB9LAoteyAgMTYsIDB4YTBjMCwgMCwgezB4MGIsMHhlOCwweDBhLDB4MzgsMHgxMCwweDhlLDB4YzAsMHgyMiwweDgwLDB4MGQsMHhhMCwweDAyLDB4MjgsMHgwMCwweDBhLDB4MDQgfSB9LAoteyAgMTYsIDB4YTBkMCwgMCwgezB4MDIsMHg4MCwweDI4LDB4YTAsMHgwMiwweGZiLDB4MDAsMHhiYSwweDAwLDB4MzcsMHhiMCwweDQ4LDB4ZWEsMHgwMiwweDBhLDB4MDAgfSB9LAoteyAgMTYsIDB4YTBlMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAwLDB4OTMsMHgwMSwweDJjLDB4YzAgfSB9LAoteyAgMTYsIDB4YTBmMCwgMCwgezB4OGIsMHhiMCwweDQyLDB4MGMsMHg5MCwweDliLDB4MjAsMHgyMCwweGMwLDB4NDgsMHgzMCwweDQyLDB4MmMsMHgwMCwweDgzLDB4MDAgfSB9LAoteyAgMTYsIDB4YTEwMCwgMCwgezB4MjAsMHhjMCwweDA4LDB4MzAsMHgwMiwweGNkLDB4NDAsMHhiMywweDAwLDB4MjQsMHhjOCwweDA4LDB4MzgsMHgwMiwweDBhLDB4MDAgfSB9LAoteyAgMTYsIDB4YTExMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MDEsMHgxNCwweDAwLDB4ODcsMHgwMCwweDJkLDB4YzAgfSB9LAoteyAgMTYsIDB4YTEyMCwgMCwgezB4MGIsMHgyNCwweDA2LDB4MTYsMHgwMCwweDkzLDB4MDgsMHgyMSwweGM4LDB4MDksMHgzMSwweDAyLDB4MGMsMHg4MCwweDg3LDB4YTAgfSB9LAoteyAgMTYsIDB4YTEzMCwgMCwgezB4MjEsMHhjMCwweDE4LDB4NzIsMHgwMiwweGRjLDB4MDAsMHhiNywweGI0LDB4MjQsMHhlMywweDA4LDB4NzgsMHgwMiwweDI4LDB4MDAgfSB9LAoteyAgMTYsIDB4YTE0MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZSwweDAyLDB4OTcsMHhhMCwweDNkLDB4ZjAgfSB9LAoteyAgMTYsIDB4YTE1MCwgMCwgezB4MGYsMHg0OCwweDAzLDB4M2UsMHgwMCwweGQ2LDB4ODAsMHgzMCwweGUwLDB4MmMsMHg3YSwweDAyLDB4MWUsMHg4MiwweGMzLDB4ZjAgfSB9LAoteyAgMTYsIDB4YTE2MCwgMCwgezB4MzMsMHhlYywweDBjLDB4N2MsMHgwMywweGQ2LDB4MDAsMHhmNywweDgwLDB4MzUsMHhlMCwweDBjLDB4ZDgsMHgwMywweDJhLDB4MDIgfSB9LAoteyAgMTYsIDB4YTE3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTksMHhhNSwweGEwLDB4ZmIsMHgwMCwweDNlLDB4Y2EgfSB9LAoteyAgMTYsIDB4YTE4MCwgMCwgezB4MGYsMHg4MCwweDAzLDB4ZWMsMHgwMiwweGVhLDB4MDAsMHgzZSwweGM2LDB4MGYsMHhiNCwweDBiLDB4ZWQsMHg0MCwweGZiLDB4MDAgfSB9LAoteyAgMTYsIDB4YTE5MCwgMCwgezB4YmUsMHhjMCwweDBmLDB4YjYsMHg0MywweGUwLDB4MDAsMHhmYiwweDAyLDB4M2UsMHg4MCwweDBmLDB4OTAsMHgwMywweGMyLDB4MDYgfSB9LAoteyAgMTYsIDB4YTFhMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmZSwweDAyLDB4Y2YsMHg4OCwweDNmLDB4ZTAgfSB9LAoteyAgMTYsIDB4YTFiMCwgMCwgezB4MGMsMHhiOSwweDAzLDB4ZmUsMHgwMCwweGRkLDB4ODEsMHgzMywweGUwLDB4OGMsMHhmYywweDAzLDB4M2YsMHgwNCwweGNmLDB4ODAgfSB9LAoteyAgMTYsIDB4YTFjMCwgMCwgezB4MzMsMHhlMiwweDRmLDB4ZmMsMHgwMywweDNlLDB4MDAsMHhjZiwweGMwLDB4MzMsMHg2NCwweDBjLDB4ZjgsMHgwMywweGMwLDB4MDAgfSB9LAoteyAgMTYsIDB4YTFkMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTEsMHg5NCwweDQwLDB4ODcsMHgwMCwweDJmLDB4YzEgfSB9LAoteyAgMTYsIDB4YTFlMCwgMCwgezB4MGQsMHg2OSwweGEyLDB4ZDAsMHg0MCwweGJjLDB4MDAsMHgyMywweGMwLDB4MDgsMHhmMCwweDAyLDB4OWMsMHgwMCwweDg3LDB4MDAgfSB9LAoteyAgMTYsIDB4YTFmMCwgMCwgezB4MjEsMHhjMCwweDBiLDB4NzAsMHgwYSwweDNjLDB4MDQsMHg4NywweDEwLDB4MjEsMHg0YywweDA4LDB4NjAsMHgwMiwweGVhLDB4MDQgfSB9LAoteyAgMTYsIDB4YTIwMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5ZSwweDAwLDB4ODcsMHgwMCwweDJkLDB4YzAgfSB9LAoteyAgMTYsIDB4YTIxMCwgMCwgezB4MDksMHg2MiwweDAyLDB4ZDgsMHgwMCwweDk3LDB4MDAsMHgyMSwweGM0LDB4MDgsMHg3MCwweDAyLDB4MGMsMHg0MCwweDk3LDB4MDAgfSB9LAoteyAgMTYsIDB4YTIyMCwgMCwgezB4MjEsMHhjNCwweDBiLDB4MzAsMHgwMiwweDU4LDB4MDAsMHhhNywweDA4LDB4MjEsMHg4MCwweDA4LDB4NjAsMHg4MiwweGMwLDB4MDAgfSB9LAoteyAgMTYsIDB4YTIzMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIwLDB4MTQsMHhlNCwweDI1LDB4ODMsMHgwMCwweDJjLDB4YzAgfSB9LAoteyAgMTYsIDB4YTI0MCwgMCwgezB4MDksMHgyMiwweDAyLDB4Y2MsMHgyMCwweGIyLDB4MDAsMHgyMCwweGMwLDB4MjgsMHhiMCwweDAyLDB4OGMsMHgwMCwweDkzLDB4MDAgfSB9LAoteyAgMTYsIDB4YTI1MCwgMCwgezB4MjAsMHhjMCwweDBiLDB4MzAsMHg0MiwweDZjLDB4MjAsMHg4MywweDA4LDB4MjAsMHhlMiwweDA4LDB4YjgsMHgwMiwweGM4LDB4MDQgfSB9LAoteyAgMTYsIDB4YTI2MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhhNCwweDAwLDB4Y2YsMHgwMCwweDNmLDB4YzAgfSB9LAoteyAgMTYsIDB4YTI3MCwgMCwgezB4MGQsMHg5YywweDAzLDB4ZTgsMHgwMCwweGRiLDB4ODAsMHgzMywweGMwLDB4MGMsMHhmMCwweDBiLDB4M2MsMHgwNiwweGRmLDB4MDAgfSB9LAoteyAgMTYsIDB4YTI4MCwgMCwgezB4YjMsMHhjMCwweDBiLDB4ZjAsMHgwNywweDY4LDB4MDAsMHhlZiwweDQwLDB4MzIsMHhhOCwweDBjLDB4YTgsMHgwMywweGVhLDB4MDQgfSB9LAoteyAgMTYsIDB4YTI5MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDAsMHhlYywweDAwLDB4ZmIsMHgwMCwweDJlLDB4YzAgfSB9LAoteyAgMTYsIDB4YTJhMCwgMCwgezB4MGYsMHg5NCwweDAzLDB4YzUsMHg0MCwweGZhLDB4MzAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4NmMsMHgwMCwweGViLDB4MDAgfSB9LAoteyAgMTYsIDB4YTJiMCwgMCwgezB4M2UsMHhjMCwweDBmLDB4MzAsMHgxMywweGFkLDB4NDAsMHhmYiwweDAyLDB4M2UsMHhkMCwweDBmLDB4YjQsMHgwMywweGUwLDB4MDAgfSB9LAoteyAgMTYsIDB4YTJjMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhlNCwweDAwLDB4YzcsMHgwMCwweDMxLDB4YzEgfSB9LAoteyAgMTYsIDB4YTJkMCwgMCwgezB4OGMsMHhkMCwweDAzLDB4MzQsMHgwMCwweGNkLDB4MDAsMHgzZCwweGMwLDB4MGMsMHhmMCwweDAxLDB4N2MsMHgwMCwweGRiLDB4MDEgfSB9LAoteyAgMTYsIDB4YTJlMCwgMCwgezB4M2QsMHhjMCwweDRjLDB4ZjAsMHgwYiwweDMwLDB4MDIsMHhjMywweDAwLDB4MzIsMHgwMCwweDBmLDB4ZDAsMHgwMywweDAwLDB4NDQgfSB9LAoteyAgMTYsIDB4YTJmMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgxLDB4MDQsMHg2ZSwweDQwLDB4OGIsMHgwMCwweDJhLDB4YzAgfSB9LAoteyAgMTYsIDB4YTMwMCwgMCwgezB4MjgsMHg4NCwweDQyLDB4MjIsMHg4MCwweDg4LDB4ODAsMHgzYSwweGMwLDB4MGQsMHhiMCwweDAyLDB4YWMsMHgwOCwweDhiLDB4MDAgfSB9LAoteyAgMTYsIDB4YTMxMCwgMCwgezB4MmUsMHhjMCwweDA4LDB4YjAsMHgwMiwweDIzLDB4MjAsMHg4YiwweDAwLDB4MjIsMHgzMCwweDhiLDB4OGMsMHgwMiwweDIwLDB4NDAgfSB9LAoteyAgMTYsIDB4YTMyMCwgMCwgezB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyNCwweDAwLDB4OGIsMHgwMCwweDIyLDB4YzAgfSB9LAoteyAgMTYsIDB4YTMzMCwgMCwgezB4MDgsMHgzOCwweDg2LDB4MmEsMHgwMCwweDg5LDB4ODAsMHgyYSwweGMwLDB4MDgsMHhiMCwweDAyLDB4Y2MsMHgwMCwweDliLDB4MDAgfSB9LAoteyAgMTYsIDB4YTM0MCwgMCwgezB4MmUsMHhjMCwweDA4LDB4YjAsMHg0MiwweDI2LDB4MDAsMHg4YiwweDAwLDB4MjIsMHg3MSwweDBiLDB4OGMsMHgwMiwweDIwLDB4MDAgfSB9LAoteyAgMTYsIDB4YTM1MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDQsMHgwYywweDAwLDB4ODMsMHgwMCwweDI4LDB4YzAgfSB9LAoteyAgMTYsIDB4YTM2MCwgMCwgezB4MDgsMHgzMiwweDQyLDB4MDAsMHgwMCwweDgxLDB4MDAsMHgyOCwweGMwLDB4MDksMHgzMCwweDUyLDB4OGMsMHgwOCwweDgzLDB4MDAgfSB9LAoteyAgMTYsIDB4YTM3MCwgMCwgezB4MmMsMHhjMCwweDE4LDB4MzAsMHgwNiwweDAwLDB4MDAsMHg4MywweDAwLDB4YTAsMHgwMCwweDBiLDB4MDAsMHgwMiwweDAyLDB4MDEgfSB9LAoteyAgMTYsIDB4YTM4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg3NCwweDAyLDB4OGIsMHgwMCwweDMzLDB4YzAgfSB9LAoteyAgMTYsIDB4YTM5MCwgMCwgezB4MGMsMHg5MiwweDBiLDB4MjAsMHgwMiwweGM4LDB4MDAsMHgzYiwweGMwLDB4MGMsMHhmNSwweDAzLDB4ZmMsMHgwMCwweGRmLDB4MDEgfSB9LAoteyAgMTYsIDB4YTNhMCwgMCwgezB4M2YsMHhjMSwweDA0LDB4ZjAsMHgzMywweDIxLDB4NDAsMHhjZiwweDAwLDB4MzIsMHgwMCwweDBmLDB4ODAsMHgwYiwweDAwLDB4MDMgfSB9LAoteyAgMTYsIDB4YTNiMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTksMHhmYywweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzAgfSB9LAoteyAgMTYsIDB4YTNjMCwgMCwgezB4MGYsMHhjNCwweDAzLDB4ZjAsMHgwMCwweDljLDB4MDAsMHgzYiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGZmLDB4MDAgfSB9LAoteyAgMTYsIDB4YTNkMCwgMCwgezB4MmYsMHhjMCwweDBmLDB4ZjAsMHgwMywweGYwLDB4ODAsMHhmZiwweDAwLDB4M2YsMHgwMCwweDBmLDB4YzAsMHgwMywweGU4LDB4MDYgfSB9LAoteyAgMTYsIDB4YTNlMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmMCwweGMwLDB4ZmYsMHhhMCwweDMxLDB4MjQgfSB9LAoteyAgMTYsIDB4YTNmMCwgMCwgezB4MGUsMHhmMCwweDYzLDB4MTAsMHgwNCwweGVmLDB4NjQsMHgzZiwweGMwLDB4NGMsMHhmMywweDAzLDB4MWMsMHg4MCwweGRmLDB4MDggfSB9LAoteyAgMTYsIDB4YTQwMCwgMCwgezB4MzcsMHhjMCwweDBmLDB4ZjAsMHgwMywweGYwLDB4YTAsMHhmYywweDAwLDB4MzEsMHgwOCwweDJjLDB4ZDIsMHgwMywweGYwLDB4MDAgfSB9LAoteyAgMTYsIDB4YTQxMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MTAsMHhlMSwweDAwLDB4YmIsMHhjMSwweDIyLDB4NDggfSB9LAoteyAgMTYsIDB4YTQyMCwgMCwgezB4MDgsMHhmZCwweDAyLDB4MmUsMHgwMCwweDk3LDB4MDAsMHgyZiwweGMyLDB4NDgsMHg3MSwweDIzLDB4N2UsMHg0MCwweGJmLDB4MDAgfSB9LAoteyAgMTYsIDB4YTQzMCwgMCwgezB4MjEsMHhjNSwweDRiLDB4ZjUsMHgwMiwweGVmLDB4MDAsMHhiYiwweDQwLDB4MzYsMHhlMCwweDA4LDB4YTgsMHgwMiwweGUwLDB4MDQgfSB9LAoteyAgMTYsIDB4YTQ0MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjNSwweDg0LDB4YjMsMHgxMSwweGEyLDB4YzkgfSB9LAoteyAgMTYsIDB4YTQ1MCwgMCwgezB4MGEsMHgzMCwweDAyLDB4MDAsMHgwMSwweGIzLDB4MzAsMHgyOCwweGM0LDB4MDgsMHgzMiwweDQyLDB4MGMsMHgwMCwweGEzLDB4MDggfSB9LAoteyAgMTYsIDB4YTQ2MCwgMCwgezB4YTAsMHhjYSwweDBhLDB4MzIsMHg4MiwweDgwLDB4MTAsMHhiMCwweDQxLDB4MjQsMHgxMSwweDA4LDB4MzEsMHgwMiwweGUyLDB4MDEgfSB9LAoteyAgMTYsIDB4YTQ3MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MTUsMHhhNSwweDAwLDB4YmIsMHgwMCwweDIyLDB4ZTEgfSB9LAoteyAgMTYsIDB4YTQ4MCwgMCwgezB4MjgsMHhiMCwweDAyLDB4MmMsMHg4MCwweDliLDB4MDAsMHgyZSwweGMwLDB4MDgsMHhiMCwweDAyLDB4NmMsMHgwMCwweGIzLDB4MDAgfSB9LAoteyAgMTYsIDB4YTQ5MCwgMCwgezB4MjIsMHhjMCwweDBiLDB4YjAsMHgwMCwweGVjLDB4MjAsMHhiYiwweDAwLDB4MjYsMHhjMCwweDA4LDB4ODAsMHgwMiwweGYwLDB4MDQgfSB9LAoteyAgMTYsIDB4YTRhMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlMywweDQwLDB4ZjcsMHgwNCwweDMyLDB4YzAgfSB9LAoteyAgMTYsIDB4YTRiMCwgMCwgezB4NGUsMHhiMCwweDIzLDB4MmUsMHgyMCwweGViLDB4MDAsMHgxZSwweGMwLDB4MGMsMHhiMCwweDAxLDB4MmMsMHgwMCwweGZiLDB4MDAgfSB9LAoteyAgMTYsIDB4YTRjMCwgMCwgezB4MzYsMHhjMCwweDFmLDB4YjAsMHgwMywweGUxLDB4NDAsMHhmYiwweDAwLDB4MzYsMHg5OCwweDBjLDB4OTAsMHgwMywweGQwLDB4MDQgfSB9LAoteyAgMTYsIDB4YTRkMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDEsMHhiNiwweDA0LDB4ZmYsMHgwMiwweDNmLDB4YzAgfSB9LAoteyAgMTYsIDB4YTRlMCwgMCwgezB4MGYsMHhmMCwweDAzLDB4ZmUsMHgwMCwweGVmLDB4MDIsMHgzZCwweGMwLDB4MGYsMHhmMCwweDIzLDB4ZmMsMHgwMCwweGZmLDB4MDAgfSB9LAoteyAgMTYsIDB4YTRmMCwgMCwgezB4M2YsMHhjMCwweDRmLDB4ZjAsMHgwMywweGZjLDB4MDAsMHhmNCwweDAwLDB4M2IsMHg0MCwweDBmLDB4YTAsMHgxMywweGY4LDB4MDAgfSB9LAoteyAgMTYsIDB4YTUwMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhYSwweDIwLDB4ZWIsMHgxMCwweDM2LDB4YzAgfSB9LAoteyAgMTYsIDB4YTUxMCwgMCwgezB4MGQsMHhiMCwweDA3LDB4ZWMsMHgyMCwweGRiLDB4MDAsMHgzMiwweGMwLDB4MGMsMHhiMCwweDAyLDB4NmMsMHgyMCwweGViLDB4MDAgfSB9LAoteyAgMTYsIDB4YTUyMCwgMCwgezB4M2UsMHhjMSwweDBkLDB4YjAsMHgwMywweGUwLDB4MjAsMHhkYiwweGEwLDB4MzIsMHg5MCwweDRjLDB4YjAsMHgwYiwweDEwLDB4MDQgfSB9LAoteyAgMTYsIDB4YTUzMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM4LDB4MDUsMHgyZCwweDAwLDB4OGYsMHg4MCwweDIwLDB4YzEgfSB9LAoteyAgMTYsIDB4YTU0MCwgMCwgezB4MDgsMHg3MCwweDEyLDB4Y2YsMHgwMCwweDhmLDB4MDAsMHhhMywweGMwLDB4MGQsMHhmMCwweDAyLDB4M2MsMHgwMCwweDhmLDB4MDAgfSB9LAoteyAgMTYsIDB4YTU1MCwgMCwgezB4MzcsMHhjMCwweDg4LDB4ZjAsMHgwMiwweGVjLDB4MDAsMHg4OCwweDAwLDB4MjAsMHg0MCwweDA4LDB4ODAsMHgwMiwweDMyLDB4MDAgfSB9LAoteyAgMTYsIDB4YTU2MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0YywweDAwLDB4YTMsMHg4MCwweDI0LDB4ODEgfSB9LAoteyAgMTYsIDB4YTU3MCwgMCwgezB4MDksMHgzMCwweDA2LDB4Y2MsMHg0MCwweDkzLDB4MDAsMHgyOCwweGMxLDB4MDgsMHhiMCwweDAyLDB4Y2YsMHg0MCwweGEzLDB4MDAgfSB9LAoteyAgMTYsIDB4YTU4MCwgMCwgezB4MmMsMHhjMCwweDA5LDB4MzAsMHgwMiwweGNkLDB4MDAsMHg5MCwweDQwLDB4NjAsMHg0MCwweDI4LDB4MTAsMHgwMiwweDM4LDB4MDAgfSB9LAoteyAgMTYsIDB4YTU5MCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIwLDB4MDEsMHgwZSwweDAwLDB4ODcsMHg4MCwweDIzLDB4ZTAgfSB9LAoteyAgMTYsIDB4YTVhMCwgMCwgezB4NDgsMHg3OSwweDAyLDB4ZGUsMHg0MSwweDk3LDB4ODAsMHgyOSwweGUwLDB4MTksMHg3OCwweDA2LDB4OWUsMHgwMCwweDg3LDB4ODAgfSB9LAoteyAgMTYsIDB4YTViMCwgMCwgezB4MjUsMHhlMCwweDA4LDB4NzgsMHgwMiwweGQyLDB4MDMsMHg4MywweDgwLDB4MjEsMHhhMCwweDA4LDB4NjgsMHgwMiwweDA4LDB4MDAgfSB9LAoteyAgMTYsIDB4YTVjMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDAwLDB4YTMsMHgwMCwweDM0LDB4YzAgfSB9LAoteyAgMTYsIDB4YTVkMCwgMCwgezB4MGQsMHgzMCwweDQyLDB4Y2MsMHgwMSwweGQzLDB4MTAsMHgzYSwweGM1LDB4MGMsMHgzOSwweDAzLDB4Y2MsMHgwMCwweGUzLDB4MDQgfSB9LAoteyAgMTYsIDB4YTVlMCwgMCwgezB4M2MsMHhjNCwweDBkLDB4MzAsMHgwMywweGNlLDB4MDAsMHhkMCwweDAwLDB4MzAsMHg0MCwweDBjLDB4MzAsMHgwMywweDEyLDB4MDIgfSB9LAoteyAgMTYsIDB4YTVmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MWQsMHhiYywweDAwLDB4ZjcsMHgwMCwweDNmLDB4YzAgfSB9LAoteyAgMTYsIDB4YTYwMCwgMCwgezB4MWYsMHhmMCwweDUzLDB4ZmMsMHgwMCwweGVmLDB4MDgsMHgzNywweGQxLDB4MGYsMHhmMCwweDgzLDB4N2MsMHgwMCwweGY3LDB4NDAgfSB9LAoteyAgMTYsIDB4YTYxMCwgMCwgezB4M2YsMHhjMSwweDBmLDB4ZjEsMHgwMywweGQwLDB4MDAsMHhmZiwweDAwLDB4YmYsMHg4NCwweDBmLDB4YzgsMHgwMywweGQwLDB4MDYgfSB9LAoteyAgMTYsIDB4YTYyMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlMCwweDAwLDB4ZmIsMHgwMCwweDNlLDB4ZTAgfSB9LAoteyAgMTYsIDB4YTYzMCwgMCwgezB4MmMsMHhiZSwweDgzLDB4ZWMsMHgwMCwweGViLDB4NDAsMHgzZSwweGMwLDB4MGYsMHhiNCwweDAzLDB4ZWQsMHgyMCwweGZiLDB4MTAgfSB9LAoteyAgMTYsIDB4YTY0MCwgMCwgezB4YjYsMHhkMiwweDBmLDB4YjQsMHg4MywweGVjLDB4MDAsMHhkYiwweDgwLDB4MzYsMHhjMSwweDBjLDB4OTAsMHgyMSwweDJhLDB4MDAgfSB9LAoteyAgMTYsIDB4YTY1MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MTEsMHg5NCwweDAwLDB4YjcsMHgwMCwweDJmLDB4YzAgfSB9LAoteyAgMTYsIDB4YTY2MCwgMCwgezB4MDgsMHgzNiwweDAyLDB4MGMsMHgwOCwweDg3LDB4MzAsMHgyZCwweGQ5LDB4OGIsMHg3MiwweDg2LDB4ZGQsMHgwMCwweGIzLDB4MjAgfSB9LAoteyAgMTYsIDB4YTY3MCwgMCwgezB4MjEsMHhjOCwweDBiLDB4NzQsMHgwMiwweGQwLDB4MDIsMHg4NCwweDAwLDB4YTAsMHgwMCwweDI4LDB4MjAsMHgwMiwweDEyLDB4MDQgfSB9LAoteyAgMTYsIDB4YTY4MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5YSwweDAwLDB4YjcsMHg4MCwweDJkLDB4ZTAgfSB9LAoteyAgMTYsIDB4YTY5MCwgMCwgezB4MDgsMHg3YSwweDAyLDB4OWQsMHgwMCwweGE3LDB4YTAsMHgyZCwweGUwLDB4MGIsMHg3OCwweDAyLDB4OWUsMHg4MCwweGE3LDB4ODAgfSB9LAoteyAgMTYsIDB4YTZhMCwgMCwgezB4MjEsMHhlNCwweDA4LDB4N2EsMHgyNiwweDllLDB4MTgsMHg4MywweDA0LDB4MjEsMHhlMCwweDA4LDB4NzgsMHgwYSwweDcwLDB4MDAgfSB9LAoteyAgMTYsIDB4YTZiMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MTQsMHhjYywweDAwLDB4YjMsMHgwMCwweDJjLDB4ZTAgfSB9LAoteyAgMTYsIDB4YTZjMCwgMCwgezB4NTgsMHgzMCwweDEyLDB4MGUsMHg4MiwweDgzLDB4MDAsMHgyYywweGMwLDB4MGIsMHgzMCwweDAyLDB4Y2MsMHgwMSwweGIzLDB4MDAgfSB9LAoteyAgMTYsIDB4YTZkMCwgMCwgezB4MjAsMHhjMSwweDBiLDB4MzAsMHgwMiwweGMwLDB4MDgsMHg4OCwweGQyLDB4MjAsMHgyMCwweDA4LDB4MDAsMHgwMiwweDUyLDB4MDQgfSB9LAoteyAgMTYsIDB4YTZlMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhiOCwweDYwLDB4ZmEsMHgwMCwweDNmLDB4ODIgfSB9LAoteyAgMTYsIDB4YTZmMCwgMCwgezB4MGMsMHhhMCwweDAzLDB4ZmEsMHgwMCwweGFhLDB4MDAsMHgxZSwweDgwLDB4OGYsMHhhMCwweDAzLDB4ZTgsMHgwMCwweGYyLDB4MDAgfSB9LAoteyAgMTYsIDB4YTcwMCwgMCwgezB4MzIsMHg4MCwweDFmLDB4YTAsMHgwMywweGU4LDB4MDAsMHhkYSwweDAwLDB4MzYsMHg4OCwweGFjLDB4ZTAsMHgwMywweDdhLDB4MDQgfSB9LAoteyAgMTYsIDB4YTcxMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDAsMHhlMSwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MjAgfSB9LAoteyAgMTYsIDB4YTcyMCwgMCwgezB4NGYsMHg4MCwweDAzLDB4ZTEsMHgwMCwweGYwLDB4MDAsMHgzYywweDAwLDB4MGIsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGY4LDB4MDIgfSB9LAoteyAgMTYsIDB4YTczMCwgMCwgezB4M2EsMHgwMCwweDBmLDB4ODAsMHg0MywweGYxLDB4MDAsMHhmYywweDBhLDB4M2QsMHgwMCwweDBmLDB4YzAsMHgwMywweDkyLDB4MDAgfSB9LAoteyAgMTYsIDB4YTc0MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNiwweDAwLDB4YzksMHg5MCwweDNlLDB4NDAgfSB9LAoteyAgMTYsIDB4YTc1MCwgMCwgezB4MGYsMHg5MiwweDAzLDB4ZTQsMHgwMCwweGQ5LDB4MDAsMHgzMiwweDQwLDB4MDQsMHg5MCwweDA3LDB4ZTcsMHgwMCwweGY5LDB4MTAgfSB9LAoteyAgMTYsIDB4YTc2MCwgMCwgezB4MzAsMHg0MCwweDBjLDB4OTAsMHg0MywweGU0LDB4MDksMHhkOSwweDgwLDB4MjIsMHg0MCwweDJjLDB4MTAsMHgwYiwweDAyLDB4MDQgfSB9LAoteyAgMTYsIDB4YTc3MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDQsMHg2NCwweDYwLDB4ODksMHhjMCwweDJlLDB4NDAgfSB9LAoteyAgMTYsIDB4YTc4MCwgMCwgezB4MGIsMHg5OCwweDI2LDB4YzUsMHg4MCwweDg5LDB4MDAsMHgyMiwweDQwLDB4MjgsMHg5MCwweDEyLDB4ZTcsMHgxMCwweGI5LDB4MDAgfSB9LAoteyAgMTYsIDB4YTc5MCwgMCwgezB4MzYsMHg0MCwweDI4LDB4OTAsMHgxMiwweGM1LDB4ODMsMHhjOSwweDgwLDB4YjYsMHg0MCwweDA4LDB4OTAsMHgwMiwweDIwLDB4MDAgfSB9LAoteyAgMTYsIDB4YTdhMCwgMCwgezB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgwNCwweDAwLDB4ODksMHg0MCwweDJlLDB4NDEgfSB9LAoteyAgMTYsIDB4YTdiMCwgMCwgezB4NGIsMHg5MCwweDAyLDB4ZTQsMHgwMCwweDk5LDB4MDAsMHhhMiwweDQwLDB4MGEsMHg5MCwweDAyLDB4ZTUsMHgwMCwweGI5LDB4MDAgfSB9LAoteyAgMTYsIDB4YTdjMCwgMCwgezB4ZTIsMHg0MSwweDA4LDB4OTAsMHg0MiwweGU0LDB4MDAsMHg5ZCwweDUwLDB4YWIsMHg0YSwweDA4LDB4ZDAsMHgyNiwweDA2LDB4MDAgfSB9LAoteyAgMTYsIDB4YTdkMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDQsMHgwNCwweDgyLDB4ODEsMHgyMCwweDJjLDB4NTAgfSB9LAoteyAgMTYsIDB4YTdlMCwgMCwgezB4MGIsMHgxMCwweDAyLDB4ZTQsMHgwMCwweDgxLDB4NDAsMHgyMCwweDUwLDB4NGEsMHgxNCwweDMyLDB4YzQsMHgwMCwweGIxLDB4NDAgfSB9LAoteyAgMTYsIDB4YTdmMCwgMCwgezB4MjQsMHg1MSwweDE4LDB4MTQsMHgxMiwweGQ0LDB4MDAsMHg4NSwweDQwLDB4MmQsMHg0MCwweDA4LDB4NTAsMHgwNiwweDAyLDB4MDEgfSB9LAoteyAgMTYsIDB4YTgwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MSwweDQwLDB4YzgsMHgwMCwweDNlLDB4MDAgfSB9LAoteyAgMTYsIDB4YTgxMCwgMCwgezB4MGYsMHg4MCwweDAyLDB4ZTAsMHgwMCwweGQ4LDB4MDAsMHgzMiwweDAwLDB4MGEsMHg4MCwweDAyLDB4ZTAsMHgxMCwweGY4LDB4MDAgfSB9LAoteyAgMTYsIDB4YTgyMCwgMCwgezB4MzIsMHgwMCwweDA0LDB4ODAsMHgwMywweGUwLDB4MDAsMHhkOCwweDAwLDB4M2EsMHgwMCwweDBjLDB4YzAsMHgwMywweDJlLDB4MDMgfSB9LAoteyAgMTYsIDB4YTgzMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDk4LDB4MWQsMHhmNCwweDQwLDB4ZjksMHgxMCwweDNmLDB4NDEgfSB9LAoteyAgMTYsIDB4YTg0MCwgMCwgezB4MGYsMHg5NCwweDAzLDB4ZjUsMHgwMCwweGY5LDB4NDAsMHgzZSwweDUwLDB4MGQsMHg5NCwweDAzLDB4ZTUsMHgxMCwweGY5LDB4NDAgfSB9LAoteyAgMTYsIDB4YTg1MCwgMCwgezB4M2UsMHg1MCwweDRmLDB4OTQsMHgwMywweGM1LDB4MDAsMHhlOSwweDQxLDB4MzYsMHg1MCwweDBmLDB4OTQsMHgwMywweGU2LDB4MDYgfSB9LAoteyAgMTYsIDB4YTg2MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhmNiwweDAwLDB4ZmQsMHhhOCwweDNhLDB4NDAgfSB9LAoteyAgMTYsIDB4YTg3MCwgMCwgezB4MGMsMHhkOCwweDIzLDB4MzYsMHgwMCwweGU5LDB4YTAsMHgzZSwweDc4LDB4MGYsMHg5ZSwweDAzLDB4YjYsMHg4MCwweGNkLDB4ZTIgfSB9LAoteyAgMTYsIDB4YTg4MCwgMCwgezB4MzIsMHg2OCwweDBjLDB4OWIsMHgwMywweDM2LDB4ODIsMHg0ZCwweGEwLDB4MzcsMHg2OCwweDhjLDB4OTgsMHgwMywweDA2LDB4MDAgfSB9LAoteyAgMTYsIDB4YTg5MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDM4LDB4MTAsMHhlYiwweGEwLDB4YjgsMHg0MCwweDIwLDB4MjAgfSB9LAoteyAgMTYsIDB4YThhMCwgMCwgezB4MDgsMHg4NSwweDAyLDB4MjEsMHg1MSwweDg4LDB4YzAsMHgyZSwweDI5LDB4MGIsMHg4ZSwweDAyLDB4ZTEsMHgwMCwweGQ4LDB4ZTAgfSB9LAoteyAgMTYsIDB4YThiMCwgMCwgezB4MjIsMHgzMiwweDBkLDB4OGQsMHgyMywweDYxLDB4NDgsMHg5OCwweGQ0LDB4YTIsMHgxMCwweDI4LDB4ODQsMHgwMiwweDBlLDB4MDQgfSB9LAoteyAgMTYsIDB4YThjMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNSwweDAwLDB4YjMsMHgwMCwweDJhLDB4NGEgfSB9LAoteyAgMTYsIDB4YThkMCwgMCwgezB4MjgsMHgxMCwweDRlLDB4YTQsMHgwOCwweGExLDB4NjgsMHgyOCwweDQ0LDB4MGIsMHgxNCwweDAyLDB4YzUsMHgwMCwweDgxLDB4NDAgfSB9LAoteyAgMTYsIDB4YThlMCwgMCwgezB4YTAsMHg1MCwweDA4LDB4MTAsMHgwMiwweDA0LDB4MDIsMHg5MSwweDJhLDB4MjAsMHg0NCwweDI4LDB4MTQsMHg0YSwweDAyLDB4MDEgfSB9LAoteyAgMTYsIDB4YThmMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MTUsMHhhYywweDgwLDB4YjksMHgwMCwweDIyLDB4NDAgfSB9LAoteyAgMTYsIDB4YTkwMCwgMCwgezB4NDgsMHg5MCwweDA2LDB4YTQsMHgwMCwweGE5LDB4MDAsMHgyZSwweDQwLDB4MGIsMHg5MCwweDIyLDB4ZTQsMHgwMCwweDk5LDB4MDAgfSB9LAoteyAgMTYsIDB4YTkxMCwgMCwgezB4MjIsMHg0MCwweDA5LDB4MTAsMHgwMiwweDY0LDB4MDIsMHg5OSwweDAwLDB4MjIsMHg0MCwweDA4LDB4OTAsMHgwMiwweDA2LDB4MDQgfSB9LAoteyAgMTYsIDB4YTkyMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNCwweDAwLDB4ZjksMHgwMCwweDM4LDB4NTggfSB9LAoteyAgMTYsIDB4YTkzMCwgMCwgezB4MGMsMHg5MCwweDUzLDB4ODQsMHgxNCwweGE5LDB4MDQsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGM5LDB4MDAgfSB9LAoteyAgMTYsIDB4YTk0MCwgMCwgezB4MzIsMHg0MCwweDBjLDB4OTAsMHgwMywweDI0LDB4MDQsMHhkOSwweDAwLDB4YjYsMHg0MCwweDRjLDB4OTAsMHgwYiwweDI4LDB4MDQgfSB9LAoteyAgMTYsIDB4YTk1MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDEsMHhhNCwweDAwLDB4ZjksMHgwMiwweDNlLDB4NDkgfSB9LAoteyAgMTYsIDB4YTk2MCwgMCwgezB4MGYsMHgxMCwweDQzLDB4NjQsMHgwMCwweGQ5LDB4MDAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4YzQsMHgwMCwweGYxLDB4MDIgfSB9LAoteyAgMTYsIDB4YTk3MCwgMCwgezB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGM0LDB4MDIsMHhlOSwweDA0LDB4M2MsMHg0MCwweDBmLDB4MWMsMHgwMywweGNhLDB4MDAgfSB9LAoteyAgMTYsIDB4YTk4MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMSwweDgwLDB4YzgsMHgyMCwweDNlLDB4MDAgfSB9LAoteyAgMTYsIDB4YTk5MCwgMCwgezB4OGMsMHg4MCwweDBiLDB4MjAsMHgwMCwweGU4LDB4MDIsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4YTAsMHg4MiwweGM4LDB4MDAgfSB9LAoteyAgMTYsIDB4YTlhMCwgMCwgezB4NmMsMHgwMCwweDBmLDB4ODAsMHgwMywweDIwLDB4MTAsMHhjOCwweDAwLDB4MzIsMHgwMiwweDBjLDB4ODAsMHgwMywweDBhLDB4MDQgfSB9LAoteyAgMTYsIDB4YTliMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHgzOCwweDAwLDB4ODYsMHgwMCwweDJlLDB4ODAgfSB9LAoteyAgMTYsIDB4YTljMCwgMCwgezB4NjgsMHhhOCwweDgwLDB4M2EsMHgwMCwweDhhLDB4MDAsMHgyZSwweDgwLDB4MGIsMHhhMCwweDAyLDB4ZjgsMHgwMCwweDhhLDB4MDAgfSB9LAoteyAgMTYsIDB4YTlkMCwgMCwgezB4MmUsMHg4MCwweDBiLDB4YTAsMHgwYSwweDNhLDB4MDAsMHg4ZSwweDEwLDB4MjMsMHg4MCwweDA4LDB4YTAsMHgwMywweDBhLDB4MDAgfSB9LAoteyAgMTYsIDB4YTllMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0ZCwweDAwLDB4ODMsMHgwMCwweDJjLDB4YzAgfSB9LAoteyAgMTYsIDB4YTlmMCwgMCwgezB4MDgsMHgzOCwweDAwLDB4MGMsMHg2MCwweDIzLDB4MDAsMHgyYywweGMwLDB4MGIsMHgzMCwweDAyLDB4Y2MsMHg0MCwweDgzLDB4MDAgfSB9LAoteyAgMTYsIDB4YWEwMCwgMCwgezB4MmMsMHhjMCwweDBiLDB4MzAsMHgwMiwweDBjLDB4MDIsMHg4YSwweDgwLDB4YTAsMHhlMCwweDI4LDB4MzAsMHgwYSwweDRhLDB4MDAgfSB9LAoteyAgMTYsIDB4YWExMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MDEsMHgxNiwweDIwLDB4ODcsMHgwMiwweDJkLDB4YzEgfSB9LAoteyAgMTYsIDB4YWEyMCwgMCwgezB4NDgsMHg3MCwweDEyLDB4N2MsMHgwMCwweGE3LDB4MjAsMHgyZCwweGM5LDB4MGIsMHg3MiwweDAwLDB4ZGMsMHgwMCwweDg3LDB4MDggfSB9LAoteyAgMTYsIDB4YWEzMCwgMCwgezB4MmQsMHhjNCwweDFiLDB4MzIsMHgwMiwweDFkLDB4MDEsMHg4NywweDQyLDB4MjEsMHhjMiwweDA4LDB4NzAsMHgwMiwweDI4LDB4MDAgfSB9LAoteyAgMTYsIDB4YWE0MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgzZSwweDAyLDB4YzcsMHg4MCwweDNkLDB4ZWMgfSB9LAoteyAgMTYsIDB4YWE1MCwgMCwgezB4MGMsMHg1OCwweDAzLDB4MWUsMHgwMCwweGU3LDB4ODAsMHgzZCwweGVjLDB4MGYsMHg3ZiwweDAzLDB4OTYsMHgwMCwweGM3LDB4ODAgfSB9LAoteyAgMTYsIDB4YWE2MCwgMCwgezB4MmQsMHhlMiwweDA3LDB4NzksMHgwMywweDBhLDB4MDYsMHhjMywweDgwLDB4MzAsMHgyMCwweDhjLDB4MzgsMHgwMywweDZhLDB4MDIgfSB9LAoteyAgMTYsIDB4YWE3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MWQsMHhhYywweDAwLDB4ZmIsMHgwMCwweDNlLDB4YzAgfSB9LAoteyAgMTYsIDB4YWE4MCwgMCwgezB4MGYsMHgxMCwweDQzLDB4OGMsMHgwMCwweGRiLDB4MzgsMHgzZSwweGQ4LDB4MGYsMHhiMCwweDAzLDB4Y2MsMHgwNCwweGZiLDB4NDQgfSB9LAoteyAgMTYsIDB4YWE5MCwgMCwgezB4M2UsMHhjMCwweDhmLDB4YjYsMHgxMywweGVjLDB4MDIsMHhmZiwweDAyLDB4M2UsMHgwMCwweDBmLDB4YjAsMHgwMywweGMyLDB4MDYgfSB9LAoteyAgMTYsIDB4YWFhMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmYSwweDAwLDB4ZmYsMHg4MCwweDMxLDB4ZTMgfSB9LAoteyAgMTYsIDB4YWFiMCwgMCwgezB4MGUsMHhmOCwweDIzLDB4ZmUsMHgwMiwweGRmLDB4ODAsMHhiNywweGUyLDB4MGUsMHhmOCwweDAzLDB4N2UsMHgwMCwweDZkLDB4ZDAgfSB9LAoteyAgMTYsIDB4YWFjMCwgMCwgezB4MzMsMHhlMCwweDBjLDB4ZjgsMHg5YiwweDc2LDB4YzAsMHhkZiwweDg0LDB4YjMsMHhlMCwweDA0LDB4ZjgsMHgwMywweGMwLDB4MDAgfSB9LAoteyAgMTYsIDB4YWFkMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTEsMHg5MCwweDQwLDB4YjcsMHgwMiwweDIxLDB4YzQgfSB9LAoteyAgMTYsIDB4YWFlMCwgMCwgezB4MDgsMHg3YiwweDQyLDB4ZGMsMHgwMCwweDg3LDB4MDAsMHgyMSwweGM0LDB4MGIsMHgzMCwweDAwLDB4MTAsMHg4MCwweDhkLDB4MDAgfSB9LAoteyAgMTYsIDB4YWFmMCwgMCwgezB4MjMsMHhjMCwweDBkLDB4ZjIsMHgwMiwweDA0LDB4NDIsMHg4ZiwweDAwLDB4MjksMHhjOCwweDI4LDB4NzAsMHgwMiwweGVhLDB4MDQgfSB9LAoteyAgMTYsIDB4YWIwMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5NCwweDAwLDB4YjYsMHgwMCwweDIzLDB4YzAgfSB9LAoteyAgMTYsIDB4YWIxMCwgMCwgezB4MGEsMHg3MiwweDAyLDB4OGMsMHgwMCwweDg3LDB4MDAsMHgyMSwweGMwLDB4MGEsMHgzMCwweDAyLDB4MDQsMHgwMSwweGE3LDB4MDIgfSB9LAoteyAgMTYsIDB4YWIyMCwgMCwgezB4MjEsMHhjMCwweDA4LDB4NzAsMHg0MiwweDAwLDB4OGEsMHg4NywweDAwLDB4MjEsMHhjMCwweDI4LDB4NzAsMHgwMiwweGMwLDB4MDAgfSB9LAoteyAgMTYsIDB4YWIzMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIwLDB4MTQsMHhjNSwweDAwLDB4YjAsMHgwMCwweGEwLDB4ZDAgfSB9LAoteyAgMTYsIDB4YWI0MCwgMCwgezB4MDgsMHhiMCwweDAyLDB4YzksMHg0MiwweDhiLDB4MDAsMHgyMCwweGMwLDB4MGIsMHgzMCwweDIyLDB4MDQsMHgwMCwweDgzLDB4MDAgfSB9LAoteyAgMTYsIDB4YWI1MCwgMCwgezB4YTAsMHhjMCwweDQ5LDB4MzAsMHgwMiwweDQ1LDB4NDAsMHg5MywweGMwLDB4YTgsMHhkNCwweDAwLDB4MzUsMHgwMiwweGM4LDB4MDQgfSB9LAoteyAgMTYsIDB4YWI2MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhhYywweDAwLDB4YmIsMHgwMCwweDMxLDB4YzAgfSB9LAoteyAgMTYsIDB4YWI3MCwgMCwgezB4MGUsMHhiMCwweDIzLDB4Y2QsMHgwMCwweGRmLDB4MDAsMHgzNywweGMwLDB4MGUsMHhmMCwweDAxLDB4NjgsMHgwMCwweGUzLDB4MDAgfSB9LAoteyAgMTYsIDB4YWI4MCwgMCwgezB4MzMsMHhjMCwweDFjLDB4ZjAsMHgwMywweDQ1LDB4MDAsMHhkYSwweGM4LDB4OTIsMHhkNCwweDJjLDB4YjQsMHgwMywweGVhLDB4MDQgfSB9LAoteyAgMTYsIDB4YWI5MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDAsMHhlNSwweDIwLDB4ZmIsMHgwMCwweDNlLDB4YzAgfSB9LAoteyAgMTYsIDB4YWJhMCwgMCwgezB4MGYsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGZiLDB4MDAsMHgzZSwweGMwLDB4NGYsMHhiMCwweDAzLDB4YWQsMHgwMCwweGZiLDB4MDAgfSB9LAoteyAgMTYsIDB4YWJiMCwgMCwgezB4N2UsMHhjMCwweDFmLDB4MzAsMHgwMywweGE0LDB4ODAsMHhlOSwweDIwLDB4M2MsMHhjMCwweDBmLDB4MzIsMHgwMywweGUwLDB4MDAgfSB9LAoteyAgMTYsIDB4YWJjMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhkYywweDAwLDB4YzcsMHgwMCwweDMzLDB4YzIgfSB9LAoteyAgMTYsIDB4YWJkMCwgMCwgezB4MmMsMHhmMCwweDAzLDB4M2UsMHgyMCwweGRiLDB4MDAsMHgxMywweGMwLDB4MGMsMHg3MCwweDAzLDB4M2MsMHg4MCwweGVmLDB4MDQgfSB9LAoteyAgMTYsIDB4YWJlMCwgMCwgezB4NzMsMHhjMSwweDBmLDB4ZjAsMHgyMiwweDMwLDB4MDAsMHhjNiwweDAwLDB4YjIsMHhjMCwweDBjLDB4ZjAsMHgwMywweDAwLDB4NDQgfSB9LAoteyAgMTYsIDB4YWJmMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgxLDB4MDAsMHg2OSwweDAwLDB4OGIsMHg0NCwweGEyLDB4YzEgfSB9LAoteyAgMTYsIDB4YWMwMCwgMCwgezB4ODgsMHhiMCwweDAzLDB4NmMsMHgwMCwweDhiLDB4MDAsMHgyMiwweGMwLDB4MjgsMHhiMCwweDBhLDB4MmQsMHgwMCwweGJiLDB4MDAgfSB9LAoteyAgMTYsIDB4YWMxMCwgMCwgezB4NjIsMHhjMCwweDBiLDB4YjAsMHgwMiwweDI2LDB4MDIsMHg4YiwweDgwLDB4MjIsMHhjMCwweDA4LDB4YjAsMHgwMywweDIwLDB4NDAgfSB9LAoteyAgMTYsIDB4YWMyMCwgMCwgezB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyOCwweDAxLDB4OGEsMHgwOCwweDIyLDB4YzAgfSB9LAoteyAgMTYsIDB4YWMzMCwgMCwgezB4MDgsMHhiMiwweDAyLDB4NmMsMHg0MCwweDliLDB4MDAsMHgyOCwweGMwLDB4NDgsMHhiMCwweDE2LDB4MjksMHgwNCwweGI5LDB4MDEgfSB9LAoteyAgMTYsIDB4YWM0MCwgMCwgezB4MjIsMHhjMCwweDQ5LDB4YjAsMHgwNiwweGFlLDB4MDksMHg4YiwweDgwLDB4MjIsMHhlMCwweDQ4LDB4YjAsMHgwMiwweDIwLDB4MDAgfSB9LAoteyAgMTYsIDB4YWM1MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDQsMHgwMCwweDAyLDB4ODIsMHgwMCwweDIyLDB4YzAgfSB9LAoteyAgMTYsIDB4YWM2MCwgMCwgezB4ODgsMHhiMCwweDAyLDB4NDQsMHgwMCwweDgzLDB4MDAsMHgyOCwweGMwLDB4MDgsMHgzMCwweDAyLDB4MDgsMHgwMCwweGIxLDB4MDAgfSB9LAoteyAgMTYsIDB4YWM3MCwgMCwgezB4MjAsMHhjMCwweDBiLDB4MzAsMHgwMiwweDhjLDB4MDAsMHg4MywweDgwLDB4MjAsMHhlMCwweDA4LDB4MzAsMHgwYSwweDAyLDB4MDEgfSB9LAoteyAgMTYsIDB4YWM4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2NCwweDAwLDB4Y2EsMHgwMCwweDMzLDB4YzAgfSB9LAoteyAgMTYsIDB4YWM5MCwgMCwgezB4MGMsMHhiMiwweDAzLDB4MmMsMHgwMCwweGRmLDB4MDAsMHgzYiwweGMwLDB4NGMsMHhmNSwweDEzLDB4MmMsMHgwNCwweGVmLDB4MDAgfSB9LAoteyAgMTYsIDB4YWNhMCwgMCwgezB4YTMsMHhjMCwweDBkLDB4ZjAsMHgwMywweGE4LDB4NDAsMHhjYiwweDAwLDB4YjIsMHgwMCwweDJjLDB4YjAsMHgwMywweDAwLDB4MDMgfSB9LAoteyAgMTYsIDB4YWNiMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MWQsMHhmMCwweDAwLDB4ZjQsMHgwMCwweDNmLDB4YzAgfSB9LAoteyAgMTYsIDB4YWNjMCwgMCwgezB4MGYsMHhiMSwweDAzLDB4ZjAsMHgwMCwweGZmLDB4MDAsMHgzNywweGMwLDB4MGYsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGZmLDB4MDAgfSB9LAoteyAgMTYsIDB4YWNkMCwgMCwgezB4M2YsMHhjMCwweDA3LDB4ZjAsMHgwYiwweDdjLDB4MDgsMHhmZiwweDAxLDB4M2YsMHgwMCwweDBmLDB4ZjAsMHgwMywweGE4LDB4MDYgfSB9LAoteyAgMTYsIDB4YWNlMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmMCwweGM1LDB4ZWQsMHgzMywweDNiLDB4Y2MgfSB9LAoteyAgMTYsIDB4YWNmMCwgMCwgezB4MGMsMHhmMCwweDAzLDB4MzAsMHg0MCwweGZmLDB4MjUsMHgzZiwweGNjLDB4MGMsMHhmMywweDgzLDB4M2MsMHhkMCwweGRmLDB4NDggfSB9LAoteyAgMTYsIDB4YWQwMCwgMCwgezB4MzcsMHgzMCwweDRjLDB4ZjMsMHgwMywweGZkLDB4ODAsMHhjZiwweDI4LDB4MzMsMHhkOCwweDBjLDB4ZjEsMHgwMywweDMwLDB4MDAgfSB9LAoteyAgMTYsIDB4YWQxMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MTAsMHhlYywweGQwLDB4YmIsMHgzMSwweDIwLDB4Y2MgfSB9LAoteyAgMTYsIDB4YWQyMCwgMCwgezB4ODgsMHhmMywweDQyLDB4MjAsMHg1MCwweGJmLDB4OTAsMHgyZiwweGM0LDB4MGEsMHhmNiwweDAyLDB4N2QsMHhjMCwweDhmLDB4NDAgfSB9LAoteyAgMTYsIDB4YWQzMCwgMCwgezB4MjYsMHg0MCwweDhmLDB4ZjYsMHgwMiwweGZkLDB4MDAsMHhmZiwweDA4LDB4MzksMHhjOCwweDA4LDB4ZjYsMHgwMiwweGEwLDB4MDQgfSB9LAoteyAgMTYsIDB4YWQ0MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjNCwweDgwLDB4YTEsMHgyMCwweDI4LDB4YzkgfSB9LAoteyAgMTYsIDB4YWQ1MCwgMCwgezB4MDgsMHgzMCwweDlhLDB4MDAsMHgwOSwweGIzLDB4MDAsMHgyYywweGMwLDB4MjAsMHgzMCwweDAyLDB4NGMsMHg5MCwweDgzLDB4MjAgfSB9LAoteyAgMTYsIDB4YWQ2MCwgMCwgezB4MDIsMHgwOCwweDBiLDB4MzMsMHgxMiwweGNkLDB4ODAsMHg5MywweDIwLDB4MjQsMHhkOCwweDA4LDB4MzQsMHgyMiwweDIyLDB4MDEgfSB9LAoteyAgMTYsIDB4YWQ3MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MTEsMHhhZSwweDAwLDB4YmIsMHgxMCwweDIyLDB4YzAgfSB9LAoteyAgMTYsIDB4YWQ4MCwgMCwgezB4MDgsMHhiMCwweDAyLDB4MjYsMHgwMSwweDNiLDB4MDEsMHg2ZSwweGMwLDB4MDgsMHhiMCwweDAyLDB4NGMsMHgwOCwweDhiLDB4MDAgfSB9LAoteyAgMTYsIDB4YWQ5MCwgMCwgezB4YTIsMHg4OSwweDBiLDB4YjAsMHgwMiwweGVjLDB4MDAsMHhhYiwweDAwLDB4NmEsMHhjMSwweDI4LDB4YjAsMHgwMiwweGIwLDB4MDQgfSB9LAoteyAgMTYsIDB4YWRhMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHg2ZSwweDAwLDB4ZTgsMHhjMSwweDNhLDB4YzAgfSB9LAoteyAgMTYsIDB4YWRiMCwgMCwgezB4MmMsMHhiMCwweDQzLDB4MjYsMHgwMCwweGZiLDB4MDYsMHgzZSwweGMxLDB4MGMsMHhiMCwweDBiLDB4MmMsMHgwMiwweGNiLDB4MDAgfSB9LAoteyAgMTYsIDB4YWRjMCwgMCwgezB4MzQsMHgyMiwweDlmLDB4YjAsMHg0MywweGVjLDB4MDAsMHg5YiwweDAyLDB4MzYsMHhjMSwweDhjLDB4YjAsMHgwMywweDEwLDB4MDQgfSB9LAoteyAgMTYsIDB4YWRkMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDEsMHhiYywweDAwLDB4ZmMsMHg4MCwweDNkLDB4ZDAgfSB9LAoteyAgMTYsIDB4YWRlMCwgMCwgezB4MmYsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGZiLDB4MDAsMHgzZCwweGMwLDB4MDcsMHgzMCwweDAzLDB4YmMsMHgwMCwweGVmLDB4MDQgfSB9LAoteyAgMTYsIDB4YWRmMCwgMCwgezB4M2YsMHhlMCwweDVlLDB4YjAsMHgwMSwweGZjLDB4MDAsMHhmZiwweDAwLDB4MWIsMHhjMCwweDBmLDB4ZjAsMHgwMywweGY4LDB4MDAgfSB9LAoteyAgMTYsIDB4YWUwMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhYywweDAwLDB4Y2IsMHgwMSwweDNlLDB4YzkgfSB9LAoteyAgMTYsIDB4YWUxMCwgMCwgezB4MGMsMHhiMCwweDE3LDB4MjAsMHg4NCwweGViLDB4MDAsMHhiMiwweGMxLDB4MGQsMHhiMCwweDAzLDB4NmMsMHgwMCwweGMzLDB4MDAgfSB9LAoteyAgMTYsIDB4YWUyMCwgMCwgezB4MzIsMHg1MCwweDBmLDB4YjAsMHgwMywweDBjLDB4NDAsMHhjMywweDAwLDB4N2UsMHhjMCwweDBjLDB4MzAsMHgwMywweDEwLDB4MDQgfSB9LAoteyAgMTYsIDB4YWUzMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM4LDB4MDUsMHgyYywweDAwLDB4OGEsMHg1OCwweDJlLDB4ZTAgfSB9LAoteyAgMTYsIDB4YWU0MCwgMCwgezB4NDgsMHhmMCwweDAyLDB4MmQsMHgwMCwweGVmLDB4MDEsMHgyMywweGMwLDB4MDgsMHhmMCwweDIyLDB4M2MsMHgwNCwweDhmLDB4NjAgfSB9LAoteyAgMTYsIDB4YWU1MCwgMCwgezB4MzYsMHg1NCwweDBiLDB4ZjAsMHgwYSwweDNkLDB4NDAsMHg4ZiwweDAwLDB4MmYsMHhjMCwweDA4LDB4ZjAsMHgwMywweDcyLDB4MDAgfSB9LAoteyAgMTYsIDB4YWU2MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0MCwweDAwLDB4ODksMHg4MCwweDJjLDB4MTAgfSB9LAoteyAgMTYsIDB4YWU3MCwgMCwgezB4MDgsMHhiMCwweDAyLDB4NDksMHgwMCwweGEzLDB4YTAsMHgyNCwweGMwLDB4MDksMHgzMCwweDAyLDB4NGMsMHgwMCwweDgzLDB4YzkgfSB9LAoteyAgMTYsIDB4YWU4MCwgMCwgezB4MjAsMHg5MCwweDQyLDB4MzAsMHgxMiwweDRkLDB4MDAsMHg4MywweDAwLDB4NmEsMHhjMCwweDA5LDB4MzAsMHgwMiwweDM4LDB4MDAgfSB9LAoteyAgMTYsIDB4YWU5MCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIwLDB4MDEsMHgxNiwweDAwLDB4ODUsMHg4MCwweDZkLDB4NjIgfSB9LAoteyAgMTYsIDB4YWVhMCwgMCwgezB4MDgsMHg3ZSwweDAyLDB4NTYsMHg0MCwweDI3LDB4ODAsMHgyNSwweGUwLDB4MTksMHg3OCwweDA2LDB4MGUsMHgwMCwweDgzLDB4ODAgfSB9LAoteyAgMTYsIDB4YWViMCwgMCwgezB4NjEsMHhhMCwweDBiLDB4NzgsMHgwMiwweDRlLDB4MDAsMHg4NywweDgyLDB4NmQsMHhlMCwweDA5LDB4NzksMHgwMiwweDQ4LDB4MDAgfSB9LAoteyAgMTYsIDB4YWVjMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgyYywweDAyLDB4YzMsMHg2MSwweDNjLDB4ODggfSB9LAoteyAgMTYsIDB4YWVkMCwgMCwgezB4MmMsMHhiYSwweDEyLDB4NDksMHgxMCwweGUzLDB4MmMsMHgzNiwweGMwLDB4MGQsMHgzMCwweDUzLDB4NGMsMHg0NCwweGMzLDB4MDAgfSB9LAoteyAgMTYsIDB4YWVlMCwgMCwgezB4MjAsMHgwMSwweDBmLDB4MzEsMHgwMywweDRjLDB4MDAsMHhjMywweDAxLDB4M2MsMHhjMCwweDJkLDB4YjEsMHgwMywweDEyLDB4MDIgfSB9LAoteyAgMTYsIDB4YWVmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MWQsMHhiYywweDAwLDB4ZmYsMHgwMCwweDNmLDB4MDAgfSB9LAoteyAgMTYsIDB4YWYwMCwgMCwgezB4NGYsMHhmMSwweDA5LDB4YjAsMHgwMCwweGZmLDB4MDAsMHgzYiwweGMwLDB4MGUsMHhmNCwweDAxLDB4ZmQsMHgyNCwweGZmLDB4NDAgfSB9LAoteyAgMTYsIDB4YWYxMCwgMCwgezB4YmYsMHhjMCwweDA3LDB4ZjAsMHgwMywweGJjLDB4MDAsMHg2ZiwweDEwLDB4M2YsMHhjNCwweDFlLDB4ZjEsMHg4MywweGQwLDB4MDYgfSB9LAoteyAgMTYsIDB4YWYyMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhjNCwweDAwLDB4ZTgsMHgwNCwweDMyLDB4MDAgfSB9LAoteyAgMTYsIDB4YWYzMCwgMCwgezB4MGMsMHhiNiwweDAzLDB4ZTgsMHgwMiwweGNiLDB4MDAsMHgzNiwweGNhLDB4MGYsMHhiNSwweDAzLDB4YWQsMHgwMCwweGZiLDB4MjAgfSB9LAoteyAgMTYsIDB4YWY0MCwgMCwgezB4M2UsMHg0MCwweDBmLDB4YjMsMHgwMywweGVjLDB4ODAsMHhmYiwweGE4LDB4MzIsMHhjNiwweDhjLDB4YjYsMHgwMywweDJhLDB4MDAgfSB9LAoteyAgMTYsIDB4YWY1MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MTEsMHg5NCwweDAyLDB4ZTYsMHgwMCwweDIwLDB4MDAgfSB9LAoteyAgMTYsIDB4YWY2MCwgMCwgezB4MDgsMHg3MywweDAyLDB4ZGMsMHgwMCwweDg3LDB4NzAsMHgyZCwweGQwLDB4MGIsMHhmMCwweDAyLDB4MWMsMHg4NCwweGI3LDB4MjAgfSB9LAoteyAgMTYsIDB4YWY3MCwgMCwgezB4MmQsMHhjMCwweDBiLDB4NzAsMHg4MiwweGRkLDB4MjQsMHhiNywweDQwLDB4MzQsMHhjOSwweDI4LDB4NzIsMHg4MiwweDkyLDB4MDQgfSB9LAoteyAgMTYsIDB4YWY4MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHhiZSwweDAyLDB4YWMsMHg4MCwweGExLDB4MjAgfSB9LAoteyAgMTYsIDB4YWY5MCwgMCwgezB4MDgsMHg3OSwweDAwLDB4Y2UsMHgwNCwweDg3LDB4ODAsMHg2NSwweGUwLDB4MGIsMHg3YSwweDAyLDB4OWUsMHgwMCwweGI3LDB4OTAgfSB9LAoteyAgMTYsIDB4YWZhMCwgMCwgezB4NmQsMHhhMCwweDBiLDB4NzgsMHgwMiwweGRlLDB4MDAsMHhiNywweDgwLDB4MjEsMHhlMCwweDA4LDB4NzgsMHgwMiwweDMwLDB4MDAgfSB9LAoteyAgMTYsIDB4YWZiMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MTQsMHhlZCwweDgyLDB4YWIsMHhlMCwweDIwLDB4ZTQgfSB9LAoteyAgMTYsIDB4YWZjMCwgMCwgezB4MDgsMHgzMCwweDAyLDB4ZWUsMHgwNCwweDgzLDB4MDAsMHgyYywweGMxLDB4MWIsMHgzMCwweDAyLDB4MGMsMHgwOCwweGIzLDB4MDAgfSB9LAoteyAgMTYsIDB4YWZkMCwgMCwgezB4NjQsMHhmNiwweDBiLDB4YjAsMHgwMiwweGNjLDB4MDQsMHhiMywweDAwLDB4MjYsMHhjMCwweDA4LDB4MzAsMHgwMiwweDkyLDB4MDQgfSB9LAoteyAgMTYsIDB4YWZlMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhiYiwweDgwLDB4ZWUsMHg0OSwweDMxLDB4YTAgfSB9LAoteyAgMTYsIDB4YWZmMCwgMCwgezB4MmMsMHhhMCwweDAzLDB4ZmEsMHgwMCwweGNhLDB4MDIsMHgzNiwweDgwLDB4MGYsMHhhMCwweDAzLDB4YTgsMHgwMCwweGZhLDB4MDIgfSB9LAoteyAgMTYsIDB4YjAwMCwgMCwgezB4M2YsMHg5MCwweDBmLDB4YTAsMHg2MywweGU4LDB4MDAsMHhmYSwweDAwLDB4MzIsMHg4MCwweDBjLDB4YTAsMHgyMywweDNhLDB4MDQgfSB9LAoteyAgMTYsIDB4YjAxMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDAsMHhlMCwweDBhLDB4ZTgsMHgwMCwweDNlLDB4MDggfSB9LAoteyAgMTYsIDB4YjAyMCwgMCwgezB4MGYsMHg4MCwweDAzLDB4ZTMsMHg1MCwweGYwLDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDEzLDB4ZTAsMHgwMCwweGY4LDB4MDAgfSB9LAoteyAgMTYsIDB4YjAzMCwgMCwgezB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweGUwLDB4MDEsMHhmOCwweDAxLDB4N2UsMHgwMCwweDBmLDB4ODAsMHgwMywweGQyLDB4MDAgfSB9LAoteyAgMTYsIDB4YjA0MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDQwLDB4YzksMHhhMSwweDMyLDB4NDAgfSB9LAoteyAgMTYsIDB4YjA1MCwgMCwgezB4MjAsMHgxMSwweDAxLDB4YTYsMHg0MCwweGM5LDB4ODQsMHgzNiwweDQwLDB4MGQsMHg5MCwweDAzLDB4NDQsMHgwMCwweDQxLDB4MDAgfSB9LAoteyAgMTYsIDB4YjA2MCwgMCwgezB4MzIsMHg0MCwweDBmLDB4OTAsMHgwYiwweDI0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0MCwweDRjLDB4MTAsMHgwMywweDAyLDB4MDQgfSB9LAoteyAgMTYsIDB4YjA3MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDQsMHg2NCwweDAwLDB4ODksMHg4MiwweGEyLDB4NDAgfSB9LAoteyAgMTYsIDB4YjA4MCwgMCwgezB4MDgsMHg5YywweDAyLDB4MjUsMHgwMCwweDg5LDB4YzgsMHgyMiwweDQwLDB4MDgsMHg5MCwweDQyLDB4MjQsMHgwMCwweDg5LDB4MjAgfSB9LAoteyAgMTYsIDB4YjA5MCwgMCwgezB4MjIsMHg2MCwweDBiLDB4OTAsMHgwMiwweDI0LDB4MTAsMHhiOSwweDAwLDB4MmUsMHg0MCwweDA4LDB4OTAsMHgwMywweDYwLDB4MDAgfSB9LAoteyAgMTYsIDB4YjBhMCwgMCwgezB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDAwLDB4ODksMHgwNCwweDIyLDB4Y2EgfSB9LAoteyAgMTYsIDB4YjBiMCwgMCwgezB4MGEsMHg5MCwweDBhLDB4MjUsMHgwMiwweDg5LDB4MjAsMHgyMCwweDQwLDB4MjgsMHgxMCwweDAyLDB4NjQsMHgwMSwweGE5LDB4MDAgfSB9LAoteyAgMTYsIDB4YjBjMCwgMCwgezB4MjIsMHg0YiwweDBiLDB4OTAsMHgwMiwweDI0LDB4MDEsMHhiOSwweDAwLDB4MmUsMHg0MSwweDI4LDB4OTAsMHgwMiwweDA2LDB4MDAgfSB9LAoteyAgMTYsIDB4YjBkMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDQsMHgwNCwweDkwLDB4ODEsMHhhMCwweDIwLDB4NDggfSB9LAoteyAgMTYsIDB4YjBlMCwgMCwgezB4MGEsMHgzMiwweDAyLDB4MDQsMHg4MCwweDgxLDB4MDAsMHgyMCwweDQ0LDB4MDgsMHgxMSwweDAyLDB4MDQsMHhkMCwweGExLDB4MjAgfSB9LAoteyAgMTYsIDB4YjBmMCwgMCwgezB4MjAsMHg0MCwweDBiLDB4MTEsMHgwMiwweDA2LDB4MDAsMHhiMSwweDMxLDB4MmMsMHg0OCwweDA4LDB4MTQsMHgwMiwweDQyLDB4MDEgfSB9LAoteyAgMTYsIDB4YjEwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MSwweDQyLDB4YzgsMHg1NCwweDMyLDB4MTQgfSB9LAoteyAgMTYsIDB4YjExMCwgMCwgezB4MGUsMHg4NSwweDAzLDB4MjEsMHg0NCwweGM4LDB4MjgsMHhiMiwweDFhLDB4NGMsMHg4NiwweDkzLDB4NjEsMHgxNCwweGU4LDB4NTAgfSB9LAoteyAgMTYsIDB4YjEyMCwgMCwgezB4MjIsMHgxNCwweDBmLDB4ODYsMHg4MywweDIxLDB4NDAsMHhmMCwweDQwLDB4MWUsMHgxNCwweDBjLDB4MDAsMHgwMywweDJlLDB4MDMgfSB9LAoteyAgMTYsIDB4YjEzMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDk4LDB4MWQsMHg3NCwweDQ0LDB4ZjUsMHgxMCwweDNmLDB4NDQgfSB9LAoteyAgMTYsIDB4YjE0MCwgMCwgezB4MGQsMHg5MSwweDAzLDB4NzQsMHg0MCwweGY5LDB4MDAsMHgzZSwweDQ4LDB4MGIsMHg5MiwweDAzLDB4ZTQsMHhjMiwweGQ5LDB4MTAgfSB9LAoteyAgMTYsIDB4YjE1MCwgMCwgezB4YmYsMHg0MCwweDBmLDB4OTIsMHgwMywweGU1LDB4MDQsMHhmOSwweDMwLDB4M2UsMHg0NCwweDBmLDB4OTQsMHg0MywweGU2LDB4MDYgfSB9LAoteyAgMTYsIDB4YjE2MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhmNiwweDIyLDB4Y2QsMHhhMSwweDMzLDB4NjEgfSB9LAoteyAgMTYsIDB4YjE3MCwgMCwgezB4MGMsMHhkOCwweGQzLDB4MzQsMHgxMCwweGNkLDB4YTgsMHgzZSwweDYwLDB4OGUsMHg5YywweDkzLDB4YTcsMHgwOCwweGNkLDB4ODAgfSB9LAoteyAgMTYsIDB4YjE4MCwgMCwgezB4MzMsMHg0MCwweDBlLDB4OWEsMHhkMywweDM2LDB4YTAsMHhjOSwweDgwLDB4MzIsMHg2MCwweDBjLDB4OTksMHgwMywweDA2LDB4MDAgfSB9LAoteyAgMTYsIDB4YjE5MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDM4LDB4MTAsMHhlMywweDg4LDB4OGEsMHhhMCwweDIwLDB4MjggfSB9LAoteyAgMTYsIDB4YjFhMCwgMCwgezB4MDgsMHg4MCwweDIyLDB4MjAsMHgxMiwweDg4LDB4NDAsMHgyYywweDI4LDB4MDgsMHg4YSwweDAyLDB4MjIsMHgwMCwweDg4LDB4MDAgfSB9LAoteyAgMTYsIDB4YjFiMCwgMCwgezB4MjIsMHgwMCwweDBiLDB4OGMsMHgwMywweDIxLDB4MDAsMHg4OCwweGQwLDB4YTIsMHgzZSwweDI4LDB4OGQsMHgwMiwweDBlLDB4MDQgfSB9LAoteyAgMTYsIDB4YjFjMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjZSwweDIwLDB4YTEsMHg0OCwweDIwLDB4NTIgfSB9LAoteyAgMTYsIDB4YjFkMCwgMCwgezB4MjksMHgxMCwweDAyLDB4MjQsMHgwMywweDgxLDB4MDAsMHgyYywweDUyLDB4MGEsMHgxMCwweDEyLDB4ODUsMHgxMCwweDkxLDB4NDAgfSB9LAoteyAgMTYsIDB4YjFlMCwgMCwgezB4YTQsMHg0MCwweDBhLDB4MTIsMHg4MiwweDQ0LDB4MDAsMHg5MSwweDI4LDB4MjQsMHg0MCwweDI4LDB4MTIsMHgwMiwweDAyLDB4MDEgfSB9LAoteyAgMTYsIDB4YjFmMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MTUsMHhhNCwweDAwLDB4YTksMHgxNCwweDIyLDB4NDAgfSB9LAoteyAgMTYsIDB4YjIwMCwgMCwgezB4MDksMHg5MCwweDAyLDB4YTQsMHgwMSwweDg5LDB4MDQsMHgyYywweDQwLDB4MDgsMHg5MCwweDAyLDB4MjQsMHgwMCwweDk5LDB4MDAgfSB9LAoteyAgMTYsIDB4YjIxMCwgMCwgezB4MjIsMHg0NCwweDRiLDB4MTAsMHg0MiwweDI0LDB4MTQsMHg5OSwweDAwLDB4MjYsMHg0MCwweDA4LDB4MTAsMHgwMiwweDA2LDB4MDQgfSB9LAoteyAgMTYsIDB4YjIyMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNCwweDQwLDB4ZTksMHg0MCwweGIyLDB4NzggfSB9LAoteyAgMTYsIDB4YjIzMCwgMCwgezB4MGQsMHg5MCwweDBiLDB4MjQsMHgyMiwweGM5LDB4MDMsMHgzZSwweDQxLDB4MGUsMHg5MCwweDAzLDB4YTQsMHgwMiwweGQ5LDB4MDAgfSB9LAoteyAgMTYsIDB4YjI0MCwgMCwgezB4MTYsMHg1OCwweDA2LDB4OTAsMHgwYiwweDY0LDB4MDIsMHhkOSwweDAwLDB4MzYsMHg0MCwweDBjLDB4OTAsMHgwYiwweDI4LDB4MDQgfSB9LAoteyAgMTYsIDB4YjI1MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDEsMHg4NCwweDAwLDB4ZDksMHg4MCwweDNlLDB4NGEgfSB9LAoteyAgMTYsIDB4YjI2MCwgMCwgezB4MGUsMHg5MCwweDAzLDB4NjQsMHgyMCwweGY5LDB4MDgsMHgzZSwweDQxLDB4MGYsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGUxLDB4MDggfSB9LAoteyAgMTYsIDB4YjI3MCwgMCwgezB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGM0LDB4MDAsMHhlMSwweDAwLDB4MzgsMHg0MCwweDBmLDB4OTAsMHgwMywweGNhLDB4MDAgfSB9LAoteyAgMTYsIDB4YjI4MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMCwweDA5LDB4ZjAsMHg0MCwweGIwLDB4MTAgfSB9LAoteyAgMTYsIDB4YjI5MCwgMCwgezB4NGMsMHgwMCwweDBiLDB4MjAsMHgwMCwweGY4LDB4MDAsMHgzYSwweDAwLDB4MWMsMHgwMCwweDAzLDB4ZTAsMHgwMCwweGM4LDB4MDAgfSB9LAoteyAgMTYsIDB4YjJhMCwgMCwgezB4MzYsMHgwMCwweDBjLDB4ODAsMHgwMywweDIwLDB4MDAsMHhjOCwweDAwLDB4MzIsMHgwMCwweDBmLDB4ODAsMHgwMywweDBhLDB4MDQgfSB9LAoteyAgMTYsIDB4YjJiMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHgyOCwweDAwLDB4M2UsMHg4OCwweDIzLDB4YTIgfSB9LAoteyAgMTYsIDB4YjJjMCwgMCwgezB4NDgsMHhlMCwweDAwLDB4MTksMHg4MCwweGJlLDB4ODgsMHgyZSwweDgwLDB4MGQsMHhhMCwweDQyLDB4ZTgsMHgwMCwweDhlLDB4MDAgfSB9LAoteyAgMTYsIDB4YjJkMCwgMCwgezB4MjMsMHg5MCwweDA4LDB4YTAsMHgwYSwweDNhLDB4MDAsMHhkYSwweDAwLDB4MzYsMHg4MCwweDBiLDB4YTAsMHgwYSwweDBhLDB4MDAgfSB9LAoteyAgMTYsIDB4YjJlMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAwLDB4YjMsMHg4MCwweDIwLDB4ZTAgfSB9LAoteyAgMTYsIDB4YjJmMCwgMCwgezB4MjgsMHgzMCwweGMyLDB4MGYsMHgxMCwweGIzLDB4NDAsMHgyOCwweGMwLDB4MGIsMHgzMCwweDAyLDB4ZWMsMHgxMSwweDgzLDB4NDAgfSB9LAoteyAgMTYsIDB4YjMwMCwgMCwgezB4MjgsMHhkMiwweDBhLDB4MzAsMHgwMiwweDBjLDB4YzAsMHg4MywweDAwLDB4MjAsMHhjMCwweDBiLDB4MzAsMHgwMiwweDBhLDB4MDAgfSB9LAoteyAgMTYsIDB4YjMxMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MDEsMHgxYywweDAwLDB4YjYsMHgwMCwweDIxLDB4YzAgfSB9LAoteyAgMTYsIDB4YjMyMCwgMCwgezB4MDgsMHgyMCwweGMyLDB4MWMsMHgxMCwweGI1LDB4MDAsMHgyZCwweGM4LDB4MGEsMHg3MiwweDAyLDB4ZGMsMHg0MCwweDg1LDB4MDggfSB9LAoteyAgMTYsIDB4YjMzMCwgMCwgezB4MjksMHhhMiwweDFhLDB4NzIsMHgyMiwweDBjLDB4MDAsMHg5MywweDMwLDB4MDUsMHhjNCwweDBiLDB4MzIsMHgyMiwweDI4LDB4MDAgfSB9LAoteyAgMTYsIDB4YjM0MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxNiwweDAwLDB4YjIsMHg4MCwweDMxLDB4MjAgfSB9LAoteyAgMTYsIDB4YjM1MCwgMCwgezB4MGMsMHg1OCwweDAzLDB4MWUsMHgwMCwweGY3LDB4ODAsMHgzOSwweGY4LDB4MGIsMHg3YywweDIyLDB4Y2UsMHg0MCwweGNmLDB4ODAgfSB9LAoteyAgMTYsIDB4YjM2MCwgMCwgezB4OWIsMHg2MCwweDJlLDB4M2IsMHgwMywweDFhLDB4MDAsMHhjNywweGE4LDB4MTEsMHhlMCwweDBmLDB4NzgsMHgwMywweDJhLDB4MDIgfSB9LAoteyAgMTYsIDB4YjM3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MWQsMHhhNCwweDAwLDB4ZmEsMHgwMCwweDNlLDB4YzAgfSB9LAoteyAgMTYsIDB4YjM4MCwgMCwgezB4MGYsMHg5MCwweDIzLDB4ZTgsMHgwMCwweGZiLDB4MDAsMHgzZSwweGQwLDB4MmQsMHhiNiwweDAzLDB4ZWQsMHgwMiwweGY5LDB4MDAgfSB9LAoteyAgMTYsIDB4YjM5MCwgMCwgezB4MzIsMHg0MCwweDBkLDB4YjAsMHgwNywweGVjLDB4MDAsMHhmYiwweDYwLDB4M2UsMHhjOCwweDBmLDB4YjUsMHgwMywweGMyLDB4MDYgfSB9LAoteyAgMTYsIDB4YjNhMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmZSwweDAwLDB4ZmYsMHg4MCwweDMzLDB4YTAgfSB9LAoteyAgMTYsIDB4YjNiMCwgMCwgezB4MGMsMHhmOCwweDBiLDB4MzIsMHg0MCwweGNlLDB4ODEsMHgzNywweGYwLDB4MGMsMHhiYywweDAzLDB4ZmUsMHgwMCwweGZmLDB4ODQgfSB9LAoteyAgMTYsIDB4YjNjMCwgMCwgezB4MzMsMHhlMCwweDJjLDB4ZjgsMHg4MywweGU2LDB4MDIsMHhjZiwweDg1LDB4MzMsMHhmMCwweDBjLDB4ZmMsMHgwMywweDAwLDB4MTQgfSB9LAoteyAgMTYsIDB4YjNkMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTEsMHg5YywweDAwLDB4YmUsMHgwMCwweDM1LDB4YzYgfSB9LAoteyAgMTYsIDB4YjNlMCwgMCwgezB4MjgsMHgzMCwweDAyLDB4MzAsMHg0MCwweDg3LDB4MDAsMHgyMywweGMwLDB4MDgsMHg3YSwweDAyLDB4ZGMsMHgwMCwweGJlLDB4MDAgfSB9LAoteyAgMTYsIDB4YjNmMCwgMCwgezB4MjMsMHhjMCwweDA4LDB4NzAsMHgxMiwweGZlLDB4MDAsMHg4NywweDAwLDB4MjEsMHhjMCwweDA4LDB4ZjAsMHgwMiwweDJhLDB4MDQgfSB9LAoteyAgMTYsIDB4YjQwMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5NSwweDIwLDB4YjYsMHgwMCwweDIwLDB4ODAgfSB9LAoteyAgMTYsIDB4YjQxMCwgMCwgezB4MDgsMHgzMSwweDAyLDB4NWMsMHgwMSwweDg3LDB4MDAsMHgyNSwweGMwLDB4MDgsMHg3MiwweDAyLDB4ZGMsMHgwMCwweGI2LDB4MDAgfSB9LAoteyAgMTYsIDB4YjQyMCwgMCwgezB4MjEsMHhkMCwweDA5LDB4NzAsMHgwMiwweGQ0LDB4MDgsMHg5MywweDAwLDB4MjAsMHhjMCwweDA4LDB4NzAsMHgwMiwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4YjQzMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIwLDB4MTQsMHhjNCwweDAwLDB4YjAsMHhlMCwweDI0LDB4NjAgfSB9LAoteyAgMTYsIDB4YjQ0MCwgMCwgezB4MDgsMHgyMCwweDA2LDB4NDgsMHgwMSwweDgwLDB4MDAsMHgyMCwweGMwLDB4MDgsMHgzMCwweDAyLDB4Y2MsMHgwNCwweGIzLDB4MDAgfSB9LAoteyAgMTYsIDB4YjQ1MCwgMCwgezB4MjAsMHg4NCwweDBiLDB4MzAsMHgwMiwweGU4LDB4MDAsMHg5YiwweDAwLDB4MjAsMHhjMCwweDA4LDB4MzAsMHgwMiwweDA4LDB4MDQgfSB9LAoteyAgMTYsIDB4YjQ2MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhhYywweDAwLDB4YjksMHhlMCwweDMyLDB4ODAgfSB9LAoteyAgMTYsIDB4YjQ3MCwgMCwgezB4NmMsMHhiMCwweDIzLDB4NmYsMHgwMCwweGMzLDB4MDAsMHgzNywweGMxLDB4M2MsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGZhLDB4MDAgfSB9LAoteyAgMTYsIDB4YjQ4MCwgMCwgezB4YjAsMHhjMCwweDA5LDB4ZjAsMHgwMywweGVjLDB4MTAsMHhkZiwweDAwLDB4NzMsMHhjMCwweDBjLDB4ZjAsMHgwYiwweDJhLDB4MDAgfSB9LAoteyAgMTYsIDB4YjQ5MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDAsMHhlYywweDEwLDB4ZjgsMHgwMCwweDNlLDB4NDIgfSB9LAoteyAgMTYsIDB4YjRhMCwgMCwgezB4MGYsMHgyNCwweDAzLDB4YTgsMHg2MCwweGY4LDB4MDAsMHgzYywweGMxLDB4MGYsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGY5LDB4NDAgfSB9LAoteyAgMTYsIDB4YjRiMCwgMCwgezB4M2UsMHg4MCwweDA0LDB4YjAsMHgyMywweGUxLDB4MDAsMHhlYiwweDAwLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgwMywweGUwLDB4MDAgfSB9LAoteyAgMTYsIDB4YjRjMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmNCwweDAwLDB4ZWUsMHgwMCwweDNkLDB4MzAgfSB9LAoteyAgMTYsIDB4YjRkMCwgMCwgezB4MGMsMHhjMCwweDAzLDB4MTQsMHgwMCwweGNjLDB4YTAsMHhiMywweGMwLDB4NGMsMHg3MCwweDAzLDB4NWMsMHgxMCwweGRmLDB4MDAgfSB9LAoteyAgMTYsIDB4YjRlMCwgMCwgezB4M2YsMHgwMCwweDBjLDB4ZjAsMHgwMywweGY4LDB4MDAsMHhjZiwweDAwLDB4MjMsMHhjMCwweDBjLDB4ZjAsMHgwMywweDAwLDB4NDAgfSB9LAoteyAgMTYsIDB4YjRmMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgxLDB4MDQsMHg2NCwweDAwLDB4YmEsMHg4MSwweDJlLDB4NTggfSB9LAoteyAgMTYsIDB4YjUwMCwgMCwgezB4MDgsMHg4OCwweDAyLDB4MjcsMHg4MCwweDg5LDB4MjAsMHgyMiwweGMwLDB4MjgsMHhiMCwweDAyLDB4MmMsMHgwMCwweDg4LDB4ODMgfSB9LAoteyAgMTYsIDB4YjUxMCwgMCwgezB4MmUsMHgyMCwweDA1LDB4YjAsMHg2MiwweGUzLDB4MDAsMHg4YiwweDAwLDB4MmEsMHhjMCwweDA4LDB4YjAsMHgwMywweDYwLDB4NDAgfSB9LAoteyAgMTYsIDB4YjUyMCwgMCwgezB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyNiwweDAwLDB4YjksMHg4MSwweDJlLDB4NDAgfSB9LAoteyAgMTYsIDB4YjUzMCwgMCwgezB4MDgsMHg4YywweDA2LDB4MjYsMHgwMCwweDg4LDB4MDAsMHgyMiwweGMwLDB4MDgsMHhiMCwweDE2LDB4NmMsMHgwMCwweDk4LDB4ODggfSB9LAoteyAgMTYsIDB4YjU0MCwgMCwgezB4MmUsMHgyMCwweDA4LDB4YjAsMHgwNCwweGUzLDB4MDEsMHgwYiwweDAwLDB4MjgsMHhjMCwweDA4LDB4MzAsMHgwMiwweDIwLDB4MDAgfSB9LAoteyAgMTYsIDB4YjU1MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDQsMHgwNCwweDAwLDB4YjAsMHgwMCwweDJjLDB4YzAgfSB9LAoteyAgMTYsIDB4YjU2MCwgMCwgezB4MjgsMHgwMCwweDBlLDB4MDAsMHgxMCwweDgwLDB4MDAsMHgyMCwweGMwLDB4MDgsMHgzMiwweDAyLDB4MGMsMHgwMCwweDgwLDB4MDQgfSB9LAoteyAgMTYsIDB4YjU3MCwgMCwgezB4MmUsMHgyMCwweDA5LDB4MzAsMHgwMiwweGM0LDB4MTIsMHg4MywweDAwLDB4MjgsMHhjMCwweDA4LDB4MzAsMHgwMiwweDQyLDB4MDEgfSB9LAoteyAgMTYsIDB4YjU4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2YywweDAwLDB4ZmEsMHgwMCwweDNlLDB4MDAgfSB9LAoteyAgMTYsIDB4YjU5MCwgMCwgezB4MmMsMHg5MSwweDAzLDB4MjAsMHgwMCwweDhhLDB4MDAsMHgzMywweGMwLDB4MGMsMHhmMCwweDAzLDB4N2MsMHgwMCwweGQ4LDB4MDAgfSB9LAoteyAgMTYsIDB4YjVhMCwgMCwgezB4MmUsMHg0MCwweDBjLDB4ZjAsMHgwMywweGUwLDB4ODAsMHhjZiwweDAwLDB4M2IsMHhjMCwweDBjLDB4ZjAsMHgwMywweDAwLDB4MDMgfSB9LAoteyAgMTYsIDB4YjViMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MWQsMHhmYywweDAwLDB4ZmMsMHgwMSwweDNmLDB4NDAgfSB9LAoteyAgMTYsIDB4YjVjMCwgMCwgezB4MGYsMHhjMCwweDEzLDB4ZjAsMHgwMCwweGY0LDB4MDAsMHgzZiwweGMxLDB4MGYsMHhmNCwweDIzLDB4ZmMsMHgwOCwweGZjLDB4MDAgfSB9LAoteyAgMTYsIDB4YjVkMCwgMCwgezB4M2YsMHgwMCwweDBmLDB4ZjAsMHgwMywweGYwLDB4NDAsMHhmZiwweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGU4LDB4MDYgfSB9LAoteyAgMTYsIDB4YjVlMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmYywweDIwLDB4Y2QsMHgxMCwweDM5LDB4YzggfSB9LAoteyAgMTYsIDB4YjVmMCwgMCwgezB4MGQsMHhjMSwweDAzLDB4M2MsMHg4MCwweGVmLDB4OTAsMHgyMywweGQ4LDB4MGYsMHhmOCwweDAwLDB4ZmUsMHgwMCwweGNmLDB4ODAgfSB9LAoteyAgMTYsIDB4YjYwMCwgMCwgezB4MWYsMHhkMCwweDBmLDB4ZjksMHgwMywweGZmLDB4MDAsMHhlNywweGMwLDB4MzMsMHhjNCwweDBmLDB4ZjAsMHgwMywweGIwLDB4MDAgfSB9LAoteyAgMTYsIDB4YjYxMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MTAsMHhmZSwweDAyLDB4ODksMHg0MCwweDIzLDB4ZjAgfSB9LAoteyAgMTYsIDB4YjYyMCwgMCwgezB4MDgsMHg4NSwweDEwLDB4M2MsMHgwMCwweDhiLDB4MDAsMHhhMywweGRjLDB4NGIsMHhiMiwweDgyLDB4ZWMsMHgyMCwweDhiLDB4MDAgfSB9LAoteyAgMTYsIDB4YjYzMCwgMCwgezB4MjYsMHhjMCwweDRiLDB4YjAsMHgwMiwweGVjLDB4MTAsMHhiOSwweDA0LDB4MmEsMHhjOSwweDBiLDB4YjUsMHg4MCwweGYwLDB4MDQgfSB9LAoteyAgMTYsIDB4YjY0MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM4LDB4MDUsMHhjYywweDAwLDB4ODEsMHg2NCwweDI4LDB4YzQgfSB9LAoteyAgMTYsIDB4YjY1MCwgMCwgezB4MDksMHhiMiwweDBhLDB4MGMsMHhmMCwweGEzLDB4MjAsMHgyMCwweGM4LDB4MGIsMHgzMiwweDAyLDB4ZWMsMHgwMiwweDgzLDB4MDggfSB9LAoteyAgMTYsIDB4YjY2MCwgMCwgezB4MmMsMHhjOCwweDA5LDB4MzIsMHgwMiwweGNjLDB4ODAsMHhhYiwweGEwLDB4MjAsMHhjOCwweDBiLDB4MzIsMHgwMCwweGIyLDB4MDEgfSB9LAoteyAgMTYsIDB4YjY3MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MTUsMHhhYywweDEwLDB4ODksMHgwMCwweDIyLDB4YzAgfSB9LAoteyAgMTYsIDB4YjY4MCwgMCwgezB4MDgsMHhiMiwweDEyLDB4MmMsMHgwMiwweDBiLDB4MDAsMHgyMiwweGMwLDB4MGIsMHhiOCwweDAyLDB4ZWMsMHgwMCwweDhiLDB4MDAgfSB9LAoteyAgMTYsIDB4YjY5MCwgMCwgezB4MjYsMHhjMCwweDRiLDB4YjAsMHg0NiwweGVjLDB4MDAsMHhiOSwweDAwLDB4MGEsMHhjMCwweDBiLDB4YjAsMHgwMiwweGYwLDB4MDQgfSB9LAoteyAgMTYsIDB4YjZhMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGQwLDB4MTUsMHhlYywweDEwLDB4YzksMHhlMCwweDNhLDB4YzAgfSB9LAoteyAgMTYsIDB4YjZiMCwgMCwgezB4MGQsMHgyOCwweDAzLDB4MmMsMHgwMCwweGViLDB4MTAsMHgzMiwweGMwLDB4MGYsMHg4MiwweDAzLDB4YzQsMHgwMCwweGNiLDB4MDAgfSB9LAoteyAgMTYsIDB4YjZjMCwgMCwgezB4M2UsMHhjMSwweDBmLDB4YjAsMHgwNiwweGVjLDB4MDgsMHhlOSwweDAwLDB4YjIsMHhjMCwweDBmLDB4YjAsMHgxMywweDkwLDB4MDQgfSB9LAoteyAgMTYsIDB4YjZkMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDEsMHg5YywweDAwLDB4ZjUsMHhhMCwweDNmLDB4YzAgfSB9LAoteyAgMTYsIDB4YjZlMCwgMCwgezB4MGYsMHhlOCwweDAzLDB4ZmMsMHgwOCwweGZmLDB4MDAsMHgzZiwweGMwLDB4OGYsMHhjMCwweDAzLDB4ZmMsMHgwMCwweGZmLDB4MDAgfSB9LAoteyAgMTYsIDB4YjZmMCwgMCwgezB4MzcsMHhjMCwweDBmLDB4ZjAsMHgwMywweGZjLDB4MDAsMHhmZiwweDA0LDB4M2UsMHhjMCwweDBmLDB4ZjAsMHgwMywweGY4LDB4MDAgfSB9LAoteyAgMTYsIDB4YjcwMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDUwLDB4MTAsMHhhYywweDAwLDB4ZjksMHg0MCwweDM0LDB4YzAgfSB9LAoteyAgMTYsIDB4YjcxMCwgMCwgezB4MGQsMHhiNCwweDAzLDB4MmMsMHgwMCwweGRiLDB4NDAsMHgzZSwweGMwLDB4MmMsMHg4MCwweDAzLDB4NjQsMHgwOCwweGZiLDB4MTAgfSB9LAoteyAgMTYsIDB4YjcyMCwgMCwgezB4M2UsMHhjNiwweDhmLDB4YjAsMHgwMywweGVjLDB4MDAsMHhmOSwweDgwLDB4MzIsMHhjMCwweDBjLDB4YjAsMHgwYiwweDE0LDB4MDQgfSB9LAoteyAgMTYsIDB4YjczMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM4LDB4MDUsMHgzZSwweDIwLDB4ZTksMHhjOCwweDM3LDB4ZDQgfSB9LAoteyAgMTYsIDB4Yjc0MCwgMCwgezB4NDgsMHhhYSwweDIyLDB4MWMsMHgwMCwweDhiLDB4MDAsMHg2ZiwweGUwLDB4MDgsMHg4NSwweDgyLDB4ZWQsMHg0MCwweGJiLDB4ODQgfSB9LAoteyAgMTYsIDB4Yjc1MCwgMCwgezB4MmYsMHhjMCwweDRiLDB4YjgsMHgwMywweGFkLDB4NDAsMHhiMywweDAwLDB4MjMsMHhkNCwweDA4LDB4ZjcsMHgwMiwweDMyLDB4MDAgfSB9LAoteyAgMTYsIDB4Yjc2MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDEsMHg0YywweDAwLDB4YjEsMHg2NCwweGE0LDB4YzAgfSB9LAoteyAgMTYsIDB4Yjc3MCwgMCwgezB4MDksMHgyMCwweDBhLDB4MGMsMHgwNCwweGI4LDB4MDAsMHg2YywweGMwLDB4MDgsMHgzOCwweDAyLDB4YzgsMHg0MCwweGIzLDB4ODAgfSB9LAoteyAgMTYsIDB4Yjc4MCwgMCwgezB4MmMsMHhkMSwweDBiLDB4MzAsMHgwMiwweGNjLDB4MDQsMHhiMywweDAwLDB4MjgsMHhjMCwweDA4LDB4MzAsMHgwMiwweDNhLDB4MDAgfSB9LAoteyAgMTYsIDB4Yjc5MCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGIwLDB4MDEsMHgxZSwweDAwLDB4YTUsMHg4MCwweDI1LDB4ZTAgfSB9LAoteyAgMTYsIDB4YjdhMCwgMCwgezB4ODgsMHgzYSwweDEyLDB4MWUsMHgwMCwweGE2LDB4OTAsMHgyZCwweGUyLDB4MDgsMHg3OSwweDAyLDB4ZGEsMHgwMCwweGI3LDB4ODIgfSB9LAoteyAgMTYsIDB4YjdiMCwgMCwgezB4MmQsMHhlMCwweDAzLDB4NzgsMHg4MiwweDllLDB4MDAsMHhiYywweGMxLDB4MjksMHhlMCwweDA4LDB4NzgsMHgwMiwweDJjLDB4MTAgfSB9LAoteyAgMTYsIDB4YjdjMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ5LDB4MDgsMHgwYywweDAwLDB4ZjMsMHgwMCwweDM0LDB4YzAgfSB9LAoteyAgMTYsIDB4YjdkMCwgMCwgezB4MGQsMHgzZSwweDAzLDB4MGMsMHgwMCwweGYwLDB4NDAsMHgyZSwweGMwLDB4MGMsMHgzMCwweDQzLDB4YzgsMHgwMCwweGYzLDB4MDAgfSB9LAoteyAgMTYsIDB4YjdlMCwgMCwgezB4M2MsMHhjMCwweDA3LDB4MzAsMHgwMywweGNjLDB4ODAsMHhmMiwweDAwLDB4MzgsMHhjMCwweDBjLDB4MzAsMHgwMywweDEyLDB4MDIgfSB9LAoteyAgMTYsIDB4YjdmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTksMHhiZCwweDIwLDB4ZjcsMHgwMCwweDNmLDB4YzIgfSB9LAoteyAgMTYsIDB4YjgwMCwgMCwgezB4MGYsMHhmMSwweDBiLDB4ZGMsMHgyMCwweGRlLDB4MDQsMHgzZiwweGQyLDB4MDcsMHhmMCwweDEzLDB4ZjgsMHg0MCwweGZmLDB4MDAgfSB9LAoteyAgMTYsIDB4YjgxMCwgMCwgezB4M2YsMHhjMCwweDA3LDB4ZjAsMHgwMywweGZjLDB4MDAsMHhmZCwweDAwLDB4MzcsMHhjMCwweDBmLDB4NzAsMHgwMywweGQwLDB4MDYgfSB9LAoteyAgMTYsIDB4YjgyMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGFhLDB4MDUsMHhjZiwweDAwLDB4ZGMsMHgwMCwweDNlLDB4Y2EgfSB9LAoteyAgMTYsIDB4YjgzMCwgMCwgezB4MGYsMHhhMCwweDAwLDB4YWMsMHg5MiwweGM5LDB4MDAsMHgzMiwweGMwLDB4MGYsMHhiMCwweDExLDB4YTQsMHgwOCwweGZiLDB4MDAgfSB9LAoteyAgMTYsIDB4Yjg0MCwgMCwgezB4MmUsMHhjMCwweDRmLDB4YjAsMHgyMywweGVjLDB4MDAsMHhmOSwweDAwLDB4M2UsMHhjNCwweDBmLDB4YjAsMHgwMywweGVhLDB4MDAgfSB9LAoteyAgMTYsIDB4Yjg1MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM4LDB4OTEsMHg5YywweDAwLDB4ODQsMHgwMCwweDAxLDB4YzAgfSB9LAoteyAgMTYsIDB4Yjg2MCwgMCwgezB4NGIsMHg3MCwweDIyLDB4MWMsMHhjMCwweDg3LDB4MDAsMHgyMSwweGMwLDB4NGIsMHg3MCwweDAyLDB4MWMsMHgwMCwweGI3LDB4MDEgfSB9LAoteyAgMTYsIDB4Yjg3MCwgMCwgezB4MjUsMHhkOCwweDBiLDB4NzAsMHgyMiwweGRjLDB4MDAsMHhiNiwweDAwLDB4MmQsMHhjMCwweDBiLDB4NzIsMHgyMiwweGYyLDB4MDQgfSB9LAoteyAgMTYsIDB4Yjg4MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDAsMHg5ZSwweDgwLDB4OTcsMHg4MCwweGE5LDB4ZTAgfSB9LAoteyAgMTYsIDB4Yjg5MCwgMCwgezB4MGIsMHhmOCwweDAyLDB4Y2UsMHgwOCwweDg1LDB4ODAsMHgyOSwweGU4LDB4MGIsMHhmYywweDAyLDB4MTcsMHgwMCwweGI3LDB4ODAgfSB9LAoteyAgMTYsIDB4YjhhMCwgMCwgezB4MmQsMHhlMCwweDhiLDB4NzgsMHgwMiwweGRlLDB4MDAsMHhiNCwweGMwLDB4MmQsMHhlOCwweDBiLDB4NzksMHgwMiwweGUwLDB4MDAgfSB9LAoteyAgMTYsIDB4YjhiMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MTQsMHhjYywweDAwLDB4ODMsMHgwOCwweGEwLDB4YzAgfSB9LAoteyAgMTYsIDB4YjhjMCwgMCwgezB4OGIsMHgzYywweDAyLDB4NGMsMHgwMCwweDgzLDB4MDAsMHhhMCwweGMwLDB4MWIsMHgzYywweDBhLDB4MGYsMHgyOSwweGIzLDB4MDAgfSB9LAoteyAgMTYsIDB4YjhkMCwgMCwgezB4MjQsMHhjMCwweDBiLDB4MzAsMHgwMiwweGNjLDB4MDAsMHhiMywweDgwLDB4MmMsMHhjMCwweDBiLDB4MzAsMHgwMiwweGQyLDB4MDQgfSB9LAoteyAgMTYsIDB4YjhlMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOCwweDAwLDB4ZGUsMHgwMCwweDNhLDB4ODAgfSB9LAoteyAgMTYsIDB4YjhmMCwgMCwgezB4MGYsMHhlYSwweDAyLDB4ZTgsMHgwMCwweGNlLDB4MDAsMHgzYSwweDgwLDB4MGYsMHhlMCwweDAzLDB4MzgsMHgwMCwweGZhLDB4MDAgfSB9LAoteyAgMTYsIDB4YjkwMCwgMCwgezB4M2UsMHg4MCwweDBmLDB4YTAsMHgwMywweGU4LDB4MDAsMHhmZSwweDAwLDB4M2UsMHg4MCwweDBiLDB4YTAsMHgwMywweGZhLDB4MDQgfSB9LAoteyAgMTYsIDB4YjkxMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDAsMHhlMCwweDAwLDB4ZjgsMHgwNCwweGJhLDB4MDEgfSB9LAoteyAgMTYsIDB4YjkyMCwgMCwgezB4MGYsMHg4MiwweDBiLDB4ODAsMHgwNCwweGY4LDB4ODAsMHgzZSwweDAwLDB4MGYsMHg4NiwweDAzLDB4NjAsMHgwMCwweGY4LDB4MDAgfSB9LAoteyAgMTYsIDB4YjkzMCwgMCwgezB4MzYsMHgwMCwweDBmLDB4ODAsMHgyMywweGUxLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweGQyLDB4MDAgfSB9LAoteyAgMTYsIDB4Yjk0MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDAxLDB4ZjksMHgwMCwweDMyLDB4NDAgfSB9LAoteyAgMTYsIDB4Yjk1MCwgMCwgezB4MGYsMHg5MCwweDAzLDB4ZTQsMHgwMCwweDQ5LDB4MDAsMHgzMiwweDQwLDB4MGIsMHg5MCwweDAzLDB4MjQsMHgwMCwweDQ5LDB4MDAgfSB9LAoteyAgMTYsIDB4Yjk2MCwgMCwgezB4M2MsMHg0MCwweDBkLDB4OTAsMHgwMywweGU0LDB4MDgsMHhjOSwweDAwLDB4M2UsMHg2MCwweDBjLDB4OTAsMHgwMywweDAyLDB4MDQgfSB9LAoteyAgMTYsIDB4Yjk3MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDQsMHg2NCwweDAwLDB4YjksMHg0MCwweGEyLDB4NjQgfSB9LAoteyAgMTYsIDB4Yjk4MCwgMCwgezB4MGIsMHgxOCwweDAyLDB4MjUsMHgwMCwweGQxLDB4NTAsMHgzNiwweDUwLDB4NGUsMHg5MCwweDBhLDB4MjQsMHgwMiwweDg5LDB4NDAgfSB9LAoteyAgMTYsIDB4Yjk5MCwgMCwgezB4M2EsMHg1MSwweDA4LDB4OTQsMHgwMiwweGU1LDB4MjIsMHg4OSwweDQ0LDB4MmUsMHg2MCwweDI4LDB4OTAsMHgwYSwweDIwLDB4MDAgfSB9LAoteyAgMTYsIDB4YjlhMCwgMCwgezB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDEsMHgyNCwweDAwLDB4YjEsMHgwOCwweDIyLDB4NDAgfSB9LAoteyAgMTYsIDB4YjliMCwgMCwgezB4NGIsMHg5MiwweDgyLDB4YTUsMHgwMCwweGE5LDB4MDgsMHgyMiwweDUwLDB4MGEsMHgxMCwweDAyLDB4MGMsMHgwMCwweGE5LDB4NDAgfSB9LAoteyAgMTYsIDB4YjljMCwgMCwgezB4NmUsMHg1MCwweDBiLDB4OTQsMHgwMiwweGM0LDB4MDQsMHg4OSwweDQ0LDB4NmMsMHg0OCwweDg4LDB4MTAsMHgwMiwweDQ2LDB4MDAgfSB9LAoteyAgMTYsIDB4YjlkMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDQsMHgwNCwweDAwLDB4YjEsMHg0MCwweGUwLDB4NDAgfSB9LAoteyAgMTYsIDB4YjllMCwgMCwgezB4MWIsMHgxNCwweDBhLDB4MDQsMHgwMCwweGI5LDB4MDAsMHgyNCwweDQwLDB4MWEsMHgxMCwweDIyLDB4MDQsMHgwMCwweGExLDB4MDAgfSB9LAoteyAgMTYsIDB4YjlmMCwgMCwgezB4MjgsMHg0MCwweDBhLDB4MTAsMHgxMiwweGM0LDB4MDAsMHg4MSwweDAyLDB4NmMsMHg0MCwweDA4LDB4MTIsMHgwMiwweDQyLDB4MDEgfSB9LAoteyAgMTYsIDB4YmEwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDA4LDB4YjAsMHgwMCwweDMyLDB4MDAgfSB9LAoteyAgMTYsIDB4YmExMCwgMCwgezB4NGYsMHg4MCwweDAyLDB4YTEsMHg1MCwweGUwLDB4NTAsMHgzMiwweDE0LDB4MGUsMHhhNSwweDIzLDB4MjEsMHg0MCwweGU4LDB4NTAgfSB9LAoteyAgMTYsIDB4YmEyMCwgMCwgezB4M2UsMHgxNCwweDBmLDB4ODUsMHgwMywweGUxLDB4NDAsMHhjOCwweDUwLDB4MWUsMHgxNCwweDBjLDB4ODUsMHg0MywweDZlLDB4MDMgfSB9LAoteyAgMTYsIDB4YmEzMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGQ4LDB4MTksMHhlNSwweDAwLDB4ZmQsMHg0MCwweDNlLDB4NTAgfSB9LAoteyAgMTYsIDB4YmE0MCwgMCwgezB4MGYsMHg3NCwweDAzLDB4YTUsMHgwMCwweDVkLDB4MDAsMHgzZSwweDUwLDB4MGEsMHg1MCwweDEzLDB4ZjQsMHgwMCwweGQ5LDB4MDAgfSB9LAoteyAgMTYsIDB4YmE1MCwgMCwgezB4M2EsMHg1MCwweDBkLDB4OTAsMHgxMywweGU0LDB4MDAsMHhmZiwweDAwLDB4M2UsMHg1MCwweDBmLDB4OTEsMHgwMywweGE2LDB4MDYgfSB9LAoteyAgMTYsIDB4YmE2MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhmNiwweDkwLDB4YmQsMHhlOCwweDIzLDB4NmIgfSB9LAoteyAgMTYsIDB4YmE3MCwgMCwgezB4MGIsMHhkYSwweDBiLDB4MzYsMHg4MCwweGM5LDB4MDAsMHgzMiwweDY4LDB4NDYsMHg5MCwweDQzLDB4ZTQsMHgwMCwweDQ5LDB4MDAgfSB9LAoteyAgMTYsIDB4YmE4MCwgMCwgezB4MzIsMHg2OCwweDBjLDB4OTAsMHgwMywweDI0LDB4NDAsMHhmOSwweDAwLDB4MzIsMHg2MCwweDBjLDB4OWMsMHgwMywweGM2LDB4MDEgfSB9LAoteyAgMTYsIDB4YmE5MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDc4LDB4MTAsMHhlMSwweDAwLDB4YjgsMHhlMCwweGEyLDB4MTEgfSB9LAoteyAgMTYsIDB4YmFhMCwgMCwgezB4MGIsMHg4ZSwweDBhLDB4MjMsMHgyMiwweDg4LDB4ODAsMHgyYSwweDMxLDB4MjgsMHg4OCwweDAyLDB4NjIsMHgwMCwweDg4LDB4ODAgfSB9LAoteyAgMTYsIDB4YmFiMCwgMCwgezB4YTIsMHgzMCwweDI4LDB4ODgsMHg4YSwweDIyLDB4MDAsMHhiOCwweGE4LDB4YTIsMHgzOSwweDA4LDB4Y2EsMHgwMiwweGNlLDB4MDQgfSB9LAoteyAgMTYsIDB4YmFjMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDUsMHhjNSwweDA4LDB4MjEsMHgwMCwweDAwLDB4NDAgfSB9LAoteyAgMTYsIDB4YmFkMCwgMCwgezB4MDMsMHgxNCwweDgyLDB4ODUsMHg4MCwweGFkLDB4MDgsMHgyMSwweDUyLDB4OTgsMHg1MCwweDgyLDB4MzQsMHgyMywweDg1LDB4MDggfSB9LAoteyAgMTYsIDB4YmFlMCwgMCwgezB4MjEsMHg1MiwweDA4LDB4NTAsMHgwNiwweDU0LDB4MDAsMHhiNSwweDIwLDB4MjEsMHg1YSwweDA5LDB4NTQsMHgwMiwweGQyLDB4MDEgfSB9LAoteyAgMTYsIDB4YmFmMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MTEsMHhhNCwweDAwLDB4YjksMHg2MSwweDIyLDB4NDAgfSB9LAoteyAgMTYsIDB4YmIwMCwgMCwgezB4MGIsMHg5MCwweDA2LDB4MDQsMHgwMCwweGFkLDB4MDAsMHg2OSwweDQwLDB4MDgsMHhkMCwweDAyLDB4NzQsMHgwMCwweDg1LDB4MDAgfSB9LAoteyAgMTYsIDB4YmIxMCwgMCwgezB4MDEsMHg0MCwweDAwLDB4NzAsMHgwNiwweDc0LDB4MDQsMHhiNSwweDAwLDB4MjMsMHg0MCwweDA5LDB4ZDAsMHgwMiwweGM2LDB4MDQgfSB9LAoteyAgMTYsIDB4YmIyMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTQsMHhhNCwweDAwLDB4ZTksMHgwMCwweDMyLDB4NDAgfSB9LAoteyAgMTYsIDB4YmIzMCwgMCwgezB4NGYsMHg5NSwweDBiLDB4YTQsMHgwMCwweGU5LDB4MDAsMHgzMiwweDQwLDB4OGMsMHg5MCwweDAzLDB4MjQsMHgwMCwweGM5LDB4MDAgfSB9LAoteyAgMTYsIDB4YmI0MCwgMCwgezB4MzIsMHg0MCwweDBjLDB4OTAsMHgwMywweDY0LDB4MDgsMHhmOSwweDAwLDB4MzIsMHg0MCwweDNkLDB4OTAsMHgwMywweGU4LDB4MDQgfSB9LAoteyAgMTYsIDB4YmI1MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDY4LDB4MDEsMHhhNCwweDA4LDB4ZjksMHgwMCwweDNlLDB4NDAgfSB9LAoteyAgMTYsIDB4YmI2MCwgMCwgezB4NGYsMHg5MCwweDhiLDB4ZTQsMHgwNCwweGQ5LDB4MDEsMHgzZSwweDQwLDB4MGQsMHg5MCwweDAzLDB4NjQsMHgwMCwweGQ5LDB4MDEgfSB9LAoteyAgMTYsIDB4YmI3MCwgMCwgezB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGE0LDB4MDAsMHhmOSwweDAwLDB4M2MsMHg0MCwweDBlLDB4OTAsMHgwMywweGRhLDB4MDAgfSB9LAoteyAgMTYsIDB4YmI4MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMCwweDAwLDB4ZjgsMHg0MCwweDM2LDB4MjAgfSB9LAoteyAgMTYsIDB4YmI5MCwgMCwgezB4MTcsMHg4NCwweDAzLDB4MjAsMHgyMSwweGM4LDB4MDAsMHg3ZSwweDAyLDB4MmMsMHg4MCwweDQzLDB4MjAsMHgwMCwweGU4LDB4MDIgfSB9LAoteyAgMTYsIDB4YmJhMCwgMCwgezB4M2UsMHgwMSwweDBmLDB4ODAsMHgwMywweGUwLDB4MDAsMHhjOCwweDQwLDB4MWUsMHgwMCwweDBmLDB4ODAsMHgwMywweGNhLDB4MDQgfSB9LAoteyAgMTYsIDB4YmJiMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHgyYSwweDg4LDB4YjYsMHgwMiwweDIzLDB4YTAgfSB9LAoteyAgMTYsIDB4YmJjMCwgMCwgezB4MGIsMHhlYywweDQyLDB4MmIsMHgwMCwweGQyLDB4ODAsMHg2ZSwweGIxLDB4MDgsMHhhMCwweDIyLDB4MDgsMHgwMCwweGVhLDB4MDQgfSB9LAoteyAgMTYsIDB4YmJkMCwgMCwgezB4M2EsMHg4MCwweDlmLDB4YTAsMHgwMywweGE4LDB4MDAsMHg4YSwweDA0LDB4MmUsMHg4MCwweDBiLDB4YTgsMHgwMiwweGNhLDB4MDAgfSB9LAoteyAgMTYsIDB4YmJlMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAwLDB4YjIsMHgwMCwweGE0LDB4ZTEgfSB9LAoteyAgMTYsIDB4YmJmMCwgMCwgezB4OGIsMHhiNCwweDMyLDB4NDcsMHg0NSwweDgzLDB4OTAsMHgyYywweGY0LDB4NGIsMHgzOCwweDEyLDB4MGUsMHg0NCwweGEzLDB4MDEgfSB9LAoteyAgMTYsIDB4YmMwMCwgMCwgezB4MmMsMHhjMCwweDRiLDB4MzAsMHgwMiwweGNlLDB4MDAsMHg5MywweDAwLDB4NmMsMHhjMCwweDBiLDB4MzgsMHgwMiwweGNhLDB4MDAgfSB9LAoteyAgMTYsIDB4YmMxMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MDEsMHgxYywweDAwLDB4YjcsMHg0NCwweDIxLDB4YzIgfSB9LAoteyAgMTYsIDB4YmMyMCwgMCwgezB4MGIsMHg1NCwweDAyLDB4NTQsMHgwNSwweDg3LDB4MDAsMHgyYywweDQwLDB4OWIsMHg2YywweDAyLDB4MTgsMHgxMCwweGE3LDB4MDQgfSB9LAoteyAgMTYsIDB4YmMzMCwgMCwgezB4MjksMHhjMCwweDBhLDB4NzAsMHgwMiwweDliLDB4MDAsMHg5NywweDA0LDB4MGQsMHg4MCwweDBiLDB4NjAsMHg4MiwweGU4LDB4MDAgfSB9LAoteyAgMTYsIDB4YmM0MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZSwweDAwLDB4ZjMsMHg4MCwweDM1LDB4ZTAgfSB9LAoteyAgMTYsIDB4YmM1MCwgMCwgezB4MGIsMHgzOCwweDAyLDB4NTIsMHgxMCwweDg0LDB4ODAsMHgyZCwweGEwLDB4MGYsMHhmOCwweDBiLDB4MWUsMHgwMCwweGU2LDB4ODAgfSB9LAoteyAgMTYsIDB4YmM2MCwgMCwgezB4MWQsMHhhMCwweDBiLDB4NjgsMHgwMywweGZlLDB4MDIsMHhkNiwweDgwLDB4M2QsMHhlMCwweDBmLDB4NzgsMHgwMywweGVhLDB4MDIgfSB9LAoteyAgMTYsIDB4YmM3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBhLDB4MWQsMHhhYywweDAwLDB4ZmIsMHgwMCwweDNlLDB4YzEgfSB9LAoteyAgMTYsIDB4YmM4MCwgMCwgezB4OGIsMHg5MCwweDBiLDB4ODAsMHgwYSwweGI4LDB4MDEsMHgyZSwweDAwLDB4MGMsMHhiMCwweDAzLDB4ZTgsMHgwMCwweGZhLDB4MDAgfSB9LAoteyAgMTYsIDB4YmM5MCwgMCwgezB4M2UsMHhjMCwweDBmLDB4YTAsMHg0MywweGVjLDB4MDAsMHhlYiwweDAwLDB4M2UsMHg4MCwweDBmLDB4YTYsMHgyMywweGMyLDB4MDIgfSB9LAoteyAgMTYsIDB4YmNhMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmZSwweDAwLDB4ZmUsMHg4MCwweDMzLDB4MjAgfSB9LAoteyAgMTYsIDB4YmNiMCwgMCwgezB4NGUsMHhjOSwweDEyLDB4ZjYsMHg1MCwweGVmLDB4OTAsMHgzZiwweGUwLDB4MGMsMHgxOSwweDAwLDB4YjYsMHg0MiwweGNmLDB4MjEgfSB9LAoteyAgMTYsIDB4YmNjMCwgMCwgezB4M2YsMHhlMCwweDBlLDB4ZjksMHgwMiwweGU2LDB4YzAsMHhmZiwweDgwLDB4M2YsMHhlMCwweDRjLDB4ZGMsMHgwMywweDQwLDB4MDAgfSB9LAoteyAgMTYsIDB4YmNkMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGFhLDB4MTEsMHg5NCwweDAwLDB4YjcsMHgwMCwweDgxLDB4NDAgfSB9LAoteyAgMTYsIDB4YmNlMCwgMCwgezB4MDgsMHgwMywweDAyLDB4MTQsMHhjNCwweDg3LDB4MDEsMHgyZCwweGM4LDB4MDgsMHg2YSwweDEyLDB4MzgsMHg0MCwweDg3LDB4MDIgfSB9LAoteyAgMTYsIDB4YmNmMCwgMCwgezB4MmQsMHhjMCwweDA4LDB4NzEsMHgxMiwweGQyLDB4ODAsMHhiNywweDAwLDB4MmQsMHg4MCwweDA4LDB4NjAsMHgwMiwweDJhLDB4MDQgfSB9LAoteyAgMTYsIDB4YmQwMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5YywweDAwLDB4YjcsMHgxMCwweDIxLDB4ODAgfSB9LAoteyAgMTYsIDB4YmQxMCwgMCwgezB4MDgsMHhmNCwweDEyLDB4OTQsMHgwNCwweGE2LDB4MDAsMHgyYywweGMwLDB4MTgsMHhkMiwweDAyLDB4MTQsMHg0OCwweDg2LDB4MTAgfSB9LAoteyAgMTYsIDB4YmQyMCwgMCwgezB4MmQsMHg4MCwweDBhLDB4NjEsMHgzMiwweGQ0LDB4MDAsMHhiNiwweDE4LDB4MmQsMHhjNCwweDA4LDB4NTgsMHgwMiwweDAwLDB4MTAgfSB9LAoteyAgMTYsIDB4YmQzMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIwLDB4MTQsMHhjNCwweDAwLDB4YjMsMHgwMCwweDIwLDB4YzAgfSB9LAoteyAgMTYsIDB4YmQ0MCwgMCwgezB4NDAsMHhiMCwweDIyLDB4MDQsMHgwMCwweDgyLDB4ODEsMHgwYywweGMwLDB4MDgsMHgzMCwweDBhLDB4MGEsMHgwMCwweDhhLDB4MDAgfSB9LAoteyAgMTYsIDB4YmQ1MCwgMCwgezB4MmUsMHhjMCwweDA4LDB4YTAsMHgwMiwweGM0LDB4MDAsMHhiYiwweDAwLDB4MmUsMHg4MCwweDA4LDB4MjAsMHgwMiwweDA4LDB4MDQgfSB9LAoteyAgMTYsIDB4YmQ2MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhhYywweDAwLDB4ZmIsMHgwMCwweGEwLDB4YzAgfSB9LAoteyAgMTYsIDB4YmQ3MCwgMCwgezB4MjQsMHg5NCwweDIzLDB4YWMsMHgxMCwweGViLDB4YTAsMHgwZSwweGMwLDB4MGMsMHhiMCwweDAyLDB4MmUsMHgyMCwweGM5LDB4MDAgfSB9LAoteyAgMTYsIDB4YmQ4MCwgMCwgezB4MmUsMHg0MCwweDBlLDB4OTAsMHgwMywweGVjLDB4MDAsMHhmOSwweDgwLDB4M2UsMHg0MCwweDZjLDB4YTAsMHgwYiwweDJhLDB4MDQgfSB9LAoteyAgMTYsIDB4YmQ5MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDAsMHhjYywweDAwLDB4ZmIsMHgwMCwweDNlLDB4YzAgfSB9LAoteyAgMTYsIDB4YmRhMCwgMCwgezB4ODksMHg5MCwweDAzLDB4MmMsMHgwMCwweGZiLDB4MDIsMHgzZSwweDQwLDB4NGYsMHhhMCwweDAzLDB4NmQsMHgwMSwweGZiLDB4NDEgfSB9LAoteyAgMTYsIDB4YmRiMCwgMCwgezB4M2UsMHhjMCwweDhmLDB4YjQsMHgwMywweGU4LDB4MDAsMHhmYiwweDIwLDB4M2UsMHg1MCwweDBmLDB4YTQsMHgwMywweGUwLDB4MDAgfSB9LAoteyAgMTYsIDB4YmRjMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmYywweDAwLDB4YzMsMHgyMCwweGIyLDB4YzAgfSB9LAoteyAgMTYsIDB4YmRkMCwgMCwgezB4MGQsMHhkMCwweDAzLDB4MzgsMHgwMCwweGNkLDB4MDAsMHgzZiwweDgwLDB4MGQsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGZkLDB4MDIgfSB9LAoteyAgMTYsIDB4YmRlMCwgMCwgezB4MzYsMHgwMCwweDBjLDB4ZDAsMHgwMywweDNmLDB4MDgsMHhmYywweDA0LDB4MTIsMHhjMCwweDBjLDB4YTAsMHgwMywweGMwLDB4NDQgfSB9LAoteyAgMTYsIDB4YmRmMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDQsMHg2YywweDAyLDB4OGIsMHhjOCwweDIyLDB4YzAgfSB9LAoteyAgMTYsIDB4YmUwMCwgMCwgezB4MDgsMHg5OCwweDBhLDB4MmEsMHg0MCwweDg5LDB4MjAsMHgyZSwweDAxLDB4OGUsMHhiMCwweDEyLDB4ZWMsMHg4MCwweGJiLDB4ZjAgfSB9LAoteyAgMTYsIDB4YmUxMCwgMCwgezB4MjIsMHhlNSwweDA4LDB4YmQsMHgwMiwweDJlLDB4MDAsMHhiYiwweDkwLDB4MjIsMHhlZCwweDA4LDB4YTIsMHgwMiwweGUwLDB4MDAgfSB9LAoteyAgMTYsIDB4YmUyMCwgMCwgezB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAwLDB4OGIsMHgwMSwweDIyLDB4MDAgfSB9LAoteyAgMTYsIDB4YmUzMCwgMCwgezB4NDksMHhhOCwweDFlLDB4MDQsMHgwMCwweDhiLDB4MDEsMHgyZSwweGMwLDB4NDksMHg5MCwweDAyLDB4ZTQsMHgwMCwweGI5LDB4MDAgfSB9LAoteyAgMTYsIDB4YmU0MCwgMCwgezB4MjIsMHg0MCwweDBhLDB4OTAsMHgwMiwweDJjLDB4MDAsMHhiOSwweDAwLDB4MmEsMHg0MCwweDA4LDB4ODAsMHgwMiwweGUwLDB4MDAgfSB9LAoteyAgMTYsIDB4YmU1MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDQsMHgwNCwweDAwLDB4ODEsMHgwMCwweDIwLDB4NDAgfSB9LAoteyAgMTYsIDB4YmU2MCwgMCwgezB4MDgsMHgyMCwweDAyLDB4MDQsMHgwMCwweDgzLDB4MDAsMHgyYywweGMwLDB4MGEsMHgyMCwweDQyLDB4Y2MsMHgwMCwweGIzLDB4MDAgfSB9LAoteyAgMTYsIDB4YmU3MCwgMCwgezB4MjAsMHhjMCwweDAyLDB4MzAsMHgwMiwweDA4LDB4ODQsMHhiMywweDA0LDB4MDgsMHg0MCwweDA4LDB4MjAsMHgwMiwweGMyLDB4MTEgfSB9LAoteyAgMTYsIDB4YmU4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2YywweDAwLDB4OGIsMHgwMCwweGIyLDB4ODAgfSB9LAoteyAgMTYsIDB4YmU5MCwgMCwgezB4MGQsMHhiMSwweDAzLDB4MjQsMHgwMiwweGNiLDB4MDEsMHgzZSwweGMwLDB4NGQsMHg5MCwweDQzLDB4ZTQsMHgwMCwweGY5LDB4MDAgfSB9LAoteyAgMTYsIDB4YmVhMCwgMCwgezB4YjIsMHgwMCwweDJlLDB4OTAsMHgwYiwweDJjLDB4ODAsMHhmOCwweDAwLDB4YmEsMHhjMCwweDJjLDB4ODAsMHgwMywweGMwLDB4MDMgfSB9LAoteyAgMTYsIDB4YmViMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MWQsMHhmNCwweDAwLDB4N2QsMHgwMCwweDNmLDB4YzAgfSB9LAoteyAgMTYsIDB4YmVjMCwgMCwgezB4MGYsMHg3MiwweDAzLDB4ZDQsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMwLDB4MGUsMHhmMSwweDQ3LDB4ZmMsMHgwMCwweGZmLDB4MDAgfSB9LAoteyAgMTYsIDB4YmVkMCwgMCwgezB4M2IsMHhjMCwweDBkLDB4ZjAsMHgxMywweGZjLDB4NTAsMHhmZiwweDAwLDB4MzcsMHhjMCwweDBmLDB4ZTAsMHgwMywweGU4LDB4MDYgfSB9LAoteyAgMTYsIDB4YmVlMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmMCwweGM0LDB4Y2MsMHgzMywweDNmLDB4MDQgfSB9LAoteyAgMTYsIDB4YmVmMCwgMCwgezB4MmMsMHhmNiwweDAzLDB4MzgsMHg2MCwweGNjLDB4OTAsMHhiMywweDIwLDB4MGYsMHhmMSwweDIzLDB4ZjAsMHg2MCwweGZmLDB4MDEgfSB9LAoteyAgMTYsIDB4YmYwMCwgMCwgezB4MjMsMHhjOCwweDBjLDB4ZjIsMHg4YSwweDNjLDB4ODEsMHhkZiwweDMwLDB4M2YsMHg2NCwweDBjLDB4ZDgsMHgwMywweDMwLDB4MDQgfSB9LAoteyAgMTYsIDB4YmYxMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MTAsMHhlMCwweGMyLDB4OGEsMHgzMCwweDJlLDB4MTggfSB9LAoteyAgMTYsIDB4YmYyMCwgMCwgezB4MDgsMHhmNSwweDMwLDB4YTUsMHg5NCwweDU4LDB4MjIsMHgyMiwweDIxLDB4NGIsMHhmMywweDAyLDB4ZTEsMHgwMCwweDlmLDB4NzAgfSB9LAoteyAgMTYsIDB4YmYzMCwgMCwgezB4MmIsMHhlNCwweDBhLDB4ZjQsMHgxMiwweDFkLDB4NDAsMHhhZiwweDcyLDB4MmMsMHg0OSwweDJmLDB4MzAsMHg4MiwweGEwLDB4MDYgfSB9LAoteyAgMTYsIDB4YmY0MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjNCwweDgwLDB4ODAsMHhhMCwweDJjLDB4OTggfSB9LAoteyAgMTYsIDB4YmY1MCwgMCwgezB4MDgsMHgzMiwweDIyLDB4MDgsMHgwMCwweDgyLDB4MDAsMHgyOCwweDAwLDB4MDMsMHgzMiwweDAyLDB4YzAsMHg4NCwweGIzLDB4MGMgfSB9LAoteyAgMTYsIDB4YmY2MCwgMCwgezB4MjAsMHhjMCwweDU4LDB4MzIsMHg5MiwweDhjLDB4MzAsMHhhMywweDIwLDB4MmUsMHhjMCwweDQ4LDB4MTIsMHg0MiwweDYyLDB4MDEgfSB9LAoteyAgMTYsIDB4YmY3MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MTUsMHhhOCwweDAwLDB4OGIsMHgwMCwweDJlLDB4MjAgfSB9LAoteyAgMTYsIDB4YmY4MCwgMCwgezB4MDgsMHhiMCwweDBhLDB4MjAsMHgwMSwweDk4LDB4MDAsMHgyYSwweDIyLDB4MGIsMHhiMCwweDAyLDB4ZTYsMHgwMCwweDliLDB4MDAgfSB9LAoteyAgMTYsIDB4YmY5MCwgMCwgezB4MjIsMHhjMCwweDBhLDB4YjAsMHgxMiwweGFjLDB4MDQsMHhhYiwweDAwLDB4MmUsMHhjMCwweDAzLDB4YjAsMHgwMiwweGYwLDB4MDAgfSB9LAoteyAgMTYsIDB4YmZhMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTUsMHhlNSwweDAwLDB4YzgsMHgwMCwweDNlLDB4YjAgfSB9LAoteyAgMTYsIDB4YmZiMCwgMCwgezB4MGMsMHhiMCwweDAzLDB4MjksMHgwMCwweGM4LDB4MDAsMHgzYSwweDIwLDB4NGYsMHhiMCwweDAzLDB4ZTIsMHgyMCwweGZiLDB4MDEgfSB9LAoteyAgMTYsIDB4YmZjMCwgMCwgezB4YjAsMHhjMCwweDBjLDB4YjAsMHgwMywweDJjLDB4MDAsMHhmYiwweDAyLDB4M2MsMHg0MSwweDBjLDB4OTAsMHg0MywweDQ4LDB4MDQgfSB9LAoteyAgMTYsIDB4YmZkMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDEsMHhhMiwweDgwLDB4ZmUsMHg0MCwweDNlLDB4MDAgfSB9LAoteyAgMTYsIDB4YmZlMCwgMCwgezB4MGYsMHhmMCwweDYzLDB4ZWMsMHgwMCwweGJmLDB4YzQsMHgxNywweDQyLDB4MGYsMHhmMCwweDAzLDB4ZWMsMHgwMCwweGZmLDB4MDAgfSB9LAoteyAgMTYsIDB4YmZmMCwgMCwgezB4MWYsMHhjMSwweDBmLDB4YjAsMHgwMywweDVjLDB4MDAsMHhmYiwweDAwLDB4M2YsMHg0MCwweDRmLDB4ZjAsMHgwMCwweGI4LDB4MDAgfSB9LAoteyAgMTYsIDB4YzAwMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhNSwweDAyLDB4YzgsMHgwMCwweDNlLDB4OTAgfSB9LAoteyAgMTYsIDB4YzAxMCwgMCwgezB4MmMsMHhiMCwweDBiLDB4MDEsMHgwNiwweGNiLDB4MDEsMHgzZSwweDUwLDB4NWYsMHhiMCwweDEzLDB4MjEsMHgxMCwweGNiLDB4MDAgfSB9LAoteyAgMTYsIDB4YzAyMCwgMCwgezB4N2UsMHhjMCwweDBjLDB4YjAsMHgwYiwweDJjLDB4MDAsMHhjYiwweDAwLDB4MzIsMHhjMCwweDBjLDB4OTAsMHgwMywweDEwLDB4MDQgfSB9LAoteyAgMTYsIDB4YzAzMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM4LDB4MDUsMHgyOCwweDAxLDB4OGIsMHhkMCwweDJjLDB4MzQgfSB9LAoteyAgMTYsIDB4YzA0MCwgMCwgezB4NDgsMHhmZiwweDAyLDB4MzAsMHgwMCwweGFhLDB4MDQsMHgyZSwweDY5LDB4MGYsMHhmMCwweDAzLDB4NjgsMHgxMCwweGRmLDB4MDAgfSB9LAoteyAgMTYsIDB4YzA1MCwgMCwgezB4MmYsMHhkNCwweDBkLDB4ZjAsMHgwMiwweDNlLDB4MDAsMHg1ZiwweDA0LDB4YjYsMHhjMCwweDA4LDB4YjAsMHgwMywweDcyLDB4MDAgfSB9LAoteyAgMTYsIDB4YzA2MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg2OSwweDkwLDB4ODEsMHg4MCwweDJjLDB4MDAgfSB9LAoteyAgMTYsIDB4YzA3MCwgMCwgezB4NDgsMHhiOCwweDAyLDB4MDgsMHgwOSwweDk5LDB4MDAsMHg0YywweGIwLDB4MGIsMHgzMCwweDAyLDB4MGMsMHgwMCwweDhiLDB4MDAgfSB9LAoteyAgMTYsIDB4YzA4MCwgMCwgezB4MmMsMHhjMCwweDA5LDB4YjAsMHg0MCwweDBjLDB4NDAsMHg4MywweDAwLDB4MDAsMHg0MCwweDBhLDB4OTAsMHgwMiwweDMwLDB4MDAgfSB9LAoteyAgMTYsIDB4YzA5MCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIwLDB4MDEsMHgxNiwweDAwLDB4ODQsMHg4OCwweDJkLDB4ZTQgfSB9LAoteyAgMTYsIDB4YzBhMCwgMCwgezB4NDgsMHgzOSwweDAyLDB4MTYsMHgwMCwweGI0LDB4ODAsMHgyZCwweGUwLDB4MGEsMHg3YiwweDA2LDB4NWUsMHgwMCwweDk3LDB4ODAgfSB9LAoteyAgMTYsIDB4YzBiMCwgMCwgezB4MmQsMHhlMiwweDA5LDB4NzgsMHgwMiwweDFlLDB4OTAsMHg5NywweDgwLDB4MjUsMHg2NCwweDhhLDB4NzgsMHgwMiwweDQ4LDB4MDAgfSB9LAoteyAgMTYsIDB4YzBjMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwZCwweDAwLDB4ODEsMHgxMCwweDJjLDB4OTYgfSB9LAoteyAgMTYsIDB4YzBkMCwgMCwgezB4MDgsMHgzMSwweDIzLDB4MGMsMHgwMCwweDkwLDB4MjAsMHgzYywweGM0LDB4MWIsMHhiOCwweDAyLDB4MDgsMHg0MCwweGMzLDB4MDAgfSB9LAoteyAgMTYsIDB4YzBlMCwgMCwgezB4MmMsMHhjNCwweDBkLDB4MzAsMHgwMywweDBlLDB4NDAsMHhjMywweDEwLDB4MzAsMHhjMCwweDRlLDB4MTAsMHgwNywweDFhLDB4MTIgfSB9LAoteyAgMTYsIDB4YzBmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MWQsMHhiYywweDAwLDB4N2QsMHgwNSwweDNmLDB4YzUgfSB9LAoteyAgMTYsIDB4YzEwMCwgMCwgezB4MGYsMHhiMSwweDBiLDB4ZjQsMHgwMCwweGVmLDB4MDAsMHgxZiwweDQ1LDB4MGYsMHhmMCwweDQzLDB4ZmMsMHgwMSwweGZmLDB4NDAgfSB9LAoteyAgMTYsIDB4YzExMCwgMCwgezB4M2QsMHhjNCwweDFmLDB4ZjAsMHgwNiwweGZjLDB4MTAsMHhmZiwweDAwLDB4M2IsMHhjMSwweDJkLDB4ZjEsMHgwMywweGQwLDB4MDYgfSB9LAoteyAgMTYsIDB4YzEyMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlYywweDA0LDB4Y2IsMHgwNCwweDNlLDB4YTAgfSB9LAoteyAgMTYsIDB4YzEzMCwgMCwgezB4NDQsMHhiNiwweDAzLDB4MjgsMHgwNCwweGNiLDB4ODAsMHgzMiwweDgwLDB4MGYsMHhiMywweDkzLDB4NjAsMHgwOCwweGZiLDB4MjAgfSB9LAoteyAgMTYsIDB4YzE0MCwgMCwgezB4M2UsMHhkMiwweDFmLDB4YjMsMHgwMywweDJkLDB4ODAsMHhmYiwweDYxLDB4N2UsMHg0MCwweDhjLDB4OTgsMHgwMywweDJhLDB4MDAgfSB9LAoteyAgMTYsIDB4YzE1MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MTEsMHg4NCwweDBjLDB4ODYsMHgwNSwweDJkLDB4YzAgfSB9LAoteyAgMTYsIDB4YzE2MCwgMCwgezB4MDgsMHhmNCwweDgyLDB4OGMsMHg5MCwweDg1LDB4MDAsMHhhMSwweGMwLDB4MGIsMHhmMCwweDAyLDB4NWMsMHgwMCwweDM3LDB4MDAgfSB9LAoteyAgMTYsIDB4YzE3MCwgMCwgezB4MmQsMHhkMCwweDBiLDB4NzEsMHgwMiwweDFjLDB4YzgsMHhiNywweDQ4LDB4MmQsMHg0MCwweDBhLDB4NzAsMHgwMiwweDEyLDB4MDQgfSB9LAoteyAgMTYsIDB4YzE4MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZSwweDAwLDB4ODcsMHg4MCwweDJkLDB4YTEgfSB9LAoteyAgMTYsIDB4YzE5MCwgMCwgezB4NjAsMHg3OCwweDRhLDB4MTYsMHhkMCwweGE3LDB4ODAsMHgyOSwweGUwLDB4MGIsMHg3OCwweDUyLDB4OTYsMHgwMSwweGI3LDB4OTAgfSB9LAoteyAgMTYsIDB4YzFhMCwgMCwgezB4MmQsMHhlOCwweDBiLDB4N2EsMHgyMiwweDVlLDB4NDAsMHhiNywweGEwLDB4MmYsMHhlMSwweDQ4LDB4NTAsMHgyMiwweDMwLDB4MDAgfSB9LAoteyAgMTYsIDB4YzFiMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MTQsMHhjYywweDEwLDB4ODMsMHg4NCwweDJjLDB4YzAgfSB9LAoteyAgMTYsIDB4YzFjMCwgMCwgezB4MDgsMHgzMCwweDAyLDB4YTQsMHgxMCwweDgzLDB4Y2IsMHgyOCwweGUwLDB4MGIsMHgzMCwweDJhLDB4NGYsMHg0MCwweDkzLDB4MDAgfSB9LAoteyAgMTYsIDB4YzFkMCwgMCwgezB4MmMsMHhjMCwweDBiLDB4MzAsMHgwMiwweDRjLDB4MTAsMHhiMywweDAyLDB4MmMsMHhjMCwweGFhLDB4MzAsMHgwMiwweDEyLDB4MDQgfSB9LAoteyAgMTYsIDB4YzFlMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhiOCwweDAwLDB4Y2UsMHhhMCwweDNmLDB4ODAgfSB9LAoteyAgMTYsIDB4YzFmMCwgMCwgezB4NGMsMHhhMCwweDJiLDB4M2EsMHgwMCwweGNlLDB4NDAsMHgzYiwweGI4LDB4MGYsMHhhMCwweDAzLDB4YjksMHgwMCwweGJhLDB4MDAgfSB9LAoteyAgMTYsIDB4YzIwMCwgMCwgezB4M2UsMHg4MCwweDBmLDB4YTAsMHgwMywweDY4LDB4MDAsMHhmYSwweDAwLDB4N2UsMHg4MCwweDFjLDB4YTAsMHgwYiwweDNhLDB4MDQgfSB9LAoteyAgMTYsIDB4YzIxMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDAsMHhlMCwweDAyLDB4ZjgsMHgwMCwweDNlLDB4MDQgfSB9LAoteyAgMTYsIDB4YzIyMCwgMCwgezB4OGYsMHgwMCwweDAzLDB4ZTAsMHg0YSwweGY4LDB4MTAsMHgyNiwweDE4LDB4MGYsMHg4MCwweDAzLDB4YTAsMHg4MCwweGY4LDB4MDIgfSB9LAoteyAgMTYsIDB4YzIzMCwgMCwgezB4M2UsMHgwMCwweDhmLDB4MDAsMHgwYiwweGEwLDB4MDAsMHhmOCwweDAyLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgxMywweGQyLDB4MDAgfSB9LAoteyAgMTYsIDB4YzI0MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDIwLDB4YzksMHgwMCwweDMyLDB4NDAgfSB9LAoteyAgMTYsIDB4YzI1MCwgMCwgezB4NGQsMHg5OSwweDAzLDB4MjQsMHgwMCwweGM5LDB4MDIsMHgzZSwweDY4LDB4MGYsMHg5MCwweDAyLDB4MjQsMHgwMCwweGU5LDB4MDAgfSB9LAoteyAgMTYsIDB4YzI2MCwgMCwgezB4MzAsMHg0MCwweDhjLDB4OTAsMHgwMywweDA0LDB4NDAsMHhjOSwweDAwLDB4M2UsMHg0MCwweDBjLDB4OTAsMHgwMywweDAyLDB4MDQgfSB9LAoteyAgMTYsIDB4YzI3MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDQsMHg2NCwweDIwLDB4ODksMHgwNiwweDIyLDB4NTAgfSB9LAoteyAgMTYsIDB4YzI4MCwgMCwgezB4OGIsMHg5YywweGMyLDB4MjQsMHgwMCwweGQ5LDB4MDEsMHgyZSwweDQwLDB4MGIsMHg5MCwweDQyLDB4MjQsMHgwOCwweGI5LDB4MDEgfSB9LAoteyAgMTYsIDB4YzI5MCwgMCwgezB4MjIsMHg0NiwweDBkLDB4OTAsMHgwYSwweDI2LDB4MDIsMHg4OSwweDAwLDB4MmMsMHg0MCwweDBhLDB4MTAsMHgwMiwweDIwLDB4MDAgfSB9LAoteyAgMTYsIDB4YzJhMCwgMCwgezB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDEsMHgwNiwweDAwLDB4OTEsMHg0MCwweDQyLDB4NzAgfSB9LAoteyAgMTYsIDB4YzJiMCwgMCwgezB4MGIsMHg5MCwweDEyLDB4MmMsMHgwMiwweDhiLDB4MDAsMHgyZSwweDQwLDB4MGIsMHgxMCwweDIyLDB4ZTQsMHgxMCwweGIxLDB4MDAgfSB9LAoteyAgMTYsIDB4YzJjMCwgMCwgezB4YTIsMHg0MCwweDQ4LDB4OTAsMHgxMiwweDI0LDB4MDgsMHg5OSwweDAyLDB4MmUsMHg0MCwweDA4LDB4OTAsMHgwMiwweDA2LDB4MDAgfSB9LAoteyAgMTYsIDB4YzJkMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDQsMHgwNCwweDkyLDB4OTEsMHgyMCwweGUwLDB4NDggfSB9LAoteyAgMTYsIDB4YzJlMCwgMCwgezB4MGIsMHgxMiwweDAyLDB4MDQsMHgwMiwweDkxLDB4MTAsMHgyYywweGMwLDB4MGIsMHgxMCwweDA2LDB4ODQsMHhjMCwweGIxLDB4MTAgfSB9LAoteyAgMTYsIDB4YzJmMCwgMCwgezB4MjAsMHg0OCwweDg5LDB4MTEsMHgwMiwweDA1LDB4ODAsMHg5MSwweDQwLDB4MmUsMHg0NCwweDJhLDB4OTQsMHgwMiwweDAyLDB4MDEgfSB9LAoteyAgMTYsIDB4YzMwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MSwweDQwLDB4ZDgsMHg1MCwweDMwLDB4MTQgfSB9LAoteyAgMTYsIDB4YzMxMCwgMCwgezB4MGYsMHg4NSwweDBiLDB4MjEsMHhlMCwweDgwLDB4NDAsMHgzZSwweDAwLDB4MGYsMHg4NywweDhiLDB4ZTEsMHgwYywweGY4LDB4NmMgfSB9LAoteyAgMTYsIDB4YzMyMCwgMCwgezB4MzIsMHgwMCwweDg0LDB4MDYsMHg4MywweDIwLDB4MDQsMHhkOCwweDI4LDB4M2UsMHgxMCwweDBjLDB4MDAsMHgwMywweDJlLDB4MDMgfSB9LAoteyAgMTYsIDB4YzMzMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDk4LDB4MWQsMHhmNCwweDQwLDB4YWQsMHgxMCwweDNmLDB4NDUgfSB9LAoteyAgMTYsIDB4YzM0MCwgMCwgezB4MGYsMHg5MSwweDAzLDB4ZmMsMHgxOCwweDdkLDB4MjAsMHgxZiwweDQxLDB4MGYsMHg5MCwweDAzLDB4NzQsMHhjMCwweGY5LDB4MjEgfSB9LAoteyAgMTYsIDB4YzM1MCwgMCwgezB4M2UsMHg0NCwweDBmLDB4OTIsMHgwMSwweGU0LDB4NDAsMHhlOSwweDAwLDB4M2QsMHg0OCwweDRmLDB4ZDAsMHgwMywweGU2LDB4MDYgfSB9LAoteyAgMTYsIDB4YzM2MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhmNywweDgwLDB4ZmQsMHhlMCwweDMzLDB4NzAgfSB9LAoteyAgMTYsIDB4YzM3MCwgMCwgezB4MGMsMHhkYSwweDAzLDB4MjYsMHgyMCwweGM5LDB4NDAsMHgzMSwweDQwLDB4MGUsMHg5YSwweDAzLDB4MjQsMHgwMCwweGY5LDB4ODAgfSB9LAoteyAgMTYsIDB4YzM4MCwgMCwgezB4M2IsMHg2MCwweDBmLDB4OWMsMHg4MywweDM2LDB4YTAsMHhmOSwweGExLDB4YjAsMHg0MCwweDBmLDB4OTEsMHgwMywweGM2LDB4MDAgfSB9LAoteyAgMTYsIDB4YzM5MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDM4LDB4MTAsMHhlMiwweDkwLDB4YjgsMHhhMCwweDIyLDB4MjggfSB9LAoteyAgMTYsIDB4YzNhMCwgMCwgezB4MjgsMHg4OCwweDBhLDB4MjIsMHgwMiwweDg4LDB4YTAsMHgyMiwweDAwLDB4MDgsMHg4OCwweDAyLDB4YzIsMHg4MCwweGI4LDB4ODggfSB9LAoteyAgMTYsIDB4YzNiMCwgMCwgezB4MjIsMHgwNCwweDBiLDB4OGUsMHgwMywweDIyLDB4ODAsMHhiOCwweGQwLDB4MmEsMHgyMCwweDBiLDB4ODgsMHgwMiwweGNlLDB4MDQgfSB9LAoteyAgMTYsIDB4YzNjMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNSwweDgwLDB4YjEsMHg2MSwweDAwLDB4NTggfSB9LAoteyAgMTYsIDB4YzNkMCwgMCwgezB4NDgsMHgxNiwweDhhLDB4MDQsMHhhMCwweDg5LDB4MDEsMHgyMiwweDQwLDB4MWEsMHgxNCwweDg4LDB4MDQsMHgyMCwweGIxLDB4NDAgfSB9LAoteyAgMTYsIDB4YzNlMCwgMCwgezB4MjgsMHg0MCwweDBiLDB4MTAsMHgwYSwweDA0LDB4MjAsMHhiMSwweDJjLDB4MjAsMHg0YSwweDBiLDB4MTIsMHgwMiwweGMyLDB4MDEgfSB9LAoteyAgMTYsIDB4YzNmMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MTUsMHhhNSwweDkwLDB4YmIsMHg0MCwweDIwLDB4NDAgfSB9LAoteyAgMTYsIDB4YzQwMCwgMCwgezB4MDgsMHg5MCwweDAyLDB4MjQsMHg0MCwweDg5LDB4NDIsMHg2MiwweDU4LDB4MDgsMHgxMCwweDAyLDB4ZTUsMHgwMCwweGI5LDB4MDMgfSB9LAoteyAgMTYsIDB4YzQxMCwgMCwgezB4MjIsMHhjMCwweDBiLDB4OTAsMHgwMiwweGE0LDB4MTQsMHgzMSwweDAwLDB4MmEsMHg0NCwweDBiLDB4OTAsMHgwMiwweGM2LDB4MDQgfSB9LAoteyAgMTYsIDB4YzQyMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTAsMHhhNSwweDAwLDB4ZjksMHgwMSwweDMyLDB4NDAgfSB9LAoteyAgMTYsIDB4YzQzMCwgMCwgezB4OGMsMHg5MCwweDAzLDB4MjcsMHgwMCwweGMxLDB4OTQsMHgzMCwweDQwLDB4MGUsMHg5MCwweDAzLDB4MjQsMHgwMCwweGY5LDB4MDAgfSB9LAoteyAgMTYsIDB4YzQ0MCwgMCwgezB4M2EsMHg0MCwweDBmLDB4OTAsMHgwMywweDI0LDB4MDAsMHhmOSwweDAwLDB4MzIsMHg2MCwweDA3LDB4OTAsMHgyNywweGU4LDB4MDUgfSB9LAoteyAgMTYsIDB4YzQ1MCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDAsMHhhNCwweDE4LDB4ZjksMHgwMCwweGJlLDB4NDQgfSB9LAoteyAgMTYsIDB4YzQ2MCwgMCwgezB4MGYsMHg5MCwweDAzLDB4YzQsMHgwMCwweGY5LDB4MDAsMHhiZSwweDYxLDB4OGYsMHg5MCwweDAzLDB4YTQsMHgwMCwweGYxLDB4MDAgfSB9LAoteyAgMTYsIDB4YzQ3MCwgMCwgezB4MWUsMHg0MCwweDBmLDB4MTAsMHgwMywweDI0LDB4MDgsMHhmOSwweDAwLDB4N2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGNhLDB4MDAgfSB9LAoteyAgMTYsIDB4YzQ4MCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMSwweDgxLDB4ZjgsMHgwMCwweDMyLDB4MDQgfSB9LAoteyAgMTYsIDB4YzQ5MCwgMCwgezB4MGMsMHgwMCwweGQzLDB4MjEsMHgwMCwweGQ4LDB4MDQsMHgzYSwweDE0LDB4OWMsMHg4MCwweDAzLDB4MjEsMHgwMSwweGM4LDB4MDAgfSB9LAoteyAgMTYsIDB4YzRhMCwgMCwgezB4MzYsMHgwMCwweDBjLDB4ODAsMHgxMywweDIwLDB4MTAsMHhjOCwweDAwLDB4MzIsMHgwMCwweDJjLDB4ODAsMHgwMywweGNhLDB4MDQgfSB9LAoteyAgMTYsIDB4YzRiMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDQsMHgzYSwweDAwLDB4YmUsMHg4NCwweDIzLDB4ODUgfSB9LAoteyAgMTYsIDB4YzRjMCwgMCwgezB4MDgsMHhlYywweDgzLDB4NjgsMHgwNCwweDhhLDB4MDAsMHgyZiwweDkwLDB4NGQsMHhhMCwweDAyLDB4MjgsMHgwMSwweGRhLDB4MDAgfSB9LAoteyAgMTYsIDB4YzRkMCwgMCwgezB4MjMsMHhiMCwweDBhLDB4YTAsMHgwMiwweDJhLDB4MDgsMHhkYSwweDAxLDB4MjIsMHg4MCwweDBmLDB4YTAsMHgwMiwweGNhLDB4MDAgfSB9LAoteyAgMTYsIDB4YzRlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAwLDB4YmIsMHhmMCwweDIwLDB4YzAgfSB9LAoteyAgMTYsIDB4YzRmMCwgMCwgezB4MDgsMHgzYywweDBhLDB4MGMsMHgwMCwweDkzLDB4MDEsMHgyOCwweGM4LDB4ODksMHgzMCwweDA2LDB4NGMsMHgwMCwweDgzLDB4MDIgfSB9LAoteyAgMTYsIDB4YzUwMCwgMCwgezB4MmMsMHhmNiwweDA4LDB4MzAsMHgwMiwweDA0LDB4MDAsMHhhMywweDAwLDB4MjAsMHhjMCwweDBhLDB4MzAsMHgwMiwweGNhLDB4MDAgfSB9LAoteyAgMTYsIDB4YzUxMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIwLDB4MDEsMHgxZCwweDExLDB4YjMsMHgwMCwweGEwLDB4YzAgfSB9LAoteyAgMTYsIDB4YzUyMCwgMCwgezB4MDgsMHg1MCwweDAyLDB4NWMsMHgxMCwweDg3LDB4MDEsMHg2ZCwweDgxLDB4NDksMHgzMiwweDUyLDB4MWUsMHhjMywweDg3LDB4MDAgfSB9LAoteyAgMTYsIDB4YzUzMCwgMCwgezB4MjgsMHhlMCwweDBhLDB4MzIsMHgyNiwweDFmLDB4MDAsMHgzNywweDAwLDB4MjMsMHhlMCwweDBiLDB4NzIsMHgwMiwweGM4LDB4MDAgfSB9LAoteyAgMTYsIDB4YzU0MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDgsMHgxMiwweDAwLDB4YjcsMHg4MiwweDMxLDB4MjAgfSB9LAoteyAgMTYsIDB4YzU1MCwgMCwgezB4MDgsMHgwOCwweDM3LDB4MGYsMHgwOCwweGQ3LDB4ZTAsMHgzOSwweDYwLDB4MTksMHg3YSwweDBiLDB4NWUsMHgwYywweDgzLDB4YjIgfSB9LAoteyAgMTYsIDB4YzU2MCwgMCwgezB4N2QsMHhlMCwweDBjLDB4N2EsMHgwYiwweDNlLDB4MDIsMHhhZiwweGEwLDB4YjEsMHhlMCwweDBlLDB4N2EsMHgwMywweGNhLDB4MDIgfSB9LAoteyAgMTYsIDB4YzU3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MWQsMHhhMCwweDEwLDB4ZmIsMHgwMCwweDNlLDB4YzAgfSB9LAoteyAgMTYsIDB4YzU4MCwgMCwgezB4NmYsMHhiMCwweDQzLDB4ZWMsMHgxMSwweGZiLDB4MDAsMHgzZSwweDQwLDB4MGYsMHhiNSwweDAzLDB4ZWMsMHgyMCwweGZiLDB4NTAgfSB9LAoteyAgMTYsIDB4YzU5MCwgMCwgezB4MzYsMHgwMCwweDBmLDB4YjUsMHg0MywweGU1LDB4YTEsMHhkYiwweDc4LDB4M2UsMHhjMCwweDBmLDB4YjQsMHgwMywweGMyLDB4MDYgfSB9LAoteyAgMTYsIDB4YzVhMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDUsMHhmZSwweDAwLDB4ZmYsMHhhMCwweDNmLDB4YTAgfSB9LAoteyAgMTYsIDB4YzViMCwgMCwgezB4MGQsMHhjOSwweDEzLDB4M2UsMHgwMCwweGNmLDB4ZDAsMHgzZCwweGU4LDB4MDIsMHhmZiwweDEzLDB4M2UsMHgwMCwweGNmLDB4ODIgfSB9LAoteyAgMTYsIDB4YzVjMCwgMCwgezB4M2YsMHg2MCwweDBjLDB4ZmMsMHgyMywweDNlLDB4MTAsMHhlZiwweDgwLDB4MzMsMHhmMiwweDBjLDB4ZmMsMHg4MywweDEwLDB4MDAgfSB9LAoteyAgMTYsIDB4YzVkMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTEsMHg5YywweDQwLDB4YjUsMHgwMSwweDJkLDB4ZDAgfSB9LAoteyAgMTYsIDB4YzVlMCwgMCwgezB4MDgsMHg1OCwweDAyLDB4MWMsMHg0MCwweDU3LDB4MTAsMHgyZCwweDVhLDB4MjgsMHgzMSwweDAyLDB4YmMsMHgwMSwweDk3LDB4MTAgfSB9LAoteyAgMTYsIDB4YzVmMCwgMCwgezB4MmQsMHgwMCwweDBhLDB4NzAsMHgwMiwweDg0LDB4MDQsMHhjZiwweDAwLDB4MjksMHhjMCwweDBhLDB4ZjAsMHgwMiwweDJhLDB4MDQgfSB9LAoteyAgMTYsIDB4YzYwMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5MCwweDAwLDB4YjcsMHgyYSwweDJkLDB4ODIgfSB9LAoteyAgMTYsIDB4YzYxMCwgMCwgezB4MDgsMHg0MiwweDIyLDB4M2MsMHgwMCwweDg3LDB4MTEsMHgwZCwweGNjLDB4ODgsMHgzMiwweDAyLDB4MWQsMHgwMCwweDk3LDB4MDAgfSB9LAoteyAgMTYsIDB4YzYyMCwgMCwgezB4MmMsMHhjNCwweDA4LDB4MzAsMHgwMiwweDE0LDB4MDAsMHhhNywweDAwLDB4MjMsMHhjMCwweDA5LDB4NzAsMHg4MiwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4YzYzMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDYwLDB4MTQsMHhjMCwweDIwLDB4YjAsMHgyMCwweDJjLDB4NTAgfSB9LAoteyAgMTYsIDB4YzY0MCwgMCwgezB4MDgsMHgxMCwweDAyLDB4MmQsMHhjMCwweDkzLDB4ZTIsMHgyYywweDIxLDB4MDgsMHgzMCwweDAyLDB4MGUsMHgwOCwweDkzLDB4MDAgfSB9LAoteyAgMTYsIDB4YzY1MCwgMCwgezB4MmMsMHg0MCwweDBhLDB4MzAsMHgwMiwweDhjLDB4MDAsMHg5MywweDAwLDB4MmEsMHhjMCwweDBiLDB4MzAsMHgwMiwweDE4LDB4MDQgfSB9LAoteyAgMTYsIDB4YzY2MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhhYywweDAwLDB4ZjgsMHhjMCwweDNlLDB4ODAgfSB9LAoteyAgMTYsIDB4YzY3MCwgMCwgezB4MmMsMHhhMCwweDBiLDB4M2YsMHgwMCwweGM3LDB4NjAsMHgzZSwweGQwLDB4MGMsMHhmMCwweDBiLDB4M2MsMHgwMCwweGNmLDB4MDAgfSB9LAoteyAgMTYsIDB4YzY4MCwgMCwgezB4M2UsMHg4MCwweDBjLDB4ZjAsMHgwYiwweDJjLDB4MDAsMHhlZiwweDAwLDB4MzMsMHhjMSwweDBkLDB4ZjAsMHgwYiwweDJhLDB4MDQgfSB9LAoteyAgMTYsIDB4YzY5MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDAsMHhlYywweDQwLDB4ZjMsMHg0MCwweDNlLDB4NTAgfSB9LAoteyAgMTYsIDB4YzZhMCwgMCwgezB4OGUsMHhiNCwweDAzLDB4ZWMsMHgxMCwweGZiLDB4MDAsMHgzZSwweDA5LDB4MGYsMHhiMCwweDEzLDB4ZWMsMHg0MiwweGViLDB4MDAgfSB9LAoteyAgMTYsIDB4YzZiMCwgMCwgezB4M2MsMHgwMCwweDhmLDB4YjAsMHgxMywweGM0LDB4MTEsMHhlMywweDAwLDB4M2UsMHhjMCwweDBlLDB4YjAsMHgwMywweGUwLDB4MDAgfSB9LAoteyAgMTYsIDB4YzZjMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmYywweDAwLDB4ZmMsMHg4MCwweDMxLDB4MjIgfSB9LAoteyAgMTYsIDB4YzZkMCwgMCwgezB4MGMsMHhhOCwweDAzLDB4M2MsMHgwMCwweGNmLDB4MDAsMHgzMywweGEwLDB4MGUsMHhmMCwweDAzLDB4ZGMsMHgwMCwweGNmLDB4MDAgfSB9LAoteyAgMTYsIDB4YzZlMCwgMCwgezB4MWYsMHhmMCwweDBjLDB4ZjAsMHgwMywweGY0LDB4MDAsMHhjZiwweDAyLDB4MzMsMHhjMCwweDBjLDB4ZjAsMHgwMiwweDAwLDB4NTQgfSB9LAoteyAgMTYsIDB4YzZmMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgxLDB4MDQsMHg2ZiwweDAwLDB4YmIsMHhjMCwweDIyLDB4NzAgfSB9LAoteyAgMTYsIDB4YzcwMCwgMCwgezB4MGEsMHhiOSwweDQyLDB4MmMsMHgxMCwweDhiLDB4MDAsMHg3NiwweDExLDB4ODMsMHhiMCwweDAyLDB4ZWMsMHgxMCwweGFiLDB4MDAgfSB9LAoteyAgMTYsIDB4YzcxMCwgMCwgezB4MmUsMHhiMCwweDBhLDB4YjAsMHgwMywweGVjLDB4MDQsMHg4YiwweDAwLDB4YTIsMHhjMCwweDI4LDB4YjAsMHgwMiwweDIwLDB4NDAgfSB9LAoteyAgMTYsIDB4YzcyMCwgMCwgezB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHg2NSwweDQwLDB4YjgsMHgyMCwweDIyLDB4NDQgfSB9LAoteyAgMTYsIDB4YzczMCwgMCwgezB4NTgsMHgzNCwweDBhLDB4MmMsMHgwMCwweDhiLDB4MDAsMHgyMiwweDg0LDB4NGIsMHhiMCwweDAyLDB4ZWMsMHgwMCwweDhiLDB4MDAgfSB9LAoteyAgMTYsIDB4Yzc0MCwgMCwgezB4NmUsMHhjMCwweDA4LDB4YjAsMHg0MiwweGU2LDB4MDQsMHg4YiwweDAwLDB4MDIsMHhjMCwweDA4LDB4MzAsMHgwMiwweGEwLDB4MDEgfSB9LAoteyAgMTYsIDB4Yzc1MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBjLDB4MDAsMHgwMCwweDAwLDB4YjEsMHgwMCwweDIwLDB4YzAgfSB9LAoteyAgMTYsIDB4Yzc2MCwgMCwgezB4MGEsMHgzMCwweDBhLDB4MGMsMHgwMCwweDhiLDB4MDMsMHgyNCwweDgwLDB4MGIsMHgzMCwweDAyLDB4Y2MsMHgwMCwweGEzLDB4MDAgfSB9LAoteyAgMTYsIDB4Yzc3MCwgMCwgezB4NmMsMHgwMCwweDBhLDB4MzAsMHgwMiwweDhkLDB4MDAsMHg4MywweDAwLDB4MjAsMHhjMCwweDE4LDB4MzAsMHgwMiwweDgyLDB4MDAgfSB9LAoteyAgMTYsIDB4Yzc4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHg2NCwweDAwLDB4ZjgsMHgwMCwweDMwLDB4MDAgfSB9LAoteyAgMTYsIDB4Yzc5MCwgMCwgezB4NGMsMHhhMCwweDBiLDB4MmMsMHgwMiwweGNmLDB4MDAsMHgyMiwweDQwLDB4MGUsMHhmNSwweDAzLDB4ZmMsMHgwMCwweGNmLDB4MDEgfSB9LAoteyAgMTYsIDB4YzdhMCwgMCwgezB4M2UsMHgwMCwweDBjLDB4ZjAsMHgxMiwweGRkLDB4MDIsMHhjZiwweDAyLDB4MzMsMHhjMCwweDRjLDB4ZjAsMHgwYiwweDgwLDB4MDMgfSB9LAoteyAgMTYsIDB4YzdiMCwgMCwgezB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE0LDB4MTksMHhmMCwweDAwLDB4ZmMsMHgwMCwweDNmLDB4NDAgfSB9LAoteyAgMTYsIDB4YzdjMCwgMCwgezB4MGYsMHhiMSwweDAzLDB4ZGMsMHgwMCwweGJmLDB4MDEsMHgzZiwweDAwLDB4MGYsMHhmMiwweDIzLDB4ZmMsMHgxMCwweGZmLDB4MDAgfSB9LAoteyAgMTYsIDB4YzdkMCwgMCwgezB4M2YsMHgwMCwweDBmLDB4ZjAsMHgwMSwweGY0LDB4ODQsMHhmZiwweDAwLDB4M2QsMHhjMCwweDRmLDB4ZjAsMHgxMywweDY4LDB4MDYgfSB9LAoteyAgMTYsIDB4YzdlMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmZSwweDQwLDB4ZGYsMHg4MCwweDMzLDB4YzggfSB9LAoteyAgMTYsIDB4YzdmMCwgMCwgezB4MGMsMHhmOCwweDAzLDB4M2MsMHgwYSwweDlmLDB4YzAsMHgzZiwweGYwLDB4MDgsMHhiOCwweDAyLDB4M2UsMHgwMCwweGZmLDB4ODAgfSB9LAoteyAgMTYsIDB4YzgwMCwgMCwgezB4M2YsMHhkOCwweDBjLDB4ZjksMHg2MSwweDJlLDB4NDAsMHg2ZiwweDkwLDB4M2YsMHhlNCwweDhmLDB4ZjEsMHg4MywweDMwLDB4MDAgfSB9LAoteyAgMTYsIDB4YzgxMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MTAsMHhlYywweDA0LDB4OGIsMHg4MCwweDIzLDB4ZjAgfSB9LAoteyAgMTYsIDB4YzgyMCwgMCwgezB4MDgsMHhiOCwweDAyLDB4M2QsMHg0MCwweGFiLDB4MDAsMHgwZSwweDA4LDB4NDgsMHgyMiwweDgyLDB4NmMsMHgyMCwweGJiLDB4MDAgfSB9LAoteyAgMTYsIDB4YzgzMCwgMCwgezB4MmYsMHhkMCwweDQ4LDB4YjAsMHgwMiwweDJjLDB4MDAsMHhiYiwweDAwLDB4MmUsMHhjMSwweDBiLDB4YjAsMHgwMiwweDMwLDB4MDQgfSB9LAoteyAgMTYsIDB4Yzg0MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDAyLDB4ODMsMHgwMSwweGEwLDB4YzUgfSB9LAoteyAgMTYsIDB4Yzg1MCwgMCwgezB4MDgsMHhiMCwweDRhLDB4NGMsMHhhMCwweDgwLDB4MjQsMHgyOCwweGM4LDB4MDksMHgzMiwweDAyLDB4NGMsMHgwMCwweGIzLDB4MDggfSB9LAoteyAgMTYsIDB4Yzg2MCwgMCwgezB4MmUsMHhkMSwweDI5LDB4YjIsMHgzYSwweDBjLDB4ODQsMHhhMywweDIxLDB4MmMsMHhjOCwweDRiLDB4YjIsMHgwYSwweDMyLDB4MDEgfSB9LAoteyAgMTYsIDB4Yzg3MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MTUsMHhhYywweDA4LDB4OGIsMHgwMCwweDIyLDB4YzAgfSB9LAoteyAgMTYsIDB4Yzg4MCwgMCwgezB4MDgsMHhiMCwweDAyLDB4NGMsMHgwMCwweDg4LDB4MjEsMHgyNCwweDIxLDB4MDksMHhiMCwweDQ2LDB4NmMsMHgwMCwweGJiLDB4MDYgfSB9LAoteyAgMTYsIDB4Yzg5MCwgMCwgezB4MmUsMHhjMCwweDA5LDB4YjAsMHgwMiwweDJjLDB4MTAsMHhiYiwweDAwLDB4MmUsMHhjMCwweDBiLDB4YjAsMHgwMiwweDMwLDB4MDQgfSB9LAoteyAgMTYsIDB4YzhhMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlYywweDAwLDB4Y2IsMHgwMCwweDMyLDB4YzAgfSB9LAoteyAgMTYsIDB4YzhiMCwgMCwgezB4MGMsMHhiOSwweDAyLDB4NmMsMHgwMCwweGNiLDB4YzgsMHgzYSwweGMwLDB4MmQsMHg5MCwweDBiLDB4MmMsMHgwOCwweGZiLDB4MDAgfSB9LAoteyAgMTYsIDB4YzhjMCwgMCwgezB4M2UsMHhjMCwweDBkLDB4MzAsMHg0MiwweDJjLDB4MDAsMHhlYiwweDAwLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgxMywweDAwLDB4MDQgfSB9LAoteyAgMTYsIDB4YzhkMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDEsMHhiYywweDAwLDB4ZWYsMHgwMCwweDNkLDB4YzAgfSB9LAoteyAgMTYsIDB4YzhlMCwgMCwgezB4MGYsMHhmMCwweDAzLDB4YmMsMHgwNiwweGVmLDB4ODIsMHgzZiwweDQwLDB4NGUsMHhjOSwweDgzLDB4YmMsMHgwMCwweGZmLDB4MDAgfSB9LAoteyAgMTYsIDB4YzhmMCwgMCwgezB4N2YsMHhjMCwweDFjLDB4ZjAsMHgxMywweDdjLDB4MDAsMHhmZiwweDA0LDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGY4LDB4MDAgfSB9LAoteyAgMTYsIDB4YzkwMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhYywweDAwLDB4ZmIsMHgwMiwweDNlLDB4YzAgfSB9LAoteyAgMTYsIDB4YzkxMCwgMCwgezB4MGUsMHhiMCwweDAzLDB4YWMsMHgyMCwweGQ4LDB4NDAsMHgzZSwweGMwLDB4OGMsMHg5MCwweDBiLDB4MmMsMHgwMCwweGZiLDB4MDAgfSB9LAoteyAgMTYsIDB4YzkyMCwgMCwgezB4M2UsMHhjOSwweDBkLDB4YjAsMHgzMywweGVjLDB4MDgsMHhmYiwweDAyLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgwYiwweDU0LDB4MDQgfSB9LAoteyAgMTYsIDB4YzkzMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM4LDB4MDUsMHgyYywweDAwLDB4YjMsMHgwMCwweDJmLDB4YzAgfSB9LAoteyAgMTYsIDB4Yzk0MCwgMCwgezB4MGIsMHgzMCwweDEyLDB4ZmMsMHgwMCwweDg4LDB4YTAsMHgyZSwweDQwLDB4MjgsMHg5NCwweDAyLDB4MmMsMHgxMCwweGJiLDB4MDQgfSB9LAoteyAgMTYsIDB4Yzk1MCwgMCwgezB4MmQsMHhjMCwweDI4LDB4YjAsMHgwMiwweGVjLDB4MDAsMHhiYiwweDAwLDB4MmUsMHhjMCwweDBiLDB4NzIsMHgwNiwweDMyLDB4MDAgfSB9LAoteyAgMTYsIDB4Yzk2MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg2YywweDAwLDB4YjMsMHgwMCwweDJjLDB4ZTAgfSB9LAoteyAgMTYsIDB4Yzk3MCwgMCwgezB4MGEsMHgxMCwweDAyLDB4Y2QsMHgwMCwweDkzLDB4MDAsMHgyYywweGMwLDB4MDgsMHhiMCwweDAyLDB4NGMsMHgwMCwweGIzLDB4MDAgfSB9LAoteyAgMTYsIDB4Yzk4MCwgMCwgezB4MjgsMHhjMCwweDA4LDB4MzAsMHgwMiwweGNjLDB4MDAsMHhiMywweDAwLDB4MmMsMHhjMCwweDBiLDB4MzAsMHgwMiwweDNhLDB4MDAgfSB9LAoteyAgMTYsIDB4Yzk5MCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIwLDB4MDEsMHgxZSwweDQwLDB4YjcsMHg4MCwweDJkLDB4ZTIgfSB9LAoteyAgMTYsIDB4YzlhMCwgMCwgezB4MGIsMHg1OCwweDAyLDB4ZGUsMHgwMiwweDk3LDB4ODEsMHgyZiwweGEwLDB4MDgsMHg2OCwweDAyLDB4NWUsMHgwMCwweGI3LDB4ODEgfSB9LAoteyAgMTYsIDB4YzliMCwgMCwgezB4MmYsMHhlMCwweDA4LDB4NzksMHgwMiwweGRlLDB4MDAsMHhiNywweDgxLDB4MmQsMHhlMCwweDBiLDB4NzgsMHgwMiwweDNjLDB4MDAgfSB9LAoteyAgMTYsIDB4YzljMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDAwLDB4ZjMsMHgwMCwweDNjLDB4YzAgfSB9LAoteyAgMTYsIDB4YzlkMCwgMCwgezB4MGUsMHgzMiwweDAzLDB4Y2MsMHg4MCwweGQzLDB4MDAsMHgzYywweGM0LDB4MGMsMHgzOSwweDAzLDB4NGMsMHgwOCwweGYzLDB4MWEgfSB9LAoteyAgMTYsIDB4YzllMCwgMCwgezB4M2MsMHhjNiwweDBkLDB4MzAsMHgwMywweGNlLDB4MjAsMHhmMywweDA4LDB4M2MsMHhjMCwweDBmLDB4MzAsMHgwMywweDUyLDB4MDIgfSB9LAoteyAgMTYsIDB4YzlmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MWQsMHhhYywweDAwLDB4ZmIsMHgwMCwweDJlLDB4YzAgfSB9LAoteyAgMTYsIDB4Y2EwMCwgMCwgezB4MGIsMHhiMCwweDAzLDB4Y2MsMHgyMCwweGViLDB4MDAsMHgzYywweDgwLDB4MGYsMHhiMCwweDQxLDB4YWMsMHgwMCwweGZiLDB4MDAgfSB9LAoteyAgMTYsIDB4Y2ExMCwgMCwgezB4M2MsMHhjMiwweDBmLDB4YjAsMHgwMywweGVjLDB4NDAsMHhmYiwweDAwLDB4M2UsMHhjMCwweDBmLDB4MzAsMHgwMywweGQwLDB4MDYgfSB9LAoteyAgMTYsIDB4Y2EyMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlZSwweDAyLDB4YzMsMHg4MCwweDMwLDB4Y2UgfSB9LAoteyAgMTYsIDB4Y2EzMCwgMCwgezB4MGQsMHg5OCwweDAzLDB4YWMsMHhhMCwweGMzLDB4ODAsMHhiMiwweGMwLDB4MGYsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGZiLDB4MDAgfSB9LAoteyAgMTYsIDB4Y2E0MCwgMCwgezB4M2UsMHhkMiwweDRmLDB4YjAsMHgwOSwweDJlLDB4MDgsMHg0YiwweDAxLDB4M2UsMHhjMCwweDI0LDB4YjAsMHgwMywweGVhLDB4MDAgfSB9LAoteyAgMTYsIDB4Y2E1MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MTEsMHg5YywweDAwLDB4ODcsMHgwMSwweDIxLDB4YzAgfSB9LAoteyAgMTYsIDB4Y2E2MCwgMCwgezB4NDgsMHg1MCwweDEyLDB4NGMsMHgwMCwweDg3LDB4MDAsMHgzNSwweGMwLDB4NGIsMHg2MCwweDAyLDB4ZGMsMHgwNCwweGI3LDB4MDEgfSB9LAoteyAgMTYsIDB4Y2E3MCwgMCwgezB4MmQsMHhjMCwweDBiLDB4NzAsMHgwMiwweDFjLDB4MDAsMHg4NywweDAwLDB4MmQsMHhjMSwweDBjLDB4NzIsMHgwMiwweGYyLDB4MDQgfSB9LAoteyAgMTYsIDB4Y2E4MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZSwweDAwLDB4ODcsMHg4MCwweDIzLDB4ZTAgfSB9LAoteyAgMTYsIDB4Y2E5MCwgMCwgezB4MDgsMHhmOCwweDAyLDB4ZGUsMHg4MCwweDhmLDB4ODEsMHgyMSwweGUwLDB4NGIsMHg3OCwweDEyLDB4ZGUsMHgwNCwweDM3LDB4ODAgfSB9LAoteyAgMTYsIDB4Y2FhMCwgMCwgezB4MmQsMHhlOCwweDBiLDB4ZjgsMHgwMiwweDNlLDB4MTgsMHg4NywweDgwLDB4MmYsMHhlMCwweDA5LDB4NzksMHgwMiwweGUwLDB4MDAgfSB9LAoteyAgMTYsIDB4Y2FiMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MTQsMHhjYywweDAwLDB4ODMsMHgwMCwweGEwLDB4YzAgfSB9LAoteyAgMTYsIDB4Y2FjMCwgMCwgezB4MjgsMHgzMCwweDQyLDB4NGMsMHgwMCwweDgzLDB4MDAsMHgyNCwweGMwLDB4MGIsMHgzOCwweDA2LDB4Y2MsMHgwNCwweGIzLDB4MDAgfSB9LAoteyAgMTYsIDB4Y2FkMCwgMCwgezB4MmMsMHhjMCwweDBiLDB4MzAsMHgwMiwweDBjLDB4MDIsMHg4MywweDAwLDB4MmMsMHhjMCwweDA4LDB4MzAsMHgwMiwweGQyLDB4MDQgfSB9LAoteyAgMTYsIDB4Y2FlMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOCwweDAwLDB4Y2EsMHgwMCwweDMxLDB4ODAgfSB9LAoteyAgMTYsIDB4Y2FmMCwgMCwgezB4MDgsMHhlMCwweDAyLDB4OTgsMHgwMiwweGNlLDB4MDAsMHgzMywweDg0LDB4MGIsMHhlYSwweDAzLDB4ZTgsMHgwMCwweGJhLDB4MDAgfSB9LAoteyAgMTYsIDB4Y2IwMCwgMCwgezB4M2YsMHg4MSwweDBmLDB4YTAsMHgwMywweDI4LDB4MDAsMHhjYSwweDAwLDB4M2UsMHg4MCwweDBkLDB4ZTAsMHgwMywweGZhLDB4MDQgfSB9LAoteyAgMTYsIDB4Y2IxMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDAsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDAgfSB9LAoteyAgMTYsIDB4Y2IyMCwgMCwgezB4MGUsMHg4NCwweDIzLDB4YTAsMHgwMCwweGY4LDB4MDAsMHgzYSwweDEwLDB4MGYsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGY4LDB4MDAgfSB9LAoteyAgMTYsIDB4Y2IzMCwgMCwgezB4M2UsMHgxMCwweDBmLDB4ODAsMHgxMywweGUwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBkLDB4ODAsMHgwMywweGQyLDB4MDAgfSB9LAoteyAgMTYsIDB4Y2I0MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDAxLDB4ZjksMHgwMCwweDNlLDB4NDAgfSB9LAoteyAgMTYsIDB4Y2I1MCwgMCwgezB4MGMsMHg5YSwweDEzLDB4ZTQsMHgwMCwweGM5LDB4MDAsMHgzZSwweDQwLDB4MGMsMHg5OCwweDIzLDB4ZTQsMHg4MCwweGY5LDB4MDAgfSB9LAoteyAgMTYsIDB4Y2I2MCwgMCwgezB4M2UsMHg0MCwweDJjLDB4OTgsMHgwMywweDY0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0MCwweDBjLDB4OTAsMHgwMywweGMyLDB4MDQgfSB9LAoteyAgMTYsIDB4Y2I3MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDQsMHg2NCwweDA0LDB4YjksMHgwMCwweDJlLDB4NDAgfSB9LAoteyAgMTYsIDB4Y2I4MCwgMCwgezB4NjgsMHg5YywweDIyLDB4ZTQsMHgwMiwweDg5LDB4MDEsMHg3YywweDUwLDB4OGQsMHg5OCwweDIyLDB4ZTQsMHg4MCwweGI5LDB4MjAgfSB9LAoteyAgMTYsIDB4Y2I5MCwgMCwgezB4MmUsMHg1MCwweDQ4LDB4MTAsMHgwYiwweDI1LDB4MDAsMHhiOSwweDQ0LDB4MmMsMHg0MCwweDI4LDB4OTAsMHgwMCwweGUwLDB4MDAgfSB9LAoteyAgMTYsIDB4Y2JhMCwgMCwgezB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDAwLDB4YjksMHgwMCwweDJlLDB4NTAgfSB9LAoteyAgMTYsIDB4Y2JiMCwgMCwgezB4MDgsMHg5MCwweDAyLDB4ZTQsMHgwNCwweDg5LDB4MDAsMHgyZSwweDUwLDB4MGEsMHg5MiwweDAyLDB4ZTQsMHgwMCwweGI5LDB4MDAgfSB9LAoteyAgMTYsIDB4Y2JjMCwgMCwgezB4MmMsMHg0MCwweDA4LDB4OTEsMHgwMiwweDI0LDB4MDAsMHhiOSwweDAwLDB4MmUsMHg0MCwweDA4LDB4OTAsMHgwMiwweGM2LDB4MDAgfSB9LAoteyAgMTYsIDB4Y2JkMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDQsMHgwNSwweDAwLDB4YjEsMHgwMSwweDJjLDB4NDAgfSB9LAoteyAgMTYsIDB4Y2JlMCwgMCwgezB4NDgsMHgzMCwweDAyLDB4ZTQsMHgwMCwweDgxLDB4MDAsMHgyYSwweDQwLDB4NGIsMHgxMCwweDAyLDB4YzQsMHgwMCwweGIxLDB4MDAgfSB9LAoteyAgMTYsIDB4Y2JmMCwgMCwgezB4MGMsMHhjMCwweDA4LDB4OTAsMHgwMiwweDBjLDB4MDAsMHhiMywweDAwLDB4MmUsMHg0MCwweDQ4LDB4MTIsMHgwMiwweGMyLDB4MDEgfSB9LAoteyAgMTYsIDB4Y2MwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDAwLDB4YjgsMHgwMSwweDNlLDB4MDAgfSB9LAoteyAgMTYsIDB4Y2MxMCwgMCwgezB4MWMsMHg4MCwweDA3LDB4ZTEsMHg1MCwweGM4LDB4NTAsMHgyZSwweDE0LDB4MWUsMHg4NSwweDAzLDB4ZTEsMHg0MSwweGY4LDB4NTAgfSB9LAoteyAgMTYsIDB4Y2MyMCwgMCwgezB4M2UsMHgxNCwweDBjLDB4ODUsMHgxMywweDIxLDB4NDgsMHhmOCwweDUwLDB4M2UsMHgxNCwweDBjLDB4ODUsMHg0MywweGVlLDB4MDMgfSB9LAoteyAgMTYsIDB4Y2MzMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDk4LDB4MTksMHhjNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NTEgfSB9LAoteyAgMTYsIDB4Y2M0MCwgMCwgezB4MGYsMHg1MCwweDAzLDB4ZTUsMHgwMCwweGZkLDB4MDAsMHgzZiwweDQwLDB4MWQsMHhkMCwweDAzLDB4ZjQsMHgxMCwweGY5LDB4MDAgfSB9LAoteyAgMTYsIDB4Y2M1MCwgMCwgezB4M2UsMHg1MCwweDBmLDB4NTAsMHgwMCwweDk0LDB4MDAsMHhmOSwweDAwLDB4M2QsMHg0MCwweDBmLDB4OTEsMHgwMywweGU2LDB4MDYgfSB9LAoteyAgMTYsIDB4Y2M2MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDEsMHhlNCwweDUwLDB4Y2QsMHgwMCwweDMxLDB4NjAgfSB9LAoteyAgMTYsIDB4Y2M3MCwgMCwgezB4MDQsMHhkMCwweDAzLDB4MzYsMHg4MCwweGMxLDB4NDIsMHgyZSwweDUwLDB4MWYsMHg5NCwweDAzLDB4ZTUsMHgwMCwweGU5LDB4MDIgfSB9LAoteyAgMTYsIDB4Y2M4MCwgMCwgezB4MmUsMHg3MiwweDBhLDB4OTAsMHgyMiwweDA1LDB4MDgsMHhlOSwweDQwLDB4M2UsMHg1MCwweDQwLDB4OWMsMHgwMywweDI2LDB4MDAgfSB9LAoteyAgMTYsIDB4Y2M5MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDM4LDB4MTAsMHhjMiwweDgyLDB4ODgsMHgwMCwweDIyLDB4MTUgfSB9LAoteyAgMTYsIDB4Y2NhMCwgMCwgezB4MDgsMHg4MCwweDAyLDB4MjMsMHg1OCwweDg4LDB4YTAsMHgyZSwweDI4LDB4MGIsMHhhYSwweDQyLDB4ZTIsMHg4MiwweDg4LDB4ODAgfSB9LAoteyAgMTYsIDB4Y2NiMCwgMCwgezB4MmUsMHgzOCwweDI4LDB4ODgsMHgwMiwweDIyLDB4ODAsMHhiOCwweGEwLDB4M2EsMHgyOCwweDA4LDB4Y2QsMHgwMiwweDBlLDB4MDQgfSB9LAoteyAgMTYsIDB4Y2NjMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweDAwLDB4ODEsMHgwMCwweGE2LDB4NDAgfSB9LAoteyAgMTYsIDB4Y2NkMCwgMCwgezB4MjgsMHgxMCwweDBhLDB4MjQsMHgyNiwweDk1LDB4MDAsMHgwZCwweDQwLDB4MGIsMHg1MCwweDAyLDB4NzQsMHgwMCwweDg1LDB4MDggfSB9LAoteyAgMTYsIDB4Y2NlMCwgMCwgezB4MmYsMHg0MCwweDc5LDB4ZDIsMHhhYSwweDE0LDB4MDAsMHhhNSwweDAxLDB4MmYsMHg0MCwweDM4LDB4NTAsMHgwMiwweDEyLDB4MDEgfSB9LAoteyAgMTYsIDB4Y2NmMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MTUsMHhhNCwweDA0LDB4ODksMHgwMCwweDI2LDB4NDAgfSB9LAoteyAgMTYsIDB4Y2QwMCwgMCwgezB4MDgsMHg5MSwweDAyLDB4MjQsMHgxMCwweDlkLDB4MDgsMHgyZiwweDQwLDB4MGIsMHhkMCwweDAyLDB4ZjQsMHgwMCwweDhkLDB4MDIgfSB9LAoteyAgMTYsIDB4Y2QxMCwgMCwgezB4MmYsMHg0MCwweDA5LDB4ZDAsMHgwMCwweDM0LDB4MDAsMHhiZCwweDAwLDB4MGIsMHg0MCwweDE4LDB4NzAsMHgwMiwweDA2LDB4MDQgfSB9LAoteyAgMTYsIDB4Y2QyMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhjNCwweDAwLDB4YzksMHgwNSwweDM2LDB4NDEgfSB9LAoteyAgMTYsIDB4Y2QzMCwgMCwgezB4NGMsMHg5MCwweDYzLDB4MjQsMHgwMCwweGQ5LDB4MDAsMHgzZSwweDQwLDB4MGIsMHg5MCwweDAzLDB4NDQsMHgwOCwweGM5LDB4MDAgfSB9LAoteyAgMTYsIDB4Y2Q0MCwgMCwgezB4M2UsMHg0MCwweDE1LDB4MTAsMHgwMywweDI0LDB4MDAsMHhlOSwweDAwLDB4M2MsMHg0MCwweDBjLDB4OTAsMHgwMywweDI4LDB4MDQgfSB9LAoteyAgMTYsIDB4Y2Q1MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDEsMHhhNCwweDA0LDB4ZjksMHgwMCwweDNhLDB4NDAgfSB9LAoteyAgMTYsIDB4Y2Q2MCwgMCwgezB4NGYsMHg5OCwweDAzLDB4ZTQsMHgwMCwweGU5LDB4OTksMHgzZSwweDQwLDB4NGYsMHg5MCwweDAzLDB4ZTQsMHgyMCwweGY5LDB4MGEgfSB9LAoteyAgMTYsIDB4Y2Q3MCwgMCwgezB4M2UsMHg0MCwweDBlLDB4OTAsMHg0MywweDY0LDB4MjQsMHhmOSwweDA4LDB4M2EsMHg0MiwweDBmLDB4OTAsMHg4YiwweGRhLDB4MDAgfSB9LAoteyAgMTYsIDB4Y2Q4MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMCwweDAwLDB4YzgsMHgwMCwweDEyLDB4MDAgfSB9LAoteyAgMTYsIDB4Y2Q5MCwgMCwgezB4MGMsMHg4MCwweDQzLDB4ZTAsMHgwMCwweGM4LDB4NDAsMHgzMiwweDAwLDB4MGYsMHg4NCwweDUzLDB4ZTAsMHgxMCwweGY4LDB4MDAgfSB9LAoteyAgMTYsIDB4Y2RhMCwgMCwgezB4M2UsMHgwMCwweDBkLDB4ODAsMHgyMywweDIwLDB4MDAsMHhkOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweDBhLDB4MDQgfSB9LAoteyAgMTYsIDB4Y2RiMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHgzOCwweDAyLDB4ODIsMHgwMCwweGExLDB4ODggfSB9LAoteyAgMTYsIDB4Y2RjMCwgMCwgezB4MDgsMHg2MCwweDIyLDB4YzgsMHgwMCwweDhhLDB4NDAsMHgzNiwweGExLDB4MGIsMHhhMCwweDAyLDB4ZTksMHgxMCwweGJhLDB4NDQgfSB9LAoteyAgMTYsIDB4Y2RkMCwgMCwgezB4MmMsMHg4MCwweDBjLDB4YTQsMHgxMiwweDI5LDB4MDIsMHg4YSwweDQ0LDB4MmUsMHg5OCwweDBiLDB4YTQsMHgwMiwweDBhLDB4MDAgfSB9LAoteyAgMTYsIDB4Y2RlMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDEwLDB4ODMsMHgwMCwweDIwLDB4ZTAgfSB9LAoteyAgMTYsIDB4Y2RmMCwgMCwgezB4MTgsMHgzMCwweDkyLDB4YzQsMHgwOCwweDkzLDB4NDAsMHgyMCwweGUwLDB4MGIsMHgzMCwweDAyLDB4Y2QsMHgwMCwweGIzLDB4NDAgfSB9LAoteyAgMTYsIDB4Y2UwMCwgMCwgezB4MmMsMHhjMCwweDBiLDB4M2EsMHg0MiwweGNkLDB4MDAsMHg4MywweDQwLDB4MmMsMHhkMCwweDBiLDB4MzgsMHgwMiwweDRhLDB4MDAgfSB9LAoteyAgMTYsIDB4Y2UxMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4NDEsMHgxYywweDAwLDB4ODcsMHgwMCwweDIxLDB4YzAgfSB9LAoteyAgMTYsIDB4Y2UyMCwgMCwgezB4MjgsMHg3MCwweDAyLDB4ZDEsMHgwMCwweDlkLDB4ODAsMHgyNSwweGMyLDB4NGIsMHg2MCwweDAyLDB4ZGMsMHgwOCwweGI3LDB4MDIgfSB9LAoteyAgMTYsIDB4Y2UzMCwgMCwgezB4MmMsMHhjMCwweDBhLDB4NzQsMHgwMiwweGZlLDB4MDAsMHg4NywweDAwLDB4MmQsMHhjMCwweDBiLDB4MzQsMHgwMiwweDY4LDB4MDAgfSB9LAoteyAgMTYsIDB4Y2U0MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZSwweDAwLDB4YzcsMHg4NCwweDMxLDB4ZTAgfSB9LAoteyAgMTYsIDB4Y2U1MCwgMCwgezB4MGMsMHg2OCwweDAzLDB4ZDYsMHgwMCwweDk3LDB4ODAsMHgzMSwweGEwLDB4MGYsMHg1OCwweDEzLDB4ZGUsMHgwOCwweGY3LDB4ODIgfSB9LAoteyAgMTYsIDB4Y2U2MCwgMCwgezB4M2QsMHhhMCwweDBmLDB4ZjgsMHgwYiwweGRlLDB4MDAsMHhjNywweDgwLDB4M2QsMHhlMCwweDBmLDB4NzgsMHg4YiwweDZhLDB4MDIgfSB9LAoteyAgMTYsIDB4Y2U3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MWQsMHhhZCwweDgwLDB4ZjMsMHgwMCwweDNlLDB4YzEgfSB9LAoteyAgMTYsIDB4Y2U4MCwgMCwgezB4MGYsMHhhMCwweDIzLDB4YzAsMHgwMiwweGU5LDB4MDAsMHgzZSwweDgxLDB4MGYsMHg4MCwweDAzLDB4ZWMsMHgwMCwweGZiLDB4MDAgfSB9LAoteyAgMTYsIDB4Y2U5MCwgMCwgezB4M2UsMHhjMCwweDBkLDB4YjAsMHgxMywweDJjLDB4MDAsMHhlYiwweDAwLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgwMywweDgyLDB4MDIgfSB9LAoteyAgMTYsIDB4Y2VhMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmZiwweDMyLDB4YzcsMHg4MCwweDMzLDB4NjAgfSB9LAoteyAgMTYsIDB4Y2ViMCwgMCwgezB4MGYsMHg3OCwweDAzLDB4M2UsMHhjOCwweDRlLDB4ODAsMHgyMywweDY0LDB4MGMsMHhmOCwweDAzLDB4M2EsMHgwMCwweGNlLDB4ODAgfSB9LAoteyAgMTYsIDB4Y2VjMCwgMCwgezB4MTMsMHhlYywweDA2LDB4ZDgsMHgwMywweDNhLDB4MDAsMHhkZSwweDgwLDB4MzMsMHhhNCwweDBjLDB4YzgsMHgwMywweGQwLDB4MDAgfSB9LAoteyAgMTYsIDB4Y2VkMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTEsMHg5YywweDAwLDB4ODcsMHgxMCwweDAxLDB4YzAgfSB9LAoteyAgMTYsIDB4Y2VlMCwgMCwgezB4MGIsMHg3MCwweDAyLDB4MTgsMHg1MCwweDg0LDB4MDAsMHgyYiwweDQ0LDB4MDgsMHg2MCwweDEyLDB4OTgsMHgwMCwweDg2LDB4MTMgfSB9LAoteyAgMTYsIDB4Y2VmMCwgMCwgezB4MjEsMHhjNCwweDg4LDB4NTAsMHgwMiwweDE4LDB4ODAsMHg4NiwweDAwLDB4MjEsMHg4MCwweDA4LDB4NjEsMHgwMiwweGVhLDB4MDQgfSB9LAoteyAgMTYsIDB4Y2YwMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5YywweDAwLDB4ODcsMHgwMCwweDIxLDB4NDAgfSB9LAoteyAgMTYsIDB4Y2YxMCwgMCwgezB4MGIsMHhmMSwweDAyLDB4NWMsMHg4MCwweDA2LDB4MDAsMHgyMSwweDAwLDB4ODgsMHhkMCwweDAyLDB4NWMsMHgwMCwweDg3LDB4MDAgfSB9LAoteyAgMTYsIDB4Y2YyMCwgMCwgezB4MjAsMHg4OSwweDhhLDB4ZjEsMHgwMiwweDFjLDB4MDgsMHg4NywweDEwLDB4MjEsMHg4MSwweDg4LDB4NDgsMHgwMiwweGM2LDB4MDAgfSB9LAoteyAgMTYsIDB4Y2YzMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIwLDB4MTQsMHhjYywweDEwLDB4ODMsMHgwNCwweGEwLDB4YzEgfSB9LAoteyAgMTYsIDB4Y2Y0MCwgMCwgezB4MGIsMHgzMCwweDBhLDB4NDgsMHgwYywweDg4LDB4MDYsMHg2MCwweDM4LDB4MDgsMHgwNCwweDQyLDB4ZWMsMHgwMSwweDhiLDB4MDQgfSB9LAoteyAgMTYsIDB4Y2Y1MCwgMCwgezB4MjIsMHhjMSwweDA4LDB4MzAsMHgwYSwweDJjLDB4MDAsMHg4YiwweDAwLDB4MjIsMHg4MCwweDAwLDB4MjAsMHgwMiwweGQ4LDB4MDQgfSB9LAoteyAgMTYsIDB4Y2Y2MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhiYywweDAwLDB4YzMsMHgwMCwweDIyLDB4ODAgfSB9LAoteyAgMTYsIDB4Y2Y3MCwgMCwgezB4OGYsMHg5MCwweDAzLDB4NjQsMHgwYSwweGNiLDB4MDIsMHhiMiwweGYyLDB4MjAsMHgzNSwweDEyLDB4NjQsMHgwYSwweGM5LDB4MDAgfSB9LAoteyAgMTYsIDB4Y2Y4MCwgMCwgezB4YjIsMHg0MCwweDBlLDB4YTAsMHgwMywweDI0LDB4MGEsMHhjOSwweDAwLDB4YTIsMHg0MCwweDJjLDB4YTAsMHgwMywweGVlLDB4MDQgfSB9LAoteyAgMTYsIDB4Y2Y5MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDAsMHhlYywweDAwLDB4ZmIsMHgwMCwweDNjLDB4ODAgfSB9LAoteyAgMTYsIDB4Y2ZhMCwgMCwgezB4MGYsMHg5MCwweDAzLDB4YTUsMHgwMCwweGRiLDB4NDAsMHgzZSwweGQwLDB4NGQsMHhiNCwweDEzLDB4YTQsMHgwOCwweGZiLDB4MDEgfSB9LAoteyAgMTYsIDB4Y2ZiMCwgMCwgezB4M2UsMHhjMCwweDFjLDB4YTAsMHgwMywweDZjLDB4MDAsMHhmYiwweDA0LDB4M2UsMHg1MCwweDRmLDB4YTQsMHgwMywweGUwLDB4MDAgfSB9LAoteyAgMTYsIDB4Y2ZjMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmYywweDAwLDB4ZmYsMHgwMCwweDMzLDB4YzAgfSB9LAoteyAgMTYsIDB4Y2ZkMCwgMCwgezB4MGMsMHhlOCwweDQzLDB4MjYsMHgwMCwweGRmLDB4ODAsMHhiMywweGUwLDB4MGYsMHhmOCwweDAzLDB4N2MsMHgwMCwweGNkLDB4MDAgfSB9LAoteyAgMTYsIDB4Y2ZlMCwgMCwgezB4MzMsMHgwNCwweDBjLDB4ZTAsMHgyMywweDM0LDB4NDAsMHhjZCwweDAwLDB4MjMsMHg0MCwweDBjLDB4ZTAsMHgwMywweGUwLDB4MDQgfSB9LAoteyAgMTYsIDB4Y2ZmMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgxLDB4MDQsMHg2YywweDEwLDB4YmIsMHgwMCwweGEyLDB4ZDIgfSB9LAoteyAgMTYsIDB4ZDAwMCwgMCwgezB4MDgsMHgyOCwweDAyLDB4MDQsMHg2MCwweDhiLDB4MTksMHgyMiwweGM2LDB4MGUsMHhiMSwweDhhLDB4MmUsMHg0MCwweDhiLDB4OTAgfSB9LAoteyAgMTYsIDB4ZDAxMCwgMCwgezB4MjIsMHhjMSwweDA4LDB4YTQsMHg4MiwweDJjLDB4MDAsMHg4YiwweDkwLDB4MjIsMHg2NCwweDQ4LDB4YTQsMHgwMiwweGUwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZDAyMCwgMCwgezB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAwLDB4YmIsMHgwMCwweDIyLDB4MDAgfSB9LAoteyAgMTYsIDB4ZDAzMCwgMCwgezB4MDgsMHg5MSwweDJlLDB4MjQsMHgwMCwweDliLDB4MDAsMHgyMiwweGMwLDB4OGIsMHhiMCwweDEyLDB4MjAsMHgwNCwweDg4LDB4MDAgfSB9LAoteyAgMTYsIDB4ZDA0MCwgMCwgezB4MjIsMHg0MCwweDA4LDB4MTAsMHgyMiwweDIwLDB4MDAsMHg4OCwweDAxLDB4MmEsMHhkMCwweDA4LDB4ODAsMHg0MiwweGUwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZDA1MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDQsMHgwYywweDAwLDB4YjMsMHgwNCwweDIwLDB4ODAgfSB9LAoteyAgMTYsIDB4ZDA2MCwgMCwgezB4MDgsMHgxMCwweDA2LDB4MDQsMHgxMCwweDgzLDB4MDAsMHgyMCwweGMwLDB4OGIsMHhiMCwweDEyLDB4MDAsMHgwMCwweDgyLDB4MDAgfSB9LAoteyAgMTYsIDB4ZDA3MCwgMCwgezB4MjAsMHhjMCwweDI4LDB4MTAsMHg0MiwweDA5LDB4MDYsMHg4MiwweDAwLDB4MjgsMHhjMCwweDA4LDB4MjAsMHgwMiwweGMyLDB4MDEgfSB9LAoteyAgMTYsIDB4ZDA4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg3YywweDAwLDB4YmIsMHgwMCwweDMyLDB4NDAgfSB9LAoteyAgMTYsIDB4ZDA5MCwgMCwgezB4MmMsMHhiMCwweDAzLDB4MjQsMHgwMCwweGQzLDB4MDAsMHgzMiwweGMwLDB4NWYsMHhiNSwweDAzLDB4MGMsMHgwMiwweGMxLDB4MDAgfSB9LAoteyAgMTYsIDB4ZDBhMCwgMCwgezB4YjIsMHgwMCwweDBjLDB4YjAsMHgwYiwweDA1LDB4MDAsMHhjMSwweDAwLDB4YjgsMHhjMCwweDJjLDB4ODAsMHgxMywweGUwLDB4MDMgfSB9LAoteyAgMTYsIDB4ZDBiMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MWQsMHhkYywweDAwLDB4ZmYsMHgwMCwweDFmLDB4YzAgfSB9LAoteyAgMTYsIDB4ZDBjMCwgMCwgezB4ODcsMHhmMCwweDAxLDB4ZjQsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMwLDB4MGUsMHg3MCwweDQzLDB4ZmMsMHgxMCwweDdmLDB4MDAgfSB9LAoteyAgMTYsIDB4ZDBkMCwgMCwgezB4M2YsMHhjMCwweDBmLDB4NzAsMHgwMywweGZjLDB4MDAsMHhmZiwweDAwLDB4MzcsMHhjMCwweDBmLDB4ZTAsMHgwMywweGU4LDB4MDYgfSB9LAoteyAgMTYsIDB4ZDBlMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmMSwweDg0LDB4ZmUsMHg2MSwweDMxLDB4ZDggfSB9LAoteyAgMTYsIDB4ZDBmMCwgMCwgezB4MGMsMHhiMiwweGMzLDB4ZmMsMHhlMCwweGNjLDB4ODAsMHg3YiwweGMwLDB4MGUsMHhmMSwweDAzLDB4N2MsMHhlMCwweGNjLDB4ODMgfSB9LAoteyAgMTYsIDB4ZDEwMCwgMCwgezB4M2YsMHgyMCwweDBmLDB4ZjAsMHhjYiwweDMyLDB4NDQsMHhkYywweDg0LDB4M2YsMHgyNSwweDRjLDB4ZjIsMHg0MywweDMwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZDExMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MTAsMHhlNCwweDQ4LDB4YjAsMHgxMCwweDIyLDB4ZGMgfSB9LAoteyAgMTYsIDB4ZDEyMCwgMCwgezB4MDgsMHhiNiwweDAyLDB4ZmQsMHg5MiwweDg4LDB4ODUsMHgyMywweGY0LDB4NDAsMHhmMSwweDAyLDB4ZWQsMHgwMCwweDg4LDB4MmQgfSB9LAoteyAgMTYsIDB4ZDEzMCwgMCwgezB4MGUsMHg2MCwweDBiLDB4YmMsMHgxMiwweDJjLDB4MTAsMHhhOCwweDgyLDB4MmUsMHgwMCwweDBhLDB4ZmMsMHgyMiwweGEwLDB4MDQgfSB9LAoteyAgMTYsIDB4ZDE0MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjMCwweDgwLDB4YjMsMHgyMiwweDI4LDB4YzAgfSB9LAoteyAgMTYsIDB4ZDE1MCwgMCwgezB4MDgsMHgzMCwweDgyLDB4Y2MsMHgwMSwweDg4LDB4MDAsMHgyYywweGMwLDB4NGEsMHgzMiwweDAyLDB4Y2MsMHgwMCwweDAxLDB4MDEgfSB9LAoteyAgMTYsIDB4ZDE2MCwgMCwgezB4MjgsMHgwMCwweDRiLDB4YjAsMHgwMiwweGEwLDB4MDAsMHg4MCwweDAwLDB4MmMsMHgwOSwweDA4LDB4MzQsMHgwMiwweDYyLDB4MDEgfSB9LAoteyAgMTYsIDB4ZDE3MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MTUsMHhhYywweDA0LDB4YjIsMHgxMCwweDJhLDB4YzEgfSB9LAoteyAgMTYsIDB4ZDE4MCwgMCwgezB4MDgsMHhiMCwweDAyLDB4ZWMsMHgxMCwweDg5LDB4ODAsMHgyMiwweGMwLDB4MDgsMHhiMCwweDAyLDB4ZWMsMHgwOCwweDg4LDB4MDAgfSB9LAoteyAgMTYsIDB4ZDE5MCwgMCwgezB4MmUsMHg0MCwweDgzLDB4YjAsMHgwMiwweGEwLDB4NDAsMHhiOSwweDgwLDB4MmMsMHgyMSwweDBhLDB4YjAsMHgwMiwweGYwLDB4MDQgfSB9LAoteyAgMTYsIDB4ZDFhMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlYywweDAwLDB4ZmEsMHgwMCwweGJhLDB4YzAgfSB9LAoteyAgMTYsIDB4ZDFiMCwgMCwgezB4MmMsMHhiMCwweDQzLDB4ZWMsMHgwMCwweGMwLDB4ODAsMHgzZSwweGMwLDB4OGUsMHhiMCwweDAzLDB4NGMsMHgwYywweGM4LDB4MTAgfSB9LAoteyAgMTYsIDB4ZDFjMCwgMCwgezB4M2UsMHg4MCwweDhmLDB4YjAsMHgwMywweDgyLDB4MTAsMHhkOCwweDgyLDB4M2UsMHgyOCwweDBjLDB4YjAsMHgwYiwweDUwLDB4MDQgfSB9LAoteyAgMTYsIDB4ZDFkMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDEsMHhiNiwweDgwLDB4ZmQsMHgwMiwweDM3LDB4YzEgfSB9LAoteyAgMTYsIDB4ZDFlMCwgMCwgezB4MGYsMHhiMCwweDAzLDB4ZmMsMHgwMCwweGZkLDB4MDAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDUzLDB4ZmMsMHgwMiwweGZmLDB4MDEgfSB9LAoteyAgMTYsIDB4ZDFmMCwgMCwgezB4MmYsMHhhNCwweDhiLDB4ZjAsMHg4MywweDdjLDB4MDAsMHhhZCwweDAyLDB4MmYsMHg0MCwweDAzLDB4NzAsMHgwMywweGI4LDB4MDAgfSB9LAoteyAgMTYsIDB4ZDIwMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhYywweDAwLDB4ZmIsMHgwNCwweDMyLDB4YzAgfSB9LAoteyAgMTYsIDB4ZDIxMCwgMCwgezB4NGMsMHhiMCwweDIzLDB4MmMsMHgwMCwweGY4LDB4NDAsMHgzZSwweGMyLDB4MGMsMHhiMCwweDAzLDB4MmMsMHgwMCwweGZiLDB4NDEgfSB9LAoteyAgMTYsIDB4ZDIyMCwgMCwgezB4MzIsMHhjMiwweDBmLDB4YjAsMHg0MywweDJkLDB4MDAsMHhjOCwweDUwLDB4M2UsMHg0MCwweDBjLDB4YjAsMHgwYiwweDEwLDB4MDQgfSB9LAoteyAgMTYsIDB4ZDIzMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM4LDB4MDUsMHgyZiwweDkwLDB4YjksMHg1MCwweDAzLDB4YzAgfSB9LAoteyAgMTYsIDB4ZDI0MCwgMCwgezB4MTgsMHhmMCwweDFhLDB4M2MsMHgwMCwweGI5LDB4MzIsMHgyZCwweGUwLDB4MzgsMHhmMCwweDYwLDB4M2MsMHgwNCwweGY5LDB4MDAgfSB9LAoteyAgMTYsIDB4ZDI1MCwgMCwgezB4M2UsMHhmMCwweDBiLDB4N2MsMHg4MCwweDJjLDB4MDAsMHhkOSwweGMwLDB4MmUsMHg0MCwweDBkLDB4ZjAsMHgwMiwweDMyLDB4MDAgfSB9LAoteyAgMTYsIDB4ZDI2MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0YiwweDI0LDB4YjIsMHgxMCwweDAyLDB4YzEgfSB9LAoteyAgMTYsIDB4ZDI3MCwgMCwgezB4MjgsMHgzMCwweDAyLDB4NmMsMHgwNCwweGIyLDB4YzEsMHgyYywweGMwLDB4MDgsMHgzMCwweDAwLDB4MGMsMHgwMCwweGIyLDB4MDAgfSB9LAoteyAgMTYsIDB4ZDI4MCwgMCwgezB4MjgsMHgyNCwweDAzLDB4M2MsMHgwYSwweDAwLDB4MDAsMHg4MiwweGM4LDB4MmMsMHhhMCwweDA4LDB4MzAsMHgwMiwweDM4LDB4MDAgfSB9LAoteyAgMTYsIDB4ZDI5MCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIwLDB4MDEsMHgxNiwweDAwLDB4YjQsMHg4MCwweDIxLDB4ZTQgfSB9LAoteyAgMTYsIDB4ZDJhMCwgMCwgezB4NDgsMHg3YiwweDAyLDB4NWUsMHgwMCwweGI2LDB4ODAsMHg2ZCwweGUyLDB4NDgsMHg3OSwweDIyLDB4MWUsMHg0MCwweGFjLDB4ODQgfSB9LAoteyAgMTYsIDB4ZDJiMCwgMCwgezB4MmQsMHhlMCwweDBiLDB4ZmEsMHgwMCwweDUyLDB4NDAsMHg5NiwweDgwLDB4MmQsMHhlOCwweDE5LDB4MzgsMHgwMiwweDA4LDB4MDAgfSB9LAoteyAgMTYsIDB4ZDJjMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwOCwweDQwLDB4ZjMsMHgxMCwweGIwLDB4YzQgfSB9LAoteyAgMTYsIDB4ZDJkMCwgMCwgezB4MDgsMHgzYSwweDAyLDB4NGMsMHg5MCwweGYzLDB4MTAsMHgzYywweGNjLDB4MDgsMHgzMSwweDAzLDB4MGMsMHg0OSwweGIwLDB4NDAgfSB9LAoteyAgMTYsIDB4ZDJlMCwgMCwgezB4MzAsMHgwNSwweDBmLDB4MzAsMHgwNywweDIxLDB4NDAsMHg0MywweDAxLDB4M2UsMHhjMiwweDFjLDB4MzAsMHg0MywweDEyLDB4MDIgfSB9LAoteyAgMTYsIDB4ZDJmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MGQsMHhiYywweDEwLDB4ZmMsMHgxMCwweDNmLDB4YzUgfSB9LAoteyAgMTYsIDB4ZDMwMCwgMCwgezB4MGYsMHhmMSwweDAxLDB4YmMsMHgwNCwweGZmLDB4MDQsMHgzZiwweGM0LDB4MGYsMHhiMSwweDRiLDB4ZmMsMHg2NCwweGY3LDB4MDAgfSB9LAoteyAgMTYsIDB4ZDMxMCwgMCwgezB4MzcsMHhjMCwweDBmLDB4NzIsMHg1MywweGFjLDB4NDQsMHhmZiwweDAxLDB4M2YsMHhjOSwweDBmLDB4ZjQsMHgwMywweGQwLDB4MDYgfSB9LAoteyAgMTYsIDB4ZDMyMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlYywweDA4LDB4ZmEsMHgwMCwweDNlLDB4ZTAgfSB9LAoteyAgMTYsIDB4ZDMzMCwgMCwgezB4MGMsMHhiMCwweDAzLDB4MmMsMHgwMCwweGNiLDB4MDIsMHgzZSwweGNhLDB4MGYsMHhiMiwweDA3LDB4MmUsMHgwMCwweGRiLDB4MDIgfSB9LAoteyAgMTYsIDB4ZDM0MCwgMCwgezB4MzIsMHgwOCwweDBmLDB4MzEsMHgwMywweDJjLDB4MDAsMHhjYiwweDA0LDB4M2UsMHg4MCwweDBjLDB4MzUsMHgwMywweDJhLDB4MDAgfSB9LAoteyAgMTYsIDB4ZDM1MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MTEsMHg5NCwweDAwLDB4YjUsMHgwMCwweDJkLDB4YzggfSB9LAoteyAgMTYsIDB4ZDM2MCwgMCwgezB4MDgsMHg3MCwweDBhLDB4MWMsMHgyMiwweDg3LDB4MDAsMHgyZCwweGM5LDB4MGIsMHhmMiwweDgyLDB4OWMsMHg4MCwweGE2LDB4MDAgfSB9LAoteyAgMTYsIDB4ZDM3MCwgMCwgezB4MDksMHg4YiwweDBiLDB4NzAsMHgwYSwweDFjLDB4MDIsMHg4NSwweDAwLDB4MmQsMHg0MCwweDA4LDB4NzAsMHgwMiwweDkyLDB4MDQgfSB9LAoteyAgMTYsIDB4ZDM4MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZSwweDAwLDB4YjcsMHg4MCwweDJjLDB4ZWMgfSB9LAoteyAgMTYsIDB4ZDM5MCwgMCwgezB4MDgsMHg3YiwweDAyLDB4NWUsMHg0MCwweDg1LDB4ODksMHgyZCwweGVjLDB4OGIsMHg3YiwweDAyLDB4NGUsMHg4NCwweDhmLDB4ODAgfSB9LAoteyAgMTYsIDB4ZDNhMCwgMCwgezB4MjUsMHg2NCwweDBiLDB4ZmEsMHgwMiwweDEyLDB4MDgsMHg5NywweDgwLDB4NmYsMHhlMSwweDA4LDB4N2EsMHgwMiwweDMwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZDNiMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MTQsMHhjYywweDIwLDB4YjMsMHg2NCwweDJjLDB4YzAgfSB9LAoteyAgMTYsIDB4ZDNjMCwgMCwgezB4MDgsMHgzMCwweDA2LDB4MGMsMHgxMCwweDgzLDB4OGEsMHg2YywweGMwLDB4NWIsMHgzMCwweDQyLDB4Y2MsMHgwMCwweGFiLDB4MTAgfSB9LAoteyAgMTYsIDB4ZDNkMCwgMCwgezB4MmMsMHhmMiwweDBiLDB4MzAsMHgwMiwweDBkLDB4MDAsMHg5MywweDA0LDB4MmMsMHhkNSwweDA4LDB4MzAsMHgwYSwweDkyLDB4MDQgfSB9LAoteyAgMTYsIDB4ZDNlMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhiYiwweDAwLDB4ZmUsMHhjMCwweDNlLDB4ODAgfSB9LAoteyAgMTYsIDB4ZDNmMCwgMCwgezB4MmMsMHhhMCwweDAzLDB4NjgsMHgwMCwweGM2LDB4NDAsMHgzZiwweDgwLDB4MGYsMHhhMCwweDAyLDB4NjgsMHgwMCwweGNlLDB4NDQgfSB9LAoteyAgMTYsIDB4ZDQwMCwgMCwgezB4MzYsMHg5MCwweDRmLDB4NjAsMHgwMywweDFiLDB4NzAsMHhkZSwweGQ4LDB4M2YsMHhhMCwweDBjLDB4MjAsMHgwMywweDNhLDB4MDQgfSB9LAoteyAgMTYsIDB4ZDQxMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDAsMHhlMCwweDQwLDB4ZjgsMHgxMCwweDNlLDB4MDAgfSB9LAoteyAgMTYsIDB4ZDQyMCwgMCwgezB4MGYsMHg4MCwweDAzLDB4YTAsMHgxMCwweGY4LDB4NDIsMHgzZSwweDEwLDB4MWYsMHg4MCwweDAzLDB4YTAsMHgwMCwweGU4LDB4MGMgfSB9LAoteyAgMTYsIDB4ZDQzMCwgMCwgezB4M2EsMHgwNCwweDFmLDB4ODAsMHgwMywweGUwLDB4MDAsMHhlOCwweDQ1LDB4N2UsMHgwMiwweDJmLDB4ODAsMHgwMywweGQyLDB4MDAgfSB9LAoteyAgMTYsIDB4ZDQ0MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHg2NCwweDAwLDB4ZTksMHg4MCwweDMyLDB4NDAgfSB9LAoteyAgMTYsIDB4ZDQ1MCwgMCwgezB4MGYsMHg5MCwweDBiLDB4MDQsMHgwOCwweGQ5LDB4ODAsMHgzNiwweDQwLDB4MGYsMHgxMCwweDEzLDB4MjQsMHgwOCwweGY5LDB4MDAgfSB9LAoteyAgMTYsIDB4ZDQ2MCwgMCwgezB4NzIsMHg3MCwweDBmLDB4OTEsMHgxMywweDI0LDB4MTAsMHhjOSwweDEwLDB4M2UsMHg2OSwweDBjLDB4OTAsMHgwMywweDAyLDB4MDQgfSB9LAoteyAgMTYsIDB4ZDQ3MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDQsMHg2NCwweDA4LDB4YjksMHg4MCwweDIyLDB4NDAgfSB9LAoteyAgMTYsIDB4ZDQ4MCwgMCwgezB4MGIsMHgxMCwweDAyLDB4MjQsMHgwMCwweDg5LDB4YzQsMHgyMiwweDUyLDB4MGIsMHg5MCwweDQyLDB4MjQsMHgwMCwweGI5LDB4MDAgfSB9LAoteyAgMTYsIDB4ZDQ5MCwgMCwgezB4MjIsMHhlMCwweDBiLDB4OTAsMHgxMiwweDI0LDB4MDQsMHhkOSwweDRhLDB4MmUsMHg2MCwweDA4LDB4OTAsMHgwMywweDYwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZDRhMCwgMCwgezB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDAwLDB4YjEsMHgxOCwweDIyLDB4NDAgfSB9LAoteyAgMTYsIDB4ZDRiMCwgMCwgezB4MGIsMHg5MCwweDAyLDB4MjQsMHgwMCwweDhiLDB4MjAsMHgyNiwweDQ5LDB4MGIsMHg5MCwweDAyLDB4NjQsMHgwMCwweGI5LDB4MDAgfSB9LAoteyAgMTYsIDB4ZDRjMCwgMCwgezB4YTIsMHg0MCwweDBiLDB4OTAsMHg4YSwweDI0LDB4MDAsMHg4YiwweDAwLDB4MmMsMHg0MCwweGE4LDB4OTAsMHgwMiwweDA2LDB4MDAgfSB9LAoteyAgMTYsIDB4ZDRkMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDQsMHgwNCwweDg0LDB4YjEsMHgyMCwweGEwLDB4NDggfSB9LAoteyAgMTYsIDB4ZDRlMCwgMCwgezB4MGIsMHgxMSwweDA2LDB4MDQsMHgwMCwweDgzLDB4MDAsMHgwMCwweDQwLDB4NGIsMHgxMSwweDAyLDB4MDQsMHg0OSwweGIxLDB4MTAgfSB9LAoteyAgMTYsIDB4ZDRmMCwgMCwgezB4MjgsMHg0MCwweDBiLDB4MTAsMHgwMiwweDI0LDB4NDEsMHg5MSwweDAwLDB4MmMsMHg1MCwweDA4LDB4MTAsMHgwMiwweDQyLDB4MDEgfSB9LAoteyAgMTYsIDB4ZDUwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2OSwweDQwLDB4ZTgsMHg1MCwweDMyLDB4MTQgfSB9LAoteyAgMTYsIDB4ZDUxMCwgMCwgezB4MGYsMHg4NiwweDkzLDB4MjEsMHhlMiwweGM4LDB4MDAsMHgzNiwweDBhLDB4MGIsMHg4NiwweDhiLDB4NjEsMHhhOCwweGY4LDB4NDAgfSB9LAoteyAgMTYsIDB4ZDUyMCwgMCwgezB4MjIsMHg4MCwweDBmLDB4ODIsMHhhMywweDIxLDB4MDgsMHhjOCwweDAyLDB4M2UsMHgwMCwweDBjLDB4ODAsMHg0MywweDJlLDB4MDMgfSB9LAoteyAgMTYsIDB4ZDUzMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDk4LDB4MWQsMHhmNCwweDQ4LDB4ZmQsMHgxMiwweDNlLDB4NDQgfSB9LAoteyAgMTYsIDB4ZDU0MCwgMCwgezB4MGYsMHgxMiwweDAzLDB4YzQsMHgwMCwweDdkLDB4MDEsMHgxZSwweDQwLDB4MGIsMHg5MiwweDAzLDB4ZTQsMHg4MCwweGY1LDB4MjAgfSB9LAoteyAgMTYsIDB4ZDU1MCwgMCwgezB4MzYsMHg0MCwweDBmLDB4OTAsMHgwMywweGQ0LDB4OTAsMHg3ZCwweDAwLDB4M2QsMHg0MCwweDBmLDB4OTQsMHgwMywweGU2LDB4MDYgfSB9LAoteyAgMTYsIDB4ZDU2MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDEsMHhmNiwweGMxLDB4ZGQsMHg4OCwweDMyLDB4NzIgfSB9LAoteyAgMTYsIDB4ZDU3MCwgMCwgezB4MGMsMHg5OCwweDAzLDB4MjYsMHgyMiwweGRkLDB4MDAsMHgzZiwweDYyLDB4MmMsMHg5OSwweDgzLDB4NDYsMHhhMCwweGM5LDB4NDAgfSB9LAoteyAgMTYsIDB4ZDU4MCwgMCwgezB4YjIsMHg0MCwweDBmLDB4ZDgsMHgwMywweDI0LDB4MDAsMHhmZCwweDAwLDB4MzMsMHg1MSwweDJjLDB4ZDgsMHg4MywweDA2LDB4MDAgfSB9LAoteyAgMTYsIDB4ZDU5MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDM4LDB4MTAsMHhlMywweGMyLDB4ODgsMHhjMCwweDIyLDB4MzAgfSB9LAoteyAgMTYsIDB4ZDVhMCwgMCwgezB4MDgsMHg4YywweDQyLDB4MjIsMHgxMSwweDhhLDB4MDEsMHgyZSwweDAwLDB4MDgsMHg4OCwweDUyLDB4MjMsMHgwMCwweDgwLDB4YTMgfSB9LAoteyAgMTYsIDB4ZDViMCwgMCwgezB4MmEsMHgwMCwweDRiLDB4ODAsMHg0MiwweDIyLDB4YTAsMHhiOCwweDAwLDB4MjIsMHgyOCwweDA4LDB4ODQsMHgwMiwweDhlLDB4MDQgfSB9LAoteyAgMTYsIDB4ZDVjMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweDAwLDB4ODEsMHgyZCwweDIwLDB4NDggfSB9LAoteyAgMTYsIDB4ZDVkMCwgMCwgezB4NjgsMHgxNCwweDgwLDB4MDQsMHgyMCwweDgxLDB4MDAsMHgyZSwweDQwLDB4MGIsMHgxMiwweDEyLDB4MDQsMHgyNCwweDgxLDB4MjAgfSB9LAoteyAgMTYsIDB4ZDVlMCwgMCwgezB4MjAsMHg0MCwweDBiLDB4OTQsMHgzMiwweDA0LDB4OTAsMHhiOSwweDAwLDB4MjAsMHg0MCwweDQ4LDB4MTAsMHg0YSwweDAyLDB4MDEgfSB9LAoteyAgMTYsIDB4ZDVmMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MTUsMHhhNCwweDAwLDB4ODksMHgyMCwweDIyLDB4NDAgfSB9LAoteyAgMTYsIDB4ZDYwMCwgMCwgezB4MDgsMHg5MCwweDEyLDB4MjQsMHgwMCwweDg5LDB4MDAsMHgyZSwweDQwLDB4MDgsMHg5MCwweDAyLDB4MjQsMHgwOCwweDg5LDB4NDAgfSB9LAoteyAgMTYsIDB4ZDYxMCwgMCwgezB4MjIsMHg1MCwweDBiLDB4YjAsMHgwMiwweDI0LDB4MjAsMHhiOSwweDA5LDB4YTIsMHg0NCwweDA4LDB4OTAsMHgwMiwweDg2LDB4MDQgfSB9LAoteyAgMTYsIDB4ZDYyMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNCwweDAwLDB4ZDksMHgwOCwweGIyLDB4NDAgfSB9LAoteyAgMTYsIDB4ZDYzMCwgMCwgezB4NGMsMHgxMCwweDIzLDB4MDQsMHgwNCwweGQ5LDB4YzEsMHgzZSwweDQwLDB4OGYsMHg5MCwweDBiLDB4MDQsMHgwOCwweGMxLDB4NDAgfSB9LAoteyAgMTYsIDB4ZDY0MCwgMCwgezB4MTIsMHg0MCwweDBmLDB4OTAsMHg0MywweDI0LDB4MDQsMHhmMSwweDQxLDB4MzAsMHg3OCwweDBjLDB4OTAsMHgwMywweDI4LDB4MDQgfSB9LAoteyAgMTYsIDB4ZDY1MCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDEsMHg4NiwweDY0LDB4ZjksMHg4MCwweDNlLDB4NDAgfSB9LAoteyAgMTYsIDB4ZDY2MCwgMCwgezB4MGYsMHg5MCwweDBiLDB4ZTQsMHgwMCwweGY5LDB4OTgsMHgzZSwweDQwLDB4MmYsMHgxMCwweDAzLDB4YTQsMHgwMiwweGY5LDB4MTAgfSB9LAoteyAgMTYsIDB4ZDY3MCwgMCwgezB4M2UsMHg0MCwweDBmLDB4OTAsMHgwYiwweGU2LDB4NDAsMHhmOSwweDkwLDB4M2UsMHg2MCwweDBmLDB4OTAsMHgwMywweGNhLDB4MDAgfSB9LAoteyAgMTYsIDB4ZDY4MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMCwweDAwLDB4YzgsMHg0MSwweDMyLDB4MDAgfSB9LAoteyAgMTYsIDB4ZDY5MCwgMCwgezB4MGMsMHg4MCwweDA3LDB4MjAsMHgxMCwweGM4LDB4MTAsMHgzZSwweDBjLDB4MGUsMHg4MCwweDAzLDB4ZTAsMHgwNCwweGM4LDB4MDAgfSB9LAoteyAgMTYsIDB4ZDZhMCwgMCwgezB4YmEsMHgwMCwweDBmLDB4ODEsMHg0MywweDIwLDB4MDAsMHhmOCwweDcwLDB4M2UsMHgwMCwweDBmLDB4MDAsMHgwYiwweDBhLDB4MDQgfSB9LAoteyAgMTYsIDB4ZDZiMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHgzOSwweDAyLDB4OGUsMHgyMCwweGEzLDB4ODAgfSB9LAoteyAgMTYsIDB4ZDZjMCwgMCwgezB4MjgsMHhlMCwweDBhLDB4MzgsMHgxMCwweGFlLDB4MDQsMHgzZCwweGExLDB4OGUsMHhlMCwweDAyLDB4ZjgsMHgwMCwweDhlLDB4MDAgfSB9LAoteyAgMTYsIDB4ZDZkMCwgMCwgezB4NzYsMHg4MCwweDBiLDB4NjAsMHgwMywweDc4LDB4MDAsMHhiZSwweDQwLDB4MmYsMHg4MiwweDBiLDB4YTAsMHgwMywweGNhLDB4MDAgfSB9LAoteyAgMTYsIDB4ZDZlMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0ZCwweDAwLDB4OGIsMHg4OCwweDIyLDB4YzAgfSB9LAoteyAgMTYsIDB4ZDZmMCwgMCwgezB4MTgsMHgzMCwweDAyLDB4MGMsMHgwMCwweDgzLDB4NDQsMHgyYywweGQwLDB4MWIsMHgzMCwweDEyLDB4Y2MsMHgwNiwweDgzLDB4MDAgfSB9LAoteyAgMTYsIDB4ZDcwMCwgMCwgezB4MjAsMHhjMSwweDBiLDB4MzAsMHg4MiwweDBjLDB4MDEsMHhiMywweDAwLDB4MmMsMHg0MCwweDBiLDB4MzAsMHgwMiwweDBhLDB4MDAgfSB9LAoteyAgMTYsIDB4ZDcxMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MDEsMHgxYywweDAwLDB4ODUsMHgwMCwweDIwLDB4Y2MgfSB9LAoteyAgMTYsIDB4ZDcyMCwgMCwgezB4MDgsMHg3MCwweDA2LDB4MWMsMHg4NCwweGE3LDB4MDEsMHgyOSwweGMwLDB4MGIsMHg3MiwweDIyLDB4ZGMsMHg4MCwweDg3LDB4MzQgfSB9LAoteyAgMTYsIDB4ZDczMCwgMCwgezB4NjEsMHg4MCwweDBiLDB4MTAsMHgwMiwweDVjLDB4MDAsMHhiNywweDAwLDB4MmQsMHhjMCwweDBiLDB4NzAsMHgwMiwweGU4LDB4MDAgfSB9LAoteyAgMTYsIDB4ZDc0MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgwZSwweDAwLDB4OGMsMHg4MCwweDMxLDB4ZTAgfSB9LAoteyAgMTYsIDB4ZDc1MCwgMCwgezB4MGMsMHhmZSwweDAyLDB4M2YsMHgwMCwweGM1LDB4ODAsMHgyZCwweGUwLDB4MGUsMHg3OCwweDAzLDB4ZGYsMHhhMCwweGM3LDB4YTAgfSB9LAoteyAgMTYsIDB4ZDc2MCwgMCwgezB4MjEsMHg2MCwweDBmLDB4NzgsMHgwMywweDFlLDB4ODAsMHhmNywweDgwLDB4M2QsMHhlMCwweDBmLDB4NzgsMHgwMywweDJhLDB4MDIgfSB9LAoteyAgMTYsIDB4ZDc3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MWQsMHhhYywweDAwLDB4ZjksMHgwMCwweDNlLDB4YzAgfSB9LAoteyAgMTYsIDB4ZDc4MCwgMCwgezB4MGYsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGZhLDB4MDAsMHgzZSwweGMwLDB4MDYsMHhiMCwweDAzLDB4ZWMsMHg4MCwweGZiLDB4MjggfSB9LAoteyAgMTYsIDB4ZDc5MCwgMCwgezB4MzYsMHhkOCwweDRmLDB4YTAsMHgwMywweGVjLDB4MTAsMHhmYSwweDAwLDB4M2UsMHg1MCwweDBmLDB4MzAsMHgwMywweGMyLDB4MDYgfSB9LAoteyAgMTYsIDB4ZDdhMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmYSwweDAwLDB4Y2MsMHg4MCwweGIzLDB4ZTAgfSB9LAoteyAgMTYsIDB4ZDdiMCwgMCwgezB4MGYsMHhmOCwweDAzLDB4M2UsMHgwMCwweGNmLDB4OTAsMHgzZiwweDYwLDB4NGYsMHhmOCwweGMzLDB4M2UsMHgwMCwweGVmLDB4ODAgfSB9LAoteyAgMTYsIDB4ZDdjMCwgMCwgezB4MzMsMHhmMCwweDBjLDB4N2EsMHgwMywweDNlLDB4NzAsMHhjNSwweDkwLDB4MzMsMHhmMSwweDBjLDB4NzgsMHgwMywweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZDdkMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTEsMHhiOCwweDAwLDB4ODcsMHgwMCwweDIxLDB4YzAgfSB9LAoteyAgMTYsIDB4ZDdlMCwgMCwgezB4MGIsMHg3MCwweDRhLDB4MWMsMHgwMCwweDg3LDB4MTAsMHgyZCwweGMwLDB4NGIsMHg3MSwweDBhLDB4M2MsMHg0NCwweDhmLDB4MTIgfSB9LAoteyAgMTYsIDB4ZDdmMCwgMCwgezB4MjEsMHg4NiwweDBkLDB4NzIsMHgwMiwweDFlLDB4MDAsMHg4NywweDAwLDB4MjMsMHg0MCwweDA4LDB4NzAsMHgwYSwweDJhLDB4MDQgfSB9LAoteyAgMTYsIDB4ZDgwMCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5YywweDAwLDB4ODQsMHgwMCwweDI1LDB4YzAgfSB9LAoteyAgMTYsIDB4ZDgxMCwgMCwgezB4MGIsMHg3MSwweDBhLDB4MGMsMHgwMCwweGE3LDB4MTIsMHgyZCwweDg0LDB4MGIsMHg3MCwweDBhLDB4MWMsMHgwMCwweGI3LDB4MDggfSB9LAoteyAgMTYsIDB4ZDgyMCwgMCwgezB4MjMsMHg0MCwweDA5LDB4ZjMsMHgxYSwweDVjLDB4ODYsMHg5NywweDA4LDB4MjUsMHg0MCwweDA4LDB4NzAsMHgwMiwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZDgzMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIwLDB4MTQsMHhjYywweDIwLDB4ODEsMHgyMCwweDI2LDB4YzAgfSB9LAoteyAgMTYsIDB4ZDg0MCwgMCwgezB4MGIsMHgzMCwweDAyLDB4MmMsMHgwMCwweDgyLDB4NDIsMHgyYywweDgwLDB4MGIsMHgzMCwweDIyLDB4MGMsMHgwOCwweDliLDB4ODAgfSB9LAoteyAgMTYsIDB4ZDg1MCwgMCwgezB4MjAsMHhlMCwweDA5LDB4MjAsMHgwMiwweDRkLDB4MDgsMHg5MiwweDAwLDB4MjQsMHhlNSwweDA4LDB4MzAsMHgwYSwweDA4LDB4MDQgfSB9LAoteyAgMTYsIDB4ZDg2MCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhhZSwweDgyLDB4Y2EsMHhlMCwweGI3LDB4YzAgfSB9LAoteyAgMTYsIDB4ZDg3MCwgMCwgezB4MGYsMHhmMCwweDEzLDB4M2MsMHgwYSwweGM5LDB4YzgsMHgzZSwweDQwLDB4MGYsMHhmMCwweDAzLDB4M2MsMHgwNCwweGZmLDB4ODQgfSB9LAoteyAgMTYsIDB4ZDg4MCwgMCwgezB4MzIsMHhjMCwweDBkLDB4OTAsMHgxMywweDdjLDB4MDAsMHhkOSwweDAwLDB4ZjYsMHhjMCwweDJjLDB4MTAsMHgwMywweDJhLDB4MDQgfSB9LAoteyAgMTYsIDB4ZDg5MCwgMCwgezB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDAsMHhlNCwweDAwLDB4ZjMsMHgwMCwweDNhLDB4YzEgfSB9LAoteyAgMTYsIDB4ZDhhMCwgMCwgezB4NGYsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGY5LDB4MDgsMHgzYywweDAwLDB4MGYsMHgzMCwweDEzLDB4ZWMsMHgwMCwweGViLDB4MDQgfSB9LAoteyAgMTYsIDB4ZDhiMCwgMCwgezB4YmUsMHgxOCwweDBmLDB4OTAsMHgyMywweGFjLDB4NjAsMHhlOSwweDAyLDB4M2EsMHg0MCwweDRmLDB4OTAsMHgwMywweGUwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZDhjMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmYywweDAwLDB4Y2EsMHgwMCwweDMzLDB4YzAgfSB9LAoteyAgMTYsIDB4ZDhkMCwgMCwgezB4MGMsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGNkLDB4MDIsMHg3ZiwweDQwLDB4MGMsMHhmMCwweDQyLDB4M2MsMHgwMCwweGNmLDB4MDggfSB9LAoteyAgMTYsIDB4ZDhlMCwgMCwgezB4MzcsMHgxMCwweDBmLDB4ZDAsMHgwMywweGZjLDB4MTAsMHhjZCwweDA4LDB4M2YsMHg2NiwweDJjLDB4ZDksMHgwMywweDAwLDB4NDQgfSB9LAoteyAgMTYsIDB4ZDhmMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgxLDB4MDQsMHg2MywweDgwLDB4OGIsMHhlMCwweDIyLDB4YzAgfSB9LAoteyAgMTYsIDB4ZDkwMCwgMCwgezB4MDgsMHhiMCwweDIyLDB4ZWMsMHgwMCwweGQ4LDB4ODAsMHg2ZSwweDIwLDB4NjgsMHhiMCwweDFhLDB4MmMsMHgwMSwweGZiLDB4MDAgfSB9LAoteyAgMTYsIDB4ZDkxMCwgMCwgezB4MjIsMHgxOCwweDBiLDB4ODgsMHg0MywweDRjLDB4MDAsMHg4OCwweGEwLDB4MmMsMHhjMCwweDFkLDB4OTAsMHgwMiwweDIwLDB4NDAgfSB9LAoteyAgMTYsIDB4ZDkyMCwgMCwgezB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDEsMHgwOCwweDgwLDB4OGIsMHgyMCwweDIyLDB4YzAgfSB9LAoteyAgMTYsIDB4ZDkzMCwgMCwgezB4MDgsMHhiMCwweDIyLDB4ZWMsMHgwMCwweDg4LDB4ODgsMHgyZSwweDYyLDB4NDgsMHhiMCwweDFhLDB4Y2MsMHgwMCwweDhiLDB4MDAgfSB9LAoteyAgMTYsIDB4ZDk0MCwgMCwgezB4MjYsMHhjMCwweDRhLDB4ODgsMHgwMiwweGVjLDB4MDAsMHgwOCwweDg0LDB4MmUsMHg0MCwweDA5LDB4OTAsMHgwMiwweDIwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZDk1MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDQsMHgwMCwweDAwLDB4ODMsMHgwMCwweDYwLDB4YzAgfSB9LAoteyAgMTYsIDB4ZDk2MCwgMCwgezB4MDgsMHgzMCwweDAyLDB4Y2MsMHgwMCwweDkwLDB4MDYsMHg2YywweDAwLDB4MDgsMHgzMCwweDAyLDB4OGMsMHgwMCwweGEzLDB4MDQgfSB9LAoteyAgMTYsIDB4ZDk3MCwgMCwgezB4MjAsMHgwMCwweDhiLDB4MDAsMHgwNiwweDRjLDB4MjEsMHg4MCwweDAwLDB4NmMsMHhjMCwweDQ5LDB4MTAsMHgwYSwweDAyLDB4MDEgfSB9LAoteyAgMTYsIDB4ZDk4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2YywweDAwLDB4Y2EsMHgwMCwweGIyLDB4YzEgfSB9LAoteyAgMTYsIDB4ZDk5MCwgMCwgezB4ODgsMHhiNCwweDAzLDB4ZWMsMHgxMCwweGM4LDB4MDAsMHgyZSwweDAwLDB4MGMsMHhiMCwweDBiLDB4YmMsMHgwOCwweDhmLDB4MDAgfSB9LAoteyAgMTYsIDB4ZDlhMCwgMCwgezB4MzYsMHgwMCwweDA2LDB4ODAsMHgwMywweGVjLDB4ODAsMHhjOCwweDAyLDB4M2YsMHhjMSwweDBjLDB4OTAsMHgwMywweDAwLDB4MDMgfSB9LAoteyAgMTYsIDB4ZDliMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MWQsMHhmMCwweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzAgfSB9LAoteyAgMTYsIDB4ZDljMCwgMCwgezB4MGYsMHg3MiwweDgzLDB4ZmMsMHgxOCwweGZjLDB4MDMsMHgzZiwweDAwLDB4OGYsMHg3MCwweDAzLDB4N2MsMHgwMCwweGZmLDB4MDAgfSB9LAoteyAgMTYsIDB4ZDlkMCwgMCwgezB4M2QsMHgwMCwweDBmLDB4YzAsMHgyMywweDhjLDB4MDYsMHhmYywweDAwLDB4M2YsMHg0MCwweDBlLDB4ZDAsMHgwMywweGU4LDB4MDYgfSB9LAoteyAgMTYsIDB4ZDllMCwgMCwgezB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzUsMHg0MSwweDAzLDB4NzAsMHg0MCwweGRjLDB4MTAgfSB9LAoteyAgMTYsIDB4ZDlmMCwgMCwgezB4MzcsMHgwNCwweDBkLDB4YzEsMHgwMywweDcwLDB4NDAsMHhkYywweDEwLDB4MzcsMHgwNCwweDBkLDB4YzEsMHgwMSwweDcwLDB4NDAgfSB9LAoteyAgMTYsIDB4ZGEwMCwgMCwgezB4OWMsMHgxMCwweDE3LDB4MTQsMHgwNSwweGMxLDB4MDMsMHg3MCwweDQwLDB4ZGMsMHgxMCwweDE3LDB4MDQsMHgwZCwweGMwLDB4MzEgfSB9LAoteyAgMTYsIDB4ZGExMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzUsMHg0NCwweDA1LDB4NzEsMHgwMSwweDVjLDB4NDAgfSB9LAoteyAgMTYsIDB4ZGEyMCwgMCwgezB4NTcsMHgxMCwweDE1LDB4YzQsMHgwNSwweDIxLDB4MDEsMHg1YywweDQwLDB4NTcsMHgxMCwweDE1LDB4YzQsMHgwMSwweDcxLDB4MDEgfSB9LAoteyAgMTYsIDB4ZGEzMCwgMCwgezB4NWMsMHg0MCwweDE3LDB4MTAsMHgwNSwweGM0LDB4MDUsMHg3MSwweDA1LDB4NWMsMHg0MSwweDU3LDB4MTAsMHgxNSwweGMwLDB4MTEgfSB9LAoteyAgMTYsIDB4ZGE0MCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMiwweDAxLDB4MjAsMHg4MCwweDQ4LDB4MjAgfSB9LAoteyAgMTYsIDB4ZGE1MCwgMCwgezB4MTIsMHgwOCwweDA0LDB4ODIsMHgwMSwweDIwLDB4ODAsMHg0OCwweDIwLDB4MTIsMHgwOCwweDA0LDB4ODIsMHgwMSwweDIwLDB4ODAgfSB9LAoteyAgMTYsIDB4ZGE2MCwgMCwgezB4NDgsMHgyMCwweDEyLDB4MDgsMHgwNCwweDgyLDB4MDEsMHgyMCwweDgwLDB4NDgsMHgyMCwweDEyLDB4MDgsMHgwNCwweDgwLDB4MjAgfSB9LAoteyAgMTYsIDB4ZGE3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweDAwLDB4NjAsMHgwMCwweDU4LDB4MDAgfSB9LAoteyAgMTYsIDB4ZGE4MCwgMCwgezB4MTYsMHgwMCwweDA1LDB4ODAsMHgwMSwweDYwLDB4MDAsMHg1OCwweDAwLDB4MTYsMHgwMCwweDA1LDB4ODAsMHgwNSwweDYwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZGE5MCwgMCwgezB4NTgsMHgwMCwweDE2LDB4MTgsMHgwMSwweDgwLDB4MDEsMHg2MCwweDAwLDB4NTgsMHgwMCwweDU2LDB4MDAsMHgwNSwweDgwLDB4MjAgfSB9LAoteyAgMTYsIDB4ZGFhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzUsMHg0OCwweDA1LDB4MjIsMHgwMSwweDFjLDB4ODAgfSB9LAoteyAgMTYsIDB4ZGFiMCwgMCwgezB4NDcsMHgyMCwweDExLDB4YzgsMHgwNCwweDcyLDB4MDEsMHg1YywweDgwLDB4NTcsMHgyMCwweDExLDB4YzgsMHgwNCwweDcyLDB4NDEgfSB9LAoteyAgMTYsIDB4ZGFjMCwgMCwgezB4NWMsMHg4MCwweDU3LDB4MjAsMHgxMSwweGM4LDB4MDQsMHg3MiwweDAxLDB4MWMsMHg4MCwweDQ3LDB4MjAsMHgxNSwweGMwLDB4MzEgfSB9LAoteyAgMTYsIDB4ZGFkMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzUsMHg0MCwweDAwLDB4NjAsMHgwMCwweDE4LDB4MDAgfSB9LAoteyAgMTYsIDB4ZGFlMCwgMCwgezB4MDYsMHgwMCwweDAxLDB4ODAsMHgwMCwweDYwLDB4MDAsMHgxOCwweDAwLDB4MDYsMHgwMCwweDAxLDB4ODAsMHgwMCwweDYwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZGFmMCwgMCwgezB4MTgsMHgwMCwweDA2LDB4MDAsMHgwMSwweDgwLDB4MDAsMHg2MCwweDAwLDB4MTgsMHgwMCwweDA2LDB4MDAsMHgwMSwweDgwLDB4MzEgfSB9LAoteyAgMTYsIDB4ZGIwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzUsMHg0OCwweDA0LDB4MjIsMHgwMSwweDA4LDB4ODAgfSB9LAoteyAgMTYsIDB4ZGIxMCwgMCwgezB4NDIsMHgyMCwweDEwLDB4ODgsMHgwNCwweDIyLDB4MDEsMHgwOCwweDgwLDB4NDIsMHgyMCwweDEwLDB4ODAsMHgwNCwweDIzLDB4MDEgfSB9LAoteyAgMTYsIDB4ZGIyMCwgMCwgezB4MDgsMHg4MCwweDQyLDB4MjAsMHgxMCwweDg4LDB4MDQsMHgyMiwweDAxLDB4MDgsMHgwMCwweDQyLDB4MjAsMHgxMCwweDgwLDB4MjEgfSB9LAoteyAgMTYsIDB4ZGIzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzUsMHg0YSwweDA1LDB4NDIsMHg4MSwweDUwLDB4YTAgfSB9LAoteyAgMTYsIDB4ZGI0MCwgMCwgezB4NDQsMHgyYywweDExLDB4MGIsMHgwNCwweDQyLDB4ODEsMHgxMCwweGUwLDB4NTQsMHgyOCwweDExLDB4MDIsMHgwMCwweDQyLDB4ODEgfSB9LAoteyAgMTYsIDB4ZGI1MCwgMCwgezB4MTAsMHhhMCwweDQ0LDB4MzgsMHgxMSwweDBiLDB4MDUsMHg0MiwweDgxLDB4MTAsMHgyMSwweDE0LDB4MjgsMHgxNSwweDAwLDB4MzEgfSB9LAoteyAgMTYsIDB4ZGI2MCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwYywweDAxLDB4NTcsMHgwMCwweDU0LDB4YzAgfSB9LAoteyAgMTYsIDB4ZGI3MCwgMCwgezB4MTUsMHgzMCwweDA0LDB4NGMsMHgwMSwweDEzLDB4MDAsMHg1NCwweGMwLDB4MTUsMHg3MCwweDA1LDB4NGMsMHgwMSwweDUzLDB4MDAgfSB9LAoteyAgMTYsIDB4ZGI4MCwgMCwgezB4NTQsMHhjMCwweDE1LDB4MzAsMHg4NSwweDRjLDB4MDEsMHgxMywweDAwLDB4NTQsMHhjMCwweDE1LDB4MzAsMHgwNSwweDQwLDB4MjEgfSB9LAoteyAgMTYsIDB4ZGI5MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweDAwLDB4NDAsMHgwMCwweDEwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZGJhMCwgMCwgezB4MDQsMHgwMCwweDAwLDB4NDAsMHgwMCwweDEwLDB4MDAsMHgxMCwweDYyLDB4MDQsMHgwMCwweDAxLDB4MDgsMHgwNCwweDQxLDB4MDAgfSB9LAoteyAgMTYsIDB4ZGJiMCwgMCwgezB4MTAsMHgwMCwweDQ0LDB4MTgsMHgxMSwweDAwLDB4MDAsMHgxMCwweDAwLDB4MTAsMHg4MCwweDA0LDB4MDAsMHgwMSwweDAxLDB4MjAgfSB9LAoteyAgMTYsIDB4ZGJjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDUsMHg2MCwweDAyLDB4MDgsMHgwMCwweDgyLDB4MDAgfSB9LAoteyAgMTYsIDB4ZGJkMCwgMCwgezB4MjAsMHg4MCwweDA4LDB4NjAsMHgwMiwweDE4LDB4MDAsMHg4MiwweDAwLDB4MjAsMHg4MCwweDA4LDB4MjAsMHgwMCwweDA4LDB4MjAgfSB9LAoteyAgMTYsIDB4ZGJlMCwgMCwgezB4ODIsMHgwMCwweDAwLDB4ODAsMHg4MCwweDIwLDB4MDIsMHgxOCwweDAwLDB4ODIsMHgwMCwweDIwLDB4ODAsMHgwOCwweDAxLDB4MzEgfSB9LAoteyAgMTYsIDB4ZGJmMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzUsMHg0MCwweDA1LDB4NjQsMHgwMSwweDU4LDB4MDAgfSB9LAoteyAgMTYsIDB4ZGMwMCwgMCwgezB4NTYsMHgwMCwweDE1LDB4ODAsMHgwNSwweDYwLDB4MDEsMHg1OCwweDAwLDB4NTYsMHg0MCwweDE1LDB4ODAsMHgwNSwweDYwLDB4MDEgfSB9LAoteyAgMTYsIDB4ZGMxMCwgMCwgezB4NTgsMHgwMCwweDU2LDB4MDAsMHgxNSwweDgwLDB4MDUsMHg2MCwweDAxLDB4NTgsMHgwMCwweDc2LDB4MDAsMHgxNSwweDgwLDB4MzEgfSB9LAoteyAgMTYsIDB4ZGMyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzUsMHg0MCwweDAzLDB4NjAsMHgwMCwweGQ4LDB4MDAgfSB9LAoteyAgMTYsIDB4ZGMzMCwgMCwgezB4MzYsMHgwMCwweDBkLDB4ODAsMHgwMywweDYwLDB4MDAsMHg5OCwweDAwLDB4MzYsMHgwMCwweDFkLDB4ODgsMHgwNSwweDYwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZGM0MCwgMCwgezB4ZDgsMHgwMCwweDE2LDB4MDAsMHgwZCwweDgwLDB4MDMsMHg2MCwweDAwLDB4ZDgsMHg4MCwweDQ2LDB4MDAsMHgwZCwweDgwLDB4MzEgfSB9LAoteyAgMTYsIDB4ZGM1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzUsMHg0MiwweDA0LDB4MzAsMHg4MSwweDBjLDB4MjAgfSB9LAoteyAgMTYsIDB4ZGM2MCwgMCwgezB4NDMsMHgwOCwweDEwLDB4YzIsMHgwNCwweDMwLDB4ODEsMHgwYywweDIyLDB4NDEsMHgwOCwweDE4LDB4YzIsMHgwNCwweDMwLDB4ODkgfSB9LAoteyAgMTYsIDB4ZGM3MCwgMCwgezB4MGMsMHgyMCwweDAzLDB4MDgsMHgxMCwweGMyLDB4MDQsMHgzMCwweDgxLDB4MGMsMHgyMCwweDQzLDB4MDgsMHgxMCwweGMwLDB4MTAgfSB9LAoteyAgMTYsIDB4ZGM4MCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweDAwLDB4MzAsMHgwMCwweDBjLDB4MDAgfSB9LAoteyAgMTYsIDB4ZGM5MCwgMCwgezB4MDMsMHgwMCwweDAwLDB4YzAsMHgwMCwweDMwLDB4MDAsMHgwYywweDAwLDB4MDMsMHgwMCwweDAwLDB4YzAsMHgwMCwweDMwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZGNhMCwgMCwgezB4MGMsMHgwMCwweDAzLDB4MDAsMHgwMCwweGMwLDB4MDAsMHgzMCwweDAwLDB4MGMsMHgwMCwweDAzLDB4MDAsMHgwMCwweGMwLDB4MDEgfSB9LAoteyAgMTYsIDB4ZGNiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMiwweDAxLDB4MzAsMHg4MCwweDRjLDB4MjAgfSB9LAoteyAgMTYsIDB4ZGNjMCwgMCwgezB4MTMsMHgwOCwweDA0LDB4YzIsMHgwMSwweDMwLDB4ODAsMHg0YywweDIwLDB4MTMsMHgwOCwweDA0LDB4YzMsMHgwMSwweDMwLDB4ODAgfSB9LAoteyAgMTYsIDB4ZGNkMCwgMCwgezB4NGMsMHgyMCwweDEzLDB4MDgsMHgwNCwweGMyLDB4MDEsMHgzMCwweDgwLDB4NGMsMHgzMCwweDEzLDB4MDgsMHgwNCwweGMwLDB4MjEgfSB9LAoteyAgMTYsIDB4ZGNlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzUsMHg0MiwweDA1LDB4NjAsMHg4MSwweDU4LDB4MjAgfSB9LAoteyAgMTYsIDB4ZGNmMCwgMCwgezB4NTYsMHgwOCwweDExLDB4ODIsMHgwNSwweDYwLDB4ODEsMHg1OCwweDIwLDB4NTYsMHgwOCwweDExLDB4ODMsMHgwMCwweDYwLDB4ODEgfSB9LAoteyAgMTYsIDB4ZGQwMCwgMCwgezB4NTgsMHgyMCwweDQ2LDB4MDgsMHgxMSwweDgyLDB4MDQsMHg2MCwweDgxLDB4MTgsMHgzMCwweDU2LDB4MDgsMHgxNSwweDgwLDB4MzAgfSB9LAoteyAgMTYsIDB4ZGQxMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzUsMHg0MiwweDAwLDB4MjAsMHg4MCwweDA4LDB4MjAgfSB9LAoteyAgMTYsIDB4ZGQyMCwgMCwgezB4MDIsMHgwOCwweDAwLDB4ODIsMHgwMCwweDIwLDB4ODAsMHgwOCwweDIwLDB4MDIsMHgwOCwweDAwLDB4ODIsMHgwMCwweDMwLDB4ODAgfSB9LAoteyAgMTYsIDB4ZGQzMCwgMCwgezB4MDgsMHgyMCwweDAyLDB4MDAsMHgwMCwweDgyLDB4MDAsMHgyMCwweDgwLDB4MDgsMHgyMCwweDAzLDB4MDgsMHgwMCwweDgwLDB4MzEgfSB9LAoteyAgMTYsIDB4ZGQ0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzUsMHg0MiwweDA0LDB4NjAsMHg4MSwweDE4LDB4MjAgfSB9LAoteyAgMTYsIDB4ZGQ1MCwgMCwgezB4NDYsMHg0OCwweDExLDB4OTIsMHgwNCwweDYwLDB4ODEsMHgxOSwweDIwLDB4NDYsMHgyOCwweDExLDB4ODIsMHgwMCwweDM0LDB4ODEgfSB9LAoteyAgMTYsIDB4ZGQ2MCwgMCwgezB4MTgsMHgyMCwweDQ2LDB4NDgsMHgxMSwweDkyLDB4MDQsMHg2MCwweDgxLDB4MTgsMHgyMCwweDQzLDB4MDgsMHgxMSwweDgwLDB4MTEgfSB9LAoteyAgMTYsIDB4ZGQ3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzUsMHg2MCwweDA0LDB4NTgsMHgwMSwweDU2LDB4MDAgfSB9LAoteyAgMTYsIDB4ZGQ4MCwgMCwgezB4NTUsMHg4MCwweDE1LDB4NjAsMHgwNCwweDU4LDB4MDEsMHgxNiwweDAwLDB4NTUsMHg4MCwweDAxLDB4NjAsMHgwNCwweDE4LDB4MDEgfSB9LAoteyAgMTYsIDB4ZGQ5MCwgMCwgezB4NTYsMHgwMCwweDQ1LDB4ODAsMHgxMSwweDYwLDB4MDQsMHg1OCwweDAxLDB4MTYsMHgwMCwweDQxLDB4ODAsMHgxMSwweDQwLDB4MzEgfSB9LAoteyAgMTYsIDB4ZGRhMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNiwweDAxLDB4NDEsMHg4MCwweDUwLDB4NjAgfSB9LAoteyAgMTYsIDB4ZGRiMCwgMCwgezB4MTQsMHgxOCwweDA1LDB4MDYsMHgwMSwweDQxLDB4ODAsMHg1MCwweDYwLDB4MDQsMHgxOCwweDA1LDB4MDYsMHgwMCwweDQxLDB4ODAgfSB9LAoteyAgMTYsIDB4ZGRjMCwgMCwgezB4MTAsMHg2MCwweDE0LDB4MTgsMHgwNSwweDA2LDB4MDEsMHg0MSwweDgwLDB4NTAsMHg2MCwweDE0LDB4MTgsMHgwNSwweDAwLDB4MjAgfSB9LAoteyAgMTYsIDB4ZGRkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMiwweDAxLDB4MDAsMHg4MCwweDQwLDB4MjAgfSB9LAoteyAgMTYsIDB4ZGRlMCwgMCwgezB4MTAsMHg0OCwweDA0LDB4MTIsMHgwMSwweDAwLDB4ODAsMHg0MSwweDIwLDB4MTAsMHgwOCwweDA0LDB4MDIsMHgwMSwweDA0LDB4ODAgfSB9LAoteyAgMTYsIDB4ZGRmMCwgMCwgezB4NDAsMHgyMCwweDUwLDB4NDgsMHgwNCwweDEyLDB4MDEsMHgwMCwweDg0LDB4NDAsMHgyMCwweDEwLDB4MDgsMHgwNCwweDAwLDB4MjAgfSB9LAoteyAgMTYsIDB4ZGUwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzUsMHg0NiwweDAzLDB4NTEsMHg4MCwweGQ0LDB4NjAgfSB9LAoteyAgMTYsIDB4ZGUxMCwgMCwgezB4MzAsMHgxOCwweDBkLDB4NDYsMHgwMywweDUxLDB4ODAsMHhkNSwweDYwLDB4MzUsMHgxOCwweDBkLDB4NDYsMHgwMywweDA1LDB4ODAgfSB9LAoteyAgMTYsIDB4ZGUyMCwgMCwgezB4ZDQsMHg2MCwweDE1LDB4MTgsMHgwZCwweDQ2LDB4MDMsMHgxMSwweDgwLDB4ZDQsMHg2MCwweDM1LDB4MTgsMHgwZCwweDQwLDB4MzEgfSB9LAoteyAgMTYsIDB4ZGUzMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzUsMHg0NiwweDA1LDB4NzEsMHg4MCwweDVjLDB4NjAgfSB9LAoteyAgMTYsIDB4ZGU0MCwgMCwgezB4OTcsMHgxOCwweDE1LDB4YzYsMHgwNSwweDcxLDB4ODEsMHg1YywweDIwLDB4NTcsMHgxOCwweDE1LDB4YzYsMHgwMywweDcwLDB4ODEgfSB9LAoteyAgMTYsIDB4ZGU1MCwgMCwgezB4NWMsMHg2MCwweDU3LDB4MTgsMHgxMSwweGM2LDB4MDUsMHgzMSwweDgxLDB4NWMsMHg2MCwweDc3LDB4MTgsMHgxNSwweGMwLDB4MzEgfSB9LAoteyAgMTYsIDB4ZGU2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDUsMHg0NiwweDAzLDB4NzEsMHg4MCwweGRjLDB4NjAgfSB9LAoteyAgMTYsIDB4ZGU3MCwgMCwgezB4MzcsMHgxOCwweDBkLDB4YzYsMHgwMywweDcxLDB4ODAsMHhkZCwweDYwLDB4MzcsMHgxOCwweDA1LDB4YzYsMHgwMSwweDc1LDB4ODEgfSB9LAoteyAgMTYsIDB4ZGU4MCwgMCwgezB4ZGMsMHg2MCwweDM3LDB4MTgsMHgwZCwweGM2LDB4MDMsMHg3MSwweDg0LDB4NWMsMHg2MCwweDE3LDB4MTgsMHgxOSwweGMwLDB4MTEgfSB9LAoteyAgMTYsIDB4ZGU5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDUsMHg0NiwweDA1LDB4NzEsMHg4MSwweDVjLDB4NjAgfSB9LAoteyAgMTYsIDB4ZGVhMCwgMCwgezB4NTcsMHgxOCwweDE0LDB4ODYsMHgwNSwweDcxLDB4ODEsMHg1YywweDYwLDB4NTcsMHgxOCwweDA1LDB4YzYsMHgwNCwweDMxLDB4ODEgfSB9LAoteyAgMTYsIDB4ZGViMCwgMCwgezB4NWMsMHg2MCwweDU3LDB4MTgsMHgxNSwweGM2LDB4MDUsMHg3MSwweDgwLDB4NWMsMHg2MCwweDQzLDB4MTgsMHgxNSwweGMwLDB4MTEgfSB9LAoteyAgMTYsIDB4ZGVjMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMiwweDAxLDB4MjAsMHg4MCwweDQ4LDB4MjAgfSB9LAoteyAgMTYsIDB4ZGVkMCwgMCwgezB4MTIsMHgwOCwweDA0LDB4ODIsMHgwMSwweDIwLDB4ODAsMHg0OCwweDIwLDB4MTIsMHgwOCwweDA0LDB4ODIsMHgwMSwweDcwLDB4ODAgfSB9LAoteyAgMTYsIDB4ZGVlMCwgMCwgezB4NDgsMHgyMCwweDEyLDB4MDgsMHgwNCwweDgyLDB4MDEsMHgyMCwweDgwLDB4NDgsMHgyMCwweDE3LDB4MDgsMHgwNCwweDgwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZGVmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNiwweDAxLDB4NjEsMHg4MCwweDU4LDB4NjAgfSB9LAoteyAgMTYsIDB4ZGYwMCwgMCwgezB4MTYsMHgxOCwweDQxLDB4ODYsMHgwMSwweDYxLDB4ODAsMHgxOCwweDYwLDB4MDYsMHgzYywweDA1LDB4ODYsMHgwNCwweDYxLDB4ODAgfSB9LAoteyAgMTYsIDB4ZGYxMCwgMCwgezB4MTgsMHg2MCwweDE2LDB4MTgsMHgwMSwweDg2LDB4MDAsMHg2MSwweDgwLDB4NTgsMHg2MCwweDU2LDB4MTgsMHgxNSwweDgwLDB4MTAgfSB9LAoteyAgMTYsIDB4ZGYyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDUsMHg0MCwweDA1LDB4NzAsMHgwMSwweDVjLDB4MDAgfSB9LAoteyAgMTYsIDB4ZGYzMCwgMCwgezB4NTcsMHgwMCwweDE1LDB4YzAsMHgwNCwweDcwLDB4MDEsMHg1YywweDAwLDB4NTcsMHgwMCwweDEwLDB4YzAsMHgwNCwweDcwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZGY0MCwgMCwgezB4MWMsMHgwMCwweDQ3LDB4MDAsMHgxMSwweGMwLDB4MDQsMHg3MCwweDAxLDB4NWMsMHgwMCwweDQ3LDB4MDAsMHgwMSwweGMwLDB4MTEgfSB9LAoteyAgMTYsIDB4ZGY1MCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDUsMHg0MiwweDAwLDB4NjAsMHg4MCwweDE4LDB4MjAgfSB9LAoteyAgMTYsIDB4ZGY2MCwgMCwgezB4MDYsMHgwOCwweDAxLDB4ODIsMHgwMCwweDYwLDB4ODAsMHgxOCwweDIwLDB4MDYsMHgwOCwweDAwLDB4ODIsMHgwMCwweDYwLDB4ODAgfSB9LAoteyAgMTYsIDB4ZGY3MCwgMCwgezB4MTgsMHgyMCwweDA2LDB4MDgsMHgwMSwweDgyLDB4MDAsMHg2MCwweDgwLDB4MTgsMHgyMCwweDA2LDB4MDgsMHgwMSwweDgwLDB4MTEgfSB9LAoteyAgMTYsIDB4ZGY4MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHg0MiwweDA0LDB4MjAsMHg4MSwweDA4LDB4MjAgfSB9LAoteyAgMTYsIDB4ZGY5MCwgMCwgezB4NDIsMHgwOCwweDEwLDB4ODIsMHgwNCwweDIwLDB4ODEsMHgwOCwweDIwLDB4NDIsMHgwOCwweDExLDB4ODIsMHgwNCwweDIwLDB4ODAgfSB9LAoteyAgMTYsIDB4ZGZhMCwgMCwgezB4MDgsMHgyMCwweDQyLDB4MDgsMHgxMCwweDgyLDB4MDQsMHgyMCwweDgxLDB4MDgsMHgyMCwweDQyLDB4MDgsMHgwMCwweDgwLDB4MTEgfSB9LAoteyAgMTYsIDB4ZGZiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDUsMHg0MiwweDA1LDB4NDAsMHg4MSwweDUwLDB4MjAgfSB9LAoteyAgMTYsIDB4ZGZjMCwgMCwgezB4NTQsMHgwOCwweDE1LDB4MDIsMHgwNSwweDQwLDB4ODEsMHgxMCwweDIwLDB4NTQsMHgwYywweDE1LDB4NDIsMHgwMCwweDQwLDB4ODEgfSB9LAoteyAgMTYsIDB4ZGZkMCwgMCwgezB4NTAsMHgyMCwweDQ0LDB4MDgsMHgxMSwweDAyLDB4MDUsMHg0MCwweDgxLDB4MTAsMHgyMCwweDE0LDB4MDgsMHgwNSwweDAwLDB4MTEgfSB9LAoteyAgMTYsIDB4ZGZlMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgwMywweDAxLDB4NTAsMHhjMCwweDU0LDB4MzAgfSB9LAoteyAgMTYsIDB4ZGZmMCwgMCwgezB4MTUsMHgwOCwweDA1LDB4NDIsMHgwMSwweDUwLDB4YzAsMHg1NCwweDMwLDB4MTUsMHgwYywweDA1LDB4NDMsMHgwMSwweDUwLDB4YzAgfSB9LAoteyAgMTYsIDB4ZTAwMCwgMCwgezB4NTQsMHgzMCwweDE1LDB4MGMsMHgwNSwweDQyLDB4MDEsMHg1MCwweGMwLDB4NTQsMHgzMCwweDE1LDB4MGMsMHgwNSwweDQwLDB4MTAgfSB9LAoteyAgMTYsIDB4ZTAxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4NDIsMHgwMCwweDEwLDB4ODAgfSB9LAoteyAgMTYsIDB4ZTAyMCwgMCwgezB4MDQsMHgyMCwweDAxLDB4ODgsMHgwMCwweDYyLDB4MDAsMHgxMCwweDgwLDB4MDQsMHgwMCwweDExLDB4MDgsMHgwMCwweDQyLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTAzMCwgMCwgezB4MTAsMHg4MCwweDA0LDB4MjAsMHgwMSwweDA4LDB4MDAsMHg0MiwweDAxLDB4MTAsMHg4MCwweDA0LDB4MjAsMHgwMSwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTA0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDUsMHg0MiwweDAyLDB4MDAsMHg4MCwweDgwLDB4MjAgfSB9LAoteyAgMTYsIDB4ZTA1MCwgMCwgezB4MjAsMHgwOCwweDA4LDB4MDIsMHgwMiwweDIwLDB4ODAsMHg4MCwweDIwLDB4MjAsMHgyOCwweDAwLDB4MDIsMHgwMiwweDAwLDB4ODAgfSB9LAoteyAgMTYsIDB4ZTA2MCwgMCwgezB4ODAsMHgyMCwweDIwLDB4MGEsMHgwOCwweDAyLDB4MDIsMHgwMCwweDgwLDB4MDAsMHgyMCwweDIwLDB4MDgsMHgwOCwweDAwLDB4MTEgfSB9LAoteyAgMTYsIDB4ZTA3MCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDUsMHg0MCwweDA1LDB4NjAsMHgwMSwweDU4LDB4MDAgfSB9LAoteyAgMTYsIDB4ZTA4MCwgMCwgezB4NTYsMHgwMCwweDA1LDB4ODAsMHgwNSwweDYwLDB4MDEsMHg1OCwweDA4LDB4NTYsMHgwMCwweDE1LDB4ODAsMHgwNywweDYwLDB4MDIgfSB9LAoteyAgMTYsIDB4ZTA5MCwgMCwgezB4NTgsMHgwMCwweDU2LDB4NDAsMHgxNSwweDgwLDB4MDUsMHg2MCwweDAzLDB4MTgsMHgwMCwweDc2LDB4MDAsMHgxNSwweDgwLDB4MTEgfSB9LAoteyAgMTYsIDB4ZTBhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzUsMHg0MCwweDAzLDB4NjAsMHgwMCwweGQ4LDB4MDAgfSB9LAoteyAgMTYsIDB4ZTBiMCwgMCwgezB4MzYsMHgwMCwweDBkLDB4ODAsMHgwMSwweDYwLDB4MDAsMHhkOCwweDBhLDB4MzYsMHgwMCwweDBkLDB4ODAsMHgwNSwweDcwLDB4MDkgfSB9LAoteyAgMTYsIDB4ZTBjMCwgMCwgezB4ZDgsMHgwMSwweDM2LDB4MDAsMHgwZCwweDgwLDB4MDMsMHg2MCwweDAwLDB4ZDgsMHgwMCwweDU3LDB4MDAsMHgwZCwweDgwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTBkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA0LDB4MzAsMHgwMSwweDBjLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTBlMCwgMCwgezB4NDMsMHgwMCwweDEwLDB4YzAsMHgwMCwweDMwLDB4MDEsMHgwYywweDAwLDB4NDMsMHgyMCwweDEwLDB4YzAsMHgwNCwweDYwLDB4MDEgfSB9LAoteyAgMTYsIDB4ZTBmMCwgMCwgezB4MGMsMHgwMCwweDQzLDB4NDAsMHg1MCwweGMxLDB4MDQsMHgzMCwweDAxLDB4MGMsMHgwMCwweDQ2LDB4MDAsMHgxMCwweGMwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTEwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzAsMHgwMCwweDBjLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTExMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4YzAsMHgwMCwweDMwLDB4MDAsMHgwYywweDAwLDB4MDMsMHgwMCwweDAwLDB4ZDAsMHgwMCwweDIwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTEyMCwgMCwgezB4MGMsMHgwMCwweDAzLDB4NDAsMHgwMCwweGMwLDB4MDAsMHgzMCwweDAwLDB4MGQsMHgwMCwweDAyLDB4MDAsMHgwMCwweGMwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTEzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweDAxLDB4MzEsMHg0MCwweDRjLDB4NTAgfSB9LAoteyAgMTYsIDB4ZTE0MCwgMCwgezB4MTMsMHgxMCwweDA0LDB4YzQsMHgwMSwweDMxLDB4NDAsMHg0YywweDUwLDB4MTMsMHgxNCwweDA0LDB4YzUsMHgxMSwweDMxLDB4NDEgfSB9LAoteyAgMTYsIDB4ZTE1MCwgMCwgezB4NGMsMHg1MCwweDEzLDB4MTQsMHgwNCwweGM1LDB4MDEsMHgzMSwweDQwLDB4NGMsMHg1MCwweDEzLDB4MTQsMHgwNCwweGMwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTE2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMywweDA1LDB4NjgsMHhjMSwweDVhLDB4MzAgfSB9LAoteyAgMTYsIDB4ZTE3MCwgMCwgezB4NTYsMHg4YywweDExLDB4YTMsMHgwNCwweDY4LDB4YzEsMHgxYSwweDMwLDB4NTYsMHg4YywweDExLDB4YTMsMHgwNSwweDY4LDB4YzAgfSB9LAoteyAgMTYsIDB4ZTE4MCwgMCwgezB4NWEsMHgzMCwweDQ2LDB4OGMsMHgxMSwweGEzLDB4MDQsMHg2OCwweGMxLDB4NWEsMHgzMCwweDE2LDB4OGMsMHgxNSwweDgwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTE5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgwMCwweDA4LDB4MDAgfSB9LAoteyAgMTYsIDB4ZTFhMCwgMCwgezB4MDIsMHgwMCwweDAwLDB4ODAsMHgwMCwweDIwLDB4MDAsMHgwOCwweDAwLDB4MDIsMHgyMCwweDAwLDB4OTAsMHgwMCwweDIwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTFiMCwgMCwgezB4MDgsMHgwMCwweDAyLDB4NDAsMHgwMCwweDgwLDB4MDAsMHgyMCwweDAwLDB4MDksMHgwMCwweDAyLDB4MDAsMHgwMCwweDgwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTFjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDQ0LDB4NjIsMHgwMSwweDE4LDB4ODQgfSB9LAoteyAgMTYsIDB4ZTFkMCwgMCwgezB4NDYsMHgyMSwweDExLDB4ODgsMHg0NCwweDYyLDB4MTEsMHgxOCwweDg0LDB4NDYsMHgwMSwweDExLDB4ODgsMHg0NCwweDYyLDB4MTAgfSB9LAoteyAgMTYsIDB4ZTFlMCwgMCwgezB4MTgsMHg4NCwweDQ2LDB4MjEsMHgxMSwweDg4LDB4NDQsMHg2MiwweDExLDB4MTgsMHg4NCwweDA2LDB4MjEsMHgxMSwweDgwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTFmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ1LDB4NTAsMHgxMSwweDU0LDB4MDQgfSB9LAoteyAgMTYsIDB4ZTIwMCwgMCwgezB4NTUsMHgwMSwweDExLDB4NDAsMHg0NSwweDUwLDB4MTEsMHgxNCwweDAwLDB4NDUsMHgwMSwweDExLDB4NDAsMHg0NCwweDUwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTIxMCwgMCwgezB4MTQsMHgwNCwweDQ1LDB4MDAsMHgxNSwweDQwLDB4NDQsMHg1MCwweDExLDB4MTQsMHgwNCwweDU1LDB4MDEsMHgxMSwweDQwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTIyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDIxLDB4NDIsMHgwOCwweDUwLDB4ODIgfSB9LAoteyAgMTYsIDB4ZTIzMCwgMCwgezB4MTQsMHgyMCwweDg1LDB4MDgsMHgyMSwweDQyLDB4MDgsMHg1MCwweDgyLDB4MDQsMHgyMCwweDg1LDB4MDgsMHgyMSwweDQyLDB4MDggfSB9LAoteyAgMTYsIDB4ZTI0MCwgMCwgezB4NTAsMHg4MiwweDE0LDB4MjAsMHgwNSwweDA4LDB4MjEsMHg0MiwweDA4LDB4NTAsMHg4MiwweDE0LDB4MjAsMHg4NSwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTI1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwYSwweDAxLDB4MDIsMHg4MCwweDQwLDB4YTAgfSB9LAoteyAgMTYsIDB4ZTI2MCwgMCwgezB4MTAsMHgyOCwweDA0LDB4MGEsMHgwMSwweDAyLDB4ODAsMHg0MCwweGEwLDB4MTAsMHgyOCwweDQwLDB4MGEsMHgwMSwweDAyLDB4ODAgfSB9LAoteyAgMTYsIDB4ZTI3MCwgMCwgezB4NDAsMHhhMCwweDEwLDB4MjgsMHg0NCwweDBhLDB4MDEsMHgwMiwweDgwLDB4NDAsMHhhMCwweDEwLDB4MjgsMHgwNCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTI4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwYywweDAzLDB4NTMsMHgwMCwweGQ0LDB4YzAgfSB9LAoteyAgMTYsIDB4ZTI5MCwgMCwgezB4MzUsMHgzMCwweDBkLDB4NGMsMHgwMSwweDUzLDB4MDAsMHhkNCwweGMwLDB4MzUsMHgxMCwweDBjLDB4NGMsMHgwMywweDUzLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTJhMCwgMCwgezB4ZDQsMHhjMCwweDM1LDB4MzAsMHgwZCwweDRjLDB4MDMsMHg1MywweDAwLDB4ZDQsMHhjMCwweDM1LDB4MzAsMHgwZCwweDQwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTJiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4NzIsMHgwMSwweDVjLDB4ODAgfSB9LAoteyAgMTYsIDB4ZTJjMCwgMCwgezB4MTcsMHgyMCwweDA1LDB4YzgsMHgwNiwweDcyLDB4MDEsMHg1YywweDgwLDB4NTcsMHgyMCwweDE1LDB4YzgsMHgwMiwweDcyLDB4MDEgfSB9LAoteyAgMTYsIDB4ZTJkMCwgMCwgezB4NWMsMHg4MCwweDU3LDB4MjAsMHgxNSwweGM4LDB4MDUsMHg3MiwweDAxLDB4NWMsMHg4MCwweDM3LDB4MjAsMHgxMSwweGMwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTJlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMywweDE4LDB4NDAsMHhjNiwweDEyLDB4MzEgfSB9LAoteyAgMTYsIDB4ZTJmMCwgMCwgezB4ODQsMHg4YywweDIxLDB4MjMsMHgwOCwweDQ4LDB4YzYsMHgxMiwweDMwLDB4ODQsMHgwYywweDYxLDB4MjMsMHgxMCwweDQ4LDB4YzIgfSB9LAoteyAgMTYsIDB4ZTMwMCwgMCwgezB4MTIsMHgzMSwweDg0LDB4OGMsMHgwMSwweDIzLDB4MDgsMHg0OCwweGM2LDB4MTIsMHgzMSwweDA0LDB4OGMsMHg2MSwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTMxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4NGYsMHhmZiwweGQzLDB4ZmYgfSB9LAoteyAgMTYsIDB4ZTMyMCwgMCwgezB4ZjQsMHhmZiwweGZkLDB4M2YsMHhmZiwweDRmLDB4ZmYsMHhkMywweGZmLDB4ZjQsMHhmZiwweGZkLDB4M2YsMHhmZiwweDRmLDB4ZmYgfSB9LAoteyAgMTYsIDB4ZTMzMCwgMCwgezB4ZDMsMHhmZiwweGY0LDB4ZmYsMHhmZCwweDNmLDB4ZmYsMHg0ZiwweGZmLDB4ZDMsMHhmZiwweGY0LDB4ZmYsMHhmZCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTM0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTM1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTM2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTM3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyYywweGRiLDB4MGYsMHhiNiwweGMyLDB4Y2QgfSB9LAoteyAgMTYsIDB4ZTM4MCwgMCwgezB4YjAsMHhiMywweDZjLDB4MmMsMHhkYiwweDBiLDB4MzYsMHhjMiwweGRmLDB4YjAsMHhiMywweDZjLDB4MmMsMHhkYiwweDBiLDB4N2UgfSB9LAoteyAgMTYsIDB4ZTM5MCwgMCwgezB4YzIsMHhjZCwweGIwLDB4YjcsMHhmZCwweDJjLDB4ZGIsMHgwYiwweDM2LDB4YzIsMHhjZCwweGIwLDB4YjMsMHg2YywweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTNhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMywweDNjLDB4NGYsMHhjZiwweDEzLDB4MzMgfSB9LAoteyAgMTYsIDB4ZTNiMCwgMCwgezB4YzQsMHhjYywweGYxLDB4MzMsMHgzYywweDRjLDB4Y2YsMHgxMywweDNmLDB4YzQsMHhjYywweGYxLDB4MzMsMHgzYywweDRjLDB4ZmYgfSB9LAoteyAgMTYsIDB4ZTNjMCwgMCwgezB4MTMsMHgzMywweGM0LDB4Y2YsMHhmZCwweDMzLDB4M2MsMHg0YywweGNmLDB4MTMsMHgzMywweGM0LDB4Y2MsMHhmMSwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTNkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzYiwweDdlLDB4NGUsMHhkZiwweDkzLDB4YjcgfSB9LAoteyAgMTYsIDB4ZTNlMCwgMCwgezB4ZTQsMHhlYywweDc5LDB4M2IsMHgxZSwweDRlLDB4ZGYsMHg5MywweGJmLDB4ZTQsMHg4ZCwweGY5LDB4M2IsMHg3OCwweDRlLDB4ZmYgfSB9LAoteyAgMTYsIDB4ZTNmMCwgMCwgezB4OTMsMHhiNywweGU0LDB4ZWQsMHhmZCwweDNiLDB4MWUsMHg0ZSwweGRmLDB4OTMsMHhiNywweDg0LDB4ZWQsMHhmOSwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTQwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDAyLDB4NzAsMHg0MCwweDljLDB4MTAgfSB9LAoteyAgMTYsIDB4ZTQxMCwgMCwgezB4MjcsMHgxYywweDA5LDB4YzEsMHgwMSwweDMwLDB4NDAsMHgxYywweDEwLDB4NjcsMHgwNCwweDA5LDB4YzEsMHgwMiwweDcwLDB4NDEgfSB9LAoteyAgMTYsIDB4ZTQyMCwgMCwgezB4OWMsMHgxMSwweDA3LDB4MTQsMHgwMSwweGMxLDB4MDIsMHg3MCwweDQwLDB4OWMsMHg1MCwweDA3LDB4MWMsMHgwMSwweGMwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTQzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNCwweDA1LDB4NzEsMHgwMSwweDVjLDB4NDAgfSB9LAoteyAgMTYsIDB4ZTQ0MCwgMCwgezB4NTcsMHgxMCwweDU1LDB4YzQsMHgwMSwweDMxLDB4MDAsMHg1YywweDQwLDB4NTcsMHgxMCwweDE1LDB4YzQsMHgwNSwweDcxLDB4MDEgfSB9LAoteyAgMTYsIDB4ZTQ1MCwgMCwgezB4ZGMsMHg0MCwweDE3LDB4MTgsMHgxZCwweGM0LDB4MDUsMHg3MSwweDA1LDB4NWMsMHg0MCwweDU3LDB4MTAsMHgxZCwweGMwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTQ2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMiwweDAxLDB4MjAsMHg4MCwweDQ4LDB4MjAgfSB9LAoteyAgMTYsIDB4ZTQ3MCwgMCwgezB4MTIsMHgwMCwweDA0LDB4ODIsMHgwMSwweDIwLDB4ODAsMHg0OCwweDIwLDB4MTIsMHgwOCwweDA0LDB4ODIsMHgwMSwweDIwLDB4ODAgfSB9LAoteyAgMTYsIDB4ZTQ4MCwgMCwgezB4NDgsMHgyMCwweDEyLDB4MDgsMHgwNCwweDgyLDB4MDEsMHgyMCwweDgwLDB4NDgsMHg2MCwweDEyLDB4MDgsMHgwNCwweDgwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTQ5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NjAsMHgwMCwweDE4LDB4MDAgfSB9LAoteyAgMTYsIDB4ZTRhMCwgMCwgezB4MDYsMHgwMCwweDQxLDB4ODAsMHgwMCwweDYwLDB4MDAsMHgxOCwweDAwLDB4NDYsMHgwMCwweDAxLDB4ODAsMHgwMCwweDYwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTRiMCwgMCwgezB4MTAsMHgwMCwweDA2LDB4MTAsMHgwMSwweDgwLDB4MDAsMHg2MCwweDAwLDB4MTgsMHgyMCwweDQ2LDB4MTAsMHgwMSwweDgwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTRjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4NzIsMHgwMSwweDFjLDB4ODAgfSB9LAoteyAgMTYsIDB4ZTRkMCwgMCwgezB4NDcsMHgyMCwweDExLDB4YzgsMHgwNCwweDcyLDB4MDEsMHgxYywweDgwLDB4MDcsMHgyMCwweDExLDB4YzgsMHgwNCwweDczLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTRlMCwgMCwgezB4MWMsMHg4MCwweDQ3LDB4MjAsMHgxMSwweGNjLDB4MDQsMHg3MiwweDAxLDB4MWMsMHg4MCwweDQ3LDB4MjAsMHgxMSwweGMwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTRmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NjAsMHgwMCwweDE4LDB4MDAgfSB9LAoteyAgMTYsIDB4ZTUwMCwgMCwgezB4MDYsMHgwMCwweDAxLDB4ODQsMHgwMCwweDYwLDB4MDAsMHgxOCwweDAwLDB4MDYsMHgwMCwweDAxLDB4ODAsMHgwMCwweDYwLDB4NDAgfSB9LAoteyAgMTYsIDB4ZTUxMCwgMCwgezB4MTgsMHgwMCwweDA2LDB4MDQsMHgwMSwweDgxLDB4MDAsMHg2MCwweDAwLDB4MTgsMHgwMCwweDA2LDB4MTQsMHgwMSwweDgwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTUyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MjIsMHgwMSwweDA4LDB4ODAgfSB9LAoteyAgMTYsIDB4ZTUzMCwgMCwgezB4NDIsMHg3MCwweDEwLDB4OGMsMHgwNCwweDIyLDB4MDEsMHgwOCwweGMwLDB4MDIsMHgyMCwweDEwLDB4ODgsMHgwNCwweDIyLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTU0MCwgMCwgezB4MDgsMHg4MCwweDQyLDB4NTAsMHgxMCwweDA4LDB4MDQsMHgyMiwweDAxLDB4MDksMHgwMCwweDQyLDB4NDAsMHgxMCwweDgwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTU1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyZSwweDA0LDB4NGEsMHg4MSwweDEyLDB4YTAgfSB9LAoteyAgMTYsIDB4ZTU2MCwgMCwgezB4NDQsMHhhOCwweDExLDB4MmEsMHgwNCwweDRhLDB4ODEsMHgxMiwweGEwLDB4MDQsMHhhOCwweDExLDB4MmEsMHgwNCwweDRiLDB4ODAgfSB9LAoteyAgMTYsIDB4ZTU3MCwgMCwgezB4MTIsMHhhMCwweDQ0LDB4ODgsMHgwMSwweDJlLDB4MDQsMHg0YSwweDgxLDB4MTIsMHgyMCwweDA0LDB4OTgsMHgwMSwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTU4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4YzAsMHgwZSwweDAwLDB4NTMsMHgwMCwweDE0LDB4YzAgfSB9LAoteyAgMTYsIDB4ZTU5MCwgMCwgezB4MDUsMHgzMCwweDAxLDB4NGMsMHgwMCwweDUzLDB4MDAsMHgxNCwweGUwLDB4MDUsMHgzMCwweDAxLDB4NGMsMHgwMCwweDUzLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTVhMCwgMCwgezB4MDQsMHhjMCwweDA1LDB4MzAsMHgwMCwweDRjLDB4MDAsMHgwMywweDAwLDB4MTQsMHhjMCwweDA1LDB4MzAsMHgwMCwweDQwLDB4MTAgfSB9LAoteyAgMTYsIDB4ZTViMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4YzAsMHgwNCwweDAwLDB4NDAsMHgwMCwweDEwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTVjMCwgMCwgezB4MDQsMHg1OCwweDAxLDB4MDQsMHgwMCwweDQwLDB4MDAsMHgxMCwweDAwLDB4MDQsMHgwMCwweDAxLDB4MDAsMHgwMCwweDQxLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTVkMCwgMCwgezB4MDQsMHgwMCwweDQ0LDB4NTgsMHgxMCwweDQ0LDB4MDAsMHgwMCwweDAwLDB4MTEsMHg4MCwweDA0LDB4NTAsMHgxMCwweDQwLDB4MzAgfSB9LAoteyAgMTYsIDB4ZTVlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4YzAsMHg0MCwweDAyLDB4MDAsMHgwMCwweDgwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTVmMCwgMCwgezB4MjAsMHgwMCwweDA4LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgwMCwweDA4LDB4MDAsMHgwMiwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTYwMCwgMCwgezB4ODQsMHgwMCwweDAwLDB4MDAsMHgwOCwweDQwLDB4MDIsMHgwMCwweDAwLDB4ODAsMHgwMCwweDIwLDB4MDAsMHgwOCwweDQwLDB4MzAgfSB9LAoteyAgMTYsIDB4ZTYxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4YzAsMHg0MCwweDAwLDB4NjAsMHgwMSwweDE4LDB4MDAgfSB9LAoteyAgMTYsIDB4ZTYyMCwgMCwgezB4NDYsMHgwMCwweDAxLDB4ODAsMHgwNiwweDYwLDB4MDEsMHg5OCwweDAwLDB4NDYsMHgwMCwweDExLDB4ODAsMHgwNCwweDYwLDB4MDEgfSB9LAoteyAgMTYsIDB4ZTYzMCwgMCwgezB4MTgsMHgwMCwweDQ2LDB4MDAsMHgxMSwweDgwLDB4MDQsMHgyMCwweDAxLDB4MTgsMHgwMCwweDY2LDB4MDAsMHgxMSwweDgwLDB4MzAgfSB9LAoteyAgMTYsIDB4ZTY0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4MDEsMHg0MCwweDAwLDB4NjAsMHgwMCwweDk4LDB4MDAgfSB9LAoteyAgMTYsIDB4ZTY1MCwgMCwgezB4MjYsMHgwMCwweDA5LDB4ODAsMHgwMiwweDYwLDB4MDEsMHg5OCwweDAwLDB4MDYsMHgwMCwweDBjLDB4ODAsMHgwMiwweDYwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTY2MCwgMCwgezB4MTgsMHgwMCwweDA2LDB4MDAsMHgwMSwweDgwLDB4MDIsMHg2MCwweDAwLDB4OTgsMHg4MCwweDA2LDB4MDAsMHgwMSwweDgyLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTY3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4NDUsMHg0MiwweDAwLDB4MzAsMHg4MSwweDBjLDB4MjAgfSB9LAoteyAgMTYsIDB4ZTY4MCwgMCwgezB4NDMsMHgwOCwweDEwLDB4YzIsMHgyNCwweDMwLDB4ODEsMHg4YywweDIwLDB4MDMsMHgwOCwweDEwLDB4YzIsMHgwNCwweDIwLDB4ODAgfSB9LAoteyAgMTYsIDB4ZTY5MCwgMCwgezB4MGMsMHgyMCwweDAzLDB4MDgsMHgxOCwweGMyLDB4MDQsMHgzMCwweDgxLDB4MGMsMHgyMCwweDQzLDB4MDgsMHgxOCwweGMwLDB4MTEgfSB9LAoteyAgMTYsIDB4ZTZhMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MzAsMHgwMCwweDBjLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTZiMCwgMCwgezB4MDMsMHgwMCwweDAwLDB4YzAsMHg0MCwweDMwLDB4MDAsMHgwYywweDAwLDB4MDMsMHgwMCwweDAwLDB4ODAsMHgwMCwweDMwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTZjMCwgMCwgezB4MGMsMHgwMCwweDAzLDB4MjAsMHgwMCwweGMwLDB4MDAsMHgzMCwweDAwLDB4MGMsMHgwMCwweDAzLDB4MjAsMHgwMCwweGMwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTZkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDEsMHgwMiwweDEwLDB4MzAsMHg4MCwweDBjLDB4MjAgfSB9LAoteyAgMTYsIDB4ZTZlMCwgMCwgezB4MDMsMHgwOCwweDAwLDB4YzIsMHgwMCwweDMwLDB4ODAsMHgwYywweDIwLDB4MDMsMHgwOCwweDAwLDB4YzIsMHgwMSwweDIwLDB4ODAgfSB9LAoteyAgMTYsIDB4ZTZmMCwgMCwgezB4MGMsMHgyMCwweDAzLDB4MmMsMHgwMCwweGMyLDB4MDAsMHgzMCwweDgwLDB4MGMsMHgzMCwweDQzLDB4MmMsMHgwMCwweGMwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTcwMCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4NDUsMHg0MiwweDA0LDB4NjAsMHg4MSwweDE4LDB4MjAgfSB9LAoteyAgMTYsIDB4ZTcxMCwgMCwgezB4NDYsMHgwOCwweDExLDB4ODIsMHgwNCwweDYwLDB4ODAsMHgxOCwweDIwLDB4NDYsMHgwOCwweDExLDB4ODIsMHgwNCwweDYwLDB4ODEgfSB9LAoteyAgMTYsIDB4ZTcyMCwgMCwgezB4MTgsMHgyMCwweDQ2LDB4MGMsMHgxMSwweGMyLDB4MDQsMHg2MCwweDgxLDB4MTgsMHgzMCwweDQ2LDB4MGMsMHgxMSwweGMwLDB4MTEgfSB9LAoteyAgMTYsIDB4ZTczMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDEsMHg0MiwweDAwLDB4MjAsMHg4MCwweDA4LDB4MjAgfSB9LAoteyAgMTYsIDB4ZTc0MCwgMCwgezB4MDIsMHgyOCwweDAwLDB4ODIsMHgwMCwweDIwLDB4ODAsMHgwOCwweDIwLDB4MDIsMHgwOCwweDAwLDB4ODIsMHgwMCwweDIwLDB4ODAgfSB9LAoteyAgMTYsIDB4ZTc1MCwgMCwgezB4MDgsMHgyMCwweDAyLDB4MDgsMHgwMSwweDgyLDB4MDAsMHgyMCwweDgwLDB4MDgsMHgyMCwweDAzLDB4MDgsMHgwMSwweDgwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTc2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDUwLDB4MDEsMHg0MiwweDA0LDB4NjAsMHg4MSwweDE4LDB4MjAgfSB9LAoteyAgMTYsIDB4ZTc3MCwgMCwgezB4NDYsMHgyOCwweDExLDB4ODIsMHgwNCwweDYwLDB4ODAsMHgxOCwweDIwLDB4NDYsMHgwOCwweDExLDB4ODIsMHgwNCwweDYwLDB4ODEgfSB9LAoteyAgMTYsIDB4ZTc4MCwgMCwgezB4MTgsMHgyMCwweDQ2LDB4MDgsMHgxMCwweDgyLDB4MDQsMHg2MCwweDgxLDB4MTgsMHgyMCwweDQzLDB4MDgsMHgxMCwweDgwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTc5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4NDUsMHg0MCwweDA0LDB4NTAsMHgwMSwweDE0LDB4MDAgfSB9LAoteyAgMTYsIDB4ZTdhMCwgMCwgezB4NDUsMHgwMCwweDExLDB4NDAsMHgyNSwweDAwLDB4MDAsMHgxNCwweDAwLDB4NDUsMHgwMCwweDExLDB4NDAsMHgwNCwweDUwLDB4MDEgfSB9LAoteyAgMTYsIDB4ZTdiMCwgMCwgezB4MTQsMHgwMCwweDQ1LDB4MDAsMHgwMCwweDQwLDB4MDQsMHg1MCwweDAxLDB4NDAsMHgwMCwweDAxLDB4MDAsMHgwMCwweDQyLDB4MTEgfSB9LAoteyAgMTYsIDB4ZTdjMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDAsMHgwNiwweDAwLDB4NDEsMHg4MCwweDEwLDB4NjAgfSB9LAoteyAgMTYsIDB4ZTdkMCwgMCwgezB4MDQsMHgxOCwweDAxLDB4MDYsMHgwMCwweDQxLDB4ODAsMHgxMCwweDYwLDB4MDQsMHgxOCwweDAxLDB4MDYsMHgwMCwweDQxLDB4ODAgfSB9LAoteyAgMTYsIDB4ZTdlMCwgMCwgezB4MTAsMHg2MCwweDA0LDB4MTgsMHgwMSwweDA2LDB4MDAsMHg0MSwweDgwLDB4MTAsMHg2MCwweDA0LDB4MTgsMHgwMSwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTdmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDAsMHgwMiwweDA1LDB4MDAsMHg4MCwweDQwLDB4MjEgfSB9LAoteyAgMTYsIDB4ZTgwMCwgMCwgezB4MTAsMHgwOCwweDA0LDB4MDAsMHgwMSwweDAwLDB4ODAsMHg0MCwweDIwLDB4MTAsMHgwOCwweDA0LDB4MDIsMHgwMSwweDAwLDB4ODAgfSB9LAoteyAgMTYsIDB4ZTgxMCwgMCwgezB4NDAsMHgyMCwweDUwLDB4MDgsMHgxNCwweDAyLDB4MTEsMHgwMCwweDg0LDB4NDAsMHgyMCwweDEwLDB4MDgsMHgxNCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTgyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4NDUsMHg0NiwweDAxLDB4NTEsMHg4MCwweGQ0LDB4NjAgfSB9LAoteyAgMTYsIDB4ZTgzMCwgMCwgezB4MzUsMHgxOCwweDBkLDB4NDYsMHgwMywweDUxLDB4ODAsMHhkNCwweDYwLDB4MTUsMHgxOCwweDBkLDB4NDYsMHgwMywweDUxLDB4ODAgfSB9LAoteyAgMTYsIDB4ZTg0MCwgMCwgezB4NTQsMHg2MCwweDE1LDB4MTgsMHgwZCwweDQ2LDB4MDMsMHg1MSwweDgwLDB4ZDQsMHg2MCwweDM1LDB4MTgsMHgwZCwweDQwLDB4MTEgfSB9LAoteyAgMTYsIDB4ZTg1MCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHg0NiwweDA0LDB4NzEsMHg4MSwweDFjLDB4NjAgfSB9LAoteyAgMTYsIDB4ZTg2MCwgMCwgezB4NDUsMHgxOCwweDExLDB4ZDYsMHgwNCwweDcxLDB4ODEsMHgxYywweDYwLDB4NjcsMHgxOCwweDExLDB4YzYsMHgwNCwweDcxLDB4ODEgfSB9LAoteyAgMTYsIDB4ZTg3MCwgMCwgezB4OWMsMHg2MCwweDQ3LDB4MTgsMHgxMSwweGM2LDB4MDQsMHg3MSwweDgxLDB4MWMsMHg2MCwweDY3LDB4MTgsMHgxMSwweGMwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTg4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDUsMHg0NiwweDAyLDB4NzEsMHg4MCwweDljLDB4NjAgfSB9LAoteyAgMTYsIDB4ZTg5MCwgMCwgezB4MjcsMHgxOCwweDA5LDB4YzYsMHgwMCwweDcxLDB4ODAsMHg5YywweDYwLDB4NjcsMHgxOCwweDA5LDB4YzYsMHgwMiwweDcxLDB4ODAgfSB9LAoteyAgMTYsIDB4ZThhMCwgMCwgezB4OWMsMHg2MSwweDI3LDB4MTgsMHgwMSwweGM2LDB4MDIsMHg3MSwweDgwLDB4OWMsMHg2MCwweDA3LDB4MTgsMHgwMSwweGMwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZThiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDUwLDB4NDUsMHg0NiwweDA1LDB4NzEsMHg4MSwweDVjLDB4NjAgfSB9LAoteyAgMTYsIDB4ZThjMCwgMCwgezB4NTcsMHgxOCwweDU1LDB4ZDYsMHgwMSwweDcxLDB4ODEsMHg1YywweDYwLDB4NTcsMHgxOCwweDE1LDB4YzYsMHgwNSwweDcxLDB4ODEgfSB9LAoteyAgMTYsIDB4ZThkMCwgMCwgezB4NWMsMHg2MCwweDU3LDB4MTgsMHgxOCwweGM2LDB4MDUsMHg3MSwweDgxLDB4NWMsMHg2MCwweDQzLDB4MTgsMHgxOCwweDgyLDB4MTEgfSB9LAoteyAgMTYsIDB4ZThlMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDQsMHg1MiwweDAxLDB4MjAsMHg4MCwweDQ4LDB4MjAgfSB9LAoteyAgMTYsIDB4ZThmMCwgMCwgezB4MTIsMHg0OCwweDA0LDB4OTAsMHgwMSwweDIwLDB4ODAsMHg0OSwweDIwLDB4MTIsMHgwOCwweDA0LDB4ODIsMHgwMSwweDI0LDB4ODAgfSB9LAoteyAgMTYsIDB4ZTkwMCwgMCwgezB4NDgsMHgyMCwweDEyLDB4NDgsMHgwMCwweDkyLDB4MDEsMHgyMCwweDgwLDB4NDgsMHgyMCwweDE3LDB4NDgsMHgwNCwweDgwLDB4MDEgfSB9LAoteyAgMTYsIDB4ZTkxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDAsMHgwNiwweDAwLDB4NjEsMHg4MCwweDE4LDB4NjAgfSB9LAoteyAgMTYsIDB4ZTkyMCwgMCwgezB4MDYsMHgzYywweDAxLDB4ODYsMHgwMCwweDYxLDB4ODAsMHgxOCwweDYwLDB4NDYsMHgxOCwweDAxLDB4ODYsMHgwMCwweDYxLDB4ODAgfSB9LAoteyAgMTYsIDB4ZTkzMCwgMCwgezB4MTgsMHg2MCwweDA2LDB4MTgsMHgwMSwweDg2LDB4MDAsMHg2MSwweDgwLDB4MTgsMHg2MCwweDQ2LDB4MTgsMHgwMSwweDgwLDB4MDEgfSB9LAoteyAgMTYsIDB4ZTk0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDEsMHg2MCwweDA0LDB4NzgsMHgwMSwweDFlLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTk1MCwgMCwgezB4NDcsMHg4MCwweDExLDB4ZTAsMHgyNCwweDc4LDB4MDEsMHgxZSwweDAwLDB4MDcsMHg4MCwweDExLDB4ZTAsMHgwNCwweDc4LDB4MDEgfSB9LAoteyAgMTYsIDB4ZTk2MCwgMCwgezB4MWUsMHgwMCwweDQ3LDB4ODAsMHgxMSwweGUwLDB4MDQsMHgzOCwweDAxLDB4MWUsMHgwMCwweDQ3LDB4ODAsMHgxMSwweGMwLDB4MTEgfSB9LAoteyAgMTYsIDB4ZTk3MCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDEsMHgxMiwweDAwLDB4NjAsMHg4MCwweDE4LDB4MjAgfSB9LAoteyAgMTYsIDB4ZTk4MCwgMCwgezB4MDYsMHg0OCwweDAxLDB4OTIsMHgwMCwweDYwLDB4ODAsMHgxOSwweDIwLDB4MDYsMHgwOCwweDAxLDB4ODIsMHgwMCwweDY0LDB4ODAgfSB9LAoteyAgMTYsIDB4ZTk5MCwgMCwgezB4MTgsMHgyMCwweDA2LDB4NDgsMHgwMSwweDkzLDB4MDAsMHgyMCwweDgwLDB4MTgsMHgyMCwweDA2LDB4NDgsMHgwMSwweDgwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTlhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDEsMHg0MiwweDA0LDB4MjAsMHg4MSwweDA4LDB4MjAgfSB9LAoteyAgMTYsIDB4ZTliMCwgMCwgezB4NDIsMHgwOCwweDEwLDB4ODIsMHgwNCwweDIwLDB4ODEsMHgwOCwweDIwLDB4MDIsMHgwOCwweDEwLDB4ODIsMHgwNCwweDIwLDB4ODEgfSB9LAoteyAgMTYsIDB4ZTljMCwgMCwgezB4MDgsMHgyMCwweDQyLDB4MDgsMHgxMCwweDhhLDB4MDQsMHg2MCwweDgxLDB4MDgsMHgyMCwweDQyLDB4MDgsMHgxMCwweDgwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZTlkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4NDUsMHg0MiwweDA0LDB4NDAsMHg4MSwweDEwLDB4MjAgfSB9LAoteyAgMTYsIDB4ZTllMCwgMCwgezB4NDQsMHgwOCwweDExLDB4MDIsMHgwNCwweDQwLDB4ODEsMHgxMCwweDIwLDB4MDQsMHgwOCwweDExLDB4MDIsMHgwNCwweDQwLDB4ODEgfSB9LAoteyAgMTYsIDB4ZTlmMCwgMCwgezB4MTAsMHgyMSwweDQ0LDB4MDgsMHgwMSwweDAyLDB4MDQsMHg1MCwweDgxLDB4MTAsMHgyMCwweDA0LDB4MDgsMHgwMSwweDAwLDB4MTEgfSB9LAoteyAgMTYsIDB4ZWEwMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDAsMHgwMywweDAwLDB4NTAsMHhjMCwweDE0LDB4MzAgfSB9LAoteyAgMTYsIDB4ZWExMCwgMCwgezB4MDUsMHgwYywweDAxLDB4NDMsMHgwMCwweDUwLDB4YzAsMHgxNCwweDMwLDB4MDUsMHgwYywweDAxLDB4NDMsMHgwMCwweDUwLDB4ODAgfSB9LAoteyAgMTYsIDB4ZWEyMCwgMCwgezB4MTQsMHgzMCwweDA1LDB4MDgsMHgwMSwweDRhLDB4MDAsMHg1MCwweGMwLDB4MTQsMHgzMCwweDA1LDB4MDgsMHgwMSwweDQwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZWEzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDAsMHgwOCwweDAwLDB4NDIsMHgwMCwweDEwLDB4ODAgfSB9LAoteyAgMTYsIDB4ZWE0MCwgMCwgezB4MDQsMHgyMCwweDAxLDB4MDgsMHgwMCwweDQyLDB4MDAsMHgxMCwweDgwLDB4MDQsMHgyMCwweDAxLDB4MDgsMHgwMCwweDQyLDB4MDAgfSB9LAoteyAgMTYsIDB4ZWE1MCwgMCwgezB4MTAsMHg4MCwweDA0LDB4MjAsMHgxMSwweDAwLDB4MDAsMHg0MiwweDAwLDB4MTAsMHg4MCwweDA0LDB4MjAsMHgxMSwweDAwLDB4MTAgfSB9LAoteyAgMTYsIDB4ZWE2MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4NDUsMHg0MiwweDAyLDB4MDAsMHg4MCwweDgwLDB4MjAgfSB9LAoteyAgMTYsIDB4ZWE3MCwgMCwgezB4MjAsMHgwOCwweDA4LDB4MDIsMHgwMCwweDAwLDB4ODAsMHg4MCwweDIwLDB4MjAsMHgwOCwweDA4LDB4MDIsMHgwMiwweDAwLDB4ODAgfSB9LAoteyAgMTYsIDB4ZWE4MCwgMCwgezB4ODAsMHgyMCwweDIwLDB4MDgsMHgwOCwweDAyLDB4MDIsMHgwMCwweDgwLDB4ODAsMHgyMCwweDIwLDB4MDgsMHgwOCwweDAwLDB4MTEgfSB9LAoteyAgMTYsIDB4ZWE5MCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDEsMHg0MCwweDAwLDB4NjAsMHgwMSwweDE4LDB4MDAgfSB9LAoteyAgMTYsIDB4ZWFhMCwgMCwgezB4NDYsMHgwMCwweDExLDB4ODAsMHgwNiwweDYwLDB4MDEsMHgxOCwweDAwLDB4NDYsMHgwMCwweDExLDB4ODAsMHgwNCwweDYwLDB4MDEgfSB9LAoteyAgMTYsIDB4ZWFiMCwgMCwgezB4MTgsMHgwMCwweDQ2LDB4MDAsMHgxMSwweDgwLDB4MDQsMHg2MCwweDAxLDB4MTgsMHgwMCwweDY2LDB4MDAsMHgxMSwweDgwLDB4MTAgfSB9LAoteyAgMTYsIDB4ZWFjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDEsMHg0MCwweDAyLDB4NjQsMHgwMCwweDk4LDB4MDAgfSB9LAoteyAgMTYsIDB4ZWFkMCwgMCwgezB4MjYsMHgwMCwweDA5LDB4OTAsMHgwNiwweDYwLDB4MDEsMHg5OCwweDAwLDB4MjYsMHg0MCwweDA5LDB4ODAsMHgwMiwweDYwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZWFlMCwgMCwgezB4OTgsMHgwMCwweDI2LDB4MDAsMHgwMCwweDkwLDB4MDIsMHg2MCwweDAwLDB4OTgsMHgwMCwweDA3LDB4MDAsMHgwMSwweDgwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZWFmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4NDUsMHg2MCwweDA0LDB4MzgsMHgwNSwweDBlLDB4MDAgfSB9LAoteyAgMTYsIDB4ZWIwMCwgMCwgezB4NDMsMHg4MCwweDEwLDB4ZTAsMHg0NCwweDM4LDB4MDEsMHgwZSwweDAwLDB4NDMsMHg4MCwweDEwLDB4ZTAsMHgwNCwweDM4LDB4MDEgfSB9LAoteyAgMTYsIDB4ZWIxMCwgMCwgezB4MGUsMHgwMCwweDQzLDB4ODAsMHgxOCwweGEwLDB4MDQsMHgzOCwweDAxLDB4MGUsMHgwMCwweDQ2LDB4ODAsMHgxOCwweDgwLDB4MTEgfSB9LAoteyAgMTYsIDB4ZWIyMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDUwLDB4MDAsMHgwMSwweDAwLDB4MzAsMHg0MCwweDBjLDB4MTAgfSB9LAoteyAgMTYsIDB4ZWIzMCwgMCwgezB4MDMsMHgwNCwweDAwLDB4YzUsMHgwMCwweDMwLDB4NDAsMHgwYywweDEwLDB4MDMsMHgxNCwweDAwLDB4YzEsMHgwMCwweDMwLDB4NDAgfSB9LAoteyAgMTYsIDB4ZWI0MCwgMCwgezB4MGMsMHgxMCwweDAzLDB4MDQsMHgwMCwweDg3LDB4NDAsMHgzMCwweDQwLDB4MGMsMHgxMCwweDAyLDB4MDQsMHgwMCwweDgwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZWI1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDQsMHgwNSwweDAwLDB4MzUsMHg0MCwweDBjLDB4NTAgfSB9LAoteyAgMTYsIDB4ZWI2MCwgMCwgezB4MDMsMHgxNCwweDAwLDB4ZDUsMHgwNCwweDMxLDB4NDEsMHgwYywweDUwLDB4MDMsMHg1YywweDAwLDB4YzUsMHgwMCwweDMxLDB4MDAgfSB9LAoteyAgMTYsIDB4ZWI3MCwgMCwgezB4MGMsMHg1MCwweDAzLDB4MTAsMHgwMCwweDk0LDB4MDAsMHgzMSwweDQwLDB4MGMsMHg1MCwweDQzLDB4MTAsMHgwMCwweGMyLDB4MDAgfSB9LAoteyAgMTYsIDB4ZWI4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4NDUsMHg0MywweDA1LDB4MjAsMHhjMSwweDE4LDB4MzAgfSB9LAoteyAgMTYsIDB4ZWI5MCwgMCwgezB4NDYsMHgwYywweDExLDB4OTcsMHgwMCwweDYwLDB4YzAsMHgxOCwweDMwLDB4NDYsMHgxYywweDExLDB4ODMsMHgwNCwweDYwLDB4YzEgfSB9LAoteyAgMTYsIDB4ZWJhMCwgMCwgezB4MTgsMHgzMCwweDUyLDB4MGMsMHgxMSwweDg3LDB4MDQsMHg2MCwweGMxLDB4MTgsMHgzMCwweDQ2LDB4MGMsMHgxMSwweDgwLDB4MTEgfSB9LAoteyAgMTYsIDB4ZWJiMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDEsMHgwMCwweDAwLDB4MjEsMHg0MCwweDA4LDB4MDAgfSB9LAoteyAgMTYsIDB4ZWJjMCwgMCwgezB4MDIsMHgwMCwweDAwLDB4ODAsMHgwMCwweDIwLDB4MDAsMHgwOCwweDAwLDB4MDIsMHgwMCwweDAwLDB4ODAsMHgwMCwweDIwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZWJkMCwgMCwgezB4MDgsMHgwMCwweDAyLDB4MDAsMHgwMCwweDgwLDB4MDAsMHgyMCwweDAwLDB4MDgsMHgwMCwweDAyLDB4MDAsMHgwMCwweDgwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZWJlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDEsMHg0OCwweDQ0LDB4MjIsMHgwMSwweDE4LDB4ODQgfSB9LAoteyAgMTYsIDB4ZWJmMCwgMCwgezB4NDYsMHgyMSwweDExLDB4OTgsMHgwMCwweDYyLDB4MTAsMHgxOCwweDg0LDB4NDQsMHgyMCwweDExLDB4ODgsMHg0NCwweDYyLDB4MTEgfSB9LAoteyAgMTYsIDB4ZWMwMCwgMCwgezB4MTgsMHg4NCwweDQyLDB4MjEsMHgxMSwweDgwLDB4NDQsMHg2MiwweDExLDB4MTgsMHg4NCwweDQ2LDB4MjEsMHgxMSwweDgwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZWMxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4NDUsMHg0MCwweDA0LDB4NTAsMHgxMSwweDE0LDB4MDQgfSB9LAoteyAgMTYsIDB4ZWMyMCwgMCwgezB4NDUsMHgwMCwweDExLDB4NDEsMHgwMCwweDUwLDB4MTAsMHgxNCwweDAwLDB4NDUsMHgwMSwweDExLDB4NDAsMHg0NCwweDUwLDB4MTEgfSB9LAoteyAgMTYsIDB4ZWMzMCwgMCwgezB4MTQsMHgwNCwweDQ1LDB4MDEsMHgwMSwweDQwLDB4NDQsMHg1MCwweDExLDB4MTQsMHgwNCwweDA1LDB4MDEsMHgwMSwweDQwLDB4MTEgfSB9LAoteyAgMTYsIDB4ZWM0MCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDAsMHgwOCwweDIwLDB4NDIsMHgwOCwweDEwLDB4ODIgfSB9LAoteyAgMTYsIDB4ZWM1MCwgMCwgezB4MDQsMHgyMCwweDAxLDB4MDgsMHgyMCwweDQyLDB4MDgsMHgxMCwweDgyLDB4MDQsMHgyMCwweDgxLDB4MDgsMHgyMCwweDQyLDB4MDggfSB9LAoteyAgMTYsIDB4ZWM2MCwgMCwgezB4MTAsMHg4MiwweDA0LDB4MjIsMHg4MSwweDA4LDB4MjAsMHg1MiwweDA4LDB4MTAsMHg4YSwweDA0LDB4MjIsMHg4MSwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZWM3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDQsMHgwYSwweDAxLDB4MDIsMHg4NCwweDQwLDB4YTEgfSB9LAoteyAgMTYsIDB4ZWM4MCwgMCwgezB4MTAsMHgyOCwweDAwLDB4MGEsMHgwMSwweDAyLDB4ODAsMHg0MCwweGEwLDB4MTAsMHgyOCwweDA0LDB4MGEsMHgwMSwweDAyLDB4ODAgfSB9LAoteyAgMTYsIDB4ZWM5MCwgMCwgezB4NDAsMHhhMCwweDEwLDB4MmMsMHgxNCwweDBhLDB4MDAsMHgwMiwweDgwLDB4NDAsMHhiMCwweDEwLDB4MmMsMHgxNCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZWNhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4NDUsMHg0ZCwweDAzLDB4NTMsMHg0MCwweGQ0LDB4ZDAgfSB9LAoteyAgMTYsIDB4ZWNiMCwgMCwgezB4MzUsMHgzMCwweDBjLDB4NGQsMHgwMywweDUzLDB4NDAsMHhkNCwweGQwLDB4MzUsMHgzNCwweDBkLDB4NGQsMHgwMywweDUzLDB4NDAgfSB9LAoteyAgMTYsIDB4ZWNjMCwgMCwgezB4ZDQsMHhkMCwweDM1LDB4MzQsMHgwZCwweDRkLDB4MDIsMHgxMywweDQwLDB4ZDQsMHhkMCwweDM1LDB4MzQsMHgwZCwweDQwLDB4MTEgfSB9LAoteyAgMTYsIDB4ZWNkMCwgMCwgezB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDEsMHgwOCwweDA0LDB4NzIsMHgwMSwweDFjLDB4ODAgfSB9LAoteyAgMTYsIDB4ZWNlMCwgMCwgezB4NDcsMHgyMCwweDE1LDB4YzgsMHgwNCwweDcyLDB4MDEsMHgxYywweDgwLDB4NDcsMHgyMCwweDExLDB4YzgsMHgwNCwweDcyLDB4MTEgfSB9LAoteyAgMTYsIDB4ZWNmMCwgMCwgezB4MWMsMHg4MCwweDQ3LDB4MjYsMHgxMSwweGM4LDB4NDQsMHg3MiwweDAxLDB4MWMsMHg5MCwweDY3LDB4MjYsMHgxMSwweGMwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZWQwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMywweDA4LDB4NDAsMHhjNiwweDEyLDB4MzEgfSB9LAoteyAgMTYsIDB4ZWQxMCwgMCwgezB4ODQsMHg4YywweDAxLDB4MDMsMHgwOCwweDQ4LDB4YzYsMHgxMiwweDMwLDB4ODQsMHgwYywweDYxLDB4MjMsMHgxOCwweDQ4LDB4YzIgfSB9LAoteyAgMTYsIDB4ZWQyMCwgMCwgezB4MTIsMHgzMSwweDg0LDB4OGMsMHgwMSwweDAzLDB4MDgsMHg0OCwweGM2LDB4MTIsMHgzMSwweDA0LDB4OGMsMHgwMSwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZWQzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4NGYsMHhmZiwweGQzLDB4ZmYgfSB9LAoteyAgMTYsIDB4ZWQ0MCwgMCwgezB4ZjQsMHhmZiwweGZkLDB4M2YsMHhmZiwweDRmLDB4ZmYsMHhkMywweGZmLDB4ZjQsMHhmZiwweGZkLDB4M2YsMHhmZiwweDRmLDB4ZmYgfSB9LAoteyAgMTYsIDB4ZWQ1MCwgMCwgezB4ZDMsMHhmZiwweGY0LDB4ZmYsMHhmZCwweDNmLDB4ZmYsMHg0ZiwweGZmLDB4ZDMsMHhmZiwweGY0LDB4ZmYsMHhmZCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZWQ2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZWQ3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZWQ4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZWQ5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyZCwweGZiLDB4MGYsMHhiNiwweGMyLDB4Y2QgfSB9LAoteyAgMTYsIDB4ZWRhMCwgMCwgezB4YjAsMHhiNywweGZkLDB4M2YsMHhmYiwweDBiLDB4MzYsMHhjMiwweGRmLDB4YjAsMHhmYiwweDZjLDB4MmMsMHhkYiwweDBiLDB4N2UgfSB9LAoteyAgMTYsIDB4ZWRiMCwgMCwgezB4YzIsMHhjZCwweGIwLDB4YjcsMHhmZCwweDNmLDB4ZmIsMHgwYiwweDM2LDB4YzIsMHhjZCwweGY0LDB4YjcsMHhmZCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZWRjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMywweGZjLDB4NGYsMHhjZiwweDEzLDB4MzMgfSB9LAoteyAgMTYsIDB4ZWRkMCwgMCwgezB4YzQsMHhjZiwweGZkLDB4M2YsMHhmYywweDRjLDB4Y2YsMHgxMywweDNmLDB4YzQsMHhmYywweGYxLDB4MzMsMHgzYywweDRjLDB4ZmYgfSB9LAoteyAgMTYsIDB4ZWRlMCwgMCwgezB4MTMsMHgzMywweGM0LDB4Y2YsMHhmZCwweDNmLDB4ZmMsMHg0YywweGNmLDB4MTMsMHgzMywweGY0LDB4Y2YsMHhmZCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZWRmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzYiwweDdlLDB4NGUsMHhkZiwweDkzLDB4YjcgfSB9LAoteyAgMTYsIDB4ZWUwMCwgMCwgezB4ZTQsMHhlZCwweGY5LDB4M2YsMHhmZSwweDRlLDB4ZGYsMHg5MywweGI3LDB4ZTQsMHhlZCwweGY5LDB4M2IsMHg3ZSwweDRlLDB4YzcgfSB9LAoteyAgMTYsIDB4ZWUxMCwgMCwgezB4OTMsMHhiNywweGU0LDB4ZWMsMHg2MSwweDIzLDB4MWUsMHg0ZSwweGRmLDB4OTMsMHhiNywweDg0LDB4ZWMsMHg2MSwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZWUyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4MjQsMHhhMSwweDRhLDB4MjQgfSB9LAoteyAgMTYsIDB4ZWUzMCwgMCwgezB4NjMsMHgwMSwweDE0LDB4MDIsMHg0NCwweDAwLDB4ODEsMHgwYiwweDI4LDB4NzEsMHgwMiwweDEwLDB4ODIsMHg0MCwweDM4LDB4MTEgfSB9LAoteyAgMTYsIDB4ZWU0MCwgMCwgezB4NDEsMHgwNCwweDUwLDB4MDgsMHgxOCwweDgyLDB4ODcsMHgzOCwweDMxLDB4YzMsMHgyYywweDUyLDB4MGEsMHgxMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZWU1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDQ1LDB4MTIsMHg4MSwweDQ0LDB4ODAgfSB9LAoteyAgMTYsIDB4ZWU2MCwgMCwgezB4NzEsMHgyMSwweDFjLDB4MGEsMHgwNywweDFhLDB4ODEsMHgwMiwweGEwLDB4NTIsMHgyMCwweDE0LDB4NDgsMHgwNywweDEyLDB4ODEgfSB9LAoteyAgMTYsIDB4ZWU3MCwgMCwgezB4YzYsMHg4MCwweDYwLDB4MjAsMHgwOCwweDg4LDB4NDcsMHgwMiwweDAxLDB4NGEsMHg4MCwweDcwLDB4MjAsMHgxMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZWU4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMiwweGM1LDB4MmMsMHgwMSwweDRhLDB4MDAgfSB9LAoteyAgMTYsIDB4ZWU5MCwgMCwgezB4NTIsMHgwOSwweDFjLDB4ODAsMHgwNywweDI0LDB4MjEsMHgwOCwweDA4LDB4NzEsMHgwMiwweDEwLDB4ODAsMHg0NSwweDIwLDB4YTEgfSB9LAoteyAgMTYsIDB4ZWVhMCwgMCwgezB4NDksMHgyOCwweDUyLDB4MDEsMHgxNCwweGMwLDB4NDUsMHgwMCwweDkxLDB4YzQsMHgwMCwweDcyLDB4MDIsMHgxMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZWViMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMiwweDA3LDB4MjAsMHgwMSwweGMxLDB4MDAgfSB9LAoteyAgMTYsIDB4ZWVjMCwgMCwgezB4NzEsMHgwOSwweDEwLDB4ODAsMHgwNywweDAwLDB4MDEsMHgwMSwweDAwLDB4NzAsMHgwOCwweDE4LDB4ODAsMHgwNywweDAwLDB4MDEgfSB9LAoteyAgMTYsIDB4ZWVkMCwgMCwgezB4ODksMHgyMCwweDUyLDB4MDEsMHgwYywweDgwLDB4NDYsMHgzMCwweDgxLDB4NDUsMHgwNCwweDYwLDB4MDAsMHgxMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZWVlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweGMyLDB4MDIsMHgyMCwweDAwLDB4ODggfSB9LAoteyAgMTYsIDB4ZWVmMCwgMCwgezB4MjAsMHgyMiwweDAwLDB4MDgsMHhjMiwweDIyLDB4ODAsMHg0MCwweDg4LDB4MDIsMHgyMiwweDAwLDB4MDgsMHg4MiwweDBhLDB4YTAgfSB9LAoteyAgMTYsIDB4ZWYwMCwgMCwgezB4MGMsMHhhOCwweDAyLDB4MjIsMHgwMCwweDA4LDB4ODAsMHgwYSwweDAwLDB4ODAsMHg4YywweDAyLDB4MjIsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZWYxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAsMHgwMiwweDQzLDB4MDAsMHgwMCwweDQwLDB4MjAgfSB9LAoteyAgMTYsIDB4ZWYyMCwgMCwgezB4MzAsMHgwOCwweDA0LDB4NDAsMHg0MSwweDMwLDB4MTAsMHhjOCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDIsMHgwMywweDAwLDB4MTAgfSB9LAoteyAgMTYsIDB4ZWYzMCwgMCwgezB4YzAsMHgwMCwweDExLDB4MDgsMHgwMCwweGMyLDB4NDMsMHgxMCwweDgwLDB4YzAsMHgyMCwweDAxLDB4MDgsMHgwMCwweDAyLDB4MDAgfSB9LAoteyAgMTYsIDB4ZWY0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAsMHgwOCwweGMzLDB4MGEsMHgyMCwweGMxLDB4OGMgfSB9LAoteyAgMTYsIDB4ZWY1MCwgMCwgezB4MTIsMHgyMiwweDA0LDB4ODgsMHgwMSwweDM2LDB4MjAsMHhjMywweDA4LDB4MTIsMHgyOCwweDA0LDB4MDgsMHgwMSwweDA0LDB4MDAgfSB9LAoteyAgMTYsIDB4ZWY2MCwgMCwgezB4NGEsMHhhOCwweDIyLDB4MDEsMHgwNCwweGM4LDB4NDEsMHgyNiwweDMwLDB4YzAsMHg4OCwweDAyLDB4MjEsMHgwMCwweDAyLDB4MDAgfSB9LAoteyAgMTYsIDB4ZWY3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAsMHgwOCwweDAwLDB4MGEsMHgxMCwweGMxLDB4ODAgfSB9LAoteyAgMTYsIDB4ZWY4MCwgMCwgezB4MzIsMHgyMSwweDBjLDB4ODgsMHg0MywweDAyLDB4ODAsMHg0NCwweDgwLDB4MTIsMHgyOSwweDA0LDB4MDgsMHg0MiwweDBhLDB4OTAgfSB9LAoteyAgMTYsIDB4ZWY5MCwgMCwgezB4OGEsMHg4MCwweDAwLDB4MjAsMHgwNCwweDQ4LDB4MDMsMHgwYSwweDEwLDB4ODIsMHg4MCwweDAwLDB4MjAsMHgwMCwweDAyLDB4MDAgfSB9LAoteyAgMTYsIDB4ZWZhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwYSwweDg3LDB4MDIsMHhhMSwweDgwLDB4YWMgfSB9LAoteyAgMTYsIDB4ZWZiMCwgMCwgezB4NDMsMHgyOSwweDE0LDB4OGEsMHg4NCwweDAyLDB4YTEsMHgwMCwweGFjLDB4NDEsMHgyMCwweDEwLDB4MDgsMHgwNiwweDI2LDB4MzEgfSB9LAoteyAgMTYsIDB4ZWZjMCwgMCwgezB4ODAsMHhhNCwweDYwLDB4MjAsMHgxNCwweDRhLDB4NDQsMHgzMiwweDgxLDB4ODEsMHhhYywweDYwLDB4MmEsMHgxOCwweDAyLDB4MDAgfSB9LAoteyAgMTYsIDB4ZWZkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAsMHgwOCwweDA3LDB4MjIsMHgwMSwweGM1LDB4ODAgfSB9LAoteyAgMTYsIDB4ZWZlMCwgMCwgezB4NzMsMHgyMSwweDFjLDB4YzgsMHgwNywweDJhLDB4MDEsMHgwYywweDgwLDB4NzIsMHgyMCwweDEwLDB4NDgsMHg0NywweDI2LDB4MTEgfSB9LAoteyAgMTYsIDB4ZWZmMCwgMCwgezB4YzUsMHg4MCwweDczLDB4MjAsMHgxYywweDg4LDB4MDcsMHgyYSwweDExLDB4NDksMHg4MCwweDcwLDB4MjAsMHgxNCwweDAyLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjAwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAsMHgwMCwweDQ1LDB4MTAsMHgzMSwweGM5LDB4MGMgfSB9LAoteyAgMTYsIDB4ZjAxMCwgMCwgezB4NzMsMHgwMiwweDFjLDB4YzAsMHg0NywweDA0LDB4MDEsMHgwYSwweDBjLDB4NTEsMHgwYSwweDEwLDB4ODIsMHg0NywweDIwLDB4MzEgfSB9LAoteyAgMTYsIDB4ZjAyMCwgMCwgezB4YzgsMHgwMCwweDcyLDB4MDIsMHgxYywweDQwLDB4MDUsMHgzMCwweDExLDB4YzQsMHgwMCwweDcyLDB4MDEsMHgxOCwweDAyLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjAzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHgxMCwweDA2LDB4MjQsMHgwMSwweDQ1LDB4MDQgfSB9LAoteyAgMTYsIDB4ZjA0MCwgMCwgezB4NTEsMHg4MSwweDE4LDB4OTAsMHg0NywweDE0LDB4MDEsMHgwNCwweDA0LDB4NzEsMHg4OCwweDEwLDB4MTIsMHgwNSwweDM0LDB4MDEgfSB9LAoteyAgMTYsIDB4ZjA1MCwgMCwgezB4NDQsMHgwNCwweDUxLDB4NDAsMHgxOCwweGQwLDB4MDcsMHgzOCwweDAxLDB4YzQsMHgwNCwweDUyLDB4MDEsMHgxNCwweGMyLDB4MDQgfSB9LAoteyAgMTYsIDB4ZjA2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg3LDB4MDAsMHgyMSwweDg5LDB4MGMgfSB9LAoteyAgMTYsIDB4ZjA3MCwgMCwgezB4NjAsMHgwMSwweDFjLDB4ZDAsMHg0NSwweDI0LDB4MDEsMHhjMSwweDBjLDB4NDIsMHgwMSwweDAwLDB4MDAsMHhjNSwweDIwLDB4MzEgfSB9LAoteyAgMTYsIDB4ZjA4MCwgMCwgezB4NDEsMHgwOCwweDQwLDB4MDAsMHgxOCwweDgwLDB4NDUsMHgwMCwweDIxLDB4NDEsMHgwYywweDcwLDB4NDIsMHgxYywweGMyLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjA5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMiwweDAxLDB4MWMsMHg4MCwweGM0LDB4MjAgfSB9LAoteyAgMTYsIDB4ZjBhMCwgMCwgezB4MzEsMHgwOCwweDEwLDB4NDIsMHg0MiwweDA4LDB4ODAsMHhjNiwweDIwLDB4MzEsMHgwOSwweDAwLDB4MjAsMHgwMywweDFjLDB4OTAgfSB9LAoteyAgMTYsIDB4ZjBiMCwgMCwgezB4YzQsMHgyMCwweDAxLDB4NDksMHgwYywweDQyLDB4NDMsMHgxMCwweDgwLDB4NDQsMHgyMCwweDMxLDB4MDgsMHgxMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjBjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMCwweDgzLDB4MjAsMHgzMCwweDQ4LDB4MGMgfSB9LAoteyAgMTYsIDB4ZjBkMCwgMCwgezB4MzIsMHg0MCwweDEwLDB4OTAsMHg4MSwweDI0LDB4MjAsMHhjOCwweDA0LDB4MzIsMHg0MCwweDEwLDB4MjAsMHhjMywweDIwLDB4ODAgfSB9LAoteyAgMTYsIDB4ZjBlMCwgMCwgezB4YzgsMHgwMCwweDAyLDB4NGEsMHgwYywweGEwLDB4MDEsMHgyNCwweDEwLDB4YzgsMHgwOCwweDMyLDB4NDEsMHgxMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjBmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHg5MCwweDAzLDB4MDAsMHgwMCwweGM5LDB4MDQgfSB9LAoteyAgMTYsIDB4ZjEwMCwgMCwgezB4MzAsMHg0MCwweDAwLDB4OTAsMHgwMCwweDIwLDB4MDAsMHg4MCwweDAwLDB4MTAsMHg0MCwweDEwLDB4MDAsMHg0MCwweDIwLDB4MTAgfSB9LAoteyAgMTYsIDB4ZjExMCwgMCwgezB4YzIsMHgwMCwweDAwLDB4ODAsMHgwOCwweDIwLDB4NDMsMHgwOCwweDEwLDB4ODEsMHgwMCwweDMyLDB4NDAsMHgwYywweGMwLDB4MDQgfSB9LAoteyAgMTYsIDB4ZjEyMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjEzMCwgMCwgezB4MTAsMHgwMCwweDAwLDB4ZjAsMHgxMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHgwMCwweDAwLDB4ZjAsMHgxMCwweDgwLDB4NDAgfSB9LAoteyAgMTYsIDB4ZjE0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMCwweGYwLDB4MTAsMHg5MCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjE1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNjLDB4M2MsMHgxMCwweDgwLDB4OTAsMHg0MCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjE2MCwgMCwgezB4MDAsMHg4MCwweDEwLDB4OTAsMHhhMCwweDkwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4OTAsMHg4MCwweDgwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjE3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMCwweDkwLDB4ODAsMHg5MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweDhmLDB4MGYgfSB9LAoteyAgMTYsIDB4ZjE4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyNCwweGM2LDB4YmEsMHgwNiwweGMwLDB4MWMgfSB9LAoteyAgMTYsIDB4ZjE5MCwgMCwgezB4NDksMHgyOCwweDYxLDB4MTQsMHgyYiwweDFjLDB4MGUsMHg0MCwweDNmLDB4ZDksMHhiZiwweGQ5LDB4YWEsMHhiYywweDFhLDB4NWYgfSB9LAoteyAgMTYsIDB4ZjFhMCwgMCwgezB4MDAsMHgxMCwweGE2LDB4NTAsMHgzYiwweDYxLDB4YjMsMHgyNSwweGJjLDB4NDAsMHgxOSwweGJmLDB4ZmYsMHhlOSwweDgwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjFiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMCwweDkyLDB4MTQsMHg5NCwweDgwLDB4MGMgfSB9LAoteyAgMTYsIDB4ZjFjMCwgMCwgezB4MDcsMHgzZiwweDJiLDB4OTQsMHg4NiwweDE0LDB4ODQsMHg4MCwweDI4LDB4MDAsMHgwMCwweDQ5LDB4MTQsMHgwNCwweDg2LDB4MTIgfSB9LAoteyAgMTYsIDB4ZjFkMCwgMCwgezB4ODAsMHgwMCwweDQxLDB4MjcsMHgzNCwweGQwLDB4OTAsMHg4NCwweDkyLDB4MDAsMHgyZCwweDhhLDB4MjEsMHgxZSwweDgwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjFlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4YTIgfSB9LAoteyAgMTYsIDB4ZjFmMCwgMCwgezB4YjEsMHgwMSwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDg0LDB4YjEsMHg3OCwweDI4LDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjIwMCwgMCwgezB4MDgsMHhiMSwweDMyLDB4MTQsMHgxNCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHhhOCwweDIzLDB4NTQsMHgyMSwweDQwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjIxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjIyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MmYsMHhmZiwweGZlLDB4ZjcsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MmYsMHhkNywweGZlLDB4ZWYgfSB9LAoteyAgMTYsIDB4ZjIzMCwgMCwgezB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHg3ZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjI0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjI1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MGYsMHhlZiwweDc3LDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2UsMHhmZiwweGZlLDB4ZWYgfSB9LAoteyAgMTYsIDB4ZjI2MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhiZiwweGZmLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjI3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjI4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGRmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYgfSB9LAoteyAgMTYsIDB4ZjI5MCwgMCwgezB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4N2YsMHgyZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjJhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjJiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MWYsMHhmZiwweGZmLDB4ZWYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MWYsMHhlZiwweGVmLDB4ZWYgfSB9LAoteyAgMTYsIDB4ZjJjMCwgMCwgezB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDJmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjJkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjJlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGVmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MmYsMHhhZiwweGRmLDB4ZmYgfSB9LAoteyAgMTYsIDB4ZjJmMCwgMCwgezB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZWYsMHhmZiwweGY3LDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjMwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjMxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4M2YsMHhkZiwweGRmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYgfSB9LAoteyAgMTYsIDB4ZjMyMCwgMCwgezB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDFmLDB4ZmYsMHhkZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjMzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMiwweGM0LDB4MjQsMHhhMSwweDAwLDB4MmMgfSB9LAoteyAgMTYsIDB4ZjM0MCwgMCwgezB4NTIsMHgwYiwweDE4LDB4YzIsMHg4NiwweDJjLDB4YTEsMHg4MCwweDM4LDB4NjIsMHgwYSwweDA4LDB4NDAsMHhjNCwweDJjLDB4YTEgfSB9LAoteyAgMTYsIDB4ZjM1MCwgMCwgezB4MDgsMHgyOCwweDQyLDB4MGIsMHgxNCwweDAwLDB4ODUsMHgxNCwweGExLDB4MDgsMHgyOCwweDQzLDB4MGEsMHgxMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjM2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MTIsMHgwMSwweDAzLDB4ODAgfSB9LAoteyAgMTYsIDB4ZjM3MCwgMCwgezB4NjEsMHgyMCwweDEwLDB4MDgsMHgwNywweDEyLDB4NDEsMHg0MiwweDgwLDB4NzAsMHgyMCwweDFjLDB4MDgsMHgwNCwweDFhLDB4MDEgfSB9LAoteyAgMTYsIDB4ZjM4MCwgMCwgezB4ODQsMHg4MSwweDQwLDB4MjAsMHgxOCwweDA4LDB4NDYsMHgzNiwweDgxLDB4MDUsMHg4MCwweDYzLDB4MjAsMHgxMCwweDAwLDB4MDEgfSB9LAoteyAgMTYsIDB4ZjM5MCwgMCwgezB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg0LDB4MjQsMHgyMSwweDAwLDB4MGMgfSB9LAoteyAgMTYsIDB4ZjNhMCwgMCwgezB4NTIsMHgwMiwweDE0LDB4MDAsMHg4NywweDI4LDB4MjEsMHg4MSwweDA4LDB4NzIsMHgwNiwweDFjLDB4ODIsMHg4NCwweDIwLDB4MjEgfSB9LAoteyAgMTYsIDB4ZjNiMCwgMCwgezB4NDgsMHgxOCwweDQyLDB4MDMsMHg1NCwweDgwLDB4NDUsMHgzMCwweDI1LDB4NGEsMHgxOCwweDUzLDB4MDIsMHgxMCwweDAwLDB4MDEgfSB9LAoteyAgMTYsIDB4ZjNjMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4MjIsMHgwMSwweDAxLDB4ODAgfSB9LAoteyAgMTYsIDB4ZjNkMCwgMCwgezB4NDIsMHgyMCwweDE4LDB4YzgsMHg0NCwweDIyLDB4MDEsMHg4MCwweDg0LDB4NDIsMHgyMCwweDFjLDB4ODgsMHgwNCwweDIyLDB4MDEgfSB9LAoteyAgMTYsIDB4ZjNlMCwgMCwgezB4MDAsMHg4MCwweDQwLDB4MjAsMHgxMCwweDg4LDB4NDQsMHgzNiwweDAxLDB4NDAsMHg4MCwweDQxLDB4MDAsMHgxMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjNmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDgsMHgyMCwweDAwLDB4MGMgfSB9LAoteyAgMTYsIDB4ZjQwMCwgMCwgezB4MjIsMHgwMywweDA0LDB4NDAsMHg4MSwweDAwLDB4MjAsMHg4NCwweDA4LDB4MDMsMHgwMCwweDAwLDB4ODAsMHhjMiwweDAwLDB4MjAgfSB9LAoteyAgMTYsIDB4ZjQxMCwgMCwgezB4YzQsMHgwOCwweDAwLDB4MDMsMHgwOCwweDg4LDB4ODIsMHgxNiwweGEwLDB4NDAsMHg4OCwweDMyLDB4MjIsMHg4MCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjQyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAsMHgwMiwweDAxLDB4MDAsMHg4MCwweDA0LDB4MjAgfSB9LAoteyAgMTYsIDB4ZjQzMCwgMCwgezB4MTAsMHgwOCwweDBjLDB4YzIsMHgxMiwweDEwLDB4ODQsMHhjOCwweDIyLDB4MTIsMHgwOCwweDA0LDB4MDIsMHgwMywweDAwLDB4ODggfSB9LAoteyAgMTYsIDB4ZjQ0MCwgMCwgezB4MDAsMHgyMSwweDAwLDB4MGMsMHgwYywweDQwLDB4NDEsMHgzMCwweDAwLDB4ODQsMHgyMCwweDEwLDB4MDgsMHgwMCwweDAyLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjQ1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAsMHgwOCwweDgyLDB4MDYsMHgyMCwweDA4LDB4OGMgfSB9LAoteyAgMTYsIDB4ZjQ2MCwgMCwgezB4MzIsMHgyMiwweDBjLDB4ODgsMHg4MSwweDI2LDB4MjAsMHg0ZCwweDg4LDB4MjMsMHgyMiwweDgwLDB4ODgsMHg4MywweDA2LDB4MjAgfSB9LAoteyAgMTYsIDB4ZjQ3MCwgMCwgezB4MDgsMHg4OCwweDAwLDB4MjMsMHgwNCwweDhhLDB4ODEsMHgzNiwweDIwLDB4NGIsMHg4OCwweDMyLDB4MjIsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjQ4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAsMHgwOCwweDAyLDB4MDIsMHgwMCwweDA5LDB4ODAgfSB9LAoteyAgMTYsIDB4ZjQ5MCwgMCwgezB4MzIsMHgyMCwweDA0LDB4ODgsMHg2MCwweDIyLDB4MDAsMHg4OSwweDg0LDB4MDAsMHgyMCwweDA4LDB4OTgsMHgwMCwweDAyLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjRhMCwgMCwgezB4MDAsMHg4MCwweDAwLDB4MjAsMHgwMCwweDA4LDB4MDIsMHgzYSwweDgwLDB4NDgsMHg4MCwweDMwLDB4MjAsMHgwMCwweDAyLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjRiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAsMHgwYSwweGM0LDB4MWEsMHhhMSwweDgwLDB4YTggfSB9LAoteyAgMTYsIDB4ZjRjMCwgMCwgezB4NDEsMHgyYSwweDEwLDB4Y2EsMHhjNywweDFhLDB4YTEsMHgwNCwweGFkLDB4NzEsMHgyYSwweDE4LDB4NGEsMHhkNCwweDA2LDB4YjEgfSB9LAoteyAgMTYsIDB4ZjRkMCwgMCwgezB4MDAsMHhhOCwweDcxLDB4MmEsMHgxMCwweDA4LDB4ODQsMHgyNiwweDI5LDB4MDYsMHhhYywweDUyLDB4MmEsMHgxMCwweDAyLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjRlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAsMHgwOCwweDA0LDB4MmEsMHgwMSwweDQxLDB4ODAgfSB9LAoteyAgMTYsIDB4ZjRmMCwgMCwgezB4NDIsMHgyMCwweDFjLDB4MDAsMHgwNCwweDBhLDB4MDEsMHgwOSwweDg0LDB4NTEsMHgyMCwweDFjLDB4ODgsMHg0NCwweDAyLDB4MDEgfSB9LAoteyAgMTYsIDB4ZjUwMCwgMCwgezB4MDgsMHg4MCwweDQwLDB4MjAsMHgxMCwweDRhLDB4NDcsMHgwMiwweDAxLDB4NDgsMHg4MCwweDYzLDB4MjAsMHgxMCwweDAyLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjUxMCwgMCwgezB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAsMHgwMCwweGM0LDB4MTAsMHgyMSwweDgxLDB4MGMgfSB9LAoteyAgMTYsIDB4ZjUyMCwgMCwgezB4NDEsMHgwMiwweDBjLDB4MDAsMHhjMCwweDIwLDB4NjEsMHgwZCwweDBlLDB4NzIsMHgwMiwweDFjLDB4NDAsMHhjNCwweDA4LDB4MzEgfSB9LAoteyAgMTYsIDB4ZjUzMCwgMCwgezB4MDQsMHgxOCwweDQyLDB4MDIsMHgxMCwweDgwLDB4ODcsMHgyMCwweGIxLDB4YzQsMHgwYywweDUzLDB4MDIsMHgxMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjU0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHgyMCwweDA3LDB4MjQsMHgwMSwweGNjLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjU1MCwgMCwgezB4NzIsMHg0MCwweDE0LDB4MDAsMHgwNCwweDI0LDB4MDEsMHgwOCwweDAwLDB4NzMsMHg0MSwweDEwLDB4YzAsMHgwNywweDMwLDB4MTEgfSB9LAoteyAgMTYsIDB4ZjU2MCwgMCwgezB4Y2MsMHgwMCwweDcxLDB4MDEsMHgxMCwweDAyLDB4MDQsMHgyMCwweDgxLDB4NDYsMHgxMCwweDQyLDB4NDAsMHgxMCwweDAyLDB4MDQgfSB9LAoteyAgMTYsIDB4ZjU3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAsMHgwMCwweGM1LDB4MTAsMHgyMSwweDAwLDB4MDggfSB9LAoteyAgMTYsIDB4ZjU4MCwgMCwgezB4NjIsMHgwMiwweDFjLDB4OTAsMHhjNSwweDI0LDB4MjEsMHgwMCwweDBjLDB4NzAsMHg4MiwweDFjLDB4MTAsMHhjNCwweDIwLDB4MzEgfSB9LAoteyAgMTYsIDB4ZjU5MCwgMCwgezB4ODgsMHgwMiwweDQwLDB4MDYsMHgxYywweDAwLDB4ODUsMHgwMCwweGExLDB4MDAsMHgwYywweDQwLDB4NDIsMHgwMCwweDAyLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjVhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMiwweDA1LDB4MTQsMHg4MCwweDAxLDB4MjAgfSB9LAoteyAgMTYsIDB4ZjViMCwgMCwgezB4MzAsMHgwOCwweDBjLDB4NDIsMHgwNiwweDAwLDB4ODAsMHgwMSwweDI0LDB4NTEsMHgwOCwweDBjLDB4MDIsMHg0MSwweDAwLDB4ODAgfSB9LAoteyAgMTYsIDB4ZjVjMCwgMCwgezB4NGMsMHgyMCwweDAwLDB4MDgsMHgwYywweDMwLDB4NDIsMHgwNCwweDAwLDB4MDQsMHgyMCwweDAwLDB4MDgsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjVkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMCwweGM2LDB4MjQsMHgyMCwweDAwLDB4MGMgfSB9LAoteyAgMTYsIDB4ZjVlMCwgMCwgezB4MzIsMHhjMiwweDA0LDB4ODAsMHhjNywweDMwLDB4MjAsMHgwMCwweDBjLDB4NTMsMHhjMiwweDA0LDB4MTAsMHhjMiwweDI4LDB4NzAgfSB9LAoteyAgMTYsIDB4ZjVmMCwgMCwgezB4MGMsMHgwOSwweDAyLDB4MDIsMHg0YywweDgwLDB4ODEsMHgwNCwweDMwLDB4MDksMHgwYywweDAyLDB4NDIsMHgxMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjYwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHg4MCwweDAxLDB4MzgsMHgwMCwweDAyLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjYxMCwgMCwgezB4MTIsMHg0MCwweDBjLDB4MjAsMHgwNywweDM0LDB4MDQsMHgwMiwweDAwLDB4NjMsMHgwMSwweDA4LDB4MTAsMHgwMCwweDI0LDB4MTAgfSB9LAoteyAgMTYsIDB4ZjYyMCwgMCwgezB4MDQsMHgwMCwweDAyLDB4MDEsMHgwNCwweDgyLDB4MDEsMHgwOCwweDgwLDB4MDksMHgxMCwweDAyLDB4NDAsMHgxMCwweDAwLDB4MDQgfSB9LAoteyAgMTYsIDB4ZjYzMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMCwweDIwLDB4MTAsMHg4MCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjY0MCwgMCwgezB4MjAsMHg4MCwweDAwLDB4ZjAsMHgyMCwweDEwLDB4ODAsMHgwMCwweDAwLDB4MjAsMHg4MCwweDAwLDB4ZDAsMHg4MCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjY1MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDMwLDB4MTAsMHgwMCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGNjLDB4NDAgfSB9LAoteyAgMTYsIDB4ZjY2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNjLDB4M2MsMHgxMCwweDgwLDB4ODAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjY3MCwgMCwgezB4MDAsMHgwMCwweDEwLDB4OTAsMHg4MCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4OTAsMHg4MCwweDAwLDB4OTAgfSB9LAoteyAgMTYsIDB4ZjY4MCwgMCwgezB4ODAsMHgwMCwweDEwLDB4MDAsMHgwMCwweDEwLDB4YTAsMHg4MCwweDAwLDB4MDAsMHgwMCwweDIwLDB4MDAsMHgxMCwweDhjLDB4MDggfSB9LAoteyAgMTYsIDB4ZjY5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzNCwweDFhLDB4YmUsMHgxNywweDgwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjZhMCwgMCwgezB4M2UsMHg0MCwweDI2LDB4NmYsMHhiYSwweGUzLDB4MjQsMHg4MCwweDAwLDB4MTYsMHg1OSwweGJkLDB4ODIsMHg4MSwweDgyLDB4ZDggfSB9LAoteyAgMTYsIDB4ZjZiMCwgMCwgezB4ODAsMHgwMCwweDAwLDB4MTksMHg5OSwweDg2LDB4ODAsMHg2NCwweDgwLDB4YzAsMHgzZiwweGQ5LDB4OTksMHg4MCwweDAwLDB4MDEgfSB9LAoteyAgMTYsIDB4ZjZjMCwgMCwgezB4ZjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNiwweDE2LDB4MDIsMHg5NCwweDAwLDB4MTYgfSB9LAoteyAgMTYsIDB4ZjZkMCwgMCwgezB4YzAsMHgxNiwweDk0LDB4ODIsMHg5MCwweDE2LDB4MTAsMHg4MCwweDIxLDB4MTgsMHgyOCwweDI4LDB4MDIsMHgwYSwweDAyLDB4MDggfSB9LAoteyAgMTYsIDB4ZjZlMCwgMCwgezB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAyLDB4ODIsMHg4MCwweDE0LDB4MDAsMHgwMSwweDE0LDB4MTEsMHhhMCwweDQwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjZmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4ODQgfSB9LAoteyAgMTYsIDB4ZjcwMCwgMCwgezB4MDIsMHg4NCwweGE4LDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDkxLDB4MjIsMHg4NCwweDQxLDB4YTIsMHgwOCwweDI0LDB4MDEgfSB9LAoteyAgMTYsIDB4ZjcxMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHg4NCwweDAxLDB4NDQsMHgwMSwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjcyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjczMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4M2UsMHhmNywweGZmLDB4ZjcsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MmYsMHhlNywweGI3LDB4ZmYgfSB9LAoteyAgMTYsIDB4Zjc0MCwgMCwgezB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDJmLDB4ZmUsMHg3ZiwweGY3LDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4Zjc1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAgfSB9LAoteyAgMTYsIDB4Zjc2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MzYsMHhiZiwweGZlLDB4ZGYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGYsMHhmNywweGRmLDB4ZmYgfSB9LAoteyAgMTYsIDB4Zjc3MCwgMCwgezB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNkLDB4YjcsMHhiNywweGVmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4Zjc4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAgfSB9LAoteyAgMTYsIDB4Zjc5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MWYsMHhkZiwweGRmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGYsMHhkZiwweGRmLDB4ZmYgfSB9LAoteyAgMTYsIDB4ZjdhMCwgMCwgezB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZWYsMHhmZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjdiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjdjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4M2YsMHhiZiwweDdmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweDdmLDB4ZjcgfSB9LAoteyAgMTYsIDB4ZjdkMCwgMCwgezB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZGYsMHhmZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjdlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjdmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4M2YsMHg3ZSwweGZmLDB4ZmYsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZSwweGZmLDB4ZmYgfSB9LAoteyAgMTYsIDB4ZjgwMCwgMCwgezB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjgxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjgyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MzcsMHhmZiwweDZmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYgfSB9LAoteyAgMTYsIDB4ZjgzMCwgMCwgezB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4Zjg0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4Zjg1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4Zjg2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4Zjg3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDMwLDB4MDAsMHgyMCwweDAxLDB4MDIsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4Zjg4MCwgMCwgezB4MzAsMHgwMCwweDQzLDB4MGMsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4Zjg5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjhhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjhiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjhjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjhkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjhlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjhmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzAsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzAgfSB9LAoteyAgMTYsIDB4ZjkwMCwgMCwgezB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjkxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjkyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjkzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4Zjk0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4Zjk1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDMwLDB4YzAsMHgzMCwweGMwLDB4MDAgfSB9LAoteyAgMTYsIDB4Zjk2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4Zjk3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4Zjk4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4Zjk5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjlhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjliMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzAsMHhjMCwweDMwLDB4YzAsMHgzMCwweGMwLDB4MzAgfSB9LAoteyAgMTYsIDB4ZjljMCwgMCwgezB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjlkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjllMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZjlmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmEwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmExMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGYsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGYgfSB9LAoteyAgMTYsIDB4ZmEyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmEzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmE0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmE1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmE2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmE3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YgfSB9LAoteyAgMTYsIDB4ZmE4MCwgMCwgezB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmE5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmFhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmFiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmFjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmFkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGYsMHgwMCwweDMwLDB4YzAsMHgzMCwweGMwLDB4MGYgfSB9LAoteyAgMTYsIDB4ZmFlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmFmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmIwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmIxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmIyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmIzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTMsMHg2YiwweDAwLDB4YzAsMHgwMCwweGNmLDB4MmMgfSB9LAoteyAgMTYsIDB4ZmI0MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmI1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmI2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmI3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmI4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmI5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBmLDB4MDAsMHgwZiwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmJhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmJiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmJjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmJkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmJlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmJmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzAsMHhjMCwweDBmLDB4MDAsMHgwZiwweDAwLDB4MzAgfSB9LAoteyAgMTYsIDB4ZmMwMCwgMCwgezB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmMxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmMyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmMzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmM0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmM1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4YzAsMHgzZiwweGMwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmM2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmM3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmM4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmM5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmNhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmNiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzAsMHhjMCwweDNmLDB4YzAsMHgzZiwweGMwLDB4MzAgfSB9LAoteyAgMTYsIDB4ZmNjMCwgMCwgezB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmNkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmNlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmNmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmQwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmQxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGYsMHgwMCwweDBmLDB4MDAsMHgwZiwweDAwLDB4MGYgfSB9LAoteyAgMTYsIDB4ZmQyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmQzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmQ0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmQ1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmQ2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmQ3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhjMCwweDBmLDB4MDAsMHgwZiwweDAwLDB4M2YgfSB9LAoteyAgMTYsIDB4ZmQ4MCwgMCwgezB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmQ5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmRhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmRiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmRjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmRkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGYsMHgwMCwweDNmLDB4YzAsMHgzZiwweGMwLDB4MGYgfSB9LAoteyAgMTYsIDB4ZmRlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmRmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmUwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmUxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmUyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmUzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA2LDB4MzMsMHg1ZCwweDgwLDB4YzAsMHgwMCwweGZkLDB4YWMgfSB9LAoteyAgMTYsIDB4ZmU0MCwgMCwgezB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmU1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmU2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmU3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmU4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmU5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmVhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmViMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmVjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmVkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmVlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmVmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzAsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzAgfSB9LAoteyAgMTYsIDB4ZmYwMCwgMCwgezB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmYxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmYyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmYzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmY0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmY1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDMwLDB4YzAsMHgzMCwweGMwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmY2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmY3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmY4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmY5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmZhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmZiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzAsMHhjMCwweDMwLDB4YzAsMHgzMCwweGMwLDB4MzAgfSB9LAoteyAgMTYsIDB4ZmZjMCwgMCwgezB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmZkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmZlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ZmZmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODAxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODAyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGYsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGYgfSB9LAoteyAgMTYsIDB4ODAzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODA0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODA1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODA2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODA3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODA4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YgfSB9LAoteyAgMTYsIDB4ODA5MCwgMCwgezB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODBhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODBiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODBjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODBkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODBlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGYsMHgwMCwweDMwLDB4YzAsMHgzMCwweGMwLDB4MGYgfSB9LAoteyAgMTYsIDB4ODBmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODEwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODExMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODEyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODEzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODE0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTMsMHg3NCwweGMwLDB4YzAsMHgwMCwweGYwLDB4ZWMgfSB9LAoteyAgMTYsIDB4ODE1MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODE2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODE3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODE4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODE5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODFhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBmLDB4MDAsMHgwZiwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODFiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODFjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODFkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODFlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODFmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODIwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzAsMHhjMCwweDBmLDB4MDAsMHgwZiwweDAwLDB4MzAgfSB9LAoteyAgMTYsIDB4ODIxMCwgMCwgezB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODIyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODIzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODI0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODI1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODI2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4YzAsMHgzZiwweGMwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODI3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODI4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODI5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODJhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODJiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODJjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTksMHg4NiwweDEwLDB4ODAsMHgzMCwweDgyLDB4M2QgfSB9LAoteyAgMTYsIDB4ODJkMCwgMCwgezB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODJlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODJmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODMwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODMxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODMyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGYsMHgwMCwweDBmLDB4MDAsMHgwZiwweDAwLDB4MGYgfSB9LAoteyAgMTYsIDB4ODMzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODM0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODM1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODM2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODM3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODM4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhjMCwweDBmLDB4MDAsMHgwZiwweDAwLDB4M2YgfSB9LAoteyAgMTYsIDB4ODM5MCwgMCwgezB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODNhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODNiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODNjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODNkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODNlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGYsMHgwMCwweDNmLDB4YzAsMHgzZiwweGMwLDB4MGYgfSB9LAoteyAgMTYsIDB4ODNmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODQwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODQxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODQyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODQzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODQ0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDM3LDB4NjUsMHgyNSwweGU0LDB4ODAsMHgwMCwweGIwLDB4ODggfSB9LAoteyAgMTYsIDB4ODQ1MCwgMCwgezB4YWIsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODQ2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODQ3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODQ4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODQ5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODRhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODRiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODRjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMCwweDAwLDB4MjAsMHgwMSwweDAyLDB4MDIsMHgwMCwweDAwLDB4MzAsMHgwMCwweDQzLDB4MDAgfSB9LAoteyAgMTYsIDB4ODRkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODRlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODRmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODUwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODUxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODUyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODUzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODU0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODU1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODU2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODU3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODU4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODU5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODVhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODViMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODVjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODVkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODVlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODVmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODYwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODYxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODYyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODYzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODY0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODY1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODY2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODY3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODY4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODY5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODZhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODZiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODZjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODZkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODZlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODZmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODcwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODcxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODcyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODczMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODc0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODc1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODc2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODc3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODc4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODc5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODdhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODdiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODdjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODdkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODdlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODdmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODgwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODgxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODgyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODgzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODg0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODg1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODg2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODg3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODg4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODg5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODhhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODhiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODhjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODhkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODhlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODhmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODkwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODkxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODkyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODkzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODk0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODk1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODk2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODk3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODk4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODk5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODlhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODliMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODljMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODlkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODllMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4ODlmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGEwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGExMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGEyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGEzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGE0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGE1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGE2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGE3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGE4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGE5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGFhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGFiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGFjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGFkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGFlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGFmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGIwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGIxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGIyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGIzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGI0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGI1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGI2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGI3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGI4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGI5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGJhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGJiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGJjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGJkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGJlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGJmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGMwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGMxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGMyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGMzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGM0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGM1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGM2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGM3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGM4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGM5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGNhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGNiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGNjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGNkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGNlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGNmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGQwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGQxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGQyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGQzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGQ0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGQ1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGQ2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGQ3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGQ4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGQ5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGRhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGRiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGRjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGRkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGRlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGRmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGUwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGUxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGUyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGUzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGU0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGU1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGU2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGU3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGU4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGU5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGVhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGViMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGVjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGVkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGVlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGVmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGYwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGYxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGYyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGYzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGY0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGY1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGY2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGY3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGY4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGY5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGZhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGZiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGZjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGZkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGZlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OGZmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OTAwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OTAxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OTAyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OTAzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OTA0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OTA1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OTA2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OTA3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OTA4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OTA5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OTBhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OTBiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OTBjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OTBkMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDEsMHgwMCwweDAwLDB4NDQsMHg3MiwweDMwLDB4MDAsMHg4MCwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDMgfSB9LAoteyAgMTYsIDB4OTBlMCwgMCwgezB4MzAsMHgwMCwweDQwLDB4MGMsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OTBmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OTEwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTYsIDB4OTExMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMCwweDAwLDB4ODAsMHgwMSwweDAwLDB4MDAsMHgwMCwweDA1LDB4MzAsMHgwMCwweGEwLDB4MDEgfSB9LAoteyAgMTYsIDB4OTEyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMSwweDAwLDB4MDAsMHhlMSwweDVhLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMTIsIDB4OTEzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH0gfSwKLXsgIDAgLCAweDAwMDAsIDEsIHswIH19Ci19OwotLy8gVkVSU0lPTj0xLjEuMS4xMzEKLS8vIERBVEU9MjAwMWRlYzA2Ci0vLyBQUk9EVUNUPUVNSSAyfDYKLS8qCi0gKiBUaGlzIGZpcm13YXJlIGlzIGZvciB0aGUgRW1hZ2ljIEVNSSAyfDYgQXVkaW8gSW50ZXJmYWNlCi0gKgotICogVGhlIGZpcm13YXJlIGNvbnRhaW5lZCBoZXJlaW4gaXMgQ29weXJpZ2h0IChjKSAxOTk5LTIwMDIgRW1hZ2ljCi0gKiBhcyBhbiB1bnB1Ymxpc2hlZCB3b3JrLiBUaGlzIG5vdGljZSBkb2VzIG5vdCBpbXBseSB1bnJlc3RyaWN0ZWQKLSAqIG9yIHB1YmxpYyBhY2Nlc3MgdG8gdGhpcyBmaXJtd2FyZSB3aGljaCBpcyBhIHRyYWRlIHNlY3JldCBvZiBFbWFnaWMsCi0gKiBhbmQgd2hpY2ggbWF5IG5vdCBiZSByZXByb2R1Y2VkLCB1c2VkLCBzb2xkIG9yIHRyYW5zZmVycmVkIHRvCi0gKiBhbnkgdGhpcmQgcGFydHkgd2l0aG91dCBFbWFnaWMncyB3cml0dGVuIGNvbnNlbnQuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0gKgotICogVGhpcyBmaXJtd2FyZSBtYXkgbm90IGJlIG1vZGlmaWVkIGFuZCBtYXkgb25seSBiZSB1c2VkIHdpdGggdGhlCi0gKiBFbWFnaWMgRU1JIDJ8NiBBdWRpbyBJbnRlcmZhY2UuIERpc3RyaWJ1dGlvbiBhbmQvb3IgTW9kaWZpY2F0aW9uIG9mCi0gKiBhbnkgZHJpdmVyIHdoaWNoIGluY2x1ZGVzIHRoaXMgZmlybXdhcmUsIGluIHdob2xlIG9yIGluIHBhcnQsCi0gKiByZXF1aXJlcyB0aGUgaW5jbHVzaW9uIG9mIHRoaXMgc3RhdGVtZW50LgotICovCi1zdGF0aWMgSU5URUxfSEVYX1JFQ09SRCBnX0Zpcm13YXJlW10gPSB7Ci17ICAgMywweDAwMDAsMCx7MHgwMiwweDQzLDB4NTZ9IH0sCi17ICAgMywweDAwMDMsMCx7MHgwMiwweDRiLDB4Y2R9IH0sCi17ICAgMywweDAwMGIsMCx7MHgwMiwweDRiLDB4ZDJ9IH0sCi17ICAgMywweDAwMTMsMCx7MHgwMiwweDRiLDB4OTJ9IH0sCi17ICAgMywweDAwMWIsMCx7MHgwMiwweDRiLDB4ZDV9IH0sCi17ICAgMywweDAwMjMsMCx7MHgwMiwweDFiLDB4Mzl9IH0sCi17ICAgMywweDAwMmIsMCx7MHgwMiwweDQzLDB4ZTJ9IH0sCi17ICAgMywweDAwMzMsMCx7MHgwMiwweDNmLDB4ZjN9IH0sCi17ICAgMywweDAwM2IsMCx7MHgwMiwweDRiLDB4YzB9IH0sCi17ICAgMywweDAwNDMsMCx7MHgwMiwweDQ3LDB4MDB9IH0sCi17ICAgMywweDAwNGIsMCx7MHgwMiwweDNmLDB4ZmN9IH0sCi17ICAgMywweDAwNTMsMCx7MHgwMiwweDM3LDB4ZmF9IH0sCi17ICAgMywweDAwNWIsMCx7MHgwMiwweDRiLDB4Yzd9IH0sCi17ICAgMywweDAwNjMsMCx7MHgwMiwweDQ2LDB4ZmN9IH0sCi17ICAxNiwweDA1MDAsMCx7MHgxMiwweDAxLDB4MTAsMHgwMSwweDAwLDB4MDAsMHgwMCwweDQwLDB4NmEsMHgwOCwweDAxLDB4MDEsMHgwMCwweDAxLDB4MDEsMHgwMn0gfSwKLXsgIDE2LDB4MDUxMCwwLHsweDAwLDB4MDEsMHgwOSwweDAyLDB4YjgsMHgwMSwweDAzLDB4MDEsMHgwMCwweDgwLDB4YTAsMHgwOSwweDA0LDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgwNTIwLDAsezB4MDEsMHgwMSwweDAwLDB4MDAsMHgwYSwweDI0LDB4MDEsMHgwMCwweDAxLDB4NTYsMHgwMCwweDAyLDB4MDEsMHgwMiwweDBjLDB4MjR9IH0sCi17ICAxNiwweDA1MzAsMCx7MHgwMiwweDAxLDB4MDEsMHgwMSwweDAwLDB4MDYsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE1LDB4MjQsMHgwNiwweDA1LDB4MDEsMHgwMn0gfSwKLXsgIDE2LDB4MDU0MCwwLHsweDAzLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA5fSB9LAoteyAgMTYsMHgwNTUwLDAsezB4MjQsMHgwMywweDAyLDB4MDQsMHgwMywweDAwLDB4MDUsMHgwMCwweDBjLDB4MjQsMHgwMiwweDAzLDB4MDEsMHgwMiwweDAwLDB4MDJ9IH0sCi17ICAxNiwweDA1NjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4MjQsMHgwNiwweDA2LDB4MDMsMHgwMiwweDAzLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MDU3MCwwLHsweDAwLDB4MDksMHgyNCwweDAzLDB4MDQsMHgwMSwweDAxLDB4MDAsMHgwNiwweDAwLDB4MDksMHgwNCwweDAxLDB4MDAsMHgwMCwweDAxfSB9LAoteyAgMTYsMHgwNTgwLDAsezB4MDIsMHgwMCwweDAwLDB4MDksMHgwNCwweDAxLDB4MDEsMHgwMiwweDAxLDB4MDIsMHgwMCwweDAwLDB4MDcsMHgyNCwweDAxLDB4MDF9IH0sCi17ICAxNiwweDA1OTAsMCx7MHgwMCwweDAxLDB4MDAsMHgxMSwweDI0LDB4MDIsMHgwMSwweDAyLDB4MDIsMHgxMCwweDAzLDB4NDQsMHhhYywweDAwLDB4ODAsMHhiYn0gfSwKLXsgIDE2LDB4MDVhMCwwLHsweDAwLDB4MDAsMHg3NywweDAxLDB4MDksMHgwNSwweDBhLDB4MDUsMHg4NCwweDAxLDB4MDEsMHgwMCwweDhmLDB4MDcsMHgyNSwweDAxfSB9LAoteyAgMTYsMHgwNWIwLDAsezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwOSwweDA1LDB4OGYsMHgwMSwweDAzLDB4MDAsMHgwMSwweDA2LDB4MDAsMHgwOSwweDA0LDB4MDF9IH0sCi17ICAxNiwweDA1YzAsMCx7MHgwMiwweDAyLDB4MDEsMHgwMiwweDAwLDB4MDAsMHgwNywweDI0LDB4MDEsMHgwMSwweDAwLDB4MDEsMHgwMCwweDBlLDB4MjQsMHgwMn0gfSwKLXsgIDE2LDB4MDVkMCwwLHsweDAxLDB4MDYsMHgwMiwweDEwLDB4MDIsMHg0NCwweGFjLDB4MDAsMHg4MCwweGJiLDB4MDAsMHgwOSwweDA1LDB4MGEsMHgwNSwweDRjfSB9LAoteyAgMTYsMHgwNWUwLDAsezB4MDIsMHgwMSwweDAwLDB4OGYsMHgwNywweDI1LDB4MDEsMHgwMSwweDAwLDB4MDAsMHgwMCwweDA5LDB4MDUsMHg4ZiwweDAxLDB4MDN9IH0sCi17ICAxNiwweDA1ZjAsMCx7MHgwMCwweDAxLDB4MDYsMHgwMCwweDA5LDB4MDQsMHgwMSwweDAzLDB4MDIsMHgwMSwweDAyLDB4MDAsMHgwMCwweDA3LDB4MjQsMHgwMX0gfSwKLXsgIDE2LDB4MDYwMCwwLHsweDAxLDB4MDAsMHgwMSwweDAwLDB4MGUsMHgyNCwweDAyLDB4MDEsMHgwNiwweDAzLDB4MTgsMHgwMiwweDQ0LDB4YWMsMHgwMCwweDgwfSB9LAoteyAgMTYsMHgwNjEwLDAsezB4YmIsMHgwMCwweDA5LDB4MDUsMHgwYSwweDA1LDB4NzIsMHgwMywweDAxLDB4MDAsMHg4ZiwweDA3LDB4MjUsMHgwMSwweDAxLDB4MDB9IH0sCi17ICAxNiwweDA2MjAsMCx7MHgwMCwweDAwLDB4MDksMHgwNSwweDhmLDB4MDEsMHgwMywweDAwLDB4MDEsMHgwNiwweDAwLDB4MDksMHgwNCwweDAxLDB4MDQsMHgwMn0gfSwKLXsgIDE2LDB4MDYzMCwwLHsweDAxLDB4MDIsMHgwMCwweDAwLDB4MDcsMHgyNCwweDAxLDB4MDEsMHgwMCwweDAxLDB4MDAsMHgwYiwweDI0LDB4MDIsMHgwMSwweDAyfSB9LAoteyAgMTYsMHgwNjQwLDAsezB4MDMsMHgxOCwweDAxLDB4MDAsMHg3NywweDAxLDB4MDksMHgwNSwweDBhLDB4MDUsMHg0NiwweDAyLDB4MDEsMHgwMCwweDhmLDB4MDd9IH0sCi17ICAxNiwweDA2NTAsMCx7MHgyNSwweDAxLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwOSwweDA1LDB4OGYsMHgwMSwweDAzLDB4MDAsMHgwMSwweDA2LDB4MDAsMHgwOX0gfSwKLXsgIDE2LDB4MDY2MCwwLHsweDA0LDB4MDIsMHgwMCwweDAwLDB4MDEsMHgwMiwweDAwLDB4MDAsMHgwOSwweDA0LDB4MDIsMHgwMSwweDAxLDB4MDEsMHgwMiwweDAwfSB9LAoteyAgMTYsMHgwNjcwLDAsezB4MDAsMHgwNywweDI0LDB4MDEsMHgwNCwweDAwLDB4MDEsMHgwMCwweDExLDB4MjQsMHgwMiwweDAxLDB4MDIsMHgwMiwweDEwLDB4MDN9IH0sCi17ICAxNiwweDA2ODAsMCx7MHg0NCwweGFjLDB4MDAsMHg4MCwweGJiLDB4MDAsMHgwMCwweDc3LDB4MDEsMHgwOSwweDA1LDB4OGMsMHgwNSwweDg0LDB4MDEsMHgwMX0gfSwKLXsgIDE2LDB4MDY5MCwwLHsweDAwLDB4MDAsMHgwNywweDI1LDB4MDEsMHgwMSwweDAyLDB4MDAsMHgwMCwweDA5LDB4MDQsMHgwMiwweDAyLDB4MDEsMHgwMSwweDAyfSB9LAoteyAgMTYsMHgwNmEwLDAsezB4MDAsMHgwMCwweDA3LDB4MjQsMHgwMSwweDA0LDB4MDAsMHgwMSwweDAwLDB4MTEsMHgyNCwweDAyLDB4MDEsMHgwMiwweDAzLDB4MTh9IH0sCi17ICAxNiwweDA2YjAsMCx7MHgwMywweDQ0LDB4YWMsMHgwMCwweDgwLDB4YmIsMHgwMCwweDAwLDB4NzcsMHgwMSwweDA5LDB4MDUsMHg4YywweDA1LDB4NDYsMHgwMn0gfSwKLXsgIDE2LDB4MDZjMCwwLHsweDAxLDB4MDAsMHgwMCwweDA3LDB4MjUsMHgwMSwweDAxLDB4MDIsMHgwMCwweDAwLDB4MDUsMHgwYywweDA5LDB4MDEsMHhhMSwweDAxfSB9LAoteyAgMTYsMHgwNmQwLDAsezB4MDUsMHgwYywweDA5LDB4ZTksMHgwNSwweDBjLDB4MDksMHhlYSwweDE1LDB4MDAsMHgyNSwweDAxLDB4OTUsMHgwMiwweDc1LDB4MDF9IH0sCi17ICAxNiwweDA2ZTAsMCx7MHg4MSwweDQyLDB4OTUsMHgwMSwweDc1LDB4MDYsMHg4MSwweDAxLDB4MDUsMHgwYywweDA5LDB4MDAsMHgwNSwweDBjLDB4MDksMHgwMH0gfSwKLXsgIDE2LDB4MDZmMCwwLHsweDE1LDB4MDAsMHgyNSwweDAxLDB4OTUsMHgwMiwweDc1LDB4MDEsMHg5MSwweDA2LDB4OTUsMHgwMSwweDc1LDB4MDYsMHg5MSwweDAzfSB9LAoteyAgMTYsMHgwNzAwLDAsezB4YzAsMHgwNCwweDAzLDB4MDksMHgwNCwweDE4LDB4MDMsMHg0NSwweDAwLDB4NGQsMHgwMCwweDQxLDB4MDAsMHg0NywweDAwLDB4NDl9IH0sCi17ICAxNiwweDA3MTAsMCx7MHgwMCwweDQzLDB4MDAsMHgyMCwweDAwLDB4NDcsMHgwMCwweDZkLDB4MDAsMHg2MiwweDAwLDB4NDgsMHgwMCwweDFlLDB4MDMsMHg0NX0gfSwKLXsgIDE2LDB4MDcyMCwwLHsweDAwLDB4NmQsMHgwMCwweDYxLDB4MDAsMHg2NywweDAwLDB4NjksMHgwMCwweDYzLDB4MDAsMHgyMCwweDAwLDB4NDUsMHgwMCwweDRkfSB9LAoteyAgMTYsMHgwNzMwLDAsezB4MDAsMHg0OSwweDAwLDB4MjAsMHgwMCwweDMyLDB4MDAsMHg3YywweDAwLDB4MzYsMHgwMCwweDJhLDB4MDMsMHg0MywweDAwLDB4NmZ9IH0sCi17ICAxNiwweDA3NDAsMCx7MHgwMCwweDZlLDB4MDAsMHg2NiwweDAwLDB4NjksMHgwMCwweDY3LDB4MDAsMHg3NSwweDAwLDB4NzIsMHgwMCwweDYxLDB4MDAsMHg3NH0gfSwKLXsgIDE2LDB4MDc1MCwwLHsweDAwLDB4NjksMHgwMCwweDZmLDB4MDAsMHg2ZSwweDAwLDB4MjAsMHgwMCwweDUzLDB4MDAsMHg3NCwweDAwLDB4NzIsMHgwMCwweDY5fSB9LAoteyAgMTYsMHgwNzYwLDAsezB4MDAsMHg2ZSwweDAwLDB4NjcsMHgwMCwweDIyLDB4MDMsMHg0OSwweDAwLDB4NmUsMHgwMCwweDc0LDB4MDAsMHg2NSwweDAwLDB4NzJ9IH0sCi17ICAxNiwweDA3NzAsMCx7MHgwMCwweDY2LDB4MDAsMHg2MSwweDAwLDB4NjMsMHgwMCwweDY1LDB4MDAsMHgyMCwweDAwLDB4NTMsMHgwMCwweDc0LDB4MDAsMHg3Mn0gfSwKLXsgICA5LDB4MDc4MCwwLHsweDAwLDB4NjksMHgwMCwweDZlLDB4MDAsMHg2NywweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MDc4OSwwLHsweDc0LDB4MDAsMHhmNSwweDg2LDB4OTAsMHhmZCwweGE1LDB4N2MsMHgwNSwweGEzLDB4ZTUsMHg4MiwweDQ1LDB4ODMsMHg3MCwweGY5fSB9LAoteyAgIDEsMHgwNzk5LDAsezB4MjJ9IH0sCi17ICAxNiwweDA3OWEsMCx7MHg5MCwweDdmLDB4ZDYsMHhlMCwweDQ0LDB4ODAsMHhmMCwweDQzLDB4ODcsMHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMn0gfSwKLXsgIDE2LDB4MDdhYSwwLHsweGMwLDB4ZDAsMHhjMCwweGUwLDB4OGYsMHhlMCwweGMwLDB4ZTAsMHg4ZSwweGUwLDB4YzAsMHhlMCwweDhkLDB4ZTAsMHhjMCwweGUwfSB9LAoteyAgMTYsMHgwN2JhLDAsezB4OGMsMHhlMCwweGMwLDB4ZTAsMHhjMCwweDgyLDB4YzAsMHg4MywweDA1LDB4ODYsMHhjMCwweDg0LDB4YzAsMHg4NSwweGU1LDB4MTh9IH0sCi17ICAxNiwweDA3Y2EsMCx7MHhiNCwweDAyLDB4MDMsMHgwMiwweDA3LDB4ZDksMHhiNCwweDAxLDB4MDMsMHgwMiwweDA3LDB4ZGUsMHgwMiwweDA3LDB4ZmEsMHg3ZH0gfSwKLXsgIDE2LDB4MDdkYSwwLHsweDAxLDB4MDIsMHgwOCwweDE2LDB4ZTUsMHgxOSwweDE0LDB4ZjUsMHgxOSwweGMzLDB4YjUsMHgxMywweDAzLDB4MDIsMHgwNywweGY1fSB9LAoteyAgMTYsMHgwN2VhLDAsezB4NTAsMHgwOSwweGI0LDB4MDAsMHhlYSwweDc1LDB4MTksMHgwYSwweDAyLDB4MDcsMHhkOSwweDdkLDB4MDAsMHgwMiwweDA4LDB4MTZ9IH0sCi17ICAxNiwweDA3ZmEsMCx7MHhlNSwweDE5LDB4MTQsMHhmNSwweDE5LDB4YzMsMHhiNSwweDE0LDB4MDMsMHgwMiwweDA4LDB4MTEsMHg1MCwweDA5LDB4YjQsMHgwMH0gfSwKLXsgIDE2LDB4MDgwYSwwLHsweGNlLDB4NzUsMHgxOSwweDBhLDB4MDIsMHgwNywweGQ5LDB4N2QsMHgwMiwweDAyLDB4MDgsMHgxNiwweDdjLDB4MDUsMHg5MCwweDdmfSB9LAoteyAgMTYsMHgwODFhLDAsezB4OTksMHhlMCwweDU0LDB4NDAsMHhkYywweDAzLDB4MDIsMHgwOCwweDQzLDB4YjQsMHgwMCwweDFkLDB4OTAsMHg3ZiwweGUzLDB4NzR9IH0sCi17ICAxNiwweDA4MmEsMCx7MHg3YiwweGYwLDB4YTMsMHg3NCwweDgwLDB4ZjAsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDQwLDB4ZjAsMHg5MCwweDdmLDB4ZTUsMHhmMH0gfSwKLXsgIDE2LDB4MDgzYSwwLHsweDkwLDB4N2YsMHhlMiwweDc0LDB4MDAsMHhmMCwweDAyLDB4MDgsMHgxOCwweDA1LDB4ODYsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDgwfSB9LAoteyAgMTYsMHgwODRhLDAsezB4ZjAsMHg5MCwweDc5LDB4NjUsMHhlMCwweGI0LDB4MDEsMHgwMywweDAyLDB4MDgsMHg5ZSwweGI0LDB4MDIsMHgwMywweDAyLDB4MDh9IH0sCi17ICAxNiwweDA4NWEsMCx7MHg5NiwweGI0LDB4MDMsMHgwMywweDAyLDB4MDgsMHg4ZSwweGI0LDB4MDQsMHgwMywweDAyLDB4MDgsMHg4NiwweGI0LDB4MDUsMHgwM30gfSwKLXsgIDE2LDB4MDg2YSwwLHsweDAyLDB4MDgsMHg3ZSwweGI0LDB4MDYsMHgwMywweDAyLDB4MDgsMHg3NiwweDAyLDB4MDgsMHhmNCwweDA1LDB4ODYsMHg5MCwweDdmfSB9LAoteyAgMTYsMHgwODdhLDAsezB4NmMsMHgwMiwweDA4LDB4ZTksMHgwNSwweDg2LDB4OTAsMHg3ZiwweDZjLDB4MDIsMHgwOCwweGRkLDB4MDUsMHg4NiwweDkwLDB4N2Z9IH0sCi17ICAxNiwweDA4OGEsMCx7MHg2YywweDAyLDB4MDgsMHhjZiwweDA1LDB4ODYsMHg5MCwweDdmLDB4NmMsMHgwMiwweDA4LDB4YzAsMHgwNSwweDg2LDB4OTAsMHg3Zn0gfSwKLXsgIDE2LDB4MDg5YSwwLHsweDZjLDB4MDIsMHgwOCwweGIyLDB4MDUsMHg4NiwweDkwLDB4N2YsMHg2YywweGYwLDB4MDAsMHhmMCwweDAwLDB4ZjAsMHgwMCwweGYwfSB9LAoteyAgMTYsMHgwOGFhLDAsezB4MGQsMHhlZCwweGI0LDB4MmQsMHhmNCwweDAyLDB4MDgsMHhmNCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweDBkLDB4ZWR9IH0sCi17ICAxNiwweDA4YmEsMCx7MHhiNCwweDJkLDB4ZjUsMHgwMiwweDA4LDB4ZjQsMHhmMCwweDAwLDB4ZjAsMHgwMCwweGYwLDB4MDAsMHhmMCwweDBkLDB4ZWQsMHhiNH0gfSwKLXsgIDE2LDB4MDhjYSwwLHsweDMxLDB4ZjQsMHgwMiwweDA4LDB4ZjQsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHgwZCwweGVkLDB4YjQsMHgzMSwweGY1fSB9LAoteyAgMTYsMHgwOGRhLDAsezB4MDIsMHgwOCwweGY0LDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHgwZCwweGVkLDB4YjQsMHg2MSwweGY3LDB4MDIsMHgwOCwweGY0LDB4ZjB9IH0sCi17ICAxNiwweDA4ZWEsMCx7MHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4MGQsMHhlZCwweGI0LDB4NjEsMHhmNSwweDkwLDB4N2YsMHhlMiwweDc0LDB4MDAsMHhmMH0gfSwKLXsgIDE2LDB4MDhmYSwwLHsweGQwLDB4ODUsMHhkMCwweDg0LDB4MDUsMHg4NiwweGQwLDB4ODMsMHhkMCwweDgyLDB4ZDAsMHhlMCwweGZjLDB4ZDAsMHhlMCwweGZkfSB9LAoteyAgIDUsMHgwOTBhLDAsezB4ZDAsMHhlMCwweGZlLDB4ZDAsMHhlMH0gfSwKLXsgICA2LDB4MDkwZiwwLHsweGZmLDB4ZDAsMHhlMCwweGQwLDB4ZDAsMHgyMn0gfSwKLXsgIDE2LDB4MDkxNSwwLHsweGMwLDB4ZDAsMHhjMCwweGUwLDB4YzAsMHg4MiwweGMwLDB4ODMsMHg5MCwweDdmLDB4NmYsMHhlNSwweDBjLDB4ZjAsMHhlNSwweDBkfSB9LAoteyAgMTMsMHgwOTI1LDAsezB4ZjAsMHhlNSwweDBlLDB4ZjAsMHhkMCwweDgzLDB4ZDAsMHg4MiwweGQwLDB4ZTAsMHhkMCwweGQwLDB4MjJ9IH0sCi17ICAxNiwweDA5MzIsMCx7MHhjMCwweGQwLDB4YzAsMHhlMCwweDhmLDB4ZTAsMHhjMCwweGUwLDB4OGUsMHhlMCwweGMwLDB4ZTAsMHhjMCwweDgyLDB4YzAsMHg4M30gfSwKLXsgIDE2LDB4MDk0MiwwLHsweDA1LDB4ODYsMHhjMCwweDg0LDB4YzAsMHg4NSwweDkwLDB4NzksMHg3MCwweGUwLDB4ZmYsMHhiZiwweDAwLDB4MDMsMHgwMiwweDBhfSB9LAoteyAgMTYsMHgwOTUyLDAsezB4YjgsMHg5MCwweDdmLDB4OTYsMHhlMCwweDQ0LDB4ODAsMHhmMCwweDkwLDB4N2YsMHhlMiwweDc0LDB4ODAsMHhmMCwweDkwLDB4N2Z9IH0sCi17ICAxNiwweDA5NjIsMCx7MHg2MiwweGUwLDB4MDUsMHg4NiwweDkwLDB4N2YsMHhlMiwweDc0LDB4MDAsMHhmMCwweDkwLDB4N2YsMHg5NiwweGUwLDB4NTQsMHg3Zn0gfSwKLXsgIDE2LDB4MDk3MiwwLHsweGYwLDB4OTAsMHg3ZiwweGUyLDB4NzQsMHg4MCwweGYwLDB4OTAsMHg3OSwweDg4LDB4ZTAsMHhiNCwweDAxLDB4MDMsMHgwMiwweDA5fSB9LAoteyAgMTYsMHgwOTgyLDAsezB4YmUsMHhiNCwweDAyLDB4MDMsMHgwMiwweDA5LDB4YzMsMHhiNCwweDAzLDB4MDMsMHgwMiwweDA5LDB4YWMsMHhiNCwweDA0LDB4MDN9IH0sCi17ICAxNiwweDA5OTIsMCx7MHgwMiwweDA5LDB4OWEsMHgwNSwweDg2LDB4MDIsMHgwYSwweGIyLDB4ZWYsMHg1NCwweDAzLDB4ZmUsMHhlZiwweDAzLDB4MDMsMHg1NH0gfSwKLXsgIDE2LDB4MDlhMiwwLHsweDNmLDB4ZmYsMHg5MCwweDdmLDB4NjMsMHgwNSwweDg2LDB4MDIsMHgwOSwweGM5LDB4ZWYsMHg1NCwweDAzLDB4ZmUsMHhlZiwweDAzfSB9LAoteyAgMTYsMHgwOWIyLDAsezB4MDMsMHg1NCwweDNmLDB4ZmYsMHg5MCwweDdmLDB4NjMsMHgwNSwweDg2LDB4MDIsMHgwYSwweDM2LDB4MDUsMHg4NiwweDAyLDB4MGF9IH0sCi17ICAxNiwweDA5YzIsMCx7MHhhNSwweDA1LDB4ODYsMHgwMiwweDBhLDB4OGUsMHhlMCwweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHgwNSwweDg2LDB4ZTAsMHhlMH0gfSwKLXsgIDE2LDB4MDlkMiwwLHsweGUwLDB4MDUsMHg4NiwweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhlMCwweDA1LDB4ODYsMHhlMCwweGUwLDB4ZTAsMHgwNSwweDg2fSB9LAoteyAgMTYsMHgwOWUyLDAsezB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhlMCwweGUwLDB4MDUsMHg4NiwweGUwLDB4ZTAsMHhlMCwweDA1LDB4ODYsMHhlMCwweGUwLDB4ZTB9IH0sCi17ICAxNiwweDA5ZjIsMCx7MHhlMCwweGUwLDB4ZTAsMHgwNSwweDg2LDB4ZTAsMHhlMCwweGUwLDB4MDUsMHg4NiwweGRmLDB4Y2EsMHhlZSwweGI0LDB4MDAsMHgwM30gfSwKLXsgIDE2LDB4MGEwMiwwLHsweDAyLDB4MGEsMHhiMiwweGI0LDB4MDEsMHgwMywweDAyLDB4MGEsMHgyNSwweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhlMCwweDA1fSB9LAoteyAgMTYsMHgwYTEyLDAsezB4ODYsMHhlMCwweGUwLDB4ZTAsMHgwNSwweDg2LDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhlMCwweGUwLDB4MDUsMHg4NiwweGUwLDB4ZTB9IH0sCi17ICAxNiwweDBhMjIsMCx7MHhlMCwweDA1LDB4ODYsMHhlMCwweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHgwNSwweDg2LDB4ZTAsMHhlMCwweGUwLDB4MDUsMHg4Nn0gfSwKLXsgIDE2LDB4MGEzMiwwLHsweDAyLDB4MGEsMHhiMiwweGUwLDB4ZTAsMHhlMCwweGUwLDB4MDUsMHg4NiwweGUwLDB4ZTAsMHgwNSwweDg2LDB4ZTAsMHhlMCwweGUwfSB9LAoteyAgMTMsMHgwYTQyLDAsezB4ZTAsMHgwNSwweDg2LDB4ZTAsMHhlMCwweDA1LDB4ODYsMHhlMCwweGUwLDB4ZTAsMHhlMCwweDA1LDB4ODZ9IH0sCi17ICAxNiwweDBhNGYsMCx7MHhlMCwweGUwLDB4MDUsMHg4NiwweGUwLDB4ZTAsMHhlMCwweGUwLDB4MDUsMHg4NiwweGUwLDB4ZTAsMHgwNSwweDg2LDB4ZGYsMHhkNn0gfSwKLXsgIDE2LDB4MGE1ZiwwLHsweGVlLDB4YjQsMHgwMCwweDAzLDB4MDIsMHgwYSwweGIyLDB4YjQsMHgwMSwweDAzLDB4MDIsMHgwYSwweDgwLDB4ZTAsMHhlMCwweGUwfSB9LAoteyAgMTYsMHgwYTZmLDAsezB4ZTAsMHgwNSwweDg2LDB4ZTAsMHhlMCwweDA1LDB4ODYsMHhlMCwweGUwLDB4ZTAsMHhlMCwweDA1LDB4ODYsMHhlMCwweGUwLDB4MDV9IH0sCi17ICAxNiwweDBhN2YsMCx7MHg4NiwweGUwLDB4ZTAsMHhlMCwweGUwLDB4MDUsMHg4NiwweGUwLDB4ZTAsMHgwNSwweDg2LDB4MDIsMHgwYSwweGIyLDB4ZTAsMHhlMH0gfSwKLXsgIDE2LDB4MGE4ZiwwLHsweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhlMCwweGUwfSB9LAoteyAgMTYsMHgwYTlmLDAsezB4ZGYsMHhlYywweDAyLDB4MGEsMHhiMiwweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZTB9IH0sCi17ICAxNiwweDBhYWYsMCx7MHhlMCwweGRmLDB4ZjIsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDAwLDB4ZjAsMHhkMCwweDg1LDB4ZDAsMHg4NCwweDA1LDB4ODYsMHhkMH0gfSwKLXsgIDE0LDB4MGFiZiwwLHsweDgzLDB4ZDAsMHg4MiwweGQwLDB4ZTAsMHhmZSwweGQwLDB4ZTAsMHhmZiwweGQwLDB4ZTAsMHhkMCwweGQwLDB4MjJ9IH0sCi17ICAxNiwweDBhY2QsMCx7MHhjMCwweDgyLDB4YzAsMHg4MywweGMwLDB4ZTAsMHhlOCwweGMwLDB4ZTAsMHg3OCwweGQxLDB4ZTgsMHgxNCwweGY4LDB4NzAsMHhmYn0gfSwKLXsgIDEwLDB4MGFkZCwwLHsweGQwLDB4ZTAsMHhmOCwweGQwLDB4ZTAsMHhkMCwweDgzLDB4ZDAsMHg4MiwweDIyfSB9LAoteyAgMTYsMHgwYWU3LDAsezB4YzAsMHhkMCwweGMwLDB4ZTAsMHg4ZiwweGUwLDB4YzAsMHhlMCwweDhlLDB4ZTAsMHhjMCwweGUwLDB4OGQsMHhlMCwweGMwLDB4ZTB9IH0sCi17ICAxNiwweDBhZjcsMCx7MHg4YywweGUwLDB4YzAsMHhlMCwweDc1LDB4ODYsMHgwMCwweGMwLDB4ODIsMHhjMCwweDgzLDB4MDUsMHg4NiwweGMwLDB4ODQsMHhjMH0gfSwKLXsgIDE2LDB4MGIwNywwLHsweDg1LDB4N2UsMHgwMCwweDkwLDB4NzksMHg4ZSwweGUwLDB4YjQsMHgwMCwweDE2LDB4NzQsMHgwMSwweGYwLDB4OTAsMHgwNiwweGNhfSB9LAoteyAgMTYsMHgwYjE3LDAsezB4YTMsMHhhMywweGEzLDB4YTMsMHhhMywweGEzLDB4YTMsMHhlMCwweGZmLDB4OTAsMHg3OSwweDhkLDB4ZjAsMHgwMiwweDBiLDB4Mzl9IH0sCi17ICAxNiwweDBiMjcsMCx7MHg5MCwweDc5LDB4OGQsMHhlMCwweGZmLDB4OTAsMHg3OSwweDhmLDB4ZTAsMHhmZCwweDkwLDB4NzksMHg5MCwweGUwLDB4ZmMsMHgwMn0gfSwKLXsgIDE2LDB4MGIzNywwLHsweDBiLDB4NDYsMHg5MCwweDA2LDB4Y2EsMHgwNSwweDg2LDB4OTAsMHg3ZiwweDAwLDB4MDUsMHg4NiwweDAyLDB4MGIsMHg1MSwweDhkfSB9LAoteyAgMTYsMHgwYjQ3LDAsezB4ODQsMHg4YywweDg1LDB4MDUsMHg4NiwweDkwLDB4N2YsMHgwMCwweDA1LDB4ODYsMHhlMCwweGEzLDB4MDUsMHg4NiwweGYwLDB4YTN9IH0sCi17ICAxNiwweDBiNTcsMCx7MHgwZSwweGVlLDB4YjQsMHg0MCwweDAzLDB4MDIsMHgwYiwweDZjLDB4MDUsMHg4NiwweGRmLDB4ZWUsMHg5MCwweDc5LDB4OGUsMHg3NH0gfSwKLXsgIDE2LDB4MGI2NywwLHsweDAwLDB4ZjAsMHgwMiwweDBiLDB4ODIsMHgwNSwweDg2LDB4YWQsMHg4NCwweGFjLDB4ODUsMHg5MCwweDc5LDB4OGYsMHhlZCwweGYwfSB9LAoteyAgMTYsMHgwYjc3LDAsezB4OTAsMHg3OSwweDkwLDB4ZWMsMHhmMCwweDkwLDB4NzksMHg4ZCwweDFmLDB4ZWYsMHhmMCwweDkwLDB4N2YsMHhiNSwweGVlLDB4ZjB9IH0sCi17ICAxNiwweDBiODcsMCx7MHhkMCwweDg1LDB4ZDAsMHg4NCwweDA1LDB4ODYsMHhkMCwweDgzLDB4ZDAsMHg4MiwweGQwLDB4ZTAsMHhmYywweGQwLDB4ZTAsMHhmZH0gfSwKLXsgIDExLDB4MGI5NywwLHsweGQwLDB4ZTAsMHhmZSwweGQwLDB4ZTAsMHhmZiwweGQwLDB4ZTAsMHhkMCwweGQwLDB4MjJ9IH0sCi17ICAxNiwweDBiYTIsMCx7MHhjMCwweGQwLDB4YzAsMHhlMCwweGMwLDB4ODIsMHhjMCwweDgzLDB4OTAsMHg3ZiwweGFlLDB4ZTAsMHg1NCwweGUwLDB4ZjAsMHg5MH0gfSwKLXsgIDE2LDB4MGJiMiwwLHsweDdmLDB4OTYsMHhlMCwweDQ0LDB4MDgsMHg1NCwweGZiLDB4ZjAsMHg5MCwweDdmLDB4OTcsMHhlMCwweDU0LDB4YmYsMHhmMCwweDkwfSB9LAoteyAgMTYsMHgwYmMyLDAsezB4N2YsMHhlMywweDc0LDB4N2IsMHhmMCwweDkwLDB4N2YsMHhlNCwweDc0LDB4NDAsMHhmMCwweDkwLDB4NzksMHg3OCwweGUwLDB4OTB9IH0sCi17ICAxNiwweDBiZDIsMCx7MHg3YiwweDQwLDB4ZjAsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDQ4LDB4ZjAsMHg5MCwweDdmLDB4ZTUsMHhlMCwweDkwLDB4N2YsMHhlMn0gfSwKLXsgIDE2LDB4MGJlMiwwLHsweDc0LDB4MDAsMHhmMCwweDkwLDB4N2YsMHg5NiwweGUwLDB4NTQsMHhmNywweDQ0LDB4MDQsMHhmMCwweDkwLDB4N2YsMHhlMywweDc0fSB9LAoteyAgMTYsMHgwYmYyLDAsezB4N2IsMHhmMCwweDkwLDB4N2YsMHhlNCwweDc0LDB4NDAsMHhmMCwweDkwLDB4NzksMHg3OSwweGUwLDB4OTAsMHg3YiwweDQwLDB4ZjB9IH0sCi17ICAxNiwweDBjMDIsMCx7MHg5MCwweDdmLDB4ZTIsMHg3NCwweDQ4LDB4ZjAsMHg5MCwweDdmLDB4ZTUsMHhlMCwweDkwLDB4N2YsMHhlMiwweDc0LDB4MDAsMHhmMH0gfSwKLXsgIDE2LDB4MGMxMiwwLHsweDkwLDB4N2YsMHg5NiwweGUwLDB4NTQsMHhmMywweGYwLDB4OTAsMHg3ZiwweGFlLDB4ZTAsMHg0NCwweDFmLDB4ZjAsMHhkMCwweDgzfSB9LAoteyAgIDcsMHgwYzIyLDAsezB4ZDAsMHg4MiwweGQwLDB4ZTAsMHhkMCwweGQwLDB4MjJ9IH0sCi17ICAxNiwweDBjMjksMCx7MHhjMCwweGQwLDB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4OTAsMHg3OSwweDJmLDB4ZTAsMHg2NCwweGZmLDB4YzMsMHgyNH0gfSwKLXsgIDExLDB4MGMzOSwwLHsweDAxLDB4ZjAsMHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHhkMCwweGQwLDB4MjJ9IH0sCi17ICAxNiwweDBjNDQsMCx7MHhiYiwweDAxLDB4MDYsMHg4OSwweDgyLDB4OGEsMHg4MywweGUwLDB4MjIsMHg1MCwweDAyLDB4ZTcsMHgyMiwweGJiLDB4ZmUsMHgwMn0gfSwKLXsgICA5LDB4MGM1NCwwLHsweGUzLDB4MjIsMHg4OSwweDgyLDB4OGEsMHg4MywweGU0LDB4OTMsMHgyMn0gfSwKLXsgIDE2LDB4MGM1ZCwwLHsweGJiLDB4MDEsMHgwYywweGU1LDB4ODIsMHgyOSwweGY1LDB4ODIsMHhlNSwweDgzLDB4M2EsMHhmNSwweDgzLDB4ZTAsMHgyMiwweDUwfSB9LAoteyAgMTYsMHgwYzZkLDAsezB4MDYsMHhlOSwweDI1LDB4ODIsMHhmOCwweGU2LDB4MjIsMHhiYiwweGZlLDB4MDYsMHhlOSwweDI1LDB4ODIsMHhmOCwweGUyLDB4MjJ9IH0sCi17ICAxMywweDBjN2QsMCx7MHhlNSwweDgyLDB4MjksMHhmNSwweDgyLDB4ZTUsMHg4MywweDNhLDB4ZjUsMHg4MywweGU0LDB4OTMsMHgyMn0gfSwKLXsgIDE2LDB4MGM4YSwwLHsweGJiLDB4MDEsMHgwNiwweDg5LDB4ODIsMHg4YSwweDgzLDB4ZjAsMHgyMiwweDUwLDB4MDIsMHhmNywweDIyLDB4YmIsMHhmZSwweDAxfSB9LAoteyAgIDIsMHgwYzlhLDAsezB4ZjMsMHgyMn0gfSwKLXsgIDE2LDB4MGM5YywwLHsweGY4LDB4YmIsMHgwMSwweDBkLDB4ZTUsMHg4MiwweDI5LDB4ZjUsMHg4MiwweGU1LDB4ODMsMHgzYSwweGY1LDB4ODMsMHhlOCwweGYwfSB9LAoteyAgMTYsMHgwY2FjLDAsezB4MjIsMHg1MCwweDA2LDB4ZTksMHgyNSwweDgyLDB4YzgsMHhmNiwweDIyLDB4YmIsMHhmZSwweDA1LDB4ZTksMHgyNSwweDgyLDB4Yzh9IH0sCi17ICAgMiwweDBjYmMsMCx7MHhmMiwweDIyfSB9LAoteyAgMTYsMHgwY2JlLDAsezB4YzIsMHhkNSwweGVjLDB4MzAsMHhlNywweDA5LDB4YjIsMHhkNSwweGU0LDB4YzMsMHg5ZCwweGZkLDB4ZTQsMHg5YywweGZjLDB4ZWV9IH0sCi17ICAxNiwweDBjY2UsMCx7MHgzMCwweGU3LDB4MTUsMHhiMiwweGQ1LDB4ZTQsMHhjMywweDlmLDB4ZmYsMHhlNCwweDllLDB4ZmUsMHgxMiwweDBlLDB4NDAsMHhjM30gfSwKLXsgIDE2LDB4MGNkZSwwLHsweGU0LDB4OWQsMHhmZCwweGU0LDB4OWMsMHhmYywweDgwLDB4MDMsMHgxMiwweDBlLDB4NDAsMHgzMCwweGQ1LDB4MDcsMHhjMywweGU0fSB9LAoteyAgIDYsMHgwY2VlLDAsezB4OWYsMHhmZiwweGU0LDB4OWUsMHhmZSwweDIyfSB9LAoteyAgMTYsMHgwY2Y0LDAsezB4YzUsMHhmMCwweGY4LDB4YTMsMHhlMCwweDI4LDB4ZjAsMHhjNSwweGYwLDB4ZjgsMHhlNSwweDgyLDB4MTUsMHg4MiwweDcwLDB4MDJ9IH0sCi17ICAgNiwweDBkMDQsMCx7MHgxNSwweDgzLDB4ZTAsMHgzOCwweGYwLDB4MjJ9IH0sCi17ICAxNiwweDBkMGEsMCx7MHhiYiwweDAxLDB4MTAsMHhlNSwweDgyLDB4MjksMHhmNSwweDgyLDB4ZTUsMHg4MywweDNhLDB4ZjUsMHg4MywweGUwLDB4ZjUsMHhmMH0gfSwKLXsgIDE2LDB4MGQxYSwwLHsweGEzLDB4ZTAsMHgyMiwweDUwLDB4MDksMHhlOSwweDI1LDB4ODIsMHhmOCwweDg2LDB4ZjAsMHgwOCwweGU2LDB4MjIsMHhiYiwweGZlfSB9LAoteyAgMTYsMHgwZDJhLDAsezB4MGEsMHhlOSwweDI1LDB4ODIsMHhmOCwweGUyLDB4ZjUsMHhmMCwweDA4LDB4ZTIsMHgyMiwweGU1LDB4ODMsMHgyYSwweGY1LDB4ODN9IH0sCi17ICAgOCwweDBkM2EsMCx7MHhlOSwweDkzLDB4ZjUsMHhmMCwweGEzLDB4ZTksMHg5MywweDIyfSB9LAoteyAgMTYsMHgwZDQyLDAsezB4ZTgsMHg4ZiwweGYwLDB4YTQsMHhjYywweDhiLDB4ZjAsMHhhNCwweDJjLDB4ZmMsMHhlOSwweDhlLDB4ZjAsMHhhNCwweDJjLDB4ZmN9IH0sCi17ICAxNiwweDBkNTIsMCx7MHg4YSwweGYwLDB4ZWQsMHhhNCwweDJjLDB4ZmMsMHhlYSwweDhlLDB4ZjAsMHhhNCwweGNkLDB4YTgsMHhmMCwweDhiLDB4ZjAsMHhhNH0gfSwKLXsgIDE2LDB4MGQ2MiwwLHsweDJkLDB4Y2MsMHgzOCwweDI1LDB4ZjAsMHhmZCwweGU5LDB4OGYsMHhmMCwweGE0LDB4MmMsMHhjZCwweDM1LDB4ZjAsMHhmYywweGVifSB9LAoteyAgMTYsMHgwZDcyLDAsezB4OGUsMHhmMCwweGE0LDB4ZmUsMHhhOSwweGYwLDB4ZWIsMHg4ZiwweGYwLDB4YTQsMHhjZiwweGM1LDB4ZjAsMHgyZSwweGNkLDB4Mzl9IH0sCi17ICAxNSwweDBkODIsMCx7MHhmZSwweGU0LDB4M2MsMHhmYywweGVhLDB4YTQsMHgyZCwweGNlLDB4MzUsMHhmMCwweGZkLDB4ZTQsMHgzYywweGZjLDB4MjJ9IH0sCi17ICAxNiwweDBkOTEsMCx7MHhlYiwweDlmLDB4ZjUsMHhmMCwweGVhLDB4OWUsMHg0MiwweGYwLDB4ZTksMHg5ZCwweDQyLDB4ZjAsMHhlOCwweDljLDB4NDUsMHhmMH0gfSwKLXsgICAxLDB4MGRhMSwwLHsweDIyfSB9LAoteyAgMTYsMHgwZGEyLDAsezB4YmIsMHgwMSwweDBkLDB4ZTUsMHg4MiwweDI5LDB4ZjUsMHg4MiwweGU1LDB4ODMsMHgzYSwweGY1LDB4ODMsMHgwMiwweDBlLDB4YTF9IH0sCi17ICAxNiwweDBkYjIsMCx7MHg1MCwweDA3LDB4ZTksMHgyNSwweDgyLDB4ZjgsMHgwMiwweDBlLDB4OTUsMHhiYiwweGZlLDB4MDcsMHhlOSwweDI1LDB4ODIsMHhmOH0gfSwKLXsgIDE2LDB4MGRjMiwwLHsweDAyLDB4MGUsMHhhZCwweGU1LDB4ODIsMHgyOSwweGY1LDB4ODIsMHhlNSwweDgzLDB4M2EsMHhmNSwweDgzLDB4MDIsMHgwZSwweGI5fSB9LAoteyAgMTYsMHgwZGQyLDAsezB4YmIsMHgwMSwweDBkLDB4ZTUsMHg4MiwweDI5LDB4ZjUsMHg4MiwweGU1LDB4ODMsMHgzYSwweGY1LDB4ODMsMHgwMiwweDBlLDB4ZDV9IH0sCi17ICAxNiwweDBkZTIsMCx7MHg1MCwweDA3LDB4ZTksMHgyNSwweDgyLDB4ZjgsMHgwMiwweDBlLDB4YzksMHhiYiwweGZlLDB4MDcsMHhlOSwweDI1LDB4ODIsMHhmOH0gfSwKLXsgICA0LDB4MGRmMiwwLHsweDAyLDB4MGUsMHhlMSwweDIyfSB9LAoteyAgMTYsMHgwZGY2LDAsezB4YmIsMHgwMSwweDBkLDB4ZTUsMHg4MiwweDI5LDB4ZjUsMHg4MiwweGU1LDB4ODMsMHgzYSwweGY1LDB4ODMsMHgwMiwweDBmLDB4MDZ9IH0sCi17ICAxNiwweDBlMDYsMCx7MHg1MCwweDA3LDB4ZTksMHgyNSwweDgyLDB4ZjgsMHgwMiwweDBlLDB4ZWQsMHhiYiwweGZlLDB4MDcsMHhlOSwweDI1LDB4ODIsMHhmOH0gfSwKLXsgICA0LDB4MGUxNiwwLHsweDAyLDB4MGYsMHgzNywweDIyfSB9LAoteyAgMTYsMHgwZTFhLDAsezB4ZDAsMHg4MywweGQwLDB4ODIsMHhmOCwweGU0LDB4OTMsMHg3MCwweDEyLDB4NzQsMHgwMSwweDkzLDB4NzAsMHgwZCwweGEzLDB4YTN9IH0sCi17ICAxNiwweDBlMmEsMCx7MHg5MywweGY4LDB4NzQsMHgwMSwweDkzLDB4ZjUsMHg4MiwweDg4LDB4ODMsMHhlNCwweDczLDB4NzQsMHgwMiwweDkzLDB4NjgsMHg2MH0gfSwKLXsgICA2LDB4MGUzYSwwLHsweGVmLDB4YTMsMHhhMywweGEzLDB4ODAsMHhkZn0gfSwKLXsgIDE2LDB4MGU0MCwwLHsweGJjLDB4MDAsMHgwYiwweGJlLDB4MDAsMHgyOSwweGVmLDB4OGQsMHhmMCwweDg0LDB4ZmYsMHhhZCwweGYwLDB4MjIsMHhlNCwweGNjfSB9LAoteyAgMTYsMHgwZTUwLDAsezB4ZjgsMHg3NSwweGYwLDB4MDgsMHhlZiwweDJmLDB4ZmYsMHhlZSwweDMzLDB4ZmUsMHhlYywweDMzLDB4ZmMsMHhlZSwweDlkLDB4ZWN9IH0sCi17ICAxNiwweDBlNjAsMCx7MHg5OCwweDQwLDB4MDUsMHhmYywweGVlLDB4OWQsMHhmZSwweDBmLDB4ZDUsMHhmMCwweGU5LDB4ZTQsMHhjZSwweGZkLDB4MjIsMHhlZH0gfSwKLXsgIDE2LDB4MGU3MCwwLHsweGY4LDB4ZjUsMHhmMCwweGVlLDB4ODQsMHgyMCwweGQyLDB4MWMsMHhmZSwweGFkLDB4ZjAsMHg3NSwweGYwLDB4MDgsMHhlZiwweDJmfSB9LAoteyAgMTYsMHgwZTgwLDAsezB4ZmYsMHhlZCwweDMzLDB4ZmQsMHg0MCwweDA3LDB4OTgsMHg1MCwweDA2LDB4ZDUsMHhmMCwweGYyLDB4MjIsMHhjMywweDk4LDB4ZmR9IH0sCi17ICAgNSwweDBlOTAsMCx7MHgwZiwweGQ1LDB4ZjAsMHhlYSwweDIyfSB9LAoteyAgMTIsMHgwZTk1LDAsezB4ZTYsMHhmYywweDA4LDB4ZTYsMHhmZCwweDA4LDB4ZTYsMHhmZSwweDA4LDB4ZTYsMHhmZiwweDIyfSB9LAoteyAgMTIsMHgwZWExLDAsezB4ZTAsMHhmYywweGEzLDB4ZTAsMHhmZCwweGEzLDB4ZTAsMHhmZSwweGEzLDB4ZTAsMHhmZiwweDIyfSB9LAoteyAgMTIsMHgwZWFkLDAsezB4ZTIsMHhmYywweDA4LDB4ZTIsMHhmZCwweDA4LDB4ZTIsMHhmZSwweDA4LDB4ZTIsMHhmZiwweDIyfSB9LAoteyAgMTYsMHgwZWI5LDAsezB4ZTQsMHg5MywweGZjLDB4YTMsMHhlNCwweDkzLDB4ZmQsMHhhMywweGU0LDB4OTMsMHhmZSwweGEzLDB4ZTQsMHg5MywweGZmLDB4MjJ9IH0sCi17ICAxMiwweDBlYzksMCx7MHhlYywweGY2LDB4MDgsMHhlZCwweGY2LDB4MDgsMHhlZSwweGY2LDB4MDgsMHhlZiwweGY2LDB4MjJ9IH0sCi17ICAxMiwweDBlZDUsMCx7MHhlYywweGYwLDB4YTMsMHhlZCwweGYwLDB4YTMsMHhlZSwweGYwLDB4YTMsMHhlZiwweGYwLDB4MjJ9IH0sCi17ICAxMiwweDBlZTEsMCx7MHhlYywweGYyLDB4MDgsMHhlZCwweGYyLDB4MDgsMHhlZSwweGYyLDB4MDgsMHhlZiwweGYyLDB4MjJ9IH0sCi17ICAxNiwweDBlZWQsMCx7MHhkMCwweDgzLDB4ZDAsMHg4MiwweGU0LDB4OTMsMHhmNiwweDA4LDB4NzQsMHgwMSwweDkzLDB4ZjYsMHgwOCwweDc0LDB4MDIsMHg5M30gfSwKLXsgICA5LDB4MGVmZCwwLHsweGY2LDB4MDgsMHg3NCwweDAzLDB4OTMsMHhmNiwweDc0LDB4MDQsMHg3M30gfSwKLXsgIDE2LDB4MGYwNiwwLHsweGE4LDB4ODIsMHg4NSwweDgzLDB4ZjAsMHhkMCwweDgzLDB4ZDAsMHg4MiwweDEyLDB4MGYsMHgxZCwweDEyLDB4MGYsMHgxZCwweDEyfSB9LAoteyAgMTYsMHgwZjE2LDAsezB4MGYsMHgxZCwweDEyLDB4MGYsMHgxZCwweGU0LDB4NzMsMHhlNCwweDkzLDB4YTMsMHhjNSwweDgzLDB4YzUsMHhmMCwweGM1LDB4ODN9IH0sCi17ICAxNiwweDBmMjYsMCx7MHhjOCwweGM1LDB4ODIsMHhjOCwweGYwLDB4YTMsMHhjNSwweDgzLDB4YzUsMHhmMCwweGM1LDB4ODMsMHhjOCwweGM1LDB4ODIsMHhjOH0gfSwKLXsgICAxLDB4MGYzNiwwLHsweDIyfSB9LAoteyAgMTYsMHgwZjM3LDAsezB4ZDAsMHg4MywweGQwLDB4ODIsMHhlNCwweDkzLDB4ZjIsMHgwOCwweDc0LDB4MDEsMHg5MywweGYyLDB4MDgsMHg3NCwweDAyLDB4OTN9IH0sCi17ICAgOSwweDBmNDcsMCx7MHhmMiwweDA4LDB4NzQsMHgwMywweDkzLDB4ZjIsMHg3NCwweDA0LDB4NzN9IH0sCi17ICAxNiwweDBmNTAsMCx7MHhjMiwweGFmLDB4ZDIsMHgyYywweDkwLDB4N2YsMHg5MywweDc0LDB4MzAsMHhmMCwweDkwLDB4N2YsMHg5YywweDc0LDB4YmYsMHhmMH0gfSwKLXsgIDE2LDB4MGY2MCwwLHsweDkwLDB4N2YsMHg5NiwweGUwLDB4NTQsMHgzMCwweGYwLDB4OTAsMHg3ZiwweDk0LDB4NzQsMHgzMCwweGYwLDB4OTAsMHg3ZiwweDlkfSB9LAoteyAgMTYsMHgwZjcwLDAsezB4NzQsMHhjZiwweGYwLDB4OTAsMHg3ZiwweDk3LDB4NzQsMHhhMCwweGYwLDB4OTAsMHg3ZiwweDk1LDB4NzQsMHhjYywweGYwLDB4ZTR9IH0sCi17ICAxNiwweDBmODAsMCx7MHg5MCwweDdmLDB4OWUsMHhmMCwweGMyLDB4MmQsMHhjMiwweDJhLDB4YzIsMHgyYiwweGMyLDB4MmUsMHg5MCwweDc5LDB4NzQsMHgwNH0gfSwKLXsgIDE2LDB4MGY5MCwwLHsweGYwLDB4MTIsMHgyZSwweDk0LDB4MTIsMHg0OSwweGUyLDB4MTIsMHg0YiwweGU2LDB4MTIsMHgzMiwweDBkLDB4MTIsMHgzYiwweDBkfSB9LAoteyAgMTYsMHgwZmEwLDAsezB4MTIsMHg0MSwweGZkLDB4MTIsMHgzZSwweDk5LDB4ZTUsMHgxZiwweDcwLDB4MTgsMHg3NSwweDFmLDB4MDEsMHgxMiwweDE3LDB4ZmZ9IH0sCi17ICAxNiwweDBmYjAsMCx7MHgxMiwweDJmLDB4ZmYsMHgxMiwweDQ5LDB4YzgsMHgxMiwweDRiLDB4ZDgsMHgxMiwweDRiLDB4ZGEsMHgxMiwweDQ5LDB4NmYsMHgxMn0gfSwKLXsgIDE2LDB4MGZjMCwwLHsweDFiLDB4NDAsMHgxMiwweDM5LDB4OGQsMHg5MCwweDdmLDB4YWYsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDkwLDB4N2YsMHhhZSwweGUwfSB9LAoteyAgMTYsMHgwZmQwLDAsezB4NDQsMHgxZiwweGYwLDB4OTAsMHg3ZiwweGFjLDB4NzQsMHhmZiwweGYwLDB4OTAsMHg3ZiwweGFkLDB4ZjAsMHg5MCwweDdmLDB4ZGV9IH0sCi17ICAxNiwweDBmZTAsMCx7MHhmMCwweDkwLDB4N2YsMHhkZiwweGYwLDB4OTAsMHg3ZiwweGFiLDB4ZjAsMHg5MCwweDdmLDB4YTksMHhmMCwweDkwLDB4N2YsMHhhYX0gfSwKLXsgIDE2LDB4MGZmMCwwLHsweGYwLDB4NTMsMHg5MSwweGVmLDB4NDMsMHhkOCwweDIwLDB4ZDIsMHhlOCwweDQzLDB4ZDgsMHgyMCwweDQzLDB4YTgsMHg4MCwweDIyfSB9LAoteyAgMTYsMHgxMDAwLDAsezB4OTAsMHg3OSwweDYzLDB4ZTAsMHgxNCwweDYwLDB4NDQsMHgxNCwweDcwLDB4MDIsMHgyMSwweGQwLDB4MTQsMHg3MCwweDAyLDB4NDF9IH0sCi17ICAxNiwweDEwMTAsMCx7MHhkOSwweDE0LDB4NzAsMHgwMiwweDYxLDB4ZDcsMHgyNCwweDA0LDB4NjAsMHgwMiwweDgxLDB4NTYsMHhlNCwweDkwLDB4NzksMHg3OH0gfSwKLXsgIDE2LDB4MTAyMCwwLHsweGYwLDB4OTAsMHg3OSwweDdiLDB4ZTAsMHg5MCwweDc5LDB4NzksMHhmMCwweDQ0LDB4MDEsMHhmMCwweDU0LDB4ZmQsMHhmMCwweDkwfSB9LAoteyAgMTYsMHgxMDMwLDAsezB4NzksMHg3YiwweGYwLDB4ZTQsMHg5MCwweDc5LDB4ODgsMHhmMCwweGEyLDB4YWYsMHgzMywweGY1LDB4MTIsMHhjMiwweGFmLDB4MTJ9IH0sCi17ICAxNiwweDEwNDAsMCx7MHgwYiwweGEyLDB4ZTUsMHgxMiwweDcwLDB4MDIsMHg4MSwweDU2LDB4ZDIsMHhhZiwweDIyLDB4OTAsMHg3OSwweDJkLDB4ZTAsMHg2NH0gfSwKLXsgIDE2LDB4MTA1MCwwLHsweDAxLDB4NzAsMHg3OSwweDkwLDB4N2YsMHhmMiwweGYwLDB4OTAsMHg3ZiwweGYzLDB4NzQsMHgzMCwweGYwLDB4OTAsMHg3ZiwweGZmfSB9LAoteyAgMTYsMHgxMDYwLDAsezB4NzQsMHhmYywweGYwLDB4ZTQsMHg5MCwweDc5LDB4NzgsMHhmMCwweDkwLDB4NzksMHg3YiwweGUwLDB4OTAsMHg3OSwweDc5LDB4ZjB9IH0sCi17ICAxNiwweDEwNzAsMCx7MHg0NCwweDAxLDB4ZjAsMHg0NCwweDAyLDB4ZjAsMHg5MCwweDc5LDB4N2IsMHhmMCwweGEyLDB4YWYsMHhlNCwweDMzLDB4ZjUsMHgxMn0gfSwKLXsgIDE2LDB4MTA4MCwwLHsweGMyLDB4YWYsMHgxMiwweDBiLDB4YTIsMHg5MCwweDc5LDB4NzgsMHg3NCwweDAyLDB4ZjAsMHg5MCwweDc5LDB4ODQsMHhlMCwweDkwfSB9LAoteyAgMTYsMHgxMDkwLDAsezB4NzksMHg3OSwweGYwLDB4OTAsMHg3OSwweDdmLDB4ZTAsMHhiNCwweDAxLDB4MDksMHg5MCwweDc5LDB4NzksMHhlMCwweDU0LDB4ZmV9IH0sCi17ICAxNiwweDEwYTAsMCx7MHhmMCwweDgwLDB4MDcsMHg5MCwweDc5LDB4NzksMHhlMCwweDQ0LDB4MDEsMHhmMCwweDkwLDB4NzksMHg3OSwweGUwLDB4NTQsMHhmZH0gfSwKLXsgIDE2LDB4MTBiMCwwLHsweGYwLDB4NTQsMHhmYiwweGYwLDB4OTAsMHg3OSwweDg0LDB4ZjAsMHgxMiwweDBiLDB4YTIsMHg5MCwweDc5LDB4ODIsMHg3NCwweDA0fSB9LAoteyAgMTYsMHgxMGMwLDAsezB4ZjAsMHg5MCwweDc5LDB4ODgsMHgxNCwweGYwLDB4ZTUsMHgxMiwweDYwLDB4MDIsMHhkMiwweGFmLDB4OTAsMHg3OSwweDJkLDB4ZTB9IH0sCi17ICAxNiwweDEwZDAsMCx7MHg2NCwweDAyLDB4NzAsMHg3OSwweDkwLDB4N2YsMHhmMiwweGYwLDB4OTAsMHg3ZiwweGYzLDB4NzQsMHgzNCwweGYwLDB4OTAsMHg3Zn0gfSwKLXsgIDE2LDB4MTBlMCwwLHsweGZmLDB4NzQsMHhmYywweGYwLDB4ZTQsMHg5MCwweDc5LDB4NzgsMHhmMCwweDkwLDB4NzksMHg3YiwweGUwLDB4OTAsMHg3OSwweDc5fSB9LAoteyAgMTYsMHgxMGYwLDAsezB4ZjAsMHg0NCwweDAxLDB4ZjAsMHg0NCwweDAyLDB4ZjAsMHg5MCwweDc5LDB4N2IsMHhmMCwweGEyLDB4YWYsMHhlNCwweDMzLDB4ZjV9IH0sCi17ICAxNiwweDExMDAsMCx7MHgxMiwweGMyLDB4YWYsMHgxMiwweDBiLDB4YTIsMHg5MCwweDc5LDB4NzgsMHg3NCwweDAyLDB4ZjAsMHg5MCwweDc5LDB4ODQsMHhlMH0gfSwKLXsgIDE2LDB4MTExMCwwLHsweDkwLDB4NzksMHg3OSwweGYwLDB4OTAsMHg3OSwweDdmLDB4ZTAsMHhiNCwweDAxLDB4MDksMHg5MCwweDc5LDB4NzksMHhlMCwweDU0fSB9LAoteyAgMTYsMHgxMTIwLDAsezB4ZmUsMHhmMCwweDgwLDB4MDcsMHg5MCwweDc5LDB4NzksMHhlMCwweDQ0LDB4MDEsMHhmMCwweDkwLDB4NzksMHg3OSwweGUwLDB4NDR9IH0sCi17ICAxNiwweDExMzAsMCx7MHgwMiwweGYwLDB4NTQsMHhmYiwweGYwLDB4OTAsMHg3OSwweDg0LDB4ZjAsMHgxMiwweDBiLDB4YTIsMHg5MCwweDc5LDB4ODIsMHg3NH0gfSwKLXsgIDE2LDB4MTE0MCwwLHsweDA0LDB4ZjAsMHg5MCwweDc5LDB4ODgsMHgxNCwweGYwLDB4ZTUsMHgxMiwweDYwLDB4MDIsMHhkMiwweGFmLDB4OTAsMHg3OSwweDJkfSB9LAoteyAgMTYsMHgxMTUwLDAsezB4ZTAsMHg2NCwweDAzLDB4NjAsMHgwMiwweDgxLDB4NTYsMHg5MCwweDdmLDB4ZjIsMHhmMCwweDkwLDB4N2YsMHhmMywweDc0LDB4NjR9IH0sCi17ICAxNiwweDExNjAsMCx7MHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmMsMHhmMCwweGU0LDB4OTAsMHg3OSwweDc4LDB4ZjAsMHg5MCwweDc5LDB4N2IsMHhlMH0gfSwKLXsgIDE2LDB4MTE3MCwwLHsweDkwLDB4NzksMHg3OSwweGYwLDB4NDQsMHgwMSwweGYwLDB4NDQsMHgwMiwweGYwLDB4OTAsMHg3OSwweDdiLDB4ZjAsMHhhMiwweGFmfSB9LAoteyAgMTYsMHgxMTgwLDAsezB4ZTQsMHgzMywweGY1LDB4MTIsMHhjMiwweGFmLDB4MTIsMHgwYiwweGEyLDB4OTAsMHg3OSwweDc4LDB4NzQsMHgwMiwweGYwLDB4OTB9IH0sCi17ICAxNiwweDExOTAsMCx7MHg3OSwweDg0LDB4ZTAsMHg5MCwweDc5LDB4NzksMHhmMCwweDkwLDB4NzksMHg3ZiwweGUwLDB4YjQsMHgwMSwweDA5LDB4OTAsMHg3OX0gfSwKLXsgIDE2LDB4MTFhMCwwLHsweDc5LDB4ZTAsMHg1NCwweGZlLDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MCwweDc5fSB9LAoteyAgMTYsMHgxMWIwLDAsezB4NzksMHhlMCwweDQ0LDB4MDQsMHhmMCwweDkwLDB4NzksMHg4NCwweGYwLDB4MTIsMHgwYiwweGEyLDB4OTAsMHg3OSwweDgyLDB4NzR9IH0sCi17ICAxNiwweDExYzAsMCx7MHgwNCwweGYwLDB4OTAsMHg3OSwweDg4LDB4MTQsMHhmMCwweGU1LDB4MTIsMHg3MCwweDAyLDB4ODEsMHg1NiwweGQyLDB4YWYsMHgyMn0gfSwKLXsgIDE2LDB4MTFkMCwwLHsweDkwLDB4NzksMHgyZCwweGUwLDB4NjQsMHgwMSwweDcwLDB4N2EsMHg5MCwweDdmLDB4ZjIsMHhmMCwweDkwLDB4N2YsMHhmMywweDc0fSB9LAoteyAgMTYsMHgxMWUwLDAsezB4ODgsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmMsMHhmMCwweGU0LDB4OTAsMHg3OSwweDc4LDB4ZjAsMHg5MCwweDc5LDB4N2J9IH0sCi17ICAxNiwweDExZjAsMCx7MHhlMCwweDkwLDB4NzksMHg3OSwweGYwLDB4NDQsMHgwMSwweGYwLDB4NTQsMHhmZCwweGYwLDB4OTAsMHg3OSwweDdiLDB4ZjAsMHhhMn0gfSwKLXsgIDE2LDB4MTIwMCwwLHsweGFmLDB4ZTQsMHgzMywweGY1LDB4MTIsMHhjMiwweGFmLDB4MTIsMHgwYiwweGEyLDB4OTAsMHg3OSwweDc4LDB4NzQsMHgwMiwweGYwfSB9LAoteyAgMTYsMHgxMjEwLDAsezB4OTAsMHg3OSwweDg0LDB4ZTAsMHg5MCwweDc5LDB4NzksMHhmMCwweDkwLDB4NzksMHg3ZiwweGUwLDB4YjQsMHgwMSwweDA5LDB4OTB9IH0sCi17ICAxNiwweDEyMjAsMCx7MHg3OSwweDc5LDB4ZTAsMHg1NCwweGZlLDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MH0gfSwKLXsgIDE2LDB4MTIzMCwwLHsweDc5LDB4NzksMHhlMCwweDU0LDB4ZmQsMHhmMCwweDU0LDB4ZmIsMHhmMCwweDkwLDB4NzksMHg4NCwweGYwLDB4MTIsMHgwYiwweGEyfSB9LAoteyAgMTYsMHgxMjQwLDAsezB4OTAsMHg3OSwweDgyLDB4NzQsMHgwYywweGYwLDB4OTAsMHg3OSwweDg4LDB4NzQsMHgwMSwweGYwLDB4ZTUsMHgxMiwweDYwLDB4MDJ9IH0sCi17ICAxNiwweDEyNTAsMCx7MHhkMiwweGFmLDB4OTAsMHg3OSwweDJkLDB4ZTAsMHg2NCwweDAyLDB4NjAsMHgwMiwweDgxLDB4NTYsMHg5MCwweDdmLDB4ZjIsMHhmMH0gfSwKLXsgIDE2LDB4MTI2MCwwLHsweDkwLDB4N2YsMHhmMywweDc0LDB4OTQsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmMsMHhmMCwweGU0LDB4OTAsMHg3OSwweDc4fSB9LAoteyAgMTYsMHgxMjcwLDAsezB4ZjAsMHg5MCwweDc5LDB4N2IsMHhlMCwweDkwLDB4NzksMHg3OSwweGYwLDB4NDQsMHgwMSwweGYwLDB4NTQsMHhmZCwweGYwLDB4OTB9IH0sCi17ICAxNiwweDEyODAsMCx7MHg3OSwweDdiLDB4ZjAsMHhhMiwweGFmLDB4ZTQsMHgzMywweGY1LDB4MTIsMHhjMiwweGFmLDB4MTIsMHgwYiwweGEyLDB4OTAsMHg3OX0gfSwKLXsgIDE2LDB4MTI5MCwwLHsweDc4LDB4NzQsMHgwMiwweGYwLDB4OTAsMHg3OSwweDg0LDB4ZTAsMHg5MCwweDc5LDB4NzksMHhmMCwweDkwLDB4NzksMHg3ZiwweGUwfSB9LAoteyAgMTYsMHgxMmEwLDAsezB4YjQsMHgwMSwweDA5LDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg1NCwweGZlLDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3OSwweDc5LDB4ZTB9IH0sCi17ICAxNiwweDEyYjAsMCx7MHg0NCwweDAxLDB4ZjAsMHg5MCwweDc5LDB4NzksMHhlMCwweDQ0LDB4MDIsMHhmMCwweDU0LDB4ZmIsMHhmMCwweDkwLDB4NzksMHg4NH0gfSwKLXsgIDE2LDB4MTJjMCwwLHsweGYwLDB4MTIsMHgwYiwweGEyLDB4OTAsMHg3OSwweDgyLDB4NzQsMHgwYywweGYwLDB4OTAsMHg3OSwweDg4LDB4NzQsMHgwMSwweGYwfSB9LAoteyAgMTYsMHgxMmQwLDAsezB4ZTUsMHgxMiwweDcwLDB4MDIsMHg4MSwweDU2LDB4ZDIsMHhhZiwweDIyLDB4OTAsMHg3OSwweDJkLDB4ZTAsMHg2NCwweDAxLDB4NzB9IH0sCi17ICAxNiwweDEyZTAsMCx7MHg3NywweDkwLDB4N2YsMHhmMiwweGYwLDB4OTAsMHg3ZiwweGYzLDB4NzQsMHhjYywweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmY30gfSwKLXsgIDE2LDB4MTJmMCwwLHsweGYwLDB4ZTQsMHg5MCwweDc5LDB4NzgsMHhmMCwweDkwLDB4NzksMHg3YiwweGUwLDB4OTAsMHg3OSwweDc5LDB4ZjAsMHg1NCwweGZjfSB9LAoteyAgMTYsMHgxMzAwLDAsezB4ZjAsMHg5MCwweDc5LDB4N2IsMHhmMCwweGEyLDB4YWYsMHhlNCwweDMzLDB4ZjUsMHgxMiwweGMyLDB4YWYsMHgxMiwweDBiLDB4YTJ9IH0sCi17ICAxNiwweDEzMTAsMCx7MHg5MCwweDc5LDB4NzgsMHg3NCwweDAyLDB4ZjAsMHg5MCwweDc5LDB4ODQsMHhlMCwweDkwLDB4NzksMHg3OSwweGYwLDB4OTAsMHg3OX0gfSwKLXsgIDE2LDB4MTMyMCwwLHsweDdmLDB4ZTAsMHhiNCwweDAxLDB4MDksMHg5MCwweDc5LDB4NzksMHhlMCwweDU0LDB4ZmUsMHhmMCwweDgwLDB4MDcsMHg5MCwweDc5fSB9LAoteyAgMTYsMHgxMzMwLDAsezB4NzksMHhlMCwweDQ0LDB4MDEsMHhmMCwweDkwLDB4NzksMHg3OSwweGUwLDB4NTQsMHhmZCwweGYwLDB4NTQsMHhmYiwweGYwLDB4OTB9IH0sCi17ICAxNiwweDEzNDAsMCx7MHg3OSwweDg0LDB4ZjAsMHgxMiwweDBiLDB4YTIsMHg5MCwweDc5LDB4ODIsMHg3NCwweDEyLDB4ZjAsMHg5MCwweDc5LDB4ODgsMHg3NH0gfSwKLXsgIDE2LDB4MTM1MCwwLHsweDAyLDB4ZjAsMHhlNSwweDEyLDB4NjAsMHgwMiwweGQyLDB4YWYsMHg5MCwweDc5LDB4MmQsMHhlMCwweDY0LDB4MDIsMHg3MCwweDc3fSB9LAoteyAgMTYsMHgxMzYwLDAsezB4OTAsMHg3ZiwweGYyLDB4ZjAsMHg5MCwweDdmLDB4ZjMsMHg3NCwweGUwLDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjB9IH0sCi17ICAxNiwweDEzNzAsMCx7MHhlNCwweDkwLDB4NzksMHg3OCwweGYwLDB4OTAsMHg3OSwweDdiLDB4ZTAsMHg5MCwweDc5LDB4NzksMHhmMCwweDU0LDB4ZmMsMHhmMH0gfSwKLXsgIDE2LDB4MTM4MCwwLHsweDkwLDB4NzksMHg3YiwweGYwLDB4YTIsMHhhZiwweGU0LDB4MzMsMHhmNSwweDEyLDB4YzIsMHhhZiwweDEyLDB4MGIsMHhhMiwweDkwfSB9LAoteyAgMTYsMHgxMzkwLDAsezB4NzksMHg3OCwweDc0LDB4MDIsMHhmMCwweDkwLDB4NzksMHg4NCwweGUwLDB4OTAsMHg3OSwweDc5LDB4ZjAsMHg5MCwweDc5LDB4N2Z9IH0sCi17ICAxNiwweDEzYTAsMCx7MHhlMCwweGI0LDB4MDEsMHgwOSwweDkwLDB4NzksMHg3OSwweGUwLDB4NTQsMHhmZSwweGYwLDB4ODAsMHgwNywweDkwLDB4NzksMHg3OX0gfSwKLXsgIDE2LDB4MTNiMCwwLHsweGUwLDB4NDQsMHgwMSwweGYwLDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg0NCwweDAyLDB4ZjAsMHg1NCwweGZiLDB4ZjAsMHg5MCwweDc5fSB9LAoteyAgMTYsMHgxM2MwLDAsezB4ODQsMHhmMCwweDEyLDB4MGIsMHhhMiwweDkwLDB4NzksMHg4MiwweDc0LDB4MTIsMHhmMCwweDkwLDB4NzksMHg4OCwweDc0LDB4MDJ9IH0sCi17ICAxNiwweDEzZDAsMCx7MHhmMCwweGU1LDB4MTIsMHg2MCwweDAyLDB4ZDIsMHhhZiwweDkwLDB4NzksMHgyZCwweGUwLDB4NjQsMHgwMywweDcwLDB4NzcsMHg5MH0gfSwKLXsgIDE2LDB4MTNlMCwwLHsweDdmLDB4ZjIsMHhmMCwweDkwLDB4N2YsMHhmMywweDc0LDB4OTQsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmMsMHhmMCwweGU0fSB9LAoteyAgMTYsMHgxM2YwLDAsezB4OTAsMHg3OSwweDc4LDB4ZjAsMHg5MCwweDc5LDB4N2IsMHhlMCwweDkwLDB4NzksMHg3OSwweGYwLDB4NTQsMHhmZSwweGYwLDB4NDR9IH0sCi17ICAxNiwweDE0MDAsMCx7MHgwMiwweGYwLDB4OTAsMHg3OSwweDdiLDB4ZjAsMHhhMiwweGFmLDB4ZTQsMHgzMywweGY1LDB4MTIsMHhjMiwweGFmLDB4MTIsMHgwYn0gfSwKLXsgIDE2LDB4MTQxMCwwLHsweGEyLDB4OTAsMHg3OSwweDc4LDB4NzQsMHgwMiwweGYwLDB4OTAsMHg3OSwweDg0LDB4ZTAsMHg5MCwweDc5LDB4NzksMHhmMCwweDkwfSB9LAoteyAgMTYsMHgxNDIwLDAsezB4NzksMHg3ZiwweGUwLDB4YjQsMHgwMSwweDA5LDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg1NCwweGZlLDB4ZjAsMHg4MCwweDA3LDB4OTB9IH0sCi17ICAxNiwweDE0MzAsMCx7MHg3OSwweDc5LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MCwweDc5LDB4NzksMHhlMCwweDQ0LDB4MDQsMHhmMCwweDkwLDB4NzksMHg4NH0gfSwKLXsgIDE2LDB4MTQ0MCwwLHsweGYwLDB4MTIsMHgwYiwweGEyLDB4OTAsMHg3OSwweDgyLDB4NzQsMHgwNiwweGYwLDB4OTAsMHg3OSwweDg4LDB4NzQsMHgwNCwweGYwfSB9LAoteyAgIDcsMHgxNDUwLDAsezB4ZTUsMHgxMiwweDYwLDB4MDIsMHhkMiwweGFmLDB4MjJ9IH0sCi17ICAxNiwweDE0NTcsMCx7MHhjMiwweDI4LDB4YzIsMHgyOSwweDkwLDB4N2YsMHhlOCwweGUwLDB4MTIsMHgwZSwweDFhLDB4MTQsMHg4NCwweDAwLDB4MTQsMHhlMH0gfSwKLXsgIDE2LDB4MTQ2NywwLHsweDAxLDB4MTQsMHhmNiwweDAyLDB4MTYsMHg3YywweDIxLDB4MTYsMHhiZSwweDIyLDB4MTUsMHg5MSwweDgwLDB4MTUsMHhkMSwweDgxfSB9LAoteyAgMTYsMHgxNDc3LDAsezB4MTYsMHgyZSwweDgyLDB4MTYsMHhjZiwweGExLDB4MTcsMHgwNSwweGEyLDB4MDAsMHgwMCwweDE3LDB4MGEsMHg5MCwweDdmLDB4ZTl9IH0sCi17ICAxNiwweDE0ODcsMCx7MHhlMCwweDE0LDB4NjAsMHgxMSwweDI0LDB4ZmUsMHg2MCwweDI4LDB4MjQsMHhmZSwweDYwLDB4M2IsMHgyNCwweGZjLDB4NzAsMHg0MH0gfSwKLXsgIDE2LDB4MTQ5NywwLHsweDEyLDB4NGEsMHgyYSwweGUxLDB4MTYsMHgxMiwweDRiLDB4ZTAsMHg0MCwweDAyLDB4ZTEsMHgxNiwweDkwLDB4N2YsMHhlYSwweGUwfSB9LAoteyAgMTYsMHgxNGE3LDAsezB4YjQsMHgwMSwweDA0LDB4YzIsMHgyYSwweGUxLDB4MTYsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweGUxLDB4MTZ9IH0sCi17ICAxNiwweDE0YjcsMCx7MHgxMiwweDRiLDB4ZTIsMHg5MCwweDdmLDB4ZWEsMHhlMCwweGI0LDB4MDEsMHgwNCwweGQyLDB4MmEsMHhlMSwweDE2LDB4OTAsMHg3Zn0gfSwKLXsgIDE2LDB4MTRjNywwLHsweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHhlMSwweDE2LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHhlMSwweDE2fSB9LAoteyAgMTYsMHgxNGQ3LDAsezB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHhlMSwweDE2LDB4OTAsMHg3ZiwweGU5LDB4ZTAsMHgyNCwweGY1LDB4NzB9IH0sCi17ICAxNiwweDE0ZTcsMCx7MHgwNSwweDEyLDB4NDcsMHg5YywweGUxLDB4MTYsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweGUxLDB4MTYsMHg5MH0gfSwKLXsgIDE2LDB4MTRmNywwLHsweDdmLDB4ZTksMHhlMCwweDI0LDB4ZmQsMHg2MCwweDU0LDB4MjQsMHgwMiwweDYwLDB4MDIsMHhhMSwweDg4LDB4MTIsMHg0YiwweGUwfSB9LAoteyAgMTYsMHgxNTA3LDAsezB4NDAsMHgwMiwweGUxLDB4MTYsMHg5MCwweDdmLDB4ZWEsMHhlMCwweDcwLDB4MzgsMHg5MCwweDdmLDB4ZWMsMHhlMCwweGY0LDB4NTR9IH0sCi17ICAxNiwweDE1MTcsMCx7MHg4MCwweGZmLDB4YzQsMHg1NCwweDBmLDB4ZmYsMHhlMCwweDU0LDB4MDcsMHgyZiwweDI1LDB4ZTAsMHgyNCwweGI0LDB4ZjUsMHg4Mn0gfSwKLXsgIDE2LDB4MTUyNywwLHsweGU0LDB4MzQsMHg3ZiwweGY1LDB4ODMsMHhlNCwweGYwLDB4OTAsMHg3ZiwweGVjLDB4ZTAsMHg1NCwweDgwLDB4ZmYsMHgxMywweDEzfSB9LAoteyAgMTYsMHgxNTM3LDAsezB4MTMsMHg1NCwweDFmLDB4ZmYsMHhlMCwweDU0LDB4MDcsMHgyZiwweDkwLDB4N2YsMHhkNywweGYwLDB4ZTAsMHg0NCwweDIwLDB4ZjB9IH0sCi17ICAxNiwweDE1NDcsMCx7MHhlMSwweDE2LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHhlMSwweDE2LDB4MTIsMHg0YiwweGUyLDB4NDAsMHgwMn0gfSwKLXsgIDE2LDB4MTU1NywwLHsweGUxLDB4MTYsMHg5MCwweDdmLDB4ZWEsMHhlMCwweDcwLDB4MjAsMHg5MCwweDdmLDB4ZWMsMHhlMCwweGY0LDB4NTQsMHg4MCwweGZmfSB9LAoteyAgMTYsMHgxNTY3LDAsezB4YzQsMHg1NCwweDBmLDB4ZmYsMHhlMCwweDU0LDB4MDcsMHgyZiwweDI1LDB4ZTAsMHgyNCwweGI0LDB4ZjUsMHg4MiwweGU0LDB4MzR9IH0sCi17ICAxNiwweDE1NzcsMCx7MHg3ZiwweGY1LDB4ODMsMHg3NCwweDAxLDB4ZjAsMHhlMSwweDE2LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHhlMX0gfSwKLXsgIDE2LDB4MTU4NywwLHsweDE2LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHhlMSwweDE2LDB4OTAsMHg3ZiwweGU5LDB4ZTAsMHg2MCwweDEyfSB9LAoteyAgMTYsMHgxNTk3LDAsezB4MjQsMHhmOCwweDYwLDB4MDksMHgyNCwweDAyLDB4NzAsMHgyOSwweDEyLDB4MTcsMHgxZSwweGUxLDB4MTYsMHgxMiwweDRiLDB4YTB9IH0sCi17ICAxNiwweDE1YTcsMCx7MHhlMSwweDE2LDB4MTIsMHg0YiwweGRlLDB4YTIsMHgyYSwweGU0LDB4MzMsMHhmZiwweDI1LDB4ZTAsMHhmZiwweGEyLDB4MmIsMHhlNH0gfSwKLXsgIDE2LDB4MTViNywwLHsweDMzLDB4NGYsMHg5MCwweDdmLDB4MDAsMHhmMCwweGU0LDB4YTMsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDIsMHhmMCwweGUxfSB9LAoteyAgMTYsMHgxNWM3LDAsezB4MTYsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweGUxLDB4MTYsMHg5MCwweDdmLDB4ZTksMHhlMCwweDYwLDB4Mzd9IH0sCi17ICAxNiwweDE1ZDcsMCx7MHgyNCwweGY2LDB4NjAsMHgyZSwweDI0LDB4MDQsMHg3MCwweDQxLDB4OTAsMHg3ZiwweGViLDB4ZTAsMHgyNCwweGRlLDB4NjAsMHgwZX0gfSwKLXsgIDE2LDB4MTVlNywwLHsweDA0LDB4NzAsMHgxNiwweGQyLDB4MjksMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweGUxLDB4MTYsMHhkMiwweDI5fSB9LAoteyAgMTYsMHgxNWY3LDAsezB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHhlMSwweDE2LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjB9IH0sCi17ICAxNiwweDE2MDcsMCx7MHhlMSwweDE2LDB4MTIsMHg0NCwweDYzLDB4ZTEsMHgxNiwweDEyLDB4NGIsMHhkZSwweGU0LDB4OTAsMHg3ZiwweDAwLDB4ZjAsMHhhM30gfSwKLXsgIDE2LDB4MTYxNywwLHsweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMiwweGYwLDB4ZTEsMHgxNiwweDIwLDB4MjksMHgwNywweDkwLDB4N2YsMHhiNCwweGUwfSB9LAoteyAgMTYsMHgxNjI3LDAsezB4NDQsMHgwMSwweGYwLDB4YzIsMHgyOSwweGUxLDB4MTYsMHg5MCwweDdmLDB4ZTksMHhlMCwweDI0LDB4ZjQsMHg2MCwweDM0LDB4MjR9IH0sCi17ICAxNiwweDE2MzcsMCx7MHgwYywweDcwLDB4MzksMHgxMiwweDRiLDB4ZGUsMHg5MCwweDdmLDB4ZWMsMHhlMCwweGY0LDB4NTQsMHg4MCwweGZmLDB4YzQsMHg1NH0gfSwKLXsgIDE2LDB4MTY0NywwLHsweDBmLDB4ZmYsMHhlMCwweDU0LDB4MDcsMHgyZiwweDI1LDB4ZTAsMHgyNCwweGI0LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZiwweGY1fSB9LAoteyAgMTYsMHgxNjU3LDAsezB4ODMsMHhlMCwweDU0LDB4ZmQsMHg5MCwweDdmLDB4MDAsMHhmMCwweGU0LDB4YTMsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDJ9IH0sCi17ICAxNiwweDE2NjcsMCx7MHhmMCwweGUxLDB4MTYsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweGUxLDB4MTYsMHg5MCwweDdmLDB4YjQsMHhlMH0gfSwKLXsgIDE2LDB4MTY3NywwLHsweDQ0LDB4MDEsMHhmMCwweGUxLDB4MTYsMHg5MCwweDdmLDB4ZTksMHhlMCwweDI0LDB4ZjYsMHg2MCwweDEyLDB4MTQsMHg2MCwweDFhfSB9LAoteyAgMTYsMHgxNjg3LDAsezB4MjQsMHgwMiwweDcwLDB4MWQsMHhkMiwweDI4LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg4MCwweDEyLDB4ZDJ9IH0sCi17ICAxNiwweDE2OTcsMCx7MHgyOCwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4ODAsMHgwNywweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMX0gfSwKLXsgIDE2LDB4MTZhNywwLHsweGYwLDB4MjAsMHgyOCwweDBmLDB4OTAsMHg3OSwweDg1LDB4NzQsMHgwMSwweGYwLDB4MTIsMHg0OSwweDZmLDB4OTAsMHg3ZiwweGM1fSB9LAoteyAgMTYsMHgxNmI3LDAsezB4NzQsMHgwMiwweGYwLDB4YzIsMHgyOCwweDgwLDB4NTgsMHg5MCwweDc5LDB4ODYsMHg3NCwweDAxLDB4ZjAsMHgxMiwweDQ5LDB4NmZ9IH0sCi17ICAxNiwweDE2YzcsMCx7MHg5MCwweDdmLDB4YzUsMHg3NCwweDAyLDB4ZjAsMHg4MCwweDQ3LDB4OTAsMHg3ZiwweGU5LDB4ZTAsMHgyNCwweGZlLDB4NjAsMHgxMn0gfSwKLXsgIDE2LDB4MTZkNywwLHsweDE0LDB4NjAsMHgxYSwweDI0LDB4MDIsMHg3MCwweDFkLDB4ZDIsMHgyOCwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwfSB9LAoteyAgMTYsMHgxNmU3LDAsezB4ODAsMHgxMiwweGQyLDB4MjgsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDgwLDB4MDcsMHg5MCwweDdmLDB4YjR9IH0sCi17ICAxNiwweDE2ZjcsMCx7MHhlMCwweDQ0LDB4MDEsMHhmMCwweDIwLDB4MjgsMHgwMywweDEyLDB4MWEsMHg3YiwweGMyLDB4MjgsMHg4MCwweDExLDB4MTIsMHgyY30gfSwKLXsgIDE2LDB4MTcwNywwLHsweDJiLDB4ODAsMHgwYywweDEyLDB4NGIsMHhlNCwweDUwLDB4MDcsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDkwfSB9LAoteyAgIDcsMHgxNzE3LDAsezB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMiwweGYwLDB4MjJ9IH0sCi17ICAxNiwweDE3MWUsMCx7MHgxMiwweDRiLDB4ZGMsMHg0MCwweDAyLDB4ZTEsMHhlMywweDkwLDB4N2YsMHhlYiwweGUwLDB4MjQsMHhmZSwweDYwLDB4MWUsMHgxNH0gfSwKLXsgIDE2LDB4MTcyZSwwLHsweDYwLDB4NDYsMHgxNCwweDYwLDB4NmUsMHgxNCwweDcwLDB4MDIsMHhlMSwweGQ0LDB4MjQsMHgwNCwweDYwLDB4MDIsMHhlMSwweGRjfSB9LAoteyAgMTYsMHgxNzNlLDAsezB4NzQsMHgwNSwweDkwLDB4N2YsMHhkNCwweGYwLDB4NzQsMHgwMCwweDkwLDB4N2YsMHhkNSwweGYwLDB4MjIsMHg5MCwweDdmLDB4ZWF9IH0sCi17ICAxNiwweDE3NGUsMCx7MHhlMCwweGZmLDB4MTIsMHgzZiwweGEyLDB4OGIsMHgzMywweDhhLDB4MzQsMHg4OSwweDM1LDB4ZWEsMHg0OSwweDYwLDB4MTEsMHhjZX0gfSwKLXsgIDE2LDB4MTc1ZSwwLHsweGVhLDB4Y2UsMHhlZSwweDkwLDB4N2YsMHhkNCwweGYwLDB4Y2YsMHhlOSwweGNmLDB4ZWYsMHg5MCwweDdmLDB4ZDUsMHhmMCwweDIyfSB9LAoteyAgMTYsMHgxNzZlLDAsezB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhlYSwweGUwLDB4ZmYsMHgxMiwweDQ4LDB4MDB9IH0sCi17ICAxNiwweDE3N2UsMCx7MHg4YiwweDMzLDB4OGEsMHgzNCwweDg5LDB4MzUsMHhlYSwweDQ5LDB4NjAsMHgxMSwweGNlLDB4ZWEsMHhjZSwweGVlLDB4OTAsMHg3Zn0gfSwKLXsgIDE2LDB4MTc4ZSwwLHsweGQ0LDB4ZjAsMHhjZiwweGU5LDB4Y2YsMHhlZiwweDkwLDB4N2YsMHhkNSwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0fSB9LAoteyAgMTYsMHgxNzllLDAsezB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmZiwweDkwLDB4N2UsMHhjMCwweGUwLDB4ZmQsMHhhMywweGUwLDB4ZmJ9IH0sCi17ICAxNiwweDE3YWUsMCx7MHgxMiwweDQ0LDB4ZDIsMHg4YiwweDMzLDB4OGEsMHgzNCwweDg5LDB4MzUsMHhlYSwweDQ5LDB4NjAsMHgxMSwweGNlLDB4ZWEsMHhjZX0gfSwKLXsgIDE2LDB4MTdiZSwwLHsweGVlLDB4OTAsMHg3ZiwweGQ0LDB4ZjAsMHhjZiwweGU5LDB4Y2YsMHhlZiwweDkwLDB4N2YsMHhkNSwweGYwLDB4MjIsMHg5MCwweDdmfSB9LAoteyAgMTYsMHgxN2NlLDAsezB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2Z9IH0sCi17ICAgNSwweDE3ZGUsMCx7MHhiNCwweGUwLDB4NDQsMHgwMSwweGYwfSB9LAoteyAgIDEsMHgxN2UzLDAsezB4MjJ9IH0sCi17ICAxNiwweDE3ZTQsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg5MCwweDdmLDB4YzQsMHhlNCwweGYwLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3Zn0gfSwKLXsgIDExLDB4MTdmNCwwLHsweGFiLDB4NzQsMHgwNCwweGYwLDB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9IH0sCi17ICAgMSwweDE3ZmYsMCx7MHgyMn0gfSwKLXsgIDE2LDB4MTgwMCwwLHsweGU0LDB4OTAsMHg3OCwweDE1LDB4ZjAsMHg3YiwweDAxLDB4OTAsMHg3OCwweDEyLDB4MDQsMHhmMCwweGEzLDB4NzQsMHg3OCwweGYwfSB9LAoteyAgMTYsMHgxODEwLDAsezB4YTMsMHg3NCwweDU4LDB4ZjAsMHg5MCwweDc4LDB4MTIsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTB9IH0sCi17ICAxNiwweDE4MjAsMCx7MHgwMCwweDAxLDB4MTIsMHgwYywweDVkLDB4ZmYsMHg5MCwweDc5LDB4OWEsMHhlMCwweDZmLDB4NjAsMHgxOCwweDkwLDB4NzgsMHgxNX0gfSwKLXsgIDE2LDB4MTgzMCwwLHsweGUwLDB4YzMsMHg5NCwweDA2LDB4NTAsMHgwZiwweGUwLDB4MDQsMHhmMCwweDkwLDB4NzgsMHgxMywweGU0LDB4NzUsMHhmMCwweDBmfSB9LAoteyAgMTYsMHgxODQwLDAsezB4MTIsMHgwYywweGY0LDB4ODAsMHhjZiwweDkwLDB4NzgsMHgxNSwweGUwLDB4YjQsMHgwNiwweDA4LDB4OTAsMHg3ZiwweGI0LDB4ZTB9IH0sCi17ICAxNiwweDE4NTAsMCx7MHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4NzgsMHgxMiwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHgxMn0gfSwKLXsgIDE2LDB4MTg2MCwwLHsweDBjLDB4NDQsMHhmZiwweDI0LDB4YmYsMHg3MCwweDAyLDB4NDEsMHg3YSwweDI0LDB4ZTAsMHg3MCwweDAyLDB4NDEsMHg0YywweDI0fSB9LAoteyAgMTYsMHgxODcwLDAsezB4MjEsMHg2MCwweDAyLDB4NDEsMHg3MywweDkwLDB4NzksMHg5NywweGUwLDB4MjQsMHhmZSwweDcwLDB4MDIsMHgyMSwweDlhLDB4MTR9IH0sCi17ICAxNiwweDE4ODAsMCx7MHg3MCwweDAyLDB4MjEsMHhlZiwweDI0LDB4MDIsMHg2MCwweDAyLDB4NDEsMHg0NCwweDkwLDB4NzksMHgyZCwweGUwLDB4YTMsMHhmMH0gfSwKLXsgIDE2LDB4MTg5MCwwLHsweDkwLDB4NzksMHgyMywweGUwLDB4ZmYsMHhlNCwweGZjLDB4ZmQsMHhmZSwweGZiLDB4ZmEsMHg3OSwweDAxLDB4ZjgsMHgxMiwweDBkfSB9LAoteyAgMTYsMHgxOGEwLDAsezB4NDIsMHhjOCwweGVjLDB4YzgsMHhjOSwweGVkLDB4YzksMHhjYSwweGVlLDB4Y2EsMHhjYiwweGVmLDB4Y2IsMHg5MCwweDc5LDB4MjJ9IH0sCi17ICAxNiwweDE4YjAsMCx7MHhlMCwweGZlLDB4ZTQsMHhmYywweGZkLDB4MmIsMHhmYiwweGVhLDB4M2UsMHhmYSwweGVkLDB4MzksMHhmOSwweGVjLDB4MzgsMHhmOH0gfSwKLXsgIDE2LDB4MThjMCwwLHsweDkwLDB4NzksMHgyMSwweGUwLDB4ZmYsMHhlNCwweGZlLDB4ZWIsMHgyZiwweGZmLDB4ZWUsMHgzYSwweGZlLDB4ZWQsMHgzOSwweGZkfSB9LAoteyAgMTYsMHgxOGQwLDAsezB4ZWMsMHgzOCwweGZjLDB4OTAsMHg3OCwweDEyLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDB9IH0sCi17ICAxNiwweDE4ZTAsMCx7MHgwMiwweDEyLDB4MGQsMHhkMiwweDkwLDB4MDAsMHgwMiwweDEyLDB4MGQsMHhhMiwweDdiLDB4NDQsMHg3YSwweGFjLDB4NzksMHgwMH0gfSwKLXsgIDE2LDB4MThmMCwwLHsweDc4LDB4MDAsMHhjMywweDEyLDB4MGQsMHg5MSwweDcwLDB4MDUsMHg5MCwweDc5LDB4MmQsMHgwNCwweGYwLDB4OTAsMHg3OCwweDEyfSB9LAoteyAgMTYsMHgxOTAwLDAsezB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwMiwweDEyLDB4MGQsMHhhMiwweDdiLDB4ODB9IH0sCi17ICAxNiwweDE5MTAsMCx7MHg3YSwweGJiLDB4NzksMHgwMCwweDc4LDB4MDAsMHhjMywweDEyLDB4MGQsMHg5MSwweDcwLDB4MDYsMHg5MCwweDc5LDB4MmQsMHg3NH0gfSwKLXsgIDE2LDB4MTkyMCwwLHsweDAyLDB4ZjAsMHg5MCwweDc4LDB4MTIsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDAyfSB9LAoteyAgMTYsMHgxOTMwLDAsezB4MTIsMHgwZCwweGEyLDB4N2IsMHgwMCwweDdhLDB4NzcsMHg3OSwweDAxLDB4NzgsMHgwMCwweGMzLDB4MTIsMHgwZCwweDkxLDB4NzB9IH0sCi17ICAxNiwweDE5NDAsMCx7MHgwNiwweDkwLDB4NzksMHgyZCwweDc0LDB4MDMsMHhmMCwweDkwLDB4NzksMHgyZCwweGUwLDB4ZmYsMHhiNCwweDAxLDB4MDksMHg3NX0gfSwKLXsgIDE2LDB4MTk1MCwwLHsweDBjLDB4NjcsMHg3NSwweDBkLDB4MDYsMHg3NSwweDBlLDB4MGIsMHhlZiwweGI0LDB4MDIsMHgwOCwweGU0LDB4ZjUsMHgwYywweGY1fSB9LAoteyAgMTYsMHgxOTYwLDAsezB4MGQsMHg3NSwweDBlLDB4MGMsMHhlZiwweGI0LDB4MDMsMHgwOCwweGU0LDB4ZjUsMHgwYywweGY1LDB4MGQsMHg3NSwweDBlLDB4MTh9IH0sCi17ICAxNiwweDE5NzAsMCx7MHhlZiwweGI0LDB4MDMsMHgwZCwweDkwLDB4NzksMHgyZSwweGUwLDB4NjQsMHgwMywweDYwLDB4MDUsMHhkMiwweDJmLDB4MTIsMHgzZH0gfSwKLXsgIDE2LDB4MTk4MCwwLHsweDc5LDB4OTAsMHg3OSwweDJkLDB4ZTAsMHg2NCwweDAzLDB4NjAsMHgwYSwweGEzLDB4ZTAsMHhiNCwweDAzLDB4MDUsMHhjMiwweDJmfSB9LAoteyAgMTYsMHgxOTkwLDAsezB4MTIsMHgzZCwweDc5LDB4MTIsMHgxMCwweDAwLDB4MTIsMHgyOCwweDAxLDB4MjIsMHg5MCwweDc5LDB4MjMsMHhlMCwweGZmLDB4ZTR9IH0sCi17ICAxNiwweDE5YTAsMCx7MHhmYywweGZkLDB4ZmUsMHhmYiwweGZhLDB4NzksMHgwMSwweGY4LDB4MTIsMHgwZCwweDQyLDB4YzgsMHhlYywweGM4LDB4YzksMHhlZH0gfSwKLXsgIDE2LDB4MTliMCwwLHsweGM5LDB4Y2EsMHhlZSwweGNhLDB4Y2IsMHhlZiwweGNiLDB4OTAsMHg3OSwweDIyLDB4ZTAsMHhmZSwweGU0LDB4ZmMsMHhmZCwweDJifSB9LAoteyAgMTYsMHgxOWMwLDAsezB4ZmIsMHhlYSwweDNlLDB4ZmEsMHhlZCwweDM5LDB4ZjksMHhlYywweDM4LDB4ZjgsMHg5MCwweDc5LDB4MjEsMHhlMCwweGZmLDB4ZTR9IH0sCi17ICAxNiwweDE5ZDAsMCx7MHhmZSwweGViLDB4MmYsMHhmZiwweGVlLDB4M2EsMHhmZSwweGVkLDB4MzksMHhmZCwweGVjLDB4MzgsMHhmYywweDkwLDB4NzgsMHgxMn0gfSwKLXsgIDE2LDB4MTllMCwwLHsweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDYsMHgxMiwweDBkLDB4ZDIsMHgyMiwweDkwfSB9LAoteyAgMTYsMHgxOWYwLDAsezB4NzksMHgyMywweGUwLDB4ZmYsMHhlNCwweGZjLDB4ZmQsMHhmZSwweGZiLDB4ZmEsMHg3OSwweDAxLDB4ZjgsMHgxMiwweDBkLDB4NDJ9IH0sCi17ICAxNiwweDFhMDAsMCx7MHhjOCwweGVjLDB4YzgsMHhjOSwweGVkLDB4YzksMHhjYSwweGVlLDB4Y2EsMHhjYiwweGVmLDB4Y2IsMHg5MCwweDc5LDB4MjIsMHhlMH0gfSwKLXsgIDE2LDB4MWExMCwwLHsweGZlLDB4ZTQsMHhmYywweGZkLDB4MmIsMHhmYiwweGVhLDB4M2UsMHhmYSwweGVkLDB4MzksMHhmOSwweGVjLDB4MzgsMHhmOCwweDkwfSB9LAoteyAgMTYsMHgxYTIwLDAsezB4NzksMHgyMSwweGUwLDB4ZmYsMHhlNCwweGZlLDB4ZWIsMHgyZiwweGZmLDB4ZWUsMHgzYSwweGZlLDB4ZWQsMHgzOSwweGZkLDB4ZWN9IH0sCi17ICAxNiwweDFhMzAsMCx7MHgzOCwweGZjLDB4OTAsMHg3OCwweDEyLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwYX0gfSwKLXsgIDE2LDB4MWE0MCwwLHsweDEyLDB4MGQsMHhkMiwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4NzksMHg5NywweGUwfSB9LAoteyAgMTYsMHgxYTUwLDAsezB4MTQsMHg3MCwweDE4LDB4OTAsMHg3OSwweDIxLDB4ZTAsMHhmZiwweDkwLDB4NzgsMHgxMiwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmF9IH0sCi17ICAxNiwweDFhNjAsMCx7MHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MGUsMHhlZiwweDEyLDB4MGMsMHg5YywweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NH0gfSwKLXsgIDEwLDB4MWE3MCwwLHsweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwfSB9LAoteyAgIDEsMHgxYTdhLDAsezB4MjJ9IH0sCi17ICAxNiwweDFhN2IsMCx7MHhlNCwweGZmLDB4ZmUsMHg3YiwweDAxLDB4OTAsMHg3OCwweDBmLDB4MDQsMHhmMCwweGEzLDB4NzQsMHg3OCwweGYwLDB4YTMsMHg3NH0gfSwKLXsgIDE2LDB4MWE4YiwwLHsweDJiLDB4ZjAsMHg5MCwweDc4LDB4MGYsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDAyfSB9LAoteyAgMTYsMHgxYTliLDAsezB4MTIsMHgwYywweDVkLDB4ZmQsMHg5MCwweDdmLDB4ZWMsMHhlMCwweDZkLDB4NjAsMHgxMywweGVmLDB4YzMsMHg5NCwweDA1LDB4NTB9IH0sCi17ICAxNiwweDFhYWIsMCx7MHgwZCwweDBmLDB4OTAsMHg3OCwweDEwLDB4ZTQsMHg3NSwweGYwLDB4MDMsMHgxMiwweDBjLDB4ZjQsMHg4MCwweGQ0LDB4OGQsMHgzM30gfSwKLXsgIDE2LDB4MWFiYiwwLHsweDkwLDB4NzgsMHgwZiwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDEsMHgxMiwweDBjfSB9LAoteyAgMTYsMHgxYWNiLDAsezB4NWQsMHhmZCwweDkwLDB4N2YsMHhlZCwweGUwLDB4NmQsMHg2MCwweDEzLDB4ZWUsMHhjMywweDk0LDB4MGIsMHg1MCwweDBkLDB4MGV9IH0sCi17ICAxNiwweDFhZGIsMCx7MHg5MCwweDc4LDB4MTAsMHhlNCwweDc1LDB4ZjAsMHgwMywweDEyLDB4MGMsMHhmNCwweDgwLDB4ZDQsMHg5MCwweDdmLDB4ZWQsMHhlMH0gfSwKLXsgIDE2LDB4MWFlYiwwLHsweGY1LDB4MzQsMHhlZiwweDY0LDB4MDUsMHg2MCwweDAzLDB4YmUsMHgwYiwweDA4LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxfSB9LAoteyAgMTYsMHgxYWZiLDAsezB4ZjAsMHgyMiwweDkwLDB4NzgsMHgwZiwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHgxMiwweDBjLDB4NDR9IH0sCi17ICAxNiwweDFiMGIsMCx7MHhmZiwweDI0LDB4ZjAsMHg2MCwweDA4LDB4MjQsMHgwZiwweDcwLDB4MGUsMHgxMiwweDQ5LDB4MmEsMHgyMiwweDEyLDB4NGIsMHg4M30gfSwKLXsgIDE0LDB4MWIxYiwwLHsweDkwLDB4NzksMHgyMCwweGU1LDB4MzQsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjB9IH0sCi17ICAgMSwweDFiMjksMCx7MHgyMn0gfSwKLXsgIDE1LDB4MWIyYSwwLHsweDkwLDB4N2YsMHhlYSwweGUwLDB4YjQsMHhmZiwweDA0LDB4MTIsMHgzNCwweDE2LDB4MjIsMHgxMiwweDM4LDB4MDAsMHgyMn0gfSwKLXsgICA3LDB4MWIzOSwwLHsweDUzLDB4OTgsMHhmZSwweDUzLDB4OTgsMHhmZCwweDMyfSB9LAoteyAgMTYsMHgxYjQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFiNTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWI2MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxYjcwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFiODAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWI5MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxYmEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFiYjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWJjMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxYmQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFiZTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWJmMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxYzAwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFjMTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWMyMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxYzMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFjNDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWM1MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxYzYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFjNzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWM4MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxYzkwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFjYTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWNiMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxY2MwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFjZDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWNlMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxY2YwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFkMDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWQxMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZDIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFkMzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWQ0MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZDUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFkNjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWQ3MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZDgwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFkOTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWRhMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZGIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFkYzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWRkMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZGUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFkZjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWUwMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZTEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFlMjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWUzMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZTQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFlNTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWU2MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZTcwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFlODAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWU5MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZWEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNCwweDFlYjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZWJlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFlY2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWVkZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZWVlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFlZmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWYwZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZjFlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFmMmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgICAyLDB4MWYzZSwwLHsweDAwLDB4MDB9IH0sCi17ICAxNiwweDFmNDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWY1MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZjYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFmNzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWY4MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZjkwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFmYTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWZiMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZmMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFmZDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWZlMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZmYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIwMDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjAxMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMDIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIwMzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjA0MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMDUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIwNjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjA3MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMDgwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIwOTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjBhMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMGIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIwYzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjBkMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMGUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIwZjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjEwMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMTEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIxMjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjEzMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMTQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIxNTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjE2MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMTcwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIxODAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjE5MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMWEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIxYjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjFjMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMWQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIxZTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjFmMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMjAwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIyMTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjIyMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMjMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIyNDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjI1MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMjYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIyNzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjI4MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMjkwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIyYTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjJiMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMmMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIyZDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjJlMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMmYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIzMDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjMxMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMzIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIzMzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjM0MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMzUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIzNjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE0LDB4MjM3MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIzN2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjM4ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMzllLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIzYWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjNiZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyM2NlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIzZGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjNlZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyM2ZlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI0MGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjQxZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNDJlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI0M2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjQ0ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNDVlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI0NmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjQ3ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNDhlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI0OWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjRhZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNGJlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI0Y2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjRkZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNGVlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI0ZmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjUwZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNTFlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI1MmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjUzZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNTRlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI1NWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjU2ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNTdlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI1OGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjU5ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNWFlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI1YmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjVjZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNWRlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI1ZWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjVmZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNjBlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI2MWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjYyZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNjNlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI2NGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjY1ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNjZlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI2N2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjY4ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNjllLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI2YWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjZiZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNmNlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI2ZGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE0LDB4MjZlZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI2ZmMsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjcwYywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNzFjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI3MmMsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjczYywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNzRjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI3NWMsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4Mjc2YywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNzdjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI3OGMsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4Mjc5YywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyN2FjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI3YmMsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjdjYywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyN2RjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI3ZWMsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgICA1LDB4MjdmYywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MjJ9IH0sCi17ICAxNiwweDI4MDEsMCx7MHg5MCwweDc5LDB4NjQsMHhlMCwweDE0LDB4NjAsMHg0NiwweDE0LDB4NzAsMHgwMiwweDQxLDB4M2MsMHgyNCwweDAyLDB4NjAsMHgwMn0gfSwKLXsgIDE2LDB4MjgxMSwwLHsweDgxLDB4MmEsMHg5MCwweDdmLDB4ZmMsMHg3NCwweGNjLDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHg5MCwweDc5fSB9LAoteyAgMTYsMHgyODIxLDAsezB4NzgsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDc5LDB4N2MsMHhlMCwweDkwLDB4NzksMHg3OSwweGYwLDB4NTQsMHhmZCwweGYwLDB4NDR9IH0sCi17ICAxNiwweDI4MzEsMCx7MHgwMSwweGYwLDB4OTAsMHg3OSwweDdjLDB4ZjAsMHhhMiwweGFmLDB4ZTQsMHgzMywweGY1LDB4MTIsMHhjMiwweGFmLDB4MTIsMHgwYn0gfSwKLXsgIDE2LDB4Mjg0MSwwLHsweGEyLDB4ZTUsMHgxMiwweDYwLDB4MDIsMHhkMiwweGFmLDB4ZTQsMHg5MCwweDc5LDB4N2EsMHhmMCwweDIyLDB4OTAsMHg3OSwweDJkfSB9LAoteyAgMTYsMHgyODUxLDAsezB4ZTAsMHg2NCwweDAxLDB4NjAsMHgwMiwweDAxLDB4ZjEsMHg5MCwweDdmLDB4ZmMsMHg3NCwweGNjLDB4ZjAsMHg5MCwweDdmLDB4ZmZ9IH0sCi17ICAxNiwweDI4NjEsMCx7MHg3NCwweGZjLDB4ZjAsMHg5MCwweDc5LDB4NzgsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDc5LDB4N2MsMHhlMCwweDkwLDB4NzksMHg3OX0gfSwKLXsgIDE2LDB4Mjg3MSwwLHsweGYwLDB4NDQsMHgwMSwweGYwLDB4NDQsMHgwMiwweGYwLDB4OTAsMHg3OSwweDdlLDB4ZTAsMHhiNCwweDAxLDB4MDksMHg5MCwweDc5fSB9LAoteyAgMTYsMHgyODgxLDAsezB4NzksMHhlMCwweDQ0LDB4MDQsMHhmMCwweDgwLDB4MDcsMHg5MCwweDc5LDB4NzksMHhlMCwweDU0LDB4ZmIsMHhmMCwweDkwLDB4Nzl9IH0sCi17ICAxNiwweDI4OTEsMCx7MHg3OSwweGUwLDB4OTAsMHg3OSwweDdjLDB4ZjAsMHhhMiwweGFmLDB4ZTQsMHgzMywweGY1LDB4MTIsMHhjMiwweGFmLDB4MTIsMHgwYn0gfSwKLXsgIDE2LDB4MjhhMSwwLHsweGEyLDB4OTAsMHg3OSwweDc4LDB4NzQsMHgwMiwweGYwLDB4OTAsMHg3OSwweDg0LDB4ZTAsMHg5MCwweDc5LDB4NzksMHhmMCwweDkwfSB9LAoteyAgMTYsMHgyOGIxLDAsezB4NzksMHg3ZiwweGUwLDB4YjQsMHgwMSwweDA5LDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg1NCwweGZlLDB4ZjAsMHg4MCwweDA3LDB4OTB9IH0sCi17ICAxNiwweDI4YzEsMCx7MHg3OSwweDc5LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MCwweDc5LDB4NzksMHhlMCwweDU0LDB4ZmQsMHhmMCwweDU0LDB4ZmIsMHhmMH0gfSwKLXsgIDE2LDB4MjhkMSwwLHsweDkwLDB4NzksMHg4NCwweGYwLDB4MTIsMHgwYiwweGEyLDB4OTAsMHg3OSwweDdhLDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3OSwweDY1fSB9LAoteyAgMTYsMHgyOGUxLDAsezB4ZjAsMHhlNSwweDEyLDB4NjAsMHgwMiwweGQyLDB4YWYsMHhlNCwweDkwLDB4NzksMHg4YywweGYwLDB4OTAsMHg3OSwweDhiLDB4ZjB9IH0sCi17ICAxNiwweDI4ZjEsMCx7MHg5MCwweDc5LDB4MmQsMHhlMCwweDY0LDB4MDIsMHg2MCwweDAyLDB4MjEsMHg5NiwweDkwLDB4N2YsMHhmYywweDc0LDB4YzgsMHhmMH0gfSwKLXsgIDE2LDB4MjkwMSwwLHsweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmMsMHhmMCwweDkwLDB4NzksMHg3OCwweDc0LDB4MDEsMHhmMCwweDkwLDB4NzksMHg3YywweGUwfSB9LAoteyAgMTYsMHgyOTExLDAsezB4OTAsMHg3OSwweDc5LDB4ZjAsMHg0NCwweDAxLDB4ZjAsMHg0NCwweDAyLDB4ZjAsMHg5MCwweDc5LDB4N2UsMHhlMCwweGI0LDB4MDF9IH0sCi17ICAxNiwweDI5MjEsMCx7MHgwOSwweDkwLDB4NzksMHg3OSwweGUwLDB4NDQsMHgwNCwweGYwLDB4ODAsMHgwNywweDkwLDB4NzksMHg3OSwweGUwLDB4NTQsMHhmYn0gfSwKLXsgIDE2LDB4MjkzMSwwLHsweGYwLDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg5MCwweDc5LDB4N2MsMHhmMCwweGEyLDB4YWYsMHhlNCwweDMzLDB4ZjUsMHgxMiwweGMyfSB9LAoteyAgMTYsMHgyOTQxLDAsezB4YWYsMHgxMiwweDBiLDB4YTIsMHg5MCwweDc5LDB4NzgsMHg3NCwweDAyLDB4ZjAsMHg5MCwweDc5LDB4ODQsMHhlMCwweDkwLDB4Nzl9IH0sCi17ICAxNiwweDI5NTEsMCx7MHg3OSwweGYwLDB4OTAsMHg3OSwweDdmLDB4ZTAsMHhiNCwweDAxLDB4MDksMHg5MCwweDc5LDB4NzksMHhlMCwweDU0LDB4ZmUsMHhmMH0gfSwKLXsgIDE2LDB4Mjk2MSwwLHsweDgwLDB4MDcsMHg5MCwweDc5LDB4NzksMHhlMCwweDQ0LDB4MDEsMHhmMCwweDkwLDB4NzksMHg3OSwweGUwLDB4NDQsMHgwMiwweGYwfSB9LAoteyAgMTYsMHgyOTcxLDAsezB4NTQsMHhmYiwweGYwLDB4OTAsMHg3OSwweDg0LDB4ZjAsMHgxMiwweDBiLDB4YTIsMHg5MCwweDc5LDB4N2EsMHg3NCwweDAxLDB4ZjB9IH0sCi17ICAxNiwweDI5ODEsMCx7MHg5MCwweDc5LDB4NjUsMHg3NCwweDAzLDB4ZjAsMHhlNSwweDEyLDB4NjAsMHgwMiwweGQyLDB4YWYsMHhlNCwweDkwLDB4NzksMHg4Y30gfSwKLXsgIDE2LDB4Mjk5MSwwLHsweGYwLDB4OTAsMHg3OSwweDhiLDB4ZjAsMHg5MCwweDc5LDB4MmQsMHhlMCwweDY0LDB4MDMsMHg2MCwweDAyLDB4ODEsMHgyYSwweDkwfSB9LAoteyAgMTYsMHgyOWExLDAsezB4N2YsMHhmYywweDc0LDB4OTgsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmMsMHhmMCwweDkwLDB4NzksMHg3OCwweDc0LDB4MDF9IH0sCi17ICAxNiwweDI5YjEsMCx7MHhmMCwweDkwLDB4NzksMHg3YywweGUwLDB4OTAsMHg3OSwweDc5LDB4ZjAsMHg0NCwweDAxLDB4ZjAsMHg0NCwweDAyLDB4ZjAsMHg5MH0gfSwKLXsgIDE2LDB4MjljMSwwLHsweDc5LDB4N2UsMHhlMCwweGI0LDB4MDEsMHgwOSwweDkwLDB4NzksMHg3OSwweGUwLDB4NDQsMHgwNCwweGYwLDB4ODAsMHgwNywweDkwfSB9LAoteyAgMTYsMHgyOWQxLDAsezB4NzksMHg3OSwweGUwLDB4NTQsMHhmYiwweGYwLDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg5MCwweDc5LDB4N2MsMHhmMCwweGEyLDB4YWZ9IH0sCi17ICAxNiwweDI5ZTEsMCx7MHhlNCwweDMzLDB4ZjUsMHgxMiwweGMyLDB4YWYsMHgxMiwweDBiLDB4YTIsMHg5MCwweDc5LDB4NzgsMHg3NCwweDAyLDB4ZjAsMHg5MH0gfSwKLXsgIDE2LDB4MjlmMSwwLHsweDc5LDB4ODQsMHhlMCwweDkwLDB4NzksMHg3OSwweGYwLDB4OTAsMHg3OSwweDdmLDB4ZTAsMHhiNCwweDAxLDB4MDksMHg5MCwweDc5fSB9LAoteyAgMTYsMHgyYTAxLDAsezB4NzksMHhlMCwweDU0LDB4ZmUsMHhmMCwweDgwLDB4MDcsMHg5MCwweDc5LDB4NzksMHhlMCwweDQ0LDB4MDEsMHhmMCwweDkwLDB4Nzl9IH0sCi17ICAxNiwweDJhMTEsMCx7MHg3OSwweGUwLDB4NTQsMHhmZCwweGYwLDB4NDQsMHgwNCwweGYwLDB4OTAsMHg3OSwweDg0LDB4ZjAsMHgxMiwweDBiLDB4YTIsMHg5MH0gfSwKLXsgIDE2LDB4MmEyMSwwLHsweDc5LDB4N2EsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDc5LDB4NjUsMHg3NCwweDA1LDB4ZjAsMHhlNSwweDEyLDB4NjAsMHgwMiwweGQyfSB9LAoteyAgMTYsMHgyYTMxLDAsezB4YWYsMHhlNCwweDkwLDB4NzksMHg4YywweGYwLDB4OTAsMHg3OSwweDhiLDB4ZjAsMHgyMiwweDkwLDB4NzksMHgyZCwweGUwLDB4NjR9IH0sCi17ICAxNiwweDJhNDEsMCx7MHgwMSwweDYwLDB4MDIsMHg0MSwweGUwLDB4OTAsMHg3ZiwweGZjLDB4NzQsMHhiNCwweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmY30gfSwKLXsgIDE2LDB4MmE1MSwwLHsweGYwLDB4OTAsMHg3OSwweDc4LDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3OSwweDdjLDB4ZTAsMHg5MCwweDc5LDB4NzksMHhmMCwweDU0fSB9LAoteyAgMTYsMHgyYTYxLDAsezB4ZmUsMHhmMCwweDQ0LDB4MDIsMHhmMCwweDkwLDB4NzksMHg3ZSwweGUwLDB4YjQsMHgwMSwweDA5LDB4OTAsMHg3OSwweDc5LDB4ZTB9IH0sCi17ICAxNiwweDJhNzEsMCx7MHg0NCwweDA0LDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg1NCwweGZiLDB4ZjAsMHg5MCwweDc5LDB4NzksMHhlMH0gfSwKLXsgIDE2LDB4MmE4MSwwLHsweDkwLDB4NzksMHg3YywweGYwLDB4YTIsMHhhZiwweGU0LDB4MzMsMHhmNSwweDEyLDB4YzIsMHhhZiwweDEyLDB4MGIsMHhhMiwweDkwfSB9LAoteyAgMTYsMHgyYTkxLDAsezB4NzksMHg3OCwweDc0LDB4MDIsMHhmMCwweDkwLDB4NzksMHg4NCwweGUwLDB4OTAsMHg3OSwweDc5LDB4ZjAsMHg5MCwweDc5LDB4N2Z9IH0sCi17ICAxNiwweDJhYTEsMCx7MHhlMCwweGI0LDB4MDEsMHgwOSwweDkwLDB4NzksMHg3OSwweGUwLDB4NTQsMHhmZSwweGYwLDB4ODAsMHgwNywweDkwLDB4NzksMHg3OX0gfSwKLXsgIDE2LDB4MmFiMSwwLHsweGUwLDB4NDQsMHgwMSwweGYwLDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg1NCwweGZkLDB4ZjAsMHg1NCwweGZiLDB4ZjAsMHg5MCwweDc5fSB9LAoteyAgMTYsMHgyYWMxLDAsezB4ODQsMHhmMCwweDEyLDB4MGIsMHhhMiwweDkwLDB4NzksMHg3YSwweDc0LDB4MDEsMHhmMCwweDkwLDB4NzksMHg2NSwweDA0LDB4ZjB9IH0sCi17ICAxNiwweDJhZDEsMCx7MHhlNSwweDEyLDB4NjAsMHgwMiwweGQyLDB4YWYsMHhlNCwweDkwLDB4NzksMHg4YywweGYwLDB4OTAsMHg3OSwweDhiLDB4ZjAsMHg5MH0gfSwKLXsgIDE2LDB4MmFlMSwwLHsweDc5LDB4MmQsMHhlMCwweDY0LDB4MDIsMHg2MCwweDAyLDB4NjEsMHg4NSwweDkwLDB4N2YsMHhmYywweDc0LDB4YjAsMHhmMCwweDkwfSB9LAoteyAgMTYsMHgyYWYxLDAsezB4N2YsMHhmZiwweDc0LDB4ZmMsMHhmMCwweDkwLDB4NzksMHg3OCwweDc0LDB4MDEsMHhmMCwweDkwLDB4NzksMHg3YywweGUwLDB4OTB9IH0sCi17ICAxNiwweDJiMDEsMCx7MHg3OSwweDc5LDB4ZjAsMHg1NCwweGZlLDB4ZjAsMHg0NCwweDAyLDB4ZjAsMHg5MCwweDc5LDB4N2UsMHhlMCwweGI0LDB4MDEsMHgwOX0gfSwKLXsgIDE2LDB4MmIxMSwwLHsweDkwLDB4NzksMHg3OSwweGUwLDB4NDQsMHgwNCwweGYwLDB4ODAsMHgwNywweDkwLDB4NzksMHg3OSwweGUwLDB4NTQsMHhmYiwweGYwfSB9LAoteyAgMTYsMHgyYjIxLDAsezB4OTAsMHg3OSwweDc5LDB4ZTAsMHg5MCwweDc5LDB4N2MsMHhmMCwweGEyLDB4YWYsMHhlNCwweDMzLDB4ZjUsMHgxMiwweGMyLDB4YWZ9IH0sCi17ICAxNiwweDJiMzEsMCx7MHgxMiwweDBiLDB4YTIsMHg5MCwweDc5LDB4NzgsMHg3NCwweDAyLDB4ZjAsMHg5MCwweDc5LDB4ODQsMHhlMCwweDkwLDB4NzksMHg3OX0gfSwKLXsgIDE2LDB4MmI0MSwwLHsweGYwLDB4OTAsMHg3OSwweDdmLDB4ZTAsMHhiNCwweDAxLDB4MDksMHg5MCwweDc5LDB4NzksMHhlMCwweDU0LDB4ZmUsMHhmMCwweDgwfSB9LAoteyAgMTYsMHgyYjUxLDAsezB4MDcsMHg5MCwweDc5LDB4NzksMHhlMCwweDQ0LDB4MDEsMHhmMCwweDkwLDB4NzksMHg3OSwweGUwLDB4NDQsMHgwMiwweGYwLDB4NTR9IH0sCi17ICAxNiwweDJiNjEsMCx7MHhmYiwweGYwLDB4OTAsMHg3OSwweDg0LDB4ZjAsMHgxMiwweDBiLDB4YTIsMHg5MCwweDc5LDB4N2EsMHg3NCwweDAxLDB4ZjAsMHg5MH0gfSwKLXsgIDE2LDB4MmI3MSwwLHsweDc5LDB4NjUsMHg3NCwweDA0LDB4ZjAsMHhlNSwweDEyLDB4NjAsMHgwMiwweGQyLDB4YWYsMHhlNCwweDkwLDB4NzksMHg4YywweGYwfSB9LAoteyAgMTYsMHgyYjgxLDAsezB4OTAsMHg3OSwweDhiLDB4ZjAsMHg5MCwweDc5LDB4MmQsMHhlMCwweDY0LDB4MDMsMHg2MCwweDAyLDB4ODEsMHgyYSwweDkwLDB4N2Z9IH0sCi17ICAxNiwweDJiOTEsMCx7MHhmYywweDc0LDB4NjgsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmMsMHhmMCwweDkwLDB4NzksMHg3OCwweDc0LDB4MDEsMHhmMH0gfSwKLXsgIDE2LDB4MmJhMSwwLHsweDkwLDB4NzksMHg3YywweGUwLDB4OTAsMHg3OSwweDc5LDB4ZjAsMHg1NCwweGZlLDB4ZjAsMHg0NCwweDAyLDB4ZjAsMHg5MCwweDc5fSB9LAoteyAgMTYsMHgyYmIxLDAsezB4N2UsMHhlMCwweGI0LDB4MDEsMHgwOSwweDkwLDB4NzksMHg3OSwweGUwLDB4NDQsMHgwNCwweGYwLDB4ODAsMHgwNywweDkwLDB4Nzl9IH0sCi17ICAxNiwweDJiYzEsMCx7MHg3OSwweGUwLDB4NTQsMHhmYiwweGYwLDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg5MCwweDc5LDB4N2MsMHhmMCwweGEyLDB4YWYsMHhlNH0gfSwKLXsgIDE2LDB4MmJkMSwwLHsweDMzLDB4ZjUsMHgxMiwweGMyLDB4YWYsMHgxMiwweDBiLDB4YTIsMHg5MCwweDc5LDB4NzgsMHg3NCwweDAyLDB4ZjAsMHg5MCwweDc5fSB9LAoteyAgMTYsMHgyYmUxLDAsezB4ODQsMHhlMCwweDkwLDB4NzksMHg3OSwweGYwLDB4OTAsMHg3OSwweDdmLDB4ZTAsMHhiNCwweDAxLDB4MDksMHg5MCwweDc5LDB4Nzl9IH0sCi17ICAxNiwweDJiZjEsMCx7MHhlMCwweDU0LDB4ZmUsMHhmMCwweDgwLDB4MDcsMHg5MCwweDc5LDB4NzksMHhlMCwweDQ0LDB4MDEsMHhmMCwweDkwLDB4NzksMHg3OX0gfSwKLXsgIDE2LDB4MmMwMSwwLHsweGUwLDB4NTQsMHhmZCwweGYwLDB4NDQsMHgwNCwweGYwLDB4OTAsMHg3OSwweDg0LDB4ZjAsMHgxMiwweDBiLDB4YTIsMHg5MCwweDc5fSB9LAoteyAgMTYsMHgyYzExLDAsezB4N2EsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDc5LDB4NjUsMHg3NCwweDA2LDB4ZjAsMHhlNSwweDEyLDB4NjAsMHgwMiwweGQyLDB4YWZ9IH0sCi17ICAxMCwweDJjMjEsMCx7MHhlNCwweDkwLDB4NzksMHg4YywweGYwLDB4OTAsMHg3OSwweDhiLDB4ZjAsMHgyMn0gfSwKLXsgIDE2LDB4MmMyYiwwLHsweGU0LDB4ZmYsMHg3YiwweDAxLDB4OTAsMHg3OCwweDE2LDB4MDQsMHhmMCwweGEzLDB4NzQsMHg3OCwweGYwLDB4YTMsMHg3NCwweDU4fSB9LAoteyAgMTYsMHgyYzNiLDAsezB4ZjAsMHg5MCwweDc4LDB4MTYsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDAxLDB4MTJ9IH0sCi17ICAxNiwweDJjNGIsMCx7MHgwYywweDVkLDB4ZmUsMHg5MCwweDdmLDB4ZWMsMHhlMCwweDZlLDB4NjAsMHgxMywweGVmLDB4YzMsMHg5NCwweDA2LDB4NTAsMHgwZH0gfSwKLXsgIDE2LDB4MmM1YiwwLHsweDBmLDB4OTAsMHg3OCwweDE3LDB4ZTQsMHg3NSwweGYwLDB4MGYsMHgxMiwweDBjLDB4ZjQsMHg4MCwweGQ0LDB4YmYsMHgwNiwweDA4fSB9LAoteyAgMTYsMHgyYzZiLDAsezB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4NzgsMHgxNiwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmF9IH0sCi17ICAxNiwweDJjN2IsMCx7MHhhMywweGUwLDB4ZjksMHgxMiwweDBjLDB4NDQsMHhmZiwweDI0LDB4OWYsMHg3MCwweDAyLDB4YzEsMHg2NiwweDI0LDB4MjEsMHg2MH0gfSwKLXsgIDE2LDB4MmM4YiwwLHsweDAyLDB4YzEsMHg4YywweDkwLDB4N2YsMHhlOSwweGUwLDB4MjQsMHg3ZSwweDcwLDB4MDIsMHhhMSwweDMwLDB4MTQsMHg3MCwweDAyfSB9LAoteyAgMTYsMHgyYzliLDAsezB4YTEsMHhjOCwweDI0LDB4MDIsMHg2MCwweDAyLDB4YzEsMHg1ZSwweDkwLDB4MDAsMHgwMiwweDEyLDB4MGQsMHhhMiwweDdiLDB4NDR9IH0sCi17ICAxNiwweDJjYWIsMCx7MHg3YSwweGFjLDB4NzksMHgwMCwweDc4LDB4MDAsMHhjMywweDEyLDB4MGQsMHg5MSwweDcwLDB4MTMsMHg5MCwweDdmLDB4MDAsMHg3NH0gfSwKLXsgIDE2LDB4MmNiYiwwLHsweDQ0LDB4ZjAsMHhhMywweDc0LDB4YWMsMHhmMCwweGU0LDB4YTMsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDMsMHhmMCwweDkwfSB9LAoteyAgMTYsMHgyY2NiLDAsezB4NzgsMHgxNiwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDIsMHgxMiwweDBkLDB4YTJ9IH0sCi17ICAxNiwweDJjZGIsMCx7MHg3YiwweDgwLDB4N2EsMHhiYiwweDc5LDB4MDAsMHg3OCwweDAwLDB4YzMsMHgxMiwweDBkLDB4OTEsMHg3MCwweDEzLDB4OTAsMHg3Zn0gfSwKLXsgIDE2LDB4MmNlYiwwLHsweDAwLDB4NzQsMHg4MCwweGYwLDB4YTMsMHg3NCwweGJiLDB4ZjAsMHhlNCwweGEzLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAzfSB9LAoteyAgMTYsMHgyY2ZiLDAsezB4ZjAsMHg5MCwweDc4LDB4MTYsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDAyLDB4MTJ9IH0sCi17ICAxNiwweDJkMGIsMCx7MHgwZCwweGEyLDB4N2IsMHgwMCwweDdhLDB4NzcsMHg3OSwweDAxLDB4NzgsMHgwMCwweGMzLDB4MTIsMHgwZCwweDkxLDB4NjAsMHgwMn0gfSwKLXsgIDE2LDB4MmQxYiwwLHsweGMxLDB4OTMsMHg5MCwweDdmLDB4MDAsMHhmMCwweGEzLDB4NzQsMHg3NywweGYwLDB4YTMsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDdmfSB9LAoteyAgMTYsMHgyZDJiLDAsezB4YjUsMHg3NCwweDAzLDB4ZjAsMHgyMiwweDkwLDB4NzgsMHgxNiwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4Zjl9IH0sCi17ICAxNiwweDJkM2IsMCx7MHg5MCwweDAwLDB4MDYsMHgxMiwweDBkLDB4YTIsMHg3YiwweDQ0LDB4N2EsMHhhYywweDc5LDB4MDAsMHg3OCwweDAwLDB4YzMsMHgxMn0gfSwKLXsgIDE2LDB4MmQ0YiwwLHsweDBkLDB4OTEsMHg3MCwweDEzLDB4OTAsMHg3ZiwweDAwLDB4NzQsMHg0NCwweGYwLDB4YTMsMHg3NCwweGFjLDB4ZjAsMHhlNCwweGEzfSB9LAoteyAgMTYsMHgyZDViLDAsezB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAzLDB4ZjAsMHg5MCwweDc4LDB4MTYsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTN9IH0sCi17ICAxNiwweDJkNmIsMCx7MHhlMCwweGY5LDB4OTAsMHgwMCwweDA2LDB4MTIsMHgwZCwweGEyLDB4N2IsMHg4MCwweDdhLDB4YmIsMHg3OSwweDAwLDB4NzgsMHgwMH0gfSwKLXsgIDE2LDB4MmQ3YiwwLHsweGMzLDB4MTIsMHgwZCwweDkxLDB4NzAsMHgxMywweDkwLDB4N2YsMHgwMCwweDc0LDB4ODAsMHhmMCwweGEzLDB4NzQsMHhiYiwweGYwfSB9LAoteyAgMTYsMHgyZDhiLDAsezB4ZTQsMHhhMywweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMywweGYwLDB4OTAsMHg3OCwweDE2LDB4ZTAsMHhmYiwweGEzLDB4ZTB9IH0sCi17ICAxNiwweDJkOWIsMCx7MHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwNiwweDEyLDB4MGQsMHhhMiwweDdiLDB4MDAsMHg3YSwweDc3LDB4NzksMHgwMX0gfSwKLXsgIDE2LDB4MmRhYiwwLHsweDc4LDB4MDAsMHhjMywweDEyLDB4MGQsMHg5MSwweDYwLDB4MDIsMHhjMSwweDkzLDB4OTAsMHg3ZiwweDAwLDB4ZjAsMHhhMywweDc0fSB9LAoteyAgMTYsMHgyZGJiLDAsezB4NzcsMHhmMCwweGEzLDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMywweGYwLDB4MjIsMHg5MCwweDc4LDB4MTZ9IH0sCi17ICAxNiwweDJkY2IsMCx7MHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDBhLDB4MTIsMHgwZCwweGEyLDB4N2IsMHg0NH0gfSwKLXsgIDE2LDB4MmRkYiwwLHsweDdhLDB4YWMsMHg3OSwweDAwLDB4NzgsMHgwMCwweGMzLDB4MTIsMHgwZCwweDkxLDB4NzAsMHgxMywweDkwLDB4N2YsMHgwMCwweDc0fSB9LAoteyAgMTYsMHgyZGViLDAsezB4NDQsMHhmMCwweGEzLDB4NzQsMHhhYywweGYwLDB4ZTQsMHhhMywweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMywweGYwLDB4OTB9IH0sCi17ICAxNiwweDJkZmIsMCx7MHg3OCwweDE2LDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwYSwweDEyLDB4MGQsMHhhMn0gfSwKLXsgIDE2LDB4MmUwYiwwLHsweDdiLDB4ODAsMHg3YSwweGJiLDB4NzksMHgwMCwweDc4LDB4MDAsMHhjMywweDEyLDB4MGQsMHg5MSwweDcwLDB4MTMsMHg5MCwweDdmfSB9LAoteyAgMTYsMHgyZTFiLDAsezB4MDAsMHg3NCwweDgwLDB4ZjAsMHhhMywweDc0LDB4YmIsMHhmMCwweGU0LDB4YTMsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDN9IH0sCi17ICAxNiwweDJlMmIsMCx7MHhmMCwweDkwLDB4NzgsMHgxNiwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MGEsMHgxMn0gfSwKLXsgIDE2LDB4MmUzYiwwLHsweDBkLDB4YTIsMHg3YiwweDAwLDB4N2EsMHg3NywweDc5LDB4MDEsMHg3OCwweDAwLDB4YzMsMHgxMiwweDBkLDB4OTEsMHg3MCwweDQ4fSB9LAoteyAgMTYsMHgyZTRiLDAsezB4OTAsMHg3ZiwweDAwLDB4ZjAsMHhhMywweDc0LDB4NzcsMHhmMCwweGEzLDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzR9IH0sCi17ICAxNiwweDJlNWIsMCx7MHgwMywweGYwLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGU5LDB4ZTAsMHgyNH0gfSwKLXsgIDE2LDB4MmU2YiwwLHsweDdmLDB4NzAsMHgxNiwweDkwLDB4NzgsMHgxNiwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwfSB9LAoteyAgMTYsMHgyZTdiLDAsezB4MGUsMHgxMiwweDBjLDB4NWQsMHg5MCwweDdmLDB4MDAsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjB9IH0sCi17ICAgOCwweDJlOGIsMCx7MHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwfSB9LAoteyAgIDEsMHgyZTkzLDAsezB4MjJ9IH0sCi17ICAxNiwweDJlOTQsMCx7MHg3NSwweDM2LDB4MjUsMHg3NSwweDM3LDB4MjQsMHg5MCwweDc5LDB4NzQsMHhlMCwweDY0LDB4MDEsMHg3MCwweDU0LDB4ZjAsMHhmNX0gfSwKLXsgIDE2LDB4MmVhNCwwLHsweDM1LDB4NzUsMHgyMiwweDAxLDB4ZTUsMHgyMiwweDY0LDB4MDEsMHg3MCwweDQ4LDB4OTAsMHg3ZiwweGE1LDB4ZTAsMHg0NCwweDgwfSB9LAoteyAgMTYsMHgyZWI0LDAsezB4ZjAsMHg5MCwweDdmLDB4YTYsMHhlNSwweDM2LDB4ZjAsMHgxMiwweDQ2LDB4YzAsMHg3NCwweDRmLDB4MjUsMHgzNSwweGY1LDB4ODJ9IH0sCi17ICAxNiwweDJlYzQsMCx7MHhlNCwweDM0LDB4NzksMHhmNSwweDgzLDB4ZTAsMHg5MCwweDdmLDB4YTYsMHhmMCwweDEyLDB4NDYsMHhjMCwweDc0LDB4MzUsMHgyNX0gfSwKLXsgIDE2LDB4MmVkNCwwLHsweDM1LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3OSwweGY1LDB4ODMsMHhlMCwweDkwLDB4N2YsMHhhNiwweGYwLDB4MTIsMHg0NiwweGMwfSB9LAoteyAgMTYsMHgyZWU0LDAsezB4OTAsMHg3ZiwweGE1LDB4NzQsMHg0MCwweGYwLDB4MTIsMHgwYSwweGNkLDB4MDUsMHgzNSwweGU1LDB4MzUsMHhjMywweDk0LDB4MGR9IH0sCi17ICAxNiwweDJlZjQsMCx7MHg0MCwweGIyLDB4OTAsMHg3OSwweDc1LDB4ZTAsMHg2NCwweDAxLDB4NjAsMHgwMiwweGUxLDB4ZGUsMHhmMCwweDkwLDB4NzksMHgyMH0gfSwKLXsgIDE2LDB4MmYwNCwwLHsweGUwLDB4NjQsMHgwNSwweDYwLDB4MDIsMHhlMSwweDhkLDB4N2IsMHgwMSwweDkwLDB4NzksMHg1YywweDA0LDB4ZjAsMHhhMywweDc0fSB9LAoteyAgMTYsMHgyZjE0LDAsezB4NzgsMHhmMCwweGEzLDB4NzQsMHhiMiwweGYwLDB4NzUsMHgzMywweDA3LDB4OTAsMHg3OSwweDVjLDB4ZTAsMHhmYiwweGEzLDB4ZTB9IH0sCi17ICAxNiwweDJmMjQsMCx7MHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwMSwweDEyLDB4MGMsMHg1ZCwweDcwLDB4MGYsMHg5MCwweDAwLDB4MDQsMHgxMn0gfSwKLXsgIDE2LDB4MmYzNCwwLHsweDBjLDB4NWQsMHg5MCwweDc5LDB4MmYsMHhmMCwweDEyLDB4MGMsMHgyOSwweDgwLDB4MDYsMHg5MCwweDc5LDB4MmYsMHg3NCwweGZmfSB9LAoteyAgMTYsMHgyZjQ0LDAsezB4ZjAsMHhlNCwweGY1LDB4MzUsMHg3NSwweDIyLDB4MDEsMHg3NSwweDM0LDB4MDIsMHhlNSwweDIyLDB4NjQsMHgwMSwweDcwLDB4Mzl9IH0sCi17ICAxNiwweDJmNTQsMCx7MHg5MCwweDdmLDB4YTUsMHhlMCwweDQ0LDB4ODAsMHhmMCwweDkwLDB4N2YsMHhhNiwweGU1LDB4MzYsMHhmMCwweDEyLDB4NDYsMHhjMH0gfSwKLXsgIDE2LDB4MmY2NCwwLHsweGFmLDB4MzQsMHgwNSwweDM0LDB4OTAsMHg3ZiwweGE2LDB4ZWYsMHhmMCwweDEyLDB4NDYsMHhjMCwweDkwLDB4NzksMHgyZiwweGUwfSB9LAoteyAgMTYsMHgyZjc0LDAsezB4OTAsMHg3ZiwweGE2LDB4ZjAsMHgxMiwweDQ2LDB4YzAsMHg5MCwweDdmLDB4YTUsMHg3NCwweDQwLDB4ZjAsMHgxMiwweDBhLDB4Y2R9IH0sCi17ICAxNiwweDJmODQsMCx7MHgwNSwweDM1LDB4ZTUsMHgzNSwweGMzLDB4OTQsMHgwNiwweDQwLDB4YzEsMHg5MCwweDc5LDB4MjAsMHhlMCwweDY0LDB4MDYsMHg3MH0gfSwKLXsgIDE2LDB4MmY5NCwwLHsweDQ5LDB4N2IsMHgwMSwweDkwLDB4NzksMHg1ZiwweDA0LDB4ZjAsMHhhMywweDc0LDB4NzgsMHhmMCwweGEzLDB4NzQsMHhmZiwweGYwfSB9LAoteyAgMTYsMHgyZmE0LDAsezB4NzUsMHgzMywweDAzLDB4OTAsMHg3OSwweDVmLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDB9IH0sCi17ICAxNiwweDJmYjQsMCx7MHgwMSwweDEyLDB4MGMsMHg1ZCwweDcwLDB4MWMsMHg5MCwweDAwLDB4MDQsMHgxMiwweDBjLDB4NWQsMHg5MCwweDc5LDB4MzMsMHhmMH0gfSwKLXsgIDE2LDB4MmZjNCwwLHsweDcwLDB4MDMsMHg3NCwweGZmLDB4ZjAsMHg5MCwweDc5LDB4MzMsMHhlMCwweDU0LDB4N2YsMHhmZiwweGYwLDB4MjUsMHhlMCwweGYwfSB9LAoteyAgMTAsMHgyZmQ0LDAsezB4ODAsMHgwNSwweGU0LDB4OTAsMHg3OSwweDMzLDB4ZjAsMHgxMiwweDQ3LDB4ZGZ9IH0sCi17ICAgMSwweDJmZGUsMCx7MHgyMn0gfSwKLXsgIDE2LDB4MmZkZiwwLHsweDkwLDB4NzksMHg3OCwweDc0LDB4MDMsMHhmMCwweDkwLDB4NzksMHg4MywweGUwLDB4OTAsMHg3OSwweDc5LDB4ZjAsMHhhMiwweGFmfSB9LAoteyAgMTYsMHgyZmVmLDAsezB4ZTQsMHgzMywweGY1LDB4MTIsMHhjMiwweGFmLDB4MTIsMHgwYiwweGEyLDB4ZTUsMHgxMiwweDYwLDB4MDIsMHhkMiwweGFmLDB4MjJ9IH0sCi17ICAgMSwweDJmZmYsMCx7MHgyMn0gfSwKLXsgIDE2LDB4MzAwMCwwLHsweGU0LDB4ZmUsMHg5MCwweDc5LDB4MjAsMHhlMCwweGZkLDB4YjQsMHgwNSwweDExLDB4OTAsMHg3OCwweDI1LDB4NzQsMHgwMSwweGYwfSB9LAoteyAgMTYsMHgzMDEwLDAsezB4YTMsMHg3NCwweDc4LDB4ZjAsMHhhMywweDc0LDB4YjIsMHhmMCwweDc1LDB4MzUsMHgwNywweGVkLDB4YjQsMHgwNiwweDExLDB4OTB9IH0sCi17ICAxNiwweDMwMjAsMCx7MHg3OCwweDI1LDB4NzQsMHgwMSwweGYwLDB4YTMsMHg3NCwweDc4LDB4ZjAsMHhhMywweDc0LDB4ZmYsMHhmMCwweDc1LDB4MzUsMHgwM30gfSwKLXsgIDE2LDB4MzAzMCwwLHsweDkwLDB4N2YsMHhlYiwweGUwLDB4MTQsMHg2MCwweDExLDB4MTQsMHg2MCwweDViLDB4MjQsMHgwMiwweDYwLDB4MDIsMHg0MSwweDA1fSB9LAoteyAgMTYsMHgzMDQwLDAsezB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhlOSwweGUwLDB4MjQsMHg3ZiwweDcwLDB4M2R9IH0sCi17ICAxNiwweDMwNTAsMCx7MHhlNCwweGZmLDB4ZWYsMHhjMywweDk1LDB4MzUsMHg1MCwweDJmLDB4OTAsMHg3OCwweDI1LDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYX0gfSwKLXsgIDE2LDB4MzA2MCwwLHsweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwMSwweDEyLDB4MGMsMHg1ZCwweGZkLDB4Y2MsMHhlZSwweGNjLDB4MGUsMHg3NCwweDAwfSB9LAoteyAgMTYsMHgzMDcwLDAsezB4MmMsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdmLDB4ZjUsMHg4MywweGVkLDB4ZjAsMHg5MCwweDc4LDB4MjYsMHhlNCwweDc1LDB4ZjB9IH0sCi17ICAxNiwweDMwODAsMCx7MHgwYiwweDEyLDB4MGMsMHhmNCwweDBmLDB4ODAsMHhjYiwweDkwLDB4N2YsMHhiNSwweGVlLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNH0gfSwKLXsgIDE2LDB4MzA5MCwwLHsweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4ZTksMHhlMCwweDI0LDB4N2UsMHg2MCwweDY0LDB4MTQsMHg3MCwweDAyfSB9LAoteyAgMTYsMHgzMGEwLDAsezB4MjEsMHg1NSwweDE0LDB4NzAsMHgwMiwweDIxLDB4YTksMHgyNCwweDAzLDB4NjAsMHgwMiwweDIxLDB4ZmQsMHhlNCwweGZmLDB4ZWZ9IH0sCi17ICAxNiwweDMwYjAsMCx7MHhjMywweDk1LDB4MzUsMHg1MCwweDQ2LDB4OTAsMHg3OCwweDI1LDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOX0gfSwKLXsgIDE2LDB4MzBjMCwwLHsweDkwLDB4MDAsMHgwMywweDEyLDB4MGMsMHg1ZCwweGZkLDB4Y2MsMHhlZSwweGNjLDB4MGUsMHg3NCwweDAwLDB4MmMsMHhmNSwweDgyfSB9LAoteyAgMTYsMHgzMGQwLDAsezB4ZTQsMHgzNCwweDdmLDB4ZjUsMHg4MywweGVkLDB4ZjAsMHg5MCwweDAwLDB4MDQsMHgxMiwweDBjLDB4NWQsMHhmZCwweGNjLDB4ZWV9IH0sCi17ICAxNiwweDMwZTAsMCx7MHhjYywweDBlLDB4NzQsMHgwMCwweDJjLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZiwweGY1LDB4ODMsMHhlZCwweGYwLDB4OTAsMHg3OH0gfSwKLXsgIDE2LDB4MzBmMCwwLHsweDI2LDB4ZTQsMHg3NSwweGYwLDB4MGIsMHgxMiwweDBjLDB4ZjQsMHgwZiwweDgwLDB4YjQsMHg5MCwweDdmLDB4YjUsMHhlZSwweGYwfSB9LAoteyAgMTYsMHgzMTAwLDAsezB4MjIsMHhlNCwweGZmLDB4ZWYsMHhjMywweDk1LDB4MzUsMHg1MCwweDQ2LDB4OTAsMHg3OCwweDI1LDB4ZTAsMHhmYiwweGEzLDB4ZTB9IH0sCi17ICAxNiwweDMxMTAsMCx7MHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwNSwweDEyLDB4MGMsMHg1ZCwweGZkLDB4Y2MsMHhlZSwweGNjLDB4MGUsMHg3NH0gfSwKLXsgIDE2LDB4MzEyMCwwLHsweDAwLDB4MmMsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdmLDB4ZjUsMHg4MywweGVkLDB4ZjAsMHg5MCwweDAwLDB4MDYsMHgxMiwweDBjfSB9LAoteyAgMTYsMHgzMTMwLDAsezB4NWQsMHhmZCwweGNjLDB4ZWUsMHhjYywweDBlLDB4NzQsMHgwMCwweDJjLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZiwweGY1LDB4ODN9IH0sCi17ICAxNiwweDMxNDAsMCx7MHhlZCwweGYwLDB4OTAsMHg3OCwweDI2LDB4ZTQsMHg3NSwweGYwLDB4MGIsMHgxMiwweDBjLDB4ZjQsMHgwZiwweDgwLDB4YjQsMHg5MH0gfSwKLXsgIDE2LDB4MzE1MCwwLHsweDdmLDB4YjUsMHhlZSwweGYwLDB4MjIsMHhlNCwweGZmLDB4ZWYsMHhjMywweDk1LDB4MzUsMHg1MCwweDQ2LDB4OTAsMHg3OCwweDI1fSB9LAoteyAgMTYsMHgzMTYwLDAsezB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwNywweDEyLDB4MGMsMHg1ZCwweGZkLDB4Y2N9IH0sCi17ICAxNiwweDMxNzAsMCx7MHhlZSwweGNjLDB4MGUsMHg3NCwweDAwLDB4MmMsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdmLDB4ZjUsMHg4MywweGVkLDB4ZjAsMHg5MH0gfSwKLXsgIDE2LDB4MzE4MCwwLHsweDAwLDB4MDgsMHgxMiwweDBjLDB4NWQsMHhmZCwweGNjLDB4ZWUsMHhjYywweDBlLDB4NzQsMHgwMCwweDJjLDB4ZjUsMHg4MiwweGU0fSB9LAoteyAgMTYsMHgzMTkwLDAsezB4MzQsMHg3ZiwweGY1LDB4ODMsMHhlZCwweGYwLDB4OTAsMHg3OCwweDI2LDB4ZTQsMHg3NSwweGYwLDB4MGIsMHgxMiwweDBjLDB4ZjR9IH0sCi17ICAxNiwweDMxYTAsMCx7MHgwZiwweDgwLDB4YjQsMHg5MCwweDdmLDB4YjUsMHhlZSwweGYwLDB4MjIsMHhlNCwweGZmLDB4ZWYsMHhjMywweDk1LDB4MzUsMHg1MH0gfSwKLXsgIDE2LDB4MzFiMCwwLHsweDQ2LDB4OTAsMHg3OCwweDI1LDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwOSwweDEyfSB9LAoteyAgMTYsMHgzMWMwLDAsezB4MGMsMHg1ZCwweGZkLDB4Y2MsMHhlZSwweGNjLDB4MGUsMHg3NCwweDAwLDB4MmMsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdmLDB4ZjV9IH0sCi17ICAxNiwweDMxZDAsMCx7MHg4MywweGVkLDB4ZjAsMHg5MCwweDAwLDB4MGEsMHgxMiwweDBjLDB4NWQsMHhmZCwweGNjLDB4ZWUsMHhjYywweDBlLDB4NzQsMHgwMH0gfSwKLXsgIDE2LDB4MzFlMCwwLHsweDJjLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZiwweGY1LDB4ODMsMHhlZCwweGYwLDB4OTAsMHg3OCwweDI2LDB4ZTQsMHg3NSwweGYwfSB9LAoteyAgMTYsMHgzMWYwLDAsezB4MGIsMHgxMiwweDBjLDB4ZjQsMHgwZiwweDgwLDB4YjQsMHg5MCwweDdmLDB4YjUsMHhlZSwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjR9IH0sCi17ICAxMiwweDMyMDAsMCx7MHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjB9IH0sCi17ICAgMSwweDMyMGMsMCx7MHgyMn0gfSwKLXsgIDE2LDB4MzIwZCwwLHsweDdiLDB4MDEsMHg3YSwweDc4LDB4NzksMHgyYiwweDkwLDB4NzgsMHgwMCwweGViLDB4ZjAsMHhhMywweGVhLDB4ZjAsMHhhMywweGU5fSB9LAoteyAgMTYsMHgzMjFkLDAsezB4ZjAsMHg3NCwweDAxLDB4MTIsMHgwYywweDhhLDB4OTAsMHg3OCwweDAwLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTB9IH0sCi17ICAxNiwweDMyMmQsMCx7MHhmOSwweDkwLDB4MDAsMHgwMSwweDc0LDB4MDEsMHgxMiwweDBjLDB4OWMsMHg5MCwweDAwLDB4MDIsMHhlNCwweDEyLDB4MGMsMHg5Y30gfSwKLXsgIDE2LDB4MzIzZCwwLHsweDkwLDB4NzgsMHgwMSwweGU0LDB4NzUsMHhmMCwweDAzLDB4MTIsMHgwYywweGY0LDB4OTAsMHg3OCwweDAwLDB4ZTAsMHhmYiwweGEzfSB9LAoteyAgMTYsMHgzMjRkLDAsezB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDc0LDB4MTAsMHgxMiwweDBjLDB4OGEsMHg5MCwweDc4LDB4MDAsMHhlMCwweGZiLDB4YTN9IH0sCi17ICAxNiwweDMyNWQsMCx7MHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDAxLDB4NzQsMHgwNSwweDEyLDB4MGMsMHg5YywweDkwLDB4MDAsMHgwMn0gfSwKLXsgIDE2LDB4MzI2ZCwwLHsweGU0LDB4MTIsMHgwYywweDljLDB4OTAsMHg3OCwweDAxLDB4ZTQsMHg3NSwweGYwLDB4MDMsMHgxMiwweDBjLDB4ZjQsMHg5MCwweDc4fSB9LAoteyAgMTYsMHgzMjdkLDAsezB4MDAsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4NzQsMHgwMiwweDEyLDB4MGMsMHg4YSwweDkwLDB4Nzh9IH0sCi17ICAxNiwweDMyOGQsMCx7MHgwMCwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDEsMHg3NCwweDAyLDB4MTIsMHgwY30gfSwKLXsgIDE2LDB4MzI5ZCwwLHsweDljLDB4OTAsMHgwMCwweDAyLDB4ZTQsMHgxMiwweDBjLDB4OWMsMHg5MCwweDc4LDB4MDEsMHhlNCwweDc1LDB4ZjAsMHgwMywweDEyfSB9LAoteyAgMTYsMHgzMmFkLDAsezB4MGMsMHhmNCwweDkwLDB4NzgsMHgwMCwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg3NCwweDAxLDB4MTJ9IH0sCi17ICAxNiwweDMyYmQsMCx7MHgwYywweDhhLDB4OTAsMHg3OCwweDAwLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwMX0gfSwKLXsgIDE2LDB4MzJjZCwwLHsweDc0LDB4MDMsMHgxMiwweDBjLDB4OWMsMHg5MCwweDAwLDB4MDIsMHhlNCwweDEyLDB4MGMsMHg5YywweDkwLDB4NzgsMHgwMSwweGU0fSB9LAoteyAgMTYsMHgzMmRkLDAsezB4NzUsMHhmMCwweDAzLDB4MTIsMHgwYywweGY0LDB4OTAsMHg3OCwweDAwLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTB9IH0sCi17ICAxNiwweDMyZWQsMCx7MHhmOSwweDc0LDB4MTAsMHgxMiwweDBjLDB4OGEsMHg5MCwweDc4LDB4MDAsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMH0gfSwKLXsgIDE2LDB4MzJmZCwwLHsweGY5LDB4OTAsMHgwMCwweDAxLDB4NzQsMHgwNiwweDEyLDB4MGMsMHg5YywweDkwLDB4MDAsMHgwMiwweGU0LDB4MTIsMHgwYywweDljfSB9LAoteyAgMTYsMHgzMzBkLDAsezB4OTAsMHg3OCwweDAxLDB4ZTQsMHg3NSwweGYwLDB4MDMsMHgxMiwweDBjLDB4ZjQsMHg5MCwweDc4LDB4MDAsMHhlMCwweGZiLDB4YTN9IH0sCi17ICAxNiwweDMzMWQsMCx7MHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4NzQsMHgwMiwweDEyLDB4MGMsMHg4YSwweDkwLDB4NzgsMHgwMCwweGUwLDB4ZmIsMHhhM30gfSwKLXsgIDE2LDB4MzMyZCwwLHsweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDEsMHg3NCwweDA0LDB4MTIsMHgwYywweDljLDB4OTAsMHgwMCwweDAyfSB9LAoteyAgMTYsMHgzMzNkLDAsezB4ZTQsMHgxMiwweDBjLDB4OWMsMHg5MCwweDc4LDB4MDEsMHhlNCwweDc1LDB4ZjAsMHgwMywweDEyLDB4MGMsMHhmNCwweDkwLDB4Nzh9IH0sCi17ICAxNiwweDMzNGQsMCx7MHgwMCwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg3NCwweDAyLDB4MTIsMHgwYywweDhhLDB4OTAsMHg3OH0gfSwKLXsgIDE2LDB4MzM1ZCwwLHsweDAwLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwMSwweDc0LDB4MDQsMHgxMiwweDBjfSB9LAoteyAgMTYsMHgzMzZkLDAsezB4OWMsMHg5MCwweDAwLDB4MDIsMHg3NCwweDA0LDB4MTIsMHgwYywweDljLDB4OTAsMHg3OCwweDAxLDB4ZTQsMHg3NSwweGYwLDB4MDN9IH0sCi17ICAxNiwweDMzN2QsMCx7MHgxMiwweDBjLDB4ZjQsMHg5MCwweDc4LDB4MDAsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4NzQsMHgwMn0gfSwKLXsgIDE2LDB4MzM4ZCwwLHsweDEyLDB4MGMsMHg4YSwweDkwLDB4NzgsMHgwMCwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwfSB9LAoteyAgMTYsMHgzMzlkLDAsezB4MDEsMHg3NCwweDAzLDB4MTIsMHgwYywweDljLDB4OTAsMHgwMCwweDAyLDB4NzQsMHgwNCwweDEyLDB4MGMsMHg5YywweDkwLDB4Nzh9IH0sCi17ICAxNiwweDMzYWQsMCx7MHgwMSwweGU0LDB4NzUsMHhmMCwweDAzLDB4MTIsMHgwYywweGY0LDB4OTAsMHg3OCwweDAwLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYX0gfSwKLXsgIDE2LDB4MzNiZCwwLHsweGEzLDB4ZTAsMHhmOSwweDc0LDB4MDIsMHgxMiwweDBjLDB4OGEsMHg5MCwweDc4LDB4MDAsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhfSB9LAoteyAgMTYsMHgzM2NkLDAsezB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDAxLDB4NzQsMHgwMiwweDEyLDB4MGMsMHg5YywweDkwLDB4MDAsMHgwMiwweDc0LDB4MDR9IH0sCi17ICAxNiwweDMzZGQsMCx7MHgxMiwweDBjLDB4OWMsMHg5MCwweDc4LDB4MDEsMHhlNCwweDc1LDB4ZjAsMHgwMywweDEyLDB4MGMsMHhmNCwweDkwLDB4NzgsMHgwMH0gfSwKLXsgIDE2LDB4MzNlZCwwLHsweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg3NCwweDAyLDB4MTIsMHgwYywweDhhLDB4OTAsMHg3OCwweDAwfSB9LAoteyAgMTYsMHgzM2ZkLDAsezB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwMSwweDc0LDB4MDEsMHgxMiwweDBjLDB4OWN9IH0sCi17ICAgOCwweDM0MGQsMCx7MHg5MCwweDAwLDB4MDIsMHg3NCwweDA0LDB4MTIsMHgwYywweDljfSB9LAoteyAgIDEsMHgzNDE1LDAsezB4MjJ9IH0sCi17ICAxNiwweDM0MTYsMCx7MHhlNCwweGZlLDB4OTAsMHg3OSwweDIwLDB4ZTAsMHhmZCwweGI0LDB4MDUsMHgxMSwweDkwLDB4NzgsMHgxZiwweDc0LDB4MDEsMHhmMH0gfSwKLXsgIDE2LDB4MzQyNiwwLHsweGEzLDB4NzQsMHg3OCwweGYwLDB4YTMsMHg3NCwweGIyLDB4ZjAsMHg3NSwweDM1LDB4MDcsMHhlZCwweGI0LDB4MDYsMHgxMSwweDkwfSB9LAoteyAgMTYsMHgzNDM2LDAsezB4NzgsMHgxZiwweDc0LDB4MDEsMHhmMCwweGEzLDB4NzQsMHg3OCwweGYwLDB4YTMsMHg3NCwweGZmLDB4ZjAsMHg3NSwweDM1LDB4MDN9IH0sCi17ICAxNiwweDM0NDYsMCx7MHg5MCwweDc5LDB4OTksMHhlMCwweDE0LDB4NjAsMHgxMSwweDE0LDB4NjAsMHg1YiwweDI0LDB4MDIsMHg2MCwweDAyLDB4YzEsMHgwNn0gfSwKLXsgIDE2LDB4MzQ1NiwwLHsweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDc5LDB4OTcsMHhlMCwweDE0LDB4NzAsMHgzZSwweGU0fSB9LAoteyAgMTYsMHgzNDY2LDAsezB4ZmYsMHhlZiwweGMzLDB4OTUsMHgzNSwweDUwLDB4MmYsMHhjZCwweGVlLDB4Y2QsMHgwZSwweDc0LDB4MjEsMHgyZCwweGY1LDB4ODJ9IH0sCi17ICAxNiwweDM0NzYsMCx7MHhlNCwweDM0LDB4NzksMHhmNSwweDgzLDB4ZTAsMHhmZCwweDkwLDB4NzgsMHgxZiwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhM30gfSwKLXsgIDE2LDB4MzQ4NiwwLHsweGUwLDB4ZjksMHg5MCwweDAwLDB4MDEsMHhlZCwweDEyLDB4MGMsMHg5YywweDkwLDB4NzgsMHgyMCwweGU0LDB4NzUsMHhmMCwweDBifSB9LAoteyAgMTYsMHgzNDk2LDAsezB4MTIsMHgwYywweGY0LDB4MGYsMHg4MCwweGNiLDB4OTAsMHg3OSwweDc1LDB4NzQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjR9IH0sCi17ICAxNiwweDM0YTYsMCx7MHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3OSwweDk3LDB4ZTAsMHgyNCwweGZlLDB4NjAsMHg2MywweDE0LDB4NzAsMHgwMn0gfSwKLXsgIDE2LDB4MzRiNiwwLHsweGExLDB4NjQsMHgxNCwweDcwLDB4MDIsMHhhMSwweGIyLDB4MjQsMHgwMywweDYwLDB4MDIsMHhhMSwweGZlLDB4ZTQsMHhmZiwweGVmfSB9LAoteyAgMTYsMHgzNGM2LDAsezB4YzMsMHg5NSwweDM1LDB4NTAsMHg0NCwweGNkLDB4ZWUsMHhjZCwweDBlLDB4NzQsMHgyMSwweDJkLDB4ZjUsMHg4MiwweGU0LDB4MzR9IH0sCi17ICAxNiwweDM0ZDYsMCx7MHg3OSwweGY1LDB4ODMsMHhlMCwweGZkLDB4OTAsMHg3OCwweDFmLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOX0gfSwKLXsgIDE2LDB4MzRlNiwwLHsweDkwLDB4MDAsMHgwMywweGVkLDB4MTIsMHgwYywweDljLDB4Y2QsMHhlZSwweGNkLDB4MGUsMHg3NCwweDIxLDB4MmQsMHhmNSwweDgyfSB9LAoteyAgMTYsMHgzNGY2LDAsezB4ZTQsMHgzNCwweDc5LDB4ZjUsMHg4MywweGUwLDB4OTAsMHgwMCwweDA0LDB4MTIsMHgwYywweDljLDB4OTAsMHg3OCwweDIwLDB4ZTR9IH0sCi17ICAxNiwweDM1MDYsMCx7MHg3NSwweGYwLDB4MGIsMHgxMiwweDBjLDB4ZjQsMHgwZiwweDgwLDB4YjYsMHg5MCwweDc5LDB4NzUsMHg3NCwweDAxLDB4ZjAsMHgyMn0gfSwKLXsgIDE2LDB4MzUxNiwwLHsweGU0LDB4ZmYsMHhlZiwweGMzLDB4OTUsMHgzNSwweDQwLDB4MDIsMHhjMSwweDBkLDB4Y2QsMHhlZSwweGNkLDB4MGUsMHg3NCwweDIxfSB9LAoteyAgMTYsMHgzNTI2LDAsezB4MmQsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc5LDB4ZjUsMHg4MywweGUwLDB4ZmQsMHg5MCwweDc4LDB4MWYsMHhlMCwweGZiLDB4YTN9IH0sCi17ICAxNiwweDM1MzYsMCx7MHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDA1LDB4ZWQsMHgxMiwweDBjLDB4OWMsMHhjZCwweGVlLDB4Y2QsMHgwZX0gfSwKLXsgIDE2LDB4MzU0NiwwLHsweDc0LDB4MjEsMHgyZCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzksMHhmNSwweDgzLDB4ZTAsMHg5MCwweDAwLDB4MDYsMHgxMiwweDBjfSB9LAoteyAgMTYsMHgzNTU2LDAsezB4OWMsMHg5MCwweDc4LDB4MjAsMHhlNCwweDc1LDB4ZjAsMHgwYiwweDEyLDB4MGMsMHhmNCwweDBmLDB4ODAsMHhiNCwweGU0LDB4ZmZ9IH0sCi17ICAxNiwweDM1NjYsMCx7MHhlZiwweGMzLDB4OTUsMHgzNSwweDQwLDB4MDIsMHhjMSwweDBkLDB4Y2QsMHhlZSwweGNkLDB4MGUsMHg3NCwweDIxLDB4MmQsMHhmNX0gfSwKLXsgIDE2LDB4MzU3NiwwLHsweDgyLDB4ZTQsMHgzNCwweDc5LDB4ZjUsMHg4MywweGUwLDB4ZmQsMHg5MCwweDc4LDB4MWYsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhfSB9LAoteyAgMTYsMHgzNTg2LDAsezB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDA3LDB4ZWQsMHgxMiwweDBjLDB4OWMsMHhjZCwweGVlLDB4Y2QsMHgwZSwweDc0LDB4MjF9IH0sCi17ICAxNiwweDM1OTYsMCx7MHgyZCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzksMHhmNSwweDgzLDB4ZTAsMHg5MCwweDAwLDB4MDgsMHgxMiwweDBjLDB4OWMsMHg5MH0gfSwKLXsgIDE2LDB4MzVhNiwwLHsweDc4LDB4MjAsMHhlNCwweDc1LDB4ZjAsMHgwYiwweDEyLDB4MGMsMHhmNCwweDBmLDB4ODAsMHhiNCwweGU0LDB4ZmYsMHhlZiwweGMzfSB9LAoteyAgMTYsMHgzNWI2LDAsezB4OTUsMHgzNSwweDUwLDB4NTMsMHhjZCwweGVlLDB4Y2QsMHgwZSwweDc0LDB4MjEsMHgyZCwweGY1LDB4ODIsMHhlNCwweDM0LDB4Nzl9IH0sCi17ICAxNiwweDM1YzYsMCx7MHhmNSwweDgzLDB4ZTAsMHhmZCwweDkwLDB4NzgsMHgxZiwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MH0gfSwKLXsgIDE2LDB4MzVkNiwwLHsweDAwLDB4MDksMHhlZCwweDEyLDB4MGMsMHg5YywweGNkLDB4ZWUsMHhjZCwweDBlLDB4NzQsMHgyMSwweDJkLDB4ZjUsMHg4MiwweGU0fSB9LAoteyAgMTYsMHgzNWU2LDAsezB4MzQsMHg3OSwweGY1LDB4ODMsMHhlMCwweDkwLDB4MDAsMHgwYSwweDEyLDB4MGMsMHg5YywweDkwLDB4NzgsMHgyMCwweGU0LDB4NzV9IH0sCi17ICAxNiwweDM1ZjYsMCx7MHhmMCwweDBiLDB4MTIsMHgwYywweGY0LDB4MGYsMHg4MCwweGI2LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMn0gfSwKLXsgICA3LDB4MzYwNiwwLHsweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwfSB9LAoteyAgIDEsMHgzNjBkLDAsezB4MjJ9IH0sCi17ICAxNiwweDM2MGUsMCx7MHhlNCwweGZlLDB4OTAsMHg3OSwweDIwLDB4ZTAsMHhmZCwweGI0LDB4MDUsMHgxMCwweDkwLDB4NzgsMHgyOCwweDc0LDB4MDEsMHhmMH0gfSwKLXsgIDE2LDB4MzYxZSwwLHsweGEzLDB4NzQsMHg3OCwweGYwLDB4YTMsMHg3NCwweGIyLDB4ZjAsMHg3ZiwweDA3LDB4ZWQsMHhiNCwweDA2LDB4MTAsMHg5MCwweDc4fSB9LAoteyAgMTYsMHgzNjJlLDAsezB4MjgsMHg3NCwweDAxLDB4ZjAsMHhhMywweDc0LDB4NzgsMHhmMCwweGEzLDB4NzQsMHhmZiwweGYwLDB4N2YsMHgwMywweDkwLDB4Nzh9IH0sCi17ICAxNiwweDM2M2UsMCx7MHgyOCwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHgxMiwweDBjLDB4NDQsMHhmZCwweDkwLDB4N2YsMHhlYX0gfSwKLXsgIDE2LDB4MzY0ZSwwLHsweGUwLDB4NmQsMHg2MCwweDEyLDB4ZWUsMHhjMywweDlmLDB4NTAsMHgwZCwweDkwLDB4NzgsMHgyOSwweGU0LDB4NzUsMHhmMCwweDBifSB9LAoteyAgMTYsMHgzNjVlLDAsezB4MTIsMHgwYywweGY0LDB4MGUsMHg4MCwweGQ4LDB4OTAsMHg3ZiwweGViLDB4ZTAsMHgxNCwweDYwLDB4MTEsMHgxNCwweDYwLDB4NDZ9IH0sCi17ICAxNiwweDM2NmUsMCx7MHgyNCwweDAyLDB4NjAsMHgwMiwweGUxLDB4OWEsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3Zn0gfSwKLXsgIDE2LDB4MzY3ZSwwLHsweGU5LDB4ZTAsMHgyNCwweDdmLDB4NzAsMHgyOCwweGVlLDB4NmYsMHg3MCwweDA4LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxfSB9LAoteyAgMTYsMHgzNjhlLDAsezB4ZjAsMHgyMiwweDkwLDB4NzgsMHgyOCwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDF9IH0sCi17ICAxNiwweDM2OWUsMCx7MHgxMiwweDBjLDB4NWQsMHg5MCwweDdmLDB4MDAsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3Zn0gfSwKLXsgIDE2LDB4MzZhZSwwLHsweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhlOSwweGUwLDB4MjQsMHg3ZSwweDYwLDB4NDAsMHgxNCwweDYwfSB9LAoteyAgMTYsMHgzNmJlLDAsezB4NmYsMHgxNCwweDcwLDB4MDIsMHhlMSwweDYwLDB4MjQsMHgwMywweDYwLDB4MDIsMHhlMSwweDkyLDB4ZWUsMHg2ZiwweDcwLDB4MDh9IH0sCi17ICAxNiwweDM2Y2UsMCx7MHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3OCwweDI4LDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYX0gfSwKLXsgIDE2LDB4MzZkZSwwLHsweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwMywweDEyLDB4MGMsMHg1ZCwweDkwLDB4N2YsMHgwMCwweGYwLDB4OTAsMHgwMCwweDA0fSB9LAoteyAgMTYsMHgzNmVlLDAsezB4MTIsMHgwYywweDVkLDB4OTAsMHg3ZiwweDAxLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAyLDB4ZjAsMHgyMiwweGVlLDB4NmZ9IH0sCi17ICAxNiwweDM2ZmUsMCx7MHg3MCwweDA4LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4NzgsMHgyOCwweGUwLDB4ZmIsMHhhM30gfSwKLXsgIDE2LDB4MzcwZSwwLHsweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDUsMHgxMiwweDBjLDB4NWQsMHg5MCwweDdmLDB4MDAsMHhmMCwweDkwfSB9LAoteyAgMTYsMHgzNzFlLDAsezB4MDAsMHgwNiwweDEyLDB4MGMsMHg1ZCwweDkwLDB4N2YsMHgwMSwweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMiwweGYwLDB4MjJ9IH0sCi17ICAxNiwweDM3MmUsMCx7MHhlZSwweDZmLDB4NzAsMHgwOCwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDc4LDB4MjgsMHhlMH0gfSwKLXsgIDE2LDB4MzczZSwwLHsweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDA3LDB4MTIsMHgwYywweDVkLDB4OTAsMHg3ZiwweDAwfSB9LAoteyAgMTYsMHgzNzRlLDAsezB4ZjAsMHg5MCwweDAwLDB4MDgsMHgxMiwweDBjLDB4NWQsMHg5MCwweDdmLDB4MDEsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDJ9IH0sCi17ICAxNiwweDM3NWUsMCx7MHhmMCwweDIyLDB4ZWUsMHg2ZiwweDcwLDB4MDgsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3OH0gfSwKLXsgIDE2LDB4Mzc2ZSwwLHsweDI4LDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwOSwweDEyLDB4MGMsMHg1ZCwweDkwfSB9LAoteyAgMTYsMHgzNzdlLDAsezB4N2YsMHgwMCwweGYwLDB4OTAsMHgwMCwweDBhLDB4MTIsMHgwYywweDVkLDB4OTAsMHg3ZiwweDAxLDB4ZjAsMHg5MCwweDdmLDB4YjV9IH0sCi17ICAxNiwweDM3OGUsMCx7MHg3NCwweDAyLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMH0gfSwKLXsgICAzLDB4Mzc5ZSwwLHsweDQ0LDB4MDEsMHhmMH0gfSwKLXsgICAxLDB4MzdhMSwwLHsweDIyfSB9LAoteyAgMTYsMHgzN2EyLDAsezB4YzAsMHhlMCwweGMwLDB4ZjAsMHhjMCwweDgzLDB4YzAsMHg4MiwweGMwLDB4ZDAsMHhlOCwweGMwLDB4ZTAsMHhlOSwweGMwLDB4ZTB9IH0sCi17ICAxNiwweDM3YjIsMCx7MHhlYSwweGMwLDB4ZTAsMHhlYiwweGMwLDB4ZTAsMHhlYywweGMwLDB4ZTAsMHhlZCwweGMwLDB4ZTAsMHhlZSwweGMwLDB4ZTAsMHhlZn0gfSwKLXsgIDE2LDB4MzdjMiwwLHsweGMwLDB4ZTAsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWIsMHg3NCwweDEwLDB4ZjAsMHg5MCwweDc5LDB4ODMsMHhlMCwweDU0fSB9LAoteyAgMTYsMHgzN2QyLDAsezB4ZmQsMHhmMCwweDEyLDB4MmYsMHhkZiwweGQwLDB4ZTAsMHhmZiwweGQwLDB4ZTAsMHhmZSwweGQwLDB4ZTAsMHhmZCwweGQwLDB4ZTB9IH0sCi17ICAxNiwweDM3ZTIsMCx7MHhmYywweGQwLDB4ZTAsMHhmYiwweGQwLDB4ZTAsMHhmYSwweGQwLDB4ZTAsMHhmOSwweGQwLDB4ZTAsMHhmOCwweGQwLDB4ZDAsMHhkMH0gfSwKLXsgICA4LDB4MzdmMiwwLHsweDgyLDB4ZDAsMHg4MywweGQwLDB4ZjAsMHhkMCwweGUwLDB4MzJ9IH0sCi17ICAgNiwweDM3ZmEsMCx7MHg1MywweDkxLDB4YmYsMHhkMiwweDI2LDB4MzJ9IH0sCi17ICAxNiwweDM4MDAsMCx7MHhlNCwweGZlLDB4OTAsMHg3OSwweDIwLDB4ZTAsMHhmZCwweGI0LDB4MDUsMHgxMCwweDkwLDB4NzgsMHgyMiwweDc0LDB4MDEsMHhmMH0gfSwKLXsgIDE2LDB4MzgxMCwwLHsweGEzLDB4NzQsMHg3OCwweGYwLDB4YTMsMHg3NCwweGIyLDB4ZjAsMHg3ZiwweDA3LDB4ZWQsMHhiNCwweDA2LDB4MTAsMHg5MCwweDc4fSB9LAoteyAgMTYsMHgzODIwLDAsezB4MjIsMHg3NCwweDAxLDB4ZjAsMHhhMywweDc0LDB4NzgsMHhmMCwweGEzLDB4NzQsMHhmZiwweGYwLDB4N2YsMHgwMywweDkwLDB4Nzh9IH0sCi17ICAxNiwweDM4MzAsMCx7MHgyMiwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHgxMiwweDBjLDB4NDQsMHhmZCwweDkwLDB4NzksMHg5OH0gfSwKLXsgIDE2LDB4Mzg0MCwwLHsweGUwLDB4NmQsMHg2MCwweDEyLDB4ZWUsMHhjMywweDlmLDB4NTAsMHgwZCwweDkwLDB4NzgsMHgyMywweGU0LDB4NzUsMHhmMCwweDBifSB9LAoteyAgMTYsMHgzODUwLDAsezB4MTIsMHgwYywweGY0LDB4MGUsMHg4MCwweGQ4LDB4OTAsMHg3OSwweDk5LDB4ZTAsMHgxNCwweDYwLDB4MTEsMHgxNCwweDYwLDB4NDh9IH0sCi17ICAxNiwweDM4NjAsMCx7MHgyNCwweDAyLDB4NjAsMHgwMiwweDIxLDB4ODUsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3OX0gfSwKLXsgIDE2LDB4Mzg3MCwwLHsweDk3LDB4ZTAsMHgxNCwweDcwLDB4MmIsMHhlZSwweDZmLDB4NzAsMHgwOSwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwfSB9LAoteyAgMTYsMHgzODgwLDAsezB4ODAsMHgxNywweDkwLDB4NzksMHgyMSwweGUwLDB4ZmQsMHg5MCwweDc4LDB4MjIsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTN9IH0sCi17ICAxNiwweDM4OTAsMCx7MHhlMCwweGY5LDB4OTAsMHgwMCwweDAxLDB4ZWQsMHgxMiwweDBjLDB4OWMsMHg5MCwweDc5LDB4NzUsMHg3NCwweDAxLDB4ZjAsMHgyMn0gfSwKLXsgIDE2LDB4MzhhMCwwLHsweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDc5LDB4OTcsMHhlMCwweDI0LDB4ZmUsMHg2MCwweDQzfSB9LAoteyAgMTYsMHgzOGIwLDAsezB4MTQsMHg2MCwweDZlLDB4MTQsMHg3MCwweDAyLDB4MjEsMHg0ZiwweDI0LDB4MDMsMHg2MCwweDAyLDB4MjEsMHg3ZCwweGVlLDB4NmZ9IH0sCi17ICAxNiwweDM4YzAsMCx7MHg3MCwweDA5LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg4MCwweDIxLDB4OTAsMHg3OSwweDIxLDB4ZTAsMHhmZH0gfSwKLXsgIDE2LDB4MzhkMCwwLHsweDkwLDB4NzgsMHgyMiwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDMsMHhlZCwweDEyfSB9LAoteyAgMTYsMHgzOGUwLDAsezB4MGMsMHg5YywweDkwLDB4NzksMHgyMiwweGUwLDB4OTAsMHgwMCwweDA0LDB4MTIsMHgwYywweDljLDB4OTAsMHg3OSwweDc1LDB4NzR9IH0sCi17ICAxNiwweDM4ZjAsMCx7MHgwMSwweGYwLDB4MjIsMHhlZSwweDZmLDB4NzAsMHgwOCwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MH0gfSwKLXsgIDE2LDB4MzkwMCwwLHsweDc5LDB4MjEsMHhlMCwweGZkLDB4OTAsMHg3OCwweDIyLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwfSB9LAoteyAgMTYsMHgzOTEwLDAsezB4MDAsMHgwNSwweGVkLDB4MTIsMHgwYywweDljLDB4OTAsMHg3OSwweDIyLDB4ZTAsMHg5MCwweDAwLDB4MDYsMHgxMiwweDBjLDB4OWN9IH0sCi17ICAxNiwweDM5MjAsMCx7MHgyMiwweGVlLDB4NmYsMHg3MCwweDA4LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4NzksMHgyMX0gfSwKLXsgIDE2LDB4MzkzMCwwLHsweGUwLDB4ZmQsMHg5MCwweDc4LDB4MjIsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDA3fSB9LAoteyAgMTYsMHgzOTQwLDAsezB4ZWQsMHgxMiwweDBjLDB4OWMsMHg5MCwweDc5LDB4MjIsMHhlMCwweDkwLDB4MDAsMHgwOCwweDEyLDB4MGMsMHg5YywweDIyLDB4ZWV9IH0sCi17ICAxNiwweDM5NTAsMCx7MHg2ZiwweDcwLDB4MDgsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3OSwweDIxLDB4ZTAsMHhmZX0gfSwKLXsgIDE2LDB4Mzk2MCwwLHsweDkwLDB4NzgsMHgyMiwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDksMHhlZSwweDEyfSB9LAoteyAgMTYsMHgzOTcwLDAsezB4MGMsMHg5YywweDkwLDB4NzksMHgyMiwweGUwLDB4OTAsMHgwMCwweDBhLDB4MTIsMHgwYywweDljLDB4MjIsMHg5MCwweDdmLDB4YjR9IH0sCi17ICAxMiwweDM5ODAsMCx7MHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjB9IH0sCi17ICAgMSwweDM5OGMsMCx7MHgyMn0gfSwKLXsgIDE2LDB4Mzk4ZCwwLHsweGEyLDB4YWYsMHhlNCwweDMzLDB4ZjUsMHgxMiwweGU0LDB4OTAsMHg3OSwweDgzLDB4ZjAsMHgxMiwweDJmLDB4ZGYsMHg5MCwweDdmfSB9LAoteyAgMTYsMHgzOTlkLDAsezB4ZTAsMHg3NCwweDkwLDB4ZjAsMHg5MCwweDdmLDB4ZTEsMHg3NCwweDA0LDB4ZjAsMHhlNCwweDkwLDB4N2YsMHhkZCwweGYwLDB4OTB9IH0sCi17ICAxNiwweDM5YWQsMCx7MHg3ZiwweGExLDB4ZjAsMHg1MywweDhlLDB4ZjgsMHg3NSwweDg4LDB4MDUsMHg3NSwweGI4LDB4MjAsMHg3NSwweGY4LDB4MDEsMHg0M30gfSwKLXsgIDE2LDB4MzliZCwwLHsweDhlLDB4MzAsMHhmNSwweGM4LDB4NzUsMHhjYSwweDdmLDB4NzUsMHhjYiwweGY4LDB4NDMsMHhhOCwweDIwLDB4OTAsMHg3OSwweDc0fSB9LAoteyAgMTYsMHgzOWNkLDAsezB4MDQsMHhmMCwweGMyLDB4MjIsMHhlNCwweGY1LDB4MGYsMHg5MCwweDc5LDB4NzgsMHhmMCwweGEzLDB4ZjAsMHg5MCwweDc5LDB4NjJ9IH0sCi17ICAxNiwweDM5ZGQsMCx7MHhmMCwweGEzLDB4ZjAsMHhhMywweGYwLDB4OTAsMHg3OSwweDY2LDB4ZjAsMHhhMywweGYwLDB4OTAsMHg3OSwweDdiLDB4ZjAsMHhhM30gfSwKLXsgIDE2LDB4MzllZCwwLHsweGYwLDB4OTAsMHg3OSwweDg0LDB4ZjAsMHg5MCwweDc5LDB4N2QsMHhmMCwweDkwLDB4NzksMHg3NSwweGYwLDB4YTMsMHhmMCwweGEzfSB9LAoteyAgMTYsMHgzOWZkLDAsezB4ZjAsMHhjMiwweDIzLDB4YzIsMHgyNCwweGMyLDB4MjUsMHhjMiwweDI2LDB4YzIsMHgyMCwweDkwLDB4N2YsMHg5YiwweGUwLDB4ZjV9IH0sCi17ICAxNiwweDNhMGQsMCx7MHgwYSwweDU0LDB4MjAsMHhmNSwweDBhLDB4NzAsMHgwNiwweDkwLDB4NzksMHg3ZSwweGYwLDB4ODAsMHgwNiwweDkwLDB4NzksMHg3ZX0gfSwKLXsgIDE2LDB4M2ExZCwwLHsweDc0LDB4MDEsMHhmMCwweDkwLDB4N2YsMHg5YiwweGUwLDB4ZjUsMHgwYSwweDU0LDB4MDIsMHhmNSwweDBhLDB4NzAsMHgwNiwweDkwfSB9LAoteyAgMTYsMHgzYTJkLDAsezB4NzksMHg3ZiwweGYwLDB4ODAsMHgwNiwweDkwLDB4NzksMHg3ZiwweDc0LDB4MDEsMHhmMCwweDkwLDB4NzksMHg3OCwweDc0LDB4MDJ9IH0sCi17ICAxNiwweDNhM2QsMCx7MHhmMCwweDkwLDB4NzksMHg4NCwweGUwLDB4OTAsMHg3OSwweDc5LDB4ZjAsMHg5MCwweDc5LDB4N2YsMHhlMCwweGI0LDB4MDEsMHgwOX0gfSwKLXsgIDE2LDB4M2E0ZCwwLHsweDkwLDB4NzksMHg3OSwweGUwLDB4NTQsMHhmZSwweGYwLDB4ODAsMHgwNywweDkwLDB4NzksMHg3OSwweGUwLDB4NDQsMHgwMSwweGYwfSB9LAoteyAgMTYsMHgzYTVkLDAsezB4OTAsMHg3OSwweDc5LDB4ZTAsMHg5MCwweDc5LDB4ODQsMHhmMCwweDEyLDB4MGIsMHhhMiwweDkwLDB4NzksMHg3OCwweDc0LDB4MDF9IH0sCi17ICAxNiwweDNhNmQsMCx7MHhmMCwweDkwLDB4NzksMHg3YywweGUwLDB4OTAsMHg3OSwweDc5LDB4ZjAsMHg5MCwweDc5LDB4N2UsMHhlMCwweGI0LDB4MDEsMHgwOX0gfSwKLXsgIDE2LDB4M2E3ZCwwLHsweDkwLDB4NzksMHg3OSwweGUwLDB4NDQsMHgwNCwweGYwLDB4ODAsMHgwNywweDkwLDB4NzksMHg3OSwweGUwLDB4NTQsMHhmYiwweGYwfSB9LAoteyAgMTYsMHgzYThkLDAsezB4OTAsMHg3OSwweDc5LDB4ZTAsMHg5MCwweDc5LDB4N2MsMHhmMCwweDEyLDB4MGIsMHhhMiwweGU0LDB4OTAsMHg3OSwweDc4LDB4ZjB9IH0sCi17ICAxNiwweDNhOWQsMCx7MHhhMywweDA0LDB4ZjAsMHhlNCwweDkwLDB4NzksMHg4OCwweGYwLDB4MTIsMHgwYiwweGEyLDB4OTAsMHg3ZiwweGZjLDB4NzQsMHhkZH0gfSwKLXsgIDE2LDB4M2FhZCwwLHsweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmZiwweGYwLDB4OTAsMHg3OSwweDc4LDB4NzQsMHgwMSwweGYwLDB4YTMsMHhmMCwweDEyfSB9LAoteyAgMTYsMHgzYWJkLDAsezB4MGIsMHhhMiwweGU0LDB4OTAsMHg3OSwweDdhLDB4ZjAsMHg5MCwweDc5LDB4ODMsMHgwNCwweGYwLDB4MTIsMHgyZiwweGRmLDB4ZTR9IH0sCi17ICAxNiwweDNhY2QsMCx7MHg5MCwweDc5LDB4MzAsMHhmMCwweDkwLDB4NzksMHg4NSwweGYwLDB4YTMsMHhmMCwweGEzLDB4ZjAsMHgxMiwweDJlLDB4OTQsMHg5MH0gfSwKLXsgIDE2LDB4M2FkZCwwLHsweDc5LDB4MmQsMHg3NCwweDAyLDB4ZjAsMHg5MCwweDc5LDB4ODgsMHgxNCwweGYwLDB4YzIsMHgyZiwweGU0LDB4OTAsMHg3OSwweDY4fSB9LAoteyAgMTYsMHgzYWVkLDAsezB4ZjAsMHg5MCwweDc5LDB4OGEsMHhmMCwweDkwLDB4NzksMHg2YSwweGYwLDB4YTMsMHhmMCwweDc1LDB4MTMsMHgwOCwweDc1LDB4MTR9IH0sCi17ICAxNiwweDNhZmQsMCx7MHgwOCwweGY1LDB4MTYsMHhmNSwweDE1LDB4ZjUsMHgxNywweDkwLDB4NzksMHg4YywweGYwLDB4OTAsMHg3OSwweDhiLDB4ZjAsMHgyMn0gfSwKLXsgIDE2LDB4M2IwZCwwLHsweDdiLDB4MDEsMHg3YSwweDc4LDB4NzksMHg1OCwweDkwLDB4NzgsMHgwMywweGViLDB4ZjAsMHhhMywweGVhLDB4ZjAsMHhhMywweGU5fSB9LAoteyAgMTYsMHgzYjFkLDAsezB4ZjAsMHg3NCwweDQwLDB4MTIsMHgwYywweDhhLDB4OTAsMHg3OCwweDAzLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTB9IH0sCi17ICAxNiwweDNiMmQsMCx7MHhmOSwweDkwLDB4MDAsMHgwMSwweDc0LDB4MGEsMHgxMiwweDBjLDB4OWMsMHg5MCwweDAwLDB4MDIsMHgxMiwweDBkLDB4ZjYsMHgwMH0gfSwKLXsgIDE2LDB4M2IzZCwwLHsweDAwLDB4YmIsMHg4MCwweDkwLDB4MDAsMHgwNiwweDEyLDB4MGQsMHhmNiwweDAwLDB4MDAsMHhhYywweDQ0LDB4OTAsMHgwMCwweDBhfSB9LAoteyAgMTYsMHgzYjRkLDAsezB4MTIsMHgwZCwweGY2LDB4MDAsMHgwMSwweDc3LDB4MDAsMHg5MCwweDc4LDB4MDQsMHhlNCwweDc1LDB4ZjAsMHgwZiwweDEyLDB4MGN9IH0sCi17ICAxNiwweDNiNWQsMCx7MHhmNCwweDkwLDB4NzgsMHgwMywweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg3NCwweDQwLDB4MTIsMHgwY30gfSwKLXsgIDE2LDB4M2I2ZCwwLHsweDhhLDB4OTAsMHg3OCwweDAzLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwMSwweDc0fSB9LAoteyAgMTYsMHgzYjdkLDAsezB4OGMsMHgxMiwweDBjLDB4OWMsMHg5MCwweDAwLDB4MDIsMHgxMiwweDBkLDB4ZjYsMHgwMCwweDAwLDB4YmIsMHg4MCwweDkwLDB4MDB9IH0sCi17ICAxNiwweDNiOGQsMCx7MHgwNiwweDEyLDB4MGQsMHhmNiwweDAwLDB4MDAsMHhhYywweDQ0LDB4OTAsMHgwMCwweDBhLDB4MTIsMHgwZCwweGY2LDB4MDAsMHgwMX0gfSwKLXsgIDE2LDB4M2I5ZCwwLHsweDc3LDB4MDAsMHg5MCwweDc4LDB4MDQsMHhlNCwweDc1LDB4ZjAsMHgwZiwweDEyLDB4MGMsMHhmNCwweDkwLDB4NzgsMHgwMywweGUwfSB9LAoteyAgMTYsMHgzYmFkLDAsezB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg3NCwweDQwLDB4MTIsMHgwYywweDhhLDB4OTAsMHg3OCwweDAzLDB4ZTB9IH0sCi17ICAxNiwweDNiYmQsMCx7MHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwMSwweDc0LDB4OGYsMHgxMiwweDBjLDB4OWMsMHg5MH0gfSwKLXsgIDE2LDB4M2JjZCwwLHsweDc4LDB4MDQsMHhlNCwweDc1LDB4ZjAsMHgwZiwweDEyLDB4MGMsMHhmNCwweDkwLDB4NzgsMHgwMywweGUwLDB4ZmIsMHhhMywweGUwfSB9LAoteyAgMTYsMHgzYmRkLDAsezB4ZmEsMHhhMywweGUwLDB4ZjksMHg3NCwweDQxLDB4MTIsMHgwYywweDhhLDB4OTAsMHg3OCwweDAzLDB4ZTAsMHhmYiwweGEzLDB4ZTB9IH0sCi17ICAxNiwweDNiZWQsMCx7MHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwMSwweDc0LDB4ODQsMHgxMiwweDBjLDB4OWMsMHg5MCwweDc4LDB4MDQsMHhlNH0gfSwKLXsgIDE2LDB4M2JmZCwwLHsweDc1LDB4ZjAsMHgwZiwweDEyLDB4MGMsMHhmNCwweDkwLDB4NzgsMHgwMywweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwfSB9LAoteyAgMTYsMHgzYzBkLDAsezB4ZjksMHg3NCwweDYxLDB4MTIsMHgwYywweDhhLDB4OTAsMHg3OCwweDAzLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTB9IH0sCi17ICAxNiwweDNjMWQsMCx7MHhmOSwweDkwLDB4MDAsMHgwMSwweDc0LDB4ODEsMHgxMiwweDBjLDB4OWMsMHg5MCwweDc4LDB4MDQsMHhlNCwweDc1LDB4ZjAsMHgwZn0gfSwKLXsgIDE2LDB4M2MyZCwwLHsweDEyLDB4MGMsMHhmNCwweDkwLDB4NzgsMHgwMywweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg3NCwweDYxfSB9LAoteyAgMTYsMHgzYzNkLDAsezB4MTIsMHgwYywweDhhLDB4OTAsMHg3OCwweDAzLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDB9IH0sCi17ICAgNiwweDNjNGQsMCx7MHgwMSwweDc0LDB4MDEsMHgxMiwweDBjLDB4OWN9IH0sCi17ICAgMSwweDNjNTMsMCx7MHgyMn0gfSwKLXsgIDE2LDB4M2M1NCwwLHsweGMwLDB4ZTAsMHhjMCwweGYwLDB4YzAsMHg4MywweGMwLDB4ODIsMHhjMCwweGQwLDB4ZTgsMHhjMCwweGUwLDB4ZTksMHhjMCwweGUwfSB9LAoteyAgMTYsMHgzYzY0LDAsezB4ZWEsMHhjMCwweGUwLDB4ZWIsMHhjMCwweGUwLDB4ZWMsMHhjMCwweGUwLDB4ZWQsMHhjMCwweGUwLDB4ZWUsMHhjMCwweGUwLDB4ZWZ9IH0sCi17ICAgMiwweDNjNzQsMCx7MHhjMCwweGUwfSB9LAoteyAgMTYsMHgzYzc2LDAsezB4OTAsMHg3ZiwweGEyLDB4ZTAsMHhmNSwweDBiLDB4OTAsMHg3ZiwweDc0LDB4ZTAsMHg5MCwweDc5LDB4NzAsMHhmMCwweDkwLDB4N2Z9IH0sCi17ICAxNiwweDNjODYsMCx7MHg3NSwweGUwLDB4OTAsMHg3OSwweDcxLDB4ZjAsMHg5MCwweDc5LDB4ODMsMHhlMCwweGZmLDB4ZmUsMHg1NCwweDAyLDB4ZmUsMHg3MH0gfSwKLXsgIDE2LDB4M2M5NiwwLHsweDBkLDB4ZWYsMHg0NCwweDAyLDB4ZjAsMHgxMiwweDJmLDB4ZGYsMHg5MCwweDc5LDB4NzQsMHg3NCwweDAxLDB4ZjAsMHhlNSwweDBifSB9LAoteyAgMTYsMHgzY2E2LDAsezB4MjAsMHhlMiwweDI4LDB4OTAsMHg3OSwweDcwLDB4ZTAsMHhmZSwweGEzLDB4ZTAsMHg3YywweDAwLDB4MjQsMHgwMCwweGY1LDB4MTF9IH0sCi17ICAxNiwweDNjYjYsMCx7MHhlYywweDNlLDB4ZjUsMHgxMCwweDkwLDB4NzksMHg4MiwweGUwLDB4ZmQsMHhhZSwweDEwLDB4YWYsMHgxMSwweDEyLDB4MGMsMHhiZX0gfSwKLXsgIDE2LDB4M2NjNiwwLHsweDkwLDB4NzksMHg3MCwweGVmLDB4ZjAsMHg5MCwweDc5LDB4ODksMHg3NCwweDAxLDB4ZjAsMHgxMiwweDQ4LDB4NDMsMHgxMiwweDQ4fSB9LAoteyAgMTYsMHgzY2Q2LDAsezB4NzYsMHg5MCwweDc5LDB4ODksMHhlMCwweDY0LDB4MDEsMHg3MCwweDMyLDB4MTIsMHg0MSwweDA4LDB4OTAsMHg3OSwweDg5LDB4ZTR9IH0sCi17ICAxNiwweDNjZTYsMCx7MHhmMCwweDkwLDB4N2YsMHg5OCwweGUwLDB4NDQsMHg0MCwweGYwLDB4OTAsMHg3ZiwweDllLDB4ZTAsMHg0NCwweDQwLDB4ZjAsMHg5MH0gfSwKLXsgIDE2LDB4M2NmNiwwLHsweDdmLDB4OTUsMHg3NCwweDgwLDB4ZjAsMHg3NSwweGU4LDB4MDEsMHgxMiwweDA5LDB4MzIsMHg3NSwweGU4LDB4MGQsMHg5MCwweDdmfSB9LAoteyAgMTYsMHgzZDA2LDAsezB4OTUsMHg3NCwweGMwLDB4ZjAsMHg3NSwweGU4LDB4MGQsMHhkMiwweDIwLDB4ODAsMHgwNSwweDc1LDB4ZTgsMHgwMSwweGMyLDB4MjB9IH0sCi17ICAxNiwweDNkMTYsMCx7MHgyMCwweDIwLDB4MmIsMHg5MCwweDc5LDB4MmQsMHhlMCwweGZmLDB4YjQsMHgwMSwweDA5LDB4NzUsMHgwYywweDY3LDB4NzUsMHgwZH0gfSwKLXsgIDE2LDB4M2QyNiwwLHsweDA2LDB4NzUsMHgwZSwweDBiLDB4ZWYsMHhiNCwweDAyLDB4MDksMHg3NSwweDBjLDB4MDAsMHg3NSwweDBkLDB4MDAsMHg3NSwweDBlfSB9LAoteyAgMTYsMHgzZDM2LDAsezB4MGMsMHhlZiwweGI0LDB4MDMsMHgwOSwweDc1LDB4MGMsMHgwMCwweDc1LDB4MGQsMHgwMCwweDc1LDB4MGUsMHgxOCwweDc1LDB4Y2F9IH0sCi17ICAxNiwweDNkNDYsMCx7MHg2ZiwweDc1LDB4Y2IsMHhmZSwweGQyLDB4Y2EsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWIsMHg3NCwweDAyLDB4ZjAsMHhmMH0gfSwKLXsgIDE2LDB4M2Q1NiwwLHsweGQwLDB4ZTAsMHhmZiwweGQwLDB4ZTAsMHhmZSwweGQwLDB4ZTAsMHhmZCwweGQwLDB4ZTAsMHhmYywweGQwLDB4ZTAsMHhmYiwweGQwfSB9LAoteyAgMTYsMHgzZDY2LDAsezB4ZTAsMHhmYSwweGQwLDB4ZTAsMHhmOSwweGQwLDB4ZTAsMHhmOCwweGQwLDB4ZDAsMHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZjB9IH0sCi17ICAgMywweDNkNzYsMCx7MHhkMCwweGUwLDB4MzJ9IH0sCi17ICAxNiwweDNkNzksMCx7MHg3NSwweDMzLDB4MjUsMHg3NSwweDM0LDB4MjQsMHg5MCwweDc5LDB4NWMsMHg3NCwweDAxLDB4ZjAsMHhhMywweDc0LDB4NzgsMHhmMH0gfSwKLXsgIDE2LDB4M2Q4OSwwLHsweGEzLDB4NzQsMHhiMiwweGYwLDB4MjAsMHgyZiwweDAyLDB4YzEsMHgxNywweGU0LDB4ZjUsMHgzNSwweDc1LDB4MjIsMHgwMSwweDkwfSB9LAoteyAgMTYsMHgzZDk5LDAsezB4NzksMHg1YywweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDQsMHgxMiwweDBjLDB4NWR9IH0sCi17ICAxNiwweDNkYTksMCx7MHhmNSwweDM2LDB4NzUsMHgzNSwweDA2LDB4NzQsMHg0MiwweDI1LDB4MzUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc5LDB4ZjUsMHg4M30gfSwKLXsgIDE2LDB4M2RiOSwwLHsweGU1LDB4MzYsMHhmMCwweDA1LDB4MzUsMHhlNSwweDM1LDB4YjQsMHgwYywweGViLDB4ZTUsMHgzNSwweGMzLDB4OTQsMHgwZCwweDQwfSB9LAoteyAgMTYsMHgzZGM5LDAsezB4MDIsMHhjMSwweDk4LDB4ZTUsMHgyMiwweDY0LDB4MDEsMHg2MCwweDAyLDB4YzEsMHg5OCwweDkwLDB4N2YsMHhhNSwweGUwLDB4NDR9IH0sCi17ICAxNiwweDNkZDksMCx7MHg4MCwweGYwLDB4OTAsMHg3ZiwweGE2LDB4ZTUsMHgzMywweGYwLDB4MTIsMHg0NiwweGMwLDB4NzQsMHg0ZiwweDI1LDB4MzUsMHhmNX0gfSwKLXsgIDE2LDB4M2RlOSwwLHsweDgyLDB4ZTQsMHgzNCwweDc5LDB4ZjUsMHg4MywweGUwLDB4OTAsMHg3ZiwweGE2LDB4ZjAsMHgxMiwweDQ2LDB4YzAsMHg3NCwweDQyfSB9LAoteyAgMTYsMHgzZGY5LDAsezB4MjUsMHgzNSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzksMHhmNSwweDgzLDB4ZTAsMHg5MCwweDdmLDB4YTYsMHhmMCwweDEyLDB4NDZ9IH0sCi17ICAxNiwweDNlMDksMCx7MHhjMCwweDkwLDB4N2YsMHhhNSwweDc0LDB4NDAsMHhmMCwweDEyLDB4MGEsMHhjZCwweDA1LDB4MzUsMHg4MCwweGFjLDB4ZTQsMHhmNX0gfSwKLXsgIDE2LDB4M2UxOSwwLHsweDM1LDB4NzUsMHgyMiwweDAxLDB4OTAsMHg3OSwweDVjLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwfSB9LAoteyAgMTYsMHgzZTI5LDAsezB4MDAsMHgwNCwweDEyLDB4MGMsMHg1ZCwweGY1LDB4MzYsMHg3NSwweDM1LDB4MDYsMHg3NCwweDM1LDB4MjUsMHgzNSwweGY1LDB4ODJ9IH0sCi17ICAxNiwweDNlMzksMCx7MHhlNCwweDM0LDB4NzksMHhmNSwweDgzLDB4ZTUsMHgzNiwweGYwLDB4MDUsMHgzNSwweGU1LDB4MzUsMHhiNCwweDBjLDB4ZWIsMHhlNX0gfSwKLXsgIDE2LDB4M2U0OSwwLHsweDM1LDB4YzMsMHg5NCwweDBkLDB4NTAsMHg0OSwweGU1LDB4MjIsMHg2NCwweDAxLDB4NzAsMHg0MywweDkwLDB4N2YsMHhhNSwweGUwfSB9LAoteyAgMTYsMHgzZTU5LDAsezB4NDQsMHg4MCwweGYwLDB4OTAsMHg3ZiwweGE2LDB4ZTUsMHgzMywweGYwLDB4MTIsMHg0NiwweGMwLDB4NzQsMHg0ZiwweDI1LDB4MzV9IH0sCi17ICAxNiwweDNlNjksMCx7MHhmNSwweDgyLDB4ZTQsMHgzNCwweDc5LDB4ZjUsMHg4MywweGUwLDB4OTAsMHg3ZiwweGE2LDB4ZjAsMHgxMiwweDQ2LDB4YzAsMHg3NH0gfSwKLXsgIDE2LDB4M2U3OSwwLHsweDM1LDB4MjUsMHgzNSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzksMHhmNSwweDgzLDB4ZTAsMHg5MCwweDdmLDB4YTYsMHhmMCwweDEyfSB9LAoteyAgMTUsMHgzZTg5LDAsezB4NDYsMHhjMCwweDkwLDB4N2YsMHhhNSwweDc0LDB4NDAsMHhmMCwweDEyLDB4MGEsMHhjZCwweDA1LDB4MzUsMHg4MCwweGIwfSB9LAoteyAgIDEsMHgzZTk4LDAsezB4MjJ9IH0sCi17ICAxNiwweDNlOTksMCx7MHg5MCwweDc4LDB4MDksMHg3NCwweDAxLDB4ZjAsMHhhMywweDc0LDB4NzgsMHhmMCwweGEzLDB4NzQsMHhiMiwweGYwLDB4ZTQsMHhmZn0gfSwKLXsgIDE2LDB4M2VhOSwwLHsweGZlLDB4OTAsMHg3OCwweDA5LDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweGVmLDB4MTIsMHgwYywweDhhfSB9LAoteyAgMTYsMHgzZWI5LDAsezB4OTAsMHg3OCwweDA5LDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwMSwweGU0LDB4MTJ9IH0sCi17ICAxNiwweDNlYzksMCx7MHgwYywweDljLDB4OTAsMHgwMCwweDAyLDB4NzQsMHgxNSwweDEyLDB4MGMsMHg5YywweDkwLDB4MDAsMHgwMywweGU0LDB4MTIsMHgwY30gfSwKLXsgIDE2LDB4M2VkOSwwLHsweDljLDB4OTAsMHgwMCwweDA0LDB4NzQsMHhmZiwweDEyLDB4MGMsMHg5YywweDkwLDB4MDAsMHgwNSwweGU0LDB4MTIsMHgwYywweDljfSB9LAoteyAgMTYsMHgzZWU5LDAsezB4OTAsMHgwMCwweDA2LDB4NzQsMHhjMywweDEyLDB4MGMsMHg5YywweDkwLDB4MDAsMHgwNywweGU0LDB4MTIsMHgwYywweDljLDB4OTB9IH0sCi17ICAxNiwweDNlZjksMCx7MHgwMCwweDA4LDB4ZTQsMHgxMiwweDBjLDB4OWMsMHg5MCwweDAwLDB4MDksMHhlNCwweDEyLDB4MGMsMHg5YywweDkwLDB4MDAsMHgwYX0gfSwKLXsgIDE2LDB4M2YwOSwwLHsweDc0LDB4MDEsMHgxMiwweDBjLDB4OWMsMHg5MCwweDc4LDB4MGEsMHhlNCwweDc1LDB4ZjAsMHgwYiwweDEyLDB4MGMsMHhmNCwweDBmfSB9LAoteyAgMTYsMHgzZjE5LDAsezB4MGUsMHhiZSwweDA3LDB4OGQsMHg5MCwweDc4LDB4MDksMHg3NCwweDAxLDB4ZjAsMHhhMywweDc0LDB4NzgsMHhmMCwweGEzLDB4NzR9IH0sCi17ICAxNiwweDNmMjksMCx7MHhmZiwweGYwLDB4ZTQsMHhmZiwweGZlLDB4OTAsMHg3OCwweDA5LDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOX0gfSwKLXsgIDE2LDB4M2YzOSwwLHsweGVmLDB4MTIsMHgwYywweDhhLDB4OTAsMHg3OCwweDA5LDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwfSB9LAoteyAgMTYsMHgzZjQ5LDAsezB4MDAsMHgwMSwweGU0LDB4MTIsMHgwYywweDljLDB4OTAsMHgwMCwweDAyLDB4NzQsMHgxNSwweDEyLDB4MGMsMHg5YywweDkwLDB4MDB9IH0sCi17ICAxNiwweDNmNTksMCx7MHgwMywweGU0LDB4MTIsMHgwYywweDljLDB4OTAsMHgwMCwweDA0LDB4NzQsMHg4MCwweDEyLDB4MGMsMHg5YywweDkwLDB4MDAsMHgwNX0gfSwKLXsgIDE2LDB4M2Y2OSwwLHsweGU0LDB4MTIsMHgwYywweDljLDB4OTAsMHgwMCwweDA2LDB4NzQsMHhjMywweDEyLDB4MGMsMHg5YywweDkwLDB4MDAsMHgwNywweGU0fSB9LAoteyAgMTYsMHgzZjc5LDAsezB4MTIsMHgwYywweDljLDB4OTAsMHgwMCwweDA4LDB4ZTQsMHgxMiwweDBjLDB4OWMsMHg5MCwweDAwLDB4MDksMHhlNCwweDEyLDB4MGN9IH0sCi17ICAxNiwweDNmODksMCx7MHg5YywweDkwLDB4MDAsMHgwYSwweDc0LDB4MDEsMHgxMiwweDBjLDB4OWMsMHg5MCwweDc4LDB4MGEsMHhlNCwweDc1LDB4ZjAsMHgwYn0gfSwKLXsgICA4LDB4M2Y5OSwwLHsweDEyLDB4MGMsMHhmNCwweDBmLDB4MGUsMHhiZSwweDAzLDB4OGR9IH0sCi17ICAgMSwweDNmYTEsMCx7MHgyMn0gfSwKLXsgIDE2LDB4M2ZhMiwwLHsweGU0LDB4ZmUsMHg3NSwweDNkLDB4ZmYsMHg3NSwweDNlLDB4MDUsMHg3NSwweDNmLDB4MTIsMHhhYiwweDNkLDB4YWEsMHgzZSwweGE5fSB9LAoteyAgMTYsMHgzZmIyLDAsezB4M2YsMHg5MCwweDAwLDB4MDEsMHgxMiwweDBjLDB4NWQsMHg2NCwweDAyLDB4NzAsMHgyZiwweGNkLDB4ZWUsMHhjZCwweDBlLDB4ZWR9IH0sCi17ICAxNiwweDNmYzIsMCx7MHg2ZiwweDcwLDB4MDEsMHgyMiwweDkwLDB4MDAsMHgwMiwweDEyLDB4MGQsMHgwYSwweDg1LDB4ZjAsMHgzYiwweGY1LDB4M2MsMHg2Mn0gfSwKLXsgIDE2LDB4M2ZkMiwwLHsweDNiLDB4ZTUsMHgzYiwweDYyLDB4M2MsMHhlNSwweDNjLDB4NjIsMHgzYiwweDI5LDB4ZmQsMHhlNSwweDNiLDB4M2EsMHhjOSwweGVkfSB9LAoteyAgMTYsMHgzZmUyLDAsezB4YzksMHg3NSwweDNkLDB4ZmYsMHhmNSwweDNlLDB4ODksMHgzZiwweDgwLDB4YzEsMHg3YiwweDAwLDB4N2EsMHgwMCwweDc5LDB4MDB9IH0sCi17ICAgMSwweDNmZjIsMCx7MHgyMn0gfSwKLXsgICA5LDB4M2ZmMywwLHsweDUzLDB4ZDgsMHhlZiwweDQzLDB4ZDgsMHgyMCwweGMyLDB4MmQsMHgzMn0gfSwKLXsgICA0LDB4M2ZmYywwLHsweDUzLDB4OTEsMHhkZiwweDMyfSB9LAoteyAgMTYsMHg0MDAwLDAsezB4OTAsMHg3OSwweDg3LDB4ZTAsMHhiNCwweDAxLDB4MWQsMHg5MCwweDc5LDB4ODUsMHhlMCwweGI0LDB4MDEsMHgwMywweDEyLDB4NDJ9IH0sCi17ICAxNiwweDQwMTAsMCx7MHhhYSwweDkwLDB4NzksMHg4NiwweGUwLDB4YjQsMHgwMSwweDAzLDB4MTIsMHgxOCwweDAwLDB4ZTQsMHg5MCwweDc5LDB4ODUsMHhmMH0gfSwKLXsgIDE2LDB4NDAyMCwwLHsweGEzLDB4ZjAsMHhhMywweGYwLDB4MTIsMHgyZSwweDk0LDB4OTAsMHg3ZiwweDliLDB4ZTAsMHhmNSwweDBhLDB4NTQsMHgwMiwweGY1fSB9LAoteyAgMTYsMHg0MDMwLDAsezB4MGEsMHg3MCwweDA0LDB4OTAsMHg3OSwweDdmLDB4ZjAsMHg5MCwweDdmLDB4OWIsMHhlMCwweGY1LDB4MGEsMHg1NCwweDAyLDB4ZmZ9IH0sCi17ICAxNiwweDQwNDAsMCx7MHhmNSwweDBhLDB4YmYsMHgwMiwweDA2LDB4OTAsMHg3OSwweDdmLDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3ZiwweDliLDB4ZTAsMHhmNX0gfSwKLXsgIDE2LDB4NDA1MCwwLHsweDBhLDB4NTQsMHgyMCwweGY1LDB4MGEsMHg3MCwweDA0LDB4OTAsMHg3OSwweDdlLDB4ZjAsMHg5MCwweDdmLDB4OWIsMHhlMCwweGY1fSB9LAoteyAgMTYsMHg0MDYwLDAsezB4MGEsMHg1NCwweDIwLDB4ZmYsMHhmNSwweDBhLDB4YmYsMHgyMCwweDA2LDB4OTAsMHg3OSwweDdlLDB4NzQsMHgwMSwweGYwLDB4OTB9IH0sCi17ICAxNiwweDQwNzAsMCx7MHg3OSwweDdmLDB4ZTAsMHhmZiwweDkwLDB4NzksMHg4MSwweGUwLDB4NmYsMHg2MCwweDM4LDB4OTAsMHg3OSwweDc4LDB4NzQsMHgwMn0gfSwKLXsgIDE2LDB4NDA4MCwwLHsweGYwLDB4OTAsMHg3OSwweDg0LDB4ZTAsMHg5MCwweDc5LDB4NzksMHhmMCwweGVmLDB4YjQsMHgwMSwweDA2LDB4ZTAsMHg1NCwweGZlfSB9LAoteyAgMTYsMHg0MDkwLDAsezB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MCwweDc5LDB4NzksMHhlMCwweDkwLDB4Nzl9IH0sCi17ICAxNiwweDQwYTAsMCx7MHg4NCwweGYwLDB4YTIsMHhhZiwweGU0LDB4MzMsMHhmNSwweDEyLDB4YzIsMHhhZiwweDEyLDB4MGIsMHhhMiwweGU1LDB4MTIsMHg2MH0gfSwKLXsgIDE2LDB4NDBiMCwwLHsweDAyLDB4ZDIsMHhhZiwweDkwLDB4NzksMHg3ZSwweGUwLDB4ZmYsMHg5MCwweDc5LDB4ODAsMHhlMCwweDZmLDB4NjAsMHgzOCwweDkwfSB9LAoteyAgMTYsMHg0MGMwLDAsezB4NzksMHg3OCwweDc0LDB4MDEsMHhmMCwweDkwLDB4NzksMHg3YywweGUwLDB4OTAsMHg3OSwweDc5LDB4ZjAsMHhlZiwweGI0LDB4MDF9IH0sCi17ICAxNiwweDQwZDAsMCx7MHgwNiwweGUwLDB4NDQsMHgwNCwweGYwLDB4ODAsMHgwNywweDkwLDB4NzksMHg3OSwweGUwLDB4NTQsMHhmYiwweGYwLDB4OTAsMHg3OX0gfSwKLXsgIDE2LDB4NDBlMCwwLHsweDc5LDB4ZTAsMHg5MCwweDc5LDB4N2MsMHhmMCwweGEyLDB4YWYsMHhlNCwweDMzLDB4ZjUsMHgxMiwweGMyLDB4YWYsMHgxMiwweDBifSB9LAoteyAgMTYsMHg0MGYwLDAsezB4YTIsMHhlNSwweDEyLDB4NjAsMHgwMiwweGQyLDB4YWYsMHg5MCwweDc5LDB4N2YsMHhlMCwweDkwLDB4NzksMHg4MSwweGYwLDB4OTB9IH0sCi17ICAgOCwweDQxMDAsMCx7MHg3OSwweDdlLDB4ZTAsMHg5MCwweDc5LDB4ODAsMHhmMCwweDIyfSB9LAoteyAgMTYsMHg0MTA4LDAsezB4OTAsMHg3OSwweDJkLDB4ZTAsMHg2NCwweDAxLDB4NzAsMHgzNSwweDkwLDB4NzksMHg3MCwweGUwLDB4ZmYsMHhkMywweDk0LDB4MmR9IH0sCi17ICAxNiwweDQxMTgsMCx7MHg0MCwweDJiLDB4OTAsMHg3OSwweDY5LDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3OSwweDY4LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhkM30gfSwKLXsgIDE2LDB4NDEyOCwwLHsweDk0LDB4MGYsMHg0MCwweDE5LDB4ZTQsMHhmMCwweGVmLDB4ZDMsMHg5NCwweDMxLDB4NDAsMHgwOCwweDkwLDB4NzksMHgyZCwweDc0fSB9LAoteyAgMTYsMHg0MTM4LDAsezB4MDMsMHhmMCwweDgwLDB4MDYsMHg5MCwweDc5LDB4MmQsMHg3NCwweDAyLDB4ZjAsMHgxMiwweDEwLDB4MDAsMHg5MCwweDc5LDB4MmR9IH0sCi17ICAxNiwweDQxNDgsMCx7MHhlMCwweGI0LDB4MDIsMHgyYywweDkwLDB4NzksMHg3MCwweGUwLDB4ZmYsMHhjMywweDk0LDB4MmYsMHg1MCwweDIyLDB4ZWYsMHhkM30gfSwKLXsgIDE2LDB4NDE1OCwwLHsweDk0LDB4MmEsMHg0MCwweDFjLDB4OTAsMHg3OSwweDY5LDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3OSwweDY4LDB4ZTAsMHgwNCwweGYwfSB9LAoteyAgMTYsMHg0MTY4LDAsezB4ZTAsMHhkMywweDk0LDB4MGYsMHg0MCwweDBhLDB4ZTQsMHhmMCwweDkwLDB4NzksMHgyZCwweDA0LDB4ZjAsMHgxMiwweDEwLDB4MDB9IH0sCi17ICAxNiwweDQxNzgsMCx7MHg5MCwweDc5LDB4MmQsMHhlMCwweGI0LDB4MDIsMHgyNiwweDkwLDB4NzksMHg3MCwweGUwLDB4ZDMsMHg5NCwweDMxLDB4NDAsMHgxZH0gfSwKLXsgIDE2LDB4NDE4OCwwLHsweDkwLDB4NzksMHg2OSwweDc0LDB4MDEsMHhmMCwweDkwLDB4NzksMHg2OCwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZDMsMHg5NCwweDBmfSB9LAoteyAgMTYsMHg0MTk4LDAsezB4NDAsMHgwYiwweGU0LDB4ZjAsMHg5MCwweDc5LDB4MmQsMHg3NCwweDAzLDB4ZjAsMHgxMiwweDEwLDB4MDAsMHg5MCwweDc5LDB4MmR9IH0sCi17ICAxNiwweDQxYTgsMCx7MHhlMCwweDY0LDB4MDMsMHg3MCwweDNmLDB4OTAsMHg3OSwweDcwLDB4ZTAsMHhmZiwweGMzLDB4OTQsMHg1ZiwweDUwLDB4MzUsMHg5MH0gfSwKLXsgIDE2LDB4NDFiOCwwLHsweDc5LDB4NjksMHg3NCwweDAxLDB4ZjAsMHg5MCwweDc5LDB4NjgsMHhlMCwweDA0LDB4ZjAsMHhlMCwweGQzLDB4OTQsMHgwZiwweDQwfSB9LAoteyAgMTYsMHg0MWM4LDAsezB4MjMsMHhlNCwweGYwLDB4ZWYsMHhjMywweDk0LDB4MmYsMHg1MCwweDBjLDB4ZWYsMHhkMywweDk0LDB4MmEsMHg0MCwweDA2LDB4OTB9IH0sCi17ICAxNiwweDQxZDgsMCx7MHg3OSwweDJkLDB4NzQsMHgwMSwweGYwLDB4ZWYsMHhkMywweDk0LDB4MmYsMHg0MCwweDA2LDB4OTAsMHg3OSwweDJkLDB4NzQsMHgwMn0gfSwKLXsgIDE2LDB4NDFlOCwwLHsweGYwLDB4MTIsMHgxMCwweDAwLDB4OTAsMHg3OSwweDY5LDB4ZTAsMHg3MCwweDA1LDB4OTAsMHg3OSwweDY4LDB4ZjAsMHgyMiwweGU0fSB9LAoteyAgIDUsMHg0MWY4LDAsezB4OTAsMHg3OSwweDY5LDB4ZjAsMHgyMn0gfSwKLXsgIDE2LDB4NDFmZCwwLHsweDdiLDB4MDEsMHg3YSwweDc4LDB4NzksMHg0YywweDkwLDB4NzgsMHgwNiwweGViLDB4ZjAsMHhhMywweGVhLDB4ZjAsMHhhMywweGU5fSB9LAoteyAgMTYsMHg0MjBkLDAsezB4ZjAsMHhlNCwweDEyLDB4MGMsMHg4YSwweDkwLDB4NzgsMHgwNiwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4Zjl9IH0sCi17ICAxNiwweDQyMWQsMCx7MHg5MCwweDAwLDB4MDEsMHg3NCwweDAxLDB4MTIsMHgwYywweDljLDB4OTAsMHg3OCwweDA3LDB4ZTQsMHg3NSwweGYwLDB4MDMsMHgxMn0gfSwKLXsgIDE2LDB4NDIyZCwwLHsweDBjLDB4ZjQsMHg5MCwweDc4LDB4MDYsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4ZTQsMHgxMiwweDBjfSB9LAoteyAgMTYsMHg0MjNkLDAsezB4OGEsMHg5MCwweDc4LDB4MDYsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDAxLDB4NzR9IH0sCi17ICAxNiwweDQyNGQsMCx7MHgwMiwweDEyLDB4MGMsMHg5YywweDkwLDB4NzgsMHgwNywweGU0LDB4NzUsMHhmMCwweDAzLDB4MTIsMHgwYywweGY0LDB4OTAsMHg3OH0gfSwKLXsgIDE2LDB4NDI1ZCwwLHsweDA2LDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweGU0LDB4MTIsMHgwYywweDhhLDB4OTAsMHg3OCwweDA2fSB9LAoteyAgMTYsMHg0MjZkLDAsezB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwMSwweDc0LDB4MDMsMHgxMiwweDBjLDB4OWN9IH0sCi17ICAxNiwweDQyN2QsMCx7MHg5MCwweDc4LDB4MDcsMHhlNCwweDc1LDB4ZjAsMHgwMywweDEyLDB4MGMsMHhmNCwweDkwLDB4NzgsMHgwNiwweGUwLDB4ZmIsMHhhM30gfSwKLXsgIDE2LDB4NDI4ZCwwLHsweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHhlNCwweDEyLDB4MGMsMHg4YSwweDkwLDB4NzgsMHgwNiwweGUwLDB4ZmIsMHhhMywweGUwfSB9LAoteyAgMTIsMHg0MjlkLDAsezB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDEsMHg3NCwweDA0LDB4MTIsMHgwYywweDljfSB9LAoteyAgIDEsMHg0MmE5LDAsezB4MjJ9IH0sCi17ICAxNiwweDQyYWEsMCx7MHhlNCwweGZmLDB4ZmUsMHg3YiwweDAxLDB4OTAsMHg3OCwweDBjLDB4MDQsMHhmMCwweGEzLDB4NzQsMHg3OCwweGYwLDB4YTMsMHg3NH0gfSwKLXsgIDE2LDB4NDJiYSwwLHsweDJiLDB4ZjAsMHg5MCwweDc4LDB4MGMsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDAyfSB9LAoteyAgMTYsMHg0MmNhLDAsezB4MTIsMHgwYywweDVkLDB4ZmQsMHg5MCwweDc5LDB4OWEsMHhlMCwweDZkLDB4NjAsMHgxMywweGVmLDB4YzMsMHg5NCwweDA1LDB4NTB9IH0sCi17ICAxNiwweDQyZGEsMCx7MHgwZCwweDBmLDB4OTAsMHg3OCwweDBkLDB4ZTQsMHg3NSwweGYwLDB4MDMsMHgxMiwweDBjLDB4ZjQsMHg4MCwweGQ0LDB4OGQsMHgzM30gfSwKLXsgIDE2LDB4NDJlYSwwLHsweDkwLDB4NzgsMHgwYywweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDEsMHgxMiwweDBjfSB9LAoteyAgMTYsMHg0MmZhLDAsezB4NWQsMHhmZCwweDkwLDB4NzksMHg5YiwweGUwLDB4ZmMsMHg2ZCwweDYwLDB4MTMsMHhlZSwweGMzLDB4OTQsMHgwYiwweDUwLDB4MGR9IH0sCi17ICAxNiwweDQzMGEsMCx7MHgwZSwweDkwLDB4NzgsMHgwZCwweGU0LDB4NzUsMHhmMCwweDAzLDB4MTIsMHgwYywweGY0LDB4ODAsMHhkMywweDhjLDB4MzQsMHhlZn0gfSwKLXsgIDE2LDB4NDMxYSwwLHsweDY0LDB4MDUsMHg2MCwweDAzLDB4YmUsMHgwYiwweDA4LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwfSB9LAoteyAgMTYsMHg0MzJhLDAsezB4NzgsMHgwYywweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHgxMiwweDBjLDB4NDQsMHhmZiwweDI0LDB4ZjB9IH0sCi17ICAxNiwweDQzM2EsMCx7MHg2MCwweDA4LDB4MjQsMHgwZSwweDcwLDB4MGUsMHgxMiwweDQ5LDB4NGQsMHgyMiwweDkwLDB4NzksMHgyMCwweGU1LDB4MzQsMHhmMH0gfSwKLXsgIDExLDB4NDM0YSwwLHsweDEyLDB4MWIsMHgyYSwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjB9IH0sCi17ICAgMSwweDQzNTUsMCx7MHgyMn0gfSwKLXsgIDEyLDB4NDM1NiwwLHsweDc4LDB4N2YsMHhlNCwweGY2LDB4ZDgsMHhmZCwweDc1LDB4ODEsMHgzZiwweDAyLDB4NDMsMHg5ZH0gfSwKLXsgIDE2LDB4NDM2MiwwLHsweDAyLDB4NDgsMHhhOSwweGU0LDB4OTMsMHhhMywweGY4LDB4ZTQsMHg5MywweGEzLDB4NDAsMHgwMywweGY2LDB4ODAsMHgwMSwweGYyfSB9LAoteyAgMTYsMHg0MzcyLDAsezB4MDgsMHhkZiwweGY0LDB4ODAsMHgyOSwweGU0LDB4OTMsMHhhMywweGY4LDB4NTQsMHgwNywweDI0LDB4MGMsMHhjOCwweGMzLDB4MzN9IH0sCi17ICAxNiwweDQzODIsMCx7MHhjNCwweDU0LDB4MGYsMHg0NCwweDIwLDB4YzgsMHg4MywweDQwLDB4MDQsMHhmNCwweDU2LDB4ODAsMHgwMSwweDQ2LDB4ZjYsMHhkZn0gfSwKLXsgIDE2LDB4NDM5MiwwLHsweGU0LDB4ODAsMHgwYiwweDAxLDB4MDIsMHgwNCwweDA4LDB4MTAsMHgyMCwweDQwLDB4ODAsMHg5MCwweDQ2LDB4NjEsMHhlNCwweDdlfSB9LAoteyAgMTYsMHg0M2EyLDAsezB4MDEsMHg5MywweDYwLDB4YmMsMHhhMywweGZmLDB4NTQsMHgzZiwweDMwLDB4ZTUsMHgwOSwweDU0LDB4MWYsMHhmZSwweGU0LDB4OTN9IH0sCi17ICAxNiwweDQzYjIsMCx7MHhhMywweDYwLDB4MDEsMHgwZSwweGNmLDB4NTQsMHhjMCwweDI1LDB4ZTAsMHg2MCwweGE4LDB4NDAsMHhiOCwweGU0LDB4OTMsMHhhM30gfSwKLXsgIDE2LDB4NDNjMiwwLHsweGZhLDB4ZTQsMHg5MywweGEzLDB4ZjgsMHhlNCwweDkzLDB4YTMsMHhjOCwweGM1LDB4ODIsMHhjOCwweGNhLDB4YzUsMHg4MywweGNhfSB9LAoteyAgMTYsMHg0M2QyLDAsezB4ZjAsMHhhMywweGM4LDB4YzUsMHg4MiwweGM4LDB4Y2EsMHhjNSwweDgzLDB4Y2EsMHhkZiwweGU5LDB4ZGUsMHhlNywweDgwLDB4YmV9IH0sCi17ICAxNiwweDQzZTIsMCx7MHhjMCwweGUwLDB4YzAsMHhmMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4YzAsMHhkMCwweGU4LDB4YzAsMHhlMCwweGU5LDB4YzAsMHhlMH0gfSwKLXsgIDE2LDB4NDNmMiwwLHsweGVhLDB4YzAsMHhlMCwweGViLDB4YzAsMHhlMCwweGVjLDB4YzAsMHhlMCwweGVkLDB4YzAsMHhlMCwweGVlLDB4YzAsMHhlMCwweGVmfSB9LAoteyAgMTYsMHg0NDAyLDAsezB4YzAsMHhlMCwweGMyLDB4Y2EsMHhjMiwweGNmLDB4OTAsMHg3OSwweDdhLDB4ZTAsMHhiNCwweDAxLDB4MWYsMHgxMiwweDRiLDB4YWV9IH0sCi17ICAxNiwweDQ0MTIsMCx7MHgxMiwweDQ3LDB4NTgsMHg1MywweGE4LDB4YTAsMHg5MCwweDdmLDB4YWUsMHhlNCwweGYwLDB4MTIsMHgwNywweGFhLDB4MTIsMHg0Yn0gfSwKLXsgIDE2LDB4NDQyMiwwLHsweGI3LDB4OTAsMHg3ZiwweGFlLDB4NzQsMHgxZiwweGYwLDB4NDMsMHhhOCwweDA1LDB4ODAsMHgwMywweDUzLDB4YTgsMHhhMCwweDUzfSB9LAoteyAgMTYsMHg0NDMyLDAsezB4YTgsMHhmYSwweDc1LDB4ZTgsMHgwMSwweDEyLDB4MDksMHgxNSwweDc1LDB4ZTgsMHgwZCwweDQzLDB4YTgsMHgwNSwweGQwLDB4ZTB9IH0sCi17ICAxNiwweDQ0NDIsMCx7MHhmZiwweGQwLDB4ZTAsMHhmZSwweGQwLDB4ZTAsMHhmZCwweGQwLDB4ZTAsMHhmYywweGQwLDB4ZTAsMHhmYiwweGQwLDB4ZTAsMHhmYX0gfSwKLXsgIDE2LDB4NDQ1MiwwLHsweGQwLDB4ZTAsMHhmOSwweGQwLDB4ZTAsMHhmOCwweGQwLDB4ZDAsMHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZjAsMHhkMCwweGUwfSB9LAoteyAgIDEsMHg0NDYyLDAsezB4MzJ9IH0sCi17ICAxNiwweDQ0NjMsMCx7MHg5MCwweDdmLDB4ZWMsMHhlMCwweGY1LDB4MDksMHgxNCwweDYwLDB4MWQsMHgxNCwweDYwLDB4MmEsMHgxNCwweDYwLDB4MzcsMHgxNH0gfSwKLXsgIDE2LDB4NDQ3MywwLHsweDYwLDB4NDQsMHgyNCwweDA0LDB4NzAsMHg1MCwweDkwLDB4NzksMHg2MiwweGUwLDB4OTAsMHg3ZiwweDAwLDB4ZjAsMHg5MCwweDdmfSB9LAoteyAgMTYsMHg0NDgzLDAsezB4YjUsMHg3NCwweDAxLDB4ZjAsMHg4MCwweDQ3LDB4OTAsMHg3OSwweDYzLDB4ZTAsMHg5MCwweDdmLDB4MDAsMHhmMCwweDkwLDB4N2Z9IH0sCi17ICAxNiwweDQ0OTMsMCx7MHhiNSwweDc0LDB4MDEsMHhmMCwweDgwLDB4MzcsMHg5MCwweDc5LDB4NjQsMHhlMCwweDkwLDB4N2YsMHgwMCwweGYwLDB4OTAsMHg3Zn0gfSwKLXsgIDE2LDB4NDRhMywwLHsweGI1LDB4NzQsMHgwMSwweGYwLDB4ODAsMHgyNywweDkwLDB4NzksMHg2NiwweGUwLDB4OTAsMHg3ZiwweDAwLDB4ZjAsMHg5MCwweDdmfSB9LAoteyAgMTYsMHg0NGIzLDAsezB4YjUsMHg3NCwweDAxLDB4ZjAsMHg4MCwweDE3LDB4OTAsMHg3OSwweDY3LDB4ZTAsMHg5MCwweDdmLDB4MDAsMHhmMCwweDkwLDB4N2Z9IH0sCi17ICAxNSwweDQ0YzMsMCx7MHhiNSwweDc0LDB4MDEsMHhmMCwweDgwLDB4MDcsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweGQzLDB4MjJ9IH0sCi17ICAgNCwweDQ0ZDIsMCx7MHg4ZCwweDM2LDB4OGIsMHgzN30gfSwKLXsgIDE2LDB4NDRkNiwwLHsweDEyLDB4M2YsMHhhMiwweGVhLDB4NDksMHg2MCwweDU3LDB4MTIsMHgwYywweDQ0LDB4N2UsMHgwMCwweDI5LDB4ZmYsMHhlZSwweDNhfSB9LAoteyAgMTYsMHg0NGU2LDAsezB4YzksMHhlZiwweGM5LDB4NzUsMHgzOCwweGZmLDB4ZjUsMHgzOSwweDg5LDB4M2EsMHhhYiwweDM4LDB4YWEsMHgzOSwweGE5LDB4M2F9IH0sCi17ICAxNiwweDQ0ZjYsMCx7MHg5MCwweDAwLDB4MDEsMHgxMiwweDBjLDB4NWQsMHhmZiwweDY0LDB4MDQsMHg2MCwweDA1LDB4ZWYsMHg2NCwweDA1LDB4NzAsMHgyZX0gfSwKLXsgIDE2LDB4NDUwNiwwLHsweGVmLDB4YjQsMHgwNCwweDE1LDB4OTAsMHgwMCwweDAyLDB4MTIsMHgwYywweDVkLDB4NjUsMHgzNiwweDcwLDB4MGIsMHg5MCwweDAwfSB9LAoteyAgMTYsMHg0NTE2LDAsezB4MDMsMHgxMiwweDBjLDB4NWQsMHg2NSwweDM3LDB4NzAsMHgwMSwweDIyLDB4MTIsMHgwYywweDQ0LDB4N2UsMHgwMCwweDI5LDB4ZmZ9IH0sCi17ICAxNiwweDQ1MjYsMCx7MHhlZSwweDNhLDB4YzksMHhlZiwweGM5LDB4NzUsMHgzOCwweGZmLDB4ZjUsMHgzOSwweDg5LDB4M2EsMHg4MCwweGJjLDB4N2IsMHgwMH0gfSwKLXsgICA0LDB4NDUzNiwwLHsweDdhLDB4MDAsMHg3OSwweDAwfSB9LAoteyAgIDEsMHg0NTNhLDAsezB4MjJ9IH0sCi17ICAxNiwweDQ1M2IsMCx7MHhlNCwweGZmLDB4N2IsMHgwMSwweDkwLDB4NzgsMHgxYywweDA0LDB4ZjAsMHhhMywweDc0LDB4NzgsMHhmMCwweGEzLDB4NzQsMHg0Y30gfSwKLXsgIDE2LDB4NDU0YiwwLHsweGYwLDB4OTAsMHg3OCwweDFjLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwMiwweDEyfSB9LAoteyAgMTYsMHg0NTViLDAsezB4MGMsMHg1ZCwweGZlLDB4OTAsMHg3ZiwweGVjLDB4ZTAsMHg2ZSwweDYwLDB4MTMsMHhlZiwweGMzLDB4OTQsMHgwNCwweDUwLDB4MGR9IH0sCi17ICAxNiwweDQ1NmIsMCx7MHg5MCwweDc4LDB4MWQsMHhlNCwweDc1LDB4ZjAsMHgwMywweDEyLDB4MGMsMHhmNCwweDBmLDB4ODAsMHhkNCwweGJmLDB4MDQsMHgwOX0gfSwKLXsgIDE2LDB4NDU3YiwwLHsweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4ODAsMHgxNCwweDkwLDB4NzksMHgyMSwweGUwLDB4ZmYsMHg5MCwweDc4fSB9LAoteyAgMTYsMHg0NThiLDAsezB4MWMsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4ZWYsMHgxMiwweDBjLDB4OGEsMHg5MCwweDdmLDB4YzV9IH0sCi17ICAgMywweDQ1OWIsMCx7MHg3NCwweDAxLDB4ZjB9IH0sCi17ICAgMSwweDQ1OWUsMCx7MHgyMn0gfSwKLXsgIDE0LDB4NDU5ZiwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweGMwLDB4ZDAsMHhlZSwweGMwLDB4ZTAsMHhlZiwweGMwLDB4ZTB9IH0sCi17ICAxNiwweDQ1YWQsMCx7MHg5MCwweDc5LDB4ODUsMHhlMCwweDY0LDB4MDEsMHg2MCwweDA1LDB4YTMsMHhlMCwweGI0LDB4MDEsMHgyZCwweDkwLDB4NzksMHg4N30gfSwKLXsgIDE2LDB4NDViZCwwLHsweDc0LDB4MDEsMHhmMCwweGU0LDB4ZmYsMHg5MCwweDdmLDB4YzUsMHhlMCwweGZlLDB4ZWYsMHhjMywweDllLDB4NTAsMHgxYiwweDc0fSB9LAoteyAgMTYsMHg0NWNkLDAsezB4YzAsMHgyZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2UsMHhmNSwweDgzLDB4ZTAsMHhmZSwweDc0LDB4MjEsMHgyZiwweGY1LDB4ODJ9IH0sCi17ICAxNiwweDQ1ZGQsMCx7MHhlNCwweDM0LDB4NzksMHhmNSwweDgzLDB4ZWUsMHhmMCwweDBmLDB4ODAsMHhkYiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYX0gfSwKLXsgICA0LDB4NDVlZCwwLHsweGUwLDB4NDQsMHgwMSwweGYwfSB9LAoteyAgMTUsMHg0NWYxLDAsezB4ZDAsMHhlMCwweGZmLDB4ZDAsMHhlMCwweGZlLDB4ZDAsMHhkMCwweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAgMTYsMHg0NjAwLDAsezB4ZTQsMHhmZiwweDdiLDB4MDEsMHg5MCwweDc4LDB4MTksMHgwNCwweGYwLDB4YTMsMHg3NCwweDc4LDB4ZjAsMHhhMywweDc0LDB4NGN9IH0sCi17ICAxNiwweDQ2MTAsMCx7MHhmMCwweDkwLDB4NzgsMHgxOSwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDIsMHgxMn0gfSwKLXsgIDE2LDB4NDYyMCwwLHsweDBjLDB4NWQsMHhmZSwweDkwLDB4N2YsMHhlYywweGUwLDB4NmUsMHg2MCwweDEzLDB4ZWYsMHhjMywweDk0LDB4MDQsMHg1MCwweDBkfSB9LAoteyAgMTYsMHg0NjMwLDAsezB4OTAsMHg3OCwweDFhLDB4ZTQsMHg3NSwweGYwLDB4MDMsMHgxMiwweDBjLDB4ZjQsMHgwZiwweDgwLDB4ZDQsMHhiZiwweDA0LDB4MDh9IH0sCi17ICAxNiwweDQ2NDAsMCx7MHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3OCwweDE5LDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYX0gfSwKLXsgIDE2LDB4NDY1MCwwLHsweGEzLDB4ZTAsMHhmOSwweDEyLDB4MGMsMHg0NCwweDkwLDB4N2YsMHgwMCwweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMSwweGYwfSB9LAoteyAgIDEsMHg0NjYwLDAsezB4MjJ9IH0sCi17ICAxNiwweDQ2NjEsMCx7MHgwMSwweDE4LDB4MDIsMHgwMSwweDE5LDB4MGEsMHgwMSwweDFjLDB4MDAsMHhjMSwweDI4LDB4YzEsMHgyOSwweDAxLDB4MWYsMHgwMX0gfSwKLXsgIDE1LDB4NDY3MSwwLHsweDQ0LDB4NzksMHg5ZiwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDEsMHg3OSwweGEzLDB4MDAsMHg0MSwweDc5LDB4YTQsMHgwMH0gfSwKLXsgICA0LDB4NDY4MCwwLHsweDQxLDB4NzksMHg4OSwweDAwfSB9LAoteyAgMTYsMHg0Njg0LDAsezB4MDEsMHgyMiwweDAxLDB4NDEsMHg3OSwweDMxLDB4ZmYsMHg0MSwweDc5LDB4MzQsMHgwMCwweDRkLDB4NzksMHgzNSwweDNmLDB4M2Z9IH0sCi17ICAxNiwweDQ2OTQsMCx7MHgwMCwweDA4LDB4MDAsMHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE1LDB4NGQsMHg3OSwweDQyLDB4M2YsMHgzZn0gfSwKLXsgIDE2LDB4NDZhNCwwLHsweDA2LDB4MDgsMHgwNCwweDA3LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTUsMHg0ZCwweDc5LDB4NGYsMHgwYSwweDBhfSB9LAoteyAgMTEsMHg0NmI0LDAsezB4MDksMHgwMCwweDAxLDB4MDksMHgwMiwweDAzLDB4MDQsMHgwNSwweDA2LDB4MDcsMHgwOH0gfSwKLXsgICAxLDB4NDZiZiwwLHsweDAwfSB9LAoteyAgMTYsMHg0NmMwLDAsezB4MTIsMHgwYSwweGNkLDB4OTAsMHg3ZiwweGE1LDB4ZTAsMHhmNSwweDIxLDB4ZTUsMHgyMSwweDU0LDB4MDEsMHhmNSwweDIxLDB4NjR9IH0sCi17ICAxNiwweDQ2ZDAsMCx7MHgwMSwweDYwLDB4MjgsMHhlNSwweDIyLDB4NjQsMHgwMSwweDcwLDB4MjIsMHg5MCwweDdmLDB4YTUsMHhlMCwweGY1LDB4MjEsMHg1NH0gfSwKLXsgIDE2LDB4NDZlMCwwLHsweDAyLDB4ZjUsMHgyMSwweDcwLDB4MDMsMHg3NSwweDIyLDB4MDEsMHg5MCwweDdmLDB4YTUsMHhlMCwweGY1LDB4MjEsMHg1NCwweDA0fSB9LAoteyAgMTIsMHg0NmYwLDAsezB4ZmYsMHhmNSwweDIxLDB4YmYsMHgwNCwweGQzLDB4NzUsMHgyMiwweDAxLDB4ODAsMHhjZSwweDIyfSB9LAoteyAgIDQsMHg0NmZjLDAsezB4NTMsMHhkOCwweGY3LDB4MzJ9IH0sCi17ICAxNiwweDQ3MDAsMCx7MHgwMiwweDQ5LDB4ZmEsMHgwMCwweDAyLDB4M2MsMHg1NCwweDAwLDB4MDIsMHgxNywweGU0LDB4MDAsMHgwMiwweDRhLDB4MTIsMHgwMH0gfSwKLXsgIDE2LDB4NDcxMCwwLHsweDAyLDB4MzcsMHhhMiwweDAwLDB4MDIsMHg0NywweGZmLDB4MDAsMHgwMiwweDRhLDB4NDEsMHgwMCwweDAyLDB4NDUsMHg5ZiwweDAwfSB9LAoteyAgMTYsMHg0NzIwLDAsezB4MDIsMHg0OSwweDhlLDB4MDAsMHgwMiwweDQ5LDB4YWIsMHgwMCwweDAyLDB4NGEsMHg1OCwweDAwLDB4MDIsMHg0YSwweDZmLDB4MDB9IH0sCi17ICAxNiwweDQ3MzAsMCx7MHgwMiwweDRhLDB4ODYsMHgwMCwweDAyLDB4NGEsMHg5ZCwweDAwLDB4MDIsMHg0YSwweGI0LDB4MDAsMHgwMiwweDRhLDB4Y2IsMHgwMH0gfSwKLXsgIDE2LDB4NDc0MCwwLHsweDAyLDB4NGEsMHhlMiwweDAwLDB4MDIsMHg0YSwweGY5LDB4MDAsMHgwMiwweDRiLDB4MTAsMHgwMCwweDAyLDB4NGIsMHgyNywweDAwfSB9LAoteyAgIDgsMHg0NzUwLDAsezB4MDIsMHg0YiwweDNlLDB4MDAsMHgwMiwweDRiLDB4NTUsMHgwMH0gfSwKLXsgIDE2LDB4NDc1OCwwLHsweGU1LDB4MTgsMHg3MCwweDE0LDB4OTAsMHg3OSwweDhjLDB4ZTAsMHgwNCwweGYwLDB4OTAsMHg3OSwweDhiLDB4ZTAsMHhjMywweDk0fSB9LAoteyAgMTYsMHg0NzY4LDAsezB4MDAsMHg0MCwweDE1LDB4ZTAsMHgxNCwweGYwLDB4ODAsMHgxMCwweDkwLDB4NzksMHg4YiwweGUwLDB4MDQsMHhmMCwweGEzLDB4ZTB9IH0sCi17ICAxNiwweDQ3NzgsMCx7MHhjMywweDk0LDB4MDAsMHg0MCwweDAzLDB4ZTAsMHgxNCwweGYwLDB4OTAsMHg3OSwweDhiLDB4ZTAsMHhkMywweDk0LDB4MTQsMHg0MH0gfSwKLXsgIDE2LDB4NDc4OCwwLHsweDA0LDB4ZTQsMHhmNSwweDE4LDB4ZjAsMHg5MCwweDc5LDB4OGMsMHhlMCwweGQzLDB4OTQsMHgxNCwweDQwLDB4MDUsMHg3NSwweDE4fSB9LAoteyAgIDQsMHg0Nzk4LDAsezB4MDEsMHhlNCwweGYwLDB4MjJ9IH0sCi17ICAxNiwweDQ3OWMsMCx7MHg5MCwweDdmLDB4ZDcsMHhlMCwweGY1LDB4MzMsMHg5MCwweDdmLDB4ZWMsMHhlMCwweGY1LDB4MDksMHgxNCwweDYwLDB4MTEsMHgxNH0gfSwKLXsgIDE2LDB4NDdhYywwLHsweDYwLDB4MWIsMHgyNCwweDAyLDB4NzAsMHgyNCwweDkwLDB4N2YsMHhlYSwweGUwLDB4OTAsMHg3OSwweDYyLDB4ZjAsMHg4MCwweDIxfSB9LAoteyAgMTYsMHg0N2JjLDAsezB4OTAsMHg3ZiwweGVhLDB4ZTAsMHg5MCwweDc5LDB4NjMsMHhmMCwweDEyLDB4MTAsMHgwMCwweDgwLDB4MTQsMHg5MCwweDdmLDB4ZWF9IH0sCi17ICAxNiwweDQ3Y2MsMCx7MHhlMCwweDkwLDB4NzksMHg2NCwweGYwLDB4MTIsMHgyOCwweDAxLDB4ODAsMHgwNywweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMX0gfSwKLXsgICAyLDB4NDdkYywwLHsweGYwLDB4ZDN9IH0sCi17ICAgMSwweDQ3ZGUsMCx7MHgyMn0gfSwKLXsgIDE2LDB4NDdkZiwwLHsweDkwLDB4NzksMHg3OCwweDc0LDB4MDQsMHhmMCwweDkwLDB4NzksMHgzMywweGUwLDB4OTAsMHg3OSwweDc5LDB4ZjAsMHhhMiwweGFmfSB9LAoteyAgMTYsMHg0N2VmLDAsezB4ZTQsMHgzMywweGY1LDB4MTIsMHhjMiwweGFmLDB4MTIsMHgwYiwweGEyLDB4ZTUsMHgxMiwweDYwLDB4MDIsMHhkMiwweGFmLDB4MjJ9IH0sCi17ICAgMSwweDQ3ZmYsMCx7MHgzMn0gfSwKLXsgICAyLDB4NDgwMCwwLHsweDhmLDB4MzZ9IH0sCi17ICAxNiwweDQ4MDIsMCx7MHhlNCwweGY1LDB4MzcsMHg3NSwweDM4LDB4ZmYsMHg3NSwweDM5LDB4MDcsMHg3NSwweDNhLDB4MDEsMHhhYiwweDM4LDB4YWEsMHgzOX0gfSwKLXsgIDE2LDB4NDgxMiwwLHsweGE5LDB4M2EsMHg5MCwweDAwLDB4MDEsMHgxMiwweDBjLDB4NWQsMHhiNCwweDAzLDB4MWYsMHhhZiwweDM3LDB4MDUsMHgzNywweGVmfSB9LAoteyAgMTYsMHg0ODIyLDAsezB4NjUsMHgzNiwweDcwLDB4MDEsMHgyMiwweDEyLDB4MGMsMHg0NCwweDdlLDB4MDAsMHgyOSwweGZmLDB4ZWUsMHgzYSwweGM5LDB4ZWZ9IH0sCi17ICAxNiwweDQ4MzIsMCx7MHhjOSwweDc1LDB4MzgsMHhmZiwweGY1LDB4MzksMHg4OSwweDNhLDB4ODAsMHhkMiwweDdiLDB4MDAsMHg3YSwweDAwLDB4NzksMHgwMH0gfSwKLXsgICAxLDB4NDg0MiwwLHsweDIyfSB9LAoteyAgMTYsMHg0ODQzLDAsezB4MzAsMHgyNiwweDJmLDB4YzIsMHgyNiwweDkwLDB4NzksMHgyZCwweGUwLDB4ZmYsMHhiNCwweDAxLDB4MDksMHhlNCwweGY1LDB4MGN9IH0sCi17ICAxNiwweDQ4NTMsMCx7MHg3NSwweDBkLDB4ZjgsMHg3NSwweDBlLDB4MGEsMHhlZiwweGI0LDB4MDIsMHgwOSwweGU0LDB4ZjUsMHgwYywweDc1LDB4MGQsMHhmMH0gfSwKLXsgIDE2LDB4NDg2MywwLHsweDc1LDB4MGUsMHgwYiwweGVmLDB4YjQsMHgwMywweDA5LDB4ZTQsMHhmNSwweDBjLDB4NzUsMHgwZCwweGY4LDB4NzUsMHgwZSwweDE3fSB9LAoteyAgIDMsMHg0ODczLDAsezB4ZDIsMHgyMiwweDIyfSB9LAoteyAgMTYsMHg0ODc2LDAsezB4MzAsMHgyNSwweDJmLDB4YzIsMHgyNSwweDkwLDB4NzksMHgyZCwweGUwLDB4ZmYsMHhiNCwweDAxLDB4MDksMHg3NSwweDBjLDB4YzB9IH0sCi17ICAxNiwweDQ4ODYsMCx7MHg3NSwweDBkLDB4MTQsMHg3NSwweDBlLDB4MGIsMHhlZiwweGI0LDB4MDIsMHgwOSwweGU0LDB4ZjUsMHgwYywweDc1LDB4MGQsMHgxMH0gfSwKLXsgIDE2LDB4NDg5NiwwLHsweDc1LDB4MGUsMHgwYywweGVmLDB4YjQsMHgwMywweDA5LDB4ZTQsMHhmNSwweDBjLDB4NzUsMHgwZCwweDE4LDB4NzUsMHgwZSwweDE4fSB9LAoteyAgIDMsMHg0OGE2LDAsezB4ZDIsMHgyMiwweDIyfSB9LAoteyAgMTYsMHg0OGE5LDAsezB4ZTQsMHhmNSwweDMyLDB4MTIsMHgwZiwweDUwLDB4MjAsMHgyZSwweDEwLDB4ZTUsMHgzMiwweGMzLDB4OTQsMHgwMiwweDUwLDB4MDl9IH0sCi17ICAxNiwweDQ4YjksMCx7MHgwNSwweDMyLDB4ZDIsMHgzMCwweDEyLDB4NDksMHgwNSwweDgwLDB4ZWQsMHgzMCwweDJlLDB4MDUsMHgxMiwweDE0LDB4NTcsMHhjMn0gfSwKLXsgIDE1LDB4NDhjOSwwLHsweDJlLDB4MzAsMHgyZCwweDA2LDB4MTIsMHgwNywweDlhLDB4MTIsMHg0OCwweGQ5LDB4MTIsMHg0MCwweDAwLDB4ODAsMHhlYX0gfSwKLXsgICAxLDB4NDhkOCwwLHsweDIyfSB9LAoteyAgMTYsMHg0OGQ5LDAsezB4OTAsMHg3ZiwweGQ2LDB4ZTAsMHhmNSwweDFkLDB4NTQsMHg4MCwweGY1LDB4MWQsMHg2NCwweDgwLDB4NzAsMHgxZCwweGMyLDB4YWZ9IH0sCi17ICAxNiwweDQ4ZTksMCx7MHhlMCwweDQ0LDB4ODAsMHhmMCwweGUwLDB4NDQsMHgwMSwweGYwLDB4N2YsMHgwYywweDdlLDB4MDAsMHgxMiwweDRiLDB4NmMsMHg5MH0gfSwKLXsgIDEyLDB4NDhmOSwwLHsweDdmLDB4ZDYsMHhlMCwweDU0LDB4ZmUsMHhmMCwweDUzLDB4ODcsMHhmZSwweGQyLDB4YWYsMHgyMn0gfSwKLXsgIDE2LDB4NDkwNSwwLHsweDkwLDB4N2YsMHhkNiwweGUwLDB4NTQsMHhmYiwweGYwLDB4ZTAsMHg0NCwweDA4LDB4ZjAsMHgzMCwweDMwLDB4MDQsMHhlMCwweDQ0fSB9LAoteyAgMTYsMHg0OTE1LDAsezB4MDIsMHhmMCwweDdmLDB4ZGMsMHg3ZSwweDA1LDB4MTIsMHg0YiwweDZjLDB4OTAsMHg3ZiwweGQ2LDB4ZTAsMHg1NCwweGY3LDB4ZjB9IH0sCi17ICAgNSwweDQ5MjUsMCx7MHhlMCwweDQ0LDB4MDQsMHhmMCwweDIyfSB9LAoteyAgMTYsMHg0OTJhLDAsezB4OTAsMHg3ZiwweGViLDB4ZTAsMHgxNCwweDcwLDB4MTQsMHg5MCwweDdmLDB4ZTksMHhlMCwweDI0LDB4N2YsMHg3MCwweDA0LDB4MTJ9IH0sCi17ICAxNiwweDQ5M2EsMCx7MHg0NiwweDAwLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NH0gfSwKLXsgICAzLDB4NDk0YSwwLHsweDAxLDB4ZjAsMHgyMn0gfSwKLXsgIDE2LDB4NDk0ZCwwLHsweDkwLDB4N2YsMHhlYiwweGUwLDB4MTQsMHg3MCwweDEzLDB4OTAsMHg3ZiwweGU5LDB4ZTAsMHgxNCwweDcwLDB4MDQsMHgxMiwweDQ1fSB9LAoteyAgMTYsMHg0OTVkLDAsezB4M2IsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDF9IH0sCi17ICAgMiwweDQ5NmQsMCx7MHhmMCwweDIyfSB9LAoteyAgMTYsMHg0OTZmLDAsezB4ZTQsMHhmZiwweDc0LDB4ZTgsMHgyZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2YsMHhmNSwweDgzLDB4ZTAsMHhmZSwweDc0LDB4OTZ9IH0sCi17ICAxNCwweDQ5N2YsMCx7MHgyZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzksMHhmNSwweDgzLDB4ZWUsMHhmMCwweDBmLDB4YmYsMHgwOCwweGU0fSB9LAoteyAgIDEsMHg0OThkLDAsezB4MjJ9IH0sCi17ICAxNiwweDQ5OGUsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YTksMHhlMCwweDQ0LDB4MDIsMHhmMH0gfSwKLXsgIDEzLDB4NDk5ZSwwLHsweDkwLDB4N2YsMHhiNywweDc0LDB4MDMsMHhmMCwweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAgMTYsMHg0OWFiLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFhLDB4ZTAsMHg0NCwweDAyLDB4ZjB9IH0sCi17ICAxMywweDQ5YmIsMCx7MHg5MCwweDdmLDB4YzcsMHg3NCwweDAzLDB4ZjAsMHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0gfSwKLXsgIDE2LDB4NDljOCwwLHsweDkwLDB4N2YsMHhkNiwweGUwLDB4MzAsMHhlNywweDEyLDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg3ZiwweDE0LDB4N2UsMHgwMCwweDEyfSB9LAoteyAgMTAsMHg0OWQ4LDAsezB4NGIsMHg2YywweDkwLDB4N2YsMHhkNiwweGUwLDB4NTQsMHhmZSwweGYwLDB4MjJ9IH0sCi17ICAxNiwweDQ5ZTIsMCx7MHhlNCwweGY1LDB4MWEsMHg3NSwweDFiLDB4MDEsMHg5MCwweDc5LDB4OTEsMHgwNCwweGYwLDB4YTMsMHhmMCwweGU0LDB4YTMsMHhmMH0gfSwKLXsgICA4LDB4NDlmMiwwLHsweGEzLDB4NzQsMHgwYSwweGYwLDB4ZTQsMHhhMywweGYwLDB4MjJ9IH0sCi17ICAxNiwweDQ5ZmEsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHhkMiwweDJlLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFiLDB4NzQsMHgwMX0gfSwKLXsgICA4LDB4NGEwYSwwLHsweGYwLDB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9IH0sCi17ICAxNiwweDRhMTIsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHhkMiwweDJkLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFiLDB4NzQsMHgwOH0gfSwKLXsgICA4LDB4NGEyMiwwLHsweGYwLDB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9IH0sCi17ICAxNiwweDRhMmEsMCx7MHg5MCwweDdmLDB4ZWEsMHhlMCwweGY1LDB4MDgsMHhlNCwweDkwLDB4NzksMHg2MiwweGYwLDB4YTMsMHhmMCwweGEzLDB4ZjAsMHg5MH0gfSwKLXsgICA3LDB4NGEzYSwwLHsweDc5LDB4NjYsMHhmMCwweGEzLDB4ZjAsMHhkMywweDIyfSB9LAoteyAgMTYsMHg0YTQxLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGE5LDB4ZTAsMHg0NCwweDAxLDB4ZjB9IH0sCi17ICAgNywweDRhNTEsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0gfSwKLXsgIDE2LDB4NGE1OCwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhOSwweGUwLDB4NDQsMHgwNCwweGYwfSB9LAoteyAgIDcsMHg0YTY4LDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9IH0sCi17ICAxNiwweDRhNmYsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWEsMHhlMCwweDQ0LDB4MDQsMHhmMH0gfSwKLXsgICA3LDB4NGE3ZiwwLHsweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAgMTYsMHg0YTg2LDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGE5LDB4ZTAsMHg0NCwweDA4LDB4ZjB9IH0sCi17ICAgNywweDRhOTYsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0gfSwKLXsgIDE2LDB4NGE5ZCwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYSwweGUwLDB4NDQsMHgwOCwweGYwfSB9LAoteyAgIDcsMHg0YWFkLDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9IH0sCi17ICAxNiwweDRhYjQsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YTksMHhlMCwweDQ0LDB4MTAsMHhmMH0gfSwKLXsgICA3LDB4NGFjNCwwLHsweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAgMTYsMHg0YWNiLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFhLDB4ZTAsMHg0NCwweDEwLDB4ZjB9IH0sCi17ICAgNywweDRhZGIsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0gfSwKLXsgIDE2LDB4NGFlMiwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhOSwweGUwLDB4NDQsMHgyMCwweGYwfSB9LAoteyAgIDcsMHg0YWYyLDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9IH0sCi17ICAxNiwweDRhZjksMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWEsMHhlMCwweDQ0LDB4MjAsMHhmMH0gfSwKLXsgICA3LDB4NGIwOSwwLHsweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAgMTYsMHg0YjEwLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGE5LDB4ZTAsMHg0NCwweDQwLDB4ZjB9IH0sCi17ICAgNywweDRiMjAsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0gfSwKLXsgIDE2LDB4NGIyNywwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYSwweGUwLDB4NDQsMHg0MCwweGYwfSB9LAoteyAgIDcsMHg0YjM3LDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9IH0sCi17ICAxNiwweDRiM2UsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YTksMHhlMCwweDQ0LDB4ODAsMHhmMH0gfSwKLXsgICA3LDB4NGI0ZSwwLHsweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAgMTYsMHg0YjU1LDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFhLDB4ZTAsMHg0NCwweDgwLDB4ZjB9IH0sCi17ICAgNywweDRiNjUsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0gfSwKLXsgIDE2LDB4NGI2YywwLHsweDhlLDB4MzMsMHg4ZiwweDM0LDB4ZTUsMHgzNCwweDE1LDB4MzQsMHhhZSwweDMzLDB4NzAsMHgwMiwweDE1LDB4MzMsMHg0ZSwweDYwfSB9LAoteyAgIDcsMHg0YjdjLDAsezB4MDUsMHgxMiwweDA3LDB4ODksMHg4MCwweGVlLDB4MjJ9IH0sCi17ICAxNSwweDRiODMsMCx7MHg5MCwweDdmLDB4ZWEsMHhlMCwweGI0LDB4ZmYsMHgwNCwweDEyLDB4MzAsMHgwMCwweDIyLDB4MTIsMHgzNiwweDBlLDB4MjJ9IH0sCi17ICAxNCwweDRiOTIsMCx7MHhjMCwweGUwLDB4YzIsMHg4YiwweGQyLDB4MjQsMHgzMCwweDIzLDB4MDIsMHhjMiwweDIzLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAgMTQsMHg0YmEwLDAsezB4OTAsMHg3ZiwweDAwLDB4ZTUsMHgwOCwweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMSwweGYwLDB4ZDMsMHgyMn0gfSwKLXsgICA5LDB4NGJhZSwwLHsweDMwLDB4MjQsMHgwNSwweGMyLDB4MjQsMHg3NSwweDE4LDB4MDEsMHgyMn0gfSwKLXsgICA5LDB4NGJiNywwLHsweDMwLDB4MjMsMHgwNSwweGMyLDB4MjMsMHhlNCwweGY1LDB4MTgsMHgyMn0gfSwKLXsgICA3LDB4NGJjMCwwLHsweDUzLDB4YzAsMHhmZSwweDUzLDB4YzAsMHhmZCwweDMyfSB9LAoteyAgIDYsMHg0YmM3LDAsezB4NTMsMHg5MSwweDdmLDB4ZDIsMHgyNSwweDMyfSB9LAoteyAgIDUsMHg0YmNkLDAsezB4YzIsMHg4OSwweGQyLDB4MjMsMHgzMn0gfSwKLXsgICAzLDB4NGJkMiwwLHsweGMyLDB4OGQsMHgzMn0gfSwKLXsgICAzLDB4NGJkNSwwLHsweGMyLDB4OGYsMHgzMn0gfSwKLXsgICAyLDB4NGJkOCwwLHsweGQzLDB4MjJ9IH0sCi17ICAgMiwweDRiZGEsMCx7MHhkMywweDIyfSB9LAoteyAgIDIsMHg0YmRjLDAsezB4ZDMsMHgyMn0gfSwKLXsgICAyLDB4NGJkZSwwLHsweGQzLDB4MjJ9IH0sCi17ICAgMiwweDRiZTAsMCx7MHhkMywweDIyfSB9LAoteyAgIDIsMHg0YmUyLDAsezB4ZDMsMHgyMn0gfSwKLXsgICAyLDB4NGJlNCwwLHsweGMzLDB4MjJ9IH0sCi17ICAgMSwweDRiZTYsMCx7MHgyMn0gfSwKLXsgICAwLDB4MDAwMCwxLHswIH19Ci19OwotLyoKLVZFUlNJT049MS4wLjIuOTE2Ci1EQVRFPTEyLjAyLjIwMDIKLSovCi0vKgotICogVGhpcyBmaXJtd2FyZSBpcyBmb3IgdGhlIEVtYWdpYyBFTUkgMnw2IEF1ZGlvIEludGVyZmFjZQotICoKLSAqIFRoZSBmaXJtd2FyZSBjb250YWluZWQgaGVyZWluIGlzIENvcHlyaWdodCAoYykgMTk5OS0yMDAyIEVtYWdpYwotICogYXMgYW4gdW5wdWJsaXNoZWQgd29yay4gVGhpcyBub3RpY2UgZG9lcyBub3QgaW1wbHkgdW5yZXN0cmljdGVkCi0gKiBvciBwdWJsaWMgYWNjZXNzIHRvIHRoaXMgZmlybXdhcmUgd2hpY2ggaXMgYSB0cmFkZSBzZWNyZXQgb2YgRW1hZ2ljLAotICogYW5kIHdoaWNoIG1heSBub3QgYmUgcmVwcm9kdWNlZCwgdXNlZCwgc29sZCBvciB0cmFuc2ZlcnJlZCB0bwotICogYW55IHRoaXJkIHBhcnR5IHdpdGhvdXQgRW1hZ2ljJ3Mgd3JpdHRlbiBjb25zZW50LiBBbGwgUmlnaHRzIFJlc2VydmVkLgotICoKLSAqIFRoaXMgZmlybXdhcmUgbWF5IG5vdCBiZSBtb2RpZmllZCBhbmQgbWF5IG9ubHkgYmUgdXNlZCB3aXRoIHRoZQotICogRW1hZ2ljIEVNSSAyfDYgQXVkaW8gSW50ZXJmYWNlLiBEaXN0cmlidXRpb24gYW5kL29yIE1vZGlmaWNhdGlvbiBvZgotICogYW55IGRyaXZlciB3aGljaCBpbmNsdWRlcyB0aGlzIGZpcm13YXJlLCBpbiB3aG9sZSBvciBpbiBwYXJ0LAotICogcmVxdWlyZXMgdGhlIGluY2x1c2lvbiBvZiB0aGlzIHN0YXRlbWVudC4KLSAqLwotc3RhdGljIElOVEVMX0hFWF9SRUNPUkQgZ19Mb2FkZXJbXSA9IHsKLXsgICAzLDB4MDAwMCwwLHsweDAyLDB4MDMsMHgxY30gfSwKLXsgICAzLDB4MDA0MywwLHsweDAyLDB4MDQsMHgwMH0gfSwKLXsgIDE2LDB4MDEwMCwwLHsweDkwLDB4N2YsMHhlOSwweGUwLDB4MjQsMHg1YiwweDYwLDB4NjAsMHgyNCwweDAyLDB4NjAsMHgwMywweDAyLDB4MDEsMHhiZSwweDkwfSB9LAoteyAgMTYsMHgwMTEwLDAsezB4N2YsMHhlYSwweGUwLDB4NzUsMHgwYSwweDAwLDB4ZjUsMHgwYiwweGEzLDB4ZTAsMHhmZSwweGU0LDB4ZWUsMHg0MiwweDBhLDB4OTB9IH0sCi17ICAxNiwweDAxMjAsMCx7MHg3ZiwweGVlLDB4ZTAsMHg3NSwweDE1LDB4MDAsMHhmNSwweDE2LDB4YTMsMHhlMCwweGZlLDB4ZTQsMHhlZSwweDQyLDB4MTUsMHhlNX0gfSwKLXsgIDE2LDB4MDEzMCwwLHsweDE2LDB4NDUsMHgxNSwweDcwLDB4MDMsMHgwMiwweDAxLDB4YmUsMHhlNCwweDkwLDB4N2YsMHhjNSwweGYwLDB4OTAsMHg3ZiwweGI0fSB9LAoteyAgMTYsMHgwMTQwLDAsezB4ZTAsMHgyMCwweGUzLDB4ZjksMHg5MCwweDdmLDB4YzUsMHhlMCwweGY1LDB4MGMsMHgxMiwweDAyLDB4NzcsMHhhZiwweDBjLDB4N2V9IH0sCi17ICAxNiwweDAxNTAsMCx7MHgwMCwweGVmLDB4MjUsMHgwYiwweGY1LDB4MGIsMHhlZSwweDM1LDB4MGEsMHhmNSwweDBhLDB4YzMsMHhlNSwweDE2LDB4OWYsMHhmNX0gfSwKLXsgIDE2LDB4MDE2MCwwLHsweDE2LDB4ZTUsMHgxNSwweDllLDB4ZjUsMHgxNSwweDgwLDB4YzcsMHg5MCwweDdmLDB4ZWEsMHhlMCwweDc1LDB4MGEsMHgwMCwweGY1fSB9LAoteyAgMTYsMHgwMTcwLDAsezB4MGIsMHhhMywweGUwLDB4ZmUsMHhlNCwweGVlLDB4NDIsMHgwYSwweDkwLDB4N2YsMHhlZSwweGUwLDB4NzUsMHgxNSwweDAwLDB4ZjV9IH0sCi17ICAxNiwweDAxODAsMCx7MHgxNiwweGEzLDB4ZTAsMHhmZSwweGU0LDB4ZWUsMHg0MiwweDE1LDB4ZTUsMHgxNiwweDQ1LDB4MTUsMHg2MCwweDMwLDB4ZTQsMHg5MH0gfSwKLXsgIDE2LDB4MDE5MCwwLHsweDdmLDB4YzUsMHhmMCwweDkwLDB4N2YsMHhiNCwweGUwLDB4MjAsMHhlMywweGY5LDB4OTAsMHg3ZiwweGM1LDB4ZTAsMHhmNSwweDBjfSB9LAoteyAgMTYsMHgwMWEwLDAsezB4MTIsMHgwMiwweDhmLDB4YWYsMHgwYywweDdlLDB4MDAsMHhlZiwweDI1LDB4MGIsMHhmNSwweDBiLDB4ZWUsMHgzNSwweDBhLDB4ZjV9IH0sCi17ICAxNSwweDAxYjAsMCx7MHgwYSwweGMzLDB4ZTUsMHgxNiwweDlmLDB4ZjUsMHgxNiwweGU1LDB4MTUsMHg5ZSwweGY1LDB4MTUsMHg4MCwweGNhLDB4YzN9IH0sCi17ICAgMSwweDAxYmYsMCx7MHgyMn0gfSwKLXsgIDE2LDB4MDFjMCwwLHsweGMyLDB4MjAsMHhkMiwweGU4LDB4NDMsMHhkOCwweDIwLDB4OTAsMHg3ZiwweGFiLDB4NzQsMHhmZiwweGYwLDB4OTAsMHg3ZiwweGE5fSB9LAoteyAgMTYsMHgwMWQwLDAsezB4ZjAsMHg5MCwweDdmLDB4YWEsMHhmMCwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHg5NSwweGUwLDB4NDQsMHhjMCwweGYwLDB4OTB9IH0sCi17ICAxNiwweDAxZTAsMCx7MHg3ZiwweDk4LDB4ZTAsMHg0NCwweGMwLDB4ZjAsMHg5MCwweDdmLDB4OWUsMHhlMCwweDQ0LDB4YzAsMHhmMCwweGU0LDB4OTAsMHg3Zn0gfSwKLXsgIDE2LDB4MDFmMCwwLHsweDk0LDB4ZjAsMHg5MCwweDdmLDB4OWQsMHhlMCwweDQ0LDB4MGYsMHhmMCwweDkwLDB4N2YsMHg5NywweGUwLDB4NTQsMHhmMCwweGYwfSB9LAoteyAgMTYsMHgwMjAwLDAsezB4OTAsMHg3ZiwweGFmLDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MCwweDdmLDB4YWUsMHhlMCwweDQ0LDB4MGQsMHhmMCwweGQyLDB4YWZ9IH0sCi17ICAxNiwweDAyMTAsMCx7MHg5MCwweDdmLDB4OTcsMHhlMCwweDU0LDB4ZjAsMHhmMCwweDIwLDB4MjAsMHg0MiwweDc1LDB4MTQsMHgwMCwweDc1LDB4MTMsMHgwMH0gfSwKLXsgIDE2LDB4MDIyMCwwLHsweDc1LDB4MTIsMHgwMCwweDc1LDB4MTEsMHgwMCwweDdmLDB4NDgsMHg3ZSwweDkyLDB4N2QsMHgwMCwweDdjLDB4MDAsMHhhYiwweDE0fSB9LAoteyAgMTYsMHgwMjMwLDAsezB4YWEsMHgxMywweGE5LDB4MTIsMHhhOCwweDExLDB4YzMsMHgxMiwweDA0LDB4OWEsMHg1MCwweGRiLDB4MjAsMHgyMCwweGQ4LDB4N2F9IH0sCi17ICAxNiwweDAyNDAsMCx7MHgwMCwweDc5LDB4MDAsMHg3OCwweDAwLDB4ZTUsMHgxNCwweDI0LDB4MDEsMHhmNSwweDE0LDB4ZWEsMHgzNSwweDEzLDB4ZjUsMHgxM30gfSwKLXsgIDE2LDB4MDI1MCwwLHsweGU5LDB4MzUsMHgxMiwweGY1LDB4MTIsMHhlOCwweDM1LDB4MTEsMHhmNSwweDExLDB4ODAsMHhjYSwweDMwLDB4MjAsMHhmZCwweDEyfSB9LAoteyAgMTYsMHgwMjYwLDAsezB4MDEsMHgwMCwweDUwLDB4MDcsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDR9IH0sCi17ICAgNiwweDAyNzAsMCx7MHgwMiwweGYwLDB4YzIsMHgyMCwweDgwLDB4ZTZ9IH0sCi17ICAgMSwweDAyNzYsMCx7MHgyMn0gfSwKLXsgIDE2LDB4MDI3NywwLHsweGU1LDB4MGMsMHhmZiwweGU1LDB4MGIsMHhmNSwweDgyLDB4ZTUsMHgwYSwweGY1LDB4ODMsMHg3NSwweDkyLDB4N2UsMHg3NCwweGMwfSB9LAoteyAgIDgsMHgwMjg3LDAsezB4ZjgsMHhlMiwweDA4LDB4ZjAsMHhhMywweGRmLDB4ZmEsMHgyMn0gfSwKLXsgIDE2LDB4MDI4ZiwwLHsweDkwLDB4N2YsMHg5NiwweDg1LDB4ODMsMHg5MiwweGE4LDB4ODIsMHg3OSwweDAyLDB4OTAsMHgwMCwweDAwLDB4ZTAsMHhiNCwweDAwfSB9LAoteyAgMTYsMHgwMjlmLDAsezB4MzcsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDdmLDB4OTMsMHhlMCwweDU0LDB4ZmMsMHhmMCwweDkwLDB4N2YsMHg5NiwweGUwLDB4NTR9IH0sCi17ICAxNiwweDAyYWYsMCx7MHhmYywweGYwLDB4OTAsMHg3ZiwweDljLDB4ZTAsMHg0NCwweDAzLDB4ZjAsMHg5MCwweDdmLDB4OTQsMHhlMCwweDU0LDB4N2YsMHhmMH0gfSwKLXsgIDE2LDB4MDJiZiwwLHsweDkwLDB4N2YsMHg5NywweGUwLDB4NDQsMHg4MCwweGYwLDB4OTAsMHg3ZiwweDlkLDB4ZTAsMHg0NCwweDgwLDB4ZjAsMHg5MCwweDdmfSB9LAoteyAgMTYsMHgwMmNmLDAsezB4OTcsMHhlMCwweDU0LDB4N2YsMHhmMCwweDQ0LDB4ODAsMHhmMCwweGU1LDB4MGMsMHhmZiwweDkwLDB4N2UsMHhjMCwweGUwLDB4ZjV9IH0sCi17ICAxNiwweDAyZGYsMCx7MHgyOCwweGU0LDB4YTIsMHg0NywweDMzLDB4ZjIsMHg2OSwweGYyLDB4ZTQsMHhhMiwweDQ2LDB4MzMsMHhmMiwweDY5LDB4ZjIsMHhlNH0gfSwKLXsgIDE2LDB4MDJlZiwwLHsweGEyLDB4NDUsMHgzMywweGYyLDB4NjksMHhmMiwweGU0LDB4YTIsMHg0NCwweDMzLDB4ZjIsMHg2OSwweGYyLDB4ZTQsMHhhMiwweDQzfSB9LAoteyAgMTYsMHgwMmZmLDAsezB4MzMsMHhmMiwweDY5LDB4ZjIsMHhlNCwweGEyLDB4NDIsMHgzMywweGYyLDB4NjksMHhmMiwweGU0LDB4YTIsMHg0MSwweDMzLDB4ZjJ9IH0sCi17ICAxMywweDAzMGYsMCx7MHg2OSwweGYyLDB4ZTQsMHhhMiwweDQwLDB4MzMsMHhmMiwweDY5LDB4ZjIsMHhhMywweGRmLDB4YzIsMHgyMn0gfSwKLXsgIDEyLDB4MDMxYywwLHsweDc4LDB4N2YsMHhlNCwweGY2LDB4ZDgsMHhmZCwweDc1LDB4ODEsMHgyOSwweDAyLDB4MDMsMHg2M30gfSwKLXsgIDE2LDB4MDMyOCwwLHsweDAyLDB4MDEsMHhjMCwweGU0LDB4OTMsMHhhMywweGY4LDB4ZTQsMHg5MywweGEzLDB4NDAsMHgwMywweGY2LDB4ODAsMHgwMSwweGYyfSB9LAoteyAgMTYsMHgwMzM4LDAsezB4MDgsMHhkZiwweGY0LDB4ODAsMHgyOSwweGU0LDB4OTMsMHhhMywweGY4LDB4NTQsMHgwNywweDI0LDB4MGMsMHhjOCwweGMzLDB4MzN9IH0sCi17ICAxNiwweDAzNDgsMCx7MHhjNCwweDU0LDB4MGYsMHg0NCwweDIwLDB4YzgsMHg4MywweDQwLDB4MDQsMHhmNCwweDU2LDB4ODAsMHgwMSwweDQ2LDB4ZjYsMHhkZn0gfSwKLXsgIDE2LDB4MDM1OCwwLHsweGU0LDB4ODAsMHgwYiwweDAxLDB4MDIsMHgwNCwweDA4LDB4MTAsMHgyMCwweDQwLDB4ODAsMHg5MCwweDA0LDB4ODQsMHhlNCwweDdlfSB9LAoteyAgMTYsMHgwMzY4LDAsezB4MDEsMHg5MywweDYwLDB4YmMsMHhhMywweGZmLDB4NTQsMHgzZiwweDMwLDB4ZTUsMHgwOSwweDU0LDB4MWYsMHhmZSwweGU0LDB4OTN9IH0sCi17ICAxNiwweDAzNzgsMCx7MHhhMywweDYwLDB4MDEsMHgwZSwweGNmLDB4NTQsMHhjMCwweDI1LDB4ZTAsMHg2MCwweGE4LDB4NDAsMHhiOCwweGU0LDB4OTMsMHhhM30gfSwKLXsgIDE2LDB4MDM4OCwwLHsweGZhLDB4ZTQsMHg5MywweGEzLDB4ZjgsMHhlNCwweDkzLDB4YTMsMHhjOCwweGM1LDB4ODIsMHhjOCwweGNhLDB4YzUsMHg4MywweGNhfSB9LAoteyAgMTYsMHgwMzk4LDAsezB4ZjAsMHhhMywweGM4LDB4YzUsMHg4MiwweGM4LDB4Y2EsMHhjNSwweDgzLDB4Y2EsMHhkZiwweGU5LDB4ZGUsMHhlNywweDgwLDB4YmV9IH0sCi17ICAxNiwweDAzYTgsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg5MCwweDdmLDB4YzQsMHhlNCwweGYwLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3Zn0gfSwKLXsgIDExLDB4MDNiOCwwLHsweGFiLDB4NzQsMHgwNCwweGYwLDB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9IH0sCi17ICAxNiwweDAzYzMsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHhkMiwweDIwLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFiLDB4NzQsMHgwMX0gfSwKLXsgICA4LDB4MDNkMywwLHsweGYwLDB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9IH0sCi17ICAxNiwweDAzZGIsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWIsMHg3NCwweDAyLDB4ZjAsMHhkMH0gfSwKLXsgICA2LDB4MDNlYiwwLHsweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0gfSwKLXsgICAxLDB4MDNmMSwwLHsweDMyfSB9LAoteyAgIDEsMHgwM2YyLDAsezB4MzJ9IH0sCi17ICAgMSwweDAzZjMsMCx7MHgzMn0gfSwKLXsgICAxLDB4MDNmNCwwLHsweDMyfSB9LAoteyAgIDEsMHgwM2Y1LDAsezB4MzJ9IH0sCi17ICAgMSwweDAzZjYsMCx7MHgzMn0gfSwKLXsgICAxLDB4MDNmNywwLHsweDMyfSB9LAoteyAgIDEsMHgwM2Y4LDAsezB4MzJ9IH0sCi17ICAgMSwweDAzZjksMCx7MHgzMn0gfSwKLXsgICAxLDB4MDNmYSwwLHsweDMyfSB9LAoteyAgIDEsMHgwM2ZiLDAsezB4MzJ9IH0sCi17ICAgMSwweDAzZmMsMCx7MHgzMn0gfSwKLXsgICAxLDB4MDNmZCwwLHsweDMyfSB9LAoteyAgIDEsMHgwM2ZlLDAsezB4MzJ9IH0sCi17ICAgMSwweDAzZmYsMCx7MHgzMn0gfSwKLXsgIDE2LDB4MDQwMCwwLHsweDAyLDB4MDMsMHhjMywweDAwLDB4MDIsMHgwMywweGRiLDB4MDAsMHgwMiwweDAzLDB4YTgsMHgwMCwweDAyLDB4MDQsMHg2ZSwweDAwfSB9LAoteyAgMTYsMHgwNDEwLDAsezB4MDIsMHgwNCwweDU4LDB4MDAsMHgwMiwweDAzLDB4ZjEsMHgwMCwweDAyLDB4MDMsMHhmMiwweDAwLDB4MDIsMHgwMywweGYzLDB4MDB9IH0sCi17ICAxNiwweDA0MjAsMCx7MHgwMiwweDAzLDB4ZjQsMHgwMCwweDAyLDB4MDMsMHhmNSwweDAwLDB4MDIsMHgwMywweGY2LDB4MDAsMHgwMiwweDAzLDB4ZjcsMHgwMH0gfSwKLXsgIDE2LDB4MDQzMCwwLHsweDAyLDB4MDMsMHhmOCwweDAwLDB4MDIsMHgwMywweGY5LDB4MDAsMHgwMiwweDAzLDB4ZmEsMHgwMCwweDAyLDB4MDMsMHhmYiwweDAwfSB9LAoteyAgMTYsMHgwNDQwLDAsezB4MDIsMHgwMywweGZjLDB4MDAsMHgwMiwweDAzLDB4ZmQsMHgwMCwweDAyLDB4MDMsMHhmZSwweDAwLDB4MDIsMHgwMywweGZmLDB4MDB9IH0sCi17ICAgOCwweDA0NTAsMCx7MHgwMiwweDA0LDB4YWIsMHgwMCwweDAyLDB4MDQsMHhhYywweDAwfSB9LAoteyAgMTYsMHgwNDU4LDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFiLDB4NzQsMHgxMCwweGYwLDB4ZDB9IH0sCi17ICAgNiwweDA0NjgsMCx7MHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9IH0sCi17ICAxNiwweDA0NmUsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWIsMHg3NCwweDA4LDB4ZjAsMHhkMH0gfSwKLXsgICA2LDB4MDQ3ZSwwLHsweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0gfSwKLXsgIDE2LDB4MDQ4NCwwLHsweDAyLDB4MGEsMHgwMCwweDBmLDB4MDEsMHgwYywweDExLDB4MDQsMHgwZCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDEsMHgwMCwweDAwfSB9LAoteyAgIDEsMHgwNDk0LDAsezB4MDB9IH0sCi17ICAgNCwweDA0OTUsMCx7MHgwMiwweDE3LDB4MDAsMHgwMH0gfSwKLXsgICAxLDB4MDQ5OSwwLHsweDAwfSB9LAoteyAgMTYsMHgwNDlhLDAsezB4ZWIsMHg5ZiwweGY1LDB4ZjAsMHhlYSwweDllLDB4NDIsMHhmMCwweGU5LDB4OWQsMHg0MiwweGYwLDB4ZTgsMHg5YywweDQ1LDB4ZjB9IH0sCi17ICAgMSwweDA0YWEsMCx7MHgyMn0gfSwKLXsgICAxLDB4MDRhYiwwLHsweDMyfSB9LAoteyAgIDEsMHgwNGFjLDAsezB4MzJ9IH0sCi17ICAxNiwweDExMDAsMCx7MHgxMiwweDAxLDB4MTAsMHgwMSwweDAwLDB4MDAsMHgwMCwweDQwLDB4NmEsMHgwOCwweDAxLDB4MDEsMHgwMCwweDAxLDB4MDEsMHgwMn0gfSwKLXsgIDE2LDB4MTExMCwwLHsweDAwLDB4MDEsMHgwOSwweDAyLDB4MjAsMHgwMCwweDAxLDB4MDEsMHgwMywweGEwLDB4MDAsMHgwOSwweDA0LDB4MDAsMHgwMCwweDAyfSB9LAoteyAgMTYsMHgxMTIwLDAsezB4ZmYsMHgwMCwweDAwLDB4MDQsMHgwNywweDA1LDB4ODIsMHgwMiwweDQwLDB4MDAsMHgwMCwweDA3LDB4MDUsMHgwMiwweDAyLDB4NDB9IH0sCi17ICAxNiwweDExMzAsMCx7MHgwMCwweDAwLDB4MDQsMHgwMywweDA5LDB4MDQsMHgyNiwweDAzLDB4NDEsMHgwMCwweDZlLDB4MDAsMHg2MywweDAwLDB4NjgsMHgwMH0gfSwKLXsgIDE2LDB4MTE0MCwwLHsweDZmLDB4MDAsMHg3MiwweDAwLDB4MjAsMHgwMCwweDQzLDB4MDAsMHg2OCwweDAwLDB4NjksMHgwMCwweDcwLDB4MDAsMHg3MywweDAwfSB9LAoteyAgMTYsMHgxMTUwLDAsezB4MmMsMHgwMCwweDIwLDB4MDAsMHg0OSwweDAwLDB4NmUsMHgwMCwweDYzLDB4MDAsMHgyZSwweDAwLDB4MjgsMHgwMywweDQ2LDB4MDB9IH0sCi17ICAxNiwweDExNjAsMCx7MHg2OSwweDAwLDB4NzIsMHgwMCwweDZkLDB4MDAsMHg3NywweDAwLDB4NjEsMHgwMCwweDcyLDB4MDAsMHg2NSwweDAwLDB4MjAsMHgwMH0gfSwKLXsgIDE2LDB4MTE3MCwwLHsweDQ2LDB4MDAsMHg3MiwweDAwLDB4NjEsMHgwMCwweDZkLDB4MDAsMHg2NSwweDAwLDB4NTcsMHgwMCwweDZmLDB4MDAsMHg3MiwweDAwfSB9LAoteyAgMTYsMHgxMTgwLDAsezB4NmIsMHgwMCwweDczLDB4MDAsMHgyYSwweDAzLDB4NDMsMHgwMCwweDZmLDB4MDAsMHg2ZSwweDAwLDB4NjYsMHgwMCwweDY5LDB4MDB9IH0sCi17ICAxNiwweDExOTAsMCx7MHg2NywweDAwLDB4NzUsMHgwMCwweDcyLDB4MDAsMHg2MSwweDAwLDB4NzQsMHgwMCwweDY5LDB4MDAsMHg2ZiwweDAwLDB4NmUsMHgwMH0gfSwKLXsgIDE2LDB4MTFhMCwwLHsweDIwLDB4MDAsMHg1MywweDAwLDB4NzQsMHgwMCwweDcyLDB4MDAsMHg2OSwweDAwLDB4NmUsMHgwMCwweDY3LDB4MDAsMHgyMiwweDAzfSB9LAoteyAgMTYsMHgxMWIwLDAsezB4NDksMHgwMCwweDZlLDB4MDAsMHg3NCwweDAwLDB4NjUsMHgwMCwweDcyLDB4MDAsMHg2NiwweDAwLDB4NjEsMHgwMCwweDYzLDB4MDB9IH0sCi17ICAxNiwweDExYzAsMCx7MHg2NSwweDAwLDB4MjAsMHgwMCwweDUzLDB4MDAsMHg3NCwweDAwLDB4NzIsMHgwMCwweDY5LDB4MDAsMHg2ZSwweDAwLDB4NjcsMHgwMH0gfSwKLXsgICAyLDB4MTFkMCwwLHsweDAwLDB4MDB9IH0sCi17ICAgMCwweDAwMDAsMSx7MCB9fQotfTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL21pc2MvZW1pNjIuYyBiL2RyaXZlcnMvdXNiL21pc2MvZW1pNjIuYwppbmRleCAxYTJiNzlhLi4yMDg4NmMyIDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9taXNjL2VtaTYyLmMKKysrIGIvZHJpdmVycy91c2IvbWlzYy9lbWk2Mi5jCkBAIC0xNiwxNSArMTYsOCBAQAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L3VzYi5oPgogI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+Ci0KLSNkZWZpbmUgTUFYX0lOVEVMX0hFWF9SRUNPUkRfTEVOR1RIIDE2Ci10eXBlZGVmIHN0cnVjdCBfSU5URUxfSEVYX1JFQ09SRAotewotCV9fdTMyCWxlbmd0aDsKLQlfX3UzMglhZGRyZXNzOwotCV9fdTMyCXR5cGU7Ci0JX191OAlkYXRhW01BWF9JTlRFTF9IRVhfUkVDT1JEX0xFTkdUSF07Ci19IElOVEVMX0hFWF9SRUNPUkQsICpQSU5URUxfSEVYX1JFQ09SRDsKKyNpbmNsdWRlIDxsaW51eC9maXJtd2FyZS5oPgorI2luY2x1ZGUgPGxpbnV4L2loZXguaD4KIAogLyogaW5jbHVkZSBmaXJtd2FyZSAodmFyaWFibGVzKSovCiAKQEAgLTMzLDkgKzI2LDkgQEAKIC8vI3VuZGVmIFNQRElGCS8qIGlmIHlvdSB3YW50IE1JREkgdW5jb21tZW50IHRoaXMgbGluZSAqLyAKIAogI2lmZGVmIFNQRElGCi0jICBpbmNsdWRlICJlbWk2Ml9md19zLmgiIC8qIHNwZGlmIGZ3ICovCisjZGVmaW5lIEZJUk1XQVJFX0ZXICJlbWk2Mi9zcGRpZi5mdyIKICNlbHNlCi0jICBpbmNsdWRlICJlbWk2Ml9md19tLmgiIC8qIG1pZGkgZncgKi8KKyNkZWZpbmUgRklSTVdBUkVfRlcgImVtaTYyL21pZGkuZnciCiAjZW5kaWYKIAogI2RlZmluZSBFTUk2Ml9WRU5ET1JfSUQgCQkweDA4NmEgIC8qIEVtYWdpYyBTb2Z0LXVuZCBIYXJkd2FyZSBHbUJIICovCkBAIC00OCw3ICs0MSw5IEBACiAjZGVmaW5lIENQVUNTX1JFRwkJMHg3RjkyICAvKiBFWi1VU0IgQ29udHJvbCBhbmQgU3RhdHVzIFJlZ2lzdGVyLiAgQml0IDAgY29udHJvbHMgODA1MSByZXNldCAqLyAKICNkZWZpbmUgSU5URVJOQUxfUkFNKGFkZHJlc3MpICAgKGFkZHJlc3MgPD0gTUFYX0lOVEVSTkFMX0FERFJFU1MpCiAKLXN0YXRpYyBpbnQgZW1pNjJfd3JpdGVtZW1vcnkoIHN0cnVjdCB1c2JfZGV2aWNlICpkZXYsIGludCBhZGRyZXNzLCB1bnNpZ25lZCBjaGFyICpkYXRhLCBpbnQgbGVuZ3RoLCBfX3U4IGJSZXF1ZXN0KTsKK3N0YXRpYyBpbnQgZW1pNjJfd3JpdGVtZW1vcnkoc3RydWN0IHVzYl9kZXZpY2UgKmRldiwgaW50IGFkZHJlc3MsCisJCQkgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmRhdGEsIGludCBsZW5ndGgsCisJCQkgICAgIF9fdTggYlJlcXVlc3QpOwogc3RhdGljIGludCBlbWk2Ml9zZXRfcmVzZXQoc3RydWN0IHVzYl9kZXZpY2UgKmRldiwgdW5zaWduZWQgY2hhciByZXNldF9iaXQpOwogc3RhdGljIGludCBlbWk2Ml9sb2FkX2Zpcm13YXJlIChzdHJ1Y3QgdXNiX2RldmljZSAqZGV2KTsKIHN0YXRpYyBpbnQgZW1pNjJfcHJvYmUoc3RydWN0IHVzYl9pbnRlcmZhY2UgKmludGYsIGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkICppZCk7CkBAIC01OCw3ICs1Myw5IEBACiAKIAogLyogdGhhbmtzIHRvIGRyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3BkYS5jIGNvZGUgKi8KLXN0YXRpYyBpbnQgZW1pNjJfd3JpdGVtZW1vcnkgKHN0cnVjdCB1c2JfZGV2aWNlICpkZXYsIGludCBhZGRyZXNzLCB1bnNpZ25lZCBjaGFyICpkYXRhLCBpbnQgbGVuZ3RoLCBfX3U4IHJlcXVlc3QpCitzdGF0aWMgaW50IGVtaTYyX3dyaXRlbWVtb3J5KHN0cnVjdCB1c2JfZGV2aWNlICpkZXYsIGludCBhZGRyZXNzLAorCQkJICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpkYXRhLCBpbnQgbGVuZ3RoLAorCQkJICAgICBfX3U4IHJlcXVlc3QpCiB7CiAJaW50IHJlc3VsdDsKIAl1bnNpZ25lZCBjaGFyICpidWZmZXIgPSAga21lbWR1cChkYXRhLCBsZW5ndGgsIEdGUF9LRVJORUwpOwpAQCAtOTEsOSArODgsMTIgQEAKIAogc3RhdGljIGludCBlbWk2Ml9sb2FkX2Zpcm13YXJlIChzdHJ1Y3QgdXNiX2RldmljZSAqZGV2KQogeworCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqbG9hZGVyX2Z3ID0gTlVMTDsKKwljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmJpdHN0cmVhbV9mdyA9IE5VTEw7CisJY29uc3Qgc3RydWN0IGZpcm13YXJlICpmaXJtd2FyZV9mdyA9IE5VTEw7CisJY29uc3Qgc3RydWN0IGloZXhfYmlucmVjICpyZWM7CiAJaW50IGVycjsKIAlpbnQgaTsKLQlpbnQgcG9zID0gMDsJLyogUG9zaXRpb24gaW4gaGV4IHJlY29yZCAqLwogCV9fdTMyIGFkZHI7CS8qIEFkZHJlc3MgdG8gd3JpdGUgKi8KIAlfX3U4ICpidWY7CiAKQEAgLTEwNSw2ICsxMDUsMjIgQEAKIAkJZ290byB3cmFwZXJyOwogCX0KIAorCWVyciA9IHJlcXVlc3RfaWhleF9maXJtd2FyZSgmbG9hZGVyX2Z3LCAiZW1pNjIvbG9hZGVyLmZ3IiwgJmRldi0+ZGV2KTsKKwlpZiAoZXJyKQorCQlnb3RvIG5vZnc7CisKKwllcnIgPSByZXF1ZXN0X2loZXhfZmlybXdhcmUoJmJpdHN0cmVhbV9mdywgImVtaTYyL2JpdHN0cmVhbS5mdyIsCisJCQkJICAgICZkZXYtPmRldik7CisJaWYgKGVycikKKwkJZ290byBub2Z3OworCisJZXJyID0gcmVxdWVzdF9paGV4X2Zpcm13YXJlKCZmaXJtd2FyZV9mdywgRklSTVdBUkVfRlcsICZkZXYtPmRldik7CisJaWYgKGVycikgeworCW5vZnc6CisJCWVyciggIiVzIC0gcmVxdWVzdF9maXJtd2FyZSgpIGZhaWxlZCIsIF9fZnVuY19fKTsKKwkJZ290byB3cmFwZXJyOworCX0KKwogCS8qIEFzc2VydCByZXNldCAoc3RvcCB0aGUgQ1BVIGluIHRoZSBFTUkpICovCiAJZXJyID0gZW1pNjJfc2V0X3Jlc2V0KGRldiwxKTsKIAlpZiAoZXJyIDwgMCkgewpAQCAtMTEyLDEzICsxMjgsMTggQEAKIAkJZ290byB3cmFwZXJyOwogCX0KIAorCXJlYyA9IChjb25zdCBzdHJ1Y3QgaWhleF9iaW5yZWMgKilsb2FkZXJfZnctPmRhdGE7CisKIAkvKiAxLiBXZSBuZWVkIHRvIHB1dCB0aGUgbG9hZGVyIGZvciB0aGUgRlBHQSBpbnRvIHRoZSBFWi1VU0IgKi8KLQlmb3IgKGk9MDsgZ19lbWk2Ml9sb2FkZXJbaV0udHlwZSA9PSAwOyBpKyspIHsKLQkJZXJyID0gZW1pNjJfd3JpdGVtZW1vcnkoZGV2LCBnX2VtaTYyX2xvYWRlcltpXS5hZGRyZXNzLCBnX2VtaTYyX2xvYWRlcltpXS5kYXRhLCBnX2VtaTYyX2xvYWRlcltpXS5sZW5ndGgsIEFOQ0hPUl9MT0FEX0lOVEVSTkFMKTsKKwl3aGlsZSAocmVjKSB7CisJCWVyciA9IGVtaTYyX3dyaXRlbWVtb3J5KGRldiwgYmUzMl90b19jcHUocmVjLT5hZGRyKSwKKwkJCQkJcmVjLT5kYXRhLCBiZTE2X3RvX2NwdShyZWMtPmxlbiksCisJCQkJCUFOQ0hPUl9MT0FEX0lOVEVSTkFMKTsKIAkJaWYgKGVyciA8IDApIHsKIAkJCWVycigiJXMgLSBlcnJvciBsb2FkaW5nIGZpcm13YXJlOiBlcnJvciA9ICVkIiwgX19mdW5jX18sIGVycik7CiAJCQlnb3RvIHdyYXBlcnI7CiAJCX0KKwkJcmVjID0gaWhleF9uZXh0X2JpbnJlYyhyZWMpOwogCX0KIAogCS8qIERlLWFzc2VydCByZXNldCAobGV0IHRoZSBDUFUgcnVuKSAqLwpAQCAtMTMyLDE1ICsxNTMsMTYgQEAKIAkvKiAyLiBXZSB1cGxvYWQgdGhlIEZQR0EgZmlybXdhcmUgaW50byB0aGUgRU1JCiAJICogTm90ZTogY29sbGVjdCB1cCB0byAxMDIzICh5ZXMhKSBieXRlcyBhbmQgc2VuZCB0aGVtIHdpdGgKIAkgKiBhIHNpbmdsZSByZXF1ZXN0LiBUaGlzIGlzIF9tdWNoXyBmYXN0ZXIhICovCisJcmVjID0gKGNvbnN0IHN0cnVjdCBpaGV4X2JpbnJlYyAqKWJpdHN0cmVhbV9mdy0+ZGF0YTsKIAlkbyB7CiAJCWkgPSAwOwotCQlhZGRyID0gZ19lbWk2MmJzW3Bvc10uYWRkcmVzczsKKwkJYWRkciA9IGJlMzJfdG9fY3B1KHJlYy0+YWRkcik7CiAKIAkJLyogaW50ZWwgaGV4IHJlY29yZHMgYXJlIHRlcm1pbmF0ZWQgd2l0aCB0eXBlIDAgZWxlbWVudCAqLwotCQl3aGlsZSAoKGdfZW1pNjJic1twb3NdLnR5cGUgPT0gMCkgJiYgKGkgKyBnX2VtaTYyYnNbcG9zXS5sZW5ndGggPCBGV19MT0FEX1NJWkUpKSB7Ci0JCQltZW1jcHkoYnVmICsgaSwgZ19lbWk2MmJzW3Bvc10uZGF0YSwgZ19lbWk2MmJzW3Bvc10ubGVuZ3RoKTsKLQkJCWkgKz0gZ19lbWk2MmJzW3Bvc10ubGVuZ3RoOwotCQkJcG9zKys7CisJCXdoaWxlIChyZWMgJiYgKGkgKyBiZTE2X3RvX2NwdShyZWMtPmxlbikgPCBGV19MT0FEX1NJWkUpKSB7CisJCQltZW1jcHkoYnVmICsgaSwgcmVjLT5kYXRhLCBiZTE2X3RvX2NwdShyZWMtPmxlbikpOworCQkJaSArPSBiZTE2X3RvX2NwdShyZWMtPmxlbik7CisJCQlyZWMgPSBpaGV4X25leHRfYmlucmVjKHJlYyk7CiAJCX0KIAkJZXJyID0gZW1pNjJfd3JpdGVtZW1vcnkoZGV2LCBhZGRyLCBidWYsIGksIEFOQ0hPUl9MT0FEX0ZQR0EpOwogCQlpZiAoZXJyIDwgMCkgewpAQCAtMTU3LDggKzE3OSwxMSBAQAogCX0KIAogCS8qIDMuIFdlIG5lZWQgdG8gcHV0IHRoZSBsb2FkZXIgZm9yIHRoZSBmaXJtd2FyZSBpbnRvIHRoZSBFWi1VU0IgKGFnYWluLi4uKSAqLwotCWZvciAoaT0wOyBnX2VtaTYyX2xvYWRlcltpXS50eXBlID09IDA7IGkrKykgewotCQllcnIgPSBlbWk2Ml93cml0ZW1lbW9yeShkZXYsIGdfZW1pNjJfbG9hZGVyW2ldLmFkZHJlc3MsIGdfZW1pNjJfbG9hZGVyW2ldLmRhdGEsIGdfZW1pNjJfbG9hZGVyW2ldLmxlbmd0aCwgQU5DSE9SX0xPQURfSU5URVJOQUwpOworCWZvciAocmVjID0gKGNvbnN0IHN0cnVjdCBpaGV4X2JpbnJlYyAqKWxvYWRlcl9mdy0+ZGF0YTsKKwkgICAgIHJlYzsgcmVjID0gaWhleF9uZXh0X2JpbnJlYyhyZWMpKSB7CisJCWVyciA9IGVtaTYyX3dyaXRlbWVtb3J5KGRldiwgYmUzMl90b19jcHUocmVjLT5hZGRyKSwKKwkJCQkJcmVjLT5kYXRhLCBiZTE2X3RvX2NwdShyZWMtPmxlbiksCisJCQkJCUFOQ0hPUl9MT0FEX0lOVEVSTkFMKTsKIAkJaWYgKGVyciA8IDApIHsKIAkJCWVycigiJXMgLSBlcnJvciBsb2FkaW5nIGZpcm13YXJlOiBlcnJvciA9ICVkIiwgX19mdW5jX18sIGVycik7CiAJCQlnb3RvIHdyYXBlcnI7CkBAIC0xNzUsMjkgKzIwMCwxOSBAQAogCiAJLyogNC4gV2UgcHV0IHRoZSBwYXJ0IG9mIHRoZSBmaXJtd2FyZSB0aGF0IGxpZXMgaW4gdGhlIGV4dGVybmFsIFJBTSBpbnRvIHRoZSBFWi1VU0IgKi8KIAotLyogRklYTUU6IHF1aWNrIGFuZCBkaXJ0eSBpZmRlZnMgKi8KLSNpZmRlZiBTUERJRgotCWZvciAoaT0wOyBnX0hleFNwZGlmRnc2MltpXS50eXBlID09IDA7IGkrKykgewotCQlpZiAoIUlOVEVSTkFMX1JBTShnX0hleFNwZGlmRnc2MltpXS5hZGRyZXNzKSkgewotCQkJZXJyID0gZW1pNjJfd3JpdGVtZW1vcnkoZGV2LCBnX0hleFNwZGlmRnc2MltpXS5hZGRyZXNzLCBnX0hleFNwZGlmRnc2MltpXS5kYXRhLCBnX0hleFNwZGlmRnc2MltpXS5sZW5ndGgsIEFOQ0hPUl9MT0FEX0VYVEVSTkFMKTsKKwlmb3IgKHJlYyA9IChjb25zdCBzdHJ1Y3QgaWhleF9iaW5yZWMgKilmaXJtd2FyZV9mdy0+ZGF0YTsKKwkgICAgIHJlYzsgcmVjID0gaWhleF9uZXh0X2JpbnJlYyhyZWMpKSB7CisJCWlmICghSU5URVJOQUxfUkFNKGJlMzJfdG9fY3B1KHJlYy0+YWRkcikpKSB7CisJCQllcnIgPSBlbWk2Ml93cml0ZW1lbW9yeShkZXYsIGJlMzJfdG9fY3B1KHJlYy0+YWRkciksCisJCQkJCQlyZWMtPmRhdGEsIGJlMTZfdG9fY3B1KHJlYy0+bGVuKSwKKwkJCQkJCUFOQ0hPUl9MT0FEX0VYVEVSTkFMKTsKIAkJCWlmIChlcnIgPCAwKSB7CiAJCQkJZXJyKCIlcyAtIGVycm9yIGxvYWRpbmcgZmlybXdhcmU6IGVycm9yID0gJWQiLCBfX2Z1bmNfXywgZXJyKTsKIAkJCQlnb3RvIHdyYXBlcnI7CiAJCQl9CiAJCX0KIAl9Ci0jZWxzZSAvKiBNSURJICovCi0JZm9yIChpPTA7IGdfSGV4TWlkaUZ3NjJbaV0udHlwZSA9PSAwOyBpKyspIHsKLQkJaWYgKCFJTlRFUk5BTF9SQU0oZ19IZXhNaWRpRnc2MltpXS5hZGRyZXNzKSkgewotCQkJZXJyID0gZW1pNjJfd3JpdGVtZW1vcnkoZGV2LCBnX0hleE1pZGlGdzYyW2ldLmFkZHJlc3MsIGdfSGV4TWlkaUZ3NjJbaV0uZGF0YSwgZ19IZXhNaWRpRnc2MltpXS5sZW5ndGgsIEFOQ0hPUl9MT0FEX0VYVEVSTkFMKTsKLQkJCWlmIChlcnIgPCAwKSB7Ci0JCQkJZXJyKCIlcyAtIGVycm9yIGxvYWRpbmcgZmlybXdhcmU6IGVycm9yID0gJWRcbiIsIF9fZnVuY19fLCBlcnIpOwotCQkJCWdvdG8gd3JhcGVycjsKLQkJCQlyZXR1cm4gZXJyOwotCQkJfQotCQl9Ci0JfQotI2VuZGlmCQorCiAJLyogQXNzZXJ0IHJlc2V0IChzdG9wIHRoZSBDUFUgaW4gdGhlIEVNSSkgKi8KIAllcnIgPSBlbWk2Ml9zZXRfcmVzZXQoZGV2LDEpOwogCWlmIChlcnIgPCAwKSB7CkBAIC0yMDUsMjkgKzIyMCwxOSBAQAogCQlnb3RvIHdyYXBlcnI7CiAJfQogCi0vKiBGSVhNRTogcXVpY2sgYW5kIGRpcnR5IGlmZGVmcyAqLwotI2lmZGVmIFNQRElGCi0JZm9yIChpPTA7IGdfSGV4U3BkaWZGdzYyW2ldLnR5cGUgPT0gMDsgaSsrKSB7Ci0JCWlmIChJTlRFUk5BTF9SQU0oZ19IZXhTcGRpZkZ3NjJbaV0uYWRkcmVzcykpIHsKLQkJCWVyciA9IGVtaTYyX3dyaXRlbWVtb3J5KGRldiwgZ19IZXhTcGRpZkZ3NjJbaV0uYWRkcmVzcywgZ19IZXhTcGRpZkZ3NjJbaV0uZGF0YSwgZ19IZXhTcGRpZkZ3NjJbaV0ubGVuZ3RoLCBBTkNIT1JfTE9BRF9JTlRFUk5BTCk7CisJZm9yIChyZWMgPSAoY29uc3Qgc3RydWN0IGloZXhfYmlucmVjICopZmlybXdhcmVfZnctPmRhdGE7CisJICAgICByZWM7IHJlYyA9IGloZXhfbmV4dF9iaW5yZWMocmVjKSkgeworCQlpZiAoSU5URVJOQUxfUkFNKGJlMzJfdG9fY3B1KHJlYy0+YWRkcikpKSB7CisJCQllcnIgPSBlbWk2Ml93cml0ZW1lbW9yeShkZXYsIGJlMzJfdG9fY3B1KHJlYy0+YWRkciksCisJCQkJCQlyZWMtPmRhdGEsIGJlMTZfdG9fY3B1KHJlYy0+bGVuKSwKKwkJCQkJCUFOQ0hPUl9MT0FEX0VYVEVSTkFMKTsKIAkJCWlmIChlcnIgPCAwKSB7CiAJCQkJZXJyKCIlcyAtIGVycm9yIGxvYWRpbmcgZmlybXdhcmU6IGVycm9yID0gJWQiLCBfX2Z1bmNfXywgZXJyKTsKIAkJCQlnb3RvIHdyYXBlcnI7CiAJCQl9CiAJCX0KIAl9Ci0jZWxzZSAvKiBNSURJICovCi0JZm9yIChpPTA7IGdfSGV4TWlkaUZ3NjJbaV0udHlwZSA9PSAwOyBpKyspIHsKLQkJaWYgKElOVEVSTkFMX1JBTShnX0hleE1pZGlGdzYyW2ldLmFkZHJlc3MpKSB7Ci0JCQllcnIgPSBlbWk2Ml93cml0ZW1lbW9yeShkZXYsIGdfSGV4TWlkaUZ3NjJbaV0uYWRkcmVzcywgZ19IZXhNaWRpRnc2MltpXS5kYXRhLCBnX0hleE1pZGlGdzYyW2ldLmxlbmd0aCwgQU5DSE9SX0xPQURfSU5URVJOQUwpOwotCQkJaWYgKGVyciA8IDApIHsKLQkJCQllcnIoIiVzIC0gZXJyb3IgbG9hZGluZyBmaXJtd2FyZTogZXJyb3IgPSAlZFxuIiwgX19mdW5jX18sIGVycik7Ci0JCQkJZ290byB3cmFwZXJyOwotCQkJfQotCQl9Ci0JfQotI2VuZGlmCi0JCisKIAkvKiBEZS1hc3NlcnQgcmVzZXQgKGxldCB0aGUgQ1BVIHJ1bikgKi8KIAllcnIgPSBlbWk2Ml9zZXRfcmVzZXQoZGV2LDApOwogCWlmIChlcnIgPCAwKSB7CkBAIC0yMzYsNiArMjQxLDEwIEBACiAJfQogCW1zbGVlcCgyNTApOwkvKiBsZXQgZGV2aWNlIHNldHRsZSAqLwogCisJcmVsZWFzZV9maXJtd2FyZShsb2FkZXJfZncpOworCXJlbGVhc2VfZmlybXdhcmUoYml0c3RyZWFtX2Z3KTsKKwlyZWxlYXNlX2Zpcm13YXJlKGZpcm13YXJlX2Z3KTsKKwogCWtmcmVlKGJ1Zik7CiAKIAkvKiByZXR1cm4gMSB0byBmYWlsIHRoZSBkcml2ZXIgaW5pYWxpemF0aW9uCkBAIC0yNDMsNiArMjUyLDEwIEBACiAJcmV0dXJuIDE7CiAKIHdyYXBlcnI6CisJcmVsZWFzZV9maXJtd2FyZShsb2FkZXJfZncpOworCXJlbGVhc2VfZmlybXdhcmUoYml0c3RyZWFtX2Z3KTsKKwlyZWxlYXNlX2Zpcm13YXJlKGZpcm13YXJlX2Z3KTsKKwogCWtmcmVlKGJ1Zik7CiAJZGV2X2VycigmZGV2LT5kZXYsICJFcnJvclxuIik7CiAJcmV0dXJuIGVycjsKQEAgLTMwMCw1ICszMTMsOCBAQAogTU9EVUxFX0RFU0NSSVBUSU9OKCJFbWFnaWMgRU1JIDZ8Mm0gZmlybXdhcmUgbG9hZGVyLiIpOwogTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwogCitNT0RVTEVfRklSTVdBUkUoImVtaTYyL2xvYWRlci5mdyIpOworTU9EVUxFX0ZJUk1XQVJFKCJlbWk2Mi9iaXRzdHJlYW0uZnciKTsKK01PRFVMRV9GSVJNV0FSRShGSVJNV0FSRV9GVyk7CiAvKiB2aTphaTpzeW50YXg9Yzpzdz04OnRzPTg6dHc9ODAKICAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvbWlzYy9lbWk2Ml9md19tLmggYi9kcml2ZXJzL3VzYi9taXNjL2VtaTYyX2Z3X20uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzU2N2M5MDAuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy91c2IvbWlzYy9lbWk2Ml9md19tLmgKKysrIC9kZXYvbnVsbApAQCAtMSw4ODUzICswLDAgQEAKLS8qCi0gKiBUaGlzIGZpbGUgaXMgZ2VuZXJhdGVkIGZyb20gdGhyZWUgZGlmZmVyZW50IGZpbGVzLCBwcm92aWRlZCBieSBFbWFnaWMuCi0gKi8KLS8qIGdlbmVyYXRlZCBUdWUgSnVuIDMgMjE6MzY6MTEgRUVTVCAyMDAzICovCi0KLXN0YXRpYyBJTlRFTF9IRVhfUkVDT1JEIGdfZW1pNjJic1tdPXsKLSAgMTYsIDB4ODAxMCwgMCwgezB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhhYSwweDk5LDB4NTUsMHg2NiwweDMwLDB4MDAsMHg4MCwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDcgfSwKLSAgMTYsIDB4ODAyMCwgMCwgezB4MzAsMHgwMSwweDYwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwZCwweDMwLDB4MDEsMHgyMCwweDAxLDB4MDAsMHg4MCwweDNmLDB4MmQgfSwKLSAgMTYsIDB4ODAzMCwgMCwgezB4MzAsMHgwMCwweGMwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDMwLDB4MDAsMHg4MCwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDkgfSwKLSAgMTYsIDB4ODA0MCwgMCwgezB4MzAsMHgwMCwweDIwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDMwLDB4MDAsMHg4MCwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDEgfSwKLSAgMTYsIDB4ODA1MCwgMCwgezB4MzAsMHgwMCwweDQwLDB4MDAsMHg1MCwweDAwLDB4NTgsMHgxYSwweDgwLDB4MTIsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODA2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODA3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODA4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHg0MCwweDA0LDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODA5MCwgMCwgezB4MDAsMHgxMiwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODBhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODBiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4NDggfSwKLSAgMTYsIDB4ODBjMCwgMCwgezB4MDQsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODBkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODBlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODBmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODEwMCwgMCwgezB4MDAsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODExMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODEyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODEzMCwgMCwgezB4MDAsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODE0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODE1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODE2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA0LDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODE3MCwgMCwgezB4ODAsMHgxMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODE4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODE5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODFhMCwgMCwgezB4MDAsMHg5MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODFiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODFjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODFkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4OTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODFlMCwgMCwgezB4N2YsMHgxMCwweDAwLDB4MzQsMHgwMCwweDBkLDB4MDAsMHgwMywweDQwLDB4MDAsMHhkMCwweDAwLDB4MzQsMHgwMCwweDA1LDB4MDAgfSwKLSAgMTYsIDB4ODFmMCwgMCwgezB4MDcsMHg0MCwweDAxLDB4ZDAsMHgwMCwweDc0LDB4MDAsMHgxZCwweDAwLDB4MDcsMHg0MCwweDAxLDB4ZDAsMHgwMCwweDc0LDB4MDAgfSwKLSAgMTYsIDB4ODIwMCwgMCwgezB4MWQsMHg4MCwweDA3LDB4ZTAsMHgwMSwweGI4LDB4MDAsMHg2ZSwweDAwLDB4MWIsMHg4MCwweDA2LDB4ZTAsMHgwMSwweDM4LDB4MzcgfSwKLSAgMTYsIDB4ODIxMCwgMCwgezB4YzQsMHg5MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDEsMHhmYywweDgwLDB4ZmIsMHgzMCwweDM2LDB4YzggfSwKLSAgMTYsIDB4ODIyMCwgMCwgezB4NGUsMHgwOSwweDAzLDB4ZmMsMHg4NCwweGZmLDB4MTAsMHgzYiwweGMwLDB4MGUsMHhjOCwweDA3LDB4MjIsMHg4MCwweGZmLDB4MjIgfSwKLSAgMTYsIDB4ODIzMCwgMCwgezB4MzMsMHhjMCwweDBmLDB4YzgsMHgzMywweDZlLDB4MDAsMHhmYiwweDgwLDB4M2YsMHgyMCwweDBkLDB4YzIsMHg1MywweGQ0LDB4ODAgfSwKLSAgMTYsIDB4ODI0MCwgMCwgezB4Y2MsMHgzYSwweDNmLDB4MDAsMHgwYywweGYxLDB4MDMsMHhmMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODI1MCwgMCwgezB4ODAsMHgwMCwweGVkLDB4NjAsMHhiZiwweDYwLDB4MjMsMHhmMCwweDBkLDB4ODIsMHgxMiwweDNjLDB4NjAsMHg4ZiwweDcwLDB4MjMgfSwKLSAgMTYsIDB4ODI2MCwgMCwgezB4ZjAsMHgwOCwweDg4LDB4MDIsMHhhNSwweDQwLDB4YmYsMHhkMCwweDYzLDB4ZDYsMHgwYiwweDg4LDB4MDIsMHgyZSwweDBjLDB4YmIgfSwKLSAgMTYsIDB4ODI3MCwgMCwgezB4ODAsMHgyZSwweDIwLDB4ODgsMHg4ZCwweDAyLDB4ZTYsMHg0MCwweDgwLDB4NjAsMHgyZSwweDMwLDB4MGEsMHhiMSwweDEyLDB4MjAgfSwKLSAgMTYsIDB4ODI4MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDgwLDB4YTMsMHg0MCwweDJjLDB4YzQgfSwKLSAgMTYsIDB4ODI5MCwgMCwgezB4NGEsMHgwMCwweDEyLDB4OGMsMHg4OCwweGEzLDB4MjIsMHgyMCwweGM0LDB4MGEsMHg5MCwweDQyLDB4MDQsMHhhOSwweGEzLDB4MDAgfSwKLSAgMTYsIDB4ODJhMCwgMCwgezB4MjQsMHhjOCwweDhiLDB4ODAsMHgwMiwweGNjLDB4MDAsMHhiMywweDAwLDB4MmUsMHgwMSwweDA5LDB4MDgsMHgwMiwweDg0LDB4MDAgfSwKLSAgMTYsIDB4ODJiMCwgMCwgezB4ODAsMHgyMCwweDJjLDB4MTAsMHgwYSwweDMyLDB4NDIsMHgyMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODJjMCwgMCwgezB4YzAsMHgxNSwweGFjLDB4MDQsMHhiMywweDAwLDB4MmEsMHhjMCwweDA4LDB4MDgsMHhhMiwweDhjLDB4MDAsMHg4YiwweDAwLDB4YTIgfSwKLSAgMTYsIDB4ODJkMCwgMCwgezB4YzEsMHgxMCwweDk4LDB4NDIsMHhhNywweDAwLDB4YmIsMHgwMSwweDY2LDB4YzEsMHgwYiwweDgwLDB4MDIsMHhhYywweDA0LDB4YmIgfSwKLSAgMTYsIDB4ODJlMCwgMCwgezB4MDAsMHgyZSwweDAwLDB4MGIsMHhiOCwweDEyLDB4ZTQsMHgwMiwweDg5LDB4MDgsMHgwZSwweDQwLDB4MGEsMHhiMCwweDAyLDB4MzAgfSwKLSAgMTYsIDB4ODJmMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHhhYywweDAwLDB4ZWIsMHgwMCwweDNlLDB4YzAgfSwKLSAgMTYsIDB4ODMwMCwgMCwgezB4NGEsMHhiOCwweDIzLDB4ZWMsMHgxOCwweGViLDB4MDAsMHgzMiwweGMwLDB4MGUsMHgyYywweDEyLDB4MjIsMHgxMCwweGViLDB4MDAgfSwKLSAgMTYsIDB4ODMxMCwgMCwgezB4MjYsMHhjMCwweDRmLDB4MDAsMHg0MywweGVkLDB4MDAsMHhmYiwweDAwLDB4MmUsMHgyNCwweDBkLDB4ODAsMHgxMywweGU0LDB4MDAgfSwKLSAgMTYsIDB4ODMyMCwgMCwgezB4YzgsMHhkMCwweDdjLDB4MTIsMHgwZSwweGIwLDB4MDMsMHg0MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODMzMCwgMCwgezB4ZTEsMHgwMCwweGJjLDB4MDAsMHhmZiwweDAwLDB4MzUsMHhjMCwweDRmLDB4ZTAsMHgwMywweDdjLDB4MDgsMHhmZiwweDAxLDB4MTcgfSwKLSAgMTYsIDB4ODM0MCwgMCwgezB4YzIsMHg0ZCwweGMwLDB4MDMsMHhmNCwweDA4LDB4ZjcsMHgwMCwweDNiLDB4YzAsMHgwNywweGMwLDB4MDMsMHg3YywweDgwLDB4ZmYgfSwKLSAgMTYsIDB4ODM1MCwgMCwgezB4MjQsMHgzZiwweDQwLDB4MGMsMHhmMCwweDAxLDB4ZjQsMHgwNCwweGJjLDB4MDgsMHgzZiwweDI4LDB4MGYsMHhmMCwweDAzLDB4NzggfSwKLSAgMTYsIDB4ODM2MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhYywweDA4LDB4ZmIsMHgwNCwweDNhLDB4YzggfSwKLSAgMTYsIDB4ODM3MCwgMCwgezB4MGYsMHg5NCwweDAzLDB4ZWMsMHgxMCwweGYzLDB4MDAsMHgzNCwweGMwLDB4MGUsMHhiMCwweDAzLDB4NjEsMHgwNCwweGZiLDB4MDAgfSwKLSAgMTYsIDB4ODM4MCwgMCwgezB4MzYsMHhjMCwweDBlLDB4YTMsMHgwMywweDJjLDB4ODAsMHhmYiwweDcyLDB4M2UsMHgwMiwweDBmLDB4OGEsMHgwMywweGU0LDB4MDIgfSwKLSAgMTYsIDB4ODM5MCwgMCwgezB4YzksMHg4MCwweDJhLDB4NTAsMHgwZiwweGIwLDB4MDMsMHhkMCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODNhMCwgMCwgezB4Y2EsMHg0NCwweDNjLDB4MDAsMHhiZiwweDAwLDB4MDMsMHhjMCwweDA4LDB4ODAsMHgwMywweDdjLDB4MDAsMHhiZiwweDAwLDB4M2YgfSwKLSAgMTYsIDB4ODNiMCwgMCwgezB4ZTIsMHgwOCwweDkwLDB4NDMsMHg2MCwweDAwLDB4YmYsMHgwMCwweDM3LDB4YzAsMHgwOCwweDkwLDB4MDEsMHg2ZCwweDAwLDB4YmIgfSwKLSAgMTYsIDB4ODNjMCwgMCwgezB4NDAsMHgyYywweDEwLDB4MGIsMHhiMCwweDQyLDB4ZDcsMHhjMCwweDg5LDB4MDAsMHgyYSwweDdjLDB4MGIsMHhmMCwweDAyLDB4ZjIgfSwKLSAgMTYsIDB4ODNkMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUyLDB4MDUsMHg0YywweDAwLDB4YjMsMHgwMCwweDIwLDB4ZDUgfSwKLSAgMTYsIDB4ODNlMCwgMCwgezB4NGEsMHgwMCwweDAwLDB4MGMsMHgwNCwweDkzLDB4MDAsMHgwYywweGYwLDB4MGIsMHgwOSwweDAyLDB4MDgsMHgwMSwweGIzLDB4MjAgfSwKLSAgMTYsIDB4ODNmMCwgMCwgezB4MjgsMHhjMCwweDBhLDB4MGMsMHgwYSwweDBlLDB4MDAsMHhiMywweDAwLDB4MjQsMHgzMCwweDA5LDB4MDAsMHgwMiwweGM2LDB4MTAgfSwKLSAgMTYsIDB4ODQwMCwgMCwgezB4ODAsMHg0MiwweDIwLDB4MDAsMHg4YiwweGIwLDB4MDIsMHhmOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODQxMCwgMCwgezB4MjIsMHgwMSwweDFlLDB4MDAsMHhiNywweDk0LDB4MjEsMHhlNCwweDQ4LDB4ZDksMHgxMiwweDVlLDB4NDAsMHhiNywweDkwLDB4MjkgfSwKLSAgMTYsIDB4ODQyMCwgMCwgezB4ZTAsMHg4YiwweDY5LDB4MTIsMHhkNiwweDgwLDB4MzcsMHg4MiwweDJjLDB4ZTgsMHgwOCwweDRhLDB4MDIsMHg1ZSwweDAwLDB4YjcgfSwKLSAgMTYsIDB4ODQzMCwgMCwgezB4YTQsMHgyZCwweDIwLDB4MGIsMHg3OSwweDAyLDB4ZDYsMHgwOCwweDg2LDB4OTAsMHgyOSwweGEwLDB4MGIsMHg3OSwweDAyLDB4ZDggfSwKLSAgMTYsIDB4ODQ0MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDAsMHgwYywweDAwLDB4ZmIsMHhhMCwweDI4LDB4ZTggfSwKLSAgMTYsIDB4ODQ1MCwgMCwgezB4MGUsMHgyYSwweDAyLDB4OGMsMHgwMCwweGQzLDB4MDAsMHg2NCwweGMwLDB4MGYsMHgwMCwweDQzLDB4MGUsMHhjNCwweGYzLDB4MDAgfSwKLSAgMTYsIDB4ODQ2MCwgMCwgezB4NzgsMHhlYywweDBlLDB4MGEsMHg0MywweDBlLDB4MjAsMHg3MywweGUwLDB4M2MsMHgwMiwweDRmLDB4MDAsMHgwMywweGM0LDB4NDAgfSwKLSAgMTYsIDB4ODQ3MCwgMCwgezB4YzMsMHgwMCwweDM4LDB4YzAsMHgwZiwweDMwLDB4MDMsMHhkMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODQ4MCwgMCwgezB4NDAsMHgxZCwweGJjLDB4MDAsMHhmZiwweDAwLDB4YmMsMHhjYywweDBlLDB4YjAsMHgwMywweGVjLDB4MjAsMHhmYiwweDAwLDB4M2MgfSwKLSAgMTYsIDB4ODQ5MCwgMCwgezB4YzIsMHgwYywweDIwLDB4MDMsMHg2YywweDUwLDB4ZjMsMHgwMCwweDM2LDB4YzQsMHgwZiwweDQwLDB4MDMsMHhmYywweDA4LDB4ZmYgfSwKLSAgMTYsIDB4ODRhMCwgMCwgezB4MWEsMHgzZiwweDgwLDB4MGYsMHhmMCwweDAxLDB4ZTQsMHgzMCwweGZmLDB4MDIsMHgzZiwweGMwLDB4MGYsMHhmMCwweDYzLDB4ZDAgfSwKLSAgMTYsIDB4ODRiMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhlYywweDQwLDB4ZmIsMHgwMCwweGIyLDB4ZDggfSwKLSAgMTYsIDB4ODRjMCwgMCwgezB4MGMsMHhiMCwweDAxLDB4MmQsMHgyMCwweGRiLDB4MDEsMHgzYSwweGM4LDB4OGMsMHgzOCwweDAzLDB4YTgsMHgwMCwweGZiLDB4NDggfSwKLSAgMTYsIDB4ODRkMCwgMCwgezB4M2UsMHhjOSwweDBmLDB4ODAsMHgwMywweGVjLDB4NDAsMHhmYiwweDAxLDB4M2UsMHgwMCwweDBmLDB4MDgsMHgwMywweGE0LDB4MDggfSwKLSAgMTYsIDB4ODRlMCwgMCwgezB4ZmEsMHg4MCwweGIyLDB4ODAsMHgwZiwweGIxLDB4MDIsMHg2YSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODRmMCwgMCwgezB4NDgsMHgxOSwweDFjLDB4ODAsMHhiZiwweDMwLDB4MjEsMHhjYSwweDA4LDB4ZjAsMHgwYSwweDBjLDB4ODAsMHg4ZiwweDUwLDB4MjEgfSwKLSAgMTYsIDB4ODUwMCwgMCwgezB4YzIsMHgwOCwweDcwLDB4NTAsMHg5YywweDAwLDB4YjcsMHgwMCwweDM5LDB4YzQsMHgwYiwweDQwLDB4MDIsMHg5YywweDA0LDB4YjcgfSwKLSAgMTYsIDB4ODUxMCwgMCwgezB4MjAsMHgyNSwweDQwLDB4MGIsMHg3MCwweDAyLDB4MTQsMHg4MCwweGI2LDB4MDAsMHgyMSwweDgwLDB4MGIsMHhmOCwweDAyLDB4MTIgfSwKLSAgMTYsIDB4ODUyMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZSwweDAwLDB4YjcsMHhiMCwweDIxLDB4ZWMgfSwKLSAgMTYsIDB4ODUzMCwgMCwgezB4MGIsMHg3OCwweDEyLDB4ZGUsMHg4NCwweDk3LDB4ODAsMHgwZCwweGUwLDB4MjgsMHhmOCwweDAyLDB4ZGUsMHgwMCwweGI3LDB4OTAgfSwKLSAgMTYsIDB4ODU0MCwgMCwgezB4MmQsMHhlNCwweDBiLDB4NjgsMHg4MiwweDVlLDB4ODAsMHhiNywweGEwLDB4MjksMHgyMCwweDBiLDB4NDgsMHgwMiwweDk2LDB4MDAgfSwKLSAgMTYsIDB4ODU1MCwgMCwgezB4YjcsMHg4MCwweDIxLDB4ZTEsMHgwYiwweDdhLDB4MDIsMHg3MCwweDQwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODU2MCwgMCwgezB4NDgsMHgwNCwweGNjLDB4MDAsMHhiMywweDAwLDB4MjAsMHhjMCwweDBiLDB4MzgsMHgwMiwweDhjLDB4MDQsMHg4MywweDAwLDB4MjggfSwKLSAgMTYsIDB4ODU3MCwgMCwgezB4YzAsMHg4OCwweDM5LDB4MDIsMHg0YywweDQwLDB4YjMsMHgwNCwweDI4LDB4YzAsMHgxYiwweDEwLDB4MDIsMHg4YywweDAxLDB4YjMgfSwKLSAgMTYsIDB4ODU4MCwgMCwgezB4MDQsMHgyNCwweDg4LDB4NGIsMHgzMSwweDAyLDB4MDQsMHgwMCwweGIzLDB4ODAsMHgyMCwweGYyLDB4MGIsMHgzMCwweDAyLDB4MDIgfSwKLSAgMTYsIDB4ODU5MCwgMCwgezB4MjQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MDUsMHhhOCwweDAwLDB4ZmEsMHgwMCwweDMyLDB4ODAgfSwKLSAgMTYsIDB4ODVhMCwgMCwgezB4MGYsMHhlOCwweDAzLDB4ZTgsMHgwMCwweGRhLDB4MDEsMHgzYSwweDgwLDB4OGMsMHhlZCwweDAzLDB4ZmIsMHgwNCwweGZhLDB4MDAgfSwKLSAgMTYsIDB4ODViMCwgMCwgezB4M2UsMHg4MCwweDBmLDB4NmMsMHgwMywweGZiLDB4YzgsMHhiZSwweGMyLDB4MWYsMHg4MCwweDBmLDB4ZTUsMHgwMywweGE4LDB4MDAgfSwKLSAgMTYsIDB4ODVjMCwgMCwgezB4ZmUsMHg0OCwweDMzLDB4ODAsMHg0ZiwweGEwLDB4MDMsMHg3YSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODVkMCwgMCwgezB4NDgsMHgwMCwweGUwLDB4MDAsMHhmOCwweDAwLDB4M2MsMHgwMCwweDBjLDB4ODEsMHg5MywweDYwLDB4MDAsMHhmOCwweDAxLDB4MzYgfSwKLSAgMTYsIDB4ODVlMCwgMCwgezB4MTAsMHgwZiwweDgwLDB4MDMsMHhhMCwweDIwLDB4ZjgsMHgwMCwweDJhLDB4MDEsMHg4ZiwweDg0LDB4MTMsMHhlMSwweDAwLDB4ZjggfSwKLSAgMTYsIDB4ODVmMCwgMCwgezB4MTgsMHgzNiwweDAwLDB4MGYsMHg4MCwweDEzLDB4ZTAsMHgwMCwweGY4LDB4MjAsMHgzZSwweDE0LDB4MGYsMHg4MCwweDAzLDB4ZDIgfSwKLSAgMTYsIDB4ODYwMCwgMCwgezB4ODAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAsMHhlNCwweDAwLDB4ZjEsMHgwMCwweGFhLDB4NDAgfSwKLSAgMTYsIDB4ODYxMCwgMCwgezB4MGMsMHg5MCwweDAzLDB4MjQsMHgwMCwweGUxLDB4MDAsMHgzOCwweDQwLDB4MWMsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4YTAgfSwKLSAgMTYsIDB4ODYyMCwgMCwgezB4M2EsMHg0MCwweDQ3LDB4OWEsMHg5MywweGEyLDB4ODAsMHhmOCwweDEwLDB4M2UsMHg0MCwweDBiLDB4OTQsMHgwMywweGU2LDB4NDAgfSwKLSAgMTYsIDB4ODYzMCwgMCwgezB4ZjksMHhjMCwweDNlLDB4NjgsMHgwYiwweDEwLDB4MDMsMHgwMiwweDg0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODY0MCwgMCwgezB4ODAsMHgwNCwweGU0LDB4MDQsMHhiOSwweDAwLDB4MjIsMHg0MCwweDA4LDB4OTAsMHgwMiwweDI0LDB4MDQsMHg4OSwweDAwLDB4MzYgfSwKLSAgMTYsIDB4ODY1MCwgMCwgezB4NDAsMHgwOCwweDkwLDB4MDIsMHhlNCwweDA0LDB4YjksMHg4MCwweDJlLDB4NDAsMHg0ZiwweDk0LDB4MDMsMHg2MSwweDEwLDB4ZTggfSwKLSAgMTYsIDB4ODY2MCwgMCwgezB4NDAsMHgyZSwweDQwLDB4MGIsMHg5MCwweDQyLDB4ZTYsMHgwNCwweGI5LDB4MDAsMHgyZSwweDQwLDB4MGIsMHg5MCwweDAyLDB4MjAgfSwKLSAgMTYsIDB4ODY3MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDQsMHgyNCwweDAwLDB4YjksMHgwMCwweDIyLDB4NDAgfSwKLSAgMTYsIDB4ODY4MCwgMCwgezB4MGEsMHgxMCwweDUyLDB4MDQsMHgwNCwweGE5LDB4MDQsMHgyYSwweDQwLDB4MDgsMHhiMCwweDAyLDB4ZTQsMHgwMSwweGI5LDB4MDAgfSwKLSAgMTYsIDB4ODY5MCwgMCwgezB4MmUsMHg0MCwweDBiLDB4OTAsMHgwMiwweGE4LDB4MGQsMHhiOCwweDQwLDB4MmUsMHg0MCwweDA5LDB4OTQsMHgwMiwweGU1LDB4MDAgfSwKLSAgMTYsIDB4ODZhMCwgMCwgezB4YjksMHgwNCwweDJlLDB4NDAsMHgwYiwweDkwLDB4MDIsMHgwNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODZiMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4ODAsMHhiMSwweDIwLDB4MjAsMHhjOCwweDBhLDB4MTAsMHg0MiwweDA0LDB4OTAsMHg4MSwweDIwLDB4MDQgfSwKLSAgMTYsIDB4ODZjMCwgMCwgezB4YzgsMHgwOCwweDMwLDB4MjYsMHhjNCwweDAwLDB4YjEsMHgyMCwweDJjLDB4NDgsMHgwYiwweDkwLDB4MDIsMHg0NSwweDAxLDB4YjEgfSwKLSAgMTYsIDB4ODZkMCwgMCwgezB4NDAsMHgyYywweDQwLDB4MGIsMHgxMiwweDgyLDB4YzQsMHgwMCwweGIxLDB4MmIsMHgyYywweDRhLDB4MGIsMHgxMiwweDgyLDB4MDIgfSwKLSAgMTYsIDB4ODZlMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MDgsMHgyMSwweDQ4LDB4ZjgsMHg1MCwweDMyLDB4MDAgfSwKLSAgMTYsIDB4ODZmMCwgMCwgezB4NGUsMHg4NSwweDBiLDB4MjEsMHg0MCwweGE4LDB4NTIsMHgyYSwweDAwLDB4MDgsMHg4MCwweDIzLDB4ZTEsMHg0MCwweGY4LDB4MDAgfSwKLSAgMTYsIDB4ODcwMCwgMCwgezB4M2EsMHgxNCwweDBmLDB4YTAsMHg0MywweGE4LDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODIsMHgwMywweGUwLDB4MDAgfSwKLSAgMTYsIDB4ODcxMCwgMCwgezB4ZjAsMHgyMCwweDNlLDB4ODgsMHg0ZiwweDgyLDB4MGIsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODcyMCwgMCwgezB4OTgsMHgxOSwweGU0LDB4NDAsMHhmOSwweDExLDB4MzQsMHg0NCwweDJkLDB4ZDAsMHgwMywweGU0LDB4NTAsMHg3OSwweDEwLDB4MzggfSwKLSAgMTYsIDB4ODczMCwgMCwgezB4NDQsMHgyZiwweGQwLDB4MDMsMHhmNSwweDEwLDB4ZjksMHgxMCwweDNlLDB4NDUsMHgwNiwweDUwLDB4MDMsMHhlNSwweDAwLDB4ZTkgfSwKLSAgMTYsIDB4ODc0MCwgMCwgezB4NDAsMHgzZiwweDQwLDB4MGYsMHhkMCwweDQzLDB4ZjUsMHgwMCwweGZkLDB4MjgsMHgzZiwweDQwLDB4MGYsMHg5MiwweDgzLDB4ZTYgfSwKLSAgMTYsIDB4ODc1MCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDEsMHhlNiwweDAwLDB4ZDksMHg5MCwweDM3LDB4NjkgfSwKLSAgMTYsIDB4ODc2MCwgMCwgezB4NGQsMHg5MCwweDIzLDB4NjcsMHg4MCwweGQ5LDB4ZTAsMHgzNywweDY4LDB4MGUsMHhkMCwweDA3LDB4YTQsMHgwMCwweDA1LDB4ODYgfSwKLSAgMTYsIDB4ODc3MCwgMCwgezB4M2UsMHg2NiwweDBkLDB4NTAsMHgyMywweDI2LDB4MDAsMHhjOSwweDgyLDB4M2QsMHg0MCwweDBkLDB4ZDgsMHgwNywweDM2LDB4MDIgfSwKLSAgMTYsIDB4ODc4MCwgMCwgezB4Y2QsMHhjMCwweDMzLDB4NjAsMHgwYywweDljLDB4MDMsMHgwNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODc5MCwgMCwgezB4MzgsMHgxMCwweGUyLDB4ODAsMHg4OCwweGEyLDB4MjIsMHgxMCwweDI4LDB4OGEsMHg4MiwweDIzLDB4ODQsMHg4OCwweGEwLDB4MjIgfSwKLSAgMTYsIDB4ODdhMCwgMCwgezB4MTQsMHg0OCwweDgwLDB4NDIsMHg4MiwweDAwLDB4ODgsMHg0MCwweDJlLDB4MzAsMHgwOCwweDgwLDB4MDIsMHhhMiwweDAwLDB4ZDggfSwKLSAgMTYsIDB4ODdiMCwgMCwgezB4OTAsMHgyNiwweDAwLDB4MDgsMHg4NCwweDBhLDB4MjEsMHgwMCwweGM4LDB4YTAsMHhhMiwweDE0LDB4MjgsMHg4YywweDAyLDB4MGUgfSwKLSAgMTYsIDB4ODdjMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNSwweDIwLDB4OTEsMHg0MCwweDJjLDB4NDQgfSwKLSAgMTYsIDB4ODdkMCwgMCwgezB4MTgsMHgxMCwweDAyLDB4ODUsMHgwNCwweGIxLDB4NDAsMHgwYywweDQwLDB4MGEsMHgxMCwweDA2LDB4ODQsMHgzMCwweDgxLDB4NDAgfSwKLSAgMTYsIDB4ODdlMCwgMCwgezB4MmMsMHg0OCwweDU5LDB4MTAsMHgxYSwweDA0LDB4NjAsMHg4MSwweDA5LDB4MmUsMHg0MCwweDFiLDB4MTQsMHgwMiwweDI1LDB4MDAgfSwKLSAgMTYsIDB4ODdmMCwgMCwgezB4OTEsMHhlMCwweDIwLDB4NjAsMHgwOCwweDE2LDB4MDIsMHgwMCwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODgwMCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MDAsMHg4MSwweDAwLDB4MmEsMHg0MSwweDA4LDB4OTAsMHgwMiwweGE0LDB4MDAsMHhhMSwweDAwLDB4MmEgfSwKLSAgMTYsIDB4ODgxMCwgMCwgezB4NDEsMHgwOCwweGIwLDB4ODIsMHgyNCwweDExLDB4OGIsMHgwMCwweDJlLDB4NDAsMHgxOCwweDkxLDB4MDIsMHhhMCwweDA0LDB4OTggfSwKLSAgMTYsIDB4ODgyMCwgMCwgezB4MjAsMHgyZSwweDU0LDB4MWIsMHg5MCwweDgyLDB4MmMsMHgwMCwweDg5LDB4MTAsMHgyMiwweDQ0LDB4ODgsMHg5MCwweDAyLDB4MDYgfSwKLSAgMTYsIDB4ODgzMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNCwweDAwLDB4ZDksMHgwMCwweDNlLDB4NDAgfSwKLSAgMTYsIDB4ODg0MCwgMCwgezB4NGMsMHg5MCwweDAzLDB4YTQsMHgxMCwweGY5LDB4MDAsMHgzZSwweDQwLDB4OGUsMHgxMCwweDAyLDB4YTQsMHhjMiwweGM5LDB4MDAgfSwKLSAgMTYsIDB4ODg1MCwgMCwgezB4M2UsMHg0MCwweDBkLDB4MTYsMHgxMywweDAxLDB4ODQsMHhjOCwweDIwLDB4M2MsMHg2MCwweDBmLDB4OTAsMHgxMiwweDA0LDB4MDAgfSwKLSAgMTYsIDB4ODg2MCwgMCwgezB4ZDksMHg0MCwweDMyLDB4NTAsMHgwYywweDkwLDB4MDMsMHgyOCwweDg0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODg3MCwgMCwgezB4MjgsMHgwMSwweDg0LDB4MDAsMHhmOSwweDAwLDB4MzYsMHg0MCwweDRmLDB4OTksMHg0YSwweDQ0LDB4MDAsMHg5OSwweDAwLDB4YjQgfSwKLSAgMTYsIDB4ODg4MCwgMCwgezB4NDAsMHgwZiwweDkwLDB4MTMsMHhlNiwweDAwLDB4ZjksMHgwMCwweDNjLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhlMywweDAwLDB4ZjggfSwKLSAgMTYsIDB4ODg5MCwgMCwgezB4MDEsMHgzNiwweDQwLDB4MGMsMHg5OSwweDAzLDB4ZTQsMHgwMiwweGY5LDB4ODAsMHgzZSwweDYwLDB4NGYsMHg5MCwweDBiLDB4Y2EgfSwKLSAgMTYsIDB4ODhhMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMCwweDAwLDB4ZDgsMHgwMCwweDNjLDB4MDAgfSwKLSAgMTYsIDB4ODhiMCwgMCwgezB4MWQsMHg4MCwweDAzLDB4MjAsMHgwMCwweGU4LDB4MDAsMHgzMiwweDAwLDB4MGMsMHg4NCwweDgzLDB4ZTAsMHgxMCwweGU4LDB4MjAgfSwKLSAgMTYsIDB4ODhjMCwgMCwgezB4MzIsMHgwMCwweDhlLDB4ODQsMHgwMywweDIxLDB4ODAsMHhjOCwweDAwLDB4M2EsMHgxOSwweDBmLDB4MDQsMHgwMywweGUwLDB4MjQgfSwKLSAgMTYsIDB4ODhkMCwgMCwgezB4ZjAsMHgwMiwweDNjLDB4MDAsMHgwZiwweDgwLDB4MTMsMHg4YSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODhlMCwgMCwgezB4MjgsMHgwNSwweDI4LDB4MDIsMHg4YSwweDAxLDB4MGYsMHhhMiwweDY4LDB4YTAsMHgwMCwweDI4LDB4MDAsMHg4YSwweDAwLDB4NzcgfSwKLSAgMTYsIDB4ODhmMCwgMCwgezB4ODAsMHg2OCwweGUwLDB4MTIsMHhlOCwweDAwLDB4ZGUsMHgwMCwweDM2LDB4ODEsMHgwOCwweGUwLDB4MDMsMHg3YSwweDA4LDB4YWUgfSwKLSAgMTYsIDB4ODkwMCwgMCwgezB4YzQsMHgyZiwweDgwLDB4MDgsMHhlZCwweDAyLDB4ZmEsMHgwMCwweGJlLDB4YTAsMHgzYiwweDgwLDB4MGIsMHhhMCwweDQyLDB4MGEgfSwKLSAgMTYsIDB4ODkxMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4ODUsMHg0YywweDAwLDB4OTMsMHgwMCwweDJjLDB4YzAgfSwKLSAgMTYsIDB4ODkyMCwgMCwgezB4ODgsMHhiMCwweDAyLDB4MGMsMHgxNCwweGEzLDB4MDQsMHgyMCwweGM0LDB4MTgsMHgzOCwweDAyLDB4ZWMsMHgxMCwweDkzLDB4NTQgfSwKLSAgMTYsIDB4ODkzMCwgMCwgezB4MjgsMHhjMCwweDBhLDB4MDAsMHgwMiwweDRlLDB4MDAsMHg4MywweDQ5LDB4NjgsMHhjMCwweDAyLDB4MzksMHg0MiwweGNlLDB4NDAgfSwKLSAgMTYsIDB4ODk0MCwgMCwgezB4YjMsMHgwMCwweDJjLDB4ZTYsMHgwYiwweGIwLDB4MDIsMHg4YiwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODk1MCwgMCwgezB4MjAsMHgwMSwweDFjLDB4MDgsMHg4NywweDIwLDB4MmMsMHg4MCwweDE4LDB4ZjIsMHgyMiwweDFjLDB4MDAsMHg4NywweDEwLDB4MjEgfSwKLSAgMTYsIDB4ODk2MCwgMCwgezB4YzAsMHgwOCwweDcwLDB4ODIsMHhkYywweDgwLDB4OTYsMHg4MCwweDJkLDB4YzAsMHgwYSwweDQwLDB4MDIsMHg3ZCwweDQwLDB4MjcgfSwKLSAgMTYsIDB4ODk3MCwgMCwgezB4NjQsMHg2ZCwweGQwLDB4NDgsMHg2MCwweDQyLDB4ZDgsMHgwNSwweGI2LDB4MDQsMHgyOSwweGMwLDB4NGIsMHg3MiwweDAyLDB4MjggfSwKLSAgMTYsIDB4ODk4MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDgsMHgzZSwweDg4LDB4ZDcsMHhlMCwweDNkLDB4ZTAgfSwKLSAgMTYsIDB4ODk5MCwgMCwgezB4MDgsMHg3YywweDQyLDB4M2UsMHgwMCwweGUzLDB4ODIsMHgyMCwweGUwLDB4MGMsMHg2OCwweDAzLDB4ZGYsMHgwNCwweGQ3LDB4ODAgfSwKLSAgMTYsIDB4ODlhMCwgMCwgezB4M2IsMHhlMCwweDRlLDB4NDgsMHgwYSwweDVlLDB4ODAsMHhjNywweGMyLDB4MTksMHhlMCwweDBlLDB4NzgsMHgwMywweGQ2LDB4MDggfSwKLSAgMTYsIDB4ODliMCwgMCwgezB4ZjcsMHg4MCwweDNkLDB4ZTAsMHgwZiwweGY4LDB4MDMsMHhhYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODljMCwgMCwgezB4MDgsMHgxZCwweGFjLDB4NDAsMHhmYiwweDQwLDB4N2UsMHg4MCwweDBlLDB4MzYsMHg4MywweGVkLDB4NDAsMHhkYiwweDYwLDB4M2UgfSwKLSAgMTYsIDB4ODlkMCwgMCwgezB4ODAsMHgwZiwweGEwLDB4MDMsMHhlZCwweDI4LDB4ZGEsMHgwMCwweDMyLDB4YzQsMHgwYywweGIwLDB4MGIsMHhjYywweDAwLDB4ZmIgfSwKLSAgMTYsIDB4ODllMCwgMCwgezB4MDAsMHgzZSwweGMwLDB4MGUsMHg4MCwweDEzLDB4ZTAsMHgxMCwweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHhiMSwweDUzLDB4YzIgfSwKLSAgMTYsIDB4ODlmMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDUsMHhmZSwweDAwLDB4ZmYsMHhjMCwweDMzLDB4ZTAgfSwKLSAgMTYsIDB4OGEwMCwgMCwgezB4MGMsMHhmOSwweDAzLDB4N2YsMHgwNCwweGNmLDB4ZDAsMHgzZiwweGU0LDB4MGYsMHhiOCwweDAzLDB4ZmUsMHgwMCwweGZmLDB4OTQgfSwKLSAgMTYsIDB4OGExMCwgMCwgezB4M2YsMHhlMCwweDBmLDB4YzgsMHgwMywweDdlLDB4MTAsMHhmMywweDgwLDB4M2IsMHhlMCwweDBmLDB4ZjgsMHgwMywweGZlLDB4NDggfSwKLSAgMTYsIDB4OGEyMCwgMCwgezB4ZWQsMHg4MCwweDMzLDB4MjQsMHgwNCwweGY4LDB4MDMsMHgzMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGEzMCwgMCwgezB4YTgsMHgxMSwweDljLDB4ODAsMHhiZiwweDA0LDB4MjEsMHgyOCwweDA4LDB4ZjgsMHgwMiwweDFlLDB4YzAsMHhjZiwweDkwLDB4MjEgfSwKLSAgMTYsIDB4OGE0MCwgMCwgezB4NGMsMHgwYiwweDVhLDB4NDIsMHhkZSwweDAwLDB4YjcsMHg4MCwweDJjLDB4ZTgsMHgwYiwweDA0LDB4MDIsMHgxYywweDAwLDB4YjcgfSwKLSAgMTYsIDB4OGE1MCwgMCwgezB4YTAsMHgzNSwweDEwLDB4OGYsMHg3MSwweDEzLDB4ZGUsMHhjMCwweDg0LDB4MTAsMHgyMSwweDgwLDB4MGQsMHg3MSwweDAyLDB4MmEgfSwKLSAgMTYsIDB4OGE2MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4NDAsMHg5YywweDA4LDB4YjcsMHgwMCwweDI1LDB4YzggfSwKLSAgMTYsIDB4OGE3MCwgMCwgezB4MDgsMHg3MSwweDAyLDB4Y2MsMHg4MCwweDk3LDB4MDAsMHgyOSwweGMwLDB4OGIsMHg3MiwweDA2LDB4ZGMsMHgwOCwweGI1LDB4MDAgfSwKLSAgMTYsIDB4OGE4MCwgMCwgezB4MmQsMHhjOCwweDBiLDB4NDAsMHgwMiwweDFjLDB4NDAsMHhiZiwweDEwLDB4MjEsMHhjMCwweDBiLDB4NzQsMHgwMiwweGQ0LDB4ODAgfSwKLSAgMTYsIDB4OGE5MCwgMCwgezB4YTcsMHg0MCwweDIxLDB4NDEsMHgwOCwweDcwLDB4MDIsMHgwNCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGFhMCwgMCwgezB4NjAsMHgxNCwweGNjLDB4MDAsMHhiMywweDAwLDB4MjQsMHgwMCwweDA4LDB4MzQsMHg4MiwweGFjLDB4MTEsMHg4MywweDAwLDB4MjAgfSwKLSAgMTYsIDB4OGFiMCwgMCwgezB4MDAsMHg0YiwweDE4LDB4MjYsMHhjZiwweDIwLDB4YjEsMHgwNiwweDJjLDB4YzEsMHgwYiwweDMyLDB4MDIsMHgwZSwweDA4LDB4YjMgfSwKLSAgMTYsIDB4OGFjMCwgMCwgezB4ODgsMHgyNCwweDMyLDB4MGEsMHgzMCwweDEyLDB4ODQsMHgwOCwweDgwLDB4MDAsMHhhMCwweDM0LDB4MjgsMHgzMCwweDAyLDB4MTggfSwKLSAgMTYsIDB4OGFkMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTEsMHhiYywweDAwLDB4ZmYsMHgwMCwweGI2LDB4NDAgfSwKLSAgMTYsIDB4OGFlMCwgMCwgezB4MmMsMHhmNCwweDQzLDB4ZmMsMHgwMSwweGRmLDB4MDAsMHgzYSwweDAwLDB4MDMsMHg5MiwweDAzLDB4ZmYsMHg4OCwweGY5LDB4MDAgfSwKLSAgMTYsIDB4OGFmMCwgMCwgezB4MmYsMHhjMCwweDFiLDB4MGUsMHg0YiwweDJlLDB4OTAsMHhmYiwweGUwLDB4MzAsMHgzMiwweDBiLDB4OTgsMHgwMiwweGVjLDB4MDggfSwKLSAgMTYsIDB4OGIwMCwgMCwgezB4NmIsMHhjMCwweDMyLDB4YzAsMHgwOCwweGYwLDB4MDksMHgzZSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGIxMCwgMCwgezB4ODAsMHgwMCwweGVjLDB4MDAsMHhmMywweDAwLDB4M2EsMHhjMCwweDBmLDB4YjAsMHgwMSwweDZjLDB4MDAsMHhmYiwweDAwLDB4M2EgfSwKLSAgMTYsIDB4OGIyMCwgMCwgezB4MTAsMHgwZiwweGI0LDB4MDMsMHhlYywweDAwLDB4ZjAsMHgwMCwweDNjLDB4YzAsMHgwZiwweDgwLDB4MGIsMHhhZCwweDIwLDB4ZmIgfSwKLSAgMTYsIDB4OGIzMCwgMCwgezB4NDAsMHgzZSwweDEwLDB4MDcsMHhhOCwweDYzLDB4ZTAsMHgwMCwweGZiLDB4ODAsMHgzZSwweGQ4LDB4MGYsMHhiMCwweDAzLDB4ZTAgfSwKLSAgMTYsIDB4OGI0MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmYywweDAwLDB4ZmYsMHgwMCwweDcyLDB4MDAgfSwKLSAgMTYsIDB4OGI1MCwgMCwgezB4MGYsMHhmMCwweDIzLDB4ZmMsMHgwMCwweGRmLDB4MDAsMHgzZiwweDQwLDB4MGYsMHhjMCwweDAzLDB4ZGMsMHgwMCwweDhmLDB4MDAgfSwKLSAgMTYsIDB4OGI2MCwgMCwgezB4MzMsMHhjMSwweDBjLDB4YzAsMHgwMywweGJlLDB4MDAsMHhmZiwweDkwLDB4M2IsMHgyOCwweDBlLDB4NTksMHgwMywweDJlLDB4MDAgfSwKLSAgMTYsIDB4OGI3MCwgMCwgezB4N2IsMHgwMCwweDMyLDB4YzQsMHgwZiwweGIwLDB4MDMsMHhkMCwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGI4MCwgMCwgezB4YzEsMHgwNCwweDZjLDB4MDAsMHhiYiwweDAwLDB4NjIsMHhhMCwweDBmLDB4YjAsMHgwMiwweGVjLDB4MDksMHg4YiwweDAwLDB4MmUgfSwKLSAgMTYsIDB4OGI5MCwgMCwgezB4MzAsMHgwYiwweGE4LDB4MDMsMHhhYywweDAwLDB4ZmEsMHhjMSwweDIyLDB4YzEsMHgwOCwweDhjLDB4MDIsMHgyYywweDAwLDB4YjMgfSwKLSAgMTYsIDB4OGJhMCwgMCwgezB4ODEsMHgyYSwweDAwLDB4MGQsMHg4OCwweGIyLDB4MjIsMHgwMCwweGIzLDB4YzAsMHgyMiwweGM4LDB4MGIsMHhiMCwweDQyLDB4NjEgfSwKLSAgMTYsIDB4OGJiMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHg2YywweDAwLDB4YmIsMHgwMSwweDIyLDB4NjIgfSwKLSAgMTYsIDB4OGJjMCwgMCwgezB4MGIsMHhiMCwweDAyLDB4ZWMsMHgwNCwweDhiLDB4MDAsMHgyZSwweGEyLDB4NDksMHg4OCwweDI2LDB4ZWMsMHgwMCwweGE4LDB4ODAgfSwKLSAgMTYsIDB4OGJkMCwgMCwgezB4MjIsMHhjMCwweDI4LDB4ODIsMHgwYSwweGFjLDB4YTAsMHhiYiwweDA4LDB4MjIsMHhjMCwweDA4LDB4ODAsMHgwYSwweDI4LDB4ODQgfSwKLSAgMTYsIDB4OGJlMCwgMCwgezB4YjksMHhjMCwweGEyLDB4MDAsMHgwYiwweGIwLDB4MDIsMHhlMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGJmMCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDAsMHhiMywweDEwLDB4MjAsMHg0OCwweDBhLDB4MzIsMHgwMiwweGNjLDB4ODAsMHg4MywweDAxLDB4MjQgfSwKLSAgMTYsIDB4OGMwMCwgMCwgezB4MDAsMHgwYiwweDAyLDB4MDYsMHg4YywweDYwLDB4YTAsMHgyMCwweDIwLDB4YzgsMHgwOCwweDAxLDB4MDIsMHgwYywweDAwLDB4YjMgfSwKLSAgMTYsIDB4OGMxMCwgMCwgezB4MDAsMHgyOCwweDAwLDB4MDksMHgyMCwweDAyLDB4MDgsMHg4MCwweGIxLDB4MDAsMHhhMCwweDgwLDB4MGIsMHgzMCwweDAyLDB4NDIgfSwKLSAgMTYsIDB4OGMyMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDksMHg2YywweDAwLDB4ZmYsMHgwMCwweGEyLDB4MGUgfSwKLSAgMTYsIDB4OGMzMCwgMCwgezB4MGIsMHhmMSwweDAzLDB4ZmMsMHgwOCwweGNmLDB4MjAsMHgzZSwweGMwLDB4MGYsMHg4MCwweDAzLDB4ZmMsMHg4NCwweGE4LDB4MjAgfSwKLSAgMTYsIDB4OGM0MCwgMCwgezB4YjIsMHhjOCwweDhjLDB4ODAsMHgwMywweGFjLDB4NDQsMHhmYiwweDcwLDB4M2EsMHhjMCwweDBlLDB4OTAsMHgwMywweDJjLDB4YTQgfSwKLSAgMTYsIDB4OGM1MCwgMCwgezB4ZmIsMHgwMCwweGIyLDB4NDAsMHgwZiwweGIwLDB4MDMsMHhjMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGM2MCwgMCwgezB4YTAsMHgxZCwweGZjLDB4MDAsMHhmZiwweDI2LDB4M2UsMHgwMCwweDBmLDB4YjYsMHgxMywweGVkLDB4MDAsMHhmYiwweDEwLDB4M2YgfSwKLSAgMTYsIDB4OGM3MCwgMCwgezB4MDAsMHgwZiwweGMxLDB4MTMsMHhhYywweDgwLDB4ZjgsMHgxMiwweDNlLDB4YzYsMHg0ZiwweDQyLDB4NDMsMHhmYywweDA0LDB4ZmYgfSwKLSAgMTYsIDB4OGM4MCwgMCwgezB4MzEsMHgzZiwweDAwLDB4MGYsMHhmMCwweDAzLDB4ZWMsMHgwMCwweGZmLDB4MDAsMHhiZiwweGMwLDB4OGYsMHhmMCwweDAzLDB4ZTggfSwKLSAgMTYsIDB4OGM5MCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDEsMHhmYywweDQwLDB4ZmMsMHg4MCwweDM2LDB4YzggfSwKLSAgMTYsIDB4OGNhMCwgMCwgezB4MGYsMHgwOSwweDAzLDB4YzIsMHgwMCwweGY4LDB4YzAsMHgzMywweGNjLDB4MmMsMHg0YywweDAzLDB4NjMsMHg5MCwweGUwLDB4OTAgfSwKLSAgMTYsIDB4OGNiMCwgMCwgezB4M2EsMHhjMCwweDBkLDB4NTAsMHgwYiwweDNjLDB4MDQsMHhkZiwweDY0LDB4M2YsMHhjOCwweDhkLDB4ZjEsMHg0MywweDJjLDB4MDAgfSwKLSAgMTYsIDB4OGNjMCwgMCwgezB4ZDUsMHgwMCwweDMzLDB4YzAsMHg0NSwweGYyLDB4MjMsMHg3MCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGNkMCwgMCwgezB4ODAsMHgxMCwweGVkLDB4ODAsMHhiYSwweDAyLDB4MjEsMHhkZSwweDhiLDB4ODIsMHgyMiwweGUwLDB4MjAsMHhiMCwweDAwLDB4MmIgfSwKLSAgMTYsIDB4OGNlMCwgMCwgezB4ZWMsMHgwOSwweDgwLDB4MDIsMHhlMywweDQwLDB4YmEsMHgyMCwweDJmLDB4ZGMsMHgwOCwweDk4LDB4MTIsMHgyYywweDAwLDB4OGIgfSwKLSAgMTYsIDB4OGNmMCwgMCwgezB4NTEsMHgyYSwweGQwLDB4MDgsMHg3MiwweDIyLDB4MmUsMHgwMCwweDhkLDB4ODAsMHgyMSwweGQwLDB4MDgsMHhiNiwweDgyLDB4MjAgfSwKLSAgMTYsIDB4OGQwMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDQwLDB4YjksMHgyOCwweDI0LDB4YzAgfSwKLSAgMTYsIDB4OGQxMCwgMCwgezB4NGEsMHgxMiwweDEyLDB4ODgsMHg4NSwweGE4LDB4MjAsMHgyMCwweGMwLDB4MGIsMHgyMiwweDAyLDB4YzAsMHg5MSwweGExLDB4MDAgfSwKLSAgMTYsIDB4OGQyMCwgMCwgezB4MjgsMHhjMiwweDBiLDB4MDAsMHgxMiwweDhjLDB4NDAsMHhhMywweDIwLDB4MjAsMHhjNCwweDBiLDB4MzAsMHgwYSwweDBjLDB4MTEgfSwKLSAgMTYsIDB4OGQzMCwgMCwgezB4OTksMHgwMCwweDIwLDB4YzUsMHgwOSwweDAxLDB4MDIsMHg2MiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGQ0MCwgMCwgezB4YzAsMHgxMSwweGFjLDB4MDAsMHhiOCwweDgwLDB4MjIsMHhjMCwweDBiLDB4ODgsMHgwMiwweGVlLDB4MDEsMHhiOCwweGMxLDB4MmEgfSwKLSAgMTYsIDB4OGQ1MCwgMCwgezB4YzAsMHgxYiwweGE4LDB4MDYsMHhlMiwweDAwLDB4YmIsMHg4MCwweDJlLDB4YzAsMHg4YSwweDgwLDB4MDIsMHhhYywweDAwLDB4YWIgfSwKLSAgMTYsIDB4OGQ2MCwgMCwgezB4MDAsMHgyZSwweGMwLDB4MGEsMHhiMCwweDAyLDB4MmMsMHgwMCwweDk5LDB4MDAsMHgyNCwweGMwLDB4MDgsMHg4MCwweDAyLDB4MzAgfSwKLSAgMTYsIDB4OGQ3MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlYywweDAwLDB4YjAsMHg4MCwweDM2LDB4YzAgfSwKLSAgMTYsIDB4OGQ4MCwgMCwgezB4MGUsMHhhOCwweDEzLDB4ZTIsMHg4NSwweGYzLDB4YzAsMHgzMiwweGMwLDB4MGUsMHg5YywweDIzLDB4ZTcsMHgyNCwweGU4LDB4ODIgfSwKLSAgMTYsIDB4OGQ5MCwgMCwgezB4M2EsMHhjMSwweDBmLDB4OTQsMHgwMywweGFjLDB4MDIsMHhlYiwweDAwLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgwMywweDJlLDB4MTAgfSwKLSAgMTYsIDB4OGRhMCwgMCwgezB4NTEsMHgwMCwweGIyLDB4YzAsMHgwZCwweGIwLDB4MDMsMHg1MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGRiMCwgMCwgezB4ZTAsMHgwMSwweGJjLDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMCwweDhmLDB4ZDAsMHgwMywweGYwLDB4MDQsMHhmZCwweDA0LDB4M2YgfSwKLSAgMTYsIDB4OGRjMCwgMCwgezB4YzAsMHg0YywweGMwLDB4MDMsMHhmMCwweDEwLDB4ZmMsMHgwMCwweDFmLDB4YzAsMHgwZCwweGQxLDB4MjMsMHgxYywweDAwLDB4YzcgfSwKLSAgMTYsIDB4OGRkMCwgMCwgezB4MDAsMHgzOSwweGMwLDB4MGQsMHhmMCwweDgzLDB4ZmUsMHg0NCwweGVkLDB4MDAsMHgzYiwweGMwLDB4MGYsMHg3NCwweDAzLDB4ZjggfSwKLSAgMTYsIDB4OGRlMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhYywweDAwLDB4ZjksMHgwMSwweGJhLDB4YzEgfSwKLSAgMTYsIDB4OGRmMCwgMCwgezB4MGMsMHhiMCwweDAzLDB4YTEsMHgwOCwweGZhLDB4MDAsMHgzMCwweGM4LDB4OGYsMHg5NCwweDAzLDB4MjUsMHgwMCwweGY5LDB4MDAgfSwKLSAgMTYsIDB4OGUwMCwgMCwgezB4M2MsMHhjMCwweDBmLDB4MDQsMHg4MywweGVjLDB4MDAsMHhmYiwweDAwLDB4M2UsMHhlMCwweDBmLDB4NzEsMHgwYiwweDJjLDB4NDAgfSwKLSAgMTYsIDB4OGUxMCwgMCwgezB4ZmQsMHgwOCwweDM3LDB4YzAsMHg0ZSwweDkxLDB4MDMsMHg5MCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGUyMCwgMCwgezB4YzgsMHgwNSwweDNjLDB4MDAsMHhiOSwweDAwLDB4MjMsMHhjMCwweDA4LDB4OTAsMHgwMiwweDI0LDB4MDAsMHhjOCwweDAwLDB4MzcgfSwKLSAgMTYsIDB4OGUzMCwgMCwgezB4ZjAsMHgwYiwweDgwLDB4MDEsMHg2NCwweDAwLDB4NDksMHgwMiwweDMzLDB4YzAsMHg4NCwweDljLDB4MDMsMHgzYywweDAwLDB4YmYgfSwKLSAgMTYsIDB4OGU0MCwgMCwgezB4MDIsMHgwZiwweGQwLDB4MDgsMHhmNCwweDAyLDB4MGUsMHgxMCwweGJkLDB4ODAsMHgzMywweGUwLDB4MDgsMHg5MCwweDBhLDB4MzIgfSwKLSAgMTYsIDB4OGU1MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0YywweDAwLDB4YjAsMHgwNiwweDIwLDB4YzAgfSwKLSAgMTYsIDB4OGU2MCwgMCwgezB4MDgsMHgwMCwweDQyLDB4ODQsMHgwMCwweGEwLDB4MDAsMHgyMCwweGYwLDB4MGIsMHgwMCwweDIyLDB4Y2MsMHgwMCwweDkwLDB4MDAgfSwKLSAgMTYsIDB4OGU3MCwgMCwgezB4MjgsMHhjMCwweDAyLDB4M2QsMHgwMiwweDhjLDB4MDAsMHhiMywweDAwLDB4MmMsMHhjMiwweDlhLDB4MzgsMHgwMiwweDA2LDB4MDQgfSwKLSAgMTYsIDB4OGU4MCwgMCwgezB4YjEsMHgxMiwweDIwLDB4ZTAsMHgwOCwweDMwLDB4MDIsMHgzOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGU5MCwgMCwgezB4MjAsMHgwMSwweDFlLDB4MDAsMHhiNiwweDgwLDB4MjEsMHhlMCwweDI4LDB4ZWEsMHgwMiwweDM2LDB4ODAsMHg4NiwweDkwLDB4NjUgfSwKLSAgMTYsIDB4OGVhMCwgMCwgezB4ZTAsMHgxYiwweGRhLDB4MDYsMHg1ZSwweDAxLDB4OWUsMHg4NCwweDI1LDB4ZWMsMHgwYSwweDc4LDB4MDIsMHg1ZSwweDAwLDB4YjcgfSwKLSAgMTYsIDB4OGViMCwgMCwgezB4ODAsMHgyZCwweGUwLDB4MDgsMHg3OSwweDRhLDB4MTYsMHg0MCwweGJkLDB4ODAsMHgyNSwweGUwLDB4MDgsMHgzOCwweDAyLDB4MDggfSwKLSAgMTYsIDB4OGVjMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDAwLDB4ZmIsMHgwMCwweDI4LDB4ZTAgfSwKLSAgMTYsIDB4OGVkMCwgMCwgezB4MDgsMHgxOCwweDAyLDB4OGEsMHg4OCwweGExLDB4YTAsMHgyMCwweGMyLDB4MWYsMHgyYSwweDIzLDB4ZTYsMHhjOCwweGYwLDB4YzAgfSwKLSAgMTYsIDB4OGVlMCwgMCwgezB4M2EsMHhlZCwweDRlLDB4MzQsMHgwMiwweDhjLDB4MDgsMHhmMywweDgxLDB4MWUsMHhjMCwweDBlLDB4MzAsMHgwMywweDBlLDB4YzAgfSwKLSAgMTYsIDB4OGVmMCwgMCwgezB4ZjEsMHgwMCwweGIwLDB4Y2EsMHgwZSwweDIxLDB4MDMsMHg5MiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGYwMCwgMCwgezB4NDAsMHgxZCwweGJjLDB4MDgsMHhmZSwweDEwLDB4M2YsMHhkMiwweDBmLDB4ZTAsMHgwMywweGVjLDB4MDQsMHhmZiwweDE0LDB4N2UgfSwKLSAgMTYsIDB4OGYxMCwgMCwgezB4YzAsMHgwZiwweGIxLDB4MjMsMHhmYywweDAxLDB4ZWUsMHgwMCwweDNhLDB4YzQsMHgwZCwweGIwLDB4MTMsMHhiYywweDAwLDB4ZmYgfSwKLSAgMTYsIDB4OGYyMCwgMCwgezB4MDAsMHgzZiwweGMwLDB4MGUsMHhmMCwweDgzLDB4ZmMsMHgwYywweGZkLDB4MTAsMHgzYiwweGMwLDB4MmYsMHhlMSwweDAzLDB4ZDAgfSwKLSAgMTYsIDB4OGYzMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlYywweDQwLDB4ZjAsMHg4MCwweDMyLDB4ZDAgfSwKLSAgMTYsIDB4OGY0MCwgMCwgezB4MGMsMHhhMCwweDAzLDB4NmMsMHgwMCwweGYzLDB4ODAsMHgzMiwweGRhLDB4MGYsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGZiLDB4MDAgfSwKLSAgMTYsIDB4OGY1MCwgMCwgezB4M2UsMHhjYywweDRjLDB4OTgsMHgxMywweDJjLDB4MTAsMHhmYiwweDA0LDB4M2UsMHhjNCwweDBjLDB4ZjIsMHg4MywweGE2LDB4MTAgfSwKLSAgMTYsIDB4OGY2MCwgMCwgezB4ZGQsMHgyMCwweDNmLDB4ZDEsMHgwYywweGIwLDB4MDMsMHhlYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGY3MCwgMCwgezB4NDgsMHgxMSwweDljLDB4ODAsMHhiNywweDAwLDB4MjEsMHhjOCwweDBjLDB4NzAsMHgwMiwweGRjLDB4MDgsMHhiNywweDAwLDB4MjEgfSwKLSAgMTYsIDB4OGY4MCwgMCwgezB4YzgsMHgwZSwweDcwLDB4MjIsMHhkOCwweDAwLDB4YjcsMHgwMCwweDJjLDB4YzIsMHgwYSwweDcwLDB4MGEsMHgxZiwweDA4LDB4YjcgfSwKLSAgMTYsIDB4OGY5MCwgMCwgezB4MDAsMHgzOSwweGM4LDB4MGEsMHg3MCwweDAyLDB4MTQsMHgwMCwweGM1LDB4NjksMHgyYywweGNhLDB4MmEsMHg3MCwweDAyLDB4ZDIgfSwKLSAgMTYsIDB4OGZhMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZSwweDAwLDB4YmYsMHg4MSwweDY0LDB4ZTEgfSwKLSAgMTYsIDB4OGZiMCwgMCwgezB4MDgsMHg3OCwweDAyLDB4NWEsMHgwMSwweGJmLDB4ODAsMHgyMSwweGVjLDB4NGIsMHg3OCwweDQ2LDB4OWYsMHgwOCwweDM3LDB4ODAgfSwKLSAgMTYsIDB4OGZjMCwgMCwgezB4MmQsMHhlOCwweDg4LDB4MTgsMHgwMiwweDFlLDB4ODEsMHhiNywweGIwLDB4MmQsMHhlMCwweDA5LDB4N2EsMHgwMiwweDhlLDB4MDAgfSwKLSAgMTYsIDB4OGZkMCwgMCwgezB4OTUsMHhhMCwweDJkLDB4ZTQsMHgwOCwweDc4LDB4MDIsMHhmMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGZlMCwgMCwgezB4NDgsMHgxNCwweGVjLDB4MDAsMHhiMywweDYwLDB4MjAsMHhjMCwweDA4LDB4YjYsMHgwMiwweGNjLDB4MDAsMHhiMywweDAxLDB4MjAgfSwKLSAgMTYsIDB4OGZmMCwgMCwgezB4YzAsMHg4YSwweGIwLDB4ODYsMHhjZiwweDAwLDB4YmIsMHgxMCwweDZjLDB4YzEsMHgwYSwweDM4LDB4MDIsMHgwYywweDAxLDB4YjMgfSwKLSAgMTYsIDB4OTAwMCwgMCwgezB4MDIsMHgyOCwweGMwLDB4MGIsMHhiMCwweDBhLDB4MGMsMHgwMCwweDgxLDB4MDAsMHgyZSwweGMwLDB4MGEsMHhiNCwweDgyLDB4ZDIgfSwKLSAgMTYsIDB4OTAxMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOCwweDAwLDB4ZmUsMHg0MCwweGI2LDB4ODAgfSwKLSAgMTYsIDB4OTAyMCwgMCwgezB4MGMsMHhlNCwweDAzLDB4NzgsMHg4MCwweGZlLDB4NzQsMHgzMiwweDgwLDB4MGIsMHhlNiwweDAzLDB4ZjksMHgwMCwweGZlLDB4MDAgfSwKLSAgMTYsIDB4OTAzMCwgMCwgezB4M2UsMHg4MCwweDBjLDB4ZTAsMHgwMywweDI4LDB4MDAsMHhmYSwweDAwLDB4M2UsMHg4MCwweDRkLDB4YTAsMHgwMywweGE4LDB4MDAgfSwKLSAgMTYsIDB4OTA0MCwgMCwgezB4ZGEsMHgwNCwweDNlLDB4ODAsMHgwYywweGU0LDB4MDMsMHhmYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTA1MCwgMCwgezB4NDgsMHgwMCwweGUwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDJlLDB4ODAsMHgyMywweGUwLDB4MDAsMHhmOCwweDAxLDB4M2MgfSwKLSAgMTYsIDB4OTA2MCwgMCwgezB4MDAsMHgwZSwweDgwLDB4MDMsMHhlMCwweDIwLDB4ZjgsMHgyMCwweDNlLDB4MDEsMHg4ZiwweDg5LDB4MDMsMHhlMCwweDAwLDB4ZjggfSwKLSAgMTYsIDB4OTA3MCwgMCwgezB4MDAsMHgzYSwweDEwLDB4MGUsMHg4MCwweDAxLDB4ZTAsMHgwMCwweGU4LDB4NDAsMHg3ZSwweDAwLDB4NGYsMHg4MCwweDAzLDB4ZDIgfSwKLSAgMTYsIDB4OTA4MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDAyLDB4YzksMHgwMSwweDdlLDB4NDAgfSwKLSAgMTYsIDB4OTA5MCwgMCwgezB4MmMsMHg5MCwweDBiLDB4MjQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDY4LDB4MDUsMHg5MCwweDEzLDB4YTQsMHgwNCwweGQ5LDB4MDAgfSwKLSAgMTYsIDB4OTBhMCwgMCwgezB4MzIsMHg0MSwweDBlLDB4OTEsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg2MCwweDBlLDB4OTAsMHgwMywweDI0LDB4MDAgfSwKLSAgMTYsIDB4OTBiMCwgMCwgezB4ZjEsMHgwMCwweDMyLDB4NDAsMHg2OCwweDkwLDB4NDMsMHg4MiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTBjMCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDAsMHg4OSwweDAwLDB4NmUsMHg0MCwweDA4LDB4OTAsMHg0MiwweDI0LDB4MDAsMHhiOSwweDAwLDB4MmUgfSwKLSAgMTYsIDB4OTBkMCwgMCwgezB4NzAsMHg4OCwweDkwLDB4MDMsMHgyNCwweDAwLDB4YjksMHgwMCwweDIyLDB4NDAsMHgwOCwweDk4LDB4MTIsMHhlNCwweDAwLDB4YjkgfSwKLSAgMTYsIDB4OTBlMCwgMCwgezB4MDAsMHgyZSwweDQwLDB4MGEsMHg5MCwweDBhLDB4MjYsMHgwMCwweGI5LDB4ODAsMHhhMiwweDQwLDB4MDgsMHg5MCwweDEyLDB4MjAgfSwKLSAgMTYsIDB4OTBmMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDAwLDB4ODksMHgwNCwweDJjLDB4NDAgfSwKLSAgMTYsIDB4OTEwMCwgMCwgezB4MDgsMHg5MCwweDAyLDB4MjQsMHgwMSwweGI5LDB4MDAsMHgyYSwweDQwLDB4MGIsMHhiMCwweDAyLDB4YTQsMHgwMSwweGI5LDB4MDAgfSwKLSAgMTYsIDB4OTExMCwgMCwgezB4ZTAsMHg0MCwweDBhLDB4OTAsMHg4MiwweGE0LDB4MDAsMHhiOSwweDAwLDB4MmMsMHg0OCwweDBhLDB4OTgsMHgwMiwweDI0LDB4ODAgfSwKLSAgMTYsIDB4OTEyMCwgMCwgezB4MzksMHgyMCwweDIyLDB4NDAsMHgyYSwweDkwLDB4MDIsMHg4NiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTEzMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4ODAsMHg4MSwweDAwLDB4MmMsMHg0OCwweDA4LDB4MTAsMHgxMiwweDA0LDB4MTAsMHhiMSwweDA0LDB4MmMgfSwKLSAgMTYsIDB4OTE0MCwgMCwgezB4ZDgsMHgwYSwweDEwLDB4MDIsMHgwNCwweDAwLDB4YjEsMHgwMCwweDIwLDB4NDgsMHgwOCwweDEwLDB4MDIsMHhjNCwweDgwLDB4YjEgfSwKLSAgMTYsIDB4OTE1MCwgMCwgezB4MjIsMHgyYywweDUwLDB4OGEsMHgzMiwweDgyLDB4MDUsMHhhMCwweGIxLDB4MmEsMHgyMCwweDRhLDB4MGEsMHgxMiwweDgyLDB4MDIgfSwKLSAgMTYsIDB4OTE2MCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MSwweDUwLDB4YzgsMHg1MiwweDJlLDB4MTQgfSwKLSAgMTYsIDB4OTE3MCwgMCwgezB4MGMsMHg4NSwweDAzLDB4MjEsMHg0MCwweGY4LDB4NTAsMHgzYSwweDAwLDB4MWYsMHg4NSwweDAzLDB4YTEsMHg0MCwweGY4LDB4NTAgfSwKLSAgMTYsIDB4OTE4MCwgMCwgezB4MzIsMHgxNCwweDBlLDB4ODAsMHgwMywweGExLDB4NDAsMHhmOCwweDUwLDB4M2MsMHg4MCwweDBlLDB4MDIsMHgwMywweDIwLDB4ODAgfSwKLSAgMTYsIDB4OTE5MCwgMCwgezB4ZmEsMHgyMCwweDMyLDB4MDgsMHgwZSwweDgyLDB4MTMsMHhhZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTFhMCwgMCwgezB4OTgsMHgxZCwweGU0LDB4NTAsMHhmZCwweDAwLDB4M2UsMHg0NCwweDBmLDB4ZDAsMHgwMywweGY0LDB4MDAsMHhmZCwweDAwLDB4M2UgfSwKLSAgMTYsIDB4OTFiMCwgMCwgezB4NDQsMHg4ZCwweGQwLDB4MDEsMHhiZCwweDAwLDB4ZmQsMHgwMiwweDNlLDB4NDQsMHgwZiwweGQ0LDB4MDAsMHhlNCwweDQ4LDB4NzkgfSwKLSAgMTYsIDB4OTFjMCwgMCwgezB4MTQsMHgzZSwweDUwLDB4MGYsMHg5MiwweGEyLDB4ZjQsMHgwOCwweGZkLDB4MDAsMHgzZSwweDRhLDB4MGQsMHhkMiwweDgzLDB4ZTYgfSwKLSAgMTYsIDB4OTFkMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhlNywweDAwLDB4ZjksMHgxMCwweDNhLDB4NmUgfSwKLSAgMTYsIDB4OTFlMCwgMCwgezB4MGMsMHhiMSwweDAzLDB4ZTQsMHg0MCwweGY5LDB4NDQsMHgzYiwweDYxLDB4OGUsMHg5NCwweDAzLDB4ZTQsMHgwMCwweGU5LDB4NDAgfSwKLSAgMTYsIDB4OTFmMCwgMCwgezB4MzIsMHg2NiwweDBmLDB4ZGEsMHgwYiwweGE3LDB4MjgsMHhjOSwweGUwLDB4M2YsMHg2OCwweDBjLDB4ZGEsMHg4MywweGIzLDB4MjAgfSwKLSAgMTYsIDB4OTIwMCwgMCwgezB4ZWQsMHhhMCwweDMzLDB4NzksMHgwOCwweGQ4LDB4MDMsMHg0NiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTIxMCwgMCwgezB4MzgsMHgxMCwweGUyLDB4MDAsMHhiOCwweGEwLDB4MmUsMHgzOCwweDA4LDB4OGEsMHgwMiwweGUyLDB4ODgsMHhlOCwweDgxLDB4MmUgfSwKLSAgMTYsIDB4OTIyMCwgMCwgezB4MTQsMHgwOSwweDBhLDB4MDMsMHhlMiwweDgwLDB4YjgsMHg4MCwweDMyLDB4MzAsMHgwYiwweDg1LDB4MDIsMHgyMSwweDAxLDB4YTggfSwKLSAgMTYsIDB4OTIzMCwgMCwgezB4ZjQsMHgzOCwweDJhLDB4MDgsMHgwZSwweGNhLDB4MjMsMHg5MCwweGM4LDB4NTQsMHgzNCwweDM4LDB4MDgsMHg4YSwweDkyLDB4MGUgfSwKLSAgMTYsIDB4OTI0MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNSwweDAwLDB4YjEsMHgwMCwweDI4LDB4NDAgfSwKLSAgMTYsIDB4OTI1MCwgMCwgezB4MTksMHgxMCwweDAyLDB4YzQsMHgwMCwweGIxLDB4MjAsMHgyOCwweDQwLDB4MGIsMHgxMCwweDA2LDB4YzQsMHgyMCwweGExLDB4YTIgfSwKLSAgMTYsIDB4OTI2MCwgMCwgezB4NmMsMHg0OCwweDBiLDB4MTAsMHgwMiwweDg0LDB4MDgsMHg4MSwweDIwLDB4MmMsMHg1MCwweDA5LDB4MTAsMHgwMiwweGM0LDB4MDQgfSwKLSAgMTYsIDB4OTI3MCwgMCwgezB4YjEsMHgwMCwweDI0LDB4NTgsMHgwOCwweDNjLDB4MDIsMHg0MiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTI4MCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MDEsMHhiOSwweDIwLDB4MmMsMHg0MCwweDA5LDB4OTAsMHgwMiwweGU0LDB4MTAsMHhhOSwweDQwLDB4MmUgfSwKLSAgMTYsIDB4OTI5MCwgMCwgezB4NDAsMHgwYiwweDkwLDB4MDIsMHhhNCwweDAwLDB4YjEsMHgwMSwweDJhLDB4NDAsMHgwYiwweDk0LDB4MDIsMHgyNCwweDAwLDB4YTkgfSwKLSAgMTYsIDB4OTJhMCwgMCwgezB4MDAsMHgyYSwweDQwLDB4MDEsMHgxMCwweDUyLDB4NjQsMHgwMCwweDg5LDB4MDAsMHgyNiwweDQwLDB4MDAsMHg5OCwweDAyLDB4NDYgfSwKLSAgMTYsIDB4OTJiMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNCwweDAwLDB4ZjksMHg2MSwweDNhLDB4NDAgfSwKLSAgMTYsIDB4OTJjMCwgMCwgezB4MGQsMHg5MCwweDgzLDB4ZTUsMHgyMCwweGY5LDB4MDEsMHgzYSwweDQwLDB4MmUsMHg5MCwweDAyLDB4ZTQsMHg0MCwweGU5LDB4MDEgfSwKLSAgMTYsIDB4OTJkMCwgMCwgezB4OWUsMHg0MCwweDBmLDB4OTQsMHgwMywweGE0LDB4MDAsMHg4OSwweDAwLDB4M2UsMHg0MCwweDJkLDB4OTAsMHgwMiwweGU2LDB4MDggfSwKLSAgMTYsIDB4OTJlMCwgMCwgezB4YjksMHgwMSwweDM2LDB4NDAsMHgyYywweDkwLDB4MDEsMHg2OCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTJmMCwgMCwgezB4MjgsMHgwMSwweGE0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0MCwweDJlLDB4OTAsMHgwMywweGU0LDB4ODAsMHhmOSwweDAwLDB4M2MgfSwKLSAgMTYsIDB4OTMwMCwgMCwgezB4NDAsMHgwYywweDljLDB4MjMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDM2LDB4NDAsMHgwZiwweDEwLDB4NDMsMHg4NCwweDAwLDB4ZjkgfSwKLSAgMTYsIDB4OTMxMCwgMCwgezB4MDIsMHgzZSwweDQwLDB4MGUsMHg5MCwweDAzLDB4ODAsMHg4MCwweGY5LDB4MDAsMHgzYywweDQwLDB4MmYsMHg5MCwweDAzLDB4OGEgfSwKLSAgMTYsIDB4OTMyMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMCwweDAwLDB4YzgsMHg0MCwweDM2LDB4MDEgfSwKLSAgMTYsIDB4OTMzMCwgMCwgezB4MGQsMHg4NCwweDAzLDB4ZTEsMHgwMCwweGU4LDB4NDAsMHgzZSwweDA4LDB4MGMsMHg4MCwweDAzLDB4ZTEsMHgwMCwweGY4LDB4MDAgfSwKLSAgMTYsIDB4OTM0MCwgMCwgezB4MzIsMHgwMCwweDhmLDB4ODAsMHgwMywweGEwLDB4MTAsMHhmOCwweDAwLDB4MzIsMHgwNCwweDBlLDB4ODAsMHg4MywweDYwLDB4MDAgfSwKLSAgMTYsIDB4OTM1MCwgMCwgezB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwYywweDAwLDB4MDMsMHgwYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTM2MCwgMCwgezB4MjgsMHgwNSwweDI4LDB4MDAsMHg4YSwweDAxLDB4MjIsMHg4MCwweDA4LDB4YTAsMHgyNCwweGU4LDB4MDAsMHgwYSwweDAwLDB4MmYgfSwKLSAgMTYsIDB4OTM3MCwgMCwgezB4ODAsMHgxYSwweGEwLDB4MDIsMHgyOCwweDAwLDB4YmEsMHgwMCwweDE2LDB4ODAsMHgwYiwweGUwLDB4MDMsMHgyOCwweDA4LDB4ZWEgfSwKLSAgMTYsIDB4OTM4MCwgMCwgezB4MDAsMHgzMywweDkwLDB4MDgsMHhlYywweDFiLDB4MjIsMHg4MCwweGM2LDB4MTQsMHgyZiwweDkxLDB4MDgsMHhhMCwweDQzLDB4NGEgfSwKLSAgMTYsIDB4OTM5MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAwLDB4OTMsMHgwMCwweDI0LDB4YzAgfSwKLSAgMTYsIDB4OTNhMCwgMCwgezB4MDksMHgzMCwweDEyLDB4Y2MsMHgwNCwweGEzLDB4MDQsMHg2YywweGMwLDB4MDksMHgzMCwweDAyLDB4OGMsMHgwMCwweGIzLDB4MDAgfSwKLSAgMTYsIDB4OTNiMCwgMCwgezB4MmMsMHhjMCwweDEzLDB4MzAsMHgwMiwweDhjLDB4MDAsMHhiMywweDAwLDB4ZTYsMHhiOCwweDBhLDB4MzgsMHgwMiwweDQ0LDB4MDggfSwKLSAgMTYsIDB4OTNjMCwgMCwgezB4ODIsMHg1MCwweDJjLDB4ZDIsMHgzYSwweDMwLDB4MDIsMHg4YSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTNkMCwgMCwgezB4YTAsMHgwMSwweDBlLDB4ODAsMHg5NywweGI0LDB4MjEsMHhjNCwweDQ5LDB4NzEsMHgwMiwweGRlLDB4ODEsMHg4NywweDIxLDB4MmQgfSwKLSAgMTYsIDB4OTNlMCwgMCwgezB4ZDAsMHgwYiwweDdiLDB4MDIsMHgxYywweDAxLDB4YmYsMHgyMCwweDI5LDB4YzQsMHgwYiwweDMwLDB4MDIsMHg1YywweDAwLDB4YTcgfSwKLSAgMTYsIDB4OTNmMCwgMCwgezB4YTEsMHgyMSwweGMwLDB4NGEsMHg3MCwweDhhLDB4MGMsMHg4MSwweDg0LDB4MDAsMHgyZCwweGQwLDB4MGEsMHg1MCwweDAyLDB4ZTggfSwKLSAgMTYsIDB4OTQwMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZSwweDgyLDB4ZGYsMHhhMCwweDM0LDB4ZWMgfSwKLSAgMTYsIDB4OTQxMCwgMCwgezB4MGQsMHg3OSwweDAyLDB4ZmUsMHg4MCwweGU3LDB4ZTgsMHgyZiwweGEwLDB4MDksMHg3YSwweDAyLDB4OWUsMHgwMCwweGY3LDB4YTIgfSwKLSAgMTYsIDB4OTQyMCwgMCwgezB4MjUsMHhlYSwweDBiLDB4NDgsMHgwMywweDllLDB4MDQsMHhmZiwweGMwLDB4NjUsMHhlNCwweDBlLDB4NjgsMHgwMywweDVmLDB4MDAgfSwKLSAgMTYsIDB4OTQzMCwgMCwgezB4ZTQsMHg4MCwweDNkLDB4ZTAsMHgwZSwweGY4LDB4MDMsMHhhYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTQ0MCwgMCwgezB4MDgsMHgxZCwweGFjLDB4NDgsMHhlYiwweDA1LDB4M2UsMHhkOSwweDBlLDB4YjIsMHgwMywweGVjLDB4MDAsMHhmYiwweDYwLDB4M2UgfSwKLSAgMTYsIDB4OTQ1MCwgMCwgezB4YzAsMHgwZSwweGIyLDB4ODMsMHhhYywweDAwLDB4ZjMsMHg1MCwweGE2LDB4YzAsMHg0ZiwweGIwLDB4MDMsMHhhYywweDAwLDB4ZmIgfSwKLSAgMTYsIDB4OTQ2MCwgMCwgezB4ODAsMHgzZiwweGQ4LDB4MGQsMHhhMCwweDAzLDB4ZWMsMHgwYSwweGY5LDB4MDAsMHgzZSwweGMwLDB4MGQsMHg5MCwweDAzLDB4NDIgfSwKLSAgMTYsIDB4OTQ3MCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmZSwweDAwLDB4YmIsMHg5MCwweDNlLDB4ZTAgfSwKLSAgMTYsIDB4OTQ4MCwgMCwgezB4MDgsMHgzOSwweDAzLDB4OWUsMHgyMCwweGNmLDB4ODIsMHg3NywweGUwLDB4MWYsMHhmOCwweDAzLDB4ZWUsMHgwMCwweGZmLDB4YzAgfSwKLSAgMTYsIDB4OTQ5MCwgMCwgezB4M2YsMHhlNSwweDBkLDB4ZjksMHgwMywweGVlLDB4MDAsMHhmYiwweDkwLDB4MzcsMHhhMCwweDA4LDB4ZjgsMHgwZiwweDFlLDB4MDAgfSwKLSAgMTYsIDB4OTRhMCwgMCwgezB4Y2MsMHg5NCwweDMzLDB4NjAsMHgwZCwweGY4LDB4MDMsMHhjMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTRiMCwgMCwgezB4YTgsMHgxMSwweDljLDB4MDAsMHhiNywweDkwLDB4MmYsMHhlNCwweDA4LDB4N2EsMHgwMiwweDFlLDB4MDAsMHg4ZiwweDEyLDB4MjUgfSwKLSAgMTYsIDB4OTRjMCwgMCwgezB4ZDgsMHgwYiwweGJiLDB4MDIsMHgxZSwweDAwLDB4YjcsMHgwMCwweDJkLDB4ZTgsMHgwOCwweDdkLDB4ODIsMHhkZSwweDQwLDB4YmIgfSwKLSAgMTYsIDB4OTRkMCwgMCwgezB4YTAsMHgyNywweDkwLDB4MGEsMHg3NiwweDAyLDB4NWMsMHg4MCwweDg1LDB4MDAsMHgzNywweGM0LDB4NGQsMHg3MSwweDAzLDB4ZWEgfSwKLSAgMTYsIDB4OTRlMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5YywweDAwLDB4YjcsMHgyMCwweDJkLDB4YzAgfSwKLSAgMTYsIDB4OTRmMCwgMCwgezB4MjksMHhmMiwweDIyLDB4YmMsMHg4MCwweDk3LDB4MDAsMHgyNSwweDQxLDB4MGIsMHg3MCwweDEyLDB4OWMsMHgwMCwweGI3LDB4MDggfSwKLSAgMTYsIDB4OTUwMCwgMCwgezB4MjksMHhjMCwweDA4LDB4NDIsMHgxMiwweGRjLDB4NDAsMHhiNywweDAwLDB4MjksMHhjMCwweDA5LDB4NjAsMHgyMiwweGRjLDB4MTAgfSwKLSAgMTYsIDB4OTUxMCwgMCwgezB4ODAsMHgwMCwweDIxLDB4NDAsMHgwOSwweDcwLDB4MDIsMHhjMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTUyMCwgMCwgezB4MjAsMHgxNCwweGNjLDB4MDAsMHhiMywweGMwLDB4MmUsMHhjMCwweDA4LDB4MzQsMHg4MiwweDJkLDB4MDAsMHg5MywweDAwLDB4MjQgfSwKLSAgMTYsIDB4OTUzMCwgMCwgezB4YzAsMHgwYiwweDMwLDB4MDIsMHgwZiwweDgwLDB4MTMsMHgwMCwweDJjLDB4YzAsMHgwYSwweDM0LDB4YTIsMHhlYywweDAwLDB4YjMgfSwKLSAgMTYsIDB4OTU0MCwgMCwgezB4MDAsMHgyOCwweGMwLDB4MGIsMHgwMCwweDAyLDB4Y2MsMHgwMCwweDgxLDB4MDAsMHgyMCwweGMwLDB4MDksMHgzMCwweDAyLDB4ODkgfSwKLSAgMTYsIDB4OTU1MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTEsMHhiYywweDAwLDB4ZmYsMHhlMCwweDNmLDB4YzAgfSwKLSAgMTYsIDB4OTU2MCwgMCwgezB4MGMsMHhmNCwweDgzLDB4YmQsMHgwMCwweGRmLDB4MDgsMHgzNiwweDQwLDB4MGIsMHg3NSwweDQyLDB4ZmMsMHgyMCwweGZmLDB4ODAgfSwKLSAgMTYsIDB4OTU3MCwgMCwgezB4M2IsMHhjMCwweDJjLDB4M2MsMHgwMywweGZjLDB4MDAsMHhiZiwweDAwLDB4YmUsMHhjMCwweDhkLDB4OTAsMHgwYiwweGFjLDB4MDIgfSwKLSAgMTYsIDB4OTU4MCwgMCwgezB4Y2EsMHgwMCwweDIyLDB4ODAsMHgwZCwweGIwLDB4MDIsMHhlYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTU5MCwgMCwgezB4ODAsMHgwMCwweGVjLDB4MDAsMHhmYiwweDA4LDB4MWUsMHhjMCwweDBmLDB4YjAsMHgxMywweGVjLDB4MDAsMHhlYiwweDAwLDB4M2EgfSwKLSAgMTYsIDB4OTVhMCwgMCwgezB4MTAsMHgwZiwweGIwLDB4MjMsMHhhYywweDAxLDB4ZmIsMHgwMCwweDNlLDB4YzAsMHgzYywweDg0LDB4MDMsMHhlYywweDAwLDB4ZmIgfSwKLSAgMTYsIDB4OTViMCwgMCwgezB4MDAsMHgyNiwweDQwLDB4MGUsMHg5NCwweDBiLDB4MmMsMHgwMCwweGY5LDB4NDAsMHgzZSwweDkwLDB4MGUsMHg5MCwweDEzLDB4ZTAgfSwKLSAgMTYsIDB4OTVjMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhkYywweDAyLDB4Y2YsMHgwMCwweDNmLDB4YzAgfSwKLSAgMTYsIDB4OTVkMCwgMCwgezB4MGQsMHhmMCwweDBiLDB4M2MsMHgyMCwweGNmLDB4MDAsMHgzZCwweDAwLDB4MGUsMHhmMCwweDA3LDB4OWMsMHgwMSwweGNmLDB4MDIgfSwKLSAgMTYsIDB4OTVlMCwgMCwgezB4M2UsMHhjMCwweDBmLDB4YzQsMHgwMywweDNjLDB4MDAsMHhjZiwweDAwLDB4MGYsMHhjMCwweDBlLDB4NDQsMHgwMywweDFmLDB4MDIgfSwKLSAgMTYsIDB4OTVmMCwgMCwgezB4Y2MsMHgwMCwweDNmLDB4ODAsMHgyYywweDcwLDB4MDMsMHgwMCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTYwMCwgMCwgezB4ODEsMHgwNCwweDZjLDB4MDAsMHg4YiwweDAyLDB4MmUsMHhjMCwweDBkLDB4YjAsMHgwMiwweDJjLDB4MDAsMHhhYiwweDAwLDB4MDYgfSwKLSAgMTYsIDB4OTYxMCwgMCwgezB4MjAsMHgwOCwweGIwLDB4MDMsMHhmYywweDAwLDB4YWIsMHgwMCwweDJlLDB4YzAsMHgwZiwweDgwLDB4MDYsMHhiYywweDAwLDB4YWIgfSwKLSAgMTYsIDB4OTYyMCwgMCwgezB4MDQsMHgzYSwweGYwLDB4MGMsMHg4OCwweDAyLDB4MmMsMHgwMCwweGM5LDB4ODAsMHgzYSwweDkyLDB4MDgsMHg5MCwweDBhLDB4YTAgfSwKLSAgMTYsIDB4OTYzMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAwLDB4YWIsMHgwMCwweDJlLDB4YzAgfSwKLSAgMTYsIDB4OTY0MCwgMCwgezB4MDksMHgzMCwweDAyLDB4MmMsMHgwMCwweDhiLDB4MDAsMHgyNiwweDYwLDB4MGIsMHhiMCwweDAyLDB4YWMsMHgwMCwweDhiLDB4MDAgfSwKLSAgMTYsIDB4OTY1MCwgMCwgezB4NmUsMHhjMCwweDBiLDB4YjAsMHg0MiwweDJjLDB4MDAsMHg5YiwweDAwLDB4NGMsMHhlMCwweDBhLDB4OTAsMHgyMiwweDJjLDB4MDAgfSwKLSAgMTYsIDB4OTY2MCwgMCwgezB4OGEsMHhjMiwweDJjLDB4NDAsMHgwOCwweGIwLDB4NDIsMHgyMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTY3MCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDAsMHg4MywweDBkLDB4MmMsMHhjNiwweDA5LDB4MzEsMHgwMiwweDBkLDB4ODEsMHhhMywweDExLDB4MjQgfSwKLSAgMTYsIDB4OTY4MCwgMCwgezB4MDAsMHg4YSwweGIxLDB4ZTIsMHg0YywweDgwLDB4YTMsMHgwMCwweDJjLDB4Y2MsMHgwYiwweDAyLDB4MDIsMHg4YywweDgwLDB4YTMgfSwKLSAgMTYsIDB4OTY5MCwgMCwgezB4NDgsMHgwOCwweGMwLDB4MDgsMHgwMCwweDBhLDB4MGQsMHgwMCwweDgxLDB4MDAsMHgyOCwweGMwLDB4MDgsMHgzMCwweDAyLDB4ODIgfSwKLSAgMTYsIDB4OTZhMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2YywweDAwLDB4Y2IsMHgyMCwweDJmLDB4YzggfSwKLSAgMTYsIDB4OTZiMCwgMCwgezB4OGQsMHhmNiwweDEzLDB4MmQsMHhiMCwweDhmLDB4MDAsMHgzNiwweDQwLDB4MGYsMHhmMCwweDAyLDB4YWQsMHhhOCwweDhmLDB4MTAgfSwKLSAgMTYsIDB4OTZjMCwgMCwgezB4M2YsMHhjYSwweDBiLDB4ODAsMHg5MiwweDJjLDB4MTAsMHhkYiwweDQwLDB4M2YsMHhjMCwweDBlLDB4MDAsMHgwMywweDJkLDB4MDQgfSwKLSAgMTYsIDB4OTZkMCwgMCwgezB4YzgsMHgwMiwweDNlLDB4NDAsMHgwYywweGIwLDB4MDMsMHgwMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTZlMCwgMCwgezB4YTAsMHgxZCwweGZjLDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjOCwweDBlLDB4ZjEsMHgwMywweGVjLDB4ODQsMHhmZiwweDIwLDB4MzcgfSwKLSAgMTYsIDB4OTZmMCwgMCwgezB4MDAsMHgwZCwweGIyLDB4MDMsMHhiYywweGEwLDB4ZmYsMHgwMCwweDNlLDB4YzksMHgwZSwweDgwLDB4MDMsMHhmZCwweDExLDB4ZmYgfSwKLSAgMTYsIDB4OTcwMCwgMCwgezB4MDAsMHgzYiwweGMwLDB4MGUsMHhjMCwweDAzLDB4ZmMsMHg4MCwweGVkLDB4MDAsMHgzYiwweGMwLDB4MGYsMHhmMCwweDQzLDB4NjggfSwKLSAgMTYsIDB4OTcxMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDEsMHhmYywweDkwLDB4Y2MsMHg5MiwweDNiLDB4YzggfSwKLSAgMTYsIDB4OTcyMCwgMCwgezB4MGQsMHhmMCwweDgzLDB4NzMsMHgxMCwweGZmLDB4MjgsMHgzNywweGNhLDB4NGYsMHhiMiwweDAzLDB4ZmMsMHgwMCwweGRmLDB4MjAgfSwKLSAgMTYsIDB4OTczMCwgMCwgezB4YjMsMHhjNCwweDBkLDB4NjgsMHg0MywweGZlLDB4MTQsMHhjYiwweDg0LDB4MzMsMHhlMCwweDBkLDB4NzgsMHgwMywweGJlLDB4MDAgfSwKLSAgMTYsIDB4OTc0MCwgMCwgezB4ZmYsMHg4MCwweDM3LDB4YTAsMHgwYywweGYzLDB4MDMsMHgzMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTc1MCwgMCwgezB4ODAsMHgwMCwweGZjLDB4NDgsMHg4MiwweDIxLDB4MDMsMHhmNCwweDBmLDB4ZjYsMHg0MiwweDIwLDB4MDQsMHg4YSwweDYwLDB4MmIgfSwKLSAgMTYsIDB4OTc2MCwgMCwgezB4ZGEsMHgwYiwweGY5LDB4MDIsMHgzZiwweDA0LDB4OGYsMHg1MiwweDIzLDB4ZDUsMHg0ZCwweDg4LDB4MDIsMHhhZSwweDAwLDB4ZGIgfSwKLSAgMTYsIDB4OTc3MCwgMCwgezB4ODAsMHgzNiwweGMwLDB4MDgsMHg4MCwweDAyLDB4MjAsMHgwNCwweGI4LDB4MDAsMHgyMiwweDYwLDB4MGQsMHg3NCwweDAzLDB4ZTAgfSwKLSAgMTYsIDB4OTc4MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweGEwLDB4ODAsMHgwMSwweDA4LDB4YzAgfSwKLSAgMTYsIDB4OTc5MCwgMCwgezB4NGIsMHgzMCwweDgyLDB4NDIsMHg5MCwweGEzLDB4MDgsMHgyYywweGM4LDB4MWEsMHgzMCwweDIyLDB4OGQsMHgwMCwweDkzLDB4MDAgfSwKLSAgMTYsIDB4OTdhMCwgMCwgezB4MjQsMHhjOCwweDA5LDB4YTAsMHgxMiwweDBjLDB4MDQsMHhhYiwweDAwLDB4NjIsMHhjMCwweDA5LDB4YjAsMHgwMiwweGNjLDB4MDAgfSwKLSAgMTYsIDB4OTdiMCwgMCwgezB4YjMsMHgwMCwweDI4LDB4ODAsMHgwOCwweDM2LDB4MDYsMHhhMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTdjMCwgMCwgezB4YzAsMHgxNSwweGFjLDB4MDAsMHg4OCwweDA4LDB4MjIsMHhjMCwweDBhLDB4MzAsMHgxYSwweDAwLDB4MTEsMHg4MiwweDAwLDB4MGEgfSwKLSAgMTYsIDB4OTdkMCwgMCwgezB4YzAsMHgwYiwweGIwLDB4NDIsMHgyYywweDAwLDB4OGIsMHgwMCwweDI2LDB4YzAsMHgwOSwweDkxLDB4MDIsMHhlYywweDIwLDB4YmIgfSwKLSAgMTYsIDB4OTdlMCwgMCwgezB4MjgsMHg2NiwweGMwLDB4MDgsMHg4MCwweDAyLDB4NjAsMHgwMCwweGI4LDB4MDAsMHgyYSwweDQwLDB4ODEsMHhiMCwweDA2LDB4ZjggfSwKLSAgMTYsIDB4OTdmMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTUsMHhlYywweDAyLDB4YzgsMHgwNCwweDNhLDB4YzAgfSwKLSAgMTYsIDB4OTgwMCwgMCwgezB4ODksMHhiMCwweDAzLDB4NjgsMHgwMCwweGU5LDB4YzEsMHgxZSwweGMxLDB4MGUsMHgzMCwweDAzLDB4ZWMsMHgwMCwweGRiLDB4MDAgfSwKLSAgMTYsIDB4OTgxMCwgMCwgezB4MzYsMHhjMSwweDBkLDB4MDAsMHgyMywweDBlLDB4MDAsMHhlYiwweDgwLDB4MzIsMHhjOCwweGNkLDB4MzAsMHgzMiwweGVjLDB4MDggfSwKLSAgMTYsIDB4OTgyMCwgMCwgezB4ZjMsMHgwMCwweDNjLDB4ODAsMHgwYywweGIwLDB4MDYsMHg4MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTgzMCwgMCwgezB4ZTAsMHgwMSwweDljLDB4MDAsMHg3YywweDAwLDB4M2YsMHhjMCwweDBiLDB4YjAsMHg0MywweGZkLDB4MDAsMHhiZSwweGM0LDB4MzcgfSwKLSAgMTYsIDB4OTg0MCwgMCwgezB4YzAsMHgxZiwweGYwLDB4MDMsMHg1YywweDAwLDB4ZmYsMHgwMSwweDNiLDB4YzAsMHgwZSwweGM4LDB4MDMsMHhiZiwweDIwLDB4ZGYgfSwKLSAgMTYsIDB4OTg1MCwgMCwgezB4MDAsMHgzZiwweGQwLDB4MGYsMHhjMCwweDEzLDB4YjAsMHgwMCwweDdjLDB4MDAsMHhiNywweDQwLDB4MGYsMHhmMCwweDFiLDB4YjAgfSwKLSAgMTYsIDB4OTg2MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhYywweDBjLDB4ZDgsMHg0MSwweDMyLDB4YzAgfSwKLSAgMTYsIDB4OTg3MCwgMCwgezB4MGUsMHhiMCwweDA3LDB4YTgsMHgwMSwweDY5LDB4NDAsMHhiMiwweGMwLDB4OGQsMHhiMCwweGEzLDB4ZWMsMHgwOCwweGYzLDB4MDAgfSwKLSAgMTYsIDB4OTg4MCwgMCwgezB4MzIsMHhjMCwweDBmLDB4ODAsMHgwMywweGVkLDB4MDAsMHhmYiwweDQ4LDB4M2EsMHhjMCwweDBkLDB4YjAsMHg4MywweDJjLDB4MDAgfSwKLSAgMTYsIDB4OTg5MCwgMCwgezB4ZmIsMHgyMCwweDNlLDB4ODAsMHgwZiwweDcwLDB4MjMsMHhkMCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OThhMCwgMCwgezB4YzgsMHgwNSwweDNjLDB4MDAsMHg4OCwweDAwLDB4MjMsMHhjMCwweDA4LDB4ZjAsMHgwNiwweDJjLDB4MTAsMHg4OCwweDUxLDB4MzcgfSwKLSAgMTYsIDB4OThiMCwgMCwgezB4YzAsMHgwOCwweGYwLDB4MDcsMHg3ZCwweDYwLDB4OGYsMHgwMiwweDM3LDB4YzAsMHgwYiwweDhjLDB4MDAsMHgyZCwweDAwLDB4YjMgfSwKLSAgMTYsIDB4OThjMCwgMCwgezB4MDAsMHgzOCwweGMwLDB4MDgsMHg4MCwweDgyLDB4MjAsMHgwMCwweGI4LDB4MDAsMHgyZSwweDUwLDB4MGIsMHhmMCwweDAwLDB4MzIgfSwKLSAgMTYsIDB4OThkMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0YywweDAwLDB4OTgsMHgwMCwweDI4LDB4YzAgfSwKLSAgMTYsIDB4OThlMCwgMCwgezB4MGEsMHgzMCwweDAyLDB4ODQsMHgwNCwweGEzLDB4MDAsMHgwMCwweGMwLDB4NjgsMHgzOSwweDA2LDB4MGMsMHgxMCwweDkzLDB4MjAgfSwKLSAgMTYsIDB4OThmMCwgMCwgezB4MjIsMHhjMCwweDliLDB4MDEsMHhhMCwweDhmLDB4MTQsMHgzMywweDE0LDB4MjgsMHhjMCwweDA5LDB4M2MsMHgwMiwweDBjLDB4MDEgfSwKLSAgMTYsIDB4OTkwMCwgMCwgezB4OTMsMHg0MCwweDJjLDB4ODgsMHgwYiwweDMwLDB4MDIsMHhiOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTkxMCwgMCwgezB4NjAsMHgwMSwweDFlLDB4MTAsMHg4NywweDgwLDB4MjksMHhlMCwweDA4LDB4NzgsMHgwMiwweDNlLDB4MDAsMHg4MywweDkwLDB4MjQgfSwKLSAgMTYsIDB4OTkyMCwgMCwgezB4ZTAsMHgwOCwweDc4LDB4MTAsMHhjZSwweDA0LDB4MDcsMHg5MSwweDI1LDB4ZTAsMHg4MywweGM5LDB4MDIsMHgxZSwweDA0LDB4YjcgfSwKLSAgMTYsIDB4OTkzMCwgMCwgezB4ODQsMHgyYiwweGE0LDB4MDgsMHg0OCwweDQyLDB4MTIsMHhjYywweGI0LDB4ODAsMHgyZCwweDY0LDB4MGIsMHg3OCwweDAyLDB4MTkgfSwKLSAgMTYsIDB4OTk0MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDAsMHgyYywweDAwLDB4ZDAsMHgxMCwweDI4LDB4YzggfSwKLSAgMTYsIDB4OTk1MCwgMCwgezB4MGUsMHgzYiwweDAyLDB4ODQsMHgwMCwweGUzLDB4NDAsMHgzMCwweGM4LDB4MGMsMHgzOCwweDYyLDB4OGMsMHgwMCwweDUzLDB4MDAgfSwKLSAgMTYsIDB4OTk2MCwgMCwgezB4MzAsMHhjNCwweDFmLDB4MDAsMHgyMywweDhjLDB4M2MsMHhmMywweDgwLDB4MTgsMHhjMCwweDBkLDB4MzAsMHgwMywweDBlLDB4ODAgfSwKLSAgMTYsIDB4OTk3MCwgMCwgezB4ZDMsMHgxMCwweDNjLDB4ODAsMHgwZiwweDMwLDB4MDMsMHg5MiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTk4MCwgMCwgezB4NDAsMHgxZCwweGJkLDB4MDAsMHhmOSwweDEyLDB4YjQsMHhjMCwweDA3LDB4YjAsMHgwMywweGNjLDB4MDAsMHg0YSwweDAwLDB4NzcgfSwKLSAgMTYsIDB4OTk5MCwgMCwgezB4YzAsMHgwZSwweDcxLDB4NDMsMHg2YywweDAwLDB4ZjMsMHgwMCwweDNmLDB4ZDAsMHgxZiwweGQwLDB4NTMsMHhhYywweDY4LDB4ZmIgfSwKLSAgMTYsIDB4OTlhMCwgMCwgezB4MTgsMHgzZCwweGMwLDB4MGYsMHhjMCwweDEzLDB4ZjAsMHg1MCwweGZjLDB4MDQsMHgzZiwweDQwLDB4MGYsMHhmNCwweDAzLDB4OTAgfSwKLSAgMTYsIDB4OTliMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlZCwweDQwLDB4ZjgsMHgwNCwweDNlLDB4ZDIgfSwKLSAgMTYsIDB4OTljMCwgMCwgezB4MGYsMHhiMywweDEzLDB4ZTAsMHgxMCwweGY5LDB4MDAsMHhiMiwweGNjLDB4MGUsMHhiYSwweDAzLDB4NmQsMHg4MCwweGRiLDB4MDIgfSwKLSAgMTYsIDB4OTlkMCwgMCwgezB4MzIsMHhkYywweDRmLDB4MDAsMHgwMywweDZjLDB4MDQsMHhmMywweDAyLDB4MzYsMHg0MCwweDBlLDB4YjAsMHgwMywweGNjLDB4MDAgfSwKLSAgMTYsIDB4OTllMCwgMCwgezB4NGIsMHgwMCwweDNjLDB4ODAsMHgwYywweGYxLDB4MDMsMHg2MiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTlmMCwgMCwgezB4NDgsMHgxMSwweDljLDB4MDAsMHhiNCwweDAwLDB4MmQsMHhjOSwweDBiLDB4NzAsMHg4MiwweGRjLDB4MDAsMHhiYywweDA0LDB4MjEgfSwKLSAgMTYsIDB4OWEwMCwgMCwgezB4YzQsMHg0YiwweDM3LDB4MDIsMHgwYywweGEwLDB4OGYsMHg3NCwweDIxLDB4YzAsMHgwYiwweDQwLDB4MDIsMHgxYywweDgxLDB4YjcgfSwKLSAgMTYsIDB4OWExMCwgMCwgezB4MjAsMHgyYiwweGMwLDB4MDgsMHg0MCwweDAyLDB4ZDAsMHgwMiwweDg0LDB4MDAsMHgyZCwweDQwLDB4MGEsMHhmMiwweDAyLDB4MTIgfSwKLSAgMTYsIDB4OWEyMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZSwweDgwLDB4YjQsMHhjMCwweDJkLDB4ZTQgfSwKLSAgMTYsIDB4OWEzMCwgMCwgezB4MGIsMHg3YSwweDAyLDB4ZDIsMHgwMCwweGI1LDB4ODgsMHgyMSwweGU4LDB4MGEsMHg3OCwweDAyLDB4ZGUsMHg0MCwweDk3LDB4MDAgfSwKLSAgMTYsIDB4OWE0MCwgMCwgezB4MjEsMHhlOCwweDBiLDB4Y2MsMHg0NiwweDVlLDB4MjgsMHhiNywweGM0LDB4MjEsMHhmMCwweDBhLDB4NzgsMHgwMiwweGZlLDB4MDggfSwKLSAgMTYsIDB4OWE1MCwgMCwgezB4OTcsMHg4NCwweDJkLDB4YTAsMHgwOCwweDc4LDB4MDIsMHg3MCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWE2MCwgMCwgezB4MDgsMHgxNCwweGNjLDB4MDAsMHhiMCwweGMwLDB4MmMsMHhjMCwweDliLDB4YjAsMHgwMiwweGNjLDB4MjAsMHhiMywweDYwLDB4MjIgfSwKLSAgMTYsIDB4OWE3MCwgMCwgezB4YzAsMHgwYiwweDMwLDB4MDIsMHg4YywweDAwLDB4ODMsMHgwMSwweDIwLDB4YzAsMHgxYiwweDA2LDB4MTYsMHg0ZiwweDAwLDB4YjMgfSwKLSAgMTYsIDB4OWE4MCwgMCwgezB4YTAsMHgyYSwweGYwLDB4MDgsMHgwMCwweDAyLDB4ZTAsMHgwMCwweDkwLDB4MDAsMHgyYywweDQwLDB4MGEsMHgzMCwweDAyLDB4MDIgfSwKLSAgMTYsIDB4OWE5MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOCwweDEwLDB4ZmUsMHhjMCwweDNlLDB4ODAgfSwKLSAgMTYsIDB4OWFhMCwgMCwgezB4MGYsMHhhMCwweDAzLDB4ZjksMHgwOCwweGZlLDB4NDAsMHgyMiwweDgwLDB4MGUsMHhhMCwweDAzLDB4ZTgsMHgwMCwweGQyLDB4MDAgfSwKLSAgMTYsIDB4OWFiMCwgMCwgezB4MzIsMHg4MCwweDhmLDB4ZTAsMHgwMywweDU4LDB4MDAsMHhmNiwweDAwLDB4MzMsMHhiMCwweDBlLDB4MjAsMHgwMiwweGU4LDB4MGMgfSwKLSAgMTYsIDB4OWFjMCwgMCwgezB4ZDIsMHgwMiwweDNjLDB4ODAsMHgwYywweGEwLDB4MDMsMHg3YSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWFkMCwgMCwgezB4NDgsMHgwMCwweGUwLDB4MDAsMHhmOCwweDIwLDB4M2UsMHgwMSwweDBiLDB4ODAsMHgwMywweGUwLDB4MDAsMHhmMCwweDQwLDB4M2UgfSwKLSAgMTYsIDB4OWFlMCwgMCwgezB4MDAsMHg1NywweDgwLDB4MjMsMHgwMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDg0LDB4MDMsMHhhMCwweDMwLDB4MzggfSwKLSAgMTYsIDB4OWFmMCwgMCwgezB4MDAsMHgzYSwweDA4LDB4MGYsMHhjNCwweDAzLDB4ZjAsMHgwMCwweGVjLDB4MDAsMHgzZiwweDEwLDB4MGYsMHg4MCwweDAzLDB4ZDIgfSwKLSAgMTYsIDB4OWIwMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDAwLDB4ZDksMHgwMSwweDNjLDB4NDggfSwKLSAgMTYsIDB4OWIxMCwgMCwgezB4NGMsMHg5MCwweDBiLDB4MjQsMHgwMSwweGM5LDB4YzAsMHgzMiwweDQwLDB4YWMsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGQ5LDB4NDAgfSwKLSAgMTYsIDB4OWIyMCwgMCwgezB4MzAsMHg0MCwweDBkLDB4OWEsMHgwMywweDIyLDB4ODQsMHhjOCwweDE0LDB4MzIsMHg0MCwweDBlLDB4OTAsMHgwMywweDI0LDB4MDAgfSwKLSAgMTYsIDB4OWIzMCwgMCwgezB4YzksMHgwMCwweDgyLDB4NjgsMHgyYywweDkwLDB4MDMsMHgwMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWI0MCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDAsMHg4OSwweDAwLDB4MmUsMHg0MCwweDA4LDB4OTAsMHgyMiwweDI0LDB4MDAsMHg4OSwweDAyLDB4ODIgfSwKLSAgMTYsIDB4OWI1MCwgMCwgezB4NDAsMHgwOCwweDkwLDB4MDIsMHhlNywweDQwLDB4ODksMHg4MCwweDM2LDB4NDEsMHg4ZCwweDE4LDB4MDIsMHhhMCwweDI0LDB4YTggfSwKLSAgMTYsIDB4OWI2MCwgMCwgezB4MDQsMHg2MiwweDQwLDB4MDgsMHg5NCwweDgzLDB4MjQsMHgwMCwweDg5LDB4MDEsMHgyMiwweDcyLDB4MDgsMHg5MCwweDBiLDB4MjAgfSwKLSAgMTYsIDB4OWI3MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgwNCwweDAwLDB4OTksMHgwMCwweDJhLDB4NDAgfSwKLSAgMTYsIDB4OWI4MCwgMCwgezB4MjgsMHg5MCwweDEyLDB4MDQsMHgwMCwweDg5LDB4MDAsMHgyMiwweDQwLDB4MDgsMHg5MCwweDAyLDB4YTQsMHgyMCwweDk5LDB4MDAgfSwKLSAgMTYsIDB4OWI5MCwgMCwgezB4MjIsMHg0MCwweDE4LDB4OTAsMHgwNiwweDIwLDB4MDEsMHg4OCwweDA4LDB4NjIsMHg0MCwweDBhLDB4OTAsMHgwMiwweDM0LDB4MTAgfSwKLSAgMTYsIDB4OWJhMCwgMCwgezB4OGQsMHg4MSwweDIzLDB4NDEsMHgwOCwweDEwLDB4MDIsMHgwNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWJiMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4ODAsMHg4MSwweDA0LDB4MmMsMHg0OCwweDA4LDB4MTIsMHgwMiwweDA0LDB4MDIsMHg4MywweDIwLDB4MjAgfSwKLSAgMTYsIDB4OWJjMCwgMCwgezB4NDgsMHgwOCwweDEyLDB4MDIsMHhjNCwweDgwLDB4ODMsMHg2MCwweDI0LDB4NDgsMHgxOSwweDM0LDB4NjIsMHhhNSwweDA0LDB4YTEgfSwKLSAgMTYsIDB4OWJkMCwgMCwgezB4MDIsMHg2MCwweDQwLDB4MDgsMHhkMCwweDAyLDB4NTQsMHgwMCwweDhkLDB4MDAsMHgyOSwweDQwLDB4MDgsMHgxMiwweDgyLDB4MDIgfSwKLSAgMTYsIDB4OWJlMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MSwweDQwLDB4ZDgsMHg1MCwweDNhLDB4ODAgfSwKLSAgMTYsIDB4OWJmMCwgMCwgezB4MGMsMHg4NSwweDAyLDB4MjEsMHg0NCwweDg4LDB4NTAsMHgzMiwweDE0LDB4NGMsMHg4MCwweDQzLDB4ZTAsMHgwMCwweGQ4LDB4MDAgfSwKLSAgMTYsIDB4OWMwMCwgMCwgezB4MjIsMHgxNCwweDBjLDB4ODAsMHgwMywweDIwLDB4MDAsMHhjOCwweDAwLDB4YTIsMHgwMCwweDBlLDB4ODAsMHgwMywweDIwLDB4MDAgfSwKLSAgMTYsIDB4OWMxMCwgMCwgezB4YzgsMHgwMCwweDMzLDB4MDAsMHgwYywweDgyLDB4MDMsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWMyMCwgMCwgezB4OTgsMHgxZCwweGU0LDB4NDQsMHhmZCwweDAwLDB4M2UsMHg0NCwweDBmLDB4OTEsMHgwMywweGY0LDB4MTAsMHhmZiwweDEwLDB4M2UgfSwKLSAgMTYsIDB4OWMzMCwgMCwgezB4NDQsMHgwZiwweDkxLDB4MDMsMHhlNCwweDQwLDB4ZjksMHgxMCwweDNlLDB4NDQsMHgwYiwweGYwLDB4MTMsMHhlNSwweDEwLDB4ZjkgfSwKLSAgMTYsIDB4OWM0MCwgMCwgezB4NDAsMHgzZiwweDRhLDB4MmYsMHg5MiwweDhhLDB4YTQsMHhhMiwweGY5LDB4MjgsMHgzNiwweDQwLDB4MGYsMHg5MiwweDgzLDB4YTYgfSwKLSAgMTYsIDB4OWM1MCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MTEsMHhlNiwweGMwLDB4YzEsMHgwMCwweDNmLDB4NjkgfSwKLSAgMTYsIDB4OWM2MCwgMCwgezB4MGMsMHg5YSwweDQzLDB4NmMsMHgwMCwweGZkLDB4YTAsMHgzZSwweDc4LDB4MmMsMHhkOCwweDA3LDB4ZDYsMHgwMiwweGQ1LDB4OTYgfSwKLSAgMTYsIDB4OWM3MCwgMCwgezB4MzIsMHg3OCwweDBkLDB4OTAsMHgwMywweDI3LDB4MDAsMHhmZCwweGEwLDB4MzUsMHg1MCwweDA2LDB4ZDQsMHgwMywweGU1LDB4MDAgfSwKLSAgMTYsIDB4OWM4MCwgMCwgezB4ZmQsMHg0MCwweGIzLDB4NDAsMHgwZiwweDk4LDB4YTMsMHg0NiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWM5MCwgMCwgezB4MzgsMHgxMCwweGUzLDB4YzIsMHg4OCwweDg4LDB4MmUsMHgxNCwweGE4LDB4OGEsMHhjMiwweDIyLDB4YTAsMHhiOCwweGMwLDB4MmMgfSwKLSAgMTYsIDB4OWNhMCwgMCwgezB4MjQsMHg0OCwweDg0LDB4MDIsMHhlMSwweDAwLDB4OTgsMHhjNCwweDIwLDB4M2MsMHgwOCwweDhhLDB4ODIsMHgyMywweDgwLDB4YjggfSwKLSAgMTYsIDB4OWNiMCwgMCwgezB4MDQsMHgyMiwweDIwLDB4MDgsMHg4OCwweDAzLDB4YTIsMHgwMCwweGI4LDB4YTAsMHgyMiwweDAwLDB4MGIsMHg4OCwweDAyLDB4MGUgfSwKLSAgMTYsIDB4OWNjMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweDgwLDB4YTEsMHgyMCwweDZjLDB4NDAgfSwKLSAgMTYsIDB4OWNkMCwgMCwgezB4MGEsMHgxNCwweDAyLDB4NDQsMHgwNCwweGExLDB4NjgsMHgyYywweDQ4LDB4MDgsMHgxNCwweDAyLDB4YzUsMHgwMCwweDgxLDB4NjAgfSwKLSAgMTYsIDB4OWNlMCwgMCwgezB4MjAsMHg0OCwweDE5LDB4OTAsMHgwMiwweDg1LDB4ODEsMHhiMSwweDQwLDB4MjQsMHg2OCwweDBhLDB4MTIsMHg0MiwweGM0LDB4ODAgfSwKLSAgMTYsIDB4OWNmMCwgMCwgezB4YjksMHgyMCwweDIwLDB4NDAsMHg4YiwweDEwLDB4ODIsMHg0MiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWQwMCwgMCwgezB4MTgsMHgwNSwweGE0LDB4MTAsMHhhOSwweDAwLDB4NmUsMHhjMCwweDBhLDB4MTAsMHgwMiwweDI0LDB4MTQsMHhiOSwweDAwLDB4MmUgfSwKLSAgMTYsIDB4OWQxMCwgMCwgezB4NDAsMHgwOCwweDkwLDB4MTIsMHhlNCwweDAwLDB4OTksMHgwMCwweDIyLDB4NDAsMHgwOCwweDgwLDB4MDYsMHhhMCwweDYwLDB4YjkgfSwKLSAgMTYsIDB4OWQyMCwgMCwgezB4MDksMHgyMiwweDYwLDB4MDgsMHg5MCwweDAyLDB4YTQsMHgwMCwweGI5LDB4MDAsMHgwMiwweDQwLDB4MGIsMHgxMCwweDA2LDB4MDYgfSwKLSAgMTYsIDB4OWQzMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MDUsMHhlNCwweDAwLDB4ZTksMHg4MCwweDNlLDB4NDEgfSwKLSAgMTYsIDB4OWQ0MCwgMCwgezB4MGUsMHg5MCwweDAzLDB4NjQsMHgwMCwweGU5LDB4YzAsMHgzZSwweDQwLDB4MGMsMHg5MCwweDAyLDB4ZTQsMHgwMCwweGM5LDB4MDAgfSwKLSAgMTYsIDB4OWQ1MCwgMCwgezB4MjIsMHg0MSwweDBkLDB4ODAsMHgwMiwweGEzLDB4MDQsMHhmMSwweDQwLDB4MzYsMHg0MCwweDBlLDB4OTAsMHgwMiwweGU0LDB4MDAgfSwKLSAgMTYsIDB4OWQ2MCwgMCwgezB4ZjEsMHgwMCwweDEyLDB4NDAsMHgwZiwweDkwLDB4MDMsMHg2OCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWQ3MCwgMCwgezB4MjgsMHgwMSwweGE0LDB4MDAsMHhkOSwweDIyLDB4M2UsMHg0MiwweDBkLDB4OTAsMHgwMywweGU0LDB4MDAsMHhiOSwweGM0LDB4M2MgfSwKLSAgMTYsIDB4OWQ4MCwgMCwgezB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZTksMHgwMiwweGFlLDB4NDAsMHgwZiwweDgwLDB4NGIsMHg2MiwweDEwLDB4ZjkgfSwKLSAgMTYsIDB4OWQ5MCwgMCwgezB4MjAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDIsMHg3ZSwweDQxLDB4MGYsMHg5MCwweDEzLDB4Y2EgfSwKLSAgMTYsIDB4OWRhMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDAsMHg4MCwweDAwLDB4YzgsMHgwMCwweDM4LDB4MDAgfSwKLSAgMTYsIDB4OWRiMCwgMCwgezB4MGYsMHg4MCwweDIwLDB4ZTAsMHgwMCwweGE4LDB4MjAsMHgzMiwweDAwLDB4MGMsMHg4MCwweDA3LDB4ZTAsMHg4MCwweGM4LDB4MDAgfSwKLSAgMTYsIDB4OWRjMCwgMCwgezB4MzgsMHgwMCwweDBkLDB4ODAsMHg4MywweDIxLDB4MTAsMHhmOCwweDYwLDB4MzIsMHgwMCwweDhlLDB4ODAsMHhiMywweDIwLDB4MDggfSwKLSAgMTYsIDB4OWRkMCwgMCwgezB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwYywweDgwLDB4MDMsMHhjYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWRlMCwgMCwgezB4MjgsMHgwNSwweDI4LDB4MDQsMHg4YSwweDAwLDB4MzMsMHg5MCwweDQzLDB4YTAsMHgyMiwweDI4LDB4MDAsMHg4ZSwweDgwLDB4NzYgfSwKLSAgMTYsIDB4OWRmMCwgMCwgezB4ODAsMHgwOCwweGUxLDB4MDMsMHgxOSwweDAwLDB4ODYsMHg4MCwweDIyLDB4ODAsMHgwZCwweDYwLDB4MDEsMHg3OCwweDAwLDB4YmUgfSwKLSAgMTYsIDB4OWUwMCwgMCwgezB4MDAsMHgzNiwweDgwLDB4MGMsMHhlNCwweDAyLDB4YTgsMHgxMCwweGJlLDB4YTAsMHgyZiwweDgwLDB4MGQsMHhhMCwweDAyLDB4MGEgfSwKLSAgMTYsIDB4OWUxMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTEsMHg0YywweDA0LDB4MDMsMHgwNCwweDJjLDB4ZDQgfSwKLSAgMTYsIDB4OWUyMCwgMCwgezB4MGIsMHgzMCwweDAyLDB4NGMsMHgwMSwweGEzLDB4YzQsMHgyMCwweGMwLDB4MjgsMHgzNSwweDAyLDB4ODYsMHgwMCwweDgzLDB4ODAgfSwKLSAgMTYsIDB4OWUzMCwgMCwgezB4MjgsMHhjMCwweDA4LDB4MzgsMHgwNiwweDBlLDB4OTQsMHgzMCwweGMwLDB4YTIsMHhjMCwweDBiLDB4M2MsMHgwMiwweDBjLDB4MDAgfSwKLSAgMTYsIDB4OWU0MCwgMCwgezB4YjMsMHg4MCwweDJjLDB4NDgsMHgwOCwweDMwLDB4MDIsMHg4YSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWU1MCwgMCwgezB4YTAsMHgwMSwweDBjLDB4MDQsMHg4ZiwweDgwLDB4MjEsMHhjMSwweDFiLDB4NzIsMHg0MiwweDFlLDB4YzAsMHg4MywweDg4LDB4MjEgfSwKLSAgMTYsIDB4OWU2MCwgMCwgezB4YzAsMHgxOCwweDI4LDB4MDYsMHgxMCwweDIxLDB4ODYsMHgzOCwweDIxLDB4YzAsMHgxOSwweGY3LDB4MDIsMHg1ZCwweGMwLDB4YjQgfSwKLSAgMTYsIDB4OWU3MCwgMCwgezB4NDEsMHgyNywweGQwLDB4MDgsMHg3OCwweGM2LDB4OWMsMHgwMCwweGI3LDB4MDAsMHgyZiwweDYwLDB4MDksMHg3MiwweDAyLDB4MjggfSwKLSAgMTYsIDB4OWU4MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZSwweDAyLDB4YzcsMHg4MCwweDJkLDB4YTAgfSwKLSAgMTYsIDB4OWU5MCwgMCwgezB4MGYsMHgzZSwweDAzLDB4ZmUsMHg4MCwweGE3LDB4ODAsMHhhMSwweGUwLDB4MGMsMHg3OCwweDAyLDB4OTQsMHgwMCwweDg1LDB4YTAgfSwKLSAgMTYsIDB4OWVhMCwgMCwgezB4MzksMHhlNCwweDBjLDB4NzgsMHgxMywweDFlLDB4OTAsMHhiNSwweDg0LDB4MzEsMHhlMCwweDBmLDB4ZjgsMHg4NywweDFlLDB4MDQgfSwKLSAgMTYsIDB4OWViMCwgMCwgezB4ZjcsMHg4MCwweDNkLDB4NjAsMHgwYywweDNiLDB4MDMsMHhhYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWVjMCwgMCwgezB4MDgsMHgxZCwweGFkLDB4ZTQsMHhmYiwweDU0LDB4M2UsMHg4MCwweDBmLDB4YjQsMHgyMywweGVjLDB4MzIsMHhmYiwweDAwLDB4M2UgfSwKLSAgMTYsIDB4OWVkMCwgMCwgezB4ZDgsMHg0ZiwweGEwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4YzAsMHgwZiwweDMwLDB4MzMsMHhlYywweDA0LDB4ZjIgfSwKLSAgMTYsIDB4OWVlMCwgMCwgezB4MDEsMHgzZSwweGMwLDB4MGYsMHhiMiwweDAzLDB4ZmUsMHgxMCwweGZiLDB4NjgsMHgzYywweDQxLDB4MGYsMHhmMCwweDQzLDB4ODIgfSwKLSAgMTYsIDB4OWVmMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDUsMHhmZSwweDAwLDB4Y2YsMHhlNCwweDNmLDB4ZTQgfSwKLSAgMTYsIDB4OWYwMCwgMCwgezB4MGMsMHhmYywweDAzLDB4N2UsMHg4MCwweGNmLDB4ODEsMHgzMywweGZhLDB4MGYsMHhmOCwweDAzLDB4ZjYsMHgwMCwweGZmLDB4ODAgfSwKLSAgMTYsIDB4OWYxMCwgMCwgezB4M2YsMHhlMiwweDBmLDB4NzksMHgwMywweDNlLDB4NDAsMHhmNCwweDgwLDB4MzMsMHg2MCwweDBjLDB4ZTgsMHgwMywweDNlLDB4MDAgfSwKLSAgMTYsIDB4OWYyMCwgMCwgezB4ZmYsMHg4MCwweDMzLDB4NjAsMHgwYywweGY4LDB4ODMsMHg1MCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWYzMCwgMCwgezB4YTgsMHgxMSwweDljLDB4MDAsMHhkNywweGEwLDB4MmQsMHhjNCwweDA4LDB4YmEsMHgwMiwweDNjLDB4YTAsMHg4NywweDIwLDB4MjEgfSwKLSAgMTYsIDB4OWY0MCwgMCwgezB4YzAsMHgwZiwweDUyLDB4MDMsMHhkNCwweDAwLDB4YjYsMHgxMCwweDJkLDB4YzAsMHg4YiwweDczLDB4MDMsMHg1YywweDQwLDB4YjQgfSwKLSAgMTYsIDB4OWY1MCwgMCwgezB4YjAsMHgyYiwweDQ4LDB4MjgsMHg0MSwweDAyLDB4MGMsMHgwMCwweGJmLDB4MTgsMHgzNSwweDQ2LDB4MjgsMHg3MiwweDQyLDB4MmEgfSwKLSAgMTYsIDB4OWY2MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDAsMHg5YywweDAwLDB4ODcsMHg0MSwweDJkLDB4NDQgfSwKLSAgMTYsIDB4OWY3MCwgMCwgezB4MGEsMHg3MywweDAyLDB4OWMsMHhjNCwweDgxLDB4MDAsMHg2ZCwweGM4LDB4OGIsMHg3MCwweDAyLDB4ZDQsMHgwMCwweGI3LDB4MDAgfSwKLSAgMTYsIDB4OWY4MCwgMCwgezB4MmQsMHhjMCwweDBiLDB4ZjAsMHg0NiwweDljLDB4NTUsMHhiNCwweDIwLDB4MjUsMHg0MCwweDE4LDB4NjAsMHg4MiwweDFjLDB4MDAgfSwKLSAgMTYsIDB4OWY5MCwgMCwgezB4YjcsMHgwMCwweDIzLDB4NDAsMHgwOCwweDcwLDB4NDYsMHg0NCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWZhMCwgMCwgezB4NjAsMHgxNCwweGNjLDB4MDAsMHg5MywweDAwLDB4MmMsMHg0MCwweDBiLDB4YjAsMHgwMiwweDBjLDB4ODIsMHg4MCwweGMwLDB4MjAgfSwKLSAgMTYsIDB4OWZiMCwgMCwgezB4YzAsMHgwYSwweDEwLDB4MDIsMHgwNCwweDAwLDB4YjMsMHgwMCwweDJjLDB4YzAsMHgxYiwweDMwLDB4MDAsMHhjZCwweDAxLDB4YjAgfSwKLSAgMTYsIDB4OWZjMCwgMCwgezB4NDAsMHhhYywweDc4LDB4ODgsMHg4YywweDA2LDB4MGQsMHg2MCwweGIzLDB4NGMsMHgyNCwweDEyLDB4MDgsMHgzMCwweDBhLDB4MTggfSwKLSAgMTYsIDB4OWZkMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MTUsMHhiYywweDAwLDB4YzcsMHgwMCwweDJlLDB4NDAgfSwKLSAgMTYsIDB4OWZlMCwgMCwgezB4MGUsMHhmMCwweDJhLDB4YmYsMHgwMCwweGM4LDB4YzgsMHhiZiwweGMwLDB4MGIsMHg5MCwweDAyLDB4ZTQsMHgwNCwweGJmLDB4MDAgfSwKLSAgMTYsIDB4OWZmMCwgMCwgezB4M2YsMHhjMCwweDBmLDB4YjIsMHgwYSwweGFjLDB4MDAsMHhmOCwweDgwLDB4MzQsMHg0OSwweDBjLDB4YjksMHgwYiwweDNmLDB4MDAgfSwKLSAgMTYsIDB4YTAwMCwgMCwgezB4ZmIsMHhjMCwweDMwLDB4ZjAsMHgwYywweGYwLDB4MDMsMHg2ZSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTAxMCwgMCwgezB4ODAsMHgwMCwweGNjLDB4MDAsMHhmYiwweDgwLDB4M2UsMHg0MSwweDJjLDB4YjAsMHgxMywweGFjLDB4MDAsMHhmOCwweDAwLDB4M2UgfSwKLSAgMTYsIDB4YTAyMCwgMCwgezB4YzEsMHgwZiwweGEwLDB4MDMsMHhlOCwweDAwLDB4ZmEsMHg0MCwweDNlLDB4YzAsMHgwZiwweGIwLDB4MGIsMHg2ZCwweDQwLDB4ZjggfSwKLSAgMTYsIDB4YTAzMCwgMCwgezB4MTAsMHgzYSwweDQwLDB4MGYsMHhiMCwweDAzLDB4ZWMsMHgxMCwweGZlLDB4NDAsMHgzZSwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZTEgfSwKLSAgMTYsIDB4YTA0MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHhlYywweDBjLDB4ZGYsMHgwMCwweDNiLDB4ODAgfSwKLSAgMTYsIDB4YTA1MCwgMCwgezB4MGYsMHhmMCwweDBiLDB4M2MsMHgwOCwweGU3LDB4MDgsMHgzMywweGMwLDB4MGIsMHhkMCwweDIzLDB4NzQsMHgwMCwweDU0LDB4MDAgfSwKLSAgMTYsIDB4YTA2MCwgMCwgezB4MzMsMHhjMCwweDBmLDB4ZjAsMHg4MywweGJlLDB4MjAsMHhmZCwweDBjLDB4M2IsMHg2MCwweDJjLDB4ZTAsMHgwMywweDNjLDB4MDAgfSwKLSAgMTYsIDB4YTA3MCwgMCwgezB4Y2YsMHgxMiwweDMzLDB4NTAsMHgwYywweDMwLDB4MDMsMHg4MCwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTA4MCwgMCwgezB4ODEsMHgwNCwweDZjLDB4MDQsMHhhYiwweDAwLDB4MjIsMHhhMCwweDBiLDB4YjAsMHgwNiwweDBjLDB4MDAsMHhhYiwweDQwLDB4MzYgfSwKLSAgMTYsIDB4YTA5MCwgMCwgezB4YzAsMHgwYiwweGE4LDB4MDIsMHg2NiwweDAwLDB4YjgsMHgwMCwweDM2LDB4YzEsMHgwYiwweDM0LDB4NDMsMHhlZSwweDAwLDB4YjIgfSwKLSAgMTYsIDB4YTBhMCwgMCwgezB4MDAsMHgyMiwweDYwLDB4MDgsMHhiNCwweDgyLDB4OGMsMHgwNCwweDhhLDB4MjEsMHgyMiwweDQwLDB4MDgsMHhiMCwweDAyLDB4MjAgfSwKLSAgMTYsIDB4YTBiMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAwLDB4OWIsMHgwMCwweDJhLDB4MjAgfSwKLSAgMTYsIDB4YTBjMCwgMCwgezB4MGIsMHhiMCwweDAyLDB4MmMsMHgwMCwweDg4LDB4YzUsMHgyMiwweGMwLDB4MGIsMHg4OCwweDgyLDB4ZTYsMHgwMSwweGJiLDB4MDggfSwKLSAgMTYsIDB4YTBkMCwgMCwgezB4MjIsMHhjMCwweDBhLDB4YjIsMHg4MiwweGFjLDB4NjAsMHhiOCwweDAyLDB4NGEsMHhjNCwweDA4LDB4YjEsMHgwMiwweDJjLDB4MDAgfSwKLSAgMTYsIDB4YTBlMCwgMCwgezB4ODMsMHgwMCwweDIyLDB4YzAsMHgwOCwweGIwLDB4MDIsMHhhMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTBmMCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDAsMHhhYiwweDIwLDB4MjAsMHgwMSwweDBiLDB4MzIsMHgwNiwweDJjLDB4MDAsMHhhMCwweDAwLDB4MjAgfSwKLSAgMTYsIDB4YTEwMCwgMCwgezB4YzAsMHgwOSwweDA0LDB4MjIsMHhjNCwweDAwLDB4YjIsMHgwMCwweDI0LDB4YzEsMHg4YiwweGIwLDB4MDIsMHg0YywweDAwLDB4YjAgfSwKLSAgMTYsIDB4YTExMCwgMCwgezB4MDAsMHg2MiwweGMwLDB4NDgsMHgzMCwweDAyLDB4YWMsMHgxMCwweDgyLDB4MDAsMHgyMCwweGMwLDB4MDgsMHgzMCwweDAyLDB4MDIgfSwKLSAgMTYsIDB4YTEyMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg3YywweDA4LDB4ZGYsMHgyYSwweDNhLDB4MDAgfSwKLSAgMTYsIDB4YTEzMCwgMCwgezB4MGYsMHhmNSwweDEyLDB4M2MsMHgxMCwweGM5LDB4MDAsMHhhMywweGMwLDB4MGYsMHg4MCwweDUzLDB4ZWMsMHgwMSwweGRhLDB4MDAgfSwKLSAgMTYsIDB4YTE0MCwgMCwgezB4MzMsMHhjMCwweDBlLDB4YjAsMHgwMywweGFjLDB4MDQsMHhmOCwweDcwLDB4M2EsMHhjMCwweDBjLDB4NjAsMHg0MywweDJjLDB4NDIgfSwKLSAgMTYsIDB4YTE1MCwgMCwgezB4Y2QsMHgwMCwweGIyLDB4NDAsMHgyYywweGYwLDB4MDMsMHg4MCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTE2MCwgMCwgezB4YTAsMHgxOSwweGZjLDB4MDAsMHhmYiwweDAxLDB4M2QsMHgwMCwweDBmLDB4YjQsMHgxNywweGZjLDB4MDAsMHgzYywweDAwLDB4M2YgfSwKLSAgMTYsIDB4YTE3MCwgMCwgezB4YzAsMHg0ZiwweGMwLDB4MDMsMHg3NCwweDA4LDB4ZmUsMHgwMCwweDNmLDB4YzAsMHg0ZiwweGYwLDB4MDMsMHhmYywweDA4LDB4ZjggfSwKLSAgMTYsIDB4YTE4MCwgMCwgezB4MzAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZmMsMHgwNCwweGZjLDB4MDAsMHgzZCwweDAwLDB4MGYsMHhmMCwweDAzLDB4ZTggfSwKLSAgMTYsIDB4YTE5MCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmNCwweDkwLDB4ZWYsMHgwMCwweDNmLDB4ZDggfSwKLSAgMTYsIDB4YTFhMCwgMCwgezB4MGUsMHhmMywweDAzLDB4MmMsMHgwMSwweGQ0LDB4ODAsMHgzNywweGNjLDB4MGQsMHg4OSwweDQzLDB4MTIsMHg1MCwweGVjLDB4MmMgfSwKLSAgMTYsIDB4YTFiMCwgMCwgezB4MzIsMHgwNSwweDBkLDB4YjAsMHg1MywweDNjLDB4ZDQsMHhjNSwweDk0LDB4N2YsMHhhMCwweDhmLDB4ZjAsMHg0MywweDMwLDB4MDAgfSwKLSAgMTYsIDB4YTFjMCwgMCwgezB4ZGMsMHgwMCwweDMzLDB4MDAsMHgwYywweDQ4LDB4MDcsMHhmMCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTFkMCwgMCwgezB4ODAsMHgxMCwweGU2LDB4NDAsMHg4YiwweDcwLDB4MmYsMHhkYywweDA4LDB4ZjcsMHgwMiwweDBjLDB4ODAsMHg4YSwweDIwLDB4MDAgfSwKLSAgMTYsIDB4YTFlMCwgMCwgezB4YzgsMHg0YSwweDIyLDB4MDIsMHhhMCwweDAwLDB4OGEsMHg0OCwweDIyLDB4NTgsMHg4OCwweGZkLDB4MDIsMHhhZCwweDAyLDB4YTkgfSwKLSAgMTYsIDB4YTFmMCwgMCwgezB4MjAsMHgxZSwweGEwLDB4MDMsMHg4MCwweDAyLDB4MmMsMHgwNCwweDhiLDB4MDAsMHgyMiwweGMwLDB4NGMsMHg4OCwweDA3LDB4NjAgfSwKLSAgMTYsIDB4YTIwMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjMCwweDAwLDB4MjMsMHgyYywweDJjLDB4YzkgfSwKLSAgMTYsIDB4YTIxMCwgMCwgezB4MDIsMHgzMCwweDAyLDB4MGMsMHg2OCwweGEwLDB4MjgsMHgyYywweGQwLDB4MDksMHgxMiwweDAyLDB4ODQsMHgwMCwweGEwLDB4MjEgfSwKLSAgMTYsIDB4YTIyMCwgMCwgezB4MjAsMHgxOCwweDE5LDB4MzAsMHgyMiwweDgwLDB4ZDAsMHg4MywweDA2LDB4MGMsMHhhMCwweDBiLDB4YjAsMHgwNiwweDAwLDB4MTIgfSwKLSAgMTYsIDB4YTIzMCwgMCwgezB4YTAsMHgwMCwweDIwLDB4MDAsMHgyOSwweDAwLDB4MGUsMHhhMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTI0MCwgMCwgezB4YzAsMHgxMSwweGE4LDB4MzAsMHg4YiwweDAwLDB4MmUsMHhjMCwweDRhLDB4MzAsMHgwYSwweDJjLDB4MTQsMHhhMCwweDgwLDB4MGEgfSwKLSAgMTYsIDB4YTI1MCwgMCwgezB4YzEsMHgwOCwweDg4LDB4ODYsMHg4NywweDAwLDB4ODMsMHgwMCwweDIyLDB4NDksMHgwOCwweGIwLDB4MDYsMHhhMCwweDQwLDB4YWIgfSwKLSAgMTYsIDB4YTI2MCwgMCwgezB4MjAsMHgyMiwweDIwLDB4MGIsMHg4MCwweDBhLDB4MGMsMHgwNCwweGFiLDB4MDIsMHgyMiwweGMwLDB4ODgsMHg4MCwweDAyLDB4ZjAgfSwKLSAgMTYsIDB4YTI3MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlZiwweDQwLDB4ZWIsMHgwNiwweDNlLDB4YzAgfSwKLSAgMTYsIDB4YTI4MCwgMCwgezB4MGUsMHhiMCwweDAzLDB4MmMsMHgwMiwweGY5LDB4YTAsMHgzZSwweGMwLDB4MGQsMHg4YywweDAzLDB4YWEsMHgxMCwweGU5LDB4NDAgfSwKLSAgMTYsIDB4YTI5MCwgMCwgezB4YjIsMHg0OCwweDBkLDB4YjAsMHg0MywweGFkLDB4MDAsMHhjYiwweDg2LDB4MmUsMHgyMCwweDBmLDB4MzAsMHgwMywweDI0LDB4MDAgfSwKLSAgMTYsIDB4YTJhMCwgMCwgezB4ZjksMHg4MCwweDMyLDB4YzAsMHgwZCwweDBjLDB4YzIsMHg5MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTJiMCwgMCwgezB4ZTAsMHgwMSwweDk0LDB4MDAsMHhmZiwweDAwLDB4M2QsMHhjMCwweDBkLDB4ZjAsMHgwMywweDdjLDB4MDAsMHhkZiwweDAwLDB4MzcgfSwKLSAgMTYsIDB4YTJjMCwgMCwgezB4YzAsMHgwZiwweGUwLDB4MDMsMHhmMCwweDAwLDB4ZmUsMHgyMCwweDNmLDB4NDAsMHgwZiwweDcwLDB4MDMsMHhmZSwweDAwLDB4ZmYgfSwKLSAgMTYsIDB4YTJkMCwgMCwgezB4ODIsMHg3ZiwweDAwLDB4MGYsMHhjMCwweDAzLDB4ZjksMHgwNCwweGRlLDB4MjAsMHhiZCwweDAwLDB4MGYsMHhkOSwweDBiLDB4N2MgfSwKLSAgMTYsIDB4YTJlMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhYywweDAxLDB4Y2IsMHgwMCwweDNlLDB4YzAgfSwKLSAgMTYsIDB4YTJmMCwgMCwgezB4MmMsMHhiMCwweDBiLDB4MmMsMHgwMCwweGU4LDB4NDAsMHgzZSwweGMwLDB4MGYsMHg5NCwweDA3LDB4MjksMHgwMCwweGM5LDB4NDAgfSwKLSAgMTYsIDB4YTMwMCwgMCwgezB4YjIsMHhjMCwweDBmLDB4YjAsMHgwMywweDAxLDB4MDIsMHhjYiwweDAwLDB4MzIsMHgwNCwweDRmLDB4ZjAsMHg0MywweDM0LDB4YzAgfSwKLSAgMTYsIDB4YTMxMCwgMCwgezB4YjUsMHgxYSwweDNmLDB4YzEsMHgwZiwweDgwLDB4OTMsMHhkMCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTMyMCwgMCwgezB4YzgsMHgwNSwweDI4LDB4MDAsMHg4ZiwweDAwLDB4MmYsMHhjMCwweDA4LDB4ZjAsMHgwMiwweDNjLDB4MDQsMHhkOCwweDAwLDB4MmIgfSwKLSAgMTYsIDB4YTMzMCwgMCwgezB4YzAsMHgwYywweDgwLDB4NDUsMHg2MCwweDAwLDB4N2IsMHg1OCwweDIyLDB4YzgsMHgwYiwweGZhLDB4MDEsMHg2MSwweDQwLDB4OGIgfSwKLSAgMTYsIDB4YTM0MCwgMCwgezB4MDAsMHgzMiwweDA0LDB4NGIsMHhjZSwweDAyLDB4MjgsMHgwMCwweDNhLDB4NDAsMHgyZSwweDA3LDB4MGIsMHg5MCwweDAyLDB4MjYgfSwKLSAgMTYsIDB4YTM1MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0YywweDAwLDB4ODMsMHgwMSwweDRjLDB4YzAgfSwKLSAgMTYsIDB4YTM2MCwgMCwgezB4MGIsMHgzMCwweDAyLDB4ZWMsMHgxMCwweDkwLDB4MDAsMHgyYSwweGMwLDB4MGEsMHg4MCwweDA2LDB4YzAsMHgwNCwweDgzLDB4MDQgfSwKLSAgMTYsIDB4YTM3MCwgMCwgezB4YTIsMHg4OSwweDE5LDB4MzAsMHgwNiwweGNjLDB4MDAsMHg4MywweDAwLDB4MjAsMHg5MCwweDBiLDB4MzAsMHhjMiwweDQ4LDB4MDAgfSwKLSAgMTYsIDB4YTM4MCwgMCwgezB4YjIsMHg0MCwweDI0LDB4MjAsMHgwYiwweDA5LDB4MDAsMHhiOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTM5MCwgMCwgezB4MjAsMHgwMSwweDA2LDB4MDQsMHg4NywweGE0LDB4MmQsMHhlMCwweDA5LDB4MzgsMHgwMiwweGRlLDB4MDAsMHg5ZSwweDgxLDB4MjkgfSwKLSAgMTYsIDB4YTNhMCwgMCwgezB4ZTAsMHgwOCwweDc4LDB4NTIsMHhmYSwweGMwLDB4OTYsMHg4MCwweDAxLDB4YTAsMHg4YiwweDNhLDB4MjIsMHhjZSwweDQwLDB4OGYgfSwKLSAgMTYsIDB4YTNiMCwgMCwgezB4YjAsMHgyNSwweGEwLDB4MGIsMHgwOCwweDAyLDB4NTYsMHgwOCwweGI1LDB4OTAsMHgyZCwweGU0LDB4NGIsMHhkOCwweDIyLDB4MGMgfSwKLSAgMTYsIDB4YTNjMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwOCwweDAyLDB4ODMsMHg4MCwweDJlLDB4ZTggfSwKLSAgMTYsIDB4YTNkMCwgMCwgezB4MGIsMHgzOCwweDEzLDB4Y2UsMHg0MSwweGQzLDB4MTAsMHgyOCwweGMwLDB4MGUsMHgzYSwweDAyLDB4YzYsMHgwOCwweDRiLDB4NDAgfSwKLSAgMTYsIDB4YTNlMCwgMCwgezB4MzAsMHg2MCwweDBkLDB4M2IsMHgyNywweGNmLDB4YzQsMHhjMywweGEwLDB4MzAsMHgwMCwweDBmLDB4MzAsMHg0MywweDQ4LDB4NDAgfSwKLSAgMTYsIDB4YTNmMCwgMCwgezB4ZjIsMHgwMCwweDNjLDB4MDQsMHgwZiwweDAyLDB4MDMsMHg5MiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTQwMCwgMCwgezB4NDAsMHgxZCwweGI4LDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjNCwweDBlLDB4ZjEsMHgwMywweDNjLDB4MDAsMHhmZiwweDAxLDB4MzMgfSwKLSAgMTYsIDB4YTQxMCwgMCwgezB4YzAsMHg0ZCwweGIxLDB4MDcsMHg3YywweDkwLDB4ZmYsMHgwMCwweDNmLDB4NDAsMHgwMywweGYxLDB4MDMsMHg3MCwweDAwLDB4ZmIgfSwKLSAgMTYsIDB4YTQyMCwgMCwgezB4MTAsMHgzYiwweDAwLDB4MGYsMHhjMCwweDBiLDB4YjQsMHgwMCwweGZkLDB4MDAsMHgzZiwweGM0LDB4MGYsMHhkMCwweDAzLDB4OTAgfSwKLSAgMTYsIDB4YTQzMCwgMCwgezB4MDIsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlYywweDA0LDB4ZmIsMHg4NCwweDNhLDB4YzIgfSwKLSAgMTYsIDB4YTQ0MCwgMCwgezB4NGMsMHhiNCwweDkzLDB4MmMsMHgwNCwweGU5LDB4MDAsMHgzYSwweGM0LDB4OGQsMHgwOCwweDAzLDB4MmUsMHgwMCwweGNiLDB4MDEgfSwKLSAgMTYsIDB4YTQ1MCwgMCwgezB4MzIsMHg4MCwweDhmLDB4YjIsMHg4MywweGVjLDB4MDAsMHhjYiwweDgwLDB4MzIsMHgwMCwweDBmLDB4ZjksMHgwMywweDNjLDB4MTAgfSwKLSAgMTYsIDB4YTQ2MCwgMCwgezB4ZGYsMHg4MSwweGIzLDB4ZTAsMHg4YywweGEwLDB4MDMsMHhlYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTQ3MCwgMCwgezB4NDgsMHgxMSwweDk0LDB4MDgsMHhiNywweDA0LDB4MjQsMHhjOCwweDFhLDB4MzAsMHg0YSwweDFkLDB4MDAsMHhiNywweDAxLDB4MmQgfSwKLSAgMTYsIDB4YTQ4MCwgMCwgezB4YzAsMHg4OCwweDcwLDB4MDYsMHgxYywweDAwLDB4ODIsMHgwMCwweDIxLDB4ODAsMHg0YiwweDc2LDB4MTIsMHhkYywweDAwLDB4ODcgfSwKLSAgMTYsIDB4YTQ5MCwgMCwgezB4MDAsMHgyOSwweDQwLDB4OGIsMHg0MCwweDAyLDB4MTAsMHgwMCwweGJjLDB4MDAsMHgyMCwweDAxLDB4MjgsMHg3MCwweDAzLDB4YjIgfSwKLSAgMTYsIDB4YTRhMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5YSwweDAwLDB4YjMsMHg5MCwweDJkLDB4ZTQgfSwKLSAgMTYsIDB4YTRiMCwgMCwgezB4MDksMHg3OSwweDAyLDB4MWUsMHg4MCwweGE3LDB4ODAsMHgyYywweGU4LDB4MTksMHhmOCwweDEyLDB4NWUsMHgwMSwweDg3LDB4ODAgfSwKLSAgMTYsIDB4YTRjMCwgMCwgezB4MjUsMHhlMCwweDRiLDB4NzgsMHgwNiwweGQyLDB4MDAsMHg5NywweDgwLDB4MjEsMHg2MiwweDBiLDB4M2EsMHgwMiwweDFlLDB4MDAgfSwKLSAgMTYsIDB4YTRkMCwgMCwgezB4YjcsMHg4NiwweDI5LDB4ZjAsMHgwOCwweDY4LDB4MDYsMHhlMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTRlMCwgMCwgezB4NDgsMHgxNCwweGNmLDB4YzAsMHhiMywweDAwLDB4MjQsMHhjMCwweDhhLDB4MzAsMHgzMiwweDBjLDB4MDAsMHhiMywweDA4LDB4MmMgfSwKLSAgMTYsIDB4YTRmMCwgMCwgezB4YzAsMHgwOCwweDMwLDB4MTIsMHgwZSwweDIwLDB4ODMsMHgwMCwweDI0LDB4ZjEsMHgwYiwweDMwLDB4MDYsMHhjZSwweDAwLDB4ODMgfSwKLSAgMTYsIDB4YTUwMCwgMCwgezB4OTAsMHgyOCwweDYwLDB4MGIsMHgwMCwweDJhLDB4MjEsMHg4MCwweGIwLDB4MDgsMHgyOCwweDAwLDB4MDgsMHgzNywweDAyLDB4OTIgfSwKLSAgMTYsIDB4YTUxMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhiOSwweDAwLDB4ZmEsMHgwMCwweDNlLDB4ODAgfSwKLSAgMTYsIDB4YTUyMCwgMCwgezB4NGQsMHhhMCwweDAzLDB4MjgsMHgwMCwweGVlLDB4NDEsMHgzZSwweDgwLDB4MGQsMHhlMCwweDAzLDB4NzgsMHgwMCwweDhlLDB4NDAgfSwKLSAgMTYsIDB4YTUzMCwgMCwgezB4MjcsMHhhOCwweDBiLDB4YTAsMHgwMywweGZiLDB4MDIsMHhjYSwweDgyLDB4MzMsMHhhMCwweDBmLDB4YTAsMHgxMywweDI5LDB4MDAgfSwKLSAgMTYsIDB4YTU0MCwgMCwgezB4ZmEsMHg0MCwweDNhLDB4ODAsMHgwYywweDZjLDB4MDMsMHhmYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTU1MCwgMCwgezB4NDgsMHgwMCwweGMwLDB4MDAsMHhmOCwweDAwLDB4M2EsMHgwMCwweDBjLDB4ODAsMHgwMywweGUwLDB4MDgsMHhmOCwweDAwLDB4M2UgfSwKLSAgMTYsIDB4YTU2MCwgMCwgezB4MDAsMHg4ZiwweDgwLDB4MjMsMHhhMCwweDQyLDB4ZjgsMHgwOSwweGJhLDB4MTAsMHg0ZiwweDgwLDB4MDMsMHhlMCwweDYwLDB4ZjggfSwKLSAgMTYsIDB4YTU3MCwgMCwgezB4MDAsMHgzZSwweDIwLDB4MGYsMHhjMCwweDAzLDB4ZjAsMHgwMCwweGZjLDB4MDAsMHgyNywweDAwLDB4OGYsMHg4MCwweDAzLDB4OTIgfSwKLSAgMTYsIDB4YTU4MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNSwweDAwLDB4ODksMHgwMCwweDNlLDB4NDAgfSwKLSAgMTYsIDB4YTU5MCwgMCwgezB4NmUsMHg5MCwweDAzLDB4YTQsMHgwOCwweGM5LDB4MDAsMHgzYywweDQwLDB4MGQsMHg5MCwweDAzLDB4MjQsMHgxMCwweGY5LDB4YTAgfSwKLSAgMTYsIDB4YTVhMCwgMCwgezB4MzIsMHg0MiwweDBjLDB4OTAsMHgxMywweGM0LDB4MDAsMHhjOSwweDAwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGU0LDB4NDAgfSwKLSAgMTYsIDB4YTViMCwgMCwgezB4YzksMHgyMCwweDNlLDB4NTIsMHhjZiwweDkwLDB4MDksMHgwMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTVjMCwgMCwgezB4ODAsMHgwNCwweDY2LDB4MDAsMHg4OSwweDA0LDB4MmUsMHg0MCwweDA4LDB4OTAsMHgwMiwweDI0LDB4MDAsMHhkOSwweDAwLDB4M2EgfSwKLSAgMTYsIDB4YTVkMCwgMCwgezB4NDEsMHgwOCwweDkwLDB4MDUsMHhhNCwweDAwLDB4YjksMHg0MCwweGEyLDB4NDAsMHgwZCwweDkwLDB4MDIsMHhlNSwweDQ2LDB4ODkgfSwKLSAgMTYsIDB4YTVlMCwgMCwgezB4MDAsMHgyZSwweDQwLDB4MGIsMHg5MCwweDEyLDB4ZTUsMHgwMCwweGE5LDB4YzgsMHgyZSwweDYxLDB4OGIsMHg5NCwweDQyLDB4MjAgfSwKLSAgMTYsIDB4YTVmMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDEsMHgyNCwweDAwLDB4YTksMHgwMCwweDZjLDB4NDAgfSwKLSAgMTYsIDB4YTYwMCwgMCwgezB4NDgsMHgxMCwweDIyLDB4ODQsMHgwMywweGE5LDB4MDAsMHgyZSwweDQwLDB4MDksMHg5MCwweDAyLDB4ZTQsMHgwNCwweGIxLDB4MDggfSwKLSAgMTYsIDB4YTYxMCwgMCwgezB4MjgsMHg0MCwweDE4LDB4OTgsMHgwMiwweGU1LDB4MDAsMHg4OSwweDAwLDB4MmUsMHg0MCwweDBiLDB4OTAsMHgwMiwweGY0LDB4MjAgfSwKLSAgMTYsIDB4YTYyMCwgMCwgezB4OGQsMHgwMCwweDJmLDB4NDAsMHgwYiwweDk0LDB4NDIsMHg4NiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTYzMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4ODAsMHhhMSwweDI0LDB4MmMsMHg0OCwweDE4LDB4MTIsMHgwMiwweDA0LDB4ODAsMHhhMSwweDAwLDB4MjggfSwKLSAgMTYsIDB4YTY0MCwgMCwgezB4NDgsMHgwOCwweDEwLDB4MDIsMHg4NCwweDAwLDB4OTEsMHgyMCwweDIwLDB4NDgsMHgwOSwweDEyLDB4MDIsMHhjNCwweDk0LDB4ODEgfSwKLSAgMTYsIDB4YTY1MCwgMCwgezB4MDAsMHgyYywweDYxLDB4MGIsMHg1YSwweDgyLDB4ZDQsMHhhMCwweGE1LDB4MjgsMHgyZCwweDRhLDB4MGIsMHg5MCwweDAyLDB4ODIgfSwKLSAgMTYsIDB4YTY2MCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDAyLDB4ZTgsMHg1MCwweDJlLDB4MTQgfSwKLSAgMTYsIDB4YTY3MCwgMCwgezB4MGUsMHg4NSwweDAzLDB4YTEsMHg0MCwweGE4LDB4NTAsMHgzZSwweDE0LDB4MGQsMHg4NSwweDAxLDB4ODEsMHg0MCwweGY4LDB4NTIgfSwKLSAgMTYsIDB4YTY4MCwgMCwgezB4MzIsMHg5NCwweDBjLDB4ODAsMHgxMywweGMxLDB4NDIsMHhjMCwweDUxLDB4M2UsMHgwMCwweDhmLDB4ODIsMHgwMywweGUwLDB4ODAgfSwKLSAgMTYsIDB4YTY5MCwgMCwgezB4YzgsMHgyMCwweDNmLDB4MDgsMHgwZiwweDgwLDB4MDMsMHhhZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTZhMCwgMCwgezB4OTgsMHgxOSwweGY0LDB4NTAsMHhkOSwweDExLDB4M2UsMHg0NCwweDhmLDB4OTEsMHg0MywweGU0LDB4NDAsMHhkZCwweDAwLDB4M2EgfSwKLSAgMTYsIDB4YTZiMCwgMCwgezB4NDQsMHg0ZiwweGQwLDB4MjcsMHhiNCwweDAwLDB4ZmQsMHgxMiwweDNmLDB4NDQsMHg0ZiwweDkxLDB4NDMsMHhmNCwweDQwLDB4ZmQgfSwKLSAgMTYsIDB4YTZjMCwgMCwgezB4MDAsMHgzZiwweDQxLDB4MGYsMHg5MiwweDgzLDB4ZTQsMHhhMCwweGY5LDB4MjgsMHgzZSwweDRhLDB4MGYsMHhkMCwweDAzLDB4NjYgfSwKLSAgMTYsIDB4YTZkMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MTEsMHhmNiwweDgwLDB4ZTksMHhjMCwweDNlLDB4NzggfSwKLSAgMTYsIDB4YTZlMCwgMCwgezB4OGYsMHg5YiwweDAzLDB4YTcsMHg4MCwweGM5LDB4NDAsMHgzNiwweDc4LDB4MGYsMHgxMCwweDIzLDB4ZTUsMHgwNCwweGRkLDB4YTQgfSwKLSAgMTYsIDB4YTZmMCwgMCwgezB4MzMsMHg2MiwweDBmLDB4ZGEsMHgwMywweGY2LDB4NjAsMHhjOSwweDEwLDB4MzMsMHg0MCwweDBlLDB4OTgsMHg5MywweGU2LDB4MzAgfSwKLSAgMTYsIDB4YTcwMCwgMCwgezB4YzksMHhjOSwweDMyLDB4NzgsMHg4YywweGQwLDB4MGIsMHgwNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTcxMCwgMCwgezB4MzgsMHgxMCwweGUwLDB4MDAsMHg4OCwweGUyLDB4MmUsMHgzMCwweDBiLDB4ODgsMHg0MiwweDIzLDB4NDAsMHhhMCwweGExLDB4MjIgfSwKLSAgMTYsIDB4YTcyMCwgMCwgezB4MzgsMHgwYiwweDhhLDB4MDIsMHhlMiwweDgwLDB4YWEsMHhlMCwweDIyLDB4MzAsMHgwYiwweDgwLDB4MjMsMHhhYiwweDAyLDB4ODggfSwKLSAgMTYsIDB4YTczMCwgMCwgezB4YTAsMHgyYSwweDAwLDB4MGIsMHg4YywweDAyLDB4ZTMsMHgwMCwweDg4LDB4ZTAsMHgyMywweDM4LDB4MDgsMHg4MCwweDAyLDB4MGUgfSwKLSAgMTYsIDB4YTc0MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNSwweDAwLDB4YTEsMHg0NCwweDI4LDB4NTggfSwKLSAgMTYsIDB4YTc1MCwgMCwgezB4NDMsMHgxNiwweDIyLDB4ODQsMHg4MSwweDgxLDB4MjAsMHgyYywweDU4LDB4NDksMHgxMCwweDgwLDB4YzQsMHg4MSwweDkxLDB4NDggfSwKLSAgMTYsIDB4YTc2MCwgMCwgezB4NmMsMHg0YSwweDBiLDB4MTQsMHgwMiwweDQ0LDB4ODQsMHg4MSwweDAxLDB4NjAsMHg0MCwweDBhLDB4NTIsMHg4NiwweGQ0LDB4YTAgfSwKLSAgMTYsIDB4YTc3MCwgMCwgezB4ODUsMHgwMCwweGExLDB4NTAsMHg2OCwweDkwLDB4MDYsMHhkMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTc4MCwgMCwgezB4MTgsMHgwNSwweGE2LDB4MDAsMHg4OSwweDAwLDB4MmUsMHg0MCwweDBiLDB4OTAsMHgwMiwweDA0LDB4MDAsMHhhOSwweDYwLDB4MjIgfSwKLSAgMTYsIDB4YTc5MCwgMCwgezB4NDAsMHgwYiwweDk1LDB4MDIsMHhlNCwweDEwLDB4YjEsMHgwMCwweDRlLDB4NDAsMHgwYiwweDkwLDB4NjYsMHhhYywweDgwLDB4ODkgfSwKLSAgMTYsIDB4YTdhMCwgMCwgezB4MDAsMHgyYSwweDYwLDB4MGIsMHg5MCwweDUyLDB4ZjQsMHgwMCwweDg1LDB4MDAsMHgyMSwweDQwLDB4MDgsMHg5MCwweDAyLDB4YzYgfSwKLSAgMTYsIDB4YTdiMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MDUsMHhlNiwweDIwLDB4ZTksMHgwMCwweDNlLDB4NDAgfSwKLSAgMTYsIDB4YTdjMCwgMCwgezB4MGYsMHg5MCwweDAzLDB4YTQsMHgxMCwweGM5LDB4MDAsMHgzNiwweDQwLDB4MGYsMHg5NCwweDAxLDB4ZTUsMHgyMCwweGQ5LDB4NDAgfSwKLSAgMTYsIDB4YTdkMCwgMCwgezB4YmEsMHg2OCwweDhmLDB4OTAsMHgwNywweGU2LDB4MDAsMHhjOSwweDEwLDB4MzIsMHg2MiwweDBlLDB4OTAsMHgwMiwweGU0LDB4MTggfSwKLSAgMTYsIDB4YTdlMCwgMCwgezB4YzksMHgwMCwweDMyLDB4NDAsMHgwYywweDkwLDB4MDMsMHhlOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTdmMCwgMCwgezB4MjgsMHgwMSwweGE0LDB4MDAsMHhmOSwweDA0LDB4M2UsMHg0MCwweDBiLDB4OTAsMHgwMywweDY0LDB4MDAsMHhmOSwweDAwLDB4M2UgfSwKLSAgMTYsIDB4YTgwMCwgMCwgezB4NDAsMHg4ZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZTksMHgwMiwweDcyLDB4NjgsMHgwZiwweDkwLDB4MDMsMHhlNiwweDAwLDB4ZjkgfSwKLSAgMTYsIDB4YTgxMCwgMCwgezB4MDEsMHgzZSwweDQyLDB4MGYsMHg5MCwweDAzLDB4YzQsMHgwMiwweGY5LDB4MDQsMHgzZSwweDQwLDB4NGYsMHg5MCwweDAzLDB4MWEgfSwKLSAgMTYsIDB4YTgyMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDAsMHg4MCwweDAyLDB4YzgsMHgwMCwweDMyLDB4MDAgfSwKLSAgMTYsIDB4YTgzMCwgMCwgezB4MGMsMHg4MCwweDAzLDB4NjAsMHgwMCwweGM4LDB4NDAsMHgzNiwweDAwLDB4MGYsMHg4NCwweDAzLDB4YTAsMHgwMCwweGQ4LDB4NTAgfSwKLSAgMTYsIDB4YTg0MCwgMCwgezB4YjIsMHgxMCwweDhjLDB4ODEsMHgwMywweGMxLDB4MjAsMHhjOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4YzAsMHgxMywweGYwLDB4MDQgfSwKLSAgMTYsIDB4YTg1MCwgMCwgezB4NGMsMHgwMCwweDNmLDB4MDAsMHgwZiwweDgwLDB4MDMsMHgwYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTg2MCwgMCwgezB4MjgsMHgxNSwweDJhLDB4MDAsMHg4YSwweDA0LDB4MjIsMHg4MSwweDI4LDB4YTAsMHgxMiwweDI4LDB4MDAsMHg4YSwweDAxLDB4MzYgfSwKLSAgMTYsIDB4YTg3MCwgMCwgezB4ODAsMHgwYiwweGEwLDB4MTAsMHgyOCwweDEwLDB4Y2UsMHgwMSwweDIzLDB4ODEsMHgwYywweGE4LDB4MTIsMHhmYiwweDAwLDB4OGEgfSwKLSAgMTYsIDB4YTg4MCwgMCwgezB4MDEsMHgzYiwweDgwLDB4ODMsMHhhMCwweDQyLDB4ZTgsMHgxMCwweDhhLDB4MDAsMHgyZiwweDgwLDB4MGIsMHg2MCwweDQyLDB4MGEgfSwKLSAgMTYsIDB4YTg5MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAwLDB4ODMsMHgwMCwweGEwLDB4YzAgfSwKLSAgMTYsIDB4YThhMCwgMCwgezB4MTgsMHhiMCwweDAwLDB4Y2MsMHgwMCwweDliLDB4MDAsMHgyNCwweGMwLDB4MGIsMHgzMCwweDA2LDB4NmMsMHgwMCwweGEzLDB4MDggfSwKLSAgMTYsIDB4YThiMCwgMCwgezB4MjgsMHhjOCwweDA5LDB4MzAsMHgwMiwweGNjLDB4NDMsMHg4YiwweDAwLDB4MmMsMHg4MCwweDBiLDB4MzAsMHgwMiwweGNjLDB4MDIgfSwKLSAgMTYsIDB4YThjMCwgMCwgezB4ODMsMHgwMSwweDJjLDB4YzAsMHg0YiwweDMwLDB4MDAsMHg0YSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YThkMCwgMCwgezB4YTAsMHgwMSwweDBjLDB4MjQsMHg4NywweDk0LDB4MjEsMHhlNCwweDE4LDB4MzEsMHgwMiwweGRjLDB4ODAsMHg5NywweDEwLDB4MjUgfSwKLSAgMTYsIDB4YThlMCwgMCwgezB4Y2QsMHgwYiwweGYyLDB4MDIsMHg3YywweDAwLDB4YTAsMHgwMCwweDI4LDB4ZTAsMHgxOCwweDcwLDB4MDIsMHhkYywweDAxLDB4ODcgfSwKLSAgMTYsIDB4YThmMCwgMCwgezB4MzQsMHgyOSwweDQwLDB4MDksMHg0MCwweDAyLDB4ZDAsMHgwNCwweDg0LDB4MDQsMHgyZCwweDAwLDB4NGIsMHhkMCwweDIyLDB4NjggfSwKLSAgMTYsIDB4YTkwMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxNiwweDAwLDB4Y2YsMHhhMCwweDcwLDB4ZTkgfSwKLSAgMTYsIDB4YTkxMCwgMCwgezB4MTgsMHg3YiwweDAzLDB4ZmYsMHg0MCwweDk3LDB4YTAsMHgzNSwweGU4LDB4MGYsMHg3NCwweDAyLDB4NWUsMHgyMCwweGU0LDB4ODAgfSwKLSAgMTYsIDB4YTkyMCwgMCwgezB4MzksMHhhMCwweDJkLDB4NzgsMHgwMywweGZlLDB4MDAsMHhjNywweDgwLDB4M2QsMHhlMCwweDVmLDB4NjgsMHg0MywweGMyLDB4MDAgfSwKLSAgMTYsIDB4YTkzMCwgMCwgezB4YzQsMHg4NCwweDFkLDB4NjAsMHgwZiwweDc4LDB4MDMsMHg2YSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTk0MCwgMCwgezB4MDgsMHgwZCwweGE0LDB4MDAsMHgzYiwweDAwLDB4MmUsMHhkOCwweDBmLDB4YjQsMHgwMywweDJkLDB4OGEsMHhlYiwweDYyLDB4M2EgfSwKLSAgMTYsIDB4YTk1MCwgMCwgezB4ZDAsMHgwZiwweGIyLDB4ODcsMHgwYywweGQwLDB4ZDgsMHgwMCwweDMyLDB4YzAsMHg0ZiwweDkwLDB4NDMsMHhlYywweDAwLDB4ZmIgfSwKLSAgMTYsIDB4YTk2MCwgMCwgezB4MDgsMHgzZSwweDQwLDB4OGYsMHg5MCwweDAzLDB4ZmMsMHgwMCwweGZmLDB4MDQsMHgzZiwweDgwLDB4MGYsMHgwMCwweDJiLDB4ODIgfSwKLSAgMTYsIDB4YTk3MCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmNiwweDAwLDB4ZmYsMHhhMCwweDNlLDB4ZjQgfSwKLSAgMTYsIDB4YTk4MCwgMCwgezB4MGUsMHhiOCwweDAzLDB4ZWUsMHgwOCwweDRiLDB4ZjAsMHg3ZiwweGY0LDB4MGMsMHhmOSwweDIzLDB4ZWUsMHg0OCwweDc4LDB4OTAgfSwKLSAgMTYsIDB4YTk5MCwgMCwgezB4MzIsMHhlNCwweDBjLDB4ZjksMHgwMywweGZlLDB4MDAsMHhmZiwweDgwLDB4M2YsMHhlNCwweDFjLDB4NzksMHgwMywweDJlLDB4NDAgfSwKLSAgMTYsIDB4YTlhMCwgMCwgezB4ZmYsMHg4MCwweDMzLDB4ZTAsMHgyYywweDc4LDB4MDcsMHgwMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTliMCwgMCwgezB4YTgsMHgxMSwweDk0LDB4MDAsMHhiMywweDAwLDB4MGMsMHhlNSwweDBiLDB4MzgsMHgwMiwweGZlLDB4ODAsMHg4ZiwweDgwLDB4NjEgfSwKLSAgMTYsIDB4YTljMCwgMCwgezB4YzQsMHgyOCwweDc4LDB4MDAsMHg0ZSwweDAwLDB4ZjQsMHg4NCwweDI1LDB4YTgsMHgwYywweDcwLDB4MDIsMHhjYywweDA0LDB4YjMgfSwKLSAgMTYsIDB4YTlkMCwgMCwgezB4OTAsMHgyNSwweDQwLDB4MGMsMHg0MSwweDgzLDB4NTIsMHg0MCwweGI0LDB4MTAsMHhhMywweDAwLDB4MGMsMHg1MiwweDAzLDB4NmEgfSwKLSAgMTYsIDB4YTllMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5NCwweDAwLDB4YjcsMHgyMSwweDZkLDB4YzggfSwKLSAgMTYsIDB4YTlmMCwgMCwgezB4NGIsMHg3MCwweDAyLDB4ZGMsMHg0MiwweGE3LDB4MzEsMHgyOSwweGM0LDB4MDgsMHg3MiwweDAyLDB4ZGMsMHgwMCwweGI3LDB4MjggfSwKLSAgMTYsIDB4YWEwMCwgMCwgezB4MjQsMHg4MCwweDA4LDB4NzAsMHgwNiwweGQ0LDB4MjAsMHhiNywweDAxLDB4MmQsMHhjMSwweDA4LDB4NjAsMHgwMiwweDUwLDB4ODAgfSwKLSAgMTYsIDB4YWExMCwgMCwgezB4YjQsMHgwOCwweDIxLDB4NjIsMHgwOSwweDc0LDB4MDYsMHg4MCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWEyMCwgMCwgezB4MjAsMHgxNCwweGM3LDB4MDQsMHhiMywweDAwLDB4MmMsMHhjMCwweDBiLDB4YjAsMHgwMiwweGNjLDB4MDAsMHhhMywweDAyLDB4NjAgfSwKLSAgMTYsIDB4YWEzMCwgMCwgezB4YzAsMHgwOCwweDM4LDB4MDIsMHg0ZSwweDQ0LDB4YTAsMHhjMCwweDI0LDB4OTEsMHgwOCwweDMwLDB4MDIsMHhjMCwweDAwLDB4YjMgfSwKLSAgMTYsIDB4YWE0MCwgMCwgezB4MDAsMHgyNCwweDYwLDB4MDgsMHgxYywweDAyLDB4NGMsMHg4OCwweGIzLDB4YzAsMHgyMCwweGEwLDB4MDgsMHgwMCwweDBhLDB4ODggfSwKLSAgMTYsIDB4YWE1MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhhYywweDAwLDB4ZmYsMHgwMCwweDJmLDB4YzAgfSwKLSAgMTYsIDB4YWE2MCwgMCwgezB4NGYsMHhmMCwweDEzLDB4ZmMsMHgwOCwweGU3LDB4OGEsMHgzZiwweGMwLDB4MGMsMHhmNSwweGMyLDB4ZmUsMHgxMCwweGJiLDB4YzAgfSwKLSAgMTYsIDB4YWE3MCwgMCwgezB4MzIsMHhkNCwweDBjLDB4MzAsMHgxMywweGUzLDB4MDQsMHhiZiwweDAwLDB4MmUsMHg2MiwweDA4LDB4YjksMHgwMiwweDZlLDB4MDAgfSwKLSAgMTYsIDB4YWE4MCwgMCwgezB4ZmIsMHgwMSwweDMyLDB4YTQsMHg0ZCwweDk0LDB4MDIsMHhhYiwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWE5MCwgMCwgezB4ODAsMHgwMCwweGVjLDB4NjAsMHhmYiwweDAwLDB4MWUsMHhjMCwweDBmLDB4YjAsMHgxMywweGVjLDB4MDAsMHg1YiwweDAwLDB4M2EgfSwKLSAgMTYsIDB4YWFhMCwgMCwgezB4YzAsMHgwZiwweGIwLDB4NDEsMHhlYywweDAwLDB4N2IsMHg0NSwweGJhLDB4NDAsMHgyZSwweGIwLDB4MTUsMHhlMCwweDAxLDB4ZmIgfSwKLSAgMTYsIDB4YWFiMCwgMCwgezB4MDAsMHgzZSwweDUwLDB4MGUsMHhjMCwweDAzLDB4ZjAsMHg0MCwweGZjLDB4MjAsMHgzZiwweDUwLDB4OGYsMHg5MCwweDAxLDB4NjAgfSwKLSAgMTYsIDB4YWFjMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmNCwweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzAgfSwKLSAgMTYsIDB4YWFkMCwgMCwgezB4OGYsMHhmMCwweDAzLDB4MWMsMHgwMiwweGNmLDB4MDAsMHgzNiwweGMwLDB4MGQsMHhmMCwweDAzLDB4N2MsMHgwMCwweDdmLDB4MmEgfSwKLSAgMTYsIDB4YWFlMCwgMCwgezB4M2YsMHg4MCwweDBmLDB4ZjgsMHgxMywweDkwLDB4MjEsMHhjZiwweDAwLDB4M2YsMHg2MiwweDBjLDB4ZTAsMHgwMywweDMwLDB4MDAgfSwKLSAgMTYsIDB4YWFmMCwgMCwgezB4ZjgsMHgwMCwweDNmLDB4MDAsMHgwZiwweGQwLDB4MDMsMHg4MCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWIwMCwgMCwgezB4ODEsMHgwNCwweDY0LDB4MTEsMHhiYiwweDAwLDB4MmUsMHhjMCwweDBiLDB4YjAsMHgwMiwweDJjLDB4MDAsMHhkYiwweDA0LDB4MzIgfSwKLSAgMTYsIDB4YWIxMCwgMCwgezB4YzAsMHgwZSwweGIwLDB4MDIsMHhlYywweDAwLDB4YmIsMHg4NCwweDJlLDB4NDAsMHgwYiwweGI5LDB4NDIsMHgyMiwweDQyLDB4OGIgfSwKLSAgMTYsIDB4YWIyMCwgMCwgezB4MDEsMHgyYywweDcyLDB4MGEsMHg5MCwweDQyLDB4MmMsMHgwMCwweGJiLDB4MDAsMHgyZSwweGMyLDB4OGYsMHg4OCwweDA2LDB4ZTAgfSwKLSAgMTYsIDB4YWIzMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDEsMHgyNCwweDAwLDB4YmIsMHgwMCwweDZlLDB4YzAgfSwKLSAgMTYsIDB4YWI0MCwgMCwgezB4NDgsMHhiMCwweDQyLDB4MmMsMHgwMCwweDhiLDB4MDAsMHgyNiwweGMwLDB4MGEsMHhiMCwweDEyLDB4ZWMsMHgwMCwweGJiLDB4NDAgfSwKLSAgMTYsIDB4YWI1MCwgMCwgezB4MmUsMHhjOCwweDBiLDB4YjAsMHgxMiwweDJjLDB4MDAsMHg4YiwweDAwLDB4MmUsMHg0OCwweDBhLDB4MzAsMHgwMiwweDZjLDB4MDAgfSwKLSAgMTYsIDB4YWI2MCwgMCwgezB4YmIsMHgwMCwweDJlLDB4ODAsMHg0YiwweDk4LDB4MDIsMHhlMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWI3MCwgMCwgezB4MDgsMHgwNCwweDA0LDB4MDAsMHhiMywweDAwLDB4NmMsMHhjMiwweDRiLDB4MzEsMHgwMiwweDBjLDB4NTAsMHg5YiwweDIwLDB4MjAgfSwKLSAgMTYsIDB4YWI4MCwgMCwgezB4YzAsMHgwYSwweDMyLDB4MTIsMHhjYywweDgwLDB4YjMsMHgwMCwweDZjLDB4MGMsMHgwYiwweDMxLDB4MDIsMHgwYywweDQyLDB4ODMgfSwKLSAgMTYsIDB4YWI5MCwgMCwgezB4MDgsMHgyZSwweDQwLDB4MGEsMHgwMCwweDAyLDB4MDAsMHg4MCwweGIwLDB4MDAsMHgyYywweDQxLDB4MGIsMHgxMCwweDAyLDB4NDIgfSwKLSAgMTYsIDB4YWJhMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2NCwweDAwLDB4YmIsMHg0MCwweDNmLDB4Y2MgfSwKLSAgMTYsIDB4YWJiMCwgMCwgezB4MGUsMHhmMCwweDgzLDB4M2QsMHhhMCwweGNmLDB4MjAsMHgzNywweGMwLDB4MGMsMHhmNywweGMzLDB4ZmQsMHg0OCwweGYzLDB4MDAgfSwKLSAgMTYsIDB4YWJjMCwgMCwgezB4M2UsMHg4OCwweDBmLDB4YjQsMHgxMywweGE1LDB4MDAsMHg4ZiwweDMwLDB4M2UsMHg0MCwweDBjLDB4YTAsMHgwMywweDYwLDB4ODAgfSwKLSAgMTYsIDB4YWJkMCwgMCwgezB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDkwLDB4MjMsMHhjMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWJlMCwgMCwgezB4YTAsMHgxOSwweGY0LDB4MDAsMHhmZiwweDI5LDB4M2YsMHhjOSwweDBmLDB4ZjAsMHgxMywweGZjLDB4OTQsMHhlZiwweDEyLDB4M2IgfSwKLSAgMTYsIDB4YWJmMCwgMCwgezB4YzAsMHg4ZSwweGIyLDB4MDcsMHhmZCwweDA0LDB4ZmYsMHgxMCwweDNmLDB4MGMsMHgwZiwweGYwLDB4MDMsMHhmMCwweDAwLDB4ZmIgfSwKLSAgMTYsIDB4YWMwMCwgMCwgezB4MjAsMHgzZCwweDQwLDB4MGYsMHhkMCwweDQzLDB4ZmMsMHg0MCwweGZmLDB4MDQsMHgzZiwweGMwLDB4MGUsMHhjMCwweDQzLDB4ZTggfSwKLSAgMTYsIDB4YWMxMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmYywweGEyLDB4YzcsMHgyMCwweDNmLDB4MjQgfSwKLSAgMTYsIDB4YWMyMCwgMCwgezB4MGMsMHhmMCwweDAzLDB4M2MsMHg4MCwweGNjLDB4MDksMHgzMywweGQxLDB4MGMsMHhmMSwweDIzLDB4ZmMsMHgyMCwweGRmLDB4MzYgfSwKLSAgMTYsIDB4YWMzMCwgMCwgezB4M2YsMHhjMCwweDBlLDB4NDgsMHgwMywweGZlLDB4MDAsMHhmZiwweDgwLDB4MzcsMHhlNCwweDBkLDB4NzgsMHgwMywweDExLDB4YTAgfSwKLSAgMTYsIDB4YWM0MCwgMCwgezB4Y2YsMHgwMCwweDM3LDB4YzgsMHgwYywweGYwLDB4MDMsMHgzMCwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWM1MCwgMCwgezB4ODAsMHgxMCwweGZmLDB4MDAsMHg4ZiwweGQxLDB4MmUsMHgwOCwweDBkLDB4YjYsMHgxMiwweDNkLDB4NDUsMHhmOSwweDY0LDB4MjcgfSwKLSAgMTYsIDB4YWM2MCwgMCwgezB4ZDAsMHg4OCwweGJhLDB4MTQsMHhjYywweDA0LDB4OGYsMHg0MCwweDIzLDB4ZjAsMHgwYiwweDg4LDB4MDIsMHgyZSwweDA0LDB4YmIgfSwKLSAgMTYsIDB4YWM3MCwgMCwgezB4ODAsMHhhZSwweGMwLDB4MDgsMHhiOCwweDBhLDB4MjEsMHgwMCwweDg4LDB4ZDAsMHgyMiwweDIwLDB4MjgsMHhiMCwweDAyLDB4MjAgfSwKLSAgMTYsIDB4YWM4MCwgMCwgezB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDAwLDB4OTMsMHgwMCwweDJlLDB4MDAgfSwKLSAgMTYsIDB4YWM5MCwgMCwgezB4MGEsMHgzNCwweDgyLDB4OGMsMHhhMCwweGEwLDB4MDgsMHgyNCwweGQ4LDB4MDksMHgzMSwweDAyLDB4Y2MsMHgyMCwweGIzLDB4MzIgfSwKLSAgMTYsIDB4YWNhMCwgMCwgezB4MjgsMHhkMCwweDRhLDB4ODAsMHgwMiwweGNjLDB4MGMsMHhiYiwweDAwLDB4MjIsMHg0MCwweDg5LDB4YjAsMHgwMiwweDYwLDB4ODAgfSwKLSAgMTYsIDB4YWNiMCwgMCwgezB4OTMsMHgwMCwweDI0LDB4ZDAsMHgwYiwweDMwLDB4MDIsMHhhMiwweDAxLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWNjMCwgMCwgezB4YzAsMHgxMSwweGFjLDB4MDAsMHg5YiwweDAwLDB4MmUsMHgyMCwweDA5LDB4YjAsMHg0YSwweDJjLDB4MDIsMHhhMCwweDAwLDB4MDYgfSwKLSAgMTYsIDB4YWNkMCwgMCwgezB4YzAsMHgwOSwweGIwLDB4MDAsMHhlYywweDAwLDB4YWIsMHgwMCwweDJhLDB4YzAsMHgwYiwweDg4LDB4MDIsMHg2YywweDAwLDB4YmIgfSwKLSAgMTYsIDB4YWNlMCwgMCwgezB4MjAsMHgyYSwweGUyLDB4NDEsMHhiOCwweDJhLDB4NjAsMHgwYSwweDk4LDB4MDAsMHgyNiwweDAwLDB4MGIsMHhiMCwweDAyLDB4YjggfSwKLSAgMTYsIDB4YWNmMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlYywweDA4LDB4ZGIsMHgwMiwweDNlLDB4MjAgfSwKLSAgMTYsIDB4YWQwMCwgMCwgezB4NGMsMHhiMCwweDAzLDB4MmMsMHgwMiwweDhiLDB4MjAsMHgxMiwweGMwLDB4MjksMHhiMCwweDEyLDB4ZWMsMHgwMCwweGZiLDB4MDAgfSwKLSAgMTYsIDB4YWQxMCwgMCwgezB4M2EsMHhjMCwweDBlLDB4ODgsMHgwMywweGVkLDB4MjAsMHhmYiwweGM4LDB4MzQsMHhmMCwweDBkLDB4YmEsMHgwMywweDQ3LDB4NjAgfSwKLSAgMTYsIDB4YWQyMCwgMCwgezB4YzksMHgwMCwweDM2LDB4NDAsMHgwZiwweGIwLDB4MGIsMHg5MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWQzMCwgMCwgezB4ZTAsMHgwMSwweDljLDB4MDAsMHhlZiwweDAwLDB4MGYsMHgwMCwweDBmLDB4MzAsMHgwMCwweGZjLDB4MDAsMHhkZiwweDkwLDB4YmIgfSwKLSAgMTYsIDB4YWQ0MCwgMCwgezB4YzAsMHhjZSwweGYwLDB4MDMsMHhmYywweDA0LDB4Y2IsMHgwMCwweDE3LDB4YzAsMHgwZiwweGMwLDB4MDMsMHhiYywweDg0LDB4ZmYgfSwKLSAgMTYsIDB4YWQ1MCwgMCwgezB4MDAsMHgzNywweGMwLDB4MGUsMHhkMCwweDYzLDB4YjgsMHgwMCwweGVhLDB4MDAsMHgzYSwweDgwLDB4MGMsMHgzMCwweDAzLDB4NzAgfSwKLSAgMTYsIDB4YWQ2MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhYywweDAwLDB4ZmIsMHgwMiwweDMyLDB4MDAgfSwKLSAgMTYsIDB4YWQ3MCwgMCwgezB4MGYsMHhiMCwweDUzLDB4MmMsMHgwMCwweGZhLDB4MDAsMHgzMiwweGMwLDB4OGYsMHhiMCwweDA3LDB4MmMsMHgwMCwweGZiLDB4MDAgfSwKLSAgMTYsIDB4YWQ4MCwgMCwgezB4YjIsMHhjMCwweDBmLDB4ODAsMHgwNywweGFjLDB4ODAsMHhkYiwweDI0LDB4N2UsMHhkMCwweDBlLDB4YjAsMHgyMywweDc0LDB4MDQgfSwKLSAgMTYsIDB4YWQ5MCwgMCwgezB4ZGQsMHgwOCwweGI1LDB4NDAsMHgwYywweGIwLDB4MDMsMHgxMCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWRhMCwgMCwgezB4YzgsMHgwNSwweDNjLDB4MDAsMHhiZiwweGMwLDB4YTAsMHgwMCwweDFiLDB4ZjAsMHgwMiwweDNmLDB4NjAsMHhlYSwweDUwLDB4MjMgfSwKLSAgMTYsIDB4YWRiMCwgMCwgezB4YzAsMHgwOCwweGZhLDB4MDcsMHhmYywweDAwLDB4ZGYsMHgwMCwweDYzLDB4YzAsMHg0OCwweDE4LDB4MDIsMHgyZCwweDAwLDB4YjMgfSwKLSAgMTYsIDB4YWRjMCwgMCwgezB4MDAsMHg2ZSwweGMwLDB4MGQsMHgzYSwweDAzLDB4MjQsMHgwMCwweDgyLDB4ODAsMHgzMiwweDgwLDB4MGQsMHhmMCwweDAzLDB4MzIgfSwKLSAgMTYsIDB4YWRkMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0YywweDE0LDB4YjMsMHg1OSwweDIwLDB4ODAgfSwKLSAgMTYsIDB4YWRlMCwgMCwgezB4MDksMHgzMCwweDAyLDB4MmUsMHgwNSwweGIwLDB4NDQsMHgyZSwweGMwLDB4MDksMHgzNCwweDgyLDB4ZWMsMHgwMCwweGFiLDB4MDQgfSwKLSAgMTYsIDB4YWRmMCwgMCwgezB4MjAsMHhjMCwweDA5LDB4MjEsMHhiMiwweDhlLDB4MDQsMHg5MywweGMwLDB4MjQsMHhjMCwweDBhLDB4MTgsMHgwNiwweDRjLDB4MDAgfSwKLSAgMTYsIDB4YWUwMCwgMCwgezB4OTIsMHg1MCwweDIwLDB4YzAsMHgwOCwweDMwLDB4MDIsMHg3MCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWUxMCwgMCwgezB4MjAsMHgwMSwweDFlLDB4MDAsMHhiNywweDgwLDB4NjEsMHhlMCwweDBiLDB4NzgsMHgwYSwweDVlLDB4MDEsMHhiMSwweGEwLDB4MmQgfSwKLSAgMTYsIDB4YWUyMCwgMCwgezB4ZTAsMHgwYSwweDc4LDB4MDIsMHg1ZSwweDAwLDB4MDcsMHg5MCwweDIxLDB4ZTAsMHgxOCwweGM4LDB4MDIsMHgxZSwweDAwLDB4YjcgfSwKLSAgMTYsIDB4YWUzMCwgMCwgezB4ODAsMHgyZCwweGUwLDB4OGEsMHhkOCwweDAyLDB4M2UsMHhjMCwweDg1LDB4ODAsMHgyMSwweDIwLDB4MTksMHg3OCwweDIyLDB4MDAgfSwKLSAgMTYsIDB4YWU0MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDAwLDB4ZjMsMHg5NCwweDIwLDB4MTAgfSwKLSAgMTYsIDB4YWU1MCwgMCwgezB4NGIsMHgzMCwweDA3LDB4MGMsMHgwMCwweGYzLDB4MDAsMHgzZSwweGM4LDB4MGYsMHgzMCwweDAzLDB4Y2MsMHgwMCwweDIzLDB4MTAgfSwKLSAgMTYsIDB4YWU2MCwgMCwgezB4MDAsMHhjYiwweDA1LDB4MjAsMHgwMiwweDhjLDB4NjAsMHg5MywweDBhLDB4MmUsMHhjNCwweDBhLDB4MDEsMHgwNywweDRjLDB4ODAgfSwKLSAgMTYsIDB4YWU3MCwgMCwgezB4ZDIsMHgwMSwweDMwLDB4YzAsMHgyYywweDMwLDB4MGIsMHg1YSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWU4MCwgMCwgezB4NDAsMHgxZCwweGJjLDB4MDAsMHhmZiwweDAxLDB4MGYsMHg0MCwweDBmLDB4ZjAsMHgxMywweGJjLDB4MDAsMHhlZiwweDI2LDB4NzMgfSwKLSAgMTYsIDB4YWU5MCwgMCwgezB4YzIsMHgwYywweGIwLDB4ODMsMHhiYywweDQwLDB4ZmYsMHgxOCwweDNkLDB4YzAsMHg0YSwweGMxLDB4MDMsMHhmYywweDAwLDB4ZmIgfSwKLSAgMTYsIDB4YWVhMCwgMCwgezB4MTIsMHgzZiwweGM0LDB4NGQsMHhjMSwweDBiLDB4ZmMsMHg4MSwweGZkLDB4MDAsMHgzZiwweDIwLDB4MGYsMHhmMCwweDAzLDB4ZDAgfSwKLSAgMTYsIDB4YWViMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlYywweDIwLDB4Y2IsMHg0OCwweDNlLDB4MDAgfSwKLSAgMTYsIDB4YWVjMCwgMCwgezB4MGMsMHhiMCwweDAzLDB4MmQsMHgyMCwweGU5LDB4ODAsMHhmYSwweGM4LDB4MGQsMHhiMCwweDAzLDB4ZWUsMHgwMCwweGRiLDB4MjQgfSwKLSAgMTYsIDB4YWVkMCwgMCwgezB4NzYsMHhmMywweDhlLDB4ODAsMHgzMywweGVjLDB4NDQsMHhlYiwweDEwLDB4M2UsMHhjMCwweDBmLDB4OTAsMHgwMywweGU4LDB4MDQgfSwKLSAgMTYsIDB4YWVlMCwgMCwgezB4ZGMsMHgwMCwweGIzLDB4NjEsMHgwYywweGIwLDB4MDMsMHgyYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWVmMCwgMCwgezB4NDgsMHgxMSwweDhkLDB4MDAsMHg4NywweDIwLDB4MmYsMHgwMSwweDI4LDB4NzAsMHgwMiwweDBjLDB4ODQsMHg4ZCwweDA0LDB4MzEgfSwKLSAgMTYsIDB4YWYwMCwgMCwgezB4Y2MsMHhjOSwweDcyLDB4MDIsMHhkZCwweDAwLDB4MzcsMHgzMywweDIxLDB4ZDgsMHgwOCwweDQwLDB4MDIsMHhkYywweDAwLDB4YjcgfSwKLSAgMTYsIDB4YWYxMCwgMCwgezB4MjAsMHgzZCwweGMwLDB4MDksMHg1MCwweDIyLDB4ZjAsMHgwMCwweDk3LDB4MDAsMHgyMSwweDgwLDB4MGEsMHhmYywweDAyLDB4OTIgfSwKLSAgMTYsIDB4YWYyMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHgxZSwweDgyLDB4ODcsMHhiMCwweDJkLDB4MjAgfSwKLSAgMTYsIDB4YWYzMCwgMCwgezB4MDgsMHgzOSwweDAyLDB4MWUsMHg0MSwweGE3LDB4ODAsMHgyNCwweGUwLDB4MDksMHg3YSwweDMyLDB4OGUsMHg4MiwweDA3LDB4YTAgfSwKLSAgMTYsIDB4YWY0MCwgMCwgezB4MjUsMHhlMCwweDhiLDB4NDgsMHgwMiwweDFlLDB4MDAsMHhhNywweGUxLDB4MmQsMHhlMCwweDRiLDB4NTgsMHgwMCwweGRhLDB4MDAgfSwKLSAgMTYsIDB4YWY1MCwgMCwgezB4YTAsMHg4MCwweDI0LDB4NjAsMHgwOCwweDdhLDB4MDIsMHgzMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWY2MCwgMCwgezB4NDgsMHgxNCwweGNjLDB4MDAsMHg4MywweDAwLDB4MmMsMHgwMCwweDA4LDB4MzAsMHgwMiwweDhjLDB4MDAsMHg5MywweDAwLDB4MjIgfSwKLSAgMTYsIDB4YWY3MCwgMCwgezB4YzEsMHgwOSwweDMwLDB4NDIsMHhjYywweDAwLDB4ODMsMHgwMCwweDYwLDB4YzAsMHgwOCwweDFhLDB4MDIsMHhjZSwweDA0LDB4YjMgfSwKLSAgMTYsIDB4YWY4MCwgMCwgezB4ZTAsMHgyOCwweGEwLDB4MDksMHgxYywweDgyLDB4NGIsMHgwOCwweGEzLDB4ODAsMHgyNCwweGEwLDB4MmEsMHgzMCwweDAyLDB4OWEgfSwKLSAgMTYsIDB4YWY5MCwgMCwgezB4MDQsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOCwweDAwLDB4Y2EsMHgwMCwweDJmLDB4ODggfSwKLSAgMTYsIDB4YWZhMCwgMCwgezB4MGMsMHhhMCwweDEzLDB4MjgsMHgwMCwweGVlLDB4MDAsMHgyZSwweDgwLDB4MmQsMHhhMCwweDAzLDB4ZTgsMHgwMCwweGRhLDB4MDAgfSwKLSAgMTYsIDB4YWZiMCwgMCwgezB4NzYsMHg4MCwweDBlLDB4ZTgsMHgwMywweGJiLDB4ODAsMHhlZSwweDQwLDB4MmYsMHhhMiwweDhmLDB4ZTYsMHgwMywweGViLDB4ODYgfSwKLSAgMTYsIDB4YWZjMCwgMCwgezB4ZmEsMHg4MCwweDM3LDB4ODIsMHgwYywweDIwLDB4MDcsMHgzYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWZkMCwgMCwgezB4NDgsMHgwMCwweGUwLDB4MDAsMHhmOCwweDQwLDB4MWUsMHgwMCwweDBmLDB4ODAsMHgwYiwweDYxLDB4MDAsMHhlOCwweGMwLDB4M2EgfSwKLSAgMTYsIDB4YWZlMCwgMCwgezB4MDAsMHgwZSwweDgwLDB4MDMsMHhlMCwweDAxLDB4ZjgsMHgwMCwweDdlLDB4MTAsMHgxZSwweDgxLDB4MDMsMHhlMCwweDA4LDB4ZjggfSwKLSAgMTYsIDB4YWZmMCwgMCwgezB4MDAsMHgzZSwweDAwLDB4MGQsMHg4MCwweDAzLDB4YzAsMHgyOCwweGRjLDB4NTAsMHgzYiwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZDIgfSwKLSAgMTYsIDB4YjAwMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhjNCwweDAyLDB4YzksMHgwMCwweDNlLDB4NDIgfSwKLSAgMTYsIDB4YjAxMCwgMCwgezB4MGYsMHgxMCwweDAzLDB4YTYsMHgwMCwweGM5LDB4MDEsMHgzYSwweDQwLDB4MGUsMHg5NCwweDAxLDB4ZTQsMHgxMCwweGYxLDB4MDQgfSwKLSAgMTYsIDB4YjAyMCwgMCwgezB4MzIsMHg0MCwweDBmLDB4OWEsMHgyMywweDIwLDB4NjAsMHhmOCwweDA0LDB4MGEsMHg0MiwweDBlLDB4OTAsMHgxMywweDI0LDB4MDAgfSwKLSAgMTYsIDB4YjAzMCwgMCwgezB4YzEsMHgwMCwweDMyLDB4NDAsMHgwZiwweDkwLDB4MDMsMHgwMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjA0MCwgMCwgezB4ODAsMHgwNCwweDY3LDB4MDgsMHhhOSwweDAwLDB4NmUsMHg0MCwweDA4LDB4OTAsMHgwMiwweDI3LDB4ODIsMHg4OSwweDAwLDB4MjYgfSwKLSAgMTYsIDB4YjA1MCwgMCwgezB4NDAsMHgwOCwweDljLDB4MDMsMHhhNCwweDEwLDB4YjksMHgwMCwweDM2LDB4NDAsMHg5YiwweDFjLDB4MWEsMHgyMywweDA0LDB4YjggfSwKLSAgMTYsIDB4YjA2MCwgMCwgezB4MDAsMHgzYSwweDQwLDB4MGUsMHgxMCwweDAyLDB4MjQsMHgwMiwweGM5LDB4YTAsMHhhMiwweDQwLDB4MGIsMHg5MCwweDBhLDB4MjAgfSwKLSAgMTYsIDB4YjA3MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNSwweDgwLDB4ODksMHgwNCwweDJjLDB4NDAgfSwKLSAgMTYsIDB4YjA4MCwgMCwgezB4MDgsMHg5MCwweDAyLDB4ODQsMHg4MSwweDk5LDB4NDAsMHgyZSwweDQwLDB4MWEsMHg5MCwweDA2LDB4ZTQsMHgwMSwweGI5LDB4MDAgfSwKLSAgMTYsIDB4YjA5MCwgMCwgezB4YTYsMHg0MSwweDFiLDB4OTAsMHg4MiwweDIxLDB4MDAsMHhiOCwweDEwLDB4MmUsMHg0MCwweDBhLDB4OTIsMHgwYSwweGE0LDB4MDEgfSwKLSAgMTYsIDB4YjBhMCwgMCwgezB4OGYsMHgyMiwweDIzLDB4NDAsMHgwYiwweDkwLDB4MDIsMHgwNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjBiMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4ODAsMHhhMywweDIwLDB4MmMsMHg0MSwweDA5LDB4MTIsMHgwMiwweDA0LDB4ODAsMHg4MSwweDIwLDB4MjQgfSwKLSAgMTYsIDB4YjBjMCwgMCwgezB4NDgsMHgwYSwweDM2LDB4MDIsMHhjNCwweDgwLDB4YjEsMHgyMCwweDA0LDB4YzgsMHg0YiwweDE0LDB4MDIsMHgwNSwweDAwLDB4YjEgfSwKLSAgMTYsIDB4YjBkMCwgMCwgezB4MDUsMHgyOCwweDUwLDB4MGEsMHg5MCwweDAyLDB4MDUsMHgwMiwweDg1LDB4MDAsMHgyMSwweDQwLDB4MGIsMHgxMiwweDAyLDB4MDIgfSwKLSAgMTYsIDB4YjBlMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDAwLDB4YzgsMHgwMCwweDZlLDB4MTQgfSwKLSAgMTYsIDB4YjBmMCwgMCwgezB4MmMsMHg4NSwweDAyLDB4YTEsMHg0MCwweGM4LDB4NTAsMHgzYSwweDE0LDB4MGUsMHg4MCwweDAyLDB4ZTEsMHg0MCwweGIwLDB4NTAgfSwKLSAgMTYsIDB4YjEwMCwgMCwgezB4MzIsMHgwMCwweDBiLDB4ODAsMHgwMywweDIwLDB4MDAsMHhmYSwweDAwLDB4M2UsMHgwMCwweDBlLDB4ODAsMHgwMywweGEwLDB4MDIgfSwKLSAgMTYsIDB4YjExMCwgMCwgezB4YzgsMHgwMCwweDEzLDB4MDAsMHgwZiwweDgyLDB4MDMsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjEyMCwgMCwgezB4OTgsMHgxZCwweGU0LDB4NDgsMHhmOSwweDE0LDB4M2YsMHg0MCwweDBjLDB4OTEsMHgwMywweGU0LDB4NDIsMHhmZCwweDEwLDB4MzYgfSwKLSAgMTYsIDB4YjEzMCwgMCwgezB4NDQsMHgwZCwweDkxLDB4MjMsMHhhNCwweDQ4LDB4ZjksMHgxMSwweDM4LDB4NDQsMHgwZiwweGQwLDB4MDMsMHhlNSwweDE0LDB4MzkgfSwKLSAgMTYsIDB4YjE0MCwgMCwgezB4NDIsMHg3YiwweDQwLDB4OGUsMHhkMCwweDAxLDB4ZjUsMHgwMCwweGE5LDB4NDAsMHgzZSwweDUwLDB4MDcsMHg5NiwweDgzLDB4ZTYgfSwKLSAgMTYsIDB4YjE1MCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDEsMHhmNiwweDgwLDB4ZGQsMHhhZSwweDNhLDB4NTAgfSwKLSAgMTYsIDB4YjE2MCwgMCwgezB4MGQsMHg5YSwweDBiLDB4NzYsMHg4MCwweGNmLDB4ODgsMHgzMiwweDcwLDB4MmQsMHhkYSwweDAzLDB4YTcsMHgwMSwweGU5LDB4OTIgfSwKLSAgMTYsIDB4YjE3MCwgMCwgezB4MzcsMHg2OCwweDBkLDB4OTQsMHgwMywweGU3LDB4MDAsMHhlZCwweGEwLDB4M2EsMHg1MCwweDBmLDB4ZDAsMHgwMywweGU3LDB4MDIgfSwKLSAgMTYsIDB4YjE4MCwgMCwgezB4Y2QsMHg4MCwweDMzLDB4NjgsMHgwYywweGQ4LDB4ODMsMHgwNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjE5MCwgMCwgezB4MzgsMHgxMCwweGUxLDB4MDAsMHg4OCwweDQwLDB4MjAsMHgyMCwweDBjLDB4OGMsMHgwMiwweDIzLDB4MDAsMHg4OCwweGUwLDB4MjIgfSwKLSAgMTYsIDB4YjFhMCwgMCwgezB4MzAsMHgwOCwweDg0LDB4MDIsMHhlMywweDAwLDB4YjgsMHhlMCwweDIyLDB4MTQsMHg4ZCwweDg4LDB4MDIsMHhlMywweDAwLDB4YjggfSwKLSAgMTYsIDB4YjFiMCwgMCwgezB4NTAsMHgyZSwweGE4LDB4OGIsMHg4MCwweDIyLDB4ZTMsMHg0OCwweDg4LDB4NTAsMHgyMiwweDAwLDB4MDgsMHg4YywweDAyLDB4MGUgfSwKLSAgMTYsIDB4YjFjMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweDQwLDB4OTEsMHgwMCwweDJhLDB4NDggfSwKLSAgMTYsIDB4YjFkMCwgMCwgezB4MDksMHgxNCwweDgyLDB4MDUsMHgyMCwweDgxLDB4MDgsMHgyMCwweDU4LDB4MDksMHgxMSwweDAyLDB4ODUsMHg4OCwweGIxLDB4NDAgfSwKLSAgMTYsIDB4YjFlMCwgMCwgezB4YTAsMHg0MCwweDA4LDB4MTIsMHgwMiwweGM1LDB4ODAsMHhhMSwweDAwLDB4MjgsMHg0MCwweDBiLDB4MTgsMHgwMiwweGM0LDB4ODQgfSwKLSAgMTYsIDB4YjFmMCwgMCwgezB4YTEsMHgwMCwweDI0LDB4NTAsMHgwOCwweDEwLDB4OTIsMHgwMywweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjIwMCwgMCwgezB4MTgsMHgxNSwweGFjLDB4MTAsMHg5YiwweDAwLDB4MjIsMHg0MCwweDA4LDB4OTAsMHgwMiwweDA0LDB4MDYsMHg4OSwweDA0LDB4MjAgfSwKLSAgMTYsIDB4YjIxMCwgMCwgezB4NDAsMHgwOSwweDkwLDB4MDIsMHhlNCwweDAxLDB4YjksMHgwMiwweDIyLDB4NDEsMHg4OSwweGEwLDB4ODIsMHhlMCwweGEwLDB4YjkgfSwKLSAgMTYsIDB4YjIyMCwgMCwgezB4MjgsMHgyZSwweDQ0LDB4MGIsMHhiMCwweDAyLDB4ZTQsMHgwMiwweGI5LDB4MDAsMHgyNiwweDQwLDB4MjgsMHgxMCwweDAyLDB4MDYgfSwKLSAgMTYsIDB4YjIzMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNCwweDAwLDB4ZDksMHgwMCwweDM4LDB4NDAgfSwKLSAgMTYsIDB4YjI0MCwgMCwgezB4MGQsMHg5MCwweDAzLDB4MjQsMHgwMCwweGM5LDB4YTAsMHhhMiwweDQwLDB4OGQsMHg5MCwweDAzLDB4YTQsMHgwMCwweGY5LDB4MDAgfSwKLSAgMTYsIDB4YjI1MCwgMCwgezB4MzYsMHg0MCwweDBjLDB4ODQsMHgxMywweGUyLDB4MDAsMHhlOSwweDAwLDB4M2EsMHg1MCwweDBmLDB4OWMsMHgwMiwweGU2LDB4ODQgfSwKLSAgMTYsIDB4YjI2MCwgMCwgezB4ZTksMHgwMCwweGI2LDB4NDAsMHgwYywweDkwLDB4MDMsMHgyOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjI3MCwgMCwgezB4MjgsMHgwMSwweGE0LDB4MDAsMHhlMSwweDAwLDB4M2UsMHg2OCwweDBlLDB4MTAsMHgwMywweGE0LDB4MDAsMHhmMSwweDI4LDB4M2EgfSwKLSAgMTYsIDB4YjI4MCwgMCwgezB4NDAsMHgwZSwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDIsMHgwZiwweDgwLDB4MjMsMHhlMiwweDAwLDB4ZjkgfSwKLSAgMTYsIDB4YjI5MCwgMCwgezB4MDAsMHgzZSwweDQwLDB4MGYsMHg5MSwweDIzLDB4ZTQsMHg0MCwweGMxLDB4MDAsMHgzYSwweDQwLDB4MGYsMHg5MCwweDBiLDB4Y2EgfSwKLSAgMTYsIDB4YjJhMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHg4MCwweDAwLDB4YzgsMHgwMCwweDMyLDB4MDAgfSwKLSAgMTYsIDB4YjJiMCwgMCwgezB4MGMsMHg4MCwweDAzLDB4YTAsMHgyMCwweGM4LDB4NDAsMHgzZSwweDAwLDB4MGUsMHg4MSwweDYzLDB4NjAsMHgwMCwweGYwLDB4MDQgfSwKLSAgMTYsIDB4YjJjMCwgMCwgezB4M2MsMHgwMSwweDBjLDB4ODQsMHgwMywweGUwLDB4MDAsMHhjOCwweDAwLDB4M2UsMHgwMCwweDBlLDB4ODAsMHgwMywweGMxLDB4MDAgfSwKLSAgMTYsIDB4YjJkMCwgMCwgezB4ZDgsMHgxMCwweDMyLDB4MDAsMHgwYywweDgwLDB4MjMsMHgwYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjJlMCwgMCwgezB4MjgsMHgwNSwweDM4LDB4NjAsMHg4ZSwweDAwLDB4MjIsMHg4MCwweDBhLDB4YTAsMHgwMiwweDM4LDB4ODAsMHhiZSwweDAwLDB4M2EgfSwKLSAgMTYsIDB4YjJmMCwgMCwgezB4ODAsMHgwOCwweGUwLDB4MDIsMHgyOCwweDAwLDB4YmEsMHgwMCwweDIzLDB4OTgsMHgxOCwweGVjLDB4MDIsMHhmOCwweDIwLDB4YWUgfSwKLSAgMTYsIDB4YjMwMCwgMCwgezB4MDAsMHgyMiwweDgwLDB4MGIsMHhlNCwweDgyLDB4ZTgsMHgwMiwweGNlLDB4NDQsMHgyOCwweDgwLDB4MGQsMHhhMCwweDBhLDB4MGEgfSwKLSAgMTYsIDB4YjMxMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0MCwweDAwLDB4ODIsMHgwNCwweGEwLDB4YzAgfSwKLSAgMTYsIDB4YjMyMCwgMCwgezB4MDksMHgzMCwweDAyLDB4OGUsMHgwNCwweDgzLDB4NTAsMHg2YywweGMwLDB4MGEsMHgzMCwweDg2LDB4MGMsMHgwMCwweGIzLDB4MDAgfSwKLSAgMTYsIDB4YjMzMCwgMCwgezB4MjgsMHgzMCwweDBhLDB4MzYsMHgxMiwweGNjLDB4ODAsMHg4MSwweDAwLDB4MjQsMHhjMCwweDBiLDB4MzIsMHgwNiwweGNjLDB4MDAgfSwKLSAgMTYsIDB4YjM0MCwgMCwgezB4ODAsMHg4OCwweDY0LDB4NjAsMHgyOCwweDEwLDB4MDIsMHgwMiwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjM1MCwgMCwgezB4YTAsMHgwMSwweDEwLDB4MTIsMHg4NCwweDQwLDB4MjEsMHhjOCwweDBhLDB4NzIsMHgwMiwweDEwLDB4MDAsMHhiNywweDAwLDB4MmQgfSwKLSAgMTYsIDB4YjM2MCwgMCwgezB4Y2MsMHgwOCwweDM4LDB4MTIsMHgxYywweDAwLDB4YjMsMHgzMCwweDIwLDB4MDAsMHgwOCwweDcxLDB4ODIsMHhmZSwweDAwLDB4YTQgfSwKLSAgMTYsIDB4YjM3MCwgMCwgezB4ODAsMHgyMSwweGM4LDB4MGIsMHg3MCwweDAyLDB4ZGMsMHgwMSwweDg3LDB4MDAsMHgyYywweDQyLDB4MDksMHg1MSwweDAyLDB4MjAgfSwKLSAgMTYsIDB4YjM4MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxMiwweDAwLDB4YzIsMHg4MCwweDMxLDB4ZjggfSwKLSAgMTYsIDB4YjM5MCwgMCwgezB4NGMsMHhmYywweDEzLDB4OTIsMHgwOSwweGM3LDB4ODAsMHgzYywweGVkLDB4MWUsMHg3OCwweDI3LDB4MWUsMHgwMCwweGY3LDB4OGMgfSwKLSAgMTYsIDB4YjNhMCwgMCwgezB4NzksMHgyMCwweDA4LDB4N2EsMHgwMywweGRlLDB4ODEsMHg4NCwweDgwLDB4M2QsMHhlMCwweDBlLDB4NzgsMHgwMywweGZlLDB4MjAgfSwKLSAgMTYsIDB4YjNiMCwgMCwgezB4YzUsMHg4MSwweDM1LDB4NjAsMHgyYywweDU4LDB4MDMsMHgyYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjNjMCwgMCwgezB4MDgsMHgxZCwweDgwLDB4MDAsMHhmOCwweDA0LDB4M2UsMHhkMCwweDBmLDB4YjAsMHgxMywweGUwLDB4MDAsMHhmYiwweDAyLDB4M2EgfSwKLSAgMTYsIDB4YjNkMCwgMCwgezB4ZDAsMHgwZiwweGEwLDB4MGIsMHhhYywweDQwLDB4ZmIsMHgwMCwweDNhLDB4MDAsMHgyZiwweGIwLDB4MDMsMHhjYywweDAwLDB4ZjAgfSwKLSAgMTYsIDB4YjNlMCwgMCwgezB4MDAsMHgzYSwweGM0LDB4MGYsMHhiMCwweDAzLDB4ZmMsMHg0MSwweGYzLDB4MDAsMHgzYSwweDQwLDB4MGYsMHg1MCwweDkzLDB4YzIgfSwKLSAgMTYsIDB4YjNmMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmNiwweDAwLDB4Y2MsMHg4MSwweDNmLDB4ZmMgfSwKLSAgMTYsIDB4YjQwMCwgMCwgezB4MWMsMHhmOCwweDAzLDB4NzYsMHg0MCwweGVmLDB4OTIsMHgzZiwweGU0LDB4OGMsMHhmOCwweDAzLDB4YmYsMHgxMCwweGZmLDB4ODAgfSwKLSAgMTYsIDB4YjQxMCwgMCwgezB4YjMsMHgyMCwweDBlLDB4ZjksMHgxMywweGZlLDB4MjQsMHhmZCwweDk0LDB4MzcsMHhlMCwweDFjLDB4ZjksMHgwMywweGVlLDB4MDAgfSwKLSAgMTYsIDB4YjQyMCwgMCwgezB4Y2QsMHg4MCwweGIzLDB4ZTAsMHgwYywweDU4LDB4MDIsMHgwMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjQzMCwgMCwgezB4YTgsMHgxMSwweDk0LDB4NDAsMHg4MCwweDAwLDB4MmYsMHhjNCwweDA4LDB4NzIsMHgwMiwweGRkLDB4MDgsMHhkNywweDAwLDB4MmQgfSwKLSAgMTYsIDB4YjQ0MCwgMCwgezB4Y2MsMHgwOCwweGRlLDB4MDMsMHg1YywweDAwLDB4YjcsMHgwNCwweDIxLDB4ODAsMHhjOCwweDcwLDB4ODMsMHhkYywweDAwLDB4YjQgfSwKLSAgMTYsIDB4YjQ1MCwgMCwgezB4YTAsMHgyZiwweGMwLDB4MGMsMHg3MCwweDAyLDB4ZGUsMHg4MCwweDg3LDB4MDAsMHgyMSwweGMyLDB4MGEsMHg1MSwweDQyLDB4MmEgfSwKLSAgMTYsIDB4YjQ2MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5MCwweDAwLDB4ODQsMHgwMCwweDJkLDB4YzggfSwKLSAgMTYsIDB4YjQ3MCwgMCwgezB4NDgsMHg3MCwweDAyLDB4NTQsMHgwYywweGE3LDB4MDAsMHgyYywweGMwLDB4ODksMHg3MiwweDAyLDB4NWMsMHgwMCwweGIzLDB4MTAgfSwKLSAgMTYsIDB4YjQ4MCwgMCwgezB4MjAsMHgwMCwweDBhLDB4NzAsMHgwNiwweGRjLDB4MDAsMHhiNCwweDIwLDB4MmQsMHhjMCwweDA4LDB4NzAsMHgwMiwweGRjLDB4ODAgfSwKLSAgMTYsIDB4YjQ5MCwgMCwgezB4OTMsMHgwMCwweDIwLDB4YzAsMHgwOCwweDUwLDB4MDIsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjRhMCwgMCwgezB4MjAsMHgxNCwweGMwLDB4MDAsMHg4MCwweDAwLDB4MmUsMHhjMCwweDA4LDB4MzAsMHgwMiwweGM0LDB4MDgsMHhhMiwweDQyLDB4MmMgfSwKLSAgMTYsIDB4YjRiMCwgMCwgezB4YzEsMHgwOSwweDIwLDB4MDIsMHg0YywweDAwLDB4YjMsMHgwMCwweDIwLDB4ODAsMHgwOCwweDNjLDB4MjIsMHg4YywweDIwLDB4YjAgfSwKLSAgMTYsIDB4YjRjMCwgMCwgezB4MDgsMHgyZSwweGUwLDB4MDgsMHgzOCwweDEwLDB4Y2YsMHgwYSwweDkzLDB4NDAsMHhhMCwweGYwLDB4MGEsMHgxMCwweDAyLDB4MDggfSwKLSAgMTYsIDB4YjRkMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhhOCwweDAwLDB4YzEsMHgwMCwweDNmLDB4YzAgfSwKLSAgMTYsIDB4YjRlMCwgMCwgezB4MmMsMHhmMCwweDAzLDB4NjgsMHgwMCwweGFhLDB4MDAsMHgzZiwweGMwLDB4MmQsMHg4MCwweDAzLDB4N2MsMHgwMCwweGZmLDB4MDAgfSwKLSAgMTYsIDB4YjRmMCwgMCwgezB4MzIsMHgwMCwweDBlLDB4YjAsMHgxMiwweGVkLDB4MjQsMHhmYSwweDA4LDB4MjcsMHhjOCwweDEwLDB4YjgsMHhhMiwweGZmLDB4NjAgfSwKLSAgMTYsIDB4YjUwMCwgMCwgezB4OTgsMHhhMCwweGEyLDB4ZTAsMHgwYywweDUwLDB4MDMsMHgyYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjUxMCwgMCwgezB4ODAsMHgwMCwweGM5LDB4MDYsMHhmOCwweDQxLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgwMywweGU5LDB4MTAsMHg1YSwweDIwLDB4M2UgfSwKLSAgMTYsIDB4YjUyMCwgMCwgezB4YzAsMHgwZSwweDgwLDB4MDMsMHhlYywweDAwLDB4ZjMsMHgwMCwweDdlLDB4MDEsMHgwZiwweGIwLDB4OTMsMHhlZCwweDAwLDB4ZjggfSwKLSAgMTYsIDB4YjUzMCwgMCwgezB4NDAsMHgzZSwweGMwLDB4MGUsMHhiMCwweDAzLDB4ZmMsMHgwMCwweGUzLDB4MDgsMHgzYywweGMyLDB4MGYsMHhkMCwweDEzLDB4ZTAgfSwKLSAgMTYsIDB4YjU0MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmMywweDAyLDB4Y2MsMHgwMCwweDNiLDB4YzIgfSwKLSAgMTYsIDB4YjU1MCwgMCwgezB4MGMsMHhmMCwweDIzLDB4YWUsMHg0MCwweGRmLDB4ODEsMHgzOSwweGMwLDB4MDYsMHhkMCwweDAzLDB4ZmMsMHgwMCwweGZmLDB4MDQgfSwKLSAgMTYsIDB4YjU2MCwgMCwgezB4MzEsMHg0MSwweDBjLDB4ZjAsMHgwMywweGZjLDB4MDAsMHhjYywweGEwLDB4MzcsMHhjMiwweDBjLDB4ZjAsMHgwMywweDdjLDB4MDQgfSwKLSAgMTYsIDB4YjU3MCwgMCwgezB4Y2QsMHgwMCwweDMzLDB4ZjAsMHgwYywweGQwLDB4MDMsMHgwOCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjU4MCwgMCwgezB4ODEsMHgwNCwweDYwLDB4MDAsMHg4OCwweDgwLDB4MjIsMHhjMCwweDBhLDB4YjAsMHgwMiwweGU5LDB4MDAsMHhhYiwweDQ0LDB4MmUgfSwKLSAgMTYsIDB4YjU5MCwgMCwgezB4YzAsMHgwOCwweDg4LDB4MDIsMHhlYywweDAwLDB4YmIsMHgwMCwweGEyLDB4NzAsMHgwYSwweGI0LDB4MDIsMHhjYywweDAwLDB4YTAgfSwKLSAgMTYsIDB4YjVhMCwgMCwgezB4MjAsMHgyMiwweGMwLDB4MGYsMHhiYywweDAyLDB4Y2MsMHgwYSwweDhiLDB4ODAsMHhhMiwweGMwLDB4MGQsMHg5MCwweDAyLDB4MjAgfSwKLSAgMTYsIDB4YjViMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyMCwweDAwLDB4ODksMHg4MCwweDJhLDB4YzAgfSwKLSAgMTYsIDB4YjVjMCwgMCwgezB4MDgsMHhiMCwweDAyLDB4Y2MsMHgwNiwweDg4LDB4NjAsMHgyZSwweGMwLDB4MGEsMHg5OCwweDA2LDB4ZWMsMHgwMSwweGJiLDB4MDAgfSwKLSAgMTYsIDB4YjVkMCwgMCwgezB4MjIsMHgzMSwweDAyLDB4YjIsMHgwMiwweGVjLDB4YTAsMHg4YSwweDAwLDB4MjYsMHhjMCwweDQ4LDB4YTgsMHgwMiwweGVjLDB4MDQgfSwKLSAgMTYsIDB4YjVlMCwgMCwgezB4YTksMHg4MCwweDIyLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgyMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjVmMCwgMCwgezB4MDgsMHgwNCwweDAwLDB4MDAsMHg4MCwweDAwLDB4MjAsMHhjMCwweDBhLDB4MzAsMHg0MiwweGNjLDB4MDAsMHg4MCwweDAxLDB4MmMgfSwKLSAgMTYsIDB4YjYwMCwgMCwgezB4YzAsMHgxYSwweDEyLDB4MDIsMHhjYywweDAwLDB4YjMsMHgwMCwweDIwLDB4MDAsMHg0YSwweDMwLDB4MDIsMHhjYywweDAwLDB4YTAgfSwKLSAgMTYsIDB4YjYxMCwgMCwgezB4MDAsMHgwOCwweGMwLDB4MGIsMHgyMCwweDA2LDB4ZWMsMHhhMCwweGEzLDB4MDAsMHhhMCwweDQwLDB4MjksMHgxMCwweDAwLDB4MDIgfSwKLSAgMTYsIDB4YjYyMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2MCwweDAwLDB4YzgsMHg1MCwweDNiLDB4YzAgfSwKLSAgMTYsIDB4YjYzMCwgMCwgezB4MGMsMHhiMCwweDAzLDB4YWMsMHgwMCwweGM5LDB4MDAsMHgzYiwweGMwLDB4MGUsMHg5MiwweDgzLDB4ZmMsMHgwMCwweGJmLDB4MDAgfSwKLSAgMTYsIDB4YjY0MCwgMCwgezB4MTIsMHgwMCwweDBjLDB4YjAsMHgwMywweGVjLDB4MDAsMHg4OCwweDI2LDB4MTYsMHhjMCwweDBjLDB4ODAsMHgxNywweDVjLDB4ODAgfSwKLSAgMTYsIDB4YjY1MCwgMCwgezB4ZTksMHgwMSwweDMyLDB4NDAsMHgyYywweGQwLDB4MDMsMHgwMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjY2MCwgMCwgezB4YTAsMHgxZCwweGQwLDB4MDAsMHhmYywweDIwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGZjLDB4MDAsMHhmYywweDAwLDB4M2YgfSwKLSAgMTYsIDB4YjY3MCwgMCwgezB4YzAsMHgwZCwweDgwLDB4MDMsMHhmYywweDA4LDB4ZmYsMHgwMCwweDNmLDB4MDAsMHgwZiwweGYwLDB4MDMsMHhmYywweDEwLDB4ZjggfSwKLSAgMTYsIDB4YjY4MCwgMCwgezB4NDAsMHgzNywweGMwLDB4MGUsMHhlMCwweDIxLDB4ZmMsMHgwOCwweGRmLDB4MDAsMHgzZiwweDQwLDB4MGYsMHhkMCwweDAzLDB4ZTAgfSwKLSAgMTYsIDB4YjY5MCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmYywweGMwLDB4ZmYsMHgyMSwweDcxLDB4MjQgfSwKLSAgMTYsIDB4YjZhMCwgMCwgezB4MGYsMHhmMSwweDgzLDB4ZjIsMHg0MCwweGZmLDB4MDAsMHgzNywweGM0LDB4OWYsMHhmMiwweDQ3LDB4M2QsMHgwNCwweGM3LDB4MjAgfSwKLSAgMTYsIDB4YjZiMCwgMCwgezB4MzMsMHhjMCwweDBjLDB4NzgsMHgyMywweGZlLDB4NDAsMHhlOCwweDEwLDB4MjcsMHhjNCwweDBmLDB4ZjIsMHgxMywweDNjLDB4ODQgfSwKLSAgMTYsIDB4YjZjMCwgMCwgezB4YzQsMHg4MSwweDMzLDB4MjAsMHg0YywweGYwLDB4MjMsMHg3MCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjZkMCwgMCwgezB4ODAsMHgxMCwweGVkLDB4NDAsMHhiZiwweDU0LDB4NjIsMHhjOCwweDBiLDB4ZjYsMHgwMiwweGUwLDB4MDAsMHhiYiwweGQwLDB4MjIgfSwKLSAgMTYsIDB4YjZlMCwgMCwgezB4ZjAsMHgxZiwweGY5LDB4MTIsMHgzZCwweDgwLDB4OWYsMHg4MSwweDJiLDB4ZTAsMHgwYSwweGI4LDB4MTIsMHhlOCwweDAwLDB4OGYgfSwKLSAgMTYsIDB4YjZmMCwgMCwgezB4MDQsMHgyMiwweGQwLDB4MDgsMHhiMywweDhhLDB4YmYsMHg0MiwweDhiLDB4ODIsMHgyMiwweGUwLDB4MjgsMHg4YywweDAyLDB4MjAgfSwKLSAgMTYsIDB4YjcwMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDAwLDB4YjMsMHgyOCwweDI4LDB4MDggfSwKLSAgMTYsIDB4YjcxMCwgMCwgezB4MGIsMHgzMCwweDA2LDB4ODAsMHg4MCwweGIzLDB4MDIsMHgyNCwweGQxLDB4MGIsMHgzMCwweDAyLDB4OGQsMHg4MCwweDkzLDB4MTAgfSwKLSAgMTYsIDB4YjcyMCwgMCwgezB4MjAsMHhjZSwweDhiLDB4MzAsMHgwMiwweGNjLDB4ODQsMHhhMSwweDIxLDB4MmMsMHhjYywweDBhLDB4MzAsMHgwYSwweDRjLDB4MDAgfSwKLSAgMTYsIDB4YjczMCwgMCwgezB4OTMsMHgwMCwweDI4LDB4YzAsMHgwOCwweDNjLDB4MDIsMHgyMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Yjc0MCwgMCwgezB4YzAsMHgxNSwweGFjLDB4MTAsMHhiYiwweDAyLDB4NmEsMHhlMCwweDBiLDB4YjAsMHgwMiwweGUxLDB4MDgsMHhiYiwweDA0LDB4MmEgfSwKLSAgMTYsIDB4Yjc1MCwgMCwgezB4YzAsMHgwYSwweGIwLDB4MTIsMHg4YywweDAwLDB4OWIsMHgwMCwweDJhLDB4YzAsMHgwYiwweGIxLDB4MDYsMHhjOCwweDgwLDB4OGIgfSwKLSAgMTYsIDB4Yjc2MCwgMCwgezB4ODIsMHg2YSwweGMxLDB4MGEsMHgzMCwweDAyLDB4YWMsMHgxOCwweDg4LDB4MTAsMHgyYSwweDQ4LDB4MDgsMHg4MCwweDAyLDB4MzAgfSwKLSAgMTYsIDB4Yjc3MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlYywweDAwLDB4ZmIsMHgwMCwweGFhLDB4MzAgfSwKLSAgMTYsIDB4Yjc4MCwgMCwgezB4MGYsMHhiMCwweDAzLDB4YTgsMHgwMCwweGYzLDB4MDEsMHhiNiwweGMxLDB4MGIsMHhiMCwweDAyLDB4YWMsMHgwOCwweDRiLDB4MDAgfSwKLSAgMTYsIDB4Yjc5MCwgMCwgezB4YjIsMHhjMCwweDBmLDB4YjgsMHgwMiwweGVjLDB4MTAsMHhhOSwweDgxLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgwMywweDBjLDB4MDAgfSwKLSAgMTYsIDB4YjdhMCwgMCwgezB4Y2IsMHhhMCwweDE4LDB4ZDAsMHgwYywweGIwLDB4MDMsMHgxMCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjdiMCwgMCwgezB4ZTAsMHgwMSwweGJjLDB4MDgsMHhmNywweDAwLDB4MzcsMHgwMCwweDBmLDB4ZjAsMHgwMywweGZkLDB4MDAsMHhmZiwweDAwLDB4MzcgfSwKLSAgMTYsIDB4YjdjMCwgMCwgezB4YzAsMHgwZiwweGIwLDB4MDcsMHg3YywweDAwLDB4ZTcsMHgwMCwweDNlLDB4YzAsMHgwYSwweGYwLDB4MDMsMHhmZSwweDAwLDB4ZjcgfSwKLSAgMTYsIDB4YjdkMCwgMCwgezB4MDAsMHgzNiwweGMwLDB4MGMsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGZmLDB4ODAsMHgzNywweGUwLDB4MGYsMHhhMCwweDAzLDB4YjggfSwKLSAgMTYsIDB4YjdlMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhYywweDAwLDB4ZGIsMHgwMCwweDM2LDB4MDAgfSwKLSAgMTYsIDB4YjdmMCwgMCwgezB4MGUsMHhiMCwweDAzLDB4NjksMHgwMCwweGRiLDB4MDksMHgzYSwweGMwLDB4MWYsMHgzMCwweDIzLDB4ZWMsMHgwOCwweGNiLDB4MjAgfSwKLSAgMTYsIDB4YjgwMCwgMCwgezB4MzQsMHhjMCwweDJmLDB4YjAsMHgwMywweGVjLDB4NDAsMHhlYiwweDQ4LDB4M2UsMHhjNCwweDRkLDB4YjAsMHg4YiwweDZjLDB4MDAgfSwKLSAgMTYsIDB4YjgxMCwgMCwgezB4Y2IsMHgwMCwweDMyLDB4OTAsMHgwZiwweDMwLDB4MDMsMHg5MCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjgyMCwgMCwgezB4YzgsMHgwNSwweDNjLDB4MDAsMHg4ZiwweDAwLDB4MjIsMHgwMCwweDQ4LDB4ZjAsMHgyMiwweDJjLDB4MDAsMHg4ZiwweDAwLDB4MjMgfSwKLSAgMTYsIDB4YjgzMCwgMCwgezB4ZTAsMHg4YiwweGY1LDB4MTAsMHgzYywweDAwLDB4OGYsMHg4MCwweDIzLDB4ZjAsMHg4MCwweDk4LDB4MDMsMHgyZCwweDQ0LDB4ZGIgfSwKLSAgMTYsIDB4Yjg0MCwgMCwgezB4MDAsMHgyMywweGQ0LDB4MDgsMHhmOCwweDAyLDB4M2MsMHgwMCwweDgzLDB4MDAsMHgyMiwweGMwLDB4MGIsMHhhNCwweDgyLDB4MzIgfSwKLSAgMTYsIDB4Yjg1MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0YywweDAwLDB4OTMsMHgwMCwweDI0LDB4MDAgfSwKLSAgMTYsIDB4Yjg2MCwgMCwgezB4MGIsMHgzMCwweDAyLDB4ODQsMHgwMCwweGIzLDB4MDEsMHgyOCwweGY2LDB4MDksMHgzNCwweDMyLDB4OGMsMHgwMSwweGIzLDB4ZDAgfSwKLSAgMTYsIDB4Yjg3MCwgMCwgezB4MjQsMHhlOCwweDBhLDB4MzEsMHgwYSwweDg2LDB4MDAsMHg4MywweDAwLDB4MmEsMHhlMCwweDAwLDB4MzAsMHgwMiwweDhjLDB4MDAgfSwKLSAgMTYsIDB4Yjg4MCwgMCwgezB4ODMsMHgwMCwweDI4LDB4YzAsMHg4OSwweDM4LDB4YTIsMHg3OCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Yjg5MCwgMCwgezB4MjAsMHgwMSwweDFlLDB4MDAsMHg5NywweDk0LDB4MjMsMHhlMCwweDA5LDB4MzgsMHgwMiwweDMyLDB4MDAsMHg5NywweGExLDB4MjEgfSwKLSAgMTYsIDB4YjhhMCwgMCwgezB4ZTQsMHgwYiwweDc4LDB4MDIsMHgxZSwweDQwLDB4YjcsMHhhMCwweDI1LDB4ZWMsMHgwOCwweGZjLDB4MDIsMHgzYSwweDAwLDB4OTMgfSwKLSAgMTYsIDB4YjhiMCwgMCwgezB4YjgsMHgyMSwweGUwLDB4MDgsMHg3OCwweDgyLDB4OWUsMHg0MCwweDg3LDB4YzAsMHgyOSwweGEwLDB4MGIsMHg1OCwweDAyLDB4NDggfSwKLSAgMTYsIDB4YjhjMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgyYywweDAwLDB4ZGIsMHgwMCwweDM0LDB4MjAgfSwKLSAgMTYsIDB4YjhkMCwgMCwgezB4MGYsMHgzYSwweDAzLDB4OGUsMHgwMCwweGYzLDB4YjAsMHgyOCwweGM0LDB4MGIsMHgzYSwweDAzLDB4YWUsMHg0MCwweGYzLDB4YTAgfSwKLSAgMTYsIDB4YjhlMCwgMCwgezB4MzQsMHhlZSwweDBmLDB4MzAsMHgyMywweDg0LDB4MDAsMHhlMywweGYwLDB4MzgsMHhjMCwweDBjLDB4YjAsMHgwYiwweDhlLDB4NDIgfSwKLSAgMTYsIDB4YjhmMCwgMCwgezB4YzMsMHgwMCwweDM4LDB4YzAsMHgwZiwweDMwLDB4NjMsMHhkMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjkwMCwgMCwgezB4NDAsMHgxZCwweGJjLDB4MDAsMHhlYiwweDQyLDB4M2EsMHhjNCwweDFlLDB4YjEsMHgwNywweDg4LDB4ZDEsMHhlMywweDAwLDB4M2YgfSwKLSAgMTYsIDB4YjkxMCwgMCwgezB4YzUsMHg4ZiwweGYxLDB4NjMsMHhhYywweDEwLDB4Y2IsMHg1MCwweDNiLDB4YzMsMHgwZiwweGQxLDB4MDMsMHhjOCwweDAwLDB4YmIgfSwKLSAgMTYsIDB4YjkyMCwgMCwgezB4MjAsMHgzYiwweGMwLDB4MmUsMHhmMSwweDAzLDB4MWMsMHgwMCwweGZmLDB4MDAsMHgzNywweGMwLDB4NGYsMHhkMSwweDAzLDB4OTAgfSwKLSAgMTYsIDB4YjkzMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlYywweDQwLDB4ZmIsMHg0NCwweGIyLDB4YzAgfSwKLSAgMTYsIDB4Yjk0MCwgMCwgezB4NGYsMHhiMywweDQzLDB4MjQsMHgwMCwweGRiLDB4MTAsMHgzNiwweGMwLDB4NGMsMHhiZSwweDIyLDB4NmQsMHgyMCwweGNiLDB4NTAgfSwKLSAgMTYsIDB4Yjk1MCwgMCwgezB4M2UsMHhjOSwweDRjLDB4YjAsMHgxMywweDI0LDB4MDAsMHhjZiwweDIwLDB4MzMsMHhjMCwweDNkLDB4ZjAsMHgyMywweDJjLDB4YzAgfSwKLSAgMTYsIDB4Yjk2MCwgMCwgezB4ZDgsMHgwMCwweDNlLDB4NDAsMHg4ZiwweDMwLDB4MDMsMHgyYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Yjk3MCwgMCwgezB4NDgsMHgxMSwweDljLDB4MDQsMHhiNywweDYwLDB4MjEsMHhjMSwweDhiLDB4ZjAsMHhhMiwweDE0LDB4MTAsMHg4NywweDAwLDB4MGYgfSwKLSAgMTYsIDB4Yjk4MCwgMCwgezB4YzgsMHgwZCwweDcxLDB4MGEsMHgxZCwweDAwLDB4ODcsMHgwMCwweDJjLDB4Y2MsMHg0OCwweDcwLDB4MmEsMHg5YywweDAwLDB4ODcgfSwKLSAgMTYsIDB4Yjk5MCwgMCwgezB4MGMsMHgyMSwweGMwLDB4MGMsMHg3MiwweDAyLDB4MGMsMHhhMiwweDg3LDB4MDAsMHgyZCwweGMwLDB4MGIsMHg3MCwweDAyLDB4MTIgfSwKLSAgMTYsIDB4YjlhMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZSwweDAwLDB4YjMsMHg4MCwweDIxLDB4ZTAgfSwKLSAgMTYsIDB4YjliMCwgMCwgezB4MGIsMHg3YSwweDAyLDB4ZGUsMHgwMCwweGI3LDB4ODEsMHgwNSwweGU0LDB4MDgsMHg3OSwweDAyLDB4NWMsMHg4MCwweDg3LDB4YTAgfSwKLSAgMTYsIDB4YjljMCwgMCwgezB4MmQsMHhlMCwweDA4LDB4ZjgsMHgwNiwweGI2LDB4MDAsMHg4NywweDgwLDB4MjAsMHhlNCwweDBhLDB4N2IsMHgxMiwweDFlLDB4OTAgfSwKLSAgMTYsIDB4YjlkMCwgMCwgezB4OTcsMHg4OCwweDJkLDB4ZTAsMHgwYiwweDc4LDB4MGUsMHgzMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjllMCwgMCwgezB4NDgsMHgxNCwweGNjLDB4MDAsMHhiMywweDAwLDB4MjAsMHhkMCwweDBiLDB4YjAsMHgwMiwweDZlLDB4MzQsMHhhMywweDAwLDB4MmMgfSwKLSAgMTYsIDB4YjlmMCwgMCwgezB4YzEsMHgwOSwweDMwLDB4MDIsMHg0YywweDAwLDB4ODMsMHgwMCwweDJjLDB4YzAsMHg0OCwweDEwLDB4MDIsMHg4ZCwweDgwLDB4ODMgfSwKLSAgMTYsIDB4YmEwMCwgMCwgezB4YzAsMHgwMCwweGMwLDB4OGEsMHgzMCwweDEyLDB4MGMsMHgwMCwweDgwLDB4MDAsMHgyYywweDE2LDB4MGIsMHgzOCwweDAyLDB4MTIgfSwKLSAgMTYsIDB4YmExMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOCwweDAwLDB4ZmEsMHgwMCwweDMzLDB4ODggfSwKLSAgMTYsIDB4YmEyMCwgMCwgezB4MGYsMHhhMCwweDAzLDB4NzksMHg5MCwweGZhLDB4MDEsMHgzNiwweDgwLDB4MWMsMHhhMCwweDAzLDB4NjgsMHgwMCwweGNhLDB4MDAgfSwKLSAgMTYsIDB4YmEzMCwgMCwgezB4M2UsMHg4MSwweDJjLDB4YTAsMHgwYiwweGI5LDB4MGMsMHhjZSwweGUyLDB4YjIsMHg4MCwweDhlLDB4YTAsMHgwYiwweDI4LDB4MDAgfSwKLSAgMTYsIDB4YmE0MCwgMCwgezB4ZGEsMHg4MCwweDNjLDB4YjAsMHgwZiwweGUwLDB4ODMsMHgzYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmE1MCwgMCwgezB4NDgsMHgwMCwweGUwLDB4MDAsMHhmMCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweGEwLDB4MDAsMHhjOCwweDAwLDB4MmUgfSwKLSAgMTYsIDB4YmE2MCwgMCwgezB4MDAsMHgwZiwweDg0LDB4MjMsMHhhMCwweDAwLDB4ZjAsMHg0MCwweDNlLDB4MTAsMHgwZiwweDg0LDB4MDMsMHhlMSwweDAyLDB4ZjggfSwKLSAgMTYsIDB4YmE3MCwgMCwgezB4NDgsMHgzZSwweDEwLDB4MGMsMHg4MCwweDAzLDB4YzAsMHgxMCwweGY4LDB4ODAsMHgzZSwweDAwLDB4MGYsMHgwMCwweDAzLDB4ZDIgfSwKLSAgMTYsIDB4YmE4MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDAwLDB4ZDksMHgwMCwweDM2LDB4NDIgfSwKLSAgMTYsIDB4YmE5MCwgMCwgezB4MGYsMHg5MCwweDAzLDB4MjQsMHgxOCwweGY5LDB4MTAsMHgzYywweDQ4LDB4NjgsMHg5MiwweDEzLDB4ZTQsMHgwMCwweGE5LDB4MTEgfSwKLSAgMTYsIDB4YmFhMCwgMCwgezB4YjIsMHg2MCwweDBlLDB4OTEsMHgwMywweDI2LDB4MDAsMHhjOSwweDAwLDB4MzIsMHg2MCwweDBjLDB4MTAsMHgwMywweDI0LDB4MDggfSwKLSAgMTYsIDB4YmFiMCwgMCwgezB4YzksMHgwMCwweDNlLDB4NDAsMHgwYywweDkwLDB4MjMsMHgwMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmFjMCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDAsMHg4OSwweDAwLDB4MjIsMHg0MCwweDBiLDB4OTAsMHgwMiwweGE0LDB4MDgsMHg4OSwweDAwLDB4MmUgfSwKLSAgMTYsIDB4YmFkMCwgMCwgezB4NDIsMHg0OCwweDk0LDB4MDIsMHhlNCwweDAwLDB4ODksMHg4MCwweDIyLDB4NzAsMHgwOCwweDE0LDB4MjIsMHhhNCwweDAyLDB4ODkgfSwKLSAgMTYsIDB4YmFlMCwgMCwgezB4NDIsMHgyYSwweDcwLDB4MjgsMHg5MCwweDBhLDB4MjQsMHgwMCwweGE5LDB4MDAsMHgyZSwweDQwLDB4MjgsMHg5MCwweDAyLDB4YTAgfSwKLSAgMTYsIDB4YmFmMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgwNCwweDAwLDB4OTksMHgwMCwweDI2LDB4YzAgfSwKLSAgMTYsIDB4YmIwMCwgMCwgezB4MDMsMHg5MCwweDAyLDB4MjQsMHgwMSwweGE5LDB4MDAsMHgwZSwweDQwLDB4MGEsMHg5MCwweDQ2LDB4YzQsMHgwYSwweDg5LDB4MDAgfSwKLSAgMTYsIDB4YmIxMCwgMCwgezB4MjAsMHg0OCwweDBhLDB4OTAsMHgwMiwweDA1LDB4ODAsMHg4MSwweDQxLDB4YTAsMHg1OCwweDg4LDB4OTAsMHgwMiwweDI0LDB4MDggfSwKLSAgMTYsIDB4YmIyMCwgMCwgezB4OGQsMHg4MCwweDJmLDB4YzAsMHgwOCwweDk4LDB4MDIsMHgwNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmIzMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4ODAsMHg4MSwweDIwLDB4MjAsMHg0MCwweDBiLDB4MTIsMHgwMiwweDg0LDB4MDAsMHg4MSwweDI0LDB4MmMgfSwKLSAgMTYsIDB4YmI0MCwgMCwgezB4NTgsMHgwYSwweDMyLDB4MjIsMHhjNSwweDg0LDB4YTEsMHgwMCwweDIwLDB4NTAsMHgwOCwweGIwLDB4MDIsMHg4NSwweDA4LDB4ODEgfSwKLSAgMTYsIDB4YmI1MCwgMCwgezB4NDAsMHgyMCwweDVhLDB4MDgsMHgxNiwweDgyLDB4MDQsMHgwMCwweGE1LDB4MDAsMHgyZCwweDQwLDB4MDgsMHgxMiwweDgyLDB4ODIgfSwKLSAgMTYsIDB4YmI2MCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MSwweDQwLDB4ZDgsMHg1MCwweDM2LDB4MTQgfSwKLSAgMTYsIDB4YmI3MCwgMCwgezB4MGYsMHg4NSwweDIzLDB4MDEsMHg0MCwweGU4LDB4MDAsMHgzZSwweDAwLDB4MGUsMHg4MCwweDQzLDB4YzAsMHgwOCwweGNhLDB4MDAgfSwKLSAgMTYsIDB4YmI4MCwgMCwgezB4MzIsMHg4MCwweDBlLDB4ODAsMHgwMywweDIwLDB4MDAsMHhjMCwweDAwLDB4MzIsMHgwOCwweDJjLDB4MDIsMHgwMywweDIwLDB4MDggfSwKLSAgMTYsIDB4YmI5MCwgMCwgezB4YzgsMHgwMCwweDNmLDB4MDAsMHgwYywweDgyLDB4MDMsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmJhMCwgMCwgezB4OTgsMHgxZCwweGU0LDB4NDAsMHhmOSwweDEwLDB4M2YsMHg0MCwweDBmLDB4OTEsMHg0MywweGY0LDB4MDQsMHhmOSwweDEwLDB4M2UgfSwKLSAgMTYsIDB4YmJiMCwgMCwgezB4NDQsMHgwZCwweDExLDB4MDMsMHhlNCwweDQ0LDB4NTksMHg0MCwweDNlLDB4NTAsMHg0ZiwweDUwLDB4NDMsMHhkNCwweDAyLDB4ZmQgfSwKLSAgMTYsIDB4YmJjMCwgMCwgezB4NDAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDBiLDB4ZTUsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQwLDB4NGYsMHhkMCwweDAzLDB4ZTYgfSwKLSAgMTYsIDB4YmJkMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHg2NiwweDYwLDB4YzksMHhlMCwweDMyLDB4NDQgfSwKLSAgMTYsIDB4YmJlMCwgMCwgezB4MGYsMHg5YywweDAzLDB4ZTQsMHgwMCwweGRkLDB4ODQsMHgzZiwweDY4LDB4OGYsMHhkOCwweDQyLDB4ZTYsMHhhMCwweGRkLDB4YTQgfSwKLSAgMTYsIDB4YmJmMCwgMCwgezB4MzMsMHg2OCwweDBkLDB4NzAsMHgwMywweDI1LDB4MDAsMHhjOSwweGUwLDB4YjIsMHg2OCwweDBjLDB4OWEsMHhjMywweDI2LDB4MDAgfSwKLSAgMTYsIDB4YmMwMCwgMCwgezB4OTksMHgwMCwweDNlLDB4NDAsMHgwZiwweDlhLDB4MDMsMHgwNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmMxMCwgMCwgezB4MzgsMHgxMCwweGUzLDB4MDAsMHg4OCwweDgwLDB4YWEsMHgyMCwweDhiLDB4ODgsMHgwMiwweGUyLDB4ODgsMHhiOCwweDAxLDB4MmUgfSwKLSAgMTYsIDB4YmMyMCwgMCwgezB4MDAsMHgwYiwweDg0LDB4MDIsMHhlMiwweGIwLDB4ODgsMHg1MCwweDIyLDB4MTQsMHgwOCwweDgwLDB4MDIsMHg4MiwweDgwLDB4ODggfSwKLSAgMTYsIDB4YmMzMCwgMCwgezB4ZTAsMHhiNiwweDNhLDB4MDgsMHhjZSwweGEyLDB4MjEsMHgwOCwweDg4LDB4MDAsMHgyZSwweDAwLDB4MGIsMHhjNCwweDAyLDB4MGUgfSwKLSAgMTYsIDB4YmM0MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweDgwLDB4ODEsMHg2MCwweDY4LDB4NDggfSwKLSAgMTYsIDB4YmM1MCwgMCwgezB4NWIsMHgxNiwweDAyLDB4YzQsMHgyMCwweGExLDB4NDAsMHg2YywweDUwLDB4MGIsMHgxNCwweDAyLDB4YzQsMHgwMCwweGExLDB4MDAgfSwKLSAgMTYsIDB4YmM2MCwgMCwgezB4MjQsMHg0MCwweDBiLDB4OTAsMHgyMiwweDE0LDB4OTAsMHg4NSwweDQyLDB4MjEsMHg1MCwweDViLDB4NTAsMHgxYSwweDE1LDB4MDAgfSwKLSAgMTYsIDB4YmM3MCwgMCwgezB4OTUsMHgwMCwweDJkLDB4NDAsMHgwYiwweDUxLDB4MGEsMHg4MiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmM4MCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MDEsMHg4OSwweDAwLDB4MmEsMHg0MCwweDBiLDB4OTAsMHg0NiwweGU0LDB4MDAsMHhiOSwweDAxLDB4MmUgfSwKLSAgMTYsIDB4YmM5MCwgMCwgezB4NDAsMHgwYiwweDkwLDB4MjAsMHhlNCwweDAwLDB4YjksMHgwMCwweDI2LDB4NDAsMHgxOCwweGI4LDB4MDIsMHhhNCwweDAyLDB4OGQgfSwKLSAgMTYsIDB4YmNhMCwgMCwgezB4MDgsMHgyZiwweDQwLDB4OGIsMHhkMCwweDAyLDB4MjQsMHgwMCwweDhkLDB4MjAsMHgyZiwweDQ4LDB4MGIsMHhkMCwweDAyLDB4ODYgfSwKLSAgMTYsIDB4YmNiMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNCwweDAwLDB4YzksMHgwMCwweDMyLDB4NDAgfSwKLSAgMTYsIDB4YmNjMCwgMCwgezB4MGYsMHg5MCwweDAyLDB4ZTQsMHgxMCwweDQ5LDB4MDAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAyLDB4ZTQsMHgwMCwweGU5LDB4MDEgfSwKLSAgMTYsIDB4YmNkMCwgMCwgezB4MzYsMHg0MCwweDBmLDB4MTgsMHgxMywweDI0LDB4MTAsMHhjOSwweDgyLDB4MzIsMHg0MCwweDdmLDB4OTAsMHgyMywweDI0LDB4MDAgfSwKLSAgMTYsIDB4YmNlMCwgMCwgezB4ZDksMHgyMCwweDNlLDB4NzIsMHgwZiwweDkwLDB4MDMsMHhhOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmNmMCwgMCwgezB4MjgsMHgwMSwweDg0LDB4MDIsMHhmMSwweDAxLDB4MTYsMHg0MCwweDRmLDB4OTAsMHgwMywweGU1LDB4MTAsMHhmOSwweDA4LDB4MmUgfSwKLSAgMTYsIDB4YmQwMCwgMCwgezB4NDAsMHgwZiwweDkwLDB4MTMsMHhlNCwweDAwLDB4YzksMHgwMSwweDNhLDB4NDAsMHgxZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjkgfSwKLSAgMTYsIDB4YmQxMCwgMCwgezB4MjAsMHgzNCwweDQwLDB4OGMsMHg5MCwweDAzLDB4YzQsMHgwOCwweGY5LDB4MDAsMHgzZSwweDYwLDB4MGYsMHgxMCwweDAzLDB4NGEgfSwKLSAgMTYsIDB4YmQyMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMCwweDA4LDB4ZjgsMHgwMCwweDNlLDB4MDAgfSwKLSAgMTYsIDB4YmQzMCwgMCwgezB4MGMsMHg4MCwweDAzLDB4NjAsMHgwMCwweGU4LDB4MDAsMHgzZSwweDAyLDB4NGYsMHg4MCwweDEzLDB4ZTAsMHgwMCwweGQwLDB4MDAgfSwKLSAgMTYsIDB4YmQ0MCwgMCwgezB4M2UsMHgwMCwweDBlLDB4ODEsMHgwMywweDMwLDB4MDAsMHhjYywweDQwLDB4MzMsMHgwMCwweDBjLDB4YzAsMHgwYiwweDIwLDB4MjAgfSwKLSAgMTYsIDB4YmQ1MCwgMCwgezB4ZTgsMHgwMCwweDNlLDB4MTAsMHgwZiwweGMwLDB4MDMsMHhjYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmQ2MCwgMCwgezB4MjgsMHgwNSwweDI4LDB4MDQsMHhiYSwweDAwLDB4MjIsMHg4MCwweDA4LDB4YTAsMHgwMiwweDI4LDB4MDAsMHhiZSwweGM4LDB4NmYgfSwKLSAgMTYsIDB4YmQ3MCwgMCwgezB4ODAsMHgwYiwweGUxLDB4MjIsMHhhOCwweDAwLDB4OGUsMHgyMCwweDJmLDB4ODAsMHgwYiwweGUwLDB4MjMsMHg2OCwweDAwLDB4OGEgfSwKLSAgMTYsIDB4YmQ4MCwgMCwgezB4MDAsMHgyMiwweDgwLDB4MDgsMHhlMCwweDAyLDB4MjksMHgwMCwweDhhLDB4MDAsMHgyZSwweGE4LDB4MGIsMHhhMCwweDAwLDB4Y2EgfSwKLSAgMTYsIDB4YmQ5MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAwLDB4YjMsMHgwMCwweDI0LDB4YzAgfSwKLSAgMTYsIDB4YmRhMCwgMCwgezB4MDksMHgzMCwweDAyLDB4MGMsMHgwMCwweGIzLDB4YzEsMHgyYywweGUwLDB4MGIsMHgzOCwweDU2LDB4MmMsMHgxMCwweDEzLDB4MDAgfSwKLSAgMTYsIDB4YmRiMCwgMCwgezB4MmUsMHhjMCwweDBhLDB4MzgsMHg2YSwweDIwLDB4MDAsMHg4OCwweDAwLDB4MjAsMHgwMCwweDA5LDB4ODAsMHgyMiwweDRjLDB4NDIgfSwKLSAgMTYsIDB4YmRjMCwgMCwgezB4YTMsMHgwMCwweDJjLDB4ZTAsMHgwYiwweDI0LDB4ODAsMHhjYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmRkMCwgMCwgezB4YTAsMHgwMSwweDFjLDB4MDgsMHhiNywweDI0LDB4MmYsMHhlMCwweDA5LDB4MzksMHgwMiwweDFjLDB4MDEsMHhiNiwweDAwLDB4MmQgfSwKLSAgMTYsIDB4YmRlMCwgMCwgezB4OTAsMHgwYiwweDYwLDB4OTIsMHg4ZSwweDAwLDB4ODYsMHg4MiwweDJkLDB4YzIsMHgwYiwweGYwLDB4MDIsMHg1YywweDA2LDB4ODcgfSwKLSAgMTYsIDB4YmRmMCwgMCwgezB4MDAsMHg2MCwweGMwLDB4MjksMHg3MCwweDAyLDB4NWMsMHgwMCwweDg2LDB4MDAsMHgyZCwweGMwLDB4MGIsMHg2MCwweDAyLDB4ZTggfSwKLSAgMTYsIDB4YmUwMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZiwweDQwLDB4ZjMsMHhlNCwweDNkLDB4ZTggfSwKLSAgMTYsIDB4YmUxMCwgMCwgezB4MGQsMHg3OSwweDBiLDB4MWUsMHhjMCwweDY3LDB4ODAsMHgyZCwweGUwLDB4MGYsMHg3MCwweDQzLDB4MWQsMHg4MCwweGQ1LDB4MDAgfSwKLSAgMTYsIDB4YmUyMCwgMCwgezB4M2QsMHg2MCwweDBlLDB4NzgsMHgwMywweDFlLDB4MDAsMHhjZCwweDgwLDB4MzEsMHhlMCwweDBkLDB4YzgsMHgwMywweDRlLDB4MDAgfSwKLSAgMTYsIDB4YmUzMCwgMCwgezB4ZTUsMHg4MCwweDNkLDB4ZTAsMHgwZiwweDQ4LDB4MDMsMHhlYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmU0MCwgMCwgezB4MDgsMHgxZCwweGFjLDB4ODAsMHhmYiwweDAwLDB4NzAsMHhjMCwweDZlLDB4YjYsMHgxMywweGFkLDB4NDAsMHhmYSwweDAwLDB4M2UgfSwKLSAgMTYsIDB4YmU1MCwgMCwgezB4YzAsMHgwZiwweDIwLDB4NDMsMHgyZCwweDE4LDB4NTksMHgwMCwweDNlLDB4MDAsMHgwMywweGIwLDB4MGIsMHhlMCwweDAwLDB4ZmEgfSwKLSAgMTYsIDB4YmU2MCwgMCwgezB4MDAsMHhiZSwweDAwLDB4MGUsMHhiMCwweDEzLDB4YWMsMHgwMCwweGY4LDB4MDAsMHgzZSwweGMwLDB4MGYsMHg4MCwweDAzLDB4YzIgfSwKLSAgMTYsIDB4YmU3MCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmZSwweDQwLDB4ZmYsMHg4MCwweDNmLDB4ZTYgfSwKLSAgMTYsIDB4YmU4MCwgMCwgezB4MGYsMHhmOCwweDIzLDB4MmUsMHgwNCwweGZmLDB4OTAsMHgzZiwweGU0LDB4MGQsMHhiYSwweDAzLDB4ZmYsMHg0MCwweGNmLDB4ODAgfSwKLSAgMTYsIDB4YmU5MCwgMCwgezB4MjIsMHhlMSwweDBjLDB4MzksMHg0MywweDMyLDB4MTAsMHhlYywweDkwLDB4MzMsMHgyMCwweDhlLDB4YzgsMHgwMywweGYyLDB4MDAgfSwKLSAgMTYsIDB4YmVhMCwgMCwgezB4ZGYsMHg4MCwweDNmLDB4NjAsMHgwZiwweGY4LDB4MDMsMHhjMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmViMCwgMCwgezB4YTgsMHgxMSwweDljLDB4NDAsMHhiNywweDkwLDB4M2MsMHhlMCwweDBiLDB4M2EsMHgwMywweDRlLDB4ODAsMHhmMywweGIxLDB4MmQgfSwKLSAgMTYsIDB4YmVjMCwgMCwgezB4MDQsMHg0YywweDM4LDB4MjMsMHhhZSwweDAwLDB4ODAsMHg4MCwweDM0LDB4ZTgsMHg0ZCwweDc4LDB4MDIsMHgzZSwweDgwLDB4ODcgfSwKLSAgMTYsIDB4YmVkMCwgMCwgezB4YTAsMHgyOSwweGMwLDB4MDgsMHg3MCwweDAyLDB4YzAsMHg4MCwweDg2LDB4MDIsMHgyZCwweDQxLDB4MGIsMHg3MCwweDAyLDB4ZWEgfSwKLSAgMTYsIDB4YmVlMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5YywweDQ4LDB4MzcsMHgwMSwweDJkLDB4YzkgfSwKLSAgMTYsIDB4YmVmMCwgMCwgezB4MGIsMHg3MiwweDIyLDB4MWMsMHg4NCwweGI1LDB4MTYsMHgwZCwweGM0LDB4MTksMHg0MCwweDQyLDB4ZGMsMHg4MCwweDg3LDB4MDAgfSwKLSAgMTYsIDB4YmYwMCwgMCwgezB4MjAsMHhjOCwweDg4LDB4NzMsMHgwYSwweDljLDB4ODAsMHhiNSwweDAwLDB4MjksMHhjMCwweDBhLDB4NDgsMHgwMiwweGMwLDB4MDIgfSwKLSAgMTYsIDB4YmYxMCwgMCwgezB4OTUsMHgwMCwweDJkLDB4NDIsMHgwYiwweDU4LDB4MDIsMHhjMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmYyMCwgMCwgezB4MjAsMHgxNCwweGNjLDB4MDAsMHhiMywweDAwLDB4MmEsMHhlMCwweDBiLDB4MzAsMHgwMiwweDRjLDB4MjAsMHhhMSwweDAxLDB4MjQgfSwKLSAgMTYsIDB4YmYzMCwgMCwgezB4YzEsMHgwOCwweDAwLDB4MDIsMHg4YywweDAwLDB4ODEsMHgwMCwweDI0LDB4ODAsMHgwOSwweDM4LDB4MGEsMHg2MCwweDgwLDB4OTIgfSwKLSAgMTYsIDB4YmY0MCwgMCwgezB4NDAsMHgyYSwweDAwLDB4MGEsMHgzMCwweDAyLDB4YzAsMHgwMCwweDgwLDB4YzgsMHgyYywweDcyLDB4MGIsMHgxNCwweDAyLDB4YzggfSwKLSAgMTYsIDB4YmY1MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhiYywweDAwLDB4ZmYsMHgwMCwweDJmLDB4ZjQgfSwKLSAgMTYsIDB4YmY2MCwgMCwgezB4OGYsMHhmMCwweDAzLDB4M2MsMHgwMCwweGI5LDB4MDAsMHgzZSwweDQwLDB4MDksMHg5MCwweDAzLDB4ZmMsMHgwMiwweGMzLDB4MDEgfSwKLSAgMTYsIDB4YmY3MCwgMCwgezB4MzIsMHhjMCwweDQ4LDB4YjgsMHgxMywweGExLDB4MDAsMHhiYSwweDAwLDB4MmEsMHgwMCwweDBhLDB4YTAsMHgwNywweGVjLDB4MDAgfSwKLSAgMTYsIDB4YmY4MCwgMCwgezB4ZGIsMHhjOCwweDNlLDB4OTAsMHgwZiwweGEyLDB4MDIsMHhlYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmY5MCwgMCwgezB4ODAsMHgwMCwweGVjLDB4MDAsMHhmYiwweDAyLDB4M2UsMHhjNCwweDBmLDB4YjAsMHg2MywweGVjLDB4MDEsMHhmOCwweDQwLDB4M2UgfSwKLSAgMTYsIDB4YmZhMCwgMCwgezB4NDAsMHgwYiwweDgwLDB4MDMsMHhjYywweDAwLDB4ZmEsMHg0MiwweDNlLDB4YzAsMHgwZiwweGI1LDB4MDAsMHhhYywweDU4LDB4ZTkgfSwKLSAgMTYsIDB4YmZiMCwgMCwgezB4ODIsMHgzZSwweGMwLDB4MWQsMHg5MCwweDAzLDB4ZWMsMHgwNCwweGZhLDB4MDAsMHgzZSwweDgwLDB4MGYsMHhhMCwweDAzLDB4ZTAgfSwKLSAgMTYsIDB4YmZjMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmYywweDBjLDB4ZGYsMHgwMCwweDdmLDB4YzAgfSwKLSAgMTYsIDB4YmZkMCwgMCwgezB4MmMsMHhmMCwweDAzLDB4N2MsMHgwMSwweGM3LDB4MDAsMHgzMywweDQwLDB4OGYsMHhkMCwweDAzLDB4ZmMsMHgwMCwweGQ4LDB4MDAgfSwKLSAgMTYsIDB4YmZlMCwgMCwgezB4MTUsMHg0NCwweDBjLDB4ZTAsMHgxYiwweDNjLDB4MDAsMHhjYiwweDBlLDB4MzMsMHhjMCwweDVjLDB4NjIsMHgwMiwweDFjLDB4MDIgfSwKLSAgMTYsIDB4YmZmMCwgMCwgezB4YzUsMHgwMCwweDJiLDB4ODAsMHgwZiwweGMwLDB4ODcsMHg4MCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzAwMCwgMCwgezB4ODEsMHg0NCwweDZjLDB4MTAsMHhiYiwweDAwLDB4MmUsMHhjMCwweDA4LDB4YjAsMHg1MiwweDBjLDB4MDEsMHhmYSwweGM0LDB4MjIgfSwKLSAgMTYsIDB4YzAxMCwgMCwgezB4NjEsMHgwYiwweDg4LDB4MDMsMHg2YywweDAwLDB4ODgsMHg0NywweDJhLDB4MDAsMHgwZSwweDFjLDB4MDIsMHgyMCwweDAyLDB4ODggfSwKLSAgMTYsIDB4YzAyMCwgMCwgezB4MDAsMHhhYSwweDAwLDB4MjgsMHg5MCwweDBhLDB4MmMsMHgwNCwweGE4LDB4MDAsMHgyMiwweDkwLDB4MGIsMHg4MCwweDAyLDB4ZTAgfSwKLSAgMTYsIDB4YzAzMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDEsMHgyYywweDAwLDB4YmIsMHgwMCwweDJlLDB4YzEgfSwKLSAgMTYsIDB4YzA0MCwgMCwgezB4MDgsMHgzMCwweDEyLDB4NmMsMHgwMCwweDg4LDB4ODgsMHgyYSwweDMwLDB4MGIsMHhiOCwweDAyLDB4ZWMsMHgwMCwweDliLDB4MDggfSwKLSAgMTYsIDB4YzA1MCwgMCwgezB4MmEsMHg0MCwweDA4LDB4YjgsMHgwMiwweDIwLDB4MDAsMHg4MiwweDEwLDB4MjIsMHgwMCwweDA4LDB4YTAsMHgyMiwweGEwLDB4MDAgfSwKLSAgMTYsIDB4YzA2MCwgMCwgezB4OGIsMHgwMCwweDJhLDB4MDIsMHgwYiwweGIwLDB4MDIsMHhlMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzA3MCwgMCwgezB4MDgsMHgwMCwweDBjLDB4MDAsMHhiMywweDIwLDB4MmMsMHhjMiwweDA4LDB4MzYsMHgwMiwweDJjLDB4YzAsMHhhMCwweDA4LDB4MjAgfSwKLSAgMTYsIDB4YzA4MCwgMCwgezB4MDAsMHgwYiwweDMzLDB4NDYsMHhjZCwweDI4LDB4ODAsMHgyMCwweDI4LDB4YzAsMHgwYiwweDMyLDB4MDIsMHgwYywweDIwLDB4ODEgfSwKLSAgMTYsIDB4YzA5MCwgMCwgezB4MzAsMHgyOCwweGMwLDB4MDgsMHgxMCwweDAyLDB4ODEsMHgwMCwweGFhLDB4MDAsMHgyOCwweDAwLDB4MDMsMHgzMCwweDAyLDB4YzIgfSwKLSAgMTYsIDB4YzBhMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGMsMHg3YywweDAwLDB4ZmIsMHgyOCwweDJlLDB4Y2MgfSwKLSAgMTYsIDB4YzBiMCwgMCwgezB4MGMsMHg3MCwweDUzLDB4N2QsMHgwOSwweDg4LDB4MDAsMHhiYSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZmQsMHg4MCwweGRhLDB4NjAgfSwKLSAgMTYsIDB4YzBjMCwgMCwgezB4M2EsMHg1MCwweDhjLDB4YTIsMHg4MywweDJjLDB4ODAsMHg0YiwweDIwLDB4MzAsMHhjMCwweDI4LDB4YTAsMHgwMywweGExLDB4MDAgfSwKLSAgMTYsIDB4YzBkMCwgMCwgezB4YzksMHgwMCwweDNhLDB4MDAsMHgwZiwweDkwLDB4MDMsMHhjMCwweDAzLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzBlMCwgMCwgezB4YTAsMHgxZCwweGZjLDB4MDQsMHhmYiwweDAwLDB4N2UsMHhjOSwweDBiLDB4YjYsMHgwMywweGZjLDB4YzAsMHhmOCwweDBjLDB4M2YgfSwKLSAgMTYsIDB4YzBmMCwgMCwgezB4MDAsMHg0ZiwweGMzLDB4NDMsMHgyYywweDAwLDB4YjgsMHgzOCwweDNmLDB4OGUsMHg1ZSwweGYwLDB4NDMsMHhlMCwweDEwLDB4ZjggfSwKLSAgMTYsIDB4YzEwMCwgMCwgezB4MzAsMHgzZiwweDAxLDB4MGYsMHhkMCwweDAzLDB4NzAsMHgwMCwweGZjLDB4MDAsMHgzNywweDAwLDB4MGQsMHhkMCwweDA3LDB4ZTkgfSwKLSAgMTYsIDB4YzExMCwgMCwgezB4MDMsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmYywweGUwLDB4Y2MsMHg4MCwweDMzLDB4YzAgfSwKLSAgMTYsIDB4YzEyMCwgMCwgezB4MGQsMHhmMCwweDgzLDB4ZmMsMHg4MCwweGRjLDB4OTQsMHgzMywweGMwLDB4MWMsMHhmMSwweDAzLDB4N2QsMHg4YywweGZmLDB4MzAgfSwKLSAgMTYsIDB4YzEzMCwgMCwgezB4M2YsMHgzMCwweDhmLDB4YzgsMHgwMywweDdlLDB4MTAsMHhjZiwweDkwLDB4MzksMHhhMCwweDhkLDB4ZjgsMHgwMywweGFlLDB4MDAgfSwKLSAgMTYsIDB4YzE0MCwgMCwgezB4ZDUsMHg4MCwweDEzLDB4ZTAsMHgwYywweDU4LDB4MDMsMHhmMCwweDAxLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzE1MCwgMCwgezB4ODAsMHgxMCwweGRkLDB4MDgsMHg4OCwweDAwLDB4MjMsMHhjNCwweDA4LDB4ZmMsMHgwMiwweGVjLDB4YTgsMHhjYiwweDIwLDB4MjEgfSwKLSAgMTYsIDB4YzE2MCwgMCwgezB4YzIsMHgwZCwweGY3LDB4MTIsMHgxYywweDQwLDB4ZGYsMHgzMCwweDIyLDB4YTAsMHgwYiwweDg4LDB4MDIsMHgyZSwweDA0LDB4ZGIgfSwKLSAgMTYsIDB4YzE3MCwgMCwgezB4MjEsMHgyMiwweGMwLDB4MDgsMHhiOCwweDIyLDB4MmUsMHgwMCwweGI5LDB4ODAsMHgyYSwweDYwLDB4MGEsMHg4OCwweDAyLDB4ZTAgfSwKLSAgMTYsIDB4YzE4MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4NDUsMHhjYywweDEwLDB4ODAsMHgyYywweDI4LDB4Y2EgfSwKLSAgMTYsIDB4YzE5MCwgMCwgezB4NjgsMHgzMCwweDAyLDB4OGQsMHgwMCwweDliLDB4MjAsMHgyOCwweGM0LDB4MDgsMHgzMiwweDAyLDB4Y2MsMHgxMCwweGIzLDB4MDAgfSwKLSAgMTYsIDB4YzFhMCwgMCwgezB4MjQsMHgwOCwweDBiLDB4ODAsMHg0MiwweDZjLDB4MDAsMHg4MywweDAwLDB4MmEsMHhjYSwweDNhLDB4YjAsMHgwMiwweDhjLDB4MDQgfSwKLSAgMTYsIDB4YzFiMCwgMCwgezB4YjAsMHgwNCwweDI4LDB4YzAsMHgwOCwweDEwLDB4MDIsMHhlMywweDAxLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzFjMCwgMCwgezB4YzAsMHgxNSwweDhjLDB4MDIsMHg4MCwweDQwLDB4YWEsMHhjMCwweDA4LDB4YjAsMHgwMiwweGVjLDB4MDAsMHg5YiwweDIwLDB4MmEgfSwKLSAgMTYsIDB4YzFkMCwgMCwgezB4YzAsMHg4OCwweGIwLDB4MDIsMHhhYywweDAwLDB4OWIsMHgwMCwweDI2LDB4ZTAsMHgwMywweDgwLDB4ODIsMHgyYywweDI4LDB4OWIgfSwKLSAgMTYsIDB4YzFlMCwgMCwgezB4MjAsMHgyMiwweGUxLDB4MGIsMHhiMiwweDAyLDB4YWMsMHg4MCwweGI4LDB4ODAsMHgyYSwweGMxLDB4MGEsMHg5OCwweDAyLDB4ZjAgfSwKLSAgMTYsIDB4YzFmMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlYywweDAwLDB4YzgsMHg1MCwweDNhLDB4YzAgfSwKLSAgMTYsIDB4YzIwMCwgMCwgezB4MGQsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGRiLDB4ODgsMHhiYSwweGMwLDB4MDgsMHhiMCwweDAzLDB4NmMsMHgwOCwweGZiLDB4MDAgfSwKLSAgMTYsIDB4YzIxMCwgMCwgezB4MzYsMHg2MCwweDBmLDB4OGMsMHg2MywweDZjLDB4MDAsMHhjYiwweGMwLDB4M2EsMHg4MCwweDBlLDB4YmUsMHgwMywweGFmLDB4ODQgfSwKLSAgMTYsIDB4YzIyMCwgMCwgezB4NzksMHg4MCwweDNhLDB4ODgsMHgwNCwweDk4LDB4MDEsMHhkMCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzIzMCwgMCwgezB4ZTAsMHgwMSwweGJjLDB4MDAsMHhmYywweDgwLDB4MzUsMHhjMCwweDRmLDB4ZjAsMHgwMywweGRjLDB4MDAsMHhlZiwweDAwLDB4MzcgfSwKLSAgMTYsIDB4YzI0MCwgMCwgezB4YzAsMHhhZiwweGYwLDB4MDMsMHgxYywweDAxLDB4NmYsMHgwMCwweDEzLDB4MDAsMHgwZiwweGMxLDB4MjMsMHhmYywweGI4LDB4ZmYgfSwKLSAgMTYsIDB4YzI1MCwgMCwgezB4MDQsMHgzNywweGMwLDB4MGMsMHhmOCwweDQzLDB4N2UsMHgwNCwweGZkLDB4MDAsMHgzZiwweDA0LDB4MGYsMHhkMCwweDAzLDB4ZjggfSwKLSAgMTYsIDB4YzI2MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhYywweDAwLDB4YzgsMHg0MCwweDNhLDB4YzAgfSwKLSAgMTYsIDB4YzI3MCwgMCwgezB4MGMsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGZiLDB4NDAsMHgzOCwweGMxLDB4MGUsMHhiMCwweDQzLDB4MmMsMHgwOCwweGMzLDB4MDAgfSwKLSAgMTYsIDB4YzI4MCwgMCwgezB4M2UsMHg0MCwweDBlLDB4ODIsMHgwMywweDZkLDB4MDAsMHhkYiwweDQwLDB4MzIsMHhjMSwweDVmLDB4YjQsMHhhMywweGVkLDB4MjAgfSwKLSAgMTYsIDB4YzI5MCwgMCwgezB4YzksMHg0MCwweDMyLDB4ZTAsMHg4ZiwweDk4LDB4NDMsMHg5MCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzJhMCwgMCwgezB4YzgsMHgwNSwweDNjLDB4MDAsMHg4OCwweDAwLDB4MjMsMHhjMCwweDI4LDB4ZjUsMHhjMiwweGZjLDB4MDAsMHhiMywweDA0LDB4MjMgfSwKLSAgMTYsIDB4YzJiMCwgMCwgezB4YzEsMHg0OCwweGYwLDB4MjIsMHhiYywweDA2LDB4YWYsMHgwMCwweDBlLDB4NDAsMHgwOCwweDAwLDB4MDIsMHhjZCwweDAwLDB4YmIgfSwKLSAgMTYsIDB4YzJjMCwgMCwgezB4MDEsMHgyMCwweGMwLDB4MDgsMHgzMCwweDAyLDB4ZWUsMHgwMCwweDgxLDB4ZTAsMHgzNCwweGEwLDB4MGIsMHg5MCwweDAyLDB4MzIgfSwKLSAgMTYsIDB4YzJkMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0YywweDAyLDB4ODAsMHgwMCwweDI4LDB4YzAgfSwKLSAgMTYsIDB4YzJlMCwgMCwgezB4MDksMHgzYywweDAyLDB4NGMsMHgwMCwweGIzLDB4MDAsMHgyYywweGMwLDB4MGEsMHhiMCwweDAyLDB4MGMsMHgwMCwweDgzLDB4MDEgfSwKLSAgMTYsIDB4YzJmMCwgMCwgezB4MmMsMHgwMCwweDBhLDB4MDUsMHgwMiwweGNkLDB4NTgsMHhiYiwweDAwLDB4MjAsMHgwMCwweDBhLDB4M2QsMHgwMiwweGNmLDB4NDAgfSwKLSAgMTYsIDB4YzMwMCwgMCwgezB4MjEsMHgyMCwweDYwLDB4YzAsMHgwOSwweDEwLDB4MDIsMHhmOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzMxMCwgMCwgezB4MjAsMHgwMSwweDFlLDB4MDAsMHg4NCwweDgwLDB4MjgsMHhlNCwweDg4LDB4NzgsMHg0MiwweGRlLDB4MDAsMHhiNywweDkwLDB4NjUgfSwKLSAgMTYsIDB4YzMyMCwgMCwgezB4ZTQsMHg4OCwweDdhLDB4NDIsMHg5ZSwweDQwLDB4YTcsMHg5MCwweDJkLDB4YTAsMHgwYSwweDQ4LDB4MjIsMHhkZSwweDA0LDB4YjcgfSwKLSAgMTYsIDB4YzMzMCwgMCwgezB4ODAsMHgyMywweDYwLDB4NDgsMHg3OCwweDQyLDB4ZmUsMHg4MCwweGFmLDB4OTAsMHg2NSwweGUwLDB4MGIsMHhlOCwweDAyLDB4YzggfSwKLSAgMTYsIDB4YzM0MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDAwLDB4YzgsMHgwMCwweDM4LDB4YzAgfSwKLSAgMTYsIDB4YzM1MCwgMCwgezB4MGMsMHgzMCwweDAzLDB4Y2MsMHgwMCwweGZiLDB4MDAsMHgzYywweGMwLDB4MGUsMHhiYSwweDAzLDB4MGMsMHgwMCwweGMzLDB4MDAgfSwKLSAgMTYsIDB4YzM2MCwgMCwgezB4M2UsMHgwMCwweDRlLDB4MjIsMHgwMiwweGNjLDB4YzAsMHhmYiwweDQwLDB4MzAsMHhjMCwweDBhLDB4MzAsMHgwMywweGNlLDB4ODAgfSwKLSAgMTYsIDB4YzM3MCwgMCwgezB4ZTEsMHg0MSwweDMwLDB4YzksMHgwZiwweDMwLDB4MDMsMHhkMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzM4MCwgMCwgezB4NDAsMHgxZCwweGJjLDB4MjAsMHhmYywweDAwLDB4MzcsMHhjMiwweDBlLDB4ZjEsMHgyMywweGVjLDB4NDAsMHhmZiwweDA0LDB4M2EgfSwKLSAgMTYsIDB4YzM5MCwgMCwgezB4YzAsMHgwZiwweGIwLDB4MjMsMHhmYywweDAwLDB4ZmYsMHgwNCwweDNlLDB4YzAsMHgwZCwweGEwLDB4MDMsMHhmYywweDU4LDB4ZmYgfSwKLSAgMTYsIDB4YzNhMCwgMCwgezB4MDAsMHhiZiwweGMwLDB4MDYsMHhmMCwweDgzLDB4ZGMsMHg2MiwweGRmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4MTAgfSwKLSAgMTYsIDB4YzNiMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlZCwweDgwLDB4YzksMHgwMSwweDNlLDB4YzAgfSwKLSAgMTYsIDB4YzNjMCwgMCwgezB4OGMsMHhiMiwweDA3LDB4YWUsMHgwNCwweGNiLDB4ODAsMHgzYSwweGM4LDB4NGMsMHhiMiwweDAzLDB4MmMsMHg4NCwweGNiLDB4MzAgfSwKLSAgMTYsIDB4YzNkMCwgMCwgezB4YjAsMHhlMCwweDBkLDB4ODgsMHgwYiwweDJjLDB4MDAsMHhlYiwweDAwLDB4MzAsMHgwMCwweDBjLDB4YmMsMHg4MywweDJkLDB4ODAgfSwKLSAgMTYsIDB4YzNlMCwgMCwgezB4ZmIsMHgwMCwweDMyLDB4YzAsMHgwYywweDkwLDB4MDMsMHhlYSwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzNmMCwgMCwgezB4NDgsMHgxMSwweDljLDB4NDAsMHg4NywweDAwLDB4MmMsMHhjYywweDA4LDB4NzYsMHg4MiwweDNjLDB4ODIsMHg4NywweDAwLDB4MjEgfSwKLSAgMTYsIDB4YzQwMCwgMCwgezB4YzIsMHg4ZCwweDMyLDB4ODIsMHgwZCwweDRjLDB4YTcsMHgyOCwweDIxLDB4ODAsMHgwOCwweDQwLDB4MDIsMHgxZCwweDgwLDB4YmYgfSwKLSAgMTYsIDB4YzQxMCwgMCwgezB4MjAsMHgzNSwweDQwLDB4MDksMHg3MiwweDQzLDB4NWMsMHhhMCwweGI3LDB4MDAsMHgyOSwweGMwLDB4MDgsMHg3MCwweDAyLDB4ZDIgfSwKLSAgMTYsIDB4YzQyMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg4ZSwweDAwLDB4ODQsMHg4MCwweDJkLDB4ZTAgfSwKLSAgMTYsIDB4YzQzMCwgMCwgezB4MDgsMHg3OCwweDAyLDB4ZGUsMHhjMCwweDhmLDB4ODAsMHgyOCwweGVjLDB4MjgsMHg3YiwweDBhLDB4OWUsMHg5NCwweDgzLDB4ODQgfSwKLSAgMTYsIDB4YzQ0MCwgMCwgezB4MjMsMHhlMCwweDA5LDB4NTgsMHg1MCwweDllLDB4MTAsMHhhNywweGIwLDB4MjMsMHhlMCwweDBiLDB4NzgsMHgwMiwweDFlLDB4MjAgfSwKLSAgMTYsIDB4YzQ1MCwgMCwgezB4YjcsMHg4MCwweDIxLDB4ZTAsMHgwOSwweDc4LDB4MDIsMHhmMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzQ2MCwgMCwgezB4NDgsMHgxNCwweGNjLDB4MDIsMHg4MiwweDFjLDB4MmMsMHhjMCwweDI4LDB4MzAsMHgwMiwweDRjLDB4MDAsMHg4MywweGMwLDB4MjAgfSwKLSAgMTYsIDB4YzQ3MCwgMCwgezB4YzAsMHgwOCwweDMwLDB4MDIsMHgwYywweDAwLDB4YTMsMHgwMCwweDYwLDB4ZDIsMHgwOCwweDFkLDB4MDIsMHgwZiwweDIwLDB4YmIgfSwKLSAgMTYsIDB4YzQ4MCwgMCwgezB4MjQsMHgyNCwweGMwLDB4MGIsMHgzYywweDAyLDB4NGYsMHgwMCwweGIzLDB4ODAsMHgyOCwweGQ4LDB4MDksMHgzMiwweDAyLDB4ZDIgfSwKLSAgMTYsIDB4YzQ5MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTEsMHhhOCwweDAwLDB4Y2UsMHg4NCwweDNlLDB4ODAgfSwKLSAgMTYsIDB4YzRhMCwgMCwgezB4MGMsMHhhMCwweDAzLDB4ZTgsMHgwMCwweGNlLDB4YzAsMHgzYSwweDgwLDB4MDgsMHhhMCwweDAzLDB4YTgsMHgwMCwweGNhLDB4MDAgfSwKLSAgMTYsIDB4YzRiMCwgMCwgezB4MzMsMHg4MCwweDBkLDB4ZWMsMHgwMywweDNiLDB4ODAsMHhlZSwweDgyLDB4MzMsMHg4MCwweDBhLDB4YzAsMHg4NywweDEwLDB4NDAgfSwKLSAgMTYsIDB4YzRjMCwgMCwgezB4ZjYsMHhjMCwweDMzLDB4OTAsMHhhZCwweDY0LDB4MDMsMHhmYSwweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzRkMCwgMCwgezB4NDgsMHgwMCwweGMwLDB4MDIsMHhmOCwweDAwLDB4M2MsMHgwMCwweDFmLDB4MDQsMHgwMywweGEwLDB4MDQsMHhmOCwweDMwLDB4M2UgfSwKLSAgMTYsIDB4YzRlMCwgMCwgezB4MDAsMHgwZiwweDgwLDB4MDMsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDQsMHgwZiwweDgwLDB4OTMsMHhlMCwweDAwLDB4ZjggfSwKLSAgMTYsIDB4YzRmMCwgMCwgezB4MTAsMHgzZSwweDAwLDB4MmMsMHg4NCwweDAzLDB4ZTAsMHgwMCwweGY4LDB4MTgsMHgzZSwweDEwLDB4MGUsMHg4MCwweDAzLDB4ZDIgfSwKLSAgMTYsIDB4YzUwMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDAwLDB4ZDksMHgwMCwweDNlLDB4NDAgfSwKLSAgMTYsIDB4YzUxMCwgMCwgezB4MGUsMHg5MCwweDAzLDB4YTQsMHgxMCwweGY5LDB4MDAsMHgzZSwweDQwLDB4MDQsMHg5MCwweDAzLDB4MjQsMHgwMCwweDQxLDB4MDAgfSwKLSAgMTYsIDB4YzUyMCwgMCwgezB4M2UsMHg0MCwweDBmLDB4OTEsMHgxMywweGUxLDB4MDgsMHhmOCwweDAwLDB4MzIsMHg0MCwweDA4LDB4ODksMHg4MywweGEyLDB4MDAgfSwKLSAgMTYsIDB4YzUzMCwgMCwgezB4YzksMHg4MCwweDMyLDB4NDAsMHgwYywweDkwLDB4MGIsMHgwMiwweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzU0MCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDIsMHg4OSwweDAwLDB4MmUsMHg0MCwweDBkLDB4OTAsMHgwMiwweDI0LDB4MDAsMHhiOSwweDAwLDB4MmUgfSwKLSAgMTYsIDB4YzU1MCwgMCwgezB4NDAsMHg0OCwweDkwLDB4MDIsMHhhNCwweDAwLDB4ODksMHgwMCwweDIyLDB4NDAsMHg4YiwweDk0LDB4NDIsMHhlMiwweDIwLDB4YjggfSwKLSAgMTYsIDB4YzU2MCwgMCwgezB4MDAsMHhhMiwweDQwLDB4MDgsMHg5NCwweDAyLDB4ZTUsMHgwNCwweGE5LDB4OTAsMHgzNCwweDYwLDB4MDgsMHg5MCwweDAyLDB4MjAgfSwKLSAgMTYsIDB4YzU3MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDEwLDB4OTksMHgwMCwweDJlLDB4NDAgfSwKLSAgMTYsIDB4YzU4MCwgMCwgezB4MGEsMHg5MCwweDAyLDB4ZTQsMHgwMCwweGI5LDB4MDAsMHgyNCwweDQwLDB4MGEsMHgxMCwweDAyLDB4MDQsMHgwMCwweGE5LDB4MDAgfSwKLSAgMTYsIDB4YzU5MCwgMCwgezB4MmEsMHg0MCwweDBiLDB4OTAsMHg4MiwweGUwLDB4MDEsMHhiOCwweDAwLDB4MjAsMHg0MCwweDNhLDB4OTAsMHgwMiwweGE0LDB4NDQgfSwKLSAgMTYsIDB4YzVhMCwgMCwgezB4ODksMHgwNCwweDIyLDB4NjIsMHgwOCwweDk4LDB4MDIsMHgwNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzViMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4OGEsMHg4MSwweDAwLDB4MmMsMHg0OCwweDA5LDB4MzIsMHgwNiwweDQ0LDB4ODAsMHhiMSwweDAwLDB4MmMgfSwKLSAgMTYsIDB4YzVjMCwgMCwgezB4NDgsMHgwYSwweDEyLDB4MDIsMHg4NCwweDgwLDB4YTEsMHgyMCwweDIwLDB4NTAsMHgwYiwweDE0LDB4MDIsMHhjNSwweDAwLDB4YjEgfSwKLSAgMTYsIDB4YzVkMCwgMCwgezB4NDAsMHgyMCwweDUwLDB4MGEsMHgyNCwweDAyLDB4YzksMHgwMCwweGEzLDB4MDAsMHgyNCwweDQwLDB4MDgsMHgxMSwweDAyLDB4MDIgfSwKLSAgMTYsIDB4YzVlMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MSwweDQwLDB4ZDgsMHg1MCwweDNlLDB4MTQgfSwKLSAgMTYsIDB4YzVmMCwgMCwgezB4MGUsMHg4MCwweDAzLDB4ZTEsMHg0MCwweGY4LDB4NTEsMHgzNiwweDE0LDB4MmUsMHg4NSwweDQzLDB4MjEsMHg0MiwweGU4LDB4NTAgfSwKLSAgMTYsIDB4YzYwMCwgMCwgezB4M2EsMHgwMCwweDBmLDB4ODAsMHgxMiwweGUwLDB4MDAsMHhmOCwweDAwLDB4MzIsMHgwMCwweDFlLDB4ODAsMHg0MywweGEwLDB4MDAgfSwKLSAgMTYsIDB4YzYxMCwgMCwgezB4YzgsMHgwMSwweDMyLDB4MDAsMHgwYywweDgwLDB4MDMsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzYyMCwgMCwgezB4OTgsMHgxZCwweGU0LDB4NDAsMHhmZCwweDAwLDB4M2UsMHg0NCwweDRlLDB4MTEsMHgwMywweGE0LDB4NDAsMHhiNSwweDAwLDB4M2UgfSwKLSAgMTYsIDB4YzYzMCwgMCwgezB4NDQsMHgwZCwweDkxLDB4MDMsMHhlNCwweDQwLDB4ZDksMHgxMCwweDNmLDB4NDAsMHgwZiwweDUwLDB4MDMsMHhlNSwweDAwLDB4ZjkgfSwKLSAgMTYsIDB4YzY0MCwgMCwgezB4NDAsMHgzZiwweDQwLDB4MGQsMHg0NCwweDAzLDB4ZjEsMHgwMCwweGY1LDB4MDIsMHgzZCwweGMwLDB4MmYsMHhkMiwweDAzLDB4ZTYgfSwKLSAgMTYsIDB4YzY1MCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhlNywweDAwLDB4ZTksMHgwMCwweDM2LDB4NjAgfSwKLSAgMTYsIDB4YzY2MCwgMCwgezB4MGQsMHhkYSwweDAzLDB4ZTYsMHg0MCwweGY5LDB4NDAsMHgzZSwweDY4LDB4MGMsMHg5YSwweDAzLDB4NjYsMHgyMCwweDg5LDB4YTAgfSwKLSAgMTYsIDB4YzY3MCwgMCwgezB4MzMsMHg0MCwweDBlLDB4OTAsMHgwNywweGE2LDB4MDAsMHhmOSwweDgwLDB4M2UsMHg1MCwweDBjLDB4Y2EsMHgwMywweGYzLDB4ODAgfSwKLSAgMTYsIDB4YzY4MCwgMCwgezB4YzUsMHgwMiwweDMzLDB4NDAsMHgwYywweGMwLDB4MDMsMHhjNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzY5MCwgMCwgezB4MzgsMHgxMCwweGUzLDB4MDQsMHg4OCwweGEyLDB4MjAsMHgzOCwweDA4LDB4ODAsMHgwMiwweGUzLDB4NDAsMHhiMCwweDgwLDB4MmUgfSwKLSAgMTYsIDB4YzZhMCwgMCwgezB4MjgsMHgwOCwweDhhLDB4ODIsMHgyMywweDgwLDB4ODgsMHg4MCwweDIyLDB4MDAsMHhkYiwweDg4LDB4MDIsMHg2MiwweDA0LDB4YjggfSwKLSAgMTYsIDB4YzZiMCwgMCwgezB4YjAsMHgyZSwweGE4LDB4ODgsMHg4ZSwweGEyLDB4ZWEsMHg4MCwweDg4LDB4MDAsMHgyYSwweDAwLDB4MjgsMHg4OCwweDAzLDB4OGUgfSwKLSAgMTYsIDB4YzZjMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNSwweDgyLDB4YTksMHgwOCwweDJjLDB4NTIgfSwKLSAgMTYsIDB4YzZkMCwgMCwgezB4MGIsMHgxNCwweDAyLDB4YzQsMHg4MCwweGIxLDB4MjEsMHgwYywweDUyLDB4ODgsMHgxNCwweDAyLDB4NDQsMHgyMCwweDkxLDB4NjkgfSwKLSAgMTYsIDB4YzZlMCwgMCwgezB4MjAsMHg0MCwweDBhLDB4MTAsMHg4MiwweGM2LDB4ZTAsMHhiMSwweDBjLDB4MmMsMHg0OCwweDA4LDB4MDEsMHgwMiwweGUxLDB4OTMgfSwKLSAgMTYsIDB4YzZmMCwgMCwgezB4YTEsMHgwMSwweDI0LDB4NDEsMHgwYSwweDEwLDB4MDIsMHhjMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzcwMCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MDAsMHg4OSwweDA0LDB4MjIsMHg0MCwweDA4LDB4OTAsMHgwMCwweGU0LDB4MDAsMHgzOSwweDAyLDB4MGUgfSwKLSAgMTYsIDB4YzcxMCwgMCwgezB4NDAsMHgwOCwweDEwLDB4NjIsMHgyNCwweDAwLDB4OTEsMHgwMCwweDYyLDB4NDAsMHg4YiwweDgwLDB4MDIsMHhlMCwweDU0LDB4YjkgfSwKLSAgMTYsIDB4YzcyMCwgMCwgezB4MGMsMHgyZSwweDQwLDB4MDksMHhiNiwweDUyLDB4ZWMsMHgwMCwweGE5LDB4MDAsMHgyYSwweDQwLDB4MGEsMHg5MiwweDgwLDB4ODYgfSwKLSAgMTYsIDB4YzczMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTEsMHhlNCwweDAwLDB4ZTEsMHg2MCwweDM2LDB4NDAgfSwKLSAgMTYsIDB4Yzc0MCwgMCwgezB4MGQsMHg5MCwweDIzLDB4ZTQsMHgwMCwweGY5LDB4MzAsMHgzZSwweDQwLDB4MmMsMHg5MCwweDQzLDB4NjQsMHgwNiwweGM5LDB4MDAgfSwKLSAgMTYsIDB4Yzc1MCwgMCwgezB4MzIsMHg0OSwweDBlLDB4OGQsMHg5MywweGUwLDB4MDAsMHhmOSwweDAwLDB4MmUsMHg0MCwweDJjLDB4OTQsMHgwMywweGM3LDB4NDAgfSwKLSAgMTYsIDB4Yzc2MCwgMCwgezB4ZTksMHgyMCwweDMwLDB4NTUsMHgwZSwweDkwLDB4MDMsMHhlOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Yzc3MCwgMCwgezB4MjgsMHgwMSwweGE0LDB4MDAsMHhmOSwweDAwLDB4MWUsMHg0MCwweDBmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDgwLDB4M2MgfSwKLSAgMTYsIDB4Yzc4MCwgMCwgezB4NDAsMHg0ZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZTksMHgwNCwweGJlLDB4NDAsMHgwZiwweDg4LDB4MzMsMHg2MiwweDAwLDB4ZjkgfSwKLSAgMTYsIDB4Yzc5MCwgMCwgezB4YzIsMHgzZSwweDQ4LDB4MmUsMHg4OCwweDMzLDB4ZTIsMHgwMCwweGQ5LDB4MDAsMHgzZSwweDYwLDB4MGQsMHg4MCwweDAzLDB4Y2EgfSwKLSAgMTYsIDB4YzdhMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMCwweDAwLDB4YzgsMHgwMCwweDNlLDB4MDAgfSwKLSAgMTYsIDB4YzdiMCwgMCwgezB4MGQsMHg4MCwweDAzLDB4YTAsMHgwNCwweGU4LDB4NDAsMHhiYSwweDAwLDB4MGMsMHg4MCwweDAzLDB4ZTAsMHgwNCwweGM4LDB4MDAgfSwKLSAgMTYsIDB4YzdjMCwgMCwgezB4M2EsMHgwMCwweDBlLDB4OGMsMHgwMywweGUwLDB4MDAsMHhmOCwweDAyLDB4MzIsMHgwMCwweDBlLDB4ODAsMHgwMywweDYxLDB4MjAgfSwKLSAgMTYsIDB4YzdkMCwgMCwgezB4ZjgsMHgwMCwweDMyLDB4MTYsMHgwZiwweDgwLDB4MDMsMHhjYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzdlMCwgMCwgezB4MjgsMHgwNSwweDI4LDB4MDAsMHg4YSwweDAwLDB4MmUsMHg4MCwweDA4LDB4ZTIsMHgwMywweDI4LDB4MDAsMHg4YSwweDAwLDB4MjIgfSwKLSAgMTYsIDB4YzdmMCwgMCwgezB4ODAsMHgwOCwweGEwLDB4MDIsMHhlOCwweDA0LDB4OGEsMHgwMCwweDJlLDB4YTIsMHgwOSwweGU4LDB4MDIsMHhmYSwweDA0LDB4YmUgfSwKLSAgMTYsIDB4YzgwMCwgMCwgezB4MDAsMHhhMiwweDgwLDB4MDgsMHhjZCwweDgyLDB4MzMsMHgyMCwweGI2LDB4YzAsMHgzNywweGEwLDB4NGIsMHhjOCwweDgyLDB4Y2EgfSwKLSAgMTYsIDB4YzgxMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg2YywweDAwLDB4ODMsMHgwMCwweDI2LDB4YzAgfSwKLSAgMTYsIDB4YzgyMCwgMCwgezB4MDksMHgzOCwweDAyLDB4NGMsMHgwMCwweGIzLDB4MDAsMHgyNCwweGMwLDB4MDgsMHgzMCwweDAyLDB4ZWMsMHgwMCwweDgzLDB4MDAgfSwKLSAgMTYsIDB4YzgzMCwgMCwgezB4MjgsMHhlMCwweDBiLDB4MzAsMHgwMiwweGNlLDB4ODEsMHhiMywweDAwLDB4NjIsMHhjMCwweDA4LDB4M2MsMHgwMiwweDRmLDB4MDAgfSwKLSAgMTYsIDB4Yzg0MCwgMCwgezB4YjMsMHhhMCwweDIwLDB4YjAsMHgwMywweDMwLDB4MDIsMHhjYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Yzg1MCwgMCwgezB4YTAsMHgwMSwweDBjLDB4NDEsMHg4NywweDM0LDB4MmQsMHhjMCwweDA4LDB4NjAsMHgwMiwweDllLDB4NDAsMHhiNywweGEwLDB4MmQgfSwKLSAgMTYsIDB4Yzg2MCwgMCwgezB4YzAsMHgwOCwweDczLDB4MDIsMHhkYywweDAwLDB4ODcsMHgyMCwweDJkLDB4YzAsMHgwYiwweDcwLDB4ODIsMHhkZCwweDg1LDB4YmYgfSwKLSAgMTYsIDB4Yzg3MCwgMCwgezB4ODEsMHg2MywweGM4LDB4ODgsMHg3YiwweDAyLDB4MWMsMHgwMCwweGI3LDB4NDAsMHg2NSwweDAwLDB4MWIsMHg3MiwweDAyLDB4ZTggfSwKLSAgMTYsIDB4Yzg4MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZSwweDAwLDB4YzcsMHg4MSwweDNkLDB4ZTAgfSwKLSAgMTYsIDB4Yzg5MCwgMCwgezB4ZGQsMHg3MCwweDAzLDB4ZmUsMHg4MCwweGY3LDB4OTAsMHgzZiwweGUwLDB4MmMsMHg3OSwweDAzLDB4ZmUsMHg4MCwweGM3LDB4YTAgfSwKLSAgMTYsIDB4YzhhMCwgMCwgezB4MzksMHhlMCwweDBmLDB4N2EsMHgwMiwweGRlLDB4ODQsMHhmNywweGMyLDB4MzEsMHhmMiwweDBjLDB4NzksMHgwMywweDVlLDB4MDQgfSwKLSAgMTYsIDB4YzhiMCwgMCwgezB4ZjcsMHg4NCwweDMxLDB4NjAsMHgwZiwweDdlLDB4MDMsMHhlYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzhjMCwgMCwgezB4MDgsMHgxZCwweGFkLDB4MGEsMHhmYiwweDYwLDB4N2UsMHhkNCwweDBmLDB4MzAsMHgwMywweDZjLDB4MDAsMHhjYiwweDAwLDB4MzIgfSwKLSAgMTYsIDB4YzhkMCwgMCwgezB4ZGUsMHgyZiwweGIyLDB4MDMsMHhlZCwweDQyLDB4MWIsMHg2MCwweDNlLDB4YzEsMHgwZCwweGIxLDB4MDMsMHhlYywweDUwLDB4ZjcgfSwKLSAgMTYsIDB4YzhlMCwgMCwgezB4ODAsMHgzZCwweGQ4LDB4MmUsMHgzMiwweDAzLDB4ZWMsMHgzMCwweGZiLDB4MDAsMHgzZSwweDQwLDB4MGYsMHhiMCwweDAzLDB4YzIgfSwKLSAgMTYsIDB4YzhmMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmZiwweDAwLDB4Y2IsMHhkMCwweDNmLDB4ZjAgfSwKLSAgMTYsIDB4YzkwMCwgMCwgezB4NGMsMHhmOCwweDEzLDB4ZmUsMHgwMCwweGNmLDB4ODgsMHgzZiwweGUwLDB4MGMsMHhmOCwweDQzLDB4M2YsMHgwMCwweGNmLDB4YzggfSwKLSAgMTYsIDB4YzkxMCwgMCwgezB4MzMsMHhlMCwweDBjLDB4ZjgsMHgwMywweGZlLDB4MDAsMHhmZiwweDgwLDB4M2YsMHhlMCwweDJjLDB4ZjgsMHgwMywweGJlLDB4MjAgfSwKLSAgMTYsIDB4YzkyMCwgMCwgezB4YzcsMHg4MCwweDMzLDB4ZTAsMHgwYywweGY4LDB4MDEsMHgwMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzkzMCwgMCwgezB4YTgsMHgwMSwweGJjLDB4NDAsMHg4NywweDkwLDB4M2QsMHhjMCwweDA4LDB4NDAsMHgwMiwweGRjLDB4ODAsMHhkNywweDAwLDB4MmQgfSwKLSAgMTYsIDB4Yzk0MCwgMCwgezB4YzAsMHgwYywweDMwLDB4MDMsMHg3YywweDAwLDB4ODcsMHgxMCwweDIxLDB4YzQsMHgxZSwweDcwLDB4MjAsMHhkYywweDQ0LDB4YjcgfSwKLSAgMTYsIDB4Yzk1MCwgMCwgezB4MDAsMHgzOSwweGMwLDB4MGMsMHg3MSwweDAyLDB4MWMsMHg0MCwweGQ3LDB4MDIsMHgyOSwweDQwLDB4MDgsMHg3MCwweDAyLDB4MmEgfSwKLSAgMTYsIDB4Yzk2MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5YywweDAwLDB4ODcsMHgzMiwweDJkLDB4YzAgfSwKLSAgMTYsIDB4Yzk3MCwgMCwgezB4MDgsMHg3MCwweDAyLDB4ZGMsMHgwMSwweDg3LDB4MDAsMHgyYywweGMwLDB4MmIsMHg3MCwweDBhLDB4NWMsMHgwMCwweDgzLDB4MDAgfSwKLSAgMTYsIDB4Yzk4MCwgMCwgezB4MjMsMHhjMCwweDA4LDB4NzAsMHgwMiwweGRkLDB4MDAsMHhiNywweDAwLDB4MmQsMHhjNCwweDBiLDB4ZjAsMHgwMiwweDljLDB4MjAgfSwKLSAgMTYsIDB4Yzk5MCwgMCwgezB4ODcsMHgxOCwweDI5LDB4NDAsMHgwOCwweDcwLDB4ODIsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzlhMCwgMCwgezB4MjAsMHgxNCwweGNjLDB4MDAsMHg4MywweDAyLDB4MjgsMHhjMCwweDA4LDB4MTAsMHgwMiwweGNjLDB4MDgsMHg4MywweDQwLDB4MmUgfSwKLSAgMTYsIDB4YzliMCwgMCwgezB4YzAsMHgyYSwweDMwLDB4MDIsMHgwYywweDAwLDB4OGIsMHgwMCwweDIwLDB4ZjIsMHgwYSwweDMwLDB4MDIsMHhjZSwweDAwLDB4YjMgfSwKLSAgMTYsIDB4YzljMCwgMCwgezB4ODgsMHgyYSwweGQwLDB4MGEsMHgzMCwweDA2LDB4MGMsMHgwMCwweDkyLDB4MDAsMHgyOCwweDc4LDB4MDgsMHgzYywweDQyLDB4MDggfSwKLSAgMTYsIDB4YzlkMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhiYywweDAyLDB4YzcsMHgwMCwweDJmLDB4YzAgfSwKLSAgMTYsIDB4YzllMCwgMCwgezB4MmMsMHg5MCwweDAyLDB4ZmMsMHgwMiwweDhmLDB4ZDgsMHgzZiwweGMwLDB4NGIsMHhmMCwweDAyLDB4N2MsMHgwMiwweGNmLDB4MDAgfSwKLSAgMTYsIDB4YzlmMCwgMCwgezB4MjAsMHhmMiwweDA4LDB4YjAsMHgxMywweGVlLDB4ODAsMHhmZiwweDAwLDB4M2YsMHhkNCwweDJlLDB4YmQsMHg4MywweGFjLDB4MDAgfSwKLSAgMTYsIDB4Y2EwMCwgMCwgezB4Y2IsMHg4MCwweDNhLDB4YTAsMHhhYywweGI4LDB4MDMsMHgyYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2ExMCwgMCwgezB4ODAsMHgwMCwweGVjLDB4MDAsMHhmYiwweDEwLDB4M2UsMHhjMCwweDBmLDB4ODQsMHgwMywweGVjLDB4MTAsMHhmYiwweDAwLDB4M2UgfSwKLSAgMTYsIDB4Y2EyMCwgMCwgezB4YzAsMHgwMSwweGIwLDB4MDMsMHhlYywweDAwLDB4ZmIsMHgwMCwweGJlLDB4YzAsMHgwZSwweGIwLDB4MjMsMHhlYywweDA4LDB4ZmIgfSwKLSAgMTYsIDB4Y2EzMCwgMCwgezB4MTAsMHgzZiwweGMwLDB4MGQsMHhiNCwweDAzLDB4ZWQsMHgwNCwweGY5LDB4MDAsMHgxZSwweDE0LDB4Y2YsMHhiMCwweDgzLDB4ZTAgfSwKLSAgMTYsIDB4Y2E0MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmYywweDAwLDB4Y2YsMHgwMCwweDMwLDB4YzAgfSwKLSAgMTYsIDB4Y2E1MCwgMCwgezB4MGMsMHg0MCwweDAzLDB4YWMsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMwLDB4MmMsMHhiMCwweDAzLDB4YmMsMHgwMCwweGZmLDB4MDAgfSwKLSAgMTYsIDB4Y2E2MCwgMCwgezB4YjMsMHhlMCwweDBkLDB4ZmEsMHgwMywweDdlLDB4ODAsMHhjZiwweDAwLDB4MzMsMHhjMCwweDBjLDB4ZmMsMHg0MywweGZmLDB4MjAgfSwKLSAgMTYsIDB4Y2E3MCwgMCwgezB4ZmYsMHgwMCwweDNmLDB4NDAsMHgwOCwweGY4LDB4MDMsMHhjMCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2E4MCwgMCwgezB4ODEsMHgwNCwweDZjLDB4MTAsMHhhYiwweDAwLDB4MmEsMHhjMCwweDBhLDB4OGUsMHg0MiwweDJjLDB4MDQsMHhiYiwweDAwLDB4MmUgfSwKLSAgMTYsIDB4Y2E5MCwgMCwgezB4YzAsMHgwOCwweGIwLDB4MDIsMHg2YywweDAwLDB4YmIsMHgwMCwweDNhLDB4YzAsMHgwZSwweDMwLDB4MDIsMHgwZCwweDA4LDB4ODMgfSwKLSAgMTYsIDB4Y2FhMCwgMCwgezB4MDIsMHgyMiwweGMwLDB4MGEsMHhiYywweDAyLDB4ZWYsMHgwMCwweGJiLDB4YzAsMHgyYywweDY4LDB4MGEsMHhiOSwweDAyLDB4ZTAgfSwKLSAgMTYsIDB4Y2FiMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgwYywweDAwLDB4OGIsMHgwMCwweDIyLDB4YzAgfSwKLSAgMTYsIDB4Y2FjMCwgMCwgezB4MDgsMHhiOCwweDAyLDB4YWMsMHgwMCwweGJiLDB4MDIsMHgyZSwweGMwLDB4MDgsMHhiMCwweDAyLDB4ZWMsMHgwMCwweGJiLDB4MDAgfSwKLSAgMTYsIDB4Y2FkMCwgMCwgezB4MjYsMHg0OCwweDE5LDB4YjAsMHgwMiwweDZkLDB4MDAsMHg4YiwweDAwLDB4MjIsMHhjMCwweDBhLDB4YjAsMHgwMiwweGVjLDB4MDQgfSwKLSAgMTYsIDB4Y2FlMCwgMCwgezB4YmIsMHgxYywweDJlLDB4MjAsMHgwYSwweGIwLDB4MDIsMHhlMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2FmMCwgMCwgezB4MDgsMHgxNCwweDBjLDB4MDAsMHhhYiwweDIwLDB4MjgsMHhjMCwweDBhLDB4MDAsMHgwMiwweDBjLDB4MDAsMHg5MywweDA0LDB4MmMgfSwKLSAgMTYsIDB4Y2IwMCwgMCwgezB4YzEsMHgwOCwweDMwLDB4MDIsMHg0YywweDAwLDB4YjMsMHgwMCwweDI0LDB4NDEsMHgwOSwweGI4LDB4MDIsMHgwYywweDAyLDB4ODMgfSwKLSAgMTYsIDB4Y2IxMCwgMCwgezB4MDEsMHhhMCwweGMwLDB4MGEsMHgzMCwweDAyLDB4Y2MsMHgxMCwweDkzLDB4MDAsMHgyYywweDAwLDB4MGEsMHgzMCwweDAyLDB4YzIgfSwKLSAgMTYsIDB4Y2IyMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHg3YywweDAwLDB4Y2YsMHgyOCwweDMzLDB4YzAgfSwKLSAgMTYsIDB4Y2IzMCwgMCwgezB4MGMsMHhhMCwweDQ2LDB4YWMsMHgxMSwweGJmLDB4MDAsMHgzZiwweGMwLDB4NWMsMHhmMCwweDQzLDB4ZmMsMHgwMCwweGZmLDB4MDQgfSwKLSAgMTYsIDB4Y2I0MCwgMCwgezB4MzIsMHg0MCwweDBkLDB4YjAsMHgwMywweDZjLDB4MDgsMHhjYiwweDA0LDB4MzEsMHhjMCwweDBjLDB4YjAsMHgzMywweGVkLDB4NDAgfSwKLSAgMTYsIDB4Y2I1MCwgMCwgezB4ZmIsMHgwNCwweDNlLDB4NDAsMHgwZSwweGIwLDB4MDMsMHhjMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2I2MCwgMCwgezB4YTAsMHgxNSwweGZjLDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMCwweDBmLDB4YzAsMHgyMywweGZjLDB4MDEsMHhmZiwweDAwLDB4M2YgfSwKLSAgMTYsIDB4Y2I3MCwgMCwgezB4YzAsMHg0ZiwweGYwLDB4ODcsMHg3YywweDAwLDB4ZmYsMHgwMCwweDM5LDB4NDAsMHgwZSwweGYwLDB4MDMsMHhmYywweDAwLDB4ZmYgfSwKLSAgMTYsIDB4Y2I4MCwgMCwgezB4MDAsMHgzZiwweGMwLDB4MGYsMHg3MCwweDAzLDB4ZGMsMHg4MCwweGZmLDB4MDAsMHgzZCwweDQwLDB4MGYsMHg3MCwweDAzLDB4ZTggfSwKLSAgMTYsIDB4Y2I5MCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmYywweDQwLDB4ZWIsMHg0OCwweDNlLDB4YzIgfSwKLSAgMTYsIDB4Y2JhMCwgMCwgezB4MGUsMHgwOSwweDAzLDB4YmMsMHg2MCwweGMwLDB4MjAsMHgzNSwweDI0LDB4MGUsMHhkMiwweDEzLDB4MmMsMHg2MCwweGZiLDB4NmEgfSwKLSAgMTYsIDB4Y2JiMCwgMCwgezB4MzMsMHhjMCwweDBmLDB4Y2EsMHgwMywweDIyLDB4MjAsMHhjMCwweDgwLDB4MzcsMHhjMCwweDBkLDB4ZjAsMHgwMywweDdjLDB4MDAgfSwKLSAgMTYsIDB4Y2JjMCwgMCwgezB4ZWYsMHgwMCwweDMzLDB4MjQsMHgwZiwweGM4LDB4MDMsMHgzMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2JkMCwgMCwgezB4ODAsMHgxMCwweGRkLDB4MDAsMHg4ZiwweDYwLDB4MmYsMHhkOCwweDA4LDB4YTIsMHgwMiwweGZkLDB4ODAsMHhjOCwweDcwLDB4MjIgfSwKLSAgMTYsIDB4Y2JlMCwgMCwgezB4MDAsMHgyYywweGZkLDB4MDcsMHhkYywweDg0LDB4YmYsMHg2MCwweDIzLDB4ZDIsMHgwYiwweGJkLDB4MDIsMHgyMywweDAwLDB4ODggfSwKLSAgMTYsIDB4Y2JmMCwgMCwgezB4ODAsMHhhMiwweDIwLDB4ODgsMHhiMCwweDIyLDB4MzQsMHgwMCwweGJiLDB4NTAsMHgyMiwweGM4LDB4MGIsMHhiMCwweDAyLDB4MjAgfSwKLSAgMTYsIDB4Y2MwMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDQwLDB4YTMsMHgwMywweDJjLDB4YzIgfSwKLSAgMTYsIDB4Y2MxMCwgMCwgezB4MGEsMHgwMCwweDQyLDB4OGMsMHg4MiwweGEzLDB4MGEsMHgyNCwweDgwLDB4MGIsMHgzMCwweDAyLDB4Y2MsMHg5MCwweGIzLDB4MDAgfSwKLSAgMTYsIDB4Y2MyMCwgMCwgezB4MjgsMHhkOCwweDBiLDB4MTAsMHgwMiwweDhjLDB4MDIsMHg5MCwweDAwLDB4MjAsMHhjMCwweDBiLDB4MTAsMHg0MiwweDRjLDB4MDAgfSwKLSAgMTYsIDB4Y2MzMCwgMCwgezB4YjMsMHgwNCwweDI0LDB4YzAsMHgwYiwweDMwLDB4MGUsMHhhMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2M0MCwgMCwgezB4YzAsMHgxNSwweGFjLDB4MTAsMHg5YiwweDA0LDB4MmMsMHhjMCwweGY4LDB4OTgsMHgwNiwweGVjLDB4MDAsMHhhYiwweDgwLDB4MjYgfSwKLSAgMTYsIDB4Y2M1MCwgMCwgezB4MjAsMHgwOCwweDkwLDB4MmEsMHhhYywweDEwLDB4YmIsMHgwMCwweDBhLDB4YzAsMHgxYiwweGIwLDB4MjIsMHhhZCwweDAwLDB4OTggfSwKLSAgMTYsIDB4Y2M2MCwgMCwgezB4NDAsMHgyYSwweDcwLDB4NGIsMHhiMCwweDAyLDB4MmMsMHgwMCwweGIzLDB4MDAsMHhhNiwweDg2LDB4MWIsMHhiMCwweDgyLDB4YjAgfSwKLSAgMTYsIDB4Y2M3MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlYywweDAwLDB4ZWIsMHgwMCwweDNlLDB4YzAgfSwKLSAgMTYsIDB4Y2M4MCwgMCwgezB4OGUsMHg5OCwweDAzLDB4YWMsMHgwOCwweGU4LDB4YzAsMHgzNiwweDMwLDB4NGYsMHhiMCwweDQyLDB4ZWMsMHgwMCwweGY5LDB4ODAgfSwKLSAgMTYsIDB4Y2M5MCwgMCwgezB4M2EsMHhjMCwweDhmLDB4ODgsMHg0MiwweDIwLDB4MTAsMHhjOCwweDEwLDB4MzAsMHhmMCwweDBmLDB4MzAsMHgxMywweDZjLDB4MTAgfSwKLSAgMTYsIDB4Y2NhMCwgMCwgezB4ZWIsMHgwMCwweDM2LDB4ZjAsMHgwZiwweGJkLDB4MDMsMHg5MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2NiMCwgMCwgezB4ZTAsMHgwMSwweGJjLDB4MDAsMHhlZiwweDA0LDB4N2YsMHhjMCwweDBmLDB4ZjAsMHg0MywweGRjLDB4MDAsMHhjNCwweDAwLDB4M2IgfSwKLSAgMTYsIDB4Y2NjMCwgMCwgezB4NDAsMHg4YiwweGRjLDB4MDMsMHg3YywweDEwLDB4ZjksMHg5MCwweDM2LDB4YzIsMHg0ZiwweGY5LDB4MjMsMHg2MiwweDQxLDB4YWMgfSwKLSAgMTYsIDB4Y2NkMCwgMCwgezB4MDEsMHgxMywweDQwLDB4MDQsMHhiMCwweDAzLDB4ZTQsMHgwMCwweGZmLDB4MDAsMHgzYiwweGMwLDB4MGYsMHhjMCwweDAzLDB4NzggfSwKLSAgMTYsIDB4Y2NlMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHg4YywweDEyLDB4Y2IsMHgwMCwweGYyLDB4YzAgfSwKLSAgMTYsIDB4Y2NmMCwgMCwgezB4MGYsMHg4MCwweDAzLDB4YWMsMHgwOCwweGQ5LDB4MDAsMHgzYSwweDgwLDB4MGYsMHgxMiwweDAzLDB4YWMsMHgwMCwweGUxLDB4MDAgfSwKLSAgMTYsIDB4Y2QwMCwgMCwgezB4MzIsMHhjMCwweDBjLDB4OTAsMHgwMywweGVkLDB4MDIsMHhjOCwweDQwLDB4M2UsMHhkMCwweDBmLDB4OTAsMHgxMywweDJjLDB4MDIgfSwKLSAgMTYsIDB4Y2QxMCwgMCwgezB4ZGIsMHgwMCwweDNlLDB4NTAsMHgwYywweGI0LDB4MDMsMHgxMCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2QyMCwgMCwgezB4YzgsMHgwNSwweDNjLDB4MDAsMHg4ZiwweDAwLDB4MTcsMHhjMCwweDA4LDB4OTAsMHgwMiwweDNjLDB4MDgsMHg4ZCwweDAwLDB4MjIgfSwKLSAgMTYsIDB4Y2QzMCwgMCwgezB4NTQsMHgwOCwweGI0LDB4MDMsMHgzYywweDAwLDB4ODksMHgwMCwweDIzLDB4YzAsMHg0MCwweDM1LDB4MDIsMHhjYywweDI0LDB4ODAgfSwKLSAgMTYsIDB4Y2Q0MCwgMCwgezB4MDAsMHgyMiwweDc0LDB4NGMsMHhiMCwweDAyLDB4MmMsMHgwMCwweDhmLDB4MDAsMHgyZSwweGQ0LDB4MGEsMHhiMCwweDBhLDB4MzIgfSwKLSAgMTYsIDB4Y2Q1MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDEsMHg0YywweDAyLDB4ODMsMHgwMCwweDI0LDB4YzAgfSwKLSAgMTYsIDB4Y2Q2MCwgMCwgezB4MDksMHgwMCwweDAyLDB4OGMsMHgwMSwweDkwLDB4MDAsMHg2YSwweDQxLDB4MGEsMHgzMCwweDIwLDB4NGUsMHgxMCwweDMxLDB4MDIgfSwKLSAgMTYsIDB4Y2Q3MCwgMCwgezB4MmMsMHhjMCwweDA5LDB4MjAsMHgwNiwweGNlLDB4MDAsMHg4MCwweDAwLDB4NjAsMHhlMCwweDBhLDB4MzAsMHg4MiwweDBjLDB4MDggfSwKLSAgMTYsIDB4Y2Q4MCwgMCwgezB4ODMsMHgwOCwweDJjLDB4ZDAsMHgwOSwweGIwLDB4MDIsMHg3OCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2Q5MCwgMCwgezB4MjAsMHgwMSwweDFlLDB4MDQsMHg4NywweGIwLDB4MjAsMHhlYywweDA5LDB4ZTksMHgwMiwweDhlLDB4NTgsMHg5ZCwweGIwLDB4MmIgfSwKLSAgMTYsIDB4Y2RhMCwgMCwgezB4YTUsMHg0MCwweDViLDB4MDYsMHhkZSwweDQwLDB4OTUsMHg5NCwweDJkLDB4ZTQsMHgxOSwweDdiLDB4MDYsMHhkZSwweDAwLDB4ODQgfSwKLSAgMTYsIDB4Y2RiMCwgMCwgezB4ODAsMHg2MCwweGUwLDB4MGEsMHg3OCwweDBhLDB4MTYsMHgxMCwweDg3LDB4ODAsMHgyZCwweDY4LDB4MGIsMHg3OSwweDAyLDB4NDggfSwKLSAgMTYsIDB4Y2RjMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDAwLDB4Y2IsMHhhMCwweDI0LDB4ZTAgfSwKLSAgMTYsIDB4Y2RkMCwgMCwgezB4MGYsMHgyYSwweDAzLDB4OGUsMHgwMCwweGQyLDB4ZDAsMHgzOCwweGZhLDB4MGYsMHgxOCwweGMzLDB4Y2UsMHgyNCwweDMxLDB4YjAgfSwKLSAgMTYsIDB4Y2RlMCwgMCwgezB4M2MsMHhlNSwweDBjLDB4M2IsMHgxNywweGNlLDB4MDQsMHhjMCwweDgyLDB4MzgsMHhjMiwweDllLDB4MTAsMHgwMywweDBjLDB4MDAgfSwKLSAgMTYsIDB4Y2RmMCwgMCwgezB4YzMsMHgwMSwweDNlLDB4YzAsMHgwZCwweDgxLDB4MDMsMHg1MiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2UwMCwgMCwgezB4NDAsMHgxZCwweGJjLDB4MDAsMHhlZiwweDEwLDB4M2UsMHhjMiwweDBlLDB4YjEsMHgyMywweDJjLDB4YzEsMHhhYiwweDAxLDB4MzYgfSwKLSAgMTYsIDB4Y2UxMCwgMCwgezB4ODAsMHgwZiwweGIwLDB4MjMsMHgyZCwweDkwLDB4ZTksMHg4NCwweDcyLDB4YzgsMHg2MiwweGYxLDB4MTcsMHhmYywweDAwLDB4ZmMgfSwKLSAgMTYsIDB4Y2UyMCwgMCwgezB4MDAsMHgzYiwweGM0LDB4MWQsMHhmMCwweDAzLDB4ZWMsMHgwMCwweGVmLDB4MDgsMHgzZiwweGM4LDB4MGUsMHhmMSwweDAzLDB4OTAgfSwKLSAgMTYsIDB4Y2UzMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlYywweDgwLDB4ZmIsMHhhNCwweDNhLDB4YzggfSwKLSAgMTYsIDB4Y2U0MCwgMCwgezB4MGUsMHg5MCwweDAzLDB4MmMsMHgwNCwweGNhLDB4MDAsMHgzMCwweDYwLDB4MmQsMHgxYSwweDI3LDB4NmMsMHg4NCwweGNiLDB4NjAgfSwKLSAgMTYsIDB4Y2U1MCwgMCwgezB4MzIsMHhkMiwweDBjLDB4YTAsMHgxMywweDJkLDB4ODQsMHhjYiwweDAyLDB4M2UsMHhjMCwweDBkLDB4YjgsMHgwMywweGFjLDB4ODAgfSwKLSAgMTYsIDB4Y2U2MCwgMCwgezB4Y2IsMHg4MSwweDMyLDB4ODAsMHgwYywweGIwLDB4MDMsMHhhYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2U3MCwgMCwgezB4NDgsMHgxMSwweDljLDB4YTQsMHhiNywweDI4LDB4NzMsMHhjMiwweDA4LDB4ZjAsMHgwMiwweDNjLDB4YzAsMHg4ZiwweDAwLDB4MzEgfSwKLSAgMTYsIDB4Y2U4MCwgMCwgezB4YzAsMHgwOSwweDcwLDB4ODIsMHg5YywweDgwLDB4ODcsMHgwYywweDIwLDB4ZDgsMHgwOSwweDcwLDB4MjIsMHgxYywweDMwLDB4ODQgfSwKLSAgMTYsIDB4Y2U5MCwgMCwgezB4MDAsMHgzZCwweGMwLDB4MDgsMHg3MCwweDAyLDB4MTQsMHgyNCwweDg3LDB4YTAsMHgyMSwweGMwLDB4MDgsMHg3MCwweDEyLDB4MTIgfSwKLSAgMTYsIDB4Y2VhMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZSwweDQwLDB4YjMsMHg5NSwweDI5LDB4ZTkgfSwKLSAgMTYsIDB4Y2ViMCwgMCwgezB4MGEsMHg2OCwweDAyLDB4OWUsMHhkMCwweDg2LDB4ZjAsMHhhMywweGUwLDB4MDgsMHg3OCwweDEyLDB4OWUsMHg0NCwweGEzLDB4ODIgfSwKLSAgMTYsIDB4Y2VjMCwgMCwgezB4MjEsMHhlOCwweDBiLDB4MzgsMHgwMiwweDBlLDB4MTAsMHg4NywweDgwLDB4MmYsMHhlMCwweDBiLDB4MTgsMHgwMiwweDhlLDB4MDIgfSwKLSAgMTYsIDB4Y2VkMCwgMCwgezB4ODcsMHgwMCwweDIxLDB4ZTAsMHgwOCwweDc4LDB4MDIsMHgzMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2VlMCwgMCwgezB4NDgsMHgxNCwweGNjLDB4MDAsMHhiMywweDAwLDB4MjQsMHhjMCwweDQ4LDB4MzAsMHgwMiwweDBjLDB4MDQsMHg4MywweDgwLDB4MjAgfSwKLSAgMTYsIDB4Y2VmMCwgMCwgezB4ZDAsMHgwOSwweDEwLDB4MDIsMHg4YywweDA2LDB4YTMsMHg4MCwweDIwLDB4YzAsMHgwYiwweDMwLDB4MDIsMHgwYywweDAyLDB4ODAgfSwKLSAgMTYsIDB4Y2YwMCwgMCwgezB4NDAsMHgyOCwweGQyLDB4MGEsMHgzMCwweDAyLDB4MGMsMHgwMSwweDgzLDB4MDAsMHgyMiwweDNjLDB4MDgsMHg4NywweDAyLDB4MTIgfSwKLSAgMTYsIDB4Y2YxMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOCwweDE4LDB4ZmEsMHgwMCwweDNhLDB4ODAgfSwKLSAgMTYsIDB4Y2YyMCwgMCwgezB4OGUsMHhlNCwweDQyLDB4MjgsMHgwMiwweGNlLDB4ODAsMHgzMywweDgwLDB4NGQsMHhhMCwweDgzLDB4ZTgsMHgwMCwweGVhLDB4YTAgfSwKLSAgMTYsIDB4Y2YzMCwgMCwgezB4YjIsMHg4MCwweDBhLDB4YTAsMHgwYSwweDI4LDB4MDAsMHhjZSwweDE4LDB4MmYsMHg4MCwweDBmLDB4YTAsMHgxMywweGE4LDB4MDAgfSwKLSAgMTYsIDB4Y2Y0MCwgMCwgezB4Y2EsMHgwMCwweDMyLDB4OTAsMHgyYywweGFjLDB4MGIsMHgzYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2Y1MCwgMCwgezB4NDgsMHgwMCwweGUwLDB4MDAsMHhmOCwweDA0LDB4M2EsMHgwMCwweDBmLDB4ODAsMHg4MywweGMwLDB4MDgsMHhlOCwweDAzLDB4M2EgfSwKLSAgMTYsIDB4Y2Y2MCwgMCwgezB4MDAsMHgwZSwweDgwLDB4MjIsMHhjMCwweDAwLDB4ZDAsMHgwMCwweDdlLDB4MTAsMHhhNCwweDgwLDB4MDMsMHhjMCwweDAwLDB4ZjggfSwKLSAgMTYsIDB4Y2Y3MCwgMCwgezB4MDAsMHgzZSwweDEwLDB4MGQsMHg4NCwweDAzLDB4YzAsMHgwMCwweGY4LDB4MDAsMHhiZSwweDAwLDB4MGYsMHg4MCwweDAxLDB4NTIgfSwKLSAgMTYsIDB4Y2Y4MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhjNCwweDAyLDB4YzksMHgwMCwweDM2LDB4NDAgfSwKLSAgMTYsIDB4Y2Y5MCwgMCwgezB4MGMsMHg5MCwweDAzLDB4NjQsMHgwMiwweDg5LDB4MDQsMHgzMiwweDQyLDB4MGQsMHg5MiwweDAzLDB4ZTYsMHg0MiwweGM5LDB4MDAgfSwKLSAgMTYsIDB4Y2ZhMCwgMCwgezB4MzIsMHg3MCwweDBlLDB4MTIsMHgwYiwweDI0LDB4MDgsMHhjOSwweDAwLDB4M2UsMHg0NSwweDBlLDB4OTksMHgwMywweGU0LDB4MDIgfSwKLSAgMTYsIDB4Y2ZiMCwgMCwgezB4YzEsMHgwMCwweDMyLDB4NTAsMHgwNCwweDk0LDB4MDMsMHgwMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2ZjMCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDAsMHg4OSwweDAwLDB4NmUsMHg0MCwweDA4LDB4OTAsMHgwMiwweDI0LDB4MDAsMHg4OSwweDAwLDB4MjIgfSwKLSAgMTYsIDB4Y2ZkMCwgMCwgezB4NTQsMHgwYiwweDkwLDB4MDMsMHhlNiwweDAwLDB4ODksMHgwMCwweDIyLDB4NDAsMHgwOCwweDkwLDB4MGEsMHgyNCwweDAwLDB4ODkgfSwKLSAgMTYsIDB4Y2ZlMCwgMCwgezB4MDAsMHgzOCwweDQ4LDB4MDgsMHg5MCwweDgyLDB4ZTQsMHgwNCwweGQ5LDB4MDAsMHgyMiwweDQwLDB4MDgsMHg5MCwweDAyLDB4MjAgfSwKLSAgMTYsIDB4Y2ZmMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDAwLDB4ODksMHgwMSwweDJjLDB4NDAgfSwKLSAgMTYsIDB4ZDAwMCwgMCwgezB4MjgsMHgxMCwweDQyLDB4NjQsMHgwMCwweGExLDB4MDQsMHgyMiwweDUwLDB4MDEsMHg5MCwweDQyLDB4ZTQsMHgwMCwweDg5LDB4MDQgfSwKLSAgMTYsIDB4ZDAxMCwgMCwgezB4MjAsMHg0MiwweDBhLDB4OTAsMHg0MiwweDM0LDB4MDAsMHg4OSwweDAwLDB4NmUsMHg0MCwweDBhLDB4OTAsMHgwMCwweGU0LDB4MDAgfSwKLSAgMTYsIDB4ZDAyMCwgMCwgezB4ODksMHgwMCwweDIzLDB4NDAsMHgwYSwweGQwLDB4MDIsMHgwNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDAzMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4ODAsMHg4MSwweDI0LDB4MmMsMHg0OCwweDA4LDB4MTAsMHgwMiwweDA0LDB4ODAsMHhhMSwweDIwLDB4MjggfSwKLSAgMTYsIDB4ZDA0MCwgMCwgezB4NDAsMHgwYiwweDEwLDB4MDIsMHg4NSwweDgwLDB4ODEsMHgyMCwweDIwLDB4NDgsMHgwOCwweDUwLDB4NjIsMHgxNCwweDAyLDB4ODEgfSwKLSAgMTYsIDB4ZDA1MCwgMCwgezB4MDMsMHgyZSwweDQwLDB4ODgsMHgxNiwweDgyLDB4YzQsMHhhMCwweDkxLDB4MjgsMHgyMSwweDQwLDB4MmEsMHg1MCwweDAyLDB4MDIgfSwKLSAgMTYsIDB4ZDA2MCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MSwweDQwLDB4YzgsMHg1MCwweDJlLDB4MTQgfSwKLSAgMTYsIDB4ZDA3MCwgMCwgezB4MGMsMHg4NSwweDAzLDB4NjEsMHg0MCwweGU4LDB4NTAsMHhiMiwweDE1LDB4NGQsMHg4MCwweDAyLDB4YzAsMHgwMCwweDQ4LDB4NTAgfSwKLSAgMTYsIDB4ZDA4MCwgMCwgezB4YjIsMHgxNSwweDFhLDB4ODAsMHgxMywweDMwLDB4MDgsMHhjOCwweDAwLDB4M2UsMHgwMCwweDBlLDB4ODIsMHgwMywweGUwLDB4ODAgfSwKLSAgMTYsIDB4ZDA5MCwgMCwgezB4YzAsMHgyMCwweDMwLDB4MDAsMHgwZSwweDQwLDB4MGIsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDBhMCwgMCwgezB4OTgsMHgxZCwweGU0LDB4NDAsMHhmOSwweDEwLDB4M2UsMHg0NCwweDBmLDB4ZDAsMHgwMywweGU0LDB4NDgsMHhkZCwweDEwLDB4MzcgfSwKLSAgMTYsIDB4ZDBiMCwgMCwgezB4NDAsMHgwZiwweGQ0LDB4MDcsMHhlNCwweDQwLDB4ZmQsMHgxMCwweDNlLDB4NDUsMHgwZiwweDk0LDB4MDMsMHhlNSwweDA4LDB4ZmQgfSwKLSAgMTYsIDB4ZDBjMCwgMCwgezB4MDIsMHgzOSwweGQwLDB4MGYsMHhkMCwweDQzLDB4ZjQsMHhhMCwweGY5LDB4MjgsMHgzZSwweDRiLDB4MGQsMHg5MiwweDgzLDB4ZTYgfSwKLSAgMTYsIDB4ZDBkMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhlNiwweDgwLDB4YzksMHhhNiwweDMyLDB4NjggfSwKLSAgMTYsIDB4ZDBlMCwgMCwgezB4MGMsMHg5MCwweDAzLDB4YTYsMHg4MSwweGU5LDB4ZTksMHgzYiwweDQwLDB4MGUsMHg1OCwweDAzLDB4MzYsMHgyMCwweGM5LDB4YTAgfSwKLSAgMTYsIDB4ZDBmMCwgMCwgezB4MzcsMHg3OCwweDBkLDB4ZGEsMHgwMywweDM2LDB4MjYsMHhjNSwweDAwLDB4MzcsMHg2OSwweDBlLDB4ZGUsMHgwMywweGE2LDB4ODIgfSwKLSAgMTYsIDB4ZDEwMCwgMCwgezB4Y2QsMHhjMCwweDMzLDB4NTAsMHgwZiwweGQwLDB4MDMsMHgwNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDExMCwgMCwgezB4MzgsMHgxMCwweGUzLDB4YTQsMHg4OCwweGE5LDB4MjIsMHgzYSwweDA4LDB4MDgsMHgwMCwweDIyLDB4YTAsMHhiOCwweGU1LDB4MzAgfSwKLSAgMTYsIDB4ZDEyMCwgMCwgezB4MjAsMHgyOCwweDgwLDB4MjIsMHg0MywweGEwLDB4MDgsMHhlOCwweDJhLDB4M2QsMHgwOCwweGE0LDB4NjIsMHgyMCwweDAwLDB4ODggfSwKLSAgMTYsIDB4ZDEzMCwgMCwgezB4MDAsMHgyZSwweDEwLDB4MDgsMHg4ZSwweDAzLDB4MjMsMHhhMCwweDg4LDB4YTAsMHgyMCwweDI4LDB4MGIsMHg4YSwweDgyLDB4MGUgfSwKLSAgMTYsIDB4ZDE0MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweDQwLDB4OTEsMHg0MCwweDIwLDB4NDQgfSwKLSAgMTYsIDB4ZDE1MCwgMCwgezB4MDgsMHg5MCwweGEyLDB4ODUsMHgxMCwweGExLDB4MjAsMHgyYywweDQyLDB4MGIsMHgxNCwweDEyLDB4OGMsMHgwMSwweDkxLDB4MTAgfSwKLSAgMTYsIDB4ZDE2MCwgMCwgezB4MmMsMHg0OCwweDA5LDB4MTEsMHgwYSwweGM0LDB4MDAsMHg4MSwweDAwLDB4MmMsMHg1MCwweDBiLDB4MTEsMHgxMiwweGM1LDB4MDEgfSwKLSAgMTYsIDB4ZDE3MCwgMCwgezB4YjEsMHg0MCwweDI0LDB4NDgsMHgwYiwweDE4LDB4MGUsMHgwMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDE4MCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MDAsMHg5MSwweDAwLDB4MjIsMHg0MSwweDA4LDB4OTQsMHg0MiwweDI0LDB4MDAsMHhiMSwweDQwLDB4MjAgfSwKLSAgMTYsIDB4ZDE5MCwgMCwgezB4NDAsMHg0OSwweGIyLDB4NjIsMHgyNCwweDAwLDB4OTksMHgwMCwweDBhLDB4NDAsMHgwOCwweDkwLDB4MDIsMHhlNSwweDgwLDB4ODkgfSwKLSAgMTYsIDB4ZDFhMCwgMCwgezB4MDAsMHgyZSwweDQwLDB4MDksMHhiMCwweDAyLDB4MjQsMHg4MCwweGI5LDB4MDAsMHgyNiwweDUwLDB4NGIsMHg5MCwweDAyLDB4MDYgfSwKLSAgMTYsIDB4ZDFiMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNCwweDAyLDB4ZDksMHgwMCwweGIyLDB4NDAgfSwKLSAgMTYsIDB4ZDFjMCwgMCwgezB4MmMsMHg5NSwweDEzLDB4YTQsMHgxMCwweGU5LDB4MDAsMHhiZSwweDYwLDB4OGYsMHg5MCwweDBiLDB4YTQsMHgxMCwweDU5LDB4MDAgfSwKLSAgMTYsIDB4ZDFkMCwgMCwgezB4MWUsMHg0MCwweDlkLDB4OTQsMHgyMywweGU0LDB4MDIsMHg4OSwweDAwLDB4MzQsMHg0MCwweDBmLDB4OTAsMHgwMywweGU2LDB4MDggfSwKLSAgMTYsIDB4ZDFlMCwgMCwgezB4NzksMHgwMCwweGI2LDB4NDAsMHgwNywweDk4LDB4MDMsMHgyOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDFmMCwgMCwgezB4MjgsMHgwMSwweDg0LDB4MDAsMHhlOSwweDAyLDB4M2MsMHg0MCwweDJmLDB4OTgsMHgwMiwweGU0LDB4MDAsMHhmOSwweDQyLDB4M2EgfSwKLSAgMTYsIDB4ZDIwMCwgMCwgezB4NjgsMHgwYSwweDEwLDB4MDMsMHhlNCwweDEwLDB4ZTksMHgwMCwweDNlLDB4NDAsMHgwZSwweDkwLDB4MGYsMHgyNiwweDAwLDB4ZjkgfSwKLSAgMTYsIDB4ZDIxMCwgMCwgezB4MDQsMHgzZSwweDQwLDB4MGUsMHgxYywweDAzLDB4ZTYsMHgwMCwweGMxLDB4MDAsMHgzYSwweDUwLDB4MGYsMHg5OSwweDgzLDB4Y2EgfSwKLSAgMTYsIDB4ZDIyMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMCwweDAwLDB4ZTgsMHgwMCwweDNhLDB4MDAgfSwKLSAgMTYsIDB4ZDIzMCwgMCwgezB4MGMsMHg4NCwweDAzLDB4MjAsMHgwMCwweGQ4LDB4NDIsMHgzMiwweDA0LDB4MGMsMHg4OCwweDEzLDB4ZTAsMHgwMCwweGM4LDB4MDAgfSwKLSAgMTYsIDB4ZDI0MCwgMCwgezB4MzAsMHgwMCwweDBjLDB4MDQsMHgwYiwweDAwLDB4MDAsMHhkOCwweDAwLDB4MzYsMHgwMCwweDBlLDB4ODAsMHgyMywweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDI1MCwgMCwgezB4YzgsMHg4MCwweDMyLDB4MDAsMHgwYywweDgwLDB4MDEsMHgwYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDI2MCwgMCwgezB4MjgsMHgwNSwweDI4LDB4MTAsMHg4YSwweDAwLDB4MmUsMHg4MCwweDI4LDB4MjAsMHgyMiwweDI4LDB4MDAsMHg4YSwweDAwLDB4MjMgfSwKLSAgMTYsIDB4ZDI3MCwgMCwgezB4YjAsMHg4OCwweGUwLDB4MDIsMHgyOCwweDEwLDB4ZGEsMHgwMCwweGEzLDB4YjQsMHgwOCwweGU4LDB4MTAsMHgyOCwweDAwLDB4OGUgfSwKLSAgMTYsIDB4ZDI4MCwgMCwgezB4MjAsMHgyMywweGEwLDB4NDgsMHhlZCwweDFhLDB4MjgsMHgwMCwweGRlLDB4MDAsMHgyMywweDkwLDB4MGEsMHhlMCwweDAyLDB4MGEgfSwKLSAgMTYsIDB4ZDI5MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAwLDB4YTMsMHgwMCwweDI4LDB4YzAgfSwKLSAgMTYsIDB4ZDJhMCwgMCwgezB4MDgsMHgzMCwweDBhLDB4MGMsMHgwMCwweDkzLDB4MDAsMHgyMCwweGMyLDB4MmEsMHgzMCwweDIyLDB4YTQsMHgwMCwweGJiLDB4MDAgfSwKLSAgMTYsIDB4ZDJiMCwgMCwgezB4MDgsMHhlMCwweDE4LDB4MDksMHgwYSwweDRjLDB4MDAsMHg5MywweDAyLDB4MjQsMHhlOCwweDAyLDB4MDgsMHgwNiwweDRjLDB4MDAgfSwKLSAgMTYsIDB4ZDJjMCwgMCwgezB4OTMsMHgwMCwweDIwLDB4ZDgsMHgwYSwweDkwLDB4MDIsMHg0YSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDJkMCwgMCwgezB4YTAsMHgwMSwweDFjLDB4ODAsMHg4NywweDA0LDB4MmQsMHhjMCwweDA4LDB4NzAsMHgwMiwweDBlLDB4MDAsMHg4NywweDEwLDB4MjUgfSwKLSAgMTYsIDB4ZDJlMCwgMCwgezB4MDAsMHgwYSwweDYwLDB4MDIsMHg1ZSwweDAwLDB4OTcsMHgwMCwweDI5LDB4ODIsMHgwOCwweDUwLDB4MTIsMHg1NCwweDAwLDB4OGYgfSwKLSAgMTYsIDB4ZDJmMCwgMCwgezB4ODAsMHg2MSwweGQwLDB4MDgsMHgwNCwweDAyLDB4NWMsMHgwMSwweGI3LDB4MDgsMHhhOSwweGEwLDB4MGEsMHg1MCwweDgyLDB4NjggfSwKLSAgMTYsIDB4ZDMwMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgzZSwweDgwLDB4ZTcsMHg4MCwweDM4LDB4ZTQgfSwKLSAgMTYsIDB4ZDMxMCwgMCwgezB4MDgsMHg3ZSwweDAzLDB4MWYsMHgwMCwweGRmLDB4ODAsMHhiMSwweDIxLDB4MWUsMHg3OCwweDAzLDB4ZGMsMHgwNCwweGYzLDB4ODAgfSwKLSAgMTYsIDB4ZDMyMCwgMCwgezB4NWIsMHhlMSwweDA4LDB4MjgsMHgwMywweDVlLDB4MDAsMHhkNywweDgwLDB4MzUsMHg2MCwweDBlLDB4NjgsMHgwMywweDRlLDB4MDAgfSwKLSAgMTYsIDB4ZDMzMCwgMCwgezB4ZGYsMHg4MCwweDMxLDB4ZTAsMHgwZSwweGY4LDB4MGIsMHg2YSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDM0MCwgMCwgezB4MDgsMHgxZCwweGFkLDB4MDIsMHhmYiwweDc0LDB4M2UsMHhkMCwweDRmLDB4YjIsMHg4MywweGVkLDB4MDAsMHg3YiwweDY4LDB4M2EgfSwKLSAgMTYsIDB4ZDM1MCwgMCwgezB4MDAsMHg4ZCwweDgwLDB4MDMsMHhhNCwweDIwLDB4ZGIsMHgwMSwweDM2LDB4ODAsMHg2ZiwweGIwLDB4NDEsMHg4NCwweDAwLDB4ZWIgfSwKLSAgMTYsIDB4ZDM2MCwgMCwgezB4MDAsMHgzYywweGMwLDB4MGYsMHhlNiwweDgzLDB4YmMsMHg0MCwweGRiLDB4MDAsMHhiNiwweDgwLDB4MGYsMHhiMCwweDAzLDB4ODIgfSwKLSAgMTYsIDB4ZDM3MCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmZiwweDIwLDB4ZGYsMHhjMCwweDNiLDB4ZTYgfSwKLSAgMTYsIDB4ZDM4MCwgMCwgezB4MGUsMHhmOCwweDEzLDB4ZmYsMHg0NCwweGM3LDB4ODIsMHgzYiwweGUwLDB4MGYsMHhmOSwweDAzLDB4YmUsMHgxMCwweGNmLDB4YzggfSwKLSAgMTYsIDB4ZDM5MCwgMCwgezB4MzMsMHg2MCwweDhkLDB4ZWIsMHgwMywweDNlLDB4MDAsMHhkYiwweDgyLDB4M2YsMHhlMCwweDBjLDB4ZDgsMHgwMywweDNlLDB4NDAgfSwKLSAgMTYsIDB4ZDNhMCwgMCwgezB4Y2UsMHg4MCwweDMzLDB4ZTQsMHgwZiwweGY4LDB4MDMsMHgwMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDNiMCwgMCwgezB4YTgsMHgxMSwweGJjLDB4NDAsMHg4NywweDAwLDB4MjEsMHhlNCwweDBiLDB4NzgsMHhhMiwweGNlLDB4OTAsMHhjNywweGIwLDB4MjAgfSwKLSAgMTYsIDB4ZDNjMCwgMCwgezB4ZTgsMHgwYiwweDI4LDB4OTIsMHhiNiwweDg4LDB4ODcsMHhhMCwweDIwLDB4NjQsMHgwYiwweDM1LDB4MDMsMHgxNCwweDAwLDB4ODcgfSwKLSAgMTYsIDB4ZDNkMCwgMCwgezB4YjIsMHgzOSwweGMwLDB4MmMsMHhjMCwweDAzLDB4NWUsMHgwMiwweGNmLDB4MDAsMHgzMSwweGNlLDB4MGIsMHg3NiwweDEyLDB4MmEgfSwKLSAgMTYsIDB4ZDNlMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5YywweDAwLDB4YTMsMHgxMCwweDI5LDB4YzggfSwKLSAgMTYsIDB4ZDNmMCwgMCwgezB4MGIsMHg3NCwweDAyLDB4ZGMsMHg4MCwweDhmLDB4MDAsMHgyOSwweGNjLDB4MGEsMHgzMCwweDA2LDB4MTQsMHg4MCwweDg3LDB4MTAgfSwKLSAgMTYsIDB4ZDQwMCwgMCwgezB4MjEsMHhjMCwweDBiLDB4NjYsMHgwMiwweDVjLDB4MDAsMHg4NywweDAwLDB4MmQsMHhjMCwweDBiLDB4NTEsMHgwMiwweDFjLDB4ODAgfSwKLSAgMTYsIDB4ZDQxMCwgMCwgezB4OTYsMHgwMCwweDIxLDB4YzAsMHg1YiwweDc0LDB4ODIsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDQyMCwgMCwgezB4MjAsMHgxNCwweGNjLDB4MDgsMHhhMywweDAwLDB4MjAsMHhjMCwweDBiLDB4YjgsMHgwMiwweGNjLDB4MDAsMHg4YiwweDQwLDB4YTggfSwKLSAgMTYsIDB4ZDQzMCwgMCwgezB4YzAsMHg4YiwweDA4LDB4MjIsMHg4YywweDAyLDB4ODMsMHgwMCwweDYwLDB4YzAsMHgwYiwweDMwLDB4NDIsMHgwNCwweDAwLDB4ODMgfSwKLSAgMTYsIDB4ZDQ0MCwgMCwgezB4NDAsMHgyOCwweGZjLDB4OGEsMHgwMCwweDAyLDB4NmUsMHgwMCwweDgzLDB4MDAsMHhhMCwweGQwLDB4OGIsMHgzOCwweDAyLDB4MDggfSwKLSAgMTYsIDB4ZDQ1MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTEsMHhiYywweDAyLDB4ZWYsMHgwMCwweDNiLDB4YzAgfSwKLSAgMTYsIDB4ZDQ2MCwgMCwgezB4NGYsMHhmOCwweDAyLDB4ZmMsMHgwMiwweGNmLDB4MDAsMHgzOCwweDEyLDB4MGUsMHg5OCwweDAyLDB4MmMsMHgwMCwweGNmLDB4MDAgfSwKLSAgMTYsIDB4ZDQ3MCwgMCwgezB4MzIsMHhjMCwweDA5LDB4OTAsMHgwMywweDY0LDB4MDIsMHg4MSwweGMwLDB4M2UsMHhkMCwweDBmLDB4OTAsMHgwNywweDNjLDB4MDMgfSwKLSAgMTYsIDB4ZDQ4MCwgMCwgezB4ZDksMHgwMCwweDMyLDB4NjAsMHgwZiwweDg4LDB4MDMsMHgyYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDQ5MCwgMCwgezB4ODAsMHgwMCwweGNjLDB4MDAsMHhkYiwweDAwLDB4M2UsMHhjMCwweDhmLDB4YjAsMHgwMywweGVjLDB4MDAsMHhmYiwweDAyLDB4MzYgfSwKLSAgMTYsIDB4ZDRhMCwgMCwgezB4YzAsMHg0ZiwweDkwLDB4MDIsMHhlNCwweDAwLDB4ZmIsMHgwMCwweGJlLDB4OTAsMHgwZiwweDljLDB4MTMsMHhlYywweDAwLDB4ZTkgfSwKLSAgMTYsIDB4ZDRiMCwgMCwgezB4MTgsMHgzYSwweGQwLDB4MDQsMHhkNSwweDAzLDB4ZWMsMHg0MCwweGU5LDB4MDAsMHgzYSwweDAwLDB4OGYsMHg4MCwweDAzLDB4ZTAgfSwKLSAgMTYsIDB4ZDRjMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmYywweDAwLDB4Y2YsMHgwMCwweDNkLDB4YzEgfSwKLSAgMTYsIDB4ZDRkMCwgMCwgezB4OGMsMHhmMCwweDAzLDB4MmMsMHgwMCwweGVmLDB4MGEsMHhiMywweDEyLDB4MmMsMHg3MCwweDIzLDB4MTQsMHgwYSwweDRmLDB4MDAgfSwKLSAgMTYsIDB4ZDRlMCwgMCwgezB4MzUsMHg2MCwweDBkLDB4YjAsMHgwMywweDA0LDB4MDAsMHhjZCwweDgwLDB4MDcsMHhlOCwweDBjLDB4YzQsMHgwMywweDJjLDB4MDAgfSwKLSAgMTYsIDB4ZDRmMCwgMCwgezB4Y2QsMHgwMCwweDMxLDB4ZTIsMHgyYywweGUwLDB4MDMsMHgwMCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDUwMCwgMCwgezB4ODEsMHgwNCwweDZjLDB4MDIsMHhhYiwweDAyLDB4MmUsMHhjMCwweDBlLDB4YjAsMHgwMiwweDJjLDB4MDAsMHg4YiwweDAwLDB4MzIgfSwKLSAgMTYsIDB4ZDUxMCwgMCwgezB4MzAsMHgwMCwweDljLDB4MDMsMHg2YywweDAwLDB4OGIsMHgwNCwweDIyLDB4MzYsMHgwOCwweDM0LDB4NGEsMHgyYywweDA4LDB4ODkgfSwKLSAgMTYsIDB4ZDUyMCwgMCwgezB4OTAsMHgyMCwweGI4LDB4MGYsMHg4NCwweDAwLDB4YWMsMHgwMiwweDg5LDB4MDAsMHgzNiwweGEwLDB4MDgsMHhhNCwweDAyLDB4MjAgfSwKLSAgMTYsIDB4ZDUzMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAwLDB4OGIsMHgwMCwweDJlLDB4YzAgfSwKLSAgMTYsIDB4ZDU0MCwgMCwgezB4MDgsMHhiMCwweDAyLDB4MGMsMHgwMCwweDhiLDB4MDAsMHgyMiwweGQxLDB4MDgsMHg4OCwweDEyLDB4MjYsMHgwMCwweGEzLDB4MDAgfSwKLSAgMTYsIDB4ZDU1MCwgMCwgezB4MjYsMHg0MCwweDBiLDB4YjAsMHgwMiwweDI2LDB4MDAsMHg4YiwweDAwLDB4MjYsMHhjMCwweDU4LDB4MTAsMHgxMiwweDJjLDB4MDQgfSwKLSAgMTYsIDB4ZDU2MCwgMCwgezB4ODIsMHg4MCwweDJhLDB4NDksMHgwOCwweDMwLDB4MDIsMHgyMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDU3MCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDAsMHhhMywweDE0LDB4MmMsMHhjOCwweDFhLDB4MzQsMHg4YSwweDBjLDB4ODQsMHg4MywweDQwLDB4MjIgfSwKLSAgMTYsIDB4ZDU4MCwgMCwgezB4YzgsMHgwOCwweDAzLDB4NjIsMHg0YywweGMwLDB4YTMsMHg2MCwweDIwLDB4NDAsMHgwYSwweDMwLDB4MDIsMHgwYywweDAwLDB4OGIgfSwKLSAgMTYsIDB4ZDU5MCwgMCwgezB4NDUsMHgwOCwweGMwLDB4MGIsMHgxMCwweDAyLDB4OGMsMHhhMCwweDgzLDB4MDAsMHgyNiwweDQwLDB4MDgsMHgzMCwweDBhLDB4MDIgfSwKLSAgMTYsIDB4ZDVhMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg3YywweDAwLDB4Y2YsMHg0MCwweDJmLDB4ZDIgfSwKLSAgMTYsIDB4ZDViMCwgMCwgezB4OGMsMHhmNiwweDAzLDB4M2MsMHgyMiwweGNmLDB4NDAsMHgzMiwweGQ2LDB4NGMsMHhhNiwweGMxLDB4M2QsMHhhMCwweDg3LDB4NDggfSwKLSAgMTYsIDB4ZDVjMCwgMCwgezB4MzYsMHgwZCwweDBmLDB4YjEsMHgwMiwweDI0LDB4NDIsMHhjYiwweDYwLDB4MTYsMHhjMCwweDBjLDB4ZDAsMHgwMywweDJjLDB4ODAgfSwKLSAgMTYsIDB4ZDVkMCwgMCwgezB4Y2EsMHgwMCwweDMyLDB4YzAsMHgwYywweDMwLDB4MDMsMHgwMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDVlMCwgMCwgezB4YTAsMHgxOSwweGZjLDB4MDAsMHhmZiwweDIwLDB4M2UsMHhjYSwweDBlLDB4YjAsMHgwMywweGVjLDB4MjAsMHhkYiwweDM0LDB4M2EgfSwKLSAgMTYsIDB4ZDVmMCwgMCwgezB4YzgsMHgwZiwweDgwLDB4MDMsMHhlNCwweDEwLDB4ZGIsMHgyMSwweDNlLDB4MTgsMHgwZCwweGYyLDB4MDMsMHhmYywweDgwLDB4ZmYgfSwKLSAgMTYsIDB4ZDYwMCwgMCwgezB4MzAsMHgzNSwweGMwLDB4MGYsMHhjMCwweDEzLDB4ZWMsMHgwMCwweGZmLDB4MDAsMHgzYiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZTggfSwKLSAgMTYsIDB4ZDYxMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MTEsMHhmYywweDAwLDB4ZmIsMHgwYiwweDJmLDB4Y2EgfSwKLSAgMTYsIDB4ZDYyMCwgMCwgezB4OGQsMHhmMiwweDAzLDB4ZmEsMHgwMCwweDk2LDB4ODAsMHgzYiwweGM0LDB4MGQsMHhmMSwweDAzLDB4N2MsMHg4MCwweGVjLDB4ODAgfSwKLSAgMTYsIDB4ZDYzMCwgMCwgezB4M2IsMHgwOCwweDBjLDB4YzIsMHgwMywweDc0LDB4MDIsMHhjYywweDgwLDB4M2YsMHg0OCwweDBlLDB4ZjAsMHgwMywweDMwLDB4YTAgfSwKLSAgMTYsIDB4ZDY0MCwgMCwgezB4ZDUsMHg4MCwweDNmLDB4NDAsMHgwYywweGY4LDB4MDMsMHhmMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDY1MCwgMCwgezB4ODAsMHgwOCwweGVlLDB4NDAsMHhiZiwweDgwLDB4MmYsMHhmMCwweDBiLDB4ZjcsMHgyMiwweGVlLDB4MjAsMHg4YSwweDgwLDB4MjMgfSwKLSAgMTYsIDB4ZDY2MCwgMCwgezB4ZmMsMHg4OCwweDc1LDB4MTIsMHgzZCwweDAwLDB4ODgsMHgwMCwweDIyLDB4MDAsMHgyOCwweDgwLDB4MDIsMHgyNCwweDA4LDB4ODggfSwKLSAgMTYsIDB4ZDY3MCwgMCwgezB4MDAsMHg2ZiwweDUwLDB4MDAsMHhmNSwweDAyLDB4MjksMHgwMCwweDg5LDB4MDAsMHgyZSwweDU0LDB4MGQsMHg5MCwweDExLDB4YTAgfSwKLSAgMTYsIDB4ZDY4MCwgMCwgezB4MDQsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDAwLDB4YjMsMHgwMCwweDJjLDB4YzEgfSwKLSAgMTYsIDB4ZDY5MCwgMCwgezB4MDksMHgzMCwweDgyLDB4Y2MsMHg4MiwweGJiLDB4MDAsMHgyOCwweGMwLDB4NDksMHgzMiwweDAyLDB4Y2QsMHgwMCwweGI4LDB4MDAgfSwKLSAgMTYsIDB4ZDZhMCwgMCwgezB4MmMsMHg1MCwweDA5LDB4MDEsMHgwMiwweDBjLDB4NDAsMHg4MCwweDAwLDB4NmMsMHg0NCwweDA5LDB4MzAsMHgwMiwweDIwLDB4MDAgfSwKLSAgMTYsIDB4ZDZiMCwgMCwgezB4YjAsMHgwMCwweDJjLDB4NDAsMHgxOCwweDMwLDB4MDYsMHhlMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDZjMCwgMCwgezB4YzAsMHgwMSwweGFjLDB4MDAsMHhiYiwweDAxLDB4MmUsMHhjMCwweDBiLDB4YjAsMHgwMiwweGVlLDB4MDAsMHhhYSwweDAwLDB4NGEgfSwKLSAgMTYsIDB4ZDZkMCwgMCwgezB4YzAsMHgwOCwweGIwLDB4NTIsMHhlYywweDAwLDB4OTgsMHgwMiwweDI2LDB4NDAsMHgwOSwweDgwLDB4MDIsMHg2YywweDAxLDB4YWEgfSwKLSAgMTYsIDB4ZDZlMCwgMCwgezB4MDQsMHgyZSwweDQwLDB4MDksMHhiMCwweDAyLDB4MjIsMHgwMCwweGE5LDB4ODAsMHgyZSwweDQxLDB4MDksMHg5MCwweDAyLDB4ZjAgfSwKLSAgMTYsIDB4ZDZmMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDUsMHhlYywweDAwLDB4ZmIsMHgwMCwweDNlLDB4YzAgfSwKLSAgMTYsIDB4ZDcwMCwgMCwgezB4MGQsMHhiMCwweDAzLDB4Y2UsMHg4NCwweGZhLDB4MDAsMHgxYSwweGMwLDB4OGQsMHhiMCwweDQzLDB4ZWMsMHgwMCwweGYwLDB4MDIgfSwKLSAgMTYsIDB4ZDcxMCwgMCwgezB4M2YsMHgwMCwweDBkLDB4ZDEsMHgwMywweDM1LDB4MDAsMHhjYiwweDQ4LDB4MmUsMHg0MCwweDJmLDB4YjAsMHgwOSwweDIyLDB4ODAgfSwKLSAgMTYsIDB4ZDcyMCwgMCwgezB4ZjksMHhjOCwweDFlLDB4ZTAsMHgwOCwweGIxLDB4ZTIsMHhkMCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDczMCwgMCwgezB4ZTAsMHgwMSwweGJjLDB4MDAsMHg3YiwweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgyMywweGZjLDB4MDAsMHhkZSwweDAwLDB4MjQgfSwKLSAgMTYsIDB4ZDc0MCwgMCwgezB4YzAsMHg0ZiwweGYwLDB4MDMsMHgyYywweDAwLDB4ZWMsMHgyMCwweDNiLDB4MDAsMHgwZSwweDk4LDB4MDMsMHg5NCwweDAyLDB4ZGQgfSwKLSAgMTYsIDB4ZDc1MCwgMCwgezB4MDAsMHgzZiwweDQwLDB4NGUsMHhmMCwweDAxLDB4ZjgsMHgwMCwweGRkLDB4MDAsMHgzYywweGU0LDB4MGYsMHhkOCwweDAzLDB4YjggfSwKLSAgMTYsIDB4ZDc2MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDAsMHhhYywweGMwLDB4ZmIsMHgyMCwweDMyLDB4YzggfSwKLSAgMTYsIDB4ZDc3MCwgMCwgezB4OGQsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGY5LDB4MDAsMHgzYSwweGMyLDB4MmMsMHgzMCwweDAzLDB4NmMsMHgwNCwweGQ4LDB4MDIgfSwKLSAgMTYsIDB4ZDc4MCwgMCwgezB4M2MsMHg0NCwweDhkLDB4MTAsMHgwMywweGFkLDB4MDMsMHhlYSwweDAwLDB4M2MsMHg0MCwweDBjLDB4NzAsMHgyMywweGU0LDB4MDAgfSwKLSAgMTYsIDB4ZDc5MCwgMCwgezB4YzgsMHg0MCwweDNhLDB4YzAsMHgwZCwweGJjLDB4MDMsMHg1MCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDdhMCwgMCwgezB4YzgsMHgwMSwweDNkLDB4MDAsMHhiZiwweDQyLDB4MjMsMHhmMCwweDBkLDB4ZjAsMHgwMiwweGU1LDB4MDAsMHhlMiwweDAxLDB4MzcgfSwKLSAgMTYsIDB4ZDdiMCwgMCwgezB4ZjEsMHgwOCwweGYwLDB4MGUsMHgzZCwweGMwLDB4YTgsMHgwMCwweDJlLDB4NTQsMHgyOCwweDkwLDB4MDIsMHgyYywweDAwLDB4OGEgfSwKLSAgMTYsIDB4ZDdjMCwgMCwgezB4MDUsMHgzYiwweDQxLDB4NDgsMHhmNSwweDAzLDB4OGMsMHgwMCwweDg5LDB4MDAsMHgyMiwweGQ0LDB4MGUsMHg5NSwweDAyLDB4ZjIgfSwKLSAgMTYsIDB4ZDdkMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0YywweDAwLDB4YjMsMHgwNCwweDIwLDB4YzAgfSwKLSAgMTYsIDB4ZDdlMCwgMCwgezB4ODksMHgzMCwweDAyLDB4Y2MsMHg0MCwweGIyLDB4MDAsMHgyYywweGM0LDB4NDgsMHgzMCwweDAyLDB4MmMsMHgwMiwweGEyLDB4MDAgfSwKLSAgMTYsIDB4ZDdmMCwgMCwgezB4MmMsMHgyMCwweDE5LDB4MjAsMHgxYSwweDgwLDB4MDgsMHhiMCwweDAwLDB4NmMsMHg0MCwweDA4LDB4MzAsMHgwMiwweGM0LDB4MDAgfSwKLSAgMTYsIDB4ZDgwMCwgMCwgezB4ODEsMHgwMCwweDJjLDB4NDAsMHgwOCwweDMwLDB4MDIsMHhmOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDgxMCwgMCwgezB4MjAsMHgwMSwweDFlLDB4MDAsMHhiNywweGEwLDB4ZTEsMHhlMCwweDA5LDB4NzgsMHgwMiwweGRmLDB4MDQsMHhhZSwweDgwLDB4MmQgfSwKLSAgMTYsIDB4ZDgyMCwgMCwgezB4ZTAsMHgwOCwweDc5LDB4MDIsMHgxZSwweDEwLDB4ODcsMHg5MCwweDJjLDB4MjgsMHgyOSwweDY4LDB4MDIsMHg4MiwweDgxLDB4YjQgfSwKLSAgMTYsIDB4ZDgzMCwgMCwgezB4ODAsMHgyZCwweDYwLDB4MDgsMHg3OCwweDEwLDB4YmMsMHgwMCwweDhmLDB4ODAsMHgyZCwweDYwLDB4MGIsMHg2OCwweDAyLDB4YzggfSwKLSAgMTYsIDB4ZDg0MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDAsMHgwYywweDA1LDB4ZjMsMHg5MiwweDMwLDB4Y2EgfSwKLSAgMTYsIDB4ZDg1MCwgMCwgezB4MGQsMHgzMCwweDAzLDB4Y2MsMHgwMCwweGYzLDB4MDAsMHgzYywweGMwLDB4MGMsMHgzMCwweDAyLDB4MGMsMHg4MCwweDcwLDB4MDAgfSwKLSAgMTYsIDB4ZDg2MCwgMCwgezB4MmMsMHg0MCwweDBkLDB4MjAsMHgwMywweDg5LDB4MDAsMHhiMSwweDAwLDB4M2UsMHg0MCwweDJjLDB4MzAsMHgwMywweGVjLDB4NTAgfSwKLSAgMTYsIDB4ZDg3MCwgMCwgezB4YzMsMHgyMCwweDNjLDB4NDAsMHgwYywweDMwLDB4MDMsMHhkMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDg4MCwgMCwgezB4NDAsMHgxZCwweGJjLDB4MDAsMHhmZiwweDAwLDB4M2MsMHhjMCwweDBlLDB4YjAsMHg4MywweGVjLDB4NDAsMHhlYSwweDAwLDB4MzYgfSwKLSAgMTYsIDB4ZDg5MCwgMCwgezB4YzIsMHgwZiwweGIwLDB4ODMsMHhhYywweDAwLDB4ZjgsMHgwMCwweDNlLDB4NDgsMHgwZSwweGUwLDB4MGIsMHg3YSwweDgwLDB4Y2YgfSwKLSAgMTYsIDB4ZDhhMCwgMCwgezB4MDAsMHgzYiwweDQ0LDB4MGYsMHhmMCwweDAzLDB4ZWMsMHhjMCwweGZmLDB4MDAsMHgwMywweDQ0LDB4MGUsMHhlMCwweDAzLDB4ZDAgfSwKLSAgMTYsIDB4ZDhiMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlYywweDAwLDB4ZmIsMHgyMywweDNlLDB4YzggfSwKLSAgMTYsIDB4ZDhjMCwgMCwgezB4MWQsMHhiMCwweDAzLDB4ZWUsMHgwMCwweGNhLDB4MDAsMHgzZSwweGM4LDB4MGMsMHhiMiwweDAzLDB4MmQsMHg5MCwweGM4LDB4ODQgfSwKLSAgMTYsIDB4ZDhkMCwgMCwgezB4MzYsMHgwMCwweDJkLDB4YjAsMHgwMywweDYwLDB4MTgsMHg5YiwweDgwLDB4MzMsMHg1MCwweDBjLDB4ZjIsMHgwMywweGUyLDB4MDAgfSwKLSAgMTYsIDB4ZDhlMCwgMCwgezB4YzksMHg4MCwweDMyLDB4NDAsMHgwYywweGI4LDB4MDMsMHgyYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDhmMCwgMCwgezB4NDgsMHgxMSwweDljLDB4MDAsMHhiNywweDI4LDB4MGMsMHhkMiwweDI4LDB4NzMsMHgwMiwweGZjLDB4MDAsMHg4NiwweDA0LDB4MmMgfSwKLSAgMTYsIDB4ZDkwMCwgMCwgezB4Y2MsMHgyOCwweDcwLDB4ODMsMHgwYywweDIwLDB4OTUsMHgwMSwweDIwLDB4MDAsMHgwOSwweDMwLDB4MTIsMHgxMCwweDA0LDB4ODUgfSwKLSAgMTYsIDB4ZDkxMCwgMCwgezB4MDAsMHgyMSwweDUyLDB4MDgsMHg3NSwweDAyLDB4ZDgsMHgwMCwweDg3LDB4MDAsMHgyMSwweDQwLDB4MDgsMHg2MCwweDAyLDB4MTIgfSwKLSAgMTYsIDB4ZDkyMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZSwweGQ0LDB4YjcsMHhiMSwweDA5LDB4ZTEgfSwKLSAgMTYsIDB4ZDkzMCwgMCwgezB4MDgsMHg3OCwweDIyLDB4ZGUsMHgwMCwweDk1LDB4ODAsMHgyZCwweGUwLDB4MDgsMHg3OCwweDBhLDB4NWUsMHg0MiwweDk0LDB4YzAgfSwKLSAgMTYsIDB4ZDk0MCwgMCwgezB4MjEsMHg2MCwweDA4LDB4NzgsMHgwMiwweDVhLDB4MDAsMHg4NywweDgwLDB4MmQsMHg2OCwweDA4LDB4N2EsMHgwMiwweGQ3LDB4MDAgfSwKLSAgMTYsIDB4ZDk1MCwgMCwgezB4OTcsMHg4MCwweDIwLDB4NjAsMHgwOSwweDc4LDB4MDIsMHgzMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDk2MCwgMCwgezB4NDgsMHgxMCwweGNjLDB4MDAsMHhiMywweDAwLDB4MmMsMHhjMCwweDA4LDB4YjAsMHgwMiwweGNkLDB4ODAsMHg5MiwweDAwLDB4MmMgfSwKLSAgMTYsIDB4ZDk3MCwgMCwgezB4YzAsMHgwOCwweGIwLDB4MDIsMHhjYywweDAwLDB4OTAsMHg4MCwweGEwLDB4NDAsMHgwOSwweDM2LDB4MDIsMHg0OCwweDAyLDB4ODMgfSwKLSAgMTYsIDB4ZDk4MCwgMCwgezB4YTAsMHhhYywweDQwLDB4MmEsMHgzMCwweDA2LDB4Y2UsMHgwMiwweDkzLDB4MDQsMHhhMCwweDQwLDB4MDksMHgyMCwweDBhLDB4MTIgfSwKLSAgMTYsIDB4ZDk5MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOCwweDAwLDB4ZmEsMHgwMCwweDNhLDB4ODAgfSwKLSAgMTYsIDB4ZDlhMCwgMCwgezB4MGQsMHhhMCwweDAzLDB4ZmIsMHgwMiwweGRlLDB4ODAsMHgzZSwweDgwLDB4MGMsMHhhMCwweDAzLDB4MjgsMHgwMCwweGNlLDB4ODAgfSwKLSAgMTYsIDB4ZDliMCwgMCwgezB4MzIsMHg4MCwweDBjLDB4YTQsMHgwMywweDc4LDB4MDAsMHhjZSwweGE0LDB4M2YsMHg4MCwweDBjLDB4YTAsMHgwNywweGY5LDB4MDAgfSwKLSAgMTYsIDB4ZDljMCwgMCwgezB4ZGUsMHgwMCwweDMyLDB4ODAsMHgyZCwweGUwLDB4MDIsMHgzYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDlkMCwgMCwgezB4NDgsMHgwMCwweGUxLDB4MDAsMHhmOCwweDAwLDB4N2MsMHgwMCwweDBmLDB4ODAsMHgwMywweGUwLDB4NDAsMHhlOCwweDEwLDB4M2MgfSwKLSAgMTYsIDB4ZDllMCwgMCwgezB4MDEsMHhjZiwweDgwLDB4MGYsMHgyMCwweDAwLDB4ZTgsMHgwMCwweDNlLDB4MDAsMHgwZSwweDA0LDB4MDMsMHg5MCwweDAwLDB4ZTggfSwKLSAgMTYsIDB4ZDlmMCwgMCwgezB4MDAsMHgyMCwweDAwLDB4MGQsMHg4MCwweDA3LDB4ZTAsMHgwMCwweGU4LDB4MDAsMHgzZSwweDA0LDB4MGUsMHg4MCwweDAzLDB4ZDIgfSwKLSAgMTYsIDB4ZGEwMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDAwLDB4ZjksMHgxMCwweDdlLDB4NDEgfSwKLSAgMTYsIDB4ZGExMCwgMCwgezB4MGUsMHg5MCwweDAzLDB4MjQsMHgwMCwweGY5LDB4MDAsMHgzNiwweDY4LDB4MGUsMHg5MCwweDBmLDB4YTQsMHgwOCwweGM5LDB4MDAgfSwKLSAgMTYsIDB4ZGEyMCwgMCwgezB4M2EsMHg0MCwweDBjLDB4OTAsMHgwYiwweDI0LDB4MTIsMHhlOSwweDAwLDB4M2UsMHg0NCwweDJjLDB4OTAsMHgwMywweDY0LDB4MjQgfSwKLSAgMTYsIDB4ZGEzMCwgMCwgezB4ZjksMHgwMiwweDJlLDB4NDAsMHgwYywweDkwLDB4MDMsMHhjMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGE0MCwgMCwgezB4ODAsMHgwNCwweDY1LDB4MTAsMHhiOSwweDgwLDB4M2UsMHg0MCwweDA4LDB4OTAsMHgwYSwweDI2LDB4MDAsMHhiMSwweDEwLDB4MmEgfSwKLSAgMTYsIDB4ZGE1MCwgMCwgezB4NzIsMHgwOCwweDkwLDB4MDcsMHg2NCwweDAyLDB4ODksMHg0MCwweDJlLDB4NDAsMHgyOCwweDkwLDB4MTIsMHgyNSwweDAwLDB4ODkgfSwKLSAgMTYsIDB4ZGE2MCwgMCwgezB4NDUsMHgzZSwweDUwLDB4MGQsMHg5MCwweDBhLDB4MjUsMHgwMCwweGI5LDB4NDAsMHgyZSwweDQwLDB4MjgsMHg5NCwweDAzLDB4ZTAgfSwKLSAgMTYsIDB4ZGE3MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDAwLDB4YjksMHgwMCwweDJlLDB4NDAgfSwKLSAgMTYsIDB4ZGE4MCwgMCwgezB4NDgsMHg5MCwweDQyLDB4MjYsMHgwMSwweGI5LDB4NDAsMHgyNiwweDQwLDB4MGEsMHg5MCwweDQyLDB4ODQsMHgwMSwweDhiLDB4MDggfSwKLSAgMTYsIDB4ZGE5MCwgMCwgezB4MmMsMHg0MCwweDA5LDB4ZDAsMHg4MiwweDM0LDB4MzIsMHhhOSwweDA4LDB4NmUsMHg0MiwweDA4LDB4MTAsMHgwMiwweDI0LDB4MjAgfSwKLSAgMTYsIDB4ZGFhMCwgMCwgezB4YjksMHgwOCwweDJjLDB4NDAsMHgxOCwweDkwLDB4ODIsMHhjNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGFiMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4ODAsMHhiMywweDIwLDB4MjgsMHg0OCwweDA4LDB4MTIsMHgwMiwweDA0LDB4MDEsMHhiMSwweDAwLDB4MjggfSwKLSAgMTYsIDB4ZGFjMCwgMCwgezB4NTgsMHgwOCwweDEyLDB4MDIsMHgwNSwweDg5LDB4ODEsMHg0MCwweDJjLDB4NTgsMHgwOCwweDU2LDB4MDYsMHgxNSwweDgwLDB4ODEgfSwKLSAgMTYsIDB4ZGFkMCwgMCwgezB4NDAsMHgyOCwweDUwLDB4MDksMHgxNCwweDAyLDB4MDUsMHg4MCwweGIxLDB4NDAsMHgyYywweDVhLDB4MDgsMHgxNCwweDAyLDB4YzIgfSwKLSAgMTYsIDB4ZGFlMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2OCwweDAwLDB4ZjgsMHgwMCwweDJlLDB4MDAgfSwKLSAgMTYsIDB4ZGFmMCwgMCwgezB4MmUsMHg4NSwweDAzLDB4MjEsMHg0OCwweGY4LDB4MDAsMHgzNiwweDAwLDB4OGUsMHgwNSwweDAyLDB4YTAsMHgwOCwweDgwLDB4MDAgfSwKLSAgMTYsIDB4ZGIwMCwgMCwgezB4M2UsMHgwMCwweDBkLDB4ODAsMHgwYiwweDEwLDB4MDQsMHhlMCwweDAwLDB4MmMsMHgwMCwweDRjLDB4ODAsMHgwMywweDQwLDB4MDAgfSwKLSAgMTYsIDB4ZGIxMCwgMCwgezB4ZjAsMHgwMCwweDNlLDB4MDgsMHgwYywweDAwLDB4MDMsMHhlZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGIyMCwgMCwgezB4OTgsMHgxZCwweGU0LDB4NDAsMHhmOSwweDEwLDB4M2UsMHg0NCwweDBmLDB4OTEsMHgwMywweGY0LDB4MDAsMHhmZCwweDAwLDB4M2UgfSwKLSAgMTYsIDB4ZGIzMCwgMCwgezB4NDQsMHgwZiwweDkxLDB4MDMsMHhlNCwweDQwLDB4ZmQsMHgwMywweDNmLDB4NDQsMHgxZiwweDkxLDB4MWIsMHhlNCwweDQwLDB4ZmQgfSwKLSAgMTYsIDB4ZGI0MCwgMCwgezB4MDEsMHgzZiwweDUwLDB4MGUsMHg5NCwweDAzLDB4ZjQsMHg0MCwweGZkLDB4MDAsMHgzZiwweDQwLDB4MGYsMHhkMCwweDAzLDB4YTYgfSwKLSAgMTYsIDB4ZGI1MCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MTUsMHhmNCwweDAwLDB4Y2QsMHhhMCwweDcxLDB4NjggfSwKLSAgMTYsIDB4ZGI2MCwgMCwgezB4OGQsMHg5OCwweDAzLDB4ZDQsMHgwMCwweGNkLDB4MDAsMHgzMywweDYwLDB4MGMsMHg5OCwweDhmLDB4MjcsMHgyMCwweGM5LDB4NDAgfSwKLSAgMTYsIDB4ZGI3MCwgMCwgezB4M2UsMHg3OCwweDBjLDB4OWUsMHg4YiwweDI3LDB4MjAsMHhkMSwweDExLDB4MzAsMHg2MCwweDhjLDB4OWMsMHgwMywweDI1LDB4MDAgfSwKLSAgMTYsIDB4ZGI4MCwgMCwgezB4ZjksMHg0MCwweDNlLDB4NzgsMHgwZiwweDkwLDB4MDMsMHg0NiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGI5MCwgMCwgezB4MzgsMHgxMCwweGUwLDB4MTAsMHg4OCwweDAxLDB4MjIsMHgwMSwweDA4LDB4OGMsMHgyMiwweGU4LDB4MDAsMHg4OCwweDAyLDB4MmEgfSwKLSAgMTYsIDB4ZGJhMCwgMCwgezB4MTQsMHgwOCwweDhjLDB4MGIsMHgyMywweDkwLDB4ODgsMHhhMCwweDJlLDB4YjAsMHgwOCwweDhjLDB4NDIsMHgyMywweDAwLDB4ODggfSwKLSAgMTYsIDB4ZGJiMCwgMCwgezB4YTAsMHgzNiwweDJhLDB4MTgsMHg4YSwweDAyLDB4MjIsMHgwMCwweGI4LDB4YTAsMHgyZSwweDM0LDB4MGIsMHhjYSwweDgyLDB4MGUgfSwKLSAgMTYsIDB4ZGJjMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweDAwLDB4ODEsMHg0MCwweDI0LDB4NTAgfSwKLSAgMTYsIDB4ZGJkMCwgMCwgezB4MDksMHgxNiwweDgyLDB4YzQsMHgwMCwweGE5LDB4MDAsMHgyMCwweDQwLDB4MDgsMHgxMiwweDkyLDB4NTQsMHgwOCwweDg1LDB4MDAgfSwKLSAgMTYsIDB4ZGJlMCwgMCwgezB4MmYsMHg0YywweDA5LDB4NTIsMHgxMiwweDE0LDB4ODAsMHg5ZCwweDAwLDB4MjEsMHg1MCwweDA4LDB4NTQsMHgyMiwweDE0LDB4ODAgfSwKLSAgMTYsIDB4ZGJmMCwgMCwgezB4YjUsMHgwMCwweDJkLDB4NDgsMHgwYiwweGQwLDB4MDIsMHg0MiwweDA1LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGMwMCwgMCwgezB4MTgsMHgwNSwweGE0LDB4MDIsMHg4OSwweDAxLDB4YTIsMHg0MCwweDQ4LDB4OTAsMHgwMiwweGU0LDB4MDIsMHhhOSwweDAwLDB4MmEgfSwKLSAgMTYsIDB4ZGMxMCwgMCwgezB4NDAsMHg2OCwweDkwLDB4MDIsMHg2NCwweDEwLDB4YWQsMHgwMCwweDJmLDB4NDEsMHgyOCwweDUwLDB4MDIsMHgzNCwweDAwLDB4OGQgfSwKLSAgMTYsIDB4ZGMyMCwgMCwgezB4NDQsMHgyNywweDQwLDB4MzksMHhkMCwweDAyLDB4MzUsMHgwMCwweGJkLDB4MTQsMHgyZiwweDQwLDB4MGIsMHhkMCwweDAyLDB4NDYgfSwKLSAgMTYsIDB4ZGMzMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MDUsMHhjNCwweDAwLDB4YzksMHgwMCwweDM2LDB4NDAgfSwKLSAgMTYsIDB4ZGM0MCwgMCwgezB4MmQsMHg5MCwweDAzLDB4ZTcsMHgwMCwweGUxLDB4ZTAsMHgzMiwweDQwLDB4MGMsMHg5MCwweDBiLDB4NjQsMHgwMiwweGM5LDB4MDggfSwKLSAgMTYsIDB4ZGM1MCwgMCwgezB4M2MsMHg1MCwweDBjLDB4OTAsMHgwMiwweDI2LDB4MDIsMHhkOSwweGMwLDB4MzIsMHg0MCwweDBjLDB4OTAsMHgxMywweDI3LDB4MDAgfSwKLSAgMTYsIDB4ZGM2MCwgMCwgezB4ZjksMHgyMCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHg2OCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGM3MCwgMCwgezB4MjgsMHgwMSwweGE0LDB4MDIsMHhmOSwweDAwLDB4MzgsMHg0MCwweDBmLDB4OTAsMHgwMywweGU2LDB4ODAsMHhkOSwweGEwLDB4M2MgfSwKLSAgMTYsIDB4ZGM4MCwgMCwgezB4NDAsMHgwZiwweDEwLDB4MDMsMHhhNCwweDAwLDB4ZDksMHgxMCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhjNCwweDkyLDB4ZjkgfSwKLSAgMTYsIDB4ZGM5MCwgMCwgezB4MjEsMHgzYywweDQwLDB4MmUsMHg5MCwweDBmLDB4ZTYsMHg4MCwweGY5LDB4ODAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4OGEgfSwKLSAgMTYsIDB4ZGNhMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDAsMHhhMCwweDQwLDB4ZTgsMHgxMCwweDNlLDB4MDQgfSwKLSAgMTYsIDB4ZGNiMCwgMCwgezB4NGUsMHg4MCwweDAzLDB4MjAsMHg4MCwweGQ4LDB4NjAsMHgzYSwweDAyLDB4MGMsMHg4MCwweDEzLDB4MjAsMHgwMCwweGY4LDB4NDAgfSwKLSAgMTYsIDB4ZGNjMCwgMCwgezB4MzYsMHgxMCwweDJkLDB4ODAsMHgwMywweGEwLDB4MDgsMHhlOCwweDQwLDB4MzIsMHgwMCwweDBkLDB4MDAsMHgwMywweDIxLDB4MDIgfSwKLSAgMTYsIDB4ZGNkMCwgMCwgezB4YzgsMHg0MCwweGIyLDB4MDAsMHgwZiwweGMwLDB4MDMsMHhjYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGNlMCwgMCwgezB4MjgsMHgxMSwweDNiLDB4MTAsMHg4NiwweDAxLDB4MmYsMHhhMCwweDBkLDB4YTAsMHgwMiwweDM4LDB4MDAsMHg4ZSwweGUwLDB4MjMgfSwKLSAgMTYsIDB4ZGNmMCwgMCwgezB4YTIsMHgwOCwweGEwLDB4MDIsMHgyOCwweDAwLDB4YmEsMHg4MCwweDIyLDB4ODAsMHgwOCwweGEwLDB4MDIsMHgyOCwweDAwLDB4ODIgfSwKLSAgMTYsIDB4ZGQwMCwgMCwgezB4MDAsMHgyYSwweDgwLDB4MjgsMHhhMCwweDAyLDB4MmEsMHgwNCwweDhhLDB4ODAsMHgyMiwweGEwLDB4MGIsMHg2MCwweDAyLDB4Y2EgfSwKLSAgMTYsIDB4ZGQxMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0MywweDgwLDB4YTIsMHgwMCwweDJjLDB4YTAgfSwKLSAgMTYsIDB4ZGQyMCwgMCwgezB4MDgsMHgzMCwweDAyLDB4MmUsMHgwMCwweDkyLDB4MDAsMHgyOCwweGMwLDB4MjgsMHgzMCwweDAyLDB4MmMsMHgwMCwweGIzLDB4ODAgfSwKLSAgMTYsIDB4ZGQzMCwgMCwgezB4MjQsMHhjMCwweDA5LDB4MzAsMHgwYSwweDhjLDB4MDAsMHhhMywweDAwLDB4NjAsMHhjMCwweDA4LDB4MzAsMHgwYSwweDRjLDB4MDAgfSwKLSAgMTYsIDB4ZGQ0MCwgMCwgezB4ODMsMHgwMCwweDIwLDB4ZTAsMHgwYiwweDIwLDB4MDIsMHhjYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGQ1MCwgMCwgezB4YTAsMHgwMSwweDEwLDB4MDAsMHg4NiwweDAwLDB4MmQsMHhjMCwweDA5LDB4M2EsMHgwMiwweDM1LDB4MDAsMHg4NiwweDAwLDB4MjEgfSwKLSAgMTYsIDB4ZGQ2MCwgMCwgezB4YzAsMHgwOCwweDczLDB4MDIsMHgxMCwweDAwLDB4YmYsMHg4OCwweDIxLDB4MDAsMHgwOCwweDcwLDB4MDIsMHgxYywweDA4LDB4OGYgfSwKLSAgMTYsIDB4ZGQ3MCwgMCwgezB4MDAsMHgyYiwweGMwLDB4MDgsMHgyMCwweDEyLDB4NWUsMHgyMCwweDg3LDB4ODgsMHgyMSwweDgzLDB4MGIsMHg2MCwweDAyLDB4ZTggfSwKLSAgMTYsIDB4ZGQ4MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxMiwweDAwLDB4ZTUsMHg4MSwweDNkLDB4YTAgfSwKLSAgMTYsIDB4ZGQ5MCwgMCwgezB4MmMsMHg3YSwweDBiLDB4MWUsMHgwMCwweGQ0LDB4ODAsMHgzOCwweGUwLDB4MGMsMHhmYSwweDBiLDB4MWUsMHgwMCwweGY2LDB4ODAgfSwKLSAgMTYsIDB4ZGRhMCwgMCwgezB4MzQsMHhlMCwweDBkLDB4MjgsMHgwMywweDhhLDB4MDAsMHhlNiwweDgwLDB4MzEsMHgyMCwweDBjLDB4NzgsMHgwMywweDdhLDB4MDQgfSwKLSAgMTYsIDB4ZGRiMCwgMCwgezB4Y2UsMHg4NCwweDMxLDB4ZTAsMHg0ZiwweDc4LDB4NDMsMHhlYSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGRjMCwgMCwgezB4MDgsMHgwZCwweDgwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHhjMCwweDBmLDB4YjUsMHgyMywweGU0LDB4MDAsMHhmMCwweDA0LDB4MzYgfSwKLSAgMTYsIDB4ZGRkMCwgMCwgezB4NDAsMHgwZiwweGI2LDB4ODcsMHhlMCwweDAwLDB4ZjIsMHgwMCwweDNlLDB4MDAsMHgxZiwweGEwLDB4MGIsMHhlOCwweDAwLDB4ZmEgfSwKLSAgMTYsIDB4ZGRlMCwgMCwgezB4MDAsMHgzZSwweDAwLDB4MGUsMHhhMCwweDAzLDB4YTgsMHgwMCwweGZhLDB4MDAsMHgzZSwweDgwLDB4MGYsMHhiMCwweDAzLDB4YzIgfSwKLSAgMTYsIDB4ZGRmMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmNiwweDAwLDB4Y2MsMHg4MCwweDMzLDB4YTAgfSwKLSAgMTYsIDB4ZGUwMCwgMCwgezB4MGMsMHhmYywweDAzLDB4M2UsMHgwMCwweGZjLDB4ODAsMHgzNywweGUwLDB4MGYsMHhiOSwweDIxLDB4M2UsMHgwMCwweGZkLDB4ODIgfSwKLSAgMTYsIDB4ZGUxMCwgMCwgezB4MzMsMHhlMCwweDJjLDB4ZjgsMHgwMywweDdlLDB4MTAsMHhkZiwweDg0LDB4M2QsMHhlMCwweDBjLDB4ZjgsMHgwMywweGY2LDB4MDAgfSwKLSAgMTYsIDB4ZGUyMCwgMCwgezB4ZmQsMHg4MCwweDNmLDB4NjAsMHgwYywweGU4LDB4MjMsMHgwMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGUzMCwgMCwgezB4YTgsMHgxMSwweDk4LDB4NDAsMHg4NCwweDEwLDB4MjEsMHhjMCwweDA4LDB4NzAsMHgwMiwweDEwLDB4ODAsMHhiNCwweDAwLDB4MjEgfSwKLSAgMTYsIDB4ZGU0MCwgMCwgezB4YzgsMHgwYiwweDdhLDB4MDIsMHgxMCwweDAwLDB4ZmQsMHgwMCwweDIxLDB4MDQsMHgwOCwweDcwLDB4MDIsMHgxYywweDQyLDB4ODcgfSwKLSAgMTYsIDB4ZGU1MCwgMCwgezB4MDAsMHgyZCwweGM0LDB4NDgsMHg2MSwweDAyLDB4ZDYsMHg4MCwweGI1LDB4MDAsMHgyZiwweDA0LDB4MDgsMHg2MSwweDgyLDB4MmEgfSwKLSAgMTYsIDB4ZGU2MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5MCwweDAwLDB4ODEsMHgwMCwweDIxLDB4ODAgfSwKLSAgMTYsIDB4ZGU3MCwgMCwgezB4MDgsMHgzMCwweDAyLDB4MWMsMHgxMCwweGJjLDB4MDgsMHgyNSwweDgwLDB4NGIsMHgzMCwweDBlLDB4MWMsMHgwMCwweGI0LDB4MDAgfSwKLSAgMTYsIDB4ZGU4MCwgMCwgezB4MjAsMHhjMCwweDA4LDB4MjAsMHgwMiwweDU4LDB4MDAsMHg5NiwweDAwLDB4MmYsMHgwMCwweDBhLDB4NzAsMHgwMiwweGQwLDB4ODAgfSwKLSAgMTYsIDB4ZGU5MCwgMCwgezB4YjQsMHgxOCwweDJkLDB4NDAsMHgwOSwweGY4LDB4MDIsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGVhMCwgMCwgezB4MjAsMHgxNCwweGM4LDB4MDIsMHg4MCwweDAwLDB4YTAsMHhjMCwweDA4LDB4MzAsMHgyMiwweDBiLDB4YzAsMHhiMCwweGMwLDB4MjIgfSwKLSAgMTYsIDB4ZGViMCwgMCwgezB4ODAsMHgwYiwweDMwLDB4MDIsMHgwMCwweDAwLDB4YTAsMHgwNCwweDIyLDB4MDAsMHgyOCwweGEwLDB4MDIsMHgyYiwweDAwLDB4OGEgfSwKLSAgMTYsIDB4ZGVjMCwgMCwgezB4MDAsMHgyYywweDAwLDB4MDgsMHhhMCwweDA2LDB4YzAsMHgwMCwweGIwLDB4YzIsMHgyYywweDAwLDB4MDksMHhiYywweDFhLDB4MDggfSwKLSAgMTYsIDB4ZGVkMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhhMCwweDAwLDB4YzgsMHgwMCwweDMyLDB4YzAgfSwKLSAgMTYsIDB4ZGVlMCwgMCwgezB4MGMsMHhmMCwweDBiLDB4MjYsMHgwMCwweGY5LDB4YzAsMHgzNiwweDAwLDB4MGYsMHhmMCwweDEzLDB4MmMsMHgxMCwweGJiLDB4NDAgfSwKLSAgMTYsIDB4ZGVmMCwgMCwgezB4ZjIsMHhjMCwweDA4LDB4OTAsMHgwMywweDY3LDB4MDAsMHhkOSwweDgwLDB4M2UsMHhjMCwweDA4LDB4OTAsMHgwMiwweGVjLDB4MDAgfSwKLSAgMTYsIDB4ZGYwMCwgMCwgezB4ZmIsMHhkMCwweDNlLDB4YzAsMHgyOSwweDhjLDB4MDAsMHgyYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGYxMCwgMCwgezB4ODAsMHgwMCwweGUwLDB4MDAsMHhmOCwweDQ0LDB4M2MsMHhkMCwweDJmLDB4YjAsMHgwMywweGU0LDB4MDAsMHhmOSwweDIwLDB4M2UgfSwKLSAgMTYsIDB4ZGYyMCwgMCwgezB4NDAsMHgwZiwweDMwLDB4MDMsMHhlMCwweDAwLDB4ZmIsMHgwOCwweDNlLDB4MDAsMHgwZiwweDkwLDB4MTMsMHhlNCwweDQyLDB4ZjkgfSwKLSAgMTYsIDB4ZGYzMCwgMCwgezB4MTAsMHgzZSwweGMwLDB4MGYsMHg4MCwweDAzLDB4ZWUsMHgwMCwweGZiLDB4MDAsMHgzZSwweDgwLDB4MGUsMHg4MiwweDAzLDB4ZTAgfSwKLSAgMTYsIDB4ZGY0MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhlMCwweDA4LDB4ZmMsMHg4MCwweDMyLDB4ZTQgfSwKLSAgMTYsIDB4ZGY1MCwgMCwgezB4MGUsMHhmMCwweDAzLDB4NzQsMHgwMCwweGZjLDB4MDAsMHgzZiwweDQwLDB4MGMsMHhmMCwweDBiLDB4M2MsMHgwMCwweGZlLDB4MDAgfSwKLSAgMTYsIDB4ZGY2MCwgMCwgezB4M2YsMHhjMCwweDBkLDB4YzEsMHgwMywweDIwLDB4MjAsMHhjYywweDEwLDB4MzMsMHgwMCwweDBjLDB4ZDEsMHgwMywweDU4LDB4MDAgfSwKLSAgMTYsIDB4ZGY3MCwgMCwgezB4Y2UsMHgwMCwweDJmLDB4YzAsMHgwZiwweGQxLDB4MDMsMHgwMCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGY4MCwgMCwgezB4ODEsMHg0NCwweDYyLDB4MDAsMHhiMCwweDQwLDB4MmEsMHhmMSwweDA4LDB4YjAsMHgxMiwweDI2LDB4MDgsMHhiOCwweGM4LDB4MmUgfSwKLSAgMTYsIDB4ZGY5MCwgMCwgezB4NzAsMHgwYSwweGIwLDB4MDIsMHgyMCwweDAwLDB4YmEsMHgwMCwweDJlLDB4MDAsMHgyOCwweDgwLDB4MDMsMHgyMiwweDQwLDB4ODggfSwKLSAgMTYsIDB4ZGZhMCwgMCwgezB4MDEsMHgyMCwweDAwLDB4MGEsMHg4MCwweDAyLDB4MjgsMHgwMCwweDhhLDB4MDEsMHgyZSwweDgwLDB4OGIsMHg5MCwweDAyLDB4MjAgfSwKLSAgMTYsIDB4ZGZiMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyNiwweDAwLDB4YjgsMHgyOCwweDIyLDB4NDIgfSwKLSAgMTYsIDB4ZGZjMCwgMCwgezB4MDgsMHgzMCwweDAyLDB4NjYsMHgwMCwweGI4LDB4ODAsMHgyZSwweDMwLDB4ODgsMHhiMCwweDAyLDB4MmMsMHgwMCwweGI5LDB4MDEgfSwKLSAgMTYsIDB4ZGZkMCwgMCwgezB4MmUsMHhjMCwweDg4LDB4OTAsMHgwMiwweGE0LDB4MDAsMHg4OSwweDAwLDB4MjIsMHhjMCwweDA4LDB4OTAsMHgwMiwweDI0LDB4MGMgfSwKLSAgMTYsIDB4ZGZlMCwgMCwgezB4ODksMHgwMSwweDJlLDB4NDAsMHgxYiwweDgwLDB4MDIsMHg2MCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGZmMCwgMCwgezB4MDgsMHgwNCwweDAwLDB4MDAsMHhiMCwweDAwLDB4MjgsMHhjMCwweDI4LDB4MzAsMHgwMiwweDAwLDB4MDAsMHhiMCwweDAwLDB4MmMgfSwKLSAgMTYsIDB4ZTAwMCwgMCwgezB4NDAsMHgwYSwweDMwLDB4MDIsMHgwMCwweDAwLDB4YjEsMHgwMCwweDJjLDB4MDAsMHgwOCwweDEwLDB4MGEsMHgwNCwweDAwLDB4ODEgfSwKLSAgMTYsIDB4ZTAxMCwgMCwgezB4MDEsMHhhMiwweGMwLDB4MDgsMHgwMCwweDBhLDB4MDQsMHg4MCwweDgxLDB4MDAsMHgyYywweDAwLDB4MWIsMHgwMCwweDBhLDB4MDIgfSwKLSAgMTYsIDB4ZTAyMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2MCwweDAwLDB4ZjgsMHgwMCwweDMyLDB4NDAgfSwKLSAgMTYsIDB4ZTAzMCwgMCwgezB4MGUsMHhmMCwweDIzLDB4NjQsMHgwOCwweGY4LDB4MDAsMHgyZSwweDAwLDB4MGMsMHhmMCwweDAzLDB4MmMsMHgwMCwweGY4LDB4MDAgfSwKLSAgMTYsIDB4ZTA0MCwgMCwgezB4M2UsMHhjMCwweDBjLDB4ODAsMHgwMywweDIwLDB4MDIsMHhjOCwweDA0LDB4MzIsMHgwMCwweDFjLDB4OTAsMHgwMywweDIwLDB4MDAgfSwKLSAgMTYsIDB4ZTA1MCwgMCwgezB4YzgsMHgwMSwweDNlLDB4NDEsMHg5ZiwweDkwLDB4NDMsMHg0MCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTA2MCwgMCwgezB4YTAsMHgxZCwweGYwLDB4MDAsMHhmYywweDBjLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGYwLDB4MTAsMHhmNCwweDAwLDB4M2YgfSwKLSAgMTYsIDB4ZTA3MCwgMCwgezB4MDAsMHgwZiwweGY0LDB4MjMsMHhmMCwweDAwLDB4ZmMsMHgwMCwweDNmLDB4MDAsMHgwZSwweGMwLDB4MDMsMHhiMCwweDAwLDB4ZmMgfSwKLSAgMTYsIDB4ZTA4MCwgMCwgezB4MDAsMHgzZiwweDAwLDB4MGYsMHhjMCwweDAzLDB4ZTEsMHgwMCwweGZjLDB4MDAsMHgzZiwweDAxLDB4MWYsMHg1MCwweDAzLDB4ZTggfSwKLSAgMTYsIDB4ZTA5MCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MGQsMHhmMCwweGQwLDB4ZmYsMHgyMCwweDNlLDB4ZDAgfSwKLSAgMTYsIDB4ZTBhMCwgMCwgezB4OGUsMHhiMCwweDAzLDB4ZWMsMHhhMCwweGRiLDB4MjgsMHgzZSwweGNjLDB4MGMsMHhiMywweDAzLDB4YWQsMHgwOCwweGY4LDB4M2MgfSwKLSAgMTYsIDB4ZTBiMCwgMCwgezB4MzIsMHgyMywweDBlLDB4NDgsMHgyMywweDdhLDB4MDAsMHhmZCwweDk0LDB4M2YsMHhlMCwweDBmLDB4NzgsMHgzMywweGVlLDB4MDggfSwKLSAgMTYsIDB4ZTBjMCwgMCwgezB4YmYsMHg4MCwweDNmLDB4ZTQsMHgwZiwweGY5LDB4MDMsMHgzMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTBkMCwgMCwgezB4YTAsMHgwMCwweGVjLDB4YzgsMHhiZiwweGQxLDB4MGYsMHhjOCwweDBjLDB4MjYsMHg4MiwweGZkLDB4MjQsMHg4ZiwweDAwLDB4MmUgfSwKLSAgMTYsIDB4ZTBlMCwgMCwgezB4OTksMHgwYSwweGYyLDB4NjIsMHgxZCwweGQwLDB4OTksMHg2MSwweDIyLDB4NzEsMHg4OCwweDg4LDB4MDIsMHhhYywweDAwLDB4YjggfSwKLSAgMTYsIDB4ZTBmMCwgMCwgezB4MjIsMHgyZSwweDIwLDB4NGIsMHg4OCwweDAzLDB4YTAsMHgwMCwweDgwLDB4MDAsMHgyZSwweDA4LDB4MGIsMHg4MCwweDIzLDB4NjAgfSwKLSAgMTYsIDB4ZTEwMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDA0LDB4YjMsMHgwMywweDBjLDB4Y2MgfSwKLSAgMTYsIDB4ZTExMCwgMCwgezB4MGEsMHgxMywweDEyLDB4Y2MsMHgxNCwweGEzLDB4MGUsMHgwYywweDU4LDB4MGEsMHgzMywweDAyLDB4OGMsMHgxMCwweGEzLDB4MjAgfSwKLSAgMTYsIDB4ZTEyMCwgMCwgezB4YTAsMHgwYSwweDE4LDB4OTAsMHgwMiwweDQ4LDB4YTAsMHhiMCwweDIwLDB4MjQsMHg4MCwweDBhLDB4MjAsMHgwMiwweGNjLDB4MDkgfSwKLSAgMTYsIDB4ZTEzMCwgMCwgezB4YTEsMHgwMCwweDJjLDB4ODAsMHgwYiwweDMyLDB4NDIsMHhhMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTE0MCwgMCwgezB4ZTAsMHgxMSwweGFjLDB4MjAsMHhiYiwweDAwLDB4MmUsMHhjMCwweDRiLDB4ODAsMHhhMiwweGVjLDB4MDAsMHhhYiwweDAwLDB4NGUgfSwKLSAgMTYsIDB4ZTE1MCwgMCwgezB4NDYsMHgyYSwweGIwLDB4MDIsMHgyYywweDA0LDB4OWIsMHg4MCwweDJhLDB4NjAsMHg4YSwweDljLDB4MDIsMHhhYywweDAwLDB4YjkgfSwKLSAgMTYsIDB4ZTE2MCwgMCwgezB4ODEsMHgyZSwweDQwLDB4MGIsMHg5OCwweDAyLDB4YTMsMHgwMCwweDhhLDB4MDAsMHgyZSwweDQwLDB4MGIsMHg4MCwweDA0LDB4ZjAgfSwKLSAgMTYsIDB4ZTE3MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlMSwweDAwLDB4ZmIsMHgwNCwweDNlLDB4YzAgfSwKLSAgMTYsIDB4ZTE4MCwgMCwgezB4MGUsMHhiNCwweDAzLDB4ZWMsMHgwYSwweGRiLDB4MDIsMHgyZSwweGQxLDB4MGUsMHhiMCwweDAzLDB4YWMsMHgwMCwweGZiLDB4ODIgfSwKLSAgMTYsIDB4ZTE5MCwgMCwgezB4MzIsMHgyOCwweDFlLDB4MGMsMHgwMywweDY4LDB4MDAsMHhiOSwweDAwLDB4M2UsMHg0MCwweDRmLDB4YjAsMHg0MywweGVkLDB4MDAgfSwKLSAgMTYsIDB4ZTFhMCwgMCwgezB4ZWEsMHgwMCwweDNlLDB4NDAsMHgwZiwweDgwLDB4MDMsMHg5MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTFiMCwgMCwgezB4YzAsMHgwMSwweGI4LDB4MTgsMHhmZiwweDAyLDB4MWYsMHhjMCwweDBjLDB4ZTIsMHgwMywweGZjLDB4MDAsMHhkZiwweDAzLDB4MmYgfSwKLSAgMTYsIDB4ZTFjMCwgMCwgezB4YTEsMHgwZiwweDcwLDB4MDMsMHhmYywweDA0LDB4YWIsMHgwNCwweDM3LDB4NDIsMHgyZCwweGQwLDB4MDIsMHg3YywweDAwLDB4ZmMgfSwKLSAgMTYsIDB4ZTFkMCwgMCwgezB4MDAsMHgzZiwweDgwLDB4MGYsMHhjMCwweDAzLDB4YjAsMHgwMCwweGZkLDB4MDAsMHgzZiwweDgwLDB4MGYsMHhmMCwweDAzLDB4NzggfSwKLSAgMTYsIDB4ZTFlMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhOSwweDAwLDB4ZGIsMHgwMCwweDNjLDB4YzAgfSwKLSAgMTYsIDB4ZTFmMCwgMCwgezB4MmUsMHg5NCwweDAxLDB4NmMsMHgxMSwweGNiLDB4MDAsMHhiOCwweGMwLDB4MGMsMHhiMCwweDAzLDB4NmMsMHgwMCwweGViLDB4MDEgfSwKLSAgMTYsIDB4ZTIwMCwgMCwgezB4MzIsMHgxMCwweDA3LDB4OTIsMHgwMywweGE4LDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwYywweDA3LDB4YTIsMHgwMywweGFkLDB4MDAgfSwKLSAgMTYsIDB4ZTIxMCwgMCwgezB4ZDgsMHgwMCwweDMyLDB4MDAsMHgwYywweDgwLDB4MDMsMHhkMCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTIyMCwgMCwgezB4YzgsMHgwNSwweDI4LDB4MDgsMHhiZiwweDAwLDB4MmYsMHhjMCwweDg4LDB4ODAsMHgwMiwweDNjLDB4MDgsMHhlZiwweDAzLDB4MjIgfSwKLSAgMTYsIDB4ZTIzMCwgMCwgezB4MDAsMHgwZCwweGY1LDB4MDAsMHgzYywweDAwLDB4OGIsMHg4MiwweDIyLDB4NjAsMHgwMywweDljLDB4MDIsMHgyYywweDEwLDB4YjkgfSwKLSAgMTYsIDB4ZTI0MCwgMCwgezB4YjAsMHgyMiwweGYwLDB4MGIsMHg5MCwweDAyLDB4MjAsMHgwMCwweGJiLDB4MDAsMHgyMiwweGUyLDB4MGQsMHhiMCwweDAyLDB4ZjIgfSwKLSAgMTYsIDB4ZTI1MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0MCwweDAwLDB4YjMsMHgwMiwweDJjLDB4YzAgfSwKLSAgMTYsIDB4ZTI2MCwgMCwgezB4MDgsMHgzMCwweDAyLDB4NmMsMHgwMCwweDgzLDB4MDAsMHgyMCwweGMwLDB4MDksMHgzNCwweDA0LDB4ZWMsMHgwMCwweGE4LDB4MDAgfSwKLSAgMTYsIDB4ZTI3MCwgMCwgezB4MjIsMHhmMCwweDBiLDB4MDAsMHgwMiwweDg4LDB4MDAsMHhiMywweDAwLDB4MjgsMHhlMCwweDBiLDB4MTQsMHgwMiwweGEwLDB4MDAgfSwKLSAgMTYsIDB4ZTI4MCwgMCwgezB4OTMsMHgwMCwweDIwLDB4YzAsMHgwOCwweGIwLDB4MDIsMHhmOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTI5MCwgMCwgezB4MjAsMHgwMSwweDFlLDB4MDQsMHhiNywweDgwLDB4MmQsMHhlOCwweDA4LDB4NzgsMHgwMiwweDBlLDB4YzgsMHhhNywweDkwLDB4MjEgfSwKLSAgMTYsIDB4ZTJhMCwgMCwgezB4YTgsMHgxOSwweDM4LDB4NTIsMHg5ZSwweGMxLDB4ODcsMHg4MCwweDIxLDB4ZTIsMHgwYiwweGQ5LDB4ODIsMHg5ZSwweDAwLDB4YjYgfSwKLSAgMTYsIDB4ZTJiMCwgMCwgezB4YTAsMHgyZCwweDIwLDB4MGIsMHg2OCwweDAyLDB4MWUsMHgwMCwweGI0LDB4YzEsMHgyMSwweDIwLDB4MDksMHg0OCwweDAyLDB4YzggfSwKLSAgMTYsIDB4ZTJjMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDAsMHgwYywweDgwLDB4YjMsMHgxMCwweDNlLDB4ZTAgfSwKLSAgMTYsIDB4ZTJkMCwgMCwgezB4MGUsMHgzYSwweDA3LDB4NGUsMHgwMCwweGNiLDB4OTAsMHgzYSwweDYxLDB4MGQsMHgzOCwweDAzLDB4Y2UsMHhkMSwweGUxLDB4OTggfSwKLSAgMTYsIDB4ZTJlMCwgMCwgezB4MzAsMHhhNCwweDhmLDB4MTAsMHgwMywweDg4LDB4MDAsMHhiYSwweGExLDB4M2MsMHg4NCwweDA3LDB4MDAsMHgwMywweDgyLDB4ZDQgfSwKLSAgMTYsIDB4ZTJmMCwgMCwgezB4ZDEsMHgwMCwweDcyLDB4ODAsMHgwYywweDMwLDB4MDMsMHhkMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTMwMCwgMCwgezB4NDAsMHgxNSwweGJjLDB4MDQsMHhmZiwweDAwLDB4M2YsMHhjMCwweDBmLDB4YzIsMHgyMywweGVjLDB4YjAsMHhmZiwweDAwLDB4MzIgfSwKLSAgMTYsIDB4ZTMxMCwgMCwgezB4MDQsMHgwNiwweGI0LDB4MjMsMHg3YywweDEwLDB4YmYsMHgwMCwweDNlLDB4ODQsMHgwZiwweGIwLDB4MDMsMHg3YywweDQwLDB4ZmYgfSwKLSAgMTYsIDB4ZTMyMCwgMCwgezB4MDAsMHgzMywweDQwLDB4MGYsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGZlLDB4MDAsMHhiZiwweDQwLDB4MGYsMHhjOCwweDAzLDB4ZDAgfSwKLSAgMTYsIDB4ZTMzMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhlNCwweDAwLDB4Y2IsMHgzMywweDNlLDB4YzggfSwKLSAgMTYsIDB4ZTM0MCwgMCwgezB4NGMsMHhiMCwweDAzLDB4YWMsMHg5MCwweGRiLDB4YTAsMHgzNiwweGMwLDB4MGUsMHhiYSwweDQzLDB4NmMsMHgwMCwweGM5LDB4MDAgfSwKLSAgMTYsIDB4ZTM1MCwgMCwgezB4M2UsMHg0MCwweDBmLDB4MDAsMHgwZiwweDI4LDB4MDAsMHhmYiwweDAwLDB4M2UsMHg0MCwweDBmLDB4MTgsMHg0MywweDYwLDB4MDAgfSwKLSAgMTYsIDB4ZTM2MCwgMCwgezB4ZmEsMHgwMCwweDNlLDB4NDAsMHg0ZiwweDA4LDB4MGIsMHgyYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTM3MCwgMCwgezB4NDgsMHgxMSwweDljLDB4MTAsMHgwNywweDA4LDB4MmMsMHhjYSwweDA4LDB4MjAsMHgwMiwweDFjLDB4MjAsMHg4NywweDI4LDB4M2YgfSwKLSAgMTYsIDB4ZTM4MCwgMCwgezB4ODAsMHg4YSwweGYwLDB4MDIsMHgxZCwweDQwLDB4ODcsMHgwNCwweDJkLDB4YzAsMHgwYiwweDcwLDB4MDIsMHgxYywweDAwLDB4YjYgfSwKLSAgMTYsIDB4ZTM5MCwgMCwgezB4MDAsMHgyZCwweDgwLDB4MGIsMHg2MCwweDAzLDB4MWMsMHgwMCwweGI1LDB4MDAsMHgyZCwweDgwLDB4MGIsMHg3MCwweDAyLDB4MTIgfSwKLSAgMTYsIDB4ZTNhMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg4ZSwweDAwLDB4ODcsMHhhMCwweDJkLDB4ZTQgfSwKLSAgMTYsIDB4ZTNiMCwgMCwgezB4MGEsMHg1OCwweDAyLDB4MWUsMHgwMSwweDgzLDB4OTAsMHgyMSwweDcwLDB4MGIsMHg3OSwweDAyLDB4OWUsMHgwMSwweDg1LDB4YzAgfSwKLSAgMTYsIDB4ZTNjMCwgMCwgezB4MmQsMHhlMCwweDRiLDB4NTgsMHgxMiwweDFhLDB4MDAsMHhiNiwweDgwLDB4MmQsMHgyMCwweDBiLDB4NDgsMHgwMiwweDUyLDB4MDAgfSwKLSAgMTYsIDB4ZTNkMCwgMCwgezB4YjQsMHg4MCwweDJkLDB4MjAsMHgwYiwweDQ4LDB4MDIsMHgzMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTNlMCwgMCwgezB4NDgsMHgxNCwweGVjLDB4MDAsMHg4MywweDAwLDB4MmMsMHhjMCwweDg4LDB4MzYsMHgwMiwweDBjLDB4MDIsMHg4MywweDAwLDB4NmMgfSwKLSAgMTYsIDB4ZTNmMCwgMCwgezB4YzAsMHgwYiwweDMwLDB4MGEsMHhhYywweDAwLDB4OWIsMHhlMCwweDZjLDB4YzgsMHgwYiwweDMyLDB4MDIsMHgwYywweDAxLDB4YjMgfSwKLSAgMTYsIDB4ZTQwMCwgMCwgezB4MDAsMHgyYywweGMwLDB4MGIsMHgzMCwweDAyLDB4MGMsMHgxMCwweGIzLDB4NDAsMHgyYywweGMwLDB4MGIsMHgzYywweDgyLDB4MTIgfSwKLSAgMTYsIDB4ZTQxMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhiOCwweDAyLDB4Y2EsMHgwMCwweDNlLDB4ODAgfSwKLSAgMTYsIDB4ZTQyMCwgMCwgezB4MGUsMHhlNCwweDhiLDB4MjgsMHgwMCwweGNhLDB4MDAsMHgzMywweDk1LDB4MGYsMHhhMCwweDA3LDB4YTgsMHgwMiwweGNlLDB4NDAgfSwKLSAgMTYsIDB4ZTQzMCwgMCwgezB4M2YsMHhiMCwweDBmLDB4ZTQsMHg4MiwweDI4LDB4MDAsMHhmYSwweDAwLDB4M2UsMHg4MCwweDBmLDB4YTAsMHgyMywweDY4LDB4MDAgfSwKLSAgMTYsIDB4ZTQ0MCwgMCwgezB4ZmEsMHg0MCwweDNlLDB4ODEsMHg0ZiwweGE0LDB4ZTMsMHgzYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTQ1MCwgMCwgezB4NDgsMHgwMCwweGUwLDB4ODAsMHhmMCwweDAwLDB4M2MsMHgwMCwweDJmLDB4MDAsMHgwMiwweDYwLDB4MDAsMHhlOCwweDAwLDB4M2MgfSwKLSAgMTYsIDB4ZTQ2MCwgMCwgezB4MDAsMHgwZSwweDgwLDB4MDEsMHgyMCwweDAwLDB4ZTgsMHgwNCwweDVlLDB4MDQsMHgwZiwweDgwLDB4MDMsMHhlMCwweDAwLDB4ZmMgfSwKLSAgMTYsIDB4ZTQ3MCwgMCwgezB4MDEsMHgzZiwweDEwLDB4MGYsMHhjNCwweDAzLDB4YjAsMHgwMCwweGZjLDB4MDksMHgzZiwweDAwLDB4MGYsMHhjMCwweDAzLDB4ZDIgfSwKLSAgMTYsIDB4ZTQ4MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDAwLDB4YTksMHgyMCwweDM2LDB4NDAgfSwKLSAgMTYsIDB4ZTQ5MCwgMCwgezB4MGUsMHg5MCwweDAzLDB4NDQsMHgwNCwweGQ5LDB4MDAsMHgzZSwweDQwLDB4MGQsMHg5MCwweDAzLDB4ZTQsMHgwNCwweGM5LDB4MDAgfSwKLSAgMTYsIDB4ZTRhMCwgMCwgezB4MzIsMHg0MCwweDhmLDB4OTAsMHgwYiwweGU0LDB4MDgsMHhmOSwweDAwLDB4M2UsMHg0NCwweDBlLDB4OTgsMHgwMywweGU2LDB4MDAgfSwKLSAgMTYsIDB4ZTRiMCwgMCwgezB4ZjksMHgwMCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhjMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTRjMCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDAsMHg4OSwweDAwLDB4MjIsMHg0MCwweDE4LDB4OTAsMHgwMiwweDI0LDB4MDAsMHg4OSwweDAwLDB4MmUgfSwKLSAgMTYsIDB4ZTRkMCwgMCwgezB4NDAsMHgwOCwweDk0LDB4MDIsMHhlNCwweDAwLDB4ZDksMHgwNCwweDIyLDB4NDAsMHgwYiwweDFjLDB4MGIsMHg2NCwweDAwLDB4YjkgfSwKLSAgMTYsIDB4ZTRlMCwgMCwgezB4OTQsMHgyYywweDUwLDB4MDgsMHg5YywweDAyLDB4ZTQsMHgxNCwweGI5LDB4OTAsMHgwZSwweDQwLDB4MGIsMHg5MCwweDAyLDB4ZTAgfSwKLSAgMTYsIDB4ZTRmMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDAyLDB4ODksMHgwMCwweDI2LDB4NDAgfSwKLSAgMTYsIDB4ZTUwMCwgMCwgezB4NGEsMHg5MCwweDAyLDB4NjQsMHgwMCwweDk5LDB4MDQsMHgyZSwweDQwLDB4MDgsMHg5OCwweDgyLDB4ZTQsMHgwMCwweDg5LDB4MDAgfSwKLSAgMTYsIDB4ZTUxMCwgMCwgezB4NmEsMHg0MCwweDBhLDB4OTIsMHg4MiwweGU0LDB4MDAsMHhiZCwweDAxLDB4MmYsMHg1MCwweDEyLDB4ZDYsMHgwMiwweGY0LDB4NDAgfSwKLSAgMTYsIDB4ZTUyMCwgMCwgezB4YmQsMHgwMCwweDBmLDB4NDAsMHgwYiwweGQwLDB4MDIsMHhjNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTUzMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4ODAsMHg4MSwweDIwLDB4MjAsMHg0OCwweDA4LDB4MTIsMHgwMiwweDA0LDB4ODAsMHg4MSwweDIyLDB4MmMgfSwKLSAgMTYsIDB4ZTU0MCwgMCwgezB4NDgsMHhhOCwweDEyLDB4MDYsMHhjNCwweDkwLDB4OTEsMHgyMCwweDI4LDB4NTAsMHgwYiwweDkwLDB4MDIsMHg0NSwweDAwLDB4YjUgfSwKLSAgMTYsIDB4ZTU1MCwgMCwgezB4NDAsMHg2ZCwweDQwLDB4MDgsMHg1MCwweDEyLDB4ZDQsMHgwNCwweGI1LDB4MDIsMHgyZCwweDQwLDB4MGIsMHg1MCwweDAyLDB4YzIgfSwKLSAgMTYsIDB4ZTU2MCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MSwweDQwLDB4YzgsMHgwMCwweDM2LDB4MTQgfSwKLSAgMTYsIDB4ZTU3MCwgMCwgezB4MGEsMHg4NSwweDAzLDB4NDEsMHg0MCwweGQ4LDB4NTAsMHgyZSwweDE0LDB4MGMsMHg4NSwweDAzLDB4YzEsMHg0MCwweGM4LDB4NTAgfSwKLSAgMTYsIDB4ZTU4MCwgMCwgezB4YmEsMHgwMCwweDBlLDB4ODAsMHgyMywweGUwLDB4MDAsMHg3OCwweDAwLDB4M2UsMHgwMCwweDBlLDB4ODAsMHgwMywweGUwLDB4MDQgfSwKLSAgMTYsIDB4ZTU5MCwgMCwgezB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweGMwLDB4MDMsMHhlZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTVhMCwgMCwgezB4OTgsMHgxZCwweGY0LDB4NDAsMHhkOSwweDEwLDB4M2UsMHg0NCwweDA3LDB4ZjEsMHgwMywweGU0LDB4NDAsMHhmOSwweDEwLDB4M2YgfSwKLSAgMTYsIDB4ZTViMCwgMCwgezB4NDQsMHhhZiwweDkxLDB4MDMsMHhlNCwweDQwLDB4ZmQsMHgxMCwweDM3LDB4NTAsMHgwZiwweGQwLDB4MDMsMHhlNCwweDAwLDB4ZjkgfSwKLSAgMTYsIDB4ZTVjMCwgMCwgezB4MDAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4ZTQsMHhhMCwweGY5LDB4MjgsMHgzZSwweDRhLDB4MGYsMHg5MiwweDgzLDB4ZTYgfSwKLSAgMTYsIDB4ZTVkMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhlNiwweGQ0LDB4ZmQsMHhhMiwweDNhLDB4NzAgfSwKLSAgMTYsIDB4ZTVlMCwgMCwgezB4OGMsMHg5ZSwweDAzLDB4MjYsMHg4MCwweGM5LDB4YTAsMHgzMiwweDY4LDB4MGMsMHhkYiwweDQzLDB4MjcsMHg4MCwweDlkLDB4YTIgfSwKLSAgMTYsIDB4ZTVmMCwgMCwgezB4YjcsMHg0MCwweDBmLDB4NTAsMHgwMywweDY1LDB4MDAsMHhmZCwweDAwLDB4M2YsMHhjMSwweDA3LDB4ZDAsMHgwMywweGY1LDB4MDQgfSwKLSAgMTYsIDB4ZTYwMCwgMCwgezB4ZmQsMHg0MCwweDJmLDB4YzAsMHgwYywweGQwLDB4MDMsMHhjNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTYxMCwgMCwgezB4MzgsMHgxMCwweGUzLDB4ODgsMHhiOCwweDUwLDB4MjIsMHgzOCwweDA4LDB4OGUsMHgwMCwweGEyLDB4YTAsMHg4OCwweGU4LDB4MjIgfSwKLSAgMTYsIDB4ZTYyMCwgMCwgezB4MzgsMHg0OCwweDg4LDB4MDMsMHg2MiwweDEwLDB4YTgsMHhlOCwweDNjLDB4MDAsMHgwYiwweDgwLDB4MDMsMHg2MiwweDgwLDB4YjggfSwKLSAgMTYsIDB4ZTYzMCwgMCwgezB4MDEsMHgyZSwweDgwLDB4MGIsMHg4MCwweDIxLDB4YTIsMHgwMCwweGIwLDB4ODQsMHgyZSwweDJhLDB4MjgsMHg4YSwweDgyLDB4Y2UgfSwKLSAgMTYsIDB4ZTY0MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweDQwLDB4YjEsMHgwMCwweDI4LDB4NTggfSwKLSAgMTYsIDB4ZTY1MCwgMCwgezB4ODAsMHgxMywweDQwLDB4MDUsMHgwMCwweDgxLDB4NDAsMHgyMCwweDUyLDB4MjgsMHgxNiwweDAyLDB4ODUsMHg4MCwweDliLDB4YzIgfSwKLSAgMTYsIDB4ZTY2MCwgMCwgezB4NjQsMHg0MSwweDhiLDB4OTgsMHgwMiwweDA0LDB4MDAsMHhiMSwweDA5LDB4MmMsMHg0MCwweDFiLDB4MTAsMHgyMCwweGM0LDB4MDAgfSwKLSAgMTYsIDB4ZTY3MCwgMCwgezB4YjEsMHgwMCwweDJjLDB4NDAsMHg0OCwweDEwLDB4MDIsMHhjMiwweDA1LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTY4MCwgMCwgezB4MTgsMHgxNSwweGE1LDB4ODQsMHhiOSwweDAwLDB4MjAsMHg0MCwweDA4LDB4OTAsMHgwMiwweDI0LDB4MDAsMHgwMSwweDAwLDB4MjAgfSwKLSAgMTYsIDB4ZTY5MCwgMCwgezB4NTAsMHgwOCwweDkwLDB4NDIsMHg2NCwweDAwLDB4YTksMHgxMCwweGFlLDB4NTgsMHgwMywweDk4LDB4MDIsMHg2NCwweDAwLDB4YjkgfSwKLSAgMTYsIDB4ZTZhMCwgMCwgezB4MDAsMHgyZSwweDQwLDB4MGIsMHg5MCwweDQ2LDB4YTQsMHgxMCwweGI5LDB4MDAsMHgyZSwweDQxLDB4MDgsMHg5MCwweDAyLDB4YzYgfSwKLSAgMTYsIDB4ZTZiMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTEsMHhlNywweDAwLDB4ZjksMHgwMCwweDJhLDB4NDAgfSwKLSAgMTYsIDB4ZTZjMCwgMCwgezB4MmMsMHg5NCwweDBiLDB4MjQsMHgwMiwweGM5LDB4MDAsMHhiMiwweDQ0LDB4MGMsMHg5MCwweDAzLDB4MjQsMHgwNCwweGQ5LDB4ODAgfSwKLSAgMTYsIDB4ZTZkMCwgMCwgezB4YjYsMHg0MSwweDhmLDB4MTgsMHgwMywweDI0LDB4MDAsMHhmOSwweDYwLDB4M2UsMHg0MCwweDBmLDB4OTYsMHgwMywweGU0LDB4MDAgfSwKLSAgMTYsIDB4ZTZlMCwgMCwgezB4ZjksMHg4MCwweDNlLDB4NDIsMHg4YywweDkwLDB4MDMsMHhlOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTZmMCwgMCwgezB4MjgsMHgwMSwweGE2LDB4MDAsMHhmMSwweDAwLDB4M2UsMHg0MCwweDBmLDB4MWMsMHgwMywweGM0LDB4MDAsMHhmOSwweDAwLDB4M2UgfSwKLSAgMTYsIDB4ZTcwMCwgMCwgezB4NDAsMHg4ZiwweDkwLDB4MjMsMHhjNCwweDEwLDB4ZjksMHgwMCwweGJlLDB4NDAsMHgwZiwweDkwLDB4MGIsMHhlNCwweDAwLDB4ZjkgfSwKLSAgMTYsIDB4ZTcxMCwgMCwgezB4MDAsMHgzZSwweDQwLDB4MDcsMHg5MCwweDIzLDB4ZTQsMHgwMCwweGY5LDB4MjAsMHgzZSwweDQwLDB4OGYsMHg5MCwweDAzLDB4Y2EgfSwKLSAgMTYsIDB4ZTcyMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMSwweDAwLDB4ZjgsMHgwMCwweGJlLDB4MDAgfSwKLSAgMTYsIDB4ZTczMCwgMCwgezB4MGUsMHg4NCwweDAzLDB4MjAsMHgwMCwweGM4LDB4MDAsMHgzMiwweDAwLDB4MGMsMHgwMCwweDgzLDB4MjAsMHgwMCwweGY4LDB4MDAgfSwKLSAgMTYsIDB4ZTc0MCwgMCwgezB4M2UsMHgwMCwweDBjLDB4ODAsMHgwMywweGEwLDB4MDAsMHhmOCwweDAwLDB4MzYsMHgxMCwweDBmLDB4ODAsMHg0MywweGUwLDB4MDggfSwKLSAgMTYsIDB4ZTc1MCwgMCwgezB4ZjgsMHgwMCwweDMyLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhjYSwweDA0LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTc2MCwgMCwgezB4MjgsMHgwNSwweDI4LDB4MDAsMHhiYSwweDAwLDB4MjIsMHg4MCwweDQ4LDB4YTAsMHgwMywweDY4LDB4MDAsMHhhYSwweDAwLDB4MmEgfSwKLSAgMTYsIDB4ZTc3MCwgMCwgezB4ODAsMHgwOCwweGUwLDB4MDMsMHg2OCwweDAwLDB4ODIsMHgwMCwweDJmLDB4ODAsMHgwOCwweGU2LDB4MDIsMHgyOCwweDA0LDB4YmUgfSwKLSAgMTYsIDB4ZTc4MCwgMCwgezB4NDAsMHgyMywweDgwLDB4MGIsMHhlOCwweDAyLDB4ZWEsMHgwMCwweGJlLDB4MDEsMHgyMiwweDgwLDB4MGIsMHhlMCwweDAyLDB4Y2EgfSwKLSAgMTYsIDB4ZTc5MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAxLDB4OTMsMHgwMSwweDIwLDB4YzEgfSwKLSAgMTYsIDB4ZTdhMCwgMCwgezB4MGEsMHgzMCwweDAyLDB4MGMsMHgwMCwweGEzLDB4MDAsMHgyMCwweGMwLDB4ODgsMHgzOCwweDQyLDB4MGMsMHgwMCwweGEzLDB4MDAgfSwKLSAgMTYsIDB4ZTdiMCwgMCwgezB4MjQsMHhjMCwweDBhLDB4M2UsMHg0MiwweDhjLDB4MDAsMHhiMiwweDRjLDB4MjQsMHhlMCwweDRiLDB4MzgsMHgwMiwweGM0LDB4NDEgfSwKLSAgMTYsIDB4ZTdjMCwgMCwgezB4YjMsMHgwMCwweDIyLDB4YzAsMHgwYiwweDEwLDB4MDIsMHhjYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTdkMCwgMCwgezB4YTAsMHgwMSwweDFjLDB4MDAsMHhiNywweDAwLDB4MjAsMHhjOSwweDQ4LDB4NzAsMHgwMiwweGRjLDB4NDAsMHhhNywweDE0LDB4MmMgfSwKLSAgMTYsIDB4ZTdlMCwgMCwgezB4YzgsMHgyOCwweDMwLDB4ODIsMHg1YywweGMxLDB4ODUsMHgwMCwweDJkLDB4ZTAsMHgyYSwweGYwLDB4MTIsMHgxYywweDgwLDB4YjcgfSwKLSAgMTYsIDB4ZTdmMCwgMCwgezB4YTAsMHgyMSwweDgyLDB4MGIsMHg3MCwweDgyLDB4ZDQsMHgxMSwweGI2LDB4ODAsMHgyMSwweDQwLDB4NGIsMHg1MCwweDAyLDB4ZTggfSwKLSAgMTYsIDB4ZTgwMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZSwweDgwLDB4ZDUsMHg4MCwweDI5LDB4ZWEgfSwKLSAgMTYsIDB4ZTgxMCwgMCwgezB4NGUsMHgzYSwweDA3LDB4MGUsMHg4MCwweGUzLDB4YjAsMHgzMSwweGZjLDB4MGMsMHg0OCwweDAzLDB4MGUsMHg0MSwweGU3LDB4ODAgfSwKLSAgMTYsIDB4ZTgyMCwgMCwgezB4M2QsMHhlMCwweDBlLDB4NzgsMHgwMywweDllLDB4ODAsMHhmNCwweGM0LDB4MzUsMHhlMCwweDBmLDB4NzgsMHgyNywweGRlLDB4MDAgfSwKLSAgMTYsIDB4ZTgzMCwgMCwgezB4ZjUsMHg4MCwweGIxLDB4ZTAsMHgwZiwweDU4LDB4MDMsMHhlYSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTg0MCwgMCwgezB4MDgsMHgxZCwweGFjLDB4MDAsMHgzMSwweDA0LDB4M2EsMHhjNCwweDBmLDB4YjUsMHg5MywweDZkLDB4MDgsMHhmYiwweDQwLDB4M2EgfSwKLSAgMTYsIDB4ZTg1MCwgMCwgezB4YzgsMHg2MywweDgwLDB4MjMsMHhlYywweDk4LDB4ZTksMHgwMCwweDNlLDB4YzAsMHgwZCwweGIwLDB4NDMsMHhlYywweDAwLDB4ZjMgfSwKLSAgMTYsIDB4ZTg2MCwgMCwgezB4ODAsMHgzZSwweDQwLDB4NGYsMHhhMCwweDAzLDB4ZWMsMHgwMCwweGY4LDB4NjgsMHgzZSwweDQwLDB4OGYsMHg5OCwweDAzLDB4YzIgfSwKLSAgMTYsIDB4ZTg3MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmZSwweDYwLDB4ZWIsMHg5MCwweDNlLDB4ZTQgfSwKLSAgMTYsIDB4ZTg4MCwgMCwgezB4MGYsMHhiOCwweDAwLDB4M2YsMHg0MCwweGNiLDB4ODAsMHg3ZiwweGUwLDB4MGUsMHhmYiwweDAzLDB4MmUsMHg0MCwweGNiLDB4ODAgfSwKLSAgMTYsIDB4ZTg5MCwgMCwgezB4M2YsMHhlMCwweDBmLDB4NzksMHg0MywweDJlLDB4NjAsMHhjYSwweDgxLDB4MzMsMHg2NCwweDhmLDB4ZDksMHgwMywweGZlLDB4MDAgfSwKLSAgMTYsIDB4ZThhMCwgMCwgezB4ZmYsMHg4MSwweDMzLDB4ZTAsMHgwZiwweGQ5LDB4OGIsMHgwMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZThiMCwgMCwgezB4YTgsMHgwMSwweDljLDB4MDAsMHg4NywweDgxLDB4MTksMHhlNCwweDBiLDB4ZmEsMHgxMywweDVlLDB4ODAsMHg4NywweGIyLDB4MmQgfSwKLSAgMTYsIDB4ZThjMCwgMCwgezB4ZWMsMHgwZCwweDc5LDB4MDEsMHg5ZSwweDAwLDB4ZDUsMHg5MCwweDJkLDB4ZjgsMHgwYiwweDc4LDB4MDMsMHg3ZSwweDA4LDB4YWIgfSwKLSAgMTYsIDB4ZThkMCwgMCwgezB4OTEsMHgyOSwweDg1LDB4MGIsMHg1MSwweDAyLDB4ZGMsMHg0OCwweGI2LDB4NDAsMHgyMSwweDQwLDB4MGIsMHg1MCwweDAyLDB4MmEgfSwKLSAgMTYsIDB4ZThlMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4YywweDE0LDB4YjUsMHgyMCwweDZkLDB4YzggfSwKLSAgMTYsIDB4ZThmMCwgMCwgezB4MGIsMHg3MiwweDAyLDB4NWMsMHg4MCwweDg3LDB4MjAsMHg2OSwweGMwLDB4ODgsMHg1MywweDAyLDB4Y2MsMHg4MSwweDk3LDB4NTAgfSwKLSAgMTYsIDB4ZTkwMCwgMCwgezB4MmQsMHhjOCwweDBiLDB4ZjcsMHgwYSwweGRjLDB4YzAsMHg4NCwweDAxLDB4MjEsMHg0NCwweDFiLDB4NzAsMHgyMiwweGRjLDB4MDAgfSwKLSAgMTYsIDB4ZTkxMCwgMCwgezB4YjUsMHgwMCwweDIxLDB4YzQsMHgwYiwweDUwLDB4ODYsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTkyMCwgMCwgezB4MjAsMHgxNCwweGNmLDB4MzAsMHg5MSwweDAwLDB4MmMsMHhjMCwweDBiLDB4MzQsMHgwMiwweDRjLDB4MDAsMHg4MywweDAwLDB4MmMgfSwKLSAgMTYsIDB4ZTkzMCwgMCwgezB4ZjIsMHgwYiwweDEwLDB4MjIsMHgwYywweDAwLDB4OTEsMHgwMCwweDJjLDB4YzgsMHgwYiwweDE4LDB4MGEsMHhjZCwweDAxLDB4YTMgfSwKLSAgMTYsIDB4ZTk0MCwgMCwgezB4MDAsMHgyOCwweDYwLDB4MGIsMHgyMSwweDAyLDB4Y2UsMHgyMCwweGI4LDB4NDAsMHhhMCwweDU0LDB4MGIsMHgxOCwweDAyLDB4MDggfSwKLSAgMTYsIDB4ZTk1MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTEsMHhiZCwweDAwLDB4ZjksMHgwMCwweDJmLDB4YzAgfSwKLSAgMTYsIDB4ZTk2MCwgMCwgezB4MGYsMHhmNCwweDAyLDB4N2MsMHgxMiwweGNmLDB4MDMsMHgzZiwweGMyLDB4MGUsMHhiMCwweDAzLDB4ZmMsMHgwNCwweDliLDB4MDIgfSwKLSAgMTYsIDB4ZTk3MCwgMCwgezB4MmUsMHhmMiwweDBmLDB4YTQsMHgwYiwweGRjLDB4MDAsMHhjZSwweDAwLDB4YjAsMHhjOCwweDhmLDB4YTQsMHgwMywweGVmLDB4MDAgfSwKLSAgMTYsIDB4ZTk4MCwgMCwgezB4ZjgsMHg4MCwweDMyLDB4ZjUsMHgxZiwweGRkLDB4MDMsMHgyYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTk5MCwgMCwgezB4ODAsMHgwMCwweGVjLDB4NDAsMHhlOSwweDAwLDB4M2EsMHhjMCwweDBmLDB4YjEsMHgwMywweGNjLDB4MDAsMHhmMywweDAwLDB4M2UgfSwKLSAgMTYsIDB4ZTlhMCwgMCwgezB4YzAsMHgwZCwweGI0LDB4MDksMHhlYywweDE4LDB4ZjksMHgxMCwweDNlLDB4MTAsMHg0ZiwweGIxLDB4MGEsMHg2YywweDgwLDB4ZjkgfSwKLSAgMTYsIDB4ZTliMCwgMCwgezB4ODksMHgzNiwweDgyLDB4MGIsMHhhNiwweDAzLDB4ZWMsMHg1MCwweGY5LDB4NTAsMHgzZSwweGMwLDB4MWYsMHg5MCwweDAzLDB4NjAgfSwKLSAgMTYsIDB4ZTljMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmYywweDAwLDB4ZmQsMHhhMCwweDNkLDB4YzAgfSwKLSAgMTYsIDB4ZTlkMCwgMCwgezB4MGMsMHg3MCwweDgzLDB4MmMsMHgwMCwweGVmLDB4MDIsMHgzNSwweGMwLDB4MGQsMHhlMiwweDAzLDB4ZmMsMHgwNCwweGZmLDB4MDIgfSwKLSAgMTYsIDB4ZTllMCwgMCwgezB4MmQsMHhlMCwweDhlLDB4ZjAsMHgwMywweDNjLDB4MTAsMHhkYywweDAwLDB4M2YsMHg4MCwweDBjLDB4ZDgsMHgwMywweGZjLDB4MDAgfSwKLSAgMTYsIDB4ZTlmMCwgMCwgezB4ZGUsMHgxOCwweDMzLDB4ZjAsMHg0ZiwweGQwLDB4MDMsMHhjMCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWEwMCwgMCwgezB4ODEsMHgwMCwweDZjLDB4MDAsMHhiOSwweDAwLDB4MmUsMHhjMCwweDRjLDB4YjAsMHgwMywweDZjLDB4MDAsMHg4YiwweDAyLDB4MzYgfSwKLSAgMTYsIDB4ZWExMCwgMCwgezB4YzAsMHgwZCwweGFjLDB4MTIsMHhlYywweDAwLDB4NzksMHgwMCwweDJlLDB4MzAsMHgwZCwweDNkLDB4NDIsMHhhYywweDAwLDB4ODkgfSwKLSAgMTYsIDB4ZWEyMCwgMCwgezB4ODgsMHgxYSwweDEwLDB4MGQsMHg4NiwweDAyLDB4ZWUsMHgwNCwweGJiLDB4NDAsMHgyMiwweGUwLDB4MGIsMHg5MCwweDAyLDB4ZTAgfSwKLSAgMTYsIDB4ZWEzMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAxLDB4YjksMHgwMCwweDJlLDB4YzAgfSwKLSAgMTYsIDB4ZWE0MCwgMCwgezB4MDgsMHhiMCwweDQyLDB4YWMsMHgwMCwweDBiLDB4MDUsMHgyNiwweGMwLDB4MDksMHg5NCwweDIwLDB4ZWMsMHgwMCwweGI5LDB4ODAgfSwKLSAgMTYsIDB4ZWE1MCwgMCwgezB4NmUsMHhjNCwweDg4LDB4YjAsMHg4MiwweDJjLDB4MDAsMHg5YiwweDgyLDB4MmUsMHg0MiwweDA4LDB4ODEsMHgwMiwweGU0LDB4ODAgfSwKLSAgMTYsIDB4ZWE2MCwgMCwgezB4YjgsMHgwMCwweDIyLDB4YzEsMHgwYiwweDkwLDB4MDIsMHhlMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWE3MCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MTAsMHhiMSwweDI1LDB4MmMsMHhjYSwweDA4LDB4MzQsMHg0NiwweGNjLDB4MDgsMHg4MywweDAwLDB4MjQgfSwKLSAgMTYsIDB4ZWE4MCwgMCwgezB4YzIsMHgwYiwweDAyLDB4NTIsMHhjYywweDgxLDB4ODMsMHgwMCwweDJjLDB4MDAsMHgxOSwweGIyLDB4NDIsMHhhYywweDgwLDB4ODEgfSwKLSAgMTYsIDB4ZWE5MCwgMCwgezB4MDgsMHgyOCwweDgwLDB4MDksMHgwMCwweDAyLDB4YzQsMHg0MCwweGIxLDB4MDAsMHgyMCwweGMwLDB4MGIsMHgxMCwweDAyLDB4YzIgfSwKLSAgMTYsIDB4ZWFhMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHg2YywweDAwLDB4YjksMHgwMCwweDNmLDB4ZDAgfSwKLSAgMTYsIDB4ZWFiMCwgMCwgezB4MDgsMHhmNiwweDA3LDB4YmMsMHhjMiwweGFmLDB4MzAsMHg3NSwweGRjLDB4MGQsMHgxNiwweDAyLDB4ZmMsMHhlMCwweGI5LDB4NTAgfSwKLSAgMTYsIDB4ZWFjMCwgMCwgezB4M2UsMHhjYywweDBjLDB4YjAsMHgyMywweDJjLDB4MTAsMHhkOSwweDAwLDB4M2UsMHgwMCwweDBjLDB4OTAsMHgwMywweGVjLDB4MDAgfSwKLSAgMTYsIDB4ZWFkMCwgMCwgezB4ZGUsMHgwMSwweDMyLDB4YzAsMHgwZiwweDkwLDB4MDMsMHhjMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWFlMCwgMCwgezB4YTAsMHgxOSwweGZjLDB4MDAsMHhmZCwweDEwLDB4M2YsMHhjYSwweDJlLDB4ZjYsMHgwMywweDZkLDB4OTQsMHg5ZiwweDMwLDB4M2EgfSwKLSAgMTYsIDB4ZWFmMCwgMCwgezB4YzksMHgwYywweDgzLDB4OTMsMHhmYywweDgwLDB4ZmYsMHgxMSwweDdlLDB4MTksMHgwYiwweGIxLDB4MDMsMHhmYywweDQwLDB4ZmQgfSwKLSAgMTYsIDB4ZWIwMCwgMCwgezB4MDgsMHgzYiwweDAwLDB4MGYsMHhjMCwweDAzLDB4ZmMsMHg4MCwweDc3LDB4MDAsMHhiZiwweGMwLDB4MGYsMHg1MCwweDAzLDB4ZTggfSwKLSAgMTYsIDB4ZWIxMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDEsMHhmYywweDAwLDB4ZjQsMHg5NCwweDM3LDB4YzggfSwKLSAgMTYsIDB4ZWIyMCwgMCwgezB4MGQsMHg2OSwweDYzLDB4N2MsMHgxMCwweGZmLDB4NjIsMHgzNywweGMwLDB4MGQsMHhiNCwweDAzLDB4N2MsMHg2MCwweGQ0LDB4ODAgfSwKLSAgMTYsIDB4ZWIzMCwgMCwgezB4M2YsMHg0MCwweDBmLDB4NDgsMHgyMywweDMyLDB4MDAsMHhjZSwweDAwLDB4YmYsMHg0MCwweDhmLDB4ZDEsMHgwMywweDMwLDB4ZTAgfSwKLSAgMTYsIDB4ZWI0MCwgMCwgezB4ZmYsMHgzMCwweDNiLDB4NjAsMHgwZiwweGQ4LDB4MDMsMHhiMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWI1MCwgMCwgezB4ODAsMHgxMCwweGVkLDB4MjAsMHhiOCwweDI0LDB4MjMsMHhmNCwweDQ5LDB4YTIsMHgwMiwweDNmLDB4NDAsMHg4ZiwweDUxLDB4MjMgfSwKLSAgMTYsIDB4ZWI2MCwgMCwgezB4ZGEsMHgwOCwweGY2LDB4MTIsMHgzZCwweDgwLDB4OWIsMHg4MCwweDJlLDB4NDksMHg0YiwweDgwLDB4MDMsMHg0MCwweDAwLDB4ZDkgfSwKLSAgMTYsIDB4ZWI3MCwgMCwgezB4MDEsMHgyMiwweDc0LDB4MGIsMHhkNSwweDAyLDB4MjEsMHgwMCwweGJmLDB4NDIsMHgyZSwweDQ5LDB4MGIsMHg5YywweDAyLDB4ZTAgfSwKLSAgMTYsIDB4ZWI4MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjZCwweDgwLDB4YjgsMHgyMCwweDI4LDB4YzEgfSwKLSAgMTYsIDB4ZWI5MCwgMCwgezB4MWIsMHhhMCwweDAyLDB4NGMsMHgwMCwweDkzLDB4MjAsMHgyYywweGQ4LDB4MGIsMHgzNCwweDAyLDB4Y2MsMHgwMCwweDkwLDB4MDEgfSwKLSAgMTYsIDB4ZWJhMCwgMCwgezB4MmMsMHhjNiwweDFhLDB4YTAsMHgwMiwweDY4LDB4MDgsMHg4MywweDAwLDB4YTQsMHg0MCwweDBiLDB4MTAsMHgwMiwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWJiMCwgMCwgezB4YjMsMHgxMCwweDI4LDB4NDIsMHgwYiwweDE0LDB4MDIsMHhhMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWJjMCwgMCwgezB4YzAsMHgxNSwweGFjLDB4MDAsMHhiOCwweDYwLDB4MmEsMHhjMCwweDFiLDB4YTAsMHg4ZSwweGFjLDB4MDEsMHg5YiwweDA1LDB4MjYgfSwKLSAgMTYsIDB4ZWJkMCwgMCwgezB4YzAsMHgwMywweGIwLDB4NDIsMHg2YywweDAwLDB4OWIsMHg4MCwweDJlLDB4YzAsMHgwMywweGEwLDB4MDYsMHg2OSwweDAwLDB4OTkgfSwKLSAgMTYsIDB4ZWJlMCwgMCwgezB4ODAsMHhhYSwweGMwLDB4MGIsMHg5MCwweDAyLDB4NjMsMHgwMCwweDNiLDB4MDAsMHgyZSwweDU4LDB4NGIsMHg5MCwweDAyLDB4ZjAgfSwKLSAgMTYsIDB4ZWJmMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTEsMHhlYywweDA0LDB4ZjgsMHg4MCwweGJhLDB4YzAgfSwKLSAgMTYsIDB4ZWMwMCwgMCwgezB4MGYsMHgzMCwweDAzLDB4NmMsMHgxMCwweGRiLDB4MDMsMHgzNiwweGMwLDB4OGYsMHhiMCwweDAzLDB4ZWMsMHgwOCwweGQ4LDB4ODAgfSwKLSAgMTYsIDB4ZWMxMCwgMCwgezB4N2UsMHhlMCwweDA2LDB4ODgsMHgwMywweDQxLDB4MDgsMHhjYiwweGEwLDB4M2UsMHg2NCwweDBmLDB4OTAsMHgwYiwweDJhLDB4MDAgfSwKLSAgMTYsIDB4ZWMyMCwgMCwgezB4N2IsMHgwMCwweDNhLDB4MDEsMHgwZiwweDkwLDB4MDMsMHg5MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWMzMCwgMCwgezB4ZTAsMHgwMSwweGJjLDB4MDAsMHhmYywweDg0LDB4MzIsMHhjMCwweDBjLDB4ZjksMHgwMywweDVjLDB4MTAsMHhlZiwweDAwLDB4M2IgfSwKLSAgMTYsIDB4ZWM0MCwgMCwgezB4YzAsMHgwYywweDcwLDB4MDMsMHg5YywweDAwLDB4ZWMsMHgwMSwweDNmLDB4ZTQsMHg0ZiwweGQxLDB4MDMsMHhmMSwweDAwLDB4ZjMgfSwKLSAgMTYsIDB4ZWM1MCwgMCwgezB4MDUsMHgzMywweDYwLDB4MGYsMHhkMCwweDAzLDB4YmMsMHgwNCwweGZmLDB4MDAsMHgzZiwweDIxLDB4MGYsMHhkMCwweDAzLDB4ZjggfSwKLSAgMTYsIDB4ZWM2MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhYywweDAwLDB4YzgsMHg0MCwweDNhLDB4YzYgfSwKLSAgMTYsIDB4ZWM3MCwgMCwgezB4MGQsMHhiNCwweDAzLDB4NmMsMHgwMCwweGYzLDB4MDAsMHgzNCwweGMwLDB4MGUsMHhiMCwweDAzLDB4NmMsMHgwMCwweGU5LDB4MTAgfSwKLSAgMTYsIDB4ZWM4MCwgMCwgezB4M2EsMHhjMCwweDBmLDB4ODQsMHgwMywweDJjLDB4NjAsMHhjYiwweDAwLDB4MzIsMHg2MCwweDBjLDB4NTAsMHgwMywweDYxLDB4MDAgfSwKLSAgMTYsIDB4ZWM5MCwgMCwgezB4Y2IsMHgwMCwweDNlLDB4OTAsMHgwZSwweDkwLDB4YTMsMHg5MCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWNhMCwgMCwgezB4YzgsMHgwNSwweDNjLDB4MDIsMHg4OCwweDAxLDB4MDEsMHhmMCwweDIwLDB4YjAsMHgwMSwweDNlLDB4MDAsMHgzZiwweDAwLDB4MzMgfSwKLSAgMTYsIDB4ZWNiMCwgMCwgezB4YzAsMHgwYiwweGYwLDB4MzIsMHgzYywweDA4LDB4ODksMHg4MCwweDIyLDB4YzAsMHgwMSwweDE1LDB4MTIsMHhhYywweDAwLDB4OGIgfSwKLSAgMTYsIDB4ZWNjMCwgMCwgezB4MDAsMHgyMiwweGMwLDB4NDgsMHhkYiwweDAyLDB4MmYsMHg0MCwweDhmLDB4MDAsMHgyZSwweDAxLDB4MDgsMHhkNCwweDgwLDB4MzIgfSwKLSAgMTYsIDB4ZWNkMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0YywweDAwLDB4MDgsMHgwMCwweDA4LDB4ZjAgfSwKLSAgMTYsIDB4ZWNlMCwgMCwgezB4MDgsMHgwMCwweDEyLDB4NGMsMHgwMCwweDMzLDB4MDEsMHgyNCwweGMwLDB4NGEsMHgzMCwweDAyLDB4NGMsMHgwMCwweGEwLDB4MjAgfSwKLSAgMTYsIDB4ZWNmMCwgMCwgezB4MjgsMHhjMCwweDBiLDB4MTAsMHgwMiwweDQ2LDB4MDQsMHg4MywweDA0LDB4MjAsMHhjMCwweDI5LDB4MTgsMHgwMiwweDA0LDB4NDAgfSwKLSAgMTYsIDB4ZWQwMCwgMCwgezB4YjMsMHgwMCwweDJjLDB4NDAsMHgwYSwweDFjLDB4NDIsMHhiMSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWQxMCwgMCwgezB4MjAsMHgwMSwweDFlLDB4MDEsMHg4ZCwweDgwLDB4MjEsMHhlMCwweDE4LDB4YzgsMHgwMiwweDFlLDB4MDAsMHhiMywweGEwLDB4MjEgfSwKLSAgMTYsIDB4ZWQyMCwgMCwgezB4ZTAsMHgxYiwweDM4LDB4MDIsMHgwZSwweDAxLDB4YTcsMHg4MCwweDIxLDB4ZTAsMHgwOSwweGQ4LDB4NDAsMHhkNiwweDQwLDB4ODcgfSwKLSAgMTYsIDB4ZWQzMCwgMCwgezB4ODAsMHgwMSwweGUwLDB4MDksMHg1OSwweDAyLDB4MTYsMHgwMCwweDk3LDB4ODQsMHgyZCwweDYwLDB4MDgsMHg1OCwweDQwLDB4MDAgfSwKLSAgMTYsIDB4ZWQ0MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgyYywweDQwLDB4YzAsMHgwMCwweDM4LDB4YzQgfSwKLSAgMTYsIDB4ZWQ1MCwgMCwgezB4MGMsMHgzMCwweDI3LDB4NGMsMHgyMCwweGYzLDB4MDEsMHgzNCwweGMxLDB4MGUsMHgzYSwweDAzLDB4NGMsMHhjNCwweGUwLDB4MDAgfSwKLSAgMTYsIDB4ZWQ2MCwgMCwgezB4MTgsMHhjOCwweDBmLDB4MzQsMHgwMywweDQ0LDB4NDAsMHhjMywweDAwLDB4MzAsMHhjMCwweDBkLDB4OTAsMHgwMywweDJlLDB4MDAgfSwKLSAgMTYsIDB4ZWQ3MCwgMCwgezB4ZjMsMHgwMCwweDNlLDB4NDAsMHgwZSwweDEwLDB4MDEsMHg5YSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWQ4MCwgMCwgezB4NDAsMHgxZCwweGJjLDB4MDAsMHhmOSwweDAwLDB4MGUsMHhkNCwweDBlLDB4YjAsMHgwMywweGVjLDB4MjAsMHhmYiwweDIwLDB4M2YgfSwKLSAgMTYsIDB4ZWQ5MCwgMCwgezB4YzQsMHgwZiwweGYxLDB4MDMsMHhlYywweDYwLDB4ZGIsMHgxMCwweDNmLDB4YzAsMHg0ZiwweGYwLDB4MDMsMHhhNCwweDQ2LDB4ZmIgfSwKLSAgMTYsIDB4ZWRhMCwgMCwgezB4MDAsMHhiZCwweGMwLDB4MGUsMHhkMCwweDBiLDB4YjQsMHgwMCwweGVmLDB4NDgsMHgzZiwweDQwLDB4MGYsMHg1MCwweDAzLDB4ZDAgfSwKLSAgMTYsIDB4ZWRiMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlYywweDAwLDB4ZjgsMHgwMCwweDMyLDB4ZDQgfSwKLSAgMTYsIDB4ZWRjMCwgMCwgezB4MGYsMHg4MCwweDAzLDB4YWQsMHgwMCwweGViLDB4MDgsMHgyMiwweGQyLDB4MGMsMHhiNiwweDAzLDB4NmMsMHgwMCwweGYyLDB4ODAgfSwKLSAgMTYsIDB4ZWRkMCwgMCwgezB4MzYsMHhjMCwweDBlLDB4YTAsMHgwMywweDI4LDB4MTAsMHhjYiwweDAwLDB4YjIsMHhjMCwweDBmLDB4ZDYsMHgwMywweDI4LDB4MTAgfSwKLSAgMTYsIDB4ZWRlMCwgMCwgezB4ZmIsMHgyMCwweDNlLDB4NDAsMHg0ZiwweDk5LDB4MTMsMHgyYiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWRmMCwgMCwgezB4NDgsMHgxMSwweDlkLDB4MTAsMHhiNCwweDAxLDB4MjEsMHhjMSwweDhiLDB4YzAsMHgwMiwweDFjLDB4YTAsMHhiZiwweDA0LDB4MjcgfSwKLSAgMTYsIDB4ZWUwMCwgMCwgezB4YzgsMHgwOCwweDc1LDB4MDIsMHgxYywweGMwLDB4YjYsMHgwMCwweDIxLDB4YzAsMHgwOCwweGYwLDB4NDIsMHgxOCwweDEwLDB4OGYgfSwKLSAgMTYsIDB4ZWUxMCwgMCwgezB4MDAsMHgyMSwweGMwLDB4MGIsMHg1NCwweGEyLDB4MWMsMHgwMCwweGI3LDB4MDQsMHgyZCwweDQxLDB4MGIsMHg1MiwweDAyLDB4MTIgfSwKLSAgMTYsIDB4ZWUyMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZSwweDgwLDB4YjYsMHg4OCwweGE1LDB4ZTAgfSwKLSAgMTYsIDB4ZWUzMCwgMCwgezB4MGIsMHg3OCwweDEyLDB4OWUsMHg4MSwweGE3LDB4OTAsMHgyNSwweGU0LDB4ODgsMHg3OCwweDAyLDB4MWUsMHg4MCwweGJmLDB4ODAgfSwKLSAgMTYsIDB4ZWU0MCwgMCwgezB4MjQsMHg2MCwweDBiLDB4NjgsMHgwMiwweDFlLDB4MDAsMHg4NywweDg0LDB4NjEsMHhlMCwweDBhLDB4MWEsMHgwYSwweDFhLDB4MDAgfSwKLSAgMTYsIDB4ZWU1MCwgMCwgezB4YjcsMHhhMCwweDJkLDB4ZTAsMHgwYiwweGRhLDB4MDIsMHgzMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWU2MCwgMCwgezB4NDgsMHgxNCwweGNjLDB4MDAsMHhiYSwweGMwLDB4YTQsMHhjMCwweDBiLDB4MzQsMHgwMiwweDBjLDB4MDAsMHhiMywweDAwLDB4MjQgfSwKLSAgMTYsIDB4ZWU3MCwgMCwgezB4YzAsMHgwOCwweGIwLDB4MGUsMHgyYywweDAwLDB4YjMsMHg5OCwweDIwLDB4NjAsMHgwOSwweDMzLDB4MDIsMHgyYywweDAwLDB4YTMgfSwKLSAgMTYsIDB4ZWU4MCwgMCwgezB4YzgsMHgyMCwweGMwLDB4MGIsMHgxMCwweDAyLDB4MGMsMHgwMCwweGIzLDB4MDAsMHgyYywweGYwLDB4MGIsMHgxMCwweDAyLDB4MTIgfSwKLSAgMTYsIDB4ZWU5MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOCwweDAwLDB4ZmUsMHg4MCwweDM2LDB4ODEgfSwKLSAgMTYsIDB4ZWVhMCwgMCwgezB4MGIsMHhlMCwweDAzLDB4YTgsMHgwMCwweGVhLDB4MDAsMHhiMiwweDgwLDB4MDgsMHhhMCwweDAzLDB4NjgsMHgwMCwweGZlLDB4MDAgfSwKLSAgMTYsIDB4ZWViMCwgMCwgezB4MzYsMHhhMCwweDFmLDB4ZTgsMHgxMywweDNiLDB4ODIsMHhjZSwweGUwLDB4MjIsMHg4MCwweDhlLDB4YTAsMHgwMywweDM4LDB4MDAgfSwKLSAgMTYsIDB4ZWVjMCwgMCwgezB4YmEsMHgwMCwweDNmLDB4YTIsMHgwZiwweGEwLDB4MDMsMHgzYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWVkMCwgMCwgezB4NDgsMHgwMCwweGUwLDB4MDAsMHhmOCwweDIwLDB4M2EsMHgxMCwweDA3LDB4ODAsMHgwMywweGMxLDB4MDAsMHhmOCwweDAwLDB4MzggfSwKLSAgMTYsIDB4ZWVlMCwgMCwgezB4MDAsMHgyZiwweDgwLDB4MDMsMHhhMCwweDAxLDB4ZjgsMHg0MiwweDNlLDB4MDUsMHgwZSwweDgwLDB4MGIsMHhlMCwweDgwLDB4ZDggfSwKLSAgMTYsIDB4ZWVmMCwgMCwgezB4MDAsMHgzZSwweDAwLDB4MGYsMHg4NCwweDAzLDB4ZTEsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4NCwweDBiLDB4ZDIgfSwKLSAgMTYsIDB4ZWYwMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDAwLDB4YzksMHgwMCwweDNhLDB4NTAgfSwKLSAgMTYsIDB4ZWYxMCwgMCwgezB4OGYsMHg5MCwweDgzLDB4YTQsMHgwMiwweGQxLDB4MDAsMHhiMiwweDQwLDB4NGMsMHg5MCwweDIzLDB4MjQsMHgwOCwweGM5LDB4MDEgfSwKLSAgMTYsIDB4ZWYyMCwgMCwgezB4M2UsMHg0MCwweDBjLDB4OTAsMHgwMywweDI0LDB4MDAsMHhjMSwweDAwLDB4MzIsMHg0MCwweDBmLDB4MTQsMHgwYSwweDI1LDB4MjAgfSwKLSAgMTYsIDB4ZWYzMCwgMCwgezB4ZTksMHgwMCwweDNlLDB4NDIsMHgwZiwweDkwLDB4MDMsMHhjMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWY0MCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MGEsMHg4OSwweDAwLDB4MjIsMHg3MCwweDBiLDB4OTAsMHgxMiwweDI1LDB4ODAsMHhjOSwweDAwLDB4MjIgfSwKLSAgMTYsIDB4ZWY1MCwgMCwgezB4NDAsMHgwYSwweDkwLDB4MDMsMHg2NCwweDAwLDB4ODksMHgyMCwweDJjLDB4NDAsMHgwYSwweDkwLDB4MGEsMHgyNCwweDAwLDB4ODkgfSwKLSAgMTYsIDB4ZWY2MCwgMCwgezB4YzEsMHgzMiwweDQwLDB4MGIsMHg5OCwweDAyLDB4MDYsMHgwMCwweDg5LDB4OTAsMHgyZSwweDQwLDB4MGIsMHg5NCwweDEyLDB4ZTAgfSwKLSAgMTYsIDB4ZWY3MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDEsMHgwNCwweDAwLDB4ODksMHgwMCwweDZhLDB4NDIgfSwKLSAgMTYsIDB4ZWY4MCwgMCwgezB4MGEsMHgxMCwweDAyLDB4YTQsMHgwMCwweDg5LDB4MDAsMHhhMiwweDQwLDB4MGEsMHg5MCwweDAyLDB4MjQsMHgwMCwweDA5LDB4MDAgfSwKLSAgMTYsIDB4ZWY5MCwgMCwgezB4MmUsMHg0MCwweDU4LDB4MTAsMHgwMiwweDI0LDB4MDAsMHg4OSwweDgwLDB4YWEsMHg2MCwweDBiLDB4OTAsMHgwMiwweGE0LDB4MDQgfSwKLSAgMTYsIDB4ZWZhMCwgMCwgezB4YTksMHgwMCwweDJlLDB4NDAsMHgwYiwweDk0LDB4MDIsMHhjNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWZiMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4ODAsMHg4MSwweDAwLDB4NjAsMHg0OCwweDBiLDB4MTAsMHgwMiwweDA0LDB4ODEsMHg4MSwweDIwLDB4NjAgfSwKLSAgMTYsIDB4ZWZjMCwgMCwgezB4NDgsMHgwYSwweDEyLDB4MDIsMHg0NCwweDg4LDB4ODEsMHgwMCwweDBlLDB4NTksMHgwYSwweDE0LDB4MDIsMHgwNSwweDAwLDB4ODEgfSwKLSAgMTYsIDB4ZWZkMCwgMCwgezB4YzAsMHgyOCwweDUwLDB4NDksMHgzMCwweDAyLDB4OGMsMHg4NCwweDAxLDB4NjAsMHgyYywweDUwLDB4MGIsMHgxMCwweDAyLDB4YzIgfSwKLSAgMTYsIDB4ZWZlMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MSwweDQwLDB4YzAsMHg1NCwweDJhLDB4MDAgfSwKLSAgMTYsIDB4ZWZmMCwgMCwgezB4MGUsMHg4NSwweDAzLDB4YTAsMHgwMCwweGM4LDB4NTAsMHgzMiwweDE1LDB4MWUsMHgwNSwweDIyLDB4MjEsMHg0MiwweGM4LDB4MDAgfSwKLSAgMTYsIDB4ZjAwMCwgMCwgezB4M2UsMHgwMCwweDBjLDB4ODAsMHgwMywweDAwLDB4MDQsMHhjOCwweDAwLDB4M2EsMHgwMCwweDRmLDB4ODUsMHgwMywweGExLDB4NDAgfSwKLSAgMTYsIDB4ZjAxMCwgMCwgezB4NjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhlZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjAyMCwgMCwgezB4OTgsMHgxZCwweGU0LDB4NDAsMHhmZCwweDAzLDB4M2UsMHg0NCwweDBmLDB4ZDAsMHgwMywweGU0LDB4NDgsMHhlOSwweDEwLDB4M2UgfSwKLSAgMTYsIDB4ZjAzMCwgMCwgezB4NDUsMHgwZiwweDkxLDB4MTMsMHhlNCwweDQwLDB4ZmQsMHgwMCwweDNmLDB4NDQsMHgwZiwweGQwLDB4MDMsMHhmNCwweDAyLDB4ZmQgfSwKLSAgMTYsIDB4ZjA0MCwgMCwgezB4NDAsMHgzMywweDUwLDB4MGYsMHhkNCwweDIzLDB4NzQsMHg0MCwweGY5LDB4MTAsMHgzZiwweDQwLDB4MGYsMHg1NCwweDAzLDB4ZTYgfSwKLSAgMTYsIDB4ZjA1MCwgMCwgezB4MDIsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhlNCwweDAwLDB4ZjksMHgwMSwweDMzLDB4NmEgfSwKLSAgMTYsIDB4ZjA2MCwgMCwgezB4MDksMHg5MCwweDAzLDB4YjYsMHgzNCwweGY5LDB4YzgsMHgzMiwweDY0LDB4MGMsMHg5YSwweDAzLDB4ZTYsMHhhMCwweGRkLDB4MDAgfSwKLSAgMTYsIDB4ZjA3MCwgMCwgezB4M2MsMHg3MCwweDBmLDB4OTAsMHgwMywweGE1LDB4MDAsMHg4OSwweDgwLDB4MzMsMHgzMiwweDBmLDB4ZDgsMHgxMywweDNjLDB4MDAgfSwKLSAgMTYsIDB4ZjA4MCwgMCwgezB4ZmQsMHgwMCwweDcwLDB4NTAsMHgwZiwweGQwLDB4MDMsMHgwNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjA5MCwgMCwgezB4MzgsMHgxMCwweGUyLDB4ODAsMHhiOCwweGE4LDB4MjIsMHgxMCwweDA4LDB4ODgsMHgwMiwweDIxLDB4MDAsMHhiOCwweGMwLDB4MjAgfSwKLSAgMTYsIDB4ZjBhMCwgMCwgezB4MzAsMHgwZCwweDhlLDB4ODcsMHg4MywweDg4LDB4ODgsMHgwMCwweDJlLDB4MzQsMHgwYiwweDhhLDB4ODIsMHgyMiwweDgwLDB4ZGMgfSwKLSAgMTYsIDB4ZjBiMCwgMCwgezB4ZTAsMHgyMiwweDM4LDB4MGIsMHg4MCwweDAyLDB4MjAsMHgwMCwweGY4LDB4YTgsMHgyYSwweDI4LDB4MGIsMHg4MCwweDAyLDB4MGUgfSwKLSAgMTYsIDB4ZjBjMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweDIwLDB4YjEsMHgwMCwweDIwLDB4NDAgfSwKLSAgMTYsIDB4ZjBkMCwgMCwgezB4MGEsMHg5MiwweDkyLDB4ODQsMHgxMSwweGIxLDB4MjQsMHg2OCwweDU4LDB4MDksMHgxMSwweDAyLDB4YzQsMHgyMCwweDkxLDB4MDEgfSwKLSAgMTYsIDB4ZjBlMCwgMCwgezB4MmMsMHg0OCwweDFiLDB4NTAsMHgwMiwweDc0LDB4ODQsMHg5NSwweDQ4LDB4YWMsMHg0OCwweDBiLDB4OTQsMHgwMiwweDA0LDB4MDQgfSwKLSAgMTYsIDB4ZjBmMCwgMCwgezB4YjEsMHgwMiwweDI0LDB4NDgsMHgwYiwweDEwLDB4MDIsMHgwMiwweDA1LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjEwMCwgMCwgezB4MTgsMHgxMSwweGE0LDB4MDAsMHhiMSwweDIwLDB4MjIsMHg0MCwweDBhLDB4OTAsMHgwNiwweDJjLDB4MDEsMHhiOSwweDAwLDB4MmEgfSwKLSAgMTYsIDB4ZjExMCwgMCwgezB4NDAsMHgwOSwweDkwLDB4MDIsMHhhNCwweDAwLDB4OWIsMHgwOCwweDJlLDB4NDgsMHgwYiwweDEyLDB4MWEsMHg3NCwweDAwLDB4OTUgfSwKLSAgMTYsIDB4ZjEyMCwgMCwgezB4NDUsMHgyZSwweDYwLDB4MDMsMHg5MCwweDAyLDB4MjQsMHgwMCwweGI5LDB4MDAsMHgyZSwweDQwLDB4MGIsMHg5MCwweDAyLDB4MDYgfSwKLSAgMTYsIDB4ZjEzMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNCwweDAwLDB4ZjksMHg4MCwweDMwLDB4NDAgfSwKLSAgMTYsIDB4ZjE0MCwgMCwgezB4MGUsMHgxNiwweDAzLDB4YTQsMHgwMCwweGI5LDB4MDQsMHgzMiwweDQwLDB4MGQsMHg5MCwweDAyLDB4ZTQsMHgwMCwweGQ5LDB4NDAgfSwKLSAgMTYsIDB4ZjE1MCwgMCwgezB4MmUsMHg0MCwweDFmLDB4OTgsMHgwMywweGU1LDB4ODAsMHhkOSwweDAwLDB4YWUsMHg2MCwweDA3LDB4MTAsMHgwYiwweDI2LDB4MDEgfSwKLSAgMTYsIDB4ZjE2MCwgMCwgezB4YjksMHgwMCwweGE2LDB4NDAsMHgwZiwweDkwLDB4MGIsMHgyOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjE3MCwgMCwgezB4MjgsMHgwMSwweGE0LDB4MDAsMHhmOSwweDAwLDB4YmUsMHg0MCwweGFjLDB4OTIsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4YjQgfSwKLSAgMTYsIDB4ZjE4MCwgMCwgezB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZTksMHgwMCwweDNlLDB4NjAsMHgwZiwweDkwLDB4MDMsMHhhNCwweDgwLDB4ZjkgfSwKLSAgMTYsIDB4ZjE5MCwgMCwgezB4MDAsMHgzMiwweDAwLDB4MGYsMHg5MCwweDgzLDB4ZTYsMHg4NSwweGUxLDB4MDAsMHgzMiwweDQ0LDB4MGYsMHgxMCwweDAzLDB4Y2EgfSwKLSAgMTYsIDB4ZjFhMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMCwweDAwLDB4ZjgsMHgwMCwweDMyLDB4MDAgfSwKLSAgMTYsIDB4ZjFiMCwgMCwgezB4MGYsMHg4MCwweDEzLDB4ZTAsMHg5NCwweGUwLDB4MDAsMHgzMiwweDAwLDB4MGMsMHg4MCwweDAzLDB4NjAsMHgwMCwweGM4LDB4MDAgfSwKLSAgMTYsIDB4ZjFjMCwgMCwgezB4M2UsMHgwMCwweDBkLDB4ODAsMHg0MywweDIwLDB4MDgsMHhmOCwweDAwLDB4MzIsMHgwMCwweDBmLDB4ODAsMHgwMywweGUwLDB4NDAgfSwKLSAgMTYsIDB4ZjFkMCwgMCwgezB4ZjgsMHgwMCwweDMyLDB4MDAsMHg0YywweDgwLDB4MjMsMHhjYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjFlMCwgMCwgezB4MjgsMHgwNSwweDI4LDB4MDAsMHhiYSwweDAwLDB4MjMsMHg4MCwweDBiLDB4YTAsMHgwMiwweGZiLDB4MDQsMHg2YSwweDAwLDB4MjIgfSwKLSAgMTYsIDB4ZjFmMCwgMCwgezB4ODAsMHgwYSwweGEwLDB4MDMsMHg2OCwweDBhLDB4OGUsMHg4OCwweDNhLDB4ODAsMHgwOCwweGEwLDB4MDIsMHgwOCwweDAwLDB4YmEgfSwKLSAgMTYsIDB4ZjIwMCwgMCwgezB4MDAsMHhiNywweDIyLDB4MDMsMHhlNCwweDAyLDB4ZmEsMHgwMCwweDhhLDB4MDAsMHgyMiwweDgwLDB4MDgsMHhlOCwweDAyLDB4Y2EgfSwKLSAgMTYsIDB4ZjIxMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAwLDB4YjMsMHgwMCwweDYwLDB4NDEgfSwKLSAgMTYsIDB4ZjIyMCwgMCwgezB4MDMsMHgzMCwweDAyLDB4Y2MsMHg0MSwweGEzLDB4MDAsMHgwNCwweGMwLDB4MGIsMHgzMCwweDAyLDB4MmMsMHgwMCwweGEzLDB4ODAgfSwKLSAgMTYsIDB4ZjIzMCwgMCwgezB4MmMsMHhjMCwweDA5LDB4MzgsMHgwMiwweDBjLDB4MDAsMHhiMywweDAwLDB4YTAsMHhjMCwweDBiLDB4MzQsMHgwMiwweGNjLDB4ODAgfSwKLSAgMTYsIDB4ZjI0MCwgMCwgezB4YTEsMHgwMCwweDIwLDB4YzAsMHgwOCwweDM4LDB4MDIsMHhjYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjI1MCwgMCwgezB4YTAsMHgwMSwweDFjLDB4NDAsMHhiNywweDAwLDB4NjEsMHgwMCwweDBiLDB4NzEsMHgwMiwweGRjLDB4MDAsMHhhMywweDAwLDB4MjUgfSwKLSAgMTYsIDB4ZjI2MCwgMCwgezB4YzgsMHgxOSwweDM4LDB4MDIsMHg1YywweDgwLDB4YTcsMHgwMCwweDBmLDB4ZTgsMHgwOSwweDY0LDB4MjIsMHgxMCwweDAwLDB4YjMgfSwKLSAgMTYsIDB4ZjI3MCwgMCwgezB4MDAsMHgyNSwweGM4LDB4MGIsMHg2MCwweDAyLDB4ZjIsMHgwMCwweDg1LDB4MDEsMHgyMywweGU4LDB4MDgsMHg3MCwweDgyLDB4ZTggfSwKLSAgMTYsIDB4ZjI4MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZSwweDIwLDB4ZmYsMHg4MCwweGExLDB4YTAgfSwKLSAgMTYsIDB4ZjI5MCwgMCwgezB4MGYsMHg3YSwweDQyLDB4ZGEsMHgwMCwweGU3LDB4ZTgsMHgzNSwweGYwLDB4MmYsMHg3YiwweDYyLDB4MWUsMHg4MiwweGU2LDB4ODAgfSwKLSAgMTYsIDB4ZjJhMCwgMCwgezB4MWQsMHhlMCwweDBkLDB4ZjgsMHgwYiwweDFlLDB4MDAsMHhmNywweDgwLDB4MzEsMHhmMCwweDBmLDB4NzgsMHgwMywweGRlLDB4MGMgfSwKLSAgMTYsIDB4ZjJiMCwgMCwgezB4ZWYsMHg4MCwweDMxLDB4ZjgsMHgyYywweDc4LDB4MDMsMHhlYSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjJjMCwgMCwgezB4MDgsMHgxZCwweGFkLDB4ODQsMHhmYiwweDY4LDB4M2UsMHgwMCwweDBmLDB4YjAsMHgwMywweGU4LDB4MDAsMHhmYiwweDAwLDB4ZmEgfSwKLSAgMTYsIDB4ZjJkMCwgMCwgezB4ZDgsMHgwZSwweGI1LDB4MDMsMHhlZCwweDAwLDB4ZGIsMHgwMCwweDNhLDB4YzAsMHg4ZSwweGEwLDB4MDMsMHhlMCwweDAwLDB4ZmIgfSwKLSAgMTYsIDB4ZjJlMCwgMCwgezB4NDAsMHgzZSwweGMwLDB4MGIsMHhiMCwweDQzLDB4YzQsMHgwNCwweGVmLDB4MDIsMHhiZiwweGMwLDB4MGYsMHhiMCwweDAzLDB4YzIgfSwKLSAgMTYsIDB4ZjJmMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmZSwweDQyLDB4YzcsMHgzOCwweDMzLDB4NjQgfSwKLSAgMTYsIDB4ZjMwMCwgMCwgezB4MGUsMHg3YywweDAzLDB4NWUsMHgwMCwweGRmLDB4YTAsMHgzNywweGYwLDB4MGQsMHhmOCwweDAzLDB4ZmYsMHgyMCwweGNmLDB4ODEgfSwKLSAgMTYsIDB4ZjMxMCwgMCwgezB4MzMsMHhlMiwweDBjLDB4ZDgsMHgwMywweGJlLDB4MDAsMHg3ZiwweGMwLDB4MzMsMHhlMCwweDBjLDB4ZjksMHgwMywweDdlLDB4MDAgfSwKLSAgMTYsIDB4ZjMyMCwgMCwgezB4ZmQsMHg4MCwweDNmLDB4ZTAsMHgwZiwweGY4LDB4MDMsMHhjMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjMzMCwgMCwgezB4YTgsMHgxMSwweDljLDB4MDAsMHg4NywweGEwLDB4MjEsMHgxNCwweDA4LDB4NzEsMHgwMiwweDE0LDB4MTAsMHhkNywweDIwLDB4MzUgfSwKLSAgMTYsIDB4ZjM0MCwgMCwgezB4YzAsMHgwYywweDcwLDB4MDMsMHhiYywweDAwLDB4ODUsMHgwOCwweDJiLDB4YzAsMHg0ZCwweDQ2LDB4MDIsMHhkMSwweDAwLDB4YjcgfSwKLSAgMTYsIDB4ZjM1MCwgMCwgezB4MDAsMHgyMSwweGMwLDB4MDgsMHg2MCwweDAyLDB4MDgsMHg4MCwweGY1LDB4MjAsMHgzZCwweGNhLDB4MGYsMHg1NCwweDAzLDB4ZWEgfSwKLSAgMTYsIDB4ZjM2MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5YywweDExLDB4OGYsMHgwMSwweDIwLDB4ODQgfSwKLSAgMTYsIDB4ZjM3MCwgMCwgezB4MWEsMHhmMCwweDAyLDB4MTgsMHgwMCwweGE3LDB4MzQsMHg2NSwweGMwLDB4MDksMHg3MSwweDAyLDB4ZGMsMHgwMCwweDhlLDB4MDAgfSwKLSAgMTYsIDB4ZjM4MCwgMCwgezB4MjksMHhjMCwweDA4LDB4NTAsMHgwNiwweDljLDB4MDAsMHhiZiwweDg4LDB4MmQsMHhjNCwweDBhLDB4NjAsMHgyNiwweDU4LDB4MjQgfSwKLSAgMTYsIDB4ZjM5MCwgMCwgezB4OTcsMHgwMCwweDZkLDB4YzAsMHg5YiwweDcwLDB4MDIsMHhjMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjNhMCwgMCwgezB4MjAsMHgxNCwweGNjLDB4MDAsMHg4YiwweDQwLDB4MjAsMHgwMCwweDE4LDB4MzAsMHgwMiwweDAwLDB4MDAsMHhiYiwweDAyLDB4MjQgfSwKLSAgMTYsIDB4ZjNiMCwgMCwgezB4YzAsMHgwOCwweDMwLDB4MjAsMHhjYywweDAwLDB4ODEsMHhjMCwweDI4LDB4YzAsMHgwYiwweDA0LDB4ODIsMHhlMCwweDEwLDB4YmIgfSwKLSAgMTYsIDB4ZjNjMCwgMCwgezB4YTAsMHgyYywweGUwLDB4MGEsMHgyMCwweDA2LDB4MDAsMHgwMCwweGIzLDB4MDAsMHgyOCwweGMwLDB4MGEsMHgxMCwweDAyLDB4ODggfSwKLSAgMTYsIDB4ZjNkMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhiYywweDAwLDB4Y2YsMHgxMCwweDMyLDB4MDAgfSwKLSAgMTYsIDB4ZjNlMCwgMCwgezB4MGUsMHhmMCwweDBiLDB4MjQsMHgwMCwweGVmLDB4MDAsMHgzNywweGMwLDB4MGQsMHhmMCwweDAzLDB4ZmMsMHgwNiwweGMxLDB4NTAgfSwKLSAgMTYsIDB4ZjNmMCwgMCwgezB4M2IsMHhjMCwweDBjLDB4YjQsMHgwMywweGFjLDB4MDAsMHhmOCwweGMwLDB4YmUsMHhjOCwweDJlLDB4YjAsMHgwMywweDZlLDB4MDEgfSwKLSAgMTYsIDB4ZjQwMCwgMCwgezB4ZmIsMHgwMCwweDJkLDB4YzAsMHg0YiwweDkwLDB4MDIsMHhlYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjQxMCwgMCwgezB4ODAsMHgwMCwweGVjLDB4MDQsMHhmYiwweDAwLDB4M2UsMHgwMCwweDBmLDB4YjAsMHgwMywweGFkLDB4MDAsMHg5YiwweDAwLDB4M2UgfSwKLSAgMTYsIDB4ZjQyMCwgMCwgezB4YzAsMHgwZiwweDMwLDB4MDMsMHhhYywweDAwLDB4ZjgsMHgwMCwweDJlLDB4YzAsMHgwNSwweGI0LDB4MDMsMHhlZCwweDAwLDB4ZjggfSwKLSAgMTYsIDB4ZjQzMCwgMCwgezB4NDAsMHgzMiwweGMwLDB4MDksMHgwMCwweDAzLDB4ZTAsMHg5MSwweGUzLDB4MDAsMHgzZSwweGMwLDB4MGYsMHg5MCwweDExLDB4ZTAgfSwKLSAgMTYsIDB4ZjQ0MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhlYywweDAwLDB4ZWYsMHgwMCwweDMzLDB4MjAgfSwKLSAgMTYsIDB4ZjQ1MCwgMCwgezB4NGYsMHhmMCwweDAzLDB4YjQsMHgwMCwweGVmLDB4MDMsMHgzYSwweGMwLDB4MGYsMHhmMCwweDAzLDB4M2MsMHgwMCwweGRjLDB4MDAgfSwKLSAgMTYsIDB4ZjQ2MCwgMCwgezB4MzEsMHhjMCwweDhkLDB4ZjgsMHgwMywweGZlLDB4MDQsMHhjZiwweDAwLDB4MzIsMHhjOCwweDBjLDB4ZjAsMHgwYiwweDFjLDB4MDAgfSwKLSAgMTYsIDB4ZjQ3MCwgMCwgezB4Y2YsMHg5MywweDMzLDB4YzAsMHg4YywweDQwLDB4MDIsMHgwMCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjQ4MCwgMCwgezB4ODEsMHgwNCwweDZjLDB4MDAsMHhiYiwweDAwLDB4YTIsMHgwNCwweDBiLDB4MzAsMHgwMiwweDBlLDB4MDAsMHhhYiwweDAwLDB4MmEgfSwKLSAgMTYsIDB4ZjQ5MCwgMCwgezB4YzAsMHgwOSwweGIwLDB4MDMsMHg2YywweDA4LDB4YTgsMHhjMCwweDM2LDB4YzAsMHgwOCwweGJjLDB4MDIsMHhlZiwweDAyLDB4YWIgfSwKLSAgMTYsIDB4ZjRhMCwgMCwgezB4ZDAsMHgyMCwweGUwLDB4MDgsMHhiOCwweDIyLDB4MjYsMHgxMCwweDhiLDB4MDAsMHgyMiwweGMwLDB4MjAsMHg5YywweDAyLDB4MjAgfSwKLSAgMTYsIDB4ZjRiMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAwLDB4YmIsMHgwMCwweDI2LDB4MDAgfSwKLSAgMTYsIDB4ZjRjMCwgMCwgezB4MGEsMHhiMCwweDAyLDB4YTIsMHgwOCwweGFiLDB4MDAsMHg2YSwweGMwLDB4MGIsMHhiMCwweDBhLDB4MGMsMHgwMCwweDhiLDB4ODAgfSwKLSAgMTYsIDB4ZjRkMCwgMCwgezB4MjIsMHhjMCwweDA5LDB4YjEsMHgwMiwweGVjLDB4NDAsMHg4OCwweDA4LDB4MjIsMHhjMCwweDA4LDB4YjgsMHgwMiwweDI2LDB4MDAgfSwKLSAgMTYsIDB4ZjRlMCwgMCwgezB4OGIsMHgwMCwweDIyLDB4YzAsMHgwOCwweDk4LDB4MDIsMHhhMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjRmMCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDAsMHhiMywweDAwLDB4MjQsMHgwMCwweDBiLDB4YjAsMHgwMiwweDAwLDB4MDEsMHg4MywweDAwLDB4MjAgfSwKLSAgMTYsIDB4ZjUwMCwgMCwgezB4YzAsMHgwOSwweDMwLDB4MDIsMHg0YywweDAwLDB4MDAsMHgwNCwweDI0LDB4YzAsMHgwOCwweDMwLDB4MDYsMHg0YywweDAwLDB4ODAgfSwKLSAgMTYsIDB4ZjUxMCwgMCwgezB4MDAsMHgyYywweGMwLDB4MDgsMHgwMCwweDAyLDB4MDAsMHg0MSwweDgzLDB4MDAsMHhhMiwweGMwLDB4MDgsMHgxMCwweDBhLDB4ODIgfSwKLSAgMTYsIDB4ZjUyMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg3YywweDAwLDB4ZWYsMHgwOCwweDI2LDB4MDAgfSwKLSAgMTYsIDB4ZjUzMCwgMCwgezB4MGUsMHhmMCwweDAyLDB4YTAsMHgwMCwweGU3LDB4MDAsMHgzYiwweGMwLDB4MGYsMHhmNSwweDQzLDB4M2MsMHgwMiwweGRhLDB4MDAgfSwKLSAgMTYsIDB4ZjU0MCwgMCwgezB4MzIsMHhjMCwweDBkLDB4YjAsMHgwMywweGVjLDB4MDAsMHhjYiwweDAwLDB4YjIsMHhjMCwweDBjLDB4YTAsMHgwMywweDI4LDB4MTAgfSwKLSAgMTYsIDB4ZjU1MCwgMCwgezB4Y2IsMHgwMCwweDMyLDB4YzAsMHgwYywweDgwLDB4MDMsMHg4MCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjU2MCwgMCwgezB4YTAsMHgwZCwweGZjLDB4MDAsMHhmYiwweDAwLDB4M2IsMHgwMCwweDBmLDB4ZjAsMHgwMywweGYwLDB4MDAsMHhmZiwweDAyLDB4M2YgfSwKLSAgMTYsIDB4ZjU3MCwgMCwgezB4YzAsMHgwZCwweGYyLDB4MDMsMHhiYywweDAwLDB4ZjQsMHgwMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmYywweDAwLDB4ZjcgfSwKLSAgMTYsIDB4ZjU4MCwgMCwgezB4MDAsMHgzMywweGMwLDB4MGYsMHg2MCwweDAzLDB4ZjAsMHg4OCwweGZmLDB4MDAsMHgzZiwweGMwLDB4NGYsMHhkMCwweDAzLDB4NjggfSwKLSAgMTYsIDB4ZjU5MCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmYywweDQwLDB4ZmMsMHgzMSwweDNiLDB4MDggfSwKLSAgMTYsIDB4ZjVhMCwgMCwgezB4NGYsMHhmOSwweDQzLDB4ZWYsMHgwMCwweGRmLDB4MzAsMHgzMiwweDIxLDB4MGYsMHg5NCwweDA3LDB4N2QsMHg4MCwweGVmLDB4MzggfSwKLSAgMTYsIDB4ZjViMCwgMCwgezB4MzIsMHgwOSwweDFjLDB4MzgsMHgwMywweGYyLDB4MjEsMHhmZCwweDAwLDB4MzMsMHhjNCwweDBjLDB4ZjAsMHgwMiwweGZjLDB4MDAgfSwKLSAgMTYsIDB4ZjVjMCwgMCwgezB4ZGYsMHgwMCwweDMzLDB4YzAsMHgwZiwweGYwLDB4MDMsMHgzMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjVkMCwgMCwgezB4ODAsMHgxMCwweGVjLDB4ODgsMHg4YiwweDYwLDB4MjIsMHhlNSwweDBlLDB4YjIsMHgyMiwweGVjLDB4ODAsMHhhZiwweDExLDB4MmEgfSwKLSAgMTYsIDB4ZjVlMCwgMCwgezB4MjAsMHgwYiwweGIxLDB4MTMsMHhhYywweDQ4LDB4OGIsMHg0NSwweDM0LDB4Y2MsMHg0OCwweGIwLDB4MDIsMHg2YiwweDAwLDB4YmEgfSwKLSAgMTYsIDB4ZjVmMCwgMCwgezB4ODIsMHgzNiwweDAwLDB4MDgsMHg4OCwweDIyLDB4YzAsMHgwNCwweDg4LDB4MDAsMHhhMiwweDA4LDB4OGIsMHg4OCwweDYyLDB4MjAgfSwKLSAgMTYsIDB4ZjYwMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDAwLDB4YTEsMHgzMCwweDI4LDB4MDAgfSwKLSAgMTYsIDB4ZjYxMCwgMCwgezB4MGIsMHgzMiwweDAyLDB4Y2MsMHgwMCwweGEzLDB4MjIsMHgyYywweDAwLDB4OGIsMHgxMiwweDA2LDB4YzgsMHg4MCwweGEzLDB4MDAgfSwKLSAgMTYsIDB4ZjYyMCwgMCwgezB4MjAsMHgwMiwweGNhLDB4MzAsMHgwNiwweGM0LDB4MDEsMHhiMSwweDAwLDB4NjgsMHg4MCwweDA5LDB4MjAsMHgwMiwweDg4LDB4MDAgfSwKLSAgMTYsIDB4ZjYzMCwgMCwgezB4ODMsMHgwMCwweDIwLDB4YzIsMHgwYiwweDAwLDB4MGEsMHhhMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjY0MCwgMCwgezB4YzAsMHgxNSwweGFjLDB4MDAsMHg4YiwweDYxLDB4NjIsMHhjMCwweDBiLDB4YjIsMHgwMiwweGU4LDB4MDAsMHhhYiwweDAyLDB4MmEgfSwKLSAgMTYsIDB4ZjY1MCwgMCwgezB4NjEsMHgxYiwweDkwLDB4MDIsMHhhOCwweDAwLDB4YWIsMHgwMCwweDIwLDB4YzAsMHgwYSwweGIwLDB4MDIsMHg2YywweDA0LDB4YmEgfSwKLSAgMTYsIDB4ZjY2MCwgMCwgezB4MDAsMHgyZSwweDQwLDB4ODksMHg5MCwweDAyLDB4ZTYsMHgwOCwweDk4LDB4MDAsMHgyMiwweDAwLDB4MGIsMHhiMCwweDAyLDB4YjAgfSwKLSAgMTYsIDB4ZjY3MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlZSwweDAwLDB4ZjgsMHgwMSwweDNhLDB4MDQgfSwKLSAgMTYsIDB4ZjY4MCwgMCwgezB4MGYsMHhhYywweDAzLDB4ZWMsMHg5MCwweGZiLDB4MDIsMHgzZSwweGUwLDB4MGIsMHg5MCwweDQyLDB4NjcsMHg4MCwweGE4LDB4YzQgfSwKLSAgMTYsIDB4ZjY5MCwgMCwgezB4MjIsMHg0OCwweDIyLDB4ODYsMHgwMywweGUxLDB4NDAsMHhiOCwweDAyLDB4MmEsMHg0MCwweDI5LDB4OTAsMHgwMywweGVjLDB4MDIgfSwKLSAgMTYsIDB4ZjZhMCwgMCwgezB4YzksMHg0OCwweDMyLDB4NDAsMHgwZiwweGIwLDB4MTMsMHg5MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjZiMCwgMCwgezB4ZTAsMHgwMSwweGFjLDB4NDAsMHhmYiwweDAwLDB4MWYsMHhhMiwweDBlLDB4ZjgsMHg4MiwweGZjLDB4MDgsMHhmZiwweDAwLDB4M2YgfSwKLSAgMTYsIDB4ZjZjMCwgMCwgezB4YzAsMHgwZiwweGZhLDB4NDMsMHg5NiwweDQ0LDB4ZDQsMHg5MSwweDNmLDB4NDAsMHgwZCwweGMwLDB4MDMsMHhmYSwweDAwLDB4ZmYgfSwKLSAgMTYsIDB4ZjZkMCwgMCwgezB4MDgsMHgyNSwweDgwLDB4MGUsMHhlMCwweDAzLDB4ZDAsMHgwMCwweGVhLDB4MDAsMHgzZiwweDgwLDB4MGYsMHhjMCwweDAzLDB4NzggfSwKLSAgMTYsIDB4ZjZlMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhYywweDAwLDB4ZTEsMHgyMCwweDNhLDB4NTAgfSwKLSAgMTYsIDB4ZjZmMCwgMCwgezB4MGYsMHg5MCwweDAzLDB4MmMsMHgwMCwweGViLDB4MDgsMHg3NiwweDA1LDB4MGUsMHhiMCwweDI3LDB4ZTAsMHgxMCwweGVhLDB4NDAgfSwKLSAgMTYsIDB4ZjcwMCwgMCwgezB4YjIsMHhjMCwweDBjLDB4YTQsMHg0MywweDI1LDB4MDAsMHhmOCwweDAwLDB4MzIsMHgwOCwweDBmLDB4ODAsMHg0MywweGU4LDB4MDAgfSwKLSAgMTYsIDB4ZjcxMCwgMCwgezB4ZDEsMHgwOCwweGVlLDB4NDAsMHgwZiwweDAwLDB4MDMsMHhkMCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjcyMCwgMCwgezB4YzgsMHgwNSwweDJjLDB4MDAsMHg4YiwweDAwLDB4MjIsMHhkMCwweDBiLDB4OTAsMHg4MiwweDJjLDB4MDAsMHg4NywweDQwLDB4MjIgfSwKLSAgMTYsIDB4ZjczMCwgMCwgezB4NjAsMHg4YiwweGIwLDB4MDIsMHhlMCwweDAwLDB4ZDgsMHg1MCwweDIyLDB4ZDAsMHgwYywweGEwLDB4MDMsMHg2YywweDAwLDB4YjMgfSwKLSAgMTYsIDB4Zjc0MCwgMCwgezB4YzgsMHgzZSwweGQwLDB4MGIsMHhiOCwweDAyLDB4MjUsMHgwOCwweDhhLDB4MjAsMHgyYSwweDgwLDB4OGIsMHhiOCwweDgyLDB4ZjIgfSwKLSAgMTYsIDB4Zjc1MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg2NCwweDAwLDB4YTAsMHhjMCwweDI0LDB4YzAgfSwKLSAgMTYsIDB4Zjc2MCwgMCwgezB4MDksMHgzOCwweDAyLDB4MmMsMHgwMCwweDgzLDB4MDMsMHgyMCwweDAwLDB4MTAsMHgzMCwweDIyLDB4Y2MsMHgwMCwweDgzLDB4MDAgfSwKLSAgMTYsIDB4Zjc3MCwgMCwgezB4NjAsMHgwOCwweDBhLDB4MzAsMHg4MiwweDRjLDB4MDAsMHhiMSwweGMwLDB4MDAsMHhkMSwweDBiLDB4MzgsMHgwMiwweDg0LDB4ODAgfSwKLSAgMTYsIDB4Zjc4MCwgMCwgezB4ODIsMHgwMSwweDIwLDB4ODAsMHgwMywweDM4LDB4MDIsMHhmOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Zjc5MCwgMCwgezB4MjAsMHgwMSwweDE2LDB4NDAsMHg4NCwweDk4LDB4MjUsMHhlMCwweDBiLDB4N2EsMHgwMiwweGZhLDB4NDgsMHhhMywweDIwLDB4NjEgfSwKLSAgMTYsIDB4ZjdhMCwgMCwgezB4MjQsMHgwYiwweDc5LDB4MDAsMHhjZSwweGMwLDB4OTMsMHhhNCwweDIxLDB4YTYsMHgwYiwweDc4LDB4MTIsMHhkZSwweDgwLDB4YjYgfSwKLSAgMTYsIDB4ZjdiMCwgMCwgezB4ODAsMHgyZCwweDI0LDB4MGIsMHg0YiwweDAyLDB4MWEsMHg0MCwweDg1LDB4ODEsMHgyMSwweDYwLDB4MGIsMHg0OCwweDAyLDB4YzggfSwKLSAgMTYsIDB4ZjdjMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDAwLDB4ZTIsMHhhMCwweGI0LDB4ZmUgfSwKLSAgMTYsIDB4ZjdkMCwgMCwgezB4NGIsMHhiOCwweDBiLDB4MGUsMHgwMCwweGEzLDB4YjAsMHgyNCwweGE4LDB4MGUsMHgxYiwweDAyLDB4Y2UsMHhjMSwweGMzLDB4YzAgfSwKLSAgMTYsIDB4ZjdlMCwgMCwgezB4MzAsMHg2OCwweDJlLDB4M2EsMHg0NywweDRlLDB4ODAsMHhmMSwweDgwLDB4MzAsMHg4MCwweDBmLDB4MjIsMHg4MywweDgwLDB4MDAgfSwKLSAgMTYsIDB4ZjdmMCwgMCwgezB4YzIsMHgxMCwweDM4LDB4ODAsMHg0ZiwweDAwLDB4MDcsMHhkMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjgwMCwgMCwgezB4NDAsMHgwZCwweGJjLDB4MTAsMHhmZSwweDA0LDB4M2IsMHhjMSwweDA3LDB4ZjAsMHgwMywweDFjLDB4YzgsMHhkZiwweDJhLDB4MGIgfSwKLSAgMTYsIDB4ZjgxMCwgMCwgezB4YzQsMHg4ZiwweGQxLDB4NDMsMHhmOCwweDAyLDB4N2YsMHgwMCwweDNmLDB4YzAsMHgwYywweGYxLDB4MGYsMHgzYywweDAwLDB4ZjIgfSwKLSAgMTYsIDB4ZjgyMCwgMCwgezB4MTEsMHgzZiwweDQxLDB4MWYsMHg1MiwweDAzLDB4YmMsMHgwZSwweGVkLDB4MTQsMHgzZiwweDQwLDB4MGYsMHhmOCwweDAzLDB4ZDAgfSwKLSAgMTYsIDB4ZjgzMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlNCwweDAwLDB4ZTksMHgwMCwweDMyLDB4ODAgfSwKLSAgMTYsIDB4Zjg0MCwgMCwgezB4MGUsMHhiZSwweDRiLDB4NmYsMHgwMCwweGNiLDB4ODIsMHg3YSwweGMwLDB4MmMsMHhiMCwweDAzLDB4MmMsMHgwMCwweGM5LDB4MDAgfSwKLSAgMTYsIDB4Zjg1MCwgMCwgezB4MzIsMHgwMCwweDJjLDB4MTAsMHgwMywweDJjLDB4MDgsMHhjMCwweDAwLDB4MjYsMHg0MCwweDZjLDB4OTAsMHgxMywweDI0LDB4MTIgfSwKLSAgMTYsIDB4Zjg2MCwgMCwgezB4YzgsMHgwMSwweDNlLDB4MDAsMHgwZiwweGI4LDB4MGIsMHgyYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Zjg3MCwgMCwgezB4NDgsMHgxMSwweDk0LDB4MDAsMHg4ZCwweDAwLDB4MjEsMHg4MCwweDBiLDB4NzAsMHg4MiwweDNjLDB4MjAsMHg4MywweDMyLDB4MjkgfSwKLSAgMTYsIDB4Zjg4MCwgMCwgezB4YzAsMHgwOCwweGYwLDB4MjAsMHgxNCwweDAwLDB4ODAsMHgwMCwweDIzLDB4MDAsMHgwOCwweDUwLDB4MDYsMHg5YywweDA0LDB4ZDcgfSwKLSAgMTYsIDB4Zjg5MCwgMCwgezB4MDIsMHgyOCwweDgwLDB4MDgsMHg2MCwweDAyLDB4MDgsMHgxMCwweDg3LDB4MDAsMHgyZCwweGMwLDB4MGIsMHg0MCwweDAyLDB4MTIgfSwKLSAgMTYsIDB4ZjhhMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZSwweDAwLDB4YTcsMHg4MCwweDIxLDB4ZTAgfSwKLSAgMTYsIDB4ZjhiMCwgMCwgezB4MGIsMHg1YywweDEyLDB4MWUsMHgwNCwweDg3LDB4ODIsMHgwZCwweGEwLDB4MDksMHg3OCwweDE2LDB4MDIsMHgwMCwweGI0LDB4ODAgfSwKLSAgMTYsIDB4ZjhjMCwgMCwgezB4MjUsMHhlMCwweDBiLDB4NzgsMHgwMiwweDllLDB4MDAsMHg4NCwweDgwLDB4MjEsMHgyMiwweDA4LDB4MDgsMHgwMiwweDEyLDB4MDEgfSwKLSAgMTYsIDB4ZjhkMCwgMCwgezB4ODQsMHhjMCwweDJkLDB4MjAsMHgwYiwweDA4LDB4MDIsMHgzMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjhlMCwgMCwgezB4NDgsMHgxNCwweGNjLDB4MDAsMHg4MywweDQyLDB4YTAsMHhkOCwweDBiLDB4MzQsMHg4MiwweDBjLDB4MDAsMHhhMywweDAyLDB4MjAgfSwKLSAgMTYsIDB4ZjhmMCwgMCwgezB4ZTAsMHgwOCwweGIwLDB4MDIsMHgwYywweDg4LDB4YjMsMHgyMSwweDI0LDB4ZDgsMHgwYiwweDNlLDB4MDIsMHg4YywweDAwLDB4OTMgfSwKLSAgMTYsIDB4ZjkwMCwgMCwgezB4MDgsMHgyOCwweGMwLDB4MDgsMHgzOCwweDAyLDB4MmMsMHgwNSwweDhiLDB4MDEsMHgyYywweGUwLDB4MGIsMHgzMCwweDAyLDB4MTIgfSwKLSAgMTYsIDB4ZjkxMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOCwweDAwLDB4ZWUsMHgwMCwweDMzLDB4OTAgfSwKLSAgMTYsIDB4ZjkyMCwgMCwgezB4MGYsMHhhMCwweDBiLDB4NjgsMHgwMCwweGNhLDB4MDEsMHg3ZiwweGE4LDB4MGMsMHhhYSwweDAzLDB4M2EsMHgxMiwweGZlLDB4ZTIgfSwKLSAgMTYsIDB4ZjkzMCwgMCwgezB4MzcsMHhiMCwweDBmLDB4ZWUsMHgwMiwweDE4LDB4MDAsMHhjYSwweDQwLDB4MzYsMHhhMCwweDA4LDB4YTAsMHg4YiwweDI4LDB4MDAgfSwKLSAgMTYsIDB4Zjk0MCwgMCwgezB4Y2EsMHg4MSwweDJlLDB4YTAsMHgwZiwweGUwLDB4MDMsMHgzYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Zjk1MCwgMCwgezB4NDgsMHgwMCwweGUwLDB4MDAsMHhmOCwweDA4LDB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweGEyLDB4MDIsMHhkOCwweDQwLDB4M2UgfSwKLSAgMTYsIDB4Zjk2MCwgMCwgezB4MDgsMHgwZiwweDgwLDB4MTMsMHhlMCwweDQwLDB4NDgsMHg0MCwweGI4LDB4MDQsMHgwOCwweDg0LDB4MDMsMHg2MSwweDAwLDB4ZmMgfSwKLSAgMTYsIDB4Zjk3MCwgMCwgezB4MDAsMHgzZiwweDAwLDB4NGYsMHhjMCwweDAzLDB4ZjEsMHgwMCwweGZjLDB4MDAsMHgzZiwweDA0LDB4MGYsMHhjMCwweDAzLDB4ZDIgfSwKLSAgMTYsIDB4Zjk4MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhjNCwweDAwLDB4ZjksMHgwMCwweDMwLDB4NTAgfSwKLSAgMTYsIDB4Zjk5MCwgMCwgezB4NGMsMHhiOSwweDAzLDB4NmMsMHgxOCwweGY5LDB4MDAsMHgzNiwweDQwLDB4MGUsMHg5YywweDIzLDB4YTQsMHgwMiwweDQxLDB4MDAgfSwKLSAgMTYsIDB4ZjlhMCwgMCwgezB4YjIsMHg0NCwweDBlLDB4OWEsMHgwMywweGE2LDB4ODAsMHhjOSwweDAwLDB4M2EsMHg2MCwweDBhLDB4OTAsMHgwMywweGE0LDB4ODAgfSwKLSAgMTYsIDB4ZjliMCwgMCwgezB4YzksMHgwMCwweDM0LDB4NDAsMHgwYywweDkwLDB4MDMsMHhjMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjljMCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDAsMHg4OSwweDQwLDB4MjIsMHg3OCwweDA4LDB4OTQsMHgwMiwweGU0LDB4MTAsMHhiOSwweDAwLDB4M2MgfSwKLSAgMTYsIDB4ZjlkMCwgMCwgezB4NjIsMHgxOCwweDk0LDB4ODIsMHhhNCwweDAwLDB4ODksMHhjOCwweDIyLDB4NzAsMHg0OCwweDFlLDB4MDEsMHg2NywweDgwLDB4ZDEgfSwKLSAgMTYsIDB4ZjllMCwgMCwgezB4MDAsMHhiYywweDQyLDB4MDgsMHgxMCwweDAyLDB4MjUsMHgyMCwweDg5LDB4MDIsMHgyMiwweDQwLDB4MDgsMHg5MCwweDAyLDB4ZTAgfSwKLSAgMTYsIDB4ZjlmMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDAwLDB4YjEsMHgyOCwweDIyLDB4NDAgfSwKLSAgMTYsIDB4ZmEwMCwgMCwgezB4MDgsMHhiMCwweDgyLDB4NjQsMHgwNCwweDM5LDB4NDEsMHgyZSwweDQ4LDB4MGEsMHg5MCwweDAyLDB4MDQsMHgxOCwweGE5LDB4MjAgfSwKLSAgMTYsIDB4ZmExMCwgMCwgezB4MjIsMHg0MiwweDRhLDB4OTAsMHgwMiwweDJjLDB4MDQsMHg4OSwweDA0LDB4MmIsMHg0OCwweDAyLDB4ZDAsMHgwMiwweGI0LDB4MGEgfSwKLSAgMTYsIDB4ZmEyMCwgMCwgezB4OGQsMHg4MCwweDIzLDB4YzAsMHg0OCwweGQwLDB4MDIsMHhjNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmEzMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4ODAsMHg4MSwweDIwLDB4YTAsMHg0OCwweDI4LDB4MTAsMHgwMiwweGM0LDB4MDAsMHhiMSwweDI0LDB4MmEgfSwKLSAgMTYsIDB4ZmE0MCwgMCwgezB4NDAsMHgwOCwweDEyLDB4NDIsMHg4NSwweDgwLDB4YTEsMHgyMCwweGEwLDB4NDgsMHgwOCwweDkwLDB4MDIsMHg0NCwweDAwLDB4OTUgfSwKLSAgMTYsIDB4ZmE1MCwgMCwgezB4MmMsMHgyZCwweDVhLDB4MGEsMHg3MiwweDgyLDB4MTQsMHhhMCwweDg1LDB4YTgsMHgyMSwweDRhLDB4MDgsMHg1MiwweDgyLDB4YzIgfSwKLSAgMTYsIDB4ZmE2MCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg0MSwweDQwLDB4ZjgsMHg1MCwweDMyLDB4MDAgfSwKLSAgMTYsIDB4ZmE3MCwgMCwgezB4OGMsMHgwNSwweDAzLDB4NjEsMHg0MCwweGY4LDB4NTEsMHgyZSwweDAwLDB4MGEsMHg4NSwweDAyLDB4MjAsMHgwMCwweGU4LDB4NTAgfSwKLSAgMTYsIDB4ZmE4MCwgMCwgezB4MzIsMHgxNCwweDA2LDB4ODUsMHgxNywweGEwLDB4MDAsMHhjOCwweDIwLDB4M2EsMHgwOCwweDBlLDB4ODIsMHgwMywweGEwLDB4ODAgfSwKLSAgMTYsIDB4ZmE5MCwgMCwgezB4YzgsMHgyMCwweDMyLDB4MDgsMHgyYywweGMyLDB4MDMsMHhlZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmFhMCwgMCwgezB4OTgsMHgxOSwweGY0LDB4NDAsMHhmZiwweDEwLDB4M2YsMHg0NCwweDBiLDB4YjAsMHgwMywweGU0LDB4MDAsMHhmOSwweDEwLDB4M2QgfSwKLSAgMTYsIDB4ZmFiMCwgMCwgezB4NDAsMHgwZiwweGQxLDB4MDMsMHhmNCwweDU4LDB4OWQsMHgxMCwweDNmLDB4NDQsMHg0ZiwweGQwLDB4MDMsMHhkNSwweDAwLDB4ZjkgfSwKLSAgMTYsIDB4ZmFjMCwgMCwgezB4MDAsMHgzZSwweDQwLDB4OGQsMHg5MCwweDAzLDB4ZTQsMHhiOCwweGY5LDB4MjgsMHhiYSwweDZhLDB4MGYsMHg5MCwweDAzLDB4ZTYgfSwKLSAgMTYsIDB4ZmFkMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDEsMHhlNywweDAwLDB4ZmQsMHg4OCwweDNlLDB4NjAgfSwKLSAgMTYsIDB4ZmFlMCwgMCwgezB4OGYsMHhkMCwweDAzLDB4MjQsMHgwMSwweGRkLDB4ODAsMHg3MywweDQwLDB4MGYsMHhkOCwweDAzLDB4YTYsMHgwNCwweGNkLDB4YTIgfSwKLSAgMTYsIDB4ZmFmMCwgMCwgezB4MzMsMHg3OCwweDFjLDB4ZDAsMHgwMywweDM0LDB4MDEsMHhmNSwweDg4LDB4M2IsMHg2OCwweDBjLDB4ZGEsMHg0NywweDM3LDB4ODAgfSwKLSAgMTYsIDB4ZmIwMCwgMCwgezB4Y2QsMHg4OCwweDMyLDB4NjIsMHgwYywweGRhLDB4MDMsMHgwNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmIxMCwgMCwgezB4MzgsMHgxMCwweGUzLDB4ODAsMHhiOCwweDgwLDB4MmUsMHgxNCwweDBiLDB4MGEsMHg4MiwweDIyLDB4ODAsMHhiOCwweGY4LDB4YTIgfSwKLSAgMTYsIDB4ZmIyMCwgMCwgezB4MDAsMHgwYiwweDhmLDB4YTMsMHg4MywweGUwLDB4ODgsMHhlYiwweDIyLDB4YTksMHgwOCwweDg4LDB4MTIsMHhhMCwweDA1LDB4YjggfSwKLSAgMTYsIDB4ZmIzMCwgMCwgezB4MDAsMHgyYSwweGFhLDB4ODgsMHg4MCwweDEzLDB4NjIsMHg4MiwweDg4LDB4ODAsMHgyMiwweDI4LDB4ODgsMHhhNCwweDAyLDB4MGUgfSwKLSAgMTYsIDB4ZmI0MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNSwweDAwLDB4YjEsMHgwYSwweDJjLDB4NDEgfSwKLSAgMTYsIDB4ZmI1MCwgMCwgezB4MGIsMHgxMCwweDA2LDB4MDQsMHgyMCwweGExLDB4MDAsMHgwMCwweDQwLDB4OGIsMHgxMCwweDQ2LDB4YzQsMHgwMSwweDkxLDB4MTEgfSwKLSAgMTYsIDB4ZmI2MCwgMCwgezB4MjQsMHg1OCwweDY4LDB4OTAsMHhjMiwweDA0LDB4MDAsMHhiMSwweDAwLDB4YTgsMHg1MCwweDA5LDB4MTQsMHgwYSwweDA1LDB4OTUgfSwKLSAgMTYsIDB4ZmI3MCwgMCwgezB4YTEsMHgwOCwweGEwLDB4NDIsMHgyOCwweDExLDB4MGEsMHgwMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmI4MCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MTgsMHhiOSwweDIwLDB4MmUsMHg1MCwweDBiLDB4OTAsMHgwNiwweDI0LDB4MDksMHhiOSwweDAwLDB4MjIgfSwKLSAgMTYsIDB4ZmI5MCwgMCwgezB4NDAsMHg4YiwweDkxLDB4MDIsMHg4NCwweDAwLDB4OTksMHg2NCwweDI0LDB4NDAsMHg1OCwweDkwLDB4MDIsMHhhNCwweDIwLDB4YmIgfSwKLSAgMTYsIDB4ZmJhMCwgMCwgezB4MDAsMHgyYSwweDQwLDB4MDksMHhiMCwweDAyLDB4MDUsMHgwMSwweGE5LDB4MDAsMHgyMiwweDQwLDB4ODgsMHg5MiwweDAyLDB4MDYgfSwKLSAgMTYsIDB4ZmJiMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNiwweDAwLDB4ZjksMHg0MCwweDNlLDB4NDAgfSwKLSAgMTYsIDB4ZmJjMCwgMCwgezB4NGYsMHg5OCwweDBiLDB4MjQsMHg4MCwweGQ5LDB4MDAsMHgyMiwweDcyLDB4MGIsMHg5OCwweDAzLDB4ZTQsMHg4NCwweGQ5LDB4MDAgfSwKLSAgMTYsIDB4ZmJkMCwgMCwgezB4YjYsMHg3MCwweDA4LDB4OTksMHgwMiwweDI0LDB4MDAsMHhiOSwweDAwLDB4MmEsMHg0MCwweDBkLDB4OTQsMHhjMiwweDI1LDB4MDAgfSwKLSAgMTYsIDB4ZmJlMCwgMCwgezB4YTksMHgwMCwweDIyLDB4NDAsMHgwYywweDk0LDB4MDMsMHgyOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmJmMCwgMCwgezB4MjgsMHgwMSwweGE2LDB4ODAsMHhmOSwweDA4LDB4M2UsMHhjMCwweDBmLDB4OTEsMHg0MywweGU0LDB4MDAsMHhmOSwweDAwLDB4M2UgfSwKLSAgMTYsIDB4ZmMwMCwgMCwgezB4NTAsMHgwZiwweDk4LDB4MDMsMHhhNSwweDAwLDB4ZTksMHgwMCwweDNhLDB4NjQsMHgwZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjkgfSwKLSAgMTYsIDB4ZmMxMCwgMCwgezB4MDAsMHgzYywweDQwLDB4NmUsMHg5MCwweDAzLDB4ZTQsMHgyMCwweGQ5LDB4MDAsMHgzYywweDQwLDB4MGYsMHg5MCwweDgyLDB4Y2EgfSwKLSAgMTYsIDB4ZmMyMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMCwweDAwLDB4ZTgsMHgwMCwweDNlLDB4MDAgfSwKLSAgMTYsIDB4ZmMzMCwgMCwgezB4NGYsMHg4NCwweDBiLDB4MjAsMHgwMCwweGY4LDB4MDAsMHgzNiwweDAxLDB4MGUsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGM4LDB4NDAgfSwKLSAgMTYsIDB4ZmM0MCwgMCwgezB4MzIsMHgxMCwweDJkLDB4ODAsMHgwMywweGUwLDB4NTQsMHhjOCwweDAwLDB4MzYsMHgxMCwweDBmLDB4MDQsMHg4MywweGUwLDB4NTAgfSwKLSAgMTYsIDB4ZmM1MCwgMCwgezB4ZDgsMHgwNCwweDEyLDB4MDAsMHgwYywweDAwLDB4MGIsMHgwYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmM2MCwgMCwgezB4MjgsMHgwNSwweDI4LDB4MDAsMHg4ZSwweDQyLDB4MmUsMHhhMiwweDhiLDB4ZWEsMHgwMiwweDI4LDB4MDgsMHhiZSwweDg5LDB4MzcgfSwKLSAgMTYsIDB4ZmM3MCwgMCwgezB4ODQsMHg0OCwweGUwLDB4MTIsMHgyOCwweDAyLDB4OGUsMHhjMCwweDIzLDB4YjAsMHg0ZCwweDYwLDB4NjIsMHhmOCwweDAwLDB4ODYgfSwKLSAgMTYsIDB4ZmM4MCwgMCwgezB4MDAsMHgyMywweDgwLDB4MGIsMHhlMCwweDAyLDB4ZjgsMHgwMCwweDBlLDB4MDAsMHgyMiwweDgwLDB4MDgsMHhlNCwweDAyLDB4MGEgfSwKLSAgMTYsIDB4ZmM5MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAwLDB4YTMsMHgwMCwweDJjLDB4ODAgfSwKLSAgMTYsIDB4ZmNhMCwgMCwgezB4MWIsMHhiMCwweDlhLDB4NGMsMHgxMCwweDliLDB4ODAsMHgyNCwweGMwLDB4MGEsMHgzMCwweDAwLDB4MGMsMHgwNCwweDliLDB4MjAgfSwKLSAgMTYsIDB4ZmNiMCwgMCwgezB4MjAsMHhkNiwweDA4LDB4MzAsMHgwMiwweDhlLDB4MDgsMHhhMywweDA0LDB4MjQsMHhjMCwweDE5LDB4MzQsMHgwMiwweGM3LDB4MDcgfSwKLSAgMTYsIDB4ZmNjMCwgMCwgezB4YWEsMHhhNCwweGEwLDB4YzAsMHg0OCwweDM0LDB4MDIsMHgwYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmNkMCwgMCwgezB4YTAsMHgwMSwweDBlLDB4MDAsMHg4NywweDAwLDB4MmQsMHhjMCwweDBiLDB4NDAsMHgwMiwweDVjLDB4NDAsMHhiMywweDE0LDB4MjUgfSwKLSAgMTYsIDB4ZmNlMCwgMCwgezB4ZTAsMHgwOCwweDdhLDB4MDIsMHg5ZSwweGMwLDB4OTIsMHg0MCwweGEwLDB4MDAsMHg0OSwweDYwLDB4MDIsMHhjZSwweDAyLDB4OGUgfSwKLSAgMTYsIDB4ZmNmMCwgMCwgezB4MDEsMHgyMSwweGMwLDB4OGIsMHg1NCwweDAyLDB4YzQsMHgwOCwweDg2LDB4NDAsMHgyMSwweGM4LDB4ODgsMHgxMCwweDAyLDB4MjggfSwKLSAgMTYsIDB4ZmQwMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZSwweGMwLDB4ZTQsMHg4MCwweDNkLDB4ZTIgfSwKLSAgMTYsIDB4ZmQxMCwgMCwgezB4MGYsMHg1OCwweDAzLDB4NWUsMHg5MCwweGI2LDB4YTIsMHgzNSwweGUwLDB4MGUsMHg3YywweDIzLDB4MWMsMHgwMCwweGQ2LDB4ODAgfSwKLSAgMTYsIDB4ZmQyMCwgMCwgezB4MzEsMHhlMCwweDg0LDB4NzgsMHgwMywweGRlLDB4MDAsMHhjNywweDgwLDB4MzUsMHhlMCwweDBmLDB4NjgsMHgwMywweGRlLDB4MDAgfSwKLSAgMTYsIDB4ZmQzMCwgMCwgezB4ZTMsMHg4MCwweDMzLDB4ZTgsMHgyYywweDc4LDB4MDMsMHgyYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmQ0MCwgMCwgezB4MDgsMHgxZCwweGFjLDB4OTAsMHhmYSwweDAwLDB4N2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGFjLDB4MDEsMHhmYiwweDAwLDB4M2MgfSwKLSAgMTYsIDB4ZmQ1MCwgMCwgezB4NDEsMHgwZiwweDMwLDB4MGIsMHgyZCwweDA0LDB4ZWIsMHgwMSwweDNlLDB4YzAsMHgwZSwweGIwLDB4MDMsMHhlYywweDAwLDB4ZmEgfSwKLSAgMTYsIDB4ZmQ2MCwgMCwgezB4MDAsMHgzZiwweGMwLDB4MGYsMHg4MCwweDAzLDB4ZWMsMHgwMCwweGU5LDB4NjAsMHgzZSwweGU0LDB4MGYsMHg5MCwweDAzLDB4YzIgfSwKLSAgMTYsIDB4ZmQ3MCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmZSwweDIwLDB4ZmYsMHg5MCwweDNlLDB4MjAgfSwKLSAgMTYsIDB4ZmQ4MCwgMCwgezB4MGMsMHhhOSwweDA3LDB4MmUsMHg0NCwweGM5LDB4OTEsMHgzMCwweGEwLDB4MGMsMHhiOCwweDYzLDB4MmYsMHg0NCwweGNiLDB4YTEgfSwKLSAgMTYsIDB4ZmQ5MCwgMCwgezB4MzYsMHgyMCwweDhjLDB4ZjgsMHgwMywweDM2LDB4MDAsMHhjZiwweDgyLDB4MzMsMHhlMCwweDBjLDB4ZjgsMHgyMywweDJlLDB4MDAgfSwKLSAgMTYsIDB4ZmRhMCwgMCwgezB4Y2UsMHhjMCwweDNiLDB4ZTAsMHgwYywweDY4LDB4MDMsMHgwMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmRiMCwgMCwgezB4YTgsMHgxMSwweDljLDB4ODQsMHhiMywweDU0LDB4MmMsMHhmNCwweDI4LDB4YmEsMHg4YSwweDNlLDB4NDAsMHg4MSwweGEwLDB4MjkgfSwKLSAgMTYsIDB4ZmRjMCwgMCwgezB4YjAsMHgwZiwweDc4LDB4NDIsMHhhZSwweDAwLDB4ODMsMHg5MCwweDMzLDB4ZTgsMHgwZCwweGUxLDB4MDAsMHg4NSwweDQwLDB4ODIgfSwKLSAgMTYsIDB4ZmRkMCwgMCwgezB4MjQsMHgyMywweGM2LDB4MGQsMHg3MSwweDAzLDB4NWUsMHhlMCwweDg3LDB4MDAsMHgyYiwweGMxLDB4MGQsMHg0NCwweDAyLDB4MmEgfSwKLSAgMTYsIDB4ZmRlMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5YywweDA4LDB4MzUsMHgxNCwweDZkLDB4YzAgfSwKLSAgMTYsIDB4ZmRmMCwgMCwgezB4ODgsMHg3MiwweDMyLDB4NWMsMHg4MCwweDg0LDB4MzAsMHgyYiwweDg4LDB4MGEsMHg3MCwweDQyLDB4NWMsMHhhOCwweDkxLDB4MDggfSwKLSAgMTYsIDB4ZmUwMCwgMCwgezB4MjUsMHhjOCwweDA5LDB4NzAsMHgwMiwweDRjLDB4MjIsMHg4MywweDBhLDB4NjEsMHhjMCwweDA5LDB4MjAsMHgwMiwweDA0LDB4MDAgfSwKLSAgMTYsIDB4ZmUxMCwgMCwgezB4ODcsMHgwMCwweDIxLDB4YzAsMHgwOCwweDYwLDB4MDIsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmUyMCwgMCwgezB4MjAsMHgxNCwweGNjLDB4MTAsMHhiMywweDg1LDB4NmMsMHhkYywweDA4LDB4MzQsMHgwMiwweDRkLDB4MjEsMHg4MSwweDAwLDB4MjggfSwKLSAgMTYsIDB4ZmUzMCwgMCwgezB4MDIsMHg0YSwweDMxLDB4MTIsMHhlZiwweDBjLDB4OTEsMHhjMiwweDIwLDB4ZjAsMHgwOCwweDMwLDB4NDIsMHg4ZSwweDAwLDB4ODIgfSwKLSAgMTYsIDB4ZmU0MCwgMCwgezB4NDAsMHgyMCwweGM4LDB4MTksMHgyOCwweDAyLDB4MjIsMHg4MSwweDgzLDB4YzAsMHgyOCwweGQ0LDB4MDksMHgwMCwweDBhLDB4MDggfSwKLSAgMTYsIDB4ZmU1MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhiYywweDAwLDB4ZmIsMHhhMCwweDNlLDB4YzAgfSwKLSAgMTYsIDB4ZmU2MCwgMCwgezB4OGMsMHgwNCwweDEyLDB4N2QsMHgxMCwweGNmLDB4MDIsMHgzYSwweDUwLDB4MDgsMHhjMCwweDQyLDB4N2QsMHg1MiwweDU4LDB4MDEgfSwKLSAgMTYsIDB4ZmU3MCwgMCwgezB4MzYsMHgyMiwweDY5LDB4ZDAsMHgxMywweDJhLDB4MDAsMHg4OCwweDgyLDB4MzIsMHhmMCwweDA5LDB4YjgsMHg4MiwweDJmLDB4MDAgfSwKLSAgMTYsIDB4ZmU4MCwgMCwgezB4YzksMHhjOCwweDIzLDB4YzAsMHgwYywweDhhLDB4MDMsMHgyYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmU5MCwgMCwgezB4ODAsMHgwMCwweGVjLDB4MDAsMHhiOSwweDQwLDB4M2MsMHg1MCwweDRmLDB4ODAsMHgyMywweGFjLDB4MTIsMHhmYiwweDAwLDB4MmEgfSwKLSAgMTYsIDB4ZmVhMCwgMCwgezB4YzAsMHg2ZCwweDgwLDB4MTMsMHhhYywweDAwLDB4ZTgsMHgwNCwweGJhLDB4MTAsMHgwZiwweDgwLDB4MDMsMHhlOCwweDAwLDB4ZjMgfSwKLSAgMTYsIDB4ZmViMCwgMCwgezB4MDgsMHgzYywweDgwLDB4MGYsMHg5MCwweDgzLDB4ZWMsMHgwNCwweGY5LDB4NjAsMHgyYywweGMyLDB4MGYsMHg4MCwweDgzLDB4ZTAgfSwKLSAgMTYsIDB4ZmVjMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhkYywweDAwLDB4ZWMsMHgyYywweDNmLDB4ZjAgfSwKLSAgMTYsIDB4ZmVkMCwgMCwgezB4OGMsMHhmYSwweDhiLDB4YmMsMHgwMCwweGZlLDB4MDAsMHgzZiwweDAwLDB4MGYsMHg3OSwweDAzLDB4M2MsMHgwMCwweGNlLDB4MDggfSwKLSAgMTYsIDB4ZmVlMCwgMCwgezB4MGIsMHhjMiwweDBjLDB4ZjAsMHgwMywweGJjLDB4MDAsMHhmYywweDAwLDB4MzMsMHg0MCwweDhjLDB4N2EsMHgwMywweDNhLDB4MDAgfSwKLSAgMTYsIDB4ZmVmMCwgMCwgezB4YzUsMHgwMCwweDMzLDB4YzAsMHg0YywweGM4LDB4MDMsMHgwMCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmYwMCwgMCwgezB4ODEsMHgwNCwweDZjLDB4MDAsMHg4OCwweGMwLDB4MmUsMHhlMCwweDA4LDB4OTQsMHgwMiwweDJjLDB4MDAsMHhiYiwweDgwLDB4NjYgfSwKLSAgMTYsIDB4ZmYxMCwgMCwgezB4MzAsMHgxNiwweGIwLDB4MDIsMHgyYywweDAwLDB4ZGEsMHg0YywweDIyLDB4ZjAsMHgwOCwweGYwLDB4MDMsMHhlYywweDAwLDB4ZWIgfSwKLSAgMTYsIDB4ZmYyMCwgMCwgezB4YzAsMHgyMiwweDY4LDB4MDAsMHg5NCwweDAyLDB4MmMsMHgwMiwweGE5LDB4ODAsMHgyMiwweGMwLDB4MDgsMHgwYywweDAyLDB4YTAgfSwKLSAgMTYsIDB4ZmYzMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAwLDB4YWIsMHgwNCwweDJlLDB4YzAgfSwKLSAgMTYsIDB4ZmY0MCwgMCwgezB4MDgsMHhhNCwweDA2LDB4MmMsMHgwNCwweGFiLDB4MTAsMHgyZSwweDYwLDB4NDMsMHg4MCwweDgyLDB4NmMsMHgwMSwweDgxLDB4ODAgfSwKLSAgMTYsIDB4ZmY1MCwgMCwgezB4MjgsMHgwYSwweDA4LDB4OTEsMHgwMCwweGUwLDB4MDAsMHhiOCwweDgwLDB4MDIsMHhlMCwweDA4LDB4ODAsMHgwMiwweDJkLDB4ODAgfSwKLSAgMTYsIDB4ZmY2MCwgMCwgezB4ODgsMHhjMCwweDIyLDB4YzAsMHgwOCwweDgyLDB4MDIsMHgyMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmY3MCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDAsMHg4MCwweDQ0LDB4MmMsMHhjOCwweDI4LDB4YTAsMHgyMiwweDBjLDB4MDQsMHhiMywweDI2LDB4MmMgfSwKLSAgMTYsIDB4ZmY4MCwgMCwgezB4YzgsMHg4OCwweDAxLDB4MDYsMHgwYywweGUwLDB4OTEsMHgyMCwweDIwLDB4MGMsMHgzOCwweDA0LDB4MjIsMHhjMCwweDQ4LDB4YTMgfSwKLSAgMTYsIDB4ZmY5MCwgMCwgezB4NDIsMHhhMCwweDgxLDB4MDgsMHgwMCwweDAyLDB4MGMsMHg4MCwweDgxLDB4MDAsMHgyMCwweGMwLDB4MjgsMHgwMCwweDAyLDB4ODIgfSwKLSAgMTYsIDB4ZmZhMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg3YywweDAwLDB4YTksMHg0MCwweDNlLDB4NDQgfSwKLSAgMTYsIDB4ZmZiMCwgMCwgezB4MDgsMHhiMSwweDAzLDB4MmMsMHg0MCwweGVhLDB4NDksMHgyZSwweDBkLDB4MGIsMHhiNiwweDEzLDB4N2QsMHg4MCwweGM5LDB4NDAgfSwKLSAgMTYsIDB4ZmZjMCwgMCwgezB4YmEsMHhkMCwweDBjLDB4YjQsMHgwMywweGFjLDB4MDAsMHhmOCwweDAwLDB4MzIsMHg0MCwweDBjLDB4ODAsMHgwYiwweDIwLDB4MDAgfSwKLSAgMTYsIDB4ZmZkMCwgMCwgezB4YzUsMHgwMCwweGIyLDB4YzAsMHgwYywweDgwLDB4MDMsMHgwMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmZlMCwgMCwgezB4YTAsMHgxZCwweGZjLDB4MDQsMHhmYywweDAwLDB4M2QsMHhjNSwweDBiLDB4ZjEsMHgwMCwweGZjLDB4ZDAsMHg3NywweDI5LDB4MzcgfSwKLSAgMTYsIDB4ZmZmMCwgMCwgezB4MGMsMHg4ZSwweDc0LDB4MDMsMHhmYywweDA4LDB4ZmQsMHg2OSwweDNmLDB4ZDgsMHgwZiwweGYwLDB4MDMsMHhiYywweDAwLDB4ZWYgfSwKLSAgMTYsIDB4ODAxMCwgMCwgezB4MDAsMHgzZiwweDQwLDB4MDcsMHhjMCwweDAzLDB4ZjAsMHg0MCwweGZkLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhjMCwweDAzLDB4ZTggfSwKLSAgMTYsIDB4ODAyMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MGQsMHhmYywweGMwLDB4ZGMsMHg4MCwweDNmLDB4YzggfSwKLSAgMTYsIDB4ODAzMCwgMCwgezB4MGYsMHg0OCwweDAzLDB4N2MsMHgyMCwweGZmLDB4NjgsMHgzNywweGUwLDB4MGUsMHhmMSwweDAzLDB4OWMsMHgwMCwweGJmLDB4MjAgfSwKLSAgMTYsIDB4ODA0MCwgMCwgezB4MzcsMHhlMCwweDBjLDB4YzgsMHgxMywweDNjLDB4NDAsMHhlZCwweDYwLDB4YmIsMHhlNCwweDJjLDB4NDMsMHg0YiwweDcwLDB4YTAgfSwKLSAgMTYsIDB4ODA1MCwgMCwgezB4Y2MsMHgyYywweDNmLDB4MDksMHgwZiwweGQ4LDB4NDMsMHg3MCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODA2MCwgMCwgezB4ODAsMHgwMCwweGVkLDB4YzAsMHhiOCwweDgwLDB4MmYsMHhmNCwweDBmLDB4OTgsMHgwMiwweDNmLDB4MDAsMHhiZiwweDQyLDB4MjIgfSwKLSAgMTYsIDB4ODA3MCwgMCwgezB4Y2EsMHgwOCwweGY0LDB4MDIsMHgzZSwweDAwLDB4YmYsMHhkMCwweDIyLDB4NjAsMHgyOCwweDg4LDB4MGEsMHgzZCwweDgwLDB4OGQgfSwKLSAgMTYsIDB4ODA4MCwgMCwgezB4NDAsMHgyMiwweGM4LDB4MDgsMHg4MSwweDAyLDB4MjEsMHg4MCwweGRiLDB4YzAsMHgyZSwweGE1LDB4MGIsMHg5OCwweDQyLDB4MjAgfSwKLSAgMTYsIDB4ODA5MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDEwLDB4YjAsMHgwMCwweDJjLDB4YzAgfSwKLSAgMTYsIDB4ODBhMCwgMCwgezB4MGIsMHgyMCwweDAyLDB4Y2MsMHgwMCwweGIzLDB4MjAsMHgyNiwweGMwLDB4OGEsMHgzNiwweDEyLDB4OGMsMHg0MSwweGIzLDB4MDAgfSwKLSAgMTYsIDB4ODBiMCwgMCwgezB4MmUsMHg0MCwweDA4LDB4MDAsMHgwMiwweDBkLDB4ODEsMHhhMSwweDMwLDB4MjIsMHhjOCwweDg5LDB4YTIsMHg0MiwweDA4LDB4MjAgfSwKLSAgMTYsIDB4ODBjMCwgMCwgezB4YjAsMHgwMCwweDJjLDB4NDAsMHgwYiwweDkwLDB4MjYsMHg2MiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODBkMCwgMCwgezB4YzAsMHgxNSwweGFjLDB4MDAsMHhiOCwweDUwLDB4MmUsMHhjMCwweDBhLDB4OTAsMHgwMiwweGFjLDB4MDAsMHhiYiwweDAwLDB4MjIgfSwKLSAgMTYsIDB4ODBlMCwgMCwgezB4YzAsMHgwOCwweGIwLDB4NjIsMHgyYywweDEwLDB4YmIsMHgwNCwweDJhLDB4ZjAsMHg0YSwweDg4LDB4MDIsMHgwYywweDAwLDB4ODEgfSwKLSAgMTYsIDB4ODBmMCwgMCwgezB4MDAsMHgyMiwweGMwLDB4MDksMHhiOCwweDgwLDB4MjYsMHgwMCwweGI4LDB4ODAsMHgyZSwweDIxLDB4MGIsMHg5MCwweDAyLDB4MzAgfSwKLSAgMTYsIDB4ODEwMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MTUsMHhlYywweDAwLDB4ZDgsMHhjMCwweDNlLDB4YzAgfSwKLSAgMTYsIDB4ODExMCwgMCwgezB4MGIsMHg4MCwweDAzLDB4ZWMsMHgwMCwweGZiLDB4MDAsMHgzNiwweDgwLDB4MGUsMHhiMCwweDAzLDB4YWMsMHgwMCwweGZiLDB4MDAgfSwKLSAgMTYsIDB4ODEyMCwgMCwgezB4M2MsMHhlMCwweDBjLDB4MGMsMHgwMywweDJjLDB4MDAsMHhlOSwweDAwLDB4MTAsMHhjMCwweDBjLDB4OGMsMHgwMywweDA2LDB4MDAgfSwKLSAgMTYsIDB4ODEzMCwgMCwgezB4ZjgsMHhjZCwweDNlLDB4MjIsMHgwZiwweDE4LDB4MDMsMHg0MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODE0MCwgMCwgezB4ZTAsMHgwMSwweGJjLDB4MDAsMHhmZiwweDAwLDB4M2UsMHhjMCwweDBmLDB4ZjAsMHgwMywweDdjLDB4MDAsMHhmNywweDAyLDB4M2YgfSwKLSAgMTYsIDB4ODE1MCwgMCwgezB4ZTQsMHgwZiwweDcwLDB4MDMsMHg3YywweDA0LDB4YjcsMHgwMCwweDM3LDB4NDAsMHgwZCwweGMwLDB4MDMsMHhmYywweDAwLDB4ZmQgfSwKLSAgMTYsIDB4ODE2MCwgMCwgezB4MDAsMHgzNywweGQwLDB4MGUsMHhjMCwweDQzLDB4ZjQsMHgwMCwweGRmLDB4MDAsMHgzZiwweDgwLDB4OGYsMHhkYSwweDAzLDB4ZjggfSwKLSAgMTYsIDB4ODE3MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhYywweDAwLDB4ZjgsMHgxMCwweDNhLDB4YzAgfSwKLSAgMTYsIDB4ODE4MCwgMCwgezB4NmQsMHhhNiwweDEzLDB4ZWMsMHgwMCwweGNiLDB4MDAsMHgzYSwweGQwLDB4MGYsMHhiMCwweDAzLDB4MmMsMHgxMCwweGRiLDB4MTAgfSwKLSAgMTYsIDB4ODE5MCwgMCwgezB4MzYsMHhkOCwweDBkLDB4ODQsMHgwMywweGVjLDB4MDYsMHhjOSwweDA4LDB4M2EsMHhjMCwweDBlLDB4ODYsMHgwMywweGE4LDB4NjAgfSwKLSAgMTYsIDB4ODFhMCwgMCwgezB4ZjgsMHgyMCwweDNhLDB4NDAsMHgwYywweDkwLDB4MDMsMHg1NCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODFiMCwgMCwgezB4OTgsMHgwNSwweDNjLDB4MDAsMHhiYiwweDQwLDB4MjMsMHhkMCwweDA4LDB4MzAsMHgwMiwweDNlLDB4MTAsMHhhZiwweDAwLDB4MjAgfSwKLSAgMTYsIDB4ODFjMCwgMCwgezB4YzAsMHgwYiwweGYwLDB4MDIsMHgzYywweDAwLDB4OGYsMHg1MCwweDJlLDB4YzgsMHgwNiwweDhhLDB4MDIsMHhmYywweDAwLDB4OGQgfSwKLSAgMTYsIDB4ODFkMCwgMCwgezB4MjQsMHg4MiwweGQ2LDB4MDgsMHgzMiwweDAyLDB4MmQsMHgwOCwweDNhLDB4NDAsMHgyMiwweDgwLDB4MGQsMHg5MCwweDAzLDB4NjIgfSwKLSAgMTYsIDB4ODFlMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MDUsMHg0YywweDAwLDB4YjAsMHgyMCwweDI4LDB4YzIgfSwKLSAgMTYsIDB4ODFmMCwgMCwgezB4MDgsMHgwNCwweDAyLDB4OGMsMHgwMCwweDEzLDB4MDIsMHgyOCwweGMwLDB4MGIsMHgzMCwweDAyLDB4MGMsMHgzMCwweDkzLDB4ODAgfSwKLSAgMTYsIDB4ODIwMCwgMCwgezB4MjQsMHhkMCwweDA5LDB4MjAsMHgwMiwweGNjLDB4MDAsMHg5MSwweDQwLDB4MDgsMHhjMCwweDJhLDB4MTQsMHgwMiwweDgxLDB4MDAgfSwKLSAgMTYsIDB4ODIxMCwgMCwgezB4OTAsMHgwMCwweDY4LDB4MDAsMHgwOCwweDE4LDB4MDIsMHgzYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODIyMCwgMCwgezB4NzAsMHgwMSwweDFlLDB4MDAsMHhiNCwweGEwLDB4MjEsMHhlMCwweDA4LDB4YzgsMHgxMiwweDllLDB4MDAsMHhiMywweDgyLDB4MjEgfSwKLSAgMTYsIDB4ODIzMCwgMCwgezB4ZTAsMHgwYiwweDdhLDB4MGEsMHgxZSwweDAwLDB4OTcsMHg4MCwweDJkLDB4ZTEsMHgwYSwweDQ4LDB4MDIsMHhjZSwweDQwLDB4OTUgfSwKLSAgMTYsIDB4ODI0MCwgMCwgezB4OTAsMHgyOSwweGU0LDB4MDgsMHg1OCwweDAyLDB4OWEsMHgwMCwweGI3LDB4ODgsMHgyMSwweGUwLDB4MDksMHg1OCwweDAyLDB4NWMgfSwKLSAgMTYsIDB4ODI1MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDRhLDB4MDAsMHgwYywweDAwLDB4ZjAsMHg4MCwweDM4LDB4YzQgfSwKLSAgMTYsIDB4ODI2MCwgMCwgezB4MGMsMHgyNSwweDAzLDB4OGMsMHgyMCwweDkzLDB4MDAsMHgzOCwweGM0LDB4MGYsMHhiMCwweDAzLDB4MGMsMHg4MCwweGQzLDB4MDAgfSwKLSAgMTYsIDB4ODI3MCwgMCwgezB4MzQsMHhjMCwweDBkLDB4MDQsMHgxMywweGNjLDB4MDgsMHg5OSwweDAwLDB4MmEsMHhjMCwweDBlLDB4MjEsMHgwMywweDg4LDB4MDQgfSwKLSAgMTYsIDB4ODI4MCwgMCwgezB4ZjMsMHgwMCwweDM4LDB4YzAsMHgwYywweDExLDB4ODMsMHgxMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODI5MCwgMCwgezB4NDIsMHgxNSwweGJjLDB4MDAsMHhmNCwweDAwLDB4M2YsMHhjMywweDBlLDB4YzAsMHgwMywweDFjLDB4MDAsMHhhZiwweDRhLDB4N2YgfSwKLSAgMTYsIDB4ODJhMCwgMCwgezB4YzQsMHgwZiwweGIyLDB4MDMsMHhmZCwweDAxLDB4ZWYsMHgxMCwweDNmLDB4ODQsMHgwZiwweGMwLDB4MDMsMHhmYywweDAwLDB4ZTkgfSwKLSAgMTYsIDB4ODJiMCwgMCwgezB4MDAsMHgzNywweGMyLDB4MGUsMHhmMSwweDQ3LDB4N2MsMHgwMCwweGY3LDB4MDAsMHgzZCwweGMwLDB4MGYsMHg1MCwweDAzLDB4ZDAgfSwKLSAgMTYsIDB4ODJjMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGFhLDB4MTUsMHhlYywweDA4LDB4ZjgsMHgwMCwweDNlLDB4Y2EgfSwKLSAgMTYsIDB4ODJkMCwgMCwgezB4MGYsMHg5MCwweDAzLDB4ZWYsMHgyMSwweGZiLDB4ODAsMHg3YSwweDQwLDB4OGYsMHhiMiwweGExLDB4MmYsMHgwMCwweGNiLDB4NjAgfSwKLSAgMTYsIDB4ODJlMCwgMCwgezB4M2UsMHhjMCwweDBmLDB4YjAsMHgwMywweGVkLDB4YTAsMHhlOSwweDMwLDB4MzIsMHhjMCwweDJkLDB4YjAsMHgwMywweGU0LDB4MDAgfSwKLSAgMTYsIDB4ODJmMCwgMCwgezB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweGIwLDB4MDMsMHhlYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODMwMCwgMCwgezB4YzgsMHg5MSwweDlkLDB4MDAsMHhiNCwweDAxLDB4MmQsMHhjOCwweDBiLDB4NzAsMHgwMiwweGNjLDB4ODAsMHg4ZiwweDIwLDB4MjEgfSwKLSAgMTYsIDB4ODMxMCwgMCwgezB4YzAsMHg4YiwweDc2LDB4MDMsMHg1ZCwweDAwLDB4ODcsMHgwYSwweDJkLDB4YzAsMHgwYiwweDQwLDB4MjIsMHhmZCwweDAwLDB4OGQgfSwKLSAgMTYsIDB4ODMyMCwgMCwgezB4MTAsMHgyMywweGM4LDB4MDgsMHg1MCwweDEyLDB4ZDQsMHgwMCwweGI3LDB4MDAsMHgyZCwweGMwLDB4MGIsMHg3MCwweDAyLDB4ZjIgfSwKLSAgMTYsIDB4ODMzMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgxLDB4MDAsMHg5ZSwweDAwLDB4YjQsMHg4MCwweDJkLDB4ZTAgfSwKLSAgMTYsIDB4ODM0MCwgMCwgezB4MGIsMHg3YywweDAyLDB4ZGUsMHg0MCwweGE3LDB4ODIsMHgyZCwweGUwLDB4MGIsMHgzYSwweDAyLDB4OGUsMHgwMCwweDg3LDB4OTAgfSwKLSAgMTYsIDB4ODM1MCwgMCwgezB4MmQsMHhlMCwweDBiLDB4NTgsMHgwMiwweDVlLDB4MDAsMHhhNSwweGEyLDB4NjUsMHhlMCwweDA4LDB4NjgsMHg4MiwweGRhLDB4MDAgfSwKLSAgMTYsIDB4ODM2MCwgMCwgezB4OTUsMHg4MCwweDJkLDB4NjAsMHgwYiwweDc4LDB4MDIsMHhlMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODM3MCwgMCwgezB4MDgsMHg4NCwweGNjLDB4MDAsMHhiMCwweDA5LDB4MmMsMHhjMCwweDBiLDB4MzgsMHgwMiwweGNjLDB4MDAsMHg4MywweDAwLDB4MmUgfSwKLSAgMTYsIDB4ODM4MCwgMCwgezB4YzAsMHgwYiwweDMwLDB4NDIsMHg0YywweDAwLDB4ODMsMHgwMCwweDJjLDB4YTAsMHgwYiwweDA0LDB4MDIsMHhjYywweDAwLDB4ODEgfSwKLSAgMTYsIDB4ODM5MCwgMCwgezB4MDAsMHhhMCwweGMwLDB4MDgsMHhiMCwweDA2LDB4Y2YsMHg4MCwweGIzLDB4MTAsMHgyYywweGM0LDB4MGIsMHgzMSwweDAyLDB4YzMgfSwKLSAgMTYsIDB4ODNhMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MDUsMHhhOCwweDAwLDB4ZmUsMHg4MCwweDNlLDB4ODAgfSwKLSAgMTYsIDB4ODNiMCwgMCwgezB4MGYsMHhlOCwweDEzLDB4ZTgsMHgwMCwweGVhLDB4MDAsMHgzZiwweGIwLDB4MGYsMHhhMCwweDAzLDB4YTgsMHgwMiwweGMyLDB4MDAgfSwKLSAgMTYsIDB4ODNjMCwgMCwgezB4MmYsMHg4OCwweDBmLDB4ZTAsMHgwMywweGU4LDB4MDAsMHhlYSwweDAwLDB4MzYsMHgwMCwweDBjLDB4ZTAsMHgwMywweGY5LDB4MjAgfSwKLSAgMTYsIDB4ODNkMCwgMCwgezB4ZGUsMHg4MCwweDNmLDB4YTAsMHg0ZiwweGE4LDB4MDMsMHhmYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODNlMCwgMCwgezB4NDgsMHgwMCwweGUwLDB4MDAsMHhmOCwweDEwLDB4M2MsMHgxMCwweDBmLDB4ODAsMHg4MywweGUxLDB4MDAsMHhlOCwweDAwLDB4MjIgfSwKLSAgMTYsIDB4ODNmMCwgMCwgezB4MDYsMHgwZiwweDAwLDB4MTMsMHhlMCwweDAxLDB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDgwLDB4ODMsMHhlMCwweDAwLDB4ZjggfSwKLSAgMTYsIDB4ODQwMCwgMCwgezB4MDAsMHgzZSwweDAwLDB4MGYsMHg4NCwweDIzLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDEwLDB4MGYsMHg4MCwweDAzLDB4ZDIgfSwKLSAgMTYsIDB4ODQxMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAsMHhlNCwweDAwLDB4ZjksMHgxMCwweDNlLDB4NDQgfSwKLSAgMTYsIDB4ODQyMCwgMCwgezB4MGQsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQwLDB4MGMsMHg5MCwweDEyLDB4MjQsMHgwMCwweGY5LDB4MTAgfSwKLSAgMTYsIDB4ODQzMCwgMCwgezB4MzIsMHg0MCwweDhmLDB4OTAsMHgwMywweGM0LDB4MDAsMHhjOSwweDAwLDB4MzIsMHgxMCwweDBjLDB4OWMsMHgwMSwweDI0LDB4MDAgfSwKLSAgMTYsIDB4ODQ0MCwgMCwgezB4ZjksMHgxMCwweDNlLDB4NzAsMHgwZiwweDkwLDB4MDIsMHhjMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODQ1MCwgMCwgezB4ODAsMHgxNCwweDY0LDB4MDAsMHhiOSwweGMwLDB4MmUsMHg0OCwweDA4LDB4OTEsMHgwMiwweGU0LDB4MDAsMHhiOSwweDAwLDB4MmUgfSwKLSAgMTYsIDB4ODQ2MCwgMCwgezB4NDAsMHgwZCwweDkwLDB4MDMsMHg2NywweDAwLDB4YjksMHg4MCwweDJhLDB4NjAsMHgwYiwweDk5LDB4MDIsMHhlNCwweDAwLDB4ODEgfSwKLSAgMTYsIDB4ODQ3MCwgMCwgezB4MDAsMHgyMiwweDQwLDB4MmMsMHg5MCwweDEyLDB4MjUsMHgyMCwweGI5LDB4NDgsMHgyZSwweDUyLDB4MGIsMHg5NCwweDAyLDB4ZTAgfSwKLSAgMTYsIDB4ODQ4MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDAwLDB4YjksMHgwMCwweDJlLDB4NDAgfSwKLSAgMTYsIDB4ODQ5MCwgMCwgezB4NjgsMHg5MCwweDQ2LDB4ZTQsMHgwMCwweGI5LDB4MDAsMHgyZSwweGMwLDB4MDgsMHg5MCwweDAyLDB4YTQsMHg2MCwweGI5LDB4MDAgfSwKLSAgMTYsIDB4ODRhMCwgMCwgezB4MjIsMHg0OCwweDBiLDB4OTAsMHgwNiwweGU0LDB4MDIsMHg4OSwweDAwLDB4YTAsMHg0MCwweDA4LDB4OTAsMHgwMiwweGE2LDB4MTAgfSwKLSAgMTYsIDB4ODRiMCwgMCwgezB4YjksMHgwMCwweDBlLDB4NDAsMHgwYiwweDkwLDB4MDIsMHhjNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODRjMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4ODAsMHhiMSwweDAwLDB4MmMsMHg0OCwweDA4LDB4MTAsMHgwMiwweGM0LDB4ODQsMHhiMSwweDIwLDB4MmMgfSwKLSAgMTYsIDB4ODRkMCwgMCwgezB4NDAsMHgwOSwweDEyLDB4MDIsMHhjNCwweDgwLDB4YjEsMHgyMCwweDI4LDB4NDAsMHgwYiwweDEwLDB4MDIsMHhjNCwweDgwLDB4ODkgfSwKLSAgMTYsIDB4ODRlMCwgMCwgezB4MjAsMHgyMCwweDQwLDB4NGIsMHgxMiwweDBhLDB4ODQsMHg4NCwweGIxLDB4MjAsMHgyYywweDQ4LDB4OGIsMHgxMCwweDAyLDB4YzIgfSwKLSAgMTYsIDB4ODRmMCwgMCwgezB4MTEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MSwweDQwLDB4YmEsMHgwMCwweDJlLDB4MDAgfSwKLSAgMTYsIDB4ODUwMCwgMCwgezB4MGMsMHg4MCwweDAzLDB4ZTgsMHgwOCwweGY4LDB4NTAsMHgzZSwweDE0LDB4MGMsMHg4NSwweDAzLDB4MjAsMHgwMCwweGI4LDB4MDAgfSwKLSAgMTYsIDB4ODUxMCwgMCwgezB4MzIsMHgwMCwweDBmLDB4YTAsMHgwMywweGUxLDB4NDAsMHhjOCwweDUwLDB4MzIsMHgxNCwweDBjLDB4YTUsMHgwMywweGExLDB4NDAgfSwKLSAgMTYsIDB4ODUyMCwgMCwgezB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweGEwLDB4MDMsMHhlZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODUzMCwgMCwgezB4ODgsMHgwZCwweGU0LDB4NDAsMHhmZCwweDAwLDB4M2UsMHg0NCwweDBmLDB4ZDAsMHgwMywweGU0LDB4NDAsMHhiOSwweDExLDB4M2YgfSwKLSAgMTYsIDB4ODU0MCwgMCwgezB4NDAsMHgwZiwweDkxLDB4MDMsMHg2NCwweDQ0LDB4ZjksMHgxMCwweDNmLDB4NDAsMHgwZiwweGQwLDB4MDMsMHhlNCwweDQwLDB4ZmQgfSwKLSAgMTYsIDB4ODU1MCwgMCwgezB4MTAsMHgzZiwweDEwLDB4OGMsMHhkMSwweDAzLDB4NzQsMHg0MCwweGZmLDB4MTAsMHgzZiwweDQ0LDB4MGYsMHhkMCwweDAzLDB4ZTYgfSwKLSAgMTYsIDB4ODU2MCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHg2NiwweDIwLDB4ZWQsMHgwMCwweDMzLDB4NjkgfSwKLSAgMTYsIDB4ODU3MCwgMCwgezB4NGQsMHg1MCwweDQzLDB4NTYsMHgwMCwweGY5LDB4YTAsMHgzNCwweDQwLDB4MGYsMHg5YSwweDBiLDB4MzQsMHgwMCwweGRkLDB4ODAgfSwKLSAgMTYsIDB4ODU4MCwgMCwgezB4M2IsMHg0MCwweDBiLDB4NTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4MzIsMHhlMCwweDBlLDB4ZDAsMHgwMywweGY0LDB4MDAgfSwKLSAgMTYsIDB4ODU5MCwgMCwgezB4ZmQsMHgwMCwweDNmLDB4NDAsMHgwYywweGQwLDB4MDMsMHhjNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODVhMCwgMCwgezB4NzgsMHgxMCwweGUyLDB4ODAsMHg4OCwweDA0LDB4MjIsMHgxMCwweDBiLDB4ODAsMHgwMiwweDIwLDB4MDksMHhiOCwweGYwLDB4MjIgfSwKLSAgMTYsIDB4ODViMCwgMCwgezB4MDAsMHgwYiwweDhlLDB4MTIsMHhhMCwweDAwLDB4YjgsMHg1MiwweDJlLDB4MDAsMHgwYiwweDgwLDB4MDIsMHhlMCwweDA1LDB4YjggfSwKLSAgMTYsIDB4ODVjMCwgMCwgezB4YWEsMHgyMywweDNlLDB4MGQsMHg4MCwweDAyLDB4ZTAsMHgwMCwweGI4LDB4MDAsMHgzYSwweDAwLDB4MDgsMHg4MCwweDAyLDB4Y2UgfSwKLSAgMTYsIDB4ODVkMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDUsMHhjNCwweDIwLDB4YTksMHgwMCwweGE0LDB4NDQgfSwKLSAgMTYsIDB4ODVlMCwgMCwgezB4MDksMHg5MCwweDAyLDB4YzUsMHgwMCwweGExLDB4MDgsMHgyYywweDQwLDB4MGIsMHgxMSwweDgyLDB4MDQsMHgwMCwweGIxLDB4MDAgfSwKLSAgMTYsIDB4ODVmMCwgMCwgezB4MjgsMHg0MCwweDBhLDB4MTAsMHg0MiwweGM0LDB4MDAsMHhiNSwweDAwLDB4YTEsMHg0MCwweDA4LDB4MTAsMHgwMiwweGM0LDB4MDAgfSwKLSAgMTYsIDB4ODYwMCwgMCwgezB4YjEsMHgwMSwweDJjLDB4NDAsMHgwOCwweDEwLDB4MjAsMHhkMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODYxMCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MDAsMHg4OSwweDA0LDB4MjIsMHg0MCwweDBiLDB4OTAsMHgwMCwweGFjLDB4MDAsMHgzOSwweDAwLDB4MmEgfSwKLSAgMTYsIDB4ODYyMCwgMCwgezB4NDAsMHgwYiwweDEwLDB4MDIsMHhhNCwweDAwLDB4YjksMHgwMCwweDJlLDB4NDgsMHgwYiwweDkwLDB4MTIsMHhlNCwweDAwLDB4YjkgfSwKLSAgMTYsIDB4ODYzMCwgMCwgezB4MDAsMHgyMSwweDYwLDB4MDksMHg5MiwweDIyLDB4ZTQsMHgyOCwweGI5LDB4MDAsMHgwYSwweDUwLDB4MDgsMHg5MCwweDA2LDB4YzYgfSwKLSAgMTYsIDB4ODY0MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNCwweDAwLDB4ZTksMHgwMCwweDM2LDB4NDAgfSwKLSAgMTYsIDB4ODY1MCwgMCwgezB4MGQsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQ4LDB4MGYsMHg5MCwweDAzLDB4MjQsMHgwMCwweGQ5LDB4MDAgfSwKLSAgMTYsIDB4ODY2MCwgMCwgezB4M2EsMHg3OCwweDBlLDB4OTgsMHgwMywweGU0LDB4MDAsMHhiOSwweDAwLDB4YjIsMHg0MCwweDBlLDB4OTIsMHgyMywweGU2LDB4MDAgfSwKLSAgMTYsIDB4ODY3MCwgMCwgezB4YjksMHg1MCwweDNlLDB4NzAsMHgyYywweDkwLDB4MDMsMHhlOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODY4MCwgMCwgezB4NjgsMHgwMSwweDg0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0MCwweDRmLDB4OWMsMHgyMywweDY0LDB4MDAsMHhmOSwweDA0LDB4MzYgfSwKLSAgMTYsIDB4ODY5MCwgMCwgezB4NDgsMHgwZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NjAsMHgwZiwweDkyLDB4MDMsMHhlNCwweDAwLDB4ZjkgfSwKLSAgMTYsIDB4ODZhMCwgMCwgezB4MDAsMHgzZSwweDQwLDB4OGYsMHg5MCwweDgzLDB4ZTQsMHg0NCwweGY5LDB4MDAsMHg3OCwweDY0LDB4MGYsMHg5MCwweDAzLDB4ZGEgfSwKLSAgMTYsIDB4ODZiMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDAgfSwKLSAgMTYsIDB4ODZjMCwgMCwgezB4MGYsMHg4MiwweDAzLDB4YTAsMHg0MCwweGU4LDB4MDAsMHgzZSwweDAwLDB4MGQsMHg4MCwweDAzLDB4MjAsMHhjMCwweGM4LDB4ODAgfSwKLSAgMTYsIDB4ODZkMCwgMCwgezB4M2UsMHgxMiwweDBmLDB4ODAsMHgwMywweDYwLDB4MDAsMHg3YywweDAwLDB4MzMsMHgwMCwweDBkLDB4ODAsMHgxMywweGUwLDB4MTAgfSwKLSAgMTYsIDB4ODZlMCwgMCwgezB4YzgsMHg2NCwweDNlLDB4MDgsMHgwYywweDgyLDB4MDMsMHhjYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODZmMCwgMCwgezB4MjgsMHgwNSwweDI4LDB4MDAsMHhiNiwweGUwLDB4MGYsMHhhMCwweDBiLDB4NjAsMHg4MiwweDM4LDB4MDAsMHhhYSwweDAwLDB4MmUgfSwKLSAgMTYsIDB4ODcwMCwgMCwgezB4ODAsMHgwOCwweGEwLDB4NDIsMHhiYSwweDAwLDB4YWUsMHgyMCwweDJmLDB4ODgsMHgwYiwweGU1LDB4MDIsMHgyOCwweDAwLDB4YmEgfSwKLSAgMTYsIDB4ODcxMCwgMCwgezB4ZDgsMHgzNywweDgwLDB4MDgsMHhlYywweDAyLDB4ZjgsMHgwNCwweDhlLDB4MDAsMHgyZiwweDkwLDB4MGQsMHhlMCwweDAyLDB4Y2EgfSwKLSAgMTYsIDB4ODcyMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAwLDB4YjAsMHgyNCwweDJjLDB4NjAgfSwKLSAgMTYsIDB4ODczMCwgMCwgezB4MGIsMHgzOCwweDAyLDB4OGUsMHg4MCwweGFiLDB4MDAsMHgyYywweGMwLDB4MDksMHgzMCwweDAyLDB4MGQsMHgwOCwweDAwLDB4ODAgfSwKLSAgMTYsIDB4ODc0MCwgMCwgezB4NmMsMHhkMCwweDBiLDB4MzQsMHgwMiwweGNjLDB4MDAsMHhiOCwweGMwLDB4MjAsMHgwMCwweDQ4LDB4MzQsMHgxMiwweGNjLDB4NDAgfSwKLSAgMTYsIDB4ODc1MCwgMCwgezB4ODMsMHgwMCwweDJjLDB4ZTAsMHgwYSwweDM1LDB4MDIsMHhjYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODc2MCwgMCwgezB4YTAsMHgwMSwweDFjLDB4NDAsMHhiNywweDAwLDB4MmQsMHgwMiwweDhiLDB4NjAsMHgwMiwweDllLDB4MDAsMHg4NywweDIwLDB4MmYgfSwKLSAgMTYsIDB4ODc3MCwgMCwgezB4ZTAsMHgwOCwweDcyLDB4MDIsMHg5ZSwweDAwLDB4YTQsMHgwMCwweDJkLDB4YzAsMHgwYiwweGY4LDB4MDIsMHg5YywweGMwLDB4YjMgfSwKLSAgMTYsIDB4ODc4MCwgMCwgezB4MDIsMHhhNSwweGMwLDB4MDgsMHg1MCwweDg2LDB4ZmUsMHgwMCwweDg3LDB4MDAsMHgyZiwweGQwLDB4MDksMHg3MCwweDAyLDB4ZTggfSwKLSAgMTYsIDB4ODc5MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZSwweDAwLDB4ZjQsMHg4MCwweDNkLDB4MjAgfSwKLSAgMTYsIDB4ODdhMCwgMCwgezB4MGYsMHg1OCwweDAzLDB4OWUsMHgwMCwweDY3LDB4ODAsMHgzZCwweGY4LDB4MGQsMHgzOCwweDAyLDB4MWEsMHgxMCwweDQ0LDB4ODAgfSwKLSAgMTYsIDB4ODdiMCwgMCwgezB4M2QsMHhlMCwweDBmLDB4NTgsMHgwMywweGRlLDB4MjAsMHhiNCwweDgwLDB4MzMsMHhhMCwweDJjLDB4NjgsMHgwMywweGQ2LDB4MDAgfSwKLSAgMTYsIDB4ODdjMCwgMCwgezB4YzcsMHg4MSwweDNkLDB4ZTAsMHgwYywweDc4LDB4MDMsMHhlYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODdkMCwgMCwgezB4MDgsMHgxZCwweGFjLDB4MDgsMHhmOCwweDAwLDB4M2UsMHgwMCwweDhmLDB4ODAsMHgwMywweDZjLDB4MDAsMHgzYiwweDEyLDB4M2UgfSwKLSAgMTYsIDB4ODdlMCwgMCwgezB4Y2EsMHgwZiwweGI1LDB4MDMsMHhjOCwweDAwLDB4ZjgsMHgwNCwweDdlLDB4YzAsMHgwZiwweDkwLDB4MDMsMHg2YywweDgwLDB4ZmIgfSwKLSAgMTYsIDB4ODdmMCwgMCwgezB4MDQsMHgzYSwweDQwLDB4MGYsMHg5MCwweDIzLDB4YzgsMHgwMCwweGY5LDB4MDEsMHgzYywweGMwLDB4MGYsMHhiMCwweDAzLDB4YzIgfSwKLSAgMTYsIDB4ODgwMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmZSwweDAwLDB4YWMsMHg5MCwweDMxLDB4NDggfSwKLSAgMTYsIDB4ODgxMCwgMCwgezB4MDgsMHhmOCwweDAzLDB4ZmEsMHgwMCwweGNmLDB4ODAsMHgzZiwweGUwLDB4MGMsMHhmYywweDEzLDB4M2UsMHgwNCwweGZjLDB4ODAgfSwKLSAgMTYsIDB4ODgyMCwgMCwgezB4MzUsMHhhMCwweDBjLDB4NzgsMHgwMywweGJlLDB4MDAsMHhkZiwweDgwLDB4M2IsMHgyMCwweDI0LDB4ZjgsMHgwMywweDJlLDB4NDAgfSwKLSAgMTYsIDB4ODgzMCwgMCwgezB4Y2YsMHg4MCwweDMzLDB4ZTAsMHgwMywweGY5LDB4MDMsMHhkMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODg0MCwgMCwgezB4YTgsMHgxMSwweGJjLDB4MDAsMHg4MCwweDAwLDB4MDEsMHgwMCwweDA4LDB4NzIsMHgwMiwweGQwLDB4MDAsMHg4NywweDAwLDB4MmQgfSwKLSAgMTYsIDB4ODg1MCwgMCwgezB4YzgsMHgwYSwweGYwLDB4MDIsMHg5OCwweDQwLDB4ZjUsMHgwMCwweDYxLDB4NDEsMHgwMCwweDc0LDB4MDIsMHgxYywweDAwLDB4YjQgfSwKLSAgMTYsIDB4ODg2MCwgMCwgezB4MDAsMHgyMSwweGM4LDB4MDgsMHg2MCwweDAyLDB4M2UsMHgyMCwweDg2LDB4MDgsMHgyMSwweGQ4LDB4MGYsMHg1MCwweDAyLDB4ZWEgfSwKLSAgMTYsIDB4ODg3MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDAsMHg5YywweDAwLDB4YTQsMHgwMCwweDIxLDB4MDAgfSwKLSAgMTYsIDB4ODg4MCwgMCwgezB4MDgsMHg1MCwweDAyLDB4ZDgsMHgwMCwweDk3LDB4MDAsMHgyZCwweGMwLDB4ODgsMHg3MSwweDAyLDB4MTQsMHgwMCwweGIwLDB4MDAgfSwKLSAgMTYsIDB4ODg5MCwgMCwgezB4MjUsMHg5MCwweDA4LDB4YzAsMHg4MiwweDljLDB4NDAsMHg5MywweDAwLDB4MjksMHhhMSwweDg4LDB4NjAsMHgwMiwweDE0LDB4MTIgfSwKLSAgMTYsIDB4ODhhMCwgMCwgezB4ODcsMHg0MCwweDI5LDB4NDAsMHgwYiwweDYwLDB4MDIsMHhjNCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODhiMCwgMCwgezB4NjAsMHgxNCwweGNjLDB4MDAsMHg4MCwweGQwLDB4YTAsMHgwMCwweDA4LDB4MWMsMHgwMiwweGMwLDB4MDAsMHg5MywweDAwLDB4MmMgfSwKLSAgMTYsIDB4ODhjMCwgMCwgezB4ZDAsMHgwYSwweGIwLDB4MjYsMHg4MCwweDAwLDB4YjMsMHgwMCwweDI0LDB4ZTQsMHgwOCwweDA4LDB4MDIsMHg4YywweDAwLDB4YjAgfSwKLSAgMTYsIDB4ODhkMCwgMCwgezB4MDIsMHgwMiwweDQxLDB4MDgsMHgwOCwweDAyLDB4MDMsMHgwMSwweDgxLDB4MDAsMHgyOCwweDQyLDB4MWEsMHgwMCwweDQyLDB4ZDggfSwKLSAgMTYsIDB4ODhlMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGY4LDB4MTUsMHhiYywweDAwLDB4ZTgsMHhjMCwweDMyLDB4ODAgfSwKLSAgMTYsIDB4ODhmMCwgMCwgezB4MGMsMHhiNSwweDAzLDB4ZTQsMHgwMCwweDlmLDB4MDAsMHgzZCwweGUwLDB4MGMsMHhmMCwweDBiLDB4MjQsMHgwMCwweGY4LDB4MDAgfSwKLSAgMTYsIDB4ODkwMCwgMCwgezB4MzYsMHhlMCwweDBjLDB4MjUsMHgwMywweGJjLDB4MDUsMHhkOCwweDAyLDB4MmEsMHgwMCwweDA4LDB4YmEsMHgwMiwweDJhLDB4MDAgfSwKLSAgMTYsIDB4ODkxMCwgMCwgezB4YzEsMHgwMiwweDNhLDB4NTAsMHg4YiwweDkwLDB4MDMsMHhlZSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODkyMCwgMCwgezB4ODAsMHgwMCwweGVjLDB4MDAsMHhmYiwweDA4LDB4M2UsMHg4MCwweDBmLDB4YTEsMHgwMywweGVjLDB4MDQsMHhlYiwweDAyLDB4MmUgfSwKLSAgMTYsIDB4ODkzMCwgMCwgezB4YzYsMHgwZiwweGIwLDB4MTcsMHg0NCwweDAwLDB4ZTgsMHgwMCwweDNhLDB4NDAsMHgwZiwweDgwLDB4MDIsMHg2YywweDAwLDB4ZmIgfSwKLSAgMTYsIDB4ODk0MCwgMCwgezB4MDAsMHgzZSwweGUwLDB4MGYsMHg5MCwweDkzLDB4ZTEsMHgwMCwweGQ5LDB4MDAsMHgyNiwweDcwLDB4OGYsMHg5MCwweDAxLDB4ZTEgfSwKLSAgMTYsIDB4ODk1MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHhmYywweDAwLDB4ZmMsMHgwMywweDM3LDB4MjQgfSwKLSAgMTYsIDB4ODk2MCwgMCwgezB4MGQsMHhmOCwweDAzLDB4ZTAsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMxLDB4OGQsMHhmMCwweDBiLDB4MzgsMHgwMCwweGNjLDB4MDAgfSwKLSAgMTYsIDB4ODk3MCwgMCwgezB4M2YsMHhjMCwweDBmLDB4ZmEsMHgwMywweDNjLDB4MGMsMHhmYywweDA0LDB4M2IsMHg4MCwweDBjLDB4YTAsMHgwMywweDk0LDB4MjAgfSwKLSAgMTYsIDB4ODk4MCwgMCwgezB4ODksMHgwNSwweDNiLDB4MDAsMHg0ZiwweGQwLDB4MjMsMHhjMCwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODk5MCwgMCwgezB4ODAsMHgwNCwweDZjLDB4MDAsMHhiMCwweDA2LDB4MjAsMHgxMywweDg4LDB4YTgsMHgwMiwweGViLDB4MDAsMHhiYiwweDAwLDB4MmUgfSwKLSAgMTYsIDB4ODlhMCwgMCwgezB4YzAsMHgwOCwweGIwLDB4MDIsMHgyYSwweDAwLDB4YTgsMHg4MCwweDJlLDB4ZTAsMHgwYiwweDk0LDB4MWEsMHgyYywweDAwLDB4YmIgfSwKLSAgMTYsIDB4ODliMCwgMCwgezB4MDAsMHhhMiwweDQwLDB4MjksMHg5OCwweDAyLDB4ZTIsMHgwMCwweGE5LDB4ODQsMHgyMiwweDIwLDB4MGIsMHg5OCwweDAyLDB4ZTAgfSwKLSAgMTYsIDB4ODljMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAwLDB4YjgsMHgwMCwweDIyLDB4MDAgfSwKLSAgMTYsIDB4ODlkMCwgMCwgezB4MDksMHg4MiwweDAyLDB4ZTYsMHgwMCwweGJiLDB4MDAsMHgyZSwweGMwLDB4MGIsMHhiMCwweDAyLDB4MjYsMHgwMCwweDg4LDB4ODAgfSwKLSAgMTYsIDB4ODllMCwgMCwgezB4MmUsMHhhMCwweDBiLDB4YTAsMHgwMiwweDJjLDB4MDAsMHhiMywweDAwLDB4MmEsMHgwMCwweDA5LDB4OTgsMHgwMiwweGVhLDB4MjAgfSwKLSAgMTYsIDB4ODlmMCwgMCwgezB4YTksMHg4MCwweDJhLDB4NjAsMHg5YiwweDk4LDB4ODIsMHhlMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGEwMCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDAsMHhiOCwweDAwLDB4MjAsMHgwMCwweDA5LDB4MDgsMHgwMiwweGM0LDB4MDAsMHhiMywweDAwLDB4MjYgfSwKLSAgMTYsIDB4OGExMCwgMCwgezB4YzAsMHgwMCwweDMwLDB4MDIsMHgwMCwweDAwLDB4ODEsMHgwMCwweDJjLDB4NDEsMHgwYiwweDAwLDB4MDIsMHgwYywweDAwLDB4YjAgfSwKLSAgMTYsIDB4OGEyMCwgMCwgezB4MDAsMHgyMCwweGMwLDB4MGIsMHgwMCwweDAyLDB4YzgsMHg4MCwweGE4LDB4MDAsMHgyMCwweDQxLDB4MGIsMHgxMCwweDAyLDB4YzIgfSwKLSAgMTYsIDB4OGEzMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2YywweDEwLDB4ZjgsMHg1MCwweGIyLDB4MDAgfSwKLSAgMTYsIDB4OGE0MCwgMCwgezB4MGQsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGZiLDB4MDAsMHgzZCwweGMwLDB4MGQsMHhmMCwweDEzLDB4MjQsMHgwMiwweGM4LDB4MDYgfSwKLSAgMTYsIDB4OGE1MCwgMCwgezB4M2UsMHg4MCwweDBmLDB4YTAsMHgwMywweDNjLDB4MDQsMHhmYiwweDAwLDB4NzgsMHg4MCwweDBjLDB4YTAsMHgwMywweGU0LDB4MDAgfSwKLSAgMTYsIDB4OGE2MCwgMCwgezB4ZTksMHgwMCwweDFhLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhjMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGE3MCwgMCwgezB4YTAsMHgxZCwweGZjLDB4MDAsMHhmNCwweDIwLDB4M2YsMHgwMCwweDBlLDB4YzAsMHgwMiwweGYwLDB4MDEsMHhmZiwweDAwLDB4M2YgfSwKLSAgMTYsIDB4OGE4MCwgMCwgezB4YzAsMHgwZiwweGYwLDB4MjMsMHhmMCwweDAwLDB4ZmQsMHgwMCwweDNmLDB4YzAsMHgwZiwweGMwLDB4MDMsMHhmYywweDAwLDB4ZmMgfSwKLSAgMTYsIDB4OGE5MCwgMCwgezB4MDAsMHgzZiwweDQwLDB4OWMsMHhjMCwweDAzLDB4ZjAsMHg0MCwweGZkLDB4MDAsMHgzZiwweDQwLDB4MGYsMHhkMCwweDQzLDB4ZTggfSwKLSAgMTYsIDB4OGFhMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmMCwweDAwLDB4ZWQsMHgyMywweGI3LDB4NDggfSwKLSAgMTYsIDB4OGFiMCwgMCwgezB4MGMsMHhlMSwweGMzLDB4N2MsMHhjMCwweGRkLDB4ODAsMHgzNywweGUwLDB4MGYsMHhjYiwweDAzLDB4ZmUsMHgwOCwweGZjLDB4MjggfSwKLSAgMTYsIDB4OGFjMCwgMCwgezB4M2YsMHhmMCwweDFjLDB4ZmIsMHgyMywweDdjLDB4MDEsMHhmZiwweDE0LDB4NzcsMHhlMiwweDRmLDB4ZTgsMHgyMywweDdjLDB4MDAgfSwKLSAgMTYsIDB4OGFkMCwgMCwgezB4YzQsMHg4MCwweDMzLDB4NDgsMHgyYywweGY4LDB4MjIsMHgzMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGFlMCwgMCwgezB4ODAsMHgxMCwweGUwLDB4ZTAsMHhjOSwweGMwLDB4MjIsMHg1YiwweDg4LDB4OTYsMHgyMiwweDJkLDB4MDAsMHg4OSwweDIyLDB4MjIgfSwKLSAgMTYsIDB4OGFmMCwgMCwgezB4Y2EsMHgwYiwweDllLDB4MjIsMHhlMiwweGEwLDB4YjksMHg2MSwweDJjLDB4ZTAsMHg4OCwweDlmLDB4MDIsMHgzZCwweDg1LDB4YmYgfSwKLSAgMTYsIDB4OGIwMCwgMCwgezB4NjAsMHgyNiwweDUwLDB4NDgsMHhhMCwweDAyLDB4M2MsMHgwMCwweDg4LDB4MDAsMHgyMiwweDUwLDB4MDgsMHhiMCwweDAyLDB4MjAgfSwKLSAgMTYsIDB4OGIxMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjMCwweDgwLDB4YjEsMHgxMCwweDIwLDB4NDQgfSwKLSAgMTYsIDB4OGIyMCwgMCwgezB4MGIsMHhiMiwweDAyLDB4Y2UsMHhkMCwweDgxLDB4MDgsMHgyYywweGMwLDB4MGIsMHgwMSwweDAyLDB4OGMsMHgwOCwweGIzLDB4MDggfSwKLSAgMTYsIDB4OGIzMCwgMCwgezB4MmMsMHhjOSwweDA4LDB4MTAsMHg2MiwweDhjLDB4NjAsMHhiMywweDMyLDB4MjQsMHg4MCwweDBhLDB4YTAsMHgwMiwweDZjLDB4MDMgfSwKLSAgMTYsIDB4OGI0MCwgMCwgezB4OWEsMHgwMSwweDI2LDB4NDQsMHg0OCwweGIwLDB4NDIsMHg2MiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGI1MCwgMCwgezB4YzAsMHgxNSwweGE0LDB4YTAsMHg4YiwweDAyLDB4MjIsMHhlMCwweDBiLDB4YjAsMHg2MiwweGFjLDB4OTgsMHg5OSwweDAwLDB4MmEgfSwKLSAgMTYsIDB4OGI2MCwgMCwgezB4YzIsMHgwYiwweDk4LDB4MDYsMHhlNCwweDAwLDB4YmIsMHgwMiwweDJlLDB4YzAsMHgwOCwweDkxLDB4NDIsMHgyYywweDEwLDB4YmIgfSwKLSAgMTYsIDB4OGI3MCwgMCwgezB4MDAsMHg2ZSwweDgwLDB4MGEsMHg4MCwweDAyLDB4NmMsMHgwMCwweDFiLDB4MDAsMHgwNiwweDQwLDB4NDgsMHhiOCwweDBhLDB4NzAgfSwKLSAgMTYsIDB4OGI4MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTEsMHhlNywweDAwLDB4YTEsMHgwMCwweDc2LDB4NzggfSwKLSAgMTYsIDB4OGI5MCwgMCwgezB4MGYsMHhiMCwweDAzLDB4ZTgsMHgxMCwweGQ5LDB4MDAsMHgzZSwweGQwLDB4NGIsMHg5ZSwweDEzLDB4YWMsMHgwOCwweGI4LDB4YTAgfSwKLSAgMTYsIDB4OGJhMCwgMCwgezB4N2UsMHhjNiwweDA4LDB4YTgsMHgwMiwweDJjLDB4MDEsMHhiYiwweDAwLDB4MjYsMHgzMCwweDRlLDB4MjAsMHgwMywweDRjLDB4MTggfSwKLSAgMTYsIDB4OGJiMCwgMCwgezB4OTksMHg4MCwweGI0LDB4NDAsMHg0YywweDNhLDB4MDMsMHg0MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGJjMCwgMCwgezB4ZTAsMHgwMSwweGIyLDB4MDAsMHhmZCwweGM1LDB4M2IsMHhjMCwweDRjLDB4ZDAsMHgwMywweDZhLDB4MDIsMHhlZCwweDA2LDB4MzMgfSwKLSAgMTYsIDB4OGJkMCwgMCwgezB4YzQsMHgwZiwweGQwLDB4NTMsMHhmOCwweDAwLDB4ZmMsMHg5MCwweDdmLDB4YzEsMHgwZiwweDc4LDB4MDMsMHhiYywweDA0LDB4ZmYgfSwKLSAgMTYsIDB4OGJlMCwgMCwgezB4MDAsMHgzNywweDY0LDB4MGMsMHhmMSwweDAzLDB4YTQsMHgwMCwweGVkLDB4YTEsMHgzYiwweDQwLDB4MGIsMHhmMCwweDgzLDB4YjggfSwKLSAgMTYsIDB4OGJmMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHg4YywweDAwLDB4Y2IsMHgyMCwweDNlLDB4NzEgfSwKLSAgMTYsIDB4OGMwMCwgMCwgezB4MGYsMHhiMywweDAzLDB4OTgsMHgwMiwweGZiLDB4MDIsMHgzNiwweDQ4LDB4MGYsMHg5MCwweDAzLDB4ZWMsMHgyMCwweGY4LDB4MDAgfSwKLSAgMTYsIDB4OGMxMCwgMCwgezB4M2UsMHhjYywweDA0LDB4ODQsMHgwMywweDJjLDB4MDAsMHhkYiwweDA0LDB4M2MsMHgxMCwweDBmLDB4YTAsMHgwMywweGVjLDB4MDAgfSwKLSAgMTYsIDB4OGMyMCwgMCwgezB4OWIsMHgwMCwweDMyLDB4NDAsMHgwYywweDkwLDB4MDMsMHhkMCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGMzMCwgMCwgezB4ODgsMHgwNSwweDJjLDB4MDIsMHg4YiwweDQ4LDB4MmUsMHhlMCwweDBiLDB4MzQsMHgwMywweDZiLDB4MDAsMHg4YiwweGY1LDB4MjIgfSwKLSAgMTYsIDB4OGM0MCwgMCwgezB4ZjIsMHgwYiwweDljLDB4MDMsMHhhZiwweDAwLDB4YjgsMHg1MCwweDJlLDB4YzAsMHgwOCwweGIwLDB4MDIsMHg3YywweDAwLDB4OGYgfSwKLSAgMTYsIDB4OGM1MCwgMCwgezB4MDAsMHgwZSwweDVkLDB4MGIsMHg4MCwweDAyLDB4ZjUsMHg0MCwweDgzLDB4NTAsMHgyMywweDU0LDB4MDgsMHg5YywweDAyLDB4ZTYgfSwKLSAgMTYsIDB4OGM2MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDQsMHg0YywweDAwLDB4ODEsMHg4MSwweDJlLDB4NDAgfSwKLSAgMTYsIDB4OGM3MCwgMCwgezB4MDMsMHgyYywweDAyLDB4MDQsMHgzMywweDk5LDB4MDAsMHgyMCwweGYwLDB4NGEsMHgyOCwweDgwLDB4Y2MsMHg0MCwweGIwLDB4MDAgfSwKLSAgMTYsIDB4OGM4MCwgMCwgezB4MjYsMHgxMCwweDA4LDB4MjAsMHgwMiwweDRjLDB4MDAsMHg4MywweDAwLDB4MmMsMHhjMCwweDA5LDB4MjAsMHgwMiwweGNjLDB4MDAgfSwKLSAgMTYsIDB4OGM5MCwgMCwgezB4YTAsMHgwMiwweDI4LDB4NDAsMHgwOCwweDA4LDB4MDIsMHg3YSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGNhMCwgMCwgezB4MjAsMHgwMSwweDBhLDB4MDAsMHg4NSwweDgwLDB4MmQsMHhmOCwweDBiLDB4ZGEsMHgwMiwweGQ2LDB4NDAsMHg4NSwweGEwLDB4MjEgfSwKLSAgMTYsIDB4OGNiMCwgMCwgezB4ZTAsMHgwYiwweDQ4LDB4MDYsMHg5MiwweDA0LDB4YjUsMHg4MCwweDJkLDB4MjEsMHgwOCwweDAwLDB4MDIsMHg0ZSwweDAwLDB4ODcgfSwKLSAgMTYsIDB4OGNjMCwgMCwgezB4YTQsMHgyZCwweDYwLDB4MGIsMHg2OCwweDAyLDB4ZGUsMHhjMiwweGFkLDB4OTAsMHgyYiwweDYwLDB4MjgsMHg1OCwweDgyLDB4ZGMgfSwKLSAgMTYsIDB4OGNkMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHg0YywweDQwLDB4YzMsMHgxMCwweDJjLDB4NmMgfSwKLSAgMTYsIDB4OGNlMCwgMCwgezB4MGYsMHgzMCwweDAzLDB4ODYsMHhhMiwweGY5LDB4YjAsMHhiMCwweGUwLDB4MGYsMHgyOSwweDgzLDB4Y2UsMHg0NCwweGYzLDB4ODAgfSwKLSAgMTYsIDB4OGNmMCwgMCwgezB4M2MsMHhhYywweDBjLDB4MzAsMHgwMywweDBjLDB4MDAsMHhjMywweDAwLDB4M2MsMHhkNSwweDBmLDB4MjAsMHgwMywweGNlLDB4YzEgfSwKLSAgMTYsIDB4OGQwMCwgMCwgezB4ZTAsMHgxMCwweGI4LDB4NDAsMHgwYywweDAwLDB4MDMsMHhkMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGQxMCwgMCwgezB4YzAsMHgxZCwweGJjLDB4MDAsMHhlYiwweDAwLDB4M2UsMHhjYywweDBmLDB4MzIsMHgwMywweDY0LDB4MDgsMHhmOSwweDAwLDB4M2IgfSwKLSAgMTYsIDB4OGQyMCwgMCwgezB4OTAsMHgwZiwweGYwLDB4NDMsMHhlNCwweDQwLDB4ZmIsMHgzNCwweDNmLDB4ODEsMHgwNywweGQxLDB4MDMsMHhhZCwweDIwLDB4ZWIgfSwKLSAgMTYsIDB4OGQzMCwgMCwgezB4MjAsMHg3ZiwweGM0LDB4MGYsMHhlMSwweDAzLDB4ZmMsMHg1MCwweGNkLDB4MTAsMHgzNSwweDQwLDB4MGYsMHhkMCwweDAzLDB4ZDAgfSwKLSAgMTYsIDB4OGQ0MCwgMCwgezB4MDIsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlNCwweDA0LDB4ZmQsMHgwNCwweDNkLDB4NDAgfSwKLSAgMTYsIDB4OGQ1MCwgMCwgezB4MmQsMHgzMCwweDAyLDB4M2MsMHgwMCwweGM5LDB4MDEsMHgzZSwweGMwLDB4NGYsMHhiOCwweDQzLDB4ZWMsMHgxMCwweGZiLDB4MDAgfSwKLSAgMTYsIDB4OGQ2MCwgMCwgezB4MzIsMHg0MCwweDBmLDB4YTAsMHgyMywweGVjLDB4ODAsMHhjYiwweDM2LDB4MzIsMHg4MCwweDRkLDB4YTgsMHgwMywweDJjLDB4MTAgfSwKLSAgMTYsIDB4OGQ3MCwgMCwgezB4Y2IsMHgwMCwweDMyLDB4NDAsMHgwYywweDkwLDB4MDMsMHg2YSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGQ4MCwgMCwgezB4YzgsMHgxMSwweDkwLDB4MDgsMHhiNSwweDAwLDB4MmQsMHhjMCwweDA4LDB4NTAsMHgwMiwweGJjLDB4MDIsMHg4NSwweDA0LDB4MmQgfSwKLSAgMTYsIDB4OGQ5MCwgMCwgezB4YzAsMHg4ZSwweDYwLDB4MDYsMHhkOCwweDA0LDB4YjcsMHgwNCwweDIxLDB4NDAsMHgwYiwweDcwLDB4MDIsMHhmYywweDgwLDB4YWYgfSwKLSAgMTYsIDB4OGRhMCwgMCwgezB4MjgsMHgyMSwweGMwLDB4MGIsMHg3MCwweDAyLDB4MDYsMHg0MCwweDg3LDB4MDAsMHgyMSwweDUwLDB4MDgsMHg1MCwweDAyLDB4MzIgfSwKLSAgMTYsIDB4OGRiMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDAsMHg5ZSwweDIwLDB4YjcsMHg4MCwweDJiLDB4NzAgfSwKLSAgMTYsIDB4OGRjMCwgMCwgezB4MDgsMHhmOCwweDA2LDB4MWUsMHgwMCwweDg3LDB4ODAsMHgyZCwweGUwLDB4MGIsMHg3MCwweDMyLDB4ZGUsMHgwNCwweDM3LDB4ODQgfSwKLSAgMTYsIDB4OGRkMCwgMCwgezB4MjUsMHhlMCwweDBiLDB4NjgsMHgwNiwweGRlLDB4ODAsMHg4NywweDgwLDB4MjEsMHhhMSwweDFiLDB4NjgsMHgwMiwweDFlLDB4NDAgfSwKLSAgMTYsIDB4OGRlMCwgMCwgezB4OWYsMHg4MCwweDIwLDB4NjAsMHgwOCwweDU4LDB4MDIsMHgyMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGRmMCwgMCwgezB4NDgsMHgxNCwweGNjLDB4MjAsMHhiMywweDAwLDB4MmMsMHg4MCwweDg4LDB4YjQsMHgyMiwweDhkLDB4MDAsMHg4MywweDkwLDB4MmMgfSwKLSAgMTYsIDB4OGUwMCwgMCwgezB4YzAsMHgwYSwweDM4LDB4MDIsMHhjZSwweDA4LDB4YmIsMHgyMCwweDI0LDB4ZDAsMHgwYiwweGIzLDB4MDIsMHhjYywweDAwLDB4YTMgfSwKLSAgMTYsIDB4OGUxMCwgMCwgezB4MDAsMHg2MCwweGQyLDB4MGIsMHgyMCwweDJhLDB4MDQsMHgwOCwweDkzLDB4NTAsMHgyMCwweDQwLDB4MDgsMHgxNywweDBhLDB4MDIgfSwKLSAgMTYsIDB4OGUyMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhiYSwweDAwLDB4YmEsMHhhMCwweDNmLDB4ODQgfSwKLSAgMTYsIDB4OGUzMCwgMCwgezB4MWMsMHhlMCwweDBiLDB4MzgsMHg0MCwweDhlLDB4MDYsMHgyZSwweDgwLDB4MGIsMHhlMywweDAzLDB4ZjgsMHg4MCwweGZlLDB4ZTQgfSwKLSAgMTYsIDB4OGU0MCwgMCwgezB4YjcsMHg5MCwweDBmLDB4ZWMsMHgwMiwweGU4LDB4MDAsMHg4YSwweDAwLDB4YTMsMHhhMCwweDA5LDB4ZTQsMHgwMywweDJhLDB4MDIgfSwKLSAgMTYsIDB4OGU1MCwgMCwgezB4ZGUsMHhjMCwweGYzLDB4ODAsMHgwYywweDZjLDB4MDMsMHgzYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGU2MCwgMCwgezB4NDgsMHgwMSwweGUwLDB4MDAsMHhmOCwweDQwLDB4M2UsMHgwMCwweDBmLDB4ODQsMHgxMywweGUwLDB4MDAsMHhmOCwweDAwLDB4MmUgfSwKLSAgMTYsIDB4OGU3MCwgMCwgezB4MzAsMHgwYSwweDg0LDB4MDMsMHhlMCwweDA0LDB4ZjgsMHgwMCwweDNhLDB4MDIsMHgwZiwweDgwLDB4MTMsMHhlMCwweDAwLDB4ZjggfSwKLSAgMTYsIDB4OGU4MCwgMCwgezB4MDAsMHgzZSwweDA0LDB4MGQsMHg4MCwweDgzLDB4ZTAsMHg0MCwweGU4LDB4MjAsMHgzZSwweDAwLDB4MmYsMHg4MCwweDAzLDB4ZDIgfSwKLSAgMTYsIDB4OGU5MCwgMCwgezB4MTAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhhNCwweDAwLDB4ZjksMHgwMCwweDNjLDB4NjQgfSwKLSAgMTYsIDB4OGVhMCwgMCwgezB4NGUsMHg5MCwweDgzLDB4MjQsMHg4MCwweGM5LDB4MDAsMHgzMiwweGUwLDB4MGYsMHgxMCwweDAzLDB4MjUsMHgwMCwweGY5LDB4MDAgfSwKLSAgMTYsIDB4OGViMCwgMCwgezB4MzIsMHg0NCwweDBmLDB4OTIsMHgyMywweDY0LDB4MDAsMHhjMSwweDAwLDB4MzIsMHg0MCwweDBjLDB4OTAsMHgxMywweGU0LDB4MDAgfSwKLSAgMTYsIDB4OGVjMCwgMCwgezB4YzksMHgwMCwweDIyLDB4NDAsMHgwYywweDkwLDB4MDMsMHgwMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGVkMCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDAsMHhiOSwweDIwLDB4MmUsMHg0MCwweDQ4LDB4OTYsMHgyMiwweDI1LDB4MDAsMHhkOSwweGMwLDB4YTIgfSwKLSAgMTYsIDB4OGVlMCwgMCwgezB4NzAsMHgwYiwweDk4LDB4MDIsMHgyNCwweDAwLDB4YjksMHg0MCwweGEyLDB4NzAsMHg0YiwweDkwLDB4MDIsMHgyNCwweDAwLDB4ZDkgfSwKLSAgMTYsIDB4OGVmMCwgMCwgezB4MDAsMHhhMiwweDQwLDB4MmMsMHg5NCwweDIyLDB4ZTQsMHgwMiwweDg5LDB4MDAsMHhhMiwweDQwLDB4MjgsMHg5NCwweDEzLDB4MjAgfSwKLSAgMTYsIDB4OGYwMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDEsMHgyNCwweDAwLDB4YjksMHgwMCwweDJlLDB4NDAgfSwKLSAgMTYsIDB4OGYxMCwgMCwgezB4MGEsMHg5MCwweDAyLDB4MDQsMHgwMCwweDgxLDB4ODAsMHhhMiwweDQ0LDB4MGIsMHg5MSwweDAyLDB4MjUsMHgwMCwweDE5LDB4NDAgfSwKLSAgMTYsIDB4OGYyMCwgMCwgezB4NjIsMHg0MCwweDBiLDB4YjQsMHgwMiwweDQ0LDB4MDAsMHg4OSwweDAwLDB4MjAsMHg0MCwweDA4LDB4OTAsMHg4MiwweGM0LDB4MDEgfSwKLSAgMTYsIDB4OGYzMCwgMCwgezB4ODMsMHgwMiwweDI4LDB4NDAsMHg0OCwweDkwLDB4ODIsMHgwNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGY0MCwgMCwgezB4MDAsMHgwNCwweDA1LDB4ODAsMHhiMSwweDAwLDB4NmMsMHg1MSwweDA4LDB4MTQsMHgxYSwweDA1LDB4MDAsMHg5MywweDAwLDB4MjAgfSwKLSAgMTYsIDB4OGY1MCwgMCwgezB4NDAsMHg4YiwweDE0LDB4MDIsMHgwNSwweDAwLDB4YjEsMHgyMCwweDIwLDB4NTAsMHgwYiwweDE0LDB4MDYsMHgwNCwweDgwLDB4OTEgfSwKLSAgMTYsIDB4OGY2MCwgMCwgezB4MjAsMHgyMCwweDQwLDB4MDksMHgxMCwweDAyLDB4YzQsMHhhOCwweDgxLDB4MDAsMHgyOCwweDRhLDB4MDgsMHg5MCwweDRhLDB4NDIgfSwKLSAgMTYsIDB4OGY3MCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDAgfSwKLSAgMTYsIDB4OGY4MCwgMCwgezB4MGUsMHg4MCwweDAzLDB4MjgsMHgwMSwweGM4LDB4NTAsMHgzMiwweDk0LDB4OGIsMHhhMCwweDAzLDB4MjAsMHgwMCwweGIwLDB4NTAgfSwKLSAgMTYsIDB4OGY5MCwgMCwgezB4MzIsMHg4MCwweDBmLDB4ODAsMHgwNywweDYxLDB4NTEsMHhjOCwweDUwLDB4MjIsMHgwMCwweDBjLDB4MDAsMHgwMywweGUwLDB4ODQgfSwKLSAgMTYsIDB4OGZhMCwgMCwgezB4YzgsMHgwNCwweDNhLDB4MDgsMHgwYywweDAwLDB4MDMsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGZiMCwgMCwgezB4OTgsMHg5ZCwweGY0LDB4NDAsMHhiZCwweDQxLDB4M2YsMHg1MCwweDBmLDB4ZjQsMHgwMywweGY1LDB4MTAsMHhmZCwweDAwLDB4M2UgfSwKLSAgMTYsIDB4OGZjMCwgMCwgezB4NDAsMHgwZiwweGQ0LDB4MDMsMHhmNCwweDAwLDB4ZmYsMHgxMCwweDJmLDB4NDAsMHg0ZiwweGQ0LDB4NDAsMHhhNCwweDQ4LDB4ZjkgfSwKLSAgMTYsIDB4OGZkMCwgMCwgezB4MTIsMHgzZiwweDVhLDB4OGUsMHhkMiwweDgzLDB4ZjQsMHhhOCwweGY1LDB4MmMsMHgzNywweDRhLDB4MGYsMHhkMiwweDgzLDB4YTYgfSwKLSAgMTYsIDB4OGZlMCwgMCwgezB4MTIsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhlNiwweDgwLDB4ZmQsMHgyOCwweDNmLDB4NGMgfSwKLSAgMTYsIDB4OGZmMCwgMCwgezB4MGYsMHg1MCwweDAzLDB4M2MsMHg0NCwweGNkLDB4NDAsMHgzZiwweGQwLDB4MGQsMHhkMCwweDAyLDB4MTQsMHgwMSwweGZkLDB4YTAgfSwKLSAgMTYsIDB4OTAwMCwgMCwgezB4MzEsMHg0MCwweDAzLDB4ZDAsMHgwMywweGU3LDB4ODksMHhmOSwweDkwLDB4N2UsMHg1MCwweDBjLDB4OTQsMHgwMywweGU2LDB4YzAgfSwKLSAgMTYsIDB4OTAxMCwgMCwgezB4YzksMHgxMCwweDMyLDB4NmQsMHgwZiwweDkxLDB4MDIsMHhjNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTAyMCwgMCwgezB4MzgsMHgxMCwweGUwLDB4ODAsMHhiOCwweDAxLDB4MmUsMHgwYywweDhiLDB4ODQsMHg4MiwweDIwLDB4NDIsMHg4OCwweGEwLDB4NmUgfSwKLSAgMTYsIDB4OTAzMCwgMCwgezB4MjAsMHgwOCwweDgwLDB4MDMsMHg2MCwweDAwLDB4OTgsMHhlOCwweDIyLDB4MDAsMHgwOSwweDgwLDB4MDIsMHhlMywweGMwLDB4ZTggfSwKLSAgMTYsIDB4OTA0MCwgMCwgezB4ZDAsMHgyZSwweDI4LDB4MDgsMHg4YSwweDIzLDB4ZTIsMHg4NCwweGQ4LDB4YTAsMHgyMiwweDNkLDB4MGIsMHhjOCwweDAyLDB4Y2UgfSwKLSAgMTYsIDB4OTA1MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDUsMHhjNSwweGIwLDB4YjEsMHgwMCwweDJjLDB4NDggfSwKLSAgMTYsIDB4OTA2MCwgMCwgezB4MGIsMHgxMywweDAyLDB4MDQsMHgwMiwweGIxLDB4MjAsMHgyZSwweDQwLDB4ODgsMHgxMCwweDIyLDB4YzQsMHgwMCwweGIxLDB4MTQgfSwKLSAgMTYsIDB4OTA3MCwgMCwgezB4MjQsMHg0MCwweDBiLDB4MTAsMHg1MiwweGM0LDB4MDAsMHhiMSwweDIxLDB4MmQsMHg0OCwweDBhLDB4NTIsMHgwMiwweGQ1LDB4MDAgfSwKLSAgMTYsIDB4OTA4MCwgMCwgezB4YmQsMHgwMCwweGFkLDB4NDAsMHgwYiwweDUyLDB4MDIsMHhkMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTA5MCwgMCwgezB4MTgsMHg1NSwweGE1LDB4MDAsMHhiOSwweDgyLDB4MmUsMHg0OSwweDhiLDB4YjAsMHgxMiwweDI0LDB4MTAsMHg5OSwweDAyLDB4MmUgfSwKLSAgMTYsIDB4OTBhMCwgMCwgezB4NDAsMHgwOCwweGIyLDB4MDAsMHg2NSwweDAwLDB4OTksMHg4MCwweDI2LDB4NDQsMHgwOSwweDkxLDB4MDIsMHhlNCwweDA5LDB4YTkgfSwKLSAgMTYsIDB4OTBiMCwgMCwgezB4MDQsMHgyZSwweDQ2LDB4MGEsMHhkNCwweDAyLDB4YjQsMHgwMCwweGJkLDB4NDAsMHgyZiwweDQwLDB4MGIsMHhkMCwweDAyLDB4YzYgfSwKLSAgMTYsIDB4OTBjMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNywweDQwLDB4ZjksMHg4MCwweDJlLDB4NjIgfSwKLSAgMTYsIDB4OTBkMCwgMCwgezB4MGYsMHg5YywweDQyLDB4MjQsMHgwMCwweDk5LDB4MDEsMHgyZSwweDY4LDB4MmMsMHg5MiwweDAyLDB4NjQsMHgwMCwweGI5LDB4NDAgfSwKLSAgMTYsIDB4OTBlMCwgMCwgezB4YjYsMHg2MCwweDBmLDB4OWEsMHgwMywweGU0LDB4MDAsMHhiOSwweDAwLDB4MmUsMHg3MCwweDNlLDB4OTksMHgwNiwweGU0LDB4MDIgfSwKLSAgMTYsIDB4OTBmMCwgMCwgezB4ZjksMHgwMCwweDNlLDB4NDAsMHgwZiwweDk4LDB4MDMsMHhlOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTEwMCwgMCwgezB4NjgsMHgwMSwweGE2LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0MCwweDFmLDB4MTIsMHhhYiwweGU0LDB4MDAsMHhlOSwweDkwLDB4M2UgfSwKLSAgMTYsIDB4OTExMCwgMCwgezB4NDksMHgwZSwweDk4LDB4MDMsMHhlNCwweDAwLDB4ZjEsMHgwMCwweDNhLDB4NDAsMHgwZCwweDk4LDB4MDMsMHhlNCwweDAwLDB4ZjkgfSwKLSAgMTYsIDB4OTEyMCwgMCwgezB4MDEsMHgzZSwweDYwLDB4MDUsMHg5MCwweDEzLDB4ZTQsMHgwMCwweDU5LDB4MjAsMHgzMiwweDQwLDB4OGYsMHg5MSwweDAzLDB4ZGEgfSwKLSAgMTYsIDB4OTEzMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDY4LDB4MTAsMHhhMCwweDAwLDB4YzgsMHgwOCwweDNlLDB4MDEgfSwKLSAgMTYsIDB4OTE0MCwgMCwgezB4MGYsMHg4NCwweDYzLDB4MDAsMHgyMiwweGU4LDB4MjAsMHgzZSwweDEzLDB4MGYsMHg4NCwweDAzLDB4ZTEsMHhjMCwweGQ4LDB4NGMgfSwKLSAgMTYsIDB4OTE1MCwgMCwgezB4MzIsMHgwMCwweDBjLDB4ODQsMHg0MywweGUwLDB4MDAsMHhmOCwweDAwLDB4MjIsMHgxMCwweDBmLDB4ODQsMHgwMywweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTE2MCwgMCwgezB4YzgsMHgwMCwweGIyLDB4MDAsMHgwYywweGMwLDB4MDMsMHgwYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTE3MCwgMCwgezB4MjgsMHgwNSwweDI4LDB4MDAsMHg4ZSwweDAwLDB4MmYsMHg4NiwweDRiLDB4ZTAsMHgwMiwweDM5LDB4MDgsMHg4ZSwweDIwLDB4MmQgfSwKLSAgMTYsIDB4OTE4MCwgMCwgezB4OTAsMHgwYiwweGVkLDB4OTIsMHhmOCwweDAyLDB4OGUsMHhlMCwweGEzLDB4OTgsMHgwOCwweGUwLDB4MDIsMHhlOCwweDA4LDB4YmEgfSwKLSAgMTYsIDB4OTE5MCwgMCwgezB4MDAsMHg2MiwweDgwLDB4MDgsMHhhMCwweDAyLDB4MjgsMHgwMCwweDAyLDB4ODAsMHgwMiwweDgwLDB4NDgsMHhlMCwweDAzLDB4NGEgfSwKLSAgMTYsIDB4OTFhMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDY4LDB4MDUsMHg0YywweDAwLDB4ODMsMHgxMCwweDJjLDB4ZjAgfSwKLSAgMTYsIDB4OTFiMCwgMCwgezB4MGEsMHgxNCwweDJhLDB4MGQsMHgxYSwweGIzLDB4MDEsMHgyNCwweGQwLDB4MGIsMHhiYywweDMyLDB4Y2MsMHgwOCwweDAzLDB4MDAgfSwKLSAgMTYsIDB4OTFjMCwgMCwgezB4MjAsMHhjOCwweDBiLDB4MzAsMHgwMiwweGNjLDB4MDAsMHhiMywweDAyLDB4MjIsMHhjMCwweDA5LDB4MzAsMHgwMiwweDBjLDB4MTEgfSwKLSAgMTYsIDB4OTFkMCwgMCwgezB4ODMsMHgwMCwweDIwLDB4YzAsMHgyOCwweDIwLDB4MDIsMHgwYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTFlMCwgMCwgezB4MjAsMHgwMSwweDFlLDB4MDEsMHg4NSwweDAwLDB4MmQsMHgwMCwweDBiLDB4NzAsMHgwMiwweDE4LDB4MzIsMHg4NiwweDAwLDB4MmQgfSwKLSAgMTYsIDB4OTFmMCwgMCwgezB4YzAsMHgwYiwweDYwLDB4MTYsMHhmZSwweDA0LDB4ODYsMHgwMCwweDI3LDB4YTAsMHg4YiwweDcwLDB4NDIsMHhkYywweDgwLDB4YjcgfSwKLSAgMTYsIDB4OTIwMCwgMCwgezB4ODAsMHgyMSwweDAxLDB4MDgsMHhmOCwweDBhLDB4MTgsMHgwMCwweDg2LDB4MDgsMHgyMCwweGEwLDB4MDgsMHhlOCwweDBhLDB4NjggfSwKLSAgMTYsIDB4OTIxMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDgsMHgzZSwweDAyLDB4YzYsMHg4MCwweDNkLDB4ZTAgfSwKLSAgMTYsIDB4OTIyMCwgMCwgezB4MGYsMHg0OCwweDAzLDB4MDYsMHgwNCwweGY1LDB4ODIsMHgzNSwweGUwLDB4MGYsMHg3OCwweDAzLDB4ZGEsMHgwMCwweGQzLDB4ODAgfSwKLSAgMTYsIDB4OTIzMCwgMCwgezB4MzEsMHg2MCwweDA3LDB4NzgsMHgwMywweGRlLDB4MjAsMHhmMywweGIwLDB4ODEsMHhlMCwweDRmLDB4NjgsMHgwNywweDBlLDB4MDIgfSwKLSAgMTYsIDB4OTI0MCwgMCwgezB4Y2YsMHg4MCwweDMxLDB4ZTAsMHgwYywweDc4LDB4MTMsMHgyYSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTI1MCwgMCwgezB4MDgsMHgxZCwweGFkLDB4YTAsMHhmOSwweDAwLDB4M2YsMHgwMCwweDBmLDB4YjAsMHg1MywweGY4LDB4MTAsMHhhOSwweDAwLDB4M2UgfSwKLSAgMTYsIDB4OTI2MCwgMCwgezB4MDAsMHgwZiwweDgwLDB4MDEsMHhlYywweDAwLDB4ZmIsMHgwMiwweDNhLDB4YzAsMHgwYywweGIwLDB4MDMsMHhlYywweDAwLDB4ZmIgfSwKLSAgMTYsIDB4OTI3MCwgMCwgezB4NzQsMHgzYywweDAwLDB4MGYsMHgyMCwweDAzLDB4ZTgsMHgwMCwweGZhLDB4MDAsMHgzZSwweDgwLDB4MGYsMHgzMCwweDAzLDB4YzIgfSwKLSAgMTYsIDB4OTI4MCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDUsMHhmZSwweDAyLDB4OGYsMHg4MCwweDM1LDB4ZTAgfSwKLSAgMTYsIDB4OTI5MCwgMCwgezB4OGQsMHhkOSwweDAzLDB4MmUsMHhjNCwweGY2LDB4ODAsMHgzMiwweGE0LDB4MGMsMHhiOCwweDAzLDB4ZGUsMHgwMCwweGNmLDB4OTAgfSwKLSAgMTYsIDB4OTJhMCwgMCwgezB4M2MsMHhlNCwweDBjLDB4YjgsMHgwMywweGZlLDB4NjUsMHhmZiwweDgwLDB4MGYsMHhlYywweDhmLDB4ZjgsMHgwMywweGZlLDB4MDAgfSwKLSAgMTYsIDB4OTJiMCwgMCwgezB4YzUsMHg4MCwweDMzLDB4ZTAsMHgwZiwweDY4LDB4MDMsMHgxMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTJjMCwgMCwgezB4YWEsMHgxMSwweDljLDB4ODAsMHg4NCwweGIwLDB4MjAsMHgyMCwweDI5LDB4NzMsMHgwYSwweDBlLDB4ODIsMHhhMiwweGEwLDB4YTIgfSwKLSAgMTYsIDB4OTJkMCwgMCwgezB4YTAsMHg0ZiwweDNiLDB4MDMsMHg4NywweDg0LDB4YjIsMHg4MCwweDJjLDB4YTAsMHgwYSwweDdkLDB4MDIsMHhkZSwweDgwLDB4ZjcgfSwKLSAgMTYsIDB4OTJlMCwgMCwgezB4MjAsMHgyNSwweDA2LDB4MDgsMHg3MCwweDAyLDB4YzgsMHg0MCwweDg0LDB4MDAsMHgzNSwweDgwLDB4MGIsMHg2MCwweDAzLDB4NmEgfSwKLSAgMTYsIDB4OTJmMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5YywweDEwLDB4ODYsMHgzOCwweDI3LDB4YzAgfSwKLSAgMTYsIDB4OTMwMCwgMCwgezB4NDksMHg1NCwweDA2LDB4NTQsMHg0MCwweDFkLDB4MjAsMHgyMSwweGNhLDB4MDksMHg2MSwweDQwLDB4ZjgsMHg4MCwweGI3LDB4MjAgfSwKLSAgMTYsIDB4OTMxMCwgMCwgezB4MmYsMHgwMCwweDg5LDB4NzAsMHgxMiwweGRjLDB4ODEsMHhiNywweDA0LDB4MmQsMHhjOSwweDBhLDB4NjAsMHgwMiwweGNjLDB4MDAgfSwKLSAgMTYsIDB4OTMyMCwgMCwgezB4OGQsMHgwMCwweDJkLDB4YzAsMHgwYiwweGY4LDB4MDIsMHgwNCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTMzMCwgMCwgezB4NjAsMHgxNCwweGNkLDB4MjgsMHg4MCwweDAwLDB4MjQsMHgwMCwweDA5LDB4YjAsMHgyMiwweDRjLDB4MDIsMHhhMSwweDAxLDB4MjAgfSwKLSAgMTYsIDB4OTM0MCwgMCwgezB4MzAsMHgxYiwweDIzLDB4MDIsMHhhZiwweDIwLDB4YjMsMHgwOCwweDJjLDB4ODAsMHgxYiwweDMwLDB4MDAsMHhjYywweDA0LDB4YTMgfSwKLSAgMTYsIDB4OTM1MCwgMCwgezB4MDEsMHgyNiwweDMwLDB4MDgsMHhhYywweDIyLDB4ZTgsMHgwMiwweDgwLDB4MDgsMHgyZSwweDgwLDB4NGIsMHhiNCwweDAyLDB4NTggfSwKLSAgMTYsIDB4OTM2MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhiYywweDEwLDB4OGIsMHg4MCwweDM2LDB4ZjAgfSwKLSAgMTYsIDB4OTM3MCwgMCwgezB4MmQsMHhiYywweDBiLDB4NmMsMHgwMSwweGRhLDB4MDQsMHgyMiwweDQwLDB4N2QsMHg5NCwweDIyLDB4ZTQsMHgwMCwweGFiLDB4NDQgfSwKLSAgMTYsIDB4OTM4MCwgMCwgezB4MmUsMHhjMCwweDA5LDB4YjgsMHgwMiwweGZjLDB4MDAsMHhiZiwweDAwLDB4M2UsMHhmMCwweGNhLDB4OTIsMHgwMiwweGU0LDB4MDIgfSwKLSAgMTYsIDB4OTM5MCwgMCwgezB4Y2IsMHgwMCwweDZlLDB4NDAsMHgwZiwweDg0LDB4MDEsMHgyZSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTNhMCwgMCwgezB4ODAsMHgwMCwweGVjLDB4MDAsMHhmYiwweDAwLDB4M2EsMHhlMCwweDJlLDB4YmMsMHgwMywweDk4LDB4MDgsMHhlYSwweDQwLDB4MzYgfSwKLSAgMTYsIDB4OTNiMCwgMCwgezB4NDMsMHg4YywweDkwLDB4MDMsMHhhNCwweDQ0LDB4MmEsMHg0MCwweDNlLDB4MTAsMHgwZSwweGI1LDB4ODMsMHhlYywweDE0LDB4ZmIgfSwKLSAgMTYsIDB4OTNjMCwgMCwgezB4MDAsMHgyNiwweDAwLDB4MGUsMHg5MiwweDAzLDB4ZTAsMHg0MCwweGZhLDB4MDAsMHgxNiwweDAwLDB4MGYsMHg4MCwweDEzLDB4ZTAgfSwKLSAgMTYsIDB4OTNkMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhlYywweDAyLDB4ZmEsMHg4MCwweDNmLDB4ZTIgfSwKLSAgMTYsIDB4OTNlMCwgMCwgezB4MGYsMHhiMCwweDBiLDB4MjQsMHgwMCwweGVmLDB4OTIsMHhiYiwweGUwLDB4MWMsMHhkMCwweDAzLDB4NzQsMHgwMCwweGNmLDB4MDUgfSwKLSAgMTYsIDB4OTNmMCwgMCwgezB4M2IsMHg0MCwweDBmLDB4YzgsMHgwMywweDVjLDB4MDAsMHhjZiwweDAwLDB4MzIsMHhjMiwweDRkLDB4YzEsMHgyMywweDM0LDB4NDAgfSwKLSAgMTYsIDB4OTQwMCwgMCwgezB4Y2YsMHgwMCwweDE3LDB4NDQsMHgwYywweGQxLDB4ODMsMHgwMCwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTQxMCwgMCwgezB4ODEsMHgwNCwweDZjLDB4MDAsMHg4YiwweDg0LDB4MmUsMHg1NCwweDBiLDB4YmMsMHgwYSwweDI5LDB4ODAsMHg4YiwweDgwLDB4MzIgfSwKLSAgMTYsIDB4OTQyMCwgMCwgezB4MDAsMHgwOCwweDljLDB4MDMsMHhhNywweDAwLDB4YWIsMHg4NCwweDJlLDB4N2MsMHgwYiwweDgwLDB4MDIsMHgyYywweDEwLDB4ZGIgfSwKLSAgMTYsIDB4OTQzMCwgMCwgezB4MDEsMHgzNiwweDAwLDB4MDgsMHg4MCwweDAyLDB4MjAsMHgwMCwweDgyLDB4MDAsMHgyMiwweDAwLDB4MDgsMHg5MCwweDAyLDB4MjQgfSwKLSAgMTYsIDB4OTQ0MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgwYywweDAwLDB4ODksMHgxMCwweDY2LDB4OTAgfSwKLSAgMTYsIDB4OTQ1MCwgMCwgezB4MGIsMHhiOCwweDAyLDB4NmUsMHgxMiwweGEzLDB4NDEsMHgyMCwweDA0LDB4MGEsMHg5OCwweDIyLDB4ZTIsMHgwMCwweDg5LDB4MTkgfSwKLSAgMTYsIDB4OTQ2MCwgMCwgezB4MmUsMHhjMCwweDRiLDB4MzEsMHgyMiwweDZjLDB4MDgsMHg4MywweDAwLDB4MjIsMHhjMCwweDA5LDB4OTAsMHgwMiwweDI0LDB4MDAgfSwKLSAgMTYsIDB4OTQ3MCwgMCwgezB4ODksMHgwMCwweDJhLDB4NDAsMHgwOCwweDgwLDB4MDIsMHgyMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTQ4MCwgMCwgezB4MDgsMHgxMCwweDBjLDB4MDAsMHg4MCwweDIwLDB4MmMsMHgwZSwweDFiLDB4MzAsMHgwMiwweDA0LDB4NDEsMHg4MCwweDIwLDB4MjAgfSwKLSAgMTYsIDB4OTQ5MCwgMCwgezB4MTIsMHgxOCwweDE2LDB4NDIsMHgwMCwweDUwLDB4YTAsMHg0MCwweDJjLDB4ODgsMHgxYiwweDMwLDB4MDIsMHgwYywweDgxLDB4OTMgfSwKLSAgMTYsIDB4OTRhMCwgMCwgezB4MDAsMHgyNCwweDAwLDB4MDgsMHgxMCwweDJhLDB4MDAsMHgwYSwweDg4LDB4MDAsMHgyOCwweDAwLDB4MjgsMHgwMCwweDBhLDB4MDIgfSwKLSAgMTYsIDB4OTRiMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGMsMHg3YywweDExLDB4ZTgsMHgwMCwweDI2LDB4OTggfSwKLSAgMTYsIDB4OTRjMCwgMCwgezB4MGYsMHhiMCwweDEzLDB4MjEsMHgwYywweGViLDB4NjAsMHgzYSwweGQ4LDB4MjgsMHg4NCwweGEyLDB4ZTEsMHg4MCwweGM4LDB4MjAgfSwKLSAgMTYsIDB4OTRkMCwgMCwgezB4M2UsMHg1ZSwweDFmLDB4ODIsMHgwMywweDdjLDB4MDAsMHhjZiwweDAwLDB4MzIsMHhjMCwweDRkLDB4ODAsMHgwNywweDI1LDB4MDAgfSwKLSAgMTYsIDB4OTRlMCwgMCwgezB4YzksMHgwMCwweDMyLDB4NDAsMHgwYywweDkwLDB4MDMsMHgwMCwweDAxLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTRmMCwgMCwgezB4YTEsMHgxMSwweGZjLDB4MDAsMHhmOCwweDEzLDB4MWUsMHgwMCwweDBiLDB4ZjAsMHgwMSwweGYwLDB4ZDAsMHhmOSwweDE5LDB4MWYgfSwKLSAgMTYsIDB4OTUwMCwgMCwgezB4MDgsMHg0ZiwweGMwLDB4MTMsMHhhMSwweDAwLDB4ZjgsMHg2MiwweDNmLDB4YzAsMHgwYiwweGM0LDB4MDcsMHhlZCwweDAwLDB4ZmYgfSwKLSAgMTYsIDB4OTUxMCwgMCwgezB4MDAsMHgzZiwweDAwLDB4MGYsMHhjMCwweDIzLDB4ZjAsMHhhMCwweGZjLDB4MDAsMHgzMywweDAwLDB4MGYsMHhkMCwweDAzLDB4ZTggfSwKLSAgMTYsIDB4OTUyMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmYywweDAwLDB4ZmYsMHgwYywweDNmLDB4MjAgfSwKLSAgMTYsIDB4OTUzMCwgMCwgezB4MGMsMHhjOSwweDAzLDB4MzIsMHgwMCwweGNmLDB4MzgsMHgzZiwweGQwLDB4MGYsMHg0OCwweDAzLDB4ZmMsMHhhMCwweGNlLDB4MjIgfSwKLSAgMTYsIDB4OTU0MCwgMCwgezB4MzMsMHgwMCwweDBmLDB4YzEsMHgwMywweDNjLDB4MDAsMHhmZiwweDAwLDB4M2QsMHhjNCwweDRjLDB4YzAsMHgyMywweDhjLDB4ZTQgfSwKLSAgMTYsIDB4OTU1MCwgMCwgezB4ZmYsMHgxMCwweDM3LDB4MjAsMHgwOCwweGYxLDB4MDMsMHhmMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTU2MCwgMCwgezB4ODAsMHgxMCwweGZlLDB4MDAsMHhiZiwweDgwLDB4MmUsMHg3NCwweDA1LDB4MjIsMHgwMiwweGEyLDB4MTAsMHhkZiwweDYxLDB4MmYgfSwKLSAgMTYsIDB4OTU3MCwgMCwgezB4ZDAsMHg4YiwweDkwLDB4MDIsMHgzZCwweGE0LDB4YWEsMHg5MCwweDIyLDB4ZjQsMHgwYiwweDA3LDB4MTIsMHgxZCwweDIwLDB4YmIgfSwKLSAgMTYsIDB4OTU4MCwgMCwgezB4YzAsMHgyZiwweGQ4LDB4ODgsMHg5NywweDgyLDB4ZmQsMHg4MCwweGVmLDB4NzIsMHgyMiwweDA4LDB4MjgsMHhmNiwweDIzLDB4ZTAgfSwKLSAgMTYsIDB4OTU5MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDQwLDB4YjMsMHgwMCwweDJjLDB4MDAgfSwKLSAgMTYsIDB4OTVhMCwgMCwgezB4MDgsMHg4MiwweDAyLDB4MjIsMHgwMCwweDgzLDB4MDEsMHgwOCwweGNjLDB4OGIsMHgyMCwweDgyLDB4Y2MsMHgwMCwweDkwLDB4MDAgfSwKLSAgMTYsIDB4OTViMCwgMCwgezB4MjAsMHgwMCwweDRiLDB4MTIsMHgwMiwweDBkLDB4ODAsMHhiMywweDQwLDB4MmMsMHhkOCwweDA4LDB4MjAsMHg0MiwweDhjLDB4ODAgfSwKLSAgMTYsIDB4OTVjMCwgMCwgezB4YjMsMHgyMCwweDI2LDB4MDIsMHgxOCwweDMzLDB4MjYsMHhlMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTVkMCwgMCwgezB4YzAsMHgxNSwweGFjLDB4MDksMHhiYiwweDAwLDB4MmUsMHg2MCwweDA4LDB4ODAsMHgwMiwweGEyLDB4MDAsMHg5YiwweDAwLDB4MmUgfSwKLSAgMTYsIDB4OTVlMCwgMCwgezB4YzAsMHgwYiwweGFjLDB4MDIsMHgyYywweDAwLDB4YmEsMHgwNiwweDIyLDB4YzIsMHgwYiwweDk0LDB4MDIsMHhhYywweDEwLDB4YmIgfSwKLSAgMTYsIDB4OTVmMCwgMCwgezB4MDAsMHgyZSwweGMxLDB4MDgsMHhhOCwweDAyLDB4ZWMsMHgwMCwweGFiLDB4MDAsMHgyMiwweDAwLDB4MDgsMHhiMCwweDA2LDB4ZjAgfSwKLSAgMTYsIDB4OTYwMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDkwLDB4MTUsMHhlYywweDAwLDB4ZmIsMHgwNCwweDNlLDB4NjAgfSwKLSAgMTYsIDB4OTYxMCwgMCwgezB4MjgsMHg4MiwweDEzLDB4MGUsMHgwOCwweGNiLDB4MDAsMHgzYSwweGMwLDB4MGYsMHg4YywweDAzLDB4ZWMsMHgxMSwweGRiLDB4MjAgfSwKLSAgMTYsIDB4OTYyMCwgMCwgezB4YjIsMHg5MCwweDRiLDB4YTgsMHgwYiwweDJjLDB4MDAsMHhiYiwweDAwLDB4MmMsMHhjMCwweDBjLDB4ODgsMHgxMywweGFjLDB4MDAgfSwKLSAgMTYsIDB4OTYzMCwgMCwgezB4ZjMsMHgwMCwweDM2LDB4MDYsMHg0OCwweGIwLDB4MTIsMHhjNCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTY0MCwgMCwgezB4ZTAsMHgwMSwweGJjLDB4MDAsMHhmYiwweDA4LDB4M2QsMHg0MCwweDhmLDB4ZWEsMHgwMSwweGY0LDB4MDAsMHhmZiwweDAxLDB4MmYgfSwKLSAgMTYsIDB4OTY1MCwgMCwgezB4YzAsMHgwZiwweGQwLDB4MjIsMHhmYywweDA0LDB4YWYsMHgwMCwweDNmLDB4YzAsMHg4ZiwweGU5LDB4MDMsMHg3YywweDAwLDB4ZmYgfSwKLSAgMTYsIDB4OTY2MCwgMCwgezB4MDAsMHgzZiwweGMwLDB4MGYsMHg5MCwweDQzLDB4ZmMsMHgyMCwweGVmLDB4MDIsMHgzZiwweDAwLDB4OGYsMHhmMCwweDAzLDB4YjggfSwKLSAgMTYsIDB4OTY3MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDUwLDB4MTAsMHhhYywweDA4LDB4ZWIsMHgwMCwweDEyLDB4NDAgfSwKLSAgMTYsIDB4OTY4MCwgMCwgezB4MGYsMHg5MCwweDAzLDB4MjgsMHgyMCwweGFiLDB4MDAsMHgzYSwweGMwLDB4OGYsMHg4NSwweDgzLDB4YWMsMHgxMCwweGYzLDB4NTAgfSwKLSAgMTYsIDB4OTY5MCwgMCwgezB4MzIsMHg5MCwweDRjLDB4MzQsMHgxMywweDZjLDB4MDAsMHhmYiwweDAwLDB4M2UsMHhjMCwweDBjLDB4OTgsMHgwMywweDJjLDB4NDAgfSwKLSAgMTYsIDB4OTZhMCwgMCwgezB4ZWIsMHg4MCwweDMyLDB4MTIsMHgwZCwweGIwLDB4MGIsMHg1MCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTZiMCwgMCwgezB4ODgsMHgwMSwweDNjLDB4MTAsMHgwZiwweDA1LDB4YTIsMHg1MCwweDBjLDB4MTAsMHgwMiwweDIyLDB4MTAsMHg4ZiwweDAwLDB4MjMgfSwKLSAgMTYsIDB4OTZjMCwgMCwgezB4YzAsMHgwYiwweDg4LDB4MTIsMHgzYywweDAwLDB4OWIsMHg4MiwweDIyLDB4YzAsMHgwOCwweGIwLDB4MDIsMHgzYywweDAwLDB4OGYgfSwKLSAgMTYsIDB4OTZkMCwgMCwgezB4YTAsMHgyZiwweGMwLDB4MDgsMHhiMCwweDAyLDB4M2MsMHgwOCwweDhmLDB4MDIsMHgyMCwweDAwLDB4MDgsMHhmMCwweDAzLDB4MjYgfSwKLSAgMTYsIDB4OTZlMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0ZCwweDIwLDB4OTMsMHgwMCwweDIwLDB4YjIgfSwKLSAgMTYsIDB4OTZmMCwgMCwgezB4MGIsMHgxMCwweDAyLDB4MDEsMHgwMCwweGEzLDB4MDAsMHg2OCwweGMwLDB4MGIsMHg4NCwweDAyLDB4YWMsMHgwMCwweGIzLDB4ODAgfSwKLSAgMTYsIDB4OTcwMCwgMCwgezB4MjAsMHg0MCwweDBhLDB4MzAsMHgwMiwweDRjLDB4MDAsMHhhMywweDA0LDB4MmMsMHhjMCwweDA4LDB4MDAsMHgwMiwweDBkLDB4MDAgfSwKLSAgMTYsIDB4OTcxMCwgMCwgezB4YTMsMHgwMCwweDIwLDB4MjQsMHgwOCwweDMwLDB4MDIsMHgzOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTcyMCwgMCwgezB4NzAsMHgwMSwweDFjLDB4MjAsMHg5NywweDgwLDB4MjMsMHg2MCwweDA4LDB4NzgsMHgxMiwweDNhLDB4MDAsMHg4MywweDkxLDB4MjkgfSwKLSAgMTYsIDB4OTczMCwgMCwgezB4ZTQsMHgwYiwweDU5LDB4MDIsMHgxZSwweDAwLDB4OTcsMHg5MCwweDIwLDB4ZmMsMHgwYSwweDc4LDB4MDIsMHgxZSwweDAwLDB4ODcgfSwKLSAgMTYsIDB4OTc0MCwgMCwgezB4OTAsMHgyZCwweGUwLDB4MTksMHg1OSwweDAyLDB4MWUsMHg4MCwweDgzLDB4ODAsMHg2MSwweGEwLDB4MDgsMHg3OCwweDAyLDB4MTggfSwKLSAgMTYsIDB4OTc1MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDQwLDB4ZDMsMHgzMiwweDMwLDB4MDYgfSwKLSAgMTYsIDB4OTc2MCwgMCwgezB4MGYsMHgzMCwweDAzLDB4MDQsMHg2NCwweGUzLDB4MDEsMHgzOCwweGM0LDB4MWYsMHgzMCwweDA3LDB4OGMsMHgxOCwweGYxLDB4MDAgfSwKLSAgMTYsIDB4OTc3MCwgMCwgezB4MzAsMHg0YywweDBlLDB4MzAsMHgwMywweDRjLDB4MDAsMHhlMywweDAwLDB4MmMsMHhjMCwweDBjLDB4MjAsMHgwMywweDBlLDB4MDAgfSwKLSAgMTYsIDB4OTc4MCwgMCwgezB4ZTMsMHgwMCwweDMyLDB4MDgsMHgwYywweGIxLDB4MDMsMHgxMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTc5MCwgMCwgezB4NDAsMHgxZCwweDljLDB4ODAsMHhlZiwweDEwLDB4M2QsMHg0NCwweDRmLDB4ZjEsMHgwNywweGNjLDB4MDAsMHhmZiwweDA4LDB4MzYgfSwKLSAgMTYsIDB4OTdhMCwgMCwgezB4YzYsMHhjZiwweGIwLDB4MDMsMHhmYywweDAwLDB4OTcsMHgwMCwweGJlLDB4Y2MsMHgwZCwweGIxLDB4MDMsMHhmZCwweDA0LDB4ZmYgfSwKLSAgMTYsIDB4OTdiMCwgMCwgezB4MGMsMHgzZiwweGQyLDB4OWUsMHhlMCwweDRiLDB4ZmQsMHgyMCwweGZmLDB4MDIsMHgzZiwweDgwLDB4MGUsMHhmMCwweDEzLDB4ZDAgfSwKLSAgMTYsIDB4OTdjMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhlYywweGMwLDB4Y2IsMHgyOCwweDNlLDB4YzAgfSwKLSAgMTYsIDB4OTdkMCwgMCwgezB4MGYsMHg4MCwweDAzLDB4ZWMsMHgwMCwweGZiLDB4MDEsMHgzMiwweGU5LDB4MGMsMHgyOCwweDAzLDB4MmMsMHgwMCwweGZiLDB4MDAgfSwKLSAgMTYsIDB4OTdlMCwgMCwgezB4MzIsMHhjMCwweDBjLDB4YjQsMHg4MywweDJjLDB4MDEsMHhlZiwweDAwLDB4YjIsMHhjOCwweDBjLDB4MjAsMHgwMywweDZkLDB4MDAgfSwKLSAgMTYsIDB4OTdmMCwgMCwgezB4Y2IsMHgxMCwweDNlLDB4MDAsMHgwZiwweGIyLDB4MDMsMHhlYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTgwMCwgMCwgezB4YzgsMHg5MSwweDljLDB4YzQsMHg4NywweDYwLDB4MmQsMHhjMCwweDBiLDB4NjAsMHgwMiwweGRjLDB4MDAsMHhiNywweDEyLDB4MjAgfSwKLSAgMTYsIDB4OTgxMCwgMCwgezB4Y2MsMHgwYSwweDcwLDB4MDIsMHgxYywweGMwLDB4YjMsMHgwMCwweGEwLDB4YzAsMHhjOCwweDcwLDB4MjIsMHgxYywweDgwLDB4YjcgfSwKLSAgMTYsIDB4OTgyMCwgMCwgezB4MjQsMHgyMSwweGM4LDB4NDgsMHg1MCwweDAyLDB4MGMsMHg4MCwweDg3LDB4MTAsMHgyZCwweDQwLDB4MGIsMHg3MiwweDgyLDB4ZjIgfSwKLSAgMTYsIDB4OTgzMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgxLDB4MDAsMHg4ZSwweDAyLDB4ODcsMHg4MCwweDJkLDB4ZTAgfSwKLSAgMTYsIDB4OTg0MCwgMCwgezB4MGIsMHg3OCwweDEyLDB4ZGUsMHgwMCwweGI3LDB4YTAsMHgyMSwweGUwLDB4MDgsMHhmOCwweDhlLDB4MWUsMHg0MCwweGI3LDB4ODggfSwKLSAgMTYsIDB4OTg1MCwgMCwgezB4MjEsMHhlMCwweDA4LDB4MzgsMHgwMiwweDFlLDB4NDAsMHhiMywweGExLDB4MjAsMHhlOCwweDQ4LDB4ZjgsMHg4MiwweDVlLDB4MDIgfSwKLSAgMTYsIDB4OTg2MCwgMCwgezB4ODcsMHg4MCwweDJkLDB4MjIsMHgwYiwweDc5LDB4MDIsMHhlMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTg3MCwgMCwgezB4MDgsMHgwNCwweGNjLDB4MDQsMHg4MywweDAyLDB4MmMsMHhkNCwweDBiLDB4MzAsMHgwMiwweGNjLDB4MDAsMHhiMywweDAwLDB4YTAgfSwKLSAgMTYsIDB4OTg4MCwgMCwgezB4YzAsMHg4YSwweDM4LDB4MDYsMHgwYywweDAwLDB4YjMsMHg4MCwweDIwLDB4ZTEsMHg0OCwweDM5LDB4MTIsMHgyYywweDAwLDB4YjMgfSwKLSAgMTYsIDB4OTg5MCwgMCwgezB4MDAsMHgyMiwweGMwLDB4MDgsMHhiMCwweDgyLDB4NmMsMHgwMCwweDgzLDB4MDAsMHgyYywweDQ4LDB4MGIsMHgzMCwweDAyLDB4YzIgfSwKLSAgMTYsIDB4OThhMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MDUsMHhhOCwweDAwLDB4Y2EsMHgwMCwweDNmLDB4YTAgfSwKLSAgMTYsIDB4OThiMCwgMCwgezB4MGYsMHhlNCwweDAzLDB4ZDgsMHgwMCwweGZhLDB4MDAsMHgzMiwweDgwLDB4MGMsMHhlOCwweDAzLDB4MjgsMHgwMCwweGZhLDB4NDAgfSwKLSAgMTYsIDB4OThjMCwgMCwgezB4MzIsMHhhOCwweDJjLDB4YTAsMHgwOSwweDI4LDB4MDgsMHhmMiwweDAwLDB4MzIsMHg4MCwweDBjLDB4ZTQsMHgwMywweDY4LDB4MDAgfSwKLSAgMTYsIDB4OThkMCwgMCwgezB4Y2EsMHgwMCwweDNmLDB4ODAsMHgwZiwweGEwLDB4MDMsMHhmYiwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OThlMCwgMCwgezB4NDgsMHgwMCwweGMwLDB4MDAsMHhmOCwweDAxLDB4M2UsMHgxMiwweDBiLDB4ODAsMHgwMywweGUwLDB4NDAsMHhmOCwweDAwLDB4M2UgfSwKLSAgMTYsIDB4OThmMCwgMCwgezB4MDAsMHg0ZiwweDg0LDB4MDMsMHhlMCwweDA0LDB4ZjAsMHgwOCwweDNlLDB4MDAsMHg0ZiwweDAwLDB4MDMsMHhlMCwweDAwLDB4ZjggfSwKLSAgMTYsIDB4OTkwMCwgMCwgezB4NDEsMHgzZSwweDAwLDB4MmYsMHg4NCwweDAzLDB4YTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZDIgfSwKLSAgMTYsIDB4OTkxMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAsMHhlNiwweDAwLDB4YzksMHgxMiwweDNlLDB4NTAgfSwKLSAgMTYsIDB4OTkyMCwgMCwgezB4OGYsMHg5MCwweDgzLDB4ZTQsMHgyMCwweGMxLDB4MDAsMHgzYSwweDQxLDB4MGYsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAgfSwKLSAgMTYsIDB4OTkzMCwgMCwgezB4MzAsMHg2OCwweDBjLDB4OTAsMHgwMywweDI0LDB4MDAsMHhkOSwweDAwLDB4M2EsMHg0MCwweDBlLDB4OTgsMHgwMywweDI0LDB4MDAgfSwKLSAgMTYsIDB4OTk0MCwgMCwgezB4YzksMHg5MCwweDNlLDB4NjksMHgwYywweDEwLDB4MDMsMHgwMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTk1MCwgMCwgezB4ODAsMHgwNCwweDY3LDB4NGEsMHg4OSwweDgwLDB4MmUsMHg1MCwweDBiLDB4OTAsMHgwMiwweGU0LDB4ODAsMHhhOSwweDAwLDB4MjIgfSwKLSAgMTYsIDB4OTk2MCwgMCwgezB4NDAsMHgwYiwweDkwLDB4MDIsMHhlNCwweDAwLDB4YjksMHgwMSwweDIyLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgyNCwweDEwLDB4ODkgfSwKLSAgMTYsIDB4OTk3MCwgMCwgezB4MDAsMHgyMiwweDQwLDB4MDgsMHg5MywweDAyLDB4MjQsMHgyMiwweDg5LDB4NDIsMHgyYywweDYwLDB4NDgsMHg5MCwweDAyLDB4MjAgfSwKLSAgMTYsIDB4OTk4MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MTUsMHgyNCwweDAwLDB4OTksMHgwMCwweDJlLDB4NDAgfSwKLSAgMTYsIDB4OTk5MCwgMCwgezB4MGIsMHg5MCwweDAyLDB4ZTQsMHgwMCwweDg5LDB4MDAsMHgyYSwweDQwLDB4MGIsMHg5MCwweDAyLDB4ZTQsMHgwMCwweGI5LDB4MDAgfSwKLSAgMTYsIDB4OTlhMCwgMCwgezB4MjMsMHg0MCwweDA4LDB4ZDAsMHgwMiwweDI0LDB4MDAsMHg5OSwweDAwLDB4MmEsMHg0MCwweDBhLDB4OTAsMHgwNiwweDI0LDB4NDAgfSwKLSAgMTYsIDB4OTliMCwgMCwgezB4ODksMHg0MSwweDJlLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgwNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTljMCwgMCwgezB4MDgsMHgwNCwweDBjLDB4ODAsMHg5MSwweDIwLDB4MmMsMHg0OCwweDBiLDB4MTAsMHgwMiwweGM0LDB4MDAsMHhhMSwweDIwLDB4MjAgfSwKLSAgMTYsIDB4OTlkMCwgMCwgezB4NDgsMHgwYiwweDEwLDB4MDIsMHhjNCwweDgwLDB4YjEsMHgyMCwweGExLDB4NDksMHgwOCwweDUyLDB4NGEsMHgwNCwweDgwLDB4ODEgfSwKLSAgMTYsIDB4OTllMCwgMCwgezB4MDAsMHgyMCwweDQ4LDB4NDgsMHgxMiwweDBhLDB4MDQsMHg4MCwweDgxLDB4MjAsMHgyYywweDQwLDB4MjgsMHgxMiwweDAyLDB4MDIgfSwKLSAgMTYsIDB4OTlmMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDA4LDB4ZDgsMHgwNCwweDNlLDB4ODAgfSwKLSAgMTYsIDB4OWEwMCwgMCwgezB4MGYsMHg4NSwweDAzLDB4ZTAsMHgwMCwweGMwLDB4NTAsMHgzYSwweDE0LDB4MGYsMHhhNSwweDAzLDB4ZTEsMHg0MCwweGY4LDB4MDIgfSwKLSAgMTYsIDB4OWExMCwgMCwgezB4MzIsMHg4MCwweDJjLDB4YzUsMHgwMywweDIxLDB4NDAsMHhkYSwweDAwLDB4M2EsMHgxNCwweDBlLDB4ODUsMHg0MywweDIxLDB4NDAgfSwKLSAgMTYsIDB4OWEyMCwgMCwgezB4YzgsMHg1MiwweDNlLDB4MTQsMHgwYywweDg1LDB4MGIsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWEzMCwgMCwgezB4ODgsMHgxZCwweGU0LDB4NDQsMHhlOSwweDEwLDB4M2YsMHg0NCwweDRmLDB4ZDAsMHgwMiwweGZjLDB4MDAsMHhmOSwweDEyLDB4M2UgfSwKLSAgMTYsIDB4OWE0MCwgMCwgezB4NDQsMHgwZiwweGQwLDB4MDMsMHhlNCwweDQwLDB4ZmQsMHgxMCwweDNlLDB4NDQsMHg0ZiwweDkxLDB4MDMsMHhlNCwweDQwLDB4ZTkgfSwKLSAgMTYsIDB4OWE1MCwgMCwgezB4NDAsMHgzZSwweDQ0LDB4MGYsMHhkMSwweDAzLDB4ZTQsMHg0MCwweGY5LDB4MTIsMHgzZiwweDQwLDB4MGYsMHg5MSwweDAzLDB4ZTYgfSwKLSAgMTYsIDB4OWE2MCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhmNiwweGEwLDB4ZmQsMHg4MCwweGIzLDB4NDAgfSwKLSAgMTYsIDB4OWE3MCwgMCwgezB4MGMsMHgxMCwweDAzLDB4MTQsMHgwMCwweGZkLDB4YTAsMHgzMiwweDQwLDB4MGYsMHhkMSwweDAzLDB4ZTQsMHgwMCwweGY1LDB4ODYgfSwKLSAgMTYsIDB4OWE4MCwgMCwgezB4MzMsMHg2MCwweDJjLDB4OWEsMHg4MywweDI0LDB4MDQsMHhmZCwweGE4LDB4MjIsMHg0MCwweDBkLDB4NTAsMHg0MywweGY0LDB4MDAgfSwKLSAgMTYsIDB4OWE5MCwgMCwgezB4ZmQsMHgwMCwweDMzLDB4NDAsMHgwZiwweDkwLDB4MDMsMHgwNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWFhMCwgMCwgezB4NzgsMHgxMCwweGUxLDB4MDAsMHhiOCwweDAwLDB4MjIsMHgwMCwweDI4LDB4ODAsMHgwMiwweDIwLDB4MDAsMHhiOCwweDAwLDB4YTIgfSwKLSAgMTYsIDB4OWFiMCwgMCwgezB4MDAsMHgwYiwweDhhLDB4MTIsMHhlMCwweDAwLDB4YjgsMHgwNCwweDIyLDB4MTQsMHgwOCwweDg0LDB4MDIsMHgyMCwweDAwLDB4YjggfSwKLSAgMTYsIDB4OWFjMCwgMCwgezB4NDAsMHgyMCwweDAwLDB4ODgsMHg4MCwweDAyLDB4ZTAsMHgwMCwweGI4LDB4MDAsMHhhMiwweDAwLDB4MGIsMHg4MCwweDAyLDB4MGUgfSwKLSAgMTYsIDB4OWFkMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDUsMHhjNCwweDAwLDB4YjEsMHg0MiwweDIwLDB4NDAgfSwKLSAgMTYsIDB4OWFlMCwgMCwgezB4MDgsMHgxMCwweDAyLDB4MDQsMHgwMCwweGIxLDB4NDAsMHgyMCwweDQwLDB4MGIsMHgxMCwweDA2LDB4YzQsMHgwMCwweGIxLDB4NDAgfSwKLSAgMTYsIDB4OWFmMCwgMCwgezB4MjQsMHg0MCwweDA4LDB4MTAsMHgwMiwweDQ0LDB4MDQsMHhiMSwweDAwLDB4NjAsMHg0MCwweDA5LDB4MTAsMHgwMiwweGM0LDB4MDAgfSwKLSAgMTYsIDB4OWIwMCwgMCwgezB4YjEsMHgwMCwweDIwLDB4NDAsMHgwYiwweDEwLDB4MDIsMHgxMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWIxMCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MDAsMHhiOSwweDAyLDB4MjIsMHg2MCwweDA4LDB4OTQsMHgwMiwweDI0LDB4MDAsMHhiOSwweDAxLDB4MjIgfSwKLSAgMTYsIDB4OWIyMCwgMCwgezB4NDAsMHgwYiwweDkwLDB4MDYsMHhlNCwweDAwLDB4YjksMHgyMCwweDI2LDB4NDAsMHgwOCwweDk0LDB4MDIsMHg2NCwweDA4LDB4YjkgfSwKLSAgMTYsIDB4OWIzMCwgMCwgezB4MDAsMHgyMiwweDQwLDB4MDgsMHg5MiwweDAyLDB4ZWMsMHgwOCwweGI5LDB4MDQsMHgyMiwweDQxLDB4MGIsMHgxMCwweDAyLDB4MDYgfSwKLSAgMTYsIDB4OWI0MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNCwweDEwLDB4ZjEsMHgwMCwweDMyLDB4NjAgfSwKLSAgMTYsIDB4OWI1MCwgMCwgezB4MGMsMHg5NCwweDBiLDB4MjUsMHgwMCwweGY5LDB4MDAsMHgzMiwweDQwLDB4OGYsMHg5NCwweGQzLDB4ZTQsMHgwMCwweGY5LDB4MDAgfSwKLSAgMTYsIDB4OWI2MCwgMCwgezB4MzYsMHg0MCwweDRjLDB4OTAsMHgwYiwweDY0LDB4MDAsMHhmMSwweDAwLDB4MzIsMHg0MCwweDBkLDB4OTIsMHgxMiwweGU0LDB4MDAgfSwKLSAgMTYsIDB4OWI3MCwgMCwgezB4ZjksMHgwMCwweDMyLDB4NDAsMHgwZiwweDkwLDB4MGIsMHgyOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWI4MCwgMCwgezB4NjgsMHg0MSwweGE0LDB4MDAsMHhmOSwweDAwLDB4M2MsMHg0MCwweDhmLDB4OTIsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4M2UgfSwKLSAgMTYsIDB4OWI5MCwgMCwgezB4NDAsMHgwZiwweDljLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweGJhLDB4NDAsMHgyZiwweDkwLDB4MjMsMHhhNCwweDAwLDB4ZjkgfSwKLSAgMTYsIDB4OWJhMCwgMCwgezB4MDgsMHhiZSwweDQwLDB4Y2YsMHg5MCwweDAzLDB4ZTQsMHgxMCwweGYxLDB4MDEsMHgzZSwweDQxLDB4MGYsMHg5MCwweDAzLDB4ZGEgfSwKLSAgMTYsIDB4OWJiMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMCwweGM4LDB4ZjgsMHgwMCwweDNlLDB4MDMgfSwKLSAgMTYsIDB4OWJjMCwgMCwgezB4MGMsMHg4NCwweDAzLDB4YTEsMHgxMCwweGU4LDB4MDAsMHgzMiwweDAwLDB4OGMsMHg4NSwweDgzLDB4ZTAsMHgwMCwweGMwLDB4MDAgfSwKLSAgMTYsIDB4OWJkMCwgMCwgezB4MzgsMHgwYywweDJjLDB4MDAsMHgwMywweDYwLDB4MDAsMHhjOCwweDAwLDB4M2MsMHgwMCwweDBkLDB4ODAsMHgwMiwweDIwLDB4MTAgfSwKLSAgMTYsIDB4OWJlMCwgMCwgezB4YzgsMHgyMCwweGIyLDB4MDIsMHgwZiwweDgwLDB4MDMsMHhjYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWJmMCwgMCwgezB4MjgsMHgwNSwweDM5LDB4MTAsMHhiZSwweDA0LDB4NmYsMHhhMCwweDA4LDB4YTAsMHgwMiwweDNhLDB4MDAsMHg4MiwweDAwLDB4YTIgfSwKLSAgMTYsIDB4OWMwMCwgMCwgezB4ODAsMHg4ZCwweGVjLDB4MDMsMHhhOCwweDAwLDB4OGEsMHgwMCwweDIzLDB4ODAsMHgwOCwweGEwLDB4MjIsMHgyOCwweDAwLDB4OGUgfSwKLSAgMTYsIDB4OWMxMCwgMCwgezB4Y2MsMHgyZiwweDgwLDB4MDgsMHhlOCwweGMyLDB4YjgsMHgwMCwweDhlLDB4NjAsMHgyMywweDkwLDB4MGIsMHhhMCwweDAyLDB4Y2EgfSwKLSAgMTYsIDB4OWMyMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0ZSwweDA4LDB4YjAsMHg3MiwweDJjLDB4ZDAgfSwKLSAgMTYsIDB4OWMzMCwgMCwgezB4MjgsMHhiMCwweDA2LDB4OGMsMHgwMSwweGExLDB4MDIsMHgyMCwweGMwLDB4MDgsMHgzOCwweDAyLDB4Y2MsMHgwMCwweDgzLDB4MDAgfSwKLSAgMTYsIDB4OWM0MCwgMCwgezB4MjAsMHhjMCwweDI5LDB4MzAsMHgwMiwweDRjLDB4MDAsMHg4MSwweDAwLDB4MmMsMHhjMCwweDA4LDB4MzIsMHgwMiwweDBjLDB4NDAgfSwKLSAgMTYsIDB4OWM1MCwgMCwgezB4ODMsMHgwMCwweDIwLDB4ZjQsMHgwYiwweDMwLDB4MDIsMHhjYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWM2MCwgMCwgezB4YTAsMHgwMSwweDFjLDB4MDAsMHhiNCwweDAwLDB4MmQsMHhkMCwweDQ4LDB4ZjIsMHgwMiwweDFlLDB4MjEsMHg4NSwweDIwLDB4MjAgfSwKLSAgMTYsIDB4OWM3MCwgMCwgezB4ZTgsMHgwOSwweDcyLDB4MDIsMHg4ZSwweDgwLDB4OGYsMHgwMSwweDIwLDB4YzAsMHgwOSwweDcyLDB4MDIsMHgwZSwweDgwLDB4ODcgfSwKLSAgMTYsIDB4OWM4MCwgMCwgezB4MDAsMHgyZCwweGNjLDB4MTgsMHg1OCwweDAyLDB4OGUsMHgwMCwweDg1LDB4MDAsMHgyMSwweGMwLDB4MGIsMHg3MiwweDAyLDB4ZTggfSwKLSAgMTYsIDB4OWM5MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZSwweDAwLDB4YjQsMHg4MCwweDJkLDB4ZTAgfSwKLSAgMTYsIDB4OWNhMCwgMCwgezB4MGMsMHg3OCwweDgzLDB4OWEsMHgwMCwweGVkLDB4ZDAsMHgzMSwweGY0LDB4MGMsMHg2YSwweDAzLDB4ZGUsMHg4MiwweGM3LDB4ODAgfSwKLSAgMTYsIDB4OWNiMCwgMCwgezB4MzksMHhlMCwweDBkLDB4ZjgsMHg4MywweDVlLDB4YzIsMHhjNSwweDgwLDB4M2QsMHhlOCwweDBjLDB4NjgsMHgwMywweDEyLDB4MDAgfSwKLSAgMTYsIDB4OWNjMCwgMCwgezB4Y2YsMHg4MCwweDMxLDB4ZTAsMHgwZiwweDdlLDB4ODMsMHhlYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWNkMCwgMCwgezB4MDgsMHgwZCwweGFjLDB4MDgsMHhmOCwweDAwLDB4M2MsMHhjMCwweDBmLDB4YjMsMHgwMywweGVjLDB4MDAsMHhmOSwweDAyLDB4M2UgfSwKLSAgMTYsIDB4OWNlMCwgMCwgezB4YzgsMHgwZiwweGIwLDB4MDMsMHhlZCwweDQwLDB4ZmIsMHgwMCwweGJlLDB4ODAsMHgwZSwweGIzLDB4MDMsMHhlZCwweGMwLDB4ZmIgfSwKLSAgMTYsIDB4OWNmMCwgMCwgezB4MDAsMHgzZSwweGQyLDB4MmUsMHg4MCwweDAzLDB4ZWMsMHgwMiwweGY5LDB4MDAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4YzIgfSwKLSAgMTYsIDB4OWQwMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmZSwweDAwLDB4ZjAsMHg5MSwweDMzLDB4ZTAgfSwKLSAgMTYsIDB4OWQxMCwgMCwgezB4OGYsMHhmOCwweDAzLDB4ZmUsMHgwMCwweGZkLDB4ODAsMHgzZiwweGUwLDB4MGMsMHg3OCwweDgzLDB4M2YsMHgwMCwweGNmLDB4ODAgfSwKLSAgMTYsIDB4OWQyMCwgMCwgezB4M2YsMHhhMCwweDBjLDB4ZjgsMHgwMywweDNlLDB4MDAsMHhjZCwweDgwLDB4M2YsMHhlMCwweDBmLDB4ZjgsMHgxMywweGZlLDB4MTAgfSwKLSAgMTYsIDB4OWQzMCwgMCwgezB4ZmYsMHg4MCwweDNmLDB4MjAsMHgwZiwweGY5LDB4NDMsMHhkMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWQ0MCwgMCwgezB4YTgsMHgxMSwweDljLDB4MDAsMHhiNCwweGMxLDB4MzEsMHhjMCwweDBiLDB4NzAsMHgwMiwweGQ0LDB4MTAsMHhlNSwweDIwLDB4MmYgfSwKLSAgMTYsIDB4OWQ1MCwgMCwgezB4YzgsMHgwZiwweDQwLDB4MDMsMHg1YywweDAwLDB4ODcsMHgwMCwweDJkLDB4ODAsMHgwOCwweDcwLDB4MDIsMHgxYywweDQwLDB4ODcgfSwKLSAgMTYsIDB4OWQ2MCwgMCwgezB4MTAsMHgyZCwweGMwLDB4MGIsMHg3NiwweDAyLDB4ZGMsMHg4MCwweGI3LDB4MDAsMHgyZCwweGMwLDB4MGIsMHg3MCwweDAyLDB4ZWEgfSwKLSAgMTYsIDB4OWQ3MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4MDAsMHg5YywweDAwLDB4YjYsMHgyMiwweDIxLDB4ZDAgfSwKLSAgMTYsIDB4OWQ4MCwgMCwgezB4MGIsMHg3MCwweDgyLDB4ZDgsMHg0MCwweGI1LDB4MDIsMHgyZCwweGMwLDB4ODgsMHg2NSwweDAyLDB4MGMsMHgwMCwweDg3LDB4MTggfSwKLSAgMTYsIDB4OWQ5MCwgMCwgezB4MmMsMHgwNCwweDA4LDB4MzAsMHgwMiwweDhjLDB4MDIsMHg4NSwweDAwLDB4MmQsMHhjMCwweDBiLDB4NzAsMHg0NiwweDkwLDB4MTAgfSwKLSAgMTYsIDB4OWRhMCwgMCwgezB4YjYsMHgwMCwweDJkLDB4MDAsMHgwYiwweDcwLDB4MjIsMHhjNCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWRiMCwgMCwgezB4NjAsMHgxNCwweGNjLDB4MDgsMHhiMiwweDAwLDB4YTQsMHhjMCwweDBiLDB4MzAsMHg0MiwweGM2LDB4MTAsMHhhMSwweDAwLDB4MmMgfSwKLSAgMTYsIDB4OWRjMCwgMCwgezB4YzAsMHgwYSwweDAwLDB4MDIsMHg0YywweDAwLDB4ODMsMHgwMCwweDJjLDB4MDgsMHgwOCwweDMwLDB4MDIsMHg4YywweDAwLDB4ODMgfSwKLSAgMTYsIDB4OWRkMCwgMCwgezB4MDAsMHgyYywweGMwLDB4MGIsMHgxOCwweDgyLDB4YzQsMHgwMCwweGIwLDB4MDAsMHgyYywweDQwLDB4MGIsMHgzMCwweDEyLDB4ZDggfSwKLSAgMTYsIDB4OWRlMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGY4LDB4MTUsMHhhYywweDAwLDB4MzgsMHgwMCwweDMyLDB4NTAgfSwKLSAgMTYsIDB4OWRmMCwgMCwgezB4MGYsMHhmMCwweDAzLDB4ZTYsMHgyMCwweGZkLDB4MDAsMHgzZiwweGMwLDB4MDgsMHhkMCwweDAyLDB4M2MsMHgwMiwweGNiLDB4ODAgfSwKLSAgMTYsIDB4OWUwMCwgMCwgezB4M2MsMHg1MCwweDJjLDB4ZjAsMHgwYSwweGJjLDB4MDAsMHhjOSwweDAwLDB4M2YsMHhjMCwweDBmLDB4YmUsMHgwMywweGFjLDB4MDAgfSwKLSAgMTYsIDB4OWUxMCwgMCwgezB4ZmEsMHgwMiwweDJlLDB4ZjcsMHg0ZiwweGYwLDB4MDMsMHhlZSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWUyMCwgMCwgezB4ODAsMHgwMCwweGVjLDB4MDAsMHhmMSwweDAwLDB4M2EsMHhmMCwweDBmLDB4YjAsMHgwMywweGU5LDB4MDAsMHhmOSwweDAxLDB4M2UgfSwKLSAgMTYsIDB4OWUzMCwgMCwgezB4YzAsMHgwZiwweDkwLDB4MTMsMHhlYywweDAwLDB4ZjksMHgwMCwweDNlLDB4NTUsMHgwZiwweGIwLDB4MDEsMHg2YywweDAwLDB4ZmIgfSwKLSAgMTYsIDB4OWU0MCwgMCwgezB4MDIsMHgzZSwweGMwLDB4MGYsMHg5MCwweDczLDB4ZTAsMHgwMCwweGY4LDB4NDEsMHgzZSwweDAwLDB4MGYsMHgzMCwweDAxLDB4ZTAgfSwKLSAgMTYsIDB4OWU1MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHhmYywweDAwLDB4ZmMsMHgwMCwweDMzLDB4YzAgfSwKLSAgMTYsIDB4OWU2MCwgMCwgezB4MWYsMHhmMCwweDEzLDB4ZjAsMHgwOCwweGZkLDB4MDIsMHgzZiwweGMwLDB4OGQsMHhjMCwweDAzLDB4M2MsMHgwMCwweGNmLDB4YTAgfSwKLSAgMTYsIDB4OWU3MCwgMCwgezB4M2YsMHg4MCwweDBjLDB4NzAsMHgwMywweDNjLDB4MTAsMHhmYywweDAwLDB4MzcsMHhjMCwweDBmLDB4ZTAsMHgwMywweGIwLDB4MDAgfSwKLSAgMTYsIDB4OWU4MCwgMCwgezB4ZmUsMHgwMCwweDNmLDB4YzAsMHgwYywweGYwLDB4MDMsMHgwNCwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWU5MCwgMCwgezB4ODQsMHgwNCwweDZlLDB4MDAsMHhiOSwweGMyLDB4YTIsMHhmMCwweDBiLDB4YjAsMHg0MiwweGViLDB4MDAsMHhiOSwweDAwLDB4MmUgfSwKLSAgMTYsIDB4OWVhMCwgMCwgezB4YzAsMHgwZiwweDE4LDB4MDMsMHg2YywweDAwLDB4ZDksMHg4MSwweDJlLDB4YjAsMHgwYSwweGIwLDB4NDIsMHgyYywweDAwLDB4YmEgfSwKLSAgMTYsIDB4OWViMCwgMCwgezB4YzYsMHgyZSwweGMwLDB4MGIsMHg4YywweDAyLDB4ZTMsMHgwMCwweGI4LDB4YzAsMHgzYywweGEwLDB4MGQsMHhiMCwweDAyLDB4MjAgfSwKLSAgMTYsIDB4OWVjMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyZiwweDAwLDB4YjgsMHg4MCwweDIyLDB4ZTIgfSwKLSAgMTYsIDB4OWVkMCwgMCwgezB4MGIsMHhiMCwweDAyLDB4ZTYsMHgyMCwweGI5LDB4MDAsMHgyYywweGMwLDB4MDgsMHhiOCwweDAyLDB4MGMsMHgwMCwweDhiLDB4MDAgfSwKLSAgMTYsIDB4OWVlMCwgMCwgezB4MmUsMHgzMCwweDQ4LDB4YjAsMHgwMiwweDJjLDB4MDAsMHhiOSwweGMwLDB4MmUsMHhjMSwweDBiLDB4ODgsMHgwMiwweGVlLDB4MTAgfSwKLSAgMTYsIDB4OWVmMCwgMCwgezB4YjksMHhjMCwweDJlLDB4MjAsMHgxOSwweGIwLDB4MDIsMHgyMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWYwMCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDAsMHhiMCwweDAwLDB4MjAsMHhjMCwweDBiLDB4MzAsMHgwNiwweGMwLDB4MDAsMHg5MSwweDAwLDB4MmMgfSwKLSAgMTYsIDB4OWYxMCwgMCwgezB4YzAsMHg0OSwweDgwLDB4MDIsMHg0YywweDA0LDB4OTEsMHgwMCwweDJjLDB4MDAsMHg4YSwweDMwLDB4MGEsMHgwYywweDA0LDB4YjEgfSwKLSAgMTYsIDB4OWYyMCwgMCwgezB4MDAsMHgyYywweGMwLDB4MWIsMHgwMCwweDEyLDB4NDksMHgxMCwweGIxLDB4MDAsMHgyZSwweDIwLDB4MDksMHgzMCwweDAyLDB4MDIgfSwKLSAgMTYsIDB4OWYzMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2YywweDAwLDB4YjgsMHgyMCwweDIyLDB4YzAgfSwKLSAgMTYsIDB4OWY0MCwgMCwgezB4OGIsMHhmMCwweDAzLDB4ZTAsMHgwOCwweGZkLDB4MDAsMHgzZiwweGMwLDB4MGMsMHhhMCwweDAzLDB4M2MsMHgwMCwweGNiLDB4MDAgfSwKLSAgMTYsIDB4OWY1MCwgMCwgezB4M2UsMHgwMCwweDRjLDB4ZjAsMHgwYSwweDNjLDB4MDAsMHhiOSwweDAwLDB4MzcsMHhjMSwweDBmLDB4YTAsMHgwMywweGUwLDB4MDAgfSwKLSAgMTYsIDB4OWY2MCwgMCwgezB4ZmEsMHgwMCwweDNlLDB4MDAsMHgwZCwweGYwLDB4MGIsMHgwMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWY3MCwgMCwgezB4YTAsMHgxZCwweGYwLDB4MDEsMHhmYywweDQwLDB4M2YsMHg4MCwweDRmLDB4ZjAsMHgwMiwweGYwLDB4MDAsMHhmZCwweDAwLDB4M2YgfSwKLSAgMTYsIDB4OWY4MCwgMCwgezB4YzEsMHgwZiwweGMwLDB4MDMsMHhmYywweDAwLDB4ZmQsMHgwMCwweDNmLDB4MDAsMHg0ZiwweGYwLDB4NjMsMHhmYywweDAwLDB4ZmQgfSwKLSAgMTYsIDB4OWY5MCwgMCwgezB4MDQsMHgzZiwweGMwLDB4MGYsMHhjMCwweDAzLDB4ZjAsMHg4MCwweGZjLDB4MDAsMHg3YiwweDAwLDB4MGYsMHhmMCwweDQzLDB4ZTggfSwKLSAgMTYsIDB4OWZhMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmOCwweDAwLDB4YzgsMHgxMCwweDMzLDB4MDQgfSwKLSAgMTYsIDB4OWZiMCwgMCwgezB4MGMsMHg0MCwweDAyLDB4MzQsMHgwMCwweGM4LDB4ODUsMHgxZiwweGMwLDB4MmQsMHhkOSwweDAzLDB4ZmMsMHhjMCwweGRiLDB4MjggfSwKLSAgMTYsIDB4OWZjMCwgMCwgezB4MzcsMHg2NCwweDBmLDB4ZGIsMHgwMywweDNlLDB4MDAsMHhmZiwweDI1LDB4M2YsMHhjOCwweDBlLDB4ZjIsMHgwMywweGZlLDB4MjAgfSwKLSAgMTYsIDB4OWZkMCwgMCwgezB4ZmYsMHhhNCwweDM3LDB4YzQsMHgwYywweGM4LDB4MDMsMHgzMCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWZlMCwgMCwgezB4ODAsMHgxMCwweGU4LDB4MDAsMHg4OCwweDIwLDB4MjIsMHgwMCwweDA4LDB4ODgsMHgxMiwweDI2LDB4MDQsMHg4OSwweDgyLDB4MmUgfSwKLSAgMTYsIDB4OWZmMCwgMCwgezB4ZjQsMHg0OCwweGI4LDB4MDIsMHhmYywweGM0LDB4OTgsMHhjMiwweDIyLDB4N2MsMHg0YiwweDlkLDB4NDIsMHgyNiwweDA4LDB4YmYgfSwKLSAgMTYsIDB4YTAwMCwgMCwgezB4MTgsMHg3NywweGU0LDB4MDgsMHhmMSwweDgyLDB4ZWYsMHgwMCwweGJiLDB4ZDAsMHgyMiwweGQ4LDB4MDgsMHg5MCwweDgzLDB4NjAgfSwKLSAgMTYsIDB4YTAxMCwgMCwgezB4MDIsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4NDUsMHhjOCwweDA0LDB4YTAsMHgwMCwweDI0LDB4MDAgfSwKLSAgMTYsIDB4YTAyMCwgMCwgezB4MGEsMHgwMCwweDAyLDB4MGMsMHgwMCwweDgyLDB4MDQsMHgyYywweGUwLDB4MDgsMHgxMCwweDAyLDB4Y2MsMHg4MCwweDgzLDB4MDAgfSwKLSAgMTYsIDB4YTAzMCwgMCwgezB4MjQsMHgwMCwweDBiLDB4MTAsMHgwNiwweGM4LDB4MDEsMHhiMywweDIwLDB4MmMsMHhjMCwweDI5LDB4MzIsMHgwMiwweGM4LDB4MDggfSwKLSAgMTYsIDB4YTA0MCwgMCwgezB4YjEsMHgwMCwweDI0LDB4ZDAsMHgwOCwweDgyLDB4MDIsMHg2MiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTA1MCwgMCwgezB4YzAsMHgxNSwweGE4LDB4MDAsMHhhOCwweDBjLDB4MjYsMHgwMCwweDBhLDB4ODAsMHgwMiwweDJjLDB4MTQsMHg4YSwweDAyLDB4NmUgfSwKLSAgMTYsIDB4YTA2MCwgMCwgezB4ZTAsMHgwOCwweGIwLDB4MDIsMHg0YywweDA4LDB4YTgsMHgwMCwweDI2LDB4MjAsMHgwYiwweDljLDB4MDIsMHhlNCwweDAwLDB4YmIgfSwKLSAgMTYsIDB4YTA3MCwgMCwgezB4MDQsMHgyMiwweGMwLDB4MTksMHhiMCwweDAyLDB4ZTgsMHgwMSwweGJiLDB4MTEsMHgwMiwweGMwLDB4ODgsMHg5MCwweDAyLDB4ZjAgfSwKLSAgMTYsIDB4YTA4MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTUsMHhlYywweDAyLDB4ZWEsMHg0MCwweGI2LDB4NjAgfSwKLSAgMTYsIDB4YTA5MCwgMCwgezB4MmUsMHg5OCwweDBiLDB4MjAsMHgwMiwweGM4LDB4MDIsMHgzZSwweGMwLDB4MGQsMHg5OCwweDAzLDB4ZWMsMHgwMiwweGRiLDB4ODggfSwKLSAgMTYsIDB4YTBhMCwgMCwgezB4YjYsMHgyMSwweDBmLDB4ODgsMHgwMywweGFjLDB4MDgsMHhmYiwweDAwLDB4MmMsMHhjMCwweDBlLDB4YjAsMHg0MywweGU1LDB4ODAgfSwKLSAgMTYsIDB4YTBiMCwgMCwgezB4ZjAsMHg2MCwweDM2LDB4YzAsMHgwYywweDAxLDB4NDMsMHg0OCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTBjMCwgMCwgezB4ZTAsMHgwMSwweGJjLDB4MDAsMHhkNiwweDAxLDB4M2IsMHg2NCwweDg1LDB4ZDksMHgwMywweGYwLDB4MGMsMHhmZiwweDAwLDB4M2UgfSwKLSAgMTYsIDB4YTBkMCwgMCwgezB4YzEsMHgwZiwweGZjLDB4MjEsMHhlYywweDAwLDB4ZDcsMHg5MCwweDNiLDB4NDAsMHgwZiwweDUwLDB4MDMsMHgzYywweDAwLDB4ZmYgfSwKLSAgMTYsIDB4YTBlMCwgMCwgezB4MDAsMHgzZiwweGMwLDB4OGUsMHhmMCwweDAzLDB4ZjQsMHg0MCwweGZkLDB4ODgsMHgzZiwweGMwLDB4MmYsMHhkMCwweDAyLDB4NzggfSwKLSAgMTYsIDB4YTBmMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHg4YywweDAwLDB4ZGEsMHg0MCwweDNjLDB4NDAgfSwKLSAgMTYsIDB4YTEwMCwgMCwgezB4MGYsMHgxMCwweDAzLDB4NDgsMHgwMCwweGY5LDB4MjIsMHgzYywweGMyLDB4MGUsMHg5MCwweDgzLDB4ZWMsMHgwMiwweGRiLDB4MDQgfSwKLSAgMTYsIDB4YTExMCwgMCwgezB4M2EsMHgwOCwweDBmLDB4ODQsMHg4NywweGU4LDB4MDAsMHhjYiwweDAwLDB4M2UsMHhjNCwweDBlLDB4YjAsMHgwMywweGVkLDB4MDAgfSwKLSAgMTYsIDB4YTEyMCwgMCwgezB4ZTgsMHg0MiwweDNhLDB4YzAsMHgwZiwweDgwLDB4MGIsMHgxMCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTEzMCwgMCwgezB4ODgsMHgwNSwweDJjLDB4MDgsMHg4YSwweDAwLDB4MmUsMHg0MiwweDhiLDB4OTAsMHgwMiwweDI4LDB4MTgsMHhiYiwweDQ5LDB4MjIgfSwKLSAgMTYsIDB4YTE0MCwgMCwgezB4ZDAsMHgzOCwweGJjLDB4ODIsMHhmYywweDAwLDB4ZTgsMHgwMiwweDIyLDB4NjIsMHhjYiwweDljLDB4MDAsMHhlZiwweDYwLDB4ZGYgfSwKLSAgMTYsIDB4YTE1MCwgMCwgezB4MDAsMHgyZiwweGMwLDB4MGIsMHhmMCwweDAyLDB4ZWMsMHgwMCwweDA5LDB4NDAsMHgzNywweGMwLDB4MGIsMHg5MCwweDAyLDB4MzIgfSwKLSAgMTYsIDB4YTE2MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0OCwweDEwLDB4MTEsMHgwMCwweDJjLDB4YTAgfSwKLSAgMTYsIDB4YTE3MCwgMCwgezB4MGIsMHgyMCwweDAyLDB4NDQsMHgwMCwweDkwLDB4YzAsMHg2NCwweDM0LDB4MjgsMHgzNCwweDAyLDB4Y2MsMHgwMCwweDkzLDB4ODQgfSwKLSAgMTYsIDB4YTE4MCwgMCwgezB4MjgsMHg0MCwweDBiLDB4MDgsMHgwMCwweGNlLDB4MDAsMHg5MywweDAwLDB4MmMsMHhjMiwweDBhLDB4MzAsMHgwMiwweGMwLDB4MDAgfSwKLSAgMTYsIDB4YTE5MCwgMCwgezB4YjIsMHg0MCwweDIyLDB4YzAsMHgwYiwweDIwLDB4MDIsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTFhMCwgMCwgezB4NzAsMHgwMSwweDFhLDB4NDAsMHg4NSwweDgwLDB4MmQsMHhhMCwweDBiLDB4NjgsMHgwNiwweDE2LDB4ODAsMHhiZCwweDkwLDB4MjUgfSwKLSAgMTYsIDB4YTFiMCwgMCwgezB4MjQsMHgxOCwweDdiLDB4NDIsMHhkZSwweDQwLDB4YTAsMHg4MCwweDIxLDB4ZTAsMHgwYiwweDY4LDB4MDIsMHhkNiwweDAwLDB4OTcgfSwKLSAgMTYsIDB4YTFjMCwgMCwgezB4OTAsMHgyZCwweGUwLDB4MGIsMHg3OCwweDAyLDB4Y2UsMHg0MCwweDkyLDB4ODAsMHg2ZCwweGU0LDB4MGIsMHg3OCwweDAyLDB4MDggfSwKLSAgMTYsIDB4YTFkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgyOCwweDAwLDB4ZDEsMHg4MCwweDNjLDB4ODggfSwKLSAgMTYsIDB4YTFlMCwgMCwgezB4MGIsMHgyMiwweDAzLDB4NGUsMHg4MCwweGYyLDB4YTEsMHgzYywweDI0LDB4MmEsMHgzOSwweDAzLDB4Y2MsMHg0MCwweGQzLDB4YWMgfSwKLSAgMTYsIDB4YTFmMCwgMCwgezB4MzgsMHhjNSwweDBmLDB4MzAsMHg4MiwweGM4LDB4MDAsMHhkMywweDAwLDB4M2MsMHhjMCwweDBlLDB4MzAsMHgxMywweGMwLDB4MDAgfSwKLSAgMTYsIDB4YTIwMCwgMCwgezB4ZjEsMHgwMCwweDM4LDB4YzAsMHgwZiwweGEwLDB4MDMsMHgxYSwweDA2LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTIxMCwgMCwgezB4NDAsMHgxZCwweGI4LDB4MTAsMHhmZCwweDM0LDB4M2UsMHg4MCwweDBmLDB4ZTAsMHgwMywweGVlLDB4MDAsMHg3MiwweDAwLDB4M2EgfSwKLSAgMTYsIDB4YTIyMCwgMCwgezB4MDAsMHgwZiwweGIwLDB4NjMsMHhlYywweDQwLDB4ZjgsMHgyMiwweDNlLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhkNCwweDQwLDB4ZmYgfSwKLSAgMTYsIDB4YTIzMCwgMCwgezB4MDAsMHgzZiwweGQyLDB4MGYsMHhmMCwweDAzLDB4ZWMsMHgwMCwweGNmLDB4MDAsMHgzNywweGMwLDB4MGYsMHhmMCwweDAzLDB4ZDAgfSwKLSAgMTYsIDB4YTI0MCwgMCwgezB4MDYsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlZSwweDAwLDB4ZWIsMHgwMCwweDM2LDB4ZTAgfSwKLSAgMTYsIDB4YTI1MCwgMCwgezB4MGQsMHhiMCwweDAzLDB4MjAsMHgwMCwweGYwLDB4ODAsMHgzMywweGMwLDB4MDgsMHhiOCwweDAzLDB4MmMsMHg4MCwweGNiLDB4MDAgfSwKLSAgMTYsIDB4YTI2MCwgMCwgezB4MzIsMHg4MCwweDBmLDB4YTAsMHgxMywweDZlLDB4MDgsMHhjYiwweDI4LDB4MzIsMHhlMCwweDBkLDB4YjQsMHg4MywweGUyLDB4MDAgfSwKLSAgMTYsIDB4YTI3MCwgMCwgezB4Y2EsMHgwMCwweDNlLDB4ZTAsMHgwYywweGE4LDB4MDMsMHgwMiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTI4MCwgMCwgezB4YzgsMHgxMSwweDhjLDB4MDQsMHg4MywweDAwLDB4MjEsMHhjMCwweDQ4LDB4NzAsMHgwMiwweDEwLDB4MDAsMHhiNywweDAyLDB4MjEgfSwKLSAgMTYsIDB4YTI5MCwgMCwgezB4YzAsMHg0YSwweDcwLDB4MDIsMHgwZCwweDQ4LDB4ZDQsMHgwMCwweDM1LDB4YzAsMHgwZSwweDYwLDB4MDIsMHhkYywweDAwLDB4YTcgfSwKLSAgMTYsIDB4YTJhMCwgMCwgezB4NDAsMHgyOSwweGMwLDB4MDksMHg3MiwweDAyLDB4ZDQsMHgxMCwweGE2LDB4MDIsMHgyZiwweGM4LDB4MDgsMHg3MCwweDAyLDB4MTIgfSwKLSAgMTYsIDB4YTJiMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDAsMHg5ZSwweDAwLDB4YTcsMHg4MCwweDIwLDB4ZTAgfSwKLSAgMTYsIDB4YTJjMCwgMCwgezB4MGEsMHgzOCwweDAyLDB4MWEsMHgwMCwweGI1LDB4ODAsMHgyMSwweGUwLDB4MDgsMHhmOCwweDIyLDB4NWMsMHg4MSwweDgzLDB4ODAgfSwKLSAgMTYsIDB4YTJkMCwgMCwgezB4MjEsMHhhMSwweDBiLDB4NzgsMHg4MiwweDVhLDB4MTAsMHg4MywweGEwLDB4MjAsMHhlOCwweDBhLDB4N2IsMHgwMiwweGRhLDB4MDAgfSwKLSAgMTYsIDB4YTJlMCwgMCwgezB4OTcsMHhjMCwweDJkLDB4ZTQsMHgwOCwweGU4LDB4MDIsMHgwOCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTJmMCwgMCwgezB4MDgsMHgxNCwweGNjLDB4MDAsMHg4MywweDEwLDB4MjAsMHhjMCwweDBhLDB4MzAsMHgwMiwweDA4LDB4MDgsMHhiMywweDcwLDB4MjAgfSwKLSAgMTYsIDB4YTMwMCwgMCwgezB4ZjgsMHgwYSwweDMwLDB4NDIsMHg0YywweDA0LDB4OTMsMHgxNCwweDI2LDB4YzQsMHgwYSwweDM4LDB4MDIsMHhjYywweDAwLDB4YTMgfSwKLSAgMTYsIDB4YTMxMCwgMCwgezB4MDAsMHgyOCwweGMwLDB4YWEsMHgzMCwweDAyLDB4Y2UsMHg0MCwweGIzLDB4ODgsMHgyYywweGMwLDB4MjgsMHgzMCwweDBhLDB4MTIgfSwKLSAgMTYsIDB4YTMyMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOSwweDAwLDB4ZWEsMHg4MCwweGI2LDB4OTAgfSwKLSAgMTYsIDB4YTMzMCwgMCwgezB4MmYsMHgyNCwweDBiLDB4MzksMHgwNCwweGJlLDB4YzAsMHgzMywweDkyLDB4MGMsMHhhMCwweDBiLDB4NjgsMHgxOCwweGNlLDB4YzAgfSwKLSAgMTYsIDB4YTM0MCwgMCwgezB4MzMsMHg4MCwweDBmLDB4ZTksMHg0MywweDc4LDB4MDAsMHhjYSwweDAwLDB4MzIsMHg4MCwweDBmLDB4YTAsMHgxMywweGY4LDB4NDggfSwKLSAgMTYsIDB4YTM1MCwgMCwgezB4ZGUsMHgwMCwweDNlLDB4ODAsMHgwYywweGUwLDB4MDIsMHgzYSwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTM2MCwgMCwgezB4NDgsMHgwMCwweGUwLDB4MjQsMHhmOCwweDAwLDB4M2UsMHgxMiwweDBkLDB4ODAsMHg5MywweGIwLDB4MjgsMHhmOCwweDAwLDB4YmMgfSwKLSAgMTYsIDB4YTM3MCwgMCwgezB4MDAsMHgwZiwweDg0LDB4MDMsMHhhMCwweDAwLDB4ZjAsMHgwMCwweDNlLDB4MDIsMHgwZSwweDgwLDB4MDAsMHhlMCwweDAwLDB4ZjggfSwKLSAgMTYsIDB4YTM4MCwgMCwgezB4MDEsMHgzZSwweDAwLDB4MGQsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGU4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZDIgfSwKLSAgMTYsIDB4YTM5MCwgMCwgezB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDAwLDB4ZjksMHgwMCwweGIyLDB4NzAgfSwKLSAgMTYsIDB4YTNhMCwgMCwgezB4MGYsMHg5MCwweDAxLDB4MDQsMHgwMCwweGM5LDB4MDAsMHgzZSwweDQwLDB4MGMsMHg5OCwweDAzLDB4ZTQsMHgwNCwweGU5LDB4MDggfSwKLSAgMTYsIDB4YTNiMCwgMCwgezB4M2EsMHg0OCwweDBjLDB4OWEsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4MzYsMHg0MCwweDBiLDB4MTAsMHgwYiwweDI2LDB4ODAgfSwKLSAgMTYsIDB4YTNjMCwgMCwgezB4ZjEsMHg4MCwweDMyLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhjMiwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTNkMCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDAsMHhiOSwweDAwLDB4MjIsMHg2MSwweDBiLDB4OTAsMHgwMiwweDI0LDB4MDgsMHg4OSwweDAwLDB4MmUgfSwKLSAgMTYsIDB4YTNlMCwgMCwgezB4NDAsMHgwZCwweDlhLDB4MDIsMHhlNCwweDA4LDB4YTksMHgwMCwweDIyLDB4NzgsMHgwZCwweDk0LDB4MDYsMHhlNCwweDEwLDB4YjkgfSwKLSAgMTYsIDB4YTNmMCwgMCwgezB4MDAsMHgyMiwweDUwLDB4MGIsMHg5MCwweDAyLDB4MjUsMHg4MCwweGI5LDB4ODAsMHgzNiwweDQwLDB4MGIsMHg5MCwweDAyLDB4ZTAgfSwKLSAgMTYsIDB4YTQwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDAwLDB4YjUsMHgwMCwweDIzLDB4NDIgfSwKLSAgMTYsIDB4YTQxMCwgMCwgezB4MGIsMHhkMCwweDBlLDB4YjQsMHgwMCwweDg5LDB4MDQsMHgyZSwweDYwLDB4MDgsMHg5MSwweDAyLDB4YzQsMHgwNCwweGI5LDB4MDQgfSwKLSAgMTYsIDB4YTQyMCwgMCwgezB4MmEsMHhjMCwweDA4LDB4OTQsMHgwMiwweGU0LDB4MTAsMHhiMSwweDAwLDB4MjYsMHg0MiwweDBhLDB4OTAsMHgwMiwweDI0LDB4MDAgfSwKLSAgMTYsIDB4YTQzMCwgMCwgezB4YjksMHgyMSwweDYyLDB4NDAsMHgwYiwweDkwLDB4MDIsMHhjNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTQ0MCwgMCwgezB4MDgsMHgwNCwweDA1LDB4MDAsMHhiNSwweDQwLDB4MjEsMHg1MCwweDRiLDB4NTAsMHgwNiwweDk0LDB4MDIsMHg4MSwweDAwLDB4MmMgfSwKLSAgMTYsIDB4YTQ1MCwgMCwgezB4NjAsMHgyOSwweDE0LDB4MDYsMHhjNSwweDAwLDB4YTEsMHgyMiwweDIwLDB4NTEsMHg4OSwweDE0LDB4MDIsMHhjNCwweDAwLDB4YjEgfSwKLSAgMTYsIDB4YTQ2MCwgMCwgezB4MjAsMHgyMCwweDQ4LDB4MGIsMHgxNCwweDAyLDB4MDQsMHgwMSwweGIxLDB4MDAsMHgwNCwweDUwLDB4MGIsMHgxMCwweDAyLDB4YzIgfSwKLSAgMTYsIDB4YTQ3MCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDA4LDB4YjgsMHgwMCwweDMyLDB4MDAgfSwKLSAgMTYsIDB4YTQ4MCwgMCwgezB4OGYsMHg4MCwweDAzLDB4YjAsMHgwMCwweDg4LDB4MDAsMHgzZSwweDAwLDB4MGMsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGU4LDB4MDQgfSwKLSAgMTYsIDB4YTQ5MCwgMCwgezB4M2EsMHgwMCwweDBjLDB4ODAsMHgwMiwweGUwLDB4MDAsMHhmOCwweDUwLDB4MzYsMHgwMCwweDBmLDB4ODAsMHgwMywweDIwLDB4MDQgfSwKLSAgMTYsIDB4YTRhMCwgMCwgezB4ZjgsMHgwMSwweDEyLDB4MDAsMHg0ZiwweDgwLDB4MDcsMHhlZSwweDA3LDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTRiMCwgMCwgezB4OTgsMHgxZCwweGU1LDB4MTAsMHhmOSwweDQwLDB4M2UsMHg1MCwweDBmLDB4OTQsMHgwMiwweDY1LDB4MDEsMHhmZCwweDAxLDB4M2QgfSwKLSAgMTYsIDB4YTRjMCwgMCwgezB4NTAsMHg0ZiwweDUwLDB4MTMsMHhlNSwweDAwLDB4ZmQsMHgxMCwweDFmLDB4NTAsMHgwNywweGQ0LDB4NDMsMHhkNCwweDAwLDB4ZjkgfSwKLSAgMTYsIDB4YTRkMCwgMCwgezB4MTAsMHgxZSwweDQ0LDB4MGYsMHg5NCwweDAzLDB4ZDUsMHgwMCwweGZkLDB4NDAsMHgzZSwweDUwLDB4MGYsMHg1MiwweDgzLDB4ZWUgfSwKLSAgMTYsIDB4YTRlMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MTUsMHhlNCwweDQwLDB4ZjksMHg2MCwweDNmLDB4NDQgfSwKLSAgMTYsIDB4YTRmMCwgMCwgezB4MGYsMHhkMCwweGMzLDB4ZTQsMHgzMCwweGY5LDB4MDEsMHgzZSwweDQyLDB4MGMsMHhkMCwweDAzLDB4ZTcsMHg4MCwweGRkLDB4YTAgfSwKLSAgMTYsIDB4YTUwMCwgMCwgezB4MzMsMHg0MCwweDBjLDB4ZDAsMHgwMywweGZjLDB4MDAsMHhjOSwweDkwLDB4M2YsMHg2OCwweDFlLDB4OTEsMHgwMywweDM0LDB4MDAgfSwKLSAgMTYsIDB4YTUxMCwgMCwgezB4ZmQsMHgwMCwweDNlLDB4NjgsMHgwYywweDk0LDB4MDMsMHgwZSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTUyMCwgMCwgezB4MzksMHgxMCwweGUwLDB4MDAsMHhiOCwweDQyLDB4MmUsMHgwOSwweDBiLDB4ODQsMHgwMiwweGUxLDB4MDQsMHhiZSwweDAwLDB4MmUgfSwKLSAgMTYsIDB4YTUzMCwgMCwgezB4MTAsMHgwOCwweDgwLDB4MjIsMHhjMiwweDgwLDB4ODgsMHg0MCwweDIyLDB4MDAsMHgwYSwweDgwLDB4MDIsMHhlMCwweDAwLDB4YTggfSwKLSAgMTYsIDB4YTU0MCwgMCwgezB4ZDAsMHgyZSwweDEwLDB4NGIsMHg4YSwweDAzLDB4NjAsMHgwMCwweGJhLDB4MDAsMHgyZSwweDMwLDB4MDgsMHg4YSwweDAyLDB4ODYgfSwKLSAgMTYsIDB4YTU1MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDUsMHhjNSwweDgwLDB4YjEsMHg2MCwweDZjLDB4ZDAgfSwKLSAgMTYsIDB4YTU2MCwgMCwgezB4MGIsMHgxMCwweDAwLDB4ZGMsMHgwYywweGI1LDB4MDAsMHgyYywweDQxLDB4MDgsMHgxMCwweDAyLDB4YzUsMHg4MCwweDkxLDB4MTAgfSwKLSAgMTYsIDB4YTU3MCwgMCwgezB4NjgsMHhjMCwweDA4LDB4MzAsMHgwMiwweGU0LDB4MGMsMHg4MSwweDIyLDB4MmMsMHg1MCwweDA4LDB4MTAsMHg0MiwweDA0LDB4MDAgfSwKLSAgMTYsIDB4YTU4MCwgMCwgezB4YTEsMHgwMCwweDJjLDB4NWEsMHgyOCwweDkwLDB4MDIsMHg1MiwweDEwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTU5MCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MDAsMHhiOSwweDAwLDB4MmUsMHg0MSwweDBiLDB4OTAsMHgxMiwweGY0LDB4ODAsMHhiZiwweDAwLDB4MmUgfSwKLSAgMTYsIDB4YTVhMCwgMCwgezB4NDAsMHgwOCwweDkwLDB4MDIsMHhlNCwweDAwLDB4YTksMHg2MCwweDYwLDB4NDIsMHgwYSwweDk0LDB4MTIsMHhlNSwweDAwLDB4YTkgfSwKLSAgMTYsIDB4YTViMCwgMCwgezB4MDAsMHgyZSwweDQwLDB4MGIsMHg5MCwweDAyLDB4NjQsMHgyMCwweGI5LDB4MDAsMHgwZSwweDQwLDB4MDksMHg5MCwweDAyLDB4YzYgfSwKLSAgMTYsIDB4YTVjMCwgMCwgezB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MDUsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDEgfSwKLSAgMTYsIDB4YTVkMCwgMCwgezB4MGYsMHg5MCwweDIzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQwLDB4MGMsMHg5MCwweDAzLDB4ZTQsMHgwNCwweGQxLDB4YzAgfSwKLSAgMTYsIDB4YTVlMCwgMCwgezB4YmEsMHg3MCwweDBjLDB4OTgsMHgwMywweGM0LDB4MDAsMHhjOSwweDAwLDB4M2UsMHg0MCwweDBlLDB4OTAsMHgwMywweDI1LDB4NDAgfSwKLSAgMTYsIDB4YTVmMCwgMCwgezB4ZTksMHg0MCwweDNlLDB4NDAsMHgwYywweDEwLDB4MDMsMHg2OCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTYwMCwgMCwgezB4NjgsMHgwMSwweGE0LDB4MTQsMHhmOSwweDAwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgyMywweGU0LDB4MDgsMHhmOSwweGEwLDB4M2MgfSwKLSAgMTYsIDB4YTYxMCwgMCwgezB4YzIsMHgyZiwweDkwLDB4MDMsMHhjNCwweDAwLDB4ZDksMHg4MCwweDNlLDB4NzAsMHgwZiwweDkxLDB4NDMsMHhlNCwweDAwLDB4ZjkgfSwKLSAgMTYsIDB4YTYyMCwgMCwgezB4MDAsMHgzZSwweDQwLDB4MWYsMHg5MCwweDEzLDB4ZTYsMHgyMCwweGY5LDB4YTAsMHgzYywweDQwLDB4NGUsMHg5MCwweDAzLDB4OWEgfSwKLSAgMTYsIDB4YTYzMCwgMCwgezB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDAsMHhhMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDIgfSwKLSAgMTYsIDB4YTY0MCwgMCwgezB4MGYsMHg4MCwweDEzLDB4MjAsMHgwYywweGZjLDB4MDEsMHgzZSwweDAwLDB4MGMsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGM4LDB4NTAgfSwKLSAgMTYsIDB4YTY1MCwgMCwgezB4MzIsMHgwMCwweDBmLDB4ODAsMHgwYiwweDIwLDB4MDgsMHhmOCwweDAwLDB4MzIsMHgwMCwweDJjLDB4ODAsMHg0MywweGUwLDB4NDAgfSwKLSAgMTYsIDB4YTY2MCwgMCwgezB4ZjgsMHgwMiwweDNhLDB4MDAsMHg4ZiwweDgwLDB4MDMsMHgwYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTY3MCwgMCwgezB4YTgsMHg4NSwweDI4LDB4MDgsMHgzYSwweDAwLDB4MGYsMHg4MCwweDRiLDB4YTEsMHgwMiwweDI4LDB4MDAsMHhiYSwweDgyLDB4MmUgfSwKLSAgMTYsIDB4YTY4MCwgMCwgezB4ODgsMHg0OCwweGU0LDB4MDIsMHhlOCwweDAwLDB4YWUsMHg5MCwweGEzLDB4OTAsMHgwYiwweGUwLDB4MDAsMHgzOCwweDAwLDB4YmEgfSwKLSAgMTYsIDB4YTY5MCwgMCwgezB4MDAsMHgzNywweGEwLDB4MDgsMHhhMCwweDAyLDB4ZjgsMHgwMCwweDllLDB4ZTAsMHgyMiwweDgwLDB4MGIsMHhhMCwweDIzLDB4NDIgfSwKLSAgMTYsIDB4YTZhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDEwLDB4MzMsMHgwMCwweDJjLDB4ZDAgfSwKLSAgMTYsIDB4YTZiMCwgMCwgezB4MGIsMHgxNCwweDAyLDB4MGMsMHgwMCwweGIyLDB4OTEsMHgyYywweGQwLDB4MDgsMHgzZSwweDAyLDB4NGMsMHgwMCwweDgzLDB4NDAgfSwKLSAgMTYsIDB4YTZjMCwgMCwgezB4MjQsMHhjMiwweDBiLDB4MzYsMHgwMCwweDhjLDB4MDAsMHhiMywweDAwLDB4MjAsMHhjMCwweDA5LDB4YjAsMHgwMiwweGNlLDB4MDAgfSwKLSAgMTYsIDB4YTZkMCwgMCwgezB4YjMsMHhjYywweDY4LDB4YzAsMHgwYiwweDMwLDB4MDIsMHgwMiwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTZlMCwgMCwgezB4ZTAsMHgwMSwweDFjLDB4ODgsMHhiNywweDI1LDB4MmQsMHhjMCwweDhiLDB4NTgsMHgxYSwweDFjLDB4MDgsMHhiNiwweDAwLDB4MmQgfSwKLSAgMTYsIDB4YTZmMCwgMCwgezB4YzAsMHgwOCwweDc0LDB4MDIsMHhkYywweDQwLDB4YTUsMHgwMCwweDI1LDB4YzAsMHgxYiwweDc4LDB4MDIsMHg5NCwweDA4LDB4YjcgfSwKLSAgMTYsIDB4YTcwMCwgMCwgezB4ODAsMHgyNSwweGUzLDB4MGEsMHg3MSwweDAyLDB4ZGMsMHgwMCwweDk3LDB4ODMsMHgyMSwweGM4LDB4OGIsMHhmMSwweDAyLDB4NDggfSwKLSAgMTYsIDB4YTcxMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZiwweDAwLDB4ZjcsMHhlMiwweDdkLDB4ZTAgfSwKLSAgMTYsIDB4YTcyMCwgMCwgezB4MGYsMHg1OCwweDQzLDB4MWUsMHgxOCwweGY2LDB4ODAsMHg3YywweGUwLDB4MmMsMHg2OCwweDAyLDB4NWUsMHg5MCwweGMzLDB4ODAgfSwKLSAgMTYsIDB4YTczMCwgMCwgezB4MzUsMHhlMCwweDBmLDB4ZjgsMHgwMywweDllLDB4MDQsMHhmZiwweGExLDB4MjAsMHhhMSwweDBkLDB4NzgsMHgwMywweGQ2LDB4MDAgfSwKLSAgMTYsIDB4YTc0MCwgMCwgezB4ZjcsMHg4MCwweDM5LDB4ZjgsMHgwZiwweDc4LDB4MDMsMHgwYSwweDA2LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTc1MCwgMCwgezB4NDgsMHgxZCwweGFjLDB4MDAsMHhmYiwweDQwLDB4N2YsMHg0MSwweDBmLDB4MTAsMHgwMywweGVjLDB4MDQsMHhmYSwweDAwLDB4M2UgfSwKLSAgMTYsIDB4YTc2MCwgMCwgezB4ZDAsMHgwZiwweGEwLDB4MDMsMHhlZCwweDAwLDB4ZTksMHgwMCwweDJhLDB4MDAsMHgwZiwweGIwLDB4MDMsMHg2NCwweDAwLDB4ZmIgfSwKLSAgMTYsIDB4YTc3MCwgMCwgezB4NDAsMHgzZSwweGMwLDB4MGQsMHhiMCwweDAzLDB4ZTQsMHgwMCwweGQzLDB4MDAsMHgzNiwweGMwLDB4MGYsMHgzOCwweDAzLDB4YzIgfSwKLSAgMTYsIDB4YTc4MCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDUsMHhmZSwweDQ4LDB4Y2YsMHhjMCwweDMzLDB4NjAgfSwKLSAgMTYsIDB4YTc5MCwgMCwgezB4OGMsMHhjOCwweDQzLDB4ZDYsMHgwMCwweGNjLDB4OTQsMHgzZiwweGIwLDB4MGQsMHhmOCwweDAzLDB4N2YsMHgwMCwweGRmLDB4ODAgfSwKLSAgMTYsIDB4YTdhMCwgMCwgezB4M2YsMHg2MCwweDBmLDB4ZDgsMHgwMywweGRlLDB4MDAsMHhjZiwweGNhLDB4M2QsMHg2MCwweDBjLDB4ZjgsMHgxMywweDNhLDB4NDQgfSwKLSAgMTYsIDB4YTdiMCwgMCwgezB4ZGQsMHg4MCwweDNmLDB4ZTAsMHgwZiwweGY4LDB4NDMsMHgxOCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTdjMCwgMCwgezB4YTgsMHgxMSwweDljLDB4MDAsMHg4ZiwweDExLDB4MzMsMHhjMCwweDQ4LDB4NDEsMHgxMiwweGM0LDB4NDgsMHg4NCwweDExLDB4MmMgfSwKLSAgMTYsIDB4YTdkMCwgMCwgezB4ZWMsMHgyYSwweGJhLDB4MDMsMHgzYywweDQwLDB4ZDcsMHg0OCwweDJkLDB4NDEsMHgwYiwweDYwLDB4MDIsMHhkNCwweDAwLDB4ZDcgfSwKLSAgMTYsIDB4YTdlMCwgMCwgezB4MDEsMHgzZCwweGMwLDB4MGQsMHhmMCwweDAzLDB4NWEsMHgwMCwweDg0LDB4MTgsMHgyZCwweGMwLDB4MGIsMHg3MCwweDAzLDB4NmEgfSwKLSAgMTYsIDB4YTdmMCwgMCwgezB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHg4YywweDA4LDB4ODcsMHgwMCwweDIxLDB4NDAgfSwKLSAgMTYsIDB4YTgwMCwgMCwgezB4MDksMHg0MCwweDAyLDB4ZDQsMHgwMCwweGE0LDB4OTIsMHgyZCwweGM4LDB4MDksMHg2MiwweDgyLDB4NWMsMHgwMCwweDg3LDB4MDAgfSwKLSAgMTYsIDB4YTgxMCwgMCwgezB4MmQsMHhjMCwweDBiLDB4NTAsMHgwMiwweGZjLDB4MDAsMHg4NywweDAwLDB4MmQsMHgwNCwweDA4LDB4NzAsMHgwMiwweDFjLDB4ODAgfSwKLSAgMTYsIDB4YTgyMCwgMCwgezB4YjUsMHgwMCwweDJkLDB4YzAsMHgwYiwweGYwLDB4MDIsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTgzMCwgMCwgezB4NjAsMHgxMCwweGNjLDB4MDAsMHg4MywweDAwLDB4MjAsMHg0MCwweDA5LDB4MDAsMHgyMiwweGM3LDB4MDAsMHhhMCwweDQxLDB4MmMgfSwKLSAgMTYsIDB4YTg0MCwgMCwgezB4YzEsMHg0YiwweDA4LDB4MDIsMHgyYywweDAwLDB4OTMsMHg0MCwweDJjLDB4N2MsMHgwYiwweDM4LDB4MDIsMHhjNywweDIwLDB4OTMgfSwKLSAgMTYsIDB4YTg1MCwgMCwgezB4MDAsMHgyYywweGMwLDB4MDksMHgzMCwweDAyLDB4NGYsMHg4NCwweGIwLDB4ODAsMHgyYywweGMwLDB4MGIsMHgzMiwweDEwLDB4NTAgfSwKLSAgMTYsIDB4YTg2MCwgMCwgezB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGFhLDB4MTUsMHhiYywweDAyLDB4Y2YsMHgwMCwweGIyLDB4NDAgfSwKLSAgMTYsIDB4YTg3MCwgMCwgezB4MGQsMHgxMCwweDAzLDB4ZTgsMHgyNCwweGViLDB4YzEsMHgzZSwweGMwLDB4MmQsMHg5OCwweDEzLDB4N2MsMHgwYSwweGMyLDB4NDMgfSwKLSAgMTYsIDB4YTg4MCwgMCwgezB4M2UsMHhiMCwweDBmLDB4YTksMHgwMywweGU5LDB4MjAsMHhjZiwweDAwLDB4M2UsMHhjMCwweDhjLDB4ZjAsMHgwMywweDBkLDB4MjAgfSwKLSAgMTYsIDB4YTg5MCwgMCwgezB4ZmEsMHhjMCwweDNmLDB4YzAsMHgwZiwweDc0LDB4MDEsMHgyYSwweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YThhMCwgMCwgezB4ODAsMHgwMCwweGVjLDB4MDAsMHhmYiwweDAyLDB4M2EsMHg0MCwweDhlLDB4OTAsMHgwMywweGU4LDB4MTQsMHg1YiwweDUwLDB4M2MgfSwKLSAgMTYsIDB4YThiMCwgMCwgezB4NTAsMHg0ZSwweDg0LDB4MDMsMHhlYywweDAwLDB4ZjgsMHg0MCwweDNlLDB4ODAsMHgwNywweDgxLDB4MDMsMHhlYywweDA4LDB4ZjMgfSwKLSAgMTYsIDB4YThjMCwgMCwgezB4MDAsMHgzYSwweGMwLDB4OWYsMHgzMCwweDAzLDB4ZWMsMHgwMCwweGNiLDB4MjAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDIzLDB4ZTggfSwKLSAgMTYsIDB4YThkMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4OTAsMHhmYywweDAwLDB4ZmYsMHgwMCwweDNmLDB4NDAgfSwKLSAgMTYsIDB4YThlMCwgMCwgezB4MGYsMHhkMCwweDAzLDB4MzgsMHgyMCwweGNmLDB4MDgsMHgzMiwweGMxLDB4MGUsMHhkMCwweDAzLDB4ZmMsMHgwMCwweGZlLDB4MDggfSwKLSAgMTYsIDB4YThmMCwgMCwgezB4MzEsMHhlNSwweDBlLDB4ZTQsMHgwMywweDNhLDB4MDAsMHhmZiwweDAwLDB4MzMsMHg4MCwweDBmLDB4ZjAsMHgyYiwweDI0LDB4MDAgfSwKLSAgMTYsIDB4YTkwMCwgMCwgezB4Y2MsMHhhMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHgwMCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTkxMCwgMCwgezB4ODAsMHgwNCwweDZjLDB4MDAsMHhiYiwweDAwLDB4M2EsMHg2OSwweDBiLDB4OTAsMHg2ZSwweDA4LDB4MDAsMHg4MywweDQxLDB4MzYgfSwKLSAgMTYsIDB4YTkyMCwgMCwgezB4NDAsMHhjOCwweDg4LDB4YzYsMHhlYywweDAwLDB4ODgsMHg0MCwweDM2LDB4ODAsMHgwZCwweGE4LDB4MDMsMHg2ZSwweDUwLDB4YmIgfSwKLSAgMTYsIDB4YTkzMCwgMCwgezB4MDAsMHgzNiwweGMwLDB4MGIsMHhiMCwweDAyLDB4MjQsMHgwMCwweGQ5LDB4MDgsMHgyZSwweGMwLDB4MGIsMHhiMCwweDAzLDB4ZTAgfSwKLSAgMTYsIDB4YTk0MCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAwLDB4YmIsMHgwMCwweDJlLDB4NjAgfSwKLSAgMTYsIDB4YTk1MCwgMCwgezB4MDMsMHg4MCwweDAyLDB4MjAsMHgwMCwweDg5LDB4MDEsMHgyMiwweDU4LDB4MDgsMHg5OCwweDIyLDB4ZWMsMHgwMSwweGFiLDB4MDAgfSwKLSAgMTYsIDB4YTk2MCwgMCwgezB4MjIsMHgwMCwweDBhLDB4MTAsMHgwMiwweDI4LDB4MDAsMHhiYiwweDAwLDB4MjIsMHg0MCwweDBiLDB4YjAsMHgwMiwweDI4LDB4MDAgfSwKLSAgMTYsIDB4YTk3MCwgMCwgezB4OGEsMHgwMCwweDJlLDB4YzAsMHgwYiwweGIwLDB4NDIsMHgyMCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTk4MCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDAsMHhiMywweDAwLDB4MjgsMHg0MCwweDhiLDB4MDAsMHgwMiwweDAyLDB4NDAsMHg4OSwweDAxLDB4MjQgfSwKLSAgMTYsIDB4YTk5MCwgMCwgezB4ZDIsMHgyOCwweDEwLDB4MDIsMHhjYywweDAwLDB4ODMsMHgxMCwweDI0LDB4MjAsMHgwOCwweDA4LDB4MDIsMHg0ZSwweDAwLDB4YjMgfSwKLSAgMTYsIDB4YTlhMCwgMCwgezB4MDQsMHhhMCwweGMwLDB4MGIsMHgzMCwweDAyLDB4MDgsMHg4OCwweDkyLDB4MDAsMHgyYywweGMwLDB4MGIsMHhiMCwweDAyLDB4YzIgfSwKLSAgMTYsIDB4YTliMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2YywweDAwLDB4ZmYsMHgwMCwweDNlLDB4MDAgfSwKLSAgMTYsIDB4YTljMCwgMCwgezB4MGYsMHg4MCwweDAyLDB4MjAsMHgxMCwweDg5LDB4NTAsMHgyMiwweGQ4LDB4MmUsMHg5NiwweDIyLDB4ZmMsMHgwMCwweGViLDB4NDAgfSwKLSAgMTYsIDB4YTlkMCwgMCwgezB4MzIsMHhjMCwweDBhLDB4OTAsMHgwMywweDI4LDB4MDAsMHhmZiwweDAwLDB4MjIsMHgwMCwweDBmLDB4YjAsMHgwMywweDJjLDB4YTAgfSwKLSAgMTYsIDB4YTllMCwgMCwgezB4YzgsMHgwMCwweDNlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHgwMCwweDA2LDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTlmMCwgMCwgezB4YTAsMHgxOSwweGZjLDB4MDAsMHhmZiwweDBjLDB4M2IsMHgwMCwweDBmLDB4YzAsMHgwMiwweDcwLDB4OTAsMHhmZCwweDAwLDB4M2UgfSwKLSAgMTYsIDB4YWEwMCwgMCwgezB4YzksMHgwZiwweDk2LDB4YzMsMHhmYywweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmYywweDA0LDB4ZmYgfSwKLSAgMTYsIDB4YWExMCwgMCwgezB4MDQsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZWMsMHgwMCwweGZjLDB4MDAsMHgzZiwweGMwLDB4MGYsMHg3MCwweDAzLDB4ZTggfSwKLSAgMTYsIDB4YWEyMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhkYywweDgwLDB4ZmIsMHgyOCwweDNmLDB4MDAgfSwKLSAgMTYsIDB4YWEzMCwgMCwgezB4MGMsMHhjMSwweDBiLDB4ZjEsMHgwMiwweGVkLDB4MDAsMHgzNywweDMwLDB4MmMsMHhmMSwweDAzLDB4YjIsMHg0MCwweGZmLDB4MDAgfSwKLSAgMTYsIDB4YWE0MCwgMCwgezB4YmIsMHhjMCwweDBmLDB4NDgsMHgwNiwweGIyLDB4MDAsMHhmYywweDgwLDB4M2IsMHhjYywweDBjLDB4ZjAsMHgwMywweDcwLDB4ODAgfSwKLSAgMTYsIDB4YWE1MCwgMCwgezB4ZGYsMHgyOCwweDMzLDB4MDQsMHgwZiwweGY0LDB4MDMsMHgzMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWE2MCwgMCwgezB4ODAsMHgxMCwweGZmLDB4NDAsMHhiZiwweDYwLDB4MmUsMHgyMSwweDA4LDB4ODIsMHgwMiwweDIwLDB4MDAsMHhhOSwweDI4LDB4MmEgfSwKLSAgMTYsIDB4YWE3MCwgMCwgezB4MDAsMHgwOSwweGZhLDB4MDIsMHgyMCwweDAwLDB4YmYsMHg1MSwweDIzLDB4ZDgsMHgwOSwweDk4LDB4MDIsMHhlNCwweDMwLDB4YjAgfSwKLSAgMTYsIDB4YWE4MCwgMCwgezB4MDAsMHgyMywweGQwLDB4MDgsMHhmNSwweGEyLDB4MjUsMHhhNCwweDhmLDB4NDIsMHgzYywweDEwLDB4MGIsMHhiMCwweDBhLDB4MjAgfSwKLSAgMTYsIDB4YWE5MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDAwLDB4YjMsMHgwOCwweDJjLDB4MDAgfSwKLSAgMTYsIDB4YWFhMCwgMCwgezB4MjgsMHgwMCwweDFhLDB4YzAsMHg4NCwweDIwLDB4MDAsMHgyNCwweGM4LDB4NGIsMHgzMSwweDQyLDB4YzAsMHgwMCwweDkzLDB4MDIgfSwKLSAgMTYsIDB4YWFiMCwgMCwgezB4MjAsMHhjNiwweDA4LDB4MDAsMHgwNiwweGMwLDB4ODEsMHhiMywweDAwLDB4MmMsMHhkOCwweDA5LDB4MzIsMHgwMiwweGEwLDB4NDAgfSwKLSAgMTYsIDB4YWFjMCwgMCwgezB4OTMsMHgwMSwweDI0LDB4NGMsMHgwYiwweDMyLDB4MDIsMHgyMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWFkMCwgMCwgezB4YzAsMHgxMSwweGFjLDB4MDAsMHhiYiwweDAyLDB4MmUsMHgwYSwweDA4LDB4ODAsMHg4MiwweDYwLDB4MDAsMHhhOCwweDAwLDB4MmUgfSwKLSAgMTYsIDB4YWFlMCwgMCwgezB4ZTAsMHgxYiwweGIwLDB4MDIsMHg2MiwweDAxLDB4M2IsMHgwMCwweDIyLDB4YzEsMHgwOSwweDkwLDB4MDIsMHhlMiwweDAwLDB4YmIgfSwKLSAgMTYsIDB4YWFmMCwgMCwgezB4NjAsMHgyNiwweGMxLDB4MDgsMHhiMCwweDJhLDB4MjYsMHgwMCwweDliLDB4MDQsMHgyZSwweDIxLDB4MGIsMHhiMCwweDAyLDB4MzAgfSwKLSAgMTYsIDB4YWIwMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTEsMHhlYywweDEwLDB4ZmIsMHgwMCwweDNlLDB4MTAgfSwKLSAgMTYsIDB4YWIxMCwgMCwgezB4MDgsMHg4NCwweDEzLDB4ZWMsMHgwMiwweGE5LDB4MDQsMHgzNiwweDIwLDB4MGYsMHhiMCwweDAzLDB4ZWUsMHg4MCwweGZiLDB4MDAgfSwKLSAgMTYsIDB4YWIyMCwgMCwgezB4M2EsMHhjMCwweDBjLDB4YTAsMHgwMywweGEyLDB4ODAsMHg3OSwweDQwLDB4MWUsMHhjMCwweDhjLDB4YjAsMHg2MywweDZhLDB4MTAgfSwKLSAgMTYsIDB4YWIzMCwgMCwgezB4ZDMsMHgwMCwweDM2LDB4YTIsMHgwNywweGIwLDB4MDMsMHgwMCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWI0MCwgMCwgezB4ZTAsMHgwMSwweGJjLDB4MDAsMHhmZiwweDAwLDB4M2UsMHgyMCwweDRkLDB4NDEsMHgwMywweDljLDB4MDAsMHhmZCwweDIwLDB4YWIgfSwKLSAgMTYsIDB4YWI1MCwgMCwgezB4MDAsMHgwYywweGYwLDB4MDMsMHhiOCwweDAwLDB4ZjcsMHgwMCwweDNmLDB4YzAsMHg0ZCwweGM5LDB4MDMsMHhmNCwweDAwLDB4ZmYgfSwKLSAgMTYsIDB4YWI2MCwgMCwgezB4MDAsMHgzYiwweGMwLDB4MmUsMHhmMCwweDAwLDB4ZjAsMHgwMCwweGVmLDB4MDAsMHgzZiwweDAwLDB4NGIsMHg3MCwweDAzLDB4ZjggfSwKLSAgMTYsIDB4YWI3MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhYywweDgwLDB4ZWIsMHgwMCwweDdlLDB4MTAgfSwKLSAgMTYsIDB4YWI4MCwgMCwgezB4MmUsMHg4NCwweDAzLDB4ZWMsMHgwMCwweGUwLDB4MDAsMHgzMiwweDUwLDB4MGYsMHhiMCwweDg2LDB4MjUsMHgwMCwweGRiLDB4MjAgfSwKLSAgMTYsIDB4YWI5MCwgMCwgezB4M2EsMHhjMCwweDBkLDB4YjAsMHg2MywweGUxLDB4MTAsMHhmYiwweDQ4LDB4MzgsMHhjMSwweDBmLDB4MzAsMHgwMywweDJjLDB4MDQgfSwKLSAgMTYsIDB4YWJhMCwgMCwgezB4ZmIsMHgwOCwweDMyLDB4YzAsMHgwYywweGIwLDB4MGIsMHg5MCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWJiMCwgMCwgezB4YzgsMHgwNSwweDNjLDB4MDAsMHg4ZiwweDAwLDB4NjQsMHgyOSwweDI4LDB4ODAsMHgwMywweGVjLDB4MDIsMHhlOCwweDA0LDB4YTggfSwKLSAgMTYsIDB4YWJjMCwgMCwgezB4NTYsMHgwOCwweGZjLDB4MDcsMHhlMCwweDAwLDB4MGYsMHhhMCwweGJmLDB4YzAsMHgwYiwweDk1LDB4MDIsMHhhMCwweDAwLDB4YmIgfSwKLSAgMTYsIDB4YWJkMCwgMCwgezB4MDUsMHgzNywweGMwLDB4ODksMHhmMCwweDBhLDB4MGQsMHhjOCwweGJmLDB4MDgsMHgyYSwweDgwLDB4MDgsMHhmMCwweDAyLDB4MzIgfSwKLSAgMTYsIDB4YWJlMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0YywweDAxLDB4YjMsMHgwMiwweDI0LDB4ZTAgfSwKLSAgMTYsIDB4YWJmMCwgMCwgezB4MGEsMHgzMCwweDEyLDB4ODAsMHgwMywweGEzLDB4MDAsMHhhOCwweDAwLDB4MDIsMHhiOCwweDIyLDB4YzAsMHgwMCwweGIzLDB4MDAgfSwKLSAgMTYsIDB4YWMwMCwgMCwgezB4MjgsMHhjMSwweDBiLDB4MDQsMHgwMiwweDA4LDB4MDAsMHhiOSwweDQwLDB4MjgsMHhjMCwweDBiLDB4MzAsMHgwMiwweDAzLDB4MDQgfSwKLSAgMTYsIDB4YWMxMCwgMCwgezB4YjMsMHg0NCwweDIwLDB4MDAsMHg0YSwweDMwLDB4MDIsMHgzOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWMyMCwgMCwgezB4MjAsMHgwMSwweDFlLDB4MjAsMHgxNywweGEwLDB4NjUsMHhlYywweDA4LDB4MzgsMHgwMiwweGMyLDB4NDEsMHhiMywweDkyLDB4MmIgfSwKLSAgMTYsIDB4YWMzMCwgMCwgezB4NjQsMHgwYSwweDM4LDB4MDIsMHgzNiwweDAxLDB4YjcsMHg5MCwweDJkLDB4ZTAsMHgwMywweGY4LDB4MDAsMHg5YSwweDAwLDB4YjUgfSwKLSAgMTYsIDB4YWM0MCwgMCwgezB4ODAsMHgyZCwweGUwLDB4ODksMHg3OCwweDEyLDB4MWUsMHgwMCwweGI3LDB4ODAsMHgyOSwweGUwLDB4MGEsMHg3OCwweDAyLDB4MDggfSwKLSAgMTYsIDB4YWM1MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDAwLDB4NzMsMHhiMCwweDI0LDB4YzggfSwKLSAgMTYsIDB4YWM2MCwgMCwgezB4NGUsMHgzMCwweDBhLDB4ODAsMHgwMiwweGUyLDB4MDAsMHgzOCwweDk0LDB4MGUsMHgzMSwweGEyLDB4YzgsMHgwMCwweDczLDB4MDAgfSwKLSAgMTYsIDB4YWM3MCwgMCwgezB4MTgsMHhjNCwweDA1LDB4MDAsMHgwMywweDAwLDB4MDAsMHhmMywweDAwLDB4MzgsMHhjMCwweDA3LDB4YjEsMHgwMywweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWM4MCwgMCwgezB4ZjMsMHgwMSwweDMwLDB4NDEsMHgwZSwweGIwLDB4MDMsMHg5MiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWM5MCwgMCwgezB4NDAsMHgxZCwweGJkLDB4MDAsMHhlZiwweDEwLDB4MjYsMHhjOCwweDAzLDB4YjEsMHgwMywweGUwLDB4MDAsMHhlYSwweDgxLDB4NzggfSwKLSAgMTYsIDB4YWNhMCwgMCwgezB4YzUsMHgwYywweGI1LDB4ZTMsMHhkYywweDAwLDB4YzMsMHgwMCwweDNlLDB4YzEsMHgwZiwweGYwLDB4ODMsMHhiMCwweDAwLDB4ZmYgfSwKLSAgMTYsIDB4YWNiMCwgMCwgezB4MDAsMHgzNywweGMwLDB4MGQsMHhmNCwweDAzLDB4ZTQsMHgwMCwweGY3LDB4MDAsMHgzZiwweDQwLDB4MGQsMHhmMCwweDAzLDB4ZDAgfSwKLSAgMTYsIDB4YWNjMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlZCwweDEwLDB4Y2IsMHgyOCwweDNlLDB4YzAgfSwKLSAgMTYsIDB4YWNkMCwgMCwgezB4MGQsMHhiMCwweDEzLDB4YWMsMHgxMCwweGZiLDB4MDAsMHgzYSwweDgwLDB4MDQsMHhiNCwweDAzLDB4YWMsMHgwMCwweGZiLDB4MDQgfSwKLSAgMTYsIDB4YWNlMCwgMCwgezB4M2UsMHhjMCwweDBmLDB4YTQsMHhiMywweGUwLDB4MDAsMHhmYiwweDgwLDB4MzIsMHhjMCwweDBmLDB4YjAsMHgwMywweGU4LDB4MDAgfSwKLSAgMTYsIDB4YWNmMCwgMCwgezB4ZmIsMHg0OCwweGIyLDB4ODAsMHgwZiwweGIwLDB4NDMsMHhlYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWQwMCwgMCwgezB4NDgsMHgxMSwweDljLDB4MDIsMHg4NywweDQ0LDB4MzgsMHhjMCwweDhkLDB4MzAsMHgwMiwweDRjLDB4MDAsMHhmZiwweDAwLDB4MjEgfSwKLSAgMTYsIDB4YWQxMCwgMCwgezB4YzAsMHgwOCwweDcwLDB4MDMsMHg5YywweDAwLDB4YjMsMHg1MCwweDIxLDB4ZDQsMHg0ZSwweDYyLDB4MDIsMHhkMCwweDAwLDB4YmYgfSwKLSAgMTYsIDB4YWQyMCwgMCwgezB4MDAsMHgzNSwweGQ0LDB4MDksMHg3MCwweDIyLDB4ZDgsMHgwMCwweGJmLDB4MjIsMHgyMSwweGMwLDB4MGIsMHg3MiwweDAyLDB4ZDIgfSwKLSAgMTYsIDB4YWQzMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZSwweDQwLDB4ODcsMHg4MCwweDJkLDB4ZTAgfSwKLSAgMTYsIDB4YWQ0MCwgMCwgezB4MDksMHg3OCwweDAyLDB4ZGUsMHgwMCwweGI2LDB4ODAsMHgyOSwweGExLDB4MjgsMHg3YSwweDMyLDB4ZGUsMHgwMCwweDM3LDB4YTAgfSwKLSAgMTYsIDB4YWQ1MCwgMCwgezB4MjUsMHhlMCwweDA5LDB4NzgsMHgwNiwweGQyLDB4MDAsMHhiNywweDgwLDB4MjEsMHhlOCwweDBiLDB4NzksMHgwMiwweGRlLDB4MDAgfSwKLSAgMTYsIDB4YWQ2MCwgMCwgezB4YjcsMHg5MCwweDIxLDB4ZTAsMHgwYiwweDc5LDB4MDIsMHhmMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWQ3MCwgMCwgezB4NDgsMHgxNCwweGNjLDB4MDQsMHg4MywweDAxLDB4MjgsMHhjMCwweDg5LDB4YjAsMHgwYSwweDRmLDB4MDAsMHhiMiwweDAwLDB4MjAgfSwKLSAgMTYsIDB4YWQ4MCwgMCwgezB4YzQsMHg4OCwweDMwLDB4MTYsMHhjZiwweDAwLDB4YmIsMHgwNCwweDIwLDB4YzEsMHgwYSwweDMyLDB4MDYsMHhjMiwweDAwLDB4YjMgfSwKLSAgMTYsIDB4YWQ5MCwgMCwgezB4MDAsMHgyNCwweGMwLDB4MDksMHgzMCwweDQyLDB4ZWYsMHgxMCwweGIzLDB4MDAsMHgyMCwweGMwLDB4MGIsMHgzMCwweDAyLDB4ZDIgfSwKLSAgMTYsIDB4YWRhMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOCwweDAwLDB4NGEsMHgwMCwweDNlLDB4ODAgfSwKLSAgMTYsIDB4YWRiMCwgMCwgezB4MmQsMHhhMCwweDBiLDB4YWEsMHg4MCwweGZlLDB4MDAsMHgyYiwweDgwLDB4MGMsMHhhMCwweDQzLDB4ZmIsMHgzMCwweGZhLDB4MDAgfSwKLSAgMTYsIDB4YWRjMCwgMCwgezB4M2UsMHg4MCwweDBmLDB4YTAsMHg4MywweGZhLDB4MDQsMHhmZSwweDE4LDB4MjIsMHg4MCwweDBmLDB4YTAsMHgwMywweGZhLDB4ODQgfSwKLSAgMTYsIDB4YWRkMCwgMCwgezB4ZjIsMHgwMCwweDMzLDB4YTIsMHgwZiwweGEwLDB4MDMsMHhmMiwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWRlMCwgMCwgezB4NDgsMHgwMCwweGUwLDB4MDAsMHhmMCwweDAwLDB4M2UsMHgwMCwweDJmLDB4ODAsMHgwMywweGEwLDB4MjAsMHhmYywweDAyLDB4M2UgfSwKLSAgMTYsIDB4YWRmMCwgMCwgezB4MDAsMHgxZiwweDg0LDB4MDMsMHhhMCwweDAwLDB4ZjgsMHg0MCwweDNlLDB4MDAsMHg0ZiwweDgwLDB4MDEsMHhlMCwweDQwLDB4ZjggfSwKLSAgMTYsIDB4YWUwMCwgMCwgezB4NDAsMHgzZSwweDAwLDB4MGQsMHg4MCwweDEzLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZDIgfSwKLSAgMTYsIDB4YWUxMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhjNiwweDAwLDB4ZDksMHgwMCwweDM2LDB4NDAgfSwKLSAgMTYsIDB4YWUyMCwgMCwgezB4MGYsMHg5MCwweDBiLDB4MDQsMHgwMCwweGM5LDB4MDAsMHgzNiwweDY4LDB4NmMsMHg5NCwweDAzLDB4ZTQsMHgyMCwweGI5LDB4OTAgfSwKLSAgMTYsIDB4YWUzMCwgMCwgezB4MzYsMHg0MCwweDBjLDB4OTQsMHgwMywweGU0LDB4MDAsMHgyOSwweDgwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweDI0LDB4MjAgfSwKLSAgMTYsIDB4YWU0MCwgMCwgezB4YzksMHgwMCwweDM2LDB4NDAsMHgwZiwweDkwLDB4MDMsMHhjMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWU1MCwgMCwgezB4ODAsMHgwNCwweDY2LDB4NTAsMHg4OSwweDAwLDB4MjAsMHg1MCwweDA4LDB4OTAsMHgwMiwweDI0LDB4MDksMHhkOSwweDAwLDB4MjAgfSwKLSAgMTYsIDB4YWU2MCwgMCwgezB4NDgsMHg0OCwweDkwLDB4MDYsMHhlNCwweDA0LDB4OTksMHhhMCwweDIyLDB4NDAsMHgwZCwweGI4LDB4MjIsMHg2NCwweDAwLDB4MDkgfSwKLSAgMTYsIDB4YWU3MCwgMCwgezB4NTAsMHgzMiwweDQwLDB4MGIsMHg5MCwweDAyLDB4MjcsMHg5MCwweDg5LDB4NDAsMHgyYSwweDQwLDB4MGIsMHg5MCwweDAyLDB4ZTAgfSwKLSAgMTYsIDB4YWU4MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDEsMHgyNCwweDAwLDB4OTksMHgwMCwweDY2LDB4NDIgfSwKLSAgMTYsIDB4YWU5MCwgMCwgezB4MGEsMHhkMCwweDEyLDB4MzQsMHgwMCwweDg1LDB4MDAsMHgyNiwweDQwLDB4NGEsMHg5MCwweDAyLDB4ZTQsMHgwMSwweGI5LDB4MDEgfSwKLSAgMTYsIDB4YWVhMCwgMCwgezB4MjQsMHg0MCwweDU4LDB4OTAsMHgxMiwweGM0LDB4MDAsMHgyOSwweDQwLDB4MmUsMHg0MCwweDBiLDB4MTAsMHgwYSwweDI0LDB4ODAgfSwKLSAgMTYsIDB4YWViMCwgMCwgezB4ODksMHgwNSwweDI2LDB4NDEsMHgwYiwweDkwLDB4MDIsMHhjNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWVjMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4ODAsMHg4MSwweDIwLDB4NjEsMHg0OCwweDA4LDB4NTIsMHgwMiwweDE0LDB4ODEsMHg5NSwweDIwLDB4MjAgfSwKLSAgMTYsIDB4YWVkMCwgMCwgezB4NDAsMHgwYSwweDM2LDB4MDIsMHhjNCwweDAwLDB4YjEsMHgyMCwweDAwLDB4NDgsMHg0MSwweDEwLDB4NDIsMHg0NCwweDAxLDB4YTEgfSwKLSAgMTYsIDB4YWVlMCwgMCwgezB4MDAsMHgyNCwweDQ4LDB4MGIsMHgxMiwweDEyLDB4MDQsMHg4MCwweDgxLDB4MjAsMHgyOCwweDQ4LDB4MGIsMHgxMiwweDAyLDB4Y2EgfSwKLSAgMTYsIDB4YWVmMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDAwLDB4ZDgsMHg1MCwweDM2LDB4MDAgfSwKLSAgMTYsIDB4YWYwMCwgMCwgezB4MGUsMHg4NSwweDIzLDB4MjEsMHg0MiwweDhjLDB4NTQsMHgzNCwweDE0LDB4MGUsMHg4MCwweDAyLDB4ZTEsMHg0MCwweGY4LDB4NTAgfSwKLSAgMTYsIDB4YWYxMCwgMCwgezB4MzYsMHgxNCwweDA0LDB4ODAsMHgwMywweGUxLDB4NDQsMHhlOCwweDUwLDB4N2UsMHgxNSwweDBmLDB4ODUsMHgwMywweDIxLDB4NDIgfSwKLSAgMTYsIDB4YWYyMCwgMCwgezB4NGEsMHgwMCwweDM2LDB4MTQsMHgwZiwweDgwLDB4MDMsMHhlZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWYzMCwgMCwgezB4OTgsMHgxZCwweGM0LDB4NDAsMHhmOSwweDEwLDB4MWUsMHg0NCwweDRlLDB4OTEsMHgwMywweGU0LDB4NDAsMHhmOSwweDEwLDB4M2YgfSwKLSAgMTYsIDB4YWY0MCwgMCwgezB4YzAsMHgwZCwweDkxLDB4MDMsMHhmNCwweDAwLDB4ZDksMHgxNCwweDNlLDB4NDQsMHgwZiwweDkwLDB4MDMsMHg3NCwweDAwLDB4ZGQgfSwKLSAgMTYsIDB4YWY1MCwgMCwgezB4MDAsMHg3YSwweDQ0LDB4MGYsMHg5MSwweDAzLDB4ZjQsMHg0MCwweGY5LDB4MzgsMHgzZiwweDQ0LDB4MGYsMHg5MywweDgzLDB4ZTcgfSwKLSAgMTYsIDB4YWY2MCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDEsMHhmNiwweDgwLDB4ZjksMHhhNCwweDNmLDB4NjggfSwKLSAgMTYsIDB4YWY3MCwgMCwgezB4MGUsMHg5ZSwweDQzLDB4NjcsMHg4MCwweGQ5LDB4ZTQsMHgzZiwweDQxLDB4MGYsMHhkOCwweDQzLDB4MDQsMHgwMCwweGVkLDB4YzAgfSwKLSAgMTYsIDB4YWY4MCwgMCwgezB4MzYsMHg0MCwweDBjLDB4OTAsMHgwMywweGU0LDB4MDAsMHhkNSwweDQwLDB4MzIsMHg0MCwweDBjLDB4OTAsMHgwMywweGY0LDB4MDAgfSwKLSAgMTYsIDB4YWY5MCwgMCwgezB4ZGQsMHgwMCwweDMyLDB4NDAsMHgyYywweDlhLDB4MDMsMHhjNiwweDAxLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWZhMCwgMCwgezB4MzgsMHgxMCwweGUwLDB4MDAsMHhlOCwweGMwLDB4MmUsMHgxNCwweDRkLDB4OGYsMHgyMiwweDIzLDB4YzAsMHhmOCwweGYwLDB4YWEgfSwKLSAgMTYsIDB4YWZiMCwgMCwgezB4MDAsMHgwYywweDgwLDB4MDMsMHhhMiwweGEwLDB4ZDgsMHg4MiwweDIyLDB4MDAsMHgwOCwweDgwLDB4MDIsMHhlOCwweDAwLDB4ZDggfSwKLSAgMTYsIDB4YWZjMCwgMCwgezB4ODAsMHgyYSwweDAwLDB4MDgsMHg4MCwweDAyLDB4ZTgsMHgwOCwweDg4LDB4YTgsMHgzNiwweDAwLDB4NDgsMHg4YSwweDgyLDB4Y2UgfSwKLSAgMTYsIDB4YWZkMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNSwweDAwLDB4YjEsMHg0OCwweDJlLDB4NDAgfSwKLSAgMTYsIDB4YWZlMCwgMCwgezB4MGEsMHgxMiwweDIyLDB4NDQsMHgwMCwweDkxLDB4MDQsMHhhNCwweDQxLDB4MGEsMHg5NCwweDA2LDB4MjQsMHgwMCwweDkxLDB4NDIgfSwKLSAgMTYsIDB4YWZmMCwgMCwgezB4MjQsMHg0MSwweDA5LDB4MTAsMHgwMiwweGU0LDB4MDEsMHg5MSwweDIwLDB4MjQsMHg0MCwweDA5LDB4MTAsMHgwMiwweGM0LDB4MDEgfSwKLSAgMTYsIDB4YjAwMCwgMCwgezB4OTEsMHgwMCwweDJjLDB4NDAsMHgwOSwweDE0LDB4MDIsMHhjMiwweDAxLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjAxMCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MDAsMHhhOSwweDAwLDB4MmUsMHg0MCwweDQ4LDB4MTAsMHgwMiwweDI0LDB4MDAsMHhiOSwweDQwLDB4YWEgfSwKLSAgMTYsIDB4YjAyMCwgMCwgezB4NDAsMHgxOCwweGIwLDB4MDIsMHhlNCwweDA4LDB4OTksMHgwMCwweDIyLDB4NDAsMHgxOSwweDkwLDB4NDYsMHhlNCwweDgwLDB4OTkgfSwKLSAgMTYsIDB4YjAzMCwgMCwgezB4MDQsMHgyZSwweDQwLDB4MDksMHg5MCwweDAyLDB4ZTQsMHgwMSwweDk5LDB4MDQsMHgyNiwweDUwLDB4MDksMHg5MCwweDAyLDB4YzYgfSwKLSAgMTYsIDB4YjA0MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTEsMHhlNCwweDAwLDB4ZjksMHgwNiwweDNjLDB4NDAgfSwKLSAgMTYsIDB4YjA1MCwgMCwgezB4MGEsMHg5MCwweDAzLDB4NjQsMHgwMiwweGQ5LDB4MDAsMHhiNiwweDUwLDB4MGUsMHg5MCwweDIzLDB4MjYsMHgwMSwweGY5LDB4MDAgfSwKLSAgMTYsIDB4YjA2MCwgMCwgezB4MzYsMHg0MCwweDI5LDB4OTQsMHg4MywweGU0LDB4MDAsMHhkOSwweDQ4LDB4MzYsMHg0MCwweDBkLDB4OTAsMHgwMywweGM3LDB4MDAgfSwKLSAgMTYsIDB4YjA3MCwgMCwgezB4ZDEsMHgwNywweDNhLDB4NTAsMHhjZCwweDkwLDB4MDMsMHhlOCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjA4MCwgMCwgezB4MjgsMHgwMSwweGE0LDB4MDgsMHhlOSwweDAwLDB4M2UsMHg0MCwweDhmLDB4OTAsMHgwMywweGM0LDB4MDgsMHhmMSwweDAwLDB4M2EgfSwKLSAgMTYsIDB4YjA5MCwgMCwgezB4NjgsMHg4ZiwweDkwLDB4MDMsMHhhNCwweDQxLDB4ZjksMHgwMCwweGJlLDB4NDAsMHgwZSwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjkgfSwKLSAgMTYsIDB4YjBhMCwgMCwgezB4YzAsMHgzOCwweDQwLDB4MmUsMHg5MCwweDAzLDB4ZTYsMHg0MCwweGU5LDB4MDAsMHgzZSwweDY4LDB4MDYsMHg5MCwweDAzLDB4Y2EgfSwKLSAgMTYsIDB4YjBiMCwgMCwgezB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMCwweDAwLDB4ZDgsMHgwNSwweDNlLDB4MDAgfSwKLSAgMTYsIDB4YjBjMCwgMCwgezB4MDcsMHg4MCwweDBiLDB4MjAsMHgwMCwweGU4LDB4NDAsMHgzZSwweDEwLDB4MGQsMHg4MiwweDAzLDB4NjAsMHgwMCwweGM4LDB4MDAgfSwKLSAgMTYsIDB4YjBkMCwgMCwgezB4YjIsMHgwMCwweDhkLDB4ODMsMHgwMywweGUwLDB4MDAsMHhkOCwweDUwLDB4M2EsMHgwMCwweDFlLDB4ODAsMHgwMywweGUxLDB4MjQgfSwKLSAgMTYsIDB4YjBlMCwgMCwgezB4ZjgsMHgwMCwweGIyLDB4MDAsMHgwZiwweDgwLDB4MDMsMHgwMiwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjBmMCwgMCwgezB4MjgsMHgwNSwweDM4LDB4MDAsMHg4YSwweDA0LDB4MmYsMHg4NCwweDZhLDB4YTAsMHgwYiwweGU4LDB4MDgsMHg4ZSwweDAwLDB4M2QgfSwKLSAgMTYsIDB4YjEwMCwgMCwgezB4ODAsMHg4OCwweGVjLDB4MDMsMHg2OCwweDEwLDB4YTYsMHgwMSwweDM2LDB4ODAsMHgwOCwweGE4LDB4MDAsMHhjOCwweDEwLDB4OGUgfSwKLSAgMTYsIDB4YjExMCwgMCwgezB4MTAsMHgyMiwweDgwLDB4MDgsMHhhMCwweDAyLDB4ZmIsMHgyMCwweGJlLDB4NTEsMHgyYSwweDgwLDB4MGIsMHhhMCwweDAyLDB4ODIgfSwKLSAgMTYsIDB4YjEyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0MSwweDIxLDB4OTMsMHgwMCwweDJjLDB4ZjAgfSwKLSAgMTYsIDB4YjEzMCwgMCwgezB4MzksMHgzMCwweDA2LDB4MGMsMHgwMCwweGEzLDB4MDAsMHgyOCwweDA4LDB4MjgsMHhiYywweDAyLDB4MmMsMHgwMCwweDgzLDB4ODAgfSwKLSAgMTYsIDB4YjE0MCwgMCwgezB4MmEsMHhjMCwweDA4LDB4MzAsMHgwMCwweGNjLDB4MDAsMHg5YSwweDgwLDB4MjgsMHhjMCwweDBhLDB4MzAsMHgwMiwweGNkLDB4MDAgfSwKLSAgMTYsIDB4YjE1MCwgMCwgezB4YjMsMHgwNCwweDYyLDB4YzEsMHgwYiwweDMwLDB4MDIsMHgwYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjE2MCwgMCwgezB4YTAsMHgwMSwweDFlLDB4MDQsMHgwNywweDExLDB4MmMsMHhkMCwweDBhLDB4MzIsMHgyMiwweGRjLDB4YzEsMHg4NywweDAwLDB4NmQgfSwKLSAgMTYsIDB4YjE3MCwgMCwgezB4ZDAsMHgwOCwweDM0LDB4MDIsMHg3YywweDAwLDB4YTcsMHgwOCwweDI0LDB4YzgsMHgwOCwweDcwLDB4MDIsMHhkYywweDgwLDB4MGYgfSwKLSAgMTYsIDB4YjE4MCwgMCwgezB4MDAsMHgyMSwweGM0LDB4MDgsMHg3MywweDA2LDB4ZGMsMHgwMCwweGIyLDB4MDAsMHg2MSwweGM4LDB4MGIsMHgzYSwweDAyLDB4ODggfSwKLSAgMTYsIDB4YjE5MCwgMCwgezB4MDQsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgwYSwweDAwLDB4NTcsMHg4MSwweDJkLDB4YTAgfSwKLSAgMTYsIDB4YjFhMCwgMCwgezB4MmQsMHg3YywweDAyLDB4M2UsMHg4MiwweGUzLDB4ZTAsMHgzYiwweGUwLDB4MGMsMHg3OCwweDAzLDB4MWUsMHgyMCwweGM3LDB4ODAgfSwKLSAgMTYsIDB4YjFiMCwgMCwgezB4YjksMHhlOCwweDJjLDB4NzgsMHgwMywweGZmLDB4ODAsMHhkNiwweDgwLDB4M2IsMHhlYywweDAyLDB4N2EsMHgwMywweGRlLDB4MDAgfSwKLSAgMTYsIDB4YjFjMCwgMCwgezB4ZjcsMHg4MSwweDMxLDB4ZWMsMHg4ZiwweDdjLDB4MDMsMHgwYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjFkMCwgMCwgezB4MDgsMHgxZCwweGFjLDB4MDAsMHhmYiwweDAwLDB4MWUsMHg4MCwweDIzLDB4YjYsMHg4MywweGVkLDB4YTAsMHhkYiwweDY0LDB4M2UgfSwKLSAgMTYsIDB4YjFlMCwgMCwgezB4YzAsMHgwZSwweGIwLDB4MDMsMHhlZCwweGMwLDB4ZjIsMHgwMCwweDNlLDB4ZDQsMHgwYSwweGIwLDB4MDMsMHhlYywweDMwLDB4ZWUgfSwKLSAgMTYsIDB4YjFmMCwgMCwgezB4NjQsMHgzZSwweGMwLDB4MDcsMHhiMCwweGMzLDB4ZTgsMHgwMCwweGZiLDB4MDEsMHgzZSwweGM4LDB4MGYsMHhiOCwweDAzLDB4YzIgfSwKLSAgMTYsIDB4YjIwMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmNiwweDAwLDB4ZWYsMHg4MCwweDNiLDB4ZTAgfSwKLSAgMTYsIDB4YjIxMCwgMCwgezB4MGYsMHhmOCwweDYzLDB4N2UsMHgwNCwweGNmLDB4YzAsMHhiNywweDIwLDB4MGUsMHhmOCwweDAzLDB4ZmMsMHgwMCwweGM3LDB4ODAgfSwKLSAgMTYsIDB4YjIyMCwgMCwgezB4MzMsMHhmMCwweDBjLDB4Y2MsMHgwMywweGZlLDB4MDgsMHhmNywweGMxLDB4MzMsMHhlMCwweDRmLDB4ZjgsMHgwMywweGIyLDB4NDAgfSwKLSAgMTYsIDB4YjIzMCwgMCwgezB4ZmYsMHhhMCwweDMxLDB4ZTYsMHgwYywweGY4LDB4MDMsMHgxMCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjI0MCwgMCwgezB4YTgsMHgxMSwweDljLDB4MDAsMHhlZiwweDAyLDB4MjEsMHg0MCwweDJkLDB4NzAsMHgwMiwweDFjLDB4MDAsMHhmNywweDEwLDB4MjkgfSwKLSAgMTYsIDB4YjI1MCwgMCwgezB4NDAsMHgwOCwweDcwLDB4MjIsMHhmYywweGMwLDB4YTcsMHgwMCwweDNkLDB4YzAsMHgwOCwweDQwLDB4MDIsMHhkYywweDAwLDB4YjcgfSwKLSAgMTYsIDB4YjI2MCwgMCwgezB4NDAsMHgyMSwweGMwLDB4MGIsMHg3MCwweDAyLDB4ZGEsMHg4MCwweGI3LDB4MjQsMHgyOSwweGM2LDB4NDgsMHhmMCwweDAyLDB4MmEgfSwKLSAgMTYsIDB4YjI3MCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5YywweDAwLDB4YTcsMHgwMCwweDI4LDB4ODQgfSwKLSAgMTYsIDB4YjI4MCwgMCwgezB4MGIsMHgzMCwweDAyLDB4MGMsMHgwMCwweDkzLDB4MDAsMHgyNSwweDgwLDB4MGEsMHg2MSwweDAyLDB4ZGMsMHgwMSwweGE3LDB4MTAgfSwKLSAgMTYsIDB4YjI5MCwgMCwgezB4MjQsMHhjMCwweDA4LDB4NDAsMHg4MiwweGRjLDB4MDAsMHg5ZiwweDAwLDB4MjUsMHhjNCwweDBiLDB4NzAsMHgwMiwweDk0LDB4MjUgfSwKLSAgMTYsIDB4YjJhMCwgMCwgezB4YjcsMHgzMiwweDIzLDB4YzQsMHgxYiwweDcwLDB4MDIsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjJiMCwgMCwgezB4MjAsMHgxNCwweGNjLDB4MGMsMHhhMywweDAwLDB4MjAsMHgwMCwweDI5LDB4MzAsMHgwYSwweDBjLDB4MDAsMHhhMywweDAwLDB4NmMgfSwKLSAgMTYsIDB4YjJjMCwgMCwgezB4MDAsMHgwOCwweDEwLDB4NDIsMHhjZCwweDEwLDB4YWEsMHgwMCwweGFjLDB4YzAsMHgwMCwweDA0LDB4MDIsMHhjZCwweDAwLDB4YmIgfSwKLSAgMTYsIDB4YjJkMCwgMCwgezB4MTAsMHgyNCwweGMwLDB4MDMsMHgzMCwweDQyLDB4YzMsMHgwOSwweGIzLDB4MDAsMHgyYywweGQwLDB4MGEsMHgzMCwweDAyLDB4MTggfSwKLSAgMTYsIDB4YjJlMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHg4MCwweDAwLDB4ZWYsMHgwMCwweDNhLDB4NDAgfSwKLSAgMTYsIDB4YjJmMCwgMCwgezB4MDcsMHhmMCwweDQzLDB4M2MsMHgwMCwweDlmLDB4YzAsMHhiNiwweDE0LDB4MGUsMHg4MCwweDA2LDB4ZmMsMHgwMSwweGNiLDB4MDEgfSwKLSAgMTYsIDB4YjMwMCwgMCwgezB4MzcsMHhjMCwweGFjLDB4YjQsMHgwMiwweGZjLDB4MDAsMHhkOSwweDAxLDB4MzcsMHhjMCwweDRiLDB4ZjAsMHgxMywweGFlLDB4MDggfSwKLSAgMTYsIDB4YjMxMCwgMCwgezB4ZmIsMHgwMCwweDMzLDB4ZDAsMHgyZSwweGYwLDB4MGIsMHgyYSwweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjMyMCwgMCwgezB4ODAsMHgwMCwweGVjLDB4MDAsMHhmYiwweDA1LDB4M2UsMHg0MCwweDBmLDB4MzAsMHgwMywweGFjLDB4MTQsMHhmYiwweGEwLDB4M2EgfSwKLSAgMTYsIDB4YjMzMCwgMCwgezB4YzAsMHgwZiwweDg0LDB4NDMsMHhlYywweDAxLDB4ZjksMHg0MCwweDNlLDB4YzAsMHgwZiwweGEyLDB4MDMsMHhlYywweDIxLDB4ZjkgfSwKLSAgMTYsIDB4YjM0MCwgMCwgezB4MDAsMHgzYSwweGMwLDB4MGYsMHhiMCwweDAzLDB4ZTQsMHgyMCwweGYwLDB4MDAsMHhiYSwweGMwLDB4MGQsMHhiMCwweDAzLDB4ZTAgfSwKLSAgMTYsIDB4YjM1MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmOCwweDAwLDB4ZDcsMHgwMSwweDM1LDB4NjggfSwKLSAgMTYsIDB4YjM2MCwgMCwgezB4NmQsMHhmMCwweDAzLDB4M2MsMHgwMSwweGU3LDB4MDAsMHgzMywweGMwLDB4MGQsMHhjMCwweDAzLDB4ZmMsMHgyNCwweGNmLDB4MDIgfSwKLSAgMTYsIDB4YjM3MCwgMCwgezB4MzcsMHhjMCwweDBkLDB4ZDIsMHgwMiwweGZjLDB4MDAsMHhkZiwweDAxLDB4MzMsMHhjMCwweDVlLDB4NzAsMHgzMywweDFjLDB4MTggfSwKLSAgMTYsIDB4YjM4MCwgMCwgezB4Y2YsMHg0MSwweDMxLDB4YzIsMHgwYywweGYwLDB4MDMsMHg0MCwweDQwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjM5MCwgMCwgezB4ODEsMHgwMCwweDZjLDB4MDAsMHg4YiwweDAwLDB4MjIsMHg1MiwweDJhLDB4YjAsMHgwMywweDZjLDB4MDAsMHhhYiwweDAwLDB4MjggfSwKLSAgMTYsIDB4YjNhMCwgMCwgezB4YzAsMHgwYSwweDhjLDB4MDIsMHhlYywweDEwLDB4OGIsMHhlMCwweDIyLDB4YzAsMHgwZiwweDgwLDB4MDIsMHhjYywweDAwLDB4OGIgfSwKLSAgMTYsIDB4YjNiMCwgMCwgezB4ODAsMHgyMiwweGMwLDB4MDgsMHhiMCwweDAyLDB4MmEsMHgxMCwweGQ5LDB4ODAsMHgyMiwweGMwLDB4YzgsMHhiMCwweDAyLDB4ZTAgfSwKLSAgMTYsIDB4YjNjMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyNCwweDAxLDB4OWIsMHgwMCwweDI2LDB4ODAgfSwKLSAgMTYsIDB4YjNkMCwgMCwgezB4MjksMHhiMCwweDYyLDB4MGMsMHgwMCwweGFiLDB4MDEsMHg2YSwweDAwLDB4MDgsMHg5OCwweDAyLDB4Y2MsMHgwMCwweDliLDB4ODMgfSwKLSAgMTYsIDB4YjNlMCwgMCwgezB4MmUsMHhjMCwweGNiLDB4YjQsMHgxMiwweGVjLDB4MDMsMHg4YiwweDgwLDB4MjgsMHhjMCwweDBhLDB4YjAsMHgwNiwweGEyLDB4MDAgfSwKLSAgMTYsIDB4YjNmMCwgMCwgezB4OGIsMHgwMiwweDYyLDB4YzAsMHgwOCwweGIwLDB4MDIsMHhlMCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjQwMCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDEsMHg4MywweDE0LDB4MjAsMHgwMCwweDBhLDB4MzAsMHgwMiwweDRjLDB4MDAsMHg4MywweDAwLDB4MmEgfSwKLSAgMTYsIDB4YjQxMCwgMCwgezB4NDAsMHgwYSwweDEwLDB4MDAsMHhjYywweDAyLDB4OTMsMHgwMCwweDI4LDB4YzAsMHgwYSwweDIwLDB4MDIsMHhlYywweDAwLDB4MDMgfSwKLSAgMTYsIDB4YjQyMCwgMCwgezB4MDAsMHgyMCwweGMwLDB4MDgsMHgzMCwweDE2LDB4MDAsMHg4MCwweDkxLDB4MDAsMHg2MCwweGMwLDB4MDgsMHgzMCwweDAyLDB4YzIgfSwKLSAgMTYsIDB4YjQzMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2YywweDAwLDB4ZGIsMHgwMCwweDM2LDB4ODAgfSwKLSAgMTYsIDB4YjQ0MCwgMCwgezB4MmQsMHhmMCwweDAzLDB4M2MsMHgwMCwweGFmLDB4MDAsMHgzYSwweDgwLDB4MGQsMHg4MCwweDAzLDB4ZmMsMHgwMCwweDViLDB4MDAgfSwKLSAgMTYsIDB4YjQ1MCwgMCwgezB4MzcsMHhjMCwweDA5LDB4OTAsMHgwMywweGZjLDB4MDAsMHhkZiwweDAwLDB4MzMsMHhjMCwweDBhLDB4ZjAsMHgwMywweGE0LDB4MjAgfSwKLSAgMTYsIDB4YjQ2MCwgMCwgezB4Y2IsMHgwMCwweGIzLDB4YzAsMHg4YywweGIwLDB4MDMsMHg0MCwweDAyLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjQ3MCwgMCwgezB4YTAsMHgxZCwweGZjLDB4MDQsMHhmZiwweDIwLDB4MGYsMHgwMCwweDI3LDB4ZjAsMHgwMywweGZjLDB4MDAsMHhmZiwweDAwLDB4MmQgfSwKLSAgMTYsIDB4YjQ4MCwgMCwgezB4MDAsMHgwYiwweGQwLDB4MjcsMHhmYywweDAwLDB4ZWYsMHgwMCwweDM3LDB4YzAsMHgwZiwweGMwLDB4NDMsMHhmYywweDAwLDB4ZmYgfSwKLSAgMTYsIDB4YjQ5MCwgMCwgezB4MDAsMHgzZiwweGMwLDB4MGQsMHhmMCwweDBiLDB4ZTAsMHgwMCwweGY1LDB4MDAsMHgzZiwweGMwLDB4MWYsMHhmMCwweDAzLDB4ZTggfSwKLSAgMTYsIDB4YjRhMCwgMCwgezB4MDcsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDEsMHhmNCwweGMwLDB4ZmMsMHgyMiwweDdmLDB4YzAgfSwKLSAgMTYsIDB4YjRiMCwgMCwgezB4MGMsMHhkMCwweDQzLDB4MzYsMHgwMCwweGM0LDB4ODEsMHgzNCwweGMwLDB4MWMsMHg4OSwweDA3LDB4ZjIsMHg4MCwweGNmLDB4ODAgfSwKLSAgMTYsIDB4YjRjMCwgMCwgezB4MzMsMHg2MCwweDBmLDB4NzksMHgwMywweDNjLDB4ZTAsMHhjZiwweDA4LDB4MzMsMHg0OCwweDBkLDB4YzQsMHgwMywweGYwLDB4NTAgfSwKLSAgMTYsIDB4YjRkMCwgMCwgezB4ZGMsMHg5MCwweDM3LDB4Y2MsMHgwZiwweGY4LDB4MDMsMHhmMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjRlMCwgMCwgezB4ODAsMHgxMCwweGU5LDB4OTAsMHhiOCwweDgwLDB4N2UsMHhlNCwweDg4LDB4OTksMHgwYSwweDI2LDB4MDgsMHhhOSwweDgwLDB4MjIgfSwKLSAgMTYsIDB4YjRmMCwgMCwgezB4ZjQsMHgyYywweDk5LDB4MDMsMHhhNywweDAyLDB4ODksMHg4MCwweDIyLDB4MzQsMHgwYiwweDlhLDB4MDMsMHg3ZCwweDAwLDB4ZGYgfSwKLSAgMTYsIDB4YjUwMCwgMCwgezB4NDgsMHgyYiwweDYwLDB4MDgsMHgwNSwweDAyLDB4ZTUsMHgwMCwweDgyLDB4MjAsMHgyMiwweGM0LDB4OGIsMHhiMCwweDAyLDB4ZTAgfSwKLSAgMTYsIDB4YjUxMCwgMCwgezB4MDYsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjNSwweDAwLDB4YjAsMHgxMCwweDJjLDB4YzAgfSwKLSAgMTYsIDB4YjUyMCwgMCwgezB4MmEsMHgwMCwweDAyLDB4YTQsMHgwOCwweGE4LDB4MDQsMHhlMCwweDgwLDB4MGIsMHgwMCwweDAyLDB4YzQsMHg0MSwweGIyLDB4MDQgfSwKLSAgMTYsIDB4YjUzMCwgMCwgezB4YTQsMHgwYSwweDBiLDB4YjAsMHgwMiwweDhjLDB4ODEsMHg4MywweDIwLDB4NjAsMHg1MCwweDk4LDB4MTIsMHgxMiwweDhiLDB4ODAgfSwKLSAgMTYsIDB4YjU0MCwgMCwgezB4ODksMHgwMCwweDJjLDB4YzgsMHgwYiwweDMwLDB4MDIsMHhlMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjU1MCwgMCwgezB4YzAsMHgxMSwweGFjLDB4MjAsMHhiYiwweDAyLDB4MmEsMHhjMCwweDBhLDB4ODgsMHgwMiwweGE0LDB4MDgsMHhhOSwweDgwLDB4YTIgfSwKLSAgMTYsIDB4YjU2MCwgMCwgezB4ZTEsMHgxYiwweDljLDB4MjIsMHhlNiwweDAwLDB4YjgsMHg0MCwweDI2LDB4MzAsMHgwYiwweDkwLDB4MDIsMHhjYywweDAxLDB4OTMgfSwKLSAgMTYsIDB4YjU3MCwgMCwgezB4MDQsMHgyYSwweDQwLDB4MzksMHg5OCwweDgyLDB4ZWMsMHgxNCwweDhiLDB4NjUsMHgyYSwweGMwLDB4MGIsMHhiMiwweDAyLDB4ZjggfSwKLSAgMTYsIDB4YjU4MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlNywweDAwLDB4YjgsMHg0OCwweDJlLDB4MDAgfSwKLSAgMTYsIDB4YjU5MCwgMCwgezB4MGUsMHg4OCwweDQzLDB4ODQsMHgwMCwweGUzLDB4YzEsMHgzNiwweGU4LDB4MGYsMHg5YywweDEyLDB4ZTIsMHg4MCwweGYzLDB4YzAgfSwKLSAgMTYsIDB4YjVhMCwgMCwgezB4MzYsMHg3MCwweDVmLDB4YTgsMHgyMywweGFjLDB4MDEsMHhjYiwweDA0LDB4MjIsMHg0MCwweDRkLDB4ODQsMHgwMywweGUyLDB4MDAgfSwKLSAgMTYsIDB4YjViMCwgMCwgezB4ZDgsMHgwMCwweDNlLDB4YzAsMHgwZiwweDkwLDB4MDMsMHhkMCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjVjMCwgMCwgezB4ZTAsMHgwMSwweGIzLDB4MDksMHhmZSwweDEwLDB4M2UsMHg4MSwweDBkLDB4YzAsMHgwMywweDc0LDB4MGMsMHhmZiwweDAwLDB4M2QgfSwKLSAgMTYsIDB4YjVkMCwgMCwgezB4YzEsMHg4YywweGQwLDB4ODMsMHgxNCwweDAwLDB4Y2QsMHgyMCwweDNhLDB4NDAsMHgwZCwweGNhLDB4MDEsMHg3YywweDAwLDB4ZmYgfSwKLSAgMTYsIDB4YjVlMCwgMCwgezB4MDAsMHgxZiwweDQwLDB4MGUsMHhjMCwweDIzLDB4ZjIsMHg0NiwweGZlLDB4ODQsMHgzNywweGMwLDB4MGYsMHhkOCwweDAzLDB4ZjggfSwKLSAgMTYsIDB4YjVmMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhYywweDAwLDB4ZGQsMHgwMiwweDNkLDB4NDAgfSwKLSAgMTYsIDB4YjYwMCwgMCwgezB4MGUsMHg5MCwweDAzLDB4YWMsMHgwMCwweGViLDB4NDgsMHgzZSwweGQwLDB4MGMsMHg4MCwweDYzLDB4YTIsMHgwOCwweGNhLDB4MDAgfSwKLSAgMTYsIDB4YjYxMCwgMCwgezB4MzIsMHgwOCwweDBjLDB4YjAsMHgwMywweGFjLDB4MDgsMHhlYiwweDAwLDB4M2UsMHg0MCwweDBjLDB4ZDQsMHg4MywweDU4LDB4MjAgfSwKLSAgMTYsIDB4YjYyMCwgMCwgezB4ZjksMHg0MiwweDMyLDB4YzAsMHgwYywweGIwLDB4MDMsMHhkMCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjYzMCwgMCwgezB4YzgsMHgwNSwweDI4LDB4MDIsMHhkYiwweDAwLDB4MmUsMHhlMCwweDI4LDB4M2EsMHgwMiwweDJlLDB4MDAsMHhkYiwweDYwLDB4NzYgfSwKLSAgMTYsIDB4YjY0MCwgMCwgezB4ZTAsMHgwZCwweDhjLDB4MDIsMHhlMCwweDAwLDB4ODgsMHgwMiwweDM2LDB4NTgsMHg2OCwweDE1LDB4ODMsMHg3YywweDA4LDB4YmYgfSwKLSAgMTYsIDB4YjY1MCwgMCwgezB4MDAsMHgyZCwweDYwLDB4MDgsMHg5MCwweDAyLDB4YTksMHgwMCwweGIzLDB4MDUsMHgyMywweGMwLDB4MDgsMHhiMCwweDAyLDB4ZjIgfSwKLSAgMTYsIDB4YjY2MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0YywweDEwLDB4ODAsMHgwMCwweDBjLDB4YzEgfSwKLSAgMTYsIDB4YjY3MCwgMCwgezB4MDgsMHgxYywweDgyLDB4MDYsMHgwMCwweDkzLDB4YzAsMHgyMCwweGY2LDB4MGEsMHgyMCwweDAyLDB4MDgsMHgwMCwweDkzLDB4MDAgfSwKLSAgMTYsIDB4YjY4MCwgMCwgezB4MjQsMHg2MCwweDA5LDB4M2MsMHgwMiwweDBjLDB4MDAsMHg4MywweDAwLDB4MmMsMHg2MCwweDA5LDB4MDEsMHgxMiwweDAwLDB4NDAgfSwKLSAgMTYsIDB4YjY5MCwgMCwgezB4YjAsMHgwMCwweGUwLDB4YzAsMHgwOCwweDMwLDB4MDIsMHg3MCwweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjZhMCwgMCwgezB4MjAsMHg0MSwweDBhLDB4NDAsMHg4NiwweDgxLDB4MmQsMHhlMCwweDU4LDB4MTgsMHgwYSwweDE2LDB4YTAsMHg5NywweDgwLDB4MjUgfSwKLSAgMTYsIDB4YjZiMCwgMCwgezB4ZTksMHgxOSwweDc4LDB4ODIsMHhkNiwweDAwLDB4OTcsMHg4MCwweDI1LDB4YTAsMHgxOSwweGY4LDB4MDIsMHg1ZSwweDAwLDB4YjcgfSwKLSAgMTYsIDB4YjZjMCwgMCwgezB4ODAsMHgyZCwweDYwLDB4MjgsMHg0OCwweDEyLDB4OTYsMHgwMCwweGI0LDB4ODAsMHgyMSwweGUwLDB4MjgsMHg3OCwweDAyLDB4YzggfSwKLSAgMTYsIDB4YjZkMCwgMCwgezB4MDQsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDAwLDB4ODEsMHgzMCwweDNjLDB4YzIgfSwKLSAgMTYsIDB4YjZlMCwgMCwgezB4MGUsMHgwMCwweDAyLDB4ODQsMHgwMCwweGUzLDB4NDAsMHgyOCwweGU4LDB4NGMsMHgyOSwweDAzLDB4MGMsMHgwMCwweGQzLDB4MDAgfSwKLSAgMTYsIDB4YjZmMCwgMCwgezB4MzQsMHhjNCwweDBkLDB4MzEsMHgwMywweDhjLDB4MDgsMHhlMywweDAwLDB4M2MsMHg0NiwweDBjLDB4MjAsMHgwMywweDAwLDB4ODAgfSwKLSAgMTYsIDB4YjcwMCwgMCwgezB4ZjIsMHgwMCwweDMyLDB4YzAsMHgwYywweDMwLDB4MDMsMHhkMiwweDAyLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjcxMCwgMCwgezB4NDAsMHgxOSwweGI4LDB4MDAsMHhmZiwweDEwLDB4MmYsMHhjMCwweDBmLDB4YzAsMHgyMywweGM0LDB4ODAsMHg3ZiwweDEwLDB4M2UgfSwKLSAgMTYsIDB4YjcyMCwgMCwgezB4YzAsMHgwZiwweGIxLDB4MDMsMHhkYywweDAwLDB4ZTcsMHgwMCwweDNmLDB4ODAsMHgwNiwweGYxLDB4NDMsMHhmYywweDAwLDB4ZmYgfSwKLSAgMTYsIDB4YjczMCwgMCwgezB4MDgsMHg3ZCwweDUwLDB4MGUsMHhlMSwweDIzLDB4YjQsMHgwOCwweGZlLDB4MTAsMHgzZiwweGM0LDB4MGYsMHhmMCwweDAzLDB4ZDAgfSwKLSAgMTYsIDB4Yjc0MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlNCwweDAyLDB4Y2MsMHgwMCwweDNlLDB4MDAgfSwKLSAgMTYsIDB4Yjc1MCwgMCwgezB4MmMsMHhjMCwweDAzLDB4MDQsMHgwMSwweGNiLDB4MDAsMHgzMywweDYwLDB4MmMsMHg5MCwweDEzLDB4ZTgsMHgwMCwweDczLDB4MDAgfSwKLSAgMTYsIDB4Yjc2MCwgMCwgezB4YjIsMHhjMSwweDBmLDB4YTAsMHgwMywweGVjLDB4ODAsMHhmYiwweDI4LDB4M2UsMHg1NCwweDFmLDB4ZDAsMHgwMywweGZlLDB4MDIgfSwKLSAgMTYsIDB4Yjc3MCwgMCwgezB4YzksMHg4MCwweDMyLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhjYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Yjc4MCwgMCwgezB4NDgsMHgxMSwweDgwLDB4MDAsMHg4NiwweDAwLDB4MmQsMHg4MCwweDA4LDB4MjAsMHgwMiwweDE0LDB4MDgsMHg4NywweDAwLDB4MjkgfSwKLSAgMTYsIDB4Yjc5MCwgMCwgezB4NDAsMHgwOCwweDcwLDB4MDIsMHhkYywweDAwLDB4YjcsMHgwMCwweDIxLDB4YzAsMHgwYiwweDYwLDB4MDIsMHg1YywweGEwLDB4OTcgfSwKLSAgMTYsIDB4YjdhMCwgMCwgezB4MjAsMHgyZCwweDQ4LDB4MGIsMHg1MCwweDAyLDB4ZGMsMHgxMCwweDhkLDB4MDAsMHgyMSwweGM4LDB4MGIsMHg3MCwweDAyLDB4ZDIgfSwKLSAgMTYsIDB4YjdiMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZiwweDAwLDB4ODUsMHg4MSwweDJjLDB4NjAgfSwKLSAgMTYsIDB4YjdjMCwgMCwgezB4MTgsMHg1OCwweDAyLDB4ZGUsMHgyMCwweGI3LDB4ODIsMHgyOCwweDYwLDB4NWEsMHg3OCwweDUyLDB4ZGUsMHgxMCwweGJmLDB4ODAgfSwKLSAgMTYsIDB4YjdkMCwgMCwgezB4MjEsMHhlMCwweDRiLDB4NzgsMHgwNiwweGRlLDB4NDAsMHhiNywweGEwLDB4MmQsMHg2OSwweDliLDB4NzgsMHgxMiwweGNlLDB4MDAgfSwKLSAgMTYsIDB4YjdlMCwgMCwgezB4ODcsMHg4MCwweGUxLDB4ZTQsMHgwYiwweDc4LDB4MDIsMHhjMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjdmMCwgMCwgezB4NDgsMHgxNCwweGVlLDB4MDAsMHg4MywweDAwLDB4MmMsMHhjMiwweDA4LDB4MzYsMHgwMiwweDhjLDB4MDgsMHg4MywweGYwLDB4NjggfSwKLSAgMTYsIDB4YjgwMCwgMCwgezB4NDAsMHgwYSwweDNlLDB4MDIsMHhjZCwweDQwLDB4YjMsMHgwMCwweDIwLDB4ZTAsMHgwYiwweDMyLDB4MDYsMHg0YywweDAwLDB4OWIgfSwKLSAgMTYsIDB4YjgxMCwgMCwgezB4MDAsMHgwYywweDQwLDB4MGIsMHgzMCwweDAyLDB4Y2QsMHg4MCwweDgzLDB4MDgsMHgyMCwweGMwLDB4MGIsMHhiMSwweDAyLDB4ZGEgfSwKLSAgMTYsIDB4YjgyMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhiOCwweDAwLDB4Y2UsMHgwOCwweDNmLDB4YjAgfSwKLSAgMTYsIDB4YjgzMCwgMCwgezB4MGMsMHhlNCwweDIzLDB4ZGEsMHgwMiwweGRlLDB4NDAsMHhiYiwweGIyLDB4MGUsMHhlMiwweDQzLDB4ZmEsMHgwMCwweGZlLDB4MDAgfSwKLSAgMTYsIDB4Yjg0MCwgMCwgezB4MzMsMHg5MCwweDBiLDB4ZTAsMHgwMywweGU4LDB4MDAsMHhmYSwweDAwLDB4M2UsMHg4MSwweDBiLDB4ZTAsMHgxMywweGY5LDB4MDggfSwKLSAgMTYsIDB4Yjg1MCwgMCwgezB4Y2UsMHg0MCwweDMyLDB4ODAsMHgwZiwweGE4LDB4MDMsMHhmYSwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Yjg2MCwgMCwgezB4NDgsMHgwMCwweGUwLDB4MjQsMHg5OCwweDA4LDB4M2MsMHgwNCwweDBmLDB4MDAsMHgwYiwweDYwLDB4MDAsMHhmOCwweDQwLDB4MmUgfSwKLSAgMTYsIDB4Yjg3MCwgMCwgezB4MDMsMHgwZCwweDgwLDB4MDMsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDYsMHgwYiwweDgwLDB4MDMsMHhlMCwweDAwLDB4ZDggfSwKLSAgMTYsIDB4Yjg4MCwgMCwgezB4MDAsMHgzYywweDAwLDB4MDMsMHg4YywweDIzLDB4ZTEsMHgwMCwweGY4LDB4MDAsMHg3ZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZDIgfSwKLSAgMTYsIDB4Yjg5MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDAyLDB4YzksMHgwMCwweDNlLDB4NDAgfSwKLSAgMTYsIDB4YjhhMCwgMCwgezB4OGMsMHg5MCwweDAzLDB4MjUsMHgwMCwweGU5LDB4ODAsMHgzMiwweDQ0LDB4MGYsMHg5NCwweDAyLDB4ZTQsMHgyMCwweGY5LDB4MDAgfSwKLSAgMTYsIDB4YjhiMCwgMCwgezB4MzIsMHg3MCwweDBmLDB4OWEsMHg0MywweGU0LDB4MDAsMHhmOSwweDAwLDB4MzIsMHg0MCwweDBjLDB4MTAsMHgzMywweDI0LDB4MTAgfSwKLSAgMTYsIDB4YjhjMCwgMCwgezB4ZjksMHgwMSwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHgwMiwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjhkMCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDAsMHg4OSwweDgyLDB4MmUsMHg0MCwweDI4LDB4OTAsMHgwMiwweDI0LDB4ODIsMHg4MSwweGMwLDB4YTIgfSwKLSAgMTYsIDB4YjhlMCwgMCwgezB4NzAsMHgwYiwweDljLDB4MDIsMHhlNCwweDAwLDB4MzEsMHg0MiwweGEyLDB4NjAsMHgwYiwweDk0LDB4ODIsMHhlNCwweDAwLDB4YjkgfSwKLSAgMTYsIDB4YjhmMCwgMCwgezB4MDAsMHgyYSwweDQwLDB4MDgsMHg5NCwweGEyLDB4MjUsMHgwMCwweGI5LDB4MDAsMHgyZSwweDQwLDB4MGIsMHg5MCwweDBhLDB4MjAgfSwKLSAgMTYsIDB4YjkwMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDAwLDB4ODksMHg2NCwweDJlLDB4NDAgfSwKLSAgMTYsIDB4YjkxMCwgMCwgezB4MDgsMHg5MCwweDQyLDB4YTQsMHgwMCwweDg5LDB4NjAsMHgyMiwweDQyLDB4MGIsMHg5MCwweDAyLDB4ZTYsMHgwMCwweGI5LDB4ODAgfSwKLSAgMTYsIDB4YjkyMCwgMCwgezB4MjIsMHg0MCwweDBiLDB4OTAsMHgwMiwweGE0LDB4MDQsMHhiOSwweDAwLDB4MjIsMHg0MCwweDI4LDB4OTAsMHgwMiwweDI0LDB4MDQgfSwKLSAgMTYsIDB4YjkzMCwgMCwgezB4YjksMHgwMCwweDJlLDB4NDAsMHgwYiwweDkwLDB4MDIsMHgwZSwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Yjk0MCwgMCwgezB4MDgsMHgwNCwweDA1LDB4ODAsMHg4MSwweDAwLDB4MmMsMHhjMSwweDQ4LDB4MTAsMHgwMiwweGE0LDB4MDIsMHg4MSwweDAwLDB4MjAgfSwKLSAgMTYsIDB4Yjk1MCwgMCwgezB4NDAsMHg4MywweDM0LDB4MDIsMHhjNCwweDAwLDB4YmIsMHgwMCwweDIwLDB4ZDAsMHgwYiwweDE0LDB4MDIsMHhjNCwweDgwLDB4YjEgfSwKLSAgMTYsIDB4Yjk2MCwgMCwgezB4MjAsMHhhMCwweDY4LDB4MTgsMHgxNCwweDFhLDB4MGQsMHgwMCwweGIxLDB4NDAsMHgyYywweDUwLDB4MGIsMHgxMCwweDAyLDB4MGEgfSwKLSAgMTYsIDB4Yjk3MCwgMCwgezB4MDUsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDAwLDB4YzgsMHgwMCwweDNlLDB4MDAgfSwKLSAgMTYsIDB4Yjk4MCwgMCwgezB4OGMsMHg4MCwweDBiLDB4YTAsMHgwNCwweGU4LDB4MDAsMHgzMiwweDAwLDB4MDcsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGY4LDB4MDAgfSwKLSAgMTYsIDB4Yjk5MCwgMCwgezB4MzIsMHgwMCwweDFmLDB4ODAsMHgwMywweGExLDB4NDAsMHhmOCwweDUwLDB4MzIsMHgwMCwweDBjLDB4ODAsMHgwMywweDIwLDB4MDAgfSwKLSAgMTYsIDB4YjlhMCwgMCwgezB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjliMCwgMCwgezB4OTgsMHgxZCwweGY0LDB4NDYsMHhmZCwweDQwLDB4M2YsMHg1MCwweDIzLDB4ZDQsMHgxMywweDc0LDB4MDQsMHhmNSwweDAyLDB4M2YgfSwKLSAgMTYsIDB4YjljMCwgMCwgezB4NTAsMHgwZiwweGQ0LDB4MDMsMHhmZCwweDAwLDB4YmQsMHgwMCwweDJmLDB4NTAsMHgwZiwweGQwLDB4MDMsMHhlNCwweDQwLDB4ZjkgfSwKLSAgMTYsIDB4YjlkMCwgMCwgezB4MTAsMHgzZiwweDQ0LDB4MGYsMHhkNCwweDAzLDB4ZjUsMHgwOCwweGZkLDB4MDYsMHgzZSwweDUwLDB4MGYsMHhkMiwweDgzLDB4ZTYgfSwKLSAgMTYsIDB4YjllMCwgMCwgezB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhlNiwweDQwLDB4ZWQsMHgwNCwweDNlLDB4NDggfSwKLSAgMTYsIDB4YjlmMCwgMCwgezB4MGMsMHhiMiwweDgzLDB4ZjQsMHgwMCwweGMxLDB4MDAsMHgzMiwweDQwLDB4OGMsMHhkMCwweDAzLDB4MzQsMHgwMCwweGZkLDB4MDAgfSwKLSAgMTYsIDB4YmEwMCwgMCwgezB4MzcsMHg0MCwweDBmLDB4ZDAsMHgwMywweGU2LDB4MjAsMHhmOSwweDg4LDB4M2QsMHg2MiwweDBjLDB4ZDgsMHgwMywweGZlLDB4MjQgfSwKLSAgMTYsIDB4YmExMCwgMCwgezB4YzEsMHgwMCwweDNlLDB4NzgsMHgwZiwweGQwLDB4MDMsMHgwNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmEyMCwgMCwgezB4MzgsMHgxMCwweGUxLDB4MDAsMHg4OCwweDQwLDB4MmUsMHgxMCwweDA4LDB4YzQsMHgyMywweGEwLDB4MDgsMHg4OCwweDA2LDB4MmEgfSwKLSAgMTYsIDB4YmEzMCwgMCwgezB4MTQsMHgwOCwweDgwLDB4MDMsMHg2MCwweDA0LDB4YjgsMHgwMCwweDIyLDB4MDAsMHgwYiwweDgwLDB4MDIsMHhlMiwweDAwLDB4YjggfSwKLSAgMTYsIDB4YmE0MCwgMCwgezB4ODAsMHgyZSwweDAwLDB4MDgsMHg4YywweDAyLDB4ZTMsMHg4MCwweDg4LDB4MDIsMHgyZSwweDM4LDB4MGIsMHg4OCwweDAyLDB4MGUgfSwKLSAgMTYsIDB4YmE1MCwgMCwgezB4MDYsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNSwweDgwLDB4YTEsMHhjMCwweDJkLDB4NzAgfSwKLSAgMTYsIDB4YmE2MCwgMCwgezB4MDgsMHg1MCwweDQyLDB4YzQsMHgwMCwweGE5LDB4MDAsMHgyMCwweGUwLDB4MmEsMHgxMCwweDBhLDB4MDQsMHgxMCwweGIxLDB4MDAgfSwKLSAgMTYsIDB4YmE3MCwgMCwgezB4MjQsMHg0MCwweDRiLDB4MTAsMHgwNiwweGM0LDB4MjAsMHhiMSwweDA4LDB4NmUsMHg0MCwweDBiLDB4MTYsMHg4MiwweGM0LDB4MjAgfSwKLSAgMTYsIDB4YmE4MCwgMCwgezB4ODEsMHgwMCwweDJjLDB4NTAsMHgwYiwweDkyLDB4ODIsMHg1MiwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmE5MCwgMCwgezB4MTgsMHgxMSwweGE0LDB4MDAsMHhhOSwweDAxLDB4MmUsMHg0MCwweDI4LDB4ZDAsMHgyMCwweGE0LDB4MDQsMHhhOSwweDAwLDB4MmEgfSwKLSAgMTYsIDB4YmFhMCwgMCwgezB4NDAsMHgxYSwweGIwLDB4MTIsMHgyNCwweDAwLDB4YjksMHgwYywweDIyLDB4NDIsMHgwYiwweDk0LDB4MDIsMHhlNCwweDAwLDB4YjkgfSwKLSAgMTYsIDB4YmFiMCwgMCwgezB4MDAsMHg2ZSwweDQwLDB4MGIsMHg5NiwweDAyLDB4ZTQsMHgxMSwweDg5LDB4MjAsMHg2ZSwweDQwLDB4MGIsMHg5MCwweDAyLDB4NDYgfSwKLSAgMTYsIDB4YmFjMCwgMCwgezB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNCwweGMwLDB4YTksMHhjMCwweDNlLDB4NTAgfSwKLSAgMTYsIDB4YmFkMCwgMCwgezB4MDgsMHg5YywweDgzLDB4ZTQsMHgwMiwweGU5LDB4MDAsMHhiMiwweDQwLDB4MmEsMHg5MiwweDEyLDB4MjYsMHg0MCwweGY5LDB4NDAgfSwKLSAgMTYsIDB4YmFlMCwgMCwgezB4MzYsMHg3MCwweDBmLDB4OTQsMHgwMywweGU0LDB4MDQsMHhmOSwweDAxLDB4M2MsMHg0MCwweDBmLDB4OTgsMHgwMywweGU2LDB4MDIgfSwKLSAgMTYsIDB4YmFmMCwgMCwgezB4YzksMHgyMiwweDNlLDB4NDAsMHgwZiwweDEwLDB4MDIsMHg2OCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmIwMCwgMCwgezB4MjgsMHgwMSwweDg2LDB4MDQsMHhkOSwweDQwLDB4MWMsMHg0MCwweDBmLDB4OTIsMHgyMywweGE0LDB4YjAsMHhkYiwweDA0LDB4M2MgfSwKLSAgMTYsIDB4YmIxMCwgMCwgezB4YzAsMHgwZCwweDlhLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDQsMHgwZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjkgfSwKLSAgMTYsIDB4YmIyMCwgMCwgezB4MDAsMHgzZSwweDQyLDB4MmMsMHg5MCwweDIzLDB4ZTQsMHg4MCwweGY5LDB4MDAsMHgzZSwweDQwLDB4OGYsMHg5MiwweDAzLDB4OTIgfSwKLSAgMTYsIDB4YmIzMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMSwweDAwLDB4YzgsMHgyMCwweDMyLDB4MDAgfSwKLSAgMTYsIDB4YmI0MCwgMCwgezB4NGMsMHhjMCwweDhiLDB4MjAsMHgwMiwweGM4LDB4MzEsMHgzMiwweDIwLDB4MmQsMHg4NCwweDAzLDB4ZTEsMHgwNCwweGY4LDB4NDggfSwKLSAgMTYsIDB4YmI1MCwgMCwgezB4YmEsMHgwMCwweDBmLDB4ODksMHgwMywweGUwLDB4MDAsMHhjOCwweDAwLDB4MzIsMHgwMCwweDBkLDB4ODEsMHgxMywweDIwLDB4MTAgfSwKLSAgMTYsIDB4YmI2MCwgMCwgezB4ZjgsMHgwMCwweDNhLDB4MDAsMHgwZiwweDgxLDB4MjMsMHgwMiwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmI3MCwgMCwgezB4MjgsMHgwNSwweDI4LDB4MDAsMHgwZSwweDQwLDB4MjIsMHg4MCwweDI4LDB4YTQsMHgwMiwweDE5LDB4MDAsMHg1MiwweDgwLDB4YTIgfSwKLSAgMTYsIDB4YmI4MCwgMCwgezB4ODAsMHg0ZCwweGVkLDB4ODIsMHhlOCwweDAwLDB4YjYsMHg0MiwweDIzLDB4YmQsMHgwYiwweGU4LDB4MDIsMHhlOCwweDA0LDB4ZGEgfSwKLSAgMTYsIDB4YmI5MCwgMCwgezB4MDAsMHgzNywweDgwLDB4MDgsMHhlMCwweDAyLDB4M2EsMHgyMCwweGJhLDB4MDAsMHgyMiwweDgwLDB4MGIsMHhhOCwweDBhLDB4MGEgfSwKLSAgMTYsIDB4YmJhMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAwLDB4ODMsMHg4MCwweDYwLDB4YzAgfSwKLSAgMTYsIDB4YmJiMCwgMCwgezB4MDgsMHgyOSwweDAyLDB4MGQsMHgwMCwweDkyLDB4NDAsMHgyNCwweGMwLDB4MDgsMHhiNCwweDAyLDB4Y2MsMHgwMCwweGIzLDB4MDAgfSwKLSAgMTYsIDB4YmJjMCwgMCwgezB4NjgsMHhlMCwweDFiLDB4MzAsMHgwMiwweGNjLDB4MDAsMHg5MywweDAxLDB4MjQsMHhjMCwweDY5LDB4MzgsMHgwMiwweDZjLDB4MDAgfSwKLSAgMTYsIDB4YmJkMCwgMCwgezB4YjMsMHgwMCwweDJjLDB4YzAsMHgwYiwweDMwLDB4MDIsMHgwYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmJlMCwgMCwgezB4YTAsMHgwMSwweDFjLDB4NDAsMHg4MywweGMwLDB4MjAsMHg0MCwweDA4LDB4MjgsMHgwNiwweDljLDB4MTgsMHg5YywweDAyLDB4MjQgfSwKLSAgMTYsIDB4YmJmMCwgMCwgezB4YzAsMHgwOSwweDcwLDB4MDIsMHhkNCwweDAwLDB4YjcsMHgwMCwweDIxLDB4YzAsMHgwYiwweDcwLDB4MDIsMHhjZSwweDQwLDB4OTcgfSwKLSAgMTYsIDB4YmMwMCwgMCwgezB4YjAsMHgyNSwweDQwLDB4MDgsMHg3OCwweDFhLDB4NTgsMHgwMCwweGJmLDB4YTIsMHg2NSwweGM4LDB4MGIsMHg3OCwweDAyLDB4MjAgfSwKLSAgMTYsIDB4YmMxMCwgMCwgezB4MDQsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgwZSwweDAyLDB4ODcsMHg4MCwweGIxLDB4YTAgfSwKLSAgMTYsIDB4YmMyMCwgMCwgezB4MGMsMHg2OCwweDAzLDB4MWEsMHgwOCwweGQ2LDB4OTIsMHgzNSwweGU0LDB4MjgsMHg3OCwweDQyLDB4ZDYsMHgxMCwweGY1LDB4ODAgfSwKLSAgMTYsIDB4YmMzMCwgMCwgezB4MzksMHhhMCwweDBmLDB4NzgsMHgyMywweGRlLDB4MzAsMHhkMywweGEyLDB4MzUsMHhhMCwweDRkLDB4ZTgsMHgwMywweDVlLDB4MDAgfSwKLSAgMTYsIDB4YmM0MCwgMCwgezB4ZjcsMHhkMCwweDNkLDB4ZjgsMHgwZiwweGYwLDB4MDMsMHgyMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmM1MCwgMCwgezB4MDgsMHgxZCwweGFjLDB4MDAsMHhmYiwweDA0LDB4M2UsMHgwMCwweDBiLDB4YTAsMHgwMywweDQ4LDB4MDQsMHhmYSwweDQxLDB4M2EgfSwKLSAgMTYsIDB4YmM2MCwgMCwgezB4NTAsMHgwZiwweGIwLDB4MDMsMHhlNCwweDAwLDB4ZjEsMHgwMCwweDNlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhlZCwweDg4LDB4ZmIgfSwKLSAgMTYsIDB4YmM3MCwgMCwgezB4NGQsMHgzZSwweDAwLDB4MGYsMHhmMCwweDAzLDB4YmMsMHgwOCwweGZiLDB4MjAsMHgzYSwweGMwLDB4MGYsMHhiMCwweDAzLDB4YzIgfSwKLSAgMTYsIDB4YmM4MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmZSwweDAwLDB4ZGMsMHg4MCwweGIzLDB4ZTAgfSwKLSAgMTYsIDB4YmM5MCwgMCwgezB4MGMsMHhkOCwweDAzLDB4Y2UsMHgwMCwweGM4LDB4YTAsMHgzMSwweGEwLDB4OGQsMHhlOSwweDAzLDB4YmUsMHgwMCwweGIyLDB4ODAgfSwKLSAgMTYsIDB4YmNhMCwgMCwgezB4MzMsMHhlMCwweDBjLDB4ZTgsMHg0MywweDdlLDB4MDQsMHgwZiwweDgxLDB4MzEsMHhlNCwweDBjLDB4ZDgsMHgwMywweGY2LDB4MDAgfSwKLSAgMTYsIDB4YmNiMCwgMCwgezB4ZmYsMHg4MCwweDNmLDB4ZTAsMHgwZiwweGY4LDB4MDMsMHgwMCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmNjMCwgMCwgezB4YTgsMHgxMSwweDljLDB4MDAsMHhiNCwweDQwLDB4MzUsMHg0MCwweDA4LDB4NTAsMHg4MiwweGRlLDB4ODAsMHhkNCwweDkwLDB4MjEgfSwKLSAgMTYsIDB4YmNkMCwgMCwgezB4ZTAsMHgwZCwweDUxLDB4MDIsMHhkNCwweDQwLDB4YjYsMHhiMCwweDJiLDB4OTAsMHgwZSwweGU1LDB4MDIsMHg5YywweDQwLDB4ZDcgfSwKLSAgMTYsIDB4YmNlMCwgMCwgezB4MjIsMHgxOSwweDVjLDB4MGQsMHg3MCwweDAyLDB4ZDgsMHgwMCwweGI3LDB4MjAsMHgyZCwweGMwLDB4MGIsMHhmMCwweDAzLDB4NmEgfSwKLSAgMTYsIDB4YmNmMCwgMCwgezB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5YywweDAwLDB4OTMsMHgxMCwweDIxLDB4ODAgfSwKLSAgMTYsIDB4YmQwMCwgMCwgezB4MDgsMHg1OCwweDAyLDB4ZGMsMHhjMCwweDk0LDB4MDAsMHgyMywweGQwLDB4MDgsMHg3MCwweGEwLDB4ZDQsMHgyMCwweGI1LDB4MDIgfSwKLSAgMTYsIDB4YmQxMCwgMCwgezB4MjksMHg4MCwweDA5LDB4NjAsMHg4MiwweDBjLDB4MDAsMHg4NywweDAyLDB4MjUsMHhjMCwweDE5LDB4NDAsMHgwMiwweGQ0LDB4MDAgfSwKLSAgMTYsIDB4YmQyMCwgMCwgezB4YjcsMHgwMCwweDZkLDB4YzAsMHgwYiwweDcwLDB4MDIsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmQzMCwgMCwgezB4MjAsMHgxNCwweGVjLDB4MDAsMHhiMywweGMwLDB4MjAsMHgwMSwweDQ4LDB4MTgsMHgwMiwweGNjLDB4MDIsMHg4MSwweDQ0LDB4YTAgfSwKLSAgMTYsIDB4YmQ0MCwgMCwgezB4YzAsMHg4OSwweDM4LDB4MDIsMHhjNywweDgwLDB4YjEsMHgwMCwweDJjLDB4MDksMHg0YSwweDAwLDB4NjIsMHhhYywweDA5LDB4OTMgfSwKLSAgMTYsIDB4YmQ1MCwgMCwgezB4MDEsMHgyOCwweDQwLDB4MTksMHgzMCwweDAyLDB4Y2QsMHgxMCwweGIzLDB4OTAsMHgyYywweGMwLDB4MGIsMHgzMCwweDAyLDB4YzggfSwKLSAgMTYsIDB4YmQ2MCwgMCwgezB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhiYywweDIwLDB4ZGIsMHg2MiwweDIyLDB4ZTAgfSwKLSAgMTYsIDB4YmQ3MCwgMCwgezB4NmMsMHhhMCwweDAzLDB4ZTQsMHgwMCwweDk4LDB4MDAsMHgzMiwweGMwLDB4ZWMsMHg5OCwweDIzLDB4YWUsMHgwOCwweGZiLDB4MDggfSwKLSAgMTYsIDB4YmQ4MCwgMCwgezB4M2EsMHg3OCwweDA5LDB4OTAsMHgwMywweDdjLDB4MTAsMHhjZiwweDAwLDB4MjYsMHg0MCwweDBjLDB4YjAsMHgwMywweGVjLDB4MDAgfSwKLSAgMTYsIDB4YmQ5MCwgMCwgezB4ZmYsMHg4MCwweDNmLDB4YzAsMHgwZiwweDkwLDB4MDMsMHgyYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmRhMCwgMCwgezB4ODAsMHgwMCwweGVjLDB4MjAsMHhmYiwweDQ4LDB4M2MsMHg2MSwweDBmLDB4YTAsMHg0MywweGVkLDB4MDAsMHhmOCwweDI0LDB4M2UgfSwKLSAgMTYsIDB4YmRiMCwgMCwgezB4NTAsMHgwZiwweDkwLDB4ODMsMHhlNCwweDAwLDB4ZmIsMHgwMCwweDNhLDB4NTAsMHgwZiwweDgwLDB4NDMsMHhlYywweDA4LDB4ZmIgfSwKLSAgMTYsIDB4YmRjMCwgMCwgezB4MDAsMHgzZSwweDQwLDB4MGYsMHg0MCwweDAzLDB4ZjAsMHgwMCwweGZiLDB4MDAsMHgzZSwweGMxLDB4MGYsMHg5MCwweDAzLDB4NjAgfSwKLSAgMTYsIDB4YmRkMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmYywweDAwLDB4ZGQsMHhhMCwweDMyLDB4ODAgfSwKLSAgMTYsIDB4YmRlMCwgMCwgezB4MGMsMHhlMCwweDAxLDB4ZmMsMHgwMCwweGRjLDB4OTEsMHgzOSwweGMwLDB4M2MsMHg0MCwweDAzLDB4MzQsMHgwMCwweGZmLDB4ODAgfSwKLSAgMTYsIDB4YmRmMCwgMCwgezB4M2YsMHgwMCwweDBmLDB4ZDAsMHgwNywweGZjLDB4MDAsMHhjYiwweDAwLDB4M2QsMHg0MCwweDBjLDB4ZTAsMHgwMywweDM4LDB4MjAgfSwKLSAgMTYsIDB4YmUwMCwgMCwgezB4Y2YsMHgwMiwweDNkLDB4YzAsMHgwYywweGQwLDB4MDMsMHgwOCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmUxMCwgMCwgezB4ODEsMHgwNCwweDZjLDB4MDAsMHgwMSwweDQwLDB4MjIsMHgwMCwweDI4LDB4YTAsMHgwMiwweGNlLDB4ODYsMHg4MywweDY0LDB4MjIgfSwKLSAgMTYsIDB4YmUyMCwgMCwgezB4ZjQsMHgwOCwweDhjLDB4MGYsMHg2NCwweDAwLDB4YmIsMHgxMCwweDJlLDB4NjAsMHgwYiwweDljLDB4MDMsMHhhYywweDAxLDB4ZGIgfSwKLSAgMTYsIDB4YmUzMCwgMCwgezB4MDAsMHgzZSwweDYwLDB4MDgsMHg4ZiwweDAyLDB4MjMsMHg0MCwweDhiLDB4MDAsMHgzYSwweGMwLDB4MGQsMHgxMCwweDQzLDB4NjggfSwKLSAgMTYsIDB4YmU0MCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAwLDB4OTksMHgwMCwweGEyLDB4YzAgfSwKLSAgMTYsIDB4YmU1MCwgMCwgezB4MDgsMHg5MCwweDAyLDB4YTYsMHgwNywweDk4LDB4MDAsMHgwMiwweGMyLDB4NDgsMHg4OCwweDAyLDB4MmMsMHgwMCwweGJhLDB4MDIgfSwKLSAgMTYsIDB4YmU2MCwgMCwgezB4NmUsMHg2MCwweDBhLDB4OTgsMHgwMiwweGVjLDB4MDAsMHg4YiwweDAxLDB4MmUsMHg2MCwweDA4LDB4OTAsMHgwMiwweDA1LDB4MDAgfSwKLSAgMTYsIDB4YmU3MCwgMCwgezB4OGIsMHgwMCwweDJlLDB4YzAsMHgwOCwweGIxLDB4MDIsMHgyMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmU4MCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MTAsMHg4MSwweDAwLDB4MjAsMHg0MCwweDI4LDB4MTAsMHgyNiwweGNjLDB4ODAsMHg4MCwweDIwLDB4YTAgfSwKLSAgMTYsIDB4YmU5MCwgMCwgezB4Y2MsMHgxOCwweDE0LDB4NDIsMHgwNCwweDAwLDB4YjIsMHgyMCwweDZjLDB4NDAsMHgwYiwweDAwLDB4MDIsMHg4YywweDAwLDB4ODMgfSwKLSAgMTYsIDB4YmVhMCwgMCwgezB4MDAsMHgyOCwweDQwLDB4MjgsMHgwMCwweDAyLDB4MDAsMHgwMCwweDgzLDB4MDAsMHgyOCwweGMwLDB4MDksMHhiMCwweDAyLDB4NDIgfSwKLSAgMTYsIDB4YmViMCwgMCwgezB4MDUsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2YywweDAwLDB4ZDksMHgwMCwweDIyLDB4ODAgfSwKLSAgMTYsIDB4YmVjMCwgMCwgezB4MGMsMHg5MCwweDAzLDB4YWMsMHg4MCwweGRhLDB4MjksMHgyYSwweGQyLDB4MjgsMHg4MCwweDAyLDB4MjQsMHgwMCwweGZiLDB4MjAgfSwKLSAgMTYsIDB4YmVkMCwgMCwgezB4M2UsMHgwMCwweDBmLDB4OTAsMHgwMiwweGZjLDB4MDAsMHg4ZiwweDAwLDB4MmUsMHg0MCwweDBjLDB4ODAsMHgwYiwweDIwLDB4MDIgfSwKLSAgMTYsIDB4YmVlMCwgMCwgezB4Y2YsMHgwMCwweDNlLDB4YzAsMHgwYywweGIwLDB4MDMsMHgwMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmVmMCwgMCwgezB4YTAsMHgxZCwweGZjLDB4MDAsMHhmZCwweDAwLDB4M2YsMHgwMCwweDBmLDB4ZDAsMHg2MywweGZjLDB4NDksMHhmNSwweDAwLDB4M2UgfSwKLSAgMTYsIDB4YmYwMCwgMCwgezB4YzAsMHgwYiwweGMwLDB4MDEsMHhmNCwweDAwLDB4N2YsMHg0MCwweDNmLDB4NDAsMHgxZiwweGQwLDB4MDMsMHhiYywweDAwLDB4ZmYgfSwKLSAgMTYsIDB4YmYxMCwgMCwgezB4MDAsMHgzZiwweDQwLDB4MGYsMHhjMCwweDAzLDB4ZjAsMHgwMCwweGZmLDB4MDAsMHgzYiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZTggfSwKLSAgMTYsIDB4YmYyMCwgMCwgezB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDEsMHhmMiwweDQwLDB4ZWMsMHhhMCwweDNmLDB4ZTAgfSwKLSAgMTYsIDB4YmYzMCwgMCwgezB4MGQsMHg0OCwweDAzLDB4N2QsMHg4MCwweGY0LDB4ODAsMHgzMywweDZjLDB4MGUsMHhjOCwweDAzLDB4MzIsMHgwMCwweGRkLDB4OTAgfSwKLSAgMTYsIDB4YmY0MCwgMCwgezB4M2IsMHhhMCwweDJkLDB4ZjAsMHgwMywweGZjLDB4YzAsMHhmZiwweDAwLDB4M2IsMHhlMCwweDhlLDB4ZjAsMHgwMywweDNjLDB4MDQgfSwKLSAgMTYsIDB4YmY1MCwgMCwgezB4ZWMsMHg2MCwweDMxLDB4MDAsMHgwYywweGYwLDB4MDMsMHhiMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmY2MCwgMCwgezB4ODAsMHgxMCwweGVjLDB4MDAsMHhkOSwweGMxLDB4MmUsMHhlMSwweDBkLDB4ODgsMHgwMiwweDNjLDB4ODAsMHhmOCwweDgwLDB4MzYgfSwKLSAgMTYsIDB4YmY3MCwgMCwgezB4N2QsMHgxOCwweGEwLDB4MDIsMHgyOCwweGIwLDB4ZWEsMHgyMCwweDIyLDB4MjAsMHgwOCwweDc3LDB4MDIsMHhmZCwweDUwLDB4YmIgfSwKLSAgMTYsIDB4YmY4MCwgMCwgezB4ODAsMHgyMiwweDQwLDB4MGIsMHhmNCwweDQyLDB4M2QsMHg4MCwweDg4LDB4MzEsMHgyMiwweDEyLDB4MDgsMHhmNiwweDAyLDB4ZTAgfSwKLSAgMTYsIDB4YmY5MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDAwLDB4ODAsMHgxMSwweDJlLDB4YzEgfSwKLSAgMTYsIDB4YmZhMCwgMCwgezB4MDgsMHgwMCwweDAyLDB4NGQsMHg4MCwweGI4LDB4MDAsMHgyMCwweDAwLDB4MGEsMHgwMiwweDgyLDB4MDAsMHgwMCwweDk5LDB4MjAgfSwKLSAgMTYsIDB4YmZiMCwgMCwgezB4MjIsMHhjMCwweDA5LDB4MzAsMHg4MiwweGNjLDB4MDAsMHhiMywweDAwLDB4MjgsMHhjYSwweDBiLDB4MzQsMHg4MiwweDBkLDB4MjAgfSwKLSAgMTYsIDB4YmZjMCwgMCwgezB4ODAsMHgwMCwweGEwLDB4OGMsMHgwOCwweDM0LDB4ODIsMHhhMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmZkMCwgMCwgezB4YzAsMHgxNSwweGFjLDB4NDAsMHg5OSwweDgwLDB4MmUsMHhjMiwweDA5LDB4OTQsMHgwMiwweDJjLDB4MDAsMHhhOSwweDgwLDB4MjYgfSwKLSAgMTYsIDB4YmZlMCwgMCwgezB4NjAsMHgwOCwweDM4LDB4NDIsMHgyMiwweDIwLDB4YmEsMHg0MSwweDYyLDB4NDYsMHgzYiwweGIwLDB4MDIsMHhlYywweDAxLDB4YmIgfSwKLSAgMTYsIDB4YmZmMCwgMCwgezB4ODAsMHgyMiwweDQwLDB4MGIsMHhiMCwweDQ2LDB4MGMsMHgxOCwweDg4LDB4YzAsMHgyMiwweDIyLDB4MDgsMHhiMCwweDA2LDB4ZjAgfSwKLSAgMTYsIDB4YzAwMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhjYywweDAwLDB4YzksMHg4MSwweDNjLDB4YzEgfSwKLSAgMTYsIDB4YzAxMCwgMCwgezB4MGMsMHhhOSwweDIzLDB4NmMsMHgwMCwweGIyLDB4ODAsMHgzMiwweDc4LDB4MGEsMHg4YSwweDBiLDB4MjYsMHgwMCwweDk5LDB4MDEgfSwKLSAgMTYsIDB4YzAyMCwgMCwgezB4MzAsMHhlMCwweDBkLDB4YjAsMHgwMywweGVjLDB4MDAsMHhiOSwweDAwLDB4M2EsMHhjMCwweDFlLDB4YjAsMHgwMywweDJjLDB4MDAgfSwKLSAgMTYsIDB4YzAzMCwgMCwgezB4Y2IsMHg4MCwweDMyLDB4NjEsMHgwYywweGIwLDB4MTMsMHg5MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzA0MCwgMCwgezB4ZTAsMHgwMSwweGJjLDB4MTAsMHhkZCwweDAwLDB4M2YsMHhjMiwweDBmLDB4ZTgsMHgwMywweGFjLDB4MDAsMHhmZSwweDAwLDB4M2QgfSwKLSAgMTYsIDB4YzA1MCwgMCwgezB4NDAsMHgwZiwweGMwLDB4NDMsMHhmOCwweDEwLDB4ZWYsMHgxNCwweGI3LDB4ZTAsMHgwYywweGYwLDB4MDMsMHhmYywweDAwLDB4ZjUgfSwKLSAgMTYsIDB4YzA2MCwgMCwgezB4MDIsMHgzZiwweDQ0LDB4NGYsMHhiMCwweDRiLDB4ZmMsMHgwMiwweGQ0LDB4MDQsMHgzZCwweDQwLDB4MmYsMHhmMCwweDAzLDB4ZjggfSwKLSAgMTYsIDB4YzA3MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhYywweDAwLDB4ZjksMHgwOCwweDNlLDB4NjAgfSwKLSAgMTYsIDB4YzA4MCwgMCwgezB4MGQsMHhhMCwweDAzLDB4YWMsMHgwMCwweGU4LDB4NTAsMHgzMiwweDAwLDB4MGMsMHg4NCwweDAzLDB4YTUsMHgwMCwweGU5LDB4MDAgfSwKLSAgMTYsIDB4YzA5MCwgMCwgezB4M2EsMHhkOCwweDBmLDB4YjAsMHgwMywweDJjLDB4MDAsMHhmOSwweDAwLDB4M2EsMHhjMCwweDBmLDB4MzAsMHgwMywweDJjLDB4MDAgfSwKLSAgMTYsIDB4YzBhMCwgMCwgezB4Y2IsMHg0NCwweDNlLDB4ZDQsMHgwZSwweGIwLDB4MDMsMHhkMCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzBiMCwgMCwgezB4YzgsMHgwNSwweDJjLDB4MDgsMHhiOSwweDgwLDB4MmUsMHhjMCwweDBhLDB4MzAsMHg0MiwweDNjLDB4MDAsMHg4OSwweDA0LDB4NzYgfSwKLSAgMTYsIDB4YzBjMCwgMCwgezB4NjAsMHgwOCwweDkwLDB4NjIsMHgyMCwweDAwLDB4ODIsMHgwNCwweDIyLDB4ZDAsMHgwOCwweGYwLDB4NDMsMHg3YywweDAwLDB4YmIgfSwKLSAgMTYsIDB4YzBkMCwgMCwgezB4ODIsMHgyMiwweDQwLDB4MGIsMHhmMCwweDQyLDB4M2MsMHgwMCwweDhhLDB4YzAsMHgyZSwweGMxLDB4MDgsMHhmMCwweDAyLDB4ZjIgfSwKLSAgMTYsIDB4YzBlMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0YywweDEwLDB4YjIsMHhkMCwweDJjLDB4YzAgfSwKLSAgMTYsIDB4YzBmMCwgMCwgezB4MjksMHgxOCwweDAyLDB4OGMsMHgwNCwweGExLDB4MDAsMHgyNCwweDljLDB4MDgsMHgxMCwweDAyLDB4ODAsMHgwMCwweGExLDB4MDEgfSwKLSAgMTYsIDB4YzEwMCwgMCwgezB4MGMsMHhjMSwweDJiLDB4MzAsMHg1MiwweDhjLDB4MDQsMHhiMywweDAxLDB4MjgsMHg0MCwweDRiLDB4MzAsMHgwMiwweDRjLDB4MDAgfSwKLSAgMTYsIDB4YzExMCwgMCwgezB4OTAsMHgyMCwweDJjLDB4MjAsMHgwYSwweDMwLDB4MDIsMHhmOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzEyMCwgMCwgezB4MjAsMHg0MSwweDFlLDB4MDAsMHhiNywweGEyLDB4MjUsMHhlOCwweDhhLDB4NjgsMHgwMiwweDFlLDB4MDAsMHg4NSwweDgwLDB4MjUgfSwKLSAgMTYsIDB4YzEzMCwgMCwgezB4ODAsMHg4OCwweGU4LDB4MDIsMHgzZSwweDAwLDB4ODUsMHg4MCwweDJmLDB4ZTQsMHgyOCwweDc4LDB4MDIsMHhkZSwweDAwLDB4YjcgfSwKLSAgMTYsIDB4YzE0MCwgMCwgezB4ODAsMHg2MSwweGUwLDB4MDMsMHg3OCwweDAyLDB4NWUsMHg4MiwweGI3LDB4ODIsMHgyZCwweGUwLDB4MDgsMHg3OCwweDAyLDB4YzggfSwKLSAgMTYsIDB4YzE1MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwZCwweDAwLDB4ZjAsMHgxMCwweDNjLDB4ODAgfSwKLSAgMTYsIDB4YzE2MCwgMCwgezB4MGQsMHgxMCwweDgzLDB4OGMsMHgwMCwweGUyLDB4NTAsMHgyNiwweDA0LDB4MGMsMHgxMSwweDAzLDB4ODgsMHg0MCwweGViLDB4MDAgfSwKLSAgMTYsIDB4YzE3MCwgMCwgezB4M2MsMHhjNCwweDBmLDB4MzAsMHgwMywweDhjLDB4MDAsMHhmMywweDA4LDB4MzgsMHg0MCwweDA3LDB4MzAsMHgwMywweDZlLDB4NDAgfSwKLSAgMTYsIDB4YzE4MCwgMCwgezB4ZDAsMHgwOCwweDNjLDB4ODgsMHgwZSwweDMwLDB4NDMsMHhkMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzE5MCwgMCwgezB4NDAsMHgxZCwweGJjLDB4MDAsMHhmYiwweDM0LDB4M2MsMHhjOSwweDRlLDB4YjAsMHgyMywweGVkLDB4MjAsMHhmYiwweDA0LDB4M2YgfSwKLSAgMTYsIDB4YzFhMCwgMCwgezB4YzgsMHg4ZiwweDcwLDB4NTMsMHg0YywweDAwLDB4ZWIsMHgxMCwweDMxLDB4YzUsMHgwZSwweGY0LDB4MDMsMHg2ZCwweDAwLDB4ZjMgfSwKLSAgMTYsIDB4YzFiMCwgMCwgezB4MDAsMHgzZiwweGMwLDB4MGYsMHhmNCwweDBiLDB4YmMsMHgwMCwweGNkLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmNCwweDgzLDB4ZDAgfSwKLSAgMTYsIDB4YzFjMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhjZSwweDA0LDB4YzksMHgwNCwweGIwLDB4YzEgfSwKLSAgMTYsIDB4YzFkMCwgMCwgezB4MGYsMHg5OCwweDEzLDB4NmMsMHg5MCwweGNiLDB4MDIsMHgzZSwweGMwLDB4NGYsMHhiMCwweDYzLDB4ZTQsMHgwMCwweGYxLDB4ODAgfSwKLSAgMTYsIDB4YzFlMCwgMCwgezB4MTIsMHhjMCwweDBjLDB4YjUsMHgwMywweGVjLDB4YzAsMHhjZiwweDgzLDB4MzIsMHg0MCwweDBmLDB4YjMsMHgyMywweDJkLDB4YTQgfSwKLSAgMTYsIDB4YzFmMCwgMCwgezB4ZmIsMHgwMCwweDNlLDB4MDAsMHgwZiwweGI0LDB4MDMsMHgyYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzIwMCwgMCwgezB4NDgsMHgxMSwweDljLDB4MDAsMHg4NywweDAwLDB4MjEsMHhjMCwweDJkLDB4NjAsMHgwMiwweDFjLDB4MDAsMHhkNywweDAwLDB4MzkgfSwKLSAgMTYsIDB4YzIxMCwgMCwgezB4YzAsMHgwYiwweDYwLDB4MDIsMHhkYywweDAwLDB4YjUsMHgwMCwweDIxLDB4YzAsMHgyYSwweDcwLDB4MTIsMHhjYywweDgwLDB4ODcgfSwKLSAgMTYsIDB4YzIyMCwgMCwgezB4MDAsMHgzNSwweGMwLDB4MGIsMHg3MiwweDUyLDB4MWMsMHgwMCwweGI3LDB4MDAsMHgyZCwweDQxLDB4MGIsMHgzMiwweDAyLDB4MTIgfSwKLSAgMTYsIDB4YzIzMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHhiZSwweDAwLDB4ODEsMHhjMCwweDIzLDB4MjAgfSwKLSAgMTYsIDB4YzI0MCwgMCwgezB4MGIsMHhkOCwweDAyLDB4NWUsMHgwMCwweDA2LDB4YzAsMHgyZCwweGEwLDB4MGIsMHg3YywweDEyLDB4ZGUsMHgwOCwweGJmLDB4ODAgfSwKLSAgMTYsIDB4YzI1MCwgMCwgezB4YTEsMHhlMiwweDJhLDB4N2EsMHgwMiwweGRlLDB4MDAsMHg5MywweDgwLDB4MjUsMHg2MCwweDBiLDB4NzgsMHgxZSwweDVlLDB4NTAgfSwKLSAgMTYsIDB4YzI2MCwgMCwgezB4YjcsMHg4MCwweDJkLDB4YTAsMHgwYiwweDc4LDB4MDIsMHgzMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzI3MCwgMCwgezB4NDgsMHgxNCwweGNlLDB4MDAsMHg4MywweDYwLDB4MjAsMHhjMCwweDA5LDB4MzEsMHgwMiwweDJjLDB4MDAsMHg5MywweDAwLDB4MjggfSwKLSAgMTYsIDB4YzI4MCwgMCwgezB4YzAsMHgxYiwweGIwLDB4MDYsMHhjYywweDgwLDB4YjMsMHg0OCwweDIwLDB4ZjAsMHgwYSwweDMwLDB4MDIsMHhlYywweDAwLDB4OTMgfSwKLSAgMTYsIDB4YzI5MCwgMCwgezB4ODAsMHgyNCwweGMwLDB4MGIsMHhiMCwweDAyLDB4NGMsMHgxMCwweGIzLDB4YzgsMHgyYywweGQyLDB4OGIsMHgzMCwweDAyLDB4MTIgfSwKLSAgMTYsIDB4YzJhMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhiYiwweDAwLDB4YzYsMHhjNCwweDMxLDB4ODEgfSwKLSAgMTYsIDB4YzJiMCwgMCwgezB4MGYsMHhlMCwweDAzLDB4NjgsMHgwMCwweGNlLDB4ODAsMHgzZiwweGEyLDB4MGIsMHhlOCwweDAzLDB4ZjksMHgwMCwweGZlLDB4NDAgfSwKLSAgMTYsIDB4YzJjMCwgMCwgezB4MzEsMHg4MCwweDZlLDB4YTAsMHgwNywweGU4LDB4MDAsMHhkYSwweDAwLDB4MjYsMHg4MSwweDBmLDB4YTAsMHgwMiwweDY4LDB4MDEgfSwKLSAgMTYsIDB4YzJkMCwgMCwgezB4ZjYsMHhlMCwweDNkLDB4OTIsMHgwZiwweGEwLDB4MDMsMHgzYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzJlMCwgMCwgezB4NDgsMHgwMCwweGUwLDB4YzIsMHhmOCwweDA0LDB4M2UsMHgxNCwweDBmLDB4ODAsMHgxMywweGUwLDB4MTAsMHhmOCwweDAxLDB4M2UgfSwKLSAgMTYsIDB4YzJmMCwgMCwgezB4MTAsMHgwZiwweDgwLDB4NDMsMHhlMCwweDAwLDB4YjgsMHgwMCwweDNlLDB4MDAsMHg0NywweDgwLDB4MDMsMHhlMCwweDAyLDB4ZTggfSwKLSAgMTYsIDB4YzMwMCwgMCwgezB4MTAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDA3LDB4YTAsMHgwMCwweGY4LDB4MDAsMHgyZSwweDAwLDB4MGYsMHg4MCwweDBiLDB4ZDIgfSwKLSAgMTYsIDB4YzMxMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDAwLDB4ZjksMHgwMSwweDMyLDB4NDAgfSwKLSAgMTYsIDB4YzMyMCwgMCwgezB4OGMsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGM5LDB4MDAsMHgzNiwweDQyLDB4MGYsMHg5MCwweDAzLDB4YTQsMHgwMCwweGM5LDB4MDAgfSwKLSAgMTYsIDB4YzMzMCwgMCwgezB4M2UsMHg0MiwweDBkLDB4OTAsMHgwMywweDY0LDB4MDAsMHhkOSwweDAwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwYiwweDY0LDB4MDAgfSwKLSAgMTYsIDB4YzM0MCwgMCwgezB4ZjksMHg5MCwweDMyLDB4NDEsMHgwYywweDkwLDB4MDMsMHgwMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzM1MCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDAsMHhiOSwweGM4LDB4YTIsMHg2MCwweDBhLDB4OTIsMHgwMiwweGU0LDB4MDAsMHg4OSwweDQwLDB4MmUgfSwKLSAgMTYsIDB4YzM2MCwgMCwgezB4NTgsMHgwYiwweDkwLDB4MDIsMHgwNCwweDAwLDB4ZDksMHgwMCwweDJlLDB4NDIsMHgwOCwweDkwLDB4MDIsMHhlNCwweDA0LDB4ODkgfSwKLSAgMTYsIDB4YzM3MCwgMCwgezB4MDAsMHgyZSwweDQwLDB4MGIsMHg5MCwweDA2LDB4MjQsMHgwNCwweGI5LDB4MDgsMHgyYSwweDQwLDB4NDgsMHg5MCwweDEyLDB4MjAgfSwKLSAgMTYsIDB4YzM4MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDAwLDB4YjksMHgxMCwweDIyLDB4NDQgfSwKLSAgMTYsIDB4YzM5MCwgMCwgezB4MDgsMHg5MCwweDAyLDB4ZTQsMHgwMCwweDg5LDB4MDAsMHgyMiwweDQ1LDB4OGIsMHg5MCwweDAyLDB4YTQsMHgwMCwweDg5LDB4MDAgfSwKLSAgMTYsIDB4YzNhMCwgMCwgezB4MmEsMHg0MCwweDA5LDB4OTAsMHgwMiwweGU0LDB4MDAsMHg5OSwweDgwLDB4MmUsMHg0MCwweDBiLDB4OTAsMHgyNiwweDI0LDB4MDAgfSwKLSAgMTYsIDB4YzNiMCwgMCwgezB4YjksMHgwMSwweDIyLDB4NzAsMHgwOSwweDEwLDB4MDIsMHgwNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzNjMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4MDgsMHhiMSwweDIwLDB4MjAsMHg0MCwweDBhLDB4MTAsMHgwMiwweGM0LDB4ODAsMHg4MywweDAwLDB4MmMgfSwKLSAgMTYsIDB4YzNkMCwgMCwgezB4NTAsMHg0YiwweDEwLDB4MDIsMHgyNCwweDAwLDB4OTEsMHgwMCwweDJlLDB4NDAsMHgwOCwweDEyLDB4MDIsMHhjNCwweDgxLDB4ODEgfSwKLSAgMTYsIDB4YzNlMCwgMCwgezB4YTIsMHg2YywweDQwLDB4MGIsMHgxMiwweDAyLDB4MDQsMHg4MCwweGI5LDB4MjAsMHgyYSwweDQ4LDB4MjksMHgxMiwweDAyLDB4MDIgfSwKLSAgMTYsIDB4YzNmMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MSwweDQwLDB4ZjgsMHgwMCwweDMyLDB4ODAgfSwKLSAgMTYsIDB4YzQwMCwgMCwgezB4MDgsMHg4MCwweDAzLDB4ZTEsMHg0MiwweGM4LDB4MDAsMHgzMiwweDAwLDB4MWYsMHg4NSwweDAzLDB4YTEsMHg0MCwweGM4LDB4NTAgfSwKLSAgMTYsIDB4YzQxMCwgMCwgezB4M2EsMHgwMCwweDhkLDB4ODUsMHgwMywweDYxLDB4NDAsMHhkOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4MDUsMHgwMywweDIxLDB4NDAgfSwKLSAgMTYsIDB4YzQyMCwgMCwgezB4ZjgsMHg1MCwweDMyLDB4MTQsMHgwZCwweDg1LDB4MGIsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzQzMCwgMCwgezB4OTgsMHgxZCwweGY0LDB4MDQsMHhmZCwweDEwLDB4M2YsMHg0MCwweDBmLDB4NTAsMHgwMywweGM0LDB4NDAsMHhmZCwweDAwLDB4M2YgfSwKLSAgMTYsIDB4YzQ0MCwgMCwgezB4NTEsMHgwZiwweGQwLDB4MDMsMHhmNCwweDAwLDB4ZmYsMHgwMSwweDNkLDB4NDAsMHgwZiwweDkxLDB4MDMsMHhlNCwweDQwLDB4ZmQgfSwKLSAgMTYsIDB4YzQ1MCwgMCwgezB4MTAsMHgzZiwweDRhLDB4MGYsMHg5MSwweDAzLDB4ZTQsMHg0MCwweGZkLDB4MTAsMHgzZiwweDQ0LDB4MGUsMHg5MSwweDAzLDB4ZTYgfSwKLSAgMTYsIDB4YzQ2MCwgMCwgezB4MDIsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhjNSwweDAwLDB4Y2QsMHgwMCwweDMxLDB4NDAgfSwKLSAgMTYsIDB4YzQ3MCwgMCwgezB4MGQsMHhkMCwweDQzLDB4ZTQsMHgwMCwweGNkLDB4MDAsMHgzMywweDQwLDB4NGYsMHgxMSwweDAyLDB4ZTQsMHgwNCwweGMxLDB4MDAgfSwKLSAgMTYsIDB4YzQ4MCwgMCwgezB4M2QsMHg0MCwweDBjLDB4OTAsMHgwMywweGU0LDB4MDAsMHhlZCwweGE0LDB4MzIsMHg1MCwweDBmLDB4OTAsMHgwMywweGU0LDB4MDAgfSwKLSAgMTYsIDB4YzQ5MCwgMCwgezB4ZmQsMHgwMCwweDNmLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhjNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzRhMCwgMCwgezB4MzgsMHgxMCwweGUyLDB4MDgsMHhkOCwweDAwLDB4MzIsMHgwMSwweDAwLDB4ODAsMHgxMiwweGMwLDB4MDAsMHg0OCwweDAwLDB4MzYgfSwKLSAgMTYsIDB4YzRiMCwgMCwgezB4ODAsMHgwYiwweDhhLDB4MDIsMHhlMCwweDAwLDB4YTgsMHgwMCwweDJlLDB4MDAsMHgwZiwweDgwLDB4MDIsMHhlMCwweDAwLDB4ODggfSwKLSAgMTYsIDB4YzRjMCwgMCwgezB4NTAsMHgzNCwweDI4LDB4MGIsMHg4MCwweDAyLDB4ZTAsMHgwMCwweGI4LDB4MDAsMHgyZSwweDAwLDB4MGIsMHg4MCwweDAyLDB4Y2UgfSwKLSAgMTYsIDB4YzRkMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweDgwLDB4ODEsMHgwMCwweDI2LDB4NDAgfSwKLSAgMTYsIDB4YzRlMCwgMCwgezB4MDksMHgxOCwweDAyLDB4YzQsMHgwOCwweDIxLDB4MDAsMHgyOCwweDQwLDB4OGIsMHgxMCwweDAyLDB4YzQsMHgwMCwweGIxLDB4MDEgfSwKLSAgMTYsIDB4YzRmMCwgMCwgezB4MmUsMHg0MCwweDE4LDB4MTAsMHgwMiwweGM0LDB4MDAsMHhhMSwweDAxLDB4MjAsMHg0OCwweDFiLDB4MTAsMHgwMiwweGM0LDB4MDAgfSwKLSAgMTYsIDB4YzUwMCwgMCwgezB4YjEsMHgwMCwweDZjLDB4NDAsMHgwYiwweDEwLDB4MTIsMHhjMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzUxMCwgMCwgezB4MTgsMHgxMSwweGE0LDB4MDAsMHg5OSwweDgwLDB4YTIsMHg0MiwweDQ4LDB4OTAsMHgwMiwweGU0LDB4MDAsMHhhOSwweDJhLDB4MjYgfSwKLSAgMTYsIDB4YzUyMCwgMCwgezB4NDQsMHgwYiwweDkwLDB4ODIsMHhjNCwweDgxLDB4YjksMHgwMCwweDJlLDB4NDAsMHgwYiwweDkwLDB4NDIsMHhjNCwweDAwLDB4ODkgfSwKLSAgMTYsIDB4YzUzMCwgMCwgezB4MDAsMHgyNiwweDQwLDB4MGIsMHg5MCwweDAyLDB4ZTQsMHgwMCwweGI5LDB4MDEsMHgyZSwweDQxLDB4MGIsMHg5MCwweDAyLDB4YzYgfSwKLSAgMTYsIDB4YzU0MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhjNSwweDIwLDB4YzksMHg4NCwweDMwLDB4NzAgfSwKLSAgMTYsIDB4YzU1MCwgMCwgezB4MGQsMHg5MCwweDEzLDB4ZTQsMHgwMiwweGU5LDB4MDAsMHgzMiwweDcwLDB4MGYsMHg5NCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4NDAgfSwKLSAgMTYsIDB4YzU2MCwgMCwgezB4M2MsMHg0OCwweDBjLDB4OTAsMHgwMywweGU0LDB4MDAsMHhlMSwweDAwLDB4MzIsMHg0MCwweDBmLDB4OTAsMHgwMSwweGU0LDB4MDAgfSwKLSAgMTYsIDB4YzU3MCwgMCwgezB4ZjksMHg5MCwweDNlLDB4NjAsMHgwZiwweDkwLDB4MjYsMHhlOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzU4MCwgMCwgezB4MjgsMHgwMSwweGE1LDB4MDAsMHhmMSwweDA0LDB4M2EsMHg0NCwweDhmLDB4OTAsMHgwMywweGU0LDB4MTAsMHhjOSwweDA0LDB4M2UgfSwKLSAgMTYsIDB4YzU5MCwgMCwgezB4NjAsMHgwZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZTksMHgyMCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNCwweDEwLDB4ZjkgfSwKLSAgMTYsIDB4YzVhMCwgMCwgezB4OTAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4ODAsMHgzZSwweDY0LDB4MGYsMHg5MCwweDA3LDB4Y2EgfSwKLSAgMTYsIDB4YzViMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMSwweDAwLDB4YzgsMHgwNCwweDNhLDB4MDAgfSwKLSAgMTYsIDB4YzVjMCwgMCwgezB4MWUsMHg4MCwweDAzLDB4ODAsMHgwMywweGM4LDB4NDAsMHgyYSwweDA0LDB4MWYsMHg4MCwweDAzLDB4MjAsMHgwMCwweDg4LDB4MDAgfSwKLSAgMTYsIDB4YzVkMCwgMCwgezB4MzIsMHgzMCwweDBjLDB4ODAsMHgwMywweDIwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBjLDB4ODAsMHgwMywweGUwLDB4MDAgfSwKLSAgMTYsIDB4YzVlMCwgMCwgezB4YzgsMHg4MCwweDNlLDB4MjAsMHgwZiwweDgwLDB4MDMsMHhjYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzVmMCwgMCwgezB4MjgsMHgwNSwweDM4LDB4MDAsMHhhZSwweGQwLDB4MzcsMHg4MCwweDA4LDB4ZWMsMHg0NiwweDM4LDB4MDAsMHhkNiwweDA0LDB4MjMgfSwKLSAgMTYsIDB4YzYwMCwgMCwgezB4YTAsMHgwYiwweGEwLDB4NDEsMHg3OCwweDA0LDB4ZmEsMHgwMCwweDM3LDB4ODAsMHgwZCwweGEwLDB4MDIsMHhhOCwweDEwLDB4ZWUgfSwKLSAgMTYsIDB4YzYxMCwgMCwgezB4MjEsMHgyZSwweDgwLDB4MDgsMHhhMCwweDAyLDB4ZTgsMHgwOCwweDhlLDB4ODAsMHgyZiwweGEwLDB4OGIsMHhhMCwweDAyLDB4Y2EgfSwKLSAgMTYsIDB4YzYyMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDEsMHg0YywweDAyLDB4ODMsMHhjMCwweGE4LDB4ZTggfSwKLSAgMTYsIDB4YzYzMCwgMCwgezB4NGEsMHgzNiwweDAyLDB4OGMsMHgwMCwweDEzLDB4YTAsMHgyOCwweGMyLDB4MGIsMHgzMCwweDA2LDB4MGMsMHgwMCwweGIzLDB4MDAgfSwKLSAgMTYsIDB4YzY0MCwgMCwgezB4MjQsMHg4NCwweDA5LDB4MzAsMHgwMiwweDBjLDB4MDAsMHhiMywweDIwLDB4MjgsMHhjMCwweDA5LDB4MzAsMHgwMiwweGNjLDB4MDAgfSwKLSAgMTYsIDB4YzY1MCwgMCwgezB4ODMsMHg4MCwweDJjLDB4YzAsMHgwYiwweDMwLDB4MDIsMHhjYSwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzY2MCwgMCwgezB4YTAsMHgwMSwweDNjLDB4NDQsMHhhZiwweDQwLDB4MjUsMHhjMiwweDQ4LDB4ZjgsMHg4MiwweDFjLDB4YzgsMHg5ZiwweDA4LDB4MjEgfSwKLSAgMTYsIDB4YzY3MCwgMCwgezB4YzAsMHg4YiwweGY4LDB4MDIsMHg1YywweDAwLDB4YmYsMHhiMCwweDI3LDB4ODAsMHgwOSwweDNhLDB4MDIsMHg5YywweDAwLDB4YTUgfSwKLSAgMTYsIDB4YzY4MCwgMCwgezB4MDIsMHgyZCwweGU4LDB4MDksMHg3MCwweDAyLDB4Y2UsMHg4MCwweDg1LDB4MDgsMHgyZCwweGMyLDB4MGIsMHg3MywweDAyLDB4ZTggfSwKLSAgMTYsIDB4YzY5MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZSwweDAwLDB4YzcsMHg4MiwweGE5LDB4ZTAgfSwKLSAgMTYsIDB4YzZhMCwgMCwgezB4MGEsMHg3OCwweDAyLDB4OWUsMHg0MCwweDk3LDB4ODQsMHgzOSwweGEwLDB4MGIsMHg3YSwweDgzLDB4M2YsMHg4MCwweGQ3LDB4OTEgfSwKLSAgMTYsIDB4YzZiMCwgMCwgezB4MzUsMHhhMCwweDBkLDB4N2EsMHgwOSwweDFlLDB4NDQsMHhmNywweDgwLDB4M2QsMHhlOCwweDJkLDB4N2EsMHgwMywweGRlLDB4ODIgfSwKLSAgMTYsIDB4YzZjMCwgMCwgezB4YzYsMHg4MCwweDNkLDB4MjAsMHg0YiwweDdiLDB4MjMsMHhlYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzZkMCwgMCwgezB4MDgsMHgxZCwweGFjLDB4MDAsMHhkMywweDAwLDB4M2UsMHhjMSwweDBmLDB4MzAsMHgwMywweGVkLDB4ODAsMHhlMywweDAwLDB4M2UgfSwKLSAgMTYsIDB4YzZlMCwgMCwgezB4ODAsMHgwZiwweGI2LDB4MjEsMHhlYywweDA4LDB4ZGIsMHgyMSwweDNlLDB4ODAsMHgwZiwweGI1LDB4MDMsMHg2YywweDQwLDB4ZjkgfSwKLSAgMTYsIDB4YzZmMCwgMCwgezB4MDAsMHgzZSwweGRjLDB4MGUsMHhiMiwweDAzLDB4ZWQsMHg0MCwweGY5LDB4MDIsMHgzZSwweDgwLDB4MGYsMHhiMCwweDAzLDB4YzIgfSwKLSAgMTYsIDB4YzcwMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmZSwweDAwLDB4Y2YsMHg4MCwweDNkLDB4ZTAgfSwKLSAgMTYsIDB4YzcxMCwgMCwgezB4MGYsMHhjOCwweDQzLDB4ZmUsMHgwMCwweGZlLDB4ODQsMHgzZiwweGUwLDB4MGQsMHhmOCwweGMzLDB4ZmYsMHgxMCwweGFmLDB4OTAgfSwKLSAgMTYsIDB4YzcyMCwgMCwgezB4MzUsMHhhMCwweDBjLDB4ZmMsMHgwMywweDNlLDB4MTQsMHhlYywweDg0LDB4M2YsMHhmMCwweDBlLDB4ZmMsMHhjMywweGZmLDB4MDggfSwKLSAgMTYsIDB4YzczMCwgMCwgezB4NGYsMHg4MCwweDMzLDB4ZTQsMHgwYywweGY4LDB4MDMsMHgwMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Yzc0MCwgMCwgezB4YTgsMHgxMSwweDljLDB4MDAsMHhkNywweGEyLDB4MmQsMHhjNCwweDBjLDB4NDEsMHhjMiwweGRjLDB4MDAsMHg3NCwweDAwLDB4MjUgfSwKLSAgMTYsIDB4Yzc1MCwgMCwgezB4ODAsMHgwZiwweDcyLDB4NDIsMHhkYywweDkwLDB4ZDcsMHgzOCwweDJkLDB4OTgsMHgwYSwweDcwLDB4MDIsMHgxYywweDA0LDB4ODYgfSwKLSAgMTYsIDB4Yzc2MCwgMCwgezB4MDAsMHgzZiwweGMwLDB4MGQsMHg3MCwweDAyLDB4Y2MsMHgwMCwweDg2LDB4MDgsMHgzNywweGM2LDB4MjgsMHg3MCwweDAyLDB4MmEgfSwKLSAgMTYsIDB4Yzc3MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5YywweDAwLDB4ODcsMHg2MCwweDJkLDB4YzIgfSwKLSAgMTYsIDB4Yzc4MCwgMCwgezB4MGEsMHg1MCwweDAyLDB4ZGMsMHgwMCwweGI2LDB4MTAsMHgyNSwweGMyLDB4MDksMHg3MCwweDg2LDB4ZGMsMHgzMCwweDk3LDB4MDAgfSwKLSAgMTYsIDB4Yzc5MCwgMCwgezB4MjUsMHg4MCwweDA4LDB4MzAsMHgwMiwweDVjLDB4MDAsMHg4NywweDA4LDB4MmQsMHhjMCwweDA4LDB4NzAsMHgwMiwweGNjLDB4NDAgfSwKLSAgMTYsIDB4YzdhMCwgMCwgezB4ODYsMHgwMCwweDIxLDB4MDAsMHgwOSwweDcwLDB4MGEsMHgwMCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzdiMCwgMCwgezB4MjAsMHgxNCwweGVkLDB4ODAsMHg5MywweDAwLDB4MGMsMHhlMSwweDI4LDB4MTgsMHgwMiwweGNjLDB4MDgsMHhhMCwweDAwLDB4MjQgfSwKLSAgMTYsIDB4YzdjMCwgMCwgezB4MTIsMHgxYSwweDM0LDB4MDIsMHhjZiwweDA0LDB4OTMsMHg0MCwweDJjLDB4ODAsMHgwYSwweGIwLDB4MjIsMHg0YywweDAyLDB4ODEgfSwKLSAgMTYsIDB4YzdkMCwgMCwgezB4ODAsMHgyOCwweGUwLDB4MjgsMHgzMCwweDAyLDB4Y2MsMHgwMCwweDg4LDB4ODIsMHgyNCwweDIwLDB4MDgsMHhiMCwweDAyLDB4MDggfSwKLSAgMTYsIDB4YzdlMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhiZiwweDIwLDB4YzksMHhlMCwweDJjLDB4ZjEgfSwKLSAgMTYsIDB4YzdmMCwgMCwgezB4MGUsMHhiZCwweDAzLDB4ZmMsMHgwMCwweGI5LDB4NDAsMHgzNiwweDQwLDB4MDksMHhmNSwweDAyLDB4ZmQsMHg0MCwweGZmLDB4ODAgfSwKLSAgMTYsIDB4YzgwMCwgMCwgezB4MzYsMHhhMiwweDA4LDB4ZjAsMHgwYiwweDdjLDB4MDAsMHhlYiwweDgwLDB4MmYsMHhlMCwweDBhLDB4ZjAsMHg0MywweGZjLDB4MDIgfSwKLSAgMTYsIDB4YzgxMCwgMCwgezB4OGIsMHhkMCwweDMyLDB4ZjAsMHgwZCwweGYwLDB4MDMsMHgyYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzgyMCwgMCwgezB4ODAsMHgwMCwweGVjLDB4MTAsMHhmYiwweDAwLDB4M2UsMHhjOCwweDBmLDB4OTQsMHgxMywweGVjLDB4MDAsMHhmOSwweDQwLDB4MzYgfSwKLSAgMTYsIDB4YzgzMCwgMCwgezB4NDAsMHgxZiwweGIwLDB4MDMsMHhlYywweDEwLDB4ZmIsMHgwMSwweDNlLDB4ZDAsMHgwZiwweGIwLDB4MDMsMHhhYywweDAwLDB4ZjkgfSwKLSAgMTYsIDB4Yzg0MCwgMCwgezB4MDAsMHgzZSwweGM0LDB4MGYsMHhiMCwweDAxLDB4ZWMsMHgwMCwweGY5LDB4MDQsMHgzZSwweDQ4LDB4MGYsMHhiMCwweDAzLDB4ZTAgfSwKLSAgMTYsIDB4Yzg1MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmYywweDAwLDB4ZGYsMHgwMCwweDNmLDB4YzAgfSwKLSAgMTYsIDB4Yzg2MCwgMCwgezB4MGMsMHhlMCwweDA3LDB4ZmMsMHgwMCwweGZjLDB4MGEsMHgyNywweDAwLDB4NGYsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGZmLDB4MDggfSwKLSAgMTYsIDB4Yzg3MCwgMCwgezB4MzMsMHg4MCwweDBjLDB4ZjAsMHgwMCwweDJjLDB4MDAsMHg1ZiwweDAwLDB4MzMsMHhjMCwweDBjLDB4ZjAsMHgwMSwweGZjLDB4MDAgfSwKLSAgMTYsIDB4Yzg4MCwgMCwgezB4ZmUsMHgwMCwweDIzLDB4NDAsMHgwZiwweGIwLDB4MDMsMHgwMCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Yzg5MCwgMCwgezB4ODEsMHgwNCwweDZjLDB4MDAsMHg4YiwweDg2LDB4MmUsMHhlMCwweDQ4LDB4OGYsMHgwMiwweGVjLDB4MDgsMHhiOCwweGEwLDB4MzYgfSwKLSAgMTYsIDB4YzhhMCwgMCwgezB4MzAsMHg0YiwweGIwLDB4MDMsMHhhYywweDBjLDB4OWIsMHgwMiwweDNjLDB4YTAsMHgwYywweGIwLDB4NDMsMHg2YywweDAwLDB4YjEgfSwKLSAgMTYsIDB4YzhiMCwgMCwgezB4MDAsMHgyOCwweGMwLDB4MGQsMHhiMCwweDEyLDB4ZWMsMHgxMCwweGI5LDB4ODAsMHhhMiwweDYxLDB4MGIsMHhiMCwweDAyLDB4MjAgfSwKLSAgMTYsIDB4YzhjMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAwLDB4OWIsMHg4OCwweDJlLDB4ZTAgfSwKLSAgMTYsIDB4YzhkMCwgMCwgezB4MDgsMHhhMCwweDAyLDB4ZWMsMHgwMSwweGJiLDB4ODAsMHgyNiwweDYyLDB4MGIsMHhiMCwweDAyLDB4ZWMsMHgwMCwweGIzLDB4MDEgfSwKLSAgMTYsIDB4YzhlMCwgMCwgezB4MmEsMHgyMSwweDA4LDB4YjAsMHgxMiwweDJjLDB4MDAsMHhiOCwweDAwLDB4MjIsMHhjMCwweDA4LDB4YjAsMHgxMiwweGVjLDB4MTQgfSwKLSAgMTYsIDB4YzhmMCwgMCwgezB4YjksMHg4NCwweDIyLDB4YTIsMHgwYiwweGIwLDB4MDIsMHhhMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzkwMCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDQsMHg5MywweDAwLDB4MmMsMHhlMCwweDA4LDB4MDAsMHgwMiwweGNjLDB4MDksMHg5MSwweDAwLDB4MjAgfSwKLSAgMTYsIDB4YzkxMCwgMCwgezB4NDAsMHgwYiwweDMwLDB4MDYsMHg0YywweDA0LDB4MTMsMHgwMCwweDI2LDB4MDAsMHgwOCwweDMwLDB4MDIsMHhjYywweDA0LDB4YjIgfSwKLSAgMTYsIDB4YzkyMCwgMCwgezB4MDAsMHgyYSwweGMwLDB4MDEsMHgzMCwweDAwLDB4Y2QsMHgwMCwweGIwLDB4MDAsMHgyMCwweDgwLDB4MGIsMHgzMCwweDBhLDB4MDIgfSwKLSAgMTYsIDB4YzkzMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2YywweDAwLDB4ZGIsMHgyNCwweDZlLDB4YzAgfSwKLSAgMTYsIDB4Yzk0MCwgMCwgezB4MmMsMHhhMCwweDAyLDB4ZmMsMHgwMCwweGJhLDB4MDQsMHgyNiwweDQwLDB4NGYsMHhmMCwweDU3LDB4ZmMsMHgwMCwweDNmLDB4MDEgfSwKLSAgMTYsIDB4Yzk1MCwgMCwgezB4M2EsMHgwMCwweDJjLDB4ZjAsMHgwMSwweDNjLDB4MDAsMHhkYiwweDAwLDB4MzMsMHhjMCwweDg0LDB4ZjAsMHgwMywweGZkLDB4MDggfSwKLSAgMTYsIDB4Yzk2MCwgMCwgezB4ZmEsMHgwMCwweDMyLDB4MDAsMHgwZiwweGYwLDB4MDMsMHgwMCwweDAxLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Yzk3MCwgMCwgezB4YTAsMHgxOSwweGRjLDB4MDAsMHhlYSwweDQwLDB4M2YsMHgwMCwweDA3LDB4YzAsMHgwMywweGZjLDB4MDQsMHhmYywweDAwLDB4M2YgfSwKLSAgMTYsIDB4Yzk4MCwgMCwgezB4NDAsMHgwZiwweGYwLDB4MDMsMHg5YywweDAwLDB4ZmYsMHgwMCwweDNmLDB4MDAsMHgwZSwweGYwLDB4MDMsMHg3YywweDAwLDB4ZmQgfSwKLSAgMTYsIDB4Yzk5MCwgMCwgezB4MDAsMHgzZiwweGMxLDB4MGYsMHhmMCwweDAzLDB4ZmMsMHg4NCwweGY0LDB4MDAsMHgzZiwweDAwLDB4MGYsMHhmMCwweDAzLDB4ZTggfSwKLSAgMTYsIDB4YzlhMCwgMCwgezB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDEsMHhmMCwweDgwLDB4ZmYsMHgwMCwweDAzLDB4YzIgfSwKLSAgMTYsIDB4YzliMCwgMCwgezB4MGYsMHhjMiwweDAzLDB4M2UsMHgwMCwweGRmLDB4YzAsMHgzZSwweGMwLDB4NGQsMHhkYiwweDAyLDB4YjAsMHhjMCwweGRjLDB4MzAgfSwKLSAgMTYsIDB4YzljMCwgMCwgezB4M2YsMHhlMCwweDBmLDB4ZGIsMHgyMywweGY2LDB4MjAsMHhmZiwweDI2LDB4MzMsMHhlMCwweDBmLDB4NTIsMHgwMywweDVlLDB4MDAgfSwKLSAgMTYsIDB4YzlkMCwgMCwgezB4ZmYsMHg4MCwweDMzLDB4YzAsMHg0YywweDQ5LDB4MDMsMHgzMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzllMCwgMCwgezB4ODAsMHgxMCwweGUxLDB4ZTAsMHhiNywweDA4LDB4MjMsMHhmMCwweDBiLDB4YWQsMHgwYSwweDJlLDB4MDAsMHg5YSwweDA0LDB4MmUgfSwKLSAgMTYsIDB4YzlmMCwgMCwgezB4YjAsMHgwOSwweDhmLDB4MDMsMHhhMCwweDQwLDB4YjksMHgzMCwweDJlLDB4YTAsMHgwYiwweDlmLDB4MDMsMHhhNywweDAwLDB4YmIgfSwKLSAgMTYsIDB4Y2EwMCwgMCwgezB4ODAsMHgyNiwweGUwLDB4MGIsMHhkZCwweDAyLDB4MmUsMHgwMCwweGJiLDB4ODAsMHgyMiwweGY0LDB4MGEsMHg5MiwweDAyLDB4YTAgfSwKLSAgMTYsIDB4Y2ExMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjOCwweDgwLDB4YjMsMHgxMCwweDI0LDB4YzAgfSwKLSAgMTYsIDB4Y2EyMCwgMCwgezB4MGIsMHg4MCwweDAyLDB4YWMsMHgwMCwweGEzLDB4MjQsMHgyYywweGQwLDB4MDgsMHgxMCwweDA2LDB4YzAsMHg4MCwweGIyLDB4MDEgfSwKLSAgMTYsIDB4Y2EzMCwgMCwgezB4MmMsMHhlYSwweDRiLDB4MDAsMHgxMiwweGMyLDB4MDQsMHhiMywweDEwLDB4MDgsMHhjMCwweDBhLDB4OTAsMHgwMiwweDBjLDB4MDAgfSwKLSAgMTYsIDB4Y2E0MCwgMCwgezB4OTMsMHgwNCwweDI0LDB4YzAsMHgwOSwweDgyLDB4MDIsMHhhMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2E1MCwgMCwgezB4YzAsMHgxNSwweGE1LDB4MDAsMHhiYiwweDAwLDB4MjIsMHhjMCwweDBiLDB4ODAsMHgwMiwweGFjLDB4MDgsMHhiYiwweDE4LDB4MmUgfSwKLSAgMTYsIDB4Y2E2MCwgMCwgezB4ZTAsMHgxOCwweDg4LDB4MDIsMHhlYywweDAxLDB4YmEsMHgwMCwweDJlLDB4ODAsMHgwYiwweDk4LDB4ODYsMHhlMiwweDAwLDB4YmIgfSwKLSAgMTYsIDB4Y2E3MCwgMCwgezB4MDAsMHgyMiwweGM0LDB4MGIsMHg5MCwweDAyLDB4NmMsMHgwMCwweGJiLDB4MDAsMHhhNiwweGMwLDB4MGIsMHg5MCwweDAwLDB4YjAgfSwKLSAgMTYsIDB4Y2E4MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTEsMHhlNywweDAwLDB4ZmIsMHgwMCwweGIyLDB4YzAgfSwKLSAgMTYsIDB4Y2E5MCwgMCwgezB4MGYsMHhhOCwweDAzLDB4YWMsMHgwMiwweGViLDB4MDAsMHgzZSwweDYwLDB4MGQsMHg5ZSwweDAzLDB4ZWMsMHgwMCwweGQ4LDB4NDAgfSwKLSAgMTYsIDB4Y2FhMCwgMCwgezB4M2UsMHg0MCwweDBmLDB4ODgsMHg0MywweGUyLDB4MDAsMHhmYiwweDIwLDB4MzIsMHhjMCwweDBmLDB4MTAsMHgwYiwweDZmLDB4OTAgfSwKLSAgMTYsIDB4Y2FiMCwgMCwgezB4NWIsMHg4MiwweDM2LDB4YzAsMHgyZCwweDA4LDB4MDEsMHg5MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2FjMCwgMCwgezB4ZTAsMHgwMSwweGI3LDB4MDgsMHhmNywweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjksMHgwMywweDdjLDB4MDgsMHhjZiwweDgyLDB4M2MgfSwKLSAgMTYsIDB4Y2FkMCwgMCwgezB4MDAsMHhhZiwweGQwLDB4MjEsMHhiYywweDA4LDB4ZmQsMHgxMCwweDNmLDB4ODAsMHg4ZiwweGMwLDB4MDMsMHhhNCwweDAwLDB4ZjcgfSwKLSAgMTYsIDB4Y2FlMCwgMCwgezB4MDEsMHhiZiwweGMwLDB4MDcsMHhkMCwweDAzLDB4YmQsMHgzMCwweGZmLDB4YTQsMHgzOCwweGMwLDB4MGUsMHhkYSwweDAzLDB4ZjggfSwKLSAgMTYsIDB4Y2FmMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhOCwweDAwLDB4ZmIsMHgwMCwweGIyLDB4YzEgfSwKLSAgMTYsIDB4Y2IwMCwgMCwgezB4MGUsMHg4MSwweDAzLDB4ZWMsMHg0MCwweGZiLDB4NDQsMHgzYSwweGMxLDB4MGUsMHg5NSwweDAzLDB4ZTAsMHgwMCwweGNiLDB4NDEgfSwKLSAgMTYsIDB4Y2IxMCwgMCwgezB4MzIsMHg0ZCwweDBmLDB4ODEsMHgwMywweGUwLDB4MjAsMHhjOSwweDAwLDB4NzIsMHhlOCwweDQ0LDB4OTEsMHgwMywweDZkLDB4MDAgfSwKLSAgMTYsIDB4Y2IyMCwgMCwgezB4Y2IsMHgwMiwweDNlLDB4YzAsMHgwYywweDgwLDB4MDMsMHg5MCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2IzMCwgMCwgezB4YzgsMHgwNSwweDI0LDB4MDAsMHhiZiwweDAwLDB4MzMsMHhjNCwweDA4LDB4MWQsMHgwMywweDhjLDB4MDAsMHhiYiwweDk4LDB4MzYgfSwKLSAgMTYsIDB4Y2I0MCwgMCwgezB4NDgsMHg0ZCwweDk4LDB4MjIsMHhlZCwweDQwLDB4ZGIsMHgwMCwweDM2LDB4YjAsMHgwYiwweDk4LDB4MDIsMHhlMywweDAwLDB4ZGIgfSwKLSAgMTYsIDB4Y2I1MCwgMCwgezB4MDAsMHgzMiwweGUwLDB4ODgsMHhkOCwweDAyLDB4MmMsMHgwMiwweGMzLDB4ODAsMHgyZiwweGMwLDB4MDgsMHg5MCwweDAzLDB4NzIgfSwKLSAgMTYsIDB4Y2I2MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDEsMHg0NCwweDAwLDB4YjMsMHgwMCwweDIwLDB4ZjAgfSwKLSAgMTYsIDB4Y2I3MCwgMCwgezB4MTgsMHgwOCwweDAyLDB4NGYsMHg4NCwweGIxLDB4YzAsMHgyNCwweGMwLDB4ODksMHgwNiwweDAyLDB4YzQsMHgwMCwweDkxLDB4MDAgfSwKLSAgMTYsIDB4Y2I4MCwgMCwgezB4MjAsMHhmMCwweDFiLDB4MTgsMHg4MiwweGM2LDB4MDAsMHg5MywweDAwLDB4MmMsMHhkMSwweDA4LDB4MWUsMHgwMiwweDBlLDB4NDQgfSwKLSAgMTYsIDB4Y2I5MCwgMCwgezB4OTMsMHg5NCwweDJjLDB4YzAsMHgwOCwweDIwLDB4MDIsMHhiOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2JhMCwgMCwgezB4MjAsMHgwMSwweDFlLDB4MDQsMHhiNywweDgwLDB4MjAsMHhlMiwweDA4LDB4NjgsMHgwNiwweDllLDB4ODAsMHhiZiwweDg0LDB4MjUgfSwKLSAgMTYsIDB4Y2JiMCwgMCwgezB4YTgsMHgwOSwweDY4LDB4MDIsMHhjNiwweDAwLDB4OTMsMHhhMCwweDY1LDB4ZTQsMHgwYiwweDc4LDB4MTIsMHhkZSwweDAwLDB4OTMgfSwKLSAgMTYsIDB4Y2JjMCwgMCwgezB4MDAsMHhhMSwweGUwLDB4MDgsMHhkOCwweDAyLDB4MWUsMHhkMCwweGE3LDB4ODAsMHgyZCwweGUwLDB4MDgsMHhmOCwweDAyLDB4NDggfSwKLSAgMTYsIDB4Y2JkMCwgMCwgezB4MTAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwOCwweDAwLDB4YjMsMHgyMCwweDMwLDB4YzAgfSwKLSAgMTYsIDB4Y2JlMCwgMCwgezB4MGEsMHgyMiwweDAyLDB4Y2UsMHg0MCwweGYzLDB4YTAsMHgzYywweGU4LDB4MGIsMHgzMCwweDAyLDB4YzEsMHgwMCwweGQwLDB4YzEgfSwKLSAgMTYsIDB4Y2JmMCwgMCwgezB4MzAsMHhjMCwweDBiLDB4MjEsMHgxMywweGNjLDB4MjEsMHhkMywweDAwLDB4MmMsMHhjMCwweDJjLDB4MTAsMHgwYiwweDBjLDB4ODAgfSwKLSAgMTYsIDB4Y2MwMCwgMCwgezB4ZDMsMHg2MSwweDNjLDB4YzgsMHgyYywweDIwLDB4MDMsMHg5MiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2MxMCwgMCwgezB4NDAsMHgxZCwweGJjLDB4MDAsMHhmZiwweDQwLDB4M2IsMHhjMCwweDBmLDB4ZTAsMHgwMywweGZjLDB4MDAsMHhmNywweDUwLDB4N2YgfSwKLSAgMTYsIDB4Y2MyMCwgMCwgezB4YzQsMHgyZSwweGYwLDB4MDMsMHhmYywweDQwLDB4ZmUsMHgwMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4NDcsMHhmYywweDAwLDB4ZmYgfSwKLSAgMTYsIDB4Y2MzMCwgMCwgezB4MDAsMHg3ZCwweGMyLDB4MGYsMHhkMCwweDAxLDB4YmMsMHg4MCwweDVmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZDAgfSwKLSAgMTYsIDB4Y2M0MCwgMCwgezB4MDIsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlNCwweDAwLDB4ZmIsMHhjMCwweDMyLDB4YzggfSwKLSAgMTYsIDB4Y2M1MCwgMCwgezB4MGUsMHhlMCwweDAzLDB4YWMsMHhhMCwweGViLDB4MjAsMHgzMiwweDQwLDB4OGMsMHhhMCwweDEzLDB4MmMsMHgwMCwweGQ5LDB4MDAgfSwKLSAgMTYsIDB4Y2M2MCwgMCwgezB4M2UsMHg2MCwweDBjLDB4YjAsMHgwMywweGU4LDB4MDAsMHhmYSwweDgwLDB4MzAsMHhjMCwweDNjLDB4OTIsMHgwMywweGVmLDB4NjAgfSwKLSAgMTYsIDB4Y2M3MCwgMCwgezB4YzMsMHgyMCwweDMxLDB4YzQsMHgwYywweGEwLDB4MDMsMHgyYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2M4MCwgMCwgezB4NDgsMHgxMSwweDljLDB4MDAsMHgzMywweDIwLDB4MjEsMHhkYSwweDBiLDB4NzAsMHg0MywweDljLDB4MDEsMHhiNSwweDAwLDB4MjEgfSwKLSAgMTYsIDB4Y2M5MCwgMCwgezB4MDAsMHgwYSwweGUwLDB4MDIsMHgxYywweDAwLDB4YjcsMHgwMCwweDJmLDB4YzAsMHgwZCwweDcwLDB4MDMsMHg5YywweDAwLDB4YjYgfSwKLSAgMTYsIDB4Y2NhMCwgMCwgezB4MDAsMHgzMSwweGM4LDB4MDgsMHg1NywweDAyLDB4ZGMsMHgwMCwweDg3LDB4NTAsMHgyMSwweGMwLDB4MGEsMHg3MCwweDQyLDB4OTIgfSwKLSAgMTYsIDB4Y2NiMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5YSwweDExLDB4YjcsMHg5MCwweDIxLDB4ZTAgfSwKLSAgMTYsIDB4Y2NjMCwgMCwgezB4MGIsMHg2OCwweDgyLDB4ZGUsMHgwOCwweGE3LDB4ODAsMHgyNCwweDYwLDB4MDgsMHg3MCwweDEyLDB4MTIsMHgwOCwweDk1LDB4ODAgfSwKLSAgMTYsIDB4Y2NkMCwgMCwgezB4MmQsMHg2MCwweDA5LDB4NmMsMHgwMiwweGRlLDB4MDAsMHhiMSwweDgwLDB4MjMsMHhlMCwweDBhLDB4NTgsMHg2MiwweGZlLDB4MDAgfSwKLSAgMTYsIDB4Y2NlMCwgMCwgezB4OTcsMHhhMCwweDIxLDB4ZTgsMHgwOSwweGU4LDB4MDIsMHgzMCwweDEwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2NmMCwgMCwgezB4NDgsMHgxNCwweGNkLDB4MDAsMHhiMywweDAwLDB4MjAsMHhjMCwweDhiLDB4M2MsMHgwMiwweDhjLDB4MDAsMHhiYiwweDAwLDB4MjQgfSwKLSAgMTYsIDB4Y2QwMCwgMCwgezB4YzQsMHgxYSwweDNkLDB4MDIsMHgyZiwweDg4LDB4YjMsMHg0OCwweDJjLDB4ZTAsMHg4OSwweDNlLDB4MDIsMHg4ZCwweDgwLDB4OTMgfSwKLSAgMTYsIDB4Y2QxMCwgMCwgezB4ZDksMHhhNCwweDQwLDB4ODgsMHgxMCwweDAyLDB4Y2MsMHgwNCwweDkzLDB4YzgsMHgyMCwweGMwLDB4MGIsMHgzMCwweDAyLDB4OTIgfSwKLSAgMTYsIDB4Y2QyMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhiOSwweDQwLDB4ZmEsMHgwMCwweGIyLDB4ODAgfSwKLSAgMTYsIDB4Y2QzMCwgMCwgezB4MGYsMHhlMCwweDAzLDB4ZTgsMHgwMCwweGVhLDB4ODAsMHgzNywweGEwLDB4MGMsMHhlOCwweDEzLDB4M2IsMHgwOCwweGRlLDB4MDEgfSwKLSAgMTYsIDB4Y2Q0MCwgMCwgezB4M2YsMHg4MiwweDBjLDB4ZTAsMHg0MywweGZhLDB4ODAsMHhmZSwweDgwLDB4MzEsMHgyOCwweDBjLDB4YTAsMHgwMywweGYwLDB4MDIgfSwKLSAgMTYsIDB4Y2Q1MCwgMCwgezB4YzQsMHhjMCwweGIyLDB4ODAsMHgwZCwweGUwLDB4MDMsMHgzYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2Q2MCwgMCwgezB4NDgsMHgwMCwweGUwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgxMCwweDBiLDB4ODAsMHg4MywweGUwLDB4MDAsMHhmOCwweDMwLDB4M2EgfSwKLSAgMTYsIDB4Y2Q3MCwgMCwgezB4MDAsMHg2ZCwweDgwLDB4ODMsMHhlMSwweDQ0LDB4YjgsMHgwNCwweDNlLDB4MTAsMHgwZiwweDgwLDB4MTMsMHhlMCwweDAwLDB4ZjggfSwKLSAgMTYsIDB4Y2Q4MCwgMCwgezB4MDAsMHgzYSwweDEwLDB4NGYsMHgwNCwweDAzLDB4ZTMsMHgwMCwweGU4LDB4MTAsMHgzZSwweDAwLDB4MGUsMHg4MCwweDAzLDB4ZDIgfSwKLSAgMTYsIDB4Y2Q5MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDAwLDB4YzksMHgwMCwweDM4LDB4NDAgfSwKLSAgMTYsIDB4Y2RhMCwgMCwgezB4MGYsMHgxYSwweDAzLDB4MmUsMHgwMCwweGZiLDB4YTAsMHgzNiwweDYwLDB4MGMsMHg5OCwweDAzLDB4ZTYsMHgwNCwweGQxLDB4MDAgfSwKLSAgMTYsIDB4Y2RiMCwgMCwgezB4MzYsMHg0OCwweDBlLDB4OTEsMHgwMiwweGU2LDB4MDAsMHhmOSwweDAwLDB4M2UsMHgwMCwweDBjLDB4OTksMHgwMywweDYyLDB4NDAgfSwKLSAgMTYsIDB4Y2RjMCwgMCwgezB4ZjgsMHgwMCwweGEwLDB4NjgsMHgwYywweDkwLDB4MDMsMHgwMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2RkMCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDIsMHg4OSwweDA0LDB4MmUsMHg2NCwweDg4LDB4OTQsMHgwMiwweGE1LDB4MDAsMHhiOSwweDgwLDB4MjAgfSwKLSAgMTYsIDB4Y2RlMCwgMCwgezB4NjQsMHgwZCwweDljLDB4MDIsMHhlNiwweDQyLDB4ODksMHgwMCwweDIyLDB4NjAsMHgwYiwweDljLDB4MDIsMHhlNCwweDEwLDB4YjkgfSwKLSAgMTYsIDB4Y2RmMCwgMCwgezB4NDAsMHgzYSwweDUwLDB4MDgsMHg5YywweDAyLDB4MjcsMHgyMCwweGI5LDB4MDAsMHgyMiwweDQwLDB4MDgsMHgxMCwweDAzLDB4NjAgfSwKLSAgMTYsIDB4Y2UwMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgwNCwweDAwLDB4ODksMHgwMCwweDIyLDB4NDAgfSwKLSAgMTYsIDB4Y2UxMCwgMCwgezB4MGEsMHg5MCwweDgyLDB4MjUsMHg0YywweGI5LDB4MDAsMHgwMiwweDQwLDB4MDgsMHg5NiwweDAyLDB4ZTQsMHgxMCwweDg5LDB4MDAgfSwKLSAgMTYsIDB4Y2UyMCwgMCwgezB4MjYsMHg1MCwweDEzLDB4OTQsMHgwMiwweGU0LDB4NDAsMHhiOSwweDA4LDB4MmUsMHg0MCwweDA4LDB4OTAsMHg4YSwweDI0LDB4MDAgfSwKLSAgMTYsIDB4Y2UzMCwgMCwgezB4YjksMHgwMSwweDJhLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgwNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2U0MCwgMCwgezB4MDgsMHgwNCwweDA1LDB4ODAsMHg4MSwweDQwLDB4MmMsMHhjOCwweDA4LDB4MTAsMHgwNiwweDg0LDB4MDAsMHhiMSwweDA0LDB4MjAgfSwKLSAgMTYsIDB4Y2U1MCwgMCwgezB4NDksMHgwOSwweDE0LDB4NDIsMHhjYywweDg5LDB4ODEsMHgyMCwweDIwLDB4NTAsMHgwYiwweDE0LDB4NDYsMHhjNCwweDAwLDB4YjEgfSwKLSAgMTYsIDB4Y2U2MCwgMCwgezB4MDAsMHgyYSwweGMwLDB4MjgsMHgxNCwweDAyLDB4MDEsMHgwMSwweGIwLDB4MDQsMHgyOCwweDQwLDB4MzgsMHg5NCwweDAyLDB4NDIgfSwKLSAgMTYsIDB4Y2U3MCwgMCwgezB4MTEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDAwLDB4ODgsMHgwMCwweDNhLDB4MDAgfSwKLSAgMTYsIDB4Y2U4MCwgMCwgezB4MGUsMHg4MCwweDIzLDB4MjAsMHgwMCwweGY4LDB4NTAsMHhiMiwweDAwLDB4MGMsMHg4MCwweDEyLDB4ZTEsMHg0MCwweGQ4LDB4NTAgfSwKLSAgMTYsIDB4Y2U5MCwgMCwgezB4MzYsMHgwMCwweDBlLDB4ODAsMHgwMywweGUwLDB4MDAsMHhmOCwweDAwLDB4MmUsMHgwMCwweDBjLDB4ODAsMHg1MywweDYwLDB4MDQgfSwKLSAgMTYsIDB4Y2VhMCwgMCwgezB4ZjgsMHgwMCwweDNhLDB4MDAsMHgwYywweDgwLDB4MDMsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2ViMCwgMCwgezB4OTgsMHgxZCwweGY0LDB4NDAsMHhmOSwweDQ0LDB4M2UsMHg0NCwweDBmLDB4ZDQsMHgwMywweGU0LDB4MDAsMHhmMSwweDAwLDB4M2YgfSwKLSAgMTYsIDB4Y2VjMCwgMCwgezB4NDQsMHgwZiwweGQ0LDB4NTMsMHhmNCwweDQ0LDB4ZmQsMHgxMCwweDJmLDB4NDAsMHgwZiwweGY0LDB4MDMsMHhmZCwweDAwLDB4ZmQgfSwKLSAgMTYsIDB4Y2VkMCwgMCwgezB4NDAsMHgzYiwweDEwLDB4MGYsMHhkNCwweDIzLDB4ZDEsMHgwNCwweDdjLDB4NDMsMHgzNiwweDUwLDB4MGYsMHg1MCwweDAzLDB4ZTYgfSwKLSAgMTYsIDB4Y2VlMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhhNiwweDAwLDB4ZjksMHgxMCwweDJlLDB4NjIgfSwKLSAgMTYsIDB4Y2VmMCwgMCwgezB4MGYsMHhkMiwweDgzLDB4ZTQsMHgwMCwweGJkLDB4NDIsMHgzZSwweDYxLDB4MGYsMHhkMCwweDAzLDB4ZjYsMHhjMCwweGM5LDB4YTIgfSwKLSAgMTYsIDB4Y2YwMCwgMCwgezB4MmIsMHg0MCwweDBjLDB4ZDAsMHgwMywweDM0LDB4MDAsMHhmOSwweDgxLDB4M2UsMHg2OCwweDA4LDB4YzEsMHg0MywweGZhLDB4MDAgfSwKLSAgMTYsIDB4Y2YxMCwgMCwgezB4ZjUsMHg4MCwweDNmLDB4NjIsMHgwYywweDE0LDB4MDMsMHgwNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2YyMCwgMCwgezB4MzgsMHgxMCwweGUxLDB4MjAsMHg4OCwweDExLDB4MmUsMHgxMCwweDBiLDB4ODAsMHgwMiwweGUwLDB4MDAsMHhiOCwweDgyLDB4MmUgfSwKLSAgMTYsIDB4Y2YzMCwgMCwgezB4MTAsMHgwYiwweDgwLDB4MDAsMHhlMywweGM0LDB4ODgsMHhmMCwweDIyLDB4MDAsMHgwYiwweDgwLDB4MGEsMHgyMCwweDAwLDB4ZTggfSwKLSAgMTYsIDB4Y2Y0MCwgMCwgezB4NDAsMHgyZiwweDE0LDB4MDgsMHg4OCwweDAyLDB4ZTIsMHgwMCwweGI4LDB4MDAsMHgyZSwweDAwLDB4MDgsMHg4OCwweDAyLDB4OGUgfSwKLSAgMTYsIDB4Y2Y1MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDQsMHhjNSwweDAwLDB4YTEsMHgwMCwweDJjLDB4NDAgfSwKLSAgMTYsIDB4Y2Y2MCwgMCwgezB4MGIsMHgxMCwweDAyLDB4YzQsMHgxOCwweGIxLDB4MjIsMHg2YywweGQxLDB4MGIsMHgxMCwweDI2LDB4YzQsMHgwMCwweDgxLDB4MDggfSwKLSAgMTYsIDB4Y2Y3MCwgMCwgezB4MmEsMHg0MCwweDg4LDB4MTAsMHgwMiwweDA0LDB4MDQsMHhiNSwweGMwLDB4MGYsMHg0MCwweDBiLDB4MDIsMHgwMiwweDQxLDB4YTAgfSwKLSAgMTYsIDB4Y2Y4MCwgMCwgezB4YjEsMHg0MCwweDJjLDB4NDAsMHgwOCwweDEyLDB4MDIsMHgwMiwweDExLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2Y5MCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MDAsMHg4OSwweDA2LDB4MmUsMHg0MCwweDBiLDB4OTAsMHgxMiwweGU0LDB4MDAsMHhiOSwweDQwLDB4MmUgfSwKLSAgMTYsIDB4Y2ZhMCwgMCwgezB4NDAsMHgwYiwweGIwLDB4ODIsMHhjNCwweDAyLDB4ODksMHg0NCwweDIyLDB4NDAsMHgwYSwweDkwLDB4MDIsMHgyNCwweDAwLDB4YTkgfSwKLSAgMTYsIDB4Y2ZiMCwgMCwgezB4MDAsMHgyNywweDQ4LDB4MDksMHhiMCwweDEyLDB4ZWMsMHgxOCwweGI5LDB4MDEsMHgyZSwweDQwLDB4NDAsMHg5MCwweDAyLDB4ODYgfSwKLSAgMTYsIDB4Y2ZjMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNywweDg0LDB4ZTksMHgwMSwweDNlLDB4NDAgfSwKLSAgMTYsIDB4Y2ZkMCwgMCwgezB4MGYsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDcyLDB4MGYsMHg5MCwweDAzLDB4ZTcsMHg2MCwweDg5LDB4MTAgfSwKLSAgMTYsIDB4Y2ZlMCwgMCwgezB4M2EsMHg0MCwweDBjLDB4OTAsMHgwMywweDI0LDB4MDAsMHhmOSwweDQ0LDB4M2MsMHg0MCwweDJkLDB4OTAsMHgwMywweGU3LDB4NjAgfSwKLSAgMTYsIDB4Y2ZmMCwgMCwgezB4ZjksMHg3MSwweDNlLDB4NDAsMHgyOCwweDkwLDB4MDMsMHgyOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDAwMCwgMCwgezB4MjgsMHgwMSwweGE0LDB4NDgsMHhhOSwweDAwLDB4M2UsMHhjMCwweDBmLDB4OWEsMHg0MywweGVjLDB4MDAsMHhmOSwweDIwLDB4N2UgfSwKLSAgMTYsIDB4ZDAxMCwgMCwgezB4YzgsMHgwZiwweDlhLDB4MDcsMHg2NiwweDAwLDB4NzksMHg4MCwweDdlLDB4NDAsMHgwZiwweDFjLDB4MDMsMHhlNywweDAwLDB4ZTkgfSwKLSAgMTYsIDB4ZDAyMCwgMCwgezB4YTAsMHgzZSwweDQwLDB4NDYsMHg4MCwweDAzLDB4ZTAsMHgyMCwweGY5LDB4MDAsMHgzYywweDQwLDB4MGYsMHg5MCwweDAzLDB4Y2EgfSwKLSAgMTYsIDB4ZDAzMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHg4MCwweDAwLDB4ZjgsMHgwMCwweDNhLDB4MDAgfSwKLSAgMTYsIDB4ZDA0MCwgMCwgezB4MGYsMHg4MCwweDAzLDB4YTAsMHgwOCwweGU4LDB4NDAsMHgzYSwweDEwLDB4MGMsMHg4MywweDAzLDB4YTEsMHhjMCwweGYwLDB4NDAgfSwKLSAgMTYsIDB4ZDA1MCwgMCwgezB4M2UsMHgwNiwweDBmLDB4ODQsMHgwMywweGUxLDB4MDAsMHhmOCwweDAwLDB4M2IsMHgwMCwweDBmLDB4ODEsMHgwMywweDIwLDB4MDAgfSwKLSAgMTYsIDB4ZDA2MCwgMCwgezB4ZjgsMHgxMCwweGIyLDB4MDAsMHg0YywweDgwLDB4MGIsMHgwYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDA3MCwgMCwgezB4MjgsMHgwNSwweDI4LDB4MDAsMHhiYSwweDAwLDB4MmUsMHhiMCwweDBiLDB4ZTgsMHgwMiwweGU5LDB4MDAsMHgzZSwweDkwLDB4MDIgfSwKLSAgMTYsIDB4ZDA4MCwgMCwgezB4ODEsMHgwOCwweGU0LDB4MTIsMHg3OCwweDAwLDB4YmEsMHgwMCwweDJkLDB4YjAsMHg4OSwweGU4LDB4MjIsMHhmOCwweDBjLDB4YmEgfSwKLSAgMTYsIDB4ZDA5MCwgMCwgezB4MDAsMHg2ZSwweDgwLDB4MDMsMHhjNSwweDAzLDB4MzAsMHgwMCwweGJhLDB4MDAsMHgyMiwweGE4LDB4MDgsMHhhMCwweDIyLDB4OGEgfSwKLSAgMTYsIDB4ZDBhMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAwLDB4YjMsMHgwMCwweDI4LDB4ZTggfSwKLSAgMTYsIDB4ZDBiMCwgMCwgezB4MWIsMHgzMSwweDEyLDB4OGMsMHhjNCwweGEzLDB4OTIsMHgyYywweDQwLDB4ODgsMHgzNCwweDA2LDB4OGUsMHgwMCwweDkzLDB4MDAgfSwKLSAgMTYsIDB4ZDBjMCwgMCwgezB4MmMsMHhmMCwweDE5LDB4MzEsMHhhMiwweGNjLDB4MDQsMHhiMywweDAwLDB4MjgsMHg4MCwweDAxLDB4MzgsMHgwMiwweDRjLDB4MDAgfSwKLSAgMTYsIDB4ZDBkMCwgMCwgezB4YjMsMHg4MCwweDIwLDB4ZTAsMHgwYSwweGIwLDB4MTIsMHgwMiwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDBlMCwgMCwgezB4YTAsMHgwMSwweDFjLDB4MDAsMHhiNywweDE0LDB4MmQsMHg0MiwweDBiLDB4NjAsMHgwMiwweGRjLDB4MDAsMHhiNywweDgxLDB4MjcgfSwKLSAgMTYsIDB4ZDBmMCwgMCwgezB4ZTAsMHgxOCwweDYwLDB4MDIsMHg1OCwweDE4LDB4YjcsMHgyMiwweDJkLDB4ODAsMHgwOSwweDcwLDB4MjIsMHhkYywweDAwLDB4YjcgfSwKLSAgMTYsIDB4ZDEwMCwgMCwgezB4MDAsMHgyZCwweDgwLDB4MGIsMHgzYiwweDAyLDB4MWQsMHhkMCwweGJmLDB4ODAsMHgyOCwweGMwLDB4OGEsMHhmMiwweDAyLDB4YTAgfSwKLSAgMTYsIDB4ZDExMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZiwweDgwLDB4ZjcsMHhhMCwweDM5LDB4ZTIgfSwKLSAgMTYsIDB4ZDEyMCwgMCwgezB4MGYsMHg2OCwweDAzLDB4OWUsMHgwMCwweGVkLDB4ODQsMHgzZCwweGUyLDB4NDQsMHg3OCwweDAzLDB4OWUsMHgwMCwweGY3LDB4YjQgfSwKLSAgMTYsIDB4ZDEzMCwgMCwgezB4MmQsMHhlMCwweDBkLDB4NjgsMHgwMywweGQ2LDB4MDAsMHhmNiwweDgwLDB4MzksMHhlMCwweDBmLDB4NzksMHgwMywweDVlLDB4OTAgfSwKLSAgMTYsIDB4ZDE0MCwgMCwgezB4ZjcsMHg4MSwweDMxLDB4NjAsMHgyZSwweDdjLDB4MDMsMHgyYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDE1MCwgMCwgezB4MDgsMHgxZCwweGFkLDB4MDAsMHhmYiwweDQyLDB4M2UsMHhjOCwweDBmLDB4YTAsMHgwMywweGVkLDB4YTAsMHhiYiwweDAwLDB4MzggfSwKLSAgMTYsIDB4ZDE2MCwgMCwgezB4YzgsMHgwZiwweGIwLDB4MDMsMHg2OCwweDAwLDB4ZmIsMHgxMSwweDNlLDB4NDAsMHgwOSwweGIwLDB4NDEsMHhlYywweDAwLDB4ZmEgfSwKLSAgMTYsIDB4ZDE3MCwgMCwgezB4MDIsMHgzZSwweGMwLDB4MGYsMHhiMiwweDBiLDB4ZWQsMHg4MCwweDNiLDB4MDAsMHgzNiwweDQwLDB4MGQsMHhiMCwweDIzLDB4NDIgfSwKLSAgMTYsIDB4ZDE4MCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmZiwweDAwLDB4Y2YsMHhkMCwweDMzLDB4ZTQgfSwKLSAgMTYsIDB4ZDE5MCwgMCwgezB4NGYsMHhmOSwweDAzLDB4ZGUsMHg0MCwweGRjLDB4ODAsMHgzNiwweGU0LDB4MGMsMHhiOSwweDEzLDB4ZmUsMHgwMCwweGNmLDB4OTAgfSwKLSAgMTYsIDB4ZDFhMCwgMCwgezB4MzcsMHhlNSwweDBmLDB4ZjgsMHg0MywweGZlLDB4MDAsMHhjZiwweDkyLDB4M2YsMHhhNCwweDBmLDB4NzgsMHgwMywweDFmLDB4MDAgfSwKLSAgMTYsIDB4ZDFiMCwgMCwgezB4YzUsMHg4MCwweDMzLDB4NjAsMHgwYywweGY4LDB4MjAsMHgwMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDFjMCwgMCwgezB4YTgsMHgxMSwweGJjLDB4MDAsMHgwZiwweDEwLDB4MjEsMHg4MSwweDBiLDB4NjAsMHgwMywweDg0LDB4MDAsMHg4YiwweDA4LDB4MjEgfSwKLSAgMTYsIDB4ZDFkMCwgMCwgezB4NjAsMHgwYSwweDdiLDB4MDMsMHg5OCwweDAwLDB4OGIsMHgxMCwweDI5LDB4ODQsMHgwZSwweDY0LDB4MjIsMHhkYywweDQwLDB4ZDcgfSwKLSAgMTYsIDB4ZDFlMCwgMCwgezB4MDIsMHgyZCwweDg0LDB4MGIsMHg3MCwweDAyLDB4MWMsMHgwMCwweDg1LDB4MTgsMHgyMSwweDQwLDB4MGEsMHhmMCwweDIyLDB4YWEgfSwKLSAgMTYsIDB4ZDFmMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5YywweDAwLDB4YTcsMHgxNCwweDY5LDB4YzAgfSwKLSAgMTYsIDB4ZDIwMCwgMCwgezB4MWEsMHg2MCwweDEyLDB4ZmMsMHgwMSwweGE0LDB4MTAsMHgyZCwweGMwLDB4MGEsMHg1MiwweDAyLDB4NDUsMHg0MCwweDg3LDB4MGMgfSwKLSAgMTYsIDB4ZDIxMCwgMCwgezB4MjEsMHg4MCwweDFiLDB4NjAsMHg4MiwweGQ0LDB4MDAsMHg4NiwweDAzLDB4MjUsMHhlMCwweDFiLDB4NzAsMHgwMiwweDVjLDB4NDAgfSwKLSAgMTYsIDB4ZDIyMCwgMCwgezB4OWQsMHgwMCwweDI5LDB4NDAsMHgwOCwweDcwLDB4MDIsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDIzMCwgMCwgezB4MjAsMHgxNCwweGNkLDB4MDAsMHhhMywweDAwLDB4MjgsMHhjMCwweDFiLDB4MjAsMHgyMiwweDhjLDB4MTEsMHhhMywweDAwLDB4NjggfSwKLSAgMTYsIDB4ZDI0MCwgMCwgezB4ZjYsMHgwYSwweDNjLDB4MDYsMHg4MiwweDAwLDB4ODMsMHg4MCwweDI4LDB4ODQsMHgwYSwweDhjLDB4ODIsMHhjYywweDQ0LDB4OTIgfSwKLSAgMTYsIDB4ZDI1MCwgMCwgezB4MDAsMHgyYywweGMwLDB4MGIsMHgzMCwweDAyLDB4NGUsMHgwMCwweDkxLDB4MDAsMHgyOCwweDQwLDB4MGEsMHgzMCwweDAyLDB4ODggfSwKLSAgMTYsIDB4ZDI2MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhiZSwweDIyLDB4ZWYsMHgwNCwweGJhLDB4YzAgfSwKLSAgMTYsIDB4ZDI3MCwgMCwgezB4MGYsMHgxNCwweDkzLDB4ZWMsMHgwMiwweGYxLDB4YzMsMHgzZSwweGYwLDB4MGUsMHg5MCwweDgzLDB4NjYsMHgwMCwweGNmLDB4ZDIgfSwKLSAgMTYsIDB4ZDI4MCwgMCwgezB4MzIsMHg1MCwweDBmLDB4OWMsMHgwMywweGNiLDB4MDAsMHhjOSwweDgwLDB4M2UsMHgyOCwweDBmLDB4YjAsMHgwMywweDRmLDB4MDAgfSwKLSAgMTYsIDB4ZDI5MCwgMCwgezB4ZDEsMHhjMCwweGFhLDB4YzAsMHgwYywweDcxLDB4MDMsMHgyYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDJhMCwgMCwgezB4ODAsMHgwMCwweGVjLDB4MjAsMHhkYiwweDAwLDB4MjYsMHg4MCwweDBmLDB4YTAsMHgwMywweGVjLDB4MDgsMHgxYiwweDAwLDB4MzYgfSwKLSAgMTYsIDB4ZDJiMCwgMCwgezB4YzAsMHgwZiwweDg2LDB4MDEsMHhlNSwweDQwLDB4ZmIsMHgwMiwweDNhLDB4NDgsMHgwZSwweDk0LDB4MDMsMHhlYywweDgwLDB4ZjEgfSwKLSAgMTYsIDB4ZDJjMCwgMCwgezB4ODQsMHgzZSwweDAwLDB4NGYsMHhiMCwweDAzLDB4YWQsMHhjMCwweGViLDB4MjAsMHgzNiwweGMwLDB4MGYsMHhiMCwweDIzLDB4ZTAgfSwKLSAgMTYsIDB4ZDJkMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhkYywweDAwLDB4Y2YsMHgwMCwweDNmLDB4NjAgfSwKLSAgMTYsIDB4ZDJlMCwgMCwgezB4MGMsMHhlMCwweDgzLDB4M2UsMHg4MCwweGVkLDB4MDgsMHgzMywweGQwLDB4OGYsMHg1MCwweDAzLDB4OWUsMHgwMCwweGRmLDB4MDAgfSwKLSAgMTYsIDB4ZDJmMCwgMCwgezB4MzMsMHg0MCwweDBjLDB4YzAsMHgwMywweDMwLDB4MDAsMHhjYywweDEwLDB4MzMsMHg2OCwweDBjLDB4ZjAsMHgwMywweDNjLDB4ODQgfSwKLSAgMTYsIDB4ZDMwMCwgMCwgezB4OGQsMHg5MCwweDMwLDB4NDAsMHgwYywweGYwLDB4MDMsMHgwOCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDMxMCwgMCwgezB4ODEsMHgwNCwweDZjLDB4MDAsMHg4YiwweDAyLDB4MmMsMHhmNCwweDA4LDB4YTgsMHg2MiwweDBjLDB4ODAsMHg4YiwweDgwLDB4MmEgfSwKLSAgMTYsIDB4ZDMyMCwgMCwgezB4NjAsMHgwZiwweDljLDB4MDIsMHgyZSwweDAwLDB4OGIsMHgwMCwweDIwLDB4NjAsMHgwZCwweDk4LDB4MDIsMHgyYywweDgwLDB4ZDggfSwKLSAgMTYsIDB4ZDMzMCwgMCwgezB4MDAsMHgxNCwweDQwLDB4MDgsMHgzNCwweDEyLDB4MmUsMHgwMCwweDhiLDB4ODIsMHgzMiwweDQwLDB4MGQsMHhiMCwweDAzLDB4NjAgfSwKLSAgMTYsIDB4ZDM0MCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAwLDB4OGIsMHgwMCwweDJlLDB4ZDAgfSwKLSAgMTYsIDB4ZDM1MCwgMCwgezB4MDgsMHhiOCwweDAyLDB4MmMsMHgwMCwweDhhLDB4ODQsMHgyMiwweGMwLDB4MGIsMHg4OCwweDAyLDB4ZTQsMHhhMCwweDgzLDB4MDAgfSwKLSAgMTYsIDB4ZDM2MCwgMCwgezB4MjIsMHg2MiwweDBhLDB4OTgsMHgwMiwweDI4LDB4MDAsMHg4OSwweDAwLDB4MjIsMHgwMCwweDBhLDB4YjEsMHgwNiwweDJjLDB4MDAgfSwKLSAgMTYsIDB4ZDM3MCwgMCwgezB4YWIsMHgwMCwweDIyLDB4NDAsMHgwOCwweGIwLDB4MDIsMHg2MCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDM4MCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDIsMHhhMywweDAwLDB4MmMsMHhjMSwweDA4LDB4MjAsMHgwMiwweDBjLDB4MDIsMHg4YiwweDAwLDB4MjggfSwKLSAgMTYsIDB4ZDM5MCwgMCwgezB4YzIsMHgwYSwweDAwLDB4MDIsMHg0NCwweDEwLDB4ODMsMHgxMCwweDIyLDB4NDAsMHgwYiwweDEwLDB4MDYsMHgwYywweDAwLDB4OTEgfSwKLSAgMTYsIDB4ZDNhMCwgMCwgezB4MDQsMHhhYSwweDAwLDB4MjgsMHgzMCwweDAyLDB4MmMsMHgwMCwweGExLDB4MDEsMHgyMCwweDQwLDB4MDksMHhiMCwweDAyLDB4NDIgfSwKLSAgMTYsIDB4ZDNiMCwgMCwgezB4MTEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg3YywweDAwLDB4OGYsMHgwMCwweDNlLDB4YzAgfSwKLSAgMTYsIDB4ZDNjMCwgMCwgezB4MmMsMHhhMCwweDAzLDB4MjksMHg0MCwweGE4LDB4NDAsMHgzMiwweGNjLDB4OGIsMHg4MCwweDAyLDB4ZTAsMHgwMCwweGNmLDB4NDAgfSwKLSAgMTYsIDB4ZDNkMCwgMCwgezB4MzIsMHgwMCwweDBlLDB4ODAsMHgwYSwweDIwLDB4MDAsMHg4OCwweDAwLDB4MjIsMHg0MCwweDBjLDB4YjAsMHgwMywweDJjLDB4MDQgfSwKLSAgMTYsIDB4ZDNlMCwgMCwgezB4ZWIsMHgwMCwweGIyLDB4NDAsMHg4YywweGIwLDB4MDMsMHg0MCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDNmMCwgMCwgezB4YTAsMHgxZCwweGZjLDB4MDAsMHhkZiwweDAwLDB4M2YsMHg0MCwweDBmLDB4ZTAsMHgwMywweGZjLDB4ODAsMHhmZiwweDI4LDB4M2QgfSwKLSAgMTYsIDB4ZDQwMCwgMCwgezB4YzAsMHgwYiwweGMxLDB4MDMsMHhiMCwweDE0LDB4ZmYsMHgwMCwweDNmLDB4MDAsMHgwZCwweGQwLDB4MDMsMHhkYywweDAwLDB4ZmMgfSwKLSAgMTYsIDB4ZDQxMCwgMCwgezB4MDAsMHgzNywweDQwLDB4MGYsMHhmMCwweDIxLDB4ZmMsMHgwMCwweDFkLDB4MDAsMHg3YiwweDQwLDB4OGYsMHhmMCwweDAzLDB4ZTAgfSwKLSAgMTYsIDB4ZDQyMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhkMiwweDAwLDB4ZGYsMHgwMCwweDMxLDB4YTAgfSwKLSAgMTYsIDB4ZDQzMCwgMCwgezB4NGQsMHhmMCwweDQzLDB4MzIsMHgwMCwweGNlLDB4MTQsMHgxYiwweDY4LDB4MGUsMHhkYSwweDIzLDB4YjIsMHhjMCwweDJmLDB4MDAgfSwKLSAgMTYsIDB4ZDQ0MCwgMCwgezB4M2YsMHhjMiwweDJjLDB4ZTgsMHgwMywweDNjLDB4NDAsMHhmZCwweDA4LDB4M2IsMHhjOCwweDRjLDB4ZjAsMHg4MywweDNjLDB4YTAgfSwKLSAgMTYsIDB4ZDQ1MCwgMCwgezB4Y2YsMHgwMCwweDMzLDB4YzQsMHgwYywweGYzLDB4MDcsMHhmMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDQ2MCwgMCwgezB4ODAsMHgxMCwweGUyLDB4MDAsMHg4ZiwweGMwLDB4MjIsMHhhMCwweDA4LDB4ZmQsMHg0MiwweDJmLDB4MDAsMHg4YiwweDcwLDB4MjIgfSwKLSAgMTYsIDB4ZDQ3MCwgMCwgezB4MWUsMHg0OCwweDg5LDB4MDIsMHgyNywweGMwLDB4OGYsMHg1YSwweDJlLDB4NTAsMHg0OCwweDMwLDB4MDIsMHhiZCwweGMwLDB4YmQgfSwKLSAgMTYsIDB4ZDQ4MCwgMCwgezB4NDAsMHgyMywweGM1LDB4NDgsMHhmNCwweDgyLDB4M2QsMHgyYywweDg3LDB4NzAsMHgyMiwweGMwLDB4MDgsMHhmMSwweDAzLDB4ZTAgfSwKLSAgMTYsIDB4ZDQ5MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhlMCwweDAwLDB4OTMsMHgxMCwweDI2LDB4ODEgfSwKLSAgMTYsIDB4ZDRhMCwgMCwgezB4NDksMHgzMCwweDAyLDB4ODAsMHg0MCwweDgzLDB4MjAsMHgyOCwweDQwLDB4MGEsMHgxMCwweDAyLDB4ODAsMHgwMCwweGEzLDB4MjQgfSwKLSAgMTYsIDB4ZDRiMCwgMCwgezB4MmMsMHhjYSwweDA4LDB4MzIsMHg4MiwweDBjLDB4MDAsMHg5MSwweDI4LDB4MjAsMHhjYSwweDFiLDB4MzIsMHgwMiwweDBjLDB4ODggfSwKLSAgMTYsIDB4ZDRjMCwgMCwgezB4ODMsMHgwOSwweDIwLDB4YzgsMHgwOSwweDMyLDB4MDIsMHhlMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDRkMCwgMCwgezB4YzAsMHgxNSwweGEzLDB4MTQsMHg4YiwweDA0LDB4MjYsMHg4OSwweDA4LDB4YjAsMHgwMiwweGFjLDB4MjIsMHg4YiwweDg4LDB4MmEgfSwKLSAgMTYsIDB4ZDRlMCwgMCwgezB4MjAsMHgwOCwweDk4LDB4ODIsMHhhNiwweDEwLDB4YWIsMHgwMCwweDJlLDB4Y2EsMHgwOCwweGIwLDB4ODIsMHhhYywweDAwLDB4YjkgfSwKLSAgMTYsIDB4ZDRmMCwgMCwgezB4MDAsMHgyMiwweGMwLDB4MjksMHhiMCwweDBhLDB4MmMsMHgwMSwweDhiLDB4MDAsMHgyMiwweGMwLDB4MDksMHhiMCwweDIyLDB4ZjAgfSwKLSAgMTYsIDB4ZDUwMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlMywweDAwLDB4ZGIsMHgwMCwweDM0LDB4ZTIgfSwKLSAgMTYsIDB4ZDUxMCwgMCwgezB4MGQsMHhiMCwweDAzLDB4YTMsMHgwMCwweGNhLDB4ODAsMHhiYSwweDcwLDB4MGUsMHg4OCwweDAzLDB4YTYsMHgwMCwweGViLDB4MDAgfSwKLSAgMTYsIDB4ZDUyMCwgMCwgezB4M2UsMHg5MCwweDBjLDB4YjUsMHgwMywweDJjLDB4MDAsMHhmYiwweDEwLDB4YmEsMHhjMCwweDBlLDB4YjAsMHgwMywweDJjLDB4MDIgfSwKLSAgMTYsIDB4ZDUzMCwgMCwgezB4Y2IsMHgwMiwweDMyLDB4YzAsMHgwOSwweGIwLDB4MDIsMHhkMCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDU0MCwgMCwgezB4ZTAsMHgwMSwweGIwLDB4MDgsMHhmZiwweDAwLDB4YmIsMHhlMCwweDBmLDB4NzAsMHgwMywweDY1LDB4MDAsMHhmNCwweDAwLDB4MzUgfSwKLSAgMTYsIDB4ZDU1MCwgMCwgezB4NDAsMHgwZiwweDQwLDB4MDMsMHg1NCwweDAwLDB4ZGYsMHgwMCwweDNlLDB4NDAsMHgwZiwweGY4LDB4MDMsMHhlYywweDAwLDB4ZjcgfSwKLSAgMTYsIDB4ZDU2MCwgMCwgezB4MDEsMHgzZCwweGMxLDB4MGUsMHgzMCwweDAzLDB4ZWMsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMwLDB4OGUsMHhmMCwweDAzLDB4YjggfSwKLSAgMTYsIDB4ZDU3MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhMCwweDQwLDB4ZWIsMHgwOCwweDNlLDB4ODAgfSwKLSAgMTYsIDB4ZDU4MCwgMCwgezB4MGQsMHhiMCwweDAzLDB4ZTAsMHgwMCwweGM4LDB4MDAsMHgzYSwweDUxLDB4MGYsMHg4MiwweDAzLDB4NjQsMHgyMCwweGRiLDB4MDAgfSwKLSAgMTYsIDB4ZDU5MCwgMCwgezB4M2QsMHg4MiwweDBjLDB4YmMsMHgwMywweDJjLDB4MTAsMHhkYiwweDAwLDB4NzIsMHhjMCwweDBkLDB4YjEsMHgwMywweDBjLDB4MjAgfSwKLSAgMTYsIDB4ZDVhMCwgMCwgezB4ZDMsMHgwMCwweDMyLDB4YzAsMHgwZiwweGIwLDB4MGIsMHg1MCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDViMCwgMCwgezB4YzgsMHgwNSwweDAxLDB4MDAsMHg4NywweGMwLDB4MmUsMHhhOCwweDA4LDB4ZjEsMHgxMiwweGM1LDB4NDAsMHg4OCwweDAwLDB4MjIgfSwKLSAgMTYsIDB4ZDVjMCwgMCwgezB4NDAsMHgwYiwweDg0LDB4MDIsMHgyNywweDAwLDB4YWYsMHgwMCwweDJlLDB4YzAsMHgwOCwweGJjLDB4MTIsMHgzYywweDAwLDB4OGIgfSwKLSAgMTYsIDB4ZDVkMCwgMCwgezB4MDEsMHgyMywweGMwLDB4MjgsMHhmNSwweDRhLDB4M2QsMHgyOCwweGRmLDB4MDAsMHgzMywweGMwLDB4NGIsMHhmMCwweDAzLDB4MzIgfSwKLSAgMTYsIDB4ZDVlMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0OCwweDgwLDB4YTMsMHg5MCwweDJjLDB4MDAgfSwKLSAgMTYsIDB4ZDVmMCwgMCwgezB4MDgsMHgzMCwweDAyLDB4YzEsMHgwMCwweDkyLDB4MDQsMHgyOCwweDAwLDB4MGIsMHgxNCwweDEyLDB4NDMsMHgwMCwweGIzLDB4MDQgfSwKLSAgMTYsIDB4ZDYwMCwgMCwgezB4MmMsMHgzMCwweDBhLDB4YjAsMHgwYSwweDhjLDB4MDAsMHg5MywweDAwLDB4NjAsMHhjMCwweDA4LDB4M2MsMHgwNiwweDBlLDB4MDEgfSwKLSAgMTYsIDB4ZDYxMCwgMCwgezB4YjMsMHgwMCwweDJlLDB4YzAsMHg4YiwweDMwLDB4MDYsMHgzOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDYyMCwgMCwgezB4MjAsMHgwMSwweDEyLDB4MDAsMHg4NywweDgwLDB4MmQsMHgyNCwweDA4LDB4NzgsMHgwMiwweGQyLDB4MDAsMHg5NSwweDgwLDB4MjEgfSwKLSAgMTYsIDB4ZDYzMCwgMCwgezB4YTAsMHgwYiwweDY4LDB4MDIsMHg1YSwweDIwLDB4ODcsMHg4MCwweDJkLDB4NjYsMHgxYSwweDdjLDB4MDIsMHg5ZSwweDAwLDB4ODcgfSwKLSAgMTYsIDB4ZDY0MCwgMCwgezB4ODAsMHgyMSwweGUxLDB4MTgsMHg3OSwweDAyLDB4OWUsMHg0MCwweGI3LDB4ODAsMHhhMSwweGUwLDB4MGIsMHg3OCwweDAyLDB4NDggfSwKLSAgMTYsIDB4ZDY1MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwMCwweDAwLDB4ZTMsMHhhMCwweDNjLDB4NDAgfSwKLSAgMTYsIDB4ZDY2MCwgMCwgezB4MGMsMHgzMCwweDAzLDB4YzQsMHgyMiwweGQ5LDB4MDAsMHgzOCwweGQ0LDB4MGYsMHgzMCwweDgzLDB4NjgsMHg0MCwweGYzLDB4MDAgfSwKLSAgMTYsIDB4ZDY3MCwgMCwgezB4M2MsMHg4MCwweDBhLDB4MzIsMHgwMiwweDhjLDB4MDAsMHhkYiwweDAwLDB4YTIsMHhjNCwweDBjLDB4MzAsMHgwMywweDBjLDB4MDAgfSwKLSAgMTYsIDB4ZDY4MCwgMCwgezB4ZjMsMHgwMCwweDNjLDB4YzAsMHgwZiwweGIxLDB4MDMsMHgxMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDY5MCwgMCwgezB4NDAsMHgwZCwweGIwLDB4MDAsMHhmZiwweDEwLDB4M2YsMHg0MCwweDBlLDB4ZjAsMHgwMywweGZjLDB4MDAsMHhlZCwweDAwLDB4M2YgfSwKLSAgMTYsIDB4ZDZhMCwgMCwgezB4YzAsMHgwZiwweDMwLDB4MTMsMHhiYywweDQwLDB4N2YsMHgxMCwweDNmLDB4YzEsMHgyZCwweGYwLDB4MDMsMHg3YywweDAwLDB4ZmIgfSwKLSAgMTYsIDB4ZDZiMCwgMCwgezB4NDAsMHgzZiwweGMyLDB4MGUsMHhmNCwweDgzLDB4N2MsMHgwMCwweGRmLDB4MDAsMHgzZiwweGMyLDB4MGYsMHhmMCwweDAzLDB4OTAgfSwKLSAgMTYsIDB4ZDZjMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlYywweDAwLDB4ZGIsMHhhMCwweDMyLDB4YzAgfSwKLSAgMTYsIDB4ZDZkMCwgMCwgezB4MGQsMHhiNywweDAzLDB4ZTAsMHgwMCwweGNhLDB4MDQsMHgzZSwweDgwLDB4MGYsMHhiOCwweDAzLDB4MmMsMHgxMCwweGZiLDB4MDAgfSwKLSAgMTYsIDB4ZDZlMCwgMCwgezB4MzMsMHgwMCwweDhkLDB4YjAsMHgwMywweDJjLDB4ODAsMHhlOSwweDQwLDB4M2UsMHhkMiwweDBmLDB4YjQsMHgwMywweDJkLDB4ODAgfSwKLSAgMTYsIDB4ZDZmMCwgMCwgezB4ZWIsMHgyMCwweGIyLDB4YzAsMHgwZiwweGIyLDB4MDMsMHhlYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDcwMCwgMCwgezB4NDgsMHgxMSwweDkwLDB4MDAsMHhiNywweDEwLDB4MTEsMHhjMCwweDA4LDB4NzAsMHg4MiwweGQ4LDB4MGEsMHg4NywweDAxLDB4MmQgfSwKLSAgMTYsIDB4ZDcxMCwgMCwgezB4ODAsMHg4OSwweDcwLDB4MDMsMHhkOCwweDA4LDB4YjcsMHgwYSwweDIxLDB4NDAsMHgyYywweDcwLDB4MDIsMHgwZCwweGMwLDB4ODUgfSwKLSAgMTYsIDB4ZDcyMCwgMCwgezB4MDEsMHg3OSwweGM4LDB4MGIsMHgzMiwweDAyLDB4MGQsMHgyMCwweDhmLDB4MjgsMHgyMSwweGMwLDB4MGIsMHg3MiwweDgyLDB4ZDIgfSwKLSAgMTYsIDB4ZDczMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4NDAsMHg5NiwweDEwLDB4OTcsMHg5MCwweDIzLDB4ZTAgfSwKLSAgMTYsIDB4ZDc0MCwgMCwgezB4MDksMHg3YSwweDAyLDB4ZDYsMHgwMCwweDk3LDB4ODAsMHgyZCwweGYwLDB4MGIsMHg3OCwweDgyLDB4MWUsMHgwMCwweGIzLDB4YjAgfSwKLSAgMTYsIDB4ZDc1MCwgMCwgezB4MjEsMHhhMCwweDA4LDB4NzgsMHgwMiwweDFlLDB4MDAsMHhhNSwweDgwLDB4MmQsMHhlMCwweDBiLDB4N2EsMHgwMiwweDFlLDB4ODAgfSwKLSAgMTYsIDB4ZDc2MCwgMCwgezB4YTcsMHhiMCwweDIxLDB4ZTgsMHgwYiwweDc5LDB4MDIsMHhmMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDc3MCwgMCwgezB4NDgsMHgxNCwweGMwLDB4MDAsMHhiMywweDAwLDB4MjAsMHhlMiwweDA4LDB4MzAsMHgwMiwweGM2LDB4NDAsMHg5MywweDcwLDB4MmMgfSwKLSAgMTYsIDB4ZDc4MCwgMCwgezB4YzAsMHgwOSwweDNjLDB4MDIsMHg4ZSwweDAwLDB4YjMsMHgwMCwweDIwLDB4ZDgsMHgwOCwweDE4LDB4MDIsMHgwYywweDAwLDB4ODEgfSwKLSAgMTYsIDB4ZDc5MCwgMCwgezB4OTAsMHgyZSwweGMwLDB4MGIsMHgzMCwweDJhLDB4MmMsMHgxMCwweDgzLDB4MDAsMHhhMCwweGMwLDB4MGIsMHgzMCwweDAyLDB4ZDIgfSwKLSAgMTYsIDB4ZDdhMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTEsMHhiOSwweDAwLDB4ZGEsMHgwMiwweDMzLDB4YjggfSwKLSAgMTYsIDB4ZDdiMCwgMCwgezB4MGQsMHhhMCwweDAzLDB4ZjgsMHgwMCwweGRlLDB4YzAsMHgzZiwweGIwLDB4NGYsMHhlYywweDA2LDB4MzgsMHg0MCwweGZhLDB4MDAgfSwKLSAgMTYsIDB4ZDdjMCwgMCwgezB4YjMsMHg5MCwweDBjLDB4NmMsMHgwYiwweDI4LDB4MDgsMHhlYSwweDAxLDB4N2UsMHg4MCwweDBmLDB4YTAsMHgwMywweDI4LDB4MDAgfSwKLSAgMTYsIDB4ZDdkMCwgMCwgezB4ZWEsMHgwMCwweDMyLDB4ODAsMHgwZiwweGEwLDB4MDMsMHhmYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDdlMCwgMCwgezB4NDgsMHgwMCwweGUwLDB4MDAsMHhmOCwweDQwLDB4M2EsMHgwMCwweDBmLDB4ODQsMHgwMywweGUxLDB4MDAsMHhlOCwweDAyLDB4M2UgfSwKLSAgMTYsIDB4ZDdmMCwgMCwgezB4MDAsMHgwZiwweDg0LDB4MDMsMHhlMSwweDQwLDB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDgxLDB4MDMsMHhlMCwweDAwLDB4ZjggfSwKLSAgMTYsIDB4ZDgwMCwgMCwgezB4MDAsMHgzYSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZDIgfSwKLSAgMTYsIDB4ZDgxMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDIwLDB4ZjksMHhjMCwweDNlLDB4NzAgfSwKLSAgMTYsIDB4ZDgyMCwgMCwgezB4MGUsMHg5MCwweDAyLDB4ZTQsMHg4MCwweGM5LDB4MDAsMHgzMiwweDQyLDB4MGMsMHg5OCwweDgzLDB4YTQsMHg4NCwweGY5LDB4MDAgfSwKLSAgMTYsIDB4ZDgzMCwgMCwgezB4YjIsMHg2MCwweDBjLDB4OTAsMHg4MywweDI0LDB4MDAsMHhjOSwweDAwLDB4M2UsMHg0MCwweDBjLDB4MWEsMHgwMiwweDI0LDB4MDAgfSwKLSAgMTYsIDB4ZDg0MCwgMCwgezB4YzEsMHgwMCwweGIyLDB4NDAsMHgwZiwweDkwLDB4MDEsMHhjMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDg1MCwgMCwgezB4ODAsMHgwNCwweDY1LDB4MDAsMHhiOSwweDgxLDB4MmMsMHg2MCwweDBkLDB4OTQsMHhjMiwweGM3LDB4MDgsMHg4OSwweDAwLDB4MjIgfSwKLSAgMTYsIDB4ZDg2MCwgMCwgezB4NDAsMHgwOCwweDk1LDB4YzcsMHhhNCwweDAwLDB4YjksMHgwMCwweDI4LDB4NzAsMHhhOCwweDk0LDB4MGEsMHgyNCwweDAwLDB4ODkgfSwKLSAgMTYsIDB4ZDg3MCwgMCwgezB4MDQsMHgyZSwweDQwLDB4MjgsMHg5MCwweDJhLDB4MjYsMHgwMCwweDg5LDB4MDAsMHgyMiwweDQwLDB4MGIsMHg5MCwweDAyLDB4ZTAgfSwKLSAgMTYsIDB4ZDg4MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDAwLDB4YjksMHg0MCwweDJlLDB4NDAgfSwKLSAgMTYsIDB4ZDg5MCwgMCwgezB4MGEsMHg5MCwweDAyLDB4ZTUsMHgwMCwweDgxLDB4MDAsMHhhMCwweDQwLDB4MDksMHg5MCwweDQyLDB4ZWMsMHgwMCwweGIxLDB4MDAgfSwKLSAgMTYsIDB4ZDhhMCwgMCwgezB4MjIsMHg1OCwweDA4LDB4OTAsMHhhMiwweDA0LDB4MDIsMHg4OSwweDAwLDB4MmUsMHg0MCwweDA4LDB4OTAsMHgwMiwweGE0LDB4YTAgfSwKLSAgMTYsIDB4ZDhiMCwgMCwgezB4ODksMHgwMCwweDIyLDB4NDAsMHgwYiwweDkwLDB4MDIsMHhjNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDhjMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4MDAsMHhiMSwweDIwLDB4MmUsMHhjMCwweDg5LDB4MTIsMHgwMiwweGM0LDB4ODAsMHg4MSwweDIwLDB4MjAgfSwKLSAgMTYsIDB4ZDhkMCwgMCwgezB4NDAsMHg2MSwweDEwLDB4NDIsMHhjNSwweDAwLDB4YjEsMHgyMCwweDI4LDB4NDgsMHgxOCwweDkwLDB4NDIsMHgwNCwweDgwLDB4ODEgfSwKLSAgMTYsIDB4ZDhlMCwgMCwgezB4MjgsMHgyYywweDQ4LDB4MDgsMHgxMiwweDgyLDB4ODQsMHhhMCwweDgxLDB4MjAsMHgyMCwweDQ4LDB4MGIsMHgxMiwweDgyLDB4YzIgfSwKLSAgMTYsIDB4ZDhmMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2OCwweDAwLDB4ZjgsMHgwMCwweDJlLDB4MDAgfSwKLSAgMTYsIDB4ZDkwMCwgMCwgezB4MGUsMHg4MCwweDAzLDB4ZTAsMHgwOCwweGM4LDB4NTAsMHgzMiwweDE0LDB4MGQsMHg4MCwweDE3LDB4ZTgsMHgwNCwweGY4LDB4NTAgfSwKLSAgMTYsIDB4ZDkxMCwgMCwgezB4MzIsMHgxNCwweDRjLDB4MDUsMHgwYiwweDIxLDB4NDAsMHhjOCwweDIwLDB4M2UsMHgwMCwweDBjLDB4ODcsMHgwMywweGExLDB4YzIgfSwKLSAgMTYsIDB4ZDkyMCwgMCwgezB4YzgsMHgwMCwweDMyLDB4MTQsMHg4ZiwweDgyLDB4MDMsMHhlZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDkzMCwgMCwgezB4OTgsMHgxZCwweGY0LDB4MDAsMHhmMSwweDEwLDB4M2QsMHg0MCwweDBmLDB4OTEsMHgwMiwweGQ0LDB4NDIsMHhmZCwweDEwLDB4M2YgfSwKLSAgMTYsIDB4ZDk0MCwgMCwgezB4NTEsMHgwZSwweDU0LDB4MTMsMHhiNSwweDAwLDB4ZjksMHgxMCwweDM1LDB4NDQsMHgyZiwweGQwLDB4MDMsMHhlNCwweDUwLDB4ZmQgfSwKLSAgMTYsIDB4ZDk1MCwgMCwgezB4MjgsMHgzZSwweDRlLDB4MGYsMHg5MCwweDAzLDB4NjQsMHgwMCwweGY5LDB4MzgsMHgzZSwweDQ0LDB4MGYsMHg5MiwweDgzLDB4ZTYgfSwKLSAgMTYsIDB4ZDk2MCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MTUsMHhmNCwweDAwLDB4ZmQsMHgwMCwweDNkLDB4NDAgfSwKLSAgMTYsIDB4ZDk3MCwgMCwgezB4MmMsMHhkMCwweDAzLDB4YjYsMHgwMCwweGY5LDB4ODIsMHgzZSwweDQwLDB4MGMsMHhkMCwweDAzLDB4ZjQsMHgwMCwweGY5LDB4ODAgfSwKLSAgMTYsIDB4ZDk4MCwgMCwgezB4MzMsMHg3MCwweDBjLDB4NTAsMHgwMywweDM0LDB4MDAsMHhjOSwweGMwLDB4M2UsMHg0MCwweDBjLDB4ZGEsMHgwMywweDE2LDB4ODAgfSwKLSAgMTYsIDB4ZDk5MCwgMCwgezB4YzksMHg0MCwweDNlLDB4NjIsMHgyYywweDk4LDB4ODMsMHgwNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDlhMCwgMCwgezB4MzgsMHgxMCwweGUwLDB4MDAsMHhiOCwweDAwLDB4MmUsMHgwMCwweDA4LDB4ODAsMHgwMiwweDI4LDB4MDAsMHhiOCwweDUwLDB4MjYgfSwKLSAgMTYsIDB4ZDliMCwgMCwgezB4MDAsMHgwOCwweGEwLDB4MDIsMHhlOCwweDAwLDB4YjgsMHgwMCwweDJhLDB4MzQsMHgyYSwweGFhLDB4MGEsMHgyMCwweDAwLDB4ODggfSwKLSAgMTYsIDB4ZDljMCwgMCwgezB4YzAsMHgyZSwweDJhLDB4MDgsMHg4MCwweDIyLDB4MjEsMHgwMCwweGE4LDB4ODAsMHgyZSwweDAwLDB4MDgsMHg4MCwweDAyLDB4MGUgfSwKLSAgMTYsIDB4ZDlkMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweDAwLDB4YjEsMHgwMCwweDJlLDB4NDAgfSwKLSAgMTYsIDB4ZDllMCwgMCwgezB4NDgsMHgxMCwweDA2LDB4OGQsMHgwMCwweGIxLDB4MDAsMHgyYywweDQwLDB4MjgsMHgxMCwweDAyLDB4YzQsMHgwMCwweGIxLDB4NDAgfSwKLSAgMTYsIDB4ZDlmMCwgMCwgezB4MmMsMHg0OCwweDA4LDB4MTAsMHg4MiwweDQ0LDB4MDAsMHg4MSwweDYwLDB4MmMsMHg0MCwweDI4LDB4MTQsMHgwYSwweDA0LDB4NDAgfSwKLSAgMTYsIDB4ZGEwMCwgMCwgezB4ODEsMHgyMCwweDJjLDB4NDAsMHgwOCwweDEwLDB4MDIsMHgwMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGExMCwgMCwgezB4MTgsMHgwNSwweGE0LDB4NDAsMHhiOSwweDAwLDB4MmUsMHg0MCwweDA4LDB4YjAsMHgwMiwweDI0LDB4MDAsMHhiOSwweDI4LDB4MmUgfSwKLSAgMTYsIDB4ZGEyMCwgMCwgezB4NTAsMHgwOCwweDkwLDB4MjIsMHhlNCwweDAwLDB4YjksMHgwMCwweDJlLDB4NjAsMHgwYiwweDEyLDB4NDIsMHg2NCwweDAwLDB4ODkgfSwKLSAgMTYsIDB4ZGEzMCwgMCwgezB4MDAsMHgyYywweDQwLDB4MDksMHg5MCwweDAyLDB4MjQsMHgwMCwweGE5LDB4MDAsMHgyYywweDQwLDB4MDgsMHgxMCwweDAyLDB4NDYgfSwKLSAgMTYsIDB4ZGE0MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MDUsMHhlNiwweDAwLDB4ZjksMHgwMCwweDNjLDB4NDIgfSwKLSAgMTYsIDB4ZGE1MCwgMCwgezB4MGMsMHg5MCwweDAzLDB4YTcsMHg0MCwweGY5LDB4NDAsMHgzZSwweDcwLDB4MGMsMHg5OCwweDAyLDB4ZTUsMHg0MCwweGY5LDB4MDAgfSwKLSAgMTYsIDB4ZGE2MCwgMCwgezB4M2UsMHg0MCwweDBjLDB4OTgsMHgwMywweDY0LDB4MDYsMHhjOSwweDAxLDB4MmUsMHg0MCwweDBjLDB4OTAsMHgwMywweDI0LDB4MDQgfSwKLSAgMTYsIDB4ZGE3MCwgMCwgezB4YzksMHgwMCwweDNlLDB4NDAsMHgwYywweDkwLDB4MGIsMHgyOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGE4MCwgMCwgezB4MjgsMHgwMSwweGE0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHg4MywweGU2LDB4MTAsMHhmOSwweDAwLDB4MzYgfSwKLSAgMTYsIDB4ZGE5MCwgMCwgezB4NjgsMHgwZiwweDljLDB4MDMsMHhlNiwweDAwLDB4ZjksMHgwMCwweDNhLDB4NDAsMHgwZSwweDk4LDB4OTMsMHhhNCwweDAwLDB4ZjkgfSwKLSAgMTYsIDB4ZGFhMCwgMCwgezB4MDAsMHgzZSwweDQwLDB4MGUsMHg5MCwweDgzLDB4YzQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4OGEgfSwKLSAgMTYsIDB4ZGFiMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDAsMHhhMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDQgfSwKLSAgMTYsIDB4ZGFjMCwgMCwgezB4MGMsMHg4MCwweDAzLDB4MjEsMHgwMiwweGM4LDB4NDAsMHgzMiwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZTEsMHgwMCwweGYwLDB4MDAgfSwKLSAgMTYsIDB4ZGFkMCwgMCwgezB4M2UsMHgwMiwweDBjLDB4ODAsMHgwMywweDIwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBjLDB4MDAsMHgwMywweDIwLDB4MDAgfSwKLSAgMTYsIDB4ZGFlMCwgMCwgezB4YzgsMHgwMCwweDMyLDB4MDAsMHgwZiwweDgwLDB4MDMsMHgwYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGFmMCwgMCwgezB4MjgsMHgxNSwweDNhLDB4MDAsMHhiZSwweDAyLDB4MmYsMHhiMCwweDA4LDB4NjgsMHgxMiwweDM4LDB4MDAsMHg4YSwweDA0LDB4MmEgfSwKLSAgMTYsIDB4ZGIwMCwgMCwgezB4ODAsMHgwYiwweGUwLDB4NDIsMHhmYiwweDIwLDB4YmEsMHgwMCwweDJmLDB4OTEsMHgwOCwweGUwLDB4MDIsMHgyOCwweDAwLDB4YmEgfSwKLSAgMTYsIDB4ZGIxMCwgMCwgezB4MDAsMHgyNiwweDgwLDB4MDgsMHhlZSwweDBhLDB4MzgsMHgwMCwweDhhLDB4MDAsMHgyMiwweDgwLDB4MGIsMHhhMCwweDAyLDB4OGEgfSwKLSAgMTYsIDB4ZGIyMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0MiwweDAwLDB4YjMsMHgwMCwweDJjLDB4YzIgfSwKLSAgMTYsIDB4ZGIzMCwgMCwgezB4MjgsMHgzOCwweDBhLDB4NDgsMHgwMCwweDgzLDB4MDQsMHgyMiwweGMwLDB4MGIsMHgxMCwweDAyLDB4Y2QsMHg4MCwweGIzLDB4MDAgfSwKLSAgMTYsIDB4ZGI0MCwgMCwgezB4MmUsMHhjMCwweDA4LDB4MWMsMHgwMiwweDI0LDB4MDAsMHhiMywweDAwLDB4MmMsMHhjMCwweDA4LDB4MzQsMHgxMiwweDBlLDB4NDAgfSwKLSAgMTYsIDB4ZGI1MCwgMCwgezB4ODMsMHgwMCwweDIwLDB4YzAsMHgwYiwweDMwLDB4MTIsMHgwYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGI2MCwgMCwgezB4YTAsMHgwMSwweDExLDB4MDAsMHhiNywweDAwLDB4MmYsMHhjMCwweDA4LDB4NzAsMHhhMiwweDRlLDB4MDAsMHg4ZiwweGIwLDB4MjEgfSwKLSAgMTYsIDB4ZGI3MCwgMCwgezB4Y2MsMHgwYiwweDYwLDB4MTIsMHhkYywweDEwLDB4YjcsMHgzMCwweDJkLDB4YzAsMHgwOCwweGQwLDB4ODIsMHgxNCwweDgwLDB4YjcgfSwKLSAgMTYsIDB4ZGI4MCwgMCwgezB4MTIsMHgyNSwweGM4LDB4MjgsMHg2MCwweDAyLDB4MTQsMHgwMCwweDg3LDB4YjIsMHgyMSwweGNjLDB4MGIsMHgzMSwweDAyLDB4YTggfSwKLSAgMTYsIDB4ZGI5MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxMiwweDAwLDB4ZjcsMHg4MCwweDNkLDB4ZTAgfSwKLSAgMTYsIDB4ZGJhMCwgMCwgezB4MGMsMHgzOCwweDAzLDB4NTYsMHgwMCwweGM3LDB4OTAsMHhiMSwweGU0LDB4MGYsMHg3OCwweDAzLDB4ZGUsMHgwMCwweGY3LDB4OTAgfSwKLSAgMTYsIDB4ZGJiMCwgMCwgezB4MWYsMHg2MCwweDJjLDB4NDgsMHgwYiwweDE2LDB4YTAsMHhmNywweDgwLDB4M2MsMHhmNCwweDBjLDB4MzgsMHgwMywweDFlLDB4MDAgfSwKLSAgMTYsIDB4ZGJjMCwgMCwgezB4Y2YsMHhhMCwweGIxLDB4ZTgsMHgwZiwweDdiLDB4MDMsMHgyYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGJkMCwgMCwgezB4MDgsMHgwZCwweGEwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHhjMCwweDBiLDB4YjAsMHgwMywweGFjLDB4MDAsMHhmMywweDIxLDB4M2UgfSwKLSAgMTYsIDB4ZGJlMCwgMCwgezB4YzgsMHgwNywweGIwLDB4MDIsMHhlNCwweDAwLDB4ZmIsMHgyMCwweDNmLDB4NDAsMHgwZiwweDgwLDB4MDMsMHhlNCwweDgwLDB4ZmIgfSwKLSAgMTYsIDB4ZGJmMCwgMCwgezB4MDAsMHgzNiwweGQwLDB4MGYsMHhhMCwweDAzLDB4ZTAsMHgwOCwweGZiLDB4NDIsMHgzZSwweGQ4LDB4MGYsMHhiMCwweDAzLDB4YzIgfSwKLSAgMTYsIDB4ZGMwMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmMCwweDgwLDB4Y2YsMHg4MCwweDMxLDB4ZTEgfSwKLSAgMTYsIDB4ZGMxMCwgMCwgezB4MGMsMHhmOCwweDAzLDB4ZGEsMHgxMCwweGVmLDB4ODAsMHgzZiwweGU0LDB4MGYsMHhkOCwweDAzLDB4ZmUsMHgxMCwweGZmLDB4ODIgfSwKLSAgMTYsIDB4ZGMyMCwgMCwgezB4M2YsMHhlMCwweDRjLDB4ZDgsMHgxYiwweDE2LDB4MjAsMHhjZiwweDgwLDB4M2YsMHhlMCwweDRjLDB4ZDgsMHgzMCwweGVlLDB4NDAgfSwKLSAgMTYsIDB4ZGMzMCwgMCwgezB4ZmYsMHhjMCwweGIzLDB4ZjQsMHgwZiwweGY4LDB4MDMsMHhjMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGM0MCwgMCwgezB4YTgsMHgwMSwweDk4LDB4MjAsMHg4MywweDQwLDB4MjEsMHhjMCwweDA4LDB4NzEsMHgwMiwweGRjLDB4ODQsMHg4NywweDIwLDB4MmQgfSwKLSAgMTYsIDB4ZGM1MCwgMCwgezB4YzAsMHgwYiwweDYwLDB4MDIsMHhkOSwweDYwLDB4ZjcsMHgwMCwweDJkLDB4YzAsMHgwOCwweGYwLDB4ODIsMHgxNCwweDA0LDB4ODcgfSwKLSAgMTYsIDB4ZGM2MCwgMCwgezB4MDAsMHgyZCwweGMwLDB4MDgsMHhmMCwweDAzLDB4MWUsMHgwMCwweGI3LDB4MjAsMHgyMSwweGMwLDB4OGIsMHg3MCwweDAyLDB4ZWEgfSwKLSAgMTYsIDB4ZGM3MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhiMCwweDAwLDB4ODcsMHgwMCwweDIxLDB4ODAgfSwKLSAgMTYsIDB4ZGM4MCwgMCwgezB4MDgsMHg3MCwweDAyLDB4ZjUsMHgwNCwweDI3LDB4MDAsMHgyZCwweGMwLDB4OGIsMHg3MCwweDAyLDB4ZGMsMHgwMCwweGI3LDB4MDAgfSwKLSAgMTYsIDB4ZGM5MCwgMCwgezB4MmMsMHg1MCwweDA4LDB4NDAsMHgwMiwweDE0LDB4MDAsMHg4NywweDAwLDB4MmQsMHhjMCwweDA4LDB4NTAsMHgwMiwweDVjLDB4MDQgfSwKLSAgMTYsIDB4ZGNhMCwgMCwgezB4YjcsMHgwMCwweGExLDB4YzAsMHg4YiwweDcwLDB4MDIsMHhjMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGNiMCwgMCwgezB4MjAsMHgxNCwweGM4LDB4MDAsMHg4MCwweDAwLDB4MDAsMHg4MCwweDA4LDB4MzAsMHgwMiwweGNlLDB4MDAsMHg4MywweGMwLDB4MmMgfSwKLSAgMTYsIDB4ZGNjMCwgMCwgezB4ZDAsMHg0YiwweDMwLDB4MDIsMHhjZSwweDAwLDB4YWIsMHgwMiwweDJjLDB4NDAsMHg0OCwweGJjLDB4MDIsMHgwNCwweDAwLDB4ODMgfSwKLSAgMTYsIDB4ZGNkMCwgMCwgezB4MDAsMHgyYywweGMwLDB4MDgsMHgxMCwweDAyLDB4MDAsMHgwOCwweGIzLDB4MDAsMHgyMCwweGMwLDB4MDksMHgzMCwweDAyLDB4YzggfSwKLSAgMTYsIDB4ZGNlMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHg4MywweDQwLDB4YzgsMHgwMCwweDMwLDB4YzAgfSwKLSAgMTYsIDB4ZGNmMCwgMCwgezB4MmMsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGVmLDB4ODgsMHgzZiwweGU2LDB4MDcsMHhiMSwweDgzLDB4ZTEsMHgwMCwweGJmLDB4MDAgfSwKLSAgMTYsIDB4ZGQwMCwgMCwgezB4M2UsMHhlMCwweDBjLDB4YjgsMHgwMywweDM0LDB4MDAsMHhjZiwweDAwLDB4M2YsMHhjMCwweDJjLDB4YjAsMHgwMywweDY4LDB4MTAgfSwKLSAgMTYsIDB4ZGQxMCwgMCwgezB4ZmYsMHgwMCwweDMzLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhlYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGQyMCwgMCwgezB4ODAsMHgwMCwweGU0LDB4MDAsMHhmMSwweDQwLDB4M2UsMHhjMCwweDBmLDB4YjQsMHgwMywweGVkLDB4NDAsMHhmYiwweDA4LDB4M2UgfSwKLSAgMTYsIDB4ZGQzMCwgMCwgezB4YzAsMHgwZiwweGEwLDB4MDMsMHhlNSwweDIwLDB4ZmIsMHgwMCwweDNlLDB4ZTAsMHgwZCwweGIwLDB4ODMsMHhlNCwweDAwLDB4ZjMgfSwKLSAgMTYsIDB4ZGQ0MCwgMCwgezB4MDAsMHgzZSwweGMwLDB4MGYsMHg4MCwweDAzLDB4YzQsMHgwMCwweGZiLDB4MDAsMHgzZSwweGMwLDB4MGYsMHgzMCwweDAzLDB4ZTAgfSwKLSAgMTYsIDB4ZGQ1MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmMCwweDAwLDB4Y2EsMHgwMCwweDMzLDB4ZTAgfSwKLSAgMTYsIDB4ZGQ2MCwgMCwgezB4NGUsMHhmMCwweDAzLDB4MzQsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMwLDB4OGYsMHhlOCwweDAzLDB4ZjAsMHgwMCwweGZmLDB4MDAgfSwKLSAgMTYsIDB4ZGQ3MCwgMCwgezB4YjEsMHg0MCwweDBjLDB4ZTAsMHgwMywweDM0LDB4MDAsMHhlZiwweDAwLDB4YjMsMHhjMCwweDBjLDB4ZjAsMHgwMywweDM4LDB4MDAgfSwKLSAgMTYsIDB4ZGQ4MCwgMCwgezB4Y2YsMHgwMCwweDNkLDB4YzAsMHgwYSwweGYwLDB4MDMsMHgwMCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGQ5MCwgMCwgezB4ODEsMHgwNCwweDYyLDB4MjIsMHg4OCwweDkwLDB4MjIsMHhlMCwweDA4LDB4M2MsMHgwMiwweDJlLDB4MDgsMHhiYiwweDAxLDB4MmUgfSwKLSAgMTYsIDB4ZGRhMCwgMCwgezB4YzAsMHgwYiwweGEwLDB4MDIsMHg2NiwweDAwLDB4YmIsMHgwMCwweDIyLDB4YTAsMHgwOCwweGE5LDB4MDIsMHgyNCwweDAwLDB4YmIgfSwKLSAgMTYsIDB4ZGRiMCwgMCwgezB4MDAsMHgyMiwweGMwLDB4MjgsMHgyYywweDAyLDB4YTIsMHgwMCwweGRiLDB4MDAsMHgyZSwweGMwLDB4MGEsMHhiMCwweDAyLDB4YTAgfSwKLSAgMTYsIDB4ZGRjMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyMiwweDAwLDB4OTgsMHgwMCwweDIyLDB4YzggfSwKLSAgMTYsIDB4ZGRkMCwgMCwgezB4MGEsMHg5OCwweDAyLDB4MjcsMHgwNCwweGJiLDB4MDAsMHgyZSwweGMwLDB4MGIsMHhiMSwweDAyLDB4ZTIsMHgwMCwweGJiLDB4MDAgfSwKLSAgMTYsIDB4ZGRlMCwgMCwgezB4MjIsMHhlMiwweDA4LDB4YjAsMHgwMiwweGE0LDB4MDAsMHhhYiwweDAwLDB4MjAsMHhjMCwweDBhLDB4ODgsMHg4MiwweDIzLDB4MDAgfSwKLSAgMTYsIDB4ZGRmMCwgMCwgezB4OGIsMHgwMCwweDJlLDB4YzAsMHgwOCwweGIwLDB4MDIsMHhhMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGUwMCwgMCwgezB4MDgsMHgxNCwweDA0LDB4MDAsMHg5MSwweDQwLDB4MjIsMHhjMCwweDA4LDB4MTAsMHgwMiwweDBjLDB4MDAsMHhiMywweDAwLDB4MmMgfSwKLSAgMTYsIDB4ZGUxMCwgMCwgezB4YzAsMHg0YiwweDI4LDB4MjIsMHg0MCwweDA0LDB4YjMsMHgwMCwweDIwLDB4YzAsMHgyOCwweDMwLDB4MGEsMHgwNCwweDA0LDB4YjMgfSwKLSAgMTYsIDB4ZGUyMCwgMCwgezB4MDAsMHg2MCwweGMwLDB4MDgsMHgwMCwweDAyLDB4ODQsMHgyMCwweDkzLDB4MDAsMHgyYywweGMwLDB4MGEsMHgzMCwweDAyLDB4ODIgfSwKLSAgMTYsIDB4ZGUzMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHg2MCwweDAwLDB4ZGEsMHg0MCwweGIyLDB4ODAgfSwKLSAgMTYsIDB4ZGU0MCwgMCwgezB4MGUsMHg5MCwweDAzLDB4MjQsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMwLDB4OGYsMHhhMCwweDAzLDB4ZTAsMHgwOSwweGZmLDB4MDAgfSwKLSAgMTYsIDB4ZGU1MCwgMCwgezB4MzIsMHg0MCwweDA4LDB4YTAsMHgwYiwweDM0LDB4MDAsMHhlYiwweDAwLDB4MzEsMHhjMCwweDBjLDB4ODAsMHgwMywweDI4LDB4ODAgfSwKLSAgMTYsIDB4ZGU2MCwgMCwgezB4YzcsMHgwMCwweDNmLDB4YzAsMHgwYywweGYwLDB4MDMsMHgwMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGU3MCwgMCwgezB4YTAsMHgxNSwweGQwLDB4MDAsMHhlYywweDIwLDB4M2YsMHgwMCwweDBmLDB4YzAsMHgwYiwweGZjLDB4MTAsMHhmZiwweDAxLDB4M2YgfSwKLSAgMTYsIDB4ZGU4MCwgMCwgezB4YzAsMHgwZiwweGUwLDB4MDMsMHhmNCwweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmNCwweDAwLDB4ZmYgfSwKLSAgMTYsIDB4ZGU5MCwgMCwgezB4MDAsMHgzZiwweGMwLDB4NGYsMHhjMCwweDAxLDB4ZjAsMHgwOCwweGZmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZTggfSwKLSAgMTYsIDB4ZGVhMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmYywweDAwLDB4Y2MsMHg5MCwweDM3LDB4MjAgfSwKLSAgMTYsIDB4ZGViMCwgMCwgezB4MGUsMHhmMCwweDEzLDB4YmQsMHgwNCwweGQ0LDB4YzEsMHgzMywweDJjLDB4NGMsMHhkOSwweDIzLDB4MzIsMHg2MCwweGZmLDB4MjAgfSwKLSAgMTYsIDB4ZGVjMCwgMCwgezB4M2QsMHhlMCwweDRmLDB4YzEsMHgwMywweGI2LDB4NDAsMHhjZCwweDAwLDB4MzcsMHhlMCwweDBjLDB4ZTIsMHg4YiwweDEwLDB4YzAgfSwKLSAgMTYsIDB4ZGVkMCwgMCwgezB4Y2QsMHgwMCwweDMzLDB4YzYsMHgwZiwweGQ4LDB4MDMsMHgzMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGVlMCwgMCwgezB4ODAsMHgxMCwweGVlLDB4MDgsMHg4YSwweDIwLDB4MjIsMHgwMCwweDA4LDB4YjcsMHgwMiwweDJkLDB4MDAsMHg4YSwweDAwLDB4YjYgfSwKLSAgMTYsIDB4ZGVmMCwgMCwgezB4M2MsMHgwOCwweDk5LDB4MDIsMHgyNywweDg0LDB4YmYsMHg2OCwweDJlLDB4ODIsMHgwYiwweDAxLDB4MDIsMHgyNCwweDQwLDB4ZDkgfSwKLSAgMTYsIDB4ZGYwMCwgMCwgezB4NDIsMHgyMCwweGMwLDB4OGEsMHhhYywweDAyLDB4MmQsMHhjMiwweDgyLDB4NDgsMHhhMiwweGQwLDB4MGIsMHg4MiwweDAyLDB4MjAgfSwKLSAgMTYsIDB4ZGYxMCwgMCwgezB4MDYsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDAwLDB4ODgsMHgwNCwweDI2LDB4ODAgfSwKLSAgMTYsIDB4ZGYyMCwgMCwgezB4MmEsMHgzMCwweGMyLDB4YTUsMHg4MCwweGE5LDB4MjEsMHgyOCwweDAwLDB4OGEsMHgwMCwweDAyLDB4MDAsMHgwMCwweGEzLDB4MTAgfSwKLSAgMTYsIDB4ZGYzMCwgMCwgezB4MmMsMHhjOCwweDBiLDB4MDAsMHgwMiwweGM0LDB4OTAsMHg4MywweDQyLDB4MjQsMHhjMSwweDA4LDB4MDAsMHgwMiwweDQwLDB4ODggfSwKLSAgMTYsIDB4ZGY0MCwgMCwgezB4YTMsMHg2MCwweGE4LDB4YzAsMHgwYiwweDAwLDB4YzIsMHgyMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGY1MCwgMCwgezB4YzAsMHgxNSwweGFjLDB4MDYsMHg4YSwweDAwLDB4MjIsMHhlMCwweDQ4LDB4YjAsMHgwMiwweDJlLDB4MDIsMHhhYiwweDgwLDB4MmUgfSwKLSAgMTYsIDB4ZGY2MCwgMCwgezB4MjAsMHg0YSwweDhjLDB4MDIsMHgyNiwweDIwLDB4YmIsMHgwMCwweDZlLDB4ODAsMHgwYiwweDMwLDB4YzIsMHg0NiwweDA0LDB4OWIgfSwKLSAgMTYsIDB4ZGY3MCwgMCwgezB4MGEsMHhhMiwweGMwLDB4MGEsMHg4MCwweDEyLDB4NmMsMHg0MCwweGE4LDB4MDAsMHgyYSwweGMwLDB4MGIsMHg4YywweDAyLDB4MzAgfSwKLSAgMTYsIDB4ZGY4MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlYywweDAwLDB4YzEsMHgwOSwweDM2LDB4NjEgfSwKLSAgMTYsIDB4ZGY5MCwgMCwgezB4MGUsMHgzMiwweDAzLDB4YWIsMHgyMCwweGY4LDB4ODQsMHgzYSwweDc4LDB4MmUsMHg5OCwweDAzLDB4MjYsMHgwMCwweGViLDB4MDAgfSwKLSAgMTYsIDB4ZGZhMCwgMCwgezB4M2UsMHg0MCwweDRmLDB4OTAsMHgwMywweGUyLDB4MDAsMHhjOSwweDQwLDB4MzYsMHhlMCwweDBjLDB4YjQsMHgwMywweDZlLDB4MDAgfSwKLSAgMTYsIDB4ZGZiMCwgMCwgezB4ZWIsMHgwMCwweDNhLDB4YzAsMHgwZiwweDg4LDB4MDMsMHgxMCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGZjMCwgMCwgezB4ZTAsMHgwMSwweGJjLDB4MDAsMHhmZCwweDAwLDB4M2YsMHg0MCwweDBmLDB4ZmEsMHgxMywweGY4LDB4MTAsMHhkYywweDA0LDB4MjcgfSwKLSAgMTYsIDB4ZGZkMCwgMCwgezB4NDAsMHgwZCwweDUwLDB4NDMsMHhmNCwweDAwLDB4ZmYsMHgwMCwweDNmLDB4NDAsMHgwZiwweGQ5LDB4MDMsMHhiMCwweDAwLDB4ZjkgfSwKLSAgMTYsIDB4ZGZlMCwgMCwgezB4MDEsMHgzZiwweGYwLDB4MGYsMHhmMCwweDIzLDB4YjIsMHgwMCwweGQ0LDB4YTAsMHgzNywweGMwLDB4MGYsMHhjMCwweDBiLDB4ZjggfSwKLSAgMTYsIDB4ZGZmMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhYywweDIwLDB4ZWIsMHgxMCwweGYyLDB4MDAgfSwKLSAgMTYsIDB4ZTAwMCwgMCwgezB4MGUsMHhiNCwweDAzLDB4MjEsMHg4MCwweGM5LDB4NDAsMHgzYSwweDQ4LDB4MGYsMHg5MCwweDEzLDB4ZTEsMHgyMCwweGZiLDB4MDAgfSwKLSAgMTYsIDB4ZTAxMCwgMCwgezB4M2UsMHhjMCwweDBjLDB4ODQsMHgwMywweDI0LDB4MDAsMHhmYiwweDAxLDB4MzYsMHhlMCwweDBjLDB4NzQsMHgwYiwweDljLDB4MDAgfSwKLSAgMTYsIDB4ZTAyMCwgMCwgezB4Y2YsMHgwMCwweDMyLDB4ZTAsMHgwZiwweDg0LDB4MDMsMHhkMCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTAzMCwgMCwgezB4YzgsMHgwNSwweDFlLDB4MDAsMHg4YiwweDgwLDB4MjAsMHg0MCwweDA4LDB4YjgsMHgwMiwweDgzLDB4ODAsMHg4MSwweGEwLDB4MjIgfSwKLSAgMTYsIDB4ZTA0MCwgMCwgezB4NzgsMHgwYiwweDkxLDB4ODMsMHhlMywweDAwLDB4YmYsMHgwMCwweDBlLDB4YzEsMHgwYSwweGI0LDB4MDMsMHg2NCwweDA0LDB4YjkgfSwKLSAgMTYsIDB4ZTA1MCwgMCwgezB4NTAsMHgzMiwweGMwLDB4MGEsMHhiMiwweDAyLDB4MjAsMHgwMCwweDg4LDB4MDAsMHgyMywweGQ0LDB4MGIsMHg4OCwweDAyLDB4ZjIgfSwKLSAgMTYsIDB4ZTA2MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0YywweDQyLDB4YTAsMHg4MCwweDIwLDB4MDAgfSwKLSAgMTYsIDB4ZTA3MCwgMCwgezB4NDgsMHgwMCwweDAyLDB4MGQsMHgwNiwweDgwLDB4ODAsMHgyYSwweGQwLDB4MDMsMHgwMCwweDAyLDB4YzgsMHgwMCwweGIzLDB4MDAgfSwKLSAgMTYsIDB4ZTA4MCwgMCwgezB4MmMsMHhjMCwweDA4LDB4MzYsMHgwMiwweDQwLDB4MDAsMHhiOSwweDAyLDB4MjIsMHhjMiwweDhiLDB4MjYsMHgwMiwweDBjLDB4MTAgfSwKLSAgMTYsIDB4ZTA5MCwgMCwgezB4MDEsMHgwMiwweDI0LDB4YzAsMHg0YiwweGExLDB4MDIsMHhmOCwweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTBhMCwgMCwgezB4MjAsMHgwMSwweDFlLDB4MDgsMHg4ZSwweDgwLDB4MjEsMHgyMSwweDA4LDB4MjgsMHhjMiwweDllLDB4MDAsMHg4ZSwweDgwLDB4MjEgfSwKLSAgMTYsIDB4ZTBiMCwgMCwgezB4NjAsMHgwYiwweDc4LDB4MDIsMHg5ZSwweDIwLDB4YjcsMHg4MiwweDJmLDB4YTEsMHgwYSwweDc4LDB4MDIsMHg1ZSwweDAwLDB4YjUgfSwKLSAgMTYsIDB4ZTBjMCwgMCwgezB4OTEsMHhhMSwweGUwLDB4MGIsMHgyOSwweDAyLDB4MzIsMHg0NCwweDg2LDB4ODAsMHhhNSwweGUwLDB4MGIsMHg0YywweDAyLDB4YzggfSwKLSAgMTYsIDB4ZTBkMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDAwLDB4ZTEsMHgwMCwweDIyLDB4ODAgfSwKLSAgMTYsIDB4ZTBlMCwgMCwgezB4MGUsMHgwMCwweDBiLDB4MjQsMHgwMCwweGMwLDB4NDQsMHgyOCwweGFkLDB4MGYsMHgyMCwweDAyLDB4YzgsMHgwMCwweGYzLDB4MDAgfSwKLSAgMTYsIDB4ZTBmMCwgMCwgezB4MWMsMHhjMCwweDBjLDB4MDEsMHgwMywweDQ4LDB4NGMsMHhmMiwweDA0LDB4MzAsMHhjMCwweDBmLDB4MTUsMHgwMywweDgwLDB4NDAgfSwKLSAgMTYsIDB4ZTEwMCwgMCwgezB4YzEsMHgwMCwweDE0LDB4YzgsMHgwZiwweDAwLDB4MDMsMHhkYSwweDAyLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTExMCwgMCwgezB4NDAsMHgxZCwweDljLDB4NDAsMHhmNywweDAwLDB4M2YsMHhjMCwweDhmLDB4YzAsMHgwMywweGU0LDB4MDAsMHhmYSwweDAxLDB4M2YgfSwKLSAgMTYsIDB4ZTEyMCwgMCwgezB4YzAsMHgwZiwweGYwLDB4MjMsMHhmYywweDA4LDB4ZmIsMHgwMCwweDNmLDB4ODAsMHgwZiwweGYwLDB4MDEsMHhmYywweDEwLDB4ZmYgfSwKLSAgMTYsIDB4ZTEzMCwgMCwgezB4MDAsMHgzZiwweGMwLDB4MGUsMHhkMSwweDAzLDB4ZmMsMHg0MiwweGZlLDB4ODAsMHgzYiwweGMwLDB4MGYsMHhjMCwweDAzLDB4ZDAgfSwKLSAgMTYsIDB4ZTE0MCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlYywweDQwLDB4YzgsMHgwMCwweDNlLDB4YzAgfSwKLSAgMTYsIDB4ZTE1MCwgMCwgezB4MGYsMHg5MCwweDAzLDB4ZWUsMHgwOCwweGNiLDB4MDAsMHgzMiwweGMwLDB4MGYsMHhhMCwweDIzLDB4ZTYsMHgwMywweGNiLDB4NGMgfSwKLSAgMTYsIDB4ZTE2MCwgMCwgezB4MzIsMHg0MCwweDBmLDB4YjAsMHgwNywweGU4LDB4MDAsMHhmOSwweDAwLDB4MTYsMHg0MCwweDBjLDB4YTAsMHgwYiwweDZjLDB4MDAgfSwKLSAgMTYsIDB4ZTE3MCwgMCwgezB4Y2YsMHgwMiwweDMyLDB4YzUsMHgwYywweDgwLDB4MDMsMHgwMiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTE4MCwgMCwgezB4NDgsMHgxMSwweDljLDB4ODAsMHg4NCwweDA0LDB4MmQsMHhjMSwweDBiLDB4NDAsMHg0MCwweGRjLDB4MDAsMHg4NywweDA0LDB4MjEgfSwKLSAgMTYsIDB4ZTE5MCwgMCwgezB4YzAsMHg0YiwweDcwLDB4MTIsMHhmYywweDAxLDB4OGYsMHg2MCwweDI5LDB4NDAsMHgwYiwweDcwLDB4MTMsMHg5YywweDAwLDB4YjUgfSwKLSAgMTYsIDB4ZTFhMCwgMCwgezB4MDAsMHhhMywweDQwLDB4MGEsMHg2MCwweDAyLDB4MDAsMHgwMCwweDg0LDB4MDAsMHgyMSwweGMwLDB4MDgsMHg0MCwweDAyLDB4MTIgfSwKLSAgMTYsIDB4ZTFiMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg4ZSwweDAwLDB4ODcsMHg4MCwweDJkLDB4YTIgfSwKLSAgMTYsIDB4ZTFjMCwgMCwgezB4MGIsMHg0YywweDE2LDB4ZDYsMHgwOCwweDk3LDB4ODgsMHgyMSwweGEwLDB4NGIsMHg2OCwweDAyLDB4ZGUsMHgwNCwweGE3LDB4ODAgfSwKLSAgMTYsIDB4ZTFkMCwgMCwgezB4MjEsMHhlMCwweDBiLDB4NDgsMHgwMiwweGRhLDB4MDQsMHhiNiwweDgyLDB4MjUsMHg2MCwweDBhLDB4ZTgsMHg2MiwweDFlLDB4MDAgfSwKLSAgMTYsIDB4ZTFlMCwgMCwgezB4ODcsMHg4MCwweDIwLDB4ZTgsMHgwOCwweDQ4LDB4MDIsMHgwOCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTFmMCwgMCwgezB4NDgsMHgxNCwweGNjLDB4MDAsMHg4YiwweDgwLDB4NmMsMHhmMCwweDBiLDB4M2MsMHgwMiwweGNlLDB4NDYsMHg5YiwweGMwLDB4MjAgfSwKLSAgMTYsIDB4ZTIwMCwgMCwgezB4ZTQsMHgwYiwweDNjLDB4MDIsMHhjYywweDIwLDB4YTMsMHgwMCwweDI4LDB4ZTAsMHgwYiwweDMwLDB4MDIsMHg4ZCwweDgwLDB4YjEgfSwKLSAgMTYsIDB4ZTIxMCwgMCwgezB4ODAsMHgyMiwweDQ0LDB4MGEsMHgyMSwweDBhLDB4MDMsMHg4MiwweDgwLDB4ODAsMHhhMCwweGMwLDB4MDgsMHgwNiwweDBhLDB4MTIgfSwKLSAgMTYsIDB4ZTIyMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOCwweDAyLDB4Y2UsMHg4MCwweDNmLDB4YTAgfSwKLSAgMTYsIDB4ZTIzMCwgMCwgezB4MGYsMHhlMCwweDAzLDB4ZmEsMHg0MCwweGRlLDB4YzAsMHhiMywweDkwLDB4MGYsMHhlYSwweDEzLDB4ZjksMHgwOCwweGVhLDB4MDQgfSwKLSAgMTYsIDB4ZTI0MCwgMCwgezB4MzMsMHg4MiwweDhmLDB4ZTQsMHgwMywweGZiLDB4MDgsMHhmZSwweGEwLDB4MzYsMHhhMCwweDBjLDB4YWMsMHgwYiwweDZiLDB4ODIgfSwKLSAgMTYsIDB4ZTI1MCwgMCwgezB4YzYsMHhhMCwweDMyLDB4ODAsMHgyYywweGU0LDB4MDMsMHgzYSwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTI2MCwgMCwgezB4NDgsMHgwMCwweGUwLDB4MDAsMHhmOCwweDkwLDB4M2UsMHgwMiwweDBmLDB4ODAsMHg4MywweGUxLDB4MDAsMHhlOCwweDIwLDB4M2UgfSwKLSAgMTYsIDB4ZTI3MCwgMCwgezB4MDMsMHgwZiwweDgyLDB4MDMsMHhlMSwweDQwLDB4ZDgsMHgwMCwweDNlLDB4MjAsMHgwZiwweDAwLDB4OTMsMHhhMCwweDQwLDB4ZjggfSwKLSAgMTYsIDB4ZTI4MCwgMCwgezB4MDAsMHgzZSwweDEwLDB4OGYsMHgwOCwweDBiLDB4ZjAsMHgwMCwweGZjLDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZDIgfSwKLSAgMTYsIDB4ZTI5MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDAwLDB4ZTksMHgwMCwweDM2LDB4NDAgfSwKLSAgMTYsIDB4ZTJhMCwgMCwgezB4MGYsMHg5NCwweDA3LDB4ZTYsMHgwMCwweGY5LDB4ODAsMHhiMCwweDQwLDB4MGMsMHg5NCwweDAzLDB4ZTQsMHg0MCwweGY5LDB4MDAgfSwKLSAgMTYsIDB4ZTJiMCwgMCwgezB4MzIsMHg0MCwweDBmLDB4OTQsMHgwYiwweGE0LDB4MDAsMHg3MSwweGMwLDB4MzIsMHg0MCwweDJjLDB4OTQsMHgyMywweDI0LDB4MDIgfSwKLSAgMTYsIDB4ZTJjMCwgMCwgezB4YzksMHgwMCwweDMyLDB4NDAsMHgwYywweDkwLDB4MDMsMHgwMiwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTJkMCwgMCwgezB4ODAsMHgwNCwweDQ0LDB4MDAsMHg4OSwweDAwLDB4MjIsMHg0MCwweDBiLDB4OTgsMHgwMiwweGU2LDB4NjAsMHhiOSwweDAwLDB4MjIgfSwKLSAgMTYsIDB4ZTJlMCwgMCwgezB4NjAsMHgwYSwweDljLDB4MDIsMHhlNiwweDI0LDB4YjksMHgwNCwweDM2LDB4NDAsMHgwYiwweDk4LDB4MDAsMHgyNCwweDAwLDB4YjkgfSwKLSAgMTYsIDB4ZTJmMCwgMCwgezB4ODAsMHhhMiwweDUyLDB4MDgsMHg5MCwweDAyLDB4MjQsMHgwMCwweDg5LDB4NDAsMHgyMiwweDQwLDB4NjgsMHg5NCwweDAyLDB4MjAgfSwKLSAgMTYsIDB4ZTMwMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDAwLDB4YTksMHgwMCwweDI2LDB4NDAgfSwKLSAgMTYsIDB4ZTMxMCwgMCwgezB4MDMsMHg5NCwweDAyLDB4ZTQsMHgwMSwweGI5LDB4MTAsMHgyMiwweDU1LDB4MDgsMHg5MCwweDIyLDB4ZTQsMHgwMCwweGIxLDB4MDAgfSwKLSAgMTYsIDB4ZTMyMCwgMCwgezB4MjYsMHg0MCwweDBiLDB4OTAsMHgwMCwweDJjLDB4MDksMHhiOSwweDAwLDB4MjIsMHg2MCwweDA4LDB4OTAsMHgwYSwweDFjLDB4MDQgfSwKLSAgMTYsIDB4ZTMzMCwgMCwgezB4OGQsMHgwOCwweGEwLDB4NDAsMHgwOCwweDEwLDB4ODIsMHgwZSwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTM0MCwgMCwgezB4MDgsMHgwNCwweDA2LDB4MDAsMHg4MSwweDAwLDB4MjAsMHg1MCwweDBiLDB4MTIsMHg0MiwweGM0LDB4ODAsMHhiMSwweDA0LDB4MjAgfSwKLSAgMTYsIDB4ZTM1MCwgMCwgezB4NTAsMHgwYSwweDE0LDB4MDIsMHhjNSwweDAwLDB4YjEsMHgyMiwweDI0LDB4NDAsMHgwYiwweDEyLDB4MjIsMHgwNCwweDAxLDB4YjEgfSwKLSAgMTYsIDB4ZTM2MCwgMCwgezB4NDAsMHgyMCwweDUwLDB4MDgsMHgxMCwweDBhLDB4MTUsMHgwMCwweDg1LDB4NDAsMHgyOCwweDUwLDB4MDgsMHgxNCwweDBhLDB4MGEgfSwKLSAgMTYsIDB4ZTM3MCwgMCwgezB4MDUsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDAwLDB4ZTgsMHg1MCwweDM2LDB4MDAgfSwKLSAgMTYsIDB4ZTM4MCwgMCwgezB4MGYsMHg4NSwweDAyLDB4ZTEsMHg0MCwweGY4LDB4NTAsMHgzMiwweDAwLDB4MGMsMHhhMCwweDIzLDB4ZTAsMHgxMCwweGY4LDB4NTAgfSwKLSAgMTYsIDB4ZTM5MCwgMCwgezB4YjIsMHgxNCwweDBmLDB4YTUsMHgwMywweGExLDB4NDgsMHhmYSwweDAwLDB4YjIsMHgwMCwweDBjLDB4ODAsMHgwMywweDIwLDB4MDQgfSwKLSAgMTYsIDB4ZTNhMCwgMCwgezB4YzQsMHgwMiwweDMyLDB4MDAsMHgwYywweDAwLDB4MDMsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTNiMCwgMCwgezB4OTgsMHgxZCwweGU1LDB4MDAsMHhmZCwweDAwLDB4M2YsMHg0MCwweDBmLDB4ZDEsMHgwMywweGQ0LDB4NDQsMHhmNSwweDAwLDB4M2YgfSwKLSAgMTYsIDB4ZTNjMCwgMCwgezB4NTEsMHgwZiwweGQ0LDB4MDMsMHhmNSwweDAwLDB4ZjksMHgxMCwweDNiLDB4NDAsMHgwZiwweGQxLDB4MDAsMHhmNSwweDEwLDB4ZjUgfSwKLSAgMTYsIDB4ZTNkMCwgMCwgezB4NDAsMHg3ZiwweDQwLDB4MGYsMHg1NCwweDJiLDB4ZTUsMHgwMCwweGY5LDB4NDAsMHgzNiwweDUwLDB4MGYsMHhkMCwweDAzLDB4ZTYgfSwKLSAgMTYsIDB4ZTNlMCwgMCwgezB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhmNiwweDEwLDB4YmQsMHg0MCwweDMzLDB4NDAgfSwKLSAgMTYsIDB4ZTNmMCwgMCwgezB4MGYsMHhkYSwweDAzLDB4MzcsMHg4MCwweGNkLDB4MDAsMHgzZiwweDQwLDB4MGYsMHhkMCwweDAzLDB4ZjQsMHgwMCwweGU5LDB4YTAgfSwKLSAgMTYsIDB4ZTQwMCwgMCwgezB4M2UsMHg0MCwweDBjLDB4ZGUsMHgxNywweGE0LDB4MDgsMHhmZCwweGMwLDB4MzMsMHg0MSwweDhkLDB4ZGEsMHgxMywweDI2LDB4YTAgfSwKLSAgMTYsIDB4ZTQxMCwgMCwgezB4ZjksMHhhOCwweDMyLDB4NzgsMHgwYywweGI0LDB4MGIsMHgwNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTQyMCwgMCwgezB4MzgsMHgxMCwweGUxLDB4MDAsMHhiOCwweGEwLDB4MzYsMHgyMCwweDBiLDB4OGEsMHg4MiwweGEyLDB4ODAsMHgyYSwweGE4LDB4MmUgfSwKLSAgMTYsIDB4ZTQzMCwgMCwgezB4MDAsMHgwYiwweDgwLDB4MTIsMHhlMCwweDA0LDB4YjgsMHhhMSwweDJlLDB4MjgsMHg0YSwweDhlLDB4MDIsMHgyYSwweGEwLDB4YmEgfSwKLSAgMTYsIDB4ZTQ0MCwgMCwgezB4YzAsMHgyMiwweDI4LDB4MDgsMHg4NSwweDAyLDB4MjEsMHgwOCwweGI4LDB4ZTgsMHhhMiwweDNjLDB4MDgsMHhjOCwweDAyLDB4MGUgfSwKLSAgMTYsIDB4ZTQ1MCwgMCwgezB4MDYsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNSwweDAwLDB4YjksMHgwMCwweDIwLDB4NGEgfSwKLSAgMTYsIDB4ZTQ2MCwgMCwgezB4MGIsMHgxNCwweDAyLDB4MDUsMHg4MCwweDAxLDB4MDAsMHgyYywweDQxLDB4MGIsMHgxMCwweDAyLDB4YzQsMHgwNCwweGExLDB4NGEgfSwKLSAgMTYsIDB4ZTQ3MCwgMCwgezB4MmUsMHg0MiwweDA4LDB4MTQsMHgwMiwweDg0LDB4MTAsMHhiMSwweDYwLDB4YTAsMHg0YSwweDA5LDB4MTAsMHgwMiwweDQ0LDB4MDAgfSwKLSAgMTYsIDB4ZTQ4MCwgMCwgezB4YjUsMHgwMSwweDI5LDB4NDAsMHgxOCwweGQyLDB4MDIsMHgxMiwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTQ5MCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MDAsMHhiOSwweDIxLDB4MjYsMHg0MCwweDBiLDB4OTYsMHgwMiwweGE0LDB4MTAsMHhhOSwweDAwLDB4MmUgfSwKLSAgMTYsIDB4ZTRhMCwgMCwgezB4NDAsMHgwYiwweDk2LDB4MTIsMHhlNCwweDIwLDB4YjksMHgwMCwweDJlLDB4NDEsMHgwYSwweDkwLDB4NDIsMHgyNCwweDAwLDB4YjkgfSwKLSAgMTYsIDB4ZTRiMCwgMCwgezB4MDAsMHgyMiwweDQxLDB4MDgsMHg5OCwweDIyLDB4NjQsMHgwMCwweGI5LDB4MjAsMHgyYiwweDQxLDB4MjgsMHhkNCwweDAyLDB4MDYgfSwKLSAgMTYsIDB4ZTRjMCwgMCwgezB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTEsMHhlNCwweDAwLDB4ZjksMHhlMCwweDMyLDB4NTggfSwKLSAgMTYsIDB4ZTRkMCwgMCwgezB4MGYsMHg5OCwweDAzLDB4MjYsMHg0MCwweGM5LDB4NDAsMHgzZSwweDU4LDB4MGYsMHg5YywweDAzLDB4ZTQsMHgwMCwweGU5LDB4MDAgfSwKLSAgMTYsIDB4ZTRlMCwgMCwgezB4NmUsMHg0MCwweDBjLDB4OWEsMHgwMiwweGE2LDB4MDAsMHhmOSwweDQ0LDB4MzIsMHg0MCwweDBkLDB4OWEsMHgwYiwweDY0LDB4ODQgfSwKLSAgMTYsIDB4ZTRmMCwgMCwgezB4ZjksMHgwMCwweGJhLDB4NDAsMHgwYywweDE4LDB4MDMsMHgyOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTUwMCwgMCwgezB4MjgsMHgwMSwweGE0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg1MCwweDBmLDB4OTAsMHgwMywweGU2LDB4MDAsMHhmOSwweDA0LDB4M2UgfSwKLSAgMTYsIDB4ZTUxMCwgMCwgezB4NDgsMHgwZiwweDkwLDB4MDMsMHhlNCwweDQwLDB4ZjksMHgwMCwweDNlLDB4NjUsMHgwZiwweDk5LDB4ODEsMHhlNCwweDUwLDB4ZjkgfSwKLSAgMTYsIDB4ZTUyMCwgMCwgezB4MjAsMHgzZSwweDQwLDB4OGYsMHg5MCwweDAzLDB4YTQsMHg4MCwweGY5LDB4MDAsMHgzNCwweDQwLDB4MGYsMHg5MiwweDAzLDB4ZDIgfSwKLSAgMTYsIDB4ZTUzMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMCwweDAwLDB4ZjgsMHg0MCwweDNlLDB4MTAgfSwKLSAgMTYsIDB4ZTU0MCwgMCwgezB4MGUsMHg4NCwweDAzLDB4NjAsMHgwOCwweGM4LDB4MDAsMHgzZSwweDA4LDB4MGYsMHg4MCwweDgzLDB4ZTAsMHgyOCwweGU4LDB4MDQgfSwKLSAgMTYsIDB4ZTU1MCwgMCwgezB4M2UsMHgwMCwweDBjLDB4ODQsMHgwMywweDIxLDB4MWMsMHhmMCwweDQ4LDB4MzIsMHgwMCwweDBiLDB4MDAsMHgwMywweGUwLDB4MDIgfSwKLSAgMTYsIDB4ZTU2MCwgMCwgezB4YzAsMHgwMCwweDMyLDB4MDAsMHgwYywweGMwLDB4MGIsMHgwMiwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTU3MCwgMCwgezB4MjgsMHgwNSwweDM4LDB4MDAsMHhiMiwweDg4LDB4MmUsMHg4MCwweDA4LDB4ZTAsMHgwMywweDdhLDB4ODAsMHg4ZSwweDAwLDB4MmYgfSwKLSAgMTYsIDB4ZTU4MCwgMCwgezB4YTAsMHgwYiwweGU4LDB4MDIsMHhmOSwweDEwLDB4YmEsMHgwMCwweDJjLDB4ODAsMHgyOCwweGU0LDB4MDIsMHgyOCwweDAwLDB4YmUgfSwKLSAgMTYsIDB4ZTU5MCwgMCwgezB4NDAsMHgyMywweGI4LDB4MDgsMHhlOCwweDAyLDB4ZTgsMHgwNCwweGNhLDB4MjAsMHhhMiwweDgwLDB4MDgsMHhlOCwweDAyLDB4MGEgfSwKLSAgMTYsIDB4ZTVhMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAxLDB4YjMsMHgwMCwweDJjLDB4NDAgfSwKLSAgMTYsIDB4ZTViMCwgMCwgezB4MDgsMHhiOCwweDQyLDB4NmMsMHgwMiwweDgzLDB4MDAsMHgyYywweGUwLDB4MGIsMHgzOCwweDAwLDB4Y2YsMHg0MCwweGIzLDB4MDAgfSwKLSAgMTYsIDB4ZTVjMCwgMCwgezB4MmMsMHhjMCwweDA4LDB4YjQsMHgwYSwweDBjLDB4MDAsMHhiMywweDQwLDB4YTIsMHg4MiwweDBhLDB4MzksMHgwMiwweGNjLDB4MDAgfSwKLSAgMTYsIDB4ZTVkMCwgMCwgezB4OTMsMHg4MCwweGEwLDB4YzAsMHgyOSwweDIwLDB4MDIsMHgwYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTVlMCwgMCwgezB4YTAsMHgwMSwweDFkLDB4MDAsMHhiNywweDAwLDB4MmQsMHg2NCwweDI4LDB4NzQsMHgwMiwweDQwLDB4MDAsMHg4NywweDA1LDB4MmQgfSwKLSAgMTYsIDB4ZTVmMCwgMCwgezB4OTAsMHgwYiwweDc0LDB4MDIsMHhkYywweDEwLDB4YjcsMHgzMCwweDJkLDB4YzgsMHgwOCwweDM0LDB4MDYsMHgxYywweDgwLDB4YjcgfSwKLSAgMTYsIDB4ZTYwMCwgMCwgezB4MDAsMHhhMSwweGMwLDB4MGEsMHg3MCwweDAyLDB4ZGUsMHg4MCwweDgzLDB4MDAsMHgwMSwweDAwLDB4MDksMHg2MCwweDgyLDB4MjAgfSwKLSAgMTYsIDB4ZTYxMCwgMCwgezB4MDQsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxYSwweDAwLDB4ZjcsMHg4MCwweDNkLDB4NjAgfSwKLSAgMTYsIDB4ZTYyMCwgMCwgezB4MGUsMHhkOCwweDBiLDB4NWUsMHgwMCwweGM3LDB4ODAsMHgzZCwweGUwLDB4MGYsMHg2OCwweDAzLDB4ZGUsMHgxMCwweGY3LDB4YTkgfSwKLSAgMTYsIDB4ZTYzMCwgMCwgezB4N2YsMHhlOCwweDQ4LDB4NzgsMHgwMywweDFmLDB4MzAsMHhmZiwweDk0LDB4MzMsMHhhMCwweDBlLDB4NzgsMHgwMywweGNmLDB4MjQgfSwKLSAgMTYsIDB4ZTY0MCwgMCwgezB4ZDYsMHg4MCwweGIxLDB4ZTAsMHgwZCwweGY4LDB4NDMsMHgyMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTY1MCwgMCwgezB4MDgsMHgxZCwweGFjLDB4MDAsMHhiYiwweDAwLDB4MGMsMHg0MCwweDBmLDB4YjAsMHgwMywweGVjLDB4MDgsMHhmOSwweDAwLDB4M2UgfSwKLSAgMTYsIDB4ZTY2MCwgMCwgezB4MDAsMHgwZiwweDkwLDB4NDEsMHhlYywweDAwLDB4ZmIsMHg2MSwweDdlLDB4ZDAsMHgwZiwweGIwLDB4MDMsMHhlYywweDgwLDB4ZmIgfSwKLSAgMTYsIDB4ZTY3MCwgMCwgezB4NDAsMHgzZiwweDliLDB4MGMsMHhiMCwweDAzLDB4ZWQsMHg5MCwweGZhLDB4MDAsMHgzYywweDAwLDB4MGUsMHhiMCwweDAzLDB4YzIgfSwKLSAgMTYsIDB4ZTY4MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhkZSwweDAwLDB4ZWYsMHg4MCwweDMzLDB4NjAgfSwKLSAgMTYsIDB4ZTY5MCwgMCwgezB4MGQsMHhkOCwweDAzLDB4MzYsMHg0MCwweGVmLDB4OTAsMHgzZSwweGUwLDB4MGYsMHhmOSwweDAzLDB4ZmUsMHgwMCwweGZmLDB4ODAgfSwKLSAgMTYsIDB4ZTZhMCwgMCwgezB4MzMsMHhmZSwweDBjLDB4ZmEsMHgwMywweGZlLDB4MDAsMHhjZiwweDgwLDB4YjMsMHhlMCwweDBmLDB4ZjgsMHgwMywweGZlLDB4MDAgfSwKLSAgMTYsIDB4ZTZiMCwgMCwgezB4Y2QsMHg4MCwweDMzLDB4ZTAsMHgwZiwweGM4LDB4NDMsMHhjMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTZjMCwgMCwgezB4YTgsMHgxMSwweDljLDB4MDAsMHg4NSwweDA4LDB4MzUsMHg0MCwweDA4LDB4NzAsMHgwMywweDUyLDB4MjAsMHg4NywweDExLDB4MmMgfSwKLSAgMTYsIDB4ZTZkMCwgMCwgezB4ZWMsMHgwYiwweDcxLDB4MDIsMHhkMCwweDAwLDB4ZTcsMHgwMCwweDM1LDB4YzQsMHgwOCwweDc0LDB4MDIsMHhkYywweDQwLDB4ODcgfSwKLSAgMTYsIDB4ZTZlMCwgMCwgezB4MTAsMHgyMSwweGMwLDB4MGIsMHg3MCwweDAyLDB4ZmMsMHg4MCwweDg1LDB4MDgsMHgyMSwweDAwLDB4MGIsMHg0MSwweDgyLDB4ZWEgfSwKLSAgMTYsIDB4ZTZmMCwgMCwgezB4MDYsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5OCwweDAwLDB4YWYsMHgwMCwweDIzLDB4NTAgfSwKLSAgMTYsIDB4ZTcwMCwgMCwgezB4MDksMHg1MCwweDAyLDB4MWMsMHg4MCwweGE3LDB4MDEsMHgyOSwweGMwLDB4MWIsMHg2MCwweDA2LDB4ZGMsMHg0MCwweGI3LDB4MTAgfSwKLSAgMTYsIDB4ZTcxMCwgMCwgezB4MjEsMHhjOCwweDRhLDB4NTIsMHgwMiwweGRjLDB4MDAsMHg4MywweDAwLDB4MjEsMHhjMCwweDBiLDB4NzAsMHgwMiwweGRjLDB4MTMgfSwKLSAgMTYsIDB4ZTcyMCwgMCwgezB4ODQsMHgwMCwweDI1LDB4YzAsMHgwYiwweDU4LDB4MDIsMHhjMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTczMCwgMCwgezB4MjAsMHgxNCwweGNjLDB4MDAsMHg4MSwweDgwLDB4MjQsMHg0MCwweDA4LDB4M2UsMHgwMiwweDZlLDB4MDAsMHg4OSwweDAwLDB4MmMgfSwKLSAgMTYsIDB4ZTc0MCwgMCwgezB4YzAsMHgwYiwweGI0LDB4MDIsMHhjYSwweDgwLDB4YTMsMHgwMCwweDI0LDB4YzAsMHgwYSwweDA0LDB4MDIsMHhlYywweDQwLDB4ODIgfSwKLSAgMTYsIDB4ZTc1MCwgMCwgezB4MGEsMHgyMCwweGMwLDB4MGIsMHgzMCwweDAyLDB4Y2QsMHgxMCwweDgwLDB4YzAsMHhhNCwweDAwLDB4MGIsMHgxYywweDAyLDB4YzggfSwKLSAgMTYsIDB4ZTc2MCwgMCwgezB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHg4NCwweDAwLDB4ZWIsMHg4MCwweDMzLDB4NDAgfSwKLSAgMTYsIDB4ZTc3MCwgMCwgezB4MGQsMHg4YywweDgzLDB4MjYsMHgwMCwweGU5LDB4YTAsMHgzZSwweDc4LDB4OGYsMHg5MCwweDgzLDB4ZTEsMHgwMCwweGZmLDB4MDAgfSwKLSAgMTYsIDB4ZTc4MCwgMCwgezB4MzEsMHhkMSwweDBlLDB4ODQsMHgyMywweGZjLDB4MDAsMHhjYiwweDgyLDB4MzIsMHhjMCwweDhmLDB4YjAsMHgwMiwweGZkLDB4NDAgfSwKLSAgMTYsIDB4ZTc5MCwgMCwgezB4Y2IsMHg4MCwweGI2LDB4YzAsMHgwZiwweGE0LDB4MDMsMHhlYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTdhMCwgMCwgezB4ODAsMHgwMCwweGVjLDB4MDAsMHhmYiwweDAwLDB4M2UsMHg0MCwweDBmLDB4YTAsMHgwMywweGUwLDB4MDAsMHhmOSwweDAxLDB4M2UgfSwKLSAgMTYsIDB4ZTdiMCwgMCwgezB4NDIsMHgwZiwweDkwLDB4MDMsMHhlNSwweDU0LDB4ZTMsMHgwMCwweDNlLDB4YzgsMHgwNSwweDkzLDB4MDMsMHhlYywweDgwLDB4ZmIgfSwKLSAgMTYsIDB4ZTdjMCwgMCwgezB4YzEsMHgzZSwweGMwLDB4MGYsMHgyMCwweDAzLDB4Y2MsMHg0OCwweGYzLDB4MDgsMHgzYSwweDAwLDB4MGYsMHhhMCwweDQzLDB4ZTAgfSwKLSAgMTYsIDB4ZTdkMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmMCwweDAwLDB4Y2YsMHgwMCwweDNmLDB4NDAgfSwKLSAgMTYsIDB4ZTdlMCwgMCwgezB4MGYsMHgzMCwweDAxLDB4MmMsMHgwYSwweGNkLDB4MTAsMHgzMywweDAwLDB4MGYsMHhkMCwweDgzLDB4MTQsMHgwMCwweGNiLDB4MDIgfSwKLSAgMTYsIDB4ZTdmMCwgMCwgezB4MzMsMHhjMCwweDBjLDB4ZTEsMHgwMywweGVjLDB4MTAsMHhjZCwweDAwLDB4MzMsMHhjMCwweDBjLDB4ZjAsMHgzMywweDNjLDB4MDAgfSwKLSAgMTYsIDB4ZTgwMCwgMCwgezB4ZWEsMHgwMCwweDMzLDB4YzAsMHgwYywweGYwLDB4ODMsMHhjOCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTgxMCwgMCwgezB4ODEsMHgwNCwweDZlLDB4MDAsMHg4YiwweDAwLDB4MmUsMHg0MCwweDBiLDB4YmMsMHgwMiwweDJlLDB4MDAsMHgwYiwweDAwLDB4MjIgfSwKLSAgMTYsIDB4ZTgyMCwgMCwgezB4MzAsMHgwYiwweDljLDB4MDIsMHgyNywweDgwLDB4YWIsMHgwMCwweDJhLDB4YzAsMHgwOCwweGI4LDB4MDIsMHhlYywweDAwLDB4ODkgfSwKLSAgMTYsIDB4ZTgzMCwgMCwgezB4YzAsMHgyMCwweGUwLDB4MDgsMHhhZSwweDAyLDB4MmMsMHgwOCwweDhhLDB4MDAsMHgyMiwweDAwLDB4MDgsMHhiMCwweDQyLDB4ZTggfSwKLSAgMTYsIDB4ZTg0MCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyZSwweDAwLDB4OGIsMHgwNCwweDJlLDB4NDAgfSwKLSAgMTYsIDB4ZTg1MCwgMCwgezB4OGIsMHg4YywweDAyLDB4YWUsMHgxMCwweDg5LDB4MDAsMHgyMiwweDcwLDB4MGIsMHg4YywweDAyLDB4YTIsMHgwMCwweDhiLDB4MDEgfSwKLSAgMTYsIDB4ZTg2MCwgMCwgezB4MjIsMHhjMCwweDA4LDB4ODAsMHgwMiwweGVjLDB4MTAsMHg4MiwweDg4LDB4YTIsMHg3MCwweDA5LDB4YjgsMHgwMiwweDJjLDB4MDggfSwKLSAgMTYsIDB4ZTg3MCwgMCwgezB4ODksMHgwMCwweDIwLDB4YzAsMHgyOCwweDgwLDB4MjIsMHhlMCwweDEwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTg4MCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDQsMHg4MSwweDAwLDB4MmMsMHg0MCwweDBiLDB4MjAsMHgwMiwweDgwLDB4MDAsMHg4MSwweDA0LDB4YTAgfSwKLSAgMTYsIDB4ZTg5MCwgMCwgezB4NTAsMHg0YiwweDAwLDB4MGEsMHg4MCwweDAwLDB4YTMsMHgwMSwweDJhLDB4YzEsMHgyMCwweDEwLDB4MDIsMHhjYywweDE0LDB4ODMgfSwKLSAgMTYsIDB4ZThhMCwgMCwgezB4MDAsMHgyMiwweGMwLDB4MDgsMHgyMCwweDAyLDB4MGMsMHgwMCwweDgxLDB4MDAsMHhlMCwweDAwLDB4MDgsMHgwMCwweDAyLDB4YzIgfSwKLSAgMTYsIDB4ZThiMCwgMCwgezB4MDUsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2OCwweDAwLDB4Y2IsMHgwMCwweDNlLDB4NDAgfSwKLSAgMTYsIDB4ZThjMCwgMCwgezB4MGYsMHg5MCwweDBiLDB4YWMsMHg4MCwweGM5LDB4MDAsMHgzMiwweDEwLDB4MGYsMHg4MCwweDAzLDB4YTQsMHgwMCwweGNmLDB4MDIgfSwKLSAgMTYsIDB4ZThkMCwgMCwgezB4MzEsMHhjMCwweDBjLDB4ODAsMHgxMywweGZjLDB4MDIsMHhjZCwweDAwLDB4MzMsMHhjMCwweDJjLDB4OTAsMHgwMywweDNjLDB4MDIgfSwKLSAgMTYsIDB4ZThlMCwgMCwgezB4ZTgsMHgwMCwweGIyLDB4YzAsMHgwYywweDkwLDB4MDMsMHhjMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZThmMCwgMCwgezB4YTAsMHgxZCwweGZjLDB4MDIsMHhmNSwweDAwLDB4M2QsMHg0MCwweDhmLDB4ZjAsMHgyMywweDZkLDB4MDAsMHhmZiwweDAwLDB4M2YgfSwKLSAgMTYsIDB4ZTkwMCwgMCwgezB4MDQsMHgwZiwweGMwLDB4MDMsMHg3MCwweDFjLDB4ZmYsMHgwMSwweDNmLDB4YzAsMHg0ZiwweGMwLDB4MDMsMHhmYywweDAwLDB4ZmQgfSwKLSAgMTYsIDB4ZTkxMCwgMCwgezB4MDAsMHgzZiwweGMwLDB4MGYsMHhlMCwweDBmLDB4ZmMsMHgxOCwweGZjLDB4MDAsMHgzZiwweDAwLDB4MGYsMHhkMCwweDAzLDB4ZTggfSwKLSAgMTYsIDB4ZTkyMCwgMCwgezB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmZSwweDAwLDB4ZDcsMHgwMiwweDBmLDB4MzAgfSwKLSAgMTYsIDB4ZTkzMCwgMCwgezB4MGMsMHhmMiwweDAxLDB4N2UsMHgwNiwweDQ0LDB4MzAsMHgzZiwweDIwLDB4MGUsMHhmMCwweDAyLDB4N2MsMHg4NCwweGZkLDB4MjAgfSwKLSAgMTYsIDB4ZTk0MCwgMCwgezB4MjcsMHgwOCwweDBjLDB4ZDAsMHgwMSwweDM2LDB4MDAsMHhmZiwweDYwLDB4MzMsMHhjYywweDBiLDB4ZjEsMHgxMywweDJjLDB4YzQgfSwKLSAgMTYsIDB4ZTk1MCwgMCwgezB4ZmYsMHgzMCwweDBmLDB4Y2QsMHgwYywweGY0LDB4MDMsMHhmMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTk2MCwgMCwgezB4ODAsMHgxMCwweGVlLDB4MDAsMHg4ZiwweGMwLDB4MmUsMHgwMCwweDA4LDB4ZmMsMHgwMiwweDJlLDB4MDAsMHg4YSwweDMwLDB4MjggfSwKLSAgMTYsIDB4ZTk3MCwgMCwgezB4NTIsMHgwOCwweGY2LDB4ODIsMHgzYywweDY4LDB4YmQsMHg5MCwweDMyLDB4MzQsMHg0OCwweDljLDB4MTIsMHgyNiwweDAwLDB4Y2YgfSwKLSAgMTYsIDB4ZTk4MCwgMCwgezB4NDAsMHgyMywweGNjLDB4MGIsMHhmNiwweDAyLDB4M2QsMHgwMCwweGJmLDB4MTAsMHgyZiwweGNjLDB4ODgsMHhmNiwweDAyLDB4ZTAgfSwKLSAgMTYsIDB4ZTk5MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDAwLDB4OTMsMHgxMCwweDJjLDB4MDggfSwKLSAgMTYsIDB4ZTlhMCwgMCwgezB4MDksMHgzMSwweDAyLDB4NGMsMHgwMCwweDliLDB4MjAsMHg2NCwweDU4LDB4MDMsMHgzMSwweDYyLDB4NGMsMHg4MSwweGExLDB4MDAgfSwKLSAgMTYsIDB4ZTliMCwgMCwgezB4MjAsMHgwMCwweDQ4LDB4MTQsMHgwMiwweDQ0LDB4MDAsMHg5MywweDMwLDB4MjQsMHhjMCwweDBiLDB4MzMsMHgwMiwweDhkLDB4ODQgfSwKLSAgMTYsIDB4ZTljMCwgMCwgezB4YjMsMHgyMCwweDZjLDB4YzAsMHgyYSwweDM2LDB4MDIsMHhlMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTlkMCwgMCwgezB4YzAsMHgxNSwweGFjLDB4MTAsMHg5YiwweDAyLDB4MmUsMHg0MSwweDBiLDB4YjAsMHgwMiwweGE0LDB4MDAsMHg5YSwweDAwLDB4NGEgfSwKLSAgMTYsIDB4ZTllMCwgMCwgezB4NjAsMHg4OCwweGIwLDB4NTIsMHg2YywweDAxLDB4YjksMHgwMCwweDI2LDB4MDAsMHgwOCwweDkxLDB4MjIsMHhlYywweDA4LDB4YmIgfSwKLSAgMTYsIDB4ZTlmMCwgMCwgezB4MDAsMHgyNiwweGMwLDB4MGIsMHhiMCwweDAyLDB4YWMsMHgwMCwweGJiLDB4MDUsMHg2ZSwweGMxLDB4MGEsMHhiMCwweDAyLDB4ZjAgfSwKLSAgMTYsIDB4ZWEwMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlYywweDAwLDB4ZGIsMHgwMSwweDNlLDB4MzAgfSwKLSAgMTYsIDB4ZWExMCwgMCwgezB4MmQsMHgzMCwweDAzLDB4NDcsMHg2MCwweGQ4LDB4YTAsMHgxNiwweDM4LDB4OGYsMHhiMCwweDAzLDB4NmMsMHgwMCwweDc5LDB4MDIgfSwKLSAgMTYsIDB4ZWEyMCwgMCwgezB4MzEsMHg2MCwweDBjLDB4YzgsMHgwYSwweDY2LDB4MDAsMHhiYiwweDAwLDB4YjYsMHhjMCwweDBmLDB4YjAsMHgwYiwweGFjLDB4MDAgfSwKLSAgMTYsIDB4ZWEzMCwgMCwgezB4ZmIsMHgwMSwweDNlLDB4YzEsMHgwZSwweGIwLDB4MDMsMHhkMCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWE0MCwgMCwgezB4ZTAsMHgwMSwweGJjLDB4MTAsMHhlZiwweDA4LDB4M2YsMHgyNCwweDBjLDB4ZjAsMHgwMywweDc2LDB4MjAsMHhlZSwweDkwLDB4MzUgfSwKLSAgMTYsIDB4ZWE1MCwgMCwgezB4NDAsMHgwZSwweDcwLDB4MDMsMHhhYywweDAwLDB4ZmQsMHgwMCwweGJiLDB4NjQsMHgwZiwweDg4LDB4MTMsMHgzNCwweDgwLDB4Y2IgfSwKLSAgMTYsIDB4ZWE2MCwgMCwgezB4MDAsMHgzYiwweGMwLDB4MGYsMHhiMCwweDAzLDB4NmMsMHgwOCwweGZmLDB4MDAsMHgzZSwweGMwLDB4MGQsMHhmMCwweDAzLDB4ZjggfSwKLSAgMTYsIDB4ZWE3MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhYywweDAxLDB4ZmIsMHg4MCwweDMyLDB4MTAgfSwKLSAgMTYsIDB4ZWE4MCwgMCwgezB4MGUsMHhiMCwweDAzLDB4ZWQsMHgwMCwweGNiLDB4NTAsMHgzZSwweDQwLDB4OGMsMHhiMCwweDQzLDB4MmMsMHgxMCwweGY5LDB4MDAgfSwKLSAgMTYsIDB4ZWE5MCwgMCwgezB4MzIsMHg2MCwweDBjLDB4NDAsMHgwYiwweDI2LDB4MDAsMHhjMywweDA0LDB4MzYsMHhjMCwweDBjLDB4MzAsMHgwMywweDJjLDB4MDAgfSwKLSAgMTYsIDB4ZWFhMCwgMCwgezB4OWIsMHgwMCwweGIwLDB4YzAsMHgwYywweGIwLDB4MDMsMHhkMCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWFiMCwgMCwgezB4YzgsMHgwNSwweDBlLDB4ODAsMHhiZiwweDA0LDB4MmEsMHg0MCwweDAwLDB4ZjUsMHgwMCwweGU2LDB4MDAsMHg4MiwweGQyLDB4MjIgfSwKLSAgMTYsIDB4ZWFjMCwgMCwgezB4NDAsMHgwZCwweGYwLDB4MjIsMHgzYywweDAwLDB4OTUsMHgwMiwweDM2LDB4NDAsMHgwYSwweDgwLDB4MDIsMHgyZSwweDAwLDB4OGYgfSwKLSAgMTYsIDB4ZWFkMCwgMCwgezB4MDAsMHgzNywweGMwLDB4MGEsMHhmMCwweDQyLDB4M2MsMHgwMCwweDhmLDB4MDAsMHgyMywweGMwLDB4MjgsMHhmMCwweDAyLDB4ZjIgfSwKLSAgMTYsIDB4ZWFlMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0ZSwweDAwLDB4YjMsMHgwMCwweDIyLDB4MjAgfSwKLSAgMTYsIDB4ZWFmMCwgMCwgezB4NGEsMHgzMCwweDAwLDB4Y2MsMHgwMCwweDgxLDB4YzAsMHgyOCwweDAwLDB4MDgsMHgzMCwweDAyLDB4MGMsMHgxMCwweGExLDB4MDAgfSwKLSAgMTYsIDB4ZWIwMCwgMCwgezB4MjgsMHg4MCwweDE4LDB4MzAsMHgyMiwweDA0LDB4MDQsMHg4MywweDAwLDB4MjQsMHhjMCwweDA4LDB4MzAsMHgwMiwweGNjLDB4MDggfSwKLSAgMTYsIDB4ZWIxMCwgMCwgezB4OTMsMHgwMCwweDIwLDB4YzAsMHgwOCwweDMwLDB4MDYsMHhmOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWIyMCwgMCwgezB4MjAsMHgwMSwweDFlLDB4MDAsMHhiNywweDgwLDB4MjksMHhhMCwweDA4LDB4NzgsMHgwMiwweGZlLDB4MjAsMHg4ZCwweDgwLDB4MjkgfSwKLSAgMTYsIDB4ZWIzMCwgMCwgezB4ZTUsMHg1YiwweDM4LDB4NDIsMHgxZSwweDQwLDB4YTEsMHg4MSwweDI1LDB4YTgsMHgwOCwweDc5LDB4MDIsMHgzNywweDAwLDB4ODcgfSwKLSAgMTYsIDB4ZWI0MCwgMCwgezB4ODAsMHgyNSwweGUwLDB4MGEsMHg3OCwweDBhLDB4ZGUsMHg4MSwweDg3LDB4ODAsMHgyNSwweGU1LDB4NDgsMHg3OCwweDAyLDB4YzggfSwKLSAgMTYsIDB4ZWI1MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDAwLDB4YjMsMHgxMCwweDMwLDB4MTIgfSwKLSAgMTYsIDB4ZWI2MCwgMCwgezB4MGUsMHgzMCwweDEyLDB4Y2MsMHhjMCwweGMzLDB4MDAsMHgzOCwweDgwLDB4MGMsMHgzMSwweDA2LDB4MGMsMHg0MCwweGYxLDB4MDAgfSwKLSAgMTYsIDB4ZWI3MCwgMCwgezB4MzgsMHg4MCwweDBjLDB4MzAsMHg0MywweDA0LDB4NDIsMHhjMywweDAwLDB4MzYsMHhjMCwweDBjLDB4MzIsMHgwMywweGNlLDB4YzAgfSwKLSAgMTYsIDB4ZWI4MCwgMCwgezB4ZGIsMHgwMCwweDMwLDB4YzAsMHgwYywweDMwLDB4MDMsMHhkMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWI5MCwgMCwgezB4NDAsMHgxZCwweGJjLDB4MDAsMHhmZiwweDEwLDB4M2QsMHg4NCwweDRmLDB4ZjEsMHgwMywweGQwLDB4NDAsMHhmYywweDEwLDB4MzMgfSwKLSAgMTYsIDB4ZWJhMCwgMCwgezB4ODAsMHg1ZCwweGIxLDB4ODMsMHhmYywweDUwLDB4ZGQsMHgwYSwweDI1LDB4ODksMHgwZiwweGI4LDB4MDMsMHhkNCwweDAwLDB4ZmYgfSwKLSAgMTYsIDB4ZWJiMCwgMCwgezB4MTAsMHgzZiwweGMwLDB4MGYsMHhmNCwweDAzLDB4M2MsMHg0MCwweGZmLDB4MDAsMHgzYiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZDAgfSwKLSAgMTYsIDB4ZWJjMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlYywweDAwLDB4ZmIsMHgyMCwweDNlLDB4MDAgfSwKLSAgMTYsIDB4ZWJkMCwgMCwgezB4MGYsMHhiNSwweDAzLDB4MjksMHgyMCwweGY5LDB4MDAsMHgzMiwweGEwLDB4MGMsMHhiMCwweDgzLDB4ZWMsMHgwMCwweDQ5LDB4YzggfSwKLSAgMTYsIDB4ZWJlMCwgMCwgezB4YjIsMHhjMCwweDhjLDB4YTAsMHgwMywweDY0LDB4MDAsMHhmYiwweDA4LDB4MTIsMHhlYSwweDBjLDB4YjAsMHgwYiwweDJjLDB4ODAgfSwKLSAgMTYsIDB4ZWJmMCwgMCwgezB4ZmIsMHgyMCwweDJlLDB4ZDIsMHg2YywweGI2LDB4NDMsMHhlYSwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWMwMCwgMCwgezB4NDgsMHgxMSwweDljLDB4MDAsMHhiNywweDQ5LDB4MmQsMHgwMCwweDBiLDB4MzAsMHg4MiwweDEwLDB4MDEsMHhiNSwweDAyLDB4ODMgfSwKLSAgMTYsIDB4ZWMxMCwgMCwgezB4YzAsMHgxYSwweDcyLDB4MjIsMHhkZCwweDQxLDB4ODUsMHgwMCwweDYxLDB4YzAsMHgxOCwweDIwLDB4MjAsMHgxNCwweDAwLDB4YmYgfSwKLSAgMTYsIDB4ZWMyMCwgMCwgezB4NDAsMHgzNSwweGQwLDB4MGQsMHgzNCwweDAyLDB4MWQsMHgyMCwweGI3LDB4MjgsMHgyNSwweGMxLDB4MDgsMHg3NCwweDgyLDB4ZDIgfSwKLSAgMTYsIDB4ZWMzMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZSwweDA0LDB4MzcsMHhhMCwweDJkLDB4MjAgfSwKLSAgMTYsIDB4ZWM0MCwgMCwgezB4MGIsMHg3YSwweDEyLDB4MTYsMHgwMSwweGIzLDB4ODAsMHgyMSwweGUyLDB4MDgsMHg3OCwweDQyLDB4OWUsMHgwMCwweDg1LDB4ODAgfSwKLSAgMTYsIDB4ZWM1MCwgMCwgezB4MjAsMHhlMSwweDE4LDB4NjgsMHgwMiwweDU2LDB4MDAsMHhiNywweGEwLDB4MjUsMHhlMCwweDA4LDB4N2EsMHgwMiwweDFlLDB4MDAgfSwKLSAgMTYsIDB4ZWM2MCwgMCwgezB4YjcsMHg5MCwweDJjLDB4ZTUsMHg4OCwweDdhLDB4MDIsMHhmMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWM3MCwgMCwgezB4NDgsMHgxNCwweGNjLDB4MDAsMHhiMywweDAwLDB4NmMsMHgyNCwweDFiLDB4MzAsMHgwMiwweDAwLDB4MDAsMHhiMCwweDAwLDB4MjAgfSwKLSAgMTYsIDB4ZWM4MCwgMCwgezB4ZjgsMHgwYSwweDMwLDB4MDIsMHhjYywweDAwLDB4ODEsMHgwMCwweDIwLDB4ZDgsMHgxOCwweDIwLDB4MDIsMHgwNCwweDAwLDB4YjMgfSwKLSAgMTYsIDB4ZWM5MCwgMCwgezB4MDAsMHgyNCwweGMwLDB4MDksMHgzMCwweDAyLDB4MGMsMHgwMCwweGIzLDB4MDAsMHgyNiwweGMwLDB4MDgsMHgzMCwweDAyLDB4ZDIgfSwKLSAgMTYsIDB4ZWNhMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOCwweDAwLDB4ZmEsMHgwMCwweDNkLDB4ODAgfSwKLSAgMTYsIDB4ZWNiMCwgMCwgezB4MGYsMHgyMCwweDBiLDB4MjgsMHg4MCwweGZlLDB4MDAsMHgzMywweGEwLDB4MGMsMHhhMCwweDAzLDB4ZTgsMHgwMiwweGNhLDB4MDIgfSwKLSAgMTYsIDB4ZWNjMCwgMCwgezB4MzIsMHg5MCwweDJjLDB4ZTQsMHgwMywweDc4LDB4MDAsMHhmYSwweDAwLDB4MzIsMHg4MCwweDBjLDB4YTAsMHgwMywweDI4LDB4MDAgfSwKLSAgMTYsIDB4ZWNkMCwgMCwgezB4ZmEsMHgwMCwweDNlLDB4ODAsMHgwYywweGEwLDB4MDMsMHhmYSwweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWNlMCwgMCwgezB4NDgsMHgwMCwweGUxLDB4MDAsMHhmMCwweDAwLDB4M2UsMHgwMCwweDRmLDB4ODAsMHgwMywweGUwLDB4ODAsMHhmOCwweDAwLDB4M2UgfSwKLSAgMTYsIDB4ZWNmMCwgMCwgezB4MDAsMHgwZiwweDgwLDB4MjMsMHhjMCwweDAwLDB4ZjgsMHgwMiwweDNjLDB4MDAsMHgwZiwweGMwLDB4ODMsMHg2MCwweDAwLDB4YjggfSwKLSAgMTYsIDB4ZWQwMCwgMCwgezB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDIzLDB4ZTAsMHgxOCwweGY4LDB4MDEsMHgzNiwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZDIgfSwKLSAgMTYsIDB4ZWQxMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNiwweDAwLDB4ZjksMHgyMSwweDMyLDB4NjAgfSwKLSAgMTYsIDB4ZWQyMCwgMCwgezB4MGMsMHg5MCwweDAzLDB4MmMsMHg0NCwweGY5LDB4MDAsMHhiMiwweDQwLDB4MGYsMHg5MCwweDFiLDB4MjQsMHgwMCwweGU5LDB4MDAgfSwKLSAgMTYsIDB4ZWQzMCwgMCwgezB4M2UsMHg0MCwweDBjLDB4MTAsMHgwMywweGE0LDB4MDAsMHhmOSwweDAwLDB4MzIsMHg0MCwweDBmLDB4MTAsMHgzMywweDI0LDB4MTAgfSwKLSAgMTYsIDB4ZWQ0MCwgMCwgezB4ZjEsMHgwMCwweDMyLDB4NDAsMHgwYywweDkwLDB4MDMsMHgwMiwweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWQ1MCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDAsMHhiOSwweDQwLDB4YTIsMHg0MSwweDA4LDB4OTAsMHgwMiwweDI0LDB4ODAsMHhlOSwweDAwLDB4MjIgfSwKLSAgMTYsIDB4ZWQ2MCwgMCwgezB4NDAsMHgwYiwweDkwLDB4MTIsMHgyNCwweDAwLDB4ODksMHgwMCwweDZlLDB4NDEsMHgxOCwweDkwLDB4NDIsMHgyNCwweDAwLDB4YjkgfSwKLSAgMTYsIDB4ZWQ3MCwgMCwgezB4MDQsMHgyYSwweDQxLDB4MGIsMHg5MCwweDAzLDB4NjQsMHgwMCwweGY5LDB4MDAsMHgyYSwweDQwLDB4MGEsMHg5MCwweDBhLDB4MjAgfSwKLSAgMTYsIDB4ZWQ4MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDEsMHgyNCwweDgwLDB4YjksMHg0MiwweDYyLDB4NDggfSwKLSAgMTYsIDB4ZWQ5MCwgMCwgezB4MjgsMHg5MCwweDBhLDB4MjQsMHgwMCwweGIxLDB4MDAsMHgyMiwweDQwLDB4MGIsMHgxMCwweDAyLDB4MjQsMHgxMCwweGI5LDB4MDIgfSwKLSAgMTYsIDB4ZWRhMCwgMCwgezB4MmUsMHg0MCwweDA4LDB4ZDAsMHgwMiwweGE0LDB4MDAsMHhiMSwweDAwLDB4MjIsMHg0MCwweDBiLDB4OTAsMHgwMiwweDI0LDB4MDQgfSwKLSAgMTYsIDB4ZWRiMCwgMCwgezB4YjksMHgwMCwweDIyLDB4NDAsMHgwOCwweDEwLDB4MDIsMHgwNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWRjMCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDAsMHhiMSwweDIwLDB4NjAsMHg0MCwweDA4LDB4MTIsMHgwMiwweDA0LDB4MDAsMHhhMSwweDIwLDB4MjAgfSwKLSAgMTYsIDB4ZWRkMCwgMCwgezB4NDAsMHgwYiwweDEyLDB4MDIsMHgwNCwweDgwLDB4OTEsMHgyMCwweDJkLDB4NjgsMHgwOCwweDUyLDB4MTIsMHgwNCwweDAwLDB4YjEgfSwKLSAgMTYsIDB4ZWRlMCwgMCwgezB4MjgsMHgyOCwweDRhLDB4MDksMHgxMiwweDgyLDB4NDQsMHhhMCwweGIxLDB4MmMsMHgyOCwweDRhLDB4MGEsMHgxMiwweDgyLDB4MDIgfSwKLSAgMTYsIDB4ZWRmMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDAwLDB4ZjgsMHgwMCwweDMyLDB4MTQgfSwKLSAgMTYsIDB4ZWUwMCwgMCwgezB4MGMsMHg4MCwweDAzLDB4MjAsMHgwMCwweGY4LDB4NTAsMHgzMiwweDE0LDB4MGYsMHg4NSwweDAzLDB4MDEsMHg0MCwweGY4LDB4MDAgfSwKLSAgMTYsIDB4ZWUxMCwgMCwgezB4MmUsMHgwMCwweDI4LDB4YzAsMHgwMywweGEwLDB4MDAsMHhmOCwweDI0LDB4MzAsMHgwOCwweDBmLDB4ODIsMHgyMywweDIwLDB4ODAgfSwKLSAgMTYsIDB4ZWUyMCwgMCwgezB4ZjgsMHgyMCwweDMyLDB4MDgsMHgwYywweDgyLDB4MDMsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWUzMCwgMCwgezB4OTgsMHgxZCwweGU0LDB4MDgsMHhmOSwweDEwLDB4M2YsMHg0MCwweDhmLDB4OTEsMHgxMywweGU0LDB4MDAsMHhlZCwweDEwLDB4M2YgfSwKLSAgMTYsIDB4ZWU0MCwgMCwgezB4NTAsMHgwZiwweDkxLDB4MDMsMHhlNCwweDQwLDB4YTUsMHgxMCwweDNlLDB4NDQsMHgwZiwweDkxLDB4MDMsMHhmNCwweDA0LDB4ZjkgfSwKLSAgMTYsIDB4ZWU1MCwgMCwgezB4MjgsMHgzZSwweDRiLDB4MGIsMHg5MiwweGEzLDB4ZTQsMHhhMCwweGU5LDB4MjgsMHgzZSwweDRhLDB4MGYsMHg5MiwweDgzLDB4ZTYgfSwKLSAgMTYsIDB4ZWU2MCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhmNCwweDAwLDB4Y2QsMHgwMCwweDMzLDB4NDAgfSwKLSAgMTYsIDB4ZWU3MCwgMCwgezB4ODAsMHhkMCwweDAxLDB4ZjQsMHgwMCwweGE1LDB4MDAsMHgyNiwweDQwLDB4MGYsMHg5MCwweDAzLDB4MjYsMHgwMCwweGYxLDB4ODggfSwKLSAgMTYsIDB4ZWU4MCwgMCwgezB4M2UsMHg2OCwweDBkLDB4OTgsMHg4MywweDQ0LDB4MDAsMHhjOSwweGMwLDB4M2EsMHg0MCwweDBjLDB4OTgsMHgwMywweDI0LDB4MDggfSwKLSAgMTYsIDB4ZWU5MCwgMCwgezB4ZjksMHhhMCwweDMyLDB4NzgsMHgwZiwweDlhLDB4MDMsMHgwNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWVhMCwgMCwgezB4MzgsMHgxMCwweGUwLDB4MDIsMHg4OCwweDAwLDB4YTIsMHgwMCwweDA4LDB4ODAsMHgwMiwweGUwLDB4MDAsMHgwYSwweDAwLDB4MjIgfSwKLSAgMTYsIDB4ZWViMCwgMCwgezB4MDAsMHgwYiwweDgwLDB4MDIsMHgyMCwweDAwLDB4YjgsMHg0MCwweDJlLDB4MTQsMHgwOCwweDgwLDB4NDMsMHgzMCwweDAwLDB4ODggfSwKLSAgMTYsIDB4ZWVjMCwgMCwgezB4YTAsMHgyMiwweDJhLDB4MGEsMHg4YSwweDQyLDB4YTAsMHgwNSwweGI4LDB4NDIsMHgzMiwweDM4LDB4MGIsMHg4MCwweDAyLDB4MGUgfSwKLSAgMTYsIDB4ZWVkMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweDAzLDB4OTEsMHgwMCwweDI0LDB4NDAgfSwKLSAgMTYsIDB4ZWVlMCwgMCwgezB4MGIsMHgxMCwweDAyLDB4YzQsMHgxMSwweGIxLDB4MDQsMHgyMCwweDQxLDB4MWIsMHgxMCwweDIyLDB4NDUsMHgwMCwweGI1LDB4MDAgfSwKLSAgMTYsIDB4ZWVmMCwgMCwgezB4MjUsMHg0MCwweDA5LDB4NTAsMHgwMiwweDU0LDB4MDEsMHg4MSwweDQwLDB4MmMsMHg0MCwweDA5LDB4MTQsMHg5MiwweDQ0LDB4MDAgfSwKLSAgMTYsIDB4ZWYwMCwgMCwgezB4YjEsMHg0MCwweDI0LDB4NGMsMHgwYiwweDE0LDB4MGEsMHg0MiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWYxMCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MDAsMHg5OSwweDAwLDB4MjQsMHg0MiwweDBiLDB4OTAsMHgwMiwweGU0LDB4MDEsMHg5OSwweDIwLDB4MjYgfSwKLSAgMTYsIDB4ZWYyMCwgMCwgezB4NDAsMHhjYiwweDkwLDB4MDIsMHg2NCwweDAwLDB4YmIsMHgwMCwweDJmLDB4NDEsMHgwYSwweGQwLDB4MDIsMHgzNCwweDAwLDB4ODkgfSwKLSAgMTYsIDB4ZWYzMCwgMCwgezB4MDAsMHgyNiwweDQwLDB4MGIsMHgxMCwweDAyLDB4ZTQsMHgwMCwweDMxLDB4MDAsMHg2MiwweDQwLDB4MGIsMHg5MCwweDAyLDB4NDYgfSwKLSAgMTYsIDB4ZWY0MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhjNCwweDAwLDB4ZDksMHgwMSwweDM2LDB4NTAgfSwKLSAgMTYsIDB4ZWY1MCwgMCwgezB4MmYsMHg5MCwweDAzLDB4ZTYsMHg2MCwweGY5LDB4ODAsMHgzNiwweDUyLDB4MGIsMHg5MCwweDBhLDB4NjQsMHgwMCwweGY5LDB4MDAgfSwKLSAgMTYsIDB4ZWY2MCwgMCwgezB4MzYsMHg0MCwweDBkLDB4OTAsMHgwMywweDY0LDB4MDIsMHgwOSwweDAwLDB4M2UsMHg0MCwweDBkLDB4OTAsMHgwMywweDY0LDB4MDAgfSwKLSAgMTYsIDB4ZWY3MCwgMCwgezB4YjksMHgwMCwweGI2LDB4NDAsMHgwZiwweDkwLDB4MDMsMHg2OCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWY4MCwgMCwgezB4MjgsMHgwMSwweGE0LDB4MDAsMHhlMSwweDAwLDB4M2EsMHg0MSwweDBjLDB4OTAsMHgyMywweGU2LDB4MjAsMHhlOSwweDAwLDB4YmEgfSwKLSAgMTYsIDB4ZWY5MCwgMCwgezB4NzAsMHgwZiwweDkwLDB4MDMsMHhhNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDAsMHgwZCwweDEwLDB4MTMsMHhhNywweDAwLDB4ZjkgfSwKLSAgMTYsIDB4ZWZhMCwgMCwgezB4MDAsMHgzYSwweDQwLDB4MGUsMHg5MCwweDQzLDB4YTQsMHgwOCwweGY5LDB4MDAsMHgzYSwweDQwLDB4MGYsMHg5MCwweDAzLDB4OGEgfSwKLSAgMTYsIDB4ZWZiMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMCwweDIwLDB4ZjgsMHgwMCwweDMyLDB4MDAgfSwKLSAgMTYsIDB4ZWZjMCwgMCwgezB4MGYsMHg4MCwweDgzLDB4MjEsMHgwMCwweGYwLDB4MDAsMHgzYSwweDExLDB4MDksMHg4MCwweDAzLDB4ZTAsMHgwMCwweGM4LDB4MDEgfSwKLSAgMTYsIDB4ZWZkMCwgMCwgezB4MzAsMHgwMSwweDBjLDB4ODAsMHgwMywweGIwLDB4MDAsMHhkMCwweDAwLDB4MzQsMHgwMCwweDBkLDB4ODAsMHgwMywweDIwLDB4MDAgfSwKLSAgMTYsIDB4ZWZlMCwgMCwgezB4YzgsMHgwMCwweDMyLDB4MDAsMHgwYywweDgwLDB4MDMsMHgwYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWZmMCwgMCwgezB4MjgsMHgwNSwweDM4LDB4MDAsMHhiZSwweDAwLDB4MjIsMHg4MCwweDAzLDB4ZTgsMHgwMiwweDFhLDB4MDgsMHhiZSwweDQ4LDB4MjIgfSwKLSAgMTYsIDB4ZjAwMCwgMCwgezB4ODAsMHgwYSwweGEwLDB4MDMsMHhiOCwweDAwLDB4Y2EsMHgwOCwweDIyLDB4ODAsMHgwZiwweGE0LDB4MDIsMHgwOCwweDAwLDB4OGEgfSwKLSAgMTYsIDB4ZjAxMCwgMCwgezB4MDAsMHgyMiwweDgwLDB4OGQsMHhhMCwweDAyLDB4MjgsMHgwMCwweGRhLDB4MDAsMHgyYSwweDgxLDB4MDgsMHhhMCwweDAyLDB4OGEgfSwKLSAgMTYsIDB4ZjAyMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0NCwweDAwLDB4YjMsMHgwMCwweDIwLDB4NDAgfSwKLSAgMTYsIDB4ZjAzMCwgMCwgezB4MGIsMHgzMCwweDAyLDB4MDgsMHgwMCwweGIwLDB4NjQsMHg2OCwweGMxLDB4MDgsMHhiMCwweDIyLDB4Y2MsMHgwYywweDkzLDB4ODAgfSwKLSAgMTYsIDB4ZjA0MCwgMCwgezB4MDAsMHhjMCwweDQ4LDB4MzYsMHgwMiwweDg4LDB4MDAsMHhiMywweDAwLDB4MjQsMHhjMCwweDA4LDB4MzAsMHgwNiwweDBjLDB4MDEgfSwKLSAgMTYsIDB4ZjA1MCwgMCwgezB4YTMsMHgwMiwweDJjLDB4YzAsMHgwOCwweGIwLDB4MDIsMHgwYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjA2MCwgMCwgezB4YTAsMHgwMSwweDE0LDB4MDgsMHhiNSwweDAwLDB4MjEsMHg0MCwweDBiLDB4MzgsMHg4MiwweDFjLDB4MjEsMHhiNywweDAwLDB4MjMgfSwKLSAgMTYsIDB4ZjA3MCwgMCwgezB4ZTgsMHg0YSwweDcyLDB4MjYsMHg5ZSwweDQwLDB4OGYsMHg4MSwweGFiLDB4NDAsMHg0MiwweDcwLDB4NTIsMHgzOCwweDAwLDB4YTMgfSwKLSAgMTYsIDB4ZjA4MCwgMCwgezB4MjIsMHgyMCwweGM0LDB4NDksMHgzMSwweDAyLDB4MWUsMHgwYSwweGI3LDB4MjIsMHgyZCwweGU4LDB4MDgsMHg3MiwweDAyLDB4YTggfSwKLSAgMTYsIDB4ZjA5MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxMiwweDAwLDB4ZjYsMHg4MCwweDIxLDB4ZTAgfSwKLSAgMTYsIDB4ZjBhMCwgMCwgezB4MGIsMHg3OCwweDBiLDB4MWUsMHgwMCwweGI0LDB4ODIsMHgzYiwweGU4LDB4NGMsMHg3YywweDEzLDB4ZmUsMHgwMiwweDk3LDB4ODAgfSwKLSAgMTYsIDB4ZjBiMCwgMCwgezB4MzMsMHhhMCwweDA4LDB4MzgsMHgwMywweDlhLDB4MDAsMHhmNywweDg4LDB4MzUsMHhlMiwweDBjLDB4NzgsMHhlMywweDBlLDB4MDAgfSwKLSAgMTYsIDB4ZjBjMCwgMCwgezB4ZTMsMHhlOCwweDM0LDB4ZjgsMHgwYywweDNjLDB4MjMsMHgyYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjBkMCwgMCwgezB4MDgsMHgxZCwweGE4LDB4MDQsMHhmMSwweDAwLDB4M2UsMHg0MiwweDBmLDB4YjAsMHgxMywweGVjLDB4MDAsMHhmYiwweDAwLDB4YmUgfSwKLSAgMTYsIDB4ZjBlMCwgMCwgezB4Y2MsMHgxZSwweGI2LDB4MDcsMHhlZCwweDgwLDB4ZmIsMHgwMCwweDM2LDB4MDAsMHgwZiwweGIwLDB4NDMsMHg2OCwweDAwLDB4Y2IgfSwKLSAgMTYsIDB4ZjBmMCwgMCwgezB4MzAsMHgzZSwweGQ4LDB4MGYsMHhiNiwweDBiLDB4ZWQsMHg0MCwweGNiLDB4MDAsMHgzYSwweGMwLDB4MmYsMHhiNiwweDAzLDB4YzIgfSwKLSAgMTYsIDB4ZjEwMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmMiwweDQwLDB4ZmIsMHg5MSwweDNkLDB4NGMgfSwKLSAgMTYsIDB4ZjExMCwgMCwgezB4ODAsMHhmOCwweDAzLDB4ZGUsMHg0MCwweGM2LDB4ODAsMHgxYiwweGYwLDB4NGYsMHhmZCwweDA3LDB4ZmYsMHgwMCwweGNkLDB4ODAgfSwKLSAgMTYsIDB4ZjEyMCwgMCwgezB4MzMsMHhlMCwweDBjLDB4NjgsMHgwMywweGJhLDB4MDAsMHhmZiwweDgwLDB4MzMsMHhlMCwweDA3LDB4ZjgsMHgwMywweDNmLDB4MTAgfSwKLSAgMTYsIDB4ZjEzMCwgMCwgezB4Y2YsMHg4MCwweDNmLDB4ZTAsMHgwYywweGZjLDB4MDMsMHgwMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjE0MCwgMCwgezB4YTgsMHgxMSwweDkwLDB4MDAsMHhiNSwweGMwLDB4MmQsMHg0MCwweDA4LDB4NjIsMHgwMiwweGRjLDB4MjAsMHhkNiwweDAyLDB4MjEgfSwKLSAgMTYsIDB4ZjE1MCwgMCwgezB4YzgsMHg4ZiwweDcwLDB4MDIsMHhkYywweDgxLDB4YjUsMHgwMCwweDgxLDB4NDQsMHgwZCwweDYxLDB4MjIsMHgxOCwweDA0LDB4YjcgfSwKLSAgMTYsIDB4ZjE2MCwgMCwgezB4MDAsMHgzNSwweGMwLDB4MGIsMHg3MCwweDAyLDB4YmMsMHgwMCwweGE3LDB4MDEsMHgyZCwweGMwLDB4MDgsMHg3MCwweDAzLDB4ZWEgfSwKLSAgMTYsIDB4ZjE3MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5MCwweDAxLDB4YjYsMHgwMSwweDJmLDB4YzAgfSwKLSAgMTYsIDB4ZjE4MCwgMCwgezB4MTgsMHg3MCwweDAyLDB4ZGMsMHgwYSwweDk2LDB4MTAsMHgyOSwweGMxLDB4NGIsMHg3MCwweDA2LDB4ZGMsMHgxMCwweDg1LDB4MDAgfSwKLSAgMTYsIDB4ZjE5MCwgMCwgezB4MjUsMHg4MCwweDA4LDB4NjAsMHg4MiwweDFhLDB4MjAsMHhhMywweDAwLDB4MjUsMHhjMCwweDBiLDB4MzEsMHgwMiwweDVjLDB4NDAgfSwKLSAgMTYsIDB4ZjFhMCwgMCwgezB4ODcsMHgwMCwweDJkLDB4YzAsMHgwOCwweDcwLDB4MDIsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjFiMCwgMCwgezB4MjAsMHgxNCwweGM4LDB4MDAsMHhiMSwweDAwLDB4MmMsMHg0MCwweDg4LDB4MjAsMHgwMiwweGVkLDB4MDAsMHg4YSwweDYwLDB4MjAgfSwKLSAgMTYsIDB4ZjFjMCwgMCwgezB4YzAsMHgwYSwweDMwLDB4MDIsMHhjYywweDA0LDB4YjEsMHgwMCwweDI0LDB4MDAsMHgyOCwweDI0LDB4MDIsMHgwYSwweDAwLDB4MzMgfSwKLSAgMTYsIDB4ZjFkMCwgMCwgezB4MDAsMHgyNCwweGMwLDB4MGIsMHhiMCwweDAyLDB4Y2MsMHgwMCwweGEzLDB4MDAsMHgyYywweGMwLDB4ODgsMHgzMCwweDAyLDB4ODggfSwKLSAgMTYsIDB4ZjFlMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhhMCwweDAwLDB4ZmIsMHgwMCwweDNlLDB4YzYgfSwKLSAgMTYsIDB4ZjFmMCwgMCwgezB4MGMsMHg4MCwweDAzLDB4ZTUsMHgwMCwweDA5LDB4YzgsMHhhYiwweGUyLDB4MGIsMHhmMCwweDAyLDB4ZmMsMHgwMCwweDRhLDB4MDAgfSwKLSAgMTYsIDB4ZjIwMCwgMCwgezB4MzYsMHhjMCwweDA4LDB4OTAsMHgwMywweGE2LDB4MDAsMHhmZiwweDAwLDB4MzMsMHhjMCwweDBmLDB4ZjAsMHgwMywweDdjLDB4MDAgfSwKLSAgMTYsIDB4ZjIxMCwgMCwgezB4OGYsMHgwMCwweDJmLDB4YzAsMHgyOCwweGYwLDB4MDIsMHgyYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjIyMCwgMCwgezB4ODAsMHgwMCwweGUxLDB4MDAsMHhmYSwweDAxLDB4M2UsMHhjMCwweDBmLDB4ODAsMHgwMywweGVjLDB4MDAsMHhmOSwweDQwLDB4M2UgfSwKLSAgMTYsIDB4ZjIzMCwgMCwgezB4YzAsMHgwNywweGIwLDB4MDMsMHhlYywweDAwLDB4ZmEsMHgwMCwweDNhLDB4NDAsMHgwZiwweDkwLDB4MjMsMHhlNSwweDAwLDB4ZmIgfSwKLSAgMTYsIDB4ZjI0MCwgMCwgezB4MDAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4YWMsMHgwMCwweGZiLDB4MDAsMHgzYywweGMwLDB4MGYsMHhiMCwweDIzLDB4ZTAgfSwKLSAgMTYsIDB4ZjI1MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmMCwweDAwLDB4ZmMsMHgyMCwweDNmLDB4YzAgfSwKLSAgMTYsIDB4ZjI2MCwgMCwgezB4MGMsMHhjOCwweDAzLDB4ZmMsMHgyMCwweGNkLDB4ODEsMHhiMywweGMyLDB4NGYsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGNhLDB4MDAgfSwKLSAgMTYsIDB4ZjI3MCwgMCwgezB4M2MsMHg4MCwweDBjLDB4ZDAsMHg4MiwweDM2LDB4MDEsMHhmZiwweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweDNjLDB4MDggfSwKLSAgMTYsIDB4ZjI4MCwgMCwgezB4Y2YsMHgwNCwweDNhLDB4YzAsMHg1YywweGIwLDB4MDMsMHhjMCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjI5MCwgMCwgezB4ODEsMHgwNCwweDYyLDB4MDQsMHhiOCwweDQwLDB4MmMsMHg2MCwweDA4LDB4ODksMHgwMiwweGVlLDB4ODAsMHhhOSwweDYwLDB4MmEgfSwKLSAgMTYsIDB4ZjJhMCwgMCwgezB4YzAsMHgwYiwweGIwLDB4MDMsMHg4YywweDAwLDB4YWEsMHg0MCwweDJlLDB4MDAsMHgwOCwweDEwLDB4MDIsMHgyNiwweDgxLDB4ZWIgfSwKLSAgMTYsIDB4ZjJiMCwgMCwgezB4MDAsMHgyNiwweGMwLDB4OGIsMHhiMCwweDEzLDB4NmMsMHgwMCwweGRiLDB4MDAsMHgyZSwweGMwLDB4M2QsMHhiMCwweDAyLDB4ZTAgfSwKLSAgMTYsIDB4ZjJjMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyMywweDAwLDB4YmIsMHgwMywweDJlLDB4YzggfSwKLSAgMTYsIDB4ZjJkMCwgMCwgezB4MDksMHhiMCwweDAyLDB4ZWUsMHgwMCwweDhiLDB4MTAsMHgyNiwweGMwLDB4MGIsMHhiMCwweDAyLDB4ZWMsMHgwMCwweGE4LDB4MDAgfSwKLSAgMTYsIDB4ZjJlMCwgMCwgezB4MmUsMHhjMCwweDA4LDB4ODgsMHgyMiwweGE0LDB4ODAsMHhiYiwweDAwLDB4MmUsMHhjMCwweDRiLDB4YjAsMHgyMiwweDBjLDB4MDAgfSwKLSAgMTYsIDB4ZjJmMCwgMCwgezB4OGIsMHgwMCwweDJlLDB4YzAsMHgwYiwweGIwLDB4MDIsMHhlMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjMwMCwgMCwgezB4MDgsMHgwNCwweDAwLDB4MDAsMHhiMiwweDAwLDB4MmUsMHhjMCwweDI5LDB4MjgsMHgwMiwweGVjLDB4MDEsMHhhMCwweDAyLDB4MjAgfSwKLSAgMTYsIDB4ZjMxMCwgMCwgezB4YzAsMHgwOSwweDMwLDB4MDIsMHhjYywweDAwLDB4YTAsMHgwMCwweDJjLDB4NDAsMHgwOCwweDAwLDB4NDIsMHg4NCwweDAwLDB4OTMgfSwKLSAgMTYsIDB4ZjMyMCwgMCwgezB4MDAsMHg2YywweGMwLDB4MGIsMHgzMCwweDA2LDB4NGQsMHgwMCwweDkzLDB4MDAsMHgyYywweGMwLDB4MDgsMHgzMCwweDAyLDB4YzIgfSwKLSAgMTYsIDB4ZjMzMCwgMCwgezB4MTEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2MCwweDAwLDB4ZjgsMHgyMCwweDJmLDB4YzAgfSwKLSAgMTYsIDB4ZjM0MCwgMCwgezB4MGQsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGNiLDB4MDAsMHgzMywweGMwLDB4MGIsMHhmMCwweDAzLDB4ZmMsMHgxOCwweGU4LDB4MDAgfSwKLSAgMTYsIDB4ZjM1MCwgMCwgezB4MmUsMHg4MCwweDA4LDB4ODAsMHgwMywweGE0LDB4MDAsMHhiZiwweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHg0MywweDNkLDB4MTEgfSwKLSAgMTYsIDB4ZjM2MCwgMCwgezB4Y2YsMHgwMywweDNlLDB4YzEsMHg1ZCwweGYwLDB4MjMsMHhjMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjM3MCwgMCwgezB4YTAsMHgxZCwweGYwLDB4MDAsMHhmYywweDEwLDB4M2YsMHg0MCwweDBlLDB4ZTAsMHgwMywweGZjLDB4MDAsMHhmYywweDAwLDB4M2YgfSwKLSAgMTYsIDB4ZjM4MCwgMCwgezB4YzAsMHgwZiwweGYwLDB4MDMsMHhiYywweDAwLDB4ZmMsMHgwMCwweDNmLDB4MDAsMHgyZiwweGMwLDB4MDMsMHg3NCwweDAwLDB4ZWYgfSwKLSAgMTYsIDB4ZjM5MCwgMCwgezB4MDAsMHgyNywweGMwLDB4MGYsMHhmMCwweDAzLDB4ZmMsMHgxOCwweGZmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZTggfSwKLSAgMTYsIDB4ZjNhMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MTUsMHhmYywweDg4LDB4OWMsMHgyOSwweDNmLDB4MDggfSwKLSAgMTYsIDB4ZjNiMCwgMCwgezB4MGYsMHhkMiwweDgzLDB4ZWMsMHgwMCwweGZmLDB4MDgsMHgzZiwweDI4LDB4MGYsMHhjYSwweDAzLDB4M2MsMHg0MSwweGNmLDB4MjAgfSwKLSAgMTYsIDB4ZjNjMCwgMCwgezB4NzMsMHgyYywweDBjLDB4YzAsMHgwMywweDMwLDB4MjAsMHhjZiwweDYwLDB4MzMsMHhkOCwweDBmLDB4NzgsMHgwMywweDNmLDB4ODAgfSwKLSAgMTYsIDB4ZjNkMCwgMCwgezB4ZGQsMHg5MiwweDMzLDB4YzgsMHgwZiwweDUwLDB4MDMsMHgzMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjNlMCwgMCwgezB4ODAsMHgxMCwweGU1LDB4NDAsMHg4OCwweDQwLDB4MmUsMHgwNCwweDhiLDB4OTQsMHgwMiwweGU0LDB4MDAsMHhiOSwweDAwLDB4MGUgfSwKLSAgMTYsIDB4ZjNmMCwgMCwgezB4N2YsMHg4ZiwweDllLDB4ODMsMHg2NSwweDgyLDB4Y2YsMHg2OCwweDNlLDB4NTAsMHg4ZCwweDA0LDB4OTIsMHgyZiwweDA0LDB4ZDMgfSwKLSAgMTYsIDB4ZjQwMCwgMCwgezB4NDAsMHg3NCwweGRjLDB4MGQsMHhhMiwweDAyLDB4MjAsMHg0MCwweDg5LDB4MDAsMHgyMiwweGYwLDB4MGIsMHg5OCwweDAyLDB4MjAgfSwKLSAgMTYsIDB4ZjQxMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjOCwweDA5LDB4YTAsMHg4NSwweDJjLDB4MDEgfSwKLSAgMTYsIDB4ZjQyMCwgMCwgezB4MGIsMHgwMCwweDEwLDB4Y2MsMHg0MCwweGEyLDB4MDgsMHgyYywweDAwLDB4ZGIsMHgxMSwweDAyLDB4ODksMHgwMCwweDkzLDB4MzAgfSwKLSAgMTYsIDB4ZjQzMCwgMCwgezB4MjAsMHgwNSwweDA4LDB4MTMsMHgwMiwweDgwLDB4MDgsMHhhMywweDYwLDB4NjAsMHhjMCwweDBhLDB4YjAsMHg4MiwweDA4LDB4ODQgfSwKLSAgMTYsIDB4ZjQ0MCwgMCwgezB4ODEsMHgyMCwweDIwLDB4ZDAsMHgwYiwweDEwLDB4MDIsMHhhMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjQ1MCwgMCwgezB4YzAsMHgxNSwweGE0LDB4MTIsMHg4OCwweDgwLDB4NmUsMHgyMCwweDBiLDB4ODgsMHg4MiwweGVlLDB4MDAsMHhiYSwweDgxLDB4MmUgfSwKLSAgMTYsIDB4ZjQ2MCwgMCwgezB4NjAsMHg1YSwweDk4LDB4MDIsMHhhMiwweDAwLDB4OGIsMHgwMCwweDJhLDB4NjAsMHgwOCwweDExLDB4MWEsMHgyYywweDAwLDB4YmIgfSwKLSAgMTYsIDB4ZjQ3MCwgMCwgezB4MDAsMHgyMiwweGMwLDB4MDgsMHhiOCwweDBhLDB4MjgsMHgwMCwweDgxLDB4MjAsMHgwMiwweGMwLDB4MGIsMHg5MCwweDAyLDB4YjAgfSwKLSAgMTYsIDB4ZjQ4MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDUsMHhlZCwweDAwLDB4ZDksMHg4MCwweDNlLDB4MjAgfSwKLSAgMTYsIDB4ZjQ5MCwgMCwgezB4NGYsMHg5OCwweDAwLDB4ZWIsMHgyMCwweGZiLDB4ZTAsMHgyZSwweDYwLDB4MGIsMHg4YywweDYyLDB4YWUsMHgyMCwweDhiLDB4MDAgfSwKLSAgMTYsIDB4ZjRhMCwgMCwgezB4MjIsMHg2MCwweDA4LDB4YmMsMHgwMywweGEwLDB4MjAsMHhlYiwweDAwLDB4MjIsMHhjMSwweDBhLDB4MTgsMHgwYiwweDI1LDB4MDAgfSwKLSAgMTYsIDB4ZjRiMCwgMCwgezB4ZDksMHgwMCwweGIyLDB4YzAsMHgwZiwweDkwLDB4MGIsMHg5MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjRjMCwgMCwgezB4ZTAsMHgwMSwweDk0LDB4ODgsMHhmZiwweDAwLDB4M2YsMHgwMSwweDBmLDB4ZDAsMHgwMSwweGYwLDB4MDgsMHhkZCwweDAxLDB4M2YgfSwKLSAgMTYsIDB4ZjRkMCwgMCwgezB4NDIsMHgwNywweDQwLDB4MDMsMHg1YywweDAwLDB4YWYsMHgwMCwweDNmLDB4NDAsMHgwZiwweGY4LDB4MDAsMHhmMCwweDAwLDB4ZGYgfSwKLSAgMTYsIDB4ZjRlMCwgMCwgezB4MDAsMHgzZiwweGMwLDB4MGYsMHhjMCwweDIzLDB4ZjQsMHg1MCwweGZkLDB4ODAsMHgzZiwweGMwLDB4MGYsMHhkMCwweDAzLDB4NzggfSwKLSAgMTYsIDB4ZjRmMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDAsMHhhYywweDAwLDB4ZDksMHgwMCwweDNlLDB4NDAgfSwKLSAgMTYsIDB4ZjUwMCwgMCwgezB4MGYsMHg5NCwweDAzLDB4YTgsMHgyMCwweGNhLDB4NDAsMHgzYSwweDQwLDB4MGYsMHg5NCwweDAzLDB4ZWEsMHgwOCwweGZiLDB4MDAgfSwKLSAgMTYsIDB4ZjUxMCwgMCwgezB4M2EsMHgwMCwweDRjLDB4ZjYsMHgyMywweDJjLDB4MzAsMHhjYiwweDAwLDB4MzYsMHhjMCwweDBkLDB4OTAsMHgwMywweGExLDB4MDIgfSwKLSAgMTYsIDB4ZjUyMCwgMCwgezB4ZDksMHgwMCwweGJhLDB4YzAsMHgwZiwweDk4LDB4MDMsMHgxMCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjUzMCwgMCwgezB4YzgsMHgwNSwweDI0LDB4MDAsMHg4YSwweDAwLDB4MmUsMHg0MCwweDBiLDB4OTUsMHgwMiwweGUwLDB4MDgsMHg4OCwweDgwLDB4MjIgfSwKLSAgMTYsIDB4ZjU0MCwgMCwgezB4NzAsMHg4ZiwweDhjLDB4MDIsMHhlMCwweDAwLDB4YmYsMHgwMiwweDIwLDB4MDAsMHgwOCwweGI4LDB4MDIsMHgwZSwweDAwLDB4ZGYgfSwKLSAgMTYsIDB4ZjU1MCwgMCwgezB4MDAsMHgyMywweGRkLDB4MDgsMHg5OCwweDgyLDB4MmEsMHgwMCwweDg5LDB4ODAsMHgyMywweGMwLDB4MGIsMHg1MCwweDFhLDB4MzIgfSwKLSAgMTYsIDB4ZjU2MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0NCwweDAwLDB4ODMsMHgwNSwweDI0LDB4NDEgfSwKLSAgMTYsIDB4ZjU3MCwgMCwgezB4MDksMHgxMCwweDAyLDB4Y2UsMHgwMCwweDgzLDB4OTAsMHgyYywweDgwLDB4MWIsMHgyNCwweDgyLDB4Y2MsMHgwMCwweGJiLDB4MDAgfSwKLSAgMTYsIDB4ZjU4MCwgMCwgezB4MmMsMHg4MCwweDA4LDB4MDQsMHgwOCwweDA0LDB4MDEsMHg4YiwweDAwLDB4MjIsMHhjMCwweDI4LDB4MTIsMHgwMiwweDZjLDB4ODAgfSwKLSAgMTYsIDB4ZjU5MCwgMCwgezB4ODEsMHg0OCwweDI0LDB4YzQsMHgwYiwweDEwLDB4MDIsMHgzOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjVhMCwgMCwgezB4MjAsMHgwMSwweDNlLDB4NDIsMHg4NiwweDgwLDB4MmQsMHg2MCwweDBiLDB4NjgsMHgwMiwweGY2LDB4OTAsMHg4ZCwweDgwLDB4MjEgfSwKLSAgMTYsIDB4ZjViMCwgMCwgezB4MjIsMHgwYiwweDU4LDB4MDIsMHhkNywweDQwLDB4YjcsMHg5MCwweDIxLDB4ZTAsMHgwOCwweDQ5LDB4OTIsMHgxZSwweDUzLDB4OTcgfSwKLSAgMTYsIDB4ZjVjMCwgMCwgezB4ODEsMHgyMSwweGUwLDB4NDgsMHhjOCwweDBhLDB4NTIsMHgyMiwweDg1LDB4ODgsMHgyNSwweGUwLDB4MGIsMHg1OCwweDAyLDB4MDggfSwKLSAgMTYsIDB4ZjVkMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDAwLDB4ODMsMHgwMCwweDM0LDB4YzAgfSwKLSAgMTYsIDB4ZjVlMCwgMCwgezB4MGYsMHgwMCwweDAzLDB4Y2UsMHgyMCwweGMzLDB4MzAsMHg3YywweDk0LDB4MGIsMHgzNCwweDgzLDB4Y2MsMHgxNCwweGYzLDB4MDIgfSwKLSAgMTYsIDB4ZjVmMCwgMCwgezB4M2MsMHg4MCwweDBjLDB4MDQsMHgwMywweDA0LDB4NjAsMHhjMywweDAwLDB4YjAsMHhjMCwweDBjLDB4MTAsMHgwMywweGVjLDB4MDAgfSwKLSAgMTYsIDB4ZjYwMCwgMCwgezB4YzksMHgwMCwweDNjLDB4YzQsMHgwZiwweDExLDB4MDMsMHgxMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjYxMCwgMCwgezB4NDAsMHgxZCwweDljLDB4MDAsMHhlZSwweDAxLDB4M2YsMHhjMCwweDRmLDB4ZTEsMHgwMywweGQ0LDB4NDAsMHhmNSwweDE2LDB4N2EgfSwKLSAgMTYsIDB4ZjYyMCwgMCwgezB4YzAsMHg0ZSwweGYwLDB4MDMsMHhmNCwweDEwLDB4MzcsMHgwNSwweDNkLDB4YzAsMHgwZiwweGMwLDB4MGIsMHhkYywweDQwLDB4ZmYgfSwKLSAgMTYsIDB4ZjYzMCwgMCwgezB4MDAsMHgzYiwweGMyLDB4MGUsMHhkMCwweDA3LDB4YmMsMHgwMiwweGVmLDB4MDAsMHgzYiwweGM2LDB4MGYsMHhkMCwweDAzLDB4ZDAgfSwKLSAgMTYsIDB4ZjY0MCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhmNCwweDAwLDB4ZGQsMHg4NCwweDMzLDB4ODAgfSwKLSAgMTYsIDB4ZjY1MCwgMCwgezB4MDQsMHhmMCwweDAzLDB4NmMsMHgwMiwweGNiLDB4MDIsMHg3ZSwweGMwLDB4MWYsMHhhMCwweDUzLDB4ZWMsMHgwMCwweGNiLDB4MjAgfSwKLSAgMTYsIDB4ZjY2MCwgMCwgezB4MzQsMHg0MCwweDBjLDB4ZDAsMHgwYiwweDIwLDB4MTAsMHhlYiwweDAwLDB4MWUsMHhlMCwweDBmLDB4MzAsMHgwYiwweDJjLDB4MDAgfSwKLSAgMTYsIDB4ZjY3MCwgMCwgezB4YzEsMHgwMCwweDMyLDB4YzAsMHgwZiwweDkxLDB4MDMsMHhlYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjY4MCwgMCwgezB4NDgsMHgxMSwweDljLDB4MDAsMHg4NywweDAwLDB4MjEsMHg4MCwweDA4LDB4NjAsMHgwMCwweDE0LDB4MDAsMHg4NSwweDAwLDB4MmQgfSwKLSAgMTYsIDB4ZjY5MCwgMCwgezB4ODAsMHgwYiwweDcwLDB4NTIsMHhkNCwweDA0LDB4ODMsMHgyOCwweDI5LDB4YzAsMHgyOCwweDUwLDB4MDMsMHg1MCwweDAwLDB4ODcgfSwKLSAgMTYsIDB4ZjZhMCwgMCwgezB4NDAsMHgyNSwweGM4LDB4MGYsMHg2MCwweDAyLDB4MDQsMHgwMCwweGE3LDB4MDAsMHgzZCwweGM4LDB4MGIsMHg1MiwweDAyLDB4ZDIgfSwKLSAgMTYsIDB4ZjZiMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg4ZSwweDAwLDB4OTUsMHg4MCwweDIxLDB4ZTAgfSwKLSAgMTYsIDB4ZjZjMCwgMCwgezB4MDksMHgzOCwweDAyLDB4MWUsMHgxMSwweGE3LDB4ODAsMHgyZCwweGYwLDB4MGIsMHg3OCwweDUyLDB4Y2UsMHgwYSwweDk3LDB4OTUgfSwKLSAgMTYsIDB4ZjZkMCwgMCwgezB4MjEsMHhlMCwweDE5LDB4NWMsMHgwMiwweDBlLDB4MDAsMHhhNywweDgwLDB4MjksMHhjOCwweDBiLDB4ZjgsMHgwMiwweDFlLDB4MjAgfSwKLSAgMTYsIDB4ZjZlMCwgMCwgezB4OGQsMHg4MCwweDIxLDB4ZTAsMHgwYiwweDU4LDB4MDIsMHhmMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjZmMCwgMCwgezB4NDgsMHgxNCwweGNjLDB4MDAsMHg4MiwweGUwLDB4YTAsMHhlOCwweDI5LDB4MzAsMHgwNiwweDBlLDB4NTAsMHhhYiwweDgwLDB4MmMgfSwKLSAgMTYsIDB4ZjcwMCwgMCwgezB4ZjAsMHgwYiwweDMxLDB4NDIsMHhjYywweDAwLDB4OTMsMHgwMCwweDI4LDB4YzQsMHgwOSwweDk4LDB4MDIsMHg0YywweDI4LDB4ODMgfSwKLSAgMTYsIDB4ZjcxMCwgMCwgezB4MDAsMHgyNCwweGMwLDB4MGEsMHhiMCwweDAyLDB4MGQsMHgwMCwweGEyLDB4NTgsMHgyOCwweGMwLDB4MGIsMHgxMCwweDAyLDB4ZDIgfSwKLSAgMTYsIDB4ZjcyMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhiOSwweDAwLDB4ZGUsMHg4MCwweDMxLDB4YTAgfSwKLSAgMTYsIDB4ZjczMCwgMCwgezB4MDksMHhlMiwweDBiLDB4NzgsMHgwNCwweGVlLDB4YTQsMHgyZiwweGE0LDB4OGIsMHhlYywweDAyLDB4ZDgsMHgwMCwweGRhLDB4MDAgfSwKLSAgMTYsIDB4Zjc0MCwgMCwgezB4MjcsMHg4MSwweDBkLDB4ZWMsMHgwNiwweDFiLDB4MDAsMHhlYSwweDA0LDB4M2UsMHg4MCwweDBiLDB4ZTAsMHgwMywweDNiLDB4MDAgfSwKLSAgMTYsIDB4Zjc1MCwgMCwgezB4Y2UsMHhjMCwweDIyLDB4ODAsMHgwZiwweGEwLDB4MDMsMHhmYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Zjc2MCwgMCwgezB4NDgsMHgwMCwweGUwLDB4ODAsMHhmOCwweDEwLDB4M2UsMHgwNSwweDBlLDB4ODgsMHgwMywweGUwLDB4MDgsMHg5OCwweDQwLDB4M2UgfSwKLSAgMTYsIDB4Zjc3MCwgMCwgezB4MDAsMHgwZiwweDg0LDB4ODMsMHhlMSwweDQwLDB4ZTgsMHgwMCwweDNhLDB4MDIsMHgwZSwweDgwLDB4NDMsMHhlMSwweDQwLDB4ZjggfSwKLSAgMTYsIDB4Zjc4MCwgMCwgezB4MDAsMHgzNiwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZTAsMHgyMCwweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZDIgfSwKLSAgMTYsIDB4Zjc5MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhjNCwweDAwLDB4ZTksMHgwMCwweDNlLDB4NDAgfSwKLSAgMTYsIDB4ZjdhMCwgMCwgezB4MGMsMHg5MCwweDAzLDB4MDQsMHgyMCwweGU5LDB4OTAsMHgzMiwweDY4LDB4MGUsMHg5OCwweDAzLDB4YTQsMHgwMCwweGMxLDB4MDAgfSwKLSAgMTYsIDB4ZjdiMCwgMCwgezB4MzAsMHg0MCwweDBjLDB4OTQsMHg4MywweDI0LDB4MDgsMHhjOSwweDAwLDB4M2UsMHg0MCwweDBjLDB4OTAsMHgwMywweGE0LDB4MDAgfSwKLSAgMTYsIDB4ZjdjMCwgMCwgezB4YzksMHgwMCwweDMwLDB4NTAsMHgwYywweDFhLDB4MDMsMHgwMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjdkMCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDAsMHg4OSwweDQwLDB4MmUsMHg1MCwweDI4LDB4OTAsMHgwYSwweDI0LDB4MDgsMHg4OSwweDA2LDB4MTYgfSwKLSAgMTYsIDB4ZjdlMCwgMCwgezB4NjEsMHgwYiwweDljLDB4MDIsMHhlNCwweDIwLDB4YTksMHgwMCwweDM2LDB4NDAsMHgwZCwweDkwLDB4MDIsMHgyNywweDYwLDB4YTkgfSwKLSAgMTYsIDB4ZjdmMCwgMCwgezB4MDAsMHgyZSwweDQwLDB4MjgsMHg5MCwweDFhLDB4MjQsMHgwMCwweDg5LDB4MDAsMHgzNiwweDQwLDB4MjgsMHg5OCwweDAyLDB4MjAgfSwKLSAgMTYsIDB4ZjgwMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyYywweDAwLDB4YTksMHgwOCwweDJlLDB4YzIgfSwKLSAgMTYsIDB4ZjgxMCwgMCwgezB4MDksMHgxMCwweDAwLDB4MjQsMHgwMCwweGE5LDB4MDAsMHgwNiwweDQwLDB4ODksMHg5NiwweDA2LDB4ZTYsMHgwMCwweDg5LDB4MDAgfSwKLSAgMTYsIDB4ZjgyMCwgMCwgezB4MjIsMHhjMCwweDA4LDB4OTAsMHgwMiwweDI0LDB4MDIsMHg4OSwweDAwLDB4MjQsMHg0MCwweDA4LDB4OTAsMHgwMiwweDBjLDB4MDYgfSwKLSAgMTYsIDB4ZjgzMCwgMCwgezB4ODMsMHgwMCwweDIyLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgwNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Zjg0MCwgMCwgezB4MDgsMHgwNCwweDA1LDB4MDAsMHg4MSwweDQ0LDB4MmMsMHg1MCwweDA4LDB4MTQsMHgwMiwweDA1LDB4ODAsMHg4MSwweDIwLDB4NjQgfSwKLSAgMTYsIDB4Zjg1MCwgMCwgezB4NzAsMHgxYiwweDE0LDB4MDIsMHhlNCwweDgwLDB4YTEsMHgyMCwweDY0LDB4NDAsMHgxOSwweDEyLDB4MGEsMHgwNCwweDgwLDB4YTEgfSwKLSAgMTYsIDB4Zjg2MCwgMCwgezB4MDAsMHgyYywweDUwLDB4MTgsMHgxNCwweDAyLDB4ODUsMHgwMCwweDgxLDB4NDAsMHgyNCwweDQwLDB4NDAsMHgxMCwweDAyLDB4MDIgfSwKLSAgMTYsIDB4Zjg3MCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDAwLDB4ZTAsMHgwMCwweDNjLDB4MDAgfSwKLSAgMTYsIDB4Zjg4MCwgMCwgezB4MGQsMHg4MCwweDAyLDB4MDAsMHgwMCwweGFhLDB4NTAsMHgzNiwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZTEsMHg0MCwweGM4LDB4NTIgfSwKLSAgMTYsIDB4Zjg5MCwgMCwgezB4NzIsMHgxNCwweDBjLDB4MDUsMHgxNiwweDIwLDB4MDgsMHhjOCwweDUwLDB4M2UsMHgwMSwweDBjLDB4ODAsMHgwMywweGEwLDB4MDQgfSwKLSAgMTYsIDB4ZjhhMCwgMCwgezB4YzgsMHgwMCwweGIyLDB4MDAsMHgwYywweDgwLDB4MGIsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjhiMCwgMCwgezB4OTgsMHgxOSwweGY1LDB4MDIsMHhmZCwweDQwLDB4M2YsMHhkMCwweDBmLDB4ZDQsMHgyMywweGY0LDB4NDQsMHhmZCwweDE0LDB4N2YgfSwKLSAgMTYsIDB4ZjhjMCwgMCwgezB4NTAsMHgwZiwweGQ0LDB4MDcsMHhmNCwweDQwLDB4ZjksMHgxMCwweDNmLDB4NTAsMHgwNywweGQxLDB4MjMsMHhmNCwweDQwLDB4ZjkgfSwKLSAgMTYsIDB4ZjhkMCwgMCwgezB4NDAsMHgxZSwweDUwLDB4MDcsMHhkMCwweDBiLDB4NzUsMHgwMCwweGZkLDB4MDIsMHgzZSwweDUwLDB4MGYsMHhkNCwweDAzLDB4ZTYgfSwKLSAgMTYsIDB4ZjhlMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhmNiwweDAwLDB4YzksMHhhOCwweDNlLDB4NzIgfSwKLSAgMTYsIDB4ZjhmMCwgMCwgezB4MGYsMHg5OCwweDAzLDB4ZTYsMHhjMCwweGZkLDB4YTAsMHhiMywweDQwLDB4MGYsMHhkMCwweDAzLDB4NzcsMHg4MCwweGNkLDB4OTAgfSwKLSAgMTYsIDB4ZjkwMCwgMCwgezB4N2YsMHg0MCwweDBmLDB4ZGEsMHhhMywweDE2LDB4OTAsMHhhOSwweGMwLDB4MzIsMHg2MCwweDRjLDB4YjEsMHgwMywweDI0LDB4MDAgfSwKLSAgMTYsIDB4ZjkxMCwgMCwgezB4YzEsMHgwMCwweDMzLDB4NmEsMHgwYiwweGRhLDB4MDMsMHgwNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjkyMCwgMCwgezB4MzgsMHgxMCwweGUzLDB4NDAsMHg4OCwweGUwLDB4MmUsMHgzMCwweDBiLDB4OGQsMHgwMiwweGYzLDB4NDAsMHhiOCwweGU4LDB4NzYgfSwKLSAgMTYsIDB4ZjkzMCwgMCwgezB4MDAsMHg0ZiwweDgwLDB4MGEsMHgyMiwweDgwLDB4ODgsMHg5MCwweDZlLDB4MjgsMHg4ZiwweDhhLDB4MDMsMHg2MSwweDQ0LDB4ZjggfSwKLSAgMTYsIDB4Zjk0MCwgMCwgezB4ZTEsMHgzZSwweDJhLDB4MDgsMHg4OCwweDAzLDB4NDIsMHhhMCwweGRjLDB4YTAsMHgzZSwweDEwLDB4MGIsMHg4NSwweDBhLDB4MGUgfSwKLSAgMTYsIDB4Zjk1MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweGEwLDB4ODUsMHgwOCwweDJkLDB4NDggfSwKLSAgMTYsIDB4Zjk2MCwgMCwgezB4MWIsMHg1MiwweDgyLDB4ZDQsMHg4MCwweGIxLDB4MTQsMHgyMCwweDQwLDB4MGIsMHgxOCwweDAyLDB4MDUsMHg4MiwweDgxLDB4MDAgfSwKLSAgMTYsIDB4Zjk3MCwgMCwgezB4NmMsMHg0MiwweDBiLDB4MTIsMHg4MiwweDA0LDB4MDAsMHhhMSwweDYwLDB4MjEsMHg1MCwweDBiLDB4NTAsMHgwMiwweDE0LDB4OTAgfSwKLSAgMTYsIDB4Zjk4MCwgMCwgezB4OTUsMHgyYywweDI4LDB4NDAsMHgwYiwweDEwLDB4MDIsMHgwMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Zjk5MCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MDEsMHg4ZCwweDQ0LDB4MmYsMHg0MCwweDBiLDB4ZDQsMHgwMiwweGY0LDB4MDQsMHhiOSwweDA4LDB4MjIgfSwKLSAgMTYsIDB4ZjlhMCwgMCwgezB4NDAsMHgwYSwweDkyLDB4MDIsMHgyYywweDg0LDB4ODksMHgwMCwweDJlLDB4NDAsMHgwYSwweDE0LDB4MDIsMHg2YywweDgwLDB4YTkgfSwKLSAgMTYsIDB4ZjliMCwgMCwgezB4MDEsMHgyYSwweDQwLDB4MDksMHg1MCwweDBhLDB4NWMsMHgwMiwweDhkLDB4NjAsMHgyYSwweDQwLDB4MGIsMHg5MCwweDQyLDB4MDYgfSwKLSAgMTYsIDB4ZjljMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNiwweDYyLDB4YzksMHgwMiwweDNlLDB4NTQgfSwKLSAgMTYsIDB4ZjlkMCwgMCwgezB4MGYsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4NDAsMHgyMiwweDQ2LDB4MGIsMHg5OCwweDAzLDB4NjcsMHgyMCwweGM5LDB4MDEgfSwKLSAgMTYsIDB4ZjllMCwgMCwgezB4MmUsMHg2OSwweDBiLDB4OTQsMHgwYiwweDI1LDB4MjAsMHhhOSwweDAwLDB4MjIsMHg0MCwweDJkLDB4OTIsMHgwYSwweDI2LDB4MjIgfSwKLSAgMTYsIDB4ZjlmMCwgMCwgezB4OTksMHgwMCwweDJhLDB4NDAsMHg4ZiwweDkwLDB4MDMsMHgyOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmEwMCwgMCwgezB4MjgsMHgwMSwweDg2LDB4MDIsMHhmOSwweDAwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGU2LDB4ODAsMHhmMSwweGEwLDB4M2UgfSwKLSAgMTYsIDB4ZmExMCwgMCwgezB4NjIsMHgwZiwweDk4LDB4ODMsMHhjNiwweDIwLDB4ZjksMHgwMCwweDNlLDB4NDksMHgwZiwweDkwLDB4ODMsMHhlNCwweDAwLDB4NzEgfSwKLSAgMTYsIDB4ZmEyMCwgMCwgezB4MDIsMHgzZSwweDQwLDB4MGUsMHg5MCwweDBiLDB4ZTYsMHg4MCwweGY5LDB4ODAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4Y2EgfSwKLSAgMTYsIDB4ZmEzMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMCwweDEwLDB4YzgsMHgwMCwweDNlLDB4MDAgfSwKLSAgMTYsIDB4ZmE0MCwgMCwgezB4NGYsMHg4MCwweDQzLDB4YjAsMHgwMCwweGM4LDB4NDEsMHgzMiwweDAwLDB4MGYsMHg4MCwweDAzLDB4MjEsMHgwMiwweGM4LDB4MDIgfSwKLSAgMTYsIDB4ZmE1MCwgMCwgezB4M2UsMHgxMCwweDRjLDB4ODAsMHgwMywweDAxLDB4MjAsMHhjOCwweDAwLDB4M2IsMHgwMCwweDBjLDB4YzAsMHgwMywweGIwLDB4MDAgfSwKLSAgMTYsIDB4ZmE2MCwgMCwgezB4Y2MsMHgwNCwweDMyLDB4MDAsMHgwZiwweDgwLDB4MDMsMHgwYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmE3MCwgMCwgezB4MjgsMHgwNSwweDI4LDB4MDAsMHg4YSwweDgwLDB4MmUsMHg4MCwweDBiLDB4YTAsMHgwMiwweGY4LDB4MDQsMHg4ZSwweDAwLDB4MjMgfSwKLSAgMTYsIDB4ZmE4MCwgMCwgezB4YjIsMHgwZSwweGUwLDB4ODIsMHhmOSwweDA0LDB4OGEsMHgwMCwweDJlLDB4ODEsMHgwYywweGUwLDB4MGEsMHgzYSwweDgwLDB4ZGEgfSwKLSAgMTYsIDB4ZmE5MCwgMCwgezB4MDAsMHgyMiwweGI2LDB4MDgsMHhhMCwweDAyLDB4MjgsMHgwMCwweDhlLDB4MDAsMHgyYSwweDgwLDB4MGIsMHg2MCwweDBiLDB4MGEgfSwKLSAgMTYsIDB4ZmFhMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0NCwweDAyLDB4OTMsMHg4MSwweDJjLDB4YzAgfSwKLSAgMTYsIDB4ZmFiMCwgMCwgezB4NGIsMHgzMCwweDAyLDB4YzgsMHgwMCwweDgzLDB4Y2EsMHgyMCwweGUwLDB4MTksMHhiMCwweDA2LDB4OGMsMHgwMCwweDgxLDB4MDQgfSwKLSAgMTYsIDB4ZmFjMCwgMCwgezB4NDQsMHg0MCwweDA4LDB4MzQsMHgwMiwweDBkLDB4MDAsMHg4MywweDAwLDB4MmEsMHgwMCwweDA4LDB4MDAsMHgwYSwweDgwLDB4NDAgfSwKLSAgMTYsIDB4ZmFkMCwgMCwgezB4ODgsMHgwMCwweDIwLDB4YzAsMHgwYiwweDMwLDB4MDIsMHg0YiwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmFlMCwgMCwgezB4YTAsMHgwMSwweDA0LDB4MDIsMHg5NywweDA4LDB4MmQsMHhjMCwweDBiLDB4NjAsMHgwNiwweGNhLDB4MDAsMHg4MywweDA5LDB4MjEgfSwKLSAgMTYsIDB4ZmFmMCwgMCwgezB4YzAsMHgwYSwweDcwLDB4MDIsMHhkYywweDAwLDB4ODUsMHgzMSwweDJkLDB4NjgsMHgwOSwweDMwLDB4MDIsMHgxYywweDE0LDB4OTMgfSwKLSAgMTYsIDB4ZmIwMCwgMCwgezB4MjAsMHgyMCwweGMwLDB4MDgsMHhmMCwweDQyLDB4OWMsMHgwMiwweDhmLDB4MDAsMHgyOSwweDQwLDB4MDMsMHg3MCwweDEyLDB4MjggfSwKLSAgMTYsIDB4ZmIxMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxNiwweDAwLDB4OTYsMHg4NCwweDNkLDB4YTAgfSwKLSAgMTYsIDB4ZmIyMCwgMCwgezB4MGYsMHg3OCwweDAzLDB4OWEsMHgwMiwweDg3LDB4ODAsMHhiMSwweGUwLDB4MGIsMHg3OCwweDAzLDB4YjYsMHgwMCwweGM1LDB4YTAgfSwKLSAgMTYsIDB4ZmIzMCwgMCwgezB4MzUsMHg2MSwweDBjLDB4NzgsMHgxMywweDFlLDB4MDIsMHhjNywweDgwLDB4MjksMHgwMCwweDBjLDB4NDgsMHgwMywweDkwLDB4MDAgfSwKLSAgMTYsIDB4ZmI0MCwgMCwgezB4YzQsMHg4MCwweDMxLDB4NjAsMHgwZiwweDU4LDB4MDMsMHg2YSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmI1MCwgMCwgezB4MDgsMHgxZCwweGE0LDB4MDAsMHhlYSwweDAwLDB4M2UsMHg4MCwweDBmLDB4YTAsMHgwMywweGU4LDB4MDgsMHhmYiwweDAwLDB4M2UgfSwKLSAgMTYsIDB4ZmI2MCwgMCwgezB4ODAsMHgwZiwweDkwLDB4MTMsMHhlNCwweDA4LDB4ZjksMHgwMCwweDNjLDB4NTAsMHgyZSwweGYwLDB4MDMsMHhlOCwweDA4LDB4ZmIgfSwKLSAgMTYsIDB4ZmI3MCwgMCwgezB4NDAsMHgzZSwweGMwLDB4MGIsMHgzMCwweDEzLDB4NmMsMHgwMCwweGZiLDB4MDAsMHgzZSwweDQwLDB4MGYsMHgzMCwweDAzLDB4YzIgfSwKLSAgMTYsIDB4ZmI4MCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhkNiwweDAwLDB4Y2QsMHg4MCwweDMzLDB4ZTAgfSwKLSAgMTYsIDB4ZmI5MCwgMCwgezB4MGMsMHhmOCwweDAzLDB4ZmEsMHgwMCwweGZkLDB4ODAsMHgzZiwweGEwLDB4MGQsMHhmOCwweDAzLDB4ZmEsMHg0MCwweGNkLDB4ZDAgfSwKLSAgMTYsIDB4ZmJhMCwgMCwgezB4NzcsMHg3ZSwweDBjLDB4ZTgsMHg0MywweDFlLDB4MDAsMHhjZiwweGQ4LDB4M2YsMHhlMCwweDBjLDB4YzgsMHgwMywweDNhLDB4YzQgfSwKLSAgMTYsIDB4ZmJiMCwgMCwgezB4Y2MsMHg4MCwweDMzLDB4ZTAsMHgwYywweGY4LDB4MDMsMHgwMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmJjMCwgMCwgezB4YTgsMHgxMSwweDk0LDB4MDIsMHg4ZCwweDAwLDB4MjEsMHhjMCwweDA4LDB4NjAsMHgwMywweGQ4LDB4MTAsMHgzNSwweDIwLDB4OGIgfSwKLSAgMTYsIDB4ZmJkMCwgMCwgezB4ZDQsMHgwZCwweDY0LDB4MDMsMHhkOCwweGMwLDB4ODUsMHgwMCwweDJmLDB4NGUsMHgwNywweDY0LDB4MDIsMHg5YywweDAyLDB4ZDcgfSwKLSAgMTYsIDB4ZmJlMCwgMCwgezB4MzAsMHgyZiwweDA0LDB4MGQsMHhmMSwweDBiLDB4NTQsMHg0MCwweGFmLDB4MDAsMHgzNSwweDQwLDB4MDgsMHg3MCwweDAyLDB4MmEgfSwKLSAgMTYsIDB4ZmJmMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5NCwweDQwLDB4ODQsMHgxOCwweDIxLDB4ODAgfSwKLSAgMTYsIDB4ZmMwMCwgMCwgezB4MDgsMHg3MCwweDAyLDB4ZGEsMHgyMCwweGI1LDB4MDAsMHgwOSwweDAwLDB4MDgsMHg3MCwweDAyLDB4ZDQsMHgwNCwweDg1LDB4MDAgfSwKLSAgMTYsIDB4ZmMxMCwgMCwgezB4NmQsMHg0YywweDg5LDB4NjAsMHgwMiwweDVjLDB4NDAsMHg5NywweDAwLDB4NmQsMHhjMCwweDA5LDB4NDAsMHgwMiwweDU4LDB4ODAgfSwKLSAgMTYsIDB4ZmMyMCwgMCwgezB4ODQsMHg4OCwweDI1LDB4NDAsMHgwOCwweGQwLDB4MDIsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmMzMCwgMCwgezB4MjAsMHgxNCwweGM2LDB4NDgsMHg4MCwweDAwLDB4MjAsMHg4MCwweDA4LDB4YWMsMHgwMiwweGE4LDB4MDAsMHhiMSwweDAwLDB4YTggfSwKLSAgMTYsIDB4ZmM0MCwgMCwgezB4ODgsMHgwOSwweDIyLDB4MDIsMHg4NiwweDQyLDB4ODEsMHgwMCwweDZjLDB4NTIsMHgwYiwweDIwLDB4MDIsMHhjNywweDUyLDB4ODMgfSwKLSAgMTYsIDB4ZmM1MCwgMCwgezB4MDAsMHgyYywweDAwLDB4MDgsMHgzNCwweDgyLDB4NjcsMHgwMCwweGEzLDB4ODAsMHgyMCwweDQwLDB4MDgsMHgzMCwweDAyLDB4MDggfSwKLSAgMTYsIDB4ZmM2MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhhMywweDAwLDB4Y2IsMHhjMCwweGIyLDB4NDAgfSwKLSAgMTYsIDB4ZmM3MCwgMCwgezB4MmMsMHg5MCwweDgyLDB4ZTYsMHgwMCwweGJiLDB4ODAsMHhiZSwweDc4LDB4MDgsMHg4ZSwweDAyLDB4ZWUsMHgwMCwweDhkLDB4MDAgfSwKLSAgMTYsIDB4ZmM4MCwgMCwgezB4MjcsMHg2MCwweDBkLDB4OTAsMHgwYSwweDZmLDB4MDAsMHg5ZiwweDAyLDB4MmUsMHgwMCwweDA5LDB4YjQsMHgwMywweDY3LDB4ODAgfSwKLSAgMTYsIDB4ZmM5MCwgMCwgezB4Y2EsMHg0MCwweGU0LDB4YzAsMHgwYywweDMwLDB4MDMsMHgyYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmNhMCwgMCwgezB4ODAsMHgwMCwweGUwLDB4ODAsMHhmYiwweDIyLDB4M2UsMHg0MCwweDBmLDB4ODAsMHgxMywweGU0LDB4MDAsMHhmYiwweDgwLDB4M2UgfSwKLSAgMTYsIDB4ZmNiMCwgMCwgezB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNSwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDAsMHgwZSwweDcwLDB4MjMsMHhhYywweDIwLDB4ZmIgfSwKLSAgMTYsIDB4ZmNjMCwgMCwgezB4MDAsMHgzZSwweGMwLDB4OGYsMHg4MCwweDAzLDB4ZTksMHgyMCwweGY5LDB4MDgsMHgzZSwweDQwLDB4MGYsMHhiMCwweDEzLDB4ZTAgfSwKLSAgMTYsIDB4ZmNkMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmMCwweDAwLDB4YzYsMHgwMCwweDMyLDB4MDAgfSwKLSAgMTYsIDB4ZmNlMCwgMCwgezB4MGYsMHhkMSwweDgzLDB4MzQsMHg0MCwweGNmLDB4MDAsMHgzZCwweDQwLDB4MGMsMHhkMCwweDAzLDB4ZGUsMHg1MCwweDBkLDB4MDAgfSwKLSAgMTYsIDB4ZmNmMCwgMCwgezB4NzMsMHg0MCwweDBjLDB4ZDEsMHgwMywweDdjLDB4NDAsMHg4NywweDAyLDB4YjMsMHgwMCwweDBkLDB4ZjQsMHgwMywweDI0LDB4MDAgfSwKLSAgMTYsIDB4ZmQwMCwgMCwgezB4Y2UsMHgyMCwweDMyLDB4NDAsMHgwYywweGQwLDB4MDMsMHgwMCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmQxMCwgMCwgezB4ODEsMHgwNCwweDYxLDB4MjIsMHg4YSwweDAwLDB4MjIsMHgwMCwweDBiLDB4ODAsMHg0MCwweDI1LDB4MDAsMHg4OSwweGMzLDB4MmUgfSwKLSAgMTYsIDB4ZmQyMCwgMCwgezB4MjAsMHgwYSwweDk4LDB4MDMsMHhhMSwweDAwLDB4ODksMHgwMCwweDM2LDB4NDAsMHg4OCwweDk0LDB4MDIsMHgwZiwweDAxLDB4YWIgfSwKLSAgMTYsIDB4ZmQzMCwgMCwgezB4MDAsMHgzMiwweGMwLDB4MDgsMHgwNCwweDBhLDB4MjksMHgwMCwweGE5LDB4MDIsMHhhMiwweDQwLDB4MGQsMHhiMCwweDBhLDB4MjAgfSwKLSAgMTYsIDB4ZmQ0MCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgwMCwweDAwLDB4ODksMHgwMCwweDIyLDB4NjEgfSwKLSAgMTYsIDB4ZmQ1MCwgMCwgezB4MGIsMHg5MCwweDAyLDB4MjUsMHgwMSwweDliLDB4ODgsMHgyZSwweDYwLDB4MDgsMHg4OCwweDAyLDB4ZTgsMHgwMCwweGIxLDB4MDIgfSwKLSAgMTYsIDB4ZmQ2MCwgMCwgezB4MjQsMHg0MCwweDE4LDB4OTAsMHgwMiwweDJjLDB4MDAsMHhhYiwweDAxLDB4MjAsMHhjMSwweDA4LDB4YjQsMHg0MiwweDJjLDB4MDAgfSwKLSAgMTYsIDB4ZmQ3MCwgMCwgezB4ODIsMHgwMCwweDIyLDB4YzAsMHgwOCwweGIwLDB4MDIsMHgyMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmQ4MCwgMCwgezB4MDgsMHgwNCwweDAwLDB4MDAsMHgwMSwweDAwLDB4MjAsMHg0MCwweDBiLDB4MDAsMHgwYSwweDA0LDB4NDYsMHg4MywweDAxLDB4MmMgfSwKLSAgMTYsIDB4ZmQ5MCwgMCwgezB4NDAsMHgxYSwweDAwLDB4MDYsMHg4MCwweDAwLDB4ODEsMHgwMCwweDI0LDB4NDAsMHgwOCwweDIwLDB4MGEsMHgwYywweDAxLDB4YTMgfSwKLSAgMTYsIDB4ZmRhMCwgMCwgezB4MDAsMHgyNCwweDAwLDB4MDgsMHg4MCwweDAyLDB4MDAsMHgwMCwweGExLDB4MDAsMHgyMCwweDQwLDB4MDksMHgzMCwweDAyLDB4MDIgfSwKLSAgMTYsIDB4ZmRiMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2MCwweDAyLDB4YzgsMHgwMCwweDIyLDB4MDAgfSwKLSAgMTYsIDB4ZmRjMCwgMCwgezB4MGYsMHg5MCwweDAyLDB4MjUsMHgwMCwweGRhLDB4MDAsMHgzZSwweDQwLDB4MGMsMHg5MCwweDAyLDB4Y2MsMHgwMCwweGZkLDB4MDAgfSwKLSAgMTYsIDB4ZmRkMCwgMCwgezB4MzcsMHg0MCwweDBjLDB4MTAsMHgxMywweDJjLDB4MDIsMHhhZiwweDAwLDB4MzIsMHhjMCwweDBkLDB4YjAsMHgwMywweDJjLDB4MDAgfSwKLSAgMTYsIDB4ZmRlMCwgMCwgezB4Y2EsMHgwMCwweDMyLDB4NDAsMHg0YywweDkwLDB4MGIsMHgwMCwweDAxLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmRmMCwgMCwgezB4YTAsMHgxZCwweGYwLDB4MDAsMHhmYywweDAwLDB4M2YsMHgwMCwweDA3LDB4YzAsMHgwMywweGY0LDB4MWMsMHhmNCwweDAwLDB4M2YgfSwKLSAgMTYsIDB4ZmUwMCwgMCwgezB4MDAsMHgxZiwweGMwLDB4MjMsMHhiMCwweDAyLDB4OWQsMHgwMSwweDNmLDB4NDAsMHg4ZiwweGMwLDB4MDcsMHhmYywweDAyLDB4ZmYgfSwKLSAgMTYsIDB4ZmUxMCwgMCwgezB4MDAsMHg3YiwweDAwLDB4MGYsMHhjMCwweDAzLDB4ZjAsMHgwMCwweGZkLDB4MDAsMHgzZiwweDQwLDB4MGYsMHg3MCwweDAzLDB4ZTggfSwKLSAgMTYsIDB4ZmUyMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmYSwweDAwLDB4Y2IsMHg4MCwweDNmLDB4MjQgfSwKLSAgMTYsIDB4ZmUzMCwgMCwgezB4MGEsMHhjMSwweDAzLDB4ZmMsMHgyNCwweGNkLDB4MjAsMHgzNywweDBhLDB4MGMsMHhjMiwweDgzLDB4MzAsMHg4MCwweGRjLDB4MDIgfSwKLSAgMTYsIDB4ZmU0MCwgMCwgezB4M2YsMHhjYywweDBkLDB4ZDksMHgwMywweDNjLDB4NTgsMHhkZiwweDMwLDB4MzMsMHhjOCwweDBkLDB4ZjQsMHgyMywweDNjLDB4NDAgfSwKLSAgMTYsIDB4ZmU1MCwgMCwgezB4ZmYsMHgwMCwweDNmLDB4YzUsMHg0ZiwweGYwLDB4MjMsMHhiMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmU2MCwgMCwgezB4ODAsMHgwMCwweGVjLDB4MDIsMHgwYiwweDgyLDB4MmUsMHgwOCwweDBkLDB4YjcsMHgwMiwweGZkLDB4MDAsMHg4MywweDE4LDB4MGEgfSwKLSAgMTYsIDB4ZmU3MCwgMCwgezB4NTgsMHgwYSwweDg0LDB4YTIsMHhhNSwweGEwLDB4ODksMHgzMCwweDIyLDB4NTUsMHgwOCwweDEyLDB4NjIsMHhiZCwweDkwLDB4OGYgfSwKLSAgMTYsIDB4ZmU4MCwgMCwgezB4NjIsMHgyMSwweGQ2LDB4NDgsMHhmMywweDAyLDB4M2MsMHhjNSwweGJmLDB4NDgsMHgyZiwweGQ4LDB4NGIsMHhiNywweDAyLDB4ZTAgfSwKLSAgMTYsIDB4ZmU5MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhlYywweDAwLDB4ODMsMHgwMCwweDJlLDB4ODkgfSwKLSAgMTYsIDB4ZmVhMCwgMCwgezB4MjgsMHgwMCwweDAyLDB4ZWMsMHhhMCwweDg5LDB4MjIsMHgyOCwweDgyLDB4MDgsMHgxMiwweDAyLDB4MjgsMHg0MCwweDlhLDB4MDggfSwKLSAgMTYsIDB4ZmViMCwgMCwgezB4MjgsMHhjOCwweDg4LDB4YjIsMHgwYSwweDBkLDB4MTAsMHg5MywweDEwLDB4YTAsMHhjOCwweDI4LDB4MzAsMHgwMiwweDRjLDB4MDAgfSwKLSAgMTYsIDB4ZmVjMCwgMCwgezB4YjMsMHg2MCwweDJjLDB4YzQsMHgwYiwweDMwLDB4YzIsMHhlMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmVkMCwgMCwgezB4YzAsMHgxNSwweGFjLDB4NDAsMHg4YiwweDAwLDB4MmUsMHg4MCwweDA4LDB4YjEsMHgwMiwweGVjLDB4MDIsMHg4YiwweDAwLDB4MjAgfSwKLSAgMTYsIDB4ZmVlMCwgMCwgezB4ZDAsMHgwYSwweDkwLDB4MDIsMHhhYywweDAwLDB4MGIsMHgwMSwweDI2LDB4NDAsMHgwOCwweDk0LDB4MDIsMHg4YywweDAwLDB4OGIgfSwKLSAgMTYsIDB4ZmVmMCwgMCwgezB4MDAsMHgyMiwweGMwLDB4MDgsMHhiMCwweDAyLDB4MmMsMHgxMCwweGJiLDB4MDAsMHgyZSwweGMwLDB4MGIsMHhiMCwweDAyLDB4ZjAgfSwKLSAgMTYsIDB4ZmYwMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTQsMHg4YywweDIwLDB4Y2IsMHgwMiwweDNlLDB4MmQgfSwKLSAgMTYsIDB4ZmYxMCwgMCwgezB4MDgsMHg4MCwweDAzLDB4ZWMsMHgwOCwweGM5LDB4ODAsMHgxZSwweDA0LDB4MGMsMHhiMCwweDAzLDB4MDEsMHgwOCwweDUwLDB4MTggfSwKLSAgMTYsIDB4ZmYyMCwgMCwgezB4M2UsMHg0MCwweDBjLDB4MDQsMHgwMywweDJjLDB4MDAsMHhkYiwweDAxLDB4MzIsMHhjMCwweDBjLDB4YjAsMHgwYiwweDJjLDB4MDggfSwKLSAgMTYsIDB4ZmYzMCwgMCwgezB4YmIsMHgwMCwweDNlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHg4MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmY0MCwgMCwgezB4ZTEsMHgwMCwweGJjLDB4MDAsMHhmZiwweDAwLDB4M2YsMHg2MCwweDBmLDB4YzAsMHgyMywweGVjLDB4MDAsMHhmZiwweGMwLDB4YmUgfSwKLSAgMTYsIDB4ZmY1MCwgMCwgezB4NjAsMHg4ZiwweGM5LDB4MjMsMHhmNiwweDUwLDB4ZWQsMHg4MCwweGI4LDB4NTAsMHhhZiwweGMwLDB4MDMsMHhmYywweDAwLDB4ZmYgfSwKLSAgMTYsIDB4ZmY2MCwgMCwgezB4MDAsMHgzZiwweGMxLDB4MGUsMHhiMCwweDAzLDB4ZmMsMHgwNCwweGZmLDB4MDIsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZjggfSwKLSAgMTYsIDB4ZmY3MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhYywweDAwLDB4ZWIsMHgwMCwweDMyLDB4ODAgfSwKLSAgMTYsIDB4ZmY4MCwgMCwgezB4MGQsMHg5MCwweDAzLDB4MmMsMHgwMCwweDg5LDB4MDAsMHgzZSwweDk4LDB4OGMsMHgzMCwweDAzLDB4NjEsMHg4MCwweGZhLDB4NDAgfSwKLSAgMTYsIDB4ZmY5MCwgMCwgezB4M2UsMHg0MCwweDJjLDB4YTUsMHgwMywweDJjLDB4MDAsMHhmYiwweDAxLDB4M2MsMHhjMCwweDJjLDB4MzAsMHgwMywweDJjLDB4MDAgfSwKLSAgMTYsIDB4ZmZhMCwgMCwgezB4ZGIsMHgwMiwweDMyLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhkMCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmZiMCwgMCwgezB4Y2EsMHgwMCwweDJlLDB4ODAsMHg4YiwweDgyLDB4YTAsMHhjMCwweDhjLDB4OTAsMHgwMiwweDNjLDB4MDAsMHg4YiwweGYwLDB4MjIgfSwKLSAgMTYsIDB4ZmZjMCwgMCwgezB4YzIsMHgwZCwweDgwLDB4MDIsMHgyNywweDAwLDB4OGIsMHgxMCwweDIyLDB4NDAsMHgwOCwweDgwLDB4MjIsMHgzYywweDAwLDB4YmYgfSwKLSAgMTYsIDB4ZmZkMCwgMCwgezB4MDAsMHgyZiwweGMwLDB4MDgsMHhmMCwweDAyLDB4M2MsMHgwMCwweGJmLDB4MDEsMHhhMywweGMwLDB4MGIsMHhmMCwweDEyLDB4ZjIgfSwKLSAgMTYsIDB4ZmZlMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0YywweDAwLDB4YjMsMHgxYywweDIwLDB4NDAgfSwKLSAgMTYsIDB4ZmZmMCwgMCwgezB4MDgsMHgwMCwweDA2LDB4MmMsMHgwMCwweDliLDB4MDAsMHgyMCwweGQwLDB4MDgsMHgyMCwweDAyLDB4NGMsMHgwMCwweGEzLDB4MDAgfSwKLSAgMTYsIDB4ODAxMCwgMCwgezB4MmMsMHhjMCwweDA4LDB4MTAsMHgwYSwweDBjLDB4MDAsMHhiYiwweDAwLDB4MjgsMHhjMCwweDA5LDB4MzAsMHgwMiwweDBjLDB4MDAgfSwKLSAgMTYsIDB4ODAyMCwgMCwgezB4YjMsMHgwMCwweDIwLDB4YzAsMHgwYiwweDMwLDB4MDIsMHhmOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODAzMCwgMCwgezB4MjIsMHgxMSwweDFlLDB4MDAsMHg5NywweGEwLDB4MjEsMHhhMCwweDA4LDB4NzksMHgwMiwweDFlLDB4MDAsMHg5NywweDkwLDB4MjEgfSwKLSAgMTYsIDB4ODA0MCwgMCwgezB4NjAsMHgwOSwweGU4LDB4MjIsMHgzZSwweDAwLDB4YWYsMHg4NCwweDIxLDB4ZTQsMHg0OCwweDVjLDB4MDIsMHgxZSwweDAwLDB4YjcgfSwKLSAgMTYsIDB4ODA1MCwgMCwgezB4OTAsMHgyZCwweGUwLDB4MDksMHg3OCwweDAwLDB4MWUsMHgwOSwweGIzLDB4OTAsMHgyMSwweGU0LDB4MGIsMHg3OCwweDAyLDB4ZDggfSwKLSAgMTYsIDB4ODA2MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MTgsMHgyYywweDQwLDB4YjMsMHhiMCwweDMyLDB4NDAgfSwKLSAgMTYsIDB4ODA3MCwgMCwgezB4MmMsMHg4MSwweDEzLDB4MGMsMHg0MiwweGQxLDB4MDAsMHhiMCwweGMwLDB4OGMsMHgzMCwweDAzLDB4NDgsMHgyMCwweGUzLDB4MDEgfSwKLSAgMTYsIDB4ODA4MCwgMCwgezB4M2MsMHhjMCwweDBjLDB4MzAsMHgwMywweDBjLDB4MDAsMHhmMywweDEwLDB4M2MsMHhjMCwweGNkLDB4MzIsMHgwYiwweDBjLDB4NDAgfSwKLSAgMTYsIDB4ODA5MCwgMCwgezB4ZDMsMHgwMCwweDMwLDB4YzAsMHgwZiwweDMwLDB4MDMsMHhkMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODBhMCwgMCwgezB4NDAsMHgxNSwweGJjLDB4MDAsMHhlNywweDAwLDB4M2YsMHg4MCwweDBiLDB4ZjEsMHgwMywweGZkLDB4MDAsMHg2ZCwweDAwLDB4MzIgfSwKLSAgMTYsIDB4ODBiMCwgMCwgezB4NDAsMHgxZiwweDcwLDB4MDcsMHhkOCwweDQxLDB4YzMsMHgxMCwweDNiLDB4YzAsMHgwZiwweGQxLDB4MDMsMHhmZCwweDAwLDB4ZmYgfSwKLSAgMTYsIDB4ODBjMCwgMCwgezB4MTAsMHgzZiwweGMwLDB4MGUsMHhmMCwweDAzLDB4ZWMsMHgxMCwweGZmLDB4MDgsMHgzZiwweGMzLDB4MGYsMHhmMCwweDAzLDB4ZDAgfSwKLSAgMTYsIDB4ODBkMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhlYywweDA0LDB4ZmIsMHgwMiwweDNlLDB4NDAgfSwKLSAgMTYsIDB4ODBlMCwgMCwgezB4MGIsMHhhMCwweDAzLDB4YWMsMHgwMCwweGRiLDB4MDAsMHgzNiwweDgwLDB4MGQsMHhiMCwweDAzLDB4YWMsMHgwMCwweGU4LDB4MDAgfSwKLSAgMTYsIDB4ODBmMCwgMCwgezB4MzYsMHhjMSwweDJlLDB4OTAsMHgwMywweDJjLDB4MDAsMHhjYiwweGEwLDB4MzYsMHhkYywweDBmLDB4YjAsMHgwMywweDJkLDB4NjggfSwKLSAgMTYsIDB4ODEwMCwgMCwgezB4ZmIsMHhhMCwweDkyLDB4YzIsMHgwYywweGIxLDB4MDMsMHhlYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODExMCwgMCwgezB4NDgsMHgxMSwweDljLDB4MDgsMHgzNywweDAwLDB4MmQsMHhjMCwweDBiLDB4ZTAsMHgwMiwweDFkLDB4ODAsMHhiNywweDA0LDB4MjMgfSwKLSAgMTYsIDB4ODEyMCwgMCwgezB4MDAsMHgwYSwweDQwLDB4MDIsMHgxYywweDE4LDB4ODQsMHgwMCwweDI1LDB4YzAsMHgxOCwweDUwLDB4MzIsMHgwZCwweDgwLDB4YTMgfSwKLSAgMTYsIDB4ODEzMCwgMCwgezB4MzAsMHgyMSwweGNjLDB4MGIsMHgzNCwweDgyLDB4MWMsMHgxMCwweGI3LDB4MzAsMHgyMSwweGM4LDB4MDgsMHg3MCwweDAyLDB4ZDIgfSwKLSAgMTYsIDB4ODE0MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZSwweDIwLDB4YjcsMHg4MCwweDJkLDB4NjAgfSwKLSAgMTYsIDB4ODE1MCwgMCwgezB4MGIsMHhmYywweDIyLDB4OWUsMHgwMCwweDhkLDB4ODAsMHgyNSwweGEwLDB4MDgsMHhmOCwweDIyLDB4OTIsMHgwMCwweGI0LDB4ODAgfSwKLSAgMTYsIDB4ODE2MCwgMCwgezB4MjUsMHhlMCwweDA4LDB4ZjgsMHgwMiwweDFlLDB4MDAsMHg4NywweGIwLDB4MjEsMHhlMCwweDA5LDB4N2EsMHgwMiwweDFlLDB4MTggfSwKLSAgMTYsIDB4ODE3MCwgMCwgezB4YjMsMHg4MCwweDIxLDB4ZTAsMHgwOCwweDc4LDB4MDIsMHhmMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODE4MCwgMCwgezB4NDgsMHgwNCwweGM1LDB4MjAsMHhiMywweDAxLDB4MmMsMHhkOCwweDBiLDB4M2MsMHgwMiwweDJjLDB4MDgsMHhiOSwweDAwLDB4MjAgfSwKLSAgMTYsIDB4ODE5MCwgMCwgezB4MDMsMHgwYSwweDAwLDB4ODIsMHgyMiwweDA4LDB4OTAsMHgwZCwweDI2LDB4ZTQsMHgwOCwweDEwLDB4MDIsMHgwYywweDAwLDB4YTMgfSwKLSAgMTYsIDB4ODFhMCwgMCwgezB4MDAsMHgyMiwweGMwLDB4MGIsMHgzMCwweDAyLDB4NmMsMHgwMCwweGIzLDB4MDAsMHgyMiwweGMwLDB4MjgsMHgzMCwweDAyLDB4YzIgfSwKLSAgMTYsIDB4ODFiMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MDUsMHg5OSwweDAwLDB4ZmEsMHgwMiwweDNmLDB4OTAgfSwKLSAgMTYsIDB4ODFjMCwgMCwgezB4MGYsMHhlYywweDIzLDB4YTgsMHgwMCwweGRhLDB4MDAsMHgzNSwweDgwLDB4MGQsMHhlMCwweDAyLDB4YmEsMHgwMiwweGZlLDB4YzIgfSwKLSAgMTYsIDB4ODFkMCwgMCwgezB4YjYsMHhhMCwweDBlLDB4ZTQsMHgwYiwweDI4LDB4MDAsMHhjYSwweDAwLDB4YjIsMHg4MCwweDBmLDB4YTAsMHgwYiwweDI4LDB4MDAgfSwKLSAgMTYsIDB4ODFlMCwgMCwgezB4ZmEsMHgwMCwweDMyLDB4ODAsMHgwYywweGEwLDB4MDMsMHhmYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODFmMCwgMCwgezB4NDgsMHgwMCwweGUwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODIsMHgwMywweGUwLDB4MDAsMHhmOCwweDAwLDB4M2UgfSwKLSAgMTYsIDB4ODIwMCwgMCwgezB4MDAsMHgwZiwweDgxLDB4MDMsMHhlMCwweDQwLDB4ZTgsMHgxMCwweDNhLDB4MDAsMHg0ZiwweDg0LDB4ODMsMHhlMCwweDAwLDB4ZjggfSwKLSAgMTYsIDB4ODIxMCwgMCwgezB4MDAsMHgzYSwweDAwLDB4MGYsMHgwMCwweDAzLDB4YTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZDIgfSwKLSAgMTYsIDB4ODIyMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAsMHhlNSwweDAwLDB4YzksMHgwMiwweDNlLDB4NDAgfSwKLSAgMTYsIDB4ODIzMCwgMCwgezB4MGYsMHg5MCwweDIzLDB4MjQsMHgwMCwweGM5LDB4MDAsMHgzMiwweDY4LDB4MmYsMHgxMCwweDAzLDB4MjQsMHgwMCwweGU5LDB4MTQgfSwKLSAgMTYsIDB4ODI0MCwgMCwgezB4MzIsMHg0MCwweDBkLDB4OTAsMHgwYiwweDA0LDB4MDAsMHhkOSwweDAwLDB4MWUsMHg0MCwweDBjLDB4OTAsMHgwMywweDI0LDB4MDAgfSwKLSAgMTYsIDB4ODI1MCwgMCwgezB4YzksMHgwMCwweDM2LDB4NDAsMHgwYywweDkwLDB4MDMsMHgwMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODI2MCwgMCwgezB4ODAsMHgxNCwweDY0LDB4MDAsMHg4OSwweDAxLDB4MmUsMHg0MCwweDRiLDB4OTAsMHgxMiwweDI0LDB4MDAsMHg4OSwweGMyLDB4YTIgfSwKLSAgMTYsIDB4ODI3MCwgMCwgezB4NjAsMHg4OCwweDkwLDB4MDMsMHg2NCwweDAwLDB4ODksMHhjMSwweGEyLDB4NDAsMHg0OCwweDE2LDB4MDMsMHg2NCwweDAyLDB4ODkgfSwKLSAgMTYsIDB4ODI4MCwgMCwgezB4MDAsMHgyZSwweDQwLDB4MDgsMHg5MCwweDIyLDB4MjQsMHgwMCwweDg5LDB4MDAsMHgzZSwweDQwLDB4MjgsMHg5MCwweDBhLDB4MjAgfSwKLSAgMTYsIDB4ODI5MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDQsMHgyNCwweDAwLDB4ODksMHgwMiwweDJlLDB4NDAgfSwKLSAgMTYsIDB4ODJhMCwgMCwgezB4MGIsMHgxMCwweDAyLDB4MjQsMHgwMCwweDg5LDB4MTAsMHgyMiwweDQwLDB4ODksMHg5MCwweDAyLDB4YWMsMHgwMCwweGExLDB4MDggfSwKLSAgMTYsIDB4ODJiMCwgMCwgezB4MjIsMHg0MCwweDA5LDB4OTgsMHgwMiwweGE0LDB4MDAsMHg4OSwweDAwLDB4MmEsMHg0MCwweDA4LDB4OTAsMHgwMiwweDI0LDB4MDAgfSwKLSAgMTYsIDB4ODJjMCwgMCwgezB4ODksMHgwMCwweDI2LDB4NDAsMHgwOCwweDEwLDB4MDIsMHgwNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODJkMCwgMCwgezB4MDgsMHgwMCwweDI0LDB4MDAsMHg4MSwweDAwLDB4MmMsMHg0MSwweDBiLDB4MTIsMHgwMiwweDA0LDB4ODEsMHg4MSwweDIwLDB4MjIgfSwKLSAgMTYsIDB4ODJlMCwgMCwgezB4NDgsMHgwOCwweDEyLDB4MDIsMHhjNCwweDgxLDB4ODEsMHgyNCwweDAyLDB4NDgsMHgwYSwweDkwLDB4MDIsMHg4NCwweGEwLDB4ODEgfSwKLSAgMTYsIDB4ODJmMCwgMCwgezB4MjgsMHg2YywweDRhLDB4MDgsMHgxMiwweGQyLDB4MDQsMHhhMSwweDgxLDB4MjgsMHgyYywweDRhLDB4MDgsMHgxMiwweDgyLDB4MDIgfSwKLSAgMTYsIDB4ODMwMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MDgsMHg2MSwweDQwLDB4YzgsMHgwMCwweDJlLDB4MTQgfSwKLSAgMTYsIDB4ODMxMCwgMCwgezB4MGYsMHg4NSwweDBiLDB4MjEsMHg0MiwweGNhLDB4NTAsMHgyMiwweDE0LDB4MGQsMHg4NSwweDQzLDB4YTEsMHg0MCwweGU4LDB4NTAgfSwKLSAgMTYsIDB4ODMyMCwgMCwgezB4MzAsMHgwMCwweDBkLDB4ODUsMHgwMiwweGExLDB4YzAsMHhkOCwweDIwLDB4M2EsMHgwOCwweDJjLDB4ODIsMHgwYiwweDIwLDB4ODIgfSwKLSAgMTYsIDB4ODMzMCwgMCwgezB4YzgsMHgyMCwweDM0LDB4MDksMHg4YywweDgyLDB4MDMsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODM0MCwgMCwgezB4OTgsMHgwZCwweGZjLDB4MDIsMHhmOSwweDAwLDB4M2YsMHg0MCwweDRmLDB4ZDEsMHgwMywweGU0LDB4NDAsMHhmNSwweDE0LDB4YmYgfSwKLSAgMTYsIDB4ODM1MCwgMCwgezB4NDQsMHgwZCwweDUxLDB4MjMsMHg1YywweDQwLDB4ZjUsMHgxMCwweDFmLDB4NGUsMHg0ZCwweDUwLDB4MDMsMHg2NCwweDA4LDB4ZjkgfSwKLSAgMTYsIDB4ODM2MCwgMCwgezB4MjgsMHgzZSwweDRhLDB4OGYsMHg5MiwweDgzLDB4ZTQsMHhhMCwweGY5LDB4MjgsMHgzYSwweDRiLDB4MGYsMHg5MiwweDgzLDB4ZTYgfSwKLSAgMTYsIDB4ODM3MCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhmNCwweDQwLDB4ZmQsMHgwMCwweDMwLDB4NDAgfSwKLSAgMTYsIDB4ODM4MCwgMCwgezB4MGMsMHg5MCwweDAzLDB4MjQsMHgwMCwweGRkLDB4MDAsMHgzYiwweDQwLDB4MGUsMHg5MCwweDAzLDB4NzQsMHgwMCwweDVkLDB4MDAgfSwKLSAgMTYsIDB4ODM5MCwgMCwgezB4MzYsMHg2NCwweDBkLDB4ZDAsMHgwMCwweGE2LDB4MDAsMHhmOSwweDQwLDB4MzIsMHg3OCwweDBjLDB4OTksMHgwMywweDI0LDB4NDAgfSwKLSAgMTYsIDB4ODNhMCwgMCwgezB4YzksMHg5MCwweDMyLDB4NTAsMHgwZiwweDliLDB4MDMsMHgwNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODNiMCwgMCwgezB4MzgsMHgxMCwweGUyLDB4ODAsMHhiOCwweDAwLDB4MjIsMHgwMSwweDA4LDB4ODAsMHgwYSwweDIwLDB4MDAsMHg4OCwweDAwLDB4MmEgfSwKLSAgMTYsIDB4ODNjMCwgMCwgezB4MDAsMHgwOCwweDgwLDB4MDIsMHgyMCwweDAwLDB4ODgsMHgwMCwweDIyLDB4MjAsMHgwOCwweDhhLDB4OGIsMHhlMSwweDAwLDB4YjggfSwKLSAgMTYsIDB4ODNkMCwgMCwgezB4ODAsMHgyMiwweDMwLDB4MjgsMHgwZCwweDAyLDB4MjIsMHgwMCwweGQ4LDB4ZTQsMHgyMiwweDI4LDB4MGIsMHg4ZiwweDBhLDB4MGUgfSwKLSAgMTYsIDB4ODNlMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweDgwLDB4YjEsMHgwMCwweGEwLDB4NDAgfSwKLSAgMTYsIDB4ODNmMCwgMCwgezB4MDgsMHgxMCwweDAyLDB4MDQsMHgwMCwweDg5LDB4MDAsMHgwOCwweDQwLDB4MGEsMHg5MCwweDQyLDB4NDQsMHgwMCwweDkxLDB4MDAgfSwKLSAgMTYsIDB4ODQwMCwgMCwgezB4MjAsMHg1OCwweDI4LDB4OTAsMHgwMiwweDg1LDB4MDAsMHg4MSwweDIwLDB4YTAsMHg0YywweDA5LDB4MTIsMHgwYSwweDA0LDB4ODAgfSwKLSAgMTYsIDB4ODQxMCwgMCwgezB4OTEsMHg0MCwweGEwLDB4NDAsMHgwYiwweDEwLDB4MDIsMHgwMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODQyMCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MDAsMHhiOSwweDAyLDB4MjAsMHg0MCwweDA4LDB4OTAsMHgwMiwweDA0LDB4MDAsMHg4OSwweDAxLDB4MjIgfSwKLSAgMTYsIDB4ODQzMCwgMCwgezB4NDAsMHgyOCwweDkwLDB4MjIsMHgwNCwweDAwLDB4ODksMHgxMCwweDIyLDB4NDAsMHgwOCwweDkwLDB4MDIsMHhlNCwweDAwLDB4YjEgfSwKLSAgMTYsIDB4ODQ0MCwgMCwgezB4MDAsMHgyMiwweDQwLDB4ODEsMHg5MCwweDAyLDB4MDQsMHgwMCwweDkxLDB4MDAsMHgyMiwweDQwLDB4MGIsMHg5MCwweDAyLDB4MDYgfSwKLSAgMTYsIDB4ODQ1MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNSwweDAwLDB4ZjEsMHgwMCwweDMyLDB4NjAgfSwKLSAgMTYsIDB4ODQ2MCwgMCwgezB4MmMsMHg5MiwweDEzLDB4MjQsMHgwMiwweGQxLDB4MTAsMHgzYSwweDQwLDB4MGUsMHgxMiwweDAzLDB4NjYsMHgwNCwweGQ5LDB4MDAgfSwKLSAgMTYsIDB4ODQ3MCwgMCwgezB4YjYsMHg0MCwweDBkLDB4MTksMHgwMywweGE0LDB4MDAsMHhmOSwweDAwLDB4MzIsMHg0MCwweDA5LDB4OTAsMHgwMSwweDI0LDB4MDAgfSwKLSAgMTYsIDB4ODQ4MCwgMCwgezB4ZDksMHgwMiwweDIyLDB4NDAsMHgwZiwweDkwLDB4MDMsMHgyOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODQ5MCwgMCwgezB4MmEsMHgwMSwweGE1LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg2NCwweDBmLDB4MTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDgxLDB4M2UgfSwKLSAgMTYsIDB4ODRhMCwgMCwgezB4NjYsMHg4ZiwweDkwLDB4MjMsMHhlNCwweDgwLDB4ZjksMHgwNCwweDNlLDB4NDAsMHg4ZiwweDkwLDB4MDMsMHhlNCwweDA0LDB4ZjkgfSwKLSAgMTYsIDB4ODRiMCwgMCwgezB4MDAsMHgzYywweDQwLDB4MGUsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQwLDB4MGYsMHgxMCwweDAzLDB4Y2EgfSwKLSAgMTYsIDB4ODRjMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDJhLDB4MTAsMHhhMCwweDAwLDB4ZjgsMHgyNCwweDNlLDB4MDAgfSwKLSAgMTYsIDB4ODRkMCwgMCwgezB4MmMsMHg4NCwweDAzLDB4MjAsMHgwMCwweGI4LDB4MjAsMHgzZSwweDAwLDB4OGMsMHg4MCwweDAzLDB4YTAsMHgwMCwweDcwLDB4ODIgfSwKLSAgMTYsIDB4ODRlMCwgMCwgezB4MzIsMHgwMCwweDBmLDB4ODAsMHgwMywweDIwLDB4MDgsMHhmOCwweDAwLDB4MzIsMHgwMCwweDJjLDB4ODAsMHgwYiwweDIwLDB4MDggfSwKLSAgMTYsIDB4ODRmMCwgMCwgezB4YzgsMHgwMCwweDNlLDB4MDAsMHgwYywweDgwLDB4MDMsMHhjYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODUwMCwgMCwgezB4MjgsMHgwNSwweDI4LDB4MDQsMHhiZSwweDgwLDB4M2EsMHg4MCwweDA4LDB4YTAsMHgwMiwweDI4LDB4MDQsMHg4ZSwweDAwLDB4NmQgfSwKLSAgMTYsIDB4ODUxMCwgMCwgezB4OTAsMHgwZCwweGEwLDB4MDIsMHgzYSwweDAwLDB4OGUsMHg4MCwweGEyLDB4ODAsMHgwZSwweGUwLDB4MGIsMHg2OCwweDAwLDB4YmEgfSwKLSAgMTYsIDB4ODUyMCwgMCwgezB4MDAsMHgyMiwweDgwLDB4MDgsMHhhMCwweDAyLDB4MjgsMHgwMCwweGRhLDB4MDAsMHgyZSwweDgwLDB4MDgsMHhhMCwweDAyLDB4Y2EgfSwKLSAgMTYsIDB4ODUzMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4ODEsMHg0YywweDAwLDB4YjEsMHgwMCwweDJjLDB4YzAgfSwKLSAgMTYsIDB4ODU0MCwgMCwgezB4MDgsMHgzMCwweDAyLDB4MGMsMHgxOCwweGEzLDB4MDIsMHgyYywweDEwLDB4ODgsMHgzMCwweDA2LDB4ODIsMHg4MSwweGEwLDB4MDAgfSwKLSAgMTYsIDB4ODU1MCwgMCwgezB4MmEsMHhjMCwweDBiLDB4MzAsMHgwYSwweDRjLDB4MDAsMHhiMywweDAwLDB4MjAsMHhjMCwweDFhLDB4YjAsMHgwMiwweDhjLDB4MDEgfSwKLSAgMTYsIDB4ODU2MCwgMCwgezB4ODMsMHgwMCwweDJjLDB4YzAsMHgwOCwweDMwLDB4MDIsMHhjYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODU3MCwgMCwgezB4MjAsMHgwMSwweDFjLDB4MTAsMHhiNCwweDBhLDB4MmIsMHhjOCwweDA4LDB4MzEsMHgyNiwweDFjLDB4MDAsMHg4NiwweDAwLDB4MmQgfSwKLSAgMTYsIDB4ODU4MCwgMCwgezB4YzAsMHgwOSwweDcyLDB4MDIsMHgxZCwweDAwLDB4YTUsMHg0MCwweDI5LDB4YzAsMHgwYSwweDYwLDB4MDIsMHg1YywweDg4LDB4YjMgfSwKLSAgMTYsIDB4ODU5MCwgMCwgezB4MjAsMHgyNSwweGM4LDB4MGEsMHg3MiwweDAyLDB4OWMsMHg4MCwweDk3LDB4MjAsMHgyYywweGU4LDB4ODAsMHg3MiwweDAyLDB4ZTggfSwKLSAgMTYsIDB4ODVhMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDgsMHgxNiwweDAwLDB4YjUsMHg4MCwweDNkLDB4ZTIgfSwKLSAgMTYsIDB4ODViMCwgMCwgezB4MGMsMHg3YSwweDhiLDB4MGUsMHhjMCwweGE3LDB4ODEsMHgyYywweDIwLDB4MGMsMHhmYywweDAzLDB4OTIsMHgwMiwweGVmLDB4ODAgfSwKLSAgMTYsIDB4ODVjMCwgMCwgezB4MzksMHhlNCwweDBiLDB4ZDgsMHgwMSwweDFmLDB4MDAsMHhmNywweDgwLDB4YjMsMHhmNCwweDhlLDB4NzksMHgwMywweDhlLDB4MDAgfSwKLSAgMTYsIDB4ODVkMCwgMCwgezB4YzcsMHhjNCwweDNkLDB4ZTgsMHgyYywweDdiLDB4MDMsMHhlYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODVlMCwgMCwgezB4MDgsMHgxZCwweGFjLDB4MDAsMHhmOCwweDAwLDB4M2UsMHhkZCwweDg3LDB4YjYsMHgwMywweGVkLDB4Y2MsMHhlOSwweDAwLDB4M2UgfSwKLSAgMTYsIDB4ODVmMCwgMCwgezB4NDAsMHgwZiwweGIwLDB4MDcsMHhjYywweDEwLDB4MGIsMHgwMCwweDM2LDB4ZDgsMHgwZiwweDgwLDB4NDMsMHhhZCwweDgwLDB4ZmIgfSwKLSAgMTYsIDB4ODYwMCwgMCwgezB4MjgsMHgzYSwweGMwLDB4MGQsMHhiNCwweDAzLDB4NmMsMHhlMiwweGViLDB4NjAsMHgzZSwweGQ0LDB4MGYsMHhiMCwweDAzLDB4YzIgfSwKLSAgMTYsIDB4ODYxMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDUsMHhmZSwweDAwLDB4ZmUsMHg5MCwweDNmLDB4ZTUgfSwKLSAgMTYsIDB4ODYyMCwgMCwgezB4MGUsMHhmOCwweDAzLDB4M2UsMHgxMCwweGZmLDB4OTAsMHgxNywweDYwLDB4MGYsMHhmYywweDAzLDB4N2EsMHgwMCwweGVlLDB4ODAgfSwKLSAgMTYsIDB4ODYzMCwgMCwgezB4MzcsMHhlMiwweDBlLDB4NzgsMHgwZiwweGZmLDB4NDAsMHhlZiwweDg4LDB4MWYsMHhlMCwweDBjLDB4ZjgsMHg4MywweGZlLDB4ODAgfSwKLSAgMTYsIDB4ODY0MCwgMCwgezB4Y2YsMHhkMCwweGIzLDB4ZjAsMHgwYywweGY4LDB4YzMsMHgxMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODY1MCwgMCwgezB4YTgsMHgxMSwweDljLDB4NDAsMHhiNCwweDEwLDB4MGYsMHhjYywweDAwLDB4NzIsMHgwMiwweDFjLDB4MDAsMHhiNiwweDAyLDB4MDkgfSwKLSAgMTYsIDB4ODY2MCwgMCwgezB4YzAsMHgyOCwweGYwLDB4MDIsMHg5OCwweDAwLDB4YTYsMHgwMCwweDIxLDB4YzAsMHgwYiwweDYwLDB4MDMsMHhmYywweDAyLDB4ODcgfSwKLSAgMTYsIDB4ODY3MCwgMCwgezB4MDAsMHgyZCwweGMwLDB4MDgsMHg3MCwweDAyLDB4ZGUsMHgwMCwweDhmLDB4MTAsMHgyMSwweGMwLDB4MDgsMHhmMCwweDAzLDB4NmEgfSwKLSAgMTYsIDB4ODY4MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDAsMHg5NCwweDAwLDB4YjYsMHgwMiwweDJmLDB4YzIgfSwKLSAgMTYsIDB4ODY5MCwgMCwgezB4MWEsMHgzMCwweDgwLDB4MWMsMHgwMCwweGI2LDB4MDgsMHgwMSwweDQwLDB4MGEsMHhmMCwweDAyLDB4MTgsMHgwMCwweDg3LDB4MDAgfSwKLSAgMTYsIDB4ODZhMCwgMCwgezB4MjEsMHhjMCwweDBiLDB4ZDAsMHgwMiwweDljLDB4MTAsMHg4NywweDAwLDB4MjksMHhjMCwweDA4LDB4NzAsMHgwMiwweGRjLDB4NDQgfSwKLSAgMTYsIDB4ODZiMCwgMCwgezB4ODcsMHgxMCwweDY0LDB4YzAsMHgwOCwweDcwLDB4MDIsMHgwNiwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODZjMCwgMCwgezB4NjAsMHgxNCwweGNlLDB4NjAsMHhiMCwweDAwLDB4MmMsMHhjMCwweDA4LDB4MzQsMHgwYSwweDBjLDB4MDgsMHhiMCwweDA0LDB4MDAgfSwKLSAgMTYsIDB4ODZkMCwgMCwgezB4NDAsMHgwOCwweDMwLDB4YTIsMHg4OSwweDgwLDB4YTIsMHg2MiwweDIwLDB4ZTAsMHgwYiwweDAwLDB4MGEsMHhjYywweDA4LDB4ODMgfSwKLSAgMTYsIDB4ODZlMCwgMCwgezB4MDAsMHg2YywweGMwLDB4MDgsMHgzMCwweDUyLDB4Y2MsMHgwMCwweDgzLDB4MDAsMHgyNCwweGMwLDB4MDgsMHgzMCwweDAyLDB4NTggfSwKLSAgMTYsIDB4ODZmMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhhZSwweDAwLDB4ZjgsMHgwMCwweDNmLDB4ZDAgfSwKLSAgMTYsIDB4ODcwMCwgMCwgezB4MGUsMHhmYywweDAzLDB4M2MsMHgwMCwweGY5LDB4MDAsMHg5MiwweDg0LDB4MGYsMHhmYywweDAzLDB4NjQsMHgwMCwweDgwLDB4MDAgfSwKLSAgMTYsIDB4ODcxMCwgMCwgezB4YjcsMHhjMywweDBmLDB4YjgsMHg4MywweGJjLDB4MDQsMHhlZiwweDAwLDB4M2YsMHhjMCwweDNjLDB4ZjAsMHgwMywweGZjLDB4MDIgfSwKLSAgMTYsIDB4ODcyMCwgMCwgezB4Y2YsMHgwMCwweDM3LDB4YzAsMHgyOCwweGYwLDB4MTMsMHgyYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODczMCwgMCwgezB4ODAsMHgwMCwweGVjLDB4MDAsMHhmOCwweDQxLDB4M2UsMHhjOCwweDBmLDB4MzIsMHgwMywweGVjLDB4MDAsMHhmOCwweDAwLDB4M2EgfSwKLSAgMTYsIDB4ODc0MCwgMCwgezB4YzQsMHgwZiwweGIxLDB4MDMsMHhjNCwweDAwLDB4ZjksMHgwMCwweDM2LDB4YzAsMHgwZiwweGU0LDB4MGIsMHhlYywweDA0LDB4ZmIgfSwKLSAgMTYsIDB4ODc1MCwgMCwgezB4MDAsMHgzZSwweGMxLDB4MGYsMHhiMCwweDQzLDB4ZWMsMHgwNCwweGZiLDB4MDAsMHgzYSwweGMwLDB4MGYsMHhiMCwweDAzLDB4ZTQgfSwKLSAgMTYsIDB4ODc2MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmNCwweDAwLDB4ZmMsMHg4MCwweDNmLDB4YzAgfSwKLSAgMTYsIDB4ODc3MCwgMCwgezB4MWYsMHhmMCwweDAzLDB4M2MsMHgwOCwweGZiLDB4MDAsMHgzMywweDgwLDB4MmUsMHhmMCwweDEzLDB4YTQsMHgwNCwweGNiLDB4MDAgfSwKLSAgMTYsIDB4ODc4MCwgMCwgezB4YjksMHhjMCwweDJjLDB4ZDgsMHgwYiwweDNjLDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMCwweDA5LDB4NzAsMHgwMCwweDJjLDB4MDQgfSwKLSAgMTYsIDB4ODc5MCwgMCwgezB4ZmYsMHgwMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhjMCwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODdhMCwgMCwgezB4YzEsMHgwMCwweDZjLDB4MDAsMHhiOCwweDgwLDB4MmUsMHhjMCwweDBiLDB4YjAsMHgwMywweDZjLDB4MDAsMHhiOSwweDE2LDB4MjggfSwKLSAgMTYsIDB4ODdiMCwgMCwgezB4NzIsMHgwOCwweGIwLDB4MjIsMHgyNywweDQwLDB4ZGIsMHgwMCwweDIyLDB4YzAsMHgwOCwweGJkLDB4ODIsMHgyYywweDA4LDB4YmIgfSwKLSAgMTYsIDB4ODdjMCwgMCwgezB4MDAsMHgyZSwweGMwLDB4NDgsMHhiMCwweDAyLDB4MmMsMHgwMCwweGJiLDB4MDAsMHgyZSwweGMxLDB4MGIsMHhiMCwweDAyLDB4ZTAgfSwKLSAgMTYsIDB4ODdkMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAwLDB4YjgsMHg2MCwweDJlLDB4YzAgfSwKLSAgMTYsIDB4ODdlMCwgMCwgezB4MGIsMHhiMCwweDAyLDB4MmMsMHgwMCwweGIxLDB4MDAsMHgyYSwweDg0LDB4NGEsMHgzMCwweDIyLDB4YWMsMHgyMCwweDk4LDB4ODAgfSwKLSAgMTYsIDB4ODdmMCwgMCwgezB4MmEsMHhjMCwweDA4LDB4MzAsMHgwMiwweGFjLDB4MDAsMHgzYiwweDAwLDB4MmMsMHhjMCwweDBhLDB4YjAsMHgwMiwweGFjLDB4MDggfSwKLSAgMTYsIDB4ODgwMCwgMCwgezB4YmIsMHgwMCwweDJlLDB4YzAsMHgwYiwweGIwLDB4NDIsMHhlMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODgxMCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDEsMHhiMCwweDAwLDB4MmMsMHhjMCwweDBiLDB4MzAsMHgwMiwweDRjLDB4MDQsMHhiMCwweDAwLDB4MmEgfSwKLSAgMTYsIDB4ODgyMCwgMCwgezB4ODAsMHgwOCwweDMwLDB4MDIsMHgwMCwweDAwLDB4MTAsMHgwNCwweDI4LDB4YzAsMHgwOCwweDIwLDB4NDIsMHg4YywweDAwLDB4YjMgfSwKLSAgMTYsIDB4ODgzMCwgMCwgezB4MDAsMHgyYywweGMwLDB4NDIsMHgzMCwweDBhLDB4OGMsMHgwMCwweGIzLDB4MDAsMHgyYywweGMwLDB4OGIsMHgzMCwweDAyLDB4YzIgfSwKLSAgMTYsIDB4ODg0MCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2NCwweDAwLDB4ZjgsMHg1MCwweDNmLDB4YzAgfSwKLSAgMTYsIDB4ODg1MCwgMCwgezB4MGIsMHhmMCwweDAzLDB4M2MsMHgwMCwweGZhLDB4MDQsMHgzMiwweDgwLDB4MGUsMHhmMCwweDIzLDB4YWMsMHgwMCwweGQ5LDB4MDAgfSwKLSAgMTYsIDB4ODg2MCwgMCwgezB4M2IsMHhjMCwweDBjLDB4OTAsMHgwMywweGJjLDB4MDQsMHhmZiwweDAwLDB4M2QsMHhjMCwweDJlLDB4ZjAsMHgwYiwweDNjLDB4MDAgfSwKLSAgMTYsIDB4ODg3MCwgMCwgezB4ZmYsMHgwNCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhjMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODg4MCwgMCwgezB4YTAsMHgxZCwweGZjLDB4MDAsMHhmYywweDAwLDB4M2YsMHhjMCwweDA3LDB4ZjAsMHgwMywweGZjLDB4MDQsMHg3YywweDAyLDB4YjUgfSwKLSAgMTYsIDB4ODg5MCwgMCwgezB4MDAsMHgwZiwweGYwLDB4MDMsMHhmMCwweDAwLDB4ZmMsMHgwMCwweDM3LDB4YzAsMHgwZiwweGYwLDB4MTMsMHg3YywweDAwLDB4ZmYgfSwKLSAgMTYsIDB4ODhhMCwgMCwgezB4MDAsMHgzZiwweGMwLDB4MGQsMHhmMCwweDAzLDB4NmQsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMwLDB4MWYsMHhmMCwweDAzLDB4ZTggfSwKLSAgMTYsIDB4ODhiMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhkMiwweDAwLDB4ZDUsMHg4MCwweDMzLDB4MGEgfSwKLSAgMTYsIDB4ODhjMCwgMCwgezB4NGMsMHhmOCwweDAzLDB4ZjIsMHgwMCwweGZjLDB4MDAsMHgzNywweDI2LDB4MWYsMHhjYSwweDAzLDB4YmMsMHhjNCwweGNmLDB4MjAgfSwKLSAgMTYsIDB4ODhkMCwgMCwgezB4MzMsMHhlNCwweDBmLDB4NzgsMHgwMywweDNlLDB4NDQsMHhjZiwweDAwLDB4M2IsMHhjZSwweDlmLDB4NjgsMHgxMywweGQwLDB4MDAgfSwKLSAgMTYsIDB4ODhlMCwgMCwgezB4Y2QsMHg4MCwweGIzLDB4NjAsMHgwZiwweGZhLDB4ODMsMHhmMCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODhmMCwgMCwgezB4ODAsMHgxMCwweGUwLDB4ODAsMHhjOSwweDI4LDB4MjIsMHgzMCwweDA4LDB4YjIsMHgyMiwweGVhLDB4MDEsMHhiOCwweDgyLDB4MjAgfSwKLSAgMTYsIDB4ODkwMCwgMCwgezB4NTAsMHg0ZiwweDljLDB4MDAsMHhhOCwweGQxLDB4ZGIsMHgxMCwweGE2LDB4ZTAsMHgxNywweGI4LDB4MDMsMHhlYywweDgwLDB4ZGIgfSwKLSAgMTYsIDB4ODkxMCwgMCwgezB4MDgsMHgxZiwweGQwLDB4MGIsMHhiOCwweDAyLDB4ZjYsMHgwMCwweGZiLDB4ODAsMHgyMiwweDQwLDB4MGIsMHhiMCwweDAyLDB4NjAgfSwKLSAgMTYsIDB4ODkyMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjNCwweDIwLDB4ODEsMHg4MCwweDIwLDB4MDAgfSwKLSAgMTYsIDB4ODkzMCwgMCwgezB4OGIsMHgzMCwweDgyLDB4YzAsMHgwMCwweGIwLDB4MTAsMHgyOCwweDA4LDB4OGIsMHgxMSwweDMwLDB4YzQsMHg4NCwweDkwLDB4MjggfSwKLSAgMTYsIDB4ODk0MCwgMCwgezB4MjQsMHhjOCwweDBiLDB4MzAsMHgwMiwweDRjLDB4MDAsMHg4MywweDEwLDB4MDQsMHhjOCwweDBiLDB4MzAsMHgwMiwweGNjLDB4MDAgfSwKLSAgMTYsIDB4ODk1MCwgMCwgezB4YjMsMHgwMCwweDI0LDB4NDAsMHgwYiwweDMwLDB4MDIsMHhlMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODk2MCwgMCwgezB4YzAsMHgxNSwweGE2LDB4MDAsMHg4MSwweDAwLDB4MjIsMHgxMCwweDBiLDB4YjAsMHgxMiwweGVhLDB4MjAsMHhiYiwweDAwLDB4MmEgfSwKLSAgMTYsIDB4ODk3MCwgMCwgezB4NzAsMHgwYSwweDljLDB4MDIsMHg2MiwweDAwLDB4OTgsMHg4OCwweDI2LDB4YzgsMHgwMiwweGIyLDB4MDIsMHg4ZSwweDA4LDB4OGIgfSwKLSAgMTYsIDB4ODk4MCwgMCwgezB4MTgsMHgyMiwweGMwLDB4MGIsMHhhMCwweDAyLDB4ZWUsMHgyMCwweDNiLDB4MDAsMHgyNiwweDQwLDB4MGIsMHhiMCwweDAyLDB4NzAgfSwKLSAgMTYsIDB4ODk5MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlMCwweDAwLDB4Y2IsMHgwMCwweDMyLDB4ODAgfSwKLSAgMTYsIDB4ODlhMCwgMCwgezB4MGYsMHhiMCwweDAzLDB4ZTcsMHgwMCwweGI4LDB4NTIsMHgzZSwweDIwLDB4NGIsMHgwYywweDQzLDB4ZWYsMHg4MiwweDliLDB4YzAgfSwKLSAgMTYsIDB4ODliMCwgMCwgezB4MzIsMHhjMCwweDBiLDB4YjAsMHgwMiwweDZjLDB4MDEsMHg4YiwweDgwLDB4MmUsMHhjMCwweDBiLDB4YTAsMHg4MywweGU2LDB4MDAgfSwKLSAgMTYsIDB4ODljMCwgMCwgezB4ZmIsMHgwMCwweDM2LDB4NDAsMHgwZiwweGYwLDB4MDMsMHhkMCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ODlkMCwgMCwgezB4ZTAsMHgwMSwweGIwLDB4MDIsMHhmZiwweDA0LDB4M2YsMHg5MCwweDBjLDB4ZjEsMHgwMSwweGY0LDB4MDgsMHg3ZCwweDgwLDB4MzcgfSwKLSAgMTYsIDB4ODllMCwgMCwgezB4MDAsMHgwZiwweGMwLDB4MjMsMHg5OCwweDAwLDB4ZjcsMHgwMCwweDJiLDB4ZTAsMHgwZiwweGY4LDB4MjMsMHhmYywweDA2LDB4ZmIgfSwKLSAgMTYsIDB4ODlmMCwgMCwgezB4ODMsMHhiZiwweGMwLDB4ODcsMHhkMCwweDAzLDB4ZGMsMHgwMCwweGVmLDB4MDAsMHgzYiwweGMwLDB4MGYsMHhiMCwweDAxLDB4ZjggfSwKLSAgMTYsIDB4OGEwMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhNiwweDAwLDB4Y2IsMHgwMCwweDMzLDB4ODAgfSwKLSAgMTYsIDB4OGExMCwgMCwgezB4MGYsMHhiMCwweDAzLDB4ZTEsMHgxMCwweGYyLDB4NDAsMHhiMiwweDAwLDB4M2QsMHg5NCwweDE3LDB4MmQsMHg0NCwweGZhLDB4NDEgfSwKLSAgMTYsIDB4OGEyMCwgMCwgezB4MzIsMHhjMCwweDlmLDB4YjAsMHgyMywweDJjLDB4MDIsMHhjYiwweDQwLDB4MzIsMHhjMCwweDRmLDB4OTAsMHgwMywweDNkLDB4MDAgfSwKLSAgMTYsIDB4OGEzMCwgMCwgezB4Y2IsMHgwMCwweDNlLDB4NDAsMHgwZiwweGIwLDB4MDMsMHgxMCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGE0MCwgMCwgezB4ODgsMHgwNSwweDI2LDB4MDAsMHg4YiwweDcxLDB4MjAsMHhkNSwweDAzLDB4OTksMHgwMiwweGUwLDB4MDAsMHhiYiwweDgwLDB4MjIgfSwKLSAgMTYsIDB4OGE1MCwgMCwgezB4NjAsMHgxYywweDgwLDB4MDMsMHg2MCwweDAwLDB4YjgsMHgwMiwweDIyLDB4YzIsMHgwYiwweDMyLDB4MDIsMHgyYywweDAxLDB4OGYgfSwKLSAgMTYsIDB4OGE2MCwgMCwgezB4MDIsMHhkNywweGMwLDB4MGIsMHhhMCwweDAzLDB4NmQsMHg0MCwweDUzLDB4ODAsMHgyZSwweGMwLDB4MGUsMHhmMCwweDQzLDB4NzIgfSwKLSAgMTYsIDB4OGE3MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg2OCwweDAyLDB4ODAsMHgwMCwweDI0LDB4MDAgfSwKLSAgMTYsIDB4OGE4MCwgMCwgezB4MGIsMHgzNSwweDI2LDB4YzIsMHgwMCwweGIwLDB4OTAsMHgyMCwweGMwLDB4ODgsMHgwMCwweDAyLDB4NGYsMHgyMCwweGIzLDB4MDIgfSwKLSAgMTYsIDB4OGE5MCwgMCwgezB4NjAsMHhlMiwweDFiLDB4MzgsMHgwMiwweDBjLDB4MDAsMHg4OCwweDAwLDB4NjAsMHhjMCwweDBiLDB4MzQsMHg4MiwweDRjLDB4MDIgfSwKLSAgMTYsIDB4OGFhMCwgMCwgezB4YTEsMHg5MCwweDJjLDB4NDAsMHgwYiwweDMwLDB4MDIsMHgzMCwweDAxLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGFiMCwgMCwgezB4MjAsMHgwMSwweDNhLDB4MDgsMHg4YywweGEwLDB4MmQsMHgyMCwweDRiLDB4NzgsMHgwMiwweGRhLDB4MDAsMHhiMiwweDkwLDB4MjEgfSwKLSAgMTYsIDB4OGFjMCwgMCwgezB4NjYsMHg0OCwweDc5LDB4MDIsMHhkZSwweDQwLDB4YjcsMHg5MSwweGExLDB4ZTAsMHhkYiwweGY4LDB4MDIsMHgxZSwweDQwLDB4ODQgfSwKLSAgMTYsIDB4OGFkMCwgMCwgezB4OTAsMHgwMSwweGUwLDB4OGIsMHhmOSwweDAyLDB4NWUsMHgwMSwweDk3LDB4ODAsMHgyZCwweDYwLDB4MGEsMHg3OCwweDAwLDB4NDggfSwKLSAgMTYsIDB4OGFlMCwgMCwgezB4MDQsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDAwLDB4ODAsMHgwMCwweDI0LDB4MDQgfSwKLSAgMTYsIDB4OGFmMCwgMCwgezB4MGYsMHgzMiwweDAzLDB4YzQsMHhhMCwweGYxLDB4NDIsMHgzMCwweGM0LDB4MmMsMHgzMSwweDAyLDB4NDQsMHgwMCwweGYxLDB4MTEgfSwKLSAgMTYsIDB4OGIwMCwgMCwgezB4YTAsMHhjMCwweDBiLDB4MzAsMHgwYiwweDBjLDB4NDIsMHg4MywweDAwLDB4MDAsMHhjMCwweDBmLDB4MzAsMHgwMywweDRjLDB4MDIgfSwKLSAgMTYsIDB4OGIxMCwgMCwgezB4ZTMsMHgwMCwweDNjLDB4NDAsMHgwYiwweDMwLDB4MDEsMHgxMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGIyMCwgMCwgezB4YzAsMHgxZCwweGJjLDB4MDAsMHhmYywweGE1LDB4MzMsMHhjMCwweDBmLDB4ZDAsMHgwMywweGZjLDB4MDEsMHhiZiwweDAwLDB4M2YgfSwKLSAgMTYsIDB4OGIzMCwgMCwgezB4YzQsMHgwZSwweDcxLDB4MDMsMHg3NCwweDAwLDB4NzUsMHgxMCwweDNmLDB4YzAsMHgwNSwweGYwLDB4MDMsMHhkYywweDQwLDB4ZmYgfSwKLSAgMTYsIDB4OGI0MCwgMCwgezB4MDQsMHgzZiwweGMwLDB4MGYsMHhmMCwweDQzLDB4ZmMsMHgwMCwweDdmLDB4MDAsMHgzZiwweDQwLDB4MGUsMHhmMCwweDAzLDB4ZDAgfSwKLSAgMTYsIDB4OGI1MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDQsMHhlOCwweDAwLDB4ZjIsMHgwNCwweGIzLDB4ODAgfSwKLSAgMTYsIDB4OGI2MCwgMCwgezB4MGYsMHhiOCwweDBiLDB4MmMsMHgwMCwweGViLDB4ODAsMHgzMiwweGMwLDB4MGMsMHgyMCwweDEzLDB4MmUsMHgwOCwweGNiLDB4MDEgfSwKLSAgMTYsIDB4OGI3MCwgMCwgezB4MzIsMHhjNSwweDBmLDB4YjEsMHgwMywweGVjLDB4NDgsMHhjOCwweDEwLDB4MzIsMHhmYSwweDhjLDB4MzgsMHgwMywweDNjLDB4OTAgfSwKLSAgMTYsIDB4OGI4MCwgMCwgezB4Y2IsMHgwMCwweDNlLDB4NDAsMHgwZiwweGIwLDB4MTMsMHhjMiwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGI5MCwgMCwgezB4YzgsMHgxMCwweDk4LDB4MDAsMHhmNiwweDAwLDB4NjEsMHg4MSwweDBiLDB4ZjAsMHgwMiwweDFjLDB4MDAsMHhkNywweDAwLDB4YjcgfSwKLSAgMTYsIDB4OGJhMCwgMCwgezB4ODAsMHgwYywweDcwLDB4MDIsMHhiYywweDEwLDB4OGYsMHgwMCwweDIxLDB4YzgsMHg4YiwweDcyLDB4NDMsMHhmYywweDg4LDB4ZGMgfSwKLSAgMTYsIDB4OGJiMCwgMCwgezB4MDAsMHgzNywweGM4LDB4MGQsMHg1MCwweDAyLDB4MWMsMHgyMiwweDg3LDB4MDAsMHgyZCwweGMwLDB4MGIsMHg3MCwweDAyLDB4ZDMgfSwKLSAgMTYsIDB4OGJjMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDAsMHg5ZSwweDAwLDB4YjYsMHg4MCwweGE5LDB4YTAgfSwKLSAgMTYsIDB4OGJkMCwgMCwgezB4NGIsMHg3YywweDAyLDB4NWUsMHgzMCwweGEzLDB4ODgsMHgyMSwweGYwLDB4MDgsMHg3OCwweDAyLDB4MTYsMHgwMCwweDg1LDB4ODAgfSwKLSAgMTYsIDB4OGJlMCwgMCwgezB4MjEsMHhlMCwweDBiLDB4NzgsMHgwMiwweGRlLDB4MDAsMHg4NywweDgwLDB4YTEsMHhlNCwweDA4LDB4ZDgsMHgwMiwweDRlLDB4MDAgfSwKLSAgMTYsIDB4OGJmMCwgMCwgezB4OTcsMHg4MCwweDJkLDB4NzAsMHgwYiwweDc4LDB4MDIsMHhjOCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGMwMCwgMCwgezB4NDgsMHgxNCwweGVjLDB4MDAsMHhiMiwweDAwLDB4MjgsMHhjMCwweDBiLDB4MTAsMHgwMiwweDRlLDB4OTAsMHg5MywweDAyLDB4MjIgfSwKLSAgMTYsIDB4OGMxMCwgMCwgezB4ZjAsMHgwOCwweDM4LDB4NDIsMHg4YywweDQyLDB4ODMsMHgwNCwweDIyLDB4ZTQsMHg0YiwweDM4LDB4MDIsMHg4ZSwweDQwLDB4ODMgfSwKLSAgMTYsIDB4OGMyMCwgMCwgezB4MDAsMHgyMCwweGMwLDB4MDksMHgzOCwweDIyLDB4NGUsMHgyMSwweDkzLDB4MDAsMHgyZSwweGUwLDB4MGIsMHgzMCwweDAyLDB4ZGIgfSwKLSAgMTYsIDB4OGMzMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOCwweDAxLDB4ZmEsMHgwMCwweDNiLDB4ODkgfSwKLSAgMTYsIDB4OGM0MCwgMCwgezB4MGYsMHhhMCwweDAyLDB4NzgsMHgwOCwweGFlLDB4NDAsMHgyMywweDgwLDB4MmMsMHg2YywweDBiLDB4M2EsMHgwMCwweDhlLDB4OGMgfSwKLSAgMTYsIDB4OGM1MCwgMCwgezB4YjIsMHgwMCwweDBiLDB4ODAsMHg4MiwweGUwLDB4MDIsMHg4ZSwweDAwLDB4MjIsMHg4MCwweDBjLDB4ZTgsMHgwMiwweDdiLDB4ODAgfSwKLSAgMTYsIDB4OGM2MCwgMCwgezB4OWEsMHg4MCwweDNlLDB4ODAsMHgwZiwweGEwLDB4MDMsMHhmYSwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGM3MCwgMCwgezB4NDgsMHgwMCwweGUwLDB4MDksMHhlYywweDAwLDB4MzYsMHgyMSwweDBiLDB4ODAsMHgxMywweGExLDB4MDAsMHhmOCwweDYwLDB4M2UgfSwKLSAgMTYsIDB4OGM4MCwgMCwgezB4MDAsMHgwZiwweDgxLDB4MDMsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDgwLDB4NDMsMHhlMCwweDEwLDB4ZjggfSwKLSAgMTYsIDB4OGM5MCwgMCwgezB4MDAsMHhiZSwweDAwLDB4MGYsMHg4NSwweDBiLDB4ODAsMHgwMCwweGU4LDB4MTAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZDIgfSwKLSAgMTYsIDB4OGNhMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDAyLDB4YzksMHgwMiwweDMwLDB4NDggfSwKLSAgMTYsIDB4OGNiMCwgMCwgezB4MGMsMHg5OSwweDEzLDB4YTQsMHgwMiwweGM5LDB4MDAsMHgzZSwweDQyLDB4MGMsMHg5MCwweDhmLDB4MjQsMHgwMCwweGY5LDB4MDAgfSwKLSAgMTYsIDB4OGNjMCwgMCwgezB4MzIsMHgyOCwweDBjLDB4ODgsMHgwMywweGUwLDB4MDAsMHhjOSwweDAwLDB4YjIsMHg0MCwweDBmLDB4OTAsMHgwMywweGU3LDB4MDAgfSwKLSAgMTYsIDB4OGNkMCwgMCwgezB4YzksMHgxMCwweDNlLDB4NDAsMHgwYywweDEwLDB4MDMsMHgwMiwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGNlMCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDEsMHg4OSwweDgwLDB4YTIsMHg0OCwweDI4LDB4OTIsMHg0MiwweGM1LDB4MDAsMHg4OSwweDQwLDB4MmUgfSwKLSAgMTYsIDB4OGNmMCwgMCwgezB4NDAsMHgyYywweDkwLDB4MDYsMHgyNSwweDAwLDB4YjksMHgwMCwweDIyLDB4NTAsMHgwOCwweDk4LDB4MDIsMHhjNCwweDAwLDB4ODkgfSwKLSAgMTYsIDB4OGQwMCwgMCwgezB4MDEsMHg3NiwweDQwLDB4NGIsMHg5MiwweDAyLDB4ZTUsMHgwMiwweDg5LDB4MDAsMHgyZSwweDQwLDB4MGQsMHg5MCwweDAzLDB4NjAgfSwKLSAgMTYsIDB4OGQxMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDBjLDB4ODUsMHgyMCwweGEyLDB4NDAgfSwKLSAgMTYsIDB4OGQyMCwgMCwgezB4MDgsMHg5MCwweDA2LDB4ZTUsMHgwMCwweDg5LDB4NDAsMHgyZSwweDQwLDB4MDksMHg5MCwweDQyLDB4YTQsMHhhMCwweDMxLDB4MDAgfSwKLSAgMTYsIDB4OGQzMCwgMCwgezB4MjIsMHg1MCwweDE4LDB4OTEsMHgwMiwweGU0LDB4MDAsMHg4MSwweDAwLDB4MjIsMHg0MCwweDBiLDB4OTAsMHgwNiwweGU0LDB4MDAgfSwKLSAgMTYsIDB4OGQ0MCwgMCwgezB4ODksMHgwMCwweDJlLDB4NDAsMHgwOSwweDkwLDB4MDIsMHgwZSwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGQ1MCwgMCwgezB4MDAsMHgwNCwweDE1LDB4MDAsMHg4NSwweDQwLDB4MjAsMHg0MCwweDA4LDB4MTQsMHgyNiwweGU0LDB4MDAsMHg4MSwweDAwLDB4MmMgfSwKLSAgMTYsIDB4OGQ2MCwgMCwgezB4NDAsMHgxOCwweDEwLDB4MDIsMHg4NCwweDgwLDB4YjEsMHgyMCwweGEwLDB4NTAsMHgwOCwweDE0LDB4MDIsMHhlNSwweDAyLDB4ODEgfSwKLSAgMTYsIDB4OGQ3MCwgMCwgezB4NDAsMHgyMCwweDQ4LDB4MGIsMHgxMCwweDA2LDB4Y2MsMHgwMCwweDgxLDB4MDEsMHgyYywweDUwLDB4MDksMHgxNCwweDAyLDB4NGEgfSwKLSAgMTYsIDB4OGQ4MCwgMCwgezB4MDUsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDAwLDB4OGMsMHgwMCwweDMyLDB4MDAgfSwKLSAgMTYsIDB4OGQ5MCwgMCwgezB4MGMsMHg4MCwweDIzLDB4ZTAsMHgwMCwweGM4LDB4MDAsMHgzZSwweDE0LDB4MGQsMHg4MCwweDEyLDB4YTEsMHg0NCwweGY4LDB4NTEgfSwKLSAgMTYsIDB4OGRhMCwgMCwgezB4MzIsMHgwMCwweDJjLDB4ODAsMHgwMywweGUwLDB4MDAsMHg4OCwweDA0LDB4MjIsMHgxNCwweDBmLDB4ODAsMHgwNywweGUwLDB4MDAgfSwKLSAgMTYsIDB4OGRiMCwgMCwgezB4YzgsMHgwMCwweDNlLDB4MDAsMHgwZCwweDgwLDB4MDMsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGRjMCwgMCwgezB4OTgsMHg5ZCwweGU0LDB4MDAsMHhmOSwweDAwLDB4M2YsMHg1MCwweDBmLDB4ZDAsMHgwMywweGRjLDB4MDEsMHhiZCwweDQyLDB4M2YgfSwKLSAgMTYsIDB4OGRkMCwgMCwgezB4NTAsMHg0ZiwweGQ0LDB4NDMsMHg3NCwweDQxLDB4ZmQsMHgxMCwweDNmLDB4MTAsMHgxZiwweGM0LDB4MTMsMHhmMSwweDAwLDB4ZmQgfSwKLSAgMTYsIDB4OGRlMCwgMCwgezB4NDAsMHg3ZSwweDQ0LDB4MGYsMHhkMCwweDQzLDB4ZjUsMHgwMSwweGZkLDB4MDAsMHgzZiwweDQwLDB4MGYsMHg5NCwweDAzLDB4ZTYgfSwKLSAgMTYsIDB4OGRmMCwgMCwgezB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhmNCwweDAwLDB4ZGYsMHgwNSwweDMzLDB4NjEgfSwKLSAgMTYsIDB4OGUwMCwgMCwgezB4MGYsMHg1MCwweDUzLDB4MzQsMHgxMCwweGZkLDB4MDQsMHgzMywweDQ0LDB4NGYsMHg1MCwweDAzLDB4NzYsMHhjMSwweGNkLDB4ZTAgfSwKLSAgMTYsIDB4OGUxMCwgMCwgezB4MzMsMHg2MCwweDBjLDB4Y2UsMHgwMywweGY2LDB4YzAsMHhlMSwweGMwLDB4YjYsMHg2NCwweDhmLDB4NTAsMHgwYiwweDM2LDB4ODIgfSwKLSAgMTYsIDB4OGUyMCwgMCwgezB4Y2QsMHgwMCwweDNlLDB4NDQsMHg0YywweDllLDB4YzMsMHhjNiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGUzMCwgMCwgezB4MzgsMHgxMCwweGVhLDB4MjgsMHg4MCwweGEwLDB4YjIsMHgwNCwweDBiLDB4OGEsMHg4MywweDYwLDB4MDAsMHhmYSwweDAwLDB4MzYgfSwKLSAgMTYsIDB4OGU0MCwgMCwgezB4MjgsMHg4YiwweDgwLDB4MDMsMHhlMywweGM4LDB4YzgsMHg4NCwweDIyLDB4MTQsMHgwOCwweDhhLDB4MDIsMHhlMiwweDgwLDB4ZDggfSwKLSAgMTYsIDB4OGU1MCwgMCwgezB4ODIsMHgzNCwweDM0LDB4MWIsMHg4MCwweDAzLDB4NjAsMHgwNCwweDg4LDB4MDAsMHgyZSwweDIwLDB4MGEsMHg4ZSwweDQyLDB4Y2UgfSwKLSAgMTYsIDB4OGU2MCwgMCwgezB4MDYsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDUsMHhjNCwweDgwLDB4ODEsMHgwOCwweDA0LDB4NDEgfSwKLSAgMTYsIDB4OGU3MCwgMCwgezB4MGIsMHg5MiwweDAyLDB4MDQsMHgwMCwweGIxLDB4MDAsMHgyYywweDQwLDB4MGIsMHgxOCwweDAyLDB4MjQsMHgwMCwweGIxLDB4NjAgfSwKLSAgMTYsIDB4OGU4MCwgMCwgezB4MjYsMHg0MCwweDBhLDB4MTYsMHgwMiwweGM1LDB4MDAsMHhhMSwweGMwLDB4MjAsMHg0OCwweDBiLDB4OTAsMHgwMiwweDQ3LDB4MDAgfSwKLSAgMTYsIDB4OGU5MCwgMCwgezB4OTEsMHgwMSwweDJjLDB4NDgsMHgxOCwweDEyLDB4MDIsMHhkMiwweDAxLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGVhMCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MGMsMHg4YiwweDA0LDB4YTIsMHg1MCwweDBiLDB4OTEsMHgwMiwweDI0LDB4MDQsMHhhOSwweDAxLDB4MmUgfSwKLSAgMTYsIDB4OGViMCwgMCwgezB4NDIsMHgwYiwweDkwLDB4MDIsMHhhNCwweDAwLDB4YTksMHgwMCwweDI2LDB4NjAsMHgwYSwweDkwLDB4MDIsMHhlNiwweDAwLDB4ODEgfSwKLSAgMTYsIDB4OGVjMCwgMCwgezB4MDAsMHgyMiwweDQwLDB4OGIsMHhiMCwweDAyLDB4MjQsMHgwOCwweDk5LDB4MTAsMHgyZSwweDQwLDB4MWEsMHg5MCwweDAyLDB4YzYgfSwKLSAgMTYsIDB4OGVkMCwgMCwgezB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNSwweDAwLDB4YzksMHgwMCwweDM2LDB4NDAgfSwKLSAgMTYsIDB4OGVlMCwgMCwgezB4MGYsMHgxMCwweDAyLDB4MjUsMHgwMCwweGIxLDB4MDAsMHgyZSwweDYwLDB4MGYsMHgxMCwweDEyLDB4MjQsMHgwMiwweGI5LDB4YTAgfSwKLSAgMTYsIDB4OGVmMCwgMCwgezB4YTQsMHg0MCwweDJlLDB4OTEsMHgwMywweGU2LDB4MDAsMHhhOSwweDAwLDB4MjIsMHg0MCwweDBiLDB4MTksMHg4MCwweDY0LDB4MDQgfSwKLSAgMTYsIDB4OGYwMCwgMCwgezB4ZDksMHg4MSwweDJlLDB4NDAsMHg0YywweDkwLDB4MDMsMHhlOCwweDE0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGYxMCwgMCwgezB4NjgsMHgwMSwweGE0LDB4MGEsMHhlOSwweDAwLDB4YmUsMHg0OCwweDBmLDB4OTgsMHgwYiwweGU0LDB4MDAsMHhmOSwweGM0LDB4MzYgfSwKLSAgMTYsIDB4OGYyMCwgMCwgezB4NzAsMHgxZiwweDkyLDB4MDMsMHhlNiwweDkwLDB4YzEsMHg5MCwweDNhLDB4NDAsMHg4ZCwweDg4LDB4MDMsMHhlNCwweDAwLDB4ZjkgfSwKLSAgMTYsIDB4OGYzMCwgMCwgezB4OTAsMHgzZSwweDQwLDB4MGIsMHg5OCwweDAzLDB4ZTYsMHg0MCwweGU5LDB4MDAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4ZDIgfSwKLSAgMTYsIDB4OGY0MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDY4LDB4MTAsMHhhMSwweDAyLDB4ZDgsMHgyMCwweGIyLDB4MTAgfSwKLSAgMTYsIDB4OGY1MCwgMCwgezB4MGMsMHg4MCwweDgzLDB4MjEsMHg0MCwweGM4LDB4NTgsMHhiMiwweDEwLDB4NGMsMHg4MCwweDBiLDB4MjAsMHgwMCwweGY4LDB4NDIgfSwKLSAgMTYsIDB4OGY2MCwgMCwgezB4MzIsMHgwMCwweDBmLDB4ODAsMHgwMywweGUwLDB4MDIsMHhkOCwweDAwLDB4NzIsMHgwMCwweDFjLDB4ODAsMHgwMCwweDIwLDB4MDAgfSwKLSAgMTYsIDB4OGY3MCwgMCwgezB4ZjgsMHgwNCwweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHgwMiwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGY4MCwgMCwgezB4MjgsMHgwNSwweDM4LDB4MDQsMHhjZSwweDQxLDB4MjMsMHg4MCwweDA4LDB4ZTAsMHgwMiwweDM5LDB4MTAsMHhhZSwweDQwLDB4MjIgfSwKLSAgMTYsIDB4OGY5MCwgMCwgezB4ODAsMHgwOCwweGUwLDB4MDIsMHgxYSwweDAwLDB4YmEsMHgwMCwweDJiLDB4YWQsMHgwMywweDgwLDB4MDIsMHhlOCwweDAwLDB4Y2EgfSwKLSAgMTYsIDB4OGZhMCwgMCwgezB4MDAsMHgyYSwweDgwLDB4MGEsMHhlMCwweDAyLDB4MTgsMHgwMCwweGJhLDB4MDAsMHgxYSwweDgwLDB4MGIsMHhhMCwweDAzLDB4NGEgfSwKLSAgMTYsIDB4OGZiMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDY4LDB4MDUsMHg2YywweDEyLDB4ODksMHgwMCwweGEwLDB4ZTAgfSwKLSAgMTYsIDB4OGZjMCwgMCwgezB4MDgsMHgzOCwweDAyLDB4MGQsMHg4OCwweDgzLDB4MDAsMHgwNCwweGUwLDB4MDgsMHgzOCwweDMyLDB4MGUsMHgyNSwweDMxLDB4MDEgfSwKLSAgMTYsIDB4OGZkMCwgMCwgezB4MjQsMHhlMCwweDhiLDB4MzgsMHgwMiwweGU0LDB4MDEsMHg4MywweDAwLDB4MjAsMHhjMCwweDA4LDB4MzAsMHgwMiwweDhjLDB4MDAgfSwKLSAgMTYsIDB4OGZlMCwgMCwgezB4YjMsMHgwMCwweDJlLDB4YzAsMHgwYiwweDMwLDB4MDIsMHgwYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OGZmMCwgMCwgezB4YTAsMHgwMSwweDE0LDB4MjAsMHg4NiwweDIwLDB4MjksMHhiMCwweDA4LDB4ZjAsMHg4MiwweDNlLDB4MDQsMHhhNywweDAwLDB4MjEgfSwKLSAgMTYsIDB4OTAwMCwgMCwgezB4NzAsMHg4OCwweDcwLDB4OTIsMHgxYywweDIwLDB4YmQsMHgwMCwweDY5LDB4YzAsMHgwYiwweDc2LDB4MDIsMHhkNCwweDgwLDB4OGYgfSwKLSAgMTYsIDB4OTAxMCwgMCwgezB4MjEsMHgyOSwweGUwLDB4MGEsMHg2MCwweDg2LDB4OTgsMHgwMSwweGI3LDB4MDAsMHgyZCwweGM4LDB4MGIsMHgzYiwweDAyLDB4NjAgfSwKLSAgMTYsIDB4OTAyMCwgMCwgezB4MDQsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgzZSwweDAwLDB4YzcsMHhhMCwweGIwLDB4ZTAgfSwKLSAgMTYsIDB4OTAzMCwgMCwgezB4MmMsMHg3OCwweDBiLDB4MWEsMHgwMCwweGMzLDB4ODAsMHgzNywweGUwLDB4MjgsMHg3OCwweDAzLDB4MWEsMHgwOCwweGY1LDB4OTAgfSwKLSAgMTYsIDB4OTA0MCwgMCwgezB4MzUsMHhlMCwweDBmLDB4N2MsMHgxMiwweGQ2LDB4ODIsMHhjNywweDkwLDB4MjEsMHhlNCwweDA4LDB4NzgsMHgwMywweDllLDB4MDAgfSwKLSAgMTYsIDB4OTA1MCwgMCwgezB4ZjUsMHg4MCwweDNkLDB4ZjEsMHgwZiwweDc4LDB4MDMsMHgyMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTA2MCwgMCwgezB4MDgsMHgxOSwweGE0LDB4MDAsMHhlZSwweDgwLDB4MzYsMHhjMSwweDRmLDB4ZDAsMHgwMywweGM4LDB4MDAsMHhmYiwweDAwLDB4M2UgfSwKLSAgMTYsIDB4OTA3MCwgMCwgezB4NTEsMHgwZiwweGIwLDB4MDMsMHhlNCwweDA4LDB4ZjEsMHg2MCwweDNlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhjNSwweDAwLDB4ZWIgfSwKLSAgMTYsIDB4OTA4MCwgMCwgezB4MTAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDA5LDB4NmMsMHgwMCwweGZiLDB4MDAsMHgzYSwweGMwLDB4MGYsMHhiMCwweDAzLDB4YzIgfSwKLSAgMTYsIDB4OTA5MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHhmZSwweDAwLDB4ZmQsMHg4OCwweDMzLDB4NjAgfSwKLSAgMTYsIDB4OTBhMCwgMCwgezB4MGYsMHhmOSwweDAzLDB4Y2UsMHg0MCwweGQ3LDB4ODQsMHgzNywweDcwLDB4MGMsMHhkOCwweDIzLDB4MzYsMHgwMCwweGM1LDB4ODggfSwKLSAgMTYsIDB4OTBiMCwgMCwgezB4MzMsMHhlMCwweDRmLDB4ZjgsMHgxMywweGY3LDB4MjgsMHhkZiwweDgwLDB4MzcsMHhlMiwweDBjLDB4NTgsMHgwMywweDNlLDB4MDAgfSwKLSAgMTYsIDB4OTBjMCwgMCwgezB4ZmYsMHg5MCwweDNmLDB4ZTAsMHgwYywweGY4LDB4MDMsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTBkMCwgMCwgezB4YTksMHgxMSwweDljLDB4MDgsMHhmNiwweDAwLDB4YTEsMHgwMCwweDBiLDB4NjMsMHgwMiwweGQ2LDB4MzAsMHg4NSwweDQxLDB4MzEgfSwKLSAgMTYsIDB4OTBlMCwgMCwgezB4YzgsMHgwOCwweDUwLDB4MjMsMHgxYywweDAwLDB4ZDUsMHgyMCwweGIxLDB4ODAsMHgwZiwweDcwLDB4MDMsMHhiNCwweDAwLDB4YzcgfSwKLSAgMTYsIDB4OTBmMCwgMCwgezB4MDAsMHgyMSwweGMwLDB4MGYsMHg0MCwweGEzLDB4NTgsMHg0MCwweGI3LDB4MDAsMHgzZiwweGM0LDB4MGEsMHhmMCwweDAyLDB4MmEgfSwKLSAgMTYsIDB4OTEwMCwgMCwgezB4MDYsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5YywweDQwLDB4YjcsMHgxMCwweDIxLDB4ZDIgfSwKLSAgMTYsIDB4OTExMCwgMCwgezB4MGIsMHg3MCwweDAyLDB4ZGMsMHg0MiwweDg2LDB4MDAsMHgyNSwweDYxLDB4MDgsMHg1MSwweDAyLDB4NTAsMHgwMCwweDk1LDB4MDAgfSwKLSAgMTYsIDB4OTEyMCwgMCwgezB4MjUsMHhjMCwweDA5LDB4NzAsMHg4MiwweGQ0LDB4MDAsMHg4NywweDAwLDB4MjQsMHhjMCwweDA4LDB4NTAsMHgwMiwweDVjLDB4MDAgfSwKLSAgMTYsIDB4OTEzMCwgMCwgezB4OTUsMHgwNCwweDJkLDB4YzAsMHgwOCwweDcwLDB4MDIsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTE0MCwgMCwgezB4MjAsMHgxNCwweGNjLDB4MDgsMHhiMiwweGQwLDB4MjAsMHhlMCwweDRiLDB4MDgsMHgwMiwweGM0LDB4MDAsMHg4MCwweDgwLDB4MjAgfSwKLSAgMTYsIDB4OTE1MCwgMCwgezB4ZjAsMHgwOCwweDFhLDB4MDIsMHg4NSwweDQ4LDB4ODEsMHgxMCwweDIwLDB4NDAsMHgwYSwweDMwLDB4MDIsMHhjNiwweDEwLDB4OTMgfSwKLSAgMTYsIDB4OTE2MCwgMCwgezB4MDAsMHgyMCwweGMwLDB4MGEsMHgxYywweDAyLDB4MGQsMHg0MCwweGIzLDB4MDAsMHg2OCwweGM0LDB4MGEsMHhiMCwweDAyLDB4MDkgfSwKLSAgMTYsIDB4OTE3MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhhYywweDAxLDB4ZmUsMHgwMCwweDMyLDB4ZjAgfSwKLSAgMTYsIDB4OTE4MCwgMCwgezB4MGYsMHg4OCwweDAzLDB4ZTYsMHgwMCwweGM4LDB4YzgsMHgzNiwweGY2LDB4MjgsMHhhNiwweDBhLDB4NmQsMHgwMCwweDlkLDB4MDAgfSwKLSAgMTYsIDB4OTE5MCwgMCwgezB4MzIsMHgwMCwweDBiLDB4YjAsMHgwMywweGY2LDB4MDMsMHhjNywweDAwLDB4MzcsMHhjMCwweDA4LDB4OWMsMHgwYSwweDZlLDB4MDAgfSwKLSAgMTYsIDB4OTFhMCwgMCwgezB4YmIsMHgwMCwweDJmLDB4YzAsMHgwYywweGYwLDB4MDMsMHgyYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTFiMCwgMCwgezB4ODAsMHgwMCwweGU0LDB4MDEsMHhlYiwweDQwLDB4M2UsMHg4MCwweDRmLDB4YzEsMHgwMywweGU0LDB4MDAsMHhiOCwweDA4LDB4M2EgfSwKLSAgMTYsIDB4OTFjMCwgMCwgezB4NDAsMHg4ZiwweGE0LDB4MTMsMHg2YywweDIwLDB4ZjksMHgwMCwweDNlLDB4NzAsMHgwZiwweGIwLDB4MDMsMHhhNCwweDQwLDB4ZWIgfSwKLSAgMTYsIDB4OTFkMCwgMCwgezB4MDAsMHgzZSwweGMwLDB4MGYsMHg5MiwweDIzLDB4ZTgsMHgwMCwweGY5LDB4ODAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDYzLDB4ZTAgfSwKLSAgMTYsIDB4OTFlMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmYywweDA4LDB4Y2UsMHgwOCwweDMzLDB4YzAgfSwKLSAgMTYsIDB4OTFmMCwgMCwgezB4MGYsMHhkYSwweDAzLDB4MzAsMHgwMCwweGU0LDB4MDQsMHgzNSwweGMwLDB4MGQsMHhhMCwweDAzLDB4MjgsMHgwMCwweGM1LDB4MDAgfSwKLSAgMTYsIDB4OTIwMCwgMCwgezB4MzMsMHgwMCwweDBiLDB4ZmEsMHgwMywweGY0LDB4MDMsMHhjYiwweDAwLDB4MzEsMHhjMCwweDBjLDB4ZDQsMHgwMywweDE0LDB4MjAgfSwKLSAgMTYsIDB4OTIxMCwgMCwgezB4Y2QsMHg4MCwweDIzLDB4YzEsMHgwYywweGYwLDB4MDIsMHgwOCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTIyMCwgMCwgezB4ODEsMHgwNCwweDQ0LDB4MTAsMHhjYiwweGQwLDB4MjIsMHhjMCwweDBiLDB4OTQsMHgwMiwweDIyLDB4ODQsMHhiOCwweGM2LDB4MDIgfSwKLSAgMTYsIDB4OTIzMCwgMCwgezB4NDAsMHgwOCwweDI4LDB4MDIsMHhhNSwweDgwLDB4ODksMHgwMCwweDIyLDB4NjAsMHgwYiwweGI4LDB4MDIsMHg2NCwweDAwLDB4OGIgfSwKLSAgMTYsIDB4OTI0MCwgMCwgezB4MDAsMHgyYSwweGMwLDB4YzgsMHgwMCwweDAzLDB4NjYsMHgwMCwweDgxLDB4MDAsMHgwMCwweGMwLDB4MGQsMHhiMCwweDBhLDB4YTggfSwKLSAgMTYsIDB4OTI1MCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyYywweDAwLDB4MTMsMHgwMCwweDIyLDB4NDAgfSwKLSAgMTYsIDB4OTI2MCwgMCwgezB4OGIsMHgyNCwweDAyLDB4MmEsMHgwMCwweGJiLDB4ODIsMHgyMiwweDQwLDB4MDAsMHhhYywweDAyLDB4ODQsMHgwMCwweDg5LDB4MDAgfSwKLSAgMTYsIDB4OTI3MCwgMCwgezB4MjIsMHgyMiwweDBiLDB4YjAsMHgwMiwweGM0LDB4MDAsMHg5YiwweDAwLDB4MmEsMHhjMCwweDA4LDB4YjAsMHgwMiwweDJlLDB4MDAgfSwKLSAgMTYsIDB4OTI4MCwgMCwgezB4OGIsMHgxMCwweDJhLDB4YzAsMHgwOCwweGIwLDB4MDIsMHhhMCwweDEwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTI5MCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MTAsMHg4MywweDAwLDB4MjAsMHgwMSwweDBiLDB4MjAsMHgwMiwweDAwLDB4ODAsMHhiMSwweDAwLDB4MjAgfSwKLSAgMTYsIDB4OTJhMCwgMCwgezB4YzEsMHgwOCwweDIwLDB4MDIsMHg4OCwweDAxLDB4ODEsMHgwMCwweGEwLDB4MDAsMHgwYiwweDMwLDB4MDIsMHg0NCwweDAxLDB4OWIgfSwKLSAgMTYsIDB4OTJiMCwgMCwgezB4MDAsMHgyOCwweGMwLDB4MDgsMHhiMCwweDAyLDB4NDgsMHgwNiwweDg5LDB4MDAsMHgyYSwweGMwLDB4MDksMHgzMCwweDAyLDB4ODIgfSwKLSAgMTYsIDB4OTJjMCwgMCwgezB4MDUsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OGQsMHg2YywweDAwLDB4YzMsMHgwMCwweGIyLDB4YzAgfSwKLSAgMTYsIDB4OTJkMCwgMCwgezB4MGYsMHhiMCwweDAzLDB4MjgsMHgyMCwweGZhLDB4MDAsMHhiMSwweDQwLDB4MGQsMHhhMCwweDA3LDB4YTAsMHgwMCwweGNkLDB4MDAgfSwKLSAgMTYsIDB4OTJlMCwgMCwgezB4MjIsMHgwMCwweDBmLDB4YjAsMHgwMywweGY0LDB4MDAsMHg5ZiwweDAwLDB4M2IsMHhjMCwweDJjLDB4YjAsMHgwYiwweDI0LDB4MDAgfSwKLSAgMTYsIDB4OTJmMCwgMCwgezB4YzksMHgwMCwweGJhLDB4YzAsMHgwYywweGIwLDB4MDMsMHg4MCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTMwMCwgMCwgezB4YTAsMHgxZCwweGZjLDB4MDYsMHhmZiwweDAyLDB4YWYsMHhjMCwweDBmLDB4YzAsMHgwMywweGYwLDB4MTAsMHhmYywweDAwLDB4M2YgfSwKLSAgMTYsIDB4OTMxMCwgMCwgezB4YzAsMHg5ZiwweGUwLDB4MTMsMHhmMCwweDAwLDB4ZmQsMHgwNCwweDNmLDB4NDAsMHg0ZiwweGYwLDB4MDMsMHg3NCwweDAwLDB4ZWYgfSwKLSAgMTYsIDB4OTMyMCwgMCwgezB4MDAsMHgzZiwweGMwLDB4OGYsMHhlMCwweDAyLDB4YjQsMHgwMSwweGZkLDB4MDQsMHgzNywweGMwLDB4MGYsMHhmMCwweDQzLDB4NjggfSwKLSAgMTYsIDB4OTMzMCwgMCwgezB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmYywweDAwLDB4YzcsMHgyMCwweGIzLDB4YzggfSwKLSAgMTYsIDB4OTM0MCwgMCwgezB4MWMsMHhmMSwweDAzLDB4N2MsMHgyMCwweGNmLDB4MGEsMHgzZiwweGQwLDB4MGQsMHhmMCwweDAzLDB4N2MsMHg4MCwweDhmLDB4MzIgfSwKLSAgMTYsIDB4OTM1MCwgMCwgezB4MzMsMHhjNCwweDBmLDB4ZjEsMHg4MywweDNjLDB4ZTAsMHhjZiwweDEwLDB4MzMsMHhjNCwweDBkLDB4ZjIsMHg4MywweDNjLDB4ZTIgfSwKLSAgMTYsIDB4OTM2MCwgMCwgezB4YzcsMHg4MCwweDE3LDB4Y2MsMHg0YywweGYzLDB4ODMsMHgzMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTM3MCwgMCwgezB4ODAsMHgxMCwweGUzLDB4NDAsMHg4OCwweDY4LDB4MjIsMHgzMCwweDA4LDB4MDYsMHgwMiwweDAxLDB4YTEsMHg4OCwweGM0LDB4MGUgfSwKLSAgMTYsIDB4OTM4MCwgMCwgezB4MTQsMHgwOCwweDg3LDB4ODAsMHgwMSwweGMwLDB4MjgsMHg1MCwweDAyLDB4MDQsMHg4YiwweDg2LDB4MDIsMHhhMSwweDk4LDB4ODggfSwKLSAgMTYsIDB4OTM5MCwgMCwgezB4NDEsMHgyYSwweDA0LDB4MGEsMHg4NCwweDgyLDB4YmQsMHg4MCwweDhiLDB4MDgsMHgyYiwweGM0LDB4ODgsMHhmNCwweDAzLDB4NjAgfSwKLSAgMTYsIDB4OTNhMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjYywweDA4LDB4ODIsMHg0MCwweDIwLDB4MTAgfSwKLSAgMTYsIDB4OTNiMCwgMCwgezB4MDgsMHgyMSwweDEyLDB4NDQsMHgwNCwweDgyLDB4MDQsMHgyYywweDA4LDB4ODksMHg5MCwweDAyLDB4NDQsMHgyMSwweDhiLDB4MDAgfSwKLSAgMTYsIDB4OTNjMCwgMCwgezB4MjQsMHg4OCwweDhiLDB4YTAsMHgwMCwweDQwLDB4ODQsMHg4OSwweDMwLDB4MjIsMHg0OCwweDg4LDB4YjAsMHgwMiwweGNjLDB4MDggfSwKLSAgMTYsIDB4OTNkMCwgMCwgezB4ODgsMHgyMCwweGE0LDB4YzgsMHgwMCwweDMyLDB4MGEsMHgyMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTNlMCwgMCwgezB4YzAsMHgxNSwweGEwLDB4MDAsMHg4OSwweDAwLDB4MjIsMHhjMSwweDg4LDB4OTAsMHg2MiwweDI4LDB4MDgsMHg4OSwweDA4LDB4MmUgfSwKLSAgMTYsIDB4OTNmMCwgMCwgezB4YzAsMHgwOCwweGEwLDB4MDIsMHgyOCwweDA4LDB4YTgsMHgwMCwweDI2LDB4NDIsMHgwYiwweDkwLDB4MDIsMHhjYywweDUwLDB4OGEgfSwKLSAgMTYsIDB4OTQwMCwgMCwgezB4MjIsMHgyYSwweDg2LDB4MGEsMHg4MCwweDAyLDB4ZWMsMHgwMCwweDg4LDB4ODQsMHgyYSwweGMxLDB4MDgsMHhiMCwweDI2LDB4MzAgfSwKLSAgMTYsIDB4OTQxMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhmMCwweDAyLDB4Y2YsMHgwMCwweDMzLDB4YzAgfSwKLSAgMTYsIDB4OTQyMCwgMCwgezB4NDgsMHhmOCwweDQzLDB4NzksMHgwMCwweDhkLDB4YzAsMHgzZiwweDMwLDB4OGQsMHg2MCwweDgzLDB4NzgsMHg2MCwweGM0LDB4NTggfSwKLSAgMTYsIDB4OTQzMCwgMCwgezB4MzcsMHgyMCwweDBmLDB4NTgsMHgxMywweDdiLDB4MDIsMHhjYywweGM0LDB4MzEsMHgyMCwweDBjLDB4NDQsMHgwMywweGVjLDB4MDIgfSwKLSAgMTYsIDB4OTQ0MCwgMCwgezB4OGIsMHg4MCwweDM2LDB4YzAsMHgyNCwweGIwLDB4MTIsMHgxMCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTQ1MCwgMCwgezB4ZTAsMHgwMSwweDljLDB4MDAsMHhmNCwweDEwLDB4M2QsMHgwMCwweDZmLDB4YzksMHgxMywweGQ0LDB4MTIsMHhmZSwweDkwLDB4M2YgfSwKLSAgMTYsIDB4OTQ2MCwgMCwgezB4ZjAsMHgwZiwweGRhLDB4MjMsMHhmNCwweDE0LDB4ZmYsMHgwMiwweDNiLDB4ZjAsMHgwZiwweGVhLDB4MjMsMHhiNiwweDAwLDB4ZmYgfSwKLSAgMTYsIDB4OTQ3MCwgMCwgezB4ODIsMHgzZiwweGUxLDB4OGYsMHhmNCwweDAzLDB4YmMsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMwLDB4YWYsMHg3MCwweDAzLDB4ZjggfSwKLSAgMTYsIDB4OTQ4MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhMCwweDAwLDB4Y2EsMHgwMCwweDMyLDB4MDggfSwKLSAgMTYsIDB4OTQ5MCwgMCwgezB4MWMsMHhhMCwweDAzLDB4YTUsMHgyMCwweGNiLDB4NDAsMHhiYSwweDEwLDB4MWYsMHhiMCwweDAzLDB4YWMsMHgwMCwweGViLDB4MDAgfSwKLSAgMTYsIDB4OTRhMCwgMCwgezB4NzIsMHg5MCwweDBjLDB4YjQsMHgwMywweDI5LDB4MDQsMHhjOSwweDUyLDB4MzIsMHg1MCwweDBjLDB4YjQsMHgwMywweDBjLDB4MDAgfSwKLSAgMTYsIDB4OTRiMCwgMCwgezB4ZjgsMHg0MCwweDMyLDB4YzEsMHgwZSwweGIwLDB4MGIsMHg1MCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTRjMCwgMCwgezB4YzgsMHgwNSwweDJkLDB4ODAsMHg4OSwweDgwLDB4MjIsMHhkOSwweDA4LDB4OTAsMHgyMiwweDJhLDB4MDAsMHg4OCwweDU0LDB4MjIgfSwKLSAgMTYsIDB4OTRkMCwgMCwgezB4YzAsMHg4YiwweDgwLDB4MjIsMHgyMCwweDE5LDB4YzgsMHgwMCwweDIyLDB4NDAsMHg4ZCwweDgwLDB4MWEsMHgyNCwweDEwLDB4ZDIgfSwKLSAgMTYsIDB4OTRlMCwgMCwgezB4NDQsMHgyMiwweDgxLDB4MGQsMHg4MCwweDAzLDB4N2MsMHgwMCwweGIwLDB4MDAsMHgzNywweGMwLDB4ODgsMHhmMCwweDAyLDB4MzIgfSwKLSAgMTYsIDB4OTRmMCwgMCwgezB4MTAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0ZSwweDAwLDB4ODEsMHgwMCwweGEwLDB4ZjAgfSwKLSAgMTYsIDB4OTUwMCwgMCwgezB4MDgsMHg5MCwweDAyLDB4ODksMHgwMiwweDgwLDB4MDAsMHgyMiwweGMwLDB4MGIsMHgwMCwweDIyLDB4YTAsMHgwMCwweGIwLDB4MDAgfSwKLSAgMTYsIDB4OTUxMCwgMCwgezB4MjAsMHg0MCwweDA4LDB4MDAsMHgwMiwweDA0LDB4MDAsMHg4MiwweDYwLDB4MjAsMHg4MCwweDA4LDB4MDAsMHgwMiwweDBjLDB4MDggfSwKLSAgMTYsIDB4OTUyMCwgMCwgezB4YjIsMHgwMCwweDIyLDB4YzAsMHgwOCwweDMwLDB4MDIsMHgzOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTUzMCwgMCwgezB4MjAsMHgwMSwweDAzLDB4MTAsMHg4ZSwweDkwLDB4MjMsMHgyNCwweDA4LDB4NmIsMHgwMiwweDE2LDB4NjAsMHg4ZiwweDgwLDB4MjEgfSwKLSAgMTYsIDB4OTU0MCwgMCwgezB4MjgsMHgwYiwweGY5LDB4MDYsMHgxZSwweDQwLDB4OGYsMHg4MCwweDIzLDB4YTQsMHg0OSwweDc5LDB4MDIsMHgzYSwweDQwLDB4OWQgfSwKLSAgMTYsIDB4OTU1MCwgMCwgezB4OTAsMHgyMywweDY0LDB4MDksMHhmOCwweDAyLDB4NWUsMHg0MCwweGJlLDB4OTAsMHgyNCwweGU0LDB4MjgsMHg3OSwweDAyLDB4MDggfSwKLSAgMTYsIDB4OTU2MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDQyLDB4YzAsMHgwOSwweDMwLDB4MDAgfSwKLSAgMTYsIDB4OTU3MCwgMCwgezB4MjgsMHgwMiwweDAzLDB4ODQsMHgwMCwweDhhLDB4MjAsMHgzMCwweGM0LDB4OGIsMHgxMSwweDAzLDB4ODQsMHg1MCwweGIzLDB4MDAgfSwKLSAgMTYsIDB4OTU4MCwgMCwgezB4MjAsMHhjMCwweDBjLDB4YTQsMHgyMiwweDA0LDB4MDAsMHhjYiwweDQwLDB4MzAsMHhjNSwweDBjLDB4MzAsMHgwMywweDBlLDB4NDAgfSwKLSAgMTYsIDB4OTU5MCwgMCwgezB4ZjMsMHgxMCwweDMwLDB4YzQsMHgwYywweGIwLDB4MDMsMHgxMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTVhMCwgMCwgezB4NDAsMHgxZCwweGIwLDB4MDQsMHhmYiwweDA0LDB4M2QsMHhjMCwweDBmLDB4ZjIsMHg0MywweGY4LDB4MDQsMHhmZCwweDAxLDB4M2YgfSwKLSAgMTYsIDB4OTViMCwgMCwgezB4MGMsMHgwZiwweDYxLDB4MDMsMHhmOCwweDQ4LDB4ZjQsMHgwMCwweDNkLDB4MDEsMHgwZiwweGQwLDB4MDMsMHhjOCwweDAwLDB4ZmMgfSwKLSAgMTYsIDB4OTVjMCwgMCwgezB4MDQsMHhiZCwweDA0LDB4MGIsMHg0OCwweDAzLDB4ZmMsMHgxOCwweGZmLDB4MTQsMHgzZiwweGQ1LDB4MGQsMHhmMCwweDAzLDB4OTAgfSwKLSAgMTYsIDB4OTVkMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlMCwweDAwLDB4ZjksMHgwMSwweDMyLDB4YzAgfSwKLSAgMTYsIDB4OTVlMCwgMCwgezB4OGUsMHg5MCwweDAzLDB4MjgsMHgwMiwweGQxLDB4MDAsMHgzMiwweGMwLDB4MGQsMHhhOCwweDBiLDB4MDgsMHgwMCwweGU4LDB4MDAgfSwKLSAgMTYsIDB4OTVmMCwgMCwgezB4MmUsMHg0MCwweDBjLDB4OTgsMHgwYiwweDJlLDB4MDIsMHhjYSwweDAwLDB4YjIsMHhhMCwweDZjLDB4ODAsMHgyMywweDJkLDB4ODAgfSwKLSAgMTYsIDB4OTYwMCwgMCwgezB4Y2EsMHg4MCwweDMyLDB4ZDAsMHgwYywweGJhLDB4MDMsMHgyYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTYxMCwgMCwgezB4NDgsMHgxMSwweDljLDB4MDAsMHhiNiwweDAwLDB4YTMsMHgwMCwweDA4LDB4NjAsMHgwMiwweDA0LDB4MDAsMHg4NiwweDA0LDB4MjkgfSwKLSAgMTYsIDB4OTYyMCwgMCwgezB4MDAsMHgwOCwweDUwLDB4NDIsMHgxNCwweDA0LDB4YTcsMHgwMCwweDBkLDB4ODAsMHg0YSwweDYwLDB4MDIsMHgwMCwweDAwLDB4ODEgfSwKLSAgMTYsIDB4OTYzMCwgMCwgezB4MDAsMHgyMSwweDQwLDB4MDgsMHg3MCwweDAyLDB4OWQsMHg0MiwweDg2LDB4MDEsMHgyMCwweGMwLDB4MDgsMHgzMiwweDgyLDB4MTIgfSwKLSAgMTYsIDB4OTY0MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5MiwweDAwLDB4YmMsMHg4MCwweDYzLDB4MjAgfSwKLSAgMTYsIDB4OTY1MCwgMCwgezB4ODIsMHgwOCwweDAyLDB4NTIsMHgwMCwweDg0LDB4YzIsMHgyMywweDIwLDB4ODgsMHgwYywweDAyLDB4MzMsMHgwMCwweDg0LDB4ODAgfSwKLSAgMTYsIDB4OTY2MCwgMCwgezB4MmYsMHgyMSwweDg5LDB4NGMsMHgwMiwweDEyLDB4MTQsMHg5NCwweGM1LDB4NjQsMHgyMSwweDA4LDB4NGMsMHgwMiwweDBlLDB4ODAgfSwKLSAgMTYsIDB4OTY3MCwgMCwgezB4OTcsMHg4MiwweGExLDB4ZWMsMHgwOCwweDc5LDB4MDIsMHgzMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTY4MCwgMCwgezB4NDgsMHgxNCwweGNkLDB4NDQsMHhiMywweDAwLDB4MjAsMHhjMCwweDA4LDB4MzAsMHgwMiwweDRkLDB4ODAsMHgwMywweDg4LDB4MjggfSwKLSAgMTYsIDB4OTY5MCwgMCwgezB4YzAsMHgwOCwweDNjLDB4MDYsMHgwZiwweDAwLDB4YTMsMHg0MywweDJjLDB4YzIsMHgxYiwweDM4LDB4MDIsMHgwZiwweDAwLDB4OWIgfSwKLSAgMTYsIDB4OTZhMCwgMCwgezB4ODgsMHg2NCwweGQwLDB4MDgsMHhiOCwweDAyLDB4OGMsMHgxMCwweDkzLDB4MDAsMHgyMCwweGMwLDB4MDgsMHgzMCwweDBhLDB4MTIgfSwKLSAgMTYsIDB4OTZiMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhYSwweDAwLDB4ZmEsMHgwNSwweDMyLDB4ODAgfSwKLSAgMTYsIDB4OTZjMCwgMCwgezB4OGUsMHhhMCwweDBiLDB4NjksMHgwMCwweGNhLDB4NDAsMHgzMiwweGEwLDB4M2MsMHhhOCwweDAzLDB4MmEsMHgwMCwweGVhLDB4MjYgfSwKLSAgMTYsIDB4OTZkMCwgMCwgezB4M2UsMHhiMCwweDBkLDB4YTEsMHg2MywweDI4LDB4MjAsMHhjYSwweDQwLDB4MzYsMHhhMCwweDBjLDB4ZTAsMHgxMywweDI4LDB4MDkgfSwKLSAgMTYsIDB4OTZlMCwgMCwgezB4ZGUsMHgwMCwweDMyLDB4ODAsMHgyYywweGEwLDB4MDMsMHgzYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTZmMCwgMCwgezB4NDgsMHgwMCwweGYwLDB4MjAsMHhmNCwweDAwLDB4M2YsMHgwMCwweDBmLDB4NDAsMHgyMywweGIwLDB4MDAsMHhlYywweDAwLDB4M2YgfSwKLSAgMTYsIDB4OTcwMCwgMCwgezB4MDYsMHgxZSwweGMyLDB4MTMsMHhmMCwweDg4LDB4ZmMsMHgyMCwweDNmLDB4MDQsMHg4ZSwweGMwLDB4MDMsMHhmMCwweDgwLDB4ZWMgfSwKLSAgMTYsIDB4OTcxMCwgMCwgezB4NDAsMHgzYiwweDBjLDB4MGYsMHhjMCwweGEzLDB4ZTAsMHgwMCwweGU4LDB4MDAsMHgzZSwweDAwLDB4NGYsMHg4MCwweDAzLDB4ZDIgfSwKLSAgMTYsIDB4OTcyMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDAwLDB4ZjksMHgwMCwweDMyLDB4NDAgfSwKLSAgMTYsIDB4OTczMCwgMCwgezB4MGMsMHg5MCwweDAzLDB4MjQsMHgwMCwweGM5LDB4ODAsMHgzMiwweDQwLDB4MGYsMHg5MCwweDUzLDB4ZTQsMHgxMCwweGM5LDB4MDAgfSwKLSAgMTYsIDB4OTc0MCwgMCwgezB4MzIsMHg0MCwweDBkLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4MzYsMHg0MCwweDhmLDB4OTAsMHgwMywweDI0LDB4MTAgfSwKLSAgMTYsIDB4OTc1MCwgMCwgezB4YzksMHgwMSwweDNjLDB4NDAsMHgwYywweDkwLDB4MDMsMHhjMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTc2MCwgMCwgezB4ODAsMHgwNCwweDQ3LDB4NDQsMHg4OSwweDAwLDB4MjAsMHg0MCwweDA4LDB4OTAsMHgwMiwweDI1LDB4MGEsMHg4MSwweDEwLDB4MjIgfSwKLSAgMTYsIDB4OTc3MCwgMCwgezB4NDAsMHg0OCwweDkwLDB4MDMsMHhjNCwweDAwLDB4ODksMHgwMCwweDc2LDB4NDAsMHgyOCwweDkwLDB4MDIsMHhlNCwweDEwLDB4YjkgfSwKLSAgMTYsIDB4OTc4MCwgMCwgezB4NDAsMHhiMiwweDQwLDB4MGIsMHg5MCwweDAzLDB4NjQsMHgwMCwweDg5LDB4MDAsMHgyZSwweDQxLDB4MDgsMHg5MCwweDQyLDB4ZTAgfSwKLSAgMTYsIDB4OTc5MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNCwweDAyLDB4YmQsMHgwMCwweDIzLDB4NDggfSwKLSAgMTYsIDB4OTdhMCwgMCwgezB4MDgsMHhkMCwweDA2LDB4MWQsMHgwNCwweDhkLDB4MDAsMHgyOSwweGMwLDB4NGEsMHhkMCwweDIyLDB4ZjQsMHgwMCwweDg1LDB4MDAgfSwKLSAgMTYsIDB4OTdiMCwgMCwgezB4NjEsMHg0MCwweDE4LDB4ZDAsMHgxMiwweGZjLDB4MDAsMHhiZCwweDQwLDB4YTMsMHg0MCwweDRiLDB4ZjAsMHgwMiwweDA0LDB4MDEgfSwKLSAgMTYsIDB4OTdjMCwgMCwgezB4OGIsMHgwMCwweDJlLDB4NDAsMHgwOCwweDkwLDB4MDIsMHhjNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTdkMCwgMCwgezB4MDgsMHgwNCwweDM2LDB4ODAsMHg4NSwweDIwLDB4YTMsMHg0OCwweDA4LDB4NTIsMHgwYSwweDE0LDB4ODEsMHg4NSwweDIwLDB4MjkgfSwKLSAgMTYsIDB4OTdlMCwgMCwgezB4NDgsMHgwOCwweDUyLDB4MDIsMHhiNCwweDgwLDB4ODUsMHgyMCwweDI1LDB4NDgsMHg4OCwweDUyLDB4MDIsMHhkNCwweDgwLDB4YjUgfSwKLSAgMTYsIDB4OTdmMCwgMCwgezB4MjAsMHgyMSwweDQ4LDB4MGIsMHg1MiwweDAyLDB4NDQsMHhhMiwweDgxLDB4MDAsMHgyYywweDRhLDB4MDgsMHgxMiwweDgyLDB4YzIgfSwKLSAgMTYsIDB4OTgwMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDAwLDB4ZjgsMHg1MSwweDIyLDB4MDAgfSwKLSAgMTYsIDB4OTgxMCwgMCwgezB4MmMsMHg4NSwweDAyLDB4MjEsMHg0OCwweGM4LDB4MDAsMHhiYSwweDE0LDB4MGYsMHg4NSwweDEyLDB4ZTEsMHg0MiwweGM4LDB4NTAgfSwKLSAgMTYsIDB4OTgyMCwgMCwgezB4MjIsMHgwMCwweDBjLDB4MDAsMHgwMywweGUwLDB4MDAsMHhmOCwweDUwLDB4MzIsMHgwMCwweDA3LDB4NDUsMHgwMywweDIwLDB4ODAgfSwKLSAgMTYsIDB4OTgzMCwgMCwgezB4YzAsMHgwMSwweDNlLDB4MDgsMHgyYywweDgyLDB4MDMsMHhlZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTg0MCwgMCwgezB4OTgsMHgwZCwweGU0LDB4NDAsMHhmMSwweDEwLDB4M2UsMHg0NCwweDA3LDB4OTEsMHg0MywweGU0LDB4NTgsMHhmOSwweDExLDB4MzQgfSwKLSAgMTYsIDB4OTg1MCwgMCwgezB4NDQsMHg0ZiwweDkxLDB4MDIsMHhlNCwweDUwLDB4ZjksMHgxMCwweDNjLDB4NGYsMHgwZiwweDkzLDB4ODMsMHhlNCwweGYwLDB4ZjkgfSwKLSAgMTYsIDB4OTg2MCwgMCwgezB4MTEsMHgzYSwweDRmLDB4MGYsMHg5MSwweDAzLDB4ZTQsMHhhMCwweGZkLDB4MjgsMHgzZSwweDRhLDB4MGYsMHg5MiwweDgzLDB4ZTYgfSwKLSAgMTYsIDB4OTg3MCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhmNiwweGEwLDB4Y2QsMHhhMCwweGIzLDB4NjggfSwKLSAgMTYsIDB4OTg4MCwgMCwgezB4OGMsMHg5YSwweDAzLDB4MzYsMHg4MCwweGM1LDB4YTAsMHgyMiwweDYwLDB4MGMsMHg5YSwweDIzLDB4MjYsMHgwNCwweGY5LDB4YTAgfSwKLSAgMTYsIDB4OTg5MCwgMCwgezB4MzIsMHg2NiwweDBjLDB4OWEsMHg4MywweDA2LDB4MjAsMHhjNSwweGEwLDB4MjIsMHg2MCwweDBjLDB4OWIsMHgwMywweDI2LDB4NDggfSwKLSAgMTYsIDB4OThhMCwgMCwgezB4YzksMHgwMCwweDNlLDB4NzgsMHgwYywweDlhLDB4MDMsMHgwNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OThiMCwgMCwgezB4MzgsMHgwMCwweGUxLDB4MDAsMHg4OCwweDQ0LDB4MjIsMHg5NSwweDA4LDB4ODUsMHgxMiwweGExLDB4NDIsMHg4OCwweDQwLDB4MDIgfSwKLSAgMTYsIDB4OThjMCwgMCwgezB4OTAsMHgwOCwweDg0LDB4MDIsMHgyMywweGEwLDB4YmEsMHg0MCwweDIyLDB4YTAsMHgwOCwweDhlLDB4OTIsMHhhMywweGEwLDB4YTggfSwKLSAgMTYsIDB4OThkMCwgMCwgezB4NDAsMHgyYSwweDEwLDB4MDgsMHhhZSwweDAyLDB4MjMsMHg0MCwweDg4LDB4MDAsMHgyZSwweDM4LDB4MDgsMHg4NCwweDEyLDB4MGUgfSwKLSAgMTYsIDB4OThlMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTUsMHhjNCwweDAwLDB4OGIsMHgxMiwweDIyLDB4NDAgfSwKLSAgMTYsIDB4OThmMCwgMCwgezB4MDgsMHg5MCwweDAyLDB4NDQsMHgwMCwweDgxLDB4NDAsMHhhMCwweDUwLDB4MDgsMHgxMSwweDBhLDB4MDUsMHgwMCwweGIxLDB4MTAgfSwKLSAgMTYsIDB4OTkwMCwgMCwgezB4YTAsMHg0OCwweDA4LDB4OTAsMHgwMiwweDA0LDB4MDAsMHg4MSwweDQwLDB4MjAsMHg1MCwweDI4LDB4MTEsMHgwMiwweDQ0LDB4ODIgfSwKLSAgMTYsIDB4OTkxMCwgMCwgezB4ODEsMHgwMCwweDJjLDB4NTAsMHgwOCwweDExLDB4MDIsMHgwMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTkyMCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MDIsMHg4OSwweDQwLDB4MjIsMHg0MCwweDA4LDB4OTQsMHgxMiwweGE1LDB4MDAsMHg4OSwweDI4LDB4MjIgfSwKLSAgMTYsIDB4OTkzMCwgMCwgezB4NDksMHgwOCwweDk0LDB4MDIsMHgyNCwweDQ4LDB4YjksMHgxNCwweDIyLDB4NDAsMHgwOCwweDk0LDB4MDIsMHhhNCwweDQwLDB4YTEgfSwKLSAgMTYsIDB4OTk0MCwgMCwgezB4NTAsMHgyYSwweDUwLDB4MDgsMHg5MSwweDQyLDB4NjQsMHgwMCwweDg5LDB4NDAsMHgyZSwweDQwLDB4MDgsMHgxMCwweDAyLDB4MDYgfSwKLSAgMTYsIDB4OTk1MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNCwweDAwLDB4YzksMHgwMCwweDMwLDB4NzAgfSwKLSAgMTYsIDB4OTk2MCwgMCwgezB4MmMsMHgxMCwweDBiLDB4NjYsMHgwMCwweGM5LDB4NDAsMHgzMiwweDUwLDB4MGMsMHg5MCwweDAzLDB4MjYsMHgyMCwweGY5LDB4YzAgfSwKLSAgMTYsIDB4OTk3MCwgMCwgezB4MzIsMHg3MCwweDBjLDB4OTAsMHgwMywweDI2LDB4MjAsMHhjOSwweDAwLDB4MzIsMHg0MCwweDBjLDB4OWMsMHgwMywweDY0LDB4MDAgfSwKLSAgMTYsIDB4OTk4MCwgMCwgezB4YzksMHg0MSwweDNlLDB4NDAsMHgyYywweDkwLDB4MGIsMHgyOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OTk5MCwgMCwgezB4MjgsMHgwMSwweGE0LDB4MDAsMHhmOSwweDA0LDB4M2UsMHg0OCwweDBmLDB4OTAsMHgwMywweGU0LDB4ODgsMHhmOSwweDAwLDB4MzQgfSwKLSAgMTYsIDB4OTlhMCwgMCwgezB4NDEsMHgyZiwweDljLDB4MDMsMHhlNCwweDEwLDB4ZjksMHgwMCwweDNlLDB4NDQsMHgyZiwweDk5LDB4MDMsMHhlNCwweDEwLDB4ZjkgfSwKLSAgMTYsIDB4OTliMCwgMCwgezB4MDAsMHgzZSwweDUwLDB4MGYsMHgxMCwweDRiLDB4YTQsMHgxMCwweGY5LDB4MjAsMHgzYywweDQwLDB4MGYsMHg5MCwweDAzLDB4NGEgfSwKLSAgMTYsIDB4OTljMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMCwweDAwLDB4YzgsMHgwMCwweDNlLDB4MTAgfSwKLSAgMTYsIDB4OTlkMCwgMCwgezB4MmMsMHg4MCwweDAzLDB4MjAsMHgwMiwweGMwLDB4NDAsMHgzMiwweDAwLDB4MWMsMHgwNCwweDBmLDB4MjEsMHgwMCwweGMwLDB4MDQgfSwKLSAgMTYsIDB4OTllMCwgMCwgezB4MzgsMHgwMCwweDBmLDB4ODAsMHgwMywweDIxLDB4MDgsMHhjOCwweDYwLDB4MzAsMHgxMCwweDBmLDB4ODAsMHgwMiwweDIwLDB4MDAgfSwKLSAgMTYsIDB4OTlmMCwgMCwgezB4ZjgsMHgwMCwweDMyLDB4MDAsMHgwYywweDgwLDB4MDMsMHhjYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWEwMCwgMCwgezB4MjgsMHgwNSwweDFhLDB4MjAsMHg4MiwweDA0LDB4MmYsMHg4MCwweDA4LDB4YTAsMHgwMiwweDM4LDB4MDAsMHg4ZSwweDgwLDB4MjIgfSwKLSAgMTYsIDB4OWExMCwgMCwgezB4ODAsMHgwOCwweGUwLDB4MDIsMHgyOCwweDAwLDB4OGEsMHgwMCwweDIyLDB4ODEsMHgwYiwweDIwLDB4MDIsMHgyOCwweDAwLDB4ZGUgfSwKLSAgMTYsIDB4OWEyMCwgMCwgezB4ZTQsMHgzNiwweDgwLDB4MGIsMHhhMCwweDQyLDB4MjgsMHgwMCwweGJhLDB4MDQsMHgyMiwweDgwLDB4MDgsMHhhMCwweDAyLDB4Y2EgfSwKLSAgMTYsIDB4OWEzMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAwLDB4ODMsMHgwMSwweDJjLDB4ODAgfSwKLSAgMTYsIDB4OWE0MCwgMCwgezB4MDgsMHgzMCwweDAyLDB4MmUsMHg2MCwweDgyLDB4OTAsMHhhMCwweGMwLDB4NDgsMHgzMCwweDAyLDB4MGMsMHgwMiwweDgzLDB4MDAgfSwKLSAgMTYsIDB4OWE1MCwgMCwgezB4MjgsMHhjMCwweDBiLDB4MzAsMHgwYSwweDJjLDB4MDAsMHg4MywweGMyLDB4MjAsMHhjMCwweDBiLDB4MzAsMHgyYSwweDJjLDB4MDAgfSwKLSAgMTYsIDB4OWE2MCwgMCwgezB4YjMsMHgwMCwweGEwLDB4YzAsMHgwOCwweDMwLDB4MDIsMHhjYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWE3MCwgMCwgezB4YTAsMHgwMSwweDNjLDB4MDAsMHg4NywweDAxLDB4MmQsMHhjMiwweDA4LDB4ZjMsMHgxMiwweDNjLDB4MDAsMHg4ZiwweDAxLDB4MjEgfSwKLSAgMTYsIDB4OWE4MCwgMCwgezB4YzgsMHg2OCwweDcyLDB4MjIsMHgxZSwweDA0LDB4ODcsMHgyMCwweDIxLDB4YzQsMHgwYiwweDcwLDB4MDIsMHgzYywweDg0LDB4OWYgfSwKLSAgMTYsIDB4OWE5MCwgMCwgezB4MDAsMHgyNSwweGM0LDB4NGIsMHg3MCwweDAyLDB4MWMsMHgwNCwweGI3LDB4ODEsMHgyMSwweGM4LDB4MDgsMHg3MiwweDAyLDB4ZTggfSwKLSAgMTYsIDB4OWFhMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDAsMHgxZSwweDAwLDB4YzcsMHg4MSwweDNjLDB4YTAgfSwKLSAgMTYsIDB4OWFiMCwgMCwgezB4NGMsMHg3YSwweDBiLDB4MWEsMHgwMCwweGM2LDB4ODAsMHgzMCwweGUwLDB4MDgsMHhmOCwweDgyLDB4MGUsMHg0MCwweGNmLDB4ZjAgfSwKLSAgMTYsIDB4OWFjMCwgMCwgezB4MzksMHhlOCwweDBmLDB4M2EsMHgwMywweDFlLDB4MjAsMHhjNywweDgwLDB4MzEsMHhlMywweDBmLDB4MzgsMHgyMywweDFmLDB4MDggfSwKLSAgMTYsIDB4OWFkMCwgMCwgezB4ZmYsMHhjMCwweDMzLDB4ZjIsMHgwYywweDdlLDB4MDMsMHhlYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWFlMCwgMCwgezB4MDgsMHgxNSwweDg4LDB4MGEsMHg3YiwweDAwLDB4M2UsMHhjMSwweDBiLDB4MzQsMHgyMywweGM4LDB4MTAsMHhmYiwweDAyLDB4M2UgfSwKLSAgMTYsIDB4OWFmMCwgMCwgezB4Y2EsMHgwZiwweGI3LDB4NDMsMHhlYywweDgwLDB4ZmIsMHgwMCwweDJlLDB4YzIsMHgwYiwweGI0LDB4ODMsMHhlZCwweGQwLDB4ZmEgfSwKLSAgMTYsIDB4OWIwMCwgMCwgezB4MDAsMHgzZSwweGQ5LDB4MGYsMHhiMywweDgzLDB4ZWMsMHg4MCwweGJiLDB4MjAsMHgzZSwweGQ4LDB4MmYsMHhiNCwweDAzLDB4YzIgfSwKLSAgMTYsIDB4OWIxMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmZSwweDAwLDB4ZjUsMHg5MSwweDMxLDB4YTAgfSwKLSAgMTYsIDB4OWIyMCwgMCwgezB4MGMsMHhmYywweDAzLDB4ZmUsMHgwMCwweGM0LDB4ODEsMHgzMSwweGVlLDB4OGQsMHhmOCwweDBhLDB4M2UsMHgzMCwweGNmLDB4ODQgfSwKLSAgMTYsIDB4OWIzMCwgMCwgezB4MzMsMHhlMCwweDJjLDB4ZjgsMHg4MywweGZlLDB4MTAsMHhmZSwweDgwLDB4MzMsMHhlMCwweDBjLDB4ZjksMHgxOSwweDNmLDB4NDggfSwKLSAgMTYsIDB4OWI0MCwgMCwgezB4Y2YsMHhjMCwweDMzLDB4ZTAsMHgwNCwweGZjLDB4MDMsMHhjMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWI1MCwgMCwgezB4YTgsMHgxMSwweDljLDB4MDgsMHhiNywweGExLDB4MjEsMHhjOCwweDA4LDB4NzEsMHgwMiwweGYwLDB4YTAsMHg4NSwweDIwLDB4MjEgfSwKLSAgMTYsIDB4OWI2MCwgMCwgezB4Y2UsMHgwOCwweDcwLDB4MDIsMHgzYywweDgwLDB4OGYsMHgwMCwweDJiLDB4YzUsMHgwOCwweDcxLDB4MDIsMHhkYywweDEwLDB4YjQgfSwKLSAgMTYsIDB4OWI3MCwgMCwgezB4MDAsMHgyMSwweGMxLDB4MGEsMHhmMywweDgyLDB4MGMsMHgwMCwweDg3LDB4MDEsMHgyOSwweGMwLDB4MDgsMHg3MSwweDAyLDB4NmEgfSwKLSAgMTYsIDB4OWI4MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5ZCwweDAwLDB4YmQsMHgyMSwweDI3LDB4ODIgfSwKLSAgMTYsIDB4OWI5MCwgMCwgezB4MDAsMHg3MCwweDAyLDB4ZmMsMHgwNCwweDhjLDB4MDAsMHhhNywweGNjLDB4YTgsMHg3MCwweDAyLDB4M2MsMHgwOCwweGFmLDB4MDAgfSwKLSAgMTYsIDB4OWJhMCwgMCwgezB4MjEsMHhjMCwweDA4LDB4NzAsMHgwMiwweGRjLDB4MDAsMHhiNywweDAwLDB4MjEsMHhjNCwweDA4LDB4NzAsMHgxNiwweDFjLDB4MGEgfSwKLSAgMTYsIDB4OWJiMCwgMCwgezB4OGYsMHgwMCwweDIxLDB4YzAsMHgwOCwweDcwLDB4MDIsMHhjMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWJjMCwgMCwgezB4MjAsMHgxMCwweGM4LDB4MDAsMHhiYiwweDQ0LDB4MjQsMHhlMiwweDA4LDB4YjEsMHgwMiwweGMyLDB4ODAsMHgwMSwweDgwLDB4MjQgfSwKLSAgMTYsIDB4OWJkMCwgMCwgezB4ZDAsMHg4OCwweDMwLDB4MDIsMHgwZiwweDUyLDB4ODMsMHg5MSwweDI4LDB4ZTQsMHg4OCwweDNkLDB4MDIsMHhjZSwweGQwLDB4YjAgfSwKLSAgMTYsIDB4OWJlMCwgMCwgezB4YjIsMHhhMiwweGMwLDB4MGEsMHgzNCwweDEyLDB4MGMsMHgwMiwweDgzLDB4MDAsMHgyOCwweGMwLDB4MDgsMHgzMCwweDAyLDB4NDggfSwKLSAgMTYsIDB4OWJmMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhhYywweDAwLDB4ZmIsMHgwMSwweGU0LDB4NDAgfSwKLSAgMTYsIDB4OWMwMCwgMCwgezB4MmMsMHhmMCwweDQzLDB4ZTUsMHgwMCwweDhhLDB4ODgsMHgzNywweGUwLDB4MDAsMHhmYSwweDAyLDB4M2QsMHgwMCwweGVmLDB4MDAgfSwKLSAgMTYsIDB4OWMxMCwgMCwgezB4MzMsMHhkMSwweDBjLDB4ZjQsMHgwMywweGZkLDB4MDAsMHhmOSwweDQwLDB4MzMsMHhlOCwweDBjLDB4ZmMsMHgwMSwweDNjLDB4MDQgfSwKLSAgMTYsIDB4OWMyMCwgMCwgezB4Y2YsMHgwMiwweDMzLDB4YzAsMHgyYywweGYwLDB4MDMsMHhlYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWMzMCwgMCwgezB4ODAsMHgwMCwweGVlLDB4MDgsMHhmOSwweDEwLDB4M2EsMHhkMCwweDBmLDB4YjAsMHg5MywweGVjLDB4MDAsMHhmYiwweDBiLDB4M2EgfSwKLSAgMTYsIDB4OWM0MCwgMCwgezB4YzAsMHg4ZSwweGIwLDB4ODMsMHhlYywweDgwLDB4ZmIsMHgwOSwweDdlLDB4YzgsMHgwZiwweGIyLDB4MTMsMHhlYywweDAwLDB4ZjkgfSwKLSAgMTYsIDB4OWM1MCwgMCwgezB4MDAsMHgzZSwweGMyLDB4OGYsMHhiMiwweDRiLDB4Y2MsMHgwNCwweGZiLDB4MDAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4NjAgfSwKLSAgMTYsIDB4OWM2MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmYywweDAwLDB4ZmYsMHgwOCwweDMzLDB4YzAgfSwKLSAgMTYsIDB4OWM3MCwgMCwgezB4MWMsMHhmMCwweDAzLDB4NzAsMHg0MCwweGM0LDB4YzAsMHgzMywweGMyLDB4MGYsMHhmMCwweDAzLDB4MWMsMHgxMCwweGM3LDB4MDAgfSwKLSAgMTYsIDB4OWM4MCwgMCwgezB4MzEsMHhjMCwweDBjLDB4NzAsMHgwMywweDFjLDB4MDAsMHhjNSwweDQxLDB4MzMsMHhjMCwweDBjLDB4ZjAsMHgyMywweDJjLDB4MDAgfSwKLSAgMTYsIDB4OWM5MCwgMCwgezB4Y2YsMHgwMCwweGIzLDB4YzAsMHg2YywweGYwLDB4MDMsMHg4MCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWNhMCwgMCwgezB4ODEsMHgwNCwweDZhLDB4MDAsMHhiOSwweDkwLDB4MzIsMHhmMSwweDA4LDB4YjAsMHgwMiwweDBhLDB4MTAsMHhkOSwweDAwLDB4MjIgfSwKLSAgMTYsIDB4OWNiMCwgMCwgezB4YzEsMHgwYiwweGIwLDB4MDIsMHgyYywweDAwLDB4Y2IsMHgwNiwweDIyLDB4YzAsMHg4OCwweGIwLDB4MTIsMHgyYywweDAwLDB4ODggfSwKLSAgMTYsIDB4OWNjMCwgMCwgezB4ODAsMHgyMiwweGMxLDB4MGQsMHhiMCwweDAyLDB4MmMsMHgwMCwweDgzLDB4MDAsMHgyMiwweGMxLDB4MDgsMHhiMCwweDQ2LDB4ZTAgfSwKLSAgMTYsIDB4OWNkMCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDEsMHgyZSwweDAwLDB4YjksMHgwMCwweDIyLDB4ZjAgfSwKLSAgMTYsIDB4OWNlMCwgMCwgezB4MDgsMHhiMCwweDEyLDB4NjQsMHgwMCwweDhhLDB4MDAsMHgyMiwweGMwLDB4MGIsMHgzMCwweDQyLDB4MmMsMHgwMCwweDhiLDB4MDAgfSwKLSAgMTYsIDB4OWNmMCwgMCwgezB4MjIsMHhjMCwweDA4LDB4YjAsMHgwMiwweDJjLDB4MDAsMHg4YSwweDAwLDB4MjIsMHhjMCwweDg4LDB4MzAsMHgwYSwweDJjLDB4MDAgfSwKLSAgMTYsIDB4OWQwMCwgMCwgezB4OGIsMHgwMCwweDIwLDB4YzAsMHgwOCwweGIwLDB4MDIsMHhlMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWQxMCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDQsMHhiMSwweDAyLDB4ZTQsMHhjMSwweDA4LDB4YjAsMHgyMiwweDIwLDB4MDIsMHg5MywweDAwLDB4MjAgfSwKLSAgMTYsIDB4OWQyMCwgMCwgezB4YzAsMHgwYiwweDMwLDB4MTIsMHgwYywweDAyLDB4ODMsMHgwMiwweGEwLDB4YzAsMHgyOCwweDMwLDB4MGUsMHgwYywweDAyLDB4ODAgfSwKLSAgMTYsIDB4OWQzMCwgMCwgezB4MDAsMHhhMCwweGMwLDB4NDksMHgzMCwweDBhLDB4MGMsMHgwMiwweDhiLDB4MDAsMHgyMCwweGMwLDB4MDgsMHgzMCwweDAyLDB4YzIgfSwKLSAgMTYsIDB4OWQ0MCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2YywweDAwLDB4ZjksMHgyNCwweDMyLDB4YzAgfSwKLSAgMTYsIDB4OWQ1MCwgMCwgezB4MDgsMHhmMCwweDAzLDB4NjQsMHgwMCwweGM4LDB4MDAsMHhiMywweGMwLDB4MWYsMHhmMCwweDBiLDB4M2MsMHgwMCwweDhmLDB4MDAgfSwKLSAgMTYsIDB4OWQ2MCwgMCwgezB4MzMsMHhjMCwweDRjLDB4ZjAsMHg0MywweDNjLDB4MDgsMHhjMywweDAwLDB4MzEsMHhjMCwweDBjLDB4ZjAsMHgwMywweDNkLDB4NDggfSwKLSAgMTYsIDB4OWQ3MCwgMCwgezB4Y2YsMHgwMCwweDMxLDB4YzAsMHgwYywweGYwLDB4MDMsMHg4MCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWQ4MCwgMCwgezB4YTAsMHgxZCwweGYwLDB4MDQsMHhmOSwweDQxLDB4M2IsMHhjMCwweDRmLDB4ZjAsMHgwMywweGYwLDB4MTEsMHhmZCwweDAwLDB4M2YgfSwKLSAgMTYsIDB4OWQ5MCwgMCwgezB4YzAsMHg4NywweDcwLDB4MjcsMHhmYywweDAwLDB4ZWYsMHgwNiwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDIsMHhmYywweDA4LDB4ZmMgfSwKLSAgMTYsIDB4OWRhMCwgMCwgezB4MDAsMHgzZiwweGMwLDB4NDcsMHhmMCwweDQzLDB4ZmMsMHgwMCwweDc3LDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZTggfSwKLSAgMTYsIDB4OWRiMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhkMiwweDAwLDB4YzcsMHgwMSwweDM3LDB4MGMgfSwKLSAgMTYsIDB4OWRjMCwgMCwgezB4MGYsMHhlOCwweDIzLDB4MTAsMHg0YSwweGM0LDB4YzAsMHgzMSwweDMwLDB4MGMsMHhjOSwweDAzLDB4MzQsMHg0NiwweGNmLDB4MTAgfSwKLSAgMTYsIDB4OWRkMCwgMCwgezB4MzMsMHhkMCwweDBjLDB4ZjQsMHgwMywweDNjLDB4NTgsMHhjZiwweDAwLDB4MzMsMHhjMCwweDJkLDB4ZjEsMHgwMywweDNlLDB4MDIgfSwKLSAgMTYsIDB4OWRlMCwgMCwgezB4Y2YsMHgyMSwweDNmLDB4ZTQsMHgwZiwweGYyLDB4MDMsMHgzMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWRmMCwgMCwgezB4ODAsMHgxMCwweGU0LDB4ODQsMHgwYiwweDQwLDB4MjIsMHg0YywweDBiLDB4YTgsMHgwMiwweDJjLDB4YzAsMHg4YiwweDIwLDB4MjIgfSwKLSAgMTYsIDB4OWUwMCwgMCwgezB4YzgsMHg0YSwweDMyLDB4MDIsMHgyNCwweDgwLDB4ODMsMHgyMCwweDIwLDB4YzAsMHgwOCwweDMwLDB4MDIsMHgyMCwweDAwLDB4OGIgfSwKLSAgMTYsIDB4OWUxMCwgMCwgezB4MjEsMHgzMiwweGNhLDB4NDgsMHgzMiwweDAyLDB4MmMsMHgzMCwweDhmLDB4OTAsMHgyZSwweDg4LDB4MGIsMHhiZCwweDEyLDB4MjAgfSwKLSAgMTYsIDB4OWUyMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjZSwweDIwLDB4YTMsMHg0MCwweGUwLDB4NDggfSwKLSAgMTYsIDB4OWUzMCwgMCwgezB4NGIsMHgyMCwweDIyLDB4MGMsMHgwMiwweDgyLDB4MDAsMHgyYSwweDAwLDB4MDgsMHgyMCwweDAyLDB4MDQsMHg4MCwweDgwLDB4MjAgfSwKLSAgMTYsIDB4OWU0MCwgMCwgezB4MjAsMHhjOCwweDA4LDB4MDIsMHgwMiwweDBjLDB4MDAsMHg4MCwweDBjLDB4NjAsMHgwMCwweDA4LDB4MjAsMHgxMiwweDJjLDB4ODggfSwKLSAgMTYsIDB4OWU1MCwgMCwgezB4ODMsMHgwMCwweDJjLDB4ZTgsMHgwYiwweDMwLDB4MDIsMHg2MiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWU2MCwgMCwgezB4YzAsMHgxNSwweGFlLDB4MDAsMHhhYiwweDAxLDB4YTIsMHg2MCwweDBiLDB4YTAsMHgwMiwweDIwLDB4MDEsMHg4MSwweDAwLDB4MjIgfSwKLSAgMTYsIDB4OWU3MCwgMCwgezB4YzAsMHgwYSwweDkwLDB4MTIsMHgwNCwweDIwLDB4OGEsMHgwOCwweDIyLDB4YzEsMHgwOCwweGEwLDB4MDIsMHgyOCwweDAwLDB4ODggfSwKLSAgMTYsIDB4OWU4MCwgMCwgezB4MDAsMHgyNCwweDQ0LDB4MDgsMHhhMiwweDAyLDB4YWMsMHgwMCwweDhiLDB4MDQsMHgyZSwweDg4LDB4MDMsMHhiMCwweDAyLDB4NzAgfSwKLSAgMTYsIDB4OWU5MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlYywweDAwLDB4ZWEsMHg5MCwweDMyLDB4MjggfSwKLSAgMTYsIDB4OWVhMCwgMCwgezB4MGYsMHhiNiwweDAzLDB4MjAsMHgwOCwweGM5LDB4MDQsMHgzYSwweGMwLDB4NGMsMHg5MCwweDIyLDB4MjQsMHgwMCwweGNiLDB4NDAgfSwKLSAgMTYsIDB4OWViMCwgMCwgezB4MzIsMHhhOCwweDBjLDB4YjIsMHgwMywweDJjLDB4MDAsMHhjYiwweDgwLDB4YjIsMHhlMCwweDBjLDB4YjAsMHgwYiwweDA0LDB4MDAgfSwKLSAgMTYsIDB4OWVjMCwgMCwgezB4Y2IsMHgwMCwweDNlLDB4YzAsMHg0ZiwweGIwLDB4MGIsMHg1MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWVkMCwgMCwgezB4ZTAsMHgwMSwweGJjLDB4MDAsMHhkZiwweDgwLDB4M2IsMHg4MSwweDBmLDB4ZjAsMHhjMywweGZjLDB4MDAsMHhiZSwweDAxLDB4MWYgfSwKLSAgMTYsIDB4OWVlMCwgMCwgezB4MDAsMHgwZiwweGUwLDB4MjMsMHhmNCwweDAwLDB4ZmYsMHgwMCwweDNmLDB4YjAsMHg0ZiwweGYwLDB4NDMsMHhkNCwweDAyLDB4ZmYgfSwKLSAgMTYsIDB4OWVmMCwgMCwgezB4OTEsMHgzYSwweGUwLDB4NGUsMHhmMCwweDAzLDB4N2MsMHgwYywweGZmLDB4MDAsMHgyZiwweDgwLDB4MGYsMHgzMCwweDAzLDB4YjggfSwKLSAgMTYsIDB4OWYwMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhYywweDAxLDB4Y2EsMHgwMCwweDcyLDB4NTAgfSwKLSAgMTYsIDB4OWYxMCwgMCwgezB4MDQsMHhiNCwweDAzLDB4MmMsMHg4MiwweGNiLDB4MDAsMHgzMiwweGUwLDB4MGMsMHhiOCwweDAzLDB4MjcsMHgwNCwweGM4LDB4YzggfSwKLSAgMTYsIDB4OWYyMCwgMCwgezB4YjIsMHhhMiwweDBjLDB4ODgsMHgwMywweDJjLDB4MDAsMHhjMSwweDAwLDB4M2UsMHgwMCwweDJjLDB4MzAsMHgxYiwweDJjLDB4MDQgfSwKLSAgMTYsIDB4OWYzMCwgMCwgezB4ZmIsMHgxMCwweDNlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHgxMCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWY0MCwgMCwgezB4YzgsMHgwNSwweDJjLDB4MDQsMHgwMywweDUwLDB4YTIsMHhlMCwweDA4LDB4MzQsMHg0MiwweDMzLDB4MDAsMHg4OCwweDAwLDB4MjAgfSwKLSAgMTYsIDB4OWY1MCwgMCwgezB4MTAsMHgwZCwweDg0LDB4MDMsMHgyNSwweDAwLDB4OGEsMHg0MCwweDIyLDB4OTAsMHgwOCwweGE1LDB4MDIsMHgyYywweDAwLDB4ODkgfSwKLSAgMTYsIDB4OWY2MCwgMCwgezB4YTQsMHgzYSwweDQwLDB4MDgsMHhiMCwweDAyLDB4MmMsMHgwMCwweGJmLDB4ODQsMHgyZSwweDgwLDB4MGIsMHhmMCwweDUyLDB4MzIgfSwKLSAgMTYsIDB4OWY3MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg2YywweDgwLDB4ODEsMHg4MCwweDI0LDB4ODggfSwKLSAgMTYsIDB4OWY4MCwgMCwgezB4ODksMHgzYywweDI2LDB4MjEsMHgwMCwweDkwLDB4MDAsMHgyMCwweDAyLDB4MDgsMHg4MCwweDgyLDB4MDAsMHgyMCwweDliLDB4MDAgfSwKLSAgMTYsIDB4OWY5MCwgMCwgezB4MjIsMHg0MCwweDg4LDB4YjAsMHgxMiwweDBjLDB4MDgsMHg4MywweDgwLDB4MmMsMHhjMCwweDA4LDB4MTAsMHgwMiwweDBjLDB4MDAgfSwKLSAgMTYsIDB4OWZhMCwgMCwgezB4YjMsMHg4MCwweDJjLDB4NDAsMHgwYiwweDMwLDB4MDIsMHgzOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4OWZiMCwgMCwgezB4MjAsMHgwMSwweDNlLDB4MGEsMHg4NSwweGEwLDB4YTUsMHg2MCwweDA4LDB4ZmIsMHg4MiwweDNlLDB4ODQsMHg5ZiwweDgxLDB4NjMgfSwKLSAgMTYsIDB4OWZjMCwgMCwgezB4ZTAsMHg4OSwweDc5LDB4MTIsMHg1MiwweDgwLDB4OTcsMHg4MiwweDIxLDB4NmMsMHgxOCwweDc4LDB4MDIsMHgxMiwweDAwLDB4ODcgfSwKLSAgMTYsIDB4OWZkMCwgMCwgezB4YTEsMHgyOSwweGUwLDB4MDgsMHg1YiwweDAyLDB4MWUsMHgwMCwweGI3LDB4YzAsMHgyZCwweDYwLDB4MGIsMHg3OCwweDAyLDB4MDggfSwKLSAgMTYsIDB4OWZlMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDAwLDB4ODEsMHgwOCwweDI2LDB4YzIgfSwKLSAgMTYsIDB4OWZmMCwgMCwgezB4MmMsMHgzMiwweDEzLDB4MGUsMHhhNCwweGQyLDB4MDAsMHhiMCwweDAwLDB4MWMsMHgyMSwweDEyLDB4MjQsMHgwMiwweGQxLDB4MjAgfSwKLSAgMTYsIDB4YTAwMCwgMCwgezB4MzAsMHhjOCwweDBjLDB4MTAsMHgwMywweDBjLDB4MDAsMHhjMiwweDEwLDB4M2MsMHg4MCwweDBjLDB4MjMsMHgwMywweDBjLDB4NDAgfSwKLSAgMTYsIDB4YTAxMCwgMCwgezB4ZjMsMHgwMCwweDNjLDB4NDgsMHgwZiwweDMwLDB4MGIsMHgxMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTAyMCwgMCwgezB4NDAsMHgxZCwweGJjLDB4MDAsMHhmZCwweDIwLDB4YmIsMHg0MCwweDA3LDB4NzIsMHgwMiwweGYwLDB4MTAsMHhlZCwweDEwLDB4M2YgfSwKLSAgMTYsIDB4YTAzMCwgMCwgezB4YzQsMHgwZiwweGQxLDB4NjMsMHhiNCwweDgwLDB4ZWYsMHgwMCwweDNmLDB4YzgsMHgwZiwweGYwLDB4MDMsMHhkOCwweDAwLDB4ZmUgfSwKLSAgMTYsIDB4YTA0MCwgMCwgezB4MzQsMHgzZiwweGM0LDB4MGYsMHhlYiwweDQzLDB4ZmMsMHgwMCwweGZmLDB4MDgsMHg3ZiwweDQwLDB4MGYsMHhmMSwweDgzLDB4ZDAgfSwKLSAgMTYsIDB4YTA1MCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlYywweDAwLDB4YzgsMHgwMCwweDMzLDB4ODAgfSwKLSAgMTYsIDB4YTA2MCwgMCwgezB4OGYsMHgyOCwweDAzLDB4MjAsMHgwMCwweDQ5LDB4MDIsMHgzMiwweGMwLDB4MGYsMHg5MCwweDAzLDB4MjAsMHgwMCwweGNiLDB4MDAgfSwKLSAgMTYsIDB4YTA3MCwgMCwgezB4MzIsMHg0MCwweDRjLDB4YjAsMHgwYiwweDJjLDB4MDAsMHhjYiwweDgwLDB4MzIsMHhjMCwweDBlLDB4OWUsMHgwMywweDI0LDB4MDAgfSwKLSAgMTYsIDB4YTA4MCwgMCwgezB4ZmIsMHgyMCwweDNlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHgyYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTA5MCwgMCwgezB4NDgsMHgxMSwweDljLDB4MDAsMHg4ZCwweDAxLDB4MjEsMHhjMCwweDBiLDB4NjAsMHgwMiwweDFkLDB4MDAsMHhkNiwweDAwLDB4MjEgfSwKLSAgMTYsIDB4YTBhMCwgMCwgezB4MDAsMHgwYiwweGUwLDB4MDIsMHgwMCwweDAwLDB4ODMsMHgwNCwweDIwLDB4NDAsMHgwOCwweDcwLDB4NDIsMHgzNCwweDAyLDB4ODcgfSwKLSAgMTYsIDB4YTBiMCwgMCwgezB4MDEsMHgyMywweGMwLDB4MjgsMHg1MSwweDBhLDB4MWMsMHgwNCwweGI3LDB4MzAsMHgyZCwweGMwLDB4MGIsMHg3MiwweDAzLDB4OTIgfSwKLSAgMTYsIDB4YTBjMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5ZSwweDAwLDB4YTYsMHg0MCwweDIxLDB4YTAgfSwKLSAgMTYsIDB4YTBkMCwgMCwgezB4MGIsMHg2OCwweDAyLDB4MGUsMHgwMCwweDhmLDB4ODAsMHgyMSwweGUwLDB4MGIsMHg3OCwweDAyLDB4MTYsMHgxMCwweGE1LDB4ODAgfSwKLSAgMTYsIDB4YTBlMCwgMCwgezB4MjEsMHhlMCwweDA4LDB4MTgsMHgwMiwweDFlLDB4MDAsMHg4MywweDgwLDB4MjEsMHhhMCwweDA4LDB4NzgsMHgwMiwweDFmLDB4MDAgfSwKLSAgMTYsIDB4YTBmMCwgMCwgezB4YjcsMHg4MCwweDJkLDB4ZTAsMHgwYiwweDM4LDB4MDIsMHgzMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTEwMCwgMCwgezB4NDgsMHgxNCwweGVjLDB4MTIsMHhhMSwweDY0LDB4MjAsMHhlNiwweDBiLDB4MjAsMHgwMiwweDAwLDB4MTAsMHg5MCwweDRhLDB4MjAgfSwKLSAgMTYsIDB4YTExMCwgMCwgezB4MjAsMHg0YiwweDAwLDB4NDIsMHgwNCwweDAwLDB4ODMsMHgwMCwweDIwLDB4YzIsMHgwOCwweDMwLDB4MDIsMHg4YywweDAwLDB4ODMgfSwKLSAgMTYsIDB4YTEyMCwgMCwgezB4MDQsMHgyMCwweGMwLDB4MDgsMHgzMCwweDAyLDB4MGUsMHgwMCwweGIzLDB4MDAsMHgyYywweGUwLDB4NGIsMHgzMCwweDAyLDB4OTIgfSwKLSAgMTYsIDB4YTEzMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhiOCwweDAwLDB4ZWUsMHhjMCwweDMzLDB4OTAgfSwKLSAgMTYsIDB4YTE0MCwgMCwgezB4MGYsMHhhMCwweDFiLDB4MDgsMHgwMCwweGNhLDB4NDAsMHhiMiwweDgyLDB4MGYsMHhhMCwweDBiLDB4MjgsMHgwMiwweGNhLDB4MDAgfSwKLSAgMTYsIDB4YTE1MCwgMCwgezB4YjIsMHg5MCwweGFjLDB4YTAsMHgwMywweDI5LDB4MDAsMHhjYSwweDQwLDB4YjIsMHg4MCwweDhlLDB4YTQsMHgwMywweDJhLDB4MDAgfSwKLSAgMTYsIDB4YTE2MCwgMCwgezB4ZmEsMHgwMCwweDNmLDB4YTgsMHgwZiwweGEwLDB4MGIsMHgzYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTE3MCwgMCwgezB4NDgsMHgwMCwweGUyLDB4MDIsMHg5MCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODgsMHgwMywweGYxLDB4MDAsMHhmYywweDAyLDB4M2YgfSwKLSAgMTYsIDB4YTE4MCwgMCwgezB4MjAsMHgwZiwweGM4LDB4MDMsMHhjMSwweDAwLDB4ZjAsMHgwMCwweDNlLDB4MDAsMHg4ZiwweDAwLDB4MDEsMHg2MCwweDAyLDB4ZjggfSwKLSAgMTYsIDB4YTE5MCwgMCwgezB4MDgsMHgzZSwweDAwLDB4MGYsMHg4MCwweDgzLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgyZSwweDAwLDB4OGYsMHg4MCwweDEzLDB4OTIgfSwKLSAgMTYsIDB4YTFhMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDAyLDB4YzksMHgwMCwweGIyLDB4NjQgfSwKLSAgMTYsIDB4YTFiMCwgMCwgezB4MGYsMHg5MSwweDAzLDB4ZTQsMHgwNCwweGM5LDB4MDAsMHgzMiwweDQwLDB4NmMsMHg5MCwweDAzLDB4MjUsMHgwMiwweGM5LDB4OTAgfSwKLSAgMTYsIDB4YTFjMCwgMCwgezB4YjAsMHg0MCwweDBjLDB4OTAsMHgwMywweDI0LDB4MjAsMHhjOSwweGEwLDB4M2UsMHg0MCwweDRjLDB4OTAsMHgyMywweGU0LDB4MDAgfSwKLSAgMTYsIDB4YTFkMCwgMCwgezB4ZjEsMHgwMCwweDkyLDB4NDAsMHgwYywweDEwLDB4MDMsMHgwMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTFlMCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDAsMHg4OSwweDgwLDB4YTIsMHg0MCwweDBiLDB4OTYsMHg0MiwweGU1LDB4MDQsMHg4OSwweDAwLDB4MjIgfSwKLSAgMTYsIDB4YTFmMCwgMCwgezB4NDAsMHgwOCwweDkwLDB4MDIsMHgyNCwweDA4LDB4MDksMHg0MSwweDIyLDB4NDAsMHg0OCwweDkwLDB4NDIsMHgyNCwweDA0LDB4ODkgfSwKLSAgMTYsIDB4YTIwMCwgMCwgezB4ODAsMHgyNiwweDQwLDB4MDgsMHg5MCwweDAyLDB4ZTQsMHgwMCwweGI5LDB4MDAsMHgyMiwweDQwLDB4MDgsMHg5NCwweDAyLDB4MjAgfSwKLSAgMTYsIDB4YTIxMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgyNSwweDAwLDB4ODksMHgyMCwweDIyLDB4NDAgfSwKLSAgMTYsIDB4YTIyMCwgMCwgezB4MGIsMHg5MCwweDAyLDB4ZjQsMHg4NCwweDg1LDB4MDAsMHgyMSwweDQwLDB4NDgsMHg1MCwweDAyLDB4MjQsMHgyMCwweDhkLDB4MDggfSwKLSAgMTYsIDB4YTIzMCwgMCwgezB4MjMsMHg0MCwweDA4LDB4ZDAsMHgwMiwweDk0LDB4MDAsMHg4ZCwweDAwLDB4MjksMHg0MCwweDBhLDB4ZDAsMHgwMiwweGE0LDB4MDggfSwKLSAgMTYsIDB4YTI0MCwgMCwgezB4YjksMHgwMCwweDI4LDB4NDAsMHgxOCwweDkwLDB4YzIsMHgwNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTI1MCwgMCwgezB4MDgsMHgwNCwweDA1LDB4MDAsMHg4MSwweDAwLDB4MjAsMHg1MSwweDBiLDB4MTAsMHgwMiwweGY1LDB4ODAsMHg4NSwweGMxLDB4YTEgfSwKLSAgMTYsIDB4YTI2MCwgMCwgezB4NTAsMHgwOCwweDU0LDB4MGEsMHgwNSwweDA2LDB4ODUsMHg0MCwweDIxLDB4NTAsMHg4OCwweDU0LDB4MDIsMHg5NSwweDAwLDB4ODUgfSwKLSAgMTYsIDB4YTI3MCwgMCwgezB4NDQsMHgyZCwweDUwLDB4MmEsMHg1NCwweDEyLDB4YzUsMHgwMSwweGIxLDB4MDAsMHgwOCwweDUwLDB4MDgsMHgxMCwweDAyLDB4MDIgfSwKLSAgMTYsIDB4YTI4MCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDAwLDB4Y2EsMHg1MCwweDMyLDB4ODAgfSwKLSAgMTYsIDB4YTI5MCwgMCwgezB4MGYsMHg4MCwweDAzLDB4ZTgsMHgwMiwweGM4LDB4MDEsMHgzMiwweDAwLDB4MmMsMHhjMCwweDAzLDB4MjAsMHgwMCwweGM4LDB4MDIgfSwKLSAgMTYsIDB4YTJhMCwgMCwgezB4MzIsMHgwMCwweDJjLDB4ODAsMHgwYiwweGEwLDB4MDAsMHhjOCwweDAwLDB4M2EsMHgwMCwweDRlLDB4NDAsMHgyMywweGEwLDB4MDggfSwKLSAgMTYsIDB4YTJiMCwgMCwgezB4ZjgsMHgwMCwweDNhLDB4MDAsMHgyYywweDgwLDB4MGIsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTJjMCwgMCwgezB4OTgsMHgxZCwweGRjLDB4MDQsMHhmZCwweDQwLDB4M2YsMHg1MCwweDRmLDB4OTAsMHg2MywweGU0LDB4NDAsMHhmMSwweDAyLDB4M2UgfSwKLSAgMTYsIDB4YTJkMCwgMCwgezB4NDEsMHgwZiwweDkwLDB4MTMsMHhmNSwweDA0LDB4ZjksMHg0MSwweDNlLDB4NTAsMHgwZiwweDk0LDB4NDMsMHg2NSwweDAyLDB4ZjkgfSwKLSAgMTYsIDB4YTJlMCwgMCwgezB4NDEsMHgzNiwweDUwLDB4NGQsMHg5NCwweDAzLDB4ZjQsMHgwMCwweGY5LDB4NDEsMHgzNywweDQwLDB4NGYsMHg5NCwweDAzLDB4ZTYgfSwKLSAgMTYsIDB4YTJmMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDEsMHhmYywweDAwLDB4Y2QsMHhhOCwweDMzLDB4NzAgfSwKLSAgMTYsIDB4YTMwMCwgMCwgezB4MGYsMHhkMCwweDEzLDB4ZjYsMHg4OCwweGNkLDB4MDAsMHgzMiwweDUwLDB4NGYsMHgxNCwweDIzLDB4MDcsMHhhMCwweGM5LDB4YzAgfSwKLSAgMTYsIDB4YTMxMCwgMCwgezB4MzIsMHg3OCwweDBjLDB4OWUsMHgwMywweDM3LDB4MDIsMHhjZCwweGMwLDB4MzIsMHg2NCwweDBmLDB4OTgsMHgwMywweDI0LDB4MDAgfSwKLSAgMTYsIDB4YTMyMCwgMCwgezB4Y2QsMHgwMCwweDMyLDB4NDAsMHgyYywweGRhLDB4MDMsMHgwNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTMzMCwgMCwgezB4MzgsMHgxMCwweGUyLDB4MDgsMHg4OCwweGViLDB4MjIsMHgzMCwweDBiLDB4ODAsMHgxMiwweGU4LDB4MDQsMHhhMCwweGEwLDB4MmEgfSwKLSAgMTYsIDB4YTM0MCwgMCwgezB4MjAsMHgwYiwweDhhLDB4MGEsMHgyMywweDAwLDB4ODgsMHg4MCwweDIyLDB4MjgsMHgwMCwweGM4LDB4NDIsMHgyMywweDgwLDB4ODAgfSwKLSAgMTYsIDB4YTM1MCwgMCwgezB4ZDQsMHgyMCwweDI4LDB4MDksMHg4MCwweDAyLDB4MjIsMHg5NCwweGE4LDB4MDAsMHgyYSwweDAwLDB4ODgsMHg4NSwweDAyLDB4MGUgfSwKLSAgMTYsIDB4YTM2MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhjNCwweGEwLDB4ODMsMHgwMCwweDI0LDB4ZDggfSwKLSAgMTYsIDB4YTM3MCwgMCwgezB4OGIsMHgxMCwweDAyLDB4ZTUsMHgxNCwweDg5LDB4MGEsMHgyMSwweDQ4LDB4MGIsMHg1MiwweDAyLDB4NTQsMHg4MCwweDg1LDB4NDAgfSwKLSAgMTYsIDB4YTM4MCwgMCwgezB4MjUsMHg1OCwweDA5LDB4NTYsMHgwMiwweDQ1LDB4MDIsMHg4MSwweDIwLDB4MjAsMHg1MCwweDBiLDB4MTQsMHgwMiwweDA0LDB4MzAgfSwKLSAgMTYsIDB4YTM5MCwgMCwgezB4ODEsMHgwMCwweDIwLDB4NDAsMHgwOCwweDEwLDB4MDIsMHg0MiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTNhMCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MTIsMHg4OSwweDAwLDB4YTYsMHg0MCwweDBiLDB4OTAsMHg0MiwweGU0LDB4OTgsMHhhOSwweDgwLDB4MmIgfSwKLSAgMTYsIDB4YTNiMCwgMCwgezB4NDAsMHgwYiwweDUxLDB4MDIsMHg1NSwweDAwLDB4OWQsMHgwOCwweDI3LDB4NDgsMHgwOSwweGY2LDB4MDIsMHg0NCwweDAwLDB4ODEgfSwKLSAgMTYsIDB4YTNjMCwgMCwgezB4MDQsMHgyMiwweDQwLDB4MTksMHg5MSwweDhhLDB4MjQsMHg4MCwweGE5LDB4MDAsMHgyYSwweDQwLDB4MDgsMHg5MCwweDAyLDB4NDYgfSwKLSAgMTYsIDB4YTNkMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNywweDAyLDB4YzksMHgwNCwweDM2LDB4NTggfSwKLSAgMTYsIDB4YTNlMCwgMCwgezB4MGYsMHg5MCwweDAzLDB4YzUsMHgwMCwweGM5LDB4MDAsMHgzMiwweDQwLDB4MGYsMHg5MCwweDEzLDB4NjQsMHgwMiwweGM5LDB4MDAgfSwKLSAgMTYsIDB4YTNmMCwgMCwgezB4MzYsMHg0MCwweDJkLDB4OTAsMHgwYiwweDY2LDB4MDQsMHhjOSwweGUwLDB4YjIsMHg0OCwweDhmLDB4OTgsMHg0NywweDI0LDB4MDAgfSwKLSAgMTYsIDB4YTQwMCwgMCwgezB4YzksMHgwMCwweDcyLDB4NDAsMHgwYywweDEwLDB4MDMsMHg2OCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTQxMCwgMCwgezB4MjgsMHgwMSwweGE1LDB4MDgsMHhmOSwweDIxLDB4M2EsMHg0MCwweDBmLDB4OTAsMHgwMywweGU2LDB4MDQsMHhmOSwweDAwLDB4M2UgfSwKLSAgMTYsIDB4YTQyMCwgMCwgezB4NDAsMHg0ZiwweDk4LDB4ODMsMHhhNCwweDAwLDB4ZTksMHg0MCwweGJhLDB4NjAsMHgwZSwweDkwLDB4MDMsMHhhNCwweDgwLDB4ZjkgfSwKLSAgMTYsIDB4YTQzMCwgMCwgezB4YTMsMHgzZSwweDQ4LDB4MGYsMHg5OCwweDBiLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgxZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4OGEgfSwKLSAgMTYsIDB4YTQ0MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMiwweDQ4LDB4YzgsMHgyMCwweDMyLDB4MDggfSwKLSAgMTYsIDB4YTQ1MCwgMCwgezB4MWYsMHg4MCwweDgzLDB4ZTEsMHgyMiwweGM4LDB4MDEsMHgzMywweDAwLDB4MmMsMHhjMCwweDAzLDB4MzAsMHgwNCwweGNjLDB4NDAgfSwKLSAgMTYsIDB4YTQ2MCwgMCwgezB4YjEsMHgwMCwweDBjLDB4NDQsMHgwMywweDIwLDB4MTIsMHhjOCwweDQxLDB4MzIsMHgwMCwweDJkLDB4ODQsMHgwYiwweDYwLDB4MDAgfSwKLSAgMTYsIDB4YTQ3MCwgMCwgezB4ZjgsMHgwMCwweGIyLDB4MDAsMHg0YywweDgwLDB4MGIsMHgwYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTQ4MCwgMCwgezB4MjgsMHgwNSwweDNhLDB4MDAsMHhhNiwweDAwLDB4MjMsMHg5MCwweDAzLDB4ZTQsMHg5MiwweGY4LDB4MDAsMHg4MiwweDAwLDB4MzYgfSwKLSAgMTYsIDB4YTQ5MCwgMCwgezB4ODAsMHgwOCwweGEwLDB4MDMsMHg2OCwweDAwLDB4Y2EsMHgwMCwweDIyLDB4ODMsMHgwOCwweGEwLDB4MDIsMHgyOCwweDAzLDB4OGEgfSwKLSAgMTYsIDB4YTRhMCwgMCwgezB4MDAsMHgyMiwweDgwLDB4MDgsMHhhMCwweDAyLDB4MjgsMHgwMCwweGI2LDB4ODAsMHgyMiwweDgwLDB4MGQsMHhlOCwweDAyLDB4MGEgfSwKLSAgMTYsIDB4YTRiMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg2ZSwweDAwLDB4ODIsMHg0MiwweDIwLDB4YzAgfSwKLSAgMTYsIDB4YTRjMCwgMCwgezB4MGIsMHgzNCwweDAyLDB4Y2QsMHgwOSwweDgwLDB4MDAsMHgyMCwweDAwLDB4MDgsMHgwMCwweDAyLDB4MDAsMHgwMiwweDk4LDB4MDAgfSwKLSAgMTYsIDB4YTRkMCwgMCwgezB4MjAsMHgyMCwweDI4LDB4MDAsMHgwYSwweDA0LDB4MTAsMHg4MSwweDgwLDB4MjAsMHhjMCwweDA4LDB4YjAsMHgwMiwweDJjLDB4MDAgfSwKLSAgMTYsIDB4YTRlMCwgMCwgezB4YjMsMHgwMCwweDIyLDB4YzAsMHgxOCwweDMxLDB4MDIsMHgwYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTRmMCwgMCwgezB4YTAsMHgwMSwweDM4LDB4MDIsMHhhMywweDAwLDB4MjEsMHg0MCwweDFiLDB4NzAsMHgwMiwweGRjLDB4MjAsMHg4NCwweDA1LDB4NjUgfSwKLSAgMTYsIDB4YTUwMCwgMCwgezB4ZTAsMHgwOCwweGYwLDB4MDIsMHg3YywweDEwLDB4OTcsMHgwMCwweDI0LDB4YzAsMHgwOCwweDMwLDB4MDIsMHg1NCwweDg4LDB4ODcgfSwKLSAgMTYsIDB4YTUxMCwgMCwgezB4MDksMHgyMSwweGU4LDB4MDksMHgzMywweDAyLDB4MWMsMHg4MCwweGI2LDB4MDgsMHg2MywweGM4LDB4MDksMHgzOCwweDEyLDB4MjggfSwKLSAgMTYsIDB4YTUyMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZSwweDAwLDB4YzcsMHhhMCwweGExLDB4ZTAgfSwKLSAgMTYsIDB4YTUzMCwgMCwgezB4MGIsMHg3OCwweDAzLDB4ZmUsMHgwMCwweGM1LDB4ODIsMHgzMywweDIwLDB4MGMsMHg0OCwweDAzLDB4MWUsMHgwMSwweGRmLDB4ODAgfSwKLSAgMTYsIDB4YTU0MCwgMCwgezB4MzEsMHgyMCwweDBjLDB4NDgsMHgwMywweDA2LDB4NDAsMHg4NywweDgyLDB4MzEsMHhmOCwweDBkLDB4N2IsMHgwMywweDVmLDB4MDAgfSwKLSAgMTYsIDB4YTU1MCwgMCwgezB4ZjMsMHg4MCwweDMxLDB4ZjIsMHgwYywweDYwLDB4MDMsMHgyYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTU2MCwgMCwgezB4MDgsMHgxZCwweDljLDB4MDAsMHhmYiwweDAxLDB4MmYsMHg0MCwweDA3LDB4YjAsMHgwMywweGU4LDB4MDQsMHhmOSwweDAwLDB4M2UgfSwKLSAgMTYsIDB4YTU3MCwgMCwgezB4YzEsMHgwZiwweGIwLDB4MDMsMHhlMCwweDA2LDB4ZTgsMHgwMiwweDNhLDB4YzAsMHgwZiwweGIwLDB4MDEsMHhhNCwweDEwLDB4ZjkgfSwKLSAgMTYsIDB4YTU4MCwgMCwgezB4NDAsMHhiZSwweGQwLDB4MDYsMHhiMCwweDAzLDB4ZWUsMHgwMCwweGZhLDB4MDAsMHgzYywweGQ4LDB4MGYsMHhhMCwweDAzLDB4YzIgfSwKLSAgMTYsIDB4YTU5MCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmNiwweDAwLDB4Y2YsMHg4OCwweDMzLDB4NjQgfSwKLSAgMTYsIDB4YTVhMCwgMCwgezB4MmMsMHhmOCwweDAzLDB4ZmUsMHgwMiwweGM0LDB4YjAsMHgzMywweDIwLDB4OGMsMHhkOCwweDAzLDB4MzIsMHgwMCwweGNjLDB4YjQgfSwKLSAgMTYsIDB4YTViMCwgMCwgezB4MzMsMHhhMCwweDBjLDB4YzgsMHgwMywweDE2LDB4MjAsMHhjZiwweGMwLDB4MzMsMHhmMCwweDBjLDB4ZjgsMHgwMywweGZlLDB4MDAgfSwKLSAgMTYsIDB4YTVjMCwgMCwgezB4Y2QsMHg4MCwweDNmLDB4ZTAsMHgwZiwweGQ4LDB4MDMsMHgwMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTVkMCwgMCwgezB4YTgsMHgxMSwweGI1LDB4MDQsMHg4NywweDEyLDB4YTEsMHg1MCwweDBhLDB4NzQsMHgxMiwweGM0LDB4NDAsMHg4NCwweDExLDB4MjMgfSwKLSAgMTYsIDB4YTVlMCwgMCwgezB4YzAsMHgyOCwweGUwLDB4MDIsMHgxYywweDAyLDB4YTcsMHgxMSwweDIxLDB4NTgsMHg0OCwweDcwLDB4MGEsMHgxNCwweDAwLDB4OGQgfSwKLSAgMTYsIDB4YTVmMCwgMCwgezB4MDAsMHgyMywweGMwLDB4MGIsMHg3MCwweDAyLDB4ZmMsMHg0MCwweDg2LDB4MDAsMHgyZCwweGMwLDB4MGIsMHg1MCwweDAyLDB4MmEgfSwKLSAgMTYsIDB4YTYwMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg5NSwweDAwLDB4ODcsMHg0MCwweDIxLDB4MDAgfSwKLSAgMTYsIDB4YTYxMCwgMCwgezB4MTgsMHg3MSwweDAyLDB4ZGMsMHgwMCwweDk1LDB4MjgsMHhlMSwweDAyLDB4MDgsMHg1MCwweDAyLDB4M2MsMHg0MiwweGE3LDB4MjIgfSwKLSAgMTYsIDB4YTYyMCwgMCwgezB4MjEsMHg4MCwweDg4LDB4NDEsMHgwMiwweDE0LDB4MDAsMHg4NSwweDAwLDB4YTEsMHhjMCwweDA5LDB4NzEsMHgwMiwweGRjLDB4MDAgfSwKLSAgMTYsIDB4YTYzMCwgMCwgezB4YjUsMHgxMCwweDJkLDB4YzAsMHgwYiwweDQwLDB4MDIsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTY0MCwgMCwgezB4MjAsMHgxNCwweGM0LDB4MTAsMHg4MywweDg0LDB4MjAsMHgxMSwweDA4LDB4MzAsMHgwMiwweGMzLDB4MTAsMHg5MSwweDIwLDB4MjAgfSwKLSAgMTYsIDB4YTY1MCwgMCwgezB4YzAsMHgwOCwweDI4LDB4MTIsMHgwMCwweDAwLDB4YTAsMHg4NCwweDIwLDB4NDAsMHgwOCwweDMwLDB4MDIsMHgwNCwweDI2LDB4ODMgfSwKLSAgMTYsIDB4YTY2MCwgMCwgezB4MDAsMHgyMCwweGQwLDB4MGIsMHgzMCwweDAyLDB4Y2MsMHgwMCwweGIyLDB4MDAsMHgyYywweGMwLDB4MGIsMHgwMCwweDAyLDB4MDggfSwKLSAgMTYsIDB4YTY3MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhhZCwweDAwLDB4Y2YsMHg4OCwweGIyLDB4ZTggfSwKLSAgMTYsIDB4YTY4MCwgMCwgezB4MGMsMHgzMCwweDEzLDB4Y2UsMHhjMiwweGQwLDB4ODIsMHgzMiwweDAwLDB4MGMsMHgwZSwweDBiLDB4MjAsMHgwMCwweGM4LDB4ODggfSwKLSAgMTYsIDB4YTY5MCwgMCwgezB4YjIsMHg0MCwweDJjLDB4YmEsMHg0MywweDM3LDB4MDIsMHhjYiwweDAwLDB4YjMsMHhjMCwweDJjLDB4ZjAsMHgwMywweGZjLDB4MTIgfSwKLSAgMTYsIDB4YTZhMCwgMCwgezB4ZmIsMHgwMCwweDdmLDB4ZDEsMHgwZiwweDMwLDB4MGIsMHgyYiwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTZiMCwgMCwgezB4ODAsMHgwMCwweGVkLDB4MDIsMHhmMSwweDQwLDB4M2UsMHg0MSwweDBmLDB4YjAsMHgyMywweGVkLDB4MDAsMHhlOCwweDAxLDB4M2UgfSwKLSAgMTYsIDB4YTZjMCwgMCwgezB4YzgsMHgwZiwweGIwLDB4MTMsMHhlYywweDA0LDB4ZGIsMHgwMCwweDNjLDB4ODAsMHgwZiwweDA0LDB4MDMsMHhlNCwweDQwLDB4ZjkgfSwKLSAgMTYsIDB4YTZkMCwgMCwgezB4MDAsMHgzYywweGMyLDB4MGUsMHhiMCwweDAzLDB4ZWUsMHgwMCwweDRiLDB4NDEsMHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4ZTAgfSwKLSAgMTYsIDB4YTZlMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmYywweDAwLDB4NGIsMHgwMCwweDMyLDB4NDIgfSwKLSAgMTYsIDB4YTZmMCwgMCwgezB4MGMsMHhmMCwweDAzLDB4MzYsMHg4MCwweGNkLDB4MDAsMHgzMywweDAwLDB4NGMsMHhjMCwweDgzLDB4M2MsMHgwNCwweGY3LDB4MDAgfSwKLSAgMTYsIDB4YTcwMCwgMCwgezB4MzIsMHg0MCwweDBjLDB4YjEsMHg0MywweDE0LDB4MDAsMHhjZCwweDgwLDB4MzMsMHhjMCwweDBjLDB4ZjAsMHgwMywweGZjLDB4MDAgfSwKLSAgMTYsIDB4YTcxMCwgMCwgezB4ZmYsMHgwMCwweGIzLDB4YzIsMHgwYywweGEwLDB4MDMsMHgwMCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTcyMCwgMCwgezB4ODEsMHgwNCwweDRmLDB4MDIsMHg4YiwweDgwLDB4MjAsMHgzMCwweDA4LDB4YmMsMHgwMiwweDIwLDB4MTAsMHg4OSwweDAwLDB4MjIgfSwKLSAgMTYsIDB4YTczMCwgMCwgezB4YzAsMHgwMCwweGIwLDB4MDMsMHg2MCwweDA0LDB4YjgsMHgwMCwweGEyLDB4OTAsMHgyOCwweDhjLDB4MWEsMHgyNCwweDAyLDB4OGIgfSwKLSAgMTYsIDB4YTc0MCwgMCwgezB4ODMsMHgyMiwweGMxLDB4MDgsMHhiMCwweDAyLDB4ZmMsMHgwMCwweGIzLDB4NjAsMHgyMCwweGMwLDB4MGQsMHhhMCwweDAzLDB4ZTAgfSwKLSAgMTYsIDB4YTc1MCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgyZSwweDAwLDB4YWIsMHhjMCwweDIyLDB4NjAgfSwKLSAgMTYsIDB4YTc2MCwgMCwgezB4MDgsMHhiOCwweDAyLDB4MjksMHgwMCwweDg4LDB4MDEsMHgyMCwweDAwLDB4MDgsMHg5MCwweDAyLDB4MjAsMHgwMCwweGI4LDB4MDAgfSwKLSAgMTYsIDB4YTc3MCwgMCwgezB4MjIsMHhjMCwweDA4LDB4YjAsMHgwMiwweGU0LDB4MDAsMHg4MSwweDI0LDB4YTIsMHhjMCwweDA5LDB4YjAsMHg0NiwweGVjLDB4MDAgfSwKLSAgMTYsIDB4YTc4MCwgMCwgezB4YjksMHgwMCwweDIyLDB4YzAsMHgwOCwweDkwLDB4MDIsMHgyMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTc5MCwgMCwgezB4MDgsMHgwNCwweDJjLDB4MDAsMHhhMSwweDAwLDB4YTAsMHg0MSwweDA4LDB4YjAsMHgwYSwweDIwLDB4NTMsMHg4OCwweDAwLDB4MjAgfSwKLSAgMTYsIDB4YTdhMCwgMCwgezB4YzAsMHgyOCwweGEwLDB4MDIsMHg0YywweDAwLDB4YjMsMHgwMCwweDIwLDB4MDAsMHg4OCwweDAwLDB4MDIsMHg4NCwweDAwLDB4ODMgfSwKLSAgMTYsIDB4YTdiMCwgMCwgezB4MDQsMHgyMCwweGMwLDB4MjgsMHgzMCwweDAyLDB4Y2MsMHgwMCwweGIzLDB4MDIsMHg2MiwweGMwLDB4MDksMHgxMCwweDAyLDB4YzIgfSwKLSAgMTYsIDB4YTdjMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2YywweDAwLDB4ZTksMHgwMCwweDIyLDB4MDAgfSwKLSAgMTYsIDB4YTdkMCwgMCwgezB4MGMsMHhiMCwweDAzLDB4MDAsMHgwNCwweGM5LDB4MDAsMHhiMiwweDAwLDB4MGMsMHg5MCwweDAzLDB4MmMsMHgwMCwweGYzLDB4MDAgfSwKLSAgMTYsIDB4YTdlMCwgMCwgezB4YjIsMHhjMCwweDhjLDB4YjAsMHgwMywweGI0LDB4MDIsMHg4ZiwweDAwLDB4MjMsMHhjMCwweDA0LDB4ZjAsMHgwMywweGVjLDB4MDggfSwKLSAgMTYsIDB4YTdmMCwgMCwgezB4ZjksMHgwMCwweDMzLDB4YzAsMHgwYywweDgwLDB4MDMsMHgwMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTgwMCwgMCwgezB4YTAsMHgxZCwweGZjLDB4MTAsMHhkZCwweDA0LDB4M2YsMHgwMCwweDBmLDB4YzAsMHgyMywweGYwLDB4OTAsMHhmZCwweDAwLDB4MmYgfSwKLSAgMTYsIDB4YTgxMCwgMCwgezB4YzAsMHgwZiwweGUwLDB4NDMsMHhkMCwweDAwLDB4ZmMsMHgwMCwweDNmLDB4MDAsMHg4ZiwweGMwLDB4MjIsMHg3NCwweDAwLDB4ZmQgfSwKLSAgMTYsIDB4YTgyMCwgMCwgezB4MDQsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGZmLDB4MDYsMHgzZiwweGMwLDB4MGYsMHhjMCwweDQzLDB4ZTggfSwKLSAgMTYsIDB4YTgzMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmYywweDgwLDB4ZWYsMHgyMCwweDExLDB4YzAgfSwKLSAgMTYsIDB4YTg0MCwgMCwgezB4MGUsMHg3MiwweDAzLDB4YmQsMHhiMCwweGNmLDB4MzEsMHhiZiwweGNjLDB4MDIsMHhmMCwweDAzLDB4ZmMsMHhjNiwweGNmLDB4MDEgfSwKLSAgMTYsIDB4YTg1MCwgMCwgezB4MGIsMHhjNSwweDBmLDB4ZjEsMHgwMywweDNjLDB4MDQsMHhlZiwweDYxLDB4MzMsMHhkOCwweDA3LDB4ZjAsMHgwMywweDM0LDB4ODAgfSwKLSAgMTYsIDB4YTg2MCwgMCwgezB4Y2QsMHgzMCwweDczLDB4Y2MsMHgwZiwweGU4LDB4MDMsMHgzMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTg3MCwgMCwgezB4ODAsMHgxOCwweGU5LDB4MDAsMHg4OCwweDY5LDB4MjIsMHgxMCwweDA4LDB4OGMsMHgwMCwweDIxLDB4ODQsMHg4OCwweDQxLDB4MjIgfSwKLSAgMTYsIDB4YTg4MCwgMCwgezB4MTAsMHg4OCwweDg2LDB4OTIsMHgwMSwweDAwLDB4ODgsMHg2MiwweDIyLDB4MTAsMHg0YiwweDg3LDB4MDIsMHgyMSwweGEwLDB4ODggfSwKLSAgMTYsIDB4YTg5MCwgMCwgezB4NjAsMHgyMCwweDEwLDB4MGIsMHg4NiwweGEyLDB4MzUsMHhhMCwweGFiLDB4NjAsMHhhMSwweGM0LDB4MGIsMHhiOCwweDAyLDB4MjAgfSwKLSAgMTYsIDB4YThhMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjZCwweGE4LDB4MzMsMHg0MSwweDIwLDB4YzYgfSwKLSAgMTYsIDB4YThiMCwgMCwgezB4NGEsMHgzMSwweDAwLDB4OGMsMHgxMCwweDkzLDB4MzMsMHgyOCwweGNjLDB4MjksMHgzNCwweDEyLDB4OGMsMHg1MCwweDkzLDB4MWMgfSwKLSAgMTYsIDB4YThjMCwgMCwgezB4MjgsMHg4NCwweDAxLDB4MjAsMHg0YSwweDRjLDB4NDEsMHg4MywweDEwLDB4MjQsMHhjYywweDRiLDB4MzEsMHg0MiwweDRjLDB4NDAgfSwKLSAgMTYsIDB4YThkMCwgMCwgezB4OTEsMHgxMCwweDI0LDB4YzAsMHgwYiwweDgwLDB4MDIsMHgyMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YThlMCwgMCwgezB4YzAsMHgwNSwweGE4LDB4MjAsMHg5MCwweDAyLDB4MjIsMHgwMCwweDA4LDB4ODAsMHgwMCwweDIwLDB4MzAsMHhiOCwweDA4LDB4MjYgfSwKLSAgMTYsIDB4YThmMCwgMCwgezB4MDAsMHgwMSwweDgwLDB4ODIsMHgyMCwweDIwLDB4MTgsMHgwOCwweDQyLDB4NDAsMHgwMywweDkxLDB4MDIsMHg2MCwweDAwLDB4MDggfSwKLSAgMTYsIDB4YTkwMCwgMCwgezB4MDEsMHhhNiwweDAwLDB4MGIsMHg4MCwweDAwLDB4NmMsMHgxMCwweGJiLDB4MDEsMHgyNiwweGMwLDB4NGIsMHg5MCwweDBhLDB4MzAgfSwKLSAgMTYsIDB4YTkxMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTEsMHhmZCwweDAwLDB4ZmQsMHg0MSwweDMzLDB4YTEgfSwKLSAgMTYsIDB4YTkyMCwgMCwgezB4MGUsMHhkMiwweDAzLDB4YjUsMHgwMiwweGRmLDB4NDIsMHgzYiwweDAxLDB4MGYsMHhkNCwweDQzLDB4YjUsMHgwMCwweGNkLDB4NDAgfSwKLSAgMTYsIDB4YTkzMCwgMCwgezB4MWIsMHhjNCwweDBkLDB4NzgsMHgwMywweDcwLDB4MDIsMHhlYywweDAwLDB4MTcsMHhhMSwweDBmLDB4ZTgsMHgwYiwweDJjLDB4MDIgfSwKLSAgMTYsIDB4YTk0MCwgMCwgezB4ZDksMHg5MCwweDI2LDB4YzAsMHgwZiwweGFjLDB4MDMsMHgwMCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTk1MCwgMCwgezB4ZTAsMHgwMSwweGI4LDB4MDAsMHhlZSwweDAwLDB4MWYsMHg2NCwweDRmLDB4ZTAsMHgwMywweGQ4LDB4MTAsMHhjNCwweDE4LDB4MzMgfSwKLSAgMTYsIDB4YTk2MCwgMCwgezB4YzAsMHgwYywweGEwLDB4YTEsMHhiOCwweDA5LDB4ZTYsMHgwOSwweDM2LDB4MjIsMHgwZiwweDg4LDB4MjMsMHhiYywweDAwLDB4ZmIgfSwKLSAgMTYsIDB4YTk3MCwgMCwgezB4MDAsMHgzYiwweDY0LDB4MGYsMHhkOSwweDAzLDB4OWMsMHgwMCwweGUzLDB4MDQsMHgzYiwweGMwLDB4MGYsMHhmNCwweDAzLDB4ZjggfSwKLSAgMTYsIDB4YTk4MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHg4ZCwweDAwLDB4YzksMHg0MCwweGI2LDB4ODAgfSwKLSAgMTYsIDB4YTk5MCwgMCwgezB4MGYsMHgxMCwweDAzLDB4YTcsMHgyMCwweGZiLDB4NTAsMHhiNiwweDA4LDB4NGMsMHgxNCwweDAzLDB4NjUsMHgyMiwweGQ5LDB4NDAgfSwKLSAgMTYsIDB4YTlhMCwgMCwgezB4YjYsMHg4MCwweDBlLDB4YTAsMHgwYiwweDAwLDB4MDAsMHhkOCwweDAwLDB4NzYsMHg4MiwweDI4LDB4YTAsMHgyMywweDY0LDB4MDAgfSwKLSAgMTYsIDB4YTliMCwgMCwgezB4YzksMHgwNCwweDEyLDB4YzAsMHg4ZSwweDgwLDB4MDMsMHg5MCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YTljMCwgMCwgezB4YzgsMHgwNSwweDJiLDB4NjAsMHg4YSwweDA5LDB4MjAsMHg1MCwweDA4LDB4YTAsMHgyMywweGU5LDB4MDAsMHhiOCwweGMwLDB4MjIgfSwKLSAgMTYsIDB4YTlkMCwgMCwgezB4ZjAsMHgwOCwweGFjLDB4MDIsMHgyOCwweDA0LDB4OGEsMHhjMiwweDIyLDB4NTAsMHgwOCwweDkwLDB4MDYsMHgyYywweDAwLDB4OGIgfSwKLSAgMTYsIDB4YTllMCwgMCwgezB4MDQsMHgyMiwweDUxLDB4MDgsMHg5NCwweDAyLDB4ZTQsMHgwNCwweDhiLDB4MDQsMHgzNywweGMwLDB4MDgsMHgxOCwweDQyLDB4MjYgfSwKLSAgMTYsIDB4YTlmMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDQsMHg0YiwweDAwLDB4ODIsMHhjOCwweDI0LDB4NDMgfSwKLSAgMTYsIDB4YWEwMCwgMCwgezB4MGIsMHgyNiwweDBhLDB4ODgsMHgwMCwweGIwLDB4ODAsMHgyMiwweGU0LDB4MGIsMHgyMCwweDQyLDB4NjksMHgwMCwweGEyLDB4OTAgfSwKLSAgMTYsIDB4YWExMCwgMCwgezB4MjgsMHg0MCwweGU4LDB4MTAsMHgwMiwweDBjLDB4MDAsMHhiYiwweDAwLDB4MjgsMHg1MCwweDg4LDB4OTAsMHg4MiwweGM0LDB4MDEgfSwKLSAgMTYsIDB4YWEyMCwgMCwgezB4ODMsMHgwMCwweDIwLDB4YzAsMHgwYSwweDEwLDB4MDIsMHhiYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWEzMCwgMCwgezB4MjAsMHgxMCwweDRlLDB4ODAsMHg4MSwweDAwLDB4MjEsMHhhOCwweDA4LDB4NTgsMHgwMiwweGQ2LDB4MDEsMHhiNywweDkwLDB4NjggfSwKLSAgMTYsIDB4YWE0MCwgMCwgezB4MjAsMHgwMywweDU5LDB4ODIsMHg1NiwweDAwLDB4YTUsMHg4NCwweDJkLDB4YTIsMHgxOCwweDY5LDB4MjIsMHgwMiwweDAwLDB4MzQgfSwKLSAgMTYsIDB4YWE1MCwgMCwgezB4ODAsMHgyOSwweGE4LDB4MDgsMHg2OCwweDA2LDB4YzYsMHgxNCwweDg1LDB4ODIsMHgyNSwweGUwLDB4MDgsMHg1OCwweDgyLDB4MWMgfSwKLSAgMTYsIDB4YWE2MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHg0OCwweDAwLDB4YzIsMHhmMCwweDM0LDB4NDAgfSwKLSAgMTYsIDB4YWE3MCwgMCwgezB4MGYsMHgyMCwweDAzLDB4ODgsMHg4MCwweGY4LDB4MTAsMHgzMCwweGMwLDB4MjcsMHgyMSwweDBiLDB4NDgsMHg4MCwweGVhLDB4MjAgfSwKLSAgMTYsIDB4YWE4MCwgMCwgezB4MzgsMHgwMCwweDBjLDB4MDAsMHgxMiwweDBjLDB4MDgsMHg3MywweDAwLDB4YjgsMHg0MCwweDBjLDB4MTIsMHgyMywweDRjLDB4MDIgfSwKLSAgMTYsIDB4YWE5MCwgMCwgezB4NDMsMHgzNCwweDMwLDB4YzAsMHgwZSwweDExLDB4MDMsMHg5MiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWFhMCwgMCwgezB4NDAsMHgxNSwweGFjLDB4OTAsMHhmOSwweDAxLDB4MmUsMHg4OCwweDRiLDB4OTAsMHgxMSwweDY0LDB4MDAsMHhmYiwweDEwLDB4MzIgfSwKLSAgMTYsIDB4YWFiMCwgMCwgezB4MDAsMHgwMCwweDkxLDB4MDMsMHhhNCwweDAwLDB4YzksMHgwMCwweDMyLDB4YzQsMHg0ZCwweGIwLDB4NDMsMHhlMCwweDA0LDB4YzggfSwKLSAgMTYsIDB4YWFjMCwgMCwgezB4MDAsMHgzNiwweDg5LDB4MGYsMHhhOCwweDAzLDB4ZWQsMHgwMCwweGY5LDB4MTQsMHgzZSwweGMwLDB4MGYsMHgxMCwweDQzLDB4ZDAgfSwKLSAgMTYsIDB4YWFkMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhlOCwweDAwLDB4YzgsMHgwMCwweDNhLDB4MDAgfSwKLSAgMTYsIDB4YWFlMCwgMCwgezB4MGMsMHgwMCwweDUzLDB4YTAsMHgwMCwweGU4LDB4MDEsMHgzMiwweDAxLDB4MGUsMHg4MCwweDUzLDB4MjAsMHgxMCwweGM4LDB4MDAgfSwKLSAgMTYsIDB4YWFmMCwgMCwgezB4M2EsMHg0MCwweDBjLDB4OTAsMHgwMywweDIwLDB4MTAsMHhlOCwweDA0LDB4YjYsMHgwMCwweDg0LDB4ODAsMHgwMywweDJkLDB4MTIgfSwKLSAgMTYsIDB4YWIwMCwgMCwgezB4Y2IsMHgwMCwweDJlLDB4Y2EsMHgwNCwweDkwLDB4MDMsMHhlYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWIxMCwgMCwgezB4NGMsMHgxOSwweDhjLDB4MDAsMHg4NywweDAyLDB4MjEsMHhjMCwweDA4LDB4NzAsMHgwMiwweDBjLDB4MDAsMHg4MywweDAwLDB4MjEgfSwKLSAgMTYsIDB4YWIyMCwgMCwgezB4YzAsMHgwOCwweDMwLDB4NjIsMHg0YywweDA0LDB4ODMsMHgwMCwweDIxLDB4ODAsMHg0OCwweGUwLDB4MTIsMHgzYywweDAwLDB4ODcgfSwKLSAgMTYsIDB4YWIzMCwgMCwgezB4MDAsMHgyMSwweGMwLDB4MDgsMHg3MCwweDAyLDB4MWMsMHgwMCwweDg1LDB4MDEsMHgyNCwweGQwLDB4MGEsMHg1MCwweDAyLDB4ZjIgfSwKLSAgMTYsIDB4YWI0MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIwLDB4MDAsMHg5YSwweDAwLDB4ODAsMHg4MCwweDI4LDB4MjAgfSwKLSAgMTYsIDB4YWI1MCwgMCwgezB4MDgsMHg0YywweDIyLDB4ZDIsMHgwMCwweGE0LDB4ODAsMHgyNCwweDMwLDB4MGIsMHg0OCwweDAyLDB4NTIsMHgwMCwweDg0LDB4YzAgfSwKLSAgMTYsIDB4YWI2MCwgMCwgezB4MjEsMHgyMCwweDA5LDB4NDgsMHg2OCwweDEzLDB4MDAsMHhhNCwweDgwLDB4NjAsMHgyMCwweDA5LDB4MDgsMHgwMiwweDU2LDB4MDAgfSwKLSAgMTYsIDB4YWI3MCwgMCwgezB4OTcsMHg4MCwweDJkLDB4ZTAsMHg4OCwweDU4LDB4MDIsMHhlMCwweDEwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWI4MCwgMCwgezB4NmMsMHgwNCwweGNjLDB4MDAsMHg4MywweDgwLDB4MjAsMHhkOCwweDA4LDB4MzAsMHgwMiwweDRjLDB4NDAsMHg4MywweDAwLDB4MjQgfSwKLSAgMTYsIDB4YWI5MCwgMCwgezB4ZDEsMHgwOSwweGI5LDB4NDIsMHg0ZSwweDAwLDB4ODMsMHgwMCwweDIwLDB4YzEsMHg4OSwweDMwLDB4NDIsMHgwYywweDAwLDB4ODMgfSwKLSAgMTYsIDB4YWJhMCwgMCwgezB4ZjAsMHhhMCwweGQ5LDB4MTksMHgzNiwweDIyLDB4NjYsMHgwNiwweDkxLDB4MDAsMHgwYywweGMxLDB4MGEsMHgxMCwweDAyLDB4YzIgfSwKLSAgMTYsIDB4YWJiMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhlOCwweDAyLDB4Y2EsMHhhNSwweDJhLDB4OTEgfSwKLSAgMTYsIDB4YWJjMCwgMCwgezB4MjgsMHhhOCwweDAzLDB4ZWEsMHgwMiwweGFhLDB4MDAsMHhiNiwweGEwLDB4MGYsMHhhMCwweDBhLDB4MmEsMHg5MiwweGNhLDB4ODMgfSwKLSAgMTYsIDB4YWJkMCwgMCwgezB4YmEsMHg4MCwweDI5LDB4YTAsMHgwMywweDJiLDB4MDAsMHhlYSwweDQwLDB4NjYsMHg5MCwweDJkLDB4ZTQsMHgwYiwweDZhLDB4ODAgfSwKLSAgMTYsIDB4YWJlMCwgMCwgezB4ZGEsMHgwMCwweDNlLDB4ODAsMHgwYywweGUwLDB4MDMsMHhmYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWJmMCwgMCwgezB4NDgsMHgwMSwweDgwLDB4MDAsMHhmYywweDAwLDB4M2QsMHgwMCwweDBmLDB4YzAsMHgwMywweGIwLDB4MTQsMHhmYywweDAwLDB4M2IgfSwKLSAgMTYsIDB4YWMwMCwgMCwgezB4MTIsMHgwZSwweGMwLDB4NDMsMHhiMSwweDE0LDB4ZmMsMHgwMCwweDNkLDB4MDAsMHgwZSwweGMwLDB4MDMsMHhmMCwweDIwLDB4ZjQgfSwKLSAgMTYsIDB4YWMxMCwgMCwgezB4MDAsMHgzMSwweDAwLDB4MGUsMHg0NCwweDEzLDB4YTAsMHgwMCwweGU4LDB4MDYsMHgzNiwweDAwLDB4NGYsMHg4MCwweDEzLDB4ZDIgfSwKLSAgMTYsIDB4YWMyMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhhNCwweDAwLDB4ZDEsMHgwMCwweDM2LDB4NjAgfSwKLSAgMTYsIDB4YWMzMCwgMCwgezB4MWMsMHgxOCwweDBiLDB4NDYsMHgwMCwweGQ5LDB4ODAsMHgzMCwweDQwLDB4MmMsMHg5OCwweDA1LDB4ODYsMHgwMCwweGMxLDB4ODAgfSwKLSAgMTYsIDB4YWM0MCwgMCwgezB4OTIsMHg0MCwweDBkLDB4MTAsMHgwMywweDQ0LDB4MDIsMHg4OSwweDAwLDB4MzIsMHg3MCwweDBjLDB4OTgsMHgwMSwweDI0LDB4MDAgfSwKLSAgMTYsIDB4YWM1MCwgMCwgezB4YzksMHgwNCwweDMwLDB4NDAsMHgwYywweDkwLDB4MDMsMHhjMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWM2MCwgMCwgezB4ODAsMHgwNCwweDY0LDB4MDAsMHg4OSwweDAwLDB4MjIsMHg0MCwweDA4LDB4OTQsMHgwMiwweDI0LDB4ODAsMHg4OSwweDAxLDB4MjIgfSwKLSAgMTYsIDB4YWM3MCwgMCwgezB4NDAsMHg0OCwweDkxLDB4MDIsMHgyNCwweDAwLDB4ZDksMHg5MCwweDIyLDB4NDEsMHgwOCwweDkwLDB4MTIsMHgyNCwweDEwLDB4ODkgfSwKLSAgMTYsIDB4YWM4MCwgMCwgezB4MDAsMHgzMiwweDQwLDB4MDgsMHg5NSwweDEyLDB4MjQsMHgwMiwweDgxLDB4MDAsMHhhMiwweDQxLDB4MGQsMHg5MCwweDQyLDB4ZTAgfSwKLSAgMTYsIDB4YWM5MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDM4LDB4MDUsMHgyNCwweDAyLDB4OWQsMHgwMCwweDIzLDB4NDQgfSwKLSAgMTYsIDB4YWNhMCwgMCwgezB4MDgsMHhkMiwweDA2LDB4NzQsMHg4MCwweGI1LDB4MjAsMHgyMywweDQwLDB4MWEsMHhkMCwweDA2LDB4MzUsMHg5MCwweDhkLDB4MDIgfSwKLSAgMTYsIDB4YWNiMCwgMCwgezB4MmYsMHg0NCwweDE5LDB4ZDAsMHgwMiwweDc0LDB4MDAsMHg4ZCwweDAwLDB4NjMsMHg0MCwweDE4LDB4ZDQsMHgwMiwweGE0LDB4MTEgfSwKLSAgMTYsIDB4YWNjMCwgMCwgezB4ODksMHgwMCwweDIyLDB4NDAsMHgwOCwweGIwLDB4MDIsMHhjNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWNkMCwgMCwgezB4MjgsMHgxNCwweDA0LDB4ODAsMHg4NSwweDIwLDB4MjEsMHg2OCwweDA4LDB4NTIsMHgwMiwweDE0LDB4ODAsMHhhNSwweDIwLDB4YTEgfSwKLSAgMTYsIDB4YWNlMCwgMCwgezB4NDgsMHgwYSwweDcyLDB4MzgsMHgxNCwweDgwLDB4OTUsMHgyNCwweDJkLDB4NDgsMHgyOCwweDUyLDB4MDIsMHgxNCwweDgwLDB4ODUgfSwKLSAgMTYsIDB4YWNmMCwgMCwgezB4MjAsMHgyMSwweDQ4LDB4MDgsMHg1MiwweDA2LDB4ODQsMHg4MCwweDgxLDB4MjAsMHgyMCwweDRhLDB4MDksMHgxMCwweDAyLDB4YzIgfSwKLSAgMTYsIDB4YWQwMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDM4LDB4MGQsMHg2MSwweDQwLDB4ZDgsMHg1MCwweGIyLDB4MTQgfSwKLSAgMTYsIDB4YWQxMCwgMCwgezB4MjgsMHhhMCwweDAzLDB4NjEsMHg0MCwweGY4LDB4NTAsMHgzMiwweDk0LDB4NGUsMHg4NSwweDA0LDB4MjEsMHg0MiwweGM4LDB4NTAgfSwKLSAgMTYsIDB4YWQyMCwgMCwgezB4M2MsMHgxNCwweDBkLDB4ODAsMHgwMywweDYxLDB4NDAsMHg4OCwweDUwLDB4YjIsMHgxNCwweDJjLDB4YzUsMHgwOSwweGExLDB4NDAgfSwKLSAgMTYsIDB4YWQzMCwgMCwgezB4YzgsMHg1MCwweDMyLDB4MWMsMHgwYywweDgwLDB4MDMsMHhlZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWQ0MCwgMCwgezB4OTgsMHgxNSwweGU0LDB4NDAsMHhmOSwweDEwLDB4M2EsMHg0NCwweDBmLDB4OTEsMHgwMywweGU0LDB4NDAsMHhkOSwweDE0LDB4M2UgfSwKLSAgMTYsIDB4YWQ1MCwgMCwgezB4NDQsMHgwZCwweDkxLDB4NDMsMHg2NCwweDQwLDB4ZTksMHgxMCwweDMyLDB4NDQsMHgwNywweDkzLDB4YzMsMHhlNCwweDUwLDB4ZDEgfSwKLSAgMTYsIDB4YWQ2MCwgMCwgezB4MTAsMHg3ZSwweDQ0LDB4MDMsMHg5MSwweDAxLDB4NTQsMHg0NCwweGZkLDB4MTQsMHgzZSwweDQwLDB4MGYsMHhkMCwweDAzLDB4ZTYgfSwKLSAgMTYsIDB4YWQ3MCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhmNiwweDgwLDB4ZGQsMHhhMCwweDMzLDB4NjggfSwKLSAgMTYsIDB4YWQ4MCwgMCwgezB4MWUsMHhkYSwweDAzLDB4MzYsMHg5MCwweGNkLDB4YTAsMHgzYiwweDY4LDB4MGEsMHhkOCwweDIzLDB4NzYsMHgwYywweGVkLDB4ODAgfSwKLSAgMTYsIDB4YWQ5MCwgMCwgezB4MmIsMHg2MiwweDBiLDB4OTksMHgwMiwweGE3LDB4ODAsMHhmOSwweGUxLDB4MzcsMHg2OCwweDBjLDB4ZGEsMHgwMywweDI3LDB4ODAgfSwKLSAgMTYsIDB4YWRhMCwgMCwgezB4YzksMHhhMiwweDIyLDB4NjgsMHg0YywweDUwLDB4MDMsMHhjNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWRiMCwgMCwgezB4MzgsMHgxOCwweGUxLDB4NDAsMHg4OCwweDUwLDB4MjIsMHgxNCwweDA4LDB4ODAsMHgyMiwweDYwLDB4MDAsMHg4OCwweDA0LDB4MjIgfSwKLSAgMTYsIDB4YWRjMCwgMCwgezB4MDAsMHgwOCwweDA0LDB4MjYsMHgwMSwweDAwLDB4ODgsMHg1MCwweDIyLDB4MTAsMHgwOCwweGFmLDB4MDIsMHgyMywweDAwLDB4ODggfSwKLSAgMTYsIDB4YWRkMCwgMCwgezB4YzAsMHhhMCwweDEwLDB4ODgsMHg4NCwweDAyLDB4MjMsMHg4MCwweGEwLDB4NDAsMHgyYSwweDEwLDB4MDgsMHg4MCwweDEyLDB4NGUgfSwKLSAgMTYsIDB4YWRlMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDAsMHg4NCwweDAwLDB4ODEsMHgwMSwweDIwLDB4NDAgfSwKLSAgMTYsIDB4YWRmMCwgMCwgezB4MGEsMHgxNCwweDAyLDB4NDUsMHgwMCwweDgxLDB4NDEsMHgyYywweDUwLDB4MGIsMHgxNCwweDAyLDB4MDUsMHgwNCwweGExLDB4MDAgfSwKLSAgMTYsIDB4YWUwMCwgMCwgezB4MjgsMHg0MCwweDgyLDB4MTAsMHgwMiwweDg0LDB4NDAsMHhhMSwweDMyLDB4ODAsMHg1MCwweDA5LDB4MTQsMHgwMiwweDA0LDB4YzQgfSwKLSAgMTYsIDB4YWUxMCwgMCwgezB4OTEsMHgxMCwweDY0LDB4NDQsMHgyOCwweDEwLDB4MDIsMHhkMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWUyMCwgMCwgezB4MTgsMHgwNCwweGFjLDB4MDIsMHg4MSwweDAwLDB4MjIsMHhjMSwweDA4LDB4OTAsMHgwMiwweDQ0LDB4MDIsMHg4OSwweDAyLDB4MjYgfSwKLSAgMTYsIDB4YWUzMCwgMCwgezB4NDEsMHgwOSwweDkwLDB4MGEsMHgyNCwweDBjLDB4ODksMHgwNCwweDIyLDB4NTAsMHgwOCwweDkwLDB4MjYsMHgyNCwweDAwLDB4ODkgfSwKLSAgMTYsIDB4YWU0MCwgMCwgezB4MDAsMHgyMiwweDQxLDB4MDksMHgxMCwweDIyLDB4MjQsMHg0MCwweGI5LDB4MDEsMHgyZSwweDQwLDB4MDgsMHg5MCwweDAyLDB4NDYgfSwKLSAgMTYsIDB4YWU1MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNCwweDEwLDB4ODksMHgwMCwweDMyLDB4NDAgfSwKLSAgMTYsIDB4YWU2MCwgMCwgezB4MGEsMHg5MCwweDBiLDB4MjQsMHgxMCwweDg5LDB4MDAsMHgxZSwweDQwLDB4OWIsMHg5MCwweDAyLDB4MjQsMHgxMCwweDI5LDB4MDAgfSwKLSAgMTYsIDB4YWU3MCwgMCwgezB4MWEsMHg0MCwweDBlLDB4OTQsMHg0MSwweGE0LDB4MDAsMHgyOSwweDAwLDB4MTIsMHg0MCwweDA1LDB4OTAsMHg0MSwweDI2LDB4MDAgfSwKLSAgMTYsIDB4YWU4MCwgMCwgezB4ZDksMHgwMCwweDI0LDB4NDAsMHgwYywweDkwLDB4MDMsMHhlOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWU5MCwgMCwgezB4NDgsMHgwMSwweGE0LDB4MDIsMHhhOSwweDAwLDB4YmMsMHg0MCwweDBmLDB4OTAsMHgwMywweGE0LDB4MDQsMHhmOSwweDAwLDB4M2EgfSwKLSAgMTYsIDB4YWVhMCwgMCwgezB4NDEsMHgwZSwweDkwLDB4ODMsMHg4NCwweDAwLDB4ZjksMHgwMCwweDNjLDB4NDAsMHgwZSwweDkwLDB4MDIsMHhjNCwweDA4LDB4ZTkgfSwKLSAgMTYsIDB4YWViMCwgMCwgezB4MDAsMHgzYSwweDQwLDB4MmUsMHg5MCwweDBiLDB4ZTYsMHgwMCwweGUxLDB4MDQsMHgzYSwweDQwLDB4MGYsMHg5MiwweDAzLDB4NWEgfSwKLSAgMTYsIDB4YWVjMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhhMCwweDIwLDB4ZDgsMHgwMCwweDM2LDB4MDIgfSwKLSAgMTYsIDB4YWVkMCwgMCwgezB4MGUsMHgwMCwweGEzLDB4ZTAsMHgxOCwweGMwLDB4MDAsMHgzMCwweDAzLDB4MGYsMHg4MCwweDMzLDB4MjAsMHgwMCwweDQwLDB4MDAgfSwKLSAgMTYsIDB4YWVlMCwgMCwgezB4MzIsMHgwZCwweDBmLDB4MDQsMHgwYiwweGEwLDB4MDIsMHhjOCwweDAyLDB4MzIsMHgwMiwweDhjLDB4ODIsMHgwMywweDIwLDB4MDIgfSwKLSAgMTYsIDB4YWVmMCwgMCwgezB4YzgsMHgwNCwweDE2LDB4MDAsMHg0ZSwweDgwLDB4MDEsMHgwYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWYwMCwgMCwgezB4MjgsMHgwNSwweDNiLDB4MDAsMHg4ZSwweGQ4LDB4MjMsMHg4MCwweDA4LDB4ZTAsMHgwMiwweGY4LDB4ODAsMHg4ZSwweDEwLDB4MjMgfSwKLSAgMTYsIDB4YWYxMCwgMCwgezB4YTIsMHgwYiwweGUwLDB4ODIsMHg3YSwweDIwLDB4OGUsMHgzMCwweDIzLDB4YTEsMHgwYiwweGUwLDB4MDIsMHgyOCwweDAwLDB4OGUgfSwKLSAgMTYsIDB4YWYyMCwgMCwgezB4MDAsMHgyYiwweDg4LDB4MDgsMHhlNCwweDQyLDB4MzgsMHgwMCwweDhlLDB4MDQsMHgyMywweDgwLDB4MDgsMHhhMCwweDAyLDB4MGEgfSwKLSAgMTYsIDB4YWYzMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg2ZiwweDQwLDB4OTMsMHhjNiwweDI0LDB4NDAgfSwKLSAgMTYsIDB4YWY0MCwgMCwgezB4MGEsMHgzOCwweDAyLDB4Y2MsMHgwMCwweDgzLDB4MDEsMHhhYywweGYwLDB4MGIsMHhiNCwweDAyLDB4NGMsMHgwNCwweGEzLDB4ODAgfSwKLSAgMTYsIDB4YWY1MCwgMCwgezB4MjgsMHhkMCwweDRiLDB4MzAsMHgwMiwweDRjLDB4MDAsMHhhYiwweDA0LDB4MmEsMHhjMCwweDJhLDB4MzAsMHgwYSwweGFjLDB4MTAgfSwKLSAgMTYsIDB4YWY2MCwgMCwgezB4OTMsMHgwMCwweDIwLDB4YzEsMHgwYSwweDMxLDB4MDIsMHgwYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWY3MCwgMCwgezB4ODAsMHgxMSwweDFjLDB4MDAsMHg4MiwweDAwLDB4MjEsMHg0MiwweDg4LDB4NzQsMHgwNiwweGRjLDB4MGIsMHg4NiwweDAyLDB4MmQgfSwKLSAgMTYsIDB4YWY4MCwgMCwgezB4ODAsMHgwYiwweDcwLDB4MmEsMHg1OCwweDAwLDB4YTYsMHgwMCwweGE5LDB4YzAsMHgwYiwweDcwLDB4MDIsMHg1YywweDg4LDB4YTcgfSwKLSAgMTYsIDB4YWY5MCwgMCwgezB4MjAsMHgyOSwweGMwLDB4MGEsMHg3MCwweDAyLDB4OWMsMHgxMCwweDk3LDB4MjAsMHhhMSwweGM4LDB4MDgsMHhkOCwweDAyLDB4MjggfSwKLSAgMTYsIDB4YWZhMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDgsMHgwZSwweDAwLDB4ZDcsMHg4MCwweDM3LDB4NjAgfSwKLSAgMTYsIDB4YWZiMCwgMCwgezB4MGUsMHg2OCwweDEzLDB4ZmUsMHgwMCwweGNmLDB4ODAsMHgzZCwweGUwLDB4MGYsMHg3OCwweDIzLDB4MWUsMHgwMCwweGVmLDB4ODIgfSwKLSAgMTYsIDB4YWZjMCwgMCwgezB4MzEsMHhlMCwweDBmLDB4M2MsMHhjMywweDdlLDB4MDQsMHhlZiwweDgwLDB4YjEsMHhlMCwweDBlLDB4ZTgsMHgwMywweGJlLDB4ODAgfSwKLSAgMTYsIDB4YWZkMCwgMCwgezB4ZDcsMHhlMCwweDMzLDB4ZWEsMHgwZSwweDc4LDB4MDMsMHgyYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YWZlMCwgMCwgezB4MDgsMHgxNSwweGFjLDB4MDAsMHhmYSwweDAxLDB4M2UsMHgwMCwweDBmLDB4YjAsMHgwMywweGUwLDB4MDQsMHhmOCwweDAwLDB4MzIgfSwKLSAgMTYsIDB4YWZmMCwgMCwgezB4ODAsMHgwZiwweDgwLDB4NDMsMHhhYywweDBhLDB4ZDgsMHgwMCwweDM2LDB4NDAsMHgwZiwweGIwLDB4MDMsMHgyYywweDBjLDB4ZGIgfSwKLSAgMTYsIDB4YjAwMCwgMCwgezB4MDAsMHgyNiwweGMxLDB4MDksMHhhMCwweDEzLDB4NmMsMHg0MCwweGViLDB4NDAsMHgzYSwweGRjLDB4MGYsMHg5MCwweDBiLDB4YzIgfSwKLSAgMTYsIDB4YjAxMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDQsMHhiZSwweDAwLDB4Y2YsMHg4MSwweDMzLDB4ZTkgfSwKLSAgMTYsIDB4YjAyMCwgMCwgezB4MWYsMHhmOSwweDEzLDB4YjYsMHg1MCwweGVmLDB4ODAsMHgxZiwweGU0LDB4MDQsMHhjOCwweDAzLDB4N2UsMHgwMCwweDZkLDB4ODEgfSwKLSAgMTYsIDB4YjAzMCwgMCwgezB4MzMsMHg2NCwweDBjLDB4ZjgsMHgxYiwweDNlLDB4MjAsMHgyZiwweDg4LDB4OTMsMHhlOCwweDBmLDB4ZmIsMHgwMywweDJlLDB4ODAgfSwKLSAgMTYsIDB4YjA0MCwgMCwgezB4Y2YsMHhjMCwweDczLDB4ZTAsMHgyYywweGQ5LDB4MDMsMHhkMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjA1MCwgMCwgezB4YTgsMHgxOCwweDkwLDB4NDIsMHg4OSwweDE4LDB4MjEsMHhjMCwweDFmLDB4NzEsMHgwMiwweDE0LDB4YzAsMHhmNywweDIwLDB4MjcgfSwKLSAgMTYsIDB4YjA2MCwgMCwgezB4NDAsMHg0MCwweDcxLDB4MTIsMHgxOCwweDAwLDB4ODcsMHgyMCwweDIxLDB4ODAsMHg0OCwweDcxLDB4MDIsMHgzYywweDA4LDB4ODcgfSwKLSAgMTYsIDB4YjA3MCwgMCwgezB4MjAsMHgyMSwweDgyLDB4MGIsMHg2MSwweGEyLDB4MWUsMHg0NCwweGRmLDB4MDEsMHgzMSwweGM4LDB4MDgsMHg3MywweDAyLDB4ZWEgfSwKLSAgMTYsIDB4YjA4MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4MDAsMHg4YywweDAwLDB4ODcsMHgwMCwweDIxLDB4YzggfSwKLSAgMTYsIDB4YjA5MCwgMCwgezB4MGIsMHg3MCwweDAyLDB4OWMsMHgwOSwweDg3LDB4MDIsMHgyZCwweDgyLDB4OTksMHg0MCwweDAyLDB4MDQsMHgwMCwweGE1LDB4MDkgfSwKLSAgMTYsIDB4YjBhMCwgMCwgezB4MjEsMHg0MCwweDE5LDB4NzAsMHgwMiwweDFjLDB4MDAsMHg4NywweDA1LDB4MjUsMHg0OCwweDRiLDB4NzIsMHgwMiwweDBjLDB4NDAgfSwKLSAgMTYsIDB4YjBiMCwgMCwgezB4ODcsMHgwMCwweGExLDB4YzAsMHg0OCwweDUwLDB4MDIsMHhjNCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjBjMCwgMCwgezB4NjgsMHgwNCwweGMxLDB4MjAsMHg4OSwweDRjLDB4YTAsMHhiNCwweDBhLDB4MzgsMHgwMiwweDIyLDB4MDAsMHhhMSwweGQwLDB4MjQgfSwKLSAgMTYsIDB4YjBkMCwgMCwgezB4MzAsMHgwOSwweDgwLDB4MDIsMHgyNywweDQ0LDB4ODEsMHhjNiwweDIyLDB4MTQsMHgwOSwweDNkLDB4MmEsMHgwZiwweDAyLDB4OGIgfSwKLSAgMTYsIDB4YjBlMCwgMCwgezB4YzAsMHhhNiwweDIwLDB4MGIsMHgyNCwweDAwLDB4MGMsMHgxMCwweDkzLDB4ODEsMHgyMCwweGMwLDB4NDgsMHgzMCwweDA2LDB4ZDggfSwKLSAgMTYsIDB4YjBmMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MTUsMHhhMSwweDAwLDB4ODksMHhjMSwweDMyLDB4ZDEgfSwKLSAgMTYsIDB4YjEwMCwgMCwgezB4MDMsMHhiYywweDAzLDB4YTksMHgyMCwweDg5LDB4NDEsMHgzZSwweDYwLDB4ODUsMHhiYywweDhiLDB4MjUsMHg0MCwweGViLDB4NDEgfSwKLSAgMTYsIDB4YjExMCwgMCwgezB4YTIsMHhhMCwweDBkLDB4ZjAsMHgxMywweDNlLDB4MjAsMHhjZiwweDkwLDB4MzYsMHgzMCwweDRmLDB4YmMsMHgwYiwweDNjLDB4MDAgfSwKLSAgMTYsIDB4YjEyMCwgMCwgezB4Y2YsMHg4MCwweDMzLDB4YzEsMHgwYywweGIxLDB4MDMsMHhlYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjEzMCwgMCwgezB4ODAsMHgwMCwweGVkLDB4MDAsMHhmOCwweDAxLDB4M2MsMHhkMCwweDBmLDB4YjMsMHgwMywweGU4LDB4ODIsMHhkOCwweDIwLDB4MzYgfSwKLSAgMTYsIDB4YjE0MCwgMCwgezB4ODAsMHgyZSwweGIyLDB4MTMsMHhlMSwweDAwLDB4ZmEsMHgwMCwweDdlLDB4YzgsMHgyZSwweGIwLDB4MDMsMHhlYywweDgwLDB4ZGIgfSwKLSAgMTYsIDB4YjE1MCwgMCwgezB4MTAsMHgzYSwweDA4LDB4NGYsMHhiMiwweDIzLDB4Y2MsMHgwMiwweGZiLDB4MTAsMHgzYSwweGMwLDB4MGYsMHg5MCwweDAzLDB4ZTQgfSwKLSAgMTYsIDB4YjE2MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTAsMHhmMCwweDAwLDB4Y2QsMHgxMCwweDMzLDB4NDIgfSwKLSAgMTYsIDB4YjE3MCwgMCwgezB4MGMsMHhjYSwweDIzLDB4N2MsMHgwMCwweGNmLDB4MDAsMHgzMywweDYyLDB4MDYsMHhmMCwweDAxLDB4M2EsMHgwMCwweGNmLDB4MDggfSwKLSAgMTYsIDB4YjE4MCwgMCwgezB4MzMsMHg4MCwweDFjLDB4ZjAsMHg4MSwweDNjLDB4MDAsMHhmZiwweDAwLDB4MzMsMHhhMCwweDBjLDB4Y2EsMHgwMSwweGZjLDB4MDQgfSwKLSAgMTYsIDB4YjE5MCwgMCwgezB4Y2YsMHgwMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhjMCwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjFhMCwgMCwgezB4YTEsMHgwNCwweDZkLDB4NDAsMHg4OCwweDQ4LDB4YTIsMHgzMSwweDA4LDB4MTAsMHgwMiwweDIwLDB4MTAsMHg4OCwweGI0LDB4MjIgfSwKLSAgMTYsIDB4YjFiMCwgMCwgezB4YTAsMHgwOCwweDgwLDB4MDAsMHg2YSwweDg0LDB4ODgsMHgyMCwweDIyLDB4NTIsMHgwOCwweGIwLDB4MGEsMHgyYywweDEwLDB4YmIgfSwKLSAgMTYsIDB4YjFjMCwgMCwgezB4MDAsMHgzMiwweGIzLDB4ODgsMHg4MCwweDAyLDB4ZWMsMHgwMCwweGRiLDB4MDAsMHgyZSwweGMwLDB4MGIsMHg5MCwweDEyLDB4ZTEgfSwKLSAgMTYsIDB4YjFkMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHgwMCwweDEwLDB4OGEsMHgwMSwweDIyLDB4YTAgfSwKLSAgMTYsIDB4YjFlMCwgMCwgezB4MDgsMHhiMCwweDQyLDB4NjAsMHgyMCwweDgwLDB4MDAsMHgyMCwweDQ0LDB4MWEsMHg4MCwweDFhLDB4ZTQsMHg0MiwweGEwLDB4MDYgfSwKLSAgMTYsIDB4YjFmMCwgMCwgezB4MjIsMHgwMCwweDc4LDB4MzAsMHgwMiwweGFjLDB4MDAsMHhiYiwweDAwLDB4YTIsMHg0NCwweDA4LDB4YjAsMHgxMiwweGVjLDB4MDAgfSwKLSAgMTYsIDB4YjIwMCwgMCwgezB4OGIsMHgwMCwweDBlLDB4YzAsMHgwYiwweDkwLDB4MDIsMHhlMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjIxMCwgMCwgezB4MDgsMHgxNCwweDAwLDB4MDgsMHg4MCwweDAwLDB4MjAsMHg4MSwweDA4LDB4MzAsMHgwMiwweDQwLDB4MTIsMHg4MCwweDAwLDB4YTAgfSwKLSAgMTYsIDB4YjIyMCwgMCwgezB4NDAsMHgwOCwweGIwLDB4MDIsMHhjMCwweDAwLDB4ODIsMHgwMCwweDAwLDB4ODAsMHgwOCwweDMwLDB4MDIsMHg4YywweDAwLDB4YmIgfSwKLSAgMTYsIDB4YjIzMCwgMCwgezB4MDAsMHgyMCwweDAwLDB4MDgsMHgyMCwweDAyLDB4Y2MsMHg4MCwweDkzLDB4MDAsMHgyYywweGMwLDB4MGIsMHgzMCwweDAyLDB4YzIgfSwKLSAgMTYsIDB4YjI0MCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2MCwweDAwLDB4Y2EsMHgxNCwweDMyLDB4MDAgfSwKLSAgMTYsIDB4YjI1MCwgMCwgezB4MGMsMHhiMCwweDAzLDB4NGMsMHgwMCwweGNhLDB4MDAsMHgzMiwweDAwLDB4MGUsMHgwMCwweDEyLDB4YTAsMHgwMCwweGMwLDB4MDAgfSwKLSAgMTYsIDB4YjI2MCwgMCwgezB4NzAsMHgwMCwweDI4LDB4ZjAsMHgxMywweGFjLDB4MDAsMHhmYiwweDAwLDB4MzIsMHg0MCwweDJjLDB4MTAsMHg0MywweGVjLDB4MDAgfSwKLSAgMTYsIDB4YjI3MCwgMCwgezB4Y2YsMHgwMCwweDNmLDB4YzAsMHgwZiwweDkwLDB4MDMsMHhjMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjI4MCwgMCwgezB4MjAsMHgxNSwweGYwLDB4MDIsMHhmYywweDAwLDB4MWYsMHgwMCwweDY3LDB4NzAsMHgwMywweGIwLDB4MDAsMHhmYywweDAwLDB4M2YgfSwKLSAgMTYsIDB4YjI5MCwgMCwgezB4MDAsMHgyZCwweGMwLDB4MDMsMHgzMCwweDEwLDB4ZmMsMHgwMSwweGJmLDB4MDAsMHgwZiwweDcwLDB4MDMsMHg3YywweDAwLDB4ZjcgfSwKLSAgMTYsIDB4YjJhMCwgMCwgezB4MDQsMHgzYiwweDAwLDB4MGYsMHhjMCwweDEzLDB4ZmQsMHgxMCwweGZmLDB4MDAsMHgzZCwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZTggfSwKLSAgMTYsIDB4YjJiMCwgMCwgezB4MTIsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmNCwweGMwLDB4Y2YsMHg4MCwweDMzLDB4NjAgfSwKLSAgMTYsIDB4YjJjMCwgMCwgezB4MGUsMHhjOSwweDEzLDB4MzYsMHg1MCwweGNlLDB4ODYsMHgzZiwweDA4LDB4MGMsMHhjMCwweDAzLDB4M2UsMHgwMiwweGQ3LDB4ODAgfSwKLSAgMTYsIDB4YjJkMCwgMCwgezB4MzksMHhlMCwweDBmLDB4ZjgsMHgxMywweDNlLDB4NDAsMHhjNywweDMwLDB4M2IsMHhjZSwweDBkLDB4ZjYsMHgwMywweDNkLDB4ODggfSwKLSAgMTYsIDB4YjJlMCwgMCwgezB4Y2YsMHgzMSwweDMzLDB4ZTQsMHgwZiwweDc4LDB4MDMsMHgzMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjJmMCwgMCwgezB4ODAsMHgxMCwweGU1LDB4ZDAsMHhkYiwweDgwLDB4NzIsMHg2MCwweDg4LDB4OTIsMHgwMiwweGU0LDB4MTAsMHg4YSwweDgwLDB4MmUgfSwKLSAgMTYsIDB4YjMwMCwgMCwgezB4MzQsMHg0YSwweDhjLDB4MDMsMHgyZSwweDAwLDB4YWIsMHg4MCwweDAyLDB4ZTAsMHgwYiwweGI4LDB4MDIsMHgyYywweDgwLDB4OGYgfSwKLSAgMTYsIDB4YjMxMCwgMCwgezB4NjAsMHgxMywweGQ4LDB4NGEsMHg3NiwweDAyLDB4OWQsMHg4NCwweGFmLDB4MzAsMHgyMiwweDQ4LDB4MGIsMHg4OCwweDEyLDB4YTAgfSwKLSAgMTYsIDB4YjMyMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhjNCwweDAwLDB4OGIsMHgwMCwweDI0LDB4MDAgfSwKLSAgMTYsIDB4YjMzMCwgMCwgezB4NGEsMHgwMCwweDAyLDB4YWMsMHg4MCwweDgzLDB4MDAsMHgyYywweDAxLDB4MjgsMHgwNCwweDAyLDB4YWMsMHgwMCwweDhiLDB4MDEgfSwKLSAgMTYsIDB4YjM0MCwgMCwgezB4MjAsMHhjMCwweDAzLDB4YjAsMHgwMiwweDBjLDB4ODAsMHg4MywweDQwLDB4MjAsMHhjMSwweGE4LDB4MzQsMHgyMiwweDhkLDB4MTMgfSwKLSAgMTYsIDB4YjM1MCwgMCwgezB4ODMsMHgyMCwweGFjLDB4YzgsMHgwYiwweGIwLDB4MDIsMHg2MiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjM2MCwgMCwgezB4YzAsMHgxNSwweDg2LDB4MDAsMHg5YiwweDA0LDB4YWUsMHgwMCwweDBhLDB4OTAsMHgwMiwweGVjLDB4MDAsMHgwYiwweDE0LDB4MmUgfSwKLSAgMTYsIDB4YjM3MCwgMCwgezB4YzYsMHgwMiwweGIxLDB4MTIsMHg2YywweDAwLDB4YWIsMHgyMCwweDJhLDB4YzEsMHgwYiwweGIwLDB4NDIsMHgyYywweDAwLDB4OGIgfSwKLSAgMTYsIDB4YjM4MCwgMCwgezB4MDIsMHgyNiwweGMxLDB4MGEsMHhiMCwweDAyLDB4YWMsMHgwMCwweGFiLDB4MDQsMHgyYSwweDQwLDB4MGIsMHg5MCwweDAyLDB4ZjAgfSwKLSAgMTYsIDB4YjM5MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTEsMHhlNywweDAwLDB4YzMsMHgwMSwweDM2LDB4NDAgfSwKLSAgMTYsIDB4YjNhMCwgMCwgezB4MGUsMHg4OCwweDEzLDB4MjQsMHgwMiwweGNhLDB4MDAsMHgxZSwweDIwLDB4MmMsMHg4ZSwweDBiLDB4MmMsMHgwMCwweGNiLDB4MDAgfSwKLSAgMTYsIDB4YjNiMCwgMCwgezB4MmEsMHhjMCwweDBmLDB4YjgsMHgwMywweDJlLDB4MDYsMHhjYiwweDAwLDB4M2EsMHhjMCwweDRjLDB4YjAsMHgxMywweGFjLDB4MGMgfSwKLSAgMTYsIDB4YjNjMCwgMCwgezB4Y2IsMHgwMCwweDNlLDB4YzgsMHgwZiwweGIwLDB4NDMsMHg1MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjNkMCwgMCwgezB4ZTAsMHgwMSwweGI0LDB4MDgsMHhmZiwweDkxLDB4MzMsMHg0MCwweDA5LDB4ZGMsMHgwMSwweGY0LDB4MjAsMHg3ZSwweDAyLDB4MmUgfSwKLSAgMTYsIDB4YjNlMCwgMCwgezB4NDAsMHgwZCwweDk4LDB4MDEsMHhiYywweDgwLDB4ZWYsMHg4MCwweGI3LDB4ZTQsMHg4ZiwweGY0LDB4MGIsMHhmZSwweDQwLDB4N2YgfSwKLSAgMTYsIDB4YjNmMCwgMCwgezB4MDAsMHhiOSwweGMwLDB4NGUsMHhmMCwweDAzLDB4ZmMsMHgwOCwweGY3LDB4MDAsMHgzNywweGMwLDB4MGYsMHhlMCwweDAyLDB4YjggfSwKLSAgMTYsIDB4YjQwMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhMSwweDQ0LDB4Y2IsMHgwMiwweDMyLDB4MDAgfSwKLSAgMTYsIDB4YjQxMCwgMCwgezB4MGQsMHg4MCwweDBhLDB4NmQsMHgwMCwweGViLDB4MDQsMHgxMCwweDkwLDB4MjgsMHgyMiwweDBiLDB4MmMsMHhjMiwweGNiLDB4MjAgfSwKLSAgMTYsIDB4YjQyMCwgMCwgezB4NzYsMHhjMCwweDBlLDB4YjEsMHgwMywweGVjLDB4MDEsMHhjYiwweDA2LDB4MzIsMHhjMSwweDBjLDB4MzAsMHgwMywweDJjLDB4MDIgfSwKLSAgMTYsIDB4YjQzMCwgMCwgezB4Y2IsMHgwMCwweDNlLDB4ZDAsMHgwYywweGIwLDB4MDMsMHgxMCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjQ0MCwgMCwgezB4YzgsMHgwNSwweDIxLDB4NDgsMHhhYiwweDAwLDB4MjAsMHgwMCwweDAwLDB4OTUsMHgyMywweDRjLDB4MDgsMHhiYiwweDAxLDB4MjIgfSwKLSAgMTYsIDB4YjQ1MCwgMCwgezB4YzAsMHgwOCwweGIyLDB4MDIsMHgwYywweDA4LDB4ODMsMHg4OCwweDkyLDB4ZDUsMHgyOCwweDM0LDB4MDIsMHhlYywweDAyLDB4OGYgfSwKLSAgMTYsIDB4YjQ2MCwgMCwgezB4MjAsMHgyMywweGMwLDB4NGQsMHhmMCwweDAxLDB4N2MsMHgwMCwweGRmLDB4MDAsMHgyZSwweGMwLDB4MGQsMHgzMCwweDAzLDB4NzIgfSwKLSAgMTYsIDB4YjQ3MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGUwLDB4MDUsMHg0NCwweDAwLDB4ODMsMHgxMCwweDIwLDB4NjAgfSwKLSAgMTYsIDB4YjQ4MCwgMCwgezB4MDksMHgyNSwweDAyLDB4MDAsMHgwOCwweGEwLDB4MDAsMHg0YywweDAwLDB4MGIsMHgwYywweDIyLDB4NGYsMHgxMiwweDkzLDB4NDAgfSwKLSAgMTYsIDB4YjQ5MCwgMCwgezB4MDAsMHhjMCwweDA5LDB4M2UsMHgwMiwweGVjLDB4MDAsMHhhYiwweDgwLDB4YTQsMHhjMCwweDA5LDB4MzAsMHgyMiwweDJjLDB4MDggfSwKLSAgMTYsIDB4YjRhMCwgMCwgezB4YjMsMHgwMSwweDBjLDB4ODEsMHgwOCwweDMwLDB4MDIsMHgzOCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjRiMCwgMCwgezB4NjAsMHgwMSwweDE2LDB4MDksMHhiNywweDgwLDB4MjEsMHg2NCwweDA4LDB4NzgsMHgwNiwweDEyLDB4MDAsMHhiNCwweDgyLDB4MmQgfSwKLSAgMTYsIDB4YjRjMCwgMCwgezB4YTQsMHgxYiwweDY5LDB4MDYsMHg3ZSwweDA0LDB4MTcsMHg5MiwweDI1LDB4ZTYsMHgwOSwweDc4LDB4MDYsMHhkZSwweDgwLDB4YTcgfSwKLSAgMTYsIDB4YjRkMCwgMCwgezB4OTAsMHgyNSwweGUwLDB4MDksMHg3OSwweDUwLDB4NWUsMHgwNCwweGI3LDB4OTIsMHgyZiwweDYxLDB4MDksMHhjOCwweDAyLDB4NDggfSwKLSAgMTYsIDB4YjRlMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgyNSwweDAwLDB4YzMsMHgwMCwweGIwLDB4MDMgfSwKLSAgMTYsIDB4YjRmMCwgMCwgezB4MGQsMHhhMywweDQyLDB4MDksMHg0MCwweGUxLDB4MDAsMHhiYywweDQwLDB4MGYsMHgxMSwweDAzLDB4NGMsMHgwMCwweDEzLDB4MDAgfSwKLSAgMTYsIDB4YjUwMCwgMCwgezB4MjAsMHhjMCwweDA5LDB4MzIsMHgwMywweGNjLDB4MTAsMHhhMywweDAwLDB4MjYsMHhjNCwweDhkLDB4MzAsMHgyYiwweDBjLDB4ODAgfSwKLSAgMTYsIDB4YjUxMCwgMCwgezB4ZjMsMHgwMCwweDdjLDB4ODAsMHgwYywweDMwLDB4MDEsMHgxMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjUyMCwgMCwgezB4NDAsMHgxZCwweGJjLDB4MDAsMHhlNywweDEwLDB4M2QsMHgwMSwweDJmLDB4ZjEsMHg0MiwweGU4LDB4MDAsMHhmNSwweDkwLDB4MDMgfSwKLSAgMTYsIDB4YjUzMCwgMCwgezB4YzEsMHgwYywweGYxLDB4NDMsMHg5YywweDA0LDB4ZWYsMHgwOCwweDNiLDB4YzIsMHgwYywweGYwLDB4ODEsMHhkYywweGEwLDB4ZGYgfSwKLSAgMTYsIDB4YjU0MCwgMCwgezB4MDAsMHgzYiwweGMzLDB4M2YsMHhmMCwweDgzLDB4ZmMsMHgwNSwweGRmLDB4MGMsMHgzZCwweDQwLDB4MGYsMHhkMSwweDAzLDB4ZDAgfSwKLSAgMTYsIDB4YjU1MCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhmNCwweDAwLDB4Y2IsMHg4MCwweDMwLDB4NDAgfSwKLSAgMTYsIDB4YjU2MCwgMCwgezB4MmMsMHhhMCwweDAzLDB4ZTAsMHgwMCwweGY4LDB4ODAsMHgzMiwweGMwLDB4MmUsMHhiOCwweDBiLDB4MmMsMHg0NiwweGQzLDB4MDAgfSwKLSAgMTYsIDB4YjU3MCwgMCwgezB4MzAsMHhjMCwweDBjLDB4MzAsMHgwMywweDBjLDB4MDAsMHhkYiwweDQ4LDB4MzIsMHhjMCwweDFmLDB4YjQsMHgwMywweDJjLDB4ODggfSwKLSAgMTYsIDB4YjU4MCwgMCwgezB4Y2IsMHg0OCwweDMyLDB4ODAsMHgwYywweDMwLDB4MTMsMHgyYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjU5MCwgMCwgezB4NDgsMHgxMSwweGI0LDB4MDAsMHg4NywweDAxLDB4MjEsMHg0MCwweDA4LDB4NzAsMHg0MiwweGQwLDB4MDgsMHhiNCwweDAwLDB4MjkgfSwKLSAgMTYsIDB4YjVhMCwgMCwgezB4YzAsMHgwOCwweDcwLDB4MDIsMHgxYywweDAwLDB4ODcsMHgwMCwweDIxLDB4YzgsMHgwYywweDcyLDB4MGEsMHgxYywweDg0LDB4OGYgfSwKLSAgMTYsIDB4YjViMCwgMCwgezB4NDAsMHgwOSwweGM0LDB4OGYsMHg3MywweDEyLDB4OWMsMHg0MCwweDgzLDB4MjAsMHgyMSwweGMwLDB4MDgsMHg2MCwweDAyLDB4OTIgfSwKLSAgMTYsIDB4YjVjMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg5NiwweDAxLDB4YWYsMHg4MCwweDIxLDB4MjAgfSwKLSAgMTYsIDB4YjVkMCwgMCwgezB4MDgsMHg2OCwweDAyLDB4ZGEsMHgwMCwweGJkLDB4ODAsMHgyMSwweGUwLDB4MDksMHg3OCwweDAyLDB4MWUsMHgwMCwweDhmLDB4ODggfSwKLSAgMTYsIDB4YjVlMCwgMCwgezB4ODMsMHhlMiwweDI5LDB4ZjgsMHg4MiwweDVmLDB4ODAsMHg4NywweGEwLDB4MjUsMHhlMCwweDBiLDB4M2EsMHgxMiwweDBlLDB4NTAgfSwKLSAgMTYsIDB4YjVmMCwgMCwgezB4OTcsMHhhNCwweDIxLDB4YTAsMHgyOSwweDc4LDB4MDIsMHgzMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjYwMCwgMCwgezB4MDgsMHgxNCwweGNjLDB4MDIsMHhhMSwweDgxLDB4MDAsMHgwMCwweDQ4LDB4NzAsMHgwMiwweGM4LDB4MDAsMHhiMSwweDAwLDB4MmMgfSwKLSAgMTYsIDB4YjYxMCwgMCwgezB4ZjgsMHgwOSwweDMxLDB4NDIsMHgwYywweDEwLDB4ODMsMHgwMCwweDIwLDB4ZTAsMHgwOCwweDM4LDB4MTIsMHg0ZSwweDAwLDB4ODMgfSwKLSAgMTYsIDB4YjYyMCwgMCwgezB4MDAsMHg2YSwweGMwLDB4MGIsMHgzMCwweDAyLDB4OGMsMHgwNCwweDkzLDB4MDAsMHgyMCwweGUwLDB4MDksMHgzOCwweDAyLDB4OTIgfSwKLSAgMTYsIDB4YjYzMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhiOSwweDQwLDB4ZWUsMHgyMCwweDMwLDB4ODAgfSwKLSAgMTYsIDB4YjY0MCwgMCwgezB4MGMsMHhhMCwweDAzLDB4ZTgsMHgwMCwweGZhLDB4MDAsMHgzMywweGIwLDB4MGQsMHhlNCwweDAzLDB4MzIsMHg4OCwweGNjLDB4ODAgfSwKLSAgMTYsIDB4YjY1MCwgMCwgezB4MjMsMHgwMCwweDBkLDB4YzAsMHgwMywweDYyLDB4MDIsMHhjYSwweDAwLDB4MzYsMHg4MCwweDBmLDB4YTAsMHg0MywweDI4LDB4MDYgfSwKLSAgMTYsIDB4YjY2MCwgMCwgezB4ZGEsMHgwMCwweDMzLDB4YTAsMHgwZCwweDZhLDB4MDMsMHgzYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjY3MCwgMCwgezB4NDgsMHgwMCwweGUwLDB4MDAsMHg5OCwweDAxLDB4YmUsMHgwMCwweDBmLDB4ODAsMHgwMywweGYwLDB4MDAsMHhiYywweDAwLDB4MzggfSwKLSAgMTYsIDB4YjY4MCwgMCwgezB4MDQsMHgwOCwweDgwLDB4YTMsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDgwLDB4MTMsMHhhMCwweDAwLDB4ZTAgfSwKLSAgMTYsIDB4YjY5MCwgMCwgezB4MDAsMHgzZSwweDAwLDB4MGUsMHgwMCwweDAzLDB4YzAsMHgwMCwweGU4LDB4MDAsMHhiZSwweDA0LDB4NGUsMHg4MCwweDA3LDB4ZDIgfSwKLSAgMTYsIDB4YjZhMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDgwLDB4YzksMHgwMCwweDNlLDB4NjggfSwKLSAgMTYsIDB4YjZiMCwgMCwgezB4MGMsMHg5MCwweDAzLDB4NjQsMHgwMCwweGM5LDB4MDAsMHgzZSwweDQwLDB4MGMsMHg5MCwweDQzLDB4ZTAsMHgwMCwweGM4LDB4MDAgfSwKLSAgMTYsIDB4YjZjMCwgMCwgezB4MzIsMHgwMCwweDBjLDB4ODAsMHgxMywweDIwLDB4MDAsMHhjOSwweDAwLDB4MzYsMHg0MCwweDBjLDB4OTAsMHgwMywweDY0LDB4MDAgfSwKLSAgMTYsIDB4YjZkMCwgMCwgezB4ODEsMHgwMCwweDMyLDB4NDAsMHgwNCwweDkwLDB4MTMsMHgwMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjZlMCwgMCwgezB4ODAsMHgwNCwweDY1LDB4MDYsMHg4OSwweDQwLDB4MmUsMHg2MCwweDFhLDB4MTQsMHgyYSwweDA1LDB4MjAsMHg4OSwweDAwLDB4MmUgfSwKLSAgMTYsIDB4YjZmMCwgMCwgezB4NDAsMHgwOCwweDkwLDB4MDIsMHhjNCwweDA4LDB4YzEsMHgwMiwweDIwLDB4NDAsMHgwOCwweDEwLDB4MWEsMHgyNCwweDAwLDB4ODkgfSwKLSAgMTYsIDB4YjcwMCwgMCwgezB4MTAsMHgzMiwweDQxLDB4MDgsMHg5MCwweDEyLDB4MjQsMHgwMCwweDg5LDB4MDQsMHgzNiwweDQwLDB4ODgsMHg5NCwweDBhLDB4MjAgfSwKLSAgMTYsIDB4YjcxMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHgwNCwweDIwLDB4ODksMHg1NSwweDJlLDB4NDAgfSwKLSAgMTYsIDB4YjcyMCwgMCwgezB4MDgsMHhkNSwweDAyLDB4MzQsMHgwMCwweDhkLDB4MDAsMHgyZSwweDQwLDB4MTgsMHg5MCwweDAyLDB4ZTQsMHgwMCwweDk5LDB4MDAgfSwKLSAgMTYsIDB4YjczMCwgMCwgezB4MjYsMHg0MCwweDA4LDB4OTAsMHgwMiwweDA0LDB4MGEsMHg4OSwweDAwLDB4MjYsMHg0MCwweDM4LDB4OTAsMHgwYSwweDI0LDB4MDAgfSwKLSAgMTYsIDB4Yjc0MCwgMCwgezB4YTksMHgwMCwweDIwLDB4NDAsMHgwYSwweDkwLDB4ODIsMHgwNiwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Yjc1MCwgMCwgezB4MDgsMHgwNCwweDA1LDB4MDAsMHg4MSwweDAwLDB4MmYsMHg0MCwweDBhLDB4ZDQsMHgwMiwweDM0LDB4MDAsMHg4NSwweDAxLDB4MmMgfSwKLSAgMTYsIDB4Yjc2MCwgMCwgezB4NDAsMHgwOCwweDEwLDB4NDIsMHhlNCwweDA2LDB4OTksMHgwMCwweDIyLDB4NDAsMHgwOCwweDEwLDB4MDIsMHgwNSwweDAwLDB4ODEgfSwKLSAgMTYsIDB4Yjc3MCwgMCwgezB4NDAsMHgyOCwweDUwLDB4MDgsMHgxNCwweDEyLDB4MDUsMHgwMCwweGExLDB4NDAsMHgyNCwweDUwLDB4NWEsMHgxMCwweDAyLDB4MDIgfSwKLSAgMTYsIDB4Yjc4MCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDAwLDB4YzgsMHgwNCwweDNlLDB4MDAgfSwKLSAgMTYsIDB4Yjc5MCwgMCwgezB4MDgsMHg4MCwweDAzLDB4MjEsMHg0MiwweGNjLDB4MDAsMHgzZSwweDAwLDB4MmMsMHg4MCwweDAyLDB4ZTAsMHgwMCwweGQ4LDB4MDAgfSwKLSAgMTYsIDB4YjdhMCwgMCwgezB4YjYsMHgwMCwweDJjLDB4ODAsMHgwMiwweDIwLDB4MDIsMHhjOCwweDAwLDB4MzYsMHgwMCwweDBjLDB4ODAsMHgwMywweDYwLDB4MDIgfSwKLSAgMTYsIDB4YjdiMCwgMCwgezB4ZTgsMHgwMCwweDMyLDB4MDAsMHg4ZSwweDgwLDB4MDMsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjdjMCwgMCwgezB4OTgsMHgxZCwweGY1LDB4MDAsMHhmNSwweDAwLDB4M2UsMHg0MCwweDg3LDB4OTAsMHgwMywweGU0LDB4MDAsMHhmMSwweDAwLDB4M2QgfSwKLSAgMTYsIDB4YjdkMCwgMCwgezB4NTAsMHgwZiwweDU0LDB4MDMsMHhkMSwweDAwLDB4ZWMsMHg0MCwweDNmLDB4MTAsMHgwYiwweGM0LDB4NDMsMHhmMSwweDAwLDB4ZjkgfSwKLSAgMTYsIDB4YjdlMCwgMCwgezB4NDAsMHgzNiwweDUwLDB4MGYsMHg5NCwweDEzLDB4ZTUsMHgxMCwweGQ5LDB4NDQsMHgzZCwweDQwLDB4MmQsMHhkMCwweDAzLDB4ZTYgfSwKLSAgMTYsIDB4YjdmMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhmNiwweDYwLDB4Y2QsMHgwMiwweDNiLDB4NDAgfSwKLSAgMTYsIDB4YjgwMCwgMCwgezB4MGMsMHhkMCwweDAzLDB4YjQsMHg0MCwweGZkLDB4MDYsMHgzZSwweDQwLDB4MGMsMHg5MCwweDAzLDB4NjYsMHgwNCwweGM5LDB4ODIgfSwKLSAgMTYsIDB4YjgxMCwgMCwgezB4YjYsMHg2MiwweDBmLDB4MTgsMHgwYiwweDM2LDB4MDAsMHhjZCwweDQwLDB4MzIsMHg2MSwweDBjLDB4OTAsMHgyMywweDI0LDB4MGEgfSwKLSAgMTYsIDB4YjgyMCwgMCwgezB4YzksMHgwMCwweDMyLDB4NDAsMHg0YywweGQwLDB4NDMsMHgwNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjgzMCwgMCwgezB4MzksMHgxMCwweGUzLDB4ODAsMHhkOCwweDAwLDB4MjIsMHgwMCwweDBkLDB4ODAsMHgwMiwweDIyLDB4OTQsMHhiOCwweDAwLDB4MmUgfSwKLSAgMTYsIDB4Yjg0MCwgMCwgezB4MDAsMHgwZCwweDgwLDB4MDMsMHgyMSwweDAwLDB4ODgsMHg0MCwweDIyLDB4MDAsMHgwYiwweGM0LDB4MjIsMHgyMSwweDUwLDB4ODggfSwKLSAgMTYsIDB4Yjg1MCwgMCwgezB4ODAsMHgyMiwweDIyLDB4MDgsMHg4MCwweDAyLDB4MjAsMHgxMCwweDgwLDB4MDEsMHgyYSwweDAwLDB4MGEsMHg4MCwweDAzLDB4NGUgfSwKLSAgMTYsIDB4Yjg2MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhjNiwweDAwLDB4ODksMHgwMCwweDJhLDB4NDAgfSwKLSAgMTYsIDB4Yjg3MCwgMCwgezB4ODgsMHgxMCwweDBhLDB4ODQsMHgwOCwweGIxLDB4MDAsMHgyOSwweDQwLDB4MGEsMHg3MCwweDBhLDB4YjUsMHgwMCwweDhmLDB4NDAgfSwKLSAgMTYsIDB4Yjg4MCwgMCwgezB4MjksMHhjMCwweDBiLDB4ZjQsMHgwMiwweDI0LDB4MDAsMHg4MSwweDIwLDB4MjgsMHg0NCwweDg5LDB4MTAsMHgwMiwweDA0LDB4MDQgfSwKLSAgMTYsIDB4Yjg5MCwgMCwgezB4ODEsMHgwMiwweDJhLDB4NDAsMHgwOCwweDEwLDB4MDIsMHgwMiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjhhMCwgMCwgezB4MTgsMHgxNSwweGE2LDB4MDAsMHg5OSwweDIwLDB4MjIsMHg0MCwweDA5LDB4OTAsMHgxMiwweDI0LDB4ODAsMHhiOSwweDAwLDB4MmYgfSwKLSAgMTYsIDB4YjhiMCwgMCwgezB4NDQsMHgwMywweGQwLDB4MDIsMHhmNCwweDAwLDB4OGQsMHgwMCwweDJiLDB4NDEsMHgwYiwweGQwLDB4MDIsMHgyNiwweDEwLDB4ODkgfSwKLSAgMTYsIDB4YjhjMCwgMCwgezB4MDQsMHgyYSwweDQwLDB4MDksMHg5MCwweDZlLDB4MjQsMHgwMCwweDg5LDB4MDAsMHgyYSwweDQwLDB4MGEsMHg5NCwweDAyLDB4NDYgfSwKLSAgMTYsIDB4YjhkMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEyLDB4MTUsMHhlNiwweDAwLDB4YzksMHgwMCwweDM4LDB4NDIgfSwKLSAgMTYsIDB4YjhlMCwgMCwgezB4MGMsMHgxMCwweDEzLDB4YTYsMHgwNCwweDc5LDB4MDgsMHgzYSwweDc4LDB4MDYsMHg5MiwweDAzLDB4YTQsMHgwOCwweGM5LDB4MDAgfSwKLSAgMTYsIDB4YjhmMCwgMCwgezB4M2EsMHg2MCwweDhmLDB4OTgsMHgyMywweDA2LDB4MDIsMHhjOSwweDAyLDB4M2EsMHg0MCwweDBkLDB4OTAsMHgwMywweDA0LDB4MDAgfSwKLSAgMTYsIDB4YjkwMCwgMCwgezB4YzksMHgwMCwweDM4LDB4NDAsMHgwYywweDkwLDB4MDMsMHgyOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjkxMCwgMCwgezB4MjgsMHgwMSwweDg0LDB4MTAsMHhmOSwweDgwLDB4YmUsMHg0MCwweDRmLDB4OTAsMHgwMiwweGU0LDB4MDAsMHhmOSwweDAwLDB4M2MgfSwKLSAgMTYsIDB4YjkyMCwgMCwgezB4NjAsMHg4ZCwweDkyLDB4MDMsMHgyNCwweDQyLDB4ZTksMHgxMCwweDMyLDB4NTAsMHgwZiwweDk0LDB4MDMsMHhlNCwweDAwLDB4ZjkgfSwKLSAgMTYsIDB4YjkzMCwgMCwgezB4MDAsMHhiNiwweDQxLDB4MmUsMHgxMCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgyZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4Y2EgfSwKLSAgMTYsIDB4Yjk0MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMCwweDA4LDB4YzgsMHgwMCwweDNlLDB4MTAgfSwKLSAgMTYsIDB4Yjk1MCwgMCwgezB4MGYsMHg4OCwweDAzLDB4MjAsMHgwOCwweGY4LDB4YzAsMHgxZSwweDEwLDB4MmMsMHg0MCwweDAzLDB4ZjIsMHgwMCwweGNjLDB4MDAgfSwKLSAgMTYsIDB4Yjk2MCwgMCwgezB4M2YsMHgwMCwweDBjLDB4YzAsMHgxMywweDIwLDB4MDIsMHhjMCwweDAwLDB4MzAsMHgwMCwweDBjLDB4ODAsMHgyYiwweDIwLDB4MTAgfSwKLSAgMTYsIDB4Yjk3MCwgMCwgezB4YzAsMHgwNCwweDMyLDB4MDAsMHgwZiwweDgwLDB4MDMsMHgwYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Yjk4MCwgMCwgezB4YTgsMHgwNSwweDNhLDB4ODAsMHg4NiwweGUwLDB4MmYsMHhhMCwweDFiLDB4ZTAsMHgwMiwweDNhLDB4ODAsMHhiYSwweDA0LDB4MmUgfSwKLSAgMTYsIDB4Yjk5MCwgMCwgezB4ODAsMHgwOCwweGEwLDB4MDMsMHg4OCwweDA4LDB4YzIsMHgwMCwweDJlLDB4ODEsMHgwOCwweDYwLDB4MDIsMHgyOCwweDEwLDB4OGUgfSwKLSAgMTYsIDB4YjlhMCwgMCwgezB4ODEsMHgwMywweDgwLDB4MDgsMHhlMCwweDAxLDB4NzgsMHgwMCwweDhlLDB4MDQsMHgwMywweDgwLDB4MDksMHg2OCwweDAzLDB4Y2EgfSwKLSAgMTYsIDB4YjliMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDUsMHg0YywweDAwLDB4ODMsMHg2MCwweDJjLDB4NDQgfSwKLSAgMTYsIDB4YjljMCwgMCwgezB4MGIsMHgzOCwweDAyLDB4MGYsMHg4MCwweGIxLDB4MDAsMHgyYywweGU1LDB4MDMsMHgzMCwweDEwLDB4Y2MsMHgxMCwweDgzLDB4MDAgfSwKLSAgMTYsIDB4YjlkMCwgMCwgezB4MGMsMHhjMCwweDI5LDB4MzAsMHgyMiwweDA0LDB4MDksMHg5MSwweDEwLDB4MjQsMHhjMCwweGM4LDB4MzAsMHgwMCwweDRjLDB4MDQgfSwKLSAgMTYsIDB4YjllMCwgMCwgezB4OTMsMHgwMiwweDI0LDB4YzAsMHgwYiwweDMxLDB4MDIsMHgwYSwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YjlmMCwgMCwgezB4ZTAsMHgwMSwweDE4LDB4ODAsMHg4NywweDAwLDB4MmQsMHg0MCwweDBiLDB4NzQsMHg0MiwweDFjLDB4MDEsMHhiNSwweDAxLDB4MmMgfSwKLSAgMTYsIDB4YmEwMCwgMCwgezB4YzAsMHgwYiwweDYwLDB4MDIsMHhiMCwweDAwLDB4OTQsMHgwNCwweDJmLDB4MjAsMHgwOSwweGMwLDB4MDIsMHgxNCwweDkwLDB4OTcgfSwKLSAgMTYsIDB4YmExMCwgMCwgezB4MDAsMHgyNSwweGM4LDB4MDgsMHg3MCwweDAyLDB4NGMsMHg4MCwweDk3LDB4MjAsMHgyNSwweGMwLDB4MDksMHg3MCwweDAyLDB4ZTggfSwKLSAgMTYsIDB4YmEyMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgzYSwweDgyLDB4YzYsMHg4MCwweDJkLDB4NjAgfSwKLSAgMTYsIDB4YmEzMCwgMCwgezB4MGIsMHhmOCwweDBiLDB4MWEsMHgwMCwweGY1LDB4ODAsMHgzZCwweGUwLDB4OGYsMHg3OCwweDAzLDB4ZGUsMHgwMiwweGM3LDB4ODAgfSwKLSAgMTYsIDB4YmE0MCwgMCwgezB4MmQsMHhlMCwweDBkLDB4NzgsMHgwYiwweDE3LDB4MDIsMHhkZiwweDgwLDB4MjQsMHhmOCwweDJjLDB4ZmQsMHgwMywweDVlLDB4MGMgfSwKLSAgMTYsIDB4YmE1MCwgMCwgezB4ZDcsMHhlMCwweDM1LDB4ZTAsMHgwZiwweDY4LDB4MDMsMHgyYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmE2MCwgMCwgezB4NDgsMHgxZCwweGFlLDB4NDAsMHhmYSwweDA0LDB4M2UsMHg0MCwweDBmLDB4ODAsMHgxMywweGVjLDB4MDQsMHhmOSwweDAwLDB4M2UgfSwKLSAgMTYsIDB4YmE3MCwgMCwgezB4YzEsMHgwYywweGEwLDB4MTMsMHhjMCwweDEwLDB4ZTgsMHgwMCwweDNjLDB4MDAsMHg0ZSwweDgwLDB4NDMsMHhjNCwweDIwLDB4ODkgfSwKLSAgMTYsIDB4YmE4MCwgMCwgezB4MDAsMHhiYSwweGMwLDB4MDcsMHhiNiwweDIxLDB4ZWQsMHgwNiwweGViLDB4NjgsMHhiYSwweGNjLDB4MGYsMHgyMCwweDEzLDB4YzIgfSwKLSAgMTYsIDB4YmE5MCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDUsMHhiZSwweDAwLDB4YzYsMHg4MCwweDMxLDB4NjAgfSwKLSAgMTYsIDB4YmFhMCwgMCwgezB4MmQsMHg3OCwweDBiLDB4M2UsMHg0OCwweGVjLDB4OTIsMHgzZCwweDYwLDB4MGMsMHg1OCwweDAzLDB4NWEsMHg0MCwweGQ1LDB4ODAgfSwKLSAgMTYsIDB4YmFiMCwgMCwgezB4MzEsMHg2MSwweDBjLDB4NTgsMHgyMywweDM2LDB4MDAsMHhjZiwweDgyLDB4M2YsMHhlMCwweDBjLDB4ZjgsMHgwMywweGZmLDB4NjAgfSwKLSAgMTYsIDB4YmFjMCwgMCwgezB4Y2YsMHg5MCwweDMzLDB4ZjAsMHgwYywweDUyLDB4MDMsMHgwMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmFkMCwgMCwgezB4YTgsMHgxMSwweGI4LDB4ODQsMHg4NiwweDE0LDB4YjUsMHhjMCwweDA4LDB4NzAsMHgwMiwweDFlLDB4YzAsMHhjNCwweDAwLDB4MmQgfSwKLSAgMTYsIDB4YmFlMCwgMCwgezB4NDAsMHgwOCwweDQwLDB4MDIsMHgxNCwweGQwLDB4ODYsMHgxMCwweDIxLDB4ODAsMHg0YywweDYyLDB4NDIsMHgzNCwweDQwLDB4YTUgfSwKLSAgMTYsIDB4YmFmMCwgMCwgezB4MDAsMHgzNSwweGMwLDB4MjgsMHg3MCwweDQyLDB4ZGMsMHhjMiwweDhmLDB4MzAsMHgyMywweGMwLDB4MDgsMHg1MCwweDAyLDB4MmEgfSwKLSAgMTYsIDB4YmIwMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAyLDB4MDAsMHg5OCwweDI4LDB4OGUsMHgwMCwweGE1LDB4NDAgfSwKLSAgMTYsIDB4YmIxMCwgMCwgezB4MDgsMHhmMSwweDAyLDB4MTgsMHg2NCwweGI0LDB4MDAsMHg2ZCwweDQyLDB4MDgsMHg1MCwweDAyLDB4MTgsMHgwMSwweDg1LDB4MDggfSwKLSAgMTYsIDB4YmIyMCwgMCwgezB4MjEsMHg0MCwweDA5LDB4NTgsMHgyMiwweDU0LDB4MDAsMHg4NSwweDEwLDB4MmQsMHhjNCwweDA5LDB4NzAsMHgwMiwweGRjLDB4MDQgfSwKLSAgMTYsIDB4YmIzMCwgMCwgezB4OTcsMHgwMCwweDI1LDB4YzAsMHgwOCwweDQ0LDB4MDIsMHgwMCwweDEwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmI0MCwgMCwgezB4NjAsMHgxNCwweDhjLDB4MDAsMHg4MiwweDgwLDB4MjQsMHhjMCwweDA4LDB4ODAsMHgwMiwweDJkLDB4MDAsMHg4MCwweDRhLDB4MmMgfSwKLSAgMTYsIDB4YmI1MCwgMCwgezB4NDIsMHgwOCwweDBhLDB4NDIsMHgwNiwweDAwLDB4OTIsMHg4NCwweDIwLDB4YTAsMHg4OCwweDI4LDB4NDIsMHg0NCwweDAwLDB4YTMgfSwKLSAgMTYsIDB4YmI2MCwgMCwgezB4MDYsMHgyNCwweGMwLDB4MGIsMHgzMCwweDAyLDB4Y2MsMHgxMCwweDkzLDB4MDQsMHgyNCwweGMxLDB4MDksMHgwMCwweDAyLDB4MDggfSwKLSAgMTYsIDB4YmI3MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhiYywweDAwLDB4Y2IsMHgwMCwweDM2LDB4NDAgfSwKLSAgMTYsIDB4YmI4MCwgMCwgezB4MGMsMHhiNCwweDEzLDB4MmMsMHgwMCwweGY5LDB4MDAsMHgzZSwweGEwLDB4MGMsMHhhMiwweDAzLDB4MDQsMHgwOCwweGMyLDB4ODAgfSwKLSAgMTYsIDB4YmI5MCwgMCwgezB4MzAsMHhhOCwweDBkLDB4MmEsMHgwMywweDU0LDB4MDAsMHhjYiwweDAwLDB4M2YsMHhjMCwweDBkLDB4ZjAsMHgwMywweGZjLDB4MDggfSwKLSAgMTYsIDB4YmJhMCwgMCwgezB4ZGYsMHgwMCwweDM3LDB4ZDAsMHgwYywweGIwLDB4MDMsMHgyYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmJiMCwgMCwgezB4ODAsMHgwMCwweGUwLDB4MDAsMHhmYiwweDEwLDB4M2EsMHg0MCwweDBlLDB4YjAsMHgwMywweGVkLDB4OTAsMHhmOSwweDExLDB4N2UgfSwKLSAgMTYsIDB4YmJjMCwgMCwgezB4ODAsMHg0ZiwweGIwLDB4NTMsMHhlOCwweDQwLDB4ZTksMHgwMCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhhNiwweDA4LDB4ZjkgfSwKLSAgMTYsIDB4YmJkMCwgMCwgezB4MDEsMHgzYSwweGMwLDB4MGMsMHhiMCwweDEzLDB4Y2MsMHgwMCwweGViLDB4MDIsMHgzYSwweGM2LDB4OGUsMHhiOCwweDAzLDB4ZTAgfSwKLSAgMTYsIDB4YmJlMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmMCwweDBjLDB4Y2UsMHgwMCwweDNmLDB4ZTAgfSwKLSAgMTYsIDB4YmJmMCwgMCwgezB4MmMsMHhmMCwweDgzLDB4M2EsMHg0OCwweGNkLDB4MDEsMHgzNSwweDgwLDB4MGMsMHg2MCwweDEyLDB4MzQsMHgwYSwweGNlLDB4MDAgfSwKLSAgMTYsIDB4YmMwMCwgMCwgezB4YjMsMHg4MCwweDJjLDB4ZTAsMHgwYiwweDc0LDB4MDAsMHhjOSwweDEwLDB4YjMsMHhjMSwweDBmLDB4ZjAsMHgxYiwweDNjLDB4MDAgfSwKLSAgMTYsIDB4YmMxMCwgMCwgezB4Y2YsMHgwMCwweGI3LDB4YzAsMHgyYywweGUwLDB4MDMsMHgwMCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmMyMCwgMCwgezB4ODEsMHgwNCwweDZlLDB4MTAsMHg4OCwweDgwLDB4MmMsMHhjMCwweDE4LDB4OTgsMHgwMiwweDJkLDB4ODAsMHg4MSwweDAwLDB4MzYgfSwKLSAgMTYsIDB4YmMzMCwgMCwgezB4OTEsMHgwOCwweGIwLDB4MDMsMHg2OCwweDAwLDB4YzksMHgwMCwweDIyLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgyNCwweDAwLDB4ODMgfSwKLSAgMTYsIDB4YmM0MCwgMCwgezB4ODAsMHgzNiwweGMwLDB4MGIsMHgzMCwweDAyLDB4MmMsMHgwMiwweDgzLDB4MDAsMHgyMCwweGMwLDB4MDgsMHgyMCwweDAzLDB4NjAgfSwKLSAgMTYsIDB4YmM1MCwgMCwgezB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDUsMHgwNiwweDAwLDB4OGEsMHg4MCwweDJlLDB4NDUgfSwKLSAgMTYsIDB4YmM2MCwgMCwgezB4MjgsMHg4OCwweDAyLDB4MjQsMHgwMiwweDg4LDB4MDIsMHgwMiwweDAyLDB4MDgsMHg4MCwweDAyLDB4YTIsMHgwMCwweDk4LDB4MDAgfSwKLSAgMTYsIDB4YmM3MCwgMCwgezB4MjIsMHgwMCwweDA4LDB4ODAsMHgxMiwweDI0LDB4MDAsMHg4OSwweDAxLDB4MjIsMHhjMSwweDBhLDB4YjAsMHgwMiwweDZjLDB4MDAgfSwKLSAgMTYsIDB4YmM4MCwgMCwgezB4YWIsMHgwMCwweDIyLDB4YzEsMHgwOCwweDkwLDB4MTIsMHg2MCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmM5MCwgMCwgezB4MDgsMHgwNCwweDAwLDB4MDAsMHg4MCwweDAwLDB4MmMsMHhjMCwweDQ4LDB4MDgsMHgxMiwweDAwLDB4ODAsMHg4MCwweDAyLDB4MjQgfSwKLSAgMTYsIDB4YmNhMCwgMCwgezB4MDAsMHgwOCwweDE4LDB4NDIsMHhhYywweDAyLDB4OGIsMHg4MCwweDIyLDB4ZTAsMHgwOCwweGI4LDB4MTIsMHgwNCwweDAyLDB4ODMgfSwKLSAgMTYsIDB4YmNiMCwgMCwgezB4MDAsMHgyMCwweGMwLDB4MGIsMHgzMCwweDQyLDB4MGMsMHgwMCwweGEzLDB4MDEsMHg2MCwweGMwLDB4NDgsMHgxMCwweDAyLDB4NDIgfSwKLSAgMTYsIDB4YmNjMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2OCwweDA4LDB4Y2EsMHgwMCwweDJlLDB4NDAgfSwKLSAgMTYsIDB4YmNkMCwgMCwgezB4MDgsMHg4MCwweDAzLDB4MDAsMHgwMCwweGM4LDB4MDYsMHgzMiwweDAwLDB4MGMsMHg4MCwweDAyLDB4YTAsMHgwMCwweGQ4LDB4MDAgfSwKLSAgMTYsIDB4YmNlMCwgMCwgezB4MzIsMHgwMCwweDBjLDB4ODAsMHgwMywweDc0LDB4MDAsMHhjYiwweDAwLDB4MjIsMHhjMCwweDBmLDB4ZjAsMHgwMywweDNjLDB4MDAgfSwKLSAgMTYsIDB4YmNmMCwgMCwgezB4ZWYsMHgwMCwweDM3LDB4YzAsMHgwYywweDgwLDB4MDEsMHg0MCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmQwMCwgMCwgezB4YTAsMHgxOSwweGZjLDB4MDAsMHhmYywweDA0LDB4M2YsMHhjMCwweDBmLDB4YzAsMHgwMywweGUxLDB4MDAsMHhmYywweDAwLDB4M2IgfSwKLSAgMTYsIDB4YmQxMCwgMCwgezB4MDAsMHgwZiwweGQwLDB4MDMsMHg3YywweDAwLDB4ZWYsMHgwMCwweDJmLDB4YzAsMHgwZiwweGYwLDB4MTEsMHhmNCwweDEwLDB4ZmQgfSwKLSAgMTYsIDB4YmQyMCwgMCwgezB4MDIsMHgzZCwweGMwLDB4NGYsMHhmMCwweDAzLDB4ZGMsMHgwMCwweGRmLDB4MDQsMHgzZiwweGMwLDB4MGYsMHhjMCwweDQzLDB4ZTkgfSwKLSAgMTYsIDB4YmQzMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzUsMHg0MSwweDAyLDB4NzAsMHgyMCwweGRjLDB4MTAgfSwKLSAgMTYsIDB4YmQ0MCwgMCwgezB4NjcsMHgwNCwweDBkLDB4YzEsMHgwMiwweDcwLDB4MjAsMHg5YywweDEwLDB4MzcsMHgwNCwweDBkLDB4YzEsMHgwNiwweDcwLDB4NDAgfSwKLSAgMTYsIDB4YmQ1MCwgMCwgezB4NGMsMHgxMCwweDM3LDB4MTQsMHgxNSwweGMxLDB4MDMsMHg3MCwweDQwLDB4ZGMsMHgxMCwweDEzLDB4MDQsMHgwZCwweGMxLDB4MDcgfSwKLSAgMTYsIDB4YmQ2MCwgMCwgezB4NzAsMHg0MCwweGRjLDB4MTAsMHgzNywweDA0LDB4MGQsMHhjMCwweDMxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmQ3MCwgMCwgezB4MDAsMHhjNSwweDQ0LDB4MDUsMHg3MSwweDIxLDB4NWMsMHg0MCwweDU3LDB4MTAsMHgxNSwweGM0LDB4MDUsMHg3MSwweDA1LDB4NWMgfSwKLSAgMTYsIDB4YmQ4MCwgMCwgezB4NDAsMHg1NywweDEwLDB4MTUsMHhjNCwweDA2LDB4NzEsMHgwMSwweDRjLDB4NDAsMHg1NywweDEwLDB4MGQsMHhjNCwweDA1LDB4NzEgfSwKLSAgMTYsIDB4YmQ5MCwgMCwgezB4MDUsMHg1YywweDQwLDB4NTMsMHgxMCwweDE1LDB4YzQsMHgwNywweDcxLDB4MDEsMHg1YywweDQwLDB4NTcsMHgxMCwweDE1LDB4YzAgfSwKLSAgMTYsIDB4YmRhMCwgMCwgezB4MTEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMiwweDAxLDB4MjAsMHg4MCwweDQ4LDB4MjAgfSwKLSAgMTYsIDB4YmRiMCwgMCwgezB4MTIsMHgwOCwweDA0LDB4ODIsMHgwMSwweDIwLDB4ODAsMHg0OCwweDIwLDB4MTIsMHgwOCwweDA0LDB4ODIsMHgwMSwweDIwLDB4ODAgfSwKLSAgMTYsIDB4YmRjMCwgMCwgezB4NDgsMHgyMCwweDEyLDB4MDgsMHgwNCwweDgyLDB4MDEsMHgyMCwweDgwLDB4NDgsMHgyMCwweDEyLDB4MDgsMHgwNCwweDgyLDB4MDEgfSwKLSAgMTYsIDB4YmRkMCwgMCwgezB4MjAsMHg4MCwweDQ4LDB4MjAsMHgxMiwweDA4LDB4MDQsMHg4MCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmRlMCwgMCwgezB4MDAsMHg4NCwweDAwLDB4MDEsMHg2MCwweDAwLDB4NTgsMHgwMCwweDU2LDB4MDAsMHgwNSwweDgwLDB4MDEsMHg2MCwweDA0LDB4NTggfSwKLSAgMTYsIDB4YmRmMCwgMCwgezB4MDAsMHgxNiwweDAwLDB4MDUsMHg4MCwweDAxLDB4MjAsMHgwMSwweDU4LDB4MDAsMHgxNiwweDAwLDB4MDUsMHg4MCwweDAxLDB4NjAgfSwKLSAgMTYsIDB4YmUwMCwgMCwgezB4MDAsMHg1OCwweDAwLDB4NTYsMHgwMCwweDA1LDB4ODAsMHgwMSwweDYwLDB4MDAsMHg1OCwweDAwLDB4MTYsMHgwMCwweDAxLDB4ODAgfSwKLSAgMTYsIDB4YmUxMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzUsMHg0OCwweDA1LDB4NzIsMHgxMSwweDVjLDB4ODAgfSwKLSAgMTYsIDB4YmUyMCwgMCwgezB4MTcsMHgyMCwweDE1LDB4ZDgsMHgwNSwweDMyLDB4MTEsMHgxYywweDgwLDB4NDcsMHgyMCwweDE0LDB4ODgsMHgwMCwweDcyLDB4MDEgfSwKLSAgMTYsIDB4YmUzMCwgMCwgezB4MWMsMHg4MCwweDU3LDB4MjAsMHgwNSwweGM4LDB4MDQsMHg3MiwweDAxLDB4NWMsMHg4MCwweDU3LDB4MjAsMHgxNSwweGM4LDB4MDEgfSwKLSAgMTYsIDB4YmU0MCwgMCwgezB4NzIsMHgwMSwweDVjLDB4ODAsMHg1NywweDI0LDB4MTUsMHhjMCwweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmU1MCwgMCwgezB4MDAsMHhjMSwweDQwLDB4MDAsMHg2MCwweDAwLDB4MTgsMHgwMCwweDA2LDB4MDAsMHgwMSwweDgwLDB4NDAsMHgyMCwweDAwLDB4MTggfSwKLSAgMTYsIDB4YmU2MCwgMCwgezB4MDAsMHgwNiwweDAwLDB4MDEsMHg5MCwweDAwLDB4NjAsMHgwMCwweDE4LDB4MDAsMHgwNiwweDAwLDB4NDEsMHg4MCwweDAwLDB4NjAgfSwKLSAgMTYsIDB4YmU3MCwgMCwgezB4MDAsMHgxOCwweDAwLDB4MDYsMHgwMCwweDAxLDB4ODAsMHgwMCwweDYwLDB4MDAsMHgxOCwweDEwLDB4MDYsMHgwMCwweDAxLDB4ODAgfSwKLSAgMTYsIDB4YmU4MCwgMCwgezB4MzEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzUsMHg0OCwweDA0LDB4MjIsMHgwMSwweDA4LDB4ODAgfSwKLSAgMTYsIDB4YmU5MCwgMCwgezB4MDIsMHgyMCwweDEwLDB4ODgsMHgwNCwweDYyLDB4MDEsMHgwOCwweDgwLDB4NDIsMHgyMCwweDEwLDB4ODgsMHgwMCwweDIwLDB4MDEgfSwKLSAgMTYsIDB4YmVhMCwgMCwgezB4MDgsMHg4MCwweDQyLDB4MjAsMHgwMCwweDg4LDB4MDQsMHgyMiwweDAxLDB4MDgsMHgwMCwweDQyLDB4MjAsMHgxMCwweDg4LDB4MDAgfSwKLSAgMTYsIDB4YmViMCwgMCwgezB4MjIsMHgwMSwweDA4LDB4ODAsMHg0MiwweDMwLDB4MTAsMHg4MCwweDMxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmVjMCwgMCwgezB4MDAsMHhjNSwweDRhLDB4MDUsMHg0MiwweDgxLDB4NTAsMHhhMCwweDA0LDB4MjgsMHgxNSwweDBhLDB4MDUsMHg1MiwweDgxLDB4MTAgfSwKLSAgMTYsIDB4YmVkMCwgMCwgezB4YTAsMHg0NCwweDI4LDB4MTEsMHgxYSwweDAwLDB4NDAsMHg4MCwweDEwLDB4YTAsMHg1NCwweDI4LDB4MDUsMHgwYSwweDA1LDB4NDIgfSwKLSAgMTYsIDB4YmVlMCwgMCwgezB4ODEsMHg1MSwweDIwLDB4MTQsMHgyOCwweDE1LDB4MGEsMHgwMSwweDQyLDB4ODEsMHg1MCwweGEwLDB4NTQsMHgyOCwweDE1LDB4MDAgfSwKLSAgMTYsIDB4YmVmMCwgMCwgezB4MzEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwYywweDAxLDB4NTMsMHg0MCwweDU0LDB4YzAgfSwKLSAgMTYsIDB4YmYwMCwgMCwgezB4MTUsMHgzMCwweDA1LDB4NWMsMHgwMSwweDU3LDB4NDAsMHg1NCwweGMwLDB4MTUsMHgzMCwweDA1LDB4NWMsMHgwMSwweDUzLDB4MDAgfSwKLSAgMTYsIDB4YmYxMCwgMCwgezB4NTUsMHhjMCwweDE1LDB4NzQsMHgwNSwweDRjLDB4MDEsMHg1MywweDAwLDB4NTUsMHhjMCwweDE1LDB4NzQsMHgwNSwweDRjLDB4MDEgfSwKLSAgMTYsIDB4YmYyMCwgMCwgezB4NTMsMHgwMCwweDU0LDB4YzAsMHgxMSwweDMwLDB4MDEsMHg0MCwweDIxLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmYzMCwgMCwgezB4MDAsMHg4MCwweDAwLDB4MDAsMHg0MCwweDAwLDB4MTAsMHgwMCwweDA0LDB4MDAsMHgwMSwweDAwLDB4MDAsMHg0MCwweDAwLDB4MTAgfSwKLSAgMTYsIDB4YmY0MCwgMCwgezB4MDAsMHgwNCwweDAwLDB4MDEsMHgwMCwweDAwLDB4NDIsMHgwMCwweDEwLDB4MDAsMHgwNCwweDAwLDB4MTEsMHgwMCwweDAwLDB4NDAgfSwKLSAgMTYsIDB4YmY1MCwgMCwgezB4MDAsMHgxMCwweGMxLDB4MDQsMHgwMCwweDAxLDB4MDAsMHgwMCwweDQwLDB4MDAsMHgxMCwweDAwLDB4MDEsMHgxMCwweDAxLDB4MDEgfSwKLSAgMTYsIDB4YmY2MCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzUsMHg2MCwweDAyLDB4MDgsMHgwMCwweDgyLDB4MDAgfSwKLSAgMTYsIDB4YmY3MCwgMCwgezB4MjAsMHg4MCwweDA4LDB4MjAsMHgwMiwweDA4LDB4MDAsMHg4MiwweDAwLDB4MjAsMHg4MCwweDA4LDB4MjAsMHgwMiwweDA4LDB4MDAgfSwKLSAgMTYsIDB4YmY4MCwgMCwgezB4ODIsMHgwMCwweDIwLDB4ODQsMHgwMCwweDIwLDB4MDIsMHgwOCwweDAwLDB4ODIsMHgwMCwweDIwLDB4ODQsMHgwOCwweDIwLDB4MDIgfSwKLSAgMTYsIDB4YmY5MCwgMCwgezB4MDgsMHgwMCwweDgyLDB4MDAsMHgyMSwweDgwLDB4MDgsMHgwMSwweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YmZhMCwgMCwgezB4MDAsMHhjNSwweDQwLDB4MDUsMHg2MCwweDAxLDB4NTgsMHgwMCwweDk2LDB4MDAsMHgxNSwweDkwLDB4MDUsMHg2NCwweDAyLDB4NTggfSwKLSAgMTYsIDB4YmZiMCwgMCwgezB4MDAsMHg1NiwweDAwLDB4NTUsMHg5MCwweDA1LDB4NjAsMHgwMSwweGQ5LDB4MDAsMHgxNiwweDQwLDB4MTUsMHg4MCwweDA1LDB4NjAgfSwKLSAgMTYsIDB4YmZjMCwgMCwgezB4MDEsMHg1OSwweDAwLDB4NzYsMHg0MCwweDE1LDB4ODAsMHgwNSwweDYwLDB4MDEsMHg1OCwweDAwLDB4NTYsMHgwMCwweDE1LDB4ODAgfSwKLSAgMTYsIDB4YmZkMCwgMCwgezB4MzEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzQsMHg0MCwweDAzLDB4NjAsMHgwMCwweGQ4LDB4MDAgfSwKLSAgMTYsIDB4YmZlMCwgMCwgezB4MzYsMHgwMCwweDRkLDB4ODAsMHgwMywweDYwLDB4MDAsMHhkOCwweDAwLDB4MzYsMHgwMCwweDBkLDB4ODAsMHgwNywweDYyLDB4MDAgfSwKLSAgMTYsIDB4YmZmMCwgMCwgezB4NTgsMHgwMCwweDM2LDB4MDAsMHgwZCwweDgwLDB4MDcsMHg2MCwweDAwLDB4ZDgsMHg4MCwweDE2LDB4MDAsMHgwZCwweDgwLDB4MDMgfSwKLSAgMTYsIDB4YzAwMCwgMCwgezB4NjAsMHgwMCwweGQ4LDB4MDAsMHgzNiwweDAwLDB4MWQsMHg4MCwweDMxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzAxMCwgMCwgezB4MDAsMHhjNSwweDQyLDB4MDQsMHgzMCwweDgxLDB4MGMsMHgyMCwweDQzLDB4MDgsMHgxMCwweGMyLDB4MDQsMHgzMCwweDgxLDB4MGMgfSwKLSAgMTYsIDB4YzAyMCwgMCwgezB4MjAsMHg0MywweDA4LDB4MTAsMHhjMiwweDA0LDB4MzAsMHhjMSwweDBjLDB4MjAsMHg0MywweDA4LDB4MTAsMHhjMiwweDA2LDB4MzAgfSwKLSAgMTYsIDB4YzAzMCwgMCwgezB4ODEsMHgwYywweDIwLDB4NDMsMHgwOCwweDEwLDB4YzIsMHgwNCwweDMwLDB4ODEsMHgwYywweDIwLDB4NDMsMHgwOCwweDE4LDB4YzAgfSwKLSAgMTYsIDB4YzA0MCwgMCwgezB4MTEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDAwLDB4MzAsMHgwMCwweDBjLDB4MDAgfSwKLSAgMTYsIDB4YzA1MCwgMCwgezB4MDMsMHgwMCwweDAwLDB4YzAsMHgwMCwweDMwLDB4MDAsMHgwYywweDAwLDB4MDMsMHgwMCwweDAwLDB4YzAsMHg0MCwweDMwLDB4MDAgfSwKLSAgMTYsIDB4YzA2MCwgMCwgezB4MGMsMHgwMCwweDAzLDB4MDAsMHgwMCwweGMwLDB4MDAsMHgzMCwweDAwLDB4MGMsMHgwMCwweDAzLDB4MDAsMHgwMCwweGMwLDB4MDAgfSwKLSAgMTYsIDB4YzA3MCwgMCwgezB4MzAsMHgwMCwweDBjLDB4MDAsMHgwMywweDAwLDB4MDAsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzA4MCwgMCwgezB4MDAsMHg4MCwweDAyLDB4MDEsMHgzMCwweDgwLDB4NGMsMHgyMCwweDEzLDB4MDgsMHgwNCwweGMyLDB4MDEsMHgzMCwweDgwLDB4NGMgfSwKLSAgMTYsIDB4YzA5MCwgMCwgezB4MjAsMHgxMywweDA4LDB4MDQsMHhjMiwweDI1LDB4MzAsMHg4MSwweDRjLDB4MjAsMHgxMywweDA4LDB4MDQsMHhjMiwweDAxLDB4MzAgfSwKLSAgMTYsIDB4YzBhMCwgMCwgezB4ODAsMHg0YywweDMyLDB4NTMsMHgwOCwweDA0LDB4YzIsMHgwMSwweDMwLDB4ODAsMHg0YywweDIwLDB4MTMsMHgwOCwweDA0LDB4YzAgfSwKLSAgMTYsIDB4YzBiMCwgMCwgezB4MjAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzUsMHg0MiwweDA1LDB4NjIsMHg4MSwweDU4LDB4MjAgfSwKLSAgMTYsIDB4YzBjMCwgMCwgezB4NTYsMHgwOCwweDE1LDB4ODIsMHgwNCwweDYwLDB4ODEsMHg1OCwweDIwLDB4NDYsMHgwOCwweDE1LDB4ODIsMHgwMSwweDYwLDB4YzEgfSwKLSAgMTYsIDB4YzBkMCwgMCwgezB4NTgsMHgyMCwweDQ2LDB4MDgsMHgxNSwweDgyLDB4MDEsMHg2MCwweDgxLDB4NTgsMHgzMCwweDU2LDB4MDgsMHgxNSwweDgyLDB4MDUgfSwKLSAgMTYsIDB4YzBlMCwgMCwgezB4NjAsMHg4MSwweDU4LDB4MjAsMHg1NiwweDA4LDB4MDUsMHg4MCwweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzBmMCwgMCwgezB4MDAsMHhjNSwweDQyLDB4MDAsMHgyMCwweDgwLDB4MDgsMHgyMCwweDAyLDB4MDgsMHgwMCwweDgyLDB4MDAsMHgyMCwweDgwLDB4MDggfSwKLSAgMTYsIDB4YzEwMCwgMCwgezB4MjAsMHgwMiwweDA4LDB4MDAsMHg4MiwweDAwLDB4MjAsMHg4MCwweDBjLDB4MjAsMHgwMiwweDA4LDB4MDAsMHg4MiwweDAwLDB4MjAgfSwKLSAgMTYsIDB4YzExMCwgMCwgezB4ODAsMHgwOCwweDIwLDB4MDMsMHgwOCwweDAwLDB4ODIsMHgwMCwweDIwLDB4ODAsMHgwOCwweDIwLDB4MDIsMHgwOCwweDAwLDB4ODAgfSwKLSAgMTYsIDB4YzEyMCwgMCwgezB4MjEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzUsMHg0MiwweDA0LDB4NjYsMHg4MSwweDE4LDB4MjAgfSwKLSAgMTYsIDB4YzEzMCwgMCwgezB4NDYsMHgwOCwweDExLDB4ODIsMHgwNCwweDY0LDB4ODEsMHgxOCwweDIwLDB4NDYsMHgwOCwweDExLDB4ODIsMHgwMCwweDYwLDB4ODEgfSwKLSAgMTYsIDB4YzE0MCwgMCwgezB4MGMsMHgyMCwweDQ2LDB4MDgsMHgxMSwweDgyLDB4MDAsMHg2MCwweDgxLDB4MTksMHgyMCwweDQzLDB4MDgsMHgxMSwweDgyLDB4MDQgfSwKLSAgMTYsIDB4YzE1MCwgMCwgezB4NjAsMHg4MSwweDE5LDB4MjAsMHg0NiwweDQ4LDB4MDEsMHg4MCwweDExLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzE2MCwgMCwgezB4MDAsMHhjNSwweDYwLDB4MDUsMHg1OCwweDAxLDB4NTYsMHgwMCwweDU1LDB4ODAsMHgxNSwweDYwLDB4MDQsMHg1OCwweDAxLDB4NTYgfSwKLSAgMTYsIDB4YzE3MCwgMCwgezB4MDAsMHg0NSwweDgwLDB4MTEsMHg2MCwweDAwLDB4NTgsMHgwMCwweDA2LDB4MDAsMHg0NSwweDgwLDB4MTUsMHg2MCwweDAxLDB4NTggfSwKLSAgMTYsIDB4YzE4MCwgMCwgezB4MDEsMHgxNiwweDAwLDB4MDEsMHg4MCwweDE1LDB4NjAsMHgwNSwweDU4LDB4MDEsMHg1NiwweDAwLDB4NTUsMHg4MCwweDA1LDB4NDAgfSwKLSAgMTYsIDB4YzE5MCwgMCwgezB4MTEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNiwweDAxLDB4NDksMHg4MCwweDEwLDB4NjAgfSwKLSAgMTYsIDB4YzFhMCwgMCwgezB4MTQsMHgxOCwweDA1LDB4MDYsMHgwMSwweDc5LDB4ODAsMHg1MCwweDYwLDB4MTQsMHgxOCwweDAxLDB4MDYsMHgwMSwweDQxLDB4ODAgfSwKLSAgMTYsIDB4YzFiMCwgMCwgezB4NTAsMHg2MCwweDA0LDB4MTgsMHgwNSwweDA2LDB4MDEsMHg0MSwweDgwLDB4MTAsMHg2MCwweDE0LDB4MTgsMHgwNSwweDA2LDB4MDEgfSwKLSAgMTYsIDB4YzFjMCwgMCwgezB4NDEsMHg4MCwweDUwLDB4NjAsMHgxNCwweDE4LDB4MDUsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzFkMCwgMCwgezB4MDAsMHg4MCwweDAyLDB4MDEsMHgwNCwweDgwLDB4NDAsMHgyMCwweDEwLDB4MDgsMHgwNCwweDAyLDB4MDAsMHgwNCwweDA0LDB4NDAgfSwKLSAgMTYsIDB4YzFlMCwgMCwgezB4MjAsMHgxMCwweDA4LDB4MDQsMHgwMiwweDAxLDB4MDAsMHg4NCwweDQwLDB4MjAsMHgxMCwweDA4LDB4MDQsMHgwMiwweDAxLDB4MDAgfSwKLSAgMTYsIDB4YzFmMCwgMCwgezB4ODAsMHg0MSwweDIwLDB4MTAsMHgwOCwweDA0LDB4MDIsMHgxMSwweDAwLDB4ODAsMHg0MSwweDIwLDB4MTAsMHg0OCwweDA0LDB4MDAgfSwKLSAgMTYsIDB4YzIwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzUsMHg0NiwweDAzLDB4NTEsMHg4MCwweGQ0LDB4NjAgfSwKLSAgMTYsIDB4YzIxMCwgMCwgezB4MzUsMHgxOCwweDBkLDB4NDYsMHgwMiwweDExLDB4ODAsMHhkNCwweDYwLDB4MzUsMHgxOCwweDBkLDB4NDYsMHgwMywweDExLDB4ODAgfSwKLSAgMTYsIDB4YzIyMCwgMCwgezB4ZDQsMHg2MCwweDM1LDB4MTgsMHgwZCwweDQ2LDB4MDMsMHg1MSwweDgwLDB4ZDQsMHg2MCwweDM1LDB4MTgsMHgwZCwweDQ2LDB4MDMgfSwKLSAgMTYsIDB4YzIzMCwgMCwgezB4NTEsMHg4MCwweGQ0LDB4NjAsMHgzNSwweDE4LDB4MGQsMHg0MCwweDMxLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzI0MCwgMCwgezB4MDAsMHhjNSwweDQ2LDB4MDUsMHg3MCwweDgxLDB4NWMsMHg2MCwweDA3LDB4MTgsMHgxNSwweGM2LDB4MDQsMHg3MSwweDgxLDB4MWMgfSwKLSAgMTYsIDB4YzI1MCwgMCwgezB4NjAsMHgxNywweDE4LDB4MTUsMHhjNiwweDA1LDB4MzEsMHg4MSwweGRjLDB4NjAsMHg1NywweDE4LDB4MTUsMHhjNiwweDA1LDB4NzEgfSwKLSAgMTYsIDB4YzI2MCwgMCwgezB4ODAsMHgxYywweDYwLDB4NzcsMHgxOCwweDE1LDB4Y2UsMHgwNSwweDcxLDB4ODEsMHg1YywweDYwLDB4NTcsMHgxOCwweDE1LDB4YzAgfSwKLSAgMTYsIDB4YzI3MCwgMCwgezB4MTEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHg0NiwweDAyLDB4NzEsMHg4MCwweDljLDB4NjEgfSwKLSAgMTYsIDB4YzI4MCwgMCwgezB4NzcsMHgxOCwweDBkLDB4YzYsMHgwMiwweDcxLDB4ODAsMHg5YywweDYwLDB4MzcsMHgxOCwweDBkLDB4YzIsMHgwMywweDMxLDB4ODAgfSwKLSAgMTYsIDB4YzI5MCwgMCwgezB4NWMsMHg2MCwweDI3LDB4MTgsMHgwZCwweGM2LDB4MDMsMHg3MSwweDgwLDB4OWMsMHg2MCwweDE3LDB4MTgsMHgwZCwweGNlLDB4MDMgfSwKLSAgMTYsIDB4YzJhMCwgMCwgezB4NzEsMHg4MCwweGRjLDB4NjAsMHgzNywweDE4LDB4MGQsMHhjMCwweDExLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzJiMCwgMCwgezB4MDAsMHg0NSwweDQ2LDB4MDUsMHg3NSwweDgxLDB4NWMsMHg2MCwweDc3LDB4MTgsMHgxNSwweGM2LDB4MDUsMHg3NSwweDgxLDB4NWMgfSwKLSAgMTYsIDB4YzJjMCwgMCwgezB4NjAsMHg1NywweDE4LDB4MTUsMHhjNiwweDA1LDB4MzEsMHg4MSwweDBjLDB4NjAsMHg1NywweDE4LDB4MTUsMHhjNiwweDA1LDB4NzEgfSwKLSAgMTYsIDB4YzJkMCwgMCwgezB4ODEsMHg1YywweDYwLDB4NDMsMHgxOCwweDE1LDB4YzYsMHgwNSwweDcxLDB4ODEsMHg1YywweDYwLDB4NTcsMHgxOCwweDE1LDB4YzAgfSwKLSAgMTYsIDB4YzJlMCwgMCwgezB4MTEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMiwweDAxLDB4MjAsMHg4MCwweDQ4LDB4MjAgfSwKLSAgMTYsIDB4YzJmMCwgMCwgezB4MTIsMHgwOCwweDA0LDB4ODIsMHgwMSwweDIwLDB4ODAsMHg0OCwweDIwLDB4MTIsMHgwOCwweDA0LDB4ODIsMHgwMSwweDIwLDB4ODAgfSwKLSAgMTYsIDB4YzMwMCwgMCwgezB4NWMsMHgyMCwweDEyLDB4MDgsMHgwNCwweDgyLDB4MDEsMHgyMCwweDgwLDB4NDgsMHgwMCwweDE3LDB4MDgsMHgwNCwweDgyLDB4MDEgfSwKLSAgMTYsIDB4YzMxMCwgMCwgezB4MjAsMHg4MCwweDQ4LDB4MjAsMHgxMiwweDA4LDB4MDQsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzMyMCwgMCwgezB4MDAsMHgwMCwweDA2LDB4MDEsMHg2MywweDgwLDB4NTgsMHg2MCwweDE2LDB4MTgsMHgwNSwweDg2LDB4MDEsMHg2MSwweDgwLDB4NTggfSwKLSAgMTYsIDB4YzMzMCwgMCwgezB4NjAsMHgxNiwweDE4LDB4MDUsMHg4NiwweDAxLDB4NjEsMHg4MSwweDU4LDB4NjAsMHgxNiwweDE4LDB4MDUsMHg4NiwweDAxLDB4NjEgfSwKLSAgMTYsIDB4YzM0MCwgMCwgezB4ODAsMHg1OCwweDYwLDB4NTYsMHgxOCwweDA1LDB4ODYsMHgwMSwweDYxLDB4ODAsMHg1OCwweDYwLDB4MTYsMHgxOCwweDA1LDB4ODAgfSwKLSAgMTYsIDB4YzM1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDUsMHg0MCwweDA1LDB4NzAsMHgwMSwweDVjLDB4MDAgfSwKLSAgMTYsIDB4YzM2MCwgMCwgezB4MTcsMHgwMCwweDE1LDB4YzAsMHg4NSwweDc0LDB4MDEsMHgxYywweDAwLDB4NDcsMHgwMCwweDExLDB4YzAsMHgwNSwweDcwLDB4MDEgfSwKLSAgMTYsIDB4YzM3MCwgMCwgezB4NWMsMHgwMCwweDUzLDB4MDAsMHgxMCwweGMwLDB4MDUsMHg3MCwweDAxLDB4NWMsMHgwMCwweDU3LDB4MDAsMHgxNCwweGM5LDB4MDQgfSwKLSAgMTYsIDB4YzM4MCwgMCwgezB4NzAsMHgwMSwweDFjLDB4MDAsMHg1NywweDAwLDB4MTUsMHhjMCwweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzM5MCwgMCwgezB4MDAsMHg0NSwweDQyLDB4MDAsMHg2MCwweGMwLDB4MTgsMHgyMCwweDA2LDB4MDgsMHgwMSwweDgyLDB4MDAsMHg2MCwweDgwLDB4MTggfSwKLSAgMTYsIDB4YzNhMCwgMCwgezB4MjAsMHgwNiwweDA4LDB4MDEsMHg4MiwweDAwLDB4MjAsMHg4MCwweDE4LDB4MzAsMHgwMiwweDA4LDB4MDAsMHg4MiwweDEwLDB4NjAgfSwKLSAgMTYsIDB4YzNiMCwgMCwgezB4ODAsMHgxOCwweDIwLDB4MDYsMHgwOCwweDAwLDB4ODIsMHgwMCwweDYwLDB4ODAsMHgxOCwweDIwLDB4MDYsMHgwOCwweDAxLDB4ODAgfSwKLSAgMTYsIDB4YzNjMCwgMCwgezB4MTEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDQsMHg0MiwweDA0LDB4MjAsMHg4MSwweDA4LDB4MjAgfSwKLSAgMTYsIDB4YzNkMCwgMCwgezB4MDIsMHgwOCwweDEwLDB4ODIsMHgwNCwweDIwLDB4ODEsMHgwOCwweDIwLDB4NDIsMHgwOCwweDEwLDB4ODIsMHgwNCwweDIwLDB4ODEgfSwKLSAgMTYsIDB4YzNlMCwgMCwgezB4MDgsMHgyMCwweDQ2LDB4MDgsMHgxMSwweDgyLDB4MDQsMHgyMCwweDgxLDB4MDgsMHgyMCwweDQyLDB4MDgsMHgxMSwweDgyLDB4MDQgfSwKLSAgMTYsIDB4YzNmMCwgMCwgezB4MjAsMHg4MSwweDA4LDB4MjAsMHg0MiwweDA4LDB4MTAsMHg4MCwweDExLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzQwMCwgMCwgezB4MDAsMHg0NSwweDQyLDB4MDUsMHg0MCwweGM1LDB4NTAsMHgyMCwweDE0LDB4MDgsMHgxNSwweDAwLDB4MDQsMHg0MCwweDgxLDB4NTAgfSwKLSAgMTYsIDB4YzQxMCwgMCwgezB4MjAsMHg1NCwweDA4LDB4MTEsMHgwMiwweDA1LDB4MDAsMHg4MCwweDEwLDB4MjAsMHg0NSwweDBjLDB4MTEsMHg0MiwweDA0LDB4NDAgfSwKLSAgMTYsIDB4YzQyMCwgMCwgezB4ODEsMHg1MCwweDIwLDB4MTQsMHgwYywweDE1LDB4NDIsMHgwNCwweDQwLDB4ODEsMHgxMCwweDIwLDB4NTQsMHgwOCwweDE1LDB4MDAgfSwKLSAgMTYsIDB4YzQzMCwgMCwgezB4MTEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMywweDAxLDB4NTAsMHhjMCwweDQ0LDB4MzAgfSwKLSAgMTYsIDB4YzQ0MCwgMCwgezB4MTUsMHgwYywweDA1LDB4NDMsMHgwMSwweDUwLDB4YzAsMHg0YywweDMwLDB4MTUsMHgwYywweDA1LDB4NDMsMHgyMSwweDUwLDB4YzAgfSwKLSAgMTYsIDB4YzQ1MCwgMCwgezB4NTQsMHgzMCwweDE1LDB4MGMsMHgwNSwweDQzLDB4MDEsMHg1MCwweGMwLDB4NTQsMHgzMCwweDE1LDB4MGMsMHgwNSwweDQzLDB4MDEgfSwKLSAgMTYsIDB4YzQ2MCwgMCwgezB4NTAsMHhjMCwweDU0LDB4MjAsMHgxNSwweDBjLDB4MDUsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzQ3MCwgMCwgezB4MDAsMHgwMCwweDA4LDB4MDAsMHg0MiwweDAwLDB4MDQsMHg4MCwweDA0LDB4MjAsMHgwMSwweDA4LDB4MDAsMHg0MiwweDAwLDB4MDQgfSwKLSAgMTYsIDB4YzQ4MCwgMCwgezB4ODAsMHgwNCwweDIwLDB4MDEsMHgwOCwweDAwLDB4MDIsMHgwMCwweDEwLDB4MDAsMHgwNCwweDAwLDB4MDEsMHgwOCwweDAwLDB4NDIgfSwKLSAgMTYsIDB4YzQ5MCwgMCwgezB4MDAsMHgxMCwweDgwLDB4MDQsMHgwMCwweDAxLDB4MDgsMHgwMCwweDQyLDB4MDAsMHgxMCwweDgwLDB4MDQsMHgyMCwweDAxLDB4MDAgfSwKLSAgMTYsIDB4YzRhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDUsMHg0MiwweDAyLDB4MDAsMHg4MCwweDg0LDB4MjAgfSwKLSAgMTYsIDB4YzRiMCwgMCwgezB4MjAsMHgwOCwweDA4LDB4MDIsMHgwMiwweDAwLDB4ODAsMHg4NCwweDIwLDB4MjAsMHgwOCwweDA4LDB4MDIsMHgwMiwweDAwLDB4ODAgfSwKLSAgMTYsIDB4YzRjMCwgMCwgezB4ODAsMHhhMCwweDIwLDB4MjgsMHgwOCwweDAyLDB4MDIsMHgwMCwweDgwLDB4ODAsMHgyMCwweDIwLDB4MjgsMHgwOCwweDAyLDB4MDIgfSwKLSAgMTYsIDB4YzRkMCwgMCwgezB4MDAsMHg4MCwweDgwLDB4MjAsMHgyMCwweDA4LDB4MDgsMHgwMCwweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzRlMCwgMCwgezB4MDAsMHg0NSwweDQwLDB4MDUsMHg2MCwweDQxLDB4NTgsMHgwMCwweDU2LDB4MDAsMHgxNSwweDgwLDB4MDUsMHg2MCwweDAxLDB4NTggfSwKLSAgMTYsIDB4YzRmMCwgMCwgezB4MDAsMHg1NiwweDAwLDB4MTUsMHg4MCwweDA1LDB4MjAsMHgwMSwweGQ4LDB4MDAsMHg1NiwweDAwLDB4MTUsMHg4MCwweDA1LDB4NjAgfSwKLSAgMTYsIDB4YzUwMCwgMCwgezB4MDEsMHg1OCwweDAwLDB4NzYsMHgwMCwweDE1LDB4ODAsMHgwNSwweDYwLDB4MDEsMHg1OCwweDAwLDB4NTYsMHgwMCwweDE1LDB4ODAgfSwKLSAgMTYsIDB4YzUxMCwgMCwgezB4MTEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzUsMHg0MCwweDAzLDB4NjAsMHgwMCwweGQ4LDB4MDAgfSwKLSAgMTYsIDB4YzUyMCwgMCwgezB4MjYsMHgwMCwweDBkLDB4ODAsMHgwMiwweDYwLDB4MDAsMHhkOCwweDAwLDB4MzYsMHgwMCwweDBkLDB4ODAsMHgwNywweDYwLDB4MDEgfSwKLSAgMTYsIDB4YzUzMCwgMCwgezB4NWMsMHgwMCwweDM2LDB4MDAsMHgwZCwweDgwLDB4MDMsMHg2MCwweDAwLDB4ZDgsMHgwMCwweDU3LDB4MDAsMHgwZCwweDgwLDB4MDIgfSwKLSAgMTYsIDB4YzU0MCwgMCwgezB4NjAsMHgwMCwweDk4LDB4MDAsMHgzNiwweDAwLDB4MGQsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzU1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDQsMHgzMCwweDIxLDB4MGMsMHgwMCwweDQzLDB4MDAsMHgxMCwweGMwLDB4MDQsMHgzMCwweDAxLDB4MGMgfSwKLSAgMTYsIDB4YzU2MCwgMCwgezB4MDAsMHg0MywweDAwLDB4MTAsMHhjMCwweDA0LDB4MzAsMHgwMSwweDE4LDB4MDAsMHg0MywweDAwLDB4MTAsMHhjMCwweDA0LDB4MzAgfSwKLSAgMTYsIDB4YzU3MCwgMCwgezB4MDEsMHgwYywweDAwLDB4NDYsMHgwMCwweDEwLDB4YzAsMHgwNCwweDMwLDB4MDEsMHgwYywweDAwLDB4NDMsMHgwMCwweDEwLDB4YzAgfSwKLSAgMTYsIDB4YzU4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzAsMHgwMCwweDBjLDB4MDAgfSwKLSAgMTYsIDB4YzU5MCwgMCwgezB4MDMsMHgwMCwweDAwLDB4YzAsMHgwMCwweDM1LDB4MDgsMHgwYywweDAwLDB4MDMsMHgwMCwweDAwLDB4YzYsMHgwMCwweDE0LDB4MDAgfSwKLSAgMTYsIDB4YzVhMCwgMCwgezB4MDgsMHgwMCwweDAzLDB4NDAsMHgwMCwweGMwLDB4MDAsMHgzMCwweDAwLDB4MGQsMHg0MCwweDAyLDB4MDAsMHgwMCwweGMwLDB4MDAgfSwKLSAgMTYsIDB4YzViMCwgMCwgezB4MzAsMHgwMCwweDBjLDB4MDAsMHgwMywweDAwLDB4MDAsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzVjMCwgMCwgezB4MDAsMHgwMCwweDA1LDB4MDEsMHgzMSwweDQwLDB4NGMsMHg1MCwweDEzLDB4MTQsMHgwNCwweGM1LDB4MDEsMHgzMSwweGMwLDB4NGMgfSwKLSAgMTYsIDB4YzVkMCwgMCwgezB4NTAsMHgxMywweDE0LDB4MDQsMHhjNSwweDA1LDB4MzEsMHg0MSwweDRjLDB4NTAsMHgxMywweDE0LDB4MDQsMHhjNSwweDAxLDB4MzEgfSwKLSAgMTYsIDB4YzVlMCwgMCwgezB4NDAsMHg0YywweDcwLDB4NTMsMHgxNCwweDA0LDB4YzUsMHgwMSwweDMxLDB4NDAsMHg0YywweDQwLDB4MTMsMHgxNCwweDA0LDB4YzAgfSwKLSAgMTYsIDB4YzVmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMywweDA1LDB4NjgsMHhjMSwweDVhLDB4MzAgfSwKLSAgMTYsIDB4YzYwMCwgMCwgezB4NTYsMHg4YywweDE1LDB4YTMsMHgwNSwweDY5LDB4YzEsMHg1YSwweDMwLDB4NDYsMHg4YywweDExLDB4YTcsMHgwMSwweDY4LDB4YzAgfSwKLSAgMTYsIDB4YzYxMCwgMCwgezB4MWEsMHgzMCwweDU2LDB4OGMsMHgxMSwweGEzLDB4MDQsMHg2OCwweGMxLDB4MWEsMHgzMCwweDE2LDB4OGMsMHgxNSwweGEzLDB4MDQgfSwKLSAgMTYsIDB4YzYyMCwgMCwgezB4NjgsMHhjMSwweDVhLDB4MzAsMHg1NiwweDhjLDB4MTEsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzYzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDAwLDB4MDgsMHgwMCwweDAyLDB4MDAsMHgwMCwweDgwLDB4MDAsMHgyNCwweDAwLDB4MDggfSwKLSAgMTYsIDB4YzY0MCwgMCwgezB4MDEsMHgwMiwweDAwLDB4MDAsMHg4MCwweDAwLDB4MjQsMHgwMCwweDA4LDB4ODAsMHgwMiwweDYwLDB4MDAsMHg4MCwweDAwLDB4MjAgfSwKLSAgMTYsIDB4YzY1MCwgMCwgezB4MDAsMHgwOSwweDQwLDB4MDIsMHgyMCwweDAwLDB4ODAsMHgwMCwweDIwLDB4MDAsMHgwOCwweDAwLDB4MDIsMHgwMCwweDAwLDB4ODAgfSwKLSAgMTYsIDB4YzY2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDQ0LDB4NjIsMHgxMSwweDE4LDB4ODQgfSwKLSAgMTYsIDB4YzY3MCwgMCwgezB4NDYsMHgyMSwweDExLDB4ODgsMHg0NCwweDYyLDB4MDksMHgxOCwweDg0LDB4NDYsMHgyMSwweDExLDB4ODgsMHg2MCwweDYyLDB4MTAgfSwKLSAgMTYsIDB4YzY4MCwgMCwgezB4MTgsMHgwNCwweDQ2LDB4MDEsMHgxMSwweDg4LDB4NDQsMHg2MiwweDExLDB4MTgsMHg4MCwweDA2LDB4MDEsMHgxMSwweDg4LDB4NDQgfSwKLSAgMTYsIDB4YzY5MCwgMCwgezB4NjIsMHgxMSwweDE4LDB4ODQsMHg0NiwweDIxLDB4MTEsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzZhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4NDUsMHg1MCwweDExLDB4NTQsMHgwNCwweDU1LDB4MDEsMHgxNSwweDQwLDB4NDQsMHg1MCwweDExLDB4NTQgfSwKLSAgMTYsIDB4YzZiMCwgMCwgezB4MDQsMHg0NSwweDAxLDB4MTEsMHg0MCwweDQwLDB4NTAsMHgxMCwweDU0LDB4MDQsMHg0NSwweDAxLDB4MTUsMHg0MCwweDQ0LDB4NTAgfSwKLSAgMTYsIDB4YzZjMCwgMCwgezB4MTEsMHgxNCwweDAwLDB4MTUsMHgwMSwweDE1LDB4NDAsMHg0NCwweDUwLDB4MTEsMHg1NCwweDA0LDB4NTUsMHgwMCwweDExLDB4NDAgfSwKLSAgMTYsIDB4YzZkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDIxLDB4NDIsMHgwOCwweDUwLDB4ODIgfSwKLSAgMTYsIDB4YzZlMCwgMCwgezB4MTQsMHgyMCwweDg1LDB4MDgsMHgyMSwweDQyLDB4MDAsMHg1MCwweDgyLDB4MTQsMHgyMCwweDg1LDB4MDgsMHgyMCwweDQyLDB4MDggfSwKLSAgMTYsIDB4YzZmMCwgMCwgezB4NTAsMHg4MiwweDE1LDB4MjAsMHgwNSwweDQ4LDB4MjEsMHg0MiwweDA4LDB4NTAsMHg4MiwweDE0LDB4MjAsMHg4MSwweDQwLDB4MjEgfSwKLSAgMTYsIDB4YzcwMCwgMCwgezB4NDIsMHgwOCwweDUwLDB4ODIsMHgxNCwweDIwLDB4ODUsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzcxMCwgMCwgezB4MDAsMHgwMCwweDBhLDB4MDEsMHgwMiwweDgwLDB4NDAsMHhhMCwweDEwLDB4MjgsMHgwNCwweDBhLDB4MDEsMHgwMiwweDg0LDB4NDAgfSwKLSAgMTYsIDB4YzcyMCwgMCwgezB4YTEsMHgxMCwweDI4LDB4MDQsMHgwYSwweDAxLDB4MDIsMHg4MCwweDQwLDB4YTAsMHgwMCwweDI4LDB4MDAsMHgwYSwweDAxLDB4MDIgfSwKLSAgMTYsIDB4YzczMCwgMCwgezB4ODAsMHg0MCwweGIwLDB4MTAsMHgyOCwweDAwLDB4MGEsMHgwMSwweDAyLDB4ODAsMHg0MCwweGEwLDB4MTAsMHgyOCwweDA0LDB4MDAgfSwKLSAgMTYsIDB4Yzc0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwYywweDAzLDB4NTMsMHgwMCwweGQ0LDB4YzAgfSwKLSAgMTYsIDB4Yzc1MCwgMCwgezB4MzUsMHgzMCwweDBkLDB4NGMsMHgwMywweDUzLDB4MDAsMHhkNCwweGMwLDB4MzUsMHgzMCwweDBkLDB4NGMsMHgwMywweDUzLDB4MDAgfSwKLSAgMTYsIDB4Yzc2MCwgMCwgezB4ZDQsMHhjMCwweDIxLDB4MzAsMHgwOCwweDRjLDB4MDMsMHg1MywweDAwLDB4ZDQsMHhjMCwweDM1LDB4MzAsMHgwOCwweDRjLDB4MDMgfSwKLSAgMTYsIDB4Yzc3MCwgMCwgezB4NTMsMHgwMCwweGQ0LDB4YzAsMHgzNSwweDMwLDB4MGQsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Yzc4MCwgMCwgezB4MDAsMHgwMCwweDA4LDB4MDQsMHg3MCwweDAxLDB4NWMsMHg4MCwweDA3LDB4MjAsMHgyNSwweGM5LDB4MDQsMHg3MiwweDAxLDB4NWMgfSwKLSAgMTYsIDB4Yzc5MCwgMCwgezB4ODAsMHg0NywweDIwLDB4MTUsMHhjOCwweDAwLDB4NzIsMHgwNSwweGRjLDB4ODAsMHg1NywweDIwLDB4MTUsMHhjOCwweDA1LDB4NzIgfSwKLSAgMTYsIDB4YzdhMCwgMCwgezB4MDEsMHgxYywweDkwLDB4NjcsMHgyMCwweDE1LDB4YzgsMHgwNSwweDcyLDB4MDEsMHgxYywweDgwLDB4NTcsMHgyMCwweDE1LDB4YzAgfSwKLSAgMTYsIDB4YzdiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMywweDE4LDB4NDgsMHhjMiwweDEyLDB4MzEgfSwKLSAgMTYsIDB4YzdjMCwgMCwgezB4ODQsMHg4YywweDYxLDB4MDMsMHgxOCwweDQwLDB4YzgsMHgxMiwweDMxLDB4ODQsMHg4YywweDYxLDB4MDMsMHgxOCwweDQ4LDB4YzQgfSwKLSAgMTYsIDB4YzdkMCwgMCwgezB4MTAsMHgzMSwweDg0LDB4MGMsMHg0MSwweDIzLDB4MTgsMHg0OCwweGM2LDB4MTAsMHgzMCwweDA0LDB4MGMsMHg2MSwweDIzLDB4MTggfSwKLSAgMTYsIDB4YzdlMCwgMCwgezB4NDgsMHhjNiwweDEyLDB4MzAsMHg4NCwweDhjLDB4MjEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzdmMCwgMCwgezB4MDAsMHgwMCwweDNmLDB4ZmYsMHg0ZiwweGZmLDB4ZDMsMHhmZiwweGY0LDB4ZmYsMHhmZCwweDNmLDB4ZmYsMHg0ZiwweGZmLDB4ZDMgfSwKLSAgMTYsIDB4YzgwMCwgMCwgezB4ZmYsMHhmNCwweGZmLDB4ZmQsMHgzZiwweGZmLDB4NGYsMHhmZiwweGQzLDB4ZmYsMHhmNCwweGZmLDB4ZmQsMHgzZiwweGZmLDB4NGYgfSwKLSAgMTYsIDB4YzgxMCwgMCwgezB4ZmYsMHhkMywweGZmLDB4ZjQsMHhmZiwweGZkLDB4M2YsMHhmZiwweDRmLDB4ZmYsMHhkMywweGZmLDB4ZjQsMHhmZiwweGJkLDB4MDAgfSwKLSAgMTYsIDB4YzgyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzgzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Yzg0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Yzg1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Yzg2MCwgMCwgezB4MDAsMHgwMCwweDJjLDB4ZGIsMHgwYiwweDM2LDB4YzIsMHhjZCwweGIwLDB4YjMsMHg2YywweDJjLDB4ZGIsMHgwOSwweDM2LDB4YzIgfSwKLSAgMTYsIDB4Yzg3MCwgMCwgezB4Y2QsMHhiMCwweGIzLDB4NmMsMHgyYywweGRiLDB4MGIsMHgzNiwweGMyLDB4Y2QsMHhiMCwweGIzLDB4NmMsMHgyYywweGRiLDB4MGIgfSwKLSAgMTYsIDB4Yzg4MCwgMCwgezB4MzYsMHhjMiwweGNkLDB4YjAsMHhiMywweDZjLDB4MmMsMHhkYiwweDBiLDB4MzYsMHhjMiwweGNkLDB4YjAsMHhiMywweDJjLDB4MDAgfSwKLSAgMTYsIDB4Yzg5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMywweDNjLDB4NGMsMHhjZiwweDEzLDB4MzMgfSwKLSAgMTYsIDB4YzhhMCwgMCwgezB4YzQsMHhjYywweGYxLDB4MzMsMHgzYywweDRkLDB4NGUsMHg5MywweDMzLDB4YzQsMHhjYywweGYxLDB4MmIsMHgzYywweDRjLDB4Y2YgfSwKLSAgMTYsIDB4YzhiMCwgMCwgezB4MTMsMHgzMywweGM0LDB4Y2MsMHhlOSwweDMzLDB4M2MsMHg0YywweGNmLDB4MTIsMHhiNSwweGM0LDB4Y2MsMHhmMSwweDMzLDB4M2MgfSwKLSAgMTYsIDB4YzhjMCwgMCwgezB4NGMsMHhjZiwweDEzLDB4MzMsMHhjNCwweGNkLDB4MzEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzhkMCwgMCwgezB4MDAsMHgwMCwweDNiLDB4N2UsMHg0ZSwweGM3LDB4OTMsMHhiNywweGU0LDB4ZWQsMHhmOSwweDIzLDB4N2UsMHg0ZSwweDQ3LDB4OTMgfSwKLSAgMTYsIDB4YzhlMCwgMCwgezB4YjcsMHhlNCwweGVkLDB4ZjksMHgzZiwweDdlLDB4NGUsMHhkZSwweDEyLDB4MzcsMHhlNCwweDhkLDB4ZjksMHgzYiwweDdlLDB4NGUgfSwKLSAgMTYsIDB4YzhmMCwgMCwgezB4ZGYsMHg5MywweGY3LDB4ODQsMHg4ZCwweGY5LDB4M2IsMHg3ZSwweDRlLDB4ZGYsMHg5MywweGIxLDB4ZTQsMHhlZCwweGI5LDB4MDAgfSwKLSAgMTYsIDB4YzkwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDAyLDB4NzAsMHg0MCwweDljLDB4MTEgfSwKLSAgMTYsIDB4YzkxMCwgMCwgezB4NjcsMHgwNCwweDE5LDB4YzMsMHgwMiwweDcwLDB4NDAsMHg5YywweDEwLDB4MjcsMHgwNCwweDA5LDB4YzEsMHgwMiwweDcwLDB4NDAgfSwKLSAgMTYsIDB4YzkyMCwgMCwgezB4MWMsMHgxMCwweDI3LDB4MTQsMHgwMSwweGMxLDB4MDIsMHg3MCwweDQwLDB4OWMsMHg1MCwweDA3LDB4MDQsMHgwOSwweGMxLDB4MDIgfSwKLSAgMTYsIDB4YzkzMCwgMCwgezB4NzAsMHg0MCwweDljLDB4MTAsMHg2NywweDE0LDB4MTEsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Yzk0MCwgMCwgezB4MDAsMHgwMCwweDA0LDB4MDUsMHg3MSwweDAxLDB4NWMsMHg0MCwweDU3LDB4MTAsMHgxNSwweGM0LDB4MDUsMHg3MSwweDAxLDB4NWMgfSwKLSAgMTYsIDB4Yzk1MCwgMCwgezB4NDAsMHg1NywweDEwLDB4MTUsMHhjNiwweDA1LDB4NzEsMHgwMSwweDVjLDB4NDAsMHg1NywweDEwLDB4MTAsMHhjNCwweDA1LDB4NzEgfSwKLSAgMTYsIDB4Yzk2MCwgMCwgezB4MDEsMHg1YywweDY0LDB4MDMsMHgxMCwweDU1LDB4YzQsMHgwNSwweDcxLDB4MDEsMHg1YywweDQwLDB4NTcsMHgxMCwweDE1LDB4YzAgfSwKLSAgMTYsIDB4Yzk3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMiwweDAxLDB4MjAsMHg4MCwweDQ4LDB4MjAgfSwKLSAgMTYsIDB4Yzk4MCwgMCwgezB4MTIsMHgwOCwweDA0LDB4ODIsMHgwMSwweDIxLDB4ODAsMHg0OCwweDIwLDB4MTIsMHgwOCwweDA0LDB4ODAsMHgwMSwweDIwLDB4ODAgfSwKLSAgMTYsIDB4Yzk5MCwgMCwgezB4NDgsMHgyMCwweDEyLDB4MDgsMHgwNSwweGMyLDB4MDEsMHgyMCwweDgwLDB4NDgsMHgyNCwweDE3LDB4MDgsMHgwNCwweDgyLDB4MDEgfSwKLSAgMTYsIDB4YzlhMCwgMCwgezB4MjAsMHg4MCwweDQ4LDB4MjAsMHgxMiwweDA4LDB4MDQsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4YzliMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHg2MCwweDAwLDB4MTgsMHgwMCwweDQ2LDB4MDAsMHgxMSwweDg0LDB4MDAsMHg2MCwweDAwLDB4MTggfSwKLSAgMTYsIDB4YzljMCwgMCwgezB4MDAsMHgwNiwweDAwLDB4MDEsMHg4MCwweDAwLDB4NjAsMHgwMSwweDE4LDB4MDAsMHgwNiwweDEwLDB4OTEsMHg4MCwweDAwLDB4NjAgfSwKLSAgMTYsIDB4YzlkMCwgMCwgezB4MDAsMHgxOCwweDQ2LDB4NDYsMHgxOCwweDAxLDB4ODAsMHgwMCwweDYwLDB4MDAsMHgxOCwweDAwLDB4MDYsMHgxMCwweDAxLDB4ODAgfSwKLSAgMTYsIDB4YzllMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4NzMsMHgwMSwweDFjLDB4ODAgfSwKLSAgMTYsIDB4YzlmMCwgMCwgezB4MDcsMHgyMCwweDAxLDB4YzgsMHgwNCwweDcyLDB4MDEsMHgxYywweDgwLDB4NDcsMHgyMCwweDExLDB4YzgsMHgwNCwweDcyLDB4MDEgfSwKLSAgMTYsIDB4Y2EwMCwgMCwgezB4MWMsMHg4MCwweDQ3LDB4MjIsMHgxMSwweGM4LDB4MDQsMHg3MiwweDAxLDB4MWMsMHg4MCwweDA3LDB4MjAsMHgxMSwweGM4LDB4MDQgfSwKLSAgMTYsIDB4Y2ExMCwgMCwgezB4NzIsMHgwMSwweDFjLDB4ODAsMHgwNywweDI4LDB4MTEsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2EyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHg2MCwweDAwLDB4MTgsMHgwMCwweDA2LDB4MDAsMHgwMSwweDgwLDB4MDAsMHg2MCwweDAwLDB4MTggfSwKLSAgMTYsIDB4Y2EzMCwgMCwgezB4MDAsMHgwNiwweDAwLDB4MDEsMHg4MCwweDAwLDB4NjAsMHgwMCwweDE4LDB4MDAsMHgwNiwweDAwLDB4MDEsMHg4MCwweDAwLDB4NjAgfSwKLSAgMTYsIDB4Y2E0MCwgMCwgezB4MDAsMHgxOCwweDAwLDB4NDYsMHgwNCwweDAxLDB4ODAsMHgwMCwweDYwLDB4MDAsMHgxOCwweDAwLDB4MDYsMHgwMCwweDAxLDB4ODAgfSwKLSAgMTYsIDB4Y2E1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDA0LDB4MjIsMHgwMSwweDA4LDB4ODAgfSwKLSAgMTYsIDB4Y2E2MCwgMCwgezB4MDIsMHgyMCwweDAwLDB4OTAsMHgwNCwweDI3LDB4ODEsMHgwOCwweDgwLDB4NDIsMHgyMCwweDEwLDB4OTgsMHgwNCwweDI0LDB4MDEgfSwKLSAgMTYsIDB4Y2E3MCwgMCwgezB4MDgsMHg4MCwweDQyLDB4NDgsMHgxMCwweDg4LDB4MDQsMHgyMiwweDAxLDB4MDksMHg0MCwweDQyLDB4NjAsMHgxMCwweDg4LDB4MDQgfSwKLSAgMTYsIDB4Y2E4MCwgMCwgezB4MjIsMHgwMSwweDA4LDB4YzAsMHgwMiwweDQwLDB4MTAsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2E5MCwgMCwgezB4MDAsMHgwMCwweDJhLDB4MDQsMHg0YiwweDgxLDB4MTIsMHhhMCwweDA0LDB4YTgsMHgwMSwweDJhLDB4MDQsMHg0YSwweDgxLDB4MTIgfSwKLSAgMTYsIDB4Y2FhMCwgMCwgezB4YTAsMHg0NCwweGE4LDB4MTEsMHgyYSwweDA0LDB4NDgsMHg4MCwweDEyLDB4YTAsMHg0NCwweDg4LDB4MDEsMHgyYSwweDA0LDB4NGEgfSwKLSAgMTYsIDB4Y2FiMCwgMCwgezB4ODEsMHgxMiwweDIwLDB4MDQsMHhhYywweDExLDB4MmEsMHgwNCwweDRhLDB4ODEsMHgxMiwweGIwLDB4NDQsMHg5YywweDExLDB4MDAgfSwKLSAgMTYsIDB4Y2FjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4YzAsMHgwYywweDAwLDB4NTMsMHgwMCwweDE0LDB4YzAgfSwKLSAgMTYsIDB4Y2FkMCwgMCwgezB4MDUsMHgzMCwweDAxLDB4NDQsMHgwMCwweDUzLDB4MDAsMHgxNCwweGMwLDB4MDUsMHgzMCwweDA0LDB4MGMsMHgwMCwweDUzLDB4MDAgfSwKLSAgMTYsIDB4Y2FlMCwgMCwgezB4MTQsMHhjMCwweDA1LDB4YjAsMHgwMSwweDRjLDB4MDAsMHg1MywweDAwLDB4MTYsMHhjMCwweDAxLDB4MzAsMHgwMSwweDRjLDB4MDAgfSwKLSAgMTYsIDB4Y2FmMCwgMCwgezB4NTMsMHgwMCwweDE0LDB4YzAsMHgwMSwweDM4LDB4MDAsMHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2IwMCwgMCwgezB4MDgsMHhjMCwweDAwLDB4MTAsMHg0MCwweDAwLDB4MTAsMHgwMCwweDA0LDB4MDAsMHgwMSwweDEwLDB4MDAsMHg0NCwweDgwLDB4MTAgfSwKLSAgMTYsIDB4Y2IxMCwgMCwgezB4MDAsMHgwNCwweDAwLDB4MDEsMHgxMCwweDAwLDB4NDYsMHgwMCwweDAwLDB4MDAsMHgwNCwweDYwLDB4MDEsMHgwMCwweDAwLDB4NDAgfSwKLSAgMTYsIDB4Y2IyMCwgMCwgezB4MDAsMHgxMSwweDYwLDB4MDIsMHg0MCwweDAxLDB4MDAsMHgxMCwweDQwLDB4MDAsMHgxMCwweDYwLDB4MDEsMHg1MCwweDEwLDB4NDAgfSwKLSAgMTYsIDB4Y2IzMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4YzAsMHg0MCwweDAyLDB4MDAsMHgwMCwweDgwLDB4MDAgfSwKLSAgMTYsIDB4Y2I0MCwgMCwgezB4MjAsMHgwMCwweDA4LDB4MDgsMHgwMiwweDAwLDB4MDAsMHg4MCwweDAwLDB4MjAsMHgwMCwweDA4LDB4MDAsMHgwMiwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2I1MCwgMCwgezB4ODAsMHgwMCwweDIwLDB4MDAsMHgwOCwweDAwLDB4MDIsMHgwMCwweDAwLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4MDIgfSwKLSAgMTYsIDB4Y2I2MCwgMCwgezB4MDAsMHgwMCwweDgwLDB4MDAsMHgyMSwweDAwLDB4MDgsMHg0MCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2I3MCwgMCwgezB4MDgsMHhjMCwweDQwLDB4MDQsMHg2MCwweDAxLDB4MTgsMHgwMCwweDQ2LDB4MDAsMHgxMSwweDgwLDB4MDQsMHg2MCwweDAxLDB4MTggfSwKLSAgMTYsIDB4Y2I4MCwgMCwgezB4MDAsMHg0NiwweDAwLDB4MTEsMHg4MCwweDA0LDB4NjAsMHgwMSwweGM4LDB4MDAsMHg0NiwweDAwLDB4MTksMHg4MCwweDAwLDB4NjAgfSwKLSAgMTYsIDB4Y2I5MCwgMCwgezB4MDAsMHgxOCwweDAwLDB4NjYsMHgwMCwweDExLDB4ODAsMHgwNCwweDYwLDB4MDEsMHgxOCwweDAwLDB4MDYsMHgwMCwweDExLDB4ODAgfSwKLSAgMTYsIDB4Y2JhMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4MDEsMHgwMCwweDAyLDB4NjAsMHgwMCwweDk4LDB4MDAgfSwKLSAgMTYsIDB4Y2JiMCwgMCwgezB4MjYsMHgwMCwweDA5LDB4ODEsMHgwMiwweDYwLDB4MDEsMHg5OCwweDAwLDB4MjYsMHgwMCwweDA5LDB4ODAsMHgwNiwweDYyLDB4MDAgfSwKLSAgMTYsIDB4Y2JjMCwgMCwgezB4NDgsMHgwMCwweDI2LDB4MjAsMHgwMSwweGMwLDB4MDIsMHg2MCwweDAxLDB4OTgsMHgwMCwweDA3LDB4MDAsMHgwOSwweDgwLDB4MDIgfSwKLSAgMTYsIDB4Y2JkMCwgMCwgezB4NjAsMHgwMCwweDk4LDB4MDAsMHgyNiwweDAwLDB4MTEsMHg4MiwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2JlMCwgMCwgezB4NDAsMHg0NSwweDQyLDB4MDQsMHgzMCwweDgxLDB4MGMsMHgyMCwweDQzLDB4MDgsMHgxMCwweGMyLDB4MDQsMHgzMCwweDg1LDB4OGMgfSwKLSAgMTYsIDB4Y2JmMCwgMCwgezB4MjAsMHg0MywweDA4LDB4MTAsMHhjMiwweDA0LDB4MzAsMHg4MSwweDBjLDB4MjAsMHg0MywweDQ4LDB4MTEsMHg4MiwweDA0LDB4MzAgfSwKLSAgMTYsIDB4Y2MwMCwgMCwgezB4ODEsMHg4ZCwweDIwLDB4NDYsMHgwOCwweDEwLDB4YzIsMHgwNCwweDMwLDB4ODEsMHgwYywweDIwLDB4NDMsMHgwYywweDEwLDB4YzAgfSwKLSAgMTYsIDB4Y2MxMCwgMCwgezB4MTEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDQsMHgwMCwweDAwLDB4MzAsMHgwMCwweDBjLDB4MDAgfSwKLSAgMTYsIDB4Y2MyMCwgMCwgezB4MDMsMHgwMCwweDAwLDB4YzAsMHgwMCwweDEwLDB4MDAsMHgwYywweDAwLDB4MDMsMHgwMCwweDAwLDB4YzAsMHgwMCwweDMwLDB4MDAgfSwKLSAgMTYsIDB4Y2MzMCwgMCwgezB4MDgsMHgwMCwweDAzLDB4MDAsMHgwMCwweDgwLDB4MDAsMHgzMCwweDAwLDB4MGMsMHg4MCwweDAyLDB4MDAsMHgwMCwweGMwLDB4MDAgfSwKLSAgMTYsIDB4Y2M0MCwgMCwgezB4MzAsMHgwMCwweDBjLDB4MDAsMHgwMywweDIwLDB4MDAsMHhjMCwweDEwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2M1MCwgMCwgezB4NDAsMHgwMCwweDAyLDB4MDAsMHgzMCwweDgwLDB4MGMsMHgyMSwweDAzLDB4MDgsMHgwMCwweGMyLDB4MDAsMHgzMCwweDgwLDB4MGMgfSwKLSAgMTYsIDB4Y2M2MCwgMCwgezB4MjAsMHgwMywweDA4LDB4MDAsMHhjMiwweDA0LDB4MzAsMHhjMSwweDBjLDB4MjAsMHgwMywweDBjLDB4MTAsMHhjMiwweDAwLDB4MzAgfSwKLSAgMTYsIDB4Y2M3MCwgMCwgezB4ODAsMHgwYywweGIwLDB4NDMsMHgwOCwweDAwLDB4YzIsMHgwMCwweDMwLDB4ODAsMHgwYywweDIwLDB4MDMsMHgyOCwweDEwLDB4YzAgfSwKLSAgMTYsIDB4Y2M4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4NDUsMHg0MiwweDA0LDB4NjAsMHg4MSwweDE4LDB4MjAgfSwKLSAgMTYsIDB4Y2M5MCwgMCwgezB4NDYsMHgwOCwweDExLDB4ODIsMHgwNCwweDYwLDB4ODAsMHgxOCwweDIwLDB4NDYsMHgwOCwweDExLDB4ODIsMHgwMCwweDYwLDB4ODEgfSwKLSAgMTYsIDB4Y2NhMCwgMCwgezB4MTgsMHgyMCwweDQ2LDB4MDgsMHgxMSwweDgyLDB4MDQsMHg2MCwweDgwLDB4MTgsMHgyMCwweDA2LDB4MDgsMHgxMSwweDgyLDB4MDQgfSwKLSAgMTYsIDB4Y2NiMCwgMCwgezB4NjAsMHg4MSwweDE4LDB4MjAsMHg0NiwweDBjLDB4MTEsMHhjMCwweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2NjMCwgMCwgezB4NDAsMHgwMSwweDQyLDB4MDAsMHgyMCwweDgwLDB4MDgsMHgyMCwweDAyLDB4MDgsMHgwMCwweDgyLDB4MDAsMHgyMCwweDgwLDB4MDggfSwKLSAgMTYsIDB4Y2NkMCwgMCwgezB4MjAsMHgwMiwweDA4LDB4MDAsMHg4MiwweDAwLDB4MjAsMHg4MCwweDBjLDB4MjAsMHgwMiwweDA4LDB4MDAsMHhjMiwweDAwLDB4MjAgfSwKLSAgMTYsIDB4Y2NlMCwgMCwgezB4ODAsMHgwOCwweDIwLDB4NDIsMHgwOCwweDAwLDB4ODIsMHgwMCwweDIwLDB4ODAsMHgwOCwweDIwLDB4MDIsMHgwOCwweDAxLDB4ODAgfSwKLSAgMTYsIDB4Y2NmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDUwLDB4MDEsMHg0MiwweDA0LDB4NjAsMHg4MSwweDE4LDB4MjAgfSwKLSAgMTYsIDB4Y2QwMCwgMCwgezB4NDYsMHgwOCwweDExLDB4ODIsMHgwNCwweDYwLDB4ODAsMHgxOCwweDIwLDB4NDYsMHgwOCwweDExLDB4ODIsMHgwMCwweDYwLDB4YzEgfSwKLSAgMTYsIDB4Y2QxMCwgMCwgezB4MGMsMHgyMCwweDQ2LDB4MGMsMHgxMCwweGMyLDB4MDQsMHg2MCwweDgwLDB4MTgsMHgzMCwweDQyLDB4MDgsMHgxMSwweDgyLDB4MDQgfSwKLSAgMTYsIDB4Y2QyMCwgMCwgezB4NjAsMHg4MSwweDE4LDB4MjAsMHg0NiwweDA4LDB4MTAsMHg4MCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2QzMCwgMCwgezB4NDAsMHg0NSwweDQwLDB4MDQsMHg1MCwweDAxLDB4MTQsMHgwMCwweDQ1LDB4MDAsMHgxMSwweDQwLDB4MDQsMHg1MCwweDAwLDB4MTQgfSwKLSAgMTYsIDB4Y2Q0MCwgMCwgezB4MDAsMHg0NSwweDAwLDB4MTEsMHg0MCwweDAwLDB4NTAsMHgwMCwweDA0LDB4MDAsMHg0NSwweDAwLDB4MDAsMHg0MCwweDA0LDB4NTAgfSwKLSAgMTYsIDB4Y2Q1MCwgMCwgezB4MDAsMHgxNCwweDAwLDB4MDEsMHgwMCwweDExLDB4NDAsMHgwNCwweDUwLDB4MDEsMHgxNCwweDAwLDB4NDUsMHgwMCwweDAwLDB4NDIgfSwKLSAgMTYsIDB4Y2Q2MCwgMCwgezB4MDEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDAsMHgwNiwweDAwLDB4NDEsMHg4MCwweDEwLDB4NjAgfSwKLSAgMTYsIDB4Y2Q3MCwgMCwgezB4MDQsMHgxOCwweDAxLDB4MDYsMHgwMCwweDQxLDB4ODAsMHgxMCwweDYwLDB4MDQsMHgxOCwweDAxLDB4MDYsMHgwMCwweDQxLDB4ODAgfSwKLSAgMTYsIDB4Y2Q4MCwgMCwgezB4MTAsMHg2MCwweDA0LDB4MTgsMHgwMSwweDA2LDB4MDAsMHg0MSwweDgwLDB4MTAsMHg2MCwweDA0LDB4MTgsMHgwMSwweDA2LDB4MDAgfSwKLSAgMTYsIDB4Y2Q5MCwgMCwgezB4NDEsMHg4MCwweDEwLDB4NjAsMHgwNCwweDE4LDB4MDEsMHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2RhMCwgMCwgezB4NDgsMHgwMCwweDAyLDB4MDEsMHgwMCwweDgwLDB4NDAsMHgyMSwweDEwLDB4MDgsMHgwNCwweDAyLDB4MDEsMHgwMCwweDgwLDB4NDAgfSwKLSAgMTYsIDB4Y2RiMCwgMCwgezB4MjAsMHgxMCwweDA4LDB4MDQsMHgwMiwweDAxLDB4MDAsMHg4MCwweDQwLDB4MjEsMHgxMCwweDA4LDB4MDQsMHgwMiwweDAxLDB4MDAgfSwKLSAgMTYsIDB4Y2RjMCwgMCwgezB4ODAsMHg0MCwweDMwLDB4MTAsMHgwOCwweDA0LDB4MDIsMHgxMSwweDAwLDB4ODQsMHg0MCwweDIwLDB4MTAsMHgwOCwweDE0LDB4MDAgfSwKLSAgMTYsIDB4Y2RkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4NDUsMHg0NiwweDAzLDB4NTEsMHg4MCwweGQ0LDB4NjAgfSwKLSAgMTYsIDB4Y2RlMCwgMCwgezB4MzUsMHgxOCwweDBkLDB4NDYsMHgwMywweDUxLDB4ODAsMHhkNCwweDYwLDB4MzUsMHgxOCwweDBkLDB4NDYsMHgwMywweDUxLDB4ODAgfSwKLSAgMTYsIDB4Y2RmMCwgMCwgezB4ZDQsMHg2MCwweDM1LDB4MTAsMHgwZCwweDQ2LDB4MDMsMHg1MSwweDgwLDB4ZDQsMHg0MCwweDM1LDB4MTgsMHgwZCwweDQ2LDB4MDMgfSwKLSAgMTYsIDB4Y2UwMCwgMCwgezB4NTEsMHg4MCwweGQ0LDB4NjAsMHgzNSwweDE4LDB4MGQsMHg0MCwweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2UxMCwgMCwgezB4MDAsMHgwMSwweDQ2LDB4MDQsMHg3MSwweDgxLDB4MWMsMHg2MCwweDA3LDB4MTgsMHgxMSwweGNlLDB4MDQsMHg3MSwweDgxLDB4MWMgfSwKLSAgMTYsIDB4Y2UyMCwgMCwgezB4NjAsMHg0NywweDE4LDB4MDEsMHhjNiwweDA0LDB4NzEsMHg4MSwweDljLDB4NjAsMHg0NywweDE4LDB4MTksMHhjNiwweDA0LDB4NzEgfSwKLSAgMTYsIDB4Y2UzMCwgMCwgezB4ODAsMHgxYywweDYwLDB4NjcsMHgxOCwweDExLDB4YzYsMHgwNCwweDcxLDB4ODEsMHgxYywweDYwLDB4NDcsMHgxOCwweDExLDB4YzAgfSwKLSAgMTYsIDB4Y2U0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDAsMHg0NiwweDAyLDB4NzEsMHg4MCwweDljLDB4NjAgfSwKLSAgMTYsIDB4Y2U1MCwgMCwgezB4MjcsMHgxOCwweDA5LDB4YzYsMHgwNiwweDcxLDB4ODAsMHgxYywweDYwLDB4MjcsMHgxOCwweDA5LDB4YzYsMHgwMSwweDMxLDB4ODAgfSwKLSAgMTYsIDB4Y2U2MCwgMCwgezB4MWMsMHg2MCwweDA3LDB4MTgsMHgwOSwweGM2LDB4MDIsMHg3MSwweDgwLDB4OWMsMHg2MCwweDA3LDB4MTgsMHgwOSwweGM2LDB4MTIgfSwKLSAgMTYsIDB4Y2U3MCwgMCwgezB4NzEsMHg4MCwweDljLDB4NjAsMHgzMywweDE4LDB4MDEsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2U4MCwgMCwgezB4NTAsMHg0NSwweDQ2LDB4MDUsMHg3MSwweDgxLDB4NWMsMHg2MCwweDU3LDB4MTgsMHgxNSwweGM2LDB4MDUsMHg3MSwweDgwLDB4NWMgfSwKLSAgMTYsIDB4Y2U5MCwgMCwgezB4NjAsMHg1NywweDE4LDB4MTUsMHhjNiwweDAxLDB4MzEsMHg4MSwweDBjLDB4NjAsMHgxNywweDE4LDB4MTAsMHhjNiwweDA1LDB4NzEgfSwKLSAgMTYsIDB4Y2VhMCwgMCwgezB4ODEsMHg1YywweDYwLDB4MDMsMHgxOCwweDE1LDB4YzYsMHgwNSwweDcxLDB4ODEsMHg1YywweDYwLDB4NTMsMHgxOCwweDE4LDB4ODIgfSwKLSAgMTYsIDB4Y2ViMCwgMCwgezB4MTAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4NDAsMHgxMiwweDAxLDB4MjQsMHg4MCwweDQ4LDB4MjAgfSwKLSAgMTYsIDB4Y2VjMCwgMCwgezB4MTIsMHgwOCwweDA0LDB4ODIsMHgwMSwweDI0LDB4ODAsMHg0OCwweDIwLDB4MTIsMHgwOCwweDA0LDB4ODIsMHgwMSwweDIwLDB4ODAgfSwKLSAgMTYsIDB4Y2VkMCwgMCwgezB4NTgsMHgyMCwweDUyLDB4MGMsMHgwNSwweDgyLDB4MDEsMHgyMCwweDgwLDB4NDksMHgyMCwweDAyLDB4MDgsMHgwNCwweDgyLDB4MDEgfSwKLSAgMTYsIDB4Y2VlMCwgMCwgezB4MjAsMHg4MCwweDQ5LDB4MjAsMHgxMiwweDQ4LDB4MDQsMHg4MCwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2VmMCwgMCwgezB4NDAsMHgwNCwweDA2LDB4MDAsMHg2MSwweDgwLDB4MTgsMHg2MCwweDA2LDB4MTgsMHgwMSwweDg2LDB4MDQsMHg2MSwweDgwLDB4MTggfSwKLSAgMTYsIDB4Y2YwMCwgMCwgezB4NjAsMHgwNiwweDE4LDB4MDEsMHg4NiwweDAwLDB4NjEsMHg4MSwweDQ4LDB4NjAsMHgwNiwweDE4LDB4MTQsMHg4NiwweDAwLDB4NjEgfSwKLSAgMTYsIDB4Y2YxMCwgMCwgezB4ODAsMHgxOCwweDYwLDB4NDIsMHgxOCwweDAxLDB4ODYsMHgwMCwweDYxLDB4ODAsMHgxOCwweDYwLDB4MDYsMHgxOCwweDAwLDB4ODAgfSwKLSAgMTYsIDB4Y2YyMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDUsMHg2MCwweDA0LDB4NzgsMHgwMSwweDFlLDB4MDAgfSwKLSAgMTYsIDB4Y2YzMCwgMCwgezB4NDcsMHg4MCwweDExLDB4ZTgsMHgwMCwweDc4LDB4MDEsMHgxZSwweDAwLDB4NDcsMHg4MCwweDExLDB4ZTAsMHgwNCwweDc4LDB4MDEgfSwKLSAgMTYsIDB4Y2Y0MCwgMCwgezB4MWUsMHgwMCwweDQzLDB4ODAsMHgxMSwweGUwLDB4MDQsMHg3OCwweDAxLDB4MWUsMHgwMCwweDAzLDB4ODAsMHgxNSwweGUwLDB4MDQgfSwKLSAgMTYsIDB4Y2Y1MCwgMCwgezB4NzgsMHgwMSwweDFlLDB4MDAsMHg0NywweDgwLDB4MTEsMHhjMCwweDEwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2Y2MCwgMCwgezB4NDAsMHgwMSwweDEyLDB4MDAsMHg2NCwweDgwLDB4MTgsMHgyMCwweDA2LDB4MDgsMHgwMSwweDgyLDB4MDAsMHg2NCwweDgwLDB4MTggfSwKLSAgMTYsIDB4Y2Y3MCwgMCwgezB4MjAsMHgwNiwweDA4LDB4MDEsMHg4MiwweDAwLDB4NjAsMHg4MCwweDE4LDB4MzAsMHgwMiwweDA4LDB4MDEsMHg4MiwweDAwLDB4NjAgfSwKLSAgMTYsIDB4Y2Y4MCwgMCwgezB4ODAsMHgxOSwweDMwLDB4NDIsMHgwOCwweDAwLDB4ODIsMHgwMCwweDYwLDB4ODAsMHgxOSwweDIwLDB4MDYsMHg0OCwweDAxLDB4ODAgfSwKLSAgMTYsIDB4Y2Y5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDEsMHg0MiwweDA0LDB4MjAsMHg4MSwweDA4LDB4MjAgfSwKLSAgMTYsIDB4Y2ZhMCwgMCwgezB4NDIsMHgwOCwweDEwLDB4ODIsMHgwMCwweDIwLDB4ODEsMHgwOCwweDIwLDB4NDIsMHgwOCwweDEwLDB4ODIsMHgwNCwweDIwLDB4ODEgfSwKLSAgMTYsIDB4Y2ZiMCwgMCwgezB4MDgsMHgyMCwweDQ2LDB4MDgsMHgxMCwweDgyLDB4MDQsMHgyMCwweDgxLDB4MDgsMHgyMCwweDQyLDB4MDgsMHgxMSwweDgyLDB4MDQgfSwKLSAgMTYsIDB4Y2ZjMCwgMCwgezB4MjAsMHg4MSwweDA4LDB4MjAsMHg0MiwweDA4LDB4MTAsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Y2ZkMCwgMCwgezB4NDAsMHg0NSwweDQyLDB4MDQsMHg0MCwweDgxLDB4MTAsMHgyMCwweDQ0LDB4MDgsMHgxMSwweDAyLDB4MDAsMHg0MCwweDgxLDB4MTAgfSwKLSAgMTYsIDB4Y2ZlMCwgMCwgezB4MjAsMHg0NCwweDA4LDB4MTEsMHgwMiwweDA0LDB4NDAsMHg4MCwweDEwLDB4MjAsMHg0NSwweDA4LDB4MDEsMHgwMiwweDA0LDB4NDAgfSwKLSAgMTYsIDB4Y2ZmMCwgMCwgezB4ODEsMHgxMCwweDIxLDB4MDAsMHgwYywweDExLDB4MDIsMHgwNCwweDQwLDB4ODEsMHgxMCwweDIwLDB4NDQsMHgwOCwweDAxLDB4MDAgfSwKLSAgMTYsIDB4ZDAwMCwgMCwgezB4MTEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDAsMHgwMywweDAwLDB4NTAsMHhjMCwweDE0LDB4MzAgfSwKLSAgMTYsIDB4ZDAxMCwgMCwgezB4MDUsMHgwYywweDAxLDB4NDMsMHgwMCwweDUwLDB4YzAsMHgxNCwweDMwLDB4MDUsMHgwYywweDAxLDB4NDMsMHgwMCwweDUwLDB4YzAgfSwKLSAgMTYsIDB4ZDAyMCwgMCwgezB4MTQsMHgzMCwweDA1LDB4MGMsMHgwMSwweDQzLDB4MDAsMHg1MCwweGMwLDB4MTQsMHgzMCwweDA1LDB4MGMsMHgwMSwweDQzLDB4MDAgfSwKLSAgMTYsIDB4ZDAzMCwgMCwgezB4NTAsMHhjMCwweDE0LDB4MzAsMHgwNSwweDBjLDB4MDEsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDA0MCwgMCwgezB4NDAsMHgwMCwweDA4LDB4MDAsMHg0MiwweDA0LDB4MTAsMHg4MCwweDA0LDB4MjAsMHgwMSwweDA5LDB4MDAsMHg0MiwweDAxLDB4MTAgfSwKLSAgMTYsIDB4ZDA1MCwgMCwgezB4ODAsMHgwNCwweDIwLDB4MDEsMHgwOCwweDAwLDB4NDIsMHgwMCwweDEwLDB4MDAsMHgwNCwweDIwLDB4MDEsMHgwOCwweDAwLDB4NDIgfSwKLSAgMTYsIDB4ZDA2MCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDQsMHgwMCwweDAxLDB4MDgsMHgwMCwweDQyLDB4MDAsMHgxMCwweDgwLDB4MDQsMHgyMCwweDExLDB4MDAgfSwKLSAgMTYsIDB4ZDA3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4NDUsMHg0MiwweDAyLDB4MDAsMHg4MCwweDgwLDB4MjAgfSwKLSAgMTYsIDB4ZDA4MCwgMCwgezB4MjAsMHgwOCwweDA4LDB4MDIsMHgwMiwweDAwLDB4ODAsMHgwMCwweDIwLDB4MjAsMHgwOCwweDA4LDB4MDIsMHgwMCwweDAwLDB4ODAgfSwKLSAgMTYsIDB4ZDA5MCwgMCwgezB4ODAsMHhhMCwweDAwLDB4MGEsMHgwOCwweDAyLDB4MDIsMHgwMCwweDgwLDB4ODAsMHgzNCwweDYyLDB4MjgsMHgwOCwweDAyLDB4MDIgfSwKLSAgMTYsIDB4ZDBhMCwgMCwgezB4MDAsMHg4MCwweDgwLDB4MzAsMHgyMCwweDBjLDB4MDgsMHgwMCwweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDBiMCwgMCwgezB4NDAsMHgwMSwweDQwLDB4MDQsMHg2MCwweDAxLDB4MTgsMHgwMCwweDQ2LDB4MDAsMHgxMSwweDgwLDB4MDQsMHg2MCwweDAzLDB4MTggfSwKLSAgMTYsIDB4ZDBjMCwgMCwgezB4MDAsMHg0NiwweDAwLDB4MTEsMHg4MCwweDA2LDB4NjAsMHgwMSwweDk4LDB4MDAsMHg0NiwweDAwLDB4MTEsMHg4MCwweDA0LDB4NjAgfSwKLSAgMTYsIDB4ZDBkMCwgMCwgezB4MDEsMHgxOCwweDAwLDB4NjYsMHgwMCwweDExLDB4ODAsMHgwNCwweDYwLDB4MDEsMHgxOCwweDAwLDB4NDYsMHgwMCwweDExLDB4ODAgfSwKLSAgMTYsIDB4ZDBlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDEsMHgwMCwweDAyLDB4NjAsMHgwMCwweDk4LDB4MDAgfSwKLSAgMTYsIDB4ZDBmMCwgMCwgezB4MjYsMHgwMCwweDA5LDB4ODAsMHgwMiwweDY0LDB4MDAsMHg5OCwweDAwLDB4MjYsMHgwMCwweDE5LDB4OTAsMHgwMiwweDYwLDB4MDAgfSwKLSAgMTYsIDB4ZDEwMCwgMCwgezB4MWQsMHgwMCwweDI2LDB4MDAsMHgwMSwweGMwLDB4MDIsMHg2MCwweDAwLDB4OTksMHgwMCwweDA2LDB4NDAsMHgxOSwweDgwLDB4MDIgfSwKLSAgMTYsIDB4ZDExMCwgMCwgezB4NjAsMHgwMCwweDk4LDB4MDAsMHg2NiwweDAwLDB4MDEsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDEyMCwgMCwgezB4NDAsMHg0NSwweDYwLDB4MDQsMHgzOCwweDAxLDB4MGUsMHgwMCwweDQzLDB4ODAsMHgxMCwweGUwLDB4MDQsMHgzOCwweDAxLDB4MGUgfSwKLSAgMTYsIDB4ZDEzMCwgMCwgezB4MDAsMHg0MywweDgwLDB4MTAsMHhlMCwweDA0LDB4MzgsMHgwMSwweDFhLDB4MDAsMHg0MywweDgwLDB4MTEsMHhhMCwweDA0LDB4MzggfSwKLSAgMTYsIDB4ZDE0MCwgMCwgezB4MDEsMHgwZSwweDAwLDB4MDIsMHg4MCwweDQwLDB4ZTAsMHgwNCwweDM4LDB4MDEsMHgwZSwweDAwLDB4NDMsMHg4MCwweDE4LDB4ODAgfSwKLSAgMTYsIDB4ZDE1MCwgMCwgezB4MTEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDUwLDB4MDQsMHgwMSwweDAwLDB4MzAsMHg0MCwweDBjLDB4MTAgfSwKLSAgMTYsIDB4ZDE2MCwgMCwgezB4MDMsMHgwNCwweDAwLDB4YzksMHgwMCwweDMwLDB4NDAsMHgwYywweDEwLDB4MDMsMHgwNCwweDAwLDB4YzEsMHgwMCwweDMwLDB4NDAgfSwKLSAgMTYsIDB4ZDE3MCwgMCwgezB4MDgsMHgxMCwweDAzLDB4MDQsMHgwMCwweDgxLDB4MDAsMHgzMCwweDQwLDB4MGMsMHg3OCwweDAyLDB4MTQsMHgwMCwweGMxLDB4MDAgfSwKLSAgMTYsIDB4ZDE4MCwgMCwgezB4MzAsMHg0MCwweDBjLDB4MTAsMHgwMywweDA0LDB4MDAsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDE5MCwgMCwgezB4NDAsMHgwMCwweDA1LDB4MDAsMHgzMSwweDQwLDB4MGMsMHg1MCwweDAzLDB4MTQsMHgwMCwweGM1LDB4MDAsMHgzNSwweDQwLDB4MGMgfSwKLSAgMTYsIDB4ZDFhMCwgMCwgezB4NTAsMHgwMywweDE0LDB4MTAsMHhkNSwweDAwLDB4MzEsMHg0MSwweDBkLDB4NTAsMHgwMywweDE0LDB4MTAsMHhjNSwweDAwLDB4MzEgfSwKLSAgMTYsIDB4ZDFiMCwgMCwgezB4NDAsMHgwZCwweDQ4LDB4NDMsMHg1NCwweDEwLDB4YzUsMHgwMCwweDMxLDB4NDAsMHgwYywweDQwLDB4NDMsMHgxMCwweDAwLDB4YzIgfSwKLSAgMTYsIDB4ZDFjMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4NDUsMHg0MywweDA0LDB4NjAsMHhjMSwweDE4LDB4MzAgfSwKLSAgMTYsIDB4ZDFkMCwgMCwgezB4NDYsMHgwYywweDExLDB4ODMsMHgwNCwweDYxLDB4YzEsMHgxOCwweDMwLDB4NDYsMHgwYywweDAxLDB4ODcsMHgwNCwweDYwLDB4YzEgfSwKLSAgMTYsIDB4ZDFlMCwgMCwgezB4MTgsMHgzMCwweDQ2LDB4MDgsMHgxMSwweDgzLDB4MDQsMHg2MCwweGMxLDB4MTgsMHgyMCwweDA2LDB4MGMsMHgwMSwweDgzLDB4MDQgfSwKLSAgMTYsIDB4ZDFmMCwgMCwgezB4NjAsMHhjMSwweDE4LDB4MzAsMHg0NiwweDBjLDB4MTEsMHg4MCwweDEwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDIwMCwgMCwgezB4NDAsMHgwMSwweDQwLDB4MDAsMHgyMCwweDAwLDB4MDgsMHgwMCwweDAyLDB4MDAsMHgwMCwweDgwLDB4MDAsMHgyMCwweDAwLDB4MDggfSwKLSAgMTYsIDB4ZDIxMCwgMCwgezB4MDAsMHgwMiwweDAwLDB4MDAsMHg4MSwweDAwLDB4MjAsMHgwMCwweDA4LDB4ODAsMHgwMiwweDAwLDB4MDAsMHhjMCwweDAwLDB4MjAgfSwKLSAgMTYsIDB4ZDIyMCwgMCwgezB4MDAsMHgwOCwweDQwLDB4NDMsMHgzMCwweDAwLDB4ODAsMHgwMCwweDIwLDB4MDAsMHgwOCwweDAwLDB4MDIsMHgwMCwweDAwLDB4ODAgfSwKLSAgMTYsIDB4ZDIzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDEsMHg0OCwweDQ0LDB4NjIsMHgxMSwweDE4LDB4ODQgfSwKLSAgMTYsIDB4ZDI0MCwgMCwgezB4NDYsMHgyMSwweDExLDB4ODgsMHg0NCwweDYzLDB4MDEsMHgxOCwweDg0LDB4NDYsMHgyMSwweDAxLDB4ODgsMHgwNCwweDYyLDB4MTEgfSwKLSAgMTYsIDB4ZDI1MCwgMCwgezB4MTgsMHgwNCwweDQ2LDB4MjEsMHgxMCwweGM4LDB4NDQsMHg2MiwweDExLDB4MTgsMHgwNSwweDQzLDB4MDEsMHg4MSwweDg4LDB4NDQgfSwKLSAgMTYsIDB4ZDI2MCwgMCwgezB4NjIsMHgxMSwweDE4LDB4ODQsMHg0NiwweDIxLDB4MTEsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDI3MCwgMCwgezB4NDAsMHg0NSwweDQwLDB4MDQsMHg1MCwweDAxLDB4MTQsMHgwNCwweDQ1LDB4MDEsMHgxMSwweDQwLDB4NDQsMHg1MCwweDAxLDB4MTQgfSwKLSAgMTYsIDB4ZDI4MCwgMCwgezB4MDQsMHg0NSwweDAxLDB4MDEsMHg0MCwweDQ1LDB4MDAsMHgxMCwweDE0LDB4MDQsMHg0NSwweDAzLDB4MDAsMHg0MCwweDQ0LDB4NTAgfSwKLSAgMTYsIDB4ZDI5MCwgMCwgezB4MTEsMHgxNCwweDA0LDB4MDEsMHgwNSwweDQxLDB4NDAsMHg0NCwweDUwLDB4MTEsMHgxNCwweDA0LDB4MDUsMHgwMSwweDAxLDB4NDAgfSwKLSAgMTYsIDB4ZDJhMCwgMCwgezB4MTEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDAsMHgwOCwweDIwLDB4NDIsMHgwOCwweDEwLDB4ODIgfSwKLSAgMTYsIDB4ZDJiMCwgMCwgezB4MDQsMHgyMCwweDgxLDB4MDgsMHgwMCwweDQyLDB4MDAsMHgxMCwweDgyLDB4MDQsMHgyMCwweDgxLDB4MDgsMHgwMCwweDQyLDB4MDggfSwKLSAgMTYsIDB4ZDJjMCwgMCwgezB4MTAsMHg4MiwweDA1LDB4MjAsMHg4MSwweDA4LDB4MjAsMHg0MiwweDA4LDB4MTAsMHg4YSwweDA1LDB4MjAsMHgwNSwweDA4LDB4MjAgfSwKLSAgMTYsIDB4ZDJkMCwgMCwgezB4NDIsMHgwOCwweDEwLDB4ODIsMHgwNCwweDIyLDB4ODEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDJlMCwgMCwgezB4MDAsMHgwMCwweDBhLDB4MDEsMHgwMiwweDgwLDB4NDAsMHhhMCwweDEwLDB4MjgsMHgwNCwweDAyLDB4MDEsMHgwMiwweDgwLDB4NDAgfSwKLSAgMTYsIDB4ZDJmMCwgMCwgezB4YTAsMHgxMCwweDI4LDB4MDQsMHgwYSwweDAxLDB4MDIsMHg4MCwweDQwLDB4YTAsMHgwMCwweDI5LDB4MDQsMHgwYSwweDAxLDB4MDIgfSwKLSAgMTYsIDB4ZDMwMCwgMCwgezB4ODAsMHg0MCwweGE0LDB4MDAsMHgyOCwweDA0LDB4MGEsMHgwMSwweDAyLDB4ODAsMHg0MCwweGE4LDB4MTAsMHgyYiwweDE0LDB4MDAgfSwKLSAgMTYsIDB4ZDMxMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4NDUsMHg0ZCwweDAzLDB4NTMsMHg0MCwweGQ0LDB4ZDAgfSwKLSAgMTYsIDB4ZDMyMCwgMCwgezB4MzUsMHgzNCwweDBkLDB4NGQsMHgwMywweDUzLDB4NDAsMHhkNCwweGQwLDB4MzUsMHgzNCwweDBkLDB4NGQsMHgwMywweDUzLDB4NDAgfSwKLSAgMTYsIDB4ZDMzMCwgMCwgezB4ZDQsMHhkMCwweDIxLDB4MzQsMHg0ZCwweDRkLDB4MDMsMHg1MywweDQwLDB4ZDQsMHhkOSwweDYxLDB4MzQsMHgwNCwweDBkLDB4MDMgfSwKLSAgMTYsIDB4ZDM0MCwgMCwgezB4NTMsMHg0MCwweGMwLDB4ZDgsMHgzNSwweDM3LDB4MGQsMHg0MCwweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDM1MCwgMCwgezB4NDAsMHgwMSwweDQ4LDB4MDQsMHg3MiwweDAwLDB4MWMsMHg4MCwweDQ3LDB4MjAsMHgxMSwweGM4LDB4MDQsMHg3MiwweDAxLDB4MWMgfSwKLSAgMTYsIDB4ZDM2MCwgMCwgezB4ODAsMHg0NywweDIwLDB4MTEsMHhjOCwweDA0LDB4NzIsMHgwMCwweDljLDB4ODAsMHg0NywweDIwLDB4MTksMHhjOCwweDAwLDB4NzIgfSwKLSAgMTYsIDB4ZDM3MCwgMCwgezB4MDEsMHgxYywweDg4LDB4NjcsMHgyMCwweDExLDB4YzgsMHgwNCwweDcyLDB4MDEsMHg1YywweDgyLDB4NDcsMHgyMiwweDExLDB4YzAgfSwKLSAgMTYsIDB4ZDM4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMywweDA4LDB4NDgsMHhjMiwweDEyLDB4MzEgfSwKLSAgMTYsIDB4ZDM5MCwgMCwgezB4ODQsMHg4YywweDYxLDB4MjMsMHgxMCwweDQwLDB4YzAsMHgxMiwweDMxLDB4ODQsMHg4YywweDYxLDB4MDMsMHgxMCwweDQ4LDB4YzQgfSwKLSAgMTYsIDB4ZDNhMCwgMCwgezB4MTAsMHgzMSwweDg0LDB4OGMsMHg0MSwweDIzLDB4MTgsMHg0OCwweGM2LDB4MTAsMHgzMCwweDA0LDB4MGMsMHg0MSwweDIzLDB4MTggfSwKLSAgMTYsIDB4ZDNiMCwgMCwgezB4NDgsMHhjNiwweDEyLDB4MzAsMHg4NCwweDhjLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDNjMCwgMCwgezB4MDAsMHgwMCwweDNmLDB4ZmYsMHg0ZiwweGZmLDB4ZDMsMHhmZiwweGY0LDB4ZmYsMHhmZCwweDNmLDB4ZmYsMHg0ZiwweGZmLDB4ZDMgfSwKLSAgMTYsIDB4ZDNkMCwgMCwgezB4ZmYsMHhmNCwweGZmLDB4ZmQsMHgzZiwweGZmLDB4NGYsMHhmZiwweGQzLDB4ZmYsMHhmNCwweGZmLDB4ZmQsMHgzZiwweGZmLDB4NGYgfSwKLSAgMTYsIDB4ZDNlMCwgMCwgezB4ZmYsMHhkMywweGZmLDB4ZjQsMHhmZiwweGRkLDB4M2YsMHhmZiwweDRmLDB4ZmYsMHhkMywweGZmLDB4ZjQsMHhmZiwweGZkLDB4MDAgfSwKLSAgMTYsIDB4ZDNmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDQwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDQxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDQyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDQzMCwgMCwgezB4MDAsMHgwMCwweDJjLDB4ZGIsMHgwYiwweDM2LDB4YzIsMHhjZCwweGIwLDB4YjMsMHg2YywweDJjLDB4ZGIsMHgwYiwweDM2LDB4YzIgfSwKLSAgMTYsIDB4ZDQ0MCwgMCwgezB4Y2QsMHhiMCwweGIzLDB4NmMsMHgyYywweGRiLDB4MGIsMHgzNiwweGMyLDB4Y2QsMHhiMCwweGIzLDB4NmMsMHgyYywweGRiLDB4MGIgfSwKLSAgMTYsIDB4ZDQ1MCwgMCwgezB4MzYsMHhjMiwweGNkLDB4YjAsMHhiMywweDRjLDB4MmMsMHhkYiwweDBiLDB4MzYsMHhjMiwweGNkLDB4YjAsMHhiMywweDZjLDB4MDAgfSwKLSAgMTYsIDB4ZDQ2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMywweDVjLDB4NGMsMHhkNywweDEzLDB4MzMgfSwKLSAgMTYsIDB4ZDQ3MCwgMCwgezB4YzQsMHhjYywweGYxLDB4MzMsMHgzYSwweDRhLDB4ZDYsMHg5MywweDMzLDB4YzQsMHhjYywweGYxLDB4MmIsMHgzYSwweDRjLDB4Y2YgfSwKLSAgMTYsIDB4ZDQ4MCwgMCwgezB4MTMsMHgzMywweGM0LDB4Y2MsMHhlOSwweDMzLDB4M2MsMHg0YywweGNmLDB4MTIsMHhiNSwweGE0LDB4YWMsMHhjOSwweDMzLDB4M2MgfSwKLSAgMTYsIDB4ZDQ5MCwgMCwgezB4NGMsMHhjZiwweDEzLDB4MzUsMHhjNCwweGNkLDB4NjksMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDRhMCwgMCwgezB4MDAsMHgwMCwweDNiLDB4N2UsMHg0ZSwweGRmLDB4OTMsMHhiNywweGU0LDB4ZWQsMHhmOSwweDNiLDB4N2UsMHg0ZSwweGRmLDB4OTMgfSwKLSAgMTYsIDB4ZDRiMCwgMCwgezB4YjcsMHhlNCwweGVkLDB4ZjksMHgzYiwweDdlLDB4NGUsMHhkZSwweDEyLDB4MzcsMHhlNCwweGVkLDB4ZTEsMHgzYiwweDdlLDB4NGUgfSwKLSAgMTYsIDB4ZDRjMCwgMCwgezB4ZGYsMHg5MiwweDMxLDB4ODQsMHg4ZCwweGQ5LDB4M2IsMHg3ZSwweDRlLDB4ZGYsMHg5MywweGIxLDB4ZTQsMHhlYywweDYxLDB4MDAgfSwKLSAgMTYsIDB4ZDRkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg0LDB4MDQsMHhhMSwweDgzLDB4MmMgfSwKLSAgMTYsIDB4ZDRlMCwgMCwgezB4MDMsMHgwYSwweDEwLDB4ODIsMHhjMSwweDM0LDB4MTAsMHg4ZiwweDAwLDB4NDAsMHgwOSwweDE0LDB4MDIsMHgwMywweDE0LDB4OTEgfSwKLSAgMTYsIDB4ZDRmMCwgMCwgezB4MDAsMHgwOCwweDQyLDB4MGIsMHgxOCwweDgyLDB4YzQsMHgwMCwweDMxLDB4Y2EsMHgwYywweDUyLDB4MDIsMHgxMCwweDgwLDB4ODUgfSwKLSAgMTYsIDB4ZDUwMCwgMCwgezB4MDAsMHgyMSwweDgyLDB4MjgsMHg0MCwweDBhLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDUxMCwgMCwgezB4MDAsMHgwMCwweDBhLDB4MDQsMHgwMiwweDAxLDB4NDAsMHg4MCwweDczLDB4MjgsMHgxMCwweDQ4LDB4MDcsMHgwNiwweDAxLDB4MDQgfSwKLSAgMTYsIDB4ZDUyMCwgMCwgezB4YTQsMHg0MSwweDIxLDB4MTQsMHgwOCwweDQ0LDB4MDYsMHgxMSwweDQwLDB4ODAsMHg3MCwweDIwLDB4MTQsMHgwYSwweDA0LDB4MDIgfSwKLSAgMTYsIDB4ZDUzMCwgMCwgezB4MDAsMHhjOCwweDg0LDB4NDEsMHgyMSwweDFjLDB4MDgsMHgwNiwweDEyLDB4MDEsMHhjMCwweDgwLDB4NjAsMHgyMCwweDE0LDB4MDAgfSwKLSAgMTYsIDB4ZDU0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMiwweDg0LDB4MDQsMHgyMSwweDgyLDB4MDggfSwKLSAgMTYsIDB4ZDU1MCwgMCwgezB4NTMsMHgwMiwweDEwLDB4ODAsMHhjNSwweDAwLDB4ODEsMHg0YSwweDA0LDB4NDIsMHgwMiwweDE0LDB4MDAsMHgwNCwweDIwLDB4MjEgfSwKLSAgMTYsIDB4ZDU2MCwgMCwgezB4ODAsMHhhOCwweDcyLDB4MjIsMHgxYywweDg4LDB4YzQsMHgwNiwweGExLDB4NDIsMHg4YywweDUyLDB4MjIsMHgxYywweDg4LDB4ODUgfSwKLSAgMTYsIDB4ZDU3MCwgMCwgezB4MjYsMHgyMSwweGMwLDB4ODgsMHg1MCwweDIyLDB4MTgsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDU4MCwgMCwgezB4MDAsMHgwMCwweDAyLDB4NDQsMHgwMCwweDAxLDB4MDEsMHgwMCwweDYyLDB4MDAsMHgxMCwweDAwLDB4MDQsMHgwMCwweDAxLDB4MDEgfSwKLSAgMTYsIDB4ZDU5MCwgMCwgezB4MjAsMHg0MCwweDAwLDB4MWMsMHgwMCwweDQ0LDB4MDQsMHgwMSwweDAyLDB4MjAsMHg2MiwweDAwLDB4MWMsMHg4MCwweDA0LDB4MDQgfSwKLSAgMTYsIDB4ZDVhMCwgMCwgezB4ODAsMHg4OSwweDIwLDB4NTAsMHgwOCwweDE0LDB4ODAsMHgwNCwweDI0LDB4MDEsMHhjMSwweDAwLDB4NTAsMHgwMCwweDE4LDB4MDAgfSwKLSAgMTYsIDB4ZDViMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMiwweDgwLDB4MzgsMHgyMCwweDA0LDB4MGMgfSwKLSAgMTYsIDB4ZDVjMCwgMCwgezB4MzEsMHgwYSwweDAwLDB4MDAsMHgwMiwweDE4LDB4MjAsMHg4YywweGE4LDB4MTAsMHgyOCwweDA4LDB4ODgsMHhjMSwweDE0LDB4MTAgfSwKLSAgMTYsIDB4ZDVkMCwgMCwgezB4YzYsMHgwMCwweDIyLDB4MDMsMHgwOCwweDAyLDB4MDEsMHgwOCwweGIwLDB4MDAsMHgwYywweDIxLDB4MDIsMHgwMCwweDgyLDB4ODAgfSwKLSAgMTYsIDB4ZDVlMCwgMCwgezB4MDgsMHgwMCwweDQ5LDB4MDgsMHgwMCwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDVmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDEsMHgwMCwweDgwLDB4MDgsMHgyMCwweDAzLDB4MDAsMHgwNCwweDAyLDB4NDMsMHgyMCwweDAwLDB4NDAgfSwKLSAgMTYsIDB4ZDYwMCwgMCwgezB4MDAsMHgyMCwweDAwLDB4MDQsMHg0MiwweDAxLDB4MTAsMHg4MCwweDg0LDB4MjAsMHgxMSwweDA4LDB4MDQsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDYxMCwgMCwgezB4MDAsMHg0NCwweDI0LDB4MjAsMHgwOSwweDA4LDB4NDAsMHgwMywweDAwLDB4OTAsMHhjNCwweDIwLDB4MjAsMHgwOCwweDBjLDB4MDIgfSwKLSAgMTYsIDB4ZDYyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAsMHgwOCwweDgxLDB4MDgsMHgyMCwweDA0LDB4ODggfSwKLSAgMTYsIDB4ZDYzMCwgMCwgezB4MDIsMHgyMiwweDA4LDB4MDgsMHhjMywweDJhLDB4OTAsMHg0MCwweDg0LDB4MTAsMHgyMCwweDA0LDB4ODAsMHhjMiwweDI2LDB4MjAgfSwKLSAgMTYsIDB4ZDY0MCwgMCwgezB4NDksMHg4OCwweDIyLDB4MjIsMHgwYywweDA4LDB4YzEsMHgyNiwweGEwLDB4YzksMHg4YywweDEyLDB4MmEsMHgwNCwweDg4LDB4NDMgfSwKLSAgMTYsIDB4ZDY1MCwgMCwgezB4MGUsMHhhMCwweGNiLDB4ODgsMHgxMCwweDIyLDB4MGMsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDY2MCwgMCwgezB4MDgsMHgwMCwweDBhLDB4NDAsMHgzMiwweDAwLDB4MDEsMHg4MCwweDMxLDB4MjgsMHgwMCwweDAwLDB4MDEsMHgxMiwweDgwLDB4OGQgfSwKLSAgMTYsIDB4ZDY3MCwgMCwgezB4ODQsMHgwMCwweDI4LDB4MGMsMHgwOCwweDAxLDB4MzIsMHgwMCwweDhjLDB4ODAsMHgwMiwweDIwLDB4MGMsMHgwOCwweDAxLDB4MmUgfSwKLSAgMTYsIDB4ZDY4MCwgMCwgezB4MDAsMHhjMywweDgwLDB4MDIsMHgyMCwweDA0LDB4MDgsMHg0MywweDAyLDB4MDAsMHg0MCwweDgwLDB4MTAsMHgyMCwweDA0LDB4MDIgfSwKLSAgMTYsIDB4ZDY5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAsMHgwOCwweDg3LDB4MGEsMHgyMSwweDA0LDB4ODggfSwKLSAgMTYsIDB4ZDZhMCwgMCwgezB4MTEsMHgyYSwweDFjLDB4MGEsMHgwNiwweDIyLDB4MjEsMHg0MCwweGEwLDB4NDIsMHgyYSwweDEwLDB4ODgsMHg4NSwweDBhLDB4YTEgfSwKLSAgMTYsIDB4ZDZiMCwgMCwgezB4MDYsMHhhNCwweDYyLDB4MjIsMHgxYywweDBhLDB4YzQsMHgwMiwweDIxLDB4ODAsMHg4YywweDUyLDB4MjIsMHgxNCwweDQ4LDB4ODYgfSwKLSAgMTYsIDB4ZDZjMCwgMCwgezB4MjIsMHgyMCwweDA4LDB4YTgsMHg2MCwweDJhLDB4MTQsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDZkMCwgMCwgezB4MDAsMHgwMCwweDA4LDB4NDUsMHgwNiwweDAxLDB4ODksMHg4MCwweDYzLDB4MjAsMHgxYywweDg4LDB4NDAsMHgzNCwweDExLDB4MDEgfSwKLSAgMTYsIDB4ZDZlMCwgMCwgezB4YTQsMHg1MCwweDI4LDB4MTgsMHg0OCwweDA0LDB4MGUsMHgwMSwweDRiLDB4ODAsMHg3MywweDI4LDB4MWMsMHg4YSwweDA0LDB4MDYgfSwKLSAgMTYsIDB4ZDZmMCwgMCwgezB4OTEsMHg0OSwweDA0LDB4NjMsMHgyMCwweDFjLDB4OGEsMHgwNiwweDI2LDB4MDEsMHg4NSwweDgwLDB4NzAsMHgyMCwweDE4LDB4MDIgfSwKLSAgMTYsIDB4ZDcwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAsMHgwMCwweDg1LDB4MDAsMHhiMSwweDQ1LDB4MmMgfSwKLSAgMTYsIDB4ZDcxMCwgMCwgezB4NzAsMHgwMiwweDE0LDB4YzAsMHgwNywweDA4LDB4MjEsMHg0OSwweDAwLDB4NDIsMHgwMSwweDE0LDB4ODIsMHgwNSwweDAwLDB4MTEgfSwKLSAgMTYsIDB4ZDcyMCwgMCwgezB4ODQsMHgwMCwweDUyLDB4MDIsMHgxYywweDAwLDB4YzQsMHgwMCwweDIxLDB4YzQsMHgyYywweDUzLDB4MDIsMHgxYywweDAyLDB4ODEgfSwKLSAgMTYsIDB4ZDczMCwgMCwgezB4MDQsMHhhMSwweGNkLDB4MDgsMHg1MCwweDAyLDB4MTQsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDc0MCwgMCwgezB4MDgsMHgxMCwweDEyLDB4MDQsMHgzNCwweDAxLDB4Y2MsMHgwMCwweDczLDB4NDAsMHgxYywweDkwLDB4NDUsMHgwNCwweDAxLDB4NDggfSwKLSAgMTYsIDB4ZDc1MCwgMCwgezB4MDQsMHg2MCwweDQxLDB4MTgsMHhjMCwweDQ0LDB4MDQsMHgwMSwweDA1LDB4MDQsMHg3MywweDQ4LDB4MTQsMHg1MCwweDQ3LDB4MzQgfSwKLSAgMTYsIDB4ZDc2MCwgMCwgezB4MDEsMHg0NSwweDIwLDB4NjIsMHgwOCwweDFjLDB4YzIsMHgwNCwweDBjLDB4ODEsMHhjNywweDAwLDB4NzMsMHg4MCwweDE4LDB4YzIgfSwKLSAgMTYsIDB4ZDc3MCwgMCwgezB4MDQsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAsMHgxMCwweDg0LDB4MTAsMHgyMSwweGNjLDB4MjggfSwKLSAgMTYsIDB4ZDc4MCwgMCwgezB4NDIsMHgwMiwweDE0LDB4MTIsMHhjNSwweDEwLDB4MjEsMHg4NCwweDA0LDB4NDAsMHgwMCwweDFjLDB4ODAsMHg4NCwweDAwLDB4OTEgfSwKLSAgMTYsIDB4ZDc5MCwgMCwgezB4MDAsMHgwOCwweDczLDB4ODIsMHgxYywweDkwLDB4MDUsMHgwYywweDAxLDB4Y2YsMHgwYywweDQwLDB4MDIsMHgxNCwweDMwLDB4NDUgfSwKLSAgMTYsIDB4ZDdhMCwgMCwgezB4MjAsMHhhMSwweGMwLDB4MDgsMHg1MCwweDAyLDB4MTAsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDdiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4NDUsMHgwYywweDgxLDB4MDAsMHgwMCwweDAxLDB4MDgsMHgwOCwweDAwLDB4MDUsMHgxOCwweDkxLDB4MDUgfSwKLSAgMTYsIDB4ZDdjMCwgMCwgezB4MDQsMHgwMCwweDAxLDB4MDQsMHg0MCwweDA2LDB4MTgsMHgwMCwweDAyLDB4MjQsMHg3MCwweDQwLDB4MDQsMHgwMCwweDQwLDB4MDAgfSwKLSAgMTYsIDB4ZDdkMCwgMCwgezB4MDEsMHhjNCwweDI0LDB4MDAsMHg4OCwweDA0LDB4MDAsMHg0MywweDEwLDB4MDAsMHg0MCwweDIwLDB4MDAsMHg4OCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDdlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMiwweDg1LDB4MjQsMHgzMSwweDAyLDB4MGMgfSwKLSAgMTYsIDB4ZDdmMCwgMCwgezB4MDIsMHhjMiwweDA0LDB4MTAsMHhjNCwweDI4LDB4MjEsMHg0OSwweDBjLDB4MDIsMHhjMCwweDA0LDB4YjIsMHgwNiwweDFjLDB4MjAgfSwKLSAgMTYsIDB4ZDgwMCwgMCwgezB4MDMsMHgwOCwweDUwLDB4NDIsMHgwYywweDgwLDB4MDEsMHgwNCwweGExLDB4NDksMHgwYywweDAwLDB4YzIsMHgwYywweDEwLDB4NDMgfSwKLSAgMTYsIDB4ZDgxMCwgMCwgezB4MjQsMHhhMCwweGMxLDB4MDgsMHgxMCwweDQyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDgyMCwgMCwgezB4MDAsMHgxMCwweGEyLDB4MDAsMHgyMCwweDAwLDB4Y2QsMHgwMCwweDAwLDB4NDAsMHgwNCwweDIwLDB4MDEsMHgxMCwweDAwLDB4MDkgfSwKLSAgMTYsIDB4ZDgzMCwgMCwgezB4MDQsMHgwMiwweDQ5LDB4MGMsMHg5MiwweDA3LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgzMywweDA4LDB4MGMsMHg5MiwweDQxLDB4MDAgfSwKLSAgMTYsIDB4ZDg0MCwgMCwgezB4ODAsMHhjYywweDAwLDB4MDAsMHgwMCwweDBjLDB4MDAsMHg0MywweDI4LDB4ODAsMHhjMiwweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDg1MCwgMCwgezB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMCwweDEwLDB4NTAsMHg4MCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDg2MCwgMCwgezB4MTAsMHgwMCwweDAwLDB4ZjAsMHgwMCwweDEwLDB4ODAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4ZDAsMHg4MCwweDgwLDB4MDAgfSwKLSAgMTYsIDB4ZDg3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4ODAsMHgxMCwweDkwLDB4ODAsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgxMCwweDkwLDB4ODAgfSwKLSAgMTYsIDB4ZDg4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MTAsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDg5MCwgMCwgezB4M2MsMHgzYywweDEwLDB4ODAsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMCwweDkwLDB4YTAsMHg4MCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDhhMCwgMCwgezB4MDAsMHgwMCwweDQwLDB4MTAsMHg5MCwweDgwLDB4YTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MTAsMHg5MCwweDgwLDB4YTAgfSwKLSAgMTYsIDB4ZDhiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MjAsMHg4MCwweDEwLDB4OTAsMHhhMCwweGEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDEwLDB4OGYgfSwKLSAgMTYsIDB4ZDhjMCwgMCwgezB4MGYsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyYywweGMyLDB4ZTQsMHg4MSwweDgwLDB4M2YgfSwKLSAgMTYsIDB4ZDhkMCwgMCwgezB4ZDksMHhiZiwweGQ5LDB4OTgsMHg3MSwweDlkLDB4NDIsMHg4MCwweDAwLDB4MjYsMHg3ZiwweGU2LDB4NzIsMHhhYiwweDdjLDB4M2EgfSwKLSAgMTYsIDB4ZDhlMCwgMCwgezB4NDAsMHgwMCwweDE5LDB4ODAsMHgyNiwweDQ4LDB4ZGQsMHgzYywweDkxLDB4YzAsMHgyNiwweDQwLDB4MjYsMHg0MCwweDM4LDB4MzEgfSwKLSAgMTYsIDB4ZDhmMCwgMCwgezB4ZGIsMHg2MSwweGMwLDB4MTksMHg5OSwweGJmLDB4YzksMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDkwMCwgMCwgezB4MDAsMHgwMCwweDEwLDB4ODAsMHgxMCwweDE0LDB4ODAsMHgwNiwweDg0LDB4OTcsMHg5NiwweDg2LDB4OTYsMHgwNiwweDkwLDB4MDAgfSwKLSAgMTYsIDB4ZDkxMCwgMCwgezB4M2YsMHhhMSwweDI4LDB4MDEsMHgwMiwweDkwLDB4MTIsMHgwMCwweDgwLDB4MTcsMHg4OCwweDE2LDB4OWUsMHg5MCwweDkwLDB4MDQgfSwKLSAgMTYsIDB4ZDkyMCwgMCwgezB4MTAsMHgwMCwweDM2LDB4YmUsMHhiZSwweDllLDB4ODYsMHgxNiwweDEyLDB4ODQsMHg4MCwweDEzLDB4YmUsMHg5NywweGFlLDB4ODAgfSwKLSAgMTYsIDB4ZDkzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4ODIgfSwKLSAgMTYsIDB4ZDk0MCwgMCwgezB4ODEsMHg4NCwweDIxLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweGExLDB4MzgsMHgwMSwweDc4LDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDk1MCwgMCwgezB4MDgsMHhiOCwweDIxLDB4NzIsMHg2OCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHg5OCwweDQ0LDB4ODgsMHg2OCwweDgwLDB4MDAgfSwKLSAgMTYsIDB4ZDk2MCwgMCwgezB4MDAsMHgwMCwweDA4LDB4YjgsMHgwMSwweDc4LDB4MDEsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDk3MCwgMCwgezB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZjcsMHhhZiwweGZmLDB4YzAgfSwKLSAgMTYsIDB4ZDk4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYgfSwKLSAgMTYsIDB4ZDk5MCwgMCwgezB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGJmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDlhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAgfSwKLSAgMTYsIDB4ZDliMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4N2YsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYgfSwKLSAgMTYsIDB4ZDljMCwgMCwgezB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYgfSwKLSAgMTYsIDB4ZDlkMCwgMCwgezB4MmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZDllMCwgMCwgezB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweDdmLDB4YzAgfSwKLSAgMTYsIDB4ZDlmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYgfSwKLSAgMTYsIDB4ZGEwMCwgMCwgezB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4N2YsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGExMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAgfSwKLSAgMTYsIDB4ZGEyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGJmLDB4YmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhkZiwweGJmLDB4ZGYgfSwKLSAgMTYsIDB4ZGEzMCwgMCwgezB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZWYsMHhmZiwweGZmLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZGYgfSwKLSAgMTYsIDB4ZGE0MCwgMCwgezB4ZmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGE1MCwgMCwgezB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4M2UsMHhhZiwweGZmLDB4YzAgfSwKLSAgMTYsIDB4ZGE2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgxZiwweGZmLDB4ZGYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGU3LDB4ZmUgfSwKLSAgMTYsIDB4ZGE3MCwgMCwgezB4ZWYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZGYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGE4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAgfSwKLSAgMTYsIDB4ZGE5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MmYsMHhmNywweGZmLDB4ZmYgfSwKLSAgMTYsIDB4ZGFhMCwgMCwgezB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDJmLDB4ZmYsMHhmZiwweGRmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZjcgfSwKLSAgMTYsIDB4ZGFiMCwgMCwgezB4ZGYsMHhmNywweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGFjMCwgMCwgezB4MDAsMHgwMCwweDAyLDB4YzQsMHgwMCwweGIxLDB4YzMsMHgyYywweDUwLDB4MDksMHgxNCwweDgyLDB4YzQsMHgzMCwweDkxLDB4YzcgfSwKLSAgMTYsIDB4ZGFkMCwgMCwgezB4MjQsMHg2MCwweDA4LDB4MWMsMHg4MiwweDA3LDB4MzQsMHg5MSwweDRjLDB4MDQsMHg0MywweDBhLDB4MTAsMHhjMiwweDg0LDB4MDQgfSwKLSAgMTYsIDB4ZGFlMCwgMCwgezB4OTEsMHg4NCwweDI0LDB4NTIsMHgwYiwweDE4LDB4MDIsMHhjNCwweDI0LDB4YjEsMHhjMywweDJjLDB4NDAsMHgwYSwweDEwLDB4ODAgfSwKLSAgMTYsIDB4ZGFmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4MDIsMHgwMSwweGM0LDB4ODAgfSwKLSAgMTYsIDB4ZGIwMCwgMCwgezB4NjAsMHgyMCwweDFjLDB4MDgsMHg0NCwweDIyLDB4MDEsMHhjMCwweDg0LDB4NTAsMHgwMSwweDljLDB4MDgsMHgwNywweDBhLDB4MDEgfSwKLSAgMTYsIDB4ZGIxMCwgMCwgezB4YzAsMHg4NCwweDcyLDB4MjAsMHgxYywweGM4LDB4MDQsMHgxMiwweDExLDB4NDQsMHg4MCwweDQxLDB4MDEsMHgxYywweDgwLDB4MDcgfSwKLSAgMTYsIDB4ZGIyMCwgMCwgezB4MDgsMHgxMSwweGM0LDB4MDAsMHg3MCwweDAwLDB4MTAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGIzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4ODYsMHgyYywweDIxLDB4NGEsMHgwYywweDUyLDB4MDIsMHgxYywweDgwLDB4MDQsMHgyMCwweDIxLDB4Y2EgfSwKLSAgMTYsIDB4ZGI0MCwgMCwgezB4MTAsMHg2MiwweDAyLDB4MWMsMHg4MSwweDQ3LDB4MDQsMHgyMSwweGMzLDB4MjAsMHg1MSwweDAxLDB4MWMsMHg4MCwweDA0LDB4MmMgfSwKLSAgMTYsIDB4ZGI1MCwgMCwgezB4MDEsMHhjYiwweDA0LDB4NTIsMHgwMywweDE0LDB4NDAsMHhjNywweDIwLDB4MzEsMHhjOCwweDBjLDB4NTAsMHgyMiwweDEwLDB4ODAgfSwKLSAgMTYsIDB4ZGI2MCwgMCwgezB4MDEsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA2LDB4MjAsMHgwMSwweDg5LDB4MDAgfSwKLSAgMTYsIDB4ZGI3MCwgMCwgezB4NTIsMHgwMCwweDE0LDB4ODAsMHgwNCwweDI4LDB4MDEsMHg0NSwweDA0LDB4NjIsMHgwMCwweDEwLDB4ODAsMHg0NiwweDMwLDB4MTEgfSwKLSAgMTYsIDB4ZGI4MCwgMCwgezB4MGQsMHgwMCwweDQyLDB4MDEsMHgxNCwweGMwLDB4NDQsMHgwMCwweDExLDB4MDUsMHgwMCwweDUwLDB4MDAsMHgxYywweDAwLDB4NDQgfSwKLSAgMTYsIDB4ZGI5MCwgMCwgezB4MjgsMHgwMSwweDQ5LDB4MDAsMHg3MCwweDAwLDB4MTAsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGJhMCwgMCwgezB4MDAsMHgwMCwweDA4LDB4YzAsMHgwMiwweDMwLDB4MGMsMHg4YywweDMwLDB4MjIsMHgwOCwweDg4LDB4YzIsMHgyNiwweDAwLDB4MDggfSwKLSAgMTYsIDB4ZGJiMCwgMCwgezB4ODAsMHgyMCwweDIyLDB4MGMsMHg4OCwweDgxLDB4MDIsMHgxMCwweGM0LDB4ODAsMHgxMCwweDIyLDB4MGMsMHgwOCwweDQwLDB4MDIgfSwKLSAgMTYsIDB4ZGJjMCwgMCwgezB4MTAsMHg0OCwweDg4LDB4MDEsMHgyMywweDA0LDB4YzgsMHg0MiwweDAyLDB4MTAsMHg0NiwweDhjLDB4MTIsMHgyMiwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGJkMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAsMHgwMiwweDAwLDB4MDAsMHg4MCwweGM4LDB4MjAgfSwKLSAgMTYsIDB4ZGJlMCwgMCwgezB4MTEsMHgwOSwweDAwLDB4ODAsMHg0MSwweDEwLDB4OTAsMHgwOCwweDI0LDB4MzAsMHgwOCwweDA0LDB4NDIsMHg0MSwweDAwLDB4OTAgfSwKLSAgMTYsIDB4ZGJmMCwgMCwgezB4YzQsMHgyMCwweDAwLDB4MDgsMHgwNCwweDQyLDB4MDAsMHgxMCwweDgwLDB4NGMsMHgyMCwweDIzLDB4MDksMHgwNCwweGMyLDB4NDMgfSwKLSAgMTYsIDB4ZGMwMCwgMCwgezB4MzAsMHg4MCwweDQwLDB4MjAsMHgxMSwweDA4LDB4MDAsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGMxMCwgMCwgezB4MDgsMHgwMCwweDA4LDB4ODEsMHgwMiwweDIwLDB4YzksMHg4YywweDEyLDB4MjAsMHgwNCwweDQ4LDB4NDEsMHgyMiwweDAwLDB4MDkgfSwKLSAgMTYsIDB4ZGMyMCwgMCwgezB4ODgsMHgzMCwweDIwLDB4MGMsMHg4OCwweDAzLDB4MGUsMHgwMCwweDQ5LDB4OGMsMHgxMCwweDIyLDB4MGMsMHg4OCwweDQwLDB4MmUgfSwKLSAgMTYsIDB4ZGMzMCwgMCwgezB4MDAsMHhjOSwweDg0LDB4MTMsMHgyMSwweDA0LDB4YzgsMHhjMywweDIyLDB4MDAsMHhjYiwweDhjLDB4MzIsMHgyMiwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGM0MCwgMCwgezB4MDQsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAsMHgwOCwweDAxLDB4MDIsMHgwMCwweDRiLDB4ODAgfSwKLSAgMTYsIDB4ZGM1MCwgMCwgezB4MzIsMHgyMSwweDA4LDB4ODgsMHg0MSwweDAyLDB4MTAsMHgwZiwweDgwLDB4MTAsMHgyMSwweDhjLDB4MDgsMHg0MSwweDAyLDB4MDAgfSwKLSAgMTYsIDB4ZGM2MCwgMCwgezB4ODcsMHg4NCwweDEwLDB4MjAsMHgwNCwweDg4LDB4MDAsMHgwMiwweDAwLDB4NDcsMHg4MCwweDEwLDB4MjEsMHgwYywweDg4LDB4NDEgfSwKLSAgMTYsIDB4ZGM3MCwgMCwgezB4MTYsMHgxMCwweDQ2LDB4ODAsMHgzMCwweDIwLDB4MDAsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGM4MCwgMCwgezB4MDAsMHgwMCwweDBhLDB4YzQsMHgyMiwweGExLDB4MDgsMHhhNCwweDcyLDB4MmEsMHgxNCwweDBhLDB4ODUsMHgwMiwweDgxLDB4ODQgfSwKLSAgMTYsIDB4ZGM5MCwgMCwgezB4YTAsMHg0MiwweDI4LDB4MWMsMHgwYSwweGM1LDB4MDIsMHg5MSwweDQwLDB4YjgsMHg3MywweDI5LDB4MTAsMHhjYSwweGM0LDB4MDIgfSwKLSAgMTYsIDB4ZGNhMCwgMCwgezB4YTEsMHg4MCwweGE0LDB4NDIsMHgyYSwweDE0LDB4Y2EsMHg4NSwweDIyLDB4OTEsMHg4MCwweGE4LDB4NzAsMHgyYSwweDE4LDB4MDIgfSwKLSAgMTYsIDB4ZGNiMCwgMCwgezB4MDAsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAsMHgwOCwweDA0LDB4MWUsMHgwMSwweGM4LDB4ODAgfSwKLSAgMTYsIDB4ZGNjMCwgMCwgezB4NDMsMHgyMCwweDE4LDB4MDgsMHg0NSwweDNlLDB4MDEsMHgwYywweDgwLDB4NjEsMHgyMCwweDljLDB4NDgsMHgwNiwweDEyLDB4ODEgfSwKLSAgMTYsIDB4ZGNkMCwgMCwgezB4YzAsMHg4MCwweDczLDB4MDAsMHgxMCwweDg4LDB4MDYsMHgwMiwweDAxLDB4YzgsMHgwMCwweDQyLDB4MjAsMHgxMCwweGM4LDB4MDcgfSwKLSAgMTYsIDB4ZGNlMCwgMCwgezB4MDIsMHgxMSwweGNkLDB4ODAsMHg1MSwweDIwLDB4MTQsMHg4MiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGNmMCwgMCwgezB4MDgsMHgwMCwweDAwLDB4YzQsMHgyNCwweDIxLDB4YzgsMHgwYywweDQyLDB4MDEsMHgxNCwweDAwLDB4MDAsMHgyOCwweDEwLDB4NGMgfSwKLSAgMTYsIDB4ZGQwMCwgMCwgezB4MDgsMHg1MiwweDAyLDB4MTQsMHg4MCwweDQ1LDB4MjQsMHgyOSwweDQwLDB4MDQsMHg3MiwweDAwLDB4MTAsMHhjMCwweDA1LDB4MjQgfSwKLSAgMTYsIDB4ZGQxMCwgMCwgezB4MTEsMHg0NCwweDA4LDB4NDMsMHgwMSwweDE0LDB4YzAsMHg0NywweDI0LDB4MjAsMHg0OCwweDA4LDB4NzIsMHgwMiwweDEwLDB4MDAgfSwKLSAgMTYsIDB4ZGQyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHgwMCwweDA3LDB4MTAsMHgxMSwweDA2LDB4MDAgfSwKLSAgMTYsIDB4ZGQzMCwgMCwgezB4NzIsMHgwMCwweDE4LDB4ZDAsMHg0NiwweDIwLDB4MDEsMHg0ZCwweDAwLDB4NzEsMHg0MCwweDEwLDB4NTAsMHgwNywweDMwLDB4MTEgfSwKLSAgMTYsIDB4ZGQ0MCwgMCwgezB4YzMsMHgwMCwweDcxLDB4NDEsMHgxMCwweGIwLDB4MDUsMHgyYywweDAxLDB4NDksMHgwMCwweDQzLDB4MDAsMHgxYywweDUwLDB4NDUgfSwKLSAgMTYsIDB4ZGQ1MCwgMCwgezB4MzAsMHgwMSwweDhjLDB4MDAsMHg2MSwweDQwLDB4MTgsMHg0MiwweDA0LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGQ2MCwgMCwgezB4MDAsMHgwMCwweDMwLDB4YzUsMHgwMCwweDIxLDB4YzAsMHgwYywweDQwLDB4MDEsMHgxNCwweDEyLDB4NDQsMHgwNCwweDMxLDB4ODQgfSwKLSAgMTYsIDB4ZGQ3MCwgMCwgezB4MjQsMHg0MCwweDgwLDB4MTQsMHhhMSwweGM3LDB4MDAsMHgwMSwweDQwLDB4MDgsMHg0MCwweDAxLDB4MTQsMHgyMCwweDA1LDB4MjAgfSwKLSAgMTYsIDB4ZGQ4MCwgMCwgezB4MTEsMHhjMCwweDAyLDB4NjAsMHg4MiwweDE4LDB4MDAsMHg4NywweDI0LDB4MTEsMHg0MCwweDA4LDB4NDAsMHg0MiwweDEwLDB4MDIgfSwKLSAgMTYsIDB4ZGQ5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMiwweDAwLDB4MGMsMHg4MCwweGM0LDB4MjQgfSwKLSAgMTYsIDB4ZGRhMCwgMCwgezB4MzEsMHg0OCwweDBjLDB4MDAsMHgwMSwweDA4LDB4YzEsMHg0MSwweDAwLDB4MDAsMHg0OSwweDAwLDB4NDIsMHgwMywweDA4LDB4MTAgfSwKLSAgMTYsIDB4ZGRiMCwgMCwgezB4ODAsMHgyMCwweDIxLDB4MDksMHgwYywweDAyLDB4MDIsMHgxOCwweDgwLDB4YzEsMHgyNCwweDMwLDB4MDgsMHgwYywweDQyLDB4MDEgfSwKLSAgMTYsIDB4ZGRjMCwgMCwgezB4MTAsMHg4MCwweDgzLDB4MjAsMHgxMSwweDA4LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGRkMCwgMCwgezB4MDAsMHgwMCwweDEwLDB4YzEsMHgwNCwweDIwLDB4NDgsMHgwYywweDEyLDB4NDIsMHgwNCwweDAwLDB4ODMsMHgwMCwweDMxLDB4NDggfSwKLSAgMTYsIDB4ZGRlMCwgMCwgezB4MDAsMHgwMiwweDQxLDB4MDQsMHhhMCwweDA3LDB4MGMsMHgyMCwweDQwLDB4MDAsMHgxMiwweGMyLDB4MGMsMHg4MCwweGMxLDB4MjAgfSwKLSAgMTYsIDB4ZGRmMCwgMCwgezB4MjAsMHhjOCwweDAwLDB4MTIsMHhjMSwweDBjLDB4YjAsMHg0MSwweDIwLDB4MDAsMHg0OSwweDA4LDB4MDIsMHg0MiwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGUwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHg4MCwweDAxLDB4MDAsMHgxMCwweDgxLDB4MDAgfSwKLSAgMTYsIDB4ZGUxMCwgMCwgezB4MzAsMHg0MCwweDA4LDB4MjAsMHgwMywweDAwLDB4MTAsMHhjMSwweDIwLDB4MDIsMHgwMCwweDA0LDB4ODAsMHg0MCwweDMwLDB4OTAgfSwKLSAgMTYsIDB4ZGUyMCwgMCwgezB4MDEsMHgxNCwweDAyLDB4NDAsMHgwNCwweDgwLDB4NDAsMHgyMCwweDAwLDB4MDksMHgwNCwweDMyLDB4MDEsMHgwOCwweGEwLDB4MDMgfSwKLSAgMTYsIDB4ZGUzMCwgMCwgezB4MDQsMHgxMCwweDA4LDB4MDAsMHgyMiwweDQwLDB4MDAsMHgwMCwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGU0MCwgMCwgezB4MDAsMHgwMCwweDMwLDB4MDAsMHgxMCwweDgwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMCwweGYwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGU1MCwgMCwgezB4MDAsMHgxMCwweDgwLDB4MDAsMHhmMCwweDAwLDB4ODAsMHg4MCwweDAwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHhmMCwweDEwLDB4YTAgfSwKLSAgMTYsIDB4ZGU2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4ZjAsMHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHg4MCwweDAwLDB4Y2MgfSwKLSAgMTYsIDB4ZGU3MCwgMCwgezB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNjLDB4M2MsMHgxMCwweGEwLDB4ODAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGU4MCwgMCwgezB4MDAsMHgwMCwweDEwLDB4OTAsMHg4MCwweGMwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4OTAsMHg4MCwweDgwLDB4MDAgfSwKLSAgMTYsIDB4ZGU5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMCwweDkwLDB4ODAsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMCwweDkwLDB4ODAgfSwKLSAgMTYsIDB4ZGVhMCwgMCwgezB4ZTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHg4YywweDA4LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGViMCwgMCwgezB4MDAsMHgwMCwweDA5LDB4NGQsMHhiMSwweGU5LDB4MDAsMHgyNiwweDQwLDB4MmEsMHg3ZiwweGUzLDB4ZjIsMHg1NCwweDk4LDB4YzAgfSwKLSAgMTYsIDB4ZGVjMCwgMCwgezB4M2YsMHhlNiwweDQwLDB4MDAsMHgwMSwweDQyLDB4OTEsMHhkMCwweGMwLDB4MTMsMHhlNSwweDg3LDB4NjMsMHg4MywweGI4LDB4Y2QgfSwKLSAgMTYsIDB4ZGVkMCwgMCwgezB4ZjksMHgwMCwweDI2LDB4N2YsMHgwMCwweDAwLDB4MzUsMHgyZSwweGQ1LDB4MDMsMHg0MCwweDNmLDB4ZDksMHhiZiwweGIxLDB4ODAgfSwKLSAgMTYsIDB4ZGVlMCwgMCwgezB4MDEsMHhmMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNCwweDAyLDB4MTYsMHgxNCwweDAwLDB4MWMgfSwKLSAgMTYsIDB4ZGVmMCwgMCwgezB4YTgsMHgzZiwweDg4LDB4MTYsMHgwMCwweDgwLDB4ODQsMHg4MCwweDM3LDB4OWUsMHhiYSwweGEwLDB4NTAsMHgxMCwweDAyLDB4MTIgfSwKLSAgMTYsIDB4ZGYwMCwgMCwgezB4MDAsMHgxNywweDk2LDB4OTcsMHgyNiwweDUwLDB4MTAsMHgxMCwweDgyLDB4ODAsMHgxZSwweDgwLDB4ZGUsMHhiZSwweDk0LDB4MTQgfSwKLSAgMTYsIDB4ZGYxMCwgMCwgezB4MDIsMHgxMCwweDgwLDB4MTcsMHhiZSwweDgxLDB4OTQsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGYyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHhhOCwweDQ0LDB4OTQsMHgyOCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDggfSwKLSAgMTYsIDB4ZGYzMCwgMCwgezB4OTQsMHgyMSwweDQ0LDB4NTEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4ODQsMHg0MiwweDQxLDB4MDEsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGY0MCwgMCwgezB4MDAsMHgwOCwweGExLDB4NzIsMHgyMywweDQxLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweGI4LDB4MDEsMHg3OCwweDMyLDB4NDAgfSwKLSAgMTYsIDB4ZGY1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAgfSwKLSAgMTYsIDB4ZGY2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4M2YsMHhmNywweGZlLDB4ZDcsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGQ3LDB4ZGYgfSwKLSAgMTYsIDB4ZGY3MCwgMCwgezB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHg3ZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDM3LDB4N2YgfSwKLSAgMTYsIDB4ZGY4MCwgMCwgezB4ZmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGY5MCwgMCwgezB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDFlLDB4ZmYsMHhkZSwweDc3LDB4YzAgfSwKLSAgMTYsIDB4ZGZhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgxZiwweGVmLDB4ZmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYgfSwKLSAgMTYsIDB4ZGZiMCwgMCwgezB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4N2YsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZGZjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAgfSwKLSAgMTYsIDB4ZGZkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MWYsMHhjZiwweGRmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4YmYgfSwKLSAgMTYsIDB4ZGZlMCwgMCwgezB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGJmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYgfSwKLSAgMTYsIDB4ZGZmMCwgMCwgezB4ZmYsMHhiZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTAwMCwgMCwgezB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAgfSwKLSAgMTYsIDB4ZTAxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxZiwweGZmLDB4MWYgfSwKLSAgMTYsIDB4ZTAyMCwgMCwgezB4N2YsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MmYsMHhkZiwweGZmLDB4Y2YsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTAzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAgfSwKLSAgMTYsIDB4ZTA0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4M2YsMHhiZiwweGFmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYgfSwKLSAgMTYsIDB4ZTA1MCwgMCwgezB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNlLDB4ZGUsMHg3ZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYgfSwKLSAgMTYsIDB4ZTA2MCwgMCwgezB4ZmYsMHhmNywweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTA3MCwgMCwgezB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4N2YsMHhmZiwweGZmLDB4YzAgfSwKLSAgMTYsIDB4ZTA4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZlLDB4YmUgfSwKLSAgMTYsIDB4ZTA5MCwgMCwgezB4N2YsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2UsMHhmZiwweGQ3LDB4N2YsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTBhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTBiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTBjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTBkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTBlMCwgMCwgezB4MzAsMHgwMCwweDIwLDB4MDEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDMwLDB4MDAsMHg0MywweDhlLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTBmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTEwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTExMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTEyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTEzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTE0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTE1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTE2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTE3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTE4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTE5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTFhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTFiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTFjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTFkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTFlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTFmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTIwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTIxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTIyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTIzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTI0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTI1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTI2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTI3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTI4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTI5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTJhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTJiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTJjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTJkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTJlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTJmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTMwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTMxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTMyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTMzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTM0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTM1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTM2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTM3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTM4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTM5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTNhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTNiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTNjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTNkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTNlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTNmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTQwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTQxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTQyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTQzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTQ0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTQ1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTQ2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTQ3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTQ4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTQ5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTRhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTRiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTRjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTRkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTRlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTRmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTUwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTUxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTUyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTUzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTU0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTU1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTU2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTU3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTU4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTU5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTVhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTViMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTVjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTVkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTVlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTVmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTYwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTYxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTYyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTYzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTY0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTY1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTY2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTY3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTY4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTY5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTZhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTZiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTZjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTZkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTZlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTZmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTcwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTcxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTcyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTczMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTc0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTc1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTc2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTc3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTc4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTc5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTdhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTdiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTdjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTdkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTdlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTdmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTgwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTgxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTgyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTgzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTg0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTg1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTg2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTg3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTg4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTg5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZThhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZThiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZThjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZThkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZThlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZThmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTkwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTkxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTkyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTkzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTk0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTk1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTk2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTk3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTk4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTk5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTlhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTliMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTljMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTlkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTllMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZTlmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWEwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWExMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWEyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWEzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWE0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWE1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWE2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWE3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWE4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWE5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWFhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWFiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWFjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWFkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWFlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWFmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWIwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWIxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWIyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWIzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWI0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWI1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWI2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWI3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWI4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWI5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWJhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWJiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWJjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWJkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWJlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWJmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWMwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWMxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWMyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWMzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWM0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWM1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWM2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWM3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWM4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWM5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWNhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWNiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWNjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWNkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWNlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWNmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWQwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWQxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWQyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWQzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWQ0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWQ1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWQ2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWQ3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWQ4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWQ5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWRhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWRiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWRjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWRkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWRlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWRmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWUwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWUxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWUyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWUzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWU0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWU1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWU2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWU3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWU4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWU5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWVhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWViMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWVjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWVkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWVlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWVmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWYwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWYxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWYyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMCwweDAwLDB4MjAsMHgwMSwweDAyLDB4MDIsMHgwMCwweDAwLDB4MzAsMHgwMCwweDQzLDB4ODAgfSwKLSAgMTYsIDB4ZWYzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWY0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWY1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWY2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWY3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWY4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWY5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWZhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWZiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWZjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWZkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWZlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZWZmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjAwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjAxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjAyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjAzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjA0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjA1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjA2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjA3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjA4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjA5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjBhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjBiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjBjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjBkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjBlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjBmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjEwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjExMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjEyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjEzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjE0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjE1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjE2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjE3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjE4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjE5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjFhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjFiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjFjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjFkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjFlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjFmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjIwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjIxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjIyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjIzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjI0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjI1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjI2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjI3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjI4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjI5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjJhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjJiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjJjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjJkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjJlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjJmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjMwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjMxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjMyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjMzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjM0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjM1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjM2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjM3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjM4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjM5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjNhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjNiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjNjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjNkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjNlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjNmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjQwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjQxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjQyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjQzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjQ0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjQ1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjQ2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjQ3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjQ4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjQ5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjRhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjRiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjRjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjRkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjRlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjRmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjUwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjUxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjUyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjUzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjU0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjU1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjU2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjU3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjU4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjU5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjVhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjViMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjVjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjVkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjVlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjVmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjYwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjYxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjYyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjYzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjY0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjY1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjY2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjY3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjY4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjY5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjZhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjZiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjZjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjZkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjZlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjZmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjcwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjcxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjcyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjczMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Zjc0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Zjc1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Zjc2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Zjc3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Zjc4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Zjc5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjdhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjdiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjdjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjdkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjdlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjdmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjgwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjgxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjgyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjgzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Zjg0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Zjg1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Zjg2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Zjg3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Zjg4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Zjg5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjhhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjhiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjhjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjhkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjhlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjhmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjkwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjkxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjkyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjkzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Zjk0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Zjk1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Zjk2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Zjk3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Zjk4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4Zjk5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjlhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjliMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjljMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjlkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjllMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZjlmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmEwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmExMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmEyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmEzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmE0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmE1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmE2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmE3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmE4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmE5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmFhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmFiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmFjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmFkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmFlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmFmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmIwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmIxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmIyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmIzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmI0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmI1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmI2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmI3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmI4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmI5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmJhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmJiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmJjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmJkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmJlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmJmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmMwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmMxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmMyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmMzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmM0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmM1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmM2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmM3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmM4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmM5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmNhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmNiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmNjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmNkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmNlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmNmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmQwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmQxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmQyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmQzMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDEsMHgwMCwweDAwLDB4NWYsMHhhNywweDMwLDB4MDAsMHg4MCwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDMgfSwKLSAgMTYsIDB4ZmQ0MCwgMCwgezB4MzAsMHgwMCwweDQwLDB4MGUsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmQ1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmQ2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgMTYsIDB4ZmQ3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzAsMHgwMCwweDgwLDB4MDEgfSwKLSAgMTYsIDB4ZmQ4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDUsMHgzMCwweDAwLDB4YTAsMHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzAsMHgwMCwweDAwLDB4MDEgfSwKLSAgMTYsIDB4ZmQ5MCwgMCwgezB4MDAsMHgwMCwweDZiLDB4OTcsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSwKLSAgNCwgMHhmZGEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAwICwgMHgwMDAwLCAxLCB7MH0KLX07Ci0vLyBWRVJTSU9OPSAxLjAuMC4xOTEKLS8vIERBVEU9IDIwMDJvY3QyOAotc3RhdGljIElOVEVMX0hFWF9SRUNPUkQgZ19IZXhNaWRpRnc2MltdID0gewotICAgMywweDAwMDAsMCx7MHgwMiwweDQ2LDB4Yjl9LAotICAgMywweDAwMDMsMCx7MHgwMiwweDBmLDB4ZmR9LAotICAgMywweDAwMGIsMCx7MHgwMiwweDRlLDB4MGZ9LAotICAgMywweDAwMTMsMCx7MHgwMiwweDE3LDB4ZmR9LAotICAgMywweDAwMWIsMCx7MHgwMiwweDRlLDB4MTJ9LAotICAgMywweDAwMjMsMCx7MHgwMiwweDRkLDB4ZWZ9LAotICAgMywweDAwMmIsMCx7MHgwMiwweDQ4LDB4MDB9LAotICAgMywweDAwMzMsMCx7MHgwMiwweDRkLDB4ZTZ9LAotICAgMywweDAwM2IsMCx7MHgwMiwweDRkLDB4ZjZ9LAotICAgMywweDAwNDMsMCx7MHgwMiwweDQ5LDB4MDB9LAotICAgMywweDAwNGIsMCx7MHgwMiwweDRlLDB4MDN9LAotICAgMywweDAwNTMsMCx7MHgwMiwweDQ4LDB4ZmF9LAotICAgMywweDAwNWIsMCx7MHgwMiwweDRkLDB4ZmR9LAotICAgMywweDAwNjMsMCx7MHgwMiwweDRlLDB4MDd9LAotICAxNiwweDA1MDAsMCx7MHgxMiwweDAxLDB4MTAsMHgwMSwweDAwLDB4MDAsMHgwMCwweDQwLDB4NmEsMHgwOCwweDExLDB4MDEsMHgwMCwweDAxLDB4MDEsMHgwMn0sCi0gIDE2LDB4MDUxMCwwLHsweDAwLDB4MDEsMHgwOSwweDAyLDB4MDgsMHgwMiwweDA1LDB4MDEsMHgwMCwweDgwLDB4MzIsMHgwOSwweDA0LDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgwNTIwLDAsezB4MDEsMHgwMSwweDAwLDB4MDAsMHgwYSwweDI0LDB4MDEsMHgwMCwweDAxLDB4NTYsMHgwMCwweDAyLDB4MDEsMHgwMiwweDBjLDB4MjR9LAotICAxNiwweDA1MzAsMCx7MHgwMiwweDAxLDB4MDEsMHgwMSwweDAwLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4MjQsMHgwNiwweDA1LDB4MDEsMHgwMn0sCi0gIDE2LDB4MDU0MCwwLHsweDAzLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDksMHgyNCwweDAzLDB4MDIsMHgwNCwweDAzLDB4MDAsMHgwNSwweDAwfSwKLSAgMTYsMHgwNTUwLDAsezB4MGMsMHgyNCwweDAyLDB4MDMsMHgwNSwweDAyLDB4MDAsMHgwNiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTUsMHgyNCwweDA2LDB4MDZ9LAotICAxNiwweDA1NjAsMCx7MHgwMywweDAyLDB4MDAsMHgwMCwweDAzLDB4MDAsMHgwMywweDAwLDB4MDMsMHgwMCwweDAzLDB4MDAsMHgwMywweDAwLDB4MDMsMHgwMH0sCi0gIDE2LDB4MDU3MCwwLHsweDAwLDB4MDksMHgyNCwweDAzLDB4MDQsMHgwMSwweDAxLDB4MDAsMHgwNiwweDAwLDB4MDksMHgwNCwweDAxLDB4MDAsMHgwMCwweDAxfSwKLSAgMTYsMHgwNTgwLDAsezB4MDIsMHgwMCwweDAwLDB4MDksMHgwNCwweDAxLDB4MDEsMHgwMiwweDAxLDB4MDIsMHgwMCwweDAwLDB4MDcsMHgyNCwweDAxLDB4MDF9LAotICAxNiwweDA1OTAsMCx7MHgwMCwweDAxLDB4MDAsMHgxMSwweDI0LDB4MDIsMHgwMSwweDAyLDB4MDIsMHgxMCwweDAzLDB4NDQsMHhhYywweDAwLDB4ODAsMHhiYn0sCi0gIDE2LDB4MDVhMCwwLHsweDAwLDB4MDAsMHg3NywweDAxLDB4MDksMHgwNSwweDBhLDB4MDUsMHg4NCwweDAxLDB4MDEsMHgwMCwweDhmLDB4MDcsMHgyNSwweDAxfSwKLSAgMTYsMHgwNWIwLDAsezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwOSwweDA1LDB4OGYsMHgwMSwweDAzLDB4MDAsMHgwMSwweDA1LDB4MDAsMHgwOSwweDA0LDB4MDF9LAotICAxNiwweDA1YzAsMCx7MHgwMiwweDAyLDB4MDEsMHgwMiwweDAwLDB4MDAsMHgwNywweDI0LDB4MDEsMHgwMSwweDAwLDB4MDEsMHgwMCwweDExLDB4MjQsMHgwMn0sCi0gIDE2LDB4MDVkMCwwLHsweDAxLDB4MDIsMHgwMywweDE4LDB4MDMsMHg0NCwweGFjLDB4MDAsMHg4MCwweGJiLDB4MDAsMHgwMCwweDc3LDB4MDEsMHgwOSwweDA1fSwKLSAgMTYsMHgwNWUwLDAsezB4MGEsMHgwNSwweDQ2LDB4MDIsMHgwMSwweDAwLDB4OGYsMHgwNywweDI1LDB4MDEsMHgwMSwweDAwLDB4MDAsMHgwMCwweDA5LDB4MDV9LAotICAxNiwweDA1ZjAsMCx7MHg4ZiwweDAxLDB4MDMsMHgwMCwweDAxLDB4MDUsMHgwMCwweDA5LDB4MDQsMHgwMiwweDAwLDB4MDAsMHgwMSwweDAyLDB4MDAsMHgwMH0sCi0gIDE2LDB4MDYwMCwwLHsweDA5LDB4MDQsMHgwMiwweDAxLDB4MDEsMHgwMSwweDAyLDB4MDAsMHgwMCwweDA3LDB4MjQsMHgwMSwweDA0LDB4MDAsMHgwMSwweDAwfSwKLSAgMTYsMHgwNjEwLDAsezB4MGUsMHgyNCwweDAyLDB4MDEsMHgwNiwweDAyLDB4MTAsMHgwMiwweDQ0LDB4YWMsMHgwMCwweDgwLDB4YmIsMHgwMCwweDA5LDB4MDV9LAotICAxNiwweDA2MjAsMCx7MHg4YywweDA1LDB4NGMsMHgwMiwweDAxLDB4MDAsMHgwMCwweDA3LDB4MjUsMHgwMSwweDAwLDB4MDIsMHgwMCwweDAwLDB4MDksMHgwNH0sCi0gIDE2LDB4MDYzMCwwLHsweDAyLDB4MDIsMHgwMSwweDAxLDB4MDIsMHgwMCwweDAwLDB4MDcsMHgyNCwweDAxLDB4MDQsMHgwMCwweDAxLDB4MDAsMHgwZSwweDI0fSwKLSAgMTYsMHgwNjQwLDAsezB4MDIsMHgwMSwweDA2LDB4MDMsMHgxOCwweDAyLDB4NDQsMHhhYywweDAwLDB4ODAsMHhiYiwweDAwLDB4MDksMHgwNSwweDhjLDB4MDV9LAotICAxNiwweDA2NTAsMCx7MHg3MiwweDAzLDB4MDEsMHgwMCwweDAwLDB4MDcsMHgyNSwweDAxLDB4MDAsMHgwMiwweDAwLDB4MDAsMHgwOSwweDA0LDB4MDIsMHgwM30sCi0gIDE2LDB4MDY2MCwwLHsweDAxLDB4MDEsMHgwMiwweDAwLDB4MDAsMHgwNywweDI0LDB4MDEsMHgwNCwweDAwLDB4MDEsMHgwMCwweDExLDB4MjQsMHgwMiwweDAxfSwKLSAgMTYsMHgwNjcwLDAsezB4MDIsMHgwMiwweDEwLDB4MDMsMHg0NCwweGFjLDB4MDAsMHg4MCwweGJiLDB4MDAsMHgwMCwweDc3LDB4MDEsMHgwOSwweDA1LDB4OGN9LAotICAxNiwweDA2ODAsMCx7MHgwNSwweDg0LDB4MDEsMHgwMSwweDAwLDB4MDAsMHgwNywweDI1LDB4MDEsMHgwMCwweDAyLDB4MDAsMHgwMCwweDA5LDB4MDQsMHgwMn0sCi0gIDE2LDB4MDY5MCwwLHsweDA0LDB4MDEsMHgwMSwweDAyLDB4MDAsMHgwMCwweDA3LDB4MjQsMHgwMSwweDA0LDB4MDAsMHgwMSwweDAwLDB4MTEsMHgyNCwweDAyfSwKLSAgMTYsMHgwNmEwLDAsezB4MDEsMHgwMiwweDAzLDB4MTgsMHgwMywweDQ0LDB4YWMsMHgwMCwweDgwLDB4YmIsMHgwMCwweDAwLDB4NzcsMHgwMSwweDA5LDB4MDV9LAotICAxNiwweDA2YjAsMCx7MHg4YywweDA1LDB4NDYsMHgwMiwweDAxLDB4MDAsMHgwMCwweDA3LDB4MjUsMHgwMSwweDAwLDB4MDIsMHgwMCwweDAwLDB4MDksMHgwNH0sCi0gIDE2LDB4MDZjMCwwLHsweDAzLDB4MDAsMHgwMCwweDAxLDB4MDEsMHgwMCwweDAwLDB4MDksMHgyNCwweDAxLDB4MDAsMHgwMSwweDA5LDB4MDAsMHgwMSwweDA0fSwKLSAgMTYsMHgwNmQwLDAsezB4MDksMHgwNCwweDA0LDB4MDAsMHgwMiwweDAxLDB4MDMsMHgwMCwweDAwLDB4MDcsMHgyNCwweDAxLDB4MDAsMHgwMSwweDI0LDB4MDB9LAotICAxNiwweDA2ZTAsMCx7MHgwNiwweDI0LDB4MDIsMHgwMSwweDA3LDB4MDAsMHgwOSwweDI0LDB4MDMsMHgwMiwweDA4LDB4MDEsMHgwNywweDAxLDB4MDAsMHgwNn0sCi0gIDE2LDB4MDZmMCwwLHsweDI0LDB4MDIsMHgwMiwweDA5LDB4MDAsMHgwOSwweDI0LDB4MDMsMHgwMSwweDBhLDB4MDEsMHgwOSwweDAxLDB4MDAsMHgwOSwweDA1fSwKLSAgMTYsMHgwNzAwLDAsezB4MDEsMHgwMiwweDA0LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweDI1LDB4MDEsMHgwMSwweDA3LDB4MDksMHgwNSwweDgxLDB4MDJ9LAotICAxNiwweDA3MTAsMCx7MHgwNCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHgyNSwweDAxLDB4MDEsMHgwYSwweDA0LDB4MDMsMHgwOSwweDA0LDB4MTgsMHgwM30sCi0gIDE2LDB4MDcyMCwwLHsweDQ1LDB4MDAsMHg2ZCwweDAwLDB4NjEsMHgwMCwweDY3LDB4MDAsMHg2OSwweDAwLDB4NjMsMHgwMCwweDIwLDB4MDAsMHg0NywweDAwfSwKLSAgMTYsMHgwNzMwLDAsezB4NmQsMHgwMCwweDYyLDB4MDAsMHg0OCwweDAwLDB4MjIsMHgwMywweDQ1LDB4MDAsMHg2ZCwweDAwLDB4NjEsMHgwMCwweDY3LDB4MDB9LAotICAxNiwweDA3NDAsMCx7MHg2OSwweDAwLDB4NjMsMHgwMCwweDIwLDB4MDAsMHg0NSwweDAwLDB4NGQsMHgwMCwweDQ5LDB4MDAsMHgyMCwweDAwLDB4MzYsMHgwMH0sCi0gIDE2LDB4MDc1MCwwLHsweDdjLDB4MDAsMHgzMiwweDAwLDB4MjAsMHgwMCwweDZkLDB4MDAsMHgyYSwweDAzLDB4NDMsMHgwMCwweDZmLDB4MDAsMHg2ZSwweDAwfSwKLSAgMTYsMHgwNzYwLDAsezB4NjYsMHgwMCwweDY5LDB4MDAsMHg2NywweDAwLDB4NzUsMHgwMCwweDcyLDB4MDAsMHg2MSwweDAwLDB4NzQsMHgwMCwweDY5LDB4MDB9LAotICAxNiwweDA3NzAsMCx7MHg2ZiwweDAwLDB4NmUsMHgwMCwweDIwLDB4MDAsMHg1MywweDAwLDB4NzQsMHgwMCwweDcyLDB4MDAsMHg2OSwweDAwLDB4NmUsMHgwMH0sCi0gIDE2LDB4MDc4MCwwLHsweDY3LDB4MDAsMHgyMiwweDAzLDB4NDksMHgwMCwweDZlLDB4MDAsMHg3NCwweDAwLDB4NjUsMHgwMCwweDcyLDB4MDAsMHg2NiwweDAwfSwKLSAgMTYsMHgwNzkwLDAsezB4NjEsMHgwMCwweDYzLDB4MDAsMHg2NSwweDAwLDB4MjAsMHgwMCwweDUzLDB4MDAsMHg3NCwweDAwLDB4NzIsMHgwMCwweDY5LDB4MDB9LAotICAgNiwweDA3YTAsMCx7MHg2ZSwweDAwLDB4NjcsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDA3YTYsMCx7MHhlNCwweDkwLDB4NzYsMHg2NiwweGYwLDB4MTIsMHg0NCwweGFkLDB4MjAsMHgyNiwweDEzLDB4OTAsMHg3NiwweDY2LDB4ZTAsMHhjM30sCi0gIDE2LDB4MDdiNiwwLHsweDk0LDB4MDIsMHg1MCwweDBhLDB4ZTAsMHgwNCwweGYwLDB4ZDIsMHg0MiwweDEyLDB4NGIsMHg3ZiwweDgwLDB4ZWEsMHgzMCwweDI2fSwKLSAgMTYsMHgwN2M2LDAsezB4MDUsMHgxMiwweDI4LDB4MDEsMHhjMiwweDI2LDB4MzAsMHgyNSwweDJiLDB4OTAsMHg3NiwweDk2LDB4ZTAsMHg1NCwweGZjLDB4ZjB9LAotICAxNiwweDA3ZDYsMCx7MHg5MCwweDgwLDB4MDMsMHhmMCwweDEyLDB4MTQsMHg5NiwweDkwLDB4NzYsMHg5NiwweGUwLDB4NDQsMHgwMywweGYwLDB4OTAsMHg4MH0sCi0gIDE2LDB4MDdlNiwwLHsweDAzLDB4ZjAsMHhlNCwweDkwLDB4NzYsMHg2NywweGYwLDB4OTAsMHg3NiwweDY3LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhiNCwweDRifSwKLSAgMTAsMHgwN2Y2LDAsezB4ZjYsMHgxMiwweDQ3LDB4ZmEsMHgxMiwweDQxLDB4MWIsMHg4MCwweGM1LDB4MjJ9LAotICAxNiwweDA4MDAsMCx7MHhlNCwweDkwLDB4NzYsMHgzMSwweGYwLDB4OTAsMHg3NiwweDMxLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgwZn0sCi0gIDE2LDB4MDgxMCwwLHsweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZSwweDkwLDB4N2YsMHhlZCwweGUwLDB4ZmQsMHhlZSwweDZkfSwKLSAgMTYsMHgwODIwLDAsezB4NjAsMHgwZSwweGVmLDB4YzMsMHg5NCwweDBiLDB4NTAsMHgwOCwweDkwLDB4NzYsMHgzMSwweGUwLDB4MDQsMHhmMCwweDgwLDB4ZDV9LAotICAxNiwweDA4MzAsMCx7MHhlZiwweGI0LDB4MGIsMHgwOCwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHhlZiwweDc1LDB4ZjAsMHgwM30sCi0gIDE2LDB4MDg0MCwwLHsweGE0LDB4MjQsMHgwZSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHg5MCwweDc2LDB4MzMsMHhmMCwweDI0fSwKLSAgMTYsMHgwODUwLDAsezB4ZjAsMHg2MCwweDBhLDB4MjQsMHgwZSwweDYwLDB4MDIsMHg4MSwweDg3LDB4MTIsMHg0YiwweGM3LDB4MjIsMHg5MCwweDdmLDB4ZWR9LAotICAxNiwweDA4NjAsMCx7MHhlMCwweDY0LDB4MDUsMHg3MCwweDUxLDB4OTAsMHg3NiwweDE4LDB4NzQsMHgwNSwweGYwLDB4OTAsMHg3NiwweDM3LDB4NzQsMHgwMX0sCi0gIDE2LDB4MDg3MCwwLHsweGYwLDB4OTAsMHg3NiwweDM5LDB4NzQsMHgwMywweGYwLDB4OTAsMHg3NiwweDIxLDB4ZjAsMHhlNCwweDkwLDB4NzYsMHgyMCwweGYwfSwKLSAgMTYsMHgwODgwLDAsezB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmNCwweDYwLDB4MmYsMHg5MCwweDc2LDB4MjAsMHhlMCwweGZmLDB4NzUsMHhmMCwweDBhLDB4YTR9LAotICAxNiwweDA4OTAsMCx7MHgyNCwweGFhLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZlLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmZH0sCi0gIDE2LDB4MDhhMCwwLHsweGVlLDB4NmQsMHg2MCwweDEyLDB4OTAsMHg3NiwweDIxLDB4ZTAsMHhmZSwweGVmLDB4YzMsMHg5ZSwweDUwLDB4MDgsMHg5MCwweDc2fSwKLSAgMTYsMHgwOGIwLDAsezB4MjAsMHhlMCwweDA0LDB4ZjAsMHg4MCwweGQxLDB4OTAsMHg3ZiwweGVkLDB4ZTAsMHg2NCwweDA2LDB4NzAsMHg1MiwweDkwLDB4NzZ9LAotICAxNiwweDA4YzAsMCx7MHgxOCwweDc0LDB4MDYsMHhmMCwweDkwLDB4NzYsMHgzNywweDc0LDB4MDQsMHhmMCwweDkwLDB4NzYsMHgzOSwweDc0LDB4MGEsMHhmMH0sCi0gIDE2LDB4MDhkMCwwLHsweDkwLDB4NzYsMHgyMSwweGYwLDB4OTAsMHg3NiwweDIwLDB4NzQsMHgwMywweGYwLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmNCwweDYwfSwKLSAgMTYsMHgwOGUwLDAsezB4MmYsMHg5MCwweDc2LDB4MjAsMHhlMCwweGZmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFhLDB4ZjUsMHg4MiwweGU0LDB4MzR9LAotICAxNiwweDA4ZjAsMCx7MHg3NSwweGY1LDB4ODMsMHhlMCwweGZlLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmZCwweGVlLDB4NmQsMHg2MCwweDEyLDB4OTAsMHg3Nn0sCi0gIDE2LDB4MDkwMCwwLHsweDIxLDB4ZTAsMHhmZSwweGVmLDB4YzMsMHg5ZSwweDUwLDB4MDgsMHg5MCwweDc2LDB4MjAsMHhlMCwweDA0LDB4ZjAsMHg4MCwweGQxfSwKLSAgMTYsMHgwOTEwLDAsezB4OTAsMHg3NiwweDIwLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhYSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzV9LAotICAxNiwweDA5MjAsMCx7MHhmNSwweDgzLDB4ZTAsMHg5MCwweDcyLDB4MjksMHhmMCwweGU0LDB4OTAsMHg3NiwweDNiLDB4ZjAsMHg5MCwweDc2LDB4MjEsMHhlMH0sCi0gIDE2LDB4MDkzMCwwLHsweGZlLDB4ZWYsMHg2ZSwweDcwLDB4MDgsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGVifSwKLSAgMTYsMHgwOTQwLDAsezB4ZTAsMHgxNCwweDYwLDB4MTMsMHgxNCwweDcwLDB4MDIsMHgyMSwweGUyLDB4MjQsMHgwMiwweDYwLDB4MDIsMHg4MSwweDdmLDB4OTB9LAotICAxNiwweDA5NTAsMCx7MHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhlOSwweGUwLDB4MTQsMHg3MCwweDdjLDB4OTAsMHg3Zn0sCi0gIDE2LDB4MDk2MCwwLHsweGVhLDB4ZTAsMHhmNCwweDcwLDB4NDgsMHg5MCwweDc2LDB4MzcsMHhlMCwweDkwLDB4NzYsMHgyMCwweGYwLDB4OTAsMHg3NiwweDM5fSwKLSAgMTYsMHgwOTcwLDAsezB4ZTAsMHhmZSwweDkwLDB4NzYsMHgyMCwweGUwLDB4ZmQsMHhjMywweDllLDB4NTAsMHgyYiwweDkwLDB4NzYsMHgzYiwweGUwLDB4ZmV9LAotICAxNiwweDA5ODAsMCx7MHgwNCwweGYwLDB4NzQsMHhjMCwweDJlLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZSwweGY1LDB4ODMsMHhlMCwweGZlLDB4ZWQsMHg3NX0sCi0gIDE2LDB4MDk5MCwwLHsweGYwLDB4MGEsMHhhNCwweDI0LDB4YWIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGVlLDB4ZjAsMHg5MCwweDc2fSwKLSAgMTYsMHgwOWEwLDAsezB4MjAsMHhlMCwweDA0LDB4ZjAsMHg4MCwweGM3LDB4OTAsMHg3NiwweDNmLDB4NzQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdlLDB4YzB9LAotICAxNiwweDA5YjAsMCx7MHhlMCwweGZlLDB4ZWYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4M30sCi0gIDE2LDB4MDljMCwwLHsweGVlLDB4ZjAsMHhlMCwweGI0LDB4MDEsMHgwOCwweDkwLDB4NzYsMHgzZSwweDc0LDB4MDEsMHhmMCwweDgwLDB4MDUsMHhlNCwweDkwfSwKLSAgMTYsMHgwOWQwLDAsezB4NzYsMHgzZSwweGYwLDB4OTAsMHg3NiwweDNmLDB4NzQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDF9LAotICAxNiwweDA5ZTAsMCx7MHhmMCwweDIyLDB4OTAsMHg3ZiwweGU5LDB4ZTAsMHgyNCwweGZlLDB4NzAsMHgwMiwweDQxLDB4YTMsMHgxNCwweDcwLDB4MDIsMHg2MX0sCi0gIDE2LDB4MDlmMCwwLHsweDNmLDB4MTQsMHg3MCwweDAyLDB4NjEsMHhkYiwweDI0LDB4MDMsMHg2MCwweDAyLDB4ODEsMHg3NywweDkwLDB4N2YsMHhlYSwweGUwfSwKLSAgMTYsMHgwYTAwLDAsezB4ZjQsMHg3MCwweDZiLDB4OTAsMHg3NiwweDM3LDB4ZTAsMHg5MCwweDc2LDB4MjAsMHhmMCwweDkwLDB4NzYsMHgzOSwweGUwLDB4ZmZ9LAotICAxNiwweDBhMTAsMCx7MHg5MCwweDc2LDB4MjAsMHhlMCwweGZlLDB4YzMsMHg5ZiwweDUwLDB4NGUsMHg5MCwweDc2LDB4M2IsMHhlMCwweGZmLDB4MDQsMHhmMH0sCi0gIDE2LDB4MGEyMCwwLHsweDc0LDB4YzAsMHgyZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2UsMHhmNSwweDgzLDB4ZTAsMHhmZiwweGVlLDB4NzUsMHhmMCwweDBhfSwKLSAgMTYsMHgwYTMwLDAsezB4YTQsMHgyNCwweGFjLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZiwweGYwLDB4OTAsMHg3NiwweDNiLDB4ZTB9LAotICAxNiwweDBhNDAsMCx7MHhmZiwweDA0LDB4ZjAsMHg3NCwweGMwLDB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdlLDB4ZjUsMHg4MywweGUwLDB4ZmYsMHhlZX0sCi0gIDE2LDB4MGE1MCwwLHsweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhZCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDkwfSwKLSAgMTYsMHgwYTYwLDAsezB4NzYsMHgyMCwweGUwLDB4MDQsMHhmMCwweDgwLDB4YTQsMHg5MCwweDc2LDB4NDAsMHg3NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2V9LAotICAxNiwweDBhNzAsMCx7MHhjMCwweGUwLDB4ZmYsMHg5MCwweDc2LDB4MjAsMHhlMCwweGZlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFjLDB4ZjUsMHg4Mn0sCi0gIDE2LDB4MGE4MCwwLHsweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZiwweGYwLDB4OTAsMHg3ZSwweGMxLDB4ZTAsMHhmZiwweGVlLDB4NzUsMHhmMCwweDBhfSwKLSAgMTYsMHgwYTkwLDAsezB4YTQsMHgyNCwweGFkLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZiwweGYwLDB4OTAsMHg3NiwweDQxLDB4NzR9LAotICAxNiwweDBhYTAsMCx7MHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4ZWEsMHhlMCwweGY0LDB4NzAsMHg2NiwweDkwLDB4NzYsMHgzNywweGUwLDB4OTAsMHg3Nn0sCi0gIDE2LDB4MGFiMCwwLHsweDIwLDB4ZjAsMHg5MCwweDc2LDB4MzksMHhlMCwweGZmLDB4OTAsMHg3NiwweDIwLDB4ZTAsMHhmZSwweGMzLDB4OWYsMHg0MCwweDAyfSwKLSAgMTYsMHgwYWMwLDAsezB4ODEsMHg4ZSwweDkwLDB4NzYsMHgzYiwweGUwLDB4ZmYsMHgwNCwweGYwLDB4NzQsMHhjMCwweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzR9LAotICAxNiwweDBhZDAsMCx7MHg3ZSwweGY1LDB4ODMsMHhlMCwweGZmLDB4ZWUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWUsMHhmNSwweDgyLDB4ZTQsMHgzNH0sCi0gIDE2LDB4MGFlMCwwLHsweDc1LDB4ZjUsMHg4MywweGVmLDB4ZjAsMHg5MCwweDc2LDB4M2IsMHhlMCwweGZmLDB4MDQsMHhmMCwweDc0LDB4YzAsMHgyZiwweGY1fSwKLSAgMTYsMHgwYWYwLDAsezB4ODIsMHhlNCwweDM0LDB4N2UsMHhmNSwweDgzLDB4ZTAsMHhmZiwweGVlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFmLDB4ZjV9LAotICAxNiwweDBiMDAsMCx7MHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZiwweGYwLDB4OTAsMHg3NiwweDIwLDB4ZTAsMHgwNCwweGYwLDB4ODAsMHhhMn0sCi0gIDE2LDB4MGIxMCwwLHsweDkwLDB4N2UsMHhjMCwweGUwLDB4ZmYsMHg5MCwweDc2LDB4MjAsMHhlMCwweGZlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFlfSwKLSAgMTYsMHgwYjIwLDAsezB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZiwweGYwLDB4OTAsMHg3ZSwweGMxLDB4ZTAsMHhmZiwweGVlLDB4NzV9LAotICAxNiwweDBiMzAsMCx7MHhmMCwweDBhLDB4YTQsMHgyNCwweGFmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZiwweGYwLDB4MjIsMHg5MH0sCi0gIDE2LDB4MGI0MCwwLHsweDdmLDB4ZWEsMHhlMCwweGY0LDB4NzAsMHg2NiwweDkwLDB4NzYsMHgzNywweGUwLDB4OTAsMHg3NiwweDIwLDB4ZjAsMHg5MCwweDc2fSwKLSAgMTYsMHgwYjUwLDAsezB4MzksMHhlMCwweGZmLDB4OTAsMHg3NiwweDIwLDB4ZTAsMHhmZSwweGMzLDB4OWYsMHg0MCwweDAyLDB4ODEsMHg4ZSwweDkwLDB4NzZ9LAotICAxNiwweDBiNjAsMCx7MHgzYiwweGUwLDB4ZmYsMHgwNCwweGYwLDB4NzQsMHhjMCwweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZSwweGY1LDB4ODMsMHhlMH0sCi0gIDE2LDB4MGI3MCwwLHsweGZmLDB4ZWUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YjAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGVmfSwKLSAgMTYsMHgwYjgwLDAsezB4ZjAsMHg5MCwweDc2LDB4M2IsMHhlMCwweGZmLDB4MDQsMHhmMCwweDc0LDB4YzAsMHgyZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2V9LAotICAxNiwweDBiOTAsMCx7MHhmNSwweDgzLDB4ZTAsMHhmZiwweGVlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIxLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NX0sCi0gIDE2LDB4MGJhMCwwLHsweGY1LDB4ODMsMHhlZiwweGYwLDB4OTAsMHg3NiwweDIwLDB4ZTAsMHgwNCwweGYwLDB4ODAsMHhhMiwweDkwLDB4N2UsMHhjMCwweGUwfSwKLSAgMTYsMHgwYmIwLDAsezB4ZmYsMHg5MCwweDc2LDB4MjAsMHhlMCwweGZlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIwLDB4ZjUsMHg4MiwweGU0LDB4MzR9LAotICAxNiwweDBiYzAsMCx7MHg3NSwweGY1LDB4ODMsMHhlZiwweGYwLDB4OTAsMHg3ZSwweGMxLDB4ZTAsMHhmZiwweGVlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNH0sCi0gIDE2LDB4MGJkMCwwLHsweGIxLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZiwweGYwLDB4MjIsMHg5MCwweDdmLDB4ZWEsMHhlMCwweGY0fSwKLSAgMTYsMHgwYmUwLDAsezB4NzAsMHg2NiwweDkwLDB4NzYsMHgzNywweGUwLDB4OTAsMHg3NiwweDIwLDB4ZjAsMHg5MCwweDc2LDB4MzksMHhlMCwweGZmLDB4OTB9LAotICAxNiwweDBiZjAsMCx7MHg3NiwweDIwLDB4ZTAsMHhmZSwweGMzLDB4OWYsMHg0MCwweDAyLDB4ODEsMHg4ZSwweDkwLDB4NzYsMHgzYiwweGUwLDB4ZmYsMHgwNH0sCi0gIDE2LDB4MGMwMCwwLHsweGYwLDB4NzQsMHhjMCwweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZSwweGY1LDB4ODMsMHhlMCwweGZmLDB4ZWUsMHg3NSwweGYwfSwKLSAgMTYsMHgwYzEwLDAsezB4MGEsMHhhNCwweDI0LDB4YjIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGVmLDB4ZjAsMHg5MCwweDc2LDB4M2J9LAotICAxNiwweDBjMjAsMCx7MHhlMCwweGZmLDB4MDQsMHhmMCwweDc0LDB4YzAsMHgyZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2UsMHhmNSwweDgzLDB4ZTAsMHhmZn0sCi0gIDE2LDB4MGMzMCwwLHsweGVlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIzLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZiwweGYwfSwKLSAgMTYsMHgwYzQwLDAsezB4OTAsMHg3NiwweDIwLDB4ZTAsMHgwNCwweGYwLDB4ODAsMHhhMiwweDkwLDB4N2UsMHhjMCwweGUwLDB4ZmYsMHg5MCwweDc2LDB4MjB9LAotICAxNiwweDBjNTAsMCx7MHhlMCwweGZlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIyLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZn0sCi0gIDE2LDB4MGM2MCwwLHsweGYwLDB4OTAsMHg3ZSwweGMxLDB4ZTAsMHhmZiwweGVlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIzLDB4ZjUsMHg4MiwweGU0fSwKLSAgMTYsMHgwYzcwLDAsezB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZiwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTB9LAotICAxNSwweDBjODAsMCx7MHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjJ9LAotICAxNiwweDBjOGYsMCx7MHg0MSwweDc2LDB4NjgsMHgwMSwweDQxLDB4NzYsMHg2YSwweDAyLDB4NDEsMHg3NiwweDZiLDB4MGEsMHhjMSwweDIwLDB4YzEsMHgyMX0sCi0gICAyLDB4MGM5ZiwwLHsweGMxLDB4MmZ9LAotICAgNCwweDBjYTEsMCx7MHg0MSwweDc2LDB4MjMsMHgwMH0sCi0gIDE2LDB4MGNhNSwwLHsweDQxLDB4NzIsMHgwMSwweDAxLDB4NDUsMHg3MiwweDA1LDB4MDAsMHgwMiwweGM5LDB4MDAsMHgwMCwweDQ1LDB4NzIsMHgwYSwweDAwfSwKLSAgMTYsMHgwY2I1LDAsezB4MDEsMHgwMiwweDAzLDB4MDQsMHg0ZCwweDcyLDB4MGYsMHhkMSwweDAwLDB4ZDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDBjYzUsMCx7MHgyOCwweDI4LDB4MDksMHgwMCwweDRkLDB4NzIsMHgxYywweDAxLDB4MDAsMHgwMSwweDAyLDB4MDMsMHgwNCwweDA1LDB4MDYsMHgwN30sCi0gIDE2LDB4MGNkNSwwLHsweDA4LDB4MDksMHgwYSwweDBiLDB4NDEsMHg3MiwweDJlLDB4MjIsMHg0MSwweDcyLDB4MmYsMHgyMywweDQxLDB4NzIsMHgzMCwweDIwfSwKLSAgMTYsMHgwY2U1LDAsezB4NDEsMHg3MiwweDMxLDB4MjEsMHg2MiwweGQyLDB4NzIsMHgzYSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDBjZjUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MGQwNSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgwZDE1LDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDBkMjUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MGQzNSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgwZDQ1LDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDBkNTUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MGQ2NSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgwZDc1LDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDF9LAotICAxNiwweDBkODUsMCx7MHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMX0sCi0gIDE2LDB4MGQ5NSwwLHsweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxfSwKLSAgMTYsMHgwZGE1LDAsezB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDF9LAotICAxNiwweDBkYjUsMCx7MHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMn0sCi0gIDE2LDB4MGRjNSwwLHsweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyfSwKLSAgMTYsMHgwZGQ1LDAsezB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDJ9LAotICAxNiwweDBkZTUsMCx7MHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMn0sCi0gIDE2LDB4MGRmNSwwLHsweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzfSwKLSAgMTYsMHgwZTA1LDAsezB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDN9LAotICAxNiwweDBlMTUsMCx7MHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwM30sCi0gIDE2LDB4MGUyNSwwLHsweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzfSwKLSAgMTYsMHgwZTM1LDAsezB4MDMsMHgwMywweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDR9LAotICAxNiwweDBlNDUsMCx7MHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNH0sCi0gIDE2LDB4MGU1NSwwLHsweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0fSwKLSAgMTYsMHgwZTY1LDAsezB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDR9LAotICAxNiwweDBlNzUsMCx7MHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNX0sCi0gIDE2LDB4MGU4NSwwLHsweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1fSwKLSAgMTYsMHgwZTk1LDAsezB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDV9LAotICAxNiwweDBlYTUsMCx7MHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDYsMHgwNn0sCi0gIDE2LDB4MGViNSwwLHsweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2fSwKLSAgMTYsMHgwZWM1LDAsezB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDZ9LAotICAxNiwweDBlZDUsMCx7MHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNn0sCi0gIDE2LDB4MGVlNSwwLHsweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNywweDA3LDB4MDcsMHgwOCwweDA4fSwKLSAgMTYsMHgwZWY1LDAsezB4MDgsMHgwOSwweDA5LDB4MDksMHgwYSwweDBhLDB4MGEsMHgwYiwweDBiLDB4MGIsMHgwYywweDBjLDB4MGMsMHgwZCwweDBkLDB4MGR9LAotICAxNiwweDBmMDUsMCx7MHgwZSwweDBlLDB4MGUsMHgwZiwweDBmLDB4MGYsMHgxMCwweDEwLDB4MTAsMHgxMSwweDExLDB4MTEsMHgxMiwweDEyLDB4MTIsMHgxM30sCi0gIDE2LDB4MGYxNSwwLHsweDEzLDB4MTMsMHgxNCwweDE0LDB4MTQsMHgxNSwweDE1LDB4MTUsMHgxNiwweDE2LDB4MTYsMHgxNywweDE3LDB4MTcsMHgxOCwweDE4fSwKLSAgMTYsMHgwZjI1LDAsezB4MTgsMHgxOSwweDE5LDB4MTksMHgxOSwweDFhLDB4MWEsMHgxYSwweDFhLDB4MWIsMHgxYiwweDFiLDB4MWIsMHgxYywweDFjLDB4MWN9LAotICAxNiwweDBmMzUsMCx7MHgxYywweDFkLDB4MWQsMHgxZCwweDFkLDB4MWUsMHgxZSwweDFlLDB4MWUsMHgxZiwweDFmLDB4MWYsMHgxZiwweDIwLDB4MjAsMHgyMH0sCi0gIDE2LDB4MGY0NSwwLHsweDIxLDB4MjEsMHgyMSwweDIyLDB4MjIsMHgyMiwweDIzLDB4MjMsMHgyNCwweDI0LDB4MjUsMHgyNSwweDI2LDB4MjYsMHgyNywweDI3fSwKLSAgMTYsMHgwZjU1LDAsezB4MjgsMHgyOCwweDI5LDB4MjksMHgyYSwweDJhLDB4MmIsMHgyYiwweDJjLDB4MmMsMHgyZCwweDJkLDB4MmUsMHgyZSwweDJmLDB4MmZ9LAotICAxNiwweDBmNjUsMCx7MHgzMCwweDMwLDB4MzEsMHgzMSwweDMyLDB4MzIsMHgzMywweDMzLDB4MzQsMHgzNCwweDM1LDB4MzUsMHgzNiwweDM2LDB4MzcsMHgzN30sCi0gIDE2LDB4MGY3NSwwLHsweDM4LDB4MzgsMHgzOSwweDM5LDB4M2EsMHgzYSwweDNiLDB4M2MsMHgzZCwweDNlLDB4M2YsMHg0MCwweDQxLDB4NDIsMHg0MywweDQ0fSwKLSAgMTYsMHgwZjg1LDAsezB4NDUsMHg0NiwweDQ3LDB4NDgsMHg0OSwweDQ5LDB4NGEsMHg0YiwweDRiLDB4NGMsMHg0ZCwweDRlLDB4NGYsMHg1MCwweDUxLDB4NTJ9LAotICAxNiwweDBmOTUsMCx7MHg1MywweDU0LDB4NTUsMHg1NSwweDU2LDB4NTYsMHg1NywweDU3LDB4NTgsMHg1YSwweDViLDB4NWQsMHg1ZSwweDVmLDB4NjEsMHg2Mn0sCi0gIDE2LDB4MGZhNSwwLHsweDYzLDB4NjQsMHg2NSwweDY2LDB4NjcsMHg2OCwweDY5LDB4NmEsMHg2YiwweDZjLDB4NmQsMHg2ZiwweDcxLDB4NzIsMHg3MywweDc0fSwKLSAgMTYsMHgwZmI1LDAsezB4NzUsMHg3NiwweDc3LDB4NzgsMHg3OSwweDdhLDB4N2IsMHg3YywweDdlLDB4ODAsMHgwMSwweDM3LDB4MDEsMHgwMSwweDM4LDB4MDB9LAotICAgMSwweDBmYzUsMCx7MHgwMH0sCi0gIDE2LDB4MGZjNiwwLHsweGU0LDB4ZmYsMHg3NCwweDQ2LDB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc2LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg3NCwweDIwfSwKLSAgMTYsMHgwZmQ2LDAsezB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDgwLDB4ZjUsMHg4MywweGVlLDB4ZjAsMHg3NCwweDRlLDB4MmYsMHhmNSwweDgyLDB4ZTR9LAotICAxNiwweDBmZTYsMCx7MHgzNCwweDc2LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg3NCwweDMwLDB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDgwLDB4ZjUsMHg4M30sCi0gICA2LDB4MGZmNiwwLHsweGVlLDB4ZjAsMHgwZiwweGJmLDB4MDgsMHhjY30sCi0gICAxLDB4MGZmYywwLHsweDIyfSwKLSAgIDMsMHgwZmZkLDAsezB4YzIsMHg4OSwweDMyfSwKLSAgMTYsMHgxMDAwLDAsezB4ZTQsMHg5MCwweDc2LDB4MmMsMHhmMCwweDkwLDB4NzYsMHgyYywweGUwLDB4ZmYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MGZ9LAotICAxNiwweDEwMTAsMCx7MHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg5MCwweDdmLDB4ZWQsMHhlMCwweGZkLDB4ZWUsMHg2ZH0sCi0gIDE2LDB4MTAyMCwwLHsweDYwLDB4MGUsMHhlZiwweGMzLDB4OTQsMHgwYiwweDUwLDB4MDgsMHg5MCwweDc2LDB4MmMsMHhlMCwweDA0LDB4ZjAsMHg4MCwweGQ1fSwKLSAgMTYsMHgxMDMwLDAsezB4ZWYsMHhiNCwweDBiLDB4MDgsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4ZWYsMHg3NSwweGYwLDB4MDN9LAotICAxNiwweDEwNDAsMCx7MHhhNCwweDI0LDB4MGUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4OTAsMHg3NiwweDJlLDB4ZjAsMHgyNH0sCi0gIDE2LDB4MTA1MCwwLHsweGYwLDB4NjAsMHgwYSwweDI0LDB4MGYsMHg2MCwweDAyLDB4ODEsMHg3ZCwweDEyLDB4NGIsMHhhNCwweDIyLDB4OTAsMHg3ZiwweGVkfSwKLSAgMTYsMHgxMDYwLDAsezB4ZTAsMHg2NCwweDA1LDB4NzAsMHg1MSwweDkwLDB4NzYsMHgxOCwweDc0LDB4MDUsMHhmMCwweDkwLDB4NzYsMHgzOCwweDc0LDB4MDF9LAotICAxNiwweDEwNzAsMCx7MHhmMCwweDkwLDB4NzYsMHgzYSwweDc0LDB4MDMsMHhmMCwweDkwLDB4NzYsMHgxYywweGYwLDB4ZTQsMHg5MCwweDc2LDB4MWIsMHhmMH0sCi0gIDE2LDB4MTA4MCwwLHsweDkwLDB4N2YsMHhlYSwweGUwLDB4ZjQsMHg2MCwweDJmLDB4OTAsMHg3NiwweDFiLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwYSwweGE0fSwKLSAgMTYsMHgxMDkwLDAsezB4MjQsMHhhYSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZSwweDkwLDB4N2YsMHhlYSwweGUwLDB4ZmR9LAotICAxNiwweDEwYTAsMCx7MHhlZSwweDZkLDB4NjAsMHgxMiwweDkwLDB4NzYsMHgxYywweGUwLDB4ZmUsMHhlZiwweGMzLDB4OWUsMHg1MCwweDA4LDB4OTAsMHg3Nn0sCi0gIDE2LDB4MTBiMCwwLHsweDFiLDB4ZTAsMHgwNCwweGYwLDB4ODAsMHhkMSwweDkwLDB4N2YsMHhlZCwweGUwLDB4NjQsMHgwNiwweDcwLDB4NTIsMHg5MCwweDc2fSwKLSAgMTYsMHgxMGMwLDAsezB4MTgsMHg3NCwweDA2LDB4ZjAsMHg5MCwweDc2LDB4MzgsMHg3NCwweDA0LDB4ZjAsMHg5MCwweDc2LDB4M2EsMHg3NCwweDBhLDB4ZjB9LAotICAxNiwweDEwZDAsMCx7MHg5MCwweDc2LDB4MWMsMHhmMCwweDkwLDB4NzYsMHgxYiwweDc0LDB4MDMsMHhmMCwweDkwLDB4N2YsMHhlYSwweGUwLDB4ZjQsMHg2MH0sCi0gIDE2LDB4MTBlMCwwLHsweDJmLDB4OTAsMHg3NiwweDFiLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhYSwweGY1LDB4ODIsMHhlNCwweDM0fSwKLSAgMTYsMHgxMGYwLDAsezB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZSwweDkwLDB4N2YsMHhlYSwweGUwLDB4ZmQsMHhlZSwweDZkLDB4NjAsMHgxMiwweDkwLDB4NzZ9LAotICAxNiwweDExMDAsMCx7MHgxYywweGUwLDB4ZmUsMHhlZiwweGMzLDB4OWUsMHg1MCwweDA4LDB4OTAsMHg3NiwweDFiLDB4ZTAsMHgwNCwweGYwLDB4ODAsMHhkMX0sCi0gIDE2LDB4MTExMCwwLHsweGU0LDB4OTAsMHg3NiwweDFlLDB4ZjAsMHg5MCwweDc2LDB4MWMsMHhlMCwweGZmLDB4OTAsMHg3NiwweDFiLDB4ZTAsMHhmZSwweDZmfSwKLSAgMTYsMHgxMTIwLDAsezB4NzAsMHgwOCwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4ZWIsMHhlMCwweDE0LDB4NjB9LAotICAxNiwweDExMzAsMCx7MHgxMywweDE0LDB4NzAsMHgwMiwweDIxLDB4YmYsMHgyNCwweDAyLDB4NjAsMHgwMiwweDgxLDB4NzUsMHg5MCwweDdmLDB4YjQsMHhlMH0sCi0gIDE2LDB4MTE0MCwwLHsweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGU5LDB4ZTAsMHgyNCwweDdmLDB4NzAsMHg2YiwweDkwLDB4N2YsMHhlYSwweGUwfSwKLSAgMTYsMHgxMTUwLDAsezB4ZjQsMHg3MCwweDRhLDB4OTAsMHg3NiwweDM4LDB4ZTAsMHg5MCwweDc2LDB4MWIsMHhmMCwweDkwLDB4NzYsMHgzYSwweGUwLDB4ZmZ9LAotICAxNiwweDExNjAsMCx7MHg5MCwweDc2LDB4MWIsMHhlMCwweGZkLDB4YzMsMHg5ZiwweDUwLDB4MmIsMHhlZCwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhYn0sCi0gIDE2LDB4MTE3MCwwLHsweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZiwweDkwLDB4NzYsMHgxZSwweGUwLDB4ZmQsMHgwNCwweGYwfSwKLSAgMTYsMHgxMTgwLDAsezB4NzQsMHgwMCwweDJkLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZiwweGY1LDB4ODMsMHhlZiwweGYwLDB4OTAsMHg3NiwweDFiLDB4ZTB9LAotICAxNiwweDExOTAsMCx7MHgwNCwweGYwLDB4ODAsMHhjNywweDkwLDB4NzYsMHgxZSwweGUwLDB4OTAsMHg3ZiwweGI1LDB4ZjAsMHgyMiwweGVlLDB4NzUsMHhmMH0sCi0gIDE2LDB4MTFhMCwwLHsweDBhLDB4YTQsMHgyNCwweGFiLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweDkwLDB4N2YsMHgwMCwweGYwfSwKLSAgMTYsMHgxMWIwLDAsezB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTB9LAotICAxNiwweDExYzAsMCx7MHg3ZiwweGU5LDB4ZTAsMHgyNCwweDdlLDB4NzAsMHgwMiwweDQxLDB4N2UsMHgxNCwweDcwLDB4MDIsMHg2MSwweDIzLDB4MTQsMHg3MH0sCi0gIDE2LDB4MTFkMCwwLHsweDAyLDB4NjEsMHhjOCwweDI0LDB4MDMsMHg2MCwweDAyLDB4ODEsMHg2ZCwweDkwLDB4N2YsMHhlYSwweGUwLDB4ZjQsMHg3MCwweDZkfSwKLSAgMTYsMHgxMWUwLDAsezB4OTAsMHg3NiwweDM4LDB4ZTAsMHg5MCwweDc2LDB4MWIsMHhmMCwweDkwLDB4NzYsMHgzYSwweGUwLDB4ZmYsMHg5MCwweDc2LDB4MWJ9LAotICAxNiwweDExZjAsMCx7MHhlMCwweGMzLDB4OWYsMHg1MCwweDRmLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhYywweGY1LDB4ODIsMHhlNH0sCi0gIDE2LDB4MTIwMCwwLHsweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZSwweDkwLDB4NzYsMHgxZSwweGUwLDB4ZmQsMHgwNCwweGYwLDB4NzQsMHgwMCwweDJkfSwKLSAgMTYsMHgxMjEwLDAsezB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZiwweGY1LDB4ODMsMHhlZSwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWR9LAotICAxNiwweDEyMjAsMCx7MHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmYsMHg5MCwweDc2LDB4MWUsMHhlMCwweGZlLDB4MDQsMHhmMH0sCi0gIDE2LDB4MTIzMCwwLHsweDc0LDB4MDAsMHgyZSwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2YsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDkwLDB4NzYsMHgxYiwweGUwfSwKLSAgMTYsMHgxMjQwLDAsezB4MDQsMHhmMCwweDgwLDB4YTQsMHg5MCwweDc2LDB4MWUsMHhlMCwweDkwLDB4N2YsMHhiNSwweGYwLDB4MjIsMHg5MCwweDc2LDB4MWJ9LAotICAxNiwweDEyNTAsMCx7MHhlMCwweGZmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFjLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMH0sCi0gIDE2LDB4MTI2MCwwLHsweDkwLDB4N2YsMHgwMCwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWQsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1fSwKLSAgMTYsMHgxMjcwLDAsezB4ZjUsMHg4MywweGUwLDB4OTAsMHg3ZiwweDAxLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAyLDB4ZjAsMHgyMiwweDkwLDB4N2Z9LAotICAxNiwweDEyODAsMCx7MHhlYSwweGUwLDB4ZjQsMHg3MCwweDZkLDB4OTAsMHg3NiwweDM4LDB4ZTAsMHg5MCwweDc2LDB4MWIsMHhmMCwweDkwLDB4NzYsMHgzYX0sCi0gIDE2LDB4MTI5MCwwLHsweGUwLDB4ZmYsMHg5MCwweDc2LDB4MWIsMHhlMCwweGMzLDB4OWYsMHg1MCwweDRmLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwYSwweGE0fSwKLSAgMTYsMHgxMmEwLDAsezB4MjQsMHhhZSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZSwweDkwLDB4NzYsMHgxZSwweGUwLDB4ZmR9LAotICAxNiwweDEyYjAsMCx7MHgwNCwweGYwLDB4NzQsMHgwMCwweDJkLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZiwweGY1LDB4ODMsMHhlZSwweGYwLDB4ZWYsMHg3NX0sCi0gIDE2LDB4MTJjMCwwLHsweGYwLDB4MGEsMHhhNCwweDI0LDB4YWYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmYsMHg5MCwweDc2fSwKLSAgMTYsMHgxMmQwLDAsezB4MWUsMHhlMCwweGZlLDB4MDQsMHhmMCwweDc0LDB4MDAsMHgyZSwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2YsMHhmNSwweDgzLDB4ZWZ9LAotICAxNiwweDEyZTAsMCx7MHhmMCwweDkwLDB4NzYsMHgxYiwweGUwLDB4MDQsMHhmMCwweDgwLDB4YTQsMHg5MCwweDc2LDB4MWUsMHhlMCwweDkwLDB4N2YsMHhiNX0sCi0gIDE2LDB4MTJmMCwwLHsweGYwLDB4MjIsMHg5MCwweDc2LDB4MWIsMHhlMCwweGZmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFlLDB4ZjUsMHg4MiwweGU0fSwKLSAgMTYsMHgxMzAwLDAsezB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweDkwLDB4N2YsMHgwMCwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWZ9LAotICAxNiwweDEzMTAsMCx7MHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4OTAsMHg3ZiwweDAxLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NH0sCi0gIDE2LDB4MTMyMCwwLHsweDAyLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhlYSwweGUwLDB4ZjQsMHg3MCwweDZkLDB4OTAsMHg3NiwweDM4LDB4ZTAsMHg5MCwweDc2fSwKLSAgMTYsMHgxMzMwLDAsezB4MWIsMHhmMCwweDkwLDB4NzYsMHgzYSwweGUwLDB4ZmYsMHg5MCwweDc2LDB4MWIsMHhlMCwweGMzLDB4OWYsMHg1MCwweDRmLDB4ZTB9LAotICAxNiwweDEzNDAsMCx7MHhmZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZX0sCi0gIDE2LDB4MTM1MCwwLHsweDkwLDB4NzYsMHgxZSwweGUwLDB4ZmQsMHgwNCwweGYwLDB4NzQsMHgwMCwweDJkLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZiwweGY1fSwKLSAgMTYsMHgxMzYwLDAsezB4ODMsMHhlZSwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YjEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjV9LAotICAxNiwweDEzNzAsMCx7MHg4MywweGUwLDB4ZmYsMHg5MCwweDc2LDB4MWUsMHhlMCwweGZlLDB4MDQsMHhmMCwweDc0LDB4MDAsMHgyZSwweGY1LDB4ODIsMHhlNH0sCi0gIDE2LDB4MTM4MCwwLHsweDM0LDB4N2YsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDkwLDB4NzYsMHgxYiwweGUwLDB4MDQsMHhmMCwweDgwLDB4YTQsMHg5MCwweDc2fSwKLSAgMTYsMHgxMzkwLDAsezB4MWUsMHhlMCwweDkwLDB4N2YsMHhiNSwweGYwLDB4MjIsMHg5MCwweDc2LDB4MWIsMHhlMCwweGZmLDB4NzUsMHhmMCwweDBhLDB4YTR9LAotICAxNiwweDEzYTAsMCx7MHgyNCwweGIwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweDkwLDB4N2YsMHgwMCwweGYwLDB4ZWYsMHg3NX0sCi0gIDE2LDB4MTNiMCwwLHsweGYwLDB4MGEsMHhhNCwweDI0LDB4YjEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4OTAsMHg3ZiwweDAxfSwKLSAgMTYsMHgxM2MwLDAsezB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAyLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhlYSwweGUwLDB4ZjQsMHg3MCwweDZkLDB4OTB9LAotICAxNiwweDEzZDAsMCx7MHg3NiwweDM4LDB4ZTAsMHg5MCwweDc2LDB4MWIsMHhmMCwweDkwLDB4NzYsMHgzYSwweGUwLDB4ZmYsMHg5MCwweDc2LDB4MWIsMHhlMH0sCi0gIDE2LDB4MTNlMCwwLHsweGMzLDB4OWYsMHg1MCwweDRmLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMiwweGY1LDB4ODIsMHhlNCwweDM0fSwKLSAgMTYsMHgxM2YwLDAsezB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZSwweDkwLDB4NzYsMHgxZSwweGUwLDB4ZmQsMHgwNCwweGYwLDB4NzQsMHgwMCwweDJkLDB4ZjV9LAotICAxNiwweDE0MDAsMCx7MHg4MiwweGU0LDB4MzQsMHg3ZiwweGY1LDB4ODMsMHhlZSwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YjMsMHhmNX0sCi0gIDE2LDB4MTQxMCwwLHsweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmYsMHg5MCwweDc2LDB4MWUsMHhlMCwweGZlLDB4MDQsMHhmMCwweDc0fSwKLSAgMTYsMHgxNDIwLDAsezB4MDAsMHgyZSwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2YsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDkwLDB4NzYsMHgxYiwweGUwLDB4MDR9LAotICAxNiwweDE0MzAsMCx7MHhmMCwweDgwLDB4YTQsMHg5MCwweDc2LDB4MWUsMHhlMCwweDkwLDB4N2YsMHhiNSwweGYwLDB4MjIsMHg5MCwweDc2LDB4MWIsMHhlMH0sCi0gIDE2LDB4MTQ0MCwwLHsweGZmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIyLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweDkwfSwKLSAgMTYsMHgxNDUwLDAsezB4N2YsMHgwMCwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YjMsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjV9LAotICAxNiwweDE0NjAsMCx7MHg4MywweGUwLDB4OTAsMHg3ZiwweDAxLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAyLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNH0sCi0gIDE2LDB4MTQ3MCwwLHsweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0fSwKLSAgIDUsMHgxNDgwLDAsezB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMn0sCi0gIDE2LDB4MTQ4NSwwLHsweDc0LDB4MDAsMHhmNSwweDg2LDB4OTAsMHhmZCwweGE1LDB4N2MsMHgwNSwweGEzLDB4ZTUsMHg4MiwweDQ1LDB4ODMsMHg3MCwweGY5fSwKLSAgIDEsMHgxNDk1LDAsezB4MjJ9LAotICAxNiwweDE0OTYsMCx7MHg5MCwweDdmLDB4ZDYsMHhlMCwweDQ0LDB4ODAsMHhmMCwweDQzLDB4ODcsMHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMn0sCi0gIDE2LDB4MTRhNiwwLHsweGMwLDB4ZDAsMHhjMCwweGUwLDB4OGYsMHhlMCwweGMwLDB4ZTAsMHg4ZSwweGUwLDB4YzAsMHhlMCwweDhkLDB4ZTAsMHhjMCwweGUwfSwKLSAgMTYsMHgxNGI2LDAsezB4OGMsMHhlMCwweGMwLDB4ZTAsMHhjMCwweDgyLDB4YzAsMHg4MywweDA1LDB4ODYsMHhjMCwweDg0LDB4YzAsMHg4NSwweDdkLDB4MDB9LAotICAxNiwweDE0YzYsMCx7MHg5MCwweDdmLDB4ZTMsMHg3NCwweDdiLDB4ZjAsMHhhMywweDc0LDB4ODAsMHhmMCwweDdjLDB4MTEsMHg5MCwweDdmLDB4OTksMHhlMH0sCi0gIDE2LDB4MTRkNiwwLHsweDU0LDB4NDAsMHhkYywweDAzLDB4MDIsMHgxNCwweGYzLDB4YjQsMHgwMCwweDEzLDB4OTAsMHg3ZiwweGUyLDB4NzQsMHg0MCwweGYwfSwKLSAgMTYsMHgxNGU2LDAsezB4OTAsMHg3ZiwweGU1LDB4ZjAsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDAwLDB4ZjAsMHgwMiwweDE0LDB4ZDIsMHg5MCwweDc2LDB4OTB9LAotICAxNiwweDE0ZjYsMCx7MHhlMCwweGI0LDB4MDEsMHgxMiwweDkwLDB4NzYsMHg4ZiwweGUwLDB4MmQsMHhmZCwweDkwLDB4N2YsMHhlMiwweDc0LDB4ODAsMHhmMH0sCi0gIDE2LDB4MTUwNiwwLHsweDkwLDB4N2YsMHg2YywweDAyLDB4MTUsMHg1NywweGI0LDB4MDIsMHgxMiwweDkwLDB4NzYsMHg4ZiwweGUwLDB4MmQsMHhmZCwweDkwfSwKLSAgMTYsMHgxNTE2LDAsezB4N2YsMHhlMiwweDc0LDB4ODAsMHhmMCwweDkwLDB4N2YsMHg2YywweDAyLDB4MTUsMHg5NiwweGI0LDB4MDMsMHgxMiwweDkwLDB4NzZ9LAotICAxNiwweDE1MjYsMCx7MHg4ZiwweGUwLDB4MmQsMHhmZCwweDkwLDB4N2YsMHhlMiwweDc0LDB4ODAsMHhmMCwweDkwLDB4N2YsMHg2YywweDAyLDB4MTUsMHhlMX0sCi0gIDE2LDB4MTUzNiwwLHsweGI0LDB4MDQsMHgxMiwweDkwLDB4NzYsMHg4ZiwweGUwLDB4MmQsMHhmZCwweDkwLDB4N2YsMHhlMiwweDc0LDB4ODAsMHhmMCwweDkwfSwKLSAgMTYsMHgxNTQ2LDAsezB4N2YsMHg2YywweDAyLDB4MTYsMHgxMCwweDkwLDB4N2YsMHhlMiwweDc0LDB4ODAsMHhmMCwweDkwLDB4N2YsMHg2YywweDAyLDB4MTZ9LAotICAxNiwweDE1NTYsMCx7MHg0MCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGRkLDB4ZjIsMHg3ZH0sCi0gIDE2LDB4MTU2NiwwLHsweDAyLDB4MDUsMHg4NiwweDkwLDB4N2YsMHhlMiwweDc0LDB4MDAsMHhmMCwweDkwLDB4N2YsMHg5YiwweGUwLDB4NTQsMHgwNCwweGI0fSwKLSAgMTYsMHgxNTc2LDAsezB4MDAsMHgwNSwweDA1LDB4ODYsMHgwMiwweDE2LDB4NDAsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDgwLDB4ZjAsMHgwNSwweDg2LDB4ZjB9LAotICAxNiwweDE1ODYsMCx7MHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZGQsMHhkNCwweDAyLDB4MTYsMHg0MH0sCi0gIDE2LDB4MTU5NiwwLHsweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwfSwKLSAgMTYsMHgxNWE2LDAsezB4ZjAsMHhmMCwweGRkLDB4ZWMsMHg3ZCwweDAyLDB4MDUsMHg4NiwweDkwLDB4N2YsMHhlMiwweDc0LDB4MDAsMHhmMCwweDkwLDB4N2Z9LAotICAxNiwweDE1YjYsMCx7MHg5YiwweGUwLDB4NTQsMHgwNCwweGI0LDB4MDAsMHgwNSwweDA1LDB4ODYsMHgwMiwweDE2LDB4NDAsMHg5MCwweDdmLDB4ZTIsMHg3NH0sCi0gIDE2LDB4MTVjNiwwLHsweDgwLDB4ZjAsMHgwNSwweDg2LDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwfSwKLSAgIDYsMHgxNWQ2LDAsezB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwfSwKLSAgMTYsMHgxNWRjLDAsezB4ZGQsMHhjZSwweDAyLDB4MTYsMHg0MCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZGQsMHhmYSwweDdkLDB4MDIsMHgwNSwweDg2LDB4OTB9LAotICAxNiwweDE1ZWMsMCx7MHg3ZiwweGUyLDB4NzQsMHgwMCwweGYwLDB4OTAsMHg3ZiwweDliLDB4ZTAsMHg1NCwweDA0LDB4YjQsMHgwMCwweDA1LDB4MDUsMHg4Nn0sCi0gIDE2LDB4MTVmYywwLHsweDAyLDB4MTYsMHg0MCwweDkwLDB4N2YsMHhlMiwweDc0LDB4ODAsMHhmMCwweDA1LDB4ODYsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGRkfSwKLSAgMTYsMHgxNjBjLDAsezB4ZGMsMHgwMiwweDE2LDB4NDAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhkZCwweGY4LDB4N2QsMHgwMiwweDA1LDB4ODZ9LAotICAxNiwweDE2MWMsMCx7MHg5MCwweDdmLDB4ZTIsMHg3NCwweDAwLDB4ZjAsMHg5MCwweDdmLDB4OWIsMHhlMCwweDU0LDB4MDQsMHhiNCwweDAwLDB4MDUsMHgwNX0sCi0gIDE2LDB4MTYyYywwLHsweDg2LDB4MDIsMHgxNiwweDQwLDB4OTAsMHg3ZiwweGUyLDB4NzQsMHg4MCwweGYwLDB4MDUsMHg4NiwweGYwLDB4ZjAsMHhmMCwweGYwfSwKLSAgMTYsMHgxNjNjLDAsezB4ZjAsMHhmMCwweGRkLDB4ZGEsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDAwLDB4ZjAsMHhkMCwweDg1LDB4ZDAsMHg4NCwweDA1LDB4ODZ9LAotICAxNiwweDE2NGMsMCx7MHhkMCwweDgzLDB4ZDAsMHg4MiwweGQwLDB4ZTAsMHhmYywweGQwLDB4ZTAsMHhmZCwweGQwLDB4ZTAsMHhmZSwweGQwLDB4ZTAsMHhmZn0sCi0gICA1LDB4MTY1YywwLHsweGQwLDB4ZTAsMHhkMCwweGQwLDB4MjJ9LAotICAxNiwweDE2NjEsMCx7MHhjMCwweGQwLDB4YzAsMHhlMCwweGMwLDB4ODIsMHhjMCwweDgzLDB4OTAsMHg3NiwweDdjLDB4ZTAsMHg5MCwweDdmLDB4NmYsMHhmMH0sCi0gIDE2LDB4MTY3MSwwLHsweDkwLDB4NzYsMHg3ZCwweGUwLDB4OTAsMHg3ZiwweDZmLDB4ZjAsMHg5MCwweDc2LDB4N2UsMHhlMCwweDkwLDB4N2YsMHg2ZiwweGYwfSwKLSAgIDksMHgxNjgxLDAsezB4ZDAsMHg4MywweGQwLDB4ODIsMHhkMCwweGUwLDB4ZDAsMHhkMCwweDIyfSwKLSAgMTYsMHgxNjhhLDAsezB4YzAsMHhkMCwweGMwLDB4ZTAsMHg4ZiwweGUwLDB4YzAsMHhlMCwweDhlLDB4ZTAsMHhjMCwweGUwLDB4YzAsMHg4MiwweGMwLDB4ODN9LAotICAxNiwweDE2OWEsMCx7MHgwNSwweDg2LDB4YzAsMHg4NCwweGMwLDB4ODUsMHg5MCwweDc2LDB4ODcsMHhlMCwweGZmLDB4YmYsMHgwMCwweDAzLDB4MDIsMHgxN30sCi0gIDE2LDB4MTZhYSwwLHsweDAxLDB4OTAsMHg3ZiwweDk2LDB4ZTAsMHg0NCwweDgwLDB4ZjAsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDgwLDB4ZjAsMHg5MCwweDdmfSwKLSAgMTYsMHgxNmJhLDAsezB4NjIsMHhlMCwweDA1LDB4ODYsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDAwLDB4ZjAsMHg5MCwweDdmLDB4OTYsMHhlMCwweDU0LDB4N2Z9LAotICAxNiwweDE2Y2EsMCx7MHhmMCwweDkwLDB4N2YsMHhlMiwweDc0LDB4ODAsMHhmMCwweDkwLDB4NzYsMHg4ZSwweGUwLDB4YjQsMHgwMSwweDA1LDB4MDUsMHg4Nn0sCi0gIDE2LDB4MTZkYSwwLHsweDAyLDB4MTYsMHhmNiwweGI0LDB4MDIsMHgwNSwweDA1LDB4ODYsMHgwMiwweDE2LDB4ZWIsMHgwNSwweDg2LDB4MDIsMHgxNiwweGZifSwKLSAgMTYsMHgxNmVhLDAsezB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZGYsMHhmOCwweDAyLDB4MTYsMHhmYiwweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZGZ9LAotICAxNiwweDE2ZmEsMCx7MHhmYSwweDkwLDB4N2YsMHhlMiwweDc0LDB4MDAsMHhmMCwweGQwLDB4ODUsMHhkMCwweDg0LDB4MDUsMHg4NiwweGQwLDB4ODMsMHhkMH0sCi0gIDEyLDB4MTcwYSwwLHsweDgyLDB4ZDAsMHhlMCwweGZlLDB4ZDAsMHhlMCwweGZmLDB4ZDAsMHhlMCwweGQwLDB4ZDAsMHgyMn0sCi0gIDE2LDB4MTcxNiwwLHsweGMwLDB4ODIsMHhjMCwweDgzLDB4YzAsMHhlMCwweGU4LDB4YzAsMHhlMCwweDc4LDB4ZDEsMHhlOCwweDE0LDB4ZjgsMHg3MCwweGZifSwKLSAgMTAsMHgxNzI2LDAsezB4ZDAsMHhlMCwweGY4LDB4ZDAsMHhlMCwweGQwLDB4ODMsMHhkMCwweDgyLDB4MjJ9LAotICAxNiwweDE3MzAsMCx7MHhjMCwweDgyLDB4YzAsMHg4MywweGMwLDB4ZTAsMHhlOCwweGMwLDB4ZTAsMHg3OCwweDc4LDB4ZTgsMHgxNCwweGY4LDB4NzAsMHhmYn0sCi0gIDEwLDB4MTc0MCwwLHsweGQwLDB4ZTAsMHhmOCwweGQwLDB4ZTAsMHhkMCwweDgzLDB4ZDAsMHg4MiwweDIyfSwKLSAgIDcsMHgxNzRhLDAsezB4OTAsMHg3ZiwweGM1LDB4NzQsMHgwMiwweGYwLDB4MjJ9LAotICAxNiwweDE3NTEsMCx7MHg5MCwweDdlLDB4YzAsMHhlMCwweDkwLDB4NzYsMHg0NSwweGYwLDB4OTAsMHg3ZSwweGMxLDB4ZTAsMHg5MCwweDc2LDB4NDQsMHhmMH0sCi0gIDE2LDB4MTc2MSwwLHsweDkwLDB4N2UsMHhjMiwweGUwLDB4OTAsMHg3NiwweDQzLDB4ZjAsMHhiNCwweDAwLDB4MDMsMHgwMiwweDE3LDB4NzgsMHg5MCwweDc2fSwKLSAgMTYsMHgxNzcxLDAsezB4MTksMHg3NCwweDAzLDB4ZjAsMHgwMiwweDE3LDB4OGUsMHg5MCwweDc2LDB4NDQsMHhlMCwweGI0LDB4YmIsMHgwOSwweDkwLDB4NzZ9LAotICAxNiwweDE3ODEsMCx7MHgxOSwweDc0LDB4MDIsMHhmMCwweDAyLDB4MTcsMHg4ZSwweDkwLDB4NzYsMHgxOSwweDc0LDB4MDEsMHhmMCwweDkwLDB4NzYsMHg0Mn0sCi0gICAzLDB4MTc5MSwwLHsweGU0LDB4ZjAsMHgyMn0sCi0gICA0LDB4MTc5NCwwLHsweDhkLDB4MjksMHg4YiwweDJhfSwKLSAgMTYsMHgxNzk4LDAsezB4MTIsMHg0YSwweDU1LDB4ZWEsMHg0OSwweDYwLDB4NTcsMHgxMiwweDM2LDB4OTIsMHg3ZSwweDAwLDB4MjksMHhmZiwweGVlLDB4M2F9LAotICAxNiwweDE3YTgsMCx7MHhjOSwweGVmLDB4YzksMHg3NSwweDJiLDB4ZmYsMHhmNSwweDJjLDB4ODksMHgyZCwweGFiLDB4MmIsMHhhYSwweDJjLDB4YTksMHgyZH0sCi0gIDE2LDB4MTdiOCwwLHsweDkwLDB4MDAsMHgwMSwweDEyLDB4MzYsMHhhYiwweGZmLDB4NjQsMHgwNCwweDYwLDB4MDUsMHhlZiwweDY0LDB4MDUsMHg3MCwweDJlfSwKLSAgMTYsMHgxN2M4LDAsezB4ZWYsMHhiNCwweDA0LDB4MTUsMHg5MCwweDAwLDB4MDIsMHgxMiwweDM2LDB4YWIsMHg2NSwweDI5LDB4NzAsMHgwYiwweDkwLDB4MDB9LAotICAxNiwweDE3ZDgsMCx7MHgwMywweDEyLDB4MzYsMHhhYiwweDY1LDB4MmEsMHg3MCwweDAxLDB4MjIsMHgxMiwweDM2LDB4OTIsMHg3ZSwweDAwLDB4MjksMHhmZn0sCi0gIDE2LDB4MTdlOCwwLHsweGVlLDB4M2EsMHhjOSwweGVmLDB4YzksMHg3NSwweDJiLDB4ZmYsMHhmNSwweDJjLDB4ODksMHgyZCwweDgwLDB4YmMsMHg3YiwweDAwfSwKLSAgIDQsMHgxN2Y4LDAsezB4N2EsMHgwMCwweDc5LDB4MDB9LAotICAgMSwweDE3ZmMsMCx7MHgyMn0sCi0gICAzLDB4MTdmZCwwLHsweGMyLDB4OGIsMHgzMn0sCi0gIDE2LDB4MTgwMCwwLHsweDkwLDB4NzYsMHg5MCwweGUwLDB4MTQsMHg2MCwweDM3LDB4MTQsMHg3MCwweDAyLDB4MDEsMHhkOCwweDE0LDB4NzAsMHgwMiwweDIxfSwKLSAgMTYsMHgxODEwLDAsezB4NzIsMHgxNCwweDcwLDB4MDIsMHg0MSwweDNiLDB4MjQsMHgwNCwweDYwLDB4MDIsMHg2MSwweDAzLDB4OTAsMHg3ZiwweGZjLDB4NzR9LAotICAxNiwweDE4MjAsMCx7MHhjYywweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmYywweGYwLDB4OTAsMHg3NiwweDk1LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg1NH0sCi0gIDE2LDB4MTgzMCwwLHsweDA1LDB4ZjAsMHg5MCwweDgwLDB4MDEsMHhmMCwweGU0LDB4OTAsMHg3NiwweDFhLDB4ZjAsMHhjMiwweDJlLDB4MjIsMHg5MCwweDc2fSwKLSAgMTYsMHgxODQwLDAsezB4OTUsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDQ0LDB4MDIsMHhmMCwweDMwLDB4M2UsMHgwNiwweGUwLDB4NDQsMHgwNCwweGYwLDB4ODB9LAotICAxNiwweDE4NTAsMCx7MHgwNywweDkwLDB4NzYsMHg5NSwweGUwLDB4NTQsMHhmYiwweGYwLDB4OTAsMHg3NiwweDFhLDB4ZTAsMHhiNCwweDAxLDB4MDgsMHg5MH0sCi0gIDE2LDB4MTg2MCwwLHsweDc2LDB4OTUsMHhlMCwweDkwLDB4ODAsMHgwMSwweGYwLDB4OTAsMHg3NiwweDE5LDB4ZTAsMHhmZiwweGI0LDB4MDEsMHgyMiwweDkwfSwKLSAgMTYsMHgxODcwLDAsezB4N2YsMHhmYywweDc0LDB4NzQsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmMsMHhmMCwweDkwLDB4NzYsMHg4ZiwweDc0LDB4MmJ9LAotICAxNiwweDE4ODAsMCx7MHhmMCwweDkwLDB4NzYsMHg5NywweGUwLDB4NTQsMHhmZCwweGYwLDB4ZTQsMHg5MCwweDc2LDB4ODEsMHhmMCwweDkwLDB4NzYsMHg4MH0sCi0gIDE2LDB4MTg5MCwwLHsweGYwLDB4ZWYsMHhiNCwweDAyLDB4MjIsMHg5MCwweDdmLDB4ZmMsMHg3NCwweDY4LDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjfSwKLSAgMTYsMHgxOGEwLDAsezB4ZjAsMHg5MCwweDc2LDB4OGYsMHg3NCwweDJmLDB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMCwweDQ0LDB4MDIsMHhmMCwweGU0LDB4OTB9LAotICAxNiwweDE4YjAsMCx7MHg3NiwweDgxLDB4ZjAsMHg5MCwweDc2LDB4ODAsMHhmMCwweDMwLDB4M2YsMHgwOSwweDkwLDB4NzYsMHg5NywweGUwLDB4NTQsMHhmZX0sCi0gIDE2LDB4MThjMCwwLHsweGYwLDB4ODAsMHgwNywweDkwLDB4NzYsMHg5NywweGUwLDB4NDQsMHgwMSwweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg1NCwweGZifSwKLSAgMTYsMHgxOGQwLDAsezB4ZjAsMHg5MCwweDgwLDB4MDIsMHhmMCwweGQyLDB4MmUsMHgyMiwweDkwLDB4NzYsMHg5NSwweGUwLDB4NTQsMHhmZSwweGYwLDB4NDR9LAotICAxNiwweDE4ZTAsMCx7MHgwMiwweGYwLDB4MzAsMHgzZSwweDA2LDB4ZTAsMHg0NCwweDA0LDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3NiwweDk1LDB4ZTAsMHg1NH0sCi0gIDE2LDB4MThmMCwwLHsweGZiLDB4ZjAsMHg5MCwweDc2LDB4MWEsMHhlMCwweGI0LDB4MDEsMHgwOCwweDkwLDB4NzYsMHg5NSwweGUwLDB4OTAsMHg4MCwweDAxfSwKLSAgMTYsMHgxOTAwLDAsezB4ZjAsMHg5MCwweDc2LDB4MTksMHhlMCwweGZmLDB4YjQsMHgwMSwweDIyLDB4OTAsMHg3ZiwweGZjLDB4NzQsMHgzMCwweGYwLDB4OTB9LAotICAxNiwweDE5MTAsMCx7MHg3ZiwweGZmLDB4NzQsMHhmYywweGYwLDB4OTAsMHg3NiwweDhmLDB4NzQsMHgyYiwweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg1NH0sCi0gIDE2LDB4MTkyMCwwLHsweGZkLDB4ZjAsMHhlNCwweDkwLDB4NzYsMHg4MSwweGYwLDB4OTAsMHg3NiwweDgwLDB4ZjAsMHhlZiwweGI0LDB4MDIsMHgyMiwweDkwfSwKLSAgMTYsMHgxOTMwLDAsezB4N2YsMHhmYywweDc0LDB4MWMsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmMsMHhmMCwweDkwLDB4NzYsMHg4ZiwweDc0LDB4MmZ9LAotICAxNiwweDE5NDAsMCx7MHhmMCwweDkwLDB4NzYsMHg5NywweGUwLDB4NDQsMHgwMiwweGYwLDB4ZTQsMHg5MCwweDc2LDB4ODEsMHhmMCwweDkwLDB4NzYsMHg4MH0sCi0gIDE2LDB4MTk1MCwwLHsweGYwLDB4MzAsMHgzZiwweDA5LDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg1NCwweGZlLDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3NiwweDk3fSwKLSAgMTYsMHgxOTYwLDAsezB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMCwweDU0LDB4ZmIsMHhmMCwweDkwLDB4ODAsMHgwMiwweGYwLDB4ZDJ9LAotICAxNiwweDE5NzAsMCx7MHgyZSwweDIyLDB4OTAsMHg3NiwweDk1LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg0NCwweDAyLDB4ZjAsMHg0NCwweDA4LDB4ZjAsMHgzMH0sCi0gIDE2LDB4MTk4MCwwLHsweDNlLDB4MDYsMHhlMCwweDQ0LDB4MDQsMHhmMCwweDgwLDB4MDcsMHg5MCwweDc2LDB4OTUsMHhlMCwweDU0LDB4ZmIsMHhmMCwweDkwfSwKLSAgMTYsMHgxOTkwLDAsezB4NzYsMHgxYSwweGUwLDB4YjQsMHgwMSwweDA4LDB4OTAsMHg3NiwweDk1LDB4ZTAsMHg5MCwweDgwLDB4MDEsMHhmMCwweDkwLDB4NzZ9LAotICAxNiwweDE5YTAsMCx7MHgxOSwweGUwLDB4ZmYsMHhiNCwweDAxLDB4MjUsMHg5MCwweDdmLDB4ZmMsMHg3NCwweGNjLDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NH0sCi0gIDE2LDB4MTliMCwwLHsweGZjLDB4ZjAsMHg5MCwweDc2LDB4OGYsMHg3NCwweDJiLDB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMCwweDU0LDB4ZmQsMHhmMCwweDU0fSwKLSAgMTYsMHgxOWMwLDAsezB4ZmIsMHhmMCwweGU0LDB4OTAsMHg3NiwweDgxLDB4ZjAsMHg5MCwweDc2LDB4ODAsMHhmMCwweGVmLDB4YjQsMHgwMiwweDI1LDB4OTB9LAotICAxNiwweDE5ZDAsMCx7MHg3ZiwweGZjLDB4NzQsMHhjOCwweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmYywweGYwLDB4OTAsMHg3NiwweDhmLDB4NzQsMHgyZn0sCi0gIDE2LDB4MTllMCwwLHsweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg0NCwweDAyLDB4ZjAsMHg1NCwweGZiLDB4ZjAsMHhlNCwweDkwLDB4NzYsMHg4MSwweGYwfSwKLSAgMTYsMHgxOWYwLDAsezB4OTAsMHg3NiwweDgwLDB4ZjAsMHhlZiwweGI0LDB4MDMsMHgyNSwweDkwLDB4N2YsMHhmYywweDc0LDB4OTgsMHhmMCwweDkwLDB4N2Z9LAotICAxNiwweDFhMDAsMCx7MHhmZiwweDc0LDB4ZmMsMHhmMCwweDkwLDB4NzYsMHg4ZiwweDc0LDB4NWYsMHhmMCwweDkwLDB4NzYsMHg5NywweGUwLDB4NTQsMHhmZH0sCi0gIDE2LDB4MWExMCwwLHsweGYwLDB4NDQsMHgwNCwweGYwLDB4ZTQsMHg5MCwweDc2LDB4ODEsMHhmMCwweDkwLDB4NzYsMHg4MCwweGYwLDB4MzAsMHgzZiwweDA5fSwKLSAgMTYsMHgxYTIwLDAsezB4OTAsMHg3NiwweDk3LDB4ZTAsMHg1NCwweGZlLDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg0NCwweDAxLDB4ZjB9LAotICAxNiwweDFhMzAsMCx7MHg5MCwweDc2LDB4OTcsMHhlMCwweDkwLDB4ODAsMHgwMiwweGYwLDB4ZDIsMHgyZSwweDIyLDB4OTAsMHg3NiwweDk1LDB4ZTAsMHg1NH0sCi0gIDE2LDB4MWE0MCwwLHsweGZlLDB4ZjAsMHg0NCwweDAyLDB4ZjAsMHg0NCwweDA4LDB4ZjAsMHgzMCwweDNlLDB4MDYsMHhlMCwweDQ0LDB4MDQsMHhmMCwweDgwfSwKLSAgMTYsMHgxYTUwLDAsezB4MDcsMHg5MCwweDc2LDB4OTUsMHhlMCwweDU0LDB4ZmIsMHhmMCwweDkwLDB4NzYsMHgxYSwweGUwLDB4YjQsMHgwMSwweDA4LDB4OTB9LAotICAxNiwweDFhNjAsMCx7MHg3NiwweDk1LDB4ZTAsMHg5MCwweDgwLDB4MDEsMHhmMCwweDkwLDB4NzYsMHgxOSwweGUwLDB4ZmYsMHhiNCwweDAxLDB4MjUsMHg5MH0sCi0gIDE2LDB4MWE3MCwwLHsweDdmLDB4ZmMsMHg3NCwweGI0LDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHg5MCwweDc2LDB4OGYsMHg3NCwweDJifSwKLSAgMTYsMHgxYTgwLDAsezB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMCwweDU0LDB4ZmQsMHhmMCwweDU0LDB4ZmIsMHhmMCwweGU0LDB4OTAsMHg3NiwweDgxLDB4ZjB9LAotICAxNiwweDFhOTAsMCx7MHg5MCwweDc2LDB4ODAsMHhmMCwweGVmLDB4YjQsMHgwMiwweDI1LDB4OTAsMHg3ZiwweGZjLDB4NzQsMHhiMCwweGYwLDB4OTAsMHg3Zn0sCi0gIDE2LDB4MWFhMCwwLHsweGZmLDB4NzQsMHhmYywweGYwLDB4OTAsMHg3NiwweDhmLDB4NzQsMHgyZiwweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg0NCwweDAyfSwKLSAgMTYsMHgxYWIwLDAsezB4ZjAsMHg1NCwweGZiLDB4ZjAsMHhlNCwweDkwLDB4NzYsMHg4MSwweGYwLDB4OTAsMHg3NiwweDgwLDB4ZjAsMHhlZiwweGI0LDB4MDN9LAotICAxNiwweDFhYzAsMCx7MHgyNSwweDkwLDB4N2YsMHhmYywweDc0LDB4NjgsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmMsMHhmMCwweDkwLDB4NzYsMHg4Zn0sCi0gIDE2LDB4MWFkMCwwLHsweDc0LDB4NWYsMHhmMCwweDkwLDB4NzYsMHg5NywweGUwLDB4NTQsMHhmZCwweGYwLDB4NDQsMHgwNCwweGYwLDB4ZTQsMHg5MCwweDc2fSwKLSAgMTYsMHgxYWUwLDAsezB4ODEsMHhmMCwweDkwLDB4NzYsMHg4MCwweGYwLDB4MzAsMHgzZiwweDA5LDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg1NCwweGZlLDB4ZjB9LAotICAxNiwweDFhZjAsMCx7MHg4MCwweDA3LDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMCwweDkwLDB4ODAsMHgwMn0sCi0gICA0LDB4MWIwMCwwLHsweGYwLDB4ZDIsMHgyZSwweDIyfSwKLSAgMTYsMHgxYjA0LDAsezB4MzAsMHgyYywweDM4LDB4YzIsMHgyYywweDkwLDB4NzYsMHgxOSwweGUwLDB4ZmYsMHhiNCwweDAxLDB4MGUsMHg5MCwweDc2LDB4N2N9LAotICAxNiwweDFiMTQsMCx7MHg3NCwweGMwLDB4ZjAsMHhhMywweDc0LDB4MTQsMHhmMCwweGEzLDB4NzQsMHgwYiwweGYwLDB4ZWYsMHhiNCwweDAyLDB4MGQsMHhlNH0sCi0gIDE2LDB4MWIyNCwwLHsweDkwLDB4NzYsMHg3YywweGYwLDB4YTMsMHg3NCwweDEwLDB4ZjAsMHhhMywweDc0LDB4MGMsMHhmMCwweGVmLDB4YjQsMHgwMywweDBifSwKLSAgMTIsMHgxYjM0LDAsezB4ZTQsMHg5MCwweDc2LDB4N2MsMHhmMCwweGEzLDB4NzQsMHgxOCwweGYwLDB4YTMsMHhmMCwweDIyfSwKLSAgMTYsMHgxYjQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFiNTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWI2MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxYjcwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFiODAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWI5MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxYmEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFiYjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWJjMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxYmQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFiZTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWJmMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxYzAwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFjMTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWMyMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxYzMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFjNDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWM1MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxYzYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFjNzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWM4MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxYzkwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFjYTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWNiMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxY2MwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFjZDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWNlMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxY2YwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFkMDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWQxMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZDIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFkMzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWQ0MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZDUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFkNjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWQ3MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZDgwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFkOTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWRhMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZGIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFkYzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWRkMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZGUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFkZjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWUwMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZTEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFlMjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWUzMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZTQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFlNTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWU2MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZTcwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFlODAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWU5MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZWEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNCwweDFlYjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZWJlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFlY2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWVkZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZWVlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFlZmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWYwZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZjFlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFmMmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gICAyLDB4MWYzZSwwLHsweDAwLDB4MDB9LAotICAxNiwweDFmNDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWY1MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZjYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFmNzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWY4MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZjkwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFmYTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWZiMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZmMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFmZDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWZlMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZmYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIwMDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjAxMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMDIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIwMzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjA0MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMDUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIwNjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjA3MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMDgwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIwOTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjBhMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMGIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIwYzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjBkMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMGUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIwZjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjEwMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMTEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIxMjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjEzMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMTQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIxNTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjE2MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMTcwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIxODAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjE5MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMWEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIxYjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjFjMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMWQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIxZTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjFmMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMjAwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIyMTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjIyMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMjMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIyNDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjI1MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMjYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIyNzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjI4MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMjkwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIyYTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjJiMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMmMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIyZDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjJlMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMmYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIzMDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjMxMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMzIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIzMzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjM0MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMzUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIzNjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE0LDB4MjM3MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIzN2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjM4ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMzllLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIzYWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjNiZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyM2NlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIzZGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjNlZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyM2ZlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI0MGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjQxZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNDJlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI0M2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjQ0ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNDVlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI0NmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjQ3ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNDhlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI0OWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjRhZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNGJlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI0Y2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjRkZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNGVlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI0ZmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjUwZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNTFlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI1MmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjUzZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNTRlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI1NWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjU2ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNTdlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI1OGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjU5ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNWFlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI1YmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjVjZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNWRlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI1ZWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjVmZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNjBlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI2MWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjYyZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNjNlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI2NGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjY1ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNjZlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI2N2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjY4ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNjllLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI2YWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjZiZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNmNlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI2ZGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE0LDB4MjZlZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI2ZmMsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjcwYywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNzFjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI3MmMsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjczYywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNzRjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI3NWMsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4Mjc2YywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNzdjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI3OGMsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4Mjc5YywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyN2FjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI3YmMsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjdjYywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyN2RjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI3ZWMsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gICA1LDB4MjdmYywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MjJ9LAotICAxNiwweDI4MDEsMCx7MHhjMiwweDIwLDB4YzIsMHgyMSwweGMyLDB4MmEsMHg5MCwweDdmLDB4ZTgsMHhlMCwweDEyLDB4MzcsMHhmOSwweDI4LDB4MzAsMHgwMH0sCi0gIDE2LDB4MjgxMSwwLHsweDI4LDB4OGMsMHgwMSwweDI4LDB4YTIsMHgwMiwweDJhLDB4MWYsMHgyMSwweDJhLDB4NmEsMHgyMiwweDI5LDB4M2QsMHg4MCwweDI5fSwKLSAgMTYsMHgyODIxLDAsezB4N2QsMHg4MSwweDI5LDB4ZDEsMHg4MiwweDJhLDB4ODQsMHhhMSwweDJhLDB4YmEsMHhhMiwweDAwLDB4MDAsMHgyYSwweGJmLDB4OTB9LAotICAxNiwweDI4MzEsMCx7MHg3ZiwweGU5LDB4ZTAsMHgxNCwweDYwLDB4MTEsMHgyNCwweGZlLDB4NjAsMHgyOCwweDI0LDB4ZmUsMHg2MCwweDNiLDB4MjQsMHhmY30sCi0gIDE2LDB4Mjg0MSwwLHsweDcwLDB4NDAsMHgxMiwweDNmLDB4ZTUsMHg0MSwweGNiLDB4MTIsMHg0ZSwweDFkLDB4NDAsMHgwMiwweDQxLDB4Y2IsMHg5MCwweDdmfSwKLSAgMTYsMHgyODUxLDAsezB4ZWEsMHhlMCwweGI0LDB4MDEsMHgwNCwweGMyLDB4MjIsMHg0MSwweGNiLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjB9LAotICAxNiwweDI4NjEsMCx7MHg0MSwweGNiLDB4MTIsMHg0ZSwweDFmLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhiNCwweDAxLDB4MDQsMHhkMiwweDIyLDB4NDEsMHhjYn0sCi0gIDE2LDB4Mjg3MSwwLHsweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4NDEsMHhjYiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwfSwKLSAgMTYsMHgyODgxLDAsezB4NDEsMHhjYiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4NDEsMHhjYiwweDkwLDB4N2YsMHhlOSwweGUwLDB4MjR9LAotICAxNiwweDI4OTEsMCx7MHhmNSwweDcwLDB4MDUsMHgxMiwweDQ4LDB4NjMsMHg0MSwweGNiLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg0MX0sCi0gIDE2LDB4MjhhMSwwLHsweGNiLDB4OTAsMHg3ZiwweGU5LDB4ZTAsMHgyNCwweGZkLDB4NjAsMHg1NCwweDI0LDB4MDIsMHg2MCwweDAyLDB4MjEsMHgzNCwweDEyfSwKLSAgMTYsMHgyOGIxLDAsezB4NGUsMHgxZCwweDQwLDB4MDIsMHg0MSwweGNiLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHg3MCwweDM4LDB4OTAsMHg3ZiwweGVjLDB4ZTB9LAotICAxNiwweDI4YzEsMCx7MHhmNCwweDU0LDB4ODAsMHhmZiwweGM0LDB4NTQsMHgwZiwweGZmLDB4ZTAsMHg1NCwweDA3LDB4MmYsMHgyNSwweGUwLDB4MjQsMHhiNH0sCi0gIDE2LDB4MjhkMSwwLHsweGY1LDB4ODIsMHhlNCwweDM0LDB4N2YsMHhmNSwweDgzLDB4ZTQsMHhmMCwweDkwLDB4N2YsMHhlYywweGUwLDB4NTQsMHg4MCwweGZmfSwKLSAgMTYsMHgyOGUxLDAsezB4MTMsMHgxMywweDEzLDB4NTQsMHgxZiwweGZmLDB4ZTAsMHg1NCwweDA3LDB4MmYsMHg5MCwweDdmLDB4ZDcsMHhmMCwweGUwLDB4NDR9LAotICAxNiwweDI4ZjEsMCx7MHgyMCwweGYwLDB4NDEsMHhjYiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4NDEsMHhjYiwweDEyLDB4NGUsMHgxZn0sCi0gIDE2LDB4MjkwMSwwLHsweDQwLDB4MDIsMHg0MSwweGNiLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHg3MCwweDIwLDB4OTAsMHg3ZiwweGVjLDB4ZTAsMHhmNCwweDU0fSwKLSAgMTYsMHgyOTExLDAsezB4ODAsMHhmZiwweGM0LDB4NTQsMHgwZiwweGZmLDB4ZTAsMHg1NCwweDA3LDB4MmYsMHgyNSwweGUwLDB4MjQsMHhiNCwweGY1LDB4ODJ9LAotICAxNiwweDI5MjEsMCx7MHhlNCwweDM0LDB4N2YsMHhmNSwweDgzLDB4NzQsMHgwMSwweGYwLDB4NDEsMHhjYiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMX0sCi0gIDE2LDB4MjkzMSwwLHsweGYwLDB4NDEsMHhjYiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4NDEsMHhjYiwweDkwLDB4N2YsMHhlOSwweGUwfSwKLSAgMTYsMHgyOTQxLDAsezB4NjAsMHgxMiwweDI0LDB4ZjgsMHg2MCwweDA5LDB4MjQsMHgwMiwweDcwLDB4MjksMHgxMiwweDQzLDB4ZTcsMHg0MSwweGNiLDB4MTJ9LAotICAxNiwweDI5NTEsMCx7MHg0ZCwweGNhLDB4NDEsMHhjYiwweDEyLDB4NGUsMHgxYiwweGEyLDB4MjIsMHhlNCwweDMzLDB4ZmYsMHgyNSwweGUwLDB4ZmYsMHhhMn0sCi0gIDE2LDB4Mjk2MSwwLHsweDIzLDB4ZTQsMHgzMywweDRmLDB4OTAsMHg3ZiwweDAwLDB4ZjAsMHhlNCwweGEzLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAyfSwKLSAgMTYsMHgyOTcxLDAsezB4ZjAsMHg0MSwweGNiLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg0MSwweGNiLDB4OTAsMHg3ZiwweGU5LDB4ZTB9LAotICAxNiwweDI5ODEsMCx7MHg2MCwweDMzLDB4MjQsMHhmNiwweDYwLDB4MmEsMHgyNCwweDA0LDB4NzAsMHgzZCwweDkwLDB4N2YsMHhlYiwweGUwLDB4MjQsMHhkZX0sCi0gIDE2LDB4Mjk5MSwwLHsweDYwLDB4MGMsMHgwNCwweDcwLDB4MTIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDQxLDB4Y2IsMHg5MCwweDdmfSwKLSAgMTYsMHgyOWExLDAsezB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDQxLDB4Y2IsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDQxLDB4Y2J9LAotICAxNiwweDI5YjEsMCx7MHgxMiwweDQ3LDB4NDUsMHg0MSwweGNiLDB4MTIsMHg0ZSwweDFiLDB4ZTQsMHg5MCwweDdmLDB4MDAsMHhmMCwweGEzLDB4ZjAsMHg5MH0sCi0gIDE2LDB4MjljMSwwLHsweDdmLDB4YjUsMHg3NCwweDAyLDB4ZjAsMHg0MSwweGNiLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg0MSwweGNifSwKLSAgMTYsMHgyOWQxLDAsezB4OTAsMHg3ZiwweGU5LDB4ZTAsMHgyNCwweGY0LDB4NjAsMHgzNCwweDI0LDB4MGMsMHg3MCwweDM5LDB4MTIsMHg0ZSwweDFiLDB4OTB9LAotICAxNiwweDI5ZTEsMCx7MHg3ZiwweGVjLDB4ZTAsMHhmNCwweDU0LDB4ODAsMHhmZiwweGM0LDB4NTQsMHgwZiwweGZmLDB4ZTAsMHg1NCwweDA3LDB4MmYsMHgyNX0sCi0gIDE2LDB4MjlmMSwwLHsweGUwLDB4MjQsMHhiNCwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2YsMHhmNSwweDgzLDB4ZTAsMHg1NCwweGZkLDB4OTAsMHg3ZiwweDAwfSwKLSAgMTYsMHgyYTAxLDAsezB4ZjAsMHhlNCwweGEzLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAyLDB4ZjAsMHg0MSwweGNiLDB4OTAsMHg3ZiwweGI0LDB4ZTB9LAotICAxNiwweDJhMTEsMCx7MHg0NCwweDAxLDB4ZjAsMHg0MSwweGNiLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg0MSwweGNiLDB4OTAsMHg3Zn0sCi0gIDE2LDB4MmEyMSwwLHsweGU5LDB4ZTAsMHgyNCwweGY2LDB4NjAsMHgxMiwweDE0LDB4NjAsMHgxYSwweDI0LDB4MDIsMHg3MCwweDFkLDB4ZDIsMHgyMCwweDkwfSwKLSAgMTYsMHgyYTMxLDAsezB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4ODAsMHgxMiwweGQyLDB4MjAsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDF9LAotICAxNiwweDJhNDEsMCx7MHhmMCwweDgwLDB4MDcsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIwLDB4MjAsMHgxOCwweDkwLDB4N2YsMHhlZX0sCi0gIDE2LDB4MmE1MSwwLHsweGUwLDB4NzAsMHgwNCwweGEzLDB4ZTAsMHg2MCwweDBiLDB4ZDIsMHgyOSwweGQyLDB4MjcsMHgxMiwweDE3LDB4NGEsMHhkMiwweDJhfSwKLSAgMTYsMHgyYTYxLDAsezB4ODAsMHgwMywweDEyLDB4MDgsMHgwMCwweGMyLDB4MjAsMHg4MCwweDYxLDB4OTAsMHg3ZiwweGVlLDB4ZTAsMHg3MCwweDA0LDB4YTN9LAotICAxNiwweDJhNzEsMCx7MHhlMCwweDYwLDB4MGIsMHhkMiwweDI5LDB4ZDIsMHgyOCwweDEyLDB4MTcsMHg0YSwweGQyLDB4MmEsMHg4MCwweDRjLDB4MTIsMHgzOH0sCi0gIDE2LDB4MmE4MSwwLHsweDc0LDB4ODAsMHg0NywweDkwLDB4N2YsMHhlOSwweGUwLDB4MjQsMHhmZSwweDYwLDB4MTIsMHgxNCwweDYwLDB4MWEsMHgyNCwweDAyfSwKLSAgMTYsMHgyYTkxLDAsezB4NzAsMHgxZCwweGQyLDB4MjEsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDgwLDB4MTIsMHhkMiwweDIxLDB4OTB9LAotICAxNiwweDJhYTEsMCx7MHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMH0sCi0gIDE2LDB4MmFiMSwwLHsweDIxLDB4MDMsMHgxMiwweDEwLDB4MDAsMHhjMiwweDIxLDB4ODAsMHgxMSwweDEyLDB4MmEsMHhkNiwweDgwLDB4MGMsMHgxMiwweDRlfSwKLSAgMTYsMHgyYWMxLDAsezB4MjEsMHg1MCwweDA3LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMCwweDJhLDB4MDcsMHg5MCwweDdmLDB4YjR9LAotICAgNSwweDJhZDEsMCx7MHhlMCwweDQ0LDB4MDIsMHhmMCwweDIyfSwKLSAgMTYsMHgyYWQ2LDAsezB4ZTQsMHg5MCwweDc2LDB4MjcsMHhmMCwweDkwLDB4NzYsMHgyNywweGUwLDB4ZmYsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDJ9LAotICAxNiwweDJhZTYsMCx7MHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg5MCwweDdmLDB4ZWMsMHhlMCwweGZkLDB4ZWUsMHg2ZH0sCi0gIDE2LDB4MmFmNiwwLHsweDYwLDB4MGUsMHhlZiwweGMzLDB4OTQsMHgwNiwweDUwLDB4MDgsMHg5MCwweDc2LDB4MjcsMHhlMCwweDA0LDB4ZjAsMHg4MCwweGQ1fSwKLSAgMTYsMHgyYjA2LDAsezB4ZWYsMHhiNCwweDA2LDB4MDgsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4ZWYsMHg3NSwweGYwLDB4MGZ9LAotICAxNiwweDJiMTYsMCx7MHhhNCwweDI0LDB4NDEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4OTAsMHg3NiwweDI4LDB4ZjAsMHgyNH0sCi0gIDE2LDB4MmIyNiwwLHsweDlmLDB4NzAsMHgwMiwweGExLDB4NzQsMHgyNCwweDIxLDB4NjAsMHgwMiwweGExLDB4YTEsMHg5MCwweDdmLDB4ZTksMHhlMCwweDI0fSwKLSAgMTYsMHgyYjM2LDAsezB4N2UsMHg3MCwweDAyLDB4NjEsMHhmYywweDE0LDB4NzAsMHgwMiwweDgxLDB4YjUsMHgyNCwweDAyLDB4NjAsMHgwMiwweGExLDB4NmN9LAotICAxNiwweDJiNDYsMCx7MHhlZiwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0MywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmY30sCi0gIDE2LDB4MmI1NiwwLHsweGEzLDB4ZTAsMHhmZCwweGEzLDB4ZTAsMHhmZSwweGEzLDB4ZTAsMHhmZiwweDdiLDB4NDQsMHg3YSwweGFjLDB4NzksMHgwMCwweDc4fSwKLSAgMTYsMHgyYjY2LDAsezB4MDAsMHhjMywweDEyLDB4MzcsMHhhYiwweDcwLDB4MTMsMHg5MCwweDdmLDB4MDAsMHg3NCwweDQ0LDB4ZjAsMHhhMywweDc0LDB4YWN9LAotICAxNiwweDJiNzYsMCx7MHhmMCwweGU0LDB4YTMsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDMsMHhmMCwweDkwLDB4NzYsMHgyNywweGUwLDB4NzUsMHhmMH0sCi0gIDE2LDB4MmI4NiwwLHsweDBmLDB4YTQsMHgyNCwweDQzLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZjLDB4YTMsMHhlMCwweGZkfSwKLSAgMTYsMHgyYjk2LDAsezB4YTMsMHhlMCwweGZlLDB4YTMsMHhlMCwweGZmLDB4N2IsMHg4MCwweDdhLDB4YmIsMHg3OSwweDAwLDB4NzgsMHgwMCwweGMzLDB4MTJ9LAotICAxNiwweDJiYTYsMCx7MHgzNywweGFiLDB4NzAsMHgxMywweDkwLDB4N2YsMHgwMCwweDc0LDB4ODAsMHhmMCwweGEzLDB4NzQsMHhiYiwweGYwLDB4ZTQsMHhhM30sCi0gIDE2LDB4MmJiNiwwLHsweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMywweGYwLDB4OTAsMHg3NiwweDI3LDB4ZTAsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0fSwKLSAgMTYsMHgyYmM2LDAsezB4NDMsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmMsMHhhMywweGUwLDB4ZmQsMHhhMywweGUwLDB4ZmV9LAotICAxNiwweDJiZDYsMCx7MHhhMywweGUwLDB4ZmYsMHg3YiwweDAwLDB4N2EsMHg3NywweDc5LDB4MDEsMHg3OCwweDAwLDB4YzMsMHgxMiwweDM3LDB4YWIsMHg2MH0sCi0gIDE2LDB4MmJlNiwwLHsweDAyLDB4YTEsMHhhOCwweDkwLDB4N2YsMHgwMCwweGYwLDB4YTMsMHg3NCwweDc3LDB4ZjAsMHhhMywweDc0LDB4MDEsMHhmMCwweDkwfSwKLSAgMTYsMHgyYmY2LDAsezB4N2YsMHhiNSwweDc0LDB4MDMsMHhmMCwweDIyLDB4OTAsMHg3NiwweDI3LDB4ZTAsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDd9LAotICAxNiwweDJjMDYsMCx7MHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmMsMHhhMywweGUwLDB4ZmQsMHhhMywweGUwLDB4ZmUsMHhhM30sCi0gIDE2LDB4MmMxNiwwLHsweGUwLDB4ZmYsMHg3YiwweDQ0LDB4N2EsMHhhYywweDc5LDB4MDAsMHg3OCwweDAwLDB4YzMsMHgxMiwweDM3LDB4YWIsMHg3MCwweDEzfSwKLSAgMTYsMHgyYzI2LDAsezB4OTAsMHg3ZiwweDAwLDB4NzQsMHg0NCwweGYwLDB4YTMsMHg3NCwweGFjLDB4ZjAsMHhlNCwweGEzLDB4ZjAsMHg5MCwweDdmLDB4YjV9LAotICAxNiwweDJjMzYsMCx7MHg3NCwweDAzLDB4ZjAsMHg5MCwweDc2LDB4MjcsMHhlMCwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0NywweGY1LDB4ODIsMHhlNH0sCi0gIDE2LDB4MmM0NiwwLHsweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmYywweGEzLDB4ZTAsMHhmZCwweGEzLDB4ZTAsMHhmZSwweGEzLDB4ZTAsMHhmZiwweDdifSwKLSAgMTYsMHgyYzU2LDAsezB4ODAsMHg3YSwweGJiLDB4NzksMHgwMCwweDc4LDB4MDAsMHhjMywweDEyLDB4MzcsMHhhYiwweDcwLDB4MTMsMHg5MCwweDdmLDB4MDB9LAotICAxNiwweDJjNjYsMCx7MHg3NCwweDgwLDB4ZjAsMHhhMywweDc0LDB4YmIsMHhmMCwweGU0LDB4YTMsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDMsMHhmMH0sCi0gIDE2LDB4MmM3NiwwLHsweDkwLDB4NzYsMHgyNywweGUwLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQ3LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1fSwKLSAgMTYsMHgyYzg2LDAsezB4ODMsMHhlMCwweGZjLDB4YTMsMHhlMCwweGZkLDB4YTMsMHhlMCwweGZlLDB4YTMsMHhlMCwweGZmLDB4N2IsMHgwMCwweDdhLDB4Nzd9LAotICAxNiwweDJjOTYsMCx7MHg3OSwweDAxLDB4NzgsMHgwMCwweGMzLDB4MTIsMHgzNywweGFiLDB4NjAsMHgwMiwweGExLDB4YTgsMHg5MCwweDdmLDB4MDAsMHhmMH0sCi0gIDE2LDB4MmNhNiwwLHsweGEzLDB4NzQsMHg3NywweGYwLDB4YTMsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAzLDB4ZjAsMHgyMiwweDkwfSwKLSAgMTYsMHgyY2I2LDAsezB4NzYsMHgyNywweGUwLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDRiLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODN9LAotICAxNiwweDJjYzYsMCx7MHhlMCwweGZjLDB4YTMsMHhlMCwweGZkLDB4YTMsMHhlMCwweGZlLDB4YTMsMHhlMCwweGZmLDB4N2IsMHg0NCwweDdhLDB4YWMsMHg3OX0sCi0gIDE2LDB4MmNkNiwwLHsweDAwLDB4NzgsMHgwMCwweGMzLDB4MTIsMHgzNywweGFiLDB4NzAsMHgxMywweDkwLDB4N2YsMHgwMCwweDc0LDB4NDQsMHhmMCwweGEzfSwKLSAgMTYsMHgyY2U2LDAsezB4NzQsMHhhYywweGYwLDB4ZTQsMHhhMywweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMywweGYwLDB4OTAsMHg3NiwweDI3LDB4ZTB9LAotICAxNiwweDJjZjYsMCx7MHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NGIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmMsMHhhM30sCi0gIDE2LDB4MmQwNiwwLHsweGUwLDB4ZmQsMHhhMywweGUwLDB4ZmUsMHhhMywweGUwLDB4ZmYsMHg3YiwweDgwLDB4N2EsMHhiYiwweDc5LDB4MDAsMHg3OCwweDAwfSwKLSAgMTYsMHgyZDE2LDAsezB4YzMsMHgxMiwweDM3LDB4YWIsMHg3MCwweDEzLDB4OTAsMHg3ZiwweDAwLDB4NzQsMHg4MCwweGYwLDB4YTMsMHg3NCwweGJiLDB4ZjB9LAotICAxNiwweDJkMjYsMCx7MHhlNCwweGEzLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAzLDB4ZjAsMHg5MCwweDc2LDB4MjcsMHhlMCwweDc1LDB4ZjAsMHgwZn0sCi0gIDE2LDB4MmQzNiwwLHsweGE0LDB4MjQsMHg0YiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmYywweGEzLDB4ZTAsMHhmZCwweGEzfSwKLSAgMTYsMHgyZDQ2LDAsezB4ZTAsMHhmZSwweGEzLDB4ZTAsMHhmZiwweDdiLDB4MDAsMHg3YSwweDc3LDB4NzksMHgwMSwweDc4LDB4MDAsMHhjMywweDEyLDB4Mzd9LAotICAxNiwweDJkNTYsMCx7MHhhYiwweDcwLDB4NGYsMHg5MCwweDdmLDB4MDAsMHhmMCwweGEzLDB4NzQsMHg3NywweGYwLDB4YTMsMHg3NCwweDAxLDB4ZjAsMHg5MH0sCi0gIDE2LDB4MmQ2NiwwLHsweDdmLDB4YjUsMHg3NCwweDAzLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmfSwKLSAgMTYsMHgyZDc2LDAsezB4ZTksMHhlMCwweDI0LDB4N2YsMHg3MCwweDFlLDB4OTAsMHg3NiwweDI3LDB4ZTAsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NGZ9LAotICAxNiwweDJkODYsMCx7MHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4OTAsMHg3ZiwweDAwLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NH0sCi0gIDE2LDB4MmQ5NiwwLHsweDAxLDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0fSwKLSAgIDMsMHgyZGE2LDAsezB4MDEsMHhmMCwweDIyfSwKLSAgMTYsMHgyZGE5LDAsezB4ZTQsMHg5MCwweDc2LDB4MzYsMHhmMCwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MGUsMHhmNSwweDgyLDB4ZTR9LAotICAxNiwweDJkYjksMCx7MHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MDEsMHhmMCwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDBmLDB4ZjUsMHg4Mn0sCi0gIDE2LDB4MmRjOSwwLHsweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDAxLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgxMCwweGY1fSwKLSAgMTYsMHgyZGQ5LDAsezB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTQsMHhmMCwweDkwLDB4NzYsMHgzNiwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZmZ9LAotICAxNiwweDJkZTksMCx7MHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MGUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MTAsMHhmMH0sCi0gIDE2LDB4MmRmOSwwLHsweGVmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDBmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDA1fSwKLSAgMTYsMHgyZTA5LDAsezB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgxMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTR9LAotICAxNiwweDJlMTksMCx7MHhmMCwweDkwLDB4NzYsMHgzNiwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MGUsMHhmNX0sCi0gIDE2LDB4MmUyOSwwLHsweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MDIsMHhmMCwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDBmfSwKLSAgMTYsMHgyZTM5LDAsezB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDAyLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjR9LAotICAxNiwweDJlNDksMCx7MHgxMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTQsMHhmMCwweDkwLDB4NzYsMHgzNiwweGUwLDB4MDQsMHhmMH0sCi0gIDE2LDB4MmU1OSwwLHsweGUwLDB4ZmYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MGUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0fSwKLSAgMTYsMHgyZTY5LDAsezB4MDEsMHhmMCwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDBmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODN9LAotICAxNiwweDJlNzksMCx7MHg3NCwweDAzLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgxMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNX0sCi0gIDE2LDB4MmU4OSwwLHsweDgzLDB4ZTQsMHhmMCwweDkwLDB4NzYsMHgzNiwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0fSwKLSAgMTYsMHgyZTk5LDAsezB4MGUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MTAsMHhmMCwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTR9LAotICAxNiwweDJlYTksMCx7MHgyNCwweDBmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDA2LDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwM30sCi0gIDE2LDB4MmViOSwwLHsweGE0LDB4MjQsMHgxMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTQsMHhmMCwweDkwLDB4NzYsMHgzNiwweGUwfSwKLSAgMTYsMHgyZWM5LDAsezB4MDQsMHhmMCwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MGUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjV9LAotICAxNiwweDJlZDksMCx7MHg4MywweDc0LDB4MDIsMHhmMCwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDBmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NX0sCi0gIDE2LDB4MmVlOSwwLHsweGY1LDB4ODMsMHg3NCwweDA0LDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgxMCwweGY1LDB4ODIsMHhlNCwweDM0fSwKLSAgMTYsMHgyZWY5LDAsezB4NzUsMHhmNSwweDgzLDB4ZTQsMHhmMCwweDkwLDB4NzYsMHgzNiwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MDN9LAotICAxNiwweDJmMDksMCx7MHhhNCwweDI0LDB4MGUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MDIsMHhmMCwweGVmLDB4NzUsMHhmMH0sCi0gIDE2LDB4MmYxOSwwLHsweDAzLDB4YTQsMHgyNCwweDBmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDA4LDB4ZjAsMHhlZiwweDc1fSwKLSAgMTYsMHgyZjI5LDAsezB4ZjAsMHgwMywweGE0LDB4MjQsMHgxMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwNCwweGYwLDB4OTB9LAotICAxNiwweDJmMzksMCx7MHg3NiwweDM2LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgwZSwweGY1LDB4ODIsMHhlNH0sCi0gIDE2LDB4MmY0OSwwLHsweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwMiwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MGYsMHhmNSwweDgyfSwKLSAgMTYsMHgyZjU5LDAsezB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MGEsMHhmMCwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDEwLDB4ZjV9LAotICAxNiwweDJmNjksMCx7MHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDA0LDB4ZjAsMHg5MCwweDc2LDB4MzYsMHhlMCwweDA0LDB4ZjAsMHhlMH0sCi0gIDE2LDB4MmY3OSwwLHsweGZmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDBlLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDAyfSwKLSAgMTYsMHgyZjg5LDAsezB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgwZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzR9LAotICAxNiwweDJmOTksMCx7MHgwOSwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MTAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4M30sCi0gIDE2LDB4MmZhOSwwLHsweDc0LDB4MDQsMHhmMCwweDkwLDB4NzYsMHgzNiwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0fSwKLSAgMTYsMHgyZmI5LDAsezB4MGUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MDIsMHhmMCwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTR9LAotICAxNiwweDJmYzksMCx7MHgyNCwweDBmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDA3LDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwM30sCi0gIDE0LDB4MmZkOSwwLHsweGE0LDB4MjQsMHgxMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwNCwweGYwLDB4MjJ9LAotICAxNiwweDJmZTcsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHhkMiwweDI2LDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFiLDB4NzQsMHgwMX0sCi0gICA4LDB4MmZmNywwLHsweGYwLDB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9LAotICAgMSwweDJmZmYsMCx7MHgzMn0sCi0gIDE2LDB4MzAwMCwwLHsweDkwLDB4N2YsMHhiNiwweGUwLDB4MjAsMHhlMSwweDAyLDB4YzIsMHgzZCwweGQyLDB4MzYsMHgyMCwweDM2LDB4MDIsMHg0MSwweDZlfSwKLSAgMTYsMHgzMDEwLDAsezB4MzAsMHgzZCwweDAyLDB4NDEsMHg2ZSwweDkwLDB4ODAsMHgwNywweGUwLDB4NjAsMHgwNCwweGQyLDB4MzYsMHg4MCwweDAyLDB4YzJ9LAotICAxNiwweDMwMjAsMCx7MHgzNiwweDIwLDB4MzYsMHgwMiwweDQxLDB4MmUsMHhkMiwweDM1LDB4ZTQsMHhmNSwweDFhLDB4OTAsMHg4MCwweDA0LDB4ZTAsMHhmNX0sCi0gIDE2LDB4MzAzMCwwLHsweDE5LDB4NzQsMHgwOCwweDI1LDB4MGUsMHhmOCwweGE2LDB4MTksMHg4NSwweDE5LDB4MTgsMHhlNSwweDE4LDB4MjAsMHhlNywweDA0fSwKLSAgMTYsMHgzMDQwLDAsezB4ZDIsMHgzOCwweDgwLDB4MDIsMHhjMiwweDM4LDB4MzAsMHgzOCwweDAyLDB4MjEsMHhkNCwweGU0LDB4ZjUsMHgxNiwweGU1LDB4MTl9LAotICAxNiwweDMwNTAsMCx7MHhiNCwweGYwLDB4MGMsMHhkMiwweDM5LDB4NzUsMHgwOCwweDA0LDB4NzUsMHgwOSwweGYwLDB4MDUsMHgwZSwweDgwLDB4MDIsMHgwNX0sCi0gIDE2LDB4MzA2MCwwLHsweDE2LDB4ZTUsMHgxOSwweDY0LDB4ZjcsMHg3MCwweDNkLDB4YzIsMHgzOSwweGU1LDB4MGUsMHgyNCwweGZlLDB4NjAsMHgxNywweDE0fSwKLSAgMTYsMHgzMDcwLDAsezB4NjAsMHgyMiwweDI0LDB4MDMsMHg3MCwweDI5LDB4NzUsMHgwOCwweDA1LDB4NzUsMHgwOSwweGY3LDB4ZTQsMHhmNSwweDBhLDB4ZjV9LAotICAxNiwweDMwODAsMCx7MHgwYiwweDc1LDB4MGUsMHgwNCwweDgwLDB4MjAsMHg3NSwweDA4LDB4MDYsMHg3NSwweDBhLDB4ZjcsMHhlNCwweGY1LDB4MGIsMHg3NX0sCi0gIDE2LDB4MzA5MCwwLHsweDBlLDB4MDQsMHg4MCwweDEyLDB4NzUsMHgwOCwweDA3LDB4NzUsMHgwYiwweGY3LDB4NzUsMHgwZSwweDA0LDB4ODAsMHgwNywweDEyfSwKLSAgMTYsMHgzMGEwLDAsezB4NGQsMHhkYSwweDgwLDB4MDIsMHgwNSwweDE2LDB4ZTUsMHgxOSwweDU0LDB4ZjgsMHg2NCwweGY4LDB4NzAsMHgzYiwweGMyLDB4MzV9LAotICAxNiwweDMwYjAsMCx7MHhlNSwweDE5LDB4MjQsMHgwNywweDYwLDB4MGMsMHgyNCwweGZjLDB4NjAsMHgwOCwweDI0LDB4MDUsMHgyNCwweGY4LDB4NTAsMHgwNn0sCi0gIDE2LDB4MzBjMCwwLHsweDgwLDB4MDgsMHhkMiwweDNhLDB4ODAsMHgwNiwweGMyLDB4M2EsMHg4MCwweDAyLDB4ZDIsMHgzYSwweDc1LDB4MWEsMHgwMSwweDIwfSwKLSAgMTYsMHgzMGQwLDAsezB4M2EsMHgxOSwweDkwLDB4N2UsMHg4MCwweDc0LDB4MGYsMHhmMCwweGEzLDB4ZTUsMHgxOSwweGYwLDB4ZTQsMHhhMywweGYwLDB4YTN9LAotICAxNiwweDMwZTAsMCx7MHhmMCwweDkwLDB4N2YsMHhiNywweDc0LDB4MDQsMHhmMCwweDgwLDB4MDIsMHgwNSwweDE2LDB4MjAsMHgzOSwweDZkLDB4ZTUsMHgxOX0sCi0gIDE2LDB4MzBmMCwwLHsweDY0LDB4ZjcsMHg2MCwweDY3LDB4ZTUsMHgxYSwweDcwLDB4NjMsMHhlNSwweDE4LDB4NTQsMHhmMCwweDY0LDB4ZjAsMHg3MCwweDU5fSwKLSAgMTYsMHgzMTAwLDAsezB4ODUsMHgxOCwweDE5LDB4ZjUsMHgwZSwweGU1LDB4MTksMHgyNCwweDBmLDB4NjAsMHgxYiwweDI0LDB4ZmUsMHg2MCwweDE3LDB4MjR9LAotICAxNiwweDMxMTAsMCx7MHhmZCwweDYwLDB4MjIsMHgxNCwweDYwLDB4MWYsMHgyNCwweDA1LDB4NzAsMHgyZiwweDc1LDB4MDgsMHgwMywweDA1LDB4MGUsMHg4NX0sCi0gIDE2LDB4MzEyMCwwLHsweDE4LDB4MDksMHhkMiwweDM3LDB4ODAsMHgyOCwweDc1LDB4MDgsMHgwMiwweDA1LDB4MGUsMHg4NSwweDE4LDB4MDksMHg3NSwweDE0fSwKLSAgMTYsMHgzMTMwLDAsezB4MDEsMHhkMiwweDM3LDB4ODAsMHgxOSwweDc1LDB4MDgsMHgwNSwweDA1LDB4MGUsMHg4NSwweDE4LDB4MDksMHhlNCwweGY1LDB4MGF9LAotICAxNiwweDMxNDAsMCx7MHhmNSwweDBiLDB4NzUsMHgwZSwweDAzLDB4ZDIsMHgzNywweDgwLDB4MDUsMHgxMiwweDRkLDB4ZGEsMHhjMiwweDM1LDB4MzAsMHgzNX0sCi0gIDE2LDB4MzE1MCwwLHsweDBhLDB4ODUsMHgwOCwweDEzLDB4ODUsMHgxOCwweDEyLDB4ODAsMHgwMiwweDA1LDB4MTYsMHg4NSwweDE4LDB4MTksMHhlNSwweDE2fSwKLSAgMTYsMHgzMTYwLDAsezB4NjQsMHgwNCwweDcwLDB4NjIsMHhmNSwweDBlLDB4ZTUsMHgxOSwweDU0LDB4ZjAsMHhmNSwweDE5LDB4ZjUsMHgxNSwweDg1LDB4MTh9LAotICAxNiwweDMxNzAsMCx7MHgxOSwweGU1LDB4MTUsMHgyNCwweDcwLDB4NjAsMHgxOCwweDI0LDB4ZjAsMHg2MCwweDE0LDB4MjQsMHhmMCwweDYwLDB4MTAsMHgyNH0sCi0gIDE2LDB4MzE4MCwwLHsweGYwLDB4NjAsMHgxZSwweDI0LDB4ZjAsMHg2MCwweDFhLDB4MjQsMHhmMCwweDYwLDB4MDQsMHgyNCwweDYwLDB4NzAsMHgyNywweGU1fSwKLSAgMTYsMHgzMTkwLDAsezB4MTUsMHhjNCwweDU0LDB4MGYsMHhmNSwweDE5LDB4ZjUsMHgwOCwweDA1LDB4MGUsMHg4NSwweDE4LDB4MDksMHhkMiwweDM3LDB4ODB9LAotICAxNiwweDMxYTAsMCx7MHgxYSwweGU1LDB4MTUsMHhjNCwweDU0LDB4MGYsMHhmNSwweDE5LDB4ZjUsMHgwOCwweDA1LDB4MGUsMHg4NSwweDE4LDB4MDksMHg3NX0sCi0gIDE2LDB4MzFiMCwwLHsweDE0LDB4MDEsMHhkMiwweDM3LDB4ODAsMHgwNSwweDEyLDB4NGQsMHhkYSwweGMyLDB4MzUsMHgzMCwweDM1LDB4MGEsMHg4NSwweDE5fSwKLSAgMTYsMHgzMWMwLDAsezB4MTMsMHg4NSwweDE4LDB4MTIsMHg4MCwweDAyLDB4MDUsMHgxNiwweGU1LDB4MTYsMHhkMywweDk0LDB4MDUsMHg0MCwweDU3LDB4MTJ9LAotICAxNiwweDMxZDAsMCx7MHg0ZCwweGRhLDB4ODAsMHg1MiwweDMwLDB4MzksMHgxNywweGU1LDB4MGUsMHg3MCwweDBhLDB4ODUsMHgwOCwweDA5LDB4NzUsMHgwOH0sCi0gIDE2LDB4MzFlMCwwLHsweDA0LDB4MDUsMHgwZSwweDgwLDB4NDEsMHg3NCwweDA4LDB4MjUsMHgwZSwweGY4LDB4YTYsMHgxOSwweDgwLDB4MzgsMHgyMCwweDM3fSwKLSAgMTYsMHgzMWYwLDAsezB4MmEsMHhlNSwweDBlLDB4YjQsMHgwMSwweDBmLDB4ODUsMHgwOCwweDBhLDB4ODUsMHgwOSwweDBiLDB4ODUsMHgxMywweDA4LDB4ODV9LAotICAxNiwweDMyMDAsMCx7MHgxMiwweDA5LDB4NzUsMHgwZSwweDA0LDB4ZTUsMHgxNCwweGI0LDB4MDEsMHgxYywweDg1LDB4MDgsMHgwYSwweGU0LDB4ZjUsMHgwYn0sCi0gIDE2LDB4MzIxMCwwLHsweDg1LDB4MTMsMHgwOCwweDg1LDB4MTIsMHgwOSwweDc1LDB4MGUsMHgwNCwweDgwLDB4MGIsMHhlNSwweDE0LDB4YjQsMHgwMSwweDA2fSwKLSAgMTYsMHgzMjIwLDAsezB4ZTQsMHhmNSwweDBiLDB4NzUsMHgwZSwweDA0LDB4ZTQsMHhmNSwweDFhLDB4MzAsMHgzNSwweDAyLDB4MDUsMHgwZSwweGU1LDB4MGV9LAotICAxNiwweDMyMzAsMCx7MHhkMywweDk0LDB4MDMsMHg1MCwweDAyLDB4MDEsMHgwYiwweGMyLDB4MzcsMHhlNCwweGY1LDB4MGUsMHhmNSwweDEwLDB4YzIsMHgzNn0sCi0gIDE2LDB4MzI0MCwwLHsweGQyLDB4M2QsMHhmNSwweDE0LDB4NzQsMHgwOCwweDI1LDB4MTAsMHhmOCwweGU2LDB4ZmYsMHg3NCwweDgwLDB4MjUsMHgxMCwweGY1fSwKLSAgMTYsMHgzMjUwLDAsezB4ODIsMHhlNCwweDM0LDB4N2UsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDc0LDB4MDgsMHgyNSwweDEwLDB4ZjgsMHhlNCwweGY2LDB4MDV9LAotICAxNSwweDMyNjAsMCx7MHgxMCwweGU1LDB4MTAsMHhiNCwweDA0LDB4ZGUsMHg5MCwweDdmLDB4YjcsMHg3NCwweDA0LDB4ZjAsMHgwMSwweDBiLDB4MjJ9LAotICAxNiwweDMyNmYsMCx7MHg5MCwweDc2LDB4MTgsMHhlMCwweGZmLDB4NjQsMHgwNSwweDcwLDB4NDIsMHg5MCwweDc1LDB4YWIsMHhlMCwweGI0LDB4MDEsMHgxOX0sCi0gIDE2LDB4MzI3ZiwwLHsweDkwLDB4NzIsMHgzNywweDc0LDB4MDEsMHhmMCwweGU0LDB4OTAsMHg4MCwweDIwLDB4ZjAsMHg5MCwweDgwLDB4MzEsMHhmMCwweDkwfSwKLSAgMTYsMHgzMjhmLDAsezB4ODAsMHgyOCwweGYwLDB4OTAsMHg4MCwweDM5LDB4ZjAsMHg4MCwweDIyLDB4ZTQsMHg5MCwweDcyLDB4MzcsMHhmMCwweDkwLDB4NzV9LAotICAxNiwweDMyOWYsMCx7MHhhZCwweGUwLDB4OTAsMHg3MiwweDJiLDB4ZjAsMHhlMCwweDI0LDB4ODAsMHhmMCwweGUwLDB4OTAsMHg4MCwweDIwLDB4ZjAsMHg5MH0sCi0gIDE2LDB4MzJhZiwwLHsweDgwLDB4MzEsMHhmMCwweDkwLDB4ODAsMHgyOCwweGYwLDB4OTAsMHg4MCwweDM5LDB4ZjAsMHhlZiwweDY0LDB4MDYsMHg2MCwweDAyfSwKLSAgMTYsMHgzMmJmLDAsezB4ODEsMHg5OSwweDkwLDB4NzIsMHgzOSwweDc0LDB4MDQsMHhmMCwweDkwLDB4NzIsMHgzOSwweGUwLDB4ZmYsMHgyNCwweGZlLDB4OTB9LAotICAxNiwweDMyY2YsMCx7MHg3MiwweDA0LDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhYiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNX0sCi0gIDE2LDB4MzJkZiwwLHsweDgzLDB4ZTAsMHg2NCwweDAxLDB4NzAsMHg1NCwweDkwLDB4NzIsMHgzNiwweDA0LDB4ZjAsMHg5MCwweDcyLDB4MDQsMHhlMCwweGZmfSwKLSAgMTYsMHgzMmVmLDAsezB4MjQsMHhmZCwweDYwLDB4MjgsMHgyNCwweGZlLDB4NjAsMHgyNCwweDI0LDB4MDMsMHgyNCwweGZiLDB4NTAsMHgwNCwweDYwLDB4MWN9LAotICAxNiwweDMyZmYsMCx7MHg4MSwweDhjLDB4NzQsMHgyMCwweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg4MCwweGY1LDB4ODMsMHhlNCwweGYwLDB4NzQsMHgyOH0sCi0gIDE2LDB4MzMwZiwwLHsweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg4MCwweGY1LDB4ODMsMHhlNCwweGYwLDB4ODEsMHg4YywweDkwLDB4NzIsMHgwNCwweGUwfSwKLSAgMTYsMHgzMzFmLDAsezB4ZmYsMHgyNCwweDMwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg4MCwweGY1LDB4ODMsMHhlNCwweGYwLDB4NzQsMHgzOCwweDJmLDB4ZjV9LAotICAxNiwweDMzMmYsMCx7MHg4MiwweGU0LDB4MzQsMHg4MCwweGY1LDB4ODMsMHhlNCwweGYwLDB4ODEsMHg4YywweGU0LDB4OTAsMHg3MiwweDM2LDB4ZjAsMHg5MH0sCi0gIDE2LDB4MzMzZiwwLHsweDcyLDB4MzksMHhlMCwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhZCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzfSwKLSAgMTYsMHgzMzRmLDAsezB4ZTAsMHhmZiwweDdlLDB4MDAsMHg5MCwweDc1LDB4MGMsMHhlZSwweGYwLDB4YTMsMHhlZiwweGYwLDB4NzAsMHgwNiwweDkwLDB4NzJ9LAotICAxNiwweDMzNWYsMCx7MHgwMiwweDc0LDB4M2IsMHhmMCwweDkwLDB4NzUsMHgwYywweGUwLDB4ZmUsMHhhMywweGUwLDB4ZmYsMHg2NCwweDgwLDB4NGUsMHg3MH0sCi0gIDE2LDB4MzM2ZiwwLHsweDA0LDB4OTAsMHg3MiwweDAyLDB4ZjAsMHhlZiwweDRlLDB4NzAsMHgwMiwweDgxLDB4MzUsMHhlZiwweDY0LDB4ODAsMHg0ZSwweDcwfSwKLSAgMTYsMHgzMzdmLDAsezB4MDIsMHg4MSwweDM1LDB4ZWYsMHhmOCwweGU0LDB4OTAsMHg3NSwweDBkLDB4ZjAsMHhlOCwweDkwLDB4NzUsMHgwYywweGYwLDB4OTB9LAotICAxNiwweDMzOGYsMCx7MHg3MiwweDM0LDB4ZTAsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWMsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4M30sCi0gIDE2LDB4MzM5ZiwwLHsweGUwLDB4ZmYsMHg5MCwweDcyLDB4MDIsMHhmMCwweDkwLDB4NzUsMHgwZCwweGUwLDB4MmYsMHhmMCwweDkwLDB4NzUsMHgwYywweGUwfSwKLSAgMTYsMHgzM2FmLDAsezB4MzQsMHgwMCwweGYwLDB4ZTAsMHhmZSwweGEzLDB4ZTAsMHhmZiwweGU0LDB4ZmMsMHhmZCwweDdiLDB4ZDYsMHg3YSwweGE1LDB4Zjl9LAotICAxNiwweDMzYmYsMCx7MHhmOCwweGQzLDB4MTIsMHgzNywweDk1LDB4NDAsMHgwYSwweDkwLDB4NzUsMHgwYywweDc0LDB4YTUsMHhmMCwweGEzLDB4NzQsMHhkNn0sCi0gIDE2LDB4MzNjZiwwLHsweGYwLDB4OTAsMHg3NSwweDBkLDB4ZTAsMHgyNCwweDJhLDB4ZjAsMHg5MCwweDc1LDB4MGMsMHhlMCwweDM0LDB4NWEsMHhmMCwweGUwfSwKLSAgMTYsMHgzM2RmLDAsezB4ZmUsMHhhMywweGUwLDB4NzgsMHgwNSwweGNlLDB4YTIsMHhlNywweDEzLDB4Y2UsMHgxMywweGQ4LDB4ZjgsMHhmZiwweDkwLDB4NzV9LAotICAxNiwweDMzZWYsMCx7MHgwYywweGVlLDB4ZjAsMHhhMywweGVmLDB4ZjAsMHg5MCwweDcyLDB4MmMsMHhlZSwweGYwLDB4YTMsMHhlZiwweGYwLDB4ZDMsMHg5NH0sCi0gIDE2LDB4MzNmZiwwLHsweGQyLDB4ZWUsMHg2NCwweDgwLDB4OTQsMHg4MiwweDQwLDB4MGEsMHg5MCwweDcyLDB4MmMsMHg3NCwweDAyLDB4ZjAsMHhhMywweDc0fSwKLSAgMTYsMHgzNDBmLDAsezB4ZDIsMHhmMCwweGMzLDB4OTAsMHg3MiwweDJjLDB4ZTAsMHg2NCwweDgwLDB4OTQsMHg4MCwweDUwLDB4MDQsMHhlNCwweGYwLDB4YTN9LAotICAxNiwweDM0MWYsMCx7MHhmMCwweDkwLDB4NzIsMHgyYywweGUwLDB4ZmUsMHhhMywweGUwLDB4MjQsMHgzYSwweGY1LDB4ODIsMHhlZSwweDM0LDB4NzIsMHhmNX0sCi0gIDE2LDB4MzQyZiwwLHsweDgzLDB4ZTAsMHg5MCwweDcyLDB4MDIsMHhmMCwweDkwLDB4NzIsMHgwNCwweGUwLDB4ZmYsMHgyNCwweGZkLDB4NjAsMHgyZCwweDI0fSwKLSAgMTYsMHgzNDNmLDAsezB4ZmUsMHg2MCwweDI5LDB4MjQsMHgwMywweDI0LDB4ZmIsMHg1MCwweDA0LDB4NjAsMHgyMSwweDgwLDB4NDAsMHg5MCwweDcyLDB4MDJ9LAotICAxNiwweDM0NGYsMCx7MHhlMCwweGZlLDB4NzQsMHgyMCwweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg4MCwweGY1LDB4ODMsMHhlZSwweGYwLDB4NzQsMHgyOH0sCi0gIDE2LDB4MzQ1ZiwwLHsweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg4MCwweGY1LDB4ODMsMHhlZSwweGYwLDB4ODAsMHgyMSwweDkwLDB4NzIsMHgwMiwweGUwfSwKLSAgMTYsMHgzNDZmLDAsezB4ZmYsMHg5MCwweDcyLDB4MDQsMHhlMCwweGZlLDB4MjQsMHgzMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ODAsMHhmNSwweDgzLDB4ZWZ9LAotICAxNiwweDM0N2YsMCx7MHhmMCwweDc0LDB4MzgsMHgyZSwweGY1LDB4ODIsMHhlNCwweDM0LDB4ODAsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDkwLDB4NzIsMHgzOX0sCi0gIDExLDB4MzQ4ZiwwLHsweGUwLDB4MDQsMHhmMCwweGUwLDB4NjQsMHgwYSwweDYwLDB4MDIsMHg0MSwweGM3LDB4MjJ9LAotICAxNiwweDM0OWEsMCx7MHg5MCwweDc2LDB4MTgsMHhlMCwweGZmLDB4YjQsMHgwNSwweDIzLDB4OTAsMHg3MiwweDM3LDB4ZTAsMHg3MCwweDFkLDB4OTAsMHg3NX0sCi0gIDE2LDB4MzRhYSwwLHsweGFkLDB4ZTAsMHg5MCwweDcyLDB4MmIsMHhmMCwweGUwLDB4MjQsMHg4MCwweGYwLDB4ZTAsMHg5MCwweDgwLDB4MjAsMHhmMCwweDkwfSwKLSAgMTYsMHgzNGJhLDAsezB4ODAsMHgzMSwweGYwLDB4OTAsMHg4MCwweDI4LDB4ZjAsMHg5MCwweDgwLDB4MzksMHhmMCwweGVmLDB4NjQsMHgwNiwweDYwLDB4MDJ9LAotICAxNiwweDM0Y2EsMCx7MHhjMSwweDkxLDB4OTAsMHg3MiwweDM2LDB4ZTAsMHg2MCwweDAyLDB4YzEsMHg5MSwweDkwLDB4NzYsMHg0MCwweGUwLDB4NzAsMHgzMX0sCi0gIDE2LDB4MzRkYSwwLHsweDkwLDB4NzIsMHgwMywweDc0LDB4MDMsMHhmMCwweDkwLDB4NzIsMHgwMywweGUwLDB4ZmYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0fSwKLSAgMTYsMHgzNGVhLDAsezB4YWEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg5MCwweDcyLDB4MjksMHhlMCwweGZkLDB4ZWV9LAotICAxNiwweDM0ZmEsMCx7MHg2ZCwweDYwLDB4MGUsMHhlZiwweGMzLDB4OTQsMHgwYSwweDUwLDB4MDgsMHg5MCwweDcyLDB4MDMsMHhlMCwweDA0LDB4ZjAsMHg4MH0sCi0gIDE2LDB4MzUwYSwwLHsweGQ1LDB4OTAsMHg3MiwweDM5LDB4NzQsMHgwNCwweGYwLDB4OTAsMHg3NiwweDQwLDB4ZTAsMHg3MCwweDA4LDB4OTAsMHg3MiwweDAzfSwKLSAgMTYsMHgzNTFhLDAsezB4ZTAsMHg5MCwweDcyLDB4MzksMHhmMCwweDkwLDB4NzIsMHgzOSwweGUwLDB4ZmQsMHgyNCwweGZlLDB4OTAsMHg3MiwweDJhLDB4ZjB9LAotICAxNiwweDM1MmEsMCx7MHhlZCwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhZCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZn0sCi0gIDE2LDB4MzUzYSwwLHsweDdlLDB4MDAsMHg5MCwweDc1LDB4MGMsMHhlZSwweGYwLDB4YTMsMHhlZiwweGYwLDB4NzAsMHgwNiwweDkwLDB4NzIsMHgwMiwweDc0fSwKLSAgMTYsMHgzNTRhLDAsezB4ODAsMHhmMCwweDkwLDB4NzUsMHgwYywweGUwLDB4ZmUsMHhhMywweGUwLDB4ZmYsMHg2NCwweDgwLDB4NGUsMHg3MCwweDA0LDB4OTB9LAotICAxNiwweDM1NWEsMCx7MHg3MiwweDAyLDB4ZjAsMHhlZiwweDRlLDB4NzAsMHgwMiwweGMxLDB4MWIsMHhlZiwweDY0LDB4ODAsMHg0ZSwweDcwLDB4MDIsMHhjMX0sCi0gIDE2LDB4MzU2YSwwLHsweDFiLDB4ZWYsMHhmOCwweGU0LDB4OTAsMHg3NSwweDBkLDB4ZjAsMHhlOCwweDkwLDB4NzUsMHgwYywweGYwLDB4ZWQsMHg3NSwweGYwfSwKLSAgMTYsMHgzNTdhLDAsezB4MGEsMHhhNCwweDI0LDB4YWMsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmYsMHg5MCwweDcyLDB4MDJ9LAotICAxNiwweDM1OGEsMCx7MHhmMCwweDkwLDB4NzUsMHgwZCwweGUwLDB4MmYsMHhmMCwweDkwLDB4NzUsMHgwYywweGUwLDB4MzQsMHgwMCwweGYwLDB4ZTAsMHhmZX0sCi0gIDE2LDB4MzU5YSwwLHsweGEzLDB4ZTAsMHhmZiwweGU0LDB4ZmMsMHhmZCwweDdiLDB4ZDYsMHg3YSwweGE1LDB4ZjksMHhmOCwweGQzLDB4MTIsMHgzNywweDk1fSwKLSAgMTYsMHgzNWFhLDAsezB4NDAsMHgwYSwweDkwLDB4NzUsMHgwYywweDc0LDB4YTUsMHhmMCwweGEzLDB4NzQsMHhkNiwweGYwLDB4OTAsMHg3NSwweDBkLDB4ZTB9LAotICAxNiwweDM1YmEsMCx7MHgyNCwweDJhLDB4ZjAsMHg5MCwweDc1LDB4MGMsMHhlMCwweDM0LDB4NWEsMHhmMCwweGUwLDB4ZmUsMHhhMywweGUwLDB4NzgsMHgwNX0sCi0gIDE2LDB4MzVjYSwwLHsweGNlLDB4YTIsMHhlNywweDEzLDB4Y2UsMHgxMywweGQ4LDB4ZjgsMHhmZiwweDkwLDB4NzUsMHgwYywweGVlLDB4ZjAsMHhhMywweGVmfSwKLSAgMTYsMHgzNWRhLDAsezB4ZjAsMHg5MCwweDcyLDB4MmMsMHhlZSwweGYwLDB4YTMsMHhlZiwweGYwLDB4ZDMsMHg5NCwweGQyLDB4ZWUsMHg2NCwweDgwLDB4OTR9LAotICAxNiwweDM1ZWEsMCx7MHg4MiwweDQwLDB4MGEsMHg5MCwweDcyLDB4MmMsMHg3NCwweDAyLDB4ZjAsMHhhMywweDc0LDB4ZDIsMHhmMCwweGMzLDB4OTAsMHg3Mn0sCi0gIDE2LDB4MzVmYSwwLHsweDJjLDB4ZTAsMHg2NCwweDgwLDB4OTQsMHg4MCwweDUwLDB4MDQsMHhlNCwweGYwLDB4YTMsMHhmMCwweDkwLDB4NzIsMHgyYywweGUwfSwKLSAgMTYsMHgzNjBhLDAsezB4ZmUsMHhhMywweGUwLDB4MjQsMHgzYSwweGY1LDB4ODIsMHhlZSwweDM0LDB4NzIsMHhmNSwweDgzLDB4ZTAsMHg5MCwweDcyLDB4MDJ9LAotICAxNiwweDM2MWEsMCx7MHhmMCwweDkwLDB4NzIsMHgyYSwweGUwLDB4ZmYsMHgyNCwweGZkLDB4NjAsMHgyZCwweDI0LDB4ZmUsMHg2MCwweDI5LDB4MjQsMHgwM30sCi0gIDE2LDB4MzYyYSwwLHsweDI0LDB4ZmIsMHg1MCwweDA0LDB4NjAsMHgyMSwweDgwLDB4NDAsMHg5MCwweDcyLDB4MDIsMHhlMCwweGZlLDB4NzQsMHgyMCwweDJmfSwKLSAgMTYsMHgzNjNhLDAsezB4ZjUsMHg4MiwweGU0LDB4MzQsMHg4MCwweGY1LDB4ODMsMHhlZSwweGYwLDB4NzQsMHgyOCwweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzR9LAotICAxNiwweDM2NGEsMCx7MHg4MCwweGY1LDB4ODMsMHhlZSwweGYwLDB4ODAsMHgyMSwweDkwLDB4NzIsMHgwMiwweGUwLDB4ZmYsMHg5MCwweDcyLDB4MmEsMHhlMH0sCi0gIDE2LDB4MzY1YSwwLHsweGZlLDB4MjQsMHgzMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ODAsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDc0LDB4MzgsMHgyZSwweGY1fSwKLSAgMTYsMHgzNjZhLDAsezB4ODIsMHhlNCwweDM0LDB4ODAsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDkwLDB4NzYsMHg0MCwweGUwLDB4NzAsMHgwNiwweDkwLDB4NzJ9LAotICAxNiwweDM2N2EsMCx7MHgzOSwweDc0LDB4MGEsMHhmMCwweDkwLDB4NzIsMHgzOSwweGUwLDB4MDQsMHhmMCwweGUwLDB4YzMsMHg5NCwweDBhLDB4NTAsMHgwMn0sCi0gICA4LDB4MzY4YSwwLHsweGExLDB4MTEsMHhlNCwweDkwLDB4NzYsMHg0MCwweGYwLDB4MjJ9LAotICAxNiwweDM2OTIsMCx7MHhiYiwweDAxLDB4MDYsMHg4OSwweDgyLDB4OGEsMHg4MywweGUwLDB4MjIsMHg1MCwweDAyLDB4ZTcsMHgyMiwweGJiLDB4ZmUsMHgwMn0sCi0gICA5LDB4MzZhMiwwLHsweGUzLDB4MjIsMHg4OSwweDgyLDB4OGEsMHg4MywweGU0LDB4OTMsMHgyMn0sCi0gIDE2LDB4MzZhYiwwLHsweGJiLDB4MDEsMHgwYywweGU1LDB4ODIsMHgyOSwweGY1LDB4ODIsMHhlNSwweDgzLDB4M2EsMHhmNSwweDgzLDB4ZTAsMHgyMiwweDUwfSwKLSAgMTYsMHgzNmJiLDAsezB4MDYsMHhlOSwweDI1LDB4ODIsMHhmOCwweGU2LDB4MjIsMHhiYiwweGZlLDB4MDYsMHhlOSwweDI1LDB4ODIsMHhmOCwweGUyLDB4MjJ9LAotICAxMywweDM2Y2IsMCx7MHhlNSwweDgyLDB4MjksMHhmNSwweDgyLDB4ZTUsMHg4MywweDNhLDB4ZjUsMHg4MywweGU0LDB4OTMsMHgyMn0sCi0gIDE2LDB4MzZkOCwwLHsweGMyLDB4ZDUsMHhlYywweDMwLDB4ZTcsMHgwOSwweGIyLDB4ZDUsMHhlNCwweGMzLDB4OWQsMHhmZCwweGU0LDB4OWMsMHhmYywweGVlfSwKLSAgMTYsMHgzNmU4LDAsezB4MzAsMHhlNywweDE1LDB4YjIsMHhkNSwweGU0LDB4YzMsMHg5ZiwweGZmLDB4ZTQsMHg5ZSwweGZlLDB4MTIsMHgzOCwweDFmLDB4YzN9LAotICAxNiwweDM2ZjgsMCx7MHhlNCwweDlkLDB4ZmQsMHhlNCwweDljLDB4ZmMsMHg4MCwweDAzLDB4MTIsMHgzOCwweDFmLDB4MzAsMHhkNSwweDA3LDB4YzMsMHhlNH0sCi0gICA2LDB4MzcwOCwwLHsweDlmLDB4ZmYsMHhlNCwweDllLDB4ZmUsMHgyMn0sCi0gIDE2LDB4MzcwZSwwLHsweGJiLDB4MDEsMHgxMCwweGU1LDB4ODIsMHgyOSwweGY1LDB4ODIsMHhlNSwweDgzLDB4M2EsMHhmNSwweDgzLDB4ZTAsMHhmNSwweGYwfSwKLSAgMTYsMHgzNzFlLDAsezB4YTMsMHhlMCwweDIyLDB4NTAsMHgwOSwweGU5LDB4MjUsMHg4MiwweGY4LDB4ODYsMHhmMCwweDA4LDB4ZTYsMHgyMiwweGJiLDB4ZmV9LAotICAxNiwweDM3MmUsMCx7MHgwYSwweGU5LDB4MjUsMHg4MiwweGY4LDB4ZTIsMHhmNSwweGYwLDB4MDgsMHhlMiwweDIyLDB4ZTUsMHg4MywweDJhLDB4ZjUsMHg4M30sCi0gICA4LDB4MzczZSwwLHsweGU5LDB4OTMsMHhmNSwweGYwLDB4YTMsMHhlOSwweDkzLDB4MjJ9LAotICAxNiwweDM3NDYsMCx7MHhlOCwweDhmLDB4ZjAsMHhhNCwweGNjLDB4OGIsMHhmMCwweGE0LDB4MmMsMHhmYywweGU5LDB4OGUsMHhmMCwweGE0LDB4MmMsMHhmY30sCi0gIDE2LDB4Mzc1NiwwLHsweDhhLDB4ZjAsMHhlZCwweGE0LDB4MmMsMHhmYywweGVhLDB4OGUsMHhmMCwweGE0LDB4Y2QsMHhhOCwweGYwLDB4OGIsMHhmMCwweGE0fSwKLSAgMTYsMHgzNzY2LDAsezB4MmQsMHhjYywweDM4LDB4MjUsMHhmMCwweGZkLDB4ZTksMHg4ZiwweGYwLDB4YTQsMHgyYywweGNkLDB4MzUsMHhmMCwweGZjLDB4ZWJ9LAotICAxNiwweDM3NzYsMCx7MHg4ZSwweGYwLDB4YTQsMHhmZSwweGE5LDB4ZjAsMHhlYiwweDhmLDB4ZjAsMHhhNCwweGNmLDB4YzUsMHhmMCwweDJlLDB4Y2QsMHgzOX0sCi0gIDE1LDB4Mzc4NiwwLHsweGZlLDB4ZTQsMHgzYywweGZjLDB4ZWEsMHhhNCwweDJkLDB4Y2UsMHgzNSwweGYwLDB4ZmQsMHhlNCwweDNjLDB4ZmMsMHgyMn0sCi0gIDE2LDB4Mzc5NSwwLHsweGViLDB4OWYsMHhmNSwweGYwLDB4ZWEsMHg5ZSwweDQyLDB4ZjAsMHhlOSwweDlkLDB4NDIsMHhmMCwweGVjLDB4NjQsMHg4MCwweGM4fSwKLSAgIDYsMHgzN2E1LDAsezB4NjQsMHg4MCwweDk4LDB4NDUsMHhmMCwweDIyfSwKLSAgMTYsMHgzN2FiLDAsezB4ZWIsMHg5ZiwweGY1LDB4ZjAsMHhlYSwweDllLDB4NDIsMHhmMCwweGU5LDB4OWQsMHg0MiwweGYwLDB4ZTgsMHg5YywweDQ1LDB4ZjB9LAotICAgMSwweDM3YmIsMCx7MHgyMn0sCi0gIDEyLDB4MzdiYywwLHsweGVjLDB4ZjAsMHhhMywweGVkLDB4ZjAsMHhhMywweGVlLDB4ZjAsMHhhMywweGVmLDB4ZjAsMHgyMn0sCi0gIDE2LDB4MzdjOCwwLHsweGE4LDB4ODIsMHg4NSwweDgzLDB4ZjAsMHhkMCwweDgzLDB4ZDAsMHg4MiwweDEyLDB4MzcsMHhkZiwweDEyLDB4MzcsMHhkZiwweDEyfSwKLSAgMTYsMHgzN2Q4LDAsezB4MzcsMHhkZiwweDEyLDB4MzcsMHhkZiwweGU0LDB4NzMsMHhlNCwweDkzLDB4YTMsMHhjNSwweDgzLDB4YzUsMHhmMCwweGM1LDB4ODN9LAotICAxNiwweDM3ZTgsMCx7MHhjOCwweGM1LDB4ODIsMHhjOCwweGYwLDB4YTMsMHhjNSwweDgzLDB4YzUsMHhmMCwweGM1LDB4ODMsMHhjOCwweGM1LDB4ODIsMHhjOH0sCi0gICAxLDB4MzdmOCwwLHsweDIyfSwKLSAgMTYsMHgzN2Y5LDAsezB4ZDAsMHg4MywweGQwLDB4ODIsMHhmOCwweGU0LDB4OTMsMHg3MCwweDEyLDB4NzQsMHgwMSwweDkzLDB4NzAsMHgwZCwweGEzLDB4YTN9LAotICAxNiwweDM4MDksMCx7MHg5MywweGY4LDB4NzQsMHgwMSwweDkzLDB4ZjUsMHg4MiwweDg4LDB4ODMsMHhlNCwweDczLDB4NzQsMHgwMiwweDkzLDB4NjgsMHg2MH0sCi0gICA2LDB4MzgxOSwwLHsweGVmLDB4YTMsMHhhMywweGEzLDB4ODAsMHhkZn0sCi0gIDE2LDB4MzgxZiwwLHsweGJjLDB4MDAsMHgwYiwweGJlLDB4MDAsMHgyOSwweGVmLDB4OGQsMHhmMCwweDg0LDB4ZmYsMHhhZCwweGYwLDB4MjIsMHhlNCwweGNjfSwKLSAgMTYsMHgzODJmLDAsezB4ZjgsMHg3NSwweGYwLDB4MDgsMHhlZiwweDJmLDB4ZmYsMHhlZSwweDMzLDB4ZmUsMHhlYywweDMzLDB4ZmMsMHhlZSwweDlkLDB4ZWN9LAotICAxNiwweDM4M2YsMCx7MHg5OCwweDQwLDB4MDUsMHhmYywweGVlLDB4OWQsMHhmZSwweDBmLDB4ZDUsMHhmMCwweGU5LDB4ZTQsMHhjZSwweGZkLDB4MjIsMHhlZH0sCi0gIDE2LDB4Mzg0ZiwwLHsweGY4LDB4ZjUsMHhmMCwweGVlLDB4ODQsMHgyMCwweGQyLDB4MWMsMHhmZSwweGFkLDB4ZjAsMHg3NSwweGYwLDB4MDgsMHhlZiwweDJmfSwKLSAgMTYsMHgzODVmLDAsezB4ZmYsMHhlZCwweDMzLDB4ZmQsMHg0MCwweDA3LDB4OTgsMHg1MCwweDA2LDB4ZDUsMHhmMCwweGYyLDB4MjIsMHhjMywweDk4LDB4ZmR9LAotICAgNSwweDM4NmYsMCx7MHgwZiwweGQ1LDB4ZjAsMHhlYSwweDIyfSwKLSAgMTYsMHgzODc0LDAsezB4ZTQsMHg5MCwweDc2LDB4MjksMHhmMCwweDkwLDB4NzYsMHgyOSwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDJ9LAotICAxNiwweDM4ODQsMCx7MHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg5MCwweDdmLDB4ZWMsMHhlMCwweGZkLDB4ZWUsMHg2ZH0sCi0gIDE2LDB4Mzg5NCwwLHsweDYwLDB4MGUsMHhlZiwweGMzLDB4OTQsMHgwNiwweDUwLDB4MDgsMHg5MCwweDc2LDB4MjksMHhlMCwweDA0LDB4ZjAsMHg4MCwweGQ1fSwKLSAgMTYsMHgzOGE0LDAsezB4ZWYsMHhiNCwweDA2LDB4MDgsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4ZWYsMHg3NSwweGYwLDB4MGZ9LAotICAxNiwweDM4YjQsMCx7MHhhNCwweDI0LDB4NDEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4OTAsMHg3NiwweDJhLDB4ZjAsMHgyNH0sCi0gIDE2LDB4MzhjNCwwLHsweGJmLDB4NzAsMHgwMiwweDQxLDB4NDEsMHgyNCwweGUwLDB4NzAsMHgwMiwweDQxLDB4MTIsMHgyNCwweDIxLDB4NjAsMHgwMiwweDQxfSwKLSAgMTYsMHgzOGQ0LDAsezB4M2EsMHg5MCwweDdmLDB4ZTksMHhlMCwweDI0LDB4ZmUsMHg2MCwweDdkLDB4MTQsMHg3MCwweDAyLDB4MjEsMHhiMiwweDI0LDB4MDJ9LAotICAxNiwweDM4ZTQsMCx7MHg2MCwweDAyLDB4NDEsMHgwYSwweDEyLDB4MTcsMHg1MSwweDkwLDB4NzYsMHg0MiwweGUwLDB4ZmMsMHhhMywweGUwLDB4ZmQsMHhhM30sCi0gIDE2LDB4MzhmNCwwLHsweGUwLDB4ZmUsMHhhMywweGUwLDB4ZmYsMHg5MCwweDc2LDB4MjksMHhlMCwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0MywweGY1fSwKLSAgMTYsMHgzOTA0LDAsezB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4MTIsMHgzNywweGJjLDB4OTAsMHg3NiwweDE5LDB4ZTAsMHhmZiwweGI0LDB4MDF9LAotICAxNiwweDM5MTQsMCx7MHgxMiwweDkwLDB4NzYsMHg3YywweDc0LDB4NjcsMHhmMCwweDkwLDB4NzYsMHg3ZCwweDc0LDB4MDYsMHhmMCwweDkwLDB4NzYsMHg3ZX0sCi0gIDE2LDB4MzkyNCwwLHsweDc0LDB4MGIsMHhmMCwweGVmLDB4YjQsMHgwMiwweDBmLDB4ZTQsMHg5MCwweDc2LDB4N2MsMHhmMCwweDkwLDB4NzYsMHg3ZCwweGYwfSwKLSAgMTYsMHgzOTM0LDAsezB4OTAsMHg3NiwweDdlLDB4NzQsMHgwYywweGYwLDB4ZWYsMHhiNCwweDAzLDB4MGYsMHhlNCwweDkwLDB4NzYsMHg3YywweGYwLDB4OTB9LAotICAxNiwweDM5NDQsMCx7MHg3NiwweDdkLDB4ZjAsMHg5MCwweDc2LDB4N2UsMHg3NCwweDE4LDB4ZjAsMHg5MCwweDc2LDB4MWEsMHg3NCwweDAxLDB4ZjAsMHgxMn0sCi0gIDE2LDB4Mzk1NCwwLHsweDNlLDB4OWYsMHgxMiwweDE4LDB4MDAsMHgyMiwweDkwLDB4N2UsMHhjMiwweGUwLDB4ZmYsMHhlNCwweGZjLDB4ZmQsMHhmZSwweGZifSwKLSAgMTYsMHgzOTY0LDAsezB4ZmEsMHg3OSwweDAxLDB4ZjgsMHgxMiwweDM3LDB4NDYsMHhjOCwweGVjLDB4YzgsMHhjOSwweGVkLDB4YzksMHhjYSwweGVlLDB4Y2F9LAotICAxNiwweDM5NzQsMCx7MHhjYiwweGVmLDB4Y2IsMHg5MCwweDdlLDB4YzEsMHhlMCwweGZlLDB4ZTQsMHhmYywweGZkLDB4MmIsMHhmYiwweGVhLDB4M2UsMHhmYX0sCi0gIDE2LDB4Mzk4NCwwLHsweGVkLDB4MzksMHhmOSwweGVjLDB4MzgsMHhmOCwweDkwLDB4N2UsMHhjMCwweGUwLDB4ZmYsMHhlNCwweGZlLDB4ZWIsMHgyZiwweGZmfSwKLSAgMTYsMHgzOTk0LDAsezB4ZWUsMHgzYSwweGZlLDB4ZWQsMHgzOSwweGZkLDB4ZWMsMHgzOCwweGZjLDB4OTAsMHg3NiwweDI5LDB4ZTAsMHg3NSwweGYwLDB4MGZ9LAotICAxNiwweDM5YTQsMCx7MHhhNCwweDI0LDB4NDcsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDEyLDB4MzcsMHhiYywweDIyLDB4OTAsMHg3ZX0sCi0gIDE2LDB4MzliNCwwLHsweGMyLDB4ZTAsMHhmZiwweGU0LDB4ZmMsMHhmZCwweGZlLDB4ZmIsMHhmYSwweDc5LDB4MDEsMHhmOCwweDEyLDB4MzcsMHg0NiwweGM4fSwKLSAgMTYsMHgzOWM0LDAsezB4ZWMsMHhjOCwweGM5LDB4ZWQsMHhjOSwweGNhLDB4ZWUsMHhjYSwweGNiLDB4ZWYsMHhjYiwweDkwLDB4N2UsMHhjMSwweGUwLDB4ZmV9LAotICAxNiwweDM5ZDQsMCx7MHhlNCwweGZjLDB4ZmQsMHgyYiwweGZiLDB4ZWEsMHgzZSwweGZhLDB4ZWQsMHgzOSwweGY5LDB4ZWMsMHgzOCwweGY4LDB4OTAsMHg3ZX0sCi0gIDE2LDB4MzllNCwwLHsweGMwLDB4ZTAsMHhmZiwweGU0LDB4ZmUsMHhlYiwweDJmLDB4ZmYsMHhlZSwweDNhLDB4ZmUsMHhlZCwweDM5LDB4ZmQsMHhlYywweDM4fSwKLSAgMTYsMHgzOWY0LDAsezB4ZmMsMHg5MCwweDc2LDB4MjksMHhlMCwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0YiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzV9LAotICAxNiwweDNhMDQsMCx7MHhmNSwweDgzLDB4MTIsMHgzNywweGJjLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3Zn0sCi0gIDE2LDB4M2ExNCwwLHsweGU5LDB4ZTAsMHgxNCwweDcwLDB4MTksMHg5MCwweDdlLDB4YzAsMHhlMCwweGZmLDB4OTAsMHg3NiwweDI5LDB4ZTAsMHg3NSwweGYwfSwKLSAgMTYsMHgzYTI0LDAsezB4MGYsMHhhNCwweDI0LDB4NGYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGVmLDB4ZjAsMHgyMiwweDkwLDB4N2Z9LAotICAxNCwweDNhMzQsMCx7MHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyfSwKLSAgMTYsMHgzYTQyLDAsezB4ZTQsMHg5MCwweDc2LDB4MzUsMHhmMCwweDkwLDB4NzYsMHgzNSwweGUwLDB4ZmYsMHhjMywweDk0LDB4MDMsMHg0MCwweDAyLDB4NDF9LAotICAxNiwweDNhNTIsMCx7MHhmZiwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFhLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZn0sCi0gIDE2LDB4M2E2MiwwLHsweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGU0fSwKLSAgMTYsMHgzYTcyLDAsezB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhYywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzR9LAotICAxNiwweDNhODIsMCx7MHhmMCwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWQsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4M30sCi0gIDE2LDB4M2E5MiwwLHsweDc0LDB4ZmYsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFlLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1fSwKLSAgMTYsMHgzYWEyLDAsezB4ODMsMHhlNCwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjV9LAotICAxNiwweDNhYjIsMCx7MHg4MywweDc0LDB4ODAsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NX0sCi0gIDE2LDB4M2FjMiwwLHsweGY1LDB4ODMsMHhlNCwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YjEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1fSwKLSAgMTYsMHgzYWQyLDAsezB4ZjUsMHg4MywweGU0LDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzV9LAotICAxNiwweDNhZTIsMCx7MHhmNSwweDgzLDB4ZTQsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIzLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NX0sCi0gIDE2LDB4M2FmMiwwLHsweGY1LDB4ODMsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDc2LDB4MzUsMHhlMCwweDA0LDB4ZjAsMHg0MSwweDQ3LDB4OTAsMHg3NiwweDNjfSwKLSAgMTYsMHgzYjAyLDAsezB4NzQsMHgwYSwweGYwLDB4ZTQsMHhhMywweGYwLDB4OTAsMHg3NiwweDM1LDB4NzQsMHgwMywweGYwLDB4OTAsMHg3NiwweDNjLDB4ZTB9LAotICAxNiwweDNiMTIsMCx7MHhmZiwweDkwLDB4NzYsMHgzNSwweGUwLDB4ZmUsMHhjMywweDlmLDB4NDAsMHgwMiwweDYxLDB4ZDIsMHg5MCwweDc2LDB4M2QsMHhlMH0sCi0gIDE2LDB4M2IyMiwwLHsweGZmLDB4MDQsMHhmMCwweGVlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFhLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1fSwKLSAgMTYsMHgzYjMyLDAsezB4ODMsMHhlZiwweGYwLDB4ZWUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjV9LAotICAxNiwweDNiNDIsMCx7MHg4MywweGU0LDB4ZjAsMHhlZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhYywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNX0sCi0gIDE2LDB4M2I1MiwwLHsweDgzLDB4NzQsMHg1ZSwweGYwLDB4ZWUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWQsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1fSwKLSAgMTYsMHgzYjYyLDAsezB4ZjUsMHg4MywweDc0LDB4YmEsMHhmMCwweGVlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFlLDB4ZjUsMHg4MiwweGU0LDB4MzR9LAotICAxNiwweDNiNzIsMCx7MHg3NSwweGY1LDB4ODMsMHg3NCwweDA1LDB4ZjAsMHhlZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhZiwweGY1LDB4ODIsMHhlNH0sCi0gIDE2LDB4M2I4MiwwLHsweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHg4MCwweGYwLDB4ZWUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YjAsMHhmNSwweDgyfSwKLSAgMTYsMHgzYjkyLDAsezB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGU0LDB4ZjAsMHhlZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMSwweGY1LDB4ODJ9LAotICAxNiwweDNiYTIsMCx7MHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTQsMHhmMCwweGVlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIyLDB4ZjUsMHg4Mn0sCi0gIDE2LDB4M2JiMiwwLHsweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDE1LDB4ZjAsMHhlZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMywweGY1fSwKLSAgMTYsMHgzYmMyLDAsezB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTQsMHhmMCwweDkwLDB4NzYsMHgzNSwweGUwLDB4MDQsMHhmMCwweDYxLDB4MGV9LAotICAgMSwweDNiZDIsMCx7MHgyMn0sCi0gIDE2LDB4M2JkMywwLHsweGU0LDB4OTAsMHg3NiwweDM2LDB4ZjAsMHhlMCwweGZiLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQxLDB4ZjUsMHg4MiwweGU0fSwKLSAgMTYsMHgzYmUzLDAsezB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDQwLDB4ZjAsMHhlYiwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0MiwweGY1LDB4ODJ9LAotICAxNiwweDNiZjMsMCx7MHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwYSwweGYwLDB4ZWIsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDMsMHhmNX0sCi0gIDE2LDB4M2MwMywwLHsweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDEyLDB4MzcsMHhjOCwweDAwLDB4MDAsMHhhYywweDQ0LDB4ZWIsMHg3NSwweGYwfSwKLSAgMTYsMHgzYzEzLDAsezB4MGYsMHhhNCwweDI0LDB4NDcsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDEyLDB4MzcsMHhjOCwweDAwLDB4MDB9LAotICAxNiwweDNjMjMsMCx7MHhhYywweDQ0LDB4ZWIsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NGIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4M30sCi0gIDE2LDB4M2MzMywwLHsweDEyLDB4MzcsMHhjOCwweDAwLDB4MDEsMHg3NywweDAwLDB4OTAsMHg3NiwweDM2LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhmYiwweDc1fSwKLSAgMTYsMHgzYzQzLDAsezB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0MSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHg0MCwweGYwLDB4ZWJ9LAotICAxNiwweDNjNTMsMCx7MHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4OGMsMHhmMH0sCi0gIDE2LDB4M2M2MywwLHsweGViLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQzLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHgxMiwweDM3fSwKLSAgMTYsMHgzYzczLDAsezB4YzgsMHgwMCwweDAwLDB4YWMsMHg0NCwweGViLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQ3LDB4ZjUsMHg4MiwweGU0LDB4MzR9LAotICAxNiwweDNjODMsMCx7MHg3NSwweGY1LDB4ODMsMHgxMiwweDM3LDB4YzgsMHgwMCwweDAwLDB4YWMsMHg0NCwweGViLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNH0sCi0gIDE2LDB4M2M5MywwLHsweDRiLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHgxMiwweDM3LDB4YzgsMHgwMCwweDAxLDB4NzcsMHgwMCwweDkwfSwKLSAgMTYsMHgzY2EzLDAsezB4NzYsMHgzNiwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDEsMHhmNSwweDgyLDB4ZTR9LAotICAxNiwweDNjYjMsMCx7MHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4NDAsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQyLDB4ZjUsMHg4Mn0sCi0gIDE2LDB4M2NjMywwLHsweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDhmLDB4ZjAsMHg5MCwweDc2LDB4MzYsMHhlMCwweDA0LDB4ZjAsMHhlMCwweGZmfSwKLSAgMTYsMHgzY2QzLDAsezB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQxLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDQxLDB4ZjB9LAotICAxNiwweDNjZTMsMCx7MHhlZiwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0MiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHg4NH0sCi0gIDE2LDB4M2NmMywwLHsweGYwLDB4OTAsMHg3NiwweDM2LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0MSwweGY1fSwKLSAgMTYsMHgzZDAzLDAsezB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHg2MSwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDJ9LAotICAxNiwweDNkMTMsMCx7MHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4ODEsMHhmMCwweDkwLDB4NzYsMHgzNiwweGUwLDB4MDQsMHhmMH0sCi0gIDE2LDB4M2QyMywwLHsweGUwLDB4ZmYsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0fSwKLSAgMTYsMHgzZDMzLDAsezB4NjEsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQyLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODN9LAotICAgNCwweDNkNDMsMCx7MHg3NCwweDAxLDB4ZjAsMHgyMn0sCi0gIDE2LDB4M2Q0NywwLHsweGMwLDB4ZTAsMHhjMCwweGYwLDB4YzAsMHg4MywweGMwLDB4ODIsMHhjMCwweGQwLDB4ZTgsMHhjMCwweGUwLDB4ZTksMHhjMCwweGUwfSwKLSAgMTYsMHgzZDU3LDAsezB4ZWEsMHhjMCwweGUwLDB4ZWIsMHhjMCwweGUwLDB4ZWMsMHhjMCwweGUwLDB4ZWQsMHhjMCwweGUwLDB4ZWUsMHhjMCwweGUwLDB4ZWZ9LAotICAxNiwweDNkNjcsMCx7MHhjMCwweGUwLDB4OTAsMHg3ZiwweGEyLDB4ZTAsMHg5MCwweDc2LDB4N2YsMHhmMCwweDkwLDB4N2YsMHg3NCwweGUwLDB4OTAsMHg3Nn0sCi0gIDE2LDB4M2Q3NywwLHsweDg3LDB4ZjAsMHg5MCwweDdmLDB4NzUsMHhlMCwweDkwLDB4NzYsMHg4OCwweGYwLDB4OTAsMHg3ZiwweDk4LDB4ZTAsMHg0NCwweDAyfSwKLSAgMTYsMHgzZDg3LDAsezB4ZjAsMHg5MCwweDc2LDB4OTYsMHhlMCwweGZmLDB4MjAsMHhlMSwweDBjLDB4NDQsMHgwMiwweGYwLDB4OTAsMHg4MCwweDAzLDB4ZjB9LAotICAxNiwweDNkOTcsMCx7MHhkMiwweDMyLDB4MTIsMHg0YiwweDI4LDB4OTAsMHg3NiwweDdmLDB4ZTAsMHgyMCwweGUyLDB4NTAsMHg5MCwweDc2LDB4ODcsMHhlMH0sCi0gIDE2LDB4M2RhNywwLHsweGZlLDB4YTMsMHhlMCwweDdjLDB4MDAsMHgyNCwweDAwLDB4ZjUsMHgzNCwweGVjLDB4M2UsMHhmNSwweDMzLDB4OTAsMHg3NiwweDk4fSwKLSAgMTYsMHgzZGI3LDAsezB4ZTAsMHhmZCwweGFlLDB4MzMsMHhhZiwweDM0LDB4MTIsMHgzNiwweGQ4LDB4OTAsMHg3NiwweDg3LDB4ZWYsMHhmMCwweGQyLDB4MmZ9LAotICAxNiwweDNkYzcsMCx7MHgzMCwweDMxLDB4MjksMHgyMCwweDNmLDB4MjYsMHhjMiwweDMxLDB4OTAsMHg3ZiwweDk0LDB4ZTAsMHg1NCwweGNmLDB4ZjAsMHg5MH0sCi0gIDE2LDB4M2RkNywwLHsweDdmLDB4OWEsMHhlMCwweDMwLDB4ZTQsMHgwNCwweGQyLDB4MmQsMHhjMiwweDJjLDB4OTAsMHg3ZiwweDlhLDB4ZTAsMHgyMCwweGU1fSwKLSAgMTYsMHgzZGU3LDAsezB4MDQsMHhjMiwweDJkLDB4ZDIsMHgyYywweDkwLDB4N2YsMHg5NCwweGUwLDB4NDQsMHgzMCwweGYwLDB4MTIsMHg0OCwweGJkLDB4MTJ9LAotICAxNiwweDNkZjcsMCx7MHgxYiwweDA0LDB4MzAsMHgyZiwweDEyLDB4MTIsMHg0MiwweDFmLDB4YzIsMHgyZiwweDc1LDB4ZTgsMHgwMSwweDEyLDB4MTYsMHg4YX0sCi0gIDE2LDB4M2UwNywwLHsweDc1LDB4ZTgsMHgwZCwweGQyLDB4MmIsMHg4MCwweDA1LDB4NzUsMHhlOCwweDAxLDB4YzIsMHgyYiwweDIwLDB4MmIsMHgzNCwweDkwfSwKLSAgMTYsMHgzZTE3LDAsezB4NzYsMHgxOSwweGUwLDB4ZmYsMHhiNCwweDAxLDB4MGUsMHg5MCwweDc2LDB4N2MsMHg3NCwweDY3LDB4ZjAsMHhhMywweDc0LDB4MDZ9LAotICAxNiwweDNlMjcsMCx7MHhmMCwweGEzLDB4NzQsMHgwYiwweGYwLDB4ZWYsMHhiNCwweDAyLDB4MGIsMHg5MCwweDc2LDB4N2MsMHhlNCwweGYwLDB4YTMsMHhmMH0sCi0gIDE2LDB4M2UzNywwLHsweGEzLDB4NzQsMHgwYywweGYwLDB4ZWYsMHhiNCwweDAzLDB4MGIsMHg5MCwweDc2LDB4N2MsMHhlNCwweGYwLDB4YTMsMHhmMCwweGEzfSwKLSAgMTYsMHgzZTQ3LDAsezB4NzQsMHgxOCwweGYwLDB4NzUsMHhjYSwweGQzLDB4NzUsMHhjYiwweGZlLDB4ZDIsMHhjYSwweDMwLDB4MzQsMHgwNCwweGMyLDB4MzR9LAotICAxNiwweDNlNTcsMCx7MHg4MCwweDAyLDB4ZDIsMHgzNCwweDMwLDB4MzQsMHgwZCwweDkwLDB4NzYsMHg4OSwweGUwLDB4YzMsMHg5NCwweDAzLDB4NDAsMHgwNH0sCi0gIDE2LDB4M2U2NywwLHsweGUwLDB4MjQsMHhmZCwweGYwLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFiLDB4NzQsMHgwMiwweGYwLDB4ZjAsMHg5MCwweDdmfSwKLSAgMTYsMHgzZTc3LDAsezB4OTgsMHhlMCwweDU0LDB4ZmQsMHhmMCwweGQwLDB4ZTAsMHhmZiwweGQwLDB4ZTAsMHhmZSwweGQwLDB4ZTAsMHhmZCwweGQwLDB4ZTB9LAotICAxNiwweDNlODcsMCx7MHhmYywweGQwLDB4ZTAsMHhmYiwweGQwLDB4ZTAsMHhmYSwweGQwLDB4ZTAsMHhmOSwweGQwLDB4ZTAsMHhmOCwweGQwLDB4ZDAsMHhkMH0sCi0gICA4LDB4M2U5NywwLHsweDgyLDB4ZDAsMHg4MywweGQwLDB4ZjAsMHhkMCwweGUwLDB4MzJ9LAotICAxNiwweDNlOWYsMCx7MHg5MCwweDc2LDB4OTIsMHhlMCwweDE0LDB4NjAsMHgxZCwweDE0LDB4NzAsMHgwMiwweGUxLDB4NTQsMHgyNCwweDAyLDB4NjAsMHgwMn0sCi0gIDE2LDB4M2VhZiwwLHsweGUxLDB4ZTQsMHg5MCwweDc2LDB4OTQsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDgwLDB4MDAsMHhmMCwweGU0LDB4OTAsMHg3NiwweDhlfSwKLSAgMTYsMHgzZWJmLDAsezB4ZjAsMHhkMiwweDMxLDB4MjIsMHg5MCwweDc2LDB4MTksMHhlMCwweGZmLDB4YjQsMHgwMSwweDFiLDB4ZTQsMHg5MCwweDdmLDB4ZjJ9LAotICAxNiwweDNlY2YsMCx7MHhmMCwweDkwLDB4N2YsMHhmMywweDc0LDB4MzAsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmMsMHhmMCwweDkwLDB4NzYsMHg5N30sCi0gIDE2LDB4M2VkZiwwLHsweGUwLDB4NTQsMHhmZCwweGYwLDB4NTQsMHhmYiwweGYwLDB4ZWYsMHhiNCwweDAyLDB4MWIsMHhlNCwweDkwLDB4N2YsMHhmMiwweGYwfSwKLSAgMTYsMHgzZWVmLDAsezB4OTAsMHg3ZiwweGYzLDB4NzQsMHgzNCwweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmYywweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTB9LAotICAxNiwweDNlZmYsMCx7MHg0NCwweDAyLDB4ZjAsMHg1NCwweGZiLDB4ZjAsMHhlZiwweGI0LDB4MDMsMHgxOCwweGU0LDB4OTAsMHg3ZiwweGYyLDB4ZjAsMHg5MH0sCi0gIDE2LDB4M2YwZiwwLHsweDdmLDB4ZjMsMHg3NCwweDY0LDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMCwweDQ0fSwKLSAgMTYsMHgzZjFmLDAsezB4MDQsMHhmMCwweDkwLDB4NzYsMHg5NCwweGUwLDB4NDQsMHgwMSwweGYwLDB4OTAsMHg4MCwweDAwLDB4ZjAsMHgzMCwweDNmLDB4MDl9LAotICAxNiwweDNmMmYsMCx7MHg5MCwweDc2LDB4OTcsMHhlMCwweDU0LDB4ZmUsMHhmMCwweDgwLDB4MDcsMHg5MCwweDc2LDB4OTcsMHhlMCwweDQ0LDB4MDEsMHhmMH0sCi0gIDE2LDB4M2YzZiwwLHsweDkwLDB4NzYsMHg5NywweGUwLDB4OTAsMHg4MCwweDAyLDB4ZjAsMHg5MCwweDc2LDB4OTgsMHg3NCwweDA0LDB4ZjAsMHg5MCwweDc2fSwKLSAgMTYsMHgzZjRmLDAsezB4OGUsMHg3NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4NzYsMHgxOSwweGUwLDB4ZmYsMHhiNCwweDAxLDB4MWIsMHhlNCwweDkwLDB4N2Z9LAotICAxNiwweDNmNWYsMCx7MHhmMiwweGYwLDB4OTAsMHg3ZiwweGYzLDB4NzQsMHg0NCwweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmYywweGYwLDB4OTAsMHg3Nn0sCi0gIDE2LDB4M2Y2ZiwwLHsweDk3LDB4ZTAsMHg1NCwweGZkLDB4ZjAsMHg1NCwweGZiLDB4ZjAsMHhlZiwweGI0LDB4MDIsMHgxYiwweGU0LDB4OTAsMHg3ZiwweGYyfSwKLSAgMTYsMHgzZjdmLDAsezB4ZjAsMHg5MCwweDdmLDB4ZjMsMHg3NCwweDRjLDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHg5MCwweDc2LDB4OTd9LAotICAxNiwweDNmOGYsMCx7MHhlMCwweDQ0LDB4MDIsMHhmMCwweDU0LDB4ZmIsMHhmMCwweGVmLDB4YjQsMHgwMywweDE4LDB4ZTQsMHg5MCwweDdmLDB4ZjIsMHhmMH0sCi0gIDE2LDB4M2Y5ZiwwLHsweDkwLDB4N2YsMHhmMywweDc0LDB4OTQsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmMsMHhmMCwweDkwLDB4NzYsMHg5NywweGUwfSwKLSAgMTYsMHgzZmFmLDAsezB4NDQsMHgwNCwweGYwLDB4OTAsMHg3NiwweDk0LDB4ZTAsMHg1NCwweGZlLDB4ZjAsMHg5MCwweDgwLDB4MDAsMHhmMCwweDMwLDB4M2Z9LAotICAxNiwweDNmYmYsMCx7MHgwOSwweDkwLDB4NzYsMHg5NywweGUwLDB4NTQsMHhmZSwweGYwLDB4ODAsMHgwNywweDkwLDB4NzYsMHg5NywweGUwLDB4NDQsMHgwMX0sCi0gIDE2LDB4M2ZjZiwwLHsweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg5MCwweDgwLDB4MDIsMHhmMCwweDkwLDB4NzYsMHg5OCwweDc0LDB4MDYsMHhmMCwweDkwfSwKLSAgIDYsMHgzZmRmLDAsezB4NzYsMHg4ZSwweDc0LDB4MDIsMHhmMCwweDIyfSwKLSAgMTYsMHgzZmU1LDAsezB4OTAsMHg3ZiwweGVhLDB4ZTAsMHg5MCwweDc2LDB4ODIsMHhmMCwweGU0LDB4OTAsMHg3NiwweDkxLDB4ZjAsMHg5MCwweDc2LDB4OTJ9LAotICAxMSwweDNmZjUsMCx7MHhmMCwweDkwLDB4NzYsMHg5MCwweGYwLDB4OTAsMHg3NiwweDkzLDB4ZjAsMHhkMywweDIyfSwKLSAgMTYsMHg0MDAwLDAsezB4ZTUsMHgxMSwweGQzLDB4OTQsMHgwMCwweDUwLDB4MDIsMHgyMSwweDA2LDB4OTAsMHg3NiwweDg5LDB4ZTAsMHhjMywweDk0LDB4MDh9LAotICAxNiwweDQwMTAsMCx7MHg0MCwweDAyLDB4MjEsMHgwNiwweDc0LDB4NDAsMHgyNSwweDBmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZSwweGY1LDB4ODMsMHhlMH0sCi0gIDE2LDB4NDAyMCwwLHsweGY1LDB4MTcsMHhlNSwweDBkLDB4NjAsMHgwZSwweDkwLDB4ODAsMHgwNSwweGU1LDB4MTcsMHhmMCwweDkwLDB4NzYsMHg4OSwweGUwfSwKLSAgMTYsMHg0MDMwLDAsezB4MDQsMHhmMCwweDAxLDB4ZGEsMHhlNSwweDE3LDB4MTIsMHgzNywweGY5LDB4NDAsMHhjMSwweDAyLDB4NDAsMHg2NywweDA1LDB4NDB9LAotICAxNiwweDQwNDAsMCx7MHg3YSwweDA2LDB4NDAsMHg5OCwweDA3LDB4NDAsMHhjMSwweDBjLDB4NDAsMHhjMSwweDBkLDB4NDAsMHhjNywweDBmLDB4NDAsMHhjYn0sCi0gIDE2LDB4NDA1MCwwLHsweGY2LDB4NDAsMHhjYiwweGY4LDB4NDAsMHhjYiwweGZhLDB4NDAsMHhjYiwweGZiLDB4NDAsMHhjYiwweGZjLDB4NDAsMHhjYiwweGZlfSwKLSAgMTYsMHg0MDYwLDAsezB4NDAsMHhjYiwweGZmLDB4MDAsMHgwMCwweDQwLDB4ZGEsMHg5MCwweDdlLDB4NDEsMHhlMCwweDkwLDB4ODAsMHgwNSwweGYwLDB4OTB9LAotICAxNiwweDQwNzAsMCx7MHg3NiwweDg5LDB4ZTAsMHgwNCwweGYwLDB4NzUsMHgxMSwweDAxLDB4ODAsMHg2MCwweDkwLDB4N2UsMHg0MSwweGUwLDB4OTAsMHg4MH0sCi0gIDE2LDB4NDA4MCwwLHsweDA1LDB4ZjAsMHg5MCwweDdlLDB4NDIsMHhlMCwweDkwLDB4ODAsMHgwNSwweGYwLDB4OTAsMHg3NiwweDg5LDB4ZTAsMHgwNCwweGYwfSwKLSAgMTYsMHg0MDkwLDAsezB4ZTAsMHgwNCwweGYwLDB4NzUsMHgxMSwweDAxLDB4ODAsMHg0MiwweDkwLDB4N2UsMHg0MSwweGUwLDB4OTAsMHg4MCwweDA1LDB4ZjB9LAotICAxNiwweDQwYTAsMCx7MHg5MCwweDdlLDB4NDIsMHhlMCwweDkwLDB4ODAsMHgwNSwweGYwLDB4OTAsMHg3ZSwweDQzLDB4ZTAsMHg5MCwweDgwLDB4MDUsMHhmMH0sCi0gIDE2LDB4NDBiMCwwLHsweDkwLDB4NzYsMHg4OSwweGUwLDB4MDQsMHhmMCwweGUwLDB4MDQsMHhmMCwweGUwLDB4MDQsMHhmMCwweDc1LDB4MTEsMHgwMSwweDgwfSwKLSAgMTYsMHg0MGMwLDAsezB4MTksMHhkMiwweDNiLDB4ZDIsMHgzYywweDgwLDB4MTMsMHhkMiwweDNiLDB4ODAsMHgwZiwweDkwLDB4ODAsMHgwNSwweGU1LDB4MTd9LAotICAxNiwweDQwZDAsMCx7MHhmMCwweDkwLDB4NzYsMHg4OSwweGUwLDB4MDQsMHhmMCwweDc1LDB4MTEsMHgwMSwweDIwLDB4M2IsMHgwNCwweDA1LDB4MGQsMHg4MH0sCi0gIDE2LDB4NDBlMCwwLHsweDFmLDB4MzAsMHgzYywweDFjLDB4OTAsMHg3ZSwweDQxLDB4ZTAsMHg5MCwweDgwLDB4MDUsMHhmMCwweDkwLDB4N2UsMHg0MiwweGUwfSwKLSAgMTYsMHg0MGYwLDAsezB4OTAsMHg4MCwweDA1LDB4ZjAsMHg5MCwweDc2LDB4ODksMHhlMCwweDA0LDB4ZjAsMHhlMCwweDA0LDB4ZjAsMHg3NSwweDExLDB4MDF9LAotICAxNiwweDQxMDAsMCx7MHgwNSwweDBmLDB4MTUsMHgxMSwweDAxLDB4MDAsMHhlNSwweDExLDB4NzAsMHgxMCwweGMyLDB4MzMsMHhmNSwweDBkLDB4ZjUsMHgwZn0sCi0gIDExLDB4NDExMCwwLHsweDkwLDB4N2YsMHhjNywweDc0LDB4MDQsMHhmMCwweGMyLDB4M2IsMHhjMiwweDNjLDB4MjJ9LAotICAxNiwweDQxMWIsMCx7MHg5MCwweDc2LDB4OGQsMHhlMCwweDY0LDB4MDEsMHg3MCwweDI3LDB4MzAsMHgyNywweDA4LDB4YzIsMHgyNywweDEyLDB4MDgsMHgwMH0sCi0gIDE2LDB4NDEyYiwwLHsweDEyLDB4MTcsMHg0YSwweDMwLDB4MjgsMHgwOCwweGMyLDB4MjgsMHgxMiwweDM4LDB4NzQsMHgxMiwweDE3LDB4NGEsMHgzMCwweDJhfSwKLSAgMTYsMHg0MTNiLDAsezB4MGUsMHhlNCwweDkwLDB4NzYsMHg4ZCwweGYwLDB4YzIsMHgyYSwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMiwweGYwLDB4OTB9LAotICAxNiwweDQxNGIsMCx7MHg3NiwweDNmLDB4ZTAsMHhiNCwweDAxLDB4MDUsMHhlNCwweGYwLDB4MTIsMHgzMiwweDZmLDB4OTAsMHg3NiwweDQxLDB4ZTAsMHhiNH0sCi0gIDE2LDB4NDE1YiwwLHsweDAxLDB4MDUsMHhlNCwweGYwLDB4MTIsMHgzNCwweDlhLDB4OTAsMHg3NiwweDQwLDB4ZTAsMHhiNCwweDAxLDB4MDMsMHgxMiwweDM0fSwKLSAgMTYsMHg0MTZiLDAsezB4OWEsMHgxMiwweDMwLDB4MDAsMHgzMCwweDMzLDB4MDMsMHgxMiwweDQwLDB4MDAsMHg5MCwweDdmLDB4OWIsMHhlMCwweDIwLDB4ZTR9LAotICAxNiwweDQxN2IsMCx7MHgwMiwweGMyLDB4M2YsMHg5MCwweDdmLDB4OWIsMHhlMCwweDMwLDB4ZTQsMHgwMiwweGQyLDB4M2YsMHg5MCwweDdmLDB4OWIsMHhlMH0sCi0gIDE2LDB4NDE4YiwwLHsweDIwLDB4ZTUsMHgwMiwweGMyLDB4M2UsMHg5MCwweDdmLDB4OWIsMHhlMCwweDMwLDB4ZTUsMHgwMiwweGQyLDB4M2UsMHhhMiwweDQxfSwKLSAgMTYsMHg0MTliLDAsezB4MzAsMHgzZiwweDAxLDB4YjMsMHg1MCwweDFmLDB4YTIsMHgzZiwweDkyLDB4NDEsMHgzMCwweDNmLDB4MDksMHg5MCwweDc2LDB4OTd9LAotICAxNiwweDQxYWIsMCx7MHhlMCwweDU0LDB4ZmUsMHhmMCwweDgwLDB4MDcsMHg5MCwweDc2LDB4OTcsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDkwLDB4NzYsMHg5N30sCi0gIDE2LDB4NDFiYiwwLHsweGUwLDB4OTAsMHg4MCwweDAyLDB4ZjAsMHgzMCwweDNmLDB4MzQsMHg5MCwweDc2LDB4MTksMHhlMCwweGZmLDB4YjQsMHgwMSwweDBlfSwKLSAgMTYsMHg0MWNiLDAsezB4OTAsMHg3NiwweDdjLDB4NzQsMHg2NywweGYwLDB4YTMsMHg3NCwweDA2LDB4ZjAsMHhhMywweDc0LDB4MGIsMHhmMCwweGVmLDB4YjR9LAotICAxNiwweDQxZGIsMCx7MHgwMiwweDBiLDB4ZTQsMHg5MCwweDc2LDB4N2MsMHhmMCwweGEzLDB4ZjAsMHhhMywweDc0LDB4MGMsMHhmMCwweGVmLDB4YjQsMHgwM30sCi0gIDE2LDB4NDFlYiwwLHsweDBiLDB4ZTQsMHg5MCwweDc2LDB4N2MsMHhmMCwweGEzLDB4ZjAsMHhhMywweDc0LDB4MTgsMHhmMCwweGEyLDB4NDAsMHgzMCwweDNlfSwKLSAgMTYsMHg0MWZiLDAsezB4MDEsMHhiMywweDUwLDB4MWYsMHhhMiwweDNlLDB4OTIsMHg0MCwweDMwLDB4M2UsMHgwOSwweDkwLDB4NzYsMHg5NSwweGUwLDB4NDR9LAotICAxNiwweDQyMGIsMCx7MHgwNCwweGYwLDB4ODAsMHgwNywweDkwLDB4NzYsMHg5NSwweGUwLDB4NTQsMHhmYiwweGYwLDB4OTAsMHg3NiwweDk1LDB4ZTAsMHg5MH0sCi0gICA0LDB4NDIxYiwwLHsweDgwLDB4MDEsMHhmMCwweDIyfSwKLSAgMTYsMHg0MjFmLDAsezB4OTAsMHg3NiwweDE5LDB4ZTAsMHg2NCwweDAxLDB4NzAsMHgzNSwweDkwLDB4NzYsMHg4NywweGUwLDB4ZmYsMHhkMywweDk0LDB4MmR9LAotICAxNiwweDQyMmYsMCx7MHg0MCwweDJiLDB4OTAsMHg3NiwweDg2LDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3NiwweDg1LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhkM30sCi0gIDE2LDB4NDIzZiwwLHsweDk0LDB4MGYsMHg0MCwweDE5LDB4ZTQsMHhmMCwweGVmLDB4ZDMsMHg5NCwweDMxLDB4NDAsMHgwOCwweDkwLDB4NzYsMHgxOSwweDc0fSwKLSAgMTYsMHg0MjRmLDAsezB4MDMsMHhmMCwweDgwLDB4MDYsMHg5MCwweDc2LDB4MTksMHg3NCwweDAyLDB4ZjAsMHgxMiwweDNlLDB4OWYsMHg5MCwweDc2LDB4MTl9LAotICAxNiwweDQyNWYsMCx7MHhlMCwweGI0LDB4MDIsMHgyYywweDkwLDB4NzYsMHg4NywweGUwLDB4ZmYsMHhjMywweDk0LDB4MmYsMHg1MCwweDIyLDB4ZWYsMHhkM30sCi0gIDE2LDB4NDI2ZiwwLHsweDk0LDB4MmEsMHg0MCwweDFjLDB4OTAsMHg3NiwweDg2LDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3NiwweDg1LDB4ZTAsMHgwNCwweGYwfSwKLSAgMTYsMHg0MjdmLDAsezB4ZTAsMHhkMywweDk0LDB4MGYsMHg0MCwweDBhLDB4ZTQsMHhmMCwweDkwLDB4NzYsMHgxOSwweDA0LDB4ZjAsMHgxMiwweDNlLDB4OWZ9LAotICAxNiwweDQyOGYsMCx7MHg5MCwweDc2LDB4MTksMHhlMCwweGI0LDB4MDIsMHgyNiwweDkwLDB4NzYsMHg4NywweGUwLDB4ZDMsMHg5NCwweDMxLDB4NDAsMHgxZH0sCi0gIDE2LDB4NDI5ZiwwLHsweDkwLDB4NzYsMHg4NiwweDc0LDB4MDEsMHhmMCwweDkwLDB4NzYsMHg4NSwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZDMsMHg5NCwweDBmfSwKLSAgMTYsMHg0MmFmLDAsezB4NDAsMHgwYiwweGU0LDB4ZjAsMHg5MCwweDc2LDB4MTksMHg3NCwweDAzLDB4ZjAsMHgxMiwweDNlLDB4OWYsMHg5MCwweDc2LDB4MTl9LAotICAxNiwweDQyYmYsMCx7MHhlMCwweDY0LDB4MDMsMHg3MCwweDNmLDB4OTAsMHg3NiwweDg3LDB4ZTAsMHhmZiwweGMzLDB4OTQsMHg1ZiwweDUwLDB4MzUsMHg5MH0sCi0gIDE2LDB4NDJjZiwwLHsweDc2LDB4ODYsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDc2LDB4ODUsMHhlMCwweDA0LDB4ZjAsMHhlMCwweGQzLDB4OTQsMHgwZiwweDQwfSwKLSAgMTYsMHg0MmRmLDAsezB4MjMsMHhlNCwweGYwLDB4ZWYsMHhjMywweDk0LDB4MmYsMHg1MCwweDBjLDB4ZWYsMHhkMywweDk0LDB4MmEsMHg0MCwweDA2LDB4OTB9LAotICAxNiwweDQyZWYsMCx7MHg3NiwweDE5LDB4NzQsMHgwMSwweGYwLDB4ZWYsMHhkMywweDk0LDB4MmYsMHg0MCwweDA2LDB4OTAsMHg3NiwweDE5LDB4NzQsMHgwMn0sCi0gIDE2LDB4NDJmZiwwLHsweGYwLDB4MTIsMHgzZSwweDlmLDB4OTAsMHg3NiwweDg2LDB4ZTAsMHg3MCwweDA1LDB4OTAsMHg3NiwweDg1LDB4ZjAsMHgyMiwweGU0fSwKLSAgIDUsMHg0MzBmLDAsezB4OTAsMHg3NiwweDg2LDB4ZjAsMHgyMn0sCi0gIDE2LDB4NDMxNCwwLHsweGU0LDB4OTAsMHg3NiwweDk2LDB4ZjAsMHg5MCwweDgwLDB4MDMsMHhmMCwweDkwLDB4N2YsMHhlMCwweDc0LDB4OTAsMHhmMCwweDkwfSwKLSAgMTYsMHg0MzI0LDAsezB4N2YsMHhlMSwweDc0LDB4MDQsMHhmMCwweGU0LDB4OTAsMHg3ZiwweGRkLDB4ZjAsMHg5MCwweDdmLDB4YTEsMHhmMCwweDUzLDB4OGV9LAotICAxNiwweDQzMzQsMCx7MHhmOCwweDc1LDB4ODgsMHgwNSwweDc1LDB4YjgsMHgyMCwweDc1LDB4ZjgsMHgwMSwweDQzLDB4OGUsMHgzMCwweGY1LDB4YzgsMHg3NX0sCi0gIDE2LDB4NDM0NCwwLHsweGNhLDB4N2YsMHg3NSwweGNiLDB4ZjgsMHg0MywweGE4LDB4MjAsMHgxMiwweDQ1LDB4NjUsMHhjMiwweDJjLDB4YzIsMHgyZCwweGMyfSwKLSAgMTYsMHg0MzU0LDAsezB4MmIsMHhjMiwweDJmLDB4OTAsMHg3ZiwweGZjLDB4NzQsMHhkZCwweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmZiwweGYwLDB4OTB9LAotICAxNiwweDQzNjQsMCx7MHg3ZiwweDk3LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MCwweDc2LDB4MTksMHg3NCwweDAxLDB4ZjAsMHhlNCwweDkwLDB4NzYsMHg4NX0sCi0gIDE2LDB4NDM3NCwwLHsweGYwLDB4YTMsMHhmMCwweDkwLDB4NzYsMHg4MSwweGYwLDB4OTAsMHg3NiwweDgwLDB4ZjAsMHgxMiwweDQ5LDB4YWUsMHgxMiwweDBmfSwKLSAgMTYsMHg0Mzg0LDAsezB4YzYsMHgxMiwweDRhLDB4ZjEsMHg5MCwweDdmLDB4OTcsMHhlMCwweDQ0LDB4MDgsMHhmMCwweGUwLDB4NTQsMHhiOSwweGYwLDB4ZDJ9LAotICAxNiwweDQzOTQsMCx7MHgzMCwweDIwLDB4MzAsMHgxOCwweDEyLDB4NGEsMHhhNiwweDEyLDB4MzAsMHgwMCwweDEyLDB4NDAsMHgwMCwweDEyLDB4NDIsMHgxZn0sCi0gIDE2LDB4NDNhNCwwLHsweDEyLDB4NDgsMHhiZCwweDEyLDB4MWIsMHgwNCwweDEyLDB4MTYsMHg2MSwweDEyLDB4NDIsMHgxZiwweDEyLDB4NGEsMHhhNiwweGMyfSwKLSAgMTYsMHg0M2I0LDAsezB4MmYsMHhjMiwweDMxLDB4YzIsMHgzMiwweGMyLDB4MzQsMHhjMiwweDMzLDB4YzIsMHgyOSwweGMyLDB4MjcsMHhjMiwweDI4LDB4ZTR9LAotICAxNiwweDQzYzQsMCx7MHhmNSwweDExLDB4OTAsMHg3NiwweDg5LDB4ZjAsMHg5MCwweDc2LDB4M2YsMHhmMCwweDkwLDB4NzYsMHg0MSwweGYwLDB4OTAsMHg3Nn0sCi0gIDE2LDB4NDNkNCwwLHsweDQwLDB4ZjAsMHg5MCwweDc2LDB4OGEsMHhmMCwweGEzLDB4ZjAsMHhhMywweDA0LDB4ZjAsMHhlNCwweGEzLDB4ZjAsMHg5MCwweDc2fSwKLSAgIDMsMHg0M2U0LDAsezB4OTksMHhmMCwweDIyfSwKLSAgMTYsMHg0M2U3LDAsezB4MTIsMHg0ZSwweDE5LDB4NDAsMHgwMiwweDgxLDB4YWMsMHg5MCwweDdmLDB4ZWIsMHhlMCwweDI0LDB4ZmUsMHg2MCwweDFlLDB4MTR9LAotICAxNiwweDQzZjcsMCx7MHg2MCwweDQ2LDB4MTQsMHg2MCwweDZlLDB4MTQsMHg3MCwweDAyLDB4ODEsMHg5ZCwweDI0LDB4MDQsMHg2MCwweDAyLDB4ODEsMHhhNX0sCi0gIDE2LDB4NDQwNywwLHsweDc0LDB4MDUsMHg5MCwweDdmLDB4ZDQsMHhmMCwweDc0LDB4MDAsMHg5MCwweDdmLDB4ZDUsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGVhfSwKLSAgMTYsMHg0NDE3LDAsezB4ZTAsMHhmZiwweDEyLDB4NGEsMHg1NSwweDhiLDB4MjAsMHg4YSwweDIxLDB4ODksMHgyMiwweGVhLDB4NDksMHg2MCwweDExLDB4Y2V9LAotICAxNiwweDQ0MjcsMCx7MHhlYSwweGNlLDB4ZWUsMHg5MCwweDdmLDB4ZDQsMHhmMCwweGNmLDB4ZTksMHhjZiwweGVmLDB4OTAsMHg3ZiwweGQ1LDB4ZjAsMHgyMn0sCi0gIDE2LDB4NDQzNywwLHsweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4ZWEsMHhlMCwweGZmLDB4MTIsMHg0NywweGI3fSwKLSAgMTYsMHg0NDQ3LDAsezB4OGIsMHgyMCwweDhhLDB4MjEsMHg4OSwweDIyLDB4ZWEsMHg0OSwweDYwLDB4MTEsMHhjZSwweGVhLDB4Y2UsMHhlZSwweDkwLDB4N2Z9LAotICAxNiwweDQ0NTcsMCx7MHhkNCwweGYwLDB4Y2YsMHhlOSwweGNmLDB4ZWYsMHg5MCwweDdmLDB4ZDUsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NH0sCi0gIDE2LDB4NDQ2NywwLHsweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhlYSwweGUwLDB4ZmYsMHg5MCwweDdlLDB4YzAsMHhlMCwweGZkLDB4YTMsMHhlMCwweGZifSwKLSAgMTYsMHg0NDc3LDAsezB4MTIsMHgxNywweDk0LDB4OGIsMHgyMCwweDhhLDB4MjEsMHg4OSwweDIyLDB4ZWEsMHg0OSwweDYwLDB4MTEsMHhjZSwweGVhLDB4Y2V9LAotICAxNiwweDQ0ODcsMCx7MHhlZSwweDkwLDB4N2YsMHhkNCwweGYwLDB4Y2YsMHhlOSwweGNmLDB4ZWYsMHg5MCwweDdmLDB4ZDUsMHhmMCwweDIyLDB4OTAsMHg3Zn0sCi0gIDE2LDB4NDQ5NywwLHsweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmfSwKLSAgIDUsMHg0NGE3LDAsezB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMH0sCi0gICAxLDB4NDRhYywwLHsweDIyfSwKLSAgMTYsMHg0NGFkLDAsezB4YzIsMHhhZiwweGQyLDB4MjQsMHg5MCwweDdmLDB4OTMsMHg3NCwweDMwLDB4ZjAsMHg5MCwweDdmLDB4OWMsMHg3NCwweGJiLDB4ZjB9LAotICAxNiwweDQ0YmQsMCx7MHg5MCwweDdmLDB4OTYsMHhlMCwweDQ0LDB4MzAsMHhmMCwweGUwLDB4NTQsMHgzMCwweGYwLDB4OTAsMHg3ZiwweDk0LDB4NzQsMHgzMH0sCi0gIDE2LDB4NDRjZCwwLHsweGYwLDB4OTAsMHg3ZiwweDlkLDB4NzQsMHhjZiwweGYwLDB4OTAsMHg3ZiwweDk3LDB4NzQsMHhhMCwweGYwLDB4OTAsMHg3ZiwweDk1fSwKLSAgMTYsMHg0NGRkLDAsezB4NzQsMHhjMCwweGYwLDB4OTAsMHg3ZiwweDllLDB4NzQsMHgwMywweGYwLDB4OTAsMHg3ZiwweDk5LDB4ZTAsMHgzMCwweGUyLDB4MDl9LAotICAxNiwweDQ0ZWQsMCx7MHg5MCwweDA1LDB4MTksMHg3NCwweGEwLDB4ZjAsMHhlNCwweGEzLDB4ZjAsMHhjMiwweDI1LDB4YzIsMHgyMiwweGMyLDB4MjMsMHhjMn0sCi0gIDE2LDB4NDRmZCwwLHsweDI2LDB4MTIsMHg0YiwweDI4LDB4MTIsMHgyZCwweGE5LDB4MTIsMHgzYiwweGQzLDB4MTIsMHg0NiwweDE5LDB4MTIsMHgzYSwweDQyfSwKLSAgMTYsMHg0NTBkLDAsezB4OTAsMHg3NiwweDY4LDB4NzQsMHgwMSwweGYwLDB4NzAsMHgwZiwweDEyLDB4NGMsMHgyOSwweDEyLDB4NGUsMHgxNSwweDEyLDB4NGV9LAotICAxNiwweDQ1MWQsMCx7MHgxNywweDEyLDB4MWIsMHg0MCwweDEyLDB4MTQsMHg5NiwweDEyLDB4NDMsMHgxNCwweDkwLDB4N2YsMHhhZiwweGUwLDB4NDQsMHgwMX0sCi0gIDE2LDB4NDUyZCwwLHsweGYwLDB4OTAsMHg3ZiwweGFlLDB4ZTAsMHg0NCwweDFmLDB4ZjAsMHg5MCwweDdmLDB4YWMsMHg3NCwweGZmLDB4ZjAsMHg5MCwweDdmfSwKLSAgMTYsMHg0NTNkLDAsezB4YWQsMHhmMCwweDkwLDB4N2YsMHhkZSwweGYwLDB4OTAsMHg3ZiwweGRmLDB4ZjAsMHg5MCwweDdmLDB4YWIsMHhmMCwweDkwLDB4N2Z9LAotICAxNiwweDQ1NGQsMCx7MHhhOSwweGYwLDB4OTAsMHg3ZiwweGFhLDB4ZjAsMHg1MywweDkxLDB4ZWYsMHg0MywweGQ4LDB4MjAsMHhkMiwweGU4LDB4NDMsMHhkOH0sCi0gICA4LDB4NDU1ZCwwLHsweDIwLDB4NTMsMHhhOCwweGEwLDB4NDMsMHhhOCwweDgwLDB4MjJ9LAotICAxNiwweDQ1NjUsMCx7MHg5MCwweDc2LDB4OWEsMHg3NCwweDAyLDB4ZjAsMHhlNCwweDkwLDB4NzYsMHg5MSwweGYwLDB4YTMsMHhmMCwweDkwLDB4NzYsMHg5MH0sCi0gIDE2LDB4NDU3NSwwLHsweGYwLDB4OTAsMHg3NiwweDkzLDB4ZjAsMHg5MCwweDc2LDB4OTYsMHg3NCwweDAzLDB4ZjAsMHg5MCwweDgwLDB4MDMsMHhmMCwweGU0fSwKLSAgMTYsMHg0NTg1LDAsezB4OTAsMHg3NiwweDk3LDB4ZjAsMHg5MCwweDgwLDB4MDIsMHhmMCwweDkwLDB4NzYsMHg5NCwweDA0LDB4ZjAsMHg5MCwweDgwLDB4MDB9LAotICAxNiwweDQ1OTUsMCx7MHhmMCwweGU0LDB4OTAsMHg3NiwweDhlLDB4ZjAsMHg5MCwweDc2LDB4MWEsMHhmMCwweDkwLDB4NzYsMHg5NSwweDA0LDB4ZjAsMHhjMn0sCi0gIDE2LDB4NDVhNSwwLHsweDJlLDB4OTAsMHg3ZiwweDliLDB4ZTAsMHhmZiwweDU0LDB4MTAsMHhmZiwweDcwLDB4MDIsMHhjMiwweDNmLDB4OTAsMHg3ZiwweDlifSwKLSAgMTYsMHg0NWI1LDAsezB4ZTAsMHhmZiwweDU0LDB4MTAsMHhmZSwweGZmLDB4YmUsMHgxMCwweDAyLDB4ZDIsMHgzZiwweDkwLDB4N2YsMHg5YiwweGUwLDB4ZmZ9LAotICAxNiwweDQ1YzUsMCx7MHg1NCwweDIwLDB4ZmYsMHg3MCwweDAyLDB4YzIsMHgzZSwweDkwLDB4N2YsMHg5YiwweGUwLDB4ZmYsMHg1NCwweDIwLDB4ZmUsMHhmZn0sCi0gIDE2LDB4NDVkNSwwLHsweGJlLDB4MjAsMHgwMiwweGQyLDB4M2UsMHgzMCwweDNmLDB4MDksMHg5MCwweDc2LDB4OTcsMHhlMCwweDU0LDB4ZmUsMHhmMCwweDgwfSwKLSAgMTYsMHg0NWU1LDAsezB4MDcsMHg5MCwweDc2LDB4OTcsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDkwLDB4NzYsMHg5NywweGUwLDB4OTAsMHg4MCwweDAyLDB4ZjB9LAotICAxNiwweDQ1ZjUsMCx7MHgzMCwweDNlLDB4MDksMHg5MCwweDc2LDB4OTUsMHhlMCwweDQ0LDB4MDQsMHhmMCwweDgwLDB4MDcsMHg5MCwweDc2LDB4OTUsMHhlMH0sCi0gIDE2LDB4NDYwNSwwLHsweDU0LDB4ZmIsMHhmMCwweDkwLDB4NzYsMHg5NSwweGUwLDB4OTAsMHg4MCwweDAxLDB4ZjAsMHhhMiwweDNlLDB4OTIsMHg0MCwweGEyfSwKLSAgIDMsMHg0NjE1LDAsezB4M2YsMHg5MiwweDQxfSwKLSAgIDEsMHg0NjE4LDAsezB4MjJ9LAotICAxNiwweDQ2MTksMCx7MHhlNCwweDkwLDB4NzYsMHgzNiwweGYwLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgzMiwweGY1LDB4ODIsMHhlNH0sCi0gIDE2LDB4NDYyOSwwLHsweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTQsMHhmMCwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDMzLDB4ZjUsMHg4MiwweGU0fSwKLSAgMTYsMHg0NjM5LDAsezB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDc2LDB4MzYsMHhlMCwweDA0LDB4ZjAsMHhlMCwweGZmLDB4NzV9LAotICAxNiwweDQ2NDksMCx7MHhmMCwweDAzLDB4YTQsMHgyNCwweDMyLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlNCwweGYwLDB4ZWYsMHg3NX0sCi0gIDE2LDB4NDY1OSwwLHsweGYwLDB4MDMsMHhhNCwweDI0LDB4MzMsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MDIsMHhmMCwweDkwfSwKLSAgMTYsMHg0NjY5LDAsezB4NzYsMHgzNiwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MzIsMHhmNSwweDgyLDB4ZTR9LAotICAxNiwweDQ2NzksMCx7MHgzNCwweDc1LDB4ZjUsMHg4MywweGU0LDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgzMywweGY1LDB4ODIsMHhlNH0sCi0gIDE2LDB4NDY4OSwwLHsweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwMywweGYwLDB4OTAsMHg3NiwweDM2LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhmZiwweDc1fSwKLSAgMTYsMHg0Njk5LDAsezB4ZjAsMHgwMywweGE0LDB4MjQsMHgzMiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTQsMHhmMCwweGVmLDB4NzV9LAotICAxNiwweDQ2YTksMCx7MHhmMCwweDAzLDB4YTQsMHgyNCwweDMzLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDA0LDB4ZjAsMHgyMn0sCi0gIDEyLDB4NDZiOSwwLHsweDc4LDB4N2YsMHhlNCwweGY2LDB4ZDgsMHhmZCwweDc1LDB4ODEsMHgzOCwweDAyLDB4NDcsMHgwMH0sCi0gIDE2LDB4NDZjNSwwLHsweDAyLDB4MDcsMHhhNiwweGU0LDB4OTMsMHhhMywweGY4LDB4ZTQsMHg5MywweGEzLDB4NDAsMHgwMywweGY2LDB4ODAsMHgwMSwweGYyfSwKLSAgMTYsMHg0NmQ1LDAsezB4MDgsMHhkZiwweGY0LDB4ODAsMHgyOSwweGU0LDB4OTMsMHhhMywweGY4LDB4NTQsMHgwNywweDI0LDB4MGMsMHhjOCwweGMzLDB4MzN9LAotICAxNiwweDQ2ZTUsMCx7MHhjNCwweDU0LDB4MGYsMHg0NCwweDIwLDB4YzgsMHg4MywweDQwLDB4MDQsMHhmNCwweDU2LDB4ODAsMHgwMSwweDQ2LDB4ZjYsMHhkZn0sCi0gIDE2LDB4NDZmNSwwLHsweGU0LDB4ODAsMHgwYiwweDAxLDB4MDIsMHgwNCwweDA4LDB4MTAsMHgyMCwweDQwLDB4ODAsMHg5MCwweDBjLDB4OGYsMHhlNCwweDdlfSwKLSAgMTYsMHg0NzA1LDAsezB4MDEsMHg5MywweDYwLDB4YmMsMHhhMywweGZmLDB4NTQsMHgzZiwweDMwLDB4ZTUsMHgwOSwweDU0LDB4MWYsMHhmZSwweGU0LDB4OTN9LAotICAxNiwweDQ3MTUsMCx7MHhhMywweDYwLDB4MDEsMHgwZSwweGNmLDB4NTQsMHhjMCwweDI1LDB4ZTAsMHg2MCwweGE4LDB4NDAsMHhiOCwweGU0LDB4OTMsMHhhM30sCi0gIDE2LDB4NDcyNSwwLHsweGZhLDB4ZTQsMHg5MywweGEzLDB4ZjgsMHhlNCwweDkzLDB4YTMsMHhjOCwweGM1LDB4ODIsMHhjOCwweGNhLDB4YzUsMHg4MywweGNhfSwKLSAgMTYsMHg0NzM1LDAsezB4ZjAsMHhhMywweGM4LDB4YzUsMHg4MiwweGM4LDB4Y2EsMHhjNSwweDgzLDB4Y2EsMHhkZiwweGU5LDB4ZGUsMHhlNywweDgwLDB4YmV9LAotICAxNiwweDQ3NDUsMCx7MHg5MCwweDdmLDB4ZWMsMHhlMCwweDkwLDB4NzYsMHg4MywweGYwLDB4ZTAsMHgxNCwweDYwLDB4MWQsMHgxNCwweDYwLDB4MmEsMHgxNH0sCi0gIDE2LDB4NDc1NSwwLHsweDYwLDB4MzcsMHgxNCwweDYwLDB4NDQsMHgyNCwweDA0LDB4NzAsMHg1MCwweDkwLDB4NzYsMHg5MSwweGUwLDB4OTAsMHg3ZiwweDAwfSwKLSAgMTYsMHg0NzY1LDAsezB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAxLDB4ZjAsMHg4MCwweDQ3LDB4OTAsMHg3NiwweDkyLDB4ZTAsMHg5MCwweDdmLDB4MDB9LAotICAxNiwweDQ3NzUsMCx7MHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDEsMHhmMCwweDgwLDB4MzcsMHg5MCwweDc2LDB4OTAsMHhlMCwweDkwLDB4N2YsMHgwMH0sCi0gIDE2LDB4NDc4NSwwLHsweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMSwweGYwLDB4ODAsMHgyNywweDkwLDB4NzYsMHg4NCwweGUwLDB4OTAsMHg3ZiwweDAwfSwKLSAgMTYsMHg0Nzk1LDAsezB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAxLDB4ZjAsMHg4MCwweDE3LDB4OTAsMHg3NiwweDkzLDB4ZTAsMHg5MCwweDdmLDB4MDB9LAotICAxNiwweDQ3YTUsMCx7MHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDEsMHhmMCwweDgwLDB4MDcsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMH0sCi0gICAyLDB4NDdiNSwwLHsweGQzLDB4MjJ9LAotICAgMiwweDQ3YjcsMCx7MHg4ZiwweDJlfSwKLSAgMTYsMHg0N2I5LDAsezB4ZTQsMHhmNSwweDJmLDB4NzUsMHgzMCwweGZmLDB4NzUsMHgzMSwweDA3LDB4NzUsMHgzMiwweDFhLDB4YWIsMHgzMCwweGFhLDB4MzF9LAotICAxNiwweDQ3YzksMCx7MHhhOSwweDMyLDB4OTAsMHgwMCwweDAxLDB4MTIsMHgzNiwweGFiLDB4YjQsMHgwMywweDFmLDB4YWYsMHgyZiwweDA1LDB4MmYsMHhlZn0sCi0gIDE2LDB4NDdkOSwwLHsweDY1LDB4MmUsMHg3MCwweDAxLDB4MjIsMHgxMiwweDM2LDB4OTIsMHg3ZSwweDAwLDB4MjksMHhmZiwweGVlLDB4M2EsMHhjOSwweGVmfSwKLSAgMTYsMHg0N2U5LDAsezB4YzksMHg3NSwweDMwLDB4ZmYsMHhmNSwweDMxLDB4ODksMHgzMiwweDgwLDB4ZDIsMHg3YiwweDAwLDB4N2EsMHgwMCwweDc5LDB4MDB9LAotICAgMSwweDQ3ZjksMCx7MHgyMn0sCi0gICA2LDB4NDdmYSwwLHsweDEyLDB4NGIsMHgyOCwweGMyLDB4MzEsMHgyMn0sCi0gIDE2LDB4NDgwMCwwLHsweGMwLDB4ZTAsMHhjMCwweGYwLDB4YzAsMHg4MywweGMwLDB4ODIsMHhjMCwweGQwLDB4ZTgsMHhjMCwweGUwLDB4ZTksMHhjMCwweGUwfSwKLSAgMTYsMHg0ODEwLDAsezB4ZWEsMHhjMCwweGUwLDB4ZWIsMHhjMCwweGUwLDB4ZWMsMHhjMCwweGUwLDB4ZWQsMHhjMCwweGUwLDB4ZWUsMHhjMCwweGUwLDB4ZWZ9LAotICAxNiwweDQ4MjAsMCx7MHhjMCwweGUwLDB4YzIsMHhjYSwweGMyLDB4Y2YsMHg5MCwweDdmLDB4OTgsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDMwLDB4MmUsMHgwM30sCi0gIDE2LDB4NDgzMCwwLHsweDEyLDB4MTQsMHhhNiwweDkwLDB4N2YsMHg5OCwweGUwLDB4NTQsMHhmZSwweGYwLDB4NTMsMHhhOCwweGZhLDB4MTIsMHgxNiwweDYxfSwKLSAgMTYsMHg0ODQwLDAsezB4ZDAsMHhlMCwweGZmLDB4ZDAsMHhlMCwweGZlLDB4ZDAsMHhlMCwweGZkLDB4ZDAsMHhlMCwweGZjLDB4ZDAsMHhlMCwweGZiLDB4ZDB9LAotICAxNiwweDQ4NTAsMCx7MHhlMCwweGZhLDB4ZDAsMHhlMCwweGY5LDB4ZDAsMHhlMCwweGY4LDB4ZDAsMHhkMCwweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhmMH0sCi0gICAzLDB4NDg2MCwwLHsweGQwLDB4ZTAsMHgzMn0sCi0gIDE2LDB4NDg2MywwLHsweDkwLDB4N2YsMHhlYywweGUwLDB4OTAsMHg3NiwweDgzLDB4ZjAsMHhlMCwweDE0LDB4NjAsMHgxNywweDE0LDB4NjAsMHgyMSwweDE0fSwKLSAgMTYsMHg0ODczLDAsezB4NjAsMHgyYiwweDE0LDB4NjAsMHgzMiwweDI0LDB4MDQsMHg3MCwweDM4LDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHg5MCwweDc2LDB4OTF9LAotICAxNiwweDQ4ODMsMCx7MHhmMCwweDgwLDB4MzUsMHg5MCwweDdmLDB4ZWEsMHhlMCwweDkwLDB4NzYsMHg5MiwweGYwLDB4MTIsMHgzZSwweDlmLDB4ODAsMHgyOH0sCi0gIDE2LDB4NDg5MywwLHsweDkwLDB4N2YsMHhlYSwweGUwLDB4OTAsMHg3NiwweDkwLDB4ZjAsMHgxMiwweDE4LDB4MDAsMHg4MCwweDFiLDB4OTAsMHg3ZiwweGVhfSwKLSAgMTYsMHg0OGEzLDAsezB4ZTAsMHg5MCwweDc2LDB4ODQsMHhmMCwweDgwLDB4MTEsMHg5MCwweDdmLDB4ZWEsMHhlMCwweDkwLDB4NzYsMHg5MywweGYwLDB4ODB9LAotICAxMCwweDQ4YjMsMCx7MHgwNywweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4ZDMsMHgyMn0sCi0gIDE2LDB4NDhiZCwwLHsweDMwLDB4MmQsMHgzOSwweGMyLDB4MmQsMHg5MCwweDc2LDB4MTksMHhlMCwweGZmLDB4YjQsMHgwMSwweDBkLDB4ZTQsMHg5MCwweDc2fSwKLSAgMTYsMHg0OGNkLDAsezB4N2MsMHhmMCwweGEzLDB4NzQsMHhmOCwweGYwLDB4YTMsMHg3NCwweDBhLDB4ZjAsMHhlZiwweGI0LDB4MDIsMHgwZCwweGU0LDB4OTB9LAotICAxNiwweDQ4ZGQsMCx7MHg3NiwweDdjLDB4ZjAsMHhhMywweDc0LDB4ZjAsMHhmMCwweGEzLDB4NzQsMHgwYiwweGYwLDB4ZWYsMHhiNCwweDAzLDB4MGQsMHhlNH0sCi0gIDEzLDB4NDhlZCwwLHsweDkwLDB4NzYsMHg3YywweGYwLDB4YTMsMHg3NCwweGY4LDB4ZjAsMHhhMywweDc0LDB4MTcsMHhmMCwweDIyfSwKLSAgIDYsMHg0OGZhLDAsezB4NTMsMHg5MSwweGJmLDB4ZDIsMHgyZCwweDMyfSwKLSAgMTYsMHg0OTAwLDAsezB4MDIsMHgyZiwweGU3LDB4MDAsMHgwMiwweDNkLDB4NDcsMHgwMCwweDAyLDB4NGQsMHhiNCwweDAwLDB4MDIsMHg0YywweDQzLDB4MDB9LAotICAxNiwweDQ5MTAsMCx7MHgwMiwweDRiLDB4ZTksMHgwMCwweDAyLDB4MmYsMHhmZiwweDAwLDB4MDIsMHg0YywweDViLDB4MDAsMHgwMiwweDRjLDB4MGEsMHgwMH0sCi0gIDE2LDB4NDkyMCwwLHsweDAyLDB4NGMsMHg3MiwweDAwLDB4MDIsMHg0YiwweDVhLDB4MDAsMHgwMiwweDRjLDB4ODksMHgwMCwweDAyLDB4NGMsMHhhMCwweDAwfSwKLSAgMTYsMHg0OTMwLDAsezB4MDIsMHg0YywweGI3LDB4MDAsMHgwMiwweDRjLDB4Y2UsMHgwMCwweDAyLDB4NGMsMHhlNSwweDAwLDB4MDIsMHg0YywweGZjLDB4MDB9LAotICAxNiwweDQ5NDAsMCx7MHgwMiwweDRkLDB4MTMsMHgwMCwweDAyLDB4NGQsMHgyYSwweDAwLDB4MDIsMHg0ZCwweDQxLDB4MDAsMHgwMiwweDRkLDB4NTgsMHgwMH0sCi0gICA4LDB4NDk1MCwwLHsweDAyLDB4NGQsMHg2ZiwweDAwLDB4MDIsMHg0ZCwweDg2LDB4MDB9LAotICAxNiwweDQ5NTgsMCx7MHhlNCwweDkwLDB4NzYsMHgyNiwweGYwLDB4OTAsMHg3NiwweDI2LDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgzNH0sCi0gIDE2LDB4NDk2OCwwLHsweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZSwweDkwLDB4N2YsMHhlYywweGUwLDB4ZmQsMHhlZSwweDZkfSwKLSAgMTYsMHg0OTc4LDAsezB4NjAsMHgwZSwweGVmLDB4YzMsMHg5NCwweDA0LDB4NTAsMHgwOCwweDkwLDB4NzYsMHgyNiwweGUwLDB4MDQsMHhmMCwweDgwLDB4ZDV9LAotICAxNiwweDQ5ODgsMCx7MHhlZiwweGI0LDB4MDQsMHgwOCwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHhlZiwweDc1LDB4ZjAsMHgwM30sCi0gIDE2LDB4NDk5OCwwLHsweGE0LDB4MjQsMHgzMiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHg5MCwweDdmLDB4MDAsMHhmMCwweDkwfSwKLSAgIDYsMHg0OWE4LDAsezB4N2YsMHhiNSwweDc0LDB4MDEsMHhmMCwweDIyfSwKLSAgMTYsMHg0OWFlLDAsezB4OTAsMHg3NiwweDQ2LDB4NzQsMHg4MCwweGYwLDB4ZTQsMHhhMywweGYwLDB4YTMsMHhmMCwweGEzLDB4ZjAsMHhhMywweGYwLDB4YTN9LAotICAxNiwweDQ5YmUsMCx7MHhmMCwweGEzLDB4ZjAsMHhhMywweGYwLDB4YTMsMHhmMCwweGEzLDB4NzQsMHg4MCwweGYwLDB4ZTQsMHhhMywweGYwLDB4YTMsMHhmMH0sCi0gIDE2LDB4NDljZSwwLHsweGEzLDB4ZjAsMHhhMywweGYwLDB4YTMsMHhmMCwweGEzLDB4ZjAsMHhhMywweDc0LDB4NDAsMHhmMCwweGU0LDB4YTMsMHhmMCwweGEzfSwKLSAgMTYsMHg0OWRlLDAsezB4NzQsMHg0MCwweGYwLDB4ZTQsMHhhMywweGYwLDB4YTMsMHhmMCwweGEzLDB4ZjAsMHhhMywweGYwLDB4YTMsMHhmMCwweGEzLDB4ZjB9LAotICAxNiwweDQ5ZWUsMCx7MHhhMywweDc0LDB4NDAsMHhmMCwweGU0LDB4YTMsMHhmMCwweGEzLDB4NzQsMHg0MCwweGYwLDB4ZTQsMHhhMywweGYwLDB4YTMsMHhmMH0sCi0gICA1LDB4NDlmZSwwLHsweGEzLDB4ZjAsMHhhMywweGYwLDB4MjJ9LAotICAxNiwweDRhMDMsMCx7MHhlNCwweDkwLDB4NzYsMHgyNSwweGYwLDB4OTAsMHg3NiwweDI1LDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgzNH0sCi0gIDE2LDB4NGExMywwLHsweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZSwweDkwLDB4N2YsMHhlYywweGUwLDB4ZmQsMHhlZSwweDZkfSwKLSAgMTYsMHg0YTIzLDAsezB4NjAsMHgwZSwweGVmLDB4YzMsMHg5NCwweDA0LDB4NTAsMHgwOCwweDkwLDB4NzYsMHgyNSwweGUwLDB4MDQsMHhmMCwweDgwLDB4ZDV9LAotICAxNiwweDRhMzMsMCx7MHhlZiwweGI0LDB4MDQsMHgwOCwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdlLDB4YzAsMHhlMH0sCi0gIDE2LDB4NGE0MywwLHsweGZlLDB4ZWYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MzIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGVlfSwKLSAgIDIsMHg0YTUzLDAsezB4ZjAsMHgyMn0sCi0gIDE2LDB4NGE1NSwwLHsweGU0LDB4ZmUsMHg3NSwweDFkLDB4ZmYsMHg3NSwweDFlLDB4MDUsMHg3NSwweDFmLDB4MTIsMHhhYiwweDFkLDB4YWEsMHgxZSwweGE5fSwKLSAgMTYsMHg0YTY1LDAsezB4MWYsMHg5MCwweDAwLDB4MDEsMHgxMiwweDM2LDB4YWIsMHg2NCwweDAyLDB4NzAsMHgyZiwweGNkLDB4ZWUsMHhjZCwweDBlLDB4ZWR9LAotICAxNiwweDRhNzUsMCx7MHg2ZiwweDcwLDB4MDEsMHgyMiwweDkwLDB4MDAsMHgwMiwweDEyLDB4MzcsMHgwZSwweDg1LDB4ZjAsMHgxYiwweGY1LDB4MWMsMHg2Mn0sCi0gIDE2LDB4NGE4NSwwLHsweDFiLDB4ZTUsMHgxYiwweDYyLDB4MWMsMHhlNSwweDFjLDB4NjIsMHgxYiwweDI5LDB4ZmQsMHhlNSwweDFiLDB4M2EsMHhjOSwweGVkfSwKLSAgMTYsMHg0YTk1LDAsezB4YzksMHg3NSwweDFkLDB4ZmYsMHhmNSwweDFlLDB4ODksMHgxZiwweDgwLDB4YzEsMHg3YiwweDAwLDB4N2EsMHgwMCwweDc5LDB4MDB9LAotICAgMSwweDRhYTUsMCx7MHgyMn0sCi0gIDE2LDB4NGFhNiwwLHsweGU0LDB4OTAsMHg3NiwweDliLDB4ZjAsMHg5MCwweDc2LDB4OWIsMHhlMCwweGZmLDB4MDQsMHhmMCwweGVmLDB4NjAsMHgwOCwweGUwfSwKLSAgMTYsMHg0YWI2LDAsezB4MjQsMHgwOCwweGY4LDB4ZTQsMHhmNiwweDgwLDB4ZWUsMHg5MCwweDc2LDB4OTYsMHhlMCwweDQ0LDB4MDQsMHhmMCwweDQ0LDB4MDh9LAotICAxNiwweDRhYzYsMCx7MHhmMCwweDkwLDB4ODAsMHgwMywweGYwLDB4ZTQsMHhmNSwweDE4LDB4ZDIsMHgzNSwweGY1LDB4MGUsMHhmNSwweDEwLDB4ZDIsMHgzNn0sCi0gIDE2LDB4NGFkNiwwLHsweDc1LDB4MTIsMHgxMSwweDc1LDB4MTMsMHgyMiwweGMyLDB4MzcsMHhjMiwweDM5LDB4YzIsMHgzOCwweGY1LDB4MTYsMHhmNSwweDE0fSwKLSAgMTEsMHg0YWU2LDAsezB4ZjUsMHgxYSwweGY1LDB4MGQsMHhjMiwweDNiLDB4YzIsMHgzYywweGMyLDB4M2QsMHgyMn0sCi0gIDE2LDB4NGFmMSwwLHsweGU0LDB4ZmYsMHg3NCwweDU2LDB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc2LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg3NCwweDI4fSwKLSAgMTYsMHg0YjAxLDAsezB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDgwLDB4ZjUsMHg4MywweGVlLDB4ZjAsMHg3NCwweDVlLDB4MmYsMHhmNSwweDgyLDB4ZTR9LAotICAxNiwweDRiMTEsMCx7MHgzNCwweDc2LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg3NCwweDM4LDB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDgwLDB4ZjUsMHg4M30sCi0gICA2LDB4NGIyMSwwLHsweGVlLDB4ZjAsMHgwZiwweGJmLDB4MDgsMHhjY30sCi0gICAxLDB4NGIyNywwLHsweDIyfSwKLSAgMTYsMHg0YjI4LDAsezB4ZTQsMHg5MCwweDcyLDB4MzYsMHhmMCwweGEzLDB4ZjAsMHg5MCwweDdmLDB4OTcsMHhlMCwweDU0LDB4ZmIsMHhmMCwweGU0LDB4OTB9LAotICAxNiwweDRiMzgsMCx7MHg3MiwweDMzLDB4ZjAsMHg5MCwweDcyLDB4MzIsMHhmMCwweDkwLDB4NzIsMHgwMSwweDA0LDB4ZjAsMHhlNCwweDkwLDB4NzIsMHgzM30sCi0gIDE2LDB4NGI0OCwwLHsweGYwLDB4OTAsMHg3MiwweDMyLDB4ZjAsMHg5MCwweDcyLDB4MDEsMHgwNCwweGYwLDB4OTAsMHg3ZiwweDk3LDB4ZTAsMHg0NCwweDA0fSwKLSAgIDIsMHg0YjU4LDAsezB4ZjAsMHgyMn0sCi0gIDE2LDB4NGI1YSwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYSwweGUwLDB4NDQsMHgwMiwweGYwfSwKLSAgMTYsMHg0YjZhLDAsezB4OTAsMHg3ZiwweGM3LDB4ZTAsMHhmNSwweDExLDB4NzUsMHgwZiwweDAwLDB4NzUsMHgwZCwweDAwLDB4ZDIsMHgzMywweGQwLDB4ODJ9LAotICAgNSwweDRiN2EsMCx7MHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSwKLSAgMTYsMHg0YjdmLDAsezB4OTAsMHg3ZiwweGQ2LDB4ZTAsMHg1NCwweGZiLDB4ZjAsMHhlMCwweDQ0LDB4MDgsMHhmMCwweDMwLDB4NDIsMHgwNCwweGUwLDB4NDR9LAotICAxNiwweDRiOGYsMCx7MHgwMiwweGYwLDB4N2YsMHhkYywweDdlLDB4MDUsMHgxMiwweDRkLDB4OWQsMHg5MCwweDdmLDB4ZDYsMHhlMCwweDU0LDB4ZjcsMHhmMH0sCi0gICA1LDB4NGI5ZiwwLHsweGUwLDB4NDQsMHgwNCwweGYwLDB4MjJ9LAotICAxNiwweDRiYTQsMCx7MHg5MCwweDdmLDB4ZWIsMHhlMCwweDE0LDB4NzAsMHgxNCwweDkwLDB4N2YsMHhlOSwweGUwLDB4MjQsMHg3ZiwweDcwLDB4MDQsMHgxMn0sCi0gIDE2LDB4NGJiNCwwLHsweDQ5LDB4NTgsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0fSwKLSAgIDMsMHg0YmM0LDAsezB4MDEsMHhmMCwweDIyfSwKLSAgMTYsMHg0YmM3LDAsezB4OTAsMHg3ZiwweGViLDB4ZTAsMHgxNCwweDcwLDB4MTMsMHg5MCwweDdmLDB4ZTksMHhlMCwweDE0LDB4NzAsMHgwNCwweDEyLDB4NGF9LAotICAxNiwweDRiZDcsMCx7MHgwMywweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMX0sCi0gICAyLDB4NGJlNywwLHsweGYwLDB4MjJ9LAotICAxNiwweDRiZTksMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWIsMHg3NCwweDEwLDB4ZjAsMHg5MH0sCi0gIDE2LDB4NGJmOSwwLHsweDc2LDB4OTYsMHhlMCwweDU0LDB4ZmQsMHhmMCwweDkwLDB4ODAsMHgwMywweGYwLDB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwfSwKLSAgIDEsMHg0YzA5LDAsezB4MzJ9LAotICAxNiwweDRjMGEsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWEsMHhlMCwweDQ0LDB4MDEsMHhmMH0sCi0gIDE1LDB4NGMxYSwwLHsweGMyLDB4MjksMHg5MCwweDc2LDB4OGQsMHg3NCwweDAxLDB4ZjAsMHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0sCi0gIDE2LDB4NGMyOSwwLHsweDkwLDB4N2YsMHhkNiwweGUwLDB4MzAsMHhlNywweDEyLDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg3ZiwweDE0LDB4N2UsMHgwMCwweDEyfSwKLSAgMTAsMHg0YzM5LDAsezB4NGQsMHg5ZCwweDkwLDB4N2YsMHhkNiwweGUwLDB4NTQsMHhmZSwweGYwLDB4MjJ9LAotICAxNiwweDRjNDMsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHhkMiwweDI1LDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFiLDB4NzQsMHgwOH0sCi0gICA4LDB4NGM1MywwLHsweGYwLDB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9LAotICAxNiwweDRjNWIsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YTksMHhlMCwweDQ0LDB4MDEsMHhmMH0sCi0gICA3LDB4NGM2YiwwLHsweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSwKLSAgMTYsMHg0YzcyLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGE5LDB4ZTAsMHg0NCwweDAyLDB4ZjB9LAotICAgNywweDRjODIsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0sCi0gIDE2LDB4NGM4OSwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhOSwweGUwLDB4NDQsMHgwNCwweGYwfSwKLSAgIDcsMHg0Yzk5LDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9LAotICAxNiwweDRjYTAsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWEsMHhlMCwweDQ0LDB4MDQsMHhmMH0sCi0gICA3LDB4NGNiMCwwLHsweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSwKLSAgMTYsMHg0Y2I3LDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGE5LDB4ZTAsMHg0NCwweDA4LDB4ZjB9LAotICAgNywweDRjYzcsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0sCi0gIDE2LDB4NGNjZSwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYSwweGUwLDB4NDQsMHgwOCwweGYwfSwKLSAgIDcsMHg0Y2RlLDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9LAotICAxNiwweDRjZTUsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YTksMHhlMCwweDQ0LDB4MTAsMHhmMH0sCi0gICA3LDB4NGNmNSwwLHsweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSwKLSAgMTYsMHg0Y2ZjLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFhLDB4ZTAsMHg0NCwweDEwLDB4ZjB9LAotICAgNywweDRkMGMsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0sCi0gIDE2LDB4NGQxMywwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhOSwweGUwLDB4NDQsMHgyMCwweGYwfSwKLSAgIDcsMHg0ZDIzLDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9LAotICAxNiwweDRkMmEsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWEsMHhlMCwweDQ0LDB4MjAsMHhmMH0sCi0gICA3LDB4NGQzYSwwLHsweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSwKLSAgMTYsMHg0ZDQxLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGE5LDB4ZTAsMHg0NCwweDQwLDB4ZjB9LAotICAgNywweDRkNTEsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0sCi0gIDE2LDB4NGQ1OCwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYSwweGUwLDB4NDQsMHg0MCwweGYwfSwKLSAgIDcsMHg0ZDY4LDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9LAotICAxNiwweDRkNmYsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YTksMHhlMCwweDQ0LDB4ODAsMHhmMH0sCi0gICA3LDB4NGQ3ZiwwLHsweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSwKLSAgMTYsMHg0ZDg2LDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFhLDB4ZTAsMHg0NCwweDgwLDB4ZjB9LAotICAgNywweDRkOTYsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0sCi0gIDE2LDB4NGQ5ZCwwLHsweDhlLDB4MzUsMHg4ZiwweDM2LDB4ZTUsMHgzNiwweDE1LDB4MzYsMHhhZSwweDM1LDB4NzAsMHgwMiwweDE1LDB4MzUsMHg0ZSwweDYwfSwKLSAgIDcsMHg0ZGFkLDAsezB4MDUsMHgxMiwweDE0LDB4ODUsMHg4MCwweGVlLDB4MjJ9LAotICAxNiwweDRkYjQsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWIsMHg3NCwweDA0LDB4ZjAsMHhkMH0sCi0gICA2LDB4NGRjNCwwLHsweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0sCi0gIDE2LDB4NGRjYSwwLHsweDkwLDB4NzYsMHg4MiwweGUwLDB4OTAsMHg3ZiwweDAwLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAxLDB4ZjAsMHhkMywweDIyfSwKLSAgMTIsMHg0ZGRhLDAsezB4YzIsMHgzNywweGU0LDB4ZjUsMHgwZSwweGY1LDB4MTAsMHhjMiwweDM2LDB4ZjUsMHgxNCwweDIyfSwKLSAgIDksMHg0ZGU2LDAsezB4YzIsMHgyNSwweDUzLDB4ZDgsMHhlZiwweDQzLDB4ZDgsMHgyMCwweDMyfSwKLSAgIDcsMHg0ZGVmLDAsezB4NTMsMHg5OCwweGZlLDB4NTMsMHg5OCwweGZkLDB4MzJ9LAotICAgNywweDRkZjYsMCx7MHg1MywweGMwLDB4ZmUsMHg1MywweGMwLDB4ZmQsMHgzMn0sCi0gICA2LDB4NGRmZCwwLHsweDUzLDB4OTEsMHg3ZiwweGQyLDB4MmMsMHgzMn0sCi0gICA0LDB4NGUwMywwLHsweDUzLDB4OTEsMHhkZiwweDMyfSwKLSAgIDQsMHg0ZTA3LDAsezB4NTMsMHhkOCwweGY3LDB4MzJ9LAotICAgNCwweDRlMGIsMCx7MHgxMiwweDE3LDB4MzAsMHgyMn0sCi0gICAzLDB4NGUwZiwwLHsweGMyLDB4OGQsMHgzMn0sCi0gICAzLDB4NGUxMiwwLHsweGMyLDB4OGYsMHgzMn0sCi0gICAyLDB4NGUxNSwwLHsweGQzLDB4MjJ9LAotICAgMiwweDRlMTcsMCx7MHhkMywweDIyfSwKLSAgIDIsMHg0ZTE5LDAsezB4ZDMsMHgyMn0sCi0gICAyLDB4NGUxYiwwLHsweGQzLDB4MjJ9LAotICAgMiwweDRlMWQsMCx7MHhkMywweDIyfSwKLSAgIDIsMHg0ZTFmLDAsezB4ZDMsMHgyMn0sCi0gICAyLDB4NGUyMSwwLHsweGMzLDB4MjJ9LAotICAgMCwweDAwMDAsMSx7MH0KLX07Ci0vKiBTb3VyY2U6IEVNSTYyTUZXLkhFWCAKLToxMDBDOEYwMDQxNzY2ODAxNDE3NjZBMDI0MTc2NkIwQUMxMjBDMTIxMjMKLToxMDQ0QUQwMEMyQUZEMjI0OTA3RjkzNzQzMEYwOTA3RjlDNzRCQkYwOTgKLToxMDQ0QkQwMDkwN0Y5NkUwNDQzMEYwRTA1NDMwRjA5MDdGOTQ3NDMwNkIKLToxMDQ0Q0QwMEYwOTA3RjlENzRDRkYwOTA3Rjk3NzRBMEYwOTA3Rjk1QzIKLToxMDQ0REQwMDc0QzBGMDkwN0Y5RTc0MDNGMDkwN0Y5OUUwMzBFMjA5RjQKLToxMDQ0RUQwMDkwMDUxOTc0QTBGMEU0QTNGMEMyMjVDMjIyQzIyM0MyMjQKLToxMDQ0RkQwMDI2MTI0QjI4MTIyREE5MTIzQkQzMTI0NjE5MTIzQTQyRkQKLToxMDQ1MEQwMDkwNzY2ODc0MDFGMDcwMEYxMjRDMjkxMjRFMTUxMjRFRjAKLToxMDQ1MUQwMDE3MTIxQjQwMTIxNDk2MTI0MzE0OTA3RkFGRTA0NDAxMDIKLToxMDQ1MkQwMEYwOTA3RkFFRTA0NDFGRjA5MDdGQUM3NEZGRjA5MDdGNzEKLToxMDQ1M0QwMEFERjA5MDdGREVGMDkwN0ZERkYwOTA3RkFCRjA5MDdGNUQKLToxMDQ1NEQwMEE5RjA5MDdGQUFGMDUzOTFFRjQzRDgyMEQyRTg0M0Q4MzkKLTowODQ1NUQwMDIwNTNBOEEwNDNBODgwMjIwRQotOjEwMDdBNjAwRTQ5MDc2NjZGMDEyNDRBRDIwMjYxMzkwNzY2NkUwQzM5OAotOjEwMDdCNjAwOTQwMjUwMEFFMDA0RjBEMjQyMTI0QjdGODBFQTMwMjZCRgotOjEwMDdDNjAwMDUxMjI4MDFDMjI2MzAyNTJCOTA3Njk2RTA1NEZDRjBCRgotOjEwMDdENjAwOTA4MDAzRjAxMjE0OTY5MDc2OTZFMDQ0MDNGMDkwODA5MQotOjEwMDdFNjAwMDNGMEU0OTA3NjY3RjA5MDc2NjdFMDA0RjBFMEI0NEJBRgotOjBBMDdGNjAwRjYxMjQ3RkExMjQxMUI4MEM1MjJEQgotOjEwMjgwMTAwQzIyMEMyMjFDMjJBOTA3RkU4RTAxMjM3RjkyODMwMDBBNQotOjEwMjgxMTAwMjg4QzAxMjhBMjAyMkExRjIxMkE2QTIyMjkzRDgwMjkwNwotOjEwMjgyMTAwN0Q4MTI5RDE4MjJBODRBMTJBQkFBMjAwMDAyQUJGOTBERgotOjEwMjgzMTAwN0ZFOUUwMTQ2MDExMjRGRTYwMjgyNEZFNjAzQjI0RkM0MwotOjEwMjg0MTAwNzA0MDEyM0ZFNTQxQ0IxMjRFMUQ0MDAyNDFDQjkwN0ZCQgotOjEwMjg1MTAwRUFFMEI0MDEwNEMyMjI0MUNCOTA3RkI0RTA0NDAxRjAyQwotOjEwMjg2MTAwNDFDQjEyNEUxRjkwN0ZFQUUwQjQwMTA0RDIyMjQxQ0I0QQotOjEwMjg3MTAwOTA3RkI0RTA0NDAxRjA0MUNCOTA3RkI0RTA0NDAxRjA5QgotOjEwMjg4MTAwNDFDQjkwN0ZCNEUwNDQwMUYwNDFDQjkwN0ZFOUUwMjQ1QgotOjEwMjg5MTAwRjU3MDA1MTI0ODYzNDFDQjkwN0ZCNEUwNDQwMUYwNDFFQgotOjEwMjhBMTAwQ0I5MDdGRTlFMDI0RkQ2MDU0MjQwMjYwMDIyMTM0MTJDMAotOjEwMjhCMTAwNEUxRDQwMDI0MUNCOTA3RkVBRTA3MDM4OTA3RkVDRTAwMgotOjEwMjhDMTAwRjQ1NDgwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjREMwotOjEwMjhEMTAwRjU4MkU0MzQ3RkY1ODNFNEYwOTA3RkVDRTA1NDgwRkZFRgotOjEwMjhFMTAwMTMxMzEzNTQxRkZGRTA1NDA3MkY5MDdGRDdGMEUwNDREOAotOjEwMjhGMTAwMjBGMDQxQ0I5MDdGQjRFMDQ0MDFGMDQxQ0IxMjRFMUY1OAotOjEwMjkwMTAwNDAwMjQxQ0I5MDdGRUFFMDcwMjA5MDdGRUNFMEY0NTRFQwotOjEwMjkxMTAwODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODI1MwotOjEwMjkyMTAwRTQzNDdGRjU4Mzc0MDFGMDQxQ0I5MDdGQjRFMDQ0MDEzRQotOjEwMjkzMTAwRjA0MUNCOTA3RkI0RTA0NDAxRjA0MUNCOTA3RkU5RTBERQotOjEwMjk0MTAwNjAxMjI0Rjg2MDA5MjQwMjcwMjkxMjQzRTc0MUNCMTI3NgotOjEwMjk1MTAwNERDQTQxQ0IxMjRFMUJBMjIyRTQzM0ZGMjVFMEZGQTI1OAotOjEwMjk2MTAwMjNFNDMzNEY5MDdGMDBGMEU0QTNGMDkwN0ZCNTc0MDIyRAotOjEwMjk3MTAwRjA0MUNCOTA3RkI0RTA0NDAxRjA0MUNCOTA3RkU5RTA5RQotOjEwMjk4MTAwNjAzMzI0RjY2MDJBMjQwNDcwM0Q5MDdGRUJFMDI0REU1RQotOjEwMjk5MTAwNjAwQzA0NzAxMjkwN0ZCNEUwNDQwMUYwNDFDQjkwN0Y1MQotOjEwMjlBMTAwQjRFMDQ0MDFGMDQxQ0I5MDdGQjRFMDQ0MDFGMDQxQ0I2RAotOjEwMjlCMTAwMTI0NzQ1NDFDQjEyNEUxQkU0OTA3RjAwRjBBM0YwOTBFQgotOjEwMjlDMTAwN0ZCNTc0MDJGMDQxQ0I5MDdGQjRFMDQ0MDFGMDQxQ0I3QwotOjEwMjlEMTAwOTA3RkU5RTAyNEY0NjAzNDI0MEM3MDM5MTI0RTFCOTA4RQotOjEwMjlFMTAwN0ZFQ0UwRjQ1NDgwRkZDNDU0MEZGRkUwNTQwNzJGMjUxRgotOjEwMjlGMTAwRTAyNEI0RjU4MkU0MzQ3RkY1ODNFMDU0RkQ5MDdGMDA1OAotOjEwMkEwMTAwRjBFNEEzRjA5MDdGQjU3NDAyRjA0MUNCOTA3RkI0RTA4NQotOjEwMkExMTAwNDQwMUYwNDFDQjkwN0ZCNEUwNDQwMUYwNDFDQjkwN0Y4MQotOjEwMkEyMTAwRTlFMDI0RjY2MDEyMTQ2MDFBMjQwMjcwMUREMjIwOTA4RAotOjEwMkEzMTAwN0ZCNEUwNDQwMUYwODAxMkQyMjA5MDdGQjRFMDQ0MDFFMQotOjEwMkE0MTAwRjA4MDA3OTA3RkI0RTA0NDAxRjAyMDIwMTg5MDdGRUVFMQotOjEwMkE1MTAwRTA3MDA0QTNFMDYwMEJEMjI5RDIyNzEyMTc0QUQyMkFEMAotOjEwMkE2MTAwODAwMzEyMDgwMEMyMjA4MDYxOTA3RkVFRTA3MDA0QTMxMQotOjEwMkE3MTAwRTA2MDBCRDIyOUQyMjgxMjE3NEFEMjJBODA0QzEyMzg5MAotOjEwMkE4MTAwNzQ4MDQ3OTA3RkU5RTAyNEZFNjAxMjE0NjAxQTI0MDJFQQotOjEwMkE5MTAwNzAxREQyMjE5MDdGQjRFMDQ0MDFGMDgwMTJEMjIxOTBDOAotOjEwMkFBMTAwN0ZCNEUwNDQwMUYwODAwNzkwN0ZCNEUwNDQwMUYwMjA1RQotOjEwMkFCMTAwMjEwMzEyMTAwMEMyMjE4MDExMTIyQUQ2ODAwQzEyNEU1RAotOjEwMkFDMTAwMjE1MDA3OTA3RkI0RTA0NDAxRjAyMDJBMDc5MDdGQjRBMQotOjA1MkFEMTAwRTA0NDAyRjAyMkM4Ci06MTA0M0U3MDAxMjRFMTk0MDAyODFBQzkwN0ZFQkUwMjRGRTYwMUUxNDUwCi06MTA0M0Y3MDA2MDQ2MTQ2MDZFMTQ3MDAyODE5RDI0MDQ2MDAyODFBNURBCi06MTA0NDA3MDA3NDA1OTA3RkQ0RjA3NDAwOTA3RkQ1RjAyMjkwN0ZFQUY2Ci06MTA0NDE3MDBFMEZGMTI0QTU1OEIyMDhBMjE4OTIyRUE0OTYwMTFDRTkyCi06MTA0NDI3MDBFQUNFRUU5MDdGRDRGMENGRTlDRkVGOTA3RkQ1RjAyMkEwCi06MTA0NDM3MDA5MDdGQjRFMDQ0MDFGMDIyOTA3RkVBRTBGRjEyNDdCNzkzCi06MTA0NDQ3MDA4QjIwOEEyMTg5MjJFQTQ5NjAxMUNFRUFDRUVFOTA3RjNECi06MTA0NDU3MDBENEYwQ0ZFOUNGRUY5MDdGRDVGMDIyOTA3RkI0RTA0NDNFCi06MTA0NDY3MDAwMUYwMjI5MDdGRUFFMEZGOTA3RUMwRTBGREEzRTBGQjMxCi06MTA0NDc3MDAxMjE3OTQ4QjIwOEEyMTg5MjJFQTQ5NjAxMUNFRUFDRTRECi06MTA0NDg3MDBFRTkwN0ZENEYwQ0ZFOUNGRUY5MDdGRDVGMDIyOTA3RkU5Ci06MTA0NDk3MDBCNEUwNDQwMUYwMjI5MDdGQjRFMDQ0MDFGMDIyOTA3RjIxCi06MDU0NEE3MDBCNEUwNDQwMUYwNDcKLTowMTQ0QUMwMDIyRUQKLTowMzAwMzMwMDAyNERFNjk1Ci06MDk0REU2MDBDMjI1NTNEOEVGNDNEODIwMzI1NgotOjAyMEM5RjAwQzEyRjYzCi06MDY0N0ZBMDAxMjRCMjhDMjMxMjIxRgotOjEwNDMxNDAwRTQ5MDc2OTZGMDkwODAwM0YwOTA3RkUwNzQ5MEYwOTBCMwotOjEwNDMyNDAwN0ZFMTc0MDRGMEU0OTA3RkRERjA5MDdGQTFGMDUzOEU4MAotOjEwNDMzNDAwRjg3NTg4MDU3NUI4MjA3NUY4MDE0MzhFMzBGNUM4NzU5MQotOjEwNDM0NDAwQ0E3Rjc1Q0JGODQzQTgyMDEyNDU2NUMyMkNDMjJEQzI4MgotOjEwNDM1NDAwMkJDMjJGOTA3RkZDNzREREYwOTA3RkZGNzRGRkYwOTBGMAotOjEwNDM2NDAwN0Y5N0UwNDQwMUYwOTA3NjE5NzQwMUYwRTQ5MDc2ODUyQgotOjEwNDM3NDAwRjBBM0YwOTA3NjgxRjA5MDc2ODBGMDEyNDlBRTEyMEY5RgotOjEwNDM4NDAwQzYxMjRBRjE5MDdGOTdFMDQ0MDhGMEUwNTRCOUYwRDJBNQotOjEwNDM5NDAwMzAyMDMwMTgxMjRBQTYxMjMwMDAxMjQwMDAxMjQyMUY3OAotOjEwNDNBNDAwMTI0OEJEMTIxQjA0MTIxNjYxMTI0MjFGMTI0QUE2QzIwMQotOjEwNDNCNDAwMkZDMjMxQzIzMkMyMzRDMjMzQzIyOUMyMjdDMjI4RTQ1NgotOjEwNDNDNDAwRjUxMTkwNzY4OUYwOTA3NjNGRjA5MDc2NDFGMDkwNzZGMgotOjEwNDNENDAwNDBGMDkwNzY4QUYwQTNGMEEzMDRGMEU0QTNGMDkwNzY4MgotOjAzNDNFNDAwOTlGMDIyMkIKLToxMDQ4QkQwMDMwMkQzOUMyMkQ5MDc2MTlFMEZGQjQwMTBERTQ5MDc2QkMKLToxMDQ4Q0QwMDdDRjBBMzc0RjhGMEEzNzQwQUYwRUZCNDAyMERFNDkwMzkKLToxMDQ4REQwMDc2N0NGMEEzNzRGMEYwQTM3NDBCRjBFRkI0MDMwREU0NDkKLTowRDQ4RUQwMDkwNzY3Q0YwQTM3NEY4RjBBMzc0MTdGMDIyMEQKLToxMDFCMDQwMDMwMkMzOEMyMkM5MDc2MTlFMEZGQjQwMTBFOTA3NjdDMEMKLToxMDFCMTQwMDc0QzBGMEEzNzQxNEYwQTM3NDBCRjBFRkI0MDIwREU0REEKLToxMDFCMjQwMDkwNzY3Q0YwQTM3NDEwRjBBMzc0MENGMEVGQjQwMzBCNjQKLTowQzFCMzQwMEU0OTA3NjdDRjBBMzc0MThGMEEzRjAyMjdCCi06MTA0MTFCMDA5MDc2OERFMDY0MDE3MDI3MzAyNzA4QzIyNzEyMDgwMEMzCi06MTA0MTJCMDAxMjE3NEEzMDI4MDhDMjI4MTIzODc0MTIxNzRBMzAyQTNDCi06MTA0MTNCMDAwRUU0OTA3NjhERjBDMjJBOTA3RkI0RTA0NDAyRjA5MEFBCi06MTA0MTRCMDA3NjNGRTBCNDAxMDVFNEYwMTIzMjZGOTA3NjQxRTBCNEIzCi06MTA0MTVCMDAwMTA1RTRGMDEyMzQ5QTkwNzY0MEUwQjQwMTAzMTIzNDc2Ci06MTA0MTZCMDA5QTEyMzAwMDMwMzMwMzEyNDAwMDkwN0Y5QkUwMjBFNDIyCi06MTA0MTdCMDAwMkMyM0Y5MDdGOUJFMDMwRTQwMkQyM0Y5MDdGOUJFMEY2Ci06MTA0MThCMDAyMEU1MDJDMjNFOTA3RjlCRTAzMEU1MDJEMjNFQTI0MTg5Ci06MTA0MTlCMDAzMDNGMDFCMzUwMUZBMjNGOTI0MTMwM0YwOTkwNzY5N0I5Ci06MTA0MUFCMDBFMDU0RkVGMDgwMDc5MDc2OTdFMDQ0MDFGMDkwNzY5NzBDCi06MTA0MUJCMDBFMDkwODAwMkYwMzAzRjM0OTA3NjE5RTBGRkI0MDEwRUFFCi06MTA0MUNCMDA5MDc2N0M3NDY3RjBBMzc0MDZGMEEzNzQwQkYwRUZCNEQ1Ci06MTA0MURCMDAwMjBCRTQ5MDc2N0NGMEEzRjBBMzc0MENGMEVGQjQwMzI1Ci06MTA0MUVCMDAwQkU0OTA3NjdDRjBBM0YwQTM3NDE4RjBBMjQwMzAzRTYxCi06MTA0MUZCMDAwMUIzNTAxRkEyM0U5MjQwMzAzRTA5OTA3Njk1RTA0NEE5Ci06MTA0MjBCMDAwNEYwODAwNzkwNzY5NUUwNTRGQkYwOTA3Njk1RTA5MDYzCi06MDQ0MjFCMDA4MDAxRjAyMjBDCi06MDI0RTE1MDBEMzIyQTYKLTowMjRFMTcwMEQzMjJBNAotOjAyNEUxOTAwRDMyMkEyCi06MTAzRkU1MDA5MDdGRUFFMDkwNzY4MkYwRTQ5MDc2OTFGMDkwNzY5Mjc4Ci06MEIzRkY1MDBGMDkwNzY5MEYwOTA3NjkzRjBEMzIyQ0QKLToxMDREQ0EwMDkwNzY4MkUwOTA3RjAwRjA5MDdGQjU3NDAxRjBEMzIyNTQKLToxMDQ4NjMwMDkwN0ZFQ0UwOTA3NjgzRjBFMDE0NjAxNzE0NjAyMTE0REQKLToxMDQ4NzMwMDYwMkIxNDYwMzIyNDA0NzAzODkwN0ZFQUUwOTA3NjkxQzQKLToxMDQ4ODMwMEYwODAzNTkwN0ZFQUUwOTA3NjkyRjAxMjNFOUY4MDI4ODgKLToxMDQ4OTMwMDkwN0ZFQUUwOTA3NjkwRjAxMjE4MDA4MDFCOTA3RkVBRjgKLToxMDQ4QTMwMEUwOTA3Njg0RjA4MDExOTA3RkVBRTA5MDc2OTNGMDgwMzgKLTowQTQ4QjMwMDA3OTA3RkI0RTA0NDAxRjBEMzIyMjcKLToxMDQ3NDUwMDkwN0ZFQ0UwOTA3NjgzRjBFMDE0NjAxRDE0NjAyQTE0RUQKLToxMDQ3NTUwMDYwMzcxNDYwNDQyNDA0NzA1MDkwNzY5MUUwOTA3RjAwOTcKLToxMDQ3NjUwMEYwOTA3RkI1NzQwMUYwODA0NzkwNzY5MkUwOTA3RjAwREQKLToxMDQ3NzUwMEYwOTA3RkI1NzQwMUYwODAzNzkwNzY5MEUwOTA3RjAwREYKLToxMDQ3ODUwMEYwOTA3RkI1NzQwMUYwODAyNzkwNzY4NEUwOTA3RjAwRUIKLToxMDQ3OTUwMEYwOTA3RkI1NzQwMUYwODAxNzkwNzY5M0UwOTA3RjAwREMKLToxMDQ3QTUwMEYwOTA3RkI1NzQwMUYwODAwNzkwN0ZCNEUwNDQwMUYwOEMKLTowMjQ3QjUwMEQzMjIwRAotOjAyNEUxQjAwRDMyMkEwCi06MDI0RTFEMDBEMzIyOUUKLTowMjRFMUYwMEQzMjI5QwotOjAyNEUyMTAwQzMyMkFBCi06MTAyRkU3MDBDMEUwQzA4M0MwODJEMjI2NTM5MUVGOTA3RkFCNzQwMUJCCi06MDgyRkY3MDBGMEQwODJEMDgzRDBFMDMyNUIKLToxMDREQjQwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQjc0MDRGMEQwMDUKLTowNjREQzQwMDgyRDA4M0QwRTAzMjMyCi06MTAzRDQ3MDBDMEUwQzBGMEMwODNDMDgyQzBEMEU4QzBFMEU5QzBFMEY2Ci06MTAzRDU3MDBFQUMwRTBFQkMwRTBFQ0MwRTBFREMwRTBFRUMwRTBFRkIxCi06MTAzRDY3MDBDMEUwOTA3RkEyRTA5MDc2N0ZGMDkwN0Y3NEUwOTA3NjNECi06MTAzRDc3MDA4N0YwOTA3Rjc1RTA5MDc2ODhGMDkwN0Y5OEUwNDQwMjE2Ci06MTAzRDg3MDBGMDkwNzY5NkUwRkYyMEUxMEM0NDAyRjA5MDgwMDNGMDdCCi06MTAzRDk3MDBEMjMyMTI0QjI4OTA3NjdGRTAyMEUyNTA5MDc2ODdFMDZGCi06MTAzREE3MDBGRUEzRTA3QzAwMjQwMEY1MzRFQzNFRjUzMzkwNzY5OEQyCi06MTAzREI3MDBFMEZEQUUzM0FGMzQxMjM2RDg5MDc2ODdFRkYwRDIyRkNFCi06MTAzREM3MDAzMDMxMjkyMDNGMjZDMjMxOTA3Rjk0RTA1NENGRjA5MEM0Ci06MTAzREQ3MDA3RjlBRTAzMEU0MDREMjJEQzIyQzkwN0Y5QUUwMjBFNTUwCi06MTAzREU3MDAwNEMyMkREMjJDOTA3Rjk0RTA0NDMwRjAxMjQ4QkQxMkNCCi06MTAzREY3MDAxQjA0MzAyRjEyMTI0MjFGQzIyRjc1RTgwMTEyMTY4QUI4Ci06MTAzRTA3MDA3NUU4MEREMjJCODAwNTc1RTgwMUMyMkIyMDJCMzQ5MDY1Ci06MTAzRTE3MDA3NjE5RTBGRkI0MDEwRTkwNzY3Qzc0NjdGMEEzNzQwNjAwCi06MTAzRTI3MDBGMEEzNzQwQkYwRUZCNDAyMEI5MDc2N0NFNEYwQTNGMEYwCi06MTAzRTM3MDBBMzc0MENGMEVGQjQwMzBCOTA3NjdDRTRGMEEzRjBBMzJCCi06MTAzRTQ3MDA3NDE4RjA3NUNBRDM3NUNCRkVEMkNBMzAzNDA0QzIzNEE1Ci06MTAzRTU3MDA4MDAyRDIzNDMwMzQwRDkwNzY4OUUwQzM5NDAzNDAwNDU1Ci06MTAzRTY3MDBFMDI0RkRGMDUzOTFFRjkwN0ZBQjc0MDJGMEYwOTA3RjY4Ci06MTAzRTc3MDA5OEUwNTRGREYwRDBFMEZGRDBFMEZFRDBFMEZERDBFMEM4Ci06MTAzRTg3MDBGQ0QwRTBGQkQwRTBGQUQwRTBGOUQwRTBGOEQwRDBEMDE5Ci06MDgzRTk3MDA4MkQwODNEMEYwRDBFMDMyQUMKLToxMDRCRTkwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQjc0MTBGMDkwMDYKLToxMDRCRjkwMDc2OTZFMDU0RkRGMDkwODAwM0YwRDA4MkQwODNEMEUwMjcKLTowMTRDMDkwMDMyNzgKLTowMTJGRkYwMDMyOUYKLToxMDRDNDMwMEMwRTBDMDgzQzA4MkQyMjU1MzkxRUY5MDdGQUI3NDA4M0MKLTowODRDNTMwMEYwRDA4MkQwODNEMEUwMzJFMgotOjEwNEM1QjAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkE5RTA0NDAxRjA4NAotOjA3NEM2QjAwRDA4MkQwODNEMEUwMzJCQgotOjEwNEMwQTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFBRTA0NDAxRjBENAotOjBGNEMxQTAwQzIyOTkwNzY4RDc0MDFGMEQwODJEMDgzRDBFMDMyMjEKLToxMDRDNzIwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBOUUwNDQwMkYwNkMKLTowNzRDODIwMEQwODJEMDgzRDBFMDMyQTQKLToxMDRCNUEwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQUUwNDQwMkYwODQKLToxMDRCNkEwMDkwN0ZDN0UwRjUxMTc1MEYwMDc1MEQwMEQyMzNEMDgyMjIKLTowNTRCN0EwMEQwODNEMEUwMzIwMQotOjEwNEM4OTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkE5RTA0NDA0RjA1MwotOjA3NEM5OTAwRDA4MkQwODNEMEUwMzI4RAotOjEwNENBMDAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFBRTA0NDA0RjAzQgotOjA3NENCMDAwRDA4MkQwODNEMEUwMzI3NgotOjEwNENCNzAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkE5RTA0NDA4RjAyMQotOjA3NENDNzAwRDA4MkQwODNEMEUwMzI1RgotOjEwNENDRTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFBRTA0NDA4RjAwOQotOjA3NENERTAwRDA4MkQwODNEMEUwMzI0OAotOjEwNENFNTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkE5RTA0NDEwRjBFQgotOjA3NENGNTAwRDA4MkQwODNEMEUwMzIzMQotOjEwNENGQzAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFBRTA0NDEwRjBEMwotOjA3NEQwQzAwRDA4MkQwODNEMEUwMzIxOQotOjEwNEQxMzAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkE5RTA0NDIwRjBBQwotOjA3NEQyMzAwRDA4MkQwODNEMEUwMzIwMgotOjEwNEQyQTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFBRTA0NDIwRjA5NAotOjA3NEQzQTAwRDA4MkQwODNEMEUwMzJFQgotOjEwNEQ0MTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkE5RTA0NDQwRjA1RQotOjA3NEQ1MTAwRDA4MkQwODNEMEUwMzJENAotOjEwNEQ1ODAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFBRTA0NDQwRjA0NgotOjA3NEQ2ODAwRDA4MkQwODNEMEUwMzJCRAotOjEwNEQ2RjAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkE5RTA0NDgwRjBGMAotOjA3NEQ3RjAwRDA4MkQwODNEMEUwMzJBNgotOjEwNEQ4NjAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFBRTA0NDgwRjBEOAotOjA3NEQ5NjAwRDA4MkQwODNEMEUwMzI4RgotOjEwNDIxRjAwOTA3NjE5RTA2NDAxNzAzNTkwNzY4N0UwRkZEMzk0MkQ4NgotOjEwNDIyRjAwNDAyQjkwNzY4Njc0MDFGMDkwNzY4NUUwMDRGMEUwRDMxMQotOjEwNDIzRjAwOTQwRjQwMTlFNEYwRUZEMzk0MzE0MDA4OTA3NjE5NzQzRAotOjEwNDI0RjAwMDNGMDgwMDY5MDc2MTk3NDAyRjAxMjNFOUY5MDc2MTk1MwotOjEwNDI1RjAwRTBCNDAyMkM5MDc2ODdFMEZGQzM5NDJGNTAyMkVGRDM2NwotOjEwNDI2RjAwOTQyQTQwMUM5MDc2ODY3NDAxRjA5MDc2ODVFMDA0RjBENQotOjEwNDI3RjAwRTBEMzk0MEY0MDBBRTRGMDkwNzYxOTA0RjAxMjNFOUZCOQotOjEwNDI4RjAwOTA3NjE5RTBCNDAyMjY5MDc2ODdFMEQzOTQzMTQwMURFMgotOjEwNDI5RjAwOTA3Njg2NzQwMUYwOTA3Njg1RTAwNEYwRTBEMzk0MEY2OQotOjEwNDJBRjAwNDAwQkU0RjA5MDc2MTk3NDAzRjAxMjNFOUY5MDc2MTk0QwotOjEwNDJCRjAwRTA2NDAzNzAzRjkwNzY4N0UwRkZDMzk0NUY1MDM1OTBDMgotOjEwNDJDRjAwNzY4Njc0MDFGMDkwNzY4NUUwMDRGMEUwRDM5NDBGNDA4OQotOjEwNDJERjAwMjNFNEYwRUZDMzk0MkY1MDBDRUZEMzk0MkE0MDA2OTBCMQotOjEwNDJFRjAwNzYxOTc0MDFGMEVGRDM5NDJGNDAwNjkwNzYxOTc0MDI2QgotOjEwNDJGRjAwRjAxMjNFOUY5MDc2ODZFMDcwMDU5MDc2ODVGMDIyRTQ2RQotOjA1NDMwRjAwOTA3Njg2RjAyMjBCCi06MTA0NTY1MDA5MDc2OUE3NDAyRjBFNDkwNzY5MUYwQTNGMDkwNzY5MEFDCi06MTA0NTc1MDBGMDkwNzY5M0YwOTA3Njk2NzQwM0YwOTA4MDAzRjBFNEQzCi06MTA0NTg1MDA5MDc2OTdGMDkwODAwMkYwOTA3Njk0MDRGMDkwODAwMEY5Ci06MTA0NTk1MDBGMEU0OTA3NjhFRjA5MDc2MUFGMDkwNzY5NTA0RjBDMjVECi06MTA0NUE1MDAyRTkwN0Y5QkUwRkY1NDEwRkY3MDAyQzIzRjkwN0Y5QkNGCi06MTA0NUI1MDBFMEZGNTQxMEZFRkZCRTEwMDJEMjNGOTA3RjlCRTBGRjRDCi06MTA0NUM1MDA1NDIwRkY3MDAyQzIzRTkwN0Y5QkUwRkY1NDIwRkVGRjA3Ci06MTA0NUQ1MDBCRTIwMDJEMjNFMzAzRjA5OTA3Njk3RTA1NEZFRjA4MDJGCi06MTA0NUU1MDAwNzkwNzY5N0UwNDQwMUYwOTA3Njk3RTA5MDgwMDJGMDhFCi06MTA0NUY1MDAzMDNFMDk5MDc2OTVFMDQ0MDRGMDgwMDc5MDc2OTVFMDhBCi06MTA0NjA1MDA1NEZCRjA5MDc2OTVFMDkwODAwMUYwQTIzRTkyNDBBMjk2Ci06MDM0NjE1MDAzRjkyNDE5MAotOjAxNDYxODAwMjI3RgotOjEwM0U5RjAwOTA3NjkyRTAxNDYwMUQxNDcwMDJFMTU0MjQwMjYwMDJDNwotOjEwM0VBRjAwRTFFNDkwNzY5NDc0MDFGMDkwODAwMEYwRTQ5MDc2OEVDNwotOjEwM0VCRjAwRjBEMjMxMjI5MDc2MTlFMEZGQjQwMTFCRTQ5MDdGRjIyQgotOjEwM0VDRjAwRjA5MDdGRjM3NDMwRjA5MDdGRkY3NEZDRjA5MDc2OTc1MgotOjEwM0VERjAwRTA1NEZERjA1NEZCRjBFRkI0MDIxQkU0OTA3RkYyRjBERQotOjEwM0VFRjAwOTA3RkYzNzQzNEYwOTA3RkZGNzRGQ0YwOTA3Njk3RTAzRQotOjEwM0VGRjAwNDQwMkYwNTRGQkYwRUZCNDAzMThFNDkwN0ZGMkYwOTAxQgotOjEwM0YwRjAwN0ZGMzc0NjRGMDkwN0ZGRjc0RkNGMDkwNzY5N0UwNDQzOQotOjEwM0YxRjAwMDRGMDkwNzY5NEUwNDQwMUYwOTA4MDAwRjAzMDNGMDk3NwotOjEwM0YyRjAwOTA3Njk3RTA1NEZFRjA4MDA3OTA3Njk3RTA0NDAxRjA4QQotOjEwM0YzRjAwOTA3Njk3RTA5MDgwMDJGMDkwNzY5ODc0MDRGMDkwNzZFNwotOjEwM0Y0RjAwOEU3NDAxRjAyMjkwNzYxOUUwRkZCNDAxMUJFNDkwN0Y4QwotOjEwM0Y1RjAwRjJGMDkwN0ZGMzc0NDRGMDkwN0ZGRjc0RkNGMDkwNzY1MgotOjEwM0Y2RjAwOTdFMDU0RkRGMDU0RkJGMEVGQjQwMjFCRTQ5MDdGRjJBNgotOjEwM0Y3RjAwRjA5MDdGRjM3NDRDRjA5MDdGRkY3NEZDRjA5MDc2OTc4NQotOjEwM0Y4RjAwRTA0NDAyRjA1NEZCRjBFRkI0MDMxOEU0OTA3RkYyRjAzQQotOjEwM0Y5RjAwOTA3RkYzNzQ5NEYwOTA3RkZGNzRGQ0YwOTA3Njk3RTAyRAotOjEwM0ZBRjAwNDQwNEYwOTA3Njk0RTA1NEZFRjA5MDgwMDBGMDMwM0Y5RgotOjEwM0ZCRjAwMDk5MDc2OTdFMDU0RkVGMDgwMDc5MDc2OTdFMDQ0MDFFMQotOjEwM0ZDRjAwRjA5MDc2OTdFMDkwODAwMkYwOTA3Njk4NzQwNkYwOTBEQgotOjA2M0ZERjAwNzY4RTc0MDJGMDIyNTAKLToxMDE4MDAwMDkwNzY5MEUwMTQ2MDM3MTQ3MDAyMDFEODE0NzAwMjIxQjEKLToxMDE4MTAwMDcyMTQ3MDAyNDEzQjI0MDQ2MDAyNjEwMzkwN0ZGQzc0RTcKLToxMDE4MjAwMENDRjA5MDdGRkY3NEZDRjA5MDc2OTVFMDQ0MDFGMDU0OEEKLToxMDE4MzAwMDA1RjA5MDgwMDFGMEU0OTA3NjFBRjBDMjJFMjI5MDc2QTYKLToxMDE4NDAwMDk1RTA0NDAxRjA0NDAyRjAzMDNFMDZFMDQ0MDRGMDgwQUMKLToxMDE4NTAwMDA3OTA3Njk1RTA1NEZCRjA5MDc2MUFFMEI0MDEwODkwN0EKLToxMDE4NjAwMDc2OTVFMDkwODAwMUYwOTA3NjE5RTBGRkI0MDEyMjkwMjcKLToxMDE4NzAwMDdGRkM3NDc0RjA5MDdGRkY3NEZDRjA5MDc2OEY3NDJCNzMKLToxMDE4ODAwMEYwOTA3Njk3RTA1NEZERjBFNDkwNzY4MUYwOTA3NjgwQzkKLToxMDE4OTAwMEYwRUZCNDAyMjI5MDdGRkM3NDY4RjA5MDdGRkY3NEZDM0MKLToxMDE4QTAwMEYwOTA3NjhGNzQyRkYwOTA3Njk3RTA0NDAyRjBFNDkwRjkKLToxMDE4QjAwMDc2ODFGMDkwNzY4MEYwMzAzRjA5OTA3Njk3RTA1NEZFODQKLToxMDE4QzAwMEYwODAwNzkwNzY5N0UwNDQwMUYwOTA3Njk3RTA1NEZCMjMKLToxMDE4RDAwMEYwOTA4MDAyRjBEMjJFMjI5MDc2OTVFMDU0RkVGMDQ0RjMKLToxMDE4RTAwMDAyRjAzMDNFMDZFMDQ0MDRGMDgwMDc5MDc2OTVFMDU0MjQKLToxMDE4RjAwMEZCRjA5MDc2MUFFMEI0MDEwODkwNzY5NUUwOTA4MDAxQjQKLToxMDE5MDAwMEYwOTA3NjE5RTBGRkI0MDEyMjkwN0ZGQzc0MzBGMDkwRTMKLToxMDE5MTAwMDdGRkY3NEZDRjA5MDc2OEY3NDJCRjA5MDc2OTdFMDU0RjQKLToxMDE5MjAwMEZERjBFNDkwNzY4MUYwOTA3NjgwRjBFRkI0MDIyMjkwQTIKLToxMDE5MzAwMDdGRkM3NDFDRjA5MDdGRkY3NEZDRjA5MDc2OEY3NDJGMDYKLToxMDE5NDAwMEYwOTA3Njk3RTA0NDAyRjBFNDkwNzY4MUYwOTA3NjgwMTMKLToxMDE5NTAwMEYwMzAzRjA5OTA3Njk3RTA1NEZFRjA4MDA3OTA3Njk3M0MKLToxMDE5NjAwMEUwNDQwMUYwOTA3Njk3RTA1NEZCRjA5MDgwMDJGMEQyRDIKLToxMDE5NzAwMDJFMjI5MDc2OTVFMDQ0MDFGMDQ0MDJGMDQ0MDhGMDMwQzUKLToxMDE5ODAwMDNFMDZFMDQ0MDRGMDgwMDc5MDc2OTVFMDU0RkJGMDkwMkEKLToxMDE5OTAwMDc2MUFFMEI0MDEwODkwNzY5NUUwOTA4MDAxRjA5MDc2OTgKLToxMDE5QTAwMDE5RTBGRkI0MDEyNTkwN0ZGQzc0Q0NGMDkwN0ZGRjc0QTgKLToxMDE5QjAwMEZDRjA5MDc2OEY3NDJCRjA5MDc2OTdFMDU0RkRGMDU0MDUKLToxMDE5QzAwMEZCRjBFNDkwNzY4MUYwOTA3NjgwRjBFRkI0MDIyNTkwMDEKLToxMDE5RDAwMDdGRkM3NEM4RjA5MDdGRkY3NEZDRjA5MDc2OEY3NDJGQkEKLToxMDE5RTAwMEYwOTA3Njk3RTA0NDAyRjA1NEZCRjBFNDkwNzY4MUYwQkEKLToxMDE5RjAwMDkwNzY4MEYwRUZCNDAzMjU5MDdGRkM3NDk4RjA5MDdGOTAKLToxMDFBMDAwMEZGNzRGQ0YwOTA3NjhGNzQ1RkYwOTA3Njk3RTA1NEZENTEKLToxMDFBMTAwMEYwNDQwNEYwRTQ5MDc2ODFGMDkwNzY4MEYwMzAzRjA5NTUKLToxMDFBMjAwMDkwNzY5N0UwNTRGRUYwODAwNzkwNzY5N0UwNDQwMUYwQkUKLToxMDFBMzAwMDkwNzY5N0UwOTA4MDAyRjBEMjJFMjI5MDc2OTVFMDU0MzYKLToxMDFBNDAwMEZFRjA0NDAyRjA0NDA4RjAzMDNFMDZFMDQ0MDRGMDgwMkEKLToxMDFBNTAwMDA3OTA3Njk1RTA1NEZCRjA5MDc2MUFFMEI0MDEwODkwNzgKLToxMDFBNjAwMDc2OTVFMDkwODAwMUYwOTA3NjE5RTBGRkI0MDEyNTkwMjIKLToxMDFBNzAwMDdGRkM3NEI0RjA5MDdGRkY3NEZDRjA5MDc2OEY3NDJCMzEKLToxMDFBODAwMEYwOTA3Njk3RTA1NEZERjA1NEZCRjBFNDkwNzY4MUYwMEUKLToxMDFBOTAwMDkwNzY4MEYwRUZCNDAyMjU5MDdGRkM3NEIwRjA5MDdGRDgKLToxMDFBQTAwMEZGNzRGQ0YwOTA3NjhGNzQyRkYwOTA3Njk3RTA0NDAyRUMKLToxMDFBQjAwMEYwNTRGQkYwRTQ5MDc2ODFGMDkwNzY4MEYwRUZCNDAzODAKLToxMDFBQzAwMDI1OTA3RkZDNzQ2OEYwOTA3RkZGNzRGQ0YwOTA3NjhGMTcKLToxMDFBRDAwMDc0NUZGMDkwNzY5N0UwNTRGREYwNDQwNEYwRTQ5MDc2NjMKLToxMDFBRTAwMDgxRjA5MDc2ODBGMDMwM0YwOTkwNzY5N0UwNTRGRUYwRDgKLToxMDFBRjAwMDgwMDc5MDc2OTdFMDQ0MDFGMDkwNzY5N0UwOTA4MDAyMUUKLTowNDFCMDAwMEYwRDIyRTIyQ0YKLTowNDBDQTEwMDQxNzYyMzAwNzUKLToxMDJEQTkwMEU0OTA3NjM2RjBFMEZGNzVGMDAzQTQyNDBFRjU4MkU0OTIKLToxMDJEQjkwMDM0NzVGNTgzNzQwMUYwRUY3NUYwMDNBNDI0MEZGNTgyREYKLToxMDJEQzkwMEU0MzQ3NUY1ODM3NDAxRjBFRjc1RjAwM0E0MjQxMEY1NkMKLToxMDJERDkwMDgyRTQzNDc1RjU4M0U0RjA5MDc2MzZFMDA0RjBFMEZGQTAKLToxMDJERTkwMDc1RjAwM0E0MjQwRUY1ODJFNDM0NzVGNTgzNzQxMEYwQUMKLToxMDJERjkwMEVGNzVGMDAzQTQyNDBGRjU4MkU0MzQ3NUY1ODM3NDA1QTcKLToxMDJFMDkwMEYwRUY3NUYwMDNBNDI0MTBGNTgyRTQzNDc1RjU4M0U0M0EKLToxMDJFMTkwMEYwOTA3NjM2RTAwNEYwRTBGRjc1RjAwM0E0MjQwRUY1OTcKLToxMDJFMjkwMDgyRTQzNDc1RjU4Mzc0MDJGMEVGNzVGMDAzQTQyNDBGN0UKLToxMDJFMzkwMEY1ODJFNDM0NzVGNTgzNzQwMkYwRUY3NUYwMDNBNDI0ODgKLToxMDJFNDkwMDEwRjU4MkU0MzQ3NUY1ODNFNEYwOTA3NjM2RTAwNEYwMDkKLToxMDJFNTkwMEUwRkY3NUYwMDNBNDI0MEVGNTgyRTQzNDc1RjU4Mzc0NUMKLToxMDJFNjkwMDAxRjBFRjc1RjAwM0E0MjQwRkY1ODJFNDM0NzVGNTgzQkUKLToxMDJFNzkwMDc0MDNGMEVGNzVGMDAzQTQyNDEwRjU4MkU0MzQ3NUY1QkEKLToxMDJFODkwMDgzRTRGMDkwNzYzNkUwMDRGMEUwRkY3NUYwMDNBNDI0QzMKLToxMDJFOTkwMDBFRjU4MkU0MzQ3NUY1ODM3NDEwRjBFRjc1RjAwM0E0MzAKLToxMDJFQTkwMDI0MEZGNTgyRTQzNDc1RjU4Mzc0MDZGMEVGNzVGMDAzQTkKLToxMDJFQjkwMEE0MjQxMEY1ODJFNDM0NzVGNTgzRTRGMDkwNzYzNkUwQzUKLToxMDJFQzkwMDA0RjBFMEZGNzVGMDAzQTQyNDBFRjU4MkU0MzQ3NUY1RUYKLToxMDJFRDkwMDgzNzQwMkYwRUY3NUYwMDNBNDI0MEZGNTgyRTQzNDc1Q0UKLToxMDJFRTkwMEY1ODM3NDA0RjBFRjc1RjAwM0E0MjQxMEY1ODJFNDM0M0IKLToxMDJFRjkwMDc1RjU4M0U0RjA5MDc2MzZFMDA0RjBFMEZGNzVGMDAzQjEKLToxMDJGMDkwMEE0MjQwRUY1ODJFNDM0NzVGNTgzNzQwMkYwRUY3NUYwQUMKLToxMDJGMTkwMDAzQTQyNDBGRjU4MkU0MzQ3NUY1ODM3NDA4RjBFRjc1ODIKLToxMDJGMjkwMEYwMDNBNDI0MTBGNTgyRTQzNDc1RjU4Mzc0MDRGMDkwNTkKLToxMDJGMzkwMDc2MzZFMDA0RjBFMEZGNzVGMDAzQTQyNDBFRjU4MkU0OTAKLToxMDJGNDkwMDM0NzVGNTgzNzQwMkYwRUY3NUYwMDNBNDI0MEZGNTgyNEMKLToxMDJGNTkwMEU0MzQ3NUY1ODM3NDBBRjBFRjc1RjAwM0E0MjQxMEY1RDEKLToxMDJGNjkwMDgyRTQzNDc1RjU4Mzc0MDRGMDkwNzYzNkUwMDRGMEUwNzkKLToxMDJGNzkwMEZGNzVGMDAzQTQyNDBFRjU4MkU0MzQ3NUY1ODM3NDAyMTkKLToxMDJGODkwMEYwRUY3NUYwMDNBNDI0MEZGNTgyRTQzNDc1RjU4Mzc0MkEKLToxMDJGOTkwMDA5RjBFRjc1RjAwM0E0MjQxMEY1ODJFNDM0NzVGNTgzODQKLToxMDJGQTkwMDc0MDRGMDkwNzYzNkUwMDRGMEUwRkY3NUYwMDNBNDI0OTEKLToxMDJGQjkwMDBFRjU4MkU0MzQ3NUY1ODM3NDAyRjBFRjc1RjAwM0E0MUQKLToxMDJGQzkwMDI0MEZGNTgyRTQzNDc1RjU4Mzc0MDdGMEVGNzVGMDAzODcKLTowRTJGRDkwMEE0MjQxMEY1ODJFNDM0NzVGNTgzNzQwNEYwMjIwQwotOjEwM0JEMzAwRTQ5MDc2MzZGMEUwRkI3NUYwMEZBNDI0NDFGNTgyRTQxRgotOjEwM0JFMzAwMzQ3NUY1ODM3NDQwRjBFQjc1RjAwRkE0MjQ0MkY1ODIyRAotOjEwM0JGMzAwRTQzNDc1RjU4Mzc0MEFGMEVCNzVGMDBGQTQyNDQzRjVGMAotOjEwM0MwMzAwODJFNDM0NzVGNTgzMTIzN0M4MDAwMEFDNDRFQjc1RjBEOQotOjEwM0MxMzAwMEZBNDI0NDdGNTgyRTQzNDc1RjU4MzEyMzdDODAwMDBGNgotOjEwM0MyMzAwQUM0NEVCNzVGMDBGQTQyNDRCRjU4MkU0MzQ3NUY1ODNCMwotOjEwM0MzMzAwMTIzN0M4MDAwMTc3MDA5MDc2MzZFMDA0RjBFMEZCNzU5OAotOjEwM0M0MzAwRjAwRkE0MjQ0MUY1ODJFNDM0NzVGNTgzNzQ0MEYwRUI1RQotOjEwM0M1MzAwNzVGMDBGQTQyNDQyRjU4MkU0MzQ3NUY1ODM3NDhDRjA3NwotOjEwM0M2MzAwRUI3NUYwMEZBNDI0NDNGNTgyRTQzNDc1RjU4MzEyMzcyMgotOjEwM0M3MzAwQzgwMDAwQUM0NEVCNzVGMDBGQTQyNDQ3RjU4MkU0MzQ4QwotOjEwM0M4MzAwNzVGNTgzMTIzN0M4MDAwMEFDNDRFQjc1RjAwRkE0MjQxQwotOjEwM0M5MzAwNEJGNTgyRTQzNDc1RjU4MzEyMzdDODAwMDE3NzAwOTA0MQotOjEwM0NBMzAwNzYzNkUwMDRGMEUwRkY3NUYwMEZBNDI0NDFGNTgyRTREQQotOjEwM0NCMzAwMzQ3NUY1ODM3NDQwRjBFRjc1RjAwRkE0MjQ0MkY1ODI1OAotOjEwM0NDMzAwRTQzNDc1RjU4Mzc0OEZGMDkwNzYzNkUwMDRGMEUwRkYwQQotOjEwM0NEMzAwNzVGMDBGQTQyNDQxRjU4MkU0MzQ3NUY1ODM3NDQxRjA0MwotOjEwM0NFMzAwRUY3NUYwMEZBNDI0NDJGNTgyRTQzNDc1RjU4Mzc0ODRGMAotOjEwM0NGMzAwRjA5MDc2MzZFMDA0RjBFMEZGNzVGMDBGQTQyNDQxRjU3MAotOjEwM0QwMzAwODJFNDM0NzVGNTgzNzQ2MUYwRUY3NUYwMEZBNDI0NDJGNwotOjEwM0QxMzAwRjU4MkU0MzQ3NUY1ODM3NDgxRjA5MDc2MzZFMDA0RjAyRgotOjEwM0QyMzAwRTBGRjc1RjAwRkE0MjQ0MUY1ODJFNDM0NzVGNTgzNzQ0NAotOjEwM0QzMzAwNjFGMEVGNzVGMDBGQTQyNDQyRjU4MkU0MzQ3NUY1ODM0NgotOjA0M0Q0MzAwNzQwMUYwMjJGNQotOjEwNDYxOTAwRTQ5MDc2MzZGMEUwRkY3NUYwMDNBNDI0MzJGNTgyRTRFNQotOjEwNDYyOTAwMzQ3NUY1ODNFNEYwRUY3NUYwMDNBNDI0MzNGNTgyRTRERgotOjEwNDYzOTAwMzQ3NUY1ODM3NDAxRjA5MDc2MzZFMDA0RjBFMEZGNzU4NwotOjEwNDY0OTAwRjAwM0E0MjQzMkY1ODJFNDM0NzVGNTgzRTRGMEVGNzVDMAotOjEwNDY1OTAwRjAwM0E0MjQzM0Y1ODJFNDM0NzVGNTgzNzQwMkYwOTBGMQotOjEwNDY2OTAwNzYzNkUwMDRGMEUwRkY3NUYwMDNBNDI0MzJGNTgyRTQyNQotOjEwNDY3OTAwMzQ3NUY1ODNFNEYwRUY3NUYwMDNBNDI0MzNGNTgyRTQ4RgotOjEwNDY4OTAwMzQ3NUY1ODM3NDAzRjA5MDc2MzZFMDA0RjBFMEZGNzUzNQotOjEwNDY5OTAwRjAwM0E0MjQzMkY1ODJFNDM0NzVGNTgzRTRGMEVGNzU3MAotOjEwNDZBOTAwRjAwM0E0MjQzM0Y1ODJFNDM0NzVGNTgzNzQwNEYwMjIwRAotOjEwM0E0MjAwRTQ5MDc2MzVGMDkwNzYzNUUwRkZDMzk0MDM0MDAyNDE2RQotOjEwM0E1MjAwRkZFRjc1RjAwQUE0MjRBQUY1ODJFNDM0NzVGNTgzRUYyQQotOjEwM0E2MjAwRjBFRjc1RjAwQUE0MjRBQkY1ODJFNDM0NzVGNTgzRTQzMwotOjEwM0E3MjAwRjBFRjc1RjAwQUE0MjRBQ0Y1ODJFNDM0NzVGNTgzNzQ5MgotOjEwM0E4MjAwRjBGMEVGNzVGMDBBQTQyNEFERjU4MkU0MzQ3NUY1ODMwNQotOjEwM0E5MjAwNzRGRkYwRUY3NUYwMEFBNDI0QUVGNTgyRTQzNDc1RjVGNAotOjEwM0FBMjAwODNFNEYwRUY3NUYwMEFBNDI0QUZGNTgyRTQzNDc1RjVFRgotOjEwM0FCMjAwODM3NDgwRjBFRjc1RjAwQUE0MjRCMEY1ODJFNDM0NzVDMwotOjEwM0FDMjAwRjU4M0U0RjBFRjc1RjAwQUE0MjRCMUY1ODJFNDM0NzVDRAotOjEwM0FEMjAwRjU4M0U0RjBFRjc1RjAwQUE0MjRCMkY1ODJFNDM0NzVCQwotOjEwM0FFMjAwRjU4M0U0RjBFRjc1RjAwQUE0MjRCM0Y1ODJFNDM0NzVBQgotOjEwM0FGMjAwRjU4Mzc0MDFGMDkwNzYzNUUwMDRGMDQxNDc5MDc2M0MwRQotOjEwM0IwMjAwNzQwQUYwRTRBM0YwOTA3NjM1NzQwM0YwOTA3NjNDRTAwQQotOjEwM0IxMjAwRkY5MDc2MzVFMEZFQzM5RjQwMDI2MUQyOTA3NjNERTA5MQotOjEwM0IyMjAwRkYwNEYwRUU3NUYwMEFBNDI0QUFGNTgyRTQzNDc1RjVEOAotOjEwM0IzMjAwODNFRkYwRUU3NUYwMEFBNDI0QUJGNTgyRTQzNDc1RjU1OAotOjEwM0I0MjAwODNFNEYwRUU3NUYwMEFBNDI0QUNGNTgyRTQzNDc1RjU1MgotOjEwM0I1MjAwODM3NDVFRjBFRTc1RjAwQUE0MjRBREY1ODJFNDM0NzU0OAotOjEwM0I2MjAwRjU4Mzc0QkFGMEVFNzVGMDBBQTQyNEFFRjU4MkU0MzQ1QgotOjEwM0I3MjAwNzVGNTgzNzQwNUYwRUU3NUYwMEFBNDI0QUZGNTgyRTRCRQotOjEwM0I4MjAwMzQ3NUY1ODM3NDgwRjBFRTc1RjAwQUE0MjRCMEY1ODJFMgotOjEwM0I5MjAwRTQzNDc1RjU4M0U0RjBFRTc1RjAwQUE0MjRCMUY1ODJGRAotOjEwM0JBMjAwRTQzNDc1RjU4M0U0RjBFRTc1RjAwQUE0MjRCMkY1ODJFQwotOjEwM0JCMjAwRTQzNDc1RjU4Mzc0MTVGMEVFNzVGMDBBQTQyNEIzRjVCOAotOjEwM0JDMjAwODJFNDM0NzVGNTgzRTRGMDkwNzYzNUUwMDRGMDYxMEUxQQotOjAxM0JEMjAwMjJEMAotOjEwMDgwMDAwRTQ5MDc2MzFGMDkwNzYzMUUwRkY3NUYwMDNBNDI0MEY4OAotOjEwMDgxMDAwRjU4MkU0MzQ3NUY1ODNFMEZFOTA3RkVERTBGREVFNkQ0QQotOjEwMDgyMDAwNjAwRUVGQzM5NDBCNTAwODkwNzYzMUUwMDRGMDgwRDU1MQotOjEwMDgzMDAwRUZCNDBCMDg5MDdGQjRFMDQ0MDFGMDIyRUY3NUYwMDNCMQotOjEwMDg0MDAwQTQyNDBFRjU4MkU0MzQ3NUY1ODNFMDkwNzYzM0YwMjQyOQotOjEwMDg1MDAwRjA2MDBBMjQwRTYwMDI4MTg3MTI0QkM3MjI5MDdGRUQ2MAotOjEwMDg2MDAwRTA2NDA1NzA1MTkwNzYxODc0MDVGMDkwNzYzNzc0MDE0NQotOjEwMDg3MDAwRjA5MDc2Mzk3NDAzRjA5MDc2MjFGMEU0OTA3NjIwRjBEMQotOjEwMDg4MDAwOTA3RkVBRTBGNDYwMkY5MDc2MjBFMEZGNzVGMDBBQTRGNAotOjEwMDg5MDAwMjRBQUY1ODJFNDM0NzVGNTgzRTBGRTkwN0ZFQUUwRkQ1QQotOjEwMDhBMDAwRUU2RDYwMTI5MDc2MjFFMEZFRUZDMzlFNTAwODkwNzZDOAotOjEwMDhCMDAwMjBFMDA0RjA4MEQxOTA3RkVERTA2NDA2NzA1MjkwNzZFNQotOjEwMDhDMDAwMTg3NDA2RjA5MDc2Mzc3NDA0RjA5MDc2Mzk3NDBBRjA1NAotOjEwMDhEMDAwOTA3NjIxRjA5MDc2MjA3NDAzRjA5MDdGRUFFMEY0NjA0NwotOjEwMDhFMDAwMkY5MDc2MjBFMEZGNzVGMDBBQTQyNEFBRjU4MkU0MzQ2NAotOjEwMDhGMDAwNzVGNTgzRTBGRTkwN0ZFQUUwRkRFRTZENjAxMjkwNzY4NAotOjEwMDkwMDAwMjFFMEZFRUZDMzlFNTAwODkwNzYyMEUwMDRGMDgwRDFGNQotOjEwMDkxMDAwOTA3NjIwRTBGRjc1RjAwQUE0MjRBQUY1ODJFNDM0NzVFRAotOjEwMDkyMDAwRjU4M0UwOTA3MjI5RjBFNDkwNzYzQkYwOTA3NjIxRTAzOAotOjEwMDkzMDAwRkVFRjZFNzAwODkwN0ZCNEUwNDQwMUYwMjI5MDdGRUJGMAotOjEwMDk0MDAwRTAxNDYwMTMxNDcwMDIyMUUyMjQwMjYwMDI4MTdGOTA5RgotOjEwMDk1MDAwN0ZCNEUwNDQwMUYwMjI5MDdGRTlFMDE0NzA3QzkwN0Y0NgotOjEwMDk2MDAwRUFFMEY0NzA0ODkwNzYzN0UwOTA3NjIwRjA5MDc2Mzk5RgotOjEwMDk3MDAwRTBGRTkwNzYyMEUwRkRDMzlFNTAyQjkwNzYzQkUwRkU5QgotOjEwMDk4MDAwMDRGMDc0QzAyRUY1ODJFNDM0N0VGNTgzRTBGRUVENzU0QwotOjEwMDk5MDAwRjAwQUE0MjRBQkY1ODJFNDM0NzVGNTgzRUVGMDkwNzY4QQotOjEwMDlBMDAwMjBFMDA0RjA4MEM3OTA3NjNGNzQwMUYwMjI5MDdFQzA3MgotOjEwMDlCMDAwRTBGRUVGNzVGMDBBQTQyNEFCRjU4MkU0MzQ3NUY1ODMwQwotOjEwMDlDMDAwRUVGMEUwQjQwMTA4OTA3NjNFNzQwMUYwODAwNUU0OTAwQQotOjEwMDlEMDAwNzYzRUYwOTA3NjNGNzQwMUYwMjI5MDdGQjRFMDQ0MDFCRgotOjEwMDlFMDAwRjAyMjkwN0ZFOUUwMjRGRTcwMDI0MUEzMTQ3MDAyNjFCRQotOjEwMDlGMDAwM0YxNDcwMDI2MURCMjQwMzYwMDI4MTc3OTA3RkVBRTA5QwotOjEwMEEwMDAwRjQ3MDZCOTA3NjM3RTA5MDc2MjBGMDkwNzYzOUUwRkZDNgotOjEwMEExMDAwOTA3NjIwRTBGRUMzOUY1MDRFOTA3NjNCRTBGRjA0RjBCRQotOjEwMEEyMDAwNzRDMDJGRjU4MkU0MzQ3RUY1ODNFMEZGRUU3NUYwMEFBMgotOjEwMEEzMDAwQTQyNEFDRjU4MkU0MzQ3NUY1ODNFRkYwOTA3NjNCRTBDNgotOjEwMEE0MDAwRkYwNEYwNzRDMDJGRjU4MkU0MzQ3RUY1ODNFMEZGRUVGRQotOjEwMEE1MDAwNzVGMDBBQTQyNEFERjU4MkU0MzQ3NUY1ODNFRkYwOTBDNwotOjEwMEE2MDAwNzYyMEUwMDRGMDgwQTQ5MDc2NDA3NDAxRjAyMjkwN0UxRAotOjEwMEE3MDAwQzBFMEZGOTA3NjIwRTBGRTc1RjAwQUE0MjRBQ0Y1ODI3OQotOjEwMEE4MDAwRTQzNDc1RjU4M0VGRjA5MDdFQzFFMEZGRUU3NUYwMEE3NwotOjEwMEE5MDAwQTQyNEFERjU4MkU0MzQ3NUY1ODNFRkYwOTA3NjQxNzRDQgotOjEwMEFBMDAwMDFGMDIyOTA3RkVBRTBGNDcwNjY5MDc2MzdFMDkwNzY2RAotOjEwMEFCMDAwMjBGMDkwNzYzOUUwRkY5MDc2MjBFMEZFQzM5RjQwMDI2MAotOjEwMEFDMDAwODE4RTkwNzYzQkUwRkYwNEYwNzRDMDJGRjU4MkU0MzQxMQotOjEwMEFEMDAwN0VGNTgzRTBGRkVFNzVGMDBBQTQyNEFFRjU4MkU0MzRERgotOjEwMEFFMDAwNzVGNTgzRUZGMDkwNzYzQkUwRkYwNEYwNzRDMDJGRjVDRQotOjEwMEFGMDAwODJFNDM0N0VGNTgzRTBGRkVFNzVGMDBBQTQyNEFGRjVCRQotOjEwMEIwMDAwODJFNDM0NzVGNTgzRUZGMDkwNzYyMEUwMDRGMDgwQTI2MwotOjEwMEIxMDAwOTA3RUMwRTBGRjkwNzYyMEUwRkU3NUYwMEFBNDI0QUUzRgotOjEwMEIyMDAwRjU4MkU0MzQ3NUY1ODNFRkYwOTA3RUMxRTBGRkVFNzU1OQotOjEwMEIzMDAwRjAwQUE0MjRBRkY1ODJFNDM0NzVGNTgzRUZGMDIyOTAzNwotOjEwMEI0MDAwN0ZFQUUwRjQ3MDY2OTA3NjM3RTA5MDc2MjBGMDkwNzY1OQotOjEwMEI1MDAwMzlFMEZGOTA3NjIwRTBGRUMzOUY0MDAyODE4RTkwNzZDMAotOjEwMEI2MDAwM0JFMEZGMDRGMDc0QzAyRkY1ODJFNDM0N0VGNTgzRTBBRgotOjEwMEI3MDAwRkZFRTc1RjAwQUE0MjRCMEY1ODJFNDM0NzVGNTgzRUYzNgotOjEwMEI4MDAwRjA5MDc2M0JFMEZGMDRGMDc0QzAyRkY1ODJFNDM0N0VGMQotOjEwMEI5MDAwRjU4M0UwRkZFRTc1RjAwQUE0MjRCMUY1ODJFNDM0NzUyNAotOjEwMEJBMDAwRjU4M0VGRjA5MDc2MjBFMDA0RjA4MEEyOTA3RUMwRTAyNAotOjEwMEJCMDAwRkY5MDc2MjBFMEZFNzVGMDBBQTQyNEIwRjU4MkU0MzRCQwotOjEwMEJDMDAwNzVGNTgzRUZGMDkwN0VDMUUwRkZFRTc1RjAwQUE0MjQ4NgotOjEwMEJEMDAwQjFGNTgyRTQzNDc1RjU4M0VGRjAyMjkwN0ZFQUUwRjQxQQotOjEwMEJFMDAwNzA2NjkwNzYzN0UwOTA3NjIwRjA5MDc2MzlFMEZGOTA0RQotOjEwMEJGMDAwNzYyMEUwRkVDMzlGNDAwMjgxOEU5MDc2M0JFMEZGMDRBQQotOjEwMEMwMDAwRjA3NEMwMkZGNTgyRTQzNDdFRjU4M0UwRkZFRTc1RjBEQQotOjEwMEMxMDAwMEFBNDI0QjJGNTgyRTQzNDc1RjU4M0VGRjA5MDc2M0JCNAotOjEwMEMyMDAwRTBGRjA0RjA3NEMwMkZGNTgyRTQzNDdFRjU4M0UwRkYyQQotOjEwMEMzMDAwRUU3NUYwMEFBNDI0QjNGNTgyRTQzNDc1RjU4M0VGRjA4MQotOjEwMEM0MDAwOTA3NjIwRTAwNEYwODBBMjkwN0VDMEUwRkY5MDc2MjBCNQotOjEwMEM1MDAwRTBGRTc1RjAwQUE0MjRCMkY1ODJFNDM0NzVGNTgzRUY2MgotOjEwMEM2MDAwRjA5MDdFQzFFMEZGRUU3NUYwMEFBNDI0QjNGNTgyRTRCMwotOjEwMEM3MDAwMzQ3NUY1ODNFRkYwMjI5MDdGQjRFMDQ0MDFGMDIyOTBDOAotOjBGMEM4MDAwN0ZCNEUwNDQwMUYwMjI5MDdGQjRFMDQ0MDFGMDIyMDEKLToxMDEwMDAwMEU0OTA3NjJDRjA5MDc2MkNFMEZGNzVGMDAzQTQyNDBGOEEKLToxMDEwMTAwMEY1ODJFNDM0NzVGNTgzRTBGRTkwN0ZFREUwRkRFRTZENDIKLToxMDEwMjAwMDYwMEVFRkMzOTQwQjUwMDg5MDc2MkNFMDA0RjA4MEQ1NEUKLToxMDEwMzAwMEVGQjQwQjA4OTA3RkI0RTA0NDAxRjAyMkVGNzVGMDAzQTkKLToxMDEwNDAwMEE0MjQwRUY1ODJFNDM0NzVGNTgzRTA5MDc2MkVGMDI0MjYKLToxMDEwNTAwMEYwNjAwQTI0MEY2MDAyODE3RDEyNEJBNDIyOTA3RkVEODQKLToxMDEwNjAwMEUwNjQwNTcwNTE5MDc2MTg3NDA1RjA5MDc2Mzg3NDAxM0MKLToxMDEwNzAwMEYwOTA3NjNBNzQwM0YwOTA3NjFDRjBFNDkwNzYxQkYwRDIKLToxMDEwODAwMDkwN0ZFQUUwRjQ2MDJGOTA3NjFCRTBGRjc1RjAwQUE0RjEKLToxMDEwOTAwMDI0QUFGNTgyRTQzNDc1RjU4M0UwRkU5MDdGRUFFMEZENTIKLToxMDEwQTAwMEVFNkQ2MDEyOTA3NjFDRTBGRUVGQzM5RTUwMDg5MDc2QzUKLToxMDEwQjAwMDFCRTAwNEYwODBEMTkwN0ZFREUwNjQwNjcwNTI5MDc2RTIKLToxMDEwQzAwMDE4NzQwNkYwOTA3NjM4NzQwNEYwOTA3NjNBNzQwQUYwNEEKLToxMDEwRDAwMDkwNzYxQ0YwOTA3NjFCNzQwM0YwOTA3RkVBRTBGNDYwNDkKLToxMDEwRTAwMDJGOTA3NjFCRTBGRjc1RjAwQUE0MjRBQUY1ODJFNDM0NjEKLToxMDEwRjAwMDc1RjU4M0UwRkU5MDdGRUFFMEZERUU2RDYwMTI5MDc2N0MKLToxMDExMDAwMDFDRTBGRUVGQzM5RTUwMDg5MDc2MUJFMDA0RjA4MEQxRjcKLToxMDExMTAwMEU0OTA3NjFFRjA5MDc2MUNFMEZGOTA3NjFCRTBGRTZGNjgKLToxMDExMjAwMDcwMDg5MDdGQjRFMDQ0MDFGMDIyOTA3RkVCRTAxNDYwRkYKLToxMDExMzAwMDEzMTQ3MDAyMjFCRjI0MDI2MDAyODE3NTkwN0ZCNEUwMTUKLToxMDExNDAwMDQ0MDFGMDIyOTA3RkU5RTAyNDdGNzA2QjkwN0ZFQUUwMTkKLToxMDExNTAwMEY0NzA0QTkwNzYzOEUwOTA3NjFCRjA5MDc2M0FFMEZGOTMKLToxMDExNjAwMDkwNzYxQkUwRkRDMzlGNTAyQkVENzVGMDBBQTQyNEFCRDUKLToxMDExNzAwMEY1ODJFNDM0NzVGNTgzRTBGRjkwNzYxRUUwRkQwNEYwMUYKLToxMDExODAwMDc0MDAyREY1ODJFNDM0N0ZGNTgzRUZGMDkwNzYxQkUwNTgKLToxMDExOTAwMDA0RjA4MEM3OTA3NjFFRTA5MDdGQjVGMDIyRUU3NUYwRTcKLToxMDExQTAwMDBBQTQyNEFCRjU4MkU0MzQ3NUY1ODNFMDkwN0YwMEYwNjcKLToxMDExQjAwMDkwN0ZCNTc0MDFGMDIyOTA3RkI0RTA0NDAxRjAyMjkwNUEKLToxMDExQzAwMDdGRTlFMDI0N0U3MDAyNDE3RTE0NzAwMjYxMjMxNDcwNzYKLToxMDExRDAwMDAyNjFDODI0MDM2MDAyODE2RDkwN0ZFQUUwRjQ3MDZEQzMKLToxMDExRTAwMDkwNzYzOEUwOTA3NjFCRjA5MDc2M0FFMEZGOTA3NjFCOTAKLToxMDExRjAwMEUwQzM5RjUwNEZFMEZGNzVGMDBBQTQyNEFDRjU4MkU0RjEKLToxMDEyMDAwMDM0NzVGNTgzRTBGRTkwNzYxRUUwRkQwNEYwNzQwMDJENDkKLToxMDEyMTAwMEY1ODJFNDM0N0ZGNTgzRUVGMEVGNzVGMDBBQTQyNEFEOTcKLToxMDEyMjAwMEY1ODJFNDM0NzVGNTgzRTBGRjkwNzYxRUUwRkUwNEYwNkQKLToxMDEyMzAwMDc0MDAyRUY1ODJFNDM0N0ZGNTgzRUZGMDkwNzYxQkUwQTYKLToxMDEyNDAwMDA0RjA4MEE0OTA3NjFFRTA5MDdGQjVGMDIyOTA3NjFCOEIKLToxMDEyNTAwMEUwRkY3NUYwMEFBNDI0QUNGNTgyRTQzNDc1RjU4M0UwNzAKLToxMDEyNjAwMDkwN0YwMEYwRUY3NUYwMEFBNDI0QURGNTgyRTQzNDc1QTgKLToxMDEyNzAwMEY1ODNFMDkwN0YwMUYwOTA3RkI1NzQwMkYwMjI5MDdGQkIKLToxMDEyODAwMEVBRTBGNDcwNkQ5MDc2MzhFMDkwNzYxQkYwOTA3NjNBNTQKLToxMDEyOTAwMEUwRkY5MDc2MUJFMEMzOUY1MDRGRTBGRjc1RjAwQUE0N0IKLToxMDEyQTAwMDI0QUVGNTgyRTQzNDc1RjU4M0UwRkU5MDc2MUVFMEZEMTEKLToxMDEyQjAwMDA0RjA3NDAwMkRGNTgyRTQzNDdGRjU4M0VFRjBFRjc1RDEKLToxMDEyQzAwMEYwMEFBNDI0QUZGNTgyRTQzNDc1RjU4M0UwRkY5MDc2NEMKLToxMDEyRDAwMDFFRTBGRTA0RjA3NDAwMkVGNTgyRTQzNDdGRjU4M0VGMDcKLToxMDEyRTAwMEYwOTA3NjFCRTAwNEYwODBBNDkwNzYxRUUwOTA3RkI1MkQKLToxMDEyRjAwMEYwMjI5MDc2MUJFMEZGNzVGMDBBQTQyNEFFRjU4MkU0OUMKLToxMDEzMDAwMDM0NzVGNTgzRTA5MDdGMDBGMEVGNzVGMDBBQTQyNEFGMDgKLToxMDEzMTAwMEY1ODJFNDM0NzVGNTgzRTA5MDdGMDFGMDkwN0ZCNTc0MzkKLToxMDEzMjAwMDAyRjAyMjkwN0ZFQUUwRjQ3MDZEOTA3NjM4RTA5MDc2REIKLToxMDEzMzAwMDFCRjA5MDc2M0FFMEZGOTA3NjFCRTBDMzlGNTA0RkUwQTEKLToxMDEzNDAwMEZGNzVGMDBBQTQyNEIwRjU4MkU0MzQ3NUY1ODNFMEZFNUQKLToxMDEzNTAwMDkwNzYxRUUwRkQwNEYwNzQwMDJERjU4MkU0MzQ3RkY1RjQKLToxMDEzNjAwMDgzRUVGMEVGNzVGMDBBQTQyNEIxRjU4MkU0MzQ3NUY1NEMKLToxMDEzNzAwMDgzRTBGRjkwNzYxRUUwRkUwNEYwNzQwMDJFRjU4MkU0MTgKLToxMDEzODAwMDM0N0ZGNTgzRUZGMDkwNzYxQkUwMDRGMDgwQTQ5MDc2MzQKLToxMDEzOTAwMDFFRTA5MDdGQjVGMDIyOTA3NjFCRTBGRjc1RjAwQUE0NjYKLToxMDEzQTAwMDI0QjBGNTgyRTQzNDc1RjU4M0UwOTA3RjAwRjBFRjc1QUEKLToxMDEzQjAwMEYwMEFBNDI0QjFGNTgyRTQzNDc1RjU4M0UwOTA3RjAxNEUKLToxMDEzQzAwMEYwOTA3RkI1NzQwMkYwMjI5MDdGRUFFMEY0NzA2RDkwQTcKLToxMDEzRDAwMDc2MzhFMDkwNzYxQkYwOTA3NjNBRTBGRjkwNzYxQkUwNEUKLToxMDEzRTAwMEMzOUY1MDRGRTBGRjc1RjAwQUE0MjRCMkY1ODJFNDM0QTUKLToxMDEzRjAwMDc1RjU4M0UwRkU5MDc2MUVFMEZEMDRGMDc0MDAyREY1OTcKLToxMDE0MDAwMDgyRTQzNDdGRjU4M0VFRjBFRjc1RjAwQUE0MjRCM0Y1OUYKLToxMDE0MTAwMDgyRTQzNDc1RjU4M0UwRkY5MDc2MUVFMEZFMDRGMDc0RkMKLToxMDE0MjAwMDAwMkVGNTgyRTQzNDdGRjU4M0VGRjA5MDc2MUJFMDA0MjQKLToxMDE0MzAwMEYwODBBNDkwNzYxRUUwOTA3RkI1RjAyMjkwNzYxQkUwQkQKLToxMDE0NDAwMEZGNzVGMDBBQTQyNEIyRjU4MkU0MzQ3NUY1ODNFMDkwQzgKLToxMDE0NTAwMDdGMDBGMEVGNzVGMDBBQTQyNEIzRjU4MkU0MzQ3NUY1NEIKLToxMDE0NjAwMDgzRTA5MDdGMDFGMDkwN0ZCNTc0MDJGMDIyOTA3RkI0MEEKLToxMDE0NzAwMEUwNDQwMUYwMjI5MDdGQjRFMDQ0MDFGMDIyOTA3RkI0NzgKLTowNTE0ODAwMEUwNDQwMUYwMjIzMAotOjEwMzg3NDAwRTQ5MDc2MjlGMDkwNzYyOUUwRkY3NUYwMEZBNDI0NDJCNQotOjEwMzg4NDAwRjU4MkU0MzQ3NUY1ODNFMEZFOTA3RkVDRTBGREVFNkRBNwotOjEwMzg5NDAwNjAwRUVGQzM5NDA2NTAwODkwNzYyOUUwMDRGMDgwRDVCQQotOjEwMzhBNDAwRUZCNDA2MDg5MDdGQjRFMDQ0MDFGMDIyRUY3NUYwMEYwNgotOjEwMzhCNDAwQTQyNDQxRjU4MkU0MzQ3NUY1ODNFMDkwNzYyQUYwMjQ1QgotOjEwMzhDNDAwQkY3MDAyNDE0MTI0RTA3MDAyNDExMjI0MjE2MDAyNDE5MAotOjEwMzhENDAwM0E5MDdGRTlFMDI0RkU2MDdEMTQ3MDAyMjFCMjI0MDI1NAotOjEwMzhFNDAwNjAwMjQxMEExMjE3NTE5MDc2NDJFMEZDQTNFMEZEQTM2NgotOjEwMzhGNDAwRTBGRUEzRTBGRjkwNzYyOUUwNzVGMDBGQTQyNDQzRjVFMQotOjEwMzkwNDAwODJFNDM0NzVGNTgzMTIzN0JDOTA3NjE5RTBGRkI0MDE3NAotOjEwMzkxNDAwMTI5MDc2N0M3NDY3RjA5MDc2N0Q3NDA2RjA5MDc2N0VEMwotOjEwMzkyNDAwNzQwQkYwRUZCNDAyMEZFNDkwNzY3Q0YwOTA3NjdERjBBNwotOjEwMzkzNDAwOTA3NjdFNzQwQ0YwRUZCNDAzMEZFNDkwNzY3Q0YwOTBGNAotOjEwMzk0NDAwNzY3REYwOTA3NjdFNzQxOEYwOTA3NjFBNzQwMUYwMTJGOQotOjEwMzk1NDAwM0U5RjEyMTgwMDIyOTA3RUMyRTBGRkU0RkNGREZFRkJCNQotOjEwMzk2NDAwRkE3OTAxRjgxMjM3NDZDOEVDQzhDOUVEQzlDQUVFQ0FEQgotOjEwMzk3NDAwQ0JFRkNCOTA3RUMxRTBGRUU0RkNGRDJCRkJFQTNFRkFFQwotOjEwMzk4NDAwRUQzOUY5RUMzOEY4OTA3RUMwRTBGRkU0RkVFQjJGRkY1MAotOjEwMzk5NDAwRUUzQUZFRUQzOUZERUMzOEZDOTA3NjI5RTA3NUYwMEYzNwotOjEwMzlBNDAwQTQyNDQ3RjU4MkU0MzQ3NUY1ODMxMjM3QkMyMjkwN0U1MwotOjEwMzlCNDAwQzJFMEZGRTRGQ0ZERkVGQkZBNzkwMUY4MTIzNzQ2QzhDOQotOjEwMzlDNDAwRUNDOEM5RURDOUNBRUVDQUNCRUZDQjkwN0VDMUUwRkUwQwotOjEwMzlENDAwRTRGQ0ZEMkJGQkVBM0VGQUVEMzlGOUVDMzhGODkwN0U3NQotOjEwMzlFNDAwQzBFMEZGRTRGRUVCMkZGRkVFM0FGRUVEMzlGREVDMzhDQwotOjEwMzlGNDAwRkM5MDc2MjlFMDc1RjAwRkE0MjQ0QkY1ODJFNDM0NzUyRAotOjEwM0EwNDAwRjU4MzEyMzdCQzIyOTA3RkI0RTA0NDAxRjAyMjkwN0YwQQotOjEwM0ExNDAwRTlFMDE0NzAxOTkwN0VDMEUwRkY5MDc2MjlFMDc1RjAxQgotOjEwM0EyNDAwMEZBNDI0NEZGNTgyRTQzNDc1RjU4M0VGRjAyMjkwN0ZFMAotOjBFM0EzNDAwQjRFMDQ0MDFGMDIyOTA3RkI0RTA0NDAxRjAyMjlGCi06MTAyQUQ2MDBFNDkwNzYyN0YwOTA3NjI3RTBGRjc1RjAwRkE0MjQ0MjY1Ci06MTAyQUU2MDBGNTgyRTQzNDc1RjU4M0UwRkU5MDdGRUNFMEZERUU2RDUzCi06MTAyQUY2MDA2MDBFRUZDMzk0MDY1MDA4OTA3NjI3RTAwNEYwODBENTY4Ci06MTAyQjA2MDBFRkI0MDYwODkwN0ZCNEUwNDQwMUYwMjJFRjc1RjAwRkIxCi06MTAyQjE2MDBBNDI0NDFGNTgyRTQzNDc1RjU4M0UwOTA3NjI4RjAyNDA4Ci06MTAyQjI2MDA5RjcwMDJBMTc0MjQyMTYwMDJBMUExOTA3RkU5RTAyNDk0Ci06MTAyQjM2MDA3RTcwMDI2MUZDMTQ3MDAyODFCNTI0MDI2MDAyQTE2Q0YxCi06MTAyQjQ2MDBFRjc1RjAwRkE0MjQ0M0Y1ODJFNDM0NzVGNTgzRTBGQ0I5Ci06MTAyQjU2MDBBM0UwRkRBM0UwRkVBM0UwRkY3QjQ0N0FBQzc5MDA3ODE2Ci06MTAyQjY2MDAwMEMzMTIzN0FCNzAxMzkwN0YwMDc0NDRGMEEzNzRBQ0FCCi06MTAyQjc2MDBGMEU0QTNGMDkwN0ZCNTc0MDNGMDkwNzYyN0UwNzVGMDRCCi06MTAyQjg2MDAwRkE0MjQ0M0Y1ODJFNDM0NzVGNTgzRTBGQ0EzRTBGRDRECi06MTAyQjk2MDBBM0UwRkVBM0UwRkY3QjgwN0FCQjc5MDA3ODAwQzMxMjM2Ci06MTAyQkE2MDAzN0FCNzAxMzkwN0YwMDc0ODBGMEEzNzRCQkYwRTRBMzdFCi06MTAyQkI2MDBGMDkwN0ZCNTc0MDNGMDkwNzYyN0UwNzVGMDBGQTQyNEFCCi06MTAyQkM2MDA0M0Y1ODJFNDM0NzVGNTgzRTBGQ0EzRTBGREEzRTBGRTYzCi06MTAyQkQ2MDBBM0UwRkY3QjAwN0E3Nzc5MDE3ODAwQzMxMjM3QUI2MEY4Ci06MTAyQkU2MDAwMkExQTg5MDdGMDBGMEEzNzQ3N0YwQTM3NDAxRjA5MDdGCi06MTAyQkY2MDA3RkI1NzQwM0YwMjI5MDc2MjdFMDc1RjAwRkE0MjQ0NzgyCi06MTAyQzA2MDBGNTgyRTQzNDc1RjU4M0UwRkNBM0UwRkRBM0UwRkVBM0MyCi06MTAyQzE2MDBFMEZGN0I0NDdBQUM3OTAwNzgwMEMzMTIzN0FCNzAxM0JGCi06MTAyQzI2MDA5MDdGMDA3NDQ0RjBBMzc0QUNGMEU0QTNGMDkwN0ZCNUY5Ci06MTAyQzM2MDA3NDAzRjA5MDc2MjdFMDc1RjAwRkE0MjQ0N0Y1ODJFNDNDCi06MTAyQzQ2MDAzNDc1RjU4M0UwRkNBM0UwRkRBM0UwRkVBM0UwRkY3QjgzCi06MTAyQzU2MDA4MDdBQkI3OTAwNzgwMEMzMTIzN0FCNzAxMzkwN0YwMDdGCi06MTAyQzY2MDA3NDgwRjBBMzc0QkJGMEU0QTNGMDkwN0ZCNTc0MDNGMDE2Ci06MTAyQzc2MDA5MDc2MjdFMDc1RjAwRkE0MjQ0N0Y1ODJFNDM0NzVGNUM1Ci06MTAyQzg2MDA4M0UwRkNBM0UwRkRBM0UwRkVBM0UwRkY3QjAwN0E3N0YwCi06MTAyQzk2MDA3OTAxNzgwMEMzMTIzN0FCNjAwMkExQTg5MDdGMDBGMERCCi06MTAyQ0E2MDBBMzc0NzdGMEEzNzQwMUYwOTA3RkI1NzQwM0YwMjI5MEJCCi06MTAyQ0I2MDA3NjI3RTA3NUYwMEZBNDI0NEJGNTgyRTQzNDc1RjU4MzhFCi06MTAyQ0M2MDBFMEZDQTNFMEZEQTNFMEZFQTNFMEZGN0I0NDdBQUM3OTQxCi06MTAyQ0Q2MDAwMDc4MDBDMzEyMzdBQjcwMTM5MDdGMDA3NDQ0RjBBM0UyCi06MTAyQ0U2MDA3NEFDRjBFNEEzRjA5MDdGQjU3NDAzRjA5MDc2MjdFMDFGCi06MTAyQ0Y2MDA3NUYwMEZBNDI0NEJGNTgyRTQzNDc1RjU4M0UwRkNBMzRDCi06MTAyRDA2MDBFMEZEQTNFMEZFQTNFMEZGN0I4MDdBQkI3OTAwNzgwMEJDCi06MTAyRDE2MDBDMzEyMzdBQjcwMTM5MDdGMDA3NDgwRjBBMzc0QkJGMEJFCi06MTAyRDI2MDBFNEEzRjA5MDdGQjU3NDAzRjA5MDc2MjdFMDc1RjAwRjdBCi06MTAyRDM2MDBBNDI0NEJGNTgyRTQzNDc1RjU4M0UwRkNBM0UwRkRBM0ZGCi06MTAyRDQ2MDBFMEZFQTNFMEZGN0IwMDdBNzc3OTAxNzgwMEMzMTIzN0IzCi06MTAyRDU2MDBBQjcwNEY5MDdGMDBGMEEzNzQ3N0YwQTM3NDAxRjA5MEVFCi06MTAyRDY2MDA3RkI1NzQwM0YwMjI5MDdGQjRFMDQ0MDFGMDIyOTA3Rjk3Ci06MTAyRDc2MDBFOUUwMjQ3RjcwMUU5MDc2MjdFMDc1RjAwRkE0MjQ0RkJCCi06MTAyRDg2MDBGNTgyRTQzNDc1RjU4M0UwOTA3RjAwRjA5MDdGQjU3NEFBCi06MTAyRDk2MDAwMUYwODAwNzkwN0ZCNEUwNDQwMUYwOTA3RkI0RTA0NEY2Ci06MDMyREE2MDAwMUYwMjIxNwotOjEwNEJBNDAwOTA3RkVCRTAxNDcwMTQ5MDdGRTlFMDI0N0Y3MDA0MTI4RQotOjEwNEJCNDAwNDk1ODIyOTA3RkI0RTA0NDAxRjAyMjkwN0ZCNEUwNDQ0RAotOjAzNEJDNDAwMDFGMDIyREIKLToxMDRCQzcwMDkwN0ZFQkUwMTQ3MDEzOTA3RkU5RTAxNDcwMDQxMjRBQjEKLToxMDRCRDcwMDAzMjI5MDdGQjRFMDQ0MDFGMDIyOTA3RkI0RTA0NDAxQzcKLTowMjRCRTcwMEYwMjJCQQotOjEwNDk1ODAwRTQ5MDc2MjZGMDkwNzYyNkUwRkY3NUYwMDNBNDI0MzRFMAotOjEwNDk2ODAwRjU4MkU0MzQ3NUY1ODNFMEZFOTA3RkVDRTBGREVFNkRCMgotOjEwNDk3ODAwNjAwRUVGQzM5NDA0NTAwODkwNzYyNkUwMDRGMDgwRDVDQQotOjEwNDk4ODAwRUZCNDA0MDg5MDdGQjRFMDQ0MDFGMDIyRUY3NUYwMDMxRgotOjEwNDk5ODAwQTQyNDMyRjU4MkU0MzQ3NUY1ODNFMDkwN0YwMEYwOTAyQQotOjA2NDlBODAwN0ZCNTc0MDFGMDIyNEUKLToxMDRBMDMwMEU0OTA3NjI1RjA5MDc2MjVFMEZGNzVGMDAzQTQyNDM0MzYKLToxMDRBMTMwMEY1ODJFNDM0NzVGNTgzRTBGRTkwN0ZFQ0UwRkRFRTZEMDYKLToxMDRBMjMwMDYwMEVFRkMzOTQwNDUwMDg5MDc2MjVFMDA0RjA4MEQ1MUYKLToxMDRBMzMwMEVGQjQwNDA4OTA3RkI0RTA0NDAxRjAyMjkwN0VDMEUwMUMKLToxMDRBNDMwMEZFRUY3NUYwMDNBNDI0MzJGNTgyRTQzNDc1RjU4M0VFQUEKLTowMjRBNTMwMEYwMjI0RgotOjAzMDAwMzAwMDIwRkZERUMKLTowMzBGRkQwMEMyODkzMjc0Ci06MDMwMDEzMDAwMjE3RkRENAotOjAzMTdGRDAwQzI4QjMyNkEKLTowMzAwNEIwMDAyNEUwMzVGCi06MDQ0RTAzMDA1MzkxREYzMkI2Ci06MDMwMDUzMDAwMjQ4RkE2NgotOjA2NDhGQTAwNTM5MUJGRDIyRDMyRTQKLTowMzAwNUIwMDAyNERGRDU2Ci06MDY0REZEMDA1MzkxN0ZEMjJDMzIxRAotOjAzMDA2MzAwMDI0RTA3NDMKLTowNDRFMDcwMDUzRDhGNzMyNTMKLTowMzAwMEIwMDAyNEUwRjkzCi06MDM0RTBGMDBDMjhEMzIxRgotOjAzMDAxQjAwMDI0RTEyODAKLTowMzRFMTIwMEMyOEYzMjFBCi06MDMwMDIzMDAwMjRERUY5QwotOjA3NERFRjAwNTM5OEZFNTM5OEZEMzJCQQotOjAzMDAzQjAwMDI0REY2N0QKLTowNzRERjYwMDUzQzBGRTUzQzBGRDMyNjMKLTowMzAwMkIwMDAyNDgwMDg4Ci06MTA0ODAwMDBDMEUwQzBGMEMwODNDMDgyQzBEMEU4QzBFMEU5QzBFMDMyCi06MTA0ODEwMDBFQUMwRTBFQkMwRTBFQ0MwRTBFREMwRTBFRUMwRTBFRkVECi06MTA0ODIwMDBDMEUwQzJDQUMyQ0Y5MDdGOThFMDQ0MDFGMDMwMkUwM0FFCi06MTA0ODMwMDAxMjE0QTY5MDdGOThFMDU0RkVGMDUzQThGQTEyMTY2MTY1Ci06MTA0ODQwMDBEMEUwRkZEMEUwRkVEMEUwRkREMEUwRkNEMEUwRkJEMDM3Ci06MTA0ODUwMDBFMEZBRDBFMEY5RDBFMEY4RDBEMEQwODJEMDgzRDBGMDI4Ci06MDM0ODYwMDBEMEUwMzI3MwotOjEwNEFBNjAwRTQ5MDc2OUJGMDkwNzY5QkUwRkYwNEYwRUY2MDA4RTBFMAotOjEwNEFCNjAwMjQwOEY4RTRGNjgwRUU5MDc2OTZFMDQ0MDRGMDQ0MDg4NAotOjEwNEFDNjAwRjA5MDgwMDNGMEU0RjUxOEQyMzVGNTBFRjUxMEQyMzZFNQotOjEwNEFENjAwNzUxMjExNzUxMzIyQzIzN0MyMzlDMjM4RjUxNkY1MTQ4QwotOjBCNEFFNjAwRjUxQUY1MERDMjNCQzIzQ0MyM0QyMjk4Ci06MTAzMDAwMDA5MDdGQjZFMDIwRTEwMkMyM0REMjM2MjAzNjAyNDE2RTBBCi06MTAzMDEwMDAzMDNEMDI0MTZFOTA4MDA3RTA2MDA0RDIzNjgwMDJDMkVCCi06MTAzMDIwMDAzNjIwMzYwMjQxMkVEMjM1RTRGNTFBOTA4MDA0RTBGNUMwCi06MTAzMDMwMDAxOTc0MDgyNTBFRjhBNjE5ODUxOTE4RTUxODIwRTcwNDUzCi06MTAzMDQwMDBEMjM4ODAwMkMyMzgzMDM4MDIyMUQ0RTRGNTE2RTUxOUFFCi06MTAzMDUwMDBCNEYwMENEMjM5NzUwODA0NzUwOUYwMDUwRTgwMDIwNTJDCi06MTAzMDYwMDAxNkU1MTk2NEY3NzAzREMyMzlFNTBFMjRGRTYwMTcxNEE5Ci06MTAzMDcwMDA2MDIyMjQwMzcwMjk3NTA4MDU3NTA5RjdFNEY1MEFGNTNGCi06MTAzMDgwMDAwQjc1MEUwNDgwMjA3NTA4MDY3NTBBRjdFNEY1MEI3NUJDCi06MTAzMDkwMDAwRTA0ODAxMjc1MDgwNzc1MEJGNzc1MEUwNDgwMDcxMjcxCi06MTAzMEEwMDA0RERBODAwMjA1MTZFNTE5NTRGODY0Rjg3MDNCQzIzNTE0Ci06MTAzMEIwMDBFNTE5MjQwNzYwMEMyNEZDNjAwODI0MDUyNEY4NTAwNjU4Ci06MTAzMEMwMDA4MDA4RDIzQTgwMDZDMjNBODAwMkQyM0E3NTFBMDEyMEFDCi06MTAzMEQwMDAzQTE5OTA3RTgwNzQwRkYwQTNFNTE5RjBFNEEzRjBBM0YxCi06MTAzMEUwMDBGMDkwN0ZCNzc0MDRGMDgwMDIwNTE2MjAzOTZERTUxOTYxCi06MTAzMEYwMDA2NEY3NjA2N0U1MUE3MDYzRTUxODU0RjA2NEYwNzA1OTdFCi06MTAzMTAwMDA4NTE4MTlGNTBFRTUxOTI0MEY2MDFCMjRGRTYwMTcyNDlECi06MTAzMTEwMDBGRDYwMjIxNDYwMUYyNDA1NzAyRjc1MDgwMzA1MEU4NUJECi06MTAzMTIwMDAxODA5RDIzNzgwMjg3NTA4MDIwNTBFODUxODA5NzUxNDBDCi06MTAzMTMwMDAwMUQyMzc4MDE5NzUwODA1MDUwRTg1MTgwOUU0RjUwQUNFCi06MTAzMTQwMDBGNTBCNzUwRTAzRDIzNzgwMDUxMjREREFDMjM1MzAzNUQ2Ci06MTAzMTUwMDAwQTg1MDgxMzg1MTgxMjgwMDIwNTE2ODUxODE5RTUxNkM4Ci06MTAzMTYwMDA2NDA0NzA2MkY1MEVFNTE5NTRGMEY1MTlGNTE1ODUxODJCCi06MTAzMTcwMDAxOUU1MTUyNDcwNjAxODI0RjA2MDE0MjRGMDYwMTAyNDAwCi06MTAzMTgwMDBGMDYwMUUyNEYwNjAxQTI0RjA2MDA0MjQ2MDcwMjdFNUNCCi06MTAzMTkwMDAxNUM0NTQwRkY1MTlGNTA4MDUwRTg1MTgwOUQyMzc4MEE2Ci06MTAzMUEwMDAxQUU1MTVDNDU0MEZGNTE5RjUwODA1MEU4NTE4MDk3NUFCCi06MTAzMUIwMDAxNDAxRDIzNzgwMDUxMjREREFDMjM1MzAzNTBBODUxOTJGCi06MTAzMUMwMDAxMzg1MTgxMjgwMDIwNTE2RTUxNkQzOTQwNTQwNTcxMjkwCi06MTAzMUQwMDA0RERBODA1MjMwMzkxN0U1MEU3MDBBODUwODA5NzUwOEY2Ci06MTAzMUUwMDAwNDA1MEU4MDQxNzQwODI1MEVGOEE2MTk4MDM4MjAzNzkyCi06MTAzMUYwMDAyQUU1MEVCNDAxMEY4NTA4MEE4NTA5MEI4NTEzMDg4NTk5Ci06MTAzMjAwMDAxMjA5NzUwRTA0RTUxNEI0MDExQzg1MDgwQUU0RjUwQkQ3Ci06MTAzMjEwMDA4NTEzMDg4NTEyMDk3NTBFMDQ4MDBCRTUxNEI0MDEwNkE4Ci06MTAzMjIwMDBFNEY1MEI3NTBFMDRFNEY1MUEzMDM1MDIwNTBFRTUwRUQzCi06MTAzMjMwMDBEMzk0MDM1MDAyMDEwQkMyMzdFNEY1MEVGNTEwQzIzNkU5Ci06MTAzMjQwMDBEMjNERjUxNDc0MDgyNTEwRjhFNkZGNzQ4MDI1MTBGNUJBCi06MTAzMjUwMDA4MkU0MzQ3RUY1ODNFRkYwNzQwODI1MTBGOEU0RjYwNTc3Ci06MEYzMjYwMDAxMEU1MTBCNDA0REU5MDdGQjc3NDA0RjAwMTBCMjI2OAotOjBDNEREQTAwQzIzN0U0RjUwRUY1MTBDMjM2RjUxNDIyQzUKLToxMDQwMDAwMEU1MTFEMzk0MDA1MDAyMjEwNjkwNzY4OUUwQzM5NDA4MEMKLToxMDQwMTAwMDQwMDIyMTA2NzQ0MDI1MEZGNTgyRTQzNDdFRjU4M0UwRUEKLToxMDQwMjAwMEY1MTdFNTBENjAwRTkwODAwNUU1MTdGMDkwNzY4OUUwQjQKLToxMDQwMzAwMDA0RjAwMURBRTUxNzEyMzdGOTQwQzEwMjQwNjcwNTQwODQKLToxMDQwNDAwMDdBMDY0MDk4MDc0MEMxMEM0MEMxMEQ0MEM3MEY0MENCRDUKLToxMDQwNTAwMEY2NDBDQkY4NDBDQkZBNDBDQkZCNDBDQkZDNDBDQkZFNEMKLToxMDQwNjAwMDQwQ0JGRjAwMDA0MERBOTA3RTQxRTA5MDgwMDVGMDkwNjgKLToxMDQwNzAwMDc2ODlFMDA0RjA3NTExMDE4MDYwOTA3RTQxRTA5MDgwQzcKLToxMDQwODAwMDA1RjA5MDdFNDJFMDkwODAwNUYwOTA3Njg5RTAwNEYwQTMKLToxMDQwOTAwMEUwMDRGMDc1MTEwMTgwNDI5MDdFNDFFMDkwODAwNUYwQ0YKLToxMDQwQTAwMDkwN0U0MkUwOTA4MDA1RjA5MDdFNDNFMDkwODAwNUYwQTUKLToxMDQwQjAwMDkwNzY4OUUwMDRGMEUwMDRGMEUwMDRGMDc1MTEwMTgwRUUKLToxMDQwQzAwMDE5RDIzQkQyM0M4MDEzRDIzQjgwMEY5MDgwMDVFNTE3N0MKLToxMDQwRDAwMEYwOTA3Njg5RTAwNEYwNzUxMTAxMjAzQjA0MDUwRDgwMTUKLToxMDQwRTAwMDFGMzAzQzFDOTA3RTQxRTA5MDgwMDVGMDkwN0U0MkUwQzUKLToxMDQwRjAwMDkwODAwNUYwOTA3Njg5RTAwNEYwRTAwNEYwNzUxMTAxRkQKLToxMDQxMDAwMDA1MEYxNTExMDEwMEU1MTE3MDEwQzIzM0Y1MERGNTBGMDMKLTowQjQxMTAwMDkwN0ZDNzc0MDRGMEMyM0JDMjNDMjI0OQotOjEwNEMyOTAwOTA3RkQ2RTAzMEU3MTJFMDQ0MDFGMDdGMTQ3RTAwMTI1NQotOjBBNEMzOTAwNEQ5RDkwN0ZENkUwNTRGRUYwMjI1RQotOjEwNEI3RjAwOTA3RkQ2RTA1NEZCRjBFMDQ0MDhGMDMwNDIwNEUwNDQ2QwotOjEwNEI4RjAwMDJGMDdGREM3RTA1MTI0RDlEOTA3RkQ2RTA1NEY3RjA0QQotOjA1NEI5RjAwRTA0NDA0RjAyMkQ3Ci06MTA0RDlEMDA4RTM1OEYzNkU1MzYxNTM2QUUzNTcwMDIxNTM1NEU2MENCCi06MDc0REFEMDAwNTEyMTQ4NTgwRUUyMkJGCi06MTA0QTU1MDBFNEZFNzUxREZGNzUxRTA1NzUxRjEyQUIxREFBMUVBOTY3Ci06MTA0QTY1MDAxRjkwMDAwMTEyMzZBQjY0MDI3MDJGQ0RFRUNEMEVFRDE2Ci06MTA0QTc1MDA2RjcwMDEyMjkwMDAwMjEyMzcwRTg1RjAxQkY1MUM2MjQzCi06MTA0QTg1MDAxQkU1MUI2MjFDRTUxQzYyMUIyOUZERTUxQjNBQzlFREY0Ci06MTA0QTk1MDBDOTc1MURGRkY1MUU4OTFGODBDMTdCMDA3QTAwNzkwMDRECi06MDE0QUE1MDAyMkVFCi06MDQxNzk0MDA4RDI5OEIyQUU2Ci06MTAxNzk4MDAxMjRBNTVFQTQ5NjA1NzEyMzY5MjdFMDAyOUZGRUUzQUZFCi06MTAxN0E4MDBDOUVGQzk3NTJCRkZGNTJDODkyREFCMkJBQTJDQTkyREI4Ci06MTAxN0I4MDA5MDAwMDExMjM2QUJGRjY0MDQ2MDA1RUY2NDA1NzAyRURCCi06MTAxN0M4MDBFRkI0MDQxNTkwMDAwMjEyMzZBQjY1Mjk3MDBCOTAwMDM3Ci06MTAxN0Q4MDAwMzEyMzZBQjY1MkE3MDAxMjIxMjM2OTI3RTAwMjlGRjY5Ci06MTAxN0U4MDBFRTNBQzlFRkM5NzUyQkZGRjUyQzg5MkQ4MEJDN0IwMDFCCi06MDQxN0Y4MDA3QTAwNzkwMEZBCi06MDExN0ZDMDAyMkNBCi06MDI0N0I3MDA4RjJFNDMKLToxMDQ3QjkwMEU0RjUyRjc1MzBGRjc1MzEwNzc1MzIxQUFCMzBBQTMxMjAKLToxMDQ3QzkwMEE5MzI5MDAwMDExMjM2QUJCNDAzMUZBRjJGMDUyRkVGQUEKLToxMDQ3RDkwMDY1MkU3MDAxMjIxMjM2OTI3RTAwMjlGRkVFM0FDOUVGNEEKLToxMDQ3RTkwMEM5NzUzMEZGRjUzMTg5MzI4MEQyN0IwMDdBMDA3OTAwQjIKLTowMTQ3RjkwMDIyOUQKLToxMDA1MDAwMDEyMDExMDAxMDAwMDAwNDA2QTA4MTEwMTAwMDEwMTAyRkYKLToxMDA1MTAwMDAwMDEwOTAyMDgwMjA1MDEwMDgwMzIwOTA0MDAwMDAwMDAKLToxMDA1MjAwMDAxMDEwMDAwMEEyNDAxMDAwMTU2MDAwMjAxMDIwQzI0MEUKLToxMDA1MzAwMDAyMDEwMTAxMDAwMjAwMDAwMDAwMEQyNDA2MDUwMTAyNzUKLToxMDA1NDAwMDAzMDAwMDAwMDAwMDAwMDkyNDAzMDIwNDAzMDAwNTAwNkEKLToxMDA1NTAwMDBDMjQwMjAzMDUwMjAwMDYwMDAwMDAwMDE1MjQwNjA2MTQKLToxMDA1NjAwMDAzMDIwMDAwMDMwMDAzMDAwMzAwMDMwMDAzMDAwMzAwNzQKLToxMDA1NzAwMDAwMDkyNDAzMDQwMTAxMDAwNjAwMDkwNDAxMDAwMDAxMzAKLToxMDA1ODAwMDAyMDAwMDA5MDQwMTAxMDIwMTAyMDAwMDA3MjQwMTAxMjgKLToxMDA1OTAwMDAwMDEwMDExMjQwMjAxMDIwMjEwMDM0NEFDMDA4MEJCRTAKLToxMDA1QTAwMDAwMDA3NzAxMDkwNTBBMDU4NDAxMDEwMDhGMDcyNTAxNzQKLToxMDA1QjAwMDAxMDAwMDAwMDkwNThGMDEwMzAwMDEwNTAwMDkwNDAxODUKLToxMDA1QzAwMDAyMDIwMTAyMDAwMDA3MjQwMTAxMDAwMTAwMTEyNDAyQkYKLToxMDA1RDAwMDAxMDIwMzE4MDM0NEFDMDA4MEJCMDAwMDc3MDEwOTA1NDkKLToxMDA1RTAwMDBBMDU0NjAyMDEwMDhGMDcyNTAxMDEwMDAwMDAwOTA1RTgKLToxMDA1RjAwMDhGMDEwMzAwMDEwNTAwMDkwNDAyMDAwMDAxMDIwMDAwNTAKLToxMDA2MDAwMDA5MDQwMjAxMDEwMTAyMDAwMDA3MjQwMTA0MDAwMTAwQTUKLToxMDA2MTAwMDBFMjQwMjAxMDYwMjEwMDI0NEFDMDA4MEJCMDAwOTA1NTIKLToxMDA2MjAwMDhDMDU0QzAyMDEwMDAwMDcyNTAxMDAwMjAwMDAwOTA0QUUKLToxMDA2MzAwMDAyMDIwMTAxMDIwMDAwMDcyNDAxMDQwMDAxMDAwRTI0NEYKLToxMDA2NDAwMDAyMDEwNjAzMTgwMjQ0QUMwMDgwQkIwMDA5MDU4QzA1QkEKLToxMDA2NTAwMDcyMDMwMTAwMDAwNzI1MDEwMDAyMDAwMDA5MDQwMjAzRTMKLToxMDA2NjAwMDAxMDEwMjAwMDAwNzI0MDEwNDAwMDEwMDExMjQwMjAxMUQKLToxMDA2NzAwMDAyMDIxMDAzNDRBQzAwODBCQjAwMDA3NzAxMDkwNThDMjYKLToxMDA2ODAwMDA1ODQwMTAxMDAwMDA3MjUwMTAwMDIwMDAwMDkwNDAyQTEKLToxMDA2OTAwMDA0MDEwMTAyMDAwMDA3MjQwMTA0MDAwMTAwMTEyNDAyRUEKLToxMDA2QTAwMDAxMDIwMzE4MDM0NEFDMDA4MEJCMDAwMDc3MDEwOTA1NzgKLToxMDA2QjAwMDhDMDU0NjAyMDEwMDAwMDcyNTAxMDAwMjAwMDAwOTA0MjQKLToxMDA2QzAwMDAzMDAwMDAxMDEwMDAwMDkyNDAxMDAwMTA5MDAwMTA0RTgKLToxMDA2RDAwMDA5MDQwNDAwMDIwMTAzMDAwMDA3MjQwMTAwMDEyNDAwQjIKLToxMDA2RTAwMDA2MjQwMjAxMDcwMDA5MjQwMzAyMDgwMTA3MDEwMDA2OEQKLToxMDA2RjAwMDI0MDIwMjA5MDAwOTI0MDMwMTBBMDEwOTAxMDAwOTA1NzUKLToxMDA3MDAwMDAxMDIwNDAwMDAwMDAwMDUyNTAxMDEwNzA5MDU4MTAyMUUKLToxMDA3MTAwMDA0MDAwMDAwMDAwNTI1MDEwMTBBMDQwMzA5MDQxODAzNzAKLToxMDA3MjAwMDQ1MDA2RDAwNjEwMDY3MDA2OTAwNjMwMDIwMDA0NzAwMUMKLToxMDA3MzAwMDZEMDA2MjAwNDgwMDIyMDM0NTAwNkQwMDYxMDA2NzAwMDMKLToxMDA3NDAwMDY5MDA2MzAwMjAwMDQ1MDA0RDAwNDkwMDIwMDAzNjAwOEMKLToxMDA3NTAwMDdDMDAzMjAwMjAwMDZEMDAyQTAzNDMwMDZGMDA2RTAwMTEKLToxMDA3NjAwMDY2MDA2OTAwNjcwMDc1MDA3MjAwNjEwMDc0MDA2OTAwMkUKLToxMDA3NzAwMDZGMDA2RTAwMjAwMDUzMDA3NDAwNzIwMDY5MDA2RTAwNkMKLToxMDA3ODAwMDY3MDAyMjAzNDkwMDZFMDA3NDAwNjUwMDcyMDA2NjAwNzUKLToxMDA3OTAwMDYxMDA2MzAwNjUwMDIwMDA1MzAwNzQwMDcyMDA2OTAwNkUKLTowNjA3QTAwMDZFMDA2NzAwMDAwMDdFCi06MTAxNDg1MDA3NDAwRjU4NjkwRkRBNTdDMDVBM0U1ODI0NTgzNzBGOTdBCi06MDExNDk1MDAyMjM0Ci06MTAxNDk2MDA5MDdGRDZFMDQ0ODBGMDQzODcwMTAwMDAwMDAwMDAyMkUwCi06MTAxNEE2MDBDMEQwQzBFMDhGRTBDMEUwOEVFMEMwRTA4REUwQzBFMERDCi06MTAxNEI2MDA4Q0UwQzBFMEMwODJDMDgzMDU4NkMwODRDMDg1N0QwMDA0Ci06MTAxNEM2MDA5MDdGRTM3NDdCRjBBMzc0ODBGMDdDMTE5MDdGOTlFMEE5Ci06MTAxNEQ2MDA1NDQwREMwMzAyMTRGM0I0MDAxMzkwN0ZFMjc0NDBGMDJFCi06MTAxNEU2MDA5MDdGRTVGMDkwN0ZFMjc0MDBGMDAyMTREMjkwNzY5MDNGCi06MTAxNEY2MDBFMEI0MDExMjkwNzY4RkUwMkRGRDkwN0ZFMjc0ODBGMENCCi06MTAxNTA2MDA5MDdGNkMwMjE1NTdCNDAyMTI5MDc2OEZFMDJERkQ5MEY1Ci06MTAxNTE2MDA3RkUyNzQ4MEYwOTA3RjZDMDIxNTk2QjQwMzEyOTA3Njg5Ci06MTAxNTI2MDA4RkUwMkRGRDkwN0ZFMjc0ODBGMDkwN0Y2QzAyMTVFMUQ0Ci06MTAxNTM2MDBCNDA0MTI5MDc2OEZFMDJERkQ5MDdGRTI3NDgwRjA5MEQ3Ci06MTAxNTQ2MDA3RjZDMDIxNjEwOTA3RkUyNzQ4MEYwOTA3RjZDMDIxNjFBCi06MTAxNTU2MDA0MEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMERERjI3REI5Ci06MTAxNTY2MDAwMjA1ODY5MDdGRTI3NDAwRjA5MDdGOUJFMDU0MDRCNEZECi06MTAxNTc2MDAwMDA1MDU4NjAyMTY0MDkwN0ZFMjc0ODBGMDA1ODZGMDJECi06MTAxNTg2MDBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRERENDAyMTY0MEZDCi06MTAxNTk2MDBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMDQ1Ci06MTAxNUE2MDBGMEYwRERFQzdEMDIwNTg2OTA3RkUyNzQwMEYwOTA3RjFFCi06MTAxNUI2MDA5QkUwNTQwNEI0MDAwNTA1ODYwMjE2NDA5MDdGRTI3NDUxCi06MTAxNUM2MDA4MEYwMDU4NkYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMERBCi06MDYxNUQ2MDBGMEYwRjBGMEYwRjA2RgotOjEwMTVEQzAwRERDRTAyMTY0MEYwRjBGMEYwRERGQTdEMDIwNTg2OTBDQgotOjEwMTVFQzAwN0ZFMjc0MDBGMDkwN0Y5QkUwNTQwNEI0MDAwNTA1ODYwNAotOjEwMTVGQzAwMDIxNjQwOTA3RkUyNzQ4MEYwMDU4NkYwRjBGMEYwREQ4QQotOjEwMTYwQzAwREMwMjE2NDBGMEYwRjBGMEYwRjBEREY4N0QwMjA1ODYxQgotOjEwMTYxQzAwOTA3RkUyNzQwMEYwOTA3RjlCRTA1NDA0QjQwMDA1MDVDOQotOjEwMTYyQzAwODYwMjE2NDA5MDdGRTI3NDgwRjAwNTg2RjBGMEYwRjBCMAotOjEwMTYzQzAwRjBGMEREREE5MDdGRTI3NDAwRjBEMDg1RDA4NDA1ODY3RQotOjEwMTY0QzAwRDA4M0QwODJEMEUwRkNEMEUwRkREMEUwRkVEMEUwRkYzMwotOjA1MTY1QzAwRDBFMEQwRDAyMjE3Ci06MTAxNjYxMDBDMEQwQzBFMEMwODJDMDgzOTA3NjdDRTA5MDdGNkZGMEY0Ci06MTAxNjcxMDA5MDc2N0RFMDkwN0Y2RkYwOTA3NjdFRTA5MDdGNkZGMEM2Ci06MDkxNjgxMDBEMDgzRDA4MkQwRTBEMEQwMjI0OQotOjEwMTY4QTAwQzBEMEMwRTA4RkUwQzBFMDhFRTBDMEUwQzA4MkMwODM3RQotOjEwMTY5QTAwMDU4NkMwODRDMDg1OTA3Njg3RTBGRkJGMDAwMzAyMTdFNQotOjEwMTZBQTAwMDE5MDdGOTZFMDQ0ODBGMDkwN0ZFMjc0ODBGMDkwN0YxMgotOjEwMTZCQTAwNjJFMDA1ODY5MDdGRTI3NDAwRjA5MDdGOTZFMDU0N0ZBNgotOjEwMTZDQTAwRjA5MDdGRTI3NDgwRjA5MDc2OEVFMEI0MDEwNTA1ODY5MgotOjEwMTZEQTAwMDIxNkY2QjQwMjA1MDU4NjAyMTZFQjA1ODYwMjE2RkIwQgotOjEwMTZFQTAwRTBFMEUwRTBFMEUwREZGODAyMTZGQkUwRTBFMEUwREY2NwotOjEwMTZGQTAwRkE5MDdGRTI3NDAwRjBEMDg1RDA4NDA1ODZEMDgzRDAzQQotOjBDMTcwQTAwODJEMEUwRkVEMEUwRkZEMEUwRDBEMDIyODIKLToxMDE3MTYwMEMwODJDMDgzQzBFMEU4QzBFMDc4RDFFODE0Rjg3MEZCNkUKLTowQTE3MjYwMEQwRTBGOEQwRTBEMDgzRDA4MjIyOUEKLToxMDBDQTUwMDQxNzIwMTAxNDU3MjA1MDAwMkM5MDAwMDQ1NzIwQTAwNDIKLToxMDBDQjUwMDAxMDIwMzA0NEQ3MjBGRDEwMEQxMDAwMDAwMDAwMDAwQjUKLToxMDBDQzUwMDI4MjgwOTAwNEQ3MjFDMDEwMDAxMDIwMzA0MDUwNjA3Q0UKLToxMDBDRDUwMDA4MDkwQTBCNDE3MjJFMjI0MTcyMkYyMzQxNzIzMDIwREUKLToxMDBDRTUwMDQxNzIzMTIxNjJEMjcyM0EwMDAwMDAwMDAwMDAwMDAwMUEKLToxMDBDRjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUYKLToxMDBEMDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREUKLToxMDBEMTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0UKLToxMDBEMjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkUKLToxMDBEMzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUUKLToxMDBENDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUUKLToxMDBENTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEUKLToxMDBENjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0UKLToxMDBENzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMTAxMDEwMTAxNjgKLToxMDBEODUwMDAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxNEUKLToxMDBEOTUwMDAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxM0UKLToxMDBEQTUwMDAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMkUKLToxMDBEQjUwMDAxMDEwMTAxMDEwMTAxMDEwMjAyMDIwMjAyMDIwMjAyMTYKLToxMDBEQzUwMDAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyRkUKLToxMDBERDUwMDAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyRUUKLToxMDBERTUwMDAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyREUKLToxMDBERjUwMDAyMDIwMjAyMDIwMzAzMDMwMzAzMDMwMzAzMDMwMzAzQzMKLToxMDBFMDUwMDAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzQUQKLToxMDBFMTUwMDAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzOUQKLToxMDBFMjUwMDAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzOEQKLToxMDBFMzUwMDAzMDMwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0NkYKLToxMDBFNDUwMDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0NUQKLToxMDBFNTUwMDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0NEQKLToxMDBFNjUwMDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0M0QKLToxMDBFNzUwMDA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MUQKLToxMDBFODUwMDA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MEQKLToxMDBFOTUwMDA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1RkQKLToxMDBFQTUwMDA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNjA2RUIKLToxMDBFQjUwMDA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2Q0QKLToxMDBFQzUwMDA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2QkQKLToxMDBFRDUwMDA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2QUQKLToxMDBFRTUwMDA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNzA3MDcwODA4OTYKLToxMDBFRjUwMDA4MDkwOTA5MEEwQTBBMEIwQjBCMEMwQzBDMEQwRDBENDAKLToxMDBGMDUwMDBFMEUwRTBGMEYwRjEwMTAxMDExMTExMTEyMTIxMjEzRDkKLToxMDBGMTUwMDEzMTMxNDE0MTQxNTE1MTUxNjE2MTYxNzE3MTcxODE4NzQKLToxMDBGMjUwMDE4MTkxOTE5MTkxQTFBMUExQTFCMUIxQjFCMUMxQzFDMTgKLToxMDBGMzUwMDFDMUQxRDFEMUQxRTFFMUUxRTFGMUYxRjFGMjAyMDIwQzgKLToxMDBGNDUwMDIxMjEyMTIyMjIyMjIzMjMyNDI0MjUyNTI2MjYyNzI3NjEKLToxMDBGNTUwMDI4MjgyOTI5MkEyQTJCMkIyQzJDMkQyRDJFMkUyRjJGRDQKLToxMDBGNjUwMDMwMzAzMTMxMzIzMjMzMzMzNDM0MzUzNTM2MzYzNzM3NDQKLToxMDBGNzUwMDM4MzgzOTM5M0EzQTNCM0MzRDNFM0Y0MDQxNDI0MzQ0OUIKLToxMDBGODUwMDQ1NDY0NzQ4NDk0OTRBNEI0QjRDNEQ0RTRGNTA1MTUyQTcKLToxMDBGOTUwMDUzNTQ1NTU1NTY1NjU3NTc1ODVBNUI1RDVFNUY2MTYyQjcKLToxMDBGQTUwMDYzNjQ2NTY2Njc2ODY5NkE2QjZDNkQ2RjcxNzI3Mzc0OEIKLToxMDBGQjUwMDc1NzY3Nzc4Nzk3QTdCN0M3RTgwMDEzNzAxMDEzODAwRjgKLToxMDRCMjgwMEU0OTA3MjM2RjBBM0YwOTA3Rjk3RTA1NEZCRjBFNDkwQTUKLToxMDRCMzgwMDcyMzNGMDkwNzIzMkYwOTA3MjAxMDRGMEU0OTA3MjMzQTQKLToxMDRCNDgwMEYwOTA3MjMyRjA5MDcyMDEwNEYwOTA3Rjk3RTA0NDA0ODQKLTowMjRCNTgwMEYwMjI0OQotOjEwMzI2RjAwOTA3NjE4RTBGRjY0MDU3MDQyOTA3NUFCRTBCNDAxMTlEOQotOjEwMzI3RjAwOTA3MjM3NzQwMUYwRTQ5MDgwMjBGMDkwODAzMUYwOTBEQwotOjEwMzI4RjAwODAyOEYwOTA4MDM5RjA4MDIyRTQ5MDcyMzdGMDkwNzVBQQotOjEwMzI5RjAwQURFMDkwNzIyQkYwRTAyNDgwRjBFMDkwODAyMEYwOTA3MQotOjEwMzJBRjAwODAzMUYwOTA4MDI4RjA5MDgwMzlGMEVGNjQwNjYwMDI1MgotOjEwMzJCRjAwODE5OTkwNzIzOTc0MDRGMDkwNzIzOUUwRkYyNEZFOTA3NgotOjEwMzJDRjAwNzIwNEYwRUY3NUYwMEFBNDI0QUJGNTgyRTQzNDc1RjVCRgotOjEwMzJERjAwODNFMDY0MDE3MDU0OTA3MjM2MDRGMDkwNzIwNEUwRkY0MgotOjEwMzJFRjAwMjRGRDYwMjgyNEZFNjAyNDI0MDMyNEZCNTAwNDYwMUM2QQotOjEwMzJGRjAwODE4Qzc0MjAyRkY1ODJFNDM0ODBGNTgzRTRGMDc0MjhGOAotOjEwMzMwRjAwMkZGNTgyRTQzNDgwRjU4M0U0RjA4MThDOTA3MjA0RTAzMQotOjEwMzMxRjAwRkYyNDMwRjU4MkU0MzQ4MEY1ODNFNEYwNzQzODJGRjUyMAotOjEwMzMyRjAwODJFNDM0ODBGNTgzRTRGMDgxOENFNDkwNzIzNkYwOTA3RgotOjEwMzMzRjAwNzIzOUUwNzVGMDBBQTQyNEFERjU4MkU0MzQ3NUY1ODM5MwotOjEwMzM0RjAwRTBGRjdFMDA5MDc1MENFRUYwQTNFRkYwNzAwNjkwNzIyOAotOjEwMzM1RjAwMDI3NDNCRjA5MDc1MENFMEZFQTNFMEZGNjQ4MDRFNzBBQQotOjEwMzM2RjAwMDQ5MDcyMDJGMEVGNEU3MDAyODEzNUVGNjQ4MDRFNzA2MAotOjEwMzM3RjAwMDI4MTM1RUZGOEU0OTA3NTBERjBFODkwNzUwQ0YwOTA0MAotOjEwMzM4RjAwNzIzNEUwNzVGMDBBQTQyNEFDRjU4MkU0MzQ3NUY1ODM0OQotOjEwMzM5RjAwRTBGRjkwNzIwMkYwOTA3NTBERTAyRkYwOTA3NTBDRTA0OQotOjEwMzNBRjAwMzQwMEYwRTBGRUEzRTBGRkU0RkNGRDdCRDY3QUE1Rjk0NAotOjEwMzNCRjAwRjhEMzEyMzc5NTQwMEE5MDc1MEM3NEE1RjBBMzc0RDYwNAotOjEwMzNDRjAwRjA5MDc1MERFMDI0MkFGMDkwNzUwQ0UwMzQ1QUYwRTA3RgotOjEwMzNERjAwRkVBM0UwNzgwNUNFQTJFNzEzQ0UxM0Q4RjhGRjkwNzVDMQotOjEwMzNFRjAwMENFRUYwQTNFRkYwOTA3MjJDRUVGMEEzRUZGMEQzOTQ2RAotOjEwMzNGRjAwRDJFRTY0ODA5NDgyNDAwQTkwNzIyQzc0MDJGMEEzNzQwRgotOjEwMzQwRjAwRDJGMEMzOTA3MjJDRTA2NDgwOTQ4MDUwMDRFNEYwQTM1NwotOjEwMzQxRjAwRjA5MDcyMkNFMEZFQTNFMDI0M0FGNTgyRUUzNDcyRjVDMAotOjEwMzQyRjAwODNFMDkwNzIwMkYwOTA3MjA0RTBGRjI0RkQ2MDJEMjQ3RgotOjEwMzQzRjAwRkU2MDI5MjQwMzI0RkI1MDA0NjAyMTgwNDA5MDcyMDIxNwotOjEwMzQ0RjAwRTBGRTc0MjAyRkY1ODJFNDM0ODBGNTgzRUVGMDc0MjhDQgotOjEwMzQ1RjAwMkZGNTgyRTQzNDgwRjU4M0VFRjA4MDIxOTA3MjAyRTA0NAotOjEwMzQ2RjAwRkY5MDcyMDRFMEZFMjQzMEY1ODJFNDM0ODBGNTgzRUZBMAotOjEwMzQ3RjAwRjA3NDM4MkVGNTgyRTQzNDgwRjU4M0VGRjA5MDcyMzlEMgotOjBCMzQ4RjAwRTAwNEYwRTA2NDBBNjAwMjQxQzcyMjg0Ci06MTAzNDlBMDA5MDc2MThFMEZGQjQwNTIzOTA3MjM3RTA3MDFEOTA3NTlFCi06MTAzNEFBMDBBREUwOTA3MjJCRjBFMDI0ODBGMEUwOTA4MDIwRjA5MDY0Ci06MTAzNEJBMDA4MDMxRjA5MDgwMjhGMDkwODAzOUYwRUY2NDA2NjAwMjQ1Ci06MTAzNENBMDBDMTkxOTA3MjM2RTA2MDAyQzE5MTkwNzY0MEUwNzAzMTBECi06MTAzNERBMDA5MDcyMDM3NDAzRjA5MDcyMDNFMEZGNzVGMDBBQTQyNDVCCi06MTAzNEVBMDBBQUY1ODJFNDM0NzVGNTgzRTBGRTkwNzIyOUUwRkRFRUQ4Ci06MTAzNEZBMDA2RDYwMEVFRkMzOTQwQTUwMDg5MDcyMDNFMDA0RjA4MEU2Ci06MTAzNTBBMDBENTkwNzIzOTc0MDRGMDkwNzY0MEUwNzAwODkwNzIwMzk2Ci06MTAzNTFBMDBFMDkwNzIzOUYwOTA3MjM5RTBGRDI0RkU5MDcyMkFGMDQwCi06MTAzNTJBMDBFRDc1RjAwQUE0MjRBREY1ODJFNDM0NzVGNTgzRTBGRjY1Ci06MTAzNTNBMDA3RTAwOTA3NTBDRUVGMEEzRUZGMDcwMDY5MDcyMDI3NEE0Ci06MTAzNTRBMDA4MEYwOTA3NTBDRTBGRUEzRTBGRjY0ODA0RTcwMDQ5MDVBCi06MTAzNTVBMDA3MjAyRjBFRjRFNzAwMkMxMUJFRjY0ODA0RTcwMDJDMTFFCi06MTAzNTZBMDAxQkVGRjhFNDkwNzUwREYwRTg5MDc1MENGMEVENzVGMDJFCi06MTAzNTdBMDAwQUE0MjRBQ0Y1ODJFNDM0NzVGNTgzRTBGRjkwNzIwMjY0Ci06MTAzNThBMDBGMDkwNzUwREUwMkZGMDkwNzUwQ0UwMzQwMEYwRTBGRTNECi06MTAzNTlBMDBBM0UwRkZFNEZDRkQ3QkQ2N0FBNUY5RjhEMzEyMzc5NUIwCi06MTAzNUFBMDA0MDBBOTA3NTBDNzRBNUYwQTM3NEQ2RjA5MDc1MERFMERFCi06MTAzNUJBMDAyNDJBRjA5MDc1MENFMDM0NUFGMEUwRkVBM0UwNzgwNTc2Ci06MTAzNUNBMDBDRUEyRTcxM0NFMTNEOEY4RkY5MDc1MENFRUYwQTNFRjU2Ci06MTAzNURBMDBGMDkwNzIyQ0VFRjBBM0VGRjBEMzk0RDJFRTY0ODA5NEM0Ci06MTAzNUVBMDA4MjQwMEE5MDcyMkM3NDAyRjBBMzc0RDJGMEMzOTA3MkQzCi06MTAzNUZBMDAyQ0UwNjQ4MDk0ODA1MDA0RTRGMEEzRjA5MDcyMkNFMEY0Ci06MTAzNjBBMDBGRUEzRTAyNDNBRjU4MkVFMzQ3MkY1ODNFMDkwNzIwMjZBCi06MTAzNjFBMDBGMDkwNzIyQUUwRkYyNEZENjAyRDI0RkU2MDI5MjQwMzI1Ci06MTAzNjJBMDAyNEZCNTAwNDYwMjE4MDQwOTA3MjAyRTBGRTc0MjAyRjM3Ci06MTAzNjNBMDBGNTgyRTQzNDgwRjU4M0VFRjA3NDI4MkZGNTgyRTQzNEMxCi06MTAzNjRBMDA4MEY1ODNFRUYwODAyMTkwNzIwMkUwRkY5MDcyMkFFMDBBCi06MTAzNjVBMDBGRTI0MzBGNTgyRTQzNDgwRjU4M0VGRjA3NDM4MkVGNUQ5Ci06MTAzNjZBMDA4MkU0MzQ4MEY1ODNFRkYwOTA3NjQwRTA3MDA2OTA3MjQxCi06MTAzNjdBMDAzOTc0MEFGMDkwNzIzOUUwMDRGMEUwQzM5NDBBNTAwMkY3Ci06MDgzNjhBMDBBMTExRTQ5MDc2NDBGMDIyNEEKLTowNDRFMEIwMDEyMTczMDIyMjgKLToxMDQ5QUUwMDkwNzY0Njc0ODBGMEU0QTNGMEEzRjBBM0YwQTNGMEEzRjYKLToxMDQ5QkUwMEYwQTNGMEEzRjBBM0YwQTM3NDgwRjBFNEEzRjBBM0YwQUYKLToxMDQ5Q0UwMEEzRjBBM0YwQTNGMEEzRjBBMzc0NDBGMEU0QTNGMEEzMkMKLToxMDQ5REUwMDc0NDBGMEU0QTNGMEEzRjBBM0YwQTNGMEEzRjBBM0YwQ0YKLToxMDQ5RUUwMEEzNzQ0MEYwRTRBM0YwQTM3NDQwRjBFNEEzRjBBM0YwQUEKLTowNTQ5RkUwMEEzRjBBM0YwMjI2QwotOjEwMEZDNjAwRTRGRjc0NDYyRkY1ODJFNDM0NzZGNTgzRTBGRTc0MjA2MAotOjEwMEZENjAwMkZGNTgyRTQzNDgwRjU4M0VFRjA3NDRFMkZGNTgyRTQyQgotOjEwMEZFNjAwMzQ3NkY1ODNFMEZFNzQzMDJGRjU4MkU0MzQ4MEY1ODNBMQotOjA2MEZGNjAwRUVGMDBGQkYwOENDNzUKLTowMTBGRkMwMDIyRDIKLToxMDRBRjEwMEU0RkY3NDU2MkZGNTgyRTQzNDc2RjU4M0UwRkU3NDI4RTIKLToxMDRCMDEwMDJGRjU4MkU0MzQ4MEY1ODNFRUYwNzQ1RTJGRjU4MkU0QjQKLToxMDRCMTEwMDM0NzZGNTgzRTBGRTc0MzgyRkY1ODJFNDM0ODBGNTgzMzIKLTowNjRCMjEwMEVFRjAwRkJGMDhDQzBFCi06MDE0QjI3MDAyMjZCCi06MTAxNzMwMDBDMDgyQzA4M0MwRTBFOEMwRTA3ODc4RTgxNEY4NzBGQkFECi06MEExNzQwMDBEMEUwRjhEMEUwRDA4M0QwODIyMjgwCi06MDMwMDQzMDAwMjQ5MDA2RgotOjEwNDkwMDAwMDIyRkU3MDAwMjNENDcwMDAyNERCNDAwMDI0QzQzMDA3NQotOjEwNDkxMDAwMDI0QkU5MDAwMjJGRkYwMDAyNEM1QjAwMDI0QzBBMDAzMAotOjEwNDkyMDAwMDI0QzcyMDAwMjRCNUEwMDAyNEM4OTAwMDI0Q0EwMDA1QgotOjEwNDkzMDAwMDI0Q0I3MDAwMjRDQ0UwMDAyNENFNTAwMDI0Q0ZDMDBEOQotOjEwNDk0MDAwMDI0RDEzMDAwMjREMkEwMDAyNEQ0MTAwMDI0RDU4MDA1NQotOjA4NDk1MDAwMDI0RDZGMDAwMjREODYwMENDCi06MTAxQjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk1Ci06MTAxQjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg1Ci06MTAxQjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc1Ci06MTAxQjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY1Ci06MTAxQjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU1Ci06MTAxQjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ1Ci06MTAxQkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM1Ci06MTAxQkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI1Ci06MTAxQkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE1Ci06MTAxQkQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1Ci06MTAxQkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY1Ci06MTAxQkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU1Ci06MTAxQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ0Ci06MTAxQzEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM0Ci06MTAxQzIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI0Ci06MTAxQzMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE0Ci06MTAxQzQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk0Ci06MTAxQzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg0Ci06MTAxQzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc0Ci06MTAxQzcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY0Ci06MTAxQzgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU0Ci06MTAxQzkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ0Ci06MTAxQ0EwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM0Ci06MTAxQ0IwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI0Ci06MTAxQ0MwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE0Ci06MTAxQ0QwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0Ci06MTAxQ0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY0Ci06MTAxQ0YwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU0Ci06MTAxRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQzCi06MTAxRDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMzCi06MTAxRDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIzCi06MTAxRDMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEzCi06MTAxRDQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkzCi06MTAxRDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgzCi06MTAxRDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDczCi06MTAxRDcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYzCi06MTAxRDgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUzCi06MTAxRDkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQzCi06MTAxREEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMzCi06MTAxREIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIzCi06MTAxREMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEzCi06MTAxREQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzCi06MTAxREUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYzCi06MTAxREYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUzCi06MTAxRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQyCi06MTAxRTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMyCi06MTAxRTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIyCi06MTAxRTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEyCi06MTAxRTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkyCi06MTAxRTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgyCi06MTAxRTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcyCi06MTAxRTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYyCi06MTAxRTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUyCi06MTAxRTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQyCi06MTAxRUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMyCi06MEUxRUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjQKLToxMDFFQkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTQKLToxMDFFQ0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQKLToxMDFFREUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjQKLToxMDFFRUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTQKLToxMDFFRkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDQKLToxMDFGMEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzMKLToxMDFGMUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjMKLToxMDFGMkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTMKLTowMjFGM0UwMDAwMDBBMQotOjEwMUY0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MQotOjEwMUY1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MQotOjEwMUY2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MQotOjEwMUY3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MQotOjEwMUY4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MQotOjEwMUY5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MQotOjEwMUZBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMQotOjEwMUZCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMQotOjEwMUZDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMQotOjEwMUZEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMQotOjEwMUZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMQotOjEwMUZGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMQotOjEwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMAotOjEwMjAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMAotOjEwMjAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMAotOjEwMjAzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMAotOjEwMjA0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MAotOjEwMjA1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MAotOjEwMjA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MAotOjEwMjA3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MAotOjEwMjA4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MAotOjEwMjA5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MAotOjEwMjBBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMAotOjEwMjBCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMAotOjEwMjBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMAotOjEwMjBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotOjEwMjBFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMAotOjEwMjBGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMAotOjEwMjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRgotOjEwMjExMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRgotOjEwMjEyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRgotOjEwMjEzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RgotOjEwMjE0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RgotOjEwMjE1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RgotOjEwMjE2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2RgotOjEwMjE3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RgotOjEwMjE4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RgotOjEwMjE5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRgotOjEwMjFBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRgotOjEwMjFCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRgotOjEwMjFDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRgotOjEwMjFEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRgotOjEwMjFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRgotOjEwMjFGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERgotOjEwMjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRQotOjEwMjIxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRQotOjEwMjIyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRQotOjEwMjIzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RQotOjEwMjI0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RQotOjEwMjI1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RQotOjEwMjI2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2RQotOjEwMjI3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RQotOjEwMjI4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RQotOjEwMjI5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRQotOjEwMjJBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRQotOjEwMjJCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRQotOjEwMjJDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRQotOjEwMjJEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRQotOjEwMjJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRQotOjEwMjJGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERQotOjEwMjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRAotOjEwMjMxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRAotOjEwMjMyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRAotOjEwMjMzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RAotOjEwMjM0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RAotOjEwMjM1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RAotOjEwMjM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2RAotOjBFMjM3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVGCi06MTAyMzdFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRGCi06MTAyMzhFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGCi06MTAyMzlFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJGCi06MTAyM0FFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFGCi06MTAyM0JFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGCi06MTAyM0NFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZGCi06MTAyM0RFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVGCi06MTAyM0VFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERGCi06MTAyM0ZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENGCi06MTAyNDBFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJFCi06MTAyNDFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFFCi06MTAyNDJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlFCi06MTAyNDNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhFCi06MTAyNDRFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdFCi06MTAyNDVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZFCi06MTAyNDZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVFCi06MTAyNDdFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRFCi06MTAyNDhFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNFCi06MTAyNDlFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJFCi06MTAyNEFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFFCi06MTAyNEJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFCi06MTAyNENFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZFCi06MTAyNERFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVFCi06MTAyNEVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERFCi06MTAyNEZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENFCi06MTAyNTBFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJECi06MTAyNTFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFECi06MTAyNTJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlECi06MTAyNTNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhECi06MTAyNTRFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdECi06MTAyNTVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZECi06MTAyNTZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVECi06MTAyNTdFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRECi06MTAyNThFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNECi06MTAyNTlFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJECi06MTAyNUFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFECi06MTAyNUJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBECi06MTAyNUNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZECi06MTAyNURFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVECi06MTAyNUVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERECi06MTAyNUZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENECi06MTAyNjBFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJDCi06MTAyNjFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFDCi06MTAyNjJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlDCi06MTAyNjNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhDCi06MTAyNjRFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdDCi06MTAyNjVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZDCi06MTAyNjZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVDCi06MTAyNjdFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRDCi06MTAyNjhFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNDCi06MTAyNjlFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJDCi06MTAyNkFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFDCi06MTAyNkJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDCi06MTAyNkNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZDCi06MTAyNkRFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVDCi06MEUyNkVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREUKLToxMDI2RkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0UKLToxMDI3MEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkQKLToxMDI3MUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUQKLToxMDI3MkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUQKLToxMDI3M0MwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEQKLToxMDI3NEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0QKLToxMDI3NUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkQKLToxMDI3NkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUQKLToxMDI3N0MwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEQKLToxMDI3OEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0QKLToxMDI3OUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkQKLToxMDI3QUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUQKLToxMDI3QkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQKLToxMDI3Q0MwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkQKLToxMDI3REMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUQKLToxMDI3RUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREQKLTowNTI3RkMwMDAwMDAwMDAwMjJCNgotOjA3MTc0QTAwOTA3RkM1NzQwMkYwMjIzQwotOjEwMTc1MTAwOTA3RUMwRTA5MDc2NDVGMDkwN0VDMUUwOTA3NjQ0RjBCNgotOjEwMTc2MTAwOTA3RUMyRTA5MDc2NDNGMEI0MDAwMzAyMTc3ODkwNzY0MQotOjEwMTc3MTAwMTk3NDAzRjAwMjE3OEU5MDc2NDRFMEI0QkIwOTkwNzY5OQotOjEwMTc4MTAwMTk3NDAyRjAwMjE3OEU5MDc2MTk3NDAxRjA5MDc2NDI2NgotOjAzMTc5MTAwRTRGMDIyNUYKLTowMzAwMDAwMDAyNDZCOUZDCi06MEM0NkI5MDA3ODdGRTRGNkQ4RkQ3NTgxMzgwMjQ3MDBEOAotOjEwMzY5MjAwQkIwMTA2ODk4MjhBODNFMDIyNTAwMkU3MjJCQkZFMDIzNgotOjA5MzZBMjAwRTMyMjg5ODI4QTgzRTQ5MzIyNjkKLToxMDM2QUIwMEJCMDEwQ0U1ODIyOUY1ODJFNTgzM0FGNTgzRTAyMjUwRDQKLToxMDM2QkIwMDA2RTkyNTgyRjhFNjIyQkJGRTA2RTkyNTgyRjhFMjIyMUUKLTowRDM2Q0IwMEU1ODIyOUY1ODJFNTgzM0FGNTgzRTQ5MzIyMzgKLToxMDM2RDgwMEMyRDVFQzMwRTcwOUIyRDVFNEMzOURGREU0OUNGQ0VFMEQKLToxMDM2RTgwMDMwRTcxNUIyRDVFNEMzOUZGRkU0OUVGRTEyMzgxRkMzMkUKLToxMDM2RjgwMEU0OURGREU0OUNGQzgwMDMxMjM4MUYzMEQ1MDdDM0U0MjkKLTowNjM3MDgwMDlGRkZFNDlFRkUyMjdCCi06MTAzNzBFMDBCQjAxMTBFNTgyMjlGNTgyRTU4MzNBRjU4M0UwRjVGMEY5Ci06MTAzNzFFMDBBM0UwMjI1MDA5RTkyNTgyRjg4NkYwMDhFNjIyQkJGRUQ2Ci06MTAzNzJFMDAwQUU5MjU4MkY4RTJGNUYwMDhFMjIyRTU4MzJBRjU4MzFDCi06MDgzNzNFMDBFOTkzRjVGMEEzRTk5MzIyRTEKLToxMDM3NDYwMEU4OEZGMEE0Q0M4QkYwQTQyQ0ZDRTk4RUYwQTQyQ0ZDMjIKLToxMDM3NTYwMDhBRjBFREE0MkNGQ0VBOEVGMEE0Q0RBOEYwOEJGMEE0QTAKLToxMDM3NjYwMDJEQ0MzODI1RjBGREU5OEZGMEE0MkNDRDM1RjBGQ0VCRkYKLToxMDM3NzYwMDhFRjBBNEZFQTlGMEVCOEZGMEE0Q0ZDNUYwMkVDRDM5QzQKLTowRjM3ODYwMEZFRTQzQ0ZDRUFBNDJEQ0UzNUYwRkRFNDNDRkMyMjMxCi06MTAzNzk1MDBFQjlGRjVGMEVBOUU0MkYwRTk5RDQyRjBFQzY0ODBDOEFCCi06MDYzN0E1MDA2NDgwOTg0NUYwMjI0QgotOjEwMzdBQjAwRUI5RkY1RjBFQTlFNDJGMEU5OUQ0MkYwRTg5QzQ1RjA3NAotOjAxMzdCQjAwMjJFQgotOjBDMzdCQzAwRUNGMEEzRURGMEEzRUVGMEEzRUZGMDIyODAKLToxMDM3QzgwMEE4ODI4NTgzRjBEMDgzRDA4MjEyMzdERjEyMzdERjEyQzgKLToxMDM3RDgwMDM3REYxMjM3REZFNDczRTQ5M0EzQzU4M0M1RjBDNTgzRUQKLToxMDM3RTgwMEM4QzU4MkM4RjBBM0M1ODNDNUYwQzU4M0M4QzU4MkM4NEIKLTowMTM3RjgwMDIyQUUKLToxMDM3RjkwMEQwODNEMDgyRjhFNDkzNzAxMjc0MDE5MzcwMERBM0EzNUYKLToxMDM4MDkwMDkzRjg3NDAxOTNGNTgyODg4M0U0NzM3NDAyOTM2ODYwNzIKLTowNjM4MTkwMEVGQTNBM0EzODBERjcyCi06MTA0NkM1MDAwMjA3QTZFNDkzQTNGOEU0OTNBMzQwMDNGNjgwMDFGMjVFCi06MTA0NkQ1MDAwOERGRjQ4MDI5RTQ5M0EzRjg1NDA3MjQwQ0M4QzMzM0Y2Ci06MTA0NkU1MDBDNDU0MEY0NDIwQzg4MzQwMDRGNDU2ODAwMTQ2RjZERkM1Ci06MTA0NkY1MDBFNDgwMEIwMTAyMDQwODEwMjA0MDgwOTAwQzhGRTQ3RUJBCi06MTA0NzA1MDAwMTkzNjBCQ0EzRkY1NDNGMzBFNTA5NTQxRkZFRTQ5M0I5Ci06MTA0NzE1MDBBMzYwMDEwRUNGNTRDMDI1RTA2MEE4NDBCOEU0OTNBMzgwCi06MTA0NzI1MDBGQUU0OTNBM0Y4RTQ5M0EzQzhDNTgyQzhDQUM1ODNDQUFCCi06MTA0NzM1MDBGMEEzQzhDNTgyQzhDQUM1ODNDQURGRTlERUU3ODBCRTYzCi06MDEwRkM1MDAwMDJCCi06MTAzODFGMDBCQzAwMEJCRTAwMjlFRjhERjA4NEZGQURGMDIyRTRDQzhECi06MTAzODJGMDBGODc1RjAwOEVGMkZGRkVFMzNGRUVDMzNGQ0VFOURFQzU2Ci06MTAzODNGMDA5ODQwMDVGQ0VFOURGRTBGRDVGMEU5RTRDRUZEMjJFRDlDCi06MTAzODRGMDBGOEY1RjBFRTg0MjBEMjFDRkVBREYwNzVGMDA4RUYyRkU2Ci06MTAzODVGMDBGRkVEMzNGRDQwMDc5ODUwMDZENUYwRjIyMkMzOThGREQ3Ci06MDUzODZGMDAwRkQ1RjBFQTIyNzQKLTowMDAwMDAwMUZGCi0vKgotVkVSU0lPTj0xLjA0LjA2MgotREFURT0xNi4xMC4yMDAyICAKLSovCi1zdGF0aWMgSU5URUxfSEVYX1JFQ09SRCBnX2VtaTYyX2xvYWRlcltdID0gewotICAgMywweDAwMDAsMCx7MHgwMiwweDAyLDB4ODd9LAotICAgMywweDAwNDMsMCx7MHgwMiwweDA0LDB4MDB9LAotICAxNiwweDAxMDAsMCx7MHhlNCwweGZmLDB4ZmUsMHhjMiwweDIwLDB4ZDIsMHhlOCwweDQzLDB4ZDgsMHgyMCwweDkwLDB4N2YsMHhhYiwweDc0LDB4ZmYsMHhmMH0sCi0gIDE2LDB4MDExMCwwLHsweDkwLDB4N2YsMHhhOSwweGYwLDB4OTAsMHg3ZiwweGFhLDB4ZjAsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4OTUsMHg3NCwweGMwfSwKLSAgMTYsMHgwMTIwLDAsezB4ZjAsMHg5MCwweDdmLDB4OWUsMHhmMCwweDkwLDB4N2YsMHg5OCwweGYwLDB4ZTQsMHg5MCwweDdmLDB4OTQsMHhmMCwweDkwLDB4N2Z9LAotICAxNiwweDAxMzAsMCx7MHg5ZCwweDc0LDB4ZmYsMHhmMCwweDkwLDB4N2YsMHg5NywweDc0LDB4YTAsMHhmMCwweDkwLDB4N2YsMHg5MywweGUwLDB4NTQsMHhmY30sCi0gIDE2LDB4MDE0MCwwLHsweGYwLDB4OTAsMHg3ZiwweDljLDB4NzQsMHgwMywweGYwLDB4ZTQsMHg5MCwweDdmLDB4OTYsMHhmMCwweDkwLDB4N2YsMHhhZiwweGUwfSwKLSAgMTYsMHgwMTUwLDAsezB4NDQsMHgwMSwweGYwLDB4OTAsMHg3ZiwweGFlLDB4ZTAsMHg0NCwweDBkLDB4ZjAsMHhkMiwweGFmLDB4MGYsMHhiZiwweDAwLDB4MDF9LAotICAxNiwweDAxNjAsMCx7MHgwZSwweGJlLDB4MDcsMHhmOCwweGJmLDB4MDgsMHhmNSwweDIwLDB4MjAsMHg0MiwweDc1LDB4MTQsMHgwMCwweDc1LDB4MTMsMHgwMH0sCi0gIDE2LDB4MDE3MCwwLHsweDc1LDB4MTIsMHgwMCwweDc1LDB4MTEsMHgwMCwweDdmLDB4NDgsMHg3ZSwweDkyLDB4N2QsMHgwMCwweDdjLDB4MDAsMHhhYiwweDE0fSwKLSAgMTYsMHgwMTgwLDAsezB4YWEsMHgxMywweGE5LDB4MTIsMHhhOCwweDExLDB4YzMsMHgxMiwweDAzLDB4ZWQsMHg1MCwweGRiLDB4MjAsMHgyMCwweGQ4LDB4N2F9LAotICAxNiwweDAxOTAsMCx7MHgwMCwweDc5LDB4MDAsMHg3OCwweDAwLDB4ZTUsMHgxNCwweDI0LDB4MDEsMHhmNSwweDE0LDB4ZWEsMHgzNSwweDEzLDB4ZjUsMHgxM30sCi0gIDE2LDB4MDFhMCwwLHsweGU5LDB4MzUsMHgxMiwweGY1LDB4MTIsMHhlOCwweDM1LDB4MTEsMHhmNSwweDExLDB4ODAsMHhjYSwweDMwLDB4MjAsMHhmZCwweDEyfSwKLSAgMTYsMHgwMWIwLDAsezB4MDEsMHhjNywweDUwLDB4MDcsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDR9LAotICAgNiwweDAxYzAsMCx7MHgwMiwweGYwLDB4YzIsMHgyMCwweDgwLDB4ZTZ9LAotICAgMSwweDAxYzYsMCx7MHgyMn0sCi0gIDE2LDB4MDFjNywwLHsweDkwLDB4N2YsMHhlOSwweGUwLDB4MjQsMHg1YiwweDYwLDB4NjAsMHgyNCwweDAyLDB4NjAsMHgwMywweDAyLDB4MDIsMHg4NSwweDkwfSwKLSAgMTYsMHgwMWQ3LDAsezB4N2YsMHhlYSwweGUwLDB4NzUsMHgwYSwweDAwLDB4ZjUsMHgwYiwweGEzLDB4ZTAsMHhmZSwweGU0LDB4ZWUsMHg0MiwweDBhLDB4OTB9LAotICAxNiwweDAxZTcsMCx7MHg3ZiwweGVlLDB4ZTAsMHg3NSwweDE1LDB4MDAsMHhmNSwweDE2LDB4YTMsMHhlMCwweGZlLDB4ZTQsMHhlZSwweDQyLDB4MTUsMHhlNX0sCi0gIDE2LDB4MDFmNywwLHsweDE2LDB4NDUsMHgxNSwweDcwLDB4MDMsMHgwMiwweDAyLDB4ODUsMHhlNCwweDkwLDB4N2YsMHhjNSwweGYwLDB4OTAsMHg3ZiwweGI0fSwKLSAgMTYsMHgwMjA3LDAsezB4ZTAsMHgyMCwweGUzLDB4ZjksMHg5MCwweDdmLDB4YzUsMHhlMCwweGY1LDB4MGMsMHgxMiwweDAzLDB4MTMsMHhhZiwweDBjLDB4N2V9LAotICAxNiwweDAyMTcsMCx7MHgwMCwweGVmLDB4MjUsMHgwYiwweGY1LDB4MGIsMHhlZSwweDM1LDB4MGEsMHhmNSwweDBhLDB4YzMsMHhlNSwweDE2LDB4OWYsMHhmNX0sCi0gIDE2LDB4MDIyNywwLHsweDE2LDB4ZTUsMHgxNSwweDllLDB4ZjUsMHgxNSwweDgwLDB4YzcsMHg5MCwweDdmLDB4ZWEsMHhlMCwweDc1LDB4MGEsMHgwMCwweGY1fSwKLSAgMTYsMHgwMjM3LDAsezB4MGIsMHhhMywweGUwLDB4ZmUsMHhlNCwweGVlLDB4NDIsMHgwYSwweDkwLDB4N2YsMHhlZSwweGUwLDB4NzUsMHgxNSwweDAwLDB4ZjV9LAotICAxNiwweDAyNDcsMCx7MHgxNiwweGEzLDB4ZTAsMHhmZSwweGU0LDB4ZWUsMHg0MiwweDE1LDB4ZTUsMHgxNiwweDQ1LDB4MTUsMHg2MCwweDMwLDB4ZTQsMHg5MH0sCi0gIDE2LDB4MDI1NywwLHsweDdmLDB4YzUsMHhmMCwweDkwLDB4N2YsMHhiNCwweGUwLDB4MjAsMHhlMywweGY5LDB4OTAsMHg3ZiwweGM1LDB4ZTAsMHhmNSwweDBjfSwKLSAgMTYsMHgwMjY3LDAsezB4MTIsMHgwMywweDJiLDB4YWYsMHgwYywweDdlLDB4MDAsMHhlZiwweDI1LDB4MGIsMHhmNSwweDBiLDB4ZWUsMHgzNSwweDBhLDB4ZjV9LAotICAxNSwweDAyNzcsMCx7MHgwYSwweGMzLDB4ZTUsMHgxNiwweDlmLDB4ZjUsMHgxNiwweGU1LDB4MTUsMHg5ZSwweGY1LDB4MTUsMHg4MCwweGNhLDB4YzN9LAotICAgMSwweDAyODYsMCx7MHgyMn0sCi0gIDEyLDB4MDI4NywwLHsweDc4LDB4N2YsMHhlNCwweGY2LDB4ZDgsMHhmZCwweDc1LDB4ODEsMHgyOSwweDAyLDB4MDIsMHhjZX0sCi0gIDE2LDB4MDI5MywwLHsweDAyLDB4MDEsMHgwMCwweGU0LDB4OTMsMHhhMywweGY4LDB4ZTQsMHg5MywweGEzLDB4NDAsMHgwMywweGY2LDB4ODAsMHgwMSwweGYyfSwKLSAgMTYsMHgwMmEzLDAsezB4MDgsMHhkZiwweGY0LDB4ODAsMHgyOSwweGU0LDB4OTMsMHhhMywweGY4LDB4NTQsMHgwNywweDI0LDB4MGMsMHhjOCwweGMzLDB4MzN9LAotICAxNiwweDAyYjMsMCx7MHhjNCwweDU0LDB4MGYsMHg0NCwweDIwLDB4YzgsMHg4MywweDQwLDB4MDQsMHhmNCwweDU2LDB4ODAsMHgwMSwweDQ2LDB4ZjYsMHhkZn0sCi0gIDE2LDB4MDJjMywwLHsweGU0LDB4ODAsMHgwYiwweDAxLDB4MDIsMHgwNCwweDA4LDB4MTAsMHgyMCwweDQwLDB4ODAsMHg5MCwweDA0LDB4NmUsMHhlNCwweDdlfSwKLSAgMTYsMHgwMmQzLDAsezB4MDEsMHg5MywweDYwLDB4YmMsMHhhMywweGZmLDB4NTQsMHgzZiwweDMwLDB4ZTUsMHgwOSwweDU0LDB4MWYsMHhmZSwweGU0LDB4OTN9LAotICAxNiwweDAyZTMsMCx7MHhhMywweDYwLDB4MDEsMHgwZSwweGNmLDB4NTQsMHhjMCwweDI1LDB4ZTAsMHg2MCwweGE4LDB4NDAsMHhiOCwweGU0LDB4OTMsMHhhM30sCi0gIDE2LDB4MDJmMywwLHsweGZhLDB4ZTQsMHg5MywweGEzLDB4ZjgsMHhlNCwweDkzLDB4YTMsMHhjOCwweGM1LDB4ODIsMHhjOCwweGNhLDB4YzUsMHg4MywweGNhfSwKLSAgMTYsMHgwMzAzLDAsezB4ZjAsMHhhMywweGM4LDB4YzUsMHg4MiwweGM4LDB4Y2EsMHhjNSwweDgzLDB4Y2EsMHhkZiwweGU5LDB4ZGUsMHhlNywweDgwLDB4YmV9LAotICAxNiwweDAzMTMsMCx7MHhlNSwweDBjLDB4ZmYsMHhlNSwweDBiLDB4ZjUsMHg4MiwweGU1LDB4MGEsMHhmNSwweDgzLDB4NzUsMHg5MiwweDdlLDB4NzQsMHhjMH0sCi0gICA4LDB4MDMyMywwLHsweGY4LDB4ZTIsMHgwOCwweGYwLDB4YTMsMHhkZiwweGZhLDB4MjJ9LAotICAxNiwweDAzMmIsMCx7MHg5MCwweDdmLDB4OTYsMHg4NSwweDgzLDB4OTIsMHhhOCwweDgyLDB4NzksMHgwMiwweDkwLDB4MDAsMHgwMCwweGUwLDB4YjQsMHgwMH0sCi0gIDE2LDB4MDMzYiwwLHsweDBkLDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3ZiwweDk3LDB4ZTAsMHg1NCwweDdmLDB4ZjAsMHg0NCwweDgwLDB4ZjAsMHhlNSwweDBjfSwKLSAgMTYsMHgwMzRiLDAsezB4ZmYsMHg5MCwweDdlLDB4YzAsMHhlMCwweGY1LDB4MjgsMHhlNCwweGEyLDB4NDcsMHgzMywweGYyLDB4NjksMHhmMiwweGU0LDB4YTJ9LAotICAxNiwweDAzNWIsMCx7MHg0NiwweDMzLDB4ZjIsMHg2OSwweGYyLDB4ZTQsMHhhMiwweDQ1LDB4MzMsMHhmMiwweDY5LDB4ZjIsMHhlNCwweGEyLDB4NDQsMHgzM30sCi0gIDE2LDB4MDM2YiwwLHsweGYyLDB4NjksMHhmMiwweGU0LDB4YTIsMHg0MywweDMzLDB4ZjIsMHg2OSwweGYyLDB4ZTQsMHhhMiwweDQyLDB4MzMsMHhmMiwweDY5fSwKLSAgMTYsMHgwMzdiLDAsezB4ZjIsMHhlNCwweGEyLDB4NDEsMHgzMywweGYyLDB4NjksMHhmMiwweGU0LDB4YTIsMHg0MCwweDMzLDB4ZjIsMHg2OSwweGYyLDB4YTN9LAotICAgMywweDAzOGIsMCx7MHhkZiwweGMyLDB4MjJ9LAotICAxNiwweDAzOGUsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg5MCwweDdmLDB4YzQsMHhlNCwweGYwLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3Zn0sCi0gIDExLDB4MDM5ZSwwLHsweGFiLDB4NzQsMHgwNCwweGYwLDB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9LAotICAxNiwweDAzYTksMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHhkMiwweDIwLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFiLDB4NzQsMHgwMX0sCi0gICA4LDB4MDNiOSwwLHsweGYwLDB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9LAotICAxNiwweDAzYzEsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWIsMHg3NCwweDAyLDB4ZjAsMHhkMH0sCi0gICA2LDB4MDNkMSwwLHsweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0sCi0gIDE2LDB4MDNkNywwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYiwweDc0LDB4MTAsMHhmMCwweGQwfSwKLSAgIDYsMHgwM2U3LDAsezB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSwKLSAgMTYsMHgwM2VkLDAsezB4ZWIsMHg5ZiwweGY1LDB4ZjAsMHhlYSwweDllLDB4NDIsMHhmMCwweGU5LDB4OWQsMHg0MiwweGYwLDB4ZTgsMHg5YywweDQ1LDB4ZjB9LAotICAgMSwweDAzZmQsMCx7MHgyMn0sCi0gICAxLDB4MDNmZSwwLHsweDMyfSwKLSAgIDEsMHgwM2ZmLDAsezB4MzJ9LAotICAxNiwweDA0MDAsMCx7MHgwMiwweDAzLDB4YTksMHgwMCwweDAyLDB4MDMsMHhjMSwweDAwLDB4MDIsMHgwMywweDhlLDB4MDAsMHgwMiwweDA0LDB4NTgsMHgwMH0sCi0gIDE2LDB4MDQxMCwwLHsweDAyLDB4MDMsMHhkNywweDAwLDB4MDIsMHgwMywweGZlLDB4MDAsMHgwMiwweDAzLDB4ZmYsMHgwMCwweDAyLDB4MDQsMHg4NCwweDAwfSwKLSAgMTYsMHgwNDIwLDAsezB4MDIsMHgwNCwweDg1LDB4MDAsMHgwMiwweDA0LDB4ODYsMHgwMCwweDAyLDB4MDQsMHg4NywweDAwLDB4MDIsMHgwNCwweDg4LDB4MDB9LAotICAxNiwweDA0MzAsMCx7MHgwMiwweDA0LDB4ODksMHgwMCwweDAyLDB4MDQsMHg4YSwweDAwLDB4MDIsMHgwNCwweDhiLDB4MDAsMHgwMiwweDA0LDB4OGMsMHgwMH0sCi0gIDE2LDB4MDQ0MCwwLHsweDAyLDB4MDQsMHg4ZCwweDAwLDB4MDIsMHgwNCwweDhlLDB4MDAsMHgwMiwweDA0LDB4OGYsMHgwMCwweDAyLDB4MDQsMHg5MCwweDAwfSwKLSAgIDgsMHgwNDUwLDAsezB4MDIsMHgwNCwweDkxLDB4MDAsMHgwMiwweDA0LDB4OTIsMHgwMH0sCi0gIDE2LDB4MDQ1OCwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYiwweDc0LDB4MDgsMHhmMCwweGQwfSwKLSAgIDYsMHgwNDY4LDAsezB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSwKLSAgMTYsMHgwNDZlLDAsezB4MDIsMHgwYSwweDAwLDB4MGYsMHgwMSwweDBjLDB4MTEsMHgwNCwweDBkLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MSwweDAwLDB4MDB9LAotICAgMSwweDA0N2UsMCx7MHgwMH0sCi0gICA0LDB4MDQ3ZiwwLHsweDAyLDB4MTcsMHgwMCwweDAwfSwKLSAgIDEsMHgwNDgzLDAsezB4MDB9LAotICAgMSwweDA0ODQsMCx7MHgzMn0sCi0gICAxLDB4MDQ4NSwwLHsweDMyfSwKLSAgIDEsMHgwNDg2LDAsezB4MzJ9LAotICAgMSwweDA0ODcsMCx7MHgzMn0sCi0gICAxLDB4MDQ4OCwwLHsweDMyfSwKLSAgIDEsMHgwNDg5LDAsezB4MzJ9LAotICAgMSwweDA0OGEsMCx7MHgzMn0sCi0gICAxLDB4MDQ4YiwwLHsweDMyfSwKLSAgIDEsMHgwNDhjLDAsezB4MzJ9LAotICAgMSwweDA0OGQsMCx7MHgzMn0sCi0gICAxLDB4MDQ4ZSwwLHsweDMyfSwKLSAgIDEsMHgwNDhmLDAsezB4MzJ9LAotICAgMSwweDA0OTAsMCx7MHgzMn0sCi0gICAxLDB4MDQ5MSwwLHsweDMyfSwKLSAgIDEsMHgwNDkyLDAsezB4MzJ9LAotICAxNiwweDExMDAsMCx7MHgxMiwweDAxLDB4MTAsMHgwMSwweDAwLDB4MDAsMHgwMCwweDQwLDB4NmEsMHgwOCwweDAxLDB4MDEsMHgwMCwweDAxLDB4MDEsMHgwMn0sCi0gIDE2LDB4MTExMCwwLHsweDAwLDB4MDEsMHgwOSwweDAyLDB4MjAsMHgwMCwweDAxLDB4MDEsMHgwMywweGEwLDB4MDAsMHgwOSwweDA0LDB4MDAsMHgwMCwweDAyfSwKLSAgMTYsMHgxMTIwLDAsezB4ZmYsMHgwMCwweDAwLDB4MDQsMHgwNywweDA1LDB4ODIsMHgwMiwweDQwLDB4MDAsMHgwMCwweDA3LDB4MDUsMHgwMiwweDAyLDB4NDB9LAotICAxNiwweDExMzAsMCx7MHgwMCwweDAwLDB4MDQsMHgwMywweDA5LDB4MDQsMHgyNiwweDAzLDB4NDEsMHgwMCwweDZlLDB4MDAsMHg2MywweDAwLDB4NjgsMHgwMH0sCi0gIDE2LDB4MTE0MCwwLHsweDZmLDB4MDAsMHg3MiwweDAwLDB4MjAsMHgwMCwweDQzLDB4MDAsMHg2OCwweDAwLDB4NjksMHgwMCwweDcwLDB4MDAsMHg3MywweDAwfSwKLSAgMTYsMHgxMTUwLDAsezB4MmMsMHgwMCwweDIwLDB4MDAsMHg0OSwweDAwLDB4NmUsMHgwMCwweDYzLDB4MDAsMHgyZSwweDAwLDB4MjgsMHgwMywweDQ2LDB4MDB9LAotICAxNiwweDExNjAsMCx7MHg2OSwweDAwLDB4NzIsMHgwMCwweDZkLDB4MDAsMHg3NywweDAwLDB4NjEsMHgwMCwweDcyLDB4MDAsMHg2NSwweDAwLDB4MjAsMHgwMH0sCi0gIDE2LDB4MTE3MCwwLHsweDQ2LDB4MDAsMHg3MiwweDAwLDB4NjEsMHgwMCwweDZkLDB4MDAsMHg2NSwweDAwLDB4NTcsMHgwMCwweDZmLDB4MDAsMHg3MiwweDAwfSwKLSAgMTYsMHgxMTgwLDAsezB4NmIsMHgwMCwweDczLDB4MDAsMHgyYSwweDAzLDB4NDMsMHgwMCwweDZmLDB4MDAsMHg2ZSwweDAwLDB4NjYsMHgwMCwweDY5LDB4MDB9LAotICAxNiwweDExOTAsMCx7MHg2NywweDAwLDB4NzUsMHgwMCwweDcyLDB4MDAsMHg2MSwweDAwLDB4NzQsMHgwMCwweDY5LDB4MDAsMHg2ZiwweDAwLDB4NmUsMHgwMH0sCi0gIDE2LDB4MTFhMCwwLHsweDIwLDB4MDAsMHg1MywweDAwLDB4NzQsMHgwMCwweDcyLDB4MDAsMHg2OSwweDAwLDB4NmUsMHgwMCwweDY3LDB4MDAsMHgyMiwweDAzfSwKLSAgMTYsMHgxMWIwLDAsezB4NDksMHgwMCwweDZlLDB4MDAsMHg3NCwweDAwLDB4NjUsMHgwMCwweDcyLDB4MDAsMHg2NiwweDAwLDB4NjEsMHgwMCwweDYzLDB4MDB9LAotICAxNiwweDExYzAsMCx7MHg2NSwweDAwLDB4MjAsMHgwMCwweDUzLDB4MDAsMHg3NCwweDAwLDB4NzIsMHgwMCwweDY5LDB4MDAsMHg2ZSwweDAwLDB4NjcsMHgwMH0sCi0gICAyLDB4MTFkMCwwLHsweDAwLDB4MDB9LAotICAgMCwweDAwMDAsMSx7MH0KLX07Ci0vKiBTb3VyY2U6IEVNSUxPQUQuSEVYIAotOjEwMDQ2RTAwMDIwQTAwMEYwMTBDMTEwNDBEMDAwMDAwMDA0MTAwMDBGMwotOjAxMDQ3RTAwMDA3RAotOjEwMDFDNzAwOTA3RkU5RTAyNDVCNjA2MDI0MDI2MDAzMDIwMjg1OTA2RgotOjEwMDFENzAwN0ZFQUUwNzUwQTAwRjUwQkEzRTBGRUU0RUU0MjBBOTAyMQotOjEwMDFFNzAwN0ZFRUUwNzUxNTAwRjUxNkEzRTBGRUU0RUU0MjE1RTU5NwotOjEwMDFGNzAwMTY0NTE1NzAwMzAyMDI4NUU0OTA3RkM1RjA5MDdGQjQyMQotOjEwMDIwNzAwRTAyMEUzRjk5MDdGQzVFMEY1MEMxMjAzMTNBRjBDN0VGNQotOjEwMDIxNzAwMDBFRjI1MEJGNTBCRUUzNTBBRjUwQUMzRTUxNjlGRjUzQQotOjEwMDIyNzAwMTZFNTE1OUVGNTE1ODBDNzkwN0ZFQUUwNzUwQTAwRjU3QgotOjEwMDIzNzAwMEJBM0UwRkVFNEVFNDIwQTkwN0ZFRUUwNzUxNTAwRjVCMQotOjEwMDI0NzAwMTZBM0UwRkVFNEVFNDIxNUU1MTY0NTE1NjAzMEU0OTA4RQotOjEwMDI1NzAwN0ZDNUYwOTA3RkI0RTAyMEUzRjk5MDdGQzVFMEY1MEMwRgotOjEwMDI2NzAwMTIwMzJCQUYwQzdFMDBFRjI1MEJGNTBCRUUzNTBBRjVDRAotOjBGMDI3NzAwMEFDM0U1MTY5RkY1MTZFNTE1OUVGNTE1ODBDQUMzNTcKLTowMTAyODYwMDIyNTUKLToxMDAzQTkwMEMwRTBDMDgzQzA4MkQyMjA1MzkxRUY5MDdGQUI3NDAxMkIKLTowODAzQjkwMEYwRDA4MkQwODNEMEUwMzJDNQotOjEwMDM4RTAwQzBFMEMwODNDMDgyOTA3RkM0RTRGMDUzOTFFRjkwN0ZCMQotOjBCMDM5RTAwQUI3NDA0RjBEMDgyRDA4M0QwRTAzMkJBCi06MTAwM0MxMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUI3NDAyRjBEMDQ0Ci06MDYwM0QxMDA4MkQwODNEMEUwMzI2RgotOjEwMDNENzAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFCNzQxMEYwRDAyMAotOjA2MDNFNzAwODJEMDgzRDBFMDMyNTkKLTowMTAzRkUwMDMyQ0MKLToxMDA0NTgwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQjc0MDhGMEQwQTYKLTowNjA0NjgwMDgyRDA4M0QwRTAzMkQ3Ci06MDEwM0ZGMDAzMkNCCi06MDEwNDg0MDAzMjQ1Ci06MDEwNDg1MDAzMjQ0Ci06MDEwNDg2MDAzMjQzCi06MDEwNDg3MDAzMjQyCi06MDEwNDg4MDAzMjQxCi06MDEwNDg5MDAzMjQwCi06MDEwNDhBMDAzMjNGCi06MDEwNDhCMDAzMjNFCi06MDEwNDhDMDAzMjNECi06MDEwNDhEMDAzMjNDCi06MDEwNDhFMDAzMjNCCi06MDEwNDhGMDAzMjNBCi06MDEwNDkwMDAzMjM5Ci06MDEwNDkxMDAzMjM4Ci06MDEwNDkyMDAzMjM3Ci06MDQwNDdGMDAwMjE3MDAwMDYwCi06MTAwMTAwMDBFNEZGRkVDMjIwRDJFODQzRDgyMDkwN0ZBQjc0RkZGMDFBCi06MTAwMTEwMDA5MDdGQTlGMDkwN0ZBQUYwNTM5MUVGOTA3Rjk1NzRDMEUzCi06MTAwMTIwMDBGMDkwN0Y5RUYwOTA3Rjk4RjBFNDkwN0Y5NEYwOTA3RjI1Ci06MTAwMTMwMDA5RDc0RkZGMDkwN0Y5Nzc0QTBGMDkwN0Y5M0UwNTRGQzQzCi06MTAwMTQwMDBGMDkwN0Y5Qzc0MDNGMEU0OTA3Rjk2RjA5MDdGQUZFMDk2Ci06MTAwMTUwMDA0NDAxRjA5MDdGQUVFMDQ0MERGMEQyQUYwRkJGMDAwMTNDCi06MTAwMTYwMDAwRUJFMDdGOEJGMDhGNTIwMjA0Mjc1MTQwMDc1MTMwMDc1Ci06MTAwMTcwMDA3NTEyMDA3NTExMDA3RjQ4N0U5MjdEMDA3QzAwQUIxNEUzCi06MTAwMTgwMDBBQTEzQTkxMkE4MTFDMzEyMDNFRDUwREIyMDIwRDg3QUJDCi06MTAwMTkwMDAwMDc5MDA3ODAwRTUxNDI0MDFGNTE0RUEzNTEzRjUxMzBECi06MTAwMUEwMDBFOTM1MTJGNTEyRTgzNTExRjUxMTgwQ0EzMDIwRkQxMjNCCi06MTAwMUIwMDAwMUM3NTAwNzkwN0ZCNEUwNDQwMUYwOTA3RkI0RTA0NDYxCi06MDYwMUMwMDAwMkYwQzIyMDgwRTZGRgotOjAxMDFDNjAwMjIxNgotOjEwMTEwMDAwMTIwMTEwMDEwMDAwMDA0MDZBMDgwMTAxMDAwMTAxMDIwMwotOjEwMTExMDAwMDAwMTA5MDIyMDAwMDEwMTAzQTAwMDA5MDQwMDAwMDJFRgotOjEwMTEyMDAwRkYwMDAwMDQwNzA1ODIwMjQwMDAwMDA3MDUwMjAyNDA5QwotOjEwMTEzMDAwMDAwMDA0MDMwOTA0MjYwMzQxMDA2RTAwNjMwMDY4MDBGOAotOjEwMTE0MDAwNkYwMDcyMDAyMDAwNDMwMDY4MDA2OTAwNzAwMDczMDBBNwotOjEwMTE1MDAwMkMwMDIwMDA0OTAwNkUwMDYzMDAyRTAwMjgwMzQ2MDA4QQotOjEwMTE2MDAwNjkwMDcyMDA2RDAwNzcwMDYxMDA3MjAwNjUwMDIwMDA2OAotOjEwMTE3MDAwNDYwMDcyMDA2MTAwNkQwMDY1MDA1NzAwNkYwMDcyMDA0QwotOjEwMTE4MDAwNkIwMDczMDAyQTAzNDMwMDZGMDA2RTAwNjYwMDY5MDA2NQotOjEwMTE5MDAwNjcwMDc1MDA3MjAwNjEwMDc0MDA2OTAwNkYwMDZFMDBFNgotOjEwMTFBMDAwMjAwMDUzMDA3NDAwNzIwMDY5MDA2RTAwNjcwMDIyMDM4MwotOjEwMTFCMDAwNDkwMDZFMDA3NDAwNjUwMDcyMDA2NjAwNjEwMDYzMDAwMwotOjEwMTFDMDAwNjUwMDIwMDA1MzAwNzQwMDcyMDA2OTAwNkUwMDY3MDAyMwotOjAyMTFEMDAwMDAwMDFECi06MTAwMzEzMDBFNTBDRkZFNTBCRjU4MkU1MEFGNTgzNzU5MjdFNzRDMDYzCi06MDgwMzIzMDBGOEUyMDhGMEEzREZGQTIyNjIKLToxMDAzMkIwMDkwN0Y5Njg1ODM5MkE4ODI3OTAyOTAwMDAwRTBCNDAwQkEKLToxMDAzM0IwMDBENzQwMUYwOTA3Rjk3RTA1NDdGRjA0NDgwRjBFNTBDNTIKLToxMDAzNEIwMEZGOTA3RUMwRTBGNTI4RTRBMjQ3MzNGMjY5RjJFNEEyMDUKLToxMDAzNUIwMDQ2MzNGMjY5RjJFNEEyNDUzM0YyNjlGMkU0QTI0NDMzODQKLToxMDAzNkIwMEYyNjlGMkU0QTI0MzMzRjI2OUYyRTRBMjQyMzNGMjY5OTYKLToxMDAzN0IwMEYyRTRBMjQxMzNGMjY5RjJFNEEyNDAzM0YyNjlGMkEzNTAKLTowMzAzOEIwMERGQzIyMkFDCi06MDMwMDQzMDAwMjA0MDBCNAotOjEwMDQwMDAwMDIwM0E5MDAwMjAzQzEwMDAyMDM4RTAwMDIwNDU4MDA4NwotOjEwMDQxMDAwMDIwM0Q3MDAwMjAzRkUwMDAyMDNGRjAwMDIwNDg0MDA2RgotOjEwMDQyMDAwMDIwNDg1MDAwMjA0ODYwMDAyMDQ4NzAwMDIwNDg4MDA5QQotOjEwMDQzMDAwMDIwNDg5MDAwMjA0OEEwMDAyMDQ4QjAwMDIwNDhDMDA3QQotOjEwMDQ0MDAwMDIwNDhEMDAwMjA0OEUwMDAyMDQ4RjAwMDIwNDkwMDA1QQotOjA4MDQ1MDAwMDIwNDkxMDAwMjA0OTIwMDc1Ci06MDMwMDAwMDAwMjAyODc3MgotOjBDMDI4NzAwNzg3RkU0RjZEOEZENzU4MTI5MDIwMkNFRDQKLToxMDAzRUQwMEVCOUZGNUYwRUE5RTQyRjBFOTlENDJGMEU4OUM0NUYwNjYKLTowMTAzRkQwMDIyREQKLToxMDAyOTMwMDAyMDEwMEU0OTNBM0Y4RTQ5M0EzNDAwM0Y2ODAwMUYyODAKLToxMDAyQTMwMDA4REZGNDgwMjlFNDkzQTNGODU0MDcyNDBDQzhDMzMzNkMKLToxMDAyQjMwMEM0NTQwRjQ0MjBDODgzNDAwNEY0NTY4MDAxNDZGNkRGM0IKLToxMDAyQzMwMEU0ODAwQjAxMDIwNDA4MTAyMDQwODA5MDA0NkVFNDdFNTkKLToxMDAyRDMwMDAxOTM2MEJDQTNGRjU0M0YzMEU1MDk1NDFGRkVFNDkzMzAKLToxMDAyRTMwMEEzNjAwMTBFQ0Y1NEMwMjVFMDYwQTg0MEI4RTQ5M0EzRjcKLToxMDAyRjMwMEZBRTQ5M0EzRjhFNDkzQTNDOEM1ODJDOENBQzU4M0NBMjIKLToxMDAzMDMwMEYwQTNDOEM1ODJDOENBQzU4M0NBREZFOURFRTc4MEJFRDkKLTowMTA0ODMwMDAwNzgKLTowMDAwMDAwMUZGCi0vKgotVkVSU0lPTj0xLjAuMi4wMDIKLURBVEU9MTAuMDEuMjAwMgotRU1JMjZfNjIKLSovCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9taXNjL2VtaTYyX2Z3X3MuaCBiL2RyaXZlcnMvdXNiL21pc2MvZW1pNjJfZndfcy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjZWYwNWU4Li4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvdXNiL21pc2MvZW1pNjJfZndfcy5oCisrKyAvZGV2L251bGwKQEAgLTEsODgzNyArMCwwIEBACi0vKgotICogVGhpcyBmaWxlIGlzIGdlbmVyYXRlZCBmcm9tIHRocmVlIGRpZmZlcmVudCBmaWxlcywgcHJvdmlkZWQgYnkgRW1hZ2ljLgotICovCi0vKiBnZW5lcmF0ZWQgVHVlIEFwciAxNSAyMTo1OTo0MiBFRVNUIDIwMDMgKi8KLQotc3RhdGljIElOVEVMX0hFWF9SRUNPUkQgZ19lbWk2MmJzW109ewotIHsxNiwgMHg4MDEwLCAwLCB7MHhmZiwweGZmLDB4ZmYsMHhmZiwweGFhLDB4OTksMHg1NSwweDY2LDB4MzAsMHgwMCwweDgwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwNyB9fSwKLSB7MTYsIDB4ODAyMCwgMCwgezB4MzAsMHgwMSwweDYwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwZCwweDMwLDB4MDEsMHgyMCwweDAxLDB4MDAsMHg4MCwweDNmLDB4MmQgfX0sCi0gezE2LCAweDgwMzAsIDAsIHsweDMwLDB4MDAsMHhjMCwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMCwweDAwLDB4ODAsMHgwMSwweDAwLDB4MDAsMHgwMCwweDA5IH19LAotIHsxNiwgMHg4MDQwLCAwLCB7MHgzMCwweDAwLDB4MjAsMHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzAsMHgwMCwweDgwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMSB9fSwKLSB7MTYsIDB4ODA1MCwgMCwgezB4MzAsMHgwMCwweDQwLDB4MDAsMHg1MCwweDAwLDB4NTgsMHgxYSwweDgwLDB4MTIsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgwNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MDcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODA4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHg0MCwweDA0LDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgwOTAsIDAsIHsweDAwLDB4MTIsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MGEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODBiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4NDggfX0sCi0gezE2LCAweDgwYzAsIDAsIHsweDA0LDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MGQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODBlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgwZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MTAwLCAwLCB7MHgwMCwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODExMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgxMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MTMwLCAwLCB7MHgwMCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODE0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgxNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDQsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODE3MCwgMCwgezB4ODAsMHgxMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgxODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MTkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODFhMCwgMCwgezB4MDAsMHg5MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgxYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MWMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODFkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4OTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgxZTAsIDAsIHsweDdmLDB4MTAsMHgwMCwweDM0LDB4MDAsMHgwZCwweDAwLDB4MDMsMHg0MCwweDAwLDB4ZDAsMHgwMCwweDM0LDB4MDAsMHgwNSwweDAwIH19LAotIHsxNiwgMHg4MWYwLCAwLCB7MHgwNywweDQwLDB4MDEsMHhkMCwweDAwLDB4NzQsMHgwMCwweDFkLDB4MDAsMHgwNywweDQwLDB4MDEsMHhkMCwweDAwLDB4NzQsMHgwMCB9fSwKLSB7MTYsIDB4ODIwMCwgMCwgezB4MWQsMHg4MCwweDA3LDB4ZTAsMHgwMSwweGI4LDB4MDAsMHg2ZSwweDAwLDB4MWIsMHg4MCwweDA2LDB4ZTAsMHgwMSwweDM4LDB4MzcgfX0sCi0gezE2LCAweDgyMTAsIDAsIHsweGM0LDB4OTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAxLDB4ZmMsMHg4MCwweGZiLDB4MzAsMHgzNiwweGM4IH19LAotIHsxNiwgMHg4MjIwLCAwLCB7MHg0ZSwweDA5LDB4MDMsMHhmYywweDg0LDB4ZmYsMHgxMCwweDNiLDB4YzAsMHgwZSwweGM4LDB4MDcsMHgyMiwweDgwLDB4ZmYsMHgyMiB9fSwKLSB7MTYsIDB4ODIzMCwgMCwgezB4MzMsMHhjMCwweDBmLDB4YzgsMHgzMywweDZlLDB4MDAsMHhmYiwweDgwLDB4M2YsMHgyMCwweDBkLDB4YzIsMHg1MywweGQ0LDB4ODAgfX0sCi0gezE2LCAweDgyNDAsIDAsIHsweGNjLDB4M2EsMHgzZiwweDAwLDB4MGMsMHhmMSwweDAzLDB4ZjAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MjUwLCAwLCB7MHg4MCwweDAwLDB4ZWQsMHg2MCwweGJmLDB4NjAsMHgyMywweGYwLDB4MGQsMHg4MiwweDEyLDB4M2MsMHg2MCwweDhmLDB4NzAsMHgyMyB9fSwKLSB7MTYsIDB4ODI2MCwgMCwgezB4ZjAsMHgwOCwweDg4LDB4MDIsMHhhNSwweDQwLDB4YmYsMHhkMCwweDYzLDB4ZDYsMHgwYiwweDg4LDB4MDIsMHgyZSwweDBjLDB4YmIgfX0sCi0gezE2LCAweDgyNzAsIDAsIHsweDgwLDB4MmUsMHgyMCwweDg4LDB4OGQsMHgwMiwweGU2LDB4NDAsMHg4MCwweDYwLDB4MmUsMHgzMCwweDBhLDB4YjEsMHgxMiwweDIwIH19LAotIHsxNiwgMHg4MjgwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNjLDB4ODAsMHhhMywweDQwLDB4MmMsMHhjNCB9fSwKLSB7MTYsIDB4ODI5MCwgMCwgezB4NGEsMHgwMCwweDEyLDB4OGMsMHg4OCwweGEzLDB4MjIsMHgyMCwweGM0LDB4MGEsMHg5MCwweDQyLDB4MDQsMHhhOSwweGEzLDB4MDAgfX0sCi0gezE2LCAweDgyYTAsIDAsIHsweDI0LDB4YzgsMHg4YiwweDgwLDB4MDIsMHhjYywweDAwLDB4YjMsMHgwMCwweDJlLDB4MDEsMHgwOSwweDA4LDB4MDIsMHg4NCwweDAwIH19LAotIHsxNiwgMHg4MmIwLCAwLCB7MHg4MCwweDIwLDB4MmMsMHgxMCwweDBhLDB4MzIsMHg0MiwweDIyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODJjMCwgMCwgezB4YzAsMHgxNSwweGFjLDB4MDQsMHhiMywweDAwLDB4MmEsMHhjMCwweDA4LDB4MDgsMHhhMiwweDhjLDB4MDAsMHg4YiwweDAwLDB4YTIgfX0sCi0gezE2LCAweDgyZDAsIDAsIHsweGMxLDB4MTAsMHg5OCwweDQyLDB4YTcsMHgwMCwweGJiLDB4MDEsMHg2NiwweGMxLDB4MGIsMHg4MCwweDAyLDB4YWMsMHgwNCwweGJiIH19LAotIHsxNiwgMHg4MmUwLCAwLCB7MHgwMCwweDJlLDB4MDAsMHgwYiwweGI4LDB4MTIsMHhlNCwweDAyLDB4ODksMHgwOCwweDBlLDB4NDAsMHgwYSwweGIwLDB4MDIsMHgzMCB9fSwKLSB7MTYsIDB4ODJmMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHhhYywweDAwLDB4ZWIsMHgwMCwweDNlLDB4YzAgfX0sCi0gezE2LCAweDgzMDAsIDAsIHsweDRhLDB4YjgsMHgyMywweGVjLDB4MTgsMHhlYiwweDAwLDB4MzIsMHhjMCwweDBlLDB4MmMsMHgxMiwweDIyLDB4MTAsMHhlYiwweDAwIH19LAotIHsxNiwgMHg4MzEwLCAwLCB7MHgyNiwweGMwLDB4NGYsMHgwMCwweDQzLDB4ZWQsMHgwMCwweGZiLDB4MDAsMHgyZSwweDI0LDB4MGQsMHg4MCwweDEzLDB4ZTQsMHgwMCB9fSwKLSB7MTYsIDB4ODMyMCwgMCwgezB4YzgsMHhkMCwweDdjLDB4MTIsMHgwZSwweGIwLDB4MDMsMHg0MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgzMzAsIDAsIHsweGUxLDB4MDAsMHhiYywweDAwLDB4ZmYsMHgwMCwweDM1LDB4YzAsMHg0ZiwweGUwLDB4MDMsMHg3YywweDA4LDB4ZmYsMHgwMSwweDE3IH19LAotIHsxNiwgMHg4MzQwLCAwLCB7MHhjMiwweDRkLDB4YzAsMHgwMywweGY0LDB4MDgsMHhmNywweDAwLDB4M2IsMHhjMCwweDA3LDB4YzAsMHgwMywweDdjLDB4ODAsMHhmZiB9fSwKLSB7MTYsIDB4ODM1MCwgMCwgezB4MjQsMHgzZiwweDQwLDB4MGMsMHhmMCwweDAxLDB4ZjQsMHgwNCwweGJjLDB4MDgsMHgzZiwweDI4LDB4MGYsMHhmMCwweDAzLDB4NzggfX0sCi0gezE2LCAweDgzNjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwOCwweGZiLDB4MDQsMHgzYSwweGM4IH19LAotIHsxNiwgMHg4MzcwLCAwLCB7MHgwZiwweDk0LDB4MDMsMHhlYywweDEwLDB4ZjMsMHgwMCwweDM0LDB4YzAsMHgwZSwweGIwLDB4MDMsMHg2MSwweDA0LDB4ZmIsMHgwMCB9fSwKLSB7MTYsIDB4ODM4MCwgMCwgezB4MzYsMHhjMCwweDBlLDB4YTMsMHgwMywweDJjLDB4ODAsMHhmYiwweDcyLDB4M2UsMHgwMiwweDBmLDB4OGEsMHgwMywweGU0LDB4MDIgfX0sCi0gezE2LCAweDgzOTAsIDAsIHsweGM5LDB4ODAsMHgyYSwweDUwLDB4MGYsMHhiMCwweDAzLDB4ZDAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4M2EwLCAwLCB7MHhjYSwweDQ0LDB4M2MsMHgwMCwweGJmLDB4MDAsMHgwMywweGMwLDB4MDgsMHg4MCwweDAzLDB4N2MsMHgwMCwweGJmLDB4MDAsMHgzZiB9fSwKLSB7MTYsIDB4ODNiMCwgMCwgezB4ZTIsMHgwOCwweDkwLDB4NDMsMHg2MCwweDAwLDB4YmYsMHgwMCwweDM3LDB4YzAsMHgwOCwweDkwLDB4MDEsMHg2ZCwweDAwLDB4YmIgfX0sCi0gezE2LCAweDgzYzAsIDAsIHsweDQwLDB4MmMsMHgxMCwweDBiLDB4YjAsMHg0MiwweGQ3LDB4YzAsMHg4OSwweDAwLDB4MmEsMHg3YywweDBiLDB4ZjAsMHgwMiwweGYyIH19LAotIHsxNiwgMHg4M2QwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTIsMHgwNSwweDRjLDB4MDAsMHhiMywweDAwLDB4MjAsMHhkNSB9fSwKLSB7MTYsIDB4ODNlMCwgMCwgezB4NGEsMHgwMCwweDAwLDB4MGMsMHgwNCwweDkzLDB4MDAsMHgwYywweGYwLDB4MGIsMHgwOSwweDAyLDB4MDgsMHgwMSwweGIzLDB4MjAgfX0sCi0gezE2LCAweDgzZjAsIDAsIHsweDI4LDB4YzAsMHgwYSwweDBjLDB4MGEsMHgwZSwweDAwLDB4YjMsMHgwMCwweDI0LDB4MzAsMHgwOSwweDAwLDB4MDIsMHhjNiwweDEwIH19LAotIHsxNiwgMHg4NDAwLCAwLCB7MHg4MCwweDQyLDB4MjAsMHgwMCwweDhiLDB4YjAsMHgwMiwweGY4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODQxMCwgMCwgezB4MjIsMHgwMSwweDFlLDB4MDAsMHhiNywweDk0LDB4MjEsMHhlNCwweDQ4LDB4ZDksMHgxMiwweDVlLDB4NDAsMHhiNywweDkwLDB4MjkgfX0sCi0gezE2LCAweDg0MjAsIDAsIHsweGUwLDB4OGIsMHg2OSwweDEyLDB4ZDYsMHg4MCwweDM3LDB4ODIsMHgyYywweGU4LDB4MDgsMHg0YSwweDAyLDB4NWUsMHgwMCwweGI3IH19LAotIHsxNiwgMHg4NDMwLCAwLCB7MHhhNCwweDJkLDB4MjAsMHgwYiwweDc5LDB4MDIsMHhkNiwweDA4LDB4ODYsMHg5MCwweDI5LDB4YTAsMHgwYiwweDc5LDB4MDIsMHhkOCB9fSwKLSB7MTYsIDB4ODQ0MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDAsMHgwYywweDAwLDB4ZmIsMHhhMCwweDI4LDB4ZTggfX0sCi0gezE2LCAweDg0NTAsIDAsIHsweDBlLDB4MmEsMHgwMiwweDhjLDB4MDAsMHhkMywweDAwLDB4NjQsMHhjMCwweDBmLDB4MDAsMHg0MywweDBlLDB4YzQsMHhmMywweDAwIH19LAotIHsxNiwgMHg4NDYwLCAwLCB7MHg3OCwweGVjLDB4MGUsMHgwYSwweDQzLDB4MGUsMHgyMCwweDczLDB4ZTAsMHgzYywweDAyLDB4NGYsMHgwMCwweDAzLDB4YzQsMHg0MCB9fSwKLSB7MTYsIDB4ODQ3MCwgMCwgezB4YzMsMHgwMCwweDM4LDB4YzAsMHgwZiwweDMwLDB4MDMsMHhkMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg0ODAsIDAsIHsweDQwLDB4MWQsMHhiYywweDAwLDB4ZmYsMHgwMCwweGJjLDB4Y2MsMHgwZSwweGIwLDB4MDMsMHhlYywweDIwLDB4ZmIsMHgwMCwweDNjIH19LAotIHsxNiwgMHg4NDkwLCAwLCB7MHhjMiwweDBjLDB4MjAsMHgwMywweDZjLDB4NTAsMHhmMywweDAwLDB4MzYsMHhjNCwweDBmLDB4NDAsMHgwMywweGZjLDB4MDgsMHhmZiB9fSwKLSB7MTYsIDB4ODRhMCwgMCwgezB4MWEsMHgzZiwweDgwLDB4MGYsMHhmMCwweDAxLDB4ZTQsMHgzMCwweGZmLDB4MDIsMHgzZiwweGMwLDB4MGYsMHhmMCwweDYzLDB4ZDAgfX0sCi0gezE2LCAweDg0YjAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4ZWMsMHg0MCwweGZiLDB4MDAsMHhiMiwweGQ4IH19LAotIHsxNiwgMHg4NGMwLCAwLCB7MHgwYywweGIwLDB4MDEsMHgyZCwweDIwLDB4ZGIsMHgwMSwweDNhLDB4YzgsMHg4YywweDM4LDB4MDMsMHhhOCwweDAwLDB4ZmIsMHg0OCB9fSwKLSB7MTYsIDB4ODRkMCwgMCwgezB4M2UsMHhjOSwweDBmLDB4ODAsMHgwMywweGVjLDB4NDAsMHhmYiwweDAxLDB4M2UsMHgwMCwweDBmLDB4MDgsMHgwMywweGE0LDB4MDggfX0sCi0gezE2LCAweDg0ZTAsIDAsIHsweGZhLDB4ODAsMHhiMiwweDgwLDB4MGYsMHhiMSwweDAyLDB4NmEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4NGYwLCAwLCB7MHg0OCwweDE5LDB4MWMsMHg4MCwweGJmLDB4MzAsMHgyMSwweGNhLDB4MDgsMHhmMCwweDBhLDB4MGMsMHg4MCwweDhmLDB4NTAsMHgyMSB9fSwKLSB7MTYsIDB4ODUwMCwgMCwgezB4YzIsMHgwOCwweDcwLDB4NTAsMHg5YywweDAwLDB4YjcsMHgwMCwweDM5LDB4YzQsMHgwYiwweDQwLDB4MDIsMHg5YywweDA0LDB4YjcgfX0sCi0gezE2LCAweDg1MTAsIDAsIHsweDIwLDB4MjUsMHg0MCwweDBiLDB4NzAsMHgwMiwweDE0LDB4ODAsMHhiNiwweDAwLDB4MjEsMHg4MCwweDBiLDB4ZjgsMHgwMiwweDEyIH19LAotIHsxNiwgMHg4NTIwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDllLDB4MDAsMHhiNywweGIwLDB4MjEsMHhlYyB9fSwKLSB7MTYsIDB4ODUzMCwgMCwgezB4MGIsMHg3OCwweDEyLDB4ZGUsMHg4NCwweDk3LDB4ODAsMHgwZCwweGUwLDB4MjgsMHhmOCwweDAyLDB4ZGUsMHgwMCwweGI3LDB4OTAgfX0sCi0gezE2LCAweDg1NDAsIDAsIHsweDJkLDB4ZTQsMHgwYiwweDY4LDB4ODIsMHg1ZSwweDgwLDB4YjcsMHhhMCwweDI5LDB4MjAsMHgwYiwweDQ4LDB4MDIsMHg5NiwweDAwIH19LAotIHsxNiwgMHg4NTUwLCAwLCB7MHhiNywweDgwLDB4MjEsMHhlMSwweDBiLDB4N2EsMHgwMiwweDcwLDB4NDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODU2MCwgMCwgezB4NDgsMHgwNCwweGNjLDB4MDAsMHhiMywweDAwLDB4MjAsMHhjMCwweDBiLDB4MzgsMHgwMiwweDhjLDB4MDQsMHg4MywweDAwLDB4MjggfX0sCi0gezE2LCAweDg1NzAsIDAsIHsweGMwLDB4ODgsMHgzOSwweDAyLDB4NGMsMHg0MCwweGIzLDB4MDQsMHgyOCwweGMwLDB4MWIsMHgxMCwweDAyLDB4OGMsMHgwMSwweGIzIH19LAotIHsxNiwgMHg4NTgwLCAwLCB7MHgwNCwweDI0LDB4ODgsMHg0YiwweDMxLDB4MDIsMHgwNCwweDAwLDB4YjMsMHg4MCwweDIwLDB4ZjIsMHgwYiwweDMwLDB4MDIsMHgwMiB9fSwKLSB7MTYsIDB4ODU5MCwgMCwgezB4MjQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MDUsMHhhOCwweDAwLDB4ZmEsMHgwMCwweDMyLDB4ODAgfX0sCi0gezE2LCAweDg1YTAsIDAsIHsweDBmLDB4ZTgsMHgwMywweGU4LDB4MDAsMHhkYSwweDAxLDB4M2EsMHg4MCwweDhjLDB4ZWQsMHgwMywweGZiLDB4MDQsMHhmYSwweDAwIH19LAotIHsxNiwgMHg4NWIwLCAwLCB7MHgzZSwweDgwLDB4MGYsMHg2YywweDAzLDB4ZmIsMHhjOCwweGJlLDB4YzIsMHgxZiwweDgwLDB4MGYsMHhlNSwweDAzLDB4YTgsMHgwMCB9fSwKLSB7MTYsIDB4ODVjMCwgMCwgezB4ZmUsMHg0OCwweDMzLDB4ODAsMHg0ZiwweGEwLDB4MDMsMHg3YSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg1ZDAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDNjLDB4MDAsMHgwYywweDgxLDB4OTMsMHg2MCwweDAwLDB4ZjgsMHgwMSwweDM2IH19LAotIHsxNiwgMHg4NWUwLCAwLCB7MHgxMCwweDBmLDB4ODAsMHgwMywweGEwLDB4MjAsMHhmOCwweDAwLDB4MmEsMHgwMSwweDhmLDB4ODQsMHgxMywweGUxLDB4MDAsMHhmOCB9fSwKLSB7MTYsIDB4ODVmMCwgMCwgezB4MTgsMHgzNiwweDAwLDB4MGYsMHg4MCwweDEzLDB4ZTAsMHgwMCwweGY4LDB4MjAsMHgzZSwweDE0LDB4MGYsMHg4MCwweDAzLDB4ZDIgfX0sCi0gezE2LCAweDg2MDAsIDAsIHsweDgwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4ZTQsMHgwMCwweGYxLDB4MDAsMHhhYSwweDQwIH19LAotIHsxNiwgMHg4NjEwLCAwLCB7MHgwYywweDkwLDB4MDMsMHgyNCwweDAwLDB4ZTEsMHgwMCwweDM4LDB4NDAsMHgxYywweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHhhMCB9fSwKLSB7MTYsIDB4ODYyMCwgMCwgezB4M2EsMHg0MCwweDQ3LDB4OWEsMHg5MywweGEyLDB4ODAsMHhmOCwweDEwLDB4M2UsMHg0MCwweDBiLDB4OTQsMHgwMywweGU2LDB4NDAgfX0sCi0gezE2LCAweDg2MzAsIDAsIHsweGY5LDB4YzAsMHgzZSwweDY4LDB4MGIsMHgxMCwweDAzLDB4MDIsMHg4NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4NjQwLCAwLCB7MHg4MCwweDA0LDB4ZTQsMHgwNCwweGI5LDB4MDAsMHgyMiwweDQwLDB4MDgsMHg5MCwweDAyLDB4MjQsMHgwNCwweDg5LDB4MDAsMHgzNiB9fSwKLSB7MTYsIDB4ODY1MCwgMCwgezB4NDAsMHgwOCwweDkwLDB4MDIsMHhlNCwweDA0LDB4YjksMHg4MCwweDJlLDB4NDAsMHg0ZiwweDk0LDB4MDMsMHg2MSwweDEwLDB4ZTggfX0sCi0gezE2LCAweDg2NjAsIDAsIHsweDQwLDB4MmUsMHg0MCwweDBiLDB4OTAsMHg0MiwweGU2LDB4MDQsMHhiOSwweDAwLDB4MmUsMHg0MCwweDBiLDB4OTAsMHgwMiwweDIwIH19LAotIHsxNiwgMHg4NjcwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNCwweDI0LDB4MDAsMHhiOSwweDAwLDB4MjIsMHg0MCB9fSwKLSB7MTYsIDB4ODY4MCwgMCwgezB4MGEsMHgxMCwweDUyLDB4MDQsMHgwNCwweGE5LDB4MDQsMHgyYSwweDQwLDB4MDgsMHhiMCwweDAyLDB4ZTQsMHgwMSwweGI5LDB4MDAgfX0sCi0gezE2LCAweDg2OTAsIDAsIHsweDJlLDB4NDAsMHgwYiwweDkwLDB4MDIsMHhhOCwweDBkLDB4YjgsMHg0MCwweDJlLDB4NDAsMHgwOSwweDk0LDB4MDIsMHhlNSwweDAwIH19LAotIHsxNiwgMHg4NmEwLCAwLCB7MHhiOSwweDA0LDB4MmUsMHg0MCwweDBiLDB4OTAsMHgwMiwweDA2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODZiMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4ODAsMHhiMSwweDIwLDB4MjAsMHhjOCwweDBhLDB4MTAsMHg0MiwweDA0LDB4OTAsMHg4MSwweDIwLDB4MDQgfX0sCi0gezE2LCAweDg2YzAsIDAsIHsweGM4LDB4MDgsMHgzMCwweDI2LDB4YzQsMHgwMCwweGIxLDB4MjAsMHgyYywweDQ4LDB4MGIsMHg5MCwweDAyLDB4NDUsMHgwMSwweGIxIH19LAotIHsxNiwgMHg4NmQwLCAwLCB7MHg0MCwweDJjLDB4NDAsMHgwYiwweDEyLDB4ODIsMHhjNCwweDAwLDB4YjEsMHgyYiwweDJjLDB4NGEsMHgwYiwweDEyLDB4ODIsMHgwMiB9fSwKLSB7MTYsIDB4ODZlMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MDgsMHgyMSwweDQ4LDB4ZjgsMHg1MCwweDMyLDB4MDAgfX0sCi0gezE2LCAweDg2ZjAsIDAsIHsweDRlLDB4ODUsMHgwYiwweDIxLDB4NDAsMHhhOCwweDUyLDB4MmEsMHgwMCwweDA4LDB4ODAsMHgyMywweGUxLDB4NDAsMHhmOCwweDAwIH19LAotIHsxNiwgMHg4NzAwLCAwLCB7MHgzYSwweDE0LDB4MGYsMHhhMCwweDQzLDB4YTgsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MiwweDAzLDB4ZTAsMHgwMCB9fSwKLSB7MTYsIDB4ODcxMCwgMCwgezB4ZjAsMHgyMCwweDNlLDB4ODgsMHg0ZiwweDgyLDB4MGIsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg3MjAsIDAsIHsweDk4LDB4MTksMHhlNCwweDQwLDB4ZjksMHgxMSwweDM0LDB4NDQsMHgyZCwweGQwLDB4MDMsMHhlNCwweDUwLDB4NzksMHgxMCwweDM4IH19LAotIHsxNiwgMHg4NzMwLCAwLCB7MHg0NCwweDJmLDB4ZDAsMHgwMywweGY1LDB4MTAsMHhmOSwweDEwLDB4M2UsMHg0NSwweDA2LDB4NTAsMHgwMywweGU1LDB4MDAsMHhlOSB9fSwKLSB7MTYsIDB4ODc0MCwgMCwgezB4NDAsMHgzZiwweDQwLDB4MGYsMHhkMCwweDQzLDB4ZjUsMHgwMCwweGZkLDB4MjgsMHgzZiwweDQwLDB4MGYsMHg5MiwweDgzLDB4ZTYgfX0sCi0gezE2LCAweDg3NTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAxLDB4ZTYsMHgwMCwweGQ5LDB4OTAsMHgzNywweDY5IH19LAotIHsxNiwgMHg4NzYwLCAwLCB7MHg0ZCwweDkwLDB4MjMsMHg2NywweDgwLDB4ZDksMHhlMCwweDM3LDB4NjgsMHgwZSwweGQwLDB4MDcsMHhhNCwweDAwLDB4MDUsMHg4NiB9fSwKLSB7MTYsIDB4ODc3MCwgMCwgezB4M2UsMHg2NiwweDBkLDB4NTAsMHgyMywweDI2LDB4MDAsMHhjOSwweDgyLDB4M2QsMHg0MCwweDBkLDB4ZDgsMHgwNywweDM2LDB4MDIgfX0sCi0gezE2LCAweDg3ODAsIDAsIHsweGNkLDB4YzAsMHgzMywweDYwLDB4MGMsMHg5YywweDAzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4NzkwLCAwLCB7MHgzOCwweDEwLDB4ZTIsMHg4MCwweDg4LDB4YTIsMHgyMiwweDEwLDB4MjgsMHg4YSwweDgyLDB4MjMsMHg4NCwweDg4LDB4YTAsMHgyMiB9fSwKLSB7MTYsIDB4ODdhMCwgMCwgezB4MTQsMHg0OCwweDgwLDB4NDIsMHg4MiwweDAwLDB4ODgsMHg0MCwweDJlLDB4MzAsMHgwOCwweDgwLDB4MDIsMHhhMiwweDAwLDB4ZDggfX0sCi0gezE2LCAweDg3YjAsIDAsIHsweDkwLDB4MjYsMHgwMCwweDA4LDB4ODQsMHgwYSwweDIxLDB4MDAsMHhjOCwweGEwLDB4YTIsMHgxNCwweDI4LDB4OGMsMHgwMiwweDBlIH19LAotIHsxNiwgMHg4N2MwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM1LDB4MjAsMHg5MSwweDQwLDB4MmMsMHg0NCB9fSwKLSB7MTYsIDB4ODdkMCwgMCwgezB4MTgsMHgxMCwweDAyLDB4ODUsMHgwNCwweGIxLDB4NDAsMHgwYywweDQwLDB4MGEsMHgxMCwweDA2LDB4ODQsMHgzMCwweDgxLDB4NDAgfX0sCi0gezE2LCAweDg3ZTAsIDAsIHsweDJjLDB4NDgsMHg1OSwweDEwLDB4MWEsMHgwNCwweDYwLDB4ODEsMHgwOSwweDJlLDB4NDAsMHgxYiwweDE0LDB4MDIsMHgyNSwweDAwIH19LAotIHsxNiwgMHg4N2YwLCAwLCB7MHg5MSwweGUwLDB4MjAsMHg2MCwweDA4LDB4MTYsMHgwMiwweDAwLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODgwMCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MDAsMHg4MSwweDAwLDB4MmEsMHg0MSwweDA4LDB4OTAsMHgwMiwweGE0LDB4MDAsMHhhMSwweDAwLDB4MmEgfX0sCi0gezE2LCAweDg4MTAsIDAsIHsweDQxLDB4MDgsMHhiMCwweDgyLDB4MjQsMHgxMSwweDhiLDB4MDAsMHgyZSwweDQwLDB4MTgsMHg5MSwweDAyLDB4YTAsMHgwNCwweDk4IH19LAotIHsxNiwgMHg4ODIwLCAwLCB7MHgyMCwweDJlLDB4NTQsMHgxYiwweDkwLDB4ODIsMHgyYywweDAwLDB4ODksMHgxMCwweDIyLDB4NDQsMHg4OCwweDkwLDB4MDIsMHgwNiB9fSwKLSB7MTYsIDB4ODgzMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNCwweDAwLDB4ZDksMHgwMCwweDNlLDB4NDAgfX0sCi0gezE2LCAweDg4NDAsIDAsIHsweDRjLDB4OTAsMHgwMywweGE0LDB4MTAsMHhmOSwweDAwLDB4M2UsMHg0MCwweDhlLDB4MTAsMHgwMiwweGE0LDB4YzIsMHhjOSwweDAwIH19LAotIHsxNiwgMHg4ODUwLCAwLCB7MHgzZSwweDQwLDB4MGQsMHgxNiwweDEzLDB4MDEsMHg4NCwweGM4LDB4MjAsMHgzYywweDYwLDB4MGYsMHg5MCwweDEyLDB4MDQsMHgwMCB9fSwKLSB7MTYsIDB4ODg2MCwgMCwgezB4ZDksMHg0MCwweDMyLDB4NTAsMHgwYywweDkwLDB4MDMsMHgyOCwweDg0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg4NzAsIDAsIHsweDI4LDB4MDEsMHg4NCwweDAwLDB4ZjksMHgwMCwweDM2LDB4NDAsMHg0ZiwweDk5LDB4NGEsMHg0NCwweDAwLDB4OTksMHgwMCwweGI0IH19LAotIHsxNiwgMHg4ODgwLCAwLCB7MHg0MCwweDBmLDB4OTAsMHgxMywweGU2LDB4MDAsMHhmOSwweDAwLDB4M2MsMHg0MCwweDBmLDB4OTAsMHgwMywweGUzLDB4MDAsMHhmOCB9fSwKLSB7MTYsIDB4ODg5MCwgMCwgezB4MDEsMHgzNiwweDQwLDB4MGMsMHg5OSwweDAzLDB4ZTQsMHgwMiwweGY5LDB4ODAsMHgzZSwweDYwLDB4NGYsMHg5MCwweDBiLDB4Y2EgfX0sCi0gezE2LCAweDg4YTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGQ4LDB4MDAsMHgzYywweDAwIH19LAotIHsxNiwgMHg4OGIwLCAwLCB7MHgxZCwweDgwLDB4MDMsMHgyMCwweDAwLDB4ZTgsMHgwMCwweDMyLDB4MDAsMHgwYywweDg0LDB4ODMsMHhlMCwweDEwLDB4ZTgsMHgyMCB9fSwKLSB7MTYsIDB4ODhjMCwgMCwgezB4MzIsMHgwMCwweDhlLDB4ODQsMHgwMywweDIxLDB4ODAsMHhjOCwweDAwLDB4M2EsMHgxOSwweDBmLDB4MDQsMHgwMywweGUwLDB4MjQgfX0sCi0gezE2LCAweDg4ZDAsIDAsIHsweGYwLDB4MDIsMHgzYywweDAwLDB4MGYsMHg4MCwweDEzLDB4OGEsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4OGUwLCAwLCB7MHgyOCwweDA1LDB4MjgsMHgwMiwweDhhLDB4MDEsMHgwZiwweGEyLDB4NjgsMHhhMCwweDAwLDB4MjgsMHgwMCwweDhhLDB4MDAsMHg3NyB9fSwKLSB7MTYsIDB4ODhmMCwgMCwgezB4ODAsMHg2OCwweGUwLDB4MTIsMHhlOCwweDAwLDB4ZGUsMHgwMCwweDM2LDB4ODEsMHgwOCwweGUwLDB4MDMsMHg3YSwweDA4LDB4YWUgfX0sCi0gezE2LCAweDg5MDAsIDAsIHsweGM0LDB4MmYsMHg4MCwweDA4LDB4ZWQsMHgwMiwweGZhLDB4MDAsMHhiZSwweGEwLDB4M2IsMHg4MCwweDBiLDB4YTAsMHg0MiwweDBhIH19LAotIHsxNiwgMHg4OTEwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHg4NSwweDRjLDB4MDAsMHg5MywweDAwLDB4MmMsMHhjMCB9fSwKLSB7MTYsIDB4ODkyMCwgMCwgezB4ODgsMHhiMCwweDAyLDB4MGMsMHgxNCwweGEzLDB4MDQsMHgyMCwweGM0LDB4MTgsMHgzOCwweDAyLDB4ZWMsMHgxMCwweDkzLDB4NTQgfX0sCi0gezE2LCAweDg5MzAsIDAsIHsweDI4LDB4YzAsMHgwYSwweDAwLDB4MDIsMHg0ZSwweDAwLDB4ODMsMHg0OSwweDY4LDB4YzAsMHgwMiwweDM5LDB4NDIsMHhjZSwweDQwIH19LAotIHsxNiwgMHg4OTQwLCAwLCB7MHhiMywweDAwLDB4MmMsMHhlNiwweDBiLDB4YjAsMHgwMiwweDhiLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODk1MCwgMCwgezB4MjAsMHgwMSwweDFjLDB4MDgsMHg4NywweDIwLDB4MmMsMHg4MCwweDE4LDB4ZjIsMHgyMiwweDFjLDB4MDAsMHg4NywweDEwLDB4MjEgfX0sCi0gezE2LCAweDg5NjAsIDAsIHsweGMwLDB4MDgsMHg3MCwweDgyLDB4ZGMsMHg4MCwweDk2LDB4ODAsMHgyZCwweGMwLDB4MGEsMHg0MCwweDAyLDB4N2QsMHg0MCwweDI3IH19LAotIHsxNiwgMHg4OTcwLCAwLCB7MHg2NCwweDZkLDB4ZDAsMHg0OCwweDYwLDB4NDIsMHhkOCwweDA1LDB4YjYsMHgwNCwweDI5LDB4YzAsMHg0YiwweDcyLDB4MDIsMHgyOCB9fSwKLSB7MTYsIDB4ODk4MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDgsMHgzZSwweDg4LDB4ZDcsMHhlMCwweDNkLDB4ZTAgfX0sCi0gezE2LCAweDg5OTAsIDAsIHsweDA4LDB4N2MsMHg0MiwweDNlLDB4MDAsMHhlMywweDgyLDB4MjAsMHhlMCwweDBjLDB4NjgsMHgwMywweGRmLDB4MDQsMHhkNywweDgwIH19LAotIHsxNiwgMHg4OWEwLCAwLCB7MHgzYiwweGUwLDB4NGUsMHg0OCwweDBhLDB4NWUsMHg4MCwweGM3LDB4YzIsMHgxOSwweGUwLDB4MGUsMHg3OCwweDAzLDB4ZDYsMHgwOCB9fSwKLSB7MTYsIDB4ODliMCwgMCwgezB4ZjcsMHg4MCwweDNkLDB4ZTAsMHgwZiwweGY4LDB4MDMsMHhhYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg5YzAsIDAsIHsweDA4LDB4MWQsMHhhYywweDQwLDB4ZmIsMHg0MCwweDdlLDB4ODAsMHgwZSwweDM2LDB4ODMsMHhlZCwweDQwLDB4ZGIsMHg2MCwweDNlIH19LAotIHsxNiwgMHg4OWQwLCAwLCB7MHg4MCwweDBmLDB4YTAsMHgwMywweGVkLDB4MjgsMHhkYSwweDAwLDB4MzIsMHhjNCwweDBjLDB4YjAsMHgwYiwweGNjLDB4MDAsMHhmYiB9fSwKLSB7MTYsIDB4ODllMCwgMCwgezB4MDAsMHgzZSwweGMwLDB4MGUsMHg4MCwweDEzLDB4ZTAsMHgxMCwweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHhiMSwweDUzLDB4YzIgfX0sCi0gezE2LCAweDg5ZjAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDA1LDB4ZmUsMHgwMCwweGZmLDB4YzAsMHgzMywweGUwIH19LAotIHsxNiwgMHg4YTAwLCAwLCB7MHgwYywweGY5LDB4MDMsMHg3ZiwweDA0LDB4Y2YsMHhkMCwweDNmLDB4ZTQsMHgwZiwweGI4LDB4MDMsMHhmZSwweDAwLDB4ZmYsMHg5NCB9fSwKLSB7MTYsIDB4OGExMCwgMCwgezB4M2YsMHhlMCwweDBmLDB4YzgsMHgwMywweDdlLDB4MTAsMHhmMywweDgwLDB4M2IsMHhlMCwweDBmLDB4ZjgsMHgwMywweGZlLDB4NDggfX0sCi0gezE2LCAweDhhMjAsIDAsIHsweGVkLDB4ODAsMHgzMywweDI0LDB4MDQsMHhmOCwweDAzLDB4MzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4YTMwLCAwLCB7MHhhOCwweDExLDB4OWMsMHg4MCwweGJmLDB4MDQsMHgyMSwweDI4LDB4MDgsMHhmOCwweDAyLDB4MWUsMHhjMCwweGNmLDB4OTAsMHgyMSB9fSwKLSB7MTYsIDB4OGE0MCwgMCwgezB4NGMsMHgwYiwweDVhLDB4NDIsMHhkZSwweDAwLDB4YjcsMHg4MCwweDJjLDB4ZTgsMHgwYiwweDA0LDB4MDIsMHgxYywweDAwLDB4YjcgfX0sCi0gezE2LCAweDhhNTAsIDAsIHsweGEwLDB4MzUsMHgxMCwweDhmLDB4NzEsMHgxMywweGRlLDB4YzAsMHg4NCwweDEwLDB4MjEsMHg4MCwweDBkLDB4NzEsMHgwMiwweDJhIH19LAotIHsxNiwgMHg4YTYwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHg0MCwweDljLDB4MDgsMHhiNywweDAwLDB4MjUsMHhjOCB9fSwKLSB7MTYsIDB4OGE3MCwgMCwgezB4MDgsMHg3MSwweDAyLDB4Y2MsMHg4MCwweDk3LDB4MDAsMHgyOSwweGMwLDB4OGIsMHg3MiwweDA2LDB4ZGMsMHgwOCwweGI1LDB4MDAgfX0sCi0gezE2LCAweDhhODAsIDAsIHsweDJkLDB4YzgsMHgwYiwweDQwLDB4MDIsMHgxYywweDQwLDB4YmYsMHgxMCwweDIxLDB4YzAsMHgwYiwweDc0LDB4MDIsMHhkNCwweDgwIH19LAotIHsxNiwgMHg4YTkwLCAwLCB7MHhhNywweDQwLDB4MjEsMHg0MSwweDA4LDB4NzAsMHgwMiwweDA0LDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGFhMCwgMCwgezB4NjAsMHgxNCwweGNjLDB4MDAsMHhiMywweDAwLDB4MjQsMHgwMCwweDA4LDB4MzQsMHg4MiwweGFjLDB4MTEsMHg4MywweDAwLDB4MjAgfX0sCi0gezE2LCAweDhhYjAsIDAsIHsweDAwLDB4NGIsMHgxOCwweDI2LDB4Y2YsMHgyMCwweGIxLDB4MDYsMHgyYywweGMxLDB4MGIsMHgzMiwweDAyLDB4MGUsMHgwOCwweGIzIH19LAotIHsxNiwgMHg4YWMwLCAwLCB7MHg4OCwweDI0LDB4MzIsMHgwYSwweDMwLDB4MTIsMHg4NCwweDA4LDB4ODAsMHgwMCwweGEwLDB4MzQsMHgyOCwweDMwLDB4MDIsMHgxOCB9fSwKLSB7MTYsIDB4OGFkMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTEsMHhiYywweDAwLDB4ZmYsMHgwMCwweGI2LDB4NDAgfX0sCi0gezE2LCAweDhhZTAsIDAsIHsweDJjLDB4ZjQsMHg0MywweGZjLDB4MDEsMHhkZiwweDAwLDB4M2EsMHgwMCwweDAzLDB4OTIsMHgwMywweGZmLDB4ODgsMHhmOSwweDAwIH19LAotIHsxNiwgMHg4YWYwLCAwLCB7MHgyZiwweGMwLDB4MWIsMHgwZSwweDRiLDB4MmUsMHg5MCwweGZiLDB4ZTAsMHgzMCwweDMyLDB4MGIsMHg5OCwweDAyLDB4ZWMsMHgwOCB9fSwKLSB7MTYsIDB4OGIwMCwgMCwgezB4NmIsMHhjMCwweDMyLDB4YzAsMHgwOCwweGYwLDB4MDksMHgzZSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhiMTAsIDAsIHsweDgwLDB4MDAsMHhlYywweDAwLDB4ZjMsMHgwMCwweDNhLDB4YzAsMHgwZiwweGIwLDB4MDEsMHg2YywweDAwLDB4ZmIsMHgwMCwweDNhIH19LAotIHsxNiwgMHg4YjIwLCAwLCB7MHgxMCwweDBmLDB4YjQsMHgwMywweGVjLDB4MDAsMHhmMCwweDAwLDB4M2MsMHhjMCwweDBmLDB4ODAsMHgwYiwweGFkLDB4MjAsMHhmYiB9fSwKLSB7MTYsIDB4OGIzMCwgMCwgezB4NDAsMHgzZSwweDEwLDB4MDcsMHhhOCwweDYzLDB4ZTAsMHgwMCwweGZiLDB4ODAsMHgzZSwweGQ4LDB4MGYsMHhiMCwweDAzLDB4ZTAgfX0sCi0gezE2LCAweDhiNDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZmMsMHgwMCwweGZmLDB4MDAsMHg3MiwweDAwIH19LAotIHsxNiwgMHg4YjUwLCAwLCB7MHgwZiwweGYwLDB4MjMsMHhmYywweDAwLDB4ZGYsMHgwMCwweDNmLDB4NDAsMHgwZiwweGMwLDB4MDMsMHhkYywweDAwLDB4OGYsMHgwMCB9fSwKLSB7MTYsIDB4OGI2MCwgMCwgezB4MzMsMHhjMSwweDBjLDB4YzAsMHgwMywweGJlLDB4MDAsMHhmZiwweDkwLDB4M2IsMHgyOCwweDBlLDB4NTksMHgwMywweDJlLDB4MDAgfX0sCi0gezE2LCAweDhiNzAsIDAsIHsweDdiLDB4MDAsMHgzMiwweGM0LDB4MGYsMHhiMCwweDAzLDB4ZDAsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4YjgwLCAwLCB7MHhjMSwweDA0LDB4NmMsMHgwMCwweGJiLDB4MDAsMHg2MiwweGEwLDB4MGYsMHhiMCwweDAyLDB4ZWMsMHgwOSwweDhiLDB4MDAsMHgyZSB9fSwKLSB7MTYsIDB4OGI5MCwgMCwgezB4MzAsMHgwYiwweGE4LDB4MDMsMHhhYywweDAwLDB4ZmEsMHhjMSwweDIyLDB4YzEsMHgwOCwweDhjLDB4MDIsMHgyYywweDAwLDB4YjMgfX0sCi0gezE2LCAweDhiYTAsIDAsIHsweDgxLDB4MmEsMHgwMCwweDBkLDB4ODgsMHhiMiwweDIyLDB4MDAsMHhiMywweGMwLDB4MjIsMHhjOCwweDBiLDB4YjAsMHg0MiwweDYxIH19LAotIHsxNiwgMHg4YmIwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDZjLDB4MDAsMHhiYiwweDAxLDB4MjIsMHg2MiB9fSwKLSB7MTYsIDB4OGJjMCwgMCwgezB4MGIsMHhiMCwweDAyLDB4ZWMsMHgwNCwweDhiLDB4MDAsMHgyZSwweGEyLDB4NDksMHg4OCwweDI2LDB4ZWMsMHgwMCwweGE4LDB4ODAgfX0sCi0gezE2LCAweDhiZDAsIDAsIHsweDIyLDB4YzAsMHgyOCwweDgyLDB4MGEsMHhhYywweGEwLDB4YmIsMHgwOCwweDIyLDB4YzAsMHgwOCwweDgwLDB4MGEsMHgyOCwweDg0IH19LAotIHsxNiwgMHg4YmUwLCAwLCB7MHhiOSwweGMwLDB4YTIsMHgwMCwweDBiLDB4YjAsMHgwMiwweGUwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGJmMCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDAsMHhiMywweDEwLDB4MjAsMHg0OCwweDBhLDB4MzIsMHgwMiwweGNjLDB4ODAsMHg4MywweDAxLDB4MjQgfX0sCi0gezE2LCAweDhjMDAsIDAsIHsweDAwLDB4MGIsMHgwMiwweDA2LDB4OGMsMHg2MCwweGEwLDB4MjAsMHgyMCwweGM4LDB4MDgsMHgwMSwweDAyLDB4MGMsMHgwMCwweGIzIH19LAotIHsxNiwgMHg4YzEwLCAwLCB7MHgwMCwweDI4LDB4MDAsMHgwOSwweDIwLDB4MDIsMHgwOCwweDgwLDB4YjEsMHgwMCwweGEwLDB4ODAsMHgwYiwweDMwLDB4MDIsMHg0MiB9fSwKLSB7MTYsIDB4OGMyMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDksMHg2YywweDAwLDB4ZmYsMHgwMCwweGEyLDB4MGUgfX0sCi0gezE2LCAweDhjMzAsIDAsIHsweDBiLDB4ZjEsMHgwMywweGZjLDB4MDgsMHhjZiwweDIwLDB4M2UsMHhjMCwweDBmLDB4ODAsMHgwMywweGZjLDB4ODQsMHhhOCwweDIwIH19LAotIHsxNiwgMHg4YzQwLCAwLCB7MHhiMiwweGM4LDB4OGMsMHg4MCwweDAzLDB4YWMsMHg0NCwweGZiLDB4NzAsMHgzYSwweGMwLDB4MGUsMHg5MCwweDAzLDB4MmMsMHhhNCB9fSwKLSB7MTYsIDB4OGM1MCwgMCwgezB4ZmIsMHgwMCwweGIyLDB4NDAsMHgwZiwweGIwLDB4MDMsMHhjMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhjNjAsIDAsIHsweGEwLDB4MWQsMHhmYywweDAwLDB4ZmYsMHgyNiwweDNlLDB4MDAsMHgwZiwweGI2LDB4MTMsMHhlZCwweDAwLDB4ZmIsMHgxMCwweDNmIH19LAotIHsxNiwgMHg4YzcwLCAwLCB7MHgwMCwweDBmLDB4YzEsMHgxMywweGFjLDB4ODAsMHhmOCwweDEyLDB4M2UsMHhjNiwweDRmLDB4NDIsMHg0MywweGZjLDB4MDQsMHhmZiB9fSwKLSB7MTYsIDB4OGM4MCwgMCwgezB4MzEsMHgzZiwweDAwLDB4MGYsMHhmMCwweDAzLDB4ZWMsMHgwMCwweGZmLDB4MDAsMHhiZiwweGMwLDB4OGYsMHhmMCwweDAzLDB4ZTggfX0sCi0gezE2LCAweDhjOTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAxLDB4ZmMsMHg0MCwweGZjLDB4ODAsMHgzNiwweGM4IH19LAotIHsxNiwgMHg4Y2EwLCAwLCB7MHgwZiwweDA5LDB4MDMsMHhjMiwweDAwLDB4ZjgsMHhjMCwweDMzLDB4Y2MsMHgyYywweDRjLDB4MDMsMHg2MywweDkwLDB4ZTAsMHg5MCB9fSwKLSB7MTYsIDB4OGNiMCwgMCwgezB4M2EsMHhjMCwweDBkLDB4NTAsMHgwYiwweDNjLDB4MDQsMHhkZiwweDY0LDB4M2YsMHhjOCwweDhkLDB4ZjEsMHg0MywweDJjLDB4MDAgfX0sCi0gezE2LCAweDhjYzAsIDAsIHsweGQ1LDB4MDAsMHgzMywweGMwLDB4NDUsMHhmMiwweDIzLDB4NzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4Y2QwLCAwLCB7MHg4MCwweDEwLDB4ZWQsMHg4MCwweGJhLDB4MDIsMHgyMSwweGRlLDB4OGIsMHg4MiwweDIyLDB4ZTAsMHgyMCwweGIwLDB4MDAsMHgyYiB9fSwKLSB7MTYsIDB4OGNlMCwgMCwgezB4ZWMsMHgwOSwweDgwLDB4MDIsMHhlMywweDQwLDB4YmEsMHgyMCwweDJmLDB4ZGMsMHgwOCwweDk4LDB4MTIsMHgyYywweDAwLDB4OGIgfX0sCi0gezE2LCAweDhjZjAsIDAsIHsweDUxLDB4MmEsMHhkMCwweDA4LDB4NzIsMHgyMiwweDJlLDB4MDAsMHg4ZCwweDgwLDB4MjEsMHhkMCwweDA4LDB4YjYsMHg4MiwweDIwIH19LAotIHsxNiwgMHg4ZDAwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNjLDB4NDAsMHhiOSwweDI4LDB4MjQsMHhjMCB9fSwKLSB7MTYsIDB4OGQxMCwgMCwgezB4NGEsMHgxMiwweDEyLDB4ODgsMHg4NSwweGE4LDB4MjAsMHgyMCwweGMwLDB4MGIsMHgyMiwweDAyLDB4YzAsMHg5MSwweGExLDB4MDAgfX0sCi0gezE2LCAweDhkMjAsIDAsIHsweDI4LDB4YzIsMHgwYiwweDAwLDB4MTIsMHg4YywweDQwLDB4YTMsMHgyMCwweDIwLDB4YzQsMHgwYiwweDMwLDB4MGEsMHgwYywweDExIH19LAotIHsxNiwgMHg4ZDMwLCAwLCB7MHg5OSwweDAwLDB4MjAsMHhjNSwweDA5LDB4MDEsMHgwMiwweDYyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGQ0MCwgMCwgezB4YzAsMHgxMSwweGFjLDB4MDAsMHhiOCwweDgwLDB4MjIsMHhjMCwweDBiLDB4ODgsMHgwMiwweGVlLDB4MDEsMHhiOCwweGMxLDB4MmEgfX0sCi0gezE2LCAweDhkNTAsIDAsIHsweGMwLDB4MWIsMHhhOCwweDA2LDB4ZTIsMHgwMCwweGJiLDB4ODAsMHgyZSwweGMwLDB4OGEsMHg4MCwweDAyLDB4YWMsMHgwMCwweGFiIH19LAotIHsxNiwgMHg4ZDYwLCAwLCB7MHgwMCwweDJlLDB4YzAsMHgwYSwweGIwLDB4MDIsMHgyYywweDAwLDB4OTksMHgwMCwweDI0LDB4YzAsMHgwOCwweDgwLDB4MDIsMHgzMCB9fSwKLSB7MTYsIDB4OGQ3MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlYywweDAwLDB4YjAsMHg4MCwweDM2LDB4YzAgfX0sCi0gezE2LCAweDhkODAsIDAsIHsweDBlLDB4YTgsMHgxMywweGUyLDB4ODUsMHhmMywweGMwLDB4MzIsMHhjMCwweDBlLDB4OWMsMHgyMywweGU3LDB4MjQsMHhlOCwweDgyIH19LAotIHsxNiwgMHg4ZDkwLCAwLCB7MHgzYSwweGMxLDB4MGYsMHg5NCwweDAzLDB4YWMsMHgwMiwweGViLDB4MDAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4MmUsMHgxMCB9fSwKLSB7MTYsIDB4OGRhMCwgMCwgezB4NTEsMHgwMCwweGIyLDB4YzAsMHgwZCwweGIwLDB4MDMsMHg1MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhkYjAsIDAsIHsweGUwLDB4MDEsMHhiYywweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHg4ZiwweGQwLDB4MDMsMHhmMCwweDA0LDB4ZmQsMHgwNCwweDNmIH19LAotIHsxNiwgMHg4ZGMwLCAwLCB7MHhjMCwweDRjLDB4YzAsMHgwMywweGYwLDB4MTAsMHhmYywweDAwLDB4MWYsMHhjMCwweDBkLDB4ZDEsMHgyMywweDFjLDB4MDAsMHhjNyB9fSwKLSB7MTYsIDB4OGRkMCwgMCwgezB4MDAsMHgzOSwweGMwLDB4MGQsMHhmMCwweDgzLDB4ZmUsMHg0NCwweGVkLDB4MDAsMHgzYiwweGMwLDB4MGYsMHg3NCwweDAzLDB4ZjggfX0sCi0gezE2LCAweDhkZTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMCwweGY5LDB4MDEsMHhiYSwweGMxIH19LAotIHsxNiwgMHg4ZGYwLCAwLCB7MHgwYywweGIwLDB4MDMsMHhhMSwweDA4LDB4ZmEsMHgwMCwweDMwLDB4YzgsMHg4ZiwweDk0LDB4MDMsMHgyNSwweDAwLDB4ZjksMHgwMCB9fSwKLSB7MTYsIDB4OGUwMCwgMCwgezB4M2MsMHhjMCwweDBmLDB4MDQsMHg4MywweGVjLDB4MDAsMHhmYiwweDAwLDB4M2UsMHhlMCwweDBmLDB4NzEsMHgwYiwweDJjLDB4NDAgfX0sCi0gezE2LCAweDhlMTAsIDAsIHsweGZkLDB4MDgsMHgzNywweGMwLDB4NGUsMHg5MSwweDAzLDB4OTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4ZTIwLCAwLCB7MHhjOCwweDA1LDB4M2MsMHgwMCwweGI5LDB4MDAsMHgyMywweGMwLDB4MDgsMHg5MCwweDAyLDB4MjQsMHgwMCwweGM4LDB4MDAsMHgzNyB9fSwKLSB7MTYsIDB4OGUzMCwgMCwgezB4ZjAsMHgwYiwweDgwLDB4MDEsMHg2NCwweDAwLDB4NDksMHgwMiwweDMzLDB4YzAsMHg4NCwweDljLDB4MDMsMHgzYywweDAwLDB4YmYgfX0sCi0gezE2LCAweDhlNDAsIDAsIHsweDAyLDB4MGYsMHhkMCwweDA4LDB4ZjQsMHgwMiwweDBlLDB4MTAsMHhiZCwweDgwLDB4MzMsMHhlMCwweDA4LDB4OTAsMHgwYSwweDMyIH19LAotIHsxNiwgMHg4ZTUwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRjLDB4MDAsMHhiMCwweDA2LDB4MjAsMHhjMCB9fSwKLSB7MTYsIDB4OGU2MCwgMCwgezB4MDgsMHgwMCwweDQyLDB4ODQsMHgwMCwweGEwLDB4MDAsMHgyMCwweGYwLDB4MGIsMHgwMCwweDIyLDB4Y2MsMHgwMCwweDkwLDB4MDAgfX0sCi0gezE2LCAweDhlNzAsIDAsIHsweDI4LDB4YzAsMHgwMiwweDNkLDB4MDIsMHg4YywweDAwLDB4YjMsMHgwMCwweDJjLDB4YzIsMHg5YSwweDM4LDB4MDIsMHgwNiwweDA0IH19LAotIHsxNiwgMHg4ZTgwLCAwLCB7MHhiMSwweDEyLDB4MjAsMHhlMCwweDA4LDB4MzAsMHgwMiwweDM4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGU5MCwgMCwgezB4MjAsMHgwMSwweDFlLDB4MDAsMHhiNiwweDgwLDB4MjEsMHhlMCwweDI4LDB4ZWEsMHgwMiwweDM2LDB4ODAsMHg4NiwweDkwLDB4NjUgfX0sCi0gezE2LCAweDhlYTAsIDAsIHsweGUwLDB4MWIsMHhkYSwweDA2LDB4NWUsMHgwMSwweDllLDB4ODQsMHgyNSwweGVjLDB4MGEsMHg3OCwweDAyLDB4NWUsMHgwMCwweGI3IH19LAotIHsxNiwgMHg4ZWIwLCAwLCB7MHg4MCwweDJkLDB4ZTAsMHgwOCwweDc5LDB4NGEsMHgxNiwweDQwLDB4YmQsMHg4MCwweDI1LDB4ZTAsMHgwOCwweDM4LDB4MDIsMHgwOCB9fSwKLSB7MTYsIDB4OGVjMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDAwLDB4ZmIsMHgwMCwweDI4LDB4ZTAgfX0sCi0gezE2LCAweDhlZDAsIDAsIHsweDA4LDB4MTgsMHgwMiwweDhhLDB4ODgsMHhhMSwweGEwLDB4MjAsMHhjMiwweDFmLDB4MmEsMHgyMywweGU2LDB4YzgsMHhmMCwweGMwIH19LAotIHsxNiwgMHg4ZWUwLCAwLCB7MHgzYSwweGVkLDB4NGUsMHgzNCwweDAyLDB4OGMsMHgwOCwweGYzLDB4ODEsMHgxZSwweGMwLDB4MGUsMHgzMCwweDAzLDB4MGUsMHhjMCB9fSwKLSB7MTYsIDB4OGVmMCwgMCwgezB4ZjEsMHgwMCwweGIwLDB4Y2EsMHgwZSwweDIxLDB4MDMsMHg5MiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhmMDAsIDAsIHsweDQwLDB4MWQsMHhiYywweDA4LDB4ZmUsMHgxMCwweDNmLDB4ZDIsMHgwZiwweGUwLDB4MDMsMHhlYywweDA0LDB4ZmYsMHgxNCwweDdlIH19LAotIHsxNiwgMHg4ZjEwLCAwLCB7MHhjMCwweDBmLDB4YjEsMHgyMywweGZjLDB4MDEsMHhlZSwweDAwLDB4M2EsMHhjNCwweDBkLDB4YjAsMHgxMywweGJjLDB4MDAsMHhmZiB9fSwKLSB7MTYsIDB4OGYyMCwgMCwgezB4MDAsMHgzZiwweGMwLDB4MGUsMHhmMCwweDgzLDB4ZmMsMHgwYywweGZkLDB4MTAsMHgzYiwweGMwLDB4MmYsMHhlMSwweDAzLDB4ZDAgfX0sCi0gezE2LCAweDhmMzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWMsMHg0MCwweGYwLDB4ODAsMHgzMiwweGQwIH19LAotIHsxNiwgMHg4ZjQwLCAwLCB7MHgwYywweGEwLDB4MDMsMHg2YywweDAwLDB4ZjMsMHg4MCwweDMyLDB4ZGEsMHgwZiwweGIwLDB4MDMsMHhlYywweDAwLDB4ZmIsMHgwMCB9fSwKLSB7MTYsIDB4OGY1MCwgMCwgezB4M2UsMHhjYywweDRjLDB4OTgsMHgxMywweDJjLDB4MTAsMHhmYiwweDA0LDB4M2UsMHhjNCwweDBjLDB4ZjIsMHg4MywweGE2LDB4MTAgfX0sCi0gezE2LCAweDhmNjAsIDAsIHsweGRkLDB4MjAsMHgzZiwweGQxLDB4MGMsMHhiMCwweDAzLDB4ZWEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4ZjcwLCAwLCB7MHg0OCwweDExLDB4OWMsMHg4MCwweGI3LDB4MDAsMHgyMSwweGM4LDB4MGMsMHg3MCwweDAyLDB4ZGMsMHgwOCwweGI3LDB4MDAsMHgyMSB9fSwKLSB7MTYsIDB4OGY4MCwgMCwgezB4YzgsMHgwZSwweDcwLDB4MjIsMHhkOCwweDAwLDB4YjcsMHgwMCwweDJjLDB4YzIsMHgwYSwweDcwLDB4MGEsMHgxZiwweDA4LDB4YjcgfX0sCi0gezE2LCAweDhmOTAsIDAsIHsweDAwLDB4MzksMHhjOCwweDBhLDB4NzAsMHgwMiwweDE0LDB4MDAsMHhjNSwweDY5LDB4MmMsMHhjYSwweDJhLDB4NzAsMHgwMiwweGQyIH19LAotIHsxNiwgMHg4ZmEwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDllLDB4MDAsMHhiZiwweDgxLDB4NjQsMHhlMSB9fSwKLSB7MTYsIDB4OGZiMCwgMCwgezB4MDgsMHg3OCwweDAyLDB4NWEsMHgwMSwweGJmLDB4ODAsMHgyMSwweGVjLDB4NGIsMHg3OCwweDQ2LDB4OWYsMHgwOCwweDM3LDB4ODAgfX0sCi0gezE2LCAweDhmYzAsIDAsIHsweDJkLDB4ZTgsMHg4OCwweDE4LDB4MDIsMHgxZSwweDgxLDB4YjcsMHhiMCwweDJkLDB4ZTAsMHgwOSwweDdhLDB4MDIsMHg4ZSwweDAwIH19LAotIHsxNiwgMHg4ZmQwLCAwLCB7MHg5NSwweGEwLDB4MmQsMHhlNCwweDA4LDB4NzgsMHgwMiwweGYwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGZlMCwgMCwgezB4NDgsMHgxNCwweGVjLDB4MDAsMHhiMywweDYwLDB4MjAsMHhjMCwweDA4LDB4YjYsMHgwMiwweGNjLDB4MDAsMHhiMywweDAxLDB4MjAgfX0sCi0gezE2LCAweDhmZjAsIDAsIHsweGMwLDB4OGEsMHhiMCwweDg2LDB4Y2YsMHgwMCwweGJiLDB4MTAsMHg2YywweGMxLDB4MGEsMHgzOCwweDAyLDB4MGMsMHgwMSwweGIzIH19LAotIHsxNiwgMHg5MDAwLCAwLCB7MHgwMiwweDI4LDB4YzAsMHgwYiwweGIwLDB4MGEsMHgwYywweDAwLDB4ODEsMHgwMCwweDJlLDB4YzAsMHgwYSwweGI0LDB4ODIsMHhkMiB9fSwKLSB7MTYsIDB4OTAxMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOCwweDAwLDB4ZmUsMHg0MCwweGI2LDB4ODAgfX0sCi0gezE2LCAweDkwMjAsIDAsIHsweDBjLDB4ZTQsMHgwMywweDc4LDB4ODAsMHhmZSwweDc0LDB4MzIsMHg4MCwweDBiLDB4ZTYsMHgwMywweGY5LDB4MDAsMHhmZSwweDAwIH19LAotIHsxNiwgMHg5MDMwLCAwLCB7MHgzZSwweDgwLDB4MGMsMHhlMCwweDAzLDB4MjgsMHgwMCwweGZhLDB4MDAsMHgzZSwweDgwLDB4NGQsMHhhMCwweDAzLDB4YTgsMHgwMCB9fSwKLSB7MTYsIDB4OTA0MCwgMCwgezB4ZGEsMHgwNCwweDNlLDB4ODAsMHgwYywweGU0LDB4MDMsMHhmYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDkwNTAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDAsMHgyZSwweDgwLDB4MjMsMHhlMCwweDAwLDB4ZjgsMHgwMSwweDNjIH19LAotIHsxNiwgMHg5MDYwLCAwLCB7MHgwMCwweDBlLDB4ODAsMHgwMywweGUwLDB4MjAsMHhmOCwweDIwLDB4M2UsMHgwMSwweDhmLDB4ODksMHgwMywweGUwLDB4MDAsMHhmOCB9fSwKLSB7MTYsIDB4OTA3MCwgMCwgezB4MDAsMHgzYSwweDEwLDB4MGUsMHg4MCwweDAxLDB4ZTAsMHgwMCwweGU4LDB4NDAsMHg3ZSwweDAwLDB4NGYsMHg4MCwweDAzLDB4ZDIgfX0sCi0gezE2LCAweDkwODAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMiwweGM5LDB4MDEsMHg3ZSwweDQwIH19LAotIHsxNiwgMHg5MDkwLCAwLCB7MHgyYywweDkwLDB4MGIsMHgyNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NjgsMHgwNSwweDkwLDB4MTMsMHhhNCwweDA0LDB4ZDksMHgwMCB9fSwKLSB7MTYsIDB4OTBhMCwgMCwgezB4MzIsMHg0MSwweDBlLDB4OTEsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg2MCwweDBlLDB4OTAsMHgwMywweDI0LDB4MDAgfX0sCi0gezE2LCAweDkwYjAsIDAsIHsweGYxLDB4MDAsMHgzMiwweDQwLDB4NjgsMHg5MCwweDQzLDB4ODIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5MGMwLCAwLCB7MHg4MCwweDA0LDB4NjQsMHgwMCwweDg5LDB4MDAsMHg2ZSwweDQwLDB4MDgsMHg5MCwweDQyLDB4MjQsMHgwMCwweGI5LDB4MDAsMHgyZSB9fSwKLSB7MTYsIDB4OTBkMCwgMCwgezB4NzAsMHg4OCwweDkwLDB4MDMsMHgyNCwweDAwLDB4YjksMHgwMCwweDIyLDB4NDAsMHgwOCwweDk4LDB4MTIsMHhlNCwweDAwLDB4YjkgfX0sCi0gezE2LCAweDkwZTAsIDAsIHsweDAwLDB4MmUsMHg0MCwweDBhLDB4OTAsMHgwYSwweDI2LDB4MDAsMHhiOSwweDgwLDB4YTIsMHg0MCwweDA4LDB4OTAsMHgxMiwweDIwIH19LAotIHsxNiwgMHg5MGYwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDAsMHg4OSwweDA0LDB4MmMsMHg0MCB9fSwKLSB7MTYsIDB4OTEwMCwgMCwgezB4MDgsMHg5MCwweDAyLDB4MjQsMHgwMSwweGI5LDB4MDAsMHgyYSwweDQwLDB4MGIsMHhiMCwweDAyLDB4YTQsMHgwMSwweGI5LDB4MDAgfX0sCi0gezE2LCAweDkxMTAsIDAsIHsweGUwLDB4NDAsMHgwYSwweDkwLDB4ODIsMHhhNCwweDAwLDB4YjksMHgwMCwweDJjLDB4NDgsMHgwYSwweDk4LDB4MDIsMHgyNCwweDgwIH19LAotIHsxNiwgMHg5MTIwLCAwLCB7MHgzOSwweDIwLDB4MjIsMHg0MCwweDJhLDB4OTAsMHgwMiwweDg2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTEzMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4ODAsMHg4MSwweDAwLDB4MmMsMHg0OCwweDA4LDB4MTAsMHgxMiwweDA0LDB4MTAsMHhiMSwweDA0LDB4MmMgfX0sCi0gezE2LCAweDkxNDAsIDAsIHsweGQ4LDB4MGEsMHgxMCwweDAyLDB4MDQsMHgwMCwweGIxLDB4MDAsMHgyMCwweDQ4LDB4MDgsMHgxMCwweDAyLDB4YzQsMHg4MCwweGIxIH19LAotIHsxNiwgMHg5MTUwLCAwLCB7MHgyMiwweDJjLDB4NTAsMHg4YSwweDMyLDB4ODIsMHgwNSwweGEwLDB4YjEsMHgyYSwweDIwLDB4NGEsMHgwYSwweDEyLDB4ODIsMHgwMiB9fSwKLSB7MTYsIDB4OTE2MCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MSwweDUwLDB4YzgsMHg1MiwweDJlLDB4MTQgfX0sCi0gezE2LCAweDkxNzAsIDAsIHsweDBjLDB4ODUsMHgwMywweDIxLDB4NDAsMHhmOCwweDUwLDB4M2EsMHgwMCwweDFmLDB4ODUsMHgwMywweGExLDB4NDAsMHhmOCwweDUwIH19LAotIHsxNiwgMHg5MTgwLCAwLCB7MHgzMiwweDE0LDB4MGUsMHg4MCwweDAzLDB4YTEsMHg0MCwweGY4LDB4NTAsMHgzYywweDgwLDB4MGUsMHgwMiwweDAzLDB4MjAsMHg4MCB9fSwKLSB7MTYsIDB4OTE5MCwgMCwgezB4ZmEsMHgyMCwweDMyLDB4MDgsMHgwZSwweDgyLDB4MTMsMHhhZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDkxYTAsIDAsIHsweDk4LDB4MWQsMHhlNCwweDUwLDB4ZmQsMHgwMCwweDNlLDB4NDQsMHgwZiwweGQwLDB4MDMsMHhmNCwweDAwLDB4ZmQsMHgwMCwweDNlIH19LAotIHsxNiwgMHg5MWIwLCAwLCB7MHg0NCwweDhkLDB4ZDAsMHgwMSwweGJkLDB4MDAsMHhmZCwweDAyLDB4M2UsMHg0NCwweDBmLDB4ZDQsMHgwMCwweGU0LDB4NDgsMHg3OSB9fSwKLSB7MTYsIDB4OTFjMCwgMCwgezB4MTQsMHgzZSwweDUwLDB4MGYsMHg5MiwweGEyLDB4ZjQsMHgwOCwweGZkLDB4MDAsMHgzZSwweDRhLDB4MGQsMHhkMiwweDgzLDB4ZTYgfX0sCi0gezE2LCAweDkxZDAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZTcsMHgwMCwweGY5LDB4MTAsMHgzYSwweDZlIH19LAotIHsxNiwgMHg5MWUwLCAwLCB7MHgwYywweGIxLDB4MDMsMHhlNCwweDQwLDB4ZjksMHg0NCwweDNiLDB4NjEsMHg4ZSwweDk0LDB4MDMsMHhlNCwweDAwLDB4ZTksMHg0MCB9fSwKLSB7MTYsIDB4OTFmMCwgMCwgezB4MzIsMHg2NiwweDBmLDB4ZGEsMHgwYiwweGE3LDB4MjgsMHhjOSwweGUwLDB4M2YsMHg2OCwweDBjLDB4ZGEsMHg4MywweGIzLDB4MjAgfX0sCi0gezE2LCAweDkyMDAsIDAsIHsweGVkLDB4YTAsMHgzMywweDc5LDB4MDgsMHhkOCwweDAzLDB4NDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5MjEwLCAwLCB7MHgzOCwweDEwLDB4ZTIsMHgwMCwweGI4LDB4YTAsMHgyZSwweDM4LDB4MDgsMHg4YSwweDAyLDB4ZTIsMHg4OCwweGU4LDB4ODEsMHgyZSB9fSwKLSB7MTYsIDB4OTIyMCwgMCwgezB4MTQsMHgwOSwweDBhLDB4MDMsMHhlMiwweDgwLDB4YjgsMHg4MCwweDMyLDB4MzAsMHgwYiwweDg1LDB4MDIsMHgyMSwweDAxLDB4YTggfX0sCi0gezE2LCAweDkyMzAsIDAsIHsweGY0LDB4MzgsMHgyYSwweDA4LDB4MGUsMHhjYSwweDIzLDB4OTAsMHhjOCwweDU0LDB4MzQsMHgzOCwweDA4LDB4OGEsMHg5MiwweDBlIH19LAotIHsxNiwgMHg5MjQwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM1LDB4MDAsMHhiMSwweDAwLDB4MjgsMHg0MCB9fSwKLSB7MTYsIDB4OTI1MCwgMCwgezB4MTksMHgxMCwweDAyLDB4YzQsMHgwMCwweGIxLDB4MjAsMHgyOCwweDQwLDB4MGIsMHgxMCwweDA2LDB4YzQsMHgyMCwweGExLDB4YTIgfX0sCi0gezE2LCAweDkyNjAsIDAsIHsweDZjLDB4NDgsMHgwYiwweDEwLDB4MDIsMHg4NCwweDA4LDB4ODEsMHgyMCwweDJjLDB4NTAsMHgwOSwweDEwLDB4MDIsMHhjNCwweDA0IH19LAotIHsxNiwgMHg5MjcwLCAwLCB7MHhiMSwweDAwLDB4MjQsMHg1OCwweDA4LDB4M2MsMHgwMiwweDQyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTI4MCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MDEsMHhiOSwweDIwLDB4MmMsMHg0MCwweDA5LDB4OTAsMHgwMiwweGU0LDB4MTAsMHhhOSwweDQwLDB4MmUgfX0sCi0gezE2LCAweDkyOTAsIDAsIHsweDQwLDB4MGIsMHg5MCwweDAyLDB4YTQsMHgwMCwweGIxLDB4MDEsMHgyYSwweDQwLDB4MGIsMHg5NCwweDAyLDB4MjQsMHgwMCwweGE5IH19LAotIHsxNiwgMHg5MmEwLCAwLCB7MHgwMCwweDJhLDB4NDAsMHgwMSwweDEwLDB4NTIsMHg2NCwweDAwLDB4ODksMHgwMCwweDI2LDB4NDAsMHgwMCwweDk4LDB4MDIsMHg0NiB9fSwKLSB7MTYsIDB4OTJiMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNCwweDAwLDB4ZjksMHg2MSwweDNhLDB4NDAgfX0sCi0gezE2LCAweDkyYzAsIDAsIHsweDBkLDB4OTAsMHg4MywweGU1LDB4MjAsMHhmOSwweDAxLDB4M2EsMHg0MCwweDJlLDB4OTAsMHgwMiwweGU0LDB4NDAsMHhlOSwweDAxIH19LAotIHsxNiwgMHg5MmQwLCAwLCB7MHg5ZSwweDQwLDB4MGYsMHg5NCwweDAzLDB4YTQsMHgwMCwweDg5LDB4MDAsMHgzZSwweDQwLDB4MmQsMHg5MCwweDAyLDB4ZTYsMHgwOCB9fSwKLSB7MTYsIDB4OTJlMCwgMCwgezB4YjksMHgwMSwweDM2LDB4NDAsMHgyYywweDkwLDB4MDEsMHg2OCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDkyZjAsIDAsIHsweDI4LDB4MDEsMHhhNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDAsMHgyZSwweDkwLDB4MDMsMHhlNCwweDgwLDB4ZjksMHgwMCwweDNjIH19LAotIHsxNiwgMHg5MzAwLCAwLCB7MHg0MCwweDBjLDB4OWMsMHgyMywweGU0LDB4MDAsMHhmOSwweDAwLDB4MzYsMHg0MCwweDBmLDB4MTAsMHg0MywweDg0LDB4MDAsMHhmOSB9fSwKLSB7MTYsIDB4OTMxMCwgMCwgezB4MDIsMHgzZSwweDQwLDB4MGUsMHg5MCwweDAzLDB4ODAsMHg4MCwweGY5LDB4MDAsMHgzYywweDQwLDB4MmYsMHg5MCwweDAzLDB4OGEgfX0sCi0gezE2LCAweDkzMjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGM4LDB4NDAsMHgzNiwweDAxIH19LAotIHsxNiwgMHg5MzMwLCAwLCB7MHgwZCwweDg0LDB4MDMsMHhlMSwweDAwLDB4ZTgsMHg0MCwweDNlLDB4MDgsMHgwYywweDgwLDB4MDMsMHhlMSwweDAwLDB4ZjgsMHgwMCB9fSwKLSB7MTYsIDB4OTM0MCwgMCwgezB4MzIsMHgwMCwweDhmLDB4ODAsMHgwMywweGEwLDB4MTAsMHhmOCwweDAwLDB4MzIsMHgwNCwweDBlLDB4ODAsMHg4MywweDYwLDB4MDAgfX0sCi0gezE2LCAweDkzNTAsIDAsIHsweGY4LDB4MDAsMHgzZSwweDAwLDB4MGMsMHgwMCwweDAzLDB4MGEsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5MzYwLCAwLCB7MHgyOCwweDA1LDB4MjgsMHgwMCwweDhhLDB4MDEsMHgyMiwweDgwLDB4MDgsMHhhMCwweDI0LDB4ZTgsMHgwMCwweDBhLDB4MDAsMHgyZiB9fSwKLSB7MTYsIDB4OTM3MCwgMCwgezB4ODAsMHgxYSwweGEwLDB4MDIsMHgyOCwweDAwLDB4YmEsMHgwMCwweDE2LDB4ODAsMHgwYiwweGUwLDB4MDMsMHgyOCwweDA4LDB4ZWEgfX0sCi0gezE2LCAweDkzODAsIDAsIHsweDAwLDB4MzMsMHg5MCwweDA4LDB4ZWMsMHgxYiwweDIyLDB4ODAsMHhjNiwweDE0LDB4MmYsMHg5MSwweDA4LDB4YTAsMHg0MywweDRhIH19LAotIHsxNiwgMHg5MzkwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDAsMHg5MywweDAwLDB4MjQsMHhjMCB9fSwKLSB7MTYsIDB4OTNhMCwgMCwgezB4MDksMHgzMCwweDEyLDB4Y2MsMHgwNCwweGEzLDB4MDQsMHg2YywweGMwLDB4MDksMHgzMCwweDAyLDB4OGMsMHgwMCwweGIzLDB4MDAgfX0sCi0gezE2LCAweDkzYjAsIDAsIHsweDJjLDB4YzAsMHgxMywweDMwLDB4MDIsMHg4YywweDAwLDB4YjMsMHgwMCwweGU2LDB4YjgsMHgwYSwweDM4LDB4MDIsMHg0NCwweDA4IH19LAotIHsxNiwgMHg5M2MwLCAwLCB7MHg4MiwweDUwLDB4MmMsMHhkMiwweDNhLDB4MzAsMHgwMiwweDhhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTNkMCwgMCwgezB4YTAsMHgwMSwweDBlLDB4ODAsMHg5NywweGI0LDB4MjEsMHhjNCwweDQ5LDB4NzEsMHgwMiwweGRlLDB4ODEsMHg4NywweDIxLDB4MmQgfX0sCi0gezE2LCAweDkzZTAsIDAsIHsweGQwLDB4MGIsMHg3YiwweDAyLDB4MWMsMHgwMSwweGJmLDB4MjAsMHgyOSwweGM0LDB4MGIsMHgzMCwweDAyLDB4NWMsMHgwMCwweGE3IH19LAotIHsxNiwgMHg5M2YwLCAwLCB7MHhhMSwweDIxLDB4YzAsMHg0YSwweDcwLDB4OGEsMHgwYywweDgxLDB4ODQsMHgwMCwweDJkLDB4ZDAsMHgwYSwweDUwLDB4MDIsMHhlOCB9fSwKLSB7MTYsIDB4OTQwMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZSwweDgyLDB4ZGYsMHhhMCwweDM0LDB4ZWMgfX0sCi0gezE2LCAweDk0MTAsIDAsIHsweDBkLDB4NzksMHgwMiwweGZlLDB4ODAsMHhlNywweGU4LDB4MmYsMHhhMCwweDA5LDB4N2EsMHgwMiwweDllLDB4MDAsMHhmNywweGEyIH19LAotIHsxNiwgMHg5NDIwLCAwLCB7MHgyNSwweGVhLDB4MGIsMHg0OCwweDAzLDB4OWUsMHgwNCwweGZmLDB4YzAsMHg2NSwweGU0LDB4MGUsMHg2OCwweDAzLDB4NWYsMHgwMCB9fSwKLSB7MTYsIDB4OTQzMCwgMCwgezB4ZTQsMHg4MCwweDNkLDB4ZTAsMHgwZSwweGY4LDB4MDMsMHhhYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk0NDAsIDAsIHsweDA4LDB4MWQsMHhhYywweDQ4LDB4ZWIsMHgwNSwweDNlLDB4ZDksMHgwZSwweGIyLDB4MDMsMHhlYywweDAwLDB4ZmIsMHg2MCwweDNlIH19LAotIHsxNiwgMHg5NDUwLCAwLCB7MHhjMCwweDBlLDB4YjIsMHg4MywweGFjLDB4MDAsMHhmMywweDUwLDB4YTYsMHhjMCwweDRmLDB4YjAsMHgwMywweGFjLDB4MDAsMHhmYiB9fSwKLSB7MTYsIDB4OTQ2MCwgMCwgezB4ODAsMHgzZiwweGQ4LDB4MGQsMHhhMCwweDAzLDB4ZWMsMHgwYSwweGY5LDB4MDAsMHgzZSwweGMwLDB4MGQsMHg5MCwweDAzLDB4NDIgfX0sCi0gezE2LCAweDk0NzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmUsMHgwMCwweGJiLDB4OTAsMHgzZSwweGUwIH19LAotIHsxNiwgMHg5NDgwLCAwLCB7MHgwOCwweDM5LDB4MDMsMHg5ZSwweDIwLDB4Y2YsMHg4MiwweDc3LDB4ZTAsMHgxZiwweGY4LDB4MDMsMHhlZSwweDAwLDB4ZmYsMHhjMCB9fSwKLSB7MTYsIDB4OTQ5MCwgMCwgezB4M2YsMHhlNSwweDBkLDB4ZjksMHgwMywweGVlLDB4MDAsMHhmYiwweDkwLDB4MzcsMHhhMCwweDA4LDB4ZjgsMHgwZiwweDFlLDB4MDAgfX0sCi0gezE2LCAweDk0YTAsIDAsIHsweGNjLDB4OTQsMHgzMywweDYwLDB4MGQsMHhmOCwweDAzLDB4YzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5NGIwLCAwLCB7MHhhOCwweDExLDB4OWMsMHgwMCwweGI3LDB4OTAsMHgyZiwweGU0LDB4MDgsMHg3YSwweDAyLDB4MWUsMHgwMCwweDhmLDB4MTIsMHgyNSB9fSwKLSB7MTYsIDB4OTRjMCwgMCwgezB4ZDgsMHgwYiwweGJiLDB4MDIsMHgxZSwweDAwLDB4YjcsMHgwMCwweDJkLDB4ZTgsMHgwOCwweDdkLDB4ODIsMHhkZSwweDQwLDB4YmIgfX0sCi0gezE2LCAweDk0ZDAsIDAsIHsweGEwLDB4MjcsMHg5MCwweDBhLDB4NzYsMHgwMiwweDVjLDB4ODAsMHg4NSwweDAwLDB4MzcsMHhjNCwweDRkLDB4NzEsMHgwMywweGVhIH19LAotIHsxNiwgMHg5NGUwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDljLDB4MDAsMHhiNywweDIwLDB4MmQsMHhjMCB9fSwKLSB7MTYsIDB4OTRmMCwgMCwgezB4MjksMHhmMiwweDIyLDB4YmMsMHg4MCwweDk3LDB4MDAsMHgyNSwweDQxLDB4MGIsMHg3MCwweDEyLDB4OWMsMHgwMCwweGI3LDB4MDggfX0sCi0gezE2LCAweDk1MDAsIDAsIHsweDI5LDB4YzAsMHgwOCwweDQyLDB4MTIsMHhkYywweDQwLDB4YjcsMHgwMCwweDI5LDB4YzAsMHgwOSwweDYwLDB4MjIsMHhkYywweDEwIH19LAotIHsxNiwgMHg5NTEwLCAwLCB7MHg4MCwweDAwLDB4MjEsMHg0MCwweDA5LDB4NzAsMHgwMiwweGMwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTUyMCwgMCwgezB4MjAsMHgxNCwweGNjLDB4MDAsMHhiMywweGMwLDB4MmUsMHhjMCwweDA4LDB4MzQsMHg4MiwweDJkLDB4MDAsMHg5MywweDAwLDB4MjQgfX0sCi0gezE2LCAweDk1MzAsIDAsIHsweGMwLDB4MGIsMHgzMCwweDAyLDB4MGYsMHg4MCwweDEzLDB4MDAsMHgyYywweGMwLDB4MGEsMHgzNCwweGEyLDB4ZWMsMHgwMCwweGIzIH19LAotIHsxNiwgMHg5NTQwLCAwLCB7MHgwMCwweDI4LDB4YzAsMHgwYiwweDAwLDB4MDIsMHhjYywweDAwLDB4ODEsMHgwMCwweDIwLDB4YzAsMHgwOSwweDMwLDB4MDIsMHg4OSB9fSwKLSB7MTYsIDB4OTU1MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTEsMHhiYywweDAwLDB4ZmYsMHhlMCwweDNmLDB4YzAgfX0sCi0gezE2LCAweDk1NjAsIDAsIHsweDBjLDB4ZjQsMHg4MywweGJkLDB4MDAsMHhkZiwweDA4LDB4MzYsMHg0MCwweDBiLDB4NzUsMHg0MiwweGZjLDB4MjAsMHhmZiwweDgwIH19LAotIHsxNiwgMHg5NTcwLCAwLCB7MHgzYiwweGMwLDB4MmMsMHgzYywweDAzLDB4ZmMsMHgwMCwweGJmLDB4MDAsMHhiZSwweGMwLDB4OGQsMHg5MCwweDBiLDB4YWMsMHgwMiB9fSwKLSB7MTYsIDB4OTU4MCwgMCwgezB4Y2EsMHgwMCwweDIyLDB4ODAsMHgwZCwweGIwLDB4MDIsMHhlYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk1OTAsIDAsIHsweDgwLDB4MDAsMHhlYywweDAwLDB4ZmIsMHgwOCwweDFlLDB4YzAsMHgwZiwweGIwLDB4MTMsMHhlYywweDAwLDB4ZWIsMHgwMCwweDNhIH19LAotIHsxNiwgMHg5NWEwLCAwLCB7MHgxMCwweDBmLDB4YjAsMHgyMywweGFjLDB4MDEsMHhmYiwweDAwLDB4M2UsMHhjMCwweDNjLDB4ODQsMHgwMywweGVjLDB4MDAsMHhmYiB9fSwKLSB7MTYsIDB4OTViMCwgMCwgezB4MDAsMHgyNiwweDQwLDB4MGUsMHg5NCwweDBiLDB4MmMsMHgwMCwweGY5LDB4NDAsMHgzZSwweDkwLDB4MGUsMHg5MCwweDEzLDB4ZTAgfX0sCi0gezE2LCAweDk1YzAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZGMsMHgwMiwweGNmLDB4MDAsMHgzZiwweGMwIH19LAotIHsxNiwgMHg5NWQwLCAwLCB7MHgwZCwweGYwLDB4MGIsMHgzYywweDIwLDB4Y2YsMHgwMCwweDNkLDB4MDAsMHgwZSwweGYwLDB4MDcsMHg5YywweDAxLDB4Y2YsMHgwMiB9fSwKLSB7MTYsIDB4OTVlMCwgMCwgezB4M2UsMHhjMCwweDBmLDB4YzQsMHgwMywweDNjLDB4MDAsMHhjZiwweDAwLDB4MGYsMHhjMCwweDBlLDB4NDQsMHgwMywweDFmLDB4MDIgfX0sCi0gezE2LCAweDk1ZjAsIDAsIHsweGNjLDB4MDAsMHgzZiwweDgwLDB4MmMsMHg3MCwweDAzLDB4MDAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5NjAwLCAwLCB7MHg4MSwweDA0LDB4NmMsMHgwMCwweDhiLDB4MDIsMHgyZSwweGMwLDB4MGQsMHhiMCwweDAyLDB4MmMsMHgwMCwweGFiLDB4MDAsMHgwNiB9fSwKLSB7MTYsIDB4OTYxMCwgMCwgezB4MjAsMHgwOCwweGIwLDB4MDMsMHhmYywweDAwLDB4YWIsMHgwMCwweDJlLDB4YzAsMHgwZiwweDgwLDB4MDYsMHhiYywweDAwLDB4YWIgfX0sCi0gezE2LCAweDk2MjAsIDAsIHsweDA0LDB4M2EsMHhmMCwweDBjLDB4ODgsMHgwMiwweDJjLDB4MDAsMHhjOSwweDgwLDB4M2EsMHg5MiwweDA4LDB4OTAsMHgwYSwweGEwIH19LAotIHsxNiwgMHg5NjMwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDAsMHhhYiwweDAwLDB4MmUsMHhjMCB9fSwKLSB7MTYsIDB4OTY0MCwgMCwgezB4MDksMHgzMCwweDAyLDB4MmMsMHgwMCwweDhiLDB4MDAsMHgyNiwweDYwLDB4MGIsMHhiMCwweDAyLDB4YWMsMHgwMCwweDhiLDB4MDAgfX0sCi0gezE2LCAweDk2NTAsIDAsIHsweDZlLDB4YzAsMHgwYiwweGIwLDB4NDIsMHgyYywweDAwLDB4OWIsMHgwMCwweDRjLDB4ZTAsMHgwYSwweDkwLDB4MjIsMHgyYywweDAwIH19LAotIHsxNiwgMHg5NjYwLCAwLCB7MHg4YSwweGMyLDB4MmMsMHg0MCwweDA4LDB4YjAsMHg0MiwweDIwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTY3MCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDAsMHg4MywweDBkLDB4MmMsMHhjNiwweDA5LDB4MzEsMHgwMiwweDBkLDB4ODEsMHhhMywweDExLDB4MjQgfX0sCi0gezE2LCAweDk2ODAsIDAsIHsweDAwLDB4OGEsMHhiMSwweGUyLDB4NGMsMHg4MCwweGEzLDB4MDAsMHgyYywweGNjLDB4MGIsMHgwMiwweDAyLDB4OGMsMHg4MCwweGEzIH19LAotIHsxNiwgMHg5NjkwLCAwLCB7MHg0OCwweDA4LDB4YzAsMHgwOCwweDAwLDB4MGEsMHgwZCwweDAwLDB4ODEsMHgwMCwweDI4LDB4YzAsMHgwOCwweDMwLDB4MDIsMHg4MiB9fSwKLSB7MTYsIDB4OTZhMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2YywweDAwLDB4Y2IsMHgyMCwweDJmLDB4YzggfX0sCi0gezE2LCAweDk2YjAsIDAsIHsweDhkLDB4ZjYsMHgxMywweDJkLDB4YjAsMHg4ZiwweDAwLDB4MzYsMHg0MCwweDBmLDB4ZjAsMHgwMiwweGFkLDB4YTgsMHg4ZiwweDEwIH19LAotIHsxNiwgMHg5NmMwLCAwLCB7MHgzZiwweGNhLDB4MGIsMHg4MCwweDkyLDB4MmMsMHgxMCwweGRiLDB4NDAsMHgzZiwweGMwLDB4MGUsMHgwMCwweDAzLDB4MmQsMHgwNCB9fSwKLSB7MTYsIDB4OTZkMCwgMCwgezB4YzgsMHgwMiwweDNlLDB4NDAsMHgwYywweGIwLDB4MDMsMHgwMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk2ZTAsIDAsIHsweGEwLDB4MWQsMHhmYywweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzgsMHgwZSwweGYxLDB4MDMsMHhlYywweDg0LDB4ZmYsMHgyMCwweDM3IH19LAotIHsxNiwgMHg5NmYwLCAwLCB7MHgwMCwweDBkLDB4YjIsMHgwMywweGJjLDB4YTAsMHhmZiwweDAwLDB4M2UsMHhjOSwweDBlLDB4ODAsMHgwMywweGZkLDB4MTEsMHhmZiB9fSwKLSB7MTYsIDB4OTcwMCwgMCwgezB4MDAsMHgzYiwweGMwLDB4MGUsMHhjMCwweDAzLDB4ZmMsMHg4MCwweGVkLDB4MDAsMHgzYiwweGMwLDB4MGYsMHhmMCwweDQzLDB4NjggfX0sCi0gezE2LCAweDk3MTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAxLDB4ZmMsMHg5MCwweGNjLDB4OTIsMHgzYiwweGM4IH19LAotIHsxNiwgMHg5NzIwLCAwLCB7MHgwZCwweGYwLDB4ODMsMHg3MywweDEwLDB4ZmYsMHgyOCwweDM3LDB4Y2EsMHg0ZiwweGIyLDB4MDMsMHhmYywweDAwLDB4ZGYsMHgyMCB9fSwKLSB7MTYsIDB4OTczMCwgMCwgezB4YjMsMHhjNCwweDBkLDB4NjgsMHg0MywweGZlLDB4MTQsMHhjYiwweDg0LDB4MzMsMHhlMCwweDBkLDB4NzgsMHgwMywweGJlLDB4MDAgfX0sCi0gezE2LCAweDk3NDAsIDAsIHsweGZmLDB4ODAsMHgzNywweGEwLDB4MGMsMHhmMywweDAzLDB4MzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5NzUwLCAwLCB7MHg4MCwweDAwLDB4ZmMsMHg0OCwweDgyLDB4MjEsMHgwMywweGY0LDB4MGYsMHhmNiwweDQyLDB4MjAsMHgwNCwweDhhLDB4NjAsMHgyYiB9fSwKLSB7MTYsIDB4OTc2MCwgMCwgezB4ZGEsMHgwYiwweGY5LDB4MDIsMHgzZiwweDA0LDB4OGYsMHg1MiwweDIzLDB4ZDUsMHg0ZCwweDg4LDB4MDIsMHhhZSwweDAwLDB4ZGIgfX0sCi0gezE2LCAweDk3NzAsIDAsIHsweDgwLDB4MzYsMHhjMCwweDA4LDB4ODAsMHgwMiwweDIwLDB4MDQsMHhiOCwweDAwLDB4MjIsMHg2MCwweDBkLDB4NzQsMHgwMywweGUwIH19LAotIHsxNiwgMHg5NzgwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNjLDB4YTAsMHg4MCwweDAxLDB4MDgsMHhjMCB9fSwKLSB7MTYsIDB4OTc5MCwgMCwgezB4NGIsMHgzMCwweDgyLDB4NDIsMHg5MCwweGEzLDB4MDgsMHgyYywweGM4LDB4MWEsMHgzMCwweDIyLDB4OGQsMHgwMCwweDkzLDB4MDAgfX0sCi0gezE2LCAweDk3YTAsIDAsIHsweDI0LDB4YzgsMHgwOSwweGEwLDB4MTIsMHgwYywweDA0LDB4YWIsMHgwMCwweDYyLDB4YzAsMHgwOSwweGIwLDB4MDIsMHhjYywweDAwIH19LAotIHsxNiwgMHg5N2IwLCAwLCB7MHhiMywweDAwLDB4MjgsMHg4MCwweDA4LDB4MzYsMHgwNiwweGEyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTdjMCwgMCwgezB4YzAsMHgxNSwweGFjLDB4MDAsMHg4OCwweDA4LDB4MjIsMHhjMCwweDBhLDB4MzAsMHgxYSwweDAwLDB4MTEsMHg4MiwweDAwLDB4MGEgfX0sCi0gezE2LCAweDk3ZDAsIDAsIHsweGMwLDB4MGIsMHhiMCwweDQyLDB4MmMsMHgwMCwweDhiLDB4MDAsMHgyNiwweGMwLDB4MDksMHg5MSwweDAyLDB4ZWMsMHgyMCwweGJiIH19LAotIHsxNiwgMHg5N2UwLCAwLCB7MHgyOCwweDY2LDB4YzAsMHgwOCwweDgwLDB4MDIsMHg2MCwweDAwLDB4YjgsMHgwMCwweDJhLDB4NDAsMHg4MSwweGIwLDB4MDYsMHhmOCB9fSwKLSB7MTYsIDB4OTdmMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTUsMHhlYywweDAyLDB4YzgsMHgwNCwweDNhLDB4YzAgfX0sCi0gezE2LCAweDk4MDAsIDAsIHsweDg5LDB4YjAsMHgwMywweDY4LDB4MDAsMHhlOSwweGMxLDB4MWUsMHhjMSwweDBlLDB4MzAsMHgwMywweGVjLDB4MDAsMHhkYiwweDAwIH19LAotIHsxNiwgMHg5ODEwLCAwLCB7MHgzNiwweGMxLDB4MGQsMHgwMCwweDIzLDB4MGUsMHgwMCwweGViLDB4ODAsMHgzMiwweGM4LDB4Y2QsMHgzMCwweDMyLDB4ZWMsMHgwOCB9fSwKLSB7MTYsIDB4OTgyMCwgMCwgezB4ZjMsMHgwMCwweDNjLDB4ODAsMHgwYywweGIwLDB4MDYsMHg4MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk4MzAsIDAsIHsweGUwLDB4MDEsMHg5YywweDAwLDB4N2MsMHgwMCwweDNmLDB4YzAsMHgwYiwweGIwLDB4NDMsMHhmZCwweDAwLDB4YmUsMHhjNCwweDM3IH19LAotIHsxNiwgMHg5ODQwLCAwLCB7MHhjMCwweDFmLDB4ZjAsMHgwMywweDVjLDB4MDAsMHhmZiwweDAxLDB4M2IsMHhjMCwweDBlLDB4YzgsMHgwMywweGJmLDB4MjAsMHhkZiB9fSwKLSB7MTYsIDB4OTg1MCwgMCwgezB4MDAsMHgzZiwweGQwLDB4MGYsMHhjMCwweDEzLDB4YjAsMHgwMCwweDdjLDB4MDAsMHhiNywweDQwLDB4MGYsMHhmMCwweDFiLDB4YjAgfX0sCi0gezE2LCAweDk4NjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwYywweGQ4LDB4NDEsMHgzMiwweGMwIH19LAotIHsxNiwgMHg5ODcwLCAwLCB7MHgwZSwweGIwLDB4MDcsMHhhOCwweDAxLDB4NjksMHg0MCwweGIyLDB4YzAsMHg4ZCwweGIwLDB4YTMsMHhlYywweDA4LDB4ZjMsMHgwMCB9fSwKLSB7MTYsIDB4OTg4MCwgMCwgezB4MzIsMHhjMCwweDBmLDB4ODAsMHgwMywweGVkLDB4MDAsMHhmYiwweDQ4LDB4M2EsMHhjMCwweDBkLDB4YjAsMHg4MywweDJjLDB4MDAgfX0sCi0gezE2LCAweDk4OTAsIDAsIHsweGZiLDB4MjAsMHgzZSwweDgwLDB4MGYsMHg3MCwweDIzLDB4ZDAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5OGEwLCAwLCB7MHhjOCwweDA1LDB4M2MsMHgwMCwweDg4LDB4MDAsMHgyMywweGMwLDB4MDgsMHhmMCwweDA2LDB4MmMsMHgxMCwweDg4LDB4NTEsMHgzNyB9fSwKLSB7MTYsIDB4OThiMCwgMCwgezB4YzAsMHgwOCwweGYwLDB4MDcsMHg3ZCwweDYwLDB4OGYsMHgwMiwweDM3LDB4YzAsMHgwYiwweDhjLDB4MDAsMHgyZCwweDAwLDB4YjMgfX0sCi0gezE2LCAweDk4YzAsIDAsIHsweDAwLDB4MzgsMHhjMCwweDA4LDB4ODAsMHg4MiwweDIwLDB4MDAsMHhiOCwweDAwLDB4MmUsMHg1MCwweDBiLDB4ZjAsMHgwMCwweDMyIH19LAotIHsxNiwgMHg5OGQwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRjLDB4MDAsMHg5OCwweDAwLDB4MjgsMHhjMCB9fSwKLSB7MTYsIDB4OThlMCwgMCwgezB4MGEsMHgzMCwweDAyLDB4ODQsMHgwNCwweGEzLDB4MDAsMHgwMCwweGMwLDB4NjgsMHgzOSwweDA2LDB4MGMsMHgxMCwweDkzLDB4MjAgfX0sCi0gezE2LCAweDk4ZjAsIDAsIHsweDIyLDB4YzAsMHg5YiwweDAxLDB4YTAsMHg4ZiwweDE0LDB4MzMsMHgxNCwweDI4LDB4YzAsMHgwOSwweDNjLDB4MDIsMHgwYywweDAxIH19LAotIHsxNiwgMHg5OTAwLCAwLCB7MHg5MywweDQwLDB4MmMsMHg4OCwweDBiLDB4MzAsMHgwMiwweGI4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTkxMCwgMCwgezB4NjAsMHgwMSwweDFlLDB4MTAsMHg4NywweDgwLDB4MjksMHhlMCwweDA4LDB4NzgsMHgwMiwweDNlLDB4MDAsMHg4MywweDkwLDB4MjQgfX0sCi0gezE2LCAweDk5MjAsIDAsIHsweGUwLDB4MDgsMHg3OCwweDEwLDB4Y2UsMHgwNCwweDA3LDB4OTEsMHgyNSwweGUwLDB4ODMsMHhjOSwweDAyLDB4MWUsMHgwNCwweGI3IH19LAotIHsxNiwgMHg5OTMwLCAwLCB7MHg4NCwweDJiLDB4YTQsMHgwOCwweDQ4LDB4NDIsMHgxMiwweGNjLDB4YjQsMHg4MCwweDJkLDB4NjQsMHgwYiwweDc4LDB4MDIsMHgxOSB9fSwKLSB7MTYsIDB4OTk0MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDAsMHgyYywweDAwLDB4ZDAsMHgxMCwweDI4LDB4YzggfX0sCi0gezE2LCAweDk5NTAsIDAsIHsweDBlLDB4M2IsMHgwMiwweDg0LDB4MDAsMHhlMywweDQwLDB4MzAsMHhjOCwweDBjLDB4MzgsMHg2MiwweDhjLDB4MDAsMHg1MywweDAwIH19LAotIHsxNiwgMHg5OTYwLCAwLCB7MHgzMCwweGM0LDB4MWYsMHgwMCwweDIzLDB4OGMsMHgzYywweGYzLDB4ODAsMHgxOCwweGMwLDB4MGQsMHgzMCwweDAzLDB4MGUsMHg4MCB9fSwKLSB7MTYsIDB4OTk3MCwgMCwgezB4ZDMsMHgxMCwweDNjLDB4ODAsMHgwZiwweDMwLDB4MDMsMHg5MiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk5ODAsIDAsIHsweDQwLDB4MWQsMHhiZCwweDAwLDB4ZjksMHgxMiwweGI0LDB4YzAsMHgwNywweGIwLDB4MDMsMHhjYywweDAwLDB4NGEsMHgwMCwweDc3IH19LAotIHsxNiwgMHg5OTkwLCAwLCB7MHhjMCwweDBlLDB4NzEsMHg0MywweDZjLDB4MDAsMHhmMywweDAwLDB4M2YsMHhkMCwweDFmLDB4ZDAsMHg1MywweGFjLDB4NjgsMHhmYiB9fSwKLSB7MTYsIDB4OTlhMCwgMCwgezB4MTgsMHgzZCwweGMwLDB4MGYsMHhjMCwweDEzLDB4ZjAsMHg1MCwweGZjLDB4MDQsMHgzZiwweDQwLDB4MGYsMHhmNCwweDAzLDB4OTAgfX0sCi0gezE2LCAweDk5YjAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWQsMHg0MCwweGY4LDB4MDQsMHgzZSwweGQyIH19LAotIHsxNiwgMHg5OWMwLCAwLCB7MHgwZiwweGIzLDB4MTMsMHhlMCwweDEwLDB4ZjksMHgwMCwweGIyLDB4Y2MsMHgwZSwweGJhLDB4MDMsMHg2ZCwweDgwLDB4ZGIsMHgwMiB9fSwKLSB7MTYsIDB4OTlkMCwgMCwgezB4MzIsMHhkYywweDRmLDB4MDAsMHgwMywweDZjLDB4MDQsMHhmMywweDAyLDB4MzYsMHg0MCwweDBlLDB4YjAsMHgwMywweGNjLDB4MDAgfX0sCi0gezE2LCAweDk5ZTAsIDAsIHsweDRiLDB4MDAsMHgzYywweDgwLDB4MGMsMHhmMSwweDAzLDB4NjIsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5OWYwLCAwLCB7MHg0OCwweDExLDB4OWMsMHgwMCwweGI0LDB4MDAsMHgyZCwweGM5LDB4MGIsMHg3MCwweDgyLDB4ZGMsMHgwMCwweGJjLDB4MDQsMHgyMSB9fSwKLSB7MTYsIDB4OWEwMCwgMCwgezB4YzQsMHg0YiwweDM3LDB4MDIsMHgwYywweGEwLDB4OGYsMHg3NCwweDIxLDB4YzAsMHgwYiwweDQwLDB4MDIsMHgxYywweDgxLDB4YjcgfX0sCi0gezE2LCAweDlhMTAsIDAsIHsweDIwLDB4MmIsMHhjMCwweDA4LDB4NDAsMHgwMiwweGQwLDB4MDIsMHg4NCwweDAwLDB4MmQsMHg0MCwweDBhLDB4ZjIsMHgwMiwweDEyIH19LAotIHsxNiwgMHg5YTIwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDllLDB4ODAsMHhiNCwweGMwLDB4MmQsMHhlNCB9fSwKLSB7MTYsIDB4OWEzMCwgMCwgezB4MGIsMHg3YSwweDAyLDB4ZDIsMHgwMCwweGI1LDB4ODgsMHgyMSwweGU4LDB4MGEsMHg3OCwweDAyLDB4ZGUsMHg0MCwweDk3LDB4MDAgfX0sCi0gezE2LCAweDlhNDAsIDAsIHsweDIxLDB4ZTgsMHgwYiwweGNjLDB4NDYsMHg1ZSwweDI4LDB4YjcsMHhjNCwweDIxLDB4ZjAsMHgwYSwweDc4LDB4MDIsMHhmZSwweDA4IH19LAotIHsxNiwgMHg5YTUwLCAwLCB7MHg5NywweDg0LDB4MmQsMHhhMCwweDA4LDB4NzgsMHgwMiwweDcwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWE2MCwgMCwgezB4MDgsMHgxNCwweGNjLDB4MDAsMHhiMCwweGMwLDB4MmMsMHhjMCwweDliLDB4YjAsMHgwMiwweGNjLDB4MjAsMHhiMywweDYwLDB4MjIgfX0sCi0gezE2LCAweDlhNzAsIDAsIHsweGMwLDB4MGIsMHgzMCwweDAyLDB4OGMsMHgwMCwweDgzLDB4MDEsMHgyMCwweGMwLDB4MWIsMHgwNiwweDE2LDB4NGYsMHgwMCwweGIzIH19LAotIHsxNiwgMHg5YTgwLCAwLCB7MHhhMCwweDJhLDB4ZjAsMHgwOCwweDAwLDB4MDIsMHhlMCwweDAwLDB4OTAsMHgwMCwweDJjLDB4NDAsMHgwYSwweDMwLDB4MDIsMHgwMiB9fSwKLSB7MTYsIDB4OWE5MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOCwweDEwLDB4ZmUsMHhjMCwweDNlLDB4ODAgfX0sCi0gezE2LCAweDlhYTAsIDAsIHsweDBmLDB4YTAsMHgwMywweGY5LDB4MDgsMHhmZSwweDQwLDB4MjIsMHg4MCwweDBlLDB4YTAsMHgwMywweGU4LDB4MDAsMHhkMiwweDAwIH19LAotIHsxNiwgMHg5YWIwLCAwLCB7MHgzMiwweDgwLDB4OGYsMHhlMCwweDAzLDB4NTgsMHgwMCwweGY2LDB4MDAsMHgzMywweGIwLDB4MGUsMHgyMCwweDAyLDB4ZTgsMHgwYyB9fSwKLSB7MTYsIDB4OWFjMCwgMCwgezB4ZDIsMHgwMiwweDNjLDB4ODAsMHgwYywweGEwLDB4MDMsMHg3YSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDlhZDAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDAwLDB4ZjgsMHgyMCwweDNlLDB4MDEsMHgwYiwweDgwLDB4MDMsMHhlMCwweDAwLDB4ZjAsMHg0MCwweDNlIH19LAotIHsxNiwgMHg5YWUwLCAwLCB7MHgwMCwweDU3LDB4ODAsMHgyMywweDAwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODQsMHgwMywweGEwLDB4MzAsMHgzOCB9fSwKLSB7MTYsIDB4OWFmMCwgMCwgezB4MDAsMHgzYSwweDA4LDB4MGYsMHhjNCwweDAzLDB4ZjAsMHgwMCwweGVjLDB4MDAsMHgzZiwweDEwLDB4MGYsMHg4MCwweDAzLDB4ZDIgfX0sCi0gezE2LCAweDliMDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGQ5LDB4MDEsMHgzYywweDQ4IH19LAotIHsxNiwgMHg5YjEwLCAwLCB7MHg0YywweDkwLDB4MGIsMHgyNCwweDAxLDB4YzksMHhjMCwweDMyLDB4NDAsMHhhYywweDkwLDB4MDMsMHhlNCwweDAwLDB4ZDksMHg0MCB9fSwKLSB7MTYsIDB4OWIyMCwgMCwgezB4MzAsMHg0MCwweDBkLDB4OWEsMHgwMywweDIyLDB4ODQsMHhjOCwweDE0LDB4MzIsMHg0MCwweDBlLDB4OTAsMHgwMywweDI0LDB4MDAgfX0sCi0gezE2LCAweDliMzAsIDAsIHsweGM5LDB4MDAsMHg4MiwweDY4LDB4MmMsMHg5MCwweDAzLDB4MDIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5YjQwLCAwLCB7MHg4MCwweDA0LDB4NjQsMHgwMCwweDg5LDB4MDAsMHgyZSwweDQwLDB4MDgsMHg5MCwweDIyLDB4MjQsMHgwMCwweDg5LDB4MDIsMHg4MiB9fSwKLSB7MTYsIDB4OWI1MCwgMCwgezB4NDAsMHgwOCwweDkwLDB4MDIsMHhlNywweDQwLDB4ODksMHg4MCwweDM2LDB4NDEsMHg4ZCwweDE4LDB4MDIsMHhhMCwweDI0LDB4YTggfX0sCi0gezE2LCAweDliNjAsIDAsIHsweDA0LDB4NjIsMHg0MCwweDA4LDB4OTQsMHg4MywweDI0LDB4MDAsMHg4OSwweDAxLDB4MjIsMHg3MiwweDA4LDB4OTAsMHgwYiwweDIwIH19LAotIHsxNiwgMHg5YjcwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDA0LDB4MDAsMHg5OSwweDAwLDB4MmEsMHg0MCB9fSwKLSB7MTYsIDB4OWI4MCwgMCwgezB4MjgsMHg5MCwweDEyLDB4MDQsMHgwMCwweDg5LDB4MDAsMHgyMiwweDQwLDB4MDgsMHg5MCwweDAyLDB4YTQsMHgyMCwweDk5LDB4MDAgfX0sCi0gezE2LCAweDliOTAsIDAsIHsweDIyLDB4NDAsMHgxOCwweDkwLDB4MDYsMHgyMCwweDAxLDB4ODgsMHgwOCwweDYyLDB4NDAsMHgwYSwweDkwLDB4MDIsMHgzNCwweDEwIH19LAotIHsxNiwgMHg5YmEwLCAwLCB7MHg4ZCwweDgxLDB4MjMsMHg0MSwweDA4LDB4MTAsMHgwMiwweDA2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWJiMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4ODAsMHg4MSwweDA0LDB4MmMsMHg0OCwweDA4LDB4MTIsMHgwMiwweDA0LDB4MDIsMHg4MywweDIwLDB4MjAgfX0sCi0gezE2LCAweDliYzAsIDAsIHsweDQ4LDB4MDgsMHgxMiwweDAyLDB4YzQsMHg4MCwweDgzLDB4NjAsMHgyNCwweDQ4LDB4MTksMHgzNCwweDYyLDB4YTUsMHgwNCwweGExIH19LAotIHsxNiwgMHg5YmQwLCAwLCB7MHgwMiwweDYwLDB4NDAsMHgwOCwweGQwLDB4MDIsMHg1NCwweDAwLDB4OGQsMHgwMCwweDI5LDB4NDAsMHgwOCwweDEyLDB4ODIsMHgwMiB9fSwKLSB7MTYsIDB4OWJlMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MSwweDQwLDB4ZDgsMHg1MCwweDNhLDB4ODAgfX0sCi0gezE2LCAweDliZjAsIDAsIHsweDBjLDB4ODUsMHgwMiwweDIxLDB4NDQsMHg4OCwweDUwLDB4MzIsMHgxNCwweDRjLDB4ODAsMHg0MywweGUwLDB4MDAsMHhkOCwweDAwIH19LAotIHsxNiwgMHg5YzAwLCAwLCB7MHgyMiwweDE0LDB4MGMsMHg4MCwweDAzLDB4MjAsMHgwMCwweGM4LDB4MDAsMHhhMiwweDAwLDB4MGUsMHg4MCwweDAzLDB4MjAsMHgwMCB9fSwKLSB7MTYsIDB4OWMxMCwgMCwgezB4YzgsMHgwMCwweDMzLDB4MDAsMHgwYywweDgyLDB4MDMsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDljMjAsIDAsIHsweDk4LDB4MWQsMHhlNCwweDQ0LDB4ZmQsMHgwMCwweDNlLDB4NDQsMHgwZiwweDkxLDB4MDMsMHhmNCwweDEwLDB4ZmYsMHgxMCwweDNlIH19LAotIHsxNiwgMHg5YzMwLCAwLCB7MHg0NCwweDBmLDB4OTEsMHgwMywweGU0LDB4NDAsMHhmOSwweDEwLDB4M2UsMHg0NCwweDBiLDB4ZjAsMHgxMywweGU1LDB4MTAsMHhmOSB9fSwKLSB7MTYsIDB4OWM0MCwgMCwgezB4NDAsMHgzZiwweDRhLDB4MmYsMHg5MiwweDhhLDB4YTQsMHhhMiwweGY5LDB4MjgsMHgzNiwweDQwLDB4MGYsMHg5MiwweDgzLDB4YTYgfX0sCi0gezE2LCAweDljNTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDExLDB4ZTYsMHhjMCwweGMxLDB4MDAsMHgzZiwweDY5IH19LAotIHsxNiwgMHg5YzYwLCAwLCB7MHgwYywweDlhLDB4NDMsMHg2YywweDAwLDB4ZmQsMHhhMCwweDNlLDB4NzgsMHgyYywweGQ4LDB4MDcsMHhkNiwweDAyLDB4ZDUsMHg5NiB9fSwKLSB7MTYsIDB4OWM3MCwgMCwgezB4MzIsMHg3OCwweDBkLDB4OTAsMHgwMywweDI3LDB4MDAsMHhmZCwweGEwLDB4MzUsMHg1MCwweDA2LDB4ZDQsMHgwMywweGU1LDB4MDAgfX0sCi0gezE2LCAweDljODAsIDAsIHsweGZkLDB4NDAsMHhiMywweDQwLDB4MGYsMHg5OCwweGEzLDB4NDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5YzkwLCAwLCB7MHgzOCwweDEwLDB4ZTMsMHhjMiwweDg4LDB4ODgsMHgyZSwweDE0LDB4YTgsMHg4YSwweGMyLDB4MjIsMHhhMCwweGI4LDB4YzAsMHgyYyB9fSwKLSB7MTYsIDB4OWNhMCwgMCwgezB4MjQsMHg0OCwweDg0LDB4MDIsMHhlMSwweDAwLDB4OTgsMHhjNCwweDIwLDB4M2MsMHgwOCwweDhhLDB4ODIsMHgyMywweDgwLDB4YjggfX0sCi0gezE2LCAweDljYjAsIDAsIHsweDA0LDB4MjIsMHgyMCwweDA4LDB4ODgsMHgwMywweGEyLDB4MDAsMHhiOCwweGEwLDB4MjIsMHgwMCwweDBiLDB4ODgsMHgwMiwweDBlIH19LAotIHsxNiwgMHg5Y2MwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4ODAsMHhhMSwweDIwLDB4NmMsMHg0MCB9fSwKLSB7MTYsIDB4OWNkMCwgMCwgezB4MGEsMHgxNCwweDAyLDB4NDQsMHgwNCwweGExLDB4NjgsMHgyYywweDQ4LDB4MDgsMHgxNCwweDAyLDB4YzUsMHgwMCwweDgxLDB4NjAgfX0sCi0gezE2LCAweDljZTAsIDAsIHsweDIwLDB4NDgsMHgxOSwweDkwLDB4MDIsMHg4NSwweDgxLDB4YjEsMHg0MCwweDI0LDB4NjgsMHgwYSwweDEyLDB4NDIsMHhjNCwweDgwIH19LAotIHsxNiwgMHg5Y2YwLCAwLCB7MHhiOSwweDIwLDB4MjAsMHg0MCwweDhiLDB4MTAsMHg4MiwweDQyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWQwMCwgMCwgezB4MTgsMHgwNSwweGE0LDB4MTAsMHhhOSwweDAwLDB4NmUsMHhjMCwweDBhLDB4MTAsMHgwMiwweDI0LDB4MTQsMHhiOSwweDAwLDB4MmUgfX0sCi0gezE2LCAweDlkMTAsIDAsIHsweDQwLDB4MDgsMHg5MCwweDEyLDB4ZTQsMHgwMCwweDk5LDB4MDAsMHgyMiwweDQwLDB4MDgsMHg4MCwweDA2LDB4YTAsMHg2MCwweGI5IH19LAotIHsxNiwgMHg5ZDIwLCAwLCB7MHgwOSwweDIyLDB4NjAsMHgwOCwweDkwLDB4MDIsMHhhNCwweDAwLDB4YjksMHgwMCwweDAyLDB4NDAsMHgwYiwweDEwLDB4MDYsMHgwNiB9fSwKLSB7MTYsIDB4OWQzMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MDUsMHhlNCwweDAwLDB4ZTksMHg4MCwweDNlLDB4NDEgfX0sCi0gezE2LCAweDlkNDAsIDAsIHsweDBlLDB4OTAsMHgwMywweDY0LDB4MDAsMHhlOSwweGMwLDB4M2UsMHg0MCwweDBjLDB4OTAsMHgwMiwweGU0LDB4MDAsMHhjOSwweDAwIH19LAotIHsxNiwgMHg5ZDUwLCAwLCB7MHgyMiwweDQxLDB4MGQsMHg4MCwweDAyLDB4YTMsMHgwNCwweGYxLDB4NDAsMHgzNiwweDQwLDB4MGUsMHg5MCwweDAyLDB4ZTQsMHgwMCB9fSwKLSB7MTYsIDB4OWQ2MCwgMCwgezB4ZjEsMHgwMCwweDEyLDB4NDAsMHgwZiwweDkwLDB4MDMsMHg2OCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDlkNzAsIDAsIHsweDI4LDB4MDEsMHhhNCwweDAwLDB4ZDksMHgyMiwweDNlLDB4NDIsMHgwZCwweDkwLDB4MDMsMHhlNCwweDAwLDB4YjksMHhjNCwweDNjIH19LAotIHsxNiwgMHg5ZDgwLCAwLCB7MHg0MCwweDBmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhlOSwweDAyLDB4YWUsMHg0MCwweDBmLDB4ODAsMHg0YiwweDYyLDB4MTAsMHhmOSB9fSwKLSB7MTYsIDB4OWQ5MCwgMCwgezB4MjAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDIsMHg3ZSwweDQxLDB4MGYsMHg5MCwweDEzLDB4Y2EgfX0sCi0gezE2LCAweDlkYTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAwLDB4ODAsMHgwMCwweGM4LDB4MDAsMHgzOCwweDAwIH19LAotIHsxNiwgMHg5ZGIwLCAwLCB7MHgwZiwweDgwLDB4MjAsMHhlMCwweDAwLDB4YTgsMHgyMCwweDMyLDB4MDAsMHgwYywweDgwLDB4MDcsMHhlMCwweDgwLDB4YzgsMHgwMCB9fSwKLSB7MTYsIDB4OWRjMCwgMCwgezB4MzgsMHgwMCwweDBkLDB4ODAsMHg4MywweDIxLDB4MTAsMHhmOCwweDYwLDB4MzIsMHgwMCwweDhlLDB4ODAsMHhiMywweDIwLDB4MDggfX0sCi0gezE2LCAweDlkZDAsIDAsIHsweGY4LDB4MDAsMHgzZSwweDAwLDB4MGMsMHg4MCwweDAzLDB4Y2EsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5ZGUwLCAwLCB7MHgyOCwweDA1LDB4MjgsMHgwNCwweDhhLDB4MDAsMHgzMywweDkwLDB4NDMsMHhhMCwweDIyLDB4MjgsMHgwMCwweDhlLDB4ODAsMHg3NiB9fSwKLSB7MTYsIDB4OWRmMCwgMCwgezB4ODAsMHgwOCwweGUxLDB4MDMsMHgxOSwweDAwLDB4ODYsMHg4MCwweDIyLDB4ODAsMHgwZCwweDYwLDB4MDEsMHg3OCwweDAwLDB4YmUgfX0sCi0gezE2LCAweDllMDAsIDAsIHsweDAwLDB4MzYsMHg4MCwweDBjLDB4ZTQsMHgwMiwweGE4LDB4MTAsMHhiZSwweGEwLDB4MmYsMHg4MCwweDBkLDB4YTAsMHgwMiwweDBhIH19LAotIHsxNiwgMHg5ZTEwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMSwweDRjLDB4MDQsMHgwMywweDA0LDB4MmMsMHhkNCB9fSwKLSB7MTYsIDB4OWUyMCwgMCwgezB4MGIsMHgzMCwweDAyLDB4NGMsMHgwMSwweGEzLDB4YzQsMHgyMCwweGMwLDB4MjgsMHgzNSwweDAyLDB4ODYsMHgwMCwweDgzLDB4ODAgfX0sCi0gezE2LCAweDllMzAsIDAsIHsweDI4LDB4YzAsMHgwOCwweDM4LDB4MDYsMHgwZSwweDk0LDB4MzAsMHhjMCwweGEyLDB4YzAsMHgwYiwweDNjLDB4MDIsMHgwYywweDAwIH19LAotIHsxNiwgMHg5ZTQwLCAwLCB7MHhiMywweDgwLDB4MmMsMHg0OCwweDA4LDB4MzAsMHgwMiwweDhhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWU1MCwgMCwgezB4YTAsMHgwMSwweDBjLDB4MDQsMHg4ZiwweDgwLDB4MjEsMHhjMSwweDFiLDB4NzIsMHg0MiwweDFlLDB4YzAsMHg4MywweDg4LDB4MjEgfX0sCi0gezE2LCAweDllNjAsIDAsIHsweGMwLDB4MTgsMHgyOCwweDA2LDB4MTAsMHgyMSwweDg2LDB4MzgsMHgyMSwweGMwLDB4MTksMHhmNywweDAyLDB4NWQsMHhjMCwweGI0IH19LAotIHsxNiwgMHg5ZTcwLCAwLCB7MHg0MSwweDI3LDB4ZDAsMHgwOCwweDc4LDB4YzYsMHg5YywweDAwLDB4YjcsMHgwMCwweDJmLDB4NjAsMHgwOSwweDcyLDB4MDIsMHgyOCB9fSwKLSB7MTYsIDB4OWU4MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZSwweDAyLDB4YzcsMHg4MCwweDJkLDB4YTAgfX0sCi0gezE2LCAweDllOTAsIDAsIHsweDBmLDB4M2UsMHgwMywweGZlLDB4ODAsMHhhNywweDgwLDB4YTEsMHhlMCwweDBjLDB4NzgsMHgwMiwweDk0LDB4MDAsMHg4NSwweGEwIH19LAotIHsxNiwgMHg5ZWEwLCAwLCB7MHgzOSwweGU0LDB4MGMsMHg3OCwweDEzLDB4MWUsMHg5MCwweGI1LDB4ODQsMHgzMSwweGUwLDB4MGYsMHhmOCwweDg3LDB4MWUsMHgwNCB9fSwKLSB7MTYsIDB4OWViMCwgMCwgezB4ZjcsMHg4MCwweDNkLDB4NjAsMHgwYywweDNiLDB4MDMsMHhhYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDllYzAsIDAsIHsweDA4LDB4MWQsMHhhZCwweGU0LDB4ZmIsMHg1NCwweDNlLDB4ODAsMHgwZiwweGI0LDB4MjMsMHhlYywweDMyLDB4ZmIsMHgwMCwweDNlIH19LAotIHsxNiwgMHg5ZWQwLCAwLCB7MHhkOCwweDRmLDB4YTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHhjMCwweDBmLDB4MzAsMHgzMywweGVjLDB4MDQsMHhmMiB9fSwKLSB7MTYsIDB4OWVlMCwgMCwgezB4MDEsMHgzZSwweGMwLDB4MGYsMHhiMiwweDAzLDB4ZmUsMHgxMCwweGZiLDB4NjgsMHgzYywweDQxLDB4MGYsMHhmMCwweDQzLDB4ODIgfX0sCi0gezE2LCAweDllZjAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDA1LDB4ZmUsMHgwMCwweGNmLDB4ZTQsMHgzZiwweGU0IH19LAotIHsxNiwgMHg5ZjAwLCAwLCB7MHgwYywweGZjLDB4MDMsMHg3ZSwweDgwLDB4Y2YsMHg4MSwweDMzLDB4ZmEsMHgwZiwweGY4LDB4MDMsMHhmNiwweDAwLDB4ZmYsMHg4MCB9fSwKLSB7MTYsIDB4OWYxMCwgMCwgezB4M2YsMHhlMiwweDBmLDB4NzksMHgwMywweDNlLDB4NDAsMHhmNCwweDgwLDB4MzMsMHg2MCwweDBjLDB4ZTgsMHgwMywweDNlLDB4MDAgfX0sCi0gezE2LCAweDlmMjAsIDAsIHsweGZmLDB4ODAsMHgzMywweDYwLDB4MGMsMHhmOCwweDgzLDB4NTAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5ZjMwLCAwLCB7MHhhOCwweDExLDB4OWMsMHgwMCwweGQ3LDB4YTAsMHgyZCwweGM0LDB4MDgsMHhiYSwweDAyLDB4M2MsMHhhMCwweDg3LDB4MjAsMHgyMSB9fSwKLSB7MTYsIDB4OWY0MCwgMCwgezB4YzAsMHgwZiwweDUyLDB4MDMsMHhkNCwweDAwLDB4YjYsMHgxMCwweDJkLDB4YzAsMHg4YiwweDczLDB4MDMsMHg1YywweDQwLDB4YjQgfX0sCi0gezE2LCAweDlmNTAsIDAsIHsweGIwLDB4MmIsMHg0OCwweDI4LDB4NDEsMHgwMiwweDBjLDB4MDAsMHhiZiwweDE4LDB4MzUsMHg0NiwweDI4LDB4NzIsMHg0MiwweDJhIH19LAotIHsxNiwgMHg5ZjYwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwMCwweDljLDB4MDAsMHg4NywweDQxLDB4MmQsMHg0NCB9fSwKLSB7MTYsIDB4OWY3MCwgMCwgezB4MGEsMHg3MywweDAyLDB4OWMsMHhjNCwweDgxLDB4MDAsMHg2ZCwweGM4LDB4OGIsMHg3MCwweDAyLDB4ZDQsMHgwMCwweGI3LDB4MDAgfX0sCi0gezE2LCAweDlmODAsIDAsIHsweDJkLDB4YzAsMHgwYiwweGYwLDB4NDYsMHg5YywweDU1LDB4YjQsMHgyMCwweDI1LDB4NDAsMHgxOCwweDYwLDB4ODIsMHgxYywweDAwIH19LAotIHsxNiwgMHg5ZjkwLCAwLCB7MHhiNywweDAwLDB4MjMsMHg0MCwweDA4LDB4NzAsMHg0NiwweDQ0LDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWZhMCwgMCwgezB4NjAsMHgxNCwweGNjLDB4MDAsMHg5MywweDAwLDB4MmMsMHg0MCwweDBiLDB4YjAsMHgwMiwweDBjLDB4ODIsMHg4MCwweGMwLDB4MjAgfX0sCi0gezE2LCAweDlmYjAsIDAsIHsweGMwLDB4MGEsMHgxMCwweDAyLDB4MDQsMHgwMCwweGIzLDB4MDAsMHgyYywweGMwLDB4MWIsMHgzMCwweDAwLDB4Y2QsMHgwMSwweGIwIH19LAotIHsxNiwgMHg5ZmMwLCAwLCB7MHg0MCwweGFjLDB4NzgsMHg4OCwweDhjLDB4MDYsMHgwZCwweDYwLDB4YjMsMHg0YywweDI0LDB4MTIsMHgwOCwweDMwLDB4MGEsMHgxOCB9fSwKLSB7MTYsIDB4OWZkMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MTUsMHhiYywweDAwLDB4YzcsMHgwMCwweDJlLDB4NDAgfX0sCi0gezE2LCAweDlmZTAsIDAsIHsweDBlLDB4ZjAsMHgyYSwweGJmLDB4MDAsMHhjOCwweGM4LDB4YmYsMHhjMCwweDBiLDB4OTAsMHgwMiwweGU0LDB4MDQsMHhiZiwweDAwIH19LAotIHsxNiwgMHg5ZmYwLCAwLCB7MHgzZiwweGMwLDB4MGYsMHhiMiwweDBhLDB4YWMsMHgwMCwweGY4LDB4ODAsMHgzNCwweDQ5LDB4MGMsMHhiOSwweDBiLDB4M2YsMHgwMCB9fSwKLSB7MTYsIDB4YTAwMCwgMCwgezB4ZmIsMHhjMCwweDMwLDB4ZjAsMHgwYywweGYwLDB4MDMsMHg2ZSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGEwMTAsIDAsIHsweDgwLDB4MDAsMHhjYywweDAwLDB4ZmIsMHg4MCwweDNlLDB4NDEsMHgyYywweGIwLDB4MTMsMHhhYywweDAwLDB4ZjgsMHgwMCwweDNlIH19LAotIHsxNiwgMHhhMDIwLCAwLCB7MHhjMSwweDBmLDB4YTAsMHgwMywweGU4LDB4MDAsMHhmYSwweDQwLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgwYiwweDZkLDB4NDAsMHhmOCB9fSwKLSB7MTYsIDB4YTAzMCwgMCwgezB4MTAsMHgzYSwweDQwLDB4MGYsMHhiMCwweDAzLDB4ZWMsMHgxMCwweGZlLDB4NDAsMHgzZSwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZTEgfX0sCi0gezE2LCAweGEwNDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4ZWMsMHgwYywweGRmLDB4MDAsMHgzYiwweDgwIH19LAotIHsxNiwgMHhhMDUwLCAwLCB7MHgwZiwweGYwLDB4MGIsMHgzYywweDA4LDB4ZTcsMHgwOCwweDMzLDB4YzAsMHgwYiwweGQwLDB4MjMsMHg3NCwweDAwLDB4NTQsMHgwMCB9fSwKLSB7MTYsIDB4YTA2MCwgMCwgezB4MzMsMHhjMCwweDBmLDB4ZjAsMHg4MywweGJlLDB4MjAsMHhmZCwweDBjLDB4M2IsMHg2MCwweDJjLDB4ZTAsMHgwMywweDNjLDB4MDAgfX0sCi0gezE2LCAweGEwNzAsIDAsIHsweGNmLDB4MTIsMHgzMywweDUwLDB4MGMsMHgzMCwweDAzLDB4ODAsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhMDgwLCAwLCB7MHg4MSwweDA0LDB4NmMsMHgwNCwweGFiLDB4MDAsMHgyMiwweGEwLDB4MGIsMHhiMCwweDA2LDB4MGMsMHgwMCwweGFiLDB4NDAsMHgzNiB9fSwKLSB7MTYsIDB4YTA5MCwgMCwgezB4YzAsMHgwYiwweGE4LDB4MDIsMHg2NiwweDAwLDB4YjgsMHgwMCwweDM2LDB4YzEsMHgwYiwweDM0LDB4NDMsMHhlZSwweDAwLDB4YjIgfX0sCi0gezE2LCAweGEwYTAsIDAsIHsweDAwLDB4MjIsMHg2MCwweDA4LDB4YjQsMHg4MiwweDhjLDB4MDQsMHg4YSwweDIxLDB4MjIsMHg0MCwweDA4LDB4YjAsMHgwMiwweDIwIH19LAotIHsxNiwgMHhhMGIwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDAsMHg5YiwweDAwLDB4MmEsMHgyMCB9fSwKLSB7MTYsIDB4YTBjMCwgMCwgezB4MGIsMHhiMCwweDAyLDB4MmMsMHgwMCwweDg4LDB4YzUsMHgyMiwweGMwLDB4MGIsMHg4OCwweDgyLDB4ZTYsMHgwMSwweGJiLDB4MDggfX0sCi0gezE2LCAweGEwZDAsIDAsIHsweDIyLDB4YzAsMHgwYSwweGIyLDB4ODIsMHhhYywweDYwLDB4YjgsMHgwMiwweDRhLDB4YzQsMHgwOCwweGIxLDB4MDIsMHgyYywweDAwIH19LAotIHsxNiwgMHhhMGUwLCAwLCB7MHg4MywweDAwLDB4MjIsMHhjMCwweDA4LDB4YjAsMHgwMiwweGEwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTBmMCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDAsMHhhYiwweDIwLDB4MjAsMHgwMSwweDBiLDB4MzIsMHgwNiwweDJjLDB4MDAsMHhhMCwweDAwLDB4MjAgfX0sCi0gezE2LCAweGExMDAsIDAsIHsweGMwLDB4MDksMHgwNCwweDIyLDB4YzQsMHgwMCwweGIyLDB4MDAsMHgyNCwweGMxLDB4OGIsMHhiMCwweDAyLDB4NGMsMHgwMCwweGIwIH19LAotIHsxNiwgMHhhMTEwLCAwLCB7MHgwMCwweDYyLDB4YzAsMHg0OCwweDMwLDB4MDIsMHhhYywweDEwLDB4ODIsMHgwMCwweDIwLDB4YzAsMHgwOCwweDMwLDB4MDIsMHgwMiB9fSwKLSB7MTYsIDB4YTEyMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg3YywweDA4LDB4ZGYsMHgyYSwweDNhLDB4MDAgfX0sCi0gezE2LCAweGExMzAsIDAsIHsweDBmLDB4ZjUsMHgxMiwweDNjLDB4MTAsMHhjOSwweDAwLDB4YTMsMHhjMCwweDBmLDB4ODAsMHg1MywweGVjLDB4MDEsMHhkYSwweDAwIH19LAotIHsxNiwgMHhhMTQwLCAwLCB7MHgzMywweGMwLDB4MGUsMHhiMCwweDAzLDB4YWMsMHgwNCwweGY4LDB4NzAsMHgzYSwweGMwLDB4MGMsMHg2MCwweDQzLDB4MmMsMHg0MiB9fSwKLSB7MTYsIDB4YTE1MCwgMCwgezB4Y2QsMHgwMCwweGIyLDB4NDAsMHgyYywweGYwLDB4MDMsMHg4MCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGExNjAsIDAsIHsweGEwLDB4MTksMHhmYywweDAwLDB4ZmIsMHgwMSwweDNkLDB4MDAsMHgwZiwweGI0LDB4MTcsMHhmYywweDAwLDB4M2MsMHgwMCwweDNmIH19LAotIHsxNiwgMHhhMTcwLCAwLCB7MHhjMCwweDRmLDB4YzAsMHgwMywweDc0LDB4MDgsMHhmZSwweDAwLDB4M2YsMHhjMCwweDRmLDB4ZjAsMHgwMywweGZjLDB4MDgsMHhmOCB9fSwKLSB7MTYsIDB4YTE4MCwgMCwgezB4MzAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZmMsMHgwNCwweGZjLDB4MDAsMHgzZCwweDAwLDB4MGYsMHhmMCwweDAzLDB4ZTggfX0sCi0gezE2LCAweGExOTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZjQsMHg5MCwweGVmLDB4MDAsMHgzZiwweGQ4IH19LAotIHsxNiwgMHhhMWEwLCAwLCB7MHgwZSwweGYzLDB4MDMsMHgyYywweDAxLDB4ZDQsMHg4MCwweDM3LDB4Y2MsMHgwZCwweDg5LDB4NDMsMHgxMiwweDUwLDB4ZWMsMHgyYyB9fSwKLSB7MTYsIDB4YTFiMCwgMCwgezB4MzIsMHgwNSwweDBkLDB4YjAsMHg1MywweDNjLDB4ZDQsMHhjNSwweDk0LDB4N2YsMHhhMCwweDhmLDB4ZjAsMHg0MywweDMwLDB4MDAgfX0sCi0gezE2LCAweGExYzAsIDAsIHsweGRjLDB4MDAsMHgzMywweDAwLDB4MGMsMHg0OCwweDA3LDB4ZjAsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhMWQwLCAwLCB7MHg4MCwweDEwLDB4ZTYsMHg0MCwweDhiLDB4NzAsMHgyZiwweGRjLDB4MDgsMHhmNywweDAyLDB4MGMsMHg4MCwweDhhLDB4MjAsMHgwMCB9fSwKLSB7MTYsIDB4YTFlMCwgMCwgezB4YzgsMHg0YSwweDIyLDB4MDIsMHhhMCwweDAwLDB4OGEsMHg0OCwweDIyLDB4NTgsMHg4OCwweGZkLDB4MDIsMHhhZCwweDAyLDB4YTkgfX0sCi0gezE2LCAweGExZjAsIDAsIHsweDIwLDB4MWUsMHhhMCwweDAzLDB4ODAsMHgwMiwweDJjLDB4MDQsMHg4YiwweDAwLDB4MjIsMHhjMCwweDRjLDB4ODgsMHgwNywweDYwIH19LAotIHsxNiwgMHhhMjAwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGMwLDB4MDAsMHgyMywweDJjLDB4MmMsMHhjOSB9fSwKLSB7MTYsIDB4YTIxMCwgMCwgezB4MDIsMHgzMCwweDAyLDB4MGMsMHg2OCwweGEwLDB4MjgsMHgyYywweGQwLDB4MDksMHgxMiwweDAyLDB4ODQsMHgwMCwweGEwLDB4MjEgfX0sCi0gezE2LCAweGEyMjAsIDAsIHsweDIwLDB4MTgsMHgxOSwweDMwLDB4MjIsMHg4MCwweGQwLDB4ODMsMHgwNiwweDBjLDB4YTAsMHgwYiwweGIwLDB4MDYsMHgwMCwweDEyIH19LAotIHsxNiwgMHhhMjMwLCAwLCB7MHhhMCwweDAwLDB4MjAsMHgwMCwweDI5LDB4MDAsMHgwZSwweGEyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTI0MCwgMCwgezB4YzAsMHgxMSwweGE4LDB4MzAsMHg4YiwweDAwLDB4MmUsMHhjMCwweDRhLDB4MzAsMHgwYSwweDJjLDB4MTQsMHhhMCwweDgwLDB4MGEgfX0sCi0gezE2LCAweGEyNTAsIDAsIHsweGMxLDB4MDgsMHg4OCwweDg2LDB4ODcsMHgwMCwweDgzLDB4MDAsMHgyMiwweDQ5LDB4MDgsMHhiMCwweDA2LDB4YTAsMHg0MCwweGFiIH19LAotIHsxNiwgMHhhMjYwLCAwLCB7MHgyMCwweDIyLDB4MjAsMHgwYiwweDgwLDB4MGEsMHgwYywweDA0LDB4YWIsMHgwMiwweDIyLDB4YzAsMHg4OCwweDgwLDB4MDIsMHhmMCB9fSwKLSB7MTYsIDB4YTI3MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlZiwweDQwLDB4ZWIsMHgwNiwweDNlLDB4YzAgfX0sCi0gezE2LCAweGEyODAsIDAsIHsweDBlLDB4YjAsMHgwMywweDJjLDB4MDIsMHhmOSwweGEwLDB4M2UsMHhjMCwweDBkLDB4OGMsMHgwMywweGFhLDB4MTAsMHhlOSwweDQwIH19LAotIHsxNiwgMHhhMjkwLCAwLCB7MHhiMiwweDQ4LDB4MGQsMHhiMCwweDQzLDB4YWQsMHgwMCwweGNiLDB4ODYsMHgyZSwweDIwLDB4MGYsMHgzMCwweDAzLDB4MjQsMHgwMCB9fSwKLSB7MTYsIDB4YTJhMCwgMCwgezB4ZjksMHg4MCwweDMyLDB4YzAsMHgwZCwweDBjLDB4YzIsMHg5MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGEyYjAsIDAsIHsweGUwLDB4MDEsMHg5NCwweDAwLDB4ZmYsMHgwMCwweDNkLDB4YzAsMHgwZCwweGYwLDB4MDMsMHg3YywweDAwLDB4ZGYsMHgwMCwweDM3IH19LAotIHsxNiwgMHhhMmMwLCAwLCB7MHhjMCwweDBmLDB4ZTAsMHgwMywweGYwLDB4MDAsMHhmZSwweDIwLDB4M2YsMHg0MCwweDBmLDB4NzAsMHgwMywweGZlLDB4MDAsMHhmZiB9fSwKLSB7MTYsIDB4YTJkMCwgMCwgezB4ODIsMHg3ZiwweDAwLDB4MGYsMHhjMCwweDAzLDB4ZjksMHgwNCwweGRlLDB4MjAsMHhiZCwweDAwLDB4MGYsMHhkOSwweDBiLDB4N2MgfX0sCi0gezE2LCAweGEyZTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMSwweGNiLDB4MDAsMHgzZSwweGMwIH19LAotIHsxNiwgMHhhMmYwLCAwLCB7MHgyYywweGIwLDB4MGIsMHgyYywweDAwLDB4ZTgsMHg0MCwweDNlLDB4YzAsMHgwZiwweDk0LDB4MDcsMHgyOSwweDAwLDB4YzksMHg0MCB9fSwKLSB7MTYsIDB4YTMwMCwgMCwgezB4YjIsMHhjMCwweDBmLDB4YjAsMHgwMywweDAxLDB4MDIsMHhjYiwweDAwLDB4MzIsMHgwNCwweDRmLDB4ZjAsMHg0MywweDM0LDB4YzAgfX0sCi0gezE2LCAweGEzMTAsIDAsIHsweGI1LDB4MWEsMHgzZiwweGMxLDB4MGYsMHg4MCwweDkzLDB4ZDAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhMzIwLCAwLCB7MHhjOCwweDA1LDB4MjgsMHgwMCwweDhmLDB4MDAsMHgyZiwweGMwLDB4MDgsMHhmMCwweDAyLDB4M2MsMHgwNCwweGQ4LDB4MDAsMHgyYiB9fSwKLSB7MTYsIDB4YTMzMCwgMCwgezB4YzAsMHgwYywweDgwLDB4NDUsMHg2MCwweDAwLDB4N2IsMHg1OCwweDIyLDB4YzgsMHgwYiwweGZhLDB4MDEsMHg2MSwweDQwLDB4OGIgfX0sCi0gezE2LCAweGEzNDAsIDAsIHsweDAwLDB4MzIsMHgwNCwweDRiLDB4Y2UsMHgwMiwweDI4LDB4MDAsMHgzYSwweDQwLDB4MmUsMHgwNywweDBiLDB4OTAsMHgwMiwweDI2IH19LAotIHsxNiwgMHhhMzUwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRjLDB4MDAsMHg4MywweDAxLDB4NGMsMHhjMCB9fSwKLSB7MTYsIDB4YTM2MCwgMCwgezB4MGIsMHgzMCwweDAyLDB4ZWMsMHgxMCwweDkwLDB4MDAsMHgyYSwweGMwLDB4MGEsMHg4MCwweDA2LDB4YzAsMHgwNCwweDgzLDB4MDQgfX0sCi0gezE2LCAweGEzNzAsIDAsIHsweGEyLDB4ODksMHgxOSwweDMwLDB4MDYsMHhjYywweDAwLDB4ODMsMHgwMCwweDIwLDB4OTAsMHgwYiwweDMwLDB4YzIsMHg0OCwweDAwIH19LAotIHsxNiwgMHhhMzgwLCAwLCB7MHhiMiwweDQwLDB4MjQsMHgyMCwweDBiLDB4MDksMHgwMCwweGI4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTM5MCwgMCwgezB4MjAsMHgwMSwweDA2LDB4MDQsMHg4NywweGE0LDB4MmQsMHhlMCwweDA5LDB4MzgsMHgwMiwweGRlLDB4MDAsMHg5ZSwweDgxLDB4MjkgfX0sCi0gezE2LCAweGEzYTAsIDAsIHsweGUwLDB4MDgsMHg3OCwweDUyLDB4ZmEsMHhjMCwweDk2LDB4ODAsMHgwMSwweGEwLDB4OGIsMHgzYSwweDIyLDB4Y2UsMHg0MCwweDhmIH19LAotIHsxNiwgMHhhM2IwLCAwLCB7MHhiMCwweDI1LDB4YTAsMHgwYiwweDA4LDB4MDIsMHg1NiwweDA4LDB4YjUsMHg5MCwweDJkLDB4ZTQsMHg0YiwweGQ4LDB4MjIsMHgwYyB9fSwKLSB7MTYsIDB4YTNjMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwOCwweDAyLDB4ODMsMHg4MCwweDJlLDB4ZTggfX0sCi0gezE2LCAweGEzZDAsIDAsIHsweDBiLDB4MzgsMHgxMywweGNlLDB4NDEsMHhkMywweDEwLDB4MjgsMHhjMCwweDBlLDB4M2EsMHgwMiwweGM2LDB4MDgsMHg0YiwweDQwIH19LAotIHsxNiwgMHhhM2UwLCAwLCB7MHgzMCwweDYwLDB4MGQsMHgzYiwweDI3LDB4Y2YsMHhjNCwweGMzLDB4YTAsMHgzMCwweDAwLDB4MGYsMHgzMCwweDQzLDB4NDgsMHg0MCB9fSwKLSB7MTYsIDB4YTNmMCwgMCwgezB4ZjIsMHgwMCwweDNjLDB4MDQsMHgwZiwweDAyLDB4MDMsMHg5MiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE0MDAsIDAsIHsweDQwLDB4MWQsMHhiOCwweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzQsMHgwZSwweGYxLDB4MDMsMHgzYywweDAwLDB4ZmYsMHgwMSwweDMzIH19LAotIHsxNiwgMHhhNDEwLCAwLCB7MHhjMCwweDRkLDB4YjEsMHgwNywweDdjLDB4OTAsMHhmZiwweDAwLDB4M2YsMHg0MCwweDAzLDB4ZjEsMHgwMywweDcwLDB4MDAsMHhmYiB9fSwKLSB7MTYsIDB4YTQyMCwgMCwgezB4MTAsMHgzYiwweDAwLDB4MGYsMHhjMCwweDBiLDB4YjQsMHgwMCwweGZkLDB4MDAsMHgzZiwweGM0LDB4MGYsMHhkMCwweDAzLDB4OTAgfX0sCi0gezE2LCAweGE0MzAsIDAsIHsweDAyLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWMsMHgwNCwweGZiLDB4ODQsMHgzYSwweGMyIH19LAotIHsxNiwgMHhhNDQwLCAwLCB7MHg0YywweGI0LDB4OTMsMHgyYywweDA0LDB4ZTksMHgwMCwweDNhLDB4YzQsMHg4ZCwweDA4LDB4MDMsMHgyZSwweDAwLDB4Y2IsMHgwMSB9fSwKLSB7MTYsIDB4YTQ1MCwgMCwgezB4MzIsMHg4MCwweDhmLDB4YjIsMHg4MywweGVjLDB4MDAsMHhjYiwweDgwLDB4MzIsMHgwMCwweDBmLDB4ZjksMHgwMywweDNjLDB4MTAgfX0sCi0gezE2LCAweGE0NjAsIDAsIHsweGRmLDB4ODEsMHhiMywweGUwLDB4OGMsMHhhMCwweDAzLDB4ZWEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhNDcwLCAwLCB7MHg0OCwweDExLDB4OTQsMHgwOCwweGI3LDB4MDQsMHgyNCwweGM4LDB4MWEsMHgzMCwweDRhLDB4MWQsMHgwMCwweGI3LDB4MDEsMHgyZCB9fSwKLSB7MTYsIDB4YTQ4MCwgMCwgezB4YzAsMHg4OCwweDcwLDB4MDYsMHgxYywweDAwLDB4ODIsMHgwMCwweDIxLDB4ODAsMHg0YiwweDc2LDB4MTIsMHhkYywweDAwLDB4ODcgfX0sCi0gezE2LCAweGE0OTAsIDAsIHsweDAwLDB4MjksMHg0MCwweDhiLDB4NDAsMHgwMiwweDEwLDB4MDAsMHhiYywweDAwLDB4MjAsMHgwMSwweDI4LDB4NzAsMHgwMywweGIyIH19LAotIHsxNiwgMHhhNGEwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDlhLDB4MDAsMHhiMywweDkwLDB4MmQsMHhlNCB9fSwKLSB7MTYsIDB4YTRiMCwgMCwgezB4MDksMHg3OSwweDAyLDB4MWUsMHg4MCwweGE3LDB4ODAsMHgyYywweGU4LDB4MTksMHhmOCwweDEyLDB4NWUsMHgwMSwweDg3LDB4ODAgfX0sCi0gezE2LCAweGE0YzAsIDAsIHsweDI1LDB4ZTAsMHg0YiwweDc4LDB4MDYsMHhkMiwweDAwLDB4OTcsMHg4MCwweDIxLDB4NjIsMHgwYiwweDNhLDB4MDIsMHgxZSwweDAwIH19LAotIHsxNiwgMHhhNGQwLCAwLCB7MHhiNywweDg2LDB4MjksMHhmMCwweDA4LDB4NjgsMHgwNiwweGUwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTRlMCwgMCwgezB4NDgsMHgxNCwweGNmLDB4YzAsMHhiMywweDAwLDB4MjQsMHhjMCwweDhhLDB4MzAsMHgzMiwweDBjLDB4MDAsMHhiMywweDA4LDB4MmMgfX0sCi0gezE2LCAweGE0ZjAsIDAsIHsweGMwLDB4MDgsMHgzMCwweDEyLDB4MGUsMHgyMCwweDgzLDB4MDAsMHgyNCwweGYxLDB4MGIsMHgzMCwweDA2LDB4Y2UsMHgwMCwweDgzIH19LAotIHsxNiwgMHhhNTAwLCAwLCB7MHg5MCwweDI4LDB4NjAsMHgwYiwweDAwLDB4MmEsMHgyMSwweDgwLDB4YjAsMHgwOCwweDI4LDB4MDAsMHgwOCwweDM3LDB4MDIsMHg5MiB9fSwKLSB7MTYsIDB4YTUxMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhiOSwweDAwLDB4ZmEsMHgwMCwweDNlLDB4ODAgfX0sCi0gezE2LCAweGE1MjAsIDAsIHsweDRkLDB4YTAsMHgwMywweDI4LDB4MDAsMHhlZSwweDQxLDB4M2UsMHg4MCwweDBkLDB4ZTAsMHgwMywweDc4LDB4MDAsMHg4ZSwweDQwIH19LAotIHsxNiwgMHhhNTMwLCAwLCB7MHgyNywweGE4LDB4MGIsMHhhMCwweDAzLDB4ZmIsMHgwMiwweGNhLDB4ODIsMHgzMywweGEwLDB4MGYsMHhhMCwweDEzLDB4MjksMHgwMCB9fSwKLSB7MTYsIDB4YTU0MCwgMCwgezB4ZmEsMHg0MCwweDNhLDB4ODAsMHgwYywweDZjLDB4MDMsMHhmYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE1NTAsIDAsIHsweDQ4LDB4MDAsMHhjMCwweDAwLDB4ZjgsMHgwMCwweDNhLDB4MDAsMHgwYywweDgwLDB4MDMsMHhlMCwweDA4LDB4ZjgsMHgwMCwweDNlIH19LAotIHsxNiwgMHhhNTYwLCAwLCB7MHgwMCwweDhmLDB4ODAsMHgyMywweGEwLDB4NDIsMHhmOCwweDA5LDB4YmEsMHgxMCwweDRmLDB4ODAsMHgwMywweGUwLDB4NjAsMHhmOCB9fSwKLSB7MTYsIDB4YTU3MCwgMCwgezB4MDAsMHgzZSwweDIwLDB4MGYsMHhjMCwweDAzLDB4ZjAsMHgwMCwweGZjLDB4MDAsMHgyNywweDAwLDB4OGYsMHg4MCwweDAzLDB4OTIgfX0sCi0gezE2LCAweGE1ODAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTUsMHgwMCwweDg5LDB4MDAsMHgzZSwweDQwIH19LAotIHsxNiwgMHhhNTkwLCAwLCB7MHg2ZSwweDkwLDB4MDMsMHhhNCwweDA4LDB4YzksMHgwMCwweDNjLDB4NDAsMHgwZCwweDkwLDB4MDMsMHgyNCwweDEwLDB4ZjksMHhhMCB9fSwKLSB7MTYsIDB4YTVhMCwgMCwgezB4MzIsMHg0MiwweDBjLDB4OTAsMHgxMywweGM0LDB4MDAsMHhjOSwweDAwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGU0LDB4NDAgfX0sCi0gezE2LCAweGE1YjAsIDAsIHsweGM5LDB4MjAsMHgzZSwweDUyLDB4Y2YsMHg5MCwweDA5LDB4MDIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhNWMwLCAwLCB7MHg4MCwweDA0LDB4NjYsMHgwMCwweDg5LDB4MDQsMHgyZSwweDQwLDB4MDgsMHg5MCwweDAyLDB4MjQsMHgwMCwweGQ5LDB4MDAsMHgzYSB9fSwKLSB7MTYsIDB4YTVkMCwgMCwgezB4NDEsMHgwOCwweDkwLDB4MDUsMHhhNCwweDAwLDB4YjksMHg0MCwweGEyLDB4NDAsMHgwZCwweDkwLDB4MDIsMHhlNSwweDQ2LDB4ODkgfX0sCi0gezE2LCAweGE1ZTAsIDAsIHsweDAwLDB4MmUsMHg0MCwweDBiLDB4OTAsMHgxMiwweGU1LDB4MDAsMHhhOSwweGM4LDB4MmUsMHg2MSwweDhiLDB4OTQsMHg0MiwweDIwIH19LAotIHsxNiwgMHhhNWYwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwMSwweDI0LDB4MDAsMHhhOSwweDAwLDB4NmMsMHg0MCB9fSwKLSB7MTYsIDB4YTYwMCwgMCwgezB4NDgsMHgxMCwweDIyLDB4ODQsMHgwMywweGE5LDB4MDAsMHgyZSwweDQwLDB4MDksMHg5MCwweDAyLDB4ZTQsMHgwNCwweGIxLDB4MDggfX0sCi0gezE2LCAweGE2MTAsIDAsIHsweDI4LDB4NDAsMHgxOCwweDk4LDB4MDIsMHhlNSwweDAwLDB4ODksMHgwMCwweDJlLDB4NDAsMHgwYiwweDkwLDB4MDIsMHhmNCwweDIwIH19LAotIHsxNiwgMHhhNjIwLCAwLCB7MHg4ZCwweDAwLDB4MmYsMHg0MCwweDBiLDB4OTQsMHg0MiwweDg2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTYzMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4ODAsMHhhMSwweDI0LDB4MmMsMHg0OCwweDE4LDB4MTIsMHgwMiwweDA0LDB4ODAsMHhhMSwweDAwLDB4MjggfX0sCi0gezE2LCAweGE2NDAsIDAsIHsweDQ4LDB4MDgsMHgxMCwweDAyLDB4ODQsMHgwMCwweDkxLDB4MjAsMHgyMCwweDQ4LDB4MDksMHgxMiwweDAyLDB4YzQsMHg5NCwweDgxIH19LAotIHsxNiwgMHhhNjUwLCAwLCB7MHgwMCwweDJjLDB4NjEsMHgwYiwweDVhLDB4ODIsMHhkNCwweGEwLDB4YTUsMHgyOCwweDJkLDB4NGEsMHgwYiwweDkwLDB4MDIsMHg4MiB9fSwKLSB7MTYsIDB4YTY2MCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDAyLDB4ZTgsMHg1MCwweDJlLDB4MTQgfX0sCi0gezE2LCAweGE2NzAsIDAsIHsweDBlLDB4ODUsMHgwMywweGExLDB4NDAsMHhhOCwweDUwLDB4M2UsMHgxNCwweDBkLDB4ODUsMHgwMSwweDgxLDB4NDAsMHhmOCwweDUyIH19LAotIHsxNiwgMHhhNjgwLCAwLCB7MHgzMiwweDk0LDB4MGMsMHg4MCwweDEzLDB4YzEsMHg0MiwweGMwLDB4NTEsMHgzZSwweDAwLDB4OGYsMHg4MiwweDAzLDB4ZTAsMHg4MCB9fSwKLSB7MTYsIDB4YTY5MCwgMCwgezB4YzgsMHgyMCwweDNmLDB4MDgsMHgwZiwweDgwLDB4MDMsMHhhZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE2YTAsIDAsIHsweDk4LDB4MTksMHhmNCwweDUwLDB4ZDksMHgxMSwweDNlLDB4NDQsMHg4ZiwweDkxLDB4NDMsMHhlNCwweDQwLDB4ZGQsMHgwMCwweDNhIH19LAotIHsxNiwgMHhhNmIwLCAwLCB7MHg0NCwweDRmLDB4ZDAsMHgyNywweGI0LDB4MDAsMHhmZCwweDEyLDB4M2YsMHg0NCwweDRmLDB4OTEsMHg0MywweGY0LDB4NDAsMHhmZCB9fSwKLSB7MTYsIDB4YTZjMCwgMCwgezB4MDAsMHgzZiwweDQxLDB4MGYsMHg5MiwweDgzLDB4ZTQsMHhhMCwweGY5LDB4MjgsMHgzZSwweDRhLDB4MGYsMHhkMCwweDAzLDB4NjYgfX0sCi0gezE2LCAweGE2ZDAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDExLDB4ZjYsMHg4MCwweGU5LDB4YzAsMHgzZSwweDc4IH19LAotIHsxNiwgMHhhNmUwLCAwLCB7MHg4ZiwweDliLDB4MDMsMHhhNywweDgwLDB4YzksMHg0MCwweDM2LDB4NzgsMHgwZiwweDEwLDB4MjMsMHhlNSwweDA0LDB4ZGQsMHhhNCB9fSwKLSB7MTYsIDB4YTZmMCwgMCwgezB4MzMsMHg2MiwweDBmLDB4ZGEsMHgwMywweGY2LDB4NjAsMHhjOSwweDEwLDB4MzMsMHg0MCwweDBlLDB4OTgsMHg5MywweGU2LDB4MzAgfX0sCi0gezE2LCAweGE3MDAsIDAsIHsweGM5LDB4YzksMHgzMiwweDc4LDB4OGMsMHhkMCwweDBiLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhNzEwLCAwLCB7MHgzOCwweDEwLDB4ZTAsMHgwMCwweDg4LDB4ZTIsMHgyZSwweDMwLDB4MGIsMHg4OCwweDQyLDB4MjMsMHg0MCwweGEwLDB4YTEsMHgyMiB9fSwKLSB7MTYsIDB4YTcyMCwgMCwgezB4MzgsMHgwYiwweDhhLDB4MDIsMHhlMiwweDgwLDB4YWEsMHhlMCwweDIyLDB4MzAsMHgwYiwweDgwLDB4MjMsMHhhYiwweDAyLDB4ODggfX0sCi0gezE2LCAweGE3MzAsIDAsIHsweGEwLDB4MmEsMHgwMCwweDBiLDB4OGMsMHgwMiwweGUzLDB4MDAsMHg4OCwweGUwLDB4MjMsMHgzOCwweDA4LDB4ODAsMHgwMiwweDBlIH19LAotIHsxNiwgMHhhNzQwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM1LDB4MDAsMHhhMSwweDQ0LDB4MjgsMHg1OCB9fSwKLSB7MTYsIDB4YTc1MCwgMCwgezB4NDMsMHgxNiwweDIyLDB4ODQsMHg4MSwweDgxLDB4MjAsMHgyYywweDU4LDB4NDksMHgxMCwweDgwLDB4YzQsMHg4MSwweDkxLDB4NDggfX0sCi0gezE2LCAweGE3NjAsIDAsIHsweDZjLDB4NGEsMHgwYiwweDE0LDB4MDIsMHg0NCwweDg0LDB4ODEsMHgwMSwweDYwLDB4NDAsMHgwYSwweDUyLDB4ODYsMHhkNCwweGEwIH19LAotIHsxNiwgMHhhNzcwLCAwLCB7MHg4NSwweDAwLDB4YTEsMHg1MCwweDY4LDB4OTAsMHgwNiwweGQyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTc4MCwgMCwgezB4MTgsMHgwNSwweGE2LDB4MDAsMHg4OSwweDAwLDB4MmUsMHg0MCwweDBiLDB4OTAsMHgwMiwweDA0LDB4MDAsMHhhOSwweDYwLDB4MjIgfX0sCi0gezE2LCAweGE3OTAsIDAsIHsweDQwLDB4MGIsMHg5NSwweDAyLDB4ZTQsMHgxMCwweGIxLDB4MDAsMHg0ZSwweDQwLDB4MGIsMHg5MCwweDY2LDB4YWMsMHg4MCwweDg5IH19LAotIHsxNiwgMHhhN2EwLCAwLCB7MHgwMCwweDJhLDB4NjAsMHgwYiwweDkwLDB4NTIsMHhmNCwweDAwLDB4ODUsMHgwMCwweDIxLDB4NDAsMHgwOCwweDkwLDB4MDIsMHhjNiB9fSwKLSB7MTYsIDB4YTdiMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MDUsMHhlNiwweDIwLDB4ZTksMHgwMCwweDNlLDB4NDAgfX0sCi0gezE2LCAweGE3YzAsIDAsIHsweDBmLDB4OTAsMHgwMywweGE0LDB4MTAsMHhjOSwweDAwLDB4MzYsMHg0MCwweDBmLDB4OTQsMHgwMSwweGU1LDB4MjAsMHhkOSwweDQwIH19LAotIHsxNiwgMHhhN2QwLCAwLCB7MHhiYSwweDY4LDB4OGYsMHg5MCwweDA3LDB4ZTYsMHgwMCwweGM5LDB4MTAsMHgzMiwweDYyLDB4MGUsMHg5MCwweDAyLDB4ZTQsMHgxOCB9fSwKLSB7MTYsIDB4YTdlMCwgMCwgezB4YzksMHgwMCwweDMyLDB4NDAsMHgwYywweDkwLDB4MDMsMHhlOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE3ZjAsIDAsIHsweDI4LDB4MDEsMHhhNCwweDAwLDB4ZjksMHgwNCwweDNlLDB4NDAsMHgwYiwweDkwLDB4MDMsMHg2NCwweDAwLDB4ZjksMHgwMCwweDNlIH19LAotIHsxNiwgMHhhODAwLCAwLCB7MHg0MCwweDhmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhlOSwweDAyLDB4NzIsMHg2OCwweDBmLDB4OTAsMHgwMywweGU2LDB4MDAsMHhmOSB9fSwKLSB7MTYsIDB4YTgxMCwgMCwgezB4MDEsMHgzZSwweDQyLDB4MGYsMHg5MCwweDAzLDB4YzQsMHgwMiwweGY5LDB4MDQsMHgzZSwweDQwLDB4NGYsMHg5MCwweDAzLDB4MWEgfX0sCi0gezE2LCAweGE4MjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAwLDB4ODAsMHgwMiwweGM4LDB4MDAsMHgzMiwweDAwIH19LAotIHsxNiwgMHhhODMwLCAwLCB7MHgwYywweDgwLDB4MDMsMHg2MCwweDAwLDB4YzgsMHg0MCwweDM2LDB4MDAsMHgwZiwweDg0LDB4MDMsMHhhMCwweDAwLDB4ZDgsMHg1MCB9fSwKLSB7MTYsIDB4YTg0MCwgMCwgezB4YjIsMHgxMCwweDhjLDB4ODEsMHgwMywweGMxLDB4MjAsMHhjOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4YzAsMHgxMywweGYwLDB4MDQgfX0sCi0gezE2LCAweGE4NTAsIDAsIHsweDRjLDB4MDAsMHgzZiwweDAwLDB4MGYsMHg4MCwweDAzLDB4MGEsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhODYwLCAwLCB7MHgyOCwweDE1LDB4MmEsMHgwMCwweDhhLDB4MDQsMHgyMiwweDgxLDB4MjgsMHhhMCwweDEyLDB4MjgsMHgwMCwweDhhLDB4MDEsMHgzNiB9fSwKLSB7MTYsIDB4YTg3MCwgMCwgezB4ODAsMHgwYiwweGEwLDB4MTAsMHgyOCwweDEwLDB4Y2UsMHgwMSwweDIzLDB4ODEsMHgwYywweGE4LDB4MTIsMHhmYiwweDAwLDB4OGEgfX0sCi0gezE2LCAweGE4ODAsIDAsIHsweDAxLDB4M2IsMHg4MCwweDgzLDB4YTAsMHg0MiwweGU4LDB4MTAsMHg4YSwweDAwLDB4MmYsMHg4MCwweDBiLDB4NjAsMHg0MiwweDBhIH19LAotIHsxNiwgMHhhODkwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDAsMHg4MywweDAwLDB4YTAsMHhjMCB9fSwKLSB7MTYsIDB4YThhMCwgMCwgezB4MTgsMHhiMCwweDAwLDB4Y2MsMHgwMCwweDliLDB4MDAsMHgyNCwweGMwLDB4MGIsMHgzMCwweDA2LDB4NmMsMHgwMCwweGEzLDB4MDggfX0sCi0gezE2LCAweGE4YjAsIDAsIHsweDI4LDB4YzgsMHgwOSwweDMwLDB4MDIsMHhjYywweDQzLDB4OGIsMHgwMCwweDJjLDB4ODAsMHgwYiwweDMwLDB4MDIsMHhjYywweDAyIH19LAotIHsxNiwgMHhhOGMwLCAwLCB7MHg4MywweDAxLDB4MmMsMHhjMCwweDRiLDB4MzAsMHgwMCwweDRhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YThkMCwgMCwgezB4YTAsMHgwMSwweDBjLDB4MjQsMHg4NywweDk0LDB4MjEsMHhlNCwweDE4LDB4MzEsMHgwMiwweGRjLDB4ODAsMHg5NywweDEwLDB4MjUgfX0sCi0gezE2LCAweGE4ZTAsIDAsIHsweGNkLDB4MGIsMHhmMiwweDAyLDB4N2MsMHgwMCwweGEwLDB4MDAsMHgyOCwweGUwLDB4MTgsMHg3MCwweDAyLDB4ZGMsMHgwMSwweDg3IH19LAotIHsxNiwgMHhhOGYwLCAwLCB7MHgzNCwweDI5LDB4NDAsMHgwOSwweDQwLDB4MDIsMHhkMCwweDA0LDB4ODQsMHgwNCwweDJkLDB4MDAsMHg0YiwweGQwLDB4MjIsMHg2OCB9fSwKLSB7MTYsIDB4YTkwMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxNiwweDAwLDB4Y2YsMHhhMCwweDcwLDB4ZTkgfX0sCi0gezE2LCAweGE5MTAsIDAsIHsweDE4LDB4N2IsMHgwMywweGZmLDB4NDAsMHg5NywweGEwLDB4MzUsMHhlOCwweDBmLDB4NzQsMHgwMiwweDVlLDB4MjAsMHhlNCwweDgwIH19LAotIHsxNiwgMHhhOTIwLCAwLCB7MHgzOSwweGEwLDB4MmQsMHg3OCwweDAzLDB4ZmUsMHgwMCwweGM3LDB4ODAsMHgzZCwweGUwLDB4NWYsMHg2OCwweDQzLDB4YzIsMHgwMCB9fSwKLSB7MTYsIDB4YTkzMCwgMCwgezB4YzQsMHg4NCwweDFkLDB4NjAsMHgwZiwweDc4LDB4MDMsMHg2YSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE5NDAsIDAsIHsweDA4LDB4MGQsMHhhNCwweDAwLDB4M2IsMHgwMCwweDJlLDB4ZDgsMHgwZiwweGI0LDB4MDMsMHgyZCwweDhhLDB4ZWIsMHg2MiwweDNhIH19LAotIHsxNiwgMHhhOTUwLCAwLCB7MHhkMCwweDBmLDB4YjIsMHg4NywweDBjLDB4ZDAsMHhkOCwweDAwLDB4MzIsMHhjMCwweDRmLDB4OTAsMHg0MywweGVjLDB4MDAsMHhmYiB9fSwKLSB7MTYsIDB4YTk2MCwgMCwgezB4MDgsMHgzZSwweDQwLDB4OGYsMHg5MCwweDAzLDB4ZmMsMHgwMCwweGZmLDB4MDQsMHgzZiwweDgwLDB4MGYsMHgwMCwweDJiLDB4ODIgfX0sCi0gezE2LCAweGE5NzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZjYsMHgwMCwweGZmLDB4YTAsMHgzZSwweGY0IH19LAotIHsxNiwgMHhhOTgwLCAwLCB7MHgwZSwweGI4LDB4MDMsMHhlZSwweDA4LDB4NGIsMHhmMCwweDdmLDB4ZjQsMHgwYywweGY5LDB4MjMsMHhlZSwweDQ4LDB4NzgsMHg5MCB9fSwKLSB7MTYsIDB4YTk5MCwgMCwgezB4MzIsMHhlNCwweDBjLDB4ZjksMHgwMywweGZlLDB4MDAsMHhmZiwweDgwLDB4M2YsMHhlNCwweDFjLDB4NzksMHgwMywweDJlLDB4NDAgfX0sCi0gezE2LCAweGE5YTAsIDAsIHsweGZmLDB4ODAsMHgzMywweGUwLDB4MmMsMHg3OCwweDA3LDB4MDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhOWIwLCAwLCB7MHhhOCwweDExLDB4OTQsMHgwMCwweGIzLDB4MDAsMHgwYywweGU1LDB4MGIsMHgzOCwweDAyLDB4ZmUsMHg4MCwweDhmLDB4ODAsMHg2MSB9fSwKLSB7MTYsIDB4YTljMCwgMCwgezB4YzQsMHgyOCwweDc4LDB4MDAsMHg0ZSwweDAwLDB4ZjQsMHg4NCwweDI1LDB4YTgsMHgwYywweDcwLDB4MDIsMHhjYywweDA0LDB4YjMgfX0sCi0gezE2LCAweGE5ZDAsIDAsIHsweDkwLDB4MjUsMHg0MCwweDBjLDB4NDEsMHg4MywweDUyLDB4NDAsMHhiNCwweDEwLDB4YTMsMHgwMCwweDBjLDB4NTIsMHgwMywweDZhIH19LAotIHsxNiwgMHhhOWUwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDk0LDB4MDAsMHhiNywweDIxLDB4NmQsMHhjOCB9fSwKLSB7MTYsIDB4YTlmMCwgMCwgezB4NGIsMHg3MCwweDAyLDB4ZGMsMHg0MiwweGE3LDB4MzEsMHgyOSwweGM0LDB4MDgsMHg3MiwweDAyLDB4ZGMsMHgwMCwweGI3LDB4MjggfX0sCi0gezE2LCAweGFhMDAsIDAsIHsweDI0LDB4ODAsMHgwOCwweDcwLDB4MDYsMHhkNCwweDIwLDB4YjcsMHgwMSwweDJkLDB4YzEsMHgwOCwweDYwLDB4MDIsMHg1MCwweDgwIH19LAotIHsxNiwgMHhhYTEwLCAwLCB7MHhiNCwweDA4LDB4MjEsMHg2MiwweDA5LDB4NzQsMHgwNiwweDgwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWEyMCwgMCwgezB4MjAsMHgxNCwweGM3LDB4MDQsMHhiMywweDAwLDB4MmMsMHhjMCwweDBiLDB4YjAsMHgwMiwweGNjLDB4MDAsMHhhMywweDAyLDB4NjAgfX0sCi0gezE2LCAweGFhMzAsIDAsIHsweGMwLDB4MDgsMHgzOCwweDAyLDB4NGUsMHg0NCwweGEwLDB4YzAsMHgyNCwweDkxLDB4MDgsMHgzMCwweDAyLDB4YzAsMHgwMCwweGIzIH19LAotIHsxNiwgMHhhYTQwLCAwLCB7MHgwMCwweDI0LDB4NjAsMHgwOCwweDFjLDB4MDIsMHg0YywweDg4LDB4YjMsMHhjMCwweDIwLDB4YTAsMHgwOCwweDAwLDB4MGEsMHg4OCB9fSwKLSB7MTYsIDB4YWE1MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhhYywweDAwLDB4ZmYsMHgwMCwweDJmLDB4YzAgfX0sCi0gezE2LCAweGFhNjAsIDAsIHsweDRmLDB4ZjAsMHgxMywweGZjLDB4MDgsMHhlNywweDhhLDB4M2YsMHhjMCwweDBjLDB4ZjUsMHhjMiwweGZlLDB4MTAsMHhiYiwweGMwIH19LAotIHsxNiwgMHhhYTcwLCAwLCB7MHgzMiwweGQ0LDB4MGMsMHgzMCwweDEzLDB4ZTMsMHgwNCwweGJmLDB4MDAsMHgyZSwweDYyLDB4MDgsMHhiOSwweDAyLDB4NmUsMHgwMCB9fSwKLSB7MTYsIDB4YWE4MCwgMCwgezB4ZmIsMHgwMSwweDMyLDB4YTQsMHg0ZCwweDk0LDB4MDIsMHhhYiwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFhOTAsIDAsIHsweDgwLDB4MDAsMHhlYywweDYwLDB4ZmIsMHgwMCwweDFlLDB4YzAsMHgwZiwweGIwLDB4MTMsMHhlYywweDAwLDB4NWIsMHgwMCwweDNhIH19LAotIHsxNiwgMHhhYWEwLCAwLCB7MHhjMCwweDBmLDB4YjAsMHg0MSwweGVjLDB4MDAsMHg3YiwweDQ1LDB4YmEsMHg0MCwweDJlLDB4YjAsMHgxNSwweGUwLDB4MDEsMHhmYiB9fSwKLSB7MTYsIDB4YWFiMCwgMCwgezB4MDAsMHgzZSwweDUwLDB4MGUsMHhjMCwweDAzLDB4ZjAsMHg0MCwweGZjLDB4MjAsMHgzZiwweDUwLDB4OGYsMHg5MCwweDAxLDB4NjAgfX0sCi0gezE2LCAweGFhYzAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZjQsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMwIH19LAotIHsxNiwgMHhhYWQwLCAwLCB7MHg4ZiwweGYwLDB4MDMsMHgxYywweDAyLDB4Y2YsMHgwMCwweDM2LDB4YzAsMHgwZCwweGYwLDB4MDMsMHg3YywweDAwLDB4N2YsMHgyYSB9fSwKLSB7MTYsIDB4YWFlMCwgMCwgezB4M2YsMHg4MCwweDBmLDB4ZjgsMHgxMywweDkwLDB4MjEsMHhjZiwweDAwLDB4M2YsMHg2MiwweDBjLDB4ZTAsMHgwMywweDMwLDB4MDAgfX0sCi0gezE2LCAweGFhZjAsIDAsIHsweGY4LDB4MDAsMHgzZiwweDAwLDB4MGYsMHhkMCwweDAzLDB4ODAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhYjAwLCAwLCB7MHg4MSwweDA0LDB4NjQsMHgxMSwweGJiLDB4MDAsMHgyZSwweGMwLDB4MGIsMHhiMCwweDAyLDB4MmMsMHgwMCwweGRiLDB4MDQsMHgzMiB9fSwKLSB7MTYsIDB4YWIxMCwgMCwgezB4YzAsMHgwZSwweGIwLDB4MDIsMHhlYywweDAwLDB4YmIsMHg4NCwweDJlLDB4NDAsMHgwYiwweGI5LDB4NDIsMHgyMiwweDQyLDB4OGIgfX0sCi0gezE2LCAweGFiMjAsIDAsIHsweDAxLDB4MmMsMHg3MiwweDBhLDB4OTAsMHg0MiwweDJjLDB4MDAsMHhiYiwweDAwLDB4MmUsMHhjMiwweDhmLDB4ODgsMHgwNiwweGUwIH19LAotIHsxNiwgMHhhYjMwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMSwweDI0LDB4MDAsMHhiYiwweDAwLDB4NmUsMHhjMCB9fSwKLSB7MTYsIDB4YWI0MCwgMCwgezB4NDgsMHhiMCwweDQyLDB4MmMsMHgwMCwweDhiLDB4MDAsMHgyNiwweGMwLDB4MGEsMHhiMCwweDEyLDB4ZWMsMHgwMCwweGJiLDB4NDAgfX0sCi0gezE2LCAweGFiNTAsIDAsIHsweDJlLDB4YzgsMHgwYiwweGIwLDB4MTIsMHgyYywweDAwLDB4OGIsMHgwMCwweDJlLDB4NDgsMHgwYSwweDMwLDB4MDIsMHg2YywweDAwIH19LAotIHsxNiwgMHhhYjYwLCAwLCB7MHhiYiwweDAwLDB4MmUsMHg4MCwweDRiLDB4OTgsMHgwMiwweGUwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWI3MCwgMCwgezB4MDgsMHgwNCwweDA0LDB4MDAsMHhiMywweDAwLDB4NmMsMHhjMiwweDRiLDB4MzEsMHgwMiwweDBjLDB4NTAsMHg5YiwweDIwLDB4MjAgfX0sCi0gezE2LCAweGFiODAsIDAsIHsweGMwLDB4MGEsMHgzMiwweDEyLDB4Y2MsMHg4MCwweGIzLDB4MDAsMHg2YywweDBjLDB4MGIsMHgzMSwweDAyLDB4MGMsMHg0MiwweDgzIH19LAotIHsxNiwgMHhhYjkwLCAwLCB7MHgwOCwweDJlLDB4NDAsMHgwYSwweDAwLDB4MDIsMHgwMCwweDgwLDB4YjAsMHgwMCwweDJjLDB4NDEsMHgwYiwweDEwLDB4MDIsMHg0MiB9fSwKLSB7MTYsIDB4YWJhMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2NCwweDAwLDB4YmIsMHg0MCwweDNmLDB4Y2MgfX0sCi0gezE2LCAweGFiYjAsIDAsIHsweDBlLDB4ZjAsMHg4MywweDNkLDB4YTAsMHhjZiwweDIwLDB4MzcsMHhjMCwweDBjLDB4ZjcsMHhjMywweGZkLDB4NDgsMHhmMywweDAwIH19LAotIHsxNiwgMHhhYmMwLCAwLCB7MHgzZSwweDg4LDB4MGYsMHhiNCwweDEzLDB4YTUsMHgwMCwweDhmLDB4MzAsMHgzZSwweDQwLDB4MGMsMHhhMCwweDAzLDB4NjAsMHg4MCB9fSwKLSB7MTYsIDB4YWJkMCwgMCwgezB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDkwLDB4MjMsMHhjMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFiZTAsIDAsIHsweGEwLDB4MTksMHhmNCwweDAwLDB4ZmYsMHgyOSwweDNmLDB4YzksMHgwZiwweGYwLDB4MTMsMHhmYywweDk0LDB4ZWYsMHgxMiwweDNiIH19LAotIHsxNiwgMHhhYmYwLCAwLCB7MHhjMCwweDhlLDB4YjIsMHgwNywweGZkLDB4MDQsMHhmZiwweDEwLDB4M2YsMHgwYywweDBmLDB4ZjAsMHgwMywweGYwLDB4MDAsMHhmYiB9fSwKLSB7MTYsIDB4YWMwMCwgMCwgezB4MjAsMHgzZCwweDQwLDB4MGYsMHhkMCwweDQzLDB4ZmMsMHg0MCwweGZmLDB4MDQsMHgzZiwweGMwLDB4MGUsMHhjMCwweDQzLDB4ZTggfX0sCi0gezE2LCAweGFjMTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmMsMHhhMiwweGM3LDB4MjAsMHgzZiwweDI0IH19LAotIHsxNiwgMHhhYzIwLCAwLCB7MHgwYywweGYwLDB4MDMsMHgzYywweDgwLDB4Y2MsMHgwOSwweDMzLDB4ZDEsMHgwYywweGYxLDB4MjMsMHhmYywweDIwLDB4ZGYsMHgzNiB9fSwKLSB7MTYsIDB4YWMzMCwgMCwgezB4M2YsMHhjMCwweDBlLDB4NDgsMHgwMywweGZlLDB4MDAsMHhmZiwweDgwLDB4MzcsMHhlNCwweDBkLDB4NzgsMHgwMywweDExLDB4YTAgfX0sCi0gezE2LCAweGFjNDAsIDAsIHsweGNmLDB4MDAsMHgzNywweGM4LDB4MGMsMHhmMCwweDAzLDB4MzAsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhYzUwLCAwLCB7MHg4MCwweDEwLDB4ZmYsMHgwMCwweDhmLDB4ZDEsMHgyZSwweDA4LDB4MGQsMHhiNiwweDEyLDB4M2QsMHg0NSwweGY5LDB4NjQsMHgyNyB9fSwKLSB7MTYsIDB4YWM2MCwgMCwgezB4ZDAsMHg4OCwweGJhLDB4MTQsMHhjYywweDA0LDB4OGYsMHg0MCwweDIzLDB4ZjAsMHgwYiwweDg4LDB4MDIsMHgyZSwweDA0LDB4YmIgfX0sCi0gezE2LCAweGFjNzAsIDAsIHsweDgwLDB4YWUsMHhjMCwweDA4LDB4YjgsMHgwYSwweDIxLDB4MDAsMHg4OCwweGQwLDB4MjIsMHgyMCwweDI4LDB4YjAsMHgwMiwweDIwIH19LAotIHsxNiwgMHhhYzgwLCAwLCB7MHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNjLDB4MDAsMHg5MywweDAwLDB4MmUsMHgwMCB9fSwKLSB7MTYsIDB4YWM5MCwgMCwgezB4MGEsMHgzNCwweDgyLDB4OGMsMHhhMCwweGEwLDB4MDgsMHgyNCwweGQ4LDB4MDksMHgzMSwweDAyLDB4Y2MsMHgyMCwweGIzLDB4MzIgfX0sCi0gezE2LCAweGFjYTAsIDAsIHsweDI4LDB4ZDAsMHg0YSwweDgwLDB4MDIsMHhjYywweDBjLDB4YmIsMHgwMCwweDIyLDB4NDAsMHg4OSwweGIwLDB4MDIsMHg2MCwweDgwIH19LAotIHsxNiwgMHhhY2IwLCAwLCB7MHg5MywweDAwLDB4MjQsMHhkMCwweDBiLDB4MzAsMHgwMiwweGEyLDB4MDEsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWNjMCwgMCwgezB4YzAsMHgxMSwweGFjLDB4MDAsMHg5YiwweDAwLDB4MmUsMHgyMCwweDA5LDB4YjAsMHg0YSwweDJjLDB4MDIsMHhhMCwweDAwLDB4MDYgfX0sCi0gezE2LCAweGFjZDAsIDAsIHsweGMwLDB4MDksMHhiMCwweDAwLDB4ZWMsMHgwMCwweGFiLDB4MDAsMHgyYSwweGMwLDB4MGIsMHg4OCwweDAyLDB4NmMsMHgwMCwweGJiIH19LAotIHsxNiwgMHhhY2UwLCAwLCB7MHgyMCwweDJhLDB4ZTIsMHg0MSwweGI4LDB4MmEsMHg2MCwweDBhLDB4OTgsMHgwMCwweDI2LDB4MDAsMHgwYiwweGIwLDB4MDIsMHhiOCB9fSwKLSB7MTYsIDB4YWNmMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlYywweDA4LDB4ZGIsMHgwMiwweDNlLDB4MjAgfX0sCi0gezE2LCAweGFkMDAsIDAsIHsweDRjLDB4YjAsMHgwMywweDJjLDB4MDIsMHg4YiwweDIwLDB4MTIsMHhjMCwweDI5LDB4YjAsMHgxMiwweGVjLDB4MDAsMHhmYiwweDAwIH19LAotIHsxNiwgMHhhZDEwLCAwLCB7MHgzYSwweGMwLDB4MGUsMHg4OCwweDAzLDB4ZWQsMHgyMCwweGZiLDB4YzgsMHgzNCwweGYwLDB4MGQsMHhiYSwweDAzLDB4NDcsMHg2MCB9fSwKLSB7MTYsIDB4YWQyMCwgMCwgezB4YzksMHgwMCwweDM2LDB4NDAsMHgwZiwweGIwLDB4MGIsMHg5MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFkMzAsIDAsIHsweGUwLDB4MDEsMHg5YywweDAwLDB4ZWYsMHgwMCwweDBmLDB4MDAsMHgwZiwweDMwLDB4MDAsMHhmYywweDAwLDB4ZGYsMHg5MCwweGJiIH19LAotIHsxNiwgMHhhZDQwLCAwLCB7MHhjMCwweGNlLDB4ZjAsMHgwMywweGZjLDB4MDQsMHhjYiwweDAwLDB4MTcsMHhjMCwweDBmLDB4YzAsMHgwMywweGJjLDB4ODQsMHhmZiB9fSwKLSB7MTYsIDB4YWQ1MCwgMCwgezB4MDAsMHgzNywweGMwLDB4MGUsMHhkMCwweDYzLDB4YjgsMHgwMCwweGVhLDB4MDAsMHgzYSwweDgwLDB4MGMsMHgzMCwweDAzLDB4NzAgfX0sCi0gezE2LCAweGFkNjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMCwweGZiLDB4MDIsMHgzMiwweDAwIH19LAotIHsxNiwgMHhhZDcwLCAwLCB7MHgwZiwweGIwLDB4NTMsMHgyYywweDAwLDB4ZmEsMHgwMCwweDMyLDB4YzAsMHg4ZiwweGIwLDB4MDcsMHgyYywweDAwLDB4ZmIsMHgwMCB9fSwKLSB7MTYsIDB4YWQ4MCwgMCwgezB4YjIsMHhjMCwweDBmLDB4ODAsMHgwNywweGFjLDB4ODAsMHhkYiwweDI0LDB4N2UsMHhkMCwweDBlLDB4YjAsMHgyMywweDc0LDB4MDQgfX0sCi0gezE2LCAweGFkOTAsIDAsIHsweGRkLDB4MDgsMHhiNSwweDQwLDB4MGMsMHhiMCwweDAzLDB4MTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhZGEwLCAwLCB7MHhjOCwweDA1LDB4M2MsMHgwMCwweGJmLDB4YzAsMHhhMCwweDAwLDB4MWIsMHhmMCwweDAyLDB4M2YsMHg2MCwweGVhLDB4NTAsMHgyMyB9fSwKLSB7MTYsIDB4YWRiMCwgMCwgezB4YzAsMHgwOCwweGZhLDB4MDcsMHhmYywweDAwLDB4ZGYsMHgwMCwweDYzLDB4YzAsMHg0OCwweDE4LDB4MDIsMHgyZCwweDAwLDB4YjMgfX0sCi0gezE2LCAweGFkYzAsIDAsIHsweDAwLDB4NmUsMHhjMCwweDBkLDB4M2EsMHgwMywweDI0LDB4MDAsMHg4MiwweDgwLDB4MzIsMHg4MCwweDBkLDB4ZjAsMHgwMywweDMyIH19LAotIHsxNiwgMHhhZGQwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRjLDB4MTQsMHhiMywweDU5LDB4MjAsMHg4MCB9fSwKLSB7MTYsIDB4YWRlMCwgMCwgezB4MDksMHgzMCwweDAyLDB4MmUsMHgwNSwweGIwLDB4NDQsMHgyZSwweGMwLDB4MDksMHgzNCwweDgyLDB4ZWMsMHgwMCwweGFiLDB4MDQgfX0sCi0gezE2LCAweGFkZjAsIDAsIHsweDIwLDB4YzAsMHgwOSwweDIxLDB4YjIsMHg4ZSwweDA0LDB4OTMsMHhjMCwweDI0LDB4YzAsMHgwYSwweDE4LDB4MDYsMHg0YywweDAwIH19LAotIHsxNiwgMHhhZTAwLCAwLCB7MHg5MiwweDUwLDB4MjAsMHhjMCwweDA4LDB4MzAsMHgwMiwweDcwLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWUxMCwgMCwgezB4MjAsMHgwMSwweDFlLDB4MDAsMHhiNywweDgwLDB4NjEsMHhlMCwweDBiLDB4NzgsMHgwYSwweDVlLDB4MDEsMHhiMSwweGEwLDB4MmQgfX0sCi0gezE2LCAweGFlMjAsIDAsIHsweGUwLDB4MGEsMHg3OCwweDAyLDB4NWUsMHgwMCwweDA3LDB4OTAsMHgyMSwweGUwLDB4MTgsMHhjOCwweDAyLDB4MWUsMHgwMCwweGI3IH19LAotIHsxNiwgMHhhZTMwLCAwLCB7MHg4MCwweDJkLDB4ZTAsMHg4YSwweGQ4LDB4MDIsMHgzZSwweGMwLDB4ODUsMHg4MCwweDIxLDB4MjAsMHgxOSwweDc4LDB4MjIsMHgwMCB9fSwKLSB7MTYsIDB4YWU0MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDAwLDB4ZjMsMHg5NCwweDIwLDB4MTAgfX0sCi0gezE2LCAweGFlNTAsIDAsIHsweDRiLDB4MzAsMHgwNywweDBjLDB4MDAsMHhmMywweDAwLDB4M2UsMHhjOCwweDBmLDB4MzAsMHgwMywweGNjLDB4MDAsMHgyMywweDEwIH19LAotIHsxNiwgMHhhZTYwLCAwLCB7MHgwMCwweGNiLDB4MDUsMHgyMCwweDAyLDB4OGMsMHg2MCwweDkzLDB4MGEsMHgyZSwweGM0LDB4MGEsMHgwMSwweDA3LDB4NGMsMHg4MCB9fSwKLSB7MTYsIDB4YWU3MCwgMCwgezB4ZDIsMHgwMSwweDMwLDB4YzAsMHgyYywweDMwLDB4MGIsMHg1YSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFlODAsIDAsIHsweDQwLDB4MWQsMHhiYywweDAwLDB4ZmYsMHgwMSwweDBmLDB4NDAsMHgwZiwweGYwLDB4MTMsMHhiYywweDAwLDB4ZWYsMHgyNiwweDczIH19LAotIHsxNiwgMHhhZTkwLCAwLCB7MHhjMiwweDBjLDB4YjAsMHg4MywweGJjLDB4NDAsMHhmZiwweDE4LDB4M2QsMHhjMCwweDRhLDB4YzEsMHgwMywweGZjLDB4MDAsMHhmYiB9fSwKLSB7MTYsIDB4YWVhMCwgMCwgezB4MTIsMHgzZiwweGM0LDB4NGQsMHhjMSwweDBiLDB4ZmMsMHg4MSwweGZkLDB4MDAsMHgzZiwweDIwLDB4MGYsMHhmMCwweDAzLDB4ZDAgfX0sCi0gezE2LCAweGFlYjAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWMsMHgyMCwweGNiLDB4NDgsMHgzZSwweDAwIH19LAotIHsxNiwgMHhhZWMwLCAwLCB7MHgwYywweGIwLDB4MDMsMHgyZCwweDIwLDB4ZTksMHg4MCwweGZhLDB4YzgsMHgwZCwweGIwLDB4MDMsMHhlZSwweDAwLDB4ZGIsMHgyNCB9fSwKLSB7MTYsIDB4YWVkMCwgMCwgezB4NzYsMHhmMywweDhlLDB4ODAsMHgzMywweGVjLDB4NDQsMHhlYiwweDEwLDB4M2UsMHhjMCwweDBmLDB4OTAsMHgwMywweGU4LDB4MDQgfX0sCi0gezE2LCAweGFlZTAsIDAsIHsweGRjLDB4MDAsMHhiMywweDYxLDB4MGMsMHhiMCwweDAzLDB4MmEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhZWYwLCAwLCB7MHg0OCwweDExLDB4OGQsMHgwMCwweDg3LDB4MjAsMHgyZiwweDAxLDB4MjgsMHg3MCwweDAyLDB4MGMsMHg4NCwweDhkLDB4MDQsMHgzMSB9fSwKLSB7MTYsIDB4YWYwMCwgMCwgezB4Y2MsMHhjOSwweDcyLDB4MDIsMHhkZCwweDAwLDB4MzcsMHgzMywweDIxLDB4ZDgsMHgwOCwweDQwLDB4MDIsMHhkYywweDAwLDB4YjcgfX0sCi0gezE2LCAweGFmMTAsIDAsIHsweDIwLDB4M2QsMHhjMCwweDA5LDB4NTAsMHgyMiwweGYwLDB4MDAsMHg5NywweDAwLDB4MjEsMHg4MCwweDBhLDB4ZmMsMHgwMiwweDkyIH19LAotIHsxNiwgMHhhZjIwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDFlLDB4ODIsMHg4NywweGIwLDB4MmQsMHgyMCB9fSwKLSB7MTYsIDB4YWYzMCwgMCwgezB4MDgsMHgzOSwweDAyLDB4MWUsMHg0MSwweGE3LDB4ODAsMHgyNCwweGUwLDB4MDksMHg3YSwweDMyLDB4OGUsMHg4MiwweDA3LDB4YTAgfX0sCi0gezE2LCAweGFmNDAsIDAsIHsweDI1LDB4ZTAsMHg4YiwweDQ4LDB4MDIsMHgxZSwweDAwLDB4YTcsMHhlMSwweDJkLDB4ZTAsMHg0YiwweDU4LDB4MDAsMHhkYSwweDAwIH19LAotIHsxNiwgMHhhZjUwLCAwLCB7MHhhMCwweDgwLDB4MjQsMHg2MCwweDA4LDB4N2EsMHgwMiwweDMwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWY2MCwgMCwgezB4NDgsMHgxNCwweGNjLDB4MDAsMHg4MywweDAwLDB4MmMsMHgwMCwweDA4LDB4MzAsMHgwMiwweDhjLDB4MDAsMHg5MywweDAwLDB4MjIgfX0sCi0gezE2LCAweGFmNzAsIDAsIHsweGMxLDB4MDksMHgzMCwweDQyLDB4Y2MsMHgwMCwweDgzLDB4MDAsMHg2MCwweGMwLDB4MDgsMHgxYSwweDAyLDB4Y2UsMHgwNCwweGIzIH19LAotIHsxNiwgMHhhZjgwLCAwLCB7MHhlMCwweDI4LDB4YTAsMHgwOSwweDFjLDB4ODIsMHg0YiwweDA4LDB4YTMsMHg4MCwweDI0LDB4YTAsMHgyYSwweDMwLDB4MDIsMHg5YSB9fSwKLSB7MTYsIDB4YWY5MCwgMCwgezB4MDQsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOCwweDAwLDB4Y2EsMHgwMCwweDJmLDB4ODggfX0sCi0gezE2LCAweGFmYTAsIDAsIHsweDBjLDB4YTAsMHgxMywweDI4LDB4MDAsMHhlZSwweDAwLDB4MmUsMHg4MCwweDJkLDB4YTAsMHgwMywweGU4LDB4MDAsMHhkYSwweDAwIH19LAotIHsxNiwgMHhhZmIwLCAwLCB7MHg3NiwweDgwLDB4MGUsMHhlOCwweDAzLDB4YmIsMHg4MCwweGVlLDB4NDAsMHgyZiwweGEyLDB4OGYsMHhlNiwweDAzLDB4ZWIsMHg4NiB9fSwKLSB7MTYsIDB4YWZjMCwgMCwgezB4ZmEsMHg4MCwweDM3LDB4ODIsMHgwYywweDIwLDB4MDcsMHgzYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFmZDAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDAwLDB4ZjgsMHg0MCwweDFlLDB4MDAsMHgwZiwweDgwLDB4MGIsMHg2MSwweDAwLDB4ZTgsMHhjMCwweDNhIH19LAotIHsxNiwgMHhhZmUwLCAwLCB7MHgwMCwweDBlLDB4ODAsMHgwMywweGUwLDB4MDEsMHhmOCwweDAwLDB4N2UsMHgxMCwweDFlLDB4ODEsMHgwMywweGUwLDB4MDgsMHhmOCB9fSwKLSB7MTYsIDB4YWZmMCwgMCwgezB4MDAsMHgzZSwweDAwLDB4MGQsMHg4MCwweDAzLDB4YzAsMHgyOCwweGRjLDB4NTAsMHgzYiwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZDIgfX0sCi0gezE2LCAweGIwMDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4YzQsMHgwMiwweGM5LDB4MDAsMHgzZSwweDQyIH19LAotIHsxNiwgMHhiMDEwLCAwLCB7MHgwZiwweDEwLDB4MDMsMHhhNiwweDAwLDB4YzksMHgwMSwweDNhLDB4NDAsMHgwZSwweDk0LDB4MDEsMHhlNCwweDEwLDB4ZjEsMHgwNCB9fSwKLSB7MTYsIDB4YjAyMCwgMCwgezB4MzIsMHg0MCwweDBmLDB4OWEsMHgyMywweDIwLDB4NjAsMHhmOCwweDA0LDB4MGEsMHg0MiwweDBlLDB4OTAsMHgxMywweDI0LDB4MDAgfX0sCi0gezE2LCAweGIwMzAsIDAsIHsweGMxLDB4MDAsMHgzMiwweDQwLDB4MGYsMHg5MCwweDAzLDB4MDIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiMDQwLCAwLCB7MHg4MCwweDA0LDB4NjcsMHgwOCwweGE5LDB4MDAsMHg2ZSwweDQwLDB4MDgsMHg5MCwweDAyLDB4MjcsMHg4MiwweDg5LDB4MDAsMHgyNiB9fSwKLSB7MTYsIDB4YjA1MCwgMCwgezB4NDAsMHgwOCwweDljLDB4MDMsMHhhNCwweDEwLDB4YjksMHgwMCwweDM2LDB4NDAsMHg5YiwweDFjLDB4MWEsMHgyMywweDA0LDB4YjggfX0sCi0gezE2LCAweGIwNjAsIDAsIHsweDAwLDB4M2EsMHg0MCwweDBlLDB4MTAsMHgwMiwweDI0LDB4MDIsMHhjOSwweGEwLDB4YTIsMHg0MCwweDBiLDB4OTAsMHgwYSwweDIwIH19LAotIHsxNiwgMHhiMDcwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI1LDB4ODAsMHg4OSwweDA0LDB4MmMsMHg0MCB9fSwKLSB7MTYsIDB4YjA4MCwgMCwgezB4MDgsMHg5MCwweDAyLDB4ODQsMHg4MSwweDk5LDB4NDAsMHgyZSwweDQwLDB4MWEsMHg5MCwweDA2LDB4ZTQsMHgwMSwweGI5LDB4MDAgfX0sCi0gezE2LCAweGIwOTAsIDAsIHsweGE2LDB4NDEsMHgxYiwweDkwLDB4ODIsMHgyMSwweDAwLDB4YjgsMHgxMCwweDJlLDB4NDAsMHgwYSwweDkyLDB4MGEsMHhhNCwweDAxIH19LAotIHsxNiwgMHhiMGEwLCAwLCB7MHg4ZiwweDIyLDB4MjMsMHg0MCwweDBiLDB4OTAsMHgwMiwweDA2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjBiMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4ODAsMHhhMywweDIwLDB4MmMsMHg0MSwweDA5LDB4MTIsMHgwMiwweDA0LDB4ODAsMHg4MSwweDIwLDB4MjQgfX0sCi0gezE2LCAweGIwYzAsIDAsIHsweDQ4LDB4MGEsMHgzNiwweDAyLDB4YzQsMHg4MCwweGIxLDB4MjAsMHgwNCwweGM4LDB4NGIsMHgxNCwweDAyLDB4MDUsMHgwMCwweGIxIH19LAotIHsxNiwgMHhiMGQwLCAwLCB7MHgwNSwweDI4LDB4NTAsMHgwYSwweDkwLDB4MDIsMHgwNSwweDAyLDB4ODUsMHgwMCwweDIxLDB4NDAsMHgwYiwweDEyLDB4MDIsMHgwMiB9fSwKLSB7MTYsIDB4YjBlMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDAwLDB4YzgsMHgwMCwweDZlLDB4MTQgfX0sCi0gezE2LCAweGIwZjAsIDAsIHsweDJjLDB4ODUsMHgwMiwweGExLDB4NDAsMHhjOCwweDUwLDB4M2EsMHgxNCwweDBlLDB4ODAsMHgwMiwweGUxLDB4NDAsMHhiMCwweDUwIH19LAotIHsxNiwgMHhiMTAwLCAwLCB7MHgzMiwweDAwLDB4MGIsMHg4MCwweDAzLDB4MjAsMHgwMCwweGZhLDB4MDAsMHgzZSwweDAwLDB4MGUsMHg4MCwweDAzLDB4YTAsMHgwMiB9fSwKLSB7MTYsIDB4YjExMCwgMCwgezB4YzgsMHgwMCwweDEzLDB4MDAsMHgwZiwweDgyLDB4MDMsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGIxMjAsIDAsIHsweDk4LDB4MWQsMHhlNCwweDQ4LDB4ZjksMHgxNCwweDNmLDB4NDAsMHgwYywweDkxLDB4MDMsMHhlNCwweDQyLDB4ZmQsMHgxMCwweDM2IH19LAotIHsxNiwgMHhiMTMwLCAwLCB7MHg0NCwweDBkLDB4OTEsMHgyMywweGE0LDB4NDgsMHhmOSwweDExLDB4MzgsMHg0NCwweDBmLDB4ZDAsMHgwMywweGU1LDB4MTQsMHgzOSB9fSwKLSB7MTYsIDB4YjE0MCwgMCwgezB4NDIsMHg3YiwweDQwLDB4OGUsMHhkMCwweDAxLDB4ZjUsMHgwMCwweGE5LDB4NDAsMHgzZSwweDUwLDB4MDcsMHg5NiwweDgzLDB4ZTYgfX0sCi0gezE2LCAweGIxNTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDAxLDB4ZjYsMHg4MCwweGRkLDB4YWUsMHgzYSwweDUwIH19LAotIHsxNiwgMHhiMTYwLCAwLCB7MHgwZCwweDlhLDB4MGIsMHg3NiwweDgwLDB4Y2YsMHg4OCwweDMyLDB4NzAsMHgyZCwweGRhLDB4MDMsMHhhNywweDAxLDB4ZTksMHg5MiB9fSwKLSB7MTYsIDB4YjE3MCwgMCwgezB4MzcsMHg2OCwweDBkLDB4OTQsMHgwMywweGU3LDB4MDAsMHhlZCwweGEwLDB4M2EsMHg1MCwweDBmLDB4ZDAsMHgwMywweGU3LDB4MDIgfX0sCi0gezE2LCAweGIxODAsIDAsIHsweGNkLDB4ODAsMHgzMywweDY4LDB4MGMsMHhkOCwweDgzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiMTkwLCAwLCB7MHgzOCwweDEwLDB4ZTEsMHgwMCwweDg4LDB4NDAsMHgyMCwweDIwLDB4MGMsMHg4YywweDAyLDB4MjMsMHgwMCwweDg4LDB4ZTAsMHgyMiB9fSwKLSB7MTYsIDB4YjFhMCwgMCwgezB4MzAsMHgwOCwweDg0LDB4MDIsMHhlMywweDAwLDB4YjgsMHhlMCwweDIyLDB4MTQsMHg4ZCwweDg4LDB4MDIsMHhlMywweDAwLDB4YjggfX0sCi0gezE2LCAweGIxYjAsIDAsIHsweDUwLDB4MmUsMHhhOCwweDhiLDB4ODAsMHgyMiwweGUzLDB4NDgsMHg4OCwweDUwLDB4MjIsMHgwMCwweDA4LDB4OGMsMHgwMiwweDBlIH19LAotIHsxNiwgMHhiMWMwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4NDAsMHg5MSwweDAwLDB4MmEsMHg0OCB9fSwKLSB7MTYsIDB4YjFkMCwgMCwgezB4MDksMHgxNCwweDgyLDB4MDUsMHgyMCwweDgxLDB4MDgsMHgyMCwweDU4LDB4MDksMHgxMSwweDAyLDB4ODUsMHg4OCwweGIxLDB4NDAgfX0sCi0gezE2LCAweGIxZTAsIDAsIHsweGEwLDB4NDAsMHgwOCwweDEyLDB4MDIsMHhjNSwweDgwLDB4YTEsMHgwMCwweDI4LDB4NDAsMHgwYiwweDE4LDB4MDIsMHhjNCwweDg0IH19LAotIHsxNiwgMHhiMWYwLCAwLCB7MHhhMSwweDAwLDB4MjQsMHg1MCwweDA4LDB4MTAsMHg5MiwweDAzLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjIwMCwgMCwgezB4MTgsMHgxNSwweGFjLDB4MTAsMHg5YiwweDAwLDB4MjIsMHg0MCwweDA4LDB4OTAsMHgwMiwweDA0LDB4MDYsMHg4OSwweDA0LDB4MjAgfX0sCi0gezE2LCAweGIyMTAsIDAsIHsweDQwLDB4MDksMHg5MCwweDAyLDB4ZTQsMHgwMSwweGI5LDB4MDIsMHgyMiwweDQxLDB4ODksMHhhMCwweDgyLDB4ZTAsMHhhMCwweGI5IH19LAotIHsxNiwgMHhiMjIwLCAwLCB7MHgyOCwweDJlLDB4NDQsMHgwYiwweGIwLDB4MDIsMHhlNCwweDAyLDB4YjksMHgwMCwweDI2LDB4NDAsMHgyOCwweDEwLDB4MDIsMHgwNiB9fSwKLSB7MTYsIDB4YjIzMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNCwweDAwLDB4ZDksMHgwMCwweDM4LDB4NDAgfX0sCi0gezE2LCAweGIyNDAsIDAsIHsweDBkLDB4OTAsMHgwMywweDI0LDB4MDAsMHhjOSwweGEwLDB4YTIsMHg0MCwweDhkLDB4OTAsMHgwMywweGE0LDB4MDAsMHhmOSwweDAwIH19LAotIHsxNiwgMHhiMjUwLCAwLCB7MHgzNiwweDQwLDB4MGMsMHg4NCwweDEzLDB4ZTIsMHgwMCwweGU5LDB4MDAsMHgzYSwweDUwLDB4MGYsMHg5YywweDAyLDB4ZTYsMHg4NCB9fSwKLSB7MTYsIDB4YjI2MCwgMCwgezB4ZTksMHgwMCwweGI2LDB4NDAsMHgwYywweDkwLDB4MDMsMHgyOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGIyNzAsIDAsIHsweDI4LDB4MDEsMHhhNCwweDAwLDB4ZTEsMHgwMCwweDNlLDB4NjgsMHgwZSwweDEwLDB4MDMsMHhhNCwweDAwLDB4ZjEsMHgyOCwweDNhIH19LAotIHsxNiwgMHhiMjgwLCAwLCB7MHg0MCwweDBlLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0MiwweDBmLDB4ODAsMHgyMywweGUyLDB4MDAsMHhmOSB9fSwKLSB7MTYsIDB4YjI5MCwgMCwgezB4MDAsMHgzZSwweDQwLDB4MGYsMHg5MSwweDIzLDB4ZTQsMHg0MCwweGMxLDB4MDAsMHgzYSwweDQwLDB4MGYsMHg5MCwweDBiLDB4Y2EgfX0sCi0gezE2LCAweGIyYTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4ODAsMHgwMCwweGM4LDB4MDAsMHgzMiwweDAwIH19LAotIHsxNiwgMHhiMmIwLCAwLCB7MHgwYywweDgwLDB4MDMsMHhhMCwweDIwLDB4YzgsMHg0MCwweDNlLDB4MDAsMHgwZSwweDgxLDB4NjMsMHg2MCwweDAwLDB4ZjAsMHgwNCB9fSwKLSB7MTYsIDB4YjJjMCwgMCwgezB4M2MsMHgwMSwweDBjLDB4ODQsMHgwMywweGUwLDB4MDAsMHhjOCwweDAwLDB4M2UsMHgwMCwweDBlLDB4ODAsMHgwMywweGMxLDB4MDAgfX0sCi0gezE2LCAweGIyZDAsIDAsIHsweGQ4LDB4MTAsMHgzMiwweDAwLDB4MGMsMHg4MCwweDIzLDB4MGEsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiMmUwLCAwLCB7MHgyOCwweDA1LDB4MzgsMHg2MCwweDhlLDB4MDAsMHgyMiwweDgwLDB4MGEsMHhhMCwweDAyLDB4MzgsMHg4MCwweGJlLDB4MDAsMHgzYSB9fSwKLSB7MTYsIDB4YjJmMCwgMCwgezB4ODAsMHgwOCwweGUwLDB4MDIsMHgyOCwweDAwLDB4YmEsMHgwMCwweDIzLDB4OTgsMHgxOCwweGVjLDB4MDIsMHhmOCwweDIwLDB4YWUgfX0sCi0gezE2LCAweGIzMDAsIDAsIHsweDAwLDB4MjIsMHg4MCwweDBiLDB4ZTQsMHg4MiwweGU4LDB4MDIsMHhjZSwweDQ0LDB4MjgsMHg4MCwweDBkLDB4YTAsMHgwYSwweDBhIH19LAotIHsxNiwgMHhiMzEwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDQwLDB4MDAsMHg4MiwweDA0LDB4YTAsMHhjMCB9fSwKLSB7MTYsIDB4YjMyMCwgMCwgezB4MDksMHgzMCwweDAyLDB4OGUsMHgwNCwweDgzLDB4NTAsMHg2YywweGMwLDB4MGEsMHgzMCwweDg2LDB4MGMsMHgwMCwweGIzLDB4MDAgfX0sCi0gezE2LCAweGIzMzAsIDAsIHsweDI4LDB4MzAsMHgwYSwweDM2LDB4MTIsMHhjYywweDgwLDB4ODEsMHgwMCwweDI0LDB4YzAsMHgwYiwweDMyLDB4MDYsMHhjYywweDAwIH19LAotIHsxNiwgMHhiMzQwLCAwLCB7MHg4MCwweDg4LDB4NjQsMHg2MCwweDI4LDB4MTAsMHgwMiwweDAyLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjM1MCwgMCwgezB4YTAsMHgwMSwweDEwLDB4MTIsMHg4NCwweDQwLDB4MjEsMHhjOCwweDBhLDB4NzIsMHgwMiwweDEwLDB4MDAsMHhiNywweDAwLDB4MmQgfX0sCi0gezE2LCAweGIzNjAsIDAsIHsweGNjLDB4MDgsMHgzOCwweDEyLDB4MWMsMHgwMCwweGIzLDB4MzAsMHgyMCwweDAwLDB4MDgsMHg3MSwweDgyLDB4ZmUsMHgwMCwweGE0IH19LAotIHsxNiwgMHhiMzcwLCAwLCB7MHg4MCwweDIxLDB4YzgsMHgwYiwweDcwLDB4MDIsMHhkYywweDAxLDB4ODcsMHgwMCwweDJjLDB4NDIsMHgwOSwweDUxLDB4MDIsMHgyMCB9fSwKLSB7MTYsIDB4YjM4MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxMiwweDAwLDB4YzIsMHg4MCwweDMxLDB4ZjggfX0sCi0gezE2LCAweGIzOTAsIDAsIHsweDRjLDB4ZmMsMHgxMywweDkyLDB4MDksMHhjNywweDgwLDB4M2MsMHhlZCwweDFlLDB4NzgsMHgyNywweDFlLDB4MDAsMHhmNywweDhjIH19LAotIHsxNiwgMHhiM2EwLCAwLCB7MHg3OSwweDIwLDB4MDgsMHg3YSwweDAzLDB4ZGUsMHg4MSwweDg0LDB4ODAsMHgzZCwweGUwLDB4MGUsMHg3OCwweDAzLDB4ZmUsMHgyMCB9fSwKLSB7MTYsIDB4YjNiMCwgMCwgezB4YzUsMHg4MSwweDM1LDB4NjAsMHgyYywweDU4LDB4MDMsMHgyYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGIzYzAsIDAsIHsweDA4LDB4MWQsMHg4MCwweDAwLDB4ZjgsMHgwNCwweDNlLDB4ZDAsMHgwZiwweGIwLDB4MTMsMHhlMCwweDAwLDB4ZmIsMHgwMiwweDNhIH19LAotIHsxNiwgMHhiM2QwLCAwLCB7MHhkMCwweDBmLDB4YTAsMHgwYiwweGFjLDB4NDAsMHhmYiwweDAwLDB4M2EsMHgwMCwweDJmLDB4YjAsMHgwMywweGNjLDB4MDAsMHhmMCB9fSwKLSB7MTYsIDB4YjNlMCwgMCwgezB4MDAsMHgzYSwweGM0LDB4MGYsMHhiMCwweDAzLDB4ZmMsMHg0MSwweGYzLDB4MDAsMHgzYSwweDQwLDB4MGYsMHg1MCwweDkzLDB4YzIgfX0sCi0gezE2LCAweGIzZjAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZjYsMHgwMCwweGNjLDB4ODEsMHgzZiwweGZjIH19LAotIHsxNiwgMHhiNDAwLCAwLCB7MHgxYywweGY4LDB4MDMsMHg3NiwweDQwLDB4ZWYsMHg5MiwweDNmLDB4ZTQsMHg4YywweGY4LDB4MDMsMHhiZiwweDEwLDB4ZmYsMHg4MCB9fSwKLSB7MTYsIDB4YjQxMCwgMCwgezB4YjMsMHgyMCwweDBlLDB4ZjksMHgxMywweGZlLDB4MjQsMHhmZCwweDk0LDB4MzcsMHhlMCwweDFjLDB4ZjksMHgwMywweGVlLDB4MDAgfX0sCi0gezE2LCAweGI0MjAsIDAsIHsweGNkLDB4ODAsMHhiMywweGUwLDB4MGMsMHg1OCwweDAyLDB4MDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiNDMwLCAwLCB7MHhhOCwweDExLDB4OTQsMHg0MCwweDgwLDB4MDAsMHgyZiwweGM0LDB4MDgsMHg3MiwweDAyLDB4ZGQsMHgwOCwweGQ3LDB4MDAsMHgyZCB9fSwKLSB7MTYsIDB4YjQ0MCwgMCwgezB4Y2MsMHgwOCwweGRlLDB4MDMsMHg1YywweDAwLDB4YjcsMHgwNCwweDIxLDB4ODAsMHhjOCwweDcwLDB4ODMsMHhkYywweDAwLDB4YjQgfX0sCi0gezE2LCAweGI0NTAsIDAsIHsweGEwLDB4MmYsMHhjMCwweDBjLDB4NzAsMHgwMiwweGRlLDB4ODAsMHg4NywweDAwLDB4MjEsMHhjMiwweDBhLDB4NTEsMHg0MiwweDJhIH19LAotIHsxNiwgMHhiNDYwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDkwLDB4MDAsMHg4NCwweDAwLDB4MmQsMHhjOCB9fSwKLSB7MTYsIDB4YjQ3MCwgMCwgezB4NDgsMHg3MCwweDAyLDB4NTQsMHgwYywweGE3LDB4MDAsMHgyYywweGMwLDB4ODksMHg3MiwweDAyLDB4NWMsMHgwMCwweGIzLDB4MTAgfX0sCi0gezE2LCAweGI0ODAsIDAsIHsweDIwLDB4MDAsMHgwYSwweDcwLDB4MDYsMHhkYywweDAwLDB4YjQsMHgyMCwweDJkLDB4YzAsMHgwOCwweDcwLDB4MDIsMHhkYywweDgwIH19LAotIHsxNiwgMHhiNDkwLCAwLCB7MHg5MywweDAwLDB4MjAsMHhjMCwweDA4LDB4NTAsMHgwMiwweDAwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjRhMCwgMCwgezB4MjAsMHgxNCwweGMwLDB4MDAsMHg4MCwweDAwLDB4MmUsMHhjMCwweDA4LDB4MzAsMHgwMiwweGM0LDB4MDgsMHhhMiwweDQyLDB4MmMgfX0sCi0gezE2LCAweGI0YjAsIDAsIHsweGMxLDB4MDksMHgyMCwweDAyLDB4NGMsMHgwMCwweGIzLDB4MDAsMHgyMCwweDgwLDB4MDgsMHgzYywweDIyLDB4OGMsMHgyMCwweGIwIH19LAotIHsxNiwgMHhiNGMwLCAwLCB7MHgwOCwweDJlLDB4ZTAsMHgwOCwweDM4LDB4MTAsMHhjZiwweDBhLDB4OTMsMHg0MCwweGEwLDB4ZjAsMHgwYSwweDEwLDB4MDIsMHgwOCB9fSwKLSB7MTYsIDB4YjRkMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhhOCwweDAwLDB4YzEsMHgwMCwweDNmLDB4YzAgfX0sCi0gezE2LCAweGI0ZTAsIDAsIHsweDJjLDB4ZjAsMHgwMywweDY4LDB4MDAsMHhhYSwweDAwLDB4M2YsMHhjMCwweDJkLDB4ODAsMHgwMywweDdjLDB4MDAsMHhmZiwweDAwIH19LAotIHsxNiwgMHhiNGYwLCAwLCB7MHgzMiwweDAwLDB4MGUsMHhiMCwweDEyLDB4ZWQsMHgyNCwweGZhLDB4MDgsMHgyNywweGM4LDB4MTAsMHhiOCwweGEyLDB4ZmYsMHg2MCB9fSwKLSB7MTYsIDB4YjUwMCwgMCwgezB4OTgsMHhhMCwweGEyLDB4ZTAsMHgwYywweDUwLDB4MDMsMHgyYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI1MTAsIDAsIHsweDgwLDB4MDAsMHhjOSwweDA2LDB4ZjgsMHg0MSwweDNlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhlOSwweDEwLDB4NWEsMHgyMCwweDNlIH19LAotIHsxNiwgMHhiNTIwLCAwLCB7MHhjMCwweDBlLDB4ODAsMHgwMywweGVjLDB4MDAsMHhmMywweDAwLDB4N2UsMHgwMSwweDBmLDB4YjAsMHg5MywweGVkLDB4MDAsMHhmOCB9fSwKLSB7MTYsIDB4YjUzMCwgMCwgezB4NDAsMHgzZSwweGMwLDB4MGUsMHhiMCwweDAzLDB4ZmMsMHgwMCwweGUzLDB4MDgsMHgzYywweGMyLDB4MGYsMHhkMCwweDEzLDB4ZTAgfX0sCi0gezE2LCAweGI1NDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZjMsMHgwMiwweGNjLDB4MDAsMHgzYiwweGMyIH19LAotIHsxNiwgMHhiNTUwLCAwLCB7MHgwYywweGYwLDB4MjMsMHhhZSwweDQwLDB4ZGYsMHg4MSwweDM5LDB4YzAsMHgwNiwweGQwLDB4MDMsMHhmYywweDAwLDB4ZmYsMHgwNCB9fSwKLSB7MTYsIDB4YjU2MCwgMCwgezB4MzEsMHg0MSwweDBjLDB4ZjAsMHgwMywweGZjLDB4MDAsMHhjYywweGEwLDB4MzcsMHhjMiwweDBjLDB4ZjAsMHgwMywweDdjLDB4MDQgfX0sCi0gezE2LCAweGI1NzAsIDAsIHsweGNkLDB4MDAsMHgzMywweGYwLDB4MGMsMHhkMCwweDAzLDB4MDgsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiNTgwLCAwLCB7MHg4MSwweDA0LDB4NjAsMHgwMCwweDg4LDB4ODAsMHgyMiwweGMwLDB4MGEsMHhiMCwweDAyLDB4ZTksMHgwMCwweGFiLDB4NDQsMHgyZSB9fSwKLSB7MTYsIDB4YjU5MCwgMCwgezB4YzAsMHgwOCwweDg4LDB4MDIsMHhlYywweDAwLDB4YmIsMHgwMCwweGEyLDB4NzAsMHgwYSwweGI0LDB4MDIsMHhjYywweDAwLDB4YTAgfX0sCi0gezE2LCAweGI1YTAsIDAsIHsweDIwLDB4MjIsMHhjMCwweDBmLDB4YmMsMHgwMiwweGNjLDB4MGEsMHg4YiwweDgwLDB4YTIsMHhjMCwweDBkLDB4OTAsMHgwMiwweDIwIH19LAotIHsxNiwgMHhiNWIwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDIwLDB4MDAsMHg4OSwweDgwLDB4MmEsMHhjMCB9fSwKLSB7MTYsIDB4YjVjMCwgMCwgezB4MDgsMHhiMCwweDAyLDB4Y2MsMHgwNiwweDg4LDB4NjAsMHgyZSwweGMwLDB4MGEsMHg5OCwweDA2LDB4ZWMsMHgwMSwweGJiLDB4MDAgfX0sCi0gezE2LCAweGI1ZDAsIDAsIHsweDIyLDB4MzEsMHgwMiwweGIyLDB4MDIsMHhlYywweGEwLDB4OGEsMHgwMCwweDI2LDB4YzAsMHg0OCwweGE4LDB4MDIsMHhlYywweDA0IH19LAotIHsxNiwgMHhiNWUwLCAwLCB7MHhhOSwweDgwLDB4MjIsMHg0MCwweDA4LDB4OTAsMHgwMiwweDIwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjVmMCwgMCwgezB4MDgsMHgwNCwweDAwLDB4MDAsMHg4MCwweDAwLDB4MjAsMHhjMCwweDBhLDB4MzAsMHg0MiwweGNjLDB4MDAsMHg4MCwweDAxLDB4MmMgfX0sCi0gezE2LCAweGI2MDAsIDAsIHsweGMwLDB4MWEsMHgxMiwweDAyLDB4Y2MsMHgwMCwweGIzLDB4MDAsMHgyMCwweDAwLDB4NGEsMHgzMCwweDAyLDB4Y2MsMHgwMCwweGEwIH19LAotIHsxNiwgMHhiNjEwLCAwLCB7MHgwMCwweDA4LDB4YzAsMHgwYiwweDIwLDB4MDYsMHhlYywweGEwLDB4YTMsMHgwMCwweGEwLDB4NDAsMHgyOSwweDEwLDB4MDAsMHgwMiB9fSwKLSB7MTYsIDB4YjYyMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2MCwweDAwLDB4YzgsMHg1MCwweDNiLDB4YzAgfX0sCi0gezE2LCAweGI2MzAsIDAsIHsweDBjLDB4YjAsMHgwMywweGFjLDB4MDAsMHhjOSwweDAwLDB4M2IsMHhjMCwweDBlLDB4OTIsMHg4MywweGZjLDB4MDAsMHhiZiwweDAwIH19LAotIHsxNiwgMHhiNjQwLCAwLCB7MHgxMiwweDAwLDB4MGMsMHhiMCwweDAzLDB4ZWMsMHgwMCwweDg4LDB4MjYsMHgxNiwweGMwLDB4MGMsMHg4MCwweDE3LDB4NWMsMHg4MCB9fSwKLSB7MTYsIDB4YjY1MCwgMCwgezB4ZTksMHgwMSwweDMyLDB4NDAsMHgyYywweGQwLDB4MDMsMHgwMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI2NjAsIDAsIHsweGEwLDB4MWQsMHhkMCwweDAwLDB4ZmMsMHgyMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmYywweDAwLDB4ZmMsMHgwMCwweDNmIH19LAotIHsxNiwgMHhiNjcwLCAwLCB7MHhjMCwweDBkLDB4ODAsMHgwMywweGZjLDB4MDgsMHhmZiwweDAwLDB4M2YsMHgwMCwweDBmLDB4ZjAsMHgwMywweGZjLDB4MTAsMHhmOCB9fSwKLSB7MTYsIDB4YjY4MCwgMCwgezB4NDAsMHgzNywweGMwLDB4MGUsMHhlMCwweDIxLDB4ZmMsMHgwOCwweGRmLDB4MDAsMHgzZiwweDQwLDB4MGYsMHhkMCwweDAzLDB4ZTAgfX0sCi0gezE2LCAweGI2OTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmMsMHhjMCwweGZmLDB4MjEsMHg3MSwweDI0IH19LAotIHsxNiwgMHhiNmEwLCAwLCB7MHgwZiwweGYxLDB4ODMsMHhmMiwweDQwLDB4ZmYsMHgwMCwweDM3LDB4YzQsMHg5ZiwweGYyLDB4NDcsMHgzZCwweDA0LDB4YzcsMHgyMCB9fSwKLSB7MTYsIDB4YjZiMCwgMCwgezB4MzMsMHhjMCwweDBjLDB4NzgsMHgyMywweGZlLDB4NDAsMHhlOCwweDEwLDB4MjcsMHhjNCwweDBmLDB4ZjIsMHgxMywweDNjLDB4ODQgfX0sCi0gezE2LCAweGI2YzAsIDAsIHsweGM0LDB4ODEsMHgzMywweDIwLDB4NGMsMHhmMCwweDIzLDB4NzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiNmQwLCAwLCB7MHg4MCwweDEwLDB4ZWQsMHg0MCwweGJmLDB4NTQsMHg2MiwweGM4LDB4MGIsMHhmNiwweDAyLDB4ZTAsMHgwMCwweGJiLDB4ZDAsMHgyMiB9fSwKLSB7MTYsIDB4YjZlMCwgMCwgezB4ZjAsMHgxZiwweGY5LDB4MTIsMHgzZCwweDgwLDB4OWYsMHg4MSwweDJiLDB4ZTAsMHgwYSwweGI4LDB4MTIsMHhlOCwweDAwLDB4OGYgfX0sCi0gezE2LCAweGI2ZjAsIDAsIHsweDA0LDB4MjIsMHhkMCwweDA4LDB4YjMsMHg4YSwweGJmLDB4NDIsMHg4YiwweDgyLDB4MjIsMHhlMCwweDI4LDB4OGMsMHgwMiwweDIwIH19LAotIHsxNiwgMHhiNzAwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNjLDB4MDAsMHhiMywweDI4LDB4MjgsMHgwOCB9fSwKLSB7MTYsIDB4YjcxMCwgMCwgezB4MGIsMHgzMCwweDA2LDB4ODAsMHg4MCwweGIzLDB4MDIsMHgyNCwweGQxLDB4MGIsMHgzMCwweDAyLDB4OGQsMHg4MCwweDkzLDB4MTAgfX0sCi0gezE2LCAweGI3MjAsIDAsIHsweDIwLDB4Y2UsMHg4YiwweDMwLDB4MDIsMHhjYywweDg0LDB4YTEsMHgyMSwweDJjLDB4Y2MsMHgwYSwweDMwLDB4MGEsMHg0YywweDAwIH19LAotIHsxNiwgMHhiNzMwLCAwLCB7MHg5MywweDAwLDB4MjgsMHhjMCwweDA4LDB4M2MsMHgwMiwweDIyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Yjc0MCwgMCwgezB4YzAsMHgxNSwweGFjLDB4MTAsMHhiYiwweDAyLDB4NmEsMHhlMCwweDBiLDB4YjAsMHgwMiwweGUxLDB4MDgsMHhiYiwweDA0LDB4MmEgfX0sCi0gezE2LCAweGI3NTAsIDAsIHsweGMwLDB4MGEsMHhiMCwweDEyLDB4OGMsMHgwMCwweDliLDB4MDAsMHgyYSwweGMwLDB4MGIsMHhiMSwweDA2LDB4YzgsMHg4MCwweDhiIH19LAotIHsxNiwgMHhiNzYwLCAwLCB7MHg4MiwweDZhLDB4YzEsMHgwYSwweDMwLDB4MDIsMHhhYywweDE4LDB4ODgsMHgxMCwweDJhLDB4NDgsMHgwOCwweDgwLDB4MDIsMHgzMCB9fSwKLSB7MTYsIDB4Yjc3MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlYywweDAwLDB4ZmIsMHgwMCwweGFhLDB4MzAgfX0sCi0gezE2LCAweGI3ODAsIDAsIHsweDBmLDB4YjAsMHgwMywweGE4LDB4MDAsMHhmMywweDAxLDB4YjYsMHhjMSwweDBiLDB4YjAsMHgwMiwweGFjLDB4MDgsMHg0YiwweDAwIH19LAotIHsxNiwgMHhiNzkwLCAwLCB7MHhiMiwweGMwLDB4MGYsMHhiOCwweDAyLDB4ZWMsMHgxMCwweGE5LDB4ODEsMHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4MGMsMHgwMCB9fSwKLSB7MTYsIDB4YjdhMCwgMCwgezB4Y2IsMHhhMCwweDE4LDB4ZDAsMHgwYywweGIwLDB4MDMsMHgxMCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI3YjAsIDAsIHsweGUwLDB4MDEsMHhiYywweDA4LDB4ZjcsMHgwMCwweDM3LDB4MDAsMHgwZiwweGYwLDB4MDMsMHhmZCwweDAwLDB4ZmYsMHgwMCwweDM3IH19LAotIHsxNiwgMHhiN2MwLCAwLCB7MHhjMCwweDBmLDB4YjAsMHgwNywweDdjLDB4MDAsMHhlNywweDAwLDB4M2UsMHhjMCwweDBhLDB4ZjAsMHgwMywweGZlLDB4MDAsMHhmNyB9fSwKLSB7MTYsIDB4YjdkMCwgMCwgezB4MDAsMHgzNiwweGMwLDB4MGMsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGZmLDB4ODAsMHgzNywweGUwLDB4MGYsMHhhMCwweDAzLDB4YjggfX0sCi0gezE2LCAweGI3ZTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMCwweGRiLDB4MDAsMHgzNiwweDAwIH19LAotIHsxNiwgMHhiN2YwLCAwLCB7MHgwZSwweGIwLDB4MDMsMHg2OSwweDAwLDB4ZGIsMHgwOSwweDNhLDB4YzAsMHgxZiwweDMwLDB4MjMsMHhlYywweDA4LDB4Y2IsMHgyMCB9fSwKLSB7MTYsIDB4YjgwMCwgMCwgezB4MzQsMHhjMCwweDJmLDB4YjAsMHgwMywweGVjLDB4NDAsMHhlYiwweDQ4LDB4M2UsMHhjNCwweDRkLDB4YjAsMHg4YiwweDZjLDB4MDAgfX0sCi0gezE2LCAweGI4MTAsIDAsIHsweGNiLDB4MDAsMHgzMiwweDkwLDB4MGYsMHgzMCwweDAzLDB4OTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiODIwLCAwLCB7MHhjOCwweDA1LDB4M2MsMHgwMCwweDhmLDB4MDAsMHgyMiwweDAwLDB4NDgsMHhmMCwweDIyLDB4MmMsMHgwMCwweDhmLDB4MDAsMHgyMyB9fSwKLSB7MTYsIDB4YjgzMCwgMCwgezB4ZTAsMHg4YiwweGY1LDB4MTAsMHgzYywweDAwLDB4OGYsMHg4MCwweDIzLDB4ZjAsMHg4MCwweDk4LDB4MDMsMHgyZCwweDQ0LDB4ZGIgfX0sCi0gezE2LCAweGI4NDAsIDAsIHsweDAwLDB4MjMsMHhkNCwweDA4LDB4ZjgsMHgwMiwweDNjLDB4MDAsMHg4MywweDAwLDB4MjIsMHhjMCwweDBiLDB4YTQsMHg4MiwweDMyIH19LAotIHsxNiwgMHhiODUwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRjLDB4MDAsMHg5MywweDAwLDB4MjQsMHgwMCB9fSwKLSB7MTYsIDB4Yjg2MCwgMCwgezB4MGIsMHgzMCwweDAyLDB4ODQsMHgwMCwweGIzLDB4MDEsMHgyOCwweGY2LDB4MDksMHgzNCwweDMyLDB4OGMsMHgwMSwweGIzLDB4ZDAgfX0sCi0gezE2LCAweGI4NzAsIDAsIHsweDI0LDB4ZTgsMHgwYSwweDMxLDB4MGEsMHg4NiwweDAwLDB4ODMsMHgwMCwweDJhLDB4ZTAsMHgwMCwweDMwLDB4MDIsMHg4YywweDAwIH19LAotIHsxNiwgMHhiODgwLCAwLCB7MHg4MywweDAwLDB4MjgsMHhjMCwweDg5LDB4MzgsMHhhMiwweDc4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Yjg5MCwgMCwgezB4MjAsMHgwMSwweDFlLDB4MDAsMHg5NywweDk0LDB4MjMsMHhlMCwweDA5LDB4MzgsMHgwMiwweDMyLDB4MDAsMHg5NywweGExLDB4MjEgfX0sCi0gezE2LCAweGI4YTAsIDAsIHsweGU0LDB4MGIsMHg3OCwweDAyLDB4MWUsMHg0MCwweGI3LDB4YTAsMHgyNSwweGVjLDB4MDgsMHhmYywweDAyLDB4M2EsMHgwMCwweDkzIH19LAotIHsxNiwgMHhiOGIwLCAwLCB7MHhiOCwweDIxLDB4ZTAsMHgwOCwweDc4LDB4ODIsMHg5ZSwweDQwLDB4ODcsMHhjMCwweDI5LDB4YTAsMHgwYiwweDU4LDB4MDIsMHg0OCB9fSwKLSB7MTYsIDB4YjhjMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgyYywweDAwLDB4ZGIsMHgwMCwweDM0LDB4MjAgfX0sCi0gezE2LCAweGI4ZDAsIDAsIHsweDBmLDB4M2EsMHgwMywweDhlLDB4MDAsMHhmMywweGIwLDB4MjgsMHhjNCwweDBiLDB4M2EsMHgwMywweGFlLDB4NDAsMHhmMywweGEwIH19LAotIHsxNiwgMHhiOGUwLCAwLCB7MHgzNCwweGVlLDB4MGYsMHgzMCwweDIzLDB4ODQsMHgwMCwweGUzLDB4ZjAsMHgzOCwweGMwLDB4MGMsMHhiMCwweDBiLDB4OGUsMHg0MiB9fSwKLSB7MTYsIDB4YjhmMCwgMCwgezB4YzMsMHgwMCwweDM4LDB4YzAsMHgwZiwweDMwLDB4NjMsMHhkMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI5MDAsIDAsIHsweDQwLDB4MWQsMHhiYywweDAwLDB4ZWIsMHg0MiwweDNhLDB4YzQsMHgxZSwweGIxLDB4MDcsMHg4OCwweGQxLDB4ZTMsMHgwMCwweDNmIH19LAotIHsxNiwgMHhiOTEwLCAwLCB7MHhjNSwweDhmLDB4ZjEsMHg2MywweGFjLDB4MTAsMHhjYiwweDUwLDB4M2IsMHhjMywweDBmLDB4ZDEsMHgwMywweGM4LDB4MDAsMHhiYiB9fSwKLSB7MTYsIDB4YjkyMCwgMCwgezB4MjAsMHgzYiwweGMwLDB4MmUsMHhmMSwweDAzLDB4MWMsMHgwMCwweGZmLDB4MDAsMHgzNywweGMwLDB4NGYsMHhkMSwweDAzLDB4OTAgfX0sCi0gezE2LCAweGI5MzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWMsMHg0MCwweGZiLDB4NDQsMHhiMiwweGMwIH19LAotIHsxNiwgMHhiOTQwLCAwLCB7MHg0ZiwweGIzLDB4NDMsMHgyNCwweDAwLDB4ZGIsMHgxMCwweDM2LDB4YzAsMHg0YywweGJlLDB4MjIsMHg2ZCwweDIwLDB4Y2IsMHg1MCB9fSwKLSB7MTYsIDB4Yjk1MCwgMCwgezB4M2UsMHhjOSwweDRjLDB4YjAsMHgxMywweDI0LDB4MDAsMHhjZiwweDIwLDB4MzMsMHhjMCwweDNkLDB4ZjAsMHgyMywweDJjLDB4YzAgfX0sCi0gezE2LCAweGI5NjAsIDAsIHsweGQ4LDB4MDAsMHgzZSwweDQwLDB4OGYsMHgzMCwweDAzLDB4MmEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiOTcwLCAwLCB7MHg0OCwweDExLDB4OWMsMHgwNCwweGI3LDB4NjAsMHgyMSwweGMxLDB4OGIsMHhmMCwweGEyLDB4MTQsMHgxMCwweDg3LDB4MDAsMHgwZiB9fSwKLSB7MTYsIDB4Yjk4MCwgMCwgezB4YzgsMHgwZCwweDcxLDB4MGEsMHgxZCwweDAwLDB4ODcsMHgwMCwweDJjLDB4Y2MsMHg0OCwweDcwLDB4MmEsMHg5YywweDAwLDB4ODcgfX0sCi0gezE2LCAweGI5OTAsIDAsIHsweDBjLDB4MjEsMHhjMCwweDBjLDB4NzIsMHgwMiwweDBjLDB4YTIsMHg4NywweDAwLDB4MmQsMHhjMCwweDBiLDB4NzAsMHgwMiwweDEyIH19LAotIHsxNiwgMHhiOWEwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDllLDB4MDAsMHhiMywweDgwLDB4MjEsMHhlMCB9fSwKLSB7MTYsIDB4YjliMCwgMCwgezB4MGIsMHg3YSwweDAyLDB4ZGUsMHgwMCwweGI3LDB4ODEsMHgwNSwweGU0LDB4MDgsMHg3OSwweDAyLDB4NWMsMHg4MCwweDg3LDB4YTAgfX0sCi0gezE2LCAweGI5YzAsIDAsIHsweDJkLDB4ZTAsMHgwOCwweGY4LDB4MDYsMHhiNiwweDAwLDB4ODcsMHg4MCwweDIwLDB4ZTQsMHgwYSwweDdiLDB4MTIsMHgxZSwweDkwIH19LAotIHsxNiwgMHhiOWQwLCAwLCB7MHg5NywweDg4LDB4MmQsMHhlMCwweDBiLDB4NzgsMHgwZSwweDMwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjllMCwgMCwgezB4NDgsMHgxNCwweGNjLDB4MDAsMHhiMywweDAwLDB4MjAsMHhkMCwweDBiLDB4YjAsMHgwMiwweDZlLDB4MzQsMHhhMywweDAwLDB4MmMgfX0sCi0gezE2LCAweGI5ZjAsIDAsIHsweGMxLDB4MDksMHgzMCwweDAyLDB4NGMsMHgwMCwweDgzLDB4MDAsMHgyYywweGMwLDB4NDgsMHgxMCwweDAyLDB4OGQsMHg4MCwweDgzIH19LAotIHsxNiwgMHhiYTAwLCAwLCB7MHhjMCwweDAwLDB4YzAsMHg4YSwweDMwLDB4MTIsMHgwYywweDAwLDB4ODAsMHgwMCwweDJjLDB4MTYsMHgwYiwweDM4LDB4MDIsMHgxMiB9fSwKLSB7MTYsIDB4YmExMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOCwweDAwLDB4ZmEsMHgwMCwweDMzLDB4ODggfX0sCi0gezE2LCAweGJhMjAsIDAsIHsweDBmLDB4YTAsMHgwMywweDc5LDB4OTAsMHhmYSwweDAxLDB4MzYsMHg4MCwweDFjLDB4YTAsMHgwMywweDY4LDB4MDAsMHhjYSwweDAwIH19LAotIHsxNiwgMHhiYTMwLCAwLCB7MHgzZSwweDgxLDB4MmMsMHhhMCwweDBiLDB4YjksMHgwYywweGNlLDB4ZTIsMHhiMiwweDgwLDB4OGUsMHhhMCwweDBiLDB4MjgsMHgwMCB9fSwKLSB7MTYsIDB4YmE0MCwgMCwgezB4ZGEsMHg4MCwweDNjLDB4YjAsMHgwZiwweGUwLDB4ODMsMHgzYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJhNTAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDAwLDB4ZjAsMHgwMCwweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhhMCwweDAwLDB4YzgsMHgwMCwweDJlIH19LAotIHsxNiwgMHhiYTYwLCAwLCB7MHgwMCwweDBmLDB4ODQsMHgyMywweGEwLDB4MDAsMHhmMCwweDQwLDB4M2UsMHgxMCwweDBmLDB4ODQsMHgwMywweGUxLDB4MDIsMHhmOCB9fSwKLSB7MTYsIDB4YmE3MCwgMCwgezB4NDgsMHgzZSwweDEwLDB4MGMsMHg4MCwweDAzLDB4YzAsMHgxMCwweGY4LDB4ODAsMHgzZSwweDAwLDB4MGYsMHgwMCwweDAzLDB4ZDIgfX0sCi0gezE2LCAweGJhODAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGQ5LDB4MDAsMHgzNiwweDQyIH19LAotIHsxNiwgMHhiYTkwLCAwLCB7MHgwZiwweDkwLDB4MDMsMHgyNCwweDE4LDB4ZjksMHgxMCwweDNjLDB4NDgsMHg2OCwweDkyLDB4MTMsMHhlNCwweDAwLDB4YTksMHgxMSB9fSwKLSB7MTYsIDB4YmFhMCwgMCwgezB4YjIsMHg2MCwweDBlLDB4OTEsMHgwMywweDI2LDB4MDAsMHhjOSwweDAwLDB4MzIsMHg2MCwweDBjLDB4MTAsMHgwMywweDI0LDB4MDggfX0sCi0gezE2LCAweGJhYjAsIDAsIHsweGM5LDB4MDAsMHgzZSwweDQwLDB4MGMsMHg5MCwweDIzLDB4MDIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiYWMwLCAwLCB7MHg4MCwweDA0LDB4NjQsMHgwMCwweDg5LDB4MDAsMHgyMiwweDQwLDB4MGIsMHg5MCwweDAyLDB4YTQsMHgwOCwweDg5LDB4MDAsMHgyZSB9fSwKLSB7MTYsIDB4YmFkMCwgMCwgezB4NDIsMHg0OCwweDk0LDB4MDIsMHhlNCwweDAwLDB4ODksMHg4MCwweDIyLDB4NzAsMHgwOCwweDE0LDB4MjIsMHhhNCwweDAyLDB4ODkgfX0sCi0gezE2LCAweGJhZTAsIDAsIHsweDQyLDB4MmEsMHg3MCwweDI4LDB4OTAsMHgwYSwweDI0LDB4MDAsMHhhOSwweDAwLDB4MmUsMHg0MCwweDI4LDB4OTAsMHgwMiwweGEwIH19LAotIHsxNiwgMHhiYWYwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDA0LDB4MDAsMHg5OSwweDAwLDB4MjYsMHhjMCB9fSwKLSB7MTYsIDB4YmIwMCwgMCwgezB4MDMsMHg5MCwweDAyLDB4MjQsMHgwMSwweGE5LDB4MDAsMHgwZSwweDQwLDB4MGEsMHg5MCwweDQ2LDB4YzQsMHgwYSwweDg5LDB4MDAgfX0sCi0gezE2LCAweGJiMTAsIDAsIHsweDIwLDB4NDgsMHgwYSwweDkwLDB4MDIsMHgwNSwweDgwLDB4ODEsMHg0MSwweGEwLDB4NTgsMHg4OCwweDkwLDB4MDIsMHgyNCwweDA4IH19LAotIHsxNiwgMHhiYjIwLCAwLCB7MHg4ZCwweDgwLDB4MmYsMHhjMCwweDA4LDB4OTgsMHgwMiwweDA2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmIzMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4ODAsMHg4MSwweDIwLDB4MjAsMHg0MCwweDBiLDB4MTIsMHgwMiwweDg0LDB4MDAsMHg4MSwweDI0LDB4MmMgfX0sCi0gezE2LCAweGJiNDAsIDAsIHsweDU4LDB4MGEsMHgzMiwweDIyLDB4YzUsMHg4NCwweGExLDB4MDAsMHgyMCwweDUwLDB4MDgsMHhiMCwweDAyLDB4ODUsMHgwOCwweDgxIH19LAotIHsxNiwgMHhiYjUwLCAwLCB7MHg0MCwweDIwLDB4NWEsMHgwOCwweDE2LDB4ODIsMHgwNCwweDAwLDB4YTUsMHgwMCwweDJkLDB4NDAsMHgwOCwweDEyLDB4ODIsMHg4MiB9fSwKLSB7MTYsIDB4YmI2MCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MSwweDQwLDB4ZDgsMHg1MCwweDM2LDB4MTQgfX0sCi0gezE2LCAweGJiNzAsIDAsIHsweDBmLDB4ODUsMHgyMywweDAxLDB4NDAsMHhlOCwweDAwLDB4M2UsMHgwMCwweDBlLDB4ODAsMHg0MywweGMwLDB4MDgsMHhjYSwweDAwIH19LAotIHsxNiwgMHhiYjgwLCAwLCB7MHgzMiwweDgwLDB4MGUsMHg4MCwweDAzLDB4MjAsMHgwMCwweGMwLDB4MDAsMHgzMiwweDA4LDB4MmMsMHgwMiwweDAzLDB4MjAsMHgwOCB9fSwKLSB7MTYsIDB4YmI5MCwgMCwgezB4YzgsMHgwMCwweDNmLDB4MDAsMHgwYywweDgyLDB4MDMsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJiYTAsIDAsIHsweDk4LDB4MWQsMHhlNCwweDQwLDB4ZjksMHgxMCwweDNmLDB4NDAsMHgwZiwweDkxLDB4NDMsMHhmNCwweDA0LDB4ZjksMHgxMCwweDNlIH19LAotIHsxNiwgMHhiYmIwLCAwLCB7MHg0NCwweDBkLDB4MTEsMHgwMywweGU0LDB4NDQsMHg1OSwweDQwLDB4M2UsMHg1MCwweDRmLDB4NTAsMHg0MywweGQ0LDB4MDIsMHhmZCB9fSwKLSB7MTYsIDB4YmJjMCwgMCwgezB4NDAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDBiLDB4ZTUsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQwLDB4NGYsMHhkMCwweDAzLDB4ZTYgfX0sCi0gezE2LCAweGJiZDAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4NjYsMHg2MCwweGM5LDB4ZTAsMHgzMiwweDQ0IH19LAotIHsxNiwgMHhiYmUwLCAwLCB7MHgwZiwweDljLDB4MDMsMHhlNCwweDAwLDB4ZGQsMHg4NCwweDNmLDB4NjgsMHg4ZiwweGQ4LDB4NDIsMHhlNiwweGEwLDB4ZGQsMHhhNCB9fSwKLSB7MTYsIDB4YmJmMCwgMCwgezB4MzMsMHg2OCwweDBkLDB4NzAsMHgwMywweDI1LDB4MDAsMHhjOSwweGUwLDB4YjIsMHg2OCwweDBjLDB4OWEsMHhjMywweDI2LDB4MDAgfX0sCi0gezE2LCAweGJjMDAsIDAsIHsweDk5LDB4MDAsMHgzZSwweDQwLDB4MGYsMHg5YSwweDAzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiYzEwLCAwLCB7MHgzOCwweDEwLDB4ZTMsMHgwMCwweDg4LDB4ODAsMHhhYSwweDIwLDB4OGIsMHg4OCwweDAyLDB4ZTIsMHg4OCwweGI4LDB4MDEsMHgyZSB9fSwKLSB7MTYsIDB4YmMyMCwgMCwgezB4MDAsMHgwYiwweDg0LDB4MDIsMHhlMiwweGIwLDB4ODgsMHg1MCwweDIyLDB4MTQsMHgwOCwweDgwLDB4MDIsMHg4MiwweDgwLDB4ODggfX0sCi0gezE2LCAweGJjMzAsIDAsIHsweGUwLDB4YjYsMHgzYSwweDA4LDB4Y2UsMHhhMiwweDIxLDB4MDgsMHg4OCwweDAwLDB4MmUsMHgwMCwweDBiLDB4YzQsMHgwMiwweDBlIH19LAotIHsxNiwgMHhiYzQwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4ODAsMHg4MSwweDYwLDB4NjgsMHg0OCB9fSwKLSB7MTYsIDB4YmM1MCwgMCwgezB4NWIsMHgxNiwweDAyLDB4YzQsMHgyMCwweGExLDB4NDAsMHg2YywweDUwLDB4MGIsMHgxNCwweDAyLDB4YzQsMHgwMCwweGExLDB4MDAgfX0sCi0gezE2LCAweGJjNjAsIDAsIHsweDI0LDB4NDAsMHgwYiwweDkwLDB4MjIsMHgxNCwweDkwLDB4ODUsMHg0MiwweDIxLDB4NTAsMHg1YiwweDUwLDB4MWEsMHgxNSwweDAwIH19LAotIHsxNiwgMHhiYzcwLCAwLCB7MHg5NSwweDAwLDB4MmQsMHg0MCwweDBiLDB4NTEsMHgwYSwweDgyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmM4MCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MDEsMHg4OSwweDAwLDB4MmEsMHg0MCwweDBiLDB4OTAsMHg0NiwweGU0LDB4MDAsMHhiOSwweDAxLDB4MmUgfX0sCi0gezE2LCAweGJjOTAsIDAsIHsweDQwLDB4MGIsMHg5MCwweDIwLDB4ZTQsMHgwMCwweGI5LDB4MDAsMHgyNiwweDQwLDB4MTgsMHhiOCwweDAyLDB4YTQsMHgwMiwweDhkIH19LAotIHsxNiwgMHhiY2EwLCAwLCB7MHgwOCwweDJmLDB4NDAsMHg4YiwweGQwLDB4MDIsMHgyNCwweDAwLDB4OGQsMHgyMCwweDJmLDB4NDgsMHgwYiwweGQwLDB4MDIsMHg4NiB9fSwKLSB7MTYsIDB4YmNiMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNCwweDAwLDB4YzksMHgwMCwweDMyLDB4NDAgfX0sCi0gezE2LCAweGJjYzAsIDAsIHsweDBmLDB4OTAsMHgwMiwweGU0LDB4MTAsMHg0OSwweDAwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMiwweGU0LDB4MDAsMHhlOSwweDAxIH19LAotIHsxNiwgMHhiY2QwLCAwLCB7MHgzNiwweDQwLDB4MGYsMHgxOCwweDEzLDB4MjQsMHgxMCwweGM5LDB4ODIsMHgzMiwweDQwLDB4N2YsMHg5MCwweDIzLDB4MjQsMHgwMCB9fSwKLSB7MTYsIDB4YmNlMCwgMCwgezB4ZDksMHgyMCwweDNlLDB4NzIsMHgwZiwweDkwLDB4MDMsMHhhOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJjZjAsIDAsIHsweDI4LDB4MDEsMHg4NCwweDAyLDB4ZjEsMHgwMSwweDE2LDB4NDAsMHg0ZiwweDkwLDB4MDMsMHhlNSwweDEwLDB4ZjksMHgwOCwweDJlIH19LAotIHsxNiwgMHhiZDAwLCAwLCB7MHg0MCwweDBmLDB4OTAsMHgxMywweGU0LDB4MDAsMHhjOSwweDAxLDB4M2EsMHg0MCwweDFmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSB9fSwKLSB7MTYsIDB4YmQxMCwgMCwgezB4MjAsMHgzNCwweDQwLDB4OGMsMHg5MCwweDAzLDB4YzQsMHgwOCwweGY5LDB4MDAsMHgzZSwweDYwLDB4MGYsMHgxMCwweDAzLDB4NGEgfX0sCi0gezE2LCAweGJkMjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwOCwweGY4LDB4MDAsMHgzZSwweDAwIH19LAotIHsxNiwgMHhiZDMwLCAwLCB7MHgwYywweDgwLDB4MDMsMHg2MCwweDAwLDB4ZTgsMHgwMCwweDNlLDB4MDIsMHg0ZiwweDgwLDB4MTMsMHhlMCwweDAwLDB4ZDAsMHgwMCB9fSwKLSB7MTYsIDB4YmQ0MCwgMCwgezB4M2UsMHgwMCwweDBlLDB4ODEsMHgwMywweDMwLDB4MDAsMHhjYywweDQwLDB4MzMsMHgwMCwweDBjLDB4YzAsMHgwYiwweDIwLDB4MjAgfX0sCi0gezE2LCAweGJkNTAsIDAsIHsweGU4LDB4MDAsMHgzZSwweDEwLDB4MGYsMHhjMCwweDAzLDB4Y2EsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiZDYwLCAwLCB7MHgyOCwweDA1LDB4MjgsMHgwNCwweGJhLDB4MDAsMHgyMiwweDgwLDB4MDgsMHhhMCwweDAyLDB4MjgsMHgwMCwweGJlLDB4YzgsMHg2ZiB9fSwKLSB7MTYsIDB4YmQ3MCwgMCwgezB4ODAsMHgwYiwweGUxLDB4MjIsMHhhOCwweDAwLDB4OGUsMHgyMCwweDJmLDB4ODAsMHgwYiwweGUwLDB4MjMsMHg2OCwweDAwLDB4OGEgfX0sCi0gezE2LCAweGJkODAsIDAsIHsweDAwLDB4MjIsMHg4MCwweDA4LDB4ZTAsMHgwMiwweDI5LDB4MDAsMHg4YSwweDAwLDB4MmUsMHhhOCwweDBiLDB4YTAsMHgwMCwweGNhIH19LAotIHsxNiwgMHhiZDkwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDAsMHhiMywweDAwLDB4MjQsMHhjMCB9fSwKLSB7MTYsIDB4YmRhMCwgMCwgezB4MDksMHgzMCwweDAyLDB4MGMsMHgwMCwweGIzLDB4YzEsMHgyYywweGUwLDB4MGIsMHgzOCwweDU2LDB4MmMsMHgxMCwweDEzLDB4MDAgfX0sCi0gezE2LCAweGJkYjAsIDAsIHsweDJlLDB4YzAsMHgwYSwweDM4LDB4NmEsMHgyMCwweDAwLDB4ODgsMHgwMCwweDIwLDB4MDAsMHgwOSwweDgwLDB4MjIsMHg0YywweDQyIH19LAotIHsxNiwgMHhiZGMwLCAwLCB7MHhhMywweDAwLDB4MmMsMHhlMCwweDBiLDB4MjQsMHg4MCwweGNhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmRkMCwgMCwgezB4YTAsMHgwMSwweDFjLDB4MDgsMHhiNywweDI0LDB4MmYsMHhlMCwweDA5LDB4MzksMHgwMiwweDFjLDB4MDEsMHhiNiwweDAwLDB4MmQgfX0sCi0gezE2LCAweGJkZTAsIDAsIHsweDkwLDB4MGIsMHg2MCwweDkyLDB4OGUsMHgwMCwweDg2LDB4ODIsMHgyZCwweGMyLDB4MGIsMHhmMCwweDAyLDB4NWMsMHgwNiwweDg3IH19LAotIHsxNiwgMHhiZGYwLCAwLCB7MHgwMCwweDYwLDB4YzAsMHgyOSwweDcwLDB4MDIsMHg1YywweDAwLDB4ODYsMHgwMCwweDJkLDB4YzAsMHgwYiwweDYwLDB4MDIsMHhlOCB9fSwKLSB7MTYsIDB4YmUwMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZiwweDQwLDB4ZjMsMHhlNCwweDNkLDB4ZTggfX0sCi0gezE2LCAweGJlMTAsIDAsIHsweDBkLDB4NzksMHgwYiwweDFlLDB4YzAsMHg2NywweDgwLDB4MmQsMHhlMCwweDBmLDB4NzAsMHg0MywweDFkLDB4ODAsMHhkNSwweDAwIH19LAotIHsxNiwgMHhiZTIwLCAwLCB7MHgzZCwweDYwLDB4MGUsMHg3OCwweDAzLDB4MWUsMHgwMCwweGNkLDB4ODAsMHgzMSwweGUwLDB4MGQsMHhjOCwweDAzLDB4NGUsMHgwMCB9fSwKLSB7MTYsIDB4YmUzMCwgMCwgezB4ZTUsMHg4MCwweDNkLDB4ZTAsMHgwZiwweDQ4LDB4MDMsMHhlYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJlNDAsIDAsIHsweDA4LDB4MWQsMHhhYywweDgwLDB4ZmIsMHgwMCwweDcwLDB4YzAsMHg2ZSwweGI2LDB4MTMsMHhhZCwweDQwLDB4ZmEsMHgwMCwweDNlIH19LAotIHsxNiwgMHhiZTUwLCAwLCB7MHhjMCwweDBmLDB4MjAsMHg0MywweDJkLDB4MTgsMHg1OSwweDAwLDB4M2UsMHgwMCwweDAzLDB4YjAsMHgwYiwweGUwLDB4MDAsMHhmYSB9fSwKLSB7MTYsIDB4YmU2MCwgMCwgezB4MDAsMHhiZSwweDAwLDB4MGUsMHhiMCwweDEzLDB4YWMsMHgwMCwweGY4LDB4MDAsMHgzZSwweGMwLDB4MGYsMHg4MCwweDAzLDB4YzIgfX0sCi0gezE2LCAweGJlNzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmUsMHg0MCwweGZmLDB4ODAsMHgzZiwweGU2IH19LAotIHsxNiwgMHhiZTgwLCAwLCB7MHgwZiwweGY4LDB4MjMsMHgyZSwweDA0LDB4ZmYsMHg5MCwweDNmLDB4ZTQsMHgwZCwweGJhLDB4MDMsMHhmZiwweDQwLDB4Y2YsMHg4MCB9fSwKLSB7MTYsIDB4YmU5MCwgMCwgezB4MjIsMHhlMSwweDBjLDB4MzksMHg0MywweDMyLDB4MTAsMHhlYywweDkwLDB4MzMsMHgyMCwweDhlLDB4YzgsMHgwMywweGYyLDB4MDAgfX0sCi0gezE2LCAweGJlYTAsIDAsIHsweGRmLDB4ODAsMHgzZiwweDYwLDB4MGYsMHhmOCwweDAzLDB4YzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiZWIwLCAwLCB7MHhhOCwweDExLDB4OWMsMHg0MCwweGI3LDB4OTAsMHgzYywweGUwLDB4MGIsMHgzYSwweDAzLDB4NGUsMHg4MCwweGYzLDB4YjEsMHgyZCB9fSwKLSB7MTYsIDB4YmVjMCwgMCwgezB4MDQsMHg0YywweDM4LDB4MjMsMHhhZSwweDAwLDB4ODAsMHg4MCwweDM0LDB4ZTgsMHg0ZCwweDc4LDB4MDIsMHgzZSwweDgwLDB4ODcgfX0sCi0gezE2LCAweGJlZDAsIDAsIHsweGEwLDB4MjksMHhjMCwweDA4LDB4NzAsMHgwMiwweGMwLDB4ODAsMHg4NiwweDAyLDB4MmQsMHg0MSwweDBiLDB4NzAsMHgwMiwweGVhIH19LAotIHsxNiwgMHhiZWUwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDljLDB4NDgsMHgzNywweDAxLDB4MmQsMHhjOSB9fSwKLSB7MTYsIDB4YmVmMCwgMCwgezB4MGIsMHg3MiwweDIyLDB4MWMsMHg4NCwweGI1LDB4MTYsMHgwZCwweGM0LDB4MTksMHg0MCwweDQyLDB4ZGMsMHg4MCwweDg3LDB4MDAgfX0sCi0gezE2LCAweGJmMDAsIDAsIHsweDIwLDB4YzgsMHg4OCwweDczLDB4MGEsMHg5YywweDgwLDB4YjUsMHgwMCwweDI5LDB4YzAsMHgwYSwweDQ4LDB4MDIsMHhjMCwweDAyIH19LAotIHsxNiwgMHhiZjEwLCAwLCB7MHg5NSwweDAwLDB4MmQsMHg0MiwweDBiLDB4NTgsMHgwMiwweGMwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmYyMCwgMCwgezB4MjAsMHgxNCwweGNjLDB4MDAsMHhiMywweDAwLDB4MmEsMHhlMCwweDBiLDB4MzAsMHgwMiwweDRjLDB4MjAsMHhhMSwweDAxLDB4MjQgfX0sCi0gezE2LCAweGJmMzAsIDAsIHsweGMxLDB4MDgsMHgwMCwweDAyLDB4OGMsMHgwMCwweDgxLDB4MDAsMHgyNCwweDgwLDB4MDksMHgzOCwweDBhLDB4NjAsMHg4MCwweDkyIH19LAotIHsxNiwgMHhiZjQwLCAwLCB7MHg0MCwweDJhLDB4MDAsMHgwYSwweDMwLDB4MDIsMHhjMCwweDAwLDB4ODAsMHhjOCwweDJjLDB4NzIsMHgwYiwweDE0LDB4MDIsMHhjOCB9fSwKLSB7MTYsIDB4YmY1MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhiYywweDAwLDB4ZmYsMHgwMCwweDJmLDB4ZjQgfX0sCi0gezE2LCAweGJmNjAsIDAsIHsweDhmLDB4ZjAsMHgwMywweDNjLDB4MDAsMHhiOSwweDAwLDB4M2UsMHg0MCwweDA5LDB4OTAsMHgwMywweGZjLDB4MDIsMHhjMywweDAxIH19LAotIHsxNiwgMHhiZjcwLCAwLCB7MHgzMiwweGMwLDB4NDgsMHhiOCwweDEzLDB4YTEsMHgwMCwweGJhLDB4MDAsMHgyYSwweDAwLDB4MGEsMHhhMCwweDA3LDB4ZWMsMHgwMCB9fSwKLSB7MTYsIDB4YmY4MCwgMCwgezB4ZGIsMHhjOCwweDNlLDB4OTAsMHgwZiwweGEyLDB4MDIsMHhlYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJmOTAsIDAsIHsweDgwLDB4MDAsMHhlYywweDAwLDB4ZmIsMHgwMiwweDNlLDB4YzQsMHgwZiwweGIwLDB4NjMsMHhlYywweDAxLDB4ZjgsMHg0MCwweDNlIH19LAotIHsxNiwgMHhiZmEwLCAwLCB7MHg0MCwweDBiLDB4ODAsMHgwMywweGNjLDB4MDAsMHhmYSwweDQyLDB4M2UsMHhjMCwweDBmLDB4YjUsMHgwMCwweGFjLDB4NTgsMHhlOSB9fSwKLSB7MTYsIDB4YmZiMCwgMCwgezB4ODIsMHgzZSwweGMwLDB4MWQsMHg5MCwweDAzLDB4ZWMsMHgwNCwweGZhLDB4MDAsMHgzZSwweDgwLDB4MGYsMHhhMCwweDAzLDB4ZTAgfX0sCi0gezE2LCAweGJmYzAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZmMsMHgwYywweGRmLDB4MDAsMHg3ZiwweGMwIH19LAotIHsxNiwgMHhiZmQwLCAwLCB7MHgyYywweGYwLDB4MDMsMHg3YywweDAxLDB4YzcsMHgwMCwweDMzLDB4NDAsMHg4ZiwweGQwLDB4MDMsMHhmYywweDAwLDB4ZDgsMHgwMCB9fSwKLSB7MTYsIDB4YmZlMCwgMCwgezB4MTUsMHg0NCwweDBjLDB4ZTAsMHgxYiwweDNjLDB4MDAsMHhjYiwweDBlLDB4MzMsMHhjMCwweDVjLDB4NjIsMHgwMiwweDFjLDB4MDIgfX0sCi0gezE2LCAweGJmZjAsIDAsIHsweGM1LDB4MDAsMHgyYiwweDgwLDB4MGYsMHhjMCwweDg3LDB4ODAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjMDAwLCAwLCB7MHg4MSwweDQ0LDB4NmMsMHgxMCwweGJiLDB4MDAsMHgyZSwweGMwLDB4MDgsMHhiMCwweDUyLDB4MGMsMHgwMSwweGZhLDB4YzQsMHgyMiB9fSwKLSB7MTYsIDB4YzAxMCwgMCwgezB4NjEsMHgwYiwweDg4LDB4MDMsMHg2YywweDAwLDB4ODgsMHg0NywweDJhLDB4MDAsMHgwZSwweDFjLDB4MDIsMHgyMCwweDAyLDB4ODggfX0sCi0gezE2LCAweGMwMjAsIDAsIHsweDAwLDB4YWEsMHgwMCwweDI4LDB4OTAsMHgwYSwweDJjLDB4MDQsMHhhOCwweDAwLDB4MjIsMHg5MCwweDBiLDB4ODAsMHgwMiwweGUwIH19LAotIHsxNiwgMHhjMDMwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMSwweDJjLDB4MDAsMHhiYiwweDAwLDB4MmUsMHhjMSB9fSwKLSB7MTYsIDB4YzA0MCwgMCwgezB4MDgsMHgzMCwweDEyLDB4NmMsMHgwMCwweDg4LDB4ODgsMHgyYSwweDMwLDB4MGIsMHhiOCwweDAyLDB4ZWMsMHgwMCwweDliLDB4MDggfX0sCi0gezE2LCAweGMwNTAsIDAsIHsweDJhLDB4NDAsMHgwOCwweGI4LDB4MDIsMHgyMCwweDAwLDB4ODIsMHgxMCwweDIyLDB4MDAsMHgwOCwweGEwLDB4MjIsMHhhMCwweDAwIH19LAotIHsxNiwgMHhjMDYwLCAwLCB7MHg4YiwweDAwLDB4MmEsMHgwMiwweDBiLDB4YjAsMHgwMiwweGUwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzA3MCwgMCwgezB4MDgsMHgwMCwweDBjLDB4MDAsMHhiMywweDIwLDB4MmMsMHhjMiwweDA4LDB4MzYsMHgwMiwweDJjLDB4YzAsMHhhMCwweDA4LDB4MjAgfX0sCi0gezE2LCAweGMwODAsIDAsIHsweDAwLDB4MGIsMHgzMywweDQ2LDB4Y2QsMHgyOCwweDgwLDB4MjAsMHgyOCwweGMwLDB4MGIsMHgzMiwweDAyLDB4MGMsMHgyMCwweDgxIH19LAotIHsxNiwgMHhjMDkwLCAwLCB7MHgzMCwweDI4LDB4YzAsMHgwOCwweDEwLDB4MDIsMHg4MSwweDAwLDB4YWEsMHgwMCwweDI4LDB4MDAsMHgwMywweDMwLDB4MDIsMHhjMiB9fSwKLSB7MTYsIDB4YzBhMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGMsMHg3YywweDAwLDB4ZmIsMHgyOCwweDJlLDB4Y2MgfX0sCi0gezE2LCAweGMwYjAsIDAsIHsweDBjLDB4NzAsMHg1MywweDdkLDB4MDksMHg4OCwweDAwLDB4YmEsMHgwMCwweDBmLDB4ODAsMHgwMywweGZkLDB4ODAsMHhkYSwweDYwIH19LAotIHsxNiwgMHhjMGMwLCAwLCB7MHgzYSwweDUwLDB4OGMsMHhhMiwweDgzLDB4MmMsMHg4MCwweDRiLDB4MjAsMHgzMCwweGMwLDB4MjgsMHhhMCwweDAzLDB4YTEsMHgwMCB9fSwKLSB7MTYsIDB4YzBkMCwgMCwgezB4YzksMHgwMCwweDNhLDB4MDAsMHgwZiwweDkwLDB4MDMsMHhjMCwweDAzLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGMwZTAsIDAsIHsweGEwLDB4MWQsMHhmYywweDA0LDB4ZmIsMHgwMCwweDdlLDB4YzksMHgwYiwweGI2LDB4MDMsMHhmYywweGMwLDB4ZjgsMHgwYywweDNmIH19LAotIHsxNiwgMHhjMGYwLCAwLCB7MHgwMCwweDRmLDB4YzMsMHg0MywweDJjLDB4MDAsMHhiOCwweDM4LDB4M2YsMHg4ZSwweDVlLDB4ZjAsMHg0MywweGUwLDB4MTAsMHhmOCB9fSwKLSB7MTYsIDB4YzEwMCwgMCwgezB4MzAsMHgzZiwweDAxLDB4MGYsMHhkMCwweDAzLDB4NzAsMHgwMCwweGZjLDB4MDAsMHgzNywweDAwLDB4MGQsMHhkMCwweDA3LDB4ZTkgfX0sCi0gezE2LCAweGMxMTAsIDAsIHsweDAzLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmMsMHhlMCwweGNjLDB4ODAsMHgzMywweGMwIH19LAotIHsxNiwgMHhjMTIwLCAwLCB7MHgwZCwweGYwLDB4ODMsMHhmYywweDgwLDB4ZGMsMHg5NCwweDMzLDB4YzAsMHgxYywweGYxLDB4MDMsMHg3ZCwweDhjLDB4ZmYsMHgzMCB9fSwKLSB7MTYsIDB4YzEzMCwgMCwgezB4M2YsMHgzMCwweDhmLDB4YzgsMHgwMywweDdlLDB4MTAsMHhjZiwweDkwLDB4MzksMHhhMCwweDhkLDB4ZjgsMHgwMywweGFlLDB4MDAgfX0sCi0gezE2LCAweGMxNDAsIDAsIHsweGQ1LDB4ODAsMHgxMywweGUwLDB4MGMsMHg1OCwweDAzLDB4ZjAsMHgwMSwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjMTUwLCAwLCB7MHg4MCwweDEwLDB4ZGQsMHgwOCwweDg4LDB4MDAsMHgyMywweGM0LDB4MDgsMHhmYywweDAyLDB4ZWMsMHhhOCwweGNiLDB4MjAsMHgyMSB9fSwKLSB7MTYsIDB4YzE2MCwgMCwgezB4YzIsMHgwZCwweGY3LDB4MTIsMHgxYywweDQwLDB4ZGYsMHgzMCwweDIyLDB4YTAsMHgwYiwweDg4LDB4MDIsMHgyZSwweDA0LDB4ZGIgfX0sCi0gezE2LCAweGMxNzAsIDAsIHsweDIxLDB4MjIsMHhjMCwweDA4LDB4YjgsMHgyMiwweDJlLDB4MDAsMHhiOSwweDgwLDB4MmEsMHg2MCwweDBhLDB4ODgsMHgwMiwweGUwIH19LAotIHsxNiwgMHhjMTgwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHg0NSwweGNjLDB4MTAsMHg4MCwweDJjLDB4MjgsMHhjYSB9fSwKLSB7MTYsIDB4YzE5MCwgMCwgezB4NjgsMHgzMCwweDAyLDB4OGQsMHgwMCwweDliLDB4MjAsMHgyOCwweGM0LDB4MDgsMHgzMiwweDAyLDB4Y2MsMHgxMCwweGIzLDB4MDAgfX0sCi0gezE2LCAweGMxYTAsIDAsIHsweDI0LDB4MDgsMHgwYiwweDgwLDB4NDIsMHg2YywweDAwLDB4ODMsMHgwMCwweDJhLDB4Y2EsMHgzYSwweGIwLDB4MDIsMHg4YywweDA0IH19LAotIHsxNiwgMHhjMWIwLCAwLCB7MHhiMCwweDA0LDB4MjgsMHhjMCwweDA4LDB4MTAsMHgwMiwweGUzLDB4MDEsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzFjMCwgMCwgezB4YzAsMHgxNSwweDhjLDB4MDIsMHg4MCwweDQwLDB4YWEsMHhjMCwweDA4LDB4YjAsMHgwMiwweGVjLDB4MDAsMHg5YiwweDIwLDB4MmEgfX0sCi0gezE2LCAweGMxZDAsIDAsIHsweGMwLDB4ODgsMHhiMCwweDAyLDB4YWMsMHgwMCwweDliLDB4MDAsMHgyNiwweGUwLDB4MDMsMHg4MCwweDgyLDB4MmMsMHgyOCwweDliIH19LAotIHsxNiwgMHhjMWUwLCAwLCB7MHgyMCwweDIyLDB4ZTEsMHgwYiwweGIyLDB4MDIsMHhhYywweDgwLDB4YjgsMHg4MCwweDJhLDB4YzEsMHgwYSwweDk4LDB4MDIsMHhmMCB9fSwKLSB7MTYsIDB4YzFmMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlYywweDAwLDB4YzgsMHg1MCwweDNhLDB4YzAgfX0sCi0gezE2LCAweGMyMDAsIDAsIHsweDBkLDB4YjAsMHgwMywweGVjLDB4MDAsMHhkYiwweDg4LDB4YmEsMHhjMCwweDA4LDB4YjAsMHgwMywweDZjLDB4MDgsMHhmYiwweDAwIH19LAotIHsxNiwgMHhjMjEwLCAwLCB7MHgzNiwweDYwLDB4MGYsMHg4YywweDYzLDB4NmMsMHgwMCwweGNiLDB4YzAsMHgzYSwweDgwLDB4MGUsMHhiZSwweDAzLDB4YWYsMHg4NCB9fSwKLSB7MTYsIDB4YzIyMCwgMCwgezB4NzksMHg4MCwweDNhLDB4ODgsMHgwNCwweDk4LDB4MDEsMHhkMCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGMyMzAsIDAsIHsweGUwLDB4MDEsMHhiYywweDAwLDB4ZmMsMHg4MCwweDM1LDB4YzAsMHg0ZiwweGYwLDB4MDMsMHhkYywweDAwLDB4ZWYsMHgwMCwweDM3IH19LAotIHsxNiwgMHhjMjQwLCAwLCB7MHhjMCwweGFmLDB4ZjAsMHgwMywweDFjLDB4MDEsMHg2ZiwweDAwLDB4MTMsMHgwMCwweDBmLDB4YzEsMHgyMywweGZjLDB4YjgsMHhmZiB9fSwKLSB7MTYsIDB4YzI1MCwgMCwgezB4MDQsMHgzNywweGMwLDB4MGMsMHhmOCwweDQzLDB4N2UsMHgwNCwweGZkLDB4MDAsMHgzZiwweDA0LDB4MGYsMHhkMCwweDAzLDB4ZjggfX0sCi0gezE2LCAweGMyNjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMCwweGM4LDB4NDAsMHgzYSwweGMwIH19LAotIHsxNiwgMHhjMjcwLCAwLCB7MHgwYywweGIwLDB4MDMsMHhlYywweDAwLDB4ZmIsMHg0MCwweDM4LDB4YzEsMHgwZSwweGIwLDB4NDMsMHgyYywweDA4LDB4YzMsMHgwMCB9fSwKLSB7MTYsIDB4YzI4MCwgMCwgezB4M2UsMHg0MCwweDBlLDB4ODIsMHgwMywweDZkLDB4MDAsMHhkYiwweDQwLDB4MzIsMHhjMSwweDVmLDB4YjQsMHhhMywweGVkLDB4MjAgfX0sCi0gezE2LCAweGMyOTAsIDAsIHsweGM5LDB4NDAsMHgzMiwweGUwLDB4OGYsMHg5OCwweDQzLDB4OTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjMmEwLCAwLCB7MHhjOCwweDA1LDB4M2MsMHgwMCwweDg4LDB4MDAsMHgyMywweGMwLDB4MjgsMHhmNSwweGMyLDB4ZmMsMHgwMCwweGIzLDB4MDQsMHgyMyB9fSwKLSB7MTYsIDB4YzJiMCwgMCwgezB4YzEsMHg0OCwweGYwLDB4MjIsMHhiYywweDA2LDB4YWYsMHgwMCwweDBlLDB4NDAsMHgwOCwweDAwLDB4MDIsMHhjZCwweDAwLDB4YmIgfX0sCi0gezE2LCAweGMyYzAsIDAsIHsweDAxLDB4MjAsMHhjMCwweDA4LDB4MzAsMHgwMiwweGVlLDB4MDAsMHg4MSwweGUwLDB4MzQsMHhhMCwweDBiLDB4OTAsMHgwMiwweDMyIH19LAotIHsxNiwgMHhjMmQwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRjLDB4MDIsMHg4MCwweDAwLDB4MjgsMHhjMCB9fSwKLSB7MTYsIDB4YzJlMCwgMCwgezB4MDksMHgzYywweDAyLDB4NGMsMHgwMCwweGIzLDB4MDAsMHgyYywweGMwLDB4MGEsMHhiMCwweDAyLDB4MGMsMHgwMCwweDgzLDB4MDEgfX0sCi0gezE2LCAweGMyZjAsIDAsIHsweDJjLDB4MDAsMHgwYSwweDA1LDB4MDIsMHhjZCwweDU4LDB4YmIsMHgwMCwweDIwLDB4MDAsMHgwYSwweDNkLDB4MDIsMHhjZiwweDQwIH19LAotIHsxNiwgMHhjMzAwLCAwLCB7MHgyMSwweDIwLDB4NjAsMHhjMCwweDA5LDB4MTAsMHgwMiwweGY4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzMxMCwgMCwgezB4MjAsMHgwMSwweDFlLDB4MDAsMHg4NCwweDgwLDB4MjgsMHhlNCwweDg4LDB4NzgsMHg0MiwweGRlLDB4MDAsMHhiNywweDkwLDB4NjUgfX0sCi0gezE2LCAweGMzMjAsIDAsIHsweGU0LDB4ODgsMHg3YSwweDQyLDB4OWUsMHg0MCwweGE3LDB4OTAsMHgyZCwweGEwLDB4MGEsMHg0OCwweDIyLDB4ZGUsMHgwNCwweGI3IH19LAotIHsxNiwgMHhjMzMwLCAwLCB7MHg4MCwweDIzLDB4NjAsMHg0OCwweDc4LDB4NDIsMHhmZSwweDgwLDB4YWYsMHg5MCwweDY1LDB4ZTAsMHgwYiwweGU4LDB4MDIsMHhjOCB9fSwKLSB7MTYsIDB4YzM0MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDAwLDB4YzgsMHgwMCwweDM4LDB4YzAgfX0sCi0gezE2LCAweGMzNTAsIDAsIHsweDBjLDB4MzAsMHgwMywweGNjLDB4MDAsMHhmYiwweDAwLDB4M2MsMHhjMCwweDBlLDB4YmEsMHgwMywweDBjLDB4MDAsMHhjMywweDAwIH19LAotIHsxNiwgMHhjMzYwLCAwLCB7MHgzZSwweDAwLDB4NGUsMHgyMiwweDAyLDB4Y2MsMHhjMCwweGZiLDB4NDAsMHgzMCwweGMwLDB4MGEsMHgzMCwweDAzLDB4Y2UsMHg4MCB9fSwKLSB7MTYsIDB4YzM3MCwgMCwgezB4ZTEsMHg0MSwweDMwLDB4YzksMHgwZiwweDMwLDB4MDMsMHhkMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGMzODAsIDAsIHsweDQwLDB4MWQsMHhiYywweDIwLDB4ZmMsMHgwMCwweDM3LDB4YzIsMHgwZSwweGYxLDB4MjMsMHhlYywweDQwLDB4ZmYsMHgwNCwweDNhIH19LAotIHsxNiwgMHhjMzkwLCAwLCB7MHhjMCwweDBmLDB4YjAsMHgyMywweGZjLDB4MDAsMHhmZiwweDA0LDB4M2UsMHhjMCwweDBkLDB4YTAsMHgwMywweGZjLDB4NTgsMHhmZiB9fSwKLSB7MTYsIDB4YzNhMCwgMCwgezB4MDAsMHhiZiwweGMwLDB4MDYsMHhmMCwweDgzLDB4ZGMsMHg2MiwweGRmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4MTAgfX0sCi0gezE2LCAweGMzYjAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWQsMHg4MCwweGM5LDB4MDEsMHgzZSwweGMwIH19LAotIHsxNiwgMHhjM2MwLCAwLCB7MHg4YywweGIyLDB4MDcsMHhhZSwweDA0LDB4Y2IsMHg4MCwweDNhLDB4YzgsMHg0YywweGIyLDB4MDMsMHgyYywweDg0LDB4Y2IsMHgzMCB9fSwKLSB7MTYsIDB4YzNkMCwgMCwgezB4YjAsMHhlMCwweDBkLDB4ODgsMHgwYiwweDJjLDB4MDAsMHhlYiwweDAwLDB4MzAsMHgwMCwweDBjLDB4YmMsMHg4MywweDJkLDB4ODAgfX0sCi0gezE2LCAweGMzZTAsIDAsIHsweGZiLDB4MDAsMHgzMiwweGMwLDB4MGMsMHg5MCwweDAzLDB4ZWEsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjM2YwLCAwLCB7MHg0OCwweDExLDB4OWMsMHg0MCwweDg3LDB4MDAsMHgyYywweGNjLDB4MDgsMHg3NiwweDgyLDB4M2MsMHg4MiwweDg3LDB4MDAsMHgyMSB9fSwKLSB7MTYsIDB4YzQwMCwgMCwgezB4YzIsMHg4ZCwweDMyLDB4ODIsMHgwZCwweDRjLDB4YTcsMHgyOCwweDIxLDB4ODAsMHgwOCwweDQwLDB4MDIsMHgxZCwweDgwLDB4YmYgfX0sCi0gezE2LCAweGM0MTAsIDAsIHsweDIwLDB4MzUsMHg0MCwweDA5LDB4NzIsMHg0MywweDVjLDB4YTAsMHhiNywweDAwLDB4MjksMHhjMCwweDA4LDB4NzAsMHgwMiwweGQyIH19LAotIHsxNiwgMHhjNDIwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDhlLDB4MDAsMHg4NCwweDgwLDB4MmQsMHhlMCB9fSwKLSB7MTYsIDB4YzQzMCwgMCwgezB4MDgsMHg3OCwweDAyLDB4ZGUsMHhjMCwweDhmLDB4ODAsMHgyOCwweGVjLDB4MjgsMHg3YiwweDBhLDB4OWUsMHg5NCwweDgzLDB4ODQgfX0sCi0gezE2LCAweGM0NDAsIDAsIHsweDIzLDB4ZTAsMHgwOSwweDU4LDB4NTAsMHg5ZSwweDEwLDB4YTcsMHhiMCwweDIzLDB4ZTAsMHgwYiwweDc4LDB4MDIsMHgxZSwweDIwIH19LAotIHsxNiwgMHhjNDUwLCAwLCB7MHhiNywweDgwLDB4MjEsMHhlMCwweDA5LDB4NzgsMHgwMiwweGYwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzQ2MCwgMCwgezB4NDgsMHgxNCwweGNjLDB4MDIsMHg4MiwweDFjLDB4MmMsMHhjMCwweDI4LDB4MzAsMHgwMiwweDRjLDB4MDAsMHg4MywweGMwLDB4MjAgfX0sCi0gezE2LCAweGM0NzAsIDAsIHsweGMwLDB4MDgsMHgzMCwweDAyLDB4MGMsMHgwMCwweGEzLDB4MDAsMHg2MCwweGQyLDB4MDgsMHgxZCwweDAyLDB4MGYsMHgyMCwweGJiIH19LAotIHsxNiwgMHhjNDgwLCAwLCB7MHgyNCwweDI0LDB4YzAsMHgwYiwweDNjLDB4MDIsMHg0ZiwweDAwLDB4YjMsMHg4MCwweDI4LDB4ZDgsMHgwOSwweDMyLDB4MDIsMHhkMiB9fSwKLSB7MTYsIDB4YzQ5MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTEsMHhhOCwweDAwLDB4Y2UsMHg4NCwweDNlLDB4ODAgfX0sCi0gezE2LCAweGM0YTAsIDAsIHsweDBjLDB4YTAsMHgwMywweGU4LDB4MDAsMHhjZSwweGMwLDB4M2EsMHg4MCwweDA4LDB4YTAsMHgwMywweGE4LDB4MDAsMHhjYSwweDAwIH19LAotIHsxNiwgMHhjNGIwLCAwLCB7MHgzMywweDgwLDB4MGQsMHhlYywweDAzLDB4M2IsMHg4MCwweGVlLDB4ODIsMHgzMywweDgwLDB4MGEsMHhjMCwweDg3LDB4MTAsMHg0MCB9fSwKLSB7MTYsIDB4YzRjMCwgMCwgezB4ZjYsMHhjMCwweDMzLDB4OTAsMHhhZCwweDY0LDB4MDMsMHhmYSwweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM0ZDAsIDAsIHsweDQ4LDB4MDAsMHhjMCwweDAyLDB4ZjgsMHgwMCwweDNjLDB4MDAsMHgxZiwweDA0LDB4MDMsMHhhMCwweDA0LDB4ZjgsMHgzMCwweDNlIH19LAotIHsxNiwgMHhjNGUwLCAwLCB7MHgwMCwweDBmLDB4ODAsMHgwMywweGUwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwNCwweDBmLDB4ODAsMHg5MywweGUwLDB4MDAsMHhmOCB9fSwKLSB7MTYsIDB4YzRmMCwgMCwgezB4MTAsMHgzZSwweDAwLDB4MmMsMHg4NCwweDAzLDB4ZTAsMHgwMCwweGY4LDB4MTgsMHgzZSwweDEwLDB4MGUsMHg4MCwweDAzLDB4ZDIgfX0sCi0gezE2LCAweGM1MDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGQ5LDB4MDAsMHgzZSwweDQwIH19LAotIHsxNiwgMHhjNTEwLCAwLCB7MHgwZSwweDkwLDB4MDMsMHhhNCwweDEwLDB4ZjksMHgwMCwweDNlLDB4NDAsMHgwNCwweDkwLDB4MDMsMHgyNCwweDAwLDB4NDEsMHgwMCB9fSwKLSB7MTYsIDB4YzUyMCwgMCwgezB4M2UsMHg0MCwweDBmLDB4OTEsMHgxMywweGUxLDB4MDgsMHhmOCwweDAwLDB4MzIsMHg0MCwweDA4LDB4ODksMHg4MywweGEyLDB4MDAgfX0sCi0gezE2LCAweGM1MzAsIDAsIHsweGM5LDB4ODAsMHgzMiwweDQwLDB4MGMsMHg5MCwweDBiLDB4MDIsMHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjNTQwLCAwLCB7MHg4MCwweDA0LDB4NjQsMHgwMiwweDg5LDB4MDAsMHgyZSwweDQwLDB4MGQsMHg5MCwweDAyLDB4MjQsMHgwMCwweGI5LDB4MDAsMHgyZSB9fSwKLSB7MTYsIDB4YzU1MCwgMCwgezB4NDAsMHg0OCwweDkwLDB4MDIsMHhhNCwweDAwLDB4ODksMHgwMCwweDIyLDB4NDAsMHg4YiwweDk0LDB4NDIsMHhlMiwweDIwLDB4YjggfX0sCi0gezE2LCAweGM1NjAsIDAsIHsweDAwLDB4YTIsMHg0MCwweDA4LDB4OTQsMHgwMiwweGU1LDB4MDQsMHhhOSwweDkwLDB4MzQsMHg2MCwweDA4LDB4OTAsMHgwMiwweDIwIH19LAotIHsxNiwgMHhjNTcwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MTAsMHg5OSwweDAwLDB4MmUsMHg0MCB9fSwKLSB7MTYsIDB4YzU4MCwgMCwgezB4MGEsMHg5MCwweDAyLDB4ZTQsMHgwMCwweGI5LDB4MDAsMHgyNCwweDQwLDB4MGEsMHgxMCwweDAyLDB4MDQsMHgwMCwweGE5LDB4MDAgfX0sCi0gezE2LCAweGM1OTAsIDAsIHsweDJhLDB4NDAsMHgwYiwweDkwLDB4ODIsMHhlMCwweDAxLDB4YjgsMHgwMCwweDIwLDB4NDAsMHgzYSwweDkwLDB4MDIsMHhhNCwweDQ0IH19LAotIHsxNiwgMHhjNWEwLCAwLCB7MHg4OSwweDA0LDB4MjIsMHg2MiwweDA4LDB4OTgsMHgwMiwweDA2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzViMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4OGEsMHg4MSwweDAwLDB4MmMsMHg0OCwweDA5LDB4MzIsMHgwNiwweDQ0LDB4ODAsMHhiMSwweDAwLDB4MmMgfX0sCi0gezE2LCAweGM1YzAsIDAsIHsweDQ4LDB4MGEsMHgxMiwweDAyLDB4ODQsMHg4MCwweGExLDB4MjAsMHgyMCwweDUwLDB4MGIsMHgxNCwweDAyLDB4YzUsMHgwMCwweGIxIH19LAotIHsxNiwgMHhjNWQwLCAwLCB7MHg0MCwweDIwLDB4NTAsMHgwYSwweDI0LDB4MDIsMHhjOSwweDAwLDB4YTMsMHgwMCwweDI0LDB4NDAsMHgwOCwweDExLDB4MDIsMHgwMiB9fSwKLSB7MTYsIDB4YzVlMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MSwweDQwLDB4ZDgsMHg1MCwweDNlLDB4MTQgfX0sCi0gezE2LCAweGM1ZjAsIDAsIHsweDBlLDB4ODAsMHgwMywweGUxLDB4NDAsMHhmOCwweDUxLDB4MzYsMHgxNCwweDJlLDB4ODUsMHg0MywweDIxLDB4NDIsMHhlOCwweDUwIH19LAotIHsxNiwgMHhjNjAwLCAwLCB7MHgzYSwweDAwLDB4MGYsMHg4MCwweDEyLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgzMiwweDAwLDB4MWUsMHg4MCwweDQzLDB4YTAsMHgwMCB9fSwKLSB7MTYsIDB4YzYxMCwgMCwgezB4YzgsMHgwMSwweDMyLDB4MDAsMHgwYywweDgwLDB4MDMsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM2MjAsIDAsIHsweDk4LDB4MWQsMHhlNCwweDQwLDB4ZmQsMHgwMCwweDNlLDB4NDQsMHg0ZSwweDExLDB4MDMsMHhhNCwweDQwLDB4YjUsMHgwMCwweDNlIH19LAotIHsxNiwgMHhjNjMwLCAwLCB7MHg0NCwweDBkLDB4OTEsMHgwMywweGU0LDB4NDAsMHhkOSwweDEwLDB4M2YsMHg0MCwweDBmLDB4NTAsMHgwMywweGU1LDB4MDAsMHhmOSB9fSwKLSB7MTYsIDB4YzY0MCwgMCwgezB4NDAsMHgzZiwweDQwLDB4MGQsMHg0NCwweDAzLDB4ZjEsMHgwMCwweGY1LDB4MDIsMHgzZCwweGMwLDB4MmYsMHhkMiwweDAzLDB4ZTYgfX0sCi0gezE2LCAweGM2NTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZTcsMHgwMCwweGU5LDB4MDAsMHgzNiwweDYwIH19LAotIHsxNiwgMHhjNjYwLCAwLCB7MHgwZCwweGRhLDB4MDMsMHhlNiwweDQwLDB4ZjksMHg0MCwweDNlLDB4NjgsMHgwYywweDlhLDB4MDMsMHg2NiwweDIwLDB4ODksMHhhMCB9fSwKLSB7MTYsIDB4YzY3MCwgMCwgezB4MzMsMHg0MCwweDBlLDB4OTAsMHgwNywweGE2LDB4MDAsMHhmOSwweDgwLDB4M2UsMHg1MCwweDBjLDB4Y2EsMHgwMywweGYzLDB4ODAgfX0sCi0gezE2LCAweGM2ODAsIDAsIHsweGM1LDB4MDIsMHgzMywweDQwLDB4MGMsMHhjMCwweDAzLDB4YzYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjNjkwLCAwLCB7MHgzOCwweDEwLDB4ZTMsMHgwNCwweDg4LDB4YTIsMHgyMCwweDM4LDB4MDgsMHg4MCwweDAyLDB4ZTMsMHg0MCwweGIwLDB4ODAsMHgyZSB9fSwKLSB7MTYsIDB4YzZhMCwgMCwgezB4MjgsMHgwOCwweDhhLDB4ODIsMHgyMywweDgwLDB4ODgsMHg4MCwweDIyLDB4MDAsMHhkYiwweDg4LDB4MDIsMHg2MiwweDA0LDB4YjggfX0sCi0gezE2LCAweGM2YjAsIDAsIHsweGIwLDB4MmUsMHhhOCwweDg4LDB4OGUsMHhhMiwweGVhLDB4ODAsMHg4OCwweDAwLDB4MmEsMHgwMCwweDI4LDB4ODgsMHgwMywweDhlIH19LAotIHsxNiwgMHhjNmMwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM1LDB4ODIsMHhhOSwweDA4LDB4MmMsMHg1MiB9fSwKLSB7MTYsIDB4YzZkMCwgMCwgezB4MGIsMHgxNCwweDAyLDB4YzQsMHg4MCwweGIxLDB4MjEsMHgwYywweDUyLDB4ODgsMHgxNCwweDAyLDB4NDQsMHgyMCwweDkxLDB4NjkgfX0sCi0gezE2LCAweGM2ZTAsIDAsIHsweDIwLDB4NDAsMHgwYSwweDEwLDB4ODIsMHhjNiwweGUwLDB4YjEsMHgwYywweDJjLDB4NDgsMHgwOCwweDAxLDB4MDIsMHhlMSwweDkzIH19LAotIHsxNiwgMHhjNmYwLCAwLCB7MHhhMSwweDAxLDB4MjQsMHg0MSwweDBhLDB4MTAsMHgwMiwweGMyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzcwMCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MDAsMHg4OSwweDA0LDB4MjIsMHg0MCwweDA4LDB4OTAsMHgwMCwweGU0LDB4MDAsMHgzOSwweDAyLDB4MGUgfX0sCi0gezE2LCAweGM3MTAsIDAsIHsweDQwLDB4MDgsMHgxMCwweDYyLDB4MjQsMHgwMCwweDkxLDB4MDAsMHg2MiwweDQwLDB4OGIsMHg4MCwweDAyLDB4ZTAsMHg1NCwweGI5IH19LAotIHsxNiwgMHhjNzIwLCAwLCB7MHgwYywweDJlLDB4NDAsMHgwOSwweGI2LDB4NTIsMHhlYywweDAwLDB4YTksMHgwMCwweDJhLDB4NDAsMHgwYSwweDkyLDB4ODAsMHg4NiB9fSwKLSB7MTYsIDB4YzczMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTEsMHhlNCwweDAwLDB4ZTEsMHg2MCwweDM2LDB4NDAgfX0sCi0gezE2LCAweGM3NDAsIDAsIHsweDBkLDB4OTAsMHgyMywweGU0LDB4MDAsMHhmOSwweDMwLDB4M2UsMHg0MCwweDJjLDB4OTAsMHg0MywweDY0LDB4MDYsMHhjOSwweDAwIH19LAotIHsxNiwgMHhjNzUwLCAwLCB7MHgzMiwweDQ5LDB4MGUsMHg4ZCwweDkzLDB4ZTAsMHgwMCwweGY5LDB4MDAsMHgyZSwweDQwLDB4MmMsMHg5NCwweDAzLDB4YzcsMHg0MCB9fSwKLSB7MTYsIDB4Yzc2MCwgMCwgezB4ZTksMHgyMCwweDMwLDB4NTUsMHgwZSwweDkwLDB4MDMsMHhlOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM3NzAsIDAsIHsweDI4LDB4MDEsMHhhNCwweDAwLDB4ZjksMHgwMCwweDFlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHg4MCwweDNjIH19LAotIHsxNiwgMHhjNzgwLCAwLCB7MHg0MCwweDRmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhlOSwweDA0LDB4YmUsMHg0MCwweDBmLDB4ODgsMHgzMywweDYyLDB4MDAsMHhmOSB9fSwKLSB7MTYsIDB4Yzc5MCwgMCwgezB4YzIsMHgzZSwweDQ4LDB4MmUsMHg4OCwweDMzLDB4ZTIsMHgwMCwweGQ5LDB4MDAsMHgzZSwweDYwLDB4MGQsMHg4MCwweDAzLDB4Y2EgfX0sCi0gezE2LCAweGM3YTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGM4LDB4MDAsMHgzZSwweDAwIH19LAotIHsxNiwgMHhjN2IwLCAwLCB7MHgwZCwweDgwLDB4MDMsMHhhMCwweDA0LDB4ZTgsMHg0MCwweGJhLDB4MDAsMHgwYywweDgwLDB4MDMsMHhlMCwweDA0LDB4YzgsMHgwMCB9fSwKLSB7MTYsIDB4YzdjMCwgMCwgezB4M2EsMHgwMCwweDBlLDB4OGMsMHgwMywweGUwLDB4MDAsMHhmOCwweDAyLDB4MzIsMHgwMCwweDBlLDB4ODAsMHgwMywweDYxLDB4MjAgfX0sCi0gezE2LCAweGM3ZDAsIDAsIHsweGY4LDB4MDAsMHgzMiwweDE2LDB4MGYsMHg4MCwweDAzLDB4Y2EsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjN2UwLCAwLCB7MHgyOCwweDA1LDB4MjgsMHgwMCwweDhhLDB4MDAsMHgyZSwweDgwLDB4MDgsMHhlMiwweDAzLDB4MjgsMHgwMCwweDhhLDB4MDAsMHgyMiB9fSwKLSB7MTYsIDB4YzdmMCwgMCwgezB4ODAsMHgwOCwweGEwLDB4MDIsMHhlOCwweDA0LDB4OGEsMHgwMCwweDJlLDB4YTIsMHgwOSwweGU4LDB4MDIsMHhmYSwweDA0LDB4YmUgfX0sCi0gezE2LCAweGM4MDAsIDAsIHsweDAwLDB4YTIsMHg4MCwweDA4LDB4Y2QsMHg4MiwweDMzLDB4MjAsMHhiNiwweGMwLDB4MzcsMHhhMCwweDRiLDB4YzgsMHg4MiwweGNhIH19LAotIHsxNiwgMHhjODEwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDZjLDB4MDAsMHg4MywweDAwLDB4MjYsMHhjMCB9fSwKLSB7MTYsIDB4YzgyMCwgMCwgezB4MDksMHgzOCwweDAyLDB4NGMsMHgwMCwweGIzLDB4MDAsMHgyNCwweGMwLDB4MDgsMHgzMCwweDAyLDB4ZWMsMHgwMCwweDgzLDB4MDAgfX0sCi0gezE2LCAweGM4MzAsIDAsIHsweDI4LDB4ZTAsMHgwYiwweDMwLDB4MDIsMHhjZSwweDgxLDB4YjMsMHgwMCwweDYyLDB4YzAsMHgwOCwweDNjLDB4MDIsMHg0ZiwweDAwIH19LAotIHsxNiwgMHhjODQwLCAwLCB7MHhiMywweGEwLDB4MjAsMHhiMCwweDAzLDB4MzAsMHgwMiwweGNhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Yzg1MCwgMCwgezB4YTAsMHgwMSwweDBjLDB4NDEsMHg4NywweDM0LDB4MmQsMHhjMCwweDA4LDB4NjAsMHgwMiwweDllLDB4NDAsMHhiNywweGEwLDB4MmQgfX0sCi0gezE2LCAweGM4NjAsIDAsIHsweGMwLDB4MDgsMHg3MywweDAyLDB4ZGMsMHgwMCwweDg3LDB4MjAsMHgyZCwweGMwLDB4MGIsMHg3MCwweDgyLDB4ZGQsMHg4NSwweGJmIH19LAotIHsxNiwgMHhjODcwLCAwLCB7MHg4MSwweDYzLDB4YzgsMHg4OCwweDdiLDB4MDIsMHgxYywweDAwLDB4YjcsMHg0MCwweDY1LDB4MDAsMHgxYiwweDcyLDB4MDIsMHhlOCB9fSwKLSB7MTYsIDB4Yzg4MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZSwweDAwLDB4YzcsMHg4MSwweDNkLDB4ZTAgfX0sCi0gezE2LCAweGM4OTAsIDAsIHsweGRkLDB4NzAsMHgwMywweGZlLDB4ODAsMHhmNywweDkwLDB4M2YsMHhlMCwweDJjLDB4NzksMHgwMywweGZlLDB4ODAsMHhjNywweGEwIH19LAotIHsxNiwgMHhjOGEwLCAwLCB7MHgzOSwweGUwLDB4MGYsMHg3YSwweDAyLDB4ZGUsMHg4NCwweGY3LDB4YzIsMHgzMSwweGYyLDB4MGMsMHg3OSwweDAzLDB4NWUsMHgwNCB9fSwKLSB7MTYsIDB4YzhiMCwgMCwgezB4ZjcsMHg4NCwweDMxLDB4NjAsMHgwZiwweDdlLDB4MDMsMHhlYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM4YzAsIDAsIHsweDA4LDB4MWQsMHhhZCwweDBhLDB4ZmIsMHg2MCwweDdlLDB4ZDQsMHgwZiwweDMwLDB4MDMsMHg2YywweDAwLDB4Y2IsMHgwMCwweDMyIH19LAotIHsxNiwgMHhjOGQwLCAwLCB7MHhkZSwweDJmLDB4YjIsMHgwMywweGVkLDB4NDIsMHgxYiwweDYwLDB4M2UsMHhjMSwweDBkLDB4YjEsMHgwMywweGVjLDB4NTAsMHhmNyB9fSwKLSB7MTYsIDB4YzhlMCwgMCwgezB4ODAsMHgzZCwweGQ4LDB4MmUsMHgzMiwweDAzLDB4ZWMsMHgzMCwweGZiLDB4MDAsMHgzZSwweDQwLDB4MGYsMHhiMCwweDAzLDB4YzIgfX0sCi0gezE2LCAweGM4ZjAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmYsMHgwMCwweGNiLDB4ZDAsMHgzZiwweGYwIH19LAotIHsxNiwgMHhjOTAwLCAwLCB7MHg0YywweGY4LDB4MTMsMHhmZSwweDAwLDB4Y2YsMHg4OCwweDNmLDB4ZTAsMHgwYywweGY4LDB4NDMsMHgzZiwweDAwLDB4Y2YsMHhjOCB9fSwKLSB7MTYsIDB4YzkxMCwgMCwgezB4MzMsMHhlMCwweDBjLDB4ZjgsMHgwMywweGZlLDB4MDAsMHhmZiwweDgwLDB4M2YsMHhlMCwweDJjLDB4ZjgsMHgwMywweGJlLDB4MjAgfX0sCi0gezE2LCAweGM5MjAsIDAsIHsweGM3LDB4ODAsMHgzMywweGUwLDB4MGMsMHhmOCwweDAxLDB4MDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjOTMwLCAwLCB7MHhhOCwweDAxLDB4YmMsMHg0MCwweDg3LDB4OTAsMHgzZCwweGMwLDB4MDgsMHg0MCwweDAyLDB4ZGMsMHg4MCwweGQ3LDB4MDAsMHgyZCB9fSwKLSB7MTYsIDB4Yzk0MCwgMCwgezB4YzAsMHgwYywweDMwLDB4MDMsMHg3YywweDAwLDB4ODcsMHgxMCwweDIxLDB4YzQsMHgxZSwweDcwLDB4MjAsMHhkYywweDQ0LDB4YjcgfX0sCi0gezE2LCAweGM5NTAsIDAsIHsweDAwLDB4MzksMHhjMCwweDBjLDB4NzEsMHgwMiwweDFjLDB4NDAsMHhkNywweDAyLDB4MjksMHg0MCwweDA4LDB4NzAsMHgwMiwweDJhIH19LAotIHsxNiwgMHhjOTYwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDljLDB4MDAsMHg4NywweDMyLDB4MmQsMHhjMCB9fSwKLSB7MTYsIDB4Yzk3MCwgMCwgezB4MDgsMHg3MCwweDAyLDB4ZGMsMHgwMSwweDg3LDB4MDAsMHgyYywweGMwLDB4MmIsMHg3MCwweDBhLDB4NWMsMHgwMCwweDgzLDB4MDAgfX0sCi0gezE2LCAweGM5ODAsIDAsIHsweDIzLDB4YzAsMHgwOCwweDcwLDB4MDIsMHhkZCwweDAwLDB4YjcsMHgwMCwweDJkLDB4YzQsMHgwYiwweGYwLDB4MDIsMHg5YywweDIwIH19LAotIHsxNiwgMHhjOTkwLCAwLCB7MHg4NywweDE4LDB4MjksMHg0MCwweDA4LDB4NzAsMHg4MiwweDAwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzlhMCwgMCwgezB4MjAsMHgxNCwweGNjLDB4MDAsMHg4MywweDAyLDB4MjgsMHhjMCwweDA4LDB4MTAsMHgwMiwweGNjLDB4MDgsMHg4MywweDQwLDB4MmUgfX0sCi0gezE2LCAweGM5YjAsIDAsIHsweGMwLDB4MmEsMHgzMCwweDAyLDB4MGMsMHgwMCwweDhiLDB4MDAsMHgyMCwweGYyLDB4MGEsMHgzMCwweDAyLDB4Y2UsMHgwMCwweGIzIH19LAotIHsxNiwgMHhjOWMwLCAwLCB7MHg4OCwweDJhLDB4ZDAsMHgwYSwweDMwLDB4MDYsMHgwYywweDAwLDB4OTIsMHgwMCwweDI4LDB4NzgsMHgwOCwweDNjLDB4NDIsMHgwOCB9fSwKLSB7MTYsIDB4YzlkMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhiYywweDAyLDB4YzcsMHgwMCwweDJmLDB4YzAgfX0sCi0gezE2LCAweGM5ZTAsIDAsIHsweDJjLDB4OTAsMHgwMiwweGZjLDB4MDIsMHg4ZiwweGQ4LDB4M2YsMHhjMCwweDRiLDB4ZjAsMHgwMiwweDdjLDB4MDIsMHhjZiwweDAwIH19LAotIHsxNiwgMHhjOWYwLCAwLCB7MHgyMCwweGYyLDB4MDgsMHhiMCwweDEzLDB4ZWUsMHg4MCwweGZmLDB4MDAsMHgzZiwweGQ0LDB4MmUsMHhiZCwweDgzLDB4YWMsMHgwMCB9fSwKLSB7MTYsIDB4Y2EwMCwgMCwgezB4Y2IsMHg4MCwweDNhLDB4YTAsMHhhYywweGI4LDB4MDMsMHgyYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNhMTAsIDAsIHsweDgwLDB4MDAsMHhlYywweDAwLDB4ZmIsMHgxMCwweDNlLDB4YzAsMHgwZiwweDg0LDB4MDMsMHhlYywweDEwLDB4ZmIsMHgwMCwweDNlIH19LAotIHsxNiwgMHhjYTIwLCAwLCB7MHhjMCwweDAxLDB4YjAsMHgwMywweGVjLDB4MDAsMHhmYiwweDAwLDB4YmUsMHhjMCwweDBlLDB4YjAsMHgyMywweGVjLDB4MDgsMHhmYiB9fSwKLSB7MTYsIDB4Y2EzMCwgMCwgezB4MTAsMHgzZiwweGMwLDB4MGQsMHhiNCwweDAzLDB4ZWQsMHgwNCwweGY5LDB4MDAsMHgxZSwweDE0LDB4Y2YsMHhiMCwweDgzLDB4ZTAgfX0sCi0gezE2LCAweGNhNDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZmMsMHgwMCwweGNmLDB4MDAsMHgzMCwweGMwIH19LAotIHsxNiwgMHhjYTUwLCAwLCB7MHgwYywweDQwLDB4MDMsMHhhYywweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHgyYywweGIwLDB4MDMsMHhiYywweDAwLDB4ZmYsMHgwMCB9fSwKLSB7MTYsIDB4Y2E2MCwgMCwgezB4YjMsMHhlMCwweDBkLDB4ZmEsMHgwMywweDdlLDB4ODAsMHhjZiwweDAwLDB4MzMsMHhjMCwweDBjLDB4ZmMsMHg0MywweGZmLDB4MjAgfX0sCi0gezE2LCAweGNhNzAsIDAsIHsweGZmLDB4MDAsMHgzZiwweDQwLDB4MDgsMHhmOCwweDAzLDB4YzAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjYTgwLCAwLCB7MHg4MSwweDA0LDB4NmMsMHgxMCwweGFiLDB4MDAsMHgyYSwweGMwLDB4MGEsMHg4ZSwweDQyLDB4MmMsMHgwNCwweGJiLDB4MDAsMHgyZSB9fSwKLSB7MTYsIDB4Y2E5MCwgMCwgezB4YzAsMHgwOCwweGIwLDB4MDIsMHg2YywweDAwLDB4YmIsMHgwMCwweDNhLDB4YzAsMHgwZSwweDMwLDB4MDIsMHgwZCwweDA4LDB4ODMgfX0sCi0gezE2LCAweGNhYTAsIDAsIHsweDAyLDB4MjIsMHhjMCwweDBhLDB4YmMsMHgwMiwweGVmLDB4MDAsMHhiYiwweGMwLDB4MmMsMHg2OCwweDBhLDB4YjksMHgwMiwweGUwIH19LAotIHsxNiwgMHhjYWIwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDBjLDB4MDAsMHg4YiwweDAwLDB4MjIsMHhjMCB9fSwKLSB7MTYsIDB4Y2FjMCwgMCwgezB4MDgsMHhiOCwweDAyLDB4YWMsMHgwMCwweGJiLDB4MDIsMHgyZSwweGMwLDB4MDgsMHhiMCwweDAyLDB4ZWMsMHgwMCwweGJiLDB4MDAgfX0sCi0gezE2LCAweGNhZDAsIDAsIHsweDI2LDB4NDgsMHgxOSwweGIwLDB4MDIsMHg2ZCwweDAwLDB4OGIsMHgwMCwweDIyLDB4YzAsMHgwYSwweGIwLDB4MDIsMHhlYywweDA0IH19LAotIHsxNiwgMHhjYWUwLCAwLCB7MHhiYiwweDFjLDB4MmUsMHgyMCwweDBhLDB4YjAsMHgwMiwweGUwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2FmMCwgMCwgezB4MDgsMHgxNCwweDBjLDB4MDAsMHhhYiwweDIwLDB4MjgsMHhjMCwweDBhLDB4MDAsMHgwMiwweDBjLDB4MDAsMHg5MywweDA0LDB4MmMgfX0sCi0gezE2LCAweGNiMDAsIDAsIHsweGMxLDB4MDgsMHgzMCwweDAyLDB4NGMsMHgwMCwweGIzLDB4MDAsMHgyNCwweDQxLDB4MDksMHhiOCwweDAyLDB4MGMsMHgwMiwweDgzIH19LAotIHsxNiwgMHhjYjEwLCAwLCB7MHgwMSwweGEwLDB4YzAsMHgwYSwweDMwLDB4MDIsMHhjYywweDEwLDB4OTMsMHgwMCwweDJjLDB4MDAsMHgwYSwweDMwLDB4MDIsMHhjMiB9fSwKLSB7MTYsIDB4Y2IyMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHg3YywweDAwLDB4Y2YsMHgyOCwweDMzLDB4YzAgfX0sCi0gezE2LCAweGNiMzAsIDAsIHsweDBjLDB4YTAsMHg0NiwweGFjLDB4MTEsMHhiZiwweDAwLDB4M2YsMHhjMCwweDVjLDB4ZjAsMHg0MywweGZjLDB4MDAsMHhmZiwweDA0IH19LAotIHsxNiwgMHhjYjQwLCAwLCB7MHgzMiwweDQwLDB4MGQsMHhiMCwweDAzLDB4NmMsMHgwOCwweGNiLDB4MDQsMHgzMSwweGMwLDB4MGMsMHhiMCwweDMzLDB4ZWQsMHg0MCB9fSwKLSB7MTYsIDB4Y2I1MCwgMCwgezB4ZmIsMHgwNCwweDNlLDB4NDAsMHgwZSwweGIwLDB4MDMsMHhjMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNiNjAsIDAsIHsweGEwLDB4MTUsMHhmYywweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHgwZiwweGMwLDB4MjMsMHhmYywweDAxLDB4ZmYsMHgwMCwweDNmIH19LAotIHsxNiwgMHhjYjcwLCAwLCB7MHhjMCwweDRmLDB4ZjAsMHg4NywweDdjLDB4MDAsMHhmZiwweDAwLDB4MzksMHg0MCwweDBlLDB4ZjAsMHgwMywweGZjLDB4MDAsMHhmZiB9fSwKLSB7MTYsIDB4Y2I4MCwgMCwgezB4MDAsMHgzZiwweGMwLDB4MGYsMHg3MCwweDAzLDB4ZGMsMHg4MCwweGZmLDB4MDAsMHgzZCwweDQwLDB4MGYsMHg3MCwweDAzLDB4ZTggfX0sCi0gezE2LCAweGNiOTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmMsMHg0MCwweGViLDB4NDgsMHgzZSwweGMyIH19LAotIHsxNiwgMHhjYmEwLCAwLCB7MHgwZSwweDA5LDB4MDMsMHhiYywweDYwLDB4YzAsMHgyMCwweDM1LDB4MjQsMHgwZSwweGQyLDB4MTMsMHgyYywweDYwLDB4ZmIsMHg2YSB9fSwKLSB7MTYsIDB4Y2JiMCwgMCwgezB4MzMsMHhjMCwweDBmLDB4Y2EsMHgwMywweDIyLDB4MjAsMHhjMCwweDgwLDB4MzcsMHhjMCwweDBkLDB4ZjAsMHgwMywweDdjLDB4MDAgfX0sCi0gezE2LCAweGNiYzAsIDAsIHsweGVmLDB4MDAsMHgzMywweDI0LDB4MGYsMHhjOCwweDAzLDB4MzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjYmQwLCAwLCB7MHg4MCwweDEwLDB4ZGQsMHgwMCwweDhmLDB4NjAsMHgyZiwweGQ4LDB4MDgsMHhhMiwweDAyLDB4ZmQsMHg4MCwweGM4LDB4NzAsMHgyMiB9fSwKLSB7MTYsIDB4Y2JlMCwgMCwgezB4MDAsMHgyYywweGZkLDB4MDcsMHhkYywweDg0LDB4YmYsMHg2MCwweDIzLDB4ZDIsMHgwYiwweGJkLDB4MDIsMHgyMywweDAwLDB4ODggfX0sCi0gezE2LCAweGNiZjAsIDAsIHsweDgwLDB4YTIsMHgyMCwweDg4LDB4YjAsMHgyMiwweDM0LDB4MDAsMHhiYiwweDUwLDB4MjIsMHhjOCwweDBiLDB4YjAsMHgwMiwweDIwIH19LAotIHsxNiwgMHhjYzAwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNjLDB4NDAsMHhhMywweDAzLDB4MmMsMHhjMiB9fSwKLSB7MTYsIDB4Y2MxMCwgMCwgezB4MGEsMHgwMCwweDQyLDB4OGMsMHg4MiwweGEzLDB4MGEsMHgyNCwweDgwLDB4MGIsMHgzMCwweDAyLDB4Y2MsMHg5MCwweGIzLDB4MDAgfX0sCi0gezE2LCAweGNjMjAsIDAsIHsweDI4LDB4ZDgsMHgwYiwweDEwLDB4MDIsMHg4YywweDAyLDB4OTAsMHgwMCwweDIwLDB4YzAsMHgwYiwweDEwLDB4NDIsMHg0YywweDAwIH19LAotIHsxNiwgMHhjYzMwLCAwLCB7MHhiMywweDA0LDB4MjQsMHhjMCwweDBiLDB4MzAsMHgwZSwweGEyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2M0MCwgMCwgezB4YzAsMHgxNSwweGFjLDB4MTAsMHg5YiwweDA0LDB4MmMsMHhjMCwweGY4LDB4OTgsMHgwNiwweGVjLDB4MDAsMHhhYiwweDgwLDB4MjYgfX0sCi0gezE2LCAweGNjNTAsIDAsIHsweDIwLDB4MDgsMHg5MCwweDJhLDB4YWMsMHgxMCwweGJiLDB4MDAsMHgwYSwweGMwLDB4MWIsMHhiMCwweDIyLDB4YWQsMHgwMCwweDk4IH19LAotIHsxNiwgMHhjYzYwLCAwLCB7MHg0MCwweDJhLDB4NzAsMHg0YiwweGIwLDB4MDIsMHgyYywweDAwLDB4YjMsMHgwMCwweGE2LDB4ODYsMHgxYiwweGIwLDB4ODIsMHhiMCB9fSwKLSB7MTYsIDB4Y2M3MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlYywweDAwLDB4ZWIsMHgwMCwweDNlLDB4YzAgfX0sCi0gezE2LCAweGNjODAsIDAsIHsweDhlLDB4OTgsMHgwMywweGFjLDB4MDgsMHhlOCwweGMwLDB4MzYsMHgzMCwweDRmLDB4YjAsMHg0MiwweGVjLDB4MDAsMHhmOSwweDgwIH19LAotIHsxNiwgMHhjYzkwLCAwLCB7MHgzYSwweGMwLDB4OGYsMHg4OCwweDQyLDB4MjAsMHgxMCwweGM4LDB4MTAsMHgzMCwweGYwLDB4MGYsMHgzMCwweDEzLDB4NmMsMHgxMCB9fSwKLSB7MTYsIDB4Y2NhMCwgMCwgezB4ZWIsMHgwMCwweDM2LDB4ZjAsMHgwZiwweGJkLDB4MDMsMHg5MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNjYjAsIDAsIHsweGUwLDB4MDEsMHhiYywweDAwLDB4ZWYsMHgwNCwweDdmLDB4YzAsMHgwZiwweGYwLDB4NDMsMHhkYywweDAwLDB4YzQsMHgwMCwweDNiIH19LAotIHsxNiwgMHhjY2MwLCAwLCB7MHg0MCwweDhiLDB4ZGMsMHgwMywweDdjLDB4MTAsMHhmOSwweDkwLDB4MzYsMHhjMiwweDRmLDB4ZjksMHgyMywweDYyLDB4NDEsMHhhYyB9fSwKLSB7MTYsIDB4Y2NkMCwgMCwgezB4MDEsMHgxMywweDQwLDB4MDQsMHhiMCwweDAzLDB4ZTQsMHgwMCwweGZmLDB4MDAsMHgzYiwweGMwLDB4MGYsMHhjMCwweDAzLDB4NzggfX0sCi0gezE2LCAweGNjZTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4OGMsMHgxMiwweGNiLDB4MDAsMHhmMiwweGMwIH19LAotIHsxNiwgMHhjY2YwLCAwLCB7MHgwZiwweDgwLDB4MDMsMHhhYywweDA4LDB4ZDksMHgwMCwweDNhLDB4ODAsMHgwZiwweDEyLDB4MDMsMHhhYywweDAwLDB4ZTEsMHgwMCB9fSwKLSB7MTYsIDB4Y2QwMCwgMCwgezB4MzIsMHhjMCwweDBjLDB4OTAsMHgwMywweGVkLDB4MDIsMHhjOCwweDQwLDB4M2UsMHhkMCwweDBmLDB4OTAsMHgxMywweDJjLDB4MDIgfX0sCi0gezE2LCAweGNkMTAsIDAsIHsweGRiLDB4MDAsMHgzZSwweDUwLDB4MGMsMHhiNCwweDAzLDB4MTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjZDIwLCAwLCB7MHhjOCwweDA1LDB4M2MsMHgwMCwweDhmLDB4MDAsMHgxNywweGMwLDB4MDgsMHg5MCwweDAyLDB4M2MsMHgwOCwweDhkLDB4MDAsMHgyMiB9fSwKLSB7MTYsIDB4Y2QzMCwgMCwgezB4NTQsMHgwOCwweGI0LDB4MDMsMHgzYywweDAwLDB4ODksMHgwMCwweDIzLDB4YzAsMHg0MCwweDM1LDB4MDIsMHhjYywweDI0LDB4ODAgfX0sCi0gezE2LCAweGNkNDAsIDAsIHsweDAwLDB4MjIsMHg3NCwweDRjLDB4YjAsMHgwMiwweDJjLDB4MDAsMHg4ZiwweDAwLDB4MmUsMHhkNCwweDBhLDB4YjAsMHgwYSwweDMyIH19LAotIHsxNiwgMHhjZDUwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwMSwweDRjLDB4MDIsMHg4MywweDAwLDB4MjQsMHhjMCB9fSwKLSB7MTYsIDB4Y2Q2MCwgMCwgezB4MDksMHgwMCwweDAyLDB4OGMsMHgwMSwweDkwLDB4MDAsMHg2YSwweDQxLDB4MGEsMHgzMCwweDIwLDB4NGUsMHgxMCwweDMxLDB4MDIgfX0sCi0gezE2LCAweGNkNzAsIDAsIHsweDJjLDB4YzAsMHgwOSwweDIwLDB4MDYsMHhjZSwweDAwLDB4ODAsMHgwMCwweDYwLDB4ZTAsMHgwYSwweDMwLDB4ODIsMHgwYywweDA4IH19LAotIHsxNiwgMHhjZDgwLCAwLCB7MHg4MywweDA4LDB4MmMsMHhkMCwweDA5LDB4YjAsMHgwMiwweDc4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2Q5MCwgMCwgezB4MjAsMHgwMSwweDFlLDB4MDQsMHg4NywweGIwLDB4MjAsMHhlYywweDA5LDB4ZTksMHgwMiwweDhlLDB4NTgsMHg5ZCwweGIwLDB4MmIgfX0sCi0gezE2LCAweGNkYTAsIDAsIHsweGE1LDB4NDAsMHg1YiwweDA2LDB4ZGUsMHg0MCwweDk1LDB4OTQsMHgyZCwweGU0LDB4MTksMHg3YiwweDA2LDB4ZGUsMHgwMCwweDg0IH19LAotIHsxNiwgMHhjZGIwLCAwLCB7MHg4MCwweDYwLDB4ZTAsMHgwYSwweDc4LDB4MGEsMHgxNiwweDEwLDB4ODcsMHg4MCwweDJkLDB4NjgsMHgwYiwweDc5LDB4MDIsMHg0OCB9fSwKLSB7MTYsIDB4Y2RjMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDAwLDB4Y2IsMHhhMCwweDI0LDB4ZTAgfX0sCi0gezE2LCAweGNkZDAsIDAsIHsweDBmLDB4MmEsMHgwMywweDhlLDB4MDAsMHhkMiwweGQwLDB4MzgsMHhmYSwweDBmLDB4MTgsMHhjMywweGNlLDB4MjQsMHgzMSwweGIwIH19LAotIHsxNiwgMHhjZGUwLCAwLCB7MHgzYywweGU1LDB4MGMsMHgzYiwweDE3LDB4Y2UsMHgwNCwweGMwLDB4ODIsMHgzOCwweGMyLDB4OWUsMHgxMCwweDAzLDB4MGMsMHgwMCB9fSwKLSB7MTYsIDB4Y2RmMCwgMCwgezB4YzMsMHgwMSwweDNlLDB4YzAsMHgwZCwweDgxLDB4MDMsMHg1MiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNlMDAsIDAsIHsweDQwLDB4MWQsMHhiYywweDAwLDB4ZWYsMHgxMCwweDNlLDB4YzIsMHgwZSwweGIxLDB4MjMsMHgyYywweGMxLDB4YWIsMHgwMSwweDM2IH19LAotIHsxNiwgMHhjZTEwLCAwLCB7MHg4MCwweDBmLDB4YjAsMHgyMywweDJkLDB4OTAsMHhlOSwweDg0LDB4NzIsMHhjOCwweDYyLDB4ZjEsMHgxNywweGZjLDB4MDAsMHhmYyB9fSwKLSB7MTYsIDB4Y2UyMCwgMCwgezB4MDAsMHgzYiwweGM0LDB4MWQsMHhmMCwweDAzLDB4ZWMsMHgwMCwweGVmLDB4MDgsMHgzZiwweGM4LDB4MGUsMHhmMSwweDAzLDB4OTAgfX0sCi0gezE2LCAweGNlMzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWMsMHg4MCwweGZiLDB4YTQsMHgzYSwweGM4IH19LAotIHsxNiwgMHhjZTQwLCAwLCB7MHgwZSwweDkwLDB4MDMsMHgyYywweDA0LDB4Y2EsMHgwMCwweDMwLDB4NjAsMHgyZCwweDFhLDB4MjcsMHg2YywweDg0LDB4Y2IsMHg2MCB9fSwKLSB7MTYsIDB4Y2U1MCwgMCwgezB4MzIsMHhkMiwweDBjLDB4YTAsMHgxMywweDJkLDB4ODQsMHhjYiwweDAyLDB4M2UsMHhjMCwweDBkLDB4YjgsMHgwMywweGFjLDB4ODAgfX0sCi0gezE2LCAweGNlNjAsIDAsIHsweGNiLDB4ODEsMHgzMiwweDgwLDB4MGMsMHhiMCwweDAzLDB4YWEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjZTcwLCAwLCB7MHg0OCwweDExLDB4OWMsMHhhNCwweGI3LDB4MjgsMHg3MywweGMyLDB4MDgsMHhmMCwweDAyLDB4M2MsMHhjMCwweDhmLDB4MDAsMHgzMSB9fSwKLSB7MTYsIDB4Y2U4MCwgMCwgezB4YzAsMHgwOSwweDcwLDB4ODIsMHg5YywweDgwLDB4ODcsMHgwYywweDIwLDB4ZDgsMHgwOSwweDcwLDB4MjIsMHgxYywweDMwLDB4ODQgfX0sCi0gezE2LCAweGNlOTAsIDAsIHsweDAwLDB4M2QsMHhjMCwweDA4LDB4NzAsMHgwMiwweDE0LDB4MjQsMHg4NywweGEwLDB4MjEsMHhjMCwweDA4LDB4NzAsMHgxMiwweDEyIH19LAotIHsxNiwgMHhjZWEwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDllLDB4NDAsMHhiMywweDk1LDB4MjksMHhlOSB9fSwKLSB7MTYsIDB4Y2ViMCwgMCwgezB4MGEsMHg2OCwweDAyLDB4OWUsMHhkMCwweDg2LDB4ZjAsMHhhMywweGUwLDB4MDgsMHg3OCwweDEyLDB4OWUsMHg0NCwweGEzLDB4ODIgfX0sCi0gezE2LCAweGNlYzAsIDAsIHsweDIxLDB4ZTgsMHgwYiwweDM4LDB4MDIsMHgwZSwweDEwLDB4ODcsMHg4MCwweDJmLDB4ZTAsMHgwYiwweDE4LDB4MDIsMHg4ZSwweDAyIH19LAotIHsxNiwgMHhjZWQwLCAwLCB7MHg4NywweDAwLDB4MjEsMHhlMCwweDA4LDB4NzgsMHgwMiwweDMwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2VlMCwgMCwgezB4NDgsMHgxNCwweGNjLDB4MDAsMHhiMywweDAwLDB4MjQsMHhjMCwweDQ4LDB4MzAsMHgwMiwweDBjLDB4MDQsMHg4MywweDgwLDB4MjAgfX0sCi0gezE2LCAweGNlZjAsIDAsIHsweGQwLDB4MDksMHgxMCwweDAyLDB4OGMsMHgwNiwweGEzLDB4ODAsMHgyMCwweGMwLDB4MGIsMHgzMCwweDAyLDB4MGMsMHgwMiwweDgwIH19LAotIHsxNiwgMHhjZjAwLCAwLCB7MHg0MCwweDI4LDB4ZDIsMHgwYSwweDMwLDB4MDIsMHgwYywweDAxLDB4ODMsMHgwMCwweDIyLDB4M2MsMHgwOCwweDg3LDB4MDIsMHgxMiB9fSwKLSB7MTYsIDB4Y2YxMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOCwweDE4LDB4ZmEsMHgwMCwweDNhLDB4ODAgfX0sCi0gezE2LCAweGNmMjAsIDAsIHsweDhlLDB4ZTQsMHg0MiwweDI4LDB4MDIsMHhjZSwweDgwLDB4MzMsMHg4MCwweDRkLDB4YTAsMHg4MywweGU4LDB4MDAsMHhlYSwweGEwIH19LAotIHsxNiwgMHhjZjMwLCAwLCB7MHhiMiwweDgwLDB4MGEsMHhhMCwweDBhLDB4MjgsMHgwMCwweGNlLDB4MTgsMHgyZiwweDgwLDB4MGYsMHhhMCwweDEzLDB4YTgsMHgwMCB9fSwKLSB7MTYsIDB4Y2Y0MCwgMCwgezB4Y2EsMHgwMCwweDMyLDB4OTAsMHgyYywweGFjLDB4MGIsMHgzYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNmNTAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDAwLDB4ZjgsMHgwNCwweDNhLDB4MDAsMHgwZiwweDgwLDB4ODMsMHhjMCwweDA4LDB4ZTgsMHgwMywweDNhIH19LAotIHsxNiwgMHhjZjYwLCAwLCB7MHgwMCwweDBlLDB4ODAsMHgyMiwweGMwLDB4MDAsMHhkMCwweDAwLDB4N2UsMHgxMCwweGE0LDB4ODAsMHgwMywweGMwLDB4MDAsMHhmOCB9fSwKLSB7MTYsIDB4Y2Y3MCwgMCwgezB4MDAsMHgzZSwweDEwLDB4MGQsMHg4NCwweDAzLDB4YzAsMHgwMCwweGY4LDB4MDAsMHhiZSwweDAwLDB4MGYsMHg4MCwweDAxLDB4NTIgfX0sCi0gezE2LCAweGNmODAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4YzQsMHgwMiwweGM5LDB4MDAsMHgzNiwweDQwIH19LAotIHsxNiwgMHhjZjkwLCAwLCB7MHgwYywweDkwLDB4MDMsMHg2NCwweDAyLDB4ODksMHgwNCwweDMyLDB4NDIsMHgwZCwweDkyLDB4MDMsMHhlNiwweDQyLDB4YzksMHgwMCB9fSwKLSB7MTYsIDB4Y2ZhMCwgMCwgezB4MzIsMHg3MCwweDBlLDB4MTIsMHgwYiwweDI0LDB4MDgsMHhjOSwweDAwLDB4M2UsMHg0NSwweDBlLDB4OTksMHgwMywweGU0LDB4MDIgfX0sCi0gezE2LCAweGNmYjAsIDAsIHsweGMxLDB4MDAsMHgzMiwweDUwLDB4MDQsMHg5NCwweDAzLDB4MDIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjZmMwLCAwLCB7MHg4MCwweDA0LDB4NjQsMHgwMCwweDg5LDB4MDAsMHg2ZSwweDQwLDB4MDgsMHg5MCwweDAyLDB4MjQsMHgwMCwweDg5LDB4MDAsMHgyMiB9fSwKLSB7MTYsIDB4Y2ZkMCwgMCwgezB4NTQsMHgwYiwweDkwLDB4MDMsMHhlNiwweDAwLDB4ODksMHgwMCwweDIyLDB4NDAsMHgwOCwweDkwLDB4MGEsMHgyNCwweDAwLDB4ODkgfX0sCi0gezE2LCAweGNmZTAsIDAsIHsweDAwLDB4MzgsMHg0OCwweDA4LDB4OTAsMHg4MiwweGU0LDB4MDQsMHhkOSwweDAwLDB4MjIsMHg0MCwweDA4LDB4OTAsMHgwMiwweDIwIH19LAotIHsxNiwgMHhjZmYwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDAsMHg4OSwweDAxLDB4MmMsMHg0MCB9fSwKLSB7MTYsIDB4ZDAwMCwgMCwgezB4MjgsMHgxMCwweDQyLDB4NjQsMHgwMCwweGExLDB4MDQsMHgyMiwweDUwLDB4MDEsMHg5MCwweDQyLDB4ZTQsMHgwMCwweDg5LDB4MDQgfX0sCi0gezE2LCAweGQwMTAsIDAsIHsweDIwLDB4NDIsMHgwYSwweDkwLDB4NDIsMHgzNCwweDAwLDB4ODksMHgwMCwweDZlLDB4NDAsMHgwYSwweDkwLDB4MDAsMHhlNCwweDAwIH19LAotIHsxNiwgMHhkMDIwLCAwLCB7MHg4OSwweDAwLDB4MjMsMHg0MCwweDBhLDB4ZDAsMHgwMiwweDA2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDAzMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4ODAsMHg4MSwweDI0LDB4MmMsMHg0OCwweDA4LDB4MTAsMHgwMiwweDA0LDB4ODAsMHhhMSwweDIwLDB4MjggfX0sCi0gezE2LCAweGQwNDAsIDAsIHsweDQwLDB4MGIsMHgxMCwweDAyLDB4ODUsMHg4MCwweDgxLDB4MjAsMHgyMCwweDQ4LDB4MDgsMHg1MCwweDYyLDB4MTQsMHgwMiwweDgxIH19LAotIHsxNiwgMHhkMDUwLCAwLCB7MHgwMywweDJlLDB4NDAsMHg4OCwweDE2LDB4ODIsMHhjNCwweGEwLDB4OTEsMHgyOCwweDIxLDB4NDAsMHgyYSwweDUwLDB4MDIsMHgwMiB9fSwKLSB7MTYsIDB4ZDA2MCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MSwweDQwLDB4YzgsMHg1MCwweDJlLDB4MTQgfX0sCi0gezE2LCAweGQwNzAsIDAsIHsweDBjLDB4ODUsMHgwMywweDYxLDB4NDAsMHhlOCwweDUwLDB4YjIsMHgxNSwweDRkLDB4ODAsMHgwMiwweGMwLDB4MDAsMHg0OCwweDUwIH19LAotIHsxNiwgMHhkMDgwLCAwLCB7MHhiMiwweDE1LDB4MWEsMHg4MCwweDEzLDB4MzAsMHgwOCwweGM4LDB4MDAsMHgzZSwweDAwLDB4MGUsMHg4MiwweDAzLDB4ZTAsMHg4MCB9fSwKLSB7MTYsIDB4ZDA5MCwgMCwgezB4YzAsMHgyMCwweDMwLDB4MDAsMHgwZSwweDQwLDB4MGIsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQwYTAsIDAsIHsweDk4LDB4MWQsMHhlNCwweDQwLDB4ZjksMHgxMCwweDNlLDB4NDQsMHgwZiwweGQwLDB4MDMsMHhlNCwweDQ4LDB4ZGQsMHgxMCwweDM3IH19LAotIHsxNiwgMHhkMGIwLCAwLCB7MHg0MCwweDBmLDB4ZDQsMHgwNywweGU0LDB4NDAsMHhmZCwweDEwLDB4M2UsMHg0NSwweDBmLDB4OTQsMHgwMywweGU1LDB4MDgsMHhmZCB9fSwKLSB7MTYsIDB4ZDBjMCwgMCwgezB4MDIsMHgzOSwweGQwLDB4MGYsMHhkMCwweDQzLDB4ZjQsMHhhMCwweGY5LDB4MjgsMHgzZSwweDRiLDB4MGQsMHg5MiwweDgzLDB4ZTYgfX0sCi0gezE2LCAweGQwZDAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZTYsMHg4MCwweGM5LDB4YTYsMHgzMiwweDY4IH19LAotIHsxNiwgMHhkMGUwLCAwLCB7MHgwYywweDkwLDB4MDMsMHhhNiwweDgxLDB4ZTksMHhlOSwweDNiLDB4NDAsMHgwZSwweDU4LDB4MDMsMHgzNiwweDIwLDB4YzksMHhhMCB9fSwKLSB7MTYsIDB4ZDBmMCwgMCwgezB4MzcsMHg3OCwweDBkLDB4ZGEsMHgwMywweDM2LDB4MjYsMHhjNSwweDAwLDB4MzcsMHg2OSwweDBlLDB4ZGUsMHgwMywweGE2LDB4ODIgfX0sCi0gezE2LCAweGQxMDAsIDAsIHsweGNkLDB4YzAsMHgzMywweDUwLDB4MGYsMHhkMCwweDAzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkMTEwLCAwLCB7MHgzOCwweDEwLDB4ZTMsMHhhNCwweDg4LDB4YTksMHgyMiwweDNhLDB4MDgsMHgwOCwweDAwLDB4MjIsMHhhMCwweGI4LDB4ZTUsMHgzMCB9fSwKLSB7MTYsIDB4ZDEyMCwgMCwgezB4MjAsMHgyOCwweDgwLDB4MjIsMHg0MywweGEwLDB4MDgsMHhlOCwweDJhLDB4M2QsMHgwOCwweGE0LDB4NjIsMHgyMCwweDAwLDB4ODggfX0sCi0gezE2LCAweGQxMzAsIDAsIHsweDAwLDB4MmUsMHgxMCwweDA4LDB4OGUsMHgwMywweDIzLDB4YTAsMHg4OCwweGEwLDB4MjAsMHgyOCwweDBiLDB4OGEsMHg4MiwweDBlIH19LAotIHsxNiwgMHhkMTQwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4NDAsMHg5MSwweDQwLDB4MjAsMHg0NCB9fSwKLSB7MTYsIDB4ZDE1MCwgMCwgezB4MDgsMHg5MCwweGEyLDB4ODUsMHgxMCwweGExLDB4MjAsMHgyYywweDQyLDB4MGIsMHgxNCwweDEyLDB4OGMsMHgwMSwweDkxLDB4MTAgfX0sCi0gezE2LCAweGQxNjAsIDAsIHsweDJjLDB4NDgsMHgwOSwweDExLDB4MGEsMHhjNCwweDAwLDB4ODEsMHgwMCwweDJjLDB4NTAsMHgwYiwweDExLDB4MTIsMHhjNSwweDAxIH19LAotIHsxNiwgMHhkMTcwLCAwLCB7MHhiMSwweDQwLDB4MjQsMHg0OCwweDBiLDB4MTgsMHgwZSwweDAyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDE4MCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MDAsMHg5MSwweDAwLDB4MjIsMHg0MSwweDA4LDB4OTQsMHg0MiwweDI0LDB4MDAsMHhiMSwweDQwLDB4MjAgfX0sCi0gezE2LCAweGQxOTAsIDAsIHsweDQwLDB4NDksMHhiMiwweDYyLDB4MjQsMHgwMCwweDk5LDB4MDAsMHgwYSwweDQwLDB4MDgsMHg5MCwweDAyLDB4ZTUsMHg4MCwweDg5IH19LAotIHsxNiwgMHhkMWEwLCAwLCB7MHgwMCwweDJlLDB4NDAsMHgwOSwweGIwLDB4MDIsMHgyNCwweDgwLDB4YjksMHgwMCwweDI2LDB4NTAsMHg0YiwweDkwLDB4MDIsMHgwNiB9fSwKLSB7MTYsIDB4ZDFiMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNCwweDAyLDB4ZDksMHgwMCwweGIyLDB4NDAgfX0sCi0gezE2LCAweGQxYzAsIDAsIHsweDJjLDB4OTUsMHgxMywweGE0LDB4MTAsMHhlOSwweDAwLDB4YmUsMHg2MCwweDhmLDB4OTAsMHgwYiwweGE0LDB4MTAsMHg1OSwweDAwIH19LAotIHsxNiwgMHhkMWQwLCAwLCB7MHgxZSwweDQwLDB4OWQsMHg5NCwweDIzLDB4ZTQsMHgwMiwweDg5LDB4MDAsMHgzNCwweDQwLDB4MGYsMHg5MCwweDAzLDB4ZTYsMHgwOCB9fSwKLSB7MTYsIDB4ZDFlMCwgMCwgezB4NzksMHgwMCwweGI2LDB4NDAsMHgwNywweDk4LDB4MDMsMHgyOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQxZjAsIDAsIHsweDI4LDB4MDEsMHg4NCwweDAwLDB4ZTksMHgwMiwweDNjLDB4NDAsMHgyZiwweDk4LDB4MDIsMHhlNCwweDAwLDB4ZjksMHg0MiwweDNhIH19LAotIHsxNiwgMHhkMjAwLCAwLCB7MHg2OCwweDBhLDB4MTAsMHgwMywweGU0LDB4MTAsMHhlOSwweDAwLDB4M2UsMHg0MCwweDBlLDB4OTAsMHgwZiwweDI2LDB4MDAsMHhmOSB9fSwKLSB7MTYsIDB4ZDIxMCwgMCwgezB4MDQsMHgzZSwweDQwLDB4MGUsMHgxYywweDAzLDB4ZTYsMHgwMCwweGMxLDB4MDAsMHgzYSwweDUwLDB4MGYsMHg5OSwweDgzLDB4Y2EgfX0sCi0gezE2LCAweGQyMjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGU4LDB4MDAsMHgzYSwweDAwIH19LAotIHsxNiwgMHhkMjMwLCAwLCB7MHgwYywweDg0LDB4MDMsMHgyMCwweDAwLDB4ZDgsMHg0MiwweDMyLDB4MDQsMHgwYywweDg4LDB4MTMsMHhlMCwweDAwLDB4YzgsMHgwMCB9fSwKLSB7MTYsIDB4ZDI0MCwgMCwgezB4MzAsMHgwMCwweDBjLDB4MDQsMHgwYiwweDAwLDB4MDAsMHhkOCwweDAwLDB4MzYsMHgwMCwweDBlLDB4ODAsMHgyMywweDAwLDB4MDAgfX0sCi0gezE2LCAweGQyNTAsIDAsIHsweGM4LDB4ODAsMHgzMiwweDAwLDB4MGMsMHg4MCwweDAxLDB4MGEsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkMjYwLCAwLCB7MHgyOCwweDA1LDB4MjgsMHgxMCwweDhhLDB4MDAsMHgyZSwweDgwLDB4MjgsMHgyMCwweDIyLDB4MjgsMHgwMCwweDhhLDB4MDAsMHgyMyB9fSwKLSB7MTYsIDB4ZDI3MCwgMCwgezB4YjAsMHg4OCwweGUwLDB4MDIsMHgyOCwweDEwLDB4ZGEsMHgwMCwweGEzLDB4YjQsMHgwOCwweGU4LDB4MTAsMHgyOCwweDAwLDB4OGUgfX0sCi0gezE2LCAweGQyODAsIDAsIHsweDIwLDB4MjMsMHhhMCwweDQ4LDB4ZWQsMHgxYSwweDI4LDB4MDAsMHhkZSwweDAwLDB4MjMsMHg5MCwweDBhLDB4ZTAsMHgwMiwweDBhIH19LAotIHsxNiwgMHhkMjkwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDAsMHhhMywweDAwLDB4MjgsMHhjMCB9fSwKLSB7MTYsIDB4ZDJhMCwgMCwgezB4MDgsMHgzMCwweDBhLDB4MGMsMHgwMCwweDkzLDB4MDAsMHgyMCwweGMyLDB4MmEsMHgzMCwweDIyLDB4YTQsMHgwMCwweGJiLDB4MDAgfX0sCi0gezE2LCAweGQyYjAsIDAsIHsweDA4LDB4ZTAsMHgxOCwweDA5LDB4MGEsMHg0YywweDAwLDB4OTMsMHgwMiwweDI0LDB4ZTgsMHgwMiwweDA4LDB4MDYsMHg0YywweDAwIH19LAotIHsxNiwgMHhkMmMwLCAwLCB7MHg5MywweDAwLDB4MjAsMHhkOCwweDBhLDB4OTAsMHgwMiwweDRhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDJkMCwgMCwgezB4YTAsMHgwMSwweDFjLDB4ODAsMHg4NywweDA0LDB4MmQsMHhjMCwweDA4LDB4NzAsMHgwMiwweDBlLDB4MDAsMHg4NywweDEwLDB4MjUgfX0sCi0gezE2LCAweGQyZTAsIDAsIHsweDAwLDB4MGEsMHg2MCwweDAyLDB4NWUsMHgwMCwweDk3LDB4MDAsMHgyOSwweDgyLDB4MDgsMHg1MCwweDEyLDB4NTQsMHgwMCwweDhmIH19LAotIHsxNiwgMHhkMmYwLCAwLCB7MHg4MCwweDYxLDB4ZDAsMHgwOCwweDA0LDB4MDIsMHg1YywweDAxLDB4YjcsMHgwOCwweGE5LDB4YTAsMHgwYSwweDUwLDB4ODIsMHg2OCB9fSwKLSB7MTYsIDB4ZDMwMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgzZSwweDgwLDB4ZTcsMHg4MCwweDM4LDB4ZTQgfX0sCi0gezE2LCAweGQzMTAsIDAsIHsweDA4LDB4N2UsMHgwMywweDFmLDB4MDAsMHhkZiwweDgwLDB4YjEsMHgyMSwweDFlLDB4NzgsMHgwMywweGRjLDB4MDQsMHhmMywweDgwIH19LAotIHsxNiwgMHhkMzIwLCAwLCB7MHg1YiwweGUxLDB4MDgsMHgyOCwweDAzLDB4NWUsMHgwMCwweGQ3LDB4ODAsMHgzNSwweDYwLDB4MGUsMHg2OCwweDAzLDB4NGUsMHgwMCB9fSwKLSB7MTYsIDB4ZDMzMCwgMCwgezB4ZGYsMHg4MCwweDMxLDB4ZTAsMHgwZSwweGY4LDB4MGIsMHg2YSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQzNDAsIDAsIHsweDA4LDB4MWQsMHhhZCwweDAyLDB4ZmIsMHg3NCwweDNlLDB4ZDAsMHg0ZiwweGIyLDB4ODMsMHhlZCwweDAwLDB4N2IsMHg2OCwweDNhIH19LAotIHsxNiwgMHhkMzUwLCAwLCB7MHgwMCwweDhkLDB4ODAsMHgwMywweGE0LDB4MjAsMHhkYiwweDAxLDB4MzYsMHg4MCwweDZmLDB4YjAsMHg0MSwweDg0LDB4MDAsMHhlYiB9fSwKLSB7MTYsIDB4ZDM2MCwgMCwgezB4MDAsMHgzYywweGMwLDB4MGYsMHhlNiwweDgzLDB4YmMsMHg0MCwweGRiLDB4MDAsMHhiNiwweDgwLDB4MGYsMHhiMCwweDAzLDB4ODIgfX0sCi0gezE2LCAweGQzNzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmYsMHgyMCwweGRmLDB4YzAsMHgzYiwweGU2IH19LAotIHsxNiwgMHhkMzgwLCAwLCB7MHgwZSwweGY4LDB4MTMsMHhmZiwweDQ0LDB4YzcsMHg4MiwweDNiLDB4ZTAsMHgwZiwweGY5LDB4MDMsMHhiZSwweDEwLDB4Y2YsMHhjOCB9fSwKLSB7MTYsIDB4ZDM5MCwgMCwgezB4MzMsMHg2MCwweDhkLDB4ZWIsMHgwMywweDNlLDB4MDAsMHhkYiwweDgyLDB4M2YsMHhlMCwweDBjLDB4ZDgsMHgwMywweDNlLDB4NDAgfX0sCi0gezE2LCAweGQzYTAsIDAsIHsweGNlLDB4ODAsMHgzMywweGU0LDB4MGYsMHhmOCwweDAzLDB4MDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkM2IwLCAwLCB7MHhhOCwweDExLDB4YmMsMHg0MCwweDg3LDB4MDAsMHgyMSwweGU0LDB4MGIsMHg3OCwweGEyLDB4Y2UsMHg5MCwweGM3LDB4YjAsMHgyMCB9fSwKLSB7MTYsIDB4ZDNjMCwgMCwgezB4ZTgsMHgwYiwweDI4LDB4OTIsMHhiNiwweDg4LDB4ODcsMHhhMCwweDIwLDB4NjQsMHgwYiwweDM1LDB4MDMsMHgxNCwweDAwLDB4ODcgfX0sCi0gezE2LCAweGQzZDAsIDAsIHsweGIyLDB4MzksMHhjMCwweDJjLDB4YzAsMHgwMywweDVlLDB4MDIsMHhjZiwweDAwLDB4MzEsMHhjZSwweDBiLDB4NzYsMHgxMiwweDJhIH19LAotIHsxNiwgMHhkM2UwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDljLDB4MDAsMHhhMywweDEwLDB4MjksMHhjOCB9fSwKLSB7MTYsIDB4ZDNmMCwgMCwgezB4MGIsMHg3NCwweDAyLDB4ZGMsMHg4MCwweDhmLDB4MDAsMHgyOSwweGNjLDB4MGEsMHgzMCwweDA2LDB4MTQsMHg4MCwweDg3LDB4MTAgfX0sCi0gezE2LCAweGQ0MDAsIDAsIHsweDIxLDB4YzAsMHgwYiwweDY2LDB4MDIsMHg1YywweDAwLDB4ODcsMHgwMCwweDJkLDB4YzAsMHgwYiwweDUxLDB4MDIsMHgxYywweDgwIH19LAotIHsxNiwgMHhkNDEwLCAwLCB7MHg5NiwweDAwLDB4MjEsMHhjMCwweDViLDB4NzQsMHg4MiwweDAwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDQyMCwgMCwgezB4MjAsMHgxNCwweGNjLDB4MDgsMHhhMywweDAwLDB4MjAsMHhjMCwweDBiLDB4YjgsMHgwMiwweGNjLDB4MDAsMHg4YiwweDQwLDB4YTggfX0sCi0gezE2LCAweGQ0MzAsIDAsIHsweGMwLDB4OGIsMHgwOCwweDIyLDB4OGMsMHgwMiwweDgzLDB4MDAsMHg2MCwweGMwLDB4MGIsMHgzMCwweDQyLDB4MDQsMHgwMCwweDgzIH19LAotIHsxNiwgMHhkNDQwLCAwLCB7MHg0MCwweDI4LDB4ZmMsMHg4YSwweDAwLDB4MDIsMHg2ZSwweDAwLDB4ODMsMHgwMCwweGEwLDB4ZDAsMHg4YiwweDM4LDB4MDIsMHgwOCB9fSwKLSB7MTYsIDB4ZDQ1MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTEsMHhiYywweDAyLDB4ZWYsMHgwMCwweDNiLDB4YzAgfX0sCi0gezE2LCAweGQ0NjAsIDAsIHsweDRmLDB4ZjgsMHgwMiwweGZjLDB4MDIsMHhjZiwweDAwLDB4MzgsMHgxMiwweDBlLDB4OTgsMHgwMiwweDJjLDB4MDAsMHhjZiwweDAwIH19LAotIHsxNiwgMHhkNDcwLCAwLCB7MHgzMiwweGMwLDB4MDksMHg5MCwweDAzLDB4NjQsMHgwMiwweDgxLDB4YzAsMHgzZSwweGQwLDB4MGYsMHg5MCwweDA3LDB4M2MsMHgwMyB9fSwKLSB7MTYsIDB4ZDQ4MCwgMCwgezB4ZDksMHgwMCwweDMyLDB4NjAsMHgwZiwweDg4LDB4MDMsMHgyYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ0OTAsIDAsIHsweDgwLDB4MDAsMHhjYywweDAwLDB4ZGIsMHgwMCwweDNlLDB4YzAsMHg4ZiwweGIwLDB4MDMsMHhlYywweDAwLDB4ZmIsMHgwMiwweDM2IH19LAotIHsxNiwgMHhkNGEwLCAwLCB7MHhjMCwweDRmLDB4OTAsMHgwMiwweGU0LDB4MDAsMHhmYiwweDAwLDB4YmUsMHg5MCwweDBmLDB4OWMsMHgxMywweGVjLDB4MDAsMHhlOSB9fSwKLSB7MTYsIDB4ZDRiMCwgMCwgezB4MTgsMHgzYSwweGQwLDB4MDQsMHhkNSwweDAzLDB4ZWMsMHg0MCwweGU5LDB4MDAsMHgzYSwweDAwLDB4OGYsMHg4MCwweDAzLDB4ZTAgfX0sCi0gezE2LCAweGQ0YzAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZmMsMHgwMCwweGNmLDB4MDAsMHgzZCwweGMxIH19LAotIHsxNiwgMHhkNGQwLCAwLCB7MHg4YywweGYwLDB4MDMsMHgyYywweDAwLDB4ZWYsMHgwYSwweGIzLDB4MTIsMHgyYywweDcwLDB4MjMsMHgxNCwweDBhLDB4NGYsMHgwMCB9fSwKLSB7MTYsIDB4ZDRlMCwgMCwgezB4MzUsMHg2MCwweDBkLDB4YjAsMHgwMywweDA0LDB4MDAsMHhjZCwweDgwLDB4MDcsMHhlOCwweDBjLDB4YzQsMHgwMywweDJjLDB4MDAgfX0sCi0gezE2LCAweGQ0ZjAsIDAsIHsweGNkLDB4MDAsMHgzMSwweGUyLDB4MmMsMHhlMCwweDAzLDB4MDAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkNTAwLCAwLCB7MHg4MSwweDA0LDB4NmMsMHgwMiwweGFiLDB4MDIsMHgyZSwweGMwLDB4MGUsMHhiMCwweDAyLDB4MmMsMHgwMCwweDhiLDB4MDAsMHgzMiB9fSwKLSB7MTYsIDB4ZDUxMCwgMCwgezB4MzAsMHgwMCwweDljLDB4MDMsMHg2YywweDAwLDB4OGIsMHgwNCwweDIyLDB4MzYsMHgwOCwweDM0LDB4NGEsMHgyYywweDA4LDB4ODkgfX0sCi0gezE2LCAweGQ1MjAsIDAsIHsweDkwLDB4MjAsMHhiOCwweDBmLDB4ODQsMHgwMCwweGFjLDB4MDIsMHg4OSwweDAwLDB4MzYsMHhhMCwweDA4LDB4YTQsMHgwMiwweDIwIH19LAotIHsxNiwgMHhkNTMwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDAsMHg4YiwweDAwLDB4MmUsMHhjMCB9fSwKLSB7MTYsIDB4ZDU0MCwgMCwgezB4MDgsMHhiMCwweDAyLDB4MGMsMHgwMCwweDhiLDB4MDAsMHgyMiwweGQxLDB4MDgsMHg4OCwweDEyLDB4MjYsMHgwMCwweGEzLDB4MDAgfX0sCi0gezE2LCAweGQ1NTAsIDAsIHsweDI2LDB4NDAsMHgwYiwweGIwLDB4MDIsMHgyNiwweDAwLDB4OGIsMHgwMCwweDI2LDB4YzAsMHg1OCwweDEwLDB4MTIsMHgyYywweDA0IH19LAotIHsxNiwgMHhkNTYwLCAwLCB7MHg4MiwweDgwLDB4MmEsMHg0OSwweDA4LDB4MzAsMHgwMiwweDIwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDU3MCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDAsMHhhMywweDE0LDB4MmMsMHhjOCwweDFhLDB4MzQsMHg4YSwweDBjLDB4ODQsMHg4MywweDQwLDB4MjIgfX0sCi0gezE2LCAweGQ1ODAsIDAsIHsweGM4LDB4MDgsMHgwMywweDYyLDB4NGMsMHhjMCwweGEzLDB4NjAsMHgyMCwweDQwLDB4MGEsMHgzMCwweDAyLDB4MGMsMHgwMCwweDhiIH19LAotIHsxNiwgMHhkNTkwLCAwLCB7MHg0NSwweDA4LDB4YzAsMHgwYiwweDEwLDB4MDIsMHg4YywweGEwLDB4ODMsMHgwMCwweDI2LDB4NDAsMHgwOCwweDMwLDB4MGEsMHgwMiB9fSwKLSB7MTYsIDB4ZDVhMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg3YywweDAwLDB4Y2YsMHg0MCwweDJmLDB4ZDIgfX0sCi0gezE2LCAweGQ1YjAsIDAsIHsweDhjLDB4ZjYsMHgwMywweDNjLDB4MjIsMHhjZiwweDQwLDB4MzIsMHhkNiwweDRjLDB4YTYsMHhjMSwweDNkLDB4YTAsMHg4NywweDQ4IH19LAotIHsxNiwgMHhkNWMwLCAwLCB7MHgzNiwweDBkLDB4MGYsMHhiMSwweDAyLDB4MjQsMHg0MiwweGNiLDB4NjAsMHgxNiwweGMwLDB4MGMsMHhkMCwweDAzLDB4MmMsMHg4MCB9fSwKLSB7MTYsIDB4ZDVkMCwgMCwgezB4Y2EsMHgwMCwweDMyLDB4YzAsMHgwYywweDMwLDB4MDMsMHgwMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ1ZTAsIDAsIHsweGEwLDB4MTksMHhmYywweDAwLDB4ZmYsMHgyMCwweDNlLDB4Y2EsMHgwZSwweGIwLDB4MDMsMHhlYywweDIwLDB4ZGIsMHgzNCwweDNhIH19LAotIHsxNiwgMHhkNWYwLCAwLCB7MHhjOCwweDBmLDB4ODAsMHgwMywweGU0LDB4MTAsMHhkYiwweDIxLDB4M2UsMHgxOCwweDBkLDB4ZjIsMHgwMywweGZjLDB4ODAsMHhmZiB9fSwKLSB7MTYsIDB4ZDYwMCwgMCwgezB4MzAsMHgzNSwweGMwLDB4MGYsMHhjMCwweDEzLDB4ZWMsMHgwMCwweGZmLDB4MDAsMHgzYiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZTggfX0sCi0gezE2LCAweGQ2MTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDExLDB4ZmMsMHgwMCwweGZiLDB4MGIsMHgyZiwweGNhIH19LAotIHsxNiwgMHhkNjIwLCAwLCB7MHg4ZCwweGYyLDB4MDMsMHhmYSwweDAwLDB4OTYsMHg4MCwweDNiLDB4YzQsMHgwZCwweGYxLDB4MDMsMHg3YywweDgwLDB4ZWMsMHg4MCB9fSwKLSB7MTYsIDB4ZDYzMCwgMCwgezB4M2IsMHgwOCwweDBjLDB4YzIsMHgwMywweDc0LDB4MDIsMHhjYywweDgwLDB4M2YsMHg0OCwweDBlLDB4ZjAsMHgwMywweDMwLDB4YTAgfX0sCi0gezE2LCAweGQ2NDAsIDAsIHsweGQ1LDB4ODAsMHgzZiwweDQwLDB4MGMsMHhmOCwweDAzLDB4ZjAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkNjUwLCAwLCB7MHg4MCwweDA4LDB4ZWUsMHg0MCwweGJmLDB4ODAsMHgyZiwweGYwLDB4MGIsMHhmNywweDIyLDB4ZWUsMHgyMCwweDhhLDB4ODAsMHgyMyB9fSwKLSB7MTYsIDB4ZDY2MCwgMCwgezB4ZmMsMHg4OCwweDc1LDB4MTIsMHgzZCwweDAwLDB4ODgsMHgwMCwweDIyLDB4MDAsMHgyOCwweDgwLDB4MDIsMHgyNCwweDA4LDB4ODggfX0sCi0gezE2LCAweGQ2NzAsIDAsIHsweDAwLDB4NmYsMHg1MCwweDAwLDB4ZjUsMHgwMiwweDI5LDB4MDAsMHg4OSwweDAwLDB4MmUsMHg1NCwweDBkLDB4OTAsMHgxMSwweGEwIH19LAotIHsxNiwgMHhkNjgwLCAwLCB7MHgwNCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNjLDB4MDAsMHhiMywweDAwLDB4MmMsMHhjMSB9fSwKLSB7MTYsIDB4ZDY5MCwgMCwgezB4MDksMHgzMCwweDgyLDB4Y2MsMHg4MiwweGJiLDB4MDAsMHgyOCwweGMwLDB4NDksMHgzMiwweDAyLDB4Y2QsMHgwMCwweGI4LDB4MDAgfX0sCi0gezE2LCAweGQ2YTAsIDAsIHsweDJjLDB4NTAsMHgwOSwweDAxLDB4MDIsMHgwYywweDQwLDB4ODAsMHgwMCwweDZjLDB4NDQsMHgwOSwweDMwLDB4MDIsMHgyMCwweDAwIH19LAotIHsxNiwgMHhkNmIwLCAwLCB7MHhiMCwweDAwLDB4MmMsMHg0MCwweDE4LDB4MzAsMHgwNiwweGUyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDZjMCwgMCwgezB4YzAsMHgwMSwweGFjLDB4MDAsMHhiYiwweDAxLDB4MmUsMHhjMCwweDBiLDB4YjAsMHgwMiwweGVlLDB4MDAsMHhhYSwweDAwLDB4NGEgfX0sCi0gezE2LCAweGQ2ZDAsIDAsIHsweGMwLDB4MDgsMHhiMCwweDUyLDB4ZWMsMHgwMCwweDk4LDB4MDIsMHgyNiwweDQwLDB4MDksMHg4MCwweDAyLDB4NmMsMHgwMSwweGFhIH19LAotIHsxNiwgMHhkNmUwLCAwLCB7MHgwNCwweDJlLDB4NDAsMHgwOSwweGIwLDB4MDIsMHgyMiwweDAwLDB4YTksMHg4MCwweDJlLDB4NDEsMHgwOSwweDkwLDB4MDIsMHhmMCB9fSwKLSB7MTYsIDB4ZDZmMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDUsMHhlYywweDAwLDB4ZmIsMHgwMCwweDNlLDB4YzAgfX0sCi0gezE2LCAweGQ3MDAsIDAsIHsweDBkLDB4YjAsMHgwMywweGNlLDB4ODQsMHhmYSwweDAwLDB4MWEsMHhjMCwweDhkLDB4YjAsMHg0MywweGVjLDB4MDAsMHhmMCwweDAyIH19LAotIHsxNiwgMHhkNzEwLCAwLCB7MHgzZiwweDAwLDB4MGQsMHhkMSwweDAzLDB4MzUsMHgwMCwweGNiLDB4NDgsMHgyZSwweDQwLDB4MmYsMHhiMCwweDA5LDB4MjIsMHg4MCB9fSwKLSB7MTYsIDB4ZDcyMCwgMCwgezB4ZjksMHhjOCwweDFlLDB4ZTAsMHgwOCwweGIxLDB4ZTIsMHhkMCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ3MzAsIDAsIHsweGUwLDB4MDEsMHhiYywweDAwLDB4N2IsMHgwMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MjMsMHhmYywweDAwLDB4ZGUsMHgwMCwweDI0IH19LAotIHsxNiwgMHhkNzQwLCAwLCB7MHhjMCwweDRmLDB4ZjAsMHgwMywweDJjLDB4MDAsMHhlYywweDIwLDB4M2IsMHgwMCwweDBlLDB4OTgsMHgwMywweDk0LDB4MDIsMHhkZCB9fSwKLSB7MTYsIDB4ZDc1MCwgMCwgezB4MDAsMHgzZiwweDQwLDB4NGUsMHhmMCwweDAxLDB4ZjgsMHgwMCwweGRkLDB4MDAsMHgzYywweGU0LDB4MGYsMHhkOCwweDAzLDB4YjggfX0sCi0gezE2LCAweGQ3NjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAwLDB4YWMsMHhjMCwweGZiLDB4MjAsMHgzMiwweGM4IH19LAotIHsxNiwgMHhkNzcwLCAwLCB7MHg4ZCwweGIwLDB4MDMsMHhlYywweDAwLDB4ZjksMHgwMCwweDNhLDB4YzIsMHgyYywweDMwLDB4MDMsMHg2YywweDA0LDB4ZDgsMHgwMiB9fSwKLSB7MTYsIDB4ZDc4MCwgMCwgezB4M2MsMHg0NCwweDhkLDB4MTAsMHgwMywweGFkLDB4MDMsMHhlYSwweDAwLDB4M2MsMHg0MCwweDBjLDB4NzAsMHgyMywweGU0LDB4MDAgfX0sCi0gezE2LCAweGQ3OTAsIDAsIHsweGM4LDB4NDAsMHgzYSwweGMwLDB4MGQsMHhiYywweDAzLDB4NTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkN2EwLCAwLCB7MHhjOCwweDAxLDB4M2QsMHgwMCwweGJmLDB4NDIsMHgyMywweGYwLDB4MGQsMHhmMCwweDAyLDB4ZTUsMHgwMCwweGUyLDB4MDEsMHgzNyB9fSwKLSB7MTYsIDB4ZDdiMCwgMCwgezB4ZjEsMHgwOCwweGYwLDB4MGUsMHgzZCwweGMwLDB4YTgsMHgwMCwweDJlLDB4NTQsMHgyOCwweDkwLDB4MDIsMHgyYywweDAwLDB4OGEgfX0sCi0gezE2LCAweGQ3YzAsIDAsIHsweDA1LDB4M2IsMHg0MSwweDQ4LDB4ZjUsMHgwMywweDhjLDB4MDAsMHg4OSwweDAwLDB4MjIsMHhkNCwweDBlLDB4OTUsMHgwMiwweGYyIH19LAotIHsxNiwgMHhkN2QwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRjLDB4MDAsMHhiMywweDA0LDB4MjAsMHhjMCB9fSwKLSB7MTYsIDB4ZDdlMCwgMCwgezB4ODksMHgzMCwweDAyLDB4Y2MsMHg0MCwweGIyLDB4MDAsMHgyYywweGM0LDB4NDgsMHgzMCwweDAyLDB4MmMsMHgwMiwweGEyLDB4MDAgfX0sCi0gezE2LCAweGQ3ZjAsIDAsIHsweDJjLDB4MjAsMHgxOSwweDIwLDB4MWEsMHg4MCwweDA4LDB4YjAsMHgwMCwweDZjLDB4NDAsMHgwOCwweDMwLDB4MDIsMHhjNCwweDAwIH19LAotIHsxNiwgMHhkODAwLCAwLCB7MHg4MSwweDAwLDB4MmMsMHg0MCwweDA4LDB4MzAsMHgwMiwweGY4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDgxMCwgMCwgezB4MjAsMHgwMSwweDFlLDB4MDAsMHhiNywweGEwLDB4ZTEsMHhlMCwweDA5LDB4NzgsMHgwMiwweGRmLDB4MDQsMHhhZSwweDgwLDB4MmQgfX0sCi0gezE2LCAweGQ4MjAsIDAsIHsweGUwLDB4MDgsMHg3OSwweDAyLDB4MWUsMHgxMCwweDg3LDB4OTAsMHgyYywweDI4LDB4MjksMHg2OCwweDAyLDB4ODIsMHg4MSwweGI0IH19LAotIHsxNiwgMHhkODMwLCAwLCB7MHg4MCwweDJkLDB4NjAsMHgwOCwweDc4LDB4MTAsMHhiYywweDAwLDB4OGYsMHg4MCwweDJkLDB4NjAsMHgwYiwweDY4LDB4MDIsMHhjOCB9fSwKLSB7MTYsIDB4ZDg0MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDAsMHgwYywweDA1LDB4ZjMsMHg5MiwweDMwLDB4Y2EgfX0sCi0gezE2LCAweGQ4NTAsIDAsIHsweDBkLDB4MzAsMHgwMywweGNjLDB4MDAsMHhmMywweDAwLDB4M2MsMHhjMCwweDBjLDB4MzAsMHgwMiwweDBjLDB4ODAsMHg3MCwweDAwIH19LAotIHsxNiwgMHhkODYwLCAwLCB7MHgyYywweDQwLDB4MGQsMHgyMCwweDAzLDB4ODksMHgwMCwweGIxLDB4MDAsMHgzZSwweDQwLDB4MmMsMHgzMCwweDAzLDB4ZWMsMHg1MCB9fSwKLSB7MTYsIDB4ZDg3MCwgMCwgezB4YzMsMHgyMCwweDNjLDB4NDAsMHgwYywweDMwLDB4MDMsMHhkMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ4ODAsIDAsIHsweDQwLDB4MWQsMHhiYywweDAwLDB4ZmYsMHgwMCwweDNjLDB4YzAsMHgwZSwweGIwLDB4ODMsMHhlYywweDQwLDB4ZWEsMHgwMCwweDM2IH19LAotIHsxNiwgMHhkODkwLCAwLCB7MHhjMiwweDBmLDB4YjAsMHg4MywweGFjLDB4MDAsMHhmOCwweDAwLDB4M2UsMHg0OCwweDBlLDB4ZTAsMHgwYiwweDdhLDB4ODAsMHhjZiB9fSwKLSB7MTYsIDB4ZDhhMCwgMCwgezB4MDAsMHgzYiwweDQ0LDB4MGYsMHhmMCwweDAzLDB4ZWMsMHhjMCwweGZmLDB4MDAsMHgwMywweDQ0LDB4MGUsMHhlMCwweDAzLDB4ZDAgfX0sCi0gezE2LCAweGQ4YjAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWMsMHgwMCwweGZiLDB4MjMsMHgzZSwweGM4IH19LAotIHsxNiwgMHhkOGMwLCAwLCB7MHgxZCwweGIwLDB4MDMsMHhlZSwweDAwLDB4Y2EsMHgwMCwweDNlLDB4YzgsMHgwYywweGIyLDB4MDMsMHgyZCwweDkwLDB4YzgsMHg4NCB9fSwKLSB7MTYsIDB4ZDhkMCwgMCwgezB4MzYsMHgwMCwweDJkLDB4YjAsMHgwMywweDYwLDB4MTgsMHg5YiwweDgwLDB4MzMsMHg1MCwweDBjLDB4ZjIsMHgwMywweGUyLDB4MDAgfX0sCi0gezE2LCAweGQ4ZTAsIDAsIHsweGM5LDB4ODAsMHgzMiwweDQwLDB4MGMsMHhiOCwweDAzLDB4MmEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkOGYwLCAwLCB7MHg0OCwweDExLDB4OWMsMHgwMCwweGI3LDB4MjgsMHgwYywweGQyLDB4MjgsMHg3MywweDAyLDB4ZmMsMHgwMCwweDg2LDB4MDQsMHgyYyB9fSwKLSB7MTYsIDB4ZDkwMCwgMCwgezB4Y2MsMHgyOCwweDcwLDB4ODMsMHgwYywweDIwLDB4OTUsMHgwMSwweDIwLDB4MDAsMHgwOSwweDMwLDB4MTIsMHgxMCwweDA0LDB4ODUgfX0sCi0gezE2LCAweGQ5MTAsIDAsIHsweDAwLDB4MjEsMHg1MiwweDA4LDB4NzUsMHgwMiwweGQ4LDB4MDAsMHg4NywweDAwLDB4MjEsMHg0MCwweDA4LDB4NjAsMHgwMiwweDEyIH19LAotIHsxNiwgMHhkOTIwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDllLDB4ZDQsMHhiNywweGIxLDB4MDksMHhlMSB9fSwKLSB7MTYsIDB4ZDkzMCwgMCwgezB4MDgsMHg3OCwweDIyLDB4ZGUsMHgwMCwweDk1LDB4ODAsMHgyZCwweGUwLDB4MDgsMHg3OCwweDBhLDB4NWUsMHg0MiwweDk0LDB4YzAgfX0sCi0gezE2LCAweGQ5NDAsIDAsIHsweDIxLDB4NjAsMHgwOCwweDc4LDB4MDIsMHg1YSwweDAwLDB4ODcsMHg4MCwweDJkLDB4NjgsMHgwOCwweDdhLDB4MDIsMHhkNywweDAwIH19LAotIHsxNiwgMHhkOTUwLCAwLCB7MHg5NywweDgwLDB4MjAsMHg2MCwweDA5LDB4NzgsMHgwMiwweDMwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDk2MCwgMCwgezB4NDgsMHgxMCwweGNjLDB4MDAsMHhiMywweDAwLDB4MmMsMHhjMCwweDA4LDB4YjAsMHgwMiwweGNkLDB4ODAsMHg5MiwweDAwLDB4MmMgfX0sCi0gezE2LCAweGQ5NzAsIDAsIHsweGMwLDB4MDgsMHhiMCwweDAyLDB4Y2MsMHgwMCwweDkwLDB4ODAsMHhhMCwweDQwLDB4MDksMHgzNiwweDAyLDB4NDgsMHgwMiwweDgzIH19LAotIHsxNiwgMHhkOTgwLCAwLCB7MHhhMCwweGFjLDB4NDAsMHgyYSwweDMwLDB4MDYsMHhjZSwweDAyLDB4OTMsMHgwNCwweGEwLDB4NDAsMHgwOSwweDIwLDB4MGEsMHgxMiB9fSwKLSB7MTYsIDB4ZDk5MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOCwweDAwLDB4ZmEsMHgwMCwweDNhLDB4ODAgfX0sCi0gezE2LCAweGQ5YTAsIDAsIHsweDBkLDB4YTAsMHgwMywweGZiLDB4MDIsMHhkZSwweDgwLDB4M2UsMHg4MCwweDBjLDB4YTAsMHgwMywweDI4LDB4MDAsMHhjZSwweDgwIH19LAotIHsxNiwgMHhkOWIwLCAwLCB7MHgzMiwweDgwLDB4MGMsMHhhNCwweDAzLDB4NzgsMHgwMCwweGNlLDB4YTQsMHgzZiwweDgwLDB4MGMsMHhhMCwweDA3LDB4ZjksMHgwMCB9fSwKLSB7MTYsIDB4ZDljMCwgMCwgezB4ZGUsMHgwMCwweDMyLDB4ODAsMHgyZCwweGUwLDB4MDIsMHgzYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ5ZDAsIDAsIHsweDQ4LDB4MDAsMHhlMSwweDAwLDB4ZjgsMHgwMCwweDdjLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhlMCwweDQwLDB4ZTgsMHgxMCwweDNjIH19LAotIHsxNiwgMHhkOWUwLCAwLCB7MHgwMSwweGNmLDB4ODAsMHgwZiwweDIwLDB4MDAsMHhlOCwweDAwLDB4M2UsMHgwMCwweDBlLDB4MDQsMHgwMywweDkwLDB4MDAsMHhlOCB9fSwKLSB7MTYsIDB4ZDlmMCwgMCwgezB4MDAsMHgyMCwweDAwLDB4MGQsMHg4MCwweDA3LDB4ZTAsMHgwMCwweGU4LDB4MDAsMHgzZSwweDA0LDB4MGUsMHg4MCwweDAzLDB4ZDIgfX0sCi0gezE2LCAweGRhMDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGY5LDB4MTAsMHg3ZSwweDQxIH19LAotIHsxNiwgMHhkYTEwLCAwLCB7MHgwZSwweDkwLDB4MDMsMHgyNCwweDAwLDB4ZjksMHgwMCwweDM2LDB4NjgsMHgwZSwweDkwLDB4MGYsMHhhNCwweDA4LDB4YzksMHgwMCB9fSwKLSB7MTYsIDB4ZGEyMCwgMCwgezB4M2EsMHg0MCwweDBjLDB4OTAsMHgwYiwweDI0LDB4MTIsMHhlOSwweDAwLDB4M2UsMHg0NCwweDJjLDB4OTAsMHgwMywweDY0LDB4MjQgfX0sCi0gezE2LCAweGRhMzAsIDAsIHsweGY5LDB4MDIsMHgyZSwweDQwLDB4MGMsMHg5MCwweDAzLDB4YzIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkYTQwLCAwLCB7MHg4MCwweDA0LDB4NjUsMHgxMCwweGI5LDB4ODAsMHgzZSwweDQwLDB4MDgsMHg5MCwweDBhLDB4MjYsMHgwMCwweGIxLDB4MTAsMHgyYSB9fSwKLSB7MTYsIDB4ZGE1MCwgMCwgezB4NzIsMHgwOCwweDkwLDB4MDcsMHg2NCwweDAyLDB4ODksMHg0MCwweDJlLDB4NDAsMHgyOCwweDkwLDB4MTIsMHgyNSwweDAwLDB4ODkgfX0sCi0gezE2LCAweGRhNjAsIDAsIHsweDQ1LDB4M2UsMHg1MCwweDBkLDB4OTAsMHgwYSwweDI1LDB4MDAsMHhiOSwweDQwLDB4MmUsMHg0MCwweDI4LDB4OTQsMHgwMywweGUwIH19LAotIHsxNiwgMHhkYTcwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDAsMHhiOSwweDAwLDB4MmUsMHg0MCB9fSwKLSB7MTYsIDB4ZGE4MCwgMCwgezB4NDgsMHg5MCwweDQyLDB4MjYsMHgwMSwweGI5LDB4NDAsMHgyNiwweDQwLDB4MGEsMHg5MCwweDQyLDB4ODQsMHgwMSwweDhiLDB4MDggfX0sCi0gezE2LCAweGRhOTAsIDAsIHsweDJjLDB4NDAsMHgwOSwweGQwLDB4ODIsMHgzNCwweDMyLDB4YTksMHgwOCwweDZlLDB4NDIsMHgwOCwweDEwLDB4MDIsMHgyNCwweDIwIH19LAotIHsxNiwgMHhkYWEwLCAwLCB7MHhiOSwweDA4LDB4MmMsMHg0MCwweDE4LDB4OTAsMHg4MiwweGM2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGFiMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4ODAsMHhiMywweDIwLDB4MjgsMHg0OCwweDA4LDB4MTIsMHgwMiwweDA0LDB4MDEsMHhiMSwweDAwLDB4MjggfX0sCi0gezE2LCAweGRhYzAsIDAsIHsweDU4LDB4MDgsMHgxMiwweDAyLDB4MDUsMHg4OSwweDgxLDB4NDAsMHgyYywweDU4LDB4MDgsMHg1NiwweDA2LDB4MTUsMHg4MCwweDgxIH19LAotIHsxNiwgMHhkYWQwLCAwLCB7MHg0MCwweDI4LDB4NTAsMHgwOSwweDE0LDB4MDIsMHgwNSwweDgwLDB4YjEsMHg0MCwweDJjLDB4NWEsMHgwOCwweDE0LDB4MDIsMHhjMiB9fSwKLSB7MTYsIDB4ZGFlMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2OCwweDAwLDB4ZjgsMHgwMCwweDJlLDB4MDAgfX0sCi0gezE2LCAweGRhZjAsIDAsIHsweDJlLDB4ODUsMHgwMywweDIxLDB4NDgsMHhmOCwweDAwLDB4MzYsMHgwMCwweDhlLDB4MDUsMHgwMiwweGEwLDB4MDgsMHg4MCwweDAwIH19LAotIHsxNiwgMHhkYjAwLCAwLCB7MHgzZSwweDAwLDB4MGQsMHg4MCwweDBiLDB4MTAsMHgwNCwweGUwLDB4MDAsMHgyYywweDAwLDB4NGMsMHg4MCwweDAzLDB4NDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGIxMCwgMCwgezB4ZjAsMHgwMCwweDNlLDB4MDgsMHgwYywweDAwLDB4MDMsMHhlZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRiMjAsIDAsIHsweDk4LDB4MWQsMHhlNCwweDQwLDB4ZjksMHgxMCwweDNlLDB4NDQsMHgwZiwweDkxLDB4MDMsMHhmNCwweDAwLDB4ZmQsMHgwMCwweDNlIH19LAotIHsxNiwgMHhkYjMwLCAwLCB7MHg0NCwweDBmLDB4OTEsMHgwMywweGU0LDB4NDAsMHhmZCwweDAzLDB4M2YsMHg0NCwweDFmLDB4OTEsMHgxYiwweGU0LDB4NDAsMHhmZCB9fSwKLSB7MTYsIDB4ZGI0MCwgMCwgezB4MDEsMHgzZiwweDUwLDB4MGUsMHg5NCwweDAzLDB4ZjQsMHg0MCwweGZkLDB4MDAsMHgzZiwweDQwLDB4MGYsMHhkMCwweDAzLDB4YTYgfX0sCi0gezE2LCAweGRiNTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDE1LDB4ZjQsMHgwMCwweGNkLDB4YTAsMHg3MSwweDY4IH19LAotIHsxNiwgMHhkYjYwLCAwLCB7MHg4ZCwweDk4LDB4MDMsMHhkNCwweDAwLDB4Y2QsMHgwMCwweDMzLDB4NjAsMHgwYywweDk4LDB4OGYsMHgyNywweDIwLDB4YzksMHg0MCB9fSwKLSB7MTYsIDB4ZGI3MCwgMCwgezB4M2UsMHg3OCwweDBjLDB4OWUsMHg4YiwweDI3LDB4MjAsMHhkMSwweDExLDB4MzAsMHg2MCwweDhjLDB4OWMsMHgwMywweDI1LDB4MDAgfX0sCi0gezE2LCAweGRiODAsIDAsIHsweGY5LDB4NDAsMHgzZSwweDc4LDB4MGYsMHg5MCwweDAzLDB4NDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkYjkwLCAwLCB7MHgzOCwweDEwLDB4ZTAsMHgxMCwweDg4LDB4MDEsMHgyMiwweDAxLDB4MDgsMHg4YywweDIyLDB4ZTgsMHgwMCwweDg4LDB4MDIsMHgyYSB9fSwKLSB7MTYsIDB4ZGJhMCwgMCwgezB4MTQsMHgwOCwweDhjLDB4MGIsMHgyMywweDkwLDB4ODgsMHhhMCwweDJlLDB4YjAsMHgwOCwweDhjLDB4NDIsMHgyMywweDAwLDB4ODggfX0sCi0gezE2LCAweGRiYjAsIDAsIHsweGEwLDB4MzYsMHgyYSwweDE4LDB4OGEsMHgwMiwweDIyLDB4MDAsMHhiOCwweGEwLDB4MmUsMHgzNCwweDBiLDB4Y2EsMHg4MiwweDBlIH19LAotIHsxNiwgMHhkYmMwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4MDAsMHg4MSwweDQwLDB4MjQsMHg1MCB9fSwKLSB7MTYsIDB4ZGJkMCwgMCwgezB4MDksMHgxNiwweDgyLDB4YzQsMHgwMCwweGE5LDB4MDAsMHgyMCwweDQwLDB4MDgsMHgxMiwweDkyLDB4NTQsMHgwOCwweDg1LDB4MDAgfX0sCi0gezE2LCAweGRiZTAsIDAsIHsweDJmLDB4NGMsMHgwOSwweDUyLDB4MTIsMHgxNCwweDgwLDB4OWQsMHgwMCwweDIxLDB4NTAsMHgwOCwweDU0LDB4MjIsMHgxNCwweDgwIH19LAotIHsxNiwgMHhkYmYwLCAwLCB7MHhiNSwweDAwLDB4MmQsMHg0OCwweDBiLDB4ZDAsMHgwMiwweDQyLDB4MDUsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGMwMCwgMCwgezB4MTgsMHgwNSwweGE0LDB4MDIsMHg4OSwweDAxLDB4YTIsMHg0MCwweDQ4LDB4OTAsMHgwMiwweGU0LDB4MDIsMHhhOSwweDAwLDB4MmEgfX0sCi0gezE2LCAweGRjMTAsIDAsIHsweDQwLDB4NjgsMHg5MCwweDAyLDB4NjQsMHgxMCwweGFkLDB4MDAsMHgyZiwweDQxLDB4MjgsMHg1MCwweDAyLDB4MzQsMHgwMCwweDhkIH19LAotIHsxNiwgMHhkYzIwLCAwLCB7MHg0NCwweDI3LDB4NDAsMHgzOSwweGQwLDB4MDIsMHgzNSwweDAwLDB4YmQsMHgxNCwweDJmLDB4NDAsMHgwYiwweGQwLDB4MDIsMHg0NiB9fSwKLSB7MTYsIDB4ZGMzMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MDUsMHhjNCwweDAwLDB4YzksMHgwMCwweDM2LDB4NDAgfX0sCi0gezE2LCAweGRjNDAsIDAsIHsweDJkLDB4OTAsMHgwMywweGU3LDB4MDAsMHhlMSwweGUwLDB4MzIsMHg0MCwweDBjLDB4OTAsMHgwYiwweDY0LDB4MDIsMHhjOSwweDA4IH19LAotIHsxNiwgMHhkYzUwLCAwLCB7MHgzYywweDUwLDB4MGMsMHg5MCwweDAyLDB4MjYsMHgwMiwweGQ5LDB4YzAsMHgzMiwweDQwLDB4MGMsMHg5MCwweDEzLDB4MjcsMHgwMCB9fSwKLSB7MTYsIDB4ZGM2MCwgMCwgezB4ZjksMHgyMCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHg2OCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRjNzAsIDAsIHsweDI4LDB4MDEsMHhhNCwweDAyLDB4ZjksMHgwMCwweDM4LDB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNiwweDgwLDB4ZDksMHhhMCwweDNjIH19LAotIHsxNiwgMHhkYzgwLCAwLCB7MHg0MCwweDBmLDB4MTAsMHgwMywweGE0LDB4MDAsMHhkOSwweDEwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGM0LDB4OTIsMHhmOSB9fSwKLSB7MTYsIDB4ZGM5MCwgMCwgezB4MjEsMHgzYywweDQwLDB4MmUsMHg5MCwweDBmLDB4ZTYsMHg4MCwweGY5LDB4ODAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4OGEgfX0sCi0gezE2LCAweGRjYTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAwLDB4YTAsMHg0MCwweGU4LDB4MTAsMHgzZSwweDA0IH19LAotIHsxNiwgMHhkY2IwLCAwLCB7MHg0ZSwweDgwLDB4MDMsMHgyMCwweDgwLDB4ZDgsMHg2MCwweDNhLDB4MDIsMHgwYywweDgwLDB4MTMsMHgyMCwweDAwLDB4ZjgsMHg0MCB9fSwKLSB7MTYsIDB4ZGNjMCwgMCwgezB4MzYsMHgxMCwweDJkLDB4ODAsMHgwMywweGEwLDB4MDgsMHhlOCwweDQwLDB4MzIsMHgwMCwweDBkLDB4MDAsMHgwMywweDIxLDB4MDIgfX0sCi0gezE2LCAweGRjZDAsIDAsIHsweGM4LDB4NDAsMHhiMiwweDAwLDB4MGYsMHhjMCwweDAzLDB4Y2EsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkY2UwLCAwLCB7MHgyOCwweDExLDB4M2IsMHgxMCwweDg2LDB4MDEsMHgyZiwweGEwLDB4MGQsMHhhMCwweDAyLDB4MzgsMHgwMCwweDhlLDB4ZTAsMHgyMyB9fSwKLSB7MTYsIDB4ZGNmMCwgMCwgezB4YTIsMHgwOCwweGEwLDB4MDIsMHgyOCwweDAwLDB4YmEsMHg4MCwweDIyLDB4ODAsMHgwOCwweGEwLDB4MDIsMHgyOCwweDAwLDB4ODIgfX0sCi0gezE2LCAweGRkMDAsIDAsIHsweDAwLDB4MmEsMHg4MCwweDI4LDB4YTAsMHgwMiwweDJhLDB4MDQsMHg4YSwweDgwLDB4MjIsMHhhMCwweDBiLDB4NjAsMHgwMiwweGNhIH19LAotIHsxNiwgMHhkZDEwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDQzLDB4ODAsMHhhMiwweDAwLDB4MmMsMHhhMCB9fSwKLSB7MTYsIDB4ZGQyMCwgMCwgezB4MDgsMHgzMCwweDAyLDB4MmUsMHgwMCwweDkyLDB4MDAsMHgyOCwweGMwLDB4MjgsMHgzMCwweDAyLDB4MmMsMHgwMCwweGIzLDB4ODAgfX0sCi0gezE2LCAweGRkMzAsIDAsIHsweDI0LDB4YzAsMHgwOSwweDMwLDB4MGEsMHg4YywweDAwLDB4YTMsMHgwMCwweDYwLDB4YzAsMHgwOCwweDMwLDB4MGEsMHg0YywweDAwIH19LAotIHsxNiwgMHhkZDQwLCAwLCB7MHg4MywweDAwLDB4MjAsMHhlMCwweDBiLDB4MjAsMHgwMiwweGNhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGQ1MCwgMCwgezB4YTAsMHgwMSwweDEwLDB4MDAsMHg4NiwweDAwLDB4MmQsMHhjMCwweDA5LDB4M2EsMHgwMiwweDM1LDB4MDAsMHg4NiwweDAwLDB4MjEgfX0sCi0gezE2LCAweGRkNjAsIDAsIHsweGMwLDB4MDgsMHg3MywweDAyLDB4MTAsMHgwMCwweGJmLDB4ODgsMHgyMSwweDAwLDB4MDgsMHg3MCwweDAyLDB4MWMsMHgwOCwweDhmIH19LAotIHsxNiwgMHhkZDcwLCAwLCB7MHgwMCwweDJiLDB4YzAsMHgwOCwweDIwLDB4MTIsMHg1ZSwweDIwLDB4ODcsMHg4OCwweDIxLDB4ODMsMHgwYiwweDYwLDB4MDIsMHhlOCB9fSwKLSB7MTYsIDB4ZGQ4MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxMiwweDAwLDB4ZTUsMHg4MSwweDNkLDB4YTAgfX0sCi0gezE2LCAweGRkOTAsIDAsIHsweDJjLDB4N2EsMHgwYiwweDFlLDB4MDAsMHhkNCwweDgwLDB4MzgsMHhlMCwweDBjLDB4ZmEsMHgwYiwweDFlLDB4MDAsMHhmNiwweDgwIH19LAotIHsxNiwgMHhkZGEwLCAwLCB7MHgzNCwweGUwLDB4MGQsMHgyOCwweDAzLDB4OGEsMHgwMCwweGU2LDB4ODAsMHgzMSwweDIwLDB4MGMsMHg3OCwweDAzLDB4N2EsMHgwNCB9fSwKLSB7MTYsIDB4ZGRiMCwgMCwgezB4Y2UsMHg4NCwweDMxLDB4ZTAsMHg0ZiwweDc4LDB4NDMsMHhlYSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRkYzAsIDAsIHsweDA4LDB4MGQsMHg4MCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4YzAsMHgwZiwweGI1LDB4MjMsMHhlNCwweDAwLDB4ZjAsMHgwNCwweDM2IH19LAotIHsxNiwgMHhkZGQwLCAwLCB7MHg0MCwweDBmLDB4YjYsMHg4NywweGUwLDB4MDAsMHhmMiwweDAwLDB4M2UsMHgwMCwweDFmLDB4YTAsMHgwYiwweGU4LDB4MDAsMHhmYSB9fSwKLSB7MTYsIDB4ZGRlMCwgMCwgezB4MDAsMHgzZSwweDAwLDB4MGUsMHhhMCwweDAzLDB4YTgsMHgwMCwweGZhLDB4MDAsMHgzZSwweDgwLDB4MGYsMHhiMCwweDAzLDB4YzIgfX0sCi0gezE2LCAweGRkZjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZjYsMHgwMCwweGNjLDB4ODAsMHgzMywweGEwIH19LAotIHsxNiwgMHhkZTAwLCAwLCB7MHgwYywweGZjLDB4MDMsMHgzZSwweDAwLDB4ZmMsMHg4MCwweDM3LDB4ZTAsMHgwZiwweGI5LDB4MjEsMHgzZSwweDAwLDB4ZmQsMHg4MiB9fSwKLSB7MTYsIDB4ZGUxMCwgMCwgezB4MzMsMHhlMCwweDJjLDB4ZjgsMHgwMywweDdlLDB4MTAsMHhkZiwweDg0LDB4M2QsMHhlMCwweDBjLDB4ZjgsMHgwMywweGY2LDB4MDAgfX0sCi0gezE2LCAweGRlMjAsIDAsIHsweGZkLDB4ODAsMHgzZiwweDYwLDB4MGMsMHhlOCwweDIzLDB4MDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkZTMwLCAwLCB7MHhhOCwweDExLDB4OTgsMHg0MCwweDg0LDB4MTAsMHgyMSwweGMwLDB4MDgsMHg3MCwweDAyLDB4MTAsMHg4MCwweGI0LDB4MDAsMHgyMSB9fSwKLSB7MTYsIDB4ZGU0MCwgMCwgezB4YzgsMHgwYiwweDdhLDB4MDIsMHgxMCwweDAwLDB4ZmQsMHgwMCwweDIxLDB4MDQsMHgwOCwweDcwLDB4MDIsMHgxYywweDQyLDB4ODcgfX0sCi0gezE2LCAweGRlNTAsIDAsIHsweDAwLDB4MmQsMHhjNCwweDQ4LDB4NjEsMHgwMiwweGQ2LDB4ODAsMHhiNSwweDAwLDB4MmYsMHgwNCwweDA4LDB4NjEsMHg4MiwweDJhIH19LAotIHsxNiwgMHhkZTYwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDkwLDB4MDAsMHg4MSwweDAwLDB4MjEsMHg4MCB9fSwKLSB7MTYsIDB4ZGU3MCwgMCwgezB4MDgsMHgzMCwweDAyLDB4MWMsMHgxMCwweGJjLDB4MDgsMHgyNSwweDgwLDB4NGIsMHgzMCwweDBlLDB4MWMsMHgwMCwweGI0LDB4MDAgfX0sCi0gezE2LCAweGRlODAsIDAsIHsweDIwLDB4YzAsMHgwOCwweDIwLDB4MDIsMHg1OCwweDAwLDB4OTYsMHgwMCwweDJmLDB4MDAsMHgwYSwweDcwLDB4MDIsMHhkMCwweDgwIH19LAotIHsxNiwgMHhkZTkwLCAwLCB7MHhiNCwweDE4LDB4MmQsMHg0MCwweDA5LDB4ZjgsMHgwMiwweDAwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGVhMCwgMCwgezB4MjAsMHgxNCwweGM4LDB4MDIsMHg4MCwweDAwLDB4YTAsMHhjMCwweDA4LDB4MzAsMHgyMiwweDBiLDB4YzAsMHhiMCwweGMwLDB4MjIgfX0sCi0gezE2LCAweGRlYjAsIDAsIHsweDgwLDB4MGIsMHgzMCwweDAyLDB4MDAsMHgwMCwweGEwLDB4MDQsMHgyMiwweDAwLDB4MjgsMHhhMCwweDAyLDB4MmIsMHgwMCwweDhhIH19LAotIHsxNiwgMHhkZWMwLCAwLCB7MHgwMCwweDJjLDB4MDAsMHgwOCwweGEwLDB4MDYsMHhjMCwweDAwLDB4YjAsMHhjMiwweDJjLDB4MDAsMHgwOSwweGJjLDB4MWEsMHgwOCB9fSwKLSB7MTYsIDB4ZGVkMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhhMCwweDAwLDB4YzgsMHgwMCwweDMyLDB4YzAgfX0sCi0gezE2LCAweGRlZTAsIDAsIHsweDBjLDB4ZjAsMHgwYiwweDI2LDB4MDAsMHhmOSwweGMwLDB4MzYsMHgwMCwweDBmLDB4ZjAsMHgxMywweDJjLDB4MTAsMHhiYiwweDQwIH19LAotIHsxNiwgMHhkZWYwLCAwLCB7MHhmMiwweGMwLDB4MDgsMHg5MCwweDAzLDB4NjcsMHgwMCwweGQ5LDB4ODAsMHgzZSwweGMwLDB4MDgsMHg5MCwweDAyLDB4ZWMsMHgwMCB9fSwKLSB7MTYsIDB4ZGYwMCwgMCwgezB4ZmIsMHhkMCwweDNlLDB4YzAsMHgyOSwweDhjLDB4MDAsMHgyYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRmMTAsIDAsIHsweDgwLDB4MDAsMHhlMCwweDAwLDB4ZjgsMHg0NCwweDNjLDB4ZDAsMHgyZiwweGIwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgyMCwweDNlIH19LAotIHsxNiwgMHhkZjIwLCAwLCB7MHg0MCwweDBmLDB4MzAsMHgwMywweGUwLDB4MDAsMHhmYiwweDA4LDB4M2UsMHgwMCwweDBmLDB4OTAsMHgxMywweGU0LDB4NDIsMHhmOSB9fSwKLSB7MTYsIDB4ZGYzMCwgMCwgezB4MTAsMHgzZSwweGMwLDB4MGYsMHg4MCwweDAzLDB4ZWUsMHgwMCwweGZiLDB4MDAsMHgzZSwweDgwLDB4MGUsMHg4MiwweDAzLDB4ZTAgfX0sCi0gezE2LCAweGRmNDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZTAsMHgwOCwweGZjLDB4ODAsMHgzMiwweGU0IH19LAotIHsxNiwgMHhkZjUwLCAwLCB7MHgwZSwweGYwLDB4MDMsMHg3NCwweDAwLDB4ZmMsMHgwMCwweDNmLDB4NDAsMHgwYywweGYwLDB4MGIsMHgzYywweDAwLDB4ZmUsMHgwMCB9fSwKLSB7MTYsIDB4ZGY2MCwgMCwgezB4M2YsMHhjMCwweDBkLDB4YzEsMHgwMywweDIwLDB4MjAsMHhjYywweDEwLDB4MzMsMHgwMCwweDBjLDB4ZDEsMHgwMywweDU4LDB4MDAgfX0sCi0gezE2LCAweGRmNzAsIDAsIHsweGNlLDB4MDAsMHgyZiwweGMwLDB4MGYsMHhkMSwweDAzLDB4MDAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkZjgwLCAwLCB7MHg4MSwweDQ0LDB4NjIsMHgwMCwweGIwLDB4NDAsMHgyYSwweGYxLDB4MDgsMHhiMCwweDEyLDB4MjYsMHgwOCwweGI4LDB4YzgsMHgyZSB9fSwKLSB7MTYsIDB4ZGY5MCwgMCwgezB4NzAsMHgwYSwweGIwLDB4MDIsMHgyMCwweDAwLDB4YmEsMHgwMCwweDJlLDB4MDAsMHgyOCwweDgwLDB4MDMsMHgyMiwweDQwLDB4ODggfX0sCi0gezE2LCAweGRmYTAsIDAsIHsweDAxLDB4MjAsMHgwMCwweDBhLDB4ODAsMHgwMiwweDI4LDB4MDAsMHg4YSwweDAxLDB4MmUsMHg4MCwweDhiLDB4OTAsMHgwMiwweDIwIH19LAotIHsxNiwgMHhkZmIwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDI2LDB4MDAsMHhiOCwweDI4LDB4MjIsMHg0MiB9fSwKLSB7MTYsIDB4ZGZjMCwgMCwgezB4MDgsMHgzMCwweDAyLDB4NjYsMHgwMCwweGI4LDB4ODAsMHgyZSwweDMwLDB4ODgsMHhiMCwweDAyLDB4MmMsMHgwMCwweGI5LDB4MDEgfX0sCi0gezE2LCAweGRmZDAsIDAsIHsweDJlLDB4YzAsMHg4OCwweDkwLDB4MDIsMHhhNCwweDAwLDB4ODksMHgwMCwweDIyLDB4YzAsMHgwOCwweDkwLDB4MDIsMHgyNCwweDBjIH19LAotIHsxNiwgMHhkZmUwLCAwLCB7MHg4OSwweDAxLDB4MmUsMHg0MCwweDFiLDB4ODAsMHgwMiwweDYwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGZmMCwgMCwgezB4MDgsMHgwNCwweDAwLDB4MDAsMHhiMCwweDAwLDB4MjgsMHhjMCwweDI4LDB4MzAsMHgwMiwweDAwLDB4MDAsMHhiMCwweDAwLDB4MmMgfX0sCi0gezE2LCAweGUwMDAsIDAsIHsweDQwLDB4MGEsMHgzMCwweDAyLDB4MDAsMHgwMCwweGIxLDB4MDAsMHgyYywweDAwLDB4MDgsMHgxMCwweDBhLDB4MDQsMHgwMCwweDgxIH19LAotIHsxNiwgMHhlMDEwLCAwLCB7MHgwMSwweGEyLDB4YzAsMHgwOCwweDAwLDB4MGEsMHgwNCwweDgwLDB4ODEsMHgwMCwweDJjLDB4MDAsMHgxYiwweDAwLDB4MGEsMHgwMiB9fSwKLSB7MTYsIDB4ZTAyMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2MCwweDAwLDB4ZjgsMHgwMCwweDMyLDB4NDAgfX0sCi0gezE2LCAweGUwMzAsIDAsIHsweDBlLDB4ZjAsMHgyMywweDY0LDB4MDgsMHhmOCwweDAwLDB4MmUsMHgwMCwweDBjLDB4ZjAsMHgwMywweDJjLDB4MDAsMHhmOCwweDAwIH19LAotIHsxNiwgMHhlMDQwLCAwLCB7MHgzZSwweGMwLDB4MGMsMHg4MCwweDAzLDB4MjAsMHgwMiwweGM4LDB4MDQsMHgzMiwweDAwLDB4MWMsMHg5MCwweDAzLDB4MjAsMHgwMCB9fSwKLSB7MTYsIDB4ZTA1MCwgMCwgezB4YzgsMHgwMSwweDNlLDB4NDEsMHg5ZiwweDkwLDB4NDMsMHg0MCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUwNjAsIDAsIHsweGEwLDB4MWQsMHhmMCwweDAwLDB4ZmMsMHgwYywweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmMCwweDEwLDB4ZjQsMHgwMCwweDNmIH19LAotIHsxNiwgMHhlMDcwLCAwLCB7MHgwMCwweDBmLDB4ZjQsMHgyMywweGYwLDB4MDAsMHhmYywweDAwLDB4M2YsMHgwMCwweDBlLDB4YzAsMHgwMywweGIwLDB4MDAsMHhmYyB9fSwKLSB7MTYsIDB4ZTA4MCwgMCwgezB4MDAsMHgzZiwweDAwLDB4MGYsMHhjMCwweDAzLDB4ZTEsMHgwMCwweGZjLDB4MDAsMHgzZiwweDAxLDB4MWYsMHg1MCwweDAzLDB4ZTggfX0sCi0gezE2LCAweGUwOTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDBkLDB4ZjAsMHhkMCwweGZmLDB4MjAsMHgzZSwweGQwIH19LAotIHsxNiwgMHhlMGEwLCAwLCB7MHg4ZSwweGIwLDB4MDMsMHhlYywweGEwLDB4ZGIsMHgyOCwweDNlLDB4Y2MsMHgwYywweGIzLDB4MDMsMHhhZCwweDA4LDB4ZjgsMHgzYyB9fSwKLSB7MTYsIDB4ZTBiMCwgMCwgezB4MzIsMHgyMywweDBlLDB4NDgsMHgyMywweDdhLDB4MDAsMHhmZCwweDk0LDB4M2YsMHhlMCwweDBmLDB4NzgsMHgzMywweGVlLDB4MDggfX0sCi0gezE2LCAweGUwYzAsIDAsIHsweGJmLDB4ODAsMHgzZiwweGU0LDB4MGYsMHhmOSwweDAzLDB4MzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMGQwLCAwLCB7MHhhMCwweDAwLDB4ZWMsMHhjOCwweGJmLDB4ZDEsMHgwZiwweGM4LDB4MGMsMHgyNiwweDgyLDB4ZmQsMHgyNCwweDhmLDB4MDAsMHgyZSB9fSwKLSB7MTYsIDB4ZTBlMCwgMCwgezB4OTksMHgwYSwweGYyLDB4NjIsMHgxZCwweGQwLDB4OTksMHg2MSwweDIyLDB4NzEsMHg4OCwweDg4LDB4MDIsMHhhYywweDAwLDB4YjggfX0sCi0gezE2LCAweGUwZjAsIDAsIHsweDIyLDB4MmUsMHgyMCwweDRiLDB4ODgsMHgwMywweGEwLDB4MDAsMHg4MCwweDAwLDB4MmUsMHgwOCwweDBiLDB4ODAsMHgyMywweDYwIH19LAotIHsxNiwgMHhlMTAwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNjLDB4MDQsMHhiMywweDAzLDB4MGMsMHhjYyB9fSwKLSB7MTYsIDB4ZTExMCwgMCwgezB4MGEsMHgxMywweDEyLDB4Y2MsMHgxNCwweGEzLDB4MGUsMHgwYywweDU4LDB4MGEsMHgzMywweDAyLDB4OGMsMHgxMCwweGEzLDB4MjAgfX0sCi0gezE2LCAweGUxMjAsIDAsIHsweGEwLDB4MGEsMHgxOCwweDkwLDB4MDIsMHg0OCwweGEwLDB4YjAsMHgyMCwweDI0LDB4ODAsMHgwYSwweDIwLDB4MDIsMHhjYywweDA5IH19LAotIHsxNiwgMHhlMTMwLCAwLCB7MHhhMSwweDAwLDB4MmMsMHg4MCwweDBiLDB4MzIsMHg0MiwweGEyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTE0MCwgMCwgezB4ZTAsMHgxMSwweGFjLDB4MjAsMHhiYiwweDAwLDB4MmUsMHhjMCwweDRiLDB4ODAsMHhhMiwweGVjLDB4MDAsMHhhYiwweDAwLDB4NGUgfX0sCi0gezE2LCAweGUxNTAsIDAsIHsweDQ2LDB4MmEsMHhiMCwweDAyLDB4MmMsMHgwNCwweDliLDB4ODAsMHgyYSwweDYwLDB4OGEsMHg5YywweDAyLDB4YWMsMHgwMCwweGI5IH19LAotIHsxNiwgMHhlMTYwLCAwLCB7MHg4MSwweDJlLDB4NDAsMHgwYiwweDk4LDB4MDIsMHhhMywweDAwLDB4OGEsMHgwMCwweDJlLDB4NDAsMHgwYiwweDgwLDB4MDQsMHhmMCB9fSwKLSB7MTYsIDB4ZTE3MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlMSwweDAwLDB4ZmIsMHgwNCwweDNlLDB4YzAgfX0sCi0gezE2LCAweGUxODAsIDAsIHsweDBlLDB4YjQsMHgwMywweGVjLDB4MGEsMHhkYiwweDAyLDB4MmUsMHhkMSwweDBlLDB4YjAsMHgwMywweGFjLDB4MDAsMHhmYiwweDgyIH19LAotIHsxNiwgMHhlMTkwLCAwLCB7MHgzMiwweDI4LDB4MWUsMHgwYywweDAzLDB4NjgsMHgwMCwweGI5LDB4MDAsMHgzZSwweDQwLDB4NGYsMHhiMCwweDQzLDB4ZWQsMHgwMCB9fSwKLSB7MTYsIDB4ZTFhMCwgMCwgezB4ZWEsMHgwMCwweDNlLDB4NDAsMHgwZiwweDgwLDB4MDMsMHg5MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUxYjAsIDAsIHsweGMwLDB4MDEsMHhiOCwweDE4LDB4ZmYsMHgwMiwweDFmLDB4YzAsMHgwYywweGUyLDB4MDMsMHhmYywweDAwLDB4ZGYsMHgwMywweDJmIH19LAotIHsxNiwgMHhlMWMwLCAwLCB7MHhhMSwweDBmLDB4NzAsMHgwMywweGZjLDB4MDQsMHhhYiwweDA0LDB4MzcsMHg0MiwweDJkLDB4ZDAsMHgwMiwweDdjLDB4MDAsMHhmYyB9fSwKLSB7MTYsIDB4ZTFkMCwgMCwgezB4MDAsMHgzZiwweDgwLDB4MGYsMHhjMCwweDAzLDB4YjAsMHgwMCwweGZkLDB4MDAsMHgzZiwweDgwLDB4MGYsMHhmMCwweDAzLDB4NzggfX0sCi0gezE2LCAweGUxZTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YTksMHgwMCwweGRiLDB4MDAsMHgzYywweGMwIH19LAotIHsxNiwgMHhlMWYwLCAwLCB7MHgyZSwweDk0LDB4MDEsMHg2YywweDExLDB4Y2IsMHgwMCwweGI4LDB4YzAsMHgwYywweGIwLDB4MDMsMHg2YywweDAwLDB4ZWIsMHgwMSB9fSwKLSB7MTYsIDB4ZTIwMCwgMCwgezB4MzIsMHgxMCwweDA3LDB4OTIsMHgwMywweGE4LDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwYywweDA3LDB4YTIsMHgwMywweGFkLDB4MDAgfX0sCi0gezE2LCAweGUyMTAsIDAsIHsweGQ4LDB4MDAsMHgzMiwweDAwLDB4MGMsMHg4MCwweDAzLDB4ZDAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMjIwLCAwLCB7MHhjOCwweDA1LDB4MjgsMHgwOCwweGJmLDB4MDAsMHgyZiwweGMwLDB4ODgsMHg4MCwweDAyLDB4M2MsMHgwOCwweGVmLDB4MDMsMHgyMiB9fSwKLSB7MTYsIDB4ZTIzMCwgMCwgezB4MDAsMHgwZCwweGY1LDB4MDAsMHgzYywweDAwLDB4OGIsMHg4MiwweDIyLDB4NjAsMHgwMywweDljLDB4MDIsMHgyYywweDEwLDB4YjkgfX0sCi0gezE2LCAweGUyNDAsIDAsIHsweGIwLDB4MjIsMHhmMCwweDBiLDB4OTAsMHgwMiwweDIwLDB4MDAsMHhiYiwweDAwLDB4MjIsMHhlMiwweDBkLDB4YjAsMHgwMiwweGYyIH19LAotIHsxNiwgMHhlMjUwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDQwLDB4MDAsMHhiMywweDAyLDB4MmMsMHhjMCB9fSwKLSB7MTYsIDB4ZTI2MCwgMCwgezB4MDgsMHgzMCwweDAyLDB4NmMsMHgwMCwweDgzLDB4MDAsMHgyMCwweGMwLDB4MDksMHgzNCwweDA0LDB4ZWMsMHgwMCwweGE4LDB4MDAgfX0sCi0gezE2LCAweGUyNzAsIDAsIHsweDIyLDB4ZjAsMHgwYiwweDAwLDB4MDIsMHg4OCwweDAwLDB4YjMsMHgwMCwweDI4LDB4ZTAsMHgwYiwweDE0LDB4MDIsMHhhMCwweDAwIH19LAotIHsxNiwgMHhlMjgwLCAwLCB7MHg5MywweDAwLDB4MjAsMHhjMCwweDA4LDB4YjAsMHgwMiwweGY4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTI5MCwgMCwgezB4MjAsMHgwMSwweDFlLDB4MDQsMHhiNywweDgwLDB4MmQsMHhlOCwweDA4LDB4NzgsMHgwMiwweDBlLDB4YzgsMHhhNywweDkwLDB4MjEgfX0sCi0gezE2LCAweGUyYTAsIDAsIHsweGE4LDB4MTksMHgzOCwweDUyLDB4OWUsMHhjMSwweDg3LDB4ODAsMHgyMSwweGUyLDB4MGIsMHhkOSwweDgyLDB4OWUsMHgwMCwweGI2IH19LAotIHsxNiwgMHhlMmIwLCAwLCB7MHhhMCwweDJkLDB4MjAsMHgwYiwweDY4LDB4MDIsMHgxZSwweDAwLDB4YjQsMHhjMSwweDIxLDB4MjAsMHgwOSwweDQ4LDB4MDIsMHhjOCB9fSwKLSB7MTYsIDB4ZTJjMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDAsMHgwYywweDgwLDB4YjMsMHgxMCwweDNlLDB4ZTAgfX0sCi0gezE2LCAweGUyZDAsIDAsIHsweDBlLDB4M2EsMHgwNywweDRlLDB4MDAsMHhjYiwweDkwLDB4M2EsMHg2MSwweDBkLDB4MzgsMHgwMywweGNlLDB4ZDEsMHhlMSwweDk4IH19LAotIHsxNiwgMHhlMmUwLCAwLCB7MHgzMCwweGE0LDB4OGYsMHgxMCwweDAzLDB4ODgsMHgwMCwweGJhLDB4YTEsMHgzYywweDg0LDB4MDcsMHgwMCwweDAzLDB4ODIsMHhkNCB9fSwKLSB7MTYsIDB4ZTJmMCwgMCwgezB4ZDEsMHgwMCwweDcyLDB4ODAsMHgwYywweDMwLDB4MDMsMHhkMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUzMDAsIDAsIHsweDQwLDB4MTUsMHhiYywweDA0LDB4ZmYsMHgwMCwweDNmLDB4YzAsMHgwZiwweGMyLDB4MjMsMHhlYywweGIwLDB4ZmYsMHgwMCwweDMyIH19LAotIHsxNiwgMHhlMzEwLCAwLCB7MHgwNCwweDA2LDB4YjQsMHgyMywweDdjLDB4MTAsMHhiZiwweDAwLDB4M2UsMHg4NCwweDBmLDB4YjAsMHgwMywweDdjLDB4NDAsMHhmZiB9fSwKLSB7MTYsIDB4ZTMyMCwgMCwgezB4MDAsMHgzMywweDQwLDB4MGYsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGZlLDB4MDAsMHhiZiwweDQwLDB4MGYsMHhjOCwweDAzLDB4ZDAgfX0sCi0gezE2LCAweGUzMzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4ZTQsMHgwMCwweGNiLDB4MzMsMHgzZSwweGM4IH19LAotIHsxNiwgMHhlMzQwLCAwLCB7MHg0YywweGIwLDB4MDMsMHhhYywweDkwLDB4ZGIsMHhhMCwweDM2LDB4YzAsMHgwZSwweGJhLDB4NDMsMHg2YywweDAwLDB4YzksMHgwMCB9fSwKLSB7MTYsIDB4ZTM1MCwgMCwgezB4M2UsMHg0MCwweDBmLDB4MDAsMHgwZiwweDI4LDB4MDAsMHhmYiwweDAwLDB4M2UsMHg0MCwweDBmLDB4MTgsMHg0MywweDYwLDB4MDAgfX0sCi0gezE2LCAweGUzNjAsIDAsIHsweGZhLDB4MDAsMHgzZSwweDQwLDB4NGYsMHgwOCwweDBiLDB4MmEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMzcwLCAwLCB7MHg0OCwweDExLDB4OWMsMHgxMCwweDA3LDB4MDgsMHgyYywweGNhLDB4MDgsMHgyMCwweDAyLDB4MWMsMHgyMCwweDg3LDB4MjgsMHgzZiB9fSwKLSB7MTYsIDB4ZTM4MCwgMCwgezB4ODAsMHg4YSwweGYwLDB4MDIsMHgxZCwweDQwLDB4ODcsMHgwNCwweDJkLDB4YzAsMHgwYiwweDcwLDB4MDIsMHgxYywweDAwLDB4YjYgfX0sCi0gezE2LCAweGUzOTAsIDAsIHsweDAwLDB4MmQsMHg4MCwweDBiLDB4NjAsMHgwMywweDFjLDB4MDAsMHhiNSwweDAwLDB4MmQsMHg4MCwweDBiLDB4NzAsMHgwMiwweDEyIH19LAotIHsxNiwgMHhlM2EwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDhlLDB4MDAsMHg4NywweGEwLDB4MmQsMHhlNCB9fSwKLSB7MTYsIDB4ZTNiMCwgMCwgezB4MGEsMHg1OCwweDAyLDB4MWUsMHgwMSwweDgzLDB4OTAsMHgyMSwweDcwLDB4MGIsMHg3OSwweDAyLDB4OWUsMHgwMSwweDg1LDB4YzAgfX0sCi0gezE2LCAweGUzYzAsIDAsIHsweDJkLDB4ZTAsMHg0YiwweDU4LDB4MTIsMHgxYSwweDAwLDB4YjYsMHg4MCwweDJkLDB4MjAsMHgwYiwweDQ4LDB4MDIsMHg1MiwweDAwIH19LAotIHsxNiwgMHhlM2QwLCAwLCB7MHhiNCwweDgwLDB4MmQsMHgyMCwweDBiLDB4NDgsMHgwMiwweDMwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTNlMCwgMCwgezB4NDgsMHgxNCwweGVjLDB4MDAsMHg4MywweDAwLDB4MmMsMHhjMCwweDg4LDB4MzYsMHgwMiwweDBjLDB4MDIsMHg4MywweDAwLDB4NmMgfX0sCi0gezE2LCAweGUzZjAsIDAsIHsweGMwLDB4MGIsMHgzMCwweDBhLDB4YWMsMHgwMCwweDliLDB4ZTAsMHg2YywweGM4LDB4MGIsMHgzMiwweDAyLDB4MGMsMHgwMSwweGIzIH19LAotIHsxNiwgMHhlNDAwLCAwLCB7MHgwMCwweDJjLDB4YzAsMHgwYiwweDMwLDB4MDIsMHgwYywweDEwLDB4YjMsMHg0MCwweDJjLDB4YzAsMHgwYiwweDNjLDB4ODIsMHgxMiB9fSwKLSB7MTYsIDB4ZTQxMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhiOCwweDAyLDB4Y2EsMHgwMCwweDNlLDB4ODAgfX0sCi0gezE2LCAweGU0MjAsIDAsIHsweDBlLDB4ZTQsMHg4YiwweDI4LDB4MDAsMHhjYSwweDAwLDB4MzMsMHg5NSwweDBmLDB4YTAsMHgwNywweGE4LDB4MDIsMHhjZSwweDQwIH19LAotIHsxNiwgMHhlNDMwLCAwLCB7MHgzZiwweGIwLDB4MGYsMHhlNCwweDgyLDB4MjgsMHgwMCwweGZhLDB4MDAsMHgzZSwweDgwLDB4MGYsMHhhMCwweDIzLDB4NjgsMHgwMCB9fSwKLSB7MTYsIDB4ZTQ0MCwgMCwgezB4ZmEsMHg0MCwweDNlLDB4ODEsMHg0ZiwweGE0LDB4ZTMsMHgzYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU0NTAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDgwLDB4ZjAsMHgwMCwweDNjLDB4MDAsMHgyZiwweDAwLDB4MDIsMHg2MCwweDAwLDB4ZTgsMHgwMCwweDNjIH19LAotIHsxNiwgMHhlNDYwLCAwLCB7MHgwMCwweDBlLDB4ODAsMHgwMSwweDIwLDB4MDAsMHhlOCwweDA0LDB4NWUsMHgwNCwweDBmLDB4ODAsMHgwMywweGUwLDB4MDAsMHhmYyB9fSwKLSB7MTYsIDB4ZTQ3MCwgMCwgezB4MDEsMHgzZiwweDEwLDB4MGYsMHhjNCwweDAzLDB4YjAsMHgwMCwweGZjLDB4MDksMHgzZiwweDAwLDB4MGYsMHhjMCwweDAzLDB4ZDIgfX0sCi0gezE2LCAweGU0ODAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGE5LDB4MjAsMHgzNiwweDQwIH19LAotIHsxNiwgMHhlNDkwLCAwLCB7MHgwZSwweDkwLDB4MDMsMHg0NCwweDA0LDB4ZDksMHgwMCwweDNlLDB4NDAsMHgwZCwweDkwLDB4MDMsMHhlNCwweDA0LDB4YzksMHgwMCB9fSwKLSB7MTYsIDB4ZTRhMCwgMCwgezB4MzIsMHg0MCwweDhmLDB4OTAsMHgwYiwweGU0LDB4MDgsMHhmOSwweDAwLDB4M2UsMHg0NCwweDBlLDB4OTgsMHgwMywweGU2LDB4MDAgfX0sCi0gezE2LCAweGU0YjAsIDAsIHsweGY5LDB4MDAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4YzIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNGMwLCAwLCB7MHg4MCwweDA0LDB4NjQsMHgwMCwweDg5LDB4MDAsMHgyMiwweDQwLDB4MTgsMHg5MCwweDAyLDB4MjQsMHgwMCwweDg5LDB4MDAsMHgyZSB9fSwKLSB7MTYsIDB4ZTRkMCwgMCwgezB4NDAsMHgwOCwweDk0LDB4MDIsMHhlNCwweDAwLDB4ZDksMHgwNCwweDIyLDB4NDAsMHgwYiwweDFjLDB4MGIsMHg2NCwweDAwLDB4YjkgfX0sCi0gezE2LCAweGU0ZTAsIDAsIHsweDk0LDB4MmMsMHg1MCwweDA4LDB4OWMsMHgwMiwweGU0LDB4MTQsMHhiOSwweDkwLDB4MGUsMHg0MCwweDBiLDB4OTAsMHgwMiwweGUwIH19LAotIHsxNiwgMHhlNGYwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDIsMHg4OSwweDAwLDB4MjYsMHg0MCB9fSwKLSB7MTYsIDB4ZTUwMCwgMCwgezB4NGEsMHg5MCwweDAyLDB4NjQsMHgwMCwweDk5LDB4MDQsMHgyZSwweDQwLDB4MDgsMHg5OCwweDgyLDB4ZTQsMHgwMCwweDg5LDB4MDAgfX0sCi0gezE2LCAweGU1MTAsIDAsIHsweDZhLDB4NDAsMHgwYSwweDkyLDB4ODIsMHhlNCwweDAwLDB4YmQsMHgwMSwweDJmLDB4NTAsMHgxMiwweGQ2LDB4MDIsMHhmNCwweDQwIH19LAotIHsxNiwgMHhlNTIwLCAwLCB7MHhiZCwweDAwLDB4MGYsMHg0MCwweDBiLDB4ZDAsMHgwMiwweGM2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTUzMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4ODAsMHg4MSwweDIwLDB4MjAsMHg0OCwweDA4LDB4MTIsMHgwMiwweDA0LDB4ODAsMHg4MSwweDIyLDB4MmMgfX0sCi0gezE2LCAweGU1NDAsIDAsIHsweDQ4LDB4YTgsMHgxMiwweDA2LDB4YzQsMHg5MCwweDkxLDB4MjAsMHgyOCwweDUwLDB4MGIsMHg5MCwweDAyLDB4NDUsMHgwMCwweGI1IH19LAotIHsxNiwgMHhlNTUwLCAwLCB7MHg0MCwweDZkLDB4NDAsMHgwOCwweDUwLDB4MTIsMHhkNCwweDA0LDB4YjUsMHgwMiwweDJkLDB4NDAsMHgwYiwweDUwLDB4MDIsMHhjMiB9fSwKLSB7MTYsIDB4ZTU2MCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MSwweDQwLDB4YzgsMHgwMCwweDM2LDB4MTQgfX0sCi0gezE2LCAweGU1NzAsIDAsIHsweDBhLDB4ODUsMHgwMywweDQxLDB4NDAsMHhkOCwweDUwLDB4MmUsMHgxNCwweDBjLDB4ODUsMHgwMywweGMxLDB4NDAsMHhjOCwweDUwIH19LAotIHsxNiwgMHhlNTgwLCAwLCB7MHhiYSwweDAwLDB4MGUsMHg4MCwweDIzLDB4ZTAsMHgwMCwweDc4LDB4MDAsMHgzZSwweDAwLDB4MGUsMHg4MCwweDAzLDB4ZTAsMHgwNCB9fSwKLSB7MTYsIDB4ZTU5MCwgMCwgezB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweGMwLDB4MDMsMHhlZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU1YTAsIDAsIHsweDk4LDB4MWQsMHhmNCwweDQwLDB4ZDksMHgxMCwweDNlLDB4NDQsMHgwNywweGYxLDB4MDMsMHhlNCwweDQwLDB4ZjksMHgxMCwweDNmIH19LAotIHsxNiwgMHhlNWIwLCAwLCB7MHg0NCwweGFmLDB4OTEsMHgwMywweGU0LDB4NDAsMHhmZCwweDEwLDB4MzcsMHg1MCwweDBmLDB4ZDAsMHgwMywweGU0LDB4MDAsMHhmOSB9fSwKLSB7MTYsIDB4ZTVjMCwgMCwgezB4MDAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4ZTQsMHhhMCwweGY5LDB4MjgsMHgzZSwweDRhLDB4MGYsMHg5MiwweDgzLDB4ZTYgfX0sCi0gezE2LCAweGU1ZDAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZTYsMHhkNCwweGZkLDB4YTIsMHgzYSwweDcwIH19LAotIHsxNiwgMHhlNWUwLCAwLCB7MHg4YywweDllLDB4MDMsMHgyNiwweDgwLDB4YzksMHhhMCwweDMyLDB4NjgsMHgwYywweGRiLDB4NDMsMHgyNywweDgwLDB4OWQsMHhhMiB9fSwKLSB7MTYsIDB4ZTVmMCwgMCwgezB4YjcsMHg0MCwweDBmLDB4NTAsMHgwMywweDY1LDB4MDAsMHhmZCwweDAwLDB4M2YsMHhjMSwweDA3LDB4ZDAsMHgwMywweGY1LDB4MDQgfX0sCi0gezE2LCAweGU2MDAsIDAsIHsweGZkLDB4NDAsMHgyZiwweGMwLDB4MGMsMHhkMCwweDAzLDB4YzYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNjEwLCAwLCB7MHgzOCwweDEwLDB4ZTMsMHg4OCwweGI4LDB4NTAsMHgyMiwweDM4LDB4MDgsMHg4ZSwweDAwLDB4YTIsMHhhMCwweDg4LDB4ZTgsMHgyMiB9fSwKLSB7MTYsIDB4ZTYyMCwgMCwgezB4MzgsMHg0OCwweDg4LDB4MDMsMHg2MiwweDEwLDB4YTgsMHhlOCwweDNjLDB4MDAsMHgwYiwweDgwLDB4MDMsMHg2MiwweDgwLDB4YjggfX0sCi0gezE2LCAweGU2MzAsIDAsIHsweDAxLDB4MmUsMHg4MCwweDBiLDB4ODAsMHgyMSwweGEyLDB4MDAsMHhiMCwweDg0LDB4MmUsMHgyYSwweDI4LDB4OGEsMHg4MiwweGNlIH19LAotIHsxNiwgMHhlNjQwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4NDAsMHhiMSwweDAwLDB4MjgsMHg1OCB9fSwKLSB7MTYsIDB4ZTY1MCwgMCwgezB4ODAsMHgxMywweDQwLDB4MDUsMHgwMCwweDgxLDB4NDAsMHgyMCwweDUyLDB4MjgsMHgxNiwweDAyLDB4ODUsMHg4MCwweDliLDB4YzIgfX0sCi0gezE2LCAweGU2NjAsIDAsIHsweDY0LDB4NDEsMHg4YiwweDk4LDB4MDIsMHgwNCwweDAwLDB4YjEsMHgwOSwweDJjLDB4NDAsMHgxYiwweDEwLDB4MjAsMHhjNCwweDAwIH19LAotIHsxNiwgMHhlNjcwLCAwLCB7MHhiMSwweDAwLDB4MmMsMHg0MCwweDQ4LDB4MTAsMHgwMiwweGMyLDB4MDUsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTY4MCwgMCwgezB4MTgsMHgxNSwweGE1LDB4ODQsMHhiOSwweDAwLDB4MjAsMHg0MCwweDA4LDB4OTAsMHgwMiwweDI0LDB4MDAsMHgwMSwweDAwLDB4MjAgfX0sCi0gezE2LCAweGU2OTAsIDAsIHsweDUwLDB4MDgsMHg5MCwweDQyLDB4NjQsMHgwMCwweGE5LDB4MTAsMHhhZSwweDU4LDB4MDMsMHg5OCwweDAyLDB4NjQsMHgwMCwweGI5IH19LAotIHsxNiwgMHhlNmEwLCAwLCB7MHgwMCwweDJlLDB4NDAsMHgwYiwweDkwLDB4NDYsMHhhNCwweDEwLDB4YjksMHgwMCwweDJlLDB4NDEsMHgwOCwweDkwLDB4MDIsMHhjNiB9fSwKLSB7MTYsIDB4ZTZiMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTEsMHhlNywweDAwLDB4ZjksMHgwMCwweDJhLDB4NDAgfX0sCi0gezE2LCAweGU2YzAsIDAsIHsweDJjLDB4OTQsMHgwYiwweDI0LDB4MDIsMHhjOSwweDAwLDB4YjIsMHg0NCwweDBjLDB4OTAsMHgwMywweDI0LDB4MDQsMHhkOSwweDgwIH19LAotIHsxNiwgMHhlNmQwLCAwLCB7MHhiNiwweDQxLDB4OGYsMHgxOCwweDAzLDB4MjQsMHgwMCwweGY5LDB4NjAsMHgzZSwweDQwLDB4MGYsMHg5NiwweDAzLDB4ZTQsMHgwMCB9fSwKLSB7MTYsIDB4ZTZlMCwgMCwgezB4ZjksMHg4MCwweDNlLDB4NDIsMHg4YywweDkwLDB4MDMsMHhlOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU2ZjAsIDAsIHsweDI4LDB4MDEsMHhhNiwweDAwLDB4ZjEsMHgwMCwweDNlLDB4NDAsMHgwZiwweDFjLDB4MDMsMHhjNCwweDAwLDB4ZjksMHgwMCwweDNlIH19LAotIHsxNiwgMHhlNzAwLCAwLCB7MHg0MCwweDhmLDB4OTAsMHgyMywweGM0LDB4MTAsMHhmOSwweDAwLDB4YmUsMHg0MCwweDBmLDB4OTAsMHgwYiwweGU0LDB4MDAsMHhmOSB9fSwKLSB7MTYsIDB4ZTcxMCwgMCwgezB4MDAsMHgzZSwweDQwLDB4MDcsMHg5MCwweDIzLDB4ZTQsMHgwMCwweGY5LDB4MjAsMHgzZSwweDQwLDB4OGYsMHg5MCwweDAzLDB4Y2EgfX0sCi0gezE2LCAweGU3MjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTEsMHgwMCwweGY4LDB4MDAsMHhiZSwweDAwIH19LAotIHsxNiwgMHhlNzMwLCAwLCB7MHgwZSwweDg0LDB4MDMsMHgyMCwweDAwLDB4YzgsMHgwMCwweDMyLDB4MDAsMHgwYywweDAwLDB4ODMsMHgyMCwweDAwLDB4ZjgsMHgwMCB9fSwKLSB7MTYsIDB4ZTc0MCwgMCwgezB4M2UsMHgwMCwweDBjLDB4ODAsMHgwMywweGEwLDB4MDAsMHhmOCwweDAwLDB4MzYsMHgxMCwweDBmLDB4ODAsMHg0MywweGUwLDB4MDggfX0sCi0gezE2LCAweGU3NTAsIDAsIHsweGY4LDB4MDAsMHgzMiwweDAwLDB4MGYsMHg4MCwweDAzLDB4Y2EsMHgwNCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNzYwLCAwLCB7MHgyOCwweDA1LDB4MjgsMHgwMCwweGJhLDB4MDAsMHgyMiwweDgwLDB4NDgsMHhhMCwweDAzLDB4NjgsMHgwMCwweGFhLDB4MDAsMHgyYSB9fSwKLSB7MTYsIDB4ZTc3MCwgMCwgezB4ODAsMHgwOCwweGUwLDB4MDMsMHg2OCwweDAwLDB4ODIsMHgwMCwweDJmLDB4ODAsMHgwOCwweGU2LDB4MDIsMHgyOCwweDA0LDB4YmUgfX0sCi0gezE2LCAweGU3ODAsIDAsIHsweDQwLDB4MjMsMHg4MCwweDBiLDB4ZTgsMHgwMiwweGVhLDB4MDAsMHhiZSwweDAxLDB4MjIsMHg4MCwweDBiLDB4ZTAsMHgwMiwweGNhIH19LAotIHsxNiwgMHhlNzkwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDEsMHg5MywweDAxLDB4MjAsMHhjMSB9fSwKLSB7MTYsIDB4ZTdhMCwgMCwgezB4MGEsMHgzMCwweDAyLDB4MGMsMHgwMCwweGEzLDB4MDAsMHgyMCwweGMwLDB4ODgsMHgzOCwweDQyLDB4MGMsMHgwMCwweGEzLDB4MDAgfX0sCi0gezE2LCAweGU3YjAsIDAsIHsweDI0LDB4YzAsMHgwYSwweDNlLDB4NDIsMHg4YywweDAwLDB4YjIsMHg0YywweDI0LDB4ZTAsMHg0YiwweDM4LDB4MDIsMHhjNCwweDQxIH19LAotIHsxNiwgMHhlN2MwLCAwLCB7MHhiMywweDAwLDB4MjIsMHhjMCwweDBiLDB4MTAsMHgwMiwweGNhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTdkMCwgMCwgezB4YTAsMHgwMSwweDFjLDB4MDAsMHhiNywweDAwLDB4MjAsMHhjOSwweDQ4LDB4NzAsMHgwMiwweGRjLDB4NDAsMHhhNywweDE0LDB4MmMgfX0sCi0gezE2LCAweGU3ZTAsIDAsIHsweGM4LDB4MjgsMHgzMCwweDgyLDB4NWMsMHhjMSwweDg1LDB4MDAsMHgyZCwweGUwLDB4MmEsMHhmMCwweDEyLDB4MWMsMHg4MCwweGI3IH19LAotIHsxNiwgMHhlN2YwLCAwLCB7MHhhMCwweDIxLDB4ODIsMHgwYiwweDcwLDB4ODIsMHhkNCwweDExLDB4YjYsMHg4MCwweDIxLDB4NDAsMHg0YiwweDUwLDB4MDIsMHhlOCB9fSwKLSB7MTYsIDB4ZTgwMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZSwweDgwLDB4ZDUsMHg4MCwweDI5LDB4ZWEgfX0sCi0gezE2LCAweGU4MTAsIDAsIHsweDRlLDB4M2EsMHgwNywweDBlLDB4ODAsMHhlMywweGIwLDB4MzEsMHhmYywweDBjLDB4NDgsMHgwMywweDBlLDB4NDEsMHhlNywweDgwIH19LAotIHsxNiwgMHhlODIwLCAwLCB7MHgzZCwweGUwLDB4MGUsMHg3OCwweDAzLDB4OWUsMHg4MCwweGY0LDB4YzQsMHgzNSwweGUwLDB4MGYsMHg3OCwweDI3LDB4ZGUsMHgwMCB9fSwKLSB7MTYsIDB4ZTgzMCwgMCwgezB4ZjUsMHg4MCwweGIxLDB4ZTAsMHgwZiwweDU4LDB4MDMsMHhlYSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU4NDAsIDAsIHsweDA4LDB4MWQsMHhhYywweDAwLDB4MzEsMHgwNCwweDNhLDB4YzQsMHgwZiwweGI1LDB4OTMsMHg2ZCwweDA4LDB4ZmIsMHg0MCwweDNhIH19LAotIHsxNiwgMHhlODUwLCAwLCB7MHhjOCwweDYzLDB4ODAsMHgyMywweGVjLDB4OTgsMHhlOSwweDAwLDB4M2UsMHhjMCwweDBkLDB4YjAsMHg0MywweGVjLDB4MDAsMHhmMyB9fSwKLSB7MTYsIDB4ZTg2MCwgMCwgezB4ODAsMHgzZSwweDQwLDB4NGYsMHhhMCwweDAzLDB4ZWMsMHgwMCwweGY4LDB4NjgsMHgzZSwweDQwLDB4OGYsMHg5OCwweDAzLDB4YzIgfX0sCi0gezE2LCAweGU4NzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmUsMHg2MCwweGViLDB4OTAsMHgzZSwweGU0IH19LAotIHsxNiwgMHhlODgwLCAwLCB7MHgwZiwweGI4LDB4MDAsMHgzZiwweDQwLDB4Y2IsMHg4MCwweDdmLDB4ZTAsMHgwZSwweGZiLDB4MDMsMHgyZSwweDQwLDB4Y2IsMHg4MCB9fSwKLSB7MTYsIDB4ZTg5MCwgMCwgezB4M2YsMHhlMCwweDBmLDB4NzksMHg0MywweDJlLDB4NjAsMHhjYSwweDgxLDB4MzMsMHg2NCwweDhmLDB4ZDksMHgwMywweGZlLDB4MDAgfX0sCi0gezE2LCAweGU4YTAsIDAsIHsweGZmLDB4ODEsMHgzMywweGUwLDB4MGYsMHhkOSwweDhiLDB4MDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlOGIwLCAwLCB7MHhhOCwweDAxLDB4OWMsMHgwMCwweDg3LDB4ODEsMHgxOSwweGU0LDB4MGIsMHhmYSwweDEzLDB4NWUsMHg4MCwweDg3LDB4YjIsMHgyZCB9fSwKLSB7MTYsIDB4ZThjMCwgMCwgezB4ZWMsMHgwZCwweDc5LDB4MDEsMHg5ZSwweDAwLDB4ZDUsMHg5MCwweDJkLDB4ZjgsMHgwYiwweDc4LDB4MDMsMHg3ZSwweDA4LDB4YWIgfX0sCi0gezE2LCAweGU4ZDAsIDAsIHsweDkxLDB4MjksMHg4NSwweDBiLDB4NTEsMHgwMiwweGRjLDB4NDgsMHhiNiwweDQwLDB4MjEsMHg0MCwweDBiLDB4NTAsMHgwMiwweDJhIH19LAotIHsxNiwgMHhlOGUwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDhjLDB4MTQsMHhiNSwweDIwLDB4NmQsMHhjOCB9fSwKLSB7MTYsIDB4ZThmMCwgMCwgezB4MGIsMHg3MiwweDAyLDB4NWMsMHg4MCwweDg3LDB4MjAsMHg2OSwweGMwLDB4ODgsMHg1MywweDAyLDB4Y2MsMHg4MSwweDk3LDB4NTAgfX0sCi0gezE2LCAweGU5MDAsIDAsIHsweDJkLDB4YzgsMHgwYiwweGY3LDB4MGEsMHhkYywweGMwLDB4ODQsMHgwMSwweDIxLDB4NDQsMHgxYiwweDcwLDB4MjIsMHhkYywweDAwIH19LAotIHsxNiwgMHhlOTEwLCAwLCB7MHhiNSwweDAwLDB4MjEsMHhjNCwweDBiLDB4NTAsMHg4NiwweDAwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTkyMCwgMCwgezB4MjAsMHgxNCwweGNmLDB4MzAsMHg5MSwweDAwLDB4MmMsMHhjMCwweDBiLDB4MzQsMHgwMiwweDRjLDB4MDAsMHg4MywweDAwLDB4MmMgfX0sCi0gezE2LCAweGU5MzAsIDAsIHsweGYyLDB4MGIsMHgxMCwweDIyLDB4MGMsMHgwMCwweDkxLDB4MDAsMHgyYywweGM4LDB4MGIsMHgxOCwweDBhLDB4Y2QsMHgwMSwweGEzIH19LAotIHsxNiwgMHhlOTQwLCAwLCB7MHgwMCwweDI4LDB4NjAsMHgwYiwweDIxLDB4MDIsMHhjZSwweDIwLDB4YjgsMHg0MCwweGEwLDB4NTQsMHgwYiwweDE4LDB4MDIsMHgwOCB9fSwKLSB7MTYsIDB4ZTk1MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTEsMHhiZCwweDAwLDB4ZjksMHgwMCwweDJmLDB4YzAgfX0sCi0gezE2LCAweGU5NjAsIDAsIHsweDBmLDB4ZjQsMHgwMiwweDdjLDB4MTIsMHhjZiwweDAzLDB4M2YsMHhjMiwweDBlLDB4YjAsMHgwMywweGZjLDB4MDQsMHg5YiwweDAyIH19LAotIHsxNiwgMHhlOTcwLCAwLCB7MHgyZSwweGYyLDB4MGYsMHhhNCwweDBiLDB4ZGMsMHgwMCwweGNlLDB4MDAsMHhiMCwweGM4LDB4OGYsMHhhNCwweDAzLDB4ZWYsMHgwMCB9fSwKLSB7MTYsIDB4ZTk4MCwgMCwgezB4ZjgsMHg4MCwweDMyLDB4ZjUsMHgxZiwweGRkLDB4MDMsMHgyYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU5OTAsIDAsIHsweDgwLDB4MDAsMHhlYywweDQwLDB4ZTksMHgwMCwweDNhLDB4YzAsMHgwZiwweGIxLDB4MDMsMHhjYywweDAwLDB4ZjMsMHgwMCwweDNlIH19LAotIHsxNiwgMHhlOWEwLCAwLCB7MHhjMCwweDBkLDB4YjQsMHgwOSwweGVjLDB4MTgsMHhmOSwweDEwLDB4M2UsMHgxMCwweDRmLDB4YjEsMHgwYSwweDZjLDB4ODAsMHhmOSB9fSwKLSB7MTYsIDB4ZTliMCwgMCwgezB4ODksMHgzNiwweDgyLDB4MGIsMHhhNiwweDAzLDB4ZWMsMHg1MCwweGY5LDB4NTAsMHgzZSwweGMwLDB4MWYsMHg5MCwweDAzLDB4NjAgfX0sCi0gezE2LCAweGU5YzAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZmMsMHgwMCwweGZkLDB4YTAsMHgzZCwweGMwIH19LAotIHsxNiwgMHhlOWQwLCAwLCB7MHgwYywweDcwLDB4ODMsMHgyYywweDAwLDB4ZWYsMHgwMiwweDM1LDB4YzAsMHgwZCwweGUyLDB4MDMsMHhmYywweDA0LDB4ZmYsMHgwMiB9fSwKLSB7MTYsIDB4ZTllMCwgMCwgezB4MmQsMHhlMCwweDhlLDB4ZjAsMHgwMywweDNjLDB4MTAsMHhkYywweDAwLDB4M2YsMHg4MCwweDBjLDB4ZDgsMHgwMywweGZjLDB4MDAgfX0sCi0gezE2LCAweGU5ZjAsIDAsIHsweGRlLDB4MTgsMHgzMywweGYwLDB4NGYsMHhkMCwweDAzLDB4YzAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYTAwLCAwLCB7MHg4MSwweDAwLDB4NmMsMHgwMCwweGI5LDB4MDAsMHgyZSwweGMwLDB4NGMsMHhiMCwweDAzLDB4NmMsMHgwMCwweDhiLDB4MDIsMHgzNiB9fSwKLSB7MTYsIDB4ZWExMCwgMCwgezB4YzAsMHgwZCwweGFjLDB4MTIsMHhlYywweDAwLDB4NzksMHgwMCwweDJlLDB4MzAsMHgwZCwweDNkLDB4NDIsMHhhYywweDAwLDB4ODkgfX0sCi0gezE2LCAweGVhMjAsIDAsIHsweDg4LDB4MWEsMHgxMCwweDBkLDB4ODYsMHgwMiwweGVlLDB4MDQsMHhiYiwweDQwLDB4MjIsMHhlMCwweDBiLDB4OTAsMHgwMiwweGUwIH19LAotIHsxNiwgMHhlYTMwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDEsMHhiOSwweDAwLDB4MmUsMHhjMCB9fSwKLSB7MTYsIDB4ZWE0MCwgMCwgezB4MDgsMHhiMCwweDQyLDB4YWMsMHgwMCwweDBiLDB4MDUsMHgyNiwweGMwLDB4MDksMHg5NCwweDIwLDB4ZWMsMHgwMCwweGI5LDB4ODAgfX0sCi0gezE2LCAweGVhNTAsIDAsIHsweDZlLDB4YzQsMHg4OCwweGIwLDB4ODIsMHgyYywweDAwLDB4OWIsMHg4MiwweDJlLDB4NDIsMHgwOCwweDgxLDB4MDIsMHhlNCwweDgwIH19LAotIHsxNiwgMHhlYTYwLCAwLCB7MHhiOCwweDAwLDB4MjIsMHhjMSwweDBiLDB4OTAsMHgwMiwweGUwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWE3MCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MTAsMHhiMSwweDI1LDB4MmMsMHhjYSwweDA4LDB4MzQsMHg0NiwweGNjLDB4MDgsMHg4MywweDAwLDB4MjQgfX0sCi0gezE2LCAweGVhODAsIDAsIHsweGMyLDB4MGIsMHgwMiwweDUyLDB4Y2MsMHg4MSwweDgzLDB4MDAsMHgyYywweDAwLDB4MTksMHhiMiwweDQyLDB4YWMsMHg4MCwweDgxIH19LAotIHsxNiwgMHhlYTkwLCAwLCB7MHgwOCwweDI4LDB4ODAsMHgwOSwweDAwLDB4MDIsMHhjNCwweDQwLDB4YjEsMHgwMCwweDIwLDB4YzAsMHgwYiwweDEwLDB4MDIsMHhjMiB9fSwKLSB7MTYsIDB4ZWFhMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHg2YywweDAwLDB4YjksMHgwMCwweDNmLDB4ZDAgfX0sCi0gezE2LCAweGVhYjAsIDAsIHsweDA4LDB4ZjYsMHgwNywweGJjLDB4YzIsMHhhZiwweDMwLDB4NzUsMHhkYywweDBkLDB4MTYsMHgwMiwweGZjLDB4ZTAsMHhiOSwweDUwIH19LAotIHsxNiwgMHhlYWMwLCAwLCB7MHgzZSwweGNjLDB4MGMsMHhiMCwweDIzLDB4MmMsMHgxMCwweGQ5LDB4MDAsMHgzZSwweDAwLDB4MGMsMHg5MCwweDAzLDB4ZWMsMHgwMCB9fSwKLSB7MTYsIDB4ZWFkMCwgMCwgezB4ZGUsMHgwMSwweDMyLDB4YzAsMHgwZiwweDkwLDB4MDMsMHhjMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVhZTAsIDAsIHsweGEwLDB4MTksMHhmYywweDAwLDB4ZmQsMHgxMCwweDNmLDB4Y2EsMHgyZSwweGY2LDB4MDMsMHg2ZCwweDk0LDB4OWYsMHgzMCwweDNhIH19LAotIHsxNiwgMHhlYWYwLCAwLCB7MHhjOSwweDBjLDB4ODMsMHg5MywweGZjLDB4ODAsMHhmZiwweDExLDB4N2UsMHgxOSwweDBiLDB4YjEsMHgwMywweGZjLDB4NDAsMHhmZCB9fSwKLSB7MTYsIDB4ZWIwMCwgMCwgezB4MDgsMHgzYiwweDAwLDB4MGYsMHhjMCwweDAzLDB4ZmMsMHg4MCwweDc3LDB4MDAsMHhiZiwweGMwLDB4MGYsMHg1MCwweDAzLDB4ZTggfX0sCi0gezE2LCAweGViMTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAxLDB4ZmMsMHgwMCwweGY0LDB4OTQsMHgzNywweGM4IH19LAotIHsxNiwgMHhlYjIwLCAwLCB7MHgwZCwweDY5LDB4NjMsMHg3YywweDEwLDB4ZmYsMHg2MiwweDM3LDB4YzAsMHgwZCwweGI0LDB4MDMsMHg3YywweDYwLDB4ZDQsMHg4MCB9fSwKLSB7MTYsIDB4ZWIzMCwgMCwgezB4M2YsMHg0MCwweDBmLDB4NDgsMHgyMywweDMyLDB4MDAsMHhjZSwweDAwLDB4YmYsMHg0MCwweDhmLDB4ZDEsMHgwMywweDMwLDB4ZTAgfX0sCi0gezE2LCAweGViNDAsIDAsIHsweGZmLDB4MzAsMHgzYiwweDYwLDB4MGYsMHhkOCwweDAzLDB4YjAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYjUwLCAwLCB7MHg4MCwweDEwLDB4ZWQsMHgyMCwweGI4LDB4MjQsMHgyMywweGY0LDB4NDksMHhhMiwweDAyLDB4M2YsMHg0MCwweDhmLDB4NTEsMHgyMyB9fSwKLSB7MTYsIDB4ZWI2MCwgMCwgezB4ZGEsMHgwOCwweGY2LDB4MTIsMHgzZCwweDgwLDB4OWIsMHg4MCwweDJlLDB4NDksMHg0YiwweDgwLDB4MDMsMHg0MCwweDAwLDB4ZDkgfX0sCi0gezE2LCAweGViNzAsIDAsIHsweDAxLDB4MjIsMHg3NCwweDBiLDB4ZDUsMHgwMiwweDIxLDB4MDAsMHhiZiwweDQyLDB4MmUsMHg0OSwweDBiLDB4OWMsMHgwMiwweGUwIH19LAotIHsxNiwgMHhlYjgwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNkLDB4ODAsMHhiOCwweDIwLDB4MjgsMHhjMSB9fSwKLSB7MTYsIDB4ZWI5MCwgMCwgezB4MWIsMHhhMCwweDAyLDB4NGMsMHgwMCwweDkzLDB4MjAsMHgyYywweGQ4LDB4MGIsMHgzNCwweDAyLDB4Y2MsMHgwMCwweDkwLDB4MDEgfX0sCi0gezE2LCAweGViYTAsIDAsIHsweDJjLDB4YzYsMHgxYSwweGEwLDB4MDIsMHg2OCwweDA4LDB4ODMsMHgwMCwweGE0LDB4NDAsMHgwYiwweDEwLDB4MDIsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYmIwLCAwLCB7MHhiMywweDEwLDB4MjgsMHg0MiwweDBiLDB4MTQsMHgwMiwweGEyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWJjMCwgMCwgezB4YzAsMHgxNSwweGFjLDB4MDAsMHhiOCwweDYwLDB4MmEsMHhjMCwweDFiLDB4YTAsMHg4ZSwweGFjLDB4MDEsMHg5YiwweDA1LDB4MjYgfX0sCi0gezE2LCAweGViZDAsIDAsIHsweGMwLDB4MDMsMHhiMCwweDQyLDB4NmMsMHgwMCwweDliLDB4ODAsMHgyZSwweGMwLDB4MDMsMHhhMCwweDA2LDB4NjksMHgwMCwweDk5IH19LAotIHsxNiwgMHhlYmUwLCAwLCB7MHg4MCwweGFhLDB4YzAsMHgwYiwweDkwLDB4MDIsMHg2MywweDAwLDB4M2IsMHgwMCwweDJlLDB4NTgsMHg0YiwweDkwLDB4MDIsMHhmMCB9fSwKLSB7MTYsIDB4ZWJmMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTEsMHhlYywweDA0LDB4ZjgsMHg4MCwweGJhLDB4YzAgfX0sCi0gezE2LCAweGVjMDAsIDAsIHsweDBmLDB4MzAsMHgwMywweDZjLDB4MTAsMHhkYiwweDAzLDB4MzYsMHhjMCwweDhmLDB4YjAsMHgwMywweGVjLDB4MDgsMHhkOCwweDgwIH19LAotIHsxNiwgMHhlYzEwLCAwLCB7MHg3ZSwweGUwLDB4MDYsMHg4OCwweDAzLDB4NDEsMHgwOCwweGNiLDB4YTAsMHgzZSwweDY0LDB4MGYsMHg5MCwweDBiLDB4MmEsMHgwMCB9fSwKLSB7MTYsIDB4ZWMyMCwgMCwgezB4N2IsMHgwMCwweDNhLDB4MDEsMHgwZiwweDkwLDB4MDMsMHg5MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVjMzAsIDAsIHsweGUwLDB4MDEsMHhiYywweDAwLDB4ZmMsMHg4NCwweDMyLDB4YzAsMHgwYywweGY5LDB4MDMsMHg1YywweDEwLDB4ZWYsMHgwMCwweDNiIH19LAotIHsxNiwgMHhlYzQwLCAwLCB7MHhjMCwweDBjLDB4NzAsMHgwMywweDljLDB4MDAsMHhlYywweDAxLDB4M2YsMHhlNCwweDRmLDB4ZDEsMHgwMywweGYxLDB4MDAsMHhmMyB9fSwKLSB7MTYsIDB4ZWM1MCwgMCwgezB4MDUsMHgzMywweDYwLDB4MGYsMHhkMCwweDAzLDB4YmMsMHgwNCwweGZmLDB4MDAsMHgzZiwweDIxLDB4MGYsMHhkMCwweDAzLDB4ZjggfX0sCi0gezE2LCAweGVjNjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMCwweGM4LDB4NDAsMHgzYSwweGM2IH19LAotIHsxNiwgMHhlYzcwLCAwLCB7MHgwZCwweGI0LDB4MDMsMHg2YywweDAwLDB4ZjMsMHgwMCwweDM0LDB4YzAsMHgwZSwweGIwLDB4MDMsMHg2YywweDAwLDB4ZTksMHgxMCB9fSwKLSB7MTYsIDB4ZWM4MCwgMCwgezB4M2EsMHhjMCwweDBmLDB4ODQsMHgwMywweDJjLDB4NjAsMHhjYiwweDAwLDB4MzIsMHg2MCwweDBjLDB4NTAsMHgwMywweDYxLDB4MDAgfX0sCi0gezE2LCAweGVjOTAsIDAsIHsweGNiLDB4MDAsMHgzZSwweDkwLDB4MGUsMHg5MCwweGEzLDB4OTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlY2EwLCAwLCB7MHhjOCwweDA1LDB4M2MsMHgwMiwweDg4LDB4MDEsMHgwMSwweGYwLDB4MjAsMHhiMCwweDAxLDB4M2UsMHgwMCwweDNmLDB4MDAsMHgzMyB9fSwKLSB7MTYsIDB4ZWNiMCwgMCwgezB4YzAsMHgwYiwweGYwLDB4MzIsMHgzYywweDA4LDB4ODksMHg4MCwweDIyLDB4YzAsMHgwMSwweDE1LDB4MTIsMHhhYywweDAwLDB4OGIgfX0sCi0gezE2LCAweGVjYzAsIDAsIHsweDAwLDB4MjIsMHhjMCwweDQ4LDB4ZGIsMHgwMiwweDJmLDB4NDAsMHg4ZiwweDAwLDB4MmUsMHgwMSwweDA4LDB4ZDQsMHg4MCwweDMyIH19LAotIHsxNiwgMHhlY2QwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRjLDB4MDAsMHgwOCwweDAwLDB4MDgsMHhmMCB9fSwKLSB7MTYsIDB4ZWNlMCwgMCwgezB4MDgsMHgwMCwweDEyLDB4NGMsMHgwMCwweDMzLDB4MDEsMHgyNCwweGMwLDB4NGEsMHgzMCwweDAyLDB4NGMsMHgwMCwweGEwLDB4MjAgfX0sCi0gezE2LCAweGVjZjAsIDAsIHsweDI4LDB4YzAsMHgwYiwweDEwLDB4MDIsMHg0NiwweDA0LDB4ODMsMHgwNCwweDIwLDB4YzAsMHgyOSwweDE4LDB4MDIsMHgwNCwweDQwIH19LAotIHsxNiwgMHhlZDAwLCAwLCB7MHhiMywweDAwLDB4MmMsMHg0MCwweDBhLDB4MWMsMHg0MiwweGIxLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWQxMCwgMCwgezB4MjAsMHgwMSwweDFlLDB4MDEsMHg4ZCwweDgwLDB4MjEsMHhlMCwweDE4LDB4YzgsMHgwMiwweDFlLDB4MDAsMHhiMywweGEwLDB4MjEgfX0sCi0gezE2LCAweGVkMjAsIDAsIHsweGUwLDB4MWIsMHgzOCwweDAyLDB4MGUsMHgwMSwweGE3LDB4ODAsMHgyMSwweGUwLDB4MDksMHhkOCwweDQwLDB4ZDYsMHg0MCwweDg3IH19LAotIHsxNiwgMHhlZDMwLCAwLCB7MHg4MCwweDAxLDB4ZTAsMHgwOSwweDU5LDB4MDIsMHgxNiwweDAwLDB4OTcsMHg4NCwweDJkLDB4NjAsMHgwOCwweDU4LDB4NDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWQ0MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgyYywweDQwLDB4YzAsMHgwMCwweDM4LDB4YzQgfX0sCi0gezE2LCAweGVkNTAsIDAsIHsweDBjLDB4MzAsMHgyNywweDRjLDB4MjAsMHhmMywweDAxLDB4MzQsMHhjMSwweDBlLDB4M2EsMHgwMywweDRjLDB4YzQsMHhlMCwweDAwIH19LAotIHsxNiwgMHhlZDYwLCAwLCB7MHgxOCwweGM4LDB4MGYsMHgzNCwweDAzLDB4NDQsMHg0MCwweGMzLDB4MDAsMHgzMCwweGMwLDB4MGQsMHg5MCwweDAzLDB4MmUsMHgwMCB9fSwKLSB7MTYsIDB4ZWQ3MCwgMCwgezB4ZjMsMHgwMCwweDNlLDB4NDAsMHgwZSwweDEwLDB4MDEsMHg5YSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVkODAsIDAsIHsweDQwLDB4MWQsMHhiYywweDAwLDB4ZjksMHgwMCwweDBlLDB4ZDQsMHgwZSwweGIwLDB4MDMsMHhlYywweDIwLDB4ZmIsMHgyMCwweDNmIH19LAotIHsxNiwgMHhlZDkwLCAwLCB7MHhjNCwweDBmLDB4ZjEsMHgwMywweGVjLDB4NjAsMHhkYiwweDEwLDB4M2YsMHhjMCwweDRmLDB4ZjAsMHgwMywweGE0LDB4NDYsMHhmYiB9fSwKLSB7MTYsIDB4ZWRhMCwgMCwgezB4MDAsMHhiZCwweGMwLDB4MGUsMHhkMCwweDBiLDB4YjQsMHgwMCwweGVmLDB4NDgsMHgzZiwweDQwLDB4MGYsMHg1MCwweDAzLDB4ZDAgfX0sCi0gezE2LCAweGVkYjAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWMsMHgwMCwweGY4LDB4MDAsMHgzMiwweGQ0IH19LAotIHsxNiwgMHhlZGMwLCAwLCB7MHgwZiwweDgwLDB4MDMsMHhhZCwweDAwLDB4ZWIsMHgwOCwweDIyLDB4ZDIsMHgwYywweGI2LDB4MDMsMHg2YywweDAwLDB4ZjIsMHg4MCB9fSwKLSB7MTYsIDB4ZWRkMCwgMCwgezB4MzYsMHhjMCwweDBlLDB4YTAsMHgwMywweDI4LDB4MTAsMHhjYiwweDAwLDB4YjIsMHhjMCwweDBmLDB4ZDYsMHgwMywweDI4LDB4MTAgfX0sCi0gezE2LCAweGVkZTAsIDAsIHsweGZiLDB4MjAsMHgzZSwweDQwLDB4NGYsMHg5OSwweDEzLDB4MmIsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZGYwLCAwLCB7MHg0OCwweDExLDB4OWQsMHgxMCwweGI0LDB4MDEsMHgyMSwweGMxLDB4OGIsMHhjMCwweDAyLDB4MWMsMHhhMCwweGJmLDB4MDQsMHgyNyB9fSwKLSB7MTYsIDB4ZWUwMCwgMCwgezB4YzgsMHgwOCwweDc1LDB4MDIsMHgxYywweGMwLDB4YjYsMHgwMCwweDIxLDB4YzAsMHgwOCwweGYwLDB4NDIsMHgxOCwweDEwLDB4OGYgfX0sCi0gezE2LCAweGVlMTAsIDAsIHsweDAwLDB4MjEsMHhjMCwweDBiLDB4NTQsMHhhMiwweDFjLDB4MDAsMHhiNywweDA0LDB4MmQsMHg0MSwweDBiLDB4NTIsMHgwMiwweDEyIH19LAotIHsxNiwgMHhlZTIwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDllLDB4ODAsMHhiNiwweDg4LDB4YTUsMHhlMCB9fSwKLSB7MTYsIDB4ZWUzMCwgMCwgezB4MGIsMHg3OCwweDEyLDB4OWUsMHg4MSwweGE3LDB4OTAsMHgyNSwweGU0LDB4ODgsMHg3OCwweDAyLDB4MWUsMHg4MCwweGJmLDB4ODAgfX0sCi0gezE2LCAweGVlNDAsIDAsIHsweDI0LDB4NjAsMHgwYiwweDY4LDB4MDIsMHgxZSwweDAwLDB4ODcsMHg4NCwweDYxLDB4ZTAsMHgwYSwweDFhLDB4MGEsMHgxYSwweDAwIH19LAotIHsxNiwgMHhlZTUwLCAwLCB7MHhiNywweGEwLDB4MmQsMHhlMCwweDBiLDB4ZGEsMHgwMiwweDMwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWU2MCwgMCwgezB4NDgsMHgxNCwweGNjLDB4MDAsMHhiYSwweGMwLDB4YTQsMHhjMCwweDBiLDB4MzQsMHgwMiwweDBjLDB4MDAsMHhiMywweDAwLDB4MjQgfX0sCi0gezE2LCAweGVlNzAsIDAsIHsweGMwLDB4MDgsMHhiMCwweDBlLDB4MmMsMHgwMCwweGIzLDB4OTgsMHgyMCwweDYwLDB4MDksMHgzMywweDAyLDB4MmMsMHgwMCwweGEzIH19LAotIHsxNiwgMHhlZTgwLCAwLCB7MHhjOCwweDIwLDB4YzAsMHgwYiwweDEwLDB4MDIsMHgwYywweDAwLDB4YjMsMHgwMCwweDJjLDB4ZjAsMHgwYiwweDEwLDB4MDIsMHgxMiB9fSwKLSB7MTYsIDB4ZWU5MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOCwweDAwLDB4ZmUsMHg4MCwweDM2LDB4ODEgfX0sCi0gezE2LCAweGVlYTAsIDAsIHsweDBiLDB4ZTAsMHgwMywweGE4LDB4MDAsMHhlYSwweDAwLDB4YjIsMHg4MCwweDA4LDB4YTAsMHgwMywweDY4LDB4MDAsMHhmZSwweDAwIH19LAotIHsxNiwgMHhlZWIwLCAwLCB7MHgzNiwweGEwLDB4MWYsMHhlOCwweDEzLDB4M2IsMHg4MiwweGNlLDB4ZTAsMHgyMiwweDgwLDB4OGUsMHhhMCwweDAzLDB4MzgsMHgwMCB9fSwKLSB7MTYsIDB4ZWVjMCwgMCwgezB4YmEsMHgwMCwweDNmLDB4YTIsMHgwZiwweGEwLDB4MDMsMHgzYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVlZDAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDAwLDB4ZjgsMHgyMCwweDNhLDB4MTAsMHgwNywweDgwLDB4MDMsMHhjMSwweDAwLDB4ZjgsMHgwMCwweDM4IH19LAotIHsxNiwgMHhlZWUwLCAwLCB7MHgwMCwweDJmLDB4ODAsMHgwMywweGEwLDB4MDEsMHhmOCwweDQyLDB4M2UsMHgwNSwweDBlLDB4ODAsMHgwYiwweGUwLDB4ODAsMHhkOCB9fSwKLSB7MTYsIDB4ZWVmMCwgMCwgezB4MDAsMHgzZSwweDAwLDB4MGYsMHg4NCwweDAzLDB4ZTEsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4NCwweDBiLDB4ZDIgfX0sCi0gezE2LCAweGVmMDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGM5LDB4MDAsMHgzYSwweDUwIH19LAotIHsxNiwgMHhlZjEwLCAwLCB7MHg4ZiwweDkwLDB4ODMsMHhhNCwweDAyLDB4ZDEsMHgwMCwweGIyLDB4NDAsMHg0YywweDkwLDB4MjMsMHgyNCwweDA4LDB4YzksMHgwMSB9fSwKLSB7MTYsIDB4ZWYyMCwgMCwgezB4M2UsMHg0MCwweDBjLDB4OTAsMHgwMywweDI0LDB4MDAsMHhjMSwweDAwLDB4MzIsMHg0MCwweDBmLDB4MTQsMHgwYSwweDI1LDB4MjAgfX0sCi0gezE2LCAweGVmMzAsIDAsIHsweGU5LDB4MDAsMHgzZSwweDQyLDB4MGYsMHg5MCwweDAzLDB4YzIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZjQwLCAwLCB7MHg4MCwweDA0LDB4NjQsMHgwYSwweDg5LDB4MDAsMHgyMiwweDcwLDB4MGIsMHg5MCwweDEyLDB4MjUsMHg4MCwweGM5LDB4MDAsMHgyMiB9fSwKLSB7MTYsIDB4ZWY1MCwgMCwgezB4NDAsMHgwYSwweDkwLDB4MDMsMHg2NCwweDAwLDB4ODksMHgyMCwweDJjLDB4NDAsMHgwYSwweDkwLDB4MGEsMHgyNCwweDAwLDB4ODkgfX0sCi0gezE2LCAweGVmNjAsIDAsIHsweGMxLDB4MzIsMHg0MCwweDBiLDB4OTgsMHgwMiwweDA2LDB4MDAsMHg4OSwweDkwLDB4MmUsMHg0MCwweDBiLDB4OTQsMHgxMiwweGUwIH19LAotIHsxNiwgMHhlZjcwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwMSwweDA0LDB4MDAsMHg4OSwweDAwLDB4NmEsMHg0MiB9fSwKLSB7MTYsIDB4ZWY4MCwgMCwgezB4MGEsMHgxMCwweDAyLDB4YTQsMHgwMCwweDg5LDB4MDAsMHhhMiwweDQwLDB4MGEsMHg5MCwweDAyLDB4MjQsMHgwMCwweDA5LDB4MDAgfX0sCi0gezE2LCAweGVmOTAsIDAsIHsweDJlLDB4NDAsMHg1OCwweDEwLDB4MDIsMHgyNCwweDAwLDB4ODksMHg4MCwweGFhLDB4NjAsMHgwYiwweDkwLDB4MDIsMHhhNCwweDA0IH19LAotIHsxNiwgMHhlZmEwLCAwLCB7MHhhOSwweDAwLDB4MmUsMHg0MCwweDBiLDB4OTQsMHgwMiwweGM2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWZiMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4ODAsMHg4MSwweDAwLDB4NjAsMHg0OCwweDBiLDB4MTAsMHgwMiwweDA0LDB4ODEsMHg4MSwweDIwLDB4NjAgfX0sCi0gezE2LCAweGVmYzAsIDAsIHsweDQ4LDB4MGEsMHgxMiwweDAyLDB4NDQsMHg4OCwweDgxLDB4MDAsMHgwZSwweDU5LDB4MGEsMHgxNCwweDAyLDB4MDUsMHgwMCwweDgxIH19LAotIHsxNiwgMHhlZmQwLCAwLCB7MHhjMCwweDI4LDB4NTAsMHg0OSwweDMwLDB4MDIsMHg4YywweDg0LDB4MDEsMHg2MCwweDJjLDB4NTAsMHgwYiwweDEwLDB4MDIsMHhjMiB9fSwKLSB7MTYsIDB4ZWZlMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MSwweDQwLDB4YzAsMHg1NCwweDJhLDB4MDAgfX0sCi0gezE2LCAweGVmZjAsIDAsIHsweDBlLDB4ODUsMHgwMywweGEwLDB4MDAsMHhjOCwweDUwLDB4MzIsMHgxNSwweDFlLDB4MDUsMHgyMiwweDIxLDB4NDIsMHhjOCwweDAwIH19LAotIHsxNiwgMHhmMDAwLCAwLCB7MHgzZSwweDAwLDB4MGMsMHg4MCwweDAzLDB4MDAsMHgwNCwweGM4LDB4MDAsMHgzYSwweDAwLDB4NGYsMHg4NSwweDAzLDB4YTEsMHg0MCB9fSwKLSB7MTYsIDB4ZjAxMCwgMCwgezB4NjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhlZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYwMjAsIDAsIHsweDk4LDB4MWQsMHhlNCwweDQwLDB4ZmQsMHgwMywweDNlLDB4NDQsMHgwZiwweGQwLDB4MDMsMHhlNCwweDQ4LDB4ZTksMHgxMCwweDNlIH19LAotIHsxNiwgMHhmMDMwLCAwLCB7MHg0NSwweDBmLDB4OTEsMHgxMywweGU0LDB4NDAsMHhmZCwweDAwLDB4M2YsMHg0NCwweDBmLDB4ZDAsMHgwMywweGY0LDB4MDIsMHhmZCB9fSwKLSB7MTYsIDB4ZjA0MCwgMCwgezB4NDAsMHgzMywweDUwLDB4MGYsMHhkNCwweDIzLDB4NzQsMHg0MCwweGY5LDB4MTAsMHgzZiwweDQwLDB4MGYsMHg1NCwweDAzLDB4ZTYgfX0sCi0gezE2LCAweGYwNTAsIDAsIHsweDAyLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZTQsMHgwMCwweGY5LDB4MDEsMHgzMywweDZhIH19LAotIHsxNiwgMHhmMDYwLCAwLCB7MHgwOSwweDkwLDB4MDMsMHhiNiwweDM0LDB4ZjksMHhjOCwweDMyLDB4NjQsMHgwYywweDlhLDB4MDMsMHhlNiwweGEwLDB4ZGQsMHgwMCB9fSwKLSB7MTYsIDB4ZjA3MCwgMCwgezB4M2MsMHg3MCwweDBmLDB4OTAsMHgwMywweGE1LDB4MDAsMHg4OSwweDgwLDB4MzMsMHgzMiwweDBmLDB4ZDgsMHgxMywweDNjLDB4MDAgfX0sCi0gezE2LCAweGYwODAsIDAsIHsweGZkLDB4MDAsMHg3MCwweDUwLDB4MGYsMHhkMCwweDAzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMDkwLCAwLCB7MHgzOCwweDEwLDB4ZTIsMHg4MCwweGI4LDB4YTgsMHgyMiwweDEwLDB4MDgsMHg4OCwweDAyLDB4MjEsMHgwMCwweGI4LDB4YzAsMHgyMCB9fSwKLSB7MTYsIDB4ZjBhMCwgMCwgezB4MzAsMHgwZCwweDhlLDB4ODcsMHg4MywweDg4LDB4ODgsMHgwMCwweDJlLDB4MzQsMHgwYiwweDhhLDB4ODIsMHgyMiwweDgwLDB4ZGMgfX0sCi0gezE2LCAweGYwYjAsIDAsIHsweGUwLDB4MjIsMHgzOCwweDBiLDB4ODAsMHgwMiwweDIwLDB4MDAsMHhmOCwweGE4LDB4MmEsMHgyOCwweDBiLDB4ODAsMHgwMiwweDBlIH19LAotIHsxNiwgMHhmMGMwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4MjAsMHhiMSwweDAwLDB4MjAsMHg0MCB9fSwKLSB7MTYsIDB4ZjBkMCwgMCwgezB4MGEsMHg5MiwweDkyLDB4ODQsMHgxMSwweGIxLDB4MjQsMHg2OCwweDU4LDB4MDksMHgxMSwweDAyLDB4YzQsMHgyMCwweDkxLDB4MDEgfX0sCi0gezE2LCAweGYwZTAsIDAsIHsweDJjLDB4NDgsMHgxYiwweDUwLDB4MDIsMHg3NCwweDg0LDB4OTUsMHg0OCwweGFjLDB4NDgsMHgwYiwweDk0LDB4MDIsMHgwNCwweDA0IH19LAotIHsxNiwgMHhmMGYwLCAwLCB7MHhiMSwweDAyLDB4MjQsMHg0OCwweDBiLDB4MTAsMHgwMiwweDAyLDB4MDUsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjEwMCwgMCwgezB4MTgsMHgxMSwweGE0LDB4MDAsMHhiMSwweDIwLDB4MjIsMHg0MCwweDBhLDB4OTAsMHgwNiwweDJjLDB4MDEsMHhiOSwweDAwLDB4MmEgfX0sCi0gezE2LCAweGYxMTAsIDAsIHsweDQwLDB4MDksMHg5MCwweDAyLDB4YTQsMHgwMCwweDliLDB4MDgsMHgyZSwweDQ4LDB4MGIsMHgxMiwweDFhLDB4NzQsMHgwMCwweDk1IH19LAotIHsxNiwgMHhmMTIwLCAwLCB7MHg0NSwweDJlLDB4NjAsMHgwMywweDkwLDB4MDIsMHgyNCwweDAwLDB4YjksMHgwMCwweDJlLDB4NDAsMHgwYiwweDkwLDB4MDIsMHgwNiB9fSwKLSB7MTYsIDB4ZjEzMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNCwweDAwLDB4ZjksMHg4MCwweDMwLDB4NDAgfX0sCi0gezE2LCAweGYxNDAsIDAsIHsweDBlLDB4MTYsMHgwMywweGE0LDB4MDAsMHhiOSwweDA0LDB4MzIsMHg0MCwweDBkLDB4OTAsMHgwMiwweGU0LDB4MDAsMHhkOSwweDQwIH19LAotIHsxNiwgMHhmMTUwLCAwLCB7MHgyZSwweDQwLDB4MWYsMHg5OCwweDAzLDB4ZTUsMHg4MCwweGQ5LDB4MDAsMHhhZSwweDYwLDB4MDcsMHgxMCwweDBiLDB4MjYsMHgwMSB9fSwKLSB7MTYsIDB4ZjE2MCwgMCwgezB4YjksMHgwMCwweGE2LDB4NDAsMHgwZiwweDkwLDB4MGIsMHgyOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYxNzAsIDAsIHsweDI4LDB4MDEsMHhhNCwweDAwLDB4ZjksMHgwMCwweGJlLDB4NDAsMHhhYywweDkyLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweGI0IH19LAotIHsxNiwgMHhmMTgwLCAwLCB7MHg0MCwweDBmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhlOSwweDAwLDB4M2UsMHg2MCwweDBmLDB4OTAsMHgwMywweGE0LDB4ODAsMHhmOSB9fSwKLSB7MTYsIDB4ZjE5MCwgMCwgezB4MDAsMHgzMiwweDAwLDB4MGYsMHg5MCwweDgzLDB4ZTYsMHg4NSwweGUxLDB4MDAsMHgzMiwweDQ0LDB4MGYsMHgxMCwweDAzLDB4Y2EgfX0sCi0gezE2LCAweGYxYTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGY4LDB4MDAsMHgzMiwweDAwIH19LAotIHsxNiwgMHhmMWIwLCAwLCB7MHgwZiwweDgwLDB4MTMsMHhlMCwweDk0LDB4ZTAsMHgwMCwweDMyLDB4MDAsMHgwYywweDgwLDB4MDMsMHg2MCwweDAwLDB4YzgsMHgwMCB9fSwKLSB7MTYsIDB4ZjFjMCwgMCwgezB4M2UsMHgwMCwweDBkLDB4ODAsMHg0MywweDIwLDB4MDgsMHhmOCwweDAwLDB4MzIsMHgwMCwweDBmLDB4ODAsMHgwMywweGUwLDB4NDAgfX0sCi0gezE2LCAweGYxZDAsIDAsIHsweGY4LDB4MDAsMHgzMiwweDAwLDB4NGMsMHg4MCwweDIzLDB4Y2EsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMWUwLCAwLCB7MHgyOCwweDA1LDB4MjgsMHgwMCwweGJhLDB4MDAsMHgyMywweDgwLDB4MGIsMHhhMCwweDAyLDB4ZmIsMHgwNCwweDZhLDB4MDAsMHgyMiB9fSwKLSB7MTYsIDB4ZjFmMCwgMCwgezB4ODAsMHgwYSwweGEwLDB4MDMsMHg2OCwweDBhLDB4OGUsMHg4OCwweDNhLDB4ODAsMHgwOCwweGEwLDB4MDIsMHgwOCwweDAwLDB4YmEgfX0sCi0gezE2LCAweGYyMDAsIDAsIHsweDAwLDB4YjcsMHgyMiwweDAzLDB4ZTQsMHgwMiwweGZhLDB4MDAsMHg4YSwweDAwLDB4MjIsMHg4MCwweDA4LDB4ZTgsMHgwMiwweGNhIH19LAotIHsxNiwgMHhmMjEwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDAsMHhiMywweDAwLDB4NjAsMHg0MSB9fSwKLSB7MTYsIDB4ZjIyMCwgMCwgezB4MDMsMHgzMCwweDAyLDB4Y2MsMHg0MSwweGEzLDB4MDAsMHgwNCwweGMwLDB4MGIsMHgzMCwweDAyLDB4MmMsMHgwMCwweGEzLDB4ODAgfX0sCi0gezE2LCAweGYyMzAsIDAsIHsweDJjLDB4YzAsMHgwOSwweDM4LDB4MDIsMHgwYywweDAwLDB4YjMsMHgwMCwweGEwLDB4YzAsMHgwYiwweDM0LDB4MDIsMHhjYywweDgwIH19LAotIHsxNiwgMHhmMjQwLCAwLCB7MHhhMSwweDAwLDB4MjAsMHhjMCwweDA4LDB4MzgsMHgwMiwweGNhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjI1MCwgMCwgezB4YTAsMHgwMSwweDFjLDB4NDAsMHhiNywweDAwLDB4NjEsMHgwMCwweDBiLDB4NzEsMHgwMiwweGRjLDB4MDAsMHhhMywweDAwLDB4MjUgfX0sCi0gezE2LCAweGYyNjAsIDAsIHsweGM4LDB4MTksMHgzOCwweDAyLDB4NWMsMHg4MCwweGE3LDB4MDAsMHgwZiwweGU4LDB4MDksMHg2NCwweDIyLDB4MTAsMHgwMCwweGIzIH19LAotIHsxNiwgMHhmMjcwLCAwLCB7MHgwMCwweDI1LDB4YzgsMHgwYiwweDYwLDB4MDIsMHhmMiwweDAwLDB4ODUsMHgwMSwweDIzLDB4ZTgsMHgwOCwweDcwLDB4ODIsMHhlOCB9fSwKLSB7MTYsIDB4ZjI4MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZSwweDIwLDB4ZmYsMHg4MCwweGExLDB4YTAgfX0sCi0gezE2LCAweGYyOTAsIDAsIHsweDBmLDB4N2EsMHg0MiwweGRhLDB4MDAsMHhlNywweGU4LDB4MzUsMHhmMCwweDJmLDB4N2IsMHg2MiwweDFlLDB4ODIsMHhlNiwweDgwIH19LAotIHsxNiwgMHhmMmEwLCAwLCB7MHgxZCwweGUwLDB4MGQsMHhmOCwweDBiLDB4MWUsMHgwMCwweGY3LDB4ODAsMHgzMSwweGYwLDB4MGYsMHg3OCwweDAzLDB4ZGUsMHgwYyB9fSwKLSB7MTYsIDB4ZjJiMCwgMCwgezB4ZWYsMHg4MCwweDMxLDB4ZjgsMHgyYywweDc4LDB4MDMsMHhlYSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYyYzAsIDAsIHsweDA4LDB4MWQsMHhhZCwweDg0LDB4ZmIsMHg2OCwweDNlLDB4MDAsMHgwZiwweGIwLDB4MDMsMHhlOCwweDAwLDB4ZmIsMHgwMCwweGZhIH19LAotIHsxNiwgMHhmMmQwLCAwLCB7MHhkOCwweDBlLDB4YjUsMHgwMywweGVkLDB4MDAsMHhkYiwweDAwLDB4M2EsMHhjMCwweDhlLDB4YTAsMHgwMywweGUwLDB4MDAsMHhmYiB9fSwKLSB7MTYsIDB4ZjJlMCwgMCwgezB4NDAsMHgzZSwweGMwLDB4MGIsMHhiMCwweDQzLDB4YzQsMHgwNCwweGVmLDB4MDIsMHhiZiwweGMwLDB4MGYsMHhiMCwweDAzLDB4YzIgfX0sCi0gezE2LCAweGYyZjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmUsMHg0MiwweGM3LDB4MzgsMHgzMywweDY0IH19LAotIHsxNiwgMHhmMzAwLCAwLCB7MHgwZSwweDdjLDB4MDMsMHg1ZSwweDAwLDB4ZGYsMHhhMCwweDM3LDB4ZjAsMHgwZCwweGY4LDB4MDMsMHhmZiwweDIwLDB4Y2YsMHg4MSB9fSwKLSB7MTYsIDB4ZjMxMCwgMCwgezB4MzMsMHhlMiwweDBjLDB4ZDgsMHgwMywweGJlLDB4MDAsMHg3ZiwweGMwLDB4MzMsMHhlMCwweDBjLDB4ZjksMHgwMywweDdlLDB4MDAgfX0sCi0gezE2LCAweGYzMjAsIDAsIHsweGZkLDB4ODAsMHgzZiwweGUwLDB4MGYsMHhmOCwweDAzLDB4YzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMzMwLCAwLCB7MHhhOCwweDExLDB4OWMsMHgwMCwweDg3LDB4YTAsMHgyMSwweDE0LDB4MDgsMHg3MSwweDAyLDB4MTQsMHgxMCwweGQ3LDB4MjAsMHgzNSB9fSwKLSB7MTYsIDB4ZjM0MCwgMCwgezB4YzAsMHgwYywweDcwLDB4MDMsMHhiYywweDAwLDB4ODUsMHgwOCwweDJiLDB4YzAsMHg0ZCwweDQ2LDB4MDIsMHhkMSwweDAwLDB4YjcgfX0sCi0gezE2LCAweGYzNTAsIDAsIHsweDAwLDB4MjEsMHhjMCwweDA4LDB4NjAsMHgwMiwweDA4LDB4ODAsMHhmNSwweDIwLDB4M2QsMHhjYSwweDBmLDB4NTQsMHgwMywweGVhIH19LAotIHsxNiwgMHhmMzYwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDljLDB4MTEsMHg4ZiwweDAxLDB4MjAsMHg4NCB9fSwKLSB7MTYsIDB4ZjM3MCwgMCwgezB4MWEsMHhmMCwweDAyLDB4MTgsMHgwMCwweGE3LDB4MzQsMHg2NSwweGMwLDB4MDksMHg3MSwweDAyLDB4ZGMsMHgwMCwweDhlLDB4MDAgfX0sCi0gezE2LCAweGYzODAsIDAsIHsweDI5LDB4YzAsMHgwOCwweDUwLDB4MDYsMHg5YywweDAwLDB4YmYsMHg4OCwweDJkLDB4YzQsMHgwYSwweDYwLDB4MjYsMHg1OCwweDI0IH19LAotIHsxNiwgMHhmMzkwLCAwLCB7MHg5NywweDAwLDB4NmQsMHhjMCwweDliLDB4NzAsMHgwMiwweGMwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjNhMCwgMCwgezB4MjAsMHgxNCwweGNjLDB4MDAsMHg4YiwweDQwLDB4MjAsMHgwMCwweDE4LDB4MzAsMHgwMiwweDAwLDB4MDAsMHhiYiwweDAyLDB4MjQgfX0sCi0gezE2LCAweGYzYjAsIDAsIHsweGMwLDB4MDgsMHgzMCwweDIwLDB4Y2MsMHgwMCwweDgxLDB4YzAsMHgyOCwweGMwLDB4MGIsMHgwNCwweDgyLDB4ZTAsMHgxMCwweGJiIH19LAotIHsxNiwgMHhmM2MwLCAwLCB7MHhhMCwweDJjLDB4ZTAsMHgwYSwweDIwLDB4MDYsMHgwMCwweDAwLDB4YjMsMHgwMCwweDI4LDB4YzAsMHgwYSwweDEwLDB4MDIsMHg4OCB9fSwKLSB7MTYsIDB4ZjNkMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhiYywweDAwLDB4Y2YsMHgxMCwweDMyLDB4MDAgfX0sCi0gezE2LCAweGYzZTAsIDAsIHsweDBlLDB4ZjAsMHgwYiwweDI0LDB4MDAsMHhlZiwweDAwLDB4MzcsMHhjMCwweDBkLDB4ZjAsMHgwMywweGZjLDB4MDYsMHhjMSwweDUwIH19LAotIHsxNiwgMHhmM2YwLCAwLCB7MHgzYiwweGMwLDB4MGMsMHhiNCwweDAzLDB4YWMsMHgwMCwweGY4LDB4YzAsMHhiZSwweGM4LDB4MmUsMHhiMCwweDAzLDB4NmUsMHgwMSB9fSwKLSB7MTYsIDB4ZjQwMCwgMCwgezB4ZmIsMHgwMCwweDJkLDB4YzAsMHg0YiwweDkwLDB4MDIsMHhlYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY0MTAsIDAsIHsweDgwLDB4MDAsMHhlYywweDA0LDB4ZmIsMHgwMCwweDNlLDB4MDAsMHgwZiwweGIwLDB4MDMsMHhhZCwweDAwLDB4OWIsMHgwMCwweDNlIH19LAotIHsxNiwgMHhmNDIwLCAwLCB7MHhjMCwweDBmLDB4MzAsMHgwMywweGFjLDB4MDAsMHhmOCwweDAwLDB4MmUsMHhjMCwweDA1LDB4YjQsMHgwMywweGVkLDB4MDAsMHhmOCB9fSwKLSB7MTYsIDB4ZjQzMCwgMCwgezB4NDAsMHgzMiwweGMwLDB4MDksMHgwMCwweDAzLDB4ZTAsMHg5MSwweGUzLDB4MDAsMHgzZSwweGMwLDB4MGYsMHg5MCwweDExLDB4ZTAgfX0sCi0gezE2LCAweGY0NDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZWMsMHgwMCwweGVmLDB4MDAsMHgzMywweDIwIH19LAotIHsxNiwgMHhmNDUwLCAwLCB7MHg0ZiwweGYwLDB4MDMsMHhiNCwweDAwLDB4ZWYsMHgwMywweDNhLDB4YzAsMHgwZiwweGYwLDB4MDMsMHgzYywweDAwLDB4ZGMsMHgwMCB9fSwKLSB7MTYsIDB4ZjQ2MCwgMCwgezB4MzEsMHhjMCwweDhkLDB4ZjgsMHgwMywweGZlLDB4MDQsMHhjZiwweDAwLDB4MzIsMHhjOCwweDBjLDB4ZjAsMHgwYiwweDFjLDB4MDAgfX0sCi0gezE2LCAweGY0NzAsIDAsIHsweGNmLDB4OTMsMHgzMywweGMwLDB4OGMsMHg0MCwweDAyLDB4MDAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNDgwLCAwLCB7MHg4MSwweDA0LDB4NmMsMHgwMCwweGJiLDB4MDAsMHhhMiwweDA0LDB4MGIsMHgzMCwweDAyLDB4MGUsMHgwMCwweGFiLDB4MDAsMHgyYSB9fSwKLSB7MTYsIDB4ZjQ5MCwgMCwgezB4YzAsMHgwOSwweGIwLDB4MDMsMHg2YywweDA4LDB4YTgsMHhjMCwweDM2LDB4YzAsMHgwOCwweGJjLDB4MDIsMHhlZiwweDAyLDB4YWIgfX0sCi0gezE2LCAweGY0YTAsIDAsIHsweGQwLDB4MjAsMHhlMCwweDA4LDB4YjgsMHgyMiwweDI2LDB4MTAsMHg4YiwweDAwLDB4MjIsMHhjMCwweDIwLDB4OWMsMHgwMiwweDIwIH19LAotIHsxNiwgMHhmNGIwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDAsMHhiYiwweDAwLDB4MjYsMHgwMCB9fSwKLSB7MTYsIDB4ZjRjMCwgMCwgezB4MGEsMHhiMCwweDAyLDB4YTIsMHgwOCwweGFiLDB4MDAsMHg2YSwweGMwLDB4MGIsMHhiMCwweDBhLDB4MGMsMHgwMCwweDhiLDB4ODAgfX0sCi0gezE2LCAweGY0ZDAsIDAsIHsweDIyLDB4YzAsMHgwOSwweGIxLDB4MDIsMHhlYywweDQwLDB4ODgsMHgwOCwweDIyLDB4YzAsMHgwOCwweGI4LDB4MDIsMHgyNiwweDAwIH19LAotIHsxNiwgMHhmNGUwLCAwLCB7MHg4YiwweDAwLDB4MjIsMHhjMCwweDA4LDB4OTgsMHgwMiwweGEwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjRmMCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDAsMHhiMywweDAwLDB4MjQsMHgwMCwweDBiLDB4YjAsMHgwMiwweDAwLDB4MDEsMHg4MywweDAwLDB4MjAgfX0sCi0gezE2LCAweGY1MDAsIDAsIHsweGMwLDB4MDksMHgzMCwweDAyLDB4NGMsMHgwMCwweDAwLDB4MDQsMHgyNCwweGMwLDB4MDgsMHgzMCwweDA2LDB4NGMsMHgwMCwweDgwIH19LAotIHsxNiwgMHhmNTEwLCAwLCB7MHgwMCwweDJjLDB4YzAsMHgwOCwweDAwLDB4MDIsMHgwMCwweDQxLDB4ODMsMHgwMCwweGEyLDB4YzAsMHgwOCwweDEwLDB4MGEsMHg4MiB9fSwKLSB7MTYsIDB4ZjUyMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg3YywweDAwLDB4ZWYsMHgwOCwweDI2LDB4MDAgfX0sCi0gezE2LCAweGY1MzAsIDAsIHsweDBlLDB4ZjAsMHgwMiwweGEwLDB4MDAsMHhlNywweDAwLDB4M2IsMHhjMCwweDBmLDB4ZjUsMHg0MywweDNjLDB4MDIsMHhkYSwweDAwIH19LAotIHsxNiwgMHhmNTQwLCAwLCB7MHgzMiwweGMwLDB4MGQsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGNiLDB4MDAsMHhiMiwweGMwLDB4MGMsMHhhMCwweDAzLDB4MjgsMHgxMCB9fSwKLSB7MTYsIDB4ZjU1MCwgMCwgezB4Y2IsMHgwMCwweDMyLDB4YzAsMHgwYywweDgwLDB4MDMsMHg4MCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY1NjAsIDAsIHsweGEwLDB4MGQsMHhmYywweDAwLDB4ZmIsMHgwMCwweDNiLDB4MDAsMHgwZiwweGYwLDB4MDMsMHhmMCwweDAwLDB4ZmYsMHgwMiwweDNmIH19LAotIHsxNiwgMHhmNTcwLCAwLCB7MHhjMCwweDBkLDB4ZjIsMHgwMywweGJjLDB4MDAsMHhmNCwweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGZjLDB4MDAsMHhmNyB9fSwKLSB7MTYsIDB4ZjU4MCwgMCwgezB4MDAsMHgzMywweGMwLDB4MGYsMHg2MCwweDAzLDB4ZjAsMHg4OCwweGZmLDB4MDAsMHgzZiwweGMwLDB4NGYsMHhkMCwweDAzLDB4NjggfX0sCi0gezE2LCAweGY1OTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmMsMHg0MCwweGZjLDB4MzEsMHgzYiwweDA4IH19LAotIHsxNiwgMHhmNWEwLCAwLCB7MHg0ZiwweGY5LDB4NDMsMHhlZiwweDAwLDB4ZGYsMHgzMCwweDMyLDB4MjEsMHgwZiwweDk0LDB4MDcsMHg3ZCwweDgwLDB4ZWYsMHgzOCB9fSwKLSB7MTYsIDB4ZjViMCwgMCwgezB4MzIsMHgwOSwweDFjLDB4MzgsMHgwMywweGYyLDB4MjEsMHhmZCwweDAwLDB4MzMsMHhjNCwweDBjLDB4ZjAsMHgwMiwweGZjLDB4MDAgfX0sCi0gezE2LCAweGY1YzAsIDAsIHsweGRmLDB4MDAsMHgzMywweGMwLDB4MGYsMHhmMCwweDAzLDB4MzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNWQwLCAwLCB7MHg4MCwweDEwLDB4ZWMsMHg4OCwweDhiLDB4NjAsMHgyMiwweGU1LDB4MGUsMHhiMiwweDIyLDB4ZWMsMHg4MCwweGFmLDB4MTEsMHgyYSB9fSwKLSB7MTYsIDB4ZjVlMCwgMCwgezB4MjAsMHgwYiwweGIxLDB4MTMsMHhhYywweDQ4LDB4OGIsMHg0NSwweDM0LDB4Y2MsMHg0OCwweGIwLDB4MDIsMHg2YiwweDAwLDB4YmEgfX0sCi0gezE2LCAweGY1ZjAsIDAsIHsweDgyLDB4MzYsMHgwMCwweDA4LDB4ODgsMHgyMiwweGMwLDB4MDQsMHg4OCwweDAwLDB4YTIsMHgwOCwweDhiLDB4ODgsMHg2MiwweDIwIH19LAotIHsxNiwgMHhmNjAwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNjLDB4MDAsMHhhMSwweDMwLDB4MjgsMHgwMCB9fSwKLSB7MTYsIDB4ZjYxMCwgMCwgezB4MGIsMHgzMiwweDAyLDB4Y2MsMHgwMCwweGEzLDB4MjIsMHgyYywweDAwLDB4OGIsMHgxMiwweDA2LDB4YzgsMHg4MCwweGEzLDB4MDAgfX0sCi0gezE2LCAweGY2MjAsIDAsIHsweDIwLDB4MDIsMHhjYSwweDMwLDB4MDYsMHhjNCwweDAxLDB4YjEsMHgwMCwweDY4LDB4ODAsMHgwOSwweDIwLDB4MDIsMHg4OCwweDAwIH19LAotIHsxNiwgMHhmNjMwLCAwLCB7MHg4MywweDAwLDB4MjAsMHhjMiwweDBiLDB4MDAsMHgwYSwweGEyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjY0MCwgMCwgezB4YzAsMHgxNSwweGFjLDB4MDAsMHg4YiwweDYxLDB4NjIsMHhjMCwweDBiLDB4YjIsMHgwMiwweGU4LDB4MDAsMHhhYiwweDAyLDB4MmEgfX0sCi0gezE2LCAweGY2NTAsIDAsIHsweDYxLDB4MWIsMHg5MCwweDAyLDB4YTgsMHgwMCwweGFiLDB4MDAsMHgyMCwweGMwLDB4MGEsMHhiMCwweDAyLDB4NmMsMHgwNCwweGJhIH19LAotIHsxNiwgMHhmNjYwLCAwLCB7MHgwMCwweDJlLDB4NDAsMHg4OSwweDkwLDB4MDIsMHhlNiwweDA4LDB4OTgsMHgwMCwweDIyLDB4MDAsMHgwYiwweGIwLDB4MDIsMHhiMCB9fSwKLSB7MTYsIDB4ZjY3MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlZSwweDAwLDB4ZjgsMHgwMSwweDNhLDB4MDQgfX0sCi0gezE2LCAweGY2ODAsIDAsIHsweDBmLDB4YWMsMHgwMywweGVjLDB4OTAsMHhmYiwweDAyLDB4M2UsMHhlMCwweDBiLDB4OTAsMHg0MiwweDY3LDB4ODAsMHhhOCwweGM0IH19LAotIHsxNiwgMHhmNjkwLCAwLCB7MHgyMiwweDQ4LDB4MjIsMHg4NiwweDAzLDB4ZTEsMHg0MCwweGI4LDB4MDIsMHgyYSwweDQwLDB4MjksMHg5MCwweDAzLDB4ZWMsMHgwMiB9fSwKLSB7MTYsIDB4ZjZhMCwgMCwgezB4YzksMHg0OCwweDMyLDB4NDAsMHgwZiwweGIwLDB4MTMsMHg5MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY2YjAsIDAsIHsweGUwLDB4MDEsMHhhYywweDQwLDB4ZmIsMHgwMCwweDFmLDB4YTIsMHgwZSwweGY4LDB4ODIsMHhmYywweDA4LDB4ZmYsMHgwMCwweDNmIH19LAotIHsxNiwgMHhmNmMwLCAwLCB7MHhjMCwweDBmLDB4ZmEsMHg0MywweDk2LDB4NDQsMHhkNCwweDkxLDB4M2YsMHg0MCwweDBkLDB4YzAsMHgwMywweGZhLDB4MDAsMHhmZiB9fSwKLSB7MTYsIDB4ZjZkMCwgMCwgezB4MDgsMHgyNSwweDgwLDB4MGUsMHhlMCwweDAzLDB4ZDAsMHgwMCwweGVhLDB4MDAsMHgzZiwweDgwLDB4MGYsMHhjMCwweDAzLDB4NzggfX0sCi0gezE2LCAweGY2ZTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMCwweGUxLDB4MjAsMHgzYSwweDUwIH19LAotIHsxNiwgMHhmNmYwLCAwLCB7MHgwZiwweDkwLDB4MDMsMHgyYywweDAwLDB4ZWIsMHgwOCwweDc2LDB4MDUsMHgwZSwweGIwLDB4MjcsMHhlMCwweDEwLDB4ZWEsMHg0MCB9fSwKLSB7MTYsIDB4ZjcwMCwgMCwgezB4YjIsMHhjMCwweDBjLDB4YTQsMHg0MywweDI1LDB4MDAsMHhmOCwweDAwLDB4MzIsMHgwOCwweDBmLDB4ODAsMHg0MywweGU4LDB4MDAgfX0sCi0gezE2LCAweGY3MTAsIDAsIHsweGQxLDB4MDgsMHhlZSwweDQwLDB4MGYsMHgwMCwweDAzLDB4ZDAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNzIwLCAwLCB7MHhjOCwweDA1LDB4MmMsMHgwMCwweDhiLDB4MDAsMHgyMiwweGQwLDB4MGIsMHg5MCwweDgyLDB4MmMsMHgwMCwweDg3LDB4NDAsMHgyMiB9fSwKLSB7MTYsIDB4ZjczMCwgMCwgezB4NjAsMHg4YiwweGIwLDB4MDIsMHhlMCwweDAwLDB4ZDgsMHg1MCwweDIyLDB4ZDAsMHgwYywweGEwLDB4MDMsMHg2YywweDAwLDB4YjMgfX0sCi0gezE2LCAweGY3NDAsIDAsIHsweGM4LDB4M2UsMHhkMCwweDBiLDB4YjgsMHgwMiwweDI1LDB4MDgsMHg4YSwweDIwLDB4MmEsMHg4MCwweDhiLDB4YjgsMHg4MiwweGYyIH19LAotIHsxNiwgMHhmNzUwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDY0LDB4MDAsMHhhMCwweGMwLDB4MjQsMHhjMCB9fSwKLSB7MTYsIDB4Zjc2MCwgMCwgezB4MDksMHgzOCwweDAyLDB4MmMsMHgwMCwweDgzLDB4MDMsMHgyMCwweDAwLDB4MTAsMHgzMCwweDIyLDB4Y2MsMHgwMCwweDgzLDB4MDAgfX0sCi0gezE2LCAweGY3NzAsIDAsIHsweDYwLDB4MDgsMHgwYSwweDMwLDB4ODIsMHg0YywweDAwLDB4YjEsMHhjMCwweDAwLDB4ZDEsMHgwYiwweDM4LDB4MDIsMHg4NCwweDgwIH19LAotIHsxNiwgMHhmNzgwLCAwLCB7MHg4MiwweDAxLDB4MjAsMHg4MCwweDAzLDB4MzgsMHgwMiwweGY4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Zjc5MCwgMCwgezB4MjAsMHgwMSwweDE2LDB4NDAsMHg4NCwweDk4LDB4MjUsMHhlMCwweDBiLDB4N2EsMHgwMiwweGZhLDB4NDgsMHhhMywweDIwLDB4NjEgfX0sCi0gezE2LCAweGY3YTAsIDAsIHsweDI0LDB4MGIsMHg3OSwweDAwLDB4Y2UsMHhjMCwweDkzLDB4YTQsMHgyMSwweGE2LDB4MGIsMHg3OCwweDEyLDB4ZGUsMHg4MCwweGI2IH19LAotIHsxNiwgMHhmN2IwLCAwLCB7MHg4MCwweDJkLDB4MjQsMHgwYiwweDRiLDB4MDIsMHgxYSwweDQwLDB4ODUsMHg4MSwweDIxLDB4NjAsMHgwYiwweDQ4LDB4MDIsMHhjOCB9fSwKLSB7MTYsIDB4ZjdjMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDAwLDB4ZTIsMHhhMCwweGI0LDB4ZmUgfX0sCi0gezE2LCAweGY3ZDAsIDAsIHsweDRiLDB4YjgsMHgwYiwweDBlLDB4MDAsMHhhMywweGIwLDB4MjQsMHhhOCwweDBlLDB4MWIsMHgwMiwweGNlLDB4YzEsMHhjMywweGMwIH19LAotIHsxNiwgMHhmN2UwLCAwLCB7MHgzMCwweDY4LDB4MmUsMHgzYSwweDQ3LDB4NGUsMHg4MCwweGYxLDB4ODAsMHgzMCwweDgwLDB4MGYsMHgyMiwweDgzLDB4ODAsMHgwMCB9fSwKLSB7MTYsIDB4ZjdmMCwgMCwgezB4YzIsMHgxMCwweDM4LDB4ODAsMHg0ZiwweDAwLDB4MDcsMHhkMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY4MDAsIDAsIHsweDQwLDB4MGQsMHhiYywweDEwLDB4ZmUsMHgwNCwweDNiLDB4YzEsMHgwNywweGYwLDB4MDMsMHgxYywweGM4LDB4ZGYsMHgyYSwweDBiIH19LAotIHsxNiwgMHhmODEwLCAwLCB7MHhjNCwweDhmLDB4ZDEsMHg0MywweGY4LDB4MDIsMHg3ZiwweDAwLDB4M2YsMHhjMCwweDBjLDB4ZjEsMHgwZiwweDNjLDB4MDAsMHhmMiB9fSwKLSB7MTYsIDB4ZjgyMCwgMCwgezB4MTEsMHgzZiwweDQxLDB4MWYsMHg1MiwweDAzLDB4YmMsMHgwZSwweGVkLDB4MTQsMHgzZiwweDQwLDB4MGYsMHhmOCwweDAzLDB4ZDAgfX0sCi0gezE2LCAweGY4MzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZTQsMHgwMCwweGU5LDB4MDAsMHgzMiwweDgwIH19LAotIHsxNiwgMHhmODQwLCAwLCB7MHgwZSwweGJlLDB4NGIsMHg2ZiwweDAwLDB4Y2IsMHg4MiwweDdhLDB4YzAsMHgyYywweGIwLDB4MDMsMHgyYywweDAwLDB4YzksMHgwMCB9fSwKLSB7MTYsIDB4Zjg1MCwgMCwgezB4MzIsMHgwMCwweDJjLDB4MTAsMHgwMywweDJjLDB4MDgsMHhjMCwweDAwLDB4MjYsMHg0MCwweDZjLDB4OTAsMHgxMywweDI0LDB4MTIgfX0sCi0gezE2LCAweGY4NjAsIDAsIHsweGM4LDB4MDEsMHgzZSwweDAwLDB4MGYsMHhiOCwweDBiLDB4MmEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmODcwLCAwLCB7MHg0OCwweDExLDB4OTQsMHgwMCwweDhkLDB4MDAsMHgyMSwweDgwLDB4MGIsMHg3MCwweDgyLDB4M2MsMHgyMCwweDgzLDB4MzIsMHgyOSB9fSwKLSB7MTYsIDB4Zjg4MCwgMCwgezB4YzAsMHgwOCwweGYwLDB4MjAsMHgxNCwweDAwLDB4ODAsMHgwMCwweDIzLDB4MDAsMHgwOCwweDUwLDB4MDYsMHg5YywweDA0LDB4ZDcgfX0sCi0gezE2LCAweGY4OTAsIDAsIHsweDAyLDB4MjgsMHg4MCwweDA4LDB4NjAsMHgwMiwweDA4LDB4MTAsMHg4NywweDAwLDB4MmQsMHhjMCwweDBiLDB4NDAsMHgwMiwweDEyIH19LAotIHsxNiwgMHhmOGEwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDllLDB4MDAsMHhhNywweDgwLDB4MjEsMHhlMCB9fSwKLSB7MTYsIDB4ZjhiMCwgMCwgezB4MGIsMHg1YywweDEyLDB4MWUsMHgwNCwweDg3LDB4ODIsMHgwZCwweGEwLDB4MDksMHg3OCwweDE2LDB4MDIsMHgwMCwweGI0LDB4ODAgfX0sCi0gezE2LCAweGY4YzAsIDAsIHsweDI1LDB4ZTAsMHgwYiwweDc4LDB4MDIsMHg5ZSwweDAwLDB4ODQsMHg4MCwweDIxLDB4MjIsMHgwOCwweDA4LDB4MDIsMHgxMiwweDAxIH19LAotIHsxNiwgMHhmOGQwLCAwLCB7MHg4NCwweGMwLDB4MmQsMHgyMCwweDBiLDB4MDgsMHgwMiwweDMwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjhlMCwgMCwgezB4NDgsMHgxNCwweGNjLDB4MDAsMHg4MywweDQyLDB4YTAsMHhkOCwweDBiLDB4MzQsMHg4MiwweDBjLDB4MDAsMHhhMywweDAyLDB4MjAgfX0sCi0gezE2LCAweGY4ZjAsIDAsIHsweGUwLDB4MDgsMHhiMCwweDAyLDB4MGMsMHg4OCwweGIzLDB4MjEsMHgyNCwweGQ4LDB4MGIsMHgzZSwweDAyLDB4OGMsMHgwMCwweDkzIH19LAotIHsxNiwgMHhmOTAwLCAwLCB7MHgwOCwweDI4LDB4YzAsMHgwOCwweDM4LDB4MDIsMHgyYywweDA1LDB4OGIsMHgwMSwweDJjLDB4ZTAsMHgwYiwweDMwLDB4MDIsMHgxMiB9fSwKLSB7MTYsIDB4ZjkxMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOCwweDAwLDB4ZWUsMHgwMCwweDMzLDB4OTAgfX0sCi0gezE2LCAweGY5MjAsIDAsIHsweDBmLDB4YTAsMHgwYiwweDY4LDB4MDAsMHhjYSwweDAxLDB4N2YsMHhhOCwweDBjLDB4YWEsMHgwMywweDNhLDB4MTIsMHhmZSwweGUyIH19LAotIHsxNiwgMHhmOTMwLCAwLCB7MHgzNywweGIwLDB4MGYsMHhlZSwweDAyLDB4MTgsMHgwMCwweGNhLDB4NDAsMHgzNiwweGEwLDB4MDgsMHhhMCwweDhiLDB4MjgsMHgwMCB9fSwKLSB7MTYsIDB4Zjk0MCwgMCwgezB4Y2EsMHg4MSwweDJlLDB4YTAsMHgwZiwweGUwLDB4MDMsMHgzYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY5NTAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDAwLDB4ZjgsMHgwOCwweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhhMiwweDAyLDB4ZDgsMHg0MCwweDNlIH19LAotIHsxNiwgMHhmOTYwLCAwLCB7MHgwOCwweDBmLDB4ODAsMHgxMywweGUwLDB4NDAsMHg0OCwweDQwLDB4YjgsMHgwNCwweDA4LDB4ODQsMHgwMywweDYxLDB4MDAsMHhmYyB9fSwKLSB7MTYsIDB4Zjk3MCwgMCwgezB4MDAsMHgzZiwweDAwLDB4NGYsMHhjMCwweDAzLDB4ZjEsMHgwMCwweGZjLDB4MDAsMHgzZiwweDA0LDB4MGYsMHhjMCwweDAzLDB4ZDIgfX0sCi0gezE2LCAweGY5ODAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4YzQsMHgwMCwweGY5LDB4MDAsMHgzMCwweDUwIH19LAotIHsxNiwgMHhmOTkwLCAwLCB7MHg0YywweGI5LDB4MDMsMHg2YywweDE4LDB4ZjksMHgwMCwweDM2LDB4NDAsMHgwZSwweDljLDB4MjMsMHhhNCwweDAyLDB4NDEsMHgwMCB9fSwKLSB7MTYsIDB4ZjlhMCwgMCwgezB4YjIsMHg0NCwweDBlLDB4OWEsMHgwMywweGE2LDB4ODAsMHhjOSwweDAwLDB4M2EsMHg2MCwweDBhLDB4OTAsMHgwMywweGE0LDB4ODAgfX0sCi0gezE2LCAweGY5YjAsIDAsIHsweGM5LDB4MDAsMHgzNCwweDQwLDB4MGMsMHg5MCwweDAzLDB4YzIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmOWMwLCAwLCB7MHg4MCwweDA0LDB4NjQsMHgwMCwweDg5LDB4NDAsMHgyMiwweDc4LDB4MDgsMHg5NCwweDAyLDB4ZTQsMHgxMCwweGI5LDB4MDAsMHgzYyB9fSwKLSB7MTYsIDB4ZjlkMCwgMCwgezB4NjIsMHgxOCwweDk0LDB4ODIsMHhhNCwweDAwLDB4ODksMHhjOCwweDIyLDB4NzAsMHg0OCwweDFlLDB4MDEsMHg2NywweDgwLDB4ZDEgfX0sCi0gezE2LCAweGY5ZTAsIDAsIHsweDAwLDB4YmMsMHg0MiwweDA4LDB4MTAsMHgwMiwweDI1LDB4MjAsMHg4OSwweDAyLDB4MjIsMHg0MCwweDA4LDB4OTAsMHgwMiwweGUwIH19LAotIHsxNiwgMHhmOWYwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDAsMHhiMSwweDI4LDB4MjIsMHg0MCB9fSwKLSB7MTYsIDB4ZmEwMCwgMCwgezB4MDgsMHhiMCwweDgyLDB4NjQsMHgwNCwweDM5LDB4NDEsMHgyZSwweDQ4LDB4MGEsMHg5MCwweDAyLDB4MDQsMHgxOCwweGE5LDB4MjAgfX0sCi0gezE2LCAweGZhMTAsIDAsIHsweDIyLDB4NDIsMHg0YSwweDkwLDB4MDIsMHgyYywweDA0LDB4ODksMHgwNCwweDJiLDB4NDgsMHgwMiwweGQwLDB4MDIsMHhiNCwweDBhIH19LAotIHsxNiwgMHhmYTIwLCAwLCB7MHg4ZCwweDgwLDB4MjMsMHhjMCwweDQ4LDB4ZDAsMHgwMiwweGM2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmEzMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4ODAsMHg4MSwweDIwLDB4YTAsMHg0OCwweDI4LDB4MTAsMHgwMiwweGM0LDB4MDAsMHhiMSwweDI0LDB4MmEgfX0sCi0gezE2LCAweGZhNDAsIDAsIHsweDQwLDB4MDgsMHgxMiwweDQyLDB4ODUsMHg4MCwweGExLDB4MjAsMHhhMCwweDQ4LDB4MDgsMHg5MCwweDAyLDB4NDQsMHgwMCwweDk1IH19LAotIHsxNiwgMHhmYTUwLCAwLCB7MHgyYywweDJkLDB4NWEsMHgwYSwweDcyLDB4ODIsMHgxNCwweGEwLDB4ODUsMHhhOCwweDIxLDB4NGEsMHgwOCwweDUyLDB4ODIsMHhjMiB9fSwKLSB7MTYsIDB4ZmE2MCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg0MSwweDQwLDB4ZjgsMHg1MCwweDMyLDB4MDAgfX0sCi0gezE2LCAweGZhNzAsIDAsIHsweDhjLDB4MDUsMHgwMywweDYxLDB4NDAsMHhmOCwweDUxLDB4MmUsMHgwMCwweDBhLDB4ODUsMHgwMiwweDIwLDB4MDAsMHhlOCwweDUwIH19LAotIHsxNiwgMHhmYTgwLCAwLCB7MHgzMiwweDE0LDB4MDYsMHg4NSwweDE3LDB4YTAsMHgwMCwweGM4LDB4MjAsMHgzYSwweDA4LDB4MGUsMHg4MiwweDAzLDB4YTAsMHg4MCB9fSwKLSB7MTYsIDB4ZmE5MCwgMCwgezB4YzgsMHgyMCwweDMyLDB4MDgsMHgyYywweGMyLDB4MDMsMHhlZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZhYTAsIDAsIHsweDk4LDB4MTksMHhmNCwweDQwLDB4ZmYsMHgxMCwweDNmLDB4NDQsMHgwYiwweGIwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgxMCwweDNkIH19LAotIHsxNiwgMHhmYWIwLCAwLCB7MHg0MCwweDBmLDB4ZDEsMHgwMywweGY0LDB4NTgsMHg5ZCwweDEwLDB4M2YsMHg0NCwweDRmLDB4ZDAsMHgwMywweGQ1LDB4MDAsMHhmOSB9fSwKLSB7MTYsIDB4ZmFjMCwgMCwgezB4MDAsMHgzZSwweDQwLDB4OGQsMHg5MCwweDAzLDB4ZTQsMHhiOCwweGY5LDB4MjgsMHhiYSwweDZhLDB4MGYsMHg5MCwweDAzLDB4ZTYgfX0sCi0gezE2LCAweGZhZDAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDAxLDB4ZTcsMHgwMCwweGZkLDB4ODgsMHgzZSwweDYwIH19LAotIHsxNiwgMHhmYWUwLCAwLCB7MHg4ZiwweGQwLDB4MDMsMHgyNCwweDAxLDB4ZGQsMHg4MCwweDczLDB4NDAsMHgwZiwweGQ4LDB4MDMsMHhhNiwweDA0LDB4Y2QsMHhhMiB9fSwKLSB7MTYsIDB4ZmFmMCwgMCwgezB4MzMsMHg3OCwweDFjLDB4ZDAsMHgwMywweDM0LDB4MDEsMHhmNSwweDg4LDB4M2IsMHg2OCwweDBjLDB4ZGEsMHg0NywweDM3LDB4ODAgfX0sCi0gezE2LCAweGZiMDAsIDAsIHsweGNkLDB4ODgsMHgzMiwweDYyLDB4MGMsMHhkYSwweDAzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYjEwLCAwLCB7MHgzOCwweDEwLDB4ZTMsMHg4MCwweGI4LDB4ODAsMHgyZSwweDE0LDB4MGIsMHgwYSwweDgyLDB4MjIsMHg4MCwweGI4LDB4ZjgsMHhhMiB9fSwKLSB7MTYsIDB4ZmIyMCwgMCwgezB4MDAsMHgwYiwweDhmLDB4YTMsMHg4MywweGUwLDB4ODgsMHhlYiwweDIyLDB4YTksMHgwOCwweDg4LDB4MTIsMHhhMCwweDA1LDB4YjggfX0sCi0gezE2LCAweGZiMzAsIDAsIHsweDAwLDB4MmEsMHhhYSwweDg4LDB4ODAsMHgxMywweDYyLDB4ODIsMHg4OCwweDgwLDB4MjIsMHgyOCwweDg4LDB4YTQsMHgwMiwweDBlIH19LAotIHsxNiwgMHhmYjQwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM1LDB4MDAsMHhiMSwweDBhLDB4MmMsMHg0MSB9fSwKLSB7MTYsIDB4ZmI1MCwgMCwgezB4MGIsMHgxMCwweDA2LDB4MDQsMHgyMCwweGExLDB4MDAsMHgwMCwweDQwLDB4OGIsMHgxMCwweDQ2LDB4YzQsMHgwMSwweDkxLDB4MTEgfX0sCi0gezE2LCAweGZiNjAsIDAsIHsweDI0LDB4NTgsMHg2OCwweDkwLDB4YzIsMHgwNCwweDAwLDB4YjEsMHgwMCwweGE4LDB4NTAsMHgwOSwweDE0LDB4MGEsMHgwNSwweDk1IH19LAotIHsxNiwgMHhmYjcwLCAwLCB7MHhhMSwweDA4LDB4YTAsMHg0MiwweDI4LDB4MTEsMHgwYSwweDAyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmI4MCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MTgsMHhiOSwweDIwLDB4MmUsMHg1MCwweDBiLDB4OTAsMHgwNiwweDI0LDB4MDksMHhiOSwweDAwLDB4MjIgfX0sCi0gezE2LCAweGZiOTAsIDAsIHsweDQwLDB4OGIsMHg5MSwweDAyLDB4ODQsMHgwMCwweDk5LDB4NjQsMHgyNCwweDQwLDB4NTgsMHg5MCwweDAyLDB4YTQsMHgyMCwweGJiIH19LAotIHsxNiwgMHhmYmEwLCAwLCB7MHgwMCwweDJhLDB4NDAsMHgwOSwweGIwLDB4MDIsMHgwNSwweDAxLDB4YTksMHgwMCwweDIyLDB4NDAsMHg4OCwweDkyLDB4MDIsMHgwNiB9fSwKLSB7MTYsIDB4ZmJiMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNiwweDAwLDB4ZjksMHg0MCwweDNlLDB4NDAgfX0sCi0gezE2LCAweGZiYzAsIDAsIHsweDRmLDB4OTgsMHgwYiwweDI0LDB4ODAsMHhkOSwweDAwLDB4MjIsMHg3MiwweDBiLDB4OTgsMHgwMywweGU0LDB4ODQsMHhkOSwweDAwIH19LAotIHsxNiwgMHhmYmQwLCAwLCB7MHhiNiwweDcwLDB4MDgsMHg5OSwweDAyLDB4MjQsMHgwMCwweGI5LDB4MDAsMHgyYSwweDQwLDB4MGQsMHg5NCwweGMyLDB4MjUsMHgwMCB9fSwKLSB7MTYsIDB4ZmJlMCwgMCwgezB4YTksMHgwMCwweDIyLDB4NDAsMHgwYywweDk0LDB4MDMsMHgyOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZiZjAsIDAsIHsweDI4LDB4MDEsMHhhNiwweDgwLDB4ZjksMHgwOCwweDNlLDB4YzAsMHgwZiwweDkxLDB4NDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNlIH19LAotIHsxNiwgMHhmYzAwLCAwLCB7MHg1MCwweDBmLDB4OTgsMHgwMywweGE1LDB4MDAsMHhlOSwweDAwLDB4M2EsMHg2NCwweDBmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSB9fSwKLSB7MTYsIDB4ZmMxMCwgMCwgezB4MDAsMHgzYywweDQwLDB4NmUsMHg5MCwweDAzLDB4ZTQsMHgyMCwweGQ5LDB4MDAsMHgzYywweDQwLDB4MGYsMHg5MCwweDgyLDB4Y2EgfX0sCi0gezE2LCAweGZjMjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGU4LDB4MDAsMHgzZSwweDAwIH19LAotIHsxNiwgMHhmYzMwLCAwLCB7MHg0ZiwweDg0LDB4MGIsMHgyMCwweDAwLDB4ZjgsMHgwMCwweDM2LDB4MDEsMHgwZSwweDgwLDB4MDMsMHhlMCwweDAwLDB4YzgsMHg0MCB9fSwKLSB7MTYsIDB4ZmM0MCwgMCwgezB4MzIsMHgxMCwweDJkLDB4ODAsMHgwMywweGUwLDB4NTQsMHhjOCwweDAwLDB4MzYsMHgxMCwweDBmLDB4MDQsMHg4MywweGUwLDB4NTAgfX0sCi0gezE2LCAweGZjNTAsIDAsIHsweGQ4LDB4MDQsMHgxMiwweDAwLDB4MGMsMHgwMCwweDBiLDB4MGEsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYzYwLCAwLCB7MHgyOCwweDA1LDB4MjgsMHgwMCwweDhlLDB4NDIsMHgyZSwweGEyLDB4OGIsMHhlYSwweDAyLDB4MjgsMHgwOCwweGJlLDB4ODksMHgzNyB9fSwKLSB7MTYsIDB4ZmM3MCwgMCwgezB4ODQsMHg0OCwweGUwLDB4MTIsMHgyOCwweDAyLDB4OGUsMHhjMCwweDIzLDB4YjAsMHg0ZCwweDYwLDB4NjIsMHhmOCwweDAwLDB4ODYgfX0sCi0gezE2LCAweGZjODAsIDAsIHsweDAwLDB4MjMsMHg4MCwweDBiLDB4ZTAsMHgwMiwweGY4LDB4MDAsMHgwZSwweDAwLDB4MjIsMHg4MCwweDA4LDB4ZTQsMHgwMiwweDBhIH19LAotIHsxNiwgMHhmYzkwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDAsMHhhMywweDAwLDB4MmMsMHg4MCB9fSwKLSB7MTYsIDB4ZmNhMCwgMCwgezB4MWIsMHhiMCwweDlhLDB4NGMsMHgxMCwweDliLDB4ODAsMHgyNCwweGMwLDB4MGEsMHgzMCwweDAwLDB4MGMsMHgwNCwweDliLDB4MjAgfX0sCi0gezE2LCAweGZjYjAsIDAsIHsweDIwLDB4ZDYsMHgwOCwweDMwLDB4MDIsMHg4ZSwweDA4LDB4YTMsMHgwNCwweDI0LDB4YzAsMHgxOSwweDM0LDB4MDIsMHhjNywweDA3IH19LAotIHsxNiwgMHhmY2MwLCAwLCB7MHhhYSwweGE0LDB4YTAsMHhjMCwweDQ4LDB4MzQsMHgwMiwweDBhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmNkMCwgMCwgezB4YTAsMHgwMSwweDBlLDB4MDAsMHg4NywweDAwLDB4MmQsMHhjMCwweDBiLDB4NDAsMHgwMiwweDVjLDB4NDAsMHhiMywweDE0LDB4MjUgfX0sCi0gezE2LCAweGZjZTAsIDAsIHsweGUwLDB4MDgsMHg3YSwweDAyLDB4OWUsMHhjMCwweDkyLDB4NDAsMHhhMCwweDAwLDB4NDksMHg2MCwweDAyLDB4Y2UsMHgwMiwweDhlIH19LAotIHsxNiwgMHhmY2YwLCAwLCB7MHgwMSwweDIxLDB4YzAsMHg4YiwweDU0LDB4MDIsMHhjNCwweDA4LDB4ODYsMHg0MCwweDIxLDB4YzgsMHg4OCwweDEwLDB4MDIsMHgyOCB9fSwKLSB7MTYsIDB4ZmQwMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZSwweGMwLDB4ZTQsMHg4MCwweDNkLDB4ZTIgfX0sCi0gezE2LCAweGZkMTAsIDAsIHsweDBmLDB4NTgsMHgwMywweDVlLDB4OTAsMHhiNiwweGEyLDB4MzUsMHhlMCwweDBlLDB4N2MsMHgyMywweDFjLDB4MDAsMHhkNiwweDgwIH19LAotIHsxNiwgMHhmZDIwLCAwLCB7MHgzMSwweGUwLDB4ODQsMHg3OCwweDAzLDB4ZGUsMHgwMCwweGM3LDB4ODAsMHgzNSwweGUwLDB4MGYsMHg2OCwweDAzLDB4ZGUsMHgwMCB9fSwKLSB7MTYsIDB4ZmQzMCwgMCwgezB4ZTMsMHg4MCwweDMzLDB4ZTgsMHgyYywweDc4LDB4MDMsMHgyYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZkNDAsIDAsIHsweDA4LDB4MWQsMHhhYywweDkwLDB4ZmEsMHgwMCwweDdlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhhYywweDAxLDB4ZmIsMHgwMCwweDNjIH19LAotIHsxNiwgMHhmZDUwLCAwLCB7MHg0MSwweDBmLDB4MzAsMHgwYiwweDJkLDB4MDQsMHhlYiwweDAxLDB4M2UsMHhjMCwweDBlLDB4YjAsMHgwMywweGVjLDB4MDAsMHhmYSB9fSwKLSB7MTYsIDB4ZmQ2MCwgMCwgezB4MDAsMHgzZiwweGMwLDB4MGYsMHg4MCwweDAzLDB4ZWMsMHgwMCwweGU5LDB4NjAsMHgzZSwweGU0LDB4MGYsMHg5MCwweDAzLDB4YzIgfX0sCi0gezE2LCAweGZkNzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmUsMHgyMCwweGZmLDB4OTAsMHgzZSwweDIwIH19LAotIHsxNiwgMHhmZDgwLCAwLCB7MHgwYywweGE5LDB4MDcsMHgyZSwweDQ0LDB4YzksMHg5MSwweDMwLDB4YTAsMHgwYywweGI4LDB4NjMsMHgyZiwweDQ0LDB4Y2IsMHhhMSB9fSwKLSB7MTYsIDB4ZmQ5MCwgMCwgezB4MzYsMHgyMCwweDhjLDB4ZjgsMHgwMywweDM2LDB4MDAsMHhjZiwweDgyLDB4MzMsMHhlMCwweDBjLDB4ZjgsMHgyMywweDJlLDB4MDAgfX0sCi0gezE2LCAweGZkYTAsIDAsIHsweGNlLDB4YzAsMHgzYiwweGUwLDB4MGMsMHg2OCwweDAzLDB4MDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmZGIwLCAwLCB7MHhhOCwweDExLDB4OWMsMHg4NCwweGIzLDB4NTQsMHgyYywweGY0LDB4MjgsMHhiYSwweDhhLDB4M2UsMHg0MCwweDgxLDB4YTAsMHgyOSB9fSwKLSB7MTYsIDB4ZmRjMCwgMCwgezB4YjAsMHgwZiwweDc4LDB4NDIsMHhhZSwweDAwLDB4ODMsMHg5MCwweDMzLDB4ZTgsMHgwZCwweGUxLDB4MDAsMHg4NSwweDQwLDB4ODIgfX0sCi0gezE2LCAweGZkZDAsIDAsIHsweDI0LDB4MjMsMHhjNiwweDBkLDB4NzEsMHgwMywweDVlLDB4ZTAsMHg4NywweDAwLDB4MmIsMHhjMSwweDBkLDB4NDQsMHgwMiwweDJhIH19LAotIHsxNiwgMHhmZGUwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDljLDB4MDgsMHgzNSwweDE0LDB4NmQsMHhjMCB9fSwKLSB7MTYsIDB4ZmRmMCwgMCwgezB4ODgsMHg3MiwweDMyLDB4NWMsMHg4MCwweDg0LDB4MzAsMHgyYiwweDg4LDB4MGEsMHg3MCwweDQyLDB4NWMsMHhhOCwweDkxLDB4MDggfX0sCi0gezE2LCAweGZlMDAsIDAsIHsweDI1LDB4YzgsMHgwOSwweDcwLDB4MDIsMHg0YywweDIyLDB4ODMsMHgwYSwweDYxLDB4YzAsMHgwOSwweDIwLDB4MDIsMHgwNCwweDAwIH19LAotIHsxNiwgMHhmZTEwLCAwLCB7MHg4NywweDAwLDB4MjEsMHhjMCwweDA4LDB4NjAsMHgwMiwweDAwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmUyMCwgMCwgezB4MjAsMHgxNCwweGNjLDB4MTAsMHhiMywweDg1LDB4NmMsMHhkYywweDA4LDB4MzQsMHgwMiwweDRkLDB4MjEsMHg4MSwweDAwLDB4MjggfX0sCi0gezE2LCAweGZlMzAsIDAsIHsweDAyLDB4NGEsMHgzMSwweDEyLDB4ZWYsMHgwYywweDkxLDB4YzIsMHgyMCwweGYwLDB4MDgsMHgzMCwweDQyLDB4OGUsMHgwMCwweDgyIH19LAotIHsxNiwgMHhmZTQwLCAwLCB7MHg0MCwweDIwLDB4YzgsMHgxOSwweDI4LDB4MDIsMHgyMiwweDgxLDB4ODMsMHhjMCwweDI4LDB4ZDQsMHgwOSwweDAwLDB4MGEsMHgwOCB9fSwKLSB7MTYsIDB4ZmU1MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhiYywweDAwLDB4ZmIsMHhhMCwweDNlLDB4YzAgfX0sCi0gezE2LCAweGZlNjAsIDAsIHsweDhjLDB4MDQsMHgxMiwweDdkLDB4MTAsMHhjZiwweDAyLDB4M2EsMHg1MCwweDA4LDB4YzAsMHg0MiwweDdkLDB4NTIsMHg1OCwweDAxIH19LAotIHsxNiwgMHhmZTcwLCAwLCB7MHgzNiwweDIyLDB4NjksMHhkMCwweDEzLDB4MmEsMHgwMCwweDg4LDB4ODIsMHgzMiwweGYwLDB4MDksMHhiOCwweDgyLDB4MmYsMHgwMCB9fSwKLSB7MTYsIDB4ZmU4MCwgMCwgezB4YzksMHhjOCwweDIzLDB4YzAsMHgwYywweDhhLDB4MDMsMHgyYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZlOTAsIDAsIHsweDgwLDB4MDAsMHhlYywweDAwLDB4YjksMHg0MCwweDNjLDB4NTAsMHg0ZiwweDgwLDB4MjMsMHhhYywweDEyLDB4ZmIsMHgwMCwweDJhIH19LAotIHsxNiwgMHhmZWEwLCAwLCB7MHhjMCwweDZkLDB4ODAsMHgxMywweGFjLDB4MDAsMHhlOCwweDA0LDB4YmEsMHgxMCwweDBmLDB4ODAsMHgwMywweGU4LDB4MDAsMHhmMyB9fSwKLSB7MTYsIDB4ZmViMCwgMCwgezB4MDgsMHgzYywweDgwLDB4MGYsMHg5MCwweDgzLDB4ZWMsMHgwNCwweGY5LDB4NjAsMHgyYywweGMyLDB4MGYsMHg4MCwweDgzLDB4ZTAgfX0sCi0gezE2LCAweGZlYzAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZGMsMHgwMCwweGVjLDB4MmMsMHgzZiwweGYwIH19LAotIHsxNiwgMHhmZWQwLCAwLCB7MHg4YywweGZhLDB4OGIsMHhiYywweDAwLDB4ZmUsMHgwMCwweDNmLDB4MDAsMHgwZiwweDc5LDB4MDMsMHgzYywweDAwLDB4Y2UsMHgwOCB9fSwKLSB7MTYsIDB4ZmVlMCwgMCwgezB4MGIsMHhjMiwweDBjLDB4ZjAsMHgwMywweGJjLDB4MDAsMHhmYywweDAwLDB4MzMsMHg0MCwweDhjLDB4N2EsMHgwMywweDNhLDB4MDAgfX0sCi0gezE2LCAweGZlZjAsIDAsIHsweGM1LDB4MDAsMHgzMywweGMwLDB4NGMsMHhjOCwweDAzLDB4MDAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmZjAwLCAwLCB7MHg4MSwweDA0LDB4NmMsMHgwMCwweDg4LDB4YzAsMHgyZSwweGUwLDB4MDgsMHg5NCwweDAyLDB4MmMsMHgwMCwweGJiLDB4ODAsMHg2NiB9fSwKLSB7MTYsIDB4ZmYxMCwgMCwgezB4MzAsMHgxNiwweGIwLDB4MDIsMHgyYywweDAwLDB4ZGEsMHg0YywweDIyLDB4ZjAsMHgwOCwweGYwLDB4MDMsMHhlYywweDAwLDB4ZWIgfX0sCi0gezE2LCAweGZmMjAsIDAsIHsweGMwLDB4MjIsMHg2OCwweDAwLDB4OTQsMHgwMiwweDJjLDB4MDIsMHhhOSwweDgwLDB4MjIsMHhjMCwweDA4LDB4MGMsMHgwMiwweGEwIH19LAotIHsxNiwgMHhmZjMwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDAsMHhhYiwweDA0LDB4MmUsMHhjMCB9fSwKLSB7MTYsIDB4ZmY0MCwgMCwgezB4MDgsMHhhNCwweDA2LDB4MmMsMHgwNCwweGFiLDB4MTAsMHgyZSwweDYwLDB4NDMsMHg4MCwweDgyLDB4NmMsMHgwMSwweDgxLDB4ODAgfX0sCi0gezE2LCAweGZmNTAsIDAsIHsweDI4LDB4MGEsMHgwOCwweDkxLDB4MDAsMHhlMCwweDAwLDB4YjgsMHg4MCwweDAyLDB4ZTAsMHgwOCwweDgwLDB4MDIsMHgyZCwweDgwIH19LAotIHsxNiwgMHhmZjYwLCAwLCB7MHg4OCwweGMwLDB4MjIsMHhjMCwweDA4LDB4ODIsMHgwMiwweDIwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmY3MCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDAsMHg4MCwweDQ0LDB4MmMsMHhjOCwweDI4LDB4YTAsMHgyMiwweDBjLDB4MDQsMHhiMywweDI2LDB4MmMgfX0sCi0gezE2LCAweGZmODAsIDAsIHsweGM4LDB4ODgsMHgwMSwweDA2LDB4MGMsMHhlMCwweDkxLDB4MjAsMHgyMCwweDBjLDB4MzgsMHgwNCwweDIyLDB4YzAsMHg0OCwweGEzIH19LAotIHsxNiwgMHhmZjkwLCAwLCB7MHg0MiwweGEwLDB4ODEsMHgwOCwweDAwLDB4MDIsMHgwYywweDgwLDB4ODEsMHgwMCwweDIwLDB4YzAsMHgyOCwweDAwLDB4MDIsMHg4MiB9fSwKLSB7MTYsIDB4ZmZhMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg3YywweDAwLDB4YTksMHg0MCwweDNlLDB4NDQgfX0sCi0gezE2LCAweGZmYjAsIDAsIHsweDA4LDB4YjEsMHgwMywweDJjLDB4NDAsMHhlYSwweDQ5LDB4MmUsMHgwZCwweDBiLDB4YjYsMHgxMywweDdkLDB4ODAsMHhjOSwweDQwIH19LAotIHsxNiwgMHhmZmMwLCAwLCB7MHhiYSwweGQwLDB4MGMsMHhiNCwweDAzLDB4YWMsMHgwMCwweGY4LDB4MDAsMHgzMiwweDQwLDB4MGMsMHg4MCwweDBiLDB4MjAsMHgwMCB9fSwKLSB7MTYsIDB4ZmZkMCwgMCwgezB4YzUsMHgwMCwweGIyLDB4YzAsMHgwYywweDgwLDB4MDMsMHgwMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZmZTAsIDAsIHsweGEwLDB4MWQsMHhmYywweDA0LDB4ZmMsMHgwMCwweDNkLDB4YzUsMHgwYiwweGYxLDB4MDAsMHhmYywweGQwLDB4NzcsMHgyOSwweDM3IH19LAotIHsxNiwgMHhmZmYwLCAwLCB7MHgwYywweDhlLDB4NzQsMHgwMywweGZjLDB4MDgsMHhmZCwweDY5LDB4M2YsMHhkOCwweDBmLDB4ZjAsMHgwMywweGJjLDB4MDAsMHhlZiB9fSwKLSB7MTYsIDB4ODAxMCwgMCwgezB4MDAsMHgzZiwweDQwLDB4MDcsMHhjMCwweDAzLDB4ZjAsMHg0MCwweGZkLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhjMCwweDAzLDB4ZTggfX0sCi0gezE2LCAweDgwMjAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDBkLDB4ZmMsMHhjMCwweGRjLDB4ODAsMHgzZiwweGM4IH19LAotIHsxNiwgMHg4MDMwLCAwLCB7MHgwZiwweDQ4LDB4MDMsMHg3YywweDIwLDB4ZmYsMHg2OCwweDM3LDB4ZTAsMHgwZSwweGYxLDB4MDMsMHg5YywweDAwLDB4YmYsMHgyMCB9fSwKLSB7MTYsIDB4ODA0MCwgMCwgezB4MzcsMHhlMCwweDBjLDB4YzgsMHgxMywweDNjLDB4NDAsMHhlZCwweDYwLDB4YmIsMHhlNCwweDJjLDB4NDMsMHg0YiwweDcwLDB4YTAgfX0sCi0gezE2LCAweDgwNTAsIDAsIHsweGNjLDB4MmMsMHgzZiwweDA5LDB4MGYsMHhkOCwweDQzLDB4NzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MDYwLCAwLCB7MHg4MCwweDAwLDB4ZWQsMHhjMCwweGI4LDB4ODAsMHgyZiwweGY0LDB4MGYsMHg5OCwweDAyLDB4M2YsMHgwMCwweGJmLDB4NDIsMHgyMiB9fSwKLSB7MTYsIDB4ODA3MCwgMCwgezB4Y2EsMHgwOCwweGY0LDB4MDIsMHgzZSwweDAwLDB4YmYsMHhkMCwweDIyLDB4NjAsMHgyOCwweDg4LDB4MGEsMHgzZCwweDgwLDB4OGQgfX0sCi0gezE2LCAweDgwODAsIDAsIHsweDQwLDB4MjIsMHhjOCwweDA4LDB4ODEsMHgwMiwweDIxLDB4ODAsMHhkYiwweGMwLDB4MmUsMHhhNSwweDBiLDB4OTgsMHg0MiwweDIwIH19LAotIHsxNiwgMHg4MDkwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNjLDB4MTAsMHhiMCwweDAwLDB4MmMsMHhjMCB9fSwKLSB7MTYsIDB4ODBhMCwgMCwgezB4MGIsMHgyMCwweDAyLDB4Y2MsMHgwMCwweGIzLDB4MjAsMHgyNiwweGMwLDB4OGEsMHgzNiwweDEyLDB4OGMsMHg0MSwweGIzLDB4MDAgfX0sCi0gezE2LCAweDgwYjAsIDAsIHsweDJlLDB4NDAsMHgwOCwweDAwLDB4MDIsMHgwZCwweDgxLDB4YTEsMHgzMCwweDIyLDB4YzgsMHg4OSwweGEyLDB4NDIsMHgwOCwweDIwIH19LAotIHsxNiwgMHg4MGMwLCAwLCB7MHhiMCwweDAwLDB4MmMsMHg0MCwweDBiLDB4OTAsMHgyNiwweDYyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODBkMCwgMCwgezB4YzAsMHgxNSwweGFjLDB4MDAsMHhiOCwweDUwLDB4MmUsMHhjMCwweDBhLDB4OTAsMHgwMiwweGFjLDB4MDAsMHhiYiwweDAwLDB4MjIgfX0sCi0gezE2LCAweDgwZTAsIDAsIHsweGMwLDB4MDgsMHhiMCwweDYyLDB4MmMsMHgxMCwweGJiLDB4MDQsMHgyYSwweGYwLDB4NGEsMHg4OCwweDAyLDB4MGMsMHgwMCwweDgxIH19LAotIHsxNiwgMHg4MGYwLCAwLCB7MHgwMCwweDIyLDB4YzAsMHgwOSwweGI4LDB4ODAsMHgyNiwweDAwLDB4YjgsMHg4MCwweDJlLDB4MjEsMHgwYiwweDkwLDB4MDIsMHgzMCB9fSwKLSB7MTYsIDB4ODEwMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MTUsMHhlYywweDAwLDB4ZDgsMHhjMCwweDNlLDB4YzAgfX0sCi0gezE2LCAweDgxMTAsIDAsIHsweDBiLDB4ODAsMHgwMywweGVjLDB4MDAsMHhmYiwweDAwLDB4MzYsMHg4MCwweDBlLDB4YjAsMHgwMywweGFjLDB4MDAsMHhmYiwweDAwIH19LAotIHsxNiwgMHg4MTIwLCAwLCB7MHgzYywweGUwLDB4MGMsMHgwYywweDAzLDB4MmMsMHgwMCwweGU5LDB4MDAsMHgxMCwweGMwLDB4MGMsMHg4YywweDAzLDB4MDYsMHgwMCB9fSwKLSB7MTYsIDB4ODEzMCwgMCwgezB4ZjgsMHhjZCwweDNlLDB4MjIsMHgwZiwweDE4LDB4MDMsMHg0MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgxNDAsIDAsIHsweGUwLDB4MDEsMHhiYywweDAwLDB4ZmYsMHgwMCwweDNlLDB4YzAsMHgwZiwweGYwLDB4MDMsMHg3YywweDAwLDB4ZjcsMHgwMiwweDNmIH19LAotIHsxNiwgMHg4MTUwLCAwLCB7MHhlNCwweDBmLDB4NzAsMHgwMywweDdjLDB4MDQsMHhiNywweDAwLDB4MzcsMHg0MCwweDBkLDB4YzAsMHgwMywweGZjLDB4MDAsMHhmZCB9fSwKLSB7MTYsIDB4ODE2MCwgMCwgezB4MDAsMHgzNywweGQwLDB4MGUsMHhjMCwweDQzLDB4ZjQsMHgwMCwweGRmLDB4MDAsMHgzZiwweDgwLDB4OGYsMHhkYSwweDAzLDB4ZjggfX0sCi0gezE2LCAweDgxNzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMCwweGY4LDB4MTAsMHgzYSwweGMwIH19LAotIHsxNiwgMHg4MTgwLCAwLCB7MHg2ZCwweGE2LDB4MTMsMHhlYywweDAwLDB4Y2IsMHgwMCwweDNhLDB4ZDAsMHgwZiwweGIwLDB4MDMsMHgyYywweDEwLDB4ZGIsMHgxMCB9fSwKLSB7MTYsIDB4ODE5MCwgMCwgezB4MzYsMHhkOCwweDBkLDB4ODQsMHgwMywweGVjLDB4MDYsMHhjOSwweDA4LDB4M2EsMHhjMCwweDBlLDB4ODYsMHgwMywweGE4LDB4NjAgfX0sCi0gezE2LCAweDgxYTAsIDAsIHsweGY4LDB4MjAsMHgzYSwweDQwLDB4MGMsMHg5MCwweDAzLDB4NTQsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MWIwLCAwLCB7MHg5OCwweDA1LDB4M2MsMHgwMCwweGJiLDB4NDAsMHgyMywweGQwLDB4MDgsMHgzMCwweDAyLDB4M2UsMHgxMCwweGFmLDB4MDAsMHgyMCB9fSwKLSB7MTYsIDB4ODFjMCwgMCwgezB4YzAsMHgwYiwweGYwLDB4MDIsMHgzYywweDAwLDB4OGYsMHg1MCwweDJlLDB4YzgsMHgwNiwweDhhLDB4MDIsMHhmYywweDAwLDB4OGQgfX0sCi0gezE2LCAweDgxZDAsIDAsIHsweDI0LDB4ODIsMHhkNiwweDA4LDB4MzIsMHgwMiwweDJkLDB4MDgsMHgzYSwweDQwLDB4MjIsMHg4MCwweDBkLDB4OTAsMHgwMywweDYyIH19LAotIHsxNiwgMHg4MWUwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgwNSwweDRjLDB4MDAsMHhiMCwweDIwLDB4MjgsMHhjMiB9fSwKLSB7MTYsIDB4ODFmMCwgMCwgezB4MDgsMHgwNCwweDAyLDB4OGMsMHgwMCwweDEzLDB4MDIsMHgyOCwweGMwLDB4MGIsMHgzMCwweDAyLDB4MGMsMHgzMCwweDkzLDB4ODAgfX0sCi0gezE2LCAweDgyMDAsIDAsIHsweDI0LDB4ZDAsMHgwOSwweDIwLDB4MDIsMHhjYywweDAwLDB4OTEsMHg0MCwweDA4LDB4YzAsMHgyYSwweDE0LDB4MDIsMHg4MSwweDAwIH19LAotIHsxNiwgMHg4MjEwLCAwLCB7MHg5MCwweDAwLDB4NjgsMHgwMCwweDA4LDB4MTgsMHgwMiwweDNhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODIyMCwgMCwgezB4NzAsMHgwMSwweDFlLDB4MDAsMHhiNCwweGEwLDB4MjEsMHhlMCwweDA4LDB4YzgsMHgxMiwweDllLDB4MDAsMHhiMywweDgyLDB4MjEgfX0sCi0gezE2LCAweDgyMzAsIDAsIHsweGUwLDB4MGIsMHg3YSwweDBhLDB4MWUsMHgwMCwweDk3LDB4ODAsMHgyZCwweGUxLDB4MGEsMHg0OCwweDAyLDB4Y2UsMHg0MCwweDk1IH19LAotIHsxNiwgMHg4MjQwLCAwLCB7MHg5MCwweDI5LDB4ZTQsMHgwOCwweDU4LDB4MDIsMHg5YSwweDAwLDB4YjcsMHg4OCwweDIxLDB4ZTAsMHgwOSwweDU4LDB4MDIsMHg1YyB9fSwKLSB7MTYsIDB4ODI1MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDRhLDB4MDAsMHgwYywweDAwLDB4ZjAsMHg4MCwweDM4LDB4YzQgfX0sCi0gezE2LCAweDgyNjAsIDAsIHsweDBjLDB4MjUsMHgwMywweDhjLDB4MjAsMHg5MywweDAwLDB4MzgsMHhjNCwweDBmLDB4YjAsMHgwMywweDBjLDB4ODAsMHhkMywweDAwIH19LAotIHsxNiwgMHg4MjcwLCAwLCB7MHgzNCwweGMwLDB4MGQsMHgwNCwweDEzLDB4Y2MsMHgwOCwweDk5LDB4MDAsMHgyYSwweGMwLDB4MGUsMHgyMSwweDAzLDB4ODgsMHgwNCB9fSwKLSB7MTYsIDB4ODI4MCwgMCwgezB4ZjMsMHgwMCwweDM4LDB4YzAsMHgwYywweDExLDB4ODMsMHgxMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgyOTAsIDAsIHsweDQyLDB4MTUsMHhiYywweDAwLDB4ZjQsMHgwMCwweDNmLDB4YzMsMHgwZSwweGMwLDB4MDMsMHgxYywweDAwLDB4YWYsMHg0YSwweDdmIH19LAotIHsxNiwgMHg4MmEwLCAwLCB7MHhjNCwweDBmLDB4YjIsMHgwMywweGZkLDB4MDEsMHhlZiwweDEwLDB4M2YsMHg4NCwweDBmLDB4YzAsMHgwMywweGZjLDB4MDAsMHhlOSB9fSwKLSB7MTYsIDB4ODJiMCwgMCwgezB4MDAsMHgzNywweGMyLDB4MGUsMHhmMSwweDQ3LDB4N2MsMHgwMCwweGY3LDB4MDAsMHgzZCwweGMwLDB4MGYsMHg1MCwweDAzLDB4ZDAgfX0sCi0gezE2LCAweDgyYzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhYSwweDE1LDB4ZWMsMHgwOCwweGY4LDB4MDAsMHgzZSwweGNhIH19LAotIHsxNiwgMHg4MmQwLCAwLCB7MHgwZiwweDkwLDB4MDMsMHhlZiwweDIxLDB4ZmIsMHg4MCwweDdhLDB4NDAsMHg4ZiwweGIyLDB4YTEsMHgyZiwweDAwLDB4Y2IsMHg2MCB9fSwKLSB7MTYsIDB4ODJlMCwgMCwgezB4M2UsMHhjMCwweDBmLDB4YjAsMHgwMywweGVkLDB4YTAsMHhlOSwweDMwLDB4MzIsMHhjMCwweDJkLDB4YjAsMHgwMywweGU0LDB4MDAgfX0sCi0gezE2LCAweDgyZjAsIDAsIHsweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHhiMCwweDAzLDB4ZWEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MzAwLCAwLCB7MHhjOCwweDkxLDB4OWQsMHgwMCwweGI0LDB4MDEsMHgyZCwweGM4LDB4MGIsMHg3MCwweDAyLDB4Y2MsMHg4MCwweDhmLDB4MjAsMHgyMSB9fSwKLSB7MTYsIDB4ODMxMCwgMCwgezB4YzAsMHg4YiwweDc2LDB4MDMsMHg1ZCwweDAwLDB4ODcsMHgwYSwweDJkLDB4YzAsMHgwYiwweDQwLDB4MjIsMHhmZCwweDAwLDB4OGQgfX0sCi0gezE2LCAweDgzMjAsIDAsIHsweDEwLDB4MjMsMHhjOCwweDA4LDB4NTAsMHgxMiwweGQ0LDB4MDAsMHhiNywweDAwLDB4MmQsMHhjMCwweDBiLDB4NzAsMHgwMiwweGYyIH19LAotIHsxNiwgMHg4MzMwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODEsMHgwMCwweDllLDB4MDAsMHhiNCwweDgwLDB4MmQsMHhlMCB9fSwKLSB7MTYsIDB4ODM0MCwgMCwgezB4MGIsMHg3YywweDAyLDB4ZGUsMHg0MCwweGE3LDB4ODIsMHgyZCwweGUwLDB4MGIsMHgzYSwweDAyLDB4OGUsMHgwMCwweDg3LDB4OTAgfX0sCi0gezE2LCAweDgzNTAsIDAsIHsweDJkLDB4ZTAsMHgwYiwweDU4LDB4MDIsMHg1ZSwweDAwLDB4YTUsMHhhMiwweDY1LDB4ZTAsMHgwOCwweDY4LDB4ODIsMHhkYSwweDAwIH19LAotIHsxNiwgMHg4MzYwLCAwLCB7MHg5NSwweDgwLDB4MmQsMHg2MCwweDBiLDB4NzgsMHgwMiwweGUwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODM3MCwgMCwgezB4MDgsMHg4NCwweGNjLDB4MDAsMHhiMCwweDA5LDB4MmMsMHhjMCwweDBiLDB4MzgsMHgwMiwweGNjLDB4MDAsMHg4MywweDAwLDB4MmUgfX0sCi0gezE2LCAweDgzODAsIDAsIHsweGMwLDB4MGIsMHgzMCwweDQyLDB4NGMsMHgwMCwweDgzLDB4MDAsMHgyYywweGEwLDB4MGIsMHgwNCwweDAyLDB4Y2MsMHgwMCwweDgxIH19LAotIHsxNiwgMHg4MzkwLCAwLCB7MHgwMCwweGEwLDB4YzAsMHgwOCwweGIwLDB4MDYsMHhjZiwweDgwLDB4YjMsMHgxMCwweDJjLDB4YzQsMHgwYiwweDMxLDB4MDIsMHhjMyB9fSwKLSB7MTYsIDB4ODNhMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MDUsMHhhOCwweDAwLDB4ZmUsMHg4MCwweDNlLDB4ODAgfX0sCi0gezE2LCAweDgzYjAsIDAsIHsweDBmLDB4ZTgsMHgxMywweGU4LDB4MDAsMHhlYSwweDAwLDB4M2YsMHhiMCwweDBmLDB4YTAsMHgwMywweGE4LDB4MDIsMHhjMiwweDAwIH19LAotIHsxNiwgMHg4M2MwLCAwLCB7MHgyZiwweDg4LDB4MGYsMHhlMCwweDAzLDB4ZTgsMHgwMCwweGVhLDB4MDAsMHgzNiwweDAwLDB4MGMsMHhlMCwweDAzLDB4ZjksMHgyMCB9fSwKLSB7MTYsIDB4ODNkMCwgMCwgezB4ZGUsMHg4MCwweDNmLDB4YTAsMHg0ZiwweGE4LDB4MDMsMHhmYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgzZTAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDAwLDB4ZjgsMHgxMCwweDNjLDB4MTAsMHgwZiwweDgwLDB4ODMsMHhlMSwweDAwLDB4ZTgsMHgwMCwweDIyIH19LAotIHsxNiwgMHg4M2YwLCAwLCB7MHgwNiwweDBmLDB4MDAsMHgxMywweGUwLDB4MDEsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHg4MywweGUwLDB4MDAsMHhmOCB9fSwKLSB7MTYsIDB4ODQwMCwgMCwgezB4MDAsMHgzZSwweDAwLDB4MGYsMHg4NCwweDIzLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDEwLDB4MGYsMHg4MCwweDAzLDB4ZDIgfX0sCi0gezE2LCAweDg0MTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4ZTQsMHgwMCwweGY5LDB4MTAsMHgzZSwweDQ0IH19LAotIHsxNiwgMHg4NDIwLCAwLCB7MHgwZCwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDAsMHgwYywweDkwLDB4MTIsMHgyNCwweDAwLDB4ZjksMHgxMCB9fSwKLSB7MTYsIDB4ODQzMCwgMCwgezB4MzIsMHg0MCwweDhmLDB4OTAsMHgwMywweGM0LDB4MDAsMHhjOSwweDAwLDB4MzIsMHgxMCwweDBjLDB4OWMsMHgwMSwweDI0LDB4MDAgfX0sCi0gezE2LCAweDg0NDAsIDAsIHsweGY5LDB4MTAsMHgzZSwweDcwLDB4MGYsMHg5MCwweDAyLDB4YzIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4NDUwLCAwLCB7MHg4MCwweDE0LDB4NjQsMHgwMCwweGI5LDB4YzAsMHgyZSwweDQ4LDB4MDgsMHg5MSwweDAyLDB4ZTQsMHgwMCwweGI5LDB4MDAsMHgyZSB9fSwKLSB7MTYsIDB4ODQ2MCwgMCwgezB4NDAsMHgwZCwweDkwLDB4MDMsMHg2NywweDAwLDB4YjksMHg4MCwweDJhLDB4NjAsMHgwYiwweDk5LDB4MDIsMHhlNCwweDAwLDB4ODEgfX0sCi0gezE2LCAweDg0NzAsIDAsIHsweDAwLDB4MjIsMHg0MCwweDJjLDB4OTAsMHgxMiwweDI1LDB4MjAsMHhiOSwweDQ4LDB4MmUsMHg1MiwweDBiLDB4OTQsMHgwMiwweGUwIH19LAotIHsxNiwgMHg4NDgwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDAsMHhiOSwweDAwLDB4MmUsMHg0MCB9fSwKLSB7MTYsIDB4ODQ5MCwgMCwgezB4NjgsMHg5MCwweDQ2LDB4ZTQsMHgwMCwweGI5LDB4MDAsMHgyZSwweGMwLDB4MDgsMHg5MCwweDAyLDB4YTQsMHg2MCwweGI5LDB4MDAgfX0sCi0gezE2LCAweDg0YTAsIDAsIHsweDIyLDB4NDgsMHgwYiwweDkwLDB4MDYsMHhlNCwweDAyLDB4ODksMHgwMCwweGEwLDB4NDAsMHgwOCwweDkwLDB4MDIsMHhhNiwweDEwIH19LAotIHsxNiwgMHg4NGIwLCAwLCB7MHhiOSwweDAwLDB4MGUsMHg0MCwweDBiLDB4OTAsMHgwMiwweGM2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODRjMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4ODAsMHhiMSwweDAwLDB4MmMsMHg0OCwweDA4LDB4MTAsMHgwMiwweGM0LDB4ODQsMHhiMSwweDIwLDB4MmMgfX0sCi0gezE2LCAweDg0ZDAsIDAsIHsweDQwLDB4MDksMHgxMiwweDAyLDB4YzQsMHg4MCwweGIxLDB4MjAsMHgyOCwweDQwLDB4MGIsMHgxMCwweDAyLDB4YzQsMHg4MCwweDg5IH19LAotIHsxNiwgMHg4NGUwLCAwLCB7MHgyMCwweDIwLDB4NDAsMHg0YiwweDEyLDB4MGEsMHg4NCwweDg0LDB4YjEsMHgyMCwweDJjLDB4NDgsMHg4YiwweDEwLDB4MDIsMHhjMiB9fSwKLSB7MTYsIDB4ODRmMCwgMCwgezB4MTEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MSwweDQwLDB4YmEsMHgwMCwweDJlLDB4MDAgfX0sCi0gezE2LCAweDg1MDAsIDAsIHsweDBjLDB4ODAsMHgwMywweGU4LDB4MDgsMHhmOCwweDUwLDB4M2UsMHgxNCwweDBjLDB4ODUsMHgwMywweDIwLDB4MDAsMHhiOCwweDAwIH19LAotIHsxNiwgMHg4NTEwLCAwLCB7MHgzMiwweDAwLDB4MGYsMHhhMCwweDAzLDB4ZTEsMHg0MCwweGM4LDB4NTAsMHgzMiwweDE0LDB4MGMsMHhhNSwweDAzLDB4YTEsMHg0MCB9fSwKLSB7MTYsIDB4ODUyMCwgMCwgezB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweGEwLDB4MDMsMHhlZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg1MzAsIDAsIHsweDg4LDB4MGQsMHhlNCwweDQwLDB4ZmQsMHgwMCwweDNlLDB4NDQsMHgwZiwweGQwLDB4MDMsMHhlNCwweDQwLDB4YjksMHgxMSwweDNmIH19LAotIHsxNiwgMHg4NTQwLCAwLCB7MHg0MCwweDBmLDB4OTEsMHgwMywweDY0LDB4NDQsMHhmOSwweDEwLDB4M2YsMHg0MCwweDBmLDB4ZDAsMHgwMywweGU0LDB4NDAsMHhmZCB9fSwKLSB7MTYsIDB4ODU1MCwgMCwgezB4MTAsMHgzZiwweDEwLDB4OGMsMHhkMSwweDAzLDB4NzQsMHg0MCwweGZmLDB4MTAsMHgzZiwweDQ0LDB4MGYsMHhkMCwweDAzLDB4ZTYgfX0sCi0gezE2LCAweDg1NjAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4NjYsMHgyMCwweGVkLDB4MDAsMHgzMywweDY5IH19LAotIHsxNiwgMHg4NTcwLCAwLCB7MHg0ZCwweDUwLDB4NDMsMHg1NiwweDAwLDB4ZjksMHhhMCwweDM0LDB4NDAsMHgwZiwweDlhLDB4MGIsMHgzNCwweDAwLDB4ZGQsMHg4MCB9fSwKLSB7MTYsIDB4ODU4MCwgMCwgezB4M2IsMHg0MCwweDBiLDB4NTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4MzIsMHhlMCwweDBlLDB4ZDAsMHgwMywweGY0LDB4MDAgfX0sCi0gezE2LCAweDg1OTAsIDAsIHsweGZkLDB4MDAsMHgzZiwweDQwLDB4MGMsMHhkMCwweDAzLDB4YzYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4NWEwLCAwLCB7MHg3OCwweDEwLDB4ZTIsMHg4MCwweDg4LDB4MDQsMHgyMiwweDEwLDB4MGIsMHg4MCwweDAyLDB4MjAsMHgwOSwweGI4LDB4ZjAsMHgyMiB9fSwKLSB7MTYsIDB4ODViMCwgMCwgezB4MDAsMHgwYiwweDhlLDB4MTIsMHhhMCwweDAwLDB4YjgsMHg1MiwweDJlLDB4MDAsMHgwYiwweDgwLDB4MDIsMHhlMCwweDA1LDB4YjggfX0sCi0gezE2LCAweDg1YzAsIDAsIHsweGFhLDB4MjMsMHgzZSwweDBkLDB4ODAsMHgwMiwweGUwLDB4MDAsMHhiOCwweDAwLDB4M2EsMHgwMCwweDA4LDB4ODAsMHgwMiwweGNlIH19LAotIHsxNiwgMHg4NWQwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwNSwweGM0LDB4MjAsMHhhOSwweDAwLDB4YTQsMHg0NCB9fSwKLSB7MTYsIDB4ODVlMCwgMCwgezB4MDksMHg5MCwweDAyLDB4YzUsMHgwMCwweGExLDB4MDgsMHgyYywweDQwLDB4MGIsMHgxMSwweDgyLDB4MDQsMHgwMCwweGIxLDB4MDAgfX0sCi0gezE2LCAweDg1ZjAsIDAsIHsweDI4LDB4NDAsMHgwYSwweDEwLDB4NDIsMHhjNCwweDAwLDB4YjUsMHgwMCwweGExLDB4NDAsMHgwOCwweDEwLDB4MDIsMHhjNCwweDAwIH19LAotIHsxNiwgMHg4NjAwLCAwLCB7MHhiMSwweDAxLDB4MmMsMHg0MCwweDA4LDB4MTAsMHgyMCwweGQyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODYxMCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MDAsMHg4OSwweDA0LDB4MjIsMHg0MCwweDBiLDB4OTAsMHgwMCwweGFjLDB4MDAsMHgzOSwweDAwLDB4MmEgfX0sCi0gezE2LCAweDg2MjAsIDAsIHsweDQwLDB4MGIsMHgxMCwweDAyLDB4YTQsMHgwMCwweGI5LDB4MDAsMHgyZSwweDQ4LDB4MGIsMHg5MCwweDEyLDB4ZTQsMHgwMCwweGI5IH19LAotIHsxNiwgMHg4NjMwLCAwLCB7MHgwMCwweDIxLDB4NjAsMHgwOSwweDkyLDB4MjIsMHhlNCwweDI4LDB4YjksMHgwMCwweDBhLDB4NTAsMHgwOCwweDkwLDB4MDYsMHhjNiB9fSwKLSB7MTYsIDB4ODY0MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNCwweDAwLDB4ZTksMHgwMCwweDM2LDB4NDAgfX0sCi0gezE2LCAweDg2NTAsIDAsIHsweDBkLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0OCwweDBmLDB4OTAsMHgwMywweDI0LDB4MDAsMHhkOSwweDAwIH19LAotIHsxNiwgMHg4NjYwLCAwLCB7MHgzYSwweDc4LDB4MGUsMHg5OCwweDAzLDB4ZTQsMHgwMCwweGI5LDB4MDAsMHhiMiwweDQwLDB4MGUsMHg5MiwweDIzLDB4ZTYsMHgwMCB9fSwKLSB7MTYsIDB4ODY3MCwgMCwgezB4YjksMHg1MCwweDNlLDB4NzAsMHgyYywweDkwLDB4MDMsMHhlOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg2ODAsIDAsIHsweDY4LDB4MDEsMHg4NCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDAsMHg0ZiwweDljLDB4MjMsMHg2NCwweDAwLDB4ZjksMHgwNCwweDM2IH19LAotIHsxNiwgMHg4NjkwLCAwLCB7MHg0OCwweDBmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg2MCwweDBmLDB4OTIsMHgwMywweGU0LDB4MDAsMHhmOSB9fSwKLSB7MTYsIDB4ODZhMCwgMCwgezB4MDAsMHgzZSwweDQwLDB4OGYsMHg5MCwweDgzLDB4ZTQsMHg0NCwweGY5LDB4MDAsMHg3OCwweDY0LDB4MGYsMHg5MCwweDAzLDB4ZGEgfX0sCi0gezE2LCAweDg2YjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAwIH19LAotIHsxNiwgMHg4NmMwLCAwLCB7MHgwZiwweDgyLDB4MDMsMHhhMCwweDQwLDB4ZTgsMHgwMCwweDNlLDB4MDAsMHgwZCwweDgwLDB4MDMsMHgyMCwweGMwLDB4YzgsMHg4MCB9fSwKLSB7MTYsIDB4ODZkMCwgMCwgezB4M2UsMHgxMiwweDBmLDB4ODAsMHgwMywweDYwLDB4MDAsMHg3YywweDAwLDB4MzMsMHgwMCwweDBkLDB4ODAsMHgxMywweGUwLDB4MTAgfX0sCi0gezE2LCAweDg2ZTAsIDAsIHsweGM4LDB4NjQsMHgzZSwweDA4LDB4MGMsMHg4MiwweDAzLDB4Y2EsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4NmYwLCAwLCB7MHgyOCwweDA1LDB4MjgsMHgwMCwweGI2LDB4ZTAsMHgwZiwweGEwLDB4MGIsMHg2MCwweDgyLDB4MzgsMHgwMCwweGFhLDB4MDAsMHgyZSB9fSwKLSB7MTYsIDB4ODcwMCwgMCwgezB4ODAsMHgwOCwweGEwLDB4NDIsMHhiYSwweDAwLDB4YWUsMHgyMCwweDJmLDB4ODgsMHgwYiwweGU1LDB4MDIsMHgyOCwweDAwLDB4YmEgfX0sCi0gezE2LCAweDg3MTAsIDAsIHsweGQ4LDB4MzcsMHg4MCwweDA4LDB4ZWMsMHgwMiwweGY4LDB4MDQsMHg4ZSwweDAwLDB4MmYsMHg5MCwweDBkLDB4ZTAsMHgwMiwweGNhIH19LAotIHsxNiwgMHg4NzIwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDAsMHhiMCwweDI0LDB4MmMsMHg2MCB9fSwKLSB7MTYsIDB4ODczMCwgMCwgezB4MGIsMHgzOCwweDAyLDB4OGUsMHg4MCwweGFiLDB4MDAsMHgyYywweGMwLDB4MDksMHgzMCwweDAyLDB4MGQsMHgwOCwweDAwLDB4ODAgfX0sCi0gezE2LCAweDg3NDAsIDAsIHsweDZjLDB4ZDAsMHgwYiwweDM0LDB4MDIsMHhjYywweDAwLDB4YjgsMHhjMCwweDIwLDB4MDAsMHg0OCwweDM0LDB4MTIsMHhjYywweDQwIH19LAotIHsxNiwgMHg4NzUwLCAwLCB7MHg4MywweDAwLDB4MmMsMHhlMCwweDBhLDB4MzUsMHgwMiwweGNhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODc2MCwgMCwgezB4YTAsMHgwMSwweDFjLDB4NDAsMHhiNywweDAwLDB4MmQsMHgwMiwweDhiLDB4NjAsMHgwMiwweDllLDB4MDAsMHg4NywweDIwLDB4MmYgfX0sCi0gezE2LCAweDg3NzAsIDAsIHsweGUwLDB4MDgsMHg3MiwweDAyLDB4OWUsMHgwMCwweGE0LDB4MDAsMHgyZCwweGMwLDB4MGIsMHhmOCwweDAyLDB4OWMsMHhjMCwweGIzIH19LAotIHsxNiwgMHg4NzgwLCAwLCB7MHgwMiwweGE1LDB4YzAsMHgwOCwweDUwLDB4ODYsMHhmZSwweDAwLDB4ODcsMHgwMCwweDJmLDB4ZDAsMHgwOSwweDcwLDB4MDIsMHhlOCB9fSwKLSB7MTYsIDB4ODc5MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZSwweDAwLDB4ZjQsMHg4MCwweDNkLDB4MjAgfX0sCi0gezE2LCAweDg3YTAsIDAsIHsweDBmLDB4NTgsMHgwMywweDllLDB4MDAsMHg2NywweDgwLDB4M2QsMHhmOCwweDBkLDB4MzgsMHgwMiwweDFhLDB4MTAsMHg0NCwweDgwIH19LAotIHsxNiwgMHg4N2IwLCAwLCB7MHgzZCwweGUwLDB4MGYsMHg1OCwweDAzLDB4ZGUsMHgyMCwweGI0LDB4ODAsMHgzMywweGEwLDB4MmMsMHg2OCwweDAzLDB4ZDYsMHgwMCB9fSwKLSB7MTYsIDB4ODdjMCwgMCwgezB4YzcsMHg4MSwweDNkLDB4ZTAsMHgwYywweDc4LDB4MDMsMHhlYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg3ZDAsIDAsIHsweDA4LDB4MWQsMHhhYywweDA4LDB4ZjgsMHgwMCwweDNlLDB4MDAsMHg4ZiwweDgwLDB4MDMsMHg2YywweDAwLDB4M2IsMHgxMiwweDNlIH19LAotIHsxNiwgMHg4N2UwLCAwLCB7MHhjYSwweDBmLDB4YjUsMHgwMywweGM4LDB4MDAsMHhmOCwweDA0LDB4N2UsMHhjMCwweDBmLDB4OTAsMHgwMywweDZjLDB4ODAsMHhmYiB9fSwKLSB7MTYsIDB4ODdmMCwgMCwgezB4MDQsMHgzYSwweDQwLDB4MGYsMHg5MCwweDIzLDB4YzgsMHgwMCwweGY5LDB4MDEsMHgzYywweGMwLDB4MGYsMHhiMCwweDAzLDB4YzIgfX0sCi0gezE2LCAweDg4MDAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmUsMHgwMCwweGFjLDB4OTAsMHgzMSwweDQ4IH19LAotIHsxNiwgMHg4ODEwLCAwLCB7MHgwOCwweGY4LDB4MDMsMHhmYSwweDAwLDB4Y2YsMHg4MCwweDNmLDB4ZTAsMHgwYywweGZjLDB4MTMsMHgzZSwweDA0LDB4ZmMsMHg4MCB9fSwKLSB7MTYsIDB4ODgyMCwgMCwgezB4MzUsMHhhMCwweDBjLDB4NzgsMHgwMywweGJlLDB4MDAsMHhkZiwweDgwLDB4M2IsMHgyMCwweDI0LDB4ZjgsMHgwMywweDJlLDB4NDAgfX0sCi0gezE2LCAweDg4MzAsIDAsIHsweGNmLDB4ODAsMHgzMywweGUwLDB4MDMsMHhmOSwweDAzLDB4ZDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4ODQwLCAwLCB7MHhhOCwweDExLDB4YmMsMHgwMCwweDgwLDB4MDAsMHgwMSwweDAwLDB4MDgsMHg3MiwweDAyLDB4ZDAsMHgwMCwweDg3LDB4MDAsMHgyZCB9fSwKLSB7MTYsIDB4ODg1MCwgMCwgezB4YzgsMHgwYSwweGYwLDB4MDIsMHg5OCwweDQwLDB4ZjUsMHgwMCwweDYxLDB4NDEsMHgwMCwweDc0LDB4MDIsMHgxYywweDAwLDB4YjQgfX0sCi0gezE2LCAweDg4NjAsIDAsIHsweDAwLDB4MjEsMHhjOCwweDA4LDB4NjAsMHgwMiwweDNlLDB4MjAsMHg4NiwweDA4LDB4MjEsMHhkOCwweDBmLDB4NTAsMHgwMiwweGVhIH19LAotIHsxNiwgMHg4ODcwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwMCwweDljLDB4MDAsMHhhNCwweDAwLDB4MjEsMHgwMCB9fSwKLSB7MTYsIDB4ODg4MCwgMCwgezB4MDgsMHg1MCwweDAyLDB4ZDgsMHgwMCwweDk3LDB4MDAsMHgyZCwweGMwLDB4ODgsMHg3MSwweDAyLDB4MTQsMHgwMCwweGIwLDB4MDAgfX0sCi0gezE2LCAweDg4OTAsIDAsIHsweDI1LDB4OTAsMHgwOCwweGMwLDB4ODIsMHg5YywweDQwLDB4OTMsMHgwMCwweDI5LDB4YTEsMHg4OCwweDYwLDB4MDIsMHgxNCwweDEyIH19LAotIHsxNiwgMHg4OGEwLCAwLCB7MHg4NywweDQwLDB4MjksMHg0MCwweDBiLDB4NjAsMHgwMiwweGM0LDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODhiMCwgMCwgezB4NjAsMHgxNCwweGNjLDB4MDAsMHg4MCwweGQwLDB4YTAsMHgwMCwweDA4LDB4MWMsMHgwMiwweGMwLDB4MDAsMHg5MywweDAwLDB4MmMgfX0sCi0gezE2LCAweDg4YzAsIDAsIHsweGQwLDB4MGEsMHhiMCwweDI2LDB4ODAsMHgwMCwweGIzLDB4MDAsMHgyNCwweGU0LDB4MDgsMHgwOCwweDAyLDB4OGMsMHgwMCwweGIwIH19LAotIHsxNiwgMHg4OGQwLCAwLCB7MHgwMiwweDAyLDB4NDEsMHgwOCwweDA4LDB4MDIsMHgwMywweDAxLDB4ODEsMHgwMCwweDI4LDB4NDIsMHgxYSwweDAwLDB4NDIsMHhkOCB9fSwKLSB7MTYsIDB4ODhlMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGY4LDB4MTUsMHhiYywweDAwLDB4ZTgsMHhjMCwweDMyLDB4ODAgfX0sCi0gezE2LCAweDg4ZjAsIDAsIHsweDBjLDB4YjUsMHgwMywweGU0LDB4MDAsMHg5ZiwweDAwLDB4M2QsMHhlMCwweDBjLDB4ZjAsMHgwYiwweDI0LDB4MDAsMHhmOCwweDAwIH19LAotIHsxNiwgMHg4OTAwLCAwLCB7MHgzNiwweGUwLDB4MGMsMHgyNSwweDAzLDB4YmMsMHgwNSwweGQ4LDB4MDIsMHgyYSwweDAwLDB4MDgsMHhiYSwweDAyLDB4MmEsMHgwMCB9fSwKLSB7MTYsIDB4ODkxMCwgMCwgezB4YzEsMHgwMiwweDNhLDB4NTAsMHg4YiwweDkwLDB4MDMsMHhlZSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg5MjAsIDAsIHsweDgwLDB4MDAsMHhlYywweDAwLDB4ZmIsMHgwOCwweDNlLDB4ODAsMHgwZiwweGExLDB4MDMsMHhlYywweDA0LDB4ZWIsMHgwMiwweDJlIH19LAotIHsxNiwgMHg4OTMwLCAwLCB7MHhjNiwweDBmLDB4YjAsMHgxNywweDQ0LDB4MDAsMHhlOCwweDAwLDB4M2EsMHg0MCwweDBmLDB4ODAsMHgwMiwweDZjLDB4MDAsMHhmYiB9fSwKLSB7MTYsIDB4ODk0MCwgMCwgezB4MDAsMHgzZSwweGUwLDB4MGYsMHg5MCwweDkzLDB4ZTEsMHgwMCwweGQ5LDB4MDAsMHgyNiwweDcwLDB4OGYsMHg5MCwweDAxLDB4ZTEgfX0sCi0gezE2LCAweDg5NTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4ZmMsMHgwMCwweGZjLDB4MDMsMHgzNywweDI0IH19LAotIHsxNiwgMHg4OTYwLCAwLCB7MHgwZCwweGY4LDB4MDMsMHhlMCwweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzEsMHg4ZCwweGYwLDB4MGIsMHgzOCwweDAwLDB4Y2MsMHgwMCB9fSwKLSB7MTYsIDB4ODk3MCwgMCwgezB4M2YsMHhjMCwweDBmLDB4ZmEsMHgwMywweDNjLDB4MGMsMHhmYywweDA0LDB4M2IsMHg4MCwweDBjLDB4YTAsMHgwMywweDk0LDB4MjAgfX0sCi0gezE2LCAweDg5ODAsIDAsIHsweDg5LDB4MDUsMHgzYiwweDAwLDB4NGYsMHhkMCwweDIzLDB4YzAsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4OTkwLCAwLCB7MHg4MCwweDA0LDB4NmMsMHgwMCwweGIwLDB4MDYsMHgyMCwweDEzLDB4ODgsMHhhOCwweDAyLDB4ZWIsMHgwMCwweGJiLDB4MDAsMHgyZSB9fSwKLSB7MTYsIDB4ODlhMCwgMCwgezB4YzAsMHgwOCwweGIwLDB4MDIsMHgyYSwweDAwLDB4YTgsMHg4MCwweDJlLDB4ZTAsMHgwYiwweDk0LDB4MWEsMHgyYywweDAwLDB4YmIgfX0sCi0gezE2LCAweDg5YjAsIDAsIHsweDAwLDB4YTIsMHg0MCwweDI5LDB4OTgsMHgwMiwweGUyLDB4MDAsMHhhOSwweDg0LDB4MjIsMHgyMCwweDBiLDB4OTgsMHgwMiwweGUwIH19LAotIHsxNiwgMHg4OWMwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDAsMHhiOCwweDAwLDB4MjIsMHgwMCB9fSwKLSB7MTYsIDB4ODlkMCwgMCwgezB4MDksMHg4MiwweDAyLDB4ZTYsMHgwMCwweGJiLDB4MDAsMHgyZSwweGMwLDB4MGIsMHhiMCwweDAyLDB4MjYsMHgwMCwweDg4LDB4ODAgfX0sCi0gezE2LCAweDg5ZTAsIDAsIHsweDJlLDB4YTAsMHgwYiwweGEwLDB4MDIsMHgyYywweDAwLDB4YjMsMHgwMCwweDJhLDB4MDAsMHgwOSwweDk4LDB4MDIsMHhlYSwweDIwIH19LAotIHsxNiwgMHg4OWYwLCAwLCB7MHhhOSwweDgwLDB4MmEsMHg2MCwweDliLDB4OTgsMHg4MiwweGUwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGEwMCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDAsMHhiOCwweDAwLDB4MjAsMHgwMCwweDA5LDB4MDgsMHgwMiwweGM0LDB4MDAsMHhiMywweDAwLDB4MjYgfX0sCi0gezE2LCAweDhhMTAsIDAsIHsweGMwLDB4MDAsMHgzMCwweDAyLDB4MDAsMHgwMCwweDgxLDB4MDAsMHgyYywweDQxLDB4MGIsMHgwMCwweDAyLDB4MGMsMHgwMCwweGIwIH19LAotIHsxNiwgMHg4YTIwLCAwLCB7MHgwMCwweDIwLDB4YzAsMHgwYiwweDAwLDB4MDIsMHhjOCwweDgwLDB4YTgsMHgwMCwweDIwLDB4NDEsMHgwYiwweDEwLDB4MDIsMHhjMiB9fSwKLSB7MTYsIDB4OGEzMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2YywweDEwLDB4ZjgsMHg1MCwweGIyLDB4MDAgfX0sCi0gezE2LCAweDhhNDAsIDAsIHsweDBkLDB4ODAsMHgwMywweGUwLDB4MDAsMHhmYiwweDAwLDB4M2QsMHhjMCwweDBkLDB4ZjAsMHgxMywweDI0LDB4MDIsMHhjOCwweDA2IH19LAotIHsxNiwgMHg4YTUwLCAwLCB7MHgzZSwweDgwLDB4MGYsMHhhMCwweDAzLDB4M2MsMHgwNCwweGZiLDB4MDAsMHg3OCwweDgwLDB4MGMsMHhhMCwweDAzLDB4ZTQsMHgwMCB9fSwKLSB7MTYsIDB4OGE2MCwgMCwgezB4ZTksMHgwMCwweDFhLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhjMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhhNzAsIDAsIHsweGEwLDB4MWQsMHhmYywweDAwLDB4ZjQsMHgyMCwweDNmLDB4MDAsMHgwZSwweGMwLDB4MDIsMHhmMCwweDAxLDB4ZmYsMHgwMCwweDNmIH19LAotIHsxNiwgMHg4YTgwLCAwLCB7MHhjMCwweDBmLDB4ZjAsMHgyMywweGYwLDB4MDAsMHhmZCwweDAwLDB4M2YsMHhjMCwweDBmLDB4YzAsMHgwMywweGZjLDB4MDAsMHhmYyB9fSwKLSB7MTYsIDB4OGE5MCwgMCwgezB4MDAsMHgzZiwweDQwLDB4OWMsMHhjMCwweDAzLDB4ZjAsMHg0MCwweGZkLDB4MDAsMHgzZiwweDQwLDB4MGYsMHhkMCwweDQzLDB4ZTggfX0sCi0gezE2LCAweDhhYTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZjAsMHgwMCwweGVkLDB4MjMsMHhiNywweDQ4IH19LAotIHsxNiwgMHg4YWIwLCAwLCB7MHgwYywweGUxLDB4YzMsMHg3YywweGMwLDB4ZGQsMHg4MCwweDM3LDB4ZTAsMHgwZiwweGNiLDB4MDMsMHhmZSwweDA4LDB4ZmMsMHgyOCB9fSwKLSB7MTYsIDB4OGFjMCwgMCwgezB4M2YsMHhmMCwweDFjLDB4ZmIsMHgyMywweDdjLDB4MDEsMHhmZiwweDE0LDB4NzcsMHhlMiwweDRmLDB4ZTgsMHgyMywweDdjLDB4MDAgfX0sCi0gezE2LCAweDhhZDAsIDAsIHsweGM0LDB4ODAsMHgzMywweDQ4LDB4MmMsMHhmOCwweDIyLDB4MzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4YWUwLCAwLCB7MHg4MCwweDEwLDB4ZTAsMHhlMCwweGM5LDB4YzAsMHgyMiwweDViLDB4ODgsMHg5NiwweDIyLDB4MmQsMHgwMCwweDg5LDB4MjIsMHgyMiB9fSwKLSB7MTYsIDB4OGFmMCwgMCwgezB4Y2EsMHgwYiwweDllLDB4MjIsMHhlMiwweGEwLDB4YjksMHg2MSwweDJjLDB4ZTAsMHg4OCwweDlmLDB4MDIsMHgzZCwweDg1LDB4YmYgfX0sCi0gezE2LCAweDhiMDAsIDAsIHsweDYwLDB4MjYsMHg1MCwweDQ4LDB4YTAsMHgwMiwweDNjLDB4MDAsMHg4OCwweDAwLDB4MjIsMHg1MCwweDA4LDB4YjAsMHgwMiwweDIwIH19LAotIHsxNiwgMHg4YjEwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGMwLDB4ODAsMHhiMSwweDEwLDB4MjAsMHg0NCB9fSwKLSB7MTYsIDB4OGIyMCwgMCwgezB4MGIsMHhiMiwweDAyLDB4Y2UsMHhkMCwweDgxLDB4MDgsMHgyYywweGMwLDB4MGIsMHgwMSwweDAyLDB4OGMsMHgwOCwweGIzLDB4MDggfX0sCi0gezE2LCAweDhiMzAsIDAsIHsweDJjLDB4YzksMHgwOCwweDEwLDB4NjIsMHg4YywweDYwLDB4YjMsMHgzMiwweDI0LDB4ODAsMHgwYSwweGEwLDB4MDIsMHg2YywweDAzIH19LAotIHsxNiwgMHg4YjQwLCAwLCB7MHg5YSwweDAxLDB4MjYsMHg0NCwweDQ4LDB4YjAsMHg0MiwweDYyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGI1MCwgMCwgezB4YzAsMHgxNSwweGE0LDB4YTAsMHg4YiwweDAyLDB4MjIsMHhlMCwweDBiLDB4YjAsMHg2MiwweGFjLDB4OTgsMHg5OSwweDAwLDB4MmEgfX0sCi0gezE2LCAweDhiNjAsIDAsIHsweGMyLDB4MGIsMHg5OCwweDA2LDB4ZTQsMHgwMCwweGJiLDB4MDIsMHgyZSwweGMwLDB4MDgsMHg5MSwweDQyLDB4MmMsMHgxMCwweGJiIH19LAotIHsxNiwgMHg4YjcwLCAwLCB7MHgwMCwweDZlLDB4ODAsMHgwYSwweDgwLDB4MDIsMHg2YywweDAwLDB4MWIsMHgwMCwweDA2LDB4NDAsMHg0OCwweGI4LDB4MGEsMHg3MCB9fSwKLSB7MTYsIDB4OGI4MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTEsMHhlNywweDAwLDB4YTEsMHgwMCwweDc2LDB4NzggfX0sCi0gezE2LCAweDhiOTAsIDAsIHsweDBmLDB4YjAsMHgwMywweGU4LDB4MTAsMHhkOSwweDAwLDB4M2UsMHhkMCwweDRiLDB4OWUsMHgxMywweGFjLDB4MDgsMHhiOCwweGEwIH19LAotIHsxNiwgMHg4YmEwLCAwLCB7MHg3ZSwweGM2LDB4MDgsMHhhOCwweDAyLDB4MmMsMHgwMSwweGJiLDB4MDAsMHgyNiwweDMwLDB4NGUsMHgyMCwweDAzLDB4NGMsMHgxOCB9fSwKLSB7MTYsIDB4OGJiMCwgMCwgezB4OTksMHg4MCwweGI0LDB4NDAsMHg0YywweDNhLDB4MDMsMHg0MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhiYzAsIDAsIHsweGUwLDB4MDEsMHhiMiwweDAwLDB4ZmQsMHhjNSwweDNiLDB4YzAsMHg0YywweGQwLDB4MDMsMHg2YSwweDAyLDB4ZWQsMHgwNiwweDMzIH19LAotIHsxNiwgMHg4YmQwLCAwLCB7MHhjNCwweDBmLDB4ZDAsMHg1MywweGY4LDB4MDAsMHhmYywweDkwLDB4N2YsMHhjMSwweDBmLDB4NzgsMHgwMywweGJjLDB4MDQsMHhmZiB9fSwKLSB7MTYsIDB4OGJlMCwgMCwgezB4MDAsMHgzNywweDY0LDB4MGMsMHhmMSwweDAzLDB4YTQsMHgwMCwweGVkLDB4YTEsMHgzYiwweDQwLDB4MGIsMHhmMCwweDgzLDB4YjggfX0sCi0gezE2LCAweDhiZjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4OGMsMHgwMCwweGNiLDB4MjAsMHgzZSwweDcxIH19LAotIHsxNiwgMHg4YzAwLCAwLCB7MHgwZiwweGIzLDB4MDMsMHg5OCwweDAyLDB4ZmIsMHgwMiwweDM2LDB4NDgsMHgwZiwweDkwLDB4MDMsMHhlYywweDIwLDB4ZjgsMHgwMCB9fSwKLSB7MTYsIDB4OGMxMCwgMCwgezB4M2UsMHhjYywweDA0LDB4ODQsMHgwMywweDJjLDB4MDAsMHhkYiwweDA0LDB4M2MsMHgxMCwweDBmLDB4YTAsMHgwMywweGVjLDB4MDAgfX0sCi0gezE2LCAweDhjMjAsIDAsIHsweDliLDB4MDAsMHgzMiwweDQwLDB4MGMsMHg5MCwweDAzLDB4ZDAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4YzMwLCAwLCB7MHg4OCwweDA1LDB4MmMsMHgwMiwweDhiLDB4NDgsMHgyZSwweGUwLDB4MGIsMHgzNCwweDAzLDB4NmIsMHgwMCwweDhiLDB4ZjUsMHgyMiB9fSwKLSB7MTYsIDB4OGM0MCwgMCwgezB4ZjIsMHgwYiwweDljLDB4MDMsMHhhZiwweDAwLDB4YjgsMHg1MCwweDJlLDB4YzAsMHgwOCwweGIwLDB4MDIsMHg3YywweDAwLDB4OGYgfX0sCi0gezE2LCAweDhjNTAsIDAsIHsweDAwLDB4MGUsMHg1ZCwweDBiLDB4ODAsMHgwMiwweGY1LDB4NDAsMHg4MywweDUwLDB4MjMsMHg1NCwweDA4LDB4OWMsMHgwMiwweGU2IH19LAotIHsxNiwgMHg4YzYwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNCwweDRjLDB4MDAsMHg4MSwweDgxLDB4MmUsMHg0MCB9fSwKLSB7MTYsIDB4OGM3MCwgMCwgezB4MDMsMHgyYywweDAyLDB4MDQsMHgzMywweDk5LDB4MDAsMHgyMCwweGYwLDB4NGEsMHgyOCwweDgwLDB4Y2MsMHg0MCwweGIwLDB4MDAgfX0sCi0gezE2LCAweDhjODAsIDAsIHsweDI2LDB4MTAsMHgwOCwweDIwLDB4MDIsMHg0YywweDAwLDB4ODMsMHgwMCwweDJjLDB4YzAsMHgwOSwweDIwLDB4MDIsMHhjYywweDAwIH19LAotIHsxNiwgMHg4YzkwLCAwLCB7MHhhMCwweDAyLDB4MjgsMHg0MCwweDA4LDB4MDgsMHgwMiwweDdhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGNhMCwgMCwgezB4MjAsMHgwMSwweDBhLDB4MDAsMHg4NSwweDgwLDB4MmQsMHhmOCwweDBiLDB4ZGEsMHgwMiwweGQ2LDB4NDAsMHg4NSwweGEwLDB4MjEgfX0sCi0gezE2LCAweDhjYjAsIDAsIHsweGUwLDB4MGIsMHg0OCwweDA2LDB4OTIsMHgwNCwweGI1LDB4ODAsMHgyZCwweDIxLDB4MDgsMHgwMCwweDAyLDB4NGUsMHgwMCwweDg3IH19LAotIHsxNiwgMHg4Y2MwLCAwLCB7MHhhNCwweDJkLDB4NjAsMHgwYiwweDY4LDB4MDIsMHhkZSwweGMyLDB4YWQsMHg5MCwweDJiLDB4NjAsMHgyOCwweDU4LDB4ODIsMHhkYyB9fSwKLSB7MTYsIDB4OGNkMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHg0YywweDQwLDB4YzMsMHgxMCwweDJjLDB4NmMgfX0sCi0gezE2LCAweDhjZTAsIDAsIHsweDBmLDB4MzAsMHgwMywweDg2LDB4YTIsMHhmOSwweGIwLDB4YjAsMHhlMCwweDBmLDB4MjksMHg4MywweGNlLDB4NDQsMHhmMywweDgwIH19LAotIHsxNiwgMHg4Y2YwLCAwLCB7MHgzYywweGFjLDB4MGMsMHgzMCwweDAzLDB4MGMsMHgwMCwweGMzLDB4MDAsMHgzYywweGQ1LDB4MGYsMHgyMCwweDAzLDB4Y2UsMHhjMSB9fSwKLSB7MTYsIDB4OGQwMCwgMCwgezB4ZTAsMHgxMCwweGI4LDB4NDAsMHgwYywweDAwLDB4MDMsMHhkMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhkMTAsIDAsIHsweGMwLDB4MWQsMHhiYywweDAwLDB4ZWIsMHgwMCwweDNlLDB4Y2MsMHgwZiwweDMyLDB4MDMsMHg2NCwweDA4LDB4ZjksMHgwMCwweDNiIH19LAotIHsxNiwgMHg4ZDIwLCAwLCB7MHg5MCwweDBmLDB4ZjAsMHg0MywweGU0LDB4NDAsMHhmYiwweDM0LDB4M2YsMHg4MSwweDA3LDB4ZDEsMHgwMywweGFkLDB4MjAsMHhlYiB9fSwKLSB7MTYsIDB4OGQzMCwgMCwgezB4MjAsMHg3ZiwweGM0LDB4MGYsMHhlMSwweDAzLDB4ZmMsMHg1MCwweGNkLDB4MTAsMHgzNSwweDQwLDB4MGYsMHhkMCwweDAzLDB4ZDAgfX0sCi0gezE2LCAweDhkNDAsIDAsIHsweDAyLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZTQsMHgwNCwweGZkLDB4MDQsMHgzZCwweDQwIH19LAotIHsxNiwgMHg4ZDUwLCAwLCB7MHgyZCwweDMwLDB4MDIsMHgzYywweDAwLDB4YzksMHgwMSwweDNlLDB4YzAsMHg0ZiwweGI4LDB4NDMsMHhlYywweDEwLDB4ZmIsMHgwMCB9fSwKLSB7MTYsIDB4OGQ2MCwgMCwgezB4MzIsMHg0MCwweDBmLDB4YTAsMHgyMywweGVjLDB4ODAsMHhjYiwweDM2LDB4MzIsMHg4MCwweDRkLDB4YTgsMHgwMywweDJjLDB4MTAgfX0sCi0gezE2LCAweDhkNzAsIDAsIHsweGNiLDB4MDAsMHgzMiwweDQwLDB4MGMsMHg5MCwweDAzLDB4NmEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4ZDgwLCAwLCB7MHhjOCwweDExLDB4OTAsMHgwOCwweGI1LDB4MDAsMHgyZCwweGMwLDB4MDgsMHg1MCwweDAyLDB4YmMsMHgwMiwweDg1LDB4MDQsMHgyZCB9fSwKLSB7MTYsIDB4OGQ5MCwgMCwgezB4YzAsMHg4ZSwweDYwLDB4MDYsMHhkOCwweDA0LDB4YjcsMHgwNCwweDIxLDB4NDAsMHgwYiwweDcwLDB4MDIsMHhmYywweDgwLDB4YWYgfX0sCi0gezE2LCAweDhkYTAsIDAsIHsweDI4LDB4MjEsMHhjMCwweDBiLDB4NzAsMHgwMiwweDA2LDB4NDAsMHg4NywweDAwLDB4MjEsMHg1MCwweDA4LDB4NTAsMHgwMiwweDMyIH19LAotIHsxNiwgMHg4ZGIwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweDllLDB4MjAsMHhiNywweDgwLDB4MmIsMHg3MCB9fSwKLSB7MTYsIDB4OGRjMCwgMCwgezB4MDgsMHhmOCwweDA2LDB4MWUsMHgwMCwweDg3LDB4ODAsMHgyZCwweGUwLDB4MGIsMHg3MCwweDMyLDB4ZGUsMHgwNCwweDM3LDB4ODQgfX0sCi0gezE2LCAweDhkZDAsIDAsIHsweDI1LDB4ZTAsMHgwYiwweDY4LDB4MDYsMHhkZSwweDgwLDB4ODcsMHg4MCwweDIxLDB4YTEsMHgxYiwweDY4LDB4MDIsMHgxZSwweDQwIH19LAotIHsxNiwgMHg4ZGUwLCAwLCB7MHg5ZiwweDgwLDB4MjAsMHg2MCwweDA4LDB4NTgsMHgwMiwweDIwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGRmMCwgMCwgezB4NDgsMHgxNCwweGNjLDB4MjAsMHhiMywweDAwLDB4MmMsMHg4MCwweDg4LDB4YjQsMHgyMiwweDhkLDB4MDAsMHg4MywweDkwLDB4MmMgfX0sCi0gezE2LCAweDhlMDAsIDAsIHsweGMwLDB4MGEsMHgzOCwweDAyLDB4Y2UsMHgwOCwweGJiLDB4MjAsMHgyNCwweGQwLDB4MGIsMHhiMywweDAyLDB4Y2MsMHgwMCwweGEzIH19LAotIHsxNiwgMHg4ZTEwLCAwLCB7MHgwMCwweDYwLDB4ZDIsMHgwYiwweDIwLDB4MmEsMHgwNCwweDA4LDB4OTMsMHg1MCwweDIwLDB4NDAsMHgwOCwweDE3LDB4MGEsMHgwMiB9fSwKLSB7MTYsIDB4OGUyMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhiYSwweDAwLDB4YmEsMHhhMCwweDNmLDB4ODQgfX0sCi0gezE2LCAweDhlMzAsIDAsIHsweDFjLDB4ZTAsMHgwYiwweDM4LDB4NDAsMHg4ZSwweDA2LDB4MmUsMHg4MCwweDBiLDB4ZTMsMHgwMywweGY4LDB4ODAsMHhmZSwweGU0IH19LAotIHsxNiwgMHg4ZTQwLCAwLCB7MHhiNywweDkwLDB4MGYsMHhlYywweDAyLDB4ZTgsMHgwMCwweDhhLDB4MDAsMHhhMywweGEwLDB4MDksMHhlNCwweDAzLDB4MmEsMHgwMiB9fSwKLSB7MTYsIDB4OGU1MCwgMCwgezB4ZGUsMHhjMCwweGYzLDB4ODAsMHgwYywweDZjLDB4MDMsMHgzYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhlNjAsIDAsIHsweDQ4LDB4MDEsMHhlMCwweDAwLDB4ZjgsMHg0MCwweDNlLDB4MDAsMHgwZiwweDg0LDB4MTMsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDJlIH19LAotIHsxNiwgMHg4ZTcwLCAwLCB7MHgzMCwweDBhLDB4ODQsMHgwMywweGUwLDB4MDQsMHhmOCwweDAwLDB4M2EsMHgwMiwweDBmLDB4ODAsMHgxMywweGUwLDB4MDAsMHhmOCB9fSwKLSB7MTYsIDB4OGU4MCwgMCwgezB4MDAsMHgzZSwweDA0LDB4MGQsMHg4MCwweDgzLDB4ZTAsMHg0MCwweGU4LDB4MjAsMHgzZSwweDAwLDB4MmYsMHg4MCwweDAzLDB4ZDIgfX0sCi0gezE2LCAweDhlOTAsIDAsIHsweDEwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4YTQsMHgwMCwweGY5LDB4MDAsMHgzYywweDY0IH19LAotIHsxNiwgMHg4ZWEwLCAwLCB7MHg0ZSwweDkwLDB4ODMsMHgyNCwweDgwLDB4YzksMHgwMCwweDMyLDB4ZTAsMHgwZiwweDEwLDB4MDMsMHgyNSwweDAwLDB4ZjksMHgwMCB9fSwKLSB7MTYsIDB4OGViMCwgMCwgezB4MzIsMHg0NCwweDBmLDB4OTIsMHgyMywweDY0LDB4MDAsMHhjMSwweDAwLDB4MzIsMHg0MCwweDBjLDB4OTAsMHgxMywweGU0LDB4MDAgfX0sCi0gezE2LCAweDhlYzAsIDAsIHsweGM5LDB4MDAsMHgyMiwweDQwLDB4MGMsMHg5MCwweDAzLDB4MDIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4ZWQwLCAwLCB7MHg4MCwweDA0LDB4NjQsMHgwMCwweGI5LDB4MjAsMHgyZSwweDQwLDB4NDgsMHg5NiwweDIyLDB4MjUsMHgwMCwweGQ5LDB4YzAsMHhhMiB9fSwKLSB7MTYsIDB4OGVlMCwgMCwgezB4NzAsMHgwYiwweDk4LDB4MDIsMHgyNCwweDAwLDB4YjksMHg0MCwweGEyLDB4NzAsMHg0YiwweDkwLDB4MDIsMHgyNCwweDAwLDB4ZDkgfX0sCi0gezE2LCAweDhlZjAsIDAsIHsweDAwLDB4YTIsMHg0MCwweDJjLDB4OTQsMHgyMiwweGU0LDB4MDIsMHg4OSwweDAwLDB4YTIsMHg0MCwweDI4LDB4OTQsMHgxMywweDIwIH19LAotIHsxNiwgMHg4ZjAwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwMSwweDI0LDB4MDAsMHhiOSwweDAwLDB4MmUsMHg0MCB9fSwKLSB7MTYsIDB4OGYxMCwgMCwgezB4MGEsMHg5MCwweDAyLDB4MDQsMHgwMCwweDgxLDB4ODAsMHhhMiwweDQ0LDB4MGIsMHg5MSwweDAyLDB4MjUsMHgwMCwweDE5LDB4NDAgfX0sCi0gezE2LCAweDhmMjAsIDAsIHsweDYyLDB4NDAsMHgwYiwweGI0LDB4MDIsMHg0NCwweDAwLDB4ODksMHgwMCwweDIwLDB4NDAsMHgwOCwweDkwLDB4ODIsMHhjNCwweDAxIH19LAotIHsxNiwgMHg4ZjMwLCAwLCB7MHg4MywweDAyLDB4MjgsMHg0MCwweDQ4LDB4OTAsMHg4MiwweDA2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGY0MCwgMCwgezB4MDAsMHgwNCwweDA1LDB4ODAsMHhiMSwweDAwLDB4NmMsMHg1MSwweDA4LDB4MTQsMHgxYSwweDA1LDB4MDAsMHg5MywweDAwLDB4MjAgfX0sCi0gezE2LCAweDhmNTAsIDAsIHsweDQwLDB4OGIsMHgxNCwweDAyLDB4MDUsMHgwMCwweGIxLDB4MjAsMHgyMCwweDUwLDB4MGIsMHgxNCwweDA2LDB4MDQsMHg4MCwweDkxIH19LAotIHsxNiwgMHg4ZjYwLCAwLCB7MHgyMCwweDIwLDB4NDAsMHgwOSwweDEwLDB4MDIsMHhjNCwweGE4LDB4ODEsMHgwMCwweDI4LDB4NGEsMHgwOCwweDkwLDB4NGEsMHg0MiB9fSwKLSB7MTYsIDB4OGY3MCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDAgfX0sCi0gezE2LCAweDhmODAsIDAsIHsweDBlLDB4ODAsMHgwMywweDI4LDB4MDEsMHhjOCwweDUwLDB4MzIsMHg5NCwweDhiLDB4YTAsMHgwMywweDIwLDB4MDAsMHhiMCwweDUwIH19LAotIHsxNiwgMHg4ZjkwLCAwLCB7MHgzMiwweDgwLDB4MGYsMHg4MCwweDA3LDB4NjEsMHg1MSwweGM4LDB4NTAsMHgyMiwweDAwLDB4MGMsMHgwMCwweDAzLDB4ZTAsMHg4NCB9fSwKLSB7MTYsIDB4OGZhMCwgMCwgezB4YzgsMHgwNCwweDNhLDB4MDgsMHgwYywweDAwLDB4MDMsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhmYjAsIDAsIHsweDk4LDB4OWQsMHhmNCwweDQwLDB4YmQsMHg0MSwweDNmLDB4NTAsMHgwZiwweGY0LDB4MDMsMHhmNSwweDEwLDB4ZmQsMHgwMCwweDNlIH19LAotIHsxNiwgMHg4ZmMwLCAwLCB7MHg0MCwweDBmLDB4ZDQsMHgwMywweGY0LDB4MDAsMHhmZiwweDEwLDB4MmYsMHg0MCwweDRmLDB4ZDQsMHg0MCwweGE0LDB4NDgsMHhmOSB9fSwKLSB7MTYsIDB4OGZkMCwgMCwgezB4MTIsMHgzZiwweDVhLDB4OGUsMHhkMiwweDgzLDB4ZjQsMHhhOCwweGY1LDB4MmMsMHgzNywweDRhLDB4MGYsMHhkMiwweDgzLDB4YTYgfX0sCi0gezE2LCAweDhmZTAsIDAsIHsweDEyLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZTYsMHg4MCwweGZkLDB4MjgsMHgzZiwweDRjIH19LAotIHsxNiwgMHg4ZmYwLCAwLCB7MHgwZiwweDUwLDB4MDMsMHgzYywweDQ0LDB4Y2QsMHg0MCwweDNmLDB4ZDAsMHgwZCwweGQwLDB4MDIsMHgxNCwweDAxLDB4ZmQsMHhhMCB9fSwKLSB7MTYsIDB4OTAwMCwgMCwgezB4MzEsMHg0MCwweDAzLDB4ZDAsMHgwMywweGU3LDB4ODksMHhmOSwweDkwLDB4N2UsMHg1MCwweDBjLDB4OTQsMHgwMywweGU2LDB4YzAgfX0sCi0gezE2LCAweDkwMTAsIDAsIHsweGM5LDB4MTAsMHgzMiwweDZkLDB4MGYsMHg5MSwweDAyLDB4YzYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5MDIwLCAwLCB7MHgzOCwweDEwLDB4ZTAsMHg4MCwweGI4LDB4MDEsMHgyZSwweDBjLDB4OGIsMHg4NCwweDgyLDB4MjAsMHg0MiwweDg4LDB4YTAsMHg2ZSB9fSwKLSB7MTYsIDB4OTAzMCwgMCwgezB4MjAsMHgwOCwweDgwLDB4MDMsMHg2MCwweDAwLDB4OTgsMHhlOCwweDIyLDB4MDAsMHgwOSwweDgwLDB4MDIsMHhlMywweGMwLDB4ZTggfX0sCi0gezE2LCAweDkwNDAsIDAsIHsweGQwLDB4MmUsMHgyOCwweDA4LDB4OGEsMHgyMywweGUyLDB4ODQsMHhkOCwweGEwLDB4MjIsMHgzZCwweDBiLDB4YzgsMHgwMiwweGNlIH19LAotIHsxNiwgMHg5MDUwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwNSwweGM1LDB4YjAsMHhiMSwweDAwLDB4MmMsMHg0OCB9fSwKLSB7MTYsIDB4OTA2MCwgMCwgezB4MGIsMHgxMywweDAyLDB4MDQsMHgwMiwweGIxLDB4MjAsMHgyZSwweDQwLDB4ODgsMHgxMCwweDIyLDB4YzQsMHgwMCwweGIxLDB4MTQgfX0sCi0gezE2LCAweDkwNzAsIDAsIHsweDI0LDB4NDAsMHgwYiwweDEwLDB4NTIsMHhjNCwweDAwLDB4YjEsMHgyMSwweDJkLDB4NDgsMHgwYSwweDUyLDB4MDIsMHhkNSwweDAwIH19LAotIHsxNiwgMHg5MDgwLCAwLCB7MHhiZCwweDAwLDB4YWQsMHg0MCwweDBiLDB4NTIsMHgwMiwweGQyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTA5MCwgMCwgezB4MTgsMHg1NSwweGE1LDB4MDAsMHhiOSwweDgyLDB4MmUsMHg0OSwweDhiLDB4YjAsMHgxMiwweDI0LDB4MTAsMHg5OSwweDAyLDB4MmUgfX0sCi0gezE2LCAweDkwYTAsIDAsIHsweDQwLDB4MDgsMHhiMiwweDAwLDB4NjUsMHgwMCwweDk5LDB4ODAsMHgyNiwweDQ0LDB4MDksMHg5MSwweDAyLDB4ZTQsMHgwOSwweGE5IH19LAotIHsxNiwgMHg5MGIwLCAwLCB7MHgwNCwweDJlLDB4NDYsMHgwYSwweGQ0LDB4MDIsMHhiNCwweDAwLDB4YmQsMHg0MCwweDJmLDB4NDAsMHgwYiwweGQwLDB4MDIsMHhjNiB9fSwKLSB7MTYsIDB4OTBjMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNywweDQwLDB4ZjksMHg4MCwweDJlLDB4NjIgfX0sCi0gezE2LCAweDkwZDAsIDAsIHsweDBmLDB4OWMsMHg0MiwweDI0LDB4MDAsMHg5OSwweDAxLDB4MmUsMHg2OCwweDJjLDB4OTIsMHgwMiwweDY0LDB4MDAsMHhiOSwweDQwIH19LAotIHsxNiwgMHg5MGUwLCAwLCB7MHhiNiwweDYwLDB4MGYsMHg5YSwweDAzLDB4ZTQsMHgwMCwweGI5LDB4MDAsMHgyZSwweDcwLDB4M2UsMHg5OSwweDA2LDB4ZTQsMHgwMiB9fSwKLSB7MTYsIDB4OTBmMCwgMCwgezB4ZjksMHgwMCwweDNlLDB4NDAsMHgwZiwweDk4LDB4MDMsMHhlOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDkxMDAsIDAsIHsweDY4LDB4MDEsMHhhNiwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDAsMHgxZiwweDEyLDB4YWIsMHhlNCwweDAwLDB4ZTksMHg5MCwweDNlIH19LAotIHsxNiwgMHg5MTEwLCAwLCB7MHg0OSwweDBlLDB4OTgsMHgwMywweGU0LDB4MDAsMHhmMSwweDAwLDB4M2EsMHg0MCwweDBkLDB4OTgsMHgwMywweGU0LDB4MDAsMHhmOSB9fSwKLSB7MTYsIDB4OTEyMCwgMCwgezB4MDEsMHgzZSwweDYwLDB4MDUsMHg5MCwweDEzLDB4ZTQsMHgwMCwweDU5LDB4MjAsMHgzMiwweDQwLDB4OGYsMHg5MSwweDAzLDB4ZGEgfX0sCi0gezE2LCAweDkxMzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg2OCwweDEwLDB4YTAsMHgwMCwweGM4LDB4MDgsMHgzZSwweDAxIH19LAotIHsxNiwgMHg5MTQwLCAwLCB7MHgwZiwweDg0LDB4NjMsMHgwMCwweDIyLDB4ZTgsMHgyMCwweDNlLDB4MTMsMHgwZiwweDg0LDB4MDMsMHhlMSwweGMwLDB4ZDgsMHg0YyB9fSwKLSB7MTYsIDB4OTE1MCwgMCwgezB4MzIsMHgwMCwweDBjLDB4ODQsMHg0MywweGUwLDB4MDAsMHhmOCwweDAwLDB4MjIsMHgxMCwweDBmLDB4ODQsMHgwMywweDAwLDB4MDAgfX0sCi0gezE2LCAweDkxNjAsIDAsIHsweGM4LDB4MDAsMHhiMiwweDAwLDB4MGMsMHhjMCwweDAzLDB4MGEsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5MTcwLCAwLCB7MHgyOCwweDA1LDB4MjgsMHgwMCwweDhlLDB4MDAsMHgyZiwweDg2LDB4NGIsMHhlMCwweDAyLDB4MzksMHgwOCwweDhlLDB4MjAsMHgyZCB9fSwKLSB7MTYsIDB4OTE4MCwgMCwgezB4OTAsMHgwYiwweGVkLDB4OTIsMHhmOCwweDAyLDB4OGUsMHhlMCwweGEzLDB4OTgsMHgwOCwweGUwLDB4MDIsMHhlOCwweDA4LDB4YmEgfX0sCi0gezE2LCAweDkxOTAsIDAsIHsweDAwLDB4NjIsMHg4MCwweDA4LDB4YTAsMHgwMiwweDI4LDB4MDAsMHgwMiwweDgwLDB4MDIsMHg4MCwweDQ4LDB4ZTAsMHgwMywweDRhIH19LAotIHsxNiwgMHg5MWEwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NjgsMHgwNSwweDRjLDB4MDAsMHg4MywweDEwLDB4MmMsMHhmMCB9fSwKLSB7MTYsIDB4OTFiMCwgMCwgezB4MGEsMHgxNCwweDJhLDB4MGQsMHgxYSwweGIzLDB4MDEsMHgyNCwweGQwLDB4MGIsMHhiYywweDMyLDB4Y2MsMHgwOCwweDAzLDB4MDAgfX0sCi0gezE2LCAweDkxYzAsIDAsIHsweDIwLDB4YzgsMHgwYiwweDMwLDB4MDIsMHhjYywweDAwLDB4YjMsMHgwMiwweDIyLDB4YzAsMHgwOSwweDMwLDB4MDIsMHgwYywweDExIH19LAotIHsxNiwgMHg5MWQwLCAwLCB7MHg4MywweDAwLDB4MjAsMHhjMCwweDI4LDB4MjAsMHgwMiwweDBhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTFlMCwgMCwgezB4MjAsMHgwMSwweDFlLDB4MDEsMHg4NSwweDAwLDB4MmQsMHgwMCwweDBiLDB4NzAsMHgwMiwweDE4LDB4MzIsMHg4NiwweDAwLDB4MmQgfX0sCi0gezE2LCAweDkxZjAsIDAsIHsweGMwLDB4MGIsMHg2MCwweDE2LDB4ZmUsMHgwNCwweDg2LDB4MDAsMHgyNywweGEwLDB4OGIsMHg3MCwweDQyLDB4ZGMsMHg4MCwweGI3IH19LAotIHsxNiwgMHg5MjAwLCAwLCB7MHg4MCwweDIxLDB4MDEsMHgwOCwweGY4LDB4MGEsMHgxOCwweDAwLDB4ODYsMHgwOCwweDIwLDB4YTAsMHgwOCwweGU4LDB4MGEsMHg2OCB9fSwKLSB7MTYsIDB4OTIxMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDgsMHgzZSwweDAyLDB4YzYsMHg4MCwweDNkLDB4ZTAgfX0sCi0gezE2LCAweDkyMjAsIDAsIHsweDBmLDB4NDgsMHgwMywweDA2LDB4MDQsMHhmNSwweDgyLDB4MzUsMHhlMCwweDBmLDB4NzgsMHgwMywweGRhLDB4MDAsMHhkMywweDgwIH19LAotIHsxNiwgMHg5MjMwLCAwLCB7MHgzMSwweDYwLDB4MDcsMHg3OCwweDAzLDB4ZGUsMHgyMCwweGYzLDB4YjAsMHg4MSwweGUwLDB4NGYsMHg2OCwweDA3LDB4MGUsMHgwMiB9fSwKLSB7MTYsIDB4OTI0MCwgMCwgezB4Y2YsMHg4MCwweDMxLDB4ZTAsMHgwYywweDc4LDB4MTMsMHgyYSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDkyNTAsIDAsIHsweDA4LDB4MWQsMHhhZCwweGEwLDB4ZjksMHgwMCwweDNmLDB4MDAsMHgwZiwweGIwLDB4NTMsMHhmOCwweDEwLDB4YTksMHgwMCwweDNlIH19LAotIHsxNiwgMHg5MjYwLCAwLCB7MHgwMCwweDBmLDB4ODAsMHgwMSwweGVjLDB4MDAsMHhmYiwweDAyLDB4M2EsMHhjMCwweDBjLDB4YjAsMHgwMywweGVjLDB4MDAsMHhmYiB9fSwKLSB7MTYsIDB4OTI3MCwgMCwgezB4NzQsMHgzYywweDAwLDB4MGYsMHgyMCwweDAzLDB4ZTgsMHgwMCwweGZhLDB4MDAsMHgzZSwweDgwLDB4MGYsMHgzMCwweDAzLDB4YzIgfX0sCi0gezE2LCAweDkyODAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDA1LDB4ZmUsMHgwMiwweDhmLDB4ODAsMHgzNSwweGUwIH19LAotIHsxNiwgMHg5MjkwLCAwLCB7MHg4ZCwweGQ5LDB4MDMsMHgyZSwweGM0LDB4ZjYsMHg4MCwweDMyLDB4YTQsMHgwYywweGI4LDB4MDMsMHhkZSwweDAwLDB4Y2YsMHg5MCB9fSwKLSB7MTYsIDB4OTJhMCwgMCwgezB4M2MsMHhlNCwweDBjLDB4YjgsMHgwMywweGZlLDB4NjUsMHhmZiwweDgwLDB4MGYsMHhlYywweDhmLDB4ZjgsMHgwMywweGZlLDB4MDAgfX0sCi0gezE2LCAweDkyYjAsIDAsIHsweGM1LDB4ODAsMHgzMywweGUwLDB4MGYsMHg2OCwweDAzLDB4MTAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5MmMwLCAwLCB7MHhhYSwweDExLDB4OWMsMHg4MCwweDg0LDB4YjAsMHgyMCwweDIwLDB4MjksMHg3MywweDBhLDB4MGUsMHg4MiwweGEyLDB4YTAsMHhhMiB9fSwKLSB7MTYsIDB4OTJkMCwgMCwgezB4YTAsMHg0ZiwweDNiLDB4MDMsMHg4NywweDg0LDB4YjIsMHg4MCwweDJjLDB4YTAsMHgwYSwweDdkLDB4MDIsMHhkZSwweDgwLDB4ZjcgfX0sCi0gezE2LCAweDkyZTAsIDAsIHsweDIwLDB4MjUsMHgwNiwweDA4LDB4NzAsMHgwMiwweGM4LDB4NDAsMHg4NCwweDAwLDB4MzUsMHg4MCwweDBiLDB4NjAsMHgwMywweDZhIH19LAotIHsxNiwgMHg5MmYwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDljLDB4MTAsMHg4NiwweDM4LDB4MjcsMHhjMCB9fSwKLSB7MTYsIDB4OTMwMCwgMCwgezB4NDksMHg1NCwweDA2LDB4NTQsMHg0MCwweDFkLDB4MjAsMHgyMSwweGNhLDB4MDksMHg2MSwweDQwLDB4ZjgsMHg4MCwweGI3LDB4MjAgfX0sCi0gezE2LCAweDkzMTAsIDAsIHsweDJmLDB4MDAsMHg4OSwweDcwLDB4MTIsMHhkYywweDgxLDB4YjcsMHgwNCwweDJkLDB4YzksMHgwYSwweDYwLDB4MDIsMHhjYywweDAwIH19LAotIHsxNiwgMHg5MzIwLCAwLCB7MHg4ZCwweDAwLDB4MmQsMHhjMCwweDBiLDB4ZjgsMHgwMiwweDA0LDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTMzMCwgMCwgezB4NjAsMHgxNCwweGNkLDB4MjgsMHg4MCwweDAwLDB4MjQsMHgwMCwweDA5LDB4YjAsMHgyMiwweDRjLDB4MDIsMHhhMSwweDAxLDB4MjAgfX0sCi0gezE2LCAweDkzNDAsIDAsIHsweDMwLDB4MWIsMHgyMywweDAyLDB4YWYsMHgyMCwweGIzLDB4MDgsMHgyYywweDgwLDB4MWIsMHgzMCwweDAwLDB4Y2MsMHgwNCwweGEzIH19LAotIHsxNiwgMHg5MzUwLCAwLCB7MHgwMSwweDI2LDB4MzAsMHgwOCwweGFjLDB4MjIsMHhlOCwweDAyLDB4ODAsMHgwOCwweDJlLDB4ODAsMHg0YiwweGI0LDB4MDIsMHg1OCB9fSwKLSB7MTYsIDB4OTM2MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhiYywweDEwLDB4OGIsMHg4MCwweDM2LDB4ZjAgfX0sCi0gezE2LCAweDkzNzAsIDAsIHsweDJkLDB4YmMsMHgwYiwweDZjLDB4MDEsMHhkYSwweDA0LDB4MjIsMHg0MCwweDdkLDB4OTQsMHgyMiwweGU0LDB4MDAsMHhhYiwweDQ0IH19LAotIHsxNiwgMHg5MzgwLCAwLCB7MHgyZSwweGMwLDB4MDksMHhiOCwweDAyLDB4ZmMsMHgwMCwweGJmLDB4MDAsMHgzZSwweGYwLDB4Y2EsMHg5MiwweDAyLDB4ZTQsMHgwMiB9fSwKLSB7MTYsIDB4OTM5MCwgMCwgezB4Y2IsMHgwMCwweDZlLDB4NDAsMHgwZiwweDg0LDB4MDEsMHgyZSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDkzYTAsIDAsIHsweDgwLDB4MDAsMHhlYywweDAwLDB4ZmIsMHgwMCwweDNhLDB4ZTAsMHgyZSwweGJjLDB4MDMsMHg5OCwweDA4LDB4ZWEsMHg0MCwweDM2IH19LAotIHsxNiwgMHg5M2IwLCAwLCB7MHg0MywweDhjLDB4OTAsMHgwMywweGE0LDB4NDQsMHgyYSwweDQwLDB4M2UsMHgxMCwweDBlLDB4YjUsMHg4MywweGVjLDB4MTQsMHhmYiB9fSwKLSB7MTYsIDB4OTNjMCwgMCwgezB4MDAsMHgyNiwweDAwLDB4MGUsMHg5MiwweDAzLDB4ZTAsMHg0MCwweGZhLDB4MDAsMHgxNiwweDAwLDB4MGYsMHg4MCwweDEzLDB4ZTAgfX0sCi0gezE2LCAweDkzZDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZWMsMHgwMiwweGZhLDB4ODAsMHgzZiwweGUyIH19LAotIHsxNiwgMHg5M2UwLCAwLCB7MHgwZiwweGIwLDB4MGIsMHgyNCwweDAwLDB4ZWYsMHg5MiwweGJiLDB4ZTAsMHgxYywweGQwLDB4MDMsMHg3NCwweDAwLDB4Y2YsMHgwNSB9fSwKLSB7MTYsIDB4OTNmMCwgMCwgezB4M2IsMHg0MCwweDBmLDB4YzgsMHgwMywweDVjLDB4MDAsMHhjZiwweDAwLDB4MzIsMHhjMiwweDRkLDB4YzEsMHgyMywweDM0LDB4NDAgfX0sCi0gezE2LCAweDk0MDAsIDAsIHsweGNmLDB4MDAsMHgxNywweDQ0LDB4MGMsMHhkMSwweDgzLDB4MDAsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5NDEwLCAwLCB7MHg4MSwweDA0LDB4NmMsMHgwMCwweDhiLDB4ODQsMHgyZSwweDU0LDB4MGIsMHhiYywweDBhLDB4MjksMHg4MCwweDhiLDB4ODAsMHgzMiB9fSwKLSB7MTYsIDB4OTQyMCwgMCwgezB4MDAsMHgwOCwweDljLDB4MDMsMHhhNywweDAwLDB4YWIsMHg4NCwweDJlLDB4N2MsMHgwYiwweDgwLDB4MDIsMHgyYywweDEwLDB4ZGIgfX0sCi0gezE2LCAweDk0MzAsIDAsIHsweDAxLDB4MzYsMHgwMCwweDA4LDB4ODAsMHgwMiwweDIwLDB4MDAsMHg4MiwweDAwLDB4MjIsMHgwMCwweDA4LDB4OTAsMHgwMiwweDI0IH19LAotIHsxNiwgMHg5NDQwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDBjLDB4MDAsMHg4OSwweDEwLDB4NjYsMHg5MCB9fSwKLSB7MTYsIDB4OTQ1MCwgMCwgezB4MGIsMHhiOCwweDAyLDB4NmUsMHgxMiwweGEzLDB4NDEsMHgyMCwweDA0LDB4MGEsMHg5OCwweDIyLDB4ZTIsMHgwMCwweDg5LDB4MTkgfX0sCi0gezE2LCAweDk0NjAsIDAsIHsweDJlLDB4YzAsMHg0YiwweDMxLDB4MjIsMHg2YywweDA4LDB4ODMsMHgwMCwweDIyLDB4YzAsMHgwOSwweDkwLDB4MDIsMHgyNCwweDAwIH19LAotIHsxNiwgMHg5NDcwLCAwLCB7MHg4OSwweDAwLDB4MmEsMHg0MCwweDA4LDB4ODAsMHgwMiwweDIwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTQ4MCwgMCwgezB4MDgsMHgxMCwweDBjLDB4MDAsMHg4MCwweDIwLDB4MmMsMHgwZSwweDFiLDB4MzAsMHgwMiwweDA0LDB4NDEsMHg4MCwweDIwLDB4MjAgfX0sCi0gezE2LCAweDk0OTAsIDAsIHsweDEyLDB4MTgsMHgxNiwweDQyLDB4MDAsMHg1MCwweGEwLDB4NDAsMHgyYywweDg4LDB4MWIsMHgzMCwweDAyLDB4MGMsMHg4MSwweDkzIH19LAotIHsxNiwgMHg5NGEwLCAwLCB7MHgwMCwweDI0LDB4MDAsMHgwOCwweDEwLDB4MmEsMHgwMCwweDBhLDB4ODgsMHgwMCwweDI4LDB4MDAsMHgyOCwweDAwLDB4MGEsMHgwMiB9fSwKLSB7MTYsIDB4OTRiMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGMsMHg3YywweDExLDB4ZTgsMHgwMCwweDI2LDB4OTggfX0sCi0gezE2LCAweDk0YzAsIDAsIHsweDBmLDB4YjAsMHgxMywweDIxLDB4MGMsMHhlYiwweDYwLDB4M2EsMHhkOCwweDI4LDB4ODQsMHhhMiwweGUxLDB4ODAsMHhjOCwweDIwIH19LAotIHsxNiwgMHg5NGQwLCAwLCB7MHgzZSwweDVlLDB4MWYsMHg4MiwweDAzLDB4N2MsMHgwMCwweGNmLDB4MDAsMHgzMiwweGMwLDB4NGQsMHg4MCwweDA3LDB4MjUsMHgwMCB9fSwKLSB7MTYsIDB4OTRlMCwgMCwgezB4YzksMHgwMCwweDMyLDB4NDAsMHgwYywweDkwLDB4MDMsMHgwMCwweDAxLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk0ZjAsIDAsIHsweGExLDB4MTEsMHhmYywweDAwLDB4ZjgsMHgxMywweDFlLDB4MDAsMHgwYiwweGYwLDB4MDEsMHhmMCwweGQwLDB4ZjksMHgxOSwweDFmIH19LAotIHsxNiwgMHg5NTAwLCAwLCB7MHgwOCwweDRmLDB4YzAsMHgxMywweGExLDB4MDAsMHhmOCwweDYyLDB4M2YsMHhjMCwweDBiLDB4YzQsMHgwNywweGVkLDB4MDAsMHhmZiB9fSwKLSB7MTYsIDB4OTUxMCwgMCwgezB4MDAsMHgzZiwweDAwLDB4MGYsMHhjMCwweDIzLDB4ZjAsMHhhMCwweGZjLDB4MDAsMHgzMywweDAwLDB4MGYsMHhkMCwweDAzLDB4ZTggfX0sCi0gezE2LCAweDk1MjAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmMsMHgwMCwweGZmLDB4MGMsMHgzZiwweDIwIH19LAotIHsxNiwgMHg5NTMwLCAwLCB7MHgwYywweGM5LDB4MDMsMHgzMiwweDAwLDB4Y2YsMHgzOCwweDNmLDB4ZDAsMHgwZiwweDQ4LDB4MDMsMHhmYywweGEwLDB4Y2UsMHgyMiB9fSwKLSB7MTYsIDB4OTU0MCwgMCwgezB4MzMsMHgwMCwweDBmLDB4YzEsMHgwMywweDNjLDB4MDAsMHhmZiwweDAwLDB4M2QsMHhjNCwweDRjLDB4YzAsMHgyMywweDhjLDB4ZTQgfX0sCi0gezE2LCAweDk1NTAsIDAsIHsweGZmLDB4MTAsMHgzNywweDIwLDB4MDgsMHhmMSwweDAzLDB4ZjAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5NTYwLCAwLCB7MHg4MCwweDEwLDB4ZmUsMHgwMCwweGJmLDB4ODAsMHgyZSwweDc0LDB4MDUsMHgyMiwweDAyLDB4YTIsMHgxMCwweGRmLDB4NjEsMHgyZiB9fSwKLSB7MTYsIDB4OTU3MCwgMCwgezB4ZDAsMHg4YiwweDkwLDB4MDIsMHgzZCwweGE0LDB4YWEsMHg5MCwweDIyLDB4ZjQsMHgwYiwweDA3LDB4MTIsMHgxZCwweDIwLDB4YmIgfX0sCi0gezE2LCAweDk1ODAsIDAsIHsweGMwLDB4MmYsMHhkOCwweDg4LDB4OTcsMHg4MiwweGZkLDB4ODAsMHhlZiwweDcyLDB4MjIsMHgwOCwweDI4LDB4ZjYsMHgyMywweGUwIH19LAotIHsxNiwgMHg5NTkwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNjLDB4NDAsMHhiMywweDAwLDB4MmMsMHgwMCB9fSwKLSB7MTYsIDB4OTVhMCwgMCwgezB4MDgsMHg4MiwweDAyLDB4MjIsMHgwMCwweDgzLDB4MDEsMHgwOCwweGNjLDB4OGIsMHgyMCwweDgyLDB4Y2MsMHgwMCwweDkwLDB4MDAgfX0sCi0gezE2LCAweDk1YjAsIDAsIHsweDIwLDB4MDAsMHg0YiwweDEyLDB4MDIsMHgwZCwweDgwLDB4YjMsMHg0MCwweDJjLDB4ZDgsMHgwOCwweDIwLDB4NDIsMHg4YywweDgwIH19LAotIHsxNiwgMHg5NWMwLCAwLCB7MHhiMywweDIwLDB4MjYsMHgwMiwweDE4LDB4MzMsMHgyNiwweGUyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTVkMCwgMCwgezB4YzAsMHgxNSwweGFjLDB4MDksMHhiYiwweDAwLDB4MmUsMHg2MCwweDA4LDB4ODAsMHgwMiwweGEyLDB4MDAsMHg5YiwweDAwLDB4MmUgfX0sCi0gezE2LCAweDk1ZTAsIDAsIHsweGMwLDB4MGIsMHhhYywweDAyLDB4MmMsMHgwMCwweGJhLDB4MDYsMHgyMiwweGMyLDB4MGIsMHg5NCwweDAyLDB4YWMsMHgxMCwweGJiIH19LAotIHsxNiwgMHg5NWYwLCAwLCB7MHgwMCwweDJlLDB4YzEsMHgwOCwweGE4LDB4MDIsMHhlYywweDAwLDB4YWIsMHgwMCwweDIyLDB4MDAsMHgwOCwweGIwLDB4MDYsMHhmMCB9fSwKLSB7MTYsIDB4OTYwMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDkwLDB4MTUsMHhlYywweDAwLDB4ZmIsMHgwNCwweDNlLDB4NjAgfX0sCi0gezE2LCAweDk2MTAsIDAsIHsweDI4LDB4ODIsMHgxMywweDBlLDB4MDgsMHhjYiwweDAwLDB4M2EsMHhjMCwweDBmLDB4OGMsMHgwMywweGVjLDB4MTEsMHhkYiwweDIwIH19LAotIHsxNiwgMHg5NjIwLCAwLCB7MHhiMiwweDkwLDB4NGIsMHhhOCwweDBiLDB4MmMsMHgwMCwweGJiLDB4MDAsMHgyYywweGMwLDB4MGMsMHg4OCwweDEzLDB4YWMsMHgwMCB9fSwKLSB7MTYsIDB4OTYzMCwgMCwgezB4ZjMsMHgwMCwweDM2LDB4MDYsMHg0OCwweGIwLDB4MTIsMHhjNCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk2NDAsIDAsIHsweGUwLDB4MDEsMHhiYywweDAwLDB4ZmIsMHgwOCwweDNkLDB4NDAsMHg4ZiwweGVhLDB4MDEsMHhmNCwweDAwLDB4ZmYsMHgwMSwweDJmIH19LAotIHsxNiwgMHg5NjUwLCAwLCB7MHhjMCwweDBmLDB4ZDAsMHgyMiwweGZjLDB4MDQsMHhhZiwweDAwLDB4M2YsMHhjMCwweDhmLDB4ZTksMHgwMywweDdjLDB4MDAsMHhmZiB9fSwKLSB7MTYsIDB4OTY2MCwgMCwgezB4MDAsMHgzZiwweGMwLDB4MGYsMHg5MCwweDQzLDB4ZmMsMHgyMCwweGVmLDB4MDIsMHgzZiwweDAwLDB4OGYsMHhmMCwweDAzLDB4YjggfX0sCi0gezE2LCAweDk2NzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg1MCwweDEwLDB4YWMsMHgwOCwweGViLDB4MDAsMHgxMiwweDQwIH19LAotIHsxNiwgMHg5NjgwLCAwLCB7MHgwZiwweDkwLDB4MDMsMHgyOCwweDIwLDB4YWIsMHgwMCwweDNhLDB4YzAsMHg4ZiwweDg1LDB4ODMsMHhhYywweDEwLDB4ZjMsMHg1MCB9fSwKLSB7MTYsIDB4OTY5MCwgMCwgezB4MzIsMHg5MCwweDRjLDB4MzQsMHgxMywweDZjLDB4MDAsMHhmYiwweDAwLDB4M2UsMHhjMCwweDBjLDB4OTgsMHgwMywweDJjLDB4NDAgfX0sCi0gezE2LCAweDk2YTAsIDAsIHsweGViLDB4ODAsMHgzMiwweDEyLDB4MGQsMHhiMCwweDBiLDB4NTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5NmIwLCAwLCB7MHg4OCwweDAxLDB4M2MsMHgxMCwweDBmLDB4MDUsMHhhMiwweDUwLDB4MGMsMHgxMCwweDAyLDB4MjIsMHgxMCwweDhmLDB4MDAsMHgyMyB9fSwKLSB7MTYsIDB4OTZjMCwgMCwgezB4YzAsMHgwYiwweDg4LDB4MTIsMHgzYywweDAwLDB4OWIsMHg4MiwweDIyLDB4YzAsMHgwOCwweGIwLDB4MDIsMHgzYywweDAwLDB4OGYgfX0sCi0gezE2LCAweDk2ZDAsIDAsIHsweGEwLDB4MmYsMHhjMCwweDA4LDB4YjAsMHgwMiwweDNjLDB4MDgsMHg4ZiwweDAyLDB4MjAsMHgwMCwweDA4LDB4ZjAsMHgwMywweDI2IH19LAotIHsxNiwgMHg5NmUwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRkLDB4MjAsMHg5MywweDAwLDB4MjAsMHhiMiB9fSwKLSB7MTYsIDB4OTZmMCwgMCwgezB4MGIsMHgxMCwweDAyLDB4MDEsMHgwMCwweGEzLDB4MDAsMHg2OCwweGMwLDB4MGIsMHg4NCwweDAyLDB4YWMsMHgwMCwweGIzLDB4ODAgfX0sCi0gezE2LCAweDk3MDAsIDAsIHsweDIwLDB4NDAsMHgwYSwweDMwLDB4MDIsMHg0YywweDAwLDB4YTMsMHgwNCwweDJjLDB4YzAsMHgwOCwweDAwLDB4MDIsMHgwZCwweDAwIH19LAotIHsxNiwgMHg5NzEwLCAwLCB7MHhhMywweDAwLDB4MjAsMHgyNCwweDA4LDB4MzAsMHgwMiwweDM4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTcyMCwgMCwgezB4NzAsMHgwMSwweDFjLDB4MjAsMHg5NywweDgwLDB4MjMsMHg2MCwweDA4LDB4NzgsMHgxMiwweDNhLDB4MDAsMHg4MywweDkxLDB4MjkgfX0sCi0gezE2LCAweDk3MzAsIDAsIHsweGU0LDB4MGIsMHg1OSwweDAyLDB4MWUsMHgwMCwweDk3LDB4OTAsMHgyMCwweGZjLDB4MGEsMHg3OCwweDAyLDB4MWUsMHgwMCwweDg3IH19LAotIHsxNiwgMHg5NzQwLCAwLCB7MHg5MCwweDJkLDB4ZTAsMHgxOSwweDU5LDB4MDIsMHgxZSwweDgwLDB4ODMsMHg4MCwweDYxLDB4YTAsMHgwOCwweDc4LDB4MDIsMHgxOCB9fSwKLSB7MTYsIDB4OTc1MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDQwLDB4ZDMsMHgzMiwweDMwLDB4MDYgfX0sCi0gezE2LCAweDk3NjAsIDAsIHsweDBmLDB4MzAsMHgwMywweDA0LDB4NjQsMHhlMywweDAxLDB4MzgsMHhjNCwweDFmLDB4MzAsMHgwNywweDhjLDB4MTgsMHhmMSwweDAwIH19LAotIHsxNiwgMHg5NzcwLCAwLCB7MHgzMCwweDRjLDB4MGUsMHgzMCwweDAzLDB4NGMsMHgwMCwweGUzLDB4MDAsMHgyYywweGMwLDB4MGMsMHgyMCwweDAzLDB4MGUsMHgwMCB9fSwKLSB7MTYsIDB4OTc4MCwgMCwgezB4ZTMsMHgwMCwweDMyLDB4MDgsMHgwYywweGIxLDB4MDMsMHgxMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk3OTAsIDAsIHsweDQwLDB4MWQsMHg5YywweDgwLDB4ZWYsMHgxMCwweDNkLDB4NDQsMHg0ZiwweGYxLDB4MDcsMHhjYywweDAwLDB4ZmYsMHgwOCwweDM2IH19LAotIHsxNiwgMHg5N2EwLCAwLCB7MHhjNiwweGNmLDB4YjAsMHgwMywweGZjLDB4MDAsMHg5NywweDAwLDB4YmUsMHhjYywweDBkLDB4YjEsMHgwMywweGZkLDB4MDQsMHhmZiB9fSwKLSB7MTYsIDB4OTdiMCwgMCwgezB4MGMsMHgzZiwweGQyLDB4OWUsMHhlMCwweDRiLDB4ZmQsMHgyMCwweGZmLDB4MDIsMHgzZiwweDgwLDB4MGUsMHhmMCwweDEzLDB4ZDAgfX0sCi0gezE2LCAweDk3YzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4ZWMsMHhjMCwweGNiLDB4MjgsMHgzZSwweGMwIH19LAotIHsxNiwgMHg5N2QwLCAwLCB7MHgwZiwweDgwLDB4MDMsMHhlYywweDAwLDB4ZmIsMHgwMSwweDMyLDB4ZTksMHgwYywweDI4LDB4MDMsMHgyYywweDAwLDB4ZmIsMHgwMCB9fSwKLSB7MTYsIDB4OTdlMCwgMCwgezB4MzIsMHhjMCwweDBjLDB4YjQsMHg4MywweDJjLDB4MDEsMHhlZiwweDAwLDB4YjIsMHhjOCwweDBjLDB4MjAsMHgwMywweDZkLDB4MDAgfX0sCi0gezE2LCAweDk3ZjAsIDAsIHsweGNiLDB4MTAsMHgzZSwweDAwLDB4MGYsMHhiMiwweDAzLDB4ZWEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5ODAwLCAwLCB7MHhjOCwweDkxLDB4OWMsMHhjNCwweDg3LDB4NjAsMHgyZCwweGMwLDB4MGIsMHg2MCwweDAyLDB4ZGMsMHgwMCwweGI3LDB4MTIsMHgyMCB9fSwKLSB7MTYsIDB4OTgxMCwgMCwgezB4Y2MsMHgwYSwweDcwLDB4MDIsMHgxYywweGMwLDB4YjMsMHgwMCwweGEwLDB4YzAsMHhjOCwweDcwLDB4MjIsMHgxYywweDgwLDB4YjcgfX0sCi0gezE2LCAweDk4MjAsIDAsIHsweDI0LDB4MjEsMHhjOCwweDQ4LDB4NTAsMHgwMiwweDBjLDB4ODAsMHg4NywweDEwLDB4MmQsMHg0MCwweDBiLDB4NzIsMHg4MiwweGYyIH19LAotIHsxNiwgMHg5ODMwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODEsMHgwMCwweDhlLDB4MDIsMHg4NywweDgwLDB4MmQsMHhlMCB9fSwKLSB7MTYsIDB4OTg0MCwgMCwgezB4MGIsMHg3OCwweDEyLDB4ZGUsMHgwMCwweGI3LDB4YTAsMHgyMSwweGUwLDB4MDgsMHhmOCwweDhlLDB4MWUsMHg0MCwweGI3LDB4ODggfX0sCi0gezE2LCAweDk4NTAsIDAsIHsweDIxLDB4ZTAsMHgwOCwweDM4LDB4MDIsMHgxZSwweDQwLDB4YjMsMHhhMSwweDIwLDB4ZTgsMHg0OCwweGY4LDB4ODIsMHg1ZSwweDAyIH19LAotIHsxNiwgMHg5ODYwLCAwLCB7MHg4NywweDgwLDB4MmQsMHgyMiwweDBiLDB4NzksMHgwMiwweGUwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTg3MCwgMCwgezB4MDgsMHgwNCwweGNjLDB4MDQsMHg4MywweDAyLDB4MmMsMHhkNCwweDBiLDB4MzAsMHgwMiwweGNjLDB4MDAsMHhiMywweDAwLDB4YTAgfX0sCi0gezE2LCAweDk4ODAsIDAsIHsweGMwLDB4OGEsMHgzOCwweDA2LDB4MGMsMHgwMCwweGIzLDB4ODAsMHgyMCwweGUxLDB4NDgsMHgzOSwweDEyLDB4MmMsMHgwMCwweGIzIH19LAotIHsxNiwgMHg5ODkwLCAwLCB7MHgwMCwweDIyLDB4YzAsMHgwOCwweGIwLDB4ODIsMHg2YywweDAwLDB4ODMsMHgwMCwweDJjLDB4NDgsMHgwYiwweDMwLDB4MDIsMHhjMiB9fSwKLSB7MTYsIDB4OThhMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MDUsMHhhOCwweDAwLDB4Y2EsMHgwMCwweDNmLDB4YTAgfX0sCi0gezE2LCAweDk4YjAsIDAsIHsweDBmLDB4ZTQsMHgwMywweGQ4LDB4MDAsMHhmYSwweDAwLDB4MzIsMHg4MCwweDBjLDB4ZTgsMHgwMywweDI4LDB4MDAsMHhmYSwweDQwIH19LAotIHsxNiwgMHg5OGMwLCAwLCB7MHgzMiwweGE4LDB4MmMsMHhhMCwweDA5LDB4MjgsMHgwOCwweGYyLDB4MDAsMHgzMiwweDgwLDB4MGMsMHhlNCwweDAzLDB4NjgsMHgwMCB9fSwKLSB7MTYsIDB4OThkMCwgMCwgezB4Y2EsMHgwMCwweDNmLDB4ODAsMHgwZiwweGEwLDB4MDMsMHhmYiwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk4ZTAsIDAsIHsweDQ4LDB4MDAsMHhjMCwweDAwLDB4ZjgsMHgwMSwweDNlLDB4MTIsMHgwYiwweDgwLDB4MDMsMHhlMCwweDQwLDB4ZjgsMHgwMCwweDNlIH19LAotIHsxNiwgMHg5OGYwLCAwLCB7MHgwMCwweDRmLDB4ODQsMHgwMywweGUwLDB4MDQsMHhmMCwweDA4LDB4M2UsMHgwMCwweDRmLDB4MDAsMHgwMywweGUwLDB4MDAsMHhmOCB9fSwKLSB7MTYsIDB4OTkwMCwgMCwgezB4NDEsMHgzZSwweDAwLDB4MmYsMHg4NCwweDAzLDB4YTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZDIgfX0sCi0gezE2LCAweDk5MTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4ZTYsMHgwMCwweGM5LDB4MTIsMHgzZSwweDUwIH19LAotIHsxNiwgMHg5OTIwLCAwLCB7MHg4ZiwweDkwLDB4ODMsMHhlNCwweDIwLDB4YzEsMHgwMCwweDNhLDB4NDEsMHgwZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCB9fSwKLSB7MTYsIDB4OTkzMCwgMCwgezB4MzAsMHg2OCwweDBjLDB4OTAsMHgwMywweDI0LDB4MDAsMHhkOSwweDAwLDB4M2EsMHg0MCwweDBlLDB4OTgsMHgwMywweDI0LDB4MDAgfX0sCi0gezE2LCAweDk5NDAsIDAsIHsweGM5LDB4OTAsMHgzZSwweDY5LDB4MGMsMHgxMCwweDAzLDB4MDIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5OTUwLCAwLCB7MHg4MCwweDA0LDB4NjcsMHg0YSwweDg5LDB4ODAsMHgyZSwweDUwLDB4MGIsMHg5MCwweDAyLDB4ZTQsMHg4MCwweGE5LDB4MDAsMHgyMiB9fSwKLSB7MTYsIDB4OTk2MCwgMCwgezB4NDAsMHgwYiwweDkwLDB4MDIsMHhlNCwweDAwLDB4YjksMHgwMSwweDIyLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgyNCwweDEwLDB4ODkgfX0sCi0gezE2LCAweDk5NzAsIDAsIHsweDAwLDB4MjIsMHg0MCwweDA4LDB4OTMsMHgwMiwweDI0LDB4MjIsMHg4OSwweDQyLDB4MmMsMHg2MCwweDQ4LDB4OTAsMHgwMiwweDIwIH19LAotIHsxNiwgMHg5OTgwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxNSwweDI0LDB4MDAsMHg5OSwweDAwLDB4MmUsMHg0MCB9fSwKLSB7MTYsIDB4OTk5MCwgMCwgezB4MGIsMHg5MCwweDAyLDB4ZTQsMHgwMCwweDg5LDB4MDAsMHgyYSwweDQwLDB4MGIsMHg5MCwweDAyLDB4ZTQsMHgwMCwweGI5LDB4MDAgfX0sCi0gezE2LCAweDk5YTAsIDAsIHsweDIzLDB4NDAsMHgwOCwweGQwLDB4MDIsMHgyNCwweDAwLDB4OTksMHgwMCwweDJhLDB4NDAsMHgwYSwweDkwLDB4MDYsMHgyNCwweDQwIH19LAotIHsxNiwgMHg5OWIwLCAwLCB7MHg4OSwweDQxLDB4MmUsMHg0MCwweDA4LDB4OTAsMHgwMiwweDA2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTljMCwgMCwgezB4MDgsMHgwNCwweDBjLDB4ODAsMHg5MSwweDIwLDB4MmMsMHg0OCwweDBiLDB4MTAsMHgwMiwweGM0LDB4MDAsMHhhMSwweDIwLDB4MjAgfX0sCi0gezE2LCAweDk5ZDAsIDAsIHsweDQ4LDB4MGIsMHgxMCwweDAyLDB4YzQsMHg4MCwweGIxLDB4MjAsMHhhMSwweDQ5LDB4MDgsMHg1MiwweDRhLDB4MDQsMHg4MCwweDgxIH19LAotIHsxNiwgMHg5OWUwLCAwLCB7MHgwMCwweDIwLDB4NDgsMHg0OCwweDEyLDB4MGEsMHgwNCwweDgwLDB4ODEsMHgyMCwweDJjLDB4NDAsMHgyOCwweDEyLDB4MDIsMHgwMiB9fSwKLSB7MTYsIDB4OTlmMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDA4LDB4ZDgsMHgwNCwweDNlLDB4ODAgfX0sCi0gezE2LCAweDlhMDAsIDAsIHsweDBmLDB4ODUsMHgwMywweGUwLDB4MDAsMHhjMCwweDUwLDB4M2EsMHgxNCwweDBmLDB4YTUsMHgwMywweGUxLDB4NDAsMHhmOCwweDAyIH19LAotIHsxNiwgMHg5YTEwLCAwLCB7MHgzMiwweDgwLDB4MmMsMHhjNSwweDAzLDB4MjEsMHg0MCwweGRhLDB4MDAsMHgzYSwweDE0LDB4MGUsMHg4NSwweDQzLDB4MjEsMHg0MCB9fSwKLSB7MTYsIDB4OWEyMCwgMCwgezB4YzgsMHg1MiwweDNlLDB4MTQsMHgwYywweDg1LDB4MGIsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDlhMzAsIDAsIHsweDg4LDB4MWQsMHhlNCwweDQ0LDB4ZTksMHgxMCwweDNmLDB4NDQsMHg0ZiwweGQwLDB4MDIsMHhmYywweDAwLDB4ZjksMHgxMiwweDNlIH19LAotIHsxNiwgMHg5YTQwLCAwLCB7MHg0NCwweDBmLDB4ZDAsMHgwMywweGU0LDB4NDAsMHhmZCwweDEwLDB4M2UsMHg0NCwweDRmLDB4OTEsMHgwMywweGU0LDB4NDAsMHhlOSB9fSwKLSB7MTYsIDB4OWE1MCwgMCwgezB4NDAsMHgzZSwweDQ0LDB4MGYsMHhkMSwweDAzLDB4ZTQsMHg0MCwweGY5LDB4MTIsMHgzZiwweDQwLDB4MGYsMHg5MSwweDAzLDB4ZTYgfX0sCi0gezE2LCAweDlhNjAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4ZjYsMHhhMCwweGZkLDB4ODAsMHhiMywweDQwIH19LAotIHsxNiwgMHg5YTcwLCAwLCB7MHgwYywweDEwLDB4MDMsMHgxNCwweDAwLDB4ZmQsMHhhMCwweDMyLDB4NDAsMHgwZiwweGQxLDB4MDMsMHhlNCwweDAwLDB4ZjUsMHg4NiB9fSwKLSB7MTYsIDB4OWE4MCwgMCwgezB4MzMsMHg2MCwweDJjLDB4OWEsMHg4MywweDI0LDB4MDQsMHhmZCwweGE4LDB4MjIsMHg0MCwweDBkLDB4NTAsMHg0MywweGY0LDB4MDAgfX0sCi0gezE2LCAweDlhOTAsIDAsIHsweGZkLDB4MDAsMHgzMywweDQwLDB4MGYsMHg5MCwweDAzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5YWEwLCAwLCB7MHg3OCwweDEwLDB4ZTEsMHgwMCwweGI4LDB4MDAsMHgyMiwweDAwLDB4MjgsMHg4MCwweDAyLDB4MjAsMHgwMCwweGI4LDB4MDAsMHhhMiB9fSwKLSB7MTYsIDB4OWFiMCwgMCwgezB4MDAsMHgwYiwweDhhLDB4MTIsMHhlMCwweDAwLDB4YjgsMHgwNCwweDIyLDB4MTQsMHgwOCwweDg0LDB4MDIsMHgyMCwweDAwLDB4YjggfX0sCi0gezE2LCAweDlhYzAsIDAsIHsweDQwLDB4MjAsMHgwMCwweDg4LDB4ODAsMHgwMiwweGUwLDB4MDAsMHhiOCwweDAwLDB4YTIsMHgwMCwweDBiLDB4ODAsMHgwMiwweDBlIH19LAotIHsxNiwgMHg5YWQwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwNSwweGM0LDB4MDAsMHhiMSwweDQyLDB4MjAsMHg0MCB9fSwKLSB7MTYsIDB4OWFlMCwgMCwgezB4MDgsMHgxMCwweDAyLDB4MDQsMHgwMCwweGIxLDB4NDAsMHgyMCwweDQwLDB4MGIsMHgxMCwweDA2LDB4YzQsMHgwMCwweGIxLDB4NDAgfX0sCi0gezE2LCAweDlhZjAsIDAsIHsweDI0LDB4NDAsMHgwOCwweDEwLDB4MDIsMHg0NCwweDA0LDB4YjEsMHgwMCwweDYwLDB4NDAsMHgwOSwweDEwLDB4MDIsMHhjNCwweDAwIH19LAotIHsxNiwgMHg5YjAwLCAwLCB7MHhiMSwweDAwLDB4MjAsMHg0MCwweDBiLDB4MTAsMHgwMiwweDEyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWIxMCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MDAsMHhiOSwweDAyLDB4MjIsMHg2MCwweDA4LDB4OTQsMHgwMiwweDI0LDB4MDAsMHhiOSwweDAxLDB4MjIgfX0sCi0gezE2LCAweDliMjAsIDAsIHsweDQwLDB4MGIsMHg5MCwweDA2LDB4ZTQsMHgwMCwweGI5LDB4MjAsMHgyNiwweDQwLDB4MDgsMHg5NCwweDAyLDB4NjQsMHgwOCwweGI5IH19LAotIHsxNiwgMHg5YjMwLCAwLCB7MHgwMCwweDIyLDB4NDAsMHgwOCwweDkyLDB4MDIsMHhlYywweDA4LDB4YjksMHgwNCwweDIyLDB4NDEsMHgwYiwweDEwLDB4MDIsMHgwNiB9fSwKLSB7MTYsIDB4OWI0MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNCwweDEwLDB4ZjEsMHgwMCwweDMyLDB4NjAgfX0sCi0gezE2LCAweDliNTAsIDAsIHsweDBjLDB4OTQsMHgwYiwweDI1LDB4MDAsMHhmOSwweDAwLDB4MzIsMHg0MCwweDhmLDB4OTQsMHhkMywweGU0LDB4MDAsMHhmOSwweDAwIH19LAotIHsxNiwgMHg5YjYwLCAwLCB7MHgzNiwweDQwLDB4NGMsMHg5MCwweDBiLDB4NjQsMHgwMCwweGYxLDB4MDAsMHgzMiwweDQwLDB4MGQsMHg5MiwweDEyLDB4ZTQsMHgwMCB9fSwKLSB7MTYsIDB4OWI3MCwgMCwgezB4ZjksMHgwMCwweDMyLDB4NDAsMHgwZiwweDkwLDB4MGIsMHgyOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDliODAsIDAsIHsweDY4LDB4NDEsMHhhNCwweDAwLDB4ZjksMHgwMCwweDNjLDB4NDAsMHg4ZiwweDkyLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNlIH19LAotIHsxNiwgMHg5YjkwLCAwLCB7MHg0MCwweDBmLDB4OWMsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4YmEsMHg0MCwweDJmLDB4OTAsMHgyMywweGE0LDB4MDAsMHhmOSB9fSwKLSB7MTYsIDB4OWJhMCwgMCwgezB4MDgsMHhiZSwweDQwLDB4Y2YsMHg5MCwweDAzLDB4ZTQsMHgxMCwweGYxLDB4MDEsMHgzZSwweDQxLDB4MGYsMHg5MCwweDAzLDB4ZGEgfX0sCi0gezE2LCAweDliYjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHhjOCwweGY4LDB4MDAsMHgzZSwweDAzIH19LAotIHsxNiwgMHg5YmMwLCAwLCB7MHgwYywweDg0LDB4MDMsMHhhMSwweDEwLDB4ZTgsMHgwMCwweDMyLDB4MDAsMHg4YywweDg1LDB4ODMsMHhlMCwweDAwLDB4YzAsMHgwMCB9fSwKLSB7MTYsIDB4OWJkMCwgMCwgezB4MzgsMHgwYywweDJjLDB4MDAsMHgwMywweDYwLDB4MDAsMHhjOCwweDAwLDB4M2MsMHgwMCwweDBkLDB4ODAsMHgwMiwweDIwLDB4MTAgfX0sCi0gezE2LCAweDliZTAsIDAsIHsweGM4LDB4MjAsMHhiMiwweDAyLDB4MGYsMHg4MCwweDAzLDB4Y2EsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5YmYwLCAwLCB7MHgyOCwweDA1LDB4MzksMHgxMCwweGJlLDB4MDQsMHg2ZiwweGEwLDB4MDgsMHhhMCwweDAyLDB4M2EsMHgwMCwweDgyLDB4MDAsMHhhMiB9fSwKLSB7MTYsIDB4OWMwMCwgMCwgezB4ODAsMHg4ZCwweGVjLDB4MDMsMHhhOCwweDAwLDB4OGEsMHgwMCwweDIzLDB4ODAsMHgwOCwweGEwLDB4MjIsMHgyOCwweDAwLDB4OGUgfX0sCi0gezE2LCAweDljMTAsIDAsIHsweGNjLDB4MmYsMHg4MCwweDA4LDB4ZTgsMHhjMiwweGI4LDB4MDAsMHg4ZSwweDYwLDB4MjMsMHg5MCwweDBiLDB4YTAsMHgwMiwweGNhIH19LAotIHsxNiwgMHg5YzIwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRlLDB4MDgsMHhiMCwweDcyLDB4MmMsMHhkMCB9fSwKLSB7MTYsIDB4OWMzMCwgMCwgezB4MjgsMHhiMCwweDA2LDB4OGMsMHgwMSwweGExLDB4MDIsMHgyMCwweGMwLDB4MDgsMHgzOCwweDAyLDB4Y2MsMHgwMCwweDgzLDB4MDAgfX0sCi0gezE2LCAweDljNDAsIDAsIHsweDIwLDB4YzAsMHgyOSwweDMwLDB4MDIsMHg0YywweDAwLDB4ODEsMHgwMCwweDJjLDB4YzAsMHgwOCwweDMyLDB4MDIsMHgwYywweDQwIH19LAotIHsxNiwgMHg5YzUwLCAwLCB7MHg4MywweDAwLDB4MjAsMHhmNCwweDBiLDB4MzAsMHgwMiwweGNhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWM2MCwgMCwgezB4YTAsMHgwMSwweDFjLDB4MDAsMHhiNCwweDAwLDB4MmQsMHhkMCwweDQ4LDB4ZjIsMHgwMiwweDFlLDB4MjEsMHg4NSwweDIwLDB4MjAgfX0sCi0gezE2LCAweDljNzAsIDAsIHsweGU4LDB4MDksMHg3MiwweDAyLDB4OGUsMHg4MCwweDhmLDB4MDEsMHgyMCwweGMwLDB4MDksMHg3MiwweDAyLDB4MGUsMHg4MCwweDg3IH19LAotIHsxNiwgMHg5YzgwLCAwLCB7MHgwMCwweDJkLDB4Y2MsMHgxOCwweDU4LDB4MDIsMHg4ZSwweDAwLDB4ODUsMHgwMCwweDIxLDB4YzAsMHgwYiwweDcyLDB4MDIsMHhlOCB9fSwKLSB7MTYsIDB4OWM5MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZSwweDAwLDB4YjQsMHg4MCwweDJkLDB4ZTAgfX0sCi0gezE2LCAweDljYTAsIDAsIHsweDBjLDB4NzgsMHg4MywweDlhLDB4MDAsMHhlZCwweGQwLDB4MzEsMHhmNCwweDBjLDB4NmEsMHgwMywweGRlLDB4ODIsMHhjNywweDgwIH19LAotIHsxNiwgMHg5Y2IwLCAwLCB7MHgzOSwweGUwLDB4MGQsMHhmOCwweDgzLDB4NWUsMHhjMiwweGM1LDB4ODAsMHgzZCwweGU4LDB4MGMsMHg2OCwweDAzLDB4MTIsMHgwMCB9fSwKLSB7MTYsIDB4OWNjMCwgMCwgezB4Y2YsMHg4MCwweDMxLDB4ZTAsMHgwZiwweDdlLDB4ODMsMHhlYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDljZDAsIDAsIHsweDA4LDB4MGQsMHhhYywweDA4LDB4ZjgsMHgwMCwweDNjLDB4YzAsMHgwZiwweGIzLDB4MDMsMHhlYywweDAwLDB4ZjksMHgwMiwweDNlIH19LAotIHsxNiwgMHg5Y2UwLCAwLCB7MHhjOCwweDBmLDB4YjAsMHgwMywweGVkLDB4NDAsMHhmYiwweDAwLDB4YmUsMHg4MCwweDBlLDB4YjMsMHgwMywweGVkLDB4YzAsMHhmYiB9fSwKLSB7MTYsIDB4OWNmMCwgMCwgezB4MDAsMHgzZSwweGQyLDB4MmUsMHg4MCwweDAzLDB4ZWMsMHgwMiwweGY5LDB4MDAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4YzIgfX0sCi0gezE2LCAweDlkMDAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmUsMHgwMCwweGYwLDB4OTEsMHgzMywweGUwIH19LAotIHsxNiwgMHg5ZDEwLCAwLCB7MHg4ZiwweGY4LDB4MDMsMHhmZSwweDAwLDB4ZmQsMHg4MCwweDNmLDB4ZTAsMHgwYywweDc4LDB4ODMsMHgzZiwweDAwLDB4Y2YsMHg4MCB9fSwKLSB7MTYsIDB4OWQyMCwgMCwgezB4M2YsMHhhMCwweDBjLDB4ZjgsMHgwMywweDNlLDB4MDAsMHhjZCwweDgwLDB4M2YsMHhlMCwweDBmLDB4ZjgsMHgxMywweGZlLDB4MTAgfX0sCi0gezE2LCAweDlkMzAsIDAsIHsweGZmLDB4ODAsMHgzZiwweDIwLDB4MGYsMHhmOSwweDQzLDB4ZDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5ZDQwLCAwLCB7MHhhOCwweDExLDB4OWMsMHgwMCwweGI0LDB4YzEsMHgzMSwweGMwLDB4MGIsMHg3MCwweDAyLDB4ZDQsMHgxMCwweGU1LDB4MjAsMHgyZiB9fSwKLSB7MTYsIDB4OWQ1MCwgMCwgezB4YzgsMHgwZiwweDQwLDB4MDMsMHg1YywweDAwLDB4ODcsMHgwMCwweDJkLDB4ODAsMHgwOCwweDcwLDB4MDIsMHgxYywweDQwLDB4ODcgfX0sCi0gezE2LCAweDlkNjAsIDAsIHsweDEwLDB4MmQsMHhjMCwweDBiLDB4NzYsMHgwMiwweGRjLDB4ODAsMHhiNywweDAwLDB4MmQsMHhjMCwweDBiLDB4NzAsMHgwMiwweGVhIH19LAotIHsxNiwgMHg5ZDcwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHgwMCwweDljLDB4MDAsMHhiNiwweDIyLDB4MjEsMHhkMCB9fSwKLSB7MTYsIDB4OWQ4MCwgMCwgezB4MGIsMHg3MCwweDgyLDB4ZDgsMHg0MCwweGI1LDB4MDIsMHgyZCwweGMwLDB4ODgsMHg2NSwweDAyLDB4MGMsMHgwMCwweDg3LDB4MTggfX0sCi0gezE2LCAweDlkOTAsIDAsIHsweDJjLDB4MDQsMHgwOCwweDMwLDB4MDIsMHg4YywweDAyLDB4ODUsMHgwMCwweDJkLDB4YzAsMHgwYiwweDcwLDB4NDYsMHg5MCwweDEwIH19LAotIHsxNiwgMHg5ZGEwLCAwLCB7MHhiNiwweDAwLDB4MmQsMHgwMCwweDBiLDB4NzAsMHgyMiwweGM0LDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWRiMCwgMCwgezB4NjAsMHgxNCwweGNjLDB4MDgsMHhiMiwweDAwLDB4YTQsMHhjMCwweDBiLDB4MzAsMHg0MiwweGM2LDB4MTAsMHhhMSwweDAwLDB4MmMgfX0sCi0gezE2LCAweDlkYzAsIDAsIHsweGMwLDB4MGEsMHgwMCwweDAyLDB4NGMsMHgwMCwweDgzLDB4MDAsMHgyYywweDA4LDB4MDgsMHgzMCwweDAyLDB4OGMsMHgwMCwweDgzIH19LAotIHsxNiwgMHg5ZGQwLCAwLCB7MHgwMCwweDJjLDB4YzAsMHgwYiwweDE4LDB4ODIsMHhjNCwweDAwLDB4YjAsMHgwMCwweDJjLDB4NDAsMHgwYiwweDMwLDB4MTIsMHhkOCB9fSwKLSB7MTYsIDB4OWRlMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGY4LDB4MTUsMHhhYywweDAwLDB4MzgsMHgwMCwweDMyLDB4NTAgfX0sCi0gezE2LCAweDlkZjAsIDAsIHsweDBmLDB4ZjAsMHgwMywweGU2LDB4MjAsMHhmZCwweDAwLDB4M2YsMHhjMCwweDA4LDB4ZDAsMHgwMiwweDNjLDB4MDIsMHhjYiwweDgwIH19LAotIHsxNiwgMHg5ZTAwLCAwLCB7MHgzYywweDUwLDB4MmMsMHhmMCwweDBhLDB4YmMsMHgwMCwweGM5LDB4MDAsMHgzZiwweGMwLDB4MGYsMHhiZSwweDAzLDB4YWMsMHgwMCB9fSwKLSB7MTYsIDB4OWUxMCwgMCwgezB4ZmEsMHgwMiwweDJlLDB4ZjcsMHg0ZiwweGYwLDB4MDMsMHhlZSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDllMjAsIDAsIHsweDgwLDB4MDAsMHhlYywweDAwLDB4ZjEsMHgwMCwweDNhLDB4ZjAsMHgwZiwweGIwLDB4MDMsMHhlOSwweDAwLDB4ZjksMHgwMSwweDNlIH19LAotIHsxNiwgMHg5ZTMwLCAwLCB7MHhjMCwweDBmLDB4OTAsMHgxMywweGVjLDB4MDAsMHhmOSwweDAwLDB4M2UsMHg1NSwweDBmLDB4YjAsMHgwMSwweDZjLDB4MDAsMHhmYiB9fSwKLSB7MTYsIDB4OWU0MCwgMCwgezB4MDIsMHgzZSwweGMwLDB4MGYsMHg5MCwweDczLDB4ZTAsMHgwMCwweGY4LDB4NDEsMHgzZSwweDAwLDB4MGYsMHgzMCwweDAxLDB4ZTAgfX0sCi0gezE2LCAweDllNTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4ZmMsMHgwMCwweGZjLDB4MDAsMHgzMywweGMwIH19LAotIHsxNiwgMHg5ZTYwLCAwLCB7MHgxZiwweGYwLDB4MTMsMHhmMCwweDA4LDB4ZmQsMHgwMiwweDNmLDB4YzAsMHg4ZCwweGMwLDB4MDMsMHgzYywweDAwLDB4Y2YsMHhhMCB9fSwKLSB7MTYsIDB4OWU3MCwgMCwgezB4M2YsMHg4MCwweDBjLDB4NzAsMHgwMywweDNjLDB4MTAsMHhmYywweDAwLDB4MzcsMHhjMCwweDBmLDB4ZTAsMHgwMywweGIwLDB4MDAgfX0sCi0gezE2LCAweDllODAsIDAsIHsweGZlLDB4MDAsMHgzZiwweGMwLDB4MGMsMHhmMCwweDAzLDB4MDQsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5ZTkwLCAwLCB7MHg4NCwweDA0LDB4NmUsMHgwMCwweGI5LDB4YzIsMHhhMiwweGYwLDB4MGIsMHhiMCwweDQyLDB4ZWIsMHgwMCwweGI5LDB4MDAsMHgyZSB9fSwKLSB7MTYsIDB4OWVhMCwgMCwgezB4YzAsMHgwZiwweDE4LDB4MDMsMHg2YywweDAwLDB4ZDksMHg4MSwweDJlLDB4YjAsMHgwYSwweGIwLDB4NDIsMHgyYywweDAwLDB4YmEgfX0sCi0gezE2LCAweDllYjAsIDAsIHsweGM2LDB4MmUsMHhjMCwweDBiLDB4OGMsMHgwMiwweGUzLDB4MDAsMHhiOCwweGMwLDB4M2MsMHhhMCwweDBkLDB4YjAsMHgwMiwweDIwIH19LAotIHsxNiwgMHg5ZWMwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJmLDB4MDAsMHhiOCwweDgwLDB4MjIsMHhlMiB9fSwKLSB7MTYsIDB4OWVkMCwgMCwgezB4MGIsMHhiMCwweDAyLDB4ZTYsMHgyMCwweGI5LDB4MDAsMHgyYywweGMwLDB4MDgsMHhiOCwweDAyLDB4MGMsMHgwMCwweDhiLDB4MDAgfX0sCi0gezE2LCAweDllZTAsIDAsIHsweDJlLDB4MzAsMHg0OCwweGIwLDB4MDIsMHgyYywweDAwLDB4YjksMHhjMCwweDJlLDB4YzEsMHgwYiwweDg4LDB4MDIsMHhlZSwweDEwIH19LAotIHsxNiwgMHg5ZWYwLCAwLCB7MHhiOSwweGMwLDB4MmUsMHgyMCwweDE5LDB4YjAsMHgwMiwweDIwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWYwMCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDAsMHhiMCwweDAwLDB4MjAsMHhjMCwweDBiLDB4MzAsMHgwNiwweGMwLDB4MDAsMHg5MSwweDAwLDB4MmMgfX0sCi0gezE2LCAweDlmMTAsIDAsIHsweGMwLDB4NDksMHg4MCwweDAyLDB4NGMsMHgwNCwweDkxLDB4MDAsMHgyYywweDAwLDB4OGEsMHgzMCwweDBhLDB4MGMsMHgwNCwweGIxIH19LAotIHsxNiwgMHg5ZjIwLCAwLCB7MHgwMCwweDJjLDB4YzAsMHgxYiwweDAwLDB4MTIsMHg0OSwweDEwLDB4YjEsMHgwMCwweDJlLDB4MjAsMHgwOSwweDMwLDB4MDIsMHgwMiB9fSwKLSB7MTYsIDB4OWYzMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2YywweDAwLDB4YjgsMHgyMCwweDIyLDB4YzAgfX0sCi0gezE2LCAweDlmNDAsIDAsIHsweDhiLDB4ZjAsMHgwMywweGUwLDB4MDgsMHhmZCwweDAwLDB4M2YsMHhjMCwweDBjLDB4YTAsMHgwMywweDNjLDB4MDAsMHhjYiwweDAwIH19LAotIHsxNiwgMHg5ZjUwLCAwLCB7MHgzZSwweDAwLDB4NGMsMHhmMCwweDBhLDB4M2MsMHgwMCwweGI5LDB4MDAsMHgzNywweGMxLDB4MGYsMHhhMCwweDAzLDB4ZTAsMHgwMCB9fSwKLSB7MTYsIDB4OWY2MCwgMCwgezB4ZmEsMHgwMCwweDNlLDB4MDAsMHgwZCwweGYwLDB4MGIsMHgwMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDlmNzAsIDAsIHsweGEwLDB4MWQsMHhmMCwweDAxLDB4ZmMsMHg0MCwweDNmLDB4ODAsMHg0ZiwweGYwLDB4MDIsMHhmMCwweDAwLDB4ZmQsMHgwMCwweDNmIH19LAotIHsxNiwgMHg5ZjgwLCAwLCB7MHhjMSwweDBmLDB4YzAsMHgwMywweGZjLDB4MDAsMHhmZCwweDAwLDB4M2YsMHgwMCwweDRmLDB4ZjAsMHg2MywweGZjLDB4MDAsMHhmZCB9fSwKLSB7MTYsIDB4OWY5MCwgMCwgezB4MDQsMHgzZiwweGMwLDB4MGYsMHhjMCwweDAzLDB4ZjAsMHg4MCwweGZjLDB4MDAsMHg3YiwweDAwLDB4MGYsMHhmMCwweDQzLDB4ZTggfX0sCi0gezE2LCAweDlmYTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZjgsMHgwMCwweGM4LDB4MTAsMHgzMywweDA0IH19LAotIHsxNiwgMHg5ZmIwLCAwLCB7MHgwYywweDQwLDB4MDIsMHgzNCwweDAwLDB4YzgsMHg4NSwweDFmLDB4YzAsMHgyZCwweGQ5LDB4MDMsMHhmYywweGMwLDB4ZGIsMHgyOCB9fSwKLSB7MTYsIDB4OWZjMCwgMCwgezB4MzcsMHg2NCwweDBmLDB4ZGIsMHgwMywweDNlLDB4MDAsMHhmZiwweDI1LDB4M2YsMHhjOCwweDBlLDB4ZjIsMHgwMywweGZlLDB4MjAgfX0sCi0gezE2LCAweDlmZDAsIDAsIHsweGZmLDB4YTQsMHgzNywweGM0LDB4MGMsMHhjOCwweDAzLDB4MzAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5ZmUwLCAwLCB7MHg4MCwweDEwLDB4ZTgsMHgwMCwweDg4LDB4MjAsMHgyMiwweDAwLDB4MDgsMHg4OCwweDEyLDB4MjYsMHgwNCwweDg5LDB4ODIsMHgyZSB9fSwKLSB7MTYsIDB4OWZmMCwgMCwgezB4ZjQsMHg0OCwweGI4LDB4MDIsMHhmYywweGM0LDB4OTgsMHhjMiwweDIyLDB4N2MsMHg0YiwweDlkLDB4NDIsMHgyNiwweDA4LDB4YmYgfX0sCi0gezE2LCAweGEwMDAsIDAsIHsweDE4LDB4NzcsMHhlNCwweDA4LDB4ZjEsMHg4MiwweGVmLDB4MDAsMHhiYiwweGQwLDB4MjIsMHhkOCwweDA4LDB4OTAsMHg4MywweDYwIH19LAotIHsxNiwgMHhhMDEwLCAwLCB7MHgwMiwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHg0NSwweGM4LDB4MDQsMHhhMCwweDAwLDB4MjQsMHgwMCB9fSwKLSB7MTYsIDB4YTAyMCwgMCwgezB4MGEsMHgwMCwweDAyLDB4MGMsMHgwMCwweDgyLDB4MDQsMHgyYywweGUwLDB4MDgsMHgxMCwweDAyLDB4Y2MsMHg4MCwweDgzLDB4MDAgfX0sCi0gezE2LCAweGEwMzAsIDAsIHsweDI0LDB4MDAsMHgwYiwweDEwLDB4MDYsMHhjOCwweDAxLDB4YjMsMHgyMCwweDJjLDB4YzAsMHgyOSwweDMyLDB4MDIsMHhjOCwweDA4IH19LAotIHsxNiwgMHhhMDQwLCAwLCB7MHhiMSwweDAwLDB4MjQsMHhkMCwweDA4LDB4ODIsMHgwMiwweDYyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTA1MCwgMCwgezB4YzAsMHgxNSwweGE4LDB4MDAsMHhhOCwweDBjLDB4MjYsMHgwMCwweDBhLDB4ODAsMHgwMiwweDJjLDB4MTQsMHg4YSwweDAyLDB4NmUgfX0sCi0gezE2LCAweGEwNjAsIDAsIHsweGUwLDB4MDgsMHhiMCwweDAyLDB4NGMsMHgwOCwweGE4LDB4MDAsMHgyNiwweDIwLDB4MGIsMHg5YywweDAyLDB4ZTQsMHgwMCwweGJiIH19LAotIHsxNiwgMHhhMDcwLCAwLCB7MHgwNCwweDIyLDB4YzAsMHgxOSwweGIwLDB4MDIsMHhlOCwweDAxLDB4YmIsMHgxMSwweDAyLDB4YzAsMHg4OCwweDkwLDB4MDIsMHhmMCB9fSwKLSB7MTYsIDB4YTA4MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTUsMHhlYywweDAyLDB4ZWEsMHg0MCwweGI2LDB4NjAgfX0sCi0gezE2LCAweGEwOTAsIDAsIHsweDJlLDB4OTgsMHgwYiwweDIwLDB4MDIsMHhjOCwweDAyLDB4M2UsMHhjMCwweDBkLDB4OTgsMHgwMywweGVjLDB4MDIsMHhkYiwweDg4IH19LAotIHsxNiwgMHhhMGEwLCAwLCB7MHhiNiwweDIxLDB4MGYsMHg4OCwweDAzLDB4YWMsMHgwOCwweGZiLDB4MDAsMHgyYywweGMwLDB4MGUsMHhiMCwweDQzLDB4ZTUsMHg4MCB9fSwKLSB7MTYsIDB4YTBiMCwgMCwgezB4ZjAsMHg2MCwweDM2LDB4YzAsMHgwYywweDAxLDB4NDMsMHg0OCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGEwYzAsIDAsIHsweGUwLDB4MDEsMHhiYywweDAwLDB4ZDYsMHgwMSwweDNiLDB4NjQsMHg4NSwweGQ5LDB4MDMsMHhmMCwweDBjLDB4ZmYsMHgwMCwweDNlIH19LAotIHsxNiwgMHhhMGQwLCAwLCB7MHhjMSwweDBmLDB4ZmMsMHgyMSwweGVjLDB4MDAsMHhkNywweDkwLDB4M2IsMHg0MCwweDBmLDB4NTAsMHgwMywweDNjLDB4MDAsMHhmZiB9fSwKLSB7MTYsIDB4YTBlMCwgMCwgezB4MDAsMHgzZiwweGMwLDB4OGUsMHhmMCwweDAzLDB4ZjQsMHg0MCwweGZkLDB4ODgsMHgzZiwweGMwLDB4MmYsMHhkMCwweDAyLDB4NzggfX0sCi0gezE2LCAweGEwZjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4OGMsMHgwMCwweGRhLDB4NDAsMHgzYywweDQwIH19LAotIHsxNiwgMHhhMTAwLCAwLCB7MHgwZiwweDEwLDB4MDMsMHg0OCwweDAwLDB4ZjksMHgyMiwweDNjLDB4YzIsMHgwZSwweDkwLDB4ODMsMHhlYywweDAyLDB4ZGIsMHgwNCB9fSwKLSB7MTYsIDB4YTExMCwgMCwgezB4M2EsMHgwOCwweDBmLDB4ODQsMHg4NywweGU4LDB4MDAsMHhjYiwweDAwLDB4M2UsMHhjNCwweDBlLDB4YjAsMHgwMywweGVkLDB4MDAgfX0sCi0gezE2LCAweGExMjAsIDAsIHsweGU4LDB4NDIsMHgzYSwweGMwLDB4MGYsMHg4MCwweDBiLDB4MTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhMTMwLCAwLCB7MHg4OCwweDA1LDB4MmMsMHgwOCwweDhhLDB4MDAsMHgyZSwweDQyLDB4OGIsMHg5MCwweDAyLDB4MjgsMHgxOCwweGJiLDB4NDksMHgyMiB9fSwKLSB7MTYsIDB4YTE0MCwgMCwgezB4ZDAsMHgzOCwweGJjLDB4ODIsMHhmYywweDAwLDB4ZTgsMHgwMiwweDIyLDB4NjIsMHhjYiwweDljLDB4MDAsMHhlZiwweDYwLDB4ZGYgfX0sCi0gezE2LCAweGExNTAsIDAsIHsweDAwLDB4MmYsMHhjMCwweDBiLDB4ZjAsMHgwMiwweGVjLDB4MDAsMHgwOSwweDQwLDB4MzcsMHhjMCwweDBiLDB4OTAsMHgwMiwweDMyIH19LAotIHsxNiwgMHhhMTYwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDQ4LDB4MTAsMHgxMSwweDAwLDB4MmMsMHhhMCB9fSwKLSB7MTYsIDB4YTE3MCwgMCwgezB4MGIsMHgyMCwweDAyLDB4NDQsMHgwMCwweDkwLDB4YzAsMHg2NCwweDM0LDB4MjgsMHgzNCwweDAyLDB4Y2MsMHgwMCwweDkzLDB4ODQgfX0sCi0gezE2LCAweGExODAsIDAsIHsweDI4LDB4NDAsMHgwYiwweDA4LDB4MDAsMHhjZSwweDAwLDB4OTMsMHgwMCwweDJjLDB4YzIsMHgwYSwweDMwLDB4MDIsMHhjMCwweDAwIH19LAotIHsxNiwgMHhhMTkwLCAwLCB7MHhiMiwweDQwLDB4MjIsMHhjMCwweDBiLDB4MjAsMHgwMiwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTFhMCwgMCwgezB4NzAsMHgwMSwweDFhLDB4NDAsMHg4NSwweDgwLDB4MmQsMHhhMCwweDBiLDB4NjgsMHgwNiwweDE2LDB4ODAsMHhiZCwweDkwLDB4MjUgfX0sCi0gezE2LCAweGExYjAsIDAsIHsweDI0LDB4MTgsMHg3YiwweDQyLDB4ZGUsMHg0MCwweGEwLDB4ODAsMHgyMSwweGUwLDB4MGIsMHg2OCwweDAyLDB4ZDYsMHgwMCwweDk3IH19LAotIHsxNiwgMHhhMWMwLCAwLCB7MHg5MCwweDJkLDB4ZTAsMHgwYiwweDc4LDB4MDIsMHhjZSwweDQwLDB4OTIsMHg4MCwweDZkLDB4ZTQsMHgwYiwweDc4LDB4MDIsMHgwOCB9fSwKLSB7MTYsIDB4YTFkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgyOCwweDAwLDB4ZDEsMHg4MCwweDNjLDB4ODggfX0sCi0gezE2LCAweGExZTAsIDAsIHsweDBiLDB4MjIsMHgwMywweDRlLDB4ODAsMHhmMiwweGExLDB4M2MsMHgyNCwweDJhLDB4MzksMHgwMywweGNjLDB4NDAsMHhkMywweGFjIH19LAotIHsxNiwgMHhhMWYwLCAwLCB7MHgzOCwweGM1LDB4MGYsMHgzMCwweDgyLDB4YzgsMHgwMCwweGQzLDB4MDAsMHgzYywweGMwLDB4MGUsMHgzMCwweDEzLDB4YzAsMHgwMCB9fSwKLSB7MTYsIDB4YTIwMCwgMCwgezB4ZjEsMHgwMCwweDM4LDB4YzAsMHgwZiwweGEwLDB4MDMsMHgxYSwweDA2LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGEyMTAsIDAsIHsweDQwLDB4MWQsMHhiOCwweDEwLDB4ZmQsMHgzNCwweDNlLDB4ODAsMHgwZiwweGUwLDB4MDMsMHhlZSwweDAwLDB4NzIsMHgwMCwweDNhIH19LAotIHsxNiwgMHhhMjIwLCAwLCB7MHgwMCwweDBmLDB4YjAsMHg2MywweGVjLDB4NDAsMHhmOCwweDIyLDB4M2UsMHhjMCwweDBmLDB4ZjAsMHgwMywweGQ0LDB4NDAsMHhmZiB9fSwKLSB7MTYsIDB4YTIzMCwgMCwgezB4MDAsMHgzZiwweGQyLDB4MGYsMHhmMCwweDAzLDB4ZWMsMHgwMCwweGNmLDB4MDAsMHgzNywweGMwLDB4MGYsMHhmMCwweDAzLDB4ZDAgfX0sCi0gezE2LCAweGEyNDAsIDAsIHsweDA2LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWUsMHgwMCwweGViLDB4MDAsMHgzNiwweGUwIH19LAotIHsxNiwgMHhhMjUwLCAwLCB7MHgwZCwweGIwLDB4MDMsMHgyMCwweDAwLDB4ZjAsMHg4MCwweDMzLDB4YzAsMHgwOCwweGI4LDB4MDMsMHgyYywweDgwLDB4Y2IsMHgwMCB9fSwKLSB7MTYsIDB4YTI2MCwgMCwgezB4MzIsMHg4MCwweDBmLDB4YTAsMHgxMywweDZlLDB4MDgsMHhjYiwweDI4LDB4MzIsMHhlMCwweDBkLDB4YjQsMHg4MywweGUyLDB4MDAgfX0sCi0gezE2LCAweGEyNzAsIDAsIHsweGNhLDB4MDAsMHgzZSwweGUwLDB4MGMsMHhhOCwweDAzLDB4MDIsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhMjgwLCAwLCB7MHhjOCwweDExLDB4OGMsMHgwNCwweDgzLDB4MDAsMHgyMSwweGMwLDB4NDgsMHg3MCwweDAyLDB4MTAsMHgwMCwweGI3LDB4MDIsMHgyMSB9fSwKLSB7MTYsIDB4YTI5MCwgMCwgezB4YzAsMHg0YSwweDcwLDB4MDIsMHgwZCwweDQ4LDB4ZDQsMHgwMCwweDM1LDB4YzAsMHgwZSwweDYwLDB4MDIsMHhkYywweDAwLDB4YTcgfX0sCi0gezE2LCAweGEyYTAsIDAsIHsweDQwLDB4MjksMHhjMCwweDA5LDB4NzIsMHgwMiwweGQ0LDB4MTAsMHhhNiwweDAyLDB4MmYsMHhjOCwweDA4LDB4NzAsMHgwMiwweDEyIH19LAotIHsxNiwgMHhhMmIwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweDllLDB4MDAsMHhhNywweDgwLDB4MjAsMHhlMCB9fSwKLSB7MTYsIDB4YTJjMCwgMCwgezB4MGEsMHgzOCwweDAyLDB4MWEsMHgwMCwweGI1LDB4ODAsMHgyMSwweGUwLDB4MDgsMHhmOCwweDIyLDB4NWMsMHg4MSwweDgzLDB4ODAgfX0sCi0gezE2LCAweGEyZDAsIDAsIHsweDIxLDB4YTEsMHgwYiwweDc4LDB4ODIsMHg1YSwweDEwLDB4ODMsMHhhMCwweDIwLDB4ZTgsMHgwYSwweDdiLDB4MDIsMHhkYSwweDAwIH19LAotIHsxNiwgMHhhMmUwLCAwLCB7MHg5NywweGMwLDB4MmQsMHhlNCwweDA4LDB4ZTgsMHgwMiwweDA4LDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTJmMCwgMCwgezB4MDgsMHgxNCwweGNjLDB4MDAsMHg4MywweDEwLDB4MjAsMHhjMCwweDBhLDB4MzAsMHgwMiwweDA4LDB4MDgsMHhiMywweDcwLDB4MjAgfX0sCi0gezE2LCAweGEzMDAsIDAsIHsweGY4LDB4MGEsMHgzMCwweDQyLDB4NGMsMHgwNCwweDkzLDB4MTQsMHgyNiwweGM0LDB4MGEsMHgzOCwweDAyLDB4Y2MsMHgwMCwweGEzIH19LAotIHsxNiwgMHhhMzEwLCAwLCB7MHgwMCwweDI4LDB4YzAsMHhhYSwweDMwLDB4MDIsMHhjZSwweDQwLDB4YjMsMHg4OCwweDJjLDB4YzAsMHgyOCwweDMwLDB4MGEsMHgxMiB9fSwKLSB7MTYsIDB4YTMyMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOSwweDAwLDB4ZWEsMHg4MCwweGI2LDB4OTAgfX0sCi0gezE2LCAweGEzMzAsIDAsIHsweDJmLDB4MjQsMHgwYiwweDM5LDB4MDQsMHhiZSwweGMwLDB4MzMsMHg5MiwweDBjLDB4YTAsMHgwYiwweDY4LDB4MTgsMHhjZSwweGMwIH19LAotIHsxNiwgMHhhMzQwLCAwLCB7MHgzMywweDgwLDB4MGYsMHhlOSwweDQzLDB4NzgsMHgwMCwweGNhLDB4MDAsMHgzMiwweDgwLDB4MGYsMHhhMCwweDEzLDB4ZjgsMHg0OCB9fSwKLSB7MTYsIDB4YTM1MCwgMCwgezB4ZGUsMHgwMCwweDNlLDB4ODAsMHgwYywweGUwLDB4MDIsMHgzYSwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGEzNjAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDI0LDB4ZjgsMHgwMCwweDNlLDB4MTIsMHgwZCwweDgwLDB4OTMsMHhiMCwweDI4LDB4ZjgsMHgwMCwweGJjIH19LAotIHsxNiwgMHhhMzcwLCAwLCB7MHgwMCwweDBmLDB4ODQsMHgwMywweGEwLDB4MDAsMHhmMCwweDAwLDB4M2UsMHgwMiwweDBlLDB4ODAsMHgwMCwweGUwLDB4MDAsMHhmOCB9fSwKLSB7MTYsIDB4YTM4MCwgMCwgezB4MDEsMHgzZSwweDAwLDB4MGQsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGU4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZDIgfX0sCi0gezE2LCAweGEzOTAsIDAsIHsweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHhiMiwweDcwIH19LAotIHsxNiwgMHhhM2EwLCAwLCB7MHgwZiwweDkwLDB4MDEsMHgwNCwweDAwLDB4YzksMHgwMCwweDNlLDB4NDAsMHgwYywweDk4LDB4MDMsMHhlNCwweDA0LDB4ZTksMHgwOCB9fSwKLSB7MTYsIDB4YTNiMCwgMCwgezB4M2EsMHg0OCwweDBjLDB4OWEsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4MzYsMHg0MCwweDBiLDB4MTAsMHgwYiwweDI2LDB4ODAgfX0sCi0gezE2LCAweGEzYzAsIDAsIHsweGYxLDB4ODAsMHgzMiwweDQwLDB4MGYsMHg5MCwweDAzLDB4YzIsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhM2QwLCAwLCB7MHg4MCwweDA0LDB4NjQsMHgwMCwweGI5LDB4MDAsMHgyMiwweDYxLDB4MGIsMHg5MCwweDAyLDB4MjQsMHgwOCwweDg5LDB4MDAsMHgyZSB9fSwKLSB7MTYsIDB4YTNlMCwgMCwgezB4NDAsMHgwZCwweDlhLDB4MDIsMHhlNCwweDA4LDB4YTksMHgwMCwweDIyLDB4NzgsMHgwZCwweDk0LDB4MDYsMHhlNCwweDEwLDB4YjkgfX0sCi0gezE2LCAweGEzZjAsIDAsIHsweDAwLDB4MjIsMHg1MCwweDBiLDB4OTAsMHgwMiwweDI1LDB4ODAsMHhiOSwweDgwLDB4MzYsMHg0MCwweDBiLDB4OTAsMHgwMiwweGUwIH19LAotIHsxNiwgMHhhNDAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDAsMHhiNSwweDAwLDB4MjMsMHg0MiB9fSwKLSB7MTYsIDB4YTQxMCwgMCwgezB4MGIsMHhkMCwweDBlLDB4YjQsMHgwMCwweDg5LDB4MDQsMHgyZSwweDYwLDB4MDgsMHg5MSwweDAyLDB4YzQsMHgwNCwweGI5LDB4MDQgfX0sCi0gezE2LCAweGE0MjAsIDAsIHsweDJhLDB4YzAsMHgwOCwweDk0LDB4MDIsMHhlNCwweDEwLDB4YjEsMHgwMCwweDI2LDB4NDIsMHgwYSwweDkwLDB4MDIsMHgyNCwweDAwIH19LAotIHsxNiwgMHhhNDMwLCAwLCB7MHhiOSwweDIxLDB4NjIsMHg0MCwweDBiLDB4OTAsMHgwMiwweGM2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTQ0MCwgMCwgezB4MDgsMHgwNCwweDA1LDB4MDAsMHhiNSwweDQwLDB4MjEsMHg1MCwweDRiLDB4NTAsMHgwNiwweDk0LDB4MDIsMHg4MSwweDAwLDB4MmMgfX0sCi0gezE2LCAweGE0NTAsIDAsIHsweDYwLDB4MjksMHgxNCwweDA2LDB4YzUsMHgwMCwweGExLDB4MjIsMHgyMCwweDUxLDB4ODksMHgxNCwweDAyLDB4YzQsMHgwMCwweGIxIH19LAotIHsxNiwgMHhhNDYwLCAwLCB7MHgyMCwweDIwLDB4NDgsMHgwYiwweDE0LDB4MDIsMHgwNCwweDAxLDB4YjEsMHgwMCwweDA0LDB4NTAsMHgwYiwweDEwLDB4MDIsMHhjMiB9fSwKLSB7MTYsIDB4YTQ3MCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDA4LDB4YjgsMHgwMCwweDMyLDB4MDAgfX0sCi0gezE2LCAweGE0ODAsIDAsIHsweDhmLDB4ODAsMHgwMywweGIwLDB4MDAsMHg4OCwweDAwLDB4M2UsMHgwMCwweDBjLDB4ODAsMHgwMywweGUwLDB4MDAsMHhlOCwweDA0IH19LAotIHsxNiwgMHhhNDkwLCAwLCB7MHgzYSwweDAwLDB4MGMsMHg4MCwweDAyLDB4ZTAsMHgwMCwweGY4LDB4NTAsMHgzNiwweDAwLDB4MGYsMHg4MCwweDAzLDB4MjAsMHgwNCB9fSwKLSB7MTYsIDB4YTRhMCwgMCwgezB4ZjgsMHgwMSwweDEyLDB4MDAsMHg0ZiwweDgwLDB4MDcsMHhlZSwweDA3LDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE0YjAsIDAsIHsweDk4LDB4MWQsMHhlNSwweDEwLDB4ZjksMHg0MCwweDNlLDB4NTAsMHgwZiwweDk0LDB4MDIsMHg2NSwweDAxLDB4ZmQsMHgwMSwweDNkIH19LAotIHsxNiwgMHhhNGMwLCAwLCB7MHg1MCwweDRmLDB4NTAsMHgxMywweGU1LDB4MDAsMHhmZCwweDEwLDB4MWYsMHg1MCwweDA3LDB4ZDQsMHg0MywweGQ0LDB4MDAsMHhmOSB9fSwKLSB7MTYsIDB4YTRkMCwgMCwgezB4MTAsMHgxZSwweDQ0LDB4MGYsMHg5NCwweDAzLDB4ZDUsMHgwMCwweGZkLDB4NDAsMHgzZSwweDUwLDB4MGYsMHg1MiwweDgzLDB4ZWUgfX0sCi0gezE2LCAweGE0ZTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDE1LDB4ZTQsMHg0MCwweGY5LDB4NjAsMHgzZiwweDQ0IH19LAotIHsxNiwgMHhhNGYwLCAwLCB7MHgwZiwweGQwLDB4YzMsMHhlNCwweDMwLDB4ZjksMHgwMSwweDNlLDB4NDIsMHgwYywweGQwLDB4MDMsMHhlNywweDgwLDB4ZGQsMHhhMCB9fSwKLSB7MTYsIDB4YTUwMCwgMCwgezB4MzMsMHg0MCwweDBjLDB4ZDAsMHgwMywweGZjLDB4MDAsMHhjOSwweDkwLDB4M2YsMHg2OCwweDFlLDB4OTEsMHgwMywweDM0LDB4MDAgfX0sCi0gezE2LCAweGE1MTAsIDAsIHsweGZkLDB4MDAsMHgzZSwweDY4LDB4MGMsMHg5NCwweDAzLDB4MGUsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhNTIwLCAwLCB7MHgzOSwweDEwLDB4ZTAsMHgwMCwweGI4LDB4NDIsMHgyZSwweDA5LDB4MGIsMHg4NCwweDAyLDB4ZTEsMHgwNCwweGJlLDB4MDAsMHgyZSB9fSwKLSB7MTYsIDB4YTUzMCwgMCwgezB4MTAsMHgwOCwweDgwLDB4MjIsMHhjMiwweDgwLDB4ODgsMHg0MCwweDIyLDB4MDAsMHgwYSwweDgwLDB4MDIsMHhlMCwweDAwLDB4YTggfX0sCi0gezE2LCAweGE1NDAsIDAsIHsweGQwLDB4MmUsMHgxMCwweDRiLDB4OGEsMHgwMywweDYwLDB4MDAsMHhiYSwweDAwLDB4MmUsMHgzMCwweDA4LDB4OGEsMHgwMiwweDg2IH19LAotIHsxNiwgMHhhNTUwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwNSwweGM1LDB4ODAsMHhiMSwweDYwLDB4NmMsMHhkMCB9fSwKLSB7MTYsIDB4YTU2MCwgMCwgezB4MGIsMHgxMCwweDAwLDB4ZGMsMHgwYywweGI1LDB4MDAsMHgyYywweDQxLDB4MDgsMHgxMCwweDAyLDB4YzUsMHg4MCwweDkxLDB4MTAgfX0sCi0gezE2LCAweGE1NzAsIDAsIHsweDY4LDB4YzAsMHgwOCwweDMwLDB4MDIsMHhlNCwweDBjLDB4ODEsMHgyMiwweDJjLDB4NTAsMHgwOCwweDEwLDB4NDIsMHgwNCwweDAwIH19LAotIHsxNiwgMHhhNTgwLCAwLCB7MHhhMSwweDAwLDB4MmMsMHg1YSwweDI4LDB4OTAsMHgwMiwweDUyLDB4MTAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTU5MCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MDAsMHhiOSwweDAwLDB4MmUsMHg0MSwweDBiLDB4OTAsMHgxMiwweGY0LDB4ODAsMHhiZiwweDAwLDB4MmUgfX0sCi0gezE2LCAweGE1YTAsIDAsIHsweDQwLDB4MDgsMHg5MCwweDAyLDB4ZTQsMHgwMCwweGE5LDB4NjAsMHg2MCwweDQyLDB4MGEsMHg5NCwweDEyLDB4ZTUsMHgwMCwweGE5IH19LAotIHsxNiwgMHhhNWIwLCAwLCB7MHgwMCwweDJlLDB4NDAsMHgwYiwweDkwLDB4MDIsMHg2NCwweDIwLDB4YjksMHgwMCwweDBlLDB4NDAsMHgwOSwweDkwLDB4MDIsMHhjNiB9fSwKLSB7MTYsIDB4YTVjMCwgMCwgezB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MDUsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDEgfX0sCi0gezE2LCAweGE1ZDAsIDAsIHsweDBmLDB4OTAsMHgyMywweGU0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0MCwweDBjLDB4OTAsMHgwMywweGU0LDB4MDQsMHhkMSwweGMwIH19LAotIHsxNiwgMHhhNWUwLCAwLCB7MHhiYSwweDcwLDB4MGMsMHg5OCwweDAzLDB4YzQsMHgwMCwweGM5LDB4MDAsMHgzZSwweDQwLDB4MGUsMHg5MCwweDAzLDB4MjUsMHg0MCB9fSwKLSB7MTYsIDB4YTVmMCwgMCwgezB4ZTksMHg0MCwweDNlLDB4NDAsMHgwYywweDEwLDB4MDMsMHg2OCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE2MDAsIDAsIHsweDY4LDB4MDEsMHhhNCwweDE0LDB4ZjksMHgwMCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MjMsMHhlNCwweDA4LDB4ZjksMHhhMCwweDNjIH19LAotIHsxNiwgMHhhNjEwLCAwLCB7MHhjMiwweDJmLDB4OTAsMHgwMywweGM0LDB4MDAsMHhkOSwweDgwLDB4M2UsMHg3MCwweDBmLDB4OTEsMHg0MywweGU0LDB4MDAsMHhmOSB9fSwKLSB7MTYsIDB4YTYyMCwgMCwgezB4MDAsMHgzZSwweDQwLDB4MWYsMHg5MCwweDEzLDB4ZTYsMHgyMCwweGY5LDB4YTAsMHgzYywweDQwLDB4NGUsMHg5MCwweDAzLDB4OWEgfX0sCi0gezE2LCAweGE2MzAsIDAsIHsweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAwLDB4YTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAyIH19LAotIHsxNiwgMHhhNjQwLCAwLCB7MHgwZiwweDgwLDB4MTMsMHgyMCwweDBjLDB4ZmMsMHgwMSwweDNlLDB4MDAsMHgwYywweDgwLDB4MDMsMHhlMCwweDAwLDB4YzgsMHg1MCB9fSwKLSB7MTYsIDB4YTY1MCwgMCwgezB4MzIsMHgwMCwweDBmLDB4ODAsMHgwYiwweDIwLDB4MDgsMHhmOCwweDAwLDB4MzIsMHgwMCwweDJjLDB4ODAsMHg0MywweGUwLDB4NDAgfX0sCi0gezE2LCAweGE2NjAsIDAsIHsweGY4LDB4MDIsMHgzYSwweDAwLDB4OGYsMHg4MCwweDAzLDB4MGEsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhNjcwLCAwLCB7MHhhOCwweDg1LDB4MjgsMHgwOCwweDNhLDB4MDAsMHgwZiwweDgwLDB4NGIsMHhhMSwweDAyLDB4MjgsMHgwMCwweGJhLDB4ODIsMHgyZSB9fSwKLSB7MTYsIDB4YTY4MCwgMCwgezB4ODgsMHg0OCwweGU0LDB4MDIsMHhlOCwweDAwLDB4YWUsMHg5MCwweGEzLDB4OTAsMHgwYiwweGUwLDB4MDAsMHgzOCwweDAwLDB4YmEgfX0sCi0gezE2LCAweGE2OTAsIDAsIHsweDAwLDB4MzcsMHhhMCwweDA4LDB4YTAsMHgwMiwweGY4LDB4MDAsMHg5ZSwweGUwLDB4MjIsMHg4MCwweDBiLDB4YTAsMHgyMywweDQyIH19LAotIHsxNiwgMHhhNmEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MTAsMHgzMywweDAwLDB4MmMsMHhkMCB9fSwKLSB7MTYsIDB4YTZiMCwgMCwgezB4MGIsMHgxNCwweDAyLDB4MGMsMHgwMCwweGIyLDB4OTEsMHgyYywweGQwLDB4MDgsMHgzZSwweDAyLDB4NGMsMHgwMCwweDgzLDB4NDAgfX0sCi0gezE2LCAweGE2YzAsIDAsIHsweDI0LDB4YzIsMHgwYiwweDM2LDB4MDAsMHg4YywweDAwLDB4YjMsMHgwMCwweDIwLDB4YzAsMHgwOSwweGIwLDB4MDIsMHhjZSwweDAwIH19LAotIHsxNiwgMHhhNmQwLCAwLCB7MHhiMywweGNjLDB4NjgsMHhjMCwweDBiLDB4MzAsMHgwMiwweDAyLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTZlMCwgMCwgezB4ZTAsMHgwMSwweDFjLDB4ODgsMHhiNywweDI1LDB4MmQsMHhjMCwweDhiLDB4NTgsMHgxYSwweDFjLDB4MDgsMHhiNiwweDAwLDB4MmQgfX0sCi0gezE2LCAweGE2ZjAsIDAsIHsweGMwLDB4MDgsMHg3NCwweDAyLDB4ZGMsMHg0MCwweGE1LDB4MDAsMHgyNSwweGMwLDB4MWIsMHg3OCwweDAyLDB4OTQsMHgwOCwweGI3IH19LAotIHsxNiwgMHhhNzAwLCAwLCB7MHg4MCwweDI1LDB4ZTMsMHgwYSwweDcxLDB4MDIsMHhkYywweDAwLDB4OTcsMHg4MywweDIxLDB4YzgsMHg4YiwweGYxLDB4MDIsMHg0OCB9fSwKLSB7MTYsIDB4YTcxMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZiwweDAwLDB4ZjcsMHhlMiwweDdkLDB4ZTAgfX0sCi0gezE2LCAweGE3MjAsIDAsIHsweDBmLDB4NTgsMHg0MywweDFlLDB4MTgsMHhmNiwweDgwLDB4N2MsMHhlMCwweDJjLDB4NjgsMHgwMiwweDVlLDB4OTAsMHhjMywweDgwIH19LAotIHsxNiwgMHhhNzMwLCAwLCB7MHgzNSwweGUwLDB4MGYsMHhmOCwweDAzLDB4OWUsMHgwNCwweGZmLDB4YTEsMHgyMCwweGExLDB4MGQsMHg3OCwweDAzLDB4ZDYsMHgwMCB9fSwKLSB7MTYsIDB4YTc0MCwgMCwgezB4ZjcsMHg4MCwweDM5LDB4ZjgsMHgwZiwweDc4LDB4MDMsMHgwYSwweDA2LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE3NTAsIDAsIHsweDQ4LDB4MWQsMHhhYywweDAwLDB4ZmIsMHg0MCwweDdmLDB4NDEsMHgwZiwweDEwLDB4MDMsMHhlYywweDA0LDB4ZmEsMHgwMCwweDNlIH19LAotIHsxNiwgMHhhNzYwLCAwLCB7MHhkMCwweDBmLDB4YTAsMHgwMywweGVkLDB4MDAsMHhlOSwweDAwLDB4MmEsMHgwMCwweDBmLDB4YjAsMHgwMywweDY0LDB4MDAsMHhmYiB9fSwKLSB7MTYsIDB4YTc3MCwgMCwgezB4NDAsMHgzZSwweGMwLDB4MGQsMHhiMCwweDAzLDB4ZTQsMHgwMCwweGQzLDB4MDAsMHgzNiwweGMwLDB4MGYsMHgzOCwweDAzLDB4YzIgfX0sCi0gezE2LCAweGE3ODAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDA1LDB4ZmUsMHg0OCwweGNmLDB4YzAsMHgzMywweDYwIH19LAotIHsxNiwgMHhhNzkwLCAwLCB7MHg4YywweGM4LDB4NDMsMHhkNiwweDAwLDB4Y2MsMHg5NCwweDNmLDB4YjAsMHgwZCwweGY4LDB4MDMsMHg3ZiwweDAwLDB4ZGYsMHg4MCB9fSwKLSB7MTYsIDB4YTdhMCwgMCwgezB4M2YsMHg2MCwweDBmLDB4ZDgsMHgwMywweGRlLDB4MDAsMHhjZiwweGNhLDB4M2QsMHg2MCwweDBjLDB4ZjgsMHgxMywweDNhLDB4NDQgfX0sCi0gezE2LCAweGE3YjAsIDAsIHsweGRkLDB4ODAsMHgzZiwweGUwLDB4MGYsMHhmOCwweDQzLDB4MTgsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhN2MwLCAwLCB7MHhhOCwweDExLDB4OWMsMHgwMCwweDhmLDB4MTEsMHgzMywweGMwLDB4NDgsMHg0MSwweDEyLDB4YzQsMHg0OCwweDg0LDB4MTEsMHgyYyB9fSwKLSB7MTYsIDB4YTdkMCwgMCwgezB4ZWMsMHgyYSwweGJhLDB4MDMsMHgzYywweDQwLDB4ZDcsMHg0OCwweDJkLDB4NDEsMHgwYiwweDYwLDB4MDIsMHhkNCwweDAwLDB4ZDcgfX0sCi0gezE2LCAweGE3ZTAsIDAsIHsweDAxLDB4M2QsMHhjMCwweDBkLDB4ZjAsMHgwMywweDVhLDB4MDAsMHg4NCwweDE4LDB4MmQsMHhjMCwweDBiLDB4NzAsMHgwMywweDZhIH19LAotIHsxNiwgMHhhN2YwLCAwLCB7MHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDhjLDB4MDgsMHg4NywweDAwLDB4MjEsMHg0MCB9fSwKLSB7MTYsIDB4YTgwMCwgMCwgezB4MDksMHg0MCwweDAyLDB4ZDQsMHgwMCwweGE0LDB4OTIsMHgyZCwweGM4LDB4MDksMHg2MiwweDgyLDB4NWMsMHgwMCwweDg3LDB4MDAgfX0sCi0gezE2LCAweGE4MTAsIDAsIHsweDJkLDB4YzAsMHgwYiwweDUwLDB4MDIsMHhmYywweDAwLDB4ODcsMHgwMCwweDJkLDB4MDQsMHgwOCwweDcwLDB4MDIsMHgxYywweDgwIH19LAotIHsxNiwgMHhhODIwLCAwLCB7MHhiNSwweDAwLDB4MmQsMHhjMCwweDBiLDB4ZjAsMHgwMiwweDAwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTgzMCwgMCwgezB4NjAsMHgxMCwweGNjLDB4MDAsMHg4MywweDAwLDB4MjAsMHg0MCwweDA5LDB4MDAsMHgyMiwweGM3LDB4MDAsMHhhMCwweDQxLDB4MmMgfX0sCi0gezE2LCAweGE4NDAsIDAsIHsweGMxLDB4NGIsMHgwOCwweDAyLDB4MmMsMHgwMCwweDkzLDB4NDAsMHgyYywweDdjLDB4MGIsMHgzOCwweDAyLDB4YzcsMHgyMCwweDkzIH19LAotIHsxNiwgMHhhODUwLCAwLCB7MHgwMCwweDJjLDB4YzAsMHgwOSwweDMwLDB4MDIsMHg0ZiwweDg0LDB4YjAsMHg4MCwweDJjLDB4YzAsMHgwYiwweDMyLDB4MTAsMHg1MCB9fSwKLSB7MTYsIDB4YTg2MCwgMCwgezB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGFhLDB4MTUsMHhiYywweDAyLDB4Y2YsMHgwMCwweGIyLDB4NDAgfX0sCi0gezE2LCAweGE4NzAsIDAsIHsweDBkLDB4MTAsMHgwMywweGU4LDB4MjQsMHhlYiwweGMxLDB4M2UsMHhjMCwweDJkLDB4OTgsMHgxMywweDdjLDB4MGEsMHhjMiwweDQzIH19LAotIHsxNiwgMHhhODgwLCAwLCB7MHgzZSwweGIwLDB4MGYsMHhhOSwweDAzLDB4ZTksMHgyMCwweGNmLDB4MDAsMHgzZSwweGMwLDB4OGMsMHhmMCwweDAzLDB4MGQsMHgyMCB9fSwKLSB7MTYsIDB4YTg5MCwgMCwgezB4ZmEsMHhjMCwweDNmLDB4YzAsMHgwZiwweDc0LDB4MDEsMHgyYSwweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE4YTAsIDAsIHsweDgwLDB4MDAsMHhlYywweDAwLDB4ZmIsMHgwMiwweDNhLDB4NDAsMHg4ZSwweDkwLDB4MDMsMHhlOCwweDE0LDB4NWIsMHg1MCwweDNjIH19LAotIHsxNiwgMHhhOGIwLCAwLCB7MHg1MCwweDRlLDB4ODQsMHgwMywweGVjLDB4MDAsMHhmOCwweDQwLDB4M2UsMHg4MCwweDA3LDB4ODEsMHgwMywweGVjLDB4MDgsMHhmMyB9fSwKLSB7MTYsIDB4YThjMCwgMCwgezB4MDAsMHgzYSwweGMwLDB4OWYsMHgzMCwweDAzLDB4ZWMsMHgwMCwweGNiLDB4MjAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDIzLDB4ZTggfX0sCi0gezE2LCAweGE4ZDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDkwLDB4ZmMsMHgwMCwweGZmLDB4MDAsMHgzZiwweDQwIH19LAotIHsxNiwgMHhhOGUwLCAwLCB7MHgwZiwweGQwLDB4MDMsMHgzOCwweDIwLDB4Y2YsMHgwOCwweDMyLDB4YzEsMHgwZSwweGQwLDB4MDMsMHhmYywweDAwLDB4ZmUsMHgwOCB9fSwKLSB7MTYsIDB4YThmMCwgMCwgezB4MzEsMHhlNSwweDBlLDB4ZTQsMHgwMywweDNhLDB4MDAsMHhmZiwweDAwLDB4MzMsMHg4MCwweDBmLDB4ZjAsMHgyYiwweDI0LDB4MDAgfX0sCi0gezE2LCAweGE5MDAsIDAsIHsweGNjLDB4YTAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4MDAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhOTEwLCAwLCB7MHg4MCwweDA0LDB4NmMsMHgwMCwweGJiLDB4MDAsMHgzYSwweDY5LDB4MGIsMHg5MCwweDZlLDB4MDgsMHgwMCwweDgzLDB4NDEsMHgzNiB9fSwKLSB7MTYsIDB4YTkyMCwgMCwgezB4NDAsMHhjOCwweDg4LDB4YzYsMHhlYywweDAwLDB4ODgsMHg0MCwweDM2LDB4ODAsMHgwZCwweGE4LDB4MDMsMHg2ZSwweDUwLDB4YmIgfX0sCi0gezE2LCAweGE5MzAsIDAsIHsweDAwLDB4MzYsMHhjMCwweDBiLDB4YjAsMHgwMiwweDI0LDB4MDAsMHhkOSwweDA4LDB4MmUsMHhjMCwweDBiLDB4YjAsMHgwMywweGUwIH19LAotIHsxNiwgMHhhOTQwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDAsMHhiYiwweDAwLDB4MmUsMHg2MCB9fSwKLSB7MTYsIDB4YTk1MCwgMCwgezB4MDMsMHg4MCwweDAyLDB4MjAsMHgwMCwweDg5LDB4MDEsMHgyMiwweDU4LDB4MDgsMHg5OCwweDIyLDB4ZWMsMHgwMSwweGFiLDB4MDAgfX0sCi0gezE2LCAweGE5NjAsIDAsIHsweDIyLDB4MDAsMHgwYSwweDEwLDB4MDIsMHgyOCwweDAwLDB4YmIsMHgwMCwweDIyLDB4NDAsMHgwYiwweGIwLDB4MDIsMHgyOCwweDAwIH19LAotIHsxNiwgMHhhOTcwLCAwLCB7MHg4YSwweDAwLDB4MmUsMHhjMCwweDBiLDB4YjAsMHg0MiwweDIwLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTk4MCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDAsMHhiMywweDAwLDB4MjgsMHg0MCwweDhiLDB4MDAsMHgwMiwweDAyLDB4NDAsMHg4OSwweDAxLDB4MjQgfX0sCi0gezE2LCAweGE5OTAsIDAsIHsweGQyLDB4MjgsMHgxMCwweDAyLDB4Y2MsMHgwMCwweDgzLDB4MTAsMHgyNCwweDIwLDB4MDgsMHgwOCwweDAyLDB4NGUsMHgwMCwweGIzIH19LAotIHsxNiwgMHhhOWEwLCAwLCB7MHgwNCwweGEwLDB4YzAsMHgwYiwweDMwLDB4MDIsMHgwOCwweDg4LDB4OTIsMHgwMCwweDJjLDB4YzAsMHgwYiwweGIwLDB4MDIsMHhjMiB9fSwKLSB7MTYsIDB4YTliMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2YywweDAwLDB4ZmYsMHgwMCwweDNlLDB4MDAgfX0sCi0gezE2LCAweGE5YzAsIDAsIHsweDBmLDB4ODAsMHgwMiwweDIwLDB4MTAsMHg4OSwweDUwLDB4MjIsMHhkOCwweDJlLDB4OTYsMHgyMiwweGZjLDB4MDAsMHhlYiwweDQwIH19LAotIHsxNiwgMHhhOWQwLCAwLCB7MHgzMiwweGMwLDB4MGEsMHg5MCwweDAzLDB4MjgsMHgwMCwweGZmLDB4MDAsMHgyMiwweDAwLDB4MGYsMHhiMCwweDAzLDB4MmMsMHhhMCB9fSwKLSB7MTYsIDB4YTllMCwgMCwgezB4YzgsMHgwMCwweDNlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHgwMCwweDA2LDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE5ZjAsIDAsIHsweGEwLDB4MTksMHhmYywweDAwLDB4ZmYsMHgwYywweDNiLDB4MDAsMHgwZiwweGMwLDB4MDIsMHg3MCwweDkwLDB4ZmQsMHgwMCwweDNlIH19LAotIHsxNiwgMHhhYTAwLCAwLCB7MHhjOSwweDBmLDB4OTYsMHhjMywweGZjLDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGZjLDB4MDQsMHhmZiB9fSwKLSB7MTYsIDB4YWExMCwgMCwgezB4MDQsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZWMsMHgwMCwweGZjLDB4MDAsMHgzZiwweGMwLDB4MGYsMHg3MCwweDAzLDB4ZTggfX0sCi0gezE2LCAweGFhMjAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZGMsMHg4MCwweGZiLDB4MjgsMHgzZiwweDAwIH19LAotIHsxNiwgMHhhYTMwLCAwLCB7MHgwYywweGMxLDB4MGIsMHhmMSwweDAyLDB4ZWQsMHgwMCwweDM3LDB4MzAsMHgyYywweGYxLDB4MDMsMHhiMiwweDQwLDB4ZmYsMHgwMCB9fSwKLSB7MTYsIDB4YWE0MCwgMCwgezB4YmIsMHhjMCwweDBmLDB4NDgsMHgwNiwweGIyLDB4MDAsMHhmYywweDgwLDB4M2IsMHhjYywweDBjLDB4ZjAsMHgwMywweDcwLDB4ODAgfX0sCi0gezE2LCAweGFhNTAsIDAsIHsweGRmLDB4MjgsMHgzMywweDA0LDB4MGYsMHhmNCwweDAzLDB4MzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhYTYwLCAwLCB7MHg4MCwweDEwLDB4ZmYsMHg0MCwweGJmLDB4NjAsMHgyZSwweDIxLDB4MDgsMHg4MiwweDAyLDB4MjAsMHgwMCwweGE5LDB4MjgsMHgyYSB9fSwKLSB7MTYsIDB4YWE3MCwgMCwgezB4MDAsMHgwOSwweGZhLDB4MDIsMHgyMCwweDAwLDB4YmYsMHg1MSwweDIzLDB4ZDgsMHgwOSwweDk4LDB4MDIsMHhlNCwweDMwLDB4YjAgfX0sCi0gezE2LCAweGFhODAsIDAsIHsweDAwLDB4MjMsMHhkMCwweDA4LDB4ZjUsMHhhMiwweDI1LDB4YTQsMHg4ZiwweDQyLDB4M2MsMHgxMCwweDBiLDB4YjAsMHgwYSwweDIwIH19LAotIHsxNiwgMHhhYTkwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNjLDB4MDAsMHhiMywweDA4LDB4MmMsMHgwMCB9fSwKLSB7MTYsIDB4YWFhMCwgMCwgezB4MjgsMHgwMCwweDFhLDB4YzAsMHg4NCwweDIwLDB4MDAsMHgyNCwweGM4LDB4NGIsMHgzMSwweDQyLDB4YzAsMHgwMCwweDkzLDB4MDIgfX0sCi0gezE2LCAweGFhYjAsIDAsIHsweDIwLDB4YzYsMHgwOCwweDAwLDB4MDYsMHhjMCwweDgxLDB4YjMsMHgwMCwweDJjLDB4ZDgsMHgwOSwweDMyLDB4MDIsMHhhMCwweDQwIH19LAotIHsxNiwgMHhhYWMwLCAwLCB7MHg5MywweDAxLDB4MjQsMHg0YywweDBiLDB4MzIsMHgwMiwweDIyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWFkMCwgMCwgezB4YzAsMHgxMSwweGFjLDB4MDAsMHhiYiwweDAyLDB4MmUsMHgwYSwweDA4LDB4ODAsMHg4MiwweDYwLDB4MDAsMHhhOCwweDAwLDB4MmUgfX0sCi0gezE2LCAweGFhZTAsIDAsIHsweGUwLDB4MWIsMHhiMCwweDAyLDB4NjIsMHgwMSwweDNiLDB4MDAsMHgyMiwweGMxLDB4MDksMHg5MCwweDAyLDB4ZTIsMHgwMCwweGJiIH19LAotIHsxNiwgMHhhYWYwLCAwLCB7MHg2MCwweDI2LDB4YzEsMHgwOCwweGIwLDB4MmEsMHgyNiwweDAwLDB4OWIsMHgwNCwweDJlLDB4MjEsMHgwYiwweGIwLDB4MDIsMHgzMCB9fSwKLSB7MTYsIDB4YWIwMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTEsMHhlYywweDEwLDB4ZmIsMHgwMCwweDNlLDB4MTAgfX0sCi0gezE2LCAweGFiMTAsIDAsIHsweDA4LDB4ODQsMHgxMywweGVjLDB4MDIsMHhhOSwweDA0LDB4MzYsMHgyMCwweDBmLDB4YjAsMHgwMywweGVlLDB4ODAsMHhmYiwweDAwIH19LAotIHsxNiwgMHhhYjIwLCAwLCB7MHgzYSwweGMwLDB4MGMsMHhhMCwweDAzLDB4YTIsMHg4MCwweDc5LDB4NDAsMHgxZSwweGMwLDB4OGMsMHhiMCwweDYzLDB4NmEsMHgxMCB9fSwKLSB7MTYsIDB4YWIzMCwgMCwgezB4ZDMsMHgwMCwweDM2LDB4YTIsMHgwNywweGIwLDB4MDMsMHgwMCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFiNDAsIDAsIHsweGUwLDB4MDEsMHhiYywweDAwLDB4ZmYsMHgwMCwweDNlLDB4MjAsMHg0ZCwweDQxLDB4MDMsMHg5YywweDAwLDB4ZmQsMHgyMCwweGFiIH19LAotIHsxNiwgMHhhYjUwLCAwLCB7MHgwMCwweDBjLDB4ZjAsMHgwMywweGI4LDB4MDAsMHhmNywweDAwLDB4M2YsMHhjMCwweDRkLDB4YzksMHgwMywweGY0LDB4MDAsMHhmZiB9fSwKLSB7MTYsIDB4YWI2MCwgMCwgezB4MDAsMHgzYiwweGMwLDB4MmUsMHhmMCwweDAwLDB4ZjAsMHgwMCwweGVmLDB4MDAsMHgzZiwweDAwLDB4NGIsMHg3MCwweDAzLDB4ZjggfX0sCi0gezE2LCAweGFiNzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHg4MCwweGViLDB4MDAsMHg3ZSwweDEwIH19LAotIHsxNiwgMHhhYjgwLCAwLCB7MHgyZSwweDg0LDB4MDMsMHhlYywweDAwLDB4ZTAsMHgwMCwweDMyLDB4NTAsMHgwZiwweGIwLDB4ODYsMHgyNSwweDAwLDB4ZGIsMHgyMCB9fSwKLSB7MTYsIDB4YWI5MCwgMCwgezB4M2EsMHhjMCwweDBkLDB4YjAsMHg2MywweGUxLDB4MTAsMHhmYiwweDQ4LDB4MzgsMHhjMSwweDBmLDB4MzAsMHgwMywweDJjLDB4MDQgfX0sCi0gezE2LCAweGFiYTAsIDAsIHsweGZiLDB4MDgsMHgzMiwweGMwLDB4MGMsMHhiMCwweDBiLDB4OTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhYmIwLCAwLCB7MHhjOCwweDA1LDB4M2MsMHgwMCwweDhmLDB4MDAsMHg2NCwweDI5LDB4MjgsMHg4MCwweDAzLDB4ZWMsMHgwMiwweGU4LDB4MDQsMHhhOCB9fSwKLSB7MTYsIDB4YWJjMCwgMCwgezB4NTYsMHgwOCwweGZjLDB4MDcsMHhlMCwweDAwLDB4MGYsMHhhMCwweGJmLDB4YzAsMHgwYiwweDk1LDB4MDIsMHhhMCwweDAwLDB4YmIgfX0sCi0gezE2LCAweGFiZDAsIDAsIHsweDA1LDB4MzcsMHhjMCwweDg5LDB4ZjAsMHgwYSwweDBkLDB4YzgsMHhiZiwweDA4LDB4MmEsMHg4MCwweDA4LDB4ZjAsMHgwMiwweDMyIH19LAotIHsxNiwgMHhhYmUwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRjLDB4MDEsMHhiMywweDAyLDB4MjQsMHhlMCB9fSwKLSB7MTYsIDB4YWJmMCwgMCwgezB4MGEsMHgzMCwweDEyLDB4ODAsMHgwMywweGEzLDB4MDAsMHhhOCwweDAwLDB4MDIsMHhiOCwweDIyLDB4YzAsMHgwMCwweGIzLDB4MDAgfX0sCi0gezE2LCAweGFjMDAsIDAsIHsweDI4LDB4YzEsMHgwYiwweDA0LDB4MDIsMHgwOCwweDAwLDB4YjksMHg0MCwweDI4LDB4YzAsMHgwYiwweDMwLDB4MDIsMHgwMywweDA0IH19LAotIHsxNiwgMHhhYzEwLCAwLCB7MHhiMywweDQ0LDB4MjAsMHgwMCwweDRhLDB4MzAsMHgwMiwweDM4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWMyMCwgMCwgezB4MjAsMHgwMSwweDFlLDB4MjAsMHgxNywweGEwLDB4NjUsMHhlYywweDA4LDB4MzgsMHgwMiwweGMyLDB4NDEsMHhiMywweDkyLDB4MmIgfX0sCi0gezE2LCAweGFjMzAsIDAsIHsweDY0LDB4MGEsMHgzOCwweDAyLDB4MzYsMHgwMSwweGI3LDB4OTAsMHgyZCwweGUwLDB4MDMsMHhmOCwweDAwLDB4OWEsMHgwMCwweGI1IH19LAotIHsxNiwgMHhhYzQwLCAwLCB7MHg4MCwweDJkLDB4ZTAsMHg4OSwweDc4LDB4MTIsMHgxZSwweDAwLDB4YjcsMHg4MCwweDI5LDB4ZTAsMHgwYSwweDc4LDB4MDIsMHgwOCB9fSwKLSB7MTYsIDB4YWM1MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDAwLDB4NzMsMHhiMCwweDI0LDB4YzggfX0sCi0gezE2LCAweGFjNjAsIDAsIHsweDRlLDB4MzAsMHgwYSwweDgwLDB4MDIsMHhlMiwweDAwLDB4MzgsMHg5NCwweDBlLDB4MzEsMHhhMiwweGM4LDB4MDAsMHg3MywweDAwIH19LAotIHsxNiwgMHhhYzcwLCAwLCB7MHgxOCwweGM0LDB4MDUsMHgwMCwweDAzLDB4MDAsMHgwMCwweGYzLDB4MDAsMHgzOCwweGMwLDB4MDcsMHhiMSwweDAzLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWM4MCwgMCwgezB4ZjMsMHgwMSwweDMwLDB4NDEsMHgwZSwweGIwLDB4MDMsMHg5MiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFjOTAsIDAsIHsweDQwLDB4MWQsMHhiZCwweDAwLDB4ZWYsMHgxMCwweDI2LDB4YzgsMHgwMywweGIxLDB4MDMsMHhlMCwweDAwLDB4ZWEsMHg4MSwweDc4IH19LAotIHsxNiwgMHhhY2EwLCAwLCB7MHhjNSwweDBjLDB4YjUsMHhlMywweGRjLDB4MDAsMHhjMywweDAwLDB4M2UsMHhjMSwweDBmLDB4ZjAsMHg4MywweGIwLDB4MDAsMHhmZiB9fSwKLSB7MTYsIDB4YWNiMCwgMCwgezB4MDAsMHgzNywweGMwLDB4MGQsMHhmNCwweDAzLDB4ZTQsMHgwMCwweGY3LDB4MDAsMHgzZiwweDQwLDB4MGQsMHhmMCwweDAzLDB4ZDAgfX0sCi0gezE2LCAweGFjYzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWQsMHgxMCwweGNiLDB4MjgsMHgzZSwweGMwIH19LAotIHsxNiwgMHhhY2QwLCAwLCB7MHgwZCwweGIwLDB4MTMsMHhhYywweDEwLDB4ZmIsMHgwMCwweDNhLDB4ODAsMHgwNCwweGI0LDB4MDMsMHhhYywweDAwLDB4ZmIsMHgwNCB9fSwKLSB7MTYsIDB4YWNlMCwgMCwgezB4M2UsMHhjMCwweDBmLDB4YTQsMHhiMywweGUwLDB4MDAsMHhmYiwweDgwLDB4MzIsMHhjMCwweDBmLDB4YjAsMHgwMywweGU4LDB4MDAgfX0sCi0gezE2LCAweGFjZjAsIDAsIHsweGZiLDB4NDgsMHhiMiwweDgwLDB4MGYsMHhiMCwweDQzLDB4ZWEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhZDAwLCAwLCB7MHg0OCwweDExLDB4OWMsMHgwMiwweDg3LDB4NDQsMHgzOCwweGMwLDB4OGQsMHgzMCwweDAyLDB4NGMsMHgwMCwweGZmLDB4MDAsMHgyMSB9fSwKLSB7MTYsIDB4YWQxMCwgMCwgezB4YzAsMHgwOCwweDcwLDB4MDMsMHg5YywweDAwLDB4YjMsMHg1MCwweDIxLDB4ZDQsMHg0ZSwweDYyLDB4MDIsMHhkMCwweDAwLDB4YmYgfX0sCi0gezE2LCAweGFkMjAsIDAsIHsweDAwLDB4MzUsMHhkNCwweDA5LDB4NzAsMHgyMiwweGQ4LDB4MDAsMHhiZiwweDIyLDB4MjEsMHhjMCwweDBiLDB4NzIsMHgwMiwweGQyIH19LAotIHsxNiwgMHhhZDMwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDllLDB4NDAsMHg4NywweDgwLDB4MmQsMHhlMCB9fSwKLSB7MTYsIDB4YWQ0MCwgMCwgezB4MDksMHg3OCwweDAyLDB4ZGUsMHgwMCwweGI2LDB4ODAsMHgyOSwweGExLDB4MjgsMHg3YSwweDMyLDB4ZGUsMHgwMCwweDM3LDB4YTAgfX0sCi0gezE2LCAweGFkNTAsIDAsIHsweDI1LDB4ZTAsMHgwOSwweDc4LDB4MDYsMHhkMiwweDAwLDB4YjcsMHg4MCwweDIxLDB4ZTgsMHgwYiwweDc5LDB4MDIsMHhkZSwweDAwIH19LAotIHsxNiwgMHhhZDYwLCAwLCB7MHhiNywweDkwLDB4MjEsMHhlMCwweDBiLDB4NzksMHgwMiwweGYwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWQ3MCwgMCwgezB4NDgsMHgxNCwweGNjLDB4MDQsMHg4MywweDAxLDB4MjgsMHhjMCwweDg5LDB4YjAsMHgwYSwweDRmLDB4MDAsMHhiMiwweDAwLDB4MjAgfX0sCi0gezE2LCAweGFkODAsIDAsIHsweGM0LDB4ODgsMHgzMCwweDE2LDB4Y2YsMHgwMCwweGJiLDB4MDQsMHgyMCwweGMxLDB4MGEsMHgzMiwweDA2LDB4YzIsMHgwMCwweGIzIH19LAotIHsxNiwgMHhhZDkwLCAwLCB7MHgwMCwweDI0LDB4YzAsMHgwOSwweDMwLDB4NDIsMHhlZiwweDEwLDB4YjMsMHgwMCwweDIwLDB4YzAsMHgwYiwweDMwLDB4MDIsMHhkMiB9fSwKLSB7MTYsIDB4YWRhMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOCwweDAwLDB4NGEsMHgwMCwweDNlLDB4ODAgfX0sCi0gezE2LCAweGFkYjAsIDAsIHsweDJkLDB4YTAsMHgwYiwweGFhLDB4ODAsMHhmZSwweDAwLDB4MmIsMHg4MCwweDBjLDB4YTAsMHg0MywweGZiLDB4MzAsMHhmYSwweDAwIH19LAotIHsxNiwgMHhhZGMwLCAwLCB7MHgzZSwweDgwLDB4MGYsMHhhMCwweDgzLDB4ZmEsMHgwNCwweGZlLDB4MTgsMHgyMiwweDgwLDB4MGYsMHhhMCwweDAzLDB4ZmEsMHg4NCB9fSwKLSB7MTYsIDB4YWRkMCwgMCwgezB4ZjIsMHgwMCwweDMzLDB4YTIsMHgwZiwweGEwLDB4MDMsMHhmMiwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFkZTAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDAwLDB4ZjAsMHgwMCwweDNlLDB4MDAsMHgyZiwweDgwLDB4MDMsMHhhMCwweDIwLDB4ZmMsMHgwMiwweDNlIH19LAotIHsxNiwgMHhhZGYwLCAwLCB7MHgwMCwweDFmLDB4ODQsMHgwMywweGEwLDB4MDAsMHhmOCwweDQwLDB4M2UsMHgwMCwweDRmLDB4ODAsMHgwMSwweGUwLDB4NDAsMHhmOCB9fSwKLSB7MTYsIDB4YWUwMCwgMCwgezB4NDAsMHgzZSwweDAwLDB4MGQsMHg4MCwweDEzLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZDIgfX0sCi0gezE2LCAweGFlMTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4YzYsMHgwMCwweGQ5LDB4MDAsMHgzNiwweDQwIH19LAotIHsxNiwgMHhhZTIwLCAwLCB7MHgwZiwweDkwLDB4MGIsMHgwNCwweDAwLDB4YzksMHgwMCwweDM2LDB4NjgsMHg2YywweDk0LDB4MDMsMHhlNCwweDIwLDB4YjksMHg5MCB9fSwKLSB7MTYsIDB4YWUzMCwgMCwgezB4MzYsMHg0MCwweDBjLDB4OTQsMHgwMywweGU0LDB4MDAsMHgyOSwweDgwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweDI0LDB4MjAgfX0sCi0gezE2LCAweGFlNDAsIDAsIHsweGM5LDB4MDAsMHgzNiwweDQwLDB4MGYsMHg5MCwweDAzLDB4YzIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhZTUwLCAwLCB7MHg4MCwweDA0LDB4NjYsMHg1MCwweDg5LDB4MDAsMHgyMCwweDUwLDB4MDgsMHg5MCwweDAyLDB4MjQsMHgwOSwweGQ5LDB4MDAsMHgyMCB9fSwKLSB7MTYsIDB4YWU2MCwgMCwgezB4NDgsMHg0OCwweDkwLDB4MDYsMHhlNCwweDA0LDB4OTksMHhhMCwweDIyLDB4NDAsMHgwZCwweGI4LDB4MjIsMHg2NCwweDAwLDB4MDkgfX0sCi0gezE2LCAweGFlNzAsIDAsIHsweDUwLDB4MzIsMHg0MCwweDBiLDB4OTAsMHgwMiwweDI3LDB4OTAsMHg4OSwweDQwLDB4MmEsMHg0MCwweDBiLDB4OTAsMHgwMiwweGUwIH19LAotIHsxNiwgMHhhZTgwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwMSwweDI0LDB4MDAsMHg5OSwweDAwLDB4NjYsMHg0MiB9fSwKLSB7MTYsIDB4YWU5MCwgMCwgezB4MGEsMHhkMCwweDEyLDB4MzQsMHgwMCwweDg1LDB4MDAsMHgyNiwweDQwLDB4NGEsMHg5MCwweDAyLDB4ZTQsMHgwMSwweGI5LDB4MDEgfX0sCi0gezE2LCAweGFlYTAsIDAsIHsweDI0LDB4NDAsMHg1OCwweDkwLDB4MTIsMHhjNCwweDAwLDB4MjksMHg0MCwweDJlLDB4NDAsMHgwYiwweDEwLDB4MGEsMHgyNCwweDgwIH19LAotIHsxNiwgMHhhZWIwLCAwLCB7MHg4OSwweDA1LDB4MjYsMHg0MSwweDBiLDB4OTAsMHgwMiwweGM2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWVjMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4ODAsMHg4MSwweDIwLDB4NjEsMHg0OCwweDA4LDB4NTIsMHgwMiwweDE0LDB4ODEsMHg5NSwweDIwLDB4MjAgfX0sCi0gezE2LCAweGFlZDAsIDAsIHsweDQwLDB4MGEsMHgzNiwweDAyLDB4YzQsMHgwMCwweGIxLDB4MjAsMHgwMCwweDQ4LDB4NDEsMHgxMCwweDQyLDB4NDQsMHgwMSwweGExIH19LAotIHsxNiwgMHhhZWUwLCAwLCB7MHgwMCwweDI0LDB4NDgsMHgwYiwweDEyLDB4MTIsMHgwNCwweDgwLDB4ODEsMHgyMCwweDI4LDB4NDgsMHgwYiwweDEyLDB4MDIsMHhjYSB9fSwKLSB7MTYsIDB4YWVmMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDAwLDB4ZDgsMHg1MCwweDM2LDB4MDAgfX0sCi0gezE2LCAweGFmMDAsIDAsIHsweDBlLDB4ODUsMHgyMywweDIxLDB4NDIsMHg4YywweDU0LDB4MzQsMHgxNCwweDBlLDB4ODAsMHgwMiwweGUxLDB4NDAsMHhmOCwweDUwIH19LAotIHsxNiwgMHhhZjEwLCAwLCB7MHgzNiwweDE0LDB4MDQsMHg4MCwweDAzLDB4ZTEsMHg0NCwweGU4LDB4NTAsMHg3ZSwweDE1LDB4MGYsMHg4NSwweDAzLDB4MjEsMHg0MiB9fSwKLSB7MTYsIDB4YWYyMCwgMCwgezB4NGEsMHgwMCwweDM2LDB4MTQsMHgwZiwweDgwLDB4MDMsMHhlZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFmMzAsIDAsIHsweDk4LDB4MWQsMHhjNCwweDQwLDB4ZjksMHgxMCwweDFlLDB4NDQsMHg0ZSwweDkxLDB4MDMsMHhlNCwweDQwLDB4ZjksMHgxMCwweDNmIH19LAotIHsxNiwgMHhhZjQwLCAwLCB7MHhjMCwweDBkLDB4OTEsMHgwMywweGY0LDB4MDAsMHhkOSwweDE0LDB4M2UsMHg0NCwweDBmLDB4OTAsMHgwMywweDc0LDB4MDAsMHhkZCB9fSwKLSB7MTYsIDB4YWY1MCwgMCwgezB4MDAsMHg3YSwweDQ0LDB4MGYsMHg5MSwweDAzLDB4ZjQsMHg0MCwweGY5LDB4MzgsMHgzZiwweDQ0LDB4MGYsMHg5MywweDgzLDB4ZTcgfX0sCi0gezE2LCAweGFmNjAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDAxLDB4ZjYsMHg4MCwweGY5LDB4YTQsMHgzZiwweDY4IH19LAotIHsxNiwgMHhhZjcwLCAwLCB7MHgwZSwweDllLDB4NDMsMHg2NywweDgwLDB4ZDksMHhlNCwweDNmLDB4NDEsMHgwZiwweGQ4LDB4NDMsMHgwNCwweDAwLDB4ZWQsMHhjMCB9fSwKLSB7MTYsIDB4YWY4MCwgMCwgezB4MzYsMHg0MCwweDBjLDB4OTAsMHgwMywweGU0LDB4MDAsMHhkNSwweDQwLDB4MzIsMHg0MCwweDBjLDB4OTAsMHgwMywweGY0LDB4MDAgfX0sCi0gezE2LCAweGFmOTAsIDAsIHsweGRkLDB4MDAsMHgzMiwweDQwLDB4MmMsMHg5YSwweDAzLDB4YzYsMHgwMSwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhZmEwLCAwLCB7MHgzOCwweDEwLDB4ZTAsMHgwMCwweGU4LDB4YzAsMHgyZSwweDE0LDB4NGQsMHg4ZiwweDIyLDB4MjMsMHhjMCwweGY4LDB4ZjAsMHhhYSB9fSwKLSB7MTYsIDB4YWZiMCwgMCwgezB4MDAsMHgwYywweDgwLDB4MDMsMHhhMiwweGEwLDB4ZDgsMHg4MiwweDIyLDB4MDAsMHgwOCwweDgwLDB4MDIsMHhlOCwweDAwLDB4ZDggfX0sCi0gezE2LCAweGFmYzAsIDAsIHsweDgwLDB4MmEsMHgwMCwweDA4LDB4ODAsMHgwMiwweGU4LDB4MDgsMHg4OCwweGE4LDB4MzYsMHgwMCwweDQ4LDB4OGEsMHg4MiwweGNlIH19LAotIHsxNiwgMHhhZmQwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM1LDB4MDAsMHhiMSwweDQ4LDB4MmUsMHg0MCB9fSwKLSB7MTYsIDB4YWZlMCwgMCwgezB4MGEsMHgxMiwweDIyLDB4NDQsMHgwMCwweDkxLDB4MDQsMHhhNCwweDQxLDB4MGEsMHg5NCwweDA2LDB4MjQsMHgwMCwweDkxLDB4NDIgfX0sCi0gezE2LCAweGFmZjAsIDAsIHsweDI0LDB4NDEsMHgwOSwweDEwLDB4MDIsMHhlNCwweDAxLDB4OTEsMHgyMCwweDI0LDB4NDAsMHgwOSwweDEwLDB4MDIsMHhjNCwweDAxIH19LAotIHsxNiwgMHhiMDAwLCAwLCB7MHg5MSwweDAwLDB4MmMsMHg0MCwweDA5LDB4MTQsMHgwMiwweGMyLDB4MDEsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjAxMCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MDAsMHhhOSwweDAwLDB4MmUsMHg0MCwweDQ4LDB4MTAsMHgwMiwweDI0LDB4MDAsMHhiOSwweDQwLDB4YWEgfX0sCi0gezE2LCAweGIwMjAsIDAsIHsweDQwLDB4MTgsMHhiMCwweDAyLDB4ZTQsMHgwOCwweDk5LDB4MDAsMHgyMiwweDQwLDB4MTksMHg5MCwweDQ2LDB4ZTQsMHg4MCwweDk5IH19LAotIHsxNiwgMHhiMDMwLCAwLCB7MHgwNCwweDJlLDB4NDAsMHgwOSwweDkwLDB4MDIsMHhlNCwweDAxLDB4OTksMHgwNCwweDI2LDB4NTAsMHgwOSwweDkwLDB4MDIsMHhjNiB9fSwKLSB7MTYsIDB4YjA0MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTEsMHhlNCwweDAwLDB4ZjksMHgwNiwweDNjLDB4NDAgfX0sCi0gezE2LCAweGIwNTAsIDAsIHsweDBhLDB4OTAsMHgwMywweDY0LDB4MDIsMHhkOSwweDAwLDB4YjYsMHg1MCwweDBlLDB4OTAsMHgyMywweDI2LDB4MDEsMHhmOSwweDAwIH19LAotIHsxNiwgMHhiMDYwLCAwLCB7MHgzNiwweDQwLDB4MjksMHg5NCwweDgzLDB4ZTQsMHgwMCwweGQ5LDB4NDgsMHgzNiwweDQwLDB4MGQsMHg5MCwweDAzLDB4YzcsMHgwMCB9fSwKLSB7MTYsIDB4YjA3MCwgMCwgezB4ZDEsMHgwNywweDNhLDB4NTAsMHhjZCwweDkwLDB4MDMsMHhlOCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGIwODAsIDAsIHsweDI4LDB4MDEsMHhhNCwweDA4LDB4ZTksMHgwMCwweDNlLDB4NDAsMHg4ZiwweDkwLDB4MDMsMHhjNCwweDA4LDB4ZjEsMHgwMCwweDNhIH19LAotIHsxNiwgMHhiMDkwLCAwLCB7MHg2OCwweDhmLDB4OTAsMHgwMywweGE0LDB4NDEsMHhmOSwweDAwLDB4YmUsMHg0MCwweDBlLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSB9fSwKLSB7MTYsIDB4YjBhMCwgMCwgezB4YzAsMHgzOCwweDQwLDB4MmUsMHg5MCwweDAzLDB4ZTYsMHg0MCwweGU5LDB4MDAsMHgzZSwweDY4LDB4MDYsMHg5MCwweDAzLDB4Y2EgfX0sCi0gezE2LCAweGIwYjAsIDAsIHsweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGQ4LDB4MDUsMHgzZSwweDAwIH19LAotIHsxNiwgMHhiMGMwLCAwLCB7MHgwNywweDgwLDB4MGIsMHgyMCwweDAwLDB4ZTgsMHg0MCwweDNlLDB4MTAsMHgwZCwweDgyLDB4MDMsMHg2MCwweDAwLDB4YzgsMHgwMCB9fSwKLSB7MTYsIDB4YjBkMCwgMCwgezB4YjIsMHgwMCwweDhkLDB4ODMsMHgwMywweGUwLDB4MDAsMHhkOCwweDUwLDB4M2EsMHgwMCwweDFlLDB4ODAsMHgwMywweGUxLDB4MjQgfX0sCi0gezE2LCAweGIwZTAsIDAsIHsweGY4LDB4MDAsMHhiMiwweDAwLDB4MGYsMHg4MCwweDAzLDB4MDIsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiMGYwLCAwLCB7MHgyOCwweDA1LDB4MzgsMHgwMCwweDhhLDB4MDQsMHgyZiwweDg0LDB4NmEsMHhhMCwweDBiLDB4ZTgsMHgwOCwweDhlLDB4MDAsMHgzZCB9fSwKLSB7MTYsIDB4YjEwMCwgMCwgezB4ODAsMHg4OCwweGVjLDB4MDMsMHg2OCwweDEwLDB4YTYsMHgwMSwweDM2LDB4ODAsMHgwOCwweGE4LDB4MDAsMHhjOCwweDEwLDB4OGUgfX0sCi0gezE2LCAweGIxMTAsIDAsIHsweDEwLDB4MjIsMHg4MCwweDA4LDB4YTAsMHgwMiwweGZiLDB4MjAsMHhiZSwweDUxLDB4MmEsMHg4MCwweDBiLDB4YTAsMHgwMiwweDgyIH19LAotIHsxNiwgMHhiMTIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDQxLDB4MjEsMHg5MywweDAwLDB4MmMsMHhmMCB9fSwKLSB7MTYsIDB4YjEzMCwgMCwgezB4MzksMHgzMCwweDA2LDB4MGMsMHgwMCwweGEzLDB4MDAsMHgyOCwweDA4LDB4MjgsMHhiYywweDAyLDB4MmMsMHgwMCwweDgzLDB4ODAgfX0sCi0gezE2LCAweGIxNDAsIDAsIHsweDJhLDB4YzAsMHgwOCwweDMwLDB4MDAsMHhjYywweDAwLDB4OWEsMHg4MCwweDI4LDB4YzAsMHgwYSwweDMwLDB4MDIsMHhjZCwweDAwIH19LAotIHsxNiwgMHhiMTUwLCAwLCB7MHhiMywweDA0LDB4NjIsMHhjMSwweDBiLDB4MzAsMHgwMiwweDBhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjE2MCwgMCwgezB4YTAsMHgwMSwweDFlLDB4MDQsMHgwNywweDExLDB4MmMsMHhkMCwweDBhLDB4MzIsMHgyMiwweGRjLDB4YzEsMHg4NywweDAwLDB4NmQgfX0sCi0gezE2LCAweGIxNzAsIDAsIHsweGQwLDB4MDgsMHgzNCwweDAyLDB4N2MsMHgwMCwweGE3LDB4MDgsMHgyNCwweGM4LDB4MDgsMHg3MCwweDAyLDB4ZGMsMHg4MCwweDBmIH19LAotIHsxNiwgMHhiMTgwLCAwLCB7MHgwMCwweDIxLDB4YzQsMHgwOCwweDczLDB4MDYsMHhkYywweDAwLDB4YjIsMHgwMCwweDYxLDB4YzgsMHgwYiwweDNhLDB4MDIsMHg4OCB9fSwKLSB7MTYsIDB4YjE5MCwgMCwgezB4MDQsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgwYSwweDAwLDB4NTcsMHg4MSwweDJkLDB4YTAgfX0sCi0gezE2LCAweGIxYTAsIDAsIHsweDJkLDB4N2MsMHgwMiwweDNlLDB4ODIsMHhlMywweGUwLDB4M2IsMHhlMCwweDBjLDB4NzgsMHgwMywweDFlLDB4MjAsMHhjNywweDgwIH19LAotIHsxNiwgMHhiMWIwLCAwLCB7MHhiOSwweGU4LDB4MmMsMHg3OCwweDAzLDB4ZmYsMHg4MCwweGQ2LDB4ODAsMHgzYiwweGVjLDB4MDIsMHg3YSwweDAzLDB4ZGUsMHgwMCB9fSwKLSB7MTYsIDB4YjFjMCwgMCwgezB4ZjcsMHg4MSwweDMxLDB4ZWMsMHg4ZiwweDdjLDB4MDMsMHgwYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGIxZDAsIDAsIHsweDA4LDB4MWQsMHhhYywweDAwLDB4ZmIsMHgwMCwweDFlLDB4ODAsMHgyMywweGI2LDB4ODMsMHhlZCwweGEwLDB4ZGIsMHg2NCwweDNlIH19LAotIHsxNiwgMHhiMWUwLCAwLCB7MHhjMCwweDBlLDB4YjAsMHgwMywweGVkLDB4YzAsMHhmMiwweDAwLDB4M2UsMHhkNCwweDBhLDB4YjAsMHgwMywweGVjLDB4MzAsMHhlZSB9fSwKLSB7MTYsIDB4YjFmMCwgMCwgezB4NjQsMHgzZSwweGMwLDB4MDcsMHhiMCwweGMzLDB4ZTgsMHgwMCwweGZiLDB4MDEsMHgzZSwweGM4LDB4MGYsMHhiOCwweDAzLDB4YzIgfX0sCi0gezE2LCAweGIyMDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZjYsMHgwMCwweGVmLDB4ODAsMHgzYiwweGUwIH19LAotIHsxNiwgMHhiMjEwLCAwLCB7MHgwZiwweGY4LDB4NjMsMHg3ZSwweDA0LDB4Y2YsMHhjMCwweGI3LDB4MjAsMHgwZSwweGY4LDB4MDMsMHhmYywweDAwLDB4YzcsMHg4MCB9fSwKLSB7MTYsIDB4YjIyMCwgMCwgezB4MzMsMHhmMCwweDBjLDB4Y2MsMHgwMywweGZlLDB4MDgsMHhmNywweGMxLDB4MzMsMHhlMCwweDRmLDB4ZjgsMHgwMywweGIyLDB4NDAgfX0sCi0gezE2LCAweGIyMzAsIDAsIHsweGZmLDB4YTAsMHgzMSwweGU2LDB4MGMsMHhmOCwweDAzLDB4MTAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiMjQwLCAwLCB7MHhhOCwweDExLDB4OWMsMHgwMCwweGVmLDB4MDIsMHgyMSwweDQwLDB4MmQsMHg3MCwweDAyLDB4MWMsMHgwMCwweGY3LDB4MTAsMHgyOSB9fSwKLSB7MTYsIDB4YjI1MCwgMCwgezB4NDAsMHgwOCwweDcwLDB4MjIsMHhmYywweGMwLDB4YTcsMHgwMCwweDNkLDB4YzAsMHgwOCwweDQwLDB4MDIsMHhkYywweDAwLDB4YjcgfX0sCi0gezE2LCAweGIyNjAsIDAsIHsweDQwLDB4MjEsMHhjMCwweDBiLDB4NzAsMHgwMiwweGRhLDB4ODAsMHhiNywweDI0LDB4MjksMHhjNiwweDQ4LDB4ZjAsMHgwMiwweDJhIH19LAotIHsxNiwgMHhiMjcwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDljLDB4MDAsMHhhNywweDAwLDB4MjgsMHg4NCB9fSwKLSB7MTYsIDB4YjI4MCwgMCwgezB4MGIsMHgzMCwweDAyLDB4MGMsMHgwMCwweDkzLDB4MDAsMHgyNSwweDgwLDB4MGEsMHg2MSwweDAyLDB4ZGMsMHgwMSwweGE3LDB4MTAgfX0sCi0gezE2LCAweGIyOTAsIDAsIHsweDI0LDB4YzAsMHgwOCwweDQwLDB4ODIsMHhkYywweDAwLDB4OWYsMHgwMCwweDI1LDB4YzQsMHgwYiwweDcwLDB4MDIsMHg5NCwweDI1IH19LAotIHsxNiwgMHhiMmEwLCAwLCB7MHhiNywweDMyLDB4MjMsMHhjNCwweDFiLDB4NzAsMHgwMiwweDAwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjJiMCwgMCwgezB4MjAsMHgxNCwweGNjLDB4MGMsMHhhMywweDAwLDB4MjAsMHgwMCwweDI5LDB4MzAsMHgwYSwweDBjLDB4MDAsMHhhMywweDAwLDB4NmMgfX0sCi0gezE2LCAweGIyYzAsIDAsIHsweDAwLDB4MDgsMHgxMCwweDQyLDB4Y2QsMHgxMCwweGFhLDB4MDAsMHhhYywweGMwLDB4MDAsMHgwNCwweDAyLDB4Y2QsMHgwMCwweGJiIH19LAotIHsxNiwgMHhiMmQwLCAwLCB7MHgxMCwweDI0LDB4YzAsMHgwMywweDMwLDB4NDIsMHhjMywweDA5LDB4YjMsMHgwMCwweDJjLDB4ZDAsMHgwYSwweDMwLDB4MDIsMHgxOCB9fSwKLSB7MTYsIDB4YjJlMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHg4MCwweDAwLDB4ZWYsMHgwMCwweDNhLDB4NDAgfX0sCi0gezE2LCAweGIyZjAsIDAsIHsweDA3LDB4ZjAsMHg0MywweDNjLDB4MDAsMHg5ZiwweGMwLDB4YjYsMHgxNCwweDBlLDB4ODAsMHgwNiwweGZjLDB4MDEsMHhjYiwweDAxIH19LAotIHsxNiwgMHhiMzAwLCAwLCB7MHgzNywweGMwLDB4YWMsMHhiNCwweDAyLDB4ZmMsMHgwMCwweGQ5LDB4MDEsMHgzNywweGMwLDB4NGIsMHhmMCwweDEzLDB4YWUsMHgwOCB9fSwKLSB7MTYsIDB4YjMxMCwgMCwgezB4ZmIsMHgwMCwweDMzLDB4ZDAsMHgyZSwweGYwLDB4MGIsMHgyYSwweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGIzMjAsIDAsIHsweDgwLDB4MDAsMHhlYywweDAwLDB4ZmIsMHgwNSwweDNlLDB4NDAsMHgwZiwweDMwLDB4MDMsMHhhYywweDE0LDB4ZmIsMHhhMCwweDNhIH19LAotIHsxNiwgMHhiMzMwLCAwLCB7MHhjMCwweDBmLDB4ODQsMHg0MywweGVjLDB4MDEsMHhmOSwweDQwLDB4M2UsMHhjMCwweDBmLDB4YTIsMHgwMywweGVjLDB4MjEsMHhmOSB9fSwKLSB7MTYsIDB4YjM0MCwgMCwgezB4MDAsMHgzYSwweGMwLDB4MGYsMHhiMCwweDAzLDB4ZTQsMHgyMCwweGYwLDB4MDAsMHhiYSwweGMwLDB4MGQsMHhiMCwweDAzLDB4ZTAgfX0sCi0gezE2LCAweGIzNTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZjgsMHgwMCwweGQ3LDB4MDEsMHgzNSwweDY4IH19LAotIHsxNiwgMHhiMzYwLCAwLCB7MHg2ZCwweGYwLDB4MDMsMHgzYywweDAxLDB4ZTcsMHgwMCwweDMzLDB4YzAsMHgwZCwweGMwLDB4MDMsMHhmYywweDI0LDB4Y2YsMHgwMiB9fSwKLSB7MTYsIDB4YjM3MCwgMCwgezB4MzcsMHhjMCwweDBkLDB4ZDIsMHgwMiwweGZjLDB4MDAsMHhkZiwweDAxLDB4MzMsMHhjMCwweDVlLDB4NzAsMHgzMywweDFjLDB4MTggfX0sCi0gezE2LCAweGIzODAsIDAsIHsweGNmLDB4NDEsMHgzMSwweGMyLDB4MGMsMHhmMCwweDAzLDB4NDAsMHg0MCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiMzkwLCAwLCB7MHg4MSwweDAwLDB4NmMsMHgwMCwweDhiLDB4MDAsMHgyMiwweDUyLDB4MmEsMHhiMCwweDAzLDB4NmMsMHgwMCwweGFiLDB4MDAsMHgyOCB9fSwKLSB7MTYsIDB4YjNhMCwgMCwgezB4YzAsMHgwYSwweDhjLDB4MDIsMHhlYywweDEwLDB4OGIsMHhlMCwweDIyLDB4YzAsMHgwZiwweDgwLDB4MDIsMHhjYywweDAwLDB4OGIgfX0sCi0gezE2LCAweGIzYjAsIDAsIHsweDgwLDB4MjIsMHhjMCwweDA4LDB4YjAsMHgwMiwweDJhLDB4MTAsMHhkOSwweDgwLDB4MjIsMHhjMCwweGM4LDB4YjAsMHgwMiwweGUwIH19LAotIHsxNiwgMHhiM2MwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDI0LDB4MDEsMHg5YiwweDAwLDB4MjYsMHg4MCB9fSwKLSB7MTYsIDB4YjNkMCwgMCwgezB4MjksMHhiMCwweDYyLDB4MGMsMHgwMCwweGFiLDB4MDEsMHg2YSwweDAwLDB4MDgsMHg5OCwweDAyLDB4Y2MsMHgwMCwweDliLDB4ODMgfX0sCi0gezE2LCAweGIzZTAsIDAsIHsweDJlLDB4YzAsMHhjYiwweGI0LDB4MTIsMHhlYywweDAzLDB4OGIsMHg4MCwweDI4LDB4YzAsMHgwYSwweGIwLDB4MDYsMHhhMiwweDAwIH19LAotIHsxNiwgMHhiM2YwLCAwLCB7MHg4YiwweDAyLDB4NjIsMHhjMCwweDA4LDB4YjAsMHgwMiwweGUwLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjQwMCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDEsMHg4MywweDE0LDB4MjAsMHgwMCwweDBhLDB4MzAsMHgwMiwweDRjLDB4MDAsMHg4MywweDAwLDB4MmEgfX0sCi0gezE2LCAweGI0MTAsIDAsIHsweDQwLDB4MGEsMHgxMCwweDAwLDB4Y2MsMHgwMiwweDkzLDB4MDAsMHgyOCwweGMwLDB4MGEsMHgyMCwweDAyLDB4ZWMsMHgwMCwweDAzIH19LAotIHsxNiwgMHhiNDIwLCAwLCB7MHgwMCwweDIwLDB4YzAsMHgwOCwweDMwLDB4MTYsMHgwMCwweDgwLDB4OTEsMHgwMCwweDYwLDB4YzAsMHgwOCwweDMwLDB4MDIsMHhjMiB9fSwKLSB7MTYsIDB4YjQzMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2YywweDAwLDB4ZGIsMHgwMCwweDM2LDB4ODAgfX0sCi0gezE2LCAweGI0NDAsIDAsIHsweDJkLDB4ZjAsMHgwMywweDNjLDB4MDAsMHhhZiwweDAwLDB4M2EsMHg4MCwweDBkLDB4ODAsMHgwMywweGZjLDB4MDAsMHg1YiwweDAwIH19LAotIHsxNiwgMHhiNDUwLCAwLCB7MHgzNywweGMwLDB4MDksMHg5MCwweDAzLDB4ZmMsMHgwMCwweGRmLDB4MDAsMHgzMywweGMwLDB4MGEsMHhmMCwweDAzLDB4YTQsMHgyMCB9fSwKLSB7MTYsIDB4YjQ2MCwgMCwgezB4Y2IsMHgwMCwweGIzLDB4YzAsMHg4YywweGIwLDB4MDMsMHg0MCwweDAyLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI0NzAsIDAsIHsweGEwLDB4MWQsMHhmYywweDA0LDB4ZmYsMHgyMCwweDBmLDB4MDAsMHgyNywweGYwLDB4MDMsMHhmYywweDAwLDB4ZmYsMHgwMCwweDJkIH19LAotIHsxNiwgMHhiNDgwLCAwLCB7MHgwMCwweDBiLDB4ZDAsMHgyNywweGZjLDB4MDAsMHhlZiwweDAwLDB4MzcsMHhjMCwweDBmLDB4YzAsMHg0MywweGZjLDB4MDAsMHhmZiB9fSwKLSB7MTYsIDB4YjQ5MCwgMCwgezB4MDAsMHgzZiwweGMwLDB4MGQsMHhmMCwweDBiLDB4ZTAsMHgwMCwweGY1LDB4MDAsMHgzZiwweGMwLDB4MWYsMHhmMCwweDAzLDB4ZTggfX0sCi0gezE2LCAweGI0YTAsIDAsIHsweDA3LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAxLDB4ZjQsMHhjMCwweGZjLDB4MjIsMHg3ZiwweGMwIH19LAotIHsxNiwgMHhiNGIwLCAwLCB7MHgwYywweGQwLDB4NDMsMHgzNiwweDAwLDB4YzQsMHg4MSwweDM0LDB4YzAsMHgxYywweDg5LDB4MDcsMHhmMiwweDgwLDB4Y2YsMHg4MCB9fSwKLSB7MTYsIDB4YjRjMCwgMCwgezB4MzMsMHg2MCwweDBmLDB4NzksMHgwMywweDNjLDB4ZTAsMHhjZiwweDA4LDB4MzMsMHg0OCwweDBkLDB4YzQsMHgwMywweGYwLDB4NTAgfX0sCi0gezE2LCAweGI0ZDAsIDAsIHsweGRjLDB4OTAsMHgzNywweGNjLDB4MGYsMHhmOCwweDAzLDB4ZjAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiNGUwLCAwLCB7MHg4MCwweDEwLDB4ZTksMHg5MCwweGI4LDB4ODAsMHg3ZSwweGU0LDB4ODgsMHg5OSwweDBhLDB4MjYsMHgwOCwweGE5LDB4ODAsMHgyMiB9fSwKLSB7MTYsIDB4YjRmMCwgMCwgezB4ZjQsMHgyYywweDk5LDB4MDMsMHhhNywweDAyLDB4ODksMHg4MCwweDIyLDB4MzQsMHgwYiwweDlhLDB4MDMsMHg3ZCwweDAwLDB4ZGYgfX0sCi0gezE2LCAweGI1MDAsIDAsIHsweDQ4LDB4MmIsMHg2MCwweDA4LDB4MDUsMHgwMiwweGU1LDB4MDAsMHg4MiwweDIwLDB4MjIsMHhjNCwweDhiLDB4YjAsMHgwMiwweGUwIH19LAotIHsxNiwgMHhiNTEwLCAwLCB7MHgwNiwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGM1LDB4MDAsMHhiMCwweDEwLDB4MmMsMHhjMCB9fSwKLSB7MTYsIDB4YjUyMCwgMCwgezB4MmEsMHgwMCwweDAyLDB4YTQsMHgwOCwweGE4LDB4MDQsMHhlMCwweDgwLDB4MGIsMHgwMCwweDAyLDB4YzQsMHg0MSwweGIyLDB4MDQgfX0sCi0gezE2LCAweGI1MzAsIDAsIHsweGE0LDB4MGEsMHgwYiwweGIwLDB4MDIsMHg4YywweDgxLDB4ODMsMHgyMCwweDYwLDB4NTAsMHg5OCwweDEyLDB4MTIsMHg4YiwweDgwIH19LAotIHsxNiwgMHhiNTQwLCAwLCB7MHg4OSwweDAwLDB4MmMsMHhjOCwweDBiLDB4MzAsMHgwMiwweGUyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjU1MCwgMCwgezB4YzAsMHgxMSwweGFjLDB4MjAsMHhiYiwweDAyLDB4MmEsMHhjMCwweDBhLDB4ODgsMHgwMiwweGE0LDB4MDgsMHhhOSwweDgwLDB4YTIgfX0sCi0gezE2LCAweGI1NjAsIDAsIHsweGUxLDB4MWIsMHg5YywweDIyLDB4ZTYsMHgwMCwweGI4LDB4NDAsMHgyNiwweDMwLDB4MGIsMHg5MCwweDAyLDB4Y2MsMHgwMSwweDkzIH19LAotIHsxNiwgMHhiNTcwLCAwLCB7MHgwNCwweDJhLDB4NDAsMHgzOSwweDk4LDB4ODIsMHhlYywweDE0LDB4OGIsMHg2NSwweDJhLDB4YzAsMHgwYiwweGIyLDB4MDIsMHhmOCB9fSwKLSB7MTYsIDB4YjU4MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlNywweDAwLDB4YjgsMHg0OCwweDJlLDB4MDAgfX0sCi0gezE2LCAweGI1OTAsIDAsIHsweDBlLDB4ODgsMHg0MywweDg0LDB4MDAsMHhlMywweGMxLDB4MzYsMHhlOCwweDBmLDB4OWMsMHgxMiwweGUyLDB4ODAsMHhmMywweGMwIH19LAotIHsxNiwgMHhiNWEwLCAwLCB7MHgzNiwweDcwLDB4NWYsMHhhOCwweDIzLDB4YWMsMHgwMSwweGNiLDB4MDQsMHgyMiwweDQwLDB4NGQsMHg4NCwweDAzLDB4ZTIsMHgwMCB9fSwKLSB7MTYsIDB4YjViMCwgMCwgezB4ZDgsMHgwMCwweDNlLDB4YzAsMHgwZiwweDkwLDB4MDMsMHhkMCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI1YzAsIDAsIHsweGUwLDB4MDEsMHhiMywweDA5LDB4ZmUsMHgxMCwweDNlLDB4ODEsMHgwZCwweGMwLDB4MDMsMHg3NCwweDBjLDB4ZmYsMHgwMCwweDNkIH19LAotIHsxNiwgMHhiNWQwLCAwLCB7MHhjMSwweDhjLDB4ZDAsMHg4MywweDE0LDB4MDAsMHhjZCwweDIwLDB4M2EsMHg0MCwweDBkLDB4Y2EsMHgwMSwweDdjLDB4MDAsMHhmZiB9fSwKLSB7MTYsIDB4YjVlMCwgMCwgezB4MDAsMHgxZiwweDQwLDB4MGUsMHhjMCwweDIzLDB4ZjIsMHg0NiwweGZlLDB4ODQsMHgzNywweGMwLDB4MGYsMHhkOCwweDAzLDB4ZjggfX0sCi0gezE2LCAweGI1ZjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMCwweGRkLDB4MDIsMHgzZCwweDQwIH19LAotIHsxNiwgMHhiNjAwLCAwLCB7MHgwZSwweDkwLDB4MDMsMHhhYywweDAwLDB4ZWIsMHg0OCwweDNlLDB4ZDAsMHgwYywweDgwLDB4NjMsMHhhMiwweDA4LDB4Y2EsMHgwMCB9fSwKLSB7MTYsIDB4YjYxMCwgMCwgezB4MzIsMHgwOCwweDBjLDB4YjAsMHgwMywweGFjLDB4MDgsMHhlYiwweDAwLDB4M2UsMHg0MCwweDBjLDB4ZDQsMHg4MywweDU4LDB4MjAgfX0sCi0gezE2LCAweGI2MjAsIDAsIHsweGY5LDB4NDIsMHgzMiwweGMwLDB4MGMsMHhiMCwweDAzLDB4ZDAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiNjMwLCAwLCB7MHhjOCwweDA1LDB4MjgsMHgwMiwweGRiLDB4MDAsMHgyZSwweGUwLDB4MjgsMHgzYSwweDAyLDB4MmUsMHgwMCwweGRiLDB4NjAsMHg3NiB9fSwKLSB7MTYsIDB4YjY0MCwgMCwgezB4ZTAsMHgwZCwweDhjLDB4MDIsMHhlMCwweDAwLDB4ODgsMHgwMiwweDM2LDB4NTgsMHg2OCwweDE1LDB4ODMsMHg3YywweDA4LDB4YmYgfX0sCi0gezE2LCAweGI2NTAsIDAsIHsweDAwLDB4MmQsMHg2MCwweDA4LDB4OTAsMHgwMiwweGE5LDB4MDAsMHhiMywweDA1LDB4MjMsMHhjMCwweDA4LDB4YjAsMHgwMiwweGYyIH19LAotIHsxNiwgMHhiNjYwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRjLDB4MTAsMHg4MCwweDAwLDB4MGMsMHhjMSB9fSwKLSB7MTYsIDB4YjY3MCwgMCwgezB4MDgsMHgxYywweDgyLDB4MDYsMHgwMCwweDkzLDB4YzAsMHgyMCwweGY2LDB4MGEsMHgyMCwweDAyLDB4MDgsMHgwMCwweDkzLDB4MDAgfX0sCi0gezE2LCAweGI2ODAsIDAsIHsweDI0LDB4NjAsMHgwOSwweDNjLDB4MDIsMHgwYywweDAwLDB4ODMsMHgwMCwweDJjLDB4NjAsMHgwOSwweDAxLDB4MTIsMHgwMCwweDQwIH19LAotIHsxNiwgMHhiNjkwLCAwLCB7MHhiMCwweDAwLDB4ZTAsMHhjMCwweDA4LDB4MzAsMHgwMiwweDcwLDB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjZhMCwgMCwgezB4MjAsMHg0MSwweDBhLDB4NDAsMHg4NiwweDgxLDB4MmQsMHhlMCwweDU4LDB4MTgsMHgwYSwweDE2LDB4YTAsMHg5NywweDgwLDB4MjUgfX0sCi0gezE2LCAweGI2YjAsIDAsIHsweGU5LDB4MTksMHg3OCwweDgyLDB4ZDYsMHgwMCwweDk3LDB4ODAsMHgyNSwweGEwLDB4MTksMHhmOCwweDAyLDB4NWUsMHgwMCwweGI3IH19LAotIHsxNiwgMHhiNmMwLCAwLCB7MHg4MCwweDJkLDB4NjAsMHgyOCwweDQ4LDB4MTIsMHg5NiwweDAwLDB4YjQsMHg4MCwweDIxLDB4ZTAsMHgyOCwweDc4LDB4MDIsMHhjOCB9fSwKLSB7MTYsIDB4YjZkMCwgMCwgezB4MDQsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDAwLDB4ODEsMHgzMCwweDNjLDB4YzIgfX0sCi0gezE2LCAweGI2ZTAsIDAsIHsweDBlLDB4MDAsMHgwMiwweDg0LDB4MDAsMHhlMywweDQwLDB4MjgsMHhlOCwweDRjLDB4MjksMHgwMywweDBjLDB4MDAsMHhkMywweDAwIH19LAotIHsxNiwgMHhiNmYwLCAwLCB7MHgzNCwweGM0LDB4MGQsMHgzMSwweDAzLDB4OGMsMHgwOCwweGUzLDB4MDAsMHgzYywweDQ2LDB4MGMsMHgyMCwweDAzLDB4MDAsMHg4MCB9fSwKLSB7MTYsIDB4YjcwMCwgMCwgezB4ZjIsMHgwMCwweDMyLDB4YzAsMHgwYywweDMwLDB4MDMsMHhkMiwweDAyLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI3MTAsIDAsIHsweDQwLDB4MTksMHhiOCwweDAwLDB4ZmYsMHgxMCwweDJmLDB4YzAsMHgwZiwweGMwLDB4MjMsMHhjNCwweDgwLDB4N2YsMHgxMCwweDNlIH19LAotIHsxNiwgMHhiNzIwLCAwLCB7MHhjMCwweDBmLDB4YjEsMHgwMywweGRjLDB4MDAsMHhlNywweDAwLDB4M2YsMHg4MCwweDA2LDB4ZjEsMHg0MywweGZjLDB4MDAsMHhmZiB9fSwKLSB7MTYsIDB4YjczMCwgMCwgezB4MDgsMHg3ZCwweDUwLDB4MGUsMHhlMSwweDIzLDB4YjQsMHgwOCwweGZlLDB4MTAsMHgzZiwweGM0LDB4MGYsMHhmMCwweDAzLDB4ZDAgfX0sCi0gezE2LCAweGI3NDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZTQsMHgwMiwweGNjLDB4MDAsMHgzZSwweDAwIH19LAotIHsxNiwgMHhiNzUwLCAwLCB7MHgyYywweGMwLDB4MDMsMHgwNCwweDAxLDB4Y2IsMHgwMCwweDMzLDB4NjAsMHgyYywweDkwLDB4MTMsMHhlOCwweDAwLDB4NzMsMHgwMCB9fSwKLSB7MTYsIDB4Yjc2MCwgMCwgezB4YjIsMHhjMSwweDBmLDB4YTAsMHgwMywweGVjLDB4ODAsMHhmYiwweDI4LDB4M2UsMHg1NCwweDFmLDB4ZDAsMHgwMywweGZlLDB4MDIgfX0sCi0gezE2LCAweGI3NzAsIDAsIHsweGM5LDB4ODAsMHgzMiwweGMwLDB4MGYsMHhiMCwweDAzLDB4Y2EsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiNzgwLCAwLCB7MHg0OCwweDExLDB4ODAsMHgwMCwweDg2LDB4MDAsMHgyZCwweDgwLDB4MDgsMHgyMCwweDAyLDB4MTQsMHgwOCwweDg3LDB4MDAsMHgyOSB9fSwKLSB7MTYsIDB4Yjc5MCwgMCwgezB4NDAsMHgwOCwweDcwLDB4MDIsMHhkYywweDAwLDB4YjcsMHgwMCwweDIxLDB4YzAsMHgwYiwweDYwLDB4MDIsMHg1YywweGEwLDB4OTcgfX0sCi0gezE2LCAweGI3YTAsIDAsIHsweDIwLDB4MmQsMHg0OCwweDBiLDB4NTAsMHgwMiwweGRjLDB4MTAsMHg4ZCwweDAwLDB4MjEsMHhjOCwweDBiLDB4NzAsMHgwMiwweGQyIH19LAotIHsxNiwgMHhiN2IwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDlmLDB4MDAsMHg4NSwweDgxLDB4MmMsMHg2MCB9fSwKLSB7MTYsIDB4YjdjMCwgMCwgezB4MTgsMHg1OCwweDAyLDB4ZGUsMHgyMCwweGI3LDB4ODIsMHgyOCwweDYwLDB4NWEsMHg3OCwweDUyLDB4ZGUsMHgxMCwweGJmLDB4ODAgfX0sCi0gezE2LCAweGI3ZDAsIDAsIHsweDIxLDB4ZTAsMHg0YiwweDc4LDB4MDYsMHhkZSwweDQwLDB4YjcsMHhhMCwweDJkLDB4NjksMHg5YiwweDc4LDB4MTIsMHhjZSwweDAwIH19LAotIHsxNiwgMHhiN2UwLCAwLCB7MHg4NywweDgwLDB4ZTEsMHhlNCwweDBiLDB4NzgsMHgwMiwweGMwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjdmMCwgMCwgezB4NDgsMHgxNCwweGVlLDB4MDAsMHg4MywweDAwLDB4MmMsMHhjMiwweDA4LDB4MzYsMHgwMiwweDhjLDB4MDgsMHg4MywweGYwLDB4NjggfX0sCi0gezE2LCAweGI4MDAsIDAsIHsweDQwLDB4MGEsMHgzZSwweDAyLDB4Y2QsMHg0MCwweGIzLDB4MDAsMHgyMCwweGUwLDB4MGIsMHgzMiwweDA2LDB4NGMsMHgwMCwweDliIH19LAotIHsxNiwgMHhiODEwLCAwLCB7MHgwMCwweDBjLDB4NDAsMHgwYiwweDMwLDB4MDIsMHhjZCwweDgwLDB4ODMsMHgwOCwweDIwLDB4YzAsMHgwYiwweGIxLDB4MDIsMHhkYSB9fSwKLSB7MTYsIDB4YjgyMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhiOCwweDAwLDB4Y2UsMHgwOCwweDNmLDB4YjAgfX0sCi0gezE2LCAweGI4MzAsIDAsIHsweDBjLDB4ZTQsMHgyMywweGRhLDB4MDIsMHhkZSwweDQwLDB4YmIsMHhiMiwweDBlLDB4ZTIsMHg0MywweGZhLDB4MDAsMHhmZSwweDAwIH19LAotIHsxNiwgMHhiODQwLCAwLCB7MHgzMywweDkwLDB4MGIsMHhlMCwweDAzLDB4ZTgsMHgwMCwweGZhLDB4MDAsMHgzZSwweDgxLDB4MGIsMHhlMCwweDEzLDB4ZjksMHgwOCB9fSwKLSB7MTYsIDB4Yjg1MCwgMCwgezB4Y2UsMHg0MCwweDMyLDB4ODAsMHgwZiwweGE4LDB4MDMsMHhmYSwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI4NjAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDI0LDB4OTgsMHgwOCwweDNjLDB4MDQsMHgwZiwweDAwLDB4MGIsMHg2MCwweDAwLDB4ZjgsMHg0MCwweDJlIH19LAotIHsxNiwgMHhiODcwLCAwLCB7MHgwMywweDBkLDB4ODAsMHgwMywweGUwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwNiwweDBiLDB4ODAsMHgwMywweGUwLDB4MDAsMHhkOCB9fSwKLSB7MTYsIDB4Yjg4MCwgMCwgezB4MDAsMHgzYywweDAwLDB4MDMsMHg4YywweDIzLDB4ZTEsMHgwMCwweGY4LDB4MDAsMHg3ZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZDIgfX0sCi0gezE2LCAweGI4OTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMiwweGM5LDB4MDAsMHgzZSwweDQwIH19LAotIHsxNiwgMHhiOGEwLCAwLCB7MHg4YywweDkwLDB4MDMsMHgyNSwweDAwLDB4ZTksMHg4MCwweDMyLDB4NDQsMHgwZiwweDk0LDB4MDIsMHhlNCwweDIwLDB4ZjksMHgwMCB9fSwKLSB7MTYsIDB4YjhiMCwgMCwgezB4MzIsMHg3MCwweDBmLDB4OWEsMHg0MywweGU0LDB4MDAsMHhmOSwweDAwLDB4MzIsMHg0MCwweDBjLDB4MTAsMHgzMywweDI0LDB4MTAgfX0sCi0gezE2LCAweGI4YzAsIDAsIHsweGY5LDB4MDEsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4MDIsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiOGQwLCAwLCB7MHg4MCwweDA0LDB4NjQsMHgwMCwweDg5LDB4ODIsMHgyZSwweDQwLDB4MjgsMHg5MCwweDAyLDB4MjQsMHg4MiwweDgxLDB4YzAsMHhhMiB9fSwKLSB7MTYsIDB4YjhlMCwgMCwgezB4NzAsMHgwYiwweDljLDB4MDIsMHhlNCwweDAwLDB4MzEsMHg0MiwweGEyLDB4NjAsMHgwYiwweDk0LDB4ODIsMHhlNCwweDAwLDB4YjkgfX0sCi0gezE2LCAweGI4ZjAsIDAsIHsweDAwLDB4MmEsMHg0MCwweDA4LDB4OTQsMHhhMiwweDI1LDB4MDAsMHhiOSwweDAwLDB4MmUsMHg0MCwweDBiLDB4OTAsMHgwYSwweDIwIH19LAotIHsxNiwgMHhiOTAwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDAsMHg4OSwweDY0LDB4MmUsMHg0MCB9fSwKLSB7MTYsIDB4YjkxMCwgMCwgezB4MDgsMHg5MCwweDQyLDB4YTQsMHgwMCwweDg5LDB4NjAsMHgyMiwweDQyLDB4MGIsMHg5MCwweDAyLDB4ZTYsMHgwMCwweGI5LDB4ODAgfX0sCi0gezE2LCAweGI5MjAsIDAsIHsweDIyLDB4NDAsMHgwYiwweDkwLDB4MDIsMHhhNCwweDA0LDB4YjksMHgwMCwweDIyLDB4NDAsMHgyOCwweDkwLDB4MDIsMHgyNCwweDA0IH19LAotIHsxNiwgMHhiOTMwLCAwLCB7MHhiOSwweDAwLDB4MmUsMHg0MCwweDBiLDB4OTAsMHgwMiwweDBlLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Yjk0MCwgMCwgezB4MDgsMHgwNCwweDA1LDB4ODAsMHg4MSwweDAwLDB4MmMsMHhjMSwweDQ4LDB4MTAsMHgwMiwweGE0LDB4MDIsMHg4MSwweDAwLDB4MjAgfX0sCi0gezE2LCAweGI5NTAsIDAsIHsweDQwLDB4ODMsMHgzNCwweDAyLDB4YzQsMHgwMCwweGJiLDB4MDAsMHgyMCwweGQwLDB4MGIsMHgxNCwweDAyLDB4YzQsMHg4MCwweGIxIH19LAotIHsxNiwgMHhiOTYwLCAwLCB7MHgyMCwweGEwLDB4NjgsMHgxOCwweDE0LDB4MWEsMHgwZCwweDAwLDB4YjEsMHg0MCwweDJjLDB4NTAsMHgwYiwweDEwLDB4MDIsMHgwYSB9fSwKLSB7MTYsIDB4Yjk3MCwgMCwgezB4MDUsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDAwLDB4YzgsMHgwMCwweDNlLDB4MDAgfX0sCi0gezE2LCAweGI5ODAsIDAsIHsweDhjLDB4ODAsMHgwYiwweGEwLDB4MDQsMHhlOCwweDAwLDB4MzIsMHgwMCwweDA3LDB4ODAsMHgwMywweGUwLDB4MDAsMHhmOCwweDAwIH19LAotIHsxNiwgMHhiOTkwLCAwLCB7MHgzMiwweDAwLDB4MWYsMHg4MCwweDAzLDB4YTEsMHg0MCwweGY4LDB4NTAsMHgzMiwweDAwLDB4MGMsMHg4MCwweDAzLDB4MjAsMHgwMCB9fSwKLSB7MTYsIDB4YjlhMCwgMCwgezB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI5YjAsIDAsIHsweDk4LDB4MWQsMHhmNCwweDQ2LDB4ZmQsMHg0MCwweDNmLDB4NTAsMHgyMywweGQ0LDB4MTMsMHg3NCwweDA0LDB4ZjUsMHgwMiwweDNmIH19LAotIHsxNiwgMHhiOWMwLCAwLCB7MHg1MCwweDBmLDB4ZDQsMHgwMywweGZkLDB4MDAsMHhiZCwweDAwLDB4MmYsMHg1MCwweDBmLDB4ZDAsMHgwMywweGU0LDB4NDAsMHhmOSB9fSwKLSB7MTYsIDB4YjlkMCwgMCwgezB4MTAsMHgzZiwweDQ0LDB4MGYsMHhkNCwweDAzLDB4ZjUsMHgwOCwweGZkLDB4MDYsMHgzZSwweDUwLDB4MGYsMHhkMiwweDgzLDB4ZTYgfX0sCi0gezE2LCAweGI5ZTAsIDAsIHsweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZTYsMHg0MCwweGVkLDB4MDQsMHgzZSwweDQ4IH19LAotIHsxNiwgMHhiOWYwLCAwLCB7MHgwYywweGIyLDB4ODMsMHhmNCwweDAwLDB4YzEsMHgwMCwweDMyLDB4NDAsMHg4YywweGQwLDB4MDMsMHgzNCwweDAwLDB4ZmQsMHgwMCB9fSwKLSB7MTYsIDB4YmEwMCwgMCwgezB4MzcsMHg0MCwweDBmLDB4ZDAsMHgwMywweGU2LDB4MjAsMHhmOSwweDg4LDB4M2QsMHg2MiwweDBjLDB4ZDgsMHgwMywweGZlLDB4MjQgfX0sCi0gezE2LCAweGJhMTAsIDAsIHsweGMxLDB4MDAsMHgzZSwweDc4LDB4MGYsMHhkMCwweDAzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiYTIwLCAwLCB7MHgzOCwweDEwLDB4ZTEsMHgwMCwweDg4LDB4NDAsMHgyZSwweDEwLDB4MDgsMHhjNCwweDIzLDB4YTAsMHgwOCwweDg4LDB4MDYsMHgyYSB9fSwKLSB7MTYsIDB4YmEzMCwgMCwgezB4MTQsMHgwOCwweDgwLDB4MDMsMHg2MCwweDA0LDB4YjgsMHgwMCwweDIyLDB4MDAsMHgwYiwweDgwLDB4MDIsMHhlMiwweDAwLDB4YjggfX0sCi0gezE2LCAweGJhNDAsIDAsIHsweDgwLDB4MmUsMHgwMCwweDA4LDB4OGMsMHgwMiwweGUzLDB4ODAsMHg4OCwweDAyLDB4MmUsMHgzOCwweDBiLDB4ODgsMHgwMiwweDBlIH19LAotIHsxNiwgMHhiYTUwLCAwLCB7MHgwNiwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM1LDB4ODAsMHhhMSwweGMwLDB4MmQsMHg3MCB9fSwKLSB7MTYsIDB4YmE2MCwgMCwgezB4MDgsMHg1MCwweDQyLDB4YzQsMHgwMCwweGE5LDB4MDAsMHgyMCwweGUwLDB4MmEsMHgxMCwweDBhLDB4MDQsMHgxMCwweGIxLDB4MDAgfX0sCi0gezE2LCAweGJhNzAsIDAsIHsweDI0LDB4NDAsMHg0YiwweDEwLDB4MDYsMHhjNCwweDIwLDB4YjEsMHgwOCwweDZlLDB4NDAsMHgwYiwweDE2LDB4ODIsMHhjNCwweDIwIH19LAotIHsxNiwgMHhiYTgwLCAwLCB7MHg4MSwweDAwLDB4MmMsMHg1MCwweDBiLDB4OTIsMHg4MiwweDUyLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmE5MCwgMCwgezB4MTgsMHgxMSwweGE0LDB4MDAsMHhhOSwweDAxLDB4MmUsMHg0MCwweDI4LDB4ZDAsMHgyMCwweGE0LDB4MDQsMHhhOSwweDAwLDB4MmEgfX0sCi0gezE2LCAweGJhYTAsIDAsIHsweDQwLDB4MWEsMHhiMCwweDEyLDB4MjQsMHgwMCwweGI5LDB4MGMsMHgyMiwweDQyLDB4MGIsMHg5NCwweDAyLDB4ZTQsMHgwMCwweGI5IH19LAotIHsxNiwgMHhiYWIwLCAwLCB7MHgwMCwweDZlLDB4NDAsMHgwYiwweDk2LDB4MDIsMHhlNCwweDExLDB4ODksMHgyMCwweDZlLDB4NDAsMHgwYiwweDkwLDB4MDIsMHg0NiB9fSwKLSB7MTYsIDB4YmFjMCwgMCwgezB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNCwweGMwLDB4YTksMHhjMCwweDNlLDB4NTAgfX0sCi0gezE2LCAweGJhZDAsIDAsIHsweDA4LDB4OWMsMHg4MywweGU0LDB4MDIsMHhlOSwweDAwLDB4YjIsMHg0MCwweDJhLDB4OTIsMHgxMiwweDI2LDB4NDAsMHhmOSwweDQwIH19LAotIHsxNiwgMHhiYWUwLCAwLCB7MHgzNiwweDcwLDB4MGYsMHg5NCwweDAzLDB4ZTQsMHgwNCwweGY5LDB4MDEsMHgzYywweDQwLDB4MGYsMHg5OCwweDAzLDB4ZTYsMHgwMiB9fSwKLSB7MTYsIDB4YmFmMCwgMCwgezB4YzksMHgyMiwweDNlLDB4NDAsMHgwZiwweDEwLDB4MDIsMHg2OCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJiMDAsIDAsIHsweDI4LDB4MDEsMHg4NiwweDA0LDB4ZDksMHg0MCwweDFjLDB4NDAsMHgwZiwweDkyLDB4MjMsMHhhNCwweGIwLDB4ZGIsMHgwNCwweDNjIH19LAotIHsxNiwgMHhiYjEwLCAwLCB7MHhjMCwweDBkLDB4OWEsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0NCwweDBmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSB9fSwKLSB7MTYsIDB4YmIyMCwgMCwgezB4MDAsMHgzZSwweDQyLDB4MmMsMHg5MCwweDIzLDB4ZTQsMHg4MCwweGY5LDB4MDAsMHgzZSwweDQwLDB4OGYsMHg5MiwweDAzLDB4OTIgfX0sCi0gezE2LCAweGJiMzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTEsMHgwMCwweGM4LDB4MjAsMHgzMiwweDAwIH19LAotIHsxNiwgMHhiYjQwLCAwLCB7MHg0YywweGMwLDB4OGIsMHgyMCwweDAyLDB4YzgsMHgzMSwweDMyLDB4MjAsMHgyZCwweDg0LDB4MDMsMHhlMSwweDA0LDB4ZjgsMHg0OCB9fSwKLSB7MTYsIDB4YmI1MCwgMCwgezB4YmEsMHgwMCwweDBmLDB4ODksMHgwMywweGUwLDB4MDAsMHhjOCwweDAwLDB4MzIsMHgwMCwweDBkLDB4ODEsMHgxMywweDIwLDB4MTAgfX0sCi0gezE2LCAweGJiNjAsIDAsIHsweGY4LDB4MDAsMHgzYSwweDAwLDB4MGYsMHg4MSwweDIzLDB4MDIsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiYjcwLCAwLCB7MHgyOCwweDA1LDB4MjgsMHgwMCwweDBlLDB4NDAsMHgyMiwweDgwLDB4MjgsMHhhNCwweDAyLDB4MTksMHgwMCwweDUyLDB4ODAsMHhhMiB9fSwKLSB7MTYsIDB4YmI4MCwgMCwgezB4ODAsMHg0ZCwweGVkLDB4ODIsMHhlOCwweDAwLDB4YjYsMHg0MiwweDIzLDB4YmQsMHgwYiwweGU4LDB4MDIsMHhlOCwweDA0LDB4ZGEgfX0sCi0gezE2LCAweGJiOTAsIDAsIHsweDAwLDB4MzcsMHg4MCwweDA4LDB4ZTAsMHgwMiwweDNhLDB4MjAsMHhiYSwweDAwLDB4MjIsMHg4MCwweDBiLDB4YTgsMHgwYSwweDBhIH19LAotIHsxNiwgMHhiYmEwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDAsMHg4MywweDgwLDB4NjAsMHhjMCB9fSwKLSB7MTYsIDB4YmJiMCwgMCwgezB4MDgsMHgyOSwweDAyLDB4MGQsMHgwMCwweDkyLDB4NDAsMHgyNCwweGMwLDB4MDgsMHhiNCwweDAyLDB4Y2MsMHgwMCwweGIzLDB4MDAgfX0sCi0gezE2LCAweGJiYzAsIDAsIHsweDY4LDB4ZTAsMHgxYiwweDMwLDB4MDIsMHhjYywweDAwLDB4OTMsMHgwMSwweDI0LDB4YzAsMHg2OSwweDM4LDB4MDIsMHg2YywweDAwIH19LAotIHsxNiwgMHhiYmQwLCAwLCB7MHhiMywweDAwLDB4MmMsMHhjMCwweDBiLDB4MzAsMHgwMiwweDBhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmJlMCwgMCwgezB4YTAsMHgwMSwweDFjLDB4NDAsMHg4MywweGMwLDB4MjAsMHg0MCwweDA4LDB4MjgsMHgwNiwweDljLDB4MTgsMHg5YywweDAyLDB4MjQgfX0sCi0gezE2LCAweGJiZjAsIDAsIHsweGMwLDB4MDksMHg3MCwweDAyLDB4ZDQsMHgwMCwweGI3LDB4MDAsMHgyMSwweGMwLDB4MGIsMHg3MCwweDAyLDB4Y2UsMHg0MCwweDk3IH19LAotIHsxNiwgMHhiYzAwLCAwLCB7MHhiMCwweDI1LDB4NDAsMHgwOCwweDc4LDB4MWEsMHg1OCwweDAwLDB4YmYsMHhhMiwweDY1LDB4YzgsMHgwYiwweDc4LDB4MDIsMHgyMCB9fSwKLSB7MTYsIDB4YmMxMCwgMCwgezB4MDQsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgwZSwweDAyLDB4ODcsMHg4MCwweGIxLDB4YTAgfX0sCi0gezE2LCAweGJjMjAsIDAsIHsweDBjLDB4NjgsMHgwMywweDFhLDB4MDgsMHhkNiwweDkyLDB4MzUsMHhlNCwweDI4LDB4NzgsMHg0MiwweGQ2LDB4MTAsMHhmNSwweDgwIH19LAotIHsxNiwgMHhiYzMwLCAwLCB7MHgzOSwweGEwLDB4MGYsMHg3OCwweDIzLDB4ZGUsMHgzMCwweGQzLDB4YTIsMHgzNSwweGEwLDB4NGQsMHhlOCwweDAzLDB4NWUsMHgwMCB9fSwKLSB7MTYsIDB4YmM0MCwgMCwgezB4ZjcsMHhkMCwweDNkLDB4ZjgsMHgwZiwweGYwLDB4MDMsMHgyMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJjNTAsIDAsIHsweDA4LDB4MWQsMHhhYywweDAwLDB4ZmIsMHgwNCwweDNlLDB4MDAsMHgwYiwweGEwLDB4MDMsMHg0OCwweDA0LDB4ZmEsMHg0MSwweDNhIH19LAotIHsxNiwgMHhiYzYwLCAwLCB7MHg1MCwweDBmLDB4YjAsMHgwMywweGU0LDB4MDAsMHhmMSwweDAwLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgwMywweGVkLDB4ODgsMHhmYiB9fSwKLSB7MTYsIDB4YmM3MCwgMCwgezB4NGQsMHgzZSwweDAwLDB4MGYsMHhmMCwweDAzLDB4YmMsMHgwOCwweGZiLDB4MjAsMHgzYSwweGMwLDB4MGYsMHhiMCwweDAzLDB4YzIgfX0sCi0gezE2LCAweGJjODAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmUsMHgwMCwweGRjLDB4ODAsMHhiMywweGUwIH19LAotIHsxNiwgMHhiYzkwLCAwLCB7MHgwYywweGQ4LDB4MDMsMHhjZSwweDAwLDB4YzgsMHhhMCwweDMxLDB4YTAsMHg4ZCwweGU5LDB4MDMsMHhiZSwweDAwLDB4YjIsMHg4MCB9fSwKLSB7MTYsIDB4YmNhMCwgMCwgezB4MzMsMHhlMCwweDBjLDB4ZTgsMHg0MywweDdlLDB4MDQsMHgwZiwweDgxLDB4MzEsMHhlNCwweDBjLDB4ZDgsMHgwMywweGY2LDB4MDAgfX0sCi0gezE2LCAweGJjYjAsIDAsIHsweGZmLDB4ODAsMHgzZiwweGUwLDB4MGYsMHhmOCwweDAzLDB4MDAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiY2MwLCAwLCB7MHhhOCwweDExLDB4OWMsMHgwMCwweGI0LDB4NDAsMHgzNSwweDQwLDB4MDgsMHg1MCwweDgyLDB4ZGUsMHg4MCwweGQ0LDB4OTAsMHgyMSB9fSwKLSB7MTYsIDB4YmNkMCwgMCwgezB4ZTAsMHgwZCwweDUxLDB4MDIsMHhkNCwweDQwLDB4YjYsMHhiMCwweDJiLDB4OTAsMHgwZSwweGU1LDB4MDIsMHg5YywweDQwLDB4ZDcgfX0sCi0gezE2LCAweGJjZTAsIDAsIHsweDIyLDB4MTksMHg1YywweDBkLDB4NzAsMHgwMiwweGQ4LDB4MDAsMHhiNywweDIwLDB4MmQsMHhjMCwweDBiLDB4ZjAsMHgwMywweDZhIH19LAotIHsxNiwgMHhiY2YwLCAwLCB7MHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDljLDB4MDAsMHg5MywweDEwLDB4MjEsMHg4MCB9fSwKLSB7MTYsIDB4YmQwMCwgMCwgezB4MDgsMHg1OCwweDAyLDB4ZGMsMHhjMCwweDk0LDB4MDAsMHgyMywweGQwLDB4MDgsMHg3MCwweGEwLDB4ZDQsMHgyMCwweGI1LDB4MDIgfX0sCi0gezE2LCAweGJkMTAsIDAsIHsweDI5LDB4ODAsMHgwOSwweDYwLDB4ODIsMHgwYywweDAwLDB4ODcsMHgwMiwweDI1LDB4YzAsMHgxOSwweDQwLDB4MDIsMHhkNCwweDAwIH19LAotIHsxNiwgMHhiZDIwLCAwLCB7MHhiNywweDAwLDB4NmQsMHhjMCwweDBiLDB4NzAsMHgwMiwweDAwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmQzMCwgMCwgezB4MjAsMHgxNCwweGVjLDB4MDAsMHhiMywweGMwLDB4MjAsMHgwMSwweDQ4LDB4MTgsMHgwMiwweGNjLDB4MDIsMHg4MSwweDQ0LDB4YTAgfX0sCi0gezE2LCAweGJkNDAsIDAsIHsweGMwLDB4ODksMHgzOCwweDAyLDB4YzcsMHg4MCwweGIxLDB4MDAsMHgyYywweDA5LDB4NGEsMHgwMCwweDYyLDB4YWMsMHgwOSwweDkzIH19LAotIHsxNiwgMHhiZDUwLCAwLCB7MHgwMSwweDI4LDB4NDAsMHgxOSwweDMwLDB4MDIsMHhjZCwweDEwLDB4YjMsMHg5MCwweDJjLDB4YzAsMHgwYiwweDMwLDB4MDIsMHhjOCB9fSwKLSB7MTYsIDB4YmQ2MCwgMCwgezB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhiYywweDIwLDB4ZGIsMHg2MiwweDIyLDB4ZTAgfX0sCi0gezE2LCAweGJkNzAsIDAsIHsweDZjLDB4YTAsMHgwMywweGU0LDB4MDAsMHg5OCwweDAwLDB4MzIsMHhjMCwweGVjLDB4OTgsMHgyMywweGFlLDB4MDgsMHhmYiwweDA4IH19LAotIHsxNiwgMHhiZDgwLCAwLCB7MHgzYSwweDc4LDB4MDksMHg5MCwweDAzLDB4N2MsMHgxMCwweGNmLDB4MDAsMHgyNiwweDQwLDB4MGMsMHhiMCwweDAzLDB4ZWMsMHgwMCB9fSwKLSB7MTYsIDB4YmQ5MCwgMCwgezB4ZmYsMHg4MCwweDNmLDB4YzAsMHgwZiwweDkwLDB4MDMsMHgyYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJkYTAsIDAsIHsweDgwLDB4MDAsMHhlYywweDIwLDB4ZmIsMHg0OCwweDNjLDB4NjEsMHgwZiwweGEwLDB4NDMsMHhlZCwweDAwLDB4ZjgsMHgyNCwweDNlIH19LAotIHsxNiwgMHhiZGIwLCAwLCB7MHg1MCwweDBmLDB4OTAsMHg4MywweGU0LDB4MDAsMHhmYiwweDAwLDB4M2EsMHg1MCwweDBmLDB4ODAsMHg0MywweGVjLDB4MDgsMHhmYiB9fSwKLSB7MTYsIDB4YmRjMCwgMCwgezB4MDAsMHgzZSwweDQwLDB4MGYsMHg0MCwweDAzLDB4ZjAsMHgwMCwweGZiLDB4MDAsMHgzZSwweGMxLDB4MGYsMHg5MCwweDAzLDB4NjAgfX0sCi0gezE2LCAweGJkZDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZmMsMHgwMCwweGRkLDB4YTAsMHgzMiwweDgwIH19LAotIHsxNiwgMHhiZGUwLCAwLCB7MHgwYywweGUwLDB4MDEsMHhmYywweDAwLDB4ZGMsMHg5MSwweDM5LDB4YzAsMHgzYywweDQwLDB4MDMsMHgzNCwweDAwLDB4ZmYsMHg4MCB9fSwKLSB7MTYsIDB4YmRmMCwgMCwgezB4M2YsMHgwMCwweDBmLDB4ZDAsMHgwNywweGZjLDB4MDAsMHhjYiwweDAwLDB4M2QsMHg0MCwweDBjLDB4ZTAsMHgwMywweDM4LDB4MjAgfX0sCi0gezE2LCAweGJlMDAsIDAsIHsweGNmLDB4MDIsMHgzZCwweGMwLDB4MGMsMHhkMCwweDAzLDB4MDgsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiZTEwLCAwLCB7MHg4MSwweDA0LDB4NmMsMHgwMCwweDAxLDB4NDAsMHgyMiwweDAwLDB4MjgsMHhhMCwweDAyLDB4Y2UsMHg4NiwweDgzLDB4NjQsMHgyMiB9fSwKLSB7MTYsIDB4YmUyMCwgMCwgezB4ZjQsMHgwOCwweDhjLDB4MGYsMHg2NCwweDAwLDB4YmIsMHgxMCwweDJlLDB4NjAsMHgwYiwweDljLDB4MDMsMHhhYywweDAxLDB4ZGIgfX0sCi0gezE2LCAweGJlMzAsIDAsIHsweDAwLDB4M2UsMHg2MCwweDA4LDB4OGYsMHgwMiwweDIzLDB4NDAsMHg4YiwweDAwLDB4M2EsMHhjMCwweDBkLDB4MTAsMHg0MywweDY4IH19LAotIHsxNiwgMHhiZTQwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDAsMHg5OSwweDAwLDB4YTIsMHhjMCB9fSwKLSB7MTYsIDB4YmU1MCwgMCwgezB4MDgsMHg5MCwweDAyLDB4YTYsMHgwNywweDk4LDB4MDAsMHgwMiwweGMyLDB4NDgsMHg4OCwweDAyLDB4MmMsMHgwMCwweGJhLDB4MDIgfX0sCi0gezE2LCAweGJlNjAsIDAsIHsweDZlLDB4NjAsMHgwYSwweDk4LDB4MDIsMHhlYywweDAwLDB4OGIsMHgwMSwweDJlLDB4NjAsMHgwOCwweDkwLDB4MDIsMHgwNSwweDAwIH19LAotIHsxNiwgMHhiZTcwLCAwLCB7MHg4YiwweDAwLDB4MmUsMHhjMCwweDA4LDB4YjEsMHgwMiwweDIwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmU4MCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MTAsMHg4MSwweDAwLDB4MjAsMHg0MCwweDI4LDB4MTAsMHgyNiwweGNjLDB4ODAsMHg4MCwweDIwLDB4YTAgfX0sCi0gezE2LCAweGJlOTAsIDAsIHsweGNjLDB4MTgsMHgxNCwweDQyLDB4MDQsMHgwMCwweGIyLDB4MjAsMHg2YywweDQwLDB4MGIsMHgwMCwweDAyLDB4OGMsMHgwMCwweDgzIH19LAotIHsxNiwgMHhiZWEwLCAwLCB7MHgwMCwweDI4LDB4NDAsMHgyOCwweDAwLDB4MDIsMHgwMCwweDAwLDB4ODMsMHgwMCwweDI4LDB4YzAsMHgwOSwweGIwLDB4MDIsMHg0MiB9fSwKLSB7MTYsIDB4YmViMCwgMCwgezB4MDUsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2YywweDAwLDB4ZDksMHgwMCwweDIyLDB4ODAgfX0sCi0gezE2LCAweGJlYzAsIDAsIHsweDBjLDB4OTAsMHgwMywweGFjLDB4ODAsMHhkYSwweDI5LDB4MmEsMHhkMiwweDI4LDB4ODAsMHgwMiwweDI0LDB4MDAsMHhmYiwweDIwIH19LAotIHsxNiwgMHhiZWQwLCAwLCB7MHgzZSwweDAwLDB4MGYsMHg5MCwweDAyLDB4ZmMsMHgwMCwweDhmLDB4MDAsMHgyZSwweDQwLDB4MGMsMHg4MCwweDBiLDB4MjAsMHgwMiB9fSwKLSB7MTYsIDB4YmVlMCwgMCwgezB4Y2YsMHgwMCwweDNlLDB4YzAsMHgwYywweGIwLDB4MDMsMHgwMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJlZjAsIDAsIHsweGEwLDB4MWQsMHhmYywweDAwLDB4ZmQsMHgwMCwweDNmLDB4MDAsMHgwZiwweGQwLDB4NjMsMHhmYywweDQ5LDB4ZjUsMHgwMCwweDNlIH19LAotIHsxNiwgMHhiZjAwLCAwLCB7MHhjMCwweDBiLDB4YzAsMHgwMSwweGY0LDB4MDAsMHg3ZiwweDQwLDB4M2YsMHg0MCwweDFmLDB4ZDAsMHgwMywweGJjLDB4MDAsMHhmZiB9fSwKLSB7MTYsIDB4YmYxMCwgMCwgezB4MDAsMHgzZiwweDQwLDB4MGYsMHhjMCwweDAzLDB4ZjAsMHgwMCwweGZmLDB4MDAsMHgzYiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZTggfX0sCi0gezE2LCAweGJmMjAsIDAsIHsweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAxLDB4ZjIsMHg0MCwweGVjLDB4YTAsMHgzZiwweGUwIH19LAotIHsxNiwgMHhiZjMwLCAwLCB7MHgwZCwweDQ4LDB4MDMsMHg3ZCwweDgwLDB4ZjQsMHg4MCwweDMzLDB4NmMsMHgwZSwweGM4LDB4MDMsMHgzMiwweDAwLDB4ZGQsMHg5MCB9fSwKLSB7MTYsIDB4YmY0MCwgMCwgezB4M2IsMHhhMCwweDJkLDB4ZjAsMHgwMywweGZjLDB4YzAsMHhmZiwweDAwLDB4M2IsMHhlMCwweDhlLDB4ZjAsMHgwMywweDNjLDB4MDQgfX0sCi0gezE2LCAweGJmNTAsIDAsIHsweGVjLDB4NjAsMHgzMSwweDAwLDB4MGMsMHhmMCwweDAzLDB4YjAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiZjYwLCAwLCB7MHg4MCwweDEwLDB4ZWMsMHgwMCwweGQ5LDB4YzEsMHgyZSwweGUxLDB4MGQsMHg4OCwweDAyLDB4M2MsMHg4MCwweGY4LDB4ODAsMHgzNiB9fSwKLSB7MTYsIDB4YmY3MCwgMCwgezB4N2QsMHgxOCwweGEwLDB4MDIsMHgyOCwweGIwLDB4ZWEsMHgyMCwweDIyLDB4MjAsMHgwOCwweDc3LDB4MDIsMHhmZCwweDUwLDB4YmIgfX0sCi0gezE2LCAweGJmODAsIDAsIHsweDgwLDB4MjIsMHg0MCwweDBiLDB4ZjQsMHg0MiwweDNkLDB4ODAsMHg4OCwweDMxLDB4MjIsMHgxMiwweDA4LDB4ZjYsMHgwMiwweGUwIH19LAotIHsxNiwgMHhiZjkwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNjLDB4MDAsMHg4MCwweDExLDB4MmUsMHhjMSB9fSwKLSB7MTYsIDB4YmZhMCwgMCwgezB4MDgsMHgwMCwweDAyLDB4NGQsMHg4MCwweGI4LDB4MDAsMHgyMCwweDAwLDB4MGEsMHgwMiwweDgyLDB4MDAsMHgwMCwweDk5LDB4MjAgfX0sCi0gezE2LCAweGJmYjAsIDAsIHsweDIyLDB4YzAsMHgwOSwweDMwLDB4ODIsMHhjYywweDAwLDB4YjMsMHgwMCwweDI4LDB4Y2EsMHgwYiwweDM0LDB4ODIsMHgwZCwweDIwIH19LAotIHsxNiwgMHhiZmMwLCAwLCB7MHg4MCwweDAwLDB4YTAsMHg4YywweDA4LDB4MzQsMHg4MiwweGEyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmZkMCwgMCwgezB4YzAsMHgxNSwweGFjLDB4NDAsMHg5OSwweDgwLDB4MmUsMHhjMiwweDA5LDB4OTQsMHgwMiwweDJjLDB4MDAsMHhhOSwweDgwLDB4MjYgfX0sCi0gezE2LCAweGJmZTAsIDAsIHsweDYwLDB4MDgsMHgzOCwweDQyLDB4MjIsMHgyMCwweGJhLDB4NDEsMHg2MiwweDQ2LDB4M2IsMHhiMCwweDAyLDB4ZWMsMHgwMSwweGJiIH19LAotIHsxNiwgMHhiZmYwLCAwLCB7MHg4MCwweDIyLDB4NDAsMHgwYiwweGIwLDB4NDYsMHgwYywweDE4LDB4ODgsMHhjMCwweDIyLDB4MjIsMHgwOCwweGIwLDB4MDYsMHhmMCB9fSwKLSB7MTYsIDB4YzAwMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhjYywweDAwLDB4YzksMHg4MSwweDNjLDB4YzEgfX0sCi0gezE2LCAweGMwMTAsIDAsIHsweDBjLDB4YTksMHgyMywweDZjLDB4MDAsMHhiMiwweDgwLDB4MzIsMHg3OCwweDBhLDB4OGEsMHgwYiwweDI2LDB4MDAsMHg5OSwweDAxIH19LAotIHsxNiwgMHhjMDIwLCAwLCB7MHgzMCwweGUwLDB4MGQsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGI5LDB4MDAsMHgzYSwweGMwLDB4MWUsMHhiMCwweDAzLDB4MmMsMHgwMCB9fSwKLSB7MTYsIDB4YzAzMCwgMCwgezB4Y2IsMHg4MCwweDMyLDB4NjEsMHgwYywweGIwLDB4MTMsMHg5MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGMwNDAsIDAsIHsweGUwLDB4MDEsMHhiYywweDEwLDB4ZGQsMHgwMCwweDNmLDB4YzIsMHgwZiwweGU4LDB4MDMsMHhhYywweDAwLDB4ZmUsMHgwMCwweDNkIH19LAotIHsxNiwgMHhjMDUwLCAwLCB7MHg0MCwweDBmLDB4YzAsMHg0MywweGY4LDB4MTAsMHhlZiwweDE0LDB4YjcsMHhlMCwweDBjLDB4ZjAsMHgwMywweGZjLDB4MDAsMHhmNSB9fSwKLSB7MTYsIDB4YzA2MCwgMCwgezB4MDIsMHgzZiwweDQ0LDB4NGYsMHhiMCwweDRiLDB4ZmMsMHgwMiwweGQ0LDB4MDQsMHgzZCwweDQwLDB4MmYsMHhmMCwweDAzLDB4ZjggfX0sCi0gezE2LCAweGMwNzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMCwweGY5LDB4MDgsMHgzZSwweDYwIH19LAotIHsxNiwgMHhjMDgwLCAwLCB7MHgwZCwweGEwLDB4MDMsMHhhYywweDAwLDB4ZTgsMHg1MCwweDMyLDB4MDAsMHgwYywweDg0LDB4MDMsMHhhNSwweDAwLDB4ZTksMHgwMCB9fSwKLSB7MTYsIDB4YzA5MCwgMCwgezB4M2EsMHhkOCwweDBmLDB4YjAsMHgwMywweDJjLDB4MDAsMHhmOSwweDAwLDB4M2EsMHhjMCwweDBmLDB4MzAsMHgwMywweDJjLDB4MDAgfX0sCi0gezE2LCAweGMwYTAsIDAsIHsweGNiLDB4NDQsMHgzZSwweGQ0LDB4MGUsMHhiMCwweDAzLDB4ZDAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjMGIwLCAwLCB7MHhjOCwweDA1LDB4MmMsMHgwOCwweGI5LDB4ODAsMHgyZSwweGMwLDB4MGEsMHgzMCwweDQyLDB4M2MsMHgwMCwweDg5LDB4MDQsMHg3NiB9fSwKLSB7MTYsIDB4YzBjMCwgMCwgezB4NjAsMHgwOCwweDkwLDB4NjIsMHgyMCwweDAwLDB4ODIsMHgwNCwweDIyLDB4ZDAsMHgwOCwweGYwLDB4NDMsMHg3YywweDAwLDB4YmIgfX0sCi0gezE2LCAweGMwZDAsIDAsIHsweDgyLDB4MjIsMHg0MCwweDBiLDB4ZjAsMHg0MiwweDNjLDB4MDAsMHg4YSwweGMwLDB4MmUsMHhjMSwweDA4LDB4ZjAsMHgwMiwweGYyIH19LAotIHsxNiwgMHhjMGUwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRjLDB4MTAsMHhiMiwweGQwLDB4MmMsMHhjMCB9fSwKLSB7MTYsIDB4YzBmMCwgMCwgezB4MjksMHgxOCwweDAyLDB4OGMsMHgwNCwweGExLDB4MDAsMHgyNCwweDljLDB4MDgsMHgxMCwweDAyLDB4ODAsMHgwMCwweGExLDB4MDEgfX0sCi0gezE2LCAweGMxMDAsIDAsIHsweDBjLDB4YzEsMHgyYiwweDMwLDB4NTIsMHg4YywweDA0LDB4YjMsMHgwMSwweDI4LDB4NDAsMHg0YiwweDMwLDB4MDIsMHg0YywweDAwIH19LAotIHsxNiwgMHhjMTEwLCAwLCB7MHg5MCwweDIwLDB4MmMsMHgyMCwweDBhLDB4MzAsMHgwMiwweGY4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzEyMCwgMCwgezB4MjAsMHg0MSwweDFlLDB4MDAsMHhiNywweGEyLDB4MjUsMHhlOCwweDhhLDB4NjgsMHgwMiwweDFlLDB4MDAsMHg4NSwweDgwLDB4MjUgfX0sCi0gezE2LCAweGMxMzAsIDAsIHsweDgwLDB4ODgsMHhlOCwweDAyLDB4M2UsMHgwMCwweDg1LDB4ODAsMHgyZiwweGU0LDB4MjgsMHg3OCwweDAyLDB4ZGUsMHgwMCwweGI3IH19LAotIHsxNiwgMHhjMTQwLCAwLCB7MHg4MCwweDYxLDB4ZTAsMHgwMywweDc4LDB4MDIsMHg1ZSwweDgyLDB4YjcsMHg4MiwweDJkLDB4ZTAsMHgwOCwweDc4LDB4MDIsMHhjOCB9fSwKLSB7MTYsIDB4YzE1MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwZCwweDAwLDB4ZjAsMHgxMCwweDNjLDB4ODAgfX0sCi0gezE2LCAweGMxNjAsIDAsIHsweDBkLDB4MTAsMHg4MywweDhjLDB4MDAsMHhlMiwweDUwLDB4MjYsMHgwNCwweDBjLDB4MTEsMHgwMywweDg4LDB4NDAsMHhlYiwweDAwIH19LAotIHsxNiwgMHhjMTcwLCAwLCB7MHgzYywweGM0LDB4MGYsMHgzMCwweDAzLDB4OGMsMHgwMCwweGYzLDB4MDgsMHgzOCwweDQwLDB4MDcsMHgzMCwweDAzLDB4NmUsMHg0MCB9fSwKLSB7MTYsIDB4YzE4MCwgMCwgezB4ZDAsMHgwOCwweDNjLDB4ODgsMHgwZSwweDMwLDB4NDMsMHhkMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGMxOTAsIDAsIHsweDQwLDB4MWQsMHhiYywweDAwLDB4ZmIsMHgzNCwweDNjLDB4YzksMHg0ZSwweGIwLDB4MjMsMHhlZCwweDIwLDB4ZmIsMHgwNCwweDNmIH19LAotIHsxNiwgMHhjMWEwLCAwLCB7MHhjOCwweDhmLDB4NzAsMHg1MywweDRjLDB4MDAsMHhlYiwweDEwLDB4MzEsMHhjNSwweDBlLDB4ZjQsMHgwMywweDZkLDB4MDAsMHhmMyB9fSwKLSB7MTYsIDB4YzFiMCwgMCwgezB4MDAsMHgzZiwweGMwLDB4MGYsMHhmNCwweDBiLDB4YmMsMHgwMCwweGNkLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmNCwweDgzLDB4ZDAgfX0sCi0gezE2LCAweGMxYzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4Y2UsMHgwNCwweGM5LDB4MDQsMHhiMCwweGMxIH19LAotIHsxNiwgMHhjMWQwLCAwLCB7MHgwZiwweDk4LDB4MTMsMHg2YywweDkwLDB4Y2IsMHgwMiwweDNlLDB4YzAsMHg0ZiwweGIwLDB4NjMsMHhlNCwweDAwLDB4ZjEsMHg4MCB9fSwKLSB7MTYsIDB4YzFlMCwgMCwgezB4MTIsMHhjMCwweDBjLDB4YjUsMHgwMywweGVjLDB4YzAsMHhjZiwweDgzLDB4MzIsMHg0MCwweDBmLDB4YjMsMHgyMywweDJkLDB4YTQgfX0sCi0gezE2LCAweGMxZjAsIDAsIHsweGZiLDB4MDAsMHgzZSwweDAwLDB4MGYsMHhiNCwweDAzLDB4MmEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjMjAwLCAwLCB7MHg0OCwweDExLDB4OWMsMHgwMCwweDg3LDB4MDAsMHgyMSwweGMwLDB4MmQsMHg2MCwweDAyLDB4MWMsMHgwMCwweGQ3LDB4MDAsMHgzOSB9fSwKLSB7MTYsIDB4YzIxMCwgMCwgezB4YzAsMHgwYiwweDYwLDB4MDIsMHhkYywweDAwLDB4YjUsMHgwMCwweDIxLDB4YzAsMHgyYSwweDcwLDB4MTIsMHhjYywweDgwLDB4ODcgfX0sCi0gezE2LCAweGMyMjAsIDAsIHsweDAwLDB4MzUsMHhjMCwweDBiLDB4NzIsMHg1MiwweDFjLDB4MDAsMHhiNywweDAwLDB4MmQsMHg0MSwweDBiLDB4MzIsMHgwMiwweDEyIH19LAotIHsxNiwgMHhjMjMwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweGJlLDB4MDAsMHg4MSwweGMwLDB4MjMsMHgyMCB9fSwKLSB7MTYsIDB4YzI0MCwgMCwgezB4MGIsMHhkOCwweDAyLDB4NWUsMHgwMCwweDA2LDB4YzAsMHgyZCwweGEwLDB4MGIsMHg3YywweDEyLDB4ZGUsMHgwOCwweGJmLDB4ODAgfX0sCi0gezE2LCAweGMyNTAsIDAsIHsweGExLDB4ZTIsMHgyYSwweDdhLDB4MDIsMHhkZSwweDAwLDB4OTMsMHg4MCwweDI1LDB4NjAsMHgwYiwweDc4LDB4MWUsMHg1ZSwweDUwIH19LAotIHsxNiwgMHhjMjYwLCAwLCB7MHhiNywweDgwLDB4MmQsMHhhMCwweDBiLDB4NzgsMHgwMiwweDMwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzI3MCwgMCwgezB4NDgsMHgxNCwweGNlLDB4MDAsMHg4MywweDYwLDB4MjAsMHhjMCwweDA5LDB4MzEsMHgwMiwweDJjLDB4MDAsMHg5MywweDAwLDB4MjggfX0sCi0gezE2LCAweGMyODAsIDAsIHsweGMwLDB4MWIsMHhiMCwweDA2LDB4Y2MsMHg4MCwweGIzLDB4NDgsMHgyMCwweGYwLDB4MGEsMHgzMCwweDAyLDB4ZWMsMHgwMCwweDkzIH19LAotIHsxNiwgMHhjMjkwLCAwLCB7MHg4MCwweDI0LDB4YzAsMHgwYiwweGIwLDB4MDIsMHg0YywweDEwLDB4YjMsMHhjOCwweDJjLDB4ZDIsMHg4YiwweDMwLDB4MDIsMHgxMiB9fSwKLSB7MTYsIDB4YzJhMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhiYiwweDAwLDB4YzYsMHhjNCwweDMxLDB4ODEgfX0sCi0gezE2LCAweGMyYjAsIDAsIHsweDBmLDB4ZTAsMHgwMywweDY4LDB4MDAsMHhjZSwweDgwLDB4M2YsMHhhMiwweDBiLDB4ZTgsMHgwMywweGY5LDB4MDAsMHhmZSwweDQwIH19LAotIHsxNiwgMHhjMmMwLCAwLCB7MHgzMSwweDgwLDB4NmUsMHhhMCwweDA3LDB4ZTgsMHgwMCwweGRhLDB4MDAsMHgyNiwweDgxLDB4MGYsMHhhMCwweDAyLDB4NjgsMHgwMSB9fSwKLSB7MTYsIDB4YzJkMCwgMCwgezB4ZjYsMHhlMCwweDNkLDB4OTIsMHgwZiwweGEwLDB4MDMsMHgzYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGMyZTAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweGMyLDB4ZjgsMHgwNCwweDNlLDB4MTQsMHgwZiwweDgwLDB4MTMsMHhlMCwweDEwLDB4ZjgsMHgwMSwweDNlIH19LAotIHsxNiwgMHhjMmYwLCAwLCB7MHgxMCwweDBmLDB4ODAsMHg0MywweGUwLDB4MDAsMHhiOCwweDAwLDB4M2UsMHgwMCwweDQ3LDB4ODAsMHgwMywweGUwLDB4MDIsMHhlOCB9fSwKLSB7MTYsIDB4YzMwMCwgMCwgezB4MTAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDA3LDB4YTAsMHgwMCwweGY4LDB4MDAsMHgyZSwweDAwLDB4MGYsMHg4MCwweDBiLDB4ZDIgfX0sCi0gezE2LCAweGMzMTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGY5LDB4MDEsMHgzMiwweDQwIH19LAotIHsxNiwgMHhjMzIwLCAwLCB7MHg4YywweDkwLDB4MDMsMHhlNCwweDAwLDB4YzksMHgwMCwweDM2LDB4NDIsMHgwZiwweDkwLDB4MDMsMHhhNCwweDAwLDB4YzksMHgwMCB9fSwKLSB7MTYsIDB4YzMzMCwgMCwgezB4M2UsMHg0MiwweDBkLDB4OTAsMHgwMywweDY0LDB4MDAsMHhkOSwweDAwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwYiwweDY0LDB4MDAgfX0sCi0gezE2LCAweGMzNDAsIDAsIHsweGY5LDB4OTAsMHgzMiwweDQxLDB4MGMsMHg5MCwweDAzLDB4MDIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjMzUwLCAwLCB7MHg4MCwweDA0LDB4NjQsMHgwMCwweGI5LDB4YzgsMHhhMiwweDYwLDB4MGEsMHg5MiwweDAyLDB4ZTQsMHgwMCwweDg5LDB4NDAsMHgyZSB9fSwKLSB7MTYsIDB4YzM2MCwgMCwgezB4NTgsMHgwYiwweDkwLDB4MDIsMHgwNCwweDAwLDB4ZDksMHgwMCwweDJlLDB4NDIsMHgwOCwweDkwLDB4MDIsMHhlNCwweDA0LDB4ODkgfX0sCi0gezE2LCAweGMzNzAsIDAsIHsweDAwLDB4MmUsMHg0MCwweDBiLDB4OTAsMHgwNiwweDI0LDB4MDQsMHhiOSwweDA4LDB4MmEsMHg0MCwweDQ4LDB4OTAsMHgxMiwweDIwIH19LAotIHsxNiwgMHhjMzgwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDAsMHhiOSwweDEwLDB4MjIsMHg0NCB9fSwKLSB7MTYsIDB4YzM5MCwgMCwgezB4MDgsMHg5MCwweDAyLDB4ZTQsMHgwMCwweDg5LDB4MDAsMHgyMiwweDQ1LDB4OGIsMHg5MCwweDAyLDB4YTQsMHgwMCwweDg5LDB4MDAgfX0sCi0gezE2LCAweGMzYTAsIDAsIHsweDJhLDB4NDAsMHgwOSwweDkwLDB4MDIsMHhlNCwweDAwLDB4OTksMHg4MCwweDJlLDB4NDAsMHgwYiwweDkwLDB4MjYsMHgyNCwweDAwIH19LAotIHsxNiwgMHhjM2IwLCAwLCB7MHhiOSwweDAxLDB4MjIsMHg3MCwweDA5LDB4MTAsMHgwMiwweDA2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzNjMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4MDgsMHhiMSwweDIwLDB4MjAsMHg0MCwweDBhLDB4MTAsMHgwMiwweGM0LDB4ODAsMHg4MywweDAwLDB4MmMgfX0sCi0gezE2LCAweGMzZDAsIDAsIHsweDUwLDB4NGIsMHgxMCwweDAyLDB4MjQsMHgwMCwweDkxLDB4MDAsMHgyZSwweDQwLDB4MDgsMHgxMiwweDAyLDB4YzQsMHg4MSwweDgxIH19LAotIHsxNiwgMHhjM2UwLCAwLCB7MHhhMiwweDZjLDB4NDAsMHgwYiwweDEyLDB4MDIsMHgwNCwweDgwLDB4YjksMHgyMCwweDJhLDB4NDgsMHgyOSwweDEyLDB4MDIsMHgwMiB9fSwKLSB7MTYsIDB4YzNmMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MSwweDQwLDB4ZjgsMHgwMCwweDMyLDB4ODAgfX0sCi0gezE2LCAweGM0MDAsIDAsIHsweDA4LDB4ODAsMHgwMywweGUxLDB4NDIsMHhjOCwweDAwLDB4MzIsMHgwMCwweDFmLDB4ODUsMHgwMywweGExLDB4NDAsMHhjOCwweDUwIH19LAotIHsxNiwgMHhjNDEwLCAwLCB7MHgzYSwweDAwLDB4OGQsMHg4NSwweDAzLDB4NjEsMHg0MCwweGQ4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHgwNSwweDAzLDB4MjEsMHg0MCB9fSwKLSB7MTYsIDB4YzQyMCwgMCwgezB4ZjgsMHg1MCwweDMyLDB4MTQsMHgwZCwweDg1LDB4MGIsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM0MzAsIDAsIHsweDk4LDB4MWQsMHhmNCwweDA0LDB4ZmQsMHgxMCwweDNmLDB4NDAsMHgwZiwweDUwLDB4MDMsMHhjNCwweDQwLDB4ZmQsMHgwMCwweDNmIH19LAotIHsxNiwgMHhjNDQwLCAwLCB7MHg1MSwweDBmLDB4ZDAsMHgwMywweGY0LDB4MDAsMHhmZiwweDAxLDB4M2QsMHg0MCwweDBmLDB4OTEsMHgwMywweGU0LDB4NDAsMHhmZCB9fSwKLSB7MTYsIDB4YzQ1MCwgMCwgezB4MTAsMHgzZiwweDRhLDB4MGYsMHg5MSwweDAzLDB4ZTQsMHg0MCwweGZkLDB4MTAsMHgzZiwweDQ0LDB4MGUsMHg5MSwweDAzLDB4ZTYgfX0sCi0gezE2LCAweGM0NjAsIDAsIHsweDAyLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4YzUsMHgwMCwweGNkLDB4MDAsMHgzMSwweDQwIH19LAotIHsxNiwgMHhjNDcwLCAwLCB7MHgwZCwweGQwLDB4NDMsMHhlNCwweDAwLDB4Y2QsMHgwMCwweDMzLDB4NDAsMHg0ZiwweDExLDB4MDIsMHhlNCwweDA0LDB4YzEsMHgwMCB9fSwKLSB7MTYsIDB4YzQ4MCwgMCwgezB4M2QsMHg0MCwweDBjLDB4OTAsMHgwMywweGU0LDB4MDAsMHhlZCwweGE0LDB4MzIsMHg1MCwweDBmLDB4OTAsMHgwMywweGU0LDB4MDAgfX0sCi0gezE2LCAweGM0OTAsIDAsIHsweGZkLDB4MDAsMHgzZiwweDQwLDB4MGYsMHg5MCwweDAzLDB4YzYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjNGEwLCAwLCB7MHgzOCwweDEwLDB4ZTIsMHgwOCwweGQ4LDB4MDAsMHgzMiwweDAxLDB4MDAsMHg4MCwweDEyLDB4YzAsMHgwMCwweDQ4LDB4MDAsMHgzNiB9fSwKLSB7MTYsIDB4YzRiMCwgMCwgezB4ODAsMHgwYiwweDhhLDB4MDIsMHhlMCwweDAwLDB4YTgsMHgwMCwweDJlLDB4MDAsMHgwZiwweDgwLDB4MDIsMHhlMCwweDAwLDB4ODggfX0sCi0gezE2LCAweGM0YzAsIDAsIHsweDUwLDB4MzQsMHgyOCwweDBiLDB4ODAsMHgwMiwweGUwLDB4MDAsMHhiOCwweDAwLDB4MmUsMHgwMCwweDBiLDB4ODAsMHgwMiwweGNlIH19LAotIHsxNiwgMHhjNGQwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4ODAsMHg4MSwweDAwLDB4MjYsMHg0MCB9fSwKLSB7MTYsIDB4YzRlMCwgMCwgezB4MDksMHgxOCwweDAyLDB4YzQsMHgwOCwweDIxLDB4MDAsMHgyOCwweDQwLDB4OGIsMHgxMCwweDAyLDB4YzQsMHgwMCwweGIxLDB4MDEgfX0sCi0gezE2LCAweGM0ZjAsIDAsIHsweDJlLDB4NDAsMHgxOCwweDEwLDB4MDIsMHhjNCwweDAwLDB4YTEsMHgwMSwweDIwLDB4NDgsMHgxYiwweDEwLDB4MDIsMHhjNCwweDAwIH19LAotIHsxNiwgMHhjNTAwLCAwLCB7MHhiMSwweDAwLDB4NmMsMHg0MCwweDBiLDB4MTAsMHgxMiwweGMyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzUxMCwgMCwgezB4MTgsMHgxMSwweGE0LDB4MDAsMHg5OSwweDgwLDB4YTIsMHg0MiwweDQ4LDB4OTAsMHgwMiwweGU0LDB4MDAsMHhhOSwweDJhLDB4MjYgfX0sCi0gezE2LCAweGM1MjAsIDAsIHsweDQ0LDB4MGIsMHg5MCwweDgyLDB4YzQsMHg4MSwweGI5LDB4MDAsMHgyZSwweDQwLDB4MGIsMHg5MCwweDQyLDB4YzQsMHgwMCwweDg5IH19LAotIHsxNiwgMHhjNTMwLCAwLCB7MHgwMCwweDI2LDB4NDAsMHgwYiwweDkwLDB4MDIsMHhlNCwweDAwLDB4YjksMHgwMSwweDJlLDB4NDEsMHgwYiwweDkwLDB4MDIsMHhjNiB9fSwKLSB7MTYsIDB4YzU0MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhjNSwweDIwLDB4YzksMHg4NCwweDMwLDB4NzAgfX0sCi0gezE2LCAweGM1NTAsIDAsIHsweDBkLDB4OTAsMHgxMywweGU0LDB4MDIsMHhlOSwweDAwLDB4MzIsMHg3MCwweDBmLDB4OTQsMHgwMywweGU0LDB4MDAsMHhmOSwweDQwIH19LAotIHsxNiwgMHhjNTYwLCAwLCB7MHgzYywweDQ4LDB4MGMsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGUxLDB4MDAsMHgzMiwweDQwLDB4MGYsMHg5MCwweDAxLDB4ZTQsMHgwMCB9fSwKLSB7MTYsIDB4YzU3MCwgMCwgezB4ZjksMHg5MCwweDNlLDB4NjAsMHgwZiwweDkwLDB4MjYsMHhlOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM1ODAsIDAsIHsweDI4LDB4MDEsMHhhNSwweDAwLDB4ZjEsMHgwNCwweDNhLDB4NDQsMHg4ZiwweDkwLDB4MDMsMHhlNCwweDEwLDB4YzksMHgwNCwweDNlIH19LAotIHsxNiwgMHhjNTkwLCAwLCB7MHg2MCwweDBmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhlOSwweDIwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGU0LDB4MTAsMHhmOSB9fSwKLSB7MTYsIDB4YzVhMCwgMCwgezB4OTAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4ODAsMHgzZSwweDY0LDB4MGYsMHg5MCwweDA3LDB4Y2EgfX0sCi0gezE2LCAweGM1YjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTEsMHgwMCwweGM4LDB4MDQsMHgzYSwweDAwIH19LAotIHsxNiwgMHhjNWMwLCAwLCB7MHgxZSwweDgwLDB4MDMsMHg4MCwweDAzLDB4YzgsMHg0MCwweDJhLDB4MDQsMHgxZiwweDgwLDB4MDMsMHgyMCwweDAwLDB4ODgsMHgwMCB9fSwKLSB7MTYsIDB4YzVkMCwgMCwgezB4MzIsMHgzMCwweDBjLDB4ODAsMHgwMywweDIwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBjLDB4ODAsMHgwMywweGUwLDB4MDAgfX0sCi0gezE2LCAweGM1ZTAsIDAsIHsweGM4LDB4ODAsMHgzZSwweDIwLDB4MGYsMHg4MCwweDAzLDB4Y2EsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjNWYwLCAwLCB7MHgyOCwweDA1LDB4MzgsMHgwMCwweGFlLDB4ZDAsMHgzNywweDgwLDB4MDgsMHhlYywweDQ2LDB4MzgsMHgwMCwweGQ2LDB4MDQsMHgyMyB9fSwKLSB7MTYsIDB4YzYwMCwgMCwgezB4YTAsMHgwYiwweGEwLDB4NDEsMHg3OCwweDA0LDB4ZmEsMHgwMCwweDM3LDB4ODAsMHgwZCwweGEwLDB4MDIsMHhhOCwweDEwLDB4ZWUgfX0sCi0gezE2LCAweGM2MTAsIDAsIHsweDIxLDB4MmUsMHg4MCwweDA4LDB4YTAsMHgwMiwweGU4LDB4MDgsMHg4ZSwweDgwLDB4MmYsMHhhMCwweDhiLDB4YTAsMHgwMiwweGNhIH19LAotIHsxNiwgMHhjNjIwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMSwweDRjLDB4MDIsMHg4MywweGMwLDB4YTgsMHhlOCB9fSwKLSB7MTYsIDB4YzYzMCwgMCwgezB4NGEsMHgzNiwweDAyLDB4OGMsMHgwMCwweDEzLDB4YTAsMHgyOCwweGMyLDB4MGIsMHgzMCwweDA2LDB4MGMsMHgwMCwweGIzLDB4MDAgfX0sCi0gezE2LCAweGM2NDAsIDAsIHsweDI0LDB4ODQsMHgwOSwweDMwLDB4MDIsMHgwYywweDAwLDB4YjMsMHgyMCwweDI4LDB4YzAsMHgwOSwweDMwLDB4MDIsMHhjYywweDAwIH19LAotIHsxNiwgMHhjNjUwLCAwLCB7MHg4MywweDgwLDB4MmMsMHhjMCwweDBiLDB4MzAsMHgwMiwweGNhLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzY2MCwgMCwgezB4YTAsMHgwMSwweDNjLDB4NDQsMHhhZiwweDQwLDB4MjUsMHhjMiwweDQ4LDB4ZjgsMHg4MiwweDFjLDB4YzgsMHg5ZiwweDA4LDB4MjEgfX0sCi0gezE2LCAweGM2NzAsIDAsIHsweGMwLDB4OGIsMHhmOCwweDAyLDB4NWMsMHgwMCwweGJmLDB4YjAsMHgyNywweDgwLDB4MDksMHgzYSwweDAyLDB4OWMsMHgwMCwweGE1IH19LAotIHsxNiwgMHhjNjgwLCAwLCB7MHgwMiwweDJkLDB4ZTgsMHgwOSwweDcwLDB4MDIsMHhjZSwweDgwLDB4ODUsMHgwOCwweDJkLDB4YzIsMHgwYiwweDczLDB4MDIsMHhlOCB9fSwKLSB7MTYsIDB4YzY5MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZSwweDAwLDB4YzcsMHg4MiwweGE5LDB4ZTAgfX0sCi0gezE2LCAweGM2YTAsIDAsIHsweDBhLDB4NzgsMHgwMiwweDllLDB4NDAsMHg5NywweDg0LDB4MzksMHhhMCwweDBiLDB4N2EsMHg4MywweDNmLDB4ODAsMHhkNywweDkxIH19LAotIHsxNiwgMHhjNmIwLCAwLCB7MHgzNSwweGEwLDB4MGQsMHg3YSwweDA5LDB4MWUsMHg0NCwweGY3LDB4ODAsMHgzZCwweGU4LDB4MmQsMHg3YSwweDAzLDB4ZGUsMHg4MiB9fSwKLSB7MTYsIDB4YzZjMCwgMCwgezB4YzYsMHg4MCwweDNkLDB4MjAsMHg0YiwweDdiLDB4MjMsMHhlYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM2ZDAsIDAsIHsweDA4LDB4MWQsMHhhYywweDAwLDB4ZDMsMHgwMCwweDNlLDB4YzEsMHgwZiwweDMwLDB4MDMsMHhlZCwweDgwLDB4ZTMsMHgwMCwweDNlIH19LAotIHsxNiwgMHhjNmUwLCAwLCB7MHg4MCwweDBmLDB4YjYsMHgyMSwweGVjLDB4MDgsMHhkYiwweDIxLDB4M2UsMHg4MCwweDBmLDB4YjUsMHgwMywweDZjLDB4NDAsMHhmOSB9fSwKLSB7MTYsIDB4YzZmMCwgMCwgezB4MDAsMHgzZSwweGRjLDB4MGUsMHhiMiwweDAzLDB4ZWQsMHg0MCwweGY5LDB4MDIsMHgzZSwweDgwLDB4MGYsMHhiMCwweDAzLDB4YzIgfX0sCi0gezE2LCAweGM3MDAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmUsMHgwMCwweGNmLDB4ODAsMHgzZCwweGUwIH19LAotIHsxNiwgMHhjNzEwLCAwLCB7MHgwZiwweGM4LDB4NDMsMHhmZSwweDAwLDB4ZmUsMHg4NCwweDNmLDB4ZTAsMHgwZCwweGY4LDB4YzMsMHhmZiwweDEwLDB4YWYsMHg5MCB9fSwKLSB7MTYsIDB4YzcyMCwgMCwgezB4MzUsMHhhMCwweDBjLDB4ZmMsMHgwMywweDNlLDB4MTQsMHhlYywweDg0LDB4M2YsMHhmMCwweDBlLDB4ZmMsMHhjMywweGZmLDB4MDggfX0sCi0gezE2LCAweGM3MzAsIDAsIHsweDRmLDB4ODAsMHgzMywweGU0LDB4MGMsMHhmOCwweDAzLDB4MDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjNzQwLCAwLCB7MHhhOCwweDExLDB4OWMsMHgwMCwweGQ3LDB4YTIsMHgyZCwweGM0LDB4MGMsMHg0MSwweGMyLDB4ZGMsMHgwMCwweDc0LDB4MDAsMHgyNSB9fSwKLSB7MTYsIDB4Yzc1MCwgMCwgezB4ODAsMHgwZiwweDcyLDB4NDIsMHhkYywweDkwLDB4ZDcsMHgzOCwweDJkLDB4OTgsMHgwYSwweDcwLDB4MDIsMHgxYywweDA0LDB4ODYgfX0sCi0gezE2LCAweGM3NjAsIDAsIHsweDAwLDB4M2YsMHhjMCwweDBkLDB4NzAsMHgwMiwweGNjLDB4MDAsMHg4NiwweDA4LDB4MzcsMHhjNiwweDI4LDB4NzAsMHgwMiwweDJhIH19LAotIHsxNiwgMHhjNzcwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDljLDB4MDAsMHg4NywweDYwLDB4MmQsMHhjMiB9fSwKLSB7MTYsIDB4Yzc4MCwgMCwgezB4MGEsMHg1MCwweDAyLDB4ZGMsMHgwMCwweGI2LDB4MTAsMHgyNSwweGMyLDB4MDksMHg3MCwweDg2LDB4ZGMsMHgzMCwweDk3LDB4MDAgfX0sCi0gezE2LCAweGM3OTAsIDAsIHsweDI1LDB4ODAsMHgwOCwweDMwLDB4MDIsMHg1YywweDAwLDB4ODcsMHgwOCwweDJkLDB4YzAsMHgwOCwweDcwLDB4MDIsMHhjYywweDQwIH19LAotIHsxNiwgMHhjN2EwLCAwLCB7MHg4NiwweDAwLDB4MjEsMHgwMCwweDA5LDB4NzAsMHgwYSwweDAwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzdiMCwgMCwgezB4MjAsMHgxNCwweGVkLDB4ODAsMHg5MywweDAwLDB4MGMsMHhlMSwweDI4LDB4MTgsMHgwMiwweGNjLDB4MDgsMHhhMCwweDAwLDB4MjQgfX0sCi0gezE2LCAweGM3YzAsIDAsIHsweDEyLDB4MWEsMHgzNCwweDAyLDB4Y2YsMHgwNCwweDkzLDB4NDAsMHgyYywweDgwLDB4MGEsMHhiMCwweDIyLDB4NGMsMHgwMiwweDgxIH19LAotIHsxNiwgMHhjN2QwLCAwLCB7MHg4MCwweDI4LDB4ZTAsMHgyOCwweDMwLDB4MDIsMHhjYywweDAwLDB4ODgsMHg4MiwweDI0LDB4MjAsMHgwOCwweGIwLDB4MDIsMHgwOCB9fSwKLSB7MTYsIDB4YzdlMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhiZiwweDIwLDB4YzksMHhlMCwweDJjLDB4ZjEgfX0sCi0gezE2LCAweGM3ZjAsIDAsIHsweDBlLDB4YmQsMHgwMywweGZjLDB4MDAsMHhiOSwweDQwLDB4MzYsMHg0MCwweDA5LDB4ZjUsMHgwMiwweGZkLDB4NDAsMHhmZiwweDgwIH19LAotIHsxNiwgMHhjODAwLCAwLCB7MHgzNiwweGEyLDB4MDgsMHhmMCwweDBiLDB4N2MsMHgwMCwweGViLDB4ODAsMHgyZiwweGUwLDB4MGEsMHhmMCwweDQzLDB4ZmMsMHgwMiB9fSwKLSB7MTYsIDB4YzgxMCwgMCwgezB4OGIsMHhkMCwweDMyLDB4ZjAsMHgwZCwweGYwLDB4MDMsMHgyYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM4MjAsIDAsIHsweDgwLDB4MDAsMHhlYywweDEwLDB4ZmIsMHgwMCwweDNlLDB4YzgsMHgwZiwweDk0LDB4MTMsMHhlYywweDAwLDB4ZjksMHg0MCwweDM2IH19LAotIHsxNiwgMHhjODMwLCAwLCB7MHg0MCwweDFmLDB4YjAsMHgwMywweGVjLDB4MTAsMHhmYiwweDAxLDB4M2UsMHhkMCwweDBmLDB4YjAsMHgwMywweGFjLDB4MDAsMHhmOSB9fSwKLSB7MTYsIDB4Yzg0MCwgMCwgezB4MDAsMHgzZSwweGM0LDB4MGYsMHhiMCwweDAxLDB4ZWMsMHgwMCwweGY5LDB4MDQsMHgzZSwweDQ4LDB4MGYsMHhiMCwweDAzLDB4ZTAgfX0sCi0gezE2LCAweGM4NTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZmMsMHgwMCwweGRmLDB4MDAsMHgzZiwweGMwIH19LAotIHsxNiwgMHhjODYwLCAwLCB7MHgwYywweGUwLDB4MDcsMHhmYywweDAwLDB4ZmMsMHgwYSwweDI3LDB4MDAsMHg0ZiwweGYwLDB4MDMsMHhmYywweDAwLDB4ZmYsMHgwOCB9fSwKLSB7MTYsIDB4Yzg3MCwgMCwgezB4MzMsMHg4MCwweDBjLDB4ZjAsMHgwMCwweDJjLDB4MDAsMHg1ZiwweDAwLDB4MzMsMHhjMCwweDBjLDB4ZjAsMHgwMSwweGZjLDB4MDAgfX0sCi0gezE2LCAweGM4ODAsIDAsIHsweGZlLDB4MDAsMHgyMywweDQwLDB4MGYsMHhiMCwweDAzLDB4MDAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjODkwLCAwLCB7MHg4MSwweDA0LDB4NmMsMHgwMCwweDhiLDB4ODYsMHgyZSwweGUwLDB4NDgsMHg4ZiwweDAyLDB4ZWMsMHgwOCwweGI4LDB4YTAsMHgzNiB9fSwKLSB7MTYsIDB4YzhhMCwgMCwgezB4MzAsMHg0YiwweGIwLDB4MDMsMHhhYywweDBjLDB4OWIsMHgwMiwweDNjLDB4YTAsMHgwYywweGIwLDB4NDMsMHg2YywweDAwLDB4YjEgfX0sCi0gezE2LCAweGM4YjAsIDAsIHsweDAwLDB4MjgsMHhjMCwweDBkLDB4YjAsMHgxMiwweGVjLDB4MTAsMHhiOSwweDgwLDB4YTIsMHg2MSwweDBiLDB4YjAsMHgwMiwweDIwIH19LAotIHsxNiwgMHhjOGMwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDAsMHg5YiwweDg4LDB4MmUsMHhlMCB9fSwKLSB7MTYsIDB4YzhkMCwgMCwgezB4MDgsMHhhMCwweDAyLDB4ZWMsMHgwMSwweGJiLDB4ODAsMHgyNiwweDYyLDB4MGIsMHhiMCwweDAyLDB4ZWMsMHgwMCwweGIzLDB4MDEgfX0sCi0gezE2LCAweGM4ZTAsIDAsIHsweDJhLDB4MjEsMHgwOCwweGIwLDB4MTIsMHgyYywweDAwLDB4YjgsMHgwMCwweDIyLDB4YzAsMHgwOCwweGIwLDB4MTIsMHhlYywweDE0IH19LAotIHsxNiwgMHhjOGYwLCAwLCB7MHhiOSwweDg0LDB4MjIsMHhhMiwweDBiLDB4YjAsMHgwMiwweGEwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzkwMCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDQsMHg5MywweDAwLDB4MmMsMHhlMCwweDA4LDB4MDAsMHgwMiwweGNjLDB4MDksMHg5MSwweDAwLDB4MjAgfX0sCi0gezE2LCAweGM5MTAsIDAsIHsweDQwLDB4MGIsMHgzMCwweDA2LDB4NGMsMHgwNCwweDEzLDB4MDAsMHgyNiwweDAwLDB4MDgsMHgzMCwweDAyLDB4Y2MsMHgwNCwweGIyIH19LAotIHsxNiwgMHhjOTIwLCAwLCB7MHgwMCwweDJhLDB4YzAsMHgwMSwweDMwLDB4MDAsMHhjZCwweDAwLDB4YjAsMHgwMCwweDIwLDB4ODAsMHgwYiwweDMwLDB4MGEsMHgwMiB9fSwKLSB7MTYsIDB4YzkzMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2YywweDAwLDB4ZGIsMHgyNCwweDZlLDB4YzAgfX0sCi0gezE2LCAweGM5NDAsIDAsIHsweDJjLDB4YTAsMHgwMiwweGZjLDB4MDAsMHhiYSwweDA0LDB4MjYsMHg0MCwweDRmLDB4ZjAsMHg1NywweGZjLDB4MDAsMHgzZiwweDAxIH19LAotIHsxNiwgMHhjOTUwLCAwLCB7MHgzYSwweDAwLDB4MmMsMHhmMCwweDAxLDB4M2MsMHgwMCwweGRiLDB4MDAsMHgzMywweGMwLDB4ODQsMHhmMCwweDAzLDB4ZmQsMHgwOCB9fSwKLSB7MTYsIDB4Yzk2MCwgMCwgezB4ZmEsMHgwMCwweDMyLDB4MDAsMHgwZiwweGYwLDB4MDMsMHgwMCwweDAxLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM5NzAsIDAsIHsweGEwLDB4MTksMHhkYywweDAwLDB4ZWEsMHg0MCwweDNmLDB4MDAsMHgwNywweGMwLDB4MDMsMHhmYywweDA0LDB4ZmMsMHgwMCwweDNmIH19LAotIHsxNiwgMHhjOTgwLCAwLCB7MHg0MCwweDBmLDB4ZjAsMHgwMywweDljLDB4MDAsMHhmZiwweDAwLDB4M2YsMHgwMCwweDBlLDB4ZjAsMHgwMywweDdjLDB4MDAsMHhmZCB9fSwKLSB7MTYsIDB4Yzk5MCwgMCwgezB4MDAsMHgzZiwweGMxLDB4MGYsMHhmMCwweDAzLDB4ZmMsMHg4NCwweGY0LDB4MDAsMHgzZiwweDAwLDB4MGYsMHhmMCwweDAzLDB4ZTggfX0sCi0gezE2LCAweGM5YTAsIDAsIHsweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAxLDB4ZjAsMHg4MCwweGZmLDB4MDAsMHgwMywweGMyIH19LAotIHsxNiwgMHhjOWIwLCAwLCB7MHgwZiwweGMyLDB4MDMsMHgzZSwweDAwLDB4ZGYsMHhjMCwweDNlLDB4YzAsMHg0ZCwweGRiLDB4MDIsMHhiMCwweGMwLDB4ZGMsMHgzMCB9fSwKLSB7MTYsIDB4YzljMCwgMCwgezB4M2YsMHhlMCwweDBmLDB4ZGIsMHgyMywweGY2LDB4MjAsMHhmZiwweDI2LDB4MzMsMHhlMCwweDBmLDB4NTIsMHgwMywweDVlLDB4MDAgfX0sCi0gezE2LCAweGM5ZDAsIDAsIHsweGZmLDB4ODAsMHgzMywweGMwLDB4NGMsMHg0OSwweDAzLDB4MzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjOWUwLCAwLCB7MHg4MCwweDEwLDB4ZTEsMHhlMCwweGI3LDB4MDgsMHgyMywweGYwLDB4MGIsMHhhZCwweDBhLDB4MmUsMHgwMCwweDlhLDB4MDQsMHgyZSB9fSwKLSB7MTYsIDB4YzlmMCwgMCwgezB4YjAsMHgwOSwweDhmLDB4MDMsMHhhMCwweDQwLDB4YjksMHgzMCwweDJlLDB4YTAsMHgwYiwweDlmLDB4MDMsMHhhNywweDAwLDB4YmIgfX0sCi0gezE2LCAweGNhMDAsIDAsIHsweDgwLDB4MjYsMHhlMCwweDBiLDB4ZGQsMHgwMiwweDJlLDB4MDAsMHhiYiwweDgwLDB4MjIsMHhmNCwweDBhLDB4OTIsMHgwMiwweGEwIH19LAotIHsxNiwgMHhjYTEwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGM4LDB4ODAsMHhiMywweDEwLDB4MjQsMHhjMCB9fSwKLSB7MTYsIDB4Y2EyMCwgMCwgezB4MGIsMHg4MCwweDAyLDB4YWMsMHgwMCwweGEzLDB4MjQsMHgyYywweGQwLDB4MDgsMHgxMCwweDA2LDB4YzAsMHg4MCwweGIyLDB4MDEgfX0sCi0gezE2LCAweGNhMzAsIDAsIHsweDJjLDB4ZWEsMHg0YiwweDAwLDB4MTIsMHhjMiwweDA0LDB4YjMsMHgxMCwweDA4LDB4YzAsMHgwYSwweDkwLDB4MDIsMHgwYywweDAwIH19LAotIHsxNiwgMHhjYTQwLCAwLCB7MHg5MywweDA0LDB4MjQsMHhjMCwweDA5LDB4ODIsMHgwMiwweGEyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2E1MCwgMCwgezB4YzAsMHgxNSwweGE1LDB4MDAsMHhiYiwweDAwLDB4MjIsMHhjMCwweDBiLDB4ODAsMHgwMiwweGFjLDB4MDgsMHhiYiwweDE4LDB4MmUgfX0sCi0gezE2LCAweGNhNjAsIDAsIHsweGUwLDB4MTgsMHg4OCwweDAyLDB4ZWMsMHgwMSwweGJhLDB4MDAsMHgyZSwweDgwLDB4MGIsMHg5OCwweDg2LDB4ZTIsMHgwMCwweGJiIH19LAotIHsxNiwgMHhjYTcwLCAwLCB7MHgwMCwweDIyLDB4YzQsMHgwYiwweDkwLDB4MDIsMHg2YywweDAwLDB4YmIsMHgwMCwweGE2LDB4YzAsMHgwYiwweDkwLDB4MDAsMHhiMCB9fSwKLSB7MTYsIDB4Y2E4MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTEsMHhlNywweDAwLDB4ZmIsMHgwMCwweGIyLDB4YzAgfX0sCi0gezE2LCAweGNhOTAsIDAsIHsweDBmLDB4YTgsMHgwMywweGFjLDB4MDIsMHhlYiwweDAwLDB4M2UsMHg2MCwweDBkLDB4OWUsMHgwMywweGVjLDB4MDAsMHhkOCwweDQwIH19LAotIHsxNiwgMHhjYWEwLCAwLCB7MHgzZSwweDQwLDB4MGYsMHg4OCwweDQzLDB4ZTIsMHgwMCwweGZiLDB4MjAsMHgzMiwweGMwLDB4MGYsMHgxMCwweDBiLDB4NmYsMHg5MCB9fSwKLSB7MTYsIDB4Y2FiMCwgMCwgezB4NWIsMHg4MiwweDM2LDB4YzAsMHgyZCwweDA4LDB4MDEsMHg5MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNhYzAsIDAsIHsweGUwLDB4MDEsMHhiNywweDA4LDB4ZjcsMHgwMCwweDNmLDB4YzAsMHgwZiwweGY5LDB4MDMsMHg3YywweDA4LDB4Y2YsMHg4MiwweDNjIH19LAotIHsxNiwgMHhjYWQwLCAwLCB7MHgwMCwweGFmLDB4ZDAsMHgyMSwweGJjLDB4MDgsMHhmZCwweDEwLDB4M2YsMHg4MCwweDhmLDB4YzAsMHgwMywweGE0LDB4MDAsMHhmNyB9fSwKLSB7MTYsIDB4Y2FlMCwgMCwgezB4MDEsMHhiZiwweGMwLDB4MDcsMHhkMCwweDAzLDB4YmQsMHgzMCwweGZmLDB4YTQsMHgzOCwweGMwLDB4MGUsMHhkYSwweDAzLDB4ZjggfX0sCi0gezE2LCAweGNhZjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YTgsMHgwMCwweGZiLDB4MDAsMHhiMiwweGMxIH19LAotIHsxNiwgMHhjYjAwLCAwLCB7MHgwZSwweDgxLDB4MDMsMHhlYywweDQwLDB4ZmIsMHg0NCwweDNhLDB4YzEsMHgwZSwweDk1LDB4MDMsMHhlMCwweDAwLDB4Y2IsMHg0MSB9fSwKLSB7MTYsIDB4Y2IxMCwgMCwgezB4MzIsMHg0ZCwweDBmLDB4ODEsMHgwMywweGUwLDB4MjAsMHhjOSwweDAwLDB4NzIsMHhlOCwweDQ0LDB4OTEsMHgwMywweDZkLDB4MDAgfX0sCi0gezE2LCAweGNiMjAsIDAsIHsweGNiLDB4MDIsMHgzZSwweGMwLDB4MGMsMHg4MCwweDAzLDB4OTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjYjMwLCAwLCB7MHhjOCwweDA1LDB4MjQsMHgwMCwweGJmLDB4MDAsMHgzMywweGM0LDB4MDgsMHgxZCwweDAzLDB4OGMsMHgwMCwweGJiLDB4OTgsMHgzNiB9fSwKLSB7MTYsIDB4Y2I0MCwgMCwgezB4NDgsMHg0ZCwweDk4LDB4MjIsMHhlZCwweDQwLDB4ZGIsMHgwMCwweDM2LDB4YjAsMHgwYiwweDk4LDB4MDIsMHhlMywweDAwLDB4ZGIgfX0sCi0gezE2LCAweGNiNTAsIDAsIHsweDAwLDB4MzIsMHhlMCwweDg4LDB4ZDgsMHgwMiwweDJjLDB4MDIsMHhjMywweDgwLDB4MmYsMHhjMCwweDA4LDB4OTAsMHgwMywweDcyIH19LAotIHsxNiwgMHhjYjYwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwMSwweDQ0LDB4MDAsMHhiMywweDAwLDB4MjAsMHhmMCB9fSwKLSB7MTYsIDB4Y2I3MCwgMCwgezB4MTgsMHgwOCwweDAyLDB4NGYsMHg4NCwweGIxLDB4YzAsMHgyNCwweGMwLDB4ODksMHgwNiwweDAyLDB4YzQsMHgwMCwweDkxLDB4MDAgfX0sCi0gezE2LCAweGNiODAsIDAsIHsweDIwLDB4ZjAsMHgxYiwweDE4LDB4ODIsMHhjNiwweDAwLDB4OTMsMHgwMCwweDJjLDB4ZDEsMHgwOCwweDFlLDB4MDIsMHgwZSwweDQ0IH19LAotIHsxNiwgMHhjYjkwLCAwLCB7MHg5MywweDk0LDB4MmMsMHhjMCwweDA4LDB4MjAsMHgwMiwweGI4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2JhMCwgMCwgezB4MjAsMHgwMSwweDFlLDB4MDQsMHhiNywweDgwLDB4MjAsMHhlMiwweDA4LDB4NjgsMHgwNiwweDllLDB4ODAsMHhiZiwweDg0LDB4MjUgfX0sCi0gezE2LCAweGNiYjAsIDAsIHsweGE4LDB4MDksMHg2OCwweDAyLDB4YzYsMHgwMCwweDkzLDB4YTAsMHg2NSwweGU0LDB4MGIsMHg3OCwweDEyLDB4ZGUsMHgwMCwweDkzIH19LAotIHsxNiwgMHhjYmMwLCAwLCB7MHgwMCwweGExLDB4ZTAsMHgwOCwweGQ4LDB4MDIsMHgxZSwweGQwLDB4YTcsMHg4MCwweDJkLDB4ZTAsMHgwOCwweGY4LDB4MDIsMHg0OCB9fSwKLSB7MTYsIDB4Y2JkMCwgMCwgezB4MTAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwOCwweDAwLDB4YjMsMHgyMCwweDMwLDB4YzAgfX0sCi0gezE2LCAweGNiZTAsIDAsIHsweDBhLDB4MjIsMHgwMiwweGNlLDB4NDAsMHhmMywweGEwLDB4M2MsMHhlOCwweDBiLDB4MzAsMHgwMiwweGMxLDB4MDAsMHhkMCwweGMxIH19LAotIHsxNiwgMHhjYmYwLCAwLCB7MHgzMCwweGMwLDB4MGIsMHgyMSwweDEzLDB4Y2MsMHgyMSwweGQzLDB4MDAsMHgyYywweGMwLDB4MmMsMHgxMCwweDBiLDB4MGMsMHg4MCB9fSwKLSB7MTYsIDB4Y2MwMCwgMCwgezB4ZDMsMHg2MSwweDNjLDB4YzgsMHgyYywweDIwLDB4MDMsMHg5MiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNjMTAsIDAsIHsweDQwLDB4MWQsMHhiYywweDAwLDB4ZmYsMHg0MCwweDNiLDB4YzAsMHgwZiwweGUwLDB4MDMsMHhmYywweDAwLDB4ZjcsMHg1MCwweDdmIH19LAotIHsxNiwgMHhjYzIwLCAwLCB7MHhjNCwweDJlLDB4ZjAsMHgwMywweGZjLDB4NDAsMHhmZSwweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHg0NywweGZjLDB4MDAsMHhmZiB9fSwKLSB7MTYsIDB4Y2MzMCwgMCwgezB4MDAsMHg3ZCwweGMyLDB4MGYsMHhkMCwweDAxLDB4YmMsMHg4MCwweDVmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZDAgfX0sCi0gezE2LCAweGNjNDAsIDAsIHsweDAyLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZTQsMHgwMCwweGZiLDB4YzAsMHgzMiwweGM4IH19LAotIHsxNiwgMHhjYzUwLCAwLCB7MHgwZSwweGUwLDB4MDMsMHhhYywweGEwLDB4ZWIsMHgyMCwweDMyLDB4NDAsMHg4YywweGEwLDB4MTMsMHgyYywweDAwLDB4ZDksMHgwMCB9fSwKLSB7MTYsIDB4Y2M2MCwgMCwgezB4M2UsMHg2MCwweDBjLDB4YjAsMHgwMywweGU4LDB4MDAsMHhmYSwweDgwLDB4MzAsMHhjMCwweDNjLDB4OTIsMHgwMywweGVmLDB4NjAgfX0sCi0gezE2LCAweGNjNzAsIDAsIHsweGMzLDB4MjAsMHgzMSwweGM0LDB4MGMsMHhhMCwweDAzLDB4MmEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjYzgwLCAwLCB7MHg0OCwweDExLDB4OWMsMHgwMCwweDMzLDB4MjAsMHgyMSwweGRhLDB4MGIsMHg3MCwweDQzLDB4OWMsMHgwMSwweGI1LDB4MDAsMHgyMSB9fSwKLSB7MTYsIDB4Y2M5MCwgMCwgezB4MDAsMHgwYSwweGUwLDB4MDIsMHgxYywweDAwLDB4YjcsMHgwMCwweDJmLDB4YzAsMHgwZCwweDcwLDB4MDMsMHg5YywweDAwLDB4YjYgfX0sCi0gezE2LCAweGNjYTAsIDAsIHsweDAwLDB4MzEsMHhjOCwweDA4LDB4NTcsMHgwMiwweGRjLDB4MDAsMHg4NywweDUwLDB4MjEsMHhjMCwweDBhLDB4NzAsMHg0MiwweDkyIH19LAotIHsxNiwgMHhjY2IwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDlhLDB4MTEsMHhiNywweDkwLDB4MjEsMHhlMCB9fSwKLSB7MTYsIDB4Y2NjMCwgMCwgezB4MGIsMHg2OCwweDgyLDB4ZGUsMHgwOCwweGE3LDB4ODAsMHgyNCwweDYwLDB4MDgsMHg3MCwweDEyLDB4MTIsMHgwOCwweDk1LDB4ODAgfX0sCi0gezE2LCAweGNjZDAsIDAsIHsweDJkLDB4NjAsMHgwOSwweDZjLDB4MDIsMHhkZSwweDAwLDB4YjEsMHg4MCwweDIzLDB4ZTAsMHgwYSwweDU4LDB4NjIsMHhmZSwweDAwIH19LAotIHsxNiwgMHhjY2UwLCAwLCB7MHg5NywweGEwLDB4MjEsMHhlOCwweDA5LDB4ZTgsMHgwMiwweDMwLDB4MTAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2NmMCwgMCwgezB4NDgsMHgxNCwweGNkLDB4MDAsMHhiMywweDAwLDB4MjAsMHhjMCwweDhiLDB4M2MsMHgwMiwweDhjLDB4MDAsMHhiYiwweDAwLDB4MjQgfX0sCi0gezE2LCAweGNkMDAsIDAsIHsweGM0LDB4MWEsMHgzZCwweDAyLDB4MmYsMHg4OCwweGIzLDB4NDgsMHgyYywweGUwLDB4ODksMHgzZSwweDAyLDB4OGQsMHg4MCwweDkzIH19LAotIHsxNiwgMHhjZDEwLCAwLCB7MHhkOSwweGE0LDB4NDAsMHg4OCwweDEwLDB4MDIsMHhjYywweDA0LDB4OTMsMHhjOCwweDIwLDB4YzAsMHgwYiwweDMwLDB4MDIsMHg5MiB9fSwKLSB7MTYsIDB4Y2QyMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhiOSwweDQwLDB4ZmEsMHgwMCwweGIyLDB4ODAgfX0sCi0gezE2LCAweGNkMzAsIDAsIHsweDBmLDB4ZTAsMHgwMywweGU4LDB4MDAsMHhlYSwweDgwLDB4MzcsMHhhMCwweDBjLDB4ZTgsMHgxMywweDNiLDB4MDgsMHhkZSwweDAxIH19LAotIHsxNiwgMHhjZDQwLCAwLCB7MHgzZiwweDgyLDB4MGMsMHhlMCwweDQzLDB4ZmEsMHg4MCwweGZlLDB4ODAsMHgzMSwweDI4LDB4MGMsMHhhMCwweDAzLDB4ZjAsMHgwMiB9fSwKLSB7MTYsIDB4Y2Q1MCwgMCwgezB4YzQsMHhjMCwweGIyLDB4ODAsMHgwZCwweGUwLDB4MDMsMHgzYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNkNjAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MTAsMHgwYiwweDgwLDB4ODMsMHhlMCwweDAwLDB4ZjgsMHgzMCwweDNhIH19LAotIHsxNiwgMHhjZDcwLCAwLCB7MHgwMCwweDZkLDB4ODAsMHg4MywweGUxLDB4NDQsMHhiOCwweDA0LDB4M2UsMHgxMCwweDBmLDB4ODAsMHgxMywweGUwLDB4MDAsMHhmOCB9fSwKLSB7MTYsIDB4Y2Q4MCwgMCwgezB4MDAsMHgzYSwweDEwLDB4NGYsMHgwNCwweDAzLDB4ZTMsMHgwMCwweGU4LDB4MTAsMHgzZSwweDAwLDB4MGUsMHg4MCwweDAzLDB4ZDIgfX0sCi0gezE2LCAweGNkOTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGM5LDB4MDAsMHgzOCwweDQwIH19LAotIHsxNiwgMHhjZGEwLCAwLCB7MHgwZiwweDFhLDB4MDMsMHgyZSwweDAwLDB4ZmIsMHhhMCwweDM2LDB4NjAsMHgwYywweDk4LDB4MDMsMHhlNiwweDA0LDB4ZDEsMHgwMCB9fSwKLSB7MTYsIDB4Y2RiMCwgMCwgezB4MzYsMHg0OCwweDBlLDB4OTEsMHgwMiwweGU2LDB4MDAsMHhmOSwweDAwLDB4M2UsMHgwMCwweDBjLDB4OTksMHgwMywweDYyLDB4NDAgfX0sCi0gezE2LCAweGNkYzAsIDAsIHsweGY4LDB4MDAsMHhhMCwweDY4LDB4MGMsMHg5MCwweDAzLDB4MDIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjZGQwLCAwLCB7MHg4MCwweDA0LDB4NjQsMHgwMiwweDg5LDB4MDQsMHgyZSwweDY0LDB4ODgsMHg5NCwweDAyLDB4YTUsMHgwMCwweGI5LDB4ODAsMHgyMCB9fSwKLSB7MTYsIDB4Y2RlMCwgMCwgezB4NjQsMHgwZCwweDljLDB4MDIsMHhlNiwweDQyLDB4ODksMHgwMCwweDIyLDB4NjAsMHgwYiwweDljLDB4MDIsMHhlNCwweDEwLDB4YjkgfX0sCi0gezE2LCAweGNkZjAsIDAsIHsweDQwLDB4M2EsMHg1MCwweDA4LDB4OWMsMHgwMiwweDI3LDB4MjAsMHhiOSwweDAwLDB4MjIsMHg0MCwweDA4LDB4MTAsMHgwMywweDYwIH19LAotIHsxNiwgMHhjZTAwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDA0LDB4MDAsMHg4OSwweDAwLDB4MjIsMHg0MCB9fSwKLSB7MTYsIDB4Y2UxMCwgMCwgezB4MGEsMHg5MCwweDgyLDB4MjUsMHg0YywweGI5LDB4MDAsMHgwMiwweDQwLDB4MDgsMHg5NiwweDAyLDB4ZTQsMHgxMCwweDg5LDB4MDAgfX0sCi0gezE2LCAweGNlMjAsIDAsIHsweDI2LDB4NTAsMHgxMywweDk0LDB4MDIsMHhlNCwweDQwLDB4YjksMHgwOCwweDJlLDB4NDAsMHgwOCwweDkwLDB4OGEsMHgyNCwweDAwIH19LAotIHsxNiwgMHhjZTMwLCAwLCB7MHhiOSwweDAxLDB4MmEsMHg0MCwweDA4LDB4OTAsMHgwMiwweDA2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2U0MCwgMCwgezB4MDgsMHgwNCwweDA1LDB4ODAsMHg4MSwweDQwLDB4MmMsMHhjOCwweDA4LDB4MTAsMHgwNiwweDg0LDB4MDAsMHhiMSwweDA0LDB4MjAgfX0sCi0gezE2LCAweGNlNTAsIDAsIHsweDQ5LDB4MDksMHgxNCwweDQyLDB4Y2MsMHg4OSwweDgxLDB4MjAsMHgyMCwweDUwLDB4MGIsMHgxNCwweDQ2LDB4YzQsMHgwMCwweGIxIH19LAotIHsxNiwgMHhjZTYwLCAwLCB7MHgwMCwweDJhLDB4YzAsMHgyOCwweDE0LDB4MDIsMHgwMSwweDAxLDB4YjAsMHgwNCwweDI4LDB4NDAsMHgzOCwweDk0LDB4MDIsMHg0MiB9fSwKLSB7MTYsIDB4Y2U3MCwgMCwgezB4MTEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDAwLDB4ODgsMHgwMCwweDNhLDB4MDAgfX0sCi0gezE2LCAweGNlODAsIDAsIHsweDBlLDB4ODAsMHgyMywweDIwLDB4MDAsMHhmOCwweDUwLDB4YjIsMHgwMCwweDBjLDB4ODAsMHgxMiwweGUxLDB4NDAsMHhkOCwweDUwIH19LAotIHsxNiwgMHhjZTkwLCAwLCB7MHgzNiwweDAwLDB4MGUsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgyZSwweDAwLDB4MGMsMHg4MCwweDUzLDB4NjAsMHgwNCB9fSwKLSB7MTYsIDB4Y2VhMCwgMCwgezB4ZjgsMHgwMCwweDNhLDB4MDAsMHgwYywweDgwLDB4MDMsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNlYjAsIDAsIHsweDk4LDB4MWQsMHhmNCwweDQwLDB4ZjksMHg0NCwweDNlLDB4NDQsMHgwZiwweGQ0LDB4MDMsMHhlNCwweDAwLDB4ZjEsMHgwMCwweDNmIH19LAotIHsxNiwgMHhjZWMwLCAwLCB7MHg0NCwweDBmLDB4ZDQsMHg1MywweGY0LDB4NDQsMHhmZCwweDEwLDB4MmYsMHg0MCwweDBmLDB4ZjQsMHgwMywweGZkLDB4MDAsMHhmZCB9fSwKLSB7MTYsIDB4Y2VkMCwgMCwgezB4NDAsMHgzYiwweDEwLDB4MGYsMHhkNCwweDIzLDB4ZDEsMHgwNCwweDdjLDB4NDMsMHgzNiwweDUwLDB4MGYsMHg1MCwweDAzLDB4ZTYgfX0sCi0gezE2LCAweGNlZTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4YTYsMHgwMCwweGY5LDB4MTAsMHgyZSwweDYyIH19LAotIHsxNiwgMHhjZWYwLCAwLCB7MHgwZiwweGQyLDB4ODMsMHhlNCwweDAwLDB4YmQsMHg0MiwweDNlLDB4NjEsMHgwZiwweGQwLDB4MDMsMHhmNiwweGMwLDB4YzksMHhhMiB9fSwKLSB7MTYsIDB4Y2YwMCwgMCwgezB4MmIsMHg0MCwweDBjLDB4ZDAsMHgwMywweDM0LDB4MDAsMHhmOSwweDgxLDB4M2UsMHg2OCwweDA4LDB4YzEsMHg0MywweGZhLDB4MDAgfX0sCi0gezE2LCAweGNmMTAsIDAsIHsweGY1LDB4ODAsMHgzZiwweDYyLDB4MGMsMHgxNCwweDAzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjZjIwLCAwLCB7MHgzOCwweDEwLDB4ZTEsMHgyMCwweDg4LDB4MTEsMHgyZSwweDEwLDB4MGIsMHg4MCwweDAyLDB4ZTAsMHgwMCwweGI4LDB4ODIsMHgyZSB9fSwKLSB7MTYsIDB4Y2YzMCwgMCwgezB4MTAsMHgwYiwweDgwLDB4MDAsMHhlMywweGM0LDB4ODgsMHhmMCwweDIyLDB4MDAsMHgwYiwweDgwLDB4MGEsMHgyMCwweDAwLDB4ZTggfX0sCi0gezE2LCAweGNmNDAsIDAsIHsweDQwLDB4MmYsMHgxNCwweDA4LDB4ODgsMHgwMiwweGUyLDB4MDAsMHhiOCwweDAwLDB4MmUsMHgwMCwweDA4LDB4ODgsMHgwMiwweDhlIH19LAotIHsxNiwgMHhjZjUwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweGM1LDB4MDAsMHhhMSwweDAwLDB4MmMsMHg0MCB9fSwKLSB7MTYsIDB4Y2Y2MCwgMCwgezB4MGIsMHgxMCwweDAyLDB4YzQsMHgxOCwweGIxLDB4MjIsMHg2YywweGQxLDB4MGIsMHgxMCwweDI2LDB4YzQsMHgwMCwweDgxLDB4MDggfX0sCi0gezE2LCAweGNmNzAsIDAsIHsweDJhLDB4NDAsMHg4OCwweDEwLDB4MDIsMHgwNCwweDA0LDB4YjUsMHhjMCwweDBmLDB4NDAsMHgwYiwweDAyLDB4MDIsMHg0MSwweGEwIH19LAotIHsxNiwgMHhjZjgwLCAwLCB7MHhiMSwweDQwLDB4MmMsMHg0MCwweDA4LDB4MTIsMHgwMiwweDAyLDB4MTEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2Y5MCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MDAsMHg4OSwweDA2LDB4MmUsMHg0MCwweDBiLDB4OTAsMHgxMiwweGU0LDB4MDAsMHhiOSwweDQwLDB4MmUgfX0sCi0gezE2LCAweGNmYTAsIDAsIHsweDQwLDB4MGIsMHhiMCwweDgyLDB4YzQsMHgwMiwweDg5LDB4NDQsMHgyMiwweDQwLDB4MGEsMHg5MCwweDAyLDB4MjQsMHgwMCwweGE5IH19LAotIHsxNiwgMHhjZmIwLCAwLCB7MHgwMCwweDI3LDB4NDgsMHgwOSwweGIwLDB4MTIsMHhlYywweDE4LDB4YjksMHgwMSwweDJlLDB4NDAsMHg0MCwweDkwLDB4MDIsMHg4NiB9fSwKLSB7MTYsIDB4Y2ZjMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNywweDg0LDB4ZTksMHgwMSwweDNlLDB4NDAgfX0sCi0gezE2LCAweGNmZDAsIDAsIHsweDBmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg3MiwweDBmLDB4OTAsMHgwMywweGU3LDB4NjAsMHg4OSwweDEwIH19LAotIHsxNiwgMHhjZmUwLCAwLCB7MHgzYSwweDQwLDB4MGMsMHg5MCwweDAzLDB4MjQsMHgwMCwweGY5LDB4NDQsMHgzYywweDQwLDB4MmQsMHg5MCwweDAzLDB4ZTcsMHg2MCB9fSwKLSB7MTYsIDB4Y2ZmMCwgMCwgezB4ZjksMHg3MSwweDNlLDB4NDAsMHgyOCwweDkwLDB4MDMsMHgyOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQwMDAsIDAsIHsweDI4LDB4MDEsMHhhNCwweDQ4LDB4YTksMHgwMCwweDNlLDB4YzAsMHgwZiwweDlhLDB4NDMsMHhlYywweDAwLDB4ZjksMHgyMCwweDdlIH19LAotIHsxNiwgMHhkMDEwLCAwLCB7MHhjOCwweDBmLDB4OWEsMHgwNywweDY2LDB4MDAsMHg3OSwweDgwLDB4N2UsMHg0MCwweDBmLDB4MWMsMHgwMywweGU3LDB4MDAsMHhlOSB9fSwKLSB7MTYsIDB4ZDAyMCwgMCwgezB4YTAsMHgzZSwweDQwLDB4NDYsMHg4MCwweDAzLDB4ZTAsMHgyMCwweGY5LDB4MDAsMHgzYywweDQwLDB4MGYsMHg5MCwweDAzLDB4Y2EgfX0sCi0gezE2LCAweGQwMzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4ODAsMHgwMCwweGY4LDB4MDAsMHgzYSwweDAwIH19LAotIHsxNiwgMHhkMDQwLCAwLCB7MHgwZiwweDgwLDB4MDMsMHhhMCwweDA4LDB4ZTgsMHg0MCwweDNhLDB4MTAsMHgwYywweDgzLDB4MDMsMHhhMSwweGMwLDB4ZjAsMHg0MCB9fSwKLSB7MTYsIDB4ZDA1MCwgMCwgezB4M2UsMHgwNiwweDBmLDB4ODQsMHgwMywweGUxLDB4MDAsMHhmOCwweDAwLDB4M2IsMHgwMCwweDBmLDB4ODEsMHgwMywweDIwLDB4MDAgfX0sCi0gezE2LCAweGQwNjAsIDAsIHsweGY4LDB4MTAsMHhiMiwweDAwLDB4NGMsMHg4MCwweDBiLDB4MGEsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkMDcwLCAwLCB7MHgyOCwweDA1LDB4MjgsMHgwMCwweGJhLDB4MDAsMHgyZSwweGIwLDB4MGIsMHhlOCwweDAyLDB4ZTksMHgwMCwweDNlLDB4OTAsMHgwMiB9fSwKLSB7MTYsIDB4ZDA4MCwgMCwgezB4ODEsMHgwOCwweGU0LDB4MTIsMHg3OCwweDAwLDB4YmEsMHgwMCwweDJkLDB4YjAsMHg4OSwweGU4LDB4MjIsMHhmOCwweDBjLDB4YmEgfX0sCi0gezE2LCAweGQwOTAsIDAsIHsweDAwLDB4NmUsMHg4MCwweDAzLDB4YzUsMHgwMywweDMwLDB4MDAsMHhiYSwweDAwLDB4MjIsMHhhOCwweDA4LDB4YTAsMHgyMiwweDhhIH19LAotIHsxNiwgMHhkMGEwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDAsMHhiMywweDAwLDB4MjgsMHhlOCB9fSwKLSB7MTYsIDB4ZDBiMCwgMCwgezB4MWIsMHgzMSwweDEyLDB4OGMsMHhjNCwweGEzLDB4OTIsMHgyYywweDQwLDB4ODgsMHgzNCwweDA2LDB4OGUsMHgwMCwweDkzLDB4MDAgfX0sCi0gezE2LCAweGQwYzAsIDAsIHsweDJjLDB4ZjAsMHgxOSwweDMxLDB4YTIsMHhjYywweDA0LDB4YjMsMHgwMCwweDI4LDB4ODAsMHgwMSwweDM4LDB4MDIsMHg0YywweDAwIH19LAotIHsxNiwgMHhkMGQwLCAwLCB7MHhiMywweDgwLDB4MjAsMHhlMCwweDBhLDB4YjAsMHgxMiwweDAyLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDBlMCwgMCwgezB4YTAsMHgwMSwweDFjLDB4MDAsMHhiNywweDE0LDB4MmQsMHg0MiwweDBiLDB4NjAsMHgwMiwweGRjLDB4MDAsMHhiNywweDgxLDB4MjcgfX0sCi0gezE2LCAweGQwZjAsIDAsIHsweGUwLDB4MTgsMHg2MCwweDAyLDB4NTgsMHgxOCwweGI3LDB4MjIsMHgyZCwweDgwLDB4MDksMHg3MCwweDIyLDB4ZGMsMHgwMCwweGI3IH19LAotIHsxNiwgMHhkMTAwLCAwLCB7MHgwMCwweDJkLDB4ODAsMHgwYiwweDNiLDB4MDIsMHgxZCwweGQwLDB4YmYsMHg4MCwweDI4LDB4YzAsMHg4YSwweGYyLDB4MDIsMHhhMCB9fSwKLSB7MTYsIDB4ZDExMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZiwweDgwLDB4ZjcsMHhhMCwweDM5LDB4ZTIgfX0sCi0gezE2LCAweGQxMjAsIDAsIHsweDBmLDB4NjgsMHgwMywweDllLDB4MDAsMHhlZCwweDg0LDB4M2QsMHhlMiwweDQ0LDB4NzgsMHgwMywweDllLDB4MDAsMHhmNywweGI0IH19LAotIHsxNiwgMHhkMTMwLCAwLCB7MHgyZCwweGUwLDB4MGQsMHg2OCwweDAzLDB4ZDYsMHgwMCwweGY2LDB4ODAsMHgzOSwweGUwLDB4MGYsMHg3OSwweDAzLDB4NWUsMHg5MCB9fSwKLSB7MTYsIDB4ZDE0MCwgMCwgezB4ZjcsMHg4MSwweDMxLDB4NjAsMHgyZSwweDdjLDB4MDMsMHgyYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQxNTAsIDAsIHsweDA4LDB4MWQsMHhhZCwweDAwLDB4ZmIsMHg0MiwweDNlLDB4YzgsMHgwZiwweGEwLDB4MDMsMHhlZCwweGEwLDB4YmIsMHgwMCwweDM4IH19LAotIHsxNiwgMHhkMTYwLCAwLCB7MHhjOCwweDBmLDB4YjAsMHgwMywweDY4LDB4MDAsMHhmYiwweDExLDB4M2UsMHg0MCwweDA5LDB4YjAsMHg0MSwweGVjLDB4MDAsMHhmYSB9fSwKLSB7MTYsIDB4ZDE3MCwgMCwgezB4MDIsMHgzZSwweGMwLDB4MGYsMHhiMiwweDBiLDB4ZWQsMHg4MCwweDNiLDB4MDAsMHgzNiwweDQwLDB4MGQsMHhiMCwweDIzLDB4NDIgfX0sCi0gezE2LCAweGQxODAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmYsMHgwMCwweGNmLDB4ZDAsMHgzMywweGU0IH19LAotIHsxNiwgMHhkMTkwLCAwLCB7MHg0ZiwweGY5LDB4MDMsMHhkZSwweDQwLDB4ZGMsMHg4MCwweDM2LDB4ZTQsMHgwYywweGI5LDB4MTMsMHhmZSwweDAwLDB4Y2YsMHg5MCB9fSwKLSB7MTYsIDB4ZDFhMCwgMCwgezB4MzcsMHhlNSwweDBmLDB4ZjgsMHg0MywweGZlLDB4MDAsMHhjZiwweDkyLDB4M2YsMHhhNCwweDBmLDB4NzgsMHgwMywweDFmLDB4MDAgfX0sCi0gezE2LCAweGQxYjAsIDAsIHsweGM1LDB4ODAsMHgzMywweDYwLDB4MGMsMHhmOCwweDIwLDB4MDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkMWMwLCAwLCB7MHhhOCwweDExLDB4YmMsMHgwMCwweDBmLDB4MTAsMHgyMSwweDgxLDB4MGIsMHg2MCwweDAzLDB4ODQsMHgwMCwweDhiLDB4MDgsMHgyMSB9fSwKLSB7MTYsIDB4ZDFkMCwgMCwgezB4NjAsMHgwYSwweDdiLDB4MDMsMHg5OCwweDAwLDB4OGIsMHgxMCwweDI5LDB4ODQsMHgwZSwweDY0LDB4MjIsMHhkYywweDQwLDB4ZDcgfX0sCi0gezE2LCAweGQxZTAsIDAsIHsweDAyLDB4MmQsMHg4NCwweDBiLDB4NzAsMHgwMiwweDFjLDB4MDAsMHg4NSwweDE4LDB4MjEsMHg0MCwweDBhLDB4ZjAsMHgyMiwweGFhIH19LAotIHsxNiwgMHhkMWYwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDljLDB4MDAsMHhhNywweDE0LDB4NjksMHhjMCB9fSwKLSB7MTYsIDB4ZDIwMCwgMCwgezB4MWEsMHg2MCwweDEyLDB4ZmMsMHgwMSwweGE0LDB4MTAsMHgyZCwweGMwLDB4MGEsMHg1MiwweDAyLDB4NDUsMHg0MCwweDg3LDB4MGMgfX0sCi0gezE2LCAweGQyMTAsIDAsIHsweDIxLDB4ODAsMHgxYiwweDYwLDB4ODIsMHhkNCwweDAwLDB4ODYsMHgwMywweDI1LDB4ZTAsMHgxYiwweDcwLDB4MDIsMHg1YywweDQwIH19LAotIHsxNiwgMHhkMjIwLCAwLCB7MHg5ZCwweDAwLDB4MjksMHg0MCwweDA4LDB4NzAsMHgwMiwweDAwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDIzMCwgMCwgezB4MjAsMHgxNCwweGNkLDB4MDAsMHhhMywweDAwLDB4MjgsMHhjMCwweDFiLDB4MjAsMHgyMiwweDhjLDB4MTEsMHhhMywweDAwLDB4NjggfX0sCi0gezE2LCAweGQyNDAsIDAsIHsweGY2LDB4MGEsMHgzYywweDA2LDB4ODIsMHgwMCwweDgzLDB4ODAsMHgyOCwweDg0LDB4MGEsMHg4YywweDgyLDB4Y2MsMHg0NCwweDkyIH19LAotIHsxNiwgMHhkMjUwLCAwLCB7MHgwMCwweDJjLDB4YzAsMHgwYiwweDMwLDB4MDIsMHg0ZSwweDAwLDB4OTEsMHgwMCwweDI4LDB4NDAsMHgwYSwweDMwLDB4MDIsMHg4OCB9fSwKLSB7MTYsIDB4ZDI2MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhiZSwweDIyLDB4ZWYsMHgwNCwweGJhLDB4YzAgfX0sCi0gezE2LCAweGQyNzAsIDAsIHsweDBmLDB4MTQsMHg5MywweGVjLDB4MDIsMHhmMSwweGMzLDB4M2UsMHhmMCwweDBlLDB4OTAsMHg4MywweDY2LDB4MDAsMHhjZiwweGQyIH19LAotIHsxNiwgMHhkMjgwLCAwLCB7MHgzMiwweDUwLDB4MGYsMHg5YywweDAzLDB4Y2IsMHgwMCwweGM5LDB4ODAsMHgzZSwweDI4LDB4MGYsMHhiMCwweDAzLDB4NGYsMHgwMCB9fSwKLSB7MTYsIDB4ZDI5MCwgMCwgezB4ZDEsMHhjMCwweGFhLDB4YzAsMHgwYywweDcxLDB4MDMsMHgyYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQyYTAsIDAsIHsweDgwLDB4MDAsMHhlYywweDIwLDB4ZGIsMHgwMCwweDI2LDB4ODAsMHgwZiwweGEwLDB4MDMsMHhlYywweDA4LDB4MWIsMHgwMCwweDM2IH19LAotIHsxNiwgMHhkMmIwLCAwLCB7MHhjMCwweDBmLDB4ODYsMHgwMSwweGU1LDB4NDAsMHhmYiwweDAyLDB4M2EsMHg0OCwweDBlLDB4OTQsMHgwMywweGVjLDB4ODAsMHhmMSB9fSwKLSB7MTYsIDB4ZDJjMCwgMCwgezB4ODQsMHgzZSwweDAwLDB4NGYsMHhiMCwweDAzLDB4YWQsMHhjMCwweGViLDB4MjAsMHgzNiwweGMwLDB4MGYsMHhiMCwweDIzLDB4ZTAgfX0sCi0gezE2LCAweGQyZDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZGMsMHgwMCwweGNmLDB4MDAsMHgzZiwweDYwIH19LAotIHsxNiwgMHhkMmUwLCAwLCB7MHgwYywweGUwLDB4ODMsMHgzZSwweDgwLDB4ZWQsMHgwOCwweDMzLDB4ZDAsMHg4ZiwweDUwLDB4MDMsMHg5ZSwweDAwLDB4ZGYsMHgwMCB9fSwKLSB7MTYsIDB4ZDJmMCwgMCwgezB4MzMsMHg0MCwweDBjLDB4YzAsMHgwMywweDMwLDB4MDAsMHhjYywweDEwLDB4MzMsMHg2OCwweDBjLDB4ZjAsMHgwMywweDNjLDB4ODQgfX0sCi0gezE2LCAweGQzMDAsIDAsIHsweDhkLDB4OTAsMHgzMCwweDQwLDB4MGMsMHhmMCwweDAzLDB4MDgsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkMzEwLCAwLCB7MHg4MSwweDA0LDB4NmMsMHgwMCwweDhiLDB4MDIsMHgyYywweGY0LDB4MDgsMHhhOCwweDYyLDB4MGMsMHg4MCwweDhiLDB4ODAsMHgyYSB9fSwKLSB7MTYsIDB4ZDMyMCwgMCwgezB4NjAsMHgwZiwweDljLDB4MDIsMHgyZSwweDAwLDB4OGIsMHgwMCwweDIwLDB4NjAsMHgwZCwweDk4LDB4MDIsMHgyYywweDgwLDB4ZDggfX0sCi0gezE2LCAweGQzMzAsIDAsIHsweDAwLDB4MTQsMHg0MCwweDA4LDB4MzQsMHgxMiwweDJlLDB4MDAsMHg4YiwweDgyLDB4MzIsMHg0MCwweDBkLDB4YjAsMHgwMywweDYwIH19LAotIHsxNiwgMHhkMzQwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDAsMHg4YiwweDAwLDB4MmUsMHhkMCB9fSwKLSB7MTYsIDB4ZDM1MCwgMCwgezB4MDgsMHhiOCwweDAyLDB4MmMsMHgwMCwweDhhLDB4ODQsMHgyMiwweGMwLDB4MGIsMHg4OCwweDAyLDB4ZTQsMHhhMCwweDgzLDB4MDAgfX0sCi0gezE2LCAweGQzNjAsIDAsIHsweDIyLDB4NjIsMHgwYSwweDk4LDB4MDIsMHgyOCwweDAwLDB4ODksMHgwMCwweDIyLDB4MDAsMHgwYSwweGIxLDB4MDYsMHgyYywweDAwIH19LAotIHsxNiwgMHhkMzcwLCAwLCB7MHhhYiwweDAwLDB4MjIsMHg0MCwweDA4LDB4YjAsMHgwMiwweDYwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDM4MCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDIsMHhhMywweDAwLDB4MmMsMHhjMSwweDA4LDB4MjAsMHgwMiwweDBjLDB4MDIsMHg4YiwweDAwLDB4MjggfX0sCi0gezE2LCAweGQzOTAsIDAsIHsweGMyLDB4MGEsMHgwMCwweDAyLDB4NDQsMHgxMCwweDgzLDB4MTAsMHgyMiwweDQwLDB4MGIsMHgxMCwweDA2LDB4MGMsMHgwMCwweDkxIH19LAotIHsxNiwgMHhkM2EwLCAwLCB7MHgwNCwweGFhLDB4MDAsMHgyOCwweDMwLDB4MDIsMHgyYywweDAwLDB4YTEsMHgwMSwweDIwLDB4NDAsMHgwOSwweGIwLDB4MDIsMHg0MiB9fSwKLSB7MTYsIDB4ZDNiMCwgMCwgezB4MTEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg3YywweDAwLDB4OGYsMHgwMCwweDNlLDB4YzAgfX0sCi0gezE2LCAweGQzYzAsIDAsIHsweDJjLDB4YTAsMHgwMywweDI5LDB4NDAsMHhhOCwweDQwLDB4MzIsMHhjYywweDhiLDB4ODAsMHgwMiwweGUwLDB4MDAsMHhjZiwweDQwIH19LAotIHsxNiwgMHhkM2QwLCAwLCB7MHgzMiwweDAwLDB4MGUsMHg4MCwweDBhLDB4MjAsMHgwMCwweDg4LDB4MDAsMHgyMiwweDQwLDB4MGMsMHhiMCwweDAzLDB4MmMsMHgwNCB9fSwKLSB7MTYsIDB4ZDNlMCwgMCwgezB4ZWIsMHgwMCwweGIyLDB4NDAsMHg4YywweGIwLDB4MDMsMHg0MCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQzZjAsIDAsIHsweGEwLDB4MWQsMHhmYywweDAwLDB4ZGYsMHgwMCwweDNmLDB4NDAsMHgwZiwweGUwLDB4MDMsMHhmYywweDgwLDB4ZmYsMHgyOCwweDNkIH19LAotIHsxNiwgMHhkNDAwLCAwLCB7MHhjMCwweDBiLDB4YzEsMHgwMywweGIwLDB4MTQsMHhmZiwweDAwLDB4M2YsMHgwMCwweDBkLDB4ZDAsMHgwMywweGRjLDB4MDAsMHhmYyB9fSwKLSB7MTYsIDB4ZDQxMCwgMCwgezB4MDAsMHgzNywweDQwLDB4MGYsMHhmMCwweDIxLDB4ZmMsMHgwMCwweDFkLDB4MDAsMHg3YiwweDQwLDB4OGYsMHhmMCwweDAzLDB4ZTAgfX0sCi0gezE2LCAweGQ0MjAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZDIsMHgwMCwweGRmLDB4MDAsMHgzMSwweGEwIH19LAotIHsxNiwgMHhkNDMwLCAwLCB7MHg0ZCwweGYwLDB4NDMsMHgzMiwweDAwLDB4Y2UsMHgxNCwweDFiLDB4NjgsMHgwZSwweGRhLDB4MjMsMHhiMiwweGMwLDB4MmYsMHgwMCB9fSwKLSB7MTYsIDB4ZDQ0MCwgMCwgezB4M2YsMHhjMiwweDJjLDB4ZTgsMHgwMywweDNjLDB4NDAsMHhmZCwweDA4LDB4M2IsMHhjOCwweDRjLDB4ZjAsMHg4MywweDNjLDB4YTAgfX0sCi0gezE2LCAweGQ0NTAsIDAsIHsweGNmLDB4MDAsMHgzMywweGM0LDB4MGMsMHhmMywweDA3LDB4ZjAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkNDYwLCAwLCB7MHg4MCwweDEwLDB4ZTIsMHgwMCwweDhmLDB4YzAsMHgyMiwweGEwLDB4MDgsMHhmZCwweDQyLDB4MmYsMHgwMCwweDhiLDB4NzAsMHgyMiB9fSwKLSB7MTYsIDB4ZDQ3MCwgMCwgezB4MWUsMHg0OCwweDg5LDB4MDIsMHgyNywweGMwLDB4OGYsMHg1YSwweDJlLDB4NTAsMHg0OCwweDMwLDB4MDIsMHhiZCwweGMwLDB4YmQgfX0sCi0gezE2LCAweGQ0ODAsIDAsIHsweDQwLDB4MjMsMHhjNSwweDQ4LDB4ZjQsMHg4MiwweDNkLDB4MmMsMHg4NywweDcwLDB4MjIsMHhjMCwweDA4LDB4ZjEsMHgwMywweGUwIH19LAotIHsxNiwgMHhkNDkwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGUwLDB4MDAsMHg5MywweDEwLDB4MjYsMHg4MSB9fSwKLSB7MTYsIDB4ZDRhMCwgMCwgezB4NDksMHgzMCwweDAyLDB4ODAsMHg0MCwweDgzLDB4MjAsMHgyOCwweDQwLDB4MGEsMHgxMCwweDAyLDB4ODAsMHgwMCwweGEzLDB4MjQgfX0sCi0gezE2LCAweGQ0YjAsIDAsIHsweDJjLDB4Y2EsMHgwOCwweDMyLDB4ODIsMHgwYywweDAwLDB4OTEsMHgyOCwweDIwLDB4Y2EsMHgxYiwweDMyLDB4MDIsMHgwYywweDg4IH19LAotIHsxNiwgMHhkNGMwLCAwLCB7MHg4MywweDA5LDB4MjAsMHhjOCwweDA5LDB4MzIsMHgwMiwweGUyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDRkMCwgMCwgezB4YzAsMHgxNSwweGEzLDB4MTQsMHg4YiwweDA0LDB4MjYsMHg4OSwweDA4LDB4YjAsMHgwMiwweGFjLDB4MjIsMHg4YiwweDg4LDB4MmEgfX0sCi0gezE2LCAweGQ0ZTAsIDAsIHsweDIwLDB4MDgsMHg5OCwweDgyLDB4YTYsMHgxMCwweGFiLDB4MDAsMHgyZSwweGNhLDB4MDgsMHhiMCwweDgyLDB4YWMsMHgwMCwweGI5IH19LAotIHsxNiwgMHhkNGYwLCAwLCB7MHgwMCwweDIyLDB4YzAsMHgyOSwweGIwLDB4MGEsMHgyYywweDAxLDB4OGIsMHgwMCwweDIyLDB4YzAsMHgwOSwweGIwLDB4MjIsMHhmMCB9fSwKLSB7MTYsIDB4ZDUwMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlMywweDAwLDB4ZGIsMHgwMCwweDM0LDB4ZTIgfX0sCi0gezE2LCAweGQ1MTAsIDAsIHsweDBkLDB4YjAsMHgwMywweGEzLDB4MDAsMHhjYSwweDgwLDB4YmEsMHg3MCwweDBlLDB4ODgsMHgwMywweGE2LDB4MDAsMHhlYiwweDAwIH19LAotIHsxNiwgMHhkNTIwLCAwLCB7MHgzZSwweDkwLDB4MGMsMHhiNSwweDAzLDB4MmMsMHgwMCwweGZiLDB4MTAsMHhiYSwweGMwLDB4MGUsMHhiMCwweDAzLDB4MmMsMHgwMiB9fSwKLSB7MTYsIDB4ZDUzMCwgMCwgezB4Y2IsMHgwMiwweDMyLDB4YzAsMHgwOSwweGIwLDB4MDIsMHhkMCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ1NDAsIDAsIHsweGUwLDB4MDEsMHhiMCwweDA4LDB4ZmYsMHgwMCwweGJiLDB4ZTAsMHgwZiwweDcwLDB4MDMsMHg2NSwweDAwLDB4ZjQsMHgwMCwweDM1IH19LAotIHsxNiwgMHhkNTUwLCAwLCB7MHg0MCwweDBmLDB4NDAsMHgwMywweDU0LDB4MDAsMHhkZiwweDAwLDB4M2UsMHg0MCwweDBmLDB4ZjgsMHgwMywweGVjLDB4MDAsMHhmNyB9fSwKLSB7MTYsIDB4ZDU2MCwgMCwgezB4MDEsMHgzZCwweGMxLDB4MGUsMHgzMCwweDAzLDB4ZWMsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMwLDB4OGUsMHhmMCwweDAzLDB4YjggfX0sCi0gezE2LCAweGQ1NzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YTAsMHg0MCwweGViLDB4MDgsMHgzZSwweDgwIH19LAotIHsxNiwgMHhkNTgwLCAwLCB7MHgwZCwweGIwLDB4MDMsMHhlMCwweDAwLDB4YzgsMHgwMCwweDNhLDB4NTEsMHgwZiwweDgyLDB4MDMsMHg2NCwweDIwLDB4ZGIsMHgwMCB9fSwKLSB7MTYsIDB4ZDU5MCwgMCwgezB4M2QsMHg4MiwweDBjLDB4YmMsMHgwMywweDJjLDB4MTAsMHhkYiwweDAwLDB4NzIsMHhjMCwweDBkLDB4YjEsMHgwMywweDBjLDB4MjAgfX0sCi0gezE2LCAweGQ1YTAsIDAsIHsweGQzLDB4MDAsMHgzMiwweGMwLDB4MGYsMHhiMCwweDBiLDB4NTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkNWIwLCAwLCB7MHhjOCwweDA1LDB4MDEsMHgwMCwweDg3LDB4YzAsMHgyZSwweGE4LDB4MDgsMHhmMSwweDEyLDB4YzUsMHg0MCwweDg4LDB4MDAsMHgyMiB9fSwKLSB7MTYsIDB4ZDVjMCwgMCwgezB4NDAsMHgwYiwweDg0LDB4MDIsMHgyNywweDAwLDB4YWYsMHgwMCwweDJlLDB4YzAsMHgwOCwweGJjLDB4MTIsMHgzYywweDAwLDB4OGIgfX0sCi0gezE2LCAweGQ1ZDAsIDAsIHsweDAxLDB4MjMsMHhjMCwweDI4LDB4ZjUsMHg0YSwweDNkLDB4MjgsMHhkZiwweDAwLDB4MzMsMHhjMCwweDRiLDB4ZjAsMHgwMywweDMyIH19LAotIHsxNiwgMHhkNWUwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDQ4LDB4ODAsMHhhMywweDkwLDB4MmMsMHgwMCB9fSwKLSB7MTYsIDB4ZDVmMCwgMCwgezB4MDgsMHgzMCwweDAyLDB4YzEsMHgwMCwweDkyLDB4MDQsMHgyOCwweDAwLDB4MGIsMHgxNCwweDEyLDB4NDMsMHgwMCwweGIzLDB4MDQgfX0sCi0gezE2LCAweGQ2MDAsIDAsIHsweDJjLDB4MzAsMHgwYSwweGIwLDB4MGEsMHg4YywweDAwLDB4OTMsMHgwMCwweDYwLDB4YzAsMHgwOCwweDNjLDB4MDYsMHgwZSwweDAxIH19LAotIHsxNiwgMHhkNjEwLCAwLCB7MHhiMywweDAwLDB4MmUsMHhjMCwweDhiLDB4MzAsMHgwNiwweDM4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDYyMCwgMCwgezB4MjAsMHgwMSwweDEyLDB4MDAsMHg4NywweDgwLDB4MmQsMHgyNCwweDA4LDB4NzgsMHgwMiwweGQyLDB4MDAsMHg5NSwweDgwLDB4MjEgfX0sCi0gezE2LCAweGQ2MzAsIDAsIHsweGEwLDB4MGIsMHg2OCwweDAyLDB4NWEsMHgyMCwweDg3LDB4ODAsMHgyZCwweDY2LDB4MWEsMHg3YywweDAyLDB4OWUsMHgwMCwweDg3IH19LAotIHsxNiwgMHhkNjQwLCAwLCB7MHg4MCwweDIxLDB4ZTEsMHgxOCwweDc5LDB4MDIsMHg5ZSwweDQwLDB4YjcsMHg4MCwweGExLDB4ZTAsMHgwYiwweDc4LDB4MDIsMHg0OCB9fSwKLSB7MTYsIDB4ZDY1MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwMCwweDAwLDB4ZTMsMHhhMCwweDNjLDB4NDAgfX0sCi0gezE2LCAweGQ2NjAsIDAsIHsweDBjLDB4MzAsMHgwMywweGM0LDB4MjIsMHhkOSwweDAwLDB4MzgsMHhkNCwweDBmLDB4MzAsMHg4MywweDY4LDB4NDAsMHhmMywweDAwIH19LAotIHsxNiwgMHhkNjcwLCAwLCB7MHgzYywweDgwLDB4MGEsMHgzMiwweDAyLDB4OGMsMHgwMCwweGRiLDB4MDAsMHhhMiwweGM0LDB4MGMsMHgzMCwweDAzLDB4MGMsMHgwMCB9fSwKLSB7MTYsIDB4ZDY4MCwgMCwgezB4ZjMsMHgwMCwweDNjLDB4YzAsMHgwZiwweGIxLDB4MDMsMHgxMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ2OTAsIDAsIHsweDQwLDB4MGQsMHhiMCwweDAwLDB4ZmYsMHgxMCwweDNmLDB4NDAsMHgwZSwweGYwLDB4MDMsMHhmYywweDAwLDB4ZWQsMHgwMCwweDNmIH19LAotIHsxNiwgMHhkNmEwLCAwLCB7MHhjMCwweDBmLDB4MzAsMHgxMywweGJjLDB4NDAsMHg3ZiwweDEwLDB4M2YsMHhjMSwweDJkLDB4ZjAsMHgwMywweDdjLDB4MDAsMHhmYiB9fSwKLSB7MTYsIDB4ZDZiMCwgMCwgezB4NDAsMHgzZiwweGMyLDB4MGUsMHhmNCwweDgzLDB4N2MsMHgwMCwweGRmLDB4MDAsMHgzZiwweGMyLDB4MGYsMHhmMCwweDAzLDB4OTAgfX0sCi0gezE2LCAweGQ2YzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWMsMHgwMCwweGRiLDB4YTAsMHgzMiwweGMwIH19LAotIHsxNiwgMHhkNmQwLCAwLCB7MHgwZCwweGI3LDB4MDMsMHhlMCwweDAwLDB4Y2EsMHgwNCwweDNlLDB4ODAsMHgwZiwweGI4LDB4MDMsMHgyYywweDEwLDB4ZmIsMHgwMCB9fSwKLSB7MTYsIDB4ZDZlMCwgMCwgezB4MzMsMHgwMCwweDhkLDB4YjAsMHgwMywweDJjLDB4ODAsMHhlOSwweDQwLDB4M2UsMHhkMiwweDBmLDB4YjQsMHgwMywweDJkLDB4ODAgfX0sCi0gezE2LCAweGQ2ZjAsIDAsIHsweGViLDB4MjAsMHhiMiwweGMwLDB4MGYsMHhiMiwweDAzLDB4ZWEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkNzAwLCAwLCB7MHg0OCwweDExLDB4OTAsMHgwMCwweGI3LDB4MTAsMHgxMSwweGMwLDB4MDgsMHg3MCwweDgyLDB4ZDgsMHgwYSwweDg3LDB4MDEsMHgyZCB9fSwKLSB7MTYsIDB4ZDcxMCwgMCwgezB4ODAsMHg4OSwweDcwLDB4MDMsMHhkOCwweDA4LDB4YjcsMHgwYSwweDIxLDB4NDAsMHgyYywweDcwLDB4MDIsMHgwZCwweGMwLDB4ODUgfX0sCi0gezE2LCAweGQ3MjAsIDAsIHsweDAxLDB4NzksMHhjOCwweDBiLDB4MzIsMHgwMiwweDBkLDB4MjAsMHg4ZiwweDI4LDB4MjEsMHhjMCwweDBiLDB4NzIsMHg4MiwweGQyIH19LAotIHsxNiwgMHhkNzMwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHg0MCwweDk2LDB4MTAsMHg5NywweDkwLDB4MjMsMHhlMCB9fSwKLSB7MTYsIDB4ZDc0MCwgMCwgezB4MDksMHg3YSwweDAyLDB4ZDYsMHgwMCwweDk3LDB4ODAsMHgyZCwweGYwLDB4MGIsMHg3OCwweDgyLDB4MWUsMHgwMCwweGIzLDB4YjAgfX0sCi0gezE2LCAweGQ3NTAsIDAsIHsweDIxLDB4YTAsMHgwOCwweDc4LDB4MDIsMHgxZSwweDAwLDB4YTUsMHg4MCwweDJkLDB4ZTAsMHgwYiwweDdhLDB4MDIsMHgxZSwweDgwIH19LAotIHsxNiwgMHhkNzYwLCAwLCB7MHhhNywweGIwLDB4MjEsMHhlOCwweDBiLDB4NzksMHgwMiwweGYwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDc3MCwgMCwgezB4NDgsMHgxNCwweGMwLDB4MDAsMHhiMywweDAwLDB4MjAsMHhlMiwweDA4LDB4MzAsMHgwMiwweGM2LDB4NDAsMHg5MywweDcwLDB4MmMgfX0sCi0gezE2LCAweGQ3ODAsIDAsIHsweGMwLDB4MDksMHgzYywweDAyLDB4OGUsMHgwMCwweGIzLDB4MDAsMHgyMCwweGQ4LDB4MDgsMHgxOCwweDAyLDB4MGMsMHgwMCwweDgxIH19LAotIHsxNiwgMHhkNzkwLCAwLCB7MHg5MCwweDJlLDB4YzAsMHgwYiwweDMwLDB4MmEsMHgyYywweDEwLDB4ODMsMHgwMCwweGEwLDB4YzAsMHgwYiwweDMwLDB4MDIsMHhkMiB9fSwKLSB7MTYsIDB4ZDdhMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTEsMHhiOSwweDAwLDB4ZGEsMHgwMiwweDMzLDB4YjggfX0sCi0gezE2LCAweGQ3YjAsIDAsIHsweDBkLDB4YTAsMHgwMywweGY4LDB4MDAsMHhkZSwweGMwLDB4M2YsMHhiMCwweDRmLDB4ZWMsMHgwNiwweDM4LDB4NDAsMHhmYSwweDAwIH19LAotIHsxNiwgMHhkN2MwLCAwLCB7MHhiMywweDkwLDB4MGMsMHg2YywweDBiLDB4MjgsMHgwOCwweGVhLDB4MDEsMHg3ZSwweDgwLDB4MGYsMHhhMCwweDAzLDB4MjgsMHgwMCB9fSwKLSB7MTYsIDB4ZDdkMCwgMCwgezB4ZWEsMHgwMCwweDMyLDB4ODAsMHgwZiwweGEwLDB4MDMsMHhmYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ3ZTAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDAwLDB4ZjgsMHg0MCwweDNhLDB4MDAsMHgwZiwweDg0LDB4MDMsMHhlMSwweDAwLDB4ZTgsMHgwMiwweDNlIH19LAotIHsxNiwgMHhkN2YwLCAwLCB7MHgwMCwweDBmLDB4ODQsMHgwMywweGUxLDB4NDAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODEsMHgwMywweGUwLDB4MDAsMHhmOCB9fSwKLSB7MTYsIDB4ZDgwMCwgMCwgezB4MDAsMHgzYSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZDIgfX0sCi0gezE2LCAweGQ4MTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgyMCwweGY5LDB4YzAsMHgzZSwweDcwIH19LAotIHsxNiwgMHhkODIwLCAwLCB7MHgwZSwweDkwLDB4MDIsMHhlNCwweDgwLDB4YzksMHgwMCwweDMyLDB4NDIsMHgwYywweDk4LDB4ODMsMHhhNCwweDg0LDB4ZjksMHgwMCB9fSwKLSB7MTYsIDB4ZDgzMCwgMCwgezB4YjIsMHg2MCwweDBjLDB4OTAsMHg4MywweDI0LDB4MDAsMHhjOSwweDAwLDB4M2UsMHg0MCwweDBjLDB4MWEsMHgwMiwweDI0LDB4MDAgfX0sCi0gezE2LCAweGQ4NDAsIDAsIHsweGMxLDB4MDAsMHhiMiwweDQwLDB4MGYsMHg5MCwweDAxLDB4YzIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkODUwLCAwLCB7MHg4MCwweDA0LDB4NjUsMHgwMCwweGI5LDB4ODEsMHgyYywweDYwLDB4MGQsMHg5NCwweGMyLDB4YzcsMHgwOCwweDg5LDB4MDAsMHgyMiB9fSwKLSB7MTYsIDB4ZDg2MCwgMCwgezB4NDAsMHgwOCwweDk1LDB4YzcsMHhhNCwweDAwLDB4YjksMHgwMCwweDI4LDB4NzAsMHhhOCwweDk0LDB4MGEsMHgyNCwweDAwLDB4ODkgfX0sCi0gezE2LCAweGQ4NzAsIDAsIHsweDA0LDB4MmUsMHg0MCwweDI4LDB4OTAsMHgyYSwweDI2LDB4MDAsMHg4OSwweDAwLDB4MjIsMHg0MCwweDBiLDB4OTAsMHgwMiwweGUwIH19LAotIHsxNiwgMHhkODgwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDAsMHhiOSwweDQwLDB4MmUsMHg0MCB9fSwKLSB7MTYsIDB4ZDg5MCwgMCwgezB4MGEsMHg5MCwweDAyLDB4ZTUsMHgwMCwweDgxLDB4MDAsMHhhMCwweDQwLDB4MDksMHg5MCwweDQyLDB4ZWMsMHgwMCwweGIxLDB4MDAgfX0sCi0gezE2LCAweGQ4YTAsIDAsIHsweDIyLDB4NTgsMHgwOCwweDkwLDB4YTIsMHgwNCwweDAyLDB4ODksMHgwMCwweDJlLDB4NDAsMHgwOCwweDkwLDB4MDIsMHhhNCwweGEwIH19LAotIHsxNiwgMHhkOGIwLCAwLCB7MHg4OSwweDAwLDB4MjIsMHg0MCwweDBiLDB4OTAsMHgwMiwweGM2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDhjMCwgMCwgezB4MDgsMHgwNCwweDA0LDB4MDAsMHhiMSwweDIwLDB4MmUsMHhjMCwweDg5LDB4MTIsMHgwMiwweGM0LDB4ODAsMHg4MSwweDIwLDB4MjAgfX0sCi0gezE2LCAweGQ4ZDAsIDAsIHsweDQwLDB4NjEsMHgxMCwweDQyLDB4YzUsMHgwMCwweGIxLDB4MjAsMHgyOCwweDQ4LDB4MTgsMHg5MCwweDQyLDB4MDQsMHg4MCwweDgxIH19LAotIHsxNiwgMHhkOGUwLCAwLCB7MHgyOCwweDJjLDB4NDgsMHgwOCwweDEyLDB4ODIsMHg4NCwweGEwLDB4ODEsMHgyMCwweDIwLDB4NDgsMHgwYiwweDEyLDB4ODIsMHhjMiB9fSwKLSB7MTYsIDB4ZDhmMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2OCwweDAwLDB4ZjgsMHgwMCwweDJlLDB4MDAgfX0sCi0gezE2LCAweGQ5MDAsIDAsIHsweDBlLDB4ODAsMHgwMywweGUwLDB4MDgsMHhjOCwweDUwLDB4MzIsMHgxNCwweDBkLDB4ODAsMHgxNywweGU4LDB4MDQsMHhmOCwweDUwIH19LAotIHsxNiwgMHhkOTEwLCAwLCB7MHgzMiwweDE0LDB4NGMsMHgwNSwweDBiLDB4MjEsMHg0MCwweGM4LDB4MjAsMHgzZSwweDAwLDB4MGMsMHg4NywweDAzLDB4YTEsMHhjMiB9fSwKLSB7MTYsIDB4ZDkyMCwgMCwgezB4YzgsMHgwMCwweDMyLDB4MTQsMHg4ZiwweDgyLDB4MDMsMHhlZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ5MzAsIDAsIHsweDk4LDB4MWQsMHhmNCwweDAwLDB4ZjEsMHgxMCwweDNkLDB4NDAsMHgwZiwweDkxLDB4MDIsMHhkNCwweDQyLDB4ZmQsMHgxMCwweDNmIH19LAotIHsxNiwgMHhkOTQwLCAwLCB7MHg1MSwweDBlLDB4NTQsMHgxMywweGI1LDB4MDAsMHhmOSwweDEwLDB4MzUsMHg0NCwweDJmLDB4ZDAsMHgwMywweGU0LDB4NTAsMHhmZCB9fSwKLSB7MTYsIDB4ZDk1MCwgMCwgezB4MjgsMHgzZSwweDRlLDB4MGYsMHg5MCwweDAzLDB4NjQsMHgwMCwweGY5LDB4MzgsMHgzZSwweDQ0LDB4MGYsMHg5MiwweDgzLDB4ZTYgfX0sCi0gezE2LCAweGQ5NjAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDE1LDB4ZjQsMHgwMCwweGZkLDB4MDAsMHgzZCwweDQwIH19LAotIHsxNiwgMHhkOTcwLCAwLCB7MHgyYywweGQwLDB4MDMsMHhiNiwweDAwLDB4ZjksMHg4MiwweDNlLDB4NDAsMHgwYywweGQwLDB4MDMsMHhmNCwweDAwLDB4ZjksMHg4MCB9fSwKLSB7MTYsIDB4ZDk4MCwgMCwgezB4MzMsMHg3MCwweDBjLDB4NTAsMHgwMywweDM0LDB4MDAsMHhjOSwweGMwLDB4M2UsMHg0MCwweDBjLDB4ZGEsMHgwMywweDE2LDB4ODAgfX0sCi0gezE2LCAweGQ5OTAsIDAsIHsweGM5LDB4NDAsMHgzZSwweDYyLDB4MmMsMHg5OCwweDgzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkOWEwLCAwLCB7MHgzOCwweDEwLDB4ZTAsMHgwMCwweGI4LDB4MDAsMHgyZSwweDAwLDB4MDgsMHg4MCwweDAyLDB4MjgsMHgwMCwweGI4LDB4NTAsMHgyNiB9fSwKLSB7MTYsIDB4ZDliMCwgMCwgezB4MDAsMHgwOCwweGEwLDB4MDIsMHhlOCwweDAwLDB4YjgsMHgwMCwweDJhLDB4MzQsMHgyYSwweGFhLDB4MGEsMHgyMCwweDAwLDB4ODggfX0sCi0gezE2LCAweGQ5YzAsIDAsIHsweGMwLDB4MmUsMHgyYSwweDA4LDB4ODAsMHgyMiwweDIxLDB4MDAsMHhhOCwweDgwLDB4MmUsMHgwMCwweDA4LDB4ODAsMHgwMiwweDBlIH19LAotIHsxNiwgMHhkOWQwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4MDAsMHhiMSwweDAwLDB4MmUsMHg0MCB9fSwKLSB7MTYsIDB4ZDllMCwgMCwgezB4NDgsMHgxMCwweDA2LDB4OGQsMHgwMCwweGIxLDB4MDAsMHgyYywweDQwLDB4MjgsMHgxMCwweDAyLDB4YzQsMHgwMCwweGIxLDB4NDAgfX0sCi0gezE2LCAweGQ5ZjAsIDAsIHsweDJjLDB4NDgsMHgwOCwweDEwLDB4ODIsMHg0NCwweDAwLDB4ODEsMHg2MCwweDJjLDB4NDAsMHgyOCwweDE0LDB4MGEsMHgwNCwweDQwIH19LAotIHsxNiwgMHhkYTAwLCAwLCB7MHg4MSwweDIwLDB4MmMsMHg0MCwweDA4LDB4MTAsMHgwMiwweDAyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGExMCwgMCwgezB4MTgsMHgwNSwweGE0LDB4NDAsMHhiOSwweDAwLDB4MmUsMHg0MCwweDA4LDB4YjAsMHgwMiwweDI0LDB4MDAsMHhiOSwweDI4LDB4MmUgfX0sCi0gezE2LCAweGRhMjAsIDAsIHsweDUwLDB4MDgsMHg5MCwweDIyLDB4ZTQsMHgwMCwweGI5LDB4MDAsMHgyZSwweDYwLDB4MGIsMHgxMiwweDQyLDB4NjQsMHgwMCwweDg5IH19LAotIHsxNiwgMHhkYTMwLCAwLCB7MHgwMCwweDJjLDB4NDAsMHgwOSwweDkwLDB4MDIsMHgyNCwweDAwLDB4YTksMHgwMCwweDJjLDB4NDAsMHgwOCwweDEwLDB4MDIsMHg0NiB9fSwKLSB7MTYsIDB4ZGE0MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MDUsMHhlNiwweDAwLDB4ZjksMHgwMCwweDNjLDB4NDIgfX0sCi0gezE2LCAweGRhNTAsIDAsIHsweDBjLDB4OTAsMHgwMywweGE3LDB4NDAsMHhmOSwweDQwLDB4M2UsMHg3MCwweDBjLDB4OTgsMHgwMiwweGU1LDB4NDAsMHhmOSwweDAwIH19LAotIHsxNiwgMHhkYTYwLCAwLCB7MHgzZSwweDQwLDB4MGMsMHg5OCwweDAzLDB4NjQsMHgwNiwweGM5LDB4MDEsMHgyZSwweDQwLDB4MGMsMHg5MCwweDAzLDB4MjQsMHgwNCB9fSwKLSB7MTYsIDB4ZGE3MCwgMCwgezB4YzksMHgwMCwweDNlLDB4NDAsMHgwYywweDkwLDB4MGIsMHgyOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRhODAsIDAsIHsweDI4LDB4MDEsMHhhNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDAsMHgwZiwweDkwLDB4ODMsMHhlNiwweDEwLDB4ZjksMHgwMCwweDM2IH19LAotIHsxNiwgMHhkYTkwLCAwLCB7MHg2OCwweDBmLDB4OWMsMHgwMywweGU2LDB4MDAsMHhmOSwweDAwLDB4M2EsMHg0MCwweDBlLDB4OTgsMHg5MywweGE0LDB4MDAsMHhmOSB9fSwKLSB7MTYsIDB4ZGFhMCwgMCwgezB4MDAsMHgzZSwweDQwLDB4MGUsMHg5MCwweDgzLDB4YzQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4OGEgfX0sCi0gezE2LCAweGRhYjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAwLDB4YTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDA0IH19LAotIHsxNiwgMHhkYWMwLCAwLCB7MHgwYywweDgwLDB4MDMsMHgyMSwweDAyLDB4YzgsMHg0MCwweDMyLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhlMSwweDAwLDB4ZjAsMHgwMCB9fSwKLSB7MTYsIDB4ZGFkMCwgMCwgezB4M2UsMHgwMiwweDBjLDB4ODAsMHgwMywweDIwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBjLDB4MDAsMHgwMywweDIwLDB4MDAgfX0sCi0gezE2LCAweGRhZTAsIDAsIHsweGM4LDB4MDAsMHgzMiwweDAwLDB4MGYsMHg4MCwweDAzLDB4MGEsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkYWYwLCAwLCB7MHgyOCwweDE1LDB4M2EsMHgwMCwweGJlLDB4MDIsMHgyZiwweGIwLDB4MDgsMHg2OCwweDEyLDB4MzgsMHgwMCwweDhhLDB4MDQsMHgyYSB9fSwKLSB7MTYsIDB4ZGIwMCwgMCwgezB4ODAsMHgwYiwweGUwLDB4NDIsMHhmYiwweDIwLDB4YmEsMHgwMCwweDJmLDB4OTEsMHgwOCwweGUwLDB4MDIsMHgyOCwweDAwLDB4YmEgfX0sCi0gezE2LCAweGRiMTAsIDAsIHsweDAwLDB4MjYsMHg4MCwweDA4LDB4ZWUsMHgwYSwweDM4LDB4MDAsMHg4YSwweDAwLDB4MjIsMHg4MCwweDBiLDB4YTAsMHgwMiwweDhhIH19LAotIHsxNiwgMHhkYjIwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDQyLDB4MDAsMHhiMywweDAwLDB4MmMsMHhjMiB9fSwKLSB7MTYsIDB4ZGIzMCwgMCwgezB4MjgsMHgzOCwweDBhLDB4NDgsMHgwMCwweDgzLDB4MDQsMHgyMiwweGMwLDB4MGIsMHgxMCwweDAyLDB4Y2QsMHg4MCwweGIzLDB4MDAgfX0sCi0gezE2LCAweGRiNDAsIDAsIHsweDJlLDB4YzAsMHgwOCwweDFjLDB4MDIsMHgyNCwweDAwLDB4YjMsMHgwMCwweDJjLDB4YzAsMHgwOCwweDM0LDB4MTIsMHgwZSwweDQwIH19LAotIHsxNiwgMHhkYjUwLCAwLCB7MHg4MywweDAwLDB4MjAsMHhjMCwweDBiLDB4MzAsMHgxMiwweDBhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGI2MCwgMCwgezB4YTAsMHgwMSwweDExLDB4MDAsMHhiNywweDAwLDB4MmYsMHhjMCwweDA4LDB4NzAsMHhhMiwweDRlLDB4MDAsMHg4ZiwweGIwLDB4MjEgfX0sCi0gezE2LCAweGRiNzAsIDAsIHsweGNjLDB4MGIsMHg2MCwweDEyLDB4ZGMsMHgxMCwweGI3LDB4MzAsMHgyZCwweGMwLDB4MDgsMHhkMCwweDgyLDB4MTQsMHg4MCwweGI3IH19LAotIHsxNiwgMHhkYjgwLCAwLCB7MHgxMiwweDI1LDB4YzgsMHgyOCwweDYwLDB4MDIsMHgxNCwweDAwLDB4ODcsMHhiMiwweDIxLDB4Y2MsMHgwYiwweDMxLDB4MDIsMHhhOCB9fSwKLSB7MTYsIDB4ZGI5MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxMiwweDAwLDB4ZjcsMHg4MCwweDNkLDB4ZTAgfX0sCi0gezE2LCAweGRiYTAsIDAsIHsweDBjLDB4MzgsMHgwMywweDU2LDB4MDAsMHhjNywweDkwLDB4YjEsMHhlNCwweDBmLDB4NzgsMHgwMywweGRlLDB4MDAsMHhmNywweDkwIH19LAotIHsxNiwgMHhkYmIwLCAwLCB7MHgxZiwweDYwLDB4MmMsMHg0OCwweDBiLDB4MTYsMHhhMCwweGY3LDB4ODAsMHgzYywweGY0LDB4MGMsMHgzOCwweDAzLDB4MWUsMHgwMCB9fSwKLSB7MTYsIDB4ZGJjMCwgMCwgezB4Y2YsMHhhMCwweGIxLDB4ZTgsMHgwZiwweDdiLDB4MDMsMHgyYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRiZDAsIDAsIHsweDA4LDB4MGQsMHhhMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4YzAsMHgwYiwweGIwLDB4MDMsMHhhYywweDAwLDB4ZjMsMHgyMSwweDNlIH19LAotIHsxNiwgMHhkYmUwLCAwLCB7MHhjOCwweDA3LDB4YjAsMHgwMiwweGU0LDB4MDAsMHhmYiwweDIwLDB4M2YsMHg0MCwweDBmLDB4ODAsMHgwMywweGU0LDB4ODAsMHhmYiB9fSwKLSB7MTYsIDB4ZGJmMCwgMCwgezB4MDAsMHgzNiwweGQwLDB4MGYsMHhhMCwweDAzLDB4ZTAsMHgwOCwweGZiLDB4NDIsMHgzZSwweGQ4LDB4MGYsMHhiMCwweDAzLDB4YzIgfX0sCi0gezE2LCAweGRjMDAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZjAsMHg4MCwweGNmLDB4ODAsMHgzMSwweGUxIH19LAotIHsxNiwgMHhkYzEwLCAwLCB7MHgwYywweGY4LDB4MDMsMHhkYSwweDEwLDB4ZWYsMHg4MCwweDNmLDB4ZTQsMHgwZiwweGQ4LDB4MDMsMHhmZSwweDEwLDB4ZmYsMHg4MiB9fSwKLSB7MTYsIDB4ZGMyMCwgMCwgezB4M2YsMHhlMCwweDRjLDB4ZDgsMHgxYiwweDE2LDB4MjAsMHhjZiwweDgwLDB4M2YsMHhlMCwweDRjLDB4ZDgsMHgzMCwweGVlLDB4NDAgfX0sCi0gezE2LCAweGRjMzAsIDAsIHsweGZmLDB4YzAsMHhiMywweGY0LDB4MGYsMHhmOCwweDAzLDB4YzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkYzQwLCAwLCB7MHhhOCwweDAxLDB4OTgsMHgyMCwweDgzLDB4NDAsMHgyMSwweGMwLDB4MDgsMHg3MSwweDAyLDB4ZGMsMHg4NCwweDg3LDB4MjAsMHgyZCB9fSwKLSB7MTYsIDB4ZGM1MCwgMCwgezB4YzAsMHgwYiwweDYwLDB4MDIsMHhkOSwweDYwLDB4ZjcsMHgwMCwweDJkLDB4YzAsMHgwOCwweGYwLDB4ODIsMHgxNCwweDA0LDB4ODcgfX0sCi0gezE2LCAweGRjNjAsIDAsIHsweDAwLDB4MmQsMHhjMCwweDA4LDB4ZjAsMHgwMywweDFlLDB4MDAsMHhiNywweDIwLDB4MjEsMHhjMCwweDhiLDB4NzAsMHgwMiwweGVhIH19LAotIHsxNiwgMHhkYzcwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGIwLDB4MDAsMHg4NywweDAwLDB4MjEsMHg4MCB9fSwKLSB7MTYsIDB4ZGM4MCwgMCwgezB4MDgsMHg3MCwweDAyLDB4ZjUsMHgwNCwweDI3LDB4MDAsMHgyZCwweGMwLDB4OGIsMHg3MCwweDAyLDB4ZGMsMHgwMCwweGI3LDB4MDAgfX0sCi0gezE2LCAweGRjOTAsIDAsIHsweDJjLDB4NTAsMHgwOCwweDQwLDB4MDIsMHgxNCwweDAwLDB4ODcsMHgwMCwweDJkLDB4YzAsMHgwOCwweDUwLDB4MDIsMHg1YywweDA0IH19LAotIHsxNiwgMHhkY2EwLCAwLCB7MHhiNywweDAwLDB4YTEsMHhjMCwweDhiLDB4NzAsMHgwMiwweGMwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGNiMCwgMCwgezB4MjAsMHgxNCwweGM4LDB4MDAsMHg4MCwweDAwLDB4MDAsMHg4MCwweDA4LDB4MzAsMHgwMiwweGNlLDB4MDAsMHg4MywweGMwLDB4MmMgfX0sCi0gezE2LCAweGRjYzAsIDAsIHsweGQwLDB4NGIsMHgzMCwweDAyLDB4Y2UsMHgwMCwweGFiLDB4MDIsMHgyYywweDQwLDB4NDgsMHhiYywweDAyLDB4MDQsMHgwMCwweDgzIH19LAotIHsxNiwgMHhkY2QwLCAwLCB7MHgwMCwweDJjLDB4YzAsMHgwOCwweDEwLDB4MDIsMHgwMCwweDA4LDB4YjMsMHgwMCwweDIwLDB4YzAsMHgwOSwweDMwLDB4MDIsMHhjOCB9fSwKLSB7MTYsIDB4ZGNlMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHg4MywweDQwLDB4YzgsMHgwMCwweDMwLDB4YzAgfX0sCi0gezE2LCAweGRjZjAsIDAsIHsweDJjLDB4YjAsMHgwMywweGVjLDB4MDAsMHhlZiwweDg4LDB4M2YsMHhlNiwweDA3LDB4YjEsMHg4MywweGUxLDB4MDAsMHhiZiwweDAwIH19LAotIHsxNiwgMHhkZDAwLCAwLCB7MHgzZSwweGUwLDB4MGMsMHhiOCwweDAzLDB4MzQsMHgwMCwweGNmLDB4MDAsMHgzZiwweGMwLDB4MmMsMHhiMCwweDAzLDB4NjgsMHgxMCB9fSwKLSB7MTYsIDB4ZGQxMCwgMCwgezB4ZmYsMHgwMCwweDMzLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhlYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRkMjAsIDAsIHsweDgwLDB4MDAsMHhlNCwweDAwLDB4ZjEsMHg0MCwweDNlLDB4YzAsMHgwZiwweGI0LDB4MDMsMHhlZCwweDQwLDB4ZmIsMHgwOCwweDNlIH19LAotIHsxNiwgMHhkZDMwLCAwLCB7MHhjMCwweDBmLDB4YTAsMHgwMywweGU1LDB4MjAsMHhmYiwweDAwLDB4M2UsMHhlMCwweDBkLDB4YjAsMHg4MywweGU0LDB4MDAsMHhmMyB9fSwKLSB7MTYsIDB4ZGQ0MCwgMCwgezB4MDAsMHgzZSwweGMwLDB4MGYsMHg4MCwweDAzLDB4YzQsMHgwMCwweGZiLDB4MDAsMHgzZSwweGMwLDB4MGYsMHgzMCwweDAzLDB4ZTAgfX0sCi0gezE2LCAweGRkNTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZjAsMHgwMCwweGNhLDB4MDAsMHgzMywweGUwIH19LAotIHsxNiwgMHhkZDYwLCAwLCB7MHg0ZSwweGYwLDB4MDMsMHgzNCwweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHg4ZiwweGU4LDB4MDMsMHhmMCwweDAwLDB4ZmYsMHgwMCB9fSwKLSB7MTYsIDB4ZGQ3MCwgMCwgezB4YjEsMHg0MCwweDBjLDB4ZTAsMHgwMywweDM0LDB4MDAsMHhlZiwweDAwLDB4YjMsMHhjMCwweDBjLDB4ZjAsMHgwMywweDM4LDB4MDAgfX0sCi0gezE2LCAweGRkODAsIDAsIHsweGNmLDB4MDAsMHgzZCwweGMwLDB4MGEsMHhmMCwweDAzLDB4MDAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkZDkwLCAwLCB7MHg4MSwweDA0LDB4NjIsMHgyMiwweDg4LDB4OTAsMHgyMiwweGUwLDB4MDgsMHgzYywweDAyLDB4MmUsMHgwOCwweGJiLDB4MDEsMHgyZSB9fSwKLSB7MTYsIDB4ZGRhMCwgMCwgezB4YzAsMHgwYiwweGEwLDB4MDIsMHg2NiwweDAwLDB4YmIsMHgwMCwweDIyLDB4YTAsMHgwOCwweGE5LDB4MDIsMHgyNCwweDAwLDB4YmIgfX0sCi0gezE2LCAweGRkYjAsIDAsIHsweDAwLDB4MjIsMHhjMCwweDI4LDB4MmMsMHgwMiwweGEyLDB4MDAsMHhkYiwweDAwLDB4MmUsMHhjMCwweDBhLDB4YjAsMHgwMiwweGEwIH19LAotIHsxNiwgMHhkZGMwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDIyLDB4MDAsMHg5OCwweDAwLDB4MjIsMHhjOCB9fSwKLSB7MTYsIDB4ZGRkMCwgMCwgezB4MGEsMHg5OCwweDAyLDB4MjcsMHgwNCwweGJiLDB4MDAsMHgyZSwweGMwLDB4MGIsMHhiMSwweDAyLDB4ZTIsMHgwMCwweGJiLDB4MDAgfX0sCi0gezE2LCAweGRkZTAsIDAsIHsweDIyLDB4ZTIsMHgwOCwweGIwLDB4MDIsMHhhNCwweDAwLDB4YWIsMHgwMCwweDIwLDB4YzAsMHgwYSwweDg4LDB4ODIsMHgyMywweDAwIH19LAotIHsxNiwgMHhkZGYwLCAwLCB7MHg4YiwweDAwLDB4MmUsMHhjMCwweDA4LDB4YjAsMHgwMiwweGEwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGUwMCwgMCwgezB4MDgsMHgxNCwweDA0LDB4MDAsMHg5MSwweDQwLDB4MjIsMHhjMCwweDA4LDB4MTAsMHgwMiwweDBjLDB4MDAsMHhiMywweDAwLDB4MmMgfX0sCi0gezE2LCAweGRlMTAsIDAsIHsweGMwLDB4NGIsMHgyOCwweDIyLDB4NDAsMHgwNCwweGIzLDB4MDAsMHgyMCwweGMwLDB4MjgsMHgzMCwweDBhLDB4MDQsMHgwNCwweGIzIH19LAotIHsxNiwgMHhkZTIwLCAwLCB7MHgwMCwweDYwLDB4YzAsMHgwOCwweDAwLDB4MDIsMHg4NCwweDIwLDB4OTMsMHgwMCwweDJjLDB4YzAsMHgwYSwweDMwLDB4MDIsMHg4MiB9fSwKLSB7MTYsIDB4ZGUzMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHg2MCwweDAwLDB4ZGEsMHg0MCwweGIyLDB4ODAgfX0sCi0gezE2LCAweGRlNDAsIDAsIHsweDBlLDB4OTAsMHgwMywweDI0LDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMCwweDhmLDB4YTAsMHgwMywweGUwLDB4MDksMHhmZiwweDAwIH19LAotIHsxNiwgMHhkZTUwLCAwLCB7MHgzMiwweDQwLDB4MDgsMHhhMCwweDBiLDB4MzQsMHgwMCwweGViLDB4MDAsMHgzMSwweGMwLDB4MGMsMHg4MCwweDAzLDB4MjgsMHg4MCB9fSwKLSB7MTYsIDB4ZGU2MCwgMCwgezB4YzcsMHgwMCwweDNmLDB4YzAsMHgwYywweGYwLDB4MDMsMHgwMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRlNzAsIDAsIHsweGEwLDB4MTUsMHhkMCwweDAwLDB4ZWMsMHgyMCwweDNmLDB4MDAsMHgwZiwweGMwLDB4MGIsMHhmYywweDEwLDB4ZmYsMHgwMSwweDNmIH19LAotIHsxNiwgMHhkZTgwLCAwLCB7MHhjMCwweDBmLDB4ZTAsMHgwMywweGY0LDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGY0LDB4MDAsMHhmZiB9fSwKLSB7MTYsIDB4ZGU5MCwgMCwgezB4MDAsMHgzZiwweGMwLDB4NGYsMHhjMCwweDAxLDB4ZjAsMHgwOCwweGZmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZTggfX0sCi0gezE2LCAweGRlYTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmMsMHgwMCwweGNjLDB4OTAsMHgzNywweDIwIH19LAotIHsxNiwgMHhkZWIwLCAwLCB7MHgwZSwweGYwLDB4MTMsMHhiZCwweDA0LDB4ZDQsMHhjMSwweDMzLDB4MmMsMHg0YywweGQ5LDB4MjMsMHgzMiwweDYwLDB4ZmYsMHgyMCB9fSwKLSB7MTYsIDB4ZGVjMCwgMCwgezB4M2QsMHhlMCwweDRmLDB4YzEsMHgwMywweGI2LDB4NDAsMHhjZCwweDAwLDB4MzcsMHhlMCwweDBjLDB4ZTIsMHg4YiwweDEwLDB4YzAgfX0sCi0gezE2LCAweGRlZDAsIDAsIHsweGNkLDB4MDAsMHgzMywweGM2LDB4MGYsMHhkOCwweDAzLDB4MzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkZWUwLCAwLCB7MHg4MCwweDEwLDB4ZWUsMHgwOCwweDhhLDB4MjAsMHgyMiwweDAwLDB4MDgsMHhiNywweDAyLDB4MmQsMHgwMCwweDhhLDB4MDAsMHhiNiB9fSwKLSB7MTYsIDB4ZGVmMCwgMCwgezB4M2MsMHgwOCwweDk5LDB4MDIsMHgyNywweDg0LDB4YmYsMHg2OCwweDJlLDB4ODIsMHgwYiwweDAxLDB4MDIsMHgyNCwweDQwLDB4ZDkgfX0sCi0gezE2LCAweGRmMDAsIDAsIHsweDQyLDB4MjAsMHhjMCwweDhhLDB4YWMsMHgwMiwweDJkLDB4YzIsMHg4MiwweDQ4LDB4YTIsMHhkMCwweDBiLDB4ODIsMHgwMiwweDIwIH19LAotIHsxNiwgMHhkZjEwLCAwLCB7MHgwNiwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNjLDB4MDAsMHg4OCwweDA0LDB4MjYsMHg4MCB9fSwKLSB7MTYsIDB4ZGYyMCwgMCwgezB4MmEsMHgzMCwweGMyLDB4YTUsMHg4MCwweGE5LDB4MjEsMHgyOCwweDAwLDB4OGEsMHgwMCwweDAyLDB4MDAsMHgwMCwweGEzLDB4MTAgfX0sCi0gezE2LCAweGRmMzAsIDAsIHsweDJjLDB4YzgsMHgwYiwweDAwLDB4MDIsMHhjNCwweDkwLDB4ODMsMHg0MiwweDI0LDB4YzEsMHgwOCwweDAwLDB4MDIsMHg0MCwweDg4IH19LAotIHsxNiwgMHhkZjQwLCAwLCB7MHhhMywweDYwLDB4YTgsMHhjMCwweDBiLDB4MDAsMHhjMiwweDIyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGY1MCwgMCwgezB4YzAsMHgxNSwweGFjLDB4MDYsMHg4YSwweDAwLDB4MjIsMHhlMCwweDQ4LDB4YjAsMHgwMiwweDJlLDB4MDIsMHhhYiwweDgwLDB4MmUgfX0sCi0gezE2LCAweGRmNjAsIDAsIHsweDIwLDB4NGEsMHg4YywweDAyLDB4MjYsMHgyMCwweGJiLDB4MDAsMHg2ZSwweDgwLDB4MGIsMHgzMCwweGMyLDB4NDYsMHgwNCwweDliIH19LAotIHsxNiwgMHhkZjcwLCAwLCB7MHgwYSwweGEyLDB4YzAsMHgwYSwweDgwLDB4MTIsMHg2YywweDQwLDB4YTgsMHgwMCwweDJhLDB4YzAsMHgwYiwweDhjLDB4MDIsMHgzMCB9fSwKLSB7MTYsIDB4ZGY4MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlYywweDAwLDB4YzEsMHgwOSwweDM2LDB4NjEgfX0sCi0gezE2LCAweGRmOTAsIDAsIHsweDBlLDB4MzIsMHgwMywweGFiLDB4MjAsMHhmOCwweDg0LDB4M2EsMHg3OCwweDJlLDB4OTgsMHgwMywweDI2LDB4MDAsMHhlYiwweDAwIH19LAotIHsxNiwgMHhkZmEwLCAwLCB7MHgzZSwweDQwLDB4NGYsMHg5MCwweDAzLDB4ZTIsMHgwMCwweGM5LDB4NDAsMHgzNiwweGUwLDB4MGMsMHhiNCwweDAzLDB4NmUsMHgwMCB9fSwKLSB7MTYsIDB4ZGZiMCwgMCwgezB4ZWIsMHgwMCwweDNhLDB4YzAsMHgwZiwweDg4LDB4MDMsMHgxMCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRmYzAsIDAsIHsweGUwLDB4MDEsMHhiYywweDAwLDB4ZmQsMHgwMCwweDNmLDB4NDAsMHgwZiwweGZhLDB4MTMsMHhmOCwweDEwLDB4ZGMsMHgwNCwweDI3IH19LAotIHsxNiwgMHhkZmQwLCAwLCB7MHg0MCwweDBkLDB4NTAsMHg0MywweGY0LDB4MDAsMHhmZiwweDAwLDB4M2YsMHg0MCwweDBmLDB4ZDksMHgwMywweGIwLDB4MDAsMHhmOSB9fSwKLSB7MTYsIDB4ZGZlMCwgMCwgezB4MDEsMHgzZiwweGYwLDB4MGYsMHhmMCwweDIzLDB4YjIsMHgwMCwweGQ0LDB4YTAsMHgzNywweGMwLDB4MGYsMHhjMCwweDBiLDB4ZjggfX0sCi0gezE2LCAweGRmZjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgyMCwweGViLDB4MTAsMHhmMiwweDAwIH19LAotIHsxNiwgMHhlMDAwLCAwLCB7MHgwZSwweGI0LDB4MDMsMHgyMSwweDgwLDB4YzksMHg0MCwweDNhLDB4NDgsMHgwZiwweDkwLDB4MTMsMHhlMSwweDIwLDB4ZmIsMHgwMCB9fSwKLSB7MTYsIDB4ZTAxMCwgMCwgezB4M2UsMHhjMCwweDBjLDB4ODQsMHgwMywweDI0LDB4MDAsMHhmYiwweDAxLDB4MzYsMHhlMCwweDBjLDB4NzQsMHgwYiwweDljLDB4MDAgfX0sCi0gezE2LCAweGUwMjAsIDAsIHsweGNmLDB4MDAsMHgzMiwweGUwLDB4MGYsMHg4NCwweDAzLDB4ZDAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMDMwLCAwLCB7MHhjOCwweDA1LDB4MWUsMHgwMCwweDhiLDB4ODAsMHgyMCwweDQwLDB4MDgsMHhiOCwweDAyLDB4ODMsMHg4MCwweDgxLDB4YTAsMHgyMiB9fSwKLSB7MTYsIDB4ZTA0MCwgMCwgezB4NzgsMHgwYiwweDkxLDB4ODMsMHhlMywweDAwLDB4YmYsMHgwMCwweDBlLDB4YzEsMHgwYSwweGI0LDB4MDMsMHg2NCwweDA0LDB4YjkgfX0sCi0gezE2LCAweGUwNTAsIDAsIHsweDUwLDB4MzIsMHhjMCwweDBhLDB4YjIsMHgwMiwweDIwLDB4MDAsMHg4OCwweDAwLDB4MjMsMHhkNCwweDBiLDB4ODgsMHgwMiwweGYyIH19LAotIHsxNiwgMHhlMDYwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRjLDB4NDIsMHhhMCwweDgwLDB4MjAsMHgwMCB9fSwKLSB7MTYsIDB4ZTA3MCwgMCwgezB4NDgsMHgwMCwweDAyLDB4MGQsMHgwNiwweDgwLDB4ODAsMHgyYSwweGQwLDB4MDMsMHgwMCwweDAyLDB4YzgsMHgwMCwweGIzLDB4MDAgfX0sCi0gezE2LCAweGUwODAsIDAsIHsweDJjLDB4YzAsMHgwOCwweDM2LDB4MDIsMHg0MCwweDAwLDB4YjksMHgwMiwweDIyLDB4YzIsMHg4YiwweDI2LDB4MDIsMHgwYywweDEwIH19LAotIHsxNiwgMHhlMDkwLCAwLCB7MHgwMSwweDAyLDB4MjQsMHhjMCwweDRiLDB4YTEsMHgwMiwweGY4LDB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTBhMCwgMCwgezB4MjAsMHgwMSwweDFlLDB4MDgsMHg4ZSwweDgwLDB4MjEsMHgyMSwweDA4LDB4MjgsMHhjMiwweDllLDB4MDAsMHg4ZSwweDgwLDB4MjEgfX0sCi0gezE2LCAweGUwYjAsIDAsIHsweDYwLDB4MGIsMHg3OCwweDAyLDB4OWUsMHgyMCwweGI3LDB4ODIsMHgyZiwweGExLDB4MGEsMHg3OCwweDAyLDB4NWUsMHgwMCwweGI1IH19LAotIHsxNiwgMHhlMGMwLCAwLCB7MHg5MSwweGExLDB4ZTAsMHgwYiwweDI5LDB4MDIsMHgzMiwweDQ0LDB4ODYsMHg4MCwweGE1LDB4ZTAsMHgwYiwweDRjLDB4MDIsMHhjOCB9fSwKLSB7MTYsIDB4ZTBkMCwgMCwgezB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDAwLDB4ZTEsMHgwMCwweDIyLDB4ODAgfX0sCi0gezE2LCAweGUwZTAsIDAsIHsweDBlLDB4MDAsMHgwYiwweDI0LDB4MDAsMHhjMCwweDQ0LDB4MjgsMHhhZCwweDBmLDB4MjAsMHgwMiwweGM4LDB4MDAsMHhmMywweDAwIH19LAotIHsxNiwgMHhlMGYwLCAwLCB7MHgxYywweGMwLDB4MGMsMHgwMSwweDAzLDB4NDgsMHg0YywweGYyLDB4MDQsMHgzMCwweGMwLDB4MGYsMHgxNSwweDAzLDB4ODAsMHg0MCB9fSwKLSB7MTYsIDB4ZTEwMCwgMCwgezB4YzEsMHgwMCwweDE0LDB4YzgsMHgwZiwweDAwLDB4MDMsMHhkYSwweDAyLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUxMTAsIDAsIHsweDQwLDB4MWQsMHg5YywweDQwLDB4ZjcsMHgwMCwweDNmLDB4YzAsMHg4ZiwweGMwLDB4MDMsMHhlNCwweDAwLDB4ZmEsMHgwMSwweDNmIH19LAotIHsxNiwgMHhlMTIwLCAwLCB7MHhjMCwweDBmLDB4ZjAsMHgyMywweGZjLDB4MDgsMHhmYiwweDAwLDB4M2YsMHg4MCwweDBmLDB4ZjAsMHgwMSwweGZjLDB4MTAsMHhmZiB9fSwKLSB7MTYsIDB4ZTEzMCwgMCwgezB4MDAsMHgzZiwweGMwLDB4MGUsMHhkMSwweDAzLDB4ZmMsMHg0MiwweGZlLDB4ODAsMHgzYiwweGMwLDB4MGYsMHhjMCwweDAzLDB4ZDAgfX0sCi0gezE2LCAweGUxNDAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWMsMHg0MCwweGM4LDB4MDAsMHgzZSwweGMwIH19LAotIHsxNiwgMHhlMTUwLCAwLCB7MHgwZiwweDkwLDB4MDMsMHhlZSwweDA4LDB4Y2IsMHgwMCwweDMyLDB4YzAsMHgwZiwweGEwLDB4MjMsMHhlNiwweDAzLDB4Y2IsMHg0YyB9fSwKLSB7MTYsIDB4ZTE2MCwgMCwgezB4MzIsMHg0MCwweDBmLDB4YjAsMHgwNywweGU4LDB4MDAsMHhmOSwweDAwLDB4MTYsMHg0MCwweDBjLDB4YTAsMHgwYiwweDZjLDB4MDAgfX0sCi0gezE2LCAweGUxNzAsIDAsIHsweGNmLDB4MDIsMHgzMiwweGM1LDB4MGMsMHg4MCwweDAzLDB4MDIsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMTgwLCAwLCB7MHg0OCwweDExLDB4OWMsMHg4MCwweDg0LDB4MDQsMHgyZCwweGMxLDB4MGIsMHg0MCwweDQwLDB4ZGMsMHgwMCwweDg3LDB4MDQsMHgyMSB9fSwKLSB7MTYsIDB4ZTE5MCwgMCwgezB4YzAsMHg0YiwweDcwLDB4MTIsMHhmYywweDAxLDB4OGYsMHg2MCwweDI5LDB4NDAsMHgwYiwweDcwLDB4MTMsMHg5YywweDAwLDB4YjUgfX0sCi0gezE2LCAweGUxYTAsIDAsIHsweDAwLDB4YTMsMHg0MCwweDBhLDB4NjAsMHgwMiwweDAwLDB4MDAsMHg4NCwweDAwLDB4MjEsMHhjMCwweDA4LDB4NDAsMHgwMiwweDEyIH19LAotIHsxNiwgMHhlMWIwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDhlLDB4MDAsMHg4NywweDgwLDB4MmQsMHhhMiB9fSwKLSB7MTYsIDB4ZTFjMCwgMCwgezB4MGIsMHg0YywweDE2LDB4ZDYsMHgwOCwweDk3LDB4ODgsMHgyMSwweGEwLDB4NGIsMHg2OCwweDAyLDB4ZGUsMHgwNCwweGE3LDB4ODAgfX0sCi0gezE2LCAweGUxZDAsIDAsIHsweDIxLDB4ZTAsMHgwYiwweDQ4LDB4MDIsMHhkYSwweDA0LDB4YjYsMHg4MiwweDI1LDB4NjAsMHgwYSwweGU4LDB4NjIsMHgxZSwweDAwIH19LAotIHsxNiwgMHhlMWUwLCAwLCB7MHg4NywweDgwLDB4MjAsMHhlOCwweDA4LDB4NDgsMHgwMiwweDA4LDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTFmMCwgMCwgezB4NDgsMHgxNCwweGNjLDB4MDAsMHg4YiwweDgwLDB4NmMsMHhmMCwweDBiLDB4M2MsMHgwMiwweGNlLDB4NDYsMHg5YiwweGMwLDB4MjAgfX0sCi0gezE2LCAweGUyMDAsIDAsIHsweGU0LDB4MGIsMHgzYywweDAyLDB4Y2MsMHgyMCwweGEzLDB4MDAsMHgyOCwweGUwLDB4MGIsMHgzMCwweDAyLDB4OGQsMHg4MCwweGIxIH19LAotIHsxNiwgMHhlMjEwLCAwLCB7MHg4MCwweDIyLDB4NDQsMHgwYSwweDIxLDB4MGEsMHgwMywweDgyLDB4ODAsMHg4MCwweGEwLDB4YzAsMHgwOCwweDA2LDB4MGEsMHgxMiB9fSwKLSB7MTYsIDB4ZTIyMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOCwweDAyLDB4Y2UsMHg4MCwweDNmLDB4YTAgfX0sCi0gezE2LCAweGUyMzAsIDAsIHsweDBmLDB4ZTAsMHgwMywweGZhLDB4NDAsMHhkZSwweGMwLDB4YjMsMHg5MCwweDBmLDB4ZWEsMHgxMywweGY5LDB4MDgsMHhlYSwweDA0IH19LAotIHsxNiwgMHhlMjQwLCAwLCB7MHgzMywweDgyLDB4OGYsMHhlNCwweDAzLDB4ZmIsMHgwOCwweGZlLDB4YTAsMHgzNiwweGEwLDB4MGMsMHhhYywweDBiLDB4NmIsMHg4MiB9fSwKLSB7MTYsIDB4ZTI1MCwgMCwgezB4YzYsMHhhMCwweDMyLDB4ODAsMHgyYywweGU0LDB4MDMsMHgzYSwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUyNjAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDAwLDB4ZjgsMHg5MCwweDNlLDB4MDIsMHgwZiwweDgwLDB4ODMsMHhlMSwweDAwLDB4ZTgsMHgyMCwweDNlIH19LAotIHsxNiwgMHhlMjcwLCAwLCB7MHgwMywweDBmLDB4ODIsMHgwMywweGUxLDB4NDAsMHhkOCwweDAwLDB4M2UsMHgyMCwweDBmLDB4MDAsMHg5MywweGEwLDB4NDAsMHhmOCB9fSwKLSB7MTYsIDB4ZTI4MCwgMCwgezB4MDAsMHgzZSwweDEwLDB4OGYsMHgwOCwweDBiLDB4ZjAsMHgwMCwweGZjLDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZDIgfX0sCi0gezE2LCAweGUyOTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGU5LDB4MDAsMHgzNiwweDQwIH19LAotIHsxNiwgMHhlMmEwLCAwLCB7MHgwZiwweDk0LDB4MDcsMHhlNiwweDAwLDB4ZjksMHg4MCwweGIwLDB4NDAsMHgwYywweDk0LDB4MDMsMHhlNCwweDQwLDB4ZjksMHgwMCB9fSwKLSB7MTYsIDB4ZTJiMCwgMCwgezB4MzIsMHg0MCwweDBmLDB4OTQsMHgwYiwweGE0LDB4MDAsMHg3MSwweGMwLDB4MzIsMHg0MCwweDJjLDB4OTQsMHgyMywweDI0LDB4MDIgfX0sCi0gezE2LCAweGUyYzAsIDAsIHsweGM5LDB4MDAsMHgzMiwweDQwLDB4MGMsMHg5MCwweDAzLDB4MDIsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMmQwLCAwLCB7MHg4MCwweDA0LDB4NDQsMHgwMCwweDg5LDB4MDAsMHgyMiwweDQwLDB4MGIsMHg5OCwweDAyLDB4ZTYsMHg2MCwweGI5LDB4MDAsMHgyMiB9fSwKLSB7MTYsIDB4ZTJlMCwgMCwgezB4NjAsMHgwYSwweDljLDB4MDIsMHhlNiwweDI0LDB4YjksMHgwNCwweDM2LDB4NDAsMHgwYiwweDk4LDB4MDAsMHgyNCwweDAwLDB4YjkgfX0sCi0gezE2LCAweGUyZjAsIDAsIHsweDgwLDB4YTIsMHg1MiwweDA4LDB4OTAsMHgwMiwweDI0LDB4MDAsMHg4OSwweDQwLDB4MjIsMHg0MCwweDY4LDB4OTQsMHgwMiwweDIwIH19LAotIHsxNiwgMHhlMzAwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDAsMHhhOSwweDAwLDB4MjYsMHg0MCB9fSwKLSB7MTYsIDB4ZTMxMCwgMCwgezB4MDMsMHg5NCwweDAyLDB4ZTQsMHgwMSwweGI5LDB4MTAsMHgyMiwweDU1LDB4MDgsMHg5MCwweDIyLDB4ZTQsMHgwMCwweGIxLDB4MDAgfX0sCi0gezE2LCAweGUzMjAsIDAsIHsweDI2LDB4NDAsMHgwYiwweDkwLDB4MDAsMHgyYywweDA5LDB4YjksMHgwMCwweDIyLDB4NjAsMHgwOCwweDkwLDB4MGEsMHgxYywweDA0IH19LAotIHsxNiwgMHhlMzMwLCAwLCB7MHg4ZCwweDA4LDB4YTAsMHg0MCwweDA4LDB4MTAsMHg4MiwweDBlLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTM0MCwgMCwgezB4MDgsMHgwNCwweDA2LDB4MDAsMHg4MSwweDAwLDB4MjAsMHg1MCwweDBiLDB4MTIsMHg0MiwweGM0LDB4ODAsMHhiMSwweDA0LDB4MjAgfX0sCi0gezE2LCAweGUzNTAsIDAsIHsweDUwLDB4MGEsMHgxNCwweDAyLDB4YzUsMHgwMCwweGIxLDB4MjIsMHgyNCwweDQwLDB4MGIsMHgxMiwweDIyLDB4MDQsMHgwMSwweGIxIH19LAotIHsxNiwgMHhlMzYwLCAwLCB7MHg0MCwweDIwLDB4NTAsMHgwOCwweDEwLDB4MGEsMHgxNSwweDAwLDB4ODUsMHg0MCwweDI4LDB4NTAsMHgwOCwweDE0LDB4MGEsMHgwYSB9fSwKLSB7MTYsIDB4ZTM3MCwgMCwgezB4MDUsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDAwLDB4ZTgsMHg1MCwweDM2LDB4MDAgfX0sCi0gezE2LCAweGUzODAsIDAsIHsweDBmLDB4ODUsMHgwMiwweGUxLDB4NDAsMHhmOCwweDUwLDB4MzIsMHgwMCwweDBjLDB4YTAsMHgyMywweGUwLDB4MTAsMHhmOCwweDUwIH19LAotIHsxNiwgMHhlMzkwLCAwLCB7MHhiMiwweDE0LDB4MGYsMHhhNSwweDAzLDB4YTEsMHg0OCwweGZhLDB4MDAsMHhiMiwweDAwLDB4MGMsMHg4MCwweDAzLDB4MjAsMHgwNCB9fSwKLSB7MTYsIDB4ZTNhMCwgMCwgezB4YzQsMHgwMiwweDMyLDB4MDAsMHgwYywweDAwLDB4MDMsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUzYjAsIDAsIHsweDk4LDB4MWQsMHhlNSwweDAwLDB4ZmQsMHgwMCwweDNmLDB4NDAsMHgwZiwweGQxLDB4MDMsMHhkNCwweDQ0LDB4ZjUsMHgwMCwweDNmIH19LAotIHsxNiwgMHhlM2MwLCAwLCB7MHg1MSwweDBmLDB4ZDQsMHgwMywweGY1LDB4MDAsMHhmOSwweDEwLDB4M2IsMHg0MCwweDBmLDB4ZDEsMHgwMCwweGY1LDB4MTAsMHhmNSB9fSwKLSB7MTYsIDB4ZTNkMCwgMCwgezB4NDAsMHg3ZiwweDQwLDB4MGYsMHg1NCwweDJiLDB4ZTUsMHgwMCwweGY5LDB4NDAsMHgzNiwweDUwLDB4MGYsMHhkMCwweDAzLDB4ZTYgfX0sCi0gezE2LCAweGUzZTAsIDAsIHsweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZjYsMHgxMCwweGJkLDB4NDAsMHgzMywweDQwIH19LAotIHsxNiwgMHhlM2YwLCAwLCB7MHgwZiwweGRhLDB4MDMsMHgzNywweDgwLDB4Y2QsMHgwMCwweDNmLDB4NDAsMHgwZiwweGQwLDB4MDMsMHhmNCwweDAwLDB4ZTksMHhhMCB9fSwKLSB7MTYsIDB4ZTQwMCwgMCwgezB4M2UsMHg0MCwweDBjLDB4ZGUsMHgxNywweGE0LDB4MDgsMHhmZCwweGMwLDB4MzMsMHg0MSwweDhkLDB4ZGEsMHgxMywweDI2LDB4YTAgfX0sCi0gezE2LCAweGU0MTAsIDAsIHsweGY5LDB4YTgsMHgzMiwweDc4LDB4MGMsMHhiNCwweDBiLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNDIwLCAwLCB7MHgzOCwweDEwLDB4ZTEsMHgwMCwweGI4LDB4YTAsMHgzNiwweDIwLDB4MGIsMHg4YSwweDgyLDB4YTIsMHg4MCwweDJhLDB4YTgsMHgyZSB9fSwKLSB7MTYsIDB4ZTQzMCwgMCwgezB4MDAsMHgwYiwweDgwLDB4MTIsMHhlMCwweDA0LDB4YjgsMHhhMSwweDJlLDB4MjgsMHg0YSwweDhlLDB4MDIsMHgyYSwweGEwLDB4YmEgfX0sCi0gezE2LCAweGU0NDAsIDAsIHsweGMwLDB4MjIsMHgyOCwweDA4LDB4ODUsMHgwMiwweDIxLDB4MDgsMHhiOCwweGU4LDB4YTIsMHgzYywweDA4LDB4YzgsMHgwMiwweDBlIH19LAotIHsxNiwgMHhlNDUwLCAwLCB7MHgwNiwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM1LDB4MDAsMHhiOSwweDAwLDB4MjAsMHg0YSB9fSwKLSB7MTYsIDB4ZTQ2MCwgMCwgezB4MGIsMHgxNCwweDAyLDB4MDUsMHg4MCwweDAxLDB4MDAsMHgyYywweDQxLDB4MGIsMHgxMCwweDAyLDB4YzQsMHgwNCwweGExLDB4NGEgfX0sCi0gezE2LCAweGU0NzAsIDAsIHsweDJlLDB4NDIsMHgwOCwweDE0LDB4MDIsMHg4NCwweDEwLDB4YjEsMHg2MCwweGEwLDB4NGEsMHgwOSwweDEwLDB4MDIsMHg0NCwweDAwIH19LAotIHsxNiwgMHhlNDgwLCAwLCB7MHhiNSwweDAxLDB4MjksMHg0MCwweDE4LDB4ZDIsMHgwMiwweDEyLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTQ5MCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MDAsMHhiOSwweDIxLDB4MjYsMHg0MCwweDBiLDB4OTYsMHgwMiwweGE0LDB4MTAsMHhhOSwweDAwLDB4MmUgfX0sCi0gezE2LCAweGU0YTAsIDAsIHsweDQwLDB4MGIsMHg5NiwweDEyLDB4ZTQsMHgyMCwweGI5LDB4MDAsMHgyZSwweDQxLDB4MGEsMHg5MCwweDQyLDB4MjQsMHgwMCwweGI5IH19LAotIHsxNiwgMHhlNGIwLCAwLCB7MHgwMCwweDIyLDB4NDEsMHgwOCwweDk4LDB4MjIsMHg2NCwweDAwLDB4YjksMHgyMCwweDJiLDB4NDEsMHgyOCwweGQ0LDB4MDIsMHgwNiB9fSwKLSB7MTYsIDB4ZTRjMCwgMCwgezB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTEsMHhlNCwweDAwLDB4ZjksMHhlMCwweDMyLDB4NTggfX0sCi0gezE2LCAweGU0ZDAsIDAsIHsweDBmLDB4OTgsMHgwMywweDI2LDB4NDAsMHhjOSwweDQwLDB4M2UsMHg1OCwweDBmLDB4OWMsMHgwMywweGU0LDB4MDAsMHhlOSwweDAwIH19LAotIHsxNiwgMHhlNGUwLCAwLCB7MHg2ZSwweDQwLDB4MGMsMHg5YSwweDAyLDB4YTYsMHgwMCwweGY5LDB4NDQsMHgzMiwweDQwLDB4MGQsMHg5YSwweDBiLDB4NjQsMHg4NCB9fSwKLSB7MTYsIDB4ZTRmMCwgMCwgezB4ZjksMHgwMCwweGJhLDB4NDAsMHgwYywweDE4LDB4MDMsMHgyOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU1MDAsIDAsIHsweDI4LDB4MDEsMHhhNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NTAsMHgwZiwweDkwLDB4MDMsMHhlNiwweDAwLDB4ZjksMHgwNCwweDNlIH19LAotIHsxNiwgMHhlNTEwLCAwLCB7MHg0OCwweDBmLDB4OTAsMHgwMywweGU0LDB4NDAsMHhmOSwweDAwLDB4M2UsMHg2NSwweDBmLDB4OTksMHg4MSwweGU0LDB4NTAsMHhmOSB9fSwKLSB7MTYsIDB4ZTUyMCwgMCwgezB4MjAsMHgzZSwweDQwLDB4OGYsMHg5MCwweDAzLDB4YTQsMHg4MCwweGY5LDB4MDAsMHgzNCwweDQwLDB4MGYsMHg5MiwweDAzLDB4ZDIgfX0sCi0gezE2LCAweGU1MzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGY4LDB4NDAsMHgzZSwweDEwIH19LAotIHsxNiwgMHhlNTQwLCAwLCB7MHgwZSwweDg0LDB4MDMsMHg2MCwweDA4LDB4YzgsMHgwMCwweDNlLDB4MDgsMHgwZiwweDgwLDB4ODMsMHhlMCwweDI4LDB4ZTgsMHgwNCB9fSwKLSB7MTYsIDB4ZTU1MCwgMCwgezB4M2UsMHgwMCwweDBjLDB4ODQsMHgwMywweDIxLDB4MWMsMHhmMCwweDQ4LDB4MzIsMHgwMCwweDBiLDB4MDAsMHgwMywweGUwLDB4MDIgfX0sCi0gezE2LCAweGU1NjAsIDAsIHsweGMwLDB4MDAsMHgzMiwweDAwLDB4MGMsMHhjMCwweDBiLDB4MDIsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNTcwLCAwLCB7MHgyOCwweDA1LDB4MzgsMHgwMCwweGIyLDB4ODgsMHgyZSwweDgwLDB4MDgsMHhlMCwweDAzLDB4N2EsMHg4MCwweDhlLDB4MDAsMHgyZiB9fSwKLSB7MTYsIDB4ZTU4MCwgMCwgezB4YTAsMHgwYiwweGU4LDB4MDIsMHhmOSwweDEwLDB4YmEsMHgwMCwweDJjLDB4ODAsMHgyOCwweGU0LDB4MDIsMHgyOCwweDAwLDB4YmUgfX0sCi0gezE2LCAweGU1OTAsIDAsIHsweDQwLDB4MjMsMHhiOCwweDA4LDB4ZTgsMHgwMiwweGU4LDB4MDQsMHhjYSwweDIwLDB4YTIsMHg4MCwweDA4LDB4ZTgsMHgwMiwweDBhIH19LAotIHsxNiwgMHhlNWEwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDEsMHhiMywweDAwLDB4MmMsMHg0MCB9fSwKLSB7MTYsIDB4ZTViMCwgMCwgezB4MDgsMHhiOCwweDQyLDB4NmMsMHgwMiwweDgzLDB4MDAsMHgyYywweGUwLDB4MGIsMHgzOCwweDAwLDB4Y2YsMHg0MCwweGIzLDB4MDAgfX0sCi0gezE2LCAweGU1YzAsIDAsIHsweDJjLDB4YzAsMHgwOCwweGI0LDB4MGEsMHgwYywweDAwLDB4YjMsMHg0MCwweGEyLDB4ODIsMHgwYSwweDM5LDB4MDIsMHhjYywweDAwIH19LAotIHsxNiwgMHhlNWQwLCAwLCB7MHg5MywweDgwLDB4YTAsMHhjMCwweDI5LDB4MjAsMHgwMiwweDBhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTVlMCwgMCwgezB4YTAsMHgwMSwweDFkLDB4MDAsMHhiNywweDAwLDB4MmQsMHg2NCwweDI4LDB4NzQsMHgwMiwweDQwLDB4MDAsMHg4NywweDA1LDB4MmQgfX0sCi0gezE2LCAweGU1ZjAsIDAsIHsweDkwLDB4MGIsMHg3NCwweDAyLDB4ZGMsMHgxMCwweGI3LDB4MzAsMHgyZCwweGM4LDB4MDgsMHgzNCwweDA2LDB4MWMsMHg4MCwweGI3IH19LAotIHsxNiwgMHhlNjAwLCAwLCB7MHgwMCwweGExLDB4YzAsMHgwYSwweDcwLDB4MDIsMHhkZSwweDgwLDB4ODMsMHgwMCwweDAxLDB4MDAsMHgwOSwweDYwLDB4ODIsMHgyMCB9fSwKLSB7MTYsIDB4ZTYxMCwgMCwgezB4MDQsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxYSwweDAwLDB4ZjcsMHg4MCwweDNkLDB4NjAgfX0sCi0gezE2LCAweGU2MjAsIDAsIHsweDBlLDB4ZDgsMHgwYiwweDVlLDB4MDAsMHhjNywweDgwLDB4M2QsMHhlMCwweDBmLDB4NjgsMHgwMywweGRlLDB4MTAsMHhmNywweGE5IH19LAotIHsxNiwgMHhlNjMwLCAwLCB7MHg3ZiwweGU4LDB4NDgsMHg3OCwweDAzLDB4MWYsMHgzMCwweGZmLDB4OTQsMHgzMywweGEwLDB4MGUsMHg3OCwweDAzLDB4Y2YsMHgyNCB9fSwKLSB7MTYsIDB4ZTY0MCwgMCwgezB4ZDYsMHg4MCwweGIxLDB4ZTAsMHgwZCwweGY4LDB4NDMsMHgyMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU2NTAsIDAsIHsweDA4LDB4MWQsMHhhYywweDAwLDB4YmIsMHgwMCwweDBjLDB4NDAsMHgwZiwweGIwLDB4MDMsMHhlYywweDA4LDB4ZjksMHgwMCwweDNlIH19LAotIHsxNiwgMHhlNjYwLCAwLCB7MHgwMCwweDBmLDB4OTAsMHg0MSwweGVjLDB4MDAsMHhmYiwweDYxLDB4N2UsMHhkMCwweDBmLDB4YjAsMHgwMywweGVjLDB4ODAsMHhmYiB9fSwKLSB7MTYsIDB4ZTY3MCwgMCwgezB4NDAsMHgzZiwweDliLDB4MGMsMHhiMCwweDAzLDB4ZWQsMHg5MCwweGZhLDB4MDAsMHgzYywweDAwLDB4MGUsMHhiMCwweDAzLDB4YzIgfX0sCi0gezE2LCAweGU2ODAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZGUsMHgwMCwweGVmLDB4ODAsMHgzMywweDYwIH19LAotIHsxNiwgMHhlNjkwLCAwLCB7MHgwZCwweGQ4LDB4MDMsMHgzNiwweDQwLDB4ZWYsMHg5MCwweDNlLDB4ZTAsMHgwZiwweGY5LDB4MDMsMHhmZSwweDAwLDB4ZmYsMHg4MCB9fSwKLSB7MTYsIDB4ZTZhMCwgMCwgezB4MzMsMHhmZSwweDBjLDB4ZmEsMHgwMywweGZlLDB4MDAsMHhjZiwweDgwLDB4YjMsMHhlMCwweDBmLDB4ZjgsMHgwMywweGZlLDB4MDAgfX0sCi0gezE2LCAweGU2YjAsIDAsIHsweGNkLDB4ODAsMHgzMywweGUwLDB4MGYsMHhjOCwweDQzLDB4YzAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNmMwLCAwLCB7MHhhOCwweDExLDB4OWMsMHgwMCwweDg1LDB4MDgsMHgzNSwweDQwLDB4MDgsMHg3MCwweDAzLDB4NTIsMHgyMCwweDg3LDB4MTEsMHgyYyB9fSwKLSB7MTYsIDB4ZTZkMCwgMCwgezB4ZWMsMHgwYiwweDcxLDB4MDIsMHhkMCwweDAwLDB4ZTcsMHgwMCwweDM1LDB4YzQsMHgwOCwweDc0LDB4MDIsMHhkYywweDQwLDB4ODcgfX0sCi0gezE2LCAweGU2ZTAsIDAsIHsweDEwLDB4MjEsMHhjMCwweDBiLDB4NzAsMHgwMiwweGZjLDB4ODAsMHg4NSwweDA4LDB4MjEsMHgwMCwweDBiLDB4NDEsMHg4MiwweGVhIH19LAotIHsxNiwgMHhlNmYwLCAwLCB7MHgwNiwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDk4LDB4MDAsMHhhZiwweDAwLDB4MjMsMHg1MCB9fSwKLSB7MTYsIDB4ZTcwMCwgMCwgezB4MDksMHg1MCwweDAyLDB4MWMsMHg4MCwweGE3LDB4MDEsMHgyOSwweGMwLDB4MWIsMHg2MCwweDA2LDB4ZGMsMHg0MCwweGI3LDB4MTAgfX0sCi0gezE2LCAweGU3MTAsIDAsIHsweDIxLDB4YzgsMHg0YSwweDUyLDB4MDIsMHhkYywweDAwLDB4ODMsMHgwMCwweDIxLDB4YzAsMHgwYiwweDcwLDB4MDIsMHhkYywweDEzIH19LAotIHsxNiwgMHhlNzIwLCAwLCB7MHg4NCwweDAwLDB4MjUsMHhjMCwweDBiLDB4NTgsMHgwMiwweGMwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTczMCwgMCwgezB4MjAsMHgxNCwweGNjLDB4MDAsMHg4MSwweDgwLDB4MjQsMHg0MCwweDA4LDB4M2UsMHgwMiwweDZlLDB4MDAsMHg4OSwweDAwLDB4MmMgfX0sCi0gezE2LCAweGU3NDAsIDAsIHsweGMwLDB4MGIsMHhiNCwweDAyLDB4Y2EsMHg4MCwweGEzLDB4MDAsMHgyNCwweGMwLDB4MGEsMHgwNCwweDAyLDB4ZWMsMHg0MCwweDgyIH19LAotIHsxNiwgMHhlNzUwLCAwLCB7MHgwYSwweDIwLDB4YzAsMHgwYiwweDMwLDB4MDIsMHhjZCwweDEwLDB4ODAsMHhjMCwweGE0LDB4MDAsMHgwYiwweDFjLDB4MDIsMHhjOCB9fSwKLSB7MTYsIDB4ZTc2MCwgMCwgezB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHg4NCwweDAwLDB4ZWIsMHg4MCwweDMzLDB4NDAgfX0sCi0gezE2LCAweGU3NzAsIDAsIHsweDBkLDB4OGMsMHg4MywweDI2LDB4MDAsMHhlOSwweGEwLDB4M2UsMHg3OCwweDhmLDB4OTAsMHg4MywweGUxLDB4MDAsMHhmZiwweDAwIH19LAotIHsxNiwgMHhlNzgwLCAwLCB7MHgzMSwweGQxLDB4MGUsMHg4NCwweDIzLDB4ZmMsMHgwMCwweGNiLDB4ODIsMHgzMiwweGMwLDB4OGYsMHhiMCwweDAyLDB4ZmQsMHg0MCB9fSwKLSB7MTYsIDB4ZTc5MCwgMCwgezB4Y2IsMHg4MCwweGI2LDB4YzAsMHgwZiwweGE0LDB4MDMsMHhlYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU3YTAsIDAsIHsweDgwLDB4MDAsMHhlYywweDAwLDB4ZmIsMHgwMCwweDNlLDB4NDAsMHgwZiwweGEwLDB4MDMsMHhlMCwweDAwLDB4ZjksMHgwMSwweDNlIH19LAotIHsxNiwgMHhlN2IwLCAwLCB7MHg0MiwweDBmLDB4OTAsMHgwMywweGU1LDB4NTQsMHhlMywweDAwLDB4M2UsMHhjOCwweDA1LDB4OTMsMHgwMywweGVjLDB4ODAsMHhmYiB9fSwKLSB7MTYsIDB4ZTdjMCwgMCwgezB4YzEsMHgzZSwweGMwLDB4MGYsMHgyMCwweDAzLDB4Y2MsMHg0OCwweGYzLDB4MDgsMHgzYSwweDAwLDB4MGYsMHhhMCwweDQzLDB4ZTAgfX0sCi0gezE2LCAweGU3ZDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZjAsMHgwMCwweGNmLDB4MDAsMHgzZiwweDQwIH19LAotIHsxNiwgMHhlN2UwLCAwLCB7MHgwZiwweDMwLDB4MDEsMHgyYywweDBhLDB4Y2QsMHgxMCwweDMzLDB4MDAsMHgwZiwweGQwLDB4ODMsMHgxNCwweDAwLDB4Y2IsMHgwMiB9fSwKLSB7MTYsIDB4ZTdmMCwgMCwgezB4MzMsMHhjMCwweDBjLDB4ZTEsMHgwMywweGVjLDB4MTAsMHhjZCwweDAwLDB4MzMsMHhjMCwweDBjLDB4ZjAsMHgzMywweDNjLDB4MDAgfX0sCi0gezE2LCAweGU4MDAsIDAsIHsweGVhLDB4MDAsMHgzMywweGMwLDB4MGMsMHhmMCwweDgzLDB4YzgsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlODEwLCAwLCB7MHg4MSwweDA0LDB4NmUsMHgwMCwweDhiLDB4MDAsMHgyZSwweDQwLDB4MGIsMHhiYywweDAyLDB4MmUsMHgwMCwweDBiLDB4MDAsMHgyMiB9fSwKLSB7MTYsIDB4ZTgyMCwgMCwgezB4MzAsMHgwYiwweDljLDB4MDIsMHgyNywweDgwLDB4YWIsMHgwMCwweDJhLDB4YzAsMHgwOCwweGI4LDB4MDIsMHhlYywweDAwLDB4ODkgfX0sCi0gezE2LCAweGU4MzAsIDAsIHsweGMwLDB4MjAsMHhlMCwweDA4LDB4YWUsMHgwMiwweDJjLDB4MDgsMHg4YSwweDAwLDB4MjIsMHgwMCwweDA4LDB4YjAsMHg0MiwweGU4IH19LAotIHsxNiwgMHhlODQwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJlLDB4MDAsMHg4YiwweDA0LDB4MmUsMHg0MCB9fSwKLSB7MTYsIDB4ZTg1MCwgMCwgezB4OGIsMHg4YywweDAyLDB4YWUsMHgxMCwweDg5LDB4MDAsMHgyMiwweDcwLDB4MGIsMHg4YywweDAyLDB4YTIsMHgwMCwweDhiLDB4MDEgfX0sCi0gezE2LCAweGU4NjAsIDAsIHsweDIyLDB4YzAsMHgwOCwweDgwLDB4MDIsMHhlYywweDEwLDB4ODIsMHg4OCwweGEyLDB4NzAsMHgwOSwweGI4LDB4MDIsMHgyYywweDA4IH19LAotIHsxNiwgMHhlODcwLCAwLCB7MHg4OSwweDAwLDB4MjAsMHhjMCwweDI4LDB4ODAsMHgyMiwweGUwLDB4MTAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTg4MCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDQsMHg4MSwweDAwLDB4MmMsMHg0MCwweDBiLDB4MjAsMHgwMiwweDgwLDB4MDAsMHg4MSwweDA0LDB4YTAgfX0sCi0gezE2LCAweGU4OTAsIDAsIHsweDUwLDB4NGIsMHgwMCwweDBhLDB4ODAsMHgwMCwweGEzLDB4MDEsMHgyYSwweGMxLDB4MjAsMHgxMCwweDAyLDB4Y2MsMHgxNCwweDgzIH19LAotIHsxNiwgMHhlOGEwLCAwLCB7MHgwMCwweDIyLDB4YzAsMHgwOCwweDIwLDB4MDIsMHgwYywweDAwLDB4ODEsMHgwMCwweGUwLDB4MDAsMHgwOCwweDAwLDB4MDIsMHhjMiB9fSwKLSB7MTYsIDB4ZThiMCwgMCwgezB4MDUsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2OCwweDAwLDB4Y2IsMHgwMCwweDNlLDB4NDAgfX0sCi0gezE2LCAweGU4YzAsIDAsIHsweDBmLDB4OTAsMHgwYiwweGFjLDB4ODAsMHhjOSwweDAwLDB4MzIsMHgxMCwweDBmLDB4ODAsMHgwMywweGE0LDB4MDAsMHhjZiwweDAyIH19LAotIHsxNiwgMHhlOGQwLCAwLCB7MHgzMSwweGMwLDB4MGMsMHg4MCwweDEzLDB4ZmMsMHgwMiwweGNkLDB4MDAsMHgzMywweGMwLDB4MmMsMHg5MCwweDAzLDB4M2MsMHgwMiB9fSwKLSB7MTYsIDB4ZThlMCwgMCwgezB4ZTgsMHgwMCwweGIyLDB4YzAsMHgwYywweDkwLDB4MDMsMHhjMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU4ZjAsIDAsIHsweGEwLDB4MWQsMHhmYywweDAyLDB4ZjUsMHgwMCwweDNkLDB4NDAsMHg4ZiwweGYwLDB4MjMsMHg2ZCwweDAwLDB4ZmYsMHgwMCwweDNmIH19LAotIHsxNiwgMHhlOTAwLCAwLCB7MHgwNCwweDBmLDB4YzAsMHgwMywweDcwLDB4MWMsMHhmZiwweDAxLDB4M2YsMHhjMCwweDRmLDB4YzAsMHgwMywweGZjLDB4MDAsMHhmZCB9fSwKLSB7MTYsIDB4ZTkxMCwgMCwgezB4MDAsMHgzZiwweGMwLDB4MGYsMHhlMCwweDBmLDB4ZmMsMHgxOCwweGZjLDB4MDAsMHgzZiwweDAwLDB4MGYsMHhkMCwweDAzLDB4ZTggfX0sCi0gezE2LCAweGU5MjAsIDAsIHsweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmUsMHgwMCwweGQ3LDB4MDIsMHgwZiwweDMwIH19LAotIHsxNiwgMHhlOTMwLCAwLCB7MHgwYywweGYyLDB4MDEsMHg3ZSwweDA2LDB4NDQsMHgzMCwweDNmLDB4MjAsMHgwZSwweGYwLDB4MDIsMHg3YywweDg0LDB4ZmQsMHgyMCB9fSwKLSB7MTYsIDB4ZTk0MCwgMCwgezB4MjcsMHgwOCwweDBjLDB4ZDAsMHgwMSwweDM2LDB4MDAsMHhmZiwweDYwLDB4MzMsMHhjYywweDBiLDB4ZjEsMHgxMywweDJjLDB4YzQgfX0sCi0gezE2LCAweGU5NTAsIDAsIHsweGZmLDB4MzAsMHgwZiwweGNkLDB4MGMsMHhmNCwweDAzLDB4ZjAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlOTYwLCAwLCB7MHg4MCwweDEwLDB4ZWUsMHgwMCwweDhmLDB4YzAsMHgyZSwweDAwLDB4MDgsMHhmYywweDAyLDB4MmUsMHgwMCwweDhhLDB4MzAsMHgyOCB9fSwKLSB7MTYsIDB4ZTk3MCwgMCwgezB4NTIsMHgwOCwweGY2LDB4ODIsMHgzYywweDY4LDB4YmQsMHg5MCwweDMyLDB4MzQsMHg0OCwweDljLDB4MTIsMHgyNiwweDAwLDB4Y2YgfX0sCi0gezE2LCAweGU5ODAsIDAsIHsweDQwLDB4MjMsMHhjYywweDBiLDB4ZjYsMHgwMiwweDNkLDB4MDAsMHhiZiwweDEwLDB4MmYsMHhjYywweDg4LDB4ZjYsMHgwMiwweGUwIH19LAotIHsxNiwgMHhlOTkwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNjLDB4MDAsMHg5MywweDEwLDB4MmMsMHgwOCB9fSwKLSB7MTYsIDB4ZTlhMCwgMCwgezB4MDksMHgzMSwweDAyLDB4NGMsMHgwMCwweDliLDB4MjAsMHg2NCwweDU4LDB4MDMsMHgzMSwweDYyLDB4NGMsMHg4MSwweGExLDB4MDAgfX0sCi0gezE2LCAweGU5YjAsIDAsIHsweDIwLDB4MDAsMHg0OCwweDE0LDB4MDIsMHg0NCwweDAwLDB4OTMsMHgzMCwweDI0LDB4YzAsMHgwYiwweDMzLDB4MDIsMHg4ZCwweDg0IH19LAotIHsxNiwgMHhlOWMwLCAwLCB7MHhiMywweDIwLDB4NmMsMHhjMCwweDJhLDB4MzYsMHgwMiwweGUyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTlkMCwgMCwgezB4YzAsMHgxNSwweGFjLDB4MTAsMHg5YiwweDAyLDB4MmUsMHg0MSwweDBiLDB4YjAsMHgwMiwweGE0LDB4MDAsMHg5YSwweDAwLDB4NGEgfX0sCi0gezE2LCAweGU5ZTAsIDAsIHsweDYwLDB4ODgsMHhiMCwweDUyLDB4NmMsMHgwMSwweGI5LDB4MDAsMHgyNiwweDAwLDB4MDgsMHg5MSwweDIyLDB4ZWMsMHgwOCwweGJiIH19LAotIHsxNiwgMHhlOWYwLCAwLCB7MHgwMCwweDI2LDB4YzAsMHgwYiwweGIwLDB4MDIsMHhhYywweDAwLDB4YmIsMHgwNSwweDZlLDB4YzEsMHgwYSwweGIwLDB4MDIsMHhmMCB9fSwKLSB7MTYsIDB4ZWEwMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlYywweDAwLDB4ZGIsMHgwMSwweDNlLDB4MzAgfX0sCi0gezE2LCAweGVhMTAsIDAsIHsweDJkLDB4MzAsMHgwMywweDQ3LDB4NjAsMHhkOCwweGEwLDB4MTYsMHgzOCwweDhmLDB4YjAsMHgwMywweDZjLDB4MDAsMHg3OSwweDAyIH19LAotIHsxNiwgMHhlYTIwLCAwLCB7MHgzMSwweDYwLDB4MGMsMHhjOCwweDBhLDB4NjYsMHgwMCwweGJiLDB4MDAsMHhiNiwweGMwLDB4MGYsMHhiMCwweDBiLDB4YWMsMHgwMCB9fSwKLSB7MTYsIDB4ZWEzMCwgMCwgezB4ZmIsMHgwMSwweDNlLDB4YzEsMHgwZSwweGIwLDB4MDMsMHhkMCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVhNDAsIDAsIHsweGUwLDB4MDEsMHhiYywweDEwLDB4ZWYsMHgwOCwweDNmLDB4MjQsMHgwYywweGYwLDB4MDMsMHg3NiwweDIwLDB4ZWUsMHg5MCwweDM1IH19LAotIHsxNiwgMHhlYTUwLCAwLCB7MHg0MCwweDBlLDB4NzAsMHgwMywweGFjLDB4MDAsMHhmZCwweDAwLDB4YmIsMHg2NCwweDBmLDB4ODgsMHgxMywweDM0LDB4ODAsMHhjYiB9fSwKLSB7MTYsIDB4ZWE2MCwgMCwgezB4MDAsMHgzYiwweGMwLDB4MGYsMHhiMCwweDAzLDB4NmMsMHgwOCwweGZmLDB4MDAsMHgzZSwweGMwLDB4MGQsMHhmMCwweDAzLDB4ZjggfX0sCi0gezE2LCAweGVhNzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMSwweGZiLDB4ODAsMHgzMiwweDEwIH19LAotIHsxNiwgMHhlYTgwLCAwLCB7MHgwZSwweGIwLDB4MDMsMHhlZCwweDAwLDB4Y2IsMHg1MCwweDNlLDB4NDAsMHg4YywweGIwLDB4NDMsMHgyYywweDEwLDB4ZjksMHgwMCB9fSwKLSB7MTYsIDB4ZWE5MCwgMCwgezB4MzIsMHg2MCwweDBjLDB4NDAsMHgwYiwweDI2LDB4MDAsMHhjMywweDA0LDB4MzYsMHhjMCwweDBjLDB4MzAsMHgwMywweDJjLDB4MDAgfX0sCi0gezE2LCAweGVhYTAsIDAsIHsweDliLDB4MDAsMHhiMCwweGMwLDB4MGMsMHhiMCwweDAzLDB4ZDAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYWIwLCAwLCB7MHhjOCwweDA1LDB4MGUsMHg4MCwweGJmLDB4MDQsMHgyYSwweDQwLDB4MDAsMHhmNSwweDAwLDB4ZTYsMHgwMCwweDgyLDB4ZDIsMHgyMiB9fSwKLSB7MTYsIDB4ZWFjMCwgMCwgezB4NDAsMHgwZCwweGYwLDB4MjIsMHgzYywweDAwLDB4OTUsMHgwMiwweDM2LDB4NDAsMHgwYSwweDgwLDB4MDIsMHgyZSwweDAwLDB4OGYgfX0sCi0gezE2LCAweGVhZDAsIDAsIHsweDAwLDB4MzcsMHhjMCwweDBhLDB4ZjAsMHg0MiwweDNjLDB4MDAsMHg4ZiwweDAwLDB4MjMsMHhjMCwweDI4LDB4ZjAsMHgwMiwweGYyIH19LAotIHsxNiwgMHhlYWUwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRlLDB4MDAsMHhiMywweDAwLDB4MjIsMHgyMCB9fSwKLSB7MTYsIDB4ZWFmMCwgMCwgezB4NGEsMHgzMCwweDAwLDB4Y2MsMHgwMCwweDgxLDB4YzAsMHgyOCwweDAwLDB4MDgsMHgzMCwweDAyLDB4MGMsMHgxMCwweGExLDB4MDAgfX0sCi0gezE2LCAweGViMDAsIDAsIHsweDI4LDB4ODAsMHgxOCwweDMwLDB4MjIsMHgwNCwweDA0LDB4ODMsMHgwMCwweDI0LDB4YzAsMHgwOCwweDMwLDB4MDIsMHhjYywweDA4IH19LAotIHsxNiwgMHhlYjEwLCAwLCB7MHg5MywweDAwLDB4MjAsMHhjMCwweDA4LDB4MzAsMHgwNiwweGY4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWIyMCwgMCwgezB4MjAsMHgwMSwweDFlLDB4MDAsMHhiNywweDgwLDB4MjksMHhhMCwweDA4LDB4NzgsMHgwMiwweGZlLDB4MjAsMHg4ZCwweDgwLDB4MjkgfX0sCi0gezE2LCAweGViMzAsIDAsIHsweGU1LDB4NWIsMHgzOCwweDQyLDB4MWUsMHg0MCwweGExLDB4ODEsMHgyNSwweGE4LDB4MDgsMHg3OSwweDAyLDB4MzcsMHgwMCwweDg3IH19LAotIHsxNiwgMHhlYjQwLCAwLCB7MHg4MCwweDI1LDB4ZTAsMHgwYSwweDc4LDB4MGEsMHhkZSwweDgxLDB4ODcsMHg4MCwweDI1LDB4ZTUsMHg0OCwweDc4LDB4MDIsMHhjOCB9fSwKLSB7MTYsIDB4ZWI1MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDAwLDB4YjMsMHgxMCwweDMwLDB4MTIgfX0sCi0gezE2LCAweGViNjAsIDAsIHsweDBlLDB4MzAsMHgxMiwweGNjLDB4YzAsMHhjMywweDAwLDB4MzgsMHg4MCwweDBjLDB4MzEsMHgwNiwweDBjLDB4NDAsMHhmMSwweDAwIH19LAotIHsxNiwgMHhlYjcwLCAwLCB7MHgzOCwweDgwLDB4MGMsMHgzMCwweDQzLDB4MDQsMHg0MiwweGMzLDB4MDAsMHgzNiwweGMwLDB4MGMsMHgzMiwweDAzLDB4Y2UsMHhjMCB9fSwKLSB7MTYsIDB4ZWI4MCwgMCwgezB4ZGIsMHgwMCwweDMwLDB4YzAsMHgwYywweDMwLDB4MDMsMHhkMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGViOTAsIDAsIHsweDQwLDB4MWQsMHhiYywweDAwLDB4ZmYsMHgxMCwweDNkLDB4ODQsMHg0ZiwweGYxLDB4MDMsMHhkMCwweDQwLDB4ZmMsMHgxMCwweDMzIH19LAotIHsxNiwgMHhlYmEwLCAwLCB7MHg4MCwweDVkLDB4YjEsMHg4MywweGZjLDB4NTAsMHhkZCwweDBhLDB4MjUsMHg4OSwweDBmLDB4YjgsMHgwMywweGQ0LDB4MDAsMHhmZiB9fSwKLSB7MTYsIDB4ZWJiMCwgMCwgezB4MTAsMHgzZiwweGMwLDB4MGYsMHhmNCwweDAzLDB4M2MsMHg0MCwweGZmLDB4MDAsMHgzYiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZDAgfX0sCi0gezE2LCAweGViYzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWMsMHgwMCwweGZiLDB4MjAsMHgzZSwweDAwIH19LAotIHsxNiwgMHhlYmQwLCAwLCB7MHgwZiwweGI1LDB4MDMsMHgyOSwweDIwLDB4ZjksMHgwMCwweDMyLDB4YTAsMHgwYywweGIwLDB4ODMsMHhlYywweDAwLDB4NDksMHhjOCB9fSwKLSB7MTYsIDB4ZWJlMCwgMCwgezB4YjIsMHhjMCwweDhjLDB4YTAsMHgwMywweDY0LDB4MDAsMHhmYiwweDA4LDB4MTIsMHhlYSwweDBjLDB4YjAsMHgwYiwweDJjLDB4ODAgfX0sCi0gezE2LCAweGViZjAsIDAsIHsweGZiLDB4MjAsMHgyZSwweGQyLDB4NmMsMHhiNiwweDQzLDB4ZWEsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYzAwLCAwLCB7MHg0OCwweDExLDB4OWMsMHgwMCwweGI3LDB4NDksMHgyZCwweDAwLDB4MGIsMHgzMCwweDgyLDB4MTAsMHgwMSwweGI1LDB4MDIsMHg4MyB9fSwKLSB7MTYsIDB4ZWMxMCwgMCwgezB4YzAsMHgxYSwweDcyLDB4MjIsMHhkZCwweDQxLDB4ODUsMHgwMCwweDYxLDB4YzAsMHgxOCwweDIwLDB4MjAsMHgxNCwweDAwLDB4YmYgfX0sCi0gezE2LCAweGVjMjAsIDAsIHsweDQwLDB4MzUsMHhkMCwweDBkLDB4MzQsMHgwMiwweDFkLDB4MjAsMHhiNywweDI4LDB4MjUsMHhjMSwweDA4LDB4NzQsMHg4MiwweGQyIH19LAotIHsxNiwgMHhlYzMwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDllLDB4MDQsMHgzNywweGEwLDB4MmQsMHgyMCB9fSwKLSB7MTYsIDB4ZWM0MCwgMCwgezB4MGIsMHg3YSwweDEyLDB4MTYsMHgwMSwweGIzLDB4ODAsMHgyMSwweGUyLDB4MDgsMHg3OCwweDQyLDB4OWUsMHgwMCwweDg1LDB4ODAgfX0sCi0gezE2LCAweGVjNTAsIDAsIHsweDIwLDB4ZTEsMHgxOCwweDY4LDB4MDIsMHg1NiwweDAwLDB4YjcsMHhhMCwweDI1LDB4ZTAsMHgwOCwweDdhLDB4MDIsMHgxZSwweDAwIH19LAotIHsxNiwgMHhlYzYwLCAwLCB7MHhiNywweDkwLDB4MmMsMHhlNSwweDg4LDB4N2EsMHgwMiwweGYwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWM3MCwgMCwgezB4NDgsMHgxNCwweGNjLDB4MDAsMHhiMywweDAwLDB4NmMsMHgyNCwweDFiLDB4MzAsMHgwMiwweDAwLDB4MDAsMHhiMCwweDAwLDB4MjAgfX0sCi0gezE2LCAweGVjODAsIDAsIHsweGY4LDB4MGEsMHgzMCwweDAyLDB4Y2MsMHgwMCwweDgxLDB4MDAsMHgyMCwweGQ4LDB4MTgsMHgyMCwweDAyLDB4MDQsMHgwMCwweGIzIH19LAotIHsxNiwgMHhlYzkwLCAwLCB7MHgwMCwweDI0LDB4YzAsMHgwOSwweDMwLDB4MDIsMHgwYywweDAwLDB4YjMsMHgwMCwweDI2LDB4YzAsMHgwOCwweDMwLDB4MDIsMHhkMiB9fSwKLSB7MTYsIDB4ZWNhMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOCwweDAwLDB4ZmEsMHgwMCwweDNkLDB4ODAgfX0sCi0gezE2LCAweGVjYjAsIDAsIHsweDBmLDB4MjAsMHgwYiwweDI4LDB4ODAsMHhmZSwweDAwLDB4MzMsMHhhMCwweDBjLDB4YTAsMHgwMywweGU4LDB4MDIsMHhjYSwweDAyIH19LAotIHsxNiwgMHhlY2MwLCAwLCB7MHgzMiwweDkwLDB4MmMsMHhlNCwweDAzLDB4NzgsMHgwMCwweGZhLDB4MDAsMHgzMiwweDgwLDB4MGMsMHhhMCwweDAzLDB4MjgsMHgwMCB9fSwKLSB7MTYsIDB4ZWNkMCwgMCwgezB4ZmEsMHgwMCwweDNlLDB4ODAsMHgwYywweGEwLDB4MDMsMHhmYSwweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVjZTAsIDAsIHsweDQ4LDB4MDAsMHhlMSwweDAwLDB4ZjAsMHgwMCwweDNlLDB4MDAsMHg0ZiwweDgwLDB4MDMsMHhlMCwweDgwLDB4ZjgsMHgwMCwweDNlIH19LAotIHsxNiwgMHhlY2YwLCAwLCB7MHgwMCwweDBmLDB4ODAsMHgyMywweGMwLDB4MDAsMHhmOCwweDAyLDB4M2MsMHgwMCwweDBmLDB4YzAsMHg4MywweDYwLDB4MDAsMHhiOCB9fSwKLSB7MTYsIDB4ZWQwMCwgMCwgezB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDIzLDB4ZTAsMHgxOCwweGY4LDB4MDEsMHgzNiwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZDIgfX0sCi0gezE2LCAweGVkMTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTYsMHgwMCwweGY5LDB4MjEsMHgzMiwweDYwIH19LAotIHsxNiwgMHhlZDIwLCAwLCB7MHgwYywweDkwLDB4MDMsMHgyYywweDQ0LDB4ZjksMHgwMCwweGIyLDB4NDAsMHgwZiwweDkwLDB4MWIsMHgyNCwweDAwLDB4ZTksMHgwMCB9fSwKLSB7MTYsIDB4ZWQzMCwgMCwgezB4M2UsMHg0MCwweDBjLDB4MTAsMHgwMywweGE0LDB4MDAsMHhmOSwweDAwLDB4MzIsMHg0MCwweDBmLDB4MTAsMHgzMywweDI0LDB4MTAgfX0sCi0gezE2LCAweGVkNDAsIDAsIHsweGYxLDB4MDAsMHgzMiwweDQwLDB4MGMsMHg5MCwweDAzLDB4MDIsMHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZDUwLCAwLCB7MHg4MCwweDA0LDB4NjQsMHgwMCwweGI5LDB4NDAsMHhhMiwweDQxLDB4MDgsMHg5MCwweDAyLDB4MjQsMHg4MCwweGU5LDB4MDAsMHgyMiB9fSwKLSB7MTYsIDB4ZWQ2MCwgMCwgezB4NDAsMHgwYiwweDkwLDB4MTIsMHgyNCwweDAwLDB4ODksMHgwMCwweDZlLDB4NDEsMHgxOCwweDkwLDB4NDIsMHgyNCwweDAwLDB4YjkgfX0sCi0gezE2LCAweGVkNzAsIDAsIHsweDA0LDB4MmEsMHg0MSwweDBiLDB4OTAsMHgwMywweDY0LDB4MDAsMHhmOSwweDAwLDB4MmEsMHg0MCwweDBhLDB4OTAsMHgwYSwweDIwIH19LAotIHsxNiwgMHhlZDgwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwMSwweDI0LDB4ODAsMHhiOSwweDQyLDB4NjIsMHg0OCB9fSwKLSB7MTYsIDB4ZWQ5MCwgMCwgezB4MjgsMHg5MCwweDBhLDB4MjQsMHgwMCwweGIxLDB4MDAsMHgyMiwweDQwLDB4MGIsMHgxMCwweDAyLDB4MjQsMHgxMCwweGI5LDB4MDIgfX0sCi0gezE2LCAweGVkYTAsIDAsIHsweDJlLDB4NDAsMHgwOCwweGQwLDB4MDIsMHhhNCwweDAwLDB4YjEsMHgwMCwweDIyLDB4NDAsMHgwYiwweDkwLDB4MDIsMHgyNCwweDA0IH19LAotIHsxNiwgMHhlZGIwLCAwLCB7MHhiOSwweDAwLDB4MjIsMHg0MCwweDA4LDB4MTAsMHgwMiwweDA2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWRjMCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDAsMHhiMSwweDIwLDB4NjAsMHg0MCwweDA4LDB4MTIsMHgwMiwweDA0LDB4MDAsMHhhMSwweDIwLDB4MjAgfX0sCi0gezE2LCAweGVkZDAsIDAsIHsweDQwLDB4MGIsMHgxMiwweDAyLDB4MDQsMHg4MCwweDkxLDB4MjAsMHgyZCwweDY4LDB4MDgsMHg1MiwweDEyLDB4MDQsMHgwMCwweGIxIH19LAotIHsxNiwgMHhlZGUwLCAwLCB7MHgyOCwweDI4LDB4NGEsMHgwOSwweDEyLDB4ODIsMHg0NCwweGEwLDB4YjEsMHgyYywweDI4LDB4NGEsMHgwYSwweDEyLDB4ODIsMHgwMiB9fSwKLSB7MTYsIDB4ZWRmMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDAwLDB4ZjgsMHgwMCwweDMyLDB4MTQgfX0sCi0gezE2LCAweGVlMDAsIDAsIHsweDBjLDB4ODAsMHgwMywweDIwLDB4MDAsMHhmOCwweDUwLDB4MzIsMHgxNCwweDBmLDB4ODUsMHgwMywweDAxLDB4NDAsMHhmOCwweDAwIH19LAotIHsxNiwgMHhlZTEwLCAwLCB7MHgyZSwweDAwLDB4MjgsMHhjMCwweDAzLDB4YTAsMHgwMCwweGY4LDB4MjQsMHgzMCwweDA4LDB4MGYsMHg4MiwweDIzLDB4MjAsMHg4MCB9fSwKLSB7MTYsIDB4ZWUyMCwgMCwgezB4ZjgsMHgyMCwweDMyLDB4MDgsMHgwYywweDgyLDB4MDMsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVlMzAsIDAsIHsweDk4LDB4MWQsMHhlNCwweDA4LDB4ZjksMHgxMCwweDNmLDB4NDAsMHg4ZiwweDkxLDB4MTMsMHhlNCwweDAwLDB4ZWQsMHgxMCwweDNmIH19LAotIHsxNiwgMHhlZTQwLCAwLCB7MHg1MCwweDBmLDB4OTEsMHgwMywweGU0LDB4NDAsMHhhNSwweDEwLDB4M2UsMHg0NCwweDBmLDB4OTEsMHgwMywweGY0LDB4MDQsMHhmOSB9fSwKLSB7MTYsIDB4ZWU1MCwgMCwgezB4MjgsMHgzZSwweDRiLDB4MGIsMHg5MiwweGEzLDB4ZTQsMHhhMCwweGU5LDB4MjgsMHgzZSwweDRhLDB4MGYsMHg5MiwweDgzLDB4ZTYgfX0sCi0gezE2LCAweGVlNjAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZjQsMHgwMCwweGNkLDB4MDAsMHgzMywweDQwIH19LAotIHsxNiwgMHhlZTcwLCAwLCB7MHg4MCwweGQwLDB4MDEsMHhmNCwweDAwLDB4YTUsMHgwMCwweDI2LDB4NDAsMHgwZiwweDkwLDB4MDMsMHgyNiwweDAwLDB4ZjEsMHg4OCB9fSwKLSB7MTYsIDB4ZWU4MCwgMCwgezB4M2UsMHg2OCwweDBkLDB4OTgsMHg4MywweDQ0LDB4MDAsMHhjOSwweGMwLDB4M2EsMHg0MCwweDBjLDB4OTgsMHgwMywweDI0LDB4MDggfX0sCi0gezE2LCAweGVlOTAsIDAsIHsweGY5LDB4YTAsMHgzMiwweDc4LDB4MGYsMHg5YSwweDAzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZWEwLCAwLCB7MHgzOCwweDEwLDB4ZTAsMHgwMiwweDg4LDB4MDAsMHhhMiwweDAwLDB4MDgsMHg4MCwweDAyLDB4ZTAsMHgwMCwweDBhLDB4MDAsMHgyMiB9fSwKLSB7MTYsIDB4ZWViMCwgMCwgezB4MDAsMHgwYiwweDgwLDB4MDIsMHgyMCwweDAwLDB4YjgsMHg0MCwweDJlLDB4MTQsMHgwOCwweDgwLDB4NDMsMHgzMCwweDAwLDB4ODggfX0sCi0gezE2LCAweGVlYzAsIDAsIHsweGEwLDB4MjIsMHgyYSwweDBhLDB4OGEsMHg0MiwweGEwLDB4MDUsMHhiOCwweDQyLDB4MzIsMHgzOCwweDBiLDB4ODAsMHgwMiwweDBlIH19LAotIHsxNiwgMHhlZWQwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4MDMsMHg5MSwweDAwLDB4MjQsMHg0MCB9fSwKLSB7MTYsIDB4ZWVlMCwgMCwgezB4MGIsMHgxMCwweDAyLDB4YzQsMHgxMSwweGIxLDB4MDQsMHgyMCwweDQxLDB4MWIsMHgxMCwweDIyLDB4NDUsMHgwMCwweGI1LDB4MDAgfX0sCi0gezE2LCAweGVlZjAsIDAsIHsweDI1LDB4NDAsMHgwOSwweDUwLDB4MDIsMHg1NCwweDAxLDB4ODEsMHg0MCwweDJjLDB4NDAsMHgwOSwweDE0LDB4OTIsMHg0NCwweDAwIH19LAotIHsxNiwgMHhlZjAwLCAwLCB7MHhiMSwweDQwLDB4MjQsMHg0YywweDBiLDB4MTQsMHgwYSwweDQyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWYxMCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MDAsMHg5OSwweDAwLDB4MjQsMHg0MiwweDBiLDB4OTAsMHgwMiwweGU0LDB4MDEsMHg5OSwweDIwLDB4MjYgfX0sCi0gezE2LCAweGVmMjAsIDAsIHsweDQwLDB4Y2IsMHg5MCwweDAyLDB4NjQsMHgwMCwweGJiLDB4MDAsMHgyZiwweDQxLDB4MGEsMHhkMCwweDAyLDB4MzQsMHgwMCwweDg5IH19LAotIHsxNiwgMHhlZjMwLCAwLCB7MHgwMCwweDI2LDB4NDAsMHgwYiwweDEwLDB4MDIsMHhlNCwweDAwLDB4MzEsMHgwMCwweDYyLDB4NDAsMHgwYiwweDkwLDB4MDIsMHg0NiB9fSwKLSB7MTYsIDB4ZWY0MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhjNCwweDAwLDB4ZDksMHgwMSwweDM2LDB4NTAgfX0sCi0gezE2LCAweGVmNTAsIDAsIHsweDJmLDB4OTAsMHgwMywweGU2LDB4NjAsMHhmOSwweDgwLDB4MzYsMHg1MiwweDBiLDB4OTAsMHgwYSwweDY0LDB4MDAsMHhmOSwweDAwIH19LAotIHsxNiwgMHhlZjYwLCAwLCB7MHgzNiwweDQwLDB4MGQsMHg5MCwweDAzLDB4NjQsMHgwMiwweDA5LDB4MDAsMHgzZSwweDQwLDB4MGQsMHg5MCwweDAzLDB4NjQsMHgwMCB9fSwKLSB7MTYsIDB4ZWY3MCwgMCwgezB4YjksMHgwMCwweGI2LDB4NDAsMHgwZiwweDkwLDB4MDMsMHg2OCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVmODAsIDAsIHsweDI4LDB4MDEsMHhhNCwweDAwLDB4ZTEsMHgwMCwweDNhLDB4NDEsMHgwYywweDkwLDB4MjMsMHhlNiwweDIwLDB4ZTksMHgwMCwweGJhIH19LAotIHsxNiwgMHhlZjkwLCAwLCB7MHg3MCwweDBmLDB4OTAsMHgwMywweGE0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0MCwweDBkLDB4MTAsMHgxMywweGE3LDB4MDAsMHhmOSB9fSwKLSB7MTYsIDB4ZWZhMCwgMCwgezB4MDAsMHgzYSwweDQwLDB4MGUsMHg5MCwweDQzLDB4YTQsMHgwOCwweGY5LDB4MDAsMHgzYSwweDQwLDB4MGYsMHg5MCwweDAzLDB4OGEgfX0sCi0gezE2LCAweGVmYjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgyMCwweGY4LDB4MDAsMHgzMiwweDAwIH19LAotIHsxNiwgMHhlZmMwLCAwLCB7MHgwZiwweDgwLDB4ODMsMHgyMSwweDAwLDB4ZjAsMHgwMCwweDNhLDB4MTEsMHgwOSwweDgwLDB4MDMsMHhlMCwweDAwLDB4YzgsMHgwMSB9fSwKLSB7MTYsIDB4ZWZkMCwgMCwgezB4MzAsMHgwMSwweDBjLDB4ODAsMHgwMywweGIwLDB4MDAsMHhkMCwweDAwLDB4MzQsMHgwMCwweDBkLDB4ODAsMHgwMywweDIwLDB4MDAgfX0sCi0gezE2LCAweGVmZTAsIDAsIHsweGM4LDB4MDAsMHgzMiwweDAwLDB4MGMsMHg4MCwweDAzLDB4MGEsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZmYwLCAwLCB7MHgyOCwweDA1LDB4MzgsMHgwMCwweGJlLDB4MDAsMHgyMiwweDgwLDB4MDMsMHhlOCwweDAyLDB4MWEsMHgwOCwweGJlLDB4NDgsMHgyMiB9fSwKLSB7MTYsIDB4ZjAwMCwgMCwgezB4ODAsMHgwYSwweGEwLDB4MDMsMHhiOCwweDAwLDB4Y2EsMHgwOCwweDIyLDB4ODAsMHgwZiwweGE0LDB4MDIsMHgwOCwweDAwLDB4OGEgfX0sCi0gezE2LCAweGYwMTAsIDAsIHsweDAwLDB4MjIsMHg4MCwweDhkLDB4YTAsMHgwMiwweDI4LDB4MDAsMHhkYSwweDAwLDB4MmEsMHg4MSwweDA4LDB4YTAsMHgwMiwweDhhIH19LAotIHsxNiwgMHhmMDIwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDQ0LDB4MDAsMHhiMywweDAwLDB4MjAsMHg0MCB9fSwKLSB7MTYsIDB4ZjAzMCwgMCwgezB4MGIsMHgzMCwweDAyLDB4MDgsMHgwMCwweGIwLDB4NjQsMHg2OCwweGMxLDB4MDgsMHhiMCwweDIyLDB4Y2MsMHgwYywweDkzLDB4ODAgfX0sCi0gezE2LCAweGYwNDAsIDAsIHsweDAwLDB4YzAsMHg0OCwweDM2LDB4MDIsMHg4OCwweDAwLDB4YjMsMHgwMCwweDI0LDB4YzAsMHgwOCwweDMwLDB4MDYsMHgwYywweDAxIH19LAotIHsxNiwgMHhmMDUwLCAwLCB7MHhhMywweDAyLDB4MmMsMHhjMCwweDA4LDB4YjAsMHgwMiwweDBhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjA2MCwgMCwgezB4YTAsMHgwMSwweDE0LDB4MDgsMHhiNSwweDAwLDB4MjEsMHg0MCwweDBiLDB4MzgsMHg4MiwweDFjLDB4MjEsMHhiNywweDAwLDB4MjMgfX0sCi0gezE2LCAweGYwNzAsIDAsIHsweGU4LDB4NGEsMHg3MiwweDI2LDB4OWUsMHg0MCwweDhmLDB4ODEsMHhhYiwweDQwLDB4NDIsMHg3MCwweDUyLDB4MzgsMHgwMCwweGEzIH19LAotIHsxNiwgMHhmMDgwLCAwLCB7MHgyMiwweDIwLDB4YzQsMHg0OSwweDMxLDB4MDIsMHgxZSwweDBhLDB4YjcsMHgyMiwweDJkLDB4ZTgsMHgwOCwweDcyLDB4MDIsMHhhOCB9fSwKLSB7MTYsIDB4ZjA5MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxMiwweDAwLDB4ZjYsMHg4MCwweDIxLDB4ZTAgfX0sCi0gezE2LCAweGYwYTAsIDAsIHsweDBiLDB4NzgsMHgwYiwweDFlLDB4MDAsMHhiNCwweDgyLDB4M2IsMHhlOCwweDRjLDB4N2MsMHgxMywweGZlLDB4MDIsMHg5NywweDgwIH19LAotIHsxNiwgMHhmMGIwLCAwLCB7MHgzMywweGEwLDB4MDgsMHgzOCwweDAzLDB4OWEsMHgwMCwweGY3LDB4ODgsMHgzNSwweGUyLDB4MGMsMHg3OCwweGUzLDB4MGUsMHgwMCB9fSwKLSB7MTYsIDB4ZjBjMCwgMCwgezB4ZTMsMHhlOCwweDM0LDB4ZjgsMHgwYywweDNjLDB4MjMsMHgyYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYwZDAsIDAsIHsweDA4LDB4MWQsMHhhOCwweDA0LDB4ZjEsMHgwMCwweDNlLDB4NDIsMHgwZiwweGIwLDB4MTMsMHhlYywweDAwLDB4ZmIsMHgwMCwweGJlIH19LAotIHsxNiwgMHhmMGUwLCAwLCB7MHhjYywweDFlLDB4YjYsMHgwNywweGVkLDB4ODAsMHhmYiwweDAwLDB4MzYsMHgwMCwweDBmLDB4YjAsMHg0MywweDY4LDB4MDAsMHhjYiB9fSwKLSB7MTYsIDB4ZjBmMCwgMCwgezB4MzAsMHgzZSwweGQ4LDB4MGYsMHhiNiwweDBiLDB4ZWQsMHg0MCwweGNiLDB4MDAsMHgzYSwweGMwLDB4MmYsMHhiNiwweDAzLDB4YzIgfX0sCi0gezE2LCAweGYxMDAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZjIsMHg0MCwweGZiLDB4OTEsMHgzZCwweDRjIH19LAotIHsxNiwgMHhmMTEwLCAwLCB7MHg4MCwweGY4LDB4MDMsMHhkZSwweDQwLDB4YzYsMHg4MCwweDFiLDB4ZjAsMHg0ZiwweGZkLDB4MDcsMHhmZiwweDAwLDB4Y2QsMHg4MCB9fSwKLSB7MTYsIDB4ZjEyMCwgMCwgezB4MzMsMHhlMCwweDBjLDB4NjgsMHgwMywweGJhLDB4MDAsMHhmZiwweDgwLDB4MzMsMHhlMCwweDA3LDB4ZjgsMHgwMywweDNmLDB4MTAgfX0sCi0gezE2LCAweGYxMzAsIDAsIHsweGNmLDB4ODAsMHgzZiwweGUwLDB4MGMsMHhmYywweDAzLDB4MDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMTQwLCAwLCB7MHhhOCwweDExLDB4OTAsMHgwMCwweGI1LDB4YzAsMHgyZCwweDQwLDB4MDgsMHg2MiwweDAyLDB4ZGMsMHgyMCwweGQ2LDB4MDIsMHgyMSB9fSwKLSB7MTYsIDB4ZjE1MCwgMCwgezB4YzgsMHg4ZiwweDcwLDB4MDIsMHhkYywweDgxLDB4YjUsMHgwMCwweDgxLDB4NDQsMHgwZCwweDYxLDB4MjIsMHgxOCwweDA0LDB4YjcgfX0sCi0gezE2LCAweGYxNjAsIDAsIHsweDAwLDB4MzUsMHhjMCwweDBiLDB4NzAsMHgwMiwweGJjLDB4MDAsMHhhNywweDAxLDB4MmQsMHhjMCwweDA4LDB4NzAsMHgwMywweGVhIH19LAotIHsxNiwgMHhmMTcwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDkwLDB4MDEsMHhiNiwweDAxLDB4MmYsMHhjMCB9fSwKLSB7MTYsIDB4ZjE4MCwgMCwgezB4MTgsMHg3MCwweDAyLDB4ZGMsMHgwYSwweDk2LDB4MTAsMHgyOSwweGMxLDB4NGIsMHg3MCwweDA2LDB4ZGMsMHgxMCwweDg1LDB4MDAgfX0sCi0gezE2LCAweGYxOTAsIDAsIHsweDI1LDB4ODAsMHgwOCwweDYwLDB4ODIsMHgxYSwweDIwLDB4YTMsMHgwMCwweDI1LDB4YzAsMHgwYiwweDMxLDB4MDIsMHg1YywweDQwIH19LAotIHsxNiwgMHhmMWEwLCAwLCB7MHg4NywweDAwLDB4MmQsMHhjMCwweDA4LDB4NzAsMHgwMiwweDAwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjFiMCwgMCwgezB4MjAsMHgxNCwweGM4LDB4MDAsMHhiMSwweDAwLDB4MmMsMHg0MCwweDg4LDB4MjAsMHgwMiwweGVkLDB4MDAsMHg4YSwweDYwLDB4MjAgfX0sCi0gezE2LCAweGYxYzAsIDAsIHsweGMwLDB4MGEsMHgzMCwweDAyLDB4Y2MsMHgwNCwweGIxLDB4MDAsMHgyNCwweDAwLDB4MjgsMHgyNCwweDAyLDB4MGEsMHgwMCwweDMzIH19LAotIHsxNiwgMHhmMWQwLCAwLCB7MHgwMCwweDI0LDB4YzAsMHgwYiwweGIwLDB4MDIsMHhjYywweDAwLDB4YTMsMHgwMCwweDJjLDB4YzAsMHg4OCwweDMwLDB4MDIsMHg4OCB9fSwKLSB7MTYsIDB4ZjFlMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhhMCwweDAwLDB4ZmIsMHgwMCwweDNlLDB4YzYgfX0sCi0gezE2LCAweGYxZjAsIDAsIHsweDBjLDB4ODAsMHgwMywweGU1LDB4MDAsMHgwOSwweGM4LDB4YWIsMHhlMiwweDBiLDB4ZjAsMHgwMiwweGZjLDB4MDAsMHg0YSwweDAwIH19LAotIHsxNiwgMHhmMjAwLCAwLCB7MHgzNiwweGMwLDB4MDgsMHg5MCwweDAzLDB4YTYsMHgwMCwweGZmLDB4MDAsMHgzMywweGMwLDB4MGYsMHhmMCwweDAzLDB4N2MsMHgwMCB9fSwKLSB7MTYsIDB4ZjIxMCwgMCwgezB4OGYsMHgwMCwweDJmLDB4YzAsMHgyOCwweGYwLDB4MDIsMHgyYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYyMjAsIDAsIHsweDgwLDB4MDAsMHhlMSwweDAwLDB4ZmEsMHgwMSwweDNlLDB4YzAsMHgwZiwweDgwLDB4MDMsMHhlYywweDAwLDB4ZjksMHg0MCwweDNlIH19LAotIHsxNiwgMHhmMjMwLCAwLCB7MHhjMCwweDA3LDB4YjAsMHgwMywweGVjLDB4MDAsMHhmYSwweDAwLDB4M2EsMHg0MCwweDBmLDB4OTAsMHgyMywweGU1LDB4MDAsMHhmYiB9fSwKLSB7MTYsIDB4ZjI0MCwgMCwgezB4MDAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4YWMsMHgwMCwweGZiLDB4MDAsMHgzYywweGMwLDB4MGYsMHhiMCwweDIzLDB4ZTAgfX0sCi0gezE2LCAweGYyNTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZjAsMHgwMCwweGZjLDB4MjAsMHgzZiwweGMwIH19LAotIHsxNiwgMHhmMjYwLCAwLCB7MHgwYywweGM4LDB4MDMsMHhmYywweDIwLDB4Y2QsMHg4MSwweGIzLDB4YzIsMHg0ZiwweGYwLDB4MDMsMHhmYywweDAwLDB4Y2EsMHgwMCB9fSwKLSB7MTYsIDB4ZjI3MCwgMCwgezB4M2MsMHg4MCwweDBjLDB4ZDAsMHg4MiwweDM2LDB4MDEsMHhmZiwweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweDNjLDB4MDggfX0sCi0gezE2LCAweGYyODAsIDAsIHsweGNmLDB4MDQsMHgzYSwweGMwLDB4NWMsMHhiMCwweDAzLDB4YzAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMjkwLCAwLCB7MHg4MSwweDA0LDB4NjIsMHgwNCwweGI4LDB4NDAsMHgyYywweDYwLDB4MDgsMHg4OSwweDAyLDB4ZWUsMHg4MCwweGE5LDB4NjAsMHgyYSB9fSwKLSB7MTYsIDB4ZjJhMCwgMCwgezB4YzAsMHgwYiwweGIwLDB4MDMsMHg4YywweDAwLDB4YWEsMHg0MCwweDJlLDB4MDAsMHgwOCwweDEwLDB4MDIsMHgyNiwweDgxLDB4ZWIgfX0sCi0gezE2LCAweGYyYjAsIDAsIHsweDAwLDB4MjYsMHhjMCwweDhiLDB4YjAsMHgxMywweDZjLDB4MDAsMHhkYiwweDAwLDB4MmUsMHhjMCwweDNkLDB4YjAsMHgwMiwweGUwIH19LAotIHsxNiwgMHhmMmMwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDIzLDB4MDAsMHhiYiwweDAzLDB4MmUsMHhjOCB9fSwKLSB7MTYsIDB4ZjJkMCwgMCwgezB4MDksMHhiMCwweDAyLDB4ZWUsMHgwMCwweDhiLDB4MTAsMHgyNiwweGMwLDB4MGIsMHhiMCwweDAyLDB4ZWMsMHgwMCwweGE4LDB4MDAgfX0sCi0gezE2LCAweGYyZTAsIDAsIHsweDJlLDB4YzAsMHgwOCwweDg4LDB4MjIsMHhhNCwweDgwLDB4YmIsMHgwMCwweDJlLDB4YzAsMHg0YiwweGIwLDB4MjIsMHgwYywweDAwIH19LAotIHsxNiwgMHhmMmYwLCAwLCB7MHg4YiwweDAwLDB4MmUsMHhjMCwweDBiLDB4YjAsMHgwMiwweGUwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjMwMCwgMCwgezB4MDgsMHgwNCwweDAwLDB4MDAsMHhiMiwweDAwLDB4MmUsMHhjMCwweDI5LDB4MjgsMHgwMiwweGVjLDB4MDEsMHhhMCwweDAyLDB4MjAgfX0sCi0gezE2LCAweGYzMTAsIDAsIHsweGMwLDB4MDksMHgzMCwweDAyLDB4Y2MsMHgwMCwweGEwLDB4MDAsMHgyYywweDQwLDB4MDgsMHgwMCwweDQyLDB4ODQsMHgwMCwweDkzIH19LAotIHsxNiwgMHhmMzIwLCAwLCB7MHgwMCwweDZjLDB4YzAsMHgwYiwweDMwLDB4MDYsMHg0ZCwweDAwLDB4OTMsMHgwMCwweDJjLDB4YzAsMHgwOCwweDMwLDB4MDIsMHhjMiB9fSwKLSB7MTYsIDB4ZjMzMCwgMCwgezB4MTEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2MCwweDAwLDB4ZjgsMHgyMCwweDJmLDB4YzAgfX0sCi0gezE2LCAweGYzNDAsIDAsIHsweDBkLDB4YjAsMHgwMywweGVjLDB4MDAsMHhjYiwweDAwLDB4MzMsMHhjMCwweDBiLDB4ZjAsMHgwMywweGZjLDB4MTgsMHhlOCwweDAwIH19LAotIHsxNiwgMHhmMzUwLCAwLCB7MHgyZSwweDgwLDB4MDgsMHg4MCwweDAzLDB4YTQsMHgwMCwweGJmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDQzLDB4M2QsMHgxMSB9fSwKLSB7MTYsIDB4ZjM2MCwgMCwgezB4Y2YsMHgwMywweDNlLDB4YzEsMHg1ZCwweGYwLDB4MjMsMHhjMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYzNzAsIDAsIHsweGEwLDB4MWQsMHhmMCwweDAwLDB4ZmMsMHgxMCwweDNmLDB4NDAsMHgwZSwweGUwLDB4MDMsMHhmYywweDAwLDB4ZmMsMHgwMCwweDNmIH19LAotIHsxNiwgMHhmMzgwLCAwLCB7MHhjMCwweDBmLDB4ZjAsMHgwMywweGJjLDB4MDAsMHhmYywweDAwLDB4M2YsMHgwMCwweDJmLDB4YzAsMHgwMywweDc0LDB4MDAsMHhlZiB9fSwKLSB7MTYsIDB4ZjM5MCwgMCwgezB4MDAsMHgyNywweGMwLDB4MGYsMHhmMCwweDAzLDB4ZmMsMHgxOCwweGZmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZTggfX0sCi0gezE2LCAweGYzYTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDE1LDB4ZmMsMHg4OCwweDljLDB4MjksMHgzZiwweDA4IH19LAotIHsxNiwgMHhmM2IwLCAwLCB7MHgwZiwweGQyLDB4ODMsMHhlYywweDAwLDB4ZmYsMHgwOCwweDNmLDB4MjgsMHgwZiwweGNhLDB4MDMsMHgzYywweDQxLDB4Y2YsMHgyMCB9fSwKLSB7MTYsIDB4ZjNjMCwgMCwgezB4NzMsMHgyYywweDBjLDB4YzAsMHgwMywweDMwLDB4MjAsMHhjZiwweDYwLDB4MzMsMHhkOCwweDBmLDB4NzgsMHgwMywweDNmLDB4ODAgfX0sCi0gezE2LCAweGYzZDAsIDAsIHsweGRkLDB4OTIsMHgzMywweGM4LDB4MGYsMHg1MCwweDAzLDB4MzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmM2UwLCAwLCB7MHg4MCwweDEwLDB4ZTUsMHg0MCwweDg4LDB4NDAsMHgyZSwweDA0LDB4OGIsMHg5NCwweDAyLDB4ZTQsMHgwMCwweGI5LDB4MDAsMHgwZSB9fSwKLSB7MTYsIDB4ZjNmMCwgMCwgezB4N2YsMHg4ZiwweDllLDB4ODMsMHg2NSwweDgyLDB4Y2YsMHg2OCwweDNlLDB4NTAsMHg4ZCwweDA0LDB4OTIsMHgyZiwweDA0LDB4ZDMgfX0sCi0gezE2LCAweGY0MDAsIDAsIHsweDQwLDB4NzQsMHhkYywweDBkLDB4YTIsMHgwMiwweDIwLDB4NDAsMHg4OSwweDAwLDB4MjIsMHhmMCwweDBiLDB4OTgsMHgwMiwweDIwIH19LAotIHsxNiwgMHhmNDEwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGM4LDB4MDksMHhhMCwweDg1LDB4MmMsMHgwMSB9fSwKLSB7MTYsIDB4ZjQyMCwgMCwgezB4MGIsMHgwMCwweDEwLDB4Y2MsMHg0MCwweGEyLDB4MDgsMHgyYywweDAwLDB4ZGIsMHgxMSwweDAyLDB4ODksMHgwMCwweDkzLDB4MzAgfX0sCi0gezE2LCAweGY0MzAsIDAsIHsweDIwLDB4MDUsMHgwOCwweDEzLDB4MDIsMHg4MCwweDA4LDB4YTMsMHg2MCwweDYwLDB4YzAsMHgwYSwweGIwLDB4ODIsMHgwOCwweDg0IH19LAotIHsxNiwgMHhmNDQwLCAwLCB7MHg4MSwweDIwLDB4MjAsMHhkMCwweDBiLDB4MTAsMHgwMiwweGEyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjQ1MCwgMCwgezB4YzAsMHgxNSwweGE0LDB4MTIsMHg4OCwweDgwLDB4NmUsMHgyMCwweDBiLDB4ODgsMHg4MiwweGVlLDB4MDAsMHhiYSwweDgxLDB4MmUgfX0sCi0gezE2LCAweGY0NjAsIDAsIHsweDYwLDB4NWEsMHg5OCwweDAyLDB4YTIsMHgwMCwweDhiLDB4MDAsMHgyYSwweDYwLDB4MDgsMHgxMSwweDFhLDB4MmMsMHgwMCwweGJiIH19LAotIHsxNiwgMHhmNDcwLCAwLCB7MHgwMCwweDIyLDB4YzAsMHgwOCwweGI4LDB4MGEsMHgyOCwweDAwLDB4ODEsMHgyMCwweDAyLDB4YzAsMHgwYiwweDkwLDB4MDIsMHhiMCB9fSwKLSB7MTYsIDB4ZjQ4MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDUsMHhlZCwweDAwLDB4ZDksMHg4MCwweDNlLDB4MjAgfX0sCi0gezE2LCAweGY0OTAsIDAsIHsweDRmLDB4OTgsMHgwMCwweGViLDB4MjAsMHhmYiwweGUwLDB4MmUsMHg2MCwweDBiLDB4OGMsMHg2MiwweGFlLDB4MjAsMHg4YiwweDAwIH19LAotIHsxNiwgMHhmNGEwLCAwLCB7MHgyMiwweDYwLDB4MDgsMHhiYywweDAzLDB4YTAsMHgyMCwweGViLDB4MDAsMHgyMiwweGMxLDB4MGEsMHgxOCwweDBiLDB4MjUsMHgwMCB9fSwKLSB7MTYsIDB4ZjRiMCwgMCwgezB4ZDksMHgwMCwweGIyLDB4YzAsMHgwZiwweDkwLDB4MGIsMHg5MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY0YzAsIDAsIHsweGUwLDB4MDEsMHg5NCwweDg4LDB4ZmYsMHgwMCwweDNmLDB4MDEsMHgwZiwweGQwLDB4MDEsMHhmMCwweDA4LDB4ZGQsMHgwMSwweDNmIH19LAotIHsxNiwgMHhmNGQwLCAwLCB7MHg0MiwweDA3LDB4NDAsMHgwMywweDVjLDB4MDAsMHhhZiwweDAwLDB4M2YsMHg0MCwweDBmLDB4ZjgsMHgwMCwweGYwLDB4MDAsMHhkZiB9fSwKLSB7MTYsIDB4ZjRlMCwgMCwgezB4MDAsMHgzZiwweGMwLDB4MGYsMHhjMCwweDIzLDB4ZjQsMHg1MCwweGZkLDB4ODAsMHgzZiwweGMwLDB4MGYsMHhkMCwweDAzLDB4NzggfX0sCi0gezE2LCAweGY0ZjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAwLDB4YWMsMHgwMCwweGQ5LDB4MDAsMHgzZSwweDQwIH19LAotIHsxNiwgMHhmNTAwLCAwLCB7MHgwZiwweDk0LDB4MDMsMHhhOCwweDIwLDB4Y2EsMHg0MCwweDNhLDB4NDAsMHgwZiwweDk0LDB4MDMsMHhlYSwweDA4LDB4ZmIsMHgwMCB9fSwKLSB7MTYsIDB4ZjUxMCwgMCwgezB4M2EsMHgwMCwweDRjLDB4ZjYsMHgyMywweDJjLDB4MzAsMHhjYiwweDAwLDB4MzYsMHhjMCwweDBkLDB4OTAsMHgwMywweGExLDB4MDIgfX0sCi0gezE2LCAweGY1MjAsIDAsIHsweGQ5LDB4MDAsMHhiYSwweGMwLDB4MGYsMHg5OCwweDAzLDB4MTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNTMwLCAwLCB7MHhjOCwweDA1LDB4MjQsMHgwMCwweDhhLDB4MDAsMHgyZSwweDQwLDB4MGIsMHg5NSwweDAyLDB4ZTAsMHgwOCwweDg4LDB4ODAsMHgyMiB9fSwKLSB7MTYsIDB4ZjU0MCwgMCwgezB4NzAsMHg4ZiwweDhjLDB4MDIsMHhlMCwweDAwLDB4YmYsMHgwMiwweDIwLDB4MDAsMHgwOCwweGI4LDB4MDIsMHgwZSwweDAwLDB4ZGYgfX0sCi0gezE2LCAweGY1NTAsIDAsIHsweDAwLDB4MjMsMHhkZCwweDA4LDB4OTgsMHg4MiwweDJhLDB4MDAsMHg4OSwweDgwLDB4MjMsMHhjMCwweDBiLDB4NTAsMHgxYSwweDMyIH19LAotIHsxNiwgMHhmNTYwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDQ0LDB4MDAsMHg4MywweDA1LDB4MjQsMHg0MSB9fSwKLSB7MTYsIDB4ZjU3MCwgMCwgezB4MDksMHgxMCwweDAyLDB4Y2UsMHgwMCwweDgzLDB4OTAsMHgyYywweDgwLDB4MWIsMHgyNCwweDgyLDB4Y2MsMHgwMCwweGJiLDB4MDAgfX0sCi0gezE2LCAweGY1ODAsIDAsIHsweDJjLDB4ODAsMHgwOCwweDA0LDB4MDgsMHgwNCwweDAxLDB4OGIsMHgwMCwweDIyLDB4YzAsMHgyOCwweDEyLDB4MDIsMHg2YywweDgwIH19LAotIHsxNiwgMHhmNTkwLCAwLCB7MHg4MSwweDQ4LDB4MjQsMHhjNCwweDBiLDB4MTAsMHgwMiwweDM4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjVhMCwgMCwgezB4MjAsMHgwMSwweDNlLDB4NDIsMHg4NiwweDgwLDB4MmQsMHg2MCwweDBiLDB4NjgsMHgwMiwweGY2LDB4OTAsMHg4ZCwweDgwLDB4MjEgfX0sCi0gezE2LCAweGY1YjAsIDAsIHsweDIyLDB4MGIsMHg1OCwweDAyLDB4ZDcsMHg0MCwweGI3LDB4OTAsMHgyMSwweGUwLDB4MDgsMHg0OSwweDkyLDB4MWUsMHg1MywweDk3IH19LAotIHsxNiwgMHhmNWMwLCAwLCB7MHg4MSwweDIxLDB4ZTAsMHg0OCwweGM4LDB4MGEsMHg1MiwweDIyLDB4ODUsMHg4OCwweDI1LDB4ZTAsMHgwYiwweDU4LDB4MDIsMHgwOCB9fSwKLSB7MTYsIDB4ZjVkMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDAwLDB4ODMsMHgwMCwweDM0LDB4YzAgfX0sCi0gezE2LCAweGY1ZTAsIDAsIHsweDBmLDB4MDAsMHgwMywweGNlLDB4MjAsMHhjMywweDMwLDB4N2MsMHg5NCwweDBiLDB4MzQsMHg4MywweGNjLDB4MTQsMHhmMywweDAyIH19LAotIHsxNiwgMHhmNWYwLCAwLCB7MHgzYywweDgwLDB4MGMsMHgwNCwweDAzLDB4MDQsMHg2MCwweGMzLDB4MDAsMHhiMCwweGMwLDB4MGMsMHgxMCwweDAzLDB4ZWMsMHgwMCB9fSwKLSB7MTYsIDB4ZjYwMCwgMCwgezB4YzksMHgwMCwweDNjLDB4YzQsMHgwZiwweDExLDB4MDMsMHgxMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY2MTAsIDAsIHsweDQwLDB4MWQsMHg5YywweDAwLDB4ZWUsMHgwMSwweDNmLDB4YzAsMHg0ZiwweGUxLDB4MDMsMHhkNCwweDQwLDB4ZjUsMHgxNiwweDdhIH19LAotIHsxNiwgMHhmNjIwLCAwLCB7MHhjMCwweDRlLDB4ZjAsMHgwMywweGY0LDB4MTAsMHgzNywweDA1LDB4M2QsMHhjMCwweDBmLDB4YzAsMHgwYiwweGRjLDB4NDAsMHhmZiB9fSwKLSB7MTYsIDB4ZjYzMCwgMCwgezB4MDAsMHgzYiwweGMyLDB4MGUsMHhkMCwweDA3LDB4YmMsMHgwMiwweGVmLDB4MDAsMHgzYiwweGM2LDB4MGYsMHhkMCwweDAzLDB4ZDAgfX0sCi0gezE2LCAweGY2NDAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZjQsMHgwMCwweGRkLDB4ODQsMHgzMywweDgwIH19LAotIHsxNiwgMHhmNjUwLCAwLCB7MHgwNCwweGYwLDB4MDMsMHg2YywweDAyLDB4Y2IsMHgwMiwweDdlLDB4YzAsMHgxZiwweGEwLDB4NTMsMHhlYywweDAwLDB4Y2IsMHgyMCB9fSwKLSB7MTYsIDB4ZjY2MCwgMCwgezB4MzQsMHg0MCwweDBjLDB4ZDAsMHgwYiwweDIwLDB4MTAsMHhlYiwweDAwLDB4MWUsMHhlMCwweDBmLDB4MzAsMHgwYiwweDJjLDB4MDAgfX0sCi0gezE2LCAweGY2NzAsIDAsIHsweGMxLDB4MDAsMHgzMiwweGMwLDB4MGYsMHg5MSwweDAzLDB4ZWEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNjgwLCAwLCB7MHg0OCwweDExLDB4OWMsMHgwMCwweDg3LDB4MDAsMHgyMSwweDgwLDB4MDgsMHg2MCwweDAwLDB4MTQsMHgwMCwweDg1LDB4MDAsMHgyZCB9fSwKLSB7MTYsIDB4ZjY5MCwgMCwgezB4ODAsMHgwYiwweDcwLDB4NTIsMHhkNCwweDA0LDB4ODMsMHgyOCwweDI5LDB4YzAsMHgyOCwweDUwLDB4MDMsMHg1MCwweDAwLDB4ODcgfX0sCi0gezE2LCAweGY2YTAsIDAsIHsweDQwLDB4MjUsMHhjOCwweDBmLDB4NjAsMHgwMiwweDA0LDB4MDAsMHhhNywweDAwLDB4M2QsMHhjOCwweDBiLDB4NTIsMHgwMiwweGQyIH19LAotIHsxNiwgMHhmNmIwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDhlLDB4MDAsMHg5NSwweDgwLDB4MjEsMHhlMCB9fSwKLSB7MTYsIDB4ZjZjMCwgMCwgezB4MDksMHgzOCwweDAyLDB4MWUsMHgxMSwweGE3LDB4ODAsMHgyZCwweGYwLDB4MGIsMHg3OCwweDUyLDB4Y2UsMHgwYSwweDk3LDB4OTUgfX0sCi0gezE2LCAweGY2ZDAsIDAsIHsweDIxLDB4ZTAsMHgxOSwweDVjLDB4MDIsMHgwZSwweDAwLDB4YTcsMHg4MCwweDI5LDB4YzgsMHgwYiwweGY4LDB4MDIsMHgxZSwweDIwIH19LAotIHsxNiwgMHhmNmUwLCAwLCB7MHg4ZCwweDgwLDB4MjEsMHhlMCwweDBiLDB4NTgsMHgwMiwweGYwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjZmMCwgMCwgezB4NDgsMHgxNCwweGNjLDB4MDAsMHg4MiwweGUwLDB4YTAsMHhlOCwweDI5LDB4MzAsMHgwNiwweDBlLDB4NTAsMHhhYiwweDgwLDB4MmMgfX0sCi0gezE2LCAweGY3MDAsIDAsIHsweGYwLDB4MGIsMHgzMSwweDQyLDB4Y2MsMHgwMCwweDkzLDB4MDAsMHgyOCwweGM0LDB4MDksMHg5OCwweDAyLDB4NGMsMHgyOCwweDgzIH19LAotIHsxNiwgMHhmNzEwLCAwLCB7MHgwMCwweDI0LDB4YzAsMHgwYSwweGIwLDB4MDIsMHgwZCwweDAwLDB4YTIsMHg1OCwweDI4LDB4YzAsMHgwYiwweDEwLDB4MDIsMHhkMiB9fSwKLSB7MTYsIDB4ZjcyMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhiOSwweDAwLDB4ZGUsMHg4MCwweDMxLDB4YTAgfX0sCi0gezE2LCAweGY3MzAsIDAsIHsweDA5LDB4ZTIsMHgwYiwweDc4LDB4MDQsMHhlZSwweGE0LDB4MmYsMHhhNCwweDhiLDB4ZWMsMHgwMiwweGQ4LDB4MDAsMHhkYSwweDAwIH19LAotIHsxNiwgMHhmNzQwLCAwLCB7MHgyNywweDgxLDB4MGQsMHhlYywweDA2LDB4MWIsMHgwMCwweGVhLDB4MDQsMHgzZSwweDgwLDB4MGIsMHhlMCwweDAzLDB4M2IsMHgwMCB9fSwKLSB7MTYsIDB4Zjc1MCwgMCwgezB4Y2UsMHhjMCwweDIyLDB4ODAsMHgwZiwweGEwLDB4MDMsMHhmYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY3NjAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDgwLDB4ZjgsMHgxMCwweDNlLDB4MDUsMHgwZSwweDg4LDB4MDMsMHhlMCwweDA4LDB4OTgsMHg0MCwweDNlIH19LAotIHsxNiwgMHhmNzcwLCAwLCB7MHgwMCwweDBmLDB4ODQsMHg4MywweGUxLDB4NDAsMHhlOCwweDAwLDB4M2EsMHgwMiwweDBlLDB4ODAsMHg0MywweGUxLDB4NDAsMHhmOCB9fSwKLSB7MTYsIDB4Zjc4MCwgMCwgezB4MDAsMHgzNiwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZTAsMHgyMCwweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZDIgfX0sCi0gezE2LCAweGY3OTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4YzQsMHgwMCwweGU5LDB4MDAsMHgzZSwweDQwIH19LAotIHsxNiwgMHhmN2EwLCAwLCB7MHgwYywweDkwLDB4MDMsMHgwNCwweDIwLDB4ZTksMHg5MCwweDMyLDB4NjgsMHgwZSwweDk4LDB4MDMsMHhhNCwweDAwLDB4YzEsMHgwMCB9fSwKLSB7MTYsIDB4ZjdiMCwgMCwgezB4MzAsMHg0MCwweDBjLDB4OTQsMHg4MywweDI0LDB4MDgsMHhjOSwweDAwLDB4M2UsMHg0MCwweDBjLDB4OTAsMHgwMywweGE0LDB4MDAgfX0sCi0gezE2LCAweGY3YzAsIDAsIHsweGM5LDB4MDAsMHgzMCwweDUwLDB4MGMsMHgxYSwweDAzLDB4MDIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmN2QwLCAwLCB7MHg4MCwweDA0LDB4NjQsMHgwMCwweDg5LDB4NDAsMHgyZSwweDUwLDB4MjgsMHg5MCwweDBhLDB4MjQsMHgwOCwweDg5LDB4MDYsMHgxNiB9fSwKLSB7MTYsIDB4ZjdlMCwgMCwgezB4NjEsMHgwYiwweDljLDB4MDIsMHhlNCwweDIwLDB4YTksMHgwMCwweDM2LDB4NDAsMHgwZCwweDkwLDB4MDIsMHgyNywweDYwLDB4YTkgfX0sCi0gezE2LCAweGY3ZjAsIDAsIHsweDAwLDB4MmUsMHg0MCwweDI4LDB4OTAsMHgxYSwweDI0LDB4MDAsMHg4OSwweDAwLDB4MzYsMHg0MCwweDI4LDB4OTgsMHgwMiwweDIwIH19LAotIHsxNiwgMHhmODAwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDJjLDB4MDAsMHhhOSwweDA4LDB4MmUsMHhjMiB9fSwKLSB7MTYsIDB4ZjgxMCwgMCwgezB4MDksMHgxMCwweDAwLDB4MjQsMHgwMCwweGE5LDB4MDAsMHgwNiwweDQwLDB4ODksMHg5NiwweDA2LDB4ZTYsMHgwMCwweDg5LDB4MDAgfX0sCi0gezE2LCAweGY4MjAsIDAsIHsweDIyLDB4YzAsMHgwOCwweDkwLDB4MDIsMHgyNCwweDAyLDB4ODksMHgwMCwweDI0LDB4NDAsMHgwOCwweDkwLDB4MDIsMHgwYywweDA2IH19LAotIHsxNiwgMHhmODMwLCAwLCB7MHg4MywweDAwLDB4MjIsMHg0MCwweDA4LDB4OTAsMHgwMiwweDA2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Zjg0MCwgMCwgezB4MDgsMHgwNCwweDA1LDB4MDAsMHg4MSwweDQ0LDB4MmMsMHg1MCwweDA4LDB4MTQsMHgwMiwweDA1LDB4ODAsMHg4MSwweDIwLDB4NjQgfX0sCi0gezE2LCAweGY4NTAsIDAsIHsweDcwLDB4MWIsMHgxNCwweDAyLDB4ZTQsMHg4MCwweGExLDB4MjAsMHg2NCwweDQwLDB4MTksMHgxMiwweDBhLDB4MDQsMHg4MCwweGExIH19LAotIHsxNiwgMHhmODYwLCAwLCB7MHgwMCwweDJjLDB4NTAsMHgxOCwweDE0LDB4MDIsMHg4NSwweDAwLDB4ODEsMHg0MCwweDI0LDB4NDAsMHg0MCwweDEwLDB4MDIsMHgwMiB9fSwKLSB7MTYsIDB4Zjg3MCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDAwLDB4ZTAsMHgwMCwweDNjLDB4MDAgfX0sCi0gezE2LCAweGY4ODAsIDAsIHsweDBkLDB4ODAsMHgwMiwweDAwLDB4MDAsMHhhYSwweDUwLDB4MzYsMHgwMCwweDBmLDB4ODAsMHgwMywweGUxLDB4NDAsMHhjOCwweDUyIH19LAotIHsxNiwgMHhmODkwLCAwLCB7MHg3MiwweDE0LDB4MGMsMHgwNSwweDE2LDB4MjAsMHgwOCwweGM4LDB4NTAsMHgzZSwweDAxLDB4MGMsMHg4MCwweDAzLDB4YTAsMHgwNCB9fSwKLSB7MTYsIDB4ZjhhMCwgMCwgezB4YzgsMHgwMCwweGIyLDB4MDAsMHgwYywweDgwLDB4MGIsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY4YjAsIDAsIHsweDk4LDB4MTksMHhmNSwweDAyLDB4ZmQsMHg0MCwweDNmLDB4ZDAsMHgwZiwweGQ0LDB4MjMsMHhmNCwweDQ0LDB4ZmQsMHgxNCwweDdmIH19LAotIHsxNiwgMHhmOGMwLCAwLCB7MHg1MCwweDBmLDB4ZDQsMHgwNywweGY0LDB4NDAsMHhmOSwweDEwLDB4M2YsMHg1MCwweDA3LDB4ZDEsMHgyMywweGY0LDB4NDAsMHhmOSB9fSwKLSB7MTYsIDB4ZjhkMCwgMCwgezB4NDAsMHgxZSwweDUwLDB4MDcsMHhkMCwweDBiLDB4NzUsMHgwMCwweGZkLDB4MDIsMHgzZSwweDUwLDB4MGYsMHhkNCwweDAzLDB4ZTYgfX0sCi0gezE2LCAweGY4ZTAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZjYsMHgwMCwweGM5LDB4YTgsMHgzZSwweDcyIH19LAotIHsxNiwgMHhmOGYwLCAwLCB7MHgwZiwweDk4LDB4MDMsMHhlNiwweGMwLDB4ZmQsMHhhMCwweGIzLDB4NDAsMHgwZiwweGQwLDB4MDMsMHg3NywweDgwLDB4Y2QsMHg5MCB9fSwKLSB7MTYsIDB4ZjkwMCwgMCwgezB4N2YsMHg0MCwweDBmLDB4ZGEsMHhhMywweDE2LDB4OTAsMHhhOSwweGMwLDB4MzIsMHg2MCwweDRjLDB4YjEsMHgwMywweDI0LDB4MDAgfX0sCi0gezE2LCAweGY5MTAsIDAsIHsweGMxLDB4MDAsMHgzMywweDZhLDB4MGIsMHhkYSwweDAzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmOTIwLCAwLCB7MHgzOCwweDEwLDB4ZTMsMHg0MCwweDg4LDB4ZTAsMHgyZSwweDMwLDB4MGIsMHg4ZCwweDAyLDB4ZjMsMHg0MCwweGI4LDB4ZTgsMHg3NiB9fSwKLSB7MTYsIDB4ZjkzMCwgMCwgezB4MDAsMHg0ZiwweDgwLDB4MGEsMHgyMiwweDgwLDB4ODgsMHg5MCwweDZlLDB4MjgsMHg4ZiwweDhhLDB4MDMsMHg2MSwweDQ0LDB4ZjggfX0sCi0gezE2LCAweGY5NDAsIDAsIHsweGUxLDB4M2UsMHgyYSwweDA4LDB4ODgsMHgwMywweDQyLDB4YTAsMHhkYywweGEwLDB4M2UsMHgxMCwweDBiLDB4ODUsMHgwYSwweDBlIH19LAotIHsxNiwgMHhmOTUwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4YTAsMHg4NSwweDA4LDB4MmQsMHg0OCB9fSwKLSB7MTYsIDB4Zjk2MCwgMCwgezB4MWIsMHg1MiwweDgyLDB4ZDQsMHg4MCwweGIxLDB4MTQsMHgyMCwweDQwLDB4MGIsMHgxOCwweDAyLDB4MDUsMHg4MiwweDgxLDB4MDAgfX0sCi0gezE2LCAweGY5NzAsIDAsIHsweDZjLDB4NDIsMHgwYiwweDEyLDB4ODIsMHgwNCwweDAwLDB4YTEsMHg2MCwweDIxLDB4NTAsMHgwYiwweDUwLDB4MDIsMHgxNCwweDkwIH19LAotIHsxNiwgMHhmOTgwLCAwLCB7MHg5NSwweDJjLDB4MjgsMHg0MCwweDBiLDB4MTAsMHgwMiwweDAyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Zjk5MCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MDEsMHg4ZCwweDQ0LDB4MmYsMHg0MCwweDBiLDB4ZDQsMHgwMiwweGY0LDB4MDQsMHhiOSwweDA4LDB4MjIgfX0sCi0gezE2LCAweGY5YTAsIDAsIHsweDQwLDB4MGEsMHg5MiwweDAyLDB4MmMsMHg4NCwweDg5LDB4MDAsMHgyZSwweDQwLDB4MGEsMHgxNCwweDAyLDB4NmMsMHg4MCwweGE5IH19LAotIHsxNiwgMHhmOWIwLCAwLCB7MHgwMSwweDJhLDB4NDAsMHgwOSwweDUwLDB4MGEsMHg1YywweDAyLDB4OGQsMHg2MCwweDJhLDB4NDAsMHgwYiwweDkwLDB4NDIsMHgwNiB9fSwKLSB7MTYsIDB4ZjljMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNiwweDYyLDB4YzksMHgwMiwweDNlLDB4NTQgfX0sCi0gezE2LCAweGY5ZDAsIDAsIHsweDBmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDQwLDB4MjIsMHg0NiwweDBiLDB4OTgsMHgwMywweDY3LDB4MjAsMHhjOSwweDAxIH19LAotIHsxNiwgMHhmOWUwLCAwLCB7MHgyZSwweDY5LDB4MGIsMHg5NCwweDBiLDB4MjUsMHgyMCwweGE5LDB4MDAsMHgyMiwweDQwLDB4MmQsMHg5MiwweDBhLDB4MjYsMHgyMiB9fSwKLSB7MTYsIDB4ZjlmMCwgMCwgezB4OTksMHgwMCwweDJhLDB4NDAsMHg4ZiwweDkwLDB4MDMsMHgyOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZhMDAsIDAsIHsweDI4LDB4MDEsMHg4NiwweDAyLDB4ZjksMHgwMCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNiwweDgwLDB4ZjEsMHhhMCwweDNlIH19LAotIHsxNiwgMHhmYTEwLCAwLCB7MHg2MiwweDBmLDB4OTgsMHg4MywweGM2LDB4MjAsMHhmOSwweDAwLDB4M2UsMHg0OSwweDBmLDB4OTAsMHg4MywweGU0LDB4MDAsMHg3MSB9fSwKLSB7MTYsIDB4ZmEyMCwgMCwgezB4MDIsMHgzZSwweDQwLDB4MGUsMHg5MCwweDBiLDB4ZTYsMHg4MCwweGY5LDB4ODAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4Y2EgfX0sCi0gezE2LCAweGZhMzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgxMCwweGM4LDB4MDAsMHgzZSwweDAwIH19LAotIHsxNiwgMHhmYTQwLCAwLCB7MHg0ZiwweDgwLDB4NDMsMHhiMCwweDAwLDB4YzgsMHg0MSwweDMyLDB4MDAsMHgwZiwweDgwLDB4MDMsMHgyMSwweDAyLDB4YzgsMHgwMiB9fSwKLSB7MTYsIDB4ZmE1MCwgMCwgezB4M2UsMHgxMCwweDRjLDB4ODAsMHgwMywweDAxLDB4MjAsMHhjOCwweDAwLDB4M2IsMHgwMCwweDBjLDB4YzAsMHgwMywweGIwLDB4MDAgfX0sCi0gezE2LCAweGZhNjAsIDAsIHsweGNjLDB4MDQsMHgzMiwweDAwLDB4MGYsMHg4MCwweDAzLDB4MGEsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYTcwLCAwLCB7MHgyOCwweDA1LDB4MjgsMHgwMCwweDhhLDB4ODAsMHgyZSwweDgwLDB4MGIsMHhhMCwweDAyLDB4ZjgsMHgwNCwweDhlLDB4MDAsMHgyMyB9fSwKLSB7MTYsIDB4ZmE4MCwgMCwgezB4YjIsMHgwZSwweGUwLDB4ODIsMHhmOSwweDA0LDB4OGEsMHgwMCwweDJlLDB4ODEsMHgwYywweGUwLDB4MGEsMHgzYSwweDgwLDB4ZGEgfX0sCi0gezE2LCAweGZhOTAsIDAsIHsweDAwLDB4MjIsMHhiNiwweDA4LDB4YTAsMHgwMiwweDI4LDB4MDAsMHg4ZSwweDAwLDB4MmEsMHg4MCwweDBiLDB4NjAsMHgwYiwweDBhIH19LAotIHsxNiwgMHhmYWEwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDQ0LDB4MDIsMHg5MywweDgxLDB4MmMsMHhjMCB9fSwKLSB7MTYsIDB4ZmFiMCwgMCwgezB4NGIsMHgzMCwweDAyLDB4YzgsMHgwMCwweDgzLDB4Y2EsMHgyMCwweGUwLDB4MTksMHhiMCwweDA2LDB4OGMsMHgwMCwweDgxLDB4MDQgfX0sCi0gezE2LCAweGZhYzAsIDAsIHsweDQ0LDB4NDAsMHgwOCwweDM0LDB4MDIsMHgwZCwweDAwLDB4ODMsMHgwMCwweDJhLDB4MDAsMHgwOCwweDAwLDB4MGEsMHg4MCwweDQwIH19LAotIHsxNiwgMHhmYWQwLCAwLCB7MHg4OCwweDAwLDB4MjAsMHhjMCwweDBiLDB4MzAsMHgwMiwweDRiLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmFlMCwgMCwgezB4YTAsMHgwMSwweDA0LDB4MDIsMHg5NywweDA4LDB4MmQsMHhjMCwweDBiLDB4NjAsMHgwNiwweGNhLDB4MDAsMHg4MywweDA5LDB4MjEgfX0sCi0gezE2LCAweGZhZjAsIDAsIHsweGMwLDB4MGEsMHg3MCwweDAyLDB4ZGMsMHgwMCwweDg1LDB4MzEsMHgyZCwweDY4LDB4MDksMHgzMCwweDAyLDB4MWMsMHgxNCwweDkzIH19LAotIHsxNiwgMHhmYjAwLCAwLCB7MHgyMCwweDIwLDB4YzAsMHgwOCwweGYwLDB4NDIsMHg5YywweDAyLDB4OGYsMHgwMCwweDI5LDB4NDAsMHgwMywweDcwLDB4MTIsMHgyOCB9fSwKLSB7MTYsIDB4ZmIxMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxNiwweDAwLDB4OTYsMHg4NCwweDNkLDB4YTAgfX0sCi0gezE2LCAweGZiMjAsIDAsIHsweDBmLDB4NzgsMHgwMywweDlhLDB4MDIsMHg4NywweDgwLDB4YjEsMHhlMCwweDBiLDB4NzgsMHgwMywweGI2LDB4MDAsMHhjNSwweGEwIH19LAotIHsxNiwgMHhmYjMwLCAwLCB7MHgzNSwweDYxLDB4MGMsMHg3OCwweDEzLDB4MWUsMHgwMiwweGM3LDB4ODAsMHgyOSwweDAwLDB4MGMsMHg0OCwweDAzLDB4OTAsMHgwMCB9fSwKLSB7MTYsIDB4ZmI0MCwgMCwgezB4YzQsMHg4MCwweDMxLDB4NjAsMHgwZiwweDU4LDB4MDMsMHg2YSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZiNTAsIDAsIHsweDA4LDB4MWQsMHhhNCwweDAwLDB4ZWEsMHgwMCwweDNlLDB4ODAsMHgwZiwweGEwLDB4MDMsMHhlOCwweDA4LDB4ZmIsMHgwMCwweDNlIH19LAotIHsxNiwgMHhmYjYwLCAwLCB7MHg4MCwweDBmLDB4OTAsMHgxMywweGU0LDB4MDgsMHhmOSwweDAwLDB4M2MsMHg1MCwweDJlLDB4ZjAsMHgwMywweGU4LDB4MDgsMHhmYiB9fSwKLSB7MTYsIDB4ZmI3MCwgMCwgezB4NDAsMHgzZSwweGMwLDB4MGIsMHgzMCwweDEzLDB4NmMsMHgwMCwweGZiLDB4MDAsMHgzZSwweDQwLDB4MGYsMHgzMCwweDAzLDB4YzIgfX0sCi0gezE2LCAweGZiODAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZDYsMHgwMCwweGNkLDB4ODAsMHgzMywweGUwIH19LAotIHsxNiwgMHhmYjkwLCAwLCB7MHgwYywweGY4LDB4MDMsMHhmYSwweDAwLDB4ZmQsMHg4MCwweDNmLDB4YTAsMHgwZCwweGY4LDB4MDMsMHhmYSwweDQwLDB4Y2QsMHhkMCB9fSwKLSB7MTYsIDB4ZmJhMCwgMCwgezB4NzcsMHg3ZSwweDBjLDB4ZTgsMHg0MywweDFlLDB4MDAsMHhjZiwweGQ4LDB4M2YsMHhlMCwweDBjLDB4YzgsMHgwMywweDNhLDB4YzQgfX0sCi0gezE2LCAweGZiYjAsIDAsIHsweGNjLDB4ODAsMHgzMywweGUwLDB4MGMsMHhmOCwweDAzLDB4MDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYmMwLCAwLCB7MHhhOCwweDExLDB4OTQsMHgwMiwweDhkLDB4MDAsMHgyMSwweGMwLDB4MDgsMHg2MCwweDAzLDB4ZDgsMHgxMCwweDM1LDB4MjAsMHg4YiB9fSwKLSB7MTYsIDB4ZmJkMCwgMCwgezB4ZDQsMHgwZCwweDY0LDB4MDMsMHhkOCwweGMwLDB4ODUsMHgwMCwweDJmLDB4NGUsMHgwNywweDY0LDB4MDIsMHg5YywweDAyLDB4ZDcgfX0sCi0gezE2LCAweGZiZTAsIDAsIHsweDMwLDB4MmYsMHgwNCwweDBkLDB4ZjEsMHgwYiwweDU0LDB4NDAsMHhhZiwweDAwLDB4MzUsMHg0MCwweDA4LDB4NzAsMHgwMiwweDJhIH19LAotIHsxNiwgMHhmYmYwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDk0LDB4NDAsMHg4NCwweDE4LDB4MjEsMHg4MCB9fSwKLSB7MTYsIDB4ZmMwMCwgMCwgezB4MDgsMHg3MCwweDAyLDB4ZGEsMHgyMCwweGI1LDB4MDAsMHgwOSwweDAwLDB4MDgsMHg3MCwweDAyLDB4ZDQsMHgwNCwweDg1LDB4MDAgfX0sCi0gezE2LCAweGZjMTAsIDAsIHsweDZkLDB4NGMsMHg4OSwweDYwLDB4MDIsMHg1YywweDQwLDB4OTcsMHgwMCwweDZkLDB4YzAsMHgwOSwweDQwLDB4MDIsMHg1OCwweDgwIH19LAotIHsxNiwgMHhmYzIwLCAwLCB7MHg4NCwweDg4LDB4MjUsMHg0MCwweDA4LDB4ZDAsMHgwMiwweDAwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmMzMCwgMCwgezB4MjAsMHgxNCwweGM2LDB4NDgsMHg4MCwweDAwLDB4MjAsMHg4MCwweDA4LDB4YWMsMHgwMiwweGE4LDB4MDAsMHhiMSwweDAwLDB4YTggfX0sCi0gezE2LCAweGZjNDAsIDAsIHsweDg4LDB4MDksMHgyMiwweDAyLDB4ODYsMHg0MiwweDgxLDB4MDAsMHg2YywweDUyLDB4MGIsMHgyMCwweDAyLDB4YzcsMHg1MiwweDgzIH19LAotIHsxNiwgMHhmYzUwLCAwLCB7MHgwMCwweDJjLDB4MDAsMHgwOCwweDM0LDB4ODIsMHg2NywweDAwLDB4YTMsMHg4MCwweDIwLDB4NDAsMHgwOCwweDMwLDB4MDIsMHgwOCB9fSwKLSB7MTYsIDB4ZmM2MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhhMywweDAwLDB4Y2IsMHhjMCwweGIyLDB4NDAgfX0sCi0gezE2LCAweGZjNzAsIDAsIHsweDJjLDB4OTAsMHg4MiwweGU2LDB4MDAsMHhiYiwweDgwLDB4YmUsMHg3OCwweDA4LDB4OGUsMHgwMiwweGVlLDB4MDAsMHg4ZCwweDAwIH19LAotIHsxNiwgMHhmYzgwLCAwLCB7MHgyNywweDYwLDB4MGQsMHg5MCwweDBhLDB4NmYsMHgwMCwweDlmLDB4MDIsMHgyZSwweDAwLDB4MDksMHhiNCwweDAzLDB4NjcsMHg4MCB9fSwKLSB7MTYsIDB4ZmM5MCwgMCwgezB4Y2EsMHg0MCwweGU0LDB4YzAsMHgwYywweDMwLDB4MDMsMHgyYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZjYTAsIDAsIHsweDgwLDB4MDAsMHhlMCwweDgwLDB4ZmIsMHgyMiwweDNlLDB4NDAsMHgwZiwweDgwLDB4MTMsMHhlNCwweDAwLDB4ZmIsMHg4MCwweDNlIH19LAotIHsxNiwgMHhmY2IwLCAwLCB7MHg0MCwweDBmLDB4OTAsMHgwMywweGU1LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0MCwweDBlLDB4NzAsMHgyMywweGFjLDB4MjAsMHhmYiB9fSwKLSB7MTYsIDB4ZmNjMCwgMCwgezB4MDAsMHgzZSwweGMwLDB4OGYsMHg4MCwweDAzLDB4ZTksMHgyMCwweGY5LDB4MDgsMHgzZSwweDQwLDB4MGYsMHhiMCwweDEzLDB4ZTAgfX0sCi0gezE2LCAweGZjZDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZjAsMHgwMCwweGM2LDB4MDAsMHgzMiwweDAwIH19LAotIHsxNiwgMHhmY2UwLCAwLCB7MHgwZiwweGQxLDB4ODMsMHgzNCwweDQwLDB4Y2YsMHgwMCwweDNkLDB4NDAsMHgwYywweGQwLDB4MDMsMHhkZSwweDUwLDB4MGQsMHgwMCB9fSwKLSB7MTYsIDB4ZmNmMCwgMCwgezB4NzMsMHg0MCwweDBjLDB4ZDEsMHgwMywweDdjLDB4NDAsMHg4NywweDAyLDB4YjMsMHgwMCwweDBkLDB4ZjQsMHgwMywweDI0LDB4MDAgfX0sCi0gezE2LCAweGZkMDAsIDAsIHsweGNlLDB4MjAsMHgzMiwweDQwLDB4MGMsMHhkMCwweDAzLDB4MDAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmZDEwLCAwLCB7MHg4MSwweDA0LDB4NjEsMHgyMiwweDhhLDB4MDAsMHgyMiwweDAwLDB4MGIsMHg4MCwweDQwLDB4MjUsMHgwMCwweDg5LDB4YzMsMHgyZSB9fSwKLSB7MTYsIDB4ZmQyMCwgMCwgezB4MjAsMHgwYSwweDk4LDB4MDMsMHhhMSwweDAwLDB4ODksMHgwMCwweDM2LDB4NDAsMHg4OCwweDk0LDB4MDIsMHgwZiwweDAxLDB4YWIgfX0sCi0gezE2LCAweGZkMzAsIDAsIHsweDAwLDB4MzIsMHhjMCwweDA4LDB4MDQsMHgwYSwweDI5LDB4MDAsMHhhOSwweDAyLDB4YTIsMHg0MCwweDBkLDB4YjAsMHgwYSwweDIwIH19LAotIHsxNiwgMHhmZDQwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDAwLDB4MDAsMHg4OSwweDAwLDB4MjIsMHg2MSB9fSwKLSB7MTYsIDB4ZmQ1MCwgMCwgezB4MGIsMHg5MCwweDAyLDB4MjUsMHgwMSwweDliLDB4ODgsMHgyZSwweDYwLDB4MDgsMHg4OCwweDAyLDB4ZTgsMHgwMCwweGIxLDB4MDIgfX0sCi0gezE2LCAweGZkNjAsIDAsIHsweDI0LDB4NDAsMHgxOCwweDkwLDB4MDIsMHgyYywweDAwLDB4YWIsMHgwMSwweDIwLDB4YzEsMHgwOCwweGI0LDB4NDIsMHgyYywweDAwIH19LAotIHsxNiwgMHhmZDcwLCAwLCB7MHg4MiwweDAwLDB4MjIsMHhjMCwweDA4LDB4YjAsMHgwMiwweDIwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmQ4MCwgMCwgezB4MDgsMHgwNCwweDAwLDB4MDAsMHgwMSwweDAwLDB4MjAsMHg0MCwweDBiLDB4MDAsMHgwYSwweDA0LDB4NDYsMHg4MywweDAxLDB4MmMgfX0sCi0gezE2LCAweGZkOTAsIDAsIHsweDQwLDB4MWEsMHgwMCwweDA2LDB4ODAsMHgwMCwweDgxLDB4MDAsMHgyNCwweDQwLDB4MDgsMHgyMCwweDBhLDB4MGMsMHgwMSwweGEzIH19LAotIHsxNiwgMHhmZGEwLCAwLCB7MHgwMCwweDI0LDB4MDAsMHgwOCwweDgwLDB4MDIsMHgwMCwweDAwLDB4YTEsMHgwMCwweDIwLDB4NDAsMHgwOSwweDMwLDB4MDIsMHgwMiB9fSwKLSB7MTYsIDB4ZmRiMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2MCwweDAyLDB4YzgsMHgwMCwweDIyLDB4MDAgfX0sCi0gezE2LCAweGZkYzAsIDAsIHsweDBmLDB4OTAsMHgwMiwweDI1LDB4MDAsMHhkYSwweDAwLDB4M2UsMHg0MCwweDBjLDB4OTAsMHgwMiwweGNjLDB4MDAsMHhmZCwweDAwIH19LAotIHsxNiwgMHhmZGQwLCAwLCB7MHgzNywweDQwLDB4MGMsMHgxMCwweDEzLDB4MmMsMHgwMiwweGFmLDB4MDAsMHgzMiwweGMwLDB4MGQsMHhiMCwweDAzLDB4MmMsMHgwMCB9fSwKLSB7MTYsIDB4ZmRlMCwgMCwgezB4Y2EsMHgwMCwweDMyLDB4NDAsMHg0YywweDkwLDB4MGIsMHgwMCwweDAxLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZkZjAsIDAsIHsweGEwLDB4MWQsMHhmMCwweDAwLDB4ZmMsMHgwMCwweDNmLDB4MDAsMHgwNywweGMwLDB4MDMsMHhmNCwweDFjLDB4ZjQsMHgwMCwweDNmIH19LAotIHsxNiwgMHhmZTAwLCAwLCB7MHgwMCwweDFmLDB4YzAsMHgyMywweGIwLDB4MDIsMHg5ZCwweDAxLDB4M2YsMHg0MCwweDhmLDB4YzAsMHgwNywweGZjLDB4MDIsMHhmZiB9fSwKLSB7MTYsIDB4ZmUxMCwgMCwgezB4MDAsMHg3YiwweDAwLDB4MGYsMHhjMCwweDAzLDB4ZjAsMHgwMCwweGZkLDB4MDAsMHgzZiwweDQwLDB4MGYsMHg3MCwweDAzLDB4ZTggfX0sCi0gezE2LCAweGZlMjAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmEsMHgwMCwweGNiLDB4ODAsMHgzZiwweDI0IH19LAotIHsxNiwgMHhmZTMwLCAwLCB7MHgwYSwweGMxLDB4MDMsMHhmYywweDI0LDB4Y2QsMHgyMCwweDM3LDB4MGEsMHgwYywweGMyLDB4ODMsMHgzMCwweDgwLDB4ZGMsMHgwMiB9fSwKLSB7MTYsIDB4ZmU0MCwgMCwgezB4M2YsMHhjYywweDBkLDB4ZDksMHgwMywweDNjLDB4NTgsMHhkZiwweDMwLDB4MzMsMHhjOCwweDBkLDB4ZjQsMHgyMywweDNjLDB4NDAgfX0sCi0gezE2LCAweGZlNTAsIDAsIHsweGZmLDB4MDAsMHgzZiwweGM1LDB4NGYsMHhmMCwweDIzLDB4YjAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmZTYwLCAwLCB7MHg4MCwweDAwLDB4ZWMsMHgwMiwweDBiLDB4ODIsMHgyZSwweDA4LDB4MGQsMHhiNywweDAyLDB4ZmQsMHgwMCwweDgzLDB4MTgsMHgwYSB9fSwKLSB7MTYsIDB4ZmU3MCwgMCwgezB4NTgsMHgwYSwweDg0LDB4YTIsMHhhNSwweGEwLDB4ODksMHgzMCwweDIyLDB4NTUsMHgwOCwweDEyLDB4NjIsMHhiZCwweDkwLDB4OGYgfX0sCi0gezE2LCAweGZlODAsIDAsIHsweDYyLDB4MjEsMHhkNiwweDQ4LDB4ZjMsMHgwMiwweDNjLDB4YzUsMHhiZiwweDQ4LDB4MmYsMHhkOCwweDRiLDB4YjcsMHgwMiwweGUwIH19LAotIHsxNiwgMHhmZTkwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGVjLDB4MDAsMHg4MywweDAwLDB4MmUsMHg4OSB9fSwKLSB7MTYsIDB4ZmVhMCwgMCwgezB4MjgsMHgwMCwweDAyLDB4ZWMsMHhhMCwweDg5LDB4MjIsMHgyOCwweDgyLDB4MDgsMHgxMiwweDAyLDB4MjgsMHg0MCwweDlhLDB4MDggfX0sCi0gezE2LCAweGZlYjAsIDAsIHsweDI4LDB4YzgsMHg4OCwweGIyLDB4MGEsMHgwZCwweDEwLDB4OTMsMHgxMCwweGEwLDB4YzgsMHgyOCwweDMwLDB4MDIsMHg0YywweDAwIH19LAotIHsxNiwgMHhmZWMwLCAwLCB7MHhiMywweDYwLDB4MmMsMHhjNCwweDBiLDB4MzAsMHhjMiwweGUyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmVkMCwgMCwgezB4YzAsMHgxNSwweGFjLDB4NDAsMHg4YiwweDAwLDB4MmUsMHg4MCwweDA4LDB4YjEsMHgwMiwweGVjLDB4MDIsMHg4YiwweDAwLDB4MjAgfX0sCi0gezE2LCAweGZlZTAsIDAsIHsweGQwLDB4MGEsMHg5MCwweDAyLDB4YWMsMHgwMCwweDBiLDB4MDEsMHgyNiwweDQwLDB4MDgsMHg5NCwweDAyLDB4OGMsMHgwMCwweDhiIH19LAotIHsxNiwgMHhmZWYwLCAwLCB7MHgwMCwweDIyLDB4YzAsMHgwOCwweGIwLDB4MDIsMHgyYywweDEwLDB4YmIsMHgwMCwweDJlLDB4YzAsMHgwYiwweGIwLDB4MDIsMHhmMCB9fSwKLSB7MTYsIDB4ZmYwMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTQsMHg4YywweDIwLDB4Y2IsMHgwMiwweDNlLDB4MmQgfX0sCi0gezE2LCAweGZmMTAsIDAsIHsweDA4LDB4ODAsMHgwMywweGVjLDB4MDgsMHhjOSwweDgwLDB4MWUsMHgwNCwweDBjLDB4YjAsMHgwMywweDAxLDB4MDgsMHg1MCwweDE4IH19LAotIHsxNiwgMHhmZjIwLCAwLCB7MHgzZSwweDQwLDB4MGMsMHgwNCwweDAzLDB4MmMsMHgwMCwweGRiLDB4MDEsMHgzMiwweGMwLDB4MGMsMHhiMCwweDBiLDB4MmMsMHgwOCB9fSwKLSB7MTYsIDB4ZmYzMCwgMCwgezB4YmIsMHgwMCwweDNlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHg4MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZmNDAsIDAsIHsweGUxLDB4MDAsMHhiYywweDAwLDB4ZmYsMHgwMCwweDNmLDB4NjAsMHgwZiwweGMwLDB4MjMsMHhlYywweDAwLDB4ZmYsMHhjMCwweGJlIH19LAotIHsxNiwgMHhmZjUwLCAwLCB7MHg2MCwweDhmLDB4YzksMHgyMywweGY2LDB4NTAsMHhlZCwweDgwLDB4YjgsMHg1MCwweGFmLDB4YzAsMHgwMywweGZjLDB4MDAsMHhmZiB9fSwKLSB7MTYsIDB4ZmY2MCwgMCwgezB4MDAsMHgzZiwweGMxLDB4MGUsMHhiMCwweDAzLDB4ZmMsMHgwNCwweGZmLDB4MDIsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZjggfX0sCi0gezE2LCAweGZmNzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMCwweGViLDB4MDAsMHgzMiwweDgwIH19LAotIHsxNiwgMHhmZjgwLCAwLCB7MHgwZCwweDkwLDB4MDMsMHgyYywweDAwLDB4ODksMHgwMCwweDNlLDB4OTgsMHg4YywweDMwLDB4MDMsMHg2MSwweDgwLDB4ZmEsMHg0MCB9fSwKLSB7MTYsIDB4ZmY5MCwgMCwgezB4M2UsMHg0MCwweDJjLDB4YTUsMHgwMywweDJjLDB4MDAsMHhmYiwweDAxLDB4M2MsMHhjMCwweDJjLDB4MzAsMHgwMywweDJjLDB4MDAgfX0sCi0gezE2LCAweGZmYTAsIDAsIHsweGRiLDB4MDIsMHgzMiwweGMwLDB4MGYsMHhiMCwweDAzLDB4ZDAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmZmIwLCAwLCB7MHhjYSwweDAwLDB4MmUsMHg4MCwweDhiLDB4ODIsMHhhMCwweGMwLDB4OGMsMHg5MCwweDAyLDB4M2MsMHgwMCwweDhiLDB4ZjAsMHgyMiB9fSwKLSB7MTYsIDB4ZmZjMCwgMCwgezB4YzIsMHgwZCwweDgwLDB4MDIsMHgyNywweDAwLDB4OGIsMHgxMCwweDIyLDB4NDAsMHgwOCwweDgwLDB4MjIsMHgzYywweDAwLDB4YmYgfX0sCi0gezE2LCAweGZmZDAsIDAsIHsweDAwLDB4MmYsMHhjMCwweDA4LDB4ZjAsMHgwMiwweDNjLDB4MDAsMHhiZiwweDAxLDB4YTMsMHhjMCwweDBiLDB4ZjAsMHgxMiwweGYyIH19LAotIHsxNiwgMHhmZmUwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRjLDB4MDAsMHhiMywweDFjLDB4MjAsMHg0MCB9fSwKLSB7MTYsIDB4ZmZmMCwgMCwgezB4MDgsMHgwMCwweDA2LDB4MmMsMHgwMCwweDliLDB4MDAsMHgyMCwweGQwLDB4MDgsMHgyMCwweDAyLDB4NGMsMHgwMCwweGEzLDB4MDAgfX0sCi0gezE2LCAweDgwMTAsIDAsIHsweDJjLDB4YzAsMHgwOCwweDEwLDB4MGEsMHgwYywweDAwLDB4YmIsMHgwMCwweDI4LDB4YzAsMHgwOSwweDMwLDB4MDIsMHgwYywweDAwIH19LAotIHsxNiwgMHg4MDIwLCAwLCB7MHhiMywweDAwLDB4MjAsMHhjMCwweDBiLDB4MzAsMHgwMiwweGY4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODAzMCwgMCwgezB4MjIsMHgxMSwweDFlLDB4MDAsMHg5NywweGEwLDB4MjEsMHhhMCwweDA4LDB4NzksMHgwMiwweDFlLDB4MDAsMHg5NywweDkwLDB4MjEgfX0sCi0gezE2LCAweDgwNDAsIDAsIHsweDYwLDB4MDksMHhlOCwweDIyLDB4M2UsMHgwMCwweGFmLDB4ODQsMHgyMSwweGU0LDB4NDgsMHg1YywweDAyLDB4MWUsMHgwMCwweGI3IH19LAotIHsxNiwgMHg4MDUwLCAwLCB7MHg5MCwweDJkLDB4ZTAsMHgwOSwweDc4LDB4MDAsMHgxZSwweDA5LDB4YjMsMHg5MCwweDIxLDB4ZTQsMHgwYiwweDc4LDB4MDIsMHhkOCB9fSwKLSB7MTYsIDB4ODA2MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MTgsMHgyYywweDQwLDB4YjMsMHhiMCwweDMyLDB4NDAgfX0sCi0gezE2LCAweDgwNzAsIDAsIHsweDJjLDB4ODEsMHgxMywweDBjLDB4NDIsMHhkMSwweDAwLDB4YjAsMHhjMCwweDhjLDB4MzAsMHgwMywweDQ4LDB4MjAsMHhlMywweDAxIH19LAotIHsxNiwgMHg4MDgwLCAwLCB7MHgzYywweGMwLDB4MGMsMHgzMCwweDAzLDB4MGMsMHgwMCwweGYzLDB4MTAsMHgzYywweGMwLDB4Y2QsMHgzMiwweDBiLDB4MGMsMHg0MCB9fSwKLSB7MTYsIDB4ODA5MCwgMCwgezB4ZDMsMHgwMCwweDMwLDB4YzAsMHgwZiwweDMwLDB4MDMsMHhkMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgwYTAsIDAsIHsweDQwLDB4MTUsMHhiYywweDAwLDB4ZTcsMHgwMCwweDNmLDB4ODAsMHgwYiwweGYxLDB4MDMsMHhmZCwweDAwLDB4NmQsMHgwMCwweDMyIH19LAotIHsxNiwgMHg4MGIwLCAwLCB7MHg0MCwweDFmLDB4NzAsMHgwNywweGQ4LDB4NDEsMHhjMywweDEwLDB4M2IsMHhjMCwweDBmLDB4ZDEsMHgwMywweGZkLDB4MDAsMHhmZiB9fSwKLSB7MTYsIDB4ODBjMCwgMCwgezB4MTAsMHgzZiwweGMwLDB4MGUsMHhmMCwweDAzLDB4ZWMsMHgxMCwweGZmLDB4MDgsMHgzZiwweGMzLDB4MGYsMHhmMCwweDAzLDB4ZDAgfX0sCi0gezE2LCAweDgwZDAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDE1LDB4ZWMsMHgwNCwweGZiLDB4MDIsMHgzZSwweDQwIH19LAotIHsxNiwgMHg4MGUwLCAwLCB7MHgwYiwweGEwLDB4MDMsMHhhYywweDAwLDB4ZGIsMHgwMCwweDM2LDB4ODAsMHgwZCwweGIwLDB4MDMsMHhhYywweDAwLDB4ZTgsMHgwMCB9fSwKLSB7MTYsIDB4ODBmMCwgMCwgezB4MzYsMHhjMSwweDJlLDB4OTAsMHgwMywweDJjLDB4MDAsMHhjYiwweGEwLDB4MzYsMHhkYywweDBmLDB4YjAsMHgwMywweDJkLDB4NjggfX0sCi0gezE2LCAweDgxMDAsIDAsIHsweGZiLDB4YTAsMHg5MiwweGMyLDB4MGMsMHhiMSwweDAzLDB4ZWEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MTEwLCAwLCB7MHg0OCwweDExLDB4OWMsMHgwOCwweDM3LDB4MDAsMHgyZCwweGMwLDB4MGIsMHhlMCwweDAyLDB4MWQsMHg4MCwweGI3LDB4MDQsMHgyMyB9fSwKLSB7MTYsIDB4ODEyMCwgMCwgezB4MDAsMHgwYSwweDQwLDB4MDIsMHgxYywweDE4LDB4ODQsMHgwMCwweDI1LDB4YzAsMHgxOCwweDUwLDB4MzIsMHgwZCwweDgwLDB4YTMgfX0sCi0gezE2LCAweDgxMzAsIDAsIHsweDMwLDB4MjEsMHhjYywweDBiLDB4MzQsMHg4MiwweDFjLDB4MTAsMHhiNywweDMwLDB4MjEsMHhjOCwweDA4LDB4NzAsMHgwMiwweGQyIH19LAotIHsxNiwgMHg4MTQwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDllLDB4MjAsMHhiNywweDgwLDB4MmQsMHg2MCB9fSwKLSB7MTYsIDB4ODE1MCwgMCwgezB4MGIsMHhmYywweDIyLDB4OWUsMHgwMCwweDhkLDB4ODAsMHgyNSwweGEwLDB4MDgsMHhmOCwweDIyLDB4OTIsMHgwMCwweGI0LDB4ODAgfX0sCi0gezE2LCAweDgxNjAsIDAsIHsweDI1LDB4ZTAsMHgwOCwweGY4LDB4MDIsMHgxZSwweDAwLDB4ODcsMHhiMCwweDIxLDB4ZTAsMHgwOSwweDdhLDB4MDIsMHgxZSwweDE4IH19LAotIHsxNiwgMHg4MTcwLCAwLCB7MHhiMywweDgwLDB4MjEsMHhlMCwweDA4LDB4NzgsMHgwMiwweGYwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODE4MCwgMCwgezB4NDgsMHgwNCwweGM1LDB4MjAsMHhiMywweDAxLDB4MmMsMHhkOCwweDBiLDB4M2MsMHgwMiwweDJjLDB4MDgsMHhiOSwweDAwLDB4MjAgfX0sCi0gezE2LCAweDgxOTAsIDAsIHsweDAzLDB4MGEsMHgwMCwweDgyLDB4MjIsMHgwOCwweDkwLDB4MGQsMHgyNiwweGU0LDB4MDgsMHgxMCwweDAyLDB4MGMsMHgwMCwweGEzIH19LAotIHsxNiwgMHg4MWEwLCAwLCB7MHgwMCwweDIyLDB4YzAsMHgwYiwweDMwLDB4MDIsMHg2YywweDAwLDB4YjMsMHgwMCwweDIyLDB4YzAsMHgyOCwweDMwLDB4MDIsMHhjMiB9fSwKLSB7MTYsIDB4ODFiMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MDUsMHg5OSwweDAwLDB4ZmEsMHgwMiwweDNmLDB4OTAgfX0sCi0gezE2LCAweDgxYzAsIDAsIHsweDBmLDB4ZWMsMHgyMywweGE4LDB4MDAsMHhkYSwweDAwLDB4MzUsMHg4MCwweDBkLDB4ZTAsMHgwMiwweGJhLDB4MDIsMHhmZSwweGMyIH19LAotIHsxNiwgMHg4MWQwLCAwLCB7MHhiNiwweGEwLDB4MGUsMHhlNCwweDBiLDB4MjgsMHgwMCwweGNhLDB4MDAsMHhiMiwweDgwLDB4MGYsMHhhMCwweDBiLDB4MjgsMHgwMCB9fSwKLSB7MTYsIDB4ODFlMCwgMCwgezB4ZmEsMHgwMCwweDMyLDB4ODAsMHgwYywweGEwLDB4MDMsMHhmYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgxZjAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDgyLDB4MDMsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDNlIH19LAotIHsxNiwgMHg4MjAwLCAwLCB7MHgwMCwweDBmLDB4ODEsMHgwMywweGUwLDB4NDAsMHhlOCwweDEwLDB4M2EsMHgwMCwweDRmLDB4ODQsMHg4MywweGUwLDB4MDAsMHhmOCB9fSwKLSB7MTYsIDB4ODIxMCwgMCwgezB4MDAsMHgzYSwweDAwLDB4MGYsMHgwMCwweDAzLDB4YTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZDIgfX0sCi0gezE2LCAweDgyMjAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4ZTUsMHgwMCwweGM5LDB4MDIsMHgzZSwweDQwIH19LAotIHsxNiwgMHg4MjMwLCAwLCB7MHgwZiwweDkwLDB4MjMsMHgyNCwweDAwLDB4YzksMHgwMCwweDMyLDB4NjgsMHgyZiwweDEwLDB4MDMsMHgyNCwweDAwLDB4ZTksMHgxNCB9fSwKLSB7MTYsIDB4ODI0MCwgMCwgezB4MzIsMHg0MCwweDBkLDB4OTAsMHgwYiwweDA0LDB4MDAsMHhkOSwweDAwLDB4MWUsMHg0MCwweDBjLDB4OTAsMHgwMywweDI0LDB4MDAgfX0sCi0gezE2LCAweDgyNTAsIDAsIHsweGM5LDB4MDAsMHgzNiwweDQwLDB4MGMsMHg5MCwweDAzLDB4MDIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MjYwLCAwLCB7MHg4MCwweDE0LDB4NjQsMHgwMCwweDg5LDB4MDEsMHgyZSwweDQwLDB4NGIsMHg5MCwweDEyLDB4MjQsMHgwMCwweDg5LDB4YzIsMHhhMiB9fSwKLSB7MTYsIDB4ODI3MCwgMCwgezB4NjAsMHg4OCwweDkwLDB4MDMsMHg2NCwweDAwLDB4ODksMHhjMSwweGEyLDB4NDAsMHg0OCwweDE2LDB4MDMsMHg2NCwweDAyLDB4ODkgfX0sCi0gezE2LCAweDgyODAsIDAsIHsweDAwLDB4MmUsMHg0MCwweDA4LDB4OTAsMHgyMiwweDI0LDB4MDAsMHg4OSwweDAwLDB4M2UsMHg0MCwweDI4LDB4OTAsMHgwYSwweDIwIH19LAotIHsxNiwgMHg4MjkwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNCwweDI0LDB4MDAsMHg4OSwweDAyLDB4MmUsMHg0MCB9fSwKLSB7MTYsIDB4ODJhMCwgMCwgezB4MGIsMHgxMCwweDAyLDB4MjQsMHgwMCwweDg5LDB4MTAsMHgyMiwweDQwLDB4ODksMHg5MCwweDAyLDB4YWMsMHgwMCwweGExLDB4MDggfX0sCi0gezE2LCAweDgyYjAsIDAsIHsweDIyLDB4NDAsMHgwOSwweDk4LDB4MDIsMHhhNCwweDAwLDB4ODksMHgwMCwweDJhLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgyNCwweDAwIH19LAotIHsxNiwgMHg4MmMwLCAwLCB7MHg4OSwweDAwLDB4MjYsMHg0MCwweDA4LDB4MTAsMHgwMiwweDA2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODJkMCwgMCwgezB4MDgsMHgwMCwweDI0LDB4MDAsMHg4MSwweDAwLDB4MmMsMHg0MSwweDBiLDB4MTIsMHgwMiwweDA0LDB4ODEsMHg4MSwweDIwLDB4MjIgfX0sCi0gezE2LCAweDgyZTAsIDAsIHsweDQ4LDB4MDgsMHgxMiwweDAyLDB4YzQsMHg4MSwweDgxLDB4MjQsMHgwMiwweDQ4LDB4MGEsMHg5MCwweDAyLDB4ODQsMHhhMCwweDgxIH19LAotIHsxNiwgMHg4MmYwLCAwLCB7MHgyOCwweDZjLDB4NGEsMHgwOCwweDEyLDB4ZDIsMHgwNCwweGExLDB4ODEsMHgyOCwweDJjLDB4NGEsMHgwOCwweDEyLDB4ODIsMHgwMiB9fSwKLSB7MTYsIDB4ODMwMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MDgsMHg2MSwweDQwLDB4YzgsMHgwMCwweDJlLDB4MTQgfX0sCi0gezE2LCAweDgzMTAsIDAsIHsweDBmLDB4ODUsMHgwYiwweDIxLDB4NDIsMHhjYSwweDUwLDB4MjIsMHgxNCwweDBkLDB4ODUsMHg0MywweGExLDB4NDAsMHhlOCwweDUwIH19LAotIHsxNiwgMHg4MzIwLCAwLCB7MHgzMCwweDAwLDB4MGQsMHg4NSwweDAyLDB4YTEsMHhjMCwweGQ4LDB4MjAsMHgzYSwweDA4LDB4MmMsMHg4MiwweDBiLDB4MjAsMHg4MiB9fSwKLSB7MTYsIDB4ODMzMCwgMCwgezB4YzgsMHgyMCwweDM0LDB4MDksMHg4YywweDgyLDB4MDMsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgzNDAsIDAsIHsweDk4LDB4MGQsMHhmYywweDAyLDB4ZjksMHgwMCwweDNmLDB4NDAsMHg0ZiwweGQxLDB4MDMsMHhlNCwweDQwLDB4ZjUsMHgxNCwweGJmIH19LAotIHsxNiwgMHg4MzUwLCAwLCB7MHg0NCwweDBkLDB4NTEsMHgyMywweDVjLDB4NDAsMHhmNSwweDEwLDB4MWYsMHg0ZSwweDRkLDB4NTAsMHgwMywweDY0LDB4MDgsMHhmOSB9fSwKLSB7MTYsIDB4ODM2MCwgMCwgezB4MjgsMHgzZSwweDRhLDB4OGYsMHg5MiwweDgzLDB4ZTQsMHhhMCwweGY5LDB4MjgsMHgzYSwweDRiLDB4MGYsMHg5MiwweDgzLDB4ZTYgfX0sCi0gezE2LCAweDgzNzAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4ZjQsMHg0MCwweGZkLDB4MDAsMHgzMCwweDQwIH19LAotIHsxNiwgMHg4MzgwLCAwLCB7MHgwYywweDkwLDB4MDMsMHgyNCwweDAwLDB4ZGQsMHgwMCwweDNiLDB4NDAsMHgwZSwweDkwLDB4MDMsMHg3NCwweDAwLDB4NWQsMHgwMCB9fSwKLSB7MTYsIDB4ODM5MCwgMCwgezB4MzYsMHg2NCwweDBkLDB4ZDAsMHgwMCwweGE2LDB4MDAsMHhmOSwweDQwLDB4MzIsMHg3OCwweDBjLDB4OTksMHgwMywweDI0LDB4NDAgfX0sCi0gezE2LCAweDgzYTAsIDAsIHsweGM5LDB4OTAsMHgzMiwweDUwLDB4MGYsMHg5YiwweDAzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4M2IwLCAwLCB7MHgzOCwweDEwLDB4ZTIsMHg4MCwweGI4LDB4MDAsMHgyMiwweDAxLDB4MDgsMHg4MCwweDBhLDB4MjAsMHgwMCwweDg4LDB4MDAsMHgyYSB9fSwKLSB7MTYsIDB4ODNjMCwgMCwgezB4MDAsMHgwOCwweDgwLDB4MDIsMHgyMCwweDAwLDB4ODgsMHgwMCwweDIyLDB4MjAsMHgwOCwweDhhLDB4OGIsMHhlMSwweDAwLDB4YjggfX0sCi0gezE2LCAweDgzZDAsIDAsIHsweDgwLDB4MjIsMHgzMCwweDI4LDB4MGQsMHgwMiwweDIyLDB4MDAsMHhkOCwweGU0LDB4MjIsMHgyOCwweDBiLDB4OGYsMHgwYSwweDBlIH19LAotIHsxNiwgMHg4M2UwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4ODAsMHhiMSwweDAwLDB4YTAsMHg0MCB9fSwKLSB7MTYsIDB4ODNmMCwgMCwgezB4MDgsMHgxMCwweDAyLDB4MDQsMHgwMCwweDg5LDB4MDAsMHgwOCwweDQwLDB4MGEsMHg5MCwweDQyLDB4NDQsMHgwMCwweDkxLDB4MDAgfX0sCi0gezE2LCAweDg0MDAsIDAsIHsweDIwLDB4NTgsMHgyOCwweDkwLDB4MDIsMHg4NSwweDAwLDB4ODEsMHgyMCwweGEwLDB4NGMsMHgwOSwweDEyLDB4MGEsMHgwNCwweDgwIH19LAotIHsxNiwgMHg4NDEwLCAwLCB7MHg5MSwweDQwLDB4YTAsMHg0MCwweDBiLDB4MTAsMHgwMiwweDAyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODQyMCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MDAsMHhiOSwweDAyLDB4MjAsMHg0MCwweDA4LDB4OTAsMHgwMiwweDA0LDB4MDAsMHg4OSwweDAxLDB4MjIgfX0sCi0gezE2LCAweDg0MzAsIDAsIHsweDQwLDB4MjgsMHg5MCwweDIyLDB4MDQsMHgwMCwweDg5LDB4MTAsMHgyMiwweDQwLDB4MDgsMHg5MCwweDAyLDB4ZTQsMHgwMCwweGIxIH19LAotIHsxNiwgMHg4NDQwLCAwLCB7MHgwMCwweDIyLDB4NDAsMHg4MSwweDkwLDB4MDIsMHgwNCwweDAwLDB4OTEsMHgwMCwweDIyLDB4NDAsMHgwYiwweDkwLDB4MDIsMHgwNiB9fSwKLSB7MTYsIDB4ODQ1MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNSwweDAwLDB4ZjEsMHgwMCwweDMyLDB4NjAgfX0sCi0gezE2LCAweDg0NjAsIDAsIHsweDJjLDB4OTIsMHgxMywweDI0LDB4MDIsMHhkMSwweDEwLDB4M2EsMHg0MCwweDBlLDB4MTIsMHgwMywweDY2LDB4MDQsMHhkOSwweDAwIH19LAotIHsxNiwgMHg4NDcwLCAwLCB7MHhiNiwweDQwLDB4MGQsMHgxOSwweDAzLDB4YTQsMHgwMCwweGY5LDB4MDAsMHgzMiwweDQwLDB4MDksMHg5MCwweDAxLDB4MjQsMHgwMCB9fSwKLSB7MTYsIDB4ODQ4MCwgMCwgezB4ZDksMHgwMiwweDIyLDB4NDAsMHgwZiwweDkwLDB4MDMsMHgyOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg0OTAsIDAsIHsweDJhLDB4MDEsMHhhNSwweDAwLDB4ZjksMHgwMCwweDNlLDB4NjQsMHgwZiwweDEwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHg4MSwweDNlIH19LAotIHsxNiwgMHg4NGEwLCAwLCB7MHg2NiwweDhmLDB4OTAsMHgyMywweGU0LDB4ODAsMHhmOSwweDA0LDB4M2UsMHg0MCwweDhmLDB4OTAsMHgwMywweGU0LDB4MDQsMHhmOSB9fSwKLSB7MTYsIDB4ODRiMCwgMCwgezB4MDAsMHgzYywweDQwLDB4MGUsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQwLDB4MGYsMHgxMCwweDAzLDB4Y2EgfX0sCi0gezE2LCAweDg0YzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyYSwweDEwLDB4YTAsMHgwMCwweGY4LDB4MjQsMHgzZSwweDAwIH19LAotIHsxNiwgMHg4NGQwLCAwLCB7MHgyYywweDg0LDB4MDMsMHgyMCwweDAwLDB4YjgsMHgyMCwweDNlLDB4MDAsMHg4YywweDgwLDB4MDMsMHhhMCwweDAwLDB4NzAsMHg4MiB9fSwKLSB7MTYsIDB4ODRlMCwgMCwgezB4MzIsMHgwMCwweDBmLDB4ODAsMHgwMywweDIwLDB4MDgsMHhmOCwweDAwLDB4MzIsMHgwMCwweDJjLDB4ODAsMHgwYiwweDIwLDB4MDggfX0sCi0gezE2LCAweDg0ZjAsIDAsIHsweGM4LDB4MDAsMHgzZSwweDAwLDB4MGMsMHg4MCwweDAzLDB4Y2EsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4NTAwLCAwLCB7MHgyOCwweDA1LDB4MjgsMHgwNCwweGJlLDB4ODAsMHgzYSwweDgwLDB4MDgsMHhhMCwweDAyLDB4MjgsMHgwNCwweDhlLDB4MDAsMHg2ZCB9fSwKLSB7MTYsIDB4ODUxMCwgMCwgezB4OTAsMHgwZCwweGEwLDB4MDIsMHgzYSwweDAwLDB4OGUsMHg4MCwweGEyLDB4ODAsMHgwZSwweGUwLDB4MGIsMHg2OCwweDAwLDB4YmEgfX0sCi0gezE2LCAweDg1MjAsIDAsIHsweDAwLDB4MjIsMHg4MCwweDA4LDB4YTAsMHgwMiwweDI4LDB4MDAsMHhkYSwweDAwLDB4MmUsMHg4MCwweDA4LDB4YTAsMHgwMiwweGNhIH19LAotIHsxNiwgMHg4NTMwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHg4MSwweDRjLDB4MDAsMHhiMSwweDAwLDB4MmMsMHhjMCB9fSwKLSB7MTYsIDB4ODU0MCwgMCwgezB4MDgsMHgzMCwweDAyLDB4MGMsMHgxOCwweGEzLDB4MDIsMHgyYywweDEwLDB4ODgsMHgzMCwweDA2LDB4ODIsMHg4MSwweGEwLDB4MDAgfX0sCi0gezE2LCAweDg1NTAsIDAsIHsweDJhLDB4YzAsMHgwYiwweDMwLDB4MGEsMHg0YywweDAwLDB4YjMsMHgwMCwweDIwLDB4YzAsMHgxYSwweGIwLDB4MDIsMHg4YywweDAxIH19LAotIHsxNiwgMHg4NTYwLCAwLCB7MHg4MywweDAwLDB4MmMsMHhjMCwweDA4LDB4MzAsMHgwMiwweGNhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODU3MCwgMCwgezB4MjAsMHgwMSwweDFjLDB4MTAsMHhiNCwweDBhLDB4MmIsMHhjOCwweDA4LDB4MzEsMHgyNiwweDFjLDB4MDAsMHg4NiwweDAwLDB4MmQgfX0sCi0gezE2LCAweDg1ODAsIDAsIHsweGMwLDB4MDksMHg3MiwweDAyLDB4MWQsMHgwMCwweGE1LDB4NDAsMHgyOSwweGMwLDB4MGEsMHg2MCwweDAyLDB4NWMsMHg4OCwweGIzIH19LAotIHsxNiwgMHg4NTkwLCAwLCB7MHgyMCwweDI1LDB4YzgsMHgwYSwweDcyLDB4MDIsMHg5YywweDgwLDB4OTcsMHgyMCwweDJjLDB4ZTgsMHg4MCwweDcyLDB4MDIsMHhlOCB9fSwKLSB7MTYsIDB4ODVhMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDgsMHgxNiwweDAwLDB4YjUsMHg4MCwweDNkLDB4ZTIgfX0sCi0gezE2LCAweDg1YjAsIDAsIHsweDBjLDB4N2EsMHg4YiwweDBlLDB4YzAsMHhhNywweDgxLDB4MmMsMHgyMCwweDBjLDB4ZmMsMHgwMywweDkyLDB4MDIsMHhlZiwweDgwIH19LAotIHsxNiwgMHg4NWMwLCAwLCB7MHgzOSwweGU0LDB4MGIsMHhkOCwweDAxLDB4MWYsMHgwMCwweGY3LDB4ODAsMHhiMywweGY0LDB4OGUsMHg3OSwweDAzLDB4OGUsMHgwMCB9fSwKLSB7MTYsIDB4ODVkMCwgMCwgezB4YzcsMHhjNCwweDNkLDB4ZTgsMHgyYywweDdiLDB4MDMsMHhlYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg1ZTAsIDAsIHsweDA4LDB4MWQsMHhhYywweDAwLDB4ZjgsMHgwMCwweDNlLDB4ZGQsMHg4NywweGI2LDB4MDMsMHhlZCwweGNjLDB4ZTksMHgwMCwweDNlIH19LAotIHsxNiwgMHg4NWYwLCAwLCB7MHg0MCwweDBmLDB4YjAsMHgwNywweGNjLDB4MTAsMHgwYiwweDAwLDB4MzYsMHhkOCwweDBmLDB4ODAsMHg0MywweGFkLDB4ODAsMHhmYiB9fSwKLSB7MTYsIDB4ODYwMCwgMCwgezB4MjgsMHgzYSwweGMwLDB4MGQsMHhiNCwweDAzLDB4NmMsMHhlMiwweGViLDB4NjAsMHgzZSwweGQ0LDB4MGYsMHhiMCwweDAzLDB4YzIgfX0sCi0gezE2LCAweDg2MTAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDA1LDB4ZmUsMHgwMCwweGZlLDB4OTAsMHgzZiwweGU1IH19LAotIHsxNiwgMHg4NjIwLCAwLCB7MHgwZSwweGY4LDB4MDMsMHgzZSwweDEwLDB4ZmYsMHg5MCwweDE3LDB4NjAsMHgwZiwweGZjLDB4MDMsMHg3YSwweDAwLDB4ZWUsMHg4MCB9fSwKLSB7MTYsIDB4ODYzMCwgMCwgezB4MzcsMHhlMiwweDBlLDB4NzgsMHgwZiwweGZmLDB4NDAsMHhlZiwweDg4LDB4MWYsMHhlMCwweDBjLDB4ZjgsMHg4MywweGZlLDB4ODAgfX0sCi0gezE2LCAweDg2NDAsIDAsIHsweGNmLDB4ZDAsMHhiMywweGYwLDB4MGMsMHhmOCwweGMzLDB4MTAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4NjUwLCAwLCB7MHhhOCwweDExLDB4OWMsMHg0MCwweGI0LDB4MTAsMHgwZiwweGNjLDB4MDAsMHg3MiwweDAyLDB4MWMsMHgwMCwweGI2LDB4MDIsMHgwOSB9fSwKLSB7MTYsIDB4ODY2MCwgMCwgezB4YzAsMHgyOCwweGYwLDB4MDIsMHg5OCwweDAwLDB4YTYsMHgwMCwweDIxLDB4YzAsMHgwYiwweDYwLDB4MDMsMHhmYywweDAyLDB4ODcgfX0sCi0gezE2LCAweDg2NzAsIDAsIHsweDAwLDB4MmQsMHhjMCwweDA4LDB4NzAsMHgwMiwweGRlLDB4MDAsMHg4ZiwweDEwLDB4MjEsMHhjMCwweDA4LDB4ZjAsMHgwMywweDZhIH19LAotIHsxNiwgMHg4NjgwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweDk0LDB4MDAsMHhiNiwweDAyLDB4MmYsMHhjMiB9fSwKLSB7MTYsIDB4ODY5MCwgMCwgezB4MWEsMHgzMCwweDgwLDB4MWMsMHgwMCwweGI2LDB4MDgsMHgwMSwweDQwLDB4MGEsMHhmMCwweDAyLDB4MTgsMHgwMCwweDg3LDB4MDAgfX0sCi0gezE2LCAweDg2YTAsIDAsIHsweDIxLDB4YzAsMHgwYiwweGQwLDB4MDIsMHg5YywweDEwLDB4ODcsMHgwMCwweDI5LDB4YzAsMHgwOCwweDcwLDB4MDIsMHhkYywweDQ0IH19LAotIHsxNiwgMHg4NmIwLCAwLCB7MHg4NywweDEwLDB4NjQsMHhjMCwweDA4LDB4NzAsMHgwMiwweDA2LDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODZjMCwgMCwgezB4NjAsMHgxNCwweGNlLDB4NjAsMHhiMCwweDAwLDB4MmMsMHhjMCwweDA4LDB4MzQsMHgwYSwweDBjLDB4MDgsMHhiMCwweDA0LDB4MDAgfX0sCi0gezE2LCAweDg2ZDAsIDAsIHsweDQwLDB4MDgsMHgzMCwweGEyLDB4ODksMHg4MCwweGEyLDB4NjIsMHgyMCwweGUwLDB4MGIsMHgwMCwweDBhLDB4Y2MsMHgwOCwweDgzIH19LAotIHsxNiwgMHg4NmUwLCAwLCB7MHgwMCwweDZjLDB4YzAsMHgwOCwweDMwLDB4NTIsMHhjYywweDAwLDB4ODMsMHgwMCwweDI0LDB4YzAsMHgwOCwweDMwLDB4MDIsMHg1OCB9fSwKLSB7MTYsIDB4ODZmMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhhZSwweDAwLDB4ZjgsMHgwMCwweDNmLDB4ZDAgfX0sCi0gezE2LCAweDg3MDAsIDAsIHsweDBlLDB4ZmMsMHgwMywweDNjLDB4MDAsMHhmOSwweDAwLDB4OTIsMHg4NCwweDBmLDB4ZmMsMHgwMywweDY0LDB4MDAsMHg4MCwweDAwIH19LAotIHsxNiwgMHg4NzEwLCAwLCB7MHhiNywweGMzLDB4MGYsMHhiOCwweDgzLDB4YmMsMHgwNCwweGVmLDB4MDAsMHgzZiwweGMwLDB4M2MsMHhmMCwweDAzLDB4ZmMsMHgwMiB9fSwKLSB7MTYsIDB4ODcyMCwgMCwgezB4Y2YsMHgwMCwweDM3LDB4YzAsMHgyOCwweGYwLDB4MTMsMHgyYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg3MzAsIDAsIHsweDgwLDB4MDAsMHhlYywweDAwLDB4ZjgsMHg0MSwweDNlLDB4YzgsMHgwZiwweDMyLDB4MDMsMHhlYywweDAwLDB4ZjgsMHgwMCwweDNhIH19LAotIHsxNiwgMHg4NzQwLCAwLCB7MHhjNCwweDBmLDB4YjEsMHgwMywweGM0LDB4MDAsMHhmOSwweDAwLDB4MzYsMHhjMCwweDBmLDB4ZTQsMHgwYiwweGVjLDB4MDQsMHhmYiB9fSwKLSB7MTYsIDB4ODc1MCwgMCwgezB4MDAsMHgzZSwweGMxLDB4MGYsMHhiMCwweDQzLDB4ZWMsMHgwNCwweGZiLDB4MDAsMHgzYSwweGMwLDB4MGYsMHhiMCwweDAzLDB4ZTQgfX0sCi0gezE2LCAweDg3NjAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZjQsMHgwMCwweGZjLDB4ODAsMHgzZiwweGMwIH19LAotIHsxNiwgMHg4NzcwLCAwLCB7MHgxZiwweGYwLDB4MDMsMHgzYywweDA4LDB4ZmIsMHgwMCwweDMzLDB4ODAsMHgyZSwweGYwLDB4MTMsMHhhNCwweDA0LDB4Y2IsMHgwMCB9fSwKLSB7MTYsIDB4ODc4MCwgMCwgezB4YjksMHhjMCwweDJjLDB4ZDgsMHgwYiwweDNjLDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMCwweDA5LDB4NzAsMHgwMCwweDJjLDB4MDQgfX0sCi0gezE2LCAweDg3OTAsIDAsIHsweGZmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4YzAsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4N2EwLCAwLCB7MHhjMSwweDAwLDB4NmMsMHgwMCwweGI4LDB4ODAsMHgyZSwweGMwLDB4MGIsMHhiMCwweDAzLDB4NmMsMHgwMCwweGI5LDB4MTYsMHgyOCB9fSwKLSB7MTYsIDB4ODdiMCwgMCwgezB4NzIsMHgwOCwweGIwLDB4MjIsMHgyNywweDQwLDB4ZGIsMHgwMCwweDIyLDB4YzAsMHgwOCwweGJkLDB4ODIsMHgyYywweDA4LDB4YmIgfX0sCi0gezE2LCAweDg3YzAsIDAsIHsweDAwLDB4MmUsMHhjMCwweDQ4LDB4YjAsMHgwMiwweDJjLDB4MDAsMHhiYiwweDAwLDB4MmUsMHhjMSwweDBiLDB4YjAsMHgwMiwweGUwIH19LAotIHsxNiwgMHg4N2QwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDAsMHhiOCwweDYwLDB4MmUsMHhjMCB9fSwKLSB7MTYsIDB4ODdlMCwgMCwgezB4MGIsMHhiMCwweDAyLDB4MmMsMHgwMCwweGIxLDB4MDAsMHgyYSwweDg0LDB4NGEsMHgzMCwweDIyLDB4YWMsMHgyMCwweDk4LDB4ODAgfX0sCi0gezE2LCAweDg3ZjAsIDAsIHsweDJhLDB4YzAsMHgwOCwweDMwLDB4MDIsMHhhYywweDAwLDB4M2IsMHgwMCwweDJjLDB4YzAsMHgwYSwweGIwLDB4MDIsMHhhYywweDA4IH19LAotIHsxNiwgMHg4ODAwLCAwLCB7MHhiYiwweDAwLDB4MmUsMHhjMCwweDBiLDB4YjAsMHg0MiwweGUwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODgxMCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDEsMHhiMCwweDAwLDB4MmMsMHhjMCwweDBiLDB4MzAsMHgwMiwweDRjLDB4MDQsMHhiMCwweDAwLDB4MmEgfX0sCi0gezE2LCAweDg4MjAsIDAsIHsweDgwLDB4MDgsMHgzMCwweDAyLDB4MDAsMHgwMCwweDEwLDB4MDQsMHgyOCwweGMwLDB4MDgsMHgyMCwweDQyLDB4OGMsMHgwMCwweGIzIH19LAotIHsxNiwgMHg4ODMwLCAwLCB7MHgwMCwweDJjLDB4YzAsMHg0MiwweDMwLDB4MGEsMHg4YywweDAwLDB4YjMsMHgwMCwweDJjLDB4YzAsMHg4YiwweDMwLDB4MDIsMHhjMiB9fSwKLSB7MTYsIDB4ODg0MCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2NCwweDAwLDB4ZjgsMHg1MCwweDNmLDB4YzAgfX0sCi0gezE2LCAweDg4NTAsIDAsIHsweDBiLDB4ZjAsMHgwMywweDNjLDB4MDAsMHhmYSwweDA0LDB4MzIsMHg4MCwweDBlLDB4ZjAsMHgyMywweGFjLDB4MDAsMHhkOSwweDAwIH19LAotIHsxNiwgMHg4ODYwLCAwLCB7MHgzYiwweGMwLDB4MGMsMHg5MCwweDAzLDB4YmMsMHgwNCwweGZmLDB4MDAsMHgzZCwweGMwLDB4MmUsMHhmMCwweDBiLDB4M2MsMHgwMCB9fSwKLSB7MTYsIDB4ODg3MCwgMCwgezB4ZmYsMHgwNCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhjMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg4ODAsIDAsIHsweGEwLDB4MWQsMHhmYywweDAwLDB4ZmMsMHgwMCwweDNmLDB4YzAsMHgwNywweGYwLDB4MDMsMHhmYywweDA0LDB4N2MsMHgwMiwweGI1IH19LAotIHsxNiwgMHg4ODkwLCAwLCB7MHgwMCwweDBmLDB4ZjAsMHgwMywweGYwLDB4MDAsMHhmYywweDAwLDB4MzcsMHhjMCwweDBmLDB4ZjAsMHgxMywweDdjLDB4MDAsMHhmZiB9fSwKLSB7MTYsIDB4ODhhMCwgMCwgezB4MDAsMHgzZiwweGMwLDB4MGQsMHhmMCwweDAzLDB4NmQsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMwLDB4MWYsMHhmMCwweDAzLDB4ZTggfX0sCi0gezE2LCAweDg4YjAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZDIsMHgwMCwweGQ1LDB4ODAsMHgzMywweDBhIH19LAotIHsxNiwgMHg4OGMwLCAwLCB7MHg0YywweGY4LDB4MDMsMHhmMiwweDAwLDB4ZmMsMHgwMCwweDM3LDB4MjYsMHgxZiwweGNhLDB4MDMsMHhiYywweGM0LDB4Y2YsMHgyMCB9fSwKLSB7MTYsIDB4ODhkMCwgMCwgezB4MzMsMHhlNCwweDBmLDB4NzgsMHgwMywweDNlLDB4NDQsMHhjZiwweDAwLDB4M2IsMHhjZSwweDlmLDB4NjgsMHgxMywweGQwLDB4MDAgfX0sCi0gezE2LCAweDg4ZTAsIDAsIHsweGNkLDB4ODAsMHhiMywweDYwLDB4MGYsMHhmYSwweDgzLDB4ZjAsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4OGYwLCAwLCB7MHg4MCwweDEwLDB4ZTAsMHg4MCwweGM5LDB4MjgsMHgyMiwweDMwLDB4MDgsMHhiMiwweDIyLDB4ZWEsMHgwMSwweGI4LDB4ODIsMHgyMCB9fSwKLSB7MTYsIDB4ODkwMCwgMCwgezB4NTAsMHg0ZiwweDljLDB4MDAsMHhhOCwweGQxLDB4ZGIsMHgxMCwweGE2LDB4ZTAsMHgxNywweGI4LDB4MDMsMHhlYywweDgwLDB4ZGIgfX0sCi0gezE2LCAweDg5MTAsIDAsIHsweDA4LDB4MWYsMHhkMCwweDBiLDB4YjgsMHgwMiwweGY2LDB4MDAsMHhmYiwweDgwLDB4MjIsMHg0MCwweDBiLDB4YjAsMHgwMiwweDYwIH19LAotIHsxNiwgMHg4OTIwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGM0LDB4MjAsMHg4MSwweDgwLDB4MjAsMHgwMCB9fSwKLSB7MTYsIDB4ODkzMCwgMCwgezB4OGIsMHgzMCwweDgyLDB4YzAsMHgwMCwweGIwLDB4MTAsMHgyOCwweDA4LDB4OGIsMHgxMSwweDMwLDB4YzQsMHg4NCwweDkwLDB4MjggfX0sCi0gezE2LCAweDg5NDAsIDAsIHsweDI0LDB4YzgsMHgwYiwweDMwLDB4MDIsMHg0YywweDAwLDB4ODMsMHgxMCwweDA0LDB4YzgsMHgwYiwweDMwLDB4MDIsMHhjYywweDAwIH19LAotIHsxNiwgMHg4OTUwLCAwLCB7MHhiMywweDAwLDB4MjQsMHg0MCwweDBiLDB4MzAsMHgwMiwweGUyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODk2MCwgMCwgezB4YzAsMHgxNSwweGE2LDB4MDAsMHg4MSwweDAwLDB4MjIsMHgxMCwweDBiLDB4YjAsMHgxMiwweGVhLDB4MjAsMHhiYiwweDAwLDB4MmEgfX0sCi0gezE2LCAweDg5NzAsIDAsIHsweDcwLDB4MGEsMHg5YywweDAyLDB4NjIsMHgwMCwweDk4LDB4ODgsMHgyNiwweGM4LDB4MDIsMHhiMiwweDAyLDB4OGUsMHgwOCwweDhiIH19LAotIHsxNiwgMHg4OTgwLCAwLCB7MHgxOCwweDIyLDB4YzAsMHgwYiwweGEwLDB4MDIsMHhlZSwweDIwLDB4M2IsMHgwMCwweDI2LDB4NDAsMHgwYiwweGIwLDB4MDIsMHg3MCB9fSwKLSB7MTYsIDB4ODk5MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlMCwweDAwLDB4Y2IsMHgwMCwweDMyLDB4ODAgfX0sCi0gezE2LCAweDg5YTAsIDAsIHsweDBmLDB4YjAsMHgwMywweGU3LDB4MDAsMHhiOCwweDUyLDB4M2UsMHgyMCwweDRiLDB4MGMsMHg0MywweGVmLDB4ODIsMHg5YiwweGMwIH19LAotIHsxNiwgMHg4OWIwLCAwLCB7MHgzMiwweGMwLDB4MGIsMHhiMCwweDAyLDB4NmMsMHgwMSwweDhiLDB4ODAsMHgyZSwweGMwLDB4MGIsMHhhMCwweDgzLDB4ZTYsMHgwMCB9fSwKLSB7MTYsIDB4ODljMCwgMCwgezB4ZmIsMHgwMCwweDM2LDB4NDAsMHgwZiwweGYwLDB4MDMsMHhkMCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg5ZDAsIDAsIHsweGUwLDB4MDEsMHhiMCwweDAyLDB4ZmYsMHgwNCwweDNmLDB4OTAsMHgwYywweGYxLDB4MDEsMHhmNCwweDA4LDB4N2QsMHg4MCwweDM3IH19LAotIHsxNiwgMHg4OWUwLCAwLCB7MHgwMCwweDBmLDB4YzAsMHgyMywweDk4LDB4MDAsMHhmNywweDAwLDB4MmIsMHhlMCwweDBmLDB4ZjgsMHgyMywweGZjLDB4MDYsMHhmYiB9fSwKLSB7MTYsIDB4ODlmMCwgMCwgezB4ODMsMHhiZiwweGMwLDB4ODcsMHhkMCwweDAzLDB4ZGMsMHgwMCwweGVmLDB4MDAsMHgzYiwweGMwLDB4MGYsMHhiMCwweDAxLDB4ZjggfX0sCi0gezE2LCAweDhhMDAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YTYsMHgwMCwweGNiLDB4MDAsMHgzMywweDgwIH19LAotIHsxNiwgMHg4YTEwLCAwLCB7MHgwZiwweGIwLDB4MDMsMHhlMSwweDEwLDB4ZjIsMHg0MCwweGIyLDB4MDAsMHgzZCwweDk0LDB4MTcsMHgyZCwweDQ0LDB4ZmEsMHg0MSB9fSwKLSB7MTYsIDB4OGEyMCwgMCwgezB4MzIsMHhjMCwweDlmLDB4YjAsMHgyMywweDJjLDB4MDIsMHhjYiwweDQwLDB4MzIsMHhjMCwweDRmLDB4OTAsMHgwMywweDNkLDB4MDAgfX0sCi0gezE2LCAweDhhMzAsIDAsIHsweGNiLDB4MDAsMHgzZSwweDQwLDB4MGYsMHhiMCwweDAzLDB4MTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4YTQwLCAwLCB7MHg4OCwweDA1LDB4MjYsMHgwMCwweDhiLDB4NzEsMHgyMCwweGQ1LDB4MDMsMHg5OSwweDAyLDB4ZTAsMHgwMCwweGJiLDB4ODAsMHgyMiB9fSwKLSB7MTYsIDB4OGE1MCwgMCwgezB4NjAsMHgxYywweDgwLDB4MDMsMHg2MCwweDAwLDB4YjgsMHgwMiwweDIyLDB4YzIsMHgwYiwweDMyLDB4MDIsMHgyYywweDAxLDB4OGYgfX0sCi0gezE2LCAweDhhNjAsIDAsIHsweDAyLDB4ZDcsMHhjMCwweDBiLDB4YTAsMHgwMywweDZkLDB4NDAsMHg1MywweDgwLDB4MmUsMHhjMCwweDBlLDB4ZjAsMHg0MywweDcyIH19LAotIHsxNiwgMHg4YTcwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDY4LDB4MDIsMHg4MCwweDAwLDB4MjQsMHgwMCB9fSwKLSB7MTYsIDB4OGE4MCwgMCwgezB4MGIsMHgzNSwweDI2LDB4YzIsMHgwMCwweGIwLDB4OTAsMHgyMCwweGMwLDB4ODgsMHgwMCwweDAyLDB4NGYsMHgyMCwweGIzLDB4MDIgfX0sCi0gezE2LCAweDhhOTAsIDAsIHsweDYwLDB4ZTIsMHgxYiwweDM4LDB4MDIsMHgwYywweDAwLDB4ODgsMHgwMCwweDYwLDB4YzAsMHgwYiwweDM0LDB4ODIsMHg0YywweDAyIH19LAotIHsxNiwgMHg4YWEwLCAwLCB7MHhhMSwweDkwLDB4MmMsMHg0MCwweDBiLDB4MzAsMHgwMiwweDMwLDB4MDEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGFiMCwgMCwgezB4MjAsMHgwMSwweDNhLDB4MDgsMHg4YywweGEwLDB4MmQsMHgyMCwweDRiLDB4NzgsMHgwMiwweGRhLDB4MDAsMHhiMiwweDkwLDB4MjEgfX0sCi0gezE2LCAweDhhYzAsIDAsIHsweDY2LDB4NDgsMHg3OSwweDAyLDB4ZGUsMHg0MCwweGI3LDB4OTEsMHhhMSwweGUwLDB4ZGIsMHhmOCwweDAyLDB4MWUsMHg0MCwweDg0IH19LAotIHsxNiwgMHg4YWQwLCAwLCB7MHg5MCwweDAxLDB4ZTAsMHg4YiwweGY5LDB4MDIsMHg1ZSwweDAxLDB4OTcsMHg4MCwweDJkLDB4NjAsMHgwYSwweDc4LDB4MDAsMHg0OCB9fSwKLSB7MTYsIDB4OGFlMCwgMCwgezB4MDQsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDAwLDB4ODAsMHgwMCwweDI0LDB4MDQgfX0sCi0gezE2LCAweDhhZjAsIDAsIHsweDBmLDB4MzIsMHgwMywweGM0LDB4YTAsMHhmMSwweDQyLDB4MzAsMHhjNCwweDJjLDB4MzEsMHgwMiwweDQ0LDB4MDAsMHhmMSwweDExIH19LAotIHsxNiwgMHg4YjAwLCAwLCB7MHhhMCwweGMwLDB4MGIsMHgzMCwweDBiLDB4MGMsMHg0MiwweDgzLDB4MDAsMHgwMCwweGMwLDB4MGYsMHgzMCwweDAzLDB4NGMsMHgwMiB9fSwKLSB7MTYsIDB4OGIxMCwgMCwgezB4ZTMsMHgwMCwweDNjLDB4NDAsMHgwYiwweDMwLDB4MDEsMHgxMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhiMjAsIDAsIHsweGMwLDB4MWQsMHhiYywweDAwLDB4ZmMsMHhhNSwweDMzLDB4YzAsMHgwZiwweGQwLDB4MDMsMHhmYywweDAxLDB4YmYsMHgwMCwweDNmIH19LAotIHsxNiwgMHg4YjMwLCAwLCB7MHhjNCwweDBlLDB4NzEsMHgwMywweDc0LDB4MDAsMHg3NSwweDEwLDB4M2YsMHhjMCwweDA1LDB4ZjAsMHgwMywweGRjLDB4NDAsMHhmZiB9fSwKLSB7MTYsIDB4OGI0MCwgMCwgezB4MDQsMHgzZiwweGMwLDB4MGYsMHhmMCwweDQzLDB4ZmMsMHgwMCwweDdmLDB4MDAsMHgzZiwweDQwLDB4MGUsMHhmMCwweDAzLDB4ZDAgfX0sCi0gezE2LCAweDhiNTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA0LDB4ZTgsMHgwMCwweGYyLDB4MDQsMHhiMywweDgwIH19LAotIHsxNiwgMHg4YjYwLCAwLCB7MHgwZiwweGI4LDB4MGIsMHgyYywweDAwLDB4ZWIsMHg4MCwweDMyLDB4YzAsMHgwYywweDIwLDB4MTMsMHgyZSwweDA4LDB4Y2IsMHgwMSB9fSwKLSB7MTYsIDB4OGI3MCwgMCwgezB4MzIsMHhjNSwweDBmLDB4YjEsMHgwMywweGVjLDB4NDgsMHhjOCwweDEwLDB4MzIsMHhmYSwweDhjLDB4MzgsMHgwMywweDNjLDB4OTAgfX0sCi0gezE2LCAweDhiODAsIDAsIHsweGNiLDB4MDAsMHgzZSwweDQwLDB4MGYsMHhiMCwweDEzLDB4YzIsMHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4YjkwLCAwLCB7MHhjOCwweDEwLDB4OTgsMHgwMCwweGY2LDB4MDAsMHg2MSwweDgxLDB4MGIsMHhmMCwweDAyLDB4MWMsMHgwMCwweGQ3LDB4MDAsMHhiNyB9fSwKLSB7MTYsIDB4OGJhMCwgMCwgezB4ODAsMHgwYywweDcwLDB4MDIsMHhiYywweDEwLDB4OGYsMHgwMCwweDIxLDB4YzgsMHg4YiwweDcyLDB4NDMsMHhmYywweDg4LDB4ZGMgfX0sCi0gezE2LCAweDhiYjAsIDAsIHsweDAwLDB4MzcsMHhjOCwweDBkLDB4NTAsMHgwMiwweDFjLDB4MjIsMHg4NywweDAwLDB4MmQsMHhjMCwweDBiLDB4NzAsMHgwMiwweGQzIH19LAotIHsxNiwgMHg4YmMwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweDllLDB4MDAsMHhiNiwweDgwLDB4YTksMHhhMCB9fSwKLSB7MTYsIDB4OGJkMCwgMCwgezB4NGIsMHg3YywweDAyLDB4NWUsMHgzMCwweGEzLDB4ODgsMHgyMSwweGYwLDB4MDgsMHg3OCwweDAyLDB4MTYsMHgwMCwweDg1LDB4ODAgfX0sCi0gezE2LCAweDhiZTAsIDAsIHsweDIxLDB4ZTAsMHgwYiwweDc4LDB4MDIsMHhkZSwweDAwLDB4ODcsMHg4MCwweGExLDB4ZTQsMHgwOCwweGQ4LDB4MDIsMHg0ZSwweDAwIH19LAotIHsxNiwgMHg4YmYwLCAwLCB7MHg5NywweDgwLDB4MmQsMHg3MCwweDBiLDB4NzgsMHgwMiwweGM4LDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGMwMCwgMCwgezB4NDgsMHgxNCwweGVjLDB4MDAsMHhiMiwweDAwLDB4MjgsMHhjMCwweDBiLDB4MTAsMHgwMiwweDRlLDB4OTAsMHg5MywweDAyLDB4MjIgfX0sCi0gezE2LCAweDhjMTAsIDAsIHsweGYwLDB4MDgsMHgzOCwweDQyLDB4OGMsMHg0MiwweDgzLDB4MDQsMHgyMiwweGU0LDB4NGIsMHgzOCwweDAyLDB4OGUsMHg0MCwweDgzIH19LAotIHsxNiwgMHg4YzIwLCAwLCB7MHgwMCwweDIwLDB4YzAsMHgwOSwweDM4LDB4MjIsMHg0ZSwweDIxLDB4OTMsMHgwMCwweDJlLDB4ZTAsMHgwYiwweDMwLDB4MDIsMHhkYiB9fSwKLSB7MTYsIDB4OGMzMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhOCwweDAxLDB4ZmEsMHgwMCwweDNiLDB4ODkgfX0sCi0gezE2LCAweDhjNDAsIDAsIHsweDBmLDB4YTAsMHgwMiwweDc4LDB4MDgsMHhhZSwweDQwLDB4MjMsMHg4MCwweDJjLDB4NmMsMHgwYiwweDNhLDB4MDAsMHg4ZSwweDhjIH19LAotIHsxNiwgMHg4YzUwLCAwLCB7MHhiMiwweDAwLDB4MGIsMHg4MCwweDgyLDB4ZTAsMHgwMiwweDhlLDB4MDAsMHgyMiwweDgwLDB4MGMsMHhlOCwweDAyLDB4N2IsMHg4MCB9fSwKLSB7MTYsIDB4OGM2MCwgMCwgezB4OWEsMHg4MCwweDNlLDB4ODAsMHgwZiwweGEwLDB4MDMsMHhmYSwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhjNzAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDA5LDB4ZWMsMHgwMCwweDM2LDB4MjEsMHgwYiwweDgwLDB4MTMsMHhhMSwweDAwLDB4ZjgsMHg2MCwweDNlIH19LAotIHsxNiwgMHg4YzgwLCAwLCB7MHgwMCwweDBmLDB4ODEsMHgwMywweGUwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHg0MywweGUwLDB4MTAsMHhmOCB9fSwKLSB7MTYsIDB4OGM5MCwgMCwgezB4MDAsMHhiZSwweDAwLDB4MGYsMHg4NSwweDBiLDB4ODAsMHgwMCwweGU4LDB4MTAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZDIgfX0sCi0gezE2LCAweDhjYTAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMiwweGM5LDB4MDIsMHgzMCwweDQ4IH19LAotIHsxNiwgMHg4Y2IwLCAwLCB7MHgwYywweDk5LDB4MTMsMHhhNCwweDAyLDB4YzksMHgwMCwweDNlLDB4NDIsMHgwYywweDkwLDB4OGYsMHgyNCwweDAwLDB4ZjksMHgwMCB9fSwKLSB7MTYsIDB4OGNjMCwgMCwgezB4MzIsMHgyOCwweDBjLDB4ODgsMHgwMywweGUwLDB4MDAsMHhjOSwweDAwLDB4YjIsMHg0MCwweDBmLDB4OTAsMHgwMywweGU3LDB4MDAgfX0sCi0gezE2LCAweDhjZDAsIDAsIHsweGM5LDB4MTAsMHgzZSwweDQwLDB4MGMsMHgxMCwweDAzLDB4MDIsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4Y2UwLCAwLCB7MHg4MCwweDA0LDB4NjQsMHgwMSwweDg5LDB4ODAsMHhhMiwweDQ4LDB4MjgsMHg5MiwweDQyLDB4YzUsMHgwMCwweDg5LDB4NDAsMHgyZSB9fSwKLSB7MTYsIDB4OGNmMCwgMCwgezB4NDAsMHgyYywweDkwLDB4MDYsMHgyNSwweDAwLDB4YjksMHgwMCwweDIyLDB4NTAsMHgwOCwweDk4LDB4MDIsMHhjNCwweDAwLDB4ODkgfX0sCi0gezE2LCAweDhkMDAsIDAsIHsweDAxLDB4NzYsMHg0MCwweDRiLDB4OTIsMHgwMiwweGU1LDB4MDIsMHg4OSwweDAwLDB4MmUsMHg0MCwweDBkLDB4OTAsMHgwMywweDYwIH19LAotIHsxNiwgMHg4ZDEwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MGMsMHg4NSwweDIwLDB4YTIsMHg0MCB9fSwKLSB7MTYsIDB4OGQyMCwgMCwgezB4MDgsMHg5MCwweDA2LDB4ZTUsMHgwMCwweDg5LDB4NDAsMHgyZSwweDQwLDB4MDksMHg5MCwweDQyLDB4YTQsMHhhMCwweDMxLDB4MDAgfX0sCi0gezE2LCAweDhkMzAsIDAsIHsweDIyLDB4NTAsMHgxOCwweDkxLDB4MDIsMHhlNCwweDAwLDB4ODEsMHgwMCwweDIyLDB4NDAsMHgwYiwweDkwLDB4MDYsMHhlNCwweDAwIH19LAotIHsxNiwgMHg4ZDQwLCAwLCB7MHg4OSwweDAwLDB4MmUsMHg0MCwweDA5LDB4OTAsMHgwMiwweDBlLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGQ1MCwgMCwgezB4MDAsMHgwNCwweDE1LDB4MDAsMHg4NSwweDQwLDB4MjAsMHg0MCwweDA4LDB4MTQsMHgyNiwweGU0LDB4MDAsMHg4MSwweDAwLDB4MmMgfX0sCi0gezE2LCAweDhkNjAsIDAsIHsweDQwLDB4MTgsMHgxMCwweDAyLDB4ODQsMHg4MCwweGIxLDB4MjAsMHhhMCwweDUwLDB4MDgsMHgxNCwweDAyLDB4ZTUsMHgwMiwweDgxIH19LAotIHsxNiwgMHg4ZDcwLCAwLCB7MHg0MCwweDIwLDB4NDgsMHgwYiwweDEwLDB4MDYsMHhjYywweDAwLDB4ODEsMHgwMSwweDJjLDB4NTAsMHgwOSwweDE0LDB4MDIsMHg0YSB9fSwKLSB7MTYsIDB4OGQ4MCwgMCwgezB4MDUsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDAwLDB4OGMsMHgwMCwweDMyLDB4MDAgfX0sCi0gezE2LCAweDhkOTAsIDAsIHsweDBjLDB4ODAsMHgyMywweGUwLDB4MDAsMHhjOCwweDAwLDB4M2UsMHgxNCwweDBkLDB4ODAsMHgxMiwweGExLDB4NDQsMHhmOCwweDUxIH19LAotIHsxNiwgMHg4ZGEwLCAwLCB7MHgzMiwweDAwLDB4MmMsMHg4MCwweDAzLDB4ZTAsMHgwMCwweDg4LDB4MDQsMHgyMiwweDE0LDB4MGYsMHg4MCwweDA3LDB4ZTAsMHgwMCB9fSwKLSB7MTYsIDB4OGRiMCwgMCwgezB4YzgsMHgwMCwweDNlLDB4MDAsMHgwZCwweDgwLDB4MDMsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhkYzAsIDAsIHsweDk4LDB4OWQsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNmLDB4NTAsMHgwZiwweGQwLDB4MDMsMHhkYywweDAxLDB4YmQsMHg0MiwweDNmIH19LAotIHsxNiwgMHg4ZGQwLCAwLCB7MHg1MCwweDRmLDB4ZDQsMHg0MywweDc0LDB4NDEsMHhmZCwweDEwLDB4M2YsMHgxMCwweDFmLDB4YzQsMHgxMywweGYxLDB4MDAsMHhmZCB9fSwKLSB7MTYsIDB4OGRlMCwgMCwgezB4NDAsMHg3ZSwweDQ0LDB4MGYsMHhkMCwweDQzLDB4ZjUsMHgwMSwweGZkLDB4MDAsMHgzZiwweDQwLDB4MGYsMHg5NCwweDAzLDB4ZTYgfX0sCi0gezE2LCAweDhkZjAsIDAsIHsweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZjQsMHgwMCwweGRmLDB4MDUsMHgzMywweDYxIH19LAotIHsxNiwgMHg4ZTAwLCAwLCB7MHgwZiwweDUwLDB4NTMsMHgzNCwweDEwLDB4ZmQsMHgwNCwweDMzLDB4NDQsMHg0ZiwweDUwLDB4MDMsMHg3NiwweGMxLDB4Y2QsMHhlMCB9fSwKLSB7MTYsIDB4OGUxMCwgMCwgezB4MzMsMHg2MCwweDBjLDB4Y2UsMHgwMywweGY2LDB4YzAsMHhlMSwweGMwLDB4YjYsMHg2NCwweDhmLDB4NTAsMHgwYiwweDM2LDB4ODIgfX0sCi0gezE2LCAweDhlMjAsIDAsIHsweGNkLDB4MDAsMHgzZSwweDQ0LDB4NGMsMHg5ZSwweGMzLDB4YzYsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4ZTMwLCAwLCB7MHgzOCwweDEwLDB4ZWEsMHgyOCwweDgwLDB4YTAsMHhiMiwweDA0LDB4MGIsMHg4YSwweDgzLDB4NjAsMHgwMCwweGZhLDB4MDAsMHgzNiB9fSwKLSB7MTYsIDB4OGU0MCwgMCwgezB4MjgsMHg4YiwweDgwLDB4MDMsMHhlMywweGM4LDB4YzgsMHg4NCwweDIyLDB4MTQsMHgwOCwweDhhLDB4MDIsMHhlMiwweDgwLDB4ZDggfX0sCi0gezE2LCAweDhlNTAsIDAsIHsweDgyLDB4MzQsMHgzNCwweDFiLDB4ODAsMHgwMywweDYwLDB4MDQsMHg4OCwweDAwLDB4MmUsMHgyMCwweDBhLDB4OGUsMHg0MiwweGNlIH19LAotIHsxNiwgMHg4ZTYwLCAwLCB7MHgwNiwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwNSwweGM0LDB4ODAsMHg4MSwweDA4LDB4MDQsMHg0MSB9fSwKLSB7MTYsIDB4OGU3MCwgMCwgezB4MGIsMHg5MiwweDAyLDB4MDQsMHgwMCwweGIxLDB4MDAsMHgyYywweDQwLDB4MGIsMHgxOCwweDAyLDB4MjQsMHgwMCwweGIxLDB4NjAgfX0sCi0gezE2LCAweDhlODAsIDAsIHsweDI2LDB4NDAsMHgwYSwweDE2LDB4MDIsMHhjNSwweDAwLDB4YTEsMHhjMCwweDIwLDB4NDgsMHgwYiwweDkwLDB4MDIsMHg0NywweDAwIH19LAotIHsxNiwgMHg4ZTkwLCAwLCB7MHg5MSwweDAxLDB4MmMsMHg0OCwweDE4LDB4MTIsMHgwMiwweGQyLDB4MDEsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGVhMCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MGMsMHg4YiwweDA0LDB4YTIsMHg1MCwweDBiLDB4OTEsMHgwMiwweDI0LDB4MDQsMHhhOSwweDAxLDB4MmUgfX0sCi0gezE2LCAweDhlYjAsIDAsIHsweDQyLDB4MGIsMHg5MCwweDAyLDB4YTQsMHgwMCwweGE5LDB4MDAsMHgyNiwweDYwLDB4MGEsMHg5MCwweDAyLDB4ZTYsMHgwMCwweDgxIH19LAotIHsxNiwgMHg4ZWMwLCAwLCB7MHgwMCwweDIyLDB4NDAsMHg4YiwweGIwLDB4MDIsMHgyNCwweDA4LDB4OTksMHgxMCwweDJlLDB4NDAsMHgxYSwweDkwLDB4MDIsMHhjNiB9fSwKLSB7MTYsIDB4OGVkMCwgMCwgezB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNSwweDAwLDB4YzksMHgwMCwweDM2LDB4NDAgfX0sCi0gezE2LCAweDhlZTAsIDAsIHsweDBmLDB4MTAsMHgwMiwweDI1LDB4MDAsMHhiMSwweDAwLDB4MmUsMHg2MCwweDBmLDB4MTAsMHgxMiwweDI0LDB4MDIsMHhiOSwweGEwIH19LAotIHsxNiwgMHg4ZWYwLCAwLCB7MHhhNCwweDQwLDB4MmUsMHg5MSwweDAzLDB4ZTYsMHgwMCwweGE5LDB4MDAsMHgyMiwweDQwLDB4MGIsMHgxOSwweDgwLDB4NjQsMHgwNCB9fSwKLSB7MTYsIDB4OGYwMCwgMCwgezB4ZDksMHg4MSwweDJlLDB4NDAsMHg0YywweDkwLDB4MDMsMHhlOCwweDE0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhmMTAsIDAsIHsweDY4LDB4MDEsMHhhNCwweDBhLDB4ZTksMHgwMCwweGJlLDB4NDgsMHgwZiwweDk4LDB4MGIsMHhlNCwweDAwLDB4ZjksMHhjNCwweDM2IH19LAotIHsxNiwgMHg4ZjIwLCAwLCB7MHg3MCwweDFmLDB4OTIsMHgwMywweGU2LDB4OTAsMHhjMSwweDkwLDB4M2EsMHg0MCwweDhkLDB4ODgsMHgwMywweGU0LDB4MDAsMHhmOSB9fSwKLSB7MTYsIDB4OGYzMCwgMCwgezB4OTAsMHgzZSwweDQwLDB4MGIsMHg5OCwweDAzLDB4ZTYsMHg0MCwweGU5LDB4MDAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4ZDIgfX0sCi0gezE2LCAweDhmNDAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg2OCwweDEwLDB4YTEsMHgwMiwweGQ4LDB4MjAsMHhiMiwweDEwIH19LAotIHsxNiwgMHg4ZjUwLCAwLCB7MHgwYywweDgwLDB4ODMsMHgyMSwweDQwLDB4YzgsMHg1OCwweGIyLDB4MTAsMHg0YywweDgwLDB4MGIsMHgyMCwweDAwLDB4ZjgsMHg0MiB9fSwKLSB7MTYsIDB4OGY2MCwgMCwgezB4MzIsMHgwMCwweDBmLDB4ODAsMHgwMywweGUwLDB4MDIsMHhkOCwweDAwLDB4NzIsMHgwMCwweDFjLDB4ODAsMHgwMCwweDIwLDB4MDAgfX0sCi0gezE2LCAweDhmNzAsIDAsIHsweGY4LDB4MDQsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4MDIsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4ZjgwLCAwLCB7MHgyOCwweDA1LDB4MzgsMHgwNCwweGNlLDB4NDEsMHgyMywweDgwLDB4MDgsMHhlMCwweDAyLDB4MzksMHgxMCwweGFlLDB4NDAsMHgyMiB9fSwKLSB7MTYsIDB4OGY5MCwgMCwgezB4ODAsMHgwOCwweGUwLDB4MDIsMHgxYSwweDAwLDB4YmEsMHgwMCwweDJiLDB4YWQsMHgwMywweDgwLDB4MDIsMHhlOCwweDAwLDB4Y2EgfX0sCi0gezE2LCAweDhmYTAsIDAsIHsweDAwLDB4MmEsMHg4MCwweDBhLDB4ZTAsMHgwMiwweDE4LDB4MDAsMHhiYSwweDAwLDB4MWEsMHg4MCwweDBiLDB4YTAsMHgwMywweDRhIH19LAotIHsxNiwgMHg4ZmIwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NjgsMHgwNSwweDZjLDB4MTIsMHg4OSwweDAwLDB4YTAsMHhlMCB9fSwKLSB7MTYsIDB4OGZjMCwgMCwgezB4MDgsMHgzOCwweDAyLDB4MGQsMHg4OCwweDgzLDB4MDAsMHgwNCwweGUwLDB4MDgsMHgzOCwweDMyLDB4MGUsMHgyNSwweDMxLDB4MDEgfX0sCi0gezE2LCAweDhmZDAsIDAsIHsweDI0LDB4ZTAsMHg4YiwweDM4LDB4MDIsMHhlNCwweDAxLDB4ODMsMHgwMCwweDIwLDB4YzAsMHgwOCwweDMwLDB4MDIsMHg4YywweDAwIH19LAotIHsxNiwgMHg4ZmUwLCAwLCB7MHhiMywweDAwLDB4MmUsMHhjMCwweDBiLDB4MzAsMHgwMiwweDBhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGZmMCwgMCwgezB4YTAsMHgwMSwweDE0LDB4MjAsMHg4NiwweDIwLDB4MjksMHhiMCwweDA4LDB4ZjAsMHg4MiwweDNlLDB4MDQsMHhhNywweDAwLDB4MjEgfX0sCi0gezE2LCAweDkwMDAsIDAsIHsweDcwLDB4ODgsMHg3MCwweDkyLDB4MWMsMHgyMCwweGJkLDB4MDAsMHg2OSwweGMwLDB4MGIsMHg3NiwweDAyLDB4ZDQsMHg4MCwweDhmIH19LAotIHsxNiwgMHg5MDEwLCAwLCB7MHgyMSwweDI5LDB4ZTAsMHgwYSwweDYwLDB4ODYsMHg5OCwweDAxLDB4YjcsMHgwMCwweDJkLDB4YzgsMHgwYiwweDNiLDB4MDIsMHg2MCB9fSwKLSB7MTYsIDB4OTAyMCwgMCwgezB4MDQsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgzZSwweDAwLDB4YzcsMHhhMCwweGIwLDB4ZTAgfX0sCi0gezE2LCAweDkwMzAsIDAsIHsweDJjLDB4NzgsMHgwYiwweDFhLDB4MDAsMHhjMywweDgwLDB4MzcsMHhlMCwweDI4LDB4NzgsMHgwMywweDFhLDB4MDgsMHhmNSwweDkwIH19LAotIHsxNiwgMHg5MDQwLCAwLCB7MHgzNSwweGUwLDB4MGYsMHg3YywweDEyLDB4ZDYsMHg4MiwweGM3LDB4OTAsMHgyMSwweGU0LDB4MDgsMHg3OCwweDAzLDB4OWUsMHgwMCB9fSwKLSB7MTYsIDB4OTA1MCwgMCwgezB4ZjUsMHg4MCwweDNkLDB4ZjEsMHgwZiwweDc4LDB4MDMsMHgyMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDkwNjAsIDAsIHsweDA4LDB4MTksMHhhNCwweDAwLDB4ZWUsMHg4MCwweDM2LDB4YzEsMHg0ZiwweGQwLDB4MDMsMHhjOCwweDAwLDB4ZmIsMHgwMCwweDNlIH19LAotIHsxNiwgMHg5MDcwLCAwLCB7MHg1MSwweDBmLDB4YjAsMHgwMywweGU0LDB4MDgsMHhmMSwweDYwLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgwMywweGM1LDB4MDAsMHhlYiB9fSwKLSB7MTYsIDB4OTA4MCwgMCwgezB4MTAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDA5LDB4NmMsMHgwMCwweGZiLDB4MDAsMHgzYSwweGMwLDB4MGYsMHhiMCwweDAzLDB4YzIgfX0sCi0gezE2LCAweDkwOTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4ZmUsMHgwMCwweGZkLDB4ODgsMHgzMywweDYwIH19LAotIHsxNiwgMHg5MGEwLCAwLCB7MHgwZiwweGY5LDB4MDMsMHhjZSwweDQwLDB4ZDcsMHg4NCwweDM3LDB4NzAsMHgwYywweGQ4LDB4MjMsMHgzNiwweDAwLDB4YzUsMHg4OCB9fSwKLSB7MTYsIDB4OTBiMCwgMCwgezB4MzMsMHhlMCwweDRmLDB4ZjgsMHgxMywweGY3LDB4MjgsMHhkZiwweDgwLDB4MzcsMHhlMiwweDBjLDB4NTgsMHgwMywweDNlLDB4MDAgfX0sCi0gezE2LCAweDkwYzAsIDAsIHsweGZmLDB4OTAsMHgzZiwweGUwLDB4MGMsMHhmOCwweDAzLDB4MDAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5MGQwLCAwLCB7MHhhOSwweDExLDB4OWMsMHgwOCwweGY2LDB4MDAsMHhhMSwweDAwLDB4MGIsMHg2MywweDAyLDB4ZDYsMHgzMCwweDg1LDB4NDEsMHgzMSB9fSwKLSB7MTYsIDB4OTBlMCwgMCwgezB4YzgsMHgwOCwweDUwLDB4MjMsMHgxYywweDAwLDB4ZDUsMHgyMCwweGIxLDB4ODAsMHgwZiwweDcwLDB4MDMsMHhiNCwweDAwLDB4YzcgfX0sCi0gezE2LCAweDkwZjAsIDAsIHsweDAwLDB4MjEsMHhjMCwweDBmLDB4NDAsMHhhMywweDU4LDB4NDAsMHhiNywweDAwLDB4M2YsMHhjNCwweDBhLDB4ZjAsMHgwMiwweDJhIH19LAotIHsxNiwgMHg5MTAwLCAwLCB7MHgwNiwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDljLDB4NDAsMHhiNywweDEwLDB4MjEsMHhkMiB9fSwKLSB7MTYsIDB4OTExMCwgMCwgezB4MGIsMHg3MCwweDAyLDB4ZGMsMHg0MiwweDg2LDB4MDAsMHgyNSwweDYxLDB4MDgsMHg1MSwweDAyLDB4NTAsMHgwMCwweDk1LDB4MDAgfX0sCi0gezE2LCAweDkxMjAsIDAsIHsweDI1LDB4YzAsMHgwOSwweDcwLDB4ODIsMHhkNCwweDAwLDB4ODcsMHgwMCwweDI0LDB4YzAsMHgwOCwweDUwLDB4MDIsMHg1YywweDAwIH19LAotIHsxNiwgMHg5MTMwLCAwLCB7MHg5NSwweDA0LDB4MmQsMHhjMCwweDA4LDB4NzAsMHgwMiwweDAwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTE0MCwgMCwgezB4MjAsMHgxNCwweGNjLDB4MDgsMHhiMiwweGQwLDB4MjAsMHhlMCwweDRiLDB4MDgsMHgwMiwweGM0LDB4MDAsMHg4MCwweDgwLDB4MjAgfX0sCi0gezE2LCAweDkxNTAsIDAsIHsweGYwLDB4MDgsMHgxYSwweDAyLDB4ODUsMHg0OCwweDgxLDB4MTAsMHgyMCwweDQwLDB4MGEsMHgzMCwweDAyLDB4YzYsMHgxMCwweDkzIH19LAotIHsxNiwgMHg5MTYwLCAwLCB7MHgwMCwweDIwLDB4YzAsMHgwYSwweDFjLDB4MDIsMHgwZCwweDQwLDB4YjMsMHgwMCwweDY4LDB4YzQsMHgwYSwweGIwLDB4MDIsMHgwOSB9fSwKLSB7MTYsIDB4OTE3MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhhYywweDAxLDB4ZmUsMHgwMCwweDMyLDB4ZjAgfX0sCi0gezE2LCAweDkxODAsIDAsIHsweDBmLDB4ODgsMHgwMywweGU2LDB4MDAsMHhjOCwweGM4LDB4MzYsMHhmNiwweDI4LDB4YTYsMHgwYSwweDZkLDB4MDAsMHg5ZCwweDAwIH19LAotIHsxNiwgMHg5MTkwLCAwLCB7MHgzMiwweDAwLDB4MGIsMHhiMCwweDAzLDB4ZjYsMHgwMywweGM3LDB4MDAsMHgzNywweGMwLDB4MDgsMHg5YywweDBhLDB4NmUsMHgwMCB9fSwKLSB7MTYsIDB4OTFhMCwgMCwgezB4YmIsMHgwMCwweDJmLDB4YzAsMHgwYywweGYwLDB4MDMsMHgyYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDkxYjAsIDAsIHsweDgwLDB4MDAsMHhlNCwweDAxLDB4ZWIsMHg0MCwweDNlLDB4ODAsMHg0ZiwweGMxLDB4MDMsMHhlNCwweDAwLDB4YjgsMHgwOCwweDNhIH19LAotIHsxNiwgMHg5MWMwLCAwLCB7MHg0MCwweDhmLDB4YTQsMHgxMywweDZjLDB4MjAsMHhmOSwweDAwLDB4M2UsMHg3MCwweDBmLDB4YjAsMHgwMywweGE0LDB4NDAsMHhlYiB9fSwKLSB7MTYsIDB4OTFkMCwgMCwgezB4MDAsMHgzZSwweGMwLDB4MGYsMHg5MiwweDIzLDB4ZTgsMHgwMCwweGY5LDB4ODAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDYzLDB4ZTAgfX0sCi0gezE2LCAweDkxZTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZmMsMHgwOCwweGNlLDB4MDgsMHgzMywweGMwIH19LAotIHsxNiwgMHg5MWYwLCAwLCB7MHgwZiwweGRhLDB4MDMsMHgzMCwweDAwLDB4ZTQsMHgwNCwweDM1LDB4YzAsMHgwZCwweGEwLDB4MDMsMHgyOCwweDAwLDB4YzUsMHgwMCB9fSwKLSB7MTYsIDB4OTIwMCwgMCwgezB4MzMsMHgwMCwweDBiLDB4ZmEsMHgwMywweGY0LDB4MDMsMHhjYiwweDAwLDB4MzEsMHhjMCwweDBjLDB4ZDQsMHgwMywweDE0LDB4MjAgfX0sCi0gezE2LCAweDkyMTAsIDAsIHsweGNkLDB4ODAsMHgyMywweGMxLDB4MGMsMHhmMCwweDAyLDB4MDgsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5MjIwLCAwLCB7MHg4MSwweDA0LDB4NDQsMHgxMCwweGNiLDB4ZDAsMHgyMiwweGMwLDB4MGIsMHg5NCwweDAyLDB4MjIsMHg4NCwweGI4LDB4YzYsMHgwMiB9fSwKLSB7MTYsIDB4OTIzMCwgMCwgezB4NDAsMHgwOCwweDI4LDB4MDIsMHhhNSwweDgwLDB4ODksMHgwMCwweDIyLDB4NjAsMHgwYiwweGI4LDB4MDIsMHg2NCwweDAwLDB4OGIgfX0sCi0gezE2LCAweDkyNDAsIDAsIHsweDAwLDB4MmEsMHhjMCwweGM4LDB4MDAsMHgwMywweDY2LDB4MDAsMHg4MSwweDAwLDB4MDAsMHhjMCwweDBkLDB4YjAsMHgwYSwweGE4IH19LAotIHsxNiwgMHg5MjUwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDAsMHgxMywweDAwLDB4MjIsMHg0MCB9fSwKLSB7MTYsIDB4OTI2MCwgMCwgezB4OGIsMHgyNCwweDAyLDB4MmEsMHgwMCwweGJiLDB4ODIsMHgyMiwweDQwLDB4MDAsMHhhYywweDAyLDB4ODQsMHgwMCwweDg5LDB4MDAgfX0sCi0gezE2LCAweDkyNzAsIDAsIHsweDIyLDB4MjIsMHgwYiwweGIwLDB4MDIsMHhjNCwweDAwLDB4OWIsMHgwMCwweDJhLDB4YzAsMHgwOCwweGIwLDB4MDIsMHgyZSwweDAwIH19LAotIHsxNiwgMHg5MjgwLCAwLCB7MHg4YiwweDEwLDB4MmEsMHhjMCwweDA4LDB4YjAsMHgwMiwweGEwLDB4MTAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTI5MCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MTAsMHg4MywweDAwLDB4MjAsMHgwMSwweDBiLDB4MjAsMHgwMiwweDAwLDB4ODAsMHhiMSwweDAwLDB4MjAgfX0sCi0gezE2LCAweDkyYTAsIDAsIHsweGMxLDB4MDgsMHgyMCwweDAyLDB4ODgsMHgwMSwweDgxLDB4MDAsMHhhMCwweDAwLDB4MGIsMHgzMCwweDAyLDB4NDQsMHgwMSwweDliIH19LAotIHsxNiwgMHg5MmIwLCAwLCB7MHgwMCwweDI4LDB4YzAsMHgwOCwweGIwLDB4MDIsMHg0OCwweDA2LDB4ODksMHgwMCwweDJhLDB4YzAsMHgwOSwweDMwLDB4MDIsMHg4MiB9fSwKLSB7MTYsIDB4OTJjMCwgMCwgezB4MDUsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OGQsMHg2YywweDAwLDB4YzMsMHgwMCwweGIyLDB4YzAgfX0sCi0gezE2LCAweDkyZDAsIDAsIHsweDBmLDB4YjAsMHgwMywweDI4LDB4MjAsMHhmYSwweDAwLDB4YjEsMHg0MCwweDBkLDB4YTAsMHgwNywweGEwLDB4MDAsMHhjZCwweDAwIH19LAotIHsxNiwgMHg5MmUwLCAwLCB7MHgyMiwweDAwLDB4MGYsMHhiMCwweDAzLDB4ZjQsMHgwMCwweDlmLDB4MDAsMHgzYiwweGMwLDB4MmMsMHhiMCwweDBiLDB4MjQsMHgwMCB9fSwKLSB7MTYsIDB4OTJmMCwgMCwgezB4YzksMHgwMCwweGJhLDB4YzAsMHgwYywweGIwLDB4MDMsMHg4MCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDkzMDAsIDAsIHsweGEwLDB4MWQsMHhmYywweDA2LDB4ZmYsMHgwMiwweGFmLDB4YzAsMHgwZiwweGMwLDB4MDMsMHhmMCwweDEwLDB4ZmMsMHgwMCwweDNmIH19LAotIHsxNiwgMHg5MzEwLCAwLCB7MHhjMCwweDlmLDB4ZTAsMHgxMywweGYwLDB4MDAsMHhmZCwweDA0LDB4M2YsMHg0MCwweDRmLDB4ZjAsMHgwMywweDc0LDB4MDAsMHhlZiB9fSwKLSB7MTYsIDB4OTMyMCwgMCwgezB4MDAsMHgzZiwweGMwLDB4OGYsMHhlMCwweDAyLDB4YjQsMHgwMSwweGZkLDB4MDQsMHgzNywweGMwLDB4MGYsMHhmMCwweDQzLDB4NjggfX0sCi0gezE2LCAweDkzMzAsIDAsIHsweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmMsMHgwMCwweGM3LDB4MjAsMHhiMywweGM4IH19LAotIHsxNiwgMHg5MzQwLCAwLCB7MHgxYywweGYxLDB4MDMsMHg3YywweDIwLDB4Y2YsMHgwYSwweDNmLDB4ZDAsMHgwZCwweGYwLDB4MDMsMHg3YywweDgwLDB4OGYsMHgzMiB9fSwKLSB7MTYsIDB4OTM1MCwgMCwgezB4MzMsMHhjNCwweDBmLDB4ZjEsMHg4MywweDNjLDB4ZTAsMHhjZiwweDEwLDB4MzMsMHhjNCwweDBkLDB4ZjIsMHg4MywweDNjLDB4ZTIgfX0sCi0gezE2LCAweDkzNjAsIDAsIHsweGM3LDB4ODAsMHgxNywweGNjLDB4NGMsMHhmMywweDgzLDB4MzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5MzcwLCAwLCB7MHg4MCwweDEwLDB4ZTMsMHg0MCwweDg4LDB4NjgsMHgyMiwweDMwLDB4MDgsMHgwNiwweDAyLDB4MDEsMHhhMSwweDg4LDB4YzQsMHgwZSB9fSwKLSB7MTYsIDB4OTM4MCwgMCwgezB4MTQsMHgwOCwweDg3LDB4ODAsMHgwMSwweGMwLDB4MjgsMHg1MCwweDAyLDB4MDQsMHg4YiwweDg2LDB4MDIsMHhhMSwweDk4LDB4ODggfX0sCi0gezE2LCAweDkzOTAsIDAsIHsweDQxLDB4MmEsMHgwNCwweDBhLDB4ODQsMHg4MiwweGJkLDB4ODAsMHg4YiwweDA4LDB4MmIsMHhjNCwweDg4LDB4ZjQsMHgwMywweDYwIH19LAotIHsxNiwgMHg5M2EwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNjLDB4MDgsMHg4MiwweDQwLDB4MjAsMHgxMCB9fSwKLSB7MTYsIDB4OTNiMCwgMCwgezB4MDgsMHgyMSwweDEyLDB4NDQsMHgwNCwweDgyLDB4MDQsMHgyYywweDA4LDB4ODksMHg5MCwweDAyLDB4NDQsMHgyMSwweDhiLDB4MDAgfX0sCi0gezE2LCAweDkzYzAsIDAsIHsweDI0LDB4ODgsMHg4YiwweGEwLDB4MDAsMHg0MCwweDg0LDB4ODksMHgzMCwweDIyLDB4NDgsMHg4OCwweGIwLDB4MDIsMHhjYywweDA4IH19LAotIHsxNiwgMHg5M2QwLCAwLCB7MHg4OCwweDIwLDB4YTQsMHhjOCwweDAwLDB4MzIsMHgwYSwweDIyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTNlMCwgMCwgezB4YzAsMHgxNSwweGEwLDB4MDAsMHg4OSwweDAwLDB4MjIsMHhjMSwweDg4LDB4OTAsMHg2MiwweDI4LDB4MDgsMHg4OSwweDA4LDB4MmUgfX0sCi0gezE2LCAweDkzZjAsIDAsIHsweGMwLDB4MDgsMHhhMCwweDAyLDB4MjgsMHgwOCwweGE4LDB4MDAsMHgyNiwweDQyLDB4MGIsMHg5MCwweDAyLDB4Y2MsMHg1MCwweDhhIH19LAotIHsxNiwgMHg5NDAwLCAwLCB7MHgyMiwweDJhLDB4ODYsMHgwYSwweDgwLDB4MDIsMHhlYywweDAwLDB4ODgsMHg4NCwweDJhLDB4YzEsMHgwOCwweGIwLDB4MjYsMHgzMCB9fSwKLSB7MTYsIDB4OTQxMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhmMCwweDAyLDB4Y2YsMHgwMCwweDMzLDB4YzAgfX0sCi0gezE2LCAweDk0MjAsIDAsIHsweDQ4LDB4ZjgsMHg0MywweDc5LDB4MDAsMHg4ZCwweGMwLDB4M2YsMHgzMCwweDhkLDB4NjAsMHg4MywweDc4LDB4NjAsMHhjNCwweDU4IH19LAotIHsxNiwgMHg5NDMwLCAwLCB7MHgzNywweDIwLDB4MGYsMHg1OCwweDEzLDB4N2IsMHgwMiwweGNjLDB4YzQsMHgzMSwweDIwLDB4MGMsMHg0NCwweDAzLDB4ZWMsMHgwMiB9fSwKLSB7MTYsIDB4OTQ0MCwgMCwgezB4OGIsMHg4MCwweDM2LDB4YzAsMHgyNCwweGIwLDB4MTIsMHgxMCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk0NTAsIDAsIHsweGUwLDB4MDEsMHg5YywweDAwLDB4ZjQsMHgxMCwweDNkLDB4MDAsMHg2ZiwweGM5LDB4MTMsMHhkNCwweDEyLDB4ZmUsMHg5MCwweDNmIH19LAotIHsxNiwgMHg5NDYwLCAwLCB7MHhmMCwweDBmLDB4ZGEsMHgyMywweGY0LDB4MTQsMHhmZiwweDAyLDB4M2IsMHhmMCwweDBmLDB4ZWEsMHgyMywweGI2LDB4MDAsMHhmZiB9fSwKLSB7MTYsIDB4OTQ3MCwgMCwgezB4ODIsMHgzZiwweGUxLDB4OGYsMHhmNCwweDAzLDB4YmMsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMwLDB4YWYsMHg3MCwweDAzLDB4ZjggfX0sCi0gezE2LCAweDk0ODAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YTAsMHgwMCwweGNhLDB4MDAsMHgzMiwweDA4IH19LAotIHsxNiwgMHg5NDkwLCAwLCB7MHgxYywweGEwLDB4MDMsMHhhNSwweDIwLDB4Y2IsMHg0MCwweGJhLDB4MTAsMHgxZiwweGIwLDB4MDMsMHhhYywweDAwLDB4ZWIsMHgwMCB9fSwKLSB7MTYsIDB4OTRhMCwgMCwgezB4NzIsMHg5MCwweDBjLDB4YjQsMHgwMywweDI5LDB4MDQsMHhjOSwweDUyLDB4MzIsMHg1MCwweDBjLDB4YjQsMHgwMywweDBjLDB4MDAgfX0sCi0gezE2LCAweDk0YjAsIDAsIHsweGY4LDB4NDAsMHgzMiwweGMxLDB4MGUsMHhiMCwweDBiLDB4NTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5NGMwLCAwLCB7MHhjOCwweDA1LDB4MmQsMHg4MCwweDg5LDB4ODAsMHgyMiwweGQ5LDB4MDgsMHg5MCwweDIyLDB4MmEsMHgwMCwweDg4LDB4NTQsMHgyMiB9fSwKLSB7MTYsIDB4OTRkMCwgMCwgezB4YzAsMHg4YiwweDgwLDB4MjIsMHgyMCwweDE5LDB4YzgsMHgwMCwweDIyLDB4NDAsMHg4ZCwweDgwLDB4MWEsMHgyNCwweDEwLDB4ZDIgfX0sCi0gezE2LCAweDk0ZTAsIDAsIHsweDQ0LDB4MjIsMHg4MSwweDBkLDB4ODAsMHgwMywweDdjLDB4MDAsMHhiMCwweDAwLDB4MzcsMHhjMCwweDg4LDB4ZjAsMHgwMiwweDMyIH19LAotIHsxNiwgMHg5NGYwLCAwLCB7MHgxMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRlLDB4MDAsMHg4MSwweDAwLDB4YTAsMHhmMCB9fSwKLSB7MTYsIDB4OTUwMCwgMCwgezB4MDgsMHg5MCwweDAyLDB4ODksMHgwMiwweDgwLDB4MDAsMHgyMiwweGMwLDB4MGIsMHgwMCwweDIyLDB4YTAsMHgwMCwweGIwLDB4MDAgfX0sCi0gezE2LCAweDk1MTAsIDAsIHsweDIwLDB4NDAsMHgwOCwweDAwLDB4MDIsMHgwNCwweDAwLDB4ODIsMHg2MCwweDIwLDB4ODAsMHgwOCwweDAwLDB4MDIsMHgwYywweDA4IH19LAotIHsxNiwgMHg5NTIwLCAwLCB7MHhiMiwweDAwLDB4MjIsMHhjMCwweDA4LDB4MzAsMHgwMiwweDM4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTUzMCwgMCwgezB4MjAsMHgwMSwweDAzLDB4MTAsMHg4ZSwweDkwLDB4MjMsMHgyNCwweDA4LDB4NmIsMHgwMiwweDE2LDB4NjAsMHg4ZiwweDgwLDB4MjEgfX0sCi0gezE2LCAweDk1NDAsIDAsIHsweDI4LDB4MGIsMHhmOSwweDA2LDB4MWUsMHg0MCwweDhmLDB4ODAsMHgyMywweGE0LDB4NDksMHg3OSwweDAyLDB4M2EsMHg0MCwweDlkIH19LAotIHsxNiwgMHg5NTUwLCAwLCB7MHg5MCwweDIzLDB4NjQsMHgwOSwweGY4LDB4MDIsMHg1ZSwweDQwLDB4YmUsMHg5MCwweDI0LDB4ZTQsMHgyOCwweDc5LDB4MDIsMHgwOCB9fSwKLSB7MTYsIDB4OTU2MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDQyLDB4YzAsMHgwOSwweDMwLDB4MDAgfX0sCi0gezE2LCAweDk1NzAsIDAsIHsweDI4LDB4MDIsMHgwMywweDg0LDB4MDAsMHg4YSwweDIwLDB4MzAsMHhjNCwweDhiLDB4MTEsMHgwMywweDg0LDB4NTAsMHhiMywweDAwIH19LAotIHsxNiwgMHg5NTgwLCAwLCB7MHgyMCwweGMwLDB4MGMsMHhhNCwweDIyLDB4MDQsMHgwMCwweGNiLDB4NDAsMHgzMCwweGM1LDB4MGMsMHgzMCwweDAzLDB4MGUsMHg0MCB9fSwKLSB7MTYsIDB4OTU5MCwgMCwgezB4ZjMsMHgxMCwweDMwLDB4YzQsMHgwYywweGIwLDB4MDMsMHgxMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk1YTAsIDAsIHsweDQwLDB4MWQsMHhiMCwweDA0LDB4ZmIsMHgwNCwweDNkLDB4YzAsMHgwZiwweGYyLDB4NDMsMHhmOCwweDA0LDB4ZmQsMHgwMSwweDNmIH19LAotIHsxNiwgMHg5NWIwLCAwLCB7MHgwYywweDBmLDB4NjEsMHgwMywweGY4LDB4NDgsMHhmNCwweDAwLDB4M2QsMHgwMSwweDBmLDB4ZDAsMHgwMywweGM4LDB4MDAsMHhmYyB9fSwKLSB7MTYsIDB4OTVjMCwgMCwgezB4MDQsMHhiZCwweDA0LDB4MGIsMHg0OCwweDAzLDB4ZmMsMHgxOCwweGZmLDB4MTQsMHgzZiwweGQ1LDB4MGQsMHhmMCwweDAzLDB4OTAgfX0sCi0gezE2LCAweDk1ZDAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZTAsMHgwMCwweGY5LDB4MDEsMHgzMiwweGMwIH19LAotIHsxNiwgMHg5NWUwLCAwLCB7MHg4ZSwweDkwLDB4MDMsMHgyOCwweDAyLDB4ZDEsMHgwMCwweDMyLDB4YzAsMHgwZCwweGE4LDB4MGIsMHgwOCwweDAwLDB4ZTgsMHgwMCB9fSwKLSB7MTYsIDB4OTVmMCwgMCwgezB4MmUsMHg0MCwweDBjLDB4OTgsMHgwYiwweDJlLDB4MDIsMHhjYSwweDAwLDB4YjIsMHhhMCwweDZjLDB4ODAsMHgyMywweDJkLDB4ODAgfX0sCi0gezE2LCAweDk2MDAsIDAsIHsweGNhLDB4ODAsMHgzMiwweGQwLDB4MGMsMHhiYSwweDAzLDB4MmEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5NjEwLCAwLCB7MHg0OCwweDExLDB4OWMsMHgwMCwweGI2LDB4MDAsMHhhMywweDAwLDB4MDgsMHg2MCwweDAyLDB4MDQsMHgwMCwweDg2LDB4MDQsMHgyOSB9fSwKLSB7MTYsIDB4OTYyMCwgMCwgezB4MDAsMHgwOCwweDUwLDB4NDIsMHgxNCwweDA0LDB4YTcsMHgwMCwweDBkLDB4ODAsMHg0YSwweDYwLDB4MDIsMHgwMCwweDAwLDB4ODEgfX0sCi0gezE2LCAweDk2MzAsIDAsIHsweDAwLDB4MjEsMHg0MCwweDA4LDB4NzAsMHgwMiwweDlkLDB4NDIsMHg4NiwweDAxLDB4MjAsMHhjMCwweDA4LDB4MzIsMHg4MiwweDEyIH19LAotIHsxNiwgMHg5NjQwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDkyLDB4MDAsMHhiYywweDgwLDB4NjMsMHgyMCB9fSwKLSB7MTYsIDB4OTY1MCwgMCwgezB4ODIsMHgwOCwweDAyLDB4NTIsMHgwMCwweDg0LDB4YzIsMHgyMywweDIwLDB4ODgsMHgwYywweDAyLDB4MzMsMHgwMCwweDg0LDB4ODAgfX0sCi0gezE2LCAweDk2NjAsIDAsIHsweDJmLDB4MjEsMHg4OSwweDRjLDB4MDIsMHgxMiwweDE0LDB4OTQsMHhjNSwweDY0LDB4MjEsMHgwOCwweDRjLDB4MDIsMHgwZSwweDgwIH19LAotIHsxNiwgMHg5NjcwLCAwLCB7MHg5NywweDgyLDB4YTEsMHhlYywweDA4LDB4NzksMHgwMiwweDMwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTY4MCwgMCwgezB4NDgsMHgxNCwweGNkLDB4NDQsMHhiMywweDAwLDB4MjAsMHhjMCwweDA4LDB4MzAsMHgwMiwweDRkLDB4ODAsMHgwMywweDg4LDB4MjggfX0sCi0gezE2LCAweDk2OTAsIDAsIHsweGMwLDB4MDgsMHgzYywweDA2LDB4MGYsMHgwMCwweGEzLDB4NDMsMHgyYywweGMyLDB4MWIsMHgzOCwweDAyLDB4MGYsMHgwMCwweDliIH19LAotIHsxNiwgMHg5NmEwLCAwLCB7MHg4OCwweDY0LDB4ZDAsMHgwOCwweGI4LDB4MDIsMHg4YywweDEwLDB4OTMsMHgwMCwweDIwLDB4YzAsMHgwOCwweDMwLDB4MGEsMHgxMiB9fSwKLSB7MTYsIDB4OTZiMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhhYSwweDAwLDB4ZmEsMHgwNSwweDMyLDB4ODAgfX0sCi0gezE2LCAweDk2YzAsIDAsIHsweDhlLDB4YTAsMHgwYiwweDY5LDB4MDAsMHhjYSwweDQwLDB4MzIsMHhhMCwweDNjLDB4YTgsMHgwMywweDJhLDB4MDAsMHhlYSwweDI2IH19LAotIHsxNiwgMHg5NmQwLCAwLCB7MHgzZSwweGIwLDB4MGQsMHhhMSwweDYzLDB4MjgsMHgyMCwweGNhLDB4NDAsMHgzNiwweGEwLDB4MGMsMHhlMCwweDEzLDB4MjgsMHgwOSB9fSwKLSB7MTYsIDB4OTZlMCwgMCwgezB4ZGUsMHgwMCwweDMyLDB4ODAsMHgyYywweGEwLDB4MDMsMHgzYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk2ZjAsIDAsIHsweDQ4LDB4MDAsMHhmMCwweDIwLDB4ZjQsMHgwMCwweDNmLDB4MDAsMHgwZiwweDQwLDB4MjMsMHhiMCwweDAwLDB4ZWMsMHgwMCwweDNmIH19LAotIHsxNiwgMHg5NzAwLCAwLCB7MHgwNiwweDFlLDB4YzIsMHgxMywweGYwLDB4ODgsMHhmYywweDIwLDB4M2YsMHgwNCwweDhlLDB4YzAsMHgwMywweGYwLDB4ODAsMHhlYyB9fSwKLSB7MTYsIDB4OTcxMCwgMCwgezB4NDAsMHgzYiwweDBjLDB4MGYsMHhjMCwweGEzLDB4ZTAsMHgwMCwweGU4LDB4MDAsMHgzZSwweDAwLDB4NGYsMHg4MCwweDAzLDB4ZDIgfX0sCi0gezE2LCAweDk3MjAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzMiwweDQwIH19LAotIHsxNiwgMHg5NzMwLCAwLCB7MHgwYywweDkwLDB4MDMsMHgyNCwweDAwLDB4YzksMHg4MCwweDMyLDB4NDAsMHgwZiwweDkwLDB4NTMsMHhlNCwweDEwLDB4YzksMHgwMCB9fSwKLSB7MTYsIDB4OTc0MCwgMCwgezB4MzIsMHg0MCwweDBkLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4MzYsMHg0MCwweDhmLDB4OTAsMHgwMywweDI0LDB4MTAgfX0sCi0gezE2LCAweDk3NTAsIDAsIHsweGM5LDB4MDEsMHgzYywweDQwLDB4MGMsMHg5MCwweDAzLDB4YzIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5NzYwLCAwLCB7MHg4MCwweDA0LDB4NDcsMHg0NCwweDg5LDB4MDAsMHgyMCwweDQwLDB4MDgsMHg5MCwweDAyLDB4MjUsMHgwYSwweDgxLDB4MTAsMHgyMiB9fSwKLSB7MTYsIDB4OTc3MCwgMCwgezB4NDAsMHg0OCwweDkwLDB4MDMsMHhjNCwweDAwLDB4ODksMHgwMCwweDc2LDB4NDAsMHgyOCwweDkwLDB4MDIsMHhlNCwweDEwLDB4YjkgfX0sCi0gezE2LCAweDk3ODAsIDAsIHsweDQwLDB4YjIsMHg0MCwweDBiLDB4OTAsMHgwMywweDY0LDB4MDAsMHg4OSwweDAwLDB4MmUsMHg0MSwweDA4LDB4OTAsMHg0MiwweGUwIH19LAotIHsxNiwgMHg5NzkwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDIsMHhiZCwweDAwLDB4MjMsMHg0OCB9fSwKLSB7MTYsIDB4OTdhMCwgMCwgezB4MDgsMHhkMCwweDA2LDB4MWQsMHgwNCwweDhkLDB4MDAsMHgyOSwweGMwLDB4NGEsMHhkMCwweDIyLDB4ZjQsMHgwMCwweDg1LDB4MDAgfX0sCi0gezE2LCAweDk3YjAsIDAsIHsweDYxLDB4NDAsMHgxOCwweGQwLDB4MTIsMHhmYywweDAwLDB4YmQsMHg0MCwweGEzLDB4NDAsMHg0YiwweGYwLDB4MDIsMHgwNCwweDAxIH19LAotIHsxNiwgMHg5N2MwLCAwLCB7MHg4YiwweDAwLDB4MmUsMHg0MCwweDA4LDB4OTAsMHgwMiwweGM2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTdkMCwgMCwgezB4MDgsMHgwNCwweDM2LDB4ODAsMHg4NSwweDIwLDB4YTMsMHg0OCwweDA4LDB4NTIsMHgwYSwweDE0LDB4ODEsMHg4NSwweDIwLDB4MjkgfX0sCi0gezE2LCAweDk3ZTAsIDAsIHsweDQ4LDB4MDgsMHg1MiwweDAyLDB4YjQsMHg4MCwweDg1LDB4MjAsMHgyNSwweDQ4LDB4ODgsMHg1MiwweDAyLDB4ZDQsMHg4MCwweGI1IH19LAotIHsxNiwgMHg5N2YwLCAwLCB7MHgyMCwweDIxLDB4NDgsMHgwYiwweDUyLDB4MDIsMHg0NCwweGEyLDB4ODEsMHgwMCwweDJjLDB4NGEsMHgwOCwweDEyLDB4ODIsMHhjMiB9fSwKLSB7MTYsIDB4OTgwMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDAwLDB4ZjgsMHg1MSwweDIyLDB4MDAgfX0sCi0gezE2LCAweDk4MTAsIDAsIHsweDJjLDB4ODUsMHgwMiwweDIxLDB4NDgsMHhjOCwweDAwLDB4YmEsMHgxNCwweDBmLDB4ODUsMHgxMiwweGUxLDB4NDIsMHhjOCwweDUwIH19LAotIHsxNiwgMHg5ODIwLCAwLCB7MHgyMiwweDAwLDB4MGMsMHgwMCwweDAzLDB4ZTAsMHgwMCwweGY4LDB4NTAsMHgzMiwweDAwLDB4MDcsMHg0NSwweDAzLDB4MjAsMHg4MCB9fSwKLSB7MTYsIDB4OTgzMCwgMCwgezB4YzAsMHgwMSwweDNlLDB4MDgsMHgyYywweDgyLDB4MDMsMHhlZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk4NDAsIDAsIHsweDk4LDB4MGQsMHhlNCwweDQwLDB4ZjEsMHgxMCwweDNlLDB4NDQsMHgwNywweDkxLDB4NDMsMHhlNCwweDU4LDB4ZjksMHgxMSwweDM0IH19LAotIHsxNiwgMHg5ODUwLCAwLCB7MHg0NCwweDRmLDB4OTEsMHgwMiwweGU0LDB4NTAsMHhmOSwweDEwLDB4M2MsMHg0ZiwweDBmLDB4OTMsMHg4MywweGU0LDB4ZjAsMHhmOSB9fSwKLSB7MTYsIDB4OTg2MCwgMCwgezB4MTEsMHgzYSwweDRmLDB4MGYsMHg5MSwweDAzLDB4ZTQsMHhhMCwweGZkLDB4MjgsMHgzZSwweDRhLDB4MGYsMHg5MiwweDgzLDB4ZTYgfX0sCi0gezE2LCAweDk4NzAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZjYsMHhhMCwweGNkLDB4YTAsMHhiMywweDY4IH19LAotIHsxNiwgMHg5ODgwLCAwLCB7MHg4YywweDlhLDB4MDMsMHgzNiwweDgwLDB4YzUsMHhhMCwweDIyLDB4NjAsMHgwYywweDlhLDB4MjMsMHgyNiwweDA0LDB4ZjksMHhhMCB9fSwKLSB7MTYsIDB4OTg5MCwgMCwgezB4MzIsMHg2NiwweDBjLDB4OWEsMHg4MywweDA2LDB4MjAsMHhjNSwweGEwLDB4MjIsMHg2MCwweDBjLDB4OWIsMHgwMywweDI2LDB4NDggfX0sCi0gezE2LCAweDk4YTAsIDAsIHsweGM5LDB4MDAsMHgzZSwweDc4LDB4MGMsMHg5YSwweDAzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5OGIwLCAwLCB7MHgzOCwweDAwLDB4ZTEsMHgwMCwweDg4LDB4NDQsMHgyMiwweDk1LDB4MDgsMHg4NSwweDEyLDB4YTEsMHg0MiwweDg4LDB4NDAsMHgwMiB9fSwKLSB7MTYsIDB4OThjMCwgMCwgezB4OTAsMHgwOCwweDg0LDB4MDIsMHgyMywweGEwLDB4YmEsMHg0MCwweDIyLDB4YTAsMHgwOCwweDhlLDB4OTIsMHhhMywweGEwLDB4YTggfX0sCi0gezE2LCAweDk4ZDAsIDAsIHsweDQwLDB4MmEsMHgxMCwweDA4LDB4YWUsMHgwMiwweDIzLDB4NDAsMHg4OCwweDAwLDB4MmUsMHgzOCwweDA4LDB4ODQsMHgxMiwweDBlIH19LAotIHsxNiwgMHg5OGUwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxNSwweGM0LDB4MDAsMHg4YiwweDEyLDB4MjIsMHg0MCB9fSwKLSB7MTYsIDB4OThmMCwgMCwgezB4MDgsMHg5MCwweDAyLDB4NDQsMHgwMCwweDgxLDB4NDAsMHhhMCwweDUwLDB4MDgsMHgxMSwweDBhLDB4MDUsMHgwMCwweGIxLDB4MTAgfX0sCi0gezE2LCAweDk5MDAsIDAsIHsweGEwLDB4NDgsMHgwOCwweDkwLDB4MDIsMHgwNCwweDAwLDB4ODEsMHg0MCwweDIwLDB4NTAsMHgyOCwweDExLDB4MDIsMHg0NCwweDgyIH19LAotIHsxNiwgMHg5OTEwLCAwLCB7MHg4MSwweDAwLDB4MmMsMHg1MCwweDA4LDB4MTEsMHgwMiwweDAyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTkyMCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MDIsMHg4OSwweDQwLDB4MjIsMHg0MCwweDA4LDB4OTQsMHgxMiwweGE1LDB4MDAsMHg4OSwweDI4LDB4MjIgfX0sCi0gezE2LCAweDk5MzAsIDAsIHsweDQ5LDB4MDgsMHg5NCwweDAyLDB4MjQsMHg0OCwweGI5LDB4MTQsMHgyMiwweDQwLDB4MDgsMHg5NCwweDAyLDB4YTQsMHg0MCwweGExIH19LAotIHsxNiwgMHg5OTQwLCAwLCB7MHg1MCwweDJhLDB4NTAsMHgwOCwweDkxLDB4NDIsMHg2NCwweDAwLDB4ODksMHg0MCwweDJlLDB4NDAsMHgwOCwweDEwLDB4MDIsMHgwNiB9fSwKLSB7MTYsIDB4OTk1MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNCwweDAwLDB4YzksMHgwMCwweDMwLDB4NzAgfX0sCi0gezE2LCAweDk5NjAsIDAsIHsweDJjLDB4MTAsMHgwYiwweDY2LDB4MDAsMHhjOSwweDQwLDB4MzIsMHg1MCwweDBjLDB4OTAsMHgwMywweDI2LDB4MjAsMHhmOSwweGMwIH19LAotIHsxNiwgMHg5OTcwLCAwLCB7MHgzMiwweDcwLDB4MGMsMHg5MCwweDAzLDB4MjYsMHgyMCwweGM5LDB4MDAsMHgzMiwweDQwLDB4MGMsMHg5YywweDAzLDB4NjQsMHgwMCB9fSwKLSB7MTYsIDB4OTk4MCwgMCwgezB4YzksMHg0MSwweDNlLDB4NDAsMHgyYywweDkwLDB4MGIsMHgyOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk5OTAsIDAsIHsweDI4LDB4MDEsMHhhNCwweDAwLDB4ZjksMHgwNCwweDNlLDB4NDgsMHgwZiwweDkwLDB4MDMsMHhlNCwweDg4LDB4ZjksMHgwMCwweDM0IH19LAotIHsxNiwgMHg5OWEwLCAwLCB7MHg0MSwweDJmLDB4OWMsMHgwMywweGU0LDB4MTAsMHhmOSwweDAwLDB4M2UsMHg0NCwweDJmLDB4OTksMHgwMywweGU0LDB4MTAsMHhmOSB9fSwKLSB7MTYsIDB4OTliMCwgMCwgezB4MDAsMHgzZSwweDUwLDB4MGYsMHgxMCwweDRiLDB4YTQsMHgxMCwweGY5LDB4MjAsMHgzYywweDQwLDB4MGYsMHg5MCwweDAzLDB4NGEgfX0sCi0gezE2LCAweDk5YzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwMCwweGM4LDB4MDAsMHgzZSwweDEwIH19LAotIHsxNiwgMHg5OWQwLCAwLCB7MHgyYywweDgwLDB4MDMsMHgyMCwweDAyLDB4YzAsMHg0MCwweDMyLDB4MDAsMHgxYywweDA0LDB4MGYsMHgyMSwweDAwLDB4YzAsMHgwNCB9fSwKLSB7MTYsIDB4OTllMCwgMCwgezB4MzgsMHgwMCwweDBmLDB4ODAsMHgwMywweDIxLDB4MDgsMHhjOCwweDYwLDB4MzAsMHgxMCwweDBmLDB4ODAsMHgwMiwweDIwLDB4MDAgfX0sCi0gezE2LCAweDk5ZjAsIDAsIHsweGY4LDB4MDAsMHgzMiwweDAwLDB4MGMsMHg4MCwweDAzLDB4Y2EsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5YTAwLCAwLCB7MHgyOCwweDA1LDB4MWEsMHgyMCwweDgyLDB4MDQsMHgyZiwweDgwLDB4MDgsMHhhMCwweDAyLDB4MzgsMHgwMCwweDhlLDB4ODAsMHgyMiB9fSwKLSB7MTYsIDB4OWExMCwgMCwgezB4ODAsMHgwOCwweGUwLDB4MDIsMHgyOCwweDAwLDB4OGEsMHgwMCwweDIyLDB4ODEsMHgwYiwweDIwLDB4MDIsMHgyOCwweDAwLDB4ZGUgfX0sCi0gezE2LCAweDlhMjAsIDAsIHsweGU0LDB4MzYsMHg4MCwweDBiLDB4YTAsMHg0MiwweDI4LDB4MDAsMHhiYSwweDA0LDB4MjIsMHg4MCwweDA4LDB4YTAsMHgwMiwweGNhIH19LAotIHsxNiwgMHg5YTMwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDAsMHg4MywweDAxLDB4MmMsMHg4MCB9fSwKLSB7MTYsIDB4OWE0MCwgMCwgezB4MDgsMHgzMCwweDAyLDB4MmUsMHg2MCwweDgyLDB4OTAsMHhhMCwweGMwLDB4NDgsMHgzMCwweDAyLDB4MGMsMHgwMiwweDgzLDB4MDAgfX0sCi0gezE2LCAweDlhNTAsIDAsIHsweDI4LDB4YzAsMHgwYiwweDMwLDB4MGEsMHgyYywweDAwLDB4ODMsMHhjMiwweDIwLDB4YzAsMHgwYiwweDMwLDB4MmEsMHgyYywweDAwIH19LAotIHsxNiwgMHg5YTYwLCAwLCB7MHhiMywweDAwLDB4YTAsMHhjMCwweDA4LDB4MzAsMHgwMiwweGNhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWE3MCwgMCwgezB4YTAsMHgwMSwweDNjLDB4MDAsMHg4NywweDAxLDB4MmQsMHhjMiwweDA4LDB4ZjMsMHgxMiwweDNjLDB4MDAsMHg4ZiwweDAxLDB4MjEgfX0sCi0gezE2LCAweDlhODAsIDAsIHsweGM4LDB4NjgsMHg3MiwweDIyLDB4MWUsMHgwNCwweDg3LDB4MjAsMHgyMSwweGM0LDB4MGIsMHg3MCwweDAyLDB4M2MsMHg4NCwweDlmIH19LAotIHsxNiwgMHg5YTkwLCAwLCB7MHgwMCwweDI1LDB4YzQsMHg0YiwweDcwLDB4MDIsMHgxYywweDA0LDB4YjcsMHg4MSwweDIxLDB4YzgsMHgwOCwweDcyLDB4MDIsMHhlOCB9fSwKLSB7MTYsIDB4OWFhMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDAsMHgxZSwweDAwLDB4YzcsMHg4MSwweDNjLDB4YTAgfX0sCi0gezE2LCAweDlhYjAsIDAsIHsweDRjLDB4N2EsMHgwYiwweDFhLDB4MDAsMHhjNiwweDgwLDB4MzAsMHhlMCwweDA4LDB4ZjgsMHg4MiwweDBlLDB4NDAsMHhjZiwweGYwIH19LAotIHsxNiwgMHg5YWMwLCAwLCB7MHgzOSwweGU4LDB4MGYsMHgzYSwweDAzLDB4MWUsMHgyMCwweGM3LDB4ODAsMHgzMSwweGUzLDB4MGYsMHgzOCwweDIzLDB4MWYsMHgwOCB9fSwKLSB7MTYsIDB4OWFkMCwgMCwgezB4ZmYsMHhjMCwweDMzLDB4ZjIsMHgwYywweDdlLDB4MDMsMHhlYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDlhZTAsIDAsIHsweDA4LDB4MTUsMHg4OCwweDBhLDB4N2IsMHgwMCwweDNlLDB4YzEsMHgwYiwweDM0LDB4MjMsMHhjOCwweDEwLDB4ZmIsMHgwMiwweDNlIH19LAotIHsxNiwgMHg5YWYwLCAwLCB7MHhjYSwweDBmLDB4YjcsMHg0MywweGVjLDB4ODAsMHhmYiwweDAwLDB4MmUsMHhjMiwweDBiLDB4YjQsMHg4MywweGVkLDB4ZDAsMHhmYSB9fSwKLSB7MTYsIDB4OWIwMCwgMCwgezB4MDAsMHgzZSwweGQ5LDB4MGYsMHhiMywweDgzLDB4ZWMsMHg4MCwweGJiLDB4MjAsMHgzZSwweGQ4LDB4MmYsMHhiNCwweDAzLDB4YzIgfX0sCi0gezE2LCAweDliMTAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZmUsMHgwMCwweGY1LDB4OTEsMHgzMSwweGEwIH19LAotIHsxNiwgMHg5YjIwLCAwLCB7MHgwYywweGZjLDB4MDMsMHhmZSwweDAwLDB4YzQsMHg4MSwweDMxLDB4ZWUsMHg4ZCwweGY4LDB4MGEsMHgzZSwweDMwLDB4Y2YsMHg4NCB9fSwKLSB7MTYsIDB4OWIzMCwgMCwgezB4MzMsMHhlMCwweDJjLDB4ZjgsMHg4MywweGZlLDB4MTAsMHhmZSwweDgwLDB4MzMsMHhlMCwweDBjLDB4ZjksMHgxOSwweDNmLDB4NDggfX0sCi0gezE2LCAweDliNDAsIDAsIHsweGNmLDB4YzAsMHgzMywweGUwLDB4MDQsMHhmYywweDAzLDB4YzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5YjUwLCAwLCB7MHhhOCwweDExLDB4OWMsMHgwOCwweGI3LDB4YTEsMHgyMSwweGM4LDB4MDgsMHg3MSwweDAyLDB4ZjAsMHhhMCwweDg1LDB4MjAsMHgyMSB9fSwKLSB7MTYsIDB4OWI2MCwgMCwgezB4Y2UsMHgwOCwweDcwLDB4MDIsMHgzYywweDgwLDB4OGYsMHgwMCwweDJiLDB4YzUsMHgwOCwweDcxLDB4MDIsMHhkYywweDEwLDB4YjQgfX0sCi0gezE2LCAweDliNzAsIDAsIHsweDAwLDB4MjEsMHhjMSwweDBhLDB4ZjMsMHg4MiwweDBjLDB4MDAsMHg4NywweDAxLDB4MjksMHhjMCwweDA4LDB4NzEsMHgwMiwweDZhIH19LAotIHsxNiwgMHg5YjgwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDlkLDB4MDAsMHhiZCwweDIxLDB4MjcsMHg4MiB9fSwKLSB7MTYsIDB4OWI5MCwgMCwgezB4MDAsMHg3MCwweDAyLDB4ZmMsMHgwNCwweDhjLDB4MDAsMHhhNywweGNjLDB4YTgsMHg3MCwweDAyLDB4M2MsMHgwOCwweGFmLDB4MDAgfX0sCi0gezE2LCAweDliYTAsIDAsIHsweDIxLDB4YzAsMHgwOCwweDcwLDB4MDIsMHhkYywweDAwLDB4YjcsMHgwMCwweDIxLDB4YzQsMHgwOCwweDcwLDB4MTYsMHgxYywweDBhIH19LAotIHsxNiwgMHg5YmIwLCAwLCB7MHg4ZiwweDAwLDB4MjEsMHhjMCwweDA4LDB4NzAsMHgwMiwweGMwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWJjMCwgMCwgezB4MjAsMHgxMCwweGM4LDB4MDAsMHhiYiwweDQ0LDB4MjQsMHhlMiwweDA4LDB4YjEsMHgwMiwweGMyLDB4ODAsMHgwMSwweDgwLDB4MjQgfX0sCi0gezE2LCAweDliZDAsIDAsIHsweGQwLDB4ODgsMHgzMCwweDAyLDB4MGYsMHg1MiwweDgzLDB4OTEsMHgyOCwweGU0LDB4ODgsMHgzZCwweDAyLDB4Y2UsMHhkMCwweGIwIH19LAotIHsxNiwgMHg5YmUwLCAwLCB7MHhiMiwweGEyLDB4YzAsMHgwYSwweDM0LDB4MTIsMHgwYywweDAyLDB4ODMsMHgwMCwweDI4LDB4YzAsMHgwOCwweDMwLDB4MDIsMHg0OCB9fSwKLSB7MTYsIDB4OWJmMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhhYywweDAwLDB4ZmIsMHgwMSwweGU0LDB4NDAgfX0sCi0gezE2LCAweDljMDAsIDAsIHsweDJjLDB4ZjAsMHg0MywweGU1LDB4MDAsMHg4YSwweDg4LDB4MzcsMHhlMCwweDAwLDB4ZmEsMHgwMiwweDNkLDB4MDAsMHhlZiwweDAwIH19LAotIHsxNiwgMHg5YzEwLCAwLCB7MHgzMywweGQxLDB4MGMsMHhmNCwweDAzLDB4ZmQsMHgwMCwweGY5LDB4NDAsMHgzMywweGU4LDB4MGMsMHhmYywweDAxLDB4M2MsMHgwNCB9fSwKLSB7MTYsIDB4OWMyMCwgMCwgezB4Y2YsMHgwMiwweDMzLDB4YzAsMHgyYywweGYwLDB4MDMsMHhlYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDljMzAsIDAsIHsweDgwLDB4MDAsMHhlZSwweDA4LDB4ZjksMHgxMCwweDNhLDB4ZDAsMHgwZiwweGIwLDB4OTMsMHhlYywweDAwLDB4ZmIsMHgwYiwweDNhIH19LAotIHsxNiwgMHg5YzQwLCAwLCB7MHhjMCwweDhlLDB4YjAsMHg4MywweGVjLDB4ODAsMHhmYiwweDA5LDB4N2UsMHhjOCwweDBmLDB4YjIsMHgxMywweGVjLDB4MDAsMHhmOSB9fSwKLSB7MTYsIDB4OWM1MCwgMCwgezB4MDAsMHgzZSwweGMyLDB4OGYsMHhiMiwweDRiLDB4Y2MsMHgwNCwweGZiLDB4MDAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4NjAgfX0sCi0gezE2LCAweDljNjAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZmMsMHgwMCwweGZmLDB4MDgsMHgzMywweGMwIH19LAotIHsxNiwgMHg5YzcwLCAwLCB7MHgxYywweGYwLDB4MDMsMHg3MCwweDQwLDB4YzQsMHhjMCwweDMzLDB4YzIsMHgwZiwweGYwLDB4MDMsMHgxYywweDEwLDB4YzcsMHgwMCB9fSwKLSB7MTYsIDB4OWM4MCwgMCwgezB4MzEsMHhjMCwweDBjLDB4NzAsMHgwMywweDFjLDB4MDAsMHhjNSwweDQxLDB4MzMsMHhjMCwweDBjLDB4ZjAsMHgyMywweDJjLDB4MDAgfX0sCi0gezE2LCAweDljOTAsIDAsIHsweGNmLDB4MDAsMHhiMywweGMwLDB4NmMsMHhmMCwweDAzLDB4ODAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5Y2EwLCAwLCB7MHg4MSwweDA0LDB4NmEsMHgwMCwweGI5LDB4OTAsMHgzMiwweGYxLDB4MDgsMHhiMCwweDAyLDB4MGEsMHgxMCwweGQ5LDB4MDAsMHgyMiB9fSwKLSB7MTYsIDB4OWNiMCwgMCwgezB4YzEsMHgwYiwweGIwLDB4MDIsMHgyYywweDAwLDB4Y2IsMHgwNiwweDIyLDB4YzAsMHg4OCwweGIwLDB4MTIsMHgyYywweDAwLDB4ODggfX0sCi0gezE2LCAweDljYzAsIDAsIHsweDgwLDB4MjIsMHhjMSwweDBkLDB4YjAsMHgwMiwweDJjLDB4MDAsMHg4MywweDAwLDB4MjIsMHhjMSwweDA4LDB4YjAsMHg0NiwweGUwIH19LAotIHsxNiwgMHg5Y2QwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMSwweDJlLDB4MDAsMHhiOSwweDAwLDB4MjIsMHhmMCB9fSwKLSB7MTYsIDB4OWNlMCwgMCwgezB4MDgsMHhiMCwweDEyLDB4NjQsMHgwMCwweDhhLDB4MDAsMHgyMiwweGMwLDB4MGIsMHgzMCwweDQyLDB4MmMsMHgwMCwweDhiLDB4MDAgfX0sCi0gezE2LCAweDljZjAsIDAsIHsweDIyLDB4YzAsMHgwOCwweGIwLDB4MDIsMHgyYywweDAwLDB4OGEsMHgwMCwweDIyLDB4YzAsMHg4OCwweDMwLDB4MGEsMHgyYywweDAwIH19LAotIHsxNiwgMHg5ZDAwLCAwLCB7MHg4YiwweDAwLDB4MjAsMHhjMCwweDA4LDB4YjAsMHgwMiwweGUwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWQxMCwgMCwgezB4MDgsMHgwNCwweDBjLDB4MDQsMHhiMSwweDAyLDB4ZTQsMHhjMSwweDA4LDB4YjAsMHgyMiwweDIwLDB4MDIsMHg5MywweDAwLDB4MjAgfX0sCi0gezE2LCAweDlkMjAsIDAsIHsweGMwLDB4MGIsMHgzMCwweDEyLDB4MGMsMHgwMiwweDgzLDB4MDIsMHhhMCwweGMwLDB4MjgsMHgzMCwweDBlLDB4MGMsMHgwMiwweDgwIH19LAotIHsxNiwgMHg5ZDMwLCAwLCB7MHgwMCwweGEwLDB4YzAsMHg0OSwweDMwLDB4MGEsMHgwYywweDAyLDB4OGIsMHgwMCwweDIwLDB4YzAsMHgwOCwweDMwLDB4MDIsMHhjMiB9fSwKLSB7MTYsIDB4OWQ0MCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2YywweDAwLDB4ZjksMHgyNCwweDMyLDB4YzAgfX0sCi0gezE2LCAweDlkNTAsIDAsIHsweDA4LDB4ZjAsMHgwMywweDY0LDB4MDAsMHhjOCwweDAwLDB4YjMsMHhjMCwweDFmLDB4ZjAsMHgwYiwweDNjLDB4MDAsMHg4ZiwweDAwIH19LAotIHsxNiwgMHg5ZDYwLCAwLCB7MHgzMywweGMwLDB4NGMsMHhmMCwweDQzLDB4M2MsMHgwOCwweGMzLDB4MDAsMHgzMSwweGMwLDB4MGMsMHhmMCwweDAzLDB4M2QsMHg0OCB9fSwKLSB7MTYsIDB4OWQ3MCwgMCwgezB4Y2YsMHgwMCwweDMxLDB4YzAsMHgwYywweGYwLDB4MDMsMHg4MCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDlkODAsIDAsIHsweGEwLDB4MWQsMHhmMCwweDA0LDB4ZjksMHg0MSwweDNiLDB4YzAsMHg0ZiwweGYwLDB4MDMsMHhmMCwweDExLDB4ZmQsMHgwMCwweDNmIH19LAotIHsxNiwgMHg5ZDkwLCAwLCB7MHhjMCwweDg3LDB4NzAsMHgyNywweGZjLDB4MDAsMHhlZiwweDA2LDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMiwweGZjLDB4MDgsMHhmYyB9fSwKLSB7MTYsIDB4OWRhMCwgMCwgezB4MDAsMHgzZiwweGMwLDB4NDcsMHhmMCwweDQzLDB4ZmMsMHgwMCwweDc3LDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZTggfX0sCi0gezE2LCAweDlkYjAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZDIsMHgwMCwweGM3LDB4MDEsMHgzNywweDBjIH19LAotIHsxNiwgMHg5ZGMwLCAwLCB7MHgwZiwweGU4LDB4MjMsMHgxMCwweDRhLDB4YzQsMHhjMCwweDMxLDB4MzAsMHgwYywweGM5LDB4MDMsMHgzNCwweDQ2LDB4Y2YsMHgxMCB9fSwKLSB7MTYsIDB4OWRkMCwgMCwgezB4MzMsMHhkMCwweDBjLDB4ZjQsMHgwMywweDNjLDB4NTgsMHhjZiwweDAwLDB4MzMsMHhjMCwweDJkLDB4ZjEsMHgwMywweDNlLDB4MDIgfX0sCi0gezE2LCAweDlkZTAsIDAsIHsweGNmLDB4MjEsMHgzZiwweGU0LDB4MGYsMHhmMiwweDAzLDB4MzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5ZGYwLCAwLCB7MHg4MCwweDEwLDB4ZTQsMHg4NCwweDBiLDB4NDAsMHgyMiwweDRjLDB4MGIsMHhhOCwweDAyLDB4MmMsMHhjMCwweDhiLDB4MjAsMHgyMiB9fSwKLSB7MTYsIDB4OWUwMCwgMCwgezB4YzgsMHg0YSwweDMyLDB4MDIsMHgyNCwweDgwLDB4ODMsMHgyMCwweDIwLDB4YzAsMHgwOCwweDMwLDB4MDIsMHgyMCwweDAwLDB4OGIgfX0sCi0gezE2LCAweDllMTAsIDAsIHsweDIxLDB4MzIsMHhjYSwweDQ4LDB4MzIsMHgwMiwweDJjLDB4MzAsMHg4ZiwweDkwLDB4MmUsMHg4OCwweDBiLDB4YmQsMHgxMiwweDIwIH19LAotIHsxNiwgMHg5ZTIwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNlLDB4MjAsMHhhMywweDQwLDB4ZTAsMHg0OCB9fSwKLSB7MTYsIDB4OWUzMCwgMCwgezB4NGIsMHgyMCwweDIyLDB4MGMsMHgwMiwweDgyLDB4MDAsMHgyYSwweDAwLDB4MDgsMHgyMCwweDAyLDB4MDQsMHg4MCwweDgwLDB4MjAgfX0sCi0gezE2LCAweDllNDAsIDAsIHsweDIwLDB4YzgsMHgwOCwweDAyLDB4MDIsMHgwYywweDAwLDB4ODAsMHgwYywweDYwLDB4MDAsMHgwOCwweDIwLDB4MTIsMHgyYywweDg4IH19LAotIHsxNiwgMHg5ZTUwLCAwLCB7MHg4MywweDAwLDB4MmMsMHhlOCwweDBiLDB4MzAsMHgwMiwweDYyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWU2MCwgMCwgezB4YzAsMHgxNSwweGFlLDB4MDAsMHhhYiwweDAxLDB4YTIsMHg2MCwweDBiLDB4YTAsMHgwMiwweDIwLDB4MDEsMHg4MSwweDAwLDB4MjIgfX0sCi0gezE2LCAweDllNzAsIDAsIHsweGMwLDB4MGEsMHg5MCwweDEyLDB4MDQsMHgyMCwweDhhLDB4MDgsMHgyMiwweGMxLDB4MDgsMHhhMCwweDAyLDB4MjgsMHgwMCwweDg4IH19LAotIHsxNiwgMHg5ZTgwLCAwLCB7MHgwMCwweDI0LDB4NDQsMHgwOCwweGEyLDB4MDIsMHhhYywweDAwLDB4OGIsMHgwNCwweDJlLDB4ODgsMHgwMywweGIwLDB4MDIsMHg3MCB9fSwKLSB7MTYsIDB4OWU5MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTUsMHhlYywweDAwLDB4ZWEsMHg5MCwweDMyLDB4MjggfX0sCi0gezE2LCAweDllYTAsIDAsIHsweDBmLDB4YjYsMHgwMywweDIwLDB4MDgsMHhjOSwweDA0LDB4M2EsMHhjMCwweDRjLDB4OTAsMHgyMiwweDI0LDB4MDAsMHhjYiwweDQwIH19LAotIHsxNiwgMHg5ZWIwLCAwLCB7MHgzMiwweGE4LDB4MGMsMHhiMiwweDAzLDB4MmMsMHgwMCwweGNiLDB4ODAsMHhiMiwweGUwLDB4MGMsMHhiMCwweDBiLDB4MDQsMHgwMCB9fSwKLSB7MTYsIDB4OWVjMCwgMCwgezB4Y2IsMHgwMCwweDNlLDB4YzAsMHg0ZiwweGIwLDB4MGIsMHg1MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDllZDAsIDAsIHsweGUwLDB4MDEsMHhiYywweDAwLDB4ZGYsMHg4MCwweDNiLDB4ODEsMHgwZiwweGYwLDB4YzMsMHhmYywweDAwLDB4YmUsMHgwMSwweDFmIH19LAotIHsxNiwgMHg5ZWUwLCAwLCB7MHgwMCwweDBmLDB4ZTAsMHgyMywweGY0LDB4MDAsMHhmZiwweDAwLDB4M2YsMHhiMCwweDRmLDB4ZjAsMHg0MywweGQ0LDB4MDIsMHhmZiB9fSwKLSB7MTYsIDB4OWVmMCwgMCwgezB4OTEsMHgzYSwweGUwLDB4NGUsMHhmMCwweDAzLDB4N2MsMHgwYywweGZmLDB4MDAsMHgyZiwweDgwLDB4MGYsMHgzMCwweDAzLDB4YjggfX0sCi0gezE2LCAweDlmMDAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YWMsMHgwMSwweGNhLDB4MDAsMHg3MiwweDUwIH19LAotIHsxNiwgMHg5ZjEwLCAwLCB7MHgwNCwweGI0LDB4MDMsMHgyYywweDgyLDB4Y2IsMHgwMCwweDMyLDB4ZTAsMHgwYywweGI4LDB4MDMsMHgyNywweDA0LDB4YzgsMHhjOCB9fSwKLSB7MTYsIDB4OWYyMCwgMCwgezB4YjIsMHhhMiwweDBjLDB4ODgsMHgwMywweDJjLDB4MDAsMHhjMSwweDAwLDB4M2UsMHgwMCwweDJjLDB4MzAsMHgxYiwweDJjLDB4MDQgfX0sCi0gezE2LCAweDlmMzAsIDAsIHsweGZiLDB4MTAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4MTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5ZjQwLCAwLCB7MHhjOCwweDA1LDB4MmMsMHgwNCwweDAzLDB4NTAsMHhhMiwweGUwLDB4MDgsMHgzNCwweDQyLDB4MzMsMHgwMCwweDg4LDB4MDAsMHgyMCB9fSwKLSB7MTYsIDB4OWY1MCwgMCwgezB4MTAsMHgwZCwweDg0LDB4MDMsMHgyNSwweDAwLDB4OGEsMHg0MCwweDIyLDB4OTAsMHgwOCwweGE1LDB4MDIsMHgyYywweDAwLDB4ODkgfX0sCi0gezE2LCAweDlmNjAsIDAsIHsweGE0LDB4M2EsMHg0MCwweDA4LDB4YjAsMHgwMiwweDJjLDB4MDAsMHhiZiwweDg0LDB4MmUsMHg4MCwweDBiLDB4ZjAsMHg1MiwweDMyIH19LAotIHsxNiwgMHg5ZjcwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDZjLDB4ODAsMHg4MSwweDgwLDB4MjQsMHg4OCB9fSwKLSB7MTYsIDB4OWY4MCwgMCwgezB4ODksMHgzYywweDI2LDB4MjEsMHgwMCwweDkwLDB4MDAsMHgyMCwweDAyLDB4MDgsMHg4MCwweDgyLDB4MDAsMHgyMCwweDliLDB4MDAgfX0sCi0gezE2LCAweDlmOTAsIDAsIHsweDIyLDB4NDAsMHg4OCwweGIwLDB4MTIsMHgwYywweDA4LDB4ODMsMHg4MCwweDJjLDB4YzAsMHgwOCwweDEwLDB4MDIsMHgwYywweDAwIH19LAotIHsxNiwgMHg5ZmEwLCAwLCB7MHhiMywweDgwLDB4MmMsMHg0MCwweDBiLDB4MzAsMHgwMiwweDM4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWZiMCwgMCwgezB4MjAsMHgwMSwweDNlLDB4MGEsMHg4NSwweGEwLDB4YTUsMHg2MCwweDA4LDB4ZmIsMHg4MiwweDNlLDB4ODQsMHg5ZiwweDgxLDB4NjMgfX0sCi0gezE2LCAweDlmYzAsIDAsIHsweGUwLDB4ODksMHg3OSwweDEyLDB4NTIsMHg4MCwweDk3LDB4ODIsMHgyMSwweDZjLDB4MTgsMHg3OCwweDAyLDB4MTIsMHgwMCwweDg3IH19LAotIHsxNiwgMHg5ZmQwLCAwLCB7MHhhMSwweDI5LDB4ZTAsMHgwOCwweDViLDB4MDIsMHgxZSwweDAwLDB4YjcsMHhjMCwweDJkLDB4NjAsMHgwYiwweDc4LDB4MDIsMHgwOCB9fSwKLSB7MTYsIDB4OWZlMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgwYywweDAwLDB4ODEsMHgwOCwweDI2LDB4YzIgfX0sCi0gezE2LCAweDlmZjAsIDAsIHsweDJjLDB4MzIsMHgxMywweDBlLDB4YTQsMHhkMiwweDAwLDB4YjAsMHgwMCwweDFjLDB4MjEsMHgxMiwweDI0LDB4MDIsMHhkMSwweDIwIH19LAotIHsxNiwgMHhhMDAwLCAwLCB7MHgzMCwweGM4LDB4MGMsMHgxMCwweDAzLDB4MGMsMHgwMCwweGMyLDB4MTAsMHgzYywweDgwLDB4MGMsMHgyMywweDAzLDB4MGMsMHg0MCB9fSwKLSB7MTYsIDB4YTAxMCwgMCwgezB4ZjMsMHgwMCwweDNjLDB4NDgsMHgwZiwweDMwLDB4MGIsMHgxMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGEwMjAsIDAsIHsweDQwLDB4MWQsMHhiYywweDAwLDB4ZmQsMHgyMCwweGJiLDB4NDAsMHgwNywweDcyLDB4MDIsMHhmMCwweDEwLDB4ZWQsMHgxMCwweDNmIH19LAotIHsxNiwgMHhhMDMwLCAwLCB7MHhjNCwweDBmLDB4ZDEsMHg2MywweGI0LDB4ODAsMHhlZiwweDAwLDB4M2YsMHhjOCwweDBmLDB4ZjAsMHgwMywweGQ4LDB4MDAsMHhmZSB9fSwKLSB7MTYsIDB4YTA0MCwgMCwgezB4MzQsMHgzZiwweGM0LDB4MGYsMHhlYiwweDQzLDB4ZmMsMHgwMCwweGZmLDB4MDgsMHg3ZiwweDQwLDB4MGYsMHhmMSwweDgzLDB4ZDAgfX0sCi0gezE2LCAweGEwNTAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZWMsMHgwMCwweGM4LDB4MDAsMHgzMywweDgwIH19LAotIHsxNiwgMHhhMDYwLCAwLCB7MHg4ZiwweDI4LDB4MDMsMHgyMCwweDAwLDB4NDksMHgwMiwweDMyLDB4YzAsMHgwZiwweDkwLDB4MDMsMHgyMCwweDAwLDB4Y2IsMHgwMCB9fSwKLSB7MTYsIDB4YTA3MCwgMCwgezB4MzIsMHg0MCwweDRjLDB4YjAsMHgwYiwweDJjLDB4MDAsMHhjYiwweDgwLDB4MzIsMHhjMCwweDBlLDB4OWUsMHgwMywweDI0LDB4MDAgfX0sCi0gezE2LCAweGEwODAsIDAsIHsweGZiLDB4MjAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4MmEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhMDkwLCAwLCB7MHg0OCwweDExLDB4OWMsMHgwMCwweDhkLDB4MDEsMHgyMSwweGMwLDB4MGIsMHg2MCwweDAyLDB4MWQsMHgwMCwweGQ2LDB4MDAsMHgyMSB9fSwKLSB7MTYsIDB4YTBhMCwgMCwgezB4MDAsMHgwYiwweGUwLDB4MDIsMHgwMCwweDAwLDB4ODMsMHgwNCwweDIwLDB4NDAsMHgwOCwweDcwLDB4NDIsMHgzNCwweDAyLDB4ODcgfX0sCi0gezE2LCAweGEwYjAsIDAsIHsweDAxLDB4MjMsMHhjMCwweDI4LDB4NTEsMHgwYSwweDFjLDB4MDQsMHhiNywweDMwLDB4MmQsMHhjMCwweDBiLDB4NzIsMHgwMywweDkyIH19LAotIHsxNiwgMHhhMGMwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDllLDB4MDAsMHhhNiwweDQwLDB4MjEsMHhhMCB9fSwKLSB7MTYsIDB4YTBkMCwgMCwgezB4MGIsMHg2OCwweDAyLDB4MGUsMHgwMCwweDhmLDB4ODAsMHgyMSwweGUwLDB4MGIsMHg3OCwweDAyLDB4MTYsMHgxMCwweGE1LDB4ODAgfX0sCi0gezE2LCAweGEwZTAsIDAsIHsweDIxLDB4ZTAsMHgwOCwweDE4LDB4MDIsMHgxZSwweDAwLDB4ODMsMHg4MCwweDIxLDB4YTAsMHgwOCwweDc4LDB4MDIsMHgxZiwweDAwIH19LAotIHsxNiwgMHhhMGYwLCAwLCB7MHhiNywweDgwLDB4MmQsMHhlMCwweDBiLDB4MzgsMHgwMiwweDMwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTEwMCwgMCwgezB4NDgsMHgxNCwweGVjLDB4MTIsMHhhMSwweDY0LDB4MjAsMHhlNiwweDBiLDB4MjAsMHgwMiwweDAwLDB4MTAsMHg5MCwweDRhLDB4MjAgfX0sCi0gezE2LCAweGExMTAsIDAsIHsweDIwLDB4NGIsMHgwMCwweDQyLDB4MDQsMHgwMCwweDgzLDB4MDAsMHgyMCwweGMyLDB4MDgsMHgzMCwweDAyLDB4OGMsMHgwMCwweDgzIH19LAotIHsxNiwgMHhhMTIwLCAwLCB7MHgwNCwweDIwLDB4YzAsMHgwOCwweDMwLDB4MDIsMHgwZSwweDAwLDB4YjMsMHgwMCwweDJjLDB4ZTAsMHg0YiwweDMwLDB4MDIsMHg5MiB9fSwKLSB7MTYsIDB4YTEzMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhiOCwweDAwLDB4ZWUsMHhjMCwweDMzLDB4OTAgfX0sCi0gezE2LCAweGExNDAsIDAsIHsweDBmLDB4YTAsMHgxYiwweDA4LDB4MDAsMHhjYSwweDQwLDB4YjIsMHg4MiwweDBmLDB4YTAsMHgwYiwweDI4LDB4MDIsMHhjYSwweDAwIH19LAotIHsxNiwgMHhhMTUwLCAwLCB7MHhiMiwweDkwLDB4YWMsMHhhMCwweDAzLDB4MjksMHgwMCwweGNhLDB4NDAsMHhiMiwweDgwLDB4OGUsMHhhNCwweDAzLDB4MmEsMHgwMCB9fSwKLSB7MTYsIDB4YTE2MCwgMCwgezB4ZmEsMHgwMCwweDNmLDB4YTgsMHgwZiwweGEwLDB4MGIsMHgzYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGExNzAsIDAsIHsweDQ4LDB4MDAsMHhlMiwweDAyLDB4OTAsMHgwMCwweDNlLDB4MDAsMHgwZiwweDg4LDB4MDMsMHhmMSwweDAwLDB4ZmMsMHgwMiwweDNmIH19LAotIHsxNiwgMHhhMTgwLCAwLCB7MHgyMCwweDBmLDB4YzgsMHgwMywweGMxLDB4MDAsMHhmMCwweDAwLDB4M2UsMHgwMCwweDhmLDB4MDAsMHgwMSwweDYwLDB4MDIsMHhmOCB9fSwKLSB7MTYsIDB4YTE5MCwgMCwgezB4MDgsMHgzZSwweDAwLDB4MGYsMHg4MCwweDgzLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgyZSwweDAwLDB4OGYsMHg4MCwweDEzLDB4OTIgfX0sCi0gezE2LCAweGExYTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHgwMiwweGM5LDB4MDAsMHhiMiwweDY0IH19LAotIHsxNiwgMHhhMWIwLCAwLCB7MHgwZiwweDkxLDB4MDMsMHhlNCwweDA0LDB4YzksMHgwMCwweDMyLDB4NDAsMHg2YywweDkwLDB4MDMsMHgyNSwweDAyLDB4YzksMHg5MCB9fSwKLSB7MTYsIDB4YTFjMCwgMCwgezB4YjAsMHg0MCwweDBjLDB4OTAsMHgwMywweDI0LDB4MjAsMHhjOSwweGEwLDB4M2UsMHg0MCwweDRjLDB4OTAsMHgyMywweGU0LDB4MDAgfX0sCi0gezE2LCAweGExZDAsIDAsIHsweGYxLDB4MDAsMHg5MiwweDQwLDB4MGMsMHgxMCwweDAzLDB4MDIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhMWUwLCAwLCB7MHg4MCwweDA0LDB4NjQsMHgwMCwweDg5LDB4ODAsMHhhMiwweDQwLDB4MGIsMHg5NiwweDQyLDB4ZTUsMHgwNCwweDg5LDB4MDAsMHgyMiB9fSwKLSB7MTYsIDB4YTFmMCwgMCwgezB4NDAsMHgwOCwweDkwLDB4MDIsMHgyNCwweDA4LDB4MDksMHg0MSwweDIyLDB4NDAsMHg0OCwweDkwLDB4NDIsMHgyNCwweDA0LDB4ODkgfX0sCi0gezE2LCAweGEyMDAsIDAsIHsweDgwLDB4MjYsMHg0MCwweDA4LDB4OTAsMHgwMiwweGU0LDB4MDAsMHhiOSwweDAwLDB4MjIsMHg0MCwweDA4LDB4OTQsMHgwMiwweDIwIH19LAotIHsxNiwgMHhhMjEwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI1LDB4MDAsMHg4OSwweDIwLDB4MjIsMHg0MCB9fSwKLSB7MTYsIDB4YTIyMCwgMCwgezB4MGIsMHg5MCwweDAyLDB4ZjQsMHg4NCwweDg1LDB4MDAsMHgyMSwweDQwLDB4NDgsMHg1MCwweDAyLDB4MjQsMHgyMCwweDhkLDB4MDggfX0sCi0gezE2LCAweGEyMzAsIDAsIHsweDIzLDB4NDAsMHgwOCwweGQwLDB4MDIsMHg5NCwweDAwLDB4OGQsMHgwMCwweDI5LDB4NDAsMHgwYSwweGQwLDB4MDIsMHhhNCwweDA4IH19LAotIHsxNiwgMHhhMjQwLCAwLCB7MHhiOSwweDAwLDB4MjgsMHg0MCwweDE4LDB4OTAsMHhjMiwweDA2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTI1MCwgMCwgezB4MDgsMHgwNCwweDA1LDB4MDAsMHg4MSwweDAwLDB4MjAsMHg1MSwweDBiLDB4MTAsMHgwMiwweGY1LDB4ODAsMHg4NSwweGMxLDB4YTEgfX0sCi0gezE2LCAweGEyNjAsIDAsIHsweDUwLDB4MDgsMHg1NCwweDBhLDB4MDUsMHgwNiwweDg1LDB4NDAsMHgyMSwweDUwLDB4ODgsMHg1NCwweDAyLDB4OTUsMHgwMCwweDg1IH19LAotIHsxNiwgMHhhMjcwLCAwLCB7MHg0NCwweDJkLDB4NTAsMHgyYSwweDU0LDB4MTIsMHhjNSwweDAxLDB4YjEsMHgwMCwweDA4LDB4NTAsMHgwOCwweDEwLDB4MDIsMHgwMiB9fSwKLSB7MTYsIDB4YTI4MCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDAwLDB4Y2EsMHg1MCwweDMyLDB4ODAgfX0sCi0gezE2LCAweGEyOTAsIDAsIHsweDBmLDB4ODAsMHgwMywweGU4LDB4MDIsMHhjOCwweDAxLDB4MzIsMHgwMCwweDJjLDB4YzAsMHgwMywweDIwLDB4MDAsMHhjOCwweDAyIH19LAotIHsxNiwgMHhhMmEwLCAwLCB7MHgzMiwweDAwLDB4MmMsMHg4MCwweDBiLDB4YTAsMHgwMCwweGM4LDB4MDAsMHgzYSwweDAwLDB4NGUsMHg0MCwweDIzLDB4YTAsMHgwOCB9fSwKLSB7MTYsIDB4YTJiMCwgMCwgezB4ZjgsMHgwMCwweDNhLDB4MDAsMHgyYywweDgwLDB4MGIsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGEyYzAsIDAsIHsweDk4LDB4MWQsMHhkYywweDA0LDB4ZmQsMHg0MCwweDNmLDB4NTAsMHg0ZiwweDkwLDB4NjMsMHhlNCwweDQwLDB4ZjEsMHgwMiwweDNlIH19LAotIHsxNiwgMHhhMmQwLCAwLCB7MHg0MSwweDBmLDB4OTAsMHgxMywweGY1LDB4MDQsMHhmOSwweDQxLDB4M2UsMHg1MCwweDBmLDB4OTQsMHg0MywweDY1LDB4MDIsMHhmOSB9fSwKLSB7MTYsIDB4YTJlMCwgMCwgezB4NDEsMHgzNiwweDUwLDB4NGQsMHg5NCwweDAzLDB4ZjQsMHgwMCwweGY5LDB4NDEsMHgzNywweDQwLDB4NGYsMHg5NCwweDAzLDB4ZTYgfX0sCi0gezE2LCAweGEyZjAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDAxLDB4ZmMsMHgwMCwweGNkLDB4YTgsMHgzMywweDcwIH19LAotIHsxNiwgMHhhMzAwLCAwLCB7MHgwZiwweGQwLDB4MTMsMHhmNiwweDg4LDB4Y2QsMHgwMCwweDMyLDB4NTAsMHg0ZiwweDE0LDB4MjMsMHgwNywweGEwLDB4YzksMHhjMCB9fSwKLSB7MTYsIDB4YTMxMCwgMCwgezB4MzIsMHg3OCwweDBjLDB4OWUsMHgwMywweDM3LDB4MDIsMHhjZCwweGMwLDB4MzIsMHg2NCwweDBmLDB4OTgsMHgwMywweDI0LDB4MDAgfX0sCi0gezE2LCAweGEzMjAsIDAsIHsweGNkLDB4MDAsMHgzMiwweDQwLDB4MmMsMHhkYSwweDAzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhMzMwLCAwLCB7MHgzOCwweDEwLDB4ZTIsMHgwOCwweDg4LDB4ZWIsMHgyMiwweDMwLDB4MGIsMHg4MCwweDEyLDB4ZTgsMHgwNCwweGEwLDB4YTAsMHgyYSB9fSwKLSB7MTYsIDB4YTM0MCwgMCwgezB4MjAsMHgwYiwweDhhLDB4MGEsMHgyMywweDAwLDB4ODgsMHg4MCwweDIyLDB4MjgsMHgwMCwweGM4LDB4NDIsMHgyMywweDgwLDB4ODAgfX0sCi0gezE2LCAweGEzNTAsIDAsIHsweGQ0LDB4MjAsMHgyOCwweDA5LDB4ODAsMHgwMiwweDIyLDB4OTQsMHhhOCwweDAwLDB4MmEsMHgwMCwweDg4LDB4ODUsMHgwMiwweDBlIH19LAotIHsxNiwgMHhhMzYwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4YTAsMHg4MywweDAwLDB4MjQsMHhkOCB9fSwKLSB7MTYsIDB4YTM3MCwgMCwgezB4OGIsMHgxMCwweDAyLDB4ZTUsMHgxNCwweDg5LDB4MGEsMHgyMSwweDQ4LDB4MGIsMHg1MiwweDAyLDB4NTQsMHg4MCwweDg1LDB4NDAgfX0sCi0gezE2LCAweGEzODAsIDAsIHsweDI1LDB4NTgsMHgwOSwweDU2LDB4MDIsMHg0NSwweDAyLDB4ODEsMHgyMCwweDIwLDB4NTAsMHgwYiwweDE0LDB4MDIsMHgwNCwweDMwIH19LAotIHsxNiwgMHhhMzkwLCAwLCB7MHg4MSwweDAwLDB4MjAsMHg0MCwweDA4LDB4MTAsMHgwMiwweDQyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTNhMCwgMCwgezB4MTgsMHgxNSwweGE0LDB4MTIsMHg4OSwweDAwLDB4YTYsMHg0MCwweDBiLDB4OTAsMHg0MiwweGU0LDB4OTgsMHhhOSwweDgwLDB4MmIgfX0sCi0gezE2LCAweGEzYjAsIDAsIHsweDQwLDB4MGIsMHg1MSwweDAyLDB4NTUsMHgwMCwweDlkLDB4MDgsMHgyNywweDQ4LDB4MDksMHhmNiwweDAyLDB4NDQsMHgwMCwweDgxIH19LAotIHsxNiwgMHhhM2MwLCAwLCB7MHgwNCwweDIyLDB4NDAsMHgxOSwweDkxLDB4OGEsMHgyNCwweDgwLDB4YTksMHgwMCwweDJhLDB4NDAsMHgwOCwweDkwLDB4MDIsMHg0NiB9fSwKLSB7MTYsIDB4YTNkMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNywweDAyLDB4YzksMHgwNCwweDM2LDB4NTggfX0sCi0gezE2LCAweGEzZTAsIDAsIHsweDBmLDB4OTAsMHgwMywweGM1LDB4MDAsMHhjOSwweDAwLDB4MzIsMHg0MCwweDBmLDB4OTAsMHgxMywweDY0LDB4MDIsMHhjOSwweDAwIH19LAotIHsxNiwgMHhhM2YwLCAwLCB7MHgzNiwweDQwLDB4MmQsMHg5MCwweDBiLDB4NjYsMHgwNCwweGM5LDB4ZTAsMHhiMiwweDQ4LDB4OGYsMHg5OCwweDQ3LDB4MjQsMHgwMCB9fSwKLSB7MTYsIDB4YTQwMCwgMCwgezB4YzksMHgwMCwweDcyLDB4NDAsMHgwYywweDEwLDB4MDMsMHg2OCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE0MTAsIDAsIHsweDI4LDB4MDEsMHhhNSwweDA4LDB4ZjksMHgyMSwweDNhLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNiwweDA0LDB4ZjksMHgwMCwweDNlIH19LAotIHsxNiwgMHhhNDIwLCAwLCB7MHg0MCwweDRmLDB4OTgsMHg4MywweGE0LDB4MDAsMHhlOSwweDQwLDB4YmEsMHg2MCwweDBlLDB4OTAsMHgwMywweGE0LDB4ODAsMHhmOSB9fSwKLSB7MTYsIDB4YTQzMCwgMCwgezB4YTMsMHgzZSwweDQ4LDB4MGYsMHg5OCwweDBiLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgxZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4OGEgfX0sCi0gezE2LCAweGE0NDAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTIsMHg0OCwweGM4LDB4MjAsMHgzMiwweDA4IH19LAotIHsxNiwgMHhhNDUwLCAwLCB7MHgxZiwweDgwLDB4ODMsMHhlMSwweDIyLDB4YzgsMHgwMSwweDMzLDB4MDAsMHgyYywweGMwLDB4MDMsMHgzMCwweDA0LDB4Y2MsMHg0MCB9fSwKLSB7MTYsIDB4YTQ2MCwgMCwgezB4YjEsMHgwMCwweDBjLDB4NDQsMHgwMywweDIwLDB4MTIsMHhjOCwweDQxLDB4MzIsMHgwMCwweDJkLDB4ODQsMHgwYiwweDYwLDB4MDAgfX0sCi0gezE2LCAweGE0NzAsIDAsIHsweGY4LDB4MDAsMHhiMiwweDAwLDB4NGMsMHg4MCwweDBiLDB4MGEsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhNDgwLCAwLCB7MHgyOCwweDA1LDB4M2EsMHgwMCwweGE2LDB4MDAsMHgyMywweDkwLDB4MDMsMHhlNCwweDkyLDB4ZjgsMHgwMCwweDgyLDB4MDAsMHgzNiB9fSwKLSB7MTYsIDB4YTQ5MCwgMCwgezB4ODAsMHgwOCwweGEwLDB4MDMsMHg2OCwweDAwLDB4Y2EsMHgwMCwweDIyLDB4ODMsMHgwOCwweGEwLDB4MDIsMHgyOCwweDAzLDB4OGEgfX0sCi0gezE2LCAweGE0YTAsIDAsIHsweDAwLDB4MjIsMHg4MCwweDA4LDB4YTAsMHgwMiwweDI4LDB4MDAsMHhiNiwweDgwLDB4MjIsMHg4MCwweDBkLDB4ZTgsMHgwMiwweDBhIH19LAotIHsxNiwgMHhhNGIwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDZlLDB4MDAsMHg4MiwweDQyLDB4MjAsMHhjMCB9fSwKLSB7MTYsIDB4YTRjMCwgMCwgezB4MGIsMHgzNCwweDAyLDB4Y2QsMHgwOSwweDgwLDB4MDAsMHgyMCwweDAwLDB4MDgsMHgwMCwweDAyLDB4MDAsMHgwMiwweDk4LDB4MDAgfX0sCi0gezE2LCAweGE0ZDAsIDAsIHsweDIwLDB4MjAsMHgyOCwweDAwLDB4MGEsMHgwNCwweDEwLDB4ODEsMHg4MCwweDIwLDB4YzAsMHgwOCwweGIwLDB4MDIsMHgyYywweDAwIH19LAotIHsxNiwgMHhhNGUwLCAwLCB7MHhiMywweDAwLDB4MjIsMHhjMCwweDE4LDB4MzEsMHgwMiwweDBhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTRmMCwgMCwgezB4YTAsMHgwMSwweDM4LDB4MDIsMHhhMywweDAwLDB4MjEsMHg0MCwweDFiLDB4NzAsMHgwMiwweGRjLDB4MjAsMHg4NCwweDA1LDB4NjUgfX0sCi0gezE2LCAweGE1MDAsIDAsIHsweGUwLDB4MDgsMHhmMCwweDAyLDB4N2MsMHgxMCwweDk3LDB4MDAsMHgyNCwweGMwLDB4MDgsMHgzMCwweDAyLDB4NTQsMHg4OCwweDg3IH19LAotIHsxNiwgMHhhNTEwLCAwLCB7MHgwOSwweDIxLDB4ZTgsMHgwOSwweDMzLDB4MDIsMHgxYywweDgwLDB4YjYsMHgwOCwweDYzLDB4YzgsMHgwOSwweDM4LDB4MTIsMHgyOCB9fSwKLSB7MTYsIDB4YTUyMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgxZSwweDAwLDB4YzcsMHhhMCwweGExLDB4ZTAgfX0sCi0gezE2LCAweGE1MzAsIDAsIHsweDBiLDB4NzgsMHgwMywweGZlLDB4MDAsMHhjNSwweDgyLDB4MzMsMHgyMCwweDBjLDB4NDgsMHgwMywweDFlLDB4MDEsMHhkZiwweDgwIH19LAotIHsxNiwgMHhhNTQwLCAwLCB7MHgzMSwweDIwLDB4MGMsMHg0OCwweDAzLDB4MDYsMHg0MCwweDg3LDB4ODIsMHgzMSwweGY4LDB4MGQsMHg3YiwweDAzLDB4NWYsMHgwMCB9fSwKLSB7MTYsIDB4YTU1MCwgMCwgezB4ZjMsMHg4MCwweDMxLDB4ZjIsMHgwYywweDYwLDB4MDMsMHgyYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE1NjAsIDAsIHsweDA4LDB4MWQsMHg5YywweDAwLDB4ZmIsMHgwMSwweDJmLDB4NDAsMHgwNywweGIwLDB4MDMsMHhlOCwweDA0LDB4ZjksMHgwMCwweDNlIH19LAotIHsxNiwgMHhhNTcwLCAwLCB7MHhjMSwweDBmLDB4YjAsMHgwMywweGUwLDB4MDYsMHhlOCwweDAyLDB4M2EsMHhjMCwweDBmLDB4YjAsMHgwMSwweGE0LDB4MTAsMHhmOSB9fSwKLSB7MTYsIDB4YTU4MCwgMCwgezB4NDAsMHhiZSwweGQwLDB4MDYsMHhiMCwweDAzLDB4ZWUsMHgwMCwweGZhLDB4MDAsMHgzYywweGQ4LDB4MGYsMHhhMCwweDAzLDB4YzIgfX0sCi0gezE2LCAweGE1OTAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4ZjYsMHgwMCwweGNmLDB4ODgsMHgzMywweDY0IH19LAotIHsxNiwgMHhhNWEwLCAwLCB7MHgyYywweGY4LDB4MDMsMHhmZSwweDAyLDB4YzQsMHhiMCwweDMzLDB4MjAsMHg4YywweGQ4LDB4MDMsMHgzMiwweDAwLDB4Y2MsMHhiNCB9fSwKLSB7MTYsIDB4YTViMCwgMCwgezB4MzMsMHhhMCwweDBjLDB4YzgsMHgwMywweDE2LDB4MjAsMHhjZiwweGMwLDB4MzMsMHhmMCwweDBjLDB4ZjgsMHgwMywweGZlLDB4MDAgfX0sCi0gezE2LCAweGE1YzAsIDAsIHsweGNkLDB4ODAsMHgzZiwweGUwLDB4MGYsMHhkOCwweDAzLDB4MDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhNWQwLCAwLCB7MHhhOCwweDExLDB4YjUsMHgwNCwweDg3LDB4MTIsMHhhMSwweDUwLDB4MGEsMHg3NCwweDEyLDB4YzQsMHg0MCwweDg0LDB4MTEsMHgyMyB9fSwKLSB7MTYsIDB4YTVlMCwgMCwgezB4YzAsMHgyOCwweGUwLDB4MDIsMHgxYywweDAyLDB4YTcsMHgxMSwweDIxLDB4NTgsMHg0OCwweDcwLDB4MGEsMHgxNCwweDAwLDB4OGQgfX0sCi0gezE2LCAweGE1ZjAsIDAsIHsweDAwLDB4MjMsMHhjMCwweDBiLDB4NzAsMHgwMiwweGZjLDB4NDAsMHg4NiwweDAwLDB4MmQsMHhjMCwweDBiLDB4NTAsMHgwMiwweDJhIH19LAotIHsxNiwgMHhhNjAwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDk1LDB4MDAsMHg4NywweDQwLDB4MjEsMHgwMCB9fSwKLSB7MTYsIDB4YTYxMCwgMCwgezB4MTgsMHg3MSwweDAyLDB4ZGMsMHgwMCwweDk1LDB4MjgsMHhlMSwweDAyLDB4MDgsMHg1MCwweDAyLDB4M2MsMHg0MiwweGE3LDB4MjIgfX0sCi0gezE2LCAweGE2MjAsIDAsIHsweDIxLDB4ODAsMHg4OCwweDQxLDB4MDIsMHgxNCwweDAwLDB4ODUsMHgwMCwweGExLDB4YzAsMHgwOSwweDcxLDB4MDIsMHhkYywweDAwIH19LAotIHsxNiwgMHhhNjMwLCAwLCB7MHhiNSwweDEwLDB4MmQsMHhjMCwweDBiLDB4NDAsMHgwMiwweDAwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTY0MCwgMCwgezB4MjAsMHgxNCwweGM0LDB4MTAsMHg4MywweDg0LDB4MjAsMHgxMSwweDA4LDB4MzAsMHgwMiwweGMzLDB4MTAsMHg5MSwweDIwLDB4MjAgfX0sCi0gezE2LCAweGE2NTAsIDAsIHsweGMwLDB4MDgsMHgyOCwweDEyLDB4MDAsMHgwMCwweGEwLDB4ODQsMHgyMCwweDQwLDB4MDgsMHgzMCwweDAyLDB4MDQsMHgyNiwweDgzIH19LAotIHsxNiwgMHhhNjYwLCAwLCB7MHgwMCwweDIwLDB4ZDAsMHgwYiwweDMwLDB4MDIsMHhjYywweDAwLDB4YjIsMHgwMCwweDJjLDB4YzAsMHgwYiwweDAwLDB4MDIsMHgwOCB9fSwKLSB7MTYsIDB4YTY3MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhhZCwweDAwLDB4Y2YsMHg4OCwweGIyLDB4ZTggfX0sCi0gezE2LCAweGE2ODAsIDAsIHsweDBjLDB4MzAsMHgxMywweGNlLDB4YzIsMHhkMCwweDgyLDB4MzIsMHgwMCwweDBjLDB4MGUsMHgwYiwweDIwLDB4MDAsMHhjOCwweDg4IH19LAotIHsxNiwgMHhhNjkwLCAwLCB7MHhiMiwweDQwLDB4MmMsMHhiYSwweDQzLDB4MzcsMHgwMiwweGNiLDB4MDAsMHhiMywweGMwLDB4MmMsMHhmMCwweDAzLDB4ZmMsMHgxMiB9fSwKLSB7MTYsIDB4YTZhMCwgMCwgezB4ZmIsMHgwMCwweDdmLDB4ZDEsMHgwZiwweDMwLDB4MGIsMHgyYiwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE2YjAsIDAsIHsweDgwLDB4MDAsMHhlZCwweDAyLDB4ZjEsMHg0MCwweDNlLDB4NDEsMHgwZiwweGIwLDB4MjMsMHhlZCwweDAwLDB4ZTgsMHgwMSwweDNlIH19LAotIHsxNiwgMHhhNmMwLCAwLCB7MHhjOCwweDBmLDB4YjAsMHgxMywweGVjLDB4MDQsMHhkYiwweDAwLDB4M2MsMHg4MCwweDBmLDB4MDQsMHgwMywweGU0LDB4NDAsMHhmOSB9fSwKLSB7MTYsIDB4YTZkMCwgMCwgezB4MDAsMHgzYywweGMyLDB4MGUsMHhiMCwweDAzLDB4ZWUsMHgwMCwweDRiLDB4NDEsMHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4ZTAgfX0sCi0gezE2LCAweGE2ZTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZmMsMHgwMCwweDRiLDB4MDAsMHgzMiwweDQyIH19LAotIHsxNiwgMHhhNmYwLCAwLCB7MHgwYywweGYwLDB4MDMsMHgzNiwweDgwLDB4Y2QsMHgwMCwweDMzLDB4MDAsMHg0YywweGMwLDB4ODMsMHgzYywweDA0LDB4ZjcsMHgwMCB9fSwKLSB7MTYsIDB4YTcwMCwgMCwgezB4MzIsMHg0MCwweDBjLDB4YjEsMHg0MywweDE0LDB4MDAsMHhjZCwweDgwLDB4MzMsMHhjMCwweDBjLDB4ZjAsMHgwMywweGZjLDB4MDAgfX0sCi0gezE2LCAweGE3MTAsIDAsIHsweGZmLDB4MDAsMHhiMywweGMyLDB4MGMsMHhhMCwweDAzLDB4MDAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhNzIwLCAwLCB7MHg4MSwweDA0LDB4NGYsMHgwMiwweDhiLDB4ODAsMHgyMCwweDMwLDB4MDgsMHhiYywweDAyLDB4MjAsMHgxMCwweDg5LDB4MDAsMHgyMiB9fSwKLSB7MTYsIDB4YTczMCwgMCwgezB4YzAsMHgwMCwweGIwLDB4MDMsMHg2MCwweDA0LDB4YjgsMHgwMCwweGEyLDB4OTAsMHgyOCwweDhjLDB4MWEsMHgyNCwweDAyLDB4OGIgfX0sCi0gezE2LCAweGE3NDAsIDAsIHsweDgzLDB4MjIsMHhjMSwweDA4LDB4YjAsMHgwMiwweGZjLDB4MDAsMHhiMywweDYwLDB4MjAsMHhjMCwweDBkLDB4YTAsMHgwMywweGUwIH19LAotIHsxNiwgMHhhNzUwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJlLDB4MDAsMHhhYiwweGMwLDB4MjIsMHg2MCB9fSwKLSB7MTYsIDB4YTc2MCwgMCwgezB4MDgsMHhiOCwweDAyLDB4MjksMHgwMCwweDg4LDB4MDEsMHgyMCwweDAwLDB4MDgsMHg5MCwweDAyLDB4MjAsMHgwMCwweGI4LDB4MDAgfX0sCi0gezE2LCAweGE3NzAsIDAsIHsweDIyLDB4YzAsMHgwOCwweGIwLDB4MDIsMHhlNCwweDAwLDB4ODEsMHgyNCwweGEyLDB4YzAsMHgwOSwweGIwLDB4NDYsMHhlYywweDAwIH19LAotIHsxNiwgMHhhNzgwLCAwLCB7MHhiOSwweDAwLDB4MjIsMHhjMCwweDA4LDB4OTAsMHgwMiwweDIwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTc5MCwgMCwgezB4MDgsMHgwNCwweDJjLDB4MDAsMHhhMSwweDAwLDB4YTAsMHg0MSwweDA4LDB4YjAsMHgwYSwweDIwLDB4NTMsMHg4OCwweDAwLDB4MjAgfX0sCi0gezE2LCAweGE3YTAsIDAsIHsweGMwLDB4MjgsMHhhMCwweDAyLDB4NGMsMHgwMCwweGIzLDB4MDAsMHgyMCwweDAwLDB4ODgsMHgwMCwweDAyLDB4ODQsMHgwMCwweDgzIH19LAotIHsxNiwgMHhhN2IwLCAwLCB7MHgwNCwweDIwLDB4YzAsMHgyOCwweDMwLDB4MDIsMHhjYywweDAwLDB4YjMsMHgwMiwweDYyLDB4YzAsMHgwOSwweDEwLDB4MDIsMHhjMiB9fSwKLSB7MTYsIDB4YTdjMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2YywweDAwLDB4ZTksMHgwMCwweDIyLDB4MDAgfX0sCi0gezE2LCAweGE3ZDAsIDAsIHsweDBjLDB4YjAsMHgwMywweDAwLDB4MDQsMHhjOSwweDAwLDB4YjIsMHgwMCwweDBjLDB4OTAsMHgwMywweDJjLDB4MDAsMHhmMywweDAwIH19LAotIHsxNiwgMHhhN2UwLCAwLCB7MHhiMiwweGMwLDB4OGMsMHhiMCwweDAzLDB4YjQsMHgwMiwweDhmLDB4MDAsMHgyMywweGMwLDB4MDQsMHhmMCwweDAzLDB4ZWMsMHgwOCB9fSwKLSB7MTYsIDB4YTdmMCwgMCwgezB4ZjksMHgwMCwweDMzLDB4YzAsMHgwYywweDgwLDB4MDMsMHgwMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE4MDAsIDAsIHsweGEwLDB4MWQsMHhmYywweDEwLDB4ZGQsMHgwNCwweDNmLDB4MDAsMHgwZiwweGMwLDB4MjMsMHhmMCwweDkwLDB4ZmQsMHgwMCwweDJmIH19LAotIHsxNiwgMHhhODEwLCAwLCB7MHhjMCwweDBmLDB4ZTAsMHg0MywweGQwLDB4MDAsMHhmYywweDAwLDB4M2YsMHgwMCwweDhmLDB4YzAsMHgyMiwweDc0LDB4MDAsMHhmZCB9fSwKLSB7MTYsIDB4YTgyMCwgMCwgezB4MDQsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGZmLDB4MDYsMHgzZiwweGMwLDB4MGYsMHhjMCwweDQzLDB4ZTggfX0sCi0gezE2LCAweGE4MzAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZmMsMHg4MCwweGVmLDB4MjAsMHgxMSwweGMwIH19LAotIHsxNiwgMHhhODQwLCAwLCB7MHgwZSwweDcyLDB4MDMsMHhiZCwweGIwLDB4Y2YsMHgzMSwweGJmLDB4Y2MsMHgwMiwweGYwLDB4MDMsMHhmYywweGM2LDB4Y2YsMHgwMSB9fSwKLSB7MTYsIDB4YTg1MCwgMCwgezB4MGIsMHhjNSwweDBmLDB4ZjEsMHgwMywweDNjLDB4MDQsMHhlZiwweDYxLDB4MzMsMHhkOCwweDA3LDB4ZjAsMHgwMywweDM0LDB4ODAgfX0sCi0gezE2LCAweGE4NjAsIDAsIHsweGNkLDB4MzAsMHg3MywweGNjLDB4MGYsMHhlOCwweDAzLDB4MzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhODcwLCAwLCB7MHg4MCwweDE4LDB4ZTksMHgwMCwweDg4LDB4NjksMHgyMiwweDEwLDB4MDgsMHg4YywweDAwLDB4MjEsMHg4NCwweDg4LDB4NDEsMHgyMiB9fSwKLSB7MTYsIDB4YTg4MCwgMCwgezB4MTAsMHg4OCwweDg2LDB4OTIsMHgwMSwweDAwLDB4ODgsMHg2MiwweDIyLDB4MTAsMHg0YiwweDg3LDB4MDIsMHgyMSwweGEwLDB4ODggfX0sCi0gezE2LCAweGE4OTAsIDAsIHsweDYwLDB4MjAsMHgxMCwweDBiLDB4ODYsMHhhMiwweDM1LDB4YTAsMHhhYiwweDYwLDB4YTEsMHhjNCwweDBiLDB4YjgsMHgwMiwweDIwIH19LAotIHsxNiwgMHhhOGEwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNkLDB4YTgsMHgzMywweDQxLDB4MjAsMHhjNiB9fSwKLSB7MTYsIDB4YThiMCwgMCwgezB4NGEsMHgzMSwweDAwLDB4OGMsMHgxMCwweDkzLDB4MzMsMHgyOCwweGNjLDB4MjksMHgzNCwweDEyLDB4OGMsMHg1MCwweDkzLDB4MWMgfX0sCi0gezE2LCAweGE4YzAsIDAsIHsweDI4LDB4ODQsMHgwMSwweDIwLDB4NGEsMHg0YywweDQxLDB4ODMsMHgxMCwweDI0LDB4Y2MsMHg0YiwweDMxLDB4NDIsMHg0YywweDQwIH19LAotIHsxNiwgMHhhOGQwLCAwLCB7MHg5MSwweDEwLDB4MjQsMHhjMCwweDBiLDB4ODAsMHgwMiwweDIyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YThlMCwgMCwgezB4YzAsMHgwNSwweGE4LDB4MjAsMHg5MCwweDAyLDB4MjIsMHgwMCwweDA4LDB4ODAsMHgwMCwweDIwLDB4MzAsMHhiOCwweDA4LDB4MjYgfX0sCi0gezE2LCAweGE4ZjAsIDAsIHsweDAwLDB4MDEsMHg4MCwweDgyLDB4MjAsMHgyMCwweDE4LDB4MDgsMHg0MiwweDQwLDB4MDMsMHg5MSwweDAyLDB4NjAsMHgwMCwweDA4IH19LAotIHsxNiwgMHhhOTAwLCAwLCB7MHgwMSwweGE2LDB4MDAsMHgwYiwweDgwLDB4MDAsMHg2YywweDEwLDB4YmIsMHgwMSwweDI2LDB4YzAsMHg0YiwweDkwLDB4MGEsMHgzMCB9fSwKLSB7MTYsIDB4YTkxMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTEsMHhmZCwweDAwLDB4ZmQsMHg0MSwweDMzLDB4YTEgfX0sCi0gezE2LCAweGE5MjAsIDAsIHsweDBlLDB4ZDIsMHgwMywweGI1LDB4MDIsMHhkZiwweDQyLDB4M2IsMHgwMSwweDBmLDB4ZDQsMHg0MywweGI1LDB4MDAsMHhjZCwweDQwIH19LAotIHsxNiwgMHhhOTMwLCAwLCB7MHgxYiwweGM0LDB4MGQsMHg3OCwweDAzLDB4NzAsMHgwMiwweGVjLDB4MDAsMHgxNywweGExLDB4MGYsMHhlOCwweDBiLDB4MmMsMHgwMiB9fSwKLSB7MTYsIDB4YTk0MCwgMCwgezB4ZDksMHg5MCwweDI2LDB4YzAsMHgwZiwweGFjLDB4MDMsMHgwMCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE5NTAsIDAsIHsweGUwLDB4MDEsMHhiOCwweDAwLDB4ZWUsMHgwMCwweDFmLDB4NjQsMHg0ZiwweGUwLDB4MDMsMHhkOCwweDEwLDB4YzQsMHgxOCwweDMzIH19LAotIHsxNiwgMHhhOTYwLCAwLCB7MHhjMCwweDBjLDB4YTAsMHhhMSwweGI4LDB4MDksMHhlNiwweDA5LDB4MzYsMHgyMiwweDBmLDB4ODgsMHgyMywweGJjLDB4MDAsMHhmYiB9fSwKLSB7MTYsIDB4YTk3MCwgMCwgezB4MDAsMHgzYiwweDY0LDB4MGYsMHhkOSwweDAzLDB4OWMsMHgwMCwweGUzLDB4MDQsMHgzYiwweGMwLDB4MGYsMHhmNCwweDAzLDB4ZjggfX0sCi0gezE2LCAweGE5ODAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4OGQsMHgwMCwweGM5LDB4NDAsMHhiNiwweDgwIH19LAotIHsxNiwgMHhhOTkwLCAwLCB7MHgwZiwweDEwLDB4MDMsMHhhNywweDIwLDB4ZmIsMHg1MCwweGI2LDB4MDgsMHg0YywweDE0LDB4MDMsMHg2NSwweDIyLDB4ZDksMHg0MCB9fSwKLSB7MTYsIDB4YTlhMCwgMCwgezB4YjYsMHg4MCwweDBlLDB4YTAsMHgwYiwweDAwLDB4MDAsMHhkOCwweDAwLDB4NzYsMHg4MiwweDI4LDB4YTAsMHgyMywweDY0LDB4MDAgfX0sCi0gezE2LCAweGE5YjAsIDAsIHsweGM5LDB4MDQsMHgxMiwweGMwLDB4OGUsMHg4MCwweDAzLDB4OTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhOWMwLCAwLCB7MHhjOCwweDA1LDB4MmIsMHg2MCwweDhhLDB4MDksMHgyMCwweDUwLDB4MDgsMHhhMCwweDIzLDB4ZTksMHgwMCwweGI4LDB4YzAsMHgyMiB9fSwKLSB7MTYsIDB4YTlkMCwgMCwgezB4ZjAsMHgwOCwweGFjLDB4MDIsMHgyOCwweDA0LDB4OGEsMHhjMiwweDIyLDB4NTAsMHgwOCwweDkwLDB4MDYsMHgyYywweDAwLDB4OGIgfX0sCi0gezE2LCAweGE5ZTAsIDAsIHsweDA0LDB4MjIsMHg1MSwweDA4LDB4OTQsMHgwMiwweGU0LDB4MDQsMHg4YiwweDA0LDB4MzcsMHhjMCwweDA4LDB4MTgsMHg0MiwweDI2IH19LAotIHsxNiwgMHhhOWYwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNCwweDRiLDB4MDAsMHg4MiwweGM4LDB4MjQsMHg0MyB9fSwKLSB7MTYsIDB4YWEwMCwgMCwgezB4MGIsMHgyNiwweDBhLDB4ODgsMHgwMCwweGIwLDB4ODAsMHgyMiwweGU0LDB4MGIsMHgyMCwweDQyLDB4NjksMHgwMCwweGEyLDB4OTAgfX0sCi0gezE2LCAweGFhMTAsIDAsIHsweDI4LDB4NDAsMHhlOCwweDEwLDB4MDIsMHgwYywweDAwLDB4YmIsMHgwMCwweDI4LDB4NTAsMHg4OCwweDkwLDB4ODIsMHhjNCwweDAxIH19LAotIHsxNiwgMHhhYTIwLCAwLCB7MHg4MywweDAwLDB4MjAsMHhjMCwweDBhLDB4MTAsMHgwMiwweGJhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWEzMCwgMCwgezB4MjAsMHgxMCwweDRlLDB4ODAsMHg4MSwweDAwLDB4MjEsMHhhOCwweDA4LDB4NTgsMHgwMiwweGQ2LDB4MDEsMHhiNywweDkwLDB4NjggfX0sCi0gezE2LCAweGFhNDAsIDAsIHsweDIwLDB4MDMsMHg1OSwweDgyLDB4NTYsMHgwMCwweGE1LDB4ODQsMHgyZCwweGEyLDB4MTgsMHg2OSwweDIyLDB4MDIsMHgwMCwweDM0IH19LAotIHsxNiwgMHhhYTUwLCAwLCB7MHg4MCwweDI5LDB4YTgsMHgwOCwweDY4LDB4MDYsMHhjNiwweDE0LDB4ODUsMHg4MiwweDI1LDB4ZTAsMHgwOCwweDU4LDB4ODIsMHgxYyB9fSwKLSB7MTYsIDB4YWE2MCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHg0OCwweDAwLDB4YzIsMHhmMCwweDM0LDB4NDAgfX0sCi0gezE2LCAweGFhNzAsIDAsIHsweDBmLDB4MjAsMHgwMywweDg4LDB4ODAsMHhmOCwweDEwLDB4MzAsMHhjMCwweDI3LDB4MjEsMHgwYiwweDQ4LDB4ODAsMHhlYSwweDIwIH19LAotIHsxNiwgMHhhYTgwLCAwLCB7MHgzOCwweDAwLDB4MGMsMHgwMCwweDEyLDB4MGMsMHgwOCwweDczLDB4MDAsMHhiOCwweDQwLDB4MGMsMHgxMiwweDIzLDB4NGMsMHgwMiB9fSwKLSB7MTYsIDB4YWE5MCwgMCwgezB4NDMsMHgzNCwweDMwLDB4YzAsMHgwZSwweDExLDB4MDMsMHg5MiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFhYTAsIDAsIHsweDQwLDB4MTUsMHhhYywweDkwLDB4ZjksMHgwMSwweDJlLDB4ODgsMHg0YiwweDkwLDB4MTEsMHg2NCwweDAwLDB4ZmIsMHgxMCwweDMyIH19LAotIHsxNiwgMHhhYWIwLCAwLCB7MHgwMCwweDAwLDB4OTEsMHgwMywweGE0LDB4MDAsMHhjOSwweDAwLDB4MzIsMHhjNCwweDRkLDB4YjAsMHg0MywweGUwLDB4MDQsMHhjOCB9fSwKLSB7MTYsIDB4YWFjMCwgMCwgezB4MDAsMHgzNiwweDg5LDB4MGYsMHhhOCwweDAzLDB4ZWQsMHgwMCwweGY5LDB4MTQsMHgzZSwweGMwLDB4MGYsMHgxMCwweDQzLDB4ZDAgfX0sCi0gezE2LCAweGFhZDAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4ZTgsMHgwMCwweGM4LDB4MDAsMHgzYSwweDAwIH19LAotIHsxNiwgMHhhYWUwLCAwLCB7MHgwYywweDAwLDB4NTMsMHhhMCwweDAwLDB4ZTgsMHgwMSwweDMyLDB4MDEsMHgwZSwweDgwLDB4NTMsMHgyMCwweDEwLDB4YzgsMHgwMCB9fSwKLSB7MTYsIDB4YWFmMCwgMCwgezB4M2EsMHg0MCwweDBjLDB4OTAsMHgwMywweDIwLDB4MTAsMHhlOCwweDA0LDB4YjYsMHgwMCwweDg0LDB4ODAsMHgwMywweDJkLDB4MTIgfX0sCi0gezE2LCAweGFiMDAsIDAsIHsweGNiLDB4MDAsMHgyZSwweGNhLDB4MDQsMHg5MCwweDAzLDB4ZWEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhYjEwLCAwLCB7MHg0YywweDE5LDB4OGMsMHgwMCwweDg3LDB4MDIsMHgyMSwweGMwLDB4MDgsMHg3MCwweDAyLDB4MGMsMHgwMCwweDgzLDB4MDAsMHgyMSB9fSwKLSB7MTYsIDB4YWIyMCwgMCwgezB4YzAsMHgwOCwweDMwLDB4NjIsMHg0YywweDA0LDB4ODMsMHgwMCwweDIxLDB4ODAsMHg0OCwweGUwLDB4MTIsMHgzYywweDAwLDB4ODcgfX0sCi0gezE2LCAweGFiMzAsIDAsIHsweDAwLDB4MjEsMHhjMCwweDA4LDB4NzAsMHgwMiwweDFjLDB4MDAsMHg4NSwweDAxLDB4MjQsMHhkMCwweDBhLDB4NTAsMHgwMiwweGYyIH19LAotIHsxNiwgMHhhYjQwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgwMCwweDlhLDB4MDAsMHg4MCwweDgwLDB4MjgsMHgyMCB9fSwKLSB7MTYsIDB4YWI1MCwgMCwgezB4MDgsMHg0YywweDIyLDB4ZDIsMHgwMCwweGE0LDB4ODAsMHgyNCwweDMwLDB4MGIsMHg0OCwweDAyLDB4NTIsMHgwMCwweDg0LDB4YzAgfX0sCi0gezE2LCAweGFiNjAsIDAsIHsweDIxLDB4MjAsMHgwOSwweDQ4LDB4NjgsMHgxMywweDAwLDB4YTQsMHg4MCwweDYwLDB4MjAsMHgwOSwweDA4LDB4MDIsMHg1NiwweDAwIH19LAotIHsxNiwgMHhhYjcwLCAwLCB7MHg5NywweDgwLDB4MmQsMHhlMCwweDg4LDB4NTgsMHgwMiwweGUwLDB4MTAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWI4MCwgMCwgezB4NmMsMHgwNCwweGNjLDB4MDAsMHg4MywweDgwLDB4MjAsMHhkOCwweDA4LDB4MzAsMHgwMiwweDRjLDB4NDAsMHg4MywweDAwLDB4MjQgfX0sCi0gezE2LCAweGFiOTAsIDAsIHsweGQxLDB4MDksMHhiOSwweDQyLDB4NGUsMHgwMCwweDgzLDB4MDAsMHgyMCwweGMxLDB4ODksMHgzMCwweDQyLDB4MGMsMHgwMCwweDgzIH19LAotIHsxNiwgMHhhYmEwLCAwLCB7MHhmMCwweGEwLDB4ZDksMHgxOSwweDM2LDB4MjIsMHg2NiwweDA2LDB4OTEsMHgwMCwweDBjLDB4YzEsMHgwYSwweDEwLDB4MDIsMHhjMiB9fSwKLSB7MTYsIDB4YWJiMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhlOCwweDAyLDB4Y2EsMHhhNSwweDJhLDB4OTEgfX0sCi0gezE2LCAweGFiYzAsIDAsIHsweDI4LDB4YTgsMHgwMywweGVhLDB4MDIsMHhhYSwweDAwLDB4YjYsMHhhMCwweDBmLDB4YTAsMHgwYSwweDJhLDB4OTIsMHhjYSwweDgzIH19LAotIHsxNiwgMHhhYmQwLCAwLCB7MHhiYSwweDgwLDB4MjksMHhhMCwweDAzLDB4MmIsMHgwMCwweGVhLDB4NDAsMHg2NiwweDkwLDB4MmQsMHhlNCwweDBiLDB4NmEsMHg4MCB9fSwKLSB7MTYsIDB4YWJlMCwgMCwgezB4ZGEsMHgwMCwweDNlLDB4ODAsMHgwYywweGUwLDB4MDMsMHhmYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFiZjAsIDAsIHsweDQ4LDB4MDEsMHg4MCwweDAwLDB4ZmMsMHgwMCwweDNkLDB4MDAsMHgwZiwweGMwLDB4MDMsMHhiMCwweDE0LDB4ZmMsMHgwMCwweDNiIH19LAotIHsxNiwgMHhhYzAwLCAwLCB7MHgxMiwweDBlLDB4YzAsMHg0MywweGIxLDB4MTQsMHhmYywweDAwLDB4M2QsMHgwMCwweDBlLDB4YzAsMHgwMywweGYwLDB4MjAsMHhmNCB9fSwKLSB7MTYsIDB4YWMxMCwgMCwgezB4MDAsMHgzMSwweDAwLDB4MGUsMHg0NCwweDEzLDB4YTAsMHgwMCwweGU4LDB4MDYsMHgzNiwweDAwLDB4NGYsMHg4MCwweDEzLDB4ZDIgfX0sCi0gezE2LCAweGFjMjAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4YTQsMHgwMCwweGQxLDB4MDAsMHgzNiwweDYwIH19LAotIHsxNiwgMHhhYzMwLCAwLCB7MHgxYywweDE4LDB4MGIsMHg0NiwweDAwLDB4ZDksMHg4MCwweDMwLDB4NDAsMHgyYywweDk4LDB4MDUsMHg4NiwweDAwLDB4YzEsMHg4MCB9fSwKLSB7MTYsIDB4YWM0MCwgMCwgezB4OTIsMHg0MCwweDBkLDB4MTAsMHgwMywweDQ0LDB4MDIsMHg4OSwweDAwLDB4MzIsMHg3MCwweDBjLDB4OTgsMHgwMSwweDI0LDB4MDAgfX0sCi0gezE2LCAweGFjNTAsIDAsIHsweGM5LDB4MDQsMHgzMCwweDQwLDB4MGMsMHg5MCwweDAzLDB4YzIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhYzYwLCAwLCB7MHg4MCwweDA0LDB4NjQsMHgwMCwweDg5LDB4MDAsMHgyMiwweDQwLDB4MDgsMHg5NCwweDAyLDB4MjQsMHg4MCwweDg5LDB4MDEsMHgyMiB9fSwKLSB7MTYsIDB4YWM3MCwgMCwgezB4NDAsMHg0OCwweDkxLDB4MDIsMHgyNCwweDAwLDB4ZDksMHg5MCwweDIyLDB4NDEsMHgwOCwweDkwLDB4MTIsMHgyNCwweDEwLDB4ODkgfX0sCi0gezE2LCAweGFjODAsIDAsIHsweDAwLDB4MzIsMHg0MCwweDA4LDB4OTUsMHgxMiwweDI0LDB4MDIsMHg4MSwweDAwLDB4YTIsMHg0MSwweDBkLDB4OTAsMHg0MiwweGUwIH19LAotIHsxNiwgMHhhYzkwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzgsMHgwNSwweDI0LDB4MDIsMHg5ZCwweDAwLDB4MjMsMHg0NCB9fSwKLSB7MTYsIDB4YWNhMCwgMCwgezB4MDgsMHhkMiwweDA2LDB4NzQsMHg4MCwweGI1LDB4MjAsMHgyMywweDQwLDB4MWEsMHhkMCwweDA2LDB4MzUsMHg5MCwweDhkLDB4MDIgfX0sCi0gezE2LCAweGFjYjAsIDAsIHsweDJmLDB4NDQsMHgxOSwweGQwLDB4MDIsMHg3NCwweDAwLDB4OGQsMHgwMCwweDYzLDB4NDAsMHgxOCwweGQ0LDB4MDIsMHhhNCwweDExIH19LAotIHsxNiwgMHhhY2MwLCAwLCB7MHg4OSwweDAwLDB4MjIsMHg0MCwweDA4LDB4YjAsMHgwMiwweGM2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWNkMCwgMCwgezB4MjgsMHgxNCwweDA0LDB4ODAsMHg4NSwweDIwLDB4MjEsMHg2OCwweDA4LDB4NTIsMHgwMiwweDE0LDB4ODAsMHhhNSwweDIwLDB4YTEgfX0sCi0gezE2LCAweGFjZTAsIDAsIHsweDQ4LDB4MGEsMHg3MiwweDM4LDB4MTQsMHg4MCwweDk1LDB4MjQsMHgyZCwweDQ4LDB4MjgsMHg1MiwweDAyLDB4MTQsMHg4MCwweDg1IH19LAotIHsxNiwgMHhhY2YwLCAwLCB7MHgyMCwweDIxLDB4NDgsMHgwOCwweDUyLDB4MDYsMHg4NCwweDgwLDB4ODEsMHgyMCwweDIwLDB4NGEsMHgwOSwweDEwLDB4MDIsMHhjMiB9fSwKLSB7MTYsIDB4YWQwMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDM4LDB4MGQsMHg2MSwweDQwLDB4ZDgsMHg1MCwweGIyLDB4MTQgfX0sCi0gezE2LCAweGFkMTAsIDAsIHsweDI4LDB4YTAsMHgwMywweDYxLDB4NDAsMHhmOCwweDUwLDB4MzIsMHg5NCwweDRlLDB4ODUsMHgwNCwweDIxLDB4NDIsMHhjOCwweDUwIH19LAotIHsxNiwgMHhhZDIwLCAwLCB7MHgzYywweDE0LDB4MGQsMHg4MCwweDAzLDB4NjEsMHg0MCwweDg4LDB4NTAsMHhiMiwweDE0LDB4MmMsMHhjNSwweDA5LDB4YTEsMHg0MCB9fSwKLSB7MTYsIDB4YWQzMCwgMCwgezB4YzgsMHg1MCwweDMyLDB4MWMsMHgwYywweDgwLDB4MDMsMHhlZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFkNDAsIDAsIHsweDk4LDB4MTUsMHhlNCwweDQwLDB4ZjksMHgxMCwweDNhLDB4NDQsMHgwZiwweDkxLDB4MDMsMHhlNCwweDQwLDB4ZDksMHgxNCwweDNlIH19LAotIHsxNiwgMHhhZDUwLCAwLCB7MHg0NCwweDBkLDB4OTEsMHg0MywweDY0LDB4NDAsMHhlOSwweDEwLDB4MzIsMHg0NCwweDA3LDB4OTMsMHhjMywweGU0LDB4NTAsMHhkMSB9fSwKLSB7MTYsIDB4YWQ2MCwgMCwgezB4MTAsMHg3ZSwweDQ0LDB4MDMsMHg5MSwweDAxLDB4NTQsMHg0NCwweGZkLDB4MTQsMHgzZSwweDQwLDB4MGYsMHhkMCwweDAzLDB4ZTYgfX0sCi0gezE2LCAweGFkNzAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZjYsMHg4MCwweGRkLDB4YTAsMHgzMywweDY4IH19LAotIHsxNiwgMHhhZDgwLCAwLCB7MHgxZSwweGRhLDB4MDMsMHgzNiwweDkwLDB4Y2QsMHhhMCwweDNiLDB4NjgsMHgwYSwweGQ4LDB4MjMsMHg3NiwweDBjLDB4ZWQsMHg4MCB9fSwKLSB7MTYsIDB4YWQ5MCwgMCwgezB4MmIsMHg2MiwweDBiLDB4OTksMHgwMiwweGE3LDB4ODAsMHhmOSwweGUxLDB4MzcsMHg2OCwweDBjLDB4ZGEsMHgwMywweDI3LDB4ODAgfX0sCi0gezE2LCAweGFkYTAsIDAsIHsweGM5LDB4YTIsMHgyMiwweDY4LDB4NGMsMHg1MCwweDAzLDB4YzYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhZGIwLCAwLCB7MHgzOCwweDE4LDB4ZTEsMHg0MCwweDg4LDB4NTAsMHgyMiwweDE0LDB4MDgsMHg4MCwweDIyLDB4NjAsMHgwMCwweDg4LDB4MDQsMHgyMiB9fSwKLSB7MTYsIDB4YWRjMCwgMCwgezB4MDAsMHgwOCwweDA0LDB4MjYsMHgwMSwweDAwLDB4ODgsMHg1MCwweDIyLDB4MTAsMHgwOCwweGFmLDB4MDIsMHgyMywweDAwLDB4ODggfX0sCi0gezE2LCAweGFkZDAsIDAsIHsweGMwLDB4YTAsMHgxMCwweDg4LDB4ODQsMHgwMiwweDIzLDB4ODAsMHhhMCwweDQwLDB4MmEsMHgxMCwweDA4LDB4ODAsMHgxMiwweDRlIH19LAotIHsxNiwgMHhhZGUwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweDg0LDB4MDAsMHg4MSwweDAxLDB4MjAsMHg0MCB9fSwKLSB7MTYsIDB4YWRmMCwgMCwgezB4MGEsMHgxNCwweDAyLDB4NDUsMHgwMCwweDgxLDB4NDEsMHgyYywweDUwLDB4MGIsMHgxNCwweDAyLDB4MDUsMHgwNCwweGExLDB4MDAgfX0sCi0gezE2LCAweGFlMDAsIDAsIHsweDI4LDB4NDAsMHg4MiwweDEwLDB4MDIsMHg4NCwweDQwLDB4YTEsMHgzMiwweDgwLDB4NTAsMHgwOSwweDE0LDB4MDIsMHgwNCwweGM0IH19LAotIHsxNiwgMHhhZTEwLCAwLCB7MHg5MSwweDEwLDB4NjQsMHg0NCwweDI4LDB4MTAsMHgwMiwweGQyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWUyMCwgMCwgezB4MTgsMHgwNCwweGFjLDB4MDIsMHg4MSwweDAwLDB4MjIsMHhjMSwweDA4LDB4OTAsMHgwMiwweDQ0LDB4MDIsMHg4OSwweDAyLDB4MjYgfX0sCi0gezE2LCAweGFlMzAsIDAsIHsweDQxLDB4MDksMHg5MCwweDBhLDB4MjQsMHgwYywweDg5LDB4MDQsMHgyMiwweDUwLDB4MDgsMHg5MCwweDI2LDB4MjQsMHgwMCwweDg5IH19LAotIHsxNiwgMHhhZTQwLCAwLCB7MHgwMCwweDIyLDB4NDEsMHgwOSwweDEwLDB4MjIsMHgyNCwweDQwLDB4YjksMHgwMSwweDJlLDB4NDAsMHgwOCwweDkwLDB4MDIsMHg0NiB9fSwKLSB7MTYsIDB4YWU1MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTUsMHhlNCwweDEwLDB4ODksMHgwMCwweDMyLDB4NDAgfX0sCi0gezE2LCAweGFlNjAsIDAsIHsweDBhLDB4OTAsMHgwYiwweDI0LDB4MTAsMHg4OSwweDAwLDB4MWUsMHg0MCwweDliLDB4OTAsMHgwMiwweDI0LDB4MTAsMHgyOSwweDAwIH19LAotIHsxNiwgMHhhZTcwLCAwLCB7MHgxYSwweDQwLDB4MGUsMHg5NCwweDQxLDB4YTQsMHgwMCwweDI5LDB4MDAsMHgxMiwweDQwLDB4MDUsMHg5MCwweDQxLDB4MjYsMHgwMCB9fSwKLSB7MTYsIDB4YWU4MCwgMCwgezB4ZDksMHgwMCwweDI0LDB4NDAsMHgwYywweDkwLDB4MDMsMHhlOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFlOTAsIDAsIHsweDQ4LDB4MDEsMHhhNCwweDAyLDB4YTksMHgwMCwweGJjLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhhNCwweDA0LDB4ZjksMHgwMCwweDNhIH19LAotIHsxNiwgMHhhZWEwLCAwLCB7MHg0MSwweDBlLDB4OTAsMHg4MywweDg0LDB4MDAsMHhmOSwweDAwLDB4M2MsMHg0MCwweDBlLDB4OTAsMHgwMiwweGM0LDB4MDgsMHhlOSB9fSwKLSB7MTYsIDB4YWViMCwgMCwgezB4MDAsMHgzYSwweDQwLDB4MmUsMHg5MCwweDBiLDB4ZTYsMHgwMCwweGUxLDB4MDQsMHgzYSwweDQwLDB4MGYsMHg5MiwweDAzLDB4NWEgfX0sCi0gezE2LCAweGFlYzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4YTAsMHgyMCwweGQ4LDB4MDAsMHgzNiwweDAyIH19LAotIHsxNiwgMHhhZWQwLCAwLCB7MHgwZSwweDAwLDB4YTMsMHhlMCwweDE4LDB4YzAsMHgwMCwweDMwLDB4MDMsMHgwZiwweDgwLDB4MzMsMHgyMCwweDAwLDB4NDAsMHgwMCB9fSwKLSB7MTYsIDB4YWVlMCwgMCwgezB4MzIsMHgwZCwweDBmLDB4MDQsMHgwYiwweGEwLDB4MDIsMHhjOCwweDAyLDB4MzIsMHgwMiwweDhjLDB4ODIsMHgwMywweDIwLDB4MDIgfX0sCi0gezE2LCAweGFlZjAsIDAsIHsweGM4LDB4MDQsMHgxNiwweDAwLDB4NGUsMHg4MCwweDAxLDB4MGEsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhZjAwLCAwLCB7MHgyOCwweDA1LDB4M2IsMHgwMCwweDhlLDB4ZDgsMHgyMywweDgwLDB4MDgsMHhlMCwweDAyLDB4ZjgsMHg4MCwweDhlLDB4MTAsMHgyMyB9fSwKLSB7MTYsIDB4YWYxMCwgMCwgezB4YTIsMHgwYiwweGUwLDB4ODIsMHg3YSwweDIwLDB4OGUsMHgzMCwweDIzLDB4YTEsMHgwYiwweGUwLDB4MDIsMHgyOCwweDAwLDB4OGUgfX0sCi0gezE2LCAweGFmMjAsIDAsIHsweDAwLDB4MmIsMHg4OCwweDA4LDB4ZTQsMHg0MiwweDM4LDB4MDAsMHg4ZSwweDA0LDB4MjMsMHg4MCwweDA4LDB4YTAsMHgwMiwweDBhIH19LAotIHsxNiwgMHhhZjMwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDZmLDB4NDAsMHg5MywweGM2LDB4MjQsMHg0MCB9fSwKLSB7MTYsIDB4YWY0MCwgMCwgezB4MGEsMHgzOCwweDAyLDB4Y2MsMHgwMCwweDgzLDB4MDEsMHhhYywweGYwLDB4MGIsMHhiNCwweDAyLDB4NGMsMHgwNCwweGEzLDB4ODAgfX0sCi0gezE2LCAweGFmNTAsIDAsIHsweDI4LDB4ZDAsMHg0YiwweDMwLDB4MDIsMHg0YywweDAwLDB4YWIsMHgwNCwweDJhLDB4YzAsMHgyYSwweDMwLDB4MGEsMHhhYywweDEwIH19LAotIHsxNiwgMHhhZjYwLCAwLCB7MHg5MywweDAwLDB4MjAsMHhjMSwweDBhLDB4MzEsMHgwMiwweDBhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWY3MCwgMCwgezB4ODAsMHgxMSwweDFjLDB4MDAsMHg4MiwweDAwLDB4MjEsMHg0MiwweDg4LDB4NzQsMHgwNiwweGRjLDB4MGIsMHg4NiwweDAyLDB4MmQgfX0sCi0gezE2LCAweGFmODAsIDAsIHsweDgwLDB4MGIsMHg3MCwweDJhLDB4NTgsMHgwMCwweGE2LDB4MDAsMHhhOSwweGMwLDB4MGIsMHg3MCwweDAyLDB4NWMsMHg4OCwweGE3IH19LAotIHsxNiwgMHhhZjkwLCAwLCB7MHgyMCwweDI5LDB4YzAsMHgwYSwweDcwLDB4MDIsMHg5YywweDEwLDB4OTcsMHgyMCwweGExLDB4YzgsMHgwOCwweGQ4LDB4MDIsMHgyOCB9fSwKLSB7MTYsIDB4YWZhMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDgsMHgwZSwweDAwLDB4ZDcsMHg4MCwweDM3LDB4NjAgfX0sCi0gezE2LCAweGFmYjAsIDAsIHsweDBlLDB4NjgsMHgxMywweGZlLDB4MDAsMHhjZiwweDgwLDB4M2QsMHhlMCwweDBmLDB4NzgsMHgyMywweDFlLDB4MDAsMHhlZiwweDgyIH19LAotIHsxNiwgMHhhZmMwLCAwLCB7MHgzMSwweGUwLDB4MGYsMHgzYywweGMzLDB4N2UsMHgwNCwweGVmLDB4ODAsMHhiMSwweGUwLDB4MGUsMHhlOCwweDAzLDB4YmUsMHg4MCB9fSwKLSB7MTYsIDB4YWZkMCwgMCwgezB4ZDcsMHhlMCwweDMzLDB4ZWEsMHgwZSwweDc4LDB4MDMsMHgyYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFmZTAsIDAsIHsweDA4LDB4MTUsMHhhYywweDAwLDB4ZmEsMHgwMSwweDNlLDB4MDAsMHgwZiwweGIwLDB4MDMsMHhlMCwweDA0LDB4ZjgsMHgwMCwweDMyIH19LAotIHsxNiwgMHhhZmYwLCAwLCB7MHg4MCwweDBmLDB4ODAsMHg0MywweGFjLDB4MGEsMHhkOCwweDAwLDB4MzYsMHg0MCwweDBmLDB4YjAsMHgwMywweDJjLDB4MGMsMHhkYiB9fSwKLSB7MTYsIDB4YjAwMCwgMCwgezB4MDAsMHgyNiwweGMxLDB4MDksMHhhMCwweDEzLDB4NmMsMHg0MCwweGViLDB4NDAsMHgzYSwweGRjLDB4MGYsMHg5MCwweDBiLDB4YzIgfX0sCi0gezE2LCAweGIwMTAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDA0LDB4YmUsMHgwMCwweGNmLDB4ODEsMHgzMywweGU5IH19LAotIHsxNiwgMHhiMDIwLCAwLCB7MHgxZiwweGY5LDB4MTMsMHhiNiwweDUwLDB4ZWYsMHg4MCwweDFmLDB4ZTQsMHgwNCwweGM4LDB4MDMsMHg3ZSwweDAwLDB4NmQsMHg4MSB9fSwKLSB7MTYsIDB4YjAzMCwgMCwgezB4MzMsMHg2NCwweDBjLDB4ZjgsMHgxYiwweDNlLDB4MjAsMHgyZiwweDg4LDB4OTMsMHhlOCwweDBmLDB4ZmIsMHgwMywweDJlLDB4ODAgfX0sCi0gezE2LCAweGIwNDAsIDAsIHsweGNmLDB4YzAsMHg3MywweGUwLDB4MmMsMHhkOSwweDAzLDB4ZDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiMDUwLCAwLCB7MHhhOCwweDE4LDB4OTAsMHg0MiwweDg5LDB4MTgsMHgyMSwweGMwLDB4MWYsMHg3MSwweDAyLDB4MTQsMHhjMCwweGY3LDB4MjAsMHgyNyB9fSwKLSB7MTYsIDB4YjA2MCwgMCwgezB4NDAsMHg0MCwweDcxLDB4MTIsMHgxOCwweDAwLDB4ODcsMHgyMCwweDIxLDB4ODAsMHg0OCwweDcxLDB4MDIsMHgzYywweDA4LDB4ODcgfX0sCi0gezE2LCAweGIwNzAsIDAsIHsweDIwLDB4MjEsMHg4MiwweDBiLDB4NjEsMHhhMiwweDFlLDB4NDQsMHhkZiwweDAxLDB4MzEsMHhjOCwweDA4LDB4NzMsMHgwMiwweGVhIH19LAotIHsxNiwgMHhiMDgwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHgwMCwweDhjLDB4MDAsMHg4NywweDAwLDB4MjEsMHhjOCB9fSwKLSB7MTYsIDB4YjA5MCwgMCwgezB4MGIsMHg3MCwweDAyLDB4OWMsMHgwOSwweDg3LDB4MDIsMHgyZCwweDgyLDB4OTksMHg0MCwweDAyLDB4MDQsMHgwMCwweGE1LDB4MDkgfX0sCi0gezE2LCAweGIwYTAsIDAsIHsweDIxLDB4NDAsMHgxOSwweDcwLDB4MDIsMHgxYywweDAwLDB4ODcsMHgwNSwweDI1LDB4NDgsMHg0YiwweDcyLDB4MDIsMHgwYywweDQwIH19LAotIHsxNiwgMHhiMGIwLCAwLCB7MHg4NywweDAwLDB4YTEsMHhjMCwweDQ4LDB4NTAsMHgwMiwweGM0LDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjBjMCwgMCwgezB4NjgsMHgwNCwweGMxLDB4MjAsMHg4OSwweDRjLDB4YTAsMHhiNCwweDBhLDB4MzgsMHgwMiwweDIyLDB4MDAsMHhhMSwweGQwLDB4MjQgfX0sCi0gezE2LCAweGIwZDAsIDAsIHsweDMwLDB4MDksMHg4MCwweDAyLDB4MjcsMHg0NCwweDgxLDB4YzYsMHgyMiwweDE0LDB4MDksMHgzZCwweDJhLDB4MGYsMHgwMiwweDhiIH19LAotIHsxNiwgMHhiMGUwLCAwLCB7MHhjMCwweGE2LDB4MjAsMHgwYiwweDI0LDB4MDAsMHgwYywweDEwLDB4OTMsMHg4MSwweDIwLDB4YzAsMHg0OCwweDMwLDB4MDYsMHhkOCB9fSwKLSB7MTYsIDB4YjBmMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MTUsMHhhMSwweDAwLDB4ODksMHhjMSwweDMyLDB4ZDEgfX0sCi0gezE2LCAweGIxMDAsIDAsIHsweDAzLDB4YmMsMHgwMywweGE5LDB4MjAsMHg4OSwweDQxLDB4M2UsMHg2MCwweDg1LDB4YmMsMHg4YiwweDI1LDB4NDAsMHhlYiwweDQxIH19LAotIHsxNiwgMHhiMTEwLCAwLCB7MHhhMiwweGEwLDB4MGQsMHhmMCwweDEzLDB4M2UsMHgyMCwweGNmLDB4OTAsMHgzNiwweDMwLDB4NGYsMHhiYywweDBiLDB4M2MsMHgwMCB9fSwKLSB7MTYsIDB4YjEyMCwgMCwgezB4Y2YsMHg4MCwweDMzLDB4YzEsMHgwYywweGIxLDB4MDMsMHhlYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGIxMzAsIDAsIHsweDgwLDB4MDAsMHhlZCwweDAwLDB4ZjgsMHgwMSwweDNjLDB4ZDAsMHgwZiwweGIzLDB4MDMsMHhlOCwweDgyLDB4ZDgsMHgyMCwweDM2IH19LAotIHsxNiwgMHhiMTQwLCAwLCB7MHg4MCwweDJlLDB4YjIsMHgxMywweGUxLDB4MDAsMHhmYSwweDAwLDB4N2UsMHhjOCwweDJlLDB4YjAsMHgwMywweGVjLDB4ODAsMHhkYiB9fSwKLSB7MTYsIDB4YjE1MCwgMCwgezB4MTAsMHgzYSwweDA4LDB4NGYsMHhiMiwweDIzLDB4Y2MsMHgwMiwweGZiLDB4MTAsMHgzYSwweGMwLDB4MGYsMHg5MCwweDAzLDB4ZTQgfX0sCi0gezE2LCAweGIxNjAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhMCwweDEwLDB4ZjAsMHgwMCwweGNkLDB4MTAsMHgzMywweDQyIH19LAotIHsxNiwgMHhiMTcwLCAwLCB7MHgwYywweGNhLDB4MjMsMHg3YywweDAwLDB4Y2YsMHgwMCwweDMzLDB4NjIsMHgwNiwweGYwLDB4MDEsMHgzYSwweDAwLDB4Y2YsMHgwOCB9fSwKLSB7MTYsIDB4YjE4MCwgMCwgezB4MzMsMHg4MCwweDFjLDB4ZjAsMHg4MSwweDNjLDB4MDAsMHhmZiwweDAwLDB4MzMsMHhhMCwweDBjLDB4Y2EsMHgwMSwweGZjLDB4MDQgfX0sCi0gezE2LCAweGIxOTAsIDAsIHsweGNmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4YzAsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiMWEwLCAwLCB7MHhhMSwweDA0LDB4NmQsMHg0MCwweDg4LDB4NDgsMHhhMiwweDMxLDB4MDgsMHgxMCwweDAyLDB4MjAsMHgxMCwweDg4LDB4YjQsMHgyMiB9fSwKLSB7MTYsIDB4YjFiMCwgMCwgezB4YTAsMHgwOCwweDgwLDB4MDAsMHg2YSwweDg0LDB4ODgsMHgyMCwweDIyLDB4NTIsMHgwOCwweGIwLDB4MGEsMHgyYywweDEwLDB4YmIgfX0sCi0gezE2LCAweGIxYzAsIDAsIHsweDAwLDB4MzIsMHhiMywweDg4LDB4ODAsMHgwMiwweGVjLDB4MDAsMHhkYiwweDAwLDB4MmUsMHhjMCwweDBiLDB4OTAsMHgxMiwweGUxIH19LAotIHsxNiwgMHhiMWQwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweDAwLDB4MTAsMHg4YSwweDAxLDB4MjIsMHhhMCB9fSwKLSB7MTYsIDB4YjFlMCwgMCwgezB4MDgsMHhiMCwweDQyLDB4NjAsMHgyMCwweDgwLDB4MDAsMHgyMCwweDQ0LDB4MWEsMHg4MCwweDFhLDB4ZTQsMHg0MiwweGEwLDB4MDYgfX0sCi0gezE2LCAweGIxZjAsIDAsIHsweDIyLDB4MDAsMHg3OCwweDMwLDB4MDIsMHhhYywweDAwLDB4YmIsMHgwMCwweGEyLDB4NDQsMHgwOCwweGIwLDB4MTIsMHhlYywweDAwIH19LAotIHsxNiwgMHhiMjAwLCAwLCB7MHg4YiwweDAwLDB4MGUsMHhjMCwweDBiLDB4OTAsMHgwMiwweGUwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjIxMCwgMCwgezB4MDgsMHgxNCwweDAwLDB4MDgsMHg4MCwweDAwLDB4MjAsMHg4MSwweDA4LDB4MzAsMHgwMiwweDQwLDB4MTIsMHg4MCwweDAwLDB4YTAgfX0sCi0gezE2LCAweGIyMjAsIDAsIHsweDQwLDB4MDgsMHhiMCwweDAyLDB4YzAsMHgwMCwweDgyLDB4MDAsMHgwMCwweDgwLDB4MDgsMHgzMCwweDAyLDB4OGMsMHgwMCwweGJiIH19LAotIHsxNiwgMHhiMjMwLCAwLCB7MHgwMCwweDIwLDB4MDAsMHgwOCwweDIwLDB4MDIsMHhjYywweDgwLDB4OTMsMHgwMCwweDJjLDB4YzAsMHgwYiwweDMwLDB4MDIsMHhjMiB9fSwKLSB7MTYsIDB4YjI0MCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2MCwweDAwLDB4Y2EsMHgxNCwweDMyLDB4MDAgfX0sCi0gezE2LCAweGIyNTAsIDAsIHsweDBjLDB4YjAsMHgwMywweDRjLDB4MDAsMHhjYSwweDAwLDB4MzIsMHgwMCwweDBlLDB4MDAsMHgxMiwweGEwLDB4MDAsMHhjMCwweDAwIH19LAotIHsxNiwgMHhiMjYwLCAwLCB7MHg3MCwweDAwLDB4MjgsMHhmMCwweDEzLDB4YWMsMHgwMCwweGZiLDB4MDAsMHgzMiwweDQwLDB4MmMsMHgxMCwweDQzLDB4ZWMsMHgwMCB9fSwKLSB7MTYsIDB4YjI3MCwgMCwgezB4Y2YsMHgwMCwweDNmLDB4YzAsMHgwZiwweDkwLDB4MDMsMHhjMCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGIyODAsIDAsIHsweDIwLDB4MTUsMHhmMCwweDAyLDB4ZmMsMHgwMCwweDFmLDB4MDAsMHg2NywweDcwLDB4MDMsMHhiMCwweDAwLDB4ZmMsMHgwMCwweDNmIH19LAotIHsxNiwgMHhiMjkwLCAwLCB7MHgwMCwweDJkLDB4YzAsMHgwMywweDMwLDB4MTAsMHhmYywweDAxLDB4YmYsMHgwMCwweDBmLDB4NzAsMHgwMywweDdjLDB4MDAsMHhmNyB9fSwKLSB7MTYsIDB4YjJhMCwgMCwgezB4MDQsMHgzYiwweDAwLDB4MGYsMHhjMCwweDEzLDB4ZmQsMHgxMCwweGZmLDB4MDAsMHgzZCwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZTggfX0sCi0gezE2LCAweGIyYjAsIDAsIHsweDEyLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA1LDB4ZjQsMHhjMCwweGNmLDB4ODAsMHgzMywweDYwIH19LAotIHsxNiwgMHhiMmMwLCAwLCB7MHgwZSwweGM5LDB4MTMsMHgzNiwweDUwLDB4Y2UsMHg4NiwweDNmLDB4MDgsMHgwYywweGMwLDB4MDMsMHgzZSwweDAyLDB4ZDcsMHg4MCB9fSwKLSB7MTYsIDB4YjJkMCwgMCwgezB4MzksMHhlMCwweDBmLDB4ZjgsMHgxMywweDNlLDB4NDAsMHhjNywweDMwLDB4M2IsMHhjZSwweDBkLDB4ZjYsMHgwMywweDNkLDB4ODggfX0sCi0gezE2LCAweGIyZTAsIDAsIHsweGNmLDB4MzEsMHgzMywweGU0LDB4MGYsMHg3OCwweDAzLDB4MzAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiMmYwLCAwLCB7MHg4MCwweDEwLDB4ZTUsMHhkMCwweGRiLDB4ODAsMHg3MiwweDYwLDB4ODgsMHg5MiwweDAyLDB4ZTQsMHgxMCwweDhhLDB4ODAsMHgyZSB9fSwKLSB7MTYsIDB4YjMwMCwgMCwgezB4MzQsMHg0YSwweDhjLDB4MDMsMHgyZSwweDAwLDB4YWIsMHg4MCwweDAyLDB4ZTAsMHgwYiwweGI4LDB4MDIsMHgyYywweDgwLDB4OGYgfX0sCi0gezE2LCAweGIzMTAsIDAsIHsweDYwLDB4MTMsMHhkOCwweDRhLDB4NzYsMHgwMiwweDlkLDB4ODQsMHhhZiwweDMwLDB4MjIsMHg0OCwweDBiLDB4ODgsMHgxMiwweGEwIH19LAotIHsxNiwgMHhiMzIwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGM0LDB4MDAsMHg4YiwweDAwLDB4MjQsMHgwMCB9fSwKLSB7MTYsIDB4YjMzMCwgMCwgezB4NGEsMHgwMCwweDAyLDB4YWMsMHg4MCwweDgzLDB4MDAsMHgyYywweDAxLDB4MjgsMHgwNCwweDAyLDB4YWMsMHgwMCwweDhiLDB4MDEgfX0sCi0gezE2LCAweGIzNDAsIDAsIHsweDIwLDB4YzAsMHgwMywweGIwLDB4MDIsMHgwYywweDgwLDB4ODMsMHg0MCwweDIwLDB4YzEsMHhhOCwweDM0LDB4MjIsMHg4ZCwweDEzIH19LAotIHsxNiwgMHhiMzUwLCAwLCB7MHg4MywweDIwLDB4YWMsMHhjOCwweDBiLDB4YjAsMHgwMiwweDYyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjM2MCwgMCwgezB4YzAsMHgxNSwweDg2LDB4MDAsMHg5YiwweDA0LDB4YWUsMHgwMCwweDBhLDB4OTAsMHgwMiwweGVjLDB4MDAsMHgwYiwweDE0LDB4MmUgfX0sCi0gezE2LCAweGIzNzAsIDAsIHsweGM2LDB4MDIsMHhiMSwweDEyLDB4NmMsMHgwMCwweGFiLDB4MjAsMHgyYSwweGMxLDB4MGIsMHhiMCwweDQyLDB4MmMsMHgwMCwweDhiIH19LAotIHsxNiwgMHhiMzgwLCAwLCB7MHgwMiwweDI2LDB4YzEsMHgwYSwweGIwLDB4MDIsMHhhYywweDAwLDB4YWIsMHgwNCwweDJhLDB4NDAsMHgwYiwweDkwLDB4MDIsMHhmMCB9fSwKLSB7MTYsIDB4YjM5MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTEsMHhlNywweDAwLDB4YzMsMHgwMSwweDM2LDB4NDAgfX0sCi0gezE2LCAweGIzYTAsIDAsIHsweDBlLDB4ODgsMHgxMywweDI0LDB4MDIsMHhjYSwweDAwLDB4MWUsMHgyMCwweDJjLDB4OGUsMHgwYiwweDJjLDB4MDAsMHhjYiwweDAwIH19LAotIHsxNiwgMHhiM2IwLCAwLCB7MHgyYSwweGMwLDB4MGYsMHhiOCwweDAzLDB4MmUsMHgwNiwweGNiLDB4MDAsMHgzYSwweGMwLDB4NGMsMHhiMCwweDEzLDB4YWMsMHgwYyB9fSwKLSB7MTYsIDB4YjNjMCwgMCwgezB4Y2IsMHgwMCwweDNlLDB4YzgsMHgwZiwweGIwLDB4NDMsMHg1MCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGIzZDAsIDAsIHsweGUwLDB4MDEsMHhiNCwweDA4LDB4ZmYsMHg5MSwweDMzLDB4NDAsMHgwOSwweGRjLDB4MDEsMHhmNCwweDIwLDB4N2UsMHgwMiwweDJlIH19LAotIHsxNiwgMHhiM2UwLCAwLCB7MHg0MCwweDBkLDB4OTgsMHgwMSwweGJjLDB4ODAsMHhlZiwweDgwLDB4YjcsMHhlNCwweDhmLDB4ZjQsMHgwYiwweGZlLDB4NDAsMHg3ZiB9fSwKLSB7MTYsIDB4YjNmMCwgMCwgezB4MDAsMHhiOSwweGMwLDB4NGUsMHhmMCwweDAzLDB4ZmMsMHgwOCwweGY3LDB4MDAsMHgzNywweGMwLDB4MGYsMHhlMCwweDAyLDB4YjggfX0sCi0gezE2LCAweGI0MDAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4YTEsMHg0NCwweGNiLDB4MDIsMHgzMiwweDAwIH19LAotIHsxNiwgMHhiNDEwLCAwLCB7MHgwZCwweDgwLDB4MGEsMHg2ZCwweDAwLDB4ZWIsMHgwNCwweDEwLDB4OTAsMHgyOCwweDIyLDB4MGIsMHgyYywweGMyLDB4Y2IsMHgyMCB9fSwKLSB7MTYsIDB4YjQyMCwgMCwgezB4NzYsMHhjMCwweDBlLDB4YjEsMHgwMywweGVjLDB4MDEsMHhjYiwweDA2LDB4MzIsMHhjMSwweDBjLDB4MzAsMHgwMywweDJjLDB4MDIgfX0sCi0gezE2LCAweGI0MzAsIDAsIHsweGNiLDB4MDAsMHgzZSwweGQwLDB4MGMsMHhiMCwweDAzLDB4MTAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiNDQwLCAwLCB7MHhjOCwweDA1LDB4MjEsMHg0OCwweGFiLDB4MDAsMHgyMCwweDAwLDB4MDAsMHg5NSwweDIzLDB4NGMsMHgwOCwweGJiLDB4MDEsMHgyMiB9fSwKLSB7MTYsIDB4YjQ1MCwgMCwgezB4YzAsMHgwOCwweGIyLDB4MDIsMHgwYywweDA4LDB4ODMsMHg4OCwweDkyLDB4ZDUsMHgyOCwweDM0LDB4MDIsMHhlYywweDAyLDB4OGYgfX0sCi0gezE2LCAweGI0NjAsIDAsIHsweDIwLDB4MjMsMHhjMCwweDRkLDB4ZjAsMHgwMSwweDdjLDB4MDAsMHhkZiwweDAwLDB4MmUsMHhjMCwweDBkLDB4MzAsMHgwMywweDcyIH19LAotIHsxNiwgMHhiNDcwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDQ0LDB4MDAsMHg4MywweDEwLDB4MjAsMHg2MCB9fSwKLSB7MTYsIDB4YjQ4MCwgMCwgezB4MDksMHgyNSwweDAyLDB4MDAsMHgwOCwweGEwLDB4MDAsMHg0YywweDAwLDB4MGIsMHgwYywweDIyLDB4NGYsMHgxMiwweDkzLDB4NDAgfX0sCi0gezE2LCAweGI0OTAsIDAsIHsweDAwLDB4YzAsMHgwOSwweDNlLDB4MDIsMHhlYywweDAwLDB4YWIsMHg4MCwweGE0LDB4YzAsMHgwOSwweDMwLDB4MjIsMHgyYywweDA4IH19LAotIHsxNiwgMHhiNGEwLCAwLCB7MHhiMywweDAxLDB4MGMsMHg4MSwweDA4LDB4MzAsMHgwMiwweDM4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjRiMCwgMCwgezB4NjAsMHgwMSwweDE2LDB4MDksMHhiNywweDgwLDB4MjEsMHg2NCwweDA4LDB4NzgsMHgwNiwweDEyLDB4MDAsMHhiNCwweDgyLDB4MmQgfX0sCi0gezE2LCAweGI0YzAsIDAsIHsweGE0LDB4MWIsMHg2OSwweDA2LDB4N2UsMHgwNCwweDE3LDB4OTIsMHgyNSwweGU2LDB4MDksMHg3OCwweDA2LDB4ZGUsMHg4MCwweGE3IH19LAotIHsxNiwgMHhiNGQwLCAwLCB7MHg5MCwweDI1LDB4ZTAsMHgwOSwweDc5LDB4NTAsMHg1ZSwweDA0LDB4YjcsMHg5MiwweDJmLDB4NjEsMHgwOSwweGM4LDB4MDIsMHg0OCB9fSwKLSB7MTYsIDB4YjRlMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ4LDB4MDgsMHgyNSwweDAwLDB4YzMsMHgwMCwweGIwLDB4MDMgfX0sCi0gezE2LCAweGI0ZjAsIDAsIHsweDBkLDB4YTMsMHg0MiwweDA5LDB4NDAsMHhlMSwweDAwLDB4YmMsMHg0MCwweDBmLDB4MTEsMHgwMywweDRjLDB4MDAsMHgxMywweDAwIH19LAotIHsxNiwgMHhiNTAwLCAwLCB7MHgyMCwweGMwLDB4MDksMHgzMiwweDAzLDB4Y2MsMHgxMCwweGEzLDB4MDAsMHgyNiwweGM0LDB4OGQsMHgzMCwweDJiLDB4MGMsMHg4MCB9fSwKLSB7MTYsIDB4YjUxMCwgMCwgezB4ZjMsMHgwMCwweDdjLDB4ODAsMHgwYywweDMwLDB4MDEsMHgxMiwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI1MjAsIDAsIHsweDQwLDB4MWQsMHhiYywweDAwLDB4ZTcsMHgxMCwweDNkLDB4MDEsMHgyZiwweGYxLDB4NDIsMHhlOCwweDAwLDB4ZjUsMHg5MCwweDAzIH19LAotIHsxNiwgMHhiNTMwLCAwLCB7MHhjMSwweDBjLDB4ZjEsMHg0MywweDljLDB4MDQsMHhlZiwweDA4LDB4M2IsMHhjMiwweDBjLDB4ZjAsMHg4MSwweGRjLDB4YTAsMHhkZiB9fSwKLSB7MTYsIDB4YjU0MCwgMCwgezB4MDAsMHgzYiwweGMzLDB4M2YsMHhmMCwweDgzLDB4ZmMsMHgwNSwweGRmLDB4MGMsMHgzZCwweDQwLDB4MGYsMHhkMSwweDAzLDB4ZDAgfX0sCi0gezE2LCAweGI1NTAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhhOCwweDA1LDB4ZjQsMHgwMCwweGNiLDB4ODAsMHgzMCwweDQwIH19LAotIHsxNiwgMHhiNTYwLCAwLCB7MHgyYywweGEwLDB4MDMsMHhlMCwweDAwLDB4ZjgsMHg4MCwweDMyLDB4YzAsMHgyZSwweGI4LDB4MGIsMHgyYywweDQ2LDB4ZDMsMHgwMCB9fSwKLSB7MTYsIDB4YjU3MCwgMCwgezB4MzAsMHhjMCwweDBjLDB4MzAsMHgwMywweDBjLDB4MDAsMHhkYiwweDQ4LDB4MzIsMHhjMCwweDFmLDB4YjQsMHgwMywweDJjLDB4ODggfX0sCi0gezE2LCAweGI1ODAsIDAsIHsweGNiLDB4NDgsMHgzMiwweDgwLDB4MGMsMHgzMCwweDEzLDB4MmEsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiNTkwLCAwLCB7MHg0OCwweDExLDB4YjQsMHgwMCwweDg3LDB4MDEsMHgyMSwweDQwLDB4MDgsMHg3MCwweDQyLDB4ZDAsMHgwOCwweGI0LDB4MDAsMHgyOSB9fSwKLSB7MTYsIDB4YjVhMCwgMCwgezB4YzAsMHgwOCwweDcwLDB4MDIsMHgxYywweDAwLDB4ODcsMHgwMCwweDIxLDB4YzgsMHgwYywweDcyLDB4MGEsMHgxYywweDg0LDB4OGYgfX0sCi0gezE2LCAweGI1YjAsIDAsIHsweDQwLDB4MDksMHhjNCwweDhmLDB4NzMsMHgxMiwweDljLDB4NDAsMHg4MywweDIwLDB4MjEsMHhjMCwweDA4LDB4NjAsMHgwMiwweDkyIH19LAotIHsxNiwgMHhiNWMwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDk2LDB4MDEsMHhhZiwweDgwLDB4MjEsMHgyMCB9fSwKLSB7MTYsIDB4YjVkMCwgMCwgezB4MDgsMHg2OCwweDAyLDB4ZGEsMHgwMCwweGJkLDB4ODAsMHgyMSwweGUwLDB4MDksMHg3OCwweDAyLDB4MWUsMHgwMCwweDhmLDB4ODggfX0sCi0gezE2LCAweGI1ZTAsIDAsIHsweDgzLDB4ZTIsMHgyOSwweGY4LDB4ODIsMHg1ZiwweDgwLDB4ODcsMHhhMCwweDI1LDB4ZTAsMHgwYiwweDNhLDB4MTIsMHgwZSwweDUwIH19LAotIHsxNiwgMHhiNWYwLCAwLCB7MHg5NywweGE0LDB4MjEsMHhhMCwweDI5LDB4NzgsMHgwMiwweDMwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjYwMCwgMCwgezB4MDgsMHgxNCwweGNjLDB4MDIsMHhhMSwweDgxLDB4MDAsMHgwMCwweDQ4LDB4NzAsMHgwMiwweGM4LDB4MDAsMHhiMSwweDAwLDB4MmMgfX0sCi0gezE2LCAweGI2MTAsIDAsIHsweGY4LDB4MDksMHgzMSwweDQyLDB4MGMsMHgxMCwweDgzLDB4MDAsMHgyMCwweGUwLDB4MDgsMHgzOCwweDEyLDB4NGUsMHgwMCwweDgzIH19LAotIHsxNiwgMHhiNjIwLCAwLCB7MHgwMCwweDZhLDB4YzAsMHgwYiwweDMwLDB4MDIsMHg4YywweDA0LDB4OTMsMHgwMCwweDIwLDB4ZTAsMHgwOSwweDM4LDB4MDIsMHg5MiB9fSwKLSB7MTYsIDB4YjYzMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGU4LDB4MTUsMHhiOSwweDQwLDB4ZWUsMHgyMCwweDMwLDB4ODAgfX0sCi0gezE2LCAweGI2NDAsIDAsIHsweDBjLDB4YTAsMHgwMywweGU4LDB4MDAsMHhmYSwweDAwLDB4MzMsMHhiMCwweDBkLDB4ZTQsMHgwMywweDMyLDB4ODgsMHhjYywweDgwIH19LAotIHsxNiwgMHhiNjUwLCAwLCB7MHgyMywweDAwLDB4MGQsMHhjMCwweDAzLDB4NjIsMHgwMiwweGNhLDB4MDAsMHgzNiwweDgwLDB4MGYsMHhhMCwweDQzLDB4MjgsMHgwNiB9fSwKLSB7MTYsIDB4YjY2MCwgMCwgezB4ZGEsMHgwMCwweDMzLDB4YTAsMHgwZCwweDZhLDB4MDMsMHgzYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI2NzAsIDAsIHsweDQ4LDB4MDAsMHhlMCwweDAwLDB4OTgsMHgwMSwweGJlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhmMCwweDAwLDB4YmMsMHgwMCwweDM4IH19LAotIHsxNiwgMHhiNjgwLCAwLCB7MHgwNCwweDA4LDB4ODAsMHhhMywweGUwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgxMywweGEwLDB4MDAsMHhlMCB9fSwKLSB7MTYsIDB4YjY5MCwgMCwgezB4MDAsMHgzZSwweDAwLDB4MGUsMHgwMCwweDAzLDB4YzAsMHgwMCwweGU4LDB4MDAsMHhiZSwweDA0LDB4NGUsMHg4MCwweDA3LDB4ZDIgfX0sCi0gezE2LCAweGI2YTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4ZTQsMHg4MCwweGM5LDB4MDAsMHgzZSwweDY4IH19LAotIHsxNiwgMHhiNmIwLCAwLCB7MHgwYywweDkwLDB4MDMsMHg2NCwweDAwLDB4YzksMHgwMCwweDNlLDB4NDAsMHgwYywweDkwLDB4NDMsMHhlMCwweDAwLDB4YzgsMHgwMCB9fSwKLSB7MTYsIDB4YjZjMCwgMCwgezB4MzIsMHgwMCwweDBjLDB4ODAsMHgxMywweDIwLDB4MDAsMHhjOSwweDAwLDB4MzYsMHg0MCwweDBjLDB4OTAsMHgwMywweDY0LDB4MDAgfX0sCi0gezE2LCAweGI2ZDAsIDAsIHsweDgxLDB4MDAsMHgzMiwweDQwLDB4MDQsMHg5MCwweDEzLDB4MDIsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiNmUwLCAwLCB7MHg4MCwweDA0LDB4NjUsMHgwNiwweDg5LDB4NDAsMHgyZSwweDYwLDB4MWEsMHgxNCwweDJhLDB4MDUsMHgyMCwweDg5LDB4MDAsMHgyZSB9fSwKLSB7MTYsIDB4YjZmMCwgMCwgezB4NDAsMHgwOCwweDkwLDB4MDIsMHhjNCwweDA4LDB4YzEsMHgwMiwweDIwLDB4NDAsMHgwOCwweDEwLDB4MWEsMHgyNCwweDAwLDB4ODkgfX0sCi0gezE2LCAweGI3MDAsIDAsIHsweDEwLDB4MzIsMHg0MSwweDA4LDB4OTAsMHgxMiwweDI0LDB4MDAsMHg4OSwweDA0LDB4MzYsMHg0MCwweDg4LDB4OTQsMHgwYSwweDIwIH19LAotIHsxNiwgMHhiNzEwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDA0LDB4MjAsMHg4OSwweDU1LDB4MmUsMHg0MCB9fSwKLSB7MTYsIDB4YjcyMCwgMCwgezB4MDgsMHhkNSwweDAyLDB4MzQsMHgwMCwweDhkLDB4MDAsMHgyZSwweDQwLDB4MTgsMHg5MCwweDAyLDB4ZTQsMHgwMCwweDk5LDB4MDAgfX0sCi0gezE2LCAweGI3MzAsIDAsIHsweDI2LDB4NDAsMHgwOCwweDkwLDB4MDIsMHgwNCwweDBhLDB4ODksMHgwMCwweDI2LDB4NDAsMHgzOCwweDkwLDB4MGEsMHgyNCwweDAwIH19LAotIHsxNiwgMHhiNzQwLCAwLCB7MHhhOSwweDAwLDB4MjAsMHg0MCwweDBhLDB4OTAsMHg4MiwweDA2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Yjc1MCwgMCwgezB4MDgsMHgwNCwweDA1LDB4MDAsMHg4MSwweDAwLDB4MmYsMHg0MCwweDBhLDB4ZDQsMHgwMiwweDM0LDB4MDAsMHg4NSwweDAxLDB4MmMgfX0sCi0gezE2LCAweGI3NjAsIDAsIHsweDQwLDB4MDgsMHgxMCwweDQyLDB4ZTQsMHgwNiwweDk5LDB4MDAsMHgyMiwweDQwLDB4MDgsMHgxMCwweDAyLDB4MDUsMHgwMCwweDgxIH19LAotIHsxNiwgMHhiNzcwLCAwLCB7MHg0MCwweDI4LDB4NTAsMHgwOCwweDE0LDB4MTIsMHgwNSwweDAwLDB4YTEsMHg0MCwweDI0LDB4NTAsMHg1YSwweDEwLDB4MDIsMHgwMiB9fSwKLSB7MTYsIDB4Yjc4MCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGI4LDB4MGQsMHg2MCwweDAwLDB4YzgsMHgwNCwweDNlLDB4MDAgfX0sCi0gezE2LCAweGI3OTAsIDAsIHsweDA4LDB4ODAsMHgwMywweDIxLDB4NDIsMHhjYywweDAwLDB4M2UsMHgwMCwweDJjLDB4ODAsMHgwMiwweGUwLDB4MDAsMHhkOCwweDAwIH19LAotIHsxNiwgMHhiN2EwLCAwLCB7MHhiNiwweDAwLDB4MmMsMHg4MCwweDAyLDB4MjAsMHgwMiwweGM4LDB4MDAsMHgzNiwweDAwLDB4MGMsMHg4MCwweDAzLDB4NjAsMHgwMiB9fSwKLSB7MTYsIDB4YjdiMCwgMCwgezB4ZTgsMHgwMCwweDMyLDB4MDAsMHg4ZSwweDgwLDB4MDMsMHgyZSwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI3YzAsIDAsIHsweDk4LDB4MWQsMHhmNSwweDAwLDB4ZjUsMHgwMCwweDNlLDB4NDAsMHg4NywweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjEsMHgwMCwweDNkIH19LAotIHsxNiwgMHhiN2QwLCAwLCB7MHg1MCwweDBmLDB4NTQsMHgwMywweGQxLDB4MDAsMHhlYywweDQwLDB4M2YsMHgxMCwweDBiLDB4YzQsMHg0MywweGYxLDB4MDAsMHhmOSB9fSwKLSB7MTYsIDB4YjdlMCwgMCwgezB4NDAsMHgzNiwweDUwLDB4MGYsMHg5NCwweDEzLDB4ZTUsMHgxMCwweGQ5LDB4NDQsMHgzZCwweDQwLDB4MmQsMHhkMCwweDAzLDB4ZTYgfX0sCi0gezE2LCAweGI3ZjAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4ZjYsMHg2MCwweGNkLDB4MDIsMHgzYiwweDQwIH19LAotIHsxNiwgMHhiODAwLCAwLCB7MHgwYywweGQwLDB4MDMsMHhiNCwweDQwLDB4ZmQsMHgwNiwweDNlLDB4NDAsMHgwYywweDkwLDB4MDMsMHg2NiwweDA0LDB4YzksMHg4MiB9fSwKLSB7MTYsIDB4YjgxMCwgMCwgezB4YjYsMHg2MiwweDBmLDB4MTgsMHgwYiwweDM2LDB4MDAsMHhjZCwweDQwLDB4MzIsMHg2MSwweDBjLDB4OTAsMHgyMywweDI0LDB4MGEgfX0sCi0gezE2LCAweGI4MjAsIDAsIHsweGM5LDB4MDAsMHgzMiwweDQwLDB4NGMsMHhkMCwweDQzLDB4MDYsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiODMwLCAwLCB7MHgzOSwweDEwLDB4ZTMsMHg4MCwweGQ4LDB4MDAsMHgyMiwweDAwLDB4MGQsMHg4MCwweDAyLDB4MjIsMHg5NCwweGI4LDB4MDAsMHgyZSB9fSwKLSB7MTYsIDB4Yjg0MCwgMCwgezB4MDAsMHgwZCwweDgwLDB4MDMsMHgyMSwweDAwLDB4ODgsMHg0MCwweDIyLDB4MDAsMHgwYiwweGM0LDB4MjIsMHgyMSwweDUwLDB4ODggfX0sCi0gezE2LCAweGI4NTAsIDAsIHsweDgwLDB4MjIsMHgyMiwweDA4LDB4ODAsMHgwMiwweDIwLDB4MTAsMHg4MCwweDAxLDB4MmEsMHgwMCwweDBhLDB4ODAsMHgwMywweDRlIH19LAotIHsxNiwgMHhiODYwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGM2LDB4MDAsMHg4OSwweDAwLDB4MmEsMHg0MCB9fSwKLSB7MTYsIDB4Yjg3MCwgMCwgezB4ODgsMHgxMCwweDBhLDB4ODQsMHgwOCwweGIxLDB4MDAsMHgyOSwweDQwLDB4MGEsMHg3MCwweDBhLDB4YjUsMHgwMCwweDhmLDB4NDAgfX0sCi0gezE2LCAweGI4ODAsIDAsIHsweDI5LDB4YzAsMHgwYiwweGY0LDB4MDIsMHgyNCwweDAwLDB4ODEsMHgyMCwweDI4LDB4NDQsMHg4OSwweDEwLDB4MDIsMHgwNCwweDA0IH19LAotIHsxNiwgMHhiODkwLCAwLCB7MHg4MSwweDAyLDB4MmEsMHg0MCwweDA4LDB4MTAsMHgwMiwweDAyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjhhMCwgMCwgezB4MTgsMHgxNSwweGE2LDB4MDAsMHg5OSwweDIwLDB4MjIsMHg0MCwweDA5LDB4OTAsMHgxMiwweDI0LDB4ODAsMHhiOSwweDAwLDB4MmYgfX0sCi0gezE2LCAweGI4YjAsIDAsIHsweDQ0LDB4MDMsMHhkMCwweDAyLDB4ZjQsMHgwMCwweDhkLDB4MDAsMHgyYiwweDQxLDB4MGIsMHhkMCwweDAyLDB4MjYsMHgxMCwweDg5IH19LAotIHsxNiwgMHhiOGMwLCAwLCB7MHgwNCwweDJhLDB4NDAsMHgwOSwweDkwLDB4NmUsMHgyNCwweDAwLDB4ODksMHgwMCwweDJhLDB4NDAsMHgwYSwweDk0LDB4MDIsMHg0NiB9fSwKLSB7MTYsIDB4YjhkMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEyLDB4MTUsMHhlNiwweDAwLDB4YzksMHgwMCwweDM4LDB4NDIgfX0sCi0gezE2LCAweGI4ZTAsIDAsIHsweDBjLDB4MTAsMHgxMywweGE2LDB4MDQsMHg3OSwweDA4LDB4M2EsMHg3OCwweDA2LDB4OTIsMHgwMywweGE0LDB4MDgsMHhjOSwweDAwIH19LAotIHsxNiwgMHhiOGYwLCAwLCB7MHgzYSwweDYwLDB4OGYsMHg5OCwweDIzLDB4MDYsMHgwMiwweGM5LDB4MDIsMHgzYSwweDQwLDB4MGQsMHg5MCwweDAzLDB4MDQsMHgwMCB9fSwKLSB7MTYsIDB4YjkwMCwgMCwgezB4YzksMHgwMCwweDM4LDB4NDAsMHgwYywweDkwLDB4MDMsMHgyOCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI5MTAsIDAsIHsweDI4LDB4MDEsMHg4NCwweDEwLDB4ZjksMHg4MCwweGJlLDB4NDAsMHg0ZiwweDkwLDB4MDIsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNjIH19LAotIHsxNiwgMHhiOTIwLCAwLCB7MHg2MCwweDhkLDB4OTIsMHgwMywweDI0LDB4NDIsMHhlOSwweDEwLDB4MzIsMHg1MCwweDBmLDB4OTQsMHgwMywweGU0LDB4MDAsMHhmOSB9fSwKLSB7MTYsIDB4YjkzMCwgMCwgezB4MDAsMHhiNiwweDQxLDB4MmUsMHgxMCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgyZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4Y2EgfX0sCi0gezE2LCAweGI5NDAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDEwLDB4YTAsMHgwOCwweGM4LDB4MDAsMHgzZSwweDEwIH19LAotIHsxNiwgMHhiOTUwLCAwLCB7MHgwZiwweDg4LDB4MDMsMHgyMCwweDA4LDB4ZjgsMHhjMCwweDFlLDB4MTAsMHgyYywweDQwLDB4MDMsMHhmMiwweDAwLDB4Y2MsMHgwMCB9fSwKLSB7MTYsIDB4Yjk2MCwgMCwgezB4M2YsMHgwMCwweDBjLDB4YzAsMHgxMywweDIwLDB4MDIsMHhjMCwweDAwLDB4MzAsMHgwMCwweDBjLDB4ODAsMHgyYiwweDIwLDB4MTAgfX0sCi0gezE2LCAweGI5NzAsIDAsIHsweGMwLDB4MDQsMHgzMiwweDAwLDB4MGYsMHg4MCwweDAzLDB4MGEsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiOTgwLCAwLCB7MHhhOCwweDA1LDB4M2EsMHg4MCwweDg2LDB4ZTAsMHgyZiwweGEwLDB4MWIsMHhlMCwweDAyLDB4M2EsMHg4MCwweGJhLDB4MDQsMHgyZSB9fSwKLSB7MTYsIDB4Yjk5MCwgMCwgezB4ODAsMHgwOCwweGEwLDB4MDMsMHg4OCwweDA4LDB4YzIsMHgwMCwweDJlLDB4ODEsMHgwOCwweDYwLDB4MDIsMHgyOCwweDEwLDB4OGUgfX0sCi0gezE2LCAweGI5YTAsIDAsIHsweDgxLDB4MDMsMHg4MCwweDA4LDB4ZTAsMHgwMSwweDc4LDB4MDAsMHg4ZSwweDA0LDB4MDMsMHg4MCwweDA5LDB4NjgsMHgwMywweGNhIH19LAotIHsxNiwgMHhiOWIwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDAsMHg4MywweDYwLDB4MmMsMHg0NCB9fSwKLSB7MTYsIDB4YjljMCwgMCwgezB4MGIsMHgzOCwweDAyLDB4MGYsMHg4MCwweGIxLDB4MDAsMHgyYywweGU1LDB4MDMsMHgzMCwweDEwLDB4Y2MsMHgxMCwweDgzLDB4MDAgfX0sCi0gezE2LCAweGI5ZDAsIDAsIHsweDBjLDB4YzAsMHgyOSwweDMwLDB4MjIsMHgwNCwweDA5LDB4OTEsMHgxMCwweDI0LDB4YzAsMHhjOCwweDMwLDB4MDAsMHg0YywweDA0IH19LAotIHsxNiwgMHhiOWUwLCAwLCB7MHg5MywweDAyLDB4MjQsMHhjMCwweDBiLDB4MzEsMHgwMiwweDBhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjlmMCwgMCwgezB4ZTAsMHgwMSwweDE4LDB4ODAsMHg4NywweDAwLDB4MmQsMHg0MCwweDBiLDB4NzQsMHg0MiwweDFjLDB4MDEsMHhiNSwweDAxLDB4MmMgfX0sCi0gezE2LCAweGJhMDAsIDAsIHsweGMwLDB4MGIsMHg2MCwweDAyLDB4YjAsMHgwMCwweDk0LDB4MDQsMHgyZiwweDIwLDB4MDksMHhjMCwweDAyLDB4MTQsMHg5MCwweDk3IH19LAotIHsxNiwgMHhiYTEwLCAwLCB7MHgwMCwweDI1LDB4YzgsMHgwOCwweDcwLDB4MDIsMHg0YywweDgwLDB4OTcsMHgyMCwweDI1LDB4YzAsMHgwOSwweDcwLDB4MDIsMHhlOCB9fSwKLSB7MTYsIDB4YmEyMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDgsMHgzYSwweDgyLDB4YzYsMHg4MCwweDJkLDB4NjAgfX0sCi0gezE2LCAweGJhMzAsIDAsIHsweDBiLDB4ZjgsMHgwYiwweDFhLDB4MDAsMHhmNSwweDgwLDB4M2QsMHhlMCwweDhmLDB4NzgsMHgwMywweGRlLDB4MDIsMHhjNywweDgwIH19LAotIHsxNiwgMHhiYTQwLCAwLCB7MHgyZCwweGUwLDB4MGQsMHg3OCwweDBiLDB4MTcsMHgwMiwweGRmLDB4ODAsMHgyNCwweGY4LDB4MmMsMHhmZCwweDAzLDB4NWUsMHgwYyB9fSwKLSB7MTYsIDB4YmE1MCwgMCwgezB4ZDcsMHhlMCwweDM1LDB4ZTAsMHgwZiwweDY4LDB4MDMsMHgyYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJhNjAsIDAsIHsweDQ4LDB4MWQsMHhhZSwweDQwLDB4ZmEsMHgwNCwweDNlLDB4NDAsMHgwZiwweDgwLDB4MTMsMHhlYywweDA0LDB4ZjksMHgwMCwweDNlIH19LAotIHsxNiwgMHhiYTcwLCAwLCB7MHhjMSwweDBjLDB4YTAsMHgxMywweGMwLDB4MTAsMHhlOCwweDAwLDB4M2MsMHgwMCwweDRlLDB4ODAsMHg0MywweGM0LDB4MjAsMHg4OSB9fSwKLSB7MTYsIDB4YmE4MCwgMCwgezB4MDAsMHhiYSwweGMwLDB4MDcsMHhiNiwweDIxLDB4ZWQsMHgwNiwweGViLDB4NjgsMHhiYSwweGNjLDB4MGYsMHgyMCwweDEzLDB4YzIgfX0sCi0gezE2LCAweGJhOTAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDA1LDB4YmUsMHgwMCwweGM2LDB4ODAsMHgzMSwweDYwIH19LAotIHsxNiwgMHhiYWEwLCAwLCB7MHgyZCwweDc4LDB4MGIsMHgzZSwweDQ4LDB4ZWMsMHg5MiwweDNkLDB4NjAsMHgwYywweDU4LDB4MDMsMHg1YSwweDQwLDB4ZDUsMHg4MCB9fSwKLSB7MTYsIDB4YmFiMCwgMCwgezB4MzEsMHg2MSwweDBjLDB4NTgsMHgyMywweDM2LDB4MDAsMHhjZiwweDgyLDB4M2YsMHhlMCwweDBjLDB4ZjgsMHgwMywweGZmLDB4NjAgfX0sCi0gezE2LCAweGJhYzAsIDAsIHsweGNmLDB4OTAsMHgzMywweGYwLDB4MGMsMHg1MiwweDAzLDB4MDAsMHgwMCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiYWQwLCAwLCB7MHhhOCwweDExLDB4YjgsMHg4NCwweDg2LDB4MTQsMHhiNSwweGMwLDB4MDgsMHg3MCwweDAyLDB4MWUsMHhjMCwweGM0LDB4MDAsMHgyZCB9fSwKLSB7MTYsIDB4YmFlMCwgMCwgezB4NDAsMHgwOCwweDQwLDB4MDIsMHgxNCwweGQwLDB4ODYsMHgxMCwweDIxLDB4ODAsMHg0YywweDYyLDB4NDIsMHgzNCwweDQwLDB4YTUgfX0sCi0gezE2LCAweGJhZjAsIDAsIHsweDAwLDB4MzUsMHhjMCwweDI4LDB4NzAsMHg0MiwweGRjLDB4YzIsMHg4ZiwweDMwLDB4MjMsMHhjMCwweDA4LDB4NTAsMHgwMiwweDJhIH19LAotIHsxNiwgMHhiYjAwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDIsMHgwMCwweDk4LDB4MjgsMHg4ZSwweDAwLDB4YTUsMHg0MCB9fSwKLSB7MTYsIDB4YmIxMCwgMCwgezB4MDgsMHhmMSwweDAyLDB4MTgsMHg2NCwweGI0LDB4MDAsMHg2ZCwweDQyLDB4MDgsMHg1MCwweDAyLDB4MTgsMHgwMSwweDg1LDB4MDggfX0sCi0gezE2LCAweGJiMjAsIDAsIHsweDIxLDB4NDAsMHgwOSwweDU4LDB4MjIsMHg1NCwweDAwLDB4ODUsMHgxMCwweDJkLDB4YzQsMHgwOSwweDcwLDB4MDIsMHhkYywweDA0IH19LAotIHsxNiwgMHhiYjMwLCAwLCB7MHg5NywweDAwLDB4MjUsMHhjMCwweDA4LDB4NDQsMHgwMiwweDAwLDB4MTAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmI0MCwgMCwgezB4NjAsMHgxNCwweDhjLDB4MDAsMHg4MiwweDgwLDB4MjQsMHhjMCwweDA4LDB4ODAsMHgwMiwweDJkLDB4MDAsMHg4MCwweDRhLDB4MmMgfX0sCi0gezE2LCAweGJiNTAsIDAsIHsweDQyLDB4MDgsMHgwYSwweDQyLDB4MDYsMHgwMCwweDkyLDB4ODQsMHgyMCwweGEwLDB4ODgsMHgyOCwweDQyLDB4NDQsMHgwMCwweGEzIH19LAotIHsxNiwgMHhiYjYwLCAwLCB7MHgwNiwweDI0LDB4YzAsMHgwYiwweDMwLDB4MDIsMHhjYywweDEwLDB4OTMsMHgwNCwweDI0LDB4YzEsMHgwOSwweDAwLDB4MDIsMHgwOCB9fSwKLSB7MTYsIDB4YmI3MCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhiYywweDAwLDB4Y2IsMHgwMCwweDM2LDB4NDAgfX0sCi0gezE2LCAweGJiODAsIDAsIHsweDBjLDB4YjQsMHgxMywweDJjLDB4MDAsMHhmOSwweDAwLDB4M2UsMHhhMCwweDBjLDB4YTIsMHgwMywweDA0LDB4MDgsMHhjMiwweDgwIH19LAotIHsxNiwgMHhiYjkwLCAwLCB7MHgzMCwweGE4LDB4MGQsMHgyYSwweDAzLDB4NTQsMHgwMCwweGNiLDB4MDAsMHgzZiwweGMwLDB4MGQsMHhmMCwweDAzLDB4ZmMsMHgwOCB9fSwKLSB7MTYsIDB4YmJhMCwgMCwgezB4ZGYsMHgwMCwweDM3LDB4ZDAsMHgwYywweGIwLDB4MDMsMHgyYSwweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJiYjAsIDAsIHsweDgwLDB4MDAsMHhlMCwweDAwLDB4ZmIsMHgxMCwweDNhLDB4NDAsMHgwZSwweGIwLDB4MDMsMHhlZCwweDkwLDB4ZjksMHgxMSwweDdlIH19LAotIHsxNiwgMHhiYmMwLCAwLCB7MHg4MCwweDRmLDB4YjAsMHg1MywweGU4LDB4NDAsMHhlOSwweDAwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGE2LDB4MDgsMHhmOSB9fSwKLSB7MTYsIDB4YmJkMCwgMCwgezB4MDEsMHgzYSwweGMwLDB4MGMsMHhiMCwweDEzLDB4Y2MsMHgwMCwweGViLDB4MDIsMHgzYSwweGM2LDB4OGUsMHhiOCwweDAzLDB4ZTAgfX0sCi0gezE2LCAweGJiZTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4ZjAsMHgwYywweGNlLDB4MDAsMHgzZiwweGUwIH19LAotIHsxNiwgMHhiYmYwLCAwLCB7MHgyYywweGYwLDB4ODMsMHgzYSwweDQ4LDB4Y2QsMHgwMSwweDM1LDB4ODAsMHgwYywweDYwLDB4MTIsMHgzNCwweDBhLDB4Y2UsMHgwMCB9fSwKLSB7MTYsIDB4YmMwMCwgMCwgezB4YjMsMHg4MCwweDJjLDB4ZTAsMHgwYiwweDc0LDB4MDAsMHhjOSwweDEwLDB4YjMsMHhjMSwweDBmLDB4ZjAsMHgxYiwweDNjLDB4MDAgfX0sCi0gezE2LCAweGJjMTAsIDAsIHsweGNmLDB4MDAsMHhiNywweGMwLDB4MmMsMHhlMCwweDAzLDB4MDAsMHg0NCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiYzIwLCAwLCB7MHg4MSwweDA0LDB4NmUsMHgxMCwweDg4LDB4ODAsMHgyYywweGMwLDB4MTgsMHg5OCwweDAyLDB4MmQsMHg4MCwweDgxLDB4MDAsMHgzNiB9fSwKLSB7MTYsIDB4YmMzMCwgMCwgezB4OTEsMHgwOCwweGIwLDB4MDMsMHg2OCwweDAwLDB4YzksMHgwMCwweDIyLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgyNCwweDAwLDB4ODMgfX0sCi0gezE2LCAweGJjNDAsIDAsIHsweDgwLDB4MzYsMHhjMCwweDBiLDB4MzAsMHgwMiwweDJjLDB4MDIsMHg4MywweDAwLDB4MjAsMHhjMCwweDA4LDB4MjAsMHgwMywweDYwIH19LAotIHsxNiwgMHhiYzUwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDA2LDB4MDAsMHg4YSwweDgwLDB4MmUsMHg0NSB9fSwKLSB7MTYsIDB4YmM2MCwgMCwgezB4MjgsMHg4OCwweDAyLDB4MjQsMHgwMiwweDg4LDB4MDIsMHgwMiwweDAyLDB4MDgsMHg4MCwweDAyLDB4YTIsMHgwMCwweDk4LDB4MDAgfX0sCi0gezE2LCAweGJjNzAsIDAsIHsweDIyLDB4MDAsMHgwOCwweDgwLDB4MTIsMHgyNCwweDAwLDB4ODksMHgwMSwweDIyLDB4YzEsMHgwYSwweGIwLDB4MDIsMHg2YywweDAwIH19LAotIHsxNiwgMHhiYzgwLCAwLCB7MHhhYiwweDAwLDB4MjIsMHhjMSwweDA4LDB4OTAsMHgxMiwweDYwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmM5MCwgMCwgezB4MDgsMHgwNCwweDAwLDB4MDAsMHg4MCwweDAwLDB4MmMsMHhjMCwweDQ4LDB4MDgsMHgxMiwweDAwLDB4ODAsMHg4MCwweDAyLDB4MjQgfX0sCi0gezE2LCAweGJjYTAsIDAsIHsweDAwLDB4MDgsMHgxOCwweDQyLDB4YWMsMHgwMiwweDhiLDB4ODAsMHgyMiwweGUwLDB4MDgsMHhiOCwweDEyLDB4MDQsMHgwMiwweDgzIH19LAotIHsxNiwgMHhiY2IwLCAwLCB7MHgwMCwweDIwLDB4YzAsMHgwYiwweDMwLDB4NDIsMHgwYywweDAwLDB4YTMsMHgwMSwweDYwLDB4YzAsMHg0OCwweDEwLDB4MDIsMHg0MiB9fSwKLSB7MTYsIDB4YmNjMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHg2OCwweDA4LDB4Y2EsMHgwMCwweDJlLDB4NDAgfX0sCi0gezE2LCAweGJjZDAsIDAsIHsweDA4LDB4ODAsMHgwMywweDAwLDB4MDAsMHhjOCwweDA2LDB4MzIsMHgwMCwweDBjLDB4ODAsMHgwMiwweGEwLDB4MDAsMHhkOCwweDAwIH19LAotIHsxNiwgMHhiY2UwLCAwLCB7MHgzMiwweDAwLDB4MGMsMHg4MCwweDAzLDB4NzQsMHgwMCwweGNiLDB4MDAsMHgyMiwweGMwLDB4MGYsMHhmMCwweDAzLDB4M2MsMHgwMCB9fSwKLSB7MTYsIDB4YmNmMCwgMCwgezB4ZWYsMHgwMCwweDM3LDB4YzAsMHgwYywweDgwLDB4MDEsMHg0MCwweDAzLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJkMDAsIDAsIHsweGEwLDB4MTksMHhmYywweDAwLDB4ZmMsMHgwNCwweDNmLDB4YzAsMHgwZiwweGMwLDB4MDMsMHhlMSwweDAwLDB4ZmMsMHgwMCwweDNiIH19LAotIHsxNiwgMHhiZDEwLCAwLCB7MHgwMCwweDBmLDB4ZDAsMHgwMywweDdjLDB4MDAsMHhlZiwweDAwLDB4MmYsMHhjMCwweDBmLDB4ZjAsMHgxMSwweGY0LDB4MTAsMHhmZCB9fSwKLSB7MTYsIDB4YmQyMCwgMCwgezB4MDIsMHgzZCwweGMwLDB4NGYsMHhmMCwweDAzLDB4ZGMsMHgwMCwweGRmLDB4MDQsMHgzZiwweGMwLDB4MGYsMHhjMCwweDQzLDB4ZTkgfX0sCi0gezE2LCAweGJkMzAsIDAsIHsweDA2LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NDEsMHgwMiwweDcwLDB4MjAsMHhkYywweDEwIH19LAotIHsxNiwgMHhiZDQwLCAwLCB7MHg2NywweDA0LDB4MGQsMHhjMSwweDAyLDB4NzAsMHgyMCwweDljLDB4MTAsMHgzNywweDA0LDB4MGQsMHhjMSwweDA2LDB4NzAsMHg0MCB9fSwKLSB7MTYsIDB4YmQ1MCwgMCwgezB4NGMsMHgxMCwweDM3LDB4MTQsMHgxNSwweGMxLDB4MDMsMHg3MCwweDQwLDB4ZGMsMHgxMCwweDEzLDB4MDQsMHgwZCwweGMxLDB4MDcgfX0sCi0gezE2LCAweGJkNjAsIDAsIHsweDcwLDB4NDAsMHhkYywweDEwLDB4MzcsMHgwNCwweDBkLDB4YzAsMHgzMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiZDcwLCAwLCB7MHgwMCwweGM1LDB4NDQsMHgwNSwweDcxLDB4MjEsMHg1YywweDQwLDB4NTcsMHgxMCwweDE1LDB4YzQsMHgwNSwweDcxLDB4MDUsMHg1YyB9fSwKLSB7MTYsIDB4YmQ4MCwgMCwgezB4NDAsMHg1NywweDEwLDB4MTUsMHhjNCwweDA2LDB4NzEsMHgwMSwweDRjLDB4NDAsMHg1NywweDEwLDB4MGQsMHhjNCwweDA1LDB4NzEgfX0sCi0gezE2LCAweGJkOTAsIDAsIHsweDA1LDB4NWMsMHg0MCwweDUzLDB4MTAsMHgxNSwweGM0LDB4MDcsMHg3MSwweDAxLDB4NWMsMHg0MCwweDU3LDB4MTAsMHgxNSwweGMwIH19LAotIHsxNiwgMHhiZGEwLCAwLCB7MHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAyLDB4MDEsMHgyMCwweDgwLDB4NDgsMHgyMCB9fSwKLSB7MTYsIDB4YmRiMCwgMCwgezB4MTIsMHgwOCwweDA0LDB4ODIsMHgwMSwweDIwLDB4ODAsMHg0OCwweDIwLDB4MTIsMHgwOCwweDA0LDB4ODIsMHgwMSwweDIwLDB4ODAgfX0sCi0gezE2LCAweGJkYzAsIDAsIHsweDQ4LDB4MjAsMHgxMiwweDA4LDB4MDQsMHg4MiwweDAxLDB4MjAsMHg4MCwweDQ4LDB4MjAsMHgxMiwweDA4LDB4MDQsMHg4MiwweDAxIH19LAotIHsxNiwgMHhiZGQwLCAwLCB7MHgyMCwweDgwLDB4NDgsMHgyMCwweDEyLDB4MDgsMHgwNCwweDgwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmRlMCwgMCwgezB4MDAsMHg4NCwweDAwLDB4MDEsMHg2MCwweDAwLDB4NTgsMHgwMCwweDU2LDB4MDAsMHgwNSwweDgwLDB4MDEsMHg2MCwweDA0LDB4NTggfX0sCi0gezE2LCAweGJkZjAsIDAsIHsweDAwLDB4MTYsMHgwMCwweDA1LDB4ODAsMHgwMSwweDIwLDB4MDEsMHg1OCwweDAwLDB4MTYsMHgwMCwweDA1LDB4ODAsMHgwMSwweDYwIH19LAotIHsxNiwgMHhiZTAwLCAwLCB7MHgwMCwweDU4LDB4MDAsMHg1NiwweDAwLDB4MDUsMHg4MCwweDAxLDB4NjAsMHgwMCwweDU4LDB4MDAsMHgxNiwweDAwLDB4MDEsMHg4MCB9fSwKLSB7MTYsIDB4YmUxMCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzUsMHg0OCwweDA1LDB4NzIsMHgxMSwweDVjLDB4ODAgfX0sCi0gezE2LCAweGJlMjAsIDAsIHsweDE3LDB4MjAsMHgxNSwweGQ4LDB4MDUsMHgzMiwweDExLDB4MWMsMHg4MCwweDQ3LDB4MjAsMHgxNCwweDg4LDB4MDAsMHg3MiwweDAxIH19LAotIHsxNiwgMHhiZTMwLCAwLCB7MHgxYywweDgwLDB4NTcsMHgyMCwweDA1LDB4YzgsMHgwNCwweDcyLDB4MDEsMHg1YywweDgwLDB4NTcsMHgyMCwweDE1LDB4YzgsMHgwMSB9fSwKLSB7MTYsIDB4YmU0MCwgMCwgezB4NzIsMHgwMSwweDVjLDB4ODAsMHg1NywweDI0LDB4MTUsMHhjMCwweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJlNTAsIDAsIHsweDAwLDB4YzEsMHg0MCwweDAwLDB4NjAsMHgwMCwweDE4LDB4MDAsMHgwNiwweDAwLDB4MDEsMHg4MCwweDQwLDB4MjAsMHgwMCwweDE4IH19LAotIHsxNiwgMHhiZTYwLCAwLCB7MHgwMCwweDA2LDB4MDAsMHgwMSwweDkwLDB4MDAsMHg2MCwweDAwLDB4MTgsMHgwMCwweDA2LDB4MDAsMHg0MSwweDgwLDB4MDAsMHg2MCB9fSwKLSB7MTYsIDB4YmU3MCwgMCwgezB4MDAsMHgxOCwweDAwLDB4MDYsMHgwMCwweDAxLDB4ODAsMHgwMCwweDYwLDB4MDAsMHgxOCwweDEwLDB4MDYsMHgwMCwweDAxLDB4ODAgfX0sCi0gezE2LCAweGJlODAsIDAsIHsweDMxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NDgsMHgwNCwweDIyLDB4MDEsMHgwOCwweDgwIH19LAotIHsxNiwgMHhiZTkwLCAwLCB7MHgwMiwweDIwLDB4MTAsMHg4OCwweDA0LDB4NjIsMHgwMSwweDA4LDB4ODAsMHg0MiwweDIwLDB4MTAsMHg4OCwweDAwLDB4MjAsMHgwMSB9fSwKLSB7MTYsIDB4YmVhMCwgMCwgezB4MDgsMHg4MCwweDQyLDB4MjAsMHgwMCwweDg4LDB4MDQsMHgyMiwweDAxLDB4MDgsMHgwMCwweDQyLDB4MjAsMHgxMCwweDg4LDB4MDAgfX0sCi0gezE2LCAweGJlYjAsIDAsIHsweDIyLDB4MDEsMHgwOCwweDgwLDB4NDIsMHgzMCwweDEwLDB4ODAsMHgzMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiZWMwLCAwLCB7MHgwMCwweGM1LDB4NGEsMHgwNSwweDQyLDB4ODEsMHg1MCwweGEwLDB4MDQsMHgyOCwweDE1LDB4MGEsMHgwNSwweDUyLDB4ODEsMHgxMCB9fSwKLSB7MTYsIDB4YmVkMCwgMCwgezB4YTAsMHg0NCwweDI4LDB4MTEsMHgxYSwweDAwLDB4NDAsMHg4MCwweDEwLDB4YTAsMHg1NCwweDI4LDB4MDUsMHgwYSwweDA1LDB4NDIgfX0sCi0gezE2LCAweGJlZTAsIDAsIHsweDgxLDB4NTEsMHgyMCwweDE0LDB4MjgsMHgxNSwweDBhLDB4MDEsMHg0MiwweDgxLDB4NTAsMHhhMCwweDU0LDB4MjgsMHgxNSwweDAwIH19LAotIHsxNiwgMHhiZWYwLCAwLCB7MHgzMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDBjLDB4MDEsMHg1MywweDQwLDB4NTQsMHhjMCB9fSwKLSB7MTYsIDB4YmYwMCwgMCwgezB4MTUsMHgzMCwweDA1LDB4NWMsMHgwMSwweDU3LDB4NDAsMHg1NCwweGMwLDB4MTUsMHgzMCwweDA1LDB4NWMsMHgwMSwweDUzLDB4MDAgfX0sCi0gezE2LCAweGJmMTAsIDAsIHsweDU1LDB4YzAsMHgxNSwweDc0LDB4MDUsMHg0YywweDAxLDB4NTMsMHgwMCwweDU1LDB4YzAsMHgxNSwweDc0LDB4MDUsMHg0YywweDAxIH19LAotIHsxNiwgMHhiZjIwLCAwLCB7MHg1MywweDAwLDB4NTQsMHhjMCwweDExLDB4MzAsMHgwMSwweDQwLDB4MjEsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmYzMCwgMCwgezB4MDAsMHg4MCwweDAwLDB4MDAsMHg0MCwweDAwLDB4MTAsMHgwMCwweDA0LDB4MDAsMHgwMSwweDAwLDB4MDAsMHg0MCwweDAwLDB4MTAgfX0sCi0gezE2LCAweGJmNDAsIDAsIHsweDAwLDB4MDQsMHgwMCwweDAxLDB4MDAsMHgwMCwweDQyLDB4MDAsMHgxMCwweDAwLDB4MDQsMHgwMCwweDExLDB4MDAsMHgwMCwweDQwIH19LAotIHsxNiwgMHhiZjUwLCAwLCB7MHgwMCwweDEwLDB4YzEsMHgwNCwweDAwLDB4MDEsMHgwMCwweDAwLDB4NDAsMHgwMCwweDEwLDB4MDAsMHgwMSwweDEwLDB4MDEsMHgwMSB9fSwKLSB7MTYsIDB4YmY2MCwgMCwgezB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzUsMHg2MCwweDAyLDB4MDgsMHgwMCwweDgyLDB4MDAgfX0sCi0gezE2LCAweGJmNzAsIDAsIHsweDIwLDB4ODAsMHgwOCwweDIwLDB4MDIsMHgwOCwweDAwLDB4ODIsMHgwMCwweDIwLDB4ODAsMHgwOCwweDIwLDB4MDIsMHgwOCwweDAwIH19LAotIHsxNiwgMHhiZjgwLCAwLCB7MHg4MiwweDAwLDB4MjAsMHg4NCwweDAwLDB4MjAsMHgwMiwweDA4LDB4MDAsMHg4MiwweDAwLDB4MjAsMHg4NCwweDA4LDB4MjAsMHgwMiB9fSwKLSB7MTYsIDB4YmY5MCwgMCwgezB4MDgsMHgwMCwweDgyLDB4MDAsMHgyMSwweDgwLDB4MDgsMHgwMSwweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJmYTAsIDAsIHsweDAwLDB4YzUsMHg0MCwweDA1LDB4NjAsMHgwMSwweDU4LDB4MDAsMHg5NiwweDAwLDB4MTUsMHg5MCwweDA1LDB4NjQsMHgwMiwweDU4IH19LAotIHsxNiwgMHhiZmIwLCAwLCB7MHgwMCwweDU2LDB4MDAsMHg1NSwweDkwLDB4MDUsMHg2MCwweDAxLDB4ZDksMHgwMCwweDE2LDB4NDAsMHgxNSwweDgwLDB4MDUsMHg2MCB9fSwKLSB7MTYsIDB4YmZjMCwgMCwgezB4MDEsMHg1OSwweDAwLDB4NzYsMHg0MCwweDE1LDB4ODAsMHgwNSwweDYwLDB4MDEsMHg1OCwweDAwLDB4NTYsMHgwMCwweDE1LDB4ODAgfX0sCi0gezE2LCAweGJmZDAsIDAsIHsweDMxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM0LDB4NDAsMHgwMywweDYwLDB4MDAsMHhkOCwweDAwIH19LAotIHsxNiwgMHhiZmUwLCAwLCB7MHgzNiwweDAwLDB4NGQsMHg4MCwweDAzLDB4NjAsMHgwMCwweGQ4LDB4MDAsMHgzNiwweDAwLDB4MGQsMHg4MCwweDA3LDB4NjIsMHgwMCB9fSwKLSB7MTYsIDB4YmZmMCwgMCwgezB4NTgsMHgwMCwweDM2LDB4MDAsMHgwZCwweDgwLDB4MDcsMHg2MCwweDAwLDB4ZDgsMHg4MCwweDE2LDB4MDAsMHgwZCwweDgwLDB4MDMgfX0sCi0gezE2LCAweGMwMDAsIDAsIHsweDYwLDB4MDAsMHhkOCwweDAwLDB4MzYsMHgwMCwweDFkLDB4ODAsMHgzMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjMDEwLCAwLCB7MHgwMCwweGM1LDB4NDIsMHgwNCwweDMwLDB4ODEsMHgwYywweDIwLDB4NDMsMHgwOCwweDEwLDB4YzIsMHgwNCwweDMwLDB4ODEsMHgwYyB9fSwKLSB7MTYsIDB4YzAyMCwgMCwgezB4MjAsMHg0MywweDA4LDB4MTAsMHhjMiwweDA0LDB4MzAsMHhjMSwweDBjLDB4MjAsMHg0MywweDA4LDB4MTAsMHhjMiwweDA2LDB4MzAgfX0sCi0gezE2LCAweGMwMzAsIDAsIHsweDgxLDB4MGMsMHgyMCwweDQzLDB4MDgsMHgxMCwweGMyLDB4MDQsMHgzMCwweDgxLDB4MGMsMHgyMCwweDQzLDB4MDgsMHgxOCwweGMwIH19LAotIHsxNiwgMHhjMDQwLCAwLCB7MHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4MDAsMHgzMCwweDAwLDB4MGMsMHgwMCB9fSwKLSB7MTYsIDB4YzA1MCwgMCwgezB4MDMsMHgwMCwweDAwLDB4YzAsMHgwMCwweDMwLDB4MDAsMHgwYywweDAwLDB4MDMsMHgwMCwweDAwLDB4YzAsMHg0MCwweDMwLDB4MDAgfX0sCi0gezE2LCAweGMwNjAsIDAsIHsweDBjLDB4MDAsMHgwMywweDAwLDB4MDAsMHhjMCwweDAwLDB4MzAsMHgwMCwweDBjLDB4MDAsMHgwMywweDAwLDB4MDAsMHhjMCwweDAwIH19LAotIHsxNiwgMHhjMDcwLCAwLCB7MHgzMCwweDAwLDB4MGMsMHgwMCwweDAzLDB4MDAsMHgwMCwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzA4MCwgMCwgezB4MDAsMHg4MCwweDAyLDB4MDEsMHgzMCwweDgwLDB4NGMsMHgyMCwweDEzLDB4MDgsMHgwNCwweGMyLDB4MDEsMHgzMCwweDgwLDB4NGMgfX0sCi0gezE2LCAweGMwOTAsIDAsIHsweDIwLDB4MTMsMHgwOCwweDA0LDB4YzIsMHgyNSwweDMwLDB4ODEsMHg0YywweDIwLDB4MTMsMHgwOCwweDA0LDB4YzIsMHgwMSwweDMwIH19LAotIHsxNiwgMHhjMGEwLCAwLCB7MHg4MCwweDRjLDB4MzIsMHg1MywweDA4LDB4MDQsMHhjMiwweDAxLDB4MzAsMHg4MCwweDRjLDB4MjAsMHgxMywweDA4LDB4MDQsMHhjMCB9fSwKLSB7MTYsIDB4YzBiMCwgMCwgezB4MjAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzUsMHg0MiwweDA1LDB4NjIsMHg4MSwweDU4LDB4MjAgfX0sCi0gezE2LCAweGMwYzAsIDAsIHsweDU2LDB4MDgsMHgxNSwweDgyLDB4MDQsMHg2MCwweDgxLDB4NTgsMHgyMCwweDQ2LDB4MDgsMHgxNSwweDgyLDB4MDEsMHg2MCwweGMxIH19LAotIHsxNiwgMHhjMGQwLCAwLCB7MHg1OCwweDIwLDB4NDYsMHgwOCwweDE1LDB4ODIsMHgwMSwweDYwLDB4ODEsMHg1OCwweDMwLDB4NTYsMHgwOCwweDE1LDB4ODIsMHgwNSB9fSwKLSB7MTYsIDB4YzBlMCwgMCwgezB4NjAsMHg4MSwweDU4LDB4MjAsMHg1NiwweDA4LDB4MDUsMHg4MCwweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGMwZjAsIDAsIHsweDAwLDB4YzUsMHg0MiwweDAwLDB4MjAsMHg4MCwweDA4LDB4MjAsMHgwMiwweDA4LDB4MDAsMHg4MiwweDAwLDB4MjAsMHg4MCwweDA4IH19LAotIHsxNiwgMHhjMTAwLCAwLCB7MHgyMCwweDAyLDB4MDgsMHgwMCwweDgyLDB4MDAsMHgyMCwweDgwLDB4MGMsMHgyMCwweDAyLDB4MDgsMHgwMCwweDgyLDB4MDAsMHgyMCB9fSwKLSB7MTYsIDB4YzExMCwgMCwgezB4ODAsMHgwOCwweDIwLDB4MDMsMHgwOCwweDAwLDB4ODIsMHgwMCwweDIwLDB4ODAsMHgwOCwweDIwLDB4MDIsMHgwOCwweDAwLDB4ODAgfX0sCi0gezE2LCAweGMxMjAsIDAsIHsweDIxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NDIsMHgwNCwweDY2LDB4ODEsMHgxOCwweDIwIH19LAotIHsxNiwgMHhjMTMwLCAwLCB7MHg0NiwweDA4LDB4MTEsMHg4MiwweDA0LDB4NjQsMHg4MSwweDE4LDB4MjAsMHg0NiwweDA4LDB4MTEsMHg4MiwweDAwLDB4NjAsMHg4MSB9fSwKLSB7MTYsIDB4YzE0MCwgMCwgezB4MGMsMHgyMCwweDQ2LDB4MDgsMHgxMSwweDgyLDB4MDAsMHg2MCwweDgxLDB4MTksMHgyMCwweDQzLDB4MDgsMHgxMSwweDgyLDB4MDQgfX0sCi0gezE2LCAweGMxNTAsIDAsIHsweDYwLDB4ODEsMHgxOSwweDIwLDB4NDYsMHg0OCwweDAxLDB4ODAsMHgxMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjMTYwLCAwLCB7MHgwMCwweGM1LDB4NjAsMHgwNSwweDU4LDB4MDEsMHg1NiwweDAwLDB4NTUsMHg4MCwweDE1LDB4NjAsMHgwNCwweDU4LDB4MDEsMHg1NiB9fSwKLSB7MTYsIDB4YzE3MCwgMCwgezB4MDAsMHg0NSwweDgwLDB4MTEsMHg2MCwweDAwLDB4NTgsMHgwMCwweDA2LDB4MDAsMHg0NSwweDgwLDB4MTUsMHg2MCwweDAxLDB4NTggfX0sCi0gezE2LCAweGMxODAsIDAsIHsweDAxLDB4MTYsMHgwMCwweDAxLDB4ODAsMHgxNSwweDYwLDB4MDUsMHg1OCwweDAxLDB4NTYsMHgwMCwweDU1LDB4ODAsMHgwNSwweDQwIH19LAotIHsxNiwgMHhjMTkwLCAwLCB7MHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA2LDB4MDEsMHg0OSwweDgwLDB4MTAsMHg2MCB9fSwKLSB7MTYsIDB4YzFhMCwgMCwgezB4MTQsMHgxOCwweDA1LDB4MDYsMHgwMSwweDc5LDB4ODAsMHg1MCwweDYwLDB4MTQsMHgxOCwweDAxLDB4MDYsMHgwMSwweDQxLDB4ODAgfX0sCi0gezE2LCAweGMxYjAsIDAsIHsweDUwLDB4NjAsMHgwNCwweDE4LDB4MDUsMHgwNiwweDAxLDB4NDEsMHg4MCwweDEwLDB4NjAsMHgxNCwweDE4LDB4MDUsMHgwNiwweDAxIH19LAotIHsxNiwgMHhjMWMwLCAwLCB7MHg0MSwweDgwLDB4NTAsMHg2MCwweDE0LDB4MTgsMHgwNSwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzFkMCwgMCwgezB4MDAsMHg4MCwweDAyLDB4MDEsMHgwNCwweDgwLDB4NDAsMHgyMCwweDEwLDB4MDgsMHgwNCwweDAyLDB4MDAsMHgwNCwweDA0LDB4NDAgfX0sCi0gezE2LCAweGMxZTAsIDAsIHsweDIwLDB4MTAsMHgwOCwweDA0LDB4MDIsMHgwMSwweDAwLDB4ODQsMHg0MCwweDIwLDB4MTAsMHgwOCwweDA0LDB4MDIsMHgwMSwweDAwIH19LAotIHsxNiwgMHhjMWYwLCAwLCB7MHg4MCwweDQxLDB4MjAsMHgxMCwweDA4LDB4MDQsMHgwMiwweDExLDB4MDAsMHg4MCwweDQxLDB4MjAsMHgxMCwweDQ4LDB4MDQsMHgwMCB9fSwKLSB7MTYsIDB4YzIwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzUsMHg0NiwweDAzLDB4NTEsMHg4MCwweGQ0LDB4NjAgfX0sCi0gezE2LCAweGMyMTAsIDAsIHsweDM1LDB4MTgsMHgwZCwweDQ2LDB4MDIsMHgxMSwweDgwLDB4ZDQsMHg2MCwweDM1LDB4MTgsMHgwZCwweDQ2LDB4MDMsMHgxMSwweDgwIH19LAotIHsxNiwgMHhjMjIwLCAwLCB7MHhkNCwweDYwLDB4MzUsMHgxOCwweDBkLDB4NDYsMHgwMywweDUxLDB4ODAsMHhkNCwweDYwLDB4MzUsMHgxOCwweDBkLDB4NDYsMHgwMyB9fSwKLSB7MTYsIDB4YzIzMCwgMCwgezB4NTEsMHg4MCwweGQ0LDB4NjAsMHgzNSwweDE4LDB4MGQsMHg0MCwweDMxLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGMyNDAsIDAsIHsweDAwLDB4YzUsMHg0NiwweDA1LDB4NzAsMHg4MSwweDVjLDB4NjAsMHgwNywweDE4LDB4MTUsMHhjNiwweDA0LDB4NzEsMHg4MSwweDFjIH19LAotIHsxNiwgMHhjMjUwLCAwLCB7MHg2MCwweDE3LDB4MTgsMHgxNSwweGM2LDB4MDUsMHgzMSwweDgxLDB4ZGMsMHg2MCwweDU3LDB4MTgsMHgxNSwweGM2LDB4MDUsMHg3MSB9fSwKLSB7MTYsIDB4YzI2MCwgMCwgezB4ODAsMHgxYywweDYwLDB4NzcsMHgxOCwweDE1LDB4Y2UsMHgwNSwweDcxLDB4ODEsMHg1YywweDYwLDB4NTcsMHgxOCwweDE1LDB4YzAgfX0sCi0gezE2LCAweGMyNzAsIDAsIHsweDExLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4NDYsMHgwMiwweDcxLDB4ODAsMHg5YywweDYxIH19LAotIHsxNiwgMHhjMjgwLCAwLCB7MHg3NywweDE4LDB4MGQsMHhjNiwweDAyLDB4NzEsMHg4MCwweDljLDB4NjAsMHgzNywweDE4LDB4MGQsMHhjMiwweDAzLDB4MzEsMHg4MCB9fSwKLSB7MTYsIDB4YzI5MCwgMCwgezB4NWMsMHg2MCwweDI3LDB4MTgsMHgwZCwweGM2LDB4MDMsMHg3MSwweDgwLDB4OWMsMHg2MCwweDE3LDB4MTgsMHgwZCwweGNlLDB4MDMgfX0sCi0gezE2LCAweGMyYTAsIDAsIHsweDcxLDB4ODAsMHhkYywweDYwLDB4MzcsMHgxOCwweDBkLDB4YzAsMHgxMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjMmIwLCAwLCB7MHgwMCwweDQ1LDB4NDYsMHgwNSwweDc1LDB4ODEsMHg1YywweDYwLDB4NzcsMHgxOCwweDE1LDB4YzYsMHgwNSwweDc1LDB4ODEsMHg1YyB9fSwKLSB7MTYsIDB4YzJjMCwgMCwgezB4NjAsMHg1NywweDE4LDB4MTUsMHhjNiwweDA1LDB4MzEsMHg4MSwweDBjLDB4NjAsMHg1NywweDE4LDB4MTUsMHhjNiwweDA1LDB4NzEgfX0sCi0gezE2LCAweGMyZDAsIDAsIHsweDgxLDB4NWMsMHg2MCwweDQzLDB4MTgsMHgxNSwweGM2LDB4MDUsMHg3MSwweDgxLDB4NWMsMHg2MCwweDU3LDB4MTgsMHgxNSwweGMwIH19LAotIHsxNiwgMHhjMmUwLCAwLCB7MHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAyLDB4MDEsMHgyMCwweDgwLDB4NDgsMHgyMCB9fSwKLSB7MTYsIDB4YzJmMCwgMCwgezB4MTIsMHgwOCwweDA0LDB4ODIsMHgwMSwweDIwLDB4ODAsMHg0OCwweDIwLDB4MTIsMHgwOCwweDA0LDB4ODIsMHgwMSwweDIwLDB4ODAgfX0sCi0gezE2LCAweGMzMDAsIDAsIHsweDVjLDB4MjAsMHgxMiwweDA4LDB4MDQsMHg4MiwweDAxLDB4MjAsMHg4MCwweDQ4LDB4MDAsMHgxNywweDA4LDB4MDQsMHg4MiwweDAxIH19LAotIHsxNiwgMHhjMzEwLCAwLCB7MHgyMCwweDgwLDB4NDgsMHgyMCwweDEyLDB4MDgsMHgwNCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzMyMCwgMCwgezB4MDAsMHgwMCwweDA2LDB4MDEsMHg2MywweDgwLDB4NTgsMHg2MCwweDE2LDB4MTgsMHgwNSwweDg2LDB4MDEsMHg2MSwweDgwLDB4NTggfX0sCi0gezE2LCAweGMzMzAsIDAsIHsweDYwLDB4MTYsMHgxOCwweDA1LDB4ODYsMHgwMSwweDYxLDB4ODEsMHg1OCwweDYwLDB4MTYsMHgxOCwweDA1LDB4ODYsMHgwMSwweDYxIH19LAotIHsxNiwgMHhjMzQwLCAwLCB7MHg4MCwweDU4LDB4NjAsMHg1NiwweDE4LDB4MDUsMHg4NiwweDAxLDB4NjEsMHg4MCwweDU4LDB4NjAsMHgxNiwweDE4LDB4MDUsMHg4MCB9fSwKLSB7MTYsIDB4YzM1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDUsMHg0MCwweDA1LDB4NzAsMHgwMSwweDVjLDB4MDAgfX0sCi0gezE2LCAweGMzNjAsIDAsIHsweDE3LDB4MDAsMHgxNSwweGMwLDB4ODUsMHg3NCwweDAxLDB4MWMsMHgwMCwweDQ3LDB4MDAsMHgxMSwweGMwLDB4MDUsMHg3MCwweDAxIH19LAotIHsxNiwgMHhjMzcwLCAwLCB7MHg1YywweDAwLDB4NTMsMHgwMCwweDEwLDB4YzAsMHgwNSwweDcwLDB4MDEsMHg1YywweDAwLDB4NTcsMHgwMCwweDE0LDB4YzksMHgwNCB9fSwKLSB7MTYsIDB4YzM4MCwgMCwgezB4NzAsMHgwMSwweDFjLDB4MDAsMHg1NywweDAwLDB4MTUsMHhjMCwweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGMzOTAsIDAsIHsweDAwLDB4NDUsMHg0MiwweDAwLDB4NjAsMHhjMCwweDE4LDB4MjAsMHgwNiwweDA4LDB4MDEsMHg4MiwweDAwLDB4NjAsMHg4MCwweDE4IH19LAotIHsxNiwgMHhjM2EwLCAwLCB7MHgyMCwweDA2LDB4MDgsMHgwMSwweDgyLDB4MDAsMHgyMCwweDgwLDB4MTgsMHgzMCwweDAyLDB4MDgsMHgwMCwweDgyLDB4MTAsMHg2MCB9fSwKLSB7MTYsIDB4YzNiMCwgMCwgezB4ODAsMHgxOCwweDIwLDB4MDYsMHgwOCwweDAwLDB4ODIsMHgwMCwweDYwLDB4ODAsMHgxOCwweDIwLDB4MDYsMHgwOCwweDAxLDB4ODAgfX0sCi0gezE2LCAweGMzYzAsIDAsIHsweDExLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ0LDB4NDIsMHgwNCwweDIwLDB4ODEsMHgwOCwweDIwIH19LAotIHsxNiwgMHhjM2QwLCAwLCB7MHgwMiwweDA4LDB4MTAsMHg4MiwweDA0LDB4MjAsMHg4MSwweDA4LDB4MjAsMHg0MiwweDA4LDB4MTAsMHg4MiwweDA0LDB4MjAsMHg4MSB9fSwKLSB7MTYsIDB4YzNlMCwgMCwgezB4MDgsMHgyMCwweDQ2LDB4MDgsMHgxMSwweDgyLDB4MDQsMHgyMCwweDgxLDB4MDgsMHgyMCwweDQyLDB4MDgsMHgxMSwweDgyLDB4MDQgfX0sCi0gezE2LCAweGMzZjAsIDAsIHsweDIwLDB4ODEsMHgwOCwweDIwLDB4NDIsMHgwOCwweDEwLDB4ODAsMHgxMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjNDAwLCAwLCB7MHgwMCwweDQ1LDB4NDIsMHgwNSwweDQwLDB4YzUsMHg1MCwweDIwLDB4MTQsMHgwOCwweDE1LDB4MDAsMHgwNCwweDQwLDB4ODEsMHg1MCB9fSwKLSB7MTYsIDB4YzQxMCwgMCwgezB4MjAsMHg1NCwweDA4LDB4MTEsMHgwMiwweDA1LDB4MDAsMHg4MCwweDEwLDB4MjAsMHg0NSwweDBjLDB4MTEsMHg0MiwweDA0LDB4NDAgfX0sCi0gezE2LCAweGM0MjAsIDAsIHsweDgxLDB4NTAsMHgyMCwweDE0LDB4MGMsMHgxNSwweDQyLDB4MDQsMHg0MCwweDgxLDB4MTAsMHgyMCwweDU0LDB4MDgsMHgxNSwweDAwIH19LAotIHsxNiwgMHhjNDMwLCAwLCB7MHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAzLDB4MDEsMHg1MCwweGMwLDB4NDQsMHgzMCB9fSwKLSB7MTYsIDB4YzQ0MCwgMCwgezB4MTUsMHgwYywweDA1LDB4NDMsMHgwMSwweDUwLDB4YzAsMHg0YywweDMwLDB4MTUsMHgwYywweDA1LDB4NDMsMHgyMSwweDUwLDB4YzAgfX0sCi0gezE2LCAweGM0NTAsIDAsIHsweDU0LDB4MzAsMHgxNSwweDBjLDB4MDUsMHg0MywweDAxLDB4NTAsMHhjMCwweDU0LDB4MzAsMHgxNSwweDBjLDB4MDUsMHg0MywweDAxIH19LAotIHsxNiwgMHhjNDYwLCAwLCB7MHg1MCwweGMwLDB4NTQsMHgyMCwweDE1LDB4MGMsMHgwNSwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzQ3MCwgMCwgezB4MDAsMHgwMCwweDA4LDB4MDAsMHg0MiwweDAwLDB4MDQsMHg4MCwweDA0LDB4MjAsMHgwMSwweDA4LDB4MDAsMHg0MiwweDAwLDB4MDQgfX0sCi0gezE2LCAweGM0ODAsIDAsIHsweDgwLDB4MDQsMHgyMCwweDAxLDB4MDgsMHgwMCwweDAyLDB4MDAsMHgxMCwweDAwLDB4MDQsMHgwMCwweDAxLDB4MDgsMHgwMCwweDQyIH19LAotIHsxNiwgMHhjNDkwLCAwLCB7MHgwMCwweDEwLDB4ODAsMHgwNCwweDAwLDB4MDEsMHgwOCwweDAwLDB4NDIsMHgwMCwweDEwLDB4ODAsMHgwNCwweDIwLDB4MDEsMHgwMCB9fSwKLSB7MTYsIDB4YzRhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDUsMHg0MiwweDAyLDB4MDAsMHg4MCwweDg0LDB4MjAgfX0sCi0gezE2LCAweGM0YjAsIDAsIHsweDIwLDB4MDgsMHgwOCwweDAyLDB4MDIsMHgwMCwweDgwLDB4ODQsMHgyMCwweDIwLDB4MDgsMHgwOCwweDAyLDB4MDIsMHgwMCwweDgwIH19LAotIHsxNiwgMHhjNGMwLCAwLCB7MHg4MCwweGEwLDB4MjAsMHgyOCwweDA4LDB4MDIsMHgwMiwweDAwLDB4ODAsMHg4MCwweDIwLDB4MjAsMHgyOCwweDA4LDB4MDIsMHgwMiB9fSwKLSB7MTYsIDB4YzRkMCwgMCwgezB4MDAsMHg4MCwweDgwLDB4MjAsMHgyMCwweDA4LDB4MDgsMHgwMCwweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM0ZTAsIDAsIHsweDAwLDB4NDUsMHg0MCwweDA1LDB4NjAsMHg0MSwweDU4LDB4MDAsMHg1NiwweDAwLDB4MTUsMHg4MCwweDA1LDB4NjAsMHgwMSwweDU4IH19LAotIHsxNiwgMHhjNGYwLCAwLCB7MHgwMCwweDU2LDB4MDAsMHgxNSwweDgwLDB4MDUsMHgyMCwweDAxLDB4ZDgsMHgwMCwweDU2LDB4MDAsMHgxNSwweDgwLDB4MDUsMHg2MCB9fSwKLSB7MTYsIDB4YzUwMCwgMCwgezB4MDEsMHg1OCwweDAwLDB4NzYsMHgwMCwweDE1LDB4ODAsMHgwNSwweDYwLDB4MDEsMHg1OCwweDAwLDB4NTYsMHgwMCwweDE1LDB4ODAgfX0sCi0gezE2LCAweGM1MTAsIDAsIHsweDExLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGM1LDB4NDAsMHgwMywweDYwLDB4MDAsMHhkOCwweDAwIH19LAotIHsxNiwgMHhjNTIwLCAwLCB7MHgyNiwweDAwLDB4MGQsMHg4MCwweDAyLDB4NjAsMHgwMCwweGQ4LDB4MDAsMHgzNiwweDAwLDB4MGQsMHg4MCwweDA3LDB4NjAsMHgwMSB9fSwKLSB7MTYsIDB4YzUzMCwgMCwgezB4NWMsMHgwMCwweDM2LDB4MDAsMHgwZCwweDgwLDB4MDMsMHg2MCwweDAwLDB4ZDgsMHgwMCwweDU3LDB4MDAsMHgwZCwweDgwLDB4MDIgfX0sCi0gezE2LCAweGM1NDAsIDAsIHsweDYwLDB4MDAsMHg5OCwweDAwLDB4MzYsMHgwMCwweDBkLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjNTUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwNCwweDMwLDB4MjEsMHgwYywweDAwLDB4NDMsMHgwMCwweDEwLDB4YzAsMHgwNCwweDMwLDB4MDEsMHgwYyB9fSwKLSB7MTYsIDB4YzU2MCwgMCwgezB4MDAsMHg0MywweDAwLDB4MTAsMHhjMCwweDA0LDB4MzAsMHgwMSwweDE4LDB4MDAsMHg0MywweDAwLDB4MTAsMHhjMCwweDA0LDB4MzAgfX0sCi0gezE2LCAweGM1NzAsIDAsIHsweDAxLDB4MGMsMHgwMCwweDQ2LDB4MDAsMHgxMCwweGMwLDB4MDQsMHgzMCwweDAxLDB4MGMsMHgwMCwweDQzLDB4MDAsMHgxMCwweGMwIH19LAotIHsxNiwgMHhjNTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMCwweDAwLDB4MGMsMHgwMCB9fSwKLSB7MTYsIDB4YzU5MCwgMCwgezB4MDMsMHgwMCwweDAwLDB4YzAsMHgwMCwweDM1LDB4MDgsMHgwYywweDAwLDB4MDMsMHgwMCwweDAwLDB4YzYsMHgwMCwweDE0LDB4MDAgfX0sCi0gezE2LCAweGM1YTAsIDAsIHsweDA4LDB4MDAsMHgwMywweDQwLDB4MDAsMHhjMCwweDAwLDB4MzAsMHgwMCwweDBkLDB4NDAsMHgwMiwweDAwLDB4MDAsMHhjMCwweDAwIH19LAotIHsxNiwgMHhjNWIwLCAwLCB7MHgzMCwweDAwLDB4MGMsMHgwMCwweDAzLDB4MDAsMHgwMCwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzVjMCwgMCwgezB4MDAsMHgwMCwweDA1LDB4MDEsMHgzMSwweDQwLDB4NGMsMHg1MCwweDEzLDB4MTQsMHgwNCwweGM1LDB4MDEsMHgzMSwweGMwLDB4NGMgfX0sCi0gezE2LCAweGM1ZDAsIDAsIHsweDUwLDB4MTMsMHgxNCwweDA0LDB4YzUsMHgwNSwweDMxLDB4NDEsMHg0YywweDUwLDB4MTMsMHgxNCwweDA0LDB4YzUsMHgwMSwweDMxIH19LAotIHsxNiwgMHhjNWUwLCAwLCB7MHg0MCwweDRjLDB4NzAsMHg1MywweDE0LDB4MDQsMHhjNSwweDAxLDB4MzEsMHg0MCwweDRjLDB4NDAsMHgxMywweDE0LDB4MDQsMHhjMCB9fSwKLSB7MTYsIDB4YzVmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMywweDA1LDB4NjgsMHhjMSwweDVhLDB4MzAgfX0sCi0gezE2LCAweGM2MDAsIDAsIHsweDU2LDB4OGMsMHgxNSwweGEzLDB4MDUsMHg2OSwweGMxLDB4NWEsMHgzMCwweDQ2LDB4OGMsMHgxMSwweGE3LDB4MDEsMHg2OCwweGMwIH19LAotIHsxNiwgMHhjNjEwLCAwLCB7MHgxYSwweDMwLDB4NTYsMHg4YywweDExLDB4YTMsMHgwNCwweDY4LDB4YzEsMHgxYSwweDMwLDB4MTYsMHg4YywweDE1LDB4YTMsMHgwNCB9fSwKLSB7MTYsIDB4YzYyMCwgMCwgezB4NjgsMHhjMSwweDVhLDB4MzAsMHg1NiwweDhjLDB4MTEsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM2MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgwMCwweDA4LDB4MDAsMHgwMiwweDAwLDB4MDAsMHg4MCwweDAwLDB4MjQsMHgwMCwweDA4IH19LAotIHsxNiwgMHhjNjQwLCAwLCB7MHgwMSwweDAyLDB4MDAsMHgwMCwweDgwLDB4MDAsMHgyNCwweDAwLDB4MDgsMHg4MCwweDAyLDB4NjAsMHgwMCwweDgwLDB4MDAsMHgyMCB9fSwKLSB7MTYsIDB4YzY1MCwgMCwgezB4MDAsMHgwOSwweDQwLDB4MDIsMHgyMCwweDAwLDB4ODAsMHgwMCwweDIwLDB4MDAsMHgwOCwweDAwLDB4MDIsMHgwMCwweDAwLDB4ODAgfX0sCi0gezE2LCAweGM2NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHg0NCwweDYyLDB4MTEsMHgxOCwweDg0IH19LAotIHsxNiwgMHhjNjcwLCAwLCB7MHg0NiwweDIxLDB4MTEsMHg4OCwweDQ0LDB4NjIsMHgwOSwweDE4LDB4ODQsMHg0NiwweDIxLDB4MTEsMHg4OCwweDYwLDB4NjIsMHgxMCB9fSwKLSB7MTYsIDB4YzY4MCwgMCwgezB4MTgsMHgwNCwweDQ2LDB4MDEsMHgxMSwweDg4LDB4NDQsMHg2MiwweDExLDB4MTgsMHg4MCwweDA2LDB4MDEsMHgxMSwweDg4LDB4NDQgfX0sCi0gezE2LCAweGM2OTAsIDAsIHsweDYyLDB4MTEsMHgxOCwweDg0LDB4NDYsMHgyMSwweDExLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjNmEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHg0NSwweDUwLDB4MTEsMHg1NCwweDA0LDB4NTUsMHgwMSwweDE1LDB4NDAsMHg0NCwweDUwLDB4MTEsMHg1NCB9fSwKLSB7MTYsIDB4YzZiMCwgMCwgezB4MDQsMHg0NSwweDAxLDB4MTEsMHg0MCwweDQwLDB4NTAsMHgxMCwweDU0LDB4MDQsMHg0NSwweDAxLDB4MTUsMHg0MCwweDQ0LDB4NTAgfX0sCi0gezE2LCAweGM2YzAsIDAsIHsweDExLDB4MTQsMHgwMCwweDE1LDB4MDEsMHgxNSwweDQwLDB4NDQsMHg1MCwweDExLDB4NTQsMHgwNCwweDU1LDB4MDAsMHgxMSwweDQwIH19LAotIHsxNiwgMHhjNmQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MjEsMHg0MiwweDA4LDB4NTAsMHg4MiB9fSwKLSB7MTYsIDB4YzZlMCwgMCwgezB4MTQsMHgyMCwweDg1LDB4MDgsMHgyMSwweDQyLDB4MDAsMHg1MCwweDgyLDB4MTQsMHgyMCwweDg1LDB4MDgsMHgyMCwweDQyLDB4MDggfX0sCi0gezE2LCAweGM2ZjAsIDAsIHsweDUwLDB4ODIsMHgxNSwweDIwLDB4MDUsMHg0OCwweDIxLDB4NDIsMHgwOCwweDUwLDB4ODIsMHgxNCwweDIwLDB4ODEsMHg0MCwweDIxIH19LAotIHsxNiwgMHhjNzAwLCAwLCB7MHg0MiwweDA4LDB4NTAsMHg4MiwweDE0LDB4MjAsMHg4NSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzcxMCwgMCwgezB4MDAsMHgwMCwweDBhLDB4MDEsMHgwMiwweDgwLDB4NDAsMHhhMCwweDEwLDB4MjgsMHgwNCwweDBhLDB4MDEsMHgwMiwweDg0LDB4NDAgfX0sCi0gezE2LCAweGM3MjAsIDAsIHsweGExLDB4MTAsMHgyOCwweDA0LDB4MGEsMHgwMSwweDAyLDB4ODAsMHg0MCwweGEwLDB4MDAsMHgyOCwweDAwLDB4MGEsMHgwMSwweDAyIH19LAotIHsxNiwgMHhjNzMwLCAwLCB7MHg4MCwweDQwLDB4YjAsMHgxMCwweDI4LDB4MDAsMHgwYSwweDAxLDB4MDIsMHg4MCwweDQwLDB4YTAsMHgxMCwweDI4LDB4MDQsMHgwMCB9fSwKLSB7MTYsIDB4Yzc0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwYywweDAzLDB4NTMsMHgwMCwweGQ0LDB4YzAgfX0sCi0gezE2LCAweGM3NTAsIDAsIHsweDM1LDB4MzAsMHgwZCwweDRjLDB4MDMsMHg1MywweDAwLDB4ZDQsMHhjMCwweDM1LDB4MzAsMHgwZCwweDRjLDB4MDMsMHg1MywweDAwIH19LAotIHsxNiwgMHhjNzYwLCAwLCB7MHhkNCwweGMwLDB4MjEsMHgzMCwweDA4LDB4NGMsMHgwMywweDUzLDB4MDAsMHhkNCwweGMwLDB4MzUsMHgzMCwweDA4LDB4NGMsMHgwMyB9fSwKLSB7MTYsIDB4Yzc3MCwgMCwgezB4NTMsMHgwMCwweGQ0LDB4YzAsMHgzNSwweDMwLDB4MGQsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM3ODAsIDAsIHsweDAwLDB4MDAsMHgwOCwweDA0LDB4NzAsMHgwMSwweDVjLDB4ODAsMHgwNywweDIwLDB4MjUsMHhjOSwweDA0LDB4NzIsMHgwMSwweDVjIH19LAotIHsxNiwgMHhjNzkwLCAwLCB7MHg4MCwweDQ3LDB4MjAsMHgxNSwweGM4LDB4MDAsMHg3MiwweDA1LDB4ZGMsMHg4MCwweDU3LDB4MjAsMHgxNSwweGM4LDB4MDUsMHg3MiB9fSwKLSB7MTYsIDB4YzdhMCwgMCwgezB4MDEsMHgxYywweDkwLDB4NjcsMHgyMCwweDE1LDB4YzgsMHgwNSwweDcyLDB4MDEsMHgxYywweDgwLDB4NTcsMHgyMCwweDE1LDB4YzAgfX0sCi0gezE2LCAweGM3YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjMsMHgxOCwweDQ4LDB4YzIsMHgxMiwweDMxIH19LAotIHsxNiwgMHhjN2MwLCAwLCB7MHg4NCwweDhjLDB4NjEsMHgwMywweDE4LDB4NDAsMHhjOCwweDEyLDB4MzEsMHg4NCwweDhjLDB4NjEsMHgwMywweDE4LDB4NDgsMHhjNCB9fSwKLSB7MTYsIDB4YzdkMCwgMCwgezB4MTAsMHgzMSwweDg0LDB4MGMsMHg0MSwweDIzLDB4MTgsMHg0OCwweGM2LDB4MTAsMHgzMCwweDA0LDB4MGMsMHg2MSwweDIzLDB4MTggfX0sCi0gezE2LCAweGM3ZTAsIDAsIHsweDQ4LDB4YzYsMHgxMiwweDMwLDB4ODQsMHg4YywweDIxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjN2YwLCAwLCB7MHgwMCwweDAwLDB4M2YsMHhmZiwweDRmLDB4ZmYsMHhkMywweGZmLDB4ZjQsMHhmZiwweGZkLDB4M2YsMHhmZiwweDRmLDB4ZmYsMHhkMyB9fSwKLSB7MTYsIDB4YzgwMCwgMCwgezB4ZmYsMHhmNCwweGZmLDB4ZmQsMHgzZiwweGZmLDB4NGYsMHhmZiwweGQzLDB4ZmYsMHhmNCwweGZmLDB4ZmQsMHgzZiwweGZmLDB4NGYgfX0sCi0gezE2LCAweGM4MTAsIDAsIHsweGZmLDB4ZDMsMHhmZiwweGY0LDB4ZmYsMHhmZCwweDNmLDB4ZmYsMHg0ZiwweGZmLDB4ZDMsMHhmZiwweGY0LDB4ZmYsMHhiZCwweDAwIH19LAotIHsxNiwgMHhjODIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzgzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM4NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjODUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Yzg2MCwgMCwgezB4MDAsMHgwMCwweDJjLDB4ZGIsMHgwYiwweDM2LDB4YzIsMHhjZCwweGIwLDB4YjMsMHg2YywweDJjLDB4ZGIsMHgwOSwweDM2LDB4YzIgfX0sCi0gezE2LCAweGM4NzAsIDAsIHsweGNkLDB4YjAsMHhiMywweDZjLDB4MmMsMHhkYiwweDBiLDB4MzYsMHhjMiwweGNkLDB4YjAsMHhiMywweDZjLDB4MmMsMHhkYiwweDBiIH19LAotIHsxNiwgMHhjODgwLCAwLCB7MHgzNiwweGMyLDB4Y2QsMHhiMCwweGIzLDB4NmMsMHgyYywweGRiLDB4MGIsMHgzNiwweGMyLDB4Y2QsMHhiMCwweGIzLDB4MmMsMHgwMCB9fSwKLSB7MTYsIDB4Yzg5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMywweDNjLDB4NGMsMHhjZiwweDEzLDB4MzMgfX0sCi0gezE2LCAweGM4YTAsIDAsIHsweGM0LDB4Y2MsMHhmMSwweDMzLDB4M2MsMHg0ZCwweDRlLDB4OTMsMHgzMywweGM0LDB4Y2MsMHhmMSwweDJiLDB4M2MsMHg0YywweGNmIH19LAotIHsxNiwgMHhjOGIwLCAwLCB7MHgxMywweDMzLDB4YzQsMHhjYywweGU5LDB4MzMsMHgzYywweDRjLDB4Y2YsMHgxMiwweGI1LDB4YzQsMHhjYywweGYxLDB4MzMsMHgzYyB9fSwKLSB7MTYsIDB4YzhjMCwgMCwgezB4NGMsMHhjZiwweDEzLDB4MzMsMHhjNCwweGNkLDB4MzEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM4ZDAsIDAsIHsweDAwLDB4MDAsMHgzYiwweDdlLDB4NGUsMHhjNywweDkzLDB4YjcsMHhlNCwweGVkLDB4ZjksMHgyMywweDdlLDB4NGUsMHg0NywweDkzIH19LAotIHsxNiwgMHhjOGUwLCAwLCB7MHhiNywweGU0LDB4ZWQsMHhmOSwweDNmLDB4N2UsMHg0ZSwweGRlLDB4MTIsMHgzNywweGU0LDB4OGQsMHhmOSwweDNiLDB4N2UsMHg0ZSB9fSwKLSB7MTYsIDB4YzhmMCwgMCwgezB4ZGYsMHg5MywweGY3LDB4ODQsMHg4ZCwweGY5LDB4M2IsMHg3ZSwweDRlLDB4ZGYsMHg5MywweGIxLDB4ZTQsMHhlZCwweGI5LDB4MDAgfX0sCi0gezE2LCAweGM5MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgwMiwweDcwLDB4NDAsMHg5YywweDExIH19LAotIHsxNiwgMHhjOTEwLCAwLCB7MHg2NywweDA0LDB4MTksMHhjMywweDAyLDB4NzAsMHg0MCwweDljLDB4MTAsMHgyNywweDA0LDB4MDksMHhjMSwweDAyLDB4NzAsMHg0MCB9fSwKLSB7MTYsIDB4YzkyMCwgMCwgezB4MWMsMHgxMCwweDI3LDB4MTQsMHgwMSwweGMxLDB4MDIsMHg3MCwweDQwLDB4OWMsMHg1MCwweDA3LDB4MDQsMHgwOSwweGMxLDB4MDIgfX0sCi0gezE2LCAweGM5MzAsIDAsIHsweDcwLDB4NDAsMHg5YywweDEwLDB4NjcsMHgxNCwweDExLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjOTQwLCAwLCB7MHgwMCwweDAwLDB4MDQsMHgwNSwweDcxLDB4MDEsMHg1YywweDQwLDB4NTcsMHgxMCwweDE1LDB4YzQsMHgwNSwweDcxLDB4MDEsMHg1YyB9fSwKLSB7MTYsIDB4Yzk1MCwgMCwgezB4NDAsMHg1NywweDEwLDB4MTUsMHhjNiwweDA1LDB4NzEsMHgwMSwweDVjLDB4NDAsMHg1NywweDEwLDB4MTAsMHhjNCwweDA1LDB4NzEgfX0sCi0gezE2LCAweGM5NjAsIDAsIHsweDAxLDB4NWMsMHg2NCwweDAzLDB4MTAsMHg1NSwweGM0LDB4MDUsMHg3MSwweDAxLDB4NWMsMHg0MCwweDU3LDB4MTAsMHgxNSwweGMwIH19LAotIHsxNiwgMHhjOTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAyLDB4MDEsMHgyMCwweDgwLDB4NDgsMHgyMCB9fSwKLSB7MTYsIDB4Yzk4MCwgMCwgezB4MTIsMHgwOCwweDA0LDB4ODIsMHgwMSwweDIxLDB4ODAsMHg0OCwweDIwLDB4MTIsMHgwOCwweDA0LDB4ODAsMHgwMSwweDIwLDB4ODAgfX0sCi0gezE2LCAweGM5OTAsIDAsIHsweDQ4LDB4MjAsMHgxMiwweDA4LDB4MDUsMHhjMiwweDAxLDB4MjAsMHg4MCwweDQ4LDB4MjQsMHgxNywweDA4LDB4MDQsMHg4MiwweDAxIH19LAotIHsxNiwgMHhjOWEwLCAwLCB7MHgyMCwweDgwLDB4NDgsMHgyMCwweDEyLDB4MDgsMHgwNCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzliMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHg2MCwweDAwLDB4MTgsMHgwMCwweDQ2LDB4MDAsMHgxMSwweDg0LDB4MDAsMHg2MCwweDAwLDB4MTggfX0sCi0gezE2LCAweGM5YzAsIDAsIHsweDAwLDB4MDYsMHgwMCwweDAxLDB4ODAsMHgwMCwweDYwLDB4MDEsMHgxOCwweDAwLDB4MDYsMHgxMCwweDkxLDB4ODAsMHgwMCwweDYwIH19LAotIHsxNiwgMHhjOWQwLCAwLCB7MHgwMCwweDE4LDB4NDYsMHg0NiwweDE4LDB4MDEsMHg4MCwweDAwLDB4NjAsMHgwMCwweDE4LDB4MDAsMHgwNiwweDEwLDB4MDEsMHg4MCB9fSwKLSB7MTYsIDB4YzllMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4NzMsMHgwMSwweDFjLDB4ODAgfX0sCi0gezE2LCAweGM5ZjAsIDAsIHsweDA3LDB4MjAsMHgwMSwweGM4LDB4MDQsMHg3MiwweDAxLDB4MWMsMHg4MCwweDQ3LDB4MjAsMHgxMSwweGM4LDB4MDQsMHg3MiwweDAxIH19LAotIHsxNiwgMHhjYTAwLCAwLCB7MHgxYywweDgwLDB4NDcsMHgyMiwweDExLDB4YzgsMHgwNCwweDcyLDB4MDEsMHgxYywweDgwLDB4MDcsMHgyMCwweDExLDB4YzgsMHgwNCB9fSwKLSB7MTYsIDB4Y2ExMCwgMCwgezB4NzIsMHgwMSwweDFjLDB4ODAsMHgwNywweDI4LDB4MTEsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNhMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4NjAsMHgwMCwweDE4LDB4MDAsMHgwNiwweDAwLDB4MDEsMHg4MCwweDAwLDB4NjAsMHgwMCwweDE4IH19LAotIHsxNiwgMHhjYTMwLCAwLCB7MHgwMCwweDA2LDB4MDAsMHgwMSwweDgwLDB4MDAsMHg2MCwweDAwLDB4MTgsMHgwMCwweDA2LDB4MDAsMHgwMSwweDgwLDB4MDAsMHg2MCB9fSwKLSB7MTYsIDB4Y2E0MCwgMCwgezB4MDAsMHgxOCwweDAwLDB4NDYsMHgwNCwweDAxLDB4ODAsMHgwMCwweDYwLDB4MDAsMHgxOCwweDAwLDB4MDYsMHgwMCwweDAxLDB4ODAgfX0sCi0gezE2LCAweGNhNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHgwNCwweDIyLDB4MDEsMHgwOCwweDgwIH19LAotIHsxNiwgMHhjYTYwLCAwLCB7MHgwMiwweDIwLDB4MDAsMHg5MCwweDA0LDB4MjcsMHg4MSwweDA4LDB4ODAsMHg0MiwweDIwLDB4MTAsMHg5OCwweDA0LDB4MjQsMHgwMSB9fSwKLSB7MTYsIDB4Y2E3MCwgMCwgezB4MDgsMHg4MCwweDQyLDB4NDgsMHgxMCwweDg4LDB4MDQsMHgyMiwweDAxLDB4MDksMHg0MCwweDQyLDB4NjAsMHgxMCwweDg4LDB4MDQgfX0sCi0gezE2LCAweGNhODAsIDAsIHsweDIyLDB4MDEsMHgwOCwweGMwLDB4MDIsMHg0MCwweDEwLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjYTkwLCAwLCB7MHgwMCwweDAwLDB4MmEsMHgwNCwweDRiLDB4ODEsMHgxMiwweGEwLDB4MDQsMHhhOCwweDAxLDB4MmEsMHgwNCwweDRhLDB4ODEsMHgxMiB9fSwKLSB7MTYsIDB4Y2FhMCwgMCwgezB4YTAsMHg0NCwweGE4LDB4MTEsMHgyYSwweDA0LDB4NDgsMHg4MCwweDEyLDB4YTAsMHg0NCwweDg4LDB4MDEsMHgyYSwweDA0LDB4NGEgfX0sCi0gezE2LCAweGNhYjAsIDAsIHsweDgxLDB4MTIsMHgyMCwweDA0LDB4YWMsMHgxMSwweDJhLDB4MDQsMHg0YSwweDgxLDB4MTIsMHhiMCwweDQ0LDB4OWMsMHgxMSwweDAwIH19LAotIHsxNiwgMHhjYWMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHhjMCwweDBjLDB4MDAsMHg1MywweDAwLDB4MTQsMHhjMCB9fSwKLSB7MTYsIDB4Y2FkMCwgMCwgezB4MDUsMHgzMCwweDAxLDB4NDQsMHgwMCwweDUzLDB4MDAsMHgxNCwweGMwLDB4MDUsMHgzMCwweDA0LDB4MGMsMHgwMCwweDUzLDB4MDAgfX0sCi0gezE2LCAweGNhZTAsIDAsIHsweDE0LDB4YzAsMHgwNSwweGIwLDB4MDEsMHg0YywweDAwLDB4NTMsMHgwMCwweDE2LDB4YzAsMHgwMSwweDMwLDB4MDEsMHg0YywweDAwIH19LAotIHsxNiwgMHhjYWYwLCAwLCB7MHg1MywweDAwLDB4MTQsMHhjMCwweDAxLDB4MzgsMHgwMCwweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2IwMCwgMCwgezB4MDgsMHhjMCwweDAwLDB4MTAsMHg0MCwweDAwLDB4MTAsMHgwMCwweDA0LDB4MDAsMHgwMSwweDEwLDB4MDAsMHg0NCwweDgwLDB4MTAgfX0sCi0gezE2LCAweGNiMTAsIDAsIHsweDAwLDB4MDQsMHgwMCwweDAxLDB4MTAsMHgwMCwweDQ2LDB4MDAsMHgwMCwweDAwLDB4MDQsMHg2MCwweDAxLDB4MDAsMHgwMCwweDQwIH19LAotIHsxNiwgMHhjYjIwLCAwLCB7MHgwMCwweDExLDB4NjAsMHgwMiwweDQwLDB4MDEsMHgwMCwweDEwLDB4NDAsMHgwMCwweDEwLDB4NjAsMHgwMSwweDUwLDB4MTAsMHg0MCB9fSwKLSB7MTYsIDB4Y2IzMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4YzAsMHg0MCwweDAyLDB4MDAsMHgwMCwweDgwLDB4MDAgfX0sCi0gezE2LCAweGNiNDAsIDAsIHsweDIwLDB4MDAsMHgwOCwweDA4LDB4MDIsMHgwMCwweDAwLDB4ODAsMHgwMCwweDIwLDB4MDAsMHgwOCwweDAwLDB4MDIsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjYjUwLCAwLCB7MHg4MCwweDAwLDB4MjAsMHgwMCwweDA4LDB4MDAsMHgwMiwweDAwLDB4MDAsMHg4MCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAsMHgwMiB9fSwKLSB7MTYsIDB4Y2I2MCwgMCwgezB4MDAsMHgwMCwweDgwLDB4MDAsMHgyMSwweDAwLDB4MDgsMHg0MCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNiNzAsIDAsIHsweDA4LDB4YzAsMHg0MCwweDA0LDB4NjAsMHgwMSwweDE4LDB4MDAsMHg0NiwweDAwLDB4MTEsMHg4MCwweDA0LDB4NjAsMHgwMSwweDE4IH19LAotIHsxNiwgMHhjYjgwLCAwLCB7MHgwMCwweDQ2LDB4MDAsMHgxMSwweDgwLDB4MDQsMHg2MCwweDAxLDB4YzgsMHgwMCwweDQ2LDB4MDAsMHgxOSwweDgwLDB4MDAsMHg2MCB9fSwKLSB7MTYsIDB4Y2I5MCwgMCwgezB4MDAsMHgxOCwweDAwLDB4NjYsMHgwMCwweDExLDB4ODAsMHgwNCwweDYwLDB4MDEsMHgxOCwweDAwLDB4MDYsMHgwMCwweDExLDB4ODAgfX0sCi0gezE2LCAweGNiYTAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMCwweDAxLDB4MDAsMHgwMiwweDYwLDB4MDAsMHg5OCwweDAwIH19LAotIHsxNiwgMHhjYmIwLCAwLCB7MHgyNiwweDAwLDB4MDksMHg4MSwweDAyLDB4NjAsMHgwMSwweDk4LDB4MDAsMHgyNiwweDAwLDB4MDksMHg4MCwweDA2LDB4NjIsMHgwMCB9fSwKLSB7MTYsIDB4Y2JjMCwgMCwgezB4NDgsMHgwMCwweDI2LDB4MjAsMHgwMSwweGMwLDB4MDIsMHg2MCwweDAxLDB4OTgsMHgwMCwweDA3LDB4MDAsMHgwOSwweDgwLDB4MDIgfX0sCi0gezE2LCAweGNiZDAsIDAsIHsweDYwLDB4MDAsMHg5OCwweDAwLDB4MjYsMHgwMCwweDExLDB4ODIsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjYmUwLCAwLCB7MHg0MCwweDQ1LDB4NDIsMHgwNCwweDMwLDB4ODEsMHgwYywweDIwLDB4NDMsMHgwOCwweDEwLDB4YzIsMHgwNCwweDMwLDB4ODUsMHg4YyB9fSwKLSB7MTYsIDB4Y2JmMCwgMCwgezB4MjAsMHg0MywweDA4LDB4MTAsMHhjMiwweDA0LDB4MzAsMHg4MSwweDBjLDB4MjAsMHg0MywweDQ4LDB4MTEsMHg4MiwweDA0LDB4MzAgfX0sCi0gezE2LCAweGNjMDAsIDAsIHsweDgxLDB4OGQsMHgyMCwweDQ2LDB4MDgsMHgxMCwweGMyLDB4MDQsMHgzMCwweDgxLDB4MGMsMHgyMCwweDQzLDB4MGMsMHgxMCwweGMwIH19LAotIHsxNiwgMHhjYzEwLCAwLCB7MHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwNCwweDAwLDB4MDAsMHgzMCwweDAwLDB4MGMsMHgwMCB9fSwKLSB7MTYsIDB4Y2MyMCwgMCwgezB4MDMsMHgwMCwweDAwLDB4YzAsMHgwMCwweDEwLDB4MDAsMHgwYywweDAwLDB4MDMsMHgwMCwweDAwLDB4YzAsMHgwMCwweDMwLDB4MDAgfX0sCi0gezE2LCAweGNjMzAsIDAsIHsweDA4LDB4MDAsMHgwMywweDAwLDB4MDAsMHg4MCwweDAwLDB4MzAsMHgwMCwweDBjLDB4ODAsMHgwMiwweDAwLDB4MDAsMHhjMCwweDAwIH19LAotIHsxNiwgMHhjYzQwLCAwLCB7MHgzMCwweDAwLDB4MGMsMHgwMCwweDAzLDB4MjAsMHgwMCwweGMwLDB4MTAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2M1MCwgMCwgezB4NDAsMHgwMCwweDAyLDB4MDAsMHgzMCwweDgwLDB4MGMsMHgyMSwweDAzLDB4MDgsMHgwMCwweGMyLDB4MDAsMHgzMCwweDgwLDB4MGMgfX0sCi0gezE2LCAweGNjNjAsIDAsIHsweDIwLDB4MDMsMHgwOCwweDAwLDB4YzIsMHgwNCwweDMwLDB4YzEsMHgwYywweDIwLDB4MDMsMHgwYywweDEwLDB4YzIsMHgwMCwweDMwIH19LAotIHsxNiwgMHhjYzcwLCAwLCB7MHg4MCwweDBjLDB4YjAsMHg0MywweDA4LDB4MDAsMHhjMiwweDAwLDB4MzAsMHg4MCwweDBjLDB4MjAsMHgwMywweDI4LDB4MTAsMHhjMCB9fSwKLSB7MTYsIDB4Y2M4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4NDUsMHg0MiwweDA0LDB4NjAsMHg4MSwweDE4LDB4MjAgfX0sCi0gezE2LCAweGNjOTAsIDAsIHsweDQ2LDB4MDgsMHgxMSwweDgyLDB4MDQsMHg2MCwweDgwLDB4MTgsMHgyMCwweDQ2LDB4MDgsMHgxMSwweDgyLDB4MDAsMHg2MCwweDgxIH19LAotIHsxNiwgMHhjY2EwLCAwLCB7MHgxOCwweDIwLDB4NDYsMHgwOCwweDExLDB4ODIsMHgwNCwweDYwLDB4ODAsMHgxOCwweDIwLDB4MDYsMHgwOCwweDExLDB4ODIsMHgwNCB9fSwKLSB7MTYsIDB4Y2NiMCwgMCwgezB4NjAsMHg4MSwweDE4LDB4MjAsMHg0NiwweDBjLDB4MTEsMHhjMCwweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNjYzAsIDAsIHsweDQwLDB4MDEsMHg0MiwweDAwLDB4MjAsMHg4MCwweDA4LDB4MjAsMHgwMiwweDA4LDB4MDAsMHg4MiwweDAwLDB4MjAsMHg4MCwweDA4IH19LAotIHsxNiwgMHhjY2QwLCAwLCB7MHgyMCwweDAyLDB4MDgsMHgwMCwweDgyLDB4MDAsMHgyMCwweDgwLDB4MGMsMHgyMCwweDAyLDB4MDgsMHgwMCwweGMyLDB4MDAsMHgyMCB9fSwKLSB7MTYsIDB4Y2NlMCwgMCwgezB4ODAsMHgwOCwweDIwLDB4NDIsMHgwOCwweDAwLDB4ODIsMHgwMCwweDIwLDB4ODAsMHgwOCwweDIwLDB4MDIsMHgwOCwweDAxLDB4ODAgfX0sCi0gezE2LCAweGNjZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg1MCwweDAxLDB4NDIsMHgwNCwweDYwLDB4ODEsMHgxOCwweDIwIH19LAotIHsxNiwgMHhjZDAwLCAwLCB7MHg0NiwweDA4LDB4MTEsMHg4MiwweDA0LDB4NjAsMHg4MCwweDE4LDB4MjAsMHg0NiwweDA4LDB4MTEsMHg4MiwweDAwLDB4NjAsMHhjMSB9fSwKLSB7MTYsIDB4Y2QxMCwgMCwgezB4MGMsMHgyMCwweDQ2LDB4MGMsMHgxMCwweGMyLDB4MDQsMHg2MCwweDgwLDB4MTgsMHgzMCwweDQyLDB4MDgsMHgxMSwweDgyLDB4MDQgfX0sCi0gezE2LCAweGNkMjAsIDAsIHsweDYwLDB4ODEsMHgxOCwweDIwLDB4NDYsMHgwOCwweDEwLDB4ODAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjZDMwLCAwLCB7MHg0MCwweDQ1LDB4NDAsMHgwNCwweDUwLDB4MDEsMHgxNCwweDAwLDB4NDUsMHgwMCwweDExLDB4NDAsMHgwNCwweDUwLDB4MDAsMHgxNCB9fSwKLSB7MTYsIDB4Y2Q0MCwgMCwgezB4MDAsMHg0NSwweDAwLDB4MTEsMHg0MCwweDAwLDB4NTAsMHgwMCwweDA0LDB4MDAsMHg0NSwweDAwLDB4MDAsMHg0MCwweDA0LDB4NTAgfX0sCi0gezE2LCAweGNkNTAsIDAsIHsweDAwLDB4MTQsMHgwMCwweDAxLDB4MDAsMHgxMSwweDQwLDB4MDQsMHg1MCwweDAxLDB4MTQsMHgwMCwweDQ1LDB4MDAsMHgwMCwweDQyIH19LAotIHsxNiwgMHhjZDYwLCAwLCB7MHgwMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweDA2LDB4MDAsMHg0MSwweDgwLDB4MTAsMHg2MCB9fSwKLSB7MTYsIDB4Y2Q3MCwgMCwgezB4MDQsMHgxOCwweDAxLDB4MDYsMHgwMCwweDQxLDB4ODAsMHgxMCwweDYwLDB4MDQsMHgxOCwweDAxLDB4MDYsMHgwMCwweDQxLDB4ODAgfX0sCi0gezE2LCAweGNkODAsIDAsIHsweDEwLDB4NjAsMHgwNCwweDE4LDB4MDEsMHgwNiwweDAwLDB4NDEsMHg4MCwweDEwLDB4NjAsMHgwNCwweDE4LDB4MDEsMHgwNiwweDAwIH19LAotIHsxNiwgMHhjZDkwLCAwLCB7MHg0MSwweDgwLDB4MTAsMHg2MCwweDA0LDB4MTgsMHgwMSwweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2RhMCwgMCwgezB4NDgsMHgwMCwweDAyLDB4MDEsMHgwMCwweDgwLDB4NDAsMHgyMSwweDEwLDB4MDgsMHgwNCwweDAyLDB4MDEsMHgwMCwweDgwLDB4NDAgfX0sCi0gezE2LCAweGNkYjAsIDAsIHsweDIwLDB4MTAsMHgwOCwweDA0LDB4MDIsMHgwMSwweDAwLDB4ODAsMHg0MCwweDIxLDB4MTAsMHgwOCwweDA0LDB4MDIsMHgwMSwweDAwIH19LAotIHsxNiwgMHhjZGMwLCAwLCB7MHg4MCwweDQwLDB4MzAsMHgxMCwweDA4LDB4MDQsMHgwMiwweDExLDB4MDAsMHg4NCwweDQwLDB4MjAsMHgxMCwweDA4LDB4MTQsMHgwMCB9fSwKLSB7MTYsIDB4Y2RkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4NDUsMHg0NiwweDAzLDB4NTEsMHg4MCwweGQ0LDB4NjAgfX0sCi0gezE2LCAweGNkZTAsIDAsIHsweDM1LDB4MTgsMHgwZCwweDQ2LDB4MDMsMHg1MSwweDgwLDB4ZDQsMHg2MCwweDM1LDB4MTgsMHgwZCwweDQ2LDB4MDMsMHg1MSwweDgwIH19LAotIHsxNiwgMHhjZGYwLCAwLCB7MHhkNCwweDYwLDB4MzUsMHgxMCwweDBkLDB4NDYsMHgwMywweDUxLDB4ODAsMHhkNCwweDQwLDB4MzUsMHgxOCwweDBkLDB4NDYsMHgwMyB9fSwKLSB7MTYsIDB4Y2UwMCwgMCwgezB4NTEsMHg4MCwweGQ0LDB4NjAsMHgzNSwweDE4LDB4MGQsMHg0MCwweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNlMTAsIDAsIHsweDAwLDB4MDEsMHg0NiwweDA0LDB4NzEsMHg4MSwweDFjLDB4NjAsMHgwNywweDE4LDB4MTEsMHhjZSwweDA0LDB4NzEsMHg4MSwweDFjIH19LAotIHsxNiwgMHhjZTIwLCAwLCB7MHg2MCwweDQ3LDB4MTgsMHgwMSwweGM2LDB4MDQsMHg3MSwweDgxLDB4OWMsMHg2MCwweDQ3LDB4MTgsMHgxOSwweGM2LDB4MDQsMHg3MSB9fSwKLSB7MTYsIDB4Y2UzMCwgMCwgezB4ODAsMHgxYywweDYwLDB4NjcsMHgxOCwweDExLDB4YzYsMHgwNCwweDcxLDB4ODEsMHgxYywweDYwLDB4NDcsMHgxOCwweDExLDB4YzAgfX0sCi0gezE2LCAweGNlNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAwLDB4NDYsMHgwMiwweDcxLDB4ODAsMHg5YywweDYwIH19LAotIHsxNiwgMHhjZTUwLCAwLCB7MHgyNywweDE4LDB4MDksMHhjNiwweDA2LDB4NzEsMHg4MCwweDFjLDB4NjAsMHgyNywweDE4LDB4MDksMHhjNiwweDAxLDB4MzEsMHg4MCB9fSwKLSB7MTYsIDB4Y2U2MCwgMCwgezB4MWMsMHg2MCwweDA3LDB4MTgsMHgwOSwweGM2LDB4MDIsMHg3MSwweDgwLDB4OWMsMHg2MCwweDA3LDB4MTgsMHgwOSwweGM2LDB4MTIgfX0sCi0gezE2LCAweGNlNzAsIDAsIHsweDcxLDB4ODAsMHg5YywweDYwLDB4MzMsMHgxOCwweDAxLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjZTgwLCAwLCB7MHg1MCwweDQ1LDB4NDYsMHgwNSwweDcxLDB4ODEsMHg1YywweDYwLDB4NTcsMHgxOCwweDE1LDB4YzYsMHgwNSwweDcxLDB4ODAsMHg1YyB9fSwKLSB7MTYsIDB4Y2U5MCwgMCwgezB4NjAsMHg1NywweDE4LDB4MTUsMHhjNiwweDAxLDB4MzEsMHg4MSwweDBjLDB4NjAsMHgxNywweDE4LDB4MTAsMHhjNiwweDA1LDB4NzEgfX0sCi0gezE2LCAweGNlYTAsIDAsIHsweDgxLDB4NWMsMHg2MCwweDAzLDB4MTgsMHgxNSwweGM2LDB4MDUsMHg3MSwweDgxLDB4NWMsMHg2MCwweDUzLDB4MTgsMHgxOCwweDgyIH19LAotIHsxNiwgMHhjZWIwLCAwLCB7MHgxMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHg0MCwweDEyLDB4MDEsMHgyNCwweDgwLDB4NDgsMHgyMCB9fSwKLSB7MTYsIDB4Y2VjMCwgMCwgezB4MTIsMHgwOCwweDA0LDB4ODIsMHgwMSwweDI0LDB4ODAsMHg0OCwweDIwLDB4MTIsMHgwOCwweDA0LDB4ODIsMHgwMSwweDIwLDB4ODAgfX0sCi0gezE2LCAweGNlZDAsIDAsIHsweDU4LDB4MjAsMHg1MiwweDBjLDB4MDUsMHg4MiwweDAxLDB4MjAsMHg4MCwweDQ5LDB4MjAsMHgwMiwweDA4LDB4MDQsMHg4MiwweDAxIH19LAotIHsxNiwgMHhjZWUwLCAwLCB7MHgyMCwweDgwLDB4NDksMHgyMCwweDEyLDB4NDgsMHgwNCwweDgwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2VmMCwgMCwgezB4NDAsMHgwNCwweDA2LDB4MDAsMHg2MSwweDgwLDB4MTgsMHg2MCwweDA2LDB4MTgsMHgwMSwweDg2LDB4MDQsMHg2MSwweDgwLDB4MTggfX0sCi0gezE2LCAweGNmMDAsIDAsIHsweDYwLDB4MDYsMHgxOCwweDAxLDB4ODYsMHgwMCwweDYxLDB4ODEsMHg0OCwweDYwLDB4MDYsMHgxOCwweDE0LDB4ODYsMHgwMCwweDYxIH19LAotIHsxNiwgMHhjZjEwLCAwLCB7MHg4MCwweDE4LDB4NjAsMHg0MiwweDE4LDB4MDEsMHg4NiwweDAwLDB4NjEsMHg4MCwweDE4LDB4NjAsMHgwNiwweDE4LDB4MDAsMHg4MCB9fSwKLSB7MTYsIDB4Y2YyMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDUsMHg2MCwweDA0LDB4NzgsMHgwMSwweDFlLDB4MDAgfX0sCi0gezE2LCAweGNmMzAsIDAsIHsweDQ3LDB4ODAsMHgxMSwweGU4LDB4MDAsMHg3OCwweDAxLDB4MWUsMHgwMCwweDQ3LDB4ODAsMHgxMSwweGUwLDB4MDQsMHg3OCwweDAxIH19LAotIHsxNiwgMHhjZjQwLCAwLCB7MHgxZSwweDAwLDB4NDMsMHg4MCwweDExLDB4ZTAsMHgwNCwweDc4LDB4MDEsMHgxZSwweDAwLDB4MDMsMHg4MCwweDE1LDB4ZTAsMHgwNCB9fSwKLSB7MTYsIDB4Y2Y1MCwgMCwgezB4NzgsMHgwMSwweDFlLDB4MDAsMHg0NywweDgwLDB4MTEsMHhjMCwweDEwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNmNjAsIDAsIHsweDQwLDB4MDEsMHgxMiwweDAwLDB4NjQsMHg4MCwweDE4LDB4MjAsMHgwNiwweDA4LDB4MDEsMHg4MiwweDAwLDB4NjQsMHg4MCwweDE4IH19LAotIHsxNiwgMHhjZjcwLCAwLCB7MHgyMCwweDA2LDB4MDgsMHgwMSwweDgyLDB4MDAsMHg2MCwweDgwLDB4MTgsMHgzMCwweDAyLDB4MDgsMHgwMSwweDgyLDB4MDAsMHg2MCB9fSwKLSB7MTYsIDB4Y2Y4MCwgMCwgezB4ODAsMHgxOSwweDMwLDB4NDIsMHgwOCwweDAwLDB4ODIsMHgwMCwweDYwLDB4ODAsMHgxOSwweDIwLDB4MDYsMHg0OCwweDAxLDB4ODAgfX0sCi0gezE2LCAweGNmOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAxLDB4NDIsMHgwNCwweDIwLDB4ODEsMHgwOCwweDIwIH19LAotIHsxNiwgMHhjZmEwLCAwLCB7MHg0MiwweDA4LDB4MTAsMHg4MiwweDAwLDB4MjAsMHg4MSwweDA4LDB4MjAsMHg0MiwweDA4LDB4MTAsMHg4MiwweDA0LDB4MjAsMHg4MSB9fSwKLSB7MTYsIDB4Y2ZiMCwgMCwgezB4MDgsMHgyMCwweDQ2LDB4MDgsMHgxMCwweDgyLDB4MDQsMHgyMCwweDgxLDB4MDgsMHgyMCwweDQyLDB4MDgsMHgxMSwweDgyLDB4MDQgfX0sCi0gezE2LCAweGNmYzAsIDAsIHsweDIwLDB4ODEsMHgwOCwweDIwLDB4NDIsMHgwOCwweDEwLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjZmQwLCAwLCB7MHg0MCwweDQ1LDB4NDIsMHgwNCwweDQwLDB4ODEsMHgxMCwweDIwLDB4NDQsMHgwOCwweDExLDB4MDIsMHgwMCwweDQwLDB4ODEsMHgxMCB9fSwKLSB7MTYsIDB4Y2ZlMCwgMCwgezB4MjAsMHg0NCwweDA4LDB4MTEsMHgwMiwweDA0LDB4NDAsMHg4MCwweDEwLDB4MjAsMHg0NSwweDA4LDB4MDEsMHgwMiwweDA0LDB4NDAgfX0sCi0gezE2LCAweGNmZjAsIDAsIHsweDgxLDB4MTAsMHgyMSwweDAwLDB4MGMsMHgxMSwweDAyLDB4MDQsMHg0MCwweDgxLDB4MTAsMHgyMCwweDQ0LDB4MDgsMHgwMSwweDAwIH19LAotIHsxNiwgMHhkMDAwLCAwLCB7MHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMCwweDAzLDB4MDAsMHg1MCwweGMwLDB4MTQsMHgzMCB9fSwKLSB7MTYsIDB4ZDAxMCwgMCwgezB4MDUsMHgwYywweDAxLDB4NDMsMHgwMCwweDUwLDB4YzAsMHgxNCwweDMwLDB4MDUsMHgwYywweDAxLDB4NDMsMHgwMCwweDUwLDB4YzAgfX0sCi0gezE2LCAweGQwMjAsIDAsIHsweDE0LDB4MzAsMHgwNSwweDBjLDB4MDEsMHg0MywweDAwLDB4NTAsMHhjMCwweDE0LDB4MzAsMHgwNSwweDBjLDB4MDEsMHg0MywweDAwIH19LAotIHsxNiwgMHhkMDMwLCAwLCB7MHg1MCwweGMwLDB4MTQsMHgzMCwweDA1LDB4MGMsMHgwMSwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDA0MCwgMCwgezB4NDAsMHgwMCwweDA4LDB4MDAsMHg0MiwweDA0LDB4MTAsMHg4MCwweDA0LDB4MjAsMHgwMSwweDA5LDB4MDAsMHg0MiwweDAxLDB4MTAgfX0sCi0gezE2LCAweGQwNTAsIDAsIHsweDgwLDB4MDQsMHgyMCwweDAxLDB4MDgsMHgwMCwweDQyLDB4MDAsMHgxMCwweDAwLDB4MDQsMHgyMCwweDAxLDB4MDgsMHgwMCwweDQyIH19LAotIHsxNiwgMHhkMDYwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwNCwweDAwLDB4MDEsMHgwOCwweDAwLDB4NDIsMHgwMCwweDEwLDB4ODAsMHgwNCwweDIwLDB4MTEsMHgwMCB9fSwKLSB7MTYsIDB4ZDA3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4NDUsMHg0MiwweDAyLDB4MDAsMHg4MCwweDgwLDB4MjAgfX0sCi0gezE2LCAweGQwODAsIDAsIHsweDIwLDB4MDgsMHgwOCwweDAyLDB4MDIsMHgwMCwweDgwLDB4MDAsMHgyMCwweDIwLDB4MDgsMHgwOCwweDAyLDB4MDAsMHgwMCwweDgwIH19LAotIHsxNiwgMHhkMDkwLCAwLCB7MHg4MCwweGEwLDB4MDAsMHgwYSwweDA4LDB4MDIsMHgwMiwweDAwLDB4ODAsMHg4MCwweDM0LDB4NjIsMHgyOCwweDA4LDB4MDIsMHgwMiB9fSwKLSB7MTYsIDB4ZDBhMCwgMCwgezB4MDAsMHg4MCwweDgwLDB4MzAsMHgyMCwweDBjLDB4MDgsMHgwMCwweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQwYjAsIDAsIHsweDQwLDB4MDEsMHg0MCwweDA0LDB4NjAsMHgwMSwweDE4LDB4MDAsMHg0NiwweDAwLDB4MTEsMHg4MCwweDA0LDB4NjAsMHgwMywweDE4IH19LAotIHsxNiwgMHhkMGMwLCAwLCB7MHgwMCwweDQ2LDB4MDAsMHgxMSwweDgwLDB4MDYsMHg2MCwweDAxLDB4OTgsMHgwMCwweDQ2LDB4MDAsMHgxMSwweDgwLDB4MDQsMHg2MCB9fSwKLSB7MTYsIDB4ZDBkMCwgMCwgezB4MDEsMHgxOCwweDAwLDB4NjYsMHgwMCwweDExLDB4ODAsMHgwNCwweDYwLDB4MDEsMHgxOCwweDAwLDB4NDYsMHgwMCwweDExLDB4ODAgfX0sCi0gezE2LCAweGQwZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAxLDB4MDAsMHgwMiwweDYwLDB4MDAsMHg5OCwweDAwIH19LAotIHsxNiwgMHhkMGYwLCAwLCB7MHgyNiwweDAwLDB4MDksMHg4MCwweDAyLDB4NjQsMHgwMCwweDk4LDB4MDAsMHgyNiwweDAwLDB4MTksMHg5MCwweDAyLDB4NjAsMHgwMCB9fSwKLSB7MTYsIDB4ZDEwMCwgMCwgezB4MWQsMHgwMCwweDI2LDB4MDAsMHgwMSwweGMwLDB4MDIsMHg2MCwweDAwLDB4OTksMHgwMCwweDA2LDB4NDAsMHgxOSwweDgwLDB4MDIgfX0sCi0gezE2LCAweGQxMTAsIDAsIHsweDYwLDB4MDAsMHg5OCwweDAwLDB4NjYsMHgwMCwweDAxLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkMTIwLCAwLCB7MHg0MCwweDQ1LDB4NjAsMHgwNCwweDM4LDB4MDEsMHgwZSwweDAwLDB4NDMsMHg4MCwweDEwLDB4ZTAsMHgwNCwweDM4LDB4MDEsMHgwZSB9fSwKLSB7MTYsIDB4ZDEzMCwgMCwgezB4MDAsMHg0MywweDgwLDB4MTAsMHhlMCwweDA0LDB4MzgsMHgwMSwweDFhLDB4MDAsMHg0MywweDgwLDB4MTEsMHhhMCwweDA0LDB4MzggfX0sCi0gezE2LCAweGQxNDAsIDAsIHsweDAxLDB4MGUsMHgwMCwweDAyLDB4ODAsMHg0MCwweGUwLDB4MDQsMHgzOCwweDAxLDB4MGUsMHgwMCwweDQzLDB4ODAsMHgxOCwweDgwIH19LAotIHsxNiwgMHhkMTUwLCAwLCB7MHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NTAsMHgwNCwweDAxLDB4MDAsMHgzMCwweDQwLDB4MGMsMHgxMCB9fSwKLSB7MTYsIDB4ZDE2MCwgMCwgezB4MDMsMHgwNCwweDAwLDB4YzksMHgwMCwweDMwLDB4NDAsMHgwYywweDEwLDB4MDMsMHgwNCwweDAwLDB4YzEsMHgwMCwweDMwLDB4NDAgfX0sCi0gezE2LCAweGQxNzAsIDAsIHsweDA4LDB4MTAsMHgwMywweDA0LDB4MDAsMHg4MSwweDAwLDB4MzAsMHg0MCwweDBjLDB4NzgsMHgwMiwweDE0LDB4MDAsMHhjMSwweDAwIH19LAotIHsxNiwgMHhkMTgwLCAwLCB7MHgzMCwweDQwLDB4MGMsMHgxMCwweDAzLDB4MDQsMHgwMCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDE5MCwgMCwgezB4NDAsMHgwMCwweDA1LDB4MDAsMHgzMSwweDQwLDB4MGMsMHg1MCwweDAzLDB4MTQsMHgwMCwweGM1LDB4MDAsMHgzNSwweDQwLDB4MGMgfX0sCi0gezE2LCAweGQxYTAsIDAsIHsweDUwLDB4MDMsMHgxNCwweDEwLDB4ZDUsMHgwMCwweDMxLDB4NDEsMHgwZCwweDUwLDB4MDMsMHgxNCwweDEwLDB4YzUsMHgwMCwweDMxIH19LAotIHsxNiwgMHhkMWIwLCAwLCB7MHg0MCwweDBkLDB4NDgsMHg0MywweDU0LDB4MTAsMHhjNSwweDAwLDB4MzEsMHg0MCwweDBjLDB4NDAsMHg0MywweDEwLDB4MDAsMHhjMiB9fSwKLSB7MTYsIDB4ZDFjMCwgMCwgezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4NDUsMHg0MywweDA0LDB4NjAsMHhjMSwweDE4LDB4MzAgfX0sCi0gezE2LCAweGQxZDAsIDAsIHsweDQ2LDB4MGMsMHgxMSwweDgzLDB4MDQsMHg2MSwweGMxLDB4MTgsMHgzMCwweDQ2LDB4MGMsMHgwMSwweDg3LDB4MDQsMHg2MCwweGMxIH19LAotIHsxNiwgMHhkMWUwLCAwLCB7MHgxOCwweDMwLDB4NDYsMHgwOCwweDExLDB4ODMsMHgwNCwweDYwLDB4YzEsMHgxOCwweDIwLDB4MDYsMHgwYywweDAxLDB4ODMsMHgwNCB9fSwKLSB7MTYsIDB4ZDFmMCwgMCwgezB4NjAsMHhjMSwweDE4LDB4MzAsMHg0NiwweDBjLDB4MTEsMHg4MCwweDEwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQyMDAsIDAsIHsweDQwLDB4MDEsMHg0MCwweDAwLDB4MjAsMHgwMCwweDA4LDB4MDAsMHgwMiwweDAwLDB4MDAsMHg4MCwweDAwLDB4MjAsMHgwMCwweDA4IH19LAotIHsxNiwgMHhkMjEwLCAwLCB7MHgwMCwweDAyLDB4MDAsMHgwMCwweDgxLDB4MDAsMHgyMCwweDAwLDB4MDgsMHg4MCwweDAyLDB4MDAsMHgwMCwweGMwLDB4MDAsMHgyMCB9fSwKLSB7MTYsIDB4ZDIyMCwgMCwgezB4MDAsMHgwOCwweDQwLDB4NDMsMHgzMCwweDAwLDB4ODAsMHgwMCwweDIwLDB4MDAsMHgwOCwweDAwLDB4MDIsMHgwMCwweDAwLDB4ODAgfX0sCi0gezE2LCAweGQyMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAxLDB4NDgsMHg0NCwweDYyLDB4MTEsMHgxOCwweDg0IH19LAotIHsxNiwgMHhkMjQwLCAwLCB7MHg0NiwweDIxLDB4MTEsMHg4OCwweDQ0LDB4NjMsMHgwMSwweDE4LDB4ODQsMHg0NiwweDIxLDB4MDEsMHg4OCwweDA0LDB4NjIsMHgxMSB9fSwKLSB7MTYsIDB4ZDI1MCwgMCwgezB4MTgsMHgwNCwweDQ2LDB4MjEsMHgxMCwweGM4LDB4NDQsMHg2MiwweDExLDB4MTgsMHgwNSwweDQzLDB4MDEsMHg4MSwweDg4LDB4NDQgfX0sCi0gezE2LCAweGQyNjAsIDAsIHsweDYyLDB4MTEsMHgxOCwweDg0LDB4NDYsMHgyMSwweDExLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkMjcwLCAwLCB7MHg0MCwweDQ1LDB4NDAsMHgwNCwweDUwLDB4MDEsMHgxNCwweDA0LDB4NDUsMHgwMSwweDExLDB4NDAsMHg0NCwweDUwLDB4MDEsMHgxNCB9fSwKLSB7MTYsIDB4ZDI4MCwgMCwgezB4MDQsMHg0NSwweDAxLDB4MDEsMHg0MCwweDQ1LDB4MDAsMHgxMCwweDE0LDB4MDQsMHg0NSwweDAzLDB4MDAsMHg0MCwweDQ0LDB4NTAgfX0sCi0gezE2LCAweGQyOTAsIDAsIHsweDExLDB4MTQsMHgwNCwweDAxLDB4MDUsMHg0MSwweDQwLDB4NDQsMHg1MCwweDExLDB4MTQsMHgwNCwweDA1LDB4MDEsMHgwMSwweDQwIH19LAotIHsxNiwgMHhkMmEwLCAwLCB7MHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMCwweDA4LDB4MjAsMHg0MiwweDA4LDB4MTAsMHg4MiB9fSwKLSB7MTYsIDB4ZDJiMCwgMCwgezB4MDQsMHgyMCwweDgxLDB4MDgsMHgwMCwweDQyLDB4MDAsMHgxMCwweDgyLDB4MDQsMHgyMCwweDgxLDB4MDgsMHgwMCwweDQyLDB4MDggfX0sCi0gezE2LCAweGQyYzAsIDAsIHsweDEwLDB4ODIsMHgwNSwweDIwLDB4ODEsMHgwOCwweDIwLDB4NDIsMHgwOCwweDEwLDB4OGEsMHgwNSwweDIwLDB4MDUsMHgwOCwweDIwIH19LAotIHsxNiwgMHhkMmQwLCAwLCB7MHg0MiwweDA4LDB4MTAsMHg4MiwweDA0LDB4MjIsMHg4MSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDJlMCwgMCwgezB4MDAsMHgwMCwweDBhLDB4MDEsMHgwMiwweDgwLDB4NDAsMHhhMCwweDEwLDB4MjgsMHgwNCwweDAyLDB4MDEsMHgwMiwweDgwLDB4NDAgfX0sCi0gezE2LCAweGQyZjAsIDAsIHsweGEwLDB4MTAsMHgyOCwweDA0LDB4MGEsMHgwMSwweDAyLDB4ODAsMHg0MCwweGEwLDB4MDAsMHgyOSwweDA0LDB4MGEsMHgwMSwweDAyIH19LAotIHsxNiwgMHhkMzAwLCAwLCB7MHg4MCwweDQwLDB4YTQsMHgwMCwweDI4LDB4MDQsMHgwYSwweDAxLDB4MDIsMHg4MCwweDQwLDB4YTgsMHgxMCwweDJiLDB4MTQsMHgwMCB9fSwKLSB7MTYsIDB4ZDMxMCwgMCwgezB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4NDUsMHg0ZCwweDAzLDB4NTMsMHg0MCwweGQ0LDB4ZDAgfX0sCi0gezE2LCAweGQzMjAsIDAsIHsweDM1LDB4MzQsMHgwZCwweDRkLDB4MDMsMHg1MywweDQwLDB4ZDQsMHhkMCwweDM1LDB4MzQsMHgwZCwweDRkLDB4MDMsMHg1MywweDQwIH19LAotIHsxNiwgMHhkMzMwLCAwLCB7MHhkNCwweGQwLDB4MjEsMHgzNCwweDRkLDB4NGQsMHgwMywweDUzLDB4NDAsMHhkNCwweGQ5LDB4NjEsMHgzNCwweDA0LDB4MGQsMHgwMyB9fSwKLSB7MTYsIDB4ZDM0MCwgMCwgezB4NTMsMHg0MCwweGMwLDB4ZDgsMHgzNSwweDM3LDB4MGQsMHg0MCwweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQzNTAsIDAsIHsweDQwLDB4MDEsMHg0OCwweDA0LDB4NzIsMHgwMCwweDFjLDB4ODAsMHg0NywweDIwLDB4MTEsMHhjOCwweDA0LDB4NzIsMHgwMSwweDFjIH19LAotIHsxNiwgMHhkMzYwLCAwLCB7MHg4MCwweDQ3LDB4MjAsMHgxMSwweGM4LDB4MDQsMHg3MiwweDAwLDB4OWMsMHg4MCwweDQ3LDB4MjAsMHgxOSwweGM4LDB4MDAsMHg3MiB9fSwKLSB7MTYsIDB4ZDM3MCwgMCwgezB4MDEsMHgxYywweDg4LDB4NjcsMHgyMCwweDExLDB4YzgsMHgwNCwweDcyLDB4MDEsMHg1YywweDgyLDB4NDcsMHgyMiwweDExLDB4YzAgfX0sCi0gezE2LCAweGQzODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjMsMHgwOCwweDQ4LDB4YzIsMHgxMiwweDMxIH19LAotIHsxNiwgMHhkMzkwLCAwLCB7MHg4NCwweDhjLDB4NjEsMHgyMywweDEwLDB4NDAsMHhjMCwweDEyLDB4MzEsMHg4NCwweDhjLDB4NjEsMHgwMywweDEwLDB4NDgsMHhjNCB9fSwKLSB7MTYsIDB4ZDNhMCwgMCwgezB4MTAsMHgzMSwweDg0LDB4OGMsMHg0MSwweDIzLDB4MTgsMHg0OCwweGM2LDB4MTAsMHgzMCwweDA0LDB4MGMsMHg0MSwweDIzLDB4MTggfX0sCi0gezE2LCAweGQzYjAsIDAsIHsweDQ4LDB4YzYsMHgxMiwweDMwLDB4ODQsMHg4YywweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkM2MwLCAwLCB7MHgwMCwweDAwLDB4M2YsMHhmZiwweDRmLDB4ZmYsMHhkMywweGZmLDB4ZjQsMHhmZiwweGZkLDB4M2YsMHhmZiwweDRmLDB4ZmYsMHhkMyB9fSwKLSB7MTYsIDB4ZDNkMCwgMCwgezB4ZmYsMHhmNCwweGZmLDB4ZmQsMHgzZiwweGZmLDB4NGYsMHhmZiwweGQzLDB4ZmYsMHhmNCwweGZmLDB4ZmQsMHgzZiwweGZmLDB4NGYgfX0sCi0gezE2LCAweGQzZTAsIDAsIHsweGZmLDB4ZDMsMHhmZiwweGY0LDB4ZmYsMHhkZCwweDNmLDB4ZmYsMHg0ZiwweGZmLDB4ZDMsMHhmZiwweGY0LDB4ZmYsMHhmZCwweDAwIH19LAotIHsxNiwgMHhkM2YwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDQwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ0MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkNDIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDQzMCwgMCwgezB4MDAsMHgwMCwweDJjLDB4ZGIsMHgwYiwweDM2LDB4YzIsMHhjZCwweGIwLDB4YjMsMHg2YywweDJjLDB4ZGIsMHgwYiwweDM2LDB4YzIgfX0sCi0gezE2LCAweGQ0NDAsIDAsIHsweGNkLDB4YjAsMHhiMywweDZjLDB4MmMsMHhkYiwweDBiLDB4MzYsMHhjMiwweGNkLDB4YjAsMHhiMywweDZjLDB4MmMsMHhkYiwweDBiIH19LAotIHsxNiwgMHhkNDUwLCAwLCB7MHgzNiwweGMyLDB4Y2QsMHhiMCwweGIzLDB4NGMsMHgyYywweGRiLDB4MGIsMHgzNiwweGMyLDB4Y2QsMHhiMCwweGIzLDB4NmMsMHgwMCB9fSwKLSB7MTYsIDB4ZDQ2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMywweDVjLDB4NGMsMHhkNywweDEzLDB4MzMgfX0sCi0gezE2LCAweGQ0NzAsIDAsIHsweGM0LDB4Y2MsMHhmMSwweDMzLDB4M2EsMHg0YSwweGQ2LDB4OTMsMHgzMywweGM0LDB4Y2MsMHhmMSwweDJiLDB4M2EsMHg0YywweGNmIH19LAotIHsxNiwgMHhkNDgwLCAwLCB7MHgxMywweDMzLDB4YzQsMHhjYywweGU5LDB4MzMsMHgzYywweDRjLDB4Y2YsMHgxMiwweGI1LDB4YTQsMHhhYywweGM5LDB4MzMsMHgzYyB9fSwKLSB7MTYsIDB4ZDQ5MCwgMCwgezB4NGMsMHhjZiwweDEzLDB4MzUsMHhjNCwweGNkLDB4NjksMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ0YTAsIDAsIHsweDAwLDB4MDAsMHgzYiwweDdlLDB4NGUsMHhkZiwweDkzLDB4YjcsMHhlNCwweGVkLDB4ZjksMHgzYiwweDdlLDB4NGUsMHhkZiwweDkzIH19LAotIHsxNiwgMHhkNGIwLCAwLCB7MHhiNywweGU0LDB4ZWQsMHhmOSwweDNiLDB4N2UsMHg0ZSwweGRlLDB4MTIsMHgzNywweGU0LDB4ZWQsMHhlMSwweDNiLDB4N2UsMHg0ZSB9fSwKLSB7MTYsIDB4ZDRjMCwgMCwgezB4ZGYsMHg5MiwweDMxLDB4ODQsMHg4ZCwweGQ5LDB4M2IsMHg3ZSwweDRlLDB4ZGYsMHg5MywweGIxLDB4ZTQsMHhlYywweDYxLDB4MDAgfX0sCi0gezE2LCAweGQ0ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4NCwweDA0LDB4YTEsMHg4MywweDJjIH19LAotIHsxNiwgMHhkNGUwLCAwLCB7MHgwMywweDBhLDB4MTAsMHg4MiwweGMxLDB4MzQsMHgxMCwweDhmLDB4MDAsMHg0MCwweDA5LDB4MTQsMHgwMiwweDAzLDB4MTQsMHg5MSB9fSwKLSB7MTYsIDB4ZDRmMCwgMCwgezB4MDAsMHgwOCwweDQyLDB4MGIsMHgxOCwweDgyLDB4YzQsMHgwMCwweDMxLDB4Y2EsMHgwYywweDUyLDB4MDIsMHgxMCwweDgwLDB4ODUgfX0sCi0gezE2LCAweGQ1MDAsIDAsIHsweDAwLDB4MjEsMHg4MiwweDI4LDB4NDAsMHgwYSwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkNTEwLCAwLCB7MHgwMCwweDAwLDB4MGEsMHgwNCwweDAyLDB4MDEsMHg0MCwweDgwLDB4NzMsMHgyOCwweDEwLDB4NDgsMHgwNywweDA2LDB4MDEsMHgwNCB9fSwKLSB7MTYsIDB4ZDUyMCwgMCwgezB4YTQsMHg0MSwweDIxLDB4MTQsMHgwOCwweDQ0LDB4MDYsMHgxMSwweDQwLDB4ODAsMHg3MCwweDIwLDB4MTQsMHgwYSwweDA0LDB4MDIgfX0sCi0gezE2LCAweGQ1MzAsIDAsIHsweDAwLDB4YzgsMHg4NCwweDQxLDB4MjEsMHgxYywweDA4LDB4MDYsMHgxMiwweDAxLDB4YzAsMHg4MCwweDYwLDB4MjAsMHgxNCwweDAwIH19LAotIHsxNiwgMHhkNTQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAyLDB4ODQsMHgwNCwweDIxLDB4ODIsMHgwOCB9fSwKLSB7MTYsIDB4ZDU1MCwgMCwgezB4NTMsMHgwMiwweDEwLDB4ODAsMHhjNSwweDAwLDB4ODEsMHg0YSwweDA0LDB4NDIsMHgwMiwweDE0LDB4MDAsMHgwNCwweDIwLDB4MjEgfX0sCi0gezE2LCAweGQ1NjAsIDAsIHsweDgwLDB4YTgsMHg3MiwweDIyLDB4MWMsMHg4OCwweGM0LDB4MDYsMHhhMSwweDQyLDB4OGMsMHg1MiwweDIyLDB4MWMsMHg4OCwweDg1IH19LAotIHsxNiwgMHhkNTcwLCAwLCB7MHgyNiwweDIxLDB4YzAsMHg4OCwweDUwLDB4MjIsMHgxOCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDU4MCwgMCwgezB4MDAsMHgwMCwweDAyLDB4NDQsMHgwMCwweDAxLDB4MDEsMHgwMCwweDYyLDB4MDAsMHgxMCwweDAwLDB4MDQsMHgwMCwweDAxLDB4MDEgfX0sCi0gezE2LCAweGQ1OTAsIDAsIHsweDIwLDB4NDAsMHgwMCwweDFjLDB4MDAsMHg0NCwweDA0LDB4MDEsMHgwMiwweDIwLDB4NjIsMHgwMCwweDFjLDB4ODAsMHgwNCwweDA0IH19LAotIHsxNiwgMHhkNWEwLCAwLCB7MHg4MCwweDg5LDB4MjAsMHg1MCwweDA4LDB4MTQsMHg4MCwweDA0LDB4MjQsMHgwMSwweGMxLDB4MDAsMHg1MCwweDAwLDB4MTgsMHgwMCB9fSwKLSB7MTYsIDB4ZDViMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMiwweDgwLDB4MzgsMHgyMCwweDA0LDB4MGMgfX0sCi0gezE2LCAweGQ1YzAsIDAsIHsweDMxLDB4MGEsMHgwMCwweDAwLDB4MDIsMHgxOCwweDIwLDB4OGMsMHhhOCwweDEwLDB4MjgsMHgwOCwweDg4LDB4YzEsMHgxNCwweDEwIH19LAotIHsxNiwgMHhkNWQwLCAwLCB7MHhjNiwweDAwLDB4MjIsMHgwMywweDA4LDB4MDIsMHgwMSwweDA4LDB4YjAsMHgwMCwweDBjLDB4MjEsMHgwMiwweDAwLDB4ODIsMHg4MCB9fSwKLSB7MTYsIDB4ZDVlMCwgMCwgezB4MDgsMHgwMCwweDQ5LDB4MDgsMHgwMCwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ1ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAxLDB4MDAsMHg4MCwweDA4LDB4MjAsMHgwMywweDAwLDB4MDQsMHgwMiwweDQzLDB4MjAsMHgwMCwweDQwIH19LAotIHsxNiwgMHhkNjAwLCAwLCB7MHgwMCwweDIwLDB4MDAsMHgwNCwweDQyLDB4MDEsMHgxMCwweDgwLDB4ODQsMHgyMCwweDExLDB4MDgsMHgwNCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDYxMCwgMCwgezB4MDAsMHg0NCwweDI0LDB4MjAsMHgwOSwweDA4LDB4NDAsMHgwMywweDAwLDB4OTAsMHhjNCwweDIwLDB4MjAsMHgwOCwweDBjLDB4MDIgfX0sCi0gezE2LCAweGQ2MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4MDgsMHg4MSwweDA4LDB4MjAsMHgwNCwweDg4IH19LAotIHsxNiwgMHhkNjMwLCAwLCB7MHgwMiwweDIyLDB4MDgsMHgwOCwweGMzLDB4MmEsMHg5MCwweDQwLDB4ODQsMHgxMCwweDIwLDB4MDQsMHg4MCwweGMyLDB4MjYsMHgyMCB9fSwKLSB7MTYsIDB4ZDY0MCwgMCwgezB4NDksMHg4OCwweDIyLDB4MjIsMHgwYywweDA4LDB4YzEsMHgyNiwweGEwLDB4YzksMHg4YywweDEyLDB4MmEsMHgwNCwweDg4LDB4NDMgfX0sCi0gezE2LCAweGQ2NTAsIDAsIHsweDBlLDB4YTAsMHhjYiwweDg4LDB4MTAsMHgyMiwweDBjLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkNjYwLCAwLCB7MHgwOCwweDAwLDB4MGEsMHg0MCwweDMyLDB4MDAsMHgwMSwweDgwLDB4MzEsMHgyOCwweDAwLDB4MDAsMHgwMSwweDEyLDB4ODAsMHg4ZCB9fSwKLSB7MTYsIDB4ZDY3MCwgMCwgezB4ODQsMHgwMCwweDI4LDB4MGMsMHgwOCwweDAxLDB4MzIsMHgwMCwweDhjLDB4ODAsMHgwMiwweDIwLDB4MGMsMHgwOCwweDAxLDB4MmUgfX0sCi0gezE2LCAweGQ2ODAsIDAsIHsweDAwLDB4YzMsMHg4MCwweDAyLDB4MjAsMHgwNCwweDA4LDB4NDMsMHgwMiwweDAwLDB4NDAsMHg4MCwweDEwLDB4MjAsMHgwNCwweDAyIH19LAotIHsxNiwgMHhkNjkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweDA4LDB4ODcsMHgwYSwweDIxLDB4MDQsMHg4OCB9fSwKLSB7MTYsIDB4ZDZhMCwgMCwgezB4MTEsMHgyYSwweDFjLDB4MGEsMHgwNiwweDIyLDB4MjEsMHg0MCwweGEwLDB4NDIsMHgyYSwweDEwLDB4ODgsMHg4NSwweDBhLDB4YTEgfX0sCi0gezE2LCAweGQ2YjAsIDAsIHsweDA2LDB4YTQsMHg2MiwweDIyLDB4MWMsMHgwYSwweGM0LDB4MDIsMHgyMSwweDgwLDB4OGMsMHg1MiwweDIyLDB4MTQsMHg0OCwweDg2IH19LAotIHsxNiwgMHhkNmMwLCAwLCB7MHgyMiwweDIwLDB4MDgsMHhhOCwweDYwLDB4MmEsMHgxNCwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDZkMCwgMCwgezB4MDAsMHgwMCwweDA4LDB4NDUsMHgwNiwweDAxLDB4ODksMHg4MCwweDYzLDB4MjAsMHgxYywweDg4LDB4NDAsMHgzNCwweDExLDB4MDEgfX0sCi0gezE2LCAweGQ2ZTAsIDAsIHsweGE0LDB4NTAsMHgyOCwweDE4LDB4NDgsMHgwNCwweDBlLDB4MDEsMHg0YiwweDgwLDB4NzMsMHgyOCwweDFjLDB4OGEsMHgwNCwweDA2IH19LAotIHsxNiwgMHhkNmYwLCAwLCB7MHg5MSwweDQ5LDB4MDQsMHg2MywweDIwLDB4MWMsMHg4YSwweDA2LDB4MjYsMHgwMSwweDg1LDB4ODAsMHg3MCwweDIwLDB4MTgsMHgwMiB9fSwKLSB7MTYsIDB4ZDcwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAsMHgwMCwweDg1LDB4MDAsMHhiMSwweDQ1LDB4MmMgfX0sCi0gezE2LCAweGQ3MTAsIDAsIHsweDcwLDB4MDIsMHgxNCwweGMwLDB4MDcsMHgwOCwweDIxLDB4NDksMHgwMCwweDQyLDB4MDEsMHgxNCwweDgyLDB4MDUsMHgwMCwweDExIH19LAotIHsxNiwgMHhkNzIwLCAwLCB7MHg4NCwweDAwLDB4NTIsMHgwMiwweDFjLDB4MDAsMHhjNCwweDAwLDB4MjEsMHhjNCwweDJjLDB4NTMsMHgwMiwweDFjLDB4MDIsMHg4MSB9fSwKLSB7MTYsIDB4ZDczMCwgMCwgezB4MDQsMHhhMSwweGNkLDB4MDgsMHg1MCwweDAyLDB4MTQsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ3NDAsIDAsIHsweDA4LDB4MTAsMHgxMiwweDA0LDB4MzQsMHgwMSwweGNjLDB4MDAsMHg3MywweDQwLDB4MWMsMHg5MCwweDQ1LDB4MDQsMHgwMSwweDQ4IH19LAotIHsxNiwgMHhkNzUwLCAwLCB7MHgwNCwweDYwLDB4NDEsMHgxOCwweGMwLDB4NDQsMHgwNCwweDAxLDB4MDUsMHgwNCwweDczLDB4NDgsMHgxNCwweDUwLDB4NDcsMHgzNCB9fSwKLSB7MTYsIDB4ZDc2MCwgMCwgezB4MDEsMHg0NSwweDIwLDB4NjIsMHgwOCwweDFjLDB4YzIsMHgwNCwweDBjLDB4ODEsMHhjNywweDAwLDB4NzMsMHg4MCwweDE4LDB4YzIgfX0sCi0gezE2LCAweGQ3NzAsIDAsIHsweDA0LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4MTAsMHg4NCwweDEwLDB4MjEsMHhjYywweDI4IH19LAotIHsxNiwgMHhkNzgwLCAwLCB7MHg0MiwweDAyLDB4MTQsMHgxMiwweGM1LDB4MTAsMHgyMSwweDg0LDB4MDQsMHg0MCwweDAwLDB4MWMsMHg4MCwweDg0LDB4MDAsMHg5MSB9fSwKLSB7MTYsIDB4ZDc5MCwgMCwgezB4MDAsMHgwOCwweDczLDB4ODIsMHgxYywweDkwLDB4MDUsMHgwYywweDAxLDB4Y2YsMHgwYywweDQwLDB4MDIsMHgxNCwweDMwLDB4NDUgfX0sCi0gezE2LCAweGQ3YTAsIDAsIHsweDIwLDB4YTEsMHhjMCwweDA4LDB4NTAsMHgwMiwweDEwLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkN2IwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHg0NSwweDBjLDB4ODEsMHgwMCwweDAwLDB4MDEsMHgwOCwweDA4LDB4MDAsMHgwNSwweDE4LDB4OTEsMHgwNSB9fSwKLSB7MTYsIDB4ZDdjMCwgMCwgezB4MDQsMHgwMCwweDAxLDB4MDQsMHg0MCwweDA2LDB4MTgsMHgwMCwweDAyLDB4MjQsMHg3MCwweDQwLDB4MDQsMHgwMCwweDQwLDB4MDAgfX0sCi0gezE2LCAweGQ3ZDAsIDAsIHsweDAxLDB4YzQsMHgyNCwweDAwLDB4ODgsMHgwNCwweDAwLDB4NDMsMHgxMCwweDAwLDB4NDAsMHgyMCwweDAwLDB4ODgsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkN2UwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEyLDB4ODUsMHgyNCwweDMxLDB4MDIsMHgwYyB9fSwKLSB7MTYsIDB4ZDdmMCwgMCwgezB4MDIsMHhjMiwweDA0LDB4MTAsMHhjNCwweDI4LDB4MjEsMHg0OSwweDBjLDB4MDIsMHhjMCwweDA0LDB4YjIsMHgwNiwweDFjLDB4MjAgfX0sCi0gezE2LCAweGQ4MDAsIDAsIHsweDAzLDB4MDgsMHg1MCwweDQyLDB4MGMsMHg4MCwweDAxLDB4MDQsMHhhMSwweDQ5LDB4MGMsMHgwMCwweGMyLDB4MGMsMHgxMCwweDQzIH19LAotIHsxNiwgMHhkODEwLCAwLCB7MHgyNCwweGEwLDB4YzEsMHgwOCwweDEwLDB4NDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDgyMCwgMCwgezB4MDAsMHgxMCwweGEyLDB4MDAsMHgyMCwweDAwLDB4Y2QsMHgwMCwweDAwLDB4NDAsMHgwNCwweDIwLDB4MDEsMHgxMCwweDAwLDB4MDkgfX0sCi0gezE2LCAweGQ4MzAsIDAsIHsweDA0LDB4MDIsMHg0OSwweDBjLDB4OTIsMHgwNywweDMwLDB4MDAsMHgwMCwweDAwLDB4MzMsMHgwOCwweDBjLDB4OTIsMHg0MSwweDAwIH19LAotIHsxNiwgMHhkODQwLCAwLCB7MHg4MCwweGNjLDB4MDAsMHgwMCwweDAwLDB4MGMsMHgwMCwweDQzLDB4MjgsMHg4MCwweGMyLDB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDg1MCwgMCwgezB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMCwweDEwLDB4NTAsMHg4MCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ4NjAsIDAsIHsweDEwLDB4MDAsMHgwMCwweGYwLDB4MDAsMHgxMCwweDgwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweGQwLDB4ODAsMHg4MCwweDAwIH19LAotIHsxNiwgMHhkODcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHg4MCwweDEwLDB4OTAsMHg4MCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDEwLDB4OTAsMHg4MCB9fSwKLSB7MTYsIDB4ZDg4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MTAsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ4OTAsIDAsIHsweDNjLDB4M2MsMHgxMCwweDgwLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHg5MCwweGEwLDB4ODAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkOGEwLCAwLCB7MHgwMCwweDAwLDB4NDAsMHgxMCwweDkwLDB4ODAsMHhhMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgxMCwweDkwLDB4ODAsMHhhMCB9fSwKLSB7MTYsIDB4ZDhiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MjAsMHg4MCwweDEwLDB4OTAsMHhhMCwweGEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDEwLDB4OGYgfX0sCi0gezE2LCAweGQ4YzAsIDAsIHsweDBmLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MmMsMHhjMiwweGU0LDB4ODEsMHg4MCwweDNmIH19LAotIHsxNiwgMHhkOGQwLCAwLCB7MHhkOSwweGJmLDB4ZDksMHg5OCwweDcxLDB4OWQsMHg0MiwweDgwLDB4MDAsMHgyNiwweDdmLDB4ZTYsMHg3MiwweGFiLDB4N2MsMHgzYSB9fSwKLSB7MTYsIDB4ZDhlMCwgMCwgezB4NDAsMHgwMCwweDE5LDB4ODAsMHgyNiwweDQ4LDB4ZGQsMHgzYywweDkxLDB4YzAsMHgyNiwweDQwLDB4MjYsMHg0MCwweDM4LDB4MzEgfX0sCi0gezE2LCAweGQ4ZjAsIDAsIHsweGRiLDB4NjEsMHhjMCwweDE5LDB4OTksMHhiZiwweGM5LDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkOTAwLCAwLCB7MHgwMCwweDAwLDB4MTAsMHg4MCwweDEwLDB4MTQsMHg4MCwweDA2LDB4ODQsMHg5NywweDk2LDB4ODYsMHg5NiwweDA2LDB4OTAsMHgwMCB9fSwKLSB7MTYsIDB4ZDkxMCwgMCwgezB4M2YsMHhhMSwweDI4LDB4MDEsMHgwMiwweDkwLDB4MTIsMHgwMCwweDgwLDB4MTcsMHg4OCwweDE2LDB4OWUsMHg5MCwweDkwLDB4MDQgfX0sCi0gezE2LCAweGQ5MjAsIDAsIHsweDEwLDB4MDAsMHgzNiwweGJlLDB4YmUsMHg5ZSwweDg2LDB4MTYsMHgxMiwweDg0LDB4ODAsMHgxMywweGJlLDB4OTcsMHhhZSwweDgwIH19LAotIHsxNiwgMHhkOTMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHg4MiB9fSwKLSB7MTYsIDB4ZDk0MCwgMCwgezB4ODEsMHg4NCwweDIxLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweGExLDB4MzgsMHgwMSwweDc4LDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ5NTAsIDAsIHsweDA4LDB4YjgsMHgyMSwweDcyLDB4NjgsMHg4MCwweDAwLDB4MDAsMHgwMCwweDA4LDB4OTgsMHg0NCwweDg4LDB4NjgsMHg4MCwweDAwIH19LAotIHsxNiwgMHhkOTYwLCAwLCB7MHgwMCwweDAwLDB4MDgsMHhiOCwweDAxLDB4NzgsMHgwMSwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDk3MCwgMCwgezB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZjcsMHhhZiwweGZmLDB4YzAgfX0sCi0gezE2LCAweGQ5ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmIH19LAotIHsxNiwgMHhkOTkwLCAwLCB7MHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4YmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDlhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAgfX0sCi0gezE2LCAweGQ5YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweDdmLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmIH19LAotIHsxNiwgMHhkOWMwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiB9fSwKLSB7MTYsIDB4ZDlkMCwgMCwgezB4MmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ5ZTAsIDAsIHsweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHg3ZiwweGMwIH19LAotIHsxNiwgMHhkOWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiB9fSwKLSB7MTYsIDB4ZGEwMCwgMCwgezB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4N2YsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRhMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwIH19LAotIHsxNiwgMHhkYTIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4YmYsMHhiZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGRmLDB4YmYsMHhkZiB9fSwKLSB7MTYsIDB4ZGEzMCwgMCwgezB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZWYsMHhmZiwweGZmLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZGYgfX0sCi0gezE2LCAweGRhNDAsIDAsIHsweGZmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkYTUwLCAwLCB7MHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHgzZSwweGFmLDB4ZmYsMHhjMCB9fSwKLSB7MTYsIDB4ZGE2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgxZiwweGZmLDB4ZGYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGU3LDB4ZmUgfX0sCi0gezE2LCAweGRhNzAsIDAsIHsweGVmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGRmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkYTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCB9fSwKLSB7MTYsIDB4ZGE5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MmYsMHhmNywweGZmLDB4ZmYgfX0sCi0gezE2LCAweGRhYTAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyZiwweGZmLDB4ZmYsMHhkZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGY3IH19LAotIHsxNiwgMHhkYWIwLCAwLCB7MHhkZiwweGY3LDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGFjMCwgMCwgezB4MDAsMHgwMCwweDAyLDB4YzQsMHgwMCwweGIxLDB4YzMsMHgyYywweDUwLDB4MDksMHgxNCwweDgyLDB4YzQsMHgzMCwweDkxLDB4YzcgfX0sCi0gezE2LCAweGRhZDAsIDAsIHsweDI0LDB4NjAsMHgwOCwweDFjLDB4ODIsMHgwNywweDM0LDB4OTEsMHg0YywweDA0LDB4NDMsMHgwYSwweDEwLDB4YzIsMHg4NCwweDA0IH19LAotIHsxNiwgMHhkYWUwLCAwLCB7MHg5MSwweDg0LDB4MjQsMHg1MiwweDBiLDB4MTgsMHgwMiwweGM0LDB4MjQsMHhiMSwweGMzLDB4MmMsMHg0MCwweDBhLDB4MTAsMHg4MCB9fSwKLSB7MTYsIDB4ZGFmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4MDIsMHgwMSwweGM0LDB4ODAgfX0sCi0gezE2LCAweGRiMDAsIDAsIHsweDYwLDB4MjAsMHgxYywweDA4LDB4NDQsMHgyMiwweDAxLDB4YzAsMHg4NCwweDUwLDB4MDEsMHg5YywweDA4LDB4MDcsMHgwYSwweDAxIH19LAotIHsxNiwgMHhkYjEwLCAwLCB7MHhjMCwweDg0LDB4NzIsMHgyMCwweDFjLDB4YzgsMHgwNCwweDEyLDB4MTEsMHg0NCwweDgwLDB4NDEsMHgwMSwweDFjLDB4ODAsMHgwNyB9fSwKLSB7MTYsIDB4ZGIyMCwgMCwgezB4MDgsMHgxMSwweGM0LDB4MDAsMHg3MCwweDAwLDB4MTAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRiMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDg2LDB4MmMsMHgyMSwweDRhLDB4MGMsMHg1MiwweDAyLDB4MWMsMHg4MCwweDA0LDB4MjAsMHgyMSwweGNhIH19LAotIHsxNiwgMHhkYjQwLCAwLCB7MHgxMCwweDYyLDB4MDIsMHgxYywweDgxLDB4NDcsMHgwNCwweDIxLDB4YzMsMHgyMCwweDUxLDB4MDEsMHgxYywweDgwLDB4MDQsMHgyYyB9fSwKLSB7MTYsIDB4ZGI1MCwgMCwgezB4MDEsMHhjYiwweDA0LDB4NTIsMHgwMywweDE0LDB4NDAsMHhjNywweDIwLDB4MzEsMHhjOCwweDBjLDB4NTAsMHgyMiwweDEwLDB4ODAgfX0sCi0gezE2LCAweGRiNjAsIDAsIHsweDAxLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNiwweDIwLDB4MDEsMHg4OSwweDAwIH19LAotIHsxNiwgMHhkYjcwLCAwLCB7MHg1MiwweDAwLDB4MTQsMHg4MCwweDA0LDB4MjgsMHgwMSwweDQ1LDB4MDQsMHg2MiwweDAwLDB4MTAsMHg4MCwweDQ2LDB4MzAsMHgxMSB9fSwKLSB7MTYsIDB4ZGI4MCwgMCwgezB4MGQsMHgwMCwweDQyLDB4MDEsMHgxNCwweGMwLDB4NDQsMHgwMCwweDExLDB4MDUsMHgwMCwweDUwLDB4MDAsMHgxYywweDAwLDB4NDQgfX0sCi0gezE2LCAweGRiOTAsIDAsIHsweDI4LDB4MDEsMHg0OSwweDAwLDB4NzAsMHgwMCwweDEwLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkYmEwLCAwLCB7MHgwMCwweDAwLDB4MDgsMHhjMCwweDAyLDB4MzAsMHgwYywweDhjLDB4MzAsMHgyMiwweDA4LDB4ODgsMHhjMiwweDI2LDB4MDAsMHgwOCB9fSwKLSB7MTYsIDB4ZGJiMCwgMCwgezB4ODAsMHgyMCwweDIyLDB4MGMsMHg4OCwweDgxLDB4MDIsMHgxMCwweGM0LDB4ODAsMHgxMCwweDIyLDB4MGMsMHgwOCwweDQwLDB4MDIgfX0sCi0gezE2LCAweGRiYzAsIDAsIHsweDEwLDB4NDgsMHg4OCwweDAxLDB4MjMsMHgwNCwweGM4LDB4NDIsMHgwMiwweDEwLDB4NDYsMHg4YywweDEyLDB4MjIsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkYmQwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweDAyLDB4MDAsMHgwMCwweDgwLDB4YzgsMHgyMCB9fSwKLSB7MTYsIDB4ZGJlMCwgMCwgezB4MTEsMHgwOSwweDAwLDB4ODAsMHg0MSwweDEwLDB4OTAsMHgwOCwweDI0LDB4MzAsMHgwOCwweDA0LDB4NDIsMHg0MSwweDAwLDB4OTAgfX0sCi0gezE2LCAweGRiZjAsIDAsIHsweGM0LDB4MjAsMHgwMCwweDA4LDB4MDQsMHg0MiwweDAwLDB4MTAsMHg4MCwweDRjLDB4MjAsMHgyMywweDA5LDB4MDQsMHhjMiwweDQzIH19LAotIHsxNiwgMHhkYzAwLCAwLCB7MHgzMCwweDgwLDB4NDAsMHgyMCwweDExLDB4MDgsMHgwMCwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGMxMCwgMCwgezB4MDgsMHgwMCwweDA4LDB4ODEsMHgwMiwweDIwLDB4YzksMHg4YywweDEyLDB4MjAsMHgwNCwweDQ4LDB4NDEsMHgyMiwweDAwLDB4MDkgfX0sCi0gezE2LCAweGRjMjAsIDAsIHsweDg4LDB4MzAsMHgyMCwweDBjLDB4ODgsMHgwMywweDBlLDB4MDAsMHg0OSwweDhjLDB4MTAsMHgyMiwweDBjLDB4ODgsMHg0MCwweDJlIH19LAotIHsxNiwgMHhkYzMwLCAwLCB7MHgwMCwweGM5LDB4ODQsMHgxMywweDIxLDB4MDQsMHhjOCwweGMzLDB4MjIsMHgwMCwweGNiLDB4OGMsMHgzMiwweDIyLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGM0MCwgMCwgezB4MDQsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAsMHgwOCwweDAxLDB4MDIsMHgwMCwweDRiLDB4ODAgfX0sCi0gezE2LCAweGRjNTAsIDAsIHsweDMyLDB4MjEsMHgwOCwweDg4LDB4NDEsMHgwMiwweDEwLDB4MGYsMHg4MCwweDEwLDB4MjEsMHg4YywweDA4LDB4NDEsMHgwMiwweDAwIH19LAotIHsxNiwgMHhkYzYwLCAwLCB7MHg4NywweDg0LDB4MTAsMHgyMCwweDA0LDB4ODgsMHgwMCwweDAyLDB4MDAsMHg0NywweDgwLDB4MTAsMHgyMSwweDBjLDB4ODgsMHg0MSB9fSwKLSB7MTYsIDB4ZGM3MCwgMCwgezB4MTYsMHgxMCwweDQ2LDB4ODAsMHgzMCwweDIwLDB4MDAsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRjODAsIDAsIHsweDAwLDB4MDAsMHgwYSwweGM0LDB4MjIsMHhhMSwweDA4LDB4YTQsMHg3MiwweDJhLDB4MTQsMHgwYSwweDg1LDB4MDIsMHg4MSwweDg0IH19LAotIHsxNiwgMHhkYzkwLCAwLCB7MHhhMCwweDQyLDB4MjgsMHgxYywweDBhLDB4YzUsMHgwMiwweDkxLDB4NDAsMHhiOCwweDczLDB4MjksMHgxMCwweGNhLDB4YzQsMHgwMiB9fSwKLSB7MTYsIDB4ZGNhMCwgMCwgezB4YTEsMHg4MCwweGE0LDB4NDIsMHgyYSwweDE0LDB4Y2EsMHg4NSwweDIyLDB4OTEsMHg4MCwweGE4LDB4NzAsMHgyYSwweDE4LDB4MDIgfX0sCi0gezE2LCAweGRjYjAsIDAsIHsweDAwLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4MDgsMHgwNCwweDFlLDB4MDEsMHhjOCwweDgwIH19LAotIHsxNiwgMHhkY2MwLCAwLCB7MHg0MywweDIwLDB4MTgsMHgwOCwweDQ1LDB4M2UsMHgwMSwweDBjLDB4ODAsMHg2MSwweDIwLDB4OWMsMHg0OCwweDA2LDB4MTIsMHg4MSB9fSwKLSB7MTYsIDB4ZGNkMCwgMCwgezB4YzAsMHg4MCwweDczLDB4MDAsMHgxMCwweDg4LDB4MDYsMHgwMiwweDAxLDB4YzgsMHgwMCwweDQyLDB4MjAsMHgxMCwweGM4LDB4MDcgfX0sCi0gezE2LCAweGRjZTAsIDAsIHsweDAyLDB4MTEsMHhjZCwweDgwLDB4NTEsMHgyMCwweDE0LDB4ODIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkY2YwLCAwLCB7MHgwOCwweDAwLDB4MDAsMHhjNCwweDI0LDB4MjEsMHhjOCwweDBjLDB4NDIsMHgwMSwweDE0LDB4MDAsMHgwMCwweDI4LDB4MTAsMHg0YyB9fSwKLSB7MTYsIDB4ZGQwMCwgMCwgezB4MDgsMHg1MiwweDAyLDB4MTQsMHg4MCwweDQ1LDB4MjQsMHgyOSwweDQwLDB4MDQsMHg3MiwweDAwLDB4MTAsMHhjMCwweDA1LDB4MjQgfX0sCi0gezE2LCAweGRkMTAsIDAsIHsweDExLDB4NDQsMHgwOCwweDQzLDB4MDEsMHgxNCwweGMwLDB4NDcsMHgyNCwweDIwLDB4NDgsMHgwOCwweDcyLDB4MDIsMHgxMCwweDAwIH19LAotIHsxNiwgMHhkZDIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweDAwLDB4MDcsMHgxMCwweDExLDB4MDYsMHgwMCB9fSwKLSB7MTYsIDB4ZGQzMCwgMCwgezB4NzIsMHgwMCwweDE4LDB4ZDAsMHg0NiwweDIwLDB4MDEsMHg0ZCwweDAwLDB4NzEsMHg0MCwweDEwLDB4NTAsMHgwNywweDMwLDB4MTEgfX0sCi0gezE2LCAweGRkNDAsIDAsIHsweGMzLDB4MDAsMHg3MSwweDQxLDB4MTAsMHhiMCwweDA1LDB4MmMsMHgwMSwweDQ5LDB4MDAsMHg0MywweDAwLDB4MWMsMHg1MCwweDQ1IH19LAotIHsxNiwgMHhkZDUwLCAwLCB7MHgzMCwweDAxLDB4OGMsMHgwMCwweDYxLDB4NDAsMHgxOCwweDQyLDB4MDQsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGQ2MCwgMCwgezB4MDAsMHgwMCwweDMwLDB4YzUsMHgwMCwweDIxLDB4YzAsMHgwYywweDQwLDB4MDEsMHgxNCwweDEyLDB4NDQsMHgwNCwweDMxLDB4ODQgfX0sCi0gezE2LCAweGRkNzAsIDAsIHsweDI0LDB4NDAsMHg4MCwweDE0LDB4YTEsMHhjNywweDAwLDB4MDEsMHg0MCwweDA4LDB4NDAsMHgwMSwweDE0LDB4MjAsMHgwNSwweDIwIH19LAotIHsxNiwgMHhkZDgwLCAwLCB7MHgxMSwweGMwLDB4MDIsMHg2MCwweDgyLDB4MTgsMHgwMCwweDg3LDB4MjQsMHgxMSwweDQwLDB4MDgsMHg0MCwweDQyLDB4MTAsMHgwMiB9fSwKLSB7MTYsIDB4ZGQ5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMiwweDAwLDB4MGMsMHg4MCwweGM0LDB4MjQgfX0sCi0gezE2LCAweGRkYTAsIDAsIHsweDMxLDB4NDgsMHgwYywweDAwLDB4MDEsMHgwOCwweGMxLDB4NDEsMHgwMCwweDAwLDB4NDksMHgwMCwweDQyLDB4MDMsMHgwOCwweDEwIH19LAotIHsxNiwgMHhkZGIwLCAwLCB7MHg4MCwweDIwLDB4MjEsMHgwOSwweDBjLDB4MDIsMHgwMiwweDE4LDB4ODAsMHhjMSwweDI0LDB4MzAsMHgwOCwweDBjLDB4NDIsMHgwMSB9fSwKLSB7MTYsIDB4ZGRjMCwgMCwgezB4MTAsMHg4MCwweDgzLDB4MjAsMHgxMSwweDA4LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRkZDAsIDAsIHsweDAwLDB4MDAsMHgxMCwweGMxLDB4MDQsMHgyMCwweDQ4LDB4MGMsMHgxMiwweDQyLDB4MDQsMHgwMCwweDgzLDB4MDAsMHgzMSwweDQ4IH19LAotIHsxNiwgMHhkZGUwLCAwLCB7MHgwMCwweDAyLDB4NDEsMHgwNCwweGEwLDB4MDcsMHgwYywweDIwLDB4NDAsMHgwMCwweDEyLDB4YzIsMHgwYywweDgwLDB4YzEsMHgyMCB9fSwKLSB7MTYsIDB4ZGRmMCwgMCwgezB4MjAsMHhjOCwweDAwLDB4MTIsMHhjMSwweDBjLDB4YjAsMHg0MSwweDIwLDB4MDAsMHg0OSwweDA4LDB4MDIsMHg0MiwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRlMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4ODAsMHgwMSwweDAwLDB4MTAsMHg4MSwweDAwIH19LAotIHsxNiwgMHhkZTEwLCAwLCB7MHgzMCwweDQwLDB4MDgsMHgyMCwweDAzLDB4MDAsMHgxMCwweGMxLDB4MjAsMHgwMiwweDAwLDB4MDQsMHg4MCwweDQwLDB4MzAsMHg5MCB9fSwKLSB7MTYsIDB4ZGUyMCwgMCwgezB4MDEsMHgxNCwweDAyLDB4NDAsMHgwNCwweDgwLDB4NDAsMHgyMCwweDAwLDB4MDksMHgwNCwweDMyLDB4MDEsMHgwOCwweGEwLDB4MDMgfX0sCi0gezE2LCAweGRlMzAsIDAsIHsweDA0LDB4MTAsMHgwOCwweDAwLDB4MjIsMHg0MCwweDAwLDB4MDAsMHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkZTQwLCAwLCB7MHgwMCwweDAwLDB4MzAsMHgwMCwweDEwLDB4ODAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAwLDB4ZjAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGU1MCwgMCwgezB4MDAsMHgxMCwweDgwLDB4MDAsMHhmMCwweDAwLDB4ODAsMHg4MCwweDAwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHhmMCwweDEwLDB4YTAgfX0sCi0gezE2LCAweGRlNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDIwLDB4MDAsMHgwMCwweGYwLDB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDIwLDB4ODAsMHgwMCwweGNjIH19LAotIHsxNiwgMHhkZTcwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2MsMHgzYywweDEwLDB4YTAsMHg4MCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGU4MCwgMCwgezB4MDAsMHgwMCwweDEwLDB4OTAsMHg4MCwweGMwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4OTAsMHg4MCwweDgwLDB4MDAgfX0sCi0gezE2LCAweGRlOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHg5MCwweDgwLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHg5MCwweDgwIH19LAotIHsxNiwgMHhkZWEwLCAwLCB7MHhlMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMCwweDhjLDB4MDgsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGViMCwgMCwgezB4MDAsMHgwMCwweDA5LDB4NGQsMHhiMSwweGU5LDB4MDAsMHgyNiwweDQwLDB4MmEsMHg3ZiwweGUzLDB4ZjIsMHg1NCwweDk4LDB4YzAgfX0sCi0gezE2LCAweGRlYzAsIDAsIHsweDNmLDB4ZTYsMHg0MCwweDAwLDB4MDEsMHg0MiwweDkxLDB4ZDAsMHhjMCwweDEzLDB4ZTUsMHg4NywweDYzLDB4ODMsMHhiOCwweGNkIH19LAotIHsxNiwgMHhkZWQwLCAwLCB7MHhmOSwweDAwLDB4MjYsMHg3ZiwweDAwLDB4MDAsMHgzNSwweDJlLDB4ZDUsMHgwMywweDQwLDB4M2YsMHhkOSwweGJmLDB4YjEsMHg4MCB9fSwKLSB7MTYsIDB4ZGVlMCwgMCwgezB4MDEsMHhmMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNCwweDAyLDB4MTYsMHgxNCwweDAwLDB4MWMgfX0sCi0gezE2LCAweGRlZjAsIDAsIHsweGE4LDB4M2YsMHg4OCwweDE2LDB4MDAsMHg4MCwweDg0LDB4ODAsMHgzNywweDllLDB4YmEsMHhhMCwweDUwLDB4MTAsMHgwMiwweDEyIH19LAotIHsxNiwgMHhkZjAwLCAwLCB7MHgwMCwweDE3LDB4OTYsMHg5NywweDI2LDB4NTAsMHgxMCwweDEwLDB4ODIsMHg4MCwweDFlLDB4ODAsMHhkZSwweGJlLDB4OTQsMHgxNCB9fSwKLSB7MTYsIDB4ZGYxMCwgMCwgezB4MDIsMHgxMCwweDgwLDB4MTcsMHhiZSwweDgxLDB4OTQsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRmMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4YTgsMHg0NCwweDk0LDB4MjgsMHg4MCwweDAwLDB4MDAsMHgwMCwweDA4IH19LAotIHsxNiwgMHhkZjMwLCAwLCB7MHg5NCwweDIxLDB4NDQsMHg1MSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHg4NCwweDQyLDB4NDEsMHgwMSwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGY0MCwgMCwgezB4MDAsMHgwOCwweGExLDB4NzIsMHgyMywweDQxLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweGI4LDB4MDEsMHg3OCwweDMyLDB4NDAgfX0sCi0gezE2LCAweGRmNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwIH19LAotIHsxNiwgMHhkZjYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgzZiwweGY3LDB4ZmUsMHhkNywweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZDcsMHhkZiB9fSwKLSB7MTYsIDB4ZGY3MCwgMCwgezB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHg3ZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDM3LDB4N2YgfX0sCi0gezE2LCAweGRmODAsIDAsIHsweGZmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkZjkwLCAwLCB7MHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MWUsMHhmZiwweGRlLDB4NzcsMHhjMCB9fSwKLSB7MTYsIDB4ZGZhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgxZiwweGVmLDB4ZmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYgfX0sCi0gezE2LCAweGRmYjAsIDAsIHsweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweDdmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkZmMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCB9fSwKLSB7MTYsIDB4ZGZkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MWYsMHhjZiwweGRmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4YmYgfX0sCi0gezE2LCAweGRmZTAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhiZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmIH19LAotIHsxNiwgMHhkZmYwLCAwLCB7MHhmZiwweGJmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTAwMCwgMCwgezB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAgfX0sCi0gezE2LCAweGUwMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MWYsMHhmZiwweDFmIH19LAotIHsxNiwgMHhlMDIwLCAwLCB7MHg3ZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyZiwweGRmLDB4ZmYsMHhjZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTAzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAgfX0sCi0gezE2LCAweGUwNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDNmLDB4YmYsMHhhZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmIH19LAotIHsxNiwgMHhlMDUwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2UsMHhkZSwweDdmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiB9fSwKLSB7MTYsIDB4ZTA2MCwgMCwgezB4ZmYsMHhmNywweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUwNzAsIDAsIHsweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweDdmLDB4ZmYsMHhmZiwweGMwIH19LAotIHsxNiwgMHhlMDgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmUsMHhiZSB9fSwKLSB7MTYsIDB4ZTA5MCwgMCwgezB4N2YsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2UsMHhmZiwweGQ3LDB4N2YsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUwYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMGIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTBjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUwZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMGUwLCAwLCB7MHgzMCwweDAwLDB4MjAsMHgwMSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MzAsMHgwMCwweDQzLDB4OGUsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTBmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUxMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMTEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTEyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUxMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMTQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTE1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUxNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTE4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUxOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMWEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTFiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUxYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMWQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTFlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUxZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMjAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTIxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUyMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMjMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTI0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUyNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMjYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTI3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUyODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMjkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTJhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUyYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMmMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTJkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUyZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMmYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTMwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUzMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMzIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTMzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUzNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMzUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTM2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUzNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMzgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTM5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUzYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlM2IwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTNjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUzZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlM2UwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTNmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU0MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNDEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTQyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU0MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNDQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTQ1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU0NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNDcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTQ4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU0OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNGEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTRiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU0YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNGQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTRlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU0ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNTAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTUxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU1MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNTMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTU0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU1NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTU3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU1ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNTkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTVhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU1YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNWMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTVkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU1ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTYwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU2MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNjIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTYzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU2NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNjUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTY2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU2NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNjgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTY5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU2YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNmIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTZjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU2ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNmUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTZmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU3MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNzEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTcyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU3MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNzQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTc1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU3NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNzcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTc4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU3OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlN2EwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTdiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU3YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlN2QwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTdlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU3ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlODAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTgxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU4MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlODMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTg0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU4NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlODYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTg3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU4ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlODkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZThhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU4YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlOGMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZThkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU4ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlOGYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTkwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU5MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlOTIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTkzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU5NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlOTUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTk2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU5NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlOTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTk5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU5YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlOWIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTljMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU5ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlOWUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTlmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVhMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYTEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWEyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVhMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYTQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWE1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVhNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWE4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVhOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYWEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWFiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVhYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYWQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWFlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVhZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYjAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWIxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGViMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYjMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWI0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGViNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYjYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWI3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGViODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYjkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWJhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGViYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYmMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWJkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGViZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYmYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWMwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVjMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYzIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWMzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVjNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYzUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWM2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVjNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYzgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWM5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVjYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlY2IwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWNjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVjZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlY2UwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWNmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVkMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZDEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWQyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVkMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZDQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWQ1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVkNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZDcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWQ4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVkOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZGEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWRiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVkYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZGQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWRlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVkZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZTAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWUxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVlMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZTMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWU0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVlNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWU3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVlODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZTkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWVhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVlYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZWMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWVkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVlZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWYwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVmMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZjIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDMwLDB4MDAsMHgyMCwweDAxLDB4MDIsMHgwMiwweDAwLDB4MDAsMHgzMCwweDAwLDB4NDMsMHg4MCB9fSwKLSB7MTYsIDB4ZWYzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVmNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZjUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWY2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVmNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZjgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWY5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVmYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZmIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWZjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVmZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZmUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWZmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYwMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMDEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjAyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYwMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMDQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjA1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYwNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMDcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjA4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYwOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMGEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjBiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYwYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMGQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjBlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYwZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMTAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjExMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYxMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMTMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjE0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYxNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjE3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYxODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMTkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjFhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYxYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMWMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjFkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYxZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjIwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYyMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMjIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjIzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYyNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMjUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjI2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYyNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMjgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjI5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYyYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMmIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjJjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYyZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMmUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjJmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYzMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMzEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjMyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYzMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMzQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjM1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYzNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMzcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjM4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYzOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmM2EwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjNiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYzYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmM2QwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjNlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYzZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNDAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjQxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY0MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNDMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjQ0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY0NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNDYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjQ3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY0ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNDkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjRhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY0YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNGMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjRkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY0ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNGYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjUwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY1MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNTIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjUzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY1NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNTUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjU2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY1NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjU5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY1YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNWIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjVjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY1ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNWUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjVmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY2MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNjEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjYyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY2MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNjQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjY1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY2NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNjcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjY4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY2OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNmEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjZiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY2YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNmQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjZlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY2ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNzAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjcxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY3MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNzMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Zjc0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY3NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNzYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Zjc3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY3ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNzkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjdhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY3YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmN2MwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjdkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY3ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmN2YwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjgwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY4MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmODIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjgzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY4NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmODUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Zjg2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY4NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmODgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Zjg5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY4YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmOGIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjhjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY4ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmOGUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjhmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY5MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmOTEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjkyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY5MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmOTQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Zjk1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY5NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmOTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Zjk4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY5OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmOWEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjliMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY5YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmOWQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjllMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY5ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYTAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmExMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZhMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYTMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmE0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZhNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmE3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZhODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYTkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmFhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZhYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYWMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmFkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZhZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmIwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZiMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYjIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmIzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZiNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYjUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmI2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZiNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYjgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmI5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZiYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYmIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmJjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZiZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYmUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmJmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZjMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYzEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmMyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZjMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYzQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmM1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZjNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYzcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmM4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZjOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmY2EwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmNiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZjYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmY2QwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmNlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZjZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmZDAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmQxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZkMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmZDMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMSwweDAwLDB4MDAsMHg1ZiwweGE3LDB4MzAsMHgwMCwweDgwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMyB9fSwKLSB7MTYsIDB4ZmQ0MCwgMCwgezB4MzAsMHgwMCwweDQwLDB4MGUsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZkNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmZDYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmQ3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzAsMHgwMCwweDgwLDB4MDEgfX0sCi0gezE2LCAweGZkODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDA1LDB4MzAsMHgwMCwweGEwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDMwLDB4MDAsMHgwMCwweDAxIH19LAotIHsxNiwgMHhmZDkwLCAwLCB7MHgwMCwweDAwLDB4NmIsMHg5NywweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7NCwgMHhmZGEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MCAsIDB4MDAwMCwgMSwgezB9fQotfTsKLS8vIFZFUlNJT049IDEuMC4wLjE5MQotLy8gREFURT0gMjAwMm9jdDI4Ci1zdGF0aWMgSU5URUxfSEVYX1JFQ09SRCBnX0hleFNwZGlmRnc2MltdID0gewotICB7MywweDAwMDAsMCx7MHgwMiwweDQ1LDB4Zjl9fSwKLSB7IDMsMHgwMDAzLDAsezB4MDIsMHgwZiwweGZkfX0sCi0geyAzLDB4MDAwYiwwLHsweDAyLDB4NGQsMHg5Yn19LAotIHsgMywweDAwMTMsMCx7MHgwMiwweDE3LDB4ZmR9fSwKLSB7IDMsMHgwMDFiLDAsezB4MDIsMHg0ZCwweDllfX0sCi0geyAzLDB4MDAyMywwLHsweDAyLDB4NGQsMHg3NX19LAotIHsgMywweDAwMmIsMCx7MHgwMiwweDQ2LDB4Zjd9fSwKLSB7IDMsMHgwMDMzLDAsezB4MDIsMHg0ZCwweDZjfX0sCi0geyAzLDB4MDAzYiwwLHsweDAyLDB4NGQsMHg3Y319LAotIHsgMywweDAwNDMsMCx7MHgwMiwweDQ5LDB4MDB9fSwKLSB7IDMsMHgwMDRiLDAsezB4MDIsMHg0ZCwweDhmfX0sCi0geyAzLDB4MDA1MywwLHsweDAyLDB4NGQsMHg4M319LAotIHsgMywweDAwNWIsMCx7MHgwMiwweDRkLDB4ODl9fSwKLSB7IDMsMHgwMDYzLDAsezB4MDIsMHg0ZCwweDkzfX0sCi0gezE2LDB4MDUwMCwwLHsweDEyLDB4MDEsMHgxMCwweDAxLDB4MDAsMHgwMCwweDAwLDB4NDAsMHg2YSwweDA4LDB4MTEsMHgwMSwweDAwLDB4MDEsMHgwMSwweDAyfX0sCi0gezE2LDB4MDUxMCwwLHsweDAwLDB4MDEsMHgwOSwweDAyLDB4YWMsMHgwMSwweDAzLDB4MDEsMHgwMCwweDgwLDB4MzIsMHgwOSwweDA0LDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MDUyMCwwLHsweDAxLDB4MDEsMHgwMCwweDAwLDB4MGEsMHgyNCwweDAxLDB4MDAsMHgwMSwweDU2LDB4MDAsMHgwMiwweDAxLDB4MDIsMHgwYywweDI0fX0sCi0gezE2LDB4MDUzMCwwLHsweDAyLDB4MDEsMHgwMSwweDAxLDB4MDAsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHgyNCwweDA2LDB4MDUsMHgwMSwweDAyfX0sCi0gezE2LDB4MDU0MCwwLHsweDAzLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDksMHgyNCwweDAzLDB4MDIsMHgwNCwweDAzLDB4MDAsMHgwNSwweDAwfX0sCi0gezE2LDB4MDU1MCwwLHsweDBjLDB4MjQsMHgwMiwweDAzLDB4MDUsMHgwMiwweDAwLDB4MDYsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE1LDB4MjQsMHgwNiwweDA2fX0sCi0gezE2LDB4MDU2MCwwLHsweDAzLDB4MDIsMHgwMCwweDAwLDB4MDMsMHgwMCwweDAzLDB4MDAsMHgwMywweDAwLDB4MDMsMHgwMCwweDAzLDB4MDAsMHgwMywweDAwfX0sCi0gezE2LDB4MDU3MCwwLHsweDAwLDB4MDksMHgyNCwweDAzLDB4MDQsMHgwMSwweDAxLDB4MDAsMHgwNiwweDAwLDB4MDksMHgwNCwweDAxLDB4MDAsMHgwMCwweDAxfX0sCi0gezE2LDB4MDU4MCwwLHsweDAyLDB4MDAsMHgwMCwweDA5LDB4MDQsMHgwMSwweDAxLDB4MDIsMHgwMSwweDAyLDB4MDAsMHgwMCwweDA3LDB4MjQsMHgwMSwweDAxfX0sCi0gezE2LDB4MDU5MCwwLHsweDAwLDB4MDEsMHgwMCwweDExLDB4MjQsMHgwMiwweDAxLDB4MDIsMHgwMiwweDEwLDB4MDMsMHg0NCwweGFjLDB4MDAsMHg4MCwweGJifX0sCi0gezE2LDB4MDVhMCwwLHsweDAwLDB4MDAsMHg3NywweDAxLDB4MDksMHgwNSwweDBhLDB4MDUsMHg4NCwweDAxLDB4MDEsMHgwMCwweDhmLDB4MDcsMHgyNSwweDAxfX0sCi0gezE2LDB4MDViMCwwLHsweDAxLDB4MDAsMHgwMCwweDAwLDB4MDksMHgwNSwweDhmLDB4MDEsMHgwMywweDAwLDB4MDEsMHgwNSwweDAwLDB4MDksMHgwNCwweDAxfX0sCi0gezE2LDB4MDVjMCwwLHsweDAyLDB4MDIsMHgwMSwweDAyLDB4MDAsMHgwMCwweDA3LDB4MjQsMHgwMSwweDAxLDB4MDAsMHgwMSwweDAwLDB4MTEsMHgyNCwweDAyfX0sCi0gezE2LDB4MDVkMCwwLHsweDAxLDB4MDIsMHgwMywweDE4LDB4MDMsMHg0NCwweGFjLDB4MDAsMHg4MCwweGJiLDB4MDAsMHgwMCwweDc3LDB4MDEsMHgwOSwweDA1fX0sCi0gezE2LDB4MDVlMCwwLHsweDBhLDB4MDUsMHg0NiwweDAyLDB4MDEsMHgwMCwweDhmLDB4MDcsMHgyNSwweDAxLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwOSwweDA1fX0sCi0gezE2LDB4MDVmMCwwLHsweDhmLDB4MDEsMHgwMywweDAwLDB4MDEsMHgwNSwweDAwLDB4MDksMHgwNCwweDAyLDB4MDAsMHgwMCwweDAxLDB4MDIsMHgwMCwweDAwfX0sCi0gezE2LDB4MDYwMCwwLHsweDA5LDB4MDQsMHgwMiwweDAxLDB4MDEsMHgwMSwweDAyLDB4MDAsMHgwMCwweDA3LDB4MjQsMHgwMSwweDA0LDB4MDAsMHgwMSwweDAwfX0sCi0gezE2LDB4MDYxMCwwLHsweDBlLDB4MjQsMHgwMiwweDAxLDB4MDYsMHgwMiwweDEwLDB4MDIsMHg0NCwweGFjLDB4MDAsMHg4MCwweGJiLDB4MDAsMHgwOSwweDA1fX0sCi0gezE2LDB4MDYyMCwwLHsweDhjLDB4MDUsMHg0YywweDAyLDB4MDEsMHgwMCwweDAwLDB4MDcsMHgyNSwweDAxLDB4MDAsMHgwMiwweDAwLDB4MDAsMHgwOSwweDA0fX0sCi0gezE2LDB4MDYzMCwwLHsweDAyLDB4MDIsMHgwMSwweDAxLDB4MDIsMHgwMCwweDAwLDB4MDcsMHgyNCwweDAxLDB4MDQsMHgwMCwweDAxLDB4MDAsMHgwZSwweDI0fX0sCi0gezE2LDB4MDY0MCwwLHsweDAyLDB4MDEsMHgwNiwweDAzLDB4MTgsMHgwMiwweDQ0LDB4YWMsMHgwMCwweDgwLDB4YmIsMHgwMCwweDA5LDB4MDUsMHg4YywweDA1fX0sCi0gezE2LDB4MDY1MCwwLHsweDcyLDB4MDMsMHgwMSwweDAwLDB4MDAsMHgwNywweDI1LDB4MDEsMHgwMCwweDAyLDB4MDAsMHgwMCwweDA5LDB4MDQsMHgwMiwweDAzfX0sCi0gezE2LDB4MDY2MCwwLHsweDAxLDB4MDEsMHgwMiwweDAwLDB4MDAsMHgwNywweDI0LDB4MDEsMHgwNCwweDAwLDB4MDEsMHgwMCwweDExLDB4MjQsMHgwMiwweDAxfX0sCi0gezE2LDB4MDY3MCwwLHsweDAyLDB4MDIsMHgxMCwweDAzLDB4NDQsMHhhYywweDAwLDB4ODAsMHhiYiwweDAwLDB4MDAsMHg3NywweDAxLDB4MDksMHgwNSwweDhjfX0sCi0gezE2LDB4MDY4MCwwLHsweDA1LDB4ODQsMHgwMSwweDAxLDB4MDAsMHgwMCwweDA3LDB4MjUsMHgwMSwweDAwLDB4MDIsMHgwMCwweDAwLDB4MDksMHgwNCwweDAyfX0sCi0gezE2LDB4MDY5MCwwLHsweDA0LDB4MDEsMHgwMSwweDAyLDB4MDAsMHgwMCwweDA3LDB4MjQsMHgwMSwweDA0LDB4MDAsMHgwMSwweDAwLDB4MTEsMHgyNCwweDAyfX0sCi0gezE2LDB4MDZhMCwwLHsweDAxLDB4MDIsMHgwMywweDE4LDB4MDMsMHg0NCwweGFjLDB4MDAsMHg4MCwweGJiLDB4MDAsMHgwMCwweDc3LDB4MDEsMHgwOSwweDA1fX0sCi0gezE2LDB4MDZiMCwwLHsweDhjLDB4MDUsMHg0NiwweDAyLDB4MDEsMHgwMCwweDAwLDB4MDcsMHgyNSwweDAxLDB4MDAsMHgwMiwweDAwLDB4MDAsMHgwNCwweDAzfX0sCi0gezE2LDB4MDZjMCwwLHsweDA5LDB4MDQsMHgxOCwweDAzLDB4NDUsMHgwMCwweDZkLDB4MDAsMHg2MSwweDAwLDB4NjcsMHgwMCwweDY5LDB4MDAsMHg2MywweDAwfX0sCi0gezE2LDB4MDZkMCwwLHsweDIwLDB4MDAsMHg0NywweDAwLDB4NmQsMHgwMCwweDYyLDB4MDAsMHg0OCwweDAwLDB4MjIsMHgwMywweDQ1LDB4MDAsMHg2ZCwweDAwfX0sCi0gezE2LDB4MDZlMCwwLHsweDYxLDB4MDAsMHg2NywweDAwLDB4NjksMHgwMCwweDYzLDB4MDAsMHgyMCwweDAwLDB4NDUsMHgwMCwweDRkLDB4MDAsMHg0OSwweDAwfX0sCi0gezE2LDB4MDZmMCwwLHsweDIwLDB4MDAsMHgzNiwweDAwLDB4N2MsMHgwMCwweDMyLDB4MDAsMHgyMCwweDAwLDB4NmQsMHgwMCwweDJhLDB4MDMsMHg0MywweDAwfX0sCi0gezE2LDB4MDcwMCwwLHsweDZmLDB4MDAsMHg2ZSwweDAwLDB4NjYsMHgwMCwweDY5LDB4MDAsMHg2NywweDAwLDB4NzUsMHgwMCwweDcyLDB4MDAsMHg2MSwweDAwfX0sCi0gezE2LDB4MDcxMCwwLHsweDc0LDB4MDAsMHg2OSwweDAwLDB4NmYsMHgwMCwweDZlLDB4MDAsMHgyMCwweDAwLDB4NTMsMHgwMCwweDc0LDB4MDAsMHg3MiwweDAwfX0sCi0gezE2LDB4MDcyMCwwLHsweDY5LDB4MDAsMHg2ZSwweDAwLDB4NjcsMHgwMCwweDIyLDB4MDMsMHg0OSwweDAwLDB4NmUsMHgwMCwweDc0LDB4MDAsMHg2NSwweDAwfX0sCi0gezE2LDB4MDczMCwwLHsweDcyLDB4MDAsMHg2NiwweDAwLDB4NjEsMHgwMCwweDYzLDB4MDAsMHg2NSwweDAwLDB4MjAsMHgwMCwweDUzLDB4MDAsMHg3NCwweDAwfX0sCi0gezEwLDB4MDc0MCwwLHsweDcyLDB4MDAsMHg2OSwweDAwLDB4NmUsMHgwMCwweDY3LDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MDc0YSwwLHsweDkwLDB4NzYsMHg5YSwweDc0LDB4MDIsMHhmMCwweGU0LDB4OTAsMHg3NiwweDkxLDB4ZjAsMHhhMywweGYwLDB4OTAsMHg3NiwweDkwfX0sCi0gezE2LDB4MDc1YSwwLHsweGYwLDB4OTAsMHg3NiwweDkzLDB4ZjAsMHg5MCwweDc2LDB4OTYsMHg3NCwweDAzLDB4ZjAsMHg5MCwweDgwLDB4MDMsMHhmMCwweGU0fX0sCi0gezE2LDB4MDc2YSwwLHsweDkwLDB4NzYsMHg5NywweGYwLDB4OTAsMHg4MCwweDAyLDB4ZjAsMHg5MCwweDc2LDB4OTQsMHgwNCwweGYwLDB4OTAsMHg4MCwweDAwfX0sCi0gezE2LDB4MDc3YSwwLHsweGYwLDB4ZTQsMHg5MCwweDc2LDB4OGUsMHhmMCwweDkwLDB4NzYsMHgxYSwweGYwLDB4OTAsMHg3NiwweDk1LDB4MDQsMHhmMCwweGMyfX0sCi0gezE2LDB4MDc4YSwwLHsweDJlLDB4OTAsMHg3ZiwweDliLDB4ZTAsMHhmZiwweDU0LDB4MTAsMHhmZiwweDcwLDB4MDIsMHhjMiwweDNmLDB4OTAsMHg3ZiwweDlifX0sCi0gezE2LDB4MDc5YSwwLHsweGUwLDB4ZmYsMHg1NCwweDEwLDB4ZmUsMHhmZiwweGJlLDB4MTAsMHgwMiwweGQyLDB4M2YsMHg5MCwweDdmLDB4OWIsMHhlMCwweGZmfX0sCi0gezE2LDB4MDdhYSwwLHsweDU0LDB4MjAsMHhmZiwweDcwLDB4MDIsMHhjMiwweDNlLDB4OTAsMHg3ZiwweDliLDB4ZTAsMHhmZiwweDU0LDB4MjAsMHhmZSwweGZmfX0sCi0gezE2LDB4MDdiYSwwLHsweGJlLDB4MjAsMHgwMiwweGQyLDB4M2UsMHgzMCwweDNmLDB4MDksMHg5MCwweDc2LDB4OTcsMHhlMCwweDU0LDB4ZmUsMHhmMCwweDgwfX0sCi0gezE2LDB4MDdjYSwwLHsweDA3LDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMCwweDkwLDB4ODAsMHgwMiwweGYwfX0sCi0gezE2LDB4MDdkYSwwLHsweDMwLDB4M2UsMHgwOSwweDkwLDB4NzYsMHg5NSwweGUwLDB4NDQsMHgwNCwweGYwLDB4ODAsMHgwNywweDkwLDB4NzYsMHg5NSwweGUwfX0sCi0gezE2LDB4MDdlYSwwLHsweDU0LDB4ZmIsMHhmMCwweDkwLDB4NzYsMHg5NSwweGUwLDB4OTAsMHg4MCwweDAxLDB4ZjAsMHhhMiwweDNlLDB4OTIsMHg0MCwweGEyfX0sCi0geyAzLDB4MDdmYSwwLHsweDNmLDB4OTIsMHg0MX19LAotIHsgMSwweDA3ZmQsMCx7MHgyMn19LAotIHsgMiwweDA3ZmUsMCx7MHhkMywweDIyfX0sCi0gezE2LDB4MDgwMCwwLHsweGU0LDB4OTAsMHg3NiwweDMxLDB4ZjAsMHg5MCwweDc2LDB4MzEsMHhlMCwweGZmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDBmfX0sCi0gezE2LDB4MDgxMCwwLHsweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZSwweDkwLDB4N2YsMHhlZCwweGUwLDB4ZmQsMHhlZSwweDZkfX0sCi0gezE2LDB4MDgyMCwwLHsweDYwLDB4MGUsMHhlZiwweGMzLDB4OTQsMHgwYiwweDUwLDB4MDgsMHg5MCwweDc2LDB4MzEsMHhlMCwweDA0LDB4ZjAsMHg4MCwweGQ1fX0sCi0gezE2LDB4MDgzMCwwLHsweGVmLDB4YjQsMHgwYiwweDA4LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweGVmLDB4NzUsMHhmMCwweDAzfX0sCi0gezE2LDB4MDg0MCwwLHsweGE0LDB4MjQsMHgwZSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHg5MCwweDc2LDB4MzMsMHhmMCwweDI0fX0sCi0gezE2LDB4MDg1MCwwLHsweGYwLDB4NjAsMHgwYSwweDI0LDB4MGUsMHg2MCwweDAyLDB4ODEsMHg4NywweDEyLDB4NGIsMHgzZSwweDIyLDB4OTAsMHg3ZiwweGVkfX0sCi0gezE2LDB4MDg2MCwwLHsweGUwLDB4NjQsMHgwNSwweDcwLDB4NTEsMHg5MCwweDc2LDB4MTgsMHg3NCwweDA1LDB4ZjAsMHg5MCwweDc2LDB4MzcsMHg3NCwweDAxfX0sCi0gezE2LDB4MDg3MCwwLHsweGYwLDB4OTAsMHg3NiwweDM5LDB4NzQsMHgwMywweGYwLDB4OTAsMHg3NiwweDIxLDB4ZjAsMHhlNCwweDkwLDB4NzYsMHgyMCwweGYwfX0sCi0gezE2LDB4MDg4MCwwLHsweDkwLDB4N2YsMHhlYSwweGUwLDB4ZjQsMHg2MCwweDJmLDB4OTAsMHg3NiwweDIwLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwYSwweGE0fX0sCi0gezE2LDB4MDg5MCwwLHsweDI0LDB4YWEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg5MCwweDdmLDB4ZWEsMHhlMCwweGZkfX0sCi0gezE2LDB4MDhhMCwwLHsweGVlLDB4NmQsMHg2MCwweDEyLDB4OTAsMHg3NiwweDIxLDB4ZTAsMHhmZSwweGVmLDB4YzMsMHg5ZSwweDUwLDB4MDgsMHg5MCwweDc2fX0sCi0gezE2LDB4MDhiMCwwLHsweDIwLDB4ZTAsMHgwNCwweGYwLDB4ODAsMHhkMSwweDkwLDB4N2YsMHhlZCwweGUwLDB4NjQsMHgwNiwweDcwLDB4NTIsMHg5MCwweDc2fX0sCi0gezE2LDB4MDhjMCwwLHsweDE4LDB4NzQsMHgwNiwweGYwLDB4OTAsMHg3NiwweDM3LDB4NzQsMHgwNCwweGYwLDB4OTAsMHg3NiwweDM5LDB4NzQsMHgwYSwweGYwfX0sCi0gezE2LDB4MDhkMCwwLHsweDkwLDB4NzYsMHgyMSwweGYwLDB4OTAsMHg3NiwweDIwLDB4NzQsMHgwMywweGYwLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmNCwweDYwfX0sCi0gezE2LDB4MDhlMCwwLHsweDJmLDB4OTAsMHg3NiwweDIwLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhYSwweGY1LDB4ODIsMHhlNCwweDM0fX0sCi0gezE2LDB4MDhmMCwwLHsweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg5MCwweDdmLDB4ZWEsMHhlMCwweGZkLDB4ZWUsMHg2ZCwweDYwLDB4MTIsMHg5MCwweDc2fX0sCi0gezE2LDB4MDkwMCwwLHsweDIxLDB4ZTAsMHhmZSwweGVmLDB4YzMsMHg5ZSwweDUwLDB4MDgsMHg5MCwweDc2LDB4MjAsMHhlMCwweDA0LDB4ZjAsMHg4MCwweGQxfX0sCi0gezE2LDB4MDkxMCwwLHsweDkwLDB4NzYsMHgyMCwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1fX0sCi0gezE2LDB4MDkyMCwwLHsweGY1LDB4ODMsMHhlMCwweDkwLDB4NzIsMHgyOSwweGYwLDB4ZTQsMHg5MCwweDc2LDB4M2IsMHhmMCwweDkwLDB4NzYsMHgyMSwweGUwfX0sCi0gezE2LDB4MDkzMCwwLHsweGZlLDB4ZWYsMHg2ZSwweDcwLDB4MDgsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGVifX0sCi0gezE2LDB4MDk0MCwwLHsweGUwLDB4MTQsMHg2MCwweDEzLDB4MTQsMHg3MCwweDAyLDB4MjEsMHhlMiwweDI0LDB4MDIsMHg2MCwweDAyLDB4ODEsMHg3ZiwweDkwfX0sCi0gezE2LDB4MDk1MCwwLHsweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGU5LDB4ZTAsMHgxNCwweDcwLDB4N2MsMHg5MCwweDdmfX0sCi0gezE2LDB4MDk2MCwwLHsweGVhLDB4ZTAsMHhmNCwweDcwLDB4NDgsMHg5MCwweDc2LDB4MzcsMHhlMCwweDkwLDB4NzYsMHgyMCwweGYwLDB4OTAsMHg3NiwweDM5fX0sCi0gezE2LDB4MDk3MCwwLHsweGUwLDB4ZmUsMHg5MCwweDc2LDB4MjAsMHhlMCwweGZkLDB4YzMsMHg5ZSwweDUwLDB4MmIsMHg5MCwweDc2LDB4M2IsMHhlMCwweGZlfX0sCi0gezE2LDB4MDk4MCwwLHsweDA0LDB4ZjAsMHg3NCwweGMwLDB4MmUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdlLDB4ZjUsMHg4MywweGUwLDB4ZmUsMHhlZCwweDc1fX0sCi0gezE2LDB4MDk5MCwwLHsweGYwLDB4MGEsMHhhNCwweDI0LDB4YWIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGVlLDB4ZjAsMHg5MCwweDc2fX0sCi0gezE2LDB4MDlhMCwwLHsweDIwLDB4ZTAsMHgwNCwweGYwLDB4ODAsMHhjNywweDkwLDB4NzYsMHgzZiwweDc0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZSwweGMwfX0sCi0gezE2LDB4MDliMCwwLHsweGUwLDB4ZmUsMHhlZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhYiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzfX0sCi0gezE2LDB4MDljMCwwLHsweGVlLDB4ZjAsMHhlMCwweGI0LDB4MDEsMHgwOCwweDkwLDB4NzYsMHgzZSwweDc0LDB4MDEsMHhmMCwweDgwLDB4MDUsMHhlNCwweDkwfX0sCi0gezE2LDB4MDlkMCwwLHsweDc2LDB4M2UsMHhmMCwweDkwLDB4NzYsMHgzZiwweDc0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxfX0sCi0gezE2LDB4MDllMCwwLHsweGYwLDB4MjIsMHg5MCwweDdmLDB4ZTksMHhlMCwweDI0LDB4ZmUsMHg3MCwweDAyLDB4NDEsMHhhMywweDE0LDB4NzAsMHgwMiwweDYxfX0sCi0gezE2LDB4MDlmMCwwLHsweDNmLDB4MTQsMHg3MCwweDAyLDB4NjEsMHhkYiwweDI0LDB4MDMsMHg2MCwweDAyLDB4ODEsMHg3NywweDkwLDB4N2YsMHhlYSwweGUwfX0sCi0gezE2LDB4MGEwMCwwLHsweGY0LDB4NzAsMHg2YiwweDkwLDB4NzYsMHgzNywweGUwLDB4OTAsMHg3NiwweDIwLDB4ZjAsMHg5MCwweDc2LDB4MzksMHhlMCwweGZmfX0sCi0gezE2LDB4MGExMCwwLHsweDkwLDB4NzYsMHgyMCwweGUwLDB4ZmUsMHhjMywweDlmLDB4NTAsMHg0ZSwweDkwLDB4NzYsMHgzYiwweGUwLDB4ZmYsMHgwNCwweGYwfX0sCi0gezE2LDB4MGEyMCwwLHsweDc0LDB4YzAsMHgyZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2UsMHhmNSwweDgzLDB4ZTAsMHhmZiwweGVlLDB4NzUsMHhmMCwweDBhfX0sCi0gezE2LDB4MGEzMCwwLHsweGE0LDB4MjQsMHhhYywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDkwLDB4NzYsMHgzYiwweGUwfX0sCi0gezE2LDB4MGE0MCwwLHsweGZmLDB4MDQsMHhmMCwweDc0LDB4YzAsMHgyZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2UsMHhmNSwweDgzLDB4ZTAsMHhmZiwweGVlfX0sCi0gezE2LDB4MGE1MCwwLHsweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhZCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDkwfX0sCi0gezE2LDB4MGE2MCwwLHsweDc2LDB4MjAsMHhlMCwweDA0LDB4ZjAsMHg4MCwweGE0LDB4OTAsMHg3NiwweDQwLDB4NzQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdlfX0sCi0gezE2LDB4MGE3MCwwLHsweGMwLDB4ZTAsMHhmZiwweDkwLDB4NzYsMHgyMCwweGUwLDB4ZmUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWMsMHhmNSwweDgyfX0sCi0gezE2LDB4MGE4MCwwLHsweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZiwweGYwLDB4OTAsMHg3ZSwweGMxLDB4ZTAsMHhmZiwweGVlLDB4NzUsMHhmMCwweDBhfX0sCi0gezE2LDB4MGE5MCwwLHsweGE0LDB4MjQsMHhhZCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDkwLDB4NzYsMHg0MSwweDc0fX0sCi0gezE2LDB4MGFhMCwwLHsweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhlYSwweGUwLDB4ZjQsMHg3MCwweDY2LDB4OTAsMHg3NiwweDM3LDB4ZTAsMHg5MCwweDc2fX0sCi0gezE2LDB4MGFiMCwwLHsweDIwLDB4ZjAsMHg5MCwweDc2LDB4MzksMHhlMCwweGZmLDB4OTAsMHg3NiwweDIwLDB4ZTAsMHhmZSwweGMzLDB4OWYsMHg0MCwweDAyfX0sCi0gezE2LDB4MGFjMCwwLHsweDgxLDB4OGUsMHg5MCwweDc2LDB4M2IsMHhlMCwweGZmLDB4MDQsMHhmMCwweDc0LDB4YzAsMHgyZiwweGY1LDB4ODIsMHhlNCwweDM0fX0sCi0gezE2LDB4MGFkMCwwLHsweDdlLDB4ZjUsMHg4MywweGUwLDB4ZmYsMHhlZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhZSwweGY1LDB4ODIsMHhlNCwweDM0fX0sCi0gezE2LDB4MGFlMCwwLHsweDc1LDB4ZjUsMHg4MywweGVmLDB4ZjAsMHg5MCwweDc2LDB4M2IsMHhlMCwweGZmLDB4MDQsMHhmMCwweDc0LDB4YzAsMHgyZiwweGY1fX0sCi0gezE2LDB4MGFmMCwwLHsweDgyLDB4ZTQsMHgzNCwweDdlLDB4ZjUsMHg4MywweGUwLDB4ZmYsMHhlZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhZiwweGY1fX0sCi0gezE2LDB4MGIwMCwwLHsweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGVmLDB4ZjAsMHg5MCwweDc2LDB4MjAsMHhlMCwweDA0LDB4ZjAsMHg4MCwweGEyfX0sCi0gezE2LDB4MGIxMCwwLHsweDkwLDB4N2UsMHhjMCwweGUwLDB4ZmYsMHg5MCwweDc2LDB4MjAsMHhlMCwweGZlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFlfX0sCi0gezE2LDB4MGIyMCwwLHsweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDkwLDB4N2UsMHhjMSwweGUwLDB4ZmYsMHhlZSwweDc1fX0sCi0gezE2LDB4MGIzMCwwLHsweGYwLDB4MGEsMHhhNCwweDI0LDB4YWYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGVmLDB4ZjAsMHgyMiwweDkwfX0sCi0gezE2LDB4MGI0MCwwLHsweDdmLDB4ZWEsMHhlMCwweGY0LDB4NzAsMHg2NiwweDkwLDB4NzYsMHgzNywweGUwLDB4OTAsMHg3NiwweDIwLDB4ZjAsMHg5MCwweDc2fX0sCi0gezE2LDB4MGI1MCwwLHsweDM5LDB4ZTAsMHhmZiwweDkwLDB4NzYsMHgyMCwweGUwLDB4ZmUsMHhjMywweDlmLDB4NDAsMHgwMiwweDgxLDB4OGUsMHg5MCwweDc2fX0sCi0gezE2LDB4MGI2MCwwLHsweDNiLDB4ZTAsMHhmZiwweDA0LDB4ZjAsMHg3NCwweGMwLDB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdlLDB4ZjUsMHg4MywweGUwfX0sCi0gezE2LDB4MGI3MCwwLHsweGZmLDB4ZWUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YjAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGVmfX0sCi0gezE2LDB4MGI4MCwwLHsweGYwLDB4OTAsMHg3NiwweDNiLDB4ZTAsMHhmZiwweDA0LDB4ZjAsMHg3NCwweGMwLDB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdlfX0sCi0gezE2LDB4MGI5MCwwLHsweGY1LDB4ODMsMHhlMCwweGZmLDB4ZWUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YjEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1fX0sCi0gezE2LDB4MGJhMCwwLHsweGY1LDB4ODMsMHhlZiwweGYwLDB4OTAsMHg3NiwweDIwLDB4ZTAsMHgwNCwweGYwLDB4ODAsMHhhMiwweDkwLDB4N2UsMHhjMCwweGUwfX0sCi0gezE2LDB4MGJiMCwwLHsweGZmLDB4OTAsMHg3NiwweDIwLDB4ZTAsMHhmZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMCwweGY1LDB4ODIsMHhlNCwweDM0fX0sCi0gezE2LDB4MGJjMCwwLHsweDc1LDB4ZjUsMHg4MywweGVmLDB4ZjAsMHg5MCwweDdlLDB4YzEsMHhlMCwweGZmLDB4ZWUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0fX0sCi0gezE2LDB4MGJkMCwwLHsweGIxLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZiwweGYwLDB4MjIsMHg5MCwweDdmLDB4ZWEsMHhlMCwweGY0fX0sCi0gezE2LDB4MGJlMCwwLHsweDcwLDB4NjYsMHg5MCwweDc2LDB4MzcsMHhlMCwweDkwLDB4NzYsMHgyMCwweGYwLDB4OTAsMHg3NiwweDM5LDB4ZTAsMHhmZiwweDkwfX0sCi0gezE2LDB4MGJmMCwwLHsweDc2LDB4MjAsMHhlMCwweGZlLDB4YzMsMHg5ZiwweDQwLDB4MDIsMHg4MSwweDhlLDB4OTAsMHg3NiwweDNiLDB4ZTAsMHhmZiwweDA0fX0sCi0gezE2LDB4MGMwMCwwLHsweGYwLDB4NzQsMHhjMCwweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZSwweGY1LDB4ODMsMHhlMCwweGZmLDB4ZWUsMHg3NSwweGYwfX0sCi0gezE2LDB4MGMxMCwwLHsweDBhLDB4YTQsMHgyNCwweGIyLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZiwweGYwLDB4OTAsMHg3NiwweDNifX0sCi0gezE2LDB4MGMyMCwwLHsweGUwLDB4ZmYsMHgwNCwweGYwLDB4NzQsMHhjMCwweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZSwweGY1LDB4ODMsMHhlMCwweGZmfX0sCi0gezE2LDB4MGMzMCwwLHsweGVlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIzLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZiwweGYwfX0sCi0gezE2LDB4MGM0MCwwLHsweDkwLDB4NzYsMHgyMCwweGUwLDB4MDQsMHhmMCwweDgwLDB4YTIsMHg5MCwweDdlLDB4YzAsMHhlMCwweGZmLDB4OTAsMHg3NiwweDIwfX0sCi0gezE2LDB4MGM1MCwwLHsweGUwLDB4ZmUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YjIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGVmfX0sCi0gezE2LDB4MGM2MCwwLHsweGYwLDB4OTAsMHg3ZSwweGMxLDB4ZTAsMHhmZiwweGVlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIzLDB4ZjUsMHg4MiwweGU0fX0sCi0gezE2LDB4MGM3MCwwLHsweDM0LDB4NzUsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwfX0sCi0gezE1LDB4MGM4MCwwLHsweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMn19LAotIHsxNiwweDBjOGYsMCx7MHg0MSwweDc2LDB4NjgsMHgwMSwweDQxLDB4NzYsMHg2YSwweDAyLDB4NDEsMHg3NiwweDZiLDB4MGEsMHhjMSwweDIwLDB4YzEsMHgyMX19LAotIHsgMiwweDBjOWYsMCx7MHhjMSwweDJmfX0sCi0geyA0LDB4MGNhMSwwLHsweDQxLDB4NzYsMHgyMywweDAwfX0sCi0gezE2LDB4MGNhNSwwLHsweDQxLDB4NzIsMHgwMSwweDAxLDB4NDUsMHg3MiwweDA1LDB4MDAsMHgwMiwweGM5LDB4MDAsMHgwMCwweDQ1LDB4NzIsMHgwYSwweDAwfX0sCi0gezE2LDB4MGNiNSwwLHsweDAxLDB4MDIsMHgwMywweDA0LDB4NGQsMHg3MiwweDBmLDB4ZDEsMHgwMCwweGQxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MGNjNSwwLHsweDI4LDB4MjgsMHgwOSwweDAwLDB4NGQsMHg3MiwweDFjLDB4MDEsMHgwMCwweDAxLDB4MDIsMHgwMywweDA0LDB4MDUsMHgwNiwweDA3fX0sCi0gezE2LDB4MGNkNSwwLHsweDA4LDB4MDksMHgwYSwweDBiLDB4NDEsMHg3MiwweDJlLDB4MjIsMHg0MSwweDcyLDB4MmYsMHgyMywweDQxLDB4NzIsMHgzMCwweDIwfX0sCi0gezE2LDB4MGNlNSwwLHsweDQxLDB4NzIsMHgzMSwweDIxLDB4NjIsMHhkMiwweDcyLDB4M2EsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MGNmNSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MGQwNSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MGQxNSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MGQyNSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MGQzNSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MGQ0NSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MGQ1NSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MGQ2NSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MGQ3NSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxfX0sCi0gezE2LDB4MGQ4NSwwLHsweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxfX0sCi0gezE2LDB4MGQ5NSwwLHsweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxfX0sCi0gezE2LDB4MGRhNSwwLHsweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxfX0sCi0gezE2LDB4MGRiNSwwLHsweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyfX0sCi0gezE2LDB4MGRjNSwwLHsweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyfX0sCi0gezE2LDB4MGRkNSwwLHsweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyfX0sCi0gezE2LDB4MGRlNSwwLHsweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyfX0sCi0gezE2LDB4MGRmNSwwLHsweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzfX0sCi0gezE2LDB4MGUwNSwwLHsweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzfX0sCi0gezE2LDB4MGUxNSwwLHsweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzfX0sCi0gezE2LDB4MGUyNSwwLHsweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzfX0sCi0gezE2LDB4MGUzNSwwLHsweDAzLDB4MDMsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0fX0sCi0gezE2LDB4MGU0NSwwLHsweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0fX0sCi0gezE2LDB4MGU1NSwwLHsweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0fX0sCi0gezE2LDB4MGU2NSwwLHsweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0fX0sCi0gezE2LDB4MGU3NSwwLHsweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1fX0sCi0gezE2LDB4MGU4NSwwLHsweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1fX0sCi0gezE2LDB4MGU5NSwwLHsweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1fX0sCi0gezE2LDB4MGVhNSwwLHsweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNiwweDA2fX0sCi0gezE2LDB4MGViNSwwLHsweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2fX0sCi0gezE2LDB4MGVjNSwwLHsweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2fX0sCi0gezE2LDB4MGVkNSwwLHsweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2fX0sCi0gezE2LDB4MGVlNSwwLHsweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNywweDA3LDB4MDcsMHgwOCwweDA4fX0sCi0gezE2LDB4MGVmNSwwLHsweDA4LDB4MDksMHgwOSwweDA5LDB4MGEsMHgwYSwweDBhLDB4MGIsMHgwYiwweDBiLDB4MGMsMHgwYywweDBjLDB4MGQsMHgwZCwweDBkfX0sCi0gezE2LDB4MGYwNSwwLHsweDBlLDB4MGUsMHgwZSwweDBmLDB4MGYsMHgwZiwweDEwLDB4MTAsMHgxMCwweDExLDB4MTEsMHgxMSwweDEyLDB4MTIsMHgxMiwweDEzfX0sCi0gezE2LDB4MGYxNSwwLHsweDEzLDB4MTMsMHgxNCwweDE0LDB4MTQsMHgxNSwweDE1LDB4MTUsMHgxNiwweDE2LDB4MTYsMHgxNywweDE3LDB4MTcsMHgxOCwweDE4fX0sCi0gezE2LDB4MGYyNSwwLHsweDE4LDB4MTksMHgxOSwweDE5LDB4MTksMHgxYSwweDFhLDB4MWEsMHgxYSwweDFiLDB4MWIsMHgxYiwweDFiLDB4MWMsMHgxYywweDFjfX0sCi0gezE2LDB4MGYzNSwwLHsweDFjLDB4MWQsMHgxZCwweDFkLDB4MWQsMHgxZSwweDFlLDB4MWUsMHgxZSwweDFmLDB4MWYsMHgxZiwweDFmLDB4MjAsMHgyMCwweDIwfX0sCi0gezE2LDB4MGY0NSwwLHsweDIxLDB4MjEsMHgyMSwweDIyLDB4MjIsMHgyMiwweDIzLDB4MjMsMHgyNCwweDI0LDB4MjUsMHgyNSwweDI2LDB4MjYsMHgyNywweDI3fX0sCi0gezE2LDB4MGY1NSwwLHsweDI4LDB4MjgsMHgyOSwweDI5LDB4MmEsMHgyYSwweDJiLDB4MmIsMHgyYywweDJjLDB4MmQsMHgyZCwweDJlLDB4MmUsMHgyZiwweDJmfX0sCi0gezE2LDB4MGY2NSwwLHsweDMwLDB4MzAsMHgzMSwweDMxLDB4MzIsMHgzMiwweDMzLDB4MzMsMHgzNCwweDM0LDB4MzUsMHgzNSwweDM2LDB4MzYsMHgzNywweDM3fX0sCi0gezE2LDB4MGY3NSwwLHsweDM4LDB4MzgsMHgzOSwweDM5LDB4M2EsMHgzYSwweDNiLDB4M2MsMHgzZCwweDNlLDB4M2YsMHg0MCwweDQxLDB4NDIsMHg0MywweDQ0fX0sCi0gezE2LDB4MGY4NSwwLHsweDQ1LDB4NDYsMHg0NywweDQ4LDB4NDksMHg0OSwweDRhLDB4NGIsMHg0YiwweDRjLDB4NGQsMHg0ZSwweDRmLDB4NTAsMHg1MSwweDUyfX0sCi0gezE2LDB4MGY5NSwwLHsweDUzLDB4NTQsMHg1NSwweDU1LDB4NTYsMHg1NiwweDU3LDB4NTcsMHg1OCwweDVhLDB4NWIsMHg1ZCwweDVlLDB4NWYsMHg2MSwweDYyfX0sCi0gezE2LDB4MGZhNSwwLHsweDYzLDB4NjQsMHg2NSwweDY2LDB4NjcsMHg2OCwweDY5LDB4NmEsMHg2YiwweDZjLDB4NmQsMHg2ZiwweDcxLDB4NzIsMHg3MywweDc0fX0sCi0gezE2LDB4MGZiNSwwLHsweDc1LDB4NzYsMHg3NywweDc4LDB4NzksMHg3YSwweDdiLDB4N2MsMHg3ZSwweDgwLDB4MDEsMHgzNywweDAxLDB4MDEsMHgzOCwweDAwfX0sCi0geyAxLDB4MGZjNSwwLHsweDAwfX0sCi0gezE2LDB4MGZjNiwwLHsweGU0LDB4ZmYsMHg3NCwweDQ2LDB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc2LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg3NCwweDIwfX0sCi0gezE2LDB4MGZkNiwwLHsweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg4MCwweGY1LDB4ODMsMHhlZSwweGYwLDB4NzQsMHg0ZSwweDJmLDB4ZjUsMHg4MiwweGU0fX0sCi0gezE2LDB4MGZlNiwwLHsweDM0LDB4NzYsMHhmNSwweDgzLDB4ZTAsMHhmZSwweDc0LDB4MzAsMHgyZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4ODAsMHhmNSwweDgzfX0sCi0geyA2LDB4MGZmNiwwLHsweGVlLDB4ZjAsMHgwZiwweGJmLDB4MDgsMHhjY319LAotIHsgMSwweDBmZmMsMCx7MHgyMn19LAotIHsgMywweDBmZmQsMCx7MHhjMiwweDg5LDB4MzJ9fSwKLSB7MTYsMHgxMDAwLDAsezB4ZTQsMHg5MCwweDc2LDB4MmMsMHhmMCwweDkwLDB4NzYsMHgyYywweGUwLDB4ZmYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MGZ9fSwKLSB7MTYsMHgxMDEwLDAsezB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZlLDB4OTAsMHg3ZiwweGVkLDB4ZTAsMHhmZCwweGVlLDB4NmR9fSwKLSB7MTYsMHgxMDIwLDAsezB4NjAsMHgwZSwweGVmLDB4YzMsMHg5NCwweDBiLDB4NTAsMHgwOCwweDkwLDB4NzYsMHgyYywweGUwLDB4MDQsMHhmMCwweDgwLDB4ZDV9fSwKLSB7MTYsMHgxMDMwLDAsezB4ZWYsMHhiNCwweDBiLDB4MDgsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4ZWYsMHg3NSwweGYwLDB4MDN9fSwKLSB7MTYsMHgxMDQwLDAsezB4YTQsMHgyNCwweDBlLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweDkwLDB4NzYsMHgyZSwweGYwLDB4MjR9fSwKLSB7MTYsMHgxMDUwLDAsezB4ZjAsMHg2MCwweDBhLDB4MjQsMHgwZiwweDYwLDB4MDIsMHg4MSwweDdkLDB4MTIsMHg0YiwweDFiLDB4MjIsMHg5MCwweDdmLDB4ZWR9fSwKLSB7MTYsMHgxMDYwLDAsezB4ZTAsMHg2NCwweDA1LDB4NzAsMHg1MSwweDkwLDB4NzYsMHgxOCwweDc0LDB4MDUsMHhmMCwweDkwLDB4NzYsMHgzOCwweDc0LDB4MDF9fSwKLSB7MTYsMHgxMDcwLDAsezB4ZjAsMHg5MCwweDc2LDB4M2EsMHg3NCwweDAzLDB4ZjAsMHg5MCwweDc2LDB4MWMsMHhmMCwweGU0LDB4OTAsMHg3NiwweDFiLDB4ZjB9fSwKLSB7MTYsMHgxMDgwLDAsezB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmNCwweDYwLDB4MmYsMHg5MCwweDc2LDB4MWIsMHhlMCwweGZmLDB4NzUsMHhmMCwweDBhLDB4YTR9fSwKLSB7MTYsMHgxMDkwLDAsezB4MjQsMHhhYSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZSwweDkwLDB4N2YsMHhlYSwweGUwLDB4ZmR9fSwKLSB7MTYsMHgxMGEwLDAsezB4ZWUsMHg2ZCwweDYwLDB4MTIsMHg5MCwweDc2LDB4MWMsMHhlMCwweGZlLDB4ZWYsMHhjMywweDllLDB4NTAsMHgwOCwweDkwLDB4NzZ9fSwKLSB7MTYsMHgxMGIwLDAsezB4MWIsMHhlMCwweDA0LDB4ZjAsMHg4MCwweGQxLDB4OTAsMHg3ZiwweGVkLDB4ZTAsMHg2NCwweDA2LDB4NzAsMHg1MiwweDkwLDB4NzZ9fSwKLSB7MTYsMHgxMGMwLDAsezB4MTgsMHg3NCwweDA2LDB4ZjAsMHg5MCwweDc2LDB4MzgsMHg3NCwweDA0LDB4ZjAsMHg5MCwweDc2LDB4M2EsMHg3NCwweDBhLDB4ZjB9fSwKLSB7MTYsMHgxMGQwLDAsezB4OTAsMHg3NiwweDFjLDB4ZjAsMHg5MCwweDc2LDB4MWIsMHg3NCwweDAzLDB4ZjAsMHg5MCwweDdmLDB4ZWEsMHhlMCwweGY0LDB4NjB9fSwKLSB7MTYsMHgxMGUwLDAsezB4MmYsMHg5MCwweDc2LDB4MWIsMHhlMCwweGZmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFhLDB4ZjUsMHg4MiwweGU0LDB4MzR9fSwKLSB7MTYsMHgxMGYwLDAsezB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZSwweDkwLDB4N2YsMHhlYSwweGUwLDB4ZmQsMHhlZSwweDZkLDB4NjAsMHgxMiwweDkwLDB4NzZ9fSwKLSB7MTYsMHgxMTAwLDAsezB4MWMsMHhlMCwweGZlLDB4ZWYsMHhjMywweDllLDB4NTAsMHgwOCwweDkwLDB4NzYsMHgxYiwweGUwLDB4MDQsMHhmMCwweDgwLDB4ZDF9fSwKLSB7MTYsMHgxMTEwLDAsezB4ZTQsMHg5MCwweDc2LDB4MWUsMHhmMCwweDkwLDB4NzYsMHgxYywweGUwLDB4ZmYsMHg5MCwweDc2LDB4MWIsMHhlMCwweGZlLDB4NmZ9fSwKLSB7MTYsMHgxMTIwLDAsezB4NzAsMHgwOCwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4ZWIsMHhlMCwweDE0LDB4NjB9fSwKLSB7MTYsMHgxMTMwLDAsezB4MTMsMHgxNCwweDcwLDB4MDIsMHgyMSwweGJmLDB4MjQsMHgwMiwweDYwLDB4MDIsMHg4MSwweDc1LDB4OTAsMHg3ZiwweGI0LDB4ZTB9fSwKLSB7MTYsMHgxMTQwLDAsezB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4ZTksMHhlMCwweDI0LDB4N2YsMHg3MCwweDZiLDB4OTAsMHg3ZiwweGVhLDB4ZTB9fSwKLSB7MTYsMHgxMTUwLDAsezB4ZjQsMHg3MCwweDRhLDB4OTAsMHg3NiwweDM4LDB4ZTAsMHg5MCwweDc2LDB4MWIsMHhmMCwweDkwLDB4NzYsMHgzYSwweGUwLDB4ZmZ9fSwKLSB7MTYsMHgxMTYwLDAsezB4OTAsMHg3NiwweDFiLDB4ZTAsMHhmZCwweGMzLDB4OWYsMHg1MCwweDJiLDB4ZWQsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWJ9fSwKLSB7MTYsMHgxMTcwLDAsezB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZmLDB4OTAsMHg3NiwweDFlLDB4ZTAsMHhmZCwweDA0LDB4ZjB9fSwKLSB7MTYsMHgxMTgwLDAsezB4NzQsMHgwMCwweDJkLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZiwweGY1LDB4ODMsMHhlZiwweGYwLDB4OTAsMHg3NiwweDFiLDB4ZTB9fSwKLSB7MTYsMHgxMTkwLDAsezB4MDQsMHhmMCwweDgwLDB4YzcsMHg5MCwweDc2LDB4MWUsMHhlMCwweDkwLDB4N2YsMHhiNSwweGYwLDB4MjIsMHhlZSwweDc1LDB4ZjB9fSwKLSB7MTYsMHgxMWEwLDAsezB4MGEsMHhhNCwweDI0LDB4YWIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4OTAsMHg3ZiwweDAwLDB4ZjB9fSwKLSB7MTYsMHgxMWIwLDAsezB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTB9fSwKLSB7MTYsMHgxMWMwLDAsezB4N2YsMHhlOSwweGUwLDB4MjQsMHg3ZSwweDcwLDB4MDIsMHg0MSwweDdlLDB4MTQsMHg3MCwweDAyLDB4NjEsMHgyMywweDE0LDB4NzB9fSwKLSB7MTYsMHgxMWQwLDAsezB4MDIsMHg2MSwweGM4LDB4MjQsMHgwMywweDYwLDB4MDIsMHg4MSwweDZkLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmNCwweDcwLDB4NmR9fSwKLSB7MTYsMHgxMWUwLDAsezB4OTAsMHg3NiwweDM4LDB4ZTAsMHg5MCwweDc2LDB4MWIsMHhmMCwweDkwLDB4NzYsMHgzYSwweGUwLDB4ZmYsMHg5MCwweDc2LDB4MWJ9fSwKLSB7MTYsMHgxMWYwLDAsezB4ZTAsMHhjMywweDlmLDB4NTAsMHg0ZiwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWMsMHhmNSwweDgyLDB4ZTR9fSwKLSB7MTYsMHgxMjAwLDAsezB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZlLDB4OTAsMHg3NiwweDFlLDB4ZTAsMHhmZCwweDA0LDB4ZjAsMHg3NCwweDAwLDB4MmR9fSwKLSB7MTYsMHgxMjEwLDAsezB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZiwweGY1LDB4ODMsMHhlZSwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWR9fSwKLSB7MTYsMHgxMjIwLDAsezB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZmLDB4OTAsMHg3NiwweDFlLDB4ZTAsMHhmZSwweDA0LDB4ZjB9fSwKLSB7MTYsMHgxMjMwLDAsezB4NzQsMHgwMCwweDJlLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZiwweGY1LDB4ODMsMHhlZiwweGYwLDB4OTAsMHg3NiwweDFiLDB4ZTB9fSwKLSB7MTYsMHgxMjQwLDAsezB4MDQsMHhmMCwweDgwLDB4YTQsMHg5MCwweDc2LDB4MWUsMHhlMCwweDkwLDB4N2YsMHhiNSwweGYwLDB4MjIsMHg5MCwweDc2LDB4MWJ9fSwKLSB7MTYsMHgxMjUwLDAsezB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhYywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTB9fSwKLSB7MTYsMHgxMjYwLDAsezB4OTAsMHg3ZiwweDAwLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhZCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzV9fSwKLSB7MTYsMHgxMjcwLDAsezB4ZjUsMHg4MywweGUwLDB4OTAsMHg3ZiwweDAxLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAyLDB4ZjAsMHgyMiwweDkwLDB4N2Z9fSwKLSB7MTYsMHgxMjgwLDAsezB4ZWEsMHhlMCwweGY0LDB4NzAsMHg2ZCwweDkwLDB4NzYsMHgzOCwweGUwLDB4OTAsMHg3NiwweDFiLDB4ZjAsMHg5MCwweDc2LDB4M2F9fSwKLSB7MTYsMHgxMjkwLDAsezB4ZTAsMHhmZiwweDkwLDB4NzYsMHgxYiwweGUwLDB4YzMsMHg5ZiwweDUwLDB4NGYsMHhlMCwweGZmLDB4NzUsMHhmMCwweDBhLDB4YTR9fSwKLSB7MTYsMHgxMmEwLDAsezB4MjQsMHhhZSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZSwweDkwLDB4NzYsMHgxZSwweGUwLDB4ZmR9fSwKLSB7MTYsMHgxMmIwLDAsezB4MDQsMHhmMCwweDc0LDB4MDAsMHgyZCwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2YsMHhmNSwweDgzLDB4ZWUsMHhmMCwweGVmLDB4NzV9fSwKLSB7MTYsMHgxMmMwLDAsezB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZiwweDkwLDB4NzZ9fSwKLSB7MTYsMHgxMmQwLDAsezB4MWUsMHhlMCwweGZlLDB4MDQsMHhmMCwweDc0LDB4MDAsMHgyZSwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2YsMHhmNSwweDgzLDB4ZWZ9fSwKLSB7MTYsMHgxMmUwLDAsezB4ZjAsMHg5MCwweDc2LDB4MWIsMHhlMCwweDA0LDB4ZjAsMHg4MCwweGE0LDB4OTAsMHg3NiwweDFlLDB4ZTAsMHg5MCwweDdmLDB4YjV9fSwKLSB7MTYsMHgxMmYwLDAsezB4ZjAsMHgyMiwweDkwLDB4NzYsMHgxYiwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWUsMHhmNSwweDgyLDB4ZTR9fSwKLSB7MTYsMHgxMzAwLDAsezB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweDkwLDB4N2YsMHgwMCwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWZ9fSwKLSB7MTYsMHgxMzEwLDAsezB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweDkwLDB4N2YsMHgwMSwweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzR9fSwKLSB7MTYsMHgxMzIwLDAsezB4MDIsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmNCwweDcwLDB4NmQsMHg5MCwweDc2LDB4MzgsMHhlMCwweDkwLDB4NzZ9fSwKLSB7MTYsMHgxMzMwLDAsezB4MWIsMHhmMCwweDkwLDB4NzYsMHgzYSwweGUwLDB4ZmYsMHg5MCwweDc2LDB4MWIsMHhlMCwweGMzLDB4OWYsMHg1MCwweDRmLDB4ZTB9fSwKLSB7MTYsMHgxMzQwLDAsezB4ZmYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YjAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmV9fSwKLSB7MTYsMHgxMzUwLDAsezB4OTAsMHg3NiwweDFlLDB4ZTAsMHhmZCwweDA0LDB4ZjAsMHg3NCwweDAwLDB4MmQsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdmLDB4ZjV9fSwKLSB7MTYsMHgxMzYwLDAsezB4ODMsMHhlZSwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YjEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjV9fSwKLSB7MTYsMHgxMzcwLDAsezB4ODMsMHhlMCwweGZmLDB4OTAsMHg3NiwweDFlLDB4ZTAsMHhmZSwweDA0LDB4ZjAsMHg3NCwweDAwLDB4MmUsMHhmNSwweDgyLDB4ZTR9fSwKLSB7MTYsMHgxMzgwLDAsezB4MzQsMHg3ZiwweGY1LDB4ODMsMHhlZiwweGYwLDB4OTAsMHg3NiwweDFiLDB4ZTAsMHgwNCwweGYwLDB4ODAsMHhhNCwweDkwLDB4NzZ9fSwKLSB7MTYsMHgxMzkwLDAsezB4MWUsMHhlMCwweDkwLDB4N2YsMHhiNSwweGYwLDB4MjIsMHg5MCwweDc2LDB4MWIsMHhlMCwweGZmLDB4NzUsMHhmMCwweDBhLDB4YTR9fSwKLSB7MTYsMHgxM2EwLDAsezB4MjQsMHhiMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHg5MCwweDdmLDB4MDAsMHhmMCwweGVmLDB4NzV9fSwKLSB7MTYsMHgxM2IwLDAsezB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHg5MCwweDdmLDB4MDF9fSwKLSB7MTYsMHgxM2MwLDAsezB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAyLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhlYSwweGUwLDB4ZjQsMHg3MCwweDZkLDB4OTB9fSwKLSB7MTYsMHgxM2QwLDAsezB4NzYsMHgzOCwweGUwLDB4OTAsMHg3NiwweDFiLDB4ZjAsMHg5MCwweDc2LDB4M2EsMHhlMCwweGZmLDB4OTAsMHg3NiwweDFiLDB4ZTB9fSwKLSB7MTYsMHgxM2UwLDAsezB4YzMsMHg5ZiwweDUwLDB4NGYsMHhlMCwweGZmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIyLDB4ZjUsMHg4MiwweGU0LDB4MzR9fSwKLSB7MTYsMHgxM2YwLDAsezB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZSwweDkwLDB4NzYsMHgxZSwweGUwLDB4ZmQsMHgwNCwweGYwLDB4NzQsMHgwMCwweDJkLDB4ZjV9fSwKLSB7MTYsMHgxNDAwLDAsezB4ODIsMHhlNCwweDM0LDB4N2YsMHhmNSwweDgzLDB4ZWUsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIzLDB4ZjV9fSwKLSB7MTYsMHgxNDEwLDAsezB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZiwweDkwLDB4NzYsMHgxZSwweGUwLDB4ZmUsMHgwNCwweGYwLDB4NzR9fSwKLSB7MTYsMHgxNDIwLDAsezB4MDAsMHgyZSwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2YsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDkwLDB4NzYsMHgxYiwweGUwLDB4MDR9fSwKLSB7MTYsMHgxNDMwLDAsezB4ZjAsMHg4MCwweGE0LDB4OTAsMHg3NiwweDFlLDB4ZTAsMHg5MCwweDdmLDB4YjUsMHhmMCwweDIyLDB4OTAsMHg3NiwweDFiLDB4ZTB9fSwKLSB7MTYsMHgxNDQwLDAsezB4ZmYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YjIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4OTB9fSwKLSB7MTYsMHgxNDUwLDAsezB4N2YsMHgwMCwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YjMsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjV9fSwKLSB7MTYsMHgxNDYwLDAsezB4ODMsMHhlMCwweDkwLDB4N2YsMHgwMSwweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMiwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjR9fSwKLSB7MTYsMHgxNDcwLDAsezB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjR9fSwKLSB7IDUsMHgxNDgwLDAsezB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMn19LAotIHsxNiwweDE0ODUsMCx7MHg3NCwweDAwLDB4ZjUsMHg4NiwweDkwLDB4ZmQsMHhhNSwweDdjLDB4MDUsMHhhMywweGU1LDB4ODIsMHg0NSwweDgzLDB4NzAsMHhmOX19LAotIHsgMSwweDE0OTUsMCx7MHgyMn19LAotIHsxNiwweDE0OTYsMCx7MHg5MCwweDdmLDB4ZDYsMHhlMCwweDQ0LDB4ODAsMHhmMCwweDQzLDB4ODcsMHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMn19LAotIHsxNiwweDE0YTYsMCx7MHhjMCwweGQwLDB4YzAsMHhlMCwweDhmLDB4ZTAsMHhjMCwweGUwLDB4OGUsMHhlMCwweGMwLDB4ZTAsMHg4ZCwweGUwLDB4YzAsMHhlMH19LAotIHsxNiwweDE0YjYsMCx7MHg4YywweGUwLDB4YzAsMHhlMCwweGMwLDB4ODIsMHhjMCwweDgzLDB4MDUsMHg4NiwweGMwLDB4ODQsMHhjMCwweDg1LDB4N2QsMHgwMH19LAotIHsxNiwweDE0YzYsMCx7MHg5MCwweDdmLDB4ZTMsMHg3NCwweDdiLDB4ZjAsMHhhMywweDc0LDB4ODAsMHhmMCwweDdjLDB4MTEsMHg5MCwweDdmLDB4OTksMHhlMH19LAotIHsxNiwweDE0ZDYsMCx7MHg1NCwweDQwLDB4ZGMsMHgwMywweDAyLDB4MTQsMHhmMywweGI0LDB4MDAsMHgxMywweDkwLDB4N2YsMHhlMiwweDc0LDB4NDAsMHhmMH19LAotIHsxNiwweDE0ZTYsMCx7MHg5MCwweDdmLDB4ZTUsMHhmMCwweDkwLDB4N2YsMHhlMiwweDc0LDB4MDAsMHhmMCwweDAyLDB4MTQsMHhkMiwweDkwLDB4NzYsMHg5MH19LAotIHsxNiwweDE0ZjYsMCx7MHhlMCwweGI0LDB4MDEsMHgxMiwweDkwLDB4NzYsMHg4ZiwweGUwLDB4MmQsMHhmZCwweDkwLDB4N2YsMHhlMiwweDc0LDB4ODAsMHhmMH19LAotIHsxNiwweDE1MDYsMCx7MHg5MCwweDdmLDB4NmMsMHgwMiwweDE1LDB4NTcsMHhiNCwweDAyLDB4MTIsMHg5MCwweDc2LDB4OGYsMHhlMCwweDJkLDB4ZmQsMHg5MH19LAotIHsxNiwweDE1MTYsMCx7MHg3ZiwweGUyLDB4NzQsMHg4MCwweGYwLDB4OTAsMHg3ZiwweDZjLDB4MDIsMHgxNSwweDk2LDB4YjQsMHgwMywweDEyLDB4OTAsMHg3Nn19LAotIHsxNiwweDE1MjYsMCx7MHg4ZiwweGUwLDB4MmQsMHhmZCwweDkwLDB4N2YsMHhlMiwweDc0LDB4ODAsMHhmMCwweDkwLDB4N2YsMHg2YywweDAyLDB4MTUsMHhlMX19LAotIHsxNiwweDE1MzYsMCx7MHhiNCwweDA0LDB4MTIsMHg5MCwweDc2LDB4OGYsMHhlMCwweDJkLDB4ZmQsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDgwLDB4ZjAsMHg5MH19LAotIHsxNiwweDE1NDYsMCx7MHg3ZiwweDZjLDB4MDIsMHgxNiwweDEwLDB4OTAsMHg3ZiwweGUyLDB4NzQsMHg4MCwweGYwLDB4OTAsMHg3ZiwweDZjLDB4MDIsMHgxNn19LAotIHsxNiwweDE1NTYsMCx7MHg0MCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGRkLDB4ZjIsMHg3ZH19LAotIHsxNiwweDE1NjYsMCx7MHgwMiwweDA1LDB4ODYsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDAwLDB4ZjAsMHg5MCwweDdmLDB4OWIsMHhlMCwweDU0LDB4MDQsMHhiNH19LAotIHsxNiwweDE1NzYsMCx7MHgwMCwweDA1LDB4MDUsMHg4NiwweDAyLDB4MTYsMHg0MCwweDkwLDB4N2YsMHhlMiwweDc0LDB4ODAsMHhmMCwweDA1LDB4ODYsMHhmMH19LAotIHsxNiwweDE1ODYsMCx7MHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZGQsMHhkNCwweDAyLDB4MTYsMHg0MH19LAotIHsxNiwweDE1OTYsMCx7MHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMH19LAotIHsxNiwweDE1YTYsMCx7MHhmMCwweGYwLDB4ZGQsMHhlYywweDdkLDB4MDIsMHgwNSwweDg2LDB4OTAsMHg3ZiwweGUyLDB4NzQsMHgwMCwweGYwLDB4OTAsMHg3Zn19LAotIHsxNiwweDE1YjYsMCx7MHg5YiwweGUwLDB4NTQsMHgwNCwweGI0LDB4MDAsMHgwNSwweDA1LDB4ODYsMHgwMiwweDE2LDB4NDAsMHg5MCwweDdmLDB4ZTIsMHg3NH19LAotIHsxNiwweDE1YzYsMCx7MHg4MCwweGYwLDB4MDUsMHg4NiwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMH19LAotIHsgNiwweDE1ZDYsMCx7MHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjB9fSwKLSB7MTYsMHgxNWRjLDAsezB4ZGQsMHhjZSwweDAyLDB4MTYsMHg0MCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZGQsMHhmYSwweDdkLDB4MDIsMHgwNSwweDg2LDB4OTB9fSwKLSB7MTYsMHgxNWVjLDAsezB4N2YsMHhlMiwweDc0LDB4MDAsMHhmMCwweDkwLDB4N2YsMHg5YiwweGUwLDB4NTQsMHgwNCwweGI0LDB4MDAsMHgwNSwweDA1LDB4ODZ9fSwKLSB7MTYsMHgxNWZjLDAsezB4MDIsMHgxNiwweDQwLDB4OTAsMHg3ZiwweGUyLDB4NzQsMHg4MCwweGYwLDB4MDUsMHg4NiwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZGR9fSwKLSB7MTYsMHgxNjBjLDAsezB4ZGMsMHgwMiwweDE2LDB4NDAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhkZCwweGY4LDB4N2QsMHgwMiwweDA1LDB4ODZ9fSwKLSB7MTYsMHgxNjFjLDAsezB4OTAsMHg3ZiwweGUyLDB4NzQsMHgwMCwweGYwLDB4OTAsMHg3ZiwweDliLDB4ZTAsMHg1NCwweDA0LDB4YjQsMHgwMCwweDA1LDB4MDV9fSwKLSB7MTYsMHgxNjJjLDAsezB4ODYsMHgwMiwweDE2LDB4NDAsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDgwLDB4ZjAsMHgwNSwweDg2LDB4ZjAsMHhmMCwweGYwLDB4ZjB9fSwKLSB7MTYsMHgxNjNjLDAsezB4ZjAsMHhmMCwweGRkLDB4ZGEsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDAwLDB4ZjAsMHhkMCwweDg1LDB4ZDAsMHg4NCwweDA1LDB4ODZ9fSwKLSB7MTYsMHgxNjRjLDAsezB4ZDAsMHg4MywweGQwLDB4ODIsMHhkMCwweGUwLDB4ZmMsMHhkMCwweGUwLDB4ZmQsMHhkMCwweGUwLDB4ZmUsMHhkMCwweGUwLDB4ZmZ9fSwKLSB7IDUsMHgxNjVjLDAsezB4ZDAsMHhlMCwweGQwLDB4ZDAsMHgyMn19LAotIHsxNiwweDE2NjEsMCx7MHhjMCwweGQwLDB4YzAsMHhlMCwweGMwLDB4ODIsMHhjMCwweDgzLDB4OTAsMHg3NiwweDdjLDB4ZTAsMHg5MCwweDdmLDB4NmYsMHhmMH19LAotIHsxNiwweDE2NzEsMCx7MHg5MCwweDc2LDB4N2QsMHhlMCwweDkwLDB4N2YsMHg2ZiwweGYwLDB4OTAsMHg3NiwweDdlLDB4ZTAsMHg5MCwweDdmLDB4NmYsMHhmMH19LAotIHsgOSwweDE2ODEsMCx7MHhkMCwweDgzLDB4ZDAsMHg4MiwweGQwLDB4ZTAsMHhkMCwweGQwLDB4MjJ9fSwKLSB7MTYsMHgxNjhhLDAsezB4YzAsMHhkMCwweGMwLDB4ZTAsMHg4ZiwweGUwLDB4YzAsMHhlMCwweDhlLDB4ZTAsMHhjMCwweGUwLDB4YzAsMHg4MiwweGMwLDB4ODN9fSwKLSB7MTYsMHgxNjlhLDAsezB4MDUsMHg4NiwweGMwLDB4ODQsMHhjMCwweDg1LDB4OTAsMHg3NiwweDg3LDB4ZTAsMHhmZiwweGJmLDB4MDAsMHgwMywweDAyLDB4MTd9fSwKLSB7MTYsMHgxNmFhLDAsezB4MDEsMHg5MCwweDdmLDB4OTYsMHhlMCwweDQ0LDB4ODAsMHhmMCwweDkwLDB4N2YsMHhlMiwweDc0LDB4ODAsMHhmMCwweDkwLDB4N2Z9fSwKLSB7MTYsMHgxNmJhLDAsezB4NjIsMHhlMCwweDA1LDB4ODYsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDAwLDB4ZjAsMHg5MCwweDdmLDB4OTYsMHhlMCwweDU0LDB4N2Z9fSwKLSB7MTYsMHgxNmNhLDAsezB4ZjAsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDgwLDB4ZjAsMHg5MCwweDc2LDB4OGUsMHhlMCwweGI0LDB4MDEsMHgwNSwweDA1LDB4ODZ9fSwKLSB7MTYsMHgxNmRhLDAsezB4MDIsMHgxNiwweGY2LDB4YjQsMHgwMiwweDA1LDB4MDUsMHg4NiwweDAyLDB4MTYsMHhlYiwweDA1LDB4ODYsMHgwMiwweDE2LDB4ZmJ9fSwKLSB7MTYsMHgxNmVhLDAsezB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZGYsMHhmOCwweDAyLDB4MTYsMHhmYiwweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZGZ9fSwKLSB7MTYsMHgxNmZhLDAsezB4ZmEsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDAwLDB4ZjAsMHhkMCwweDg1LDB4ZDAsMHg4NCwweDA1LDB4ODYsMHhkMCwweDgzLDB4ZDB9fSwKLSB7MTIsMHgxNzBhLDAsezB4ODIsMHhkMCwweGUwLDB4ZmUsMHhkMCwweGUwLDB4ZmYsMHhkMCwweGUwLDB4ZDAsMHhkMCwweDIyfX0sCi0gezE2LDB4MTcxNiwwLHsweGMwLDB4ODIsMHhjMCwweDgzLDB4YzAsMHhlMCwweGU4LDB4YzAsMHhlMCwweDc4LDB4ZDEsMHhlOCwweDE0LDB4ZjgsMHg3MCwweGZifX0sCi0gezEwLDB4MTcyNiwwLHsweGQwLDB4ZTAsMHhmOCwweGQwLDB4ZTAsMHhkMCwweDgzLDB4ZDAsMHg4MiwweDIyfX0sCi0gezE2LDB4MTczMCwwLHsweGMwLDB4ODIsMHhjMCwweDgzLDB4YzAsMHhlMCwweGU4LDB4YzAsMHhlMCwweDc4LDB4NzgsMHhlOCwweDE0LDB4ZjgsMHg3MCwweGZifX0sCi0gezEwLDB4MTc0MCwwLHsweGQwLDB4ZTAsMHhmOCwweGQwLDB4ZTAsMHhkMCwweDgzLDB4ZDAsMHg4MiwweDIyfX0sCi0geyA3LDB4MTc0YSwwLHsweDkwLDB4N2YsMHhjNSwweDc0LDB4MDIsMHhmMCwweDIyfX0sCi0gezE2LDB4MTc1MSwwLHsweDkwLDB4N2UsMHhjMCwweGUwLDB4OTAsMHg3NiwweDQ1LDB4ZjAsMHg5MCwweDdlLDB4YzEsMHhlMCwweDkwLDB4NzYsMHg0NCwweGYwfX0sCi0gezE2LDB4MTc2MSwwLHsweDkwLDB4N2UsMHhjMiwweGUwLDB4OTAsMHg3NiwweDQzLDB4ZjAsMHhiNCwweDAwLDB4MDMsMHgwMiwweDE3LDB4NzgsMHg5MCwweDc2fX0sCi0gezE2LDB4MTc3MSwwLHsweDE5LDB4NzQsMHgwMywweGYwLDB4MDIsMHgxNywweDhlLDB4OTAsMHg3NiwweDQ0LDB4ZTAsMHhiNCwweGJiLDB4MDksMHg5MCwweDc2fX0sCi0gezE2LDB4MTc4MSwwLHsweDE5LDB4NzQsMHgwMiwweGYwLDB4MDIsMHgxNywweDhlLDB4OTAsMHg3NiwweDE5LDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3NiwweDQyfX0sCi0geyAzLDB4MTc5MSwwLHsweGU0LDB4ZjAsMHgyMn19LAotIHsgNCwweDE3OTQsMCx7MHg4ZCwweDI5LDB4OGIsMHgyYX19LAotIHsxNiwweDE3OTgsMCx7MHgxMiwweDQ5LDB4ZmYsMHhlYSwweDQ5LDB4NjAsMHg1NywweDEyLDB4MzYsMHg5MiwweDdlLDB4MDAsMHgyOSwweGZmLDB4ZWUsMHgzYX19LAotIHsxNiwweDE3YTgsMCx7MHhjOSwweGVmLDB4YzksMHg3NSwweDJiLDB4ZmYsMHhmNSwweDJjLDB4ODksMHgyZCwweGFiLDB4MmIsMHhhYSwweDJjLDB4YTksMHgyZH19LAotIHsxNiwweDE3YjgsMCx7MHg5MCwweDAwLDB4MDEsMHgxMiwweDM2LDB4YWIsMHhmZiwweDY0LDB4MDQsMHg2MCwweDA1LDB4ZWYsMHg2NCwweDA1LDB4NzAsMHgyZX19LAotIHsxNiwweDE3YzgsMCx7MHhlZiwweGI0LDB4MDQsMHgxNSwweDkwLDB4MDAsMHgwMiwweDEyLDB4MzYsMHhhYiwweDY1LDB4MjksMHg3MCwweDBiLDB4OTAsMHgwMH19LAotIHsxNiwweDE3ZDgsMCx7MHgwMywweDEyLDB4MzYsMHhhYiwweDY1LDB4MmEsMHg3MCwweDAxLDB4MjIsMHgxMiwweDM2LDB4OTIsMHg3ZSwweDAwLDB4MjksMHhmZn19LAotIHsxNiwweDE3ZTgsMCx7MHhlZSwweDNhLDB4YzksMHhlZiwweGM5LDB4NzUsMHgyYiwweGZmLDB4ZjUsMHgyYywweDg5LDB4MmQsMHg4MCwweGJjLDB4N2IsMHgwMH19LAotIHsgNCwweDE3ZjgsMCx7MHg3YSwweDAwLDB4NzksMHgwMH19LAotIHsgMSwweDE3ZmMsMCx7MHgyMn19LAotIHsgMywweDE3ZmQsMCx7MHhjMiwweDhiLDB4MzJ9fSwKLSB7MTYsMHgxODAwLDAsezB4OTAsMHg3NiwweDkwLDB4ZTAsMHgxNCwweDYwLDB4MzcsMHgxNCwweDcwLDB4MDIsMHgwMSwweGQ4LDB4MTQsMHg3MCwweDAyLDB4MjF9fSwKLSB7MTYsMHgxODEwLDAsezB4NzIsMHgxNCwweDcwLDB4MDIsMHg0MSwweDNiLDB4MjQsMHgwNCwweDYwLDB4MDIsMHg2MSwweDAzLDB4OTAsMHg3ZiwweGZjLDB4NzR9fSwKLSB7MTYsMHgxODIwLDAsezB4Y2MsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmMsMHhmMCwweDkwLDB4NzYsMHg5NSwweGUwLDB4NDQsMHgwMSwweGYwLDB4NTR9fSwKLSB7MTYsMHgxODMwLDAsezB4MDUsMHhmMCwweDkwLDB4ODAsMHgwMSwweGYwLDB4ZTQsMHg5MCwweDc2LDB4MWEsMHhmMCwweGMyLDB4MmUsMHgyMiwweDkwLDB4NzZ9fSwKLSB7MTYsMHgxODQwLDAsezB4OTUsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDQ0LDB4MDIsMHhmMCwweDMwLDB4M2UsMHgwNiwweGUwLDB4NDQsMHgwNCwweGYwLDB4ODB9fSwKLSB7MTYsMHgxODUwLDAsezB4MDcsMHg5MCwweDc2LDB4OTUsMHhlMCwweDU0LDB4ZmIsMHhmMCwweDkwLDB4NzYsMHgxYSwweGUwLDB4YjQsMHgwMSwweDA4LDB4OTB9fSwKLSB7MTYsMHgxODYwLDAsezB4NzYsMHg5NSwweGUwLDB4OTAsMHg4MCwweDAxLDB4ZjAsMHg5MCwweDc2LDB4MTksMHhlMCwweGZmLDB4YjQsMHgwMSwweDIyLDB4OTB9fSwKLSB7MTYsMHgxODcwLDAsezB4N2YsMHhmYywweDc0LDB4NzQsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmMsMHhmMCwweDkwLDB4NzYsMHg4ZiwweDc0LDB4MmJ9fSwKLSB7MTYsMHgxODgwLDAsezB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMCwweDU0LDB4ZmQsMHhmMCwweGU0LDB4OTAsMHg3NiwweDgxLDB4ZjAsMHg5MCwweDc2LDB4ODB9fSwKLSB7MTYsMHgxODkwLDAsezB4ZjAsMHhlZiwweGI0LDB4MDIsMHgyMiwweDkwLDB4N2YsMHhmYywweDc0LDB4NjgsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmN9fSwKLSB7MTYsMHgxOGEwLDAsezB4ZjAsMHg5MCwweDc2LDB4OGYsMHg3NCwweDJmLDB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMCwweDQ0LDB4MDIsMHhmMCwweGU0LDB4OTB9fSwKLSB7MTYsMHgxOGIwLDAsezB4NzYsMHg4MSwweGYwLDB4OTAsMHg3NiwweDgwLDB4ZjAsMHgzMCwweDNmLDB4MDksMHg5MCwweDc2LDB4OTcsMHhlMCwweDU0LDB4ZmV9fSwKLSB7MTYsMHgxOGMwLDAsezB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMCwweDU0LDB4ZmJ9fSwKLSB7MTYsMHgxOGQwLDAsezB4ZjAsMHg5MCwweDgwLDB4MDIsMHhmMCwweGQyLDB4MmUsMHgyMiwweDkwLDB4NzYsMHg5NSwweGUwLDB4NTQsMHhmZSwweGYwLDB4NDR9fSwKLSB7MTYsMHgxOGUwLDAsezB4MDIsMHhmMCwweDMwLDB4M2UsMHgwNiwweGUwLDB4NDQsMHgwNCwweGYwLDB4ODAsMHgwNywweDkwLDB4NzYsMHg5NSwweGUwLDB4NTR9fSwKLSB7MTYsMHgxOGYwLDAsezB4ZmIsMHhmMCwweDkwLDB4NzYsMHgxYSwweGUwLDB4YjQsMHgwMSwweDA4LDB4OTAsMHg3NiwweDk1LDB4ZTAsMHg5MCwweDgwLDB4MDF9fSwKLSB7MTYsMHgxOTAwLDAsezB4ZjAsMHg5MCwweDc2LDB4MTksMHhlMCwweGZmLDB4YjQsMHgwMSwweDIyLDB4OTAsMHg3ZiwweGZjLDB4NzQsMHgzMCwweGYwLDB4OTB9fSwKLSB7MTYsMHgxOTEwLDAsezB4N2YsMHhmZiwweDc0LDB4ZmMsMHhmMCwweDkwLDB4NzYsMHg4ZiwweDc0LDB4MmIsMHhmMCwweDkwLDB4NzYsMHg5NywweGUwLDB4NTR9fSwKLSB7MTYsMHgxOTIwLDAsezB4ZmQsMHhmMCwweGU0LDB4OTAsMHg3NiwweDgxLDB4ZjAsMHg5MCwweDc2LDB4ODAsMHhmMCwweGVmLDB4YjQsMHgwMiwweDIyLDB4OTB9fSwKLSB7MTYsMHgxOTMwLDAsezB4N2YsMHhmYywweDc0LDB4MWMsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmMsMHhmMCwweDkwLDB4NzYsMHg4ZiwweDc0LDB4MmZ9fSwKLSB7MTYsMHgxOTQwLDAsezB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMCwweDQ0LDB4MDIsMHhmMCwweGU0LDB4OTAsMHg3NiwweDgxLDB4ZjAsMHg5MCwweDc2LDB4ODB9fSwKLSB7MTYsMHgxOTUwLDAsezB4ZjAsMHgzMCwweDNmLDB4MDksMHg5MCwweDc2LDB4OTcsMHhlMCwweDU0LDB4ZmUsMHhmMCwweDgwLDB4MDcsMHg5MCwweDc2LDB4OTd9fSwKLSB7MTYsMHgxOTYwLDAsezB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMCwweDU0LDB4ZmIsMHhmMCwweDkwLDB4ODAsMHgwMiwweGYwLDB4ZDJ9fSwKLSB7MTYsMHgxOTcwLDAsezB4MmUsMHgyMiwweDkwLDB4NzYsMHg5NSwweGUwLDB4NDQsMHgwMSwweGYwLDB4NDQsMHgwMiwweGYwLDB4NDQsMHgwOCwweGYwLDB4MzB9fSwKLSB7MTYsMHgxOTgwLDAsezB4M2UsMHgwNiwweGUwLDB4NDQsMHgwNCwweGYwLDB4ODAsMHgwNywweDkwLDB4NzYsMHg5NSwweGUwLDB4NTQsMHhmYiwweGYwLDB4OTB9fSwKLSB7MTYsMHgxOTkwLDAsezB4NzYsMHgxYSwweGUwLDB4YjQsMHgwMSwweDA4LDB4OTAsMHg3NiwweDk1LDB4ZTAsMHg5MCwweDgwLDB4MDEsMHhmMCwweDkwLDB4NzZ9fSwKLSB7MTYsMHgxOWEwLDAsezB4MTksMHhlMCwweGZmLDB4YjQsMHgwMSwweDI1LDB4OTAsMHg3ZiwweGZjLDB4NzQsMHhjYywweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzR9fSwKLSB7MTYsMHgxOWIwLDAsezB4ZmMsMHhmMCwweDkwLDB4NzYsMHg4ZiwweDc0LDB4MmIsMHhmMCwweDkwLDB4NzYsMHg5NywweGUwLDB4NTQsMHhmZCwweGYwLDB4NTR9fSwKLSB7MTYsMHgxOWMwLDAsezB4ZmIsMHhmMCwweGU0LDB4OTAsMHg3NiwweDgxLDB4ZjAsMHg5MCwweDc2LDB4ODAsMHhmMCwweGVmLDB4YjQsMHgwMiwweDI1LDB4OTB9fSwKLSB7MTYsMHgxOWQwLDAsezB4N2YsMHhmYywweDc0LDB4YzgsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmMsMHhmMCwweDkwLDB4NzYsMHg4ZiwweDc0LDB4MmZ9fSwKLSB7MTYsMHgxOWUwLDAsezB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMCwweDQ0LDB4MDIsMHhmMCwweDU0LDB4ZmIsMHhmMCwweGU0LDB4OTAsMHg3NiwweDgxLDB4ZjB9fSwKLSB7MTYsMHgxOWYwLDAsezB4OTAsMHg3NiwweDgwLDB4ZjAsMHhlZiwweGI0LDB4MDMsMHgyNSwweDkwLDB4N2YsMHhmYywweDc0LDB4OTgsMHhmMCwweDkwLDB4N2Z9fSwKLSB7MTYsMHgxYTAwLDAsezB4ZmYsMHg3NCwweGZjLDB4ZjAsMHg5MCwweDc2LDB4OGYsMHg3NCwweDVmLDB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMCwweDU0LDB4ZmR9fSwKLSB7MTYsMHgxYTEwLDAsezB4ZjAsMHg0NCwweDA0LDB4ZjAsMHhlNCwweDkwLDB4NzYsMHg4MSwweGYwLDB4OTAsMHg3NiwweDgwLDB4ZjAsMHgzMCwweDNmLDB4MDl9fSwKLSB7MTYsMHgxYTIwLDAsezB4OTAsMHg3NiwweDk3LDB4ZTAsMHg1NCwweGZlLDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg0NCwweDAxLDB4ZjB9fSwKLSB7MTYsMHgxYTMwLDAsezB4OTAsMHg3NiwweDk3LDB4ZTAsMHg5MCwweDgwLDB4MDIsMHhmMCwweGQyLDB4MmUsMHgyMiwweDkwLDB4NzYsMHg5NSwweGUwLDB4NTR9fSwKLSB7MTYsMHgxYTQwLDAsezB4ZmUsMHhmMCwweDQ0LDB4MDIsMHhmMCwweDQ0LDB4MDgsMHhmMCwweDMwLDB4M2UsMHgwNiwweGUwLDB4NDQsMHgwNCwweGYwLDB4ODB9fSwKLSB7MTYsMHgxYTUwLDAsezB4MDcsMHg5MCwweDc2LDB4OTUsMHhlMCwweDU0LDB4ZmIsMHhmMCwweDkwLDB4NzYsMHgxYSwweGUwLDB4YjQsMHgwMSwweDA4LDB4OTB9fSwKLSB7MTYsMHgxYTYwLDAsezB4NzYsMHg5NSwweGUwLDB4OTAsMHg4MCwweDAxLDB4ZjAsMHg5MCwweDc2LDB4MTksMHhlMCwweGZmLDB4YjQsMHgwMSwweDI1LDB4OTB9fSwKLSB7MTYsMHgxYTcwLDAsezB4N2YsMHhmYywweDc0LDB4YjQsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmMsMHhmMCwweDkwLDB4NzYsMHg4ZiwweDc0LDB4MmJ9fSwKLSB7MTYsMHgxYTgwLDAsezB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMCwweDU0LDB4ZmQsMHhmMCwweDU0LDB4ZmIsMHhmMCwweGU0LDB4OTAsMHg3NiwweDgxLDB4ZjB9fSwKLSB7MTYsMHgxYTkwLDAsezB4OTAsMHg3NiwweDgwLDB4ZjAsMHhlZiwweGI0LDB4MDIsMHgyNSwweDkwLDB4N2YsMHhmYywweDc0LDB4YjAsMHhmMCwweDkwLDB4N2Z9fSwKLSB7MTYsMHgxYWEwLDAsezB4ZmYsMHg3NCwweGZjLDB4ZjAsMHg5MCwweDc2LDB4OGYsMHg3NCwweDJmLDB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMCwweDQ0LDB4MDJ9fSwKLSB7MTYsMHgxYWIwLDAsezB4ZjAsMHg1NCwweGZiLDB4ZjAsMHhlNCwweDkwLDB4NzYsMHg4MSwweGYwLDB4OTAsMHg3NiwweDgwLDB4ZjAsMHhlZiwweGI0LDB4MDN9fSwKLSB7MTYsMHgxYWMwLDAsezB4MjUsMHg5MCwweDdmLDB4ZmMsMHg3NCwweDY4LDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHg5MCwweDc2LDB4OGZ9fSwKLSB7MTYsMHgxYWQwLDAsezB4NzQsMHg1ZiwweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg1NCwweGZkLDB4ZjAsMHg0NCwweDA0LDB4ZjAsMHhlNCwweDkwLDB4NzZ9fSwKLSB7MTYsMHgxYWUwLDAsezB4ODEsMHhmMCwweDkwLDB4NzYsMHg4MCwweGYwLDB4MzAsMHgzZiwweDA5LDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg1NCwweGZlLDB4ZjB9fSwKLSB7MTYsMHgxYWYwLDAsezB4ODAsMHgwNywweDkwLDB4NzYsMHg5NywweGUwLDB4NDQsMHgwMSwweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg5MCwweDgwLDB4MDJ9fSwKLSB7IDQsMHgxYjAwLDAsezB4ZjAsMHhkMiwweDJlLDB4MjJ9fSwKLSB7MTYsMHgxYjA0LDAsezB4MzAsMHgyYywweDM4LDB4YzIsMHgyYywweDkwLDB4NzYsMHgxOSwweGUwLDB4ZmYsMHhiNCwweDAxLDB4MGUsMHg5MCwweDc2LDB4N2N9fSwKLSB7MTYsMHgxYjE0LDAsezB4NzQsMHhjMCwweGYwLDB4YTMsMHg3NCwweDE0LDB4ZjAsMHhhMywweDc0LDB4MGIsMHhmMCwweGVmLDB4YjQsMHgwMiwweDBkLDB4ZTR9fSwKLSB7MTYsMHgxYjI0LDAsezB4OTAsMHg3NiwweDdjLDB4ZjAsMHhhMywweDc0LDB4MTAsMHhmMCwweGEzLDB4NzQsMHgwYywweGYwLDB4ZWYsMHhiNCwweDAzLDB4MGJ9fSwKLSB7MTIsMHgxYjM0LDAsezB4ZTQsMHg5MCwweDc2LDB4N2MsMHhmMCwweGEzLDB4NzQsMHgxOCwweGYwLDB4YTMsMHhmMCwweDIyfX0sCi0gezE2LDB4MWI0MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWI1MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWI2MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWI3MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWI4MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWI5MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWJhMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWJiMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWJjMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWJkMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWJlMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWJmMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWMwMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWMxMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWMyMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWMzMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWM0MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWM1MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWM2MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWM3MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWM4MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWM5MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWNhMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWNiMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWNjMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWNkMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWNlMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWNmMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWQwMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWQxMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWQyMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWQzMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWQ0MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWQ1MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWQ2MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWQ3MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWQ4MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWQ5MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWRhMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWRiMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWRjMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWRkMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWRlMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWRmMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWUwMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWUxMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWUyMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWUzMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWU0MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWU1MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWU2MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWU3MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWU4MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWU5MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWVhMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE0LDB4MWViMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZWJlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZWNlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZWRlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZWVlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZWZlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZjBlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZjFlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZjJlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7IDIsMHgxZjNlLDAsezB4MDAsMHgwMH19LAotIHsxNiwweDFmNDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFmNTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFmNjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFmNzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFmODAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFmOTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFmYTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFmYjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFmYzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFmZDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFmZTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFmZjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIwMDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIwMTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIwMjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIwMzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIwNDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIwNTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIwNjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIwNzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIwODAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIwOTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIwYTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIwYjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIwYzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIwZDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIwZTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIwZjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIxMDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIxMTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIxMjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIxMzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIxNDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIxNTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIxNjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIxNzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIxODAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIxOTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIxYTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIxYjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIxYzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIxZDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIxZTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIxZjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIyMDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIyMTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIyMjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIyMzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIyNDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIyNTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIyNjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIyNzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIyODAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIyOTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIyYTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIyYjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIyYzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIyZDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIyZTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIyZjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIzMDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIzMTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIzMjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIzMzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIzNDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIzNTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDIzNjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNCwweDIzNzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjM3ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjM4ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjM5ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjNhZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjNiZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjNjZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjNkZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjNlZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjNmZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjQwZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjQxZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjQyZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjQzZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjQ0ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjQ1ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjQ2ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjQ3ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjQ4ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjQ5ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjRhZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjRiZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjRjZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjRkZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjRlZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjRmZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjUwZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjUxZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjUyZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjUzZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjU0ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjU1ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjU2ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjU3ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjU4ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjU5ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjVhZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjViZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjVjZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjVkZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjVlZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjVmZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjYwZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjYxZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjYyZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjYzZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjY0ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjY1ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjY2ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjY3ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjY4ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjY5ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjZhZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjZiZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjZjZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjZkZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE0LDB4MjZlZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNmZjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNzBjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNzFjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNzJjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNzNjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNzRjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNzVjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNzZjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNzdjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNzhjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNzljLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyN2FjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyN2JjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyN2NjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyN2RjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyN2VjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7IDUsMHgyN2ZjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMn19LAotIHsxNiwweDI4MDEsMCx7MHhjMiwweDIwLDB4YzIsMHgyMSwweGMyLDB4MmEsMHg5MCwweDdmLDB4ZTgsMHhlMCwweDEyLDB4MzcsMHhmOSwweDI4LDB4MzAsMHgwMH19LAotIHsxNiwweDI4MTEsMCx7MHgyOCwweDhjLDB4MDEsMHgyOCwweGEyLDB4MDIsMHgyYSwweDFmLDB4MjEsMHgyYSwweDZhLDB4MjIsMHgyOSwweDNkLDB4ODAsMHgyOX19LAotIHsxNiwweDI4MjEsMCx7MHg3ZCwweDgxLDB4MjksMHhkMSwweDgyLDB4MmEsMHg4NCwweGExLDB4MmEsMHhiYSwweGEyLDB4MDAsMHgwMCwweDJhLDB4YmYsMHg5MH19LAotIHsxNiwweDI4MzEsMCx7MHg3ZiwweGU5LDB4ZTAsMHgxNCwweDYwLDB4MTEsMHgyNCwweGZlLDB4NjAsMHgyOCwweDI0LDB4ZmUsMHg2MCwweDNiLDB4MjQsMHhmY319LAotIHsxNiwweDI4NDEsMCx7MHg3MCwweDQwLDB4MTIsMHg0YiwweGEwLDB4NDEsMHhjYiwweDEyLDB4NGQsMHhhNywweDQwLDB4MDIsMHg0MSwweGNiLDB4OTAsMHg3Zn19LAotIHsxNiwweDI4NTEsMCx7MHhlYSwweGUwLDB4YjQsMHgwMSwweDA0LDB4YzIsMHgyMiwweDQxLDB4Y2IsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMH19LAotIHsxNiwweDI4NjEsMCx7MHg0MSwweGNiLDB4MTIsMHg0ZCwweGE5LDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhiNCwweDAxLDB4MDQsMHhkMiwweDIyLDB4NDEsMHhjYn19LAotIHsxNiwweDI4NzEsMCx7MHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDQxLDB4Y2IsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMH19LAotIHsxNiwweDI4ODEsMCx7MHg0MSwweGNiLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg0MSwweGNiLDB4OTAsMHg3ZiwweGU5LDB4ZTAsMHgyNH19LAotIHsxNiwweDI4OTEsMCx7MHhmNSwweDcwLDB4MDUsMHgxMiwweDQ4LDB4MDAsMHg0MSwweGNiLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg0MX19LAotIHsxNiwweDI4YTEsMCx7MHhjYiwweDkwLDB4N2YsMHhlOSwweGUwLDB4MjQsMHhmZCwweDYwLDB4NTQsMHgyNCwweDAyLDB4NjAsMHgwMiwweDIxLDB4MzQsMHgxMn19LAotIHsxNiwweDI4YjEsMCx7MHg0ZCwweGE3LDB4NDAsMHgwMiwweDQxLDB4Y2IsMHg5MCwweDdmLDB4ZWEsMHhlMCwweDcwLDB4MzgsMHg5MCwweDdmLDB4ZWMsMHhlMH19LAotIHsxNiwweDI4YzEsMCx7MHhmNCwweDU0LDB4ODAsMHhmZiwweGM0LDB4NTQsMHgwZiwweGZmLDB4ZTAsMHg1NCwweDA3LDB4MmYsMHgyNSwweGUwLDB4MjQsMHhiNH19LAotIHsxNiwweDI4ZDEsMCx7MHhmNSwweDgyLDB4ZTQsMHgzNCwweDdmLDB4ZjUsMHg4MywweGU0LDB4ZjAsMHg5MCwweDdmLDB4ZWMsMHhlMCwweDU0LDB4ODAsMHhmZn19LAotIHsxNiwweDI4ZTEsMCx7MHgxMywweDEzLDB4MTMsMHg1NCwweDFmLDB4ZmYsMHhlMCwweDU0LDB4MDcsMHgyZiwweDkwLDB4N2YsMHhkNywweGYwLDB4ZTAsMHg0NH19LAotIHsxNiwweDI4ZjEsMCx7MHgyMCwweGYwLDB4NDEsMHhjYiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4NDEsMHhjYiwweDEyLDB4NGQsMHhhOX19LAotIHsxNiwweDI5MDEsMCx7MHg0MCwweDAyLDB4NDEsMHhjYiwweDkwLDB4N2YsMHhlYSwweGUwLDB4NzAsMHgyMCwweDkwLDB4N2YsMHhlYywweGUwLDB4ZjQsMHg1NH19LAotIHsxNiwweDI5MTEsMCx7MHg4MCwweGZmLDB4YzQsMHg1NCwweDBmLDB4ZmYsMHhlMCwweDU0LDB4MDcsMHgyZiwweDI1LDB4ZTAsMHgyNCwweGI0LDB4ZjUsMHg4Mn19LAotIHsxNiwweDI5MjEsMCx7MHhlNCwweDM0LDB4N2YsMHhmNSwweDgzLDB4NzQsMHgwMSwweGYwLDB4NDEsMHhjYiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMX19LAotIHsxNiwweDI5MzEsMCx7MHhmMCwweDQxLDB4Y2IsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDQxLDB4Y2IsMHg5MCwweDdmLDB4ZTksMHhlMH19LAotIHsxNiwweDI5NDEsMCx7MHg2MCwweDEyLDB4MjQsMHhmOCwweDYwLDB4MDksMHgyNCwweDAyLDB4NzAsMHgyOSwweDEyLDB4NDMsMHhkYiwweDQxLDB4Y2IsMHgxMn19LAotIHsxNiwweDI5NTEsMCx7MHg0ZCwweDVjLDB4NDEsMHhjYiwweDEyLDB4NGQsMHhhNSwweGEyLDB4MjIsMHhlNCwweDMzLDB4ZmYsMHgyNSwweGUwLDB4ZmYsMHhhMn19LAotIHsxNiwweDI5NjEsMCx7MHgyMywweGU0LDB4MzMsMHg0ZiwweDkwLDB4N2YsMHgwMCwweGYwLDB4ZTQsMHhhMywweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMn19LAotIHsxNiwweDI5NzEsMCx7MHhmMCwweDQxLDB4Y2IsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDQxLDB4Y2IsMHg5MCwweDdmLDB4ZTksMHhlMH19LAotIHsxNiwweDI5ODEsMCx7MHg2MCwweDMzLDB4MjQsMHhmNiwweDYwLDB4MmEsMHgyNCwweDA0LDB4NzAsMHgzZCwweDkwLDB4N2YsMHhlYiwweGUwLDB4MjQsMHhkZX19LAotIHsxNiwweDI5OTEsMCx7MHg2MCwweDBjLDB4MDQsMHg3MCwweDEyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg0MSwweGNiLDB4OTAsMHg3Zn19LAotIHsxNiwweDI5YTEsMCx7MHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4NDEsMHhjYiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4NDEsMHhjYn19LAotIHsxNiwweDI5YjEsMCx7MHgxMiwweDQ2LDB4ODUsMHg0MSwweGNiLDB4MTIsMHg0ZCwweGE1LDB4ZTQsMHg5MCwweDdmLDB4MDAsMHhmMCwweGEzLDB4ZjAsMHg5MH19LAotIHsxNiwweDI5YzEsMCx7MHg3ZiwweGI1LDB4NzQsMHgwMiwweGYwLDB4NDEsMHhjYiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4NDEsMHhjYn19LAotIHsxNiwweDI5ZDEsMCx7MHg5MCwweDdmLDB4ZTksMHhlMCwweDI0LDB4ZjQsMHg2MCwweDM0LDB4MjQsMHgwYywweDcwLDB4MzksMHgxMiwweDRkLDB4YTUsMHg5MH19LAotIHsxNiwweDI5ZTEsMCx7MHg3ZiwweGVjLDB4ZTAsMHhmNCwweDU0LDB4ODAsMHhmZiwweGM0LDB4NTQsMHgwZiwweGZmLDB4ZTAsMHg1NCwweDA3LDB4MmYsMHgyNX19LAotIHsxNiwweDI5ZjEsMCx7MHhlMCwweDI0LDB4YjQsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdmLDB4ZjUsMHg4MywweGUwLDB4NTQsMHhmZCwweDkwLDB4N2YsMHgwMH19LAotIHsxNiwweDJhMDEsMCx7MHhmMCwweGU0LDB4YTMsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDIsMHhmMCwweDQxLDB4Y2IsMHg5MCwweDdmLDB4YjQsMHhlMH19LAotIHsxNiwweDJhMTEsMCx7MHg0NCwweDAxLDB4ZjAsMHg0MSwweGNiLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg0MSwweGNiLDB4OTAsMHg3Zn19LAotIHsxNiwweDJhMjEsMCx7MHhlOSwweGUwLDB4MjQsMHhmNiwweDYwLDB4MTIsMHgxNCwweDYwLDB4MWEsMHgyNCwweDAyLDB4NzAsMHgxZCwweGQyLDB4MjAsMHg5MH19LAotIHsxNiwweDJhMzEsMCx7MHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg4MCwweDEyLDB4ZDIsMHgyMCwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMX19LAotIHsxNiwweDJhNDEsMCx7MHhmMCwweDgwLDB4MDcsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIwLDB4MjAsMHgxOCwweDkwLDB4N2YsMHhlZX19LAotIHsxNiwweDJhNTEsMCx7MHhlMCwweDcwLDB4MDQsMHhhMywweGUwLDB4NjAsMHgwYiwweGQyLDB4MjksMHhkMiwweDI3LDB4MTIsMHgxNywweDRhLDB4ZDIsMHgyYX19LAotIHsxNiwweDJhNjEsMCx7MHg4MCwweDAzLDB4MTIsMHgwOCwweDAwLDB4YzIsMHgyMCwweDgwLDB4NjEsMHg5MCwweDdmLDB4ZWUsMHhlMCwweDcwLDB4MDQsMHhhM319LAotIHsxNiwweDJhNzEsMCx7MHhlMCwweDYwLDB4MGIsMHhkMiwweDI5LDB4ZDIsMHgyOCwweDEyLDB4MTcsMHg0YSwweGQyLDB4MmEsMHg4MCwweDRjLDB4MTIsMHgzOH19LAotIHsxNiwweDJhODEsMCx7MHg3NCwweDgwLDB4NDcsMHg5MCwweDdmLDB4ZTksMHhlMCwweDI0LDB4ZmUsMHg2MCwweDEyLDB4MTQsMHg2MCwweDFhLDB4MjQsMHgwMn19LAotIHsxNiwweDJhOTEsMCx7MHg3MCwweDFkLDB4ZDIsMHgyMSwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4ODAsMHgxMiwweGQyLDB4MjEsMHg5MH19LAotIHsxNiwweDJhYTEsMCx7MHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMH19LAotIHsxNiwweDJhYjEsMCx7MHgyMSwweDAzLDB4MTIsMHgxMCwweDAwLDB4YzIsMHgyMSwweDgwLDB4MTEsMHgxMiwweDJhLDB4ZDYsMHg4MCwweDBjLDB4MTIsMHg0ZH19LAotIHsxNiwweDJhYzEsMCx7MHhhYiwweDUwLDB4MDcsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIwLDB4MmEsMHgwNywweDkwLDB4N2YsMHhiNH19LAotIHsgNSwweDJhZDEsMCx7MHhlMCwweDQ0LDB4MDIsMHhmMCwweDIyfX0sCi0gezE2LDB4MmFkNiwwLHsweGU0LDB4OTAsMHg3NiwweDI3LDB4ZjAsMHg5MCwweDc2LDB4MjcsMHhlMCwweGZmLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQyfX0sCi0gezE2LDB4MmFlNiwwLHsweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZSwweDkwLDB4N2YsMHhlYywweGUwLDB4ZmQsMHhlZSwweDZkfX0sCi0gezE2LDB4MmFmNiwwLHsweDYwLDB4MGUsMHhlZiwweGMzLDB4OTQsMHgwNiwweDUwLDB4MDgsMHg5MCwweDc2LDB4MjcsMHhlMCwweDA0LDB4ZjAsMHg4MCwweGQ1fX0sCi0gezE2LDB4MmIwNiwwLHsweGVmLDB4YjQsMHgwNiwweDA4LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweGVmLDB4NzUsMHhmMCwweDBmfX0sCi0gezE2LDB4MmIxNiwwLHsweGE0LDB4MjQsMHg0MSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHg5MCwweDc2LDB4MjgsMHhmMCwweDI0fX0sCi0gezE2LDB4MmIyNiwwLHsweDlmLDB4NzAsMHgwMiwweGExLDB4NzQsMHgyNCwweDIxLDB4NjAsMHgwMiwweGExLDB4YTEsMHg5MCwweDdmLDB4ZTksMHhlMCwweDI0fX0sCi0gezE2LDB4MmIzNiwwLHsweDdlLDB4NzAsMHgwMiwweDYxLDB4ZmMsMHgxNCwweDcwLDB4MDIsMHg4MSwweGI1LDB4MjQsMHgwMiwweDYwLDB4MDIsMHhhMSwweDZjfX0sCi0gezE2LDB4MmI0NiwwLHsweGVmLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQzLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZjfX0sCi0gezE2LDB4MmI1NiwwLHsweGEzLDB4ZTAsMHhmZCwweGEzLDB4ZTAsMHhmZSwweGEzLDB4ZTAsMHhmZiwweDdiLDB4NDQsMHg3YSwweGFjLDB4NzksMHgwMCwweDc4fX0sCi0gezE2LDB4MmI2NiwwLHsweDAwLDB4YzMsMHgxMiwweDM3LDB4YWIsMHg3MCwweDEzLDB4OTAsMHg3ZiwweDAwLDB4NzQsMHg0NCwweGYwLDB4YTMsMHg3NCwweGFjfX0sCi0gezE2LDB4MmI3NiwwLHsweGYwLDB4ZTQsMHhhMywweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMywweGYwLDB4OTAsMHg3NiwweDI3LDB4ZTAsMHg3NSwweGYwfX0sCi0gezE2LDB4MmI4NiwwLHsweDBmLDB4YTQsMHgyNCwweDQzLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZjLDB4YTMsMHhlMCwweGZkfX0sCi0gezE2LDB4MmI5NiwwLHsweGEzLDB4ZTAsMHhmZSwweGEzLDB4ZTAsMHhmZiwweDdiLDB4ODAsMHg3YSwweGJiLDB4NzksMHgwMCwweDc4LDB4MDAsMHhjMywweDEyfX0sCi0gezE2LDB4MmJhNiwwLHsweDM3LDB4YWIsMHg3MCwweDEzLDB4OTAsMHg3ZiwweDAwLDB4NzQsMHg4MCwweGYwLDB4YTMsMHg3NCwweGJiLDB4ZjAsMHhlNCwweGEzfX0sCi0gezE2LDB4MmJiNiwwLHsweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMywweGYwLDB4OTAsMHg3NiwweDI3LDB4ZTAsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0fX0sCi0gezE2LDB4MmJjNiwwLHsweDQzLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZjLDB4YTMsMHhlMCwweGZkLDB4YTMsMHhlMCwweGZlfX0sCi0gezE2LDB4MmJkNiwwLHsweGEzLDB4ZTAsMHhmZiwweDdiLDB4MDAsMHg3YSwweDc3LDB4NzksMHgwMSwweDc4LDB4MDAsMHhjMywweDEyLDB4MzcsMHhhYiwweDYwfX0sCi0gezE2LDB4MmJlNiwwLHsweDAyLDB4YTEsMHhhOCwweDkwLDB4N2YsMHgwMCwweGYwLDB4YTMsMHg3NCwweDc3LDB4ZjAsMHhhMywweDc0LDB4MDEsMHhmMCwweDkwfX0sCi0gezE2LDB4MmJmNiwwLHsweDdmLDB4YjUsMHg3NCwweDAzLDB4ZjAsMHgyMiwweDkwLDB4NzYsMHgyNywweGUwLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQ3fX0sCi0gezE2LDB4MmMwNiwwLHsweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmYywweGEzLDB4ZTAsMHhmZCwweGEzLDB4ZTAsMHhmZSwweGEzfX0sCi0gezE2LDB4MmMxNiwwLHsweGUwLDB4ZmYsMHg3YiwweDQ0LDB4N2EsMHhhYywweDc5LDB4MDAsMHg3OCwweDAwLDB4YzMsMHgxMiwweDM3LDB4YWIsMHg3MCwweDEzfX0sCi0gezE2LDB4MmMyNiwwLHsweDkwLDB4N2YsMHgwMCwweDc0LDB4NDQsMHhmMCwweGEzLDB4NzQsMHhhYywweGYwLDB4ZTQsMHhhMywweGYwLDB4OTAsMHg3ZiwweGI1fX0sCi0gezE2LDB4MmMzNiwwLHsweDc0LDB4MDMsMHhmMCwweDkwLDB4NzYsMHgyNywweGUwLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQ3LDB4ZjUsMHg4MiwweGU0fX0sCi0gezE2LDB4MmM0NiwwLHsweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmYywweGEzLDB4ZTAsMHhmZCwweGEzLDB4ZTAsMHhmZSwweGEzLDB4ZTAsMHhmZiwweDdifX0sCi0gezE2LDB4MmM1NiwwLHsweDgwLDB4N2EsMHhiYiwweDc5LDB4MDAsMHg3OCwweDAwLDB4YzMsMHgxMiwweDM3LDB4YWIsMHg3MCwweDEzLDB4OTAsMHg3ZiwweDAwfX0sCi0gezE2LDB4MmM2NiwwLHsweDc0LDB4ODAsMHhmMCwweGEzLDB4NzQsMHhiYiwweGYwLDB4ZTQsMHhhMywweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMywweGYwfX0sCi0gezE2LDB4MmM3NiwwLHsweDkwLDB4NzYsMHgyNywweGUwLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQ3LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1fX0sCi0gezE2LDB4MmM4NiwwLHsweDgzLDB4ZTAsMHhmYywweGEzLDB4ZTAsMHhmZCwweGEzLDB4ZTAsMHhmZSwweGEzLDB4ZTAsMHhmZiwweDdiLDB4MDAsMHg3YSwweDc3fX0sCi0gezE2LDB4MmM5NiwwLHsweDc5LDB4MDEsMHg3OCwweDAwLDB4YzMsMHgxMiwweDM3LDB4YWIsMHg2MCwweDAyLDB4YTEsMHhhOCwweDkwLDB4N2YsMHgwMCwweGYwfX0sCi0gezE2LDB4MmNhNiwwLHsweGEzLDB4NzQsMHg3NywweGYwLDB4YTMsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAzLDB4ZjAsMHgyMiwweDkwfX0sCi0gezE2LDB4MmNiNiwwLHsweDc2LDB4MjcsMHhlMCwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0YiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzfX0sCi0gezE2LDB4MmNjNiwwLHsweGUwLDB4ZmMsMHhhMywweGUwLDB4ZmQsMHhhMywweGUwLDB4ZmUsMHhhMywweGUwLDB4ZmYsMHg3YiwweDQ0LDB4N2EsMHhhYywweDc5fX0sCi0gezE2LDB4MmNkNiwwLHsweDAwLDB4NzgsMHgwMCwweGMzLDB4MTIsMHgzNywweGFiLDB4NzAsMHgxMywweDkwLDB4N2YsMHgwMCwweDc0LDB4NDQsMHhmMCwweGEzfX0sCi0gezE2LDB4MmNlNiwwLHsweDc0LDB4YWMsMHhmMCwweGU0LDB4YTMsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDMsMHhmMCwweDkwLDB4NzYsMHgyNywweGUwfX0sCi0gezE2LDB4MmNmNiwwLHsweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0YiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmYywweGEzfX0sCi0gezE2LDB4MmQwNiwwLHsweGUwLDB4ZmQsMHhhMywweGUwLDB4ZmUsMHhhMywweGUwLDB4ZmYsMHg3YiwweDgwLDB4N2EsMHhiYiwweDc5LDB4MDAsMHg3OCwweDAwfX0sCi0gezE2LDB4MmQxNiwwLHsweGMzLDB4MTIsMHgzNywweGFiLDB4NzAsMHgxMywweDkwLDB4N2YsMHgwMCwweDc0LDB4ODAsMHhmMCwweGEzLDB4NzQsMHhiYiwweGYwfX0sCi0gezE2LDB4MmQyNiwwLHsweGU0LDB4YTMsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDMsMHhmMCwweDkwLDB4NzYsMHgyNywweGUwLDB4NzUsMHhmMCwweDBmfX0sCi0gezE2LDB4MmQzNiwwLHsweGE0LDB4MjQsMHg0YiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmYywweGEzLDB4ZTAsMHhmZCwweGEzfX0sCi0gezE2LDB4MmQ0NiwwLHsweGUwLDB4ZmUsMHhhMywweGUwLDB4ZmYsMHg3YiwweDAwLDB4N2EsMHg3NywweDc5LDB4MDEsMHg3OCwweDAwLDB4YzMsMHgxMiwweDM3fX0sCi0gezE2LDB4MmQ1NiwwLHsweGFiLDB4NzAsMHg0ZiwweDkwLDB4N2YsMHgwMCwweGYwLDB4YTMsMHg3NCwweDc3LDB4ZjAsMHhhMywweDc0LDB4MDEsMHhmMCwweDkwfX0sCi0gezE2LDB4MmQ2NiwwLHsweDdmLDB4YjUsMHg3NCwweDAzLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmfX0sCi0gezE2LDB4MmQ3NiwwLHsweGU5LDB4ZTAsMHgyNCwweDdmLDB4NzAsMHgxZSwweDkwLDB4NzYsMHgyNywweGUwLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDRmfX0sCi0gezE2LDB4MmQ4NiwwLHsweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHg5MCwweDdmLDB4MDAsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0fX0sCi0gezE2LDB4MmQ5NiwwLHsweDAxLDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0fX0sCi0geyAzLDB4MmRhNiwwLHsweDAxLDB4ZjAsMHgyMn19LAotIHsxNiwweDJkYTksMCx7MHhlNCwweDkwLDB4NzYsMHgzNiwweGYwLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgwZSwweGY1LDB4ODIsMHhlNH19LAotIHsxNiwweDJkYjksMCx7MHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MDEsMHhmMCwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDBmLDB4ZjUsMHg4Mn19LAotIHsxNiwweDJkYzksMCx7MHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwMSwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MTAsMHhmNX19LAotIHsxNiwweDJkZDksMCx7MHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlNCwweGYwLDB4OTAsMHg3NiwweDM2LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhmZn19LAotIHsxNiwweDJkZTksMCx7MHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MGUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MTAsMHhmMH19LAotIHsxNiwweDJkZjksMCx7MHhlZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgwZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwNX19LAotIHsxNiwweDJlMDksMCx7MHhmMCwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDEwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlNH19LAotIHsxNiwweDJlMTksMCx7MHhmMCwweDkwLDB4NzYsMHgzNiwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MGUsMHhmNX19LAotIHsxNiwweDJlMjksMCx7MHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDAyLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgwZn19LAotIHsxNiwweDJlMzksMCx7MHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MDIsMHhmMCwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNH19LAotIHsxNiwweDJlNDksMCx7MHgxMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTQsMHhmMCwweDkwLDB4NzYsMHgzNiwweGUwLDB4MDQsMHhmMH19LAotIHsxNiwweDJlNTksMCx7MHhlMCwweGZmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDBlLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NH19LAotIHsxNiwweDJlNjksMCx7MHgwMSwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MGYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4M319LAotIHsxNiwweDJlNzksMCx7MHg3NCwweDAzLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgxMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNX19LAotIHsxNiwweDJlODksMCx7MHg4MywweGU0LDB4ZjAsMHg5MCwweDc2LDB4MzYsMHhlMCwweDA0LDB4ZjAsMHhlMCwweGZmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNH19LAotIHsxNiwweDJlOTksMCx7MHgwZSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgxMCwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDMsMHhhNH19LAotIHsxNiwweDJlYTksMCx7MHgyNCwweDBmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDA2LDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwM319LAotIHsxNiwweDJlYjksMCx7MHhhNCwweDI0LDB4MTAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGU0LDB4ZjAsMHg5MCwweDc2LDB4MzYsMHhlMH19LAotIHsxNiwweDJlYzksMCx7MHgwNCwweGYwLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgwZSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNX19LAotIHsxNiwweDJlZDksMCx7MHg4MywweDc0LDB4MDIsMHhmMCwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDBmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NX19LAotIHsxNiwweDJlZTksMCx7MHhmNSwweDgzLDB4NzQsMHgwNCwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MTAsMHhmNSwweDgyLDB4ZTQsMHgzNH19LAotIHsxNiwweDJlZjksMCx7MHg3NSwweGY1LDB4ODMsMHhlNCwweGYwLDB4OTAsMHg3NiwweDM2LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwM319LAotIHsxNiwweDJmMDksMCx7MHhhNCwweDI0LDB4MGUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MDIsMHhmMCwweGVmLDB4NzUsMHhmMH19LAotIHsxNiwweDJmMTksMCx7MHgwMywweGE0LDB4MjQsMHgwZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwOCwweGYwLDB4ZWYsMHg3NX19LAotIHsxNiwweDJmMjksMCx7MHhmMCwweDAzLDB4YTQsMHgyNCwweDEwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDA0LDB4ZjAsMHg5MH19LAotIHsxNiwweDJmMzksMCx7MHg3NiwweDM2LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgwZSwweGY1LDB4ODIsMHhlNH19LAotIHsxNiwweDJmNDksMCx7MHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MDIsMHhmMCwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDBmLDB4ZjUsMHg4Mn19LAotIHsxNiwweDJmNTksMCx7MHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwYSwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MTAsMHhmNX19LAotIHsxNiwweDJmNjksMCx7MHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDA0LDB4ZjAsMHg5MCwweDc2LDB4MzYsMHhlMCwweDA0LDB4ZjAsMHhlMH19LAotIHsxNiwweDJmNzksMCx7MHhmZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgwZSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwMn19LAotIHsxNiwweDJmODksMCx7MHhmMCwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDBmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NH19LAotIHsxNiwweDJmOTksMCx7MHgwOSwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MTAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4M319LAotIHsxNiwweDJmYTksMCx7MHg3NCwweDA0LDB4ZjAsMHg5MCwweDc2LDB4MzYsMHhlMCwweDA0LDB4ZjAsMHhlMCwweGZmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNH19LAotIHsxNiwweDJmYjksMCx7MHgwZSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwMiwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDMsMHhhNH19LAotIHsxNiwweDJmYzksMCx7MHgyNCwweDBmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDA3LDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwM319LAotIHsxNCwweDJmZDksMCx7MHhhNCwweDI0LDB4MTAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MDQsMHhmMCwweDIyfX0sCi0gezE2LDB4MmZlNywwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweGQyLDB4MjYsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWIsMHg3NCwweDAxfX0sCi0geyA4LDB4MmZmNywwLHsweGYwLDB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9fSwKLSB7IDEsMHgyZmZmLDAsezB4MzJ9fSwKLSB7MTYsMHgzMDAwLDAsezB4OTAsMHg3ZiwweGI2LDB4ZTAsMHgyMCwweGUxLDB4MDIsMHhjMiwweDNkLDB4ZDIsMHgzNiwweDIwLDB4MzYsMHgwMiwweDQxLDB4NmV9fSwKLSB7MTYsMHgzMDEwLDAsezB4MzAsMHgzZCwweDAyLDB4NDEsMHg2ZSwweDkwLDB4ODAsMHgwNywweGUwLDB4NjAsMHgwNCwweGQyLDB4MzYsMHg4MCwweDAyLDB4YzJ9fSwKLSB7MTYsMHgzMDIwLDAsezB4MzYsMHgyMCwweDM2LDB4MDIsMHg0MSwweDJlLDB4ZDIsMHgzNSwweGU0LDB4ZjUsMHgxYSwweDkwLDB4ODAsMHgwNCwweGUwLDB4ZjV9fSwKLSB7MTYsMHgzMDMwLDAsezB4MTksMHg3NCwweDA4LDB4MjUsMHgwZSwweGY4LDB4YTYsMHgxOSwweDg1LDB4MTksMHgxOCwweGU1LDB4MTgsMHgyMCwweGU3LDB4MDR9fSwKLSB7MTYsMHgzMDQwLDAsezB4ZDIsMHgzOCwweDgwLDB4MDIsMHhjMiwweDM4LDB4MzAsMHgzOCwweDAyLDB4MjEsMHhkNCwweGU0LDB4ZjUsMHgxNiwweGU1LDB4MTl9fSwKLSB7MTYsMHgzMDUwLDAsezB4YjQsMHhmMCwweDBjLDB4ZDIsMHgzOSwweDc1LDB4MDgsMHgwNCwweDc1LDB4MDksMHhmMCwweDA1LDB4MGUsMHg4MCwweDAyLDB4MDV9fSwKLSB7MTYsMHgzMDYwLDAsezB4MTYsMHhlNSwweDE5LDB4NjQsMHhmNywweDcwLDB4M2QsMHhjMiwweDM5LDB4ZTUsMHgwZSwweDI0LDB4ZmUsMHg2MCwweDE3LDB4MTR9fSwKLSB7MTYsMHgzMDcwLDAsezB4NjAsMHgyMiwweDI0LDB4MDMsMHg3MCwweDI5LDB4NzUsMHgwOCwweDA1LDB4NzUsMHgwOSwweGY3LDB4ZTQsMHhmNSwweDBhLDB4ZjV9fSwKLSB7MTYsMHgzMDgwLDAsezB4MGIsMHg3NSwweDBlLDB4MDQsMHg4MCwweDIwLDB4NzUsMHgwOCwweDA2LDB4NzUsMHgwYSwweGY3LDB4ZTQsMHhmNSwweDBiLDB4NzV9fSwKLSB7MTYsMHgzMDkwLDAsezB4MGUsMHgwNCwweDgwLDB4MTIsMHg3NSwweDA4LDB4MDcsMHg3NSwweDBiLDB4ZjcsMHg3NSwweDBlLDB4MDQsMHg4MCwweDA3LDB4MTJ9fSwKLSB7MTYsMHgzMGEwLDAsezB4NDgsMHhmMywweDgwLDB4MDIsMHgwNSwweDE2LDB4ZTUsMHgxOSwweDU0LDB4ZjgsMHg2NCwweGY4LDB4NzAsMHgzYiwweGMyLDB4MzV9fSwKLSB7MTYsMHgzMGIwLDAsezB4ZTUsMHgxOSwweDI0LDB4MDcsMHg2MCwweDBjLDB4MjQsMHhmYywweDYwLDB4MDgsMHgyNCwweDA1LDB4MjQsMHhmOCwweDUwLDB4MDZ9fSwKLSB7MTYsMHgzMGMwLDAsezB4ODAsMHgwOCwweGQyLDB4M2EsMHg4MCwweDA2LDB4YzIsMHgzYSwweDgwLDB4MDIsMHhkMiwweDNhLDB4NzUsMHgxYSwweDAxLDB4MjB9fSwKLSB7MTYsMHgzMGQwLDAsezB4M2EsMHgxOSwweDkwLDB4N2UsMHg4MCwweDc0LDB4MGYsMHhmMCwweGEzLDB4ZTUsMHgxOSwweGYwLDB4ZTQsMHhhMywweGYwLDB4YTN9fSwKLSB7MTYsMHgzMGUwLDAsezB4ZjAsMHg5MCwweDdmLDB4YjcsMHg3NCwweDA0LDB4ZjAsMHg4MCwweDAyLDB4MDUsMHgxNiwweDIwLDB4MzksMHg2ZCwweGU1LDB4MTl9fSwKLSB7MTYsMHgzMGYwLDAsezB4NjQsMHhmNywweDYwLDB4NjcsMHhlNSwweDFhLDB4NzAsMHg2MywweGU1LDB4MTgsMHg1NCwweGYwLDB4NjQsMHhmMCwweDcwLDB4NTl9fSwKLSB7MTYsMHgzMTAwLDAsezB4ODUsMHgxOCwweDE5LDB4ZjUsMHgwZSwweGU1LDB4MTksMHgyNCwweDBmLDB4NjAsMHgxYiwweDI0LDB4ZmUsMHg2MCwweDE3LDB4MjR9fSwKLSB7MTYsMHgzMTEwLDAsezB4ZmQsMHg2MCwweDIyLDB4MTQsMHg2MCwweDFmLDB4MjQsMHgwNSwweDcwLDB4MmYsMHg3NSwweDA4LDB4MDMsMHgwNSwweDBlLDB4ODV9fSwKLSB7MTYsMHgzMTIwLDAsezB4MTgsMHgwOSwweGQyLDB4MzcsMHg4MCwweDI4LDB4NzUsMHgwOCwweDAyLDB4MDUsMHgwZSwweDg1LDB4MTgsMHgwOSwweDc1LDB4MTR9fSwKLSB7MTYsMHgzMTMwLDAsezB4MDEsMHhkMiwweDM3LDB4ODAsMHgxOSwweDc1LDB4MDgsMHgwNSwweDA1LDB4MGUsMHg4NSwweDE4LDB4MDksMHhlNCwweGY1LDB4MGF9fSwKLSB7MTYsMHgzMTQwLDAsezB4ZjUsMHgwYiwweDc1LDB4MGUsMHgwMywweGQyLDB4MzcsMHg4MCwweDA1LDB4MTIsMHg0OCwweGYzLDB4YzIsMHgzNSwweDMwLDB4MzV9fSwKLSB7MTYsMHgzMTUwLDAsezB4MGEsMHg4NSwweDA4LDB4MTMsMHg4NSwweDE4LDB4MTIsMHg4MCwweDAyLDB4MDUsMHgxNiwweDg1LDB4MTgsMHgxOSwweGU1LDB4MTZ9fSwKLSB7MTYsMHgzMTYwLDAsezB4NjQsMHgwNCwweDcwLDB4NjIsMHhmNSwweDBlLDB4ZTUsMHgxOSwweDU0LDB4ZjAsMHhmNSwweDE5LDB4ZjUsMHgxNSwweDg1LDB4MTh9fSwKLSB7MTYsMHgzMTcwLDAsezB4MTksMHhlNSwweDE1LDB4MjQsMHg3MCwweDYwLDB4MTgsMHgyNCwweGYwLDB4NjAsMHgxNCwweDI0LDB4ZjAsMHg2MCwweDEwLDB4MjR9fSwKLSB7MTYsMHgzMTgwLDAsezB4ZjAsMHg2MCwweDFlLDB4MjQsMHhmMCwweDYwLDB4MWEsMHgyNCwweGYwLDB4NjAsMHgwNCwweDI0LDB4NjAsMHg3MCwweDI3LDB4ZTV9fSwKLSB7MTYsMHgzMTkwLDAsezB4MTUsMHhjNCwweDU0LDB4MGYsMHhmNSwweDE5LDB4ZjUsMHgwOCwweDA1LDB4MGUsMHg4NSwweDE4LDB4MDksMHhkMiwweDM3LDB4ODB9fSwKLSB7MTYsMHgzMWEwLDAsezB4MWEsMHhlNSwweDE1LDB4YzQsMHg1NCwweDBmLDB4ZjUsMHgxOSwweGY1LDB4MDgsMHgwNSwweDBlLDB4ODUsMHgxOCwweDA5LDB4NzV9fSwKLSB7MTYsMHgzMWIwLDAsezB4MTQsMHgwMSwweGQyLDB4MzcsMHg4MCwweDA1LDB4MTIsMHg0OCwweGYzLDB4YzIsMHgzNSwweDMwLDB4MzUsMHgwYSwweDg1LDB4MTl9fSwKLSB7MTYsMHgzMWMwLDAsezB4MTMsMHg4NSwweDE4LDB4MTIsMHg4MCwweDAyLDB4MDUsMHgxNiwweGU1LDB4MTYsMHhkMywweDk0LDB4MDUsMHg0MCwweDU3LDB4MTJ9fSwKLSB7MTYsMHgzMWQwLDAsezB4NDgsMHhmMywweDgwLDB4NTIsMHgzMCwweDM5LDB4MTcsMHhlNSwweDBlLDB4NzAsMHgwYSwweDg1LDB4MDgsMHgwOSwweDc1LDB4MDh9fSwKLSB7MTYsMHgzMWUwLDAsezB4MDQsMHgwNSwweDBlLDB4ODAsMHg0MSwweDc0LDB4MDgsMHgyNSwweDBlLDB4ZjgsMHhhNiwweDE5LDB4ODAsMHgzOCwweDIwLDB4Mzd9fSwKLSB7MTYsMHgzMWYwLDAsezB4MmEsMHhlNSwweDBlLDB4YjQsMHgwMSwweDBmLDB4ODUsMHgwOCwweDBhLDB4ODUsMHgwOSwweDBiLDB4ODUsMHgxMywweDA4LDB4ODV9fSwKLSB7MTYsMHgzMjAwLDAsezB4MTIsMHgwOSwweDc1LDB4MGUsMHgwNCwweGU1LDB4MTQsMHhiNCwweDAxLDB4MWMsMHg4NSwweDA4LDB4MGEsMHhlNCwweGY1LDB4MGJ9fSwKLSB7MTYsMHgzMjEwLDAsezB4ODUsMHgxMywweDA4LDB4ODUsMHgxMiwweDA5LDB4NzUsMHgwZSwweDA0LDB4ODAsMHgwYiwweGU1LDB4MTQsMHhiNCwweDAxLDB4MDZ9fSwKLSB7MTYsMHgzMjIwLDAsezB4ZTQsMHhmNSwweDBiLDB4NzUsMHgwZSwweDA0LDB4ZTQsMHhmNSwweDFhLDB4MzAsMHgzNSwweDAyLDB4MDUsMHgwZSwweGU1LDB4MGV9fSwKLSB7MTYsMHgzMjMwLDAsezB4ZDMsMHg5NCwweDAzLDB4NTAsMHgwMiwweDAxLDB4MGIsMHhjMiwweDM3LDB4ZTQsMHhmNSwweDBlLDB4ZjUsMHgxMCwweGMyLDB4MzZ9fSwKLSB7MTYsMHgzMjQwLDAsezB4ZDIsMHgzZCwweGY1LDB4MTQsMHg3NCwweDA4LDB4MjUsMHgxMCwweGY4LDB4ZTYsMHhmZiwweDc0LDB4ODAsMHgyNSwweDEwLDB4ZjV9fSwKLSB7MTYsMHgzMjUwLDAsezB4ODIsMHhlNCwweDM0LDB4N2UsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDc0LDB4MDgsMHgyNSwweDEwLDB4ZjgsMHhlNCwweGY2LDB4MDV9fSwKLSB7MTUsMHgzMjYwLDAsezB4MTAsMHhlNSwweDEwLDB4YjQsMHgwNCwweGRlLDB4OTAsMHg3ZiwweGI3LDB4NzQsMHgwNCwweGYwLDB4MDEsMHgwYiwweDIyfX0sCi0gezE2LDB4MzI2ZiwwLHsweDkwLDB4NzYsMHgxOCwweGUwLDB4ZmYsMHg2NCwweDA1LDB4NzAsMHg0MiwweDkwLDB4NzUsMHhhYiwweGUwLDB4YjQsMHgwMSwweDE5fX0sCi0gezE2LDB4MzI3ZiwwLHsweDkwLDB4NzIsMHgzNywweDc0LDB4MDEsMHhmMCwweGU0LDB4OTAsMHg4MCwweDIwLDB4ZjAsMHg5MCwweDgwLDB4MzEsMHhmMCwweDkwfX0sCi0gezE2LDB4MzI4ZiwwLHsweDgwLDB4MjgsMHhmMCwweDkwLDB4ODAsMHgzOSwweGYwLDB4ODAsMHgyMiwweGU0LDB4OTAsMHg3MiwweDM3LDB4ZjAsMHg5MCwweDc1fX0sCi0gezE2LDB4MzI5ZiwwLHsweGFkLDB4ZTAsMHg5MCwweDcyLDB4MmIsMHhmMCwweGUwLDB4MjQsMHg4MCwweGYwLDB4ZTAsMHg5MCwweDgwLDB4MjAsMHhmMCwweDkwfX0sCi0gezE2LDB4MzJhZiwwLHsweDgwLDB4MzEsMHhmMCwweDkwLDB4ODAsMHgyOCwweGYwLDB4OTAsMHg4MCwweDM5LDB4ZjAsMHhlZiwweDY0LDB4MDYsMHg2MCwweDAyfX0sCi0gezE2LDB4MzJiZiwwLHsweDgxLDB4OTksMHg5MCwweDcyLDB4MzksMHg3NCwweDA0LDB4ZjAsMHg5MCwweDcyLDB4MzksMHhlMCwweGZmLDB4MjQsMHhmZSwweDkwfX0sCi0gezE2LDB4MzJjZiwwLHsweDcyLDB4MDQsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFiLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1fX0sCi0gezE2LDB4MzJkZiwwLHsweDgzLDB4ZTAsMHg2NCwweDAxLDB4NzAsMHg1NCwweDkwLDB4NzIsMHgzNiwweDA0LDB4ZjAsMHg5MCwweDcyLDB4MDQsMHhlMCwweGZmfX0sCi0gezE2LDB4MzJlZiwwLHsweDI0LDB4ZmQsMHg2MCwweDI4LDB4MjQsMHhmZSwweDYwLDB4MjQsMHgyNCwweDAzLDB4MjQsMHhmYiwweDUwLDB4MDQsMHg2MCwweDFjfX0sCi0gezE2LDB4MzJmZiwwLHsweDgxLDB4OGMsMHg3NCwweDIwLDB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDgwLDB4ZjUsMHg4MywweGU0LDB4ZjAsMHg3NCwweDI4fX0sCi0gezE2LDB4MzMwZiwwLHsweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg4MCwweGY1LDB4ODMsMHhlNCwweGYwLDB4ODEsMHg4YywweDkwLDB4NzIsMHgwNCwweGUwfX0sCi0gezE2LDB4MzMxZiwwLHsweGZmLDB4MjQsMHgzMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ODAsMHhmNSwweDgzLDB4ZTQsMHhmMCwweDc0LDB4MzgsMHgyZiwweGY1fX0sCi0gezE2LDB4MzMyZiwwLHsweDgyLDB4ZTQsMHgzNCwweDgwLDB4ZjUsMHg4MywweGU0LDB4ZjAsMHg4MSwweDhjLDB4ZTQsMHg5MCwweDcyLDB4MzYsMHhmMCwweDkwfX0sCi0gezE2LDB4MzMzZiwwLHsweDcyLDB4MzksMHhlMCwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhZCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzfX0sCi0gezE2LDB4MzM0ZiwwLHsweGUwLDB4ZmYsMHg3ZSwweDAwLDB4OTAsMHg3NSwweDBjLDB4ZWUsMHhmMCwweGEzLDB4ZWYsMHhmMCwweDcwLDB4MDYsMHg5MCwweDcyfX0sCi0gezE2LDB4MzM1ZiwwLHsweDAyLDB4NzQsMHgzYiwweGYwLDB4OTAsMHg3NSwweDBjLDB4ZTAsMHhmZSwweGEzLDB4ZTAsMHhmZiwweDY0LDB4ODAsMHg0ZSwweDcwfX0sCi0gezE2LDB4MzM2ZiwwLHsweDA0LDB4OTAsMHg3MiwweDAyLDB4ZjAsMHhlZiwweDRlLDB4NzAsMHgwMiwweDgxLDB4MzUsMHhlZiwweDY0LDB4ODAsMHg0ZSwweDcwfX0sCi0gezE2LDB4MzM3ZiwwLHsweDAyLDB4ODEsMHgzNSwweGVmLDB4ZjgsMHhlNCwweDkwLDB4NzUsMHgwZCwweGYwLDB4ZTgsMHg5MCwweDc1LDB4MGMsMHhmMCwweDkwfX0sCi0gezE2LDB4MzM4ZiwwLHsweDcyLDB4MzQsMHhlMCwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhYywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzfX0sCi0gezE2LDB4MzM5ZiwwLHsweGUwLDB4ZmYsMHg5MCwweDcyLDB4MDIsMHhmMCwweDkwLDB4NzUsMHgwZCwweGUwLDB4MmYsMHhmMCwweDkwLDB4NzUsMHgwYywweGUwfX0sCi0gezE2LDB4MzNhZiwwLHsweDM0LDB4MDAsMHhmMCwweGUwLDB4ZmUsMHhhMywweGUwLDB4ZmYsMHhlNCwweGZjLDB4ZmQsMHg3YiwweGQ2LDB4N2EsMHhhNSwweGY5fX0sCi0gezE2LDB4MzNiZiwwLHsweGY4LDB4ZDMsMHgxMiwweDM3LDB4OTUsMHg0MCwweDBhLDB4OTAsMHg3NSwweDBjLDB4NzQsMHhhNSwweGYwLDB4YTMsMHg3NCwweGQ2fX0sCi0gezE2LDB4MzNjZiwwLHsweGYwLDB4OTAsMHg3NSwweDBkLDB4ZTAsMHgyNCwweDJhLDB4ZjAsMHg5MCwweDc1LDB4MGMsMHhlMCwweDM0LDB4NWEsMHhmMCwweGUwfX0sCi0gezE2LDB4MzNkZiwwLHsweGZlLDB4YTMsMHhlMCwweDc4LDB4MDUsMHhjZSwweGEyLDB4ZTcsMHgxMywweGNlLDB4MTMsMHhkOCwweGY4LDB4ZmYsMHg5MCwweDc1fX0sCi0gezE2LDB4MzNlZiwwLHsweDBjLDB4ZWUsMHhmMCwweGEzLDB4ZWYsMHhmMCwweDkwLDB4NzIsMHgyYywweGVlLDB4ZjAsMHhhMywweGVmLDB4ZjAsMHhkMywweDk0fX0sCi0gezE2LDB4MzNmZiwwLHsweGQyLDB4ZWUsMHg2NCwweDgwLDB4OTQsMHg4MiwweDQwLDB4MGEsMHg5MCwweDcyLDB4MmMsMHg3NCwweDAyLDB4ZjAsMHhhMywweDc0fX0sCi0gezE2LDB4MzQwZiwwLHsweGQyLDB4ZjAsMHhjMywweDkwLDB4NzIsMHgyYywweGUwLDB4NjQsMHg4MCwweDk0LDB4ODAsMHg1MCwweDA0LDB4ZTQsMHhmMCwweGEzfX0sCi0gezE2LDB4MzQxZiwwLHsweGYwLDB4OTAsMHg3MiwweDJjLDB4ZTAsMHhmZSwweGEzLDB4ZTAsMHgyNCwweDNhLDB4ZjUsMHg4MiwweGVlLDB4MzQsMHg3MiwweGY1fX0sCi0gezE2LDB4MzQyZiwwLHsweDgzLDB4ZTAsMHg5MCwweDcyLDB4MDIsMHhmMCwweDkwLDB4NzIsMHgwNCwweGUwLDB4ZmYsMHgyNCwweGZkLDB4NjAsMHgyZCwweDI0fX0sCi0gezE2LDB4MzQzZiwwLHsweGZlLDB4NjAsMHgyOSwweDI0LDB4MDMsMHgyNCwweGZiLDB4NTAsMHgwNCwweDYwLDB4MjEsMHg4MCwweDQwLDB4OTAsMHg3MiwweDAyfX0sCi0gezE2LDB4MzQ0ZiwwLHsweGUwLDB4ZmUsMHg3NCwweDIwLDB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDgwLDB4ZjUsMHg4MywweGVlLDB4ZjAsMHg3NCwweDI4fX0sCi0gezE2LDB4MzQ1ZiwwLHsweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg4MCwweGY1LDB4ODMsMHhlZSwweGYwLDB4ODAsMHgyMSwweDkwLDB4NzIsMHgwMiwweGUwfX0sCi0gezE2LDB4MzQ2ZiwwLHsweGZmLDB4OTAsMHg3MiwweDA0LDB4ZTAsMHhmZSwweDI0LDB4MzAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDgwLDB4ZjUsMHg4MywweGVmfX0sCi0gezE2LDB4MzQ3ZiwwLHsweGYwLDB4NzQsMHgzOCwweDJlLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg4MCwweGY1LDB4ODMsMHhlZiwweGYwLDB4OTAsMHg3MiwweDM5fX0sCi0gezExLDB4MzQ4ZiwwLHsweGUwLDB4MDQsMHhmMCwweGUwLDB4NjQsMHgwYSwweDYwLDB4MDIsMHg0MSwweGM3LDB4MjJ9fSwKLSB7MTYsMHgzNDlhLDAsezB4OTAsMHg3NiwweDE4LDB4ZTAsMHhmZiwweGI0LDB4MDUsMHgyMywweDkwLDB4NzIsMHgzNywweGUwLDB4NzAsMHgxZCwweDkwLDB4NzV9fSwKLSB7MTYsMHgzNGFhLDAsezB4YWQsMHhlMCwweDkwLDB4NzIsMHgyYiwweGYwLDB4ZTAsMHgyNCwweDgwLDB4ZjAsMHhlMCwweDkwLDB4ODAsMHgyMCwweGYwLDB4OTB9fSwKLSB7MTYsMHgzNGJhLDAsezB4ODAsMHgzMSwweGYwLDB4OTAsMHg4MCwweDI4LDB4ZjAsMHg5MCwweDgwLDB4MzksMHhmMCwweGVmLDB4NjQsMHgwNiwweDYwLDB4MDJ9fSwKLSB7MTYsMHgzNGNhLDAsezB4YzEsMHg5MSwweDkwLDB4NzIsMHgzNiwweGUwLDB4NjAsMHgwMiwweGMxLDB4OTEsMHg5MCwweDc2LDB4NDAsMHhlMCwweDcwLDB4MzF9fSwKLSB7MTYsMHgzNGRhLDAsezB4OTAsMHg3MiwweDAzLDB4NzQsMHgwMywweGYwLDB4OTAsMHg3MiwweDAzLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjR9fSwKLSB7MTYsMHgzNGVhLDAsezB4YWEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg5MCwweDcyLDB4MjksMHhlMCwweGZkLDB4ZWV9fSwKLSB7MTYsMHgzNGZhLDAsezB4NmQsMHg2MCwweDBlLDB4ZWYsMHhjMywweDk0LDB4MGEsMHg1MCwweDA4LDB4OTAsMHg3MiwweDAzLDB4ZTAsMHgwNCwweGYwLDB4ODB9fSwKLSB7MTYsMHgzNTBhLDAsezB4ZDUsMHg5MCwweDcyLDB4MzksMHg3NCwweDA0LDB4ZjAsMHg5MCwweDc2LDB4NDAsMHhlMCwweDcwLDB4MDgsMHg5MCwweDcyLDB4MDN9fSwKLSB7MTYsMHgzNTFhLDAsezB4ZTAsMHg5MCwweDcyLDB4MzksMHhmMCwweDkwLDB4NzIsMHgzOSwweGUwLDB4ZmQsMHgyNCwweGZlLDB4OTAsMHg3MiwweDJhLDB4ZjB9fSwKLSB7MTYsMHgzNTJhLDAsezB4ZWQsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWQsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmZ9fSwKLSB7MTYsMHgzNTNhLDAsezB4N2UsMHgwMCwweDkwLDB4NzUsMHgwYywweGVlLDB4ZjAsMHhhMywweGVmLDB4ZjAsMHg3MCwweDA2LDB4OTAsMHg3MiwweDAyLDB4NzR9fSwKLSB7MTYsMHgzNTRhLDAsezB4ODAsMHhmMCwweDkwLDB4NzUsMHgwYywweGUwLDB4ZmUsMHhhMywweGUwLDB4ZmYsMHg2NCwweDgwLDB4NGUsMHg3MCwweDA0LDB4OTB9fSwKLSB7MTYsMHgzNTVhLDAsezB4NzIsMHgwMiwweGYwLDB4ZWYsMHg0ZSwweDcwLDB4MDIsMHhjMSwweDFiLDB4ZWYsMHg2NCwweDgwLDB4NGUsMHg3MCwweDAyLDB4YzF9fSwKLSB7MTYsMHgzNTZhLDAsezB4MWIsMHhlZiwweGY4LDB4ZTQsMHg5MCwweDc1LDB4MGQsMHhmMCwweGU4LDB4OTAsMHg3NSwweDBjLDB4ZjAsMHhlZCwweDc1LDB4ZjB9fSwKLSB7MTYsMHgzNTdhLDAsezB4MGEsMHhhNCwweDI0LDB4YWMsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmYsMHg5MCwweDcyLDB4MDJ9fSwKLSB7MTYsMHgzNThhLDAsezB4ZjAsMHg5MCwweDc1LDB4MGQsMHhlMCwweDJmLDB4ZjAsMHg5MCwweDc1LDB4MGMsMHhlMCwweDM0LDB4MDAsMHhmMCwweGUwLDB4ZmV9fSwKLSB7MTYsMHgzNTlhLDAsezB4YTMsMHhlMCwweGZmLDB4ZTQsMHhmYywweGZkLDB4N2IsMHhkNiwweDdhLDB4YTUsMHhmOSwweGY4LDB4ZDMsMHgxMiwweDM3LDB4OTV9fSwKLSB7MTYsMHgzNWFhLDAsezB4NDAsMHgwYSwweDkwLDB4NzUsMHgwYywweDc0LDB4YTUsMHhmMCwweGEzLDB4NzQsMHhkNiwweGYwLDB4OTAsMHg3NSwweDBkLDB4ZTB9fSwKLSB7MTYsMHgzNWJhLDAsezB4MjQsMHgyYSwweGYwLDB4OTAsMHg3NSwweDBjLDB4ZTAsMHgzNCwweDVhLDB4ZjAsMHhlMCwweGZlLDB4YTMsMHhlMCwweDc4LDB4MDV9fSwKLSB7MTYsMHgzNWNhLDAsezB4Y2UsMHhhMiwweGU3LDB4MTMsMHhjZSwweDEzLDB4ZDgsMHhmOCwweGZmLDB4OTAsMHg3NSwweDBjLDB4ZWUsMHhmMCwweGEzLDB4ZWZ9fSwKLSB7MTYsMHgzNWRhLDAsezB4ZjAsMHg5MCwweDcyLDB4MmMsMHhlZSwweGYwLDB4YTMsMHhlZiwweGYwLDB4ZDMsMHg5NCwweGQyLDB4ZWUsMHg2NCwweDgwLDB4OTR9fSwKLSB7MTYsMHgzNWVhLDAsezB4ODIsMHg0MCwweDBhLDB4OTAsMHg3MiwweDJjLDB4NzQsMHgwMiwweGYwLDB4YTMsMHg3NCwweGQyLDB4ZjAsMHhjMywweDkwLDB4NzJ9fSwKLSB7MTYsMHgzNWZhLDAsezB4MmMsMHhlMCwweDY0LDB4ODAsMHg5NCwweDgwLDB4NTAsMHgwNCwweGU0LDB4ZjAsMHhhMywweGYwLDB4OTAsMHg3MiwweDJjLDB4ZTB9fSwKLSB7MTYsMHgzNjBhLDAsezB4ZmUsMHhhMywweGUwLDB4MjQsMHgzYSwweGY1LDB4ODIsMHhlZSwweDM0LDB4NzIsMHhmNSwweDgzLDB4ZTAsMHg5MCwweDcyLDB4MDJ9fSwKLSB7MTYsMHgzNjFhLDAsezB4ZjAsMHg5MCwweDcyLDB4MmEsMHhlMCwweGZmLDB4MjQsMHhmZCwweDYwLDB4MmQsMHgyNCwweGZlLDB4NjAsMHgyOSwweDI0LDB4MDN9fSwKLSB7MTYsMHgzNjJhLDAsezB4MjQsMHhmYiwweDUwLDB4MDQsMHg2MCwweDIxLDB4ODAsMHg0MCwweDkwLDB4NzIsMHgwMiwweGUwLDB4ZmUsMHg3NCwweDIwLDB4MmZ9fSwKLSB7MTYsMHgzNjNhLDAsezB4ZjUsMHg4MiwweGU0LDB4MzQsMHg4MCwweGY1LDB4ODMsMHhlZSwweGYwLDB4NzQsMHgyOCwweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzR9fSwKLSB7MTYsMHgzNjRhLDAsezB4ODAsMHhmNSwweDgzLDB4ZWUsMHhmMCwweDgwLDB4MjEsMHg5MCwweDcyLDB4MDIsMHhlMCwweGZmLDB4OTAsMHg3MiwweDJhLDB4ZTB9fSwKLSB7MTYsMHgzNjVhLDAsezB4ZmUsMHgyNCwweDMwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg4MCwweGY1LDB4ODMsMHhlZiwweGYwLDB4NzQsMHgzOCwweDJlLDB4ZjV9fSwKLSB7MTYsMHgzNjZhLDAsezB4ODIsMHhlNCwweDM0LDB4ODAsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDkwLDB4NzYsMHg0MCwweGUwLDB4NzAsMHgwNiwweDkwLDB4NzJ9fSwKLSB7MTYsMHgzNjdhLDAsezB4MzksMHg3NCwweDBhLDB4ZjAsMHg5MCwweDcyLDB4MzksMHhlMCwweDA0LDB4ZjAsMHhlMCwweGMzLDB4OTQsMHgwYSwweDUwLDB4MDJ9fSwKLSB7IDgsMHgzNjhhLDAsezB4YTEsMHgxMSwweGU0LDB4OTAsMHg3NiwweDQwLDB4ZjAsMHgyMn19LAotIHsxNiwweDM2OTIsMCx7MHhiYiwweDAxLDB4MDYsMHg4OSwweDgyLDB4OGEsMHg4MywweGUwLDB4MjIsMHg1MCwweDAyLDB4ZTcsMHgyMiwweGJiLDB4ZmUsMHgwMn19LAotIHsgOSwweDM2YTIsMCx7MHhlMywweDIyLDB4ODksMHg4MiwweDhhLDB4ODMsMHhlNCwweDkzLDB4MjJ9fSwKLSB7MTYsMHgzNmFiLDAsezB4YmIsMHgwMSwweDBjLDB4ZTUsMHg4MiwweDI5LDB4ZjUsMHg4MiwweGU1LDB4ODMsMHgzYSwweGY1LDB4ODMsMHhlMCwweDIyLDB4NTB9fSwKLSB7MTYsMHgzNmJiLDAsezB4MDYsMHhlOSwweDI1LDB4ODIsMHhmOCwweGU2LDB4MjIsMHhiYiwweGZlLDB4MDYsMHhlOSwweDI1LDB4ODIsMHhmOCwweGUyLDB4MjJ9fSwKLSB7MTMsMHgzNmNiLDAsezB4ZTUsMHg4MiwweDI5LDB4ZjUsMHg4MiwweGU1LDB4ODMsMHgzYSwweGY1LDB4ODMsMHhlNCwweDkzLDB4MjJ9fSwKLSB7MTYsMHgzNmQ4LDAsezB4YzIsMHhkNSwweGVjLDB4MzAsMHhlNywweDA5LDB4YjIsMHhkNSwweGU0LDB4YzMsMHg5ZCwweGZkLDB4ZTQsMHg5YywweGZjLDB4ZWV9fSwKLSB7MTYsMHgzNmU4LDAsezB4MzAsMHhlNywweDE1LDB4YjIsMHhkNSwweGU0LDB4YzMsMHg5ZiwweGZmLDB4ZTQsMHg5ZSwweGZlLDB4MTIsMHgzOCwweDFmLDB4YzN9fSwKLSB7MTYsMHgzNmY4LDAsezB4ZTQsMHg5ZCwweGZkLDB4ZTQsMHg5YywweGZjLDB4ODAsMHgwMywweDEyLDB4MzgsMHgxZiwweDMwLDB4ZDUsMHgwNywweGMzLDB4ZTR9fSwKLSB7IDYsMHgzNzA4LDAsezB4OWYsMHhmZiwweGU0LDB4OWUsMHhmZSwweDIyfX0sCi0gezE2LDB4MzcwZSwwLHsweGJiLDB4MDEsMHgxMCwweGU1LDB4ODIsMHgyOSwweGY1LDB4ODIsMHhlNSwweDgzLDB4M2EsMHhmNSwweDgzLDB4ZTAsMHhmNSwweGYwfX0sCi0gezE2LDB4MzcxZSwwLHsweGEzLDB4ZTAsMHgyMiwweDUwLDB4MDksMHhlOSwweDI1LDB4ODIsMHhmOCwweDg2LDB4ZjAsMHgwOCwweGU2LDB4MjIsMHhiYiwweGZlfX0sCi0gezE2LDB4MzcyZSwwLHsweDBhLDB4ZTksMHgyNSwweDgyLDB4ZjgsMHhlMiwweGY1LDB4ZjAsMHgwOCwweGUyLDB4MjIsMHhlNSwweDgzLDB4MmEsMHhmNSwweDgzfX0sCi0geyA4LDB4MzczZSwwLHsweGU5LDB4OTMsMHhmNSwweGYwLDB4YTMsMHhlOSwweDkzLDB4MjJ9fSwKLSB7MTYsMHgzNzQ2LDAsezB4ZTgsMHg4ZiwweGYwLDB4YTQsMHhjYywweDhiLDB4ZjAsMHhhNCwweDJjLDB4ZmMsMHhlOSwweDhlLDB4ZjAsMHhhNCwweDJjLDB4ZmN9fSwKLSB7MTYsMHgzNzU2LDAsezB4OGEsMHhmMCwweGVkLDB4YTQsMHgyYywweGZjLDB4ZWEsMHg4ZSwweGYwLDB4YTQsMHhjZCwweGE4LDB4ZjAsMHg4YiwweGYwLDB4YTR9fSwKLSB7MTYsMHgzNzY2LDAsezB4MmQsMHhjYywweDM4LDB4MjUsMHhmMCwweGZkLDB4ZTksMHg4ZiwweGYwLDB4YTQsMHgyYywweGNkLDB4MzUsMHhmMCwweGZjLDB4ZWJ9fSwKLSB7MTYsMHgzNzc2LDAsezB4OGUsMHhmMCwweGE0LDB4ZmUsMHhhOSwweGYwLDB4ZWIsMHg4ZiwweGYwLDB4YTQsMHhjZiwweGM1LDB4ZjAsMHgyZSwweGNkLDB4Mzl9fSwKLSB7MTUsMHgzNzg2LDAsezB4ZmUsMHhlNCwweDNjLDB4ZmMsMHhlYSwweGE0LDB4MmQsMHhjZSwweDM1LDB4ZjAsMHhmZCwweGU0LDB4M2MsMHhmYywweDIyfX0sCi0gezE2LDB4Mzc5NSwwLHsweGViLDB4OWYsMHhmNSwweGYwLDB4ZWEsMHg5ZSwweDQyLDB4ZjAsMHhlOSwweDlkLDB4NDIsMHhmMCwweGVjLDB4NjQsMHg4MCwweGM4fX0sCi0geyA2LDB4MzdhNSwwLHsweDY0LDB4ODAsMHg5OCwweDQ1LDB4ZjAsMHgyMn19LAotIHsxNiwweDM3YWIsMCx7MHhlYiwweDlmLDB4ZjUsMHhmMCwweGVhLDB4OWUsMHg0MiwweGYwLDB4ZTksMHg5ZCwweDQyLDB4ZjAsMHhlOCwweDljLDB4NDUsMHhmMH19LAotIHsgMSwweDM3YmIsMCx7MHgyMn19LAotIHsxMiwweDM3YmMsMCx7MHhlYywweGYwLDB4YTMsMHhlZCwweGYwLDB4YTMsMHhlZSwweGYwLDB4YTMsMHhlZiwweGYwLDB4MjJ9fSwKLSB7MTYsMHgzN2M4LDAsezB4YTgsMHg4MiwweDg1LDB4ODMsMHhmMCwweGQwLDB4ODMsMHhkMCwweDgyLDB4MTIsMHgzNywweGRmLDB4MTIsMHgzNywweGRmLDB4MTJ9fSwKLSB7MTYsMHgzN2Q4LDAsezB4MzcsMHhkZiwweDEyLDB4MzcsMHhkZiwweGU0LDB4NzMsMHhlNCwweDkzLDB4YTMsMHhjNSwweDgzLDB4YzUsMHhmMCwweGM1LDB4ODN9fSwKLSB7MTYsMHgzN2U4LDAsezB4YzgsMHhjNSwweDgyLDB4YzgsMHhmMCwweGEzLDB4YzUsMHg4MywweGM1LDB4ZjAsMHhjNSwweDgzLDB4YzgsMHhjNSwweDgyLDB4Yzh9fSwKLSB7IDEsMHgzN2Y4LDAsezB4MjJ9fSwKLSB7MTYsMHgzN2Y5LDAsezB4ZDAsMHg4MywweGQwLDB4ODIsMHhmOCwweGU0LDB4OTMsMHg3MCwweDEyLDB4NzQsMHgwMSwweDkzLDB4NzAsMHgwZCwweGEzLDB4YTN9fSwKLSB7MTYsMHgzODA5LDAsezB4OTMsMHhmOCwweDc0LDB4MDEsMHg5MywweGY1LDB4ODIsMHg4OCwweDgzLDB4ZTQsMHg3MywweDc0LDB4MDIsMHg5MywweDY4LDB4NjB9fSwKLSB7IDYsMHgzODE5LDAsezB4ZWYsMHhhMywweGEzLDB4YTMsMHg4MCwweGRmfX0sCi0gezE2LDB4MzgxZiwwLHsweGJjLDB4MDAsMHgwYiwweGJlLDB4MDAsMHgyOSwweGVmLDB4OGQsMHhmMCwweDg0LDB4ZmYsMHhhZCwweGYwLDB4MjIsMHhlNCwweGNjfX0sCi0gezE2LDB4MzgyZiwwLHsweGY4LDB4NzUsMHhmMCwweDA4LDB4ZWYsMHgyZiwweGZmLDB4ZWUsMHgzMywweGZlLDB4ZWMsMHgzMywweGZjLDB4ZWUsMHg5ZCwweGVjfX0sCi0gezE2LDB4MzgzZiwwLHsweDk4LDB4NDAsMHgwNSwweGZjLDB4ZWUsMHg5ZCwweGZlLDB4MGYsMHhkNSwweGYwLDB4ZTksMHhlNCwweGNlLDB4ZmQsMHgyMiwweGVkfX0sCi0gezE2LDB4Mzg0ZiwwLHsweGY4LDB4ZjUsMHhmMCwweGVlLDB4ODQsMHgyMCwweGQyLDB4MWMsMHhmZSwweGFkLDB4ZjAsMHg3NSwweGYwLDB4MDgsMHhlZiwweDJmfX0sCi0gezE2LDB4Mzg1ZiwwLHsweGZmLDB4ZWQsMHgzMywweGZkLDB4NDAsMHgwNywweDk4LDB4NTAsMHgwNiwweGQ1LDB4ZjAsMHhmMiwweDIyLDB4YzMsMHg5OCwweGZkfX0sCi0geyA1LDB4Mzg2ZiwwLHsweDBmLDB4ZDUsMHhmMCwweGVhLDB4MjJ9fSwKLSB7MTYsMHgzODc0LDAsezB4ZTQsMHg5MCwweDc2LDB4MjksMHhmMCwweDkwLDB4NzYsMHgyOSwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDJ9fSwKLSB7MTYsMHgzODg0LDAsezB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZlLDB4OTAsMHg3ZiwweGVjLDB4ZTAsMHhmZCwweGVlLDB4NmR9fSwKLSB7MTYsMHgzODk0LDAsezB4NjAsMHgwZSwweGVmLDB4YzMsMHg5NCwweDA2LDB4NTAsMHgwOCwweDkwLDB4NzYsMHgyOSwweGUwLDB4MDQsMHhmMCwweDgwLDB4ZDV9fSwKLSB7MTYsMHgzOGE0LDAsezB4ZWYsMHhiNCwweDA2LDB4MDgsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4ZWYsMHg3NSwweGYwLDB4MGZ9fSwKLSB7MTYsMHgzOGI0LDAsezB4YTQsMHgyNCwweDQxLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweDkwLDB4NzYsMHgyYSwweGYwLDB4MjR9fSwKLSB7MTYsMHgzOGM0LDAsezB4YmYsMHg3MCwweDAyLDB4NDEsMHg0MSwweDI0LDB4ZTAsMHg3MCwweDAyLDB4NDEsMHgxMiwweDI0LDB4MjEsMHg2MCwweDAyLDB4NDF9fSwKLSB7MTYsMHgzOGQ0LDAsezB4M2EsMHg5MCwweDdmLDB4ZTksMHhlMCwweDI0LDB4ZmUsMHg2MCwweDdkLDB4MTQsMHg3MCwweDAyLDB4MjEsMHhiMiwweDI0LDB4MDJ9fSwKLSB7MTYsMHgzOGU0LDAsezB4NjAsMHgwMiwweDQxLDB4MGEsMHgxMiwweDE3LDB4NTEsMHg5MCwweDc2LDB4NDIsMHhlMCwweGZjLDB4YTMsMHhlMCwweGZkLDB4YTN9fSwKLSB7MTYsMHgzOGY0LDAsezB4ZTAsMHhmZSwweGEzLDB4ZTAsMHhmZiwweDkwLDB4NzYsMHgyOSwweGUwLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQzLDB4ZjV9fSwKLSB7MTYsMHgzOTA0LDAsezB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4MTIsMHgzNywweGJjLDB4OTAsMHg3NiwweDE5LDB4ZTAsMHhmZiwweGI0LDB4MDF9fSwKLSB7MTYsMHgzOTE0LDAsezB4MTIsMHg5MCwweDc2LDB4N2MsMHg3NCwweDY3LDB4ZjAsMHg5MCwweDc2LDB4N2QsMHg3NCwweDA2LDB4ZjAsMHg5MCwweDc2LDB4N2V9fSwKLSB7MTYsMHgzOTI0LDAsezB4NzQsMHgwYiwweGYwLDB4ZWYsMHhiNCwweDAyLDB4MGYsMHhlNCwweDkwLDB4NzYsMHg3YywweGYwLDB4OTAsMHg3NiwweDdkLDB4ZjB9fSwKLSB7MTYsMHgzOTM0LDAsezB4OTAsMHg3NiwweDdlLDB4NzQsMHgwYywweGYwLDB4ZWYsMHhiNCwweDAzLDB4MGYsMHhlNCwweDkwLDB4NzYsMHg3YywweGYwLDB4OTB9fSwKLSB7MTYsMHgzOTQ0LDAsezB4NzYsMHg3ZCwweGYwLDB4OTAsMHg3NiwweDdlLDB4NzQsMHgxOCwweGYwLDB4OTAsMHg3NiwweDFhLDB4NzQsMHgwMSwweGYwLDB4MTJ9fSwKLSB7MTYsMHgzOTU0LDAsezB4M2UsMHg4ZiwweDEyLDB4MTgsMHgwMCwweDIyLDB4OTAsMHg3ZSwweGMyLDB4ZTAsMHhmZiwweGU0LDB4ZmMsMHhmZCwweGZlLDB4ZmJ9fSwKLSB7MTYsMHgzOTY0LDAsezB4ZmEsMHg3OSwweDAxLDB4ZjgsMHgxMiwweDM3LDB4NDYsMHhjOCwweGVjLDB4YzgsMHhjOSwweGVkLDB4YzksMHhjYSwweGVlLDB4Y2F9fSwKLSB7MTYsMHgzOTc0LDAsezB4Y2IsMHhlZiwweGNiLDB4OTAsMHg3ZSwweGMxLDB4ZTAsMHhmZSwweGU0LDB4ZmMsMHhmZCwweDJiLDB4ZmIsMHhlYSwweDNlLDB4ZmF9fSwKLSB7MTYsMHgzOTg0LDAsezB4ZWQsMHgzOSwweGY5LDB4ZWMsMHgzOCwweGY4LDB4OTAsMHg3ZSwweGMwLDB4ZTAsMHhmZiwweGU0LDB4ZmUsMHhlYiwweDJmLDB4ZmZ9fSwKLSB7MTYsMHgzOTk0LDAsezB4ZWUsMHgzYSwweGZlLDB4ZWQsMHgzOSwweGZkLDB4ZWMsMHgzOCwweGZjLDB4OTAsMHg3NiwweDI5LDB4ZTAsMHg3NSwweGYwLDB4MGZ9fSwKLSB7MTYsMHgzOWE0LDAsezB4YTQsMHgyNCwweDQ3LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHgxMiwweDM3LDB4YmMsMHgyMiwweDkwLDB4N2V9fSwKLSB7MTYsMHgzOWI0LDAsezB4YzIsMHhlMCwweGZmLDB4ZTQsMHhmYywweGZkLDB4ZmUsMHhmYiwweGZhLDB4NzksMHgwMSwweGY4LDB4MTIsMHgzNywweDQ2LDB4Yzh9fSwKLSB7MTYsMHgzOWM0LDAsezB4ZWMsMHhjOCwweGM5LDB4ZWQsMHhjOSwweGNhLDB4ZWUsMHhjYSwweGNiLDB4ZWYsMHhjYiwweDkwLDB4N2UsMHhjMSwweGUwLDB4ZmV9fSwKLSB7MTYsMHgzOWQ0LDAsezB4ZTQsMHhmYywweGZkLDB4MmIsMHhmYiwweGVhLDB4M2UsMHhmYSwweGVkLDB4MzksMHhmOSwweGVjLDB4MzgsMHhmOCwweDkwLDB4N2V9fSwKLSB7MTYsMHgzOWU0LDAsezB4YzAsMHhlMCwweGZmLDB4ZTQsMHhmZSwweGViLDB4MmYsMHhmZiwweGVlLDB4M2EsMHhmZSwweGVkLDB4MzksMHhmZCwweGVjLDB4Mzh9fSwKLSB7MTYsMHgzOWY0LDAsezB4ZmMsMHg5MCwweDc2LDB4MjksMHhlMCwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0YiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzV9fSwKLSB7MTYsMHgzYTA0LDAsezB4ZjUsMHg4MywweDEyLDB4MzcsMHhiYywweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2Z9fSwKLSB7MTYsMHgzYTE0LDAsezB4ZTksMHhlMCwweDE0LDB4NzAsMHgxOSwweDkwLDB4N2UsMHhjMCwweGUwLDB4ZmYsMHg5MCwweDc2LDB4MjksMHhlMCwweDc1LDB4ZjB9fSwKLSB7MTYsMHgzYTI0LDAsezB4MGYsMHhhNCwweDI0LDB4NGYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGVmLDB4ZjAsMHgyMiwweDkwLDB4N2Z9fSwKLSB7MTQsMHgzYTM0LDAsezB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMn19LAotIHsxNiwweDNhNDIsMCx7MHhlNCwweDkwLDB4NzYsMHgzNSwweGYwLDB4OTAsMHg3NiwweDM1LDB4ZTAsMHhmZiwweGMzLDB4OTQsMHgwMywweDQwLDB4MDIsMHg0MX19LAotIHsxNiwweDNhNTIsMCx7MHhmZiwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFhLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZn19LAotIHsxNiwweDNhNjIsMCx7MHhmMCwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFiLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlNH19LAotIHsxNiwweDNhNzIsMCx7MHhmMCwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFjLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NH19LAotIHsxNiwweDNhODIsMCx7MHhmMCwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWQsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4M319LAotIHsxNiwweDNhOTIsMCx7MHg3NCwweGZmLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhZSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNX19LAotIHsxNiwweDNhYTIsMCx7MHg4MywweGU0LDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNX19LAotIHsxNiwweDNhYjIsMCx7MHg4MywweDc0LDB4ODAsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NX19LAotIHsxNiwweDNhYzIsMCx7MHhmNSwweDgzLDB4ZTQsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIxLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NX19LAotIHsxNiwweDNhZDIsMCx7MHhmNSwweDgzLDB4ZTQsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIyLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NX19LAotIHsxNiwweDNhZTIsMCx7MHhmNSwweDgzLDB4ZTQsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIzLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NX19LAotIHsxNiwweDNhZjIsMCx7MHhmNSwweDgzLDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3NiwweDM1LDB4ZTAsMHgwNCwweGYwLDB4NDEsMHg0NywweDkwLDB4NzYsMHgzY319LAotIHsxNiwweDNiMDIsMCx7MHg3NCwweDBhLDB4ZjAsMHhlNCwweGEzLDB4ZjAsMHg5MCwweDc2LDB4MzUsMHg3NCwweDAzLDB4ZjAsMHg5MCwweDc2LDB4M2MsMHhlMH19LAotIHsxNiwweDNiMTIsMCx7MHhmZiwweDkwLDB4NzYsMHgzNSwweGUwLDB4ZmUsMHhjMywweDlmLDB4NDAsMHgwMiwweDYxLDB4ZDIsMHg5MCwweDc2LDB4M2QsMHhlMH19LAotIHsxNiwweDNiMjIsMCx7MHhmZiwweDA0LDB4ZjAsMHhlZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhYSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNX19LAotIHsxNiwweDNiMzIsMCx7MHg4MywweGVmLDB4ZjAsMHhlZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhYiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNX19LAotIHsxNiwweDNiNDIsMCx7MHg4MywweGU0LDB4ZjAsMHhlZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhYywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNX19LAotIHsxNiwweDNiNTIsMCx7MHg4MywweDc0LDB4NWUsMHhmMCwweGVlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFkLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NX19LAotIHsxNiwweDNiNjIsMCx7MHhmNSwweDgzLDB4NzQsMHhiYSwweGYwLDB4ZWUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWUsMHhmNSwweDgyLDB4ZTQsMHgzNH19LAotIHsxNiwweDNiNzIsMCx7MHg3NSwweGY1LDB4ODMsMHg3NCwweDA1LDB4ZjAsMHhlZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhZiwweGY1LDB4ODIsMHhlNH19LAotIHsxNiwweDNiODIsMCx7MHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4ODAsMHhmMCwweGVlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIwLDB4ZjUsMHg4Mn19LAotIHsxNiwweDNiOTIsMCx7MHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTQsMHhmMCwweGVlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIxLDB4ZjUsMHg4Mn19LAotIHsxNiwweDNiYTIsMCx7MHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTQsMHhmMCwweGVlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIyLDB4ZjUsMHg4Mn19LAotIHsxNiwweDNiYjIsMCx7MHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgxNSwweGYwLDB4ZWUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YjMsMHhmNX19LAotIHsxNiwweDNiYzIsMCx7MHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlNCwweGYwLDB4OTAsMHg3NiwweDM1LDB4ZTAsMHgwNCwweGYwLDB4NjEsMHgwZX19LAotIHsgMSwweDNiZDIsMCx7MHgyMn19LAotIHsxNiwweDNiZDMsMCx7MHhlNCwweDkwLDB4NzYsMHgzNiwweGYwLDB4ZTAsMHhmYiwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0MSwweGY1LDB4ODIsMHhlNH19LAotIHsxNiwweDNiZTMsMCx7MHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4NDAsMHhmMCwweGViLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQyLDB4ZjUsMHg4Mn19LAotIHsxNiwweDNiZjMsMCx7MHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwYSwweGYwLDB4ZWIsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDMsMHhmNX19LAotIHsxNiwweDNjMDMsMCx7MHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHgxMiwweDM3LDB4YzgsMHgwMCwweDAwLDB4YWMsMHg0NCwweGViLDB4NzUsMHhmMH19LAotIHsxNiwweDNjMTMsMCx7MHgwZiwweGE0LDB4MjQsMHg0NywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4MTIsMHgzNywweGM4LDB4MDAsMHgwMH19LAotIHsxNiwweDNjMjMsMCx7MHhhYywweDQ0LDB4ZWIsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NGIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4M319LAotIHsxNiwweDNjMzMsMCx7MHgxMiwweDM3LDB4YzgsMHgwMCwweDAxLDB4NzcsMHgwMCwweDkwLDB4NzYsMHgzNiwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZmIsMHg3NX19LAotIHsxNiwweDNjNDMsMCx7MHhmMCwweDBmLDB4YTQsMHgyNCwweDQxLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDQwLDB4ZjAsMHhlYn19LAotIHsxNiwweDNjNTMsMCx7MHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4OGMsMHhmMH19LAotIHsxNiwweDNjNjMsMCx7MHhlYiwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0MywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4MTIsMHgzN319LAotIHsxNiwweDNjNzMsMCx7MHhjOCwweDAwLDB4MDAsMHhhYywweDQ0LDB4ZWIsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDcsMHhmNSwweDgyLDB4ZTQsMHgzNH19LAotIHsxNiwweDNjODMsMCx7MHg3NSwweGY1LDB4ODMsMHgxMiwweDM3LDB4YzgsMHgwMCwweDAwLDB4YWMsMHg0NCwweGViLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNH19LAotIHsxNiwweDNjOTMsMCx7MHg0YiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4MTIsMHgzNywweGM4LDB4MDAsMHgwMSwweDc3LDB4MDAsMHg5MH19LAotIHsxNiwweDNjYTMsMCx7MHg3NiwweDM2LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0MSwweGY1LDB4ODIsMHhlNH19LAotIHsxNiwweDNjYjMsMCx7MHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4NDAsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQyLDB4ZjUsMHg4Mn19LAotIHsxNiwweDNjYzMsMCx7MHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHg4ZiwweGYwLDB4OTAsMHg3NiwweDM2LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhmZn19LAotIHsxNiwweDNjZDMsMCx7MHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4NDEsMHhmMH19LAotIHsxNiwweDNjZTMsMCx7MHhlZiwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0MiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHg4NH19LAotIHsxNiwweDNjZjMsMCx7MHhmMCwweDkwLDB4NzYsMHgzNiwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDEsMHhmNX19LAotIHsxNiwweDNkMDMsMCx7MHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDYxLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0Mn19LAotIHsxNiwweDNkMTMsMCx7MHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4ODEsMHhmMCwweDkwLDB4NzYsMHgzNiwweGUwLDB4MDQsMHhmMH19LAotIHsxNiwweDNkMjMsMCx7MHhlMCwweGZmLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQxLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NH19LAotIHsxNiwweDNkMzMsMCx7MHg2MSwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4M319LAotIHsgNCwweDNkNDMsMCx7MHg3NCwweDAxLDB4ZjAsMHgyMn19LAotIHsxNiwweDNkNDcsMCx7MHhjMCwweGUwLDB4YzAsMHhmMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4YzAsMHhkMCwweGU4LDB4YzAsMHhlMCwweGU5LDB4YzAsMHhlMH19LAotIHsxNiwweDNkNTcsMCx7MHhlYSwweGMwLDB4ZTAsMHhlYiwweGMwLDB4ZTAsMHhlYywweGMwLDB4ZTAsMHhlZCwweGMwLDB4ZTAsMHhlZSwweGMwLDB4ZTAsMHhlZn19LAotIHsxNiwweDNkNjcsMCx7MHhjMCwweGUwLDB4OTAsMHg3ZiwweGEyLDB4ZTAsMHg5MCwweDc2LDB4N2YsMHhmMCwweDkwLDB4N2YsMHg3NCwweGUwLDB4OTAsMHg3Nn19LAotIHsxNiwweDNkNzcsMCx7MHg4NywweGYwLDB4OTAsMHg3ZiwweDc1LDB4ZTAsMHg5MCwweDc2LDB4ODgsMHhmMCwweDkwLDB4N2YsMHg5OCwweGUwLDB4NDQsMHgwMn19LAotIHsxNiwweDNkODcsMCx7MHhmMCwweDkwLDB4NzYsMHg5NiwweGUwLDB4ZmYsMHgyMCwweGUxLDB4MGMsMHg0NCwweDAyLDB4ZjAsMHg5MCwweDgwLDB4MDMsMHhmMH19LAotIHsxNiwweDNkOTcsMCx7MHhkMiwweDMyLDB4MTIsMHg0YSwweGM0LDB4OTAsMHg3NiwweDdmLDB4ZTAsMHgyMCwweGUyLDB4NTAsMHg5MCwweDc2LDB4ODcsMHhlMH19LAotIHsxNiwweDNkYTcsMCx7MHhmZSwweGEzLDB4ZTAsMHg3YywweDAwLDB4MjQsMHgwMCwweGY1LDB4MzQsMHhlYywweDNlLDB4ZjUsMHgzMywweDkwLDB4NzYsMHg5OH19LAotIHsxNiwweDNkYjcsMCx7MHhlMCwweGZkLDB4YWUsMHgzMywweGFmLDB4MzQsMHgxMiwweDM2LDB4ZDgsMHg5MCwweDc2LDB4ODcsMHhlZiwweGYwLDB4ZDIsMHgyZn19LAotIHsxNiwweDNkYzcsMCx7MHgzMCwweDMxLDB4MjksMHgyMCwweDNmLDB4MjYsMHhjMiwweDMxLDB4OTAsMHg3ZiwweDk0LDB4ZTAsMHg1NCwweGNmLDB4ZjAsMHg5MH19LAotIHsxNiwweDNkZDcsMCx7MHg3ZiwweDlhLDB4ZTAsMHgzMCwweGU0LDB4MDQsMHhkMiwweDJkLDB4YzIsMHgyYywweDkwLDB4N2YsMHg5YSwweGUwLDB4MjAsMHhlNX19LAotIHsxNiwweDNkZTcsMCx7MHgwNCwweGMyLDB4MmQsMHhkMiwweDJjLDB4OTAsMHg3ZiwweDk0LDB4ZTAsMHg0NCwweDMwLDB4ZjAsMHgxMiwweDRhLDB4NTAsMHgxMn19LAotIHsxNiwweDNkZjcsMCx7MHgxYiwweDA0LDB4MzAsMHgyZiwweDEyLDB4MTIsMHg0MiwweDE2LDB4YzIsMHgyZiwweDc1LDB4ZTgsMHgwMSwweDEyLDB4MTYsMHg4YX19LAotIHsxNiwweDNlMDcsMCx7MHg3NSwweGU4LDB4MGQsMHhkMiwweDJiLDB4ODAsMHgwNSwweDc1LDB4ZTgsMHgwMSwweGMyLDB4MmIsMHgyMCwweDJiLDB4MzQsMHg5MH19LAotIHsxNiwweDNlMTcsMCx7MHg3NiwweDE5LDB4ZTAsMHhmZiwweGI0LDB4MDEsMHgwZSwweDkwLDB4NzYsMHg3YywweDc0LDB4NjcsMHhmMCwweGEzLDB4NzQsMHgwNn19LAotIHsxNiwweDNlMjcsMCx7MHhmMCwweGEzLDB4NzQsMHgwYiwweGYwLDB4ZWYsMHhiNCwweDAyLDB4MGIsMHg5MCwweDc2LDB4N2MsMHhlNCwweGYwLDB4YTMsMHhmMH19LAotIHsxNiwweDNlMzcsMCx7MHhhMywweDc0LDB4MGMsMHhmMCwweGVmLDB4YjQsMHgwMywweDBiLDB4OTAsMHg3NiwweDdjLDB4ZTQsMHhmMCwweGEzLDB4ZjAsMHhhM319LAotIHsxNiwweDNlNDcsMCx7MHg3NCwweDE4LDB4ZjAsMHg3NSwweGNhLDB4ZDMsMHg3NSwweGNiLDB4ZmUsMHhkMiwweGNhLDB4MzAsMHgzNCwweDA0LDB4YzIsMHgzNH19LAotIHsxNiwweDNlNTcsMCx7MHg4MCwweDAyLDB4ZDIsMHgzNCwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYiwweDc0LDB4MDIsMHhmMCwweGYwLDB4OTAsMHg3Zn19LAotIHsxNiwweDNlNjcsMCx7MHg5OCwweGUwLDB4NTQsMHhmZCwweGYwLDB4ZDAsMHhlMCwweGZmLDB4ZDAsMHhlMCwweGZlLDB4ZDAsMHhlMCwweGZkLDB4ZDAsMHhlMH19LAotIHsxNiwweDNlNzcsMCx7MHhmYywweGQwLDB4ZTAsMHhmYiwweGQwLDB4ZTAsMHhmYSwweGQwLDB4ZTAsMHhmOSwweGQwLDB4ZTAsMHhmOCwweGQwLDB4ZDAsMHhkMH19LAotIHsgOCwweDNlODcsMCx7MHg4MiwweGQwLDB4ODMsMHhkMCwweGYwLDB4ZDAsMHhlMCwweDMyfX0sCi0gezE2LDB4M2U4ZiwwLHsweDkwLDB4NzYsMHg5MiwweGUwLDB4MTQsMHg2MCwweDFkLDB4MTQsMHg3MCwweDAyLDB4ZTEsMHg0NCwweDI0LDB4MDIsMHg2MCwweDAyfX0sCi0gezE2LDB4M2U5ZiwwLHsweGUxLDB4ZDQsMHg5MCwweDc2LDB4OTQsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDgwLDB4MDAsMHhmMCwweGU0LDB4OTAsMHg3NiwweDhlfX0sCi0gezE2LDB4M2VhZiwwLHsweGYwLDB4ZDIsMHgzMSwweDIyLDB4OTAsMHg3NiwweDE5LDB4ZTAsMHhmZiwweGI0LDB4MDEsMHgxYiwweGU0LDB4OTAsMHg3ZiwweGYyfX0sCi0gezE2LDB4M2ViZiwwLHsweGYwLDB4OTAsMHg3ZiwweGYzLDB4NzQsMHgzMCwweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmYywweGYwLDB4OTAsMHg3NiwweDk3fX0sCi0gezE2LDB4M2VjZiwwLHsweGUwLDB4NTQsMHhmZCwweGYwLDB4NTQsMHhmYiwweGYwLDB4ZWYsMHhiNCwweDAyLDB4MWIsMHhlNCwweDkwLDB4N2YsMHhmMiwweGYwfX0sCi0gezE2LDB4M2VkZiwwLHsweDkwLDB4N2YsMHhmMywweDc0LDB4MzQsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmMsMHhmMCwweDkwLDB4NzYsMHg5NywweGUwfX0sCi0gezE2LDB4M2VlZiwwLHsweDQ0LDB4MDIsMHhmMCwweDU0LDB4ZmIsMHhmMCwweGVmLDB4YjQsMHgwMywweDE4LDB4ZTQsMHg5MCwweDdmLDB4ZjIsMHhmMCwweDkwfX0sCi0gezE2LDB4M2VmZiwwLHsweDdmLDB4ZjMsMHg3NCwweDY0LDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMCwweDQ0fX0sCi0gezE2LDB4M2YwZiwwLHsweDA0LDB4ZjAsMHg5MCwweDc2LDB4OTQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDkwLDB4ODAsMHgwMCwweGYwLDB4MzAsMHgzZiwweDA5fX0sCi0gezE2LDB4M2YxZiwwLHsweDkwLDB4NzYsMHg5NywweGUwLDB4NTQsMHhmZSwweGYwLDB4ODAsMHgwNywweDkwLDB4NzYsMHg5NywweGUwLDB4NDQsMHgwMSwweGYwfX0sCi0gezE2LDB4M2YyZiwwLHsweDkwLDB4NzYsMHg5NywweGUwLDB4OTAsMHg4MCwweDAyLDB4ZjAsMHg5MCwweDc2LDB4OTgsMHg3NCwweDA0LDB4ZjAsMHg5MCwweDc2fX0sCi0gezE2LDB4M2YzZiwwLHsweDhlLDB4NzQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDc2LDB4MTksMHhlMCwweGZmLDB4YjQsMHgwMSwweDFiLDB4ZTQsMHg5MCwweDdmfX0sCi0gezE2LDB4M2Y0ZiwwLHsweGYyLDB4ZjAsMHg5MCwweDdmLDB4ZjMsMHg3NCwweDQ0LDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHg5MCwweDc2fX0sCi0gezE2LDB4M2Y1ZiwwLHsweDk3LDB4ZTAsMHg1NCwweGZkLDB4ZjAsMHg1NCwweGZiLDB4ZjAsMHhlZiwweGI0LDB4MDIsMHgxYiwweGU0LDB4OTAsMHg3ZiwweGYyfX0sCi0gezE2LDB4M2Y2ZiwwLHsweGYwLDB4OTAsMHg3ZiwweGYzLDB4NzQsMHg0YywweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmYywweGYwLDB4OTAsMHg3NiwweDk3fX0sCi0gezE2LDB4M2Y3ZiwwLHsweGUwLDB4NDQsMHgwMiwweGYwLDB4NTQsMHhmYiwweGYwLDB4ZWYsMHhiNCwweDAzLDB4MTgsMHhlNCwweDkwLDB4N2YsMHhmMiwweGYwfX0sCi0gezE2LDB4M2Y4ZiwwLHsweDkwLDB4N2YsMHhmMywweDc0LDB4OTQsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmMsMHhmMCwweDkwLDB4NzYsMHg5NywweGUwfX0sCi0gezE2LDB4M2Y5ZiwwLHsweDQ0LDB4MDQsMHhmMCwweDkwLDB4NzYsMHg5NCwweGUwLDB4NTQsMHhmZSwweGYwLDB4OTAsMHg4MCwweDAwLDB4ZjAsMHgzMCwweDNmfX0sCi0gezE2LDB4M2ZhZiwwLHsweDA5LDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg1NCwweGZlLDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg0NCwweDAxfX0sCi0gezE2LDB4M2ZiZiwwLHsweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg5MCwweDgwLDB4MDIsMHhmMCwweDkwLDB4NzYsMHg5OCwweDc0LDB4MDYsMHhmMCwweDkwfX0sCi0geyA2LDB4M2ZjZiwwLHsweDc2LDB4OGUsMHg3NCwweDAyLDB4ZjAsMHgyMn19LAotIHsxNiwweDNmZDUsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWEsMHhlMCwweDQ0LDB4MDIsMHhmMH19LAotIHsxNiwweDNmZTUsMCx7MHg5MCwweDdmLDB4YzcsMHhlMCwweGY1LDB4MTEsMHg3NSwweDBmLDB4MDAsMHg3NSwweDBkLDB4MDAsMHhkMiwweDMzLDB4ZDAsMHg4Mn19LAotIHsgNSwweDNmZjUsMCx7MHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfX0sCi0geyA2LDB4M2ZmYSwwLHsweDEyLDB4NGEsMHhjNCwweGMyLDB4MzEsMHgyMn19LAotIHsxNiwweDQwMDAsMCx7MHhlNSwweDExLDB4ZDMsMHg5NCwweDAwLDB4NTAsMHgwMiwweDIxLDB4MDYsMHg5MCwweDc2LDB4ODksMHhlMCwweGMzLDB4OTQsMHgwOH19LAotIHsxNiwweDQwMTAsMCx7MHg0MCwweDAyLDB4MjEsMHgwNiwweDc0LDB4NDAsMHgyNSwweDBmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZSwweGY1LDB4ODMsMHhlMH19LAotIHsxNiwweDQwMjAsMCx7MHhmNSwweDE3LDB4ZTUsMHgwZCwweDYwLDB4MGUsMHg5MCwweDgwLDB4MDUsMHhlNSwweDE3LDB4ZjAsMHg5MCwweDc2LDB4ODksMHhlMH19LAotIHsxNiwweDQwMzAsMCx7MHgwNCwweGYwLDB4MDEsMHhkYSwweGU1LDB4MTcsMHgxMiwweDM3LDB4ZjksMHg0MCwweGMxLDB4MDIsMHg0MCwweDY3LDB4MDUsMHg0MH19LAotIHsxNiwweDQwNDAsMCx7MHg3YSwweDA2LDB4NDAsMHg5OCwweDA3LDB4NDAsMHhjMSwweDBjLDB4NDAsMHhjMSwweDBkLDB4NDAsMHhjNywweDBmLDB4NDAsMHhjYn19LAotIHsxNiwweDQwNTAsMCx7MHhmNiwweDQwLDB4Y2IsMHhmOCwweDQwLDB4Y2IsMHhmYSwweDQwLDB4Y2IsMHhmYiwweDQwLDB4Y2IsMHhmYywweDQwLDB4Y2IsMHhmZX19LAotIHsxNiwweDQwNjAsMCx7MHg0MCwweGNiLDB4ZmYsMHgwMCwweDAwLDB4NDAsMHhkYSwweDkwLDB4N2UsMHg0MSwweGUwLDB4OTAsMHg4MCwweDA1LDB4ZjAsMHg5MH19LAotIHsxNiwweDQwNzAsMCx7MHg3NiwweDg5LDB4ZTAsMHgwNCwweGYwLDB4NzUsMHgxMSwweDAxLDB4ODAsMHg2MCwweDkwLDB4N2UsMHg0MSwweGUwLDB4OTAsMHg4MH19LAotIHsxNiwweDQwODAsMCx7MHgwNSwweGYwLDB4OTAsMHg3ZSwweDQyLDB4ZTAsMHg5MCwweDgwLDB4MDUsMHhmMCwweDkwLDB4NzYsMHg4OSwweGUwLDB4MDQsMHhmMH19LAotIHsxNiwweDQwOTAsMCx7MHhlMCwweDA0LDB4ZjAsMHg3NSwweDExLDB4MDEsMHg4MCwweDQyLDB4OTAsMHg3ZSwweDQxLDB4ZTAsMHg5MCwweDgwLDB4MDUsMHhmMH19LAotIHsxNiwweDQwYTAsMCx7MHg5MCwweDdlLDB4NDIsMHhlMCwweDkwLDB4ODAsMHgwNSwweGYwLDB4OTAsMHg3ZSwweDQzLDB4ZTAsMHg5MCwweDgwLDB4MDUsMHhmMH19LAotIHsxNiwweDQwYjAsMCx7MHg5MCwweDc2LDB4ODksMHhlMCwweDA0LDB4ZjAsMHhlMCwweDA0LDB4ZjAsMHhlMCwweDA0LDB4ZjAsMHg3NSwweDExLDB4MDEsMHg4MH19LAotIHsxNiwweDQwYzAsMCx7MHgxOSwweGQyLDB4M2IsMHhkMiwweDNjLDB4ODAsMHgxMywweGQyLDB4M2IsMHg4MCwweDBmLDB4OTAsMHg4MCwweDA1LDB4ZTUsMHgxN319LAotIHsxNiwweDQwZDAsMCx7MHhmMCwweDkwLDB4NzYsMHg4OSwweGUwLDB4MDQsMHhmMCwweDc1LDB4MTEsMHgwMSwweDIwLDB4M2IsMHgwNCwweDA1LDB4MGQsMHg4MH19LAotIHsxNiwweDQwZTAsMCx7MHgxZiwweDMwLDB4M2MsMHgxYywweDkwLDB4N2UsMHg0MSwweGUwLDB4OTAsMHg4MCwweDA1LDB4ZjAsMHg5MCwweDdlLDB4NDIsMHhlMH19LAotIHsxNiwweDQwZjAsMCx7MHg5MCwweDgwLDB4MDUsMHhmMCwweDkwLDB4NzYsMHg4OSwweGUwLDB4MDQsMHhmMCwweGUwLDB4MDQsMHhmMCwweDc1LDB4MTEsMHgwMX19LAotIHsxNiwweDQxMDAsMCx7MHgwNSwweDBmLDB4MTUsMHgxMSwweDAxLDB4MDAsMHhlNSwweDExLDB4NzAsMHgxMCwweGMyLDB4MzMsMHhmNSwweDBkLDB4ZjUsMHgwZn19LAotIHsxMSwweDQxMTAsMCx7MHg5MCwweDdmLDB4YzcsMHg3NCwweDA0LDB4ZjAsMHhjMiwweDNiLDB4YzIsMHgzYywweDIyfX0sCi0gezE2LDB4NDExYiwwLHsweDkwLDB4NzYsMHg4ZCwweGUwLDB4NjQsMHgwMSwweDcwLDB4MjcsMHgzMCwweDI3LDB4MDgsMHhjMiwweDI3LDB4MTIsMHgwOCwweDAwfX0sCi0gezE2LDB4NDEyYiwwLHsweDEyLDB4MTcsMHg0YSwweDMwLDB4MjgsMHgwOCwweGMyLDB4MjgsMHgxMiwweDM4LDB4NzQsMHgxMiwweDE3LDB4NGEsMHgzMCwweDJhfX0sCi0gezE2LDB4NDEzYiwwLHsweDBlLDB4ZTQsMHg5MCwweDc2LDB4OGQsMHhmMCwweGMyLDB4MmEsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDIsMHhmMCwweDkwfX0sCi0gezE2LDB4NDE0YiwwLHsweDc2LDB4M2YsMHhlMCwweGI0LDB4MDEsMHgwNSwweGU0LDB4ZjAsMHgxMiwweDMyLDB4NmYsMHg5MCwweDc2LDB4NDEsMHhlMCwweGI0fX0sCi0gezE2LDB4NDE1YiwwLHsweDAxLDB4MDUsMHhlNCwweGYwLDB4MTIsMHgzNCwweDlhLDB4OTAsMHg3NiwweDQwLDB4ZTAsMHhiNCwweDAxLDB4MDMsMHgxMiwweDM0fX0sCi0gezE2LDB4NDE2YiwwLHsweDlhLDB4OTAsMHg3ZiwweDliLDB4ZTAsMHgyMCwweGU0LDB4MDIsMHhjMiwweDNmLDB4OTAsMHg3ZiwweDliLDB4ZTAsMHgzMCwweGU0fX0sCi0gezE2LDB4NDE3YiwwLHsweDAyLDB4ZDIsMHgzZiwweDkwLDB4N2YsMHg5YiwweGUwLDB4MjAsMHhlNSwweDAyLDB4YzIsMHgzZSwweDkwLDB4N2YsMHg5YiwweGUwfX0sCi0gezE2LDB4NDE4YiwwLHsweDMwLDB4ZTUsMHgwMiwweGQyLDB4M2UsMHhhMiwweDQxLDB4MzAsMHgzZiwweDAxLDB4YjMsMHg1MCwweDFmLDB4YTIsMHgzZiwweDkyfX0sCi0gezE2LDB4NDE5YiwwLHsweDQxLDB4MzAsMHgzZiwweDA5LDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg1NCwweGZlLDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3NiwweDk3fX0sCi0gezE2LDB4NDFhYiwwLHsweGUwLDB4NDQsMHgwMSwweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg5MCwweDgwLDB4MDIsMHhmMCwweDMwLDB4M2YsMHgzNCwweDkwfX0sCi0gezE2LDB4NDFiYiwwLHsweDc2LDB4MTksMHhlMCwweGZmLDB4YjQsMHgwMSwweDBlLDB4OTAsMHg3NiwweDdjLDB4NzQsMHg2NywweGYwLDB4YTMsMHg3NCwweDA2fX0sCi0gezE2LDB4NDFjYiwwLHsweGYwLDB4YTMsMHg3NCwweDBiLDB4ZjAsMHhlZiwweGI0LDB4MDIsMHgwYiwweGU0LDB4OTAsMHg3NiwweDdjLDB4ZjAsMHhhMywweGYwfX0sCi0gezE2LDB4NDFkYiwwLHsweGEzLDB4NzQsMHgwYywweGYwLDB4ZWYsMHhiNCwweDAzLDB4MGIsMHhlNCwweDkwLDB4NzYsMHg3YywweGYwLDB4YTMsMHhmMCwweGEzfX0sCi0gezE2LDB4NDFlYiwwLHsweDc0LDB4MTgsMHhmMCwweGEyLDB4NDAsMHgzMCwweDNlLDB4MDEsMHhiMywweDUwLDB4MWYsMHhhMiwweDNlLDB4OTIsMHg0MCwweDMwfX0sCi0gezE2LDB4NDFmYiwwLHsweDNlLDB4MDksMHg5MCwweDc2LDB4OTUsMHhlMCwweDQ0LDB4MDQsMHhmMCwweDgwLDB4MDcsMHg5MCwweDc2LDB4OTUsMHhlMCwweDU0fX0sCi0gezExLDB4NDIwYiwwLHsweGZiLDB4ZjAsMHg5MCwweDc2LDB4OTUsMHhlMCwweDkwLDB4ODAsMHgwMSwweGYwLDB4MjJ9fSwKLSB7MTYsMHg0MjE2LDAsezB4OTAsMHg3NiwweDE5LDB4ZTAsMHg2NCwweDAxLDB4NzAsMHgzNSwweDkwLDB4NzYsMHg4NywweGUwLDB4ZmYsMHhkMywweDk0LDB4MmR9fSwKLSB7MTYsMHg0MjI2LDAsezB4NDAsMHgyYiwweDkwLDB4NzYsMHg4NiwweDc0LDB4MDEsMHhmMCwweDkwLDB4NzYsMHg4NSwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZDN9fSwKLSB7MTYsMHg0MjM2LDAsezB4OTQsMHgwZiwweDQwLDB4MTksMHhlNCwweGYwLDB4ZWYsMHhkMywweDk0LDB4MzEsMHg0MCwweDA4LDB4OTAsMHg3NiwweDE5LDB4NzR9fSwKLSB7MTYsMHg0MjQ2LDAsezB4MDMsMHhmMCwweDgwLDB4MDYsMHg5MCwweDc2LDB4MTksMHg3NCwweDAyLDB4ZjAsMHgxMiwweDNlLDB4OGYsMHg5MCwweDc2LDB4MTl9fSwKLSB7MTYsMHg0MjU2LDAsezB4ZTAsMHhiNCwweDAyLDB4MmMsMHg5MCwweDc2LDB4ODcsMHhlMCwweGZmLDB4YzMsMHg5NCwweDJmLDB4NTAsMHgyMiwweGVmLDB4ZDN9fSwKLSB7MTYsMHg0MjY2LDAsezB4OTQsMHgyYSwweDQwLDB4MWMsMHg5MCwweDc2LDB4ODYsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDc2LDB4ODUsMHhlMCwweDA0LDB4ZjB9fSwKLSB7MTYsMHg0Mjc2LDAsezB4ZTAsMHhkMywweDk0LDB4MGYsMHg0MCwweDBhLDB4ZTQsMHhmMCwweDkwLDB4NzYsMHgxOSwweDA0LDB4ZjAsMHgxMiwweDNlLDB4OGZ9fSwKLSB7MTYsMHg0Mjg2LDAsezB4OTAsMHg3NiwweDE5LDB4ZTAsMHhiNCwweDAyLDB4MjYsMHg5MCwweDc2LDB4ODcsMHhlMCwweGQzLDB4OTQsMHgzMSwweDQwLDB4MWR9fSwKLSB7MTYsMHg0Mjk2LDAsezB4OTAsMHg3NiwweDg2LDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3NiwweDg1LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhkMywweDk0LDB4MGZ9fSwKLSB7MTYsMHg0MmE2LDAsezB4NDAsMHgwYiwweGU0LDB4ZjAsMHg5MCwweDc2LDB4MTksMHg3NCwweDAzLDB4ZjAsMHgxMiwweDNlLDB4OGYsMHg5MCwweDc2LDB4MTl9fSwKLSB7MTYsMHg0MmI2LDAsezB4ZTAsMHg2NCwweDAzLDB4NzAsMHgzZiwweDkwLDB4NzYsMHg4NywweGUwLDB4ZmYsMHhjMywweDk0LDB4NWYsMHg1MCwweDM1LDB4OTB9fSwKLSB7MTYsMHg0MmM2LDAsezB4NzYsMHg4NiwweDc0LDB4MDEsMHhmMCwweDkwLDB4NzYsMHg4NSwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZDMsMHg5NCwweDBmLDB4NDB9fSwKLSB7MTYsMHg0MmQ2LDAsezB4MjMsMHhlNCwweGYwLDB4ZWYsMHhjMywweDk0LDB4MmYsMHg1MCwweDBjLDB4ZWYsMHhkMywweDk0LDB4MmEsMHg0MCwweDA2LDB4OTB9fSwKLSB7MTYsMHg0MmU2LDAsezB4NzYsMHgxOSwweDc0LDB4MDEsMHhmMCwweGVmLDB4ZDMsMHg5NCwweDJmLDB4NDAsMHgwNiwweDkwLDB4NzYsMHgxOSwweDc0LDB4MDJ9fSwKLSB7MTYsMHg0MmY2LDAsezB4ZjAsMHgxMiwweDNlLDB4OGYsMHg5MCwweDc2LDB4ODYsMHhlMCwweDcwLDB4MDUsMHg5MCwweDc2LDB4ODUsMHhmMCwweDIyLDB4ZTR9fSwKLSB7IDUsMHg0MzA2LDAsezB4OTAsMHg3NiwweDg2LDB4ZjAsMHgyMn19LAotIHsxNiwweDQzMGIsMCx7MHhlNCwweDkwLDB4NzYsMHg5NiwweGYwLDB4OTAsMHg4MCwweDAzLDB4ZjAsMHg5MCwweDdmLDB4ZTAsMHg3NCwweDkwLDB4ZjAsMHg5MH19LAotIHsxNiwweDQzMWIsMCx7MHg3ZiwweGUxLDB4NzQsMHgwNCwweGYwLDB4ZTQsMHg5MCwweDdmLDB4ZGQsMHhmMCwweDkwLDB4N2YsMHhhMSwweGYwLDB4NTMsMHg4ZX19LAotIHsxNiwweDQzMmIsMCx7MHhmOCwweDc1LDB4ODgsMHgwNSwweDc1LDB4YjgsMHgyMCwweDc1LDB4ZjgsMHgwMSwweDQzLDB4OGUsMHgzMCwweGY1LDB4YzgsMHg3NX19LAotIHsxNiwweDQzM2IsMCx7MHhjYSwweDdmLDB4NzUsMHhjYiwweGY4LDB4NDMsMHhhOCwweDIwLDB4MTIsMHgwNywweDRhLDB4YzIsMHgyYywweGMyLDB4MmQsMHhjMn19LAotIHsxNiwweDQzNGIsMCx7MHgyYiwweGMyLDB4MmYsMHg5MCwweDdmLDB4ZmMsMHg3NCwweGRkLDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZmLDB4ZjAsMHg5MH19LAotIHsxNiwweDQzNWIsMCx7MHg3ZiwweDk3LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MCwweDc2LDB4MTksMHg3NCwweDAxLDB4ZjAsMHhlNCwweDkwLDB4NzYsMHg4NX19LAotIHsxNiwweDQzNmIsMCx7MHhmMCwweGEzLDB4ZjAsMHg5MCwweDc2LDB4ODEsMHhmMCwweDkwLDB4NzYsMHg4MCwweGYwLDB4MTIsMHg0OSwweDU4LDB4MTIsMHgwZn19LAotIHsxNiwweDQzN2IsMCx7MHhjNiwweDEyLDB4NGEsMHg4ZCwweDkwLDB4N2YsMHg5NywweGUwLDB4NDQsMHgwOCwweGYwLDB4ZTAsMHg1NCwweGI5LDB4ZjAsMHhkMn19LAotIHsxNiwweDQzOGIsMCx7MHgzMCwweDIwLDB4MzAsMHgxOCwweDEyLDB4NDcsMHhiNCwweDEyLDB4MzAsMHgwMCwweDEyLDB4NDAsMHgwMCwweDEyLDB4NDIsMHgxNn19LAotIHsxNiwweDQzOWIsMCx7MHgxMiwweDRhLDB4NTAsMHgxMiwweDFiLDB4MDQsMHgxMiwweDE2LDB4NjEsMHgxMiwweDQyLDB4MTYsMHhjMiwweDJmLDB4YzIsMHgzMX19LAotIHsxNiwweDQzYWIsMCx7MHhjMiwweDMyLDB4YzIsMHgzNCwweGMyLDB4MzMsMHhjMiwweDI5LDB4YzIsMHgyNywweGMyLDB4MjgsMHhlNCwweGY1LDB4MTEsMHg5MH19LAotIHsxNiwweDQzYmIsMCx7MHg3NiwweDg5LDB4ZjAsMHg5MCwweDc2LDB4M2YsMHhmMCwweDkwLDB4NzYsMHg0MSwweGYwLDB4OTAsMHg3NiwweDQwLDB4ZjAsMHg5MH19LAotIHsxNiwweDQzY2IsMCx7MHg3NiwweDhhLDB4ZjAsMHhhMywweGYwLDB4YTMsMHgwNCwweGYwLDB4ZTQsMHhhMywweGYwLDB4OTAsMHg3NiwweDk5LDB4ZjAsMHgyMn19LAotIHsxNiwweDQzZGIsMCx7MHgxMiwweDRkLDB4YTMsMHg0MCwweDAyLDB4ODEsMHhhMCwweDkwLDB4N2YsMHhlYiwweGUwLDB4MjQsMHhmZSwweDYwLDB4MWUsMHgxNH19LAotIHsxNiwweDQzZWIsMCx7MHg2MCwweDQ2LDB4MTQsMHg2MCwweDZlLDB4MTQsMHg3MCwweDAyLDB4ODEsMHg5MSwweDI0LDB4MDQsMHg2MCwweDAyLDB4ODEsMHg5OX19LAotIHsxNiwweDQzZmIsMCx7MHg3NCwweDA1LDB4OTAsMHg3ZiwweGQ0LDB4ZjAsMHg3NCwweDAwLDB4OTAsMHg3ZiwweGQ1LDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhlYX19LAotIHsxNiwweDQ0MGIsMCx7MHhlMCwweGZmLDB4MTIsMHg0OSwweGZmLDB4OGIsMHgyMCwweDhhLDB4MjEsMHg4OSwweDIyLDB4ZWEsMHg0OSwweDYwLDB4MTEsMHhjZX19LAotIHsxNiwweDQ0MWIsMCx7MHhlYSwweGNlLDB4ZWUsMHg5MCwweDdmLDB4ZDQsMHhmMCwweGNmLDB4ZTksMHhjZiwweGVmLDB4OTAsMHg3ZiwweGQ1LDB4ZjAsMHgyMn19LAotIHsxNiwweDQ0MmIsMCx7MHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmZiwweDEyLDB4NDgsMHhiMH19LAotIHsxNiwweDQ0M2IsMCx7MHg4YiwweDIwLDB4OGEsMHgyMSwweDg5LDB4MjIsMHhlYSwweDQ5LDB4NjAsMHgxMSwweGNlLDB4ZWEsMHhjZSwweGVlLDB4OTAsMHg3Zn19LAotIHsxNiwweDQ0NGIsMCx7MHhkNCwweGYwLDB4Y2YsMHhlOSwweGNmLDB4ZWYsMHg5MCwweDdmLDB4ZDUsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NH19LAotIHsxNiwweDQ0NWIsMCx7MHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4ZWEsMHhlMCwweGZmLDB4OTAsMHg3ZSwweGMwLDB4ZTAsMHhmZCwweGEzLDB4ZTAsMHhmYn19LAotIHsxNiwweDQ0NmIsMCx7MHgxMiwweDE3LDB4OTQsMHg4YiwweDIwLDB4OGEsMHgyMSwweDg5LDB4MjIsMHhlYSwweDQ5LDB4NjAsMHgxMSwweGNlLDB4ZWEsMHhjZX19LAotIHsxNiwweDQ0N2IsMCx7MHhlZSwweDkwLDB4N2YsMHhkNCwweGYwLDB4Y2YsMHhlOSwweGNmLDB4ZWYsMHg5MCwweDdmLDB4ZDUsMHhmMCwweDIyLDB4OTAsMHg3Zn19LAotIHsxNiwweDQ0OGIsMCx7MHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3Zn19LAotIHsgNSwweDQ0OWIsMCx7MHhiNCwweGUwLDB4NDQsMHgwMSwweGYwfX0sCi0geyAxLDB4NDRhMCwwLHsweDIyfX0sCi0gezE2LDB4NDRhMSwwLHsweGMyLDB4YWYsMHhkMiwweDI0LDB4OTAsMHg3ZiwweDkzLDB4NzQsMHgzMCwweGYwLDB4OTAsMHg3ZiwweDljLDB4NzQsMHhiYiwweGYwfX0sCi0gezE2LDB4NDRiMSwwLHsweDkwLDB4N2YsMHg5NiwweGUwLDB4NDQsMHgzMCwweGYwLDB4ZTAsMHg1NCwweDMwLDB4ZjAsMHg5MCwweDdmLDB4OTQsMHg3NCwweDMwfX0sCi0gezE2LDB4NDRjMSwwLHsweGYwLDB4OTAsMHg3ZiwweDlkLDB4NzQsMHhjZiwweGYwLDB4OTAsMHg3ZiwweDk3LDB4NzQsMHhhMCwweGYwLDB4OTAsMHg3ZiwweDk1fX0sCi0gezE2LDB4NDRkMSwwLHsweDc0LDB4YzAsMHhmMCwweDkwLDB4N2YsMHg5ZSwweDc0LDB4MDMsMHhmMCwweDkwLDB4N2YsMHg5OSwweGUwLDB4MzAsMHhlMiwweDA5fX0sCi0gezE2LDB4NDRlMSwwLHsweDkwLDB4MDUsMHgxOSwweDc0LDB4YTAsMHhmMCwweGU0LDB4YTMsMHhmMCwweGMyLDB4MjUsMHhjMiwweDIyLDB4YzIsMHgyMywweGMyfX0sCi0gezE2LDB4NDRmMSwwLHsweDI2LDB4MTIsMHg0YSwweGM0LDB4MTIsMHgyZCwweGE5LDB4MTIsMHgzYiwweGQzLDB4MTIsMHg0NSwweDU5LDB4MTIsMHgzYSwweDQyfX0sCi0gezE2LDB4NDUwMSwwLHsweDkwLDB4NzYsMHg2OCwweDc0LDB4MDEsMHhmMCwweDcwLDB4MGYsMHgxMiwweDRiLDB4YmIsMHgxMiwweDA3LDB4ZmUsMHgxMiwweDRkfX0sCi0gezE2LDB4NDUxMSwwLHsweGExLDB4MTIsMHgxYiwweDQwLDB4MTIsMHgxNCwweDk2LDB4MTIsMHg0MywweDBiLDB4OTAsMHg3ZiwweGFmLDB4ZTAsMHg0NCwweDAxfX0sCi0gezE2LDB4NDUyMSwwLHsweGYwLDB4OTAsMHg3ZiwweGFlLDB4ZTAsMHg0NCwweDFmLDB4ZjAsMHg5MCwweDdmLDB4YWMsMHg3NCwweGZmLDB4ZjAsMHg5MCwweDdmfX0sCi0gezE2LDB4NDUzMSwwLHsweGFkLDB4ZjAsMHg5MCwweDdmLDB4ZGUsMHhmMCwweDkwLDB4N2YsMHhkZiwweGYwLDB4OTAsMHg3ZiwweGFiLDB4ZjAsMHg5MCwweDdmfX0sCi0gezE2LDB4NDU0MSwwLHsweGE5LDB4ZjAsMHg5MCwweDdmLDB4YWEsMHhmMCwweDUzLDB4OTEsMHhlZiwweDQzLDB4ZDgsMHgyMCwweGQyLDB4ZTgsMHg0MywweGQ4fX0sCi0geyA4LDB4NDU1MSwwLHsweDIwLDB4NTMsMHhhOCwweGEwLDB4NDMsMHhhOCwweDgwLDB4MjJ9fSwKLSB7MTYsMHg0NTU5LDAsezB4ZTQsMHg5MCwweDc2LDB4MzYsMHhmMCwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MzIsMHhmNSwweDgyLDB4ZTR9fSwKLSB7MTYsMHg0NTY5LDAsezB4MzQsMHg3NSwweGY1LDB4ODMsMHhlNCwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MzMsMHhmNSwweDgyLDB4ZTR9fSwKLSB7MTYsMHg0NTc5LDAsezB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDc2LDB4MzYsMHhlMCwweDA0LDB4ZjAsMHhlMCwweGZmLDB4NzV9fSwKLSB7MTYsMHg0NTg5LDAsezB4ZjAsMHgwMywweGE0LDB4MjQsMHgzMiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTQsMHhmMCwweGVmLDB4NzV9fSwKLSB7MTYsMHg0NTk5LDAsezB4ZjAsMHgwMywweGE0LDB4MjQsMHgzMywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwMiwweGYwLDB4OTB9fSwKLSB7MTYsMHg0NWE5LDAsezB4NzYsMHgzNiwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MzIsMHhmNSwweDgyLDB4ZTR9fSwKLSB7MTYsMHg0NWI5LDAsezB4MzQsMHg3NSwweGY1LDB4ODMsMHhlNCwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MzMsMHhmNSwweDgyLDB4ZTR9fSwKLSB7MTYsMHg0NWM5LDAsezB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDAzLDB4ZjAsMHg5MCwweDc2LDB4MzYsMHhlMCwweDA0LDB4ZjAsMHhlMCwweGZmLDB4NzV9fSwKLSB7MTYsMHg0NWQ5LDAsezB4ZjAsMHgwMywweGE0LDB4MjQsMHgzMiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTQsMHhmMCwweGVmLDB4NzV9fSwKLSB7MTYsMHg0NWU5LDAsezB4ZjAsMHgwMywweGE0LDB4MjQsMHgzMywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwNCwweGYwLDB4MjJ9fSwKLSB7MTIsMHg0NWY5LDAsezB4NzgsMHg3ZiwweGU0LDB4ZjYsMHhkOCwweGZkLDB4NzUsMHg4MSwweDM4LDB4MDIsMHg0NiwweDQwfX0sCi0gezE2LDB4NDYwNSwwLHsweDAyLDB4NDcsMHg1YSwweGU0LDB4OTMsMHhhMywweGY4LDB4ZTQsMHg5MywweGEzLDB4NDAsMHgwMywweGY2LDB4ODAsMHgwMSwweGYyfX0sCi0gezE2LDB4NDYxNSwwLHsweDA4LDB4ZGYsMHhmNCwweDgwLDB4MjksMHhlNCwweDkzLDB4YTMsMHhmOCwweDU0LDB4MDcsMHgyNCwweDBjLDB4YzgsMHhjMywweDMzfX0sCi0gezE2LDB4NDYyNSwwLHsweGM0LDB4NTQsMHgwZiwweDQ0LDB4MjAsMHhjOCwweDgzLDB4NDAsMHgwNCwweGY0LDB4NTYsMHg4MCwweDAxLDB4NDYsMHhmNiwweGRmfX0sCi0gezE2LDB4NDYzNSwwLHsweGU0LDB4ODAsMHgwYiwweDAxLDB4MDIsMHgwNCwweDA4LDB4MTAsMHgyMCwweDQwLDB4ODAsMHg5MCwweDBjLDB4OGYsMHhlNCwweDdlfX0sCi0gezE2LDB4NDY0NSwwLHsweDAxLDB4OTMsMHg2MCwweGJjLDB4YTMsMHhmZiwweDU0LDB4M2YsMHgzMCwweGU1LDB4MDksMHg1NCwweDFmLDB4ZmUsMHhlNCwweDkzfX0sCi0gezE2LDB4NDY1NSwwLHsweGEzLDB4NjAsMHgwMSwweDBlLDB4Y2YsMHg1NCwweGMwLDB4MjUsMHhlMCwweDYwLDB4YTgsMHg0MCwweGI4LDB4ZTQsMHg5MywweGEzfX0sCi0gezE2LDB4NDY2NSwwLHsweGZhLDB4ZTQsMHg5MywweGEzLDB4ZjgsMHhlNCwweDkzLDB4YTMsMHhjOCwweGM1LDB4ODIsMHhjOCwweGNhLDB4YzUsMHg4MywweGNhfX0sCi0gezE2LDB4NDY3NSwwLHsweGYwLDB4YTMsMHhjOCwweGM1LDB4ODIsMHhjOCwweGNhLDB4YzUsMHg4MywweGNhLDB4ZGYsMHhlOSwweGRlLDB4ZTcsMHg4MCwweGJlfX0sCi0gezE2LDB4NDY4NSwwLHsweDkwLDB4N2YsMHhlYywweGUwLDB4OTAsMHg3NiwweDgzLDB4ZjAsMHhlMCwweDE0LDB4NjAsMHgxZCwweDE0LDB4NjAsMHgyYSwweDE0fX0sCi0gezE2LDB4NDY5NSwwLHsweDYwLDB4MzcsMHgxNCwweDYwLDB4NDQsMHgyNCwweDA0LDB4NzAsMHg1MCwweDkwLDB4NzYsMHg5MSwweGUwLDB4OTAsMHg3ZiwweDAwfX0sCi0gezE2LDB4NDZhNSwwLHsweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMSwweGYwLDB4ODAsMHg0NywweDkwLDB4NzYsMHg5MiwweGUwLDB4OTAsMHg3ZiwweDAwfX0sCi0gezE2LDB4NDZiNSwwLHsweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMSwweGYwLDB4ODAsMHgzNywweDkwLDB4NzYsMHg5MCwweGUwLDB4OTAsMHg3ZiwweDAwfX0sCi0gezE2LDB4NDZjNSwwLHsweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMSwweGYwLDB4ODAsMHgyNywweDkwLDB4NzYsMHg4NCwweGUwLDB4OTAsMHg3ZiwweDAwfX0sCi0gezE2LDB4NDZkNSwwLHsweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMSwweGYwLDB4ODAsMHgxNywweDkwLDB4NzYsMHg5MywweGUwLDB4OTAsMHg3ZiwweDAwfX0sCi0gezE2LDB4NDZlNSwwLHsweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMSwweGYwLDB4ODAsMHgwNywweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwfX0sCi0geyAyLDB4NDZmNSwwLHsweGQzLDB4MjJ9fSwKLSB7MTYsMHg0NmY3LDAsezB4YzAsMHhlMCwweGMwLDB4ZjAsMHhjMCwweDgzLDB4YzAsMHg4MiwweGMwLDB4ZDAsMHhlOCwweGMwLDB4ZTAsMHhlOSwweGMwLDB4ZTB9fSwKLSB7MTYsMHg0NzA3LDAsezB4ZWEsMHhjMCwweGUwLDB4ZWIsMHhjMCwweGUwLDB4ZWMsMHhjMCwweGUwLDB4ZWQsMHhjMCwweGUwLDB4ZWUsMHhjMCwweGUwLDB4ZWZ9fSwKLSB7MTYsMHg0NzE3LDAsezB4YzAsMHhlMCwweGMyLDB4Y2EsMHhjMiwweGNmLDB4OTAsMHg3ZiwweDk4LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgzMCwweDJlLDB4MDN9fSwKLSB7MTYsMHg0NzI3LDAsezB4MTIsMHgxNCwweGE2LDB4OTAsMHg3ZiwweDk4LDB4ZTAsMHg1NCwweGZlLDB4ZjAsMHg1MywweGE4LDB4ZmEsMHgxMiwweDE2LDB4NjF9fSwKLSB7MTYsMHg0NzM3LDAsezB4ZDAsMHhlMCwweGZmLDB4ZDAsMHhlMCwweGZlLDB4ZDAsMHhlMCwweGZkLDB4ZDAsMHhlMCwweGZjLDB4ZDAsMHhlMCwweGZiLDB4ZDB9fSwKLSB7MTYsMHg0NzQ3LDAsezB4ZTAsMHhmYSwweGQwLDB4ZTAsMHhmOSwweGQwLDB4ZTAsMHhmOCwweGQwLDB4ZDAsMHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZjB9fSwKLSB7IDMsMHg0NzU3LDAsezB4ZDAsMHhlMCwweDMyfX0sCi0gezE2LDB4NDc1YSwwLHsweGU0LDB4OTAsMHg3NiwweDY2LDB4ZjAsMHgxMiwweDQ0LDB4YTEsMHgyMCwweDI2LDB4MTMsMHg5MCwweDc2LDB4NjYsMHhlMCwweGMzfX0sCi0gezE2LDB4NDc2YSwwLHsweDk0LDB4MDIsMHg1MCwweDBhLDB4ZTAsMHgwNCwweGYwLDB4ZDIsMHg0MiwweDEyLDB4NGEsMHhmNiwweDgwLDB4ZWEsMHgzMCwweDI2fX0sCi0gezE2LDB4NDc3YSwwLHsweDA1LDB4MTIsMHgyOCwweDAxLDB4YzIsMHgyNiwweDMwLDB4MjUsMHgyYiwweDkwLDB4NzYsMHg5NiwweGUwLDB4NTQsMHhmYywweGYwfX0sCi0gezE2LDB4NDc4YSwwLHsweDkwLDB4ODAsMHgwMywweGYwLDB4MTIsMHgxNCwweDk2LDB4OTAsMHg3NiwweDk2LDB4ZTAsMHg0NCwweDAzLDB4ZjAsMHg5MCwweDgwfX0sCi0gezE2LDB4NDc5YSwwLHsweDAzLDB4ZjAsMHhlNCwweDkwLDB4NzYsMHg2NywweGYwLDB4OTAsMHg3NiwweDY3LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhiNCwweDRifX0sCi0gezEwLDB4NDdhYSwwLHsweGY2LDB4MTIsMHgzZiwweGZhLDB4MTIsMHg0MSwweDFiLDB4ODAsMHhjNSwweDIyfX0sCi0gezE2LDB4NDdiNCwwLHsweGU0LDB4OTAsMHg3NiwweDliLDB4ZjAsMHg5MCwweDc2LDB4OWIsMHhlMCwweGZmLDB4MDQsMHhmMCwweGVmLDB4NjAsMHgwOCwweGUwfX0sCi0gezE2LDB4NDdjNCwwLHsweDI0LDB4MDgsMHhmOCwweGU0LDB4ZjYsMHg4MCwweGVlLDB4OTAsMHg3NiwweDk2LDB4ZTAsMHg1NCwweGZiLDB4ZjAsMHg1NCwweGY3fX0sCi0gezE2LDB4NDdkNCwwLHsweGYwLDB4OTAsMHg4MCwweDAzLDB4ZjAsMHhlNCwweGY1LDB4MTgsMHhkMiwweDM1LDB4ZjUsMHgwZSwweGY1LDB4MTAsMHhkMiwweDM2fX0sCi0gezE2LDB4NDdlNCwwLHsweDc1LDB4MTIsMHgxMSwweDc1LDB4MTMsMHgyMiwweGMyLDB4MzcsMHhjMiwweDM5LDB4YzIsMHgzOCwweGY1LDB4MTYsMHhmNSwweDE0fX0sCi0gezExLDB4NDdmNCwwLHsweGY1LDB4MWEsMHhmNSwweDBkLDB4YzIsMHgzYiwweGMyLDB4M2MsMHhjMiwweDNkLDB4MjJ9fSwKLSB7MTYsMHg0ODAwLDAsezB4OTAsMHg3ZiwweGVjLDB4ZTAsMHg5MCwweDc2LDB4ODMsMHhmMCwweGUwLDB4MTQsMHg2MCwweDE3LDB4MTQsMHg2MCwweDIxLDB4MTR9fSwKLSB7MTYsMHg0ODEwLDAsezB4NjAsMHgyYiwweDE0LDB4NjAsMHgzMiwweDI0LDB4MDQsMHg3MCwweDM4LDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHg5MCwweDc2LDB4OTF9fSwKLSB7MTYsMHg0ODIwLDAsezB4ZjAsMHg4MCwweDM1LDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHg5MCwweDc2LDB4OTIsMHhmMCwweDEyLDB4M2UsMHg4ZiwweDgwLDB4Mjh9fSwKLSB7MTYsMHg0ODMwLDAsezB4OTAsMHg3ZiwweGVhLDB4ZTAsMHg5MCwweDc2LDB4OTAsMHhmMCwweDEyLDB4MTgsMHgwMCwweDgwLDB4MWIsMHg5MCwweDdmLDB4ZWF9fSwKLSB7MTYsMHg0ODQwLDAsezB4ZTAsMHg5MCwweDc2LDB4ODQsMHhmMCwweDgwLDB4MTEsMHg5MCwweDdmLDB4ZWEsMHhlMCwweDkwLDB4NzYsMHg5MywweGYwLDB4ODB9fSwKLSB7MTAsMHg0ODUwLDAsezB4MDcsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweGQzLDB4MjJ9fSwKLSB7MTYsMHg0ODVhLDAsezB4ZTQsMHg5MCwweDc2LDB4MjYsMHhmMCwweDkwLDB4NzYsMHgyNiwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MzR9fSwKLSB7MTYsMHg0ODZhLDAsezB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZlLDB4OTAsMHg3ZiwweGVjLDB4ZTAsMHhmZCwweGVlLDB4NmR9fSwKLSB7MTYsMHg0ODdhLDAsezB4NjAsMHgwZSwweGVmLDB4YzMsMHg5NCwweDA0LDB4NTAsMHgwOCwweDkwLDB4NzYsMHgyNiwweGUwLDB4MDQsMHhmMCwweDgwLDB4ZDV9fSwKLSB7MTYsMHg0ODhhLDAsezB4ZWYsMHhiNCwweDA0LDB4MDgsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4ZWYsMHg3NSwweGYwLDB4MDN9fSwKLSB7MTYsMHg0ODlhLDAsezB4YTQsMHgyNCwweDMyLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweDkwLDB4N2YsMHgwMCwweGYwLDB4OTB9fSwKLSB7IDYsMHg0OGFhLDAsezB4N2YsMHhiNSwweDc0LDB4MDEsMHhmMCwweDIyfX0sCi0geyAyLDB4NDhiMCwwLHsweDhmLDB4MmV9fSwKLSB7MTYsMHg0OGIyLDAsezB4ZTQsMHhmNSwweDJmLDB4NzUsMHgzMCwweGZmLDB4NzUsMHgzMSwweDA2LDB4NzUsMHgzMiwweGJlLDB4YWIsMHgzMCwweGFhLDB4MzF9fSwKLSB7MTYsMHg0OGMyLDAsezB4YTksMHgzMiwweDkwLDB4MDAsMHgwMSwweDEyLDB4MzYsMHhhYiwweGI0LDB4MDMsMHgxZiwweGFmLDB4MmYsMHgwNSwweDJmLDB4ZWZ9fSwKLSB7MTYsMHg0OGQyLDAsezB4NjUsMHgyZSwweDcwLDB4MDEsMHgyMiwweDEyLDB4MzYsMHg5MiwweDdlLDB4MDAsMHgyOSwweGZmLDB4ZWUsMHgzYSwweGM5LDB4ZWZ9fSwKLSB7MTYsMHg0OGUyLDAsezB4YzksMHg3NSwweDMwLDB4ZmYsMHhmNSwweDMxLDB4ODksMHgzMiwweDgwLDB4ZDIsMHg3YiwweDAwLDB4N2EsMHgwMCwweDc5LDB4MDB9fSwKLSB7IDEsMHg0OGYyLDAsezB4MjJ9fSwKLSB7MTIsMHg0OGYzLDAsezB4YzIsMHgzNywweGU0LDB4ZjUsMHgwZSwweGY1LDB4MTAsMHhjMiwweDM2LDB4ZjUsMHgxNCwweDIyfX0sCi0gezE2LDB4NDkwMCwwLHsweDAyLDB4MmYsMHhlNywweDAwLDB4MDIsMHgzZCwweDQ3LDB4MDAsMHgwMiwweDRkLDB4NDYsMHgwMCwweDAyLDB4NGIsMHhkNSwweDAwfX0sCi0gezE2LDB4NDkxMCwwLHsweDAyLDB4NGIsMHg2MCwweDAwLDB4MDIsMHgyZiwweGZmLDB4MDAsMHgwMiwweDRiLDB4ZWQsMHgwMCwweDAyLDB4NGIsMHg4MSwweDAwfX0sCi0gezE2LDB4NDkyMCwwLHsweDAyLDB4NGMsMHgwNCwweDAwLDB4MDIsMHgzZiwweGQ1LDB4MDAsMHgwMiwweDRjLDB4MWIsMHgwMCwweDAyLDB4NGMsMHgzMiwweDAwfX0sCi0gezE2LDB4NDkzMCwwLHsweDAyLDB4NGMsMHg0OSwweDAwLDB4MDIsMHg0YywweDYwLDB4MDAsMHgwMiwweDRjLDB4NzcsMHgwMCwweDAyLDB4NGMsMHg4ZSwweDAwfX0sCi0gezE2LDB4NDk0MCwwLHsweDAyLDB4NGMsMHhhNSwweDAwLDB4MDIsMHg0YywweGJjLDB4MDAsMHgwMiwweDRjLDB4ZDMsMHgwMCwweDAyLDB4NGMsMHhlYSwweDAwfX0sCi0geyA4LDB4NDk1MCwwLHsweDAyLDB4NGQsMHgwMSwweDAwLDB4MDIsMHg0ZCwweDE4LDB4MDB9fSwKLSB7MTYsMHg0OTU4LDAsezB4OTAsMHg3NiwweDQ2LDB4NzQsMHg4MCwweGYwLDB4ZTQsMHhhMywweGYwLDB4YTMsMHhmMCwweGEzLDB4ZjAsMHhhMywweGYwLDB4YTN9fSwKLSB7MTYsMHg0OTY4LDAsezB4ZjAsMHhhMywweGYwLDB4YTMsMHhmMCwweGEzLDB4ZjAsMHhhMywweDc0LDB4ODAsMHhmMCwweGU0LDB4YTMsMHhmMCwweGEzLDB4ZjB9fSwKLSB7MTYsMHg0OTc4LDAsezB4YTMsMHhmMCwweGEzLDB4ZjAsMHhhMywweGYwLDB4YTMsMHhmMCwweGEzLDB4NzQsMHg0MCwweGYwLDB4ZTQsMHhhMywweGYwLDB4YTN9fSwKLSB7MTYsMHg0OTg4LDAsezB4NzQsMHg0MCwweGYwLDB4ZTQsMHhhMywweGYwLDB4YTMsMHhmMCwweGEzLDB4ZjAsMHhhMywweGYwLDB4YTMsMHhmMCwweGEzLDB4ZjB9fSwKLSB7MTYsMHg0OTk4LDAsezB4YTMsMHg3NCwweDQwLDB4ZjAsMHhlNCwweGEzLDB4ZjAsMHhhMywweDc0LDB4NDAsMHhmMCwweGU0LDB4YTMsMHhmMCwweGEzLDB4ZjB9fSwKLSB7IDUsMHg0OWE4LDAsezB4YTMsMHhmMCwweGEzLDB4ZjAsMHgyMn19LAotIHsxNiwweDQ5YWQsMCx7MHhlNCwweDkwLDB4NzYsMHgyNSwweGYwLDB4OTAsMHg3NiwweDI1LDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgzNH19LAotIHsxNiwweDQ5YmQsMCx7MHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg5MCwweDdmLDB4ZWMsMHhlMCwweGZkLDB4ZWUsMHg2ZH19LAotIHsxNiwweDQ5Y2QsMCx7MHg2MCwweDBlLDB4ZWYsMHhjMywweDk0LDB4MDQsMHg1MCwweDA4LDB4OTAsMHg3NiwweDI1LDB4ZTAsMHgwNCwweGYwLDB4ODAsMHhkNX19LAotIHsxNiwweDQ5ZGQsMCx7MHhlZiwweGI0LDB4MDQsMHgwOCwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdlLDB4YzAsMHhlMH19LAotIHsxNiwweDQ5ZWQsMCx7MHhmZSwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDMyLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZX19LAotIHsgMiwweDQ5ZmQsMCx7MHhmMCwweDIyfX0sCi0gezE2LDB4NDlmZiwwLHsweGU0LDB4ZmUsMHg3NSwweDFkLDB4ZmYsMHg3NSwweDFlLDB4MDUsMHg3NSwweDFmLDB4MTIsMHhhYiwweDFkLDB4YWEsMHgxZSwweGE5fX0sCi0gezE2LDB4NGEwZiwwLHsweDFmLDB4OTAsMHgwMCwweDAxLDB4MTIsMHgzNiwweGFiLDB4NjQsMHgwMiwweDcwLDB4MmYsMHhjZCwweGVlLDB4Y2QsMHgwZSwweGVkfX0sCi0gezE2LDB4NGExZiwwLHsweDZmLDB4NzAsMHgwMSwweDIyLDB4OTAsMHgwMCwweDAyLDB4MTIsMHgzNywweDBlLDB4ODUsMHhmMCwweDFiLDB4ZjUsMHgxYywweDYyfX0sCi0gezE2LDB4NGEyZiwwLHsweDFiLDB4ZTUsMHgxYiwweDYyLDB4MWMsMHhlNSwweDFjLDB4NjIsMHgxYiwweDI5LDB4ZmQsMHhlNSwweDFiLDB4M2EsMHhjOSwweGVkfX0sCi0gezE2LDB4NGEzZiwwLHsweGM5LDB4NzUsMHgxZCwweGZmLDB4ZjUsMHgxZSwweDg5LDB4MWYsMHg4MCwweGMxLDB4N2IsMHgwMCwweDdhLDB4MDAsMHg3OSwweDAwfX0sCi0geyAxLDB4NGE0ZiwwLHsweDIyfX0sCi0gezE2LDB4NGE1MCwwLHsweDMwLDB4MmQsMHgzOSwweGMyLDB4MmQsMHg5MCwweDc2LDB4MTksMHhlMCwweGZmLDB4YjQsMHgwMSwweDBkLDB4ZTQsMHg5MCwweDc2fX0sCi0gezE2LDB4NGE2MCwwLHsweDdjLDB4ZjAsMHhhMywweDc0LDB4ZjgsMHhmMCwweGEzLDB4NzQsMHgwYSwweGYwLDB4ZWYsMHhiNCwweDAyLDB4MGQsMHhlNCwweDkwfX0sCi0gezE2LDB4NGE3MCwwLHsweDc2LDB4N2MsMHhmMCwweGEzLDB4NzQsMHhmMCwweGYwLDB4YTMsMHg3NCwweDBiLDB4ZjAsMHhlZiwweGI0LDB4MDMsMHgwZCwweGU0fX0sCi0gezEzLDB4NGE4MCwwLHsweDkwLDB4NzYsMHg3YywweGYwLDB4YTMsMHg3NCwweGY4LDB4ZjAsMHhhMywweDc0LDB4MTcsMHhmMCwweDIyfX0sCi0gezE2LDB4NGE4ZCwwLHsweGU0LDB4ZmYsMHg3NCwweDU2LDB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc2LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg3NCwweDI4fX0sCi0gezE2LDB4NGE5ZCwwLHsweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg4MCwweGY1LDB4ODMsMHhlZSwweGYwLDB4NzQsMHg1ZSwweDJmLDB4ZjUsMHg4MiwweGU0fX0sCi0gezE2LDB4NGFhZCwwLHsweDM0LDB4NzYsMHhmNSwweDgzLDB4ZTAsMHhmZSwweDc0LDB4MzgsMHgyZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4ODAsMHhmNSwweDgzfX0sCi0geyA2LDB4NGFiZCwwLHsweGVlLDB4ZjAsMHgwZiwweGJmLDB4MDgsMHhjY319LAotIHsgMSwweDRhYzMsMCx7MHgyMn19LAotIHsxNiwweDRhYzQsMCx7MHhlNCwweDkwLDB4NzIsMHgzNiwweGYwLDB4YTMsMHhmMCwweDkwLDB4N2YsMHg5NywweGUwLDB4NTQsMHhmYiwweGYwLDB4ZTQsMHg5MH19LAotIHsxNiwweDRhZDQsMCx7MHg3MiwweDMzLDB4ZjAsMHg5MCwweDcyLDB4MzIsMHhmMCwweDkwLDB4NzIsMHgwMSwweDA0LDB4ZjAsMHhlNCwweDkwLDB4NzIsMHgzM319LAotIHsxNiwweDRhZTQsMCx7MHhmMCwweDkwLDB4NzIsMHgzMiwweGYwLDB4OTAsMHg3MiwweDAxLDB4MDQsMHhmMCwweDkwLDB4N2YsMHg5NywweGUwLDB4NDQsMHgwNH19LAotIHsgMiwweDRhZjQsMCx7MHhmMCwweDIyfX0sCi0gezE2LDB4NGFmNiwwLHsweDkwLDB4N2YsMHhkNiwweGUwLDB4NTQsMHhmYiwweGYwLDB4ZTAsMHg0NCwweDA4LDB4ZjAsMHgzMCwweDQyLDB4MDQsMHhlMCwweDQ0fX0sCi0gezE2LDB4NGIwNiwwLHsweDAyLDB4ZjAsMHg3ZiwweGRjLDB4N2UsMHgwNSwweDEyLDB4NGQsMHgyZiwweDkwLDB4N2YsMHhkNiwweGUwLDB4NTQsMHhmNywweGYwfX0sCi0geyA1LDB4NGIxNiwwLHsweGUwLDB4NDQsMHgwNCwweGYwLDB4MjJ9fSwKLSB7MTYsMHg0YjFiLDAsezB4OTAsMHg3ZiwweGViLDB4ZTAsMHgxNCwweDcwLDB4MTQsMHg5MCwweDdmLDB4ZTksMHhlMCwweDI0LDB4N2YsMHg3MCwweDA0LDB4MTJ9fSwKLSB7MTYsMHg0YjJiLDAsezB4NDgsMHg1YSwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDR9fSwKLSB7IDMsMHg0YjNiLDAsezB4MDEsMHhmMCwweDIyfX0sCi0gezE2LDB4NGIzZSwwLHsweDkwLDB4N2YsMHhlYiwweGUwLDB4MTQsMHg3MCwweDEzLDB4OTAsMHg3ZiwweGU5LDB4ZTAsMHgxNCwweDcwLDB4MDQsMHgxMiwweDQ5fX0sCi0gezE2LDB4NGI0ZSwwLHsweGFkLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxfX0sCi0geyAyLDB4NGI1ZSwwLHsweGYwLDB4MjJ9fSwKLSB7MTYsMHg0YjYwLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFiLDB4NzQsMHgxMCwweGYwLDB4OTB9fSwKLSB7MTYsMHg0YjcwLDAsezB4NzYsMHg5NiwweGUwLDB4NTQsMHhmZCwweGYwLDB4OTAsMHg4MCwweDAzLDB4ZjAsMHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTB9fSwKLSB7IDEsMHg0YjgwLDAsezB4MzJ9fSwKLSB7MTYsMHg0YjgxLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFhLDB4ZTAsMHg0NCwweDAxLDB4ZjB9fSwKLSB7MTUsMHg0YjkxLDAsezB4YzIsMHgyOSwweDkwLDB4NzYsMHg4ZCwweDc0LDB4MDEsMHhmMCwweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfX0sCi0gezE2LDB4NGJhMCwwLHsweDkwLDB4N2YsMHhlYSwweGUwLDB4OTAsMHg3NiwweDgyLDB4ZjAsMHhlNCwweDkwLDB4NzYsMHg5MSwweGYwLDB4OTAsMHg3NiwweDkyfX0sCi0gezExLDB4NGJiMCwwLHsweGYwLDB4OTAsMHg3NiwweDkwLDB4ZjAsMHg5MCwweDc2LDB4OTMsMHhmMCwweGQzLDB4MjJ9fSwKLSB7MTYsMHg0YmJiLDAsezB4OTAsMHg3ZiwweGQ2LDB4ZTAsMHgzMCwweGU3LDB4MTIsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDdmLDB4MTQsMHg3ZSwweDAwLDB4MTJ9fSwKLSB7MTAsMHg0YmNiLDAsezB4NGQsMHgyZiwweDkwLDB4N2YsMHhkNiwweGUwLDB4NTQsMHhmZSwweGYwLDB4MjJ9fSwKLSB7MTYsMHg0YmQ1LDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4ZDIsMHgyNSwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYiwweDc0LDB4MDh9fSwKLSB7IDgsMHg0YmU1LDAsezB4ZjAsMHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn19LAotIHsxNiwweDRiZWQsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YTksMHhlMCwweDQ0LDB4MDEsMHhmMH19LAotIHsgNywweDRiZmQsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn19LAotIHsxNiwweDRjMDQsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YTksMHhlMCwweDQ0LDB4MDIsMHhmMH19LAotIHsgNywweDRjMTQsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn19LAotIHsxNiwweDRjMWIsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YTksMHhlMCwweDQ0LDB4MDQsMHhmMH19LAotIHsgNywweDRjMmIsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn19LAotIHsxNiwweDRjMzIsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWEsMHhlMCwweDQ0LDB4MDQsMHhmMH19LAotIHsgNywweDRjNDIsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn19LAotIHsxNiwweDRjNDksMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YTksMHhlMCwweDQ0LDB4MDgsMHhmMH19LAotIHsgNywweDRjNTksMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn19LAotIHsxNiwweDRjNjAsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWEsMHhlMCwweDQ0LDB4MDgsMHhmMH19LAotIHsgNywweDRjNzAsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn19LAotIHsxNiwweDRjNzcsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YTksMHhlMCwweDQ0LDB4MTAsMHhmMH19LAotIHsgNywweDRjODcsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn19LAotIHsxNiwweDRjOGUsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWEsMHhlMCwweDQ0LDB4MTAsMHhmMH19LAotIHsgNywweDRjOWUsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn19LAotIHsxNiwweDRjYTUsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YTksMHhlMCwweDQ0LDB4MjAsMHhmMH19LAotIHsgNywweDRjYjUsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn19LAotIHsxNiwweDRjYmMsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWEsMHhlMCwweDQ0LDB4MjAsMHhmMH19LAotIHsgNywweDRjY2MsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn19LAotIHsxNiwweDRjZDMsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YTksMHhlMCwweDQ0LDB4NDAsMHhmMH19LAotIHsgNywweDRjZTMsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn19LAotIHsxNiwweDRjZWEsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWEsMHhlMCwweDQ0LDB4NDAsMHhmMH19LAotIHsgNywweDRjZmEsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn19LAotIHsxNiwweDRkMDEsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YTksMHhlMCwweDQ0LDB4ODAsMHhmMH19LAotIHsgNywweDRkMTEsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn19LAotIHsxNiwweDRkMTgsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWEsMHhlMCwweDQ0LDB4ODAsMHhmMH19LAotIHsgNywweDRkMjgsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn19LAotIHsxNiwweDRkMmYsMCx7MHg4ZSwweDM1LDB4OGYsMHgzNiwweGU1LDB4MzYsMHgxNSwweDM2LDB4YWUsMHgzNSwweDcwLDB4MDIsMHgxNSwweDM1LDB4NGUsMHg2MH19LAotIHsgNywweDRkM2YsMCx7MHgwNSwweDEyLDB4MTQsMHg4NSwweDgwLDB4ZWUsMHgyMn19LAotIHsxNiwweDRkNDYsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWIsMHg3NCwweDA0LDB4ZjAsMHhkMH19LAotIHsgNiwweDRkNTYsMCx7MHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9fSwKLSB7MTYsMHg0ZDVjLDAsezB4OTAsMHg3NiwweDgyLDB4ZTAsMHg5MCwweDdmLDB4MDAsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDEsMHhmMCwweGQzLDB4MjJ9fSwKLSB7IDksMHg0ZDZjLDAsezB4YzIsMHgyNSwweDUzLDB4ZDgsMHhlZiwweDQzLDB4ZDgsMHgyMCwweDMyfX0sCi0geyA3LDB4NGQ3NSwwLHsweDUzLDB4OTgsMHhmZSwweDUzLDB4OTgsMHhmZCwweDMyfX0sCi0geyA3LDB4NGQ3YywwLHsweDUzLDB4YzAsMHhmZSwweDUzLDB4YzAsMHhmZCwweDMyfX0sCi0geyA2LDB4NGQ4MywwLHsweDUzLDB4OTEsMHhiZiwweGQyLDB4MmQsMHgzMn19LAotIHsgNiwweDRkODksMCx7MHg1MywweDkxLDB4N2YsMHhkMiwweDJjLDB4MzJ9fSwKLSB7IDQsMHg0ZDhmLDAsezB4NTMsMHg5MSwweGRmLDB4MzJ9fSwKLSB7IDQsMHg0ZDkzLDAsezB4NTMsMHhkOCwweGY3LDB4MzJ9fSwKLSB7IDQsMHg0ZDk3LDAsezB4MTIsMHgxNywweDMwLDB4MjJ9fSwKLSB7IDMsMHg0ZDliLDAsezB4YzIsMHg4ZCwweDMyfX0sCi0geyAzLDB4NGQ5ZSwwLHsweGMyLDB4OGYsMHgzMn19LAotIHsgMiwweDRkYTEsMCx7MHhkMywweDIyfX0sCi0geyAyLDB4NGRhMywwLHsweGQzLDB4MjJ9fSwKLSB7IDIsMHg0ZGE1LDAsezB4ZDMsMHgyMn19LAotIHsgMiwweDRkYTcsMCx7MHhkMywweDIyfX0sCi0geyAyLDB4NGRhOSwwLHsweGQzLDB4MjJ9fSwKLSB7IDIsMHg0ZGFiLDAsezB4YzMsMHgyMn19LAotIHsgMCwweDAwMDAsMSx7MH19Ci19OwotLyogU291cmNlOiBFTUk2MlNGVy5IRVggCi06MTAwQzhGMDA0MTc2NjgwMTQxNzY2QTAyNDE3NjZCMEFDMTIwQzEyMTIzCi06MTA0NEExMDBDMkFGRDIyNDkwN0Y5Mzc0MzBGMDkwN0Y5Qzc0QkJGMEE0Ci06MTA0NEIxMDA5MDdGOTZFMDQ0MzBGMEUwNTQzMEYwOTA3Rjk0NzQzMDc3Ci06MTA0NEMxMDBGMDkwN0Y5RDc0Q0ZGMDkwN0Y5Nzc0QTBGMDkwN0Y5NUNFCi06MTA0NEQxMDA3NEMwRjA5MDdGOUU3NDAzRjA5MDdGOTlFMDMwRTIwOTAwCi06MTA0NEUxMDA5MDA1MTk3NEEwRjBFNEEzRjBDMjI1QzIyMkMyMjNDMjMwCi06MTA0NEYxMDAyNjEyNEFDNDEyMkRBOTEyM0JEMzEyNDU1OTEyM0E0MjJGCi06MTA0NTAxMDA5MDc2Njg3NDAxRjA3MDBGMTI0QkJCMTIwN0ZFMTI0RENBCi06MTA0NTExMDBBMTEyMUI0MDEyMTQ5NjEyNDMwQjkwN0ZBRkUwNDQwMThECi06MTA0NTIxMDBGMDkwN0ZBRUUwNDQxRkYwOTA3RkFDNzRGRkYwOTA3RjdECi06MTA0NTMxMDBBREYwOTA3RkRFRjA5MDdGREZGMDkwN0ZBQkYwOTA3RjY5Ci06MTA0NTQxMDBBOUYwOTA3RkFBRjA1MzkxRUY0M0Q4MjBEMkU4NDNEODQ1Ci06MDg0NTUxMDAyMDUzQThBMDQzQTg4MDIyMUEKLToxMDQ3NUEwMEU0OTA3NjY2RjAxMjQ0QTEyMDI2MTM5MDc2NjZFMEMzQjAKLToxMDQ3NkEwMDk0MDI1MDBBRTAwNEYwRDI0MjEyNEFGNjgwRUEzMDI2NTUKLToxMDQ3N0EwMDA1MTIyODAxQzIyNjMwMjUyQjkwNzY5NkUwNTRGQ0YwQ0IKLToxMDQ3OEEwMDkwODAwM0YwMTIxNDk2OTA3Njk2RTA0NDAzRjA5MDgwOUQKLToxMDQ3OUEwMDAzRjBFNDkwNzY2N0YwOTA3NjY3RTAwNEYwRTBCNDRCQkIKLTowQTQ3QUEwMEY2MTIzRkZBMTI0MTFCODBDNTIyRUYKLToxMDI4MDEwMEMyMjBDMjIxQzIyQTkwN0ZFOEUwMTIzN0Y5MjgzMDAwQTUKLToxMDI4MTEwMDI4OEMwMTI4QTIwMjJBMUYyMTJBNkEyMjI5M0Q4MDI5MDcKLToxMDI4MjEwMDdEODEyOUQxODIyQTg0QTEyQUJBQTIwMDAwMkFCRjkwREYKLToxMDI4MzEwMDdGRTlFMDE0NjAxMTI0RkU2MDI4MjRGRTYwM0IyNEZDNDMKLToxMDI4NDEwMDcwNDAxMjRCQTA0MUNCMTI0REE3NDAwMjQxQ0I5MDdGNkIKLToxMDI4NTEwMEVBRTBCNDAxMDRDMjIyNDFDQjkwN0ZCNEUwNDQwMUYwMkMKLToxMDI4NjEwMDQxQ0IxMjREQTk5MDdGRUFFMEI0MDEwNEQyMjI0MUNCQzEKLToxMDI4NzEwMDkwN0ZCNEUwNDQwMUYwNDFDQjkwN0ZCNEUwNDQwMUYwOUIKLToxMDI4ODEwMDQxQ0I5MDdGQjRFMDQ0MDFGMDQxQ0I5MDdGRTlFMDI0NUIKLToxMDI4OTEwMEY1NzAwNTEyNDgwMDQxQ0I5MDdGQjRFMDQ0MDFGMDQxNEUKLToxMDI4QTEwMENCOTA3RkU5RTAyNEZENjA1NDI0MDI2MDAyMjEzNDEyQzAKLToxMDI4QjEwMDREQTc0MDAyNDFDQjkwN0ZFQUUwNzAzODkwN0ZFQ0UwNzkKLToxMDI4QzEwMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RDMKLToxMDI4RDEwMEY1ODJFNDM0N0ZGNTgzRTRGMDkwN0ZFQ0UwNTQ4MEZGRUYKLToxMDI4RTEwMDEzMTMxMzU0MUZGRkUwNTQwNzJGOTA3RkQ3RjBFMDQ0RDgKLToxMDI4RjEwMDIwRjA0MUNCOTA3RkI0RTA0NDAxRjA0MUNCMTI0REE5Q0YKLToxMDI5MDEwMDQwMDI0MUNCOTA3RkVBRTA3MDIwOTA3RkVDRTBGNDU0RUMKLToxMDI5MTEwMDgwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyNTMKLToxMDI5MjEwMEU0MzQ3RkY1ODM3NDAxRjA0MUNCOTA3RkI0RTA0NDAxM0UKLToxMDI5MzEwMEYwNDFDQjkwN0ZCNEUwNDQwMUYwNDFDQjkwN0ZFOUUwREUKLToxMDI5NDEwMDYwMTIyNEY4NjAwOTI0MDI3MDI5MTI0M0RCNDFDQjEyODIKLToxMDI5NTEwMDRENUM0MUNCMTI0REE1QTIyMkU0MzNGRjI1RTBGRkEyM0QKLToxMDI5NjEwMDIzRTQzMzRGOTA3RjAwRjBFNEEzRjA5MDdGQjU3NDAyMkQKLToxMDI5NzEwMEYwNDFDQjkwN0ZCNEUwNDQwMUYwNDFDQjkwN0ZFOUUwOUUKLToxMDI5ODEwMDYwMzMyNEY2NjAyQTI0MDQ3MDNEOTA3RkVCRTAyNERFNUUKLToxMDI5OTEwMDYwMEMwNDcwMTI5MDdGQjRFMDQ0MDFGMDQxQ0I5MDdGNTEKLToxMDI5QTEwMEI0RTA0NDAxRjA0MUNCOTA3RkI0RTA0NDAxRjA0MUNCNkQKLToxMDI5QjEwMDEyNDY4NTQxQ0IxMjREQTVFNDkwN0YwMEYwQTNGMDkwMjMKLToxMDI5QzEwMDdGQjU3NDAyRjA0MUNCOTA3RkI0RTA0NDAxRjA0MUNCN0MKLToxMDI5RDEwMDkwN0ZFOUUwMjRGNDYwMzQyNDBDNzAzOTEyNERBNTkwMDUKLToxMDI5RTEwMDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1MUYKLToxMDI5RjEwMEUwMjRCNEY1ODJFNDM0N0ZGNTgzRTA1NEZEOTA3RjAwNTgKLToxMDJBMDEwMEYwRTRBM0YwOTA3RkI1NzQwMkYwNDFDQjkwN0ZCNEUwODUKLToxMDJBMTEwMDQ0MDFGMDQxQ0I5MDdGQjRFMDQ0MDFGMDQxQ0I5MDdGODEKLToxMDJBMjEwMEU5RTAyNEY2NjAxMjE0NjAxQTI0MDI3MDFERDIyMDkwOEQKLToxMDJBMzEwMDdGQjRFMDQ0MDFGMDgwMTJEMjIwOTA3RkI0RTA0NDAxRTEKLToxMDJBNDEwMEYwODAwNzkwN0ZCNEUwNDQwMUYwMjAyMDE4OTA3RkVFRTEKLToxMDJBNTEwMEUwNzAwNEEzRTA2MDBCRDIyOUQyMjcxMjE3NEFEMjJBRDAKLToxMDJBNjEwMDgwMDMxMjA4MDBDMjIwODA2MTkwN0ZFRUUwNzAwNEEzMTEKLToxMDJBNzEwMEUwNjAwQkQyMjlEMjI4MTIxNzRBRDIyQTgwNEMxMjM4OTAKLToxMDJBODEwMDc0ODA0NzkwN0ZFOUUwMjRGRTYwMTIxNDYwMUEyNDAyRUEKLToxMDJBOTEwMDcwMUREMjIxOTA3RkI0RTA0NDAxRjA4MDEyRDIyMTkwQzgKLToxMDJBQTEwMDdGQjRFMDQ0MDFGMDgwMDc5MDdGQjRFMDQ0MDFGMDIwNUUKLToxMDJBQjEwMDIxMDMxMjEwMDBDMjIxODAxMTEyMkFENjgwMEMxMjRENUUKLToxMDJBQzEwMEFCNTAwNzkwN0ZCNEUwNDQwMUYwMjAyQTA3OTA3RkI0MTcKLTowNTJBRDEwMEUwNDQwMkYwMjJDOAotOjEwNDNEQjAwMTI0REEzNDAwMjgxQTA5MDdGRUJFMDI0RkU2MDFFMTRERgotOjEwNDNFQjAwNjA0NjE0NjA2RTE0NzAwMjgxOTEyNDA0NjAwMjgxOTlGRQotOjEwNDNGQjAwNzQwNTkwN0ZENEYwNzQwMDkwN0ZENUYwMjI5MDdGRUEwMwotOjEwNDQwQjAwRTBGRjEyNDlGRjhCMjA4QTIxODkyMkVBNDk2MDExQ0VGNQotOjEwNDQxQjAwRUFDRUVFOTA3RkQ0RjBDRkU5Q0ZFRjkwN0ZENUYwMjJBQwotOjEwNDQyQjAwOTA3RkI0RTA0NDAxRjAyMjkwN0ZFQUUwRkYxMjQ4QjBBNQotOjEwNDQzQjAwOEIyMDhBMjE4OTIyRUE0OTYwMTFDRUVBQ0VFRTkwN0Y0OQotOjEwNDQ0QjAwRDRGMENGRTlDRkVGOTA3RkQ1RjAyMjkwN0ZCNEUwNDQ0QQotOjEwNDQ1QjAwMDFGMDIyOTA3RkVBRTBGRjkwN0VDMEUwRkRBM0UwRkIzRAotOjEwNDQ2QjAwMTIxNzk0OEIyMDhBMjE4OTIyRUE0OTYwMTFDRUVBQ0U1OQotOjEwNDQ3QjAwRUU5MDdGRDRGMENGRTlDRkVGOTA3RkQ1RjAyMjkwN0ZGNQotOjEwNDQ4QjAwQjRFMDQ0MDFGMDIyOTA3RkI0RTA0NDAxRjAyMjkwN0YyRAotOjA1NDQ5QjAwQjRFMDQ0MDFGMDUzCi06MDE0NEEwMDAyMkY5Ci06MDMwMDMzMDAwMjRENkMwRgotOjA5NEQ2QzAwQzIyNTUzRDhFRjQzRDgyMDMyRDAKLTowMjBDOUYwMEMxMkY2MwotOjA2M0ZGQTAwMTI0QUM0QzIzMTIyOEMKLToxMDQzMEIwMEU0OTA3Njk2RjA5MDgwMDNGMDkwN0ZFMDc0OTBGMDkwQkMKLToxMDQzMUIwMDdGRTE3NDA0RjBFNDkwN0ZEREYwOTA3RkExRjA1MzhFODkKLToxMDQzMkIwMEY4NzU4ODA1NzVCODIwNzVGODAxNDM4RTMwRjVDODc1OUEKLToxMDQzM0IwMENBN0Y3NUNCRjg0M0E4MjAxMjA3NEFDMjJDQzIyREMyRTQKLToxMDQzNEIwMDJCQzIyRjkwN0ZGQzc0RERGMDkwN0ZGRjc0RkZGMDkwRjkKLToxMDQzNUIwMDdGOTdFMDQ0MDFGMDkwNzYxOTc0MDFGMEU0OTA3Njg1MzQKLToxMDQzNkIwMEYwQTNGMDkwNzY4MUYwOTA3NjgwRjAxMjQ5NTgxMjBGRkUKLToxMDQzN0IwMEM2MTI0QThEOTA3Rjk3RTA0NDA4RjBFMDU0QjlGMEQyMTIKLToxMDQzOEIwMDMwMjAzMDE4MTI0N0I0MTIzMDAwMTI0MDAwMTI0MjE2N0YKLToxMDQzOUIwMDEyNEE1MDEyMUIwNDEyMTY2MTEyNDIxNkMyMkZDMjMxNUUKLToxMDQzQUIwMEMyMzJDMjM0QzIzM0MyMjlDMjI3QzIyOEU0RjUxMTkwRUIKLToxMDQzQkIwMDc2ODlGMDkwNzYzRkYwOTA3NjQxRjA5MDc2NDBGMDkwRDEKLToxMDQzQ0IwMDc2OEFGMEEzRjBBMzA0RjBFNEEzRjA5MDc2OTlGMDIyQTAKLToxMDRBNTAwMDMwMkQzOUMyMkQ5MDc2MTlFMEZGQjQwMTBERTQ5MDc2MjcKLToxMDRBNjAwMDdDRjBBMzc0RjhGMEEzNzQwQUYwRUZCNDAyMERFNDkwQTQKLToxMDRBNzAwMDc2N0NGMEEzNzRGMEYwQTM3NDBCRjBFRkI0MDMwREU0QjQKLTowRDRBODAwMDkwNzY3Q0YwQTM3NEY4RjBBMzc0MTdGMDIyNzgKLToxMDFCMDQwMDMwMkMzOEMyMkM5MDc2MTlFMEZGQjQwMTBFOTA3NjdDMEMKLToxMDFCMTQwMDc0QzBGMEEzNzQxNEYwQTM3NDBCRjBFRkI0MDIwREU0REEKLToxMDFCMjQwMDkwNzY3Q0YwQTM3NDEwRjBBMzc0MENGMEVGQjQwMzBCNjQKLTowQzFCMzQwMEU0OTA3NjdDRjBBMzc0MThGMEEzRjAyMjdCCi06MTA0MTFCMDA5MDc2OERFMDY0MDE3MDI3MzAyNzA4QzIyNzEyMDgwMEMzCi06MTA0MTJCMDAxMjE3NEEzMDI4MDhDMjI4MTIzODc0MTIxNzRBMzAyQTNDCi06MTA0MTNCMDAwRUU0OTA3NjhERjBDMjJBOTA3RkI0RTA0NDAyRjA5MEFBCi06MTA0MTRCMDA3NjNGRTBCNDAxMDVFNEYwMTIzMjZGOTA3NjQxRTBCNEIzCi06MTA0MTVCMDAwMTA1RTRGMDEyMzQ5QTkwNzY0MEUwQjQwMTAzMTIzNDc2Ci06MTA0MTZCMDA5QTkwN0Y5QkUwMjBFNDAyQzIzRjkwN0Y5QkUwMzBFNDdCCi06MTA0MTdCMDAwMkQyM0Y5MDdGOUJFMDIwRTUwMkMyM0U5MDdGOUJFMDA2Ci06MTA0MThCMDAzMEU1MDJEMjNFQTI0MTMwM0YwMUIzNTAxRkEyM0Y5MjE1Ci06MTA0MTlCMDA0MTMwM0YwOTkwNzY5N0UwNTRGRUYwODAwNzkwNzY5Nzc4Ci06MTA0MUFCMDBFMDQ0MDFGMDkwNzY5N0UwOTA4MDAyRjAzMDNGMzQ5MDNECi06MTA0MUJCMDA3NjE5RTBGRkI0MDEwRTkwNzY3Qzc0NjdGMEEzNzQwNjU5Ci06MTA0MUNCMDBGMEEzNzQwQkYwRUZCNDAyMEJFNDkwNzY3Q0YwQTNGMDQ5Ci06MTA0MURCMDBBMzc0MENGMEVGQjQwMzBCRTQ5MDc2N0NGMEEzRjBBMzg0Ci06MTA0MUVCMDA3NDE4RjBBMjQwMzAzRTAxQjM1MDFGQTIzRTkyNDAzMEYzCi06MTA0MUZCMDAzRTA5OTA3Njk1RTA0NDA0RjA4MDA3OTA3Njk1RTA1NDY0Ci06MEI0MjBCMDBGQkYwOTA3Njk1RTA5MDgwMDFGMDIyMUYKLTowMjA3RkUwMEQzMjIwNAotOjAyNERBMTAwRDMyMjFCCi06MDI0REEzMDBEMzIyMTkKLToxMDRCQTAwMDkwN0ZFQUUwOTA3NjgyRjBFNDkwNzY5MUYwOTA3NjkyQjEKLTowQjRCQjAwMEYwOTA3NjkwRjA5MDc2OTNGMEQzMjIwNgotOjEwNEQ1QzAwOTA3NjgyRTA5MDdGMDBGMDkwN0ZCNTc0MDFGMEQzMjJDMgotOjEwNDgwMDAwOTA3RkVDRTA5MDc2ODNGMEUwMTQ2MDE3MTQ2MDIxMTQ0MAotOjEwNDgxMDAwNjAyQjE0NjAzMjI0MDQ3MDM4OTA3RkVBRTA5MDc2OTEyNwotOjEwNDgyMDAwRjA4MDM1OTA3RkVBRTA5MDc2OTJGMDEyM0U4RjgwMjhGQgotOjEwNDgzMDAwOTA3RkVBRTA5MDc2OTBGMDEyMTgwMDgwMUI5MDdGRUE1QgotOjEwNDg0MDAwRTA5MDc2ODRGMDgwMTE5MDdGRUFFMDkwNzY5M0YwODA5QgotOjBBNDg1MDAwMDc5MDdGQjRFMDQ0MDFGMEQzMjI4QQotOjEwNDY4NTAwOTA3RkVDRTA5MDc2ODNGMEUwMTQ2MDFEMTQ2MDJBMTRBRQotOjEwNDY5NTAwNjAzNzE0NjA0NDI0MDQ3MDUwOTA3NjkxRTA5MDdGMDA1OAotOjEwNDZBNTAwRjA5MDdGQjU3NDAxRjA4MDQ3OTA3NjkyRTA5MDdGMDA5RQotOjEwNDZCNTAwRjA5MDdGQjU3NDAxRjA4MDM3OTA3NjkwRTA5MDdGMDBBMAotOjEwNDZDNTAwRjA5MDdGQjU3NDAxRjA4MDI3OTA3Njg0RTA5MDdGMDBBQwotOjEwNDZENTAwRjA5MDdGQjU3NDAxRjA4MDE3OTA3NjkzRTA5MDdGMDA5RAotOjEwNDZFNTAwRjA5MDdGQjU3NDAxRjA4MDA3OTA3RkI0RTA0NDAxRjA0RAotOjAyNDZGNTAwRDMyMkNFCi06MDI0REE1MDBEMzIyMTcKLTowMjREQTcwMEQzMjIxNQotOjAyNERBOTAwRDMyMjEzCi06MDI0REFCMDBDMzIyMjEKLToxMDJGRTcwMEMwRTBDMDgzQzA4MkQyMjY1MzkxRUY5MDdGQUI3NDAxQkIKLTowODJGRjcwMEYwRDA4MkQwODNEMEUwMzI1QgotOjEwNEQ0NjAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFCNzQwNEYwRDA3MwotOjA2NEQ1NjAwODJEMDgzRDBFMDMyQTAKLToxMDNENDcwMEMwRTBDMEYwQzA4M0MwODJDMEQwRThDMEUwRTlDMEUwRjYKLToxMDNENTcwMEVBQzBFMEVCQzBFMEVDQzBFMEVEQzBFMEVFQzBFMEVGQjEKLToxMDNENjcwMEMwRTA5MDdGQTJFMDkwNzY3RkYwOTA3Rjc0RTA5MDc2M0QKLToxMDNENzcwMDg3RjA5MDdGNzVFMDkwNzY4OEYwOTA3Rjk4RTA0NDAyMTYKLToxMDNEODcwMEYwOTA3Njk2RTBGRjIwRTEwQzQ0MDJGMDkwODAwM0YwN0IKLToxMDNEOTcwMEQyMzIxMjRBQzQ5MDc2N0ZFMDIwRTI1MDkwNzY4N0UwRDQKLToxMDNEQTcwMEZFQTNFMDdDMDAyNDAwRjUzNEVDM0VGNTMzOTA3Njk4RDIKLToxMDNEQjcwMEUwRkRBRTMzQUYzNDEyMzZEODkwNzY4N0VGRjBEMjJGQ0UKLToxMDNEQzcwMDMwMzEyOTIwM0YyNkMyMzE5MDdGOTRFMDU0Q0ZGMDkwQzQKLToxMDNERDcwMDdGOUFFMDMwRTQwNEQyMkRDMjJDOTA3RjlBRTAyMEU1NTAKLToxMDNERTcwMDA0QzIyREQyMkM5MDdGOTRFMDQ0MzBGMDEyNEE1MDEyMzYKLToxMDNERjcwMDFCMDQzMDJGMTIxMjQyMTZDMjJGNzVFODAxMTIxNjhBQzEKLToxMDNFMDcwMDc1RTgwREQyMkI4MDA1NzVFODAxQzIyQjIwMkIzNDkwNjUKLToxMDNFMTcwMDc2MTlFMEZGQjQwMTBFOTA3NjdDNzQ2N0YwQTM3NDA2MDAKLToxMDNFMjcwMEYwQTM3NDBCRjBFRkI0MDIwQjkwNzY3Q0U0RjBBM0YwRjAKLToxMDNFMzcwMEEzNzQwQ0YwRUZCNDAzMEI5MDc2N0NFNEYwQTNGMEEzMkIKLToxMDNFNDcwMDc0MThGMDc1Q0FEMzc1Q0JGRUQyQ0EzMDM0MDRDMjM0QTUKLToxMDNFNTcwMDgwMDJEMjM0NTM5MUVGOTA3RkFCNzQwMkYwRjA5MDdGRTEKLToxMDNFNjcwMDk4RTA1NEZERjBEMEUwRkZEMEUwRkVEMEUwRkREMEUwRDgKLToxMDNFNzcwMEZDRDBFMEZCRDBFMEZBRDBFMEY5RDBFMEY4RDBEMEQwMjkKLTowODNFODcwMDgyRDA4M0QwRjBEMEUwMzJCQwotOjEwNEI2MDAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFCNzQxMEYwOTA4RgotOjEwNEI3MDAwNzY5NkUwNTRGREYwOTA4MDAzRjBEMDgyRDA4M0QwRTBCMAotOjAxNEI4MDAwMzIwMgotOjAxMkZGRjAwMzI5RgotOjEwNEJENTAwQzBFMEMwODNDMDgyRDIyNTUzOTFFRjkwN0ZBQjc0MDhBQgotOjA4NEJFNTAwRjBEMDgyRDA4M0QwRTAzMjUxCi06MTA0QkVEMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0MDFGMEYzCi06MDc0QkZEMDBEMDgyRDA4M0QwRTAzMjJBCi06MTA0QjgxMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUFFMDQ0MDFGMDVFCi06MEY0QjkxMDBDMjI5OTA3NjhENzQwMUYwRDA4MkQwODNEMEUwMzJBQgotOjEwNEMwNDAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkE5RTA0NDAyRjBEQQotOjA3NEMxNDAwRDA4MkQwODNEMEUwMzIxMgotOjEwM0ZENTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFBRTA0NDAyRjAxNQotOjEwM0ZFNTAwOTA3RkM3RTBGNTExNzUwRjAwNzUwRDAwRDIzM0QwODJCMwotOjA1M0ZGNTAwRDA4M0QwRTAzMjkyCi06MTA0QzFCMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0MDRGMEMxCi06MDc0QzJCMDBEMDgyRDA4M0QwRTAzMkZCCi06MTA0QzMyMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUFFMDQ0MDRGMEE5Ci06MDc0QzQyMDBEMDgyRDA4M0QwRTAzMkU0Ci06MTA0QzQ5MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0MDhGMDhGCi06MDc0QzU5MDBEMDgyRDA4M0QwRTAzMkNECi06MTA0QzYwMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUFFMDQ0MDhGMDc3Ci06MDc0QzcwMDBEMDgyRDA4M0QwRTAzMkI2Ci06MTA0Qzc3MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0MTBGMDU5Ci06MDc0Qzg3MDBEMDgyRDA4M0QwRTAzMjlGCi06MTA0QzhFMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUFFMDQ0MTBGMDQxCi06MDc0QzlFMDBEMDgyRDA4M0QwRTAzMjg4Ci06MTA0Q0E1MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0MjBGMDFCCi06MDc0Q0I1MDBEMDgyRDA4M0QwRTAzMjcxCi06MTA0Q0JDMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUFFMDQ0MjBGMDAzCi06MDc0Q0NDMDBEMDgyRDA4M0QwRTAzMjVBCi06MTA0Q0QzMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0NDBGMENECi06MDc0Q0UzMDBEMDgyRDA4M0QwRTAzMjQzCi06MTA0Q0VBMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUFFMDQ0NDBGMEI1Ci06MDc0Q0ZBMDBEMDgyRDA4M0QwRTAzMjJDCi06MTA0RDAxMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0ODBGMDVFCi06MDc0RDExMDBEMDgyRDA4M0QwRTAzMjE0Ci06MTA0RDE4MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUFFMDQ0ODBGMDQ2Ci06MDc0RDI4MDBEMDgyRDA4M0QwRTAzMkZECi06MTA0MjE2MDA5MDc2MTlFMDY0MDE3MDM1OTA3Njg3RTBGRkQzOTQyRDhGCi06MTA0MjI2MDA0MDJCOTA3Njg2NzQwMUYwOTA3Njg1RTAwNEYwRTBEMzFBCi06MTA0MjM2MDA5NDBGNDAxOUU0RjBFRkQzOTQzMTQwMDg5MDc2MTk3NDQ2Ci06MTA0MjQ2MDAwM0YwODAwNjkwNzYxOTc0MDJGMDEyM0U4RjkwNzYxOTZDCi06MTA0MjU2MDBFMEI0MDIyQzkwNzY4N0UwRkZDMzk0MkY1MDIyRUZEMzcwCi06MTA0MjY2MDA5NDJBNDAxQzkwNzY4Njc0MDFGMDkwNzY4NUUwMDRGMERFCi06MTA0Mjc2MDBFMEQzOTQwRjQwMEFFNEYwOTA3NjE5MDRGMDEyM0U4RkQyCi06MTA0Mjg2MDA5MDc2MTlFMEI0MDIyNjkwNzY4N0UwRDM5NDMxNDAxREVCCi06MTA0Mjk2MDA5MDc2ODY3NDAxRjA5MDc2ODVFMDA0RjBFMEQzOTQwRjcyCi06MTA0MkE2MDA0MDBCRTRGMDkwNzYxOTc0MDNGMDEyM0U4RjkwNzYxOTY1Ci06MTA0MkI2MDBFMDY0MDM3MDNGOTA3Njg3RTBGRkMzOTQ1RjUwMzU5MENCCi06MTA0MkM2MDA3Njg2NzQwMUYwOTA3Njg1RTAwNEYwRTBEMzk0MEY0MDkyCi06MTA0MkQ2MDAyM0U0RjBFRkMzOTQyRjUwMENFRkQzOTQyQTQwMDY5MEJBCi06MTA0MkU2MDA3NjE5NzQwMUYwRUZEMzk0MkY0MDA2OTA3NjE5NzQwMjc0Ci06MTA0MkY2MDBGMDEyM0U4RjkwNzY4NkUwNzAwNTkwNzY4NUYwMjJFNDg3Ci06MDU0MzA2MDA5MDc2ODZGMDIyMTQKLToxMDA3NEEwMDkwNzY5QTc0MDJGMEU0OTA3NjkxRjBBM0YwOTA3NjkwMDUKLToxMDA3NUEwMEYwOTA3NjkzRjA5MDc2OTY3NDAzRjA5MDgwMDNGMEU0MkMKLToxMDA3NkEwMDkwNzY5N0YwOTA4MDAyRjA5MDc2OTQwNEYwOTA4MDAwNTIKLToxMDA3N0EwMEYwRTQ5MDc2OEVGMDkwNzYxQUYwOTA3Njk1MDRGMEMyQjYKLToxMDA3OEEwMDJFOTA3RjlCRTBGRjU0MTBGRjcwMDJDMjNGOTA3RjlCMjgKLToxMDA3OUEwMEUwRkY1NDEwRkVGRkJFMTAwMkQyM0Y5MDdGOUJFMEZGQTUKLToxMDA3QUEwMDU0MjBGRjcwMDJDMjNFOTA3RjlCRTBGRjU0MjBGRUZGNjAKLToxMDA3QkEwMEJFMjAwMkQyM0UzMDNGMDk5MDc2OTdFMDU0RkVGMDgwODgKLToxMDA3Q0EwMDA3OTA3Njk3RTA0NDAxRjA5MDc2OTdFMDkwODAwMkYwRTcKLToxMDA3REEwMDMwM0UwOTkwNzY5NUUwNDQwNEYwODAwNzkwNzY5NUUwRTMKLToxMDA3RUEwMDU0RkJGMDkwNzY5NUUwOTA4MDAxRjBBMjNFOTI0MEEyRjAKLTowMzA3RkEwMDNGOTI0MUVBCi06MDEwN0ZEMDAyMkQ5Ci06MTAzRThGMDA5MDc2OTJFMDE0NjAxRDE0NzAwMkUxNDQyNDAyNjAwMkU3Ci06MTAzRTlGMDBFMUQ0OTA3Njk0NzQwMUYwOTA4MDAwRjBFNDkwNzY4RUU3Ci06MTAzRUFGMDBGMEQyMzEyMjkwNzYxOUUwRkZCNDAxMUJFNDkwN0ZGMjNCCi06MTAzRUJGMDBGMDkwN0ZGMzc0MzBGMDkwN0ZGRjc0RkNGMDkwNzY5NzYyCi06MTAzRUNGMDBFMDU0RkRGMDU0RkJGMEVGQjQwMjFCRTQ5MDdGRjJGMEVFCi06MTAzRURGMDA5MDdGRjM3NDM0RjA5MDdGRkY3NEZDRjA5MDc2OTdFMDRFCi06MTAzRUVGMDA0NDAyRjA1NEZCRjBFRkI0MDMxOEU0OTA3RkYyRjA5MDJCCi06MTAzRUZGMDA3RkYzNzQ2NEYwOTA3RkZGNzRGQ0YwOTA3Njk3RTA0NDRBCi06MTAzRjBGMDAwNEYwOTA3Njk0RTA0NDAxRjA5MDgwMDBGMDMwM0YwOTg3Ci06MTAzRjFGMDA5MDc2OTdFMDU0RkVGMDgwMDc5MDc2OTdFMDQ0MDFGMDlBCi06MTAzRjJGMDA5MDc2OTdFMDkwODAwMkYwOTA3Njk4NzQwNEYwOTA3NkY3Ci06MTAzRjNGMDA4RTc0MDFGMDIyOTA3NjE5RTBGRkI0MDExQkU0OTA3RjlDCi06MTAzRjRGMDBGMkYwOTA3RkYzNzQ0NEYwOTA3RkZGNzRGQ0YwOTA3NjYyCi06MTAzRjVGMDA5N0UwNTRGREYwNTRGQkYwRUZCNDAyMUJFNDkwN0ZGMkI2Ci06MTAzRjZGMDBGMDkwN0ZGMzc0NENGMDkwN0ZGRjc0RkNGMDkwNzY5Nzk1Ci06MTAzRjdGMDBFMDQ0MDJGMDU0RkJGMEVGQjQwMzE4RTQ5MDdGRjJGMDRBCi06MTAzRjhGMDA5MDdGRjM3NDk0RjA5MDdGRkY3NEZDRjA5MDc2OTdFMDNECi06MTAzRjlGMDA0NDA0RjA5MDc2OTRFMDU0RkVGMDkwODAwMEYwMzAzRkFGCi06MTAzRkFGMDAwOTkwNzY5N0UwNTRGRUYwODAwNzkwNzY5N0UwNDQwMUYxCi06MTAzRkJGMDBGMDkwNzY5N0UwOTA4MDAyRjA5MDc2OTg3NDA2RjA5MEVCCi06MDYzRkNGMDA3NjhFNzQwMkYwMjI2MAotOjEwMTgwMDAwOTA3NjkwRTAxNDYwMzcxNDcwMDIwMUQ4MTQ3MDAyMjFCMQotOjEwMTgxMDAwNzIxNDcwMDI0MTNCMjQwNDYwMDI2MTAzOTA3RkZDNzRFNwotOjEwMTgyMDAwQ0NGMDkwN0ZGRjc0RkNGMDkwNzY5NUUwNDQwMUYwNTQ4QQotOjEwMTgzMDAwMDVGMDkwODAwMUYwRTQ5MDc2MUFGMEMyMkUyMjkwNzZBNgotOjEwMTg0MDAwOTVFMDQ0MDFGMDQ0MDJGMDMwM0UwNkUwNDQwNEYwODBBQwotOjEwMTg1MDAwMDc5MDc2OTVFMDU0RkJGMDkwNzYxQUUwQjQwMTA4OTA3QQotOjEwMTg2MDAwNzY5NUUwOTA4MDAxRjA5MDc2MTlFMEZGQjQwMTIyOTAyNwotOjEwMTg3MDAwN0ZGQzc0NzRGMDkwN0ZGRjc0RkNGMDkwNzY4Rjc0MkI3MwotOjEwMTg4MDAwRjA5MDc2OTdFMDU0RkRGMEU0OTA3NjgxRjA5MDc2ODBDOQotOjEwMTg5MDAwRjBFRkI0MDIyMjkwN0ZGQzc0NjhGMDkwN0ZGRjc0RkMzQwotOjEwMThBMDAwRjA5MDc2OEY3NDJGRjA5MDc2OTdFMDQ0MDJGMEU0OTBGOQotOjEwMThCMDAwNzY4MUYwOTA3NjgwRjAzMDNGMDk5MDc2OTdFMDU0RkU4NAotOjEwMThDMDAwRjA4MDA3OTA3Njk3RTA0NDAxRjA5MDc2OTdFMDU0RkIyMwotOjEwMThEMDAwRjA5MDgwMDJGMEQyMkUyMjkwNzY5NUUwNTRGRUYwNDRGMwotOjEwMThFMDAwMDJGMDMwM0UwNkUwNDQwNEYwODAwNzkwNzY5NUUwNTQyNAotOjEwMThGMDAwRkJGMDkwNzYxQUUwQjQwMTA4OTA3Njk1RTA5MDgwMDFCNAotOjEwMTkwMDAwRjA5MDc2MTlFMEZGQjQwMTIyOTA3RkZDNzQzMEYwOTBFMwotOjEwMTkxMDAwN0ZGRjc0RkNGMDkwNzY4Rjc0MkJGMDkwNzY5N0UwNTRGNAotOjEwMTkyMDAwRkRGMEU0OTA3NjgxRjA5MDc2ODBGMEVGQjQwMjIyOTBBMgotOjEwMTkzMDAwN0ZGQzc0MUNGMDkwN0ZGRjc0RkNGMDkwNzY4Rjc0MkYwNgotOjEwMTk0MDAwRjA5MDc2OTdFMDQ0MDJGMEU0OTA3NjgxRjA5MDc2ODAxMwotOjEwMTk1MDAwRjAzMDNGMDk5MDc2OTdFMDU0RkVGMDgwMDc5MDc2OTczQwotOjEwMTk2MDAwRTA0NDAxRjA5MDc2OTdFMDU0RkJGMDkwODAwMkYwRDJEMgotOjEwMTk3MDAwMkUyMjkwNzY5NUUwNDQwMUYwNDQwMkYwNDQwOEYwMzBDNQotOjEwMTk4MDAwM0UwNkUwNDQwNEYwODAwNzkwNzY5NUUwNTRGQkYwOTAyQQotOjEwMTk5MDAwNzYxQUUwQjQwMTA4OTA3Njk1RTA5MDgwMDFGMDkwNzY5OAotOjEwMTlBMDAwMTlFMEZGQjQwMTI1OTA3RkZDNzRDQ0YwOTA3RkZGNzRBOAotOjEwMTlCMDAwRkNGMDkwNzY4Rjc0MkJGMDkwNzY5N0UwNTRGREYwNTQwNQotOjEwMTlDMDAwRkJGMEU0OTA3NjgxRjA5MDc2ODBGMEVGQjQwMjI1OTAwMQotOjEwMTlEMDAwN0ZGQzc0QzhGMDkwN0ZGRjc0RkNGMDkwNzY4Rjc0MkZCQQotOjEwMTlFMDAwRjA5MDc2OTdFMDQ0MDJGMDU0RkJGMEU0OTA3NjgxRjBCQQotOjEwMTlGMDAwOTA3NjgwRjBFRkI0MDMyNTkwN0ZGQzc0OThGMDkwN0Y5MAotOjEwMUEwMDAwRkY3NEZDRjA5MDc2OEY3NDVGRjA5MDc2OTdFMDU0RkQ1MQotOjEwMUExMDAwRjA0NDA0RjBFNDkwNzY4MUYwOTA3NjgwRjAzMDNGMDk1NQotOjEwMUEyMDAwOTA3Njk3RTA1NEZFRjA4MDA3OTA3Njk3RTA0NDAxRjBCRQotOjEwMUEzMDAwOTA3Njk3RTA5MDgwMDJGMEQyMkUyMjkwNzY5NUUwNTQzNgotOjEwMUE0MDAwRkVGMDQ0MDJGMDQ0MDhGMDMwM0UwNkUwNDQwNEYwODAyQQotOjEwMUE1MDAwMDc5MDc2OTVFMDU0RkJGMDkwNzYxQUUwQjQwMTA4OTA3OAotOjEwMUE2MDAwNzY5NUUwOTA4MDAxRjA5MDc2MTlFMEZGQjQwMTI1OTAyMgotOjEwMUE3MDAwN0ZGQzc0QjRGMDkwN0ZGRjc0RkNGMDkwNzY4Rjc0MkIzMQotOjEwMUE4MDAwRjA5MDc2OTdFMDU0RkRGMDU0RkJGMEU0OTA3NjgxRjAwRQotOjEwMUE5MDAwOTA3NjgwRjBFRkI0MDIyNTkwN0ZGQzc0QjBGMDkwN0ZEOAotOjEwMUFBMDAwRkY3NEZDRjA5MDc2OEY3NDJGRjA5MDc2OTdFMDQ0MDJFQwotOjEwMUFCMDAwRjA1NEZCRjBFNDkwNzY4MUYwOTA3NjgwRjBFRkI0MDM4MAotOjEwMUFDMDAwMjU5MDdGRkM3NDY4RjA5MDdGRkY3NEZDRjA5MDc2OEYxNwotOjEwMUFEMDAwNzQ1RkYwOTA3Njk3RTA1NEZERjA0NDA0RjBFNDkwNzY2MwotOjEwMUFFMDAwODFGMDkwNzY4MEYwMzAzRjA5OTA3Njk3RTA1NEZFRjBEOAotOjEwMUFGMDAwODAwNzkwNzY5N0UwNDQwMUYwOTA3Njk3RTA5MDgwMDIxRQotOjA0MUIwMDAwRjBEMjJFMjJDRgotOjA0MENBMTAwNDE3NjIzMDA3NQotOjEwMkRBOTAwRTQ5MDc2MzZGMEUwRkY3NUYwMDNBNDI0MEVGNTgyRTQ5MgotOjEwMkRCOTAwMzQ3NUY1ODM3NDAxRjBFRjc1RjAwM0E0MjQwRkY1ODJERgotOjEwMkRDOTAwRTQzNDc1RjU4Mzc0MDFGMEVGNzVGMDAzQTQyNDEwRjU2QwotOjEwMkREOTAwODJFNDM0NzVGNTgzRTRGMDkwNzYzNkUwMDRGMEUwRkZBMAotOjEwMkRFOTAwNzVGMDAzQTQyNDBFRjU4MkU0MzQ3NUY1ODM3NDEwRjBBQwotOjEwMkRGOTAwRUY3NUYwMDNBNDI0MEZGNTgyRTQzNDc1RjU4Mzc0MDVBNwotOjEwMkUwOTAwRjBFRjc1RjAwM0E0MjQxMEY1ODJFNDM0NzVGNTgzRTQzQQotOjEwMkUxOTAwRjA5MDc2MzZFMDA0RjBFMEZGNzVGMDAzQTQyNDBFRjU5NwotOjEwMkUyOTAwODJFNDM0NzVGNTgzNzQwMkYwRUY3NUYwMDNBNDI0MEY3RQotOjEwMkUzOTAwRjU4MkU0MzQ3NUY1ODM3NDAyRjBFRjc1RjAwM0E0MjQ4OAotOjEwMkU0OTAwMTBGNTgyRTQzNDc1RjU4M0U0RjA5MDc2MzZFMDA0RjAwOQotOjEwMkU1OTAwRTBGRjc1RjAwM0E0MjQwRUY1ODJFNDM0NzVGNTgzNzQ1QwotOjEwMkU2OTAwMDFGMEVGNzVGMDAzQTQyNDBGRjU4MkU0MzQ3NUY1ODNCRQotOjEwMkU3OTAwNzQwM0YwRUY3NUYwMDNBNDI0MTBGNTgyRTQzNDc1RjVCQQotOjEwMkU4OTAwODNFNEYwOTA3NjM2RTAwNEYwRTBGRjc1RjAwM0E0MjRDMwotOjEwMkU5OTAwMEVGNTgyRTQzNDc1RjU4Mzc0MTBGMEVGNzVGMDAzQTQzMAotOjEwMkVBOTAwMjQwRkY1ODJFNDM0NzVGNTgzNzQwNkYwRUY3NUYwMDNBOQotOjEwMkVCOTAwQTQyNDEwRjU4MkU0MzQ3NUY1ODNFNEYwOTA3NjM2RTBDNQotOjEwMkVDOTAwMDRGMEUwRkY3NUYwMDNBNDI0MEVGNTgyRTQzNDc1RjVFRgotOjEwMkVEOTAwODM3NDAyRjBFRjc1RjAwM0E0MjQwRkY1ODJFNDM0NzVDRQotOjEwMkVFOTAwRjU4Mzc0MDRGMEVGNzVGMDAzQTQyNDEwRjU4MkU0MzQzQgotOjEwMkVGOTAwNzVGNTgzRTRGMDkwNzYzNkUwMDRGMEUwRkY3NUYwMDNCMQotOjEwMkYwOTAwQTQyNDBFRjU4MkU0MzQ3NUY1ODM3NDAyRjBFRjc1RjBBQwotOjEwMkYxOTAwMDNBNDI0MEZGNTgyRTQzNDc1RjU4Mzc0MDhGMEVGNzU4MgotOjEwMkYyOTAwRjAwM0E0MjQxMEY1ODJFNDM0NzVGNTgzNzQwNEYwOTA1OQotOjEwMkYzOTAwNzYzNkUwMDRGMEUwRkY3NUYwMDNBNDI0MEVGNTgyRTQ5MAotOjEwMkY0OTAwMzQ3NUY1ODM3NDAyRjBFRjc1RjAwM0E0MjQwRkY1ODI0QwotOjEwMkY1OTAwRTQzNDc1RjU4Mzc0MEFGMEVGNzVGMDAzQTQyNDEwRjVEMQotOjEwMkY2OTAwODJFNDM0NzVGNTgzNzQwNEYwOTA3NjM2RTAwNEYwRTA3OQotOjEwMkY3OTAwRkY3NUYwMDNBNDI0MEVGNTgyRTQzNDc1RjU4Mzc0MDIxOQotOjEwMkY4OTAwRjBFRjc1RjAwM0E0MjQwRkY1ODJFNDM0NzVGNTgzNzQyQQotOjEwMkY5OTAwMDlGMEVGNzVGMDAzQTQyNDEwRjU4MkU0MzQ3NUY1ODM4NAotOjEwMkZBOTAwNzQwNEYwOTA3NjM2RTAwNEYwRTBGRjc1RjAwM0E0MjQ5MQotOjEwMkZCOTAwMEVGNTgyRTQzNDc1RjU4Mzc0MDJGMEVGNzVGMDAzQTQxRAotOjEwMkZDOTAwMjQwRkY1ODJFNDM0NzVGNTgzNzQwN0YwRUY3NUYwMDM4NwotOjBFMkZEOTAwQTQyNDEwRjU4MkU0MzQ3NUY1ODM3NDA0RjAyMjBDCi06MTAzQkQzMDBFNDkwNzYzNkYwRTBGQjc1RjAwRkE0MjQ0MUY1ODJFNDFGCi06MTAzQkUzMDAzNDc1RjU4Mzc0NDBGMEVCNzVGMDBGQTQyNDQyRjU4MjJECi06MTAzQkYzMDBFNDM0NzVGNTgzNzQwQUYwRUI3NUYwMEZBNDI0NDNGNUYwCi06MTAzQzAzMDA4MkU0MzQ3NUY1ODMxMjM3QzgwMDAwQUM0NEVCNzVGMEQ5Ci06MTAzQzEzMDAwRkE0MjQ0N0Y1ODJFNDM0NzVGNTgzMTIzN0M4MDAwMEY2Ci06MTAzQzIzMDBBQzQ0RUI3NUYwMEZBNDI0NEJGNTgyRTQzNDc1RjU4M0IzCi06MTAzQzMzMDAxMjM3QzgwMDAxNzcwMDkwNzYzNkUwMDRGMEUwRkI3NTk4Ci06MTAzQzQzMDBGMDBGQTQyNDQxRjU4MkU0MzQ3NUY1ODM3NDQwRjBFQjVFCi06MTAzQzUzMDA3NUYwMEZBNDI0NDJGNTgyRTQzNDc1RjU4Mzc0OENGMDc3Ci06MTAzQzYzMDBFQjc1RjAwRkE0MjQ0M0Y1ODJFNDM0NzVGNTgzMTIzNzIyCi06MTAzQzczMDBDODAwMDBBQzQ0RUI3NUYwMEZBNDI0NDdGNTgyRTQzNDhDCi06MTAzQzgzMDA3NUY1ODMxMjM3QzgwMDAwQUM0NEVCNzVGMDBGQTQyNDFDCi06MTAzQzkzMDA0QkY1ODJFNDM0NzVGNTgzMTIzN0M4MDAwMTc3MDA5MDQxCi06MTAzQ0EzMDA3NjM2RTAwNEYwRTBGRjc1RjAwRkE0MjQ0MUY1ODJFNERBCi06MTAzQ0IzMDAzNDc1RjU4Mzc0NDBGMEVGNzVGMDBGQTQyNDQyRjU4MjU4Ci06MTAzQ0MzMDBFNDM0NzVGNTgzNzQ4RkYwOTA3NjM2RTAwNEYwRTBGRjBBCi06MTAzQ0QzMDA3NUYwMEZBNDI0NDFGNTgyRTQzNDc1RjU4Mzc0NDFGMDQzCi06MTAzQ0UzMDBFRjc1RjAwRkE0MjQ0MkY1ODJFNDM0NzVGNTgzNzQ4NEYwCi06MTAzQ0YzMDBGMDkwNzYzNkUwMDRGMEUwRkY3NUYwMEZBNDI0NDFGNTcwCi06MTAzRDAzMDA4MkU0MzQ3NUY1ODM3NDYxRjBFRjc1RjAwRkE0MjQ0MkY3Ci06MTAzRDEzMDBGNTgyRTQzNDc1RjU4Mzc0ODFGMDkwNzYzNkUwMDRGMDJGCi06MTAzRDIzMDBFMEZGNzVGMDBGQTQyNDQxRjU4MkU0MzQ3NUY1ODM3NDQ0Ci06MTAzRDMzMDA2MUYwRUY3NUYwMEZBNDI0NDJGNTgyRTQzNDc1RjU4MzQ2Ci06MDQzRDQzMDA3NDAxRjAyMkY1Ci06MTA0NTU5MDBFNDkwNzYzNkYwRTBGRjc1RjAwM0E0MjQzMkY1ODJFNEE2Ci06MTA0NTY5MDAzNDc1RjU4M0U0RjBFRjc1RjAwM0E0MjQzM0Y1ODJFNEEwCi06MTA0NTc5MDAzNDc1RjU4Mzc0MDFGMDkwNzYzNkUwMDRGMEUwRkY3NTQ4Ci06MTA0NTg5MDBGMDAzQTQyNDMyRjU4MkU0MzQ3NUY1ODNFNEYwRUY3NTgxCi06MTA0NTk5MDBGMDAzQTQyNDMzRjU4MkU0MzQ3NUY1ODM3NDAyRjA5MEIyCi06MTA0NUE5MDA3NjM2RTAwNEYwRTBGRjc1RjAwM0E0MjQzMkY1ODJFNEU2Ci06MTA0NUI5MDAzNDc1RjU4M0U0RjBFRjc1RjAwM0E0MjQzM0Y1ODJFNDUwCi06MTA0NUM5MDAzNDc1RjU4Mzc0MDNGMDkwNzYzNkUwMDRGMEUwRkY3NUY2Ci06MTA0NUQ5MDBGMDAzQTQyNDMyRjU4MkU0MzQ3NUY1ODNFNEYwRUY3NTMxCi06MTA0NUU5MDBGMDAzQTQyNDMzRjU4MkU0MzQ3NUY1ODM3NDA0RjAyMkNFCi06MTAzQTQyMDBFNDkwNzYzNUYwOTA3NjM1RTBGRkMzOTQwMzQwMDI0MTZFCi06MTAzQTUyMDBGRkVGNzVGMDBBQTQyNEFBRjU4MkU0MzQ3NUY1ODNFRjJBCi06MTAzQTYyMDBGMEVGNzVGMDBBQTQyNEFCRjU4MkU0MzQ3NUY1ODNFNDMzCi06MTAzQTcyMDBGMEVGNzVGMDBBQTQyNEFDRjU4MkU0MzQ3NUY1ODM3NDkyCi06MTAzQTgyMDBGMEYwRUY3NUYwMEFBNDI0QURGNTgyRTQzNDc1RjU4MzA1Ci06MTAzQTkyMDA3NEZGRjBFRjc1RjAwQUE0MjRBRUY1ODJFNDM0NzVGNUY0Ci06MTAzQUEyMDA4M0U0RjBFRjc1RjAwQUE0MjRBRkY1ODJFNDM0NzVGNUVGCi06MTAzQUIyMDA4Mzc0ODBGMEVGNzVGMDBBQTQyNEIwRjU4MkU0MzQ3NUMzCi06MTAzQUMyMDBGNTgzRTRGMEVGNzVGMDBBQTQyNEIxRjU4MkU0MzQ3NUNECi06MTAzQUQyMDBGNTgzRTRGMEVGNzVGMDBBQTQyNEIyRjU4MkU0MzQ3NUJDCi06MTAzQUUyMDBGNTgzRTRGMEVGNzVGMDBBQTQyNEIzRjU4MkU0MzQ3NUFCCi06MTAzQUYyMDBGNTgzNzQwMUYwOTA3NjM1RTAwNEYwNDE0NzkwNzYzQzBFCi06MTAzQjAyMDA3NDBBRjBFNEEzRjA5MDc2MzU3NDAzRjA5MDc2M0NFMDBBCi06MTAzQjEyMDBGRjkwNzYzNUUwRkVDMzlGNDAwMjYxRDI5MDc2M0RFMDkxCi06MTAzQjIyMDBGRjA0RjBFRTc1RjAwQUE0MjRBQUY1ODJFNDM0NzVGNUQ4Ci06MTAzQjMyMDA4M0VGRjBFRTc1RjAwQUE0MjRBQkY1ODJFNDM0NzVGNTU4Ci06MTAzQjQyMDA4M0U0RjBFRTc1RjAwQUE0MjRBQ0Y1ODJFNDM0NzVGNTUyCi06MTAzQjUyMDA4Mzc0NUVGMEVFNzVGMDBBQTQyNEFERjU4MkU0MzQ3NTQ4Ci06MTAzQjYyMDBGNTgzNzRCQUYwRUU3NUYwMEFBNDI0QUVGNTgyRTQzNDVCCi06MTAzQjcyMDA3NUY1ODM3NDA1RjBFRTc1RjAwQUE0MjRBRkY1ODJFNEJFCi06MTAzQjgyMDAzNDc1RjU4Mzc0ODBGMEVFNzVGMDBBQTQyNEIwRjU4MkUyCi06MTAzQjkyMDBFNDM0NzVGNTgzRTRGMEVFNzVGMDBBQTQyNEIxRjU4MkZECi06MTAzQkEyMDBFNDM0NzVGNTgzRTRGMEVFNzVGMDBBQTQyNEIyRjU4MkVDCi06MTAzQkIyMDBFNDM0NzVGNTgzNzQxNUYwRUU3NUYwMEFBNDI0QjNGNUI4Ci06MTAzQkMyMDA4MkU0MzQ3NUY1ODNFNEYwOTA3NjM1RTAwNEYwNjEwRTFBCi06MDEzQkQyMDAyMkQwCi06MTAwODAwMDBFNDkwNzYzMUYwOTA3NjMxRTBGRjc1RjAwM0E0MjQwRjg4Ci06MTAwODEwMDBGNTgyRTQzNDc1RjU4M0UwRkU5MDdGRURFMEZERUU2RDRBCi06MTAwODIwMDA2MDBFRUZDMzk0MEI1MDA4OTA3NjMxRTAwNEYwODBENTUxCi06MTAwODMwMDBFRkI0MEIwODkwN0ZCNEUwNDQwMUYwMjJFRjc1RjAwM0IxCi06MTAwODQwMDBBNDI0MEVGNTgyRTQzNDc1RjU4M0UwOTA3NjMzRjAyNDI5Ci06MTAwODUwMDBGMDYwMEEyNDBFNjAwMjgxODcxMjRCM0UyMjkwN0ZFREU5Ci06MTAwODYwMDBFMDY0MDU3MDUxOTA3NjE4NzQwNUYwOTA3NjM3NzQwMTQ1Ci06MTAwODcwMDBGMDkwNzYzOTc0MDNGMDkwNzYyMUYwRTQ5MDc2MjBGMEQxCi06MTAwODgwMDA5MDdGRUFFMEY0NjAyRjkwNzYyMEUwRkY3NUYwMEFBNEY0Ci06MTAwODkwMDAyNEFBRjU4MkU0MzQ3NUY1ODNFMEZFOTA3RkVBRTBGRDVBCi06MTAwOEEwMDBFRTZENjAxMjkwNzYyMUUwRkVFRkMzOUU1MDA4OTA3NkM4Ci06MTAwOEIwMDAyMEUwMDRGMDgwRDE5MDdGRURFMDY0MDY3MDUyOTA3NkU1Ci06MTAwOEMwMDAxODc0MDZGMDkwNzYzNzc0MDRGMDkwNzYzOTc0MEFGMDU0Ci06MTAwOEQwMDA5MDc2MjFGMDkwNzYyMDc0MDNGMDkwN0ZFQUUwRjQ2MDQ3Ci06MTAwOEUwMDAyRjkwNzYyMEUwRkY3NUYwMEFBNDI0QUFGNTgyRTQzNDY0Ci06MTAwOEYwMDA3NUY1ODNFMEZFOTA3RkVBRTBGREVFNkQ2MDEyOTA3Njg0Ci06MTAwOTAwMDAyMUUwRkVFRkMzOUU1MDA4OTA3NjIwRTAwNEYwODBEMUY1Ci06MTAwOTEwMDA5MDc2MjBFMEZGNzVGMDBBQTQyNEFBRjU4MkU0MzQ3NUVECi06MTAwOTIwMDBGNTgzRTA5MDcyMjlGMEU0OTA3NjNCRjA5MDc2MjFFMDM4Ci06MTAwOTMwMDBGRUVGNkU3MDA4OTA3RkI0RTA0NDAxRjAyMjkwN0ZFQkYwCi06MTAwOTQwMDBFMDE0NjAxMzE0NzAwMjIxRTIyNDAyNjAwMjgxN0Y5MDlGCi06MTAwOTUwMDA3RkI0RTA0NDAxRjAyMjkwN0ZFOUUwMTQ3MDdDOTA3RjQ2Ci06MTAwOTYwMDBFQUUwRjQ3MDQ4OTA3NjM3RTA5MDc2MjBGMDkwNzYzOTlGCi06MTAwOTcwMDBFMEZFOTA3NjIwRTBGREMzOUU1MDJCOTA3NjNCRTBGRTlCCi06MTAwOTgwMDAwNEYwNzRDMDJFRjU4MkU0MzQ3RUY1ODNFMEZFRUQ3NTRDCi06MTAwOTkwMDBGMDBBQTQyNEFCRjU4MkU0MzQ3NUY1ODNFRUYwOTA3NjhBCi06MTAwOUEwMDAyMEUwMDRGMDgwQzc5MDc2M0Y3NDAxRjAyMjkwN0VDMDcyCi06MTAwOUIwMDBFMEZFRUY3NUYwMEFBNDI0QUJGNTgyRTQzNDc1RjU4MzBDCi06MTAwOUMwMDBFRUYwRTBCNDAxMDg5MDc2M0U3NDAxRjA4MDA1RTQ5MDBBCi06MTAwOUQwMDA3NjNFRjA5MDc2M0Y3NDAxRjAyMjkwN0ZCNEUwNDQwMUJGCi06MTAwOUUwMDBGMDIyOTA3RkU5RTAyNEZFNzAwMjQxQTMxNDcwMDI2MUJFCi06MTAwOUYwMDAzRjE0NzAwMjYxREIyNDAzNjAwMjgxNzc5MDdGRUFFMDlDCi06MTAwQTAwMDBGNDcwNkI5MDc2MzdFMDkwNzYyMEYwOTA3NjM5RTBGRkM2Ci06MTAwQTEwMDA5MDc2MjBFMEZFQzM5RjUwNEU5MDc2M0JFMEZGMDRGMEJFCi06MTAwQTIwMDA3NEMwMkZGNTgyRTQzNDdFRjU4M0UwRkZFRTc1RjAwQUEyCi06MTAwQTMwMDBBNDI0QUNGNTgyRTQzNDc1RjU4M0VGRjA5MDc2M0JFMEM2Ci06MTAwQTQwMDBGRjA0RjA3NEMwMkZGNTgyRTQzNDdFRjU4M0UwRkZFRUZFCi06MTAwQTUwMDA3NUYwMEFBNDI0QURGNTgyRTQzNDc1RjU4M0VGRjA5MEM3Ci06MTAwQTYwMDA3NjIwRTAwNEYwODBBNDkwNzY0MDc0MDFGMDIyOTA3RTFECi06MTAwQTcwMDBDMEUwRkY5MDc2MjBFMEZFNzVGMDBBQTQyNEFDRjU4Mjc5Ci06MTAwQTgwMDBFNDM0NzVGNTgzRUZGMDkwN0VDMUUwRkZFRTc1RjAwQTc3Ci06MTAwQTkwMDBBNDI0QURGNTgyRTQzNDc1RjU4M0VGRjA5MDc2NDE3NENCCi06MTAwQUEwMDAwMUYwMjI5MDdGRUFFMEY0NzA2NjkwNzYzN0UwOTA3NjZECi06MTAwQUIwMDAyMEYwOTA3NjM5RTBGRjkwNzYyMEUwRkVDMzlGNDAwMjYwCi06MTAwQUMwMDA4MThFOTA3NjNCRTBGRjA0RjA3NEMwMkZGNTgyRTQzNDExCi06MTAwQUQwMDA3RUY1ODNFMEZGRUU3NUYwMEFBNDI0QUVGNTgyRTQzNERGCi06MTAwQUUwMDA3NUY1ODNFRkYwOTA3NjNCRTBGRjA0RjA3NEMwMkZGNUNFCi06MTAwQUYwMDA4MkU0MzQ3RUY1ODNFMEZGRUU3NUYwMEFBNDI0QUZGNUJFCi06MTAwQjAwMDA4MkU0MzQ3NUY1ODNFRkYwOTA3NjIwRTAwNEYwODBBMjYzCi06MTAwQjEwMDA5MDdFQzBFMEZGOTA3NjIwRTBGRTc1RjAwQUE0MjRBRTNGCi06MTAwQjIwMDBGNTgyRTQzNDc1RjU4M0VGRjA5MDdFQzFFMEZGRUU3NTU5Ci06MTAwQjMwMDBGMDBBQTQyNEFGRjU4MkU0MzQ3NUY1ODNFRkYwMjI5MDM3Ci06MTAwQjQwMDA3RkVBRTBGNDcwNjY5MDc2MzdFMDkwNzYyMEYwOTA3NjU5Ci06MTAwQjUwMDAzOUUwRkY5MDc2MjBFMEZFQzM5RjQwMDI4MThFOTA3NkMwCi06MTAwQjYwMDAzQkUwRkYwNEYwNzRDMDJGRjU4MkU0MzQ3RUY1ODNFMEFGCi06MTAwQjcwMDBGRkVFNzVGMDBBQTQyNEIwRjU4MkU0MzQ3NUY1ODNFRjM2Ci06MTAwQjgwMDBGMDkwNzYzQkUwRkYwNEYwNzRDMDJGRjU4MkU0MzQ3RUYxCi06MTAwQjkwMDBGNTgzRTBGRkVFNzVGMDBBQTQyNEIxRjU4MkU0MzQ3NTI0Ci06MTAwQkEwMDBGNTgzRUZGMDkwNzYyMEUwMDRGMDgwQTI5MDdFQzBFMDI0Ci06MTAwQkIwMDBGRjkwNzYyMEUwRkU3NUYwMEFBNDI0QjBGNTgyRTQzNEJDCi06MTAwQkMwMDA3NUY1ODNFRkYwOTA3RUMxRTBGRkVFNzVGMDBBQTQyNDg2Ci06MTAwQkQwMDBCMUY1ODJFNDM0NzVGNTgzRUZGMDIyOTA3RkVBRTBGNDFBCi06MTAwQkUwMDA3MDY2OTA3NjM3RTA5MDc2MjBGMDkwNzYzOUUwRkY5MDRFCi06MTAwQkYwMDA3NjIwRTBGRUMzOUY0MDAyODE4RTkwNzYzQkUwRkYwNEFBCi06MTAwQzAwMDBGMDc0QzAyRkY1ODJFNDM0N0VGNTgzRTBGRkVFNzVGMERBCi06MTAwQzEwMDAwQUE0MjRCMkY1ODJFNDM0NzVGNTgzRUZGMDkwNzYzQkI0Ci06MTAwQzIwMDBFMEZGMDRGMDc0QzAyRkY1ODJFNDM0N0VGNTgzRTBGRjJBCi06MTAwQzMwMDBFRTc1RjAwQUE0MjRCM0Y1ODJFNDM0NzVGNTgzRUZGMDgxCi06MTAwQzQwMDA5MDc2MjBFMDA0RjA4MEEyOTA3RUMwRTBGRjkwNzYyMEI1Ci06MTAwQzUwMDBFMEZFNzVGMDBBQTQyNEIyRjU4MkU0MzQ3NUY1ODNFRjYyCi06MTAwQzYwMDBGMDkwN0VDMUUwRkZFRTc1RjAwQUE0MjRCM0Y1ODJFNEIzCi06MTAwQzcwMDAzNDc1RjU4M0VGRjAyMjkwN0ZCNEUwNDQwMUYwMjI5MEM4Ci06MEYwQzgwMDA3RkI0RTA0NDAxRjAyMjkwN0ZCNEUwNDQwMUYwMjIwMQotOjEwMTAwMDAwRTQ5MDc2MkNGMDkwNzYyQ0UwRkY3NUYwMDNBNDI0MEY4QQotOjEwMTAxMDAwRjU4MkU0MzQ3NUY1ODNFMEZFOTA3RkVERTBGREVFNkQ0MgotOjEwMTAyMDAwNjAwRUVGQzM5NDBCNTAwODkwNzYyQ0UwMDRGMDgwRDU0RQotOjEwMTAzMDAwRUZCNDBCMDg5MDdGQjRFMDQ0MDFGMDIyRUY3NUYwMDNBOQotOjEwMTA0MDAwQTQyNDBFRjU4MkU0MzQ3NUY1ODNFMDkwNzYyRUYwMjQyNgotOjEwMTA1MDAwRjA2MDBBMjQwRjYwMDI4MTdEMTI0QjFCMjI5MDdGRUQwRAotOjEwMTA2MDAwRTA2NDA1NzA1MTkwNzYxODc0MDVGMDkwNzYzODc0MDEzQwotOjEwMTA3MDAwRjA5MDc2M0E3NDAzRjA5MDc2MUNGMEU0OTA3NjFCRjBEMgotOjEwMTA4MDAwOTA3RkVBRTBGNDYwMkY5MDc2MUJFMEZGNzVGMDBBQTRGMQotOjEwMTA5MDAwMjRBQUY1ODJFNDM0NzVGNTgzRTBGRTkwN0ZFQUUwRkQ1MgotOjEwMTBBMDAwRUU2RDYwMTI5MDc2MUNFMEZFRUZDMzlFNTAwODkwNzZDNQotOjEwMTBCMDAwMUJFMDA0RjA4MEQxOTA3RkVERTA2NDA2NzA1MjkwNzZFMgotOjEwMTBDMDAwMTg3NDA2RjA5MDc2Mzg3NDA0RjA5MDc2M0E3NDBBRjA0QQotOjEwMTBEMDAwOTA3NjFDRjA5MDc2MUI3NDAzRjA5MDdGRUFFMEY0NjA0OQotOjEwMTBFMDAwMkY5MDc2MUJFMEZGNzVGMDBBQTQyNEFBRjU4MkU0MzQ2MQotOjEwMTBGMDAwNzVGNTgzRTBGRTkwN0ZFQUUwRkRFRTZENjAxMjkwNzY3QwotOjEwMTEwMDAwMUNFMEZFRUZDMzlFNTAwODkwNzYxQkUwMDRGMDgwRDFGNwotOjEwMTExMDAwRTQ5MDc2MUVGMDkwNzYxQ0UwRkY5MDc2MUJFMEZFNkY2OAotOjEwMTEyMDAwNzAwODkwN0ZCNEUwNDQwMUYwMjI5MDdGRUJFMDE0NjBGRgotOjEwMTEzMDAwMTMxNDcwMDIyMUJGMjQwMjYwMDI4MTc1OTA3RkI0RTAxNQotOjEwMTE0MDAwNDQwMUYwMjI5MDdGRTlFMDI0N0Y3MDZCOTA3RkVBRTAxOQotOjEwMTE1MDAwRjQ3MDRBOTA3NjM4RTA5MDc2MUJGMDkwNzYzQUUwRkY5MwotOjEwMTE2MDAwOTA3NjFCRTBGREMzOUY1MDJCRUQ3NUYwMEFBNDI0QUJENQotOjEwMTE3MDAwRjU4MkU0MzQ3NUY1ODNFMEZGOTA3NjFFRTBGRDA0RjAxRgotOjEwMTE4MDAwNzQwMDJERjU4MkU0MzQ3RkY1ODNFRkYwOTA3NjFCRTA1OAotOjEwMTE5MDAwMDRGMDgwQzc5MDc2MUVFMDkwN0ZCNUYwMjJFRTc1RjBFNwotOjEwMTFBMDAwMEFBNDI0QUJGNTgyRTQzNDc1RjU4M0UwOTA3RjAwRjA2NwotOjEwMTFCMDAwOTA3RkI1NzQwMUYwMjI5MDdGQjRFMDQ0MDFGMDIyOTA1QQotOjEwMTFDMDAwN0ZFOUUwMjQ3RTcwMDI0MTdFMTQ3MDAyNjEyMzE0NzA3NgotOjEwMTFEMDAwMDI2MUM4MjQwMzYwMDI4MTZEOTA3RkVBRTBGNDcwNkRDMwotOjEwMTFFMDAwOTA3NjM4RTA5MDc2MUJGMDkwNzYzQUUwRkY5MDc2MUI5MAotOjEwMTFGMDAwRTBDMzlGNTA0RkUwRkY3NUYwMEFBNDI0QUNGNTgyRTRGMQotOjEwMTIwMDAwMzQ3NUY1ODNFMEZFOTA3NjFFRTBGRDA0RjA3NDAwMkQ0OQotOjEwMTIxMDAwRjU4MkU0MzQ3RkY1ODNFRUYwRUY3NUYwMEFBNDI0QUQ5NwotOjEwMTIyMDAwRjU4MkU0MzQ3NUY1ODNFMEZGOTA3NjFFRTBGRTA0RjA2RAotOjEwMTIzMDAwNzQwMDJFRjU4MkU0MzQ3RkY1ODNFRkYwOTA3NjFCRTBBNgotOjEwMTI0MDAwMDRGMDgwQTQ5MDc2MUVFMDkwN0ZCNUYwMjI5MDc2MUI4QgotOjEwMTI1MDAwRTBGRjc1RjAwQUE0MjRBQ0Y1ODJFNDM0NzVGNTgzRTA3MAotOjEwMTI2MDAwOTA3RjAwRjBFRjc1RjAwQUE0MjRBREY1ODJFNDM0NzVBOAotOjEwMTI3MDAwRjU4M0UwOTA3RjAxRjA5MDdGQjU3NDAyRjAyMjkwN0ZCQgotOjEwMTI4MDAwRUFFMEY0NzA2RDkwNzYzOEUwOTA3NjFCRjA5MDc2M0E1NAotOjEwMTI5MDAwRTBGRjkwNzYxQkUwQzM5RjUwNEZFMEZGNzVGMDBBQTQ3QgotOjEwMTJBMDAwMjRBRUY1ODJFNDM0NzVGNTgzRTBGRTkwNzYxRUUwRkQxMQotOjEwMTJCMDAwMDRGMDc0MDAyREY1ODJFNDM0N0ZGNTgzRUVGMEVGNzVEMQotOjEwMTJDMDAwRjAwQUE0MjRBRkY1ODJFNDM0NzVGNTgzRTBGRjkwNzY0QwotOjEwMTJEMDAwMUVFMEZFMDRGMDc0MDAyRUY1ODJFNDM0N0ZGNTgzRUYwNwotOjEwMTJFMDAwRjA5MDc2MUJFMDA0RjA4MEE0OTA3NjFFRTA5MDdGQjUyRAotOjEwMTJGMDAwRjAyMjkwNzYxQkUwRkY3NUYwMEFBNDI0QUVGNTgyRTQ5QwotOjEwMTMwMDAwMzQ3NUY1ODNFMDkwN0YwMEYwRUY3NUYwMEFBNDI0QUYwOAotOjEwMTMxMDAwRjU4MkU0MzQ3NUY1ODNFMDkwN0YwMUYwOTA3RkI1NzQzOQotOjEwMTMyMDAwMDJGMDIyOTA3RkVBRTBGNDcwNkQ5MDc2MzhFMDkwNzZEQgotOjEwMTMzMDAwMUJGMDkwNzYzQUUwRkY5MDc2MUJFMEMzOUY1MDRGRTBBMQotOjEwMTM0MDAwRkY3NUYwMEFBNDI0QjBGNTgyRTQzNDc1RjU4M0UwRkU1RAotOjEwMTM1MDAwOTA3NjFFRTBGRDA0RjA3NDAwMkRGNTgyRTQzNDdGRjVGNAotOjEwMTM2MDAwODNFRUYwRUY3NUYwMEFBNDI0QjFGNTgyRTQzNDc1RjU0QwotOjEwMTM3MDAwODNFMEZGOTA3NjFFRTBGRTA0RjA3NDAwMkVGNTgyRTQxOAotOjEwMTM4MDAwMzQ3RkY1ODNFRkYwOTA3NjFCRTAwNEYwODBBNDkwNzYzNAotOjEwMTM5MDAwMUVFMDkwN0ZCNUYwMjI5MDc2MUJFMEZGNzVGMDBBQTQ2NgotOjEwMTNBMDAwMjRCMEY1ODJFNDM0NzVGNTgzRTA5MDdGMDBGMEVGNzVBQQotOjEwMTNCMDAwRjAwQUE0MjRCMUY1ODJFNDM0NzVGNTgzRTA5MDdGMDE0RQotOjEwMTNDMDAwRjA5MDdGQjU3NDAyRjAyMjkwN0ZFQUUwRjQ3MDZEOTBBNwotOjEwMTNEMDAwNzYzOEUwOTA3NjFCRjA5MDc2M0FFMEZGOTA3NjFCRTA0RQotOjEwMTNFMDAwQzM5RjUwNEZFMEZGNzVGMDBBQTQyNEIyRjU4MkU0MzRBNQotOjEwMTNGMDAwNzVGNTgzRTBGRTkwNzYxRUUwRkQwNEYwNzQwMDJERjU5NwotOjEwMTQwMDAwODJFNDM0N0ZGNTgzRUVGMEVGNzVGMDBBQTQyNEIzRjU5RgotOjEwMTQxMDAwODJFNDM0NzVGNTgzRTBGRjkwNzYxRUUwRkUwNEYwNzRGQwotOjEwMTQyMDAwMDAyRUY1ODJFNDM0N0ZGNTgzRUZGMDkwNzYxQkUwMDQyNAotOjEwMTQzMDAwRjA4MEE0OTA3NjFFRTA5MDdGQjVGMDIyOTA3NjFCRTBCRAotOjEwMTQ0MDAwRkY3NUYwMEFBNDI0QjJGNTgyRTQzNDc1RjU4M0UwOTBDOAotOjEwMTQ1MDAwN0YwMEYwRUY3NUYwMEFBNDI0QjNGNTgyRTQzNDc1RjU0QgotOjEwMTQ2MDAwODNFMDkwN0YwMUYwOTA3RkI1NzQwMkYwMjI5MDdGQjQwQQotOjEwMTQ3MDAwRTA0NDAxRjAyMjkwN0ZCNEUwNDQwMUYwMjI5MDdGQjQ3OAotOjA1MTQ4MDAwRTA0NDAxRjAyMjMwCi06MTAzODc0MDBFNDkwNzYyOUYwOTA3NjI5RTBGRjc1RjAwRkE0MjQ0MkI1Ci06MTAzODg0MDBGNTgyRTQzNDc1RjU4M0UwRkU5MDdGRUNFMEZERUU2REE3Ci06MTAzODk0MDA2MDBFRUZDMzk0MDY1MDA4OTA3NjI5RTAwNEYwODBENUJBCi06MTAzOEE0MDBFRkI0MDYwODkwN0ZCNEUwNDQwMUYwMjJFRjc1RjAwRjA2Ci06MTAzOEI0MDBBNDI0NDFGNTgyRTQzNDc1RjU4M0UwOTA3NjJBRjAyNDVCCi06MTAzOEM0MDBCRjcwMDI0MTQxMjRFMDcwMDI0MTEyMjQyMTYwMDI0MTkwCi06MTAzOEQ0MDAzQTkwN0ZFOUUwMjRGRTYwN0QxNDcwMDIyMUIyMjQwMjU0Ci06MTAzOEU0MDA2MDAyNDEwQTEyMTc1MTkwNzY0MkUwRkNBM0UwRkRBMzY2Ci06MTAzOEY0MDBFMEZFQTNFMEZGOTA3NjI5RTA3NUYwMEZBNDI0NDNGNUUxCi06MTAzOTA0MDA4MkU0MzQ3NUY1ODMxMjM3QkM5MDc2MTlFMEZGQjQwMTc0Ci06MTAzOTE0MDAxMjkwNzY3Qzc0NjdGMDkwNzY3RDc0MDZGMDkwNzY3RUQzCi06MTAzOTI0MDA3NDBCRjBFRkI0MDIwRkU0OTA3NjdDRjA5MDc2N0RGMEE3Ci06MTAzOTM0MDA5MDc2N0U3NDBDRjBFRkI0MDMwRkU0OTA3NjdDRjA5MEY0Ci06MTAzOTQ0MDA3NjdERjA5MDc2N0U3NDE4RjA5MDc2MUE3NDAxRjAxMkY5Ci06MTAzOTU0MDAzRThGMTIxODAwMjI5MDdFQzJFMEZGRTRGQ0ZERkVGQkM1Ci06MTAzOTY0MDBGQTc5MDFGODEyMzc0NkM4RUNDOEM5RURDOUNBRUVDQURCCi06MTAzOTc0MDBDQkVGQ0I5MDdFQzFFMEZFRTRGQ0ZEMkJGQkVBM0VGQUVDCi06MTAzOTg0MDBFRDM5RjlFQzM4Rjg5MDdFQzBFMEZGRTRGRUVCMkZGRjUwCi06MTAzOTk0MDBFRTNBRkVFRDM5RkRFQzM4RkM5MDc2MjlFMDc1RjAwRjM3Ci06MTAzOUE0MDBBNDI0NDdGNTgyRTQzNDc1RjU4MzEyMzdCQzIyOTA3RTUzCi06MTAzOUI0MDBDMkUwRkZFNEZDRkRGRUZCRkE3OTAxRjgxMjM3NDZDOEM5Ci06MTAzOUM0MDBFQ0M4QzlFREM5Q0FFRUNBQ0JFRkNCOTA3RUMxRTBGRTBDCi06MTAzOUQ0MDBFNEZDRkQyQkZCRUEzRUZBRUQzOUY5RUMzOEY4OTA3RTc1Ci06MTAzOUU0MDBDMEUwRkZFNEZFRUIyRkZGRUUzQUZFRUQzOUZERUMzOENDCi06MTAzOUY0MDBGQzkwNzYyOUUwNzVGMDBGQTQyNDRCRjU4MkU0MzQ3NTJECi06MTAzQTA0MDBGNTgzMTIzN0JDMjI5MDdGQjRFMDQ0MDFGMDIyOTA3RjBBCi06MTAzQTE0MDBFOUUwMTQ3MDE5OTA3RUMwRTBGRjkwNzYyOUUwNzVGMDFCCi06MTAzQTI0MDAwRkE0MjQ0RkY1ODJFNDM0NzVGNTgzRUZGMDIyOTA3RkUwCi06MEUzQTM0MDBCNEUwNDQwMUYwMjI5MDdGQjRFMDQ0MDFGMDIyOUYKLToxMDJBRDYwMEU0OTA3NjI3RjA5MDc2MjdFMEZGNzVGMDBGQTQyNDQyNjUKLToxMDJBRTYwMEY1ODJFNDM0NzVGNTgzRTBGRTkwN0ZFQ0UwRkRFRTZENTMKLToxMDJBRjYwMDYwMEVFRkMzOTQwNjUwMDg5MDc2MjdFMDA0RjA4MEQ1NjgKLToxMDJCMDYwMEVGQjQwNjA4OTA3RkI0RTA0NDAxRjAyMkVGNzVGMDBGQjEKLToxMDJCMTYwMEE0MjQ0MUY1ODJFNDM0NzVGNTgzRTA5MDc2MjhGMDI0MDgKLToxMDJCMjYwMDlGNzAwMkExNzQyNDIxNjAwMkExQTE5MDdGRTlFMDI0OTQKLToxMDJCMzYwMDdFNzAwMjYxRkMxNDcwMDI4MUI1MjQwMjYwMDJBMTZDRjEKLToxMDJCNDYwMEVGNzVGMDBGQTQyNDQzRjU4MkU0MzQ3NUY1ODNFMEZDQjkKLToxMDJCNTYwMEEzRTBGREEzRTBGRUEzRTBGRjdCNDQ3QUFDNzkwMDc4MTYKLToxMDJCNjYwMDAwQzMxMjM3QUI3MDEzOTA3RjAwNzQ0NEYwQTM3NEFDQUIKLToxMDJCNzYwMEYwRTRBM0YwOTA3RkI1NzQwM0YwOTA3NjI3RTA3NUYwNEIKLToxMDJCODYwMDBGQTQyNDQzRjU4MkU0MzQ3NUY1ODNFMEZDQTNFMEZENEQKLToxMDJCOTYwMEEzRTBGRUEzRTBGRjdCODA3QUJCNzkwMDc4MDBDMzEyMzYKLToxMDJCQTYwMDM3QUI3MDEzOTA3RjAwNzQ4MEYwQTM3NEJCRjBFNEEzN0UKLToxMDJCQjYwMEYwOTA3RkI1NzQwM0YwOTA3NjI3RTA3NUYwMEZBNDI0QUIKLToxMDJCQzYwMDQzRjU4MkU0MzQ3NUY1ODNFMEZDQTNFMEZEQTNFMEZFNjMKLToxMDJCRDYwMEEzRTBGRjdCMDA3QTc3NzkwMTc4MDBDMzEyMzdBQjYwRjgKLToxMDJCRTYwMDAyQTFBODkwN0YwMEYwQTM3NDc3RjBBMzc0MDFGMDkwN0YKLToxMDJCRjYwMDdGQjU3NDAzRjAyMjkwNzYyN0UwNzVGMDBGQTQyNDQ3ODIKLToxMDJDMDYwMEY1ODJFNDM0NzVGNTgzRTBGQ0EzRTBGREEzRTBGRUEzQzIKLToxMDJDMTYwMEUwRkY3QjQ0N0FBQzc5MDA3ODAwQzMxMjM3QUI3MDEzQkYKLToxMDJDMjYwMDkwN0YwMDc0NDRGMEEzNzRBQ0YwRTRBM0YwOTA3RkI1RjkKLToxMDJDMzYwMDc0MDNGMDkwNzYyN0UwNzVGMDBGQTQyNDQ3RjU4MkU0M0MKLToxMDJDNDYwMDM0NzVGNTgzRTBGQ0EzRTBGREEzRTBGRUEzRTBGRjdCODMKLToxMDJDNTYwMDgwN0FCQjc5MDA3ODAwQzMxMjM3QUI3MDEzOTA3RjAwN0YKLToxMDJDNjYwMDc0ODBGMEEzNzRCQkYwRTRBM0YwOTA3RkI1NzQwM0YwMTYKLToxMDJDNzYwMDkwNzYyN0UwNzVGMDBGQTQyNDQ3RjU4MkU0MzQ3NUY1QzUKLToxMDJDODYwMDgzRTBGQ0EzRTBGREEzRTBGRUEzRTBGRjdCMDA3QTc3RjAKLToxMDJDOTYwMDc5MDE3ODAwQzMxMjM3QUI2MDAyQTFBODkwN0YwMEYwREIKLToxMDJDQTYwMEEzNzQ3N0YwQTM3NDAxRjA5MDdGQjU3NDAzRjAyMjkwQkIKLToxMDJDQjYwMDc2MjdFMDc1RjAwRkE0MjQ0QkY1ODJFNDM0NzVGNTgzOEUKLToxMDJDQzYwMEUwRkNBM0UwRkRBM0UwRkVBM0UwRkY3QjQ0N0FBQzc5NDEKLToxMDJDRDYwMDAwNzgwMEMzMTIzN0FCNzAxMzkwN0YwMDc0NDRGMEEzRTIKLToxMDJDRTYwMDc0QUNGMEU0QTNGMDkwN0ZCNTc0MDNGMDkwNzYyN0UwMUYKLToxMDJDRjYwMDc1RjAwRkE0MjQ0QkY1ODJFNDM0NzVGNTgzRTBGQ0EzNEMKLToxMDJEMDYwMEUwRkRBM0UwRkVBM0UwRkY3QjgwN0FCQjc5MDA3ODAwQkMKLToxMDJEMTYwMEMzMTIzN0FCNzAxMzkwN0YwMDc0ODBGMEEzNzRCQkYwQkUKLToxMDJEMjYwMEU0QTNGMDkwN0ZCNTc0MDNGMDkwNzYyN0UwNzVGMDBGN0EKLToxMDJEMzYwMEE0MjQ0QkY1ODJFNDM0NzVGNTgzRTBGQ0EzRTBGREEzRkYKLToxMDJENDYwMEUwRkVBM0UwRkY3QjAwN0E3Nzc5MDE3ODAwQzMxMjM3QjMKLToxMDJENTYwMEFCNzA0RjkwN0YwMEYwQTM3NDc3RjBBMzc0MDFGMDkwRUUKLToxMDJENjYwMDdGQjU3NDAzRjAyMjkwN0ZCNEUwNDQwMUYwMjI5MDdGOTcKLToxMDJENzYwMEU5RTAyNDdGNzAxRTkwNzYyN0UwNzVGMDBGQTQyNDRGQkIKLToxMDJEODYwMEY1ODJFNDM0NzVGNTgzRTA5MDdGMDBGMDkwN0ZCNTc0QUEKLToxMDJEOTYwMDAxRjA4MDA3OTA3RkI0RTA0NDAxRjA5MDdGQjRFMDQ0RjYKLTowMzJEQTYwMDAxRjAyMjE3Ci06MTA0QjFCMDA5MDdGRUJFMDE0NzAxNDkwN0ZFOUUwMjQ3RjcwMDQxMjE3Ci06MTA0QjJCMDA0ODVBMjI5MDdGQjRFMDQ0MDFGMDIyOTA3RkI0RTA0NEQ1Ci06MDM0QjNCMDAwMUYwMjI2NAotOjEwNEIzRTAwOTA3RkVCRTAxNDcwMTM5MDdGRTlFMDE0NzAwNDEyNDkzQgotOjEwNEI0RTAwQUQyMjkwN0ZCNEUwNDQwMUYwMjI5MDdGQjRFMDQ0MDFBNgotOjAyNEI1RTAwRjAyMjQzCi06MTA0ODVBMDBFNDkwNzYyNkYwOTA3NjI2RTBGRjc1RjAwM0E0MjQzNERGCi06MTA0ODZBMDBGNTgyRTQzNDc1RjU4M0UwRkU5MDdGRUNFMEZERUU2REIxCi06MTA0ODdBMDA2MDBFRUZDMzk0MDQ1MDA4OTA3NjI2RTAwNEYwODBENUM5Ci06MTA0ODhBMDBFRkI0MDQwODkwN0ZCNEUwNDQwMUYwMjJFRjc1RjAwMzFFCi06MTA0ODlBMDBBNDI0MzJGNTgyRTQzNDc1RjU4M0UwOTA3RjAwRjA5MDI5Ci06MDY0OEFBMDA3RkI1NzQwMUYwMjI0RAotOjEwNDlBRDAwRTQ5MDc2MjVGMDkwNzYyNUUwRkY3NUYwMDNBNDI0MzQ4RAotOjEwNDlCRDAwRjU4MkU0MzQ3NUY1ODNFMEZFOTA3RkVDRTBGREVFNkQ1RAotOjEwNDlDRDAwNjAwRUVGQzM5NDA0NTAwODkwNzYyNUUwMDRGMDgwRDU3NgotOjEwNDlERDAwRUZCNDA0MDg5MDdGQjRFMDQ0MDFGMDIyOTA3RUMwRTA3MwotOjEwNDlFRDAwRkVFRjc1RjAwM0E0MjQzMkY1ODJFNDM0NzVGNTgzRUUwMQotOjAyNDlGRDAwRjAyMkE2Ci06MDMwMDAzMDAwMjBGRkRFQwotOjAzMEZGRDAwQzI4OTMyNzQKLTowMzAwMTMwMDAyMTdGREQ0Ci06MDMxN0ZEMDBDMjhCMzI2QQotOjAzMDA0QjAwMDI0RDhGRDQKLTowNDREOEYwMDUzOTFERjMyMkIKLTowMzAwNTMwMDAyNEQ4M0Q4Ci06MDY0RDgzMDA1MzkxQkZEMjJEMzI1NgotOjAzMDA1QjAwMDI0RDg5Q0EKLTowNjREODkwMDUzOTE3RkQyMkMzMjkxCi06MDMwMDYzMDAwMjREOTNCOAotOjA0NEQ5MzAwNTNEOEY3MzJDOAotOjAzMDAwQjAwMDI0RDlCMDgKLTowMzREOUIwMEMyOEQzMjk0Ci06MDMwMDFCMDAwMjREOUVGNQotOjAzNEQ5RTAwQzI4RjMyOEYKLTowMzAwMjMwMDAyNEQ3NTE2Ci06MDc0RDc1MDA1Mzk4RkU1Mzk4RkQzMjM0Ci06MDMwMDNCMDAwMjREN0NGNwotOjA3NEQ3QzAwNTNDMEZFNTNDMEZEMzJERAotOjAzMDAyQjAwMDI0NkY3OTMKLToxMDQ2RjcwMEMwRTBDMEYwQzA4M0MwODJDMEQwRThDMEUwRTlDMEUwM0QKLToxMDQ3MDcwMEVBQzBFMEVCQzBFMEVDQzBFMEVEQzBFMEVFQzBFMEVGRjcKLToxMDQ3MTcwMEMwRTBDMkNBQzJDRjkwN0Y5OEUwNDQwMUYwMzAyRTAzQjgKLToxMDQ3MjcwMDEyMTRBNjkwN0Y5OEUwNTRGRUYwNTNBOEZBMTIxNjYxNkYKLToxMDQ3MzcwMEQwRTBGRkQwRTBGRUQwRTBGREQwRTBGQ0QwRTBGQkQwNDEKLToxMDQ3NDcwMEUwRkFEMEUwRjlEMEUwRjhEMEQwRDA4MkQwODNEMEYwMzIKLTowMzQ3NTcwMEQwRTAzMjdECi06MTA0N0I0MDBFNDkwNzY5QkYwOTA3NjlCRTBGRjA0RjBFRjYwMDhFMEQ1Ci06MTA0N0M0MDAyNDA4RjhFNEY2ODBFRTkwNzY5NkUwNTRGQkYwNTRGNzczCi06MTA0N0Q0MDBGMDkwODAwM0YwRTRGNTE4RDIzNUY1MEVGNTEwRDIzNkRBCi06MTA0N0U0MDA3NTEyMTE3NTEzMjJDMjM3QzIzOUMyMzhGNTE2RjUxNDgxCi06MEI0N0Y0MDBGNTFBRjUwREMyM0JDMjNDQzIzRDIyOEQKLToxMDMwMDAwMDkwN0ZCNkUwMjBFMTAyQzIzREQyMzYyMDM2MDI0MTZFMEEKLToxMDMwMTAwMDMwM0QwMjQxNkU5MDgwMDdFMDYwMDREMjM2ODAwMkMyRUIKLToxMDMwMjAwMDM2MjAzNjAyNDEyRUQyMzVFNEY1MUE5MDgwMDRFMEY1QzAKLToxMDMwMzAwMDE5NzQwODI1MEVGOEE2MTk4NTE5MThFNTE4MjBFNzA0NTMKLToxMDMwNDAwMEQyMzg4MDAyQzIzODMwMzgwMjIxRDRFNEY1MTZFNTE5QUUKLToxMDMwNTAwMEI0RjAwQ0QyMzk3NTA4MDQ3NTA5RjAwNTBFODAwMjA1MkMKLToxMDMwNjAwMDE2RTUxOTY0Rjc3MDNEQzIzOUU1MEUyNEZFNjAxNzE0QTkKLToxMDMwNzAwMDYwMjIyNDAzNzAyOTc1MDgwNTc1MDlGN0U0RjUwQUY1M0YKLToxMDMwODAwMDBCNzUwRTA0ODAyMDc1MDgwNjc1MEFGN0U0RjUwQjc1QkMKLToxMDMwOTAwMDBFMDQ4MDEyNzUwODA3NzUwQkY3NzUwRTA0ODAwNzEyNzEKLToxMDMwQTAwMDQ4RjM4MDAyMDUxNkU1MTk1NEY4NjRGODcwM0JDMjM1MDAKLToxMDMwQjAwMEU1MTkyNDA3NjAwQzI0RkM2MDA4MjQwNTI0Rjg1MDA2NTgKLToxMDMwQzAwMDgwMDhEMjNBODAwNkMyM0E4MDAyRDIzQTc1MUEwMTIwQUMKLToxMDMwRDAwMDNBMTk5MDdFODA3NDBGRjBBM0U1MTlGMEU0QTNGMEEzRjEKLToxMDMwRTAwMEYwOTA3RkI3NzQwNEYwODAwMjA1MTYyMDM5NkRFNTE5NjEKLToxMDMwRjAwMDY0Rjc2MDY3RTUxQTcwNjNFNTE4NTRGMDY0RjA3MDU5N0UKLToxMDMxMDAwMDg1MTgxOUY1MEVFNTE5MjQwRjYwMUIyNEZFNjAxNzI0OUQKLToxMDMxMTAwMEZENjAyMjE0NjAxRjI0MDU3MDJGNzUwODAzMDUwRTg1QkQKLToxMDMxMjAwMDE4MDlEMjM3ODAyODc1MDgwMjA1MEU4NTE4MDk3NTE0MEMKLToxMDMxMzAwMDAxRDIzNzgwMTk3NTA4MDUwNTBFODUxODA5RTRGNTBBQ0UKLToxMDMxNDAwMEY1MEI3NTBFMDNEMjM3ODAwNTEyNDhGM0MyMzUzMDM1QzIKLToxMDMxNTAwMDBBODUwODEzODUxODEyODAwMjA1MTY4NTE4MTlFNTE2QzgKLToxMDMxNjAwMDY0MDQ3MDYyRjUwRUU1MTk1NEYwRjUxOUY1MTU4NTE4MkIKLToxMDMxNzAwMDE5RTUxNTI0NzA2MDE4MjRGMDYwMTQyNEYwNjAxMDI0MDAKLToxMDMxODAwMEYwNjAxRTI0RjA2MDFBMjRGMDYwMDQyNDYwNzAyN0U1Q0IKLToxMDMxOTAwMDE1QzQ1NDBGRjUxOUY1MDgwNTBFODUxODA5RDIzNzgwQTYKLToxMDMxQTAwMDFBRTUxNUM0NTQwRkY1MTlGNTA4MDUwRTg1MTgwOTc1QUIKLToxMDMxQjAwMDE0MDFEMjM3ODAwNTEyNDhGM0MyMzUzMDM1MEE4NTE5MUIKLToxMDMxQzAwMDEzODUxODEyODAwMjA1MTZFNTE2RDM5NDA1NDA1NzEyOTAKLToxMDMxRDAwMDQ4RjM4MDUyMzAzOTE3RTUwRTcwMEE4NTA4MDk3NTA4RTIKLToxMDMxRTAwMDA0MDUwRTgwNDE3NDA4MjUwRUY4QTYxOTgwMzgyMDM3OTIKLToxMDMxRjAwMDJBRTUwRUI0MDEwRjg1MDgwQTg1MDkwQjg1MTMwODg1OTkKLToxMDMyMDAwMDEyMDk3NTBFMDRFNTE0QjQwMTFDODUwODBBRTRGNTBCRDcKLToxMDMyMTAwMDg1MTMwODg1MTIwOTc1MEUwNDgwMEJFNTE0QjQwMTA2QTgKLToxMDMyMjAwMEU0RjUwQjc1MEUwNEU0RjUxQTMwMzUwMjA1MEVFNTBFRDMKLToxMDMyMzAwMEQzOTQwMzUwMDIwMTBCQzIzN0U0RjUwRUY1MTBDMjM2RTkKLToxMDMyNDAwMEQyM0RGNTE0NzQwODI1MTBGOEU2RkY3NDgwMjUxMEY1QkEKLToxMDMyNTAwMDgyRTQzNDdFRjU4M0VGRjA3NDA4MjUxMEY4RTRGNjA1NzcKLTowRjMyNjAwMDEwRTUxMEI0MDRERTkwN0ZCNzc0MDRGMDAxMEIyMjY4Ci06MEM0OEYzMDBDMjM3RTRGNTBFRjUxMEMyMzZGNTE0MjJCMQotOjEwNDAwMDAwRTUxMUQzOTQwMDUwMDIyMTA2OTA3Njg5RTBDMzk0MDgwQwotOjEwNDAxMDAwNDAwMjIxMDY3NDQwMjUwRkY1ODJFNDM0N0VGNTgzRTBFQQotOjEwNDAyMDAwRjUxN0U1MEQ2MDBFOTA4MDA1RTUxN0YwOTA3Njg5RTBCNAotOjEwNDAzMDAwMDRGMDAxREFFNTE3MTIzN0Y5NDBDMTAyNDA2NzA1NDA4NAotOjEwNDA0MDAwN0EwNjQwOTgwNzQwQzEwQzQwQzEwRDQwQzcwRjQwQ0JENQotOjEwNDA1MDAwRjY0MENCRjg0MENCRkE0MENCRkI0MENCRkM0MENCRkU0QwotOjEwNDA2MDAwNDBDQkZGMDAwMDQwREE5MDdFNDFFMDkwODAwNUYwOTA2OAotOjEwNDA3MDAwNzY4OUUwMDRGMDc1MTEwMTgwNjA5MDdFNDFFMDkwODBDNwotOjEwNDA4MDAwMDVGMDkwN0U0MkUwOTA4MDA1RjA5MDc2ODlFMDA0RjBBMwotOjEwNDA5MDAwRTAwNEYwNzUxMTAxODA0MjkwN0U0MUUwOTA4MDA1RjBDRgotOjEwNDBBMDAwOTA3RTQyRTA5MDgwMDVGMDkwN0U0M0UwOTA4MDA1RjBBNQotOjEwNDBCMDAwOTA3Njg5RTAwNEYwRTAwNEYwRTAwNEYwNzUxMTAxODBFRQotOjEwNDBDMDAwMTlEMjNCRDIzQzgwMTNEMjNCODAwRjkwODAwNUU1MTc3QwotOjEwNDBEMDAwRjA5MDc2ODlFMDA0RjA3NTExMDEyMDNCMDQwNTBEODAxNQotOjEwNDBFMDAwMUYzMDNDMUM5MDdFNDFFMDkwODAwNUYwOTA3RTQyRTBDNQotOjEwNDBGMDAwOTA4MDA1RjA5MDc2ODlFMDA0RjBFMDA0RjA3NTExMDFGRAotOjEwNDEwMDAwMDUwRjE1MTEwMTAwRTUxMTcwMTBDMjMzRjUwREY1MEYwMwotOjBCNDExMDAwOTA3RkM3NzQwNEYwQzIzQkMyM0MyMjQ5Ci06MTA0QkJCMDA5MDdGRDZFMDMwRTcxMkUwNDQwMUYwN0YxNDdFMDAxMkM0Ci06MEE0QkNCMDA0RDJGOTA3RkQ2RTA1NEZFRjAyMjNCCi06MTA0QUY2MDA5MDdGRDZFMDU0RkJGMEUwNDQwOEYwMzA0MjA0RTA0NEY2Ci06MTA0QjA2MDAwMkYwN0ZEQzdFMDUxMjREMkY5MDdGRDZFMDU0RjdGMDQxCi06MDU0QjE2MDBFMDQ0MDRGMDIyNjAKLToxMDREMkYwMDhFMzU4RjM2RTUzNjE1MzZBRTM1NzAwMjE1MzU0RTYwMzkKLTowNzREM0YwMDA1MTIxNDg1ODBFRTIyMkQKLToxMDQ5RkYwMEU0RkU3NTFERkY3NTFFMDU3NTFGMTJBQjFEQUExRUE5QkUKLToxMDRBMEYwMDFGOTAwMDAxMTIzNkFCNjQwMjcwMkZDREVFQ0QwRUVENkMKLToxMDRBMUYwMDZGNzAwMTIyOTAwMDAyMTIzNzBFODVGMDFCRjUxQzYyOTkKLToxMDRBMkYwMDFCRTUxQjYyMUNFNTFDNjIxQjI5RkRFNTFCM0FDOUVENEEKLToxMDRBM0YwMEM5NzUxREZGRjUxRTg5MUY4MEMxN0IwMDdBMDA3OTAwQTMKLTowMTRBNEYwMDIyNDQKLTowNDE3OTQwMDhEMjk4QjJBRTYKLToxMDE3OTgwMDEyNDlGRkVBNDk2MDU3MTIzNjkyN0UwMDI5RkZFRTNBNTUKLToxMDE3QTgwMEM5RUZDOTc1MkJGRkY1MkM4OTJEQUIyQkFBMkNBOTJEQjgKLToxMDE3QjgwMDkwMDAwMTEyMzZBQkZGNjQwNDYwMDVFRjY0MDU3MDJFREIKLToxMDE3QzgwMEVGQjQwNDE1OTAwMDAyMTIzNkFCNjUyOTcwMEI5MDAwMzcKLToxMDE3RDgwMDAzMTIzNkFCNjUyQTcwMDEyMjEyMzY5MjdFMDAyOUZGNjkKLToxMDE3RTgwMEVFM0FDOUVGQzk3NTJCRkZGNTJDODkyRDgwQkM3QjAwMUIKLTowNDE3RjgwMDdBMDA3OTAwRkEKLTowMTE3RkMwMDIyQ0EKLTowMjQ4QjAwMDhGMkU0OQotOjEwNDhCMjAwRTRGNTJGNzUzMEZGNzUzMTA2NzUzMkJFQUIzMEFBMzE4MwotOjEwNDhDMjAwQTkzMjkwMDAwMTEyMzZBQkI0MDMxRkFGMkYwNTJGRUZCMAotOjEwNDhEMjAwNjUyRTcwMDEyMjEyMzY5MjdFMDAyOUZGRUUzQUM5RUY1MAotOjEwNDhFMjAwQzk3NTMwRkZGNTMxODkzMjgwRDI3QjAwN0EwMDc5MDBCOAotOjAxNDhGMjAwMjJBMwotOjEwMDUwMDAwMTIwMTEwMDEwMDAwMDA0MDZBMDgxMTAxMDAwMTAxMDJGRgotOjEwMDUxMDAwMDAwMTA5MDJBQzAxMDMwMTAwODAzMjA5MDQwMDAwMDA1RgotOjEwMDUyMDAwMDEwMTAwMDAwQTI0MDEwMDAxNTYwMDAyMDEwMjBDMjQwRQotOjEwMDUzMDAwMDIwMTAxMDEwMDAyMDAwMDAwMDAwRDI0MDYwNTAxMDI3NQotOjEwMDU0MDAwMDMwMDAwMDAwMDAwMDAwOTI0MDMwMjA0MDMwMDA1MDA2QQotOjEwMDU1MDAwMEMyNDAyMDMwNTAyMDAwNjAwMDAwMDAwMTUyNDA2MDYxNAotOjEwMDU2MDAwMDMwMjAwMDAwMzAwMDMwMDAzMDAwMzAwMDMwMDAzMDA3NAotOjEwMDU3MDAwMDAwOTI0MDMwNDAxMDEwMDA2MDAwOTA0MDEwMDAwMDEzMAotOjEwMDU4MDAwMDIwMDAwMDkwNDAxMDEwMjAxMDIwMDAwMDcyNDAxMDEyOAotOjEwMDU5MDAwMDAwMTAwMTEyNDAyMDEwMjAyMTAwMzQ0QUMwMDgwQkJFMAotOjEwMDVBMDAwMDAwMDc3MDEwOTA1MEEwNTg0MDEwMTAwOEYwNzI1MDE3NAotOjEwMDVCMDAwMDEwMDAwMDAwOTA1OEYwMTAzMDAwMTA1MDAwOTA0MDE4NQotOjEwMDVDMDAwMDIwMjAxMDIwMDAwMDcyNDAxMDEwMDAxMDAxMTI0MDJCRgotOjEwMDVEMDAwMDEwMjAzMTgwMzQ0QUMwMDgwQkIwMDAwNzcwMTA5MDU0OQotOjEwMDVFMDAwMEEwNTQ2MDIwMTAwOEYwNzI1MDEwMTAwMDAwMDA5MDVFOAotOjEwMDVGMDAwOEYwMTAzMDAwMTA1MDAwOTA0MDIwMDAwMDEwMjAwMDA1MAotOjEwMDYwMDAwMDkwNDAyMDEwMTAxMDIwMDAwMDcyNDAxMDQwMDAxMDBBNQotOjEwMDYxMDAwMEUyNDAyMDEwNjAyMTAwMjQ0QUMwMDgwQkIwMDA5MDU1MgotOjEwMDYyMDAwOEMwNTRDMDIwMTAwMDAwNzI1MDEwMDAyMDAwMDA5MDRBRQotOjEwMDYzMDAwMDIwMjAxMDEwMjAwMDAwNzI0MDEwNDAwMDEwMDBFMjQ0RgotOjEwMDY0MDAwMDIwMTA2MDMxODAyNDRBQzAwODBCQjAwMDkwNThDMDVCQQotOjEwMDY1MDAwNzIwMzAxMDAwMDA3MjUwMTAwMDIwMDAwMDkwNDAyMDNFMwotOjEwMDY2MDAwMDEwMTAyMDAwMDA3MjQwMTA0MDAwMTAwMTEyNDAyMDExRAotOjEwMDY3MDAwMDIwMjEwMDM0NEFDMDA4MEJCMDAwMDc3MDEwOTA1OEMyNgotOjEwMDY4MDAwMDU4NDAxMDEwMDAwMDcyNTAxMDAwMjAwMDAwOTA0MDJBMQotOjEwMDY5MDAwMDQwMTAxMDIwMDAwMDcyNDAxMDQwMDAxMDAxMTI0MDJFQQotOjEwMDZBMDAwMDEwMjAzMTgwMzQ0QUMwMDgwQkIwMDAwNzcwMTA5MDU3OAotOjEwMDZCMDAwOEMwNTQ2MDIwMTAwMDAwNzI1MDEwMDAyMDAwMDA0MDMyQQotOjEwMDZDMDAwMDkwNDE4MDM0NTAwNkQwMDYxMDA2NzAwNjkwMDYzMDBCQwotOjEwMDZEMDAwMjAwMDQ3MDA2RDAwNjIwMDQ4MDAyMjAzNDUwMDZEMDBDNQotOjEwMDZFMDAwNjEwMDY3MDA2OTAwNjMwMDIwMDA0NTAwNEQwMDQ5MDA3QgotOjEwMDZGMDAwMjAwMDM2MDA3QzAwMzIwMDIwMDA2RDAwMkEwMzQzMDBGOQotOjEwMDcwMDAwNkYwMDZFMDA2NjAwNjkwMDY3MDA3NTAwNzIwMDYxMDA4RQotOjEwMDcxMDAwNzQwMDY5MDA2RjAwNkUwMDIwMDA1MzAwNzQwMDcyMDBDNgotOjEwMDcyMDAwNjkwMDZFMDA2NzAwMjIwMzQ5MDA2RTAwNzQwMDY1MDBENgotOjEwMDczMDAwNzIwMDY2MDA2MTAwNjMwMDY1MDAyMDAwNTMwMDc0MDBEMQotOjBBMDc0MDAwNzIwMDY5MDA2RTAwNjcwMDAwMDBGRgotOjEwMTQ4NTAwNzQwMEY1ODY5MEZEQTU3QzA1QTNFNTgyNDU4MzcwRjk3QQotOjAxMTQ5NTAwMjIzNAotOjEwMTQ5NjAwOTA3RkQ2RTA0NDgwRjA0Mzg3MDEwMDAwMDAwMDAwMjJFMAotOjEwMTRBNjAwQzBEMEMwRTA4RkUwQzBFMDhFRTBDMEUwOERFMEMwRTBEQwotOjEwMTRCNjAwOENFMEMwRTBDMDgyQzA4MzA1ODZDMDg0QzA4NTdEMDAwNAotOjEwMTRDNjAwOTA3RkUzNzQ3QkYwQTM3NDgwRjA3QzExOTA3Rjk5RTBBOQotOjEwMTRENjAwNTQ0MERDMDMwMjE0RjNCNDAwMTM5MDdGRTI3NDQwRjAyRQotOjEwMTRFNjAwOTA3RkU1RjA5MDdGRTI3NDAwRjAwMjE0RDI5MDc2OTAzRgotOjEwMTRGNjAwRTBCNDAxMTI5MDc2OEZFMDJERkQ5MDdGRTI3NDgwRjBDQgotOjEwMTUwNjAwOTA3RjZDMDIxNTU3QjQwMjEyOTA3NjhGRTAyREZEOTBGNQotOjEwMTUxNjAwN0ZFMjc0ODBGMDkwN0Y2QzAyMTU5NkI0MDMxMjkwNzY4OQotOjEwMTUyNjAwOEZFMDJERkQ5MDdGRTI3NDgwRjA5MDdGNkMwMjE1RTFENAotOjEwMTUzNjAwQjQwNDEyOTA3NjhGRTAyREZEOTA3RkUyNzQ4MEYwOTBENwotOjEwMTU0NjAwN0Y2QzAyMTYxMDkwN0ZFMjc0ODBGMDkwN0Y2QzAyMTYxQQotOjEwMTU1NjAwNDBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBEREYyN0RCOQotOjEwMTU2NjAwMDIwNTg2OTA3RkUyNzQwMEYwOTA3RjlCRTA1NDA0QjRGRAotOjEwMTU3NjAwMDAwNTA1ODYwMjE2NDA5MDdGRTI3NDgwRjAwNTg2RjAyRAotOjEwMTU4NjAwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMERERDQwMjE2NDBGQwotOjEwMTU5NjAwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjA0NQotOjEwMTVBNjAwRjBGMERERUM3RDAyMDU4NjkwN0ZFMjc0MDBGMDkwN0YxRQotOjEwMTVCNjAwOUJFMDU0MDRCNDAwMDUwNTg2MDIxNjQwOTA3RkUyNzQ1MQotOjEwMTVDNjAwODBGMDA1ODZGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBEQQotOjA2MTVENjAwRjBGMEYwRjBGMEYwNkYKLToxMDE1REMwMEREQ0UwMjE2NDBGMEYwRjBGMERERkE3RDAyMDU4NjkwQ0IKLToxMDE1RUMwMDdGRTI3NDAwRjA5MDdGOUJFMDU0MDRCNDAwMDUwNTg2MDQKLToxMDE1RkMwMDAyMTY0MDkwN0ZFMjc0ODBGMDA1ODZGMEYwRjBGMEREOEEKLToxMDE2MEMwMERDMDIxNjQwRjBGMEYwRjBGMEYwRERGODdEMDIwNTg2MUIKLToxMDE2MUMwMDkwN0ZFMjc0MDBGMDkwN0Y5QkUwNTQwNEI0MDAwNTA1QzkKLToxMDE2MkMwMDg2MDIxNjQwOTA3RkUyNzQ4MEYwMDU4NkYwRjBGMEYwQjAKLToxMDE2M0MwMEYwRjBERERBOTA3RkUyNzQwMEYwRDA4NUQwODQwNTg2N0UKLToxMDE2NEMwMEQwODNEMDgyRDBFMEZDRDBFMEZERDBFMEZFRDBFMEZGMzMKLTowNTE2NUMwMEQwRTBEMEQwMjIxNwotOjEwMTY2MTAwQzBEMEMwRTBDMDgyQzA4MzkwNzY3Q0UwOTA3RjZGRjBGNAotOjEwMTY3MTAwOTA3NjdERTA5MDdGNkZGMDkwNzY3RUUwOTA3RjZGRjBDNgotOjA5MTY4MTAwRDA4M0QwODJEMEUwRDBEMDIyNDkKLToxMDE2OEEwMEMwRDBDMEUwOEZFMEMwRTA4RUUwQzBFMEMwODJDMDgzN0UKLToxMDE2OUEwMDA1ODZDMDg0QzA4NTkwNzY4N0UwRkZCRjAwMDMwMjE3RTUKLToxMDE2QUEwMDAxOTA3Rjk2RTA0NDgwRjA5MDdGRTI3NDgwRjA5MDdGMTIKLToxMDE2QkEwMDYyRTAwNTg2OTA3RkUyNzQwMEYwOTA3Rjk2RTA1NDdGQTYKLToxMDE2Q0EwMEYwOTA3RkUyNzQ4MEYwOTA3NjhFRTBCNDAxMDUwNTg2OTIKLToxMDE2REEwMDAyMTZGNkI0MDIwNTA1ODYwMjE2RUIwNTg2MDIxNkZCMEIKLToxMDE2RUEwMEUwRTBFMEUwRTBFMERGRjgwMjE2RkJFMEUwRTBFMERGNjcKLToxMDE2RkEwMEZBOTA3RkUyNzQwMEYwRDA4NUQwODQwNTg2RDA4M0QwM0EKLTowQzE3MEEwMDgyRDBFMEZFRDBFMEZGRDBFMEQwRDAyMjgyCi06MTAxNzE2MDBDMDgyQzA4M0MwRTBFOEMwRTA3OEQxRTgxNEY4NzBGQjZFCi06MEExNzI2MDBEMEUwRjhEMEUwRDA4M0QwODIyMjlBCi06MTAwQ0E1MDA0MTcyMDEwMTQ1NzIwNTAwMDJDOTAwMDA0NTcyMEEwMDQyCi06MTAwQ0I1MDAwMTAyMDMwNDRENzIwRkQxMDBEMTAwMDAwMDAwMDAwMEI1Ci06MTAwQ0M1MDAyODI4MDkwMDRENzIxQzAxMDAwMTAyMDMwNDA1MDYwN0NFCi06MTAwQ0Q1MDAwODA5MEEwQjQxNzIyRTIyNDE3MjJGMjM0MTcyMzAyMERFCi06MTAwQ0U1MDA0MTcyMzEyMTYyRDI3MjNBMDAwMDAwMDAwMDAwMDAwMDFBCi06MTAwQ0Y1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVGCi06MTAwRDA1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERFCi06MTAwRDE1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENFCi06MTAwRDI1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJFCi06MTAwRDM1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFFCi06MTAwRDQ1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlFCi06MTAwRDU1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhFCi06MTAwRDY1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdFCi06MTAwRDc1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDEwMTAxMDEwMTY4Ci06MTAwRDg1MDAwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTRFCi06MTAwRDk1MDAwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTNFCi06MTAwREE1MDAwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTJFCi06MTAwREI1MDAwMTAxMDEwMTAxMDEwMTAxMDIwMjAyMDIwMjAyMDIwMjE2Ci06MTAwREM1MDAwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMkZFCi06MTAwREQ1MDAwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMkVFCi06MTAwREU1MDAwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMkRFCi06MTAwREY1MDAwMjAyMDIwMjAyMDMwMzAzMDMwMzAzMDMwMzAzMDMwM0MzCi06MTAwRTA1MDAwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwM0FECi06MTAwRTE1MDAwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzlECi06MTAwRTI1MDAwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzhECi06MTAwRTM1MDAwMzAzMDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDZGCi06MTAwRTQ1MDAwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDVECi06MTAwRTU1MDAwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDRECi06MTAwRTY1MDAwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDNECi06MTAwRTc1MDAwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTFECi06MTAwRTg1MDAwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTBECi06MTAwRTk1MDAwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNUZECi06MTAwRUE1MDAwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDYwNkVCCi06MTAwRUI1MDAwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNkNECi06MTAwRUM1MDAwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNkJECi06MTAwRUQ1MDAwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNkFECi06MTAwRUU1MDAwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDcwNzA3MDgwODk2Ci06MTAwRUY1MDAwODA5MDkwOTBBMEEwQTBCMEIwQjBDMEMwQzBEMEQwRDQwCi06MTAwRjA1MDAwRTBFMEUwRjBGMEYxMDEwMTAxMTExMTExMjEyMTIxM0Q5Ci06MTAwRjE1MDAxMzEzMTQxNDE0MTUxNTE1MTYxNjE2MTcxNzE3MTgxODc0Ci06MTAwRjI1MDAxODE5MTkxOTE5MUExQTFBMUExQjFCMUIxQjFDMUMxQzE4Ci06MTAwRjM1MDAxQzFEMUQxRDFEMUUxRTFFMUUxRjFGMUYxRjIwMjAyMEM4Ci06MTAwRjQ1MDAyMTIxMjEyMjIyMjIyMzIzMjQyNDI1MjUyNjI2MjcyNzYxCi06MTAwRjU1MDAyODI4MjkyOTJBMkEyQjJCMkMyQzJEMkQyRTJFMkYyRkQ0Ci06MTAwRjY1MDAzMDMwMzEzMTMyMzIzMzMzMzQzNDM1MzUzNjM2MzczNzQ0Ci06MTAwRjc1MDAzODM4MzkzOTNBM0EzQjNDM0QzRTNGNDA0MTQyNDM0NDlCCi06MTAwRjg1MDA0NTQ2NDc0ODQ5NDk0QTRCNEI0QzRENEU0RjUwNTE1MkE3Ci06MTAwRjk1MDA1MzU0NTU1NTU2NTY1NzU3NTg1QTVCNUQ1RTVGNjE2MkI3Ci06MTAwRkE1MDA2MzY0NjU2NjY3Njg2OTZBNkI2QzZENkY3MTcyNzM3NDhCCi06MTAwRkI1MDA3NTc2Nzc3ODc5N0E3QjdDN0U4MDAxMzcwMTAxMzgwMEY4Ci06MTA0QUM0MDBFNDkwNzIzNkYwQTNGMDkwN0Y5N0UwNTRGQkYwRTQ5MDBBCi06MTA0QUQ0MDA3MjMzRjA5MDcyMzJGMDkwNzIwMTA0RjBFNDkwNzIzMzA5Ci06MTA0QUU0MDBGMDkwNzIzMkYwOTA3MjAxMDRGMDkwN0Y5N0UwNDQwNEU5Ci06MDI0QUY0MDBGMDIyQUUKLToxMDMyNkYwMDkwNzYxOEUwRkY2NDA1NzA0MjkwNzVBQkUwQjQwMTE5RDkKLToxMDMyN0YwMDkwNzIzNzc0MDFGMEU0OTA4MDIwRjA5MDgwMzFGMDkwREMKLToxMDMyOEYwMDgwMjhGMDkwODAzOUYwODAyMkU0OTA3MjM3RjA5MDc1QUEKLToxMDMyOUYwMEFERTA5MDcyMkJGMEUwMjQ4MEYwRTA5MDgwMjBGMDkwNzEKLToxMDMyQUYwMDgwMzFGMDkwODAyOEYwOTA4MDM5RjBFRjY0MDY2MDAyNTIKLToxMDMyQkYwMDgxOTk5MDcyMzk3NDA0RjA5MDcyMzlFMEZGMjRGRTkwNzYKLToxMDMyQ0YwMDcyMDRGMEVGNzVGMDBBQTQyNEFCRjU4MkU0MzQ3NUY1QkYKLToxMDMyREYwMDgzRTA2NDAxNzA1NDkwNzIzNjA0RjA5MDcyMDRFMEZGNDIKLToxMDMyRUYwMDI0RkQ2MDI4MjRGRTYwMjQyNDAzMjRGQjUwMDQ2MDFDNkEKLToxMDMyRkYwMDgxOEM3NDIwMkZGNTgyRTQzNDgwRjU4M0U0RjA3NDI4RjgKLToxMDMzMEYwMDJGRjU4MkU0MzQ4MEY1ODNFNEYwODE4QzkwNzIwNEUwMzEKLToxMDMzMUYwMEZGMjQzMEY1ODJFNDM0ODBGNTgzRTRGMDc0MzgyRkY1MjAKLToxMDMzMkYwMDgyRTQzNDgwRjU4M0U0RjA4MThDRTQ5MDcyMzZGMDkwN0YKLToxMDMzM0YwMDcyMzlFMDc1RjAwQUE0MjRBREY1ODJFNDM0NzVGNTgzOTMKLToxMDMzNEYwMEUwRkY3RTAwOTA3NTBDRUVGMEEzRUZGMDcwMDY5MDcyMjgKLToxMDMzNUYwMDAyNzQzQkYwOTA3NTBDRTBGRUEzRTBGRjY0ODA0RTcwQUEKLToxMDMzNkYwMDA0OTA3MjAyRjBFRjRFNzAwMjgxMzVFRjY0ODA0RTcwNjAKLToxMDMzN0YwMDAyODEzNUVGRjhFNDkwNzUwREYwRTg5MDc1MENGMDkwNDAKLToxMDMzOEYwMDcyMzRFMDc1RjAwQUE0MjRBQ0Y1ODJFNDM0NzVGNTgzNDkKLToxMDMzOUYwMEUwRkY5MDcyMDJGMDkwNzUwREUwMkZGMDkwNzUwQ0UwNDkKLToxMDMzQUYwMDM0MDBGMEUwRkVBM0UwRkZFNEZDRkQ3QkQ2N0FBNUY5NDQKLToxMDMzQkYwMEY4RDMxMjM3OTU0MDBBOTA3NTBDNzRBNUYwQTM3NEQ2MDQKLToxMDMzQ0YwMEYwOTA3NTBERTAyNDJBRjA5MDc1MENFMDM0NUFGMEUwN0YKLToxMDMzREYwMEZFQTNFMDc4MDVDRUEyRTcxM0NFMTNEOEY4RkY5MDc1QzEKLToxMDMzRUYwMDBDRUVGMEEzRUZGMDkwNzIyQ0VFRjBBM0VGRjBEMzk0NkQKLToxMDMzRkYwMEQyRUU2NDgwOTQ4MjQwMEE5MDcyMkM3NDAyRjBBMzc0MEYKLToxMDM0MEYwMEQyRjBDMzkwNzIyQ0UwNjQ4MDk0ODA1MDA0RTRGMEEzNTcKLToxMDM0MUYwMEYwOTA3MjJDRTBGRUEzRTAyNDNBRjU4MkVFMzQ3MkY1QzAKLToxMDM0MkYwMDgzRTA5MDcyMDJGMDkwNzIwNEUwRkYyNEZENjAyRDI0N0YKLToxMDM0M0YwMEZFNjAyOTI0MDMyNEZCNTAwNDYwMjE4MDQwOTA3MjAyMTcKLToxMDM0NEYwMEUwRkU3NDIwMkZGNTgyRTQzNDgwRjU4M0VFRjA3NDI4Q0IKLToxMDM0NUYwMDJGRjU4MkU0MzQ4MEY1ODNFRUYwODAyMTkwNzIwMkUwNDQKLToxMDM0NkYwMEZGOTA3MjA0RTBGRTI0MzBGNTgyRTQzNDgwRjU4M0VGQTAKLToxMDM0N0YwMEYwNzQzODJFRjU4MkU0MzQ4MEY1ODNFRkYwOTA3MjM5RDIKLTowQjM0OEYwMEUwMDRGMEUwNjQwQTYwMDI0MUM3MjI4NAotOjEwMzQ5QTAwOTA3NjE4RTBGRkI0MDUyMzkwNzIzN0UwNzAxRDkwNzU5RQotOjEwMzRBQTAwQURFMDkwNzIyQkYwRTAyNDgwRjBFMDkwODAyMEYwOTA2NAotOjEwMzRCQTAwODAzMUYwOTA4MDI4RjA5MDgwMzlGMEVGNjQwNjYwMDI0NQotOjEwMzRDQTAwQzE5MTkwNzIzNkUwNjAwMkMxOTE5MDc2NDBFMDcwMzEwRAotOjEwMzREQTAwOTA3MjAzNzQwM0YwOTA3MjAzRTBGRjc1RjAwQUE0MjQ1QgotOjEwMzRFQTAwQUFGNTgyRTQzNDc1RjU4M0UwRkU5MDcyMjlFMEZERUVEOAotOjEwMzRGQTAwNkQ2MDBFRUZDMzk0MEE1MDA4OTA3MjAzRTAwNEYwODBFNgotOjEwMzUwQTAwRDU5MDcyMzk3NDA0RjA5MDc2NDBFMDcwMDg5MDcyMDM5NgotOjEwMzUxQTAwRTA5MDcyMzlGMDkwNzIzOUUwRkQyNEZFOTA3MjJBRjA0MAotOjEwMzUyQTAwRUQ3NUYwMEFBNDI0QURGNTgyRTQzNDc1RjU4M0UwRkY2NQotOjEwMzUzQTAwN0UwMDkwNzUwQ0VFRjBBM0VGRjA3MDA2OTA3MjAyNzRBNAotOjEwMzU0QTAwODBGMDkwNzUwQ0UwRkVBM0UwRkY2NDgwNEU3MDA0OTA1QQotOjEwMzU1QTAwNzIwMkYwRUY0RTcwMDJDMTFCRUY2NDgwNEU3MDAyQzExRQotOjEwMzU2QTAwMUJFRkY4RTQ5MDc1MERGMEU4OTA3NTBDRjBFRDc1RjAyRQotOjEwMzU3QTAwMEFBNDI0QUNGNTgyRTQzNDc1RjU4M0UwRkY5MDcyMDI2NAotOjEwMzU4QTAwRjA5MDc1MERFMDJGRjA5MDc1MENFMDM0MDBGMEUwRkUzRAotOjEwMzU5QTAwQTNFMEZGRTRGQ0ZEN0JENjdBQTVGOUY4RDMxMjM3OTVCMAotOjEwMzVBQTAwNDAwQTkwNzUwQzc0QTVGMEEzNzRENkYwOTA3NTBERTBERQotOjEwMzVCQTAwMjQyQUYwOTA3NTBDRTAzNDVBRjBFMEZFQTNFMDc4MDU3NgotOjEwMzVDQTAwQ0VBMkU3MTNDRTEzRDhGOEZGOTA3NTBDRUVGMEEzRUY1NgotOjEwMzVEQTAwRjA5MDcyMkNFRUYwQTNFRkYwRDM5NEQyRUU2NDgwOTRDNAotOjEwMzVFQTAwODI0MDBBOTA3MjJDNzQwMkYwQTM3NEQyRjBDMzkwNzJEMwotOjEwMzVGQTAwMkNFMDY0ODA5NDgwNTAwNEU0RjBBM0YwOTA3MjJDRTBGNAotOjEwMzYwQTAwRkVBM0UwMjQzQUY1ODJFRTM0NzJGNTgzRTA5MDcyMDI2QQotOjEwMzYxQTAwRjA5MDcyMkFFMEZGMjRGRDYwMkQyNEZFNjAyOTI0MDMyNQotOjEwMzYyQTAwMjRGQjUwMDQ2MDIxODA0MDkwNzIwMkUwRkU3NDIwMkYzNwotOjEwMzYzQTAwRjU4MkU0MzQ4MEY1ODNFRUYwNzQyODJGRjU4MkU0MzRDMQotOjEwMzY0QTAwODBGNTgzRUVGMDgwMjE5MDcyMDJFMEZGOTA3MjJBRTAwQQotOjEwMzY1QTAwRkUyNDMwRjU4MkU0MzQ4MEY1ODNFRkYwNzQzODJFRjVEOQotOjEwMzY2QTAwODJFNDM0ODBGNTgzRUZGMDkwNzY0MEUwNzAwNjkwNzI0MQotOjEwMzY3QTAwMzk3NDBBRjA5MDcyMzlFMDA0RjBFMEMzOTQwQTUwMDJGNwotOjA4MzY4QTAwQTExMUU0OTA3NjQwRjAyMjRBCi06MDQ0RDk3MDAxMjE3MzAyMjlECi06MTA0OTU4MDA5MDc2NDY3NDgwRjBFNEEzRjBBM0YwQTNGMEEzRjBBMzRDCi06MTA0OTY4MDBGMEEzRjBBM0YwQTNGMEEzNzQ4MEYwRTRBM0YwQTNGMDA1Ci06MTA0OTc4MDBBM0YwQTNGMEEzRjBBM0YwQTM3NDQwRjBFNEEzRjBBMzgyCi06MTA0OTg4MDA3NDQwRjBFNEEzRjBBM0YwQTNGMEEzRjBBM0YwQTNGMDI1Ci06MTA0OTk4MDBBMzc0NDBGMEU0QTNGMEEzNzQ0MEYwRTRBM0YwQTNGMDAwCi06MDU0OUE4MDBBM0YwQTNGMDIyQzIKLToxMDBGQzYwMEU0RkY3NDQ2MkZGNTgyRTQzNDc2RjU4M0UwRkU3NDIwNjAKLToxMDBGRDYwMDJGRjU4MkU0MzQ4MEY1ODNFRUYwNzQ0RTJGRjU4MkU0MkIKLToxMDBGRTYwMDM0NzZGNTgzRTBGRTc0MzAyRkY1ODJFNDM0ODBGNTgzQTEKLTowNjBGRjYwMEVFRjAwRkJGMDhDQzc1Ci06MDEwRkZDMDAyMkQyCi06MTA0QThEMDBFNEZGNzQ1NjJGRjU4MkU0MzQ3NkY1ODNFMEZFNzQyODQ2Ci06MTA0QTlEMDAyRkY1ODJFNDM0ODBGNTgzRUVGMDc0NUUyRkY1ODJFNDE5Ci06MTA0QUFEMDAzNDc2RjU4M0UwRkU3NDM4MkZGNTgyRTQzNDgwRjU4Mzk3Ci06MDY0QUJEMDBFRUYwMEZCRjA4Q0M3MwotOjAxNEFDMzAwMjJEMAotOjEwMTczMDAwQzA4MkMwODNDMEUwRThDMEUwNzg3OEU4MTRGODcwRkJBRAotOjBBMTc0MDAwRDBFMEY4RDBFMEQwODNEMDgyMjI4MAotOjAzMDA0MzAwMDI0OTAwNkYKLToxMDQ5MDAwMDAyMkZFNzAwMDIzRDQ3MDAwMjRENDYwMDAyNEJENTAwNTIKLToxMDQ5MTAwMDAyNEI2MDAwMDIyRkZGMDAwMjRCRUQwMDAyNEI4MTAwQjIKLToxMDQ5MjAwMDAyNEMwNDAwMDIzRkQ1MDAwMjRDMUIwMDAyNEMzMjAwMzYKLToxMDQ5MzAwMDAyNEM0OTAwMDI0QzYwMDAwMjRDNzcwMDAyNEM4RTAwOTEKLToxMDQ5NDAwMDAyNENBNTAwMDI0Q0JDMDAwMjRDRDMwMDAyNENFQTAwMTEKLTowODQ5NTAwMDAyNEQwMTAwMDI0RDE4MDBBOAotOjEwMUI0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5NQotOjEwMUI1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NQotOjEwMUI2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3NQotOjEwMUI3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NQotOjEwMUI4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NQotOjEwMUI5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NQotOjEwMUJBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzNQotOjEwMUJCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNQotOjEwMUJDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNQotOjEwMUJEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNQotOjEwMUJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGNQotOjEwMUJGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNQotOjEwMUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENAotOjEwMUMxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNAotOjEwMUMyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCNAotOjEwMUMzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNAotOjEwMUM0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5NAotOjEwMUM1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NAotOjEwMUM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3NAotOjEwMUM3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NAotOjEwMUM4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NAotOjEwMUM5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NAotOjEwMUNBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzNAotOjEwMUNCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNAotOjEwMUNDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNAotOjEwMUNEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNAotOjEwMUNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGNAotOjEwMUNGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNAotOjEwMUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMwotOjEwMUQxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMwotOjEwMUQyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMwotOjEwMUQzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMwotOjEwMUQ0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MwotOjEwMUQ1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MwotOjEwMUQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MwotOjEwMUQ3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MwotOjEwMUQ4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MwotOjEwMUQ5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MwotOjEwMURBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMwotOjEwMURCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMwotOjEwMURDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMwotOjEwMUREMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMwotOjEwMURFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMwotOjEwMURGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMwotOjEwMUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMgotOjEwMUUxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMgotOjEwMUUyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMgotOjEwMUUzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMgotOjEwMUU0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MgotOjEwMUU1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MgotOjEwMUU2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MgotOjEwMUU3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MgotOjEwMUU4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MgotOjEwMUU5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MgotOjEwMUVBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMgotOjBFMUVCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI0Ci06MTAxRUJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE0Ci06MTAxRUNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0Ci06MTAxRURFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY0Ci06MTAxRUVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU0Ci06MTAxRUZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ0Ci06MTAxRjBFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMzCi06MTAxRjFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIzCi06MTAxRjJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEzCi06MDIxRjNFMDAwMDAwQTEKLToxMDFGNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTEKLToxMDFGNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODEKLToxMDFGNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzEKLToxMDFGNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjEKLToxMDFGODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTEKLToxMDFGOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDEKLToxMDFGQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzEKLToxMDFGQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjEKLToxMDFGQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTEKLToxMDFGRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEKLToxMDFGRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjEKLToxMDFGRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTEKLToxMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDAKLToxMDIwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzAKLToxMDIwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjAKLToxMDIwMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTAKLToxMDIwNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTAKLToxMDIwNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODAKLToxMDIwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzAKLToxMDIwNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjAKLToxMDIwODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTAKLToxMDIwOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDAKLToxMDIwQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzAKLToxMDIwQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjAKLToxMDIwQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAKLToxMDIwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLToxMDIwRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjAKLToxMDIwRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTAKLToxMDIxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0YKLToxMDIxMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkYKLToxMDIxMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUYKLToxMDIxMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUYKLToxMDIxNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEYKLToxMDIxNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0YKLToxMDIxNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkYKLToxMDIxNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUYKLToxMDIxODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEYKLToxMDIxOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0YKLToxMDIxQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkYKLToxMDIxQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUYKLToxMDIxQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYKLToxMDIxRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkYKLToxMDIxRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUYKLToxMDIxRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREYKLToxMDIyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0UKLToxMDIyMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkUKLToxMDIyMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUUKLToxMDIyMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUUKLToxMDIyNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEUKLToxMDIyNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0UKLToxMDIyNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkUKLToxMDIyNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUUKLToxMDIyODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEUKLToxMDIyOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0UKLToxMDIyQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkUKLToxMDIyQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUUKLToxMDIyQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUKLToxMDIyRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkUKLToxMDIyRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUUKLToxMDIyRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREUKLToxMDIzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0QKLToxMDIzMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkQKLToxMDIzMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUQKLToxMDIzMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUQKLToxMDIzNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEQKLToxMDIzNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0QKLToxMDIzNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkQKLTowRTIzNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RgotOjEwMjM3RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RgotOjEwMjM4RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRgotOjEwMjM5RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRgotOjEwMjNBRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRgotOjEwMjNCRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRgotOjEwMjNDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRgotOjEwMjNERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRgotOjEwMjNFRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERgotOjEwMjNGRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRgotOjEwMjQwRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRQotOjEwMjQxRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRQotOjEwMjQyRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RQotOjEwMjQzRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RQotOjEwMjQ0RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RQotOjEwMjQ1RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2RQotOjEwMjQ2RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RQotOjEwMjQ3RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RQotOjEwMjQ4RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRQotOjEwMjQ5RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRQotOjEwMjRBRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRQotOjEwMjRCRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRQotOjEwMjRDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRQotOjEwMjRERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRQotOjEwMjRFRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERQotOjEwMjRGRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRQotOjEwMjUwRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRAotOjEwMjUxRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRAotOjEwMjUyRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RAotOjEwMjUzRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RAotOjEwMjU0RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RAotOjEwMjU1RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2RAotOjEwMjU2RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RAotOjEwMjU3RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RAotOjEwMjU4RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRAotOjEwMjU5RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRAotOjEwMjVBRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRAotOjEwMjVCRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRAotOjEwMjVDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRAotOjEwMjVERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRAotOjEwMjVFRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERAotOjEwMjVGRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRAotOjEwMjYwRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCQwotOjEwMjYxRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBQwotOjEwMjYyRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5QwotOjEwMjYzRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4QwotOjEwMjY0RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3QwotOjEwMjY1RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2QwotOjEwMjY2RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1QwotOjEwMjY3RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0QwotOjEwMjY4RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzQwotOjEwMjY5RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyQwotOjEwMjZBRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxQwotOjEwMjZCRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQwotOjEwMjZDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGQwotOjEwMjZERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFQwotOjBFMjZFRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERFCi06MTAyNkZDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENFCi06MTAyNzBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJECi06MTAyNzFDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFECi06MTAyNzJDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlECi06MTAyNzNDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhECi06MTAyNzRDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdECi06MTAyNzVDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZECi06MTAyNzZDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVECi06MTAyNzdDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRECi06MTAyNzhDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNECi06MTAyNzlDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJECi06MTAyN0FDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFECi06MTAyN0JDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBECi06MTAyN0NDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZECi06MTAyN0RDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVECi06MTAyN0VDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERECi06MDUyN0ZDMDAwMDAwMDAwMDIyQjYKLTowNzE3NEEwMDkwN0ZDNTc0MDJGMDIyM0MKLToxMDE3NTEwMDkwN0VDMEUwOTA3NjQ1RjA5MDdFQzFFMDkwNzY0NEYwQjYKLToxMDE3NjEwMDkwN0VDMkUwOTA3NjQzRjBCNDAwMDMwMjE3Nzg5MDc2NDEKLToxMDE3NzEwMDE5NzQwM0YwMDIxNzhFOTA3NjQ0RTBCNEJCMDk5MDc2OTkKLToxMDE3ODEwMDE5NzQwMkYwMDIxNzhFOTA3NjE5NzQwMUYwOTA3NjQyNjYKLTowMzE3OTEwMEU0RjAyMjVGCi06MDMwMDAwMDAwMjQ1RjlCRAotOjBDNDVGOTAwNzg3RkU0RjZEOEZENzU4MTM4MDI0NjQwNUEKLToxMDM2OTIwMEJCMDEwNjg5ODI4QTgzRTAyMjUwMDJFNzIyQkJGRTAyMzYKLTowOTM2QTIwMEUzMjI4OTgyOEE4M0U0OTMyMjY5Ci06MTAzNkFCMDBCQjAxMENFNTgyMjlGNTgyRTU4MzNBRjU4M0UwMjI1MEQ0Ci06MTAzNkJCMDAwNkU5MjU4MkY4RTYyMkJCRkUwNkU5MjU4MkY4RTIyMjFFCi06MEQzNkNCMDBFNTgyMjlGNTgyRTU4MzNBRjU4M0U0OTMyMjM4Ci06MTAzNkQ4MDBDMkQ1RUMzMEU3MDlCMkQ1RTRDMzlERkRFNDlDRkNFRTBECi06MTAzNkU4MDAzMEU3MTVCMkQ1RTRDMzlGRkZFNDlFRkUxMjM4MUZDMzJFCi06MTAzNkY4MDBFNDlERkRFNDlDRkM4MDAzMTIzODFGMzBENTA3QzNFNDI5Ci06MDYzNzA4MDA5RkZGRTQ5RUZFMjI3QgotOjEwMzcwRTAwQkIwMTEwRTU4MjI5RjU4MkU1ODMzQUY1ODNFMEY1RjBGOQotOjEwMzcxRTAwQTNFMDIyNTAwOUU5MjU4MkY4ODZGMDA4RTYyMkJCRkVENgotOjEwMzcyRTAwMEFFOTI1ODJGOEUyRjVGMDA4RTIyMkU1ODMyQUY1ODMxQwotOjA4MzczRTAwRTk5M0Y1RjBBM0U5OTMyMkUxCi06MTAzNzQ2MDBFODhGRjBBNENDOEJGMEE0MkNGQ0U5OEVGMEE0MkNGQzIyCi06MTAzNzU2MDA4QUYwRURBNDJDRkNFQThFRjBBNENEQThGMDhCRjBBNEEwCi06MTAzNzY2MDAyRENDMzgyNUYwRkRFOThGRjBBNDJDQ0QzNUYwRkNFQkZGCi06MTAzNzc2MDA4RUYwQTRGRUE5RjBFQjhGRjBBNENGQzVGMDJFQ0QzOUM0Ci06MEYzNzg2MDBGRUU0M0NGQ0VBQTQyRENFMzVGMEZERTQzQ0ZDMjIzMQotOjEwMzc5NTAwRUI5RkY1RjBFQTlFNDJGMEU5OUQ0MkYwRUM2NDgwQzhBQgotOjA2MzdBNTAwNjQ4MDk4NDVGMDIyNEIKLToxMDM3QUIwMEVCOUZGNUYwRUE5RTQyRjBFOTlENDJGMEU4OUM0NUYwNzQKLTowMTM3QkIwMDIyRUIKLTowQzM3QkMwMEVDRjBBM0VERjBBM0VFRjBBM0VGRjAyMjgwCi06MTAzN0M4MDBBODgyODU4M0YwRDA4M0QwODIxMjM3REYxMjM3REYxMkM4Ci06MTAzN0Q4MDAzN0RGMTIzN0RGRTQ3M0U0OTNBM0M1ODNDNUYwQzU4M0VECi06MTAzN0U4MDBDOEM1ODJDOEYwQTNDNTgzQzVGMEM1ODNDOEM1ODJDODRCCi06MDEzN0Y4MDAyMkFFCi06MTAzN0Y5MDBEMDgzRDA4MkY4RTQ5MzcwMTI3NDAxOTM3MDBEQTNBMzVGCi06MTAzODA5MDA5M0Y4NzQwMTkzRjU4Mjg4ODNFNDczNzQwMjkzNjg2MDcyCi06MDYzODE5MDBFRkEzQTNBMzgwREY3MgotOjEwNDYwNTAwMDI0NzVBRTQ5M0EzRjhFNDkzQTM0MDAzRjY4MDAxRjIyQQotOjEwNDYxNTAwMDhERkY0ODAyOUU0OTNBM0Y4NTQwNzI0MENDOEMzMzNCNgotOjEwNDYyNTAwQzQ1NDBGNDQyMEM4ODM0MDA0RjQ1NjgwMDE0NkY2REY4NQotOjEwNDYzNTAwRTQ4MDBCMDEwMjA0MDgxMDIwNDA4MDkwMEM4RkU0N0U3QQotOjEwNDY0NTAwMDE5MzYwQkNBM0ZGNTQzRjMwRTUwOTU0MUZGRUU0OTM3QQotOjEwNDY1NTAwQTM2MDAxMEVDRjU0QzAyNUUwNjBBODQwQjhFNDkzQTM0MQotOjEwNDY2NTAwRkFFNDkzQTNGOEU0OTNBM0M4QzU4MkM4Q0FDNTgzQ0E2QwotOjEwNDY3NTAwRjBBM0M4QzU4MkM4Q0FDNTgzQ0FERkU5REVFNzgwQkUyNAotOjAxMEZDNTAwMDAyQgotOjEwMzgxRjAwQkMwMDBCQkUwMDI5RUY4REYwODRGRkFERjAyMkU0Q0M4RAotOjEwMzgyRjAwRjg3NUYwMDhFRjJGRkZFRTMzRkVFQzMzRkNFRTlERUM1NgotOjEwMzgzRjAwOTg0MDA1RkNFRTlERkUwRkQ1RjBFOUU0Q0VGRDIyRUQ5QwotOjEwMzg0RjAwRjhGNUYwRUU4NDIwRDIxQ0ZFQURGMDc1RjAwOEVGMkZFNgotOjEwMzg1RjAwRkZFRDMzRkQ0MDA3OTg1MDA2RDVGMEYyMjJDMzk4RkRENwotOjA1Mzg2RjAwMEZENUYwRUEyMjc0Ci06MDAwMDAwMDFGRgotKi8KLS8qCi1WRVJTSU9OPTEuMDQuMDYyCi1EQVRFPTE2LjEwLjIwMDIgIAotKi8KLXN0YXRpYyBJTlRFTF9IRVhfUkVDT1JEIGdfZW1pNjJfbG9hZGVyW10gPSB7Ci0geyAzLDB4MDAwMCwwLHsweDAyLDB4MDIsMHg4N319LAotIHsgMywweDAwNDMsMCx7MHgwMiwweDA0LDB4MDB9fSwKLSB7MTYsMHgwMTAwLDAsezB4ZTQsMHhmZiwweGZlLDB4YzIsMHgyMCwweGQyLDB4ZTgsMHg0MywweGQ4LDB4MjAsMHg5MCwweDdmLDB4YWIsMHg3NCwweGZmLDB4ZjB9fSwKLSB7MTYsMHgwMTEwLDAsezB4OTAsMHg3ZiwweGE5LDB4ZjAsMHg5MCwweDdmLDB4YWEsMHhmMCwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHg5NSwweDc0LDB4YzB9fSwKLSB7MTYsMHgwMTIwLDAsezB4ZjAsMHg5MCwweDdmLDB4OWUsMHhmMCwweDkwLDB4N2YsMHg5OCwweGYwLDB4ZTQsMHg5MCwweDdmLDB4OTQsMHhmMCwweDkwLDB4N2Z9fSwKLSB7MTYsMHgwMTMwLDAsezB4OWQsMHg3NCwweGZmLDB4ZjAsMHg5MCwweDdmLDB4OTcsMHg3NCwweGEwLDB4ZjAsMHg5MCwweDdmLDB4OTMsMHhlMCwweDU0LDB4ZmN9fSwKLSB7MTYsMHgwMTQwLDAsezB4ZjAsMHg5MCwweDdmLDB4OWMsMHg3NCwweDAzLDB4ZjAsMHhlNCwweDkwLDB4N2YsMHg5NiwweGYwLDB4OTAsMHg3ZiwweGFmLDB4ZTB9fSwKLSB7MTYsMHgwMTUwLDAsezB4NDQsMHgwMSwweGYwLDB4OTAsMHg3ZiwweGFlLDB4ZTAsMHg0NCwweDBkLDB4ZjAsMHhkMiwweGFmLDB4MGYsMHhiZiwweDAwLDB4MDF9fSwKLSB7MTYsMHgwMTYwLDAsezB4MGUsMHhiZSwweDA3LDB4ZjgsMHhiZiwweDA4LDB4ZjUsMHgyMCwweDIwLDB4NDIsMHg3NSwweDE0LDB4MDAsMHg3NSwweDEzLDB4MDB9fSwKLSB7MTYsMHgwMTcwLDAsezB4NzUsMHgxMiwweDAwLDB4NzUsMHgxMSwweDAwLDB4N2YsMHg0OCwweDdlLDB4OTIsMHg3ZCwweDAwLDB4N2MsMHgwMCwweGFiLDB4MTR9fSwKLSB7MTYsMHgwMTgwLDAsezB4YWEsMHgxMywweGE5LDB4MTIsMHhhOCwweDExLDB4YzMsMHgxMiwweDAzLDB4ZWQsMHg1MCwweGRiLDB4MjAsMHgyMCwweGQ4LDB4N2F9fSwKLSB7MTYsMHgwMTkwLDAsezB4MDAsMHg3OSwweDAwLDB4NzgsMHgwMCwweGU1LDB4MTQsMHgyNCwweDAxLDB4ZjUsMHgxNCwweGVhLDB4MzUsMHgxMywweGY1LDB4MTN9fSwKLSB7MTYsMHgwMWEwLDAsezB4ZTksMHgzNSwweDEyLDB4ZjUsMHgxMiwweGU4LDB4MzUsMHgxMSwweGY1LDB4MTEsMHg4MCwweGNhLDB4MzAsMHgyMCwweGZkLDB4MTJ9fSwKLSB7MTYsMHgwMWIwLDAsezB4MDEsMHhjNywweDUwLDB4MDcsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDR9fSwKLSB7IDYsMHgwMWMwLDAsezB4MDIsMHhmMCwweGMyLDB4MjAsMHg4MCwweGU2fX0sCi0geyAxLDB4MDFjNiwwLHsweDIyfX0sCi0gezE2LDB4MDFjNywwLHsweDkwLDB4N2YsMHhlOSwweGUwLDB4MjQsMHg1YiwweDYwLDB4NjAsMHgyNCwweDAyLDB4NjAsMHgwMywweDAyLDB4MDIsMHg4NSwweDkwfX0sCi0gezE2LDB4MDFkNywwLHsweDdmLDB4ZWEsMHhlMCwweDc1LDB4MGEsMHgwMCwweGY1LDB4MGIsMHhhMywweGUwLDB4ZmUsMHhlNCwweGVlLDB4NDIsMHgwYSwweDkwfX0sCi0gezE2LDB4MDFlNywwLHsweDdmLDB4ZWUsMHhlMCwweDc1LDB4MTUsMHgwMCwweGY1LDB4MTYsMHhhMywweGUwLDB4ZmUsMHhlNCwweGVlLDB4NDIsMHgxNSwweGU1fX0sCi0gezE2LDB4MDFmNywwLHsweDE2LDB4NDUsMHgxNSwweDcwLDB4MDMsMHgwMiwweDAyLDB4ODUsMHhlNCwweDkwLDB4N2YsMHhjNSwweGYwLDB4OTAsMHg3ZiwweGI0fX0sCi0gezE2LDB4MDIwNywwLHsweGUwLDB4MjAsMHhlMywweGY5LDB4OTAsMHg3ZiwweGM1LDB4ZTAsMHhmNSwweDBjLDB4MTIsMHgwMywweDEzLDB4YWYsMHgwYywweDdlfX0sCi0gezE2LDB4MDIxNywwLHsweDAwLDB4ZWYsMHgyNSwweDBiLDB4ZjUsMHgwYiwweGVlLDB4MzUsMHgwYSwweGY1LDB4MGEsMHhjMywweGU1LDB4MTYsMHg5ZiwweGY1fX0sCi0gezE2LDB4MDIyNywwLHsweDE2LDB4ZTUsMHgxNSwweDllLDB4ZjUsMHgxNSwweDgwLDB4YzcsMHg5MCwweDdmLDB4ZWEsMHhlMCwweDc1LDB4MGEsMHgwMCwweGY1fX0sCi0gezE2LDB4MDIzNywwLHsweDBiLDB4YTMsMHhlMCwweGZlLDB4ZTQsMHhlZSwweDQyLDB4MGEsMHg5MCwweDdmLDB4ZWUsMHhlMCwweDc1LDB4MTUsMHgwMCwweGY1fX0sCi0gezE2LDB4MDI0NywwLHsweDE2LDB4YTMsMHhlMCwweGZlLDB4ZTQsMHhlZSwweDQyLDB4MTUsMHhlNSwweDE2LDB4NDUsMHgxNSwweDYwLDB4MzAsMHhlNCwweDkwfX0sCi0gezE2LDB4MDI1NywwLHsweDdmLDB4YzUsMHhmMCwweDkwLDB4N2YsMHhiNCwweGUwLDB4MjAsMHhlMywweGY5LDB4OTAsMHg3ZiwweGM1LDB4ZTAsMHhmNSwweDBjfX0sCi0gezE2LDB4MDI2NywwLHsweDEyLDB4MDMsMHgyYiwweGFmLDB4MGMsMHg3ZSwweDAwLDB4ZWYsMHgyNSwweDBiLDB4ZjUsMHgwYiwweGVlLDB4MzUsMHgwYSwweGY1fX0sCi0gezE1LDB4MDI3NywwLHsweDBhLDB4YzMsMHhlNSwweDE2LDB4OWYsMHhmNSwweDE2LDB4ZTUsMHgxNSwweDllLDB4ZjUsMHgxNSwweDgwLDB4Y2EsMHhjM319LAotIHsgMSwweDAyODYsMCx7MHgyMn19LAotIHsxMiwweDAyODcsMCx7MHg3OCwweDdmLDB4ZTQsMHhmNiwweGQ4LDB4ZmQsMHg3NSwweDgxLDB4MjksMHgwMiwweDAyLDB4Y2V9fSwKLSB7MTYsMHgwMjkzLDAsezB4MDIsMHgwMSwweDAwLDB4ZTQsMHg5MywweGEzLDB4ZjgsMHhlNCwweDkzLDB4YTMsMHg0MCwweDAzLDB4ZjYsMHg4MCwweDAxLDB4ZjJ9fSwKLSB7MTYsMHgwMmEzLDAsezB4MDgsMHhkZiwweGY0LDB4ODAsMHgyOSwweGU0LDB4OTMsMHhhMywweGY4LDB4NTQsMHgwNywweDI0LDB4MGMsMHhjOCwweGMzLDB4MzN9fSwKLSB7MTYsMHgwMmIzLDAsezB4YzQsMHg1NCwweDBmLDB4NDQsMHgyMCwweGM4LDB4ODMsMHg0MCwweDA0LDB4ZjQsMHg1NiwweDgwLDB4MDEsMHg0NiwweGY2LDB4ZGZ9fSwKLSB7MTYsMHgwMmMzLDAsezB4ZTQsMHg4MCwweDBiLDB4MDEsMHgwMiwweDA0LDB4MDgsMHgxMCwweDIwLDB4NDAsMHg4MCwweDkwLDB4MDQsMHg2ZSwweGU0LDB4N2V9fSwKLSB7MTYsMHgwMmQzLDAsezB4MDEsMHg5MywweDYwLDB4YmMsMHhhMywweGZmLDB4NTQsMHgzZiwweDMwLDB4ZTUsMHgwOSwweDU0LDB4MWYsMHhmZSwweGU0LDB4OTN9fSwKLSB7MTYsMHgwMmUzLDAsezB4YTMsMHg2MCwweDAxLDB4MGUsMHhjZiwweDU0LDB4YzAsMHgyNSwweGUwLDB4NjAsMHhhOCwweDQwLDB4YjgsMHhlNCwweDkzLDB4YTN9fSwKLSB7MTYsMHgwMmYzLDAsezB4ZmEsMHhlNCwweDkzLDB4YTMsMHhmOCwweGU0LDB4OTMsMHhhMywweGM4LDB4YzUsMHg4MiwweGM4LDB4Y2EsMHhjNSwweDgzLDB4Y2F9fSwKLSB7MTYsMHgwMzAzLDAsezB4ZjAsMHhhMywweGM4LDB4YzUsMHg4MiwweGM4LDB4Y2EsMHhjNSwweDgzLDB4Y2EsMHhkZiwweGU5LDB4ZGUsMHhlNywweDgwLDB4YmV9fSwKLSB7MTYsMHgwMzEzLDAsezB4ZTUsMHgwYywweGZmLDB4ZTUsMHgwYiwweGY1LDB4ODIsMHhlNSwweDBhLDB4ZjUsMHg4MywweDc1LDB4OTIsMHg3ZSwweDc0LDB4YzB9fSwKLSB7IDgsMHgwMzIzLDAsezB4ZjgsMHhlMiwweDA4LDB4ZjAsMHhhMywweGRmLDB4ZmEsMHgyMn19LAotIHsxNiwweDAzMmIsMCx7MHg5MCwweDdmLDB4OTYsMHg4NSwweDgzLDB4OTIsMHhhOCwweDgyLDB4NzksMHgwMiwweDkwLDB4MDAsMHgwMCwweGUwLDB4YjQsMHgwMH19LAotIHsxNiwweDAzM2IsMCx7MHgwZCwweDc0LDB4MDEsMHhmMCwweDkwLDB4N2YsMHg5NywweGUwLDB4NTQsMHg3ZiwweGYwLDB4NDQsMHg4MCwweGYwLDB4ZTUsMHgwY319LAotIHsxNiwweDAzNGIsMCx7MHhmZiwweDkwLDB4N2UsMHhjMCwweGUwLDB4ZjUsMHgyOCwweGU0LDB4YTIsMHg0NywweDMzLDB4ZjIsMHg2OSwweGYyLDB4ZTQsMHhhMn19LAotIHsxNiwweDAzNWIsMCx7MHg0NiwweDMzLDB4ZjIsMHg2OSwweGYyLDB4ZTQsMHhhMiwweDQ1LDB4MzMsMHhmMiwweDY5LDB4ZjIsMHhlNCwweGEyLDB4NDQsMHgzM319LAotIHsxNiwweDAzNmIsMCx7MHhmMiwweDY5LDB4ZjIsMHhlNCwweGEyLDB4NDMsMHgzMywweGYyLDB4NjksMHhmMiwweGU0LDB4YTIsMHg0MiwweDMzLDB4ZjIsMHg2OX19LAotIHsxNiwweDAzN2IsMCx7MHhmMiwweGU0LDB4YTIsMHg0MSwweDMzLDB4ZjIsMHg2OSwweGYyLDB4ZTQsMHhhMiwweDQwLDB4MzMsMHhmMiwweDY5LDB4ZjIsMHhhM319LAotIHsgMywweDAzOGIsMCx7MHhkZiwweGMyLDB4MjJ9fSwKLSB7MTYsMHgwMzhlLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4OTAsMHg3ZiwweGM0LDB4ZTQsMHhmMCwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2Z9fSwKLSB7MTEsMHgwMzllLDAsezB4YWIsMHg3NCwweDA0LDB4ZjAsMHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn19LAotIHsxNiwweDAzYTksMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHhkMiwweDIwLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFiLDB4NzQsMHgwMX19LAotIHsgOCwweDAzYjksMCx7MHhmMCwweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfX0sCi0gezE2LDB4MDNjMSwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYiwweDc0LDB4MDIsMHhmMCwweGQwfX0sCi0geyA2LDB4MDNkMSwwLHsweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn19LAotIHsxNiwweDAzZDcsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWIsMHg3NCwweDEwLDB4ZjAsMHhkMH19LAotIHsgNiwweDAzZTcsMCx7MHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9fSwKLSB7MTYsMHgwM2VkLDAsezB4ZWIsMHg5ZiwweGY1LDB4ZjAsMHhlYSwweDllLDB4NDIsMHhmMCwweGU5LDB4OWQsMHg0MiwweGYwLDB4ZTgsMHg5YywweDQ1LDB4ZjB9fSwKLSB7IDEsMHgwM2ZkLDAsezB4MjJ9fSwKLSB7IDEsMHgwM2ZlLDAsezB4MzJ9fSwKLSB7IDEsMHgwM2ZmLDAsezB4MzJ9fSwKLSB7MTYsMHgwNDAwLDAsezB4MDIsMHgwMywweGE5LDB4MDAsMHgwMiwweDAzLDB4YzEsMHgwMCwweDAyLDB4MDMsMHg4ZSwweDAwLDB4MDIsMHgwNCwweDU4LDB4MDB9fSwKLSB7MTYsMHgwNDEwLDAsezB4MDIsMHgwMywweGQ3LDB4MDAsMHgwMiwweDAzLDB4ZmUsMHgwMCwweDAyLDB4MDMsMHhmZiwweDAwLDB4MDIsMHgwNCwweDg0LDB4MDB9fSwKLSB7MTYsMHgwNDIwLDAsezB4MDIsMHgwNCwweDg1LDB4MDAsMHgwMiwweDA0LDB4ODYsMHgwMCwweDAyLDB4MDQsMHg4NywweDAwLDB4MDIsMHgwNCwweDg4LDB4MDB9fSwKLSB7MTYsMHgwNDMwLDAsezB4MDIsMHgwNCwweDg5LDB4MDAsMHgwMiwweDA0LDB4OGEsMHgwMCwweDAyLDB4MDQsMHg4YiwweDAwLDB4MDIsMHgwNCwweDhjLDB4MDB9fSwKLSB7MTYsMHgwNDQwLDAsezB4MDIsMHgwNCwweDhkLDB4MDAsMHgwMiwweDA0LDB4OGUsMHgwMCwweDAyLDB4MDQsMHg4ZiwweDAwLDB4MDIsMHgwNCwweDkwLDB4MDB9fSwKLSB7IDgsMHgwNDUwLDAsezB4MDIsMHgwNCwweDkxLDB4MDAsMHgwMiwweDA0LDB4OTIsMHgwMH19LAotIHsxNiwweDA0NTgsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWIsMHg3NCwweDA4LDB4ZjAsMHhkMH19LAotIHsgNiwweDA0NjgsMCx7MHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9fSwKLSB7MTYsMHgwNDZlLDAsezB4MDIsMHgwYSwweDAwLDB4MGYsMHgwMSwweDBjLDB4MTEsMHgwNCwweDBkLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MSwweDAwLDB4MDB9fSwKLSB7IDEsMHgwNDdlLDAsezB4MDB9fSwKLSB7IDQsMHgwNDdmLDAsezB4MDIsMHgxNywweDAwLDB4MDB9fSwKLSB7IDEsMHgwNDgzLDAsezB4MDB9fSwKLSB7IDEsMHgwNDg0LDAsezB4MzJ9fSwKLSB7IDEsMHgwNDg1LDAsezB4MzJ9fSwKLSB7IDEsMHgwNDg2LDAsezB4MzJ9fSwKLSB7IDEsMHgwNDg3LDAsezB4MzJ9fSwKLSB7IDEsMHgwNDg4LDAsezB4MzJ9fSwKLSB7IDEsMHgwNDg5LDAsezB4MzJ9fSwKLSB7IDEsMHgwNDhhLDAsezB4MzJ9fSwKLSB7IDEsMHgwNDhiLDAsezB4MzJ9fSwKLSB7IDEsMHgwNDhjLDAsezB4MzJ9fSwKLSB7IDEsMHgwNDhkLDAsezB4MzJ9fSwKLSB7IDEsMHgwNDhlLDAsezB4MzJ9fSwKLSB7IDEsMHgwNDhmLDAsezB4MzJ9fSwKLSB7IDEsMHgwNDkwLDAsezB4MzJ9fSwKLSB7IDEsMHgwNDkxLDAsezB4MzJ9fSwKLSB7IDEsMHgwNDkyLDAsezB4MzJ9fSwKLSB7MTYsMHgxMTAwLDAsezB4MTIsMHgwMSwweDEwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHg0MCwweDZhLDB4MDgsMHgwMSwweDAxLDB4MDAsMHgwMSwweDAxLDB4MDJ9fSwKLSB7MTYsMHgxMTEwLDAsezB4MDAsMHgwMSwweDA5LDB4MDIsMHgyMCwweDAwLDB4MDEsMHgwMSwweDAzLDB4YTAsMHgwMCwweDA5LDB4MDQsMHgwMCwweDAwLDB4MDJ9fSwKLSB7MTYsMHgxMTIwLDAsezB4ZmYsMHgwMCwweDAwLDB4MDQsMHgwNywweDA1LDB4ODIsMHgwMiwweDQwLDB4MDAsMHgwMCwweDA3LDB4MDUsMHgwMiwweDAyLDB4NDB9fSwKLSB7MTYsMHgxMTMwLDAsezB4MDAsMHgwMCwweDA0LDB4MDMsMHgwOSwweDA0LDB4MjYsMHgwMywweDQxLDB4MDAsMHg2ZSwweDAwLDB4NjMsMHgwMCwweDY4LDB4MDB9fSwKLSB7MTYsMHgxMTQwLDAsezB4NmYsMHgwMCwweDcyLDB4MDAsMHgyMCwweDAwLDB4NDMsMHgwMCwweDY4LDB4MDAsMHg2OSwweDAwLDB4NzAsMHgwMCwweDczLDB4MDB9fSwKLSB7MTYsMHgxMTUwLDAsezB4MmMsMHgwMCwweDIwLDB4MDAsMHg0OSwweDAwLDB4NmUsMHgwMCwweDYzLDB4MDAsMHgyZSwweDAwLDB4MjgsMHgwMywweDQ2LDB4MDB9fSwKLSB7MTYsMHgxMTYwLDAsezB4NjksMHgwMCwweDcyLDB4MDAsMHg2ZCwweDAwLDB4NzcsMHgwMCwweDYxLDB4MDAsMHg3MiwweDAwLDB4NjUsMHgwMCwweDIwLDB4MDB9fSwKLSB7MTYsMHgxMTcwLDAsezB4NDYsMHgwMCwweDcyLDB4MDAsMHg2MSwweDAwLDB4NmQsMHgwMCwweDY1LDB4MDAsMHg1NywweDAwLDB4NmYsMHgwMCwweDcyLDB4MDB9fSwKLSB7MTYsMHgxMTgwLDAsezB4NmIsMHgwMCwweDczLDB4MDAsMHgyYSwweDAzLDB4NDMsMHgwMCwweDZmLDB4MDAsMHg2ZSwweDAwLDB4NjYsMHgwMCwweDY5LDB4MDB9fSwKLSB7MTYsMHgxMTkwLDAsezB4NjcsMHgwMCwweDc1LDB4MDAsMHg3MiwweDAwLDB4NjEsMHgwMCwweDc0LDB4MDAsMHg2OSwweDAwLDB4NmYsMHgwMCwweDZlLDB4MDB9fSwKLSB7MTYsMHgxMWEwLDAsezB4MjAsMHgwMCwweDUzLDB4MDAsMHg3NCwweDAwLDB4NzIsMHgwMCwweDY5LDB4MDAsMHg2ZSwweDAwLDB4NjcsMHgwMCwweDIyLDB4MDN9fSwKLSB7MTYsMHgxMWIwLDAsezB4NDksMHgwMCwweDZlLDB4MDAsMHg3NCwweDAwLDB4NjUsMHgwMCwweDcyLDB4MDAsMHg2NiwweDAwLDB4NjEsMHgwMCwweDYzLDB4MDB9fSwKLSB7MTYsMHgxMWMwLDAsezB4NjUsMHgwMCwweDIwLDB4MDAsMHg1MywweDAwLDB4NzQsMHgwMCwweDcyLDB4MDAsMHg2OSwweDAwLDB4NmUsMHgwMCwweDY3LDB4MDB9fSwKLSB7IDIsMHgxMWQwLDAsezB4MDAsMHgwMH19LAotIHsgMCwweDAwMDAsMSx7MH19Ci19OwotLyogU291cmNlOiBFTUlMT0FELkhFWCAKLToxMDA0NkUwMDAyMEEwMDBGMDEwQzExMDQwRDAwMDAwMDAwNDEwMDAwRjMKLTowMTA0N0UwMDAwN0QKLToxMDAxQzcwMDkwN0ZFOUUwMjQ1QjYwNjAyNDAyNjAwMzAyMDI4NTkwNkYKLToxMDAxRDcwMDdGRUFFMDc1MEEwMEY1MEJBM0UwRkVFNEVFNDIwQTkwMjEKLToxMDAxRTcwMDdGRUVFMDc1MTUwMEY1MTZBM0UwRkVFNEVFNDIxNUU1OTcKLToxMDAxRjcwMDE2NDUxNTcwMDMwMjAyODVFNDkwN0ZDNUYwOTA3RkI0MjEKLToxMDAyMDcwMEUwMjBFM0Y5OTA3RkM1RTBGNTBDMTIwMzEzQUYwQzdFRjUKLToxMDAyMTcwMDAwRUYyNTBCRjUwQkVFMzUwQUY1MEFDM0U1MTY5RkY1M0EKLToxMDAyMjcwMDE2RTUxNTlFRjUxNTgwQzc5MDdGRUFFMDc1MEEwMEY1N0IKLToxMDAyMzcwMDBCQTNFMEZFRTRFRTQyMEE5MDdGRUVFMDc1MTUwMEY1QjEKLToxMDAyNDcwMDE2QTNFMEZFRTRFRTQyMTVFNTE2NDUxNTYwMzBFNDkwOEUKLToxMDAyNTcwMDdGQzVGMDkwN0ZCNEUwMjBFM0Y5OTA3RkM1RTBGNTBDMEYKLToxMDAyNjcwMDEyMDMyQkFGMEM3RTAwRUYyNTBCRjUwQkVFMzUwQUY1Q0QKLTowRjAyNzcwMDBBQzNFNTE2OUZGNTE2RTUxNTlFRjUxNTgwQ0FDMzU3Ci06MDEwMjg2MDAyMjU1Ci06MTAwM0E5MDBDMEUwQzA4M0MwODJEMjIwNTM5MUVGOTA3RkFCNzQwMTJCCi06MDgwM0I5MDBGMEQwODJEMDgzRDBFMDMyQzUKLToxMDAzOEUwMEMwRTBDMDgzQzA4MjkwN0ZDNEU0RjA1MzkxRUY5MDdGQjEKLTowQjAzOUUwMEFCNzQwNEYwRDA4MkQwODNEMEUwMzJCQQotOjEwMDNDMTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFCNzQwMkYwRDA0NAotOjA2MDNEMTAwODJEMDgzRDBFMDMyNkYKLToxMDAzRDcwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQjc0MTBGMEQwMjAKLTowNjAzRTcwMDgyRDA4M0QwRTAzMjU5Ci06MDEwM0ZFMDAzMkNDCi06MTAwNDU4MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUI3NDA4RjBEMEE2Ci06MDYwNDY4MDA4MkQwODNEMEUwMzJENwotOjAxMDNGRjAwMzJDQgotOjAxMDQ4NDAwMzI0NQotOjAxMDQ4NTAwMzI0NAotOjAxMDQ4NjAwMzI0MwotOjAxMDQ4NzAwMzI0MgotOjAxMDQ4ODAwMzI0MQotOjAxMDQ4OTAwMzI0MAotOjAxMDQ4QTAwMzIzRgotOjAxMDQ4QjAwMzIzRQotOjAxMDQ4QzAwMzIzRAotOjAxMDQ4RDAwMzIzQwotOjAxMDQ4RTAwMzIzQgotOjAxMDQ4RjAwMzIzQQotOjAxMDQ5MDAwMzIzOQotOjAxMDQ5MTAwMzIzOAotOjAxMDQ5MjAwMzIzNwotOjA0MDQ3RjAwMDIxNzAwMDA2MAotOjEwMDEwMDAwRTRGRkZFQzIyMEQyRTg0M0Q4MjA5MDdGQUI3NEZGRjAxQQotOjEwMDExMDAwOTA3RkE5RjA5MDdGQUFGMDUzOTFFRjkwN0Y5NTc0QzBFMwotOjEwMDEyMDAwRjA5MDdGOUVGMDkwN0Y5OEYwRTQ5MDdGOTRGMDkwN0YyNQotOjEwMDEzMDAwOUQ3NEZGRjA5MDdGOTc3NEEwRjA5MDdGOTNFMDU0RkM0MwotOjEwMDE0MDAwRjA5MDdGOUM3NDAzRjBFNDkwN0Y5NkYwOTA3RkFGRTA5NgotOjEwMDE1MDAwNDQwMUYwOTA3RkFFRTA0NDBERjBEMkFGMEZCRjAwMDEzQwotOjEwMDE2MDAwMEVCRTA3RjhCRjA4RjUyMDIwNDI3NTE0MDA3NTEzMDA3NQotOjEwMDE3MDAwNzUxMjAwNzUxMTAwN0Y0ODdFOTI3RDAwN0MwMEFCMTRFMwotOjEwMDE4MDAwQUExM0E5MTJBODExQzMxMjAzRUQ1MERCMjAyMEQ4N0FCQwotOjEwMDE5MDAwMDA3OTAwNzgwMEU1MTQyNDAxRjUxNEVBMzUxM0Y1MTMwRAotOjEwMDFBMDAwRTkzNTEyRjUxMkU4MzUxMUY1MTE4MENBMzAyMEZEMTIzQgotOjEwMDFCMDAwMDFDNzUwMDc5MDdGQjRFMDQ0MDFGMDkwN0ZCNEUwNDQ2MQotOjA2MDFDMDAwMDJGMEMyMjA4MEU2RkYKLTowMTAxQzYwMDIyMTYKLToxMDExMDAwMDEyMDExMDAxMDAwMDAwNDA2QTA4MDEwMTAwMDEwMTAyMDMKLToxMDExMTAwMDAwMDEwOTAyMjAwMDAxMDEwM0EwMDAwOTA0MDAwMDAyRUYKLToxMDExMjAwMEZGMDAwMDA0MDcwNTgyMDI0MDAwMDAwNzA1MDIwMjQwOUMKLToxMDExMzAwMDAwMDAwNDAzMDkwNDI2MDM0MTAwNkUwMDYzMDA2ODAwRjgKLToxMDExNDAwMDZGMDA3MjAwMjAwMDQzMDA2ODAwNjkwMDcwMDA3MzAwQTcKLToxMDExNTAwMDJDMDAyMDAwNDkwMDZFMDA2MzAwMkUwMDI4MDM0NjAwOEEKLToxMDExNjAwMDY5MDA3MjAwNkQwMDc3MDA2MTAwNzIwMDY1MDAyMDAwNjgKLToxMDExNzAwMDQ2MDA3MjAwNjEwMDZEMDA2NTAwNTcwMDZGMDA3MjAwNEMKLToxMDExODAwMDZCMDA3MzAwMkEwMzQzMDA2RjAwNkUwMDY2MDA2OTAwNjUKLToxMDExOTAwMDY3MDA3NTAwNzIwMDYxMDA3NDAwNjkwMDZGMDA2RTAwRTYKLToxMDExQTAwMDIwMDA1MzAwNzQwMDcyMDA2OTAwNkUwMDY3MDAyMjAzODMKLToxMDExQjAwMDQ5MDA2RTAwNzQwMDY1MDA3MjAwNjYwMDYxMDA2MzAwMDMKLToxMDExQzAwMDY1MDAyMDAwNTMwMDc0MDA3MjAwNjkwMDZFMDA2NzAwMjMKLTowMjExRDAwMDAwMDAxRAotOjEwMDMxMzAwRTUwQ0ZGRTUwQkY1ODJFNTBBRjU4Mzc1OTI3RTc0QzA2MwotOjA4MDMyMzAwRjhFMjA4RjBBM0RGRkEyMjYyCi06MTAwMzJCMDA5MDdGOTY4NTgzOTJBODgyNzkwMjkwMDAwMEUwQjQwMEJBCi06MTAwMzNCMDAwRDc0MDFGMDkwN0Y5N0UwNTQ3RkYwNDQ4MEYwRTUwQzUyCi06MTAwMzRCMDBGRjkwN0VDMEUwRjUyOEU0QTI0NzMzRjI2OUYyRTRBMjA1Ci06MTAwMzVCMDA0NjMzRjI2OUYyRTRBMjQ1MzNGMjY5RjJFNEEyNDQzMzg0Ci06MTAwMzZCMDBGMjY5RjJFNEEyNDMzM0YyNjlGMkU0QTI0MjMzRjI2OTk2Ci06MTAwMzdCMDBGMkU0QTI0MTMzRjI2OUYyRTRBMjQwMzNGMjY5RjJBMzUwCi06MDMwMzhCMDBERkMyMjJBQwotOjAzMDA0MzAwMDIwNDAwQjQKLToxMDA0MDAwMDAyMDNBOTAwMDIwM0MxMDAwMjAzOEUwMDAyMDQ1ODAwODcKLToxMDA0MTAwMDAyMDNENzAwMDIwM0ZFMDAwMjAzRkYwMDAyMDQ4NDAwNkYKLToxMDA0MjAwMDAyMDQ4NTAwMDIwNDg2MDAwMjA0ODcwMDAyMDQ4ODAwOUEKLToxMDA0MzAwMDAyMDQ4OTAwMDIwNDhBMDAwMjA0OEIwMDAyMDQ4QzAwN0EKLToxMDA0NDAwMDAyMDQ4RDAwMDIwNDhFMDAwMjA0OEYwMDAyMDQ5MDAwNUEKLTowODA0NTAwMDAyMDQ5MTAwMDIwNDkyMDA3NQotOjAzMDAwMDAwMDIwMjg3NzIKLTowQzAyODcwMDc4N0ZFNEY2RDhGRDc1ODEyOTAyMDJDRUQ0Ci06MTAwM0VEMDBFQjlGRjVGMEVBOUU0MkYwRTk5RDQyRjBFODlDNDVGMDY2Ci06MDEwM0ZEMDAyMkRECi06MTAwMjkzMDAwMjAxMDBFNDkzQTNGOEU0OTNBMzQwMDNGNjgwMDFGMjgwCi06MTAwMkEzMDAwOERGRjQ4MDI5RTQ5M0EzRjg1NDA3MjQwQ0M4QzMzMzZDCi06MTAwMkIzMDBDNDU0MEY0NDIwQzg4MzQwMDRGNDU2ODAwMTQ2RjZERjNCCi06MTAwMkMzMDBFNDgwMEIwMTAyMDQwODEwMjA0MDgwOTAwNDZFRTQ3RTU5Ci06MTAwMkQzMDAwMTkzNjBCQ0EzRkY1NDNGMzBFNTA5NTQxRkZFRTQ5MzMwCi06MTAwMkUzMDBBMzYwMDEwRUNGNTRDMDI1RTA2MEE4NDBCOEU0OTNBM0Y3Ci06MTAwMkYzMDBGQUU0OTNBM0Y4RTQ5M0EzQzhDNTgyQzhDQUM1ODNDQTIyCi06MTAwMzAzMDBGMEEzQzhDNTgyQzhDQUM1ODNDQURGRTlERUU3ODBCRUQ5Ci06MDEwNDgzMDAwMDc4Ci06MDAwMDAwMDFGRgotKi8KLS8qCi1WRVJTSU9OPTEuMC4yLjAwMgotREFURT0xMC4wMS4yMDAyCi1FTUkyNl82MgotKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL21pc2MvaXNpZ2h0X2Zpcm13YXJlLmMgYi9kcml2ZXJzL3VzYi9taXNjL2lzaWdodF9maXJtd2FyZS5jCmluZGV4IDlmMzBhYTEuLmQ5NGFhNzMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL21pc2MvaXNpZ2h0X2Zpcm13YXJlLmMKKysrIGIvZHJpdmVycy91c2IvbWlzYy9pc2lnaHRfZmlybXdhcmUuYwpAQCAtNDEsNyArNDEsNyBAQAogCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZmlybXdhcmU7CiAJdW5zaWduZWQgY2hhciAqYnVmID0ga21hbGxvYyg1MCwgR0ZQX0tFUk5FTCk7CiAJdW5zaWduZWQgY2hhciBkYXRhWzRdOwotCXU4ICpwdHI7CisJY29uc3QgdTggKnB0cjsKIAogCWlmICghYnVmKQogCQlyZXR1cm4gLUVOT01FTTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL21vbi9tb25fYmluLmMgYi9kcml2ZXJzL3VzYi9tb24vbW9uX2Jpbi5jCmluZGV4IDQ5MTQ1NTMuLjI5M2E0NjIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL21vbi9tb25fYmluLmMKKysrIGIvZHJpdmVycy91c2IvbW9uL21vbl9iaW4uYwpAQCAtMTUsNiArMTUsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3BvbGwuaD4KICNpbmNsdWRlIDxsaW51eC9jb21wYXQuaD4KICNpbmNsdWRlIDxsaW51eC9tbS5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogCkBAIC01MjcsMTQgKzUyOCwxNyBAQAogCXNpemVfdCBzaXplOwogCWludCByYzsKIAorCWxvY2tfa2VybmVsKCk7CiAJbXV0ZXhfbG9jaygmbW9uX2xvY2spOwogCWlmICgobWJ1cyA9IG1vbl9idXNfbG9va3VwKGltaW5vcihpbm9kZSkpKSA9PSBOVUxMKSB7CiAJCW11dGV4X3VubG9jaygmbW9uX2xvY2spOworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiAtRU5PREVWOwogCX0KIAlpZiAobWJ1cyAhPSAmbW9uX2J1czAgJiYgbWJ1cy0+dV9idXMgPT0gTlVMTCkgewogCQlwcmludGsoS0VSTl9FUlIgVEFHICI6IGNvbnNpc3RlbmN5IGVycm9yIG9uIG9wZW5cbiIpOwogCQltdXRleF91bmxvY2soJm1vbl9sb2NrKTsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gLUVOT0RFVjsKIAl9CiAKQEAgLTU2OCw2ICs1NzIsNyBAQAogCiAJZmlsZS0+cHJpdmF0ZV9kYXRhID0gcnA7CiAJbXV0ZXhfdW5sb2NrKCZtb25fbG9jayk7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiAwOwogCiBlcnJfYWxsb2NidWZmOgpAQCAtNTc2LDYgKzU4MSw3IEBACiAJa2ZyZWUocnApOwogZXJyX2FsbG9jOgogCW11dGV4X3VubG9jaygmbW9uX2xvY2spOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gcmM7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC9LY29uZmlnIGIvZHJpdmVycy91c2Ivc2VyaWFsL0tjb25maWcKaW5kZXggOWJhNjRjYy4uOWE3NjgxYiAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2Ivc2VyaWFsL0tjb25maWcKKysrIGIvZHJpdmVycy91c2Ivc2VyaWFsL0tjb25maWcKQEAgLTMwNCwxOSArMzA0LDE5IEBACiAKIGNvbmZpZyBVU0JfU0VSSUFMX0tFWVNQQU5fTVBSCiAJYm9vbCAiVVNCIEtleXNwYW4gTVBSIEZpcm13YXJlIgotCWRlcGVuZHMgb24gVVNCX1NFUklBTF9LRVlTUEFOCisJZGVwZW5kcyBvbiBVU0JfU0VSSUFMX0tFWVNQQU4gJiYgRklSTVdBUkVfSU5fS0VSTkVMCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIGZpcm13YXJlIGZvciB0aGUgS2V5c3BhbiBNUFIgY29udmVydGVyLgogCiBjb25maWcgVVNCX1NFUklBTF9LRVlTUEFOX1VTQTI4CiAJYm9vbCAiVVNCIEtleXNwYW4gVVNBLTI4IEZpcm13YXJlIgotCWRlcGVuZHMgb24gVVNCX1NFUklBTF9LRVlTUEFOCisJZGVwZW5kcyBvbiBVU0JfU0VSSUFMX0tFWVNQQU4gJiYgRklSTVdBUkVfSU5fS0VSTkVMCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIGZpcm13YXJlIGZvciB0aGUgVVNBLTI4IGNvbnZlcnRlci4KIAogY29uZmlnIFVTQl9TRVJJQUxfS0VZU1BBTl9VU0EyOFgKIAlib29sICJVU0IgS2V5c3BhbiBVU0EtMjhYIEZpcm13YXJlIgotCWRlcGVuZHMgb24gVVNCX1NFUklBTF9LRVlTUEFOCisJZGVwZW5kcyBvbiBVU0JfU0VSSUFMX0tFWVNQQU4gJiYgRklSTVdBUkVfSU5fS0VSTkVMCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIGZpcm13YXJlIGZvciB0aGUgVVNBLTI4WCBjb252ZXJ0ZXIuCiAJICBCZSBzdXJlIHlvdSBoYXZlIGEgVVNBLTI4WCwgdGhlcmUgYXJlIGFsc28gMjhYQSBhbmQgMjhYQgpAQCAtMzI0LDcgKzMyNCw3IEBACiAKIGNvbmZpZyBVU0JfU0VSSUFMX0tFWVNQQU5fVVNBMjhYQQogCWJvb2wgIlVTQiBLZXlzcGFuIFVTQS0yOFhBIEZpcm13YXJlIgotCWRlcGVuZHMgb24gVVNCX1NFUklBTF9LRVlTUEFOCisJZGVwZW5kcyBvbiBVU0JfU0VSSUFMX0tFWVNQQU4gJiYgRklSTVdBUkVfSU5fS0VSTkVMCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIGZpcm13YXJlIGZvciB0aGUgVVNBLTI4WEEgY29udmVydGVyLgogCSAgQmUgc3VyZSB5b3UgaGF2ZSBhIFVTQS0yOFhBLCB0aGVyZSBhcmUgYWxzbyAyOFggYW5kIDI4WEIKQEAgLTMzMiw3ICszMzIsNyBAQAogCiBjb25maWcgVVNCX1NFUklBTF9LRVlTUEFOX1VTQTI4WEIKIAlib29sICJVU0IgS2V5c3BhbiBVU0EtMjhYQiBGaXJtd2FyZSIKLQlkZXBlbmRzIG9uIFVTQl9TRVJJQUxfS0VZU1BBTgorCWRlcGVuZHMgb24gVVNCX1NFUklBTF9LRVlTUEFOICYmIEZJUk1XQVJFX0lOX0tFUk5FTAogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBmaXJtd2FyZSBmb3IgdGhlIFVTQS0yOFhCIGNvbnZlcnRlci4KIAkgIEJlIHN1cmUgeW91IGhhdmUgYSBVU0EtMjhYQiwgdGhlcmUgYXJlIGFsc28gMjhYIGFuZCAyOFhBCkBAIC0zNDAsNDMgKzM0MCw0MyBAQAogCiBjb25maWcgVVNCX1NFUklBTF9LRVlTUEFOX1VTQTE5CiAJYm9vbCAiVVNCIEtleXNwYW4gVVNBLTE5IEZpcm13YXJlIgotCWRlcGVuZHMgb24gVVNCX1NFUklBTF9LRVlTUEFOCisJZGVwZW5kcyBvbiBVU0JfU0VSSUFMX0tFWVNQQU4gJiYgRklSTVdBUkVfSU5fS0VSTkVMCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIGZpcm13YXJlIGZvciB0aGUgVVNBLTE5IGNvbnZlcnRlci4KIAogY29uZmlnIFVTQl9TRVJJQUxfS0VZU1BBTl9VU0ExOFgKIAlib29sICJVU0IgS2V5c3BhbiBVU0EtMThYIEZpcm13YXJlIgotCWRlcGVuZHMgb24gVVNCX1NFUklBTF9LRVlTUEFOCisJZGVwZW5kcyBvbiBVU0JfU0VSSUFMX0tFWVNQQU4gJiYgRklSTVdBUkVfSU5fS0VSTkVMCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIGZpcm13YXJlIGZvciB0aGUgVVNBLTE4WCBjb252ZXJ0ZXIuCiAKIGNvbmZpZyBVU0JfU0VSSUFMX0tFWVNQQU5fVVNBMTlXCiAJYm9vbCAiVVNCIEtleXNwYW4gVVNBLTE5VyBGaXJtd2FyZSIKLQlkZXBlbmRzIG9uIFVTQl9TRVJJQUxfS0VZU1BBTgorCWRlcGVuZHMgb24gVVNCX1NFUklBTF9LRVlTUEFOICYmIEZJUk1XQVJFX0lOX0tFUk5FTAogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBmaXJtd2FyZSBmb3IgdGhlIFVTQS0xOVcgY29udmVydGVyLgogCiBjb25maWcgVVNCX1NFUklBTF9LRVlTUEFOX1VTQTE5UVcKIAlib29sICJVU0IgS2V5c3BhbiBVU0EtMTlRVyBGaXJtd2FyZSIKLQlkZXBlbmRzIG9uIFVTQl9TRVJJQUxfS0VZU1BBTgorCWRlcGVuZHMgb24gVVNCX1NFUklBTF9LRVlTUEFOICYmIEZJUk1XQVJFX0lOX0tFUk5FTAogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBmaXJtd2FyZSBmb3IgdGhlIFVTQS0xOVFXIGNvbnZlcnRlci4KIAogY29uZmlnIFVTQl9TRVJJQUxfS0VZU1BBTl9VU0ExOVFJCiAJYm9vbCAiVVNCIEtleXNwYW4gVVNBLTE5UUkgRmlybXdhcmUiCi0JZGVwZW5kcyBvbiBVU0JfU0VSSUFMX0tFWVNQQU4KKwlkZXBlbmRzIG9uIFVTQl9TRVJJQUxfS0VZU1BBTiAmJiBGSVJNV0FSRV9JTl9LRVJORUwKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgZmlybXdhcmUgZm9yIHRoZSBVU0EtMTlRSSBjb252ZXJ0ZXIuCiAKIGNvbmZpZyBVU0JfU0VSSUFMX0tFWVNQQU5fVVNBNDlXCiAJYm9vbCAiVVNCIEtleXNwYW4gVVNBLTQ5VyBGaXJtd2FyZSIKLQlkZXBlbmRzIG9uIFVTQl9TRVJJQUxfS0VZU1BBTgorCWRlcGVuZHMgb24gVVNCX1NFUklBTF9LRVlTUEFOICYmIEZJUk1XQVJFX0lOX0tFUk5FTAogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBmaXJtd2FyZSBmb3IgdGhlIFVTQS00OVcgY29udmVydGVyLgogCiBjb25maWcgVVNCX1NFUklBTF9LRVlTUEFOX1VTQTQ5V0xDCiAJYm9vbCAiVVNCIEtleXNwYW4gVVNBLTQ5V0xDIEZpcm13YXJlIgotCWRlcGVuZHMgb24gVVNCX1NFUklBTF9LRVlTUEFOCisJZGVwZW5kcyBvbiBVU0JfU0VSSUFMX0tFWVNQQU4gJiYgRklSTVdBUkVfSU5fS0VSTkVMCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIGZpcm13YXJlIGZvciB0aGUgVVNBLTQ5V0xDIGNvbnZlcnRlci4KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Ivc2VyaWFsL2lvX2VkZ2Vwb3J0LmMgYi9kcml2ZXJzL3VzYi9zZXJpYWwvaW9fZWRnZXBvcnQuYwppbmRleCAwNmI1MmY0Li4yZmQ0NDliIDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9zZXJpYWwvaW9fZWRnZXBvcnQuYworKysgYi9kcml2ZXJzL3VzYi9zZXJpYWwvaW9fZWRnZXBvcnQuYwpAQCAtNDIsNiArNDIsOCBAQAogI2luY2x1ZGUgPGxpbnV4L3NlcmlhbC5oPgogI2luY2x1ZGUgPGxpbnV4L2lvY3RsLmg+CiAjaW5jbHVkZSA8bGludXgvd2FpdC5oPgorI2luY2x1ZGUgPGxpbnV4L2Zpcm13YXJlLmg+CisjaW5jbHVkZSA8bGludXgvaWhleC5oPgogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAjaW5jbHVkZSA8bGludXgvdXNiLmg+CiAjaW5jbHVkZSA8bGludXgvdXNiL3NlcmlhbC5oPgpAQCAtNTYsMjYgKzU4LDYgQEAKICNkZWZpbmUgRFJJVkVSX0FVVEhPUiAiR3JlZyBLcm9haC1IYXJ0bWFuIDxncmVnQGtyb2FoLmNvbT4gYW5kIERhdmlkIElhY292ZWxsaSIKICNkZWZpbmUgRFJJVkVSX0RFU0MgIkVkZ2Vwb3J0IFVTQiBTZXJpYWwgRHJpdmVyIgogCi0vKiBGaXJzdCwgdGhlIGxhdGVzdCBib290IGNvZGUgLSBmb3IgZmlyc3QgZ2VuZXJhdGlvbiBlZGdlcG9ydHMgKi8KLSNkZWZpbmUgSU1BR0VfQVJSQVlfTkFNRQlCb290Q29kZUltYWdlX0dFTjEKLSNkZWZpbmUgSU1BR0VfVkVSU0lPTl9OQU1FCUJvb3RDb2RlSW1hZ2VWZXJzaW9uX0dFTjEKLSNpbmNsdWRlICJpb19md19ib290LmgiCQkvKiB0aGUgYm9vdGxvYWRlciBmaXJtd2FyZSB0byBkb3dubG9hZCB0byBhIGRldmljZSwgaWYgaXQgbmVlZHMgaXQgKi8KLQotLyogZm9yIHNlY29uZCBnZW5lcmF0aW9uIGVkZ2Vwb3J0cyAqLwotI2RlZmluZSBJTUFHRV9BUlJBWV9OQU1FCUJvb3RDb2RlSW1hZ2VfR0VOMgotI2RlZmluZSBJTUFHRV9WRVJTSU9OX05BTUUJQm9vdENvZGVJbWFnZVZlcnNpb25fR0VOMgotI2luY2x1ZGUgImlvX2Z3X2Jvb3QyLmgiCS8qIHRoZSBib290bG9hZGVyIGZpcm13YXJlIHRvIGRvd25sb2FkIHRvIGEgZGV2aWNlLCBpZiBpdCBuZWVkcyBpdCAqLwotCi0vKiBUaGVuIGZpbmFsbHkgdGhlIG1haW4gcnVuLXRpbWUgb3BlcmF0aW9uYWwgY29kZSAtIGZvciBmaXJzdCBnZW5lcmF0aW9uIGVkZ2Vwb3J0cyAqLwotI2RlZmluZSBJTUFHRV9BUlJBWV9OQU1FCU9wZXJhdGlvbmFsQ29kZUltYWdlX0dFTjEKLSNkZWZpbmUgSU1BR0VfVkVSU0lPTl9OQU1FCU9wZXJhdGlvbmFsQ29kZUltYWdlVmVyc2lvbl9HRU4xCi0jaW5jbHVkZSAiaW9fZndfZG93bi5oIgkJLyogRGVmaW5lIGFycmF5IE9wZXJhdGlvbmFsQ29kZUltYWdlW10gKi8KLQotLyogZm9yIHNlY29uZCBnZW5lcmF0aW9uIGVkZ2Vwb3J0cyAqLwotI2RlZmluZSBJTUFHRV9BUlJBWV9OQU1FCU9wZXJhdGlvbmFsQ29kZUltYWdlX0dFTjIKLSNkZWZpbmUgSU1BR0VfVkVSU0lPTl9OQU1FCU9wZXJhdGlvbmFsQ29kZUltYWdlVmVyc2lvbl9HRU4yCi0jaW5jbHVkZSAiaW9fZndfZG93bjIuaCIJLyogRGVmaW5lIGFycmF5IE9wZXJhdGlvbmFsQ29kZUltYWdlW10gKi8KLQogI2RlZmluZSBNQVhfTkFNRV9MRU4JCTY0CiAKICNkZWZpbmUgQ0hBU0VfVElNRU9VVAkJKDUqSFopCQkvKiA1IHNlY29uZHMgKi8KQEAgLTI1Niw5ICsyMzgsOSBAQAogc3RhdGljIGludCAgd3JpdGVfY21kX3VzYgkJKHN0cnVjdCBlZGdlcG9ydF9wb3J0ICplZGdlX3BvcnQsIHVuc2lnbmVkIGNoYXIgKmJ1ZmZlciwgaW50IHdyaXRlTGVuZ3RoKTsKIHN0YXRpYyB2b2lkIHNlbmRfbW9yZV9wb3J0X2RhdGEJCShzdHJ1Y3QgZWRnZXBvcnRfc2VyaWFsICplZGdlX3NlcmlhbCwgc3RydWN0IGVkZ2Vwb3J0X3BvcnQgKmVkZ2VfcG9ydCk7CiAKLXN0YXRpYyBpbnQgIHNyYW1fd3JpdGUJCQkoc3RydWN0IHVzYl9zZXJpYWwgKnNlcmlhbCwgX191MTYgZXh0QWRkciwgX191MTYgYWRkciwgX191MTYgbGVuZ3RoLCBfX3U4ICpkYXRhKTsKK3N0YXRpYyBpbnQgIHNyYW1fd3JpdGUJCQkoc3RydWN0IHVzYl9zZXJpYWwgKnNlcmlhbCwgX191MTYgZXh0QWRkciwgX191MTYgYWRkciwgX191MTYgbGVuZ3RoLCBjb25zdCBfX3U4ICpkYXRhKTsKIHN0YXRpYyBpbnQgIHJvbV9yZWFkCQkJKHN0cnVjdCB1c2Jfc2VyaWFsICpzZXJpYWwsIF9fdTE2IGV4dEFkZHIsIF9fdTE2IGFkZHIsIF9fdTE2IGxlbmd0aCwgX191OCAqZGF0YSk7Ci1zdGF0aWMgaW50ICByb21fd3JpdGUJCQkoc3RydWN0IHVzYl9zZXJpYWwgKnNlcmlhbCwgX191MTYgZXh0QWRkciwgX191MTYgYWRkciwgX191MTYgbGVuZ3RoLCBfX3U4ICpkYXRhKTsKK3N0YXRpYyBpbnQgIHJvbV93cml0ZQkJCShzdHJ1Y3QgdXNiX3NlcmlhbCAqc2VyaWFsLCBfX3UxNiBleHRBZGRyLCBfX3UxNiBhZGRyLCBfX3UxNiBsZW5ndGgsIGNvbnN0IF9fdTggKmRhdGEpOwogc3RhdGljIHZvaWQgZ2V0X21hbnVmYWN0dXJpbmdfZGVzYwkoc3RydWN0IGVkZ2Vwb3J0X3NlcmlhbCAqZWRnZV9zZXJpYWwpOwogc3RhdGljIHZvaWQgZ2V0X2Jvb3RfZGVzYwkJKHN0cnVjdCBlZGdlcG9ydF9zZXJpYWwgKmVkZ2Vfc2VyaWFsKTsKIHN0YXRpYyB2b2lkIGxvYWRfYXBwbGljYXRpb25fZmlybXdhcmUJKHN0cnVjdCBlZGdlcG9ydF9zZXJpYWwgKmVkZ2Vfc2VyaWFsKTsKQEAgLTI4MywzNyArMjY1LDQxIEBACiB7CiAJX191MzIgQm9vdEN1clZlcjsKIAlfX3UzMiBCb290TmV3VmVyOwotCV9fdTggQm9vdE1ham9yVmVyc2lvbjsgICAgICAgICAgICAgICAgICAKLQlfX3U4IEJvb3RNaW5vclZlcnNpb247ICAgICAgICAgICAgICAgICAgCi0JX19sZTE2IEJvb3RCdWlsZE51bWJlcjsKLQlfX3U4ICpCb290SW1hZ2U7ICAgICAgCi0JX191MzIgQm9vdFNpemU7Ci0Jc3RydWN0IGVkZ2VfZmlybXdhcmVfaW1hZ2VfcmVjb3JkICpyZWNvcmQ7Ci0JdW5zaWduZWQgY2hhciAqZmlybXdhcmU7CisJX191OCBCb290TWFqb3JWZXJzaW9uOworCV9fdTggQm9vdE1pbm9yVmVyc2lvbjsKKwlfX3UxNiBCb290QnVpbGROdW1iZXI7CisJX191MzIgQm9vdGFkZHI7CisJY29uc3Qgc3RydWN0IGloZXhfYmlucmVjICpyZWM7CisJY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdzsKKwljb25zdCBjaGFyICpmd19uYW1lOwogCWludCByZXNwb25zZTsKIAotCiAJc3dpdGNoIChlZGdlX3NlcmlhbC0+cHJvZHVjdF9pbmZvLmlEb3dubG9hZEZpbGUpIHsKIAkJY2FzZSBFREdFX0RPV05MT0FEX0ZJTEVfSTkzMDoKLQkJCUJvb3RNYWpvclZlcnNpb24JPSBCb290Q29kZUltYWdlVmVyc2lvbl9HRU4xLk1ham9yVmVyc2lvbjsKLQkJCUJvb3RNaW5vclZlcnNpb24JPSBCb290Q29kZUltYWdlVmVyc2lvbl9HRU4xLk1pbm9yVmVyc2lvbjsKLQkJCUJvb3RCdWlsZE51bWJlcgkJPSBjcHVfdG9fbGUxNihCb290Q29kZUltYWdlVmVyc2lvbl9HRU4xLkJ1aWxkTnVtYmVyKTsKLQkJCUJvb3RJbWFnZQkJPSAmQm9vdENvZGVJbWFnZV9HRU4xWzBdOwotCQkJQm9vdFNpemUJCT0gc2l6ZW9mKCBCb290Q29kZUltYWdlX0dFTjEgKTsKKwkJCWZ3X25hbWUJPSAiZWRnZXBvcnQvYm9vdC5mdyI7CiAJCQlicmVhazsKIAogCQljYXNlIEVER0VfRE9XTkxPQURfRklMRV84MDI1MToKLQkJCUJvb3RNYWpvclZlcnNpb24JPSBCb290Q29kZUltYWdlVmVyc2lvbl9HRU4yLk1ham9yVmVyc2lvbjsKLQkJCUJvb3RNaW5vclZlcnNpb24JPSBCb290Q29kZUltYWdlVmVyc2lvbl9HRU4yLk1pbm9yVmVyc2lvbjsKLQkJCUJvb3RCdWlsZE51bWJlcgkJPSBjcHVfdG9fbGUxNihCb290Q29kZUltYWdlVmVyc2lvbl9HRU4yLkJ1aWxkTnVtYmVyKTsKLQkJCUJvb3RJbWFnZQkJPSAmQm9vdENvZGVJbWFnZV9HRU4yWzBdOwotCQkJQm9vdFNpemUJCT0gc2l6ZW9mKCBCb290Q29kZUltYWdlX0dFTjIgKTsKKwkJCWZ3X25hbWUJPSAiZWRnZXBvcnQvYm9vdDIuZnciOwogCQkJYnJlYWs7CiAKIAkJZGVmYXVsdDoKIAkJCXJldHVybjsKIAl9CiAKKwlyZXNwb25zZSA9IHJlcXVlc3RfaWhleF9maXJtd2FyZSgmZncsIGZ3X25hbWUsCisJCQkJCSAmZWRnZV9zZXJpYWwtPnNlcmlhbC0+ZGV2LT5kZXYpOworCWlmIChyZXNwb25zZSkgeworCQlwcmludGsoS0VSTl9FUlIgIkZhaWxlZCB0byBsb2FkIGltYWdlIFwiJXNcIiBlcnIgJWRcbiIsCisJCSAgICAgICBmd19uYW1lLCByZXNwb25zZSk7CisJCXJldHVybjsKKwl9CisKKwlyZWMgPSAoY29uc3Qgc3RydWN0IGloZXhfYmlucmVjICopZnctPmRhdGE7CisJQm9vdE1ham9yVmVyc2lvbiA9IHJlYy0+ZGF0YVswXTsKKwlCb290TWlub3JWZXJzaW9uID0gcmVjLT5kYXRhWzFdOworCUJvb3RCdWlsZE51bWJlciA9IChyZWMtPmRhdGFbMl0gPDwgOCkgfCByZWMtPmRhdGFbM107CisKIAkvLyBDaGVjayBCb290IEltYWdlIFZlcnNpb24KIAlCb290Q3VyVmVyID0gKGVkZ2Vfc2VyaWFsLT5ib290X2Rlc2NyaXB0b3IuTWFqb3JWZXJzaW9uIDw8IDI0KSArCiAJCSAgICAgKGVkZ2Vfc2VyaWFsLT5ib290X2Rlc2NyaXB0b3IuTWlub3JWZXJzaW9uIDw8IDE2KSArCkBAIC0zMjEsNyArMzA3LDcgQEAKIAogCUJvb3ROZXdWZXIgPSAoQm9vdE1ham9yVmVyc2lvbiA8PCAyNCkgKwogCQkgICAgIChCb290TWlub3JWZXJzaW9uIDw8IDE2KSArCi0JCSAgICAgIGxlMTZfdG9fY3B1KEJvb3RCdWlsZE51bWJlcik7CisJCSAgICAgIEJvb3RCdWlsZE51bWJlcjsKIAogCWRiZygiQ3VycmVudCBCb290IEltYWdlIHZlcnNpb24gJWQuJWQuJWQiLAogCSAgICBlZGdlX3NlcmlhbC0+Ym9vdF9kZXNjcmlwdG9yLk1ham9yVmVyc2lvbiwKQEAgLTMzNCwzMCArMzIwLDMwIEBACiAJCSAgICBlZGdlX3NlcmlhbC0+Ym9vdF9kZXNjcmlwdG9yLk1ham9yVmVyc2lvbiwKIAkJICAgIGVkZ2Vfc2VyaWFsLT5ib290X2Rlc2NyaXB0b3IuTWlub3JWZXJzaW9uLAogCQkgICAgbGUxNl90b19jcHUoZWRnZV9zZXJpYWwtPmJvb3RfZGVzY3JpcHRvci5CdWlsZE51bWJlciksCi0JCSAgICBCb290TWFqb3JWZXJzaW9uLAotCQkgICAgQm9vdE1pbm9yVmVyc2lvbiwKLQkJICAgIGxlMTZfdG9fY3B1KEJvb3RCdWlsZE51bWJlcikpOwotCisJCSAgICBCb290TWFqb3JWZXJzaW9uLCBCb290TWlub3JWZXJzaW9uLCBCb290QnVpbGROdW1iZXIpOwogCiAJCWRiZygiRG93bmxvYWRpbmcgbmV3IEJvb3QgSW1hZ2UiKTsKIAotCQlmaXJtd2FyZSA9IEJvb3RJbWFnZTsKLQotCQlmb3IgKDs7KSB7Ci0JCQlyZWNvcmQgPSAoc3RydWN0IGVkZ2VfZmlybXdhcmVfaW1hZ2VfcmVjb3JkICopZmlybXdhcmU7Ci0JCQlyZXNwb25zZSA9IHJvbV93cml0ZSAoZWRnZV9zZXJpYWwtPnNlcmlhbCwgbGUxNl90b19jcHUocmVjb3JkLT5FeHRBZGRyKSwgbGUxNl90b19jcHUocmVjb3JkLT5BZGRyKSwgbGUxNl90b19jcHUocmVjb3JkLT5MZW4pLCAmcmVjb3JkLT5EYXRhWzBdKTsKKwkJZm9yIChyZWMgPSBpaGV4X25leHRfYmlucmVjKHJlYyk7IHJlYzsKKwkJICAgICByZWMgPSBpaGV4X25leHRfYmlucmVjKHJlYykpIHsKKwkJCUJvb3RhZGRyID0gYmUzMl90b19jcHUocmVjLT5hZGRyKTsKKwkJCXJlc3BvbnNlID0gcm9tX3dyaXRlKGVkZ2Vfc2VyaWFsLT5zZXJpYWwsCisJCQkJCSAgICAgQm9vdGFkZHIgPj4gMTYsCisJCQkJCSAgICAgQm9vdGFkZHIgJiAweEZGRkYsCisJCQkJCSAgICAgYmUxNl90b19jcHUocmVjLT5sZW4pLAorCQkJCQkgICAgICZyZWMtPmRhdGFbMF0pOwogCQkJaWYgKHJlc3BvbnNlIDwgMCkgewotCQkJCWRldl9lcnIoJmVkZ2Vfc2VyaWFsLT5zZXJpYWwtPmRldi0+ZGV2LCAicm9tX3dyaXRlIGZhaWxlZCAoJXgsICV4LCAlZClcbiIsIGxlMTZfdG9fY3B1KHJlY29yZC0+RXh0QWRkciksIGxlMTZfdG9fY3B1KHJlY29yZC0+QWRkciksIGxlMTZfdG9fY3B1KHJlY29yZC0+TGVuKSk7Ci0JCQkJYnJlYWs7Ci0JCQl9Ci0JCQlmaXJtd2FyZSArPSBzaXplb2YgKHN0cnVjdCBlZGdlX2Zpcm13YXJlX2ltYWdlX3JlY29yZCkgKyBsZTE2X3RvX2NwdShyZWNvcmQtPkxlbik7Ci0JCQlpZiAoZmlybXdhcmUgPj0gJkJvb3RJbWFnZVtCb290U2l6ZV0pIHsKKwkJCQlkZXZfZXJyKCZlZGdlX3NlcmlhbC0+c2VyaWFsLT5kZXYtPmRldiwKKwkJCQkJInJvbV93cml0ZSBmYWlsZWQgKCV4LCAleCwgJWQpXG4iLAorCQkJCQlCb290YWRkciA+PiAxNiwgQm9vdGFkZHIgJiAweEZGRkYsCisJCQkJCWJlMTZfdG9fY3B1KHJlYy0+bGVuKSk7CiAJCQkJYnJlYWs7CiAJCQl9CiAJCX0KIAl9IGVsc2UgewogCQlkYmcoIkJvb3QgSW1hZ2UgLS0gYWxyZWFkeSB1cCB0byBkYXRlIik7CiAJfQorCXJlbGVhc2VfZmlybXdhcmUoZncpOwogfQogCiAKQEAgLTQ0Nyw5ICs0MzMsNiBAQAogCWRiZygiICBCb290TWFqb3JWZXJzaW9uICAgICAgJWQuJWQuJWQiLCBwcm9kdWN0X2luZm8tPkJvb3RNYWpvclZlcnNpb24sCiAJICAgIHByb2R1Y3RfaW5mby0+Qm9vdE1pbm9yVmVyc2lvbiwKIAkgICAgbGUxNl90b19jcHUocHJvZHVjdF9pbmZvLT5Cb290QnVpbGROdW1iZXIpKTsKLQlkYmcoIiAgRmlybXdhcmVNYWpvclZlcnNpb24gICVkLiVkLiVkIiwgcHJvZHVjdF9pbmZvLT5GaXJtd2FyZU1ham9yVmVyc2lvbiwKLQkgICAgcHJvZHVjdF9pbmZvLT5GaXJtd2FyZU1pbm9yVmVyc2lvbiwKLQkgICAgbGUxNl90b19jcHUocHJvZHVjdF9pbmZvLT5GaXJtd2FyZUJ1aWxkTnVtYmVyKSk7CiAJZGJnKCIgIE1hbnVmYWN0dXJlRGVzY0RhdGUgICAlZC8lZC8lZCIsIHByb2R1Y3RfaW5mby0+TWFudWZhY3R1cmVEZXNjRGF0ZVswXSwKIAkgICAgcHJvZHVjdF9pbmZvLT5NYW51ZmFjdHVyZURlc2NEYXRlWzFdLAogCSAgICBwcm9kdWN0X2luZm8tPk1hbnVmYWN0dXJlRGVzY0RhdGVbMl0rMTkwMCk7CkBAIC00ODAsMTQgKzQ2Myw4IEBACiAKIAkvLyBjaGVjayBpZiB0aGlzIGlzIDJuZCBnZW5lcmF0aW9uIGhhcmR3YXJlCiAJaWYgKGxlMTZfdG9fY3B1KGVkZ2Vfc2VyaWFsLT5zZXJpYWwtPmRldi0+ZGVzY3JpcHRvci5pZFByb2R1Y3QpICYgSU9OX0RFVklDRV9JRF84MDI1MV9ORVRDSElQKSB7Ci0JCXByb2R1Y3RfaW5mby0+RmlybXdhcmVNYWpvclZlcnNpb24JPSBPcGVyYXRpb25hbENvZGVJbWFnZVZlcnNpb25fR0VOMi5NYWpvclZlcnNpb247Ci0JCXByb2R1Y3RfaW5mby0+RmlybXdhcmVNaW5vclZlcnNpb24JPSBPcGVyYXRpb25hbENvZGVJbWFnZVZlcnNpb25fR0VOMi5NaW5vclZlcnNpb247Ci0JCXByb2R1Y3RfaW5mby0+RmlybXdhcmVCdWlsZE51bWJlcgk9IGNwdV90b19sZTE2KE9wZXJhdGlvbmFsQ29kZUltYWdlVmVyc2lvbl9HRU4yLkJ1aWxkTnVtYmVyKTsKIAkJcHJvZHVjdF9pbmZvLT5pRG93bmxvYWRGaWxlCQk9IEVER0VfRE9XTkxPQURfRklMRV84MDI1MTsKIAl9IGVsc2UgewotCQlwcm9kdWN0X2luZm8tPkZpcm13YXJlTWFqb3JWZXJzaW9uCT0gT3BlcmF0aW9uYWxDb2RlSW1hZ2VWZXJzaW9uX0dFTjEuTWFqb3JWZXJzaW9uOwotCQlwcm9kdWN0X2luZm8tPkZpcm13YXJlTWlub3JWZXJzaW9uCT0gT3BlcmF0aW9uYWxDb2RlSW1hZ2VWZXJzaW9uX0dFTjEuTWlub3JWZXJzaW9uOwotCQlwcm9kdWN0X2luZm8tPkZpcm13YXJlQnVpbGROdW1iZXIJPSBjcHVfdG9fbGUxNihPcGVyYXRpb25hbENvZGVJbWFnZVZlcnNpb25fR0VOMS5CdWlsZE51bWJlcik7CiAJCXByb2R1Y3RfaW5mby0+aURvd25sb2FkRmlsZQkJPSBFREdFX0RPV05MT0FEX0ZJTEVfSTkzMDsKIAl9CiAKQEAgLTIxMzAsNyArMjEwNyw3IEBACiAgKglJZiBzdWNjZXNzZnVsIHJldHVybnMgdGhlIG51bWJlciBvZiBieXRlcyB3cml0dGVuLCBvdGhlcndpc2UgaXQgcmV0dXJucwogICoJYSBuZWdhdGl2ZSBlcnJvciBudW1iZXIgb2YgdGhlIHByb2JsZW0uCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLXN0YXRpYyBpbnQgc3JhbV93cml0ZSAoc3RydWN0IHVzYl9zZXJpYWwgKnNlcmlhbCwgX191MTYgZXh0QWRkciwgX191MTYgYWRkciwgX191MTYgbGVuZ3RoLCBfX3U4ICpkYXRhKQorc3RhdGljIGludCBzcmFtX3dyaXRlKHN0cnVjdCB1c2Jfc2VyaWFsICpzZXJpYWwsIF9fdTE2IGV4dEFkZHIsIF9fdTE2IGFkZHIsIF9fdTE2IGxlbmd0aCwgY29uc3QgX191OCAqZGF0YSkKIHsKIAlpbnQgcmVzdWx0OwogCV9fdTE2IGN1cnJlbnRfbGVuZ3RoOwpAQCAtMjE3NSw3ICsyMTUyLDcgQEAKICAqCUlmIHN1Y2Nlc3NmdWwgcmV0dXJucyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4sIG90aGVyd2lzZSBpdCByZXR1cm5zCiAgKglhIG5lZ2F0aXZlIGVycm9yIG51bWJlciBvZiB0aGUgcHJvYmxlbS4KICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotc3RhdGljIGludCByb21fd3JpdGUgKHN0cnVjdCB1c2Jfc2VyaWFsICpzZXJpYWwsIF9fdTE2IGV4dEFkZHIsIF9fdTE2IGFkZHIsIF9fdTE2IGxlbmd0aCwgX191OCAqZGF0YSkKK3N0YXRpYyBpbnQgcm9tX3dyaXRlKHN0cnVjdCB1c2Jfc2VyaWFsICpzZXJpYWwsIF9fdTE2IGV4dEFkZHIsIF9fdTE2IGFkZHIsIF9fdTE2IGxlbmd0aCwgY29uc3QgX191OCAqZGF0YSkKIHsKIAlpbnQgcmVzdWx0OwogCV9fdTE2IGN1cnJlbnRfbGVuZ3RoOwpAQCAtMjc2MSwzMiArMjczOCwyMyBAQAogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiBzdGF0aWMgdm9pZCBsb2FkX2FwcGxpY2F0aW9uX2Zpcm13YXJlIChzdHJ1Y3QgZWRnZXBvcnRfc2VyaWFsICplZGdlX3NlcmlhbCkKIHsKLQlzdHJ1Y3QgZWRnZV9maXJtd2FyZV9pbWFnZV9yZWNvcmQgKnJlY29yZDsKLQl1bnNpZ25lZCBjaGFyICpmaXJtd2FyZTsKLQl1bnNpZ25lZCBjaGFyICpGaXJtd2FyZUltYWdlOwotCWludCBJbWFnZVNpemU7CisJY29uc3Qgc3RydWN0IGloZXhfYmlucmVjICpyZWM7CisJY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdzsKKwljb25zdCBjaGFyICpmd19uYW1lOworCWNvbnN0IGNoYXIgKmZ3X2luZm87CiAJaW50IHJlc3BvbnNlOwotCisJX191MzIgT3BlcmFkZHI7CisJX191MTYgYnVpbGQ7CiAKIAlzd2l0Y2ggKGVkZ2Vfc2VyaWFsLT5wcm9kdWN0X2luZm8uaURvd25sb2FkRmlsZSkgewogCQljYXNlIEVER0VfRE9XTkxPQURfRklMRV9JOTMwOgotCQkJZGJnKCJkb3dubG9hZGluZyBmaXJtd2FyZSB2ZXJzaW9uICg5MzApICVkLiVkLiVkIiwgCi0JCQkgICAgT3BlcmF0aW9uYWxDb2RlSW1hZ2VWZXJzaW9uX0dFTjEuTWFqb3JWZXJzaW9uLCAKLQkJCSAgICBPcGVyYXRpb25hbENvZGVJbWFnZVZlcnNpb25fR0VOMS5NaW5vclZlcnNpb24sIAotCQkJICAgIE9wZXJhdGlvbmFsQ29kZUltYWdlVmVyc2lvbl9HRU4xLkJ1aWxkTnVtYmVyKTsKLQkJCWZpcm13YXJlID0gJk9wZXJhdGlvbmFsQ29kZUltYWdlX0dFTjFbMF07Ci0JCQlGaXJtd2FyZUltYWdlID0gJk9wZXJhdGlvbmFsQ29kZUltYWdlX0dFTjFbMF07Ci0JCQlJbWFnZVNpemUgPSBzaXplb2YoT3BlcmF0aW9uYWxDb2RlSW1hZ2VfR0VOMSk7CisJCQlmd19pbmZvID0gImRvd25sb2FkaW5nIGZpcm13YXJlIHZlcnNpb24gKDkzMCkiOworCQkJZndfbmFtZQk9ICJlZGdlcG9ydC9kb3duLmZ3IjsKIAkJCWJyZWFrOwogCiAJCWNhc2UgRURHRV9ET1dOTE9BRF9GSUxFXzgwMjUxOgotCQkJZGJnKCJkb3dubG9hZGluZyBmaXJtd2FyZSB2ZXJzaW9uICg4MDI1MSkgJWQuJWQuJWQiLCAKLQkJCSAgICBPcGVyYXRpb25hbENvZGVJbWFnZVZlcnNpb25fR0VOMi5NYWpvclZlcnNpb24sIAotCQkJICAgIE9wZXJhdGlvbmFsQ29kZUltYWdlVmVyc2lvbl9HRU4yLk1pbm9yVmVyc2lvbiwgCi0JCQkgICAgT3BlcmF0aW9uYWxDb2RlSW1hZ2VWZXJzaW9uX0dFTjIuQnVpbGROdW1iZXIpOwotCQkJZmlybXdhcmUgPSAmT3BlcmF0aW9uYWxDb2RlSW1hZ2VfR0VOMlswXTsKLQkJCUZpcm13YXJlSW1hZ2UgPSAmT3BlcmF0aW9uYWxDb2RlSW1hZ2VfR0VOMlswXTsKLQkJCUltYWdlU2l6ZSA9IHNpemVvZihPcGVyYXRpb25hbENvZGVJbWFnZV9HRU4yKTsKKwkJCWZ3X2luZm8gPSAiZG93bmxvYWRpbmcgZmlybXdhcmUgdmVyc2lvbiAoODAyNTEpIjsKKwkJCWZ3X25hbWUJPSAiZWRnZXBvcnQvZG93bjIuZnciOwogCQkJYnJlYWs7CiAKIAkJY2FzZSBFREdFX0RPV05MT0FEX0ZJTEVfTk9ORToKQEAgLTI3OTcsMTYgKzI3NjUsMzYgQEAKIAkJCXJldHVybjsKIAl9CiAKKwlyZXNwb25zZSA9IHJlcXVlc3RfaWhleF9maXJtd2FyZSgmZncsIGZ3X25hbWUsCisJCQkJICAgICZlZGdlX3NlcmlhbC0+c2VyaWFsLT5kZXYtPmRldik7CisJaWYgKHJlc3BvbnNlKSB7CisJCXByaW50ayhLRVJOX0VSUiAiRmFpbGVkIHRvIGxvYWQgaW1hZ2UgXCIlc1wiIGVyciAlZFxuIiwKKwkJICAgICAgIGZ3X25hbWUsIHJlc3BvbnNlKTsKKwkJcmV0dXJuOworCX0KIAotCWZvciAoOzspIHsKLQkJcmVjb3JkID0gKHN0cnVjdCBlZGdlX2Zpcm13YXJlX2ltYWdlX3JlY29yZCAqKWZpcm13YXJlOwotCQlyZXNwb25zZSA9IHNyYW1fd3JpdGUgKGVkZ2Vfc2VyaWFsLT5zZXJpYWwsIGxlMTZfdG9fY3B1KHJlY29yZC0+RXh0QWRkciksIGxlMTZfdG9fY3B1KHJlY29yZC0+QWRkciksIGxlMTZfdG9fY3B1KHJlY29yZC0+TGVuKSwgJnJlY29yZC0+RGF0YVswXSk7CisJcmVjID0gKGNvbnN0IHN0cnVjdCBpaGV4X2JpbnJlYyAqKWZ3LT5kYXRhOworCWJ1aWxkID0gKHJlYy0+ZGF0YVsyXSA8PCA4KSB8IHJlYy0+ZGF0YVszXTsKKworCWRiZygiJXMgJWQuJWQuJWQiLCBmd19pbmZvLCByZWMtPmRhdGFbMF0sIHJlYy0+ZGF0YVsxXSwgYnVpbGQpOworCisJZWRnZV9zZXJpYWwtPnByb2R1Y3RfaW5mby5GaXJtd2FyZU1ham9yVmVyc2lvbiA9IGZ3LT5kYXRhWzBdOworCWVkZ2Vfc2VyaWFsLT5wcm9kdWN0X2luZm8uRmlybXdhcmVNaW5vclZlcnNpb24gPSBmdy0+ZGF0YVsxXTsKKwllZGdlX3NlcmlhbC0+cHJvZHVjdF9pbmZvLkZpcm13YXJlQnVpbGROdW1iZXIgPSBjcHVfdG9fbGUxNihidWlsZCk7CisKKwlmb3IgKHJlYyA9IGloZXhfbmV4dF9iaW5yZWMocmVjKTsgcmVjOworCSAgICAgcmVjID0gaWhleF9uZXh0X2JpbnJlYyhyZWMpKSB7CisJCU9wZXJhZGRyID0gYmUzMl90b19jcHUocmVjLT5hZGRyKTsKKwkJcmVzcG9uc2UgPSBzcmFtX3dyaXRlKGVkZ2Vfc2VyaWFsLT5zZXJpYWwsCisJCQkJICAgICBPcGVyYWRkciA+PiAxNiwKKwkJCQkgICAgIE9wZXJhZGRyICYgMHhGRkZGLAorCQkJCSAgICAgYmUxNl90b19jcHUocmVjLT5sZW4pLAorCQkJCSAgICAgJnJlYy0+ZGF0YVswXSk7CiAJCWlmIChyZXNwb25zZSA8IDApIHsKLQkJCWRldl9lcnIoJmVkZ2Vfc2VyaWFsLT5zZXJpYWwtPmRldi0+ZGV2LCAic3JhbV93cml0ZSBmYWlsZWQgKCV4LCAleCwgJWQpXG4iLCBsZTE2X3RvX2NwdShyZWNvcmQtPkV4dEFkZHIpLCBsZTE2X3RvX2NwdShyZWNvcmQtPkFkZHIpLCBsZTE2X3RvX2NwdShyZWNvcmQtPkxlbikpOwotCQkJYnJlYWs7Ci0JCX0KLQkJZmlybXdhcmUgKz0gc2l6ZW9mIChzdHJ1Y3QgZWRnZV9maXJtd2FyZV9pbWFnZV9yZWNvcmQpICsgbGUxNl90b19jcHUocmVjb3JkLT5MZW4pOwotCQlpZiAoZmlybXdhcmUgPj0gJkZpcm13YXJlSW1hZ2VbSW1hZ2VTaXplXSkgeworCQkJZGV2X2VycigmZWRnZV9zZXJpYWwtPnNlcmlhbC0+ZGV2LT5kZXYsCisJCQkJInNyYW1fd3JpdGUgZmFpbGVkICgleCwgJXgsICVkKVxuIiwKKwkJCQlPcGVyYWRkciA+PiAxNiwgT3BlcmFkZHIgJiAweEZGRkYsCisJCQkJYmUxNl90b19jcHUocmVjLT5sZW4pKTsKIAkJCWJyZWFrOwogCQl9CiAJfQpAQCAtMjgxNyw2ICsyODA1LDcgQEAKIAkJCQkgICAgVVNCX1JFUVVFU1RfSU9OX0VYRUNfRExfQ09ERSwgCiAJCQkJICAgIDB4NDAsIDB4NDAwMCwgMHgwMDAxLCBOVUxMLCAwLCAzMDAwKTsKIAorCXJlbGVhc2VfZmlybXdhcmUoZncpOwogCXJldHVybjsKIH0KIApAQCAtMjkwMyw2ICsyODkyLDEwIEBACiAvLwkJZGJnKCJzZXRfY29uZmlndXJhdGlvbiAxIik7CiAvLwkJdXNiX3NldF9jb25maWd1cmF0aW9uIChkZXYsIDEpOwogCX0KKwlkYmcoIiAgRmlybXdhcmVNYWpvclZlcnNpb24gICVkLiVkLiVkIiwKKwkgICAgZWRnZV9zZXJpYWwtPnByb2R1Y3RfaW5mby5GaXJtd2FyZU1ham9yVmVyc2lvbiwKKwkgICAgZWRnZV9zZXJpYWwtPnByb2R1Y3RfaW5mby5GaXJtd2FyZU1pbm9yVmVyc2lvbiwKKwkgICAgbGUxNl90b19jcHUoZWRnZV9zZXJpYWwtPnByb2R1Y3RfaW5mby5GaXJtd2FyZUJ1aWxkTnVtYmVyKSk7CiAKIAkvKiB3ZSBzZXQgdXAgdGhlIHBvaW50ZXJzIHRvIHRoZSBlbmRwb2ludHMgaW4gdGhlIGVkZ2Vfb3BlbiBmdW5jdGlvbiwgCiAJICogYXMgdGhlIHN0cnVjdHVyZXMgYXJlbid0IGNyZWF0ZWQgeWV0LiAqLwpAQCAtMzExNSw2ICszMTA4LDEwIEBACiBNT0RVTEVfQVVUSE9SKCBEUklWRVJfQVVUSE9SICk7CiBNT0RVTEVfREVTQ1JJUFRJT04oIERSSVZFUl9ERVNDICk7CiBNT0RVTEVfTElDRU5TRSgiR1BMIik7CitNT0RVTEVfRklSTVdBUkUoImVkZ2Vwb3J0L2Jvb3QuZnciKTsKK01PRFVMRV9GSVJNV0FSRSgiZWRnZXBvcnQvYm9vdDIuZnciKTsKK01PRFVMRV9GSVJNV0FSRSgiZWRnZXBvcnQvZG93bi5mdyIpOworTU9EVUxFX0ZJUk1XQVJFKCJlZGdlcG9ydC9kb3duMi5mdyIpOwogCiBtb2R1bGVfcGFyYW0oZGVidWcsIGJvb2wsIFNfSVJVR08gfCBTX0lXVVNSKTsKIE1PRFVMRV9QQVJNX0RFU0MoZGVidWcsICJEZWJ1ZyBlbmFibGVkIG9yIG5vdCIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Ivc2VyaWFsL2lvX2Z3X2Jvb3QuaCBiL2RyaXZlcnMvdXNiL3NlcmlhbC9pb19md19ib290LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA5OWZhZmEuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy91c2Ivc2VyaWFsL2lvX2Z3X2Jvb3QuaAorKysgL2Rldi9udWxsCkBAIC0xLDU1NiArMCwwIEBACi0vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0vLyogRWRnZXBvcnQvNCBCaW5hcnkgSW1hZ2UKLS8vKiBHZW5lcmF0ZWQgYnkgSEVYMkMgdjEuMDYKLS8vKiBDb3B5cmlnaHQgKEMpIDE5OTggSW5zaWRlIE91dCBOZXR3b3JrcywgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vKglUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotLy8qCWl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0vLyoJdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKLS8vKgkoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotCi0KLS8vSW1hZ2Ugc3RydWN0dXJlIGRlZmluaXRpb24KLSNpZiAhZGVmaW5lZChERUZJTkVEX0VER0VfRklSTVdBUkVfSU1BR0VfUkVDT1JEKQotI2RlZmluZSBERUZJTkVEX0VER0VfRklSTVdBUkVfSU1BR0VfUkVDT1JECi0Jc3RydWN0IGVkZ2VfZmlybXdhcmVfaW1hZ2VfcmVjb3JkIHsKLQkJX19sZTE2IEV4dEFkZHI7Ci0JCV9fbGUxNiBBZGRyOwotCQlfX2xlMTYgTGVuOwotCQl1bnNpZ25lZCBjaGFyICBEYXRhWzBdOwotCX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOwotCi0Jc3RydWN0IGVkZ2VfZmlybXdhcmVfdmVyc2lvbl9pbmZvIHsKLQkJdW5zaWduZWQgY2hhcgkgTWFqb3JWZXJzaW9uOwotCQl1bnNpZ25lZCBjaGFyICBNaW5vclZlcnNpb247Ci0JCXVuc2lnbmVkIHNob3J0IEJ1aWxkTnVtYmVyOwotCX07Ci0KLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoSU1BR0VfQVJSQVlfTkFNRSkKLSNkZWZpbmUgSU1BR0VfQVJSQVlfTkFNRQkJRmlybXdhcmVJbWFnZQotI2RlZmluZSBJTUFHRV9WRVJTSU9OX05BTUUJRmlybXdhcmVJbWFnZVZlcnNpb24KLSNlbmRpZgotCi1zdGF0aWMgdW5zaWduZWQgY2hhciBJTUFHRV9BUlJBWV9OQU1FW10gPSB7Ci0KLS8vIFNlZ21lbnQgIzEsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwMDAsIExlbmd0aCA2Ci0weGZmLDB4MDAsMHgwMCwweDAwLDB4MDYsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDgwLCAweDAyLCAweDAwLCAweDAzLCAKLQotLy8gU2VnbWVudCAjMiwgU3RhcnQgQWRkcmVzcyAwMGZmMDAwYiwgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDBiLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4MGIsIAotCi0vLyBTZWdtZW50ICMzLCBTdGFydCBBZGRyZXNzIDAwZmYwMDEzLCBMZW5ndGggMwotMHhmZiwweDAwLDB4MTMsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMSwgMHhiOCwgCi0KLS8vIFNlZ21lbnQgIzQsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwMWIsIExlbmd0aCAzCi0weGZmLDB4MDAsMHgxYiwweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDFiLCAKLQotLy8gU2VnbWVudCAjNSwgU3RhcnQgQWRkcmVzcyAwMGZmMDAyMywgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDIzLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4MjMsIAotCi0vLyBTZWdtZW50ICM2LCBTdGFydCBBZGRyZXNzIDAwZmYwMDJiLCBMZW5ndGggMwotMHhmZiwweDAwLDB4MmIsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHgyYiwgCi0KLS8vIFNlZ21lbnQgIzcsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwMzMsIExlbmd0aCAzCi0weGZmLDB4MDAsMHgzMywweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDMzLCAKLQotLy8gU2VnbWVudCAjOCwgU3RhcnQgQWRkcmVzcyAwMGZmMDAzYiwgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDNiLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4M2IsIAotCi0vLyBTZWdtZW50ICM5LCBTdGFydCBBZGRyZXNzIDAwZmYwMDQzLCBMZW5ndGggMwotMHhmZiwweDAwLDB4NDMsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMSwgMHhiZCwgCi0KLS8vIFNlZ21lbnQgIzEwLCBTdGFydCBBZGRyZXNzIDAwZmYwMDRiLCBMZW5ndGggMwotMHhmZiwweDAwLDB4NGIsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMSwgMHhkMCwgCi0KLS8vIFNlZ21lbnQgIzExLCBTdGFydCBBZGRyZXNzIDAwZmYwMDUzLCBMZW5ndGggMwotMHhmZiwweDAwLDB4NTMsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMSwgMHgyMSwgCi0KLS8vIFNlZ21lbnQgIzEyLCBTdGFydCBBZGRyZXNzIDAwZmYwMDdiLCBMZW5ndGggMwotMHhmZiwweDAwLDB4N2IsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHg3YiwgCi0KLS8vIFNlZ21lbnQgIzEzLCBTdGFydCBBZGRyZXNzIDAwZmYwMDgwLCBMZW5ndGggMzU4Ci0weGZmLDB4MDAsMHg4MCwweDAwLDB4NjYsMHgwMSwKLSAgICAweDdlLCAweGIwLCAweDAwLCAweDdhLCAweGIzLCAweDNmLCAweGYyLCAweDdlLCAweGY4LCAweDAwLCAweDIzLCAweDdlLCAweDAwLCAweDAxLCAweDdlLCAweDEwLCAKLSAgICAweDAwLCAweDEyLCAweDA3LCAweDVmLCAweDY5LCAweDIwLCAweDAwLCAweDBhLCAweGJlLCAweDI0LCAweDAwLCAweDAwLCAweDc4LCAweDA1LCAweDc1LCAweDkwLCAKLSAgICAweDBkLCAweDgwLCAweDAzLCAweDc1LCAweDkwLCAweDFkLCAweGQyLCAweGI1LCAweDdlLCAweDAwLCAweDAwLCAweGE1LCAweGQ4LCAweGZkLCAweDc1LCAweGE4LCAKLSAgICAweDAwLCAweDc1LCAweGIxLCAweDAwLCAweGE5LCAweGQ1LCAweDg3LCAweGNhLCAweDI5LCAweDEyLCAweDA5LCAweGNjLCAweDEyLCAweDA5LCAweGEwLCAweGY1LCAKLSAgICAweDA5LCAweDdhLCAweGExLCAweDIwLCAweDEyLCAweDAxLCAweGU2LCAweGRhLCAweDI5LCAweGE5LCAweGQwLCAweGM3LCAweDdlLCAweDAwLCAweDA1LCAweDdhLCAKLSAgICAweDAxLCAweGYxLCAweDc1LCAweGUxLCAweDEwLCAweGE5LCAweGQ3LCAweGY0LCAweGE5LCAweGQ3LCAweGU0LCAweGE1LCAweGQ4LCAweGYxLCAweDc1LCAweGYxLCAKLSAgICAweDAwLCAweDc1LCAweGUxLCAweDNmLCAweDc1LCAweGEyLCAweDAzLCAweDc1LCAweGEzLCAweDAwLCAweDc1LCAweGMwLCAweDAwLCAweDc1LCAweGMxLCAweDAwLCAKLSAgICAweGE5LCAweGQxLCAweGIxLCAweGE5LCAweGQwLCAweGIxLCAweGE5LCAweGQ1LCAweGQzLCAweGQyLCAweGFmLCAweGU0LCAweDdlLCAweDA0LCAweDI4LCAweDAwLCAKLSAgICAweDhkLCAweGVmLCAweDFiLCAweDA0LCAweDc4LCAweGZhLCAweDA0LCAweGE5LCAweDM0LCAweGQzLCAweDAzLCAweDMwLCAweGUwLCAweGVlLCAweGJlLCAweDI0LCAKLSAgICAweDAwLCAweDAwLCAweDc4LCAweDA1LCAweDYzLCAweDkwLCAweDMwLCAweDgwLCAweGUzLCAweGIyLCAweDk1LCAweDgwLCAweGRmLCAweGJlLCAweGIwLCAweDAyLCAKLSAgICAweDIyLCAweGMwLCAweGQwLCAweGE5LCAweDIwLCAweGRmLCAweDBmLCAweGE5LCAweDMxLCAweGRmLCAweDAzLCAweDAyLCAweDAxLCAweGI1LCAweDc1LCAweDA4LCAKLSAgICAweDAxLCAweDEyLCAweDA4LCAweDMzLCAweDgwLCAweGZlLCAweDc1LCAweDA4LCAweGZlLCAweDEyLCAweDA4LCAweDMzLCAweDc1LCAweGE4LCAweDAwLCAweDdlLCAKLSAgICAweGIzLCAweDNmLCAweGYyLCAweDMwLCAweGUwLCAweDRiLCAweDMwLCAweDAxLCAweDQ2LCAweGMyLCAweDkyLCAweDdlLCAweDI0LCAweDgwLCAweDAwLCAweDdlLCAKLSAgICAweDExLCAweDA5LCAweDc0LCAweDA4LCAweDE5LCAweGIyLCAweDAwLCAweDEwLCAweDc0LCAweDBlLCAweDE5LCAweGIyLCAweDAwLCAweDA0LCAweDJlLCAweDI0LCAKLSAgICAweDAxLCAweDAwLCAweGE1LCAweGQ5LCAweGVkLCAweDdlLCAweDI0LCAweDgwLCAweDAwLCAweDdlLCAweDExLCAweDA5LCAweGU0LCAweGQ1LCAweGUwLCAweGZkLCAKLSAgICAweDA5LCAweGIyLCAweDAwLCAweDA4LCAweDIwLCAweGUwLCAweDBhLCAweDA5LCAweGIyLCAweDAwLCAweDAwLCAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDgwLCAKLSAgICAweGViLCAweDJlLCAweDI0LCAweDAxLCAweDAwLCAweGE1LCAweGQ5LCAweGU0LCAweDQzLCAweDkwLCAweDMwLCAweGQyLCAweGFhLCAweDgwLCAweDA1LCAweGQyLCAKLSAgICAweGFhLCAweDQzLCAweDkwLCAweDM0LCAweGQyLCAweGFmLCAweGE5LCAweGQxLCAweDg3LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweGE5LCAweDExLCAKLSAgICAweGRmLCAweDAzLCAweGE5LCAweGQyLCAweGRmLCAweDc1LCAweDA4LCAweGZmLCAweDEyLCAweDA4LCAweDMzLCAweGMwLCAweGQxLCAweGNhLCAweDAyLCAweGZmLCAKLSAgICAweGNhLCAweDA2LCAweDgzLCAweDAwLCAweDMyLCAweGQwLCAweGQwLCAweDMyLCAweGMyLCAweDhiLCAweGMyLCAweGFhLCAweDMyLCAweDc1LCAweDA4LCAweDA4LCAKLSAgICAweDEyLCAweDA4LCAweDMzLCAweGE5LCAweGMwLCAweGIxLCAweGE5LCAweGM1LCAweGQzLCAweGE5LCAweGM2LCAweGQzLCAweGE5LCAweGQyLCAweGIxLCAweDMyLCAKLSAgICAweGNhLCAweGI4LCAweDc1LCAweDA4LCAweDAyLCAweDEyLCAweDA4LCAweDMzLCAweGU1LCAweGMwLCAweDU0LCAweDAzLCAweDY4LCAweDA1LCAweDEyLCAweDAxLCAKLSAgICAweGVlLCAweDgwLCAweGY1LCAweGRhLCAweGI4LCAweDMyLCAKLQotLy8gU2VnbWVudCAjMTQsIFN0YXJ0IEFkZHJlc3MgMDBmZjFiY2EsIExlbmd0aCAxCi0weGZmLDB4MDAsMHhjYSwweDFiLDB4MDEsMHgwMCwKLSAgICAweDAwLCAKLQotLy8gU2VnbWVudCAjMTUsIFN0YXJ0IEFkZHJlc3MgMDBmZjAxZTYsIExlbmd0aCAxNjEzCi0weGZmLDB4MDAsMHhlNiwweDAxLDB4NGQsMHgwNiwKLSAgICAweGU0LCAweDdhLCAweGIzLCAweDNmLCAweGYxLCAweDAyLCAweDAyLCAweDYzLCAweGNhLCAweDBiLCAweGNhLCAweDFiLCAweGNhLCAweDJiLCAweGNhLCAweDNiLCAKLSAgICAweGNhLCAweDRiLCAweGNhLCAweDViLCAweGNhLCAweDZiLCAweGNhLCAweDdiLCAweGNhLCAweGViLCAweGMwLCAweGYxLCAweDdlLCAweGIzLCAweDAxLCAweDJiLCAKLSAgICAweGI0LCAweDAwLCAweDAyLCAweDgwLCAweDE5LCAweGI0LCAweDAxLCAweDE2LCAweDMwLCAweGMwLCAweDA4LCAweDc1LCAweGYxLCAweDAwLCAweDEyLCAweDAyLCAKLSAgICAweDRkLCAweDgwLCAweDFmLCAweDMwLCAweGMxLCAweDFjLCAweDc1LCAweGYxLCAweDAwLCAweDEyLCAweDAyLCAweGRlLCAweDgwLCAweDE0LCAweDMwLCAweGMxLCAKLSAgICAweDA4LCAweDc1LCAweGYxLCAweDAwLCAweDEyLCAweDAyLCAweGRlLCAweDgwLCAweDA5LCAweDMwLCAweGMwLCAweDA2LCAweDc1LCAweGYxLCAweDAwLCAweDEyLCAKLSAgICAweDAyLCAweDRkLCAweGQwLCAweGYxLCAweGRhLCAweGViLCAweGRhLCAweDdiLCAweGRhLCAweDZiLCAweGRhLCAweDViLCAweGRhLCAweDRiLCAweGRhLCAweDNiLCAKLSAgICAweGRhLCAweDJiLCAweGRhLCAweDFiLCAweGRhLCAweDBiLCAweDIyLCAweGMyLCAweGMwLCAweDdlLCAweGIzLCAweDAxLCAweDJiLCAweGI0LCAweDAyLCAweDA3LCAKLSAgICAweDEyLCAweDAyLCAweDZmLCAweDAyLCAweDAyLCAweDYzLCAweDIyLCAweGI0LCAweDAxLCAweGZjLCAweDAyLCAweDAyLCAweGE5LCAweDdlLCAweDAwLCAweDAwLCAKLSAgICAweDdhLCAweDAzLCAweDAxLCAweDJiLCAweDdhLCAweDAzLCAweDAxLCAweDJjLCAweDIyLCAweDdlLCAweGIzLCAweDAxLCAweDIzLCAweDU0LCAweDYwLCAweDYwLCAKLSAgICAweDA1LCAweGI0LCAweDQwLCAweDE1LCAweDgwLCAweDEzLCAweDdlLCAweGIzLCAweDAxLCAweDI0LCAweGI0LCAweDA1LCAweDBjLCAweDc1LCAweDA4LCAweDcxLCAKLSAgICAweDEyLCAweDA4LCAweDMzLCAweDdlLCAweGIzLCAweDAxLCAweDI2LCAweGY1LCAweDhmLCAweDIyLCAweDc1LCAweGY2LCAweDAwLCAweDIyLCAweGJlLCAweDU3LCAKLSAgICAweDAxLCAweDI5LCAweDI4LCAweDA0LCAweDdlLCAweDU3LCAweDAxLCAweDI5LCAweDdhLCAweDBmLCAweDAxLCAweDJlLCAweDdhLCAweDU3LCAweDAxLCAweDMyLCAKLSAgICAweDAyLCAweDAyLCAweGE5LCAweDdlLCAweGVmLCAweDAxLCAweDJlLCAweDdlLCAweGY3LCAweDAxLCAweDMyLCAweDdlLCAweDA3LCAweDAxLCAweDMyLCAweDRkLCAKLSAgICAweDAwLCAweDY4LCAweDIxLCAweDdlLCAweDAwLCAweDAwLCAweDdlLCAweGViLCAweGIwLCAweGY1LCAweGYzLCAweGEzLCAweGE1LCAweDA4LCAweDFiLCAweGY0LCAKLSAgICAweDY4LCAweDA0LCAweGE1LCAweGI4LCAweDA4LCAweGYwLCAweDdhLCAweGVmLCAweDAxLCAweDJlLCAweDdhLCAweGY3LCAweDAxLCAweDMyLCAweDc1LCAweDA4LCAKLSAgICAweDA2LCAweDEyLCAweDA4LCAweDMzLCAweDdhLCAweDAxLCAweGY2LCAweDIyLCAweGMyLCAweGMxLCAweDc1LCAweDA4LCAweDAzLCAweDEyLCAweDA4LCAweDMzLCAKLSAgICAweGE5LCAweDM2LCAweGUyLCAweDE2LCAweGU1LCAweGY1LCAweDU0LCAweGMwLCAweDY4LCAweDA3LCAweGE5LCAweGQ3LCAweGY0LCAweGE5LCAweDI3LCAweGY0LCAKLSAgICAweGZjLCAweDUzLCAweGUxLCAweDNmLCAweDQzLCAweGYyLCAweDg4LCAweDAyLCAweDAzLCAweDU1LCAweDdlLCAweGIzLCAweDAxLCAweDJjLCAweGI0LCAweDAyLCAKLSAgICAweDBmLCAweGE5LCAweGQ0LCAweGU0LCAweDdlLCAweGIwLCAweDAwLCAweDdhLCAweGIzLCAweDAxLCAweDJjLCAweDdhLCAweGIzLCAweDAxLCAweDJiLCAweDIyLCAKLSAgICAweGI0LCAweDAxLCAweDM5LCAweDdlLCAweDIxLCAweGU2LCAweDdjLCAweDMyLCAweDdlLCAweDEzLCAweDAxLCAweDJkLCAweDJjLCAweDIxLCAweDdhLCAweDIzLCAKLSAgICAweDAxLCAweDJkLCAweDdlLCAweDAwLCAweDAwLCAweDJlLCAweDA0LCAweDAxLCAweDM0LCAweGU1LCAweGUzLCAweDdhLCAweDA5LCAweGIwLCAweDBiLCAweDA0LCAKLSAgICAweGE1LCAweGRiLCAweGY2LCAweGE5LCAweGQ0LCAweGU0LCAweDc1LCAweDA4LCAweDcwLCAweDEyLCAweDA4LCAweDMzLCAweDdlLCAweGIzLCAweDAxLCAweDJkLCAKLSAgICAweDdlLCAweGEzLCAweDAxLCAweDJhLCAweGJjLCAweGFiLCAweDc4LCAweDAzLCAweDEyLCAweDAzLCAweGVjLCAweDIyLCAweDAyLCAweDA3LCAweDU1LCAweGU1LCAKLSAgICAweGU2LCAweGI0LCAweDA4LCAweDY1LCAweGE5LCAweGM0LCAweGUyLCAweDdlLCAweDAxLCAweGUzLCAweDdlLCAweDExLCAweGUzLCAweDdlLCAweDMxLCAweGUzLCAKLSAgICAweDdlLCAweDIxLCAweGUzLCAweDdlLCAweDUxLCAweGUzLCAweDdlLCAweDQxLCAweGUzLCAweDdlLCAweDcxLCAweGUzLCAweDdlLCAweDYxLCAweGUzLCAweDdhLCAKLSAgICAweDBmLCAweDAxLCAweDIzLCAweDdhLCAweDFmLCAweDAxLCAweDI3LCAweDc1LCAweDA4LCAweDA0LCAweDEyLCAweDA4LCAweDMzLCAweDdhLCAweDAxLCAweDA4LCAKLSAgICAweDEyLCAweDA4LCAweDMzLCAweDdhLCAweDExLCAweDA4LCAweDEyLCAweDA4LCAweDMzLCAweDdhLCAweDIxLCAweDA4LCAweDEyLCAweDA4LCAweDMzLCAweDdhLCAKLSAgICAweDMxLCAweDA4LCAweDEyLCAweDA4LCAweDMzLCAweDdhLCAweDQxLCAweDA4LCAweDEyLCAweDA4LCAweDMzLCAweDdhLCAweDUxLCAweDA4LCAweDEyLCAweDA4LCAKLSAgICAweDMzLCAweDdhLCAweDYxLCAweDA4LCAweDEyLCAweDA4LCAweDMzLCAweDdhLCAweDcxLCAweDA4LCAweDEyLCAweDA4LCAweDMzLCAweGE5LCAweGQ0LCAweGU0LCAKLSAgICAweGE5LCAweGQ3LCAweGY0LCAweGE5LCAweGM2LCAweGUyLCAweDEyLCAweDAzLCAweGMwLCAweDIyLCAweDZkLCAweDAwLCAweDdlLCAweDE0LCAweDAxLCAweDAyLCAKLSAgICAweDdhLCAweDA3LCAweDAxLCAweDMyLCAweDdhLCAweDAzLCAweDAxLCAweDJkLCAweDdlLCAweGIzLCAweDAxLCAweDIzLCAweDIwLCAweGU3LCAweDBmLCAweDdhLCAKLSAgICAweDIzLCAweDAxLCAweDJjLCAweDdhLCAweDMzLCAweDAxLCAweDJiLCAweGJlLCAweDA3LCAweDAxLCAweDI5LCAweDY4LCAweDA5LCAweDIyLCAweDdhLCAweDMzLCAKLSAgICAweDAxLCAweDJjLCAweDdhLCAweDIzLCAweDAxLCAweDJiLCAweDdlLCAweGIzLCAweDAxLCAweDIzLCAweDU0LCAweGUzLCAweDIzLCAweDIzLCAweDMwLCAweGUwLCAKLSAgICAweDAyLCAweGQyLCAweGU1LCAweDMwLCAweGU3LCAweDAyLCAweGQyLCAweGU0LCAweDMwLCAweGU1LCAweDA2LCAweDMwLCAweGU0LCAweDAzLCAweDAyLCAweDA3LCAKLSAgICAweDU1LCAweDU0LCAweDNlLCAweGY1LCAweGYwLCAweDAzLCAweDU0LCAweDFmLCAweGMzLCAweDI1LCAweGYwLCAweDkwLCAweDA0LCAweDE4LCAweDc1LCAweDg0LCAKLSAgICAweGZmLCAweDczLCAweDAyLCAweDA1LCAweDZjLCAweDAyLCAweDA0LCAweDYwLCAweDAyLCAweDA2LCAweDA5LCAweDAyLCAweDA2LCAweDI0LCAweDAyLCAweDA1LCAKLSAgICAweDA1LCAweDAyLCAweDA0LCAweGM2LCAweDAyLCAweDA2LCAweDNkLCAweDAyLCAweDA2LCAweDNkLCAweDAyLCAweDA2LCAweDQwLCAweDAyLCAweDA2LCAweDQwLCAKLSAgICAweDAyLCAweDA2LCAweDQwLCAweDAyLCAweDA2LCAweDQwLCAweDAyLCAweDA2LCAweDQwLCAweDAyLCAweDA2LCAweDQwLCAweDAyLCAweDA2LCAweDQwLCAweDAyLCAKLSAgICAweDA2LCAweDQwLCAweDAyLCAweDA2LCAweDQ2LCAweDAyLCAweDA2LCAweGZhLCAweDAyLCAweDA2LCAweDQzLCAweDAyLCAweDA2LCAweDQzLCAweDAyLCAweDA2LCAKLSAgICAweDQzLCAweDAyLCAweDA2LCAweDQzLCAweDAyLCAweDA2LCAweDQzLCAweDAyLCAweDA2LCAweDQzLCAweDdlLCAweGIzLCAweDAxLCAweDI0LCAweGI0LCAweDA2LCAKLSAgICAweDJhLCAweDdlLCAweGIzLCAweDAxLCAweDI1LCAweDYwLCAweDU2LCAweDdjLCAweDBiLCAweDdlLCAweDEzLCAweDAxLCAweDI2LCAweDdlLCAweDE3LCAweDAxLCAKLSAgICAweDI3LCAweDc1LCAweDA4LCAweDcyLCAweDEyLCAweDA4LCAweDMzLCAweDdhLCAweDAxLCAweDA4LCAweDEyLCAweDA4LCAweDMzLCAweDdhLCAweDExLCAweDA4LCAKLSAgICAweDEyLCAweDA4LCAweDMzLCAweDEyLCAweDA3LCAweDVmLCAweDQwLCAweDM1LCAweDAyLCAweDAyLCAweDk0LCAweGI0LCAweDA4LCAweDEwLCAweDc1LCAweDA4LCAKLSAgICAweDc0LCAweDEyLCAweDA4LCAweDMzLCAweDdlLCAweGIzLCAweDNmLCAweGYxLCAweGY1LCAweGYzLCAweDc1LCAweGY2LCAweDAxLCAweDIyLCAweGI0LCAweDAwLCAKLSAgICAweDFjLCAweDc1LCAweDA4LCAweDc1LCAweDEyLCAweDA4LCAweDMzLCAweDdlLCAweGIzLCAweDNmLCAweGYyLCAweDMwLCAweGUwLCAweDA1LCAweDc1LCAweGYzLCAKLSAgICAweDAyLCAweDgwLCAweDAzLCAweDc1LCAweGYzLCAweDAwLCAweDc1LCAweGYzLCAweDAwLCAweDc1LCAweGY2LCAweDAyLCAweDIyLCAweDAyLCAweDA3LCAweDU1LCAKLSAgICAweDdlLCAweGIzLCAweDAxLCAweDI0LCAweGI0LCAweDAwLCAweDM1LCAweDc1LCAweDA4LCAweDc2LCAweDEyLCAweDA4LCAweDMzLCAweDdlLCAweGIzLCAweDAxLCAKLSAgICAweDI4LCAweDU0LCAweDBmLCAweGY1LCAweGYxLCAweDdlLCAweGIzLCAweDAxLCAweDI4LCAweDIwLCAweGU3LCAweDA5LCAweGU1LCAweGUxLCAweDMwLCAweGU3LCAKLSAgICAweDBkLCAweDc0LCAweDAxLCAweDgwLCAweDBiLCAweGU1LCAweGUxLCAweDMwLCAweGU2LCAweDA0LCAweDc0LCAweDAxLCAweDgwLCAweDAyLCAweDc0LCAweDAwLCAKLSAgICAweDUzLCAweGYxLCAweDgwLCAweGY1LCAweGYzLCAweDc1LCAweGYzLCAweDAwLCAweDc1LCAweGY2LCAweDAyLCAweDIyLCAweDAyLCAweDA3LCAweDU1LCAweGMwLCAKLSAgICAweGYxLCAweDdlLCAweGIzLCAweDAxLCAweDI4LCAweDU0LCAweDBmLCAweDQyLCAweGYxLCAweDdlLCAweGIzLCAweDAxLCAweDI2LCAweGI0LCAweDAwLCAweDQ1LCAKLSAgICAweDdlLCAweGIzLCAweDAxLCAweDI0LCAweGI0LCAweDAxLCAweDI0LCAweDc1LCAweDA4LCAweDc3LCAweDEyLCAweDA4LCAweDMzLCAweDdlLCAweGIzLCAweDAxLCAKLSAgICAweDI4LCAweDU0LCAweDBmLCAweDc4LCAweDA1LCAweDUzLCAweGUxLCAweDNmLCAweDgwLCAweDM3LCAweDdlLCAweGIzLCAweDAxLCAweDI4LCAweDIwLCAweGU3LCAKLSAgICAweDA1LCAweDUzLCAweGUxLCAweDdmLCAweDgwLCAweDJiLCAweDUzLCAweGUxLCAweGJmLCAweDgwLCAweDI2LCAweGI0LCAweDAzLCAweDE3LCAweDc1LCAweDA4LCAKLSAgICAweDc4LCAweDEyLCAweDA4LCAweDMzLCAweDdlLCAweGIzLCAweDAxLCAweDI4LCAweDIwLCAweGU3LCAweDA1LCAweDQzLCAweGUxLCAweDgwLCAweDgwLCAweDExLCAKLSAgICAweDQzLCAweGUxLCAweDQwLCAweDgwLCAweDBjLCAweDQzLCAweGUxLCAweGMwLCAweGQwLCAweGYxLCAweDc1LCAweDA4LCAweDA3LCAweDEyLCAweDA4LCAweDMzLCAKLSAgICAweDIyLCAweGQwLCAweGYxLCAweDAyLCAweDAyLCAweDkwLCAweDdlLCAweGIzLCAweDAxLCAweDI0LCAweGI0LCAweDA5LCAweDIzLCAweDc1LCAweDA4LCAweDc5LCAKLSAgICAweDEyLCAweDA4LCAweDMzLCAweDdlLCAweGIzLCAweDAxLCAweDI2LCAweGJlLCAweGIzLCAweDNmLCAweGYxLCAweDY4LCAweDExLCAweGNhLCAweGI4LCAweGMwLCAKLSAgICAweGYxLCAweDEyLCAweDAxLCAweDFkLCAweGQwLCAweGYxLCAweGRhLCAweGI4LCAweDUwLCAweDc2LCAweDdhLCAweGIzLCAweDNmLCAweGYxLCAweDgwLCAweDZkLCAKLSAgICAweGI0LCAweDA1LCAweDA4LCAweDc1LCAweDA4LCAweDdhLCAweDEyLCAweDA4LCAweDMzLCAweDgwLCAweDYyLCAweGI0LCAweDAzLCAweDE5LCAweDc1LCAweDA4LCAKLSAgICAweDdiLCAweDEyLCAweDA4LCAweDMzLCAweDdlLCAweGIzLCAweDAxLCAweDI2LCAweGI0LCAweDAxLCAweDU1LCAweDdlLCAweGIzLCAweDNmLCAweGYyLCAweDQ0LCAKLSAgICAweDAxLCAweDdhLCAweGIzLCAweDNmLCAweGYyLCAweDgwLCAweDQ2LCAweGI0LCAweDAxLCAweDE5LCAweDc1LCAweDA4LCAweDdjLCAweDEyLCAweDA4LCAweDMzLCAKLSAgICAweDdlLCAweGIzLCAweDAxLCAweDI2LCAweGI0LCAweDAxLCAweDM5LCAweDdlLCAweGIzLCAweDNmLCAweGYyLCAweDU0LCAweGZlLCAweDdhLCAweGIzLCAweDNmLCAKLSAgICAweGYyLCAweDgwLCAweDJhLCAweGI0LCAweDA3LCAweDJhLCAweDdlLCAweGIzLCAweDAxLCAweDI1LCAweDYwLCAweDI0LCAweDdjLCAweDBiLCAweDdlLCAweDEzLCAKLSAgICAweDAxLCAweDI2LCAweDdlLCAweDE3LCAweDAxLCAweDI3LCAweDc1LCAweDA4LCAweDczLCAweDEyLCAweDA4LCAweDMzLCAweDdhLCAweDAxLCAweDA4LCAweDEyLCAKLSAgICAweDA4LCAweDMzLCAweDdhLCAweDExLCAweDA4LCAweDEyLCAweDA4LCAweDMzLCAweDEyLCAweDA3LCAweDhiLCAweDQwLCAweDAzLCAweDAyLCAweDAyLCAweDkwLCAKLSAgICAweDAyLCAweDA3LCAweDU1LCAweDdlLCAweGIzLCAweDAxLCAweDI0LCAweGI0LCAweDBiLCAweGY2LCAweDc1LCAweDA4LCAweDdkLCAweDEyLCAweDA4LCAweDMzLCAKLSAgICAweDdlLCAweGIzLCAweDAxLCAweDI2LCAweDdlLCAweGEzLCAweDAxLCAweDI4LCAweDRjLCAweGFiLCAweDc4LCAweGU0LCAweDgwLCAweGRmLCAweDdlLCAweGIzLCAKLSAgICAweDAxLCAweDI0LCAweGI0LCAweDBhLCAweGRiLCAweDc1LCAweDA4LCAweDdlLCAweDEyLCAweDA4LCAweDMzLCAweDdlLCAweGIzLCAweDAxLCAweDI2LCAweDcwLCAKLSAgICAweGNmLCAweGY1LCAweGYzLCAweDc1LCAweGY2LCAweDAxLCAweDIyLCAweDAyLCAweDA3LCAweDU1LCAweDAyLCAweDA3LCAweDU1LCAweDAyLCAweDA3LCAweDU1LCAKLSAgICAweDdlLCAweGIzLCAweDAxLCAweDI0LCAweGI0LCAweDA0LCAweDIwLCAweDc1LCAweDA4LCAweGMzLCAweDEyLCAweDA4LCAweDMzLCAweDdlLCAweDA0LCAweDAwLCAKLSAgICAweDAxLCAweDdlLCAweDE3LCAweDAxLCAweDI1LCAweDdlLCAweDE4LCAweDAxLCAweDM0LCAweDdhLCAweDFjLCAweDAwLCAweDAwLCAweDdlLCAweDQ3LCAweDAxLCAKLSAgICAweDI5LCAweDEyLCAweDA4LCAweDNmLCAweDAyLCAweDA2LCAweGY0LCAweGI0LCAweDA2LCAweDNhLCAweDc1LCAweDA4LCAweGMxLCAweDEyLCAweDA4LCAweDMzLCAKLSAgICAweDdlLCAweDU4LCAweDAwLCAweDAwLCAweDdhLCAweDVjLCAweDAwLCAweGZlLCAweDdkLCAweGNhLCAweDdlLCAweGQ3LCAweDAxLCAweDI1LCAweDdlLCAweDc4LCAKLSAgICAweDAxLCAweDM0LCAweDdhLCAweDdjLCAweDAwLCAweDAwLCAweDdlLCAweDc3LCAweDAxLCAweDI5LCAweDc1LCAweDA4LCAweGMxLCAweDEyLCAweDA4LCAweDMzLCAKLSAgICAweGMwLCAweGE4LCAweGMwLCAweDg3LCAweGMyLCAweGFmLCAweGE5LCAweGQ1LCAweDg3LCAweDEyLCAweDA4LCAweGQ2LCAweGQwLCAweDg3LCAweGQwLCAweGE4LCAKLSAgICAweDQwLCAweDRmLCAweDgwLCAweDRhLCAweGI0LCAweDAwLCAweDFjLCAweGMyLCAweGFmLCAweGE5LCAweGQ1LCAweDg3LCAweDEyLCAweDAyLCAweDkwLCAweGU0LCAKLSAgICAweDhkLCAweGVmLCAweDhkLCAweGVmLCAweDhkLCAweGVmLCAweGQ1LCAweGUwLCAweGY3LCAweGMwLCAweGQxLCAweGNhLCAweDAyLCAweGZmLCAweGNhLCAweDA2LCAKLSAgICAweDAwLCAweDAwLCAweDMyLCAweGI0LCAweDA5LCAweDEyLCAweDdlLCAweDU3LCAweDAxLCAweDI1LCAweDRkLCAweDU1LCAweDY4LCAweDA1LCAweGE5LCAweGQyLCAKLSAgICAweGIxLCAweDgwLCAweDAzLCAweGE5LCAweGMyLCAweGIxLCAweDgwLCAweDE2LCAweGI0LCAweDA3LCAweDE2LCAweGMyLCAweGFmLCAweDdlLCAweDA3LCAweDAxLCAKLSAgICAweDI3LCAweDdlLCAweDE3LCAweDAxLCAweDI1LCAweGMwLCAweGQxLCAweGNhLCAweDE4LCAweGNhLCAweDM4LCAweGNhLCAweDI4LCAweDMyLCAweDAyLCAweDAyLCAKLSAgICAweDkwLCAweDAyLCAweDA3LCAweDU1LCAweDdlLCAweGIzLCAweDAxLCAweDI0LCAweGI0LCAweDAzLCAweDE1LCAweDc1LCAweDA4LCAweGMyLCAweDEyLCAweDA4LCAKLSAgICAweDMzLCAweDdlLCAweDA0LCAweDAwLCAweDAxLCAweDdlLCAweDE3LCAweDAxLCAweDI1LCAweDdlLCAweDU3LCAweDAxLCAweDI5LCAweDAyLCAweDAyLCAweDk0LCAKLSAgICAweGI0LCAweDA1LCAweDM5LCAweDc1LCAweDA4LCAweGMwLCAweDEyLCAweDA4LCAweDMzLCAweGMwLCAweGE4LCAweGMwLCAweDg3LCAweGMyLCAweGFmLCAweGE5LCAKLSAgICAweGQ1LCAweDg3LCAweDdlLCAweDA4LCAweDAxLCAweDM0LCAweDdhLCAweDBjLCAweDAwLCAweDAwLCAweDdlLCAweDI0LCAweDAwLCAweGZlLCAweDdlLCAweDM3LCAKLSAgICAweDAxLCAweDI1LCAweDdlLCAweDQ3LCAweDAxLCAweDI5LCAweDEyLCAweDA4LCAweDNmLCAweGQwLCAweDg3LCAweGQwLCAweGE4LCAweDdlLCAweDA4LCAweDAxLCAKLSAgICAweDM0LCAweDdhLCAweDBjLCAweDAwLCAweDAwLCAweDdlLCAweDU3LCAweDAxLCAweDI5LCAweDAyLCAweDAyLCAweDk0LCAweDAyLCAweDA3LCAweDU1LCAweDc1LCAKLSAgICAweDA4LCAweDA3LCAweDEyLCAweDA4LCAweDMzLCAweDQzLCAweGUxLCAweGMwLCAweDIyLCAweGMwLCAweGE4LCAweGMwLCAweDg3LCAweGMyLCAweGFmLCAweGE5LCAKLSAgICAweGQ1LCAweDg3LCAweDEyLCAweDA3LCAweGNhLCAweDQwLCAweDE5LCAweDdlLCAweDA4LCAweDAxLCAweDM0LCAweDdhLCAweDBjLCAweDAwLCAweDAwLCAweGNhLCAKLSAgICAweDBiLCAweGNhLCAweDQ5LCAweDEyLCAweDA4LCAweDNmLCAweGRhLCAweDU5LCAweGRhLCAweDBiLCAweGQwLCAweDg3LCAweGQwLCAweGE4LCAweGMzLCAweDIyLCAKLSAgICAweGQwLCAweDg3LCAweGQwLCAweGE4LCAweDIyLCAweGMwLCAweGE4LCAweGMwLCAweDg3LCAweGMyLCAweGFmLCAweGE5LCAweGQ1LCAweDg3LCAweDEyLCAweDA3LCAKLSAgICAweGNhLCAweDQwLCAweDJiLCAweDdlLCAweDU4LCAweDAwLCAweDAwLCAweDdhLCAweDVjLCAweDAwLCAweGZlLCAweDdmLCAweDYxLCAweDdlLCAweDc4LCAweDAxLCAKLSAgICAweDM0LCAweDdhLCAweDdjLCAweDAwLCAweDAwLCAweDdlLCAweDc3LCAweDAxLCAweDI5LCAweGJkLCAweDc0LCAweDc4LCAweDExLCAweDc1LCAweDA4LCAweGMxLCAKLSAgICAweDEyLCAweDA4LCAweDMzLCAweDEyLCAweDA4LCAweGQ2LCAweDQwLCAweDA2LCAweGQwLCAweDg3LCAweGQwLCAweGE4LCAweGMzLCAweDIyLCAweGQwLCAweDg3LCAKLSAgICAweGQwLCAweGE4LCAweGQzLCAweDIyLCAweDdlLCAweDI0LCAweDAwLCAweGZlLCAweDdlLCAweDM0LCAweDdmLCAweGNhLCAweDBiLCAweDFhLCAweDUwLCAweGM1LCAKLSAgICAweGYwLCAweDdkLCAweDYyLCAweDdkLCAweDc1LCAweDdkLCAweDg3LCAweDdlLCAweDM0LCAweDdmLCAweDAzLCAweDdlLCAweDFiLCAweGIwLCAweGJjLCAweDBiLCAKLSAgICAweDUwLCAweDQ5LCAweDNlLCAweDAwLCAweDNlLCAweDAwLCAweDBhLCAweDUwLCAweDJkLCAweDc1LCAweDBiLCAweDNhLCAweDMwLCAweDY5LCAweDUzLCAweDAwLCAKLSAgICAweDAyLCAweGJkLCAweDM4LCAweDUwLCAweDAyLCAweDJkLCAweDM4LCAweGJjLCAweDFiLCAweDUwLCAweDMwLCAweDNlLCAweDEwLCAweDNlLCAweDEwLCAweDBhLCAKLSAgICAweDUxLCAweDJkLCAweDM1LCAweDY5LCAweDQxLCAweDAwLCAweDAyLCAweDBiLCAweDFhLCAweDMwLCAweGJkLCAweDM4LCAweDUwLCAweDAyLCAweDJkLCAweDM4LCAKLSAgICAweGJlLCAweDQ0LCAweGZmLCAweGZmLCAweDc4LCAweDA1LCAweDdlLCAweDFiLCAweDkwLCAweDBhLCAweDQ5LCAweDRkLCAweDQ0LCAweDY4LCAweDBjLCAweGJlLCAKLSAgICAweDQ0LCAweDAwLCAweGZmLCAweDI4LCAweDA0LCAweDdlLCAweDQ0LCAweDAwLCAweGZmLCAweGMzLCAweDIyLCAweGQzLCAweDIyLCAKLQotLy8gU2VnbWVudCAjMTYsIEVYQ0xVREVEIFN0YXJ0IEFkZHJlc3MgMDBmZjdjMDAsIExlbmd0aCAxOTkKLQotCi0vLyBTZWdtZW50ICMxNywgRVhDTFVERUQgU3RhcnQgQWRkcmVzcyAwMGZmN2YwMCwgTGVuZ3RoIDE5MgotCi0KLS8vIFNlZ21lbnQgIzE3LCBTdGFydCBBZGRyZXNzIDAwZmY3ZmMwLCBMZW5ndGggNjQKLTB4ZmYsMHgwMCwweGMwLDB4N2YsMHg0MCwweDAwLAotICAgIDB4NDAsIDB4MDEsIDB4MDIsIDB4MDAsIDB4Y2EsIDB4MWIsIDB4MDEsIDB4MGMsIDB4MDIsIDB4MDAsIDB4MDAsIDB4N2MsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MDAsIAotICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIAotICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIAotICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4ZjEsIDB4N2YsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIAotCi0vLyBTZWdtZW50ICMxOCwgU3RhcnQgQWRkcmVzcyAwMGZmMDgzMywgTGVuZ3RoIDUwMTUKLTB4ZmYsMHgwMCwweDMzLDB4MDgsMHg5NywweDEzLAotICAgIDB4Y2EsIDB4MDgsIDB4N2UsIDB4MDEsIDB4MDgsIDB4N2EsIDB4MDMsIDB4M2YsIDB4ZjAsIDB4ZGEsIDB4MDgsIDB4MjIsIDB4ODAsIDB4NTAsIDB4MGIsIDB4MWEsIAotICAgIDB4NjAsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MWEsIDB4NzAsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MWEsIDB4ODAsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MWEsIDB4OTAsIAotICAgIDB4MGIsIDB4MzUsIDB4MGIsIDB4MWEsIDB4YTAsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MWEsIDB4YjAsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MWEsIDB4YzAsIDB4MGIsIAotICAgIDB4MzUsIDB4MGIsIDB4MWEsIDB4ZDAsIDB4MGIsIDB4MzUsIDB4MWIsIDB4MGEsIDB4NjAsIDB4MGIsIDB4MTUsIDB4MWIsIDB4MGEsIDB4NzAsIDB4MGIsIDB4MTUsIAotICAgIDB4MWIsIDB4MGEsIDB4ODAsIDB4MGIsIDB4MTUsIDB4MWIsIDB4MGEsIDB4OTAsIDB4MGIsIDB4MTUsIDB4MWIsIDB4MGEsIDB4YTAsIDB4MGIsIDB4MTUsIDB4MWIsIAotICAgIDB4MGEsIDB4YjAsIDB4MGIsIDB4MTUsIDB4MWIsIDB4MGEsIDB4YzAsIDB4MGIsIDB4MTUsIDB4MWIsIDB4MGEsIDB4ZDAsIDB4MGIsIDB4MTUsIDB4OWUsIDB4NDQsIAotICAgIDB4MDAsIDB4MTAsIDB4NTAsIDB4YWEsIDB4MmUsIDB4NDQsIDB4MDAsIDB4MTAsIDB4NjgsIDB4MGUsIDB4N2UsIDB4MWIsIDB4YzAsIDB4N2EsIDB4MGIsIDB4YzAsIAotICAgIDB4MGIsIDB4MTQsIDB4MGIsIDB4MzQsIDB4MWIsIDB4NDQsIDB4NzgsIDB4ZjIsIDB4MjIsIDB4N2YsIDB4NmYsIDB4N2YsIDB4ZjAsIDB4MWIsIDB4ZmMsIDB4N2MsIAotICAgIDB4NTQsIDB4N2QsIDB4MzIsIDB4ODAsIDB4MDgsIDB4Y2EsIDB4MWIsIDB4Y2EsIDB4MWIsIDB4Y2EsIDB4MWIsIDB4Y2EsIDB4MWIsIDB4OWUsIDB4NDQsIDB4MDAsIAotICAgIDB4MTAsIDB4NTAsIDB4ZjIsIDB4MmUsIDB4NDQsIDB4MDAsIDB4MTAsIDB4NjgsIDB4MDYsIDB4Y2EsIDB4NDgsIDB4MWIsIDB4NDQsIDB4NzgsIDB4ZmEsIDB4N2YsIAotICAgIDB4ZjYsIDB4ODksIDB4ZTQsIDB4Y2EsIDB4NmIsIDB4NWUsIDB4ZDQsIDB4MDAsIDB4M2YsIDB4NjgsIDB4MjAsIDB4N2UsIDB4ODQsIDB4MDAsIDB4NDAsIDB4OWQsIAotICAgIDB4OGQsIDB4ZGEsIDB4NmIsIDB4YmQsIDB4ODcsIDB4MzgsIDB4MTYsIDB4Y2EsIDB4NzksIDB4N2QsIDB4NzgsIDB4MTIsIDB4MDksIDB4MDAsIDB4ZGEsIDB4NzksIAotICAgIDB4NDAsIDB4MDgsIDB4OWQsIDB4NzgsIDB4NjgsIDB4MDIsIDB4ODAsIDB4MDUsIDB4YzIsIDB4ZDcsIDB4MjIsIDB4ZGEsIDB4NmIsIDB4NDMsIDB4OTAsIDB4MzAsIAotICAgIDB4NzQsIDB4YWEsIDB4MzksIDB4YjUsIDB4NTUsIDB4NTUsIDB4NzQsIDB4NTUsIDB4MzksIDB4YjUsIDB4MmEsIDB4YWEsIDB4NzQsIDB4YTAsIDB4MzksIDB4YjUsIAotICAgIDB4NTUsIDB4NTUsIDB4N2UsIDB4MDQsIDB4MDAsIDB4NDAsIDB4OWQsIDB4NzAsIDB4NTAsIDB4MDYsIDB4MmQsIDB4NzAsIDB4N2QsIDB4MDcsIDB4NmQsIDB4NzcsIAotICAgIDB4N2MsIDB4MzEsIDB4N2UsIDB4N2IsIDB4MDAsIDB4N2EsIDB4NmIsIDB4MDAsIDB4MGIsIDB4N2MsIDB4MGIsIDB4NmMsIDB4YTUsIDB4ZDksIDB4ZjMsIDB4N2YsIAotICAgIDB4MTYsIDB4MWIsIDB4MWMsIDB4N2UsIDB4NTQsIDB4MjcsIDB4MTAsIDB4N2UsIDB4MWIsIDB4MTAsIDB4YmMsIDB4MTAsIDB4NjgsIDB4MDYsIDB4MWIsIDB4NTQsIAotICAgIDB4NzgsIDB4ZjUsIDB4ODAsIDB4MmMsIDB4NmQsIDB4MDAsIDB4N2MsIDB4MjAsIDB4N2YsIDB4MTYsIDB4OWYsIDB4MTAsIDB4N2YsIDB4MjcsIDB4OWYsIDB4MjAsIAotICAgIDB4N2UsIDB4MmIsIDB4MDAsIDB4N2UsIDB4MWIsIDB4MTAsIDB4YmMsIDB4MDEsIDB4NzgsIDB4MTYsIDB4MGIsIDB4MmMsIDB4MGIsIDB4MWMsIDB4YTUsIDB4ZGIsIAotICAgIDB4ZWYsIDB4N2MsIDB4YjYsIDB4MjAsIDB4ZTAsIDB4MDMsIDB4NjMsIDB4OTAsIDB4MzAsIDB4NGQsIDB4NzcsIDB4NzgsIDB4OTMsIDB4YzIsIDB4ZDcsIDB4MjIsIAotICAgIDB4ZDIsIDB4ZDcsIDB4MjIsIDB4MDAsIDB4MDQsIDB4MDAsIDB4MDQsIDB4MDAsIDB4MDAsIDB4MDYsIDB4MDQsIDB4MDIsIDB4MDQsIDB4MDAsIDB4MDIsIDB4MDEsIAotICAgIDB4MDQsIDB4MDEsIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MDIsIDB4MDIsIDB4MDIsIDB4MDIsIAotICAgIDB4MDQsIDB4MDAsIDB4MDgsIDB4MTAsIDB4MDIsIDB4MTAsIDB4MDQsIDB4MDIsIDB4MDgsIDB4MDAsIDB4MDEsIDB4MDEsIDB4MDgsIDB4N2UsIDB4MTgsIDB4N2YsIAotICAgIDB4YmQsIDB4N2EsIDB4MWMsIDB4MDAsIDB4ZmYsIDB4MGIsIDB4MWEsIDB4MDAsIDB4YmUsIDB4MTAsIDB4MTQsIDB4MzgsIDB4MWEsIDB4MGEsIDB4NTEsIDB4MjMsIAotICAgIDB4N2UsIDB4MTgsIDB4MDksIDB4NzYsIDB4N2EsIDB4MWMsIDB4MDAsIDB4ZmYsIDB4MmQsIDB4MzUsIDB4MGIsIDB4MWEsIDB4NTAsIDB4NjAsIDB4MDgsIDB4YTUsIAotICAgIDB4YjgsIDB4MDIsIDB4MDMsIDB4NGUsIDB4YTAsIDB4MDgsIDB4MjIsIDB4ODAsIDB4ZmUsIDB4N2UsIDB4ZTgsIDB4N2YsIDB4YmYsIDB4N2EsIDB4ZWMsIDB4MDAsIAotICAgIDB4ZmYsIDB4ZTAsIDB4ZjUsIDB4MjIsIDB4NTQsIDB4YzAsIDB4NjgsIDB4MTYsIDB4N2UsIDB4ZTgsIDB4N2YsIDB4YmUsIDB4N2EsIDB4ZWMsIDB4MDAsIDB4ZmYsIAotICAgIDB4ZTAsIDB4NjAsIDB4MGMsIDB4MTIsIDB4MDksIDB4YTAsIDB4ZjUsIDB4MDksIDB4N2EsIDB4YTEsIDB4MjAsIDB4MDIsIDB4MGYsIDB4MGEsIDB4MjIsIDB4YzIsIAotICAgIDB4OTUsIDB4ZDIsIDB4OTQsIDB4MTIsIDB4MTksIDB4ZmIsIDB4NTMsIDB4OTAsIDB4Y2YsIDB4MTIsIDB4MTksIDB4ZmIsIDB4ODAsIDB4ZjEsIDB4MGQsIDB4MGEsIAotICAgIDB4MGEsIDB4MGEsIDB4MGEsIDB4MGEsIDB4MGEsIDB4MGEsIDB4MGEsIDB4MGEsIDB4MGEsIDB4MGEsIDB4MGEsIDB4MGEsIDB4MGEsIDB4MGEsIDB4MGEsIDB4MGQsIAotICAgIDB4MGEsIDB4MGEsIDB4MGEsIDB4MGEsIDB4MGEsIDB4MGEsIDB4MGEsIDB4MGEsIDB4MGEsIDB4MGEsIDB4MGEsIDB4MGEsIDB4MGEsIDB4MGEsIDB4MGEsIDB4MGEsIAotICAgIDB4NDUsIDB4NjQsIDB4NjcsIDB4NjUsIDB4NzAsIDB4NmYsIDB4NzIsIDB4NzQsIDB4MmYsIDB4MzQsIDB4MjAsIDB4MmQsIDB4MjAsIDB4NDgsIDB4NjEsIDB4NzIsIAotICAgIDB4NjQsIDB4NzcsIDB4NjEsIDB4NzIsIDB4NjUsIDB4MjAsIDB4NDQsIDB4NjksIDB4NjEsIDB4NjcsIDB4NmUsIDB4NmYsIDB4NzMsIDB4NzQsIDB4NjksIDB4NjMsIAotICAgIDB4NzMsIDB4MmMsIDB4MjAsIDB4NTIsIDB4NjUsIDB4NzYsIDB4MjAsIDB4MzEsIDB4MmUsIDB4MzAsIDB4MzAsIDB4M2IsIDB4MjAsIDB4NDMsIDB4NmYsIDB4NzAsIAotICAgIDB4NzksIDB4NzIsIDB4NjksIDB4NjcsIDB4NjgsIDB4NzQsIDB4MjAsIDB4MzEsIDB4MzksIDB4MzksIDB4MzgsIDB4MjAsIDB4NDksIDB4NmUsIDB4NzMsIDB4NjksIAotICAgIDB4NjQsIDB4NjUsIDB4MjAsIDB4NGYsIDB4NzUsIDB4NzQsIDB4MjAsIDB4NGUsIDB4NjUsIDB4NzQsIDB4NzcsIDB4NmYsIDB4NzIsIDB4NmIsIDB4NzMsIDB4MGQsIAotICAgIDB4MGEsIDB4MDAsIDB4NTAsIDB4NjEsIDB4NzMsIDB4NzMsIDB4MDAsIDB4NDYsIDB4NDEsIDB4NDksIDB4NGMsIDB4MjAsIDB4MjEsIDB4MjEsIDB4MDAsIDB4NTAsIAotICAgIDB4NjEsIDB4NzMsIDB4NzMsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MDAsIDB4NDYsIDB4NDEsIDB4NDksIDB4NGMsIDB4MjAsIDB4MjEsIDB4MjEsIDB4MjAsIAotICAgIDB4MDAsIDB4MGQsIDB4MGEsIDB4NDQsIDB4NjUsIDB4NzQsIDB4NjUsIDB4NjMsIDB4NzQsIDB4MjAsIDB4NTIsIDB4NjEsIDB4NmQsIDB4M2EsIDB4MjAsIDB4MjAsIAotICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIAotICAgIDB4MjAsIDB4MjAsIDB4MDAsIDB4MGQsIDB4MGEsIDB4NTIsIDB4NjEsIDB4NmQsIDB4MjAsIDB4NTQsIDB4NjUsIDB4NzMsIDB4NzQsIDB4M2EsIDB4MjAsIDB4MjAsIAotICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIAotICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MDAsIDB4MGQsIDB4MGEsIDB4NDEsIDB4NjQsIDB4NjQsIDB4NzIsIDB4NjUsIDB4NzMsIDB4NzMsIDB4MjAsIDB4NjIsIAotICAgIDB4NjksIDB4NzQsIDB4MjAsIDB4MzAsIDB4MmQsIDB4MzEsIDB4MzQsIDB4MjAsIDB4NzQsIDB4NjUsIDB4NzMsIDB4NzQsIDB4M2EsIDB4MjAsIDB4MjAsIDB4MjAsIAotICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MDAsIDB4MGQsIDB4MGEsIDB4NTcsIDB4NzIsIDB4NmYsIDB4NzQsIDB4NjUsIDB4MjAsIDB4NDEsIAotICAgIDB4NjQsIDB4NjQsIDB4NzIsIDB4NjUsIDB4NzMsIDB4NzMsIDB4M2EsIDB4MjAsIDB4MzAsIDB4MzAsIDB4M2EsIDB4MDAsIDB4MjAsIDB4MjAsIDB4NzcsIDB4NjksIAotICAgIDB4NzQsIDB4NjgsIDB4MjAsIDB4NjQsIDB4NjEsIDB4NzQsIDB4NjEsIDB4M2EsIDB4MjAsIDB4MDAsIDB4MmMsIDB4MjAsIDB4NjEsIDB4NmUsIDB4NjQsIDB4MjAsIAotICAgIDB4NzIsIDB4NjUsIDB4NjEsIDB4NjQsIDB4M2EsIDB4MjAsIDB4MDAsIDB4MGQsIDB4MGEsIDB4NGYsIDB4NmUsIDB4NjUsIDB4MjAsIDB4NmYsIDB4NzIsIDB4MjAsIAotICAgIDB4NjIsIDB4NmYsIDB4NzQsIDB4NjgsIDB4MjAsIDB4NmYsIDB4NjYsIDB4MjAsIDB4NzQsIDB4NjgsIDB4NjUsIDB4MjAsIDB4NjYsIDB4NmYsIDB4NmMsIDB4NmMsIAotICAgIDB4NmYsIDB4NzcsIDB4NjksIDB4NmUsIDB4NjcsIDB4MjAsIDB4NDEsIDB4NjQsIDB4NjQsIDB4NzIsIDB4NjUsIDB4NzMsIDB4NzMsIDB4MjAsIDB4NjIsIDB4NjksIAotICAgIDB4NzQsIDB4NzMsIDB4MjAsIDB4NmMsIDB4NjksIDB4NzMsIDB4NzQsIDB4NjUsIDB4NjQsIDB4MjAsIDB4NjEsIDB4NzIsIDB4NjUsIDB4MjAsIDB4NzMsIDB4NjgsIAotICAgIDB4NmYsIDB4NzIsIDB4NzQsIDB4NjUsIDB4NjQsIDB4MGQsIDB4MGEsIDB4NzQsIDB4NmYsIDB4MjAsIDB4NzMsIDB4NmYsIDB4NmQsIDB4NjUsIDB4NzQsIDB4NjgsIAotICAgIDB4NjksIDB4NmUsIDB4NjcsIDB4M2EsIDB4MjAsIDB4MDAsIDB4MjAsIDB4NjEsIDB4NmUsIDB4NjQsIDB4MjAsIDB4MDAsIDB4MGQsIDB4MGEsIDB4NDQsIDB4NjUsIAotICAgIDB4NzQsIDB4NjUsIDB4NjMsIDB4NzQsIDB4MjAsIDB4NTUsIDB4NjEsIDB4NzIsIDB4NzQsIDB4M2EsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIAotICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MDAsIDB4MGQsIDB4MGEsIAotICAgIDB4NTMsIDB4NjMsIDB4NzIsIDB4NjEsIDB4NzQsIDB4NjMsIDB4NjgsIDB4MjAsIDB4NTAsIDB4NjEsIDB4NjQsIDB4MmMsIDB4NDYsIDB4NjksIDB4NDYsIDB4NmYsIAotICAgIDB4MjAsIDB4NDUsIDB4NmUsIDB4NjEsIDB4NjIsIDB4NmMsIDB4NjUsIDB4MjAsIDB4MjYsIDB4MjAsIDB4NTIsIDB4NTMsIDB4NTQsIDB4M2EsIDB4MjAsIDB4MDAsIAotICAgIDB4MGQsIDB4MGEsIDB4MGEsIDB4MjAsIDB4MjAsIDB4MjAsIDB4NTUsIDB4NjEsIDB4NzIsIDB4NzQsIDB4MjAsIDB4NTQsIDB4NjUsIDB4NzMsIDB4NzQsIDB4NzMsIAotICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIAotICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4NTAsIDB4NmYsIDB4NzIsIDB4NzQsIDB4MzEsIDB4MjAsIDB4MjAsIDB4MjAsIDB4NTAsIDB4NmYsIDB4NzIsIDB4NzQsIAotICAgIDB4MzIsIDB4MjAsIDB4MjAsIDB4MjAsIDB4NTAsIDB4NmYsIDB4NzIsIDB4NzQsIDB4MzMsIDB4MjAsIDB4MjAsIDB4MjAsIDB4NTAsIDB4NmYsIDB4NzIsIDB4NzQsIAotICAgIDB4MzQsIDB4MGQsIDB4MGEsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIAotICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIAotICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MmQsIDB4MmQsIDB4MmQsIDB4MmQsIDB4MmQsIDB4MmQsIDB4MmQsIDB4MmQsIDB4MmQsIDB4MmQsIDB4MmQsIDB4MmQsIAotICAgIDB4MmQsIDB4MmQsIDB4MmQsIDB4MmQsIDB4MmQsIDB4MmQsIDB4MmQsIDB4MmQsIDB4MmQsIDB4MmQsIDB4MmQsIDB4MmQsIDB4MmQsIDB4MmQsIDB4MmQsIDB4MmQsIAotICAgIDB4MmQsIDB4MDAsIDB4MGQsIDB4MGEsIDB4NTAsIDB4NmYsIDB4NzIsIDB4NzQsIDB4MjAsIDB4NDQsIDB4NjUsIDB4NjMsIDB4NmYsIDB4NjQsIDB4NjUsIDB4NzIsIAotICAgIDB4M2EsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIAotICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MDAsIDB4MGQsIDB4MGEsIDB4NDQsIDB4NjksIDB4NjcsIDB4NjksIDB4NzQsIDB4NjEsIDB4NmMsIDB4MjAsIAotICAgIDB4NGMsIDB4NmYsIDB4NmYsIDB4NzAsIDB4NjIsIDB4NjEsIDB4NjMsIDB4NmIsIDB4M2EsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIAotICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MDAsIDB4MGQsIDB4MGEsIDB4NDEsIDB4NmUsIDB4NjEsIDB4NmMsIAotICAgIDB4NmYsIDB4NjcsIDB4MjAsIDB4NGMsIDB4NmYsIDB4NmYsIDB4NzAsIDB4NjIsIDB4NjEsIDB4NjMsIDB4NmIsIDB4M2EsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIAotICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MDAsIDB4MGQsIDB4MGEsIAotICAgIDB4NTIsIDB4NTgsIDB4NDQsIDB4MmMsIDB4NTQsIDB4NTgsIDB4NDQsIDB4MjAsIDB4NzQsIDB4NmYsIDB4MjAsIDB4NTIsIDB4NTQsIDB4NTMsIDB4MmMsIDB4NDMsIAotICAgIDB4NTQsIDB4NTMsIDB4MmMsIDB4NTIsIDB4NDksIDB4MjAsIDB4NTMsIDB4NjgsIDB4NmYsIDB4NzIsIDB4NzQsIDB4M2EsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIAotICAgIDB4MjAsIDB4MDAsIDB4MGQsIDB4MGEsIDB4NTIsIDB4NTgsIDB4NDQsIDB4MmMsIDB4NTQsIDB4NTgsIDB4NDQsIDB4MjAsIDB4NzQsIDB4NmYsIDB4MjAsIDB4NDQsIAotICAgIDB4NTQsIDB4NTIsIDB4MmMsIDB4NDQsIDB4NTMsIDB4NTIsIDB4MmMsIDB4NDMsIDB4NDQsIDB4MjAsIDB4NTMsIDB4NjgsIDB4NmYsIDB4NzIsIDB4NzQsIDB4M2EsIAotICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MDAsIDB4MGQsIDB4MGEsIDB4NTIsIDB4NTQsIDB4NTMsIDB4NWIsIDB4NDMsIDB4NTQsIDB4NTMsIDB4MmMsIAotICAgIDB4NTIsIDB4NDksIDB4NWQsIDB4MjAsIDB4NzQsIDB4NmYsIDB4MjAsIDB4NDQsIDB4NTQsIDB4NTIsIDB4MmMsIDB4NDQsIDB4NTMsIDB4NTIsIDB4MmMsIDB4NDMsIAotICAgIDB4NDQsIDB4MjAsIDB4NTMsIDB4NjgsIDB4NmYsIDB4NzIsIDB4NzQsIDB4M2EsIDB4MjAsIDB4MDAsIDB4MGQsIDB4MGEsIDB4NTIsIDB4NTQsIDB4NTMsIDB4NWIsIAotICAgIDB4NDMsIDB4NTQsIDB4NTMsIDB4MmMsIDB4NDMsIDB4NDQsIDB4NWQsIDB4MjAsIDB4NzQsIDB4NmYsIDB4MjAsIDB4NDQsIDB4NTMsIDB4NTIsIDB4MmMsIDB4NTIsIAotICAgIDB4NDksIDB4MjAsIDB4NTMsIDB4NjgsIDB4NmYsIDB4NzIsIDB4NzQsIDB4M2EsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MDAsIDB4MGQsIDB4MGEsIAotICAgIDB4NDQsIDB4NTQsIDB4NTIsIDB4NWIsIDB4NDQsIDB4NTMsIDB4NTIsIDB4MmMsIDB4NDMsIDB4NDQsIDB4NWQsIDB4MjAsIDB4NzQsIDB4NmYsIDB4MjAsIDB4NTIsIAotICAgIDB4NTQsIDB4NTMsIDB4MmMsIDB4NDMsIDB4NTQsIDB4NTMsIDB4MmMsIDB4NTIsIDB4NDksIDB4MjAsIDB4NTMsIDB4NjgsIDB4NmYsIDB4NzIsIDB4NzQsIDB4M2EsIAotICAgIDB4MjAsIDB4MDAsIDB4MGQsIDB4MGEsIDB4NDQsIDB4NTQsIDB4NTIsIDB4MjAsIDB4NzQsIDB4NmYsIDB4MjAsIDB4NDMsIDB4NTQsIDB4NTMsIDB4MmMsIDB4NDMsIAotICAgIDB4NDQsIDB4MjAsIDB4NTMsIDB4NjgsIDB4NmYsIDB4NzIsIDB4NzQsIDB4M2EsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIAotICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MDAsIDB4MGQsIDB4MGEsIDB4NTIsIDB4NTQsIDB4NTMsIDB4MjAsIDB4NzQsIDB4NmYsIDB4MjAsIDB4NDMsIAotICAgIDB4NTQsIDB4NTMsIDB4MmMsIDB4NTIsIDB4NDksIDB4MjAsIDB4NGMsIDB4NmYsIDB4NmYsIDB4NzAsIDB4NjIsIDB4NjEsIDB4NjMsIDB4NmIsIDB4M2EsIDB4MjAsIAotICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MDAsIDB4MGQsIDB4MGEsIDB4NTIsIDB4NTQsIDB4NTMsIDB4MjAsIAotICAgIDB4NzQsIDB4NmYsIDB4MjAsIDB4NDMsIDB4NTQsIDB4NTMsIDB4MmMsIDB4NDMsIDB4NDQsIDB4MjAsIDB4NGMsIDB4NmYsIDB4NmYsIDB4NzAsIDB4NjIsIDB4NjEsIAotICAgIDB4NjMsIDB4NmIsIDB4M2EsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MDAsIDB4MGQsIDB4MGEsIAotICAgIDB4NDQsIDB4NTQsIDB4NTIsIDB4MjAsIDB4NzQsIDB4NmYsIDB4MjAsIDB4NDQsIDB4NTMsIDB4NTIsIDB4MmMsIDB4NDMsIDB4NDQsIDB4MjAsIDB4NGMsIDB4NmYsIAotICAgIDB4NmYsIDB4NzAsIDB4NjIsIDB4NjEsIDB4NjMsIDB4NmIsIDB4M2EsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIAotICAgIDB4MjAsIDB4MDAsIDB4MGQsIDB4MGEsIDB4MGEsIDB4MjAsIDB4MjAsIDB4MjAsIDB4NDUsIDB4MjAsIDB4NTIsIDB4MjAsIDB4NTIsIDB4MjAsIDB4NGYsIDB4MjAsIAotICAgIDB4NTIsIDB4MjAsIDB4MjEsIDB4MjEsIDB4MjEsIDB4MmMsIDB4MjAsIDB4NDUsIDB4MjAsIDB4NTIsIDB4MjAsIDB4NTIsIDB4MjAsIDB4NGYsIDB4MjAsIDB4NTIsIAotICAgIDB4MjAsIDB4MjEsIDB4MjEsIDB4MjEsIDB4MjAsIDB4MmMsIDB4MjAsIDB4NDUsIDB4MjAsIDB4NTIsIDB4MjAsIDB4NTIsIDB4MjAsIDB4NGYsIDB4MjAsIDB4NTIsIAotICAgIDB4MjAsIDB4MjEsIDB4MjEsIDB4MjEsIDB4MGQsIDB4MGEsIDB4MGEsIDB4NDQsIDB4NjksIDB4NjEsIDB4NjcsIDB4NmUsIDB4NmYsIDB4NzMsIDB4NzQsIDB4NjksIAotICAgIDB4NjMsIDB4NzMsIDB4MjAsIDB4NmUsIDB4NmYsIDB4NzcsIDB4MjAsIDB4NzcsIDB4NjksIDB4NmMsIDB4NmMsIDB4MjAsIDB4NjUsIDB4NmUsIDB4NzQsIDB4NjUsIAotICAgIDB4NzIsIDB4MjAsIDB4NjEsIDB4MjAsIDB4NjQsIDB4NjUsIDB4NjIsIDB4NzUsIDB4NjcsIDB4MjAsIDB4NmMsIDB4NmYsIDB4NmYsIDB4NzAsIDB4MjAsIDB4NmYsIAotICAgIDB4NjYsIDB4MjAsIDB4NzQsIDB4NjgsIDB4NjUsIDB4MjAsIDB4NjYsIDB4NjksIDB4NzIsIDB4NzMsIDB4NzQsIDB4MjAsIDB4NjQsIDB4NjUsIDB4NzQsIDB4NjUsIAotICAgIDB4NjMsIDB4NzQsIDB4NjUsIDB4NjQsIDB4MjAsIDB4NjUsIDB4NzIsIDB4NzIsIDB4NmYsIDB4NzIsIDB4MmUsIDB4MDAsIDB4MGQsIDB4MGEsIDB4MGEsIDB4NGUsIAotICAgIDB4NmYsIDB4MjAsIDB4NDgsIDB4NjEsIDB4NzIsIDB4NjQsIDB4NzcsIDB4NjEsIDB4NzIsIDB4NjUsIDB4MjAsIDB4NjUsIDB4NzIsIDB4NzIsIDB4NmYsIDB4NzIsIAotICAgIDB4NzMsIDB4MjAsIDB4NjQsIDB4NjUsIDB4NzQsIDB4NjUsIDB4NjMsIDB4NzQsIDB4NjUsIDB4NjQsIDB4MmUsIDB4MGQsIDB4MGEsIDB4MDAsIDB4NDMsIDB4NmYsIAotICAgIDB4NzAsIDB4NzksIDB4NjksIDB4NmUsIDB4NjcsIDB4MjAsIDB4NjMsIDB4NmYsIDB4NjQsIDB4NjUsIDB4MjAsIDB4NjYsIDB4NzIsIDB4NmYsIDB4NmQsIDB4MjAsIAotICAgIDB4NGQsIDB4NjEsIDB4NzMsIDB4NzQsIDB4NjUsIDB4NzIsIDB4MjAsIDB4NzQsIDB4NmYsIDB4MjAsIDB4NTMsIDB4NmMsIDB4NjEsIDB4NzYsIDB4NjUsIDB4MjcsIAotICAgIDB4NzMsIDB4MjAsIDB4NDUsIDB4NDUsIDB4NzAsIDB4NzIsIDB4NmYsIDB4NmQsIDB4MjAsIDB4MmUsIDB4MmUsIDB4MmUsIDB4MDAsIDB4NDQsIDB4NmYsIDB4NmUsIAotICAgIDB4NjUsIDB4MGQsIDB4MGEsIDB4MGEsIDB4MmQsIDB4M2UsIDB4MjAsIDB4NTQsIDB4NzUsIDB4NzIsIDB4NmUsIDB4MjAsIDB4NzUsIDB4NmUsIDB4NjksIDB4NzQsIAotICAgIDB4MjAsIDB4NmYsIDB4NjYsIDB4NjYsIDB4MmMsIDB4MjAsIDB4NjQsIDB4NjksIDB4NzMsIDB4NjMsIDB4NmYsIDB4NmUsIDB4NmUsIDB4NjUsIDB4NjMsIDB4NzQsIAotICAgIDB4MjAsIDB4NjMsIDB4NjEsIDB4NjIsIDB4NmMsIDB4NjUsIDB4MjAsIDB4NjEsIDB4NmUsIDB4NjQsIDB4MjAsIDB4NzIsIDB4NzUsIDB4NmUsIDB4MjAsIDB4NzMsIAotICAgIDB4NzQsIDB4NjEsIDB4NmUsIDB4NjQsIDB4NjEsIDB4NmMsIDB4NmYsIDB4NmUsIDB4NjUsIDB4MjAsIDB4NjQsIDB4NjksIDB4NjEsIDB4NjcsIDB4NmUsIDB4NmYsIAotICAgIDB4NzMsIDB4NzQsIDB4NjksIDB4NjMsIDB4NzMsIDB4MmUsIDB4MDAsIDB4YzIsIDB4YWYsIDB4YzIsIDB4MDksIDB4YzIsIDB4MGEsIDB4NzUsIDB4OTAsIDB4MGQsIAotICAgIDB4MjAsIDB4MTcsIDB4MDIsIDB4ZDIsIDB4YjUsIDB4NDMsIDB4OTAsIDB4MzAsIDB4NmMsIDB4MDAsIDB4N2UsIDB4MTAsIDB4MDMsIDB4MTIsIDB4MGYsIDB4MzgsIAotICAgIDB4N2UsIDB4NjgsIDB4MGEsIDB4MDEsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4MGIsIDB4MDAsIDB4MzAsIDB4YjQsIDB4MDIsIAotICAgIDB4ODAsIDB4MjQsIDB4MDIsIDB4MWIsIDB4M2MsIDB4MjAsIDB4MDksIDB4MWQsIDB4YzIsIDB4OTQsIDB4ZDIsIDB4OTUsIDB4MTIsIDB4MTksIDB4ZmIsIDB4NTMsIAotICAgIDB4OTAsIDB4Y2YsIDB4MTIsIDB4MTksIDB4ZmIsIDB4YzIsIDB4OTUsIDB4ZDIsIDB4OTQsIDB4MTIsIDB4MTksIDB4ZmIsIDB4YTUsIDB4ZDksIDB4ZTYsIDB4NDMsIAotICAgIDB4OTAsIDB4MzAsIDB4MTIsIDB4MTksIDB4ZmIsIDB4MjIsIDB4N2UsIDB4NjgsIDB4MGEsIDB4OTQsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIAotICAgIDB4OTMsIDB4N2UsIDB4ZTQsIDB4MTAsIDB4MDAsIDB4N2UsIDB4NDAsIDB4NTUsIDB4N2EsIDB4ZTksIDB4NDAsIDB4MGIsIDB4ZTQsIDB4N2UsIDB4NTAsIDB4YWEsIAotICAgIDB4N2EsIDB4ZTksIDB4NTAsIDB4MWIsIDB4ZTQsIDB4YmUsIDB4ZTksIDB4NDAsIDB4NjgsIDB4MTksIDB4N2UsIDB4NjgsIDB4MGEsIDB4N2EsIDB4N2EsIDB4NmMsIAotICAgIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4MTIsIDB4MWEsIDB4MDgsIDB4MzAsIDB4MDksIDB4MTMsIDB4N2EsIDB4ZTksIDB4NDAsIDB4N2UsIDB4ZTksIAotICAgIDB4MTAsIDB4ODAsIDB4ZjgsIDB4N2UsIDB4NjgsIDB4MGEsIDB4NzUsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4MGIsIDB4MDAsIAotICAgIDB4N2UsIDB4NjgsIDB4MGEsIDB4ZDgsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4N2UsIDB4NzgsIDB4MDAsIDB4MDAsIDB4N2UsIAotICAgIDB4NzAsIDB4MGUsIDB4N2UsIDB4YTQsIDB4ZmYsIDB4ZmYsIDB4N2UsIDB4YjQsIDB4YmYsIDB4ZmYsIDB4N2QsIDB4Y2IsIDB4MGUsIDB4YzQsIDB4N2QsIDB4ZGMsIAotICAgIDB4NWQsIDB4ZGIsIDB4NmMsIDB4YmIsIDB4N2QsIDB4ZmEsIDB4NWUsIDB4ZjQsIDB4N2YsIDB4ZmYsIDB4N2EsIDB4N2IsIDB4YjAsIDB4MGIsIDB4YjAsIDB4N2QsIAotICAgIDB4ZmIsIDB4NWUsIDB4ZjQsIDB4N2YsIDB4ZmYsIDB4N2EsIDB4N2IsIDB4YjAsIDB4MGIsIDB4YjAsIDB4N2QsIDB4ZmMsIDB4NWUsIDB4ZjQsIDB4N2YsIDB4ZmYsIAotICAgIDB4N2EsIDB4N2IsIDB4YjAsIDB4MGIsIDB4YjAsIDB4N2QsIDB4ZmQsIDB4NWUsIDB4ZjQsIDB4N2YsIDB4ZmYsIDB4N2EsIDB4N2IsIDB4YjAsIDB4NmMsIDB4YmIsIAotICAgIDB4N2QsIDB4ZmEsIDB4NWUsIDB4ZjQsIDB4N2YsIDB4ZmYsIDB4YmUsIDB4N2IsIDB4YjAsIDB4NzgsIDB4NDEsIDB4MGIsIDB4YjAsIDB4N2QsIDB4ZmIsIDB4NWUsIAotICAgIDB4ZjQsIDB4N2YsIDB4ZmYsIDB4YmUsIDB4N2IsIDB4YjAsIDB4NzgsIDB4MzQsIDB4MGIsIDB4YjAsIDB4N2QsIDB4ZmMsIDB4NWUsIDB4ZjQsIDB4N2YsIDB4ZmYsIAotICAgIDB4YmUsIDB4N2IsIDB4YjAsIDB4NzgsIDB4MjcsIDB4MGIsIDB4YjAsIDB4N2QsIDB4ZmQsIDB4NWUsIDB4ZjQsIDB4N2YsIDB4ZmYsIDB4YmUsIDB4N2IsIDB4YjAsIAotICAgIDB4NzgsIDB4MWEsIDB4MGIsIDB4YjAsIDB4YmUsIDB4YzQsIDB4ZmYsIDB4ZmUsIDB4NzgsIDB4OTIsIDB4MGUsIDB4YjQsIDB4YTUsIDB4ZGYsIDB4OGIsIDB4N2UsIAotICAgIDB4NjgsIDB4MGEsIDB4ODIsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4ODAsIDB4NzcsIDB4Y2EsIDB4NWIsIDB4Y2EsIDB4NmIsIAotICAgIDB4N2UsIDB4NjgsIDB4MGEsIDB4OGIsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4N2UsIDB4NjgsIDB4MGIsIDB4MmEsIDB4N2EsIAotICAgIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4MGEsIDB4NDcsIDB4MTIsIDB4MWEsIDB4YzksIDB4N2UsIDB4NjgsIDB4MGIsIDB4NzksIDB4N2EsIAotICAgIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4NmMsIDB4NzcsIDB4ZGEsIDB4NmIsIDB4Y2EsIDB4NmIsIDB4MGIsIDB4NzAsIDB4MGUsIDB4YzQsIAotICAgIDB4YmUsIDB4YzQsIDB4ZmYsIDB4ZmYsIDB4NzgsIDB4ZjYsIDB4MWIsIDB4NzAsIDB4MGEsIDB4NDcsIDB4MTIsIDB4MWEsIDB4YzksIDB4MTIsIDB4MWEsIDB4MDgsIAotICAgIDB4MzAsIDB4MDksIDB4MzAsIDB4ZGEsIDB4NmIsIDB4ZGEsIDB4NWIsIDB4NmMsIDB4YmIsIDB4N2UsIDB4NzgsIDB4MDAsIDB4MDAsIDB4N2QsIDB4ZmEsIDB4NWUsIAotICAgIDB4ZjQsIDB4N2YsIDB4ZmYsIDB4N2EsIDB4N2IsIDB4YjAsIDB4N2QsIDB4ZmIsIDB4NWUsIDB4ZjQsIDB4N2YsIDB4ZmYsIDB4N2EsIDB4N2IsIDB4YjAsIDB4N2QsIAotICAgIDB4ZmMsIDB4NWUsIDB4ZjQsIDB4N2YsIDB4ZmYsIDB4N2EsIDB4N2IsIDB4YjAsIDB4N2QsIDB4ZmQsIDB4NWUsIDB4ZjQsIDB4N2YsIDB4ZmYsIDB4N2EsIDB4N2IsIAotICAgIDB4YjAsIDB4ODAsIDB4ZDQsIDB4N2UsIDB4NjgsIDB4MGEsIDB4YjYsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4MzAsIDB4MTcsIAotICAgIDB4MGUsIDB4N2UsIDB4NzgsIDB4MDQsIDB4MjAsIDB4N2EsIDB4N2MsIDB4MDAsIDB4MDAsIDB4N2UsIDB4NDQsIDB4N2IsIDB4ZTAsIDB4ODAsIDB4MGMsIDB4N2UsIAotICAgIDB4NzgsIDB4MDAsIDB4MDAsIDB4N2EsIDB4N2MsIDB4MDAsIDB4MDEsIDB4N2UsIDB4NDQsIDB4ODAsIDB4MDAsIDB4MGIsIDB4MDAsIDB4N2UsIDB4NDAsIDB4M2EsIAotICAgIDB4N2MsIDB4NTQsIDB4N2YsIDB4NTcsIDB4N2QsIDB4ODQsIDB4NmMsIDB4NjYsIDB4N2EsIDB4NWIsIDB4NTAsIDB4MGIsIDB4NWMsIDB4MGIsIDB4NTAsIDB4YTUsIAotICAgIDB4ZGUsIDB4MDIsIDB4MGIsIDB4NTAsIDB4MWIsIDB4ODQsIDB4NzgsIDB4ZjAsIDB4N2MsIDB4NTQsIDB4N2YsIDB4NTcsIDB4N2QsIDB4ODQsIDB4NmMsIDB4NjYsIAotICAgIDB4YmUsIDB4NWIsIDB4NTAsIDB4NzgsIDB4MWEsIDB4MGIsIDB4NWMsIDB4MGIsIDB4NTAsIDB4YTUsIDB4ZGUsIDB4MDIsIDB4MGIsIDB4NTAsIDB4MWIsIDB4ODQsIAotICAgIDB4NzgsIDB4ZWUsIDB4N2UsIDB4NjgsIDB4MGEsIDB4NzUsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4ODAsIDB4NGIsIDB4N2YsIAotICAgIDB4NDUsIDB4N2UsIDB4NjgsIDB4MGEsIDB4N2EsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4N2UsIDB4NjgsIDB4MGEsIDB4ZmEsIAotICAgIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4N2QsIDB4NGIsIDB4MTIsIDB4MWEsIDB4YzksIDB4N2UsIDB4NjgsIDB4MGIsIDB4MGYsIAotICAgIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4NmMsIDB4ODgsIDB4N2MsIDB4OTUsIDB4MTIsIDB4MWEsIDB4YzksIDB4N2UsIDB4NjgsIAotICAgIDB4MGIsIDB4MWQsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4N2UsIDB4NGIsIDB4OTAsIDB4MTIsIDB4MWEsIDB4YzksIDB4MTIsIAotICAgIDB4MWEsIDB4MDgsIDB4MzAsIDB4MDksIDB4MDUsIDB4N2UsIDB4NGIsIDB4OTAsIDB4ODAsIDB4ZmIsIDB4N2UsIDB4NjgsIDB4MGIsIDB4N2YsIDB4N2EsIDB4NmMsIAotICAgIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4MGIsIDB4MDAsIDB4ZDIsIDB4OTIsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4MDksIDB4YjIsIDB4MDAsIAotICAgIDB4MDgsIDB4YmUsIDB4YjAsIDB4MDEsIDB4NzgsIDB4MGIsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTQsIDB4YmUsIDB4YjAsIDB4NjAsIDB4NzgsIDB4MDIsIDB4ODAsIAotICAgIDB4MTcsIDB4N2UsIDB4NjgsIDB4MGEsIDB4N2EsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4MTIsIDB4MWEsIDB4MDgsIDB4MzAsIAotICAgIDB4MDksIDB4MTEsIDB4MDksIDB4YjIsIDB4MDAsIDB4MDgsIDB4ODAsIDB4ZmEsIDB4N2UsIDB4NjgsIDB4MGEsIDB4NzUsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIAotICAgIDB4MTIsIDB4MWEsIDB4OTMsIDB4N2UsIDB4NjgsIDB4MGIsIDB4YTEsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4MGIsIDB4MDAsIAotICAgIDB4YzIsIDB4OTIsIDB4MTIsIDB4MTksIDB4ZWUsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4YTAsIDB4NTUsIDB4MTksIDB4YTIsIDB4MDAsIDB4MWMsIAotICAgIDB4N2UsIDB4YjAsIDB4MDEsIDB4MTksIDB4YjIsIDB4MDAsIDB4MDgsIDB4MDksIDB4YjIsIDB4MDAsIDB4MWMsIDB4YmMsIDB4YWIsIDB4NzgsIDB4MzcsIDB4MDksIAotICAgIDB4YjIsIDB4MDAsIDB4MDgsIDB4NWUsIDB4YjAsIDB4YzAsIDB4YmUsIDB4YjAsIDB4YzAsIDB4NzgsIDB4MmIsIDB4N2UsIDB4YTAsIDB4YWEsIDB4MTksIDB4YTIsIAotICAgIDB4MDAsIDB4MWMsIDB4NmMsIDB4YmIsIDB4MTksIDB4YjIsIDB4MDAsIDB4MDgsIDB4MDksIDB4YjIsIDB4MDAsIDB4MWMsIDB4YmMsIDB4YWIsIDB4NzgsIDB4MTYsIAotICAgIDB4MDksIDB4YjIsIDB4MDAsIDB4MDgsIDB4NWUsIDB4YjAsIDB4YzAsIDB4NzgsIDB4MGQsIDB4N2UsIDB4NjgsIDB4MGEsIDB4NzUsIDB4N2EsIDB4NmMsIDB4MDAsIAotICAgIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4ODAsIDB4MWIsIDB4N2UsIDB4NjgsIDB4MGEsIDB4N2EsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIAotICAgIDB4OTMsIDB4MTIsIDB4MWEsIDB4MDgsIDB4MzAsIDB4MDksIDB4MGEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MWMsIDB4MDksIDB4YjIsIDB4MDAsIDB4MWMsIDB4ODAsIAotICAgIDB4ZjYsIDB4N2UsIDB4NjgsIDB4MGIsIDB4YzMsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4N2UsIDB4NjgsIDB4MGMsIDB4NDUsIAotICAgIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MDksIDB4N2UsIDB4YjAsIAotICAgIDB4MDEsIDB4MTksIDB4YjIsIDB4MDAsIDB4MWMsIDB4MmUsIDB4MjQsIDB4MDEsIDB4MDAsIDB4MGIsIDB4YjAsIDB4YTUsIDB4ZDksIDB4ZjMsIDB4N2UsIDB4MjQsIAotICAgIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MDksIDB4N2UsIDB4YjAsIDB4MDEsIDB4MGIsIDB4MDAsIDB4MDksIDB4YTIsIDB4MDAsIDB4MWMsIDB4YmMsIDB4YWIsIAotICAgIDB4NzgsIDB4MTYsIDB4N2UsIDB4NjgsIDB4MGEsIDB4ODIsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4MmUsIDB4MjQsIDB4MDEsIAotICAgIDB4MDAsIDB4MGIsIDB4YjAsIDB4YTUsIDB4ZDksIDB4ZTIsIDB4ODAsIDB4MjUsIDB4N2UsIDB4NjgsIDB4MGEsIDB4OGIsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIAotICAgIDB4MTIsIDB4MWEsIDB4OTMsIDB4MTIsIDB4MWEsIDB4MDgsIDB4MzAsIDB4MDksIDB4ZTQsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MDksIAotICAgIDB4MDksIDB4YTIsIDB4MDAsIDB4MWMsIDB4MmUsIDB4MjQsIDB4MDEsIDB4MDAsIDB4YTUsIDB4ZDksIDB4ZjUsIDB4ODAsIDB4ZWMsIDB4N2UsIDB4NjgsIDB4MGMsIAotICAgIDB4NjksIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4MTIsIDB4MTMsIDB4OGEsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIAotICAgIDB4MTEsIDB4MDksIDB4MGIsIDB4MDAsIDB4NzQsIDB4MTAsIDB4MTksIDB4YjIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTMsIDB4MDMsIDB4MmUsIDB4MjQsIDB4MDEsIAotICAgIDB4MDAsIDB4YTUsIDB4ZDksIDB4ZWUsIDB4N2UsIDB4NjgsIDB4MGMsIDB4OGQsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4N2UsIAotICAgIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MDksIDB4MGIsIDB4MDAsIDB4ZTQsIDB4MTksIDB4YjIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTMsIDB4MDMsIAotICAgIDB4MmUsIDB4MjQsIDB4MDEsIDB4MDAsIDB4YTUsIDB4ZDksIDB4ZWYsIDB4MzAsIDB4MDAsIDB4MDMsIDB4MDIsIDB4MTgsIDB4YjcsIDB4MDIsIDB4MTMsIDB4YmIsIAotICAgIDB4NzQsIDB4MDcsIDB4MTksIDB4YjIsIDB4MDAsIDB4MDgsIDB4MTIsIDB4MTksIDB4ZmIsIDB4MDksIDB4YjIsIDB4MDAsIDB4MDAsIDB4MDksIDB4YjIsIDB4MDAsIAotICAgIDB4MTQsIDB4MDksIDB4YjIsIDB4MDAsIDB4MDAsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTQsIDB4MDksIDB4YjIsIDB4MDAsIDB4MDAsIDB4MDksIDB4YjIsIDB4MDAsIAotICAgIDB4MTQsIDB4MDksIDB4YjIsIDB4MDAsIDB4MDAsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTQsIDB4YzIsIDB4MGIsIDB4N2UsIDB4YjAsIDB4NTUsIDB4MTIsIDB4MTMsIAotICAgIDB4NjQsIDB4N2UsIDB4YjAsIDB4YWEsIDB4MTIsIDB4MTMsIDB4NjQsIDB4N2UsIDB4YjAsIDB4MDAsIDB4MTIsIDB4MTMsIDB4NjQsIDB4N2UsIDB4YjAsIDB4ZmYsIAotICAgIDB4MTIsIDB4MTMsIDB4NjQsIDB4MzAsIDB4MGIsIDB4MGYsIDB4N2UsIDB4NjgsIDB4MGEsIDB4OGIsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIAotICAgIDB4OTMsIDB4MTIsIDB4MWEsIDB4MDgsIDB4MjIsIDB4N2UsIDB4NjgsIDB4MGEsIDB4ODIsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIAotICAgIDB4MjIsIDB4MTksIDB4YjIsIDB4MDAsIDB4MDAsIDB4MTIsIDB4MTksIDB4ZWUsIDB4MDksIDB4YTIsIDB4MDAsIDB4MDAsIDB4YmMsIDB4YWIsIDB4NzgsIDB4MDEsIAotICAgIDB4MjIsIDB4MjAsIDB4MDksIDB4MDMsIDB4ZDIsIDB4MGIsIDB4MjIsIDB4MTIsIDB4MWEsIDB4MDgsIDB4MTksIDB4YjIsIDB4MDAsIDB4MDAsIDB4MTIsIDB4MTksIAotICAgIDB4ZWUsIDB4MDksIDB4YTIsIDB4MDAsIDB4MDAsIDB4ODAsIDB4ZjMsIDB4ZDIsIDB4OTIsIDB4MTIsIDB4MTksIDB4ZWUsIDB4YzIsIDB4OTIsIDB4MTIsIDB4MTksIAotICAgIDB4ZWUsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MDksIDB4NzQsIDB4ODAsIDB4MTksIDB4YjIsIDB4MDAsIDB4MGMsIDB4N2UsIDB4NTQsIAotICAgIDB4MDAsIDB4MDIsIDB4MTksIDB4YTIsIDB4MDAsIDB4MDQsIDB4MTksIDB4YjIsIDB4MDAsIDB4MDAsIDB4NzQsIDB4MDMsIDB4MTksIDB4YjIsIDB4MDAsIDB4MGMsIAotICAgIDB4MmUsIDB4MjQsIDB4MDEsIDB4MDAsIDB4YTUsIDB4ZDksIDB4ZTEsIDB4MjIsIDB4N2UsIDB4NjgsIDB4MGMsIDB4YjEsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIAotICAgIDB4MTIsIDB4MWEsIDB4OTMsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MDksIDB4MGIsIDB4MDAsIDB4MTIsIDB4MTksIDB4ZWUsIDB4MDksIAotICAgIDB4YjIsIDB4MDAsIDB4MTgsIDB4N2UsIDB4YTAsIDB4NTUsIDB4MTksIDB4YTIsIDB4MDAsIDB4MDAsIDB4MTIsIDB4MTksIDB4ZWUsIDB4MDksIDB4YjIsIDB4MDAsIAotICAgIDB4MTgsIDB4NWUsIDB4YjAsIDB4MDUsIDB4NzgsIDB4MGQsIDB4N2UsIDB4NjgsIDB4MGEsIDB4ODIsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIAotICAgIDB4OTMsIDB4ODAsIDB4MWEsIDB4N2UsIDB4NjgsIDB4MGEsIDB4OGIsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4MTIsIDB4MWEsIAotICAgIDB4MDgsIDB4MzAsIDB4MDksIDB4MDksIDB4MTksIDB4YTIsIDB4MDAsIDB4MDAsIDB4MTIsIDB4MTksIDB4ZWUsIDB4ODAsIDB4ZjcsIDB4MmUsIDB4MjQsIDB4MDEsIAotICAgIDB4MDAsIDB4YTUsIDB4ZDksIDB4YjYsIDB4N2UsIDB4NjgsIDB4MGMsIDB4ZDUsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4N2UsIAotICAgIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MDksIDB4MGIsIDB4MDAsIDB4MTIsIDB4MTksIDB4ZWUsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4N2UsIAotICAgIDB4YTAsIDB4NTUsIDB4MTksIDB4YTIsIDB4MDAsIDB4MDAsIDB4MTIsIDB4MTksIDB4ZWUsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4NWUsIDB4YjAsIDB4MGEsIAotICAgIDB4NzgsIDB4MGQsIDB4N2UsIDB4NjgsIDB4MGEsIDB4ODIsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4ODAsIDB4MWEsIDB4N2UsIAotICAgIDB4NjgsIDB4MGEsIDB4OGIsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4MTIsIDB4MWEsIDB4MDgsIDB4MzAsIDB4MDksIDB4MDksIAotICAgIDB4MTksIDB4YTIsIDB4MDAsIDB4MDAsIDB4MTIsIDB4MTksIDB4ZWUsIDB4ODAsIDB4ZjcsIDB4MmUsIDB4MjQsIDB4MDEsIDB4MDAsIDB4YTUsIDB4ZDksIDB4YjYsIAotICAgIDB4MzAsIDB4MDQsIDB4MDMsIDB4MDIsIDB4MTYsIDB4OGMsIDB4N2UsIDB4NjgsIDB4MGMsIDB4ZjksIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIAotICAgIDB4OTMsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MDksIDB4MGIsIDB4MDAsIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIAotICAgIDB4MTIsIDB4MTksIDB4ZWUsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4N2UsIDB4YTAsIDB4MDIsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4NmMsIDB4YWEsIAotICAgIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTksIDB4ZWUsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4NWUsIDB4YjAsIDB4MGEsIDB4NzgsIDB4M2MsIAotICAgIDB4N2UsIDB4YTAsIDB4MDEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTksIDB4ZWUsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4N2UsIDB4YTAsIAotICAgIDB4MDMsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4N2UsIDB4YTAsIDB4MDEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTksIDB4ZWUsIDB4MDksIAotICAgIDB4YjIsIDB4MDAsIDB4MTgsIDB4NWUsIDB4YjAsIDB4MGEsIDB4NzgsIDB4MTQsIDB4N2UsIDB4NjgsIDB4MGEsIDB4ODIsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIAotICAgIDB4MTIsIDB4MWEsIDB4OTMsIDB4MmUsIDB4MjQsIDB4MDEsIDB4MDAsIDB4YTUsIDB4ZDksIDB4OWUsIDB4ODAsIDB4MjAsIDB4N2UsIDB4NjgsIDB4MGEsIDB4OGIsIAotICAgIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4MTIsIDB4MWEsIDB4MDgsIDB4MzAsIDB4MDksIDB4ZTYsIDB4N2UsIDB4YTAsIDB4MDIsIAotICAgIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4ODAsIDB4ZjEsIDB4N2UsIDB4NjgsIDB4MGQsIDB4NDEsIAotICAgIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MDksIDB4MGIsIDB4MDAsIAotICAgIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTksIDB4ZWUsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4N2UsIDB4YTAsIDB4MDEsIAotICAgIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTksIDB4ZWUsIDB4MDksIDB4YjIsIDB4MDAsIAotICAgIDB4MTgsIDB4NWUsIDB4YjAsIDB4MDUsIDB4NzgsIDB4M2MsIDB4N2UsIDB4YTAsIDB4MDIsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTksIDB4ZWUsIAotICAgIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4N2UsIDB4YTAsIDB4MDMsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4N2UsIDB4YTAsIDB4MDIsIDB4MTksIDB4YTIsIAotICAgIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTksIDB4ZWUsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4NWUsIDB4YjAsIDB4MDUsIDB4NzgsIDB4MTQsIDB4N2UsIDB4NjgsIAotICAgIDB4MGEsIDB4ODIsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4MmUsIDB4MjQsIDB4MDEsIDB4MDAsIDB4YTUsIDB4ZDksIDB4OWUsIAotICAgIDB4ODAsIDB4MjAsIDB4N2UsIDB4NjgsIDB4MGEsIDB4OGIsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4MTIsIDB4MWEsIDB4MDgsIAotICAgIDB4MzAsIDB4MDksIDB4ZTYsIDB4N2UsIDB4YTAsIDB4MDEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIAotICAgIDB4ODAsIDB4ZjEsIDB4N2UsIDB4NjgsIDB4MGQsIDB4ODksIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4N2UsIDB4MjQsIDB4ODAsIAotICAgIDB4MDAsIDB4N2UsIDB4MTEsIDB4MDksIDB4MGIsIDB4MDAsIDB4N2UsIDB4YTAsIDB4MDIsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTksIDB4ZWUsIAotICAgIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4NWUsIDB4YjAsIDB4NTAsIDB4YmUsIDB4YjAsIDB4NTAsIDB4NzgsIDB4MWYsIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIAotICAgIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTksIDB4ZWUsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4NWUsIDB4YjAsIDB4NTAsIDB4NzgsIDB4MGQsIDB4N2UsIDB4NjgsIAotICAgIDB4MGEsIDB4ODIsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4ODAsIDB4MjAsIDB4N2UsIDB4NjgsIDB4MGEsIDB4OGIsIDB4N2EsIAotICAgIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4MTIsIDB4MWEsIDB4MDgsIDB4MzAsIDB4MDksIDB4MGYsIDB4N2UsIDB4YTAsIDB4MDIsIDB4MTksIAotICAgIDB4YTIsIDB4MDAsIDB4MTAsIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4ODAsIDB4ZjEsIDB4MmUsIDB4MjQsIDB4MDEsIDB4MDAsIDB4YTUsIAotICAgIDB4ZDksIDB4YTIsIDB4N2UsIDB4NjgsIDB4MGQsIDB4ZDEsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4N2UsIDB4MjQsIDB4ODAsIAotICAgIDB4MDAsIDB4N2UsIDB4MTEsIDB4MDksIDB4MGIsIDB4MDAsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4N2UsIDB4YTAsIDB4MDEsIDB4MTksIDB4YTIsIDB4MDAsIAotICAgIDB4MTAsIDB4MTIsIDB4MTksIDB4ZWUsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4NWUsIDB4YjAsIDB4YTAsIDB4YmUsIDB4YjAsIDB4YTAsIDB4NzgsIDB4MWYsIAotICAgIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTksIDB4ZWUsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4NWUsIDB4YjAsIDB4YTAsIAotICAgIDB4NzgsIDB4MGQsIDB4N2UsIDB4NjgsIDB4MGEsIDB4ODIsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4ODAsIDB4MjAsIDB4N2UsIAotICAgIDB4NjgsIDB4MGEsIDB4OGIsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4MTIsIDB4MWEsIDB4MDgsIDB4MzAsIDB4MDksIDB4MGYsIAotICAgIDB4N2UsIDB4YTAsIDB4MDEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4ODAsIDB4ZjEsIDB4MmUsIAotICAgIDB4MjQsIDB4MDEsIDB4MDAsIDB4YTUsIDB4ZDksIDB4OWUsIDB4MDIsIDB4MTgsIDB4MmIsIDB4N2UsIDB4NjgsIDB4MGQsIDB4MWQsIDB4N2EsIDB4NmMsIDB4MDAsIAotICAgIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MDksIDB4MGIsIDB4MDAsIDB4NmMsIDB4YWEsIDB4MTksIAotICAgIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTksIDB4ZWUsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4N2UsIDB4YTAsIDB4MDIsIDB4MTksIDB4YTIsIDB4MDAsIAotICAgIDB4MTAsIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTksIDB4ZWUsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4NWUsIDB4YjAsIAotICAgIDB4MDYsIDB4NzgsIDB4M2MsIDB4N2UsIDB4YTAsIDB4MDEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTksIDB4ZWUsIDB4MDksIDB4YjIsIDB4MDAsIAotICAgIDB4MTgsIDB4N2UsIDB4YTAsIDB4MDMsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4N2UsIDB4YTAsIDB4MDEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIAotICAgIDB4MTksIDB4ZWUsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4NWUsIDB4YjAsIDB4MDYsIDB4NzgsIDB4MTQsIDB4N2UsIDB4NjgsIDB4MGEsIDB4ODIsIDB4N2EsIAotICAgIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4MmUsIDB4MjQsIDB4MDEsIDB4MDAsIDB4YTUsIDB4ZDksIDB4OWUsIDB4ODAsIDB4MjAsIDB4N2UsIAotICAgIDB4NjgsIDB4MGEsIDB4OGIsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4MTIsIDB4MWEsIDB4MDgsIDB4MzAsIDB4MDksIDB4ZTYsIAotICAgIDB4N2UsIDB4YTAsIDB4MDIsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4ODAsIDB4ZjEsIDB4N2UsIAotICAgIDB4NjgsIDB4MGQsIDB4NjUsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIAotICAgIDB4MDksIDB4MGIsIDB4MDAsIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTksIDB4ZWUsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIAotICAgIDB4N2UsIDB4YTAsIDB4MDEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTksIDB4ZWUsIAotICAgIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4NWUsIDB4YjAsIDB4MDksIDB4NzgsIDB4M2MsIDB4N2UsIDB4YTAsIDB4MDIsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIAotICAgIDB4MTIsIDB4MTksIDB4ZWUsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4N2UsIDB4YTAsIDB4MDMsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4N2UsIDB4YTAsIAotICAgIDB4MDIsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTksIDB4ZWUsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4NWUsIDB4YjAsIDB4MDksIDB4NzgsIAotICAgIDB4MTQsIDB4N2UsIDB4NjgsIDB4MGEsIDB4ODIsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4MmUsIDB4MjQsIDB4MDEsIDB4MDAsIAotICAgIDB4YTUsIDB4ZDksIDB4OWUsIDB4ODAsIDB4MjAsIDB4N2UsIDB4NjgsIDB4MGEsIDB4OGIsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIAotICAgIDB4MTIsIDB4MWEsIDB4MDgsIDB4MzAsIDB4MDksIDB4ZTYsIDB4N2UsIDB4YTAsIDB4MDEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4NmMsIDB4YWEsIDB4MTksIAotICAgIDB4YTIsIDB4MDAsIDB4MTAsIDB4ODAsIDB4ZjEsIDB4N2UsIDB4NjgsIDB4MGQsIDB4YWQsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIAotICAgIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MDksIDB4MGIsIDB4MDAsIDB4N2UsIDB4YTAsIDB4MDIsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIAotICAgIDB4MTIsIDB4MTksIDB4ZWUsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4NWUsIDB4YjAsIDB4OTAsIDB4YmUsIDB4YjAsIDB4OTAsIDB4NzgsIDB4MWYsIDB4NmMsIAotICAgIDB4YWEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTksIDB4ZWUsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4NWUsIDB4YjAsIDB4OTAsIDB4NzgsIAotICAgIDB4MGQsIDB4N2UsIDB4NjgsIDB4MGEsIDB4ODIsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4ODAsIDB4MjAsIDB4N2UsIDB4NjgsIAotICAgIDB4MGEsIDB4OGIsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4MTIsIDB4MWEsIDB4MDgsIDB4MzAsIDB4MDksIDB4MGYsIDB4N2UsIAotICAgIDB4YTAsIDB4MDIsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4ODAsIDB4ZjEsIDB4MmUsIDB4MjQsIAotICAgIDB4MDEsIDB4MDAsIDB4YTUsIDB4ZDksIDB4YTIsIDB4MDIsIDB4MTgsIDB4YjcsIDB4MzAsIDB4MTcsIDB4MDMsIDB4MDIsIDB4MTksIDB4M2IsIDB4YzIsIDB4OGEsIAotICAgIDB4MTIsIDB4MTksIDB4MjIsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MDksIDB4NmMsIDB4YWEsIDB4MTksIDB4YTIsIDB4MDAsIDB4MDQsIAotICAgIDB4MTIsIDB4MTksIDB4ZWUsIDB4MGIsIDB4MDAsIDB4N2UsIDB4YTAsIDB4MDgsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTksIDB4ZWUsIDB4MjAsIAotICAgIDB4OGIsIDB4M2UsIDB4MjAsIDB4ODksIDB4M2IsIDB4N2UsIDB4YTAsIDB4MDgsIDB4MTksIDB4YTIsIDB4MDAsIDB4MDQsIDB4MDksIDB4YTIsIDB4MDAsIDB4MTAsIAotICAgIDB4NGUsIDB4YTAsIDB4MDIsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTksIDB4ZWUsIDB4MzAsIDB4OGIsIDB4MjMsIDB4MzAsIDB4ODksIDB4MjAsIAotICAgIDB4MDksIDB4YTIsIDB4MDAsIDB4MTAsIDB4NWUsIDB4YTAsIDB4ZmQsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTksIDB4ZWUsIDB4N2UsIDB4YTAsIAotICAgIDB4MDAsIDB4MTksIDB4YTIsIDB4MDAsIDB4MDQsIDB4MTIsIDB4MTksIDB4ZWUsIDB4MjAsIDB4OGIsIDB4MDUsIDB4MjAsIDB4ODksIDB4MDIsIDB4ODAsIDB4MWEsIAotICAgIDB4MTIsIDB4MWEsIDB4MDgsIDB4MzAsIDB4MDksIDB4MTQsIDB4N2UsIDB4YTAsIDB4MDIsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MDAsIDB4MDAsIDB4NWUsIAotICAgIDB4YTAsIDB4ZmQsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MDAsIDB4MDAsIDB4ODAsIDB4ZWMsIDB4MmUsIDB4MjQsIDB4MDEsIDB4MDAsIDB4YTUsIDB4ZDksIAotICAgIDB4ODksIDB4MDIsIDB4MTksIDB4M2IsIDB4MjAsIDB4MTcsIDB4ZmEsIDB4MTIsIDB4MTMsIDB4OGEsIDB4MTIsIDB4MTksIDB4MjIsIDB4N2UsIDB4MjQsIDB4ODAsIAotICAgIDB4MDAsIDB4N2UsIDB4MTEsIDB4MDksIDB4MGIsIDB4MDAsIDB4MjAsIDB4ODksIDB4MjYsIDB4N2UsIDB4YTAsIDB4ZmYsIDB4MTksIDB4YTIsIDB4MDAsIDB4MDQsIAotICAgIDB4MTIsIDB4MTksIDB4ZWUsIDB4N2UsIDB4YjAsIDB4NTUsIDB4MTksIDB4YjIsIDB4MDAsIDB4MDAsIDB4MTIsIDB4MTksIDB4ZWUsIDB4MzAsIDB4ODksIDB4MGYsIAotICAgIDB4N2UsIDB4YTAsIDB4MDAsIDB4MTksIDB4YTIsIDB4MDAsIDB4MDQsIDB4MTIsIDB4MTksIDB4ZWUsIDB4MjAsIDB4ODksIDB4MDIsIDB4ODAsIDB4MjYsIDB4MTIsIAotICAgIDB4MWEsIDB4MDgsIDB4MzAsIDB4MDksIDB4MjAsIDB4N2UsIDB4YTAsIDB4ZmYsIDB4MTksIDB4YTIsIDB4MDAsIDB4MDQsIDB4MTIsIDB4MTksIDB4ZWUsIDB4N2UsIAotICAgIDB4YjAsIDB4NTUsIDB4MTksIDB4YjIsIDB4MDAsIDB4MDAsIDB4MTIsIDB4MTksIDB4ZWUsIDB4N2UsIDB4YTAsIDB4MDAsIDB4MTksIDB4YTIsIDB4MDAsIDB4MDQsIAotICAgIDB4MTIsIDB4MTksIDB4ZWUsIDB4ODAsIDB4ZTAsIDB4MmUsIDB4MjQsIDB4MDEsIDB4MDAsIDB4YTUsIDB4ZDksIDB4YTgsIDB4MDIsIDB4MTksIDB4M2IsIDB4N2UsIAotICAgIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MDksIDB4N2UsIDB4YTAsIDB4MDgsIDB4MTksIDB4YTIsIDB4MDAsIDB4MTAsIDB4MTIsIDB4MTksIDB4ZWUsIAotICAgIDB4MmUsIDB4MjQsIDB4MDEsIDB4MDAsIDB4YTUsIDB4ZDksIDB4ZWYsIDB4MjIsIDB4MzAsIDB4MGEsIDB4MTksIDB4N2UsIDB4NjgsIDB4MGQsIDB4ZjUsIDB4N2EsIAotICAgIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4ZDIsIDB4MDksIDB4MTIsIDB4MTksIDB4ZWUsIDB4MTIsIDB4MTksIDB4ZWUsIDB4MTIsIDB4MTksIAotICAgIDB4ZWUsIDB4MDIsIDB4MGYsIDB4MTAsIDB4MzAsIDB4MTcsIDB4MWMsIDB4N2UsIDB4NjgsIDB4MGUsIDB4NmYsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIAotICAgIDB4MWEsIDB4OTMsIDB4N2UsIDB4NjgsIDB4MGUsIDB4OTEsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4MTIsIDB4MWIsIDB4M2MsIAotICAgIDB4MDIsIDB4MTksIDB4ZTYsIDB4MGIsIDB4MDAsIDB4N2UsIDB4NzgsIDB4MTksIDB4YTAsIDB4N2EsIDB4N2MsIDB4MDAsIDB4ZmYsIDB4N2YsIDB4NjcsIDB4N2EsIAotICAgIDB4NmMsIDB4MDAsIDB4MDAsIDB4N2UsIDB4NzAsIDB4M2UsIDB4N2UsIDB4N2IsIDB4YjAsIDB4N2EsIDB4NmIsIDB4YjAsIDB4MGIsIDB4N2MsIDB4MGIsIDB4NmMsIAotICAgIDB4YTUsIDB4ZGYsIDB4ZjMsIDB4N2UsIDB4NzgsIDB4MTksIDB4YTAsIDB4N2EsIDB4N2MsIDB4MDAsIDB4MDAsIDB4ODksIDB4NzgsIDB4N2UsIDB4NzgsIDB4MDAsIAotICAgIDB4MDAsIDB4N2EsIDB4N2MsIDB4MDAsIDB4ZmUsIDB4N2UsIDB4NjgsIDB4N2YsIDB4YmYsIDB4N2EsIDB4NmMsIDB4MDAsIDB4ZmUsIDB4NzQsIDB4YWEsIDB4MzksIAotICAgIDB4YjcsIDB4NTUsIDB4NTUsIDB4NzQsIDB4NTUsIDB4MzksIDB4YjcsIDB4MmEsIDB4YWEsIDB4NzQsIDB4YTAsIDB4MzksIDB4YjcsIDB4NTUsIDB4NTUsIDB4NmMsIAotICAgIDB4OTksIDB4N2EsIDB4NmIsIDB4OTAsIDB4N2UsIDB4NTQsIDB4MjcsIDB4MTAsIDB4N2UsIDB4NmIsIDB4ODAsIDB4YmMsIDB4ODksIDB4NjgsIDB4MDgsIDB4MWIsIAotICAgIDB4NTQsIDB4NzgsIDB4ZjUsIDB4OGEsIDB4ZmYsIDB4MTksIDB4ZGUsIDB4OGEsIDB4ZmYsIDB4MTksIDB4ZTYsIDB4MTIsIDB4MWEsIDB4MDgsIDB4N2UsIDB4NmIsIAotICAgIDB4ODAsIDB4ODAsIDB4ZmIsIDB4N2UsIDB4MTAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4ODUsIDB4ODAsIDB4ZjgsIDB4Y2EsIDB4ZjksIDB4N2UsIDB4ZjQsIDB4MDAsIAotICAgIDB4ZmYsIDB4MWIsIDB4ZjQsIDB4NzgsIDB4ZmMsIDB4ZGEsIDB4ZjksIDB4MjIsIDB4Y2EsIDB4ZjksIDB4N2UsIDB4ZjQsIDB4MDAsIDB4MDAsIDB4MWIsIDB4ZjQsIAotICAgIDB4NzgsIDB4ZmMsIDB4ZGEsIDB4ZjksIDB4MjIsIDB4MjAsIDB4MDksIDB4MTksIDB4ZDIsIDB4MGEsIDB4MTIsIDB4MTksIDB4ZmIsIDB4YzIsIDB4OTUsIDB4ZDIsIAotICAgIDB4OTQsIDB4MTIsIDB4MTksIDB4ZmIsIDB4MTIsIDB4MTksIDB4ZmIsIDB4MTIsIDB4MTksIDB4ZmIsIDB4MTIsIDB4MTksIDB4ZmIsIDB4NDMsIDB4OTAsIDB4MzAsIAotICAgIDB4MjIsIDB4Y2EsIDB4MGIsIDB4N2UsIDB4MTAsIDB4MDMsIDB4N2MsIDB4MzAsIDB4NmMsIDB4MjIsIDB4MGIsIDB4MjAsIDB4OWUsIDB4MzAsIDB4MGEsIDB4NTAsIAotICAgIDB4ZjksIDB4MmUsIDB4MzAsIDB4MGIsIDB4MWIsIDB4MjAsIDB4NjgsIDB4MTgsIDB4MTIsIDB4MTksIDB4ZmIsIDB4MTIsIDB4MTksIDB4ZmIsIDB4NTMsIDB4OTAsIAotICAgIDB4Y2YsIDB4MTIsIDB4MTksIDB4ZmIsIDB4MTIsIDB4MTksIDB4ZmIsIDB4MTIsIDB4MTksIDB4ZmIsIDB4NDMsIDB4OTAsIDB4MzAsIDB4YTUsIDB4ZGEsIDB4ZTgsIAotICAgIDB4MTIsIDB4MTksIDB4ZmIsIDB4MTIsIDB4MTksIDB4ZmIsIDB4MWIsIDB4MzAsIDB4NjgsIDB4MTksIDB4MTIsIDB4MTksIDB4ZmIsIDB4MTIsIDB4MTksIDB4ZmIsIAotICAgIDB4YzIsIDB4OTUsIDB4ZDIsIDB4OTQsIDB4MTIsIDB4MTksIDB4ZmIsIDB4MTIsIDB4MTksIDB4ZmIsIDB4MTIsIDB4MTksIDB4ZmIsIDB4NDMsIDB4OTAsIDB4MzAsIAotICAgIDB4YTUsIDB4ZGIsIDB4ZTcsIDB4N2UsIDB4MjAsIDB4MGEsIDB4MTIsIDB4MTksIDB4ZmIsIDB4YTUsIDB4ZGEsIDB4ZmEsIDB4YTUsIDB4ZDksIDB4YTcsIDB4ZGEsIAotICAgIDB4MGIsIDB4MjIsIDB4MjAsIDB4MDksIDB4MGEsIDB4MTIsIDB4MTksIDB4ZmIsIDB4YjIsIDB4OTQsIDB4MTIsIDB4MTksIDB4ZmIsIDB4YjIsIDB4OTQsIDB4MjIsIAotICAgIDB4MzAsIDB4MTcsIDB4MzIsIDB4MjAsIDB4MDksIDB4MmYsIDB4Y2EsIDB4MmIsIDB4Y2EsIDB4N2IsIDB4N2UsIDB4NzgsIDB4ODAsIDB4MDAsIDB4N2EsIDB4N2MsIAotICAgIDB4MDAsIDB4ZmUsIDB4MTIsIDB4MWIsIDB4MWMsIDB4N2UsIDB4NmIsIDB4YTAsIDB4NWMsIDB4YWEsIDB4NjgsIDB4MTAsIDB4MjksIDB4YjcsIDB4MDAsIDB4MTQsIAotICAgIDB4NTQsIDB4NjAsIDB4NjgsIDB4ZjgsIDB4MzksIDB4YTcsIDB4MDAsIDB4MDAsIDB4MGIsIDB4NmMsIDB4ODAsIDB4ZTksIDB4MTIsIDB4MTksIDB4ZWUsIDB4ZDIsIAotICAgIDB4YjUsIDB4ZGEsIDB4N2IsIDB4ZGEsIDB4MmIsIDB4MjIsIDB4MTIsIDB4MWEsIDB4ZDQsIDB4N2UsIDB4NjgsIDB4MDAsIDB4MGIsIDB4MTIsIDB4MWEsIDB4OTMsIAotICAgIDB4MjIsIDB4Y2EsIDB4NTksIDB4Y2EsIDB4NWIsIDB4N2UsIDB4YjQsIDB4MDAsIDB4MGIsIDB4N2MsIDB4YjgsIDB4YzQsIDB4MTIsIDB4MWIsIDB4MDQsIDB4N2MsIAotICAgIDB4YjgsIDB4MTIsIDB4MWIsIDB4MDQsIDB4N2MsIDB4YjksIDB4YzQsIDB4MTIsIDB4MWIsIDB4MDQsIDB4N2MsIDB4YjksIDB4MTIsIDB4MWIsIDB4MDQsIDB4N2UsIAotICAgIDB4YjAsIDB4NjgsIDB4N2EsIDB4YjksIDB4YjAsIDB4MGIsIDB4YjQsIDB4NmMsIDB4YmIsIDB4N2EsIDB4YjksIDB4YjAsIDB4ZGEsIDB4NTksIDB4ZGEsIDB4NWIsIAotICAgIDB4MjIsIDB4NWUsIDB4YjAsIDB4MGYsIDB4N2MsIDB4YWIsIDB4OWUsIDB4YTAsIDB4MGEsIDB4NDAsIDB4MDUsIDB4MmUsIDB4YjAsIDB4MzcsIDB4ODAsIDB4MDMsIAotICAgIDB4MmUsIDB4YjAsIDB4MzAsIDB4N2EsIDB4YjksIDB4YjAsIDB4MGIsIDB4YjQsIDB4MjIsIDB4YzIsIDB4YjUsIDB4YzIsIDB4OTIsIDB4MTIsIDB4MTksIDB4ZWUsIAotICAgIDB4NzQsIDB4ODAsIDB4MzksIDB4YjcsIDB4MDAsIDB4MGMsIDB4N2UsIDB4NTQsIDB4MDAsIDB4MDYsIDB4MzksIDB4YTcsIDB4MDAsIDB4MDQsIDB4MzksIDB4YjcsIAotICAgIDB4MDAsIDB4MDAsIDB4NzQsIDB4MDMsIDB4MzksIDB4YjcsIDB4MDAsIDB4MGMsIDB4MjIsIDB4N2UsIDB4NzgsIDB4MDAsIDB4MDAsIDB4N2EsIDB4N2MsIDB4MDAsIAotICAgIDB4ZmYsIDB4N2UsIDB4NTgsIDB4MDAsIDB4MDAsIDB4N2EsIDB4NWMsIDB4MDAsIDB4MDEsIDB4N2YsIDB4NjUsIDB4N2UsIDB4NzQsIDB4MjAsIDB4MDAsIDB4MTIsIAotICAgIDB4MDgsIDB4ZDYsIDB4NDAsIDB4NTQsIDB4N2UsIDB4NzgsIDB4N2MsIDB4MDAsIDB4N2EsIDB4N2MsIDB4MDAsIDB4ZmYsIDB4N2UsIDB4NTgsIDB4MDAsIDB4MDAsIAotICAgIDB4N2EsIDB4NWMsIDB4MDAsIDB4MDEsIDB4N2UsIDB4NjgsIDB4N2MsIDB4MDAsIDB4N2EsIDB4NmMsIDB4MDAsIDB4MDEsIDB4N2UsIDB4NzQsIDB4MDQsIDB4MDAsIAotICAgIDB4MTIsIDB4MDgsIDB4ZDYsIDB4NDAsIDB4MzMsIDB4NzQsIDB4ODAsIDB4MTIsIDB4MWIsIDB4YjEsIDB4NDAsIDB4MmMsIDB4NTMsIDB4OTAsIDB4Y2YsIDB4ZDIsIAotICAgIDB4MDgsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MDgsIDB4N2UsIDB4MTQsIDB4MDAsIDB4MDAsIDB4ODQsIDB4YTUsIDB4ZGIsIDB4ZmMsIDB4YTUsIDB4ZGEsIDB4ZjksIAotICAgIDB4YTUsIDB4ZDksIDB4ZjYsIDB4NzQsIDB4NDAsIDB4MTIsIDB4MWIsIDB4YjEsIDB4NDAsIDB4MGUsIDB4N2UsIDB4NjgsIDB4MGUsIDB4YzAsIDB4N2EsIDB4NmMsIAotICAgIDB4MDAsIDB4ZmYsIDB4MTIsIDB4MWEsIDB4OTMsIDB4MDIsIDB4MTksIDB4ZTYsIDB4YzIsIDB4OTUsIDB4ZDIsIDB4OTQsIDB4ODAsIDB4ZmUsIDB4ZjUsIDB4MGEsIAotICAgIDB4N2UsIDB4NzgsIDB4MDAsIDB4MGEsIDB4N2EsIDB4N2MsIDB4MDAsIDB4MDAsIDB4N2UsIDB4NjgsIDB4N2YsIDB4YmYsIDB4N2EsIDB4NmMsIDB4MDAsIDB4MDEsIAotICAgIDB4N2UsIDB4NzQsIDB4MDAsIDB4MDEsIDB4MDIsIDB4MDgsIDB4ZDYsIAotfTsKLQotc3RhdGljIHN0cnVjdCBlZGdlX2Zpcm13YXJlX3ZlcnNpb25faW5mbyBJTUFHRV9WRVJTSU9OX05BTUUgPSB7Ci0JMSwgMTIsIDIgfTsJCS8vIE1ham9yLCBNaW5vciwgQnVpbGQKLQotI3VuZGVmIElNQUdFX1ZFUlNJT05fTkFNRQotCi0jdW5kZWYgSU1BR0VfQVJSQVlfTkFNRQotCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zZXJpYWwvaW9fZndfYm9vdDIuaCBiL2RyaXZlcnMvdXNiL3NlcmlhbC9pb19md19ib290Mi5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMzQ2M2RlLi4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvdXNiL3NlcmlhbC9pb19md19ib290Mi5oCisrKyAvZGV2L251bGwKQEAgLTEsNTQ2ICswLDAgQEAKLS8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLS8vKiBFZGdlcG9ydC80IEJpbmFyeSBJbWFnZQotLy8qIEdlbmVyYXRlZCBieSBIRVgyQyB2MS4wNgotLy8qIENvcHlyaWdodCAoQykgMTk5OCBJbnNpZGUgT3V0IE5ldHdvcmtzLCBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8qCVRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0vLyoJaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLS8vKgl0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgotLy8qCShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0KLQotLy9JbWFnZSBzdHJ1Y3R1cmUgZGVmaW5pdGlvbgotI2lmICFkZWZpbmVkKERFRklORURfRURHRV9GSVJNV0FSRV9JTUFHRV9SRUNPUkQpCi0jZGVmaW5lIERFRklORURfRURHRV9GSVJNV0FSRV9JTUFHRV9SRUNPUkQKLQlzdHJ1Y3QgZWRnZV9maXJtd2FyZV9pbWFnZV9yZWNvcmQgewotCQlfX2xlMTYgRXh0QWRkcjsKLQkJX19sZTE2IEFkZHI7Ci0JCV9fbGUxNiBMZW47Ci0JCXVuc2lnbmVkIGNoYXIgIERhdGFbMF07Ci0JfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7Ci0KLQlzdHJ1Y3QgZWRnZV9maXJtd2FyZV92ZXJzaW9uX2luZm8gewotCQl1bnNpZ25lZCBjaGFyCSBNYWpvclZlcnNpb247Ci0JCXVuc2lnbmVkIGNoYXIgIE1pbm9yVmVyc2lvbjsKLQkJdW5zaWduZWQgc2hvcnQgQnVpbGROdW1iZXI7Ci0JfTsKLQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChJTUFHRV9BUlJBWV9OQU1FKQotI2RlZmluZSBJTUFHRV9BUlJBWV9OQU1FCQlGaXJtd2FyZUltYWdlCi0jZGVmaW5lIElNQUdFX1ZFUlNJT05fTkFNRQlGaXJtd2FyZUltYWdlVmVyc2lvbgotI2VuZGlmCi0KLXN0YXRpYyB1bnNpZ25lZCBjaGFyIElNQUdFX0FSUkFZX05BTUVbXSA9IHsKLQotLy8gU2VnbWVudCAjMSwgU3RhcnQgQWRkcmVzcyAwMGZmMDAwMCwgTGVuZ3RoIDYKLTB4ZmYsMHgwMCwweDAwLDB4MDAsMHgwNiwweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4ODAsIDB4MDIsIDB4MDAsIDB4MDMsIAotCi0vLyBTZWdtZW50ICMyLCBTdGFydCBBZGRyZXNzIDAwZmYwMDBiLCBMZW5ndGggMwotMHhmZiwweDAwLDB4MGIsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHgwYiwgCi0KLS8vIFNlZ21lbnQgIzMsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwMTMsIExlbmd0aCAzCi0weGZmLDB4MDAsMHgxMywweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDAyLCAweDU2LCAKLQotLy8gU2VnbWVudCAjNCwgU3RhcnQgQWRkcmVzcyAwMGZmMDAxYiwgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDFiLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4MWIsIAotCi0vLyBTZWdtZW50ICM1LCBTdGFydCBBZGRyZXNzIDAwZmYwMDIzLCBMZW5ndGggMwotMHhmZiwweDAwLDB4MjMsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHgyMywgCi0KLS8vIFNlZ21lbnQgIzYsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwMmIsIExlbmd0aCAzCi0weGZmLDB4MDAsMHgyYiwweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDJiLCAKLQotLy8gU2VnbWVudCAjNywgU3RhcnQgQWRkcmVzcyAwMGZmMDAzMywgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDMzLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4MzMsIAotCi0vLyBTZWdtZW50ICM4LCBTdGFydCBBZGRyZXNzIDAwZmYwMDNiLCBMZW5ndGggMwotMHhmZiwweDAwLDB4M2IsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHgzYiwgCi0KLS8vIFNlZ21lbnQgIzksIFN0YXJ0IEFkZHJlc3MgMDBmZjAwNDMsIExlbmd0aCAzCi0weGZmLDB4MDAsMHg0MywweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDQzLCAKLQotLy8gU2VnbWVudCAjMTAsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwNGIsIExlbmd0aCAzCi0weGZmLDB4MDAsMHg0YiwweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDRiLCAKLQotLy8gU2VnbWVudCAjMTEsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwNTMsIExlbmd0aCAzCi0weGZmLDB4MDAsMHg1MywweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDAxLCAweGY1LCAKLQotLy8gU2VnbWVudCAjMTIsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwN2IsIExlbmd0aCAzCi0weGZmLDB4MDAsMHg3YiwweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDdiLCAKLQotLy8gU2VnbWVudCAjMTMsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwODAsIExlbmd0aCA1MzQKLTB4ZmYsMHgwMCwweDgwLDB4MDAsMHgxNiwweDAyLAotICAgIDB4N2UsIDB4YjMsIDB4OTEsIDB4MDEsIDB4MjAsIDB4ZTMsIDB4MGMsIDB4N2UsIDB4YjMsIDB4M2YsIDB4ZjIsIDB4NTQsIDB4ZmUsIDB4N2EsIDB4YjMsIDB4M2YsIAotICAgIDB4ZjIsIDB4ODAsIDB4MGEsIDB4N2UsIDB4YjMsIDB4M2YsIDB4ZjIsIDB4NDQsIDB4MDEsIDB4N2EsIDB4YjMsIDB4M2YsIDB4ZjIsIDB4NzQsIDB4MDAsIDB4N2EsIAotICAgIDB4YjMsIDB4OTEsIDB4MDAsIDB4NzQsIDB4MDEsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTIsIDB4N2UsIDB4ZjgsIDB4MDAsIDB4MjQsIDB4N2UsIDB4MDAsIDB4MDEsIAotICAgIDB4N2UsIDB4MTAsIDB4MDAsIDB4MTIsIDB4MDksIDB4ZDAsIDB4NjksIDB4MjAsIDB4MDAsIDB4MGEsIDB4NWUsIDB4NDAsIDB4MWYsIDB4YmUsIDB4MjQsIDB4MDAsIAotICAgIDB4MDAsIDB4NzgsIDB4MDksIDB4N2UsIDB4MDAsIDB4MDMsIDB4N2EsIDB4MDMsIDB4OTAsIDB4MDAsIDB4ODAsIDB4MDcsIDB4N2UsIDB4MDAsIDB4MDIsIDB4N2EsIAotICAgIDB4MDMsIDB4OTAsIDB4MDAsIDB4NzUsIDB4YjAsIDB4ZGYsIDB4N2UsIDB4MDAsIDB4MDEsIDB4N2EsIDB4MDMsIDB4OTQsIDB4MDAsIDB4N2EsIDB4MDMsIDB4MDEsIAotICAgIDB4MjQsIDB4N2UsIDB4MDAsIDB4MDEsIDB4N2EsIDB4MDMsIDB4OTMsIDB4MDAsIDB4N2UsIDB4MDAsIDB4MDAsIDB4YTUsIDB4ZDgsIDB4ZmQsIDB4NzUsIDB4YTgsIAotICAgIDB4MDAsIDB4NzUsIDB4YjEsIDB4MDAsIDB4Y2EsIDB4MjksIDB4MTIsIDB4MGMsIDB4NjYsIDB4MTIsIDB4MGMsIDB4MzcsIDB4ZjUsIDB4MjEsIDB4N2EsIDB4YTEsIAotICAgIDB4MjAsIDB4MjAsIDB4MDksIDB4MDgsIDB4MjAsIDB4MGEsIDB4MGEsIDB4N2UsIDB4YjAsIDB4MGMsIDB4ODAsIDB4MDgsIDB4N2UsIDB4YjAsIDB4MDAsIDB4ODAsIAotICAgIDB4MDMsIDB4N2UsIDB4YjAsIDB4MDgsIDB4N2EsIDB4YjMsIDB4OTIsIDB4MDAsIDB4MTIsIDB4MDIsIDB4OTYsIDB4ZGEsIDB4MjksIDB4NzQsIDB4MTAsIDB4N2EsIAotICAgIDB4YjMsIDB4OTEsIDB4MDEsIDB4N2UsIDB4MjAsIDB4MDQsIDB4N2MsIDB4YjIsIDB4YzIsIDB4ZDcsIDB4MTMsIDB4MTMsIDB4MTMsIDB4MTMsIDB4N2EsIDB4YjMsIAotICAgIDB4OTEsIDB4MDAsIDB4NzQsIDB4MDAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTAsIDB4NzQsIDB4NjAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MWMsIDB4NzQsIDB4MDIsIAotICAgIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTIsIDB4YTUsIDB4ZGEsIDB4ZGYsIDB4NzQsIDB4MDAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDAsIDB4NzQsIDB4NjAsIDB4N2EsIAotICAgIDB4YjMsIDB4OTEsIDB4MWMsIDB4NzQsIDB4MTAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDYsIDB4NzQsIDB4MTAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDcsIDB4NzQsIAotICAgIDB4MzQsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTMsIDB4NzQsIDB4M2YsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTQsIDB4NzQsIDB4MDIsIDB4N2EsIDB4YjMsIDB4OTEsIAotICAgIDB4MDYsIDB4NzQsIDB4MDEsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDcsIDB4NzQsIDB4MDMsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDYsIDB4NzQsIDB4NDQsIDB4N2EsIAotICAgIDB4YjMsIDB4OTEsIDB4MDcsIDB4NzQsIDB4ZWYsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDQsIDB4NzQsIDB4MDcsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDYsIDB4N2UsIAotICAgIDB4YjMsIDB4OTEsIDB4MDcsIDB4N2EsIDB4YjEsIDB4MGEsIDB4NzUsIDB4MDksIDB4MDEsIDB4ZDIsIDB4YWEsIDB4ZDIsIDB4YWYsIDB4ZTQsIDB4N2UsIDB4NjAsIAotICAgIDB4MDIsIDB4NGQsIDB4MjIsIDB4NzgsIDB4MDMsIDB4N2UsIDB4NjAsIDB4MDMsIDB4N2MsIDB4NzYsIDB4N2UsIDB4MDQsIDB4MjgsIDB4MDAsIDB4OGQsIDB4ZWYsIAotICAgIDB4MWIsIDB4MDQsIDB4NzgsIDB4ZmEsIDB4MDQsIDB4N2UsIDB4MjAsIDB4MDcsIDB4N2EsIDB4MjMsIDB4OTEsIDB4MDYsIDB4N2UsIDB4MjMsIDB4OTEsIDB4MDcsIAotICAgIDB4N2UsIDB4MzEsIDB4MGEsIDB4YmMsIDB4MzIsIDB4NjgsIDB4MjIsIDB4N2EsIDB4MjEsIDB4MGEsIDB4N2UsIDB4MjEsIDB4MDksIDB4NjgsIDB4MTcsIDB4Y2EsIAotICAgIDB4YjgsIDB4NzQsIDB4MDMsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDYsIDB4N2UsIDB4YjMsIDB4OTEsIDB4MDcsIDB4NDQsIDB4MDIsIDB4N2EsIDB4YjMsIDB4OTEsIAotICAgIDB4MDcsIDB4ZGEsIDB4YjgsIDB4NzUsIDB4MDksIDB4MDAsIDB4MzAsIDB4ZTAsIDB4YzEsIDB4NmMsIDB4NjcsIDB4N2EsIDB4NjMsIDB4OTAsIDB4MDAsIDB4ODAsIAotICAgIDB4YjksIDB4YmUsIDB4YjAsIDB4MDIsIDB4MjIsIDB4YzAsIDB4ZDAsIDB4NzUsIDB4MDgsIDB4ZmUsIDB4MTIsIDB4MGEsIDB4YzAsIDB4NzQsIDB4MDIsIDB4N2EsIAotICAgIDB4YjMsIDB4OTEsIDB4MDYsIDB4NzQsIDB4MDAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDcsIDB4NzQsIDB4MDMsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDYsIDB4NzQsIAotICAgIDB4MDAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDcsIDB4NzQsIDB4MDIsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDQsIDB4N2UsIDB4YjMsIDB4M2YsIDB4ZjIsIDB4MzAsIAotICAgIDB4ZTAsIDB4MDgsIDB4NzQsIDB4MTgsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDEsIDB4ODAsIDB4MDYsIDB4NzQsIDB4MTAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDEsIAotICAgIDB4NzQsIDB4MTAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDQsIDB4MDIsIDB4MDIsIDB4MzYsIDB4NzUsIDB4MDgsIDB4ZmYsIDB4MTIsIDB4MGEsIDB4YzAsIDB4NzQsIAotICAgIDB4MDEsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDQsIDB4NzQsIDB4MDMsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDYsIDB4N2UsIDB4YjMsIDB4OTEsIDB4MDcsIDB4NTQsIAotICAgIDB4ZmMsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDcsIDB4MzIsIDB4Y2EsIDB4YjgsIDB4NzUsIDB4MDgsIDB4MDIsIDB4MTIsIDB4MGEsIDB4YzAsIDB4N2UsIDB4YjMsIAotICAgIDB4OTEsIDB4MDMsIDB4MjAsIDB4ZTUsIDB4MDgsIDB4MzAsIDB4ZTAsIDB4MmIsIDB4MTIsIDB4MDIsIDB4OWUsIDB4ODAsIDB4ZjEsIDB4N2UsIDB4YjMsIDB4OTEsIAotICAgIDB4MDQsIDB4MzAsIDB4ZTAsIDB4MDUsIDB4ZGEsIDB4YjgsIDB4MDIsIDB4MDIsIDB4MzksIDB4MzAsIDB4ZTEsIDB4MDUsIDB4ZGEsIDB4YjgsIDB4MDIsIDB4MDEsIAotICAgIDB4ZjUsIDB4MzAsIDB4ZTYsIDB4MDUsIDB4MTIsIDB4MDQsIDB4MDMsIDB4ODAsIDB4ZDUsIDB4MzAsIDB4ZTIsIDB4MDUsIDB4ZGEsIDB4YjgsIDB4MDIsIDB4MDAsIAotICAgIDB4ODAsIDB4ODAsIDB4Y2IsIDB4ZGEsIDB4YjgsIDB4MzIsIAotCi0vLyBTZWdtZW50ICMxNCwgRVhDTFVERUQgU3RhcnQgQWRkcmVzcyAwMGZmMzFkNywgTGVuZ3RoIDEKLQotCi0vLyBTZWdtZW50ICMxNSwgU3RhcnQgQWRkcmVzcyAwMGZmMDI5NiwgTGVuZ3RoIDIwOTAKLTB4ZmYsMHgwMCwweDk2LDB4MDIsMHgyYSwweDA4LAotICAgIDB4ZTQsIDB4N2EsIDB4YjMsIDB4M2YsIDB4ZjEsIDB4MDIsIDB4MDMsIDB4NDEsIDB4Y2EsIDB4MGIsIDB4Y2EsIDB4MWIsIDB4Y2EsIDB4MmIsIDB4Y2EsIDB4M2IsIAotICAgIDB4Y2EsIDB4NGIsIDB4Y2EsIDB4NWIsIDB4Y2EsIDB4NmIsIDB4Y2EsIDB4N2IsIDB4Y2EsIDB4ZWIsIDB4NzQsIDB4MDAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDAsIAotICAgIDB4N2UsIDB4YjMsIDB4MDEsIDB4MmUsIDB4YjQsIDB4MDAsIDB4MDIsIDB4ODAsIDB4MWMsIDB4YjQsIDB4MDEsIDB4MTksIDB4N2UsIDB4YjMsIDB4OTEsIDB4MTQsIAotICAgIDB4NTQsIDB4MTQsIDB4NjgsIDB4MDUsIDB4MTIsIDB4MDMsIDB4MDUsIDB4ODAsIDB4MjMsIDB4N2UsIDB4YjMsIDB4OTEsIDB4MTQsIDB4MzAsIDB4ZTUsIDB4MWMsIAotICAgIDB4MTIsIDB4MDQsIDB4NDMsIDB4ODAsIDB4MTcsIDB4N2UsIDB4YjMsIDB4OTEsIDB4MTQsIDB4MzAsIDB4ZTUsIDB4MDUsIDB4MTIsIDB4MDQsIDB4NDMsIDB4ODAsIAotICAgIDB4MGIsIDB4N2UsIDB4YjMsIDB4OTEsIDB4MTQsIDB4NTQsIDB4MTQsIDB4NjgsIDB4MDMsIDB4MTIsIDB4MDMsIDB4MDUsIDB4ZGEsIDB4ZWIsIDB4ZGEsIDB4N2IsIAotICAgIDB4ZGEsIDB4NmIsIDB4ZGEsIDB4NWIsIDB4ZGEsIDB4NGIsIDB4ZGEsIDB4M2IsIDB4ZGEsIDB4MmIsIDB4ZGEsIDB4MWIsIDB4ZGEsIDB4MGIsIDB4MjIsIDB4MjAsIAotICAgIDB4ZTQsIDB4MTksIDB4NzUsIDB4MDgsIDB4MGEsIDB4MTIsIDB4MGEsIDB4YzAsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MmQsIDB4NzAsIDB4MGEsIDB4N2UsIDB4YjMsIAotICAgIDB4MDEsIDB4MmUsIDB4YjQsIDB4MDEsIDB4MWYsIDB4MDIsIDB4MDMsIDB4OWQsIDB4MDIsIDB4MDksIDB4OGIsIDB4NzUsIDB4MDgsIDB4MGIsIDB4MTIsIDB4MGEsIAotICAgIDB4YzAsIDB4NzQsIDB4MTQsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTQsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MmUsIDB4YjQsIDB4MDIsIDB4MGMsIDB4MTIsIDB4MDMsIAotICAgIDB4NGQsIDB4MDIsIDB4MDMsIDB4NDEsIDB4NzQsIDB4MDQsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTQsIDB4MjIsIDB4N2UsIDB4MDAsIDB4MDAsIDB4N2EsIDB4MDMsIAotICAgIDB4MDEsIDB4MmUsIDB4N2EsIDB4MDMsIDB4MDEsIDB4MmYsIDB4MjIsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MjUsIDB4NTQsIDB4NjAsIDB4NjAsIDB4MDUsIDB4YjQsIAotICAgIDB4NDAsIDB4MWUsIDB4ODAsIDB4MWMsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MjYsIDB4YjQsIDB4MDUsIDB4MTUsIDB4NzUsIDB4MDgsIDB4NzEsIDB4MTIsIDB4MGEsIAotICAgIDB4YzAsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MjgsIDB4N2UsIDB4YTAsIDB4MDEsIDB4N2EsIDB4YTMsIDB4OTEsIDB4MDYsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDcsIAotICAgIDB4MjIsIDB4NzQsIDB4MDAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDAsIDB4NzQsIDB4MTAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTIsIDB4MjIsIDB4YmUsIDB4NTcsIAotICAgIDB4MDEsIDB4MmIsIDB4MjgsIDB4MDQsIDB4N2UsIDB4NTcsIDB4MDEsIDB4MmIsIDB4N2EsIDB4MGYsIDB4MDEsIDB4MzEsIDB4N2EsIDB4NTcsIDB4MDEsIDB4MzUsIAotICAgIDB4NzQsIDB4MTAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTIsIDB4MjIsIDB4NzQsIDB4MDAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDAsIDB4N2UsIDB4YjMsIDB4OTEsIAotICAgIDB4MWEsIDB4NzAsIDB4NTMsIDB4N2UsIDB4YjMsIDB4OTEsIDB4MTQsIDB4MjAsIDB4ZTQsIDB4NGMsIDB4N2UsIDB4ZWYsIDB4MDEsIDB4MzEsIDB4N2UsIDB4ZjcsIAotICAgIDB4MDEsIDB4MzUsIDB4N2UsIDB4MDcsIDB4MDEsIDB4MzUsIDB4NGQsIDB4MDAsIDB4NjgsIDB4MjEsIDB4N2UsIDB4MDAsIDB4MDAsIDB4ZTAsIDB4N2EsIDB4YjMsIAotICAgIDB4OTEsIDB4MTcsIDB4YTMsIDB4YTUsIDB4MDgsIDB4MWIsIDB4ZjQsIDB4NjgsIDB4MDYsIDB4YTUsIDB4YjgsIDB4MTAsIDB4ZjAsIDB4ODAsIDB4MTksIDB4N2UsIAotICAgIDB4YjAsIDB4MDAsIDB4N2EsIDB4YjMsIDB4MDEsIDB4MmUsIDB4YmUsIDB4MDAsIDB4MTAsIDB4NjgsIDB4MGQsIDB4N2UsIDB4YjAsIDB4MDAsIDB4N2EsIDB4YjMsIAotICAgIDB4MDEsIDB4MmUsIDB4NzQsIDB4ODAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MWUsIDB4N2EsIDB4ZWYsIDB4MDEsIDB4MzEsIDB4N2EsIDB4ZjcsIDB4MDEsIDB4MzUsIAotICAgIDB4NzUsIDB4MDgsIDB4MDYsIDB4MTIsIDB4MGEsIDB4YzAsIDB4NzQsIDB4MDQsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTQsIDB4MjIsIDB4Y2EsIDB4MGIsIDB4Y2EsIAotICAgIDB4MWIsIDB4Y2EsIDB4MmIsIDB4Y2EsIDB4M2IsIDB4Y2EsIDB4NGIsIDB4Y2EsIDB4NWIsIDB4Y2EsIDB4NmIsIDB4Y2EsIDB4N2IsIDB4Y2EsIDB4ZWIsIDB4NzUsIAotICAgIDB4MDgsIDB4MDMsIDB4MTIsIDB4MGEsIDB4YzAsIDB4NzQsIDB4MDAsIDB4N2EsIDB4YjMsIDB4MDEsIDB4MmQsIDB4NzQsIDB4MDAsIDB4N2EsIDB4YjMsIDB4OTEsIAotICAgIDB4MDAsIDB4NzQsIDB4MDEsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTIsIDB4MTIsIDB4MDQsIDB4YjIsIDB4ZGEsIDB4ZWIsIDB4ZGEsIDB4N2IsIDB4ZGEsIDB4NmIsIAotICAgIDB4ZGEsIDB4NWIsIDB4ZGEsIDB4NGIsIDB4ZGEsIDB4M2IsIDB4ZGEsIDB4MmIsIDB4ZGEsIDB4MWIsIDB4ZGEsIDB4MGIsIDB4MjIsIDB4NzUsIDB4MDgsIDB4MDMsIAotICAgIDB4MTIsIDB4MGEsIDB4YzAsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MmYsIDB4YjQsIDB4MDIsIDB4MTEsIDB4NzQsIDB4MDAsIDB4N2EsIDB4YjMsIDB4MDEsIDB4MmYsIAotICAgIDB4N2EsIDB4YjMsIDB4MDEsIDB4MmUsIDB4NzQsIDB4MjAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTQsIDB4MjIsIDB4YjQsIDB4MDEsIDB4NDYsIDB4N2UsIDB4YjMsIAotICAgIDB4OTEsIDB4MDQsIDB4MjAsIDB4ZTYsIDB4NDIsIDB4N2UsIDB4MjMsIDB4OTEsIDB4MWEsIDB4N2MsIDB4MzIsIDB4N2UsIDB4MTMsIDB4MDEsIDB4MzAsIDB4MmMsIAotICAgIDB4MjEsIDB4N2EsIDB4MjMsIDB4MDEsIDB4MzAsIDB4N2UsIDB4MDAsIDB4MDAsIDB4MmUsIDB4MDQsIDB4MDEsIDB4MzcsIDB4N2UsIDB4YjMsIDB4OTEsIDB4MTYsIAotICAgIDB4N2EsIDB4MDksIDB4YjAsIDB4MGIsIDB4MDQsIDB4YTUsIDB4ZGIsIDB4ZjQsIDB4NzQsIDB4MjAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTQsIDB4NzUsIDB4MDgsIAotICAgIDB4NzAsIDB4MTIsIDB4MGEsIDB4YzAsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MzAsIDB4N2UsIDB4YTMsIDB4MDEsIDB4MmMsIDB4YmMsIDB4YWIsIDB4NzgsIDB4MDMsIAotICAgIDB4MTIsIDB4MDUsIDB4NTIsIDB4MjIsIDB4MDIsIDB4MDksIDB4OGIsIDB4ZGEsIDB4NTksIDB4MDIsIDB4MDQsIDB4MTUsIDB4NzQsIDB4ZTAsIDB4N2EsIDB4YjMsIAotICAgIDB4OTEsIDB4MDAsIDB4N2UsIDB4MDMsIDB4OTEsIDB4MTAsIDB4N2UsIDB4MTMsIDB4OTEsIDB4MTEsIDB4N2UsIDB4MzMsIDB4OTEsIDB4MTIsIDB4N2UsIDB4MjMsIAotICAgIDB4OTEsIDB4MTMsIDB4N2UsIDB4NTMsIDB4OTEsIDB4MTQsIDB4N2UsIDB4NDMsIDB4OTEsIDB4MTUsIDB4N2UsIDB4NzMsIDB4OTEsIDB4MTYsIDB4N2UsIDB4NjMsIAotICAgIDB4OTEsIDB4MTcsIDB4N2EsIDB4MGYsIDB4MDEsIDB4MjUsIDB4N2EsIDB4MWYsIDB4MDEsIDB4MjksIDB4NzUsIDB4MDgsIDB4MDQsIDB4MTIsIDB4MGEsIDB4YzAsIAotICAgIDB4N2EsIDB4MDEsIDB4MDgsIDB4MTIsIDB4MGEsIDB4YzAsIDB4N2EsIDB4MTEsIDB4MDgsIDB4MTIsIDB4MGEsIDB4YzAsIDB4N2EsIDB4MjEsIDB4MDgsIDB4MTIsIAotICAgIDB4MGEsIDB4YzAsIDB4N2EsIDB4MzEsIDB4MDgsIDB4MTIsIDB4MGEsIDB4YzAsIDB4N2EsIDB4NDEsIDB4MDgsIDB4MTIsIDB4MGEsIDB4YzAsIDB4N2EsIDB4NTEsIAotICAgIDB4MDgsIDB4MTIsIDB4MGEsIDB4YzAsIDB4N2EsIDB4NjEsIDB4MDgsIDB4MTIsIDB4MGEsIDB4YzAsIDB4N2EsIDB4NzEsIDB4MDgsIDB4MTIsIDB4MGEsIDB4YzAsIAotICAgIDB4NzQsIDB4MDAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDAsIDB4NzQsIDB4NDAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDQsIDB4MTIsIDB4MDUsIDB4MjYsIDB4MjIsIAotICAgIDB4NmQsIDB4MDAsIDB4N2UsIDB4MTQsIDB4MDEsIDB4MDIsIDB4N2EsIDB4MDcsIDB4MDEsIDB4MzUsIDB4N2EsIDB4MDMsIDB4MDEsIDB4MzAsIDB4N2UsIDB4YjMsIAotICAgIDB4MDEsIDB4MjUsIDB4MjAsIDB4ZTcsIDB4MGYsIDB4N2EsIDB4MjMsIDB4MDEsIDB4MmYsIDB4N2EsIDB4MzMsIDB4MDEsIDB4MmUsIDB4YmUsIDB4MDcsIDB4MDEsIAotICAgIDB4MmIsIDB4NjgsIDB4MDksIDB4MjIsIDB4N2EsIDB4MzMsIDB4MDEsIDB4MmYsIDB4N2EsIDB4MjMsIDB4MDEsIDB4MmUsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MjUsIAotICAgIDB4NTQsIDB4ZTMsIDB4MjMsIDB4MjMsIDB4MzAsIDB4ZTAsIDB4MDIsIDB4ZDIsIDB4ZTUsIDB4MzAsIDB4ZTcsIDB4MDIsIDB4ZDIsIDB4ZTQsIDB4MzAsIDB4ZTUsIAotICAgIDB4MDYsIDB4MzAsIDB4ZTQsIDB4MDMsIDB4MDIsIDB4MDksIDB4OGIsIDB4NTQsIDB4M2UsIDB4ZjUsIDB4ZjAsIDB4MDMsIDB4NTQsIDB4MWYsIDB4YzMsIDB4MjUsIAotICAgIDB4ZjAsIDB4OTAsIDB4MDUsIDB4N2UsIDB4NzUsIDB4ODQsIDB4ZmYsIDB4NzMsIDB4MDIsIDB4MDcsIDB4MzksIDB4MDIsIDB4MDUsIDB4YzYsIDB4MDIsIDB4MDcsIAotICAgIDB4ZDIsIDB4MDIsIDB4MDcsIDB4ZWQsIDB4MDIsIDB4MDYsIDB4ZDAsIDB4MDIsIDB4MDYsIDB4NWIsIDB4MDIsIDB4MDgsIDB4MWUsIDB4MDIsIDB4MDgsIDB4MWUsIAotICAgIDB4MDIsIDB4MDgsIDB4MjEsIDB4MDIsIDB4MDgsIDB4MjEsIDB4MDIsIDB4MDgsIDB4MjEsIDB4MDIsIDB4MDgsIDB4MjEsIDB4MDIsIDB4MDgsIDB4MjEsIDB4MDIsIAotICAgIDB4MDgsIDB4MjEsIDB4MDIsIDB4MDgsIDB4MjEsIDB4MDIsIDB4MDgsIDB4MjEsIDB4MDIsIDB4MDgsIDB4MjcsIDB4MDIsIDB4MDgsIDB4ZjksIDB4MDIsIDB4MDgsIAotICAgIDB4MjQsIDB4MDIsIDB4MDgsIDB4MjQsIDB4MDIsIDB4MDgsIDB4MjQsIDB4MDIsIDB4MDgsIDB4MjQsIDB4MDIsIDB4MDgsIDB4MjQsIDB4MDIsIDB4MDgsIDB4MjQsIAotICAgIDB4NzQsIDB4MDAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDAsIDB4NzQsIDB4NjAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MWMsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MjYsIAotICAgIDB4YjQsIDB4MDYsIDB4MmEsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MjcsIDB4NjAsIDB4NzksIDB4N2MsIDB4MGIsIDB4N2UsIDB4MTMsIDB4MDEsIDB4MjgsIDB4N2UsIAotICAgIDB4MTcsIDB4MDEsIDB4MjksIDB4NzUsIDB4MDgsIDB4NzIsIDB4MTIsIDB4MGEsIDB4YzAsIDB4N2EsIDB4MDEsIDB4MDgsIDB4MTIsIDB4MGEsIDB4YzAsIDB4N2EsIAotICAgIDB4MTEsIDB4MDgsIDB4MTIsIDB4MGEsIDB4YzAsIDB4MTIsIDB4MDksIDB4ZDAsIDB4NDAsIDB4NTgsIDB4MDIsIDB4MDMsIDB4ODQsIDB4YjQsIDB4MDgsIDB4MWMsIAotICAgIDB4NzUsIDB4MDgsIDB4NzQsIDB4MTIsIDB4MGEsIDB4YzAsIDB4N2UsIDB4YjMsIDB4M2YsIDB4ZjEsIDB4N2UsIDB4MDgsIDB4MDEsIDB4MzcsIDB4N2EsIDB4MGMsIAotICAgIDB4MDAsIDB4MDAsIDB4N2EsIDB4MGIsIDB4YjAsIDB4N2UsIDB4NTQsIDB4MDAsIDB4MDEsIDB4MDIsIDB4MDMsIDB4ODQsIDB4YjQsIDB4MDAsIDB4MzMsIDB4NzUsIAotICAgIDB4MDgsIDB4NzUsIDB4MTIsIDB4MGEsIDB4YzAsIDB4N2UsIDB4MDgsIDB4MDEsIDB4MzcsIDB4N2EsIDB4MGMsIDB4MDAsIDB4MDAsIDB4Y2EsIDB4MGIsIDB4N2UsIAotICAgIDB4YjMsIDB4M2YsIDB4ZjIsIDB4MzAsIDB4ZTAsIDB4MDcsIDB4NzQsIDB4MDIsIDB4N2EsIDB4MGIsIDB4YjAsIDB4ODAsIDB4MDUsIDB4NzQsIDB4MDAsIDB4N2EsIAotICAgIDB4MGIsIDB4YjAsIDB4MGIsIDB4MTQsIDB4NzQsIDB4MDAsIDB4N2EsIDB4MGIsIDB4YjAsIDB4N2UsIDB4NTQsIDB4MDAsIDB4MDIsIDB4ZGEsIDB4MGIsIDB4MDIsIAotICAgIDB4MDMsIDB4ODQsIDB4MDIsIDB4MDksIDB4OGIsIDB4NzQsIDB4MDAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDAsIDB4NzQsIDB4NjAsIDB4N2EsIDB4YjMsIDB4OTEsIAotICAgIDB4MWMsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MjYsIDB4YjQsIDB4MDAsIDB4NWYsIDB4NzUsIDB4MDgsIDB4NzYsIDB4MTIsIDB4MGEsIDB4YzAsIDB4N2UsIDB4YjMsIAotICAgIDB4MDEsIDB4MmEsIDB4NTQsIDB4MGYsIDB4YjQsIDB4MDIsIDB4MDUsIDB4N2UsIDB4YjAsIDB4NjAsIDB4ODAsIDB4MTcsIDB4YjQsIDB4MDAsIDB4MDUsIDB4N2UsIAotICAgIDB4YjAsIDB4MDAsIDB4ODAsIDB4MGYsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MmEsIDB4MjAsIDB4ZTcsIDB4MDUsIDB4N2UsIDB4YjAsIDB4NDAsIDB4ODAsIDB4MDMsIAotICAgIDB4N2UsIDB4YjAsIDB4MjAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDAsIDB4N2UsIDB4YjMsIDB4OTEsIDB4MTEsIDB4MzAsIDB4ZTAsIDB4MDQsIDB4NzQsIDB4MDEsIAotICAgIDB4ODAsIDB4MDIsIDB4NzQsIDB4MDAsIDB4N2UsIDB4MDgsIDB4MDEsIDB4MzcsIDB4N2EsIDB4MGMsIDB4MDAsIDB4MDAsIDB4Y2EsIDB4MGIsIDB4N2EsIDB4MGIsIAotICAgIDB4YjAsIDB4MGIsIDB4MTQsIDB4NzQsIDB4MDAsIDB4N2EsIDB4MGIsIDB4YjAsIDB4NzQsIDB4MDAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDAsIDB4N2UsIDB4NTQsIAotICAgIDB4MDAsIDB4MDIsIDB4ZGEsIDB4MGIsIDB4MDIsIDB4MDMsIDB4ODQsIDB4MDIsIDB4MDksIDB4OGIsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MmEsIDB4NTQsIDB4MGYsIAotICAgIDB4YjQsIDB4MDIsIDB4MDUsIDB4N2UsIDB4YjAsIDB4NjAsIDB4ODAsIDB4MTcsIDB4YjQsIDB4MDAsIDB4MDUsIDB4N2UsIDB4YjAsIDB4MDAsIDB4ODAsIDB4MGYsIAotICAgIDB4N2UsIDB4YjMsIDB4MDEsIDB4MmEsIDB4MjAsIDB4ZTcsIDB4MDUsIDB4N2UsIDB4YjAsIDB4NDAsIDB4ODAsIDB4MDMsIDB4N2UsIDB4YjAsIDB4MjAsIDB4N2EsIAotICAgIDB4YjMsIDB4OTEsIDB4MDAsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MjgsIDB4YjQsIDB4MDAsIDB4MjYsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MjYsIDB4YjQsIDB4MDEsIAotICAgIDB4MGUsIDB4NzUsIDB4MDgsIDB4NzcsIDB4MTIsIDB4MGEsIDB4YzAsIDB4NzQsIDB4MDEsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTIsIDB4ODAsIDB4MWIsIDB4YjQsIAotICAgIDB4MDMsIDB4MGUsIDB4NzUsIDB4MDgsIDB4NzgsIDB4MTIsIDB4MGEsIDB4YzAsIDB4NzQsIDB4MDEsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTEsIDB4ODAsIDB4MGEsIAotICAgIDB4NzQsIDB4MDAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDAsIDB4MTIsIDB4MDksIDB4OGIsIDB4MjIsIDB4NzQsIDB4MDAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDAsIAotICAgIDB4MDIsIDB4MDMsIDB4NzcsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MjYsIDB4YjQsIDB4MDksIDB4MWYsIDB4NzUsIDB4MDgsIDB4NzksIDB4MTIsIDB4MGEsIDB4YzAsIAotICAgIDB4N2UsIDB4YjMsIDB4MDEsIDB4MjgsIDB4YmUsIDB4YjMsIDB4M2YsIDB4ZjEsIDB4NjgsIDB4MGQsIDB4Y2EsIDB4YjgsIDB4MTIsIDB4MDEsIDB4ZjEsIDB4ZGEsIAotICAgIDB4YjgsIDB4NTAsIDB4NzYsIDB4N2EsIDB4YjMsIDB4M2YsIDB4ZjEsIDB4ODAsIDB4NmQsIDB4YjQsIDB4MDUsIDB4MDgsIDB4NzUsIDB4MDgsIDB4N2EsIDB4MTIsIAotICAgIDB4MGEsIDB4YzAsIDB4ODAsIDB4NjIsIDB4YjQsIDB4MDMsIDB4MTksIDB4NzUsIDB4MDgsIDB4N2IsIDB4MTIsIDB4MGEsIDB4YzAsIDB4N2UsIDB4YjMsIDB4MDEsIAotICAgIDB4MjgsIDB4YjQsIDB4MDEsIDB4NTUsIDB4N2UsIDB4YjMsIDB4M2YsIDB4ZjIsIDB4NDQsIDB4MDEsIDB4N2EsIDB4YjMsIDB4M2YsIDB4ZjIsIDB4ODAsIDB4NDYsIAotICAgIDB4YjQsIDB4MDEsIDB4MTksIDB4NzUsIDB4MDgsIDB4N2MsIDB4MTIsIDB4MGEsIDB4YzAsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MjgsIDB4YjQsIDB4MDEsIDB4MzksIAotICAgIDB4N2UsIDB4YjMsIDB4M2YsIDB4ZjIsIDB4NTQsIDB4ZmUsIDB4N2EsIDB4YjMsIDB4M2YsIDB4ZjIsIDB4ODAsIDB4MmEsIDB4YjQsIDB4MDcsIDB4MmEsIDB4N2UsIAotICAgIDB4YjMsIDB4MDEsIDB4MjcsIDB4NjAsIDB4MjQsIDB4N2MsIDB4MGIsIDB4N2UsIDB4MTMsIDB4MDEsIDB4MjgsIDB4N2UsIDB4MTcsIDB4MDEsIDB4MjksIDB4NzUsIAotICAgIDB4MDgsIDB4NzMsIDB4MTIsIDB4MGEsIDB4YzAsIDB4N2EsIDB4MDEsIDB4MDgsIDB4MTIsIDB4MGEsIDB4YzAsIDB4N2EsIDB4MTEsIDB4MDgsIDB4MTIsIDB4MGEsIAotICAgIDB4YzAsIDB4MTIsIDB4MGEsIDB4MGEsIDB4NDAsIDB4MDMsIDB4MDIsIDB4MDMsIDB4NzcsIDB4MDIsIDB4MDksIDB4OGIsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MjYsIAotICAgIDB4YjQsIDB4MGIsIDB4ZjYsIDB4NzUsIDB4MDgsIDB4N2QsIDB4MTIsIDB4MGEsIDB4YzAsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MjgsIDB4N2UsIDB4YTMsIDB4MDEsIAotICAgIDB4MmEsIDB4NGMsIDB4YWIsIDB4NzgsIDB4ZTQsIDB4ODAsIDB4ZGYsIDB4NzQsIDB4MDAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDAsIDB4NzQsIDB4NjAsIDB4N2EsIAotICAgIDB4YjMsIDB4OTEsIDB4MWMsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MjYsIDB4YjQsIDB4MGEsIDB4Y2YsIDB4NzUsIDB4MDgsIDB4N2UsIDB4MTIsIDB4MGEsIDB4YzAsIAotICAgIDB4N2UsIDB4YjMsIDB4MDEsIDB4MjgsIDB4NzAsIDB4YzMsIDB4N2UsIDB4MDgsIDB4MDEsIDB4MzcsIDB4N2EsIDB4MGMsIDB4MDAsIDB4MDAsIDB4N2EsIDB4MGIsIAotICAgIDB4YjAsIDB4N2UsIDB4NTQsIDB4MDAsIDB4MDEsIDB4MDIsIDB4MDMsIDB4ODQsIDB4MDIsIDB4MDksIDB4OGIsIDB4MDIsIDB4MDksIDB4OGIsIDB4MDIsIDB4MDksIAotICAgIDB4OGIsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MjYsIDB4YjQsIDB4MDQsIDB4MjAsIDB4NzUsIDB4MDgsIDB4YzMsIDB4MTIsIDB4MGEsIDB4YzAsIDB4N2UsIDB4MDQsIAotICAgIDB4MDAsIDB4MDEsIDB4N2UsIDB4MTcsIDB4MDEsIDB4MjcsIDB4N2UsIDB4MTgsIDB4MDEsIDB4MzcsIDB4N2EsIDB4MWMsIDB4MDAsIDB4MDAsIDB4N2UsIDB4NDcsIAotICAgIDB4MDEsIDB4MmIsIDB4MTIsIDB4MGEsIDB4Y2MsIDB4MDIsIDB4MDgsIDB4ZjMsIDB4YjQsIDB4MDYsIDB4NDIsIDB4NzUsIDB4MDgsIDB4YzEsIDB4MTIsIDB4MGEsIAotICAgIDB4YzAsIDB4N2UsIDB4NTgsIDB4MDAsIDB4MDAsIDB4N2EsIDB4NWMsIDB4MDAsIDB4ZmUsIDB4N2QsIDB4Y2EsIDB4N2UsIDB4ZDcsIDB4MDEsIDB4MjcsIDB4N2UsIAotICAgIDB4NzgsIDB4MDEsIDB4MzcsIDB4N2EsIDB4N2MsIDB4MDAsIDB4MDAsIDB4N2UsIDB4NzcsIDB4MDEsIDB4MmIsIDB4NzUsIDB4MDgsIDB4YzEsIDB4MTIsIDB4MGEsIAotICAgIDB4YzAsIDB4YzAsIDB4YTgsIDB4YzIsIDB4YWYsIDB4N2UsIDB4NDAsIDB4MDEsIDB4N2EsIDB4NDMsIDB4OTQsIDB4MDAsIDB4MTIsIDB4MGIsIDB4NjMsIDB4N2UsIAotICAgIDB4NDMsIDB4MDEsIDB4MjQsIDB4N2EsIDB4NDMsIDB4OTQsIDB4MDAsIDB4ZDAsIDB4YTgsIDB4NDAsIDB4NjUsIDB4ODAsIDB4NjAsIDB4YjQsIDB4MDAsIDB4MjQsIAotICAgIDB4YzIsIDB4YWYsIDB4N2UsIDB4YjAsIDB4MDEsIDB4N2EsIDB4YjMsIDB4OTQsIDB4MDAsIDB4N2EsIDB4YjMsIDB4MDEsIDB4MjQsIDB4MTIsIDB4MDMsIDB4NzcsIAotICAgIDB4ZTQsIDB4OGQsIDB4ZWYsIDB4OGQsIDB4ZWYsIDB4OGQsIDB4ZWYsIDB4ZDUsIDB4ZTAsIDB4ZjcsIDB4YzAsIDB4ZDEsIDB4Y2EsIDB4MDIsIDB4ZmYsIDB4Y2EsIAotICAgIDB4MDYsIDB4MDAsIDB4MDAsIDB4MzIsIDB4YjQsIDB4MDksIDB4MjAsIDB4NzQsIDB4MDMsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDYsIDB4N2UsIDB4MjMsIDB4OTEsIAotICAgIDB4MDcsIDB4N2UsIDB4NTcsIDB4MDEsIDB4MjcsIDB4NGQsIDB4NTUsIDB4NjgsIDB4MDUsIDB4NGUsIDB4MjAsIDB4MDIsIDB4ODAsIDB4MDMsIDB4NWUsIDB4MjAsIAotICAgIDB4ZmQsIDB4N2EsIDB4MjMsIDB4OTEsIDB4MDcsIDB4ODAsIDB4MTYsIDB4YjQsIDB4MDcsIDB4MTYsIDB4YzIsIDB4YWYsIDB4N2UsIDB4MDcsIDB4MDEsIDB4MjksIAotICAgIDB4N2UsIDB4MTcsIDB4MDEsIDB4MjcsIDB4YzAsIDB4ZDEsIDB4Y2EsIDB4MTgsIDB4Y2EsIDB4MzgsIDB4Y2EsIDB4MjgsIDB4MzIsIDB4MDIsIDB4MDMsIDB4NzcsIAotICAgIDB4MDIsIDB4MDksIDB4OGIsIDB4NzQsIDB4MDAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDAsIDB4NzQsIDB4NjAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MWMsIDB4N2UsIAotICAgIDB4YjMsIDB4MDEsIDB4MjYsIDB4YjQsIDB4MDMsIDB4MTUsIDB4NzUsIDB4MDgsIDB4YzIsIDB4MTIsIDB4MGEsIDB4YzAsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MDEsIAotICAgIDB4N2UsIDB4MTcsIDB4MDEsIDB4MjcsIDB4N2UsIDB4NTcsIDB4MDEsIDB4MmIsIDB4MDIsIDB4MDMsIDB4ODQsIDB4YjQsIDB4MDUsIDB4NDEsIDB4NzUsIDB4MDgsIAotICAgIDB4YzAsIDB4MTIsIDB4MGEsIDB4YzAsIDB4YzAsIDB4YTgsIDB4YzIsIDB4YWYsIDB4N2UsIDB4NDAsIDB4MDEsIDB4N2EsIDB4NDMsIDB4OTQsIDB4MDAsIDB4N2UsIAotICAgIDB4MDgsIDB4MDEsIDB4MzcsIDB4N2EsIDB4MGMsIDB4MDAsIDB4MDAsIDB4N2UsIDB4MjQsIDB4MDAsIDB4ZmUsIDB4N2UsIDB4MzcsIDB4MDEsIDB4MjcsIDB4N2UsIAotICAgIDB4NDcsIDB4MDEsIDB4MmIsIDB4MTIsIDB4MGEsIDB4Y2MsIDB4N2UsIDB4NDMsIDB4MDEsIDB4MjQsIDB4N2EsIDB4NDMsIDB4OTQsIDB4MDAsIDB4ZDAsIDB4YTgsIAotICAgIDB4N2UsIDB4MDgsIDB4MDEsIDB4MzcsIDB4N2EsIDB4MGMsIDB4MDAsIDB4MDAsIDB4N2UsIDB4NTcsIDB4MDEsIDB4MmIsIDB4MDIsIDB4MDMsIDB4ODQsIDB4YjQsIAotICAgIDB4MDEsIDB4MjAsIDB4N2UsIDB4MDAsIDB4MDAsIDB4N2UsIDB4MTAsIDB4MDEsIDB4NzUsIDB4MDgsIDB4NzIsIDB4MTIsIDB4MGEsIDB4YzAsIDB4N2EsIDB4MDEsIAotICAgIDB4MDgsIDB4MTIsIDB4MGEsIDB4YzAsIDB4N2EsIDB4MTEsIDB4MDgsIDB4MTIsIDB4MGEsIDB4YzAsIDB4MTIsIDB4MDksIDB4ZDAsIDB4NDAsIDB4MDMsIDB4MDIsIAotICAgIDB4MDMsIDB4ODQsIDB4MDIsIDB4MDksIDB4OGIsIDB4NzUsIDB4MDgsIDB4MDcsIDB4MTIsIDB4MGEsIDB4YzAsIDB4N2UsIDB4YjAsIDB4MDIsIDB4N2EsIDB4YjMsIAotICAgIDB4OTAsIDB4MDAsIDB4NzQsIDB4MDAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDAsIDB4NzQsIDB4NDAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTUsIDB4NzQsIDB4MDEsIAotICAgIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTEsIDB4N2UsIDB4YjMsIDB4OTEsIDB4MTUsIDB4NTQsIDB4NjAsIDB4YmUsIDB4YjAsIDB4NDAsIDB4NjgsIDB4MDgsIDB4NzQsIAotICAgIDB4MjAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTUsIDB4ODAsIDB4ZWQsIDB4NzQsIDB4MDEsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTIsIDB4NzQsIDB4MDQsIDB4N2EsIAotICAgIDB4YjMsIDB4OTEsIDB4MTQsIDB4NzQsIDB4ZmYsIDB4N2EsIDB4YjMsIDB4MDEsIDB4MmQsIDB4MjIsIDB4YzAsIDB4YTgsIDB4YzIsIDB4YWYsIDB4N2UsIDB4NDAsIAotICAgIDB4MDEsIDB4N2EsIDB4NDMsIDB4OTQsIDB4MDAsIDB4MTIsIDB4MGEsIDB4NTcsIDB4NDAsIDB4MWYsIDB4N2UsIDB4MDgsIDB4MDEsIDB4MzcsIDB4N2EsIDB4MGMsIAotICAgIDB4MDAsIDB4MDAsIDB4Y2EsIDB4MGIsIDB4Y2EsIDB4NDksIDB4MTIsIDB4MGEsIDB4Y2MsIDB4ZGEsIDB4NTksIDB4ZGEsIDB4MGIsIDB4N2UsIDB4NDMsIDB4MDEsIAotICAgIDB4MjQsIDB4N2EsIDB4NDMsIDB4OTQsIDB4MDAsIDB4ZDAsIDB4YTgsIDB4YzMsIDB4MjIsIDB4N2UsIDB4NDMsIDB4MDEsIDB4MjQsIDB4N2EsIDB4NDMsIDB4OTQsIAotICAgIDB4MDAsIDB4ZDAsIDB4YTgsIDB4MjIsIDB4YzAsIDB4YTgsIDB4YzIsIDB4YWYsIDB4N2UsIDB4NDAsIDB4MDEsIDB4N2EsIDB4NDMsIDB4OTQsIDB4MDAsIDB4MTIsIAotICAgIDB4MGEsIDB4NTcsIDB4NDAsIDB4MzEsIDB4N2UsIDB4NTgsIDB4MDAsIDB4MDAsIDB4N2EsIDB4NWMsIDB4MDAsIDB4ZmUsIDB4N2YsIDB4NjEsIDB4N2UsIDB4NzgsIAotICAgIDB4MDEsIDB4MzcsIDB4N2EsIDB4N2MsIDB4MDAsIDB4MDAsIDB4N2UsIDB4NzcsIDB4MDEsIDB4MmIsIDB4YmQsIDB4NzQsIDB4NzgsIDB4MTcsIDB4NzUsIDB4MDgsIAotICAgIDB4YzEsIDB4MTIsIDB4MGEsIDB4YzAsIDB4MTIsIDB4MGIsIDB4NjMsIDB4NDAsIDB4MGMsIDB4N2UsIDB4NDMsIDB4MDEsIDB4MjQsIDB4N2EsIDB4NDMsIDB4OTQsIAotICAgIDB4MDAsIDB4ZDAsIDB4YTgsIDB4YzMsIDB4MjIsIDB4N2UsIDB4NDMsIDB4MDEsIDB4MjQsIDB4N2EsIDB4NDMsIDB4OTQsIDB4MDAsIDB4ZDAsIDB4YTgsIDB4ZDMsIAotICAgIDB4MjIsIDB4N2UsIDB4MjQsIDB4MDAsIDB4ZmUsIDB4N2UsIDB4MzQsIDB4N2YsIDB4Y2EsIDB4MGIsIDB4MWEsIDB4NTAsIDB4YzUsIDB4ZjAsIDB4N2QsIDB4NjIsIAotICAgIDB4N2QsIDB4NzUsIDB4N2QsIDB4ODcsIDB4N2UsIDB4MzQsIDB4N2YsIDB4MDMsIDB4N2UsIDB4MWIsIDB4YjAsIDB4YmMsIDB4MGIsIDB4NTAsIDB4NDksIDB4M2UsIAotICAgIDB4MDAsIDB4M2UsIDB4MDAsIDB4MGEsIDB4NTAsIDB4MmQsIDB4NzUsIDB4MGIsIDB4M2EsIDB4MzAsIDB4NjksIDB4NTMsIDB4MDAsIDB4MDIsIDB4YmQsIDB4MzgsIAotICAgIDB4NTAsIDB4MDIsIDB4MmQsIDB4MzgsIDB4YmMsIDB4MWIsIDB4NTAsIDB4MzAsIDB4M2UsIDB4MTAsIDB4M2UsIDB4MTAsIDB4MGEsIDB4NTEsIDB4MmQsIDB4MzUsIAotICAgIDB4NjksIDB4NDEsIDB4MDAsIDB4MDIsIDB4MGIsIDB4MWEsIDB4MzAsIDB4YmQsIDB4MzgsIDB4NTAsIDB4MDIsIDB4MmQsIDB4MzgsIDB4YmUsIDB4NDQsIDB4ZmYsIAotICAgIDB4ZmYsIDB4NzgsIDB4MDUsIDB4N2UsIDB4MWIsIDB4OTAsIDB4MGEsIDB4NDksIDB4NGQsIDB4NDQsIDB4NjgsIDB4MGMsIDB4YmUsIDB4NDQsIDB4MDAsIDB4ZmYsIAotICAgIDB4MjgsIDB4MDQsIDB4N2UsIDB4NDQsIDB4MDAsIDB4ZmYsIDB4YzMsIDB4MjIsIDB4ZDMsIDB4MjIsIAotCi0vLyBTZWdtZW50ICMxNiwgRVhDTFVERUQgU3RhcnQgQWRkcmVzcyAwMGZmN2MwMCwgTGVuZ3RoIDIyNwotCi0KLS8vIFNlZ21lbnQgIzE3LCBFWENMVURFRCBTdGFydCBBZGRyZXNzIDAwZmY3ZjAwLCBMZW5ndGggMTkyCi0KLQotLy8gU2VnbWVudCAjMTcsIFN0YXJ0IEFkZHJlc3MgMDBmZjdmYzAsIExlbmd0aCA2NAotMHhmZiwweDAwLDB4YzAsMHg3ZiwweDQwLDB4MDAsCi0gICAgMHg0MCwgMHgwMSwgMHgwMiwgMHgwMCwgMHhkNywgMHgzMSwgMHgwMiwgMHgwMCwgMHgwMywgMHgwMCwgMHgwMCwgMHg3YywgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMCwgCi0gICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgCi0gICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgCi0gICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHhmMSwgMHg3ZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgCi0KLS8vIFNlZ21lbnQgIzE4LCBTdGFydCBBZGRyZXNzIDAwZmYwYWMwLCBMZW5ndGggNDE2MwotMHhmZiwweDAwLDB4YzAsMHgwYSwweDQzLDB4MTAsCi0gICAgMHhjYSwgMHgwOCwgMHg3ZSwgMHgwMSwgMHgwOCwgMHg3YSwgMHgwMywgMHgzZiwgMHhmMCwgMHhkYSwgMHgwOCwgMHgyMiwgMHg4MCwgMHg1MCwgMHgwYiwgMHgxYSwgCi0gICAgMHg2MCwgMHgwYiwgMHgzNSwgMHgwYiwgMHgxYSwgMHg3MCwgMHgwYiwgMHgzNSwgMHgwYiwgMHgxYSwgMHg4MCwgMHgwYiwgMHgzNSwgMHgwYiwgMHgxYSwgMHg5MCwgCi0gICAgMHgwYiwgMHgzNSwgMHgwYiwgMHgxYSwgMHhhMCwgMHgwYiwgMHgzNSwgMHgwYiwgMHgxYSwgMHhiMCwgMHgwYiwgMHgzNSwgMHgwYiwgMHgxYSwgMHhjMCwgMHgwYiwgCi0gICAgMHgzNSwgMHgwYiwgMHgxYSwgMHhkMCwgMHgwYiwgMHgzNSwgMHgxYiwgMHgwYSwgMHg2MCwgMHgwYiwgMHgxNSwgMHgxYiwgMHgwYSwgMHg3MCwgMHgwYiwgMHgxNSwgCi0gICAgMHgxYiwgMHgwYSwgMHg4MCwgMHgwYiwgMHgxNSwgMHgxYiwgMHgwYSwgMHg5MCwgMHgwYiwgMHgxNSwgMHgxYiwgMHgwYSwgMHhhMCwgMHgwYiwgMHgxNSwgMHgxYiwgCi0gICAgMHgwYSwgMHhiMCwgMHgwYiwgMHgxNSwgMHgxYiwgMHgwYSwgMHhjMCwgMHgwYiwgMHgxNSwgMHgxYiwgMHgwYSwgMHhkMCwgMHgwYiwgMHgxNSwgMHg5ZSwgMHg0NCwgCi0gICAgMHgwMCwgMHgxMCwgMHg1MCwgMHhhYSwgMHgyZSwgMHg0NCwgMHgwMCwgMHgxMCwgMHg2OCwgMHgwZSwgMHg3ZSwgMHgxYiwgMHhjMCwgMHg3YSwgMHgwYiwgMHhjMCwgCi0gICAgMHgwYiwgMHgxNCwgMHgwYiwgMHgzNCwgMHgxYiwgMHg0NCwgMHg3OCwgMHhmMiwgMHgyMiwgMHg3ZiwgMHg2ZiwgMHg3ZiwgMHhmMCwgMHgxYiwgMHhmYywgMHg3YywgCi0gICAgMHg1NCwgMHg3ZCwgMHgzMiwgMHg4MCwgMHgwOCwgMHhjYSwgMHgxYiwgMHhjYSwgMHgxYiwgMHhjYSwgMHgxYiwgMHhjYSwgMHgxYiwgMHg5ZSwgMHg0NCwgMHgwMCwgCi0gICAgMHgxMCwgMHg1MCwgMHhmMiwgMHgyZSwgMHg0NCwgMHgwMCwgMHgxMCwgMHg2OCwgMHgwNiwgMHhjYSwgMHg0OCwgMHgxYiwgMHg0NCwgMHg3OCwgMHhmYSwgMHg3ZiwgCi0gICAgMHhmNiwgMHg4OSwgMHhlNCwgMHhjYSwgMHg2YiwgMHg1ZSwgMHhkNCwgMHgwMCwgMHgzZiwgMHg2OCwgMHgyMCwgMHg3ZSwgMHg4NCwgMHgwMCwgMHg0MCwgMHg5ZCwgCi0gICAgMHg4ZCwgMHhkYSwgMHg2YiwgMHhiZCwgMHg4NywgMHgzOCwgMHgxNiwgMHhjYSwgMHg3OSwgMHg3ZCwgMHg3OCwgMHgxMiwgMHgwYiwgMHg4ZCwgMHhkYSwgMHg3OSwgCi0gICAgMHg0MCwgMHgwOCwgMHg5ZCwgMHg3OCwgMHg2OCwgMHgwMiwgMHg4MCwgMHgwNSwgMHhjMiwgMHhkNywgMHgyMiwgMHhkYSwgMHg2YiwgMHg3ZSwgMHhjMCwgMHgwMywgCi0gICAgMHg3ZSwgMHhkMCwgMHgwMCwgMHg3YSwgMHhkMywgMHg5MCwgMHgwMCwgMHg3NCwgMHhhYSwgMHgzOSwgMHhiNSwgMHg1NSwgMHg1NSwgMHg3NCwgMHg1NSwgMHgzOSwgCi0gICAgMHhiNSwgMHgyYSwgMHhhYSwgMHg3NCwgMHhhMCwgMHgzOSwgMHhiNSwgMHg1NSwgMHg1NSwgMHg3ZSwgMHgwNCwgMHgwMCwgMHg0MCwgMHg5ZCwgMHg3MCwgMHg1MCwgCi0gICAgMHgwNiwgMHgyZCwgMHg3MCwgMHg3ZCwgMHgwNywgMHg2ZCwgMHg3NywgMHg3YywgMHgzMSwgMHg3ZSwgMHg3YiwgMHgwMCwgMHg3YSwgMHg2YiwgMHgwMCwgMHgwYiwgCi0gICAgMHg3YywgMHgwYiwgMHg2YywgMHhhNSwgMHhkOSwgMHhmMywgMHg3ZiwgMHgxNiwgMHgxYiwgMHgxYywgMHg3ZSwgMHg1NCwgMHgyNywgMHgxMCwgMHg3ZSwgMHgxYiwgCi0gICAgMHgxMCwgMHhiYywgMHgxMCwgMHg2OCwgMHgwNiwgMHgxYiwgMHg1NCwgMHg3OCwgMHhmNSwgMHg4MCwgMHgyZiwgMHg2ZCwgMHgwMCwgMHg3YywgMHgyMCwgMHg3ZiwgCi0gICAgMHgxNiwgMHg5ZiwgMHgxMCwgMHg3ZiwgMHgyNywgMHg5ZiwgMHgyMCwgMHg3ZSwgMHgyYiwgMHgwMCwgMHg3ZSwgMHgxYiwgMHgxMCwgMHhiYywgMHgwMSwgMHg3OCwgCi0gICAgMHgxOSwgMHgwYiwgMHgyYywgMHgwYiwgMHgxYywgMHhhNSwgMHhkYiwgMHhlZiwgMHg3YywgMHhiNiwgMHgyMCwgMHhlMCwgMHgwNiwgMHg2YywgMHhkYywgMHg3YSwgCi0gICAgMHhkMywgMHg5MCwgMHgwMCwgMHg0ZCwgMHg3NywgMHg3OCwgMHg5MCwgMHhjMiwgMHhkNywgMHgyMiwgMHhkMiwgMHhkNywgMHgyMiwgMHgwMCwgMHgwNCwgMHgwMCwgCi0gICAgMHgwNCwgMHgwMCwgMHgwMCwgMHgwNiwgMHgwNCwgMHgwMiwgMHgwNCwgMHgwMCwgMHgwMiwgMHgwMSwgMHgwNCwgMHgwMSwgMHgwMiwgMHgwMCwgMHgwMCwgMHgwMCwgCi0gICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwMiwgMHgwMiwgMHgwMiwgMHgwMiwgMHgwNCwgMHgwMCwgMHgwOCwgMHgxMCwgMHgwMiwgMHgxMCwgCi0gICAgMHgwNCwgMHgwMiwgMHgwOCwgMHgwMCwgMHgwMSwgMHgwMSwgMHgwOCwgMHg3ZSwgMHgxOCwgMHg3ZiwgMHhiZCwgMHg3YSwgMHgxYywgMHgwMCwgMHhmZiwgMHgwYiwgCi0gICAgMHgxYSwgMHgwMCwgMHg1ZSwgMHgxMCwgMHgxZiwgMHhiZSwgMHgxMCwgMHgxNCwgMHgzOCwgMHgxYSwgMHgwYSwgMHg1MSwgMHgyMywgMHg3ZSwgMHgxOCwgMHgwYywgCi0gICAgMHgwZCwgMHg3YSwgMHgxYywgMHgwMCwgMHhmZiwgMHgyZCwgMHgzNSwgMHgwYiwgMHgxYSwgMHg1MCwgMHg2MCwgMHgwOCwgMHhhNSwgMHhiOCwgMHgwMiwgMHgwMywgCi0gICAgMHg0ZSwgMHhhMCwgMHgwOCwgMHgyMiwgMHg4MCwgMHhmZSwgMHg3ZSwgMHhlOCwgMHg3ZiwgMHhiZiwgMHg3YSwgMHhlYywgMHgwMCwgMHhmZiwgMHhlMCwgMHhmNSwgCi0gICAgMHgyMywgMHg1NCwgMHhjMCwgMHg2OCwgMHgzOCwgMHg3ZSwgMHhlOCwgMHg3ZiwgMHhiZSwgMHg3YSwgMHhlYywgMHgwMCwgMHhmZiwgMHhlMCwgMHg2MCwgMHgyZSwgCi0gICAgMHgxMiwgMHgwYywgMHgzNywgMHhmNSwgMHgyMSwgMHg3YSwgMHhhMSwgMHgyMCwgMHgyMCwgMHgwOSwgMHgwYywgMHgyMCwgMHgwYSwgMHgxMiwgMHg3ZSwgMHhiMCwgCi0gICAgMHgwZSwgMHg3YSwgMHhiMywgMHg5MiwgMHgwMCwgMHg4MCwgMHgxMCwgMHg3ZSwgMHhiMCwgMHgwMiwgMHg3YSwgMHhiMywgMHg5MiwgMHgwMCwgMHg4MCwgMHgwNywgCi0gICAgMHg3ZSwgMHhiMCwgMHgwYSwgMHg3YSwgMHhiMywgMHg5MiwgMHgwMCwgMHg3YSwgMHhiMSwgMHgwZCwgMHgwMiwgMHgwYywgMHhjNCwgMHgyMiwgMHg3ZSwgMHhiMCwgCi0gICAgMHgwMiwgMHg3YSwgMHhiMywgMHg5MCwgMHgwMCwgMHgxMiwgMHgxOSwgMHgwYywgMHg3ZSwgMHhiMCwgMHgwMywgMHg3YSwgMHhiMywgMHg5MCwgMHgwMCwgMHgxMiwgCi0gICAgMHgxOSwgMHgwYywgMHg4MCwgMHhlYSwgMHhjMiwgMHhhZiwgMHhjMiwgMHgxMSwgMHhjMiwgMHgxMiwgMHg3NSwgMHhiMCwgMHhkZiwgMHg3ZSwgMHgwMCwgMHgwMSwgCi0gICAgMHg3YSwgMHgwMywgMHg5MywgMHgwMCwgMHg3ZSwgMHgwMCwgMHgwMCwgMHg3YSwgMHgwMywgMHg5MCwgMHgwMCwgMHg2YywgMHgwMCwgMHg3ZSwgMHgxMCwgMHgwMywgCi0gICAgMHgxMiwgMHgwYywgMHhmNSwgMHg3ZSwgMHg2OCwgMHgyYywgMHg2NiwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHgwYiwgMHgwMCwgCi0gICAgMHg4MCwgMHgzMiwgMHgwMiwgMHgxYSwgMHg2ZSwgMHgyMCwgMHgxMSwgMHgyYiwgMHg3ZSwgMHhiMCwgMHgwMSwgMHg3YSwgMHhiMywgMHg5MCwgMHgwMCwgMHgxMiwgCi0gICAgMHgxOSwgMHgwYywgMHg3ZSwgMHhiMCwgMHgwMywgMHg3YSwgMHhiMywgMHg5MCwgMHgwMCwgMHgxMiwgMHgxOSwgMHgwYywgMHg3ZSwgMHhiMCwgMHgwMiwgMHg3YSwgCi0gICAgMHhiMywgMHg5MCwgMHgwMCwgMHgxMiwgMHgxOSwgMHgwYywgMHhhNSwgMHhkOSwgMHhkYywgMHg3ZSwgMHhiMCwgMHgwMCwgMHg3YSwgMHhiMywgMHg5MCwgMHgwMCwgCi0gICAgMHgxMiwgMHgxOSwgMHgwYywgMHgyMiwgMHg3ZSwgMHg2OCwgMHgyYywgMHhmOSwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHg3ZSwgCi0gICAgMHhlNCwgMHgxMCwgMHgwMCwgMHg3ZSwgMHg0MCwgMHg1NSwgMHg3YSwgMHhlOSwgMHg0MCwgMHgwYiwgMHhlNCwgMHg3ZSwgMHg1MCwgMHhhYSwgMHg3YSwgMHhlOSwgCi0gICAgMHg1MCwgMHgxYiwgMHhlNCwgMHhiZSwgMHhlOSwgMHg0MCwgMHg2OCwgMHgxOSwgMHg3ZSwgMHg2OCwgMHgyYywgMHhkZiwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgCi0gICAgMHgxMiwgMHgxOSwgMHhjNCwgMHgxMiwgMHgxOSwgMHgxOSwgMHgzMCwgMHgxMSwgMHgxMywgMHg3YSwgMHhlOSwgMHg0MCwgMHg3ZSwgMHhlOSwgMHgxMCwgMHg4MCwgCi0gICAgMHhmOCwgMHg3ZSwgMHg2OCwgMHgyYywgMHhkYSwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHgwYiwgMHgwMCwgMHg3ZSwgMHg2OCwgCi0gICAgMHgyZCwgMHgzZCwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHg3ZSwgMHg3OCwgMHgwMCwgMHgwMCwgMHg3ZSwgMHg3MCwgMHgwZSwgCi0gICAgMHg3ZSwgMHhhNCwgMHhmZiwgMHhmZiwgMHg3ZSwgMHhiNCwgMHhiZiwgMHhmZiwgMHg3ZCwgMHhjYiwgMHgwZSwgMHhjNCwgMHg3ZCwgMHhkYywgMHg1ZCwgMHhkYiwgCi0gICAgMHg2YywgMHhiYiwgMHg3ZCwgMHhmYSwgMHg1ZSwgMHhmNCwgMHg3ZiwgMHhmZiwgMHg3YSwgMHg3YiwgMHhiMCwgMHgwYiwgMHhiMCwgMHg3ZCwgMHhmYiwgMHg1ZSwgCi0gICAgMHhmNCwgMHg3ZiwgMHhmZiwgMHg3YSwgMHg3YiwgMHhiMCwgMHgwYiwgMHhiMCwgMHg3ZCwgMHhmYywgMHg1ZSwgMHhmNCwgMHg3ZiwgMHhmZiwgMHg3YSwgMHg3YiwgCi0gICAgMHhiMCwgMHgwYiwgMHhiMCwgMHg3ZCwgMHhmZCwgMHg1ZSwgMHhmNCwgMHg3ZiwgMHhmZiwgMHg3YSwgMHg3YiwgMHhiMCwgMHg2YywgMHhiYiwgMHg3ZCwgMHhmYSwgCi0gICAgMHg1ZSwgMHhmNCwgMHg3ZiwgMHhmZiwgMHhiZSwgMHg3YiwgMHhiMCwgMHg3OCwgMHg0MSwgMHgwYiwgMHhiMCwgMHg3ZCwgMHhmYiwgMHg1ZSwgMHhmNCwgMHg3ZiwgCi0gICAgMHhmZiwgMHhiZSwgMHg3YiwgMHhiMCwgMHg3OCwgMHgzNCwgMHgwYiwgMHhiMCwgMHg3ZCwgMHhmYywgMHg1ZSwgMHhmNCwgMHg3ZiwgMHhmZiwgMHhiZSwgMHg3YiwgCi0gICAgMHhiMCwgMHg3OCwgMHgyNywgMHgwYiwgMHhiMCwgMHg3ZCwgMHhmZCwgMHg1ZSwgMHhmNCwgMHg3ZiwgMHhmZiwgMHhiZSwgMHg3YiwgMHhiMCwgMHg3OCwgMHgxYSwgCi0gICAgMHgwYiwgMHhiMCwgMHhiZSwgMHhjNCwgMHhmZiwgMHhmZSwgMHg3OCwgMHg5MiwgMHgwZSwgMHhiNCwgMHhhNSwgMHhkZiwgMHg4YiwgMHg3ZSwgMHg2OCwgMHgyYywgCi0gICAgMHhlNywgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHg4MCwgMHg3NywgMHhjYSwgMHg1YiwgMHhjYSwgMHg2YiwgMHg3ZSwgMHg2OCwgCi0gICAgMHgyYywgMHhmMCwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHg3ZSwgMHg2OCwgMHgyZCwgMHg4ZiwgMHg3YSwgMHg2YywgMHgwMCwgCi0gICAgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHgwYSwgMHg0NywgMHgxMiwgMHgxOSwgMHhmYSwgMHg3ZSwgMHg2OCwgMHgyZCwgMHhkZSwgMHg3YSwgMHg2YywgMHgwMCwgCi0gICAgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHg2YywgMHg3NywgMHhkYSwgMHg2YiwgMHhjYSwgMHg2YiwgMHgwYiwgMHg3MCwgMHgwZSwgMHhjNCwgMHhiZSwgMHhjNCwgCi0gICAgMHhmZiwgMHhmZiwgMHg3OCwgMHhmNiwgMHgxYiwgMHg3MCwgMHgwYSwgMHg0NywgMHgxMiwgMHgxOSwgMHhmYSwgMHgxMiwgMHgxOSwgMHgxOSwgMHgzMCwgMHgxMSwgCi0gICAgMHgzMCwgMHhkYSwgMHg2YiwgMHhkYSwgMHg1YiwgMHg2YywgMHhiYiwgMHg3ZSwgMHg3OCwgMHgwMCwgMHgwMCwgMHg3ZCwgMHhmYSwgMHg1ZSwgMHhmNCwgMHg3ZiwgCi0gICAgMHhmZiwgMHg3YSwgMHg3YiwgMHhiMCwgMHg3ZCwgMHhmYiwgMHg1ZSwgMHhmNCwgMHg3ZiwgMHhmZiwgMHg3YSwgMHg3YiwgMHhiMCwgMHg3ZCwgMHhmYywgMHg1ZSwgCi0gICAgMHhmNCwgMHg3ZiwgMHhmZiwgMHg3YSwgMHg3YiwgMHhiMCwgMHg3ZCwgMHhmZCwgMHg1ZSwgMHhmNCwgMHg3ZiwgMHhmZiwgMHg3YSwgMHg3YiwgMHhiMCwgMHg4MCwgCi0gICAgMHhkNCwgMHg3ZSwgMHg2OCwgMHgyZCwgMHgxYiwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHgzMCwgMHgxZiwgMHgwZSwgMHg3ZSwgCi0gICAgMHg3OCwgMHgwNCwgMHgyMCwgMHg3YSwgMHg3YywgMHgwMCwgMHgwMCwgMHg3ZSwgMHg0NCwgMHg3YiwgMHhlMCwgMHg4MCwgMHgwYywgMHg3ZSwgMHg3OCwgMHgwMCwgCi0gICAgMHgwMCwgMHg3YSwgMHg3YywgMHgwMCwgMHgwMSwgMHg3ZSwgMHg0NCwgMHg4MCwgMHgwMCwgMHgwYiwgMHgwMCwgMHg3ZSwgMHg0MCwgMHgzYSwgMHg3YywgMHg1NCwgCi0gICAgMHg3ZiwgMHg1NywgMHg3ZCwgMHg4NCwgMHg2YywgMHg2NiwgMHg3YSwgMHg1YiwgMHg1MCwgMHgwYiwgMHg1YywgMHgwYiwgMHg1MCwgMHhhNSwgMHhkZSwgMHgwMiwgCi0gICAgMHgwYiwgMHg1MCwgMHgxYiwgMHg4NCwgMHg3OCwgMHhmMCwgMHg3YywgMHg1NCwgMHg3ZiwgMHg1NywgMHg3ZCwgMHg4NCwgMHg2YywgMHg2NiwgMHhiZSwgMHg1YiwgCi0gICAgMHg1MCwgMHg3OCwgMHgxYSwgMHgwYiwgMHg1YywgMHgwYiwgMHg1MCwgMHhhNSwgMHhkZSwgMHgwMiwgMHgwYiwgMHg1MCwgMHgxYiwgMHg4NCwgMHg3OCwgMHhlZSwgCi0gICAgMHg3ZSwgMHg2OCwgMHgyYywgMHhkYSwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHg4MCwgMHg0YiwgMHg3ZiwgMHg0NSwgMHg3ZSwgCi0gICAgMHg2OCwgMHgyYywgMHhkZiwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHg3ZSwgMHg2OCwgMHgyZCwgMHg1ZiwgMHg3YSwgMHg2YywgCi0gICAgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHg3ZCwgMHg0YiwgMHgxMiwgMHgxOSwgMHhmYSwgMHg3ZSwgMHg2OCwgMHgyZCwgMHg3NCwgMHg3YSwgMHg2YywgCi0gICAgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHg2YywgMHg4OCwgMHg3YywgMHg5NSwgMHgxMiwgMHgxOSwgMHhmYSwgMHg3ZSwgMHg2OCwgMHgyZCwgMHg4MiwgCi0gICAgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHg3ZSwgMHg0YiwgMHg5MCwgMHgxMiwgMHgxOSwgMHhmYSwgMHgxMiwgMHgxOSwgMHgxOSwgCi0gICAgMHgzMCwgMHgxMSwgMHgwNSwgMHg3ZSwgMHg0YiwgMHg5MCwgMHg4MCwgMHhmYiwgMHg3ZSwgMHg2OCwgMHgyZSwgMHgyOCwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgCi0gICAgMHgxMiwgMHgxOSwgMHhjNCwgMHgwYiwgMHgwMCwgMHg3ZSwgMHhiMCwgMHg4MCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwMCwgMHg3ZSwgMHhhMCwgMHg1NSwgMHg3YSwgCi0gICAgMHhhMywgMHg5MSwgMHgxMCwgMHg3ZSwgMHhiMywgMHg5MSwgMHgwNywgMHg3ZSwgMHhiMywgMHg5MSwgMHgxMCwgMHhiYywgMHhhYiwgMHg3OCwgMHgyMCwgMHg3ZSwgCi0gICAgMHhhMCwgMHhhYSwgMHg3YSwgMHhhMywgMHg5MSwgMHgxMCwgMHg3ZSwgMHhiMywgMHg5MSwgMHgwNywgMHg3ZSwgMHhiMywgMHg5MSwgMHgxMCwgMHhiYywgMHhhYiwgCi0gICAgMHg3OCwgMHgwZCwgMHg3ZSwgMHg2OCwgMHgyYywgMHhkYSwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHg4MCwgMHgxYiwgMHg3ZSwgCi0gICAgMHg2OCwgMHgyYywgMHhkZiwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHgxMiwgMHgxOSwgMHgxOSwgMHgzMCwgMHgxMSwgMHgwYSwgCi0gICAgMHg3YSwgMHhhMywgMHg5MSwgMHgxMCwgMHg3ZSwgMHhiMywgMHg5MSwgMHgxMCwgMHg4MCwgMHhmNiwgMHg3ZSwgMHg2OCwgMHgyZSwgMHg0YSwgMHg3YSwgMHg2YywgCi0gICAgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHgxMiwgMHgxMiwgMHgzMSwgMHgwYiwgMHgwMCwgMHg3ZSwgMHhlNCwgMHgxMCwgMHgwMCwgMHg3ZSwgMHhhMCwgCi0gICAgMHhhNSwgMHhjYSwgMHhhOCwgMHg3YSwgMHhlOSwgMHhhMCwgMHg3ZSwgMHhiMCwgMHgzMCwgMHg3YSwgMHhiMywgMHg5NSwgMHgwMCwgMHg3ZSwgMHhlOSwgMHhhMCwgCi0gICAgMHg3ZSwgMHhiMCwgMHgwMCwgMHg3YSwgMHhiMywgMHg5NSwgMHgwMCwgMHgxMiwgMHgxOSwgMHgwYywgMHgwYiwgMHhlNSwgMHg3ZSwgMHhiMCwgMHgyMCwgMHg3YSwgCi0gICAgMHhiMywgMHg5NSwgMHgwMCwgMHg3ZSwgMHhlOSwgMHhiMCwgMHg3ZSwgMHhiMCwgMHgwMCwgMHg3YSwgMHhiMywgMHg5NSwgMHgwMCwgMHg3ZSwgMHhlOSwgMHhiMCwgCi0gICAgMHhkYSwgMHhhOCwgMHhiYywgMHhhYiwgMHg3OCwgMHgwZCwgMHg3ZSwgMHg2OCwgMHgyYywgMHhkYSwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgCi0gICAgMHhjNCwgMHg4MCwgMHgxZCwgMHg3ZSwgMHg2OCwgMHgyYywgMHhkZiwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHgxMiwgMHgxOSwgCi0gICAgMHgxOSwgMHgzMCwgMHgxMSwgMHgwYywgMHg3ZSwgMHhiMCwgMHgzOCwgMHg3YSwgMHhiMywgMHg5NSwgMHgwMCwgMHg3ZSwgMHhlOSwgMHhiMCwgMHg4MCwgMHhmYiwgCi0gICAgMHg4MCwgMHgwMCwgMHg3ZSwgMHg2OCwgMHgyZCwgMHhlNCwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHgwYiwgMHgwMCwgMHg3NSwgCi0gICAgMHhiMCwgMHhkZiwgMHg3ZSwgMHgyNCwgMHg4MCwgMHgwMCwgMHgwOSwgMHhiMiwgMHgwMCwgMHgwOCwgMHhiZSwgMHhiMCwgMHgwMSwgMHg3OCwgMHgwYiwgMHgwOSwgCi0gICAgMHhiMiwgMHgwMCwgMHgxNCwgMHhiZSwgMHhiMCwgMHg2MCwgMHg3OCwgMHgwMiwgMHg4MCwgMHgxNywgMHg3ZSwgMHg2OCwgMHgyYywgMHhkZiwgMHg3YSwgMHg2YywgCi0gICAgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHgxMiwgMHgxOSwgMHgxOSwgMHgzMCwgMHgxMSwgMHgxMSwgMHgwOSwgMHhiMiwgMHgwMCwgMHgwOCwgMHg4MCwgCi0gICAgMHhmYSwgMHg3ZSwgMHg2OCwgMHgyYywgMHhkYSwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHg3ZSwgMHg2OCwgMHgyZSwgMHgwNiwgCi0gICAgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHgwYiwgMHgwMCwgMHg3NSwgMHhiMCwgMHhlZiwgMHgxMiwgMHgxOCwgMHhmZiwgMHg3ZSwgCi0gICAgMHgyNCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHhhMCwgMHg1NSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxYywgMHg3ZSwgMHhiMCwgMHgwMSwgMHgxOSwgMHhiMiwgMHgwMCwgCi0gICAgMHgwOCwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxYywgMHhiYywgMHhhYiwgMHg3OCwgMHgzNywgMHgwOSwgMHhiMiwgMHgwMCwgMHgwOCwgMHg1ZSwgMHhiMCwgMHhjMCwgCi0gICAgMHhiZSwgMHhiMCwgMHhjMCwgMHg3OCwgMHgyYiwgMHg3ZSwgMHhhMCwgMHhhYSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxYywgMHg2YywgMHhiYiwgMHgxOSwgMHhiMiwgCi0gICAgMHgwMCwgMHgwOCwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxYywgMHhiYywgMHhhYiwgMHg3OCwgMHgxNiwgMHgwOSwgMHhiMiwgMHgwMCwgMHgwOCwgMHg1ZSwgMHhiMCwgCi0gICAgMHhjMCwgMHg3OCwgMHgwZCwgMHg3ZSwgMHg2OCwgMHgyYywgMHhkYSwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHg4MCwgMHgxYiwgCi0gICAgMHg3ZSwgMHg2OCwgMHgyYywgMHhkZiwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHgxMiwgMHgxOSwgMHgxOSwgMHgzMCwgMHgxMSwgCi0gICAgMHgwYSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxYywgMHgwOSwgMHhiMiwgMHgwMCwgMHgxYywgMHg4MCwgMHhmNiwgMHg3ZSwgMHg2OCwgMHgyZSwgMHg2YywgMHg3YSwgCi0gICAgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHg3ZSwgMHg2OCwgMHgyZSwgMHhlZSwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgCi0gICAgMHhjNCwgMHg3ZSwgMHgyNCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHgxMSwgMHgyMSwgMHg3ZSwgMHhiMCwgMHgwMSwgMHgxOSwgMHhiMiwgMHgwMCwgMHgxYywgMHgyZSwgCi0gICAgMHgyNCwgMHgwMSwgMHgwMCwgMHgwYiwgMHhiMCwgMHhhNSwgMHhkOSwgMHhmMywgMHg3ZSwgMHgyNCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHgxMSwgMHgyMSwgMHg3ZSwgCi0gICAgMHhiMCwgMHgwMSwgMHgwYiwgMHgwMCwgMHgwOSwgMHhhMiwgMHgwMCwgMHgxYywgMHhiYywgMHhhYiwgMHg3OCwgMHgxNiwgMHg3ZSwgMHg2OCwgMHgyYywgMHhlNywgCi0gICAgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHgyZSwgMHgyNCwgMHgwMSwgMHgwMCwgMHgwYiwgMHhiMCwgMHhhNSwgMHhkOSwgMHhlMiwgCi0gICAgMHg4MCwgMHgyNSwgMHg3ZSwgMHg2OCwgMHgyYywgMHhmMCwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHgxMiwgMHgxOSwgMHgxOSwgCi0gICAgMHgzMCwgMHgxMSwgMHhlNCwgMHg3ZSwgMHgyNCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHgxMSwgMHgyMSwgMHgwOSwgMHhhMiwgMHgwMCwgMHgxYywgMHgyZSwgMHgyNCwgCi0gICAgMHgwMSwgMHgwMCwgMHhhNSwgMHhkOSwgMHhmNSwgMHg4MCwgMHhlYywgMHg3ZSwgMHg2OCwgMHgyZiwgMHgxMiwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgCi0gICAgMHgxOSwgMHhjNCwgMHgxMiwgMHgxMiwgMHgzMSwgMHg3ZSwgMHgyNCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHgxMSwgMHgyMSwgMHgwYiwgMHgwMCwgMHg3NCwgMHgxMCwgCi0gICAgMHgxOSwgMHhiMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxMSwgMHhhYSwgMHgyZSwgMHgyNCwgMHgwMSwgMHgwMCwgMHhhNSwgMHhkOSwgMHhlZSwgMHg3ZSwgMHg2OCwgCi0gICAgMHgyZiwgMHgzNiwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHg3ZSwgMHgyNCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHgxMSwgMHgyMSwgCi0gICAgMHgwYiwgMHgwMCwgMHhlNCwgMHgxOSwgMHhiMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxMSwgMHhhYSwgMHgyZSwgMHgyNCwgMHgwMSwgMHgwMCwgMHhhNSwgMHhkOSwgCi0gICAgMHhlZiwgMHgzMCwgMHgwMCwgMHgwMywgMHgwMiwgMHgxNywgMHgzYiwgMHgwMiwgMHgxMiwgMHg2YSwgMHg3NCwgMHgwNywgMHgxOSwgMHhiMiwgMHgwMCwgMHgwOCwgCi0gICAgMHgxMiwgMHgxOSwgMHgwYywgMHgwOSwgMHhiMiwgMHgwMCwgMHgwMCwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxNCwgMHgwOSwgMHhiMiwgMHgwMCwgMHgwMCwgMHgwOSwgCi0gICAgMHhiMiwgMHgwMCwgMHgxNCwgMHgwOSwgMHhiMiwgMHgwMCwgMHgwMCwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxNCwgMHgwOSwgMHhiMiwgMHgwMCwgMHgwMCwgMHgwOSwgCi0gICAgMHhiMiwgMHgwMCwgMHgxNCwgMHhjMiwgMHgxMywgMHg3ZSwgMHhiMCwgMHg1NSwgMHgxMiwgMHgxMiwgMHgwYiwgMHg3ZSwgMHhiMCwgMHhhYSwgMHgxMiwgMHgxMiwgCi0gICAgMHgwYiwgMHg3ZSwgMHhiMCwgMHgwMCwgMHgxMiwgMHgxMiwgMHgwYiwgMHg3ZSwgMHhiMCwgMHhmZiwgMHgxMiwgMHgxMiwgMHgwYiwgMHgzMCwgMHgxMywgMHgwZiwgCi0gICAgMHg3ZSwgMHg2OCwgMHgyYywgMHhmMCwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHgxMiwgMHgxOSwgMHgxOSwgMHgyMiwgMHg3ZSwgCi0gICAgMHg2OCwgMHgyYywgMHhlNywgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHgyMiwgMHgxOSwgMHhiMiwgMHgwMCwgMHgwMCwgMHgxMiwgCi0gICAgMHgxOCwgMHhmZiwgMHgwOSwgMHhhMiwgMHgwMCwgMHgwMCwgMHhiYywgMHhhYiwgMHg3OCwgMHgwMSwgMHgyMiwgMHgyMCwgMHgxMSwgMHgwMywgMHhkMiwgMHgxMywgCi0gICAgMHgyMiwgMHgxMiwgMHgxOSwgMHgxOSwgMHgxOSwgMHhiMiwgMHgwMCwgMHgwMCwgMHgxMiwgMHgxOCwgMHhmZiwgMHgwOSwgMHhhMiwgMHgwMCwgMHgwMCwgMHg4MCwgCi0gICAgMHhmMywgMHg3NSwgMHhiMCwgMHhkZiwgMHgxMiwgMHgxOCwgMHhmZiwgMHg3NSwgMHhiMCwgMHhlZiwgMHgxMiwgMHgxOCwgMHhmZiwgMHg3ZSwgMHgyNCwgMHg4MCwgCi0gICAgMHgwMCwgMHg3ZSwgMHgxMSwgMHgyMSwgMHg3NCwgMHg4MCwgMHgxOSwgMHhiMiwgMHgwMCwgMHgwYywgMHg3ZSwgMHg1NCwgMHgwMCwgMHgwMiwgMHgxOSwgMHhhMiwgCi0gICAgMHgwMCwgMHgwNCwgMHgxOSwgMHhiMiwgMHgwMCwgMHgwMCwgMHg3NCwgMHgwMywgMHgxOSwgMHhiMiwgMHgwMCwgMHgwYywgMHg3NCwgMHgwNiwgMHgxOSwgMHhiMiwgCi0gICAgMHgwMCwgMHgwOCwgMHgyZSwgMHgyNCwgMHgwMSwgMHgwMCwgMHhhNSwgMHhkOSwgMHhkYiwgMHgyMiwgMHg3ZSwgMHg2OCwgMHgyZiwgMHg1YSwgMHg3YSwgMHg2YywgCi0gICAgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHg3ZSwgMHgyNCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHgxMSwgMHgyMSwgMHgwYiwgMHgwMCwgMHgxMiwgMHgxOCwgCi0gICAgMHhmZiwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg3ZSwgMHhhMCwgMHg1NSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgwMCwgMHgxMiwgMHgxOCwgMHhmZiwgMHgwOSwgCi0gICAgMHhiMiwgMHgwMCwgMHgxOCwgMHg1ZSwgMHhiMCwgMHgwNSwgMHg3OCwgMHgwZCwgMHg3ZSwgMHg2OCwgMHgyYywgMHhlNywgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgCi0gICAgMHgxMiwgMHgxOSwgMHhjNCwgMHg4MCwgMHgxYSwgMHg3ZSwgMHg2OCwgMHgyYywgMHhmMCwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgCi0gICAgMHgxMiwgMHgxOSwgMHgxOSwgMHgzMCwgMHgxMSwgMHgwOSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgwMCwgMHgxMiwgMHgxOCwgMHhmZiwgMHg4MCwgMHhmNywgMHgyZSwgCi0gICAgMHgyNCwgMHgwMSwgMHgwMCwgMHhhNSwgMHhkOSwgMHhiNiwgMHg3ZSwgMHg2OCwgMHgyZiwgMHg3ZSwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgCi0gICAgMHhjNCwgMHg3ZSwgMHgyNCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHgxMSwgMHgyMSwgMHgwYiwgMHgwMCwgMHgxMiwgMHgxOCwgMHhmZiwgMHgwOSwgMHhiMiwgMHgwMCwgCi0gICAgMHgxOCwgMHg3ZSwgMHhhMCwgMHg1NSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgwMCwgMHgxMiwgMHgxOCwgMHhmZiwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg1ZSwgCi0gICAgMHhiMCwgMHgwYSwgMHg3OCwgMHgwZCwgMHg3ZSwgMHg2OCwgMHgyYywgMHhlNywgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHg4MCwgCi0gICAgMHgxYSwgMHg3ZSwgMHg2OCwgMHgyYywgMHhmMCwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHgxMiwgMHgxOSwgMHgxOSwgMHgzMCwgCi0gICAgMHgxMSwgMHgwOSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgwMCwgMHgxMiwgMHgxOCwgMHhmZiwgMHg4MCwgMHhmNywgMHgyZSwgMHgyNCwgMHgwMSwgMHgwMCwgMHhhNSwgCi0gICAgMHhkOSwgMHhiNiwgMHgzMCwgMHgwNCwgMHgwMywgMHgwMiwgMHgxNSwgMHg5ZiwgMHg3ZSwgMHg2OCwgMHgyZiwgMHhhMiwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgCi0gICAgMHgxMiwgMHgxOSwgMHhjNCwgMHg3ZSwgMHgyNCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHgxMSwgMHgyMSwgMHgwYiwgMHgwMCwgMHg2YywgMHhhYSwgMHgxOSwgMHhhMiwgCi0gICAgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOCwgMHhmZiwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg3ZSwgMHhhMCwgMHgwMiwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgCi0gICAgMHg2YywgMHhhYSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOCwgMHhmZiwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg1ZSwgMHhiMCwgMHgwYSwgCi0gICAgMHg3OCwgMHgzYywgMHg3ZSwgMHhhMCwgMHgwMSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOCwgMHhmZiwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgCi0gICAgMHg3ZSwgMHhhMCwgMHgwMywgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHg3ZSwgMHhhMCwgMHgwMSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOCwgCi0gICAgMHhmZiwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg1ZSwgMHhiMCwgMHgwYSwgMHg3OCwgMHgxNCwgMHg3ZSwgMHg2OCwgMHgyYywgMHhlNywgMHg3YSwgMHg2YywgCi0gICAgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHgyZSwgMHgyNCwgMHgwMSwgMHgwMCwgMHhhNSwgMHhkOSwgMHg5ZSwgMHg4MCwgMHgyMCwgMHg3ZSwgMHg2OCwgCi0gICAgMHgyYywgMHhmMCwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHgxMiwgMHgxOSwgMHgxOSwgMHgzMCwgMHgxMSwgMHhlNiwgMHg3ZSwgCi0gICAgMHhhMCwgMHgwMiwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHg2YywgMHhhYSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHg4MCwgMHhmMSwgMHg3ZSwgMHg2OCwgCi0gICAgMHgyZiwgMHhlYSwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHg3ZSwgMHgyNCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHgxMSwgMHgyMSwgCi0gICAgMHgwYiwgMHgwMCwgMHg2YywgMHhhYSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOCwgMHhmZiwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg3ZSwgCi0gICAgMHhhMCwgMHgwMSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHg2YywgMHhhYSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOCwgMHhmZiwgMHgwOSwgCi0gICAgMHhiMiwgMHgwMCwgMHgxOCwgMHg1ZSwgMHhiMCwgMHgwNSwgMHg3OCwgMHgzYywgMHg3ZSwgMHhhMCwgMHgwMiwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgCi0gICAgMHgxOCwgMHhmZiwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg3ZSwgMHhhMCwgMHgwMywgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHg3ZSwgMHhhMCwgMHgwMiwgCi0gICAgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOCwgMHhmZiwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg1ZSwgMHhiMCwgMHgwNSwgMHg3OCwgMHgxNCwgCi0gICAgMHg3ZSwgMHg2OCwgMHgyYywgMHhlNywgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHgyZSwgMHgyNCwgMHgwMSwgMHgwMCwgMHhhNSwgCi0gICAgMHhkOSwgMHg5ZSwgMHg4MCwgMHgyMCwgMHg3ZSwgMHg2OCwgMHgyYywgMHhmMCwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHgxMiwgCi0gICAgMHgxOSwgMHgxOSwgMHgzMCwgMHgxMSwgMHhlNiwgMHg3ZSwgMHhhMCwgMHgwMSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHg2YywgMHhhYSwgMHgxOSwgMHhhMiwgCi0gICAgMHgwMCwgMHgxMCwgMHg4MCwgMHhmMSwgMHg3ZSwgMHg2OCwgMHgzMCwgMHgzMiwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHg3ZSwgCi0gICAgMHgyNCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHgxMSwgMHgyMSwgMHgwYiwgMHgwMCwgMHg3ZSwgMHhhMCwgMHgwMiwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgCi0gICAgMHgxOCwgMHhmZiwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg1ZSwgMHhiMCwgMHg1MCwgMHhiZSwgMHhiMCwgMHg1MCwgMHg3OCwgMHgxZiwgMHg2YywgMHhhYSwgCi0gICAgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOCwgMHhmZiwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg1ZSwgMHhiMCwgMHg1MCwgMHg3OCwgMHgwZCwgCi0gICAgMHg3ZSwgMHg2OCwgMHgyYywgMHhlNywgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHg4MCwgMHgyMCwgMHg3ZSwgMHg2OCwgMHgyYywgCi0gICAgMHhmMCwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHgxMiwgMHgxOSwgMHgxOSwgMHgzMCwgMHgxMSwgMHgwZiwgMHg3ZSwgMHhhMCwgCi0gICAgMHgwMiwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHg2YywgMHhhYSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHg4MCwgMHhmMSwgMHgyZSwgMHgyNCwgMHgwMSwgCi0gICAgMHgwMCwgMHhhNSwgMHhkOSwgMHhhMiwgMHg3ZSwgMHg2OCwgMHgzMCwgMHg3YSwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHg3ZSwgCi0gICAgMHgyNCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHgxMSwgMHgyMSwgMHgwYiwgMHgwMCwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg3ZSwgMHhhMCwgMHgwMSwgMHgxOSwgCi0gICAgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOCwgMHhmZiwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg1ZSwgMHhiMCwgMHhhMCwgMHhiZSwgMHhiMCwgMHhhMCwgCi0gICAgMHg3OCwgMHgxZiwgMHg2YywgMHhhYSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOCwgMHhmZiwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg1ZSwgCi0gICAgMHhiMCwgMHhhMCwgMHg3OCwgMHgwZCwgMHg3ZSwgMHg2OCwgMHgyYywgMHhlNywgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHg4MCwgCi0gICAgMHgyMCwgMHg3ZSwgMHg2OCwgMHgyYywgMHhmMCwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHgxMiwgMHgxOSwgMHgxOSwgMHgzMCwgCi0gICAgMHgxMSwgMHgwZiwgMHg3ZSwgMHhhMCwgMHgwMSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHg2YywgMHhhYSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHg4MCwgCi0gICAgMHhmMSwgMHgyZSwgMHgyNCwgMHgwMSwgMHgwMCwgMHhhNSwgMHhkOSwgMHg5ZSwgMHg3ZSwgMHg2OCwgMHgzMCwgMHg5ZSwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgCi0gICAgMHgxMiwgMHgxOSwgMHhjNCwgMHg3ZSwgMHgyNCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHgxMSwgMHgyMSwgMHgwYiwgMHgwMCwgMHgyMCwgMHhiMSwgMHgyNiwgMHg3ZSwgCi0gICAgMHhhMCwgMHgwMiwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOCwgMHhmZiwgMHgzMCwgMHhiMSwgMHgxOSwgMHg2YywgMHhhYSwgMHgxOSwgMHhhMiwgCi0gICAgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOCwgMHhmZiwgMHgyMCwgMHhiMSwgMHgwZCwgMHg3ZSwgMHg2OCwgMHgyYywgMHhlNywgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgCi0gICAgMHgxMiwgMHgxOSwgMHhjNCwgMHg4MCwgMHgyMCwgMHg3ZSwgMHg2OCwgMHgyYywgMHhmMCwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgCi0gICAgMHgxMiwgMHgxOSwgMHgxOSwgMHgzMCwgMHgxMSwgMHgwZiwgMHg3ZSwgMHhhMCwgMHgwMiwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHg2YywgMHhhYSwgMHgxOSwgCi0gICAgMHhhMiwgMHgwMCwgMHgxMCwgMHg4MCwgMHhmMSwgMHgyZSwgMHgyNCwgMHgwMSwgMHgwMCwgMHhhNSwgMHhkOSwgMHhhZSwgMHgwMiwgMHgxNywgMHgzYiwgMHg3ZSwgCi0gICAgMHg2OCwgMHgyZiwgMHhjNiwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHg3ZSwgMHgyNCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHgxMSwgCi0gICAgMHgyMSwgMHgwYiwgMHgwMCwgMHg2YywgMHhhYSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOCwgMHhmZiwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgCi0gICAgMHg3ZSwgMHhhMCwgMHgwMiwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHg2YywgMHhhYSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOCwgMHhmZiwgCi0gICAgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg1ZSwgMHhiMCwgMHgwNiwgMHg3OCwgMHgzYywgMHg3ZSwgMHhhMCwgMHgwMSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgCi0gICAgMHgxMiwgMHgxOCwgMHhmZiwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg3ZSwgMHhhMCwgMHgwMywgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHg3ZSwgMHhhMCwgCi0gICAgMHgwMSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOCwgMHhmZiwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg1ZSwgMHhiMCwgMHgwNiwgMHg3OCwgCi0gICAgMHgxNCwgMHg3ZSwgMHg2OCwgMHgyYywgMHhlNywgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHgyZSwgMHgyNCwgMHgwMSwgMHgwMCwgCi0gICAgMHhhNSwgMHhkOSwgMHg5ZSwgMHg4MCwgMHgyMCwgMHg3ZSwgMHg2OCwgMHgyYywgMHhmMCwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgCi0gICAgMHgxMiwgMHgxOSwgMHgxOSwgMHgzMCwgMHgxMSwgMHhlNiwgMHg3ZSwgMHhhMCwgMHgwMiwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHg2YywgMHhhYSwgMHgxOSwgCi0gICAgMHhhMiwgMHgwMCwgMHgxMCwgMHg4MCwgMHhmMSwgMHg3ZSwgMHg2OCwgMHgzMCwgMHgwZSwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgCi0gICAgMHg3ZSwgMHgyNCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHgxMSwgMHgyMSwgMHgwYiwgMHgwMCwgMHg2YywgMHhhYSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgCi0gICAgMHgxOCwgMHhmZiwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg3ZSwgMHhhMCwgMHgwMSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHg2YywgMHhhYSwgMHgxOSwgCi0gICAgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOCwgMHhmZiwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg1ZSwgMHhiMCwgMHgwOSwgMHg3OCwgMHgzYywgMHg3ZSwgCi0gICAgMHhhMCwgMHgwMiwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOCwgMHhmZiwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg3ZSwgMHhhMCwgMHgwMywgCi0gICAgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHg3ZSwgMHhhMCwgMHgwMiwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOCwgMHhmZiwgMHgwOSwgMHhiMiwgCi0gICAgMHgwMCwgMHgxOCwgMHg1ZSwgMHhiMCwgMHgwOSwgMHg3OCwgMHgxNCwgMHg3ZSwgMHg2OCwgMHgyYywgMHhlNywgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgCi0gICAgMHgxOSwgMHhjNCwgMHgyZSwgMHgyNCwgMHgwMSwgMHgwMCwgMHhhNSwgMHhkOSwgMHg5ZSwgMHg4MCwgMHgyMCwgMHg3ZSwgMHg2OCwgMHgyYywgMHhmMCwgMHg3YSwgCi0gICAgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHgxMiwgMHgxOSwgMHgxOSwgMHgzMCwgMHgxMSwgMHhlNiwgMHg3ZSwgMHhhMCwgMHgwMSwgMHgxOSwgCi0gICAgMHhhMiwgMHgwMCwgMHgxMCwgMHg2YywgMHhhYSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHg4MCwgMHhmMSwgMHg3ZSwgMHg2OCwgMHgzMCwgMHg1NiwgMHg3YSwgCi0gICAgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHg3ZSwgMHgyNCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHgxMSwgMHgyMSwgMHgwYiwgMHgwMCwgMHg3ZSwgCi0gICAgMHhhMCwgMHgwMiwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOCwgMHhmZiwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg1ZSwgMHhiMCwgMHg5MCwgCi0gICAgMHhiZSwgMHhiMCwgMHg5MCwgMHg3OCwgMHgxZiwgMHg2YywgMHhhYSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOCwgMHhmZiwgMHgwOSwgMHhiMiwgCi0gICAgMHgwMCwgMHgxOCwgMHg1ZSwgMHhiMCwgMHg5MCwgMHg3OCwgMHgwZCwgMHg3ZSwgMHg2OCwgMHgyYywgMHhlNywgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgCi0gICAgMHgxOSwgMHhjNCwgMHg4MCwgMHgyMCwgMHg3ZSwgMHg2OCwgMHgyYywgMHhmMCwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHgxMiwgCi0gICAgMHgxOSwgMHgxOSwgMHgzMCwgMHgxMSwgMHgwZiwgMHg3ZSwgMHhhMCwgMHgwMiwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHg2YywgMHhhYSwgMHgxOSwgMHhhMiwgCi0gICAgMHgwMCwgMHgxMCwgMHg4MCwgMHhmMSwgMHgyZSwgMHgyNCwgMHgwMSwgMHgwMCwgMHhhNSwgMHhkOSwgMHhhMiwgMHgyMCwgMHgxZiwgMHg2OCwgMHgxMiwgMHgxMiwgCi0gICAgMHgzMSwgMHgxMiwgMHgxNywgMHhhOSwgMHg3ZSwgMHgyNCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHgxMSwgMHgyMSwgMHgwYiwgMHgwMCwgMHgyMCwgMHg4OSwgMHgyNiwgCi0gICAgMHg3ZSwgMHhhMCwgMHhmZiwgMHgxOSwgMHhhMiwgMHgwMCwgMHgwNCwgMHgxMiwgMHgxOCwgMHhmZiwgMHg3ZSwgMHhiMCwgMHg1NSwgMHgxOSwgMHhiMiwgMHgwMCwgCi0gICAgMHgwMCwgMHgxMiwgMHgxOCwgMHhmZiwgMHgzMCwgMHg4OSwgMHgwZiwgMHg3ZSwgMHhhMCwgMHgwMCwgMHgxOSwgMHhhMiwgMHgwMCwgMHgwNCwgMHgxMiwgMHgxOCwgCi0gICAgMHhmZiwgMHgyMCwgMHg4OSwgMHgwMiwgMHg4MCwgMHgyNiwgMHgxMiwgMHgxOSwgMHgxOSwgMHgzMCwgMHgxMSwgMHgyMCwgMHg3ZSwgMHhhMCwgMHhmZiwgMHgxOSwgCi0gICAgMHhhMiwgMHgwMCwgMHgwNCwgMHgxMiwgMHgxOCwgMHhmZiwgMHg3ZSwgMHhiMCwgMHg1NSwgMHgxOSwgMHhiMiwgMHgwMCwgMHgwMCwgMHgxMiwgMHgxOCwgMHhmZiwgCi0gICAgMHg3ZSwgMHhhMCwgMHgwMCwgMHgxOSwgMHhhMiwgMHgwMCwgMHgwNCwgMHgxMiwgMHgxOCwgMHhmZiwgMHg4MCwgMHhlMCwgMHgyZSwgMHgyNCwgMHgwMSwgMHgwMCwgCi0gICAgMHhhNSwgMHhkOSwgMHhhOCwgMHgwMiwgMHgxNywgMHhjMiwgMHgwMiwgMHgxOCwgMHg0YywgMHg3ZSwgMHgyNCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHgxMSwgMHgyMSwgCi0gICAgMHg3ZSwgMHhhMCwgMHgwOCwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOCwgMHhmZiwgMHgyZSwgMHgyNCwgMHgwMSwgMHgwMCwgMHhhNSwgMHhkOSwgCi0gICAgMHhlZiwgMHgyMiwgMHgzMCwgMHgxZiwgMHgwMywgMHgwMiwgMHgxOCwgMHg0YywgMHhjMiwgMHg4YSwgMHgxMiwgMHgxNywgMHhhOSwgMHgwYiwgMHgwMCwgMHgxMiwgCi0gICAgMHgxOCwgMHgxNiwgMHgyMCwgMHg4YiwgMHgyNCwgMHg3NCwgMHgwMywgMHg3YSwgMHhiMywgMHg5MSwgMHgwNiwgMHg3NCwgMHgwMiwgMHg3YSwgMHhiMywgMHg5MSwgCi0gICAgMHgwNywgMHg3NCwgMHgwYywgMHg3YSwgMHhiMywgMHg5MSwgMHgwNiwgMHg3NCwgMHgwMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwNywgMHgxMiwgMHgxOSwgMHgwYywgCi0gICAgMHgzMCwgMHg4YiwgMHgwNiwgMHgxMiwgMHgxOCwgMHgxNiwgMHgzMCwgMHg4YiwgMHhhZCwgMHgxMiwgMHgxOSwgMHgxOSwgMHgzMCwgMHgxMSwgMHhhNywgMHgxMiwgCi0gICAgMHgxOCwgMHgxNiwgMHg3NCwgMHgwMywgMHg3YSwgMHhiMywgMHg5MSwgMHgwNiwgMHg3NCwgMHgwMiwgMHg3YSwgMHhiMywgMHg5MSwgMHgwNywgMHgxMiwgMHgxOSwgCi0gICAgMHgwYywgMHgxMiwgMHgxOCwgMHgxNiwgMHg4MCwgMHhlOSwgMHg3ZSwgMHhhMCwgMHgwMCwgMHg3NCwgMHgwMiwgMHg3YSwgMHhiMywgMHg5MSwgMHgwNiwgMHg3YSwgCi0gICAgMHhhMywgMHg5MSwgMHgwNywgMHg3NCwgMHgwMywgMHg3YSwgMHhiMywgMHg5MSwgMHgwNiwgMHg3YSwgMHhhMywgMHg5MSwgMHgwNywgMHgxMiwgMHgxOCwgMHhmZiwgCi0gICAgMHg3NCwgMHhlZiwgMHg3YSwgMHhiMywgMHg5MSwgMHgwNCwgMHg3NCwgMHg4MCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwMywgMHg3NCwgMHgwYywgMHg3YSwgMHhiMywgCi0gICAgMHg5MSwgMHgwNiwgMHg3NCwgMHgwOCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwNywgMHgxMiwgMHgxOSwgMHgwYywgMHgyMiwgMHgzMCwgMHgxMiwgMHgxOSwgMHg3ZSwgCi0gICAgMHg2OCwgMHgzMCwgMHhjMiwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHhkMiwgMHgxMSwgMHgxMiwgMHgxOCwgMHhmZiwgMHgxMiwgCi0gICAgMHgxOCwgMHhmZiwgMHgxMiwgMHgxOCwgMHhmZiwgMHgwMiwgMHgwYywgMHhjYSwgMHgzMCwgMHgxZiwgMHgxYywgMHg3ZSwgMHg2OCwgMHgzMSwgMHgzYywgMHg3YSwgCi0gICAgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHg3ZSwgMHg2OCwgMHgzMSwgMHg1ZSwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgCi0gICAgMHhjNCwgMHgxMiwgMHgxYSwgMHg2ZSwgMHgwMiwgMHgxOCwgMHhmNywgMHgwYiwgMHgwMCwgMHg3ZSwgMHg3OCwgMHgxOCwgMHhiMSwgMHg3YSwgMHg3YywgMHgwMCwgCi0gICAgMHhmZiwgMHg3ZiwgMHg2NywgMHg3YSwgMHg2YywgMHgwMCwgMHgwMCwgMHg3ZSwgMHg3MCwgMHgzZSwgMHg3ZSwgMHg3YiwgMHhiMCwgMHg3YSwgMHg2YiwgMHhiMCwgCi0gICAgMHgwYiwgMHg3YywgMHgwYiwgMHg2YywgMHhhNSwgMHhkZiwgMHhmMywgMHg3ZSwgMHg3OCwgMHgxOCwgMHhiMSwgMHg3YSwgMHg3YywgMHgwMCwgMHgwMCwgMHg4OSwgCi0gICAgMHg3OCwgMHg3ZSwgMHg3OCwgMHgwMCwgMHgwMCwgMHg3YSwgMHg3YywgMHgwMCwgMHhmZSwgMHg3ZSwgMHg2OCwgMHg3ZiwgMHhiZiwgMHg3YSwgMHg2YywgMHgwMCwgCi0gICAgMHhmZSwgMHg3NCwgMHhhYSwgMHgzOSwgMHhiNywgMHg1NSwgMHg1NSwgMHg3NCwgMHg1NSwgMHgzOSwgMHhiNywgMHgyYSwgMHhhYSwgMHg3NCwgMHhhMCwgMHgzOSwgCi0gICAgMHhiNywgMHg1NSwgMHg1NSwgMHg2YywgMHg5OSwgMHg3YSwgMHg2YiwgMHg5MCwgMHg3ZSwgMHg1NCwgMHgyNywgMHgxMCwgMHg3ZSwgMHg2YiwgMHg4MCwgMHhiYywgCi0gICAgMHg4OSwgMHg2OCwgMHgwOCwgMHgxYiwgMHg1NCwgMHg3OCwgMHhmNSwgMHg4YSwgMHhmZiwgMHgxOCwgMHhlZiwgMHg4YSwgMHhmZiwgMHgxOCwgMHhmNywgMHgxMiwgCi0gICAgMHgxOSwgMHgxOSwgMHg3ZSwgMHg2YiwgMHg4MCwgMHg4MCwgMHhmYiwgMHg3ZSwgMHgxMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhhYywgMHg4MCwgMHhmOCwgMHhjYSwgCi0gICAgMHhmOSwgMHg3ZSwgMHhmNCwgMHgwMCwgMHhmZiwgMHgxYiwgMHhmNCwgMHg3OCwgMHhmYywgMHhkYSwgMHhmOSwgMHgyMiwgMHhjYSwgMHhmOSwgMHg3ZSwgMHhmNCwgCi0gICAgMHgwMCwgMHgwMCwgMHgxYiwgMHhmNCwgMHg3OCwgMHhmYywgMHhkYSwgMHhmOSwgMHgyMiwgMHgyMCwgMHgxMSwgMHgyMCwgMHhkMiwgMHgxMiwgMHgxMiwgMHgxOSwgCi0gICAgMHgwYywgMHg3ZSwgMHhiMCwgMHgwMiwgMHg3YSwgMHhiMywgMHg5MCwgMHgwMCwgMHgxMiwgMHgxOSwgMHgwYywgMHgxMiwgMHgxOSwgMHgwYywgMHgxMiwgMHgxOSwgCi0gICAgMHgwYywgMHgxMiwgMHgxOSwgMHgwYywgMHg3ZSwgMHhiMCwgMHgwMCwgMHg3YSwgMHhiMywgMHg5MCwgMHgwMCwgMHgyMiwgMHhjYSwgMHgwYiwgMHg3ZSwgMHgxMCwgCi0gICAgMHgwMywgMHg3YywgMHgzMCwgMHg2YywgMHgyMiwgMHgwYiwgMHgyMCwgMHg5ZSwgMHgzMCwgMHgwYSwgMHg1MCwgMHhmOSwgMHgyZSwgMHgzMCwgMHgwYiwgMHgxYiwgCi0gICAgMHgyMCwgMHg2OCwgMHgyMCwgMHgxMiwgMHgxOSwgMHgwYywgMHgxMiwgMHgxOSwgMHgwYywgMHg3ZSwgMHhiMCwgMHgwMywgMHg3YSwgMHhiMywgMHg5MCwgMHgwMCwgCi0gICAgMHgxMiwgMHgxOSwgMHgwYywgMHgxMiwgMHgxOSwgMHgwYywgMHgxMiwgMHgxOSwgMHgwYywgMHg3ZSwgMHhiMCwgMHgwMCwgMHg3YSwgMHhiMywgMHg5MCwgMHgwMCwgCi0gICAgMHhhNSwgMHhkYSwgMHhlMCwgMHgxMiwgMHgxOSwgMHgwYywgMHgxMiwgMHgxOSwgMHgwYywgMHgxYiwgMHgzMCwgMHg2OCwgMHgyMCwgMHgxMiwgMHgxOSwgMHgwYywgCi0gICAgMHgxMiwgMHgxOSwgMHgwYywgMHg3ZSwgMHhiMCwgMHgwMiwgMHg3YSwgMHhiMywgMHg5MCwgMHgwMCwgMHgxMiwgMHgxOSwgMHgwYywgMHgxMiwgMHgxOSwgMHgwYywgCi0gICAgMHgxMiwgMHgxOSwgMHgwYywgMHg3ZSwgMHhiMCwgMHgwMCwgMHg3YSwgMHhiMywgMHg5MCwgMHgwMCwgMHhhNSwgMHhkYiwgMHhlMCwgMHg3ZSwgMHgyMCwgMHgwYSwgCi0gICAgMHgxMiwgMHgxOSwgMHgwYywgMHhhNSwgMHhkYSwgMHhmYSwgMHhhNSwgMHhkOSwgMHg5OCwgMHhkYSwgMHgwYiwgMHgyMiwgMHgyMCwgMHgxMSwgMHgxNCwgMHgxMiwgCi0gICAgMHgxOSwgMHgwYywgMHg3ZSwgMHhiMCwgMHgwMSwgMHg3YSwgMHhiMywgMHg5MCwgMHgwMCwgMHgxMiwgMHgxOSwgMHgwYywgMHg3ZSwgMHhiMCwgMHgwMCwgMHg3YSwgCi0gICAgMHhiMywgMHg5MCwgMHgwMCwgMHgyMiwgMHgzMCwgMHgxZiwgMHgzMiwgMHgyMCwgMHgxMSwgMHgyZiwgMHhjYSwgMHgyYiwgMHhjYSwgMHg3YiwgMHg3ZSwgMHg3OCwgCi0gICAgMHg4MCwgMHgwMCwgMHg3YSwgMHg3YywgMHgwMCwgMHhmZSwgMHgxMiwgMHgxYSwgMHg0ZCwgMHg3ZSwgMHg2YiwgMHhhMCwgMHg1YywgMHhhYSwgMHg2OCwgMHgxMCwgCi0gICAgMHgyOSwgMHhiNywgMHgwMCwgMHgxNCwgMHg1NCwgMHg2MCwgMHg2OCwgMHhmOCwgMHgzOSwgMHhhNywgMHgwMCwgMHgwMCwgMHgwYiwgMHg2YywgMHg4MCwgMHhlOSwgCi0gICAgMHgxMiwgMHgxOCwgMHhmZiwgMHhkMiwgMHhiNSwgMHhkYSwgMHg3YiwgMHhkYSwgMHgyYiwgMHgyMiwgMHgxMiwgMHgxYSwgMHgwNSwgMHg3ZSwgMHg2OCwgMHgwMCwgCi0gICAgMHgwYywgMHgxMiwgMHgxOSwgMHhjNCwgMHgyMiwgMHhjYSwgMHg1OSwgMHhjYSwgMHg1YiwgMHg3ZSwgMHhiNCwgMHgwMCwgMHgwYywgMHg3YywgMHhiOCwgMHhjNCwgCi0gICAgMHgxMiwgMHgxYSwgMHgzNSwgMHg3YywgMHhiOCwgMHgxMiwgMHgxYSwgMHgzNSwgMHg3YywgMHhiOSwgMHhjNCwgMHgxMiwgMHgxYSwgMHgzNSwgMHg3YywgMHhiOSwgCi0gICAgMHgxMiwgMHgxYSwgMHgzNSwgMHg3ZSwgMHhiMCwgMHg2OCwgMHg3YSwgMHhiOSwgMHhiMCwgMHgwYiwgMHhiNCwgMHg2YywgMHhiYiwgMHg3YSwgMHhiOSwgMHhiMCwgCi0gICAgMHhkYSwgMHg1OSwgMHhkYSwgMHg1YiwgMHgyMiwgMHg1ZSwgMHhiMCwgMHgwZiwgMHg3YywgMHhhYiwgMHg5ZSwgMHhhMCwgMHgwYSwgMHg0MCwgMHgwNSwgMHgyZSwgCi0gICAgMHhiMCwgMHgzNywgMHg4MCwgMHgwMywgMHgyZSwgMHhiMCwgMHgzMCwgMHg3YSwgMHhiOSwgMHhiMCwgMHgwYiwgMHhiNCwgMHgyMiwgMHhjMiwgMHhiNSwgMHg3NSwgCi0gICAgMHhiMCwgMHhlZiwgMHgxMiwgMHgxOCwgMHhmZiwgMHg3NCwgMHg4MCwgMHgzOSwgMHhiNywgMHgwMCwgMHgwYywgMHg3ZSwgMHg1NCwgMHgwMCwgMHgwNiwgMHgzOSwgCi0gICAgMHhhNywgMHgwMCwgMHgwNCwgMHgzOSwgMHhiNywgMHgwMCwgMHgwMCwgMHg3NCwgMHgwMywgMHgzOSwgMHhiNywgMHgwMCwgMHgwYywgMHgyMiwgMHg3ZSwgMHg3OCwgCi0gICAgMHgwMCwgMHgwMCwgMHg3YSwgMHg3YywgMHgwMCwgMHhmZiwgMHg3ZSwgMHg1OCwgMHgwMCwgMHgwMCwgMHg3YSwgMHg1YywgMHgwMCwgMHgwMSwgMHg3ZiwgMHg2NSwgCi0gICAgMHg3ZSwgMHg3NCwgMHgyMCwgMHgwMCwgMHgxMiwgMHgwYiwgMHg2MywgMHg0MCwgMHg1OCwgMHg3ZSwgMHg3OCwgMHg3YywgMHgwMCwgMHg3YSwgMHg3YywgMHgwMCwgCi0gICAgMHhmZiwgMHg3ZSwgMHg1OCwgMHgwMCwgMHgwMCwgMHg3YSwgMHg1YywgMHgwMCwgMHgwMSwgMHg3ZSwgMHg2OCwgMHg3YywgMHgwMCwgMHg3YSwgMHg2YywgMHgwMCwgCi0gICAgMHgwMSwgMHg3ZSwgMHg3NCwgMHgwNCwgMHgwMCwgMHgxMiwgMHgwYiwgMHg2MywgMHg0MCwgMHgzNywgMHg3NCwgMHg4MCwgMHgxMiwgMHgxYSwgMHhlYSwgMHg0MCwgCi0gICAgMHgzMCwgMHg3ZSwgMHgwMCwgMHgwMywgMHg3YSwgMHgwMywgMHg5MCwgMHgwMCwgMHhkMiwgMHgxMCwgMHg3ZSwgMHgwNCwgMHgwMCwgMHgwOCwgMHg3ZSwgMHgxNCwgCi0gICAgMHgwMCwgMHgwMCwgMHg4NCwgMHhhNSwgMHhkYiwgMHhmYywgMHhhNSwgMHhkYSwgMHhmOSwgMHhhNSwgMHhkOSwgMHhmNiwgMHg3NCwgMHg0MCwgMHgxMiwgMHgxYSwgCi0gICAgMHhlYSwgMHg0MCwgMHgwZSwgMHg3ZSwgMHg2OCwgMHgzMSwgMHg4ZCwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxOSwgMHhjNCwgMHgwMiwgMHgxOCwgCi0gICAgMHhmNywgMHg3ZSwgMHhiMCwgMHgwMiwgMHg3YSwgMHhiMywgMHg5MCwgMHgwMCwgMHg4MCwgMHhmZSwgMHhmNSwgMHgwYiwgMHg3ZSwgMHg3OCwgMHgwMCwgMHgwYiwgCi0gICAgMHg3YSwgMHg3YywgMHgwMCwgMHgwMCwgMHg3ZSwgMHg2OCwgMHg3ZiwgMHhiZiwgMHg3YSwgMHg2YywgMHgwMCwgMHgwMSwgMHg3ZSwgMHg3NCwgMHgwMCwgMHgwMSwgCi0gICAgMHgwMiwgMHgwYiwgMHg2MywgCi0KLS8vIFNlZ21lbnQgIzE5LCBFWENMVURFRCBTdGFydCBBZGRyZXNzIDAwZmYyYzY2LCBMZW5ndGggMTM5MwotCi19OwotCi1zdGF0aWMgY29uc3Qgc3RydWN0IGVkZ2VfZmlybXdhcmVfdmVyc2lvbl9pbmZvIElNQUdFX1ZFUlNJT05fTkFNRSA9IHsKLQkyLCAwLCAzIH07CQkvLyBNYWpvciwgTWlub3IsIEJ1aWxkCi0KLSN1bmRlZiBJTUFHRV9WRVJTSU9OX05BTUUKLQotI3VuZGVmIElNQUdFX0FSUkFZX05BTUUKLQpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Ivc2VyaWFsL2lvX2Z3X2Rvd24uaCBiL2RyaXZlcnMvdXNiL3NlcmlhbC9pb19md19kb3duLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVhNjFkODAuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy91c2Ivc2VyaWFsL2lvX2Z3X2Rvd24uaAorKysgL2Rldi9udWxsCkBAIC0xLDEyMjkgKzAsMCBAQAotLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotLy8qIEVkZ2Vwb3J0LzQgQmluYXJ5IEltYWdlCi0vLyogR2VuZXJhdGVkIGJ5IEhFWDJDIHYxLjA2Ci0vLyogQ29weXJpZ2h0IChDKSAxOTk4IEluc2lkZSBPdXQgTmV0d29ya3MsIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyoJVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLS8vKglpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotLy8qCXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCi0vLyoJKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLS8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLQotCi0vL0ltYWdlIHN0cnVjdHVyZSBkZWZpbml0aW9uCi0jaWYgIWRlZmluZWQoREVGSU5FRF9FREdFX0ZJUk1XQVJFX0lNQUdFX1JFQ09SRCkKLQkjZGVmaW5lIERFRklORURfRURHRV9GSVJNV0FSRV9JTUFHRV9SRUNPUkQKLQlzdHJ1Y3QgZWRnZV9maXJtd2FyZV9pbWFnZV9yZWNvcmQgewotCQlfX2xlMTYgRXh0QWRkcjsKLQkJX19sZTE2IEFkZHI7Ci0JCV9fbGUxNiBMZW47Ci0JCXVuc2lnbmVkIGNoYXIJRGF0YVswXTsKLQl9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKLQotCXN0cnVjdCBlZGdlX2Zpcm13YXJlX3ZlcnNpb25faW5mbyB7Ci0JCXVuc2lnbmVkIGNoYXIJTWFqb3JWZXJzaW9uOwotCQl1bnNpZ25lZCBjaGFyCU1pbm9yVmVyc2lvbjsKLQkJdW5zaWduZWQgc2hvcnQJQnVpbGROdW1iZXI7Ci0JfTsKLQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChJTUFHRV9BUlJBWV9OQU1FKQotCSNkZWZpbmUgSU1BR0VfQVJSQVlfTkFNRQlGaXJtd2FyZUltYWdlCi0JI2RlZmluZSBJTUFHRV9WRVJTSU9OX05BTUUJRmlybXdhcmVJbWFnZVZlcnNpb24KLSNlbmRpZgotCi1zdGF0aWMgdW5zaWduZWQgY2hhciBJTUFHRV9BUlJBWV9OQU1FW10gPSB7Ci0KLS8vIFNlZ21lbnQgIzEsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwMDAsIExlbmd0aCA2Ci0weGZmLDB4MDAsMHgwMCwweDAwLDB4MDYsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDgwLCAweDAyLCAweDQ0LCAweGIwLCAKLQotLy8gU2VnbWVudCAjMiwgU3RhcnQgQWRkcmVzcyAwMGZmMDAwYiwgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDBiLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4NDQsIDB4NzIsIAotCi0vLyBTZWdtZW50ICMzLCBTdGFydCBBZGRyZXNzIDAwZmYwMDEzLCBMZW5ndGggMwotMHhmZiwweDAwLDB4MTMsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHgxMywgCi0KLS8vIFNlZ21lbnQgIzQsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwMWIsIExlbmd0aCAzCi0weGZmLDB4MDAsMHgxYiwweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDFiLCAKLQotLy8gU2VnbWVudCAjNSwgU3RhcnQgQWRkcmVzcyAwMGZmMDAyMywgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDIzLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4MjMsIAotCi0vLyBTZWdtZW50ICM2LCBTdGFydCBBZGRyZXNzIDAwZmYwMDJiLCBMZW5ndGggMwotMHhmZiwweDAwLDB4MmIsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHgyYiwgCi0KLS8vIFNlZ21lbnQgIzcsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwMzMsIExlbmd0aCAzCi0weGZmLDB4MDAsMHgzMywweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDMzLCAKLQotLy8gU2VnbWVudCAjOCwgU3RhcnQgQWRkcmVzcyAwMGZmMDAzYiwgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDNiLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4M2IsIAotCi0vLyBTZWdtZW50ICM5LCBTdGFydCBBZGRyZXNzIDAwZmYwMDQzLCBMZW5ndGggMwotMHhmZiwweDAwLDB4NDMsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHg0MywgCi0KLS8vIFNlZ21lbnQgIzEwLCBTdGFydCBBZGRyZXNzIDAwZmYwMDRiLCBMZW5ndGggMwotMHhmZiwweDAwLDB4NGIsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHg2ZSwgMHhjNCwgCi0KLS8vIFNlZ21lbnQgIzExLCBTdGFydCBBZGRyZXNzIDAwZmYwMDUzLCBMZW5ndGggMwotMHhmZiwweDAwLDB4NTMsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHg3NSwgMHg4ZCwgCi0KLS8vIFNlZ21lbnQgIzEyLCBTdGFydCBBZGRyZXNzIDAwZmYwMDdiLCBMZW5ndGggMwotMHhmZiwweDAwLDB4N2IsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHg3YiwgCi0KLS8vIFNlZ21lbnQgIzEzLCBTdGFydCBBZGRyZXNzIDAwZmYwMDgwLCBMZW5ndGggNwotMHhmZiwweDAwLDB4ODAsMHgwMCwweDA3LDB4MDAsCi0gICAgMHg3ZSwgMHgxNCwgMHgwMCwgMHgwMCwgMHgwMiwgMHg0MCwgMHg1MSwgCi0KLS8vIFNlZ21lbnQgIzE0LCBTdGFydCBBZGRyZXNzIDAwZmYzMDAwLCBMZW5ndGggMjE3OAotMHhmZiwweDAwLDB4MDAsMHgzMCwweDgyLDB4MDgsCi0gICAgMHgxMiwgMHgzNywgMHgyOCwgMHgxMiwgMHgzMCwgMHgzZSwgMHgxMiwgMHgzMCwgMHg1NCwgMHgxMiwgMHgzMCwgMHhlNSwgMHgxMiwgMHgzMSwgMHg2OCwgMHgxMiwgCi0gICAgMHgzNSwgMHgyMCwgMHgxMiwgMHgzOCwgMHg1OCwgMHgxMiwgMHgzMSwgMHgxNSwgMHgxMiwgMHgzMSwgMHg0MCwgMHgxMiwgMHgzMCwgMHhhMCwgMHg4MCwgMHhlMCwgCi0gICAgMHhlNSwgMHgyMywgMHg2MCwgMHgxOSwgMHg3ZSwgMHgxNCwgMHgwMCwgMHgwMCwgMHgwOSwgMHhiMSwgMHgwMSwgMHhjZiwgMHhiNCwgMHgwMCwgMHgwMiwgMHg4MCwgCi0gICAgMHgwNSwgMHgxNCwgMHgxOSwgMHhiMSwgMHgwMSwgMHhjZiwgMHhhNSwgMHgwYiwgMHhiZSwgMHgzMSwgMHgyZiwgMHg3OCwgMHhlYiwgMHgyMiwgMHhjMiwgMHhhZiwgCi0gICAgMHg3ZSwgMHhiMywgMHgzZiwgMHhmMSwgMHhiNCwgMHgwMSwgMHgwYSwgMHhjMCwgMHhmMSwgMHg3NSwgMHhmMSwgMHgwMiwgMHgxMiwgMHg3MCwgMHhlZiwgMHhkMCwgCi0gICAgMHhmMSwgMHhkMiwgMHhhZiwgMHgyMiwgMHhjMiwgMHhhZiwgMHhlNSwgMHgyMiwgMHg2MCwgMHg0MywgMHg3ZSwgMHgwNywgMHgwMSwgMHhlMSwgMHhiZSwgMHgwNCwgCi0gICAgMHgwMywgMHg4MCwgMHgzOCwgMHgzOSwgMHg3ZSwgMHgwNCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHgyMCwgMHgwMCwgMHgxMywgMHg1MCwgMHgyMSwgMHgwOSwgMHhhMCwgCi0gICAgMHgwMCwgMHgwNCwgMHg0ZSwgMHhhMCwgMHgwNSwgMHgxOSwgMHhhMCwgMHgwMCwgMHgwNCwgMHgwYSwgMHgzMiwgMHgwOSwgMHg1MywgMHg2NywgMHg4ZSwgMHg1ZSwgCi0gICAgMHg1MSwgMHgyNywgMHg2OCwgMHgwYiwgMHgwOSwgMHhhMCwgMHgwMCwgMHgxMCwgMHg0ZSwgMHhhMCwgMHgwMSwgMHgxOSwgMHhhMCwgMHgwMCwgMHgxMCwgMHgyZSwgCi0gICAgMHgwNCwgMHgwMSwgMHgwMCwgMHhhNSwgMHgwYSwgMHhiZSwgMHgyMSwgMHgyZiwgMHg3OCwgMHhkMSwgMHg3NSwgMHgyMiwgMHgwMCwgMHhkMiwgMHhhZiwgMHgyMiwgCi0gICAgMHhjMiwgMHhhZiwgMHg3ZSwgMHgyMCwgMHgwMCwgMHg3ZSwgMHgzMCwgMHgwMSwgMHg3YywgMHhiMiwgMHgyMywgMHgwYSwgMHgyYiwgMHg0OSwgMHgzMiwgMHgwMSwgCi0gICAgMHg4ZiwgMHhiZSwgMHgzNCwgMHgwMCwgMHgwMCwgMHg2OCwgMHgxMiwgMHg3ZSwgMHhiMSwgMHgyMSwgMHhhNSwgMHg0YiwgMHg3YSwgMHhiMSwgMHgyMSwgMHhjYSwgCi0gICAgMHgxOSwgMHg0OSwgMHgyMiwgMHgzMCwgMHhkNSwgMHg5OSwgMHgyNCwgMHhkYSwgMHgxOSwgMHgzZSwgMHgzMCwgMHhhNSwgMHgwYSwgMHhiZSwgMHgyMSwgMHgyZiwgCi0gICAgMHg3OCwgMHhkNiwgMHhkMiwgMHhhZiwgMHgyMiwgMHg0NiwgMHgwZiwgMHg0OSwgMHg2NywgMHg0YywgMHhiZiwgMHg1MCwgMHgxNywgMHg1MywgMHg2ZiwgMHg1NiwgCi0gICAgMHhjNywgMHg1YSwgMHgxZiwgMHg1ZCwgMHg3NywgMHhjMiwgMHhhZiwgMHhlNSwgMHgzMiwgMHg2MCwgMHgxNCwgMHg3ZSwgMHgyMCwgMHgwMCwgMHgxMywgMHg1MCwgCi0gICAgMHgwNywgMHhjYSwgMHhiOCwgMHgxMiwgMHgzMSwgMHgwMiwgMHhkYSwgMHhiOCwgMHhhNSwgMHgwYSwgMHhiZSwgMHgyMSwgMHgyZiwgMHg3OCwgMHhlZiwgMHhkMiwgCi0gICAgMHhhZiwgMHgyMiwgMHhjYSwgMHgyOCwgMHgxMiwgMHg2NywgMHhhYiwgMHhkYSwgMHgyOCwgMHg0MCwgMHgwOSwgMHgwYSwgMHgyMiwgMHgwOSwgMHhiMiwgMHg2NywgCi0gICAgMHg4ZSwgMHhmNCwgMHg1MiwgMHgzMiwgMHgyMiwgMHhjMiwgMHhhZiwgMHhlNSwgMHgzNCwgMHg2MCwgMHgxNCwgMHg3ZSwgMHgyMCwgMHgwMCwgMHgxMywgMHg1MCwgCi0gICAgMHgwNywgMHhjYSwgMHhiOCwgMHgxMiwgMHgzMSwgMHgzMiwgMHhkYSwgMHhiOCwgMHhhNSwgMHgwYSwgMHhiZSwgMHgyMSwgMHgyZiwgMHg3OCwgMHhlZiwgMHhkMiwgCi0gICAgMHhhZiwgMHgyMiwgMHhjYSwgMHgyOCwgMHgwYSwgMHgyMiwgMHgwOSwgMHg0MiwgMHgwMCwgMHgzZSwgMHgxMiwgMHg2OSwgMHhjMiwgMHhkYSwgMHgyOCwgMHgyMiwgCi0gICAgMHhjMiwgMHhhZiwgMHhlNSwgMHgzNSwgMHg2MCwgMHgxNCwgMHg3ZSwgMHgyMCwgMHgwMCwgMHgxMywgMHg1MCwgMHgwNywgMHhjYSwgMHhiOCwgMHgxMiwgMHgzMSwgCi0gICAgMHg1ZCwgMHhkYSwgMHhiOCwgMHhhNSwgMHgwYSwgMHhiZSwgMHgyMSwgMHgyZiwgMHg3OCwgMHhlZiwgMHhkMiwgMHhhZiwgMHgyMiwgMHhjYSwgMHgyOCwgMHg3ZSwgCi0gICAgMHg0MCwgMHgwMCwgMHgxMiwgMHg2YywgMHg1YiwgMHhkYSwgMHgyOCwgMHgyMiwgMHhjMiwgMHhhZiwgMHhlNSwgMHgyMywgMHg2MCwgMHgxNCwgMHg3ZSwgMHgyMCwgCi0gICAgMHgwMCwgMHgxMywgMHg1MCwgMHgwNywgMHhjYSwgMHhiOCwgMHgxMiwgMHgzMSwgMHg4NSwgMHhkYSwgMHhiOCwgMHhhNSwgMHgwYSwgMHhiZSwgMHgyMSwgMHgyZiwgCi0gICAgMHg3OCwgMHhlZiwgMHhkMiwgMHhhZiwgMHgyMiwgMHg3YywgMHhiMiwgMHgyMywgMHgwYSwgMHgyYiwgMHg0OSwgMHgyMiwgMHgzMSwgMHg5MCwgMHg4OSwgMHgyNCwgCi0gICAgMHgzMSwgMHhhMCwgMHgzMiwgMHgxMCwgMHgzMiwgMHg4MCwgMHgzMiwgMHhmMCwgMHgzMywgMHg2MCwgMHgzMywgMHhkMCwgMHgzNCwgMHg0MCwgMHgzNCwgMHhiMCwgCi0gICAgMHg3ZSwgMHgyNywgMHgwMSwgMHg4ZiwgMHhiZSwgMHgyNCwgMHgwMCwgMHgwMCwgMHg3OCwgMHgyNCwgMHg3ZSwgMHgyNCwgMHg4MCwgMHgwMCwgMHgwOSwgMHhiMiwgCi0gICAgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxZSwgMHhkYSwgMHhiOCwgMHg2OCwgMHgwYiwgMHhjYSwgMHgxOSwgMHg3ZCwgMHgxMiwgMHgxMiwgCi0gICAgMHg0OSwgMHgzMCwgMHg3ZCwgMHgyMSwgMHhkYSwgMHgxOSwgMHgzMCwgMHhlNiwgMHgxOCwgMHg3ZSwgMHg2MCwgMHgwMCwgMHg4MCwgMHgxZSwgMHhiZSwgMHgyNywgCi0gICAgMHgwMSwgMHg5ZiwgMHg2OCwgMHgwZCwgMHg3YSwgMHgyNywgMHgwMSwgMHg5ZiwgMHg3ZSwgMHg2MCwgMHg5YywgMHg3YSwgMHg2MywgMHgwMSwgMHhjZiwgMHg4MCwgCi0gICAgMHgyZSwgMHg3ZSwgMHg2MywgMHgwMSwgMHhjZiwgMHhhNSwgMHhiZSwgMHgwMCwgMHgyNiwgMHg3ZSwgMHg2MCwgMHgwMSwgMHg3ZSwgMHhiMCwgMHgwMCwgMHg3ZSwgCi0gICAgMHhhMCwgMHhjOCwgMHgxMiwgMHg2MiwgMHhiNiwgMHg0MCwgMHgxOCwgMHg3NSwgMHgzMSwgMHhiMywgMHgxMiwgMHg3YywgMHgxNSwgMHhjMiwgMHgxOCwgMHg2YywgCi0gICAgMHgwMCwgMHg3YSwgMHgwMywgMHgwMSwgMHhjZiwgMHhjMCwgMHhmMSwgMHg3NSwgMHhmMSwgMHgwMSwgMHgxMiwgMHg2ZiwgMHhkOSwgMHhkMCwgMHhmMSwgMHgyMiwgCi0gICAgMHg3ZSwgMHgyNywgMHgwMSwgMHg5MSwgMHhiZSwgMHgyNCwgMHgwMCwgMHgwMCwgMHg3OCwgMHgyNCwgMHg3ZSwgMHgyNCwgMHg4MSwgMHgwMCwgMHgwOSwgMHhiMiwgCi0gICAgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxZSwgMHhkYSwgMHhiOCwgMHg2OCwgMHgwYiwgMHhjYSwgMHgxOSwgMHg3ZCwgMHgxMiwgMHgxMiwgCi0gICAgMHg0YywgMHg4OCwgMHg3ZCwgMHgyMSwgMHhkYSwgMHgxOSwgMHgzMCwgMHhlNiwgMHgxOCwgMHg3ZSwgMHg2MCwgMHgwMCwgMHg4MCwgMHgxZSwgMHhiZSwgMHgyNywgCi0gICAgMHgwMSwgMHhhMSwgMHg2OCwgMHgwZCwgMHg3YSwgMHgyNywgMHgwMSwgMHhhMSwgMHg3ZSwgMHg2MCwgMHg5YywgMHg3YSwgMHg2MywgMHgwMSwgMHhkMCwgMHg4MCwgCi0gICAgMHgyZSwgMHg3ZSwgMHg2MywgMHgwMSwgMHhkMCwgMHhhNSwgMHhiZSwgMHgwMCwgMHgyNiwgMHg3ZSwgMHg2MCwgMHgwMSwgMHg3ZSwgMHhiMCwgMHgwMCwgMHg3ZSwgCi0gICAgMHhhMCwgMHhjOCwgMHgxMiwgMHg2MiwgMHhiNiwgMHg0MCwgMHgxOCwgMHg3NSwgMHgzMSwgMHhiMywgMHgxMiwgMHg3YywgMHgxNSwgMHhjMiwgMHgxOSwgMHg2YywgCi0gICAgMHgwMCwgMHg3YSwgMHgwMywgMHgwMSwgMHhkMCwgMHhjMCwgMHhmMSwgMHg3NSwgMHhmMSwgMHgwMSwgMHgxMiwgMHg2ZiwgMHhkOSwgMHhkMCwgMHhmMSwgMHgyMiwgCi0gICAgMHg3ZSwgMHgyNywgMHgwMSwgMHg5MywgMHhiZSwgMHgyNCwgMHgwMCwgMHgwMCwgMHg3OCwgMHgyNCwgMHg3ZSwgMHgyNCwgMHg4MiwgMHgwMCwgMHgwOSwgMHhiMiwgCi0gICAgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxZSwgMHhkYSwgMHhiOCwgMHg2OCwgMHgwYiwgMHhjYSwgMHgxOSwgMHg3ZCwgMHgxMiwgMHgxMiwgCi0gICAgMHg0ZiwgMHhlMCwgMHg3ZCwgMHgyMSwgMHhkYSwgMHgxOSwgMHgzMCwgMHhlNiwgMHgxOCwgMHg3ZSwgMHg2MCwgMHgwMCwgMHg4MCwgMHgxZSwgMHhiZSwgMHgyNywgCi0gICAgMHgwMSwgMHhhMywgMHg2OCwgMHgwZCwgMHg3YSwgMHgyNywgMHgwMSwgMHhhMywgMHg3ZSwgMHg2MCwgMHg5YywgMHg3YSwgMHg2MywgMHgwMSwgMHhkMSwgMHg4MCwgCi0gICAgMHgyZSwgMHg3ZSwgMHg2MywgMHgwMSwgMHhkMSwgMHhhNSwgMHhiZSwgMHgwMCwgMHgyNiwgMHg3ZSwgMHg2MCwgMHgwMSwgMHg3ZSwgMHhiMCwgMHgwMCwgMHg3ZSwgCi0gICAgMHhhMCwgMHhjOCwgMHgxMiwgMHg2MiwgMHhiNiwgMHg0MCwgMHgxOCwgMHg3NSwgMHgzMSwgMHhiMywgMHgxMiwgMHg3YywgMHgxNSwgMHhjMiwgMHgxYSwgMHg2YywgCi0gICAgMHgwMCwgMHg3YSwgMHgwMywgMHgwMSwgMHhkMSwgMHhjMCwgMHhmMSwgMHg3NSwgMHhmMSwgMHgwMSwgMHgxMiwgMHg2ZiwgMHhkOSwgMHhkMCwgMHhmMSwgMHgyMiwgCi0gICAgMHg3ZSwgMHgyNywgMHgwMSwgMHg5NSwgMHhiZSwgMHgyNCwgMHgwMCwgMHgwMCwgMHg3OCwgMHgyNCwgMHg3ZSwgMHgyNCwgMHg4MywgMHgwMCwgMHgwOSwgMHhiMiwgCi0gICAgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxZSwgMHhkYSwgMHhiOCwgMHg2OCwgMHgwYiwgMHhjYSwgMHgxOSwgMHg3ZCwgMHgxMiwgMHgxMiwgCi0gICAgMHg1MywgMHgzOCwgMHg3ZCwgMHgyMSwgMHhkYSwgMHgxOSwgMHgzMCwgMHhlNiwgMHgxOCwgMHg3ZSwgMHg2MCwgMHgwMCwgMHg4MCwgMHgxZSwgMHhiZSwgMHgyNywgCi0gICAgMHgwMSwgMHhhNSwgMHg2OCwgMHgwZCwgMHg3YSwgMHgyNywgMHgwMSwgMHhhNSwgMHg3ZSwgMHg2MCwgMHg5YywgMHg3YSwgMHg2MywgMHgwMSwgMHhkMiwgMHg4MCwgCi0gICAgMHgyZSwgMHg3ZSwgMHg2MywgMHgwMSwgMHhkMiwgMHhhNSwgMHhiZSwgMHgwMCwgMHgyNiwgMHg3ZSwgMHg2MCwgMHgwMSwgMHg3ZSwgMHhiMCwgMHgwMCwgMHg3ZSwgCi0gICAgMHhhMCwgMHhjOCwgMHgxMiwgMHg2MiwgMHhiNiwgMHg0MCwgMHgxOCwgMHg3NSwgMHgzMSwgMHhiMywgMHgxMiwgMHg3YywgMHgxNSwgMHhjMiwgMHgxYiwgMHg2YywgCi0gICAgMHgwMCwgMHg3YSwgMHgwMywgMHgwMSwgMHhkMiwgMHhjMCwgMHhmMSwgMHg3NSwgMHhmMSwgMHgwMSwgMHgxMiwgMHg2ZiwgMHhkOSwgMHhkMCwgMHhmMSwgMHgyMiwgCi0gICAgMHg3ZSwgMHgyNywgMHgwMSwgMHg5NywgMHhiZSwgMHgyNCwgMHgwMCwgMHgwMCwgMHg3OCwgMHgyNCwgMHg3ZSwgMHgyNCwgMHg4NCwgMHgwMCwgMHgwOSwgMHhiMiwgCi0gICAgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxZSwgMHhkYSwgMHhiOCwgMHg2OCwgMHgwYiwgMHhjYSwgMHgxOSwgMHg3ZCwgMHgxMiwgMHgxMiwgCi0gICAgMHg1NiwgMHg5MCwgMHg3ZCwgMHgyMSwgMHhkYSwgMHgxOSwgMHgzMCwgMHhlNiwgMHgxOCwgMHg3ZSwgMHg2MCwgMHgwMCwgMHg4MCwgMHgxZSwgMHhiZSwgMHgyNywgCi0gICAgMHgwMSwgMHhhNywgMHg2OCwgMHgwZCwgMHg3YSwgMHgyNywgMHgwMSwgMHhhNywgMHg3ZSwgMHg2MCwgMHg5YywgMHg3YSwgMHg2MywgMHgwMSwgMHhkMywgMHg4MCwgCi0gICAgMHgyZSwgMHg3ZSwgMHg2MywgMHgwMSwgMHhkMywgMHhhNSwgMHhiZSwgMHgwMCwgMHgyNiwgMHg3ZSwgMHg2MCwgMHgwMSwgMHg3ZSwgMHhiMCwgMHgwMCwgMHg3ZSwgCi0gICAgMHhhMCwgMHhjOCwgMHgxMiwgMHg2MiwgMHhiNiwgMHg0MCwgMHgxOCwgMHg3NSwgMHgzMSwgMHhiMywgMHgxMiwgMHg3YywgMHgxNSwgMHhjMiwgMHgxYywgMHg2YywgCi0gICAgMHgwMCwgMHg3YSwgMHgwMywgMHgwMSwgMHhkMywgMHhjMCwgMHhmMSwgMHg3NSwgMHhmMSwgMHgwMSwgMHgxMiwgMHg2ZiwgMHhkOSwgMHhkMCwgMHhmMSwgMHgyMiwgCi0gICAgMHg3ZSwgMHgyNywgMHgwMSwgMHg5OSwgMHhiZSwgMHgyNCwgMHgwMCwgMHgwMCwgMHg3OCwgMHgyNCwgMHg3ZSwgMHgyNCwgMHg4NSwgMHgwMCwgMHgwOSwgMHhiMiwgCi0gICAgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxZSwgMHhkYSwgMHhiOCwgMHg2OCwgMHgwYiwgMHhjYSwgMHgxOSwgMHg3ZCwgMHgxMiwgMHgxMiwgCi0gICAgMHg1OSwgMHhlOCwgMHg3ZCwgMHgyMSwgMHhkYSwgMHgxOSwgMHgzMCwgMHhlNiwgMHgxOCwgMHg3ZSwgMHg2MCwgMHgwMCwgMHg4MCwgMHgxZSwgMHhiZSwgMHgyNywgCi0gICAgMHgwMSwgMHhhOSwgMHg2OCwgMHgwZCwgMHg3YSwgMHgyNywgMHgwMSwgMHhhOSwgMHg3ZSwgMHg2MCwgMHg5YywgMHg3YSwgMHg2MywgMHgwMSwgMHhkNCwgMHg4MCwgCi0gICAgMHgyZSwgMHg3ZSwgMHg2MywgMHgwMSwgMHhkNCwgMHhhNSwgMHhiZSwgMHgwMCwgMHgyNiwgMHg3ZSwgMHg2MCwgMHgwMSwgMHg3ZSwgMHhiMCwgMHgwMCwgMHg3ZSwgCi0gICAgMHhhMCwgMHhjOCwgMHgxMiwgMHg2MiwgMHhiNiwgMHg0MCwgMHgxOCwgMHg3NSwgMHgzMSwgMHhiMywgMHgxMiwgMHg3YywgMHgxNSwgMHhjMiwgMHgxZCwgMHg2YywgCi0gICAgMHgwMCwgMHg3YSwgMHgwMywgMHgwMSwgMHhkNCwgMHhjMCwgMHhmMSwgMHg3NSwgMHhmMSwgMHgwMSwgMHgxMiwgMHg2ZiwgMHhkOSwgMHhkMCwgMHhmMSwgMHgyMiwgCi0gICAgMHg3ZSwgMHgyNywgMHgwMSwgMHg5YiwgMHhiZSwgMHgyNCwgMHgwMCwgMHgwMCwgMHg3OCwgMHgyNCwgMHg3ZSwgMHgyNCwgMHg4NiwgMHgwMCwgMHgwOSwgMHhiMiwgCi0gICAgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxZSwgMHhkYSwgMHhiOCwgMHg2OCwgMHgwYiwgMHhjYSwgMHgxOSwgMHg3ZCwgMHgxMiwgMHgxMiwgCi0gICAgMHg1ZCwgMHg0MCwgMHg3ZCwgMHgyMSwgMHhkYSwgMHgxOSwgMHgzMCwgMHhlNiwgMHgxOCwgMHg3ZSwgMHg2MCwgMHgwMCwgMHg4MCwgMHgxZSwgMHhiZSwgMHgyNywgCi0gICAgMHgwMSwgMHhhYiwgMHg2OCwgMHgwZCwgMHg3YSwgMHgyNywgMHgwMSwgMHhhYiwgMHg3ZSwgMHg2MCwgMHg5YywgMHg3YSwgMHg2MywgMHgwMSwgMHhkNSwgMHg4MCwgCi0gICAgMHgyZSwgMHg3ZSwgMHg2MywgMHgwMSwgMHhkNSwgMHhhNSwgMHhiZSwgMHgwMCwgMHgyNiwgMHg3ZSwgMHg2MCwgMHgwMSwgMHg3ZSwgMHhiMCwgMHgwMCwgMHg3ZSwgCi0gICAgMHhhMCwgMHhjOCwgMHgxMiwgMHg2MiwgMHhiNiwgMHg0MCwgMHgxOCwgMHg3NSwgMHgzMSwgMHhiMywgMHgxMiwgMHg3YywgMHgxNSwgMHhjMiwgMHgxZSwgMHg2YywgCi0gICAgMHgwMCwgMHg3YSwgMHgwMywgMHgwMSwgMHhkNSwgMHhjMCwgMHhmMSwgMHg3NSwgMHhmMSwgMHgwMSwgMHgxMiwgMHg2ZiwgMHhkOSwgMHhkMCwgMHhmMSwgMHgyMiwgCi0gICAgMHg3ZSwgMHgyNywgMHgwMSwgMHg5ZCwgMHhiZSwgMHgyNCwgMHgwMCwgMHgwMCwgMHg3OCwgMHgyNCwgMHg3ZSwgMHgyNCwgMHg4NywgMHgwMCwgMHgwOSwgMHhiMiwgCi0gICAgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxZSwgMHhkYSwgMHhiOCwgMHg2OCwgMHgwYiwgMHhjYSwgMHgxOSwgMHg3ZCwgMHgxMiwgMHgxMiwgCi0gICAgMHg2MCwgMHg5OCwgMHg3ZCwgMHgyMSwgMHhkYSwgMHgxOSwgMHgzMCwgMHhlNiwgMHgxOCwgMHg3ZSwgMHg2MCwgMHgwMCwgMHg4MCwgMHgxZSwgMHhiZSwgMHgyNywgCi0gICAgMHgwMSwgMHhhZCwgMHg2OCwgMHgwZCwgMHg3YSwgMHgyNywgMHgwMSwgMHhhZCwgMHg3ZSwgMHg2MCwgMHg5YywgMHg3YSwgMHg2MywgMHgwMSwgMHhkNiwgMHg4MCwgCi0gICAgMHgyZSwgMHg3ZSwgMHg2MywgMHgwMSwgMHhkNiwgMHhhNSwgMHhiZSwgMHgwMCwgMHgyNiwgMHg3ZSwgMHg2MCwgMHgwMSwgMHg3ZSwgMHhiMCwgMHgwMCwgMHg3ZSwgCi0gICAgMHhhMCwgMHhjOCwgMHgxMiwgMHg2MiwgMHhiNiwgMHg0MCwgMHgxOCwgMHg3NSwgMHgzMSwgMHhiMywgMHgxMiwgMHg3YywgMHgxNSwgMHhjMiwgMHgxZiwgMHg2YywgCi0gICAgMHgwMCwgMHg3YSwgMHgwMywgMHgwMSwgMHhkNiwgMHhjMCwgMHhmMSwgMHg3NSwgMHhmMSwgMHgwMSwgMHgxMiwgMHg2ZiwgMHhkOSwgMHhkMCwgMHhmMSwgMHgyMiwgCi0gICAgMHhjMiwgMHhhZiwgMHhlNSwgMHgyNCwgMHg2MCwgMHgxNCwgMHg3ZSwgMHgyMCwgMHgwMCwgMHgxMywgMHg1MCwgMHgwNywgMHhjYSwgMHhiOCwgMHgxMiwgMHgzNSwgCi0gICAgMHgzZCwgMHhkYSwgMHhiOCwgMHhhNSwgMHgwYSwgMHhiZSwgMHgyMSwgMHgyZiwgMHg3OCwgMHhlZiwgMHhkMiwgMHhhZiwgMHgyMiwgMHg3YywgMHhiMiwgMHgyMywgCi0gICAgMHgwYSwgMHgyYiwgMHg0OSwgMHgyMiwgMHgzNSwgMHg0OCwgMHg4OSwgMHgyNCwgMHgzNSwgMHg1OCwgMHgzNSwgMHg5MiwgMHgzNSwgMHhjYywgMHgzNiwgMHgwNiwgCi0gICAgMHgzNiwgMHg0MCwgMHgzNiwgMHg3YSwgMHgzNiwgMHhiNCwgMHgzNiwgMHhlZSwgMHg3ZSwgMHgyNCwgMHg4MCwgMHgwMCwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxNCwgCi0gICAgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxZSwgMHhkYSwgMHhiOCwgMHg2OCwgMHgwYiwgMHhjYSwgMHgxOSwgMHg3ZCwgMHgxMiwgMHgxMiwgMHg0OSwgMHgzMCwgCi0gICAgMHg3ZCwgMHgyMSwgMHhkYSwgMHgxOSwgMHg1ZSwgMHhiMCwgMHgwMSwgMHg3ZSwgMHhhMCwgMHg5MCwgMHgxMiwgMHg2MiwgMHg5MywgMHg0MCwgMHgxMiwgMHg3NSwgCi0gICAgMHgzMSwgMHhiOCwgMHgxMiwgMHg3YywgMHgxNSwgMHhjMiwgMHgyMCwgMHhjMCwgMHhmMSwgMHg3NSwgMHhmMSwgMHgwMSwgMHgxMiwgMHg2ZiwgMHhkOSwgMHhkMCwgCi0gICAgMHhmMSwgMHgyMiwgMHg3ZSwgMHgyNCwgMHg4MSwgMHgwMCwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxZSwgMHhkYSwgCi0gICAgMHhiOCwgMHg2OCwgMHgwYiwgMHhjYSwgMHgxOSwgMHg3ZCwgMHgxMiwgMHgxMiwgMHg0YywgMHg4OCwgMHg3ZCwgMHgyMSwgMHhkYSwgMHgxOSwgMHg1ZSwgMHhiMCwgCi0gICAgMHgwMSwgMHg3ZSwgMHhhMCwgMHg5MCwgMHgxMiwgMHg2MiwgMHg5MywgMHg0MCwgMHgxMiwgMHg3NSwgMHgzMSwgMHhiOCwgMHgxMiwgMHg3YywgMHgxNSwgMHhjMiwgCi0gICAgMHgyMSwgMHhjMCwgMHhmMSwgMHg3NSwgMHhmMSwgMHgwMSwgMHgxMiwgMHg2ZiwgMHhkOSwgMHhkMCwgMHhmMSwgMHgyMiwgMHg3ZSwgMHgyNCwgMHg4MiwgMHgwMCwgCi0gICAgMHgwOSwgMHhiMiwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxZSwgMHhkYSwgMHhiOCwgMHg2OCwgMHgwYiwgMHhjYSwgMHgxOSwgMHg3ZCwgCi0gICAgMHgxMiwgMHgxMiwgMHg0ZiwgMHhlMCwgMHg3ZCwgMHgyMSwgMHhkYSwgMHgxOSwgMHg1ZSwgMHhiMCwgMHgwMSwgMHg3ZSwgMHhhMCwgMHg5MCwgMHgxMiwgMHg2MiwgCi0gICAgMHg5MywgMHg0MCwgMHgxMiwgMHg3NSwgMHgzMSwgMHhiOCwgMHgxMiwgMHg3YywgMHgxNSwgMHhjMiwgMHgyMiwgMHhjMCwgMHhmMSwgMHg3NSwgMHhmMSwgMHgwMSwgCi0gICAgMHgxMiwgMHg2ZiwgMHhkOSwgMHhkMCwgMHhmMSwgMHgyMiwgMHg3ZSwgMHgyNCwgMHg4MywgMHgwMCwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgCi0gICAgMHg1ZSwgMHhiMCwgMHgxZSwgMHhkYSwgMHhiOCwgMHg2OCwgMHgwYiwgMHhjYSwgMHgxOSwgMHg3ZCwgMHgxMiwgMHgxMiwgMHg1MywgMHgzOCwgMHg3ZCwgMHgyMSwgCi0gICAgMHhkYSwgMHgxOSwgMHg1ZSwgMHhiMCwgMHgwMSwgMHg3ZSwgMHhhMCwgMHg5MCwgMHgxMiwgMHg2MiwgMHg5MywgMHg0MCwgMHgxMiwgMHg3NSwgMHgzMSwgMHhiOCwgCi0gICAgMHgxMiwgMHg3YywgMHgxNSwgMHhjMiwgMHgyMywgMHhjMCwgMHhmMSwgMHg3NSwgMHhmMSwgMHgwMSwgMHgxMiwgMHg2ZiwgMHhkOSwgMHhkMCwgMHhmMSwgMHgyMiwgCi0gICAgMHg3ZSwgMHgyNCwgMHg4NCwgMHgwMCwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxZSwgMHhkYSwgMHhiOCwgMHg2OCwgCi0gICAgMHgwYiwgMHhjYSwgMHgxOSwgMHg3ZCwgMHgxMiwgMHgxMiwgMHg1NiwgMHg5MCwgMHg3ZCwgMHgyMSwgMHhkYSwgMHgxOSwgMHg1ZSwgMHhiMCwgMHgwMSwgMHg3ZSwgCi0gICAgMHhhMCwgMHg5MCwgMHgxMiwgMHg2MiwgMHg5MywgMHg0MCwgMHgxMiwgMHg3NSwgMHgzMSwgMHhiOCwgMHgxMiwgMHg3YywgMHgxNSwgMHhjMiwgMHgyNCwgMHhjMCwgCi0gICAgMHhmMSwgMHg3NSwgMHhmMSwgMHgwMSwgMHgxMiwgMHg2ZiwgMHhkOSwgMHhkMCwgMHhmMSwgMHgyMiwgMHg3ZSwgMHgyNCwgMHg4NSwgMHgwMCwgMHgwOSwgMHhiMiwgCi0gICAgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxZSwgMHhkYSwgMHhiOCwgMHg2OCwgMHgwYiwgMHhjYSwgMHgxOSwgMHg3ZCwgMHgxMiwgMHgxMiwgCi0gICAgMHg1OSwgMHhlOCwgMHg3ZCwgMHgyMSwgMHhkYSwgMHgxOSwgMHg1ZSwgMHhiMCwgMHgwMSwgMHg3ZSwgMHhhMCwgMHg5MCwgMHgxMiwgMHg2MiwgMHg5MywgMHg0MCwgCi0gICAgMHgxMiwgMHg3NSwgMHgzMSwgMHhiOCwgMHgxMiwgMHg3YywgMHgxNSwgMHhjMiwgMHgyNSwgMHhjMCwgMHhmMSwgMHg3NSwgMHhmMSwgMHgwMSwgMHgxMiwgMHg2ZiwgCi0gICAgMHhkOSwgMHhkMCwgMHhmMSwgMHgyMiwgMHg3ZSwgMHgyNCwgMHg4NiwgMHgwMCwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgCi0gICAgMHgxZSwgMHhkYSwgMHhiOCwgMHg2OCwgMHgwYiwgMHhjYSwgMHgxOSwgMHg3ZCwgMHgxMiwgMHgxMiwgMHg1ZCwgMHg0MCwgMHg3ZCwgMHgyMSwgMHhkYSwgMHgxOSwgCi0gICAgMHg1ZSwgMHhiMCwgMHgwMSwgMHg3ZSwgMHhhMCwgMHg5MCwgMHgxMiwgMHg2MiwgMHg5MywgMHg0MCwgMHgxMiwgMHg3NSwgMHgzMSwgMHhiOCwgMHgxMiwgMHg3YywgCi0gICAgMHgxNSwgMHhjMiwgMHgyNiwgMHhjMCwgMHhmMSwgMHg3NSwgMHhmMSwgMHgwMSwgMHgxMiwgMHg2ZiwgMHhkOSwgMHhkMCwgMHhmMSwgMHgyMiwgMHg3ZSwgMHgyNCwgCi0gICAgMHg4NywgMHgwMCwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxZSwgMHhkYSwgMHhiOCwgMHg2OCwgMHgwYiwgMHhjYSwgCi0gICAgMHgxOSwgMHg3ZCwgMHgxMiwgMHgxMiwgMHg2MCwgMHg5OCwgMHg3ZCwgMHgyMSwgMHhkYSwgMHgxOSwgMHg1ZSwgMHhiMCwgMHgwMSwgMHg3ZSwgMHhhMCwgMHg5MCwgCi0gICAgMHgxMiwgMHg2MiwgMHg5MywgMHg0MCwgMHgxMiwgMHg3NSwgMHgzMSwgMHhiOCwgMHgxMiwgMHg3YywgMHgxNSwgMHhjMiwgMHgyNywgMHhjMCwgMHhmMSwgMHg3NSwgCi0gICAgMHhmMSwgMHgwMSwgMHgxMiwgMHg2ZiwgMHhkOSwgMHhkMCwgMHhmMSwgMHgyMiwgMHhjMiwgMHhhZiwgMHhlNSwgMHgzMywgMHg2MCwgMHgxNCwgMHg3ZSwgMHgyMCwgCi0gICAgMHgwMCwgMHgxMywgMHg1MCwgMHgwNywgMHhjYSwgMHhiOCwgMHgxMiwgMHgzNywgMHg0NSwgMHhkYSwgMHhiOCwgMHhhNSwgMHgwYSwgMHhiZSwgMHgyMSwgMHgyZiwgCi0gICAgMHg3OCwgMHhlZiwgMHhkMiwgMHhhZiwgMHgyMiwgMHg3YywgMHhiMiwgMHgyMywgMHgwYSwgMHgyYiwgMHg0OSwgMHgyMiwgMHgzNywgMHg1MCwgMHg4OSwgMHgyNCwgCi0gICAgMHgzNywgMHg2MCwgMHgzNywgMHg3ZiwgMHgzNywgMHg5ZSwgMHgzNywgMHhiZCwgMHgzNywgMHhkYywgMHgzNywgMHhmYiwgMHgzOCwgMHgxYSwgMHgzOCwgMHgzOSwgCi0gICAgMHg3ZSwgMHgyNCwgMHg4MCwgMHgwMCwgMHhjYSwgMHgxOSwgMHg3ZCwgMHgxMiwgMHgxMiwgMHg0OCwgMHgxYiwgMHhkYSwgMHgxOSwgMHgxMCwgMHgwNCwgMHgwMiwgCi0gICAgMHg4MCwgMHgwYywgMHhkMiwgMHgwMSwgMHhjMCwgMHhmMSwgMHg3NSwgMHhmMSwgMHgwMSwgMHgxMiwgMHg2ZiwgMHhkOSwgMHhkMCwgMHhmMSwgMHgyMiwgMHg3ZSwgCi0gICAgMHgyNCwgMHg4MSwgMHgwMCwgMHhjYSwgMHgxOSwgMHg3ZCwgMHgxMiwgMHgxMiwgMHg0YiwgMHg3MywgMHhkYSwgMHgxOSwgMHgxMCwgMHgwNCwgMHgwMiwgMHg4MCwgCi0gICAgMHgwYywgMHhkMiwgMHgwMSwgMHhjMCwgMHhmMSwgMHg3NSwgMHhmMSwgMHgwMSwgMHgxMiwgMHg2ZiwgMHhkOSwgMHhkMCwgMHhmMSwgMHgyMiwgMHg3ZSwgMHgyNCwgCi0gICAgMHg4MiwgMHgwMCwgMHhjYSwgMHgxOSwgMHg3ZCwgMHgxMiwgMHgxMiwgMHg0ZSwgMHhjYiwgMHhkYSwgMHgxOSwgMHgxMCwgMHgwNCwgMHgwMiwgMHg4MCwgMHgwYywgCi0gICAgMHhkMiwgMHgwMSwgMHhjMCwgMHhmMSwgMHg3NSwgMHhmMSwgMHgwMSwgMHgxMiwgMHg2ZiwgMHhkOSwgMHhkMCwgMHhmMSwgMHgyMiwgMHg3ZSwgMHgyNCwgMHg4MywgCi0gICAgMHgwMCwgMHhjYSwgMHgxOSwgMHg3ZCwgMHgxMiwgMHgxMiwgMHg1MiwgMHgyMywgMHhkYSwgMHgxOSwgMHgxMCwgMHgwNCwgMHgwMiwgMHg4MCwgMHgwYywgMHhkMiwgCi0gICAgMHgwMSwgMHhjMCwgMHhmMSwgMHg3NSwgMHhmMSwgMHgwMSwgMHgxMiwgMHg2ZiwgMHhkOSwgMHhkMCwgMHhmMSwgMHgyMiwgMHg3ZSwgMHgyNCwgMHg4NCwgMHgwMCwgCi0gICAgMHhjYSwgMHgxOSwgMHg3ZCwgMHgxMiwgMHgxMiwgMHg1NSwgMHg3YiwgMHhkYSwgMHgxOSwgMHgxMCwgMHgwNCwgMHgwMiwgMHg4MCwgMHgwYywgMHhkMiwgMHgwMSwgCi0gICAgMHhjMCwgMHhmMSwgMHg3NSwgMHhmMSwgMHgwMSwgMHgxMiwgMHg2ZiwgMHhkOSwgMHhkMCwgMHhmMSwgMHgyMiwgMHg3ZSwgMHgyNCwgMHg4NSwgMHgwMCwgMHhjYSwgCi0gICAgMHgxOSwgMHg3ZCwgMHgxMiwgMHgxMiwgMHg1OCwgMHhkMywgMHhkYSwgMHgxOSwgMHgxMCwgMHgwNCwgMHgwMiwgMHg4MCwgMHgwYywgMHhkMiwgMHgwMSwgMHhjMCwgCi0gICAgMHhmMSwgMHg3NSwgMHhmMSwgMHgwMSwgMHgxMiwgMHg2ZiwgMHhkOSwgMHhkMCwgMHhmMSwgMHgyMiwgMHg3ZSwgMHgyNCwgMHg4NiwgMHgwMCwgMHhjYSwgMHgxOSwgCi0gICAgMHg3ZCwgMHgxMiwgMHgxMiwgMHg1YywgMHgyYiwgMHhkYSwgMHgxOSwgMHgxMCwgMHgwNCwgMHgwMiwgMHg4MCwgMHgwYywgMHhkMiwgMHgwMSwgMHhjMCwgMHhmMSwgCi0gICAgMHg3NSwgMHhmMSwgMHgwMSwgMHgxMiwgMHg2ZiwgMHhkOSwgMHhkMCwgMHhmMSwgMHgyMiwgMHg3ZSwgMHgyNCwgMHg4NywgMHgwMCwgMHhjYSwgMHgxOSwgMHg3ZCwgCi0gICAgMHgxMiwgMHgxMiwgMHg1ZiwgMHg4MywgMHhkYSwgMHgxOSwgMHgxMCwgMHgwNCwgMHgwMiwgMHg4MCwgMHgwYywgMHhkMiwgMHgwMSwgMHhjMCwgMHhmMSwgMHg3NSwgCi0gICAgMHhmMSwgMHgwMSwgMHgxMiwgMHg2ZiwgMHhkOSwgMHhkMCwgMHhmMSwgMHgyMiwgMHhjMiwgMHhhZiwgMHhjMCwgMHhmMSwgMHg3NSwgMHhmMSwgMHgwMSwgMHhhOSwgCi0gICAgMHgzMiwgMHhmMiwgMHgxYSwgMHg3ZSwgMHgwNywgMHgwMSwgMHhlMSwgMHhiZSwgMHgwNCwgMHgwMCwgMHgwMCwgMHg3OCwgMHgxMCwgMHhlNSwgMHhmNSwgMHgzMywgCi0gICAgMHg4MiwgMHhlNywgMHg0MCwgMHgwOSwgMHg4NSwgMHgzMSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHg3NSwgMHhmNiwgMHgwMCwgMHhkMCwgMHhmMSwgMHhkMiwgCi0gICAgMHhhZiwgMHgyMiwgCi0KLS8vIFNlZ21lbnQgIzE1LCBTdGFydCBBZGRyZXNzIDAwZmY0MDAwLCBMZW5ndGggMTUzODEKLTB4ZmYsMHgwMCwweDAwLDB4NDAsMHgxNSwweDNjLAotICAgIDB4N2UsIDB4MDQsIDB4MDAsIDB4MDEsIDB4N2UsIDB4MTQsIDB4N2YsIDB4ZjgsIDB4N2UsIDB4MjQsIDB4MDAsIDB4ZmUsIDB4N2QsIDB4MzEsIDB4MGIsIDB4MWEsIAotICAgIDB4NTAsIDB4MWIsIDB4MGEsIDB4NTAsIDB4N2UsIDB4MTQsIDB4NDAsIDB4MWIsIDB4MDIsIDB4NDAsIDB4NmEsIDB4N2UsIDB4ZjgsIDB4MDAsIDB4NmYsIDB4ZDIsIAotICAgIDB4MDQsIDB4YzIsIDB4OTQsIDB4ZDIsIDB4OTUsIDB4N2UsIDB4ZjQsIDB4NDAsIDB4MmMsIDB4MDIsIDB4NDAsIDB4N2MsIDB4MTIsIDB4N2QsIDB4MzAsIDB4ZjUsIAotICAgIDB4MmYsIDB4N2EsIDB4YTEsIDB4MzAsIDB4N2EsIDB4MTEsIDB4NmUsIDB4MTIsIDB4NzUsIDB4Y2EsIDB4MTIsIDB4NDAsIDB4ZGMsIDB4N2UsIDB4YjMsIDB4M2YsIAotICAgIDB4ZjEsIDB4NjAsIDB4MDMsIDB4MTIsIDB4NDMsIDB4ZDQsIDB4NzUsIDB4ZjEsIDB4MDAsIDB4MTIsIDB4NzYsIDB4NmYsIDB4ZDIsIDB4YWYsIDB4MDIsIDB4MzAsIAotICAgIDB4MDAsIDB4N2UsIDB4MDQsIDB4MDAsIDB4ZmYsIDB4N2UsIDB4MTgsIDB4NDAsIDB4NWYsIDB4N2EsIDB4MWMsIDB4MDAsIDB4MDEsIDB4ODksIDB4MTgsIDB4YTksIAotICAgIDB4MjUsIDB4ODcsIDB4MDMsIDB4YTksIDB4ZDUsIDB4ODcsIDB4ZDIsIDB4OTMsIDB4ODksIDB4MDgsIDB4N2UsIDB4MDQsIDB4MDAsIDB4ZmYsIDB4N2UsIDB4MTgsIAotICAgIDB4NDAsIDB4NzgsIDB4N2EsIDB4MWMsIDB4MDAsIDB4MDEsIDB4ODksIDB4MTgsIDB4YzIsIDB4OTMsIDB4ODksIDB4MDgsIDB4N2UsIDB4MDgsIDB4MDAsIDB4MjAsIAotICAgIDB4N2UsIDB4NDQsIDB4MDQsIDB4MDAsIDB4N2UsIDB4NDAsIDB4MDAsIDB4N2UsIDB4ZTQsIDB4NDAsIDB4OGUsIDB4MDIsIDB4N2MsIDB4MzAsIDB4N2UsIDB4MDgsIAotICAgIDB4MDEsIDB4NmYsIDB4N2UsIDB4NDQsIDB4MjgsIDB4N2MsIDB4N2UsIDB4NDAsIDB4MDAsIDB4N2UsIDB4ZTQsIDB4NDAsIDB4YTAsIDB4MDIsIDB4N2MsIDB4MzAsIAotICAgIDB4N2UsIDB4MDgsIDB4MDAsIDB4NmYsIDB4N2UsIDB4NDQsIDB4MDEsIDB4MDAsIDB4N2UsIDB4NDAsIDB4NTMsIDB4N2UsIDB4ZTQsIDB4NDAsIDB4YjIsIDB4MDIsIAotICAgIDB4N2MsIDB4MzAsIDB4NzUsIDB4NmQsIDB4MjAsIDB4NzUsIDB4NmMsIDB4MzAsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MDgsIDB4NzUsIDB4NmEsIDB4NTgsIDB4NzUsIAotICAgIDB4NmIsIDB4MDgsIDB4NzUsIDB4NjcsIDB4MDgsIDB4NzUsIDB4NjksIDB4MDEsIDB4NzUsIDB4ODksIDB4MDEsIDB4NzUsIDB4OGEsIDB4MDEsIDB4NzUsIDB4OGMsIAotICAgIDB4MDAsIDB4ZDIsIDB4OGMsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MDIsIDB4N2EsIDB4MDUsIDB4NTgsIDB4ODksIDB4ZjQsIDB4NzUsIDB4YjcsIDB4N2YsIDB4NzUsIAotICAgIDB4YjgsIDB4N2YsIDB4NzUsIDB4YjMsIDB4MDcsIDB4NzUsIDB4YjIsIDB4MDcsIDB4ZDIsIDB4YTksIDB4MjIsIDB4ZDIsIDB4OTIsIDB4ZTQsIDB4ZDUsIDB4ZTAsIAotICAgIDB4ZmQsIDB4YzIsIDB4OTIsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MmYsIDB4N2UsIDB4YTAsIDB4MDgsIDB4MTksIDB4YTIsIDB4MDAsIAotICAgIDB4MTAsIDB4MmUsIDB4MjQsIDB4MDEsIDB4MDAsIDB4YTUsIDB4ZDksIDB4ZjIsIDB4N2UsIDB4MjAsIDB4MDAsIDB4MTIsIDB4NDEsIDB4N2UsIDB4MGIsIDB4MjAsIAotICAgIDB4YmUsIDB4MjEsIDB4MmYsIDB4NzgsIDB4ZjYsIDB4MjIsIDB4N2UsIDB4MDQsIDB4ODAsIDB4MDAsIDB4NGMsIDB4MDIsIDB4NzQsIDB4YmYsIDB4MTksIDB4YjAsIAotICAgIDB4MDAsIDB4MGMsIDB4NzQsIDB4MTAsIDB4MTksIDB4YjAsIDB4MDAsIDB4MDgsIDB4NzQsIDB4ODAsIDB4MTksIDB4YjAsIDB4MDAsIDB4MGMsIDB4N2UsIDB4NTQsIAotICAgIDB4MDAsIDB4MDIsIDB4MTksIDB4YTAsIDB4MDAsIDB4MDQsIDB4MTksIDB4YjAsIDB4MDAsIDB4MDAsIDB4NzQsIDB4MDMsIDB4MTksIDB4YjAsIDB4MDAsIDB4MGMsIAotICAgIDB4NzQsIDB4MDcsIDB4YTksIDB4MjAsIDB4MzAsIDB4MGIsIDB4YTksIDB4MzUsIDB4MzAsIDB4MDUsIDB4YmUsIDB4MjAsIDB4MDEsIDB4MjgsIDB4MDIsIDB4NzQsIAotICAgIDB4MGYsIDB4MTksIDB4YjAsIDB4MDAsIDB4MDQsIDB4YTksIDB4MzMsIDB4MzAsIDB4MTgsIDB4NzQsIDB4YmYsIDB4MTksIDB4YjAsIDB4MDAsIDB4MGMsIDB4NzQsIAotICAgIDB4MjgsIDB4YTksIDB4MjAsIDB4MzAsIDB4MDIsIDB4NzQsIDB4MjAsIDB4MTksIDB4YjAsIDB4MDAsIDB4MDQsIDB4NzQsIDB4MDMsIDB4MTksIDB4YjAsIDB4MDAsIAotICAgIDB4MGMsIDB4NzQsIDB4YTcsIDB4MTksIDB4YjAsIDB4MDAsIDB4MDgsIDB4NzQsIDB4MGMsIDB4MTksIDB4YjAsIDB4MDAsIDB4MTAsIDB4MjIsIDB4N2UsIDB4MDQsIAotICAgIDB4ODAsIDB4MDAsIDB4NGMsIDB4MDIsIDB4ZTQsIDB4MTksIDB4YjAsIDB4MDAsIDB4MDQsIDB4MDksIDB4YjAsIDB4MDAsIDB4MTAsIDB4NTQsIDB4MDgsIDB4MTksIAotICAgIDB4YjAsIDB4MDAsIDB4MTAsIDB4NzQsIDB4YTcsIDB4MTksIDB4YjAsIDB4MDAsIDB4MDgsIDB4MjIsIDB4N2MsIDB4YjIsIDB4MjMsIDB4MGEsIDB4MmIsIDB4NDksIAotICAgIDB4MjIsIDB4NDEsIDB4YTUsIDB4ODksIDB4MjQsIDB4NDEsIDB4YjUsIDB4NDEsIDB4ZDQsIDB4NDEsIDB4ZjMsIDB4NDIsIDB4MTIsIDB4NDIsIDB4MzEsIDB4NDIsIAotICAgIDB4NTAsIDB4NDIsIDB4NmYsIDB4NDIsIDB4OGUsIDB4YzIsIDB4MTAsIDB4YzIsIDB4MTgsIDB4YzIsIDB4MjAsIDB4YzIsIDB4MDgsIDB4N2UsIDB4MDQsIDB4MDksIAotICAgIDB4ZTMsIDB4N2EsIDB4MDcsIDB4MDEsIDB4NmYsIDB4N2EsIDB4MDcsIDB4MDEsIDB4N2YsIDB4NmQsIDB4MDAsIDB4N2EsIDB4MDcsIDB4MDEsIDB4OGYsIDB4N2EsIAotICAgIDB4MDcsIDB4MDEsIDB4OWYsIDB4MjIsIDB4YzIsIDB4MTEsIDB4YzIsIDB4MTksIDB4YzIsIDB4MjEsIDB4YzIsIDB4MDksIDB4N2UsIDB4MDQsIDB4MGQsIDB4ZTMsIAotICAgIDB4N2EsIDB4MDcsIDB4MDEsIDB4NzEsIDB4N2EsIDB4MDcsIDB4MDEsIDB4ODEsIDB4NmQsIDB4MDAsIDB4N2EsIDB4MDcsIDB4MDEsIDB4OTEsIDB4N2EsIDB4MDcsIAotICAgIDB4MDEsIDB4YTEsIDB4MjIsIDB4YzIsIDB4MTIsIDB4YzIsIDB4MWEsIDB4YzIsIDB4MjIsIDB4YzIsIDB4MGEsIDB4N2UsIDB4MDQsIDB4MTEsIDB4ZTMsIDB4N2EsIAotICAgIDB4MDcsIDB4MDEsIDB4NzMsIDB4N2EsIDB4MDcsIDB4MDEsIDB4ODMsIDB4NmQsIDB4MDAsIDB4N2EsIDB4MDcsIDB4MDEsIDB4OTMsIDB4N2EsIDB4MDcsIDB4MDEsIAotICAgIDB4YTMsIDB4MjIsIDB4YzIsIDB4MTMsIDB4YzIsIDB4MWIsIDB4YzIsIDB4MjMsIDB4YzIsIDB4MGIsIDB4N2UsIDB4MDQsIDB4MTUsIDB4ZTMsIDB4N2EsIDB4MDcsIAotICAgIDB4MDEsIDB4NzUsIDB4N2EsIDB4MDcsIDB4MDEsIDB4ODUsIDB4NmQsIDB4MDAsIDB4N2EsIDB4MDcsIDB4MDEsIDB4OTUsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YTUsIAotICAgIDB4MjIsIDB4YzIsIDB4MTQsIDB4YzIsIDB4MWMsIDB4YzIsIDB4MjQsIDB4YzIsIDB4MGMsIDB4N2UsIDB4MDQsIDB4MTksIDB4ZTMsIDB4N2EsIDB4MDcsIDB4MDEsIAotICAgIDB4NzcsIDB4N2EsIDB4MDcsIDB4MDEsIDB4ODcsIDB4NmQsIDB4MDAsIDB4N2EsIDB4MDcsIDB4MDEsIDB4OTcsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YTcsIDB4MjIsIAotICAgIDB4YzIsIDB4MTUsIDB4YzIsIDB4MWQsIDB4YzIsIDB4MjUsIDB4YzIsIDB4MGQsIDB4N2UsIDB4MDQsIDB4MWQsIDB4ZTMsIDB4N2EsIDB4MDcsIDB4MDEsIDB4NzksIAotICAgIDB4N2EsIDB4MDcsIDB4MDEsIDB4ODksIDB4NmQsIDB4MDAsIDB4N2EsIDB4MDcsIDB4MDEsIDB4OTksIDB4N2EsIDB4MDcsIDB4MDEsIDB4YTksIDB4MjIsIDB4YzIsIAotICAgIDB4MTYsIDB4YzIsIDB4MWUsIDB4YzIsIDB4MjYsIDB4YzIsIDB4MGUsIDB4N2UsIDB4MDQsIDB4MjEsIDB4ZTMsIDB4N2EsIDB4MDcsIDB4MDEsIDB4N2IsIDB4N2EsIAotICAgIDB4MDcsIDB4MDEsIDB4OGIsIDB4NmQsIDB4MDAsIDB4N2EsIDB4MDcsIDB4MDEsIDB4OWIsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YWIsIDB4MjIsIDB4YzIsIDB4MTcsIAotICAgIDB4YzIsIDB4MWYsIDB4YzIsIDB4MjcsIDB4YzIsIDB4MGYsIDB4N2UsIDB4MDQsIDB4MjUsIDB4ZTMsIDB4N2EsIDB4MDcsIDB4MDEsIDB4N2QsIDB4N2EsIDB4MDcsIAotICAgIDB4MDEsIDB4OGQsIDB4NmQsIDB4MDAsIDB4N2EsIDB4MDcsIDB4MDEsIDB4OWQsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YWQsIDB4MjIsIDB4N2MsIDB4YjIsIDB4MjMsIAotICAgIDB4MGEsIDB4MmIsIDB4NDksIDB4MjIsIDB4NDIsIDB4YjgsIDB4ODksIDB4MjQsIDB4NDIsIDB4YzgsIDB4NDIsIDB4ZTksIDB4NDMsIDB4MGEsIDB4NDMsIDB4MmIsIAotICAgIDB4NDMsIDB4NGMsIDB4NDMsIDB4NmQsIDB4NDMsIDB4OGUsIDB4NDMsIDB4YWYsIDB4MzAsIDB4NTAsIDB4MDcsIDB4MjAsIDB4NjgsIDB4MDQsIDB4YzIsIDB4MjgsIAotICAgIDB4ODAsIDB4MTYsIDB4MzAsIDB4NDAsIDB4MDcsIDB4MjAsIDB4NjAsIDB4MDQsIDB4YzIsIDB4MjgsIDB4ODAsIDB4MGMsIDB4MzAsIDB4NDgsIDB4MDcsIDB4MjAsIAotICAgIDB4NTgsIDB4MDQsIDB4YzIsIDB4MjgsIDB4ODAsIDB4MDIsIDB4ZDIsIDB4MjgsIDB4MjIsIDB4MzAsIDB4NTEsIDB4MDcsIDB4MjAsIDB4NjksIDB4MDQsIDB4YzIsIAotICAgIDB4MjksIDB4ODAsIDB4MTYsIDB4MzAsIDB4NDEsIDB4MDcsIDB4MjAsIDB4NjEsIDB4MDQsIDB4YzIsIDB4MjksIDB4ODAsIDB4MGMsIDB4MzAsIDB4NDksIDB4MDcsIAotICAgIDB4MjAsIDB4NTksIDB4MDQsIDB4YzIsIDB4MjksIDB4ODAsIDB4MDIsIDB4ZDIsIDB4MjksIDB4MjIsIDB4MzAsIDB4NTIsIDB4MDcsIDB4MjAsIDB4NmEsIDB4MDQsIAotICAgIDB4YzIsIDB4MmEsIDB4ODAsIDB4MTYsIDB4MzAsIDB4NDIsIDB4MDcsIDB4MjAsIDB4NjIsIDB4MDQsIDB4YzIsIDB4MmEsIDB4ODAsIDB4MGMsIDB4MzAsIDB4NGEsIAotICAgIDB4MDcsIDB4MjAsIDB4NWEsIDB4MDQsIDB4YzIsIDB4MmEsIDB4ODAsIDB4MDIsIDB4ZDIsIDB4MmEsIDB4MjIsIDB4MzAsIDB4NTMsIDB4MDcsIDB4MjAsIDB4NmIsIAotICAgIDB4MDQsIDB4YzIsIDB4MmIsIDB4ODAsIDB4MTYsIDB4MzAsIDB4NDMsIDB4MDcsIDB4MjAsIDB4NjMsIDB4MDQsIDB4YzIsIDB4MmIsIDB4ODAsIDB4MGMsIDB4MzAsIAotICAgIDB4NGIsIDB4MDcsIDB4MjAsIDB4NWIsIDB4MDQsIDB4YzIsIDB4MmIsIDB4ODAsIDB4MDIsIDB4ZDIsIDB4MmIsIDB4MjIsIDB4MzAsIDB4NTQsIDB4MDcsIDB4MjAsIAotICAgIDB4NmMsIDB4MDQsIDB4YzIsIDB4MmMsIDB4ODAsIDB4MTYsIDB4MzAsIDB4NDQsIDB4MDcsIDB4MjAsIDB4NjQsIDB4MDQsIDB4YzIsIDB4MmMsIDB4ODAsIDB4MGMsIAotICAgIDB4MzAsIDB4NGMsIDB4MDcsIDB4MjAsIDB4NWMsIDB4MDQsIDB4YzIsIDB4MmMsIDB4ODAsIDB4MDIsIDB4ZDIsIDB4MmMsIDB4MjIsIDB4MzAsIDB4NTUsIDB4MDcsIAotICAgIDB4MjAsIDB4NmQsIDB4MDQsIDB4YzIsIDB4MmQsIDB4ODAsIDB4MTYsIDB4MzAsIDB4NDUsIDB4MDcsIDB4MjAsIDB4NjUsIDB4MDQsIDB4YzIsIDB4MmQsIDB4ODAsIAotICAgIDB4MGMsIDB4MzAsIDB4NGQsIDB4MDcsIDB4MjAsIDB4NWQsIDB4MDQsIDB4YzIsIDB4MmQsIDB4ODAsIDB4MDIsIDB4ZDIsIDB4MmQsIDB4MjIsIDB4MzAsIDB4NTYsIAotICAgIDB4MDcsIDB4MjAsIDB4NmUsIDB4MDQsIDB4YzIsIDB4MmUsIDB4ODAsIDB4MTYsIDB4MzAsIDB4NDYsIDB4MDcsIDB4MjAsIDB4NjYsIDB4MDQsIDB4YzIsIDB4MmUsIAotICAgIDB4ODAsIDB4MGMsIDB4MzAsIDB4NGUsIDB4MDcsIDB4MjAsIDB4NWUsIDB4MDQsIDB4YzIsIDB4MmUsIDB4ODAsIDB4MDIsIDB4ZDIsIDB4MmUsIDB4MjIsIDB4MzAsIAotICAgIDB4NTcsIDB4MDcsIDB4MjAsIDB4NmYsIDB4MDQsIDB4YzIsIDB4MmYsIDB4ODAsIDB4MTYsIDB4MzAsIDB4NDcsIDB4MDcsIDB4MjAsIDB4NjcsIDB4MDQsIDB4YzIsIAotICAgIDB4MmYsIDB4ODAsIDB4MGMsIDB4MzAsIDB4NGYsIDB4MDcsIDB4MjAsIDB4NWYsIDB4MDQsIDB4YzIsIDB4MmYsIDB4ODAsIDB4MDIsIDB4ZDIsIDB4MmYsIDB4MjIsIAotICAgIDB4NDQsIDB4MzgsIDB4NDMsIDB4ZTUsIDB4YmUsIDB4YjAsIDB4MDIsIDB4NDAsIDB4MDEsIDB4MjIsIDB4MjMsIDB4MGEsIDB4NWIsIDB4NDksIDB4NTUsIDB4NDMsIAotICAgIDB4ZDAsIDB4OTksIDB4NTQsIDB4ZDMsIDB4MjIsIDB4YTksIDB4YzUsIDB4ODcsIDB4MTIsIDB4NDQsIDB4NDMsIDB4N2UsIDB4MDQsIDB4MDUsIDB4ZTMsIDB4N2EsIAotICAgIDB4MDcsIDB4MDEsIDB4ZDcsIDB4N2EsIDB4MDcsIDB4MDEsIDB4ZDksIDB4N2UsIDB4MDQsIDB4MDEsIDB4ZTMsIDB4N2EsIDB4MDcsIDB4MDEsIDB4ZGQsIDB4N2EsIAotICAgIDB4MDcsIDB4MDEsIDB4ZGYsIDB4N2UsIDB4MDQsIDB4NzQsIDB4YWQsIDB4N2EsIDB4MDUsIDB4NjEsIDB4NzUsIDB4ZjEsIDB4MDEsIDB4NzUsIDB4ZTEsIDB4MWYsIAotICAgIDB4NzUsIDB4ZTQsIDB4MDQsIDB4NzUsIDB4ZjQsIDB4MDQsIDB4NzUsIDB4ZjEsIDB4MDIsIDB4NzUsIDB4ZTEsIDB4MDMsIDB4NzUsIDB4ZTQsIDB4MDQsIDB4NzUsIAotICAgIDB4ZjQsIDB4MDQsIDB4NDMsIDB4YTIsIDB4MWMsIDB4MTIsIDB4NDAsIDB4ZWIsIDB4N2UsIDB4MjAsIDB4MDAsIDB4MTIsIDB4NDEsIDB4OWEsIDB4MGIsIDB4MjAsIAotICAgIDB4YmUsIDB4MjEsIDB4MmYsIDB4NzgsIDB4ZjYsIDB4ZDIsIDB4YTgsIDB4MjIsIDB4YTksIDB4ZDUsIDB4ODcsIDB4MTIsIDB4NDQsIDB4NDMsIDB4ZDIsIDB4OTIsIAotICAgIDB4YzIsIDB4YTgsIDB4MjIsIDB4NzUsIDB4YTMsIDB4MDAsIDB4NTMsIDB4YTIsIDB4MDMsIDB4NzUsIDB4YzEsIDB4MDAsIDB4NTMsIDB4YzAsIDB4MDMsIDB4N2UsIAotICAgIDB4MDAsIDB4MDUsIDB4N2EsIDB4MDEsIDB4ZjEsIDB4NDMsIDB4ZjQsIDB4ODAsIDB4NDMsIDB4ZTQsIDB4ODAsIDB4ZTUsIDB4ZjIsIDB4NTQsIDB4N2YsIDB4NDQsIAotICAgIDB4MDgsIDB4ZjUsIDB4ZjIsIDB4ZTUsIDB4ZTIsIDB4NTQsIDB4N2YsIDB4NDQsIDB4MDgsIDB4ZjUsIDB4ZTIsIDB4NzUsIDB4ZTEsIDB4MTAsIDB4YTUsIDB4ZDgsIAotICAgIDB4ZTEsIDB4MjIsIDB4Y2EsIDB4MDksIDB4MTIsIDB4MzAsIDB4MjAsIDB4MTAsIDB4MDEsIDB4MTIsIDB4ZDUsIDB4NjcsIDB4MWUsIDB4NjMsIDB4NjksIDB4MDEsIAotICAgIDB4N2UsIDB4MDAsIDB4NmEsIDB4MmUsIDB4MDEsIDB4NjksIDB4YTUsIDB4ZTYsIDB4ZjUsIDB4NjcsIDB4ODAsIDB4MTIsIDB4MjAsIDB4MDIsIDB4MWUsIDB4NzUsIAotICAgIDB4NjksIDB4MDAsIDB4ODUsIDB4NmEsIDB4NjcsIDB4ZDIsIDB4MDIsIDB4NzQsIDB4MDAsIDB4ODAsIDB4MGQsIDB4MzAsIDB4MDIsIDB4MGYsIDB4YzIsIDB4MDIsIAotICAgIDB4N2UsIDB4MDAsIDB4NmMsIDB4MmUsIDB4MDEsIDB4NjksIDB4YTUsIDB4ZTYsIDB4NTMsIDB4OTAsIDB4Y2YsIDB4NDIsIDB4OTAsIDB4ZGEsIDB4MDksIDB4MzIsIAotICAgIDB4YzAsIDB4ZDAsIDB4YzAsIDB4ZDEsIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ZjAsIDB4Y2EsIDB4MGIsIDB4Y2EsIDB4MWIsIDB4Y2EsIDB4MmIsIDB4ZDIsIDB4MDEsIAotICAgIDB4NzUsIDB4MzEsIDB4ODksIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4MTQsIDB4ODAsIDB4MDAsIDB4MDksIDB4YjEsIDB4MDAsIDB4MDgsIDB4MjAsIDB4ZTAsIAotICAgIDB4MDMsIDB4MDIsIDB4NDUsIDB4NGYsIDB4MjAsIDB4NzgsIDB4NWEsIDB4YTUsIDB4MGEsIDB4MDksIDB4YjEsIDB4MDAsIDB4MDgsIDB4MjAsIDB4ZTAsIDB4MDMsIAotICAgIDB4MDIsIDB4NDUsIDB4NjcsIDB4MjAsIDB4NzksIDB4NGIsIDB4YTUsIDB4MGEsIDB4MDksIDB4YjEsIDB4MDAsIDB4MDgsIDB4MjAsIDB4ZTAsIDB4MDMsIDB4MDIsIAotICAgIDB4NDUsIDB4N2YsIDB4YTUsIDB4MGEsIDB4MDksIDB4YjEsIDB4MDAsIDB4MDgsIDB4MjAsIDB4ZTAsIDB4MDMsIDB4MDIsIDB4NDUsIDB4OTcsIDB4MjAsIDB4N2EsIAotICAgIDB4MzAsIDB4YTUsIDB4MGEsIDB4MDksIDB4YjEsIDB4MDAsIDB4MDgsIDB4MjAsIDB4ZTAsIDB4MDMsIDB4MDIsIDB4NDUsIDB4YWYsIDB4YTUsIDB4MGEsIDB4MDksIAotICAgIDB4YjEsIDB4MDAsIDB4MDgsIDB4MjAsIDB4ZTAsIDB4MDMsIDB4MDIsIDB4NDUsIDB4YzcsIDB4YTUsIDB4MGEsIDB4MDksIDB4YjEsIDB4MDAsIDB4MDgsIDB4MjAsIAotICAgIDB4ZTAsIDB4MDMsIDB4MDIsIDB4NDUsIDB4ZGYsIDB4YTUsIDB4MGEsIDB4MDksIDB4YjEsIDB4MDAsIDB4MDgsIDB4MjAsIDB4ZTAsIDB4MDMsIDB4MDIsIDB4NDUsIAotICAgIDB4ZjcsIDB4MzAsIDB4MDQsIDB4MGMsIDB4YzIsIDB4MDQsIDB4YzAsIDB4ZjEsIDB4NzUsIDB4ZjEsIDB4MDEsIDB4MTIsIDB4NmYsIDB4ZDksIDB4ZDAsIDB4ZjEsIAotICAgIDB4ZGEsIDB4MmIsIDB4ZGEsIDB4MWIsIDB4ZGEsIDB4MGIsIDB4ZDAsIDB4ZjAsIDB4ZDAsIDB4ZTAsIDB4ZDAsIDB4ZDEsIDB4ZDAsIDB4ZDAsIDB4MzIsIDB4NzUsIAotICAgIDB4MzEsIDB4ODAsIDB4MTIsIDB4N2MsIDB4MTUsIDB4NTQsIDB4M2UsIDB4MGEsIDB4NWIsIDB4N2UsIDB4NDQsIDB4MDAsIDB4ZmYsIDB4NjksIDB4NTIsIDB4NjMsIAotICAgIDB4MmIsIDB4Y2EsIDB4MDYsIDB4YzYsIDB4NDQsIDB4ODksIDB4NTQsIDB4NzUsIDB4MzEsIDB4ODEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4NTQsIDB4M2UsIDB4MGEsIAotICAgIDB4NWIsIDB4N2UsIDB4NDQsIDB4MDAsIDB4ZmYsIDB4NjksIDB4NTIsIDB4NjMsIDB4NmIsIDB4Y2EsIDB4MDYsIDB4YzYsIDB4NDQsIDB4ODksIDB4NTQsIDB4NzUsIAotICAgIDB4MzEsIDB4ODIsIDB4MTIsIDB4N2MsIDB4MTUsIDB4NTQsIDB4M2UsIDB4MGEsIDB4NWIsIDB4N2UsIDB4NDQsIDB4MDAsIDB4ZmYsIDB4NjksIDB4NTIsIDB4NjMsIAotICAgIDB4YWIsIDB4Y2EsIDB4MDYsIDB4YzYsIDB4NDQsIDB4ODksIDB4NTQsIDB4NzUsIDB4MzEsIDB4ODMsIDB4MTIsIDB4N2MsIDB4MTUsIDB4NTQsIDB4M2UsIDB4MGEsIAotICAgIDB4NWIsIDB4N2UsIDB4NDQsIDB4MDAsIDB4ZmYsIDB4NjksIDB4NTIsIDB4NjMsIDB4ZWIsIDB4Y2EsIDB4MDYsIDB4YzYsIDB4NDQsIDB4ODksIDB4NTQsIDB4NzUsIAotICAgIDB4MzEsIDB4ODQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4NTQsIDB4M2UsIDB4MGEsIDB4NWIsIDB4N2UsIDB4NDQsIDB4MDAsIDB4ZmYsIDB4NjksIDB4NTIsIDB4NjQsIAotICAgIDB4MmIsIDB4Y2EsIDB4MDYsIDB4YzYsIDB4NDQsIDB4ODksIDB4NTQsIDB4NzUsIDB4MzEsIDB4ODUsIDB4MTIsIDB4N2MsIDB4MTUsIDB4NTQsIDB4M2UsIDB4MGEsIAotICAgIDB4NWIsIDB4N2UsIDB4NDQsIDB4MDAsIDB4ZmYsIDB4NjksIDB4NTIsIDB4NjQsIDB4NmIsIDB4Y2EsIDB4MDYsIDB4YzYsIDB4NDQsIDB4ODksIDB4NTQsIDB4NzUsIAotICAgIDB4MzEsIDB4ODYsIDB4MTIsIDB4N2MsIDB4MTUsIDB4NTQsIDB4M2UsIDB4MGEsIDB4NWIsIDB4N2UsIDB4NDQsIDB4MDAsIDB4ZmYsIDB4NjksIDB4NTIsIDB4NjQsIAotICAgIDB4YWIsIDB4Y2EsIDB4MDYsIDB4YzYsIDB4NDQsIDB4ODksIDB4NTQsIDB4NzUsIDB4MzEsIDB4ODcsIDB4MTIsIDB4N2MsIDB4MTUsIDB4NTQsIDB4M2UsIDB4MGEsIAotICAgIDB4NWIsIDB4N2UsIDB4NDQsIDB4MDAsIDB4ZmYsIDB4NjksIDB4NTIsIDB4NjQsIDB4ZWIsIDB4Y2EsIDB4MDYsIDB4YzYsIDB4NDQsIDB4ODksIDB4NTQsIDB4MTAsIAotICAgIDB4MDgsIDB4MDEsIDB4MjIsIDB4MjAsIDB4MjgsIDB4MDMsIDB4ZDIsIDB4MDgsIDB4MjIsIDB4NzUsIDB4MzEsIDB4YTAsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIAotICAgIDB4MTQsIDB4ODAsIDB4MDAsIDB4ODAsIDB4MDYsIDB4MjAsIDB4MjgsIDB4MDMsIDB4ZDIsIDB4MDgsIDB4MjIsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4Y2EsIAotICAgIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MDMsIDB4MTIsIDB4NDksIDB4MzAsIDB4MjAsIDB4ZTYsIDB4MDMsIDB4ZDIsIDB4MDgsIAotICAgIDB4MjIsIDB4MzAsIDB4MzAsIDB4NDksIDB4ZDIsIDB4NzAsIDB4N2UsIDB4MzcsIDB4MDEsIDB4OGYsIDB4N2UsIDB4MjcsIDB4MDEsIDB4YWYsIDB4OWQsIDB4MzIsIAotICAgIDB4NDAsIDB4MzEsIDB4N2QsIDB4MDIsIDB4MmUsIDB4MDUsIDB4NDgsIDB4N2EsIDB4MDUsIDB4NDgsIDB4N2EsIDB4MzcsIDB4MDEsIDB4OGYsIDB4N2UsIDB4MzcsIAotICAgIDB4MDEsIDB4NmYsIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDIsIDB4YmUsIDB4NDQsIDB4MGQsIDB4ZTIsIDB4MzgsIDB4NjgsIDB4N2EsIDB4NDcsIDB4MDEsIDB4NmYsIAotICAgIDB4NzUsIDB4MzEsIDB4OTQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MTIsIDB4NjUsIDB4MmIsIDB4MTAsIAotICAgIDB4NzAsIDB4YzQsIDB4MjIsIDB4YzIsIDB4NzAsIDB4MmQsIDB4MjMsIDB4NjgsIDB4NzgsIDB4NmQsIDB4MzMsIDB4ODAsIDB4MWEsIDB4N2UsIDB4MjcsIDB4MDEsIAotICAgIDB4OGYsIDB4YmUsIDB4MjQsIDB4MDAsIDB4MDAsIDB4NjgsIDB4NmEsIDB4YmUsIDB4MjcsIDB4MDEsIDB4YWYsIDB4MjgsIDB4MDQsIDB4N2UsIDB4MjcsIDB4MDEsIAotICAgIDB4YWYsIDB4N2UsIDB4MzcsIDB4MDEsIDB4OGYsIDB4OWQsIDB4MzIsIDB4N2QsIDB4MDIsIDB4MmUsIDB4MDUsIDB4NDgsIDB4N2EsIDB4MDUsIDB4NDgsIDB4N2EsIAotICAgIDB4MzcsIDB4MDEsIDB4OGYsIDB4N2UsIDB4MzcsIDB4MDEsIDB4NmYsIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDIsIDB4YmUsIDB4NDQsIDB4MGQsIDB4ZTIsIDB4MzgsIAotICAgIDB4MTMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4NmYsIDB4NzUsIDB4MzEsIDB4OTQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIAotICAgIDB4MTUsIDB4MDIsIDB4NjUsIDB4MmIsIDB4NzUsIDB4MzEsIDB4OTQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIAotICAgIDB4OWUsIDB4NDQsIDB4MGQsIDB4ZTMsIDB4OWQsIDB4MjQsIDB4MTIsIDB4NjUsIDB4MmIsIDB4N2UsIDB4MzQsIDB4MDksIDB4ZTMsIDB4N2QsIDB4MjQsIDB4MmQsIAotICAgIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4NmYsIDB4MTIsIDB4NjUsIDB4MmIsIDB4YmUsIDB4MjUsIDB4MjAsIDB4NzgsIDB4MDMsIDB4MDIsIDB4NDYsIDB4N2YsIAotICAgIDB4MjIsIDB4ZDIsIDB4MDgsIDB4N2UsIDB4MDQsIDB4MDksIDB4ZTMsIDB4N2EsIDB4MDcsIDB4MDEsIDB4NmYsIDB4N2EsIDB4MDcsIDB4MDEsIDB4N2YsIDB4NzUsIAotICAgIDB4MzEsIDB4OTQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4NzUsIDB4MzEsIDB4MDAsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjIsIDB4NzUsIDB4MzEsIDB4OTIsIDB4MTIsIAotICAgIDB4N2MsIDB4MTUsIDB4ZDIsIDB4MDQsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NTQsIDB4ODIsIDB4ZGEsIDB4YjgsIDB4NzgsIDB4NzAsIAotICAgIDB4N2UsIDB4MzcsIDB4MDEsIDB4ZTEsIDB4N2UsIDB4MjcsIDB4MDEsIDB4YmYsIDB4MmUsIDB4MjQsIDB4MDAsIDB4MDIsIDB4MmQsIDB4MzIsIDB4YmUsIDB4MzQsIAotICAgIDB4MDQsIDB4MDAsIDB4MzgsIDB4M2MsIDB4N2QsIDB4MDIsIDB4MmUsIDB4MDUsIDB4NDYsIDB4N2EsIDB4MDUsIDB4NDYsIDB4N2EsIDB4MzcsIDB4MDEsIDB4ZTEsIAotICAgIDB4N2UsIDB4MzcsIDB4MDEsIDB4ZGYsIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDIsIDB4YmUsIDB4NDQsIDB4MDUsIDB4ZTIsIDB4MzgsIDB4NDQsIDB4N2EsIDB4NDcsIAotICAgIDB4MDEsIDB4ZGYsIDB4N2UsIDB4MjQsIDB4MDAsIDB4MDAsIDB4MmUsIDB4MjcsIDB4MDEsIDB4YmYsIDB4MWIsIDB4MzgsIDB4MjAsIDB4MGIsIDB4MzUsIDB4N2EsIAotICAgIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YmUsIDB4NTAsIDB4MzgsIDB4NzgsIDB4MDMsIDB4MDIsIDB4NjYsIDB4MTYsIDB4MDIsIDB4NjUsIDB4ZmIsIAotICAgIDB4NzUsIDB4MzEsIDB4OTksIDB4MTIsIDB4N2MsIDB4MTUsIDB4MDksIDB4YjEsIDB4MDAsIDB4MDQsIDB4NTQsIDB4ZmEsIDB4MTksIDB4YjEsIDB4MDAsIDB4MDQsIAotICAgIDB4MzAsIDB4MzgsIDB4MGEsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTAsIDB4NTQsIDB4ZmUsIDB4MTksIDB4YjEsIDB4MDAsIDB4MTAsIDB4ZDIsIDB4MTAsIDB4MjIsIAotICAgIDB4ODAsIDB4N2QsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4OWUsIDB4NDQsIDB4MDUsIDB4ZTMsIDB4OWQsIDB4MjQsIDB4N2UsIDB4NjQsIAotICAgIDB4MDAsIDB4MDAsIDB4MmUsIDB4NjcsIDB4MDEsIDB4YmYsIDB4OWUsIDB4MjQsIDB4MDAsIDB4MDIsIDB4NDAsIDB4MTcsIDB4MWIsIDB4MzgsIDB4NjAsIDB4MGIsIAotICAgIDB4MzUsIDB4MTIsIDB4NjUsIDB4ZmIsIDB4N2UsIDB4MzQsIDB4MDEsIDB4ZTMsIDB4N2QsIDB4MjQsIDB4MmQsIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4ZGYsIAotICAgIDB4MDIsIDB4NjUsIDB4ZmIsIDB4N2EsIDB4MzksIDB4YzAsIDB4N2UsIDB4MzQsIDB4MDEsIDB4ZTMsIDB4N2EsIDB4MzksIDB4ZDAsIDB4MGIsIDB4MzQsIDB4MWIsIAotICAgIDB4NDQsIDB4ODAsIDB4ZTUsIDB4OWQsIDB4MzIsIDB4N2MsIDB4YjYsIDB4NTQsIDB4MGYsIDB4MjMsIDB4MjMsIDB4MjMsIDB4NDQsIDB4MDAsIDB4N2EsIDB4NjksIAotICAgIDB4YjAsIDB4N2EsIDB4NzksIDB4NzAsIDB4MGIsIDB4MzUsIDB4NzUsIDB4MzEsIDB4OTMsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NzEsIDB4MzEsIDB4MTIsIAotICAgIDB4N2MsIDB4MTUsIDB4YmQsIDB4MDQsIDB4NjgsIDB4MjksIDB4N2EsIDB4MDcsIDB4MDEsIDB4ZGYsIDB4N2UsIDB4NDcsIDB4MDEsIDB4ZTEsIDB4MmQsIDB4NDMsIAotICAgIDB4N2EsIDB4NDcsIDB4MDEsIDB4ZTEsIDB4MmUsIDB4MzUsIDB4NDYsIDB4N2EsIDB4MzUsIDB4NDYsIDB4MjIsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4MjAsIAotICAgIDB4ZTAsIDB4MTMsIDB4MjIsIDB4N2UsIDB4MDQsIDB4MDEsIDB4ZTMsIDB4ODAsIDB4MmEsIDB4N2UsIDB4MDQsIDB4MDEsIDB4ZTMsIDB4ODAsIDB4MmMsIDB4N2UsIAotICAgIDB4MDQsIDB4MDEsIDB4ZTMsIDB4ODAsIDB4ZDEsIDB4ZDIsIDB4MDQsIDB4N2UsIDB4MDcsIDB4MDEsIDB4ZTEsIDB4N2UsIDB4MjQsIDB4MDMsIDB4ZmUsIDB4OWQsIAotICAgIDB4MjAsIDB4MjgsIDB4NDAsIDB4N2UsIDB4MDcsIDB4MDEsIDB4ZGYsIDB4N2UsIDB4NDQsIDB4MDUsIDB4ZTMsIDB4N2QsIDB4NjAsIDB4MGIsIDB4MDQsIDB4YmQsIAotICAgIDB4MDQsIDB4NjgsIDB4ZDAsIDB4N2QsIDB4NzAsIDB4MGIsIDB4MDQsIDB4YmQsIDB4MDQsIDB4NjgsIDB4Y2UsIDB4N2QsIDB4NTQsIDB4OWQsIDB4NTAsIDB4YmQsIAotICAgIDB4MjUsIDB4NDAsIDB4MDIsIDB4N2QsIDB4MjUsIDB4N2QsIDB4MzIsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NTQsIDB4MWYsIDB4YjQsIAotICAgIDB4MDEsIDB4MzEsIDB4ZGEsIDB4YjgsIDB4N2UsIDB4MTksIDB4YjAsIDB4N2EsIDB4MDksIDB4YjAsIDB4MGIsIDB4MDQsIDB4MWIsIDB4MjQsIDB4NzgsIDB4ZTcsIAotICAgIDB4MDIsIDB4NDcsIDB4ZTMsIDB4NzUsIDB4MzEsIDB4OTksIDB4MTIsIDB4N2MsIDB4MTUsIDB4MDksIDB4YjEsIDB4MDAsIDB4MDQsIDB4NTQsIDB4ZmEsIDB4MTksIAotICAgIDB4YjEsIDB4MDAsIDB4MDQsIDB4MzAsIDB4MzgsIDB4MGEsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTAsIDB4NTQsIDB4ZmUsIDB4MTksIDB4YjEsIDB4MDAsIDB4MTAsIAotICAgIDB4ZDIsIDB4MTAsIDB4MjIsIDB4ZGEsIDB4YjgsIDB4MzAsIDB4ZTAsIDB4ZDgsIDB4YmQsIDB4MzIsIDB4NjgsIDB4MDcsIDB4Y2EsIDB4YjgsIDB4MTIsIDB4NDcsIAotICAgIDB4ZTMsIDB4ZGEsIDB4YjgsIDB4MDIsIDB4NDksIDB4MzAsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTgsIDB4N2UsIDB4YTAsIDB4ODgsIDB4NzUsIDB4MzEsIDB4OTAsIAotICAgIDB4MTIsIDB4N2MsIDB4MTUsIDB4ZjUsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YTUsIDB4ZmMsIDB4NWUsIDB4YjAsIDB4ZjAsIDB4YTUsIDB4ZmQsIDB4MDksIAotICAgIDB4YjEsIDB4MDAsIDB4MTgsIDB4NGMsIDB4NGIsIDB4NWUsIDB4YjAsIDB4ZjAsIDB4YmMsIDB4YjUsIDB4NzgsIDB4ZjEsIDB4NWUsIDB4NDAsIDB4MGYsIDB4NGMsIAotICAgIDB4NTQsIDB4N2MsIDB4YjUsIDB4NWUsIDB4NTAsIDB4MGIsIDB4NjgsIDB4MmEsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MTAsIDB4NjgsIDB4MDQsIDB4ZDIsIAotICAgIDB4NjgsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NjgsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MjAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NjAsIDB4ODAsIDB4MDIsIAotICAgIDB4YzIsIDB4NjAsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4ODAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NTgsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NTgsIDB4MTIsIAotICAgIDB4NDIsIDB4YzgsIDB4MDIsIDB4NjIsIDB4OTMsIDB4NzUsIDB4MzEsIDB4OTEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4N2EsIAotICAgIDB4YjEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjAsIDB4ZTAsIDB4MDgsIDB4ZDIsIDB4MDQsIDB4N2UsIDB4YTAsIDB4ODAsIDB4MDIsIDB4NjIsIDB4OTMsIAotICAgIDB4ZDIsIDB4MDQsIDB4MzAsIDB4ZTEsIDB4MDYsIDB4N2UsIDB4YTAsIDB4ODAsIDB4MTIsIDB4NjIsIDB4OTMsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWMsIAotICAgIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MTIsIDB4N2UsIDB4YTAsIDB4YzAsIDB4MDksIDB4NjEsIDB4MDAsIDB4MDAsIDB4MTIsIDB4NjIsIDB4YjYsIDB4MDksIDB4YjEsIAotICAgIDB4MDAsIDB4MTQsIDB4MjAsIDB4ZTAsIDB4ZGIsIDB4MjIsIDB4MDIsIDB4NDgsIDB4MzUsIDB4NzUsIDB4MzEsIDB4OTUsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjIsIAotICAgIDB4NzUsIDB4MzEsIDB4OTYsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjIsIDB4MTAsIDB4MDksIDB4MDEsIDB4MjIsIDB4MjAsIDB4MjksIDB4MDMsIDB4ZDIsIDB4MDksIAotICAgIDB4MjIsIDB4NzUsIDB4MzEsIDB4YTEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4MTQsIDB4ODEsIDB4MDAsIDB4ODAsIDB4MDYsIDB4MjAsIDB4MjksIDB4MDMsIAotICAgIDB4ZDIsIDB4MDksIDB4MjIsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MDMsIAotICAgIDB4MTIsIDB4NGMsIDB4ODgsIDB4MjAsIDB4ZTYsIDB4MDMsIDB4ZDIsIDB4MDksIDB4MjIsIDB4MzAsIDB4MzEsIDB4NDksIDB4ZDIsIDB4NzEsIDB4N2UsIDB4MzcsIAotICAgIDB4MDEsIDB4OTEsIDB4N2UsIDB4MjcsIDB4MDEsIDB4YjEsIDB4OWQsIDB4MzIsIDB4NDAsIDB4MzEsIDB4N2QsIDB4MDIsIDB4MmUsIDB4MDUsIDB4NGEsIDB4N2EsIAotICAgIDB4MDUsIDB4NGEsIDB4N2EsIDB4MzcsIDB4MDEsIDB4OTEsIDB4N2UsIDB4MzcsIDB4MDEsIDB4NzEsIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDIsIDB4YmUsIDB4NDQsIAotICAgIDB4MTEsIDB4ZTIsIDB4MzgsIDB4NjgsIDB4N2EsIDB4NDcsIDB4MDEsIDB4NzEsIDB4NzUsIDB4MzEsIDB4OTQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NTEsIAotICAgIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MTIsIDB4NjUsIDB4MmIsIDB4MTAsIDB4NzEsIDB4YzQsIDB4MjIsIDB4YzIsIDB4NzEsIDB4MmQsIDB4MjMsIDB4NjgsIAotICAgIDB4NzgsIDB4NmQsIDB4MzMsIDB4ODAsIDB4MWEsIDB4N2UsIDB4MjcsIDB4MDEsIDB4OTEsIDB4YmUsIDB4MjQsIDB4MDAsIDB4MDAsIDB4NjgsIDB4NmEsIDB4YmUsIAotICAgIDB4MjcsIDB4MDEsIDB4YjEsIDB4MjgsIDB4MDQsIDB4N2UsIDB4MjcsIDB4MDEsIDB4YjEsIDB4N2UsIDB4MzcsIDB4MDEsIDB4OTEsIDB4OWQsIDB4MzIsIDB4N2QsIAotICAgIDB4MDIsIDB4MmUsIDB4MDUsIDB4NGEsIDB4N2EsIDB4MDUsIDB4NGEsIDB4N2EsIDB4MzcsIDB4MDEsIDB4OTEsIDB4N2UsIDB4MzcsIDB4MDEsIDB4NzEsIDB4N2QsIAotICAgIDB4NDMsIDB4MmQsIDB4NDIsIDB4YmUsIDB4NDQsIDB4MTEsIDB4ZTIsIDB4MzgsIDB4MTMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4NzEsIDB4NzUsIDB4MzEsIDB4OTQsIAotICAgIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MDIsIDB4NjUsIDB4MmIsIDB4NzUsIDB4MzEsIDB4OTQsIDB4MTIsIAotICAgIDB4N2MsIDB4MTUsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4OWUsIDB4NDQsIDB4MTEsIDB4ZTMsIDB4OWQsIDB4MjQsIDB4MTIsIDB4NjUsIAotICAgIDB4MmIsIDB4N2UsIDB4MzQsIDB4MGQsIDB4ZTMsIDB4N2QsIDB4MjQsIDB4MmQsIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4NzEsIDB4MTIsIDB4NjUsIDB4MmIsIAotICAgIDB4YmUsIDB4MjUsIDB4MjAsIDB4NzgsIDB4MDMsIDB4MDIsIDB4NDksIDB4ZDcsIDB4MjIsIDB4ZDIsIDB4MDksIDB4N2UsIDB4MDQsIDB4MGQsIDB4ZTMsIDB4N2EsIAotICAgIDB4MDcsIDB4MDEsIDB4NzEsIDB4N2EsIDB4MDcsIDB4MDEsIDB4ODEsIDB4NzUsIDB4MzEsIDB4OTQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4NzUsIDB4MzEsIDB4MDAsIAotICAgIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjIsIDB4NzUsIDB4MzEsIDB4OTIsIDB4MTIsIDB4N2MsIDB4MTUsIDB4ZDIsIDB4MDQsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIAotICAgIDB4Y2EsIDB4YjgsIDB4NTQsIDB4ODIsIDB4ZGEsIDB4YjgsIDB4NzgsIDB4NzAsIDB4N2UsIDB4MzcsIDB4MDEsIDB4ZTEsIDB4N2UsIDB4MjcsIDB4MDEsIDB4YzEsIAotICAgIDB4MmUsIDB4MjQsIDB4MDAsIDB4MDIsIDB4MmQsIDB4MzIsIDB4YmUsIDB4MzQsIDB4MDQsIDB4MDAsIDB4MzgsIDB4M2MsIDB4N2QsIDB4MDIsIDB4MmUsIDB4MDUsIAotICAgIDB4NDYsIDB4N2EsIDB4MDUsIDB4NDYsIDB4N2EsIDB4MzcsIDB4MDEsIDB4ZTEsIDB4N2UsIDB4MzcsIDB4MDEsIDB4ZGYsIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDIsIAotICAgIDB4YmUsIDB4NDQsIDB4MDUsIDB4ZTIsIDB4MzgsIDB4NDQsIDB4N2EsIDB4NDcsIDB4MDEsIDB4ZGYsIDB4N2UsIDB4MjQsIDB4MDEsIDB4MDAsIDB4MmUsIDB4MjcsIAotICAgIDB4MDEsIDB4YzEsIDB4MWIsIDB4MzgsIDB4MjAsIDB4MGIsIDB4MzUsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YmUsIDB4NTAsIDB4MzgsIAotICAgIDB4NzgsIDB4MDMsIDB4MDIsIDB4NjYsIDB4MTYsIDB4MDIsIDB4NjUsIDB4ZmIsIDB4NzUsIDB4MzEsIDB4OTksIDB4MTIsIDB4N2MsIDB4MTUsIDB4MDksIDB4YjEsIAotICAgIDB4MDAsIDB4MDQsIDB4NTQsIDB4ZmEsIDB4MTksIDB4YjEsIDB4MDAsIDB4MDQsIDB4MzAsIDB4MzksIDB4MGEsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTAsIDB4NTQsIAotICAgIDB4ZmUsIDB4MTksIDB4YjEsIDB4MDAsIDB4MTAsIDB4ZDIsIDB4MTEsIDB4MjIsIDB4ODAsIDB4N2QsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIAotICAgIDB4OWUsIDB4NDQsIDB4MDUsIDB4ZTMsIDB4OWQsIDB4MjQsIDB4N2UsIDB4NjQsIDB4MDEsIDB4MDAsIDB4MmUsIDB4NjcsIDB4MDEsIDB4YzEsIDB4OWUsIDB4MjQsIAotICAgIDB4MDAsIDB4MDIsIDB4NDAsIDB4MTcsIDB4MWIsIDB4MzgsIDB4NjAsIDB4MGIsIDB4MzUsIDB4MTIsIDB4NjUsIDB4ZmIsIDB4N2UsIDB4MzQsIDB4MDEsIDB4ZTMsIAotICAgIDB4N2QsIDB4MjQsIDB4MmQsIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4ZGYsIDB4MDIsIDB4NjUsIDB4ZmIsIDB4N2EsIDB4MzksIDB4YzAsIDB4N2UsIDB4MzQsIAotICAgIDB4MDEsIDB4ZTMsIDB4N2EsIDB4MzksIDB4ZDAsIDB4MGIsIDB4MzQsIDB4MWIsIDB4NDQsIDB4ODAsIDB4ZTUsIDB4OWQsIDB4MzIsIDB4N2MsIDB4YjYsIDB4NTQsIAotICAgIDB4MGYsIDB4MjMsIDB4MjMsIDB4MjMsIDB4NDQsIDB4MDEsIDB4N2EsIDB4NjksIDB4YjAsIDB4N2EsIDB4NzksIDB4NzAsIDB4MGIsIDB4MzUsIDB4NzUsIDB4MzEsIAotICAgIDB4OTMsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NzEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YmQsIDB4MDQsIDB4NjgsIDB4MjksIDB4N2EsIDB4MDcsIAotICAgIDB4MDEsIDB4ZGYsIDB4N2UsIDB4NDcsIDB4MDEsIDB4ZTEsIDB4MmQsIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4ZTEsIDB4MmUsIDB4MzUsIDB4NDYsIDB4N2EsIAotICAgIDB4MzUsIDB4NDYsIDB4MjIsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4MjAsIDB4ZTAsIDB4MTMsIDB4MjIsIDB4N2UsIDB4MDQsIDB4MDEsIDB4ZTMsIDB4ODAsIAotICAgIDB4MmEsIDB4N2UsIDB4MDQsIDB4MDEsIDB4ZTMsIDB4ODAsIDB4MmMsIDB4N2UsIDB4MDQsIDB4MDEsIDB4ZTMsIDB4ODAsIDB4ZDEsIDB4ZDIsIDB4MDQsIDB4N2UsIAotICAgIDB4MDcsIDB4MDEsIDB4ZTEsIDB4N2UsIDB4MjQsIDB4MDMsIDB4ZmUsIDB4OWQsIDB4MjAsIDB4MjgsIDB4NDAsIDB4N2UsIDB4MDcsIDB4MDEsIDB4ZGYsIDB4N2UsIAotICAgIDB4NDQsIDB4MDUsIDB4ZTMsIDB4N2QsIDB4NjAsIDB4MGIsIDB4MDQsIDB4YmQsIDB4MDQsIDB4NjgsIDB4ZDAsIDB4N2QsIDB4NzAsIDB4MGIsIDB4MDQsIDB4YmQsIAotICAgIDB4MDQsIDB4NjgsIDB4Y2UsIDB4N2QsIDB4NTQsIDB4OWQsIDB4NTAsIDB4YmQsIDB4MjUsIDB4NDAsIDB4MDIsIDB4N2QsIDB4MjUsIDB4N2QsIDB4MzIsIDB4MDksIAotICAgIDB4YjEsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NTQsIDB4MWYsIDB4YjQsIDB4MDEsIDB4MzEsIDB4ZGEsIDB4YjgsIDB4N2UsIDB4MTksIDB4YjAsIDB4N2EsIAotICAgIDB4MDksIDB4YjAsIDB4MGIsIDB4MDQsIDB4MWIsIDB4MjQsIDB4NzgsIDB4ZTcsIDB4MDIsIDB4NGIsIDB4M2IsIDB4NzUsIDB4MzEsIDB4OTksIDB4MTIsIDB4N2MsIAotICAgIDB4MTUsIDB4MDksIDB4YjEsIDB4MDAsIDB4MDQsIDB4NTQsIDB4ZmEsIDB4MTksIDB4YjEsIDB4MDAsIDB4MDQsIDB4MzAsIDB4MzksIDB4MGEsIDB4MDksIDB4YjEsIAotICAgIDB4MDAsIDB4MTAsIDB4NTQsIDB4ZmUsIDB4MTksIDB4YjEsIDB4MDAsIDB4MTAsIDB4ZDIsIDB4MTEsIDB4MjIsIDB4ZGEsIDB4YjgsIDB4MzAsIDB4ZTAsIDB4ZDgsIAotICAgIDB4YmQsIDB4MzIsIDB4NjgsIDB4MDcsIDB4Y2EsIDB4YjgsIDB4MTIsIDB4NGIsIDB4M2IsIDB4ZGEsIDB4YjgsIDB4MDIsIDB4NGMsIDB4ODgsIDB4MDksIDB4YjEsIAotICAgIDB4MDAsIDB4MTgsIDB4N2UsIDB4YTAsIDB4ODgsIDB4NzUsIDB4MzEsIDB4OTAsIDB4MTIsIDB4N2MsIDB4MTUsIDB4ZjUsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIAotICAgIDB4YTUsIDB4ZmMsIDB4NWUsIDB4YjAsIDB4ZjAsIDB4YTUsIDB4ZmQsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTgsIDB4NGMsIDB4NGIsIDB4NWUsIDB4YjAsIDB4ZjAsIAotICAgIDB4YmMsIDB4YjUsIDB4NzgsIDB4ZjEsIDB4NWUsIDB4NDAsIDB4MGYsIDB4NGMsIDB4NTQsIDB4N2MsIDB4YjUsIDB4NWUsIDB4NTAsIDB4MGIsIDB4NjgsIDB4MmEsIAotICAgIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MTAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NjksIDB4ODAsIDB4MDIsIDB4YzIsIDB4NjksIDB4YTUsIDB4ZmQsIDB4NWUsIAotICAgIDB4NTAsIDB4MjAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NjEsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NjEsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4ODAsIDB4NjgsIAotICAgIDB4MDQsIDB4ZDIsIDB4NTksIDB4ODAsIDB4MDIsIDB4YzIsIDB4NTksIDB4MTIsIDB4NDIsIDB4ZTksIDB4MDIsIDB4NjIsIDB4OTMsIDB4NzUsIDB4MzEsIDB4OTEsIAotICAgIDB4MTIsIDB4N2MsIDB4MTUsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4N2EsIDB4YjEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjAsIDB4ZTAsIDB4MDgsIAotICAgIDB4ZDIsIDB4MDQsIDB4N2UsIDB4YTAsIDB4ODAsIDB4MDIsIDB4NjIsIDB4OTMsIDB4ZDIsIDB4MDQsIDB4MzAsIDB4ZTEsIDB4MDYsIDB4N2UsIDB4YTAsIDB4ODAsIAotICAgIDB4MTIsIDB4NjIsIDB4OTMsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWMsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MTIsIDB4N2UsIDB4YTAsIDB4YzAsIDB4MDksIAotICAgIDB4NjEsIDB4MDAsIDB4MDAsIDB4MTIsIDB4NjIsIDB4YjYsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4MjAsIDB4ZTAsIDB4ZGIsIDB4MjIsIDB4MDIsIDB4NGIsIAotICAgIDB4OGQsIDB4NzUsIDB4MzEsIDB4OTUsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjIsIDB4NzUsIDB4MzEsIDB4OTYsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjIsIDB4MTAsIAotICAgIDB4MGEsIDB4MDEsIDB4MjIsIDB4MjAsIDB4MmEsIDB4MDMsIDB4ZDIsIDB4MGEsIDB4MjIsIDB4NzUsIDB4MzEsIDB4YTIsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIAotICAgIDB4MTQsIDB4ODIsIDB4MDAsIDB4ODAsIDB4MDYsIDB4MjAsIDB4MmEsIDB4MDMsIDB4ZDIsIDB4MGEsIDB4MjIsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4Y2EsIAotICAgIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MDMsIDB4MTIsIDB4NGYsIDB4ZTAsIDB4MjAsIDB4ZTYsIDB4MDMsIDB4ZDIsIDB4MGEsIAotICAgIDB4MjIsIDB4MzAsIDB4MzIsIDB4NDksIDB4ZDIsIDB4NzIsIDB4N2UsIDB4MzcsIDB4MDEsIDB4OTMsIDB4N2UsIDB4MjcsIDB4MDEsIDB4YjMsIDB4OWQsIDB4MzIsIAotICAgIDB4NDAsIDB4MzEsIDB4N2QsIDB4MDIsIDB4MmUsIDB4MDUsIDB4NGMsIDB4N2EsIDB4MDUsIDB4NGMsIDB4N2EsIDB4MzcsIDB4MDEsIDB4OTMsIDB4N2UsIDB4MzcsIAotICAgIDB4MDEsIDB4NzMsIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDIsIDB4YmUsIDB4NDQsIDB4MTUsIDB4ZTIsIDB4MzgsIDB4NjgsIDB4N2EsIDB4NDcsIDB4MDEsIDB4NzMsIAotICAgIDB4NzUsIDB4MzEsIDB4OTQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MTIsIDB4NjUsIDB4MmIsIDB4MTAsIAotICAgIDB4NzIsIDB4YzQsIDB4MjIsIDB4YzIsIDB4NzIsIDB4MmQsIDB4MjMsIDB4NjgsIDB4NzgsIDB4NmQsIDB4MzMsIDB4ODAsIDB4MWEsIDB4N2UsIDB4MjcsIDB4MDEsIAotICAgIDB4OTMsIDB4YmUsIDB4MjQsIDB4MDAsIDB4MDAsIDB4NjgsIDB4NmEsIDB4YmUsIDB4MjcsIDB4MDEsIDB4YjMsIDB4MjgsIDB4MDQsIDB4N2UsIDB4MjcsIDB4MDEsIAotICAgIDB4YjMsIDB4N2UsIDB4MzcsIDB4MDEsIDB4OTMsIDB4OWQsIDB4MzIsIDB4N2QsIDB4MDIsIDB4MmUsIDB4MDUsIDB4NGMsIDB4N2EsIDB4MDUsIDB4NGMsIDB4N2EsIAotICAgIDB4MzcsIDB4MDEsIDB4OTMsIDB4N2UsIDB4MzcsIDB4MDEsIDB4NzMsIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDIsIDB4YmUsIDB4NDQsIDB4MTUsIDB4ZTIsIDB4MzgsIAotICAgIDB4MTMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4NzMsIDB4NzUsIDB4MzEsIDB4OTQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIAotICAgIDB4MTUsIDB4MDIsIDB4NjUsIDB4MmIsIDB4NzUsIDB4MzEsIDB4OTQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIAotICAgIDB4OWUsIDB4NDQsIDB4MTUsIDB4ZTMsIDB4OWQsIDB4MjQsIDB4MTIsIDB4NjUsIDB4MmIsIDB4N2UsIDB4MzQsIDB4MTEsIDB4ZTMsIDB4N2QsIDB4MjQsIDB4MmQsIAotICAgIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4NzMsIDB4MTIsIDB4NjUsIDB4MmIsIDB4YmUsIDB4MjUsIDB4MjAsIDB4NzgsIDB4MDMsIDB4MDIsIDB4NGQsIDB4MmYsIAotICAgIDB4MjIsIDB4ZDIsIDB4MGEsIDB4N2UsIDB4MDQsIDB4MTEsIDB4ZTMsIDB4N2EsIDB4MDcsIDB4MDEsIDB4NzMsIDB4N2EsIDB4MDcsIDB4MDEsIDB4ODMsIDB4NzUsIAotICAgIDB4MzEsIDB4OTQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4NzUsIDB4MzEsIDB4MDAsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjIsIDB4NzUsIDB4MzEsIDB4OTIsIDB4MTIsIAotICAgIDB4N2MsIDB4MTUsIDB4ZDIsIDB4MDQsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NTQsIDB4ODIsIDB4ZGEsIDB4YjgsIDB4NzgsIDB4NzAsIAotICAgIDB4N2UsIDB4MzcsIDB4MDEsIDB4ZTEsIDB4N2UsIDB4MjcsIDB4MDEsIDB4YzMsIDB4MmUsIDB4MjQsIDB4MDAsIDB4MDIsIDB4MmQsIDB4MzIsIDB4YmUsIDB4MzQsIAotICAgIDB4MDQsIDB4MDAsIDB4MzgsIDB4M2MsIDB4N2QsIDB4MDIsIDB4MmUsIDB4MDUsIDB4NDYsIDB4N2EsIDB4MDUsIDB4NDYsIDB4N2EsIDB4MzcsIDB4MDEsIDB4ZTEsIAotICAgIDB4N2UsIDB4MzcsIDB4MDEsIDB4ZGYsIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDIsIDB4YmUsIDB4NDQsIDB4MDUsIDB4ZTIsIDB4MzgsIDB4NDQsIDB4N2EsIDB4NDcsIAotICAgIDB4MDEsIDB4ZGYsIDB4N2UsIDB4MjQsIDB4MDIsIDB4MDAsIDB4MmUsIDB4MjcsIDB4MDEsIDB4YzMsIDB4MWIsIDB4MzgsIDB4MjAsIDB4MGIsIDB4MzUsIDB4N2EsIAotICAgIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YmUsIDB4NTAsIDB4MzgsIDB4NzgsIDB4MDMsIDB4MDIsIDB4NjYsIDB4MTYsIDB4MDIsIDB4NjUsIDB4ZmIsIAotICAgIDB4NzUsIDB4MzEsIDB4OTksIDB4MTIsIDB4N2MsIDB4MTUsIDB4MDksIDB4YjEsIDB4MDAsIDB4MDQsIDB4NTQsIDB4ZmEsIDB4MTksIDB4YjEsIDB4MDAsIDB4MDQsIAotICAgIDB4MzAsIDB4M2EsIDB4MGEsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTAsIDB4NTQsIDB4ZmUsIDB4MTksIDB4YjEsIDB4MDAsIDB4MTAsIDB4ZDIsIDB4MTIsIDB4MjIsIAotICAgIDB4ODAsIDB4N2QsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4OWUsIDB4NDQsIDB4MDUsIDB4ZTMsIDB4OWQsIDB4MjQsIDB4N2UsIDB4NjQsIAotICAgIDB4MDIsIDB4MDAsIDB4MmUsIDB4NjcsIDB4MDEsIDB4YzMsIDB4OWUsIDB4MjQsIDB4MDAsIDB4MDIsIDB4NDAsIDB4MTcsIDB4MWIsIDB4MzgsIDB4NjAsIDB4MGIsIAotICAgIDB4MzUsIDB4MTIsIDB4NjUsIDB4ZmIsIDB4N2UsIDB4MzQsIDB4MDEsIDB4ZTMsIDB4N2QsIDB4MjQsIDB4MmQsIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4ZGYsIAotICAgIDB4MDIsIDB4NjUsIDB4ZmIsIDB4N2EsIDB4MzksIDB4YzAsIDB4N2UsIDB4MzQsIDB4MDEsIDB4ZTMsIDB4N2EsIDB4MzksIDB4ZDAsIDB4MGIsIDB4MzQsIDB4MWIsIAotICAgIDB4NDQsIDB4ODAsIDB4ZTUsIDB4OWQsIDB4MzIsIDB4N2MsIDB4YjYsIDB4NTQsIDB4MGYsIDB4MjMsIDB4MjMsIDB4MjMsIDB4NDQsIDB4MDIsIDB4N2EsIDB4NjksIAotICAgIDB4YjAsIDB4N2EsIDB4NzksIDB4NzAsIDB4MGIsIDB4MzUsIDB4NzUsIDB4MzEsIDB4OTMsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NzEsIDB4MzEsIDB4MTIsIAotICAgIDB4N2MsIDB4MTUsIDB4YmQsIDB4MDQsIDB4NjgsIDB4MjksIDB4N2EsIDB4MDcsIDB4MDEsIDB4ZGYsIDB4N2UsIDB4NDcsIDB4MDEsIDB4ZTEsIDB4MmQsIDB4NDMsIAotICAgIDB4N2EsIDB4NDcsIDB4MDEsIDB4ZTEsIDB4MmUsIDB4MzUsIDB4NDYsIDB4N2EsIDB4MzUsIDB4NDYsIDB4MjIsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4MjAsIAotICAgIDB4ZTAsIDB4MTMsIDB4MjIsIDB4N2UsIDB4MDQsIDB4MDEsIDB4ZTMsIDB4ODAsIDB4MmEsIDB4N2UsIDB4MDQsIDB4MDEsIDB4ZTMsIDB4ODAsIDB4MmMsIDB4N2UsIAotICAgIDB4MDQsIDB4MDEsIDB4ZTMsIDB4ODAsIDB4ZDEsIDB4ZDIsIDB4MDQsIDB4N2UsIDB4MDcsIDB4MDEsIDB4ZTEsIDB4N2UsIDB4MjQsIDB4MDMsIDB4ZmUsIDB4OWQsIAotICAgIDB4MjAsIDB4MjgsIDB4NDAsIDB4N2UsIDB4MDcsIDB4MDEsIDB4ZGYsIDB4N2UsIDB4NDQsIDB4MDUsIDB4ZTMsIDB4N2QsIDB4NjAsIDB4MGIsIDB4MDQsIDB4YmQsIAotICAgIDB4MDQsIDB4NjgsIDB4ZDAsIDB4N2QsIDB4NzAsIDB4MGIsIDB4MDQsIDB4YmQsIDB4MDQsIDB4NjgsIDB4Y2UsIDB4N2QsIDB4NTQsIDB4OWQsIDB4NTAsIDB4YmQsIAotICAgIDB4MjUsIDB4NDAsIDB4MDIsIDB4N2QsIDB4MjUsIDB4N2QsIDB4MzIsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NTQsIDB4MWYsIDB4YjQsIAotICAgIDB4MDEsIDB4MzEsIDB4ZGEsIDB4YjgsIDB4N2UsIDB4MTksIDB4YjAsIDB4N2EsIDB4MDksIDB4YjAsIDB4MGIsIDB4MDQsIDB4MWIsIDB4MjQsIDB4NzgsIDB4ZTcsIAotICAgIDB4MDIsIDB4NGUsIDB4OTMsIDB4NzUsIDB4MzEsIDB4OTksIDB4MTIsIDB4N2MsIDB4MTUsIDB4MDksIDB4YjEsIDB4MDAsIDB4MDQsIDB4NTQsIDB4ZmEsIDB4MTksIAotICAgIDB4YjEsIDB4MDAsIDB4MDQsIDB4MzAsIDB4M2EsIDB4MGEsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTAsIDB4NTQsIDB4ZmUsIDB4MTksIDB4YjEsIDB4MDAsIDB4MTAsIAotICAgIDB4ZDIsIDB4MTIsIDB4MjIsIDB4ZGEsIDB4YjgsIDB4MzAsIDB4ZTAsIDB4ZDgsIDB4YmQsIDB4MzIsIDB4NjgsIDB4MDcsIDB4Y2EsIDB4YjgsIDB4MTIsIDB4NGUsIAotICAgIDB4OTMsIDB4ZGEsIDB4YjgsIDB4MDIsIDB4NGYsIDB4ZTAsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTgsIDB4N2UsIDB4YTAsIDB4ODgsIDB4NzUsIDB4MzEsIDB4OTAsIAotICAgIDB4MTIsIDB4N2MsIDB4MTUsIDB4ZjUsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YTUsIDB4ZmMsIDB4NWUsIDB4YjAsIDB4ZjAsIDB4YTUsIDB4ZmQsIDB4MDksIAotICAgIDB4YjEsIDB4MDAsIDB4MTgsIDB4NGMsIDB4NGIsIDB4NWUsIDB4YjAsIDB4ZjAsIDB4YmMsIDB4YjUsIDB4NzgsIDB4ZjEsIDB4NWUsIDB4NDAsIDB4MGYsIDB4NGMsIAotICAgIDB4NTQsIDB4N2MsIDB4YjUsIDB4NWUsIDB4NTAsIDB4MGIsIDB4NjgsIDB4MmEsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MTAsIDB4NjgsIDB4MDQsIDB4ZDIsIAotICAgIDB4NmEsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NmEsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MjAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NjIsIDB4ODAsIDB4MDIsIAotICAgIDB4YzIsIDB4NjIsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4ODAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NWEsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NWEsIDB4MTIsIAotICAgIDB4NDMsIDB4MGEsIDB4MDIsIDB4NjIsIDB4OTMsIDB4NzUsIDB4MzEsIDB4OTEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4N2EsIAotICAgIDB4YjEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjAsIDB4ZTAsIDB4MDgsIDB4ZDIsIDB4MDQsIDB4N2UsIDB4YTAsIDB4ODAsIDB4MDIsIDB4NjIsIDB4OTMsIAotICAgIDB4ZDIsIDB4MDQsIDB4MzAsIDB4ZTEsIDB4MDYsIDB4N2UsIDB4YTAsIDB4ODAsIDB4MTIsIDB4NjIsIDB4OTMsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWMsIAotICAgIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MTIsIDB4N2UsIDB4YTAsIDB4YzAsIDB4MDksIDB4NjEsIDB4MDAsIDB4MDAsIDB4MTIsIDB4NjIsIDB4YjYsIDB4MDksIDB4YjEsIAotICAgIDB4MDAsIDB4MTQsIDB4MjAsIDB4ZTAsIDB4ZGIsIDB4MjIsIDB4MDIsIDB4NGUsIDB4ZTUsIDB4NzUsIDB4MzEsIDB4OTUsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjIsIAotICAgIDB4NzUsIDB4MzEsIDB4OTYsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjIsIDB4MTAsIDB4MGIsIDB4MDEsIDB4MjIsIDB4MjAsIDB4MmIsIDB4MDMsIDB4ZDIsIDB4MGIsIAotICAgIDB4MjIsIDB4NzUsIDB4MzEsIDB4YTMsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4MTQsIDB4ODMsIDB4MDAsIDB4ODAsIDB4MDYsIDB4MjAsIDB4MmIsIDB4MDMsIAotICAgIDB4ZDIsIDB4MGIsIDB4MjIsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MDMsIAotICAgIDB4MTIsIDB4NTMsIDB4MzgsIDB4MjAsIDB4ZTYsIDB4MDMsIDB4ZDIsIDB4MGIsIDB4MjIsIDB4MzAsIDB4MzMsIDB4NDksIDB4ZDIsIDB4NzMsIDB4N2UsIDB4MzcsIAotICAgIDB4MDEsIDB4OTUsIDB4N2UsIDB4MjcsIDB4MDEsIDB4YjUsIDB4OWQsIDB4MzIsIDB4NDAsIDB4MzEsIDB4N2QsIDB4MDIsIDB4MmUsIDB4MDUsIDB4NGUsIDB4N2EsIAotICAgIDB4MDUsIDB4NGUsIDB4N2EsIDB4MzcsIDB4MDEsIDB4OTUsIDB4N2UsIDB4MzcsIDB4MDEsIDB4NzUsIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDIsIDB4YmUsIDB4NDQsIAotICAgIDB4MTksIDB4ZTIsIDB4MzgsIDB4NjgsIDB4N2EsIDB4NDcsIDB4MDEsIDB4NzUsIDB4NzUsIDB4MzEsIDB4OTQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NTEsIAotICAgIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MTIsIDB4NjUsIDB4MmIsIDB4MTAsIDB4NzMsIDB4YzQsIDB4MjIsIDB4YzIsIDB4NzMsIDB4MmQsIDB4MjMsIDB4NjgsIAotICAgIDB4NzgsIDB4NmQsIDB4MzMsIDB4ODAsIDB4MWEsIDB4N2UsIDB4MjcsIDB4MDEsIDB4OTUsIDB4YmUsIDB4MjQsIDB4MDAsIDB4MDAsIDB4NjgsIDB4NmEsIDB4YmUsIAotICAgIDB4MjcsIDB4MDEsIDB4YjUsIDB4MjgsIDB4MDQsIDB4N2UsIDB4MjcsIDB4MDEsIDB4YjUsIDB4N2UsIDB4MzcsIDB4MDEsIDB4OTUsIDB4OWQsIDB4MzIsIDB4N2QsIAotICAgIDB4MDIsIDB4MmUsIDB4MDUsIDB4NGUsIDB4N2EsIDB4MDUsIDB4NGUsIDB4N2EsIDB4MzcsIDB4MDEsIDB4OTUsIDB4N2UsIDB4MzcsIDB4MDEsIDB4NzUsIDB4N2QsIAotICAgIDB4NDMsIDB4MmQsIDB4NDIsIDB4YmUsIDB4NDQsIDB4MTksIDB4ZTIsIDB4MzgsIDB4MTMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4NzUsIDB4NzUsIDB4MzEsIDB4OTQsIAotICAgIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MDIsIDB4NjUsIDB4MmIsIDB4NzUsIDB4MzEsIDB4OTQsIDB4MTIsIAotICAgIDB4N2MsIDB4MTUsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4OWUsIDB4NDQsIDB4MTksIDB4ZTMsIDB4OWQsIDB4MjQsIDB4MTIsIDB4NjUsIAotICAgIDB4MmIsIDB4N2UsIDB4MzQsIDB4MTUsIDB4ZTMsIDB4N2QsIDB4MjQsIDB4MmQsIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4NzUsIDB4MTIsIDB4NjUsIDB4MmIsIAotICAgIDB4YmUsIDB4MjUsIDB4MjAsIDB4NzgsIDB4MDMsIDB4MDIsIDB4NTAsIDB4ODcsIDB4MjIsIDB4ZDIsIDB4MGIsIDB4N2UsIDB4MDQsIDB4MTUsIDB4ZTMsIDB4N2EsIAotICAgIDB4MDcsIDB4MDEsIDB4NzUsIDB4N2EsIDB4MDcsIDB4MDEsIDB4ODUsIDB4NzUsIDB4MzEsIDB4OTQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4NzUsIDB4MzEsIDB4MDAsIAotICAgIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjIsIDB4NzUsIDB4MzEsIDB4OTIsIDB4MTIsIDB4N2MsIDB4MTUsIDB4ZDIsIDB4MDQsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIAotICAgIDB4Y2EsIDB4YjgsIDB4NTQsIDB4ODIsIDB4ZGEsIDB4YjgsIDB4NzgsIDB4NzAsIDB4N2UsIDB4MzcsIDB4MDEsIDB4ZTEsIDB4N2UsIDB4MjcsIDB4MDEsIDB4YzUsIAotICAgIDB4MmUsIDB4MjQsIDB4MDAsIDB4MDIsIDB4MmQsIDB4MzIsIDB4YmUsIDB4MzQsIDB4MDQsIDB4MDAsIDB4MzgsIDB4M2MsIDB4N2QsIDB4MDIsIDB4MmUsIDB4MDUsIAotICAgIDB4NDYsIDB4N2EsIDB4MDUsIDB4NDYsIDB4N2EsIDB4MzcsIDB4MDEsIDB4ZTEsIDB4N2UsIDB4MzcsIDB4MDEsIDB4ZGYsIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDIsIAotICAgIDB4YmUsIDB4NDQsIDB4MDUsIDB4ZTIsIDB4MzgsIDB4NDQsIDB4N2EsIDB4NDcsIDB4MDEsIDB4ZGYsIDB4N2UsIDB4MjQsIDB4MDMsIDB4MDAsIDB4MmUsIDB4MjcsIAotICAgIDB4MDEsIDB4YzUsIDB4MWIsIDB4MzgsIDB4MjAsIDB4MGIsIDB4MzUsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YmUsIDB4NTAsIDB4MzgsIAotICAgIDB4NzgsIDB4MDMsIDB4MDIsIDB4NjYsIDB4MTYsIDB4MDIsIDB4NjUsIDB4ZmIsIDB4NzUsIDB4MzEsIDB4OTksIDB4MTIsIDB4N2MsIDB4MTUsIDB4MDksIDB4YjEsIAotICAgIDB4MDAsIDB4MDQsIDB4NTQsIDB4ZmEsIDB4MTksIDB4YjEsIDB4MDAsIDB4MDQsIDB4MzAsIDB4M2IsIDB4MGEsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTAsIDB4NTQsIAotICAgIDB4ZmUsIDB4MTksIDB4YjEsIDB4MDAsIDB4MTAsIDB4ZDIsIDB4MTMsIDB4MjIsIDB4ODAsIDB4N2QsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIAotICAgIDB4OWUsIDB4NDQsIDB4MDUsIDB4ZTMsIDB4OWQsIDB4MjQsIDB4N2UsIDB4NjQsIDB4MDMsIDB4MDAsIDB4MmUsIDB4NjcsIDB4MDEsIDB4YzUsIDB4OWUsIDB4MjQsIAotICAgIDB4MDAsIDB4MDIsIDB4NDAsIDB4MTcsIDB4MWIsIDB4MzgsIDB4NjAsIDB4MGIsIDB4MzUsIDB4MTIsIDB4NjUsIDB4ZmIsIDB4N2UsIDB4MzQsIDB4MDEsIDB4ZTMsIAotICAgIDB4N2QsIDB4MjQsIDB4MmQsIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4ZGYsIDB4MDIsIDB4NjUsIDB4ZmIsIDB4N2EsIDB4MzksIDB4YzAsIDB4N2UsIDB4MzQsIAotICAgIDB4MDEsIDB4ZTMsIDB4N2EsIDB4MzksIDB4ZDAsIDB4MGIsIDB4MzQsIDB4MWIsIDB4NDQsIDB4ODAsIDB4ZTUsIDB4OWQsIDB4MzIsIDB4N2MsIDB4YjYsIDB4NTQsIAotICAgIDB4MGYsIDB4MjMsIDB4MjMsIDB4MjMsIDB4NDQsIDB4MDMsIDB4N2EsIDB4NjksIDB4YjAsIDB4N2EsIDB4NzksIDB4NzAsIDB4MGIsIDB4MzUsIDB4NzUsIDB4MzEsIAotICAgIDB4OTMsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NzEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YmQsIDB4MDQsIDB4NjgsIDB4MjksIDB4N2EsIDB4MDcsIAotICAgIDB4MDEsIDB4ZGYsIDB4N2UsIDB4NDcsIDB4MDEsIDB4ZTEsIDB4MmQsIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4ZTEsIDB4MmUsIDB4MzUsIDB4NDYsIDB4N2EsIAotICAgIDB4MzUsIDB4NDYsIDB4MjIsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4MjAsIDB4ZTAsIDB4MTMsIDB4MjIsIDB4N2UsIDB4MDQsIDB4MDEsIDB4ZTMsIDB4ODAsIAotICAgIDB4MmEsIDB4N2UsIDB4MDQsIDB4MDEsIDB4ZTMsIDB4ODAsIDB4MmMsIDB4N2UsIDB4MDQsIDB4MDEsIDB4ZTMsIDB4ODAsIDB4ZDEsIDB4ZDIsIDB4MDQsIDB4N2UsIAotICAgIDB4MDcsIDB4MDEsIDB4ZTEsIDB4N2UsIDB4MjQsIDB4MDMsIDB4ZmUsIDB4OWQsIDB4MjAsIDB4MjgsIDB4NDAsIDB4N2UsIDB4MDcsIDB4MDEsIDB4ZGYsIDB4N2UsIAotICAgIDB4NDQsIDB4MDUsIDB4ZTMsIDB4N2QsIDB4NjAsIDB4MGIsIDB4MDQsIDB4YmQsIDB4MDQsIDB4NjgsIDB4ZDAsIDB4N2QsIDB4NzAsIDB4MGIsIDB4MDQsIDB4YmQsIAotICAgIDB4MDQsIDB4NjgsIDB4Y2UsIDB4N2QsIDB4NTQsIDB4OWQsIDB4NTAsIDB4YmQsIDB4MjUsIDB4NDAsIDB4MDIsIDB4N2QsIDB4MjUsIDB4N2QsIDB4MzIsIDB4MDksIAotICAgIDB4YjEsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NTQsIDB4MWYsIDB4YjQsIDB4MDEsIDB4MzEsIDB4ZGEsIDB4YjgsIDB4N2UsIDB4MTksIDB4YjAsIDB4N2EsIAotICAgIDB4MDksIDB4YjAsIDB4MGIsIDB4MDQsIDB4MWIsIDB4MjQsIDB4NzgsIDB4ZTcsIDB4MDIsIDB4NTEsIDB4ZWIsIDB4NzUsIDB4MzEsIDB4OTksIDB4MTIsIDB4N2MsIAotICAgIDB4MTUsIDB4MDksIDB4YjEsIDB4MDAsIDB4MDQsIDB4NTQsIDB4ZmEsIDB4MTksIDB4YjEsIDB4MDAsIDB4MDQsIDB4MzAsIDB4M2IsIDB4MGEsIDB4MDksIDB4YjEsIAotICAgIDB4MDAsIDB4MTAsIDB4NTQsIDB4ZmUsIDB4MTksIDB4YjEsIDB4MDAsIDB4MTAsIDB4ZDIsIDB4MTMsIDB4MjIsIDB4ZGEsIDB4YjgsIDB4MzAsIDB4ZTAsIDB4ZDgsIAotICAgIDB4YmQsIDB4MzIsIDB4NjgsIDB4MDcsIDB4Y2EsIDB4YjgsIDB4MTIsIDB4NTEsIDB4ZWIsIDB4ZGEsIDB4YjgsIDB4MDIsIDB4NTMsIDB4MzgsIDB4MDksIDB4YjEsIAotICAgIDB4MDAsIDB4MTgsIDB4N2UsIDB4YTAsIDB4ODgsIDB4NzUsIDB4MzEsIDB4OTAsIDB4MTIsIDB4N2MsIDB4MTUsIDB4ZjUsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIAotICAgIDB4YTUsIDB4ZmMsIDB4NWUsIDB4YjAsIDB4ZjAsIDB4YTUsIDB4ZmQsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTgsIDB4NGMsIDB4NGIsIDB4NWUsIDB4YjAsIDB4ZjAsIAotICAgIDB4YmMsIDB4YjUsIDB4NzgsIDB4ZjEsIDB4NWUsIDB4NDAsIDB4MGYsIDB4NGMsIDB4NTQsIDB4N2MsIDB4YjUsIDB4NWUsIDB4NTAsIDB4MGIsIDB4NjgsIDB4MmEsIAotICAgIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MTAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NmIsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NmIsIDB4YTUsIDB4ZmQsIDB4NWUsIAotICAgIDB4NTAsIDB4MjAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NjMsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NjMsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4ODAsIDB4NjgsIAotICAgIDB4MDQsIDB4ZDIsIDB4NWIsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NWIsIDB4MTIsIDB4NDMsIDB4MmIsIDB4MDIsIDB4NjIsIDB4OTMsIDB4NzUsIDB4MzEsIDB4OTEsIAotICAgIDB4MTIsIDB4N2MsIDB4MTUsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4N2EsIDB4YjEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjAsIDB4ZTAsIDB4MDgsIAotICAgIDB4ZDIsIDB4MDQsIDB4N2UsIDB4YTAsIDB4ODAsIDB4MDIsIDB4NjIsIDB4OTMsIDB4ZDIsIDB4MDQsIDB4MzAsIDB4ZTEsIDB4MDYsIDB4N2UsIDB4YTAsIDB4ODAsIAotICAgIDB4MTIsIDB4NjIsIDB4OTMsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWMsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MTIsIDB4N2UsIDB4YTAsIDB4YzAsIDB4MDksIAotICAgIDB4NjEsIDB4MDAsIDB4MDAsIDB4MTIsIDB4NjIsIDB4YjYsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4MjAsIDB4ZTAsIDB4ZGIsIDB4MjIsIDB4MDIsIDB4NTIsIAotICAgIDB4M2QsIDB4NzUsIDB4MzEsIDB4OTUsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjIsIDB4NzUsIDB4MzEsIDB4OTYsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjIsIDB4MTAsIAotICAgIDB4MGMsIDB4MDEsIDB4MjIsIDB4MjAsIDB4MmMsIDB4MDMsIDB4ZDIsIDB4MGMsIDB4MjIsIDB4NzUsIDB4MzEsIDB4YTQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIAotICAgIDB4MTQsIDB4ODQsIDB4MDAsIDB4ODAsIDB4MDYsIDB4MjAsIDB4MmMsIDB4MDMsIDB4ZDIsIDB4MGMsIDB4MjIsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4Y2EsIAotICAgIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MDMsIDB4MTIsIDB4NTYsIDB4OTAsIDB4MjAsIDB4ZTYsIDB4MDMsIDB4ZDIsIDB4MGMsIAotICAgIDB4MjIsIDB4MzAsIDB4MzQsIDB4NDksIDB4ZDIsIDB4NzQsIDB4N2UsIDB4MzcsIDB4MDEsIDB4OTcsIDB4N2UsIDB4MjcsIDB4MDEsIDB4YjcsIDB4OWQsIDB4MzIsIAotICAgIDB4NDAsIDB4MzEsIDB4N2QsIDB4MDIsIDB4MmUsIDB4MDUsIDB4NTAsIDB4N2EsIDB4MDUsIDB4NTAsIDB4N2EsIDB4MzcsIDB4MDEsIDB4OTcsIDB4N2UsIDB4MzcsIAotICAgIDB4MDEsIDB4NzcsIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDIsIDB4YmUsIDB4NDQsIDB4MWQsIDB4ZTIsIDB4MzgsIDB4NjgsIDB4N2EsIDB4NDcsIDB4MDEsIDB4NzcsIAotICAgIDB4NzUsIDB4MzEsIDB4OTQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MTIsIDB4NjUsIDB4MmIsIDB4MTAsIAotICAgIDB4NzQsIDB4YzQsIDB4MjIsIDB4YzIsIDB4NzQsIDB4MmQsIDB4MjMsIDB4NjgsIDB4NzgsIDB4NmQsIDB4MzMsIDB4ODAsIDB4MWEsIDB4N2UsIDB4MjcsIDB4MDEsIAotICAgIDB4OTcsIDB4YmUsIDB4MjQsIDB4MDAsIDB4MDAsIDB4NjgsIDB4NmEsIDB4YmUsIDB4MjcsIDB4MDEsIDB4YjcsIDB4MjgsIDB4MDQsIDB4N2UsIDB4MjcsIDB4MDEsIAotICAgIDB4YjcsIDB4N2UsIDB4MzcsIDB4MDEsIDB4OTcsIDB4OWQsIDB4MzIsIDB4N2QsIDB4MDIsIDB4MmUsIDB4MDUsIDB4NTAsIDB4N2EsIDB4MDUsIDB4NTAsIDB4N2EsIAotICAgIDB4MzcsIDB4MDEsIDB4OTcsIDB4N2UsIDB4MzcsIDB4MDEsIDB4NzcsIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDIsIDB4YmUsIDB4NDQsIDB4MWQsIDB4ZTIsIDB4MzgsIAotICAgIDB4MTMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4NzcsIDB4NzUsIDB4MzEsIDB4OTQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIAotICAgIDB4MTUsIDB4MDIsIDB4NjUsIDB4MmIsIDB4NzUsIDB4MzEsIDB4OTQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIAotICAgIDB4OWUsIDB4NDQsIDB4MWQsIDB4ZTMsIDB4OWQsIDB4MjQsIDB4MTIsIDB4NjUsIDB4MmIsIDB4N2UsIDB4MzQsIDB4MTksIDB4ZTMsIDB4N2QsIDB4MjQsIDB4MmQsIAotICAgIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4NzcsIDB4MTIsIDB4NjUsIDB4MmIsIDB4YmUsIDB4MjUsIDB4MjAsIDB4NzgsIDB4MDMsIDB4MDIsIDB4NTMsIDB4ZGYsIAotICAgIDB4MjIsIDB4ZDIsIDB4MGMsIDB4N2UsIDB4MDQsIDB4MTksIDB4ZTMsIDB4N2EsIDB4MDcsIDB4MDEsIDB4NzcsIDB4N2EsIDB4MDcsIDB4MDEsIDB4ODcsIDB4NzUsIAotICAgIDB4MzEsIDB4OTQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4NzUsIDB4MzEsIDB4MDAsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjIsIDB4NzUsIDB4MzEsIDB4OTIsIDB4MTIsIAotICAgIDB4N2MsIDB4MTUsIDB4ZDIsIDB4MDQsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NTQsIDB4ODIsIDB4ZGEsIDB4YjgsIDB4NzgsIDB4NzAsIAotICAgIDB4N2UsIDB4MzcsIDB4MDEsIDB4ZTEsIDB4N2UsIDB4MjcsIDB4MDEsIDB4YzcsIDB4MmUsIDB4MjQsIDB4MDAsIDB4MDIsIDB4MmQsIDB4MzIsIDB4YmUsIDB4MzQsIAotICAgIDB4MDQsIDB4MDAsIDB4MzgsIDB4M2MsIDB4N2QsIDB4MDIsIDB4MmUsIDB4MDUsIDB4NDYsIDB4N2EsIDB4MDUsIDB4NDYsIDB4N2EsIDB4MzcsIDB4MDEsIDB4ZTEsIAotICAgIDB4N2UsIDB4MzcsIDB4MDEsIDB4ZGYsIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDIsIDB4YmUsIDB4NDQsIDB4MDUsIDB4ZTIsIDB4MzgsIDB4NDQsIDB4N2EsIDB4NDcsIAotICAgIDB4MDEsIDB4ZGYsIDB4N2UsIDB4MjQsIDB4MDQsIDB4MDAsIDB4MmUsIDB4MjcsIDB4MDEsIDB4YzcsIDB4MWIsIDB4MzgsIDB4MjAsIDB4MGIsIDB4MzUsIDB4N2EsIAotICAgIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YmUsIDB4NTAsIDB4MzgsIDB4NzgsIDB4MDMsIDB4MDIsIDB4NjYsIDB4MTYsIDB4MDIsIDB4NjUsIDB4ZmIsIAotICAgIDB4NzUsIDB4MzEsIDB4OTksIDB4MTIsIDB4N2MsIDB4MTUsIDB4MDksIDB4YjEsIDB4MDAsIDB4MDQsIDB4NTQsIDB4ZmEsIDB4MTksIDB4YjEsIDB4MDAsIDB4MDQsIAotICAgIDB4MzAsIDB4M2MsIDB4MGEsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTAsIDB4NTQsIDB4ZmUsIDB4MTksIDB4YjEsIDB4MDAsIDB4MTAsIDB4ZDIsIDB4MTQsIDB4MjIsIAotICAgIDB4ODAsIDB4N2QsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4OWUsIDB4NDQsIDB4MDUsIDB4ZTMsIDB4OWQsIDB4MjQsIDB4N2UsIDB4NjQsIAotICAgIDB4MDQsIDB4MDAsIDB4MmUsIDB4NjcsIDB4MDEsIDB4YzcsIDB4OWUsIDB4MjQsIDB4MDAsIDB4MDIsIDB4NDAsIDB4MTcsIDB4MWIsIDB4MzgsIDB4NjAsIDB4MGIsIAotICAgIDB4MzUsIDB4MTIsIDB4NjUsIDB4ZmIsIDB4N2UsIDB4MzQsIDB4MDEsIDB4ZTMsIDB4N2QsIDB4MjQsIDB4MmQsIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4ZGYsIAotICAgIDB4MDIsIDB4NjUsIDB4ZmIsIDB4N2EsIDB4MzksIDB4YzAsIDB4N2UsIDB4MzQsIDB4MDEsIDB4ZTMsIDB4N2EsIDB4MzksIDB4ZDAsIDB4MGIsIDB4MzQsIDB4MWIsIAotICAgIDB4NDQsIDB4ODAsIDB4ZTUsIDB4OWQsIDB4MzIsIDB4N2MsIDB4YjYsIDB4NTQsIDB4MGYsIDB4MjMsIDB4MjMsIDB4MjMsIDB4NDQsIDB4MDQsIDB4N2EsIDB4NjksIAotICAgIDB4YjAsIDB4N2EsIDB4NzksIDB4NzAsIDB4MGIsIDB4MzUsIDB4NzUsIDB4MzEsIDB4OTMsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NzEsIDB4MzEsIDB4MTIsIAotICAgIDB4N2MsIDB4MTUsIDB4YmQsIDB4MDQsIDB4NjgsIDB4MjksIDB4N2EsIDB4MDcsIDB4MDEsIDB4ZGYsIDB4N2UsIDB4NDcsIDB4MDEsIDB4ZTEsIDB4MmQsIDB4NDMsIAotICAgIDB4N2EsIDB4NDcsIDB4MDEsIDB4ZTEsIDB4MmUsIDB4MzUsIDB4NDYsIDB4N2EsIDB4MzUsIDB4NDYsIDB4MjIsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4MjAsIAotICAgIDB4ZTAsIDB4MTMsIDB4MjIsIDB4N2UsIDB4MDQsIDB4MDEsIDB4ZTMsIDB4ODAsIDB4MmEsIDB4N2UsIDB4MDQsIDB4MDEsIDB4ZTMsIDB4ODAsIDB4MmMsIDB4N2UsIAotICAgIDB4MDQsIDB4MDEsIDB4ZTMsIDB4ODAsIDB4ZDEsIDB4ZDIsIDB4MDQsIDB4N2UsIDB4MDcsIDB4MDEsIDB4ZTEsIDB4N2UsIDB4MjQsIDB4MDMsIDB4ZmUsIDB4OWQsIAotICAgIDB4MjAsIDB4MjgsIDB4NDAsIDB4N2UsIDB4MDcsIDB4MDEsIDB4ZGYsIDB4N2UsIDB4NDQsIDB4MDUsIDB4ZTMsIDB4N2QsIDB4NjAsIDB4MGIsIDB4MDQsIDB4YmQsIAotICAgIDB4MDQsIDB4NjgsIDB4ZDAsIDB4N2QsIDB4NzAsIDB4MGIsIDB4MDQsIDB4YmQsIDB4MDQsIDB4NjgsIDB4Y2UsIDB4N2QsIDB4NTQsIDB4OWQsIDB4NTAsIDB4YmQsIAotICAgIDB4MjUsIDB4NDAsIDB4MDIsIDB4N2QsIDB4MjUsIDB4N2QsIDB4MzIsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NTQsIDB4MWYsIDB4YjQsIAotICAgIDB4MDEsIDB4MzEsIDB4ZGEsIDB4YjgsIDB4N2UsIDB4MTksIDB4YjAsIDB4N2EsIDB4MDksIDB4YjAsIDB4MGIsIDB4MDQsIDB4MWIsIDB4MjQsIDB4NzgsIDB4ZTcsIAotICAgIDB4MDIsIDB4NTUsIDB4NDMsIDB4NzUsIDB4MzEsIDB4OTksIDB4MTIsIDB4N2MsIDB4MTUsIDB4MDksIDB4YjEsIDB4MDAsIDB4MDQsIDB4NTQsIDB4ZmEsIDB4MTksIAotICAgIDB4YjEsIDB4MDAsIDB4MDQsIDB4MzAsIDB4M2MsIDB4MGEsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTAsIDB4NTQsIDB4ZmUsIDB4MTksIDB4YjEsIDB4MDAsIDB4MTAsIAotICAgIDB4ZDIsIDB4MTQsIDB4MjIsIDB4ZGEsIDB4YjgsIDB4MzAsIDB4ZTAsIDB4ZDgsIDB4YmQsIDB4MzIsIDB4NjgsIDB4MDcsIDB4Y2EsIDB4YjgsIDB4MTIsIDB4NTUsIAotICAgIDB4NDMsIDB4ZGEsIDB4YjgsIDB4MDIsIDB4NTYsIDB4OTAsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTgsIDB4N2UsIDB4YTAsIDB4ODgsIDB4NzUsIDB4MzEsIDB4OTAsIAotICAgIDB4MTIsIDB4N2MsIDB4MTUsIDB4ZjUsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YTUsIDB4ZmMsIDB4NWUsIDB4YjAsIDB4ZjAsIDB4YTUsIDB4ZmQsIDB4MDksIAotICAgIDB4YjEsIDB4MDAsIDB4MTgsIDB4NGMsIDB4NGIsIDB4NWUsIDB4YjAsIDB4ZjAsIDB4YmMsIDB4YjUsIDB4NzgsIDB4ZjEsIDB4NWUsIDB4NDAsIDB4MGYsIDB4NGMsIAotICAgIDB4NTQsIDB4N2MsIDB4YjUsIDB4NWUsIDB4NTAsIDB4MGIsIDB4NjgsIDB4MmEsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MTAsIDB4NjgsIDB4MDQsIDB4ZDIsIAotICAgIDB4NmMsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NmMsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MjAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NjQsIDB4ODAsIDB4MDIsIAotICAgIDB4YzIsIDB4NjQsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4ODAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NWMsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NWMsIDB4MTIsIAotICAgIDB4NDMsIDB4NGMsIDB4MDIsIDB4NjIsIDB4OTMsIDB4NzUsIDB4MzEsIDB4OTEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4N2EsIAotICAgIDB4YjEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjAsIDB4ZTAsIDB4MDgsIDB4ZDIsIDB4MDQsIDB4N2UsIDB4YTAsIDB4ODAsIDB4MDIsIDB4NjIsIDB4OTMsIAotICAgIDB4ZDIsIDB4MDQsIDB4MzAsIDB4ZTEsIDB4MDYsIDB4N2UsIDB4YTAsIDB4ODAsIDB4MTIsIDB4NjIsIDB4OTMsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWMsIAotICAgIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MTIsIDB4N2UsIDB4YTAsIDB4YzAsIDB4MDksIDB4NjEsIDB4MDAsIDB4MDAsIDB4MTIsIDB4NjIsIDB4YjYsIDB4MDksIDB4YjEsIAotICAgIDB4MDAsIDB4MTQsIDB4MjAsIDB4ZTAsIDB4ZGIsIDB4MjIsIDB4MDIsIDB4NTUsIDB4OTUsIDB4NzUsIDB4MzEsIDB4OTUsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjIsIAotICAgIDB4NzUsIDB4MzEsIDB4OTYsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjIsIDB4MTAsIDB4MGQsIDB4MDEsIDB4MjIsIDB4MjAsIDB4MmQsIDB4MDMsIDB4ZDIsIDB4MGQsIAotICAgIDB4MjIsIDB4NzUsIDB4MzEsIDB4YTUsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4MTQsIDB4ODUsIDB4MDAsIDB4ODAsIDB4MDYsIDB4MjAsIDB4MmQsIDB4MDMsIAotICAgIDB4ZDIsIDB4MGQsIDB4MjIsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MDMsIAotICAgIDB4MTIsIDB4NTksIDB4ZTgsIDB4MjAsIDB4ZTYsIDB4MDMsIDB4ZDIsIDB4MGQsIDB4MjIsIDB4MzAsIDB4MzUsIDB4NDksIDB4ZDIsIDB4NzUsIDB4N2UsIDB4MzcsIAotICAgIDB4MDEsIDB4OTksIDB4N2UsIDB4MjcsIDB4MDEsIDB4YjksIDB4OWQsIDB4MzIsIDB4NDAsIDB4MzEsIDB4N2QsIDB4MDIsIDB4MmUsIDB4MDUsIDB4NTIsIDB4N2EsIAotICAgIDB4MDUsIDB4NTIsIDB4N2EsIDB4MzcsIDB4MDEsIDB4OTksIDB4N2UsIDB4MzcsIDB4MDEsIDB4NzksIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDIsIDB4YmUsIDB4NDQsIAotICAgIDB4MjEsIDB4ZTIsIDB4MzgsIDB4NjgsIDB4N2EsIDB4NDcsIDB4MDEsIDB4NzksIDB4NzUsIDB4MzEsIDB4OTQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NTEsIAotICAgIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MTIsIDB4NjUsIDB4MmIsIDB4MTAsIDB4NzUsIDB4YzQsIDB4MjIsIDB4YzIsIDB4NzUsIDB4MmQsIDB4MjMsIDB4NjgsIAotICAgIDB4NzgsIDB4NmQsIDB4MzMsIDB4ODAsIDB4MWEsIDB4N2UsIDB4MjcsIDB4MDEsIDB4OTksIDB4YmUsIDB4MjQsIDB4MDAsIDB4MDAsIDB4NjgsIDB4NmEsIDB4YmUsIAotICAgIDB4MjcsIDB4MDEsIDB4YjksIDB4MjgsIDB4MDQsIDB4N2UsIDB4MjcsIDB4MDEsIDB4YjksIDB4N2UsIDB4MzcsIDB4MDEsIDB4OTksIDB4OWQsIDB4MzIsIDB4N2QsIAotICAgIDB4MDIsIDB4MmUsIDB4MDUsIDB4NTIsIDB4N2EsIDB4MDUsIDB4NTIsIDB4N2EsIDB4MzcsIDB4MDEsIDB4OTksIDB4N2UsIDB4MzcsIDB4MDEsIDB4NzksIDB4N2QsIAotICAgIDB4NDMsIDB4MmQsIDB4NDIsIDB4YmUsIDB4NDQsIDB4MjEsIDB4ZTIsIDB4MzgsIDB4MTMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4NzksIDB4NzUsIDB4MzEsIDB4OTQsIAotICAgIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MDIsIDB4NjUsIDB4MmIsIDB4NzUsIDB4MzEsIDB4OTQsIDB4MTIsIAotICAgIDB4N2MsIDB4MTUsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4OWUsIDB4NDQsIDB4MjEsIDB4ZTMsIDB4OWQsIDB4MjQsIDB4MTIsIDB4NjUsIAotICAgIDB4MmIsIDB4N2UsIDB4MzQsIDB4MWQsIDB4ZTMsIDB4N2QsIDB4MjQsIDB4MmQsIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4NzksIDB4MTIsIDB4NjUsIDB4MmIsIAotICAgIDB4YmUsIDB4MjUsIDB4MjAsIDB4NzgsIDB4MDMsIDB4MDIsIDB4NTcsIDB4MzcsIDB4MjIsIDB4ZDIsIDB4MGQsIDB4N2UsIDB4MDQsIDB4MWQsIDB4ZTMsIDB4N2EsIAotICAgIDB4MDcsIDB4MDEsIDB4NzksIDB4N2EsIDB4MDcsIDB4MDEsIDB4ODksIDB4NzUsIDB4MzEsIDB4OTQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4NzUsIDB4MzEsIDB4MDAsIAotICAgIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjIsIDB4NzUsIDB4MzEsIDB4OTIsIDB4MTIsIDB4N2MsIDB4MTUsIDB4ZDIsIDB4MDQsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIAotICAgIDB4Y2EsIDB4YjgsIDB4NTQsIDB4ODIsIDB4ZGEsIDB4YjgsIDB4NzgsIDB4NzAsIDB4N2UsIDB4MzcsIDB4MDEsIDB4ZTEsIDB4N2UsIDB4MjcsIDB4MDEsIDB4YzksIAotICAgIDB4MmUsIDB4MjQsIDB4MDAsIDB4MDIsIDB4MmQsIDB4MzIsIDB4YmUsIDB4MzQsIDB4MDQsIDB4MDAsIDB4MzgsIDB4M2MsIDB4N2QsIDB4MDIsIDB4MmUsIDB4MDUsIAotICAgIDB4NDYsIDB4N2EsIDB4MDUsIDB4NDYsIDB4N2EsIDB4MzcsIDB4MDEsIDB4ZTEsIDB4N2UsIDB4MzcsIDB4MDEsIDB4ZGYsIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDIsIAotICAgIDB4YmUsIDB4NDQsIDB4MDUsIDB4ZTIsIDB4MzgsIDB4NDQsIDB4N2EsIDB4NDcsIDB4MDEsIDB4ZGYsIDB4N2UsIDB4MjQsIDB4MDUsIDB4MDAsIDB4MmUsIDB4MjcsIAotICAgIDB4MDEsIDB4YzksIDB4MWIsIDB4MzgsIDB4MjAsIDB4MGIsIDB4MzUsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YmUsIDB4NTAsIDB4MzgsIAotICAgIDB4NzgsIDB4MDMsIDB4MDIsIDB4NjYsIDB4MTYsIDB4MDIsIDB4NjUsIDB4ZmIsIDB4NzUsIDB4MzEsIDB4OTksIDB4MTIsIDB4N2MsIDB4MTUsIDB4MDksIDB4YjEsIAotICAgIDB4MDAsIDB4MDQsIDB4NTQsIDB4ZmEsIDB4MTksIDB4YjEsIDB4MDAsIDB4MDQsIDB4MzAsIDB4M2QsIDB4MGEsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTAsIDB4NTQsIAotICAgIDB4ZmUsIDB4MTksIDB4YjEsIDB4MDAsIDB4MTAsIDB4ZDIsIDB4MTUsIDB4MjIsIDB4ODAsIDB4N2QsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIAotICAgIDB4OWUsIDB4NDQsIDB4MDUsIDB4ZTMsIDB4OWQsIDB4MjQsIDB4N2UsIDB4NjQsIDB4MDUsIDB4MDAsIDB4MmUsIDB4NjcsIDB4MDEsIDB4YzksIDB4OWUsIDB4MjQsIAotICAgIDB4MDAsIDB4MDIsIDB4NDAsIDB4MTcsIDB4MWIsIDB4MzgsIDB4NjAsIDB4MGIsIDB4MzUsIDB4MTIsIDB4NjUsIDB4ZmIsIDB4N2UsIDB4MzQsIDB4MDEsIDB4ZTMsIAotICAgIDB4N2QsIDB4MjQsIDB4MmQsIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4ZGYsIDB4MDIsIDB4NjUsIDB4ZmIsIDB4N2EsIDB4MzksIDB4YzAsIDB4N2UsIDB4MzQsIAotICAgIDB4MDEsIDB4ZTMsIDB4N2EsIDB4MzksIDB4ZDAsIDB4MGIsIDB4MzQsIDB4MWIsIDB4NDQsIDB4ODAsIDB4ZTUsIDB4OWQsIDB4MzIsIDB4N2MsIDB4YjYsIDB4NTQsIAotICAgIDB4MGYsIDB4MjMsIDB4MjMsIDB4MjMsIDB4NDQsIDB4MDUsIDB4N2EsIDB4NjksIDB4YjAsIDB4N2EsIDB4NzksIDB4NzAsIDB4MGIsIDB4MzUsIDB4NzUsIDB4MzEsIAotICAgIDB4OTMsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NzEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YmQsIDB4MDQsIDB4NjgsIDB4MjksIDB4N2EsIDB4MDcsIAotICAgIDB4MDEsIDB4ZGYsIDB4N2UsIDB4NDcsIDB4MDEsIDB4ZTEsIDB4MmQsIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4ZTEsIDB4MmUsIDB4MzUsIDB4NDYsIDB4N2EsIAotICAgIDB4MzUsIDB4NDYsIDB4MjIsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4MjAsIDB4ZTAsIDB4MTMsIDB4MjIsIDB4N2UsIDB4MDQsIDB4MDEsIDB4ZTMsIDB4ODAsIAotICAgIDB4MmEsIDB4N2UsIDB4MDQsIDB4MDEsIDB4ZTMsIDB4ODAsIDB4MmMsIDB4N2UsIDB4MDQsIDB4MDEsIDB4ZTMsIDB4ODAsIDB4ZDEsIDB4ZDIsIDB4MDQsIDB4N2UsIAotICAgIDB4MDcsIDB4MDEsIDB4ZTEsIDB4N2UsIDB4MjQsIDB4MDMsIDB4ZmUsIDB4OWQsIDB4MjAsIDB4MjgsIDB4NDAsIDB4N2UsIDB4MDcsIDB4MDEsIDB4ZGYsIDB4N2UsIAotICAgIDB4NDQsIDB4MDUsIDB4ZTMsIDB4N2QsIDB4NjAsIDB4MGIsIDB4MDQsIDB4YmQsIDB4MDQsIDB4NjgsIDB4ZDAsIDB4N2QsIDB4NzAsIDB4MGIsIDB4MDQsIDB4YmQsIAotICAgIDB4MDQsIDB4NjgsIDB4Y2UsIDB4N2QsIDB4NTQsIDB4OWQsIDB4NTAsIDB4YmQsIDB4MjUsIDB4NDAsIDB4MDIsIDB4N2QsIDB4MjUsIDB4N2QsIDB4MzIsIDB4MDksIAotICAgIDB4YjEsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NTQsIDB4MWYsIDB4YjQsIDB4MDEsIDB4MzEsIDB4ZGEsIDB4YjgsIDB4N2UsIDB4MTksIDB4YjAsIDB4N2EsIAotICAgIDB4MDksIDB4YjAsIDB4MGIsIDB4MDQsIDB4MWIsIDB4MjQsIDB4NzgsIDB4ZTcsIDB4MDIsIDB4NTgsIDB4OWIsIDB4NzUsIDB4MzEsIDB4OTksIDB4MTIsIDB4N2MsIAotICAgIDB4MTUsIDB4MDksIDB4YjEsIDB4MDAsIDB4MDQsIDB4NTQsIDB4ZmEsIDB4MTksIDB4YjEsIDB4MDAsIDB4MDQsIDB4MzAsIDB4M2QsIDB4MGEsIDB4MDksIDB4YjEsIAotICAgIDB4MDAsIDB4MTAsIDB4NTQsIDB4ZmUsIDB4MTksIDB4YjEsIDB4MDAsIDB4MTAsIDB4ZDIsIDB4MTUsIDB4MjIsIDB4ZGEsIDB4YjgsIDB4MzAsIDB4ZTAsIDB4ZDgsIAotICAgIDB4YmQsIDB4MzIsIDB4NjgsIDB4MDcsIDB4Y2EsIDB4YjgsIDB4MTIsIDB4NTgsIDB4OWIsIDB4ZGEsIDB4YjgsIDB4MDIsIDB4NTksIDB4ZTgsIDB4MDksIDB4YjEsIAotICAgIDB4MDAsIDB4MTgsIDB4N2UsIDB4YTAsIDB4ODgsIDB4NzUsIDB4MzEsIDB4OTAsIDB4MTIsIDB4N2MsIDB4MTUsIDB4ZjUsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIAotICAgIDB4YTUsIDB4ZmMsIDB4NWUsIDB4YjAsIDB4ZjAsIDB4YTUsIDB4ZmQsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTgsIDB4NGMsIDB4NGIsIDB4NWUsIDB4YjAsIDB4ZjAsIAotICAgIDB4YmMsIDB4YjUsIDB4NzgsIDB4ZjEsIDB4NWUsIDB4NDAsIDB4MGYsIDB4NGMsIDB4NTQsIDB4N2MsIDB4YjUsIDB4NWUsIDB4NTAsIDB4MGIsIDB4NjgsIDB4MmEsIAotICAgIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MTAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NmQsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NmQsIDB4YTUsIDB4ZmQsIDB4NWUsIAotICAgIDB4NTAsIDB4MjAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NjUsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NjUsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4ODAsIDB4NjgsIAotICAgIDB4MDQsIDB4ZDIsIDB4NWQsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NWQsIDB4MTIsIDB4NDMsIDB4NmQsIDB4MDIsIDB4NjIsIDB4OTMsIDB4NzUsIDB4MzEsIDB4OTEsIAotICAgIDB4MTIsIDB4N2MsIDB4MTUsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4N2EsIDB4YjEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjAsIDB4ZTAsIDB4MDgsIAotICAgIDB4ZDIsIDB4MDQsIDB4N2UsIDB4YTAsIDB4ODAsIDB4MDIsIDB4NjIsIDB4OTMsIDB4ZDIsIDB4MDQsIDB4MzAsIDB4ZTEsIDB4MDYsIDB4N2UsIDB4YTAsIDB4ODAsIAotICAgIDB4MTIsIDB4NjIsIDB4OTMsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWMsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MTIsIDB4N2UsIDB4YTAsIDB4YzAsIDB4MDksIAotICAgIDB4NjEsIDB4MDAsIDB4MDAsIDB4MTIsIDB4NjIsIDB4YjYsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4MjAsIDB4ZTAsIDB4ZGIsIDB4MjIsIDB4MDIsIDB4NTgsIAotICAgIDB4ZWQsIDB4NzUsIDB4MzEsIDB4OTUsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjIsIDB4NzUsIDB4MzEsIDB4OTYsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjIsIDB4MTAsIAotICAgIDB4MGUsIDB4MDEsIDB4MjIsIDB4MjAsIDB4MmUsIDB4MDMsIDB4ZDIsIDB4MGUsIDB4MjIsIDB4NzUsIDB4MzEsIDB4YTYsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIAotICAgIDB4MTQsIDB4ODYsIDB4MDAsIDB4ODAsIDB4MDYsIDB4MjAsIDB4MmUsIDB4MDMsIDB4ZDIsIDB4MGUsIDB4MjIsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4Y2EsIAotICAgIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MDMsIDB4MTIsIDB4NWQsIDB4NDAsIDB4MjAsIDB4ZTYsIDB4MDMsIDB4ZDIsIDB4MGUsIAotICAgIDB4MjIsIDB4MzAsIDB4MzYsIDB4NDksIDB4ZDIsIDB4NzYsIDB4N2UsIDB4MzcsIDB4MDEsIDB4OWIsIDB4N2UsIDB4MjcsIDB4MDEsIDB4YmIsIDB4OWQsIDB4MzIsIAotICAgIDB4NDAsIDB4MzEsIDB4N2QsIDB4MDIsIDB4MmUsIDB4MDUsIDB4NTQsIDB4N2EsIDB4MDUsIDB4NTQsIDB4N2EsIDB4MzcsIDB4MDEsIDB4OWIsIDB4N2UsIDB4MzcsIAotICAgIDB4MDEsIDB4N2IsIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDIsIDB4YmUsIDB4NDQsIDB4MjUsIDB4ZTIsIDB4MzgsIDB4NjgsIDB4N2EsIDB4NDcsIDB4MDEsIDB4N2IsIAotICAgIDB4NzUsIDB4MzEsIDB4OTQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MTIsIDB4NjUsIDB4MmIsIDB4MTAsIAotICAgIDB4NzYsIDB4YzQsIDB4MjIsIDB4YzIsIDB4NzYsIDB4MmQsIDB4MjMsIDB4NjgsIDB4NzgsIDB4NmQsIDB4MzMsIDB4ODAsIDB4MWEsIDB4N2UsIDB4MjcsIDB4MDEsIAotICAgIDB4OWIsIDB4YmUsIDB4MjQsIDB4MDAsIDB4MDAsIDB4NjgsIDB4NmEsIDB4YmUsIDB4MjcsIDB4MDEsIDB4YmIsIDB4MjgsIDB4MDQsIDB4N2UsIDB4MjcsIDB4MDEsIAotICAgIDB4YmIsIDB4N2UsIDB4MzcsIDB4MDEsIDB4OWIsIDB4OWQsIDB4MzIsIDB4N2QsIDB4MDIsIDB4MmUsIDB4MDUsIDB4NTQsIDB4N2EsIDB4MDUsIDB4NTQsIDB4N2EsIAotICAgIDB4MzcsIDB4MDEsIDB4OWIsIDB4N2UsIDB4MzcsIDB4MDEsIDB4N2IsIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDIsIDB4YmUsIDB4NDQsIDB4MjUsIDB4ZTIsIDB4MzgsIAotICAgIDB4MTMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4N2IsIDB4NzUsIDB4MzEsIDB4OTQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIAotICAgIDB4MTUsIDB4MDIsIDB4NjUsIDB4MmIsIDB4NzUsIDB4MzEsIDB4OTQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIAotICAgIDB4OWUsIDB4NDQsIDB4MjUsIDB4ZTMsIDB4OWQsIDB4MjQsIDB4MTIsIDB4NjUsIDB4MmIsIDB4N2UsIDB4MzQsIDB4MjEsIDB4ZTMsIDB4N2QsIDB4MjQsIDB4MmQsIAotICAgIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4N2IsIDB4MTIsIDB4NjUsIDB4MmIsIDB4YmUsIDB4MjUsIDB4MjAsIDB4NzgsIDB4MDMsIDB4MDIsIDB4NWEsIDB4OGYsIAotICAgIDB4MjIsIDB4ZDIsIDB4MGUsIDB4N2UsIDB4MDQsIDB4MjEsIDB4ZTMsIDB4N2EsIDB4MDcsIDB4MDEsIDB4N2IsIDB4N2EsIDB4MDcsIDB4MDEsIDB4OGIsIDB4NzUsIAotICAgIDB4MzEsIDB4OTQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4NzUsIDB4MzEsIDB4MDAsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjIsIDB4NzUsIDB4MzEsIDB4OTIsIDB4MTIsIAotICAgIDB4N2MsIDB4MTUsIDB4ZDIsIDB4MDQsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NTQsIDB4ODIsIDB4ZGEsIDB4YjgsIDB4NzgsIDB4NzAsIAotICAgIDB4N2UsIDB4MzcsIDB4MDEsIDB4ZTEsIDB4N2UsIDB4MjcsIDB4MDEsIDB4Y2IsIDB4MmUsIDB4MjQsIDB4MDAsIDB4MDIsIDB4MmQsIDB4MzIsIDB4YmUsIDB4MzQsIAotICAgIDB4MDQsIDB4MDAsIDB4MzgsIDB4M2MsIDB4N2QsIDB4MDIsIDB4MmUsIDB4MDUsIDB4NDYsIDB4N2EsIDB4MDUsIDB4NDYsIDB4N2EsIDB4MzcsIDB4MDEsIDB4ZTEsIAotICAgIDB4N2UsIDB4MzcsIDB4MDEsIDB4ZGYsIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDIsIDB4YmUsIDB4NDQsIDB4MDUsIDB4ZTIsIDB4MzgsIDB4NDQsIDB4N2EsIDB4NDcsIAotICAgIDB4MDEsIDB4ZGYsIDB4N2UsIDB4MjQsIDB4MDYsIDB4MDAsIDB4MmUsIDB4MjcsIDB4MDEsIDB4Y2IsIDB4MWIsIDB4MzgsIDB4MjAsIDB4MGIsIDB4MzUsIDB4N2EsIAotICAgIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YmUsIDB4NTAsIDB4MzgsIDB4NzgsIDB4MDMsIDB4MDIsIDB4NjYsIDB4MTYsIDB4MDIsIDB4NjUsIDB4ZmIsIAotICAgIDB4NzUsIDB4MzEsIDB4OTksIDB4MTIsIDB4N2MsIDB4MTUsIDB4MDksIDB4YjEsIDB4MDAsIDB4MDQsIDB4NTQsIDB4ZmEsIDB4MTksIDB4YjEsIDB4MDAsIDB4MDQsIAotICAgIDB4MzAsIDB4M2UsIDB4MGEsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTAsIDB4NTQsIDB4ZmUsIDB4MTksIDB4YjEsIDB4MDAsIDB4MTAsIDB4ZDIsIDB4MTYsIDB4MjIsIAotICAgIDB4ODAsIDB4N2QsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4OWUsIDB4NDQsIDB4MDUsIDB4ZTMsIDB4OWQsIDB4MjQsIDB4N2UsIDB4NjQsIAotICAgIDB4MDYsIDB4MDAsIDB4MmUsIDB4NjcsIDB4MDEsIDB4Y2IsIDB4OWUsIDB4MjQsIDB4MDAsIDB4MDIsIDB4NDAsIDB4MTcsIDB4MWIsIDB4MzgsIDB4NjAsIDB4MGIsIAotICAgIDB4MzUsIDB4MTIsIDB4NjUsIDB4ZmIsIDB4N2UsIDB4MzQsIDB4MDEsIDB4ZTMsIDB4N2QsIDB4MjQsIDB4MmQsIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4ZGYsIAotICAgIDB4MDIsIDB4NjUsIDB4ZmIsIDB4N2EsIDB4MzksIDB4YzAsIDB4N2UsIDB4MzQsIDB4MDEsIDB4ZTMsIDB4N2EsIDB4MzksIDB4ZDAsIDB4MGIsIDB4MzQsIDB4MWIsIAotICAgIDB4NDQsIDB4ODAsIDB4ZTUsIDB4OWQsIDB4MzIsIDB4N2MsIDB4YjYsIDB4NTQsIDB4MGYsIDB4MjMsIDB4MjMsIDB4MjMsIDB4NDQsIDB4MDYsIDB4N2EsIDB4NjksIAotICAgIDB4YjAsIDB4N2EsIDB4NzksIDB4NzAsIDB4MGIsIDB4MzUsIDB4NzUsIDB4MzEsIDB4OTMsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NzEsIDB4MzEsIDB4MTIsIAotICAgIDB4N2MsIDB4MTUsIDB4YmQsIDB4MDQsIDB4NjgsIDB4MjksIDB4N2EsIDB4MDcsIDB4MDEsIDB4ZGYsIDB4N2UsIDB4NDcsIDB4MDEsIDB4ZTEsIDB4MmQsIDB4NDMsIAotICAgIDB4N2EsIDB4NDcsIDB4MDEsIDB4ZTEsIDB4MmUsIDB4MzUsIDB4NDYsIDB4N2EsIDB4MzUsIDB4NDYsIDB4MjIsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4MjAsIAotICAgIDB4ZTAsIDB4MTMsIDB4MjIsIDB4N2UsIDB4MDQsIDB4MDEsIDB4ZTMsIDB4ODAsIDB4MmEsIDB4N2UsIDB4MDQsIDB4MDEsIDB4ZTMsIDB4ODAsIDB4MmMsIDB4N2UsIAotICAgIDB4MDQsIDB4MDEsIDB4ZTMsIDB4ODAsIDB4ZDEsIDB4ZDIsIDB4MDQsIDB4N2UsIDB4MDcsIDB4MDEsIDB4ZTEsIDB4N2UsIDB4MjQsIDB4MDMsIDB4ZmUsIDB4OWQsIAotICAgIDB4MjAsIDB4MjgsIDB4NDAsIDB4N2UsIDB4MDcsIDB4MDEsIDB4ZGYsIDB4N2UsIDB4NDQsIDB4MDUsIDB4ZTMsIDB4N2QsIDB4NjAsIDB4MGIsIDB4MDQsIDB4YmQsIAotICAgIDB4MDQsIDB4NjgsIDB4ZDAsIDB4N2QsIDB4NzAsIDB4MGIsIDB4MDQsIDB4YmQsIDB4MDQsIDB4NjgsIDB4Y2UsIDB4N2QsIDB4NTQsIDB4OWQsIDB4NTAsIDB4YmQsIAotICAgIDB4MjUsIDB4NDAsIDB4MDIsIDB4N2QsIDB4MjUsIDB4N2QsIDB4MzIsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NTQsIDB4MWYsIDB4YjQsIAotICAgIDB4MDEsIDB4MzEsIDB4ZGEsIDB4YjgsIDB4N2UsIDB4MTksIDB4YjAsIDB4N2EsIDB4MDksIDB4YjAsIDB4MGIsIDB4MDQsIDB4MWIsIDB4MjQsIDB4NzgsIDB4ZTcsIAotICAgIDB4MDIsIDB4NWIsIDB4ZjMsIDB4NzUsIDB4MzEsIDB4OTksIDB4MTIsIDB4N2MsIDB4MTUsIDB4MDksIDB4YjEsIDB4MDAsIDB4MDQsIDB4NTQsIDB4ZmEsIDB4MTksIAotICAgIDB4YjEsIDB4MDAsIDB4MDQsIDB4MzAsIDB4M2UsIDB4MGEsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTAsIDB4NTQsIDB4ZmUsIDB4MTksIDB4YjEsIDB4MDAsIDB4MTAsIAotICAgIDB4ZDIsIDB4MTYsIDB4MjIsIDB4ZGEsIDB4YjgsIDB4MzAsIDB4ZTAsIDB4ZDgsIDB4YmQsIDB4MzIsIDB4NjgsIDB4MDcsIDB4Y2EsIDB4YjgsIDB4MTIsIDB4NWIsIAotICAgIDB4ZjMsIDB4ZGEsIDB4YjgsIDB4MDIsIDB4NWQsIDB4NDAsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTgsIDB4N2UsIDB4YTAsIDB4ODgsIDB4NzUsIDB4MzEsIDB4OTAsIAotICAgIDB4MTIsIDB4N2MsIDB4MTUsIDB4ZjUsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YTUsIDB4ZmMsIDB4NWUsIDB4YjAsIDB4ZjAsIDB4YTUsIDB4ZmQsIDB4MDksIAotICAgIDB4YjEsIDB4MDAsIDB4MTgsIDB4NGMsIDB4NGIsIDB4NWUsIDB4YjAsIDB4ZjAsIDB4YmMsIDB4YjUsIDB4NzgsIDB4ZjEsIDB4NWUsIDB4NDAsIDB4MGYsIDB4NGMsIAotICAgIDB4NTQsIDB4N2MsIDB4YjUsIDB4NWUsIDB4NTAsIDB4MGIsIDB4NjgsIDB4MmEsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MTAsIDB4NjgsIDB4MDQsIDB4ZDIsIAotICAgIDB4NmUsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NmUsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MjAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NjYsIDB4ODAsIDB4MDIsIAotICAgIDB4YzIsIDB4NjYsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4ODAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NWUsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NWUsIDB4MTIsIAotICAgIDB4NDMsIDB4OGUsIDB4MDIsIDB4NjIsIDB4OTMsIDB4NzUsIDB4MzEsIDB4OTEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4N2EsIAotICAgIDB4YjEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjAsIDB4ZTAsIDB4MDgsIDB4ZDIsIDB4MDQsIDB4N2UsIDB4YTAsIDB4ODAsIDB4MDIsIDB4NjIsIDB4OTMsIAotICAgIDB4ZDIsIDB4MDQsIDB4MzAsIDB4ZTEsIDB4MDYsIDB4N2UsIDB4YTAsIDB4ODAsIDB4MTIsIDB4NjIsIDB4OTMsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWMsIAotICAgIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MTIsIDB4N2UsIDB4YTAsIDB4YzAsIDB4MDksIDB4NjEsIDB4MDAsIDB4MDAsIDB4MTIsIDB4NjIsIDB4YjYsIDB4MDksIDB4YjEsIAotICAgIDB4MDAsIDB4MTQsIDB4MjAsIDB4ZTAsIDB4ZGIsIDB4MjIsIDB4MDIsIDB4NWMsIDB4NDUsIDB4NzUsIDB4MzEsIDB4OTUsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjIsIAotICAgIDB4NzUsIDB4MzEsIDB4OTYsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjIsIDB4MTAsIDB4MGYsIDB4MDEsIDB4MjIsIDB4MjAsIDB4MmYsIDB4MDMsIDB4ZDIsIDB4MGYsIAotICAgIDB4MjIsIDB4NzUsIDB4MzEsIDB4YTcsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4MTQsIDB4ODcsIDB4MDAsIDB4ODAsIDB4MDYsIDB4MjAsIDB4MmYsIDB4MDMsIAotICAgIDB4ZDIsIDB4MGYsIDB4MjIsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MDMsIAotICAgIDB4MTIsIDB4NjAsIDB4OTgsIDB4MjAsIDB4ZTYsIDB4MDMsIDB4ZDIsIDB4MGYsIDB4MjIsIDB4MzAsIDB4MzcsIDB4NDksIDB4ZDIsIDB4NzcsIDB4N2UsIDB4MzcsIAotICAgIDB4MDEsIDB4OWQsIDB4N2UsIDB4MjcsIDB4MDEsIDB4YmQsIDB4OWQsIDB4MzIsIDB4NDAsIDB4MzEsIDB4N2QsIDB4MDIsIDB4MmUsIDB4MDUsIDB4NTYsIDB4N2EsIAotICAgIDB4MDUsIDB4NTYsIDB4N2EsIDB4MzcsIDB4MDEsIDB4OWQsIDB4N2UsIDB4MzcsIDB4MDEsIDB4N2QsIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDIsIDB4YmUsIDB4NDQsIAotICAgIDB4MjksIDB4ZTIsIDB4MzgsIDB4NjgsIDB4N2EsIDB4NDcsIDB4MDEsIDB4N2QsIDB4NzUsIDB4MzEsIDB4OTQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NTEsIAotICAgIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MTIsIDB4NjUsIDB4MmIsIDB4MTAsIDB4NzcsIDB4YzQsIDB4MjIsIDB4YzIsIDB4NzcsIDB4MmQsIDB4MjMsIDB4NjgsIAotICAgIDB4NzgsIDB4NmQsIDB4MzMsIDB4ODAsIDB4MWEsIDB4N2UsIDB4MjcsIDB4MDEsIDB4OWQsIDB4YmUsIDB4MjQsIDB4MDAsIDB4MDAsIDB4NjgsIDB4NmEsIDB4YmUsIAotICAgIDB4MjcsIDB4MDEsIDB4YmQsIDB4MjgsIDB4MDQsIDB4N2UsIDB4MjcsIDB4MDEsIDB4YmQsIDB4N2UsIDB4MzcsIDB4MDEsIDB4OWQsIDB4OWQsIDB4MzIsIDB4N2QsIAotICAgIDB4MDIsIDB4MmUsIDB4MDUsIDB4NTYsIDB4N2EsIDB4MDUsIDB4NTYsIDB4N2EsIDB4MzcsIDB4MDEsIDB4OWQsIDB4N2UsIDB4MzcsIDB4MDEsIDB4N2QsIDB4N2QsIAotICAgIDB4NDMsIDB4MmQsIDB4NDIsIDB4YmUsIDB4NDQsIDB4MjksIDB4ZTIsIDB4MzgsIDB4MTMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4N2QsIDB4NzUsIDB4MzEsIDB4OTQsIAotICAgIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MDIsIDB4NjUsIDB4MmIsIDB4NzUsIDB4MzEsIDB4OTQsIDB4MTIsIAotICAgIDB4N2MsIDB4MTUsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4OWUsIDB4NDQsIDB4MjksIDB4ZTMsIDB4OWQsIDB4MjQsIDB4MTIsIDB4NjUsIAotICAgIDB4MmIsIDB4N2UsIDB4MzQsIDB4MjUsIDB4ZTMsIDB4N2QsIDB4MjQsIDB4MmQsIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4N2QsIDB4MTIsIDB4NjUsIDB4MmIsIAotICAgIDB4YmUsIDB4MjUsIDB4MjAsIDB4NzgsIDB4MDMsIDB4MDIsIDB4NWQsIDB4ZTcsIDB4MjIsIDB4ZDIsIDB4MGYsIDB4N2UsIDB4MDQsIDB4MjUsIDB4ZTMsIDB4N2EsIAotICAgIDB4MDcsIDB4MDEsIDB4N2QsIDB4N2EsIDB4MDcsIDB4MDEsIDB4OGQsIDB4NzUsIDB4MzEsIDB4OTQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4NzUsIDB4MzEsIDB4MDAsIAotICAgIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjIsIDB4NzUsIDB4MzEsIDB4OTIsIDB4MTIsIDB4N2MsIDB4MTUsIDB4ZDIsIDB4MDQsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIAotICAgIDB4Y2EsIDB4YjgsIDB4NTQsIDB4ODIsIDB4ZGEsIDB4YjgsIDB4NzgsIDB4NzAsIDB4N2UsIDB4MzcsIDB4MDEsIDB4ZTEsIDB4N2UsIDB4MjcsIDB4MDEsIDB4Y2QsIAotICAgIDB4MmUsIDB4MjQsIDB4MDAsIDB4MDIsIDB4MmQsIDB4MzIsIDB4YmUsIDB4MzQsIDB4MDQsIDB4MDAsIDB4MzgsIDB4M2MsIDB4N2QsIDB4MDIsIDB4MmUsIDB4MDUsIAotICAgIDB4NDYsIDB4N2EsIDB4MDUsIDB4NDYsIDB4N2EsIDB4MzcsIDB4MDEsIDB4ZTEsIDB4N2UsIDB4MzcsIDB4MDEsIDB4ZGYsIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDIsIAotICAgIDB4YmUsIDB4NDQsIDB4MDUsIDB4ZTIsIDB4MzgsIDB4NDQsIDB4N2EsIDB4NDcsIDB4MDEsIDB4ZGYsIDB4N2UsIDB4MjQsIDB4MDcsIDB4MDAsIDB4MmUsIDB4MjcsIAotICAgIDB4MDEsIDB4Y2QsIDB4MWIsIDB4MzgsIDB4MjAsIDB4MGIsIDB4MzUsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YmUsIDB4NTAsIDB4MzgsIAotICAgIDB4NzgsIDB4MDMsIDB4MDIsIDB4NjYsIDB4MTYsIDB4MDIsIDB4NjUsIDB4ZmIsIDB4NzUsIDB4MzEsIDB4OTksIDB4MTIsIDB4N2MsIDB4MTUsIDB4MDksIDB4YjEsIAotICAgIDB4MDAsIDB4MDQsIDB4NTQsIDB4ZmEsIDB4MTksIDB4YjEsIDB4MDAsIDB4MDQsIDB4MzAsIDB4M2YsIDB4MGEsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTAsIDB4NTQsIAotICAgIDB4ZmUsIDB4MTksIDB4YjEsIDB4MDAsIDB4MTAsIDB4ZDIsIDB4MTcsIDB4MjIsIDB4ODAsIDB4N2QsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIAotICAgIDB4OWUsIDB4NDQsIDB4MDUsIDB4ZTMsIDB4OWQsIDB4MjQsIDB4N2UsIDB4NjQsIDB4MDcsIDB4MDAsIDB4MmUsIDB4NjcsIDB4MDEsIDB4Y2QsIDB4OWUsIDB4MjQsIAotICAgIDB4MDAsIDB4MDIsIDB4NDAsIDB4MTcsIDB4MWIsIDB4MzgsIDB4NjAsIDB4MGIsIDB4MzUsIDB4MTIsIDB4NjUsIDB4ZmIsIDB4N2UsIDB4MzQsIDB4MDEsIDB4ZTMsIAotICAgIDB4N2QsIDB4MjQsIDB4MmQsIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4ZGYsIDB4MDIsIDB4NjUsIDB4ZmIsIDB4N2EsIDB4MzksIDB4YzAsIDB4N2UsIDB4MzQsIAotICAgIDB4MDEsIDB4ZTMsIDB4N2EsIDB4MzksIDB4ZDAsIDB4MGIsIDB4MzQsIDB4MWIsIDB4NDQsIDB4ODAsIDB4ZTUsIDB4OWQsIDB4MzIsIDB4N2MsIDB4YjYsIDB4NTQsIAotICAgIDB4MGYsIDB4MjMsIDB4MjMsIDB4MjMsIDB4NDQsIDB4MDcsIDB4N2EsIDB4NjksIDB4YjAsIDB4N2EsIDB4NzksIDB4NzAsIDB4MGIsIDB4MzUsIDB4NzUsIDB4MzEsIAotICAgIDB4OTMsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NzEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YmQsIDB4MDQsIDB4NjgsIDB4MjksIDB4N2EsIDB4MDcsIAotICAgIDB4MDEsIDB4ZGYsIDB4N2UsIDB4NDcsIDB4MDEsIDB4ZTEsIDB4MmQsIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4ZTEsIDB4MmUsIDB4MzUsIDB4NDYsIDB4N2EsIAotICAgIDB4MzUsIDB4NDYsIDB4MjIsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4MjAsIDB4ZTAsIDB4MTMsIDB4MjIsIDB4N2UsIDB4MDQsIDB4MDEsIDB4ZTMsIDB4ODAsIAotICAgIDB4MmEsIDB4N2UsIDB4MDQsIDB4MDEsIDB4ZTMsIDB4ODAsIDB4MmMsIDB4N2UsIDB4MDQsIDB4MDEsIDB4ZTMsIDB4ODAsIDB4ZDEsIDB4ZDIsIDB4MDQsIDB4N2UsIAotICAgIDB4MDcsIDB4MDEsIDB4ZTEsIDB4N2UsIDB4MjQsIDB4MDMsIDB4ZmUsIDB4OWQsIDB4MjAsIDB4MjgsIDB4NDAsIDB4N2UsIDB4MDcsIDB4MDEsIDB4ZGYsIDB4N2UsIAotICAgIDB4NDQsIDB4MDUsIDB4ZTMsIDB4N2QsIDB4NjAsIDB4MGIsIDB4MDQsIDB4YmQsIDB4MDQsIDB4NjgsIDB4ZDAsIDB4N2QsIDB4NzAsIDB4MGIsIDB4MDQsIDB4YmQsIAotICAgIDB4MDQsIDB4NjgsIDB4Y2UsIDB4N2QsIDB4NTQsIDB4OWQsIDB4NTAsIDB4YmQsIDB4MjUsIDB4NDAsIDB4MDIsIDB4N2QsIDB4MjUsIDB4N2QsIDB4MzIsIDB4MDksIAotICAgIDB4YjEsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NTQsIDB4MWYsIDB4YjQsIDB4MDEsIDB4MzEsIDB4ZGEsIDB4YjgsIDB4N2UsIDB4MTksIDB4YjAsIDB4N2EsIAotICAgIDB4MDksIDB4YjAsIDB4MGIsIDB4MDQsIDB4MWIsIDB4MjQsIDB4NzgsIDB4ZTcsIDB4MDIsIDB4NWYsIDB4NGIsIDB4NzUsIDB4MzEsIDB4OTksIDB4MTIsIDB4N2MsIAotICAgIDB4MTUsIDB4MDksIDB4YjEsIDB4MDAsIDB4MDQsIDB4NTQsIDB4ZmEsIDB4MTksIDB4YjEsIDB4MDAsIDB4MDQsIDB4MzAsIDB4M2YsIDB4MGEsIDB4MDksIDB4YjEsIAotICAgIDB4MDAsIDB4MTAsIDB4NTQsIDB4ZmUsIDB4MTksIDB4YjEsIDB4MDAsIDB4MTAsIDB4ZDIsIDB4MTcsIDB4MjIsIDB4ZGEsIDB4YjgsIDB4MzAsIDB4ZTAsIDB4ZDgsIAotICAgIDB4YmQsIDB4MzIsIDB4NjgsIDB4MDcsIDB4Y2EsIDB4YjgsIDB4MTIsIDB4NWYsIDB4NGIsIDB4ZGEsIDB4YjgsIDB4MDIsIDB4NjAsIDB4OTgsIDB4MDksIDB4YjEsIAotICAgIDB4MDAsIDB4MTgsIDB4N2UsIDB4YTAsIDB4ODgsIDB4NzUsIDB4MzEsIDB4OTAsIDB4MTIsIDB4N2MsIDB4MTUsIDB4ZjUsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIAotICAgIDB4YTUsIDB4ZmMsIDB4NWUsIDB4YjAsIDB4ZjAsIDB4YTUsIDB4ZmQsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTgsIDB4NGMsIDB4NGIsIDB4NWUsIDB4YjAsIDB4ZjAsIAotICAgIDB4YmMsIDB4YjUsIDB4NzgsIDB4ZjEsIDB4NWUsIDB4NDAsIDB4MGYsIDB4NGMsIDB4NTQsIDB4N2MsIDB4YjUsIDB4NWUsIDB4NTAsIDB4MGIsIDB4NjgsIDB4MmEsIAotICAgIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MTAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NmYsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NmYsIDB4YTUsIDB4ZmQsIDB4NWUsIAotICAgIDB4NTAsIDB4MjAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NjcsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NjcsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4ODAsIDB4NjgsIAotICAgIDB4MDQsIDB4ZDIsIDB4NWYsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NWYsIDB4MTIsIDB4NDMsIDB4YWYsIDB4MDIsIDB4NjIsIDB4OTMsIDB4NzUsIDB4MzEsIDB4OTEsIAotICAgIDB4MTIsIDB4N2MsIDB4MTUsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4N2EsIDB4YjEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjAsIDB4ZTAsIDB4MDgsIAotICAgIDB4ZDIsIDB4MDQsIDB4N2UsIDB4YTAsIDB4ODAsIDB4MDIsIDB4NjIsIDB4OTMsIDB4ZDIsIDB4MDQsIDB4MzAsIDB4ZTEsIDB4MDYsIDB4N2UsIDB4YTAsIDB4ODAsIAotICAgIDB4MTIsIDB4NjIsIDB4OTMsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWMsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MTIsIDB4N2UsIDB4YTAsIDB4YzAsIDB4MDksIAotICAgIDB4NjEsIDB4MDAsIDB4MDAsIDB4MTIsIDB4NjIsIDB4YjYsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4MjAsIDB4ZTAsIDB4ZGIsIDB4MjIsIDB4MDIsIDB4NWYsIAotICAgIDB4OWQsIDB4NzUsIDB4MzEsIDB4OTUsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjIsIDB4NzUsIDB4MzEsIDB4OTYsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjIsIDB4N2MsIAotICAgIDB4MDIsIDB4N2UsIDB4MTQsIDB4ODAsIDB4MDAsIDB4NGMsIDB4MjAsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTgsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MTAsIAotICAgIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NjgsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NjgsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MjAsIDB4NjgsIDB4MDQsIDB4ZDIsIAotICAgIDB4NjAsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NjAsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4ODAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NTgsIDB4ODAsIDB4MDIsIAotICAgIDB4YzIsIDB4NTgsIDB4MDIsIDB4NjIsIDB4N2YsIDB4N2MsIDB4MDIsIDB4N2UsIDB4MTQsIDB4ODAsIDB4MDAsIDB4NGMsIDB4MjAsIDB4MDksIDB4YjEsIDB4MDAsIAotICAgIDB4MTgsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MTAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NjksIDB4ODAsIDB4MDIsIDB4YzIsIDB4NjksIDB4YTUsIDB4ZmQsIAotICAgIDB4NWUsIDB4NTAsIDB4MjAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NjEsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NjEsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4ODAsIAotICAgIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NTksIDB4ODAsIDB4MDIsIDB4YzIsIDB4NTksIDB4MDIsIDB4NjIsIDB4N2YsIDB4N2MsIDB4MDIsIDB4N2UsIDB4MTQsIDB4ODAsIAotICAgIDB4MDAsIDB4NGMsIDB4MjAsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTgsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MTAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NmEsIAotICAgIDB4ODAsIDB4MDIsIDB4YzIsIDB4NmEsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MjAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NjIsIDB4ODAsIDB4MDIsIDB4YzIsIAotICAgIDB4NjIsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4ODAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NWEsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NWEsIDB4MDIsIDB4NjIsIAotICAgIDB4N2YsIDB4N2MsIDB4MDIsIDB4N2UsIDB4MTQsIDB4ODAsIDB4MDAsIDB4NGMsIDB4MjAsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTgsIDB4YTUsIDB4ZmQsIDB4NWUsIAotICAgIDB4NTAsIDB4MTAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NmIsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NmIsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MjAsIDB4NjgsIAotICAgIDB4MDQsIDB4ZDIsIDB4NjMsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NjMsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4ODAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NWIsIAotICAgIDB4ODAsIDB4MDIsIDB4YzIsIDB4NWIsIDB4MDIsIDB4NjIsIDB4N2YsIDB4N2MsIDB4MDIsIDB4N2UsIDB4MTQsIDB4ODAsIDB4MDAsIDB4NGMsIDB4MjAsIDB4MDksIAotICAgIDB4YjEsIDB4MDAsIDB4MTgsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MTAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NmMsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NmMsIAotICAgIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MjAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NjQsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NjQsIDB4YTUsIDB4ZmQsIDB4NWUsIAotICAgIDB4NTAsIDB4ODAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NWMsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NWMsIDB4MDIsIDB4NjIsIDB4N2YsIDB4N2MsIDB4MDIsIDB4N2UsIAotICAgIDB4MTQsIDB4ODAsIDB4MDAsIDB4NGMsIDB4MjAsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTgsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MTAsIDB4NjgsIDB4MDQsIAotICAgIDB4ZDIsIDB4NmQsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NmQsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MjAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NjUsIDB4ODAsIAotICAgIDB4MDIsIDB4YzIsIDB4NjUsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4ODAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NWQsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NWQsIAotICAgIDB4MDIsIDB4NjIsIDB4N2YsIDB4N2MsIDB4MDIsIDB4N2UsIDB4MTQsIDB4ODAsIDB4MDAsIDB4NGMsIDB4MjAsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTgsIDB4YTUsIAotICAgIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MTAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NmUsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NmUsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIAotICAgIDB4MjAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NjYsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NjYsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4ODAsIDB4NjgsIDB4MDQsIAotICAgIDB4ZDIsIDB4NWUsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NWUsIDB4MDIsIDB4NjIsIDB4N2YsIDB4N2MsIDB4MDIsIDB4N2UsIDB4MTQsIDB4ODAsIDB4MDAsIDB4NGMsIAotICAgIDB4MjAsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTgsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MTAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NmYsIDB4ODAsIDB4MDIsIAotICAgIDB4YzIsIDB4NmYsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MjAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NjcsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NjcsIDB4YTUsIAotICAgIDB4ZmQsIDB4NWUsIDB4NTAsIDB4ODAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NWYsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NWYsIDB4MDIsIDB4NjIsIDB4N2YsIDB4NTQsIAotICAgIDB4ZjAsIDB4YzQsIDB4YTUsIDB4ZmYsIDB4YzQsIDB4YTUsIDB4NGYsIDB4NzUsIDB4MzEsIDB4OTAsIDB4MTIsIDB4N2MsIDB4MTUsIDB4ZjUsIDB4MzEsIDB4MTIsIAotICAgIDB4N2MsIDB4MTUsIDB4MjIsIDB4Y2EsIDB4MTksIDB4NWUsIDB4MjAsIDB4MDcsIDB4NGMsIDB4YTIsIDB4N2UsIDB4NzQsIDB4MjksIDB4ZTMsIDB4Y2EsIDB4NzksIAotICAgIDB4N2EsIDB4NzksIDB4YTAsIDB4MGIsIDB4NzQsIDB4N2EsIDB4NzksIDB4YjAsIDB4MGIsIDB4NzQsIDB4ZGEsIDB4NzksIDB4N2UsIDB4MzAsIDB4MDIsIDB4N2UsIAotICAgIDB4NjQsIDB4MDAsIDB4MDIsIDB4MDIsIDB4NjIsIDB4ZGUsIDB4Y2EsIDB4MTksIDB4NWUsIDB4MjAsIDB4MDcsIDB4NGMsIDB4YTIsIDB4N2UsIDB4NzQsIDB4MjksIAotICAgIDB4ZTMsIDB4Y2EsIDB4NzksIDB4N2EsIDB4NzksIDB4YTAsIDB4MGIsIDB4NzQsIDB4N2EsIDB4NzksIDB4YjAsIDB4MGIsIDB4NzQsIDB4N2EsIDB4NzksIDB4NjAsIAotICAgIDB4MGIsIDB4NzQsIDB4ZGEsIDB4NzksIDB4N2UsIDB4MzAsIDB4MDMsIDB4N2UsIDB4NjQsIDB4MDAsIDB4MDMsIDB4MDIsIDB4NjIsIDB4ZGUsIDB4ZDIsIDB4MDQsIAotICAgIDB4N2UsIDB4MjcsIDB4MDEsIDB4ZTEsIDB4MmQsIDB4MjYsIDB4YmUsIDB4MjQsIDB4MDQsIDB4MDAsIDB4MzgsIDB4MmUsIDB4N2UsIDB4MDcsIDB4MDEsIDB4ZGYsIAotICAgIDB4N2UsIDB4NDQsIDB4MDUsIDB4ZTMsIDB4N2UsIDB4NzksIDB4YTAsIDB4N2EsIDB4MDksIDB4YTAsIDB4MGIsIDB4MDQsIDB4MGIsIDB4NzQsIDB4YmQsIDB4MDQsIAotICAgIDB4NjgsIDB4MjMsIDB4YTUsIDB4ZGIsIDB4ZWYsIDB4N2EsIDB4MjcsIDB4MDEsIDB4ZTEsIDB4N2UsIDB4MjUsIDB4NDYsIDB4MmQsIDB4MjYsIDB4N2EsIDB4MjUsIAotICAgIDB4NDYsIDB4N2EsIDB4MDcsIDB4MDEsIDB4ZGYsIDB4ZGEsIDB4MTksIDB4YzIsIDB4ZDcsIDB4MjIsIDB4NzUsIDB4MzEsIDB4OWEsIDB4MTIsIDB4N2MsIDB4MTUsIAotICAgIDB4ZGEsIDB4MTksIDB4ZDIsIDB4ZDcsIDB4MjIsIDB4N2UsIDB4MDQsIDB4MDEsIDB4ZTMsIDB4ODAsIDB4ZDcsIDB4NDgsIDB4YjYsIDB4NDYsIDB4MjUsIDB4NDcsIAotICAgIDB4MWMsIDB4NDksIDB4MTUsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDgsIDB4MWIsIDB4NDQsIDB4YzYsIDB4NDksIDB4NTksIDB4NDQsIDB4YzYsIDB4NDQsIAotICAgIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDksIDB4NjAsIDB4NDQsIDB4YzYsIDB4NDQsIAotICAgIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIAotICAgIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NGMsIDB4MGUsIDB4NDksIDB4N2QsIDB4NGEsIAotICAgIDB4NzQsIDB4NGMsIDB4NmQsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NGIsIDB4NzMsIDB4NDQsIDB4YzYsIDB4NGMsIDB4YjEsIDB4NDQsIDB4YzYsIDB4NDQsIAotICAgIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NGMsIDB4YjgsIDB4NDQsIDB4YzYsIDB4NDQsIAotICAgIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIAotICAgIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NGYsIDB4NjYsIDB4NGMsIDB4ZDUsIDB4NGQsIAotICAgIDB4Y2MsIDB4NGYsIDB4YzUsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NGUsIDB4Y2IsIDB4NDQsIDB4YzYsIDB4NTAsIDB4MDksIDB4NDQsIDB4YzYsIDB4NDQsIAotICAgIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NTAsIDB4MTAsIDB4NDQsIDB4YzYsIDB4NDQsIAotICAgIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIAotICAgIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NTIsIDB4YmUsIDB4NTAsIDB4MmQsIDB4NTEsIAotICAgIDB4MjQsIDB4NTMsIDB4MWQsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NTIsIDB4MjMsIDB4NDQsIDB4YzYsIDB4NTMsIDB4NjEsIDB4NDQsIDB4YzYsIDB4NDQsIAotICAgIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NTMsIDB4NjgsIDB4NDQsIDB4YzYsIDB4NDQsIAotICAgIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIAotICAgIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NTYsIDB4MTYsIDB4NTMsIDB4ODUsIDB4NTQsIAotICAgIDB4N2MsIDB4NTYsIDB4NzUsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NTUsIDB4N2IsIDB4NDQsIDB4YzYsIDB4NTYsIDB4YjksIDB4NDQsIDB4YzYsIDB4NDQsIAotICAgIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NTYsIDB4YzAsIDB4NDQsIDB4YzYsIDB4NDQsIAotICAgIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIAotICAgIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NTksIDB4NmUsIDB4NTYsIDB4ZGQsIDB4NTcsIAotICAgIDB4ZDQsIDB4NTksIDB4Y2QsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NTgsIDB4ZDMsIDB4NDQsIDB4YzYsIDB4NWEsIDB4MTEsIDB4NDQsIDB4YzYsIDB4NDQsIAotICAgIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NWEsIDB4MTgsIDB4NDQsIDB4YzYsIDB4NDQsIAotICAgIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIAotICAgIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NWMsIDB4YzYsIDB4NWEsIDB4MzUsIDB4NWIsIAotICAgIDB4MmMsIDB4NWQsIDB4MjUsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NWMsIDB4MmIsIDB4NDQsIDB4YzYsIDB4NWQsIDB4NjksIDB4NDQsIDB4YzYsIDB4NDQsIAotICAgIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NWQsIDB4NzAsIDB4NDQsIDB4YzYsIDB4NDQsIAotICAgIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIAotICAgIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NjAsIDB4MWUsIDB4NWQsIDB4OGQsIDB4NWUsIAotICAgIDB4ODQsIDB4NjAsIDB4N2QsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NWYsIDB4ODMsIDB4NDQsIDB4YzYsIDB4NjAsIDB4YzEsIDB4NDQsIDB4YzYsIDB4NDQsIAotICAgIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NjAsIDB4YzgsIDB4NDQsIDB4YzYsIDB4NDQsIAotICAgIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIAotICAgIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4NDQsIDB4YzYsIDB4Y2EsIDB4MjksIDB4MWUsIDB4NTAsIDB4NDAsIAotICAgIDB4MGQsIDB4N2UsIDB4NTQsIDB4MGIsIDB4MTAsIDB4OWMsIDB4YjUsIDB4YTQsIDB4MmUsIDB4NTQsIDB4NjUsIDB4NDgsIDB4ODksIDB4NTQsIDB4N2UsIDB4MzksIAotICAgIDB4MDAsIDB4N2EsIDB4MTksIDB4MDAsIDB4MGIsIDB4MzQsIDB4ODAsIDB4ZTksIDB4MGIsIDB4MzgsIDB4MDAsIDB4N2EsIDB4MTksIDB4MDAsIDB4N2EsIDB4MTksIAotICAgIDB4MTAsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4MDAsIDB4N2EsIDB4MTksIDB4MDAsIDB4N2EsIDB4MTksIDB4MTAsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIAotICAgIDB4MDAsIDB4N2EsIDB4MTksIDB4MDAsIDB4N2EsIDB4MTksIDB4MTAsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4MDAsIDB4N2EsIDB4MTksIDB4MDAsIDB4N2EsIAotICAgIDB4MTksIDB4MTAsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4MDAsIDB4N2EsIDB4MTksIDB4MDAsIDB4N2EsIDB4MTksIDB4MTAsIDB4MGIsIDB4MzUsIDB4MGIsIAotICAgIDB4MzgsIDB4MDAsIDB4N2EsIDB4MTksIDB4MDAsIDB4N2EsIDB4MTksIDB4MTAsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4MDAsIDB4N2EsIDB4MTksIDB4MDAsIAotICAgIDB4N2EsIDB4MTksIDB4MTAsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4MDAsIDB4N2EsIDB4MTksIDB4MDAsIDB4N2EsIDB4MTksIDB4MTAsIDB4MGIsIDB4MzUsIAotICAgIDB4MGIsIDB4MzgsIDB4MDAsIDB4N2EsIDB4MTksIDB4MDAsIDB4N2EsIDB4MTksIDB4MTAsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4MDAsIDB4N2EsIDB4MTksIAotICAgIDB4MDAsIDB4N2EsIDB4MTksIDB4MTAsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4MDAsIDB4N2EsIDB4MTksIDB4MDAsIDB4N2EsIDB4MTksIDB4MTAsIDB4MGIsIAotICAgIDB4MzUsIDB4MGIsIDB4MzgsIDB4MDAsIDB4N2EsIDB4MTksIDB4MDAsIDB4N2EsIDB4MTksIDB4MTAsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4MDAsIDB4N2EsIAotICAgIDB4MTksIDB4MDAsIDB4N2EsIDB4MTksIDB4MTAsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4MDAsIDB4N2EsIDB4MTksIDB4MDAsIDB4N2EsIDB4MTksIDB4MTAsIAotICAgIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4MDAsIDB4N2EsIDB4MTksIDB4MDAsIDB4N2EsIDB4MTksIDB4MTAsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4MDAsIAotICAgIDB4N2EsIDB4MTksIDB4MDAsIDB4N2EsIDB4MTksIDB4MTAsIDB4MGIsIDB4MzUsIDB4ZGEsIDB4MjksIDB4MjIsIDB4MWUsIDB4NTAsIDB4NDAsIDB4MGQsIDB4N2UsIAotICAgIDB4NTQsIDB4MGIsIDB4MWMsIDB4OWMsIDB4YjUsIDB4YTQsIDB4MmUsIDB4NTQsIDB4NjYsIDB4MTYsIDB4ODksIDB4NTQsIDB4N2UsIDB4MTksIDB4MDAsIDB4N2EsIAotICAgIDB4MzksIDB4MDAsIDB4MGIsIDB4MzQsIDB4ODAsIDB4ZTksIDB4N2UsIDB4MTksIDB4MDAsIDB4N2UsIDB4MTksIDB4MTAsIDB4MWIsIDB4MzgsIDB4MDAsIDB4MGIsIAotICAgIDB4MzUsIDB4N2UsIDB4MTksIDB4MDAsIDB4N2UsIDB4MTksIDB4MTAsIDB4MWIsIDB4MzgsIDB4MDAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4MTksIDB4MDAsIDB4N2UsIAotICAgIDB4MTksIDB4MTAsIDB4MWIsIDB4MzgsIDB4MDAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4MTksIDB4MDAsIDB4N2UsIDB4MTksIDB4MTAsIDB4MWIsIDB4MzgsIDB4MDAsIAotICAgIDB4MGIsIDB4MzUsIDB4N2UsIDB4MTksIDB4MDAsIDB4N2UsIDB4MTksIDB4MTAsIDB4MWIsIDB4MzgsIDB4MDAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4MTksIDB4MDAsIAotICAgIDB4N2UsIDB4MTksIDB4MTAsIDB4MWIsIDB4MzgsIDB4MDAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4MTksIDB4MDAsIDB4N2UsIDB4MTksIDB4MTAsIDB4MWIsIDB4MzgsIAotICAgIDB4MDAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4MTksIDB4MDAsIDB4N2UsIDB4MTksIDB4MTAsIDB4MWIsIDB4MzgsIDB4MDAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4MTksIAotICAgIDB4MDAsIDB4N2UsIDB4MTksIDB4MTAsIDB4MWIsIDB4MzgsIDB4MDAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4MTksIDB4MDAsIDB4N2UsIDB4MTksIDB4MTAsIDB4MWIsIAotICAgIDB4MzgsIDB4MDAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4MTksIDB4MDAsIDB4N2UsIDB4MTksIDB4MTAsIDB4MWIsIDB4MzgsIDB4MDAsIDB4MGIsIDB4MzUsIDB4N2UsIAotICAgIDB4MTksIDB4MDAsIDB4N2UsIDB4MTksIDB4MTAsIDB4MWIsIDB4MzgsIDB4MDAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4MTksIDB4MDAsIDB4N2UsIDB4MTksIDB4MTAsIAotICAgIDB4MWIsIDB4MzgsIDB4MDAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4MTksIDB4MDAsIDB4N2UsIDB4MTksIDB4MTAsIDB4MWIsIDB4MzgsIDB4MDAsIDB4MGIsIDB4MzUsIAotICAgIDB4N2UsIDB4MTksIDB4MDAsIDB4N2UsIDB4MTksIDB4MTAsIDB4MWIsIDB4MzgsIDB4MDAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4MTksIDB4MDAsIDB4N2UsIDB4MTksIAotICAgIDB4MTAsIDB4MWIsIDB4MzgsIDB4MDAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4MTksIDB4MDAsIDB4N2UsIDB4MTksIDB4MTAsIDB4MWIsIDB4MzgsIDB4MDAsIDB4MGIsIAotICAgIDB4MzUsIDB4N2UsIDB4MTksIDB4MDAsIDB4N2UsIDB4MTksIDB4MTAsIDB4MWIsIDB4MzgsIDB4MDAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4MTksIDB4MDAsIDB4N2UsIAotICAgIDB4MTksIDB4MTAsIDB4MWIsIDB4MzgsIDB4MDAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4MTksIDB4MDAsIDB4N2UsIDB4MTksIDB4MTAsIDB4MWIsIDB4MzgsIDB4MDAsIAotICAgIDB4MGIsIDB4MzUsIDB4N2UsIDB4MTksIDB4MDAsIDB4N2UsIDB4MTksIDB4MTAsIDB4MWIsIDB4MzgsIDB4MDAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4MTksIDB4MDAsIAotICAgIDB4N2UsIDB4MTksIDB4MTAsIDB4MWIsIDB4MzgsIDB4MDAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4MTksIDB4MDAsIDB4N2UsIDB4MTksIDB4MTAsIDB4MWIsIDB4MzgsIAotICAgIDB4MDAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4MTksIDB4MDAsIDB4N2UsIDB4MTksIDB4MTAsIDB4MWIsIDB4MzgsIDB4MDAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4MTksIAotICAgIDB4MDAsIDB4N2UsIDB4MTksIDB4MTAsIDB4MWIsIDB4MzgsIDB4MDAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4MTksIDB4MDAsIDB4N2UsIDB4MTksIDB4MTAsIDB4MWIsIAotICAgIDB4MzgsIDB4MDAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4MTksIDB4MDAsIDB4N2UsIDB4MTksIDB4MTAsIDB4MWIsIDB4MzgsIDB4MDAsIDB4MGIsIDB4MzUsIDB4N2UsIAotICAgIDB4MTksIDB4MDAsIDB4N2UsIDB4MTksIDB4MTAsIDB4MWIsIDB4MzgsIDB4MDAsIDB4MGIsIDB4MzUsIDB4MjIsIDB4NjcsIDB4OTYsIDB4NjksIDB4NjMsIDB4NjksIAotICAgIDB4N2IsIDB4NmEsIDB4NDksIDB4NmEsIDB4ZTQsIDB4NmIsIDB4OGUsIDB4NmIsIDB4YTksIDB4NmMsIDB4M2IsIDB4NmIsIDB4YzQsIDB4NmMsIDB4MDUsIDB4NjksIAotICAgIDB4OTYsIDB4NjksIDB4YWEsIDB4N2MsIDB4YjMsIDB4YmUsIDB4YjAsIDB4MGIsIDB4MjgsIDB4MTQsIDB4NzUsIDB4MzEsIDB4MDksIDB4MTIsIDB4N2MsIDB4MTUsIAotICAgIDB4NzUsIDB4NmQsIDB4MTAsIDB4YzAsIDB4ZjEsIDB4NzUsIDB4ZjEsIDB4MDEsIDB4NDMsIDB4ZTEsIDB4YzAsIDB4ZDAsIDB4ZjEsIDB4MjIsIDB4YzAsIDB4YTgsIAotICAgIDB4YzIsIDB4YWYsIDB4MjMsIDB4NmMsIDB4YWEsIDB4MmUsIDB4NTQsIDB4NjcsIDB4NGIsIDB4MGIsIDB4NTgsIDB4NTAsIDB4ODksIDB4NTQsIDB4MDEsIDB4MDIsIAotICAgIDB4MDQsIDB4MDgsIDB4MTAsIDB4MjAsIDB4NDAsIDB4ODAsIDB4NzUsIDB4MzEsIDB4YjAsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MGEsIDB4MzIsIDB4MDksIDB4YjMsIAotICAgIDB4NjcsIDB4OGUsIDB4NDIsIDB4MzIsIDB4MTksIDB4NDMsIDB4MDAsIDB4MzYsIDB4ZDAsIDB4YTgsIDB4MjIsIDB4N2MsIDB4YjIsIDB4MjMsIDB4MGEsIDB4M2IsIAotICAgIDB4NDksIDB4MzMsIDB4NjcsIDB4Y2IsIDB4MGEsIDB4MjIsIDB4MDksIDB4MzIsIDB4MDAsIDB4MzYsIDB4MDksIDB4YjIsIDB4NjcsIDB4OGUsIDB4YTUsIDB4YmIsIAotICAgIDB4MDAsIDB4MDUsIDB4ZjQsIDB4NTIsIDB4MzMsIDB4ODAsIDB4MDIsIDB4NDIsIDB4MzMsIDB4ODksIDB4MzQsIDB4NjcsIDB4ZGIsIDB4NjgsIDB4MDksIDB4NjgsIAotICAgIDB4MzcsIDB4NjgsIDB4NjUsIDB4NjgsIDB4OTMsIDB4NjgsIDB4YzEsIDB4NjgsIDB4ZWYsIDB4NjksIDB4MWQsIDB4MTIsIDB4NDEsIDB4YjUsIDB4ZDIsIDB4MjgsIAotICAgIDB4ZDIsIDB4MDgsIDB4YzIsIDB4NDAsIDB4YzIsIDB4NDgsIDB4YzIsIDB4MzgsIDB4YzIsIDB4MzAsIDB4NmQsIDB4MDAsIDB4N2EsIDB4MDMsIDB4MDEsIDB4Y2YsIAotICAgIDB4N2UsIDB4MDQsIDB4MDAsIDB4MjAsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YWYsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MzgsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YmYsIAotICAgIDB4MTIsIDB4NDEsIDB4MTYsIDB4MTIsIDB4NjAsIDB4Y2YsIDB4MDIsIDB4NjksIDB4NGIsIDB4MTIsIDB4NDEsIDB4ZDQsIDB4ZDIsIDB4MjksIDB4ZDIsIDB4MDksIAotICAgIDB4YzIsIDB4NDEsIDB4YzIsIDB4NDksIDB4YzIsIDB4MzksIDB4YzIsIDB4MzEsIDB4NmQsIDB4MDAsIDB4N2EsIDB4MDMsIDB4MDEsIDB4ZDAsIDB4N2UsIDB4MDQsIAotICAgIDB4MDAsIDB4MjAsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YjEsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MzgsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YzEsIDB4MTIsIDB4NDEsIAotICAgIDB4MTYsIDB4MTIsIDB4NjEsIDB4MDUsIDB4MDIsIDB4NjksIDB4NGIsIDB4MTIsIDB4NDEsIDB4ZjMsIDB4ZDIsIDB4MmEsIDB4ZDIsIDB4MGEsIDB4YzIsIDB4NDIsIAotICAgIDB4YzIsIDB4NGEsIDB4YzIsIDB4M2EsIDB4YzIsIDB4MzIsIDB4NmQsIDB4MDAsIDB4N2EsIDB4MDMsIDB4MDEsIDB4ZDEsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MjAsIAotICAgIDB4N2EsIDB4MDcsIDB4MDEsIDB4YjMsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MzgsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YzMsIDB4MTIsIDB4NDEsIDB4MTYsIDB4MTIsIAotICAgIDB4NjEsIDB4M2IsIDB4MDIsIDB4NjksIDB4NGIsIDB4MTIsIDB4NDIsIDB4MTIsIDB4ZDIsIDB4MmIsIDB4ZDIsIDB4MGIsIDB4YzIsIDB4NDMsIDB4YzIsIDB4NGIsIAotICAgIDB4YzIsIDB4M2IsIDB4YzIsIDB4MzMsIDB4NmQsIDB4MDAsIDB4N2EsIDB4MDMsIDB4MDEsIDB4ZDIsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MjAsIDB4N2EsIDB4MDcsIAotICAgIDB4MDEsIDB4YjUsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MzgsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YzUsIDB4MTIsIDB4NDEsIDB4MTYsIDB4MTIsIDB4NjEsIDB4NzEsIAotICAgIDB4MDIsIDB4NjksIDB4NGIsIDB4MTIsIDB4NDIsIDB4MzEsIDB4ZDIsIDB4MmMsIDB4ZDIsIDB4MGMsIDB4YzIsIDB4NDQsIDB4YzIsIDB4NGMsIDB4YzIsIDB4M2MsIAotICAgIDB4YzIsIDB4MzQsIDB4NmQsIDB4MDAsIDB4N2EsIDB4MDMsIDB4MDEsIDB4ZDMsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MjAsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YjcsIAotICAgIDB4N2UsIDB4MDQsIDB4MDAsIDB4MzgsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YzcsIDB4MTIsIDB4NDEsIDB4MTYsIDB4MTIsIDB4NjEsIDB4YTcsIDB4MDIsIDB4NjksIAotICAgIDB4NGIsIDB4MTIsIDB4NDIsIDB4NTAsIDB4ZDIsIDB4MmQsIDB4ZDIsIDB4MGQsIDB4YzIsIDB4NDUsIDB4YzIsIDB4NGQsIDB4YzIsIDB4M2QsIDB4YzIsIDB4MzUsIAotICAgIDB4NmQsIDB4MDAsIDB4N2EsIDB4MDMsIDB4MDEsIDB4ZDQsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MjAsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YjksIDB4N2UsIDB4MDQsIAotICAgIDB4MDAsIDB4MzgsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YzksIDB4MTIsIDB4NDEsIDB4MTYsIDB4MTIsIDB4NjEsIDB4ZGQsIDB4MDIsIDB4NjksIDB4NGIsIDB4MTIsIAotICAgIDB4NDIsIDB4NmYsIDB4ZDIsIDB4MmUsIDB4ZDIsIDB4MGUsIDB4YzIsIDB4NDYsIDB4YzIsIDB4NGUsIDB4YzIsIDB4M2UsIDB4YzIsIDB4MzYsIDB4NmQsIDB4MDAsIAotICAgIDB4N2EsIDB4MDMsIDB4MDEsIDB4ZDUsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MjAsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YmIsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MzgsIAotICAgIDB4N2EsIDB4MDcsIDB4MDEsIDB4Y2IsIDB4MTIsIDB4NDEsIDB4MTYsIDB4MTIsIDB4NjIsIDB4MTMsIDB4MDIsIDB4NjksIDB4NGIsIDB4MTIsIDB4NDIsIDB4OGUsIAotICAgIDB4ZDIsIDB4MmYsIDB4ZDIsIDB4MGYsIDB4YzIsIDB4NDcsIDB4YzIsIDB4NGYsIDB4YzIsIDB4M2YsIDB4YzIsIDB4MzcsIDB4NmQsIDB4MDAsIDB4N2EsIDB4MDMsIAotICAgIDB4MDEsIDB4ZDYsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MjAsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YmQsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MzgsIDB4N2EsIDB4MDcsIAotICAgIDB4MDEsIDB4Y2QsIDB4MTIsIDB4NDEsIDB4MTYsIDB4MTIsIDB4NjIsIDB4NDksIDB4MDIsIDB4NjksIDB4NGIsIDB4N2UsIDB4YTAsIDB4ZDAsIDB4N2UsIDB4NjAsIAotICAgIDB4MGYsIDB4MTIsIDB4NjIsIDB4YjYsIDB4NDAsIDB4MGMsIDB4YzAsIDB4ZjEsIDB4NzUsIDB4ZjEsIDB4MDEsIDB4MTIsIDB4NmYsIDB4ZDksIDB4ZDAsIDB4ZjEsIAotICAgIDB4YzIsIDB4ZDcsIDB4MjIsIDB4NzUsIDB4MzEsIDB4YjEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MGEsIDB4NTIsIDB4MjMsIDB4NmQsIDB4MDAsIDB4NTksIDB4MDUsIAotICAgIDB4MDAsIDB4NDgsIDB4MTIsIDB4NDEsIDB4N2UsIDB4MTIsIDB4NDEsIDB4OWEsIDB4ZDAsIDB4YTgsIDB4MjIsIDB4NzUsIDB4MzEsIDB4YjIsIDB4MTIsIDB4N2MsIAotICAgIDB4MTUsIDB4MGEsIDB4MjIsIDB4MDksIDB4YjIsIDB4NjcsIDB4OGUsIDB4NDIsIDB4MjMsIDB4N2UsIDB4YjAsIDB4OWMsIDB4MTksIDB4YjIsIDB4MDEsIDB4Y2YsIAotICAgIDB4MTIsIDB4MzEsIDB4ODUsIDB4ZDAsIDB4YTgsIDB4MjIsIDB4NzUsIDB4MzEsIDB4YjcsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MGEsIDB4MjIsIDB4MDksIDB4YjIsIAotICAgIDB4NjcsIDB4OGUsIDB4NDIsIDB4MjQsIDB4MTIsIDB4MzUsIDB4M2QsIDB4ZDAsIDB4YTgsIDB4MjIsIDB4NzUsIDB4MzEsIDB4YjksIDB4MTIsIDB4N2MsIDB4MTUsIAotICAgIDB4MGEsIDB4MzIsIDB4MDksIDB4YjMsIDB4NjcsIDB4OGUsIDB4NDIsIDB4MzQsIDB4MTksIDB4NDMsIDB4MDAsIDB4M2UsIDB4MTIsIDB4NjksIDB4YzIsIDB4ZDAsIAotICAgIDB4YTgsIDB4MjIsIDB4N2MsIDB4YjIsIDB4MjMsIDB4MGEsIDB4MGIsIDB4N2MsIDB4YjQsIDB4MjAsIDB4ZTAsIDB4MDQsIDB4NmQsIDB4MzMsIDB4ODAsIDB4MDQsIAotICAgIDB4NDksIDB4MzAsIDB4MDEsIDB4OGYsIDB4N2UsIDB4YTAsIDB4ZDgsIDB4YTUsIDB4ZWYsIDB4Y2EsIDB4MGIsIDB4Y2EsIDB4MjksIDB4MTIsIDB4NjIsIDB4YjYsIAotICAgIDB4ZGEsIDB4MjksIDB4ZGEsIDB4MGIsIDB4NDAsIDB4NjIsIDB4NzUsIDB4MzEsIDB4YmEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2MsIDB4YjQsIDB4MzAsIDB4ZTAsIAotICAgIDB4MWUsIDB4NmQsIDB4MzMsIDB4NTksIDB4MzAsIDB4MDEsIDB4OGYsIDB4N2UsIDB4MzQsIDB4MDksIDB4ZTMsIDB4MGEsIDB4ODIsIDB4N2UsIDB4OTQsIDB4MDQsIAotICAgIDB4MDAsIDB4YWQsIDB4ODksIDB4MmQsIDB4MzksIDB4NTksIDB4MzAsIDB4MDEsIDB4NmYsIDB4NTksIDB4MzAsIDB4MDEsIDB4N2YsIDB4N2MsIDB4YjQsIDB4MzAsIAotICAgIDB4ZTEsIDB4MTAsIDB4N2UsIDB4MDQsIDB4ODAsIDB4MDAsIDB4NGMsIDB4MDIsIDB4MDksIDB4YjAsIDB4MDAsIDB4MDgsIDB4NDQsIDB4MDQsIDB4MTksIDB4YjAsIAotICAgIDB4MDAsIDB4MDgsIDB4MGEsIDB4MDIsIDB4MDksIDB4YjAsIDB4NjcsIDB4OGUsIDB4NDIsIDB4MjEsIDB4ZjQsIDB4NTIsIDB4MzQsIDB4N2MsIDB4YjIsIDB4MjMsIAotICAgIDB4MGEsIDB4MGIsIDB4Y2EsIDB4MTksIDB4NDksIDB4MDAsIDB4MzAsIDB4ZDUsIDB4OTksIDB4MDQsIDB4ZGEsIDB4MTksIDB4YzAsIDB4ZjEsIDB4NzUsIDB4ZjEsIAotICAgIDB4MDEsIDB4MTIsIDB4NmYsIDB4ZDksIDB4ZDAsIDB4ZjEsIDB4YzIsIDB4ZDcsIDB4MjIsIDB4N2UsIDB4MDQsIDB4ODAsIDB4MDAsIDB4NGMsIDB4MDIsIDB4MDksIAotICAgIDB4MzAsIDB4MDAsIDB4MGMsIDB4NzQsIDB4YmYsIDB4MTksIDB4YjAsIDB4MDAsIDB4MGMsIDB4MDksIDB4YjAsIDB4MDAsIDB4MDgsIDB4MTksIDB4MzAsIDB4MDAsIAotICAgIDB4MGMsIDB4N2MsIDB4NzQsIDB4NWUsIDB4NzAsIDB4MDEsIDB4NjgsIDB4MTIsIDB4NDQsIDB4NDAsIDB4Y2EsIDB4YjgsIDB4MDksIDB4YjAsIDB4MDAsIDB4MTAsIAotICAgIDB4NDQsIDB4MDIsIDB4MTksIDB4YjAsIDB4MDAsIDB4MTAsIDB4ZGEsIDB4YjgsIDB4ODAsIDB4MDIsIDB4NTQsIDB4YmYsIDB4N2MsIDB4NzQsIDB4NWUsIDB4NzAsIAotICAgIDB4MDgsIDB4NjgsIDB4MDQsIDB4NDQsIDB4MDgsIDB4ODAsIDB4MDIsIDB4NTQsIDB4ZjcsIDB4MDksIDB4MzAsIDB4MDAsIDB4MGMsIDB4Y2EsIDB4YjgsIDB4NzQsIAotICAgIDB4YmYsIDB4MTksIDB4YjAsIDB4MDAsIDB4MGMsIDB4ZGEsIDB4YjgsIDB4MTksIDB4YjAsIDB4MDAsIDB4MDgsIDB4MTksIDB4MzAsIDB4MDAsIDB4MGMsIDB4MGEsIAotICAgIDB4NjIsIDB4MDksIDB4YjYsIDB4NjcsIDB4OGUsIDB4M2UsIDB4MjAsIDB4MGEsIDB4NjIsIDB4N2MsIDB4NzQsIDB4NWUsIDB4NzAsIDB4MDIsIDB4NjgsIDB4MjAsIAotICAgIDB4NDIsIDB4MjcsIDB4Y2EsIDB4YjgsIDB4NzQsIDB4NjEsIDB4MTksIDB4YjAsIDB4MDAsIDB4MDgsIDB4N2UsIDB4NDQsIDB4MDAsIDB4MTAsIDB4NTksIDB4NDYsIAotICAgIDB4MDEsIDB4YmYsIDB4MDksIDB4YjAsIDB4MDAsIDB4MTAsIDB4NDQsIDB4MDEsIDB4MTksIDB4YjAsIDB4MDAsIDB4MTAsIDB4ZGEsIDB4YjgsIDB4ODAsIDB4MTEsIAotICAgIDB4ZjQsIDB4NTIsIDB4MjcsIDB4NzQsIDB4YTEsIDB4MTksIDB4YjAsIDB4MDAsIDB4MDgsIDB4N2UsIDB4NDQsIDB4MDAsIDB4MzgsIDB4NTksIDB4NDYsIDB4MDEsIAotICAgIDB4YmYsIDB4ZDAsIDB4YTgsIDB4MjIsIDB4N2MsIDB4NzQsIDB4N2UsIDB4MDQsIDB4ODAsIDB4MDAsIDB4NGMsIDB4MDIsIDB4MGEsIDB4NjIsIDB4MDksIDB4YjYsIAotICAgIDB4NjcsIDB4OGUsIDB4YTUsIDB4ZmQsIDB4ZjQsIDB4YTUsIDB4ZmUsIDB4Y2EsIDB4MjgsIDB4M2UsIDB4MjAsIDB4MGEsIDB4NjIsIDB4YTUsIDB4ZWUsIDB4NTIsIAotICAgIDB4MjYsIDB4N2UsIDB4NDQsIDB4MDAsIDB4MjAsIDB4NTksIDB4NDYsIDB4MDEsIDB4YWYsIDB4ZGEsIDB4MjgsIDB4MDksIDB4MzAsIDB4MDAsIDB4MGMsIDB4NzQsIAotICAgIDB4YmYsIDB4MTksIDB4YjAsIDB4MDAsIDB4MGMsIDB4MDksIDB4YjAsIDB4MDAsIDB4MDgsIDB4N2MsIDB4NzQsIDB4NWUsIDB4NzAsIDB4MDEsIDB4NjgsIDB4MGMsIAotICAgIDB4NDQsIDB4ODAsIDB4Y2EsIDB4YjgsIDB4YTUsIDB4ZWQsIDB4NDIsIDB4MmEsIDB4ZGEsIDB4YjgsIDB4ODAsIDB4MGEsIDB4NTQsIDB4N2YsIDB4Y2EsIDB4YjgsIAotICAgIDB4YTUsIDB4ZWUsIDB4NTIsIDB4MmEsIDB4ZGEsIDB4YjgsIDB4N2MsIDB4NzQsIDB4NWUsIDB4NzAsIDB4MDgsIDB4NjgsIDB4MDQsIDB4NDQsIDB4MDIsIDB4ODAsIAotICAgIDB4MDIsIDB4NTQsIDB4ZmQsIDB4MTksIDB4YjAsIDB4MDAsIDB4MDgsIDB4MTksIDB4MzAsIDB4MDAsIDB4MGMsIDB4N2MsIDB4NzQsIDB4NWUsIDB4NzAsIDB4MDIsIAotICAgIDB4NjgsIDB4MTAsIDB4YTUsIDB4ZWQsIDB4NDIsIDB4MjgsIDB4NDIsIDB4MjYsIDB4N2UsIDB4NDQsIDB4MDAsIDB4MDgsIDB4NTksIDB4NDYsIDB4MDEsIDB4YWYsIAotICAgIDB4ODAsIDB4MDQsIDB4YTUsIDB4ZWUsIDB4NTIsIDB4MjgsIDB4N2MsIDB4NzQsIDB4NWUsIDB4NzAsIDB4MDQsIDB4NjgsIDB4MTAsIDB4YTUsIDB4ZWQsIDB4NDIsIAotICAgIDB4MjksIDB4NDIsIDB4MjYsIDB4N2UsIDB4NDQsIDB4MDAsIDB4MDgsIDB4NTksIDB4NDYsIDB4MDEsIDB4YWYsIDB4ODAsIDB4MGIsIDB4YTUsIDB4ZWUsIDB4NTIsIAotICAgIDB4MjksIDB4N2MsIDB4NzQsIDB4NWUsIDB4NzAsIDB4MDIsIDB4NzgsIDB4MDAsIDB4MTIsIDB4NDIsIDB4YWQsIDB4ZDAsIDB4YTgsIDB4MjIsIDB4N2UsIDB4MDQsIAotICAgIDB4ODAsIDB4MDAsIDB4NGMsIDB4MDIsIDB4MDksIDB4MzAsIDB4MDAsIDB4MGMsIDB4NzQsIDB4YmYsIDB4MTksIDB4YjAsIDB4MDAsIDB4MGMsIDB4MTksIDB4NDAsIAotICAgIDB4MDAsIDB4MTAsIDB4MTksIDB4MzAsIDB4MDAsIDB4MGMsIDB4ZDAsIDB4YTgsIDB4MjIsIDB4N2UsIDB4MDQsIDB4ODAsIDB4MDAsIDB4NGMsIDB4MDIsIDB4MDksIAotICAgIDB4MzAsIDB4MDAsIDB4MGMsIDB4NzQsIDB4YmYsIDB4MTksIDB4YjAsIDB4MDAsIDB4MGMsIDB4MTksIDB4NDAsIDB4MDAsIDB4MTgsIDB4MTksIDB4MzAsIDB4MDAsIAotICAgIDB4MGMsIDB4ZDAsIDB4YTgsIDB4MjIsIDB4NzUsIDB4MzEsIDB4YjUsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4MDQsIDB4ODAsIDB4MDAsIDB4NGMsIDB4MDIsIAotICAgIDB4MDksIDB4YjAsIDB4MDAsIDB4MGMsIDB4NDQsIDB4NDAsIDB4MTksIDB4YjAsIDB4MDAsIDB4MGMsIDB4ZTUsIDB4NmUsIDB4YjQsIDB4MDcsIDB4MjMsIDB4MDksIAotICAgIDB4YjAsIDB4MDAsIDB4MTAsIDB4NGUsIDB4YjAsIDB4MDIsIDB4MTksIDB4YjAsIDB4MDAsIDB4MTAsIDB4MDksIDB4MzAsIDB4MDAsIDB4MGMsIDB4NzQsIDB4YmYsIAotICAgIDB4MTksIDB4YjAsIDB4MDAsIDB4MGMsIDB4MDksIDB4YjAsIDB4MDAsIDB4MDQsIDB4NTQsIDB4ZjcsIDB4MTksIDB4YjAsIDB4MDAsIDB4MDQsIDB4MTksIDB4MzAsIAotICAgIDB4MDAsIDB4MGMsIDB4ZDAsIDB4YTgsIDB4MjIsIDB4NzUsIDB4MzEsIDB4YjYsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4MDQsIDB4ODAsIDB4MDAsIDB4NGMsIAotICAgIDB4MDIsIDB4ZTUsIDB4NmUsIDB4YjQsIDB4MDcsIDB4MTgsIDB4MDksIDB4MzAsIDB4MDAsIDB4MGMsIDB4NzQsIDB4YmYsIDB4MTksIDB4YjAsIDB4MDAsIDB4MGMsIAotICAgIDB4MDksIDB4YjAsIDB4MDAsIDB4MDQsIDB4NDQsIDB4MDgsIDB4MTksIDB4YjAsIDB4MDAsIDB4MDQsIDB4MTksIDB4MzAsIDB4MDAsIDB4MGMsIDB4MDksIDB4YjAsIAotICAgIDB4MDAsIDB4MGMsIDB4NTQsIDB4YmYsIDB4MTksIDB4YjAsIDB4MDAsIDB4MGMsIDB4ZDAsIDB4YTgsIDB4MjIsIDB4NzUsIDB4MzEsIDB4YjQsIDB4MTIsIDB4N2MsIAotICAgIDB4MTUsIDB4N2EsIDB4MjEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NDEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MGEsIDB4MzIsIDB4MDksIAotICAgIDB4YjMsIDB4NjcsIDB4OGUsIDB4NDIsIDB4MzUsIDB4MTIsIDB4NmMsIDB4NWIsIDB4ZDAsIDB4YTgsIDB4MjIsIDB4N2UsIDB4YjAsIDB4MDEsIDB4N2UsIDB4YTAsIAotICAgIDB4YzgsIDB4N2MsIDB4NjQsIDB4MTIsIDB4NjIsIDB4YjYsIDB4NDAsIDB4MTMsIDB4MGEsIDB4MzIsIDB4MDksIDB4YjMsIDB4NjcsIDB4OGUsIDB4ZjQsIDB4NTIsIAotICAgIDB4MzUsIDB4YzAsIDB4ZjEsIDB4NzUsIDB4ZjEsIDB4MDEsIDB4MTIsIDB4NmYsIDB4ZDksIDB4ZDAsIDB4ZjEsIDB4MjIsIDB4NmMsIDB4OGMsIDB4NmMsIDB4ZDMsIAotICAgIDB4NmQsIDB4MWEsIDB4NmQsIDB4NjEsIDB4NmQsIDB4YTgsIDB4NmQsIDB4ZWYsIDB4NmUsIDB4MzYsIDB4NmUsIDB4N2QsIDB4NzUsIDB4MzEsIDB4NTUsIDB4MTIsIAotICAgIDB4N2MsIDB4MTUsIDB4NzUsIDB4MzEsIDB4MDAsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NjEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NzEsIAotICAgIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4MTcsIDB4MDEsIDB4N2YsIDB4N2UsIDB4MjcsIDB4MDEsIDB4OGYsIDB4MmQsIDB4MjMsIDB4N2UsIDB4MDksIAotICAgIDB4YjAsIDB4MGIsIDB4MDQsIDB4N2EsIDB4MTksIDB4YjAsIDB4MGIsIDB4MTQsIDB4YmUsIDB4MTQsIDB4MGQsIDB4ZTIsIDB4MzgsIDB4MGYsIDB4MWIsIDB4MzQsIAotICAgIDB4NzgsIDB4ZWMsIDB4N2EsIDB4MTcsIDB4MDEsIDB4N2YsIDB4N2EsIDB4MjcsIDB4MDEsIDB4OGYsIDB4MDIsIDB4NDYsIDB4MGYsIDB4N2UsIDB4MTQsIDB4MDksIAotICAgIDB4ZTMsIDB4ODAsIDB4ZWIsIDB4NzUsIDB4MzEsIDB4NTUsIDB4MTIsIDB4N2MsIDB4MTUsIDB4NzUsIDB4MzEsIDB4MDEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIAotICAgIDB4NjEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NzEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4MTcsIDB4MDEsIDB4ODEsIDB4N2UsIAotICAgIDB4MjcsIDB4MDEsIDB4OTEsIDB4MmQsIDB4MjMsIDB4N2UsIDB4MDksIDB4YjAsIDB4MGIsIDB4MDQsIDB4N2EsIDB4MTksIDB4YjAsIDB4MGIsIDB4MTQsIDB4YmUsIAotICAgIDB4MTQsIDB4MTEsIDB4ZTIsIDB4MzgsIDB4MGYsIDB4MWIsIDB4MzQsIDB4NzgsIDB4ZWMsIDB4N2EsIDB4MTcsIDB4MDEsIDB4ODEsIDB4N2EsIDB4MjcsIDB4MDEsIAotICAgIDB4OTEsIDB4MDIsIDB4NDksIDB4NjcsIDB4N2UsIDB4MTQsIDB4MGQsIDB4ZTMsIDB4ODAsIDB4ZWIsIDB4NzUsIDB4MzEsIDB4NTUsIDB4MTIsIDB4N2MsIDB4MTUsIAotICAgIDB4NzUsIDB4MzEsIDB4MDIsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NjEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NzEsIDB4MzEsIDB4MTIsIAotICAgIDB4N2MsIDB4MTUsIDB4N2UsIDB4MTcsIDB4MDEsIDB4ODMsIDB4N2UsIDB4MjcsIDB4MDEsIDB4OTMsIDB4MmQsIDB4MjMsIDB4N2UsIDB4MDksIDB4YjAsIDB4MGIsIAotICAgIDB4MDQsIDB4N2EsIDB4MTksIDB4YjAsIDB4MGIsIDB4MTQsIDB4YmUsIDB4MTQsIDB4MTUsIDB4ZTIsIDB4MzgsIDB4MGYsIDB4MWIsIDB4MzQsIDB4NzgsIDB4ZWMsIAotICAgIDB4N2EsIDB4MTcsIDB4MDEsIDB4ODMsIDB4N2EsIDB4MjcsIDB4MDEsIDB4OTMsIDB4MDIsIDB4NGMsIDB4YmYsIDB4N2UsIDB4MTQsIDB4MTEsIDB4ZTMsIDB4ODAsIAotICAgIDB4ZWIsIDB4NzUsIDB4MzEsIDB4NTUsIDB4MTIsIDB4N2MsIDB4MTUsIDB4NzUsIDB4MzEsIDB4MDMsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NjEsIDB4MzEsIAotICAgIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NzEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4MTcsIDB4MDEsIDB4ODUsIDB4N2UsIDB4MjcsIDB4MDEsIAotICAgIDB4OTUsIDB4MmQsIDB4MjMsIDB4N2UsIDB4MDksIDB4YjAsIDB4MGIsIDB4MDQsIDB4N2EsIDB4MTksIDB4YjAsIDB4MGIsIDB4MTQsIDB4YmUsIDB4MTQsIDB4MTksIAotICAgIDB4ZTIsIDB4MzgsIDB4MGYsIDB4MWIsIDB4MzQsIDB4NzgsIDB4ZWMsIDB4N2EsIDB4MTcsIDB4MDEsIDB4ODUsIDB4N2EsIDB4MjcsIDB4MDEsIDB4OTUsIDB4MDIsIAotICAgIDB4NTAsIDB4MTcsIDB4N2UsIDB4MTQsIDB4MTUsIDB4ZTMsIDB4ODAsIDB4ZWIsIDB4NzUsIDB4MzEsIDB4NTUsIDB4MTIsIDB4N2MsIDB4MTUsIDB4NzUsIDB4MzEsIAotICAgIDB4MDQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NjEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NzEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIAotICAgIDB4N2UsIDB4MTcsIDB4MDEsIDB4ODcsIDB4N2UsIDB4MjcsIDB4MDEsIDB4OTcsIDB4MmQsIDB4MjMsIDB4N2UsIDB4MDksIDB4YjAsIDB4MGIsIDB4MDQsIDB4N2EsIAotICAgIDB4MTksIDB4YjAsIDB4MGIsIDB4MTQsIDB4YmUsIDB4MTQsIDB4MWQsIDB4ZTIsIDB4MzgsIDB4MGYsIDB4MWIsIDB4MzQsIDB4NzgsIDB4ZWMsIDB4N2EsIDB4MTcsIAotICAgIDB4MDEsIDB4ODcsIDB4N2EsIDB4MjcsIDB4MDEsIDB4OTcsIDB4MDIsIDB4NTMsIDB4NmYsIDB4N2UsIDB4MTQsIDB4MTksIDB4ZTMsIDB4ODAsIDB4ZWIsIDB4NzUsIAotICAgIDB4MzEsIDB4NTUsIDB4MTIsIDB4N2MsIDB4MTUsIDB4NzUsIDB4MzEsIDB4MDUsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NjEsIDB4MzEsIDB4MTIsIDB4N2MsIAotICAgIDB4MTUsIDB4N2EsIDB4NzEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4MTcsIDB4MDEsIDB4ODksIDB4N2UsIDB4MjcsIDB4MDEsIDB4OTksIDB4MmQsIAotICAgIDB4MjMsIDB4N2UsIDB4MDksIDB4YjAsIDB4MGIsIDB4MDQsIDB4N2EsIDB4MTksIDB4YjAsIDB4MGIsIDB4MTQsIDB4YmUsIDB4MTQsIDB4MjEsIDB4ZTIsIDB4MzgsIAotICAgIDB4MGYsIDB4MWIsIDB4MzQsIDB4NzgsIDB4ZWMsIDB4N2EsIDB4MTcsIDB4MDEsIDB4ODksIDB4N2EsIDB4MjcsIDB4MDEsIDB4OTksIDB4MDIsIDB4NTYsIDB4YzcsIAotICAgIDB4N2UsIDB4MTQsIDB4MWQsIDB4ZTMsIDB4ODAsIDB4ZWIsIDB4NzUsIDB4MzEsIDB4NTUsIDB4MTIsIDB4N2MsIDB4MTUsIDB4NzUsIDB4MzEsIDB4MDYsIDB4MTIsIAotICAgIDB4N2MsIDB4MTUsIDB4N2EsIDB4NjEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NzEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4MTcsIAotICAgIDB4MDEsIDB4OGIsIDB4N2UsIDB4MjcsIDB4MDEsIDB4OWIsIDB4MmQsIDB4MjMsIDB4N2UsIDB4MDksIDB4YjAsIDB4MGIsIDB4MDQsIDB4N2EsIDB4MTksIDB4YjAsIAotICAgIDB4MGIsIDB4MTQsIDB4YmUsIDB4MTQsIDB4MjUsIDB4ZTIsIDB4MzgsIDB4MGYsIDB4MWIsIDB4MzQsIDB4NzgsIDB4ZWMsIDB4N2EsIDB4MTcsIDB4MDEsIDB4OGIsIAotICAgIDB4N2EsIDB4MjcsIDB4MDEsIDB4OWIsIDB4MDIsIDB4NWEsIDB4MWYsIDB4N2UsIDB4MTQsIDB4MjEsIDB4ZTMsIDB4ODAsIDB4ZWIsIDB4NzUsIDB4MzEsIDB4NTUsIAotICAgIDB4MTIsIDB4N2MsIDB4MTUsIDB4NzUsIDB4MzEsIDB4MDcsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NjEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIAotICAgIDB4NzEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4MTcsIDB4MDEsIDB4OGQsIDB4N2UsIDB4MjcsIDB4MDEsIDB4OWQsIDB4MmQsIDB4MjMsIDB4N2UsIAotICAgIDB4MDksIDB4YjAsIDB4MGIsIDB4MDQsIDB4N2EsIDB4MTksIDB4YjAsIDB4MGIsIDB4MTQsIDB4YmUsIDB4MTQsIDB4MjksIDB4ZTIsIDB4MzgsIDB4MGYsIDB4MWIsIAotICAgIDB4MzQsIDB4NzgsIDB4ZWMsIDB4N2EsIDB4MTcsIDB4MDEsIDB4OGQsIDB4N2EsIDB4MjcsIDB4MDEsIDB4OWQsIDB4MDIsIDB4NWQsIDB4NzcsIDB4N2UsIDB4MTQsIAotICAgIDB4MjUsIDB4ZTMsIDB4ODAsIDB4ZWIsIDB4Y2EsIDB4YjgsIDB4YzAsIDB4ZjEsIDB4NzUsIDB4MzEsIDB4MDIsIDB4MTIsIDB4N2MsIDB4MTUsIDB4ZTUsIDB4YzAsIAotICAgIDB4NTQsIDB4MDMsIDB4NjgsIDB4MDUsIDB4MTIsIDB4NzUsIDB4Y2QsIDB4ODAsIDB4ZjUsIDB4MzAsIDB4YzIsIDB4MDgsIDB4NzUsIDB4ZjEsIDB4MDEsIDB4MTIsIAotICAgIDB4NmYsIDB4ZDksIDB4ODAsIDB4MTQsIDB4MzAsIDB4YzMsIDB4MDgsIDB4NzUsIDB4ZjEsIDB4MDEsIDB4MTIsIDB4NmUsIDB4ZmQsIDB4ODAsIDB4MDksIDB4MzAsIAotICAgIDB4YzQsIDB4MDYsIDB4NzUsIDB4ZjEsIDB4MDIsIDB4MTIsIDB4NzAsIDB4ZTksIDB4ZDAsIDB4ZjEsIDB4ZGEsIDB4YjgsIDB4MzIsIDB4NzUsIDB4MzEsIDB4MTAsIAotICAgIDB4MTIsIDB4N2MsIDB4MTUsIDB4Y2EsIDB4MGIsIDB4Y2EsIDB4MzksIDB4Y2EsIDB4NTksIDB4YzIsIDB4YzMsIDB4YTksIDB4MjEsIDB4ZTIsIDB4NWMsIDB4ZTUsIAotICAgIDB4ZTUsIDB4NTQsIDB4YzAsIDB4NjgsIDB4NGYsIDB4ZTUsIDB4ZTYsIDB4NmMsIDB4YWEsIDB4N2UsIDB4MzcsIDB4MDEsIDB4ZGIsIDB4MmQsIDB4MzUsIDB4YmUsIAotICAgIDB4MzQsIDB4MDQsIDB4MDAsIDB4MzgsIDB4NGEsIDB4N2EsIDB4MzcsIDB4MDEsIDB4ZGIsIDB4N2UsIDB4MzcsIDB4MDEsIDB4ZDksIDB4N2QsIDB4NDMsIDB4MmQsIAotICAgIDB4NDUsIDB4YmUsIDB4NDQsIDB4MDksIDB4ZTIsIDB4MzgsIDB4NDAsIDB4N2EsIDB4NDcsIDB4MDEsIDB4ZDksIDB4NzUsIDB4MzEsIDB4MTEsIDB4MTIsIDB4N2MsIAotICAgIDB4MTUsIDB4N2EsIDB4YjEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MTIsIDB4NzEsIDB4YjgsIDB4YTksIDB4MjEsIDB4ZTUsIDB4MWYsIDB4YTksIDB4ZDQsIAotICAgIDB4ZTQsIDB4YTksIDB4MjQsIDB4ZTQsIDB4ZmMsIDB4YzIsIDB4YzMsIDB4YTksIDB4MjEsIDB4ZTIsIDB4M2IsIDB4ZTUsIDB4ZTUsIDB4NTQsIDB4YzAsIDB4NzgsIAotICAgIDB4YjQsIDB4MTIsIDB4NzQsIDB4NWEsIDB4ZGEsIDB4NTksIDB4ZGEsIDB4MzksIDB4ZGEsIDB4MGIsIDB4MjIsIDB4ODAsIDB4MjksIDB4ODAsIDB4NTgsIDB4NzUsIAotICAgIDB4MzEsIDB4MTYsIDB4MTIsIDB4N2MsIDB4MTUsIDB4ODAsIDB4ZWQsIDB4NzUsIDB4MzEsIDB4MTIsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4YjEsIDB4MzEsIAotICAgIDB4MTIsIDB4N2MsIDB4MTUsIDB4OWUsIDB4NDQsIDB4MDksIDB4ZTMsIDB4OWQsIDB4NTQsIDB4MTIsIDB4NzEsIDB4YjgsIDB4N2UsIDB4MzQsIDB4MDUsIDB4ZTMsIAotICAgIDB4N2QsIDB4NTQsIDB4MmQsIDB4NDMsIDB4ODAsIDB4YTEsIDB4ZTUsIDB4ZTUsIDB4NTQsIDB4MDMsIDB4NzgsIDB4MTIsIDB4NzUsIDB4MzEsIDB4MTMsIDB4MTIsIAotICAgIDB4N2MsIDB4MTUsIDB4N2UsIDB4MGYsIDB4MjksIDB4ZmYsIDB4MGIsIDB4MGMsIDB4N2EsIDB4MGYsIDB4MjksIDB4ZmYsIDB4ODAsIDB4YTcsIDB4NzUsIDB4MzEsIAotICAgIDB4MTQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4MGYsIDB4MmEsIDB4MDMsIDB4MGIsIDB4MGMsIDB4N2EsIDB4MGYsIDB4MmEsIDB4MDMsIDB4YTksIDB4ZDcsIAotICAgIDB4ZTQsIDB4YTksIDB4MjcsIDB4ZTQsIDB4ZmMsIDB4ODAsIDB4OWQsIDB4NzUsIDB4MzEsIDB4MTUsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4MGYsIDB4MmEsIAotICAgIDB4MDcsIDB4MGIsIDB4MGMsIDB4N2EsIDB4MGYsIDB4MmEsIDB4MDcsIDB4ODAsIDB4ZTUsIDB4NzUsIDB4MzEsIDB4MTgsIDB4MTIsIDB4N2MsIDB4MTUsIDB4Y2EsIAotICAgIDB4MDksIDB4Y2EsIDB4MzksIDB4Y2EsIDB4MmIsIDB4YzIsIDB4YzIsIDB4YTksIDB4MjEsIDB4ZjIsIDB4NTIsIDB4ZTUsIDB4ZjUsIDB4MzMsIDB4ODIsIDB4ZTcsIAotICAgIDB4NDAsIDB4NDQsIDB4N2UsIDB4MzcsIDB4MDEsIDB4ZTEsIDB4N2UsIDB4NTQsIDB4MDAsIDB4NDAsIDB4OWQsIDB4MzUsIDB4NDAsIDB4NDMsIDB4N2EsIDB4MzcsIAotICAgIDB4MDEsIDB4ZTEsIDB4N2UsIDB4MzcsIDB4MDEsIDB4ZGQsIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDUsIDB4YmUsIDB4NDQsIDB4MDUsIDB4ZTIsIDB4MzgsIDB4NTIsIAotICAgIDB4N2EsIDB4NDcsIDB4MDEsIDB4ZGQsIDB4N2QsIDB4NDUsIDB4MTIsIDB4NzMsIDB4MTYsIDB4YTksIDB4MjAsIDB4ZjUsIDB4MjIsIDB4NzUsIDB4MzEsIDB4MTksIAotICAgIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4OTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4ODEsIDB4ZjcsIDB4N2EsIDB4OTEsIDB4ZjYsIDB4ZTUsIAotICAgIDB4ZjUsIDB4MzMsIDB4ODIsIDB4ZTcsIDB4NTAsIDB4YmMsIDB4ZGEsIDB4MmIsIDB4ZGEsIDB4MzksIDB4ZGEsIDB4MDksIDB4MjIsIDB4ODAsIDB4NDEsIDB4ODAsIAotICAgIDB4NjQsIDB4MmQsIDB4NTMsIDB4NmQsIDB4MzMsIDB4NzAsIDB4YjcsIDB4N2UsIDB4MDQsIDB4MDEsIDB4ZTMsIDB4N2EsIDB4MDcsIDB4MDEsIDB4ZGYsIDB4N2EsIAotICAgIDB4MDcsIDB4MDEsIDB4ZGQsIDB4YTksIDB4MzIsIDB4ZjIsIDB4ZGYsIDB4ODUsIDB4MzAsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4NzUsIDB4ZjYsIDB4MDAsIAotICAgIDB4ODAsIDB4ZDQsIDB4Y2EsIDB4NTksIDB4OWUsIDB4NDQsIDB4MDUsIDB4ZTMsIDB4OWQsIDB4NTQsIDB4MTIsIDB4NzMsIDB4MTYsIDB4N2UsIDB4MzQsIDB4MDEsIAotICAgIDB4ZTMsIDB4N2QsIDB4NTQsIDB4MmQsIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4ZGQsIDB4MTIsIDB4NzMsIDB4MTYsIDB4ZGEsIDB4NDksIDB4ODAsIDB4OTksIAotICAgIDB4ZTUsIDB4ZjUsIDB4NTQsIDB4MDMsIDB4NzgsIDB4MWYsIDB4N2UsIDB4MGYsIDB4MjksIDB4ZWYsIDB4MGIsIDB4MGMsIDB4N2EsIDB4MGYsIDB4MjksIDB4ZWYsIAotICAgIDB4ODAsIDB4OWQsIDB4N2UsIDB4MGYsIDB4MjksIDB4ZjcsIDB4MGIsIDB4MGMsIDB4N2EsIDB4MGYsIDB4MjksIDB4ZjcsIDB4YTksIDB4ZDcsIDB4ZjQsIDB4YTksIAotICAgIDB4MjcsIDB4ZjQsIDB4ZmMsIDB4ODAsIDB4OGEsIDB4N2UsIDB4MGYsIDB4MjksIDB4ZjMsIDB4MGIsIDB4MGMsIDB4N2EsIDB4MGYsIDB4MjksIDB4ZjMsIDB4ODAsIAotICAgIDB4ZWIsIDB4ZTUsIDB4ZjUsIDB4NTQsIDB4MDMsIDB4NzgsIDB4MWYsIDB4N2UsIDB4MmYsIDB4MmEsIDB4MGYsIDB4MGIsIDB4MmMsIDB4N2EsIDB4MmYsIDB4MmEsIAotICAgIDB4MGYsIDB4ODAsIDB4MzQsIDB4N2UsIDB4MmYsIDB4MmEsIDB4MTcsIDB4MGIsIDB4MmMsIDB4N2EsIDB4MmYsIDB4MmEsIDB4MTcsIDB4YTksIDB4ZDcsIDB4ZjQsIAotICAgIDB4YTksIDB4MjcsIDB4ZjQsIDB4ZmMsIDB4ODAsIDB4MjEsIDB4N2UsIDB4MmYsIDB4MmEsIDB4MTMsIDB4MGIsIDB4MmMsIDB4N2EsIDB4MmYsIDB4MmEsIDB4MTMsIAotICAgIDB4ODAsIDB4ZWIsIDB4ZGEsIDB4MmIsIDB4ZGEsIDB4MWIsIDB4ZGEsIDB4MGIsIDB4MjIsIDB4NzUsIDB4MzEsIDB4MjgsIDB4MTIsIDB4N2MsIDB4MTUsIDB4Y2EsIAotICAgIDB4MGIsIDB4Y2EsIDB4MWIsIDB4Y2EsIDB4MmIsIDB4YzIsIDB4YzQsIDB4YTksIDB4MjEsIDB4ZjIsIDB4YjYsIDB4ZTUsIDB4ZjUsIDB4MzMsIDB4NzIsIDB4ZTcsIAotICAgIDB4NDAsIDB4ZTAsIDB4N2UsIDB4MGQsIDB4NDYsIDB4N2UsIDB4MWQsIDB4NGEsIDB4N2UsIDB4MmQsIDB4NGUsIDB4N2UsIDB4M2QsIDB4NTIsIDB4N2UsIDB4ODUsIAotICAgIDB4NTYsIDB4N2QsIDB4OTAsIDB4NGQsIDB4OTEsIDB4NGQsIDB4OTIsIDB4NGQsIDB4OTMsIDB4NGQsIDB4OTQsIDB4NGQsIDB4OTUsIDB4NGQsIDB4OTYsIDB4NGQsIAotICAgIDB4OTcsIDB4NGQsIDB4OTgsIDB4NjgsIDB4NzIsIDB4N2EsIDB4MTEsIDB4ZjMsIDB4N2EsIDB4MDEsIDB4ZjMsIDB4N2EsIDB4MzEsIDB4ZjMsIDB4N2EsIDB4MjEsIAotICAgIDB4ZjMsIDB4N2EsIDB4NTEsIDB4ZjMsIDB4N2EsIDB4NDEsIDB4ZjMsIDB4N2EsIDB4NzEsIDB4ZjMsIDB4N2EsIDB4NjEsIDB4ZjMsIDB4N2EsIDB4OTEsIDB4ZjMsIAotICAgIDB4N2EsIDB4ODEsIDB4ZjMsIDB4MzAsIDB4N2IsIDB4MWEsIDB4N2EsIDB4YjEsIDB4ZjMsIDB4N2EsIDB4YTEsIDB4ZjMsIDB4N2EsIDB4ZDEsIDB4ZjMsIDB4N2EsIAotICAgIDB4YzEsIDB4ZjMsIDB4N2EsIDB4ZjEsIDB4ZjMsIDB4N2EsIDB4ZTEsIDB4ZjMsIDB4N2QsIDB4NzgsIDB4N2EsIDB4ZjEsIDB4ZjMsIDB4N2EsIDB4ZTEsIDB4ZjMsIAotICAgIDB4YTksIDB4MzAsIDB4ZjUsIDB4MDMsIDB4MDIsIDB4NzAsIDB4ZDYsIDB4NzUsIDB4MzEsIDB4MjksIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjAsIDB4N2IsIDB4MGIsIAotICAgIDB4NzUsIDB4MzEsIDB4MGEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4NzUsIDB4ZjYsIDB4MGEsIDB4ODAsIDB4MDksIDB4NzUsIDB4MzEsIDB4MTIsIDB4MTIsIDB4N2MsIAotICAgIDB4MTUsIDB4NzUsIDB4ZjYsIDB4MTIsIDB4NmQsIDB4MDAsIDB4N2QsIDB4MTAsIDB4N2EsIDB4MGQsIDB4NDYsIDB4N2EsIDB4MGQsIDB4NGEsIDB4N2EsIDB4MGQsIAotICAgIDB4NGUsIDB4N2EsIDB4MGQsIDB4NTIsIDB4N2EsIDB4MDUsIDB4NTYsIDB4ZGEsIDB4MmIsIDB4ZGEsIDB4MWIsIDB4ZGEsIDB4MGIsIDB4MjIsIDB4MWUsIDB4YjAsIAotICAgIDB4NDAsIDB4MGMsIDB4N2UsIDB4YTAsIDB4MGEsIDB4YTQsIDB4N2UsIDB4MDQsIDB4NzIsIDB4ZmIsIDB4OWQsIDB4MDUsIDB4ODksIDB4MDQsIDB4N2UsIDB4YTEsIAotICAgIDB4ZTMsIDB4N2EsIDB4MzksIDB4YTAsIDB4MGIsIDB4MzQsIDB4ODAsIDB4ZWEsIDB4YjQsIDB4NDAsIDB4ZTMsIDB4N2UsIDB4YTEsIDB4ZTMsIDB4ZTUsIDB4ZTMsIAotICAgIDB4MWIsIDB4MzgsIDB4NTAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4YTEsIDB4ZTMsIDB4ZTUsIDB4ZTMsIDB4MWIsIDB4MzgsIDB4NTAsIDB4MGIsIDB4MzUsIDB4N2UsIAotICAgIDB4YTEsIDB4ZTMsIDB4ZTUsIDB4ZTMsIDB4MWIsIDB4MzgsIDB4NTAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4YTEsIDB4ZTMsIDB4ZTUsIDB4ZTMsIDB4MWIsIDB4MzgsIAotICAgIDB4NTAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4YTEsIDB4ZTMsIDB4ZTUsIDB4ZTMsIDB4MWIsIDB4MzgsIDB4NTAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4YTEsIDB4ZTMsIAotICAgIDB4ZTUsIDB4ZTMsIDB4MWIsIDB4MzgsIDB4NTAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4YTEsIDB4ZTMsIDB4ZTUsIDB4ZTMsIDB4MWIsIDB4MzgsIDB4NTAsIDB4MGIsIAotICAgIDB4MzUsIDB4N2UsIDB4YTEsIDB4ZTMsIDB4ZTUsIDB4ZTMsIDB4MWIsIDB4MzgsIDB4NTAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4YTEsIDB4ZTMsIDB4ZTUsIDB4ZTMsIAotICAgIDB4MWIsIDB4MzgsIDB4NTAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4YTEsIDB4ZTMsIDB4ZTUsIDB4ZTMsIDB4MWIsIDB4MzgsIDB4NTAsIDB4MGIsIDB4MzUsIDB4N2UsIAotICAgIDB4YTEsIDB4ZTMsIDB4ZTUsIDB4ZTMsIDB4MWIsIDB4MzgsIDB4NTAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4YTEsIDB4ZTMsIDB4ZTUsIDB4ZTMsIDB4MWIsIDB4MzgsIAotICAgIDB4NTAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4YTEsIDB4ZTMsIDB4ZTUsIDB4ZTMsIDB4MWIsIDB4MzgsIDB4NTAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4YTEsIDB4ZTMsIAotICAgIDB4ZTUsIDB4ZTMsIDB4MWIsIDB4MzgsIDB4NTAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4YTEsIDB4ZTMsIDB4ZTUsIDB4ZTMsIDB4MWIsIDB4MzgsIDB4NTAsIDB4MGIsIAotICAgIDB4MzUsIDB4N2UsIDB4YTEsIDB4ZTMsIDB4ZTUsIDB4ZTMsIDB4MWIsIDB4MzgsIDB4NTAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4YTEsIDB4ZTMsIDB4ZTUsIDB4ZTMsIAotICAgIDB4MWIsIDB4MzgsIDB4NTAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4YTEsIDB4ZTMsIDB4ZTUsIDB4ZTMsIDB4MWIsIDB4MzgsIDB4NTAsIDB4MGIsIDB4MzUsIDB4N2UsIAotICAgIDB4YTEsIDB4ZTMsIDB4ZTUsIDB4ZTMsIDB4MWIsIDB4MzgsIDB4NTAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4YTEsIDB4ZTMsIDB4ZTUsIDB4ZTMsIDB4MWIsIDB4MzgsIAotICAgIDB4NTAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4YTEsIDB4ZTMsIDB4ZTUsIDB4ZTMsIDB4MWIsIDB4MzgsIDB4NTAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4YTEsIDB4ZTMsIAotICAgIDB4ZTUsIDB4ZTMsIDB4MWIsIDB4MzgsIDB4NTAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4YTEsIDB4ZTMsIDB4ZTUsIDB4ZTMsIDB4MWIsIDB4MzgsIDB4NTAsIDB4MGIsIAotICAgIDB4MzUsIDB4N2UsIDB4YTEsIDB4ZTMsIDB4ZTUsIDB4ZTMsIDB4MWIsIDB4MzgsIDB4NTAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4YTEsIDB4ZTMsIDB4ZTUsIDB4ZTMsIAotICAgIDB4MWIsIDB4MzgsIDB4NTAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4YTEsIDB4ZTMsIDB4ZTUsIDB4ZTMsIDB4MWIsIDB4MzgsIDB4NTAsIDB4MGIsIDB4MzUsIDB4N2UsIAotICAgIDB4YTEsIDB4ZTMsIDB4ZTUsIDB4ZTMsIDB4MWIsIDB4MzgsIDB4NTAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4YTEsIDB4ZTMsIDB4ZTUsIDB4ZTMsIDB4MWIsIDB4MzgsIAotICAgIDB4NTAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4YTEsIDB4ZTMsIDB4ZTUsIDB4ZTMsIDB4MWIsIDB4MzgsIDB4NTAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4YTEsIDB4ZTMsIAotICAgIDB4ZTUsIDB4ZTMsIDB4MWIsIDB4MzgsIDB4NTAsIDB4MGIsIDB4MzUsIDB4N2UsIDB4YTEsIDB4ZTMsIDB4ZTUsIDB4ZTMsIDB4MWIsIDB4MzgsIDB4NTAsIDB4MGIsIAotICAgIDB4MzUsIDB4N2UsIDB4YTEsIDB4ZTMsIDB4ZTUsIDB4ZTMsIDB4MWIsIDB4MzgsIDB4NTAsIDB4MGIsIDB4MzUsIDB4MjIsIDB4MWUsIDB4YjAsIDB4NDAsIDB4MGMsIAotICAgIDB4N2UsIDB4YTAsIDB4MGEsIDB4YTQsIDB4N2UsIDB4MDQsIDB4NzQsIDB4NTksIDB4OWQsIDB4MDUsIDB4ODksIDB4MDQsIDB4N2UsIDB4MzksIDB4YTAsIDB4N2EsIAotICAgIDB4YTEsIDB4ZjMsIDB4MGIsIDB4MzQsIDB4ODAsIDB4ZWEsIDB4YjQsIDB4NDAsIDB4ZTMsIDB4MGIsIDB4MzgsIDB4NTAsIDB4N2EsIDB4YTEsIDB4ZjMsIDB4ZjUsIAotICAgIDB4ZjMsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4NTAsIDB4N2EsIDB4YTEsIDB4ZjMsIDB4ZjUsIDB4ZjMsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4NTAsIAotICAgIDB4N2EsIDB4YTEsIDB4ZjMsIDB4ZjUsIDB4ZjMsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4NTAsIDB4N2EsIDB4YTEsIDB4ZjMsIDB4ZjUsIDB4ZjMsIDB4MGIsIAotICAgIDB4MzUsIDB4MGIsIDB4MzgsIDB4NTAsIDB4N2EsIDB4YTEsIDB4ZjMsIDB4ZjUsIDB4ZjMsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4NTAsIDB4N2EsIDB4YTEsIAotICAgIDB4ZjMsIDB4ZjUsIDB4ZjMsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4NTAsIDB4N2EsIDB4YTEsIDB4ZjMsIDB4ZjUsIDB4ZjMsIDB4MGIsIDB4MzUsIDB4MGIsIAotICAgIDB4MzgsIDB4NTAsIDB4N2EsIDB4YTEsIDB4ZjMsIDB4ZjUsIDB4ZjMsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4NTAsIDB4N2EsIDB4YTEsIDB4ZjMsIDB4ZjUsIAotICAgIDB4ZjMsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4NTAsIDB4N2EsIDB4YTEsIDB4ZjMsIDB4ZjUsIDB4ZjMsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4NTAsIAotICAgIDB4N2EsIDB4YTEsIDB4ZjMsIDB4ZjUsIDB4ZjMsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4NTAsIDB4N2EsIDB4YTEsIDB4ZjMsIDB4ZjUsIDB4ZjMsIDB4MGIsIAotICAgIDB4MzUsIDB4MGIsIDB4MzgsIDB4NTAsIDB4N2EsIDB4YTEsIDB4ZjMsIDB4ZjUsIDB4ZjMsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4NTAsIDB4N2EsIDB4YTEsIAotICAgIDB4ZjMsIDB4ZjUsIDB4ZjMsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4NTAsIDB4N2EsIDB4YTEsIDB4ZjMsIDB4ZjUsIDB4ZjMsIDB4MGIsIDB4MzUsIDB4MGIsIAotICAgIDB4MzgsIDB4NTAsIDB4N2EsIDB4YTEsIDB4ZjMsIDB4ZjUsIDB4ZjMsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4NTAsIDB4N2EsIDB4YTEsIDB4ZjMsIDB4ZjUsIAotICAgIDB4ZjMsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4NTAsIDB4N2EsIDB4YTEsIDB4ZjMsIDB4ZjUsIDB4ZjMsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4NTAsIAotICAgIDB4N2EsIDB4YTEsIDB4ZjMsIDB4ZjUsIDB4ZjMsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4NTAsIDB4N2EsIDB4YTEsIDB4ZjMsIDB4ZjUsIDB4ZjMsIDB4MGIsIAotICAgIDB4MzUsIDB4MGIsIDB4MzgsIDB4NTAsIDB4N2EsIDB4YTEsIDB4ZjMsIDB4ZjUsIDB4ZjMsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4NTAsIDB4N2EsIDB4YTEsIAotICAgIDB4ZjMsIDB4ZjUsIDB4ZjMsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4NTAsIDB4N2EsIDB4YTEsIDB4ZjMsIDB4ZjUsIDB4ZjMsIDB4MGIsIDB4MzUsIDB4MGIsIAotICAgIDB4MzgsIDB4NTAsIDB4N2EsIDB4YTEsIDB4ZjMsIDB4ZjUsIDB4ZjMsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4NTAsIDB4N2EsIDB4YTEsIDB4ZjMsIDB4ZjUsIAotICAgIDB4ZjMsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4NTAsIDB4N2EsIDB4YTEsIDB4ZjMsIDB4ZjUsIDB4ZjMsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4NTAsIAotICAgIDB4N2EsIDB4YTEsIDB4ZjMsIDB4ZjUsIDB4ZjMsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4NTAsIDB4N2EsIDB4YTEsIDB4ZjMsIDB4ZjUsIDB4ZjMsIDB4MGIsIAotICAgIDB4MzUsIDB4MGIsIDB4MzgsIDB4NTAsIDB4N2EsIDB4YTEsIDB4ZjMsIDB4ZjUsIDB4ZjMsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4NTAsIDB4N2EsIDB4YTEsIAotICAgIDB4ZjMsIDB4ZjUsIDB4ZjMsIDB4MGIsIDB4MzUsIDB4MGIsIDB4MzgsIDB4NTAsIDB4N2EsIDB4YTEsIDB4ZjMsIDB4ZjUsIDB4ZjMsIDB4MGIsIDB4MzUsIDB4MGIsIAotICAgIDB4MzgsIDB4NTAsIDB4N2EsIDB4YTEsIDB4ZjMsIDB4ZjUsIDB4ZjMsIDB4MGIsIDB4MzUsIDB4MjIsIDB4YzIsIDB4YWYsIDB4N2UsIDB4MzcsIDB4MDEsIDB4ZGIsIAotICAgIDB4NGQsIDB4MzMsIDB4NjgsIDB4M2IsIDB4N2UsIDB4MDcsIDB4MDEsIDB4ZDcsIDB4N2UsIDB4NTQsIDB4MDksIDB4ZTMsIDB4OWQsIDB4NTAsIDB4YmQsIDB4MzUsIAotICAgIDB4NDAsIDB4MDIsIDB4N2QsIDB4MzUsIDB4Y2EsIDB4MzksIDB4N2UsIDB4NjUsIDB4NjEsIDB4OTksIDB4NjQsIDB4ZGEsIDB4MzksIDB4N2UsIDB4MDcsIDB4MDEsIAotICAgIDB4ZGIsIDB4OWQsIDB4MDMsIDB4N2EsIDB4MDcsIDB4MDEsIDB4ZGIsIDB4MmUsIDB4MzcsIDB4MDEsIDB4ZDcsIDB4N2EsIDB4MzcsIDB4MDEsIDB4ZDcsIDB4YmUsIAotICAgIDB4MzQsIDB4MDksIDB4ZTIsIDB4MjgsIDB4YzcsIDB4N2UsIDB4MzQsIDB4MDUsIDB4ZTMsIDB4N2EsIDB4MzcsIDB4MDEsIDB4ZDcsIDB4ODAsIDB4YmQsIDB4ZDIsIAotICAgIDB4YWYsIDB4MjIsIDB4NzUsIDB4MzEsIDB4NTMsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4MTUsIDB4NjMsIDB4ODAsIDB4MTEsIDB4NzUsIDB4MzEsIDB4NTEsIAotICAgIDB4MTIsIDB4N2MsIDB4MTUsIDB4MGIsIDB4MDgsIDB4MTAsIDB4MGIsIDB4MDUsIDB4OWUsIDB4MzQsIDB4MDAsIDB4MDIsIDB4MjgsIDB4NGQsIDB4N2MsIDB4YjIsIAotICAgIDB4MjAsIDB4ZTcsIDB4MjcsIDB4NTQsIDB4MDcsIDB4MjMsIDB4MGEsIDB4MmIsIDB4NDksIDB4MjIsIDB4NmMsIDB4N2MsIDB4N2MsIDB4YjIsIDB4NTQsIDB4NzgsIAotICAgIDB4MDMsIDB4MDMsIDB4MDMsIDB4N2MsIDB4MmIsIDB4OWQsIDB4MTMsIDB4NDAsIDB4MWEsIDB4NjgsIDB4MTIsIDB4N2EsIDB4MTUsIDB4NjMsIDB4N2EsIDB4MjUsIAotICAgIDB4NjUsIDB4N2UsIDB4NjQsIDB4NzUsIDB4MzcsIDB4N2EsIDB4NjUsIDB4NjEsIDB4ODksIDB4MjQsIDB4MDIsIDB4NzUsIDB4NDUsIDB4N2UsIDB4NjQsIDB4NzQsIAotICAgIDB4YWQsIDB4ODAsIDB4ZjIsIDB4MmQsIDB4MTMsIDB4OWQsIDB4MzEsIDB4Y2EsIDB4MzksIDB4N2QsIDB4MzEsIDB4MmQsIDB4MTAsIDB4Y2EsIDB4MTksIDB4Y2EsIAotICAgIDB4MjksIDB4OTksIDB4MjQsIDB4ZGEsIDB4MjksIDB4ZGEsIDB4MDksIDB4ZGEsIDB4MzksIDB4ODAsIDB4YTIsIDB4N2EsIDB4MTUsIDB4NjMsIDB4N2UsIDB4NjQsIAotICAgIDB4NzUsIDB4MjMsIDB4NGQsIDB4MzMsIDB4NzgsIDB4MDksIDB4N2MsIDB4YjIsIDB4MjAsIDB4ZTcsIDB4MmEsIDB4N2UsIDB4NjQsIDB4NzQsIDB4YTIsIDB4N2EsIAotICAgIDB4NjUsIDB4NjEsIDB4MjIsIDB4NzUsIDB4MzEsIDB4NTIsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4MjEsIDB4NjMsIDB4N2UsIDB4MDksIDB4MzAsIDB4MGIsIAotICAgIDB4MDQsIDB4MWIsIDB4MzQsIDB4NzgsIDB4ODksIDB4ODAsIDB4ZDQsIDB4NzUsIDB4MzEsIDB4NTQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4MTUsIDB4NjMsIAotICAgIDB4N2UsIDB4MjUsIDB4NjUsIDB4ODAsIDB4OTAsIDB4NWUsIDB4MjAsIDB4MDcsIDB4NTQsIDB4NzgsIDB4N2UsIDB4NDQsIDB4NzUsIDB4YzEsIDB4MzAsIDB4ZTYsIAotICAgIDB4MTYsIDB4NGQsIDB4MzMsIDB4NjgsIDB4MjYsIDB4MWIsIDB4MzQsIDB4N2UsIDB4MDksIDB4NDAsIDB4MGIsIDB4MDQsIDB4N2UsIDB4NDQsIDB4NjcsIDB4NjMsIAotICAgIDB4MjAsIDB4ZTMsIDB4MDQsIDB4N2UsIDB4NDQsIDB4NzUsIDB4YzksIDB4Y2EsIDB4MDksIDB4Y2EsIDB4MzksIDB4OTksIDB4NDQsIDB4ZGEsIDB4MzksIDB4ZGEsIAotICAgIDB4MDksIDB4N2UsIDB4NjQsIDB4NzQsIDB4YWQsIDB4NGQsIDB4MzMsIDB4NjgsIDB4YTYsIDB4ODksIDB4NjQsIDB4N2EsIDB4MTUsIDB4NjMsIDB4ZjUsIDB4NjUsIAotICAgIDB4N2UsIDB4NjQsIDB4NzUsIDB4ODYsIDB4ODAsIDB4OTksIDB4N2UsIDB4MTUsIDB4NjMsIDB4ZTUsIDB4NjUsIDB4ODAsIDB4YzQsIDB4YzAsIDB4ZDAsIDB4YzAsIAotICAgIDB4ZDEsIDB4YzAsIDB4ZTAsIDB4Y2EsIDB4MTksIDB4YTksIDB4MjAsIDB4ZGYsIDB4MTIsIDB4YTksIDB4MjEsIDB4ZGYsIDB4MWIsIDB4NzUsIDB4MzEsIDB4MDEsIAotICAgIDB4MTIsIDB4N2MsIDB4MTUsIDB4NTMsIDB4ZGYsIDB4ZjcsIDB4MTIsIDB4NDAsIDB4ZGMsIDB4ODAsIDB4MGQsIDB4NzUsIDB4MzEsIDB4ZmUsIDB4MTIsIDB4N2MsIAotICAgIDB4MTUsIDB4N2UsIDB4MTQsIDB4MDAsIDB4NTMsIDB4MDIsIDB4NDAsIDB4NTEsIDB4ZGEsIDB4MTksIDB4ZDAsIDB4ZTAsIDB4ZDAsIDB4ZDEsIDB4ZDAsIDB4ZDAsIAotICAgIDB4MzIsIDB4MDMsIDB4YTUsIDB4Y2IsIDB4MTksIDB4YjEsIDB4ODAsIDB4MDAsIDB4MjIsIDB4MjIsIDB4MDIsIDB4NzYsIDB4NDIsIDB4Y2EsIDB4MGIsIDB4Y2EsIAotICAgIDB4MWIsIDB4Y2EsIDB4MmIsIDB4Y2EsIDB4M2IsIDB4Y2EsIDB4NGIsIDB4Y2EsIDB4NWIsIDB4Y2EsIDB4NmIsIDB4Y2EsIDB4N2IsIDB4Y2EsIDB4ZWIsIDB4YzAsIAotICAgIDB4ZjEsIDB4N2UsIDB4YjMsIDB4MmEsIDB4MzMsIDB4YjQsIDB4MDAsIDB4MDIsIDB4ODAsIDB4MTksIDB4YjQsIDB4MDEsIDB4MTYsIDB4MzAsIDB4YzAsIDB4MDgsIAotICAgIDB4NzUsIDB4ZjEsIDB4MDAsIDB4MTIsIDB4NzYsIDB4MmMsIDB4ODAsIDB4MWYsIDB4MzAsIDB4YzEsIDB4MWMsIDB4NzUsIDB4ZjEsIDB4MDAsIDB4MTIsIDB4NzYsIAotICAgIDB4YmQsIDB4ODAsIDB4MTQsIDB4MzAsIDB4YzEsIDB4MDgsIDB4NzUsIDB4ZjEsIDB4MDAsIDB4MTIsIDB4NzYsIDB4YmQsIDB4ODAsIDB4MDksIDB4MzAsIDB4YzAsIAotICAgIDB4MDYsIDB4NzUsIDB4ZjEsIDB4MDAsIDB4MTIsIDB4NzYsIDB4MmMsIDB4ZDAsIDB4ZjEsIDB4ZGEsIDB4ZWIsIDB4ZGEsIDB4N2IsIDB4ZGEsIDB4NmIsIDB4ZGEsIAotICAgIDB4NWIsIDB4ZGEsIDB4NGIsIDB4ZGEsIDB4M2IsIDB4ZGEsIDB4MmIsIDB4ZGEsIDB4MWIsIDB4ZGEsIDB4MGIsIDB4MjIsIDB4YzIsIDB4YzAsIDB4N2UsIDB4YjMsIAotICAgIDB4MmEsIDB4MzMsIDB4YjQsIDB4MDIsIDB4MDcsIDB4MTIsIDB4NzYsIDB4NGUsIDB4MDIsIDB4NzYsIDB4NDIsIDB4MjIsIDB4YjQsIDB4MDEsIDB4ZmMsIDB4MDIsIAotICAgIDB4NzYsIDB4ODgsIDB4N2UsIDB4MDAsIDB4MDAsIDB4N2EsIDB4MDMsIDB4MmEsIDB4MzMsIDB4N2EsIDB4MDMsIDB4MmEsIDB4MzQsIDB4MjIsIDB4N2UsIDB4YjMsIAotICAgIDB4MmEsIDB4MmIsIDB4NTQsIDB4NjAsIDB4NjAsIDB4MDUsIDB4YjQsIDB4NDAsIDB4MTUsIDB4ODAsIDB4MTMsIDB4N2UsIDB4YjMsIDB4MmEsIDB4MmMsIDB4YjQsIAotICAgIDB4MDUsIDB4MGMsIDB4NzUsIDB4MzEsIDB4NzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4YjMsIDB4MmEsIDB4MmUsIDB4ZjUsIDB4OGYsIDB4MjIsIDB4NzUsIAotICAgIDB4ZjYsIDB4MDAsIDB4MjIsIDB4YmUsIDB4NTcsIDB4MmEsIDB4MzEsIDB4MjgsIDB4MDQsIDB4N2UsIDB4NTcsIDB4MmEsIDB4MzEsIDB4N2EsIDB4MGYsIDB4MmEsIAotICAgIDB4MzYsIDB4N2EsIDB4NTcsIDB4MmEsIDB4M2EsIDB4MDIsIDB4NzYsIDB4ODgsIDB4N2UsIDB4ZWYsIDB4MmEsIDB4MzYsIDB4N2UsIDB4ZjcsIDB4MmEsIDB4M2EsIAotICAgIDB4N2UsIDB4MDcsIDB4MmEsIDB4M2EsIDB4NGQsIDB4MDAsIDB4NjgsIDB4MjEsIDB4N2UsIDB4MDAsIDB4MDAsIDB4N2UsIDB4ZWIsIDB4YjAsIDB4ZjUsIDB4ZjMsIAotICAgIDB4YTMsIDB4YTUsIDB4MDgsIDB4MWIsIDB4ZjQsIDB4NjgsIDB4MDQsIDB4YTUsIDB4YjgsIDB4MDgsIDB4ZjAsIDB4N2EsIDB4ZWYsIDB4MmEsIDB4MzYsIDB4N2EsIAotICAgIDB4ZjcsIDB4MmEsIDB4M2EsIDB4NzUsIDB4MzEsIDB4MDYsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4MDEsIDB4ZjYsIDB4MjIsIDB4YzIsIDB4YzEsIDB4NzUsIAotICAgIDB4MzEsIDB4MDMsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YTksIDB4MzYsIDB4ZTIsIDB4MTYsIDB4ZTUsIDB4ZjUsIDB4NTQsIDB4YzAsIDB4NjgsIDB4MDcsIDB4YTksIAotICAgIDB4ZDcsIDB4ZjQsIDB4YTksIDB4MjcsIDB4ZjQsIDB4ZmMsIDB4NTMsIDB4ZTEsIDB4M2YsIDB4NDMsIDB4ZjIsIDB4ODgsIDB4MDIsIDB4NzcsIDB4MjksIDB4N2UsIAotICAgIDB4YjMsIDB4MmEsIDB4MzQsIDB4YjQsIDB4MDIsIDB4MDQsIDB4YTksIDB4ZDQsIDB4ZTQsIDB4MjIsIDB4YjQsIDB4MDEsIDB4MzksIDB4N2UsIDB4MjEsIDB4ZTYsIAotICAgIDB4N2MsIDB4MzIsIDB4N2UsIDB4MTMsIDB4MmEsIDB4MzUsIDB4MmMsIDB4MjEsIDB4N2EsIDB4MjMsIDB4MmEsIDB4MzUsIDB4N2UsIDB4MDAsIDB4MDAsIDB4MmUsIAotICAgIDB4MDQsIDB4MmEsIDB4M2MsIDB4ZTUsIDB4ZTMsIDB4N2EsIDB4MDksIDB4YjAsIDB4MGIsIDB4MDQsIDB4YTUsIDB4ZGIsIDB4ZjYsIDB4YTksIDB4ZDQsIDB4ZTQsIAotICAgIDB4NzUsIDB4MzEsIDB4NzAsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4YjMsIDB4MmEsIDB4MzUsIDB4N2UsIDB4YTMsIDB4MmEsIDB4MzIsIDB4YmMsIDB4YWIsIAotICAgIDB4NzgsIDB4MDMsIDB4MTIsIDB4NzcsIDB4YzAsIDB4MjIsIDB4MDIsIDB4N2IsIDB4MjksIDB4ZTUsIDB4ZTYsIDB4YjQsIDB4MDgsIDB4NjUsIDB4YTksIDB4YzQsIAotICAgIDB4ZTIsIDB4N2UsIDB4MDEsIDB4ZTMsIDB4N2UsIDB4MTEsIDB4ZTMsIDB4N2UsIDB4MzEsIDB4ZTMsIDB4N2UsIDB4MjEsIDB4ZTMsIDB4N2UsIDB4NTEsIDB4ZTMsIAotICAgIDB4N2UsIDB4NDEsIDB4ZTMsIDB4N2UsIDB4NzEsIDB4ZTMsIDB4N2UsIDB4NjEsIDB4ZTMsIDB4N2EsIDB4MGYsIDB4MmEsIDB4MmIsIDB4N2EsIDB4MWYsIDB4MmEsIAotICAgIDB4MmYsIDB4NzUsIDB4MzEsIDB4MDQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4MDEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4MTEsIDB4MzEsIAotICAgIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4MjEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4MzEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIAotICAgIDB4NDEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4NjEsIDB4MzEsIDB4MTIsIDB4N2MsIAotICAgIDB4MTUsIDB4N2EsIDB4NzEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YTksIDB4ZDQsIDB4ZTQsIDB4YTksIDB4ZDcsIDB4ZjQsIDB4YTksIDB4YzYsIDB4ZTIsIAotICAgIDB4MTIsIDB4NzcsIDB4OTQsIDB4MjIsIDB4NmQsIDB4MDAsIDB4N2UsIDB4MTQsIDB4MDEsIDB4MDIsIDB4N2EsIDB4MDcsIDB4MmEsIDB4M2EsIDB4N2EsIDB4MDMsIAotICAgIDB4MmEsIDB4MzUsIDB4N2UsIDB4YjMsIDB4MmEsIDB4MmIsIDB4MjAsIDB4ZTcsIDB4MGYsIDB4N2EsIDB4MjMsIDB4MmEsIDB4MzQsIDB4N2EsIDB4MzMsIDB4MmEsIAotICAgIDB4MzMsIDB4YmUsIDB4MDcsIDB4MmEsIDB4MzEsIDB4NjgsIDB4MDksIDB4MjIsIDB4N2EsIDB4MzMsIDB4MmEsIDB4MzQsIDB4N2EsIDB4MjMsIDB4MmEsIDB4MzMsIAotICAgIDB4N2UsIDB4YjMsIDB4MmEsIDB4MmIsIDB4NTQsIDB4ZTMsIDB4MjMsIDB4MjMsIDB4MzAsIDB4ZTAsIDB4MDIsIDB4ZDIsIDB4ZTUsIDB4MzAsIDB4ZTcsIDB4MDIsIAotICAgIDB4ZDIsIDB4ZTQsIDB4MzAsIDB4ZTUsIDB4MDYsIDB4MzAsIDB4ZTQsIDB4MDMsIDB4MDIsIDB4N2IsIDB4MjksIDB4NTQsIDB4M2UsIDB4ZjUsIDB4ZjAsIDB4MDMsIAotICAgIDB4NTQsIDB4MWYsIDB4YzMsIDB4MjUsIDB4ZjAsIDB4OTAsIDB4NzcsIDB4ZWMsIDB4NzUsIDB4ODQsIDB4ZmYsIDB4NzMsIDB4MDIsIDB4NzksIDB4NDAsIDB4MDIsIAotICAgIDB4NzgsIDB4MzQsIDB4MDIsIDB4NzksIDB4ZGQsIDB4MDIsIDB4NzksIDB4ZjgsIDB4MDIsIDB4NzgsIDB4ZDksIDB4MDIsIDB4NzgsIDB4OWEsIDB4MDIsIDB4N2EsIAotICAgIDB4MTEsIDB4MDIsIDB4N2EsIDB4MTEsIDB4MDIsIDB4N2EsIDB4MTQsIDB4MDIsIDB4N2EsIDB4MTQsIDB4MDIsIDB4N2EsIDB4MTQsIDB4MDIsIDB4N2EsIDB4MTQsIAotICAgIDB4MDIsIDB4N2EsIDB4MTQsIDB4MDIsIDB4N2EsIDB4MTQsIDB4MDIsIDB4N2EsIDB4MTQsIDB4MDIsIDB4N2EsIDB4MTQsIDB4MDIsIDB4N2EsIDB4MWEsIDB4MDIsIAotICAgIDB4N2EsIDB4Y2UsIDB4MDIsIDB4N2EsIDB4MTcsIDB4MDIsIDB4N2EsIDB4MTcsIDB4MDIsIDB4N2EsIDB4MTcsIDB4MDIsIDB4N2EsIDB4MTcsIDB4MDIsIDB4N2EsIAotICAgIDB4MTcsIDB4MDIsIDB4N2EsIDB4MTcsIDB4N2UsIDB4YjMsIDB4MmEsIDB4MmMsIDB4YjQsIDB4MDYsIDB4MmEsIDB4N2UsIDB4YjMsIDB4MmEsIDB4MmQsIDB4NjAsIAotICAgIDB4NTYsIDB4N2MsIDB4MGIsIDB4N2UsIDB4MTMsIDB4MmEsIDB4MmUsIDB4N2UsIDB4MTcsIDB4MmEsIDB4MmYsIDB4NzUsIDB4MzEsIDB4NzIsIDB4MTIsIDB4N2MsIAotICAgIDB4MTUsIDB4N2EsIDB4MDEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4MTEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MTIsIDB4N2IsIDB4MzMsIAotICAgIDB4NDAsIDB4MzUsIDB4MDIsIDB4NzYsIDB4NzMsIDB4YjQsIDB4MDgsIDB4MTAsIDB4NzUsIDB4MzEsIDB4NzQsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4YjMsIAotICAgIDB4M2YsIDB4ZjEsIDB4ZjUsIDB4ZjMsIDB4NzUsIDB4ZjYsIDB4MDEsIDB4MjIsIDB4YjQsIDB4MDAsIDB4MWMsIDB4NzUsIDB4MzEsIDB4NzUsIDB4MTIsIDB4N2MsIAotICAgIDB4MTUsIDB4N2UsIDB4YjMsIDB4M2YsIDB4ZjIsIDB4MzAsIDB4ZTAsIDB4MDUsIDB4NzUsIDB4ZjMsIDB4MDIsIDB4ODAsIDB4MDMsIDB4NzUsIDB4ZjMsIDB4MDAsIAotICAgIDB4NzUsIDB4ZjMsIDB4MDAsIDB4NzUsIDB4ZjYsIDB4MDIsIDB4MjIsIDB4MDIsIDB4N2IsIDB4MjksIDB4N2UsIDB4YjMsIDB4MmEsIDB4MmMsIDB4YjQsIDB4MDAsIAotICAgIDB4MzUsIDB4NzUsIDB4MzEsIDB4NzYsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4YjMsIDB4MmEsIDB4MzAsIDB4NTQsIDB4MGYsIDB4ZjUsIDB4ZjEsIDB4N2UsIAotICAgIDB4YjMsIDB4MmEsIDB4MzAsIDB4MjAsIDB4ZTcsIDB4MDksIDB4ZTUsIDB4ZTEsIDB4MzAsIDB4ZTcsIDB4MGQsIDB4NzQsIDB4MDEsIDB4ODAsIDB4MGIsIDB4ZTUsIAotICAgIDB4ZTEsIDB4MzAsIDB4ZTYsIDB4MDQsIDB4NzQsIDB4MDEsIDB4ODAsIDB4MDIsIDB4NzQsIDB4MDAsIDB4NTMsIDB4ZjEsIDB4ODAsIDB4ZjUsIDB4ZjMsIDB4NzUsIAotICAgIDB4ZjMsIDB4MDAsIDB4NzUsIDB4ZjYsIDB4MDIsIDB4MjIsIDB4MDIsIDB4N2IsIDB4MjksIDB4YzAsIDB4ZjEsIDB4N2UsIDB4YjMsIDB4MmEsIDB4MzAsIDB4NTQsIAotICAgIDB4MGYsIDB4NDIsIDB4ZjEsIDB4N2UsIDB4YjMsIDB4MmEsIDB4MmUsIDB4YjQsIDB4MDAsIDB4NDUsIDB4N2UsIDB4YjMsIDB4MmEsIDB4MmMsIDB4YjQsIDB4MDEsIAotICAgIDB4MjQsIDB4NzUsIDB4MzEsIDB4NzcsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4YjMsIDB4MmEsIDB4MzAsIDB4NTQsIDB4MGYsIDB4NzgsIDB4MDUsIDB4NTMsIAotICAgIDB4ZTEsIDB4M2YsIDB4ODAsIDB4MzcsIDB4N2UsIDB4YjMsIDB4MmEsIDB4MzAsIDB4MjAsIDB4ZTcsIDB4MDUsIDB4NTMsIDB4ZTEsIDB4N2YsIDB4ODAsIDB4MmIsIAotICAgIDB4NTMsIDB4ZTEsIDB4YmYsIDB4ODAsIDB4MjYsIDB4YjQsIDB4MDMsIDB4MTcsIDB4NzUsIDB4MzEsIDB4NzgsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4YjMsIAotICAgIDB4MmEsIDB4MzAsIDB4MjAsIDB4ZTcsIDB4MDUsIDB4NDMsIDB4ZTEsIDB4ODAsIDB4ODAsIDB4MTEsIDB4NDMsIDB4ZTEsIDB4NDAsIDB4ODAsIDB4MGMsIDB4NDMsIAotICAgIDB4ZTEsIDB4YzAsIDB4ZDAsIDB4ZjEsIDB4NzUsIDB4MzEsIDB4MDcsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MjIsIDB4ZDAsIDB4ZjEsIDB4MDIsIDB4NzYsIDB4NmYsIAotICAgIDB4N2UsIDB4YjMsIDB4MmEsIDB4MmMsIDB4YjQsIDB4MDksIDB4MjMsIDB4NzUsIDB4MzEsIDB4NzksIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4YjMsIDB4MmEsIAotICAgIDB4MmUsIDB4YmUsIDB4YjMsIDB4M2YsIDB4ZjEsIDB4NjgsIDB4MTEsIDB4Y2EsIDB4YjgsIDB4YzAsIDB4ZjEsIDB4MTIsIDB4NDMsIDB4ZDQsIDB4ZDAsIDB4ZjEsIAotICAgIDB4ZGEsIDB4YjgsIDB4NTAsIDB4NzYsIDB4N2EsIDB4YjMsIDB4M2YsIDB4ZjEsIDB4ODAsIDB4NmQsIDB4YjQsIDB4MDUsIDB4MDgsIDB4NzUsIDB4MzEsIDB4N2EsIAotICAgIDB4MTIsIDB4N2MsIDB4MTUsIDB4ODAsIDB4NjIsIDB4YjQsIDB4MDMsIDB4MTksIDB4NzUsIDB4MzEsIDB4N2IsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4YjMsIAotICAgIDB4MmEsIDB4MmUsIDB4YjQsIDB4MDEsIDB4NTUsIDB4N2UsIDB4YjMsIDB4M2YsIDB4ZjIsIDB4NDQsIDB4MDEsIDB4N2EsIDB4YjMsIDB4M2YsIDB4ZjIsIDB4ODAsIAotICAgIDB4NDYsIDB4YjQsIDB4MDEsIDB4MTksIDB4NzUsIDB4MzEsIDB4N2MsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4YjMsIDB4MmEsIDB4MmUsIDB4YjQsIDB4MDEsIAotICAgIDB4MzksIDB4N2UsIDB4YjMsIDB4M2YsIDB4ZjIsIDB4NTQsIDB4ZmUsIDB4N2EsIDB4YjMsIDB4M2YsIDB4ZjIsIDB4ODAsIDB4MmEsIDB4YjQsIDB4MDcsIDB4MmEsIAotICAgIDB4N2UsIDB4YjMsIDB4MmEsIDB4MmQsIDB4NjAsIDB4MjQsIDB4N2MsIDB4MGIsIDB4N2UsIDB4MTMsIDB4MmEsIDB4MmUsIDB4N2UsIDB4MTcsIDB4MmEsIDB4MmYsIAotICAgIDB4NzUsIDB4MzEsIDB4NzMsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4MDEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2EsIDB4MTEsIDB4MzEsIDB4MTIsIAotICAgIDB4N2MsIDB4MTUsIDB4MTIsIDB4N2IsIDB4NWYsIDB4NDAsIDB4MDMsIDB4MDIsIDB4NzYsIDB4NmYsIDB4MDIsIDB4N2IsIDB4MjksIDB4N2UsIDB4YjMsIDB4MmEsIAotICAgIDB4MmMsIDB4YjQsIDB4MGIsIDB4ZjYsIDB4NzUsIDB4MzEsIDB4N2QsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4YjMsIDB4MmEsIDB4MmUsIDB4N2UsIDB4YTMsIAotICAgIDB4MmEsIDB4MzAsIDB4NGMsIDB4YWIsIDB4NzgsIDB4ZTQsIDB4ODAsIDB4ZGYsIDB4N2UsIDB4YjMsIDB4MmEsIDB4MmMsIDB4YjQsIDB4MGEsIDB4ZGIsIDB4NzUsIAotICAgIDB4MzEsIDB4N2UsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4YjMsIDB4MmEsIDB4MmUsIDB4NzAsIDB4Y2YsIDB4ZjUsIDB4ZjMsIDB4NzUsIDB4ZjYsIDB4MDEsIAotICAgIDB4MjIsIDB4MDIsIDB4N2IsIDB4MjksIDB4MDIsIDB4N2IsIDB4MjksIDB4MDIsIDB4N2IsIDB4MjksIDB4N2UsIDB4YjMsIDB4MmEsIDB4MmMsIDB4YjQsIDB4MDQsIAotICAgIDB4MjAsIDB4NzUsIDB4MzEsIDB4YzMsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MDEsIDB4N2UsIDB4MTcsIDB4MmEsIDB4MmQsIDB4N2UsIAotICAgIDB4MTgsIDB4MmEsIDB4M2MsIDB4N2EsIDB4MWMsIDB4MDAsIDB4MDAsIDB4N2UsIDB4NDcsIDB4MmEsIDB4MzEsIDB4MTIsIDB4N2MsIDB4MjEsIDB4MDIsIDB4N2EsIAotICAgIDB4YzgsIDB4YjQsIDB4MDYsIDB4M2EsIDB4NzUsIDB4MzEsIDB4YzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4NTgsIDB4MDAsIDB4MDAsIDB4N2EsIDB4NWMsIAotICAgIDB4MDAsIDB4ZmUsIDB4N2QsIDB4Y2EsIDB4N2UsIDB4ZDcsIDB4MmEsIDB4MmQsIDB4N2UsIDB4NzgsIDB4MmEsIDB4M2MsIDB4N2EsIDB4N2MsIDB4MDAsIDB4MDAsIAotICAgIDB4N2UsIDB4NzcsIDB4MmEsIDB4MzEsIDB4NzUsIDB4MzEsIDB4YzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4YzAsIDB4YTgsIDB4YzAsIDB4ODcsIDB4YzIsIDB4YWYsIAotICAgIDB4YTksIDB4ZDUsIDB4ODcsIDB4MTIsIDB4N2MsIDB4NWEsIDB4ZDAsIDB4ODcsIDB4ZDAsIDB4YTgsIDB4NDAsIDB4NGYsIDB4ODAsIDB4NGEsIDB4YjQsIDB4MDAsIAotICAgIDB4MWMsIDB4YzIsIDB4YWYsIDB4YTksIDB4ZDUsIDB4ODcsIDB4MTIsIDB4NzYsIDB4NmYsIDB4ZTQsIDB4OGQsIDB4ZWYsIDB4OGQsIDB4ZWYsIDB4OGQsIDB4ZWYsIAotICAgIDB4ZDUsIDB4ZTAsIDB4ZjcsIDB4YzAsIDB4ZDEsIDB4Y2EsIDB4MDIsIDB4ZmYsIDB4Y2EsIDB4MDYsIDB4MDAsIDB4MDAsIDB4MzIsIDB4YjQsIDB4MDksIDB4MTIsIAotICAgIDB4N2UsIDB4NTcsIDB4MmEsIDB4MmQsIDB4NGQsIDB4NTUsIDB4NjgsIDB4MDUsIDB4YTksIDB4ZDIsIDB4YjEsIDB4ODAsIDB4MDMsIDB4YTksIDB4YzIsIDB4YjEsIAotICAgIDB4ODAsIDB4MTYsIDB4YjQsIDB4MDcsIDB4MTYsIDB4YzIsIDB4YWYsIDB4N2UsIDB4MDcsIDB4MmEsIDB4MmYsIDB4N2UsIDB4MTcsIDB4MmEsIDB4MmQsIDB4YzAsIAotICAgIDB4ZDEsIDB4Y2EsIDB4MTgsIDB4Y2EsIDB4MzgsIDB4Y2EsIDB4MjgsIDB4MzIsIDB4MDIsIDB4NzYsIDB4NmYsIDB4MDIsIDB4N2IsIDB4MjksIDB4N2UsIDB4YjMsIAotICAgIDB4MmEsIDB4MmMsIDB4YjQsIDB4MDMsIDB4MTUsIDB4NzUsIDB4MzEsIDB4YzIsIDB4MTIsIDB4N2MsIDB4MTUsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MDEsIDB4N2UsIAotICAgIDB4MTcsIDB4MmEsIDB4MmQsIDB4N2UsIDB4NTcsIDB4MmEsIDB4MzEsIDB4MDIsIDB4NzYsIDB4NzMsIDB4YjQsIDB4MDUsIDB4MzksIDB4NzUsIDB4MzEsIDB4YzAsIAotICAgIDB4MTIsIDB4N2MsIDB4MTUsIDB4YzAsIDB4YTgsIDB4YzAsIDB4ODcsIDB4YzIsIDB4YWYsIDB4YTksIDB4ZDUsIDB4ODcsIDB4N2UsIDB4MDgsIDB4MmEsIDB4M2MsIAotICAgIDB4N2EsIDB4MGMsIDB4MDAsIDB4MDAsIDB4N2UsIDB4MjQsIDB4MDAsIDB4ZmUsIDB4N2UsIDB4MzcsIDB4MmEsIDB4MmQsIDB4N2UsIDB4NDcsIDB4MmEsIDB4MzEsIAotICAgIDB4MTIsIDB4N2MsIDB4MjEsIDB4ZDAsIDB4ODcsIDB4ZDAsIDB4YTgsIDB4N2UsIDB4MDgsIDB4MmEsIDB4M2MsIDB4N2EsIDB4MGMsIDB4MDAsIDB4MDAsIDB4N2UsIAotICAgIDB4NTcsIDB4MmEsIDB4MzEsIDB4MDIsIDB4NzYsIDB4NzMsIDB4MDIsIDB4N2IsIDB4MjksIDB4NzUsIDB4MzEsIDB4MDcsIDB4MTIsIDB4N2MsIDB4MTUsIDB4NDMsIAotICAgIDB4ZTEsIDB4YzAsIDB4MjIsIDB4YzAsIDB4YTgsIDB4YzAsIDB4ODcsIDB4YzIsIDB4YWYsIDB4YTksIDB4ZDUsIDB4ODcsIDB4MTIsIDB4N2IsIDB4OWUsIDB4NDAsIAotICAgIDB4MTksIDB4N2UsIDB4MDgsIDB4MmEsIDB4M2MsIDB4N2EsIDB4MGMsIDB4MDAsIDB4MDAsIDB4Y2EsIDB4MGIsIDB4Y2EsIDB4NDksIDB4MTIsIDB4N2MsIDB4MjEsIAotICAgIDB4ZGEsIDB4NTksIDB4ZGEsIDB4MGIsIDB4ZDAsIDB4ODcsIDB4ZDAsIDB4YTgsIDB4YzMsIDB4MjIsIDB4ZDAsIDB4ODcsIDB4ZDAsIDB4YTgsIDB4MjIsIDB4YzAsIAotICAgIDB4YTgsIDB4YzAsIDB4ODcsIDB4YzIsIDB4YWYsIDB4YTksIDB4ZDUsIDB4ODcsIDB4MTIsIDB4N2IsIDB4OWUsIDB4NDAsIDB4MmIsIDB4N2UsIDB4NTgsIDB4MDAsIAotICAgIDB4MDAsIDB4N2EsIDB4NWMsIDB4MDAsIDB4ZmUsIDB4N2YsIDB4NjEsIDB4N2UsIDB4NzgsIDB4MmEsIDB4M2MsIDB4N2EsIDB4N2MsIDB4MDAsIDB4MDAsIDB4N2UsIAotICAgIDB4NzcsIDB4MmEsIDB4MzEsIDB4YmQsIDB4NzQsIDB4NzgsIDB4MTEsIDB4NzUsIDB4MzEsIDB4YzEsIDB4MTIsIDB4N2MsIDB4MTUsIDB4MTIsIDB4N2MsIDB4NWEsIAotICAgIDB4NDAsIDB4MDYsIDB4ZDAsIDB4ODcsIDB4ZDAsIDB4YTgsIDB4YzMsIDB4MjIsIDB4ZDAsIDB4ODcsIDB4ZDAsIDB4YTgsIDB4ZDMsIDB4MjIsIDB4N2UsIDB4MjQsIAotICAgIDB4MDAsIDB4ZmUsIDB4N2UsIDB4MzQsIDB4N2YsIDB4Y2EsIDB4MGIsIDB4MWEsIDB4NTAsIDB4YzUsIDB4ZjAsIDB4N2QsIDB4NjIsIDB4N2QsIDB4NzUsIDB4N2QsIAotICAgIDB4ODcsIDB4N2UsIDB4MzQsIDB4N2YsIDB4YzIsIDB4N2UsIDB4MWIsIDB4YjAsIDB4N2UsIDB4MzQsIDB4N2YsIDB4MDMsIDB4YjQsIDB4MDEsIDB4MDQsIDB4N2UsIAotICAgIDB4MzQsIDB4N2YsIDB4Y2MsIDB4N2UsIDB4MWIsIDB4YjAsIDB4YmMsIDB4MGIsIDB4NTAsIDB4NDksIDB4M2UsIDB4MDAsIDB4M2UsIDB4MDAsIDB4MGEsIDB4NTAsIAotICAgIDB4MmQsIDB4NzUsIDB4MGIsIDB4M2EsIDB4MzAsIDB4NjksIDB4NTMsIDB4MDAsIDB4MDIsIDB4YmQsIDB4MzgsIDB4NTAsIDB4MDIsIDB4MmQsIDB4MzgsIDB4YmMsIAotICAgIDB4MWIsIDB4NTAsIDB4MzAsIDB4M2UsIDB4MTAsIDB4M2UsIDB4MTAsIDB4MGEsIDB4NTEsIDB4MmQsIDB4MzUsIDB4NjksIDB4NDEsIDB4MDAsIDB4MDIsIDB4MGIsIAotICAgIDB4MWEsIDB4MzAsIDB4YmQsIDB4MzgsIDB4NTAsIDB4MDIsIDB4MmQsIDB4MzgsIDB4YmUsIDB4NDQsIDB4ZmYsIDB4ZmYsIDB4NzgsIDB4MDUsIDB4N2UsIDB4MWIsIAotICAgIDB4OTAsIDB4MGEsIDB4NDksIDB4NGQsIDB4NDQsIDB4NjgsIDB4MGMsIDB4YmUsIDB4NDQsIDB4MDAsIDB4ZmYsIDB4MjgsIDB4MDQsIDB4N2UsIDB4NDQsIDB4MDAsIAotICAgIDB4ZmYsIDB4YzMsIDB4MjIsIDB4ZDMsIDB4MjIsIAotCi0vLyBTZWdtZW50ICMxNiwgU3RhcnQgQWRkcmVzcyAwMGZmN2ZjNiwgTGVuZ3RoIDQKLTB4ZmYsMHgwMCwweGM2LDB4N2YsMHgwNCwweDAwLAotICAgIDB4MDEsIDB4MTAsIDB4MDQsIDB4MDAsIAotCi0vLyBTZWdtZW50ICMxNywgU3RhcnQgQWRkcmVzcyAwMGZmN2MxNSwgTGVuZ3RoIDMzMAotMHhmZiwweDAwLDB4MTUsMHg3YywweDRhLDB4MDEsCi0gICAgMHhjYSwgMHgwOCwgMHg3ZSwgMHgwMSwgMHgzMSwgMHg3YSwgMHgwMywgMHgzZiwgMHhmMCwgMHhkYSwgMHgwOCwgMHgyMiwgMHg3ZSwgMHgxYiwgMHhjMCwgMHg3YSwgCi0gICAgMHgwYiwgMHhjMCwgMHgwYiwgMHgxNCwgMHgwYiwgMHgzNCwgMHgxYiwgMHg0NCwgMHg3OCwgMHhmMiwgMHgyMiwgMHg3ZiwgMHg2ZiwgMHg3ZiwgMHhmMCwgMHgxYiwgCi0gICAgMHhmYywgMHg3YywgMHg1NCwgMHg3ZCwgMHgzMiwgMHg4MCwgMHgwOCwgMHhjYSwgMHgxYiwgMHhjYSwgMHgxYiwgMHhjYSwgMHgxYiwgMHhjYSwgMHgxYiwgMHg5ZSwgCi0gICAgMHg0NCwgMHgwMCwgMHgxMCwgMHg1MCwgMHhmMiwgMHgyZSwgMHg0NCwgMHgwMCwgMHgxMCwgMHg2OCwgMHgwNiwgMHhjYSwgMHg0OCwgMHgxYiwgMHg0NCwgMHg3OCwgCi0gICAgMHhmYSwgMHg3ZiwgMHhmNiwgMHg4OSwgMHhlNCwgMHhjYSwgMHg2YiwgMHg1ZSwgMHhkNCwgMHgwMCwgMHgzZiwgMHg2OCwgMHgyMCwgMHg3ZSwgMHg4NCwgMHgwMCwgCi0gICAgMHg0MCwgMHg5ZCwgMHg4ZCwgMHhkYSwgMHg2YiwgMHhiZCwgMHg4NywgMHgzOCwgMHgxNiwgMHhjYSwgMHg3OSwgMHg3ZCwgMHg3OCwgMHgxMiwgMHg3YywgMHg4NCwgCi0gICAgMHhkYSwgMHg3OSwgMHg0MCwgMHgwOCwgMHg5ZCwgMHg3OCwgMHg2OCwgMHgwMiwgMHg4MCwgMHgwNSwgMHhjMiwgMHhkNywgMHgyMiwgMHhkYSwgMHg2YiwgMHg0MywgCi0gICAgMHg5MCwgMHgzMCwgMHg3NCwgMHhhYSwgMHgzOSwgMHhiNSwgMHg1NSwgMHg1NSwgMHg3NCwgMHg1NSwgMHgzOSwgMHhiNSwgMHgyYSwgMHhhYSwgMHg3NCwgMHhhMCwgCi0gICAgMHgzOSwgMHhiNSwgMHg1NSwgMHg1NSwgMHg3ZSwgMHgwNCwgMHgwMCwgMHg0MCwgMHg5ZCwgMHg3MCwgMHg1MCwgMHgwNiwgMHgyZCwgMHg3MCwgMHg3ZCwgMHgwNywgCi0gICAgMHg2ZCwgMHg3NywgMHg3YywgMHgzMSwgMHg3ZSwgMHg3YiwgMHgwMCwgMHg3YSwgMHg2YiwgMHgwMCwgMHgwYiwgMHg3YywgMHgwYiwgMHg2YywgMHhhNSwgMHhkOSwgCi0gICAgMHhmMywgMHg3ZiwgMHgxNiwgMHgxYiwgMHgxYywgMHg3ZSwgMHg1NCwgMHgyNywgMHgxMCwgMHg3ZSwgMHgxYiwgMHgxMCwgMHhiYywgMHgxMCwgMHg2OCwgMHgwNiwgCi0gICAgMHgxYiwgMHg1NCwgMHg3OCwgMHhmNSwgMHg4MCwgMHgyYywgMHg2ZCwgMHgwMCwgMHg3YywgMHgyMCwgMHg3ZiwgMHgxNiwgMHg5ZiwgMHgxMCwgMHg3ZiwgMHgyNywgCi0gICAgMHg5ZiwgMHgyMCwgMHg3ZSwgMHgyYiwgMHgwMCwgMHg3ZSwgMHgxYiwgMHgxMCwgMHhiYywgMHgwMSwgMHg3OCwgMHgxNiwgMHgwYiwgMHgyYywgMHgwYiwgMHgxYywgCi0gICAgMHhhNSwgMHhkYiwgMHhlZiwgMHg3YywgMHhiNiwgMHgyMCwgMHhlMCwgMHgwMywgMHg2MywgMHg5MCwgMHgzMCwgMHg0ZCwgMHg3NywgMHg3OCwgMHg5MywgMHhjMiwgCi0gICAgMHhkNywgMHgyMiwgMHhkMiwgMHhkNywgMHgyMiwgMHgwMCwgMHgwNCwgMHgwMCwgMHgwNCwgMHg0MiwgMHgwOCwgMHgwNiwgMHgwNCwgMHgwMiwgMHgwNCwgMHgwMCwgCi0gICAgMHgwMiwgMHgwMSwgMHgwNCwgMHgwMSwgMHgwMiwgMHg4MiwgMHgwOCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwMiwgMHgwMiwgCi0gICAgMHgwMiwgMHgwMiwgMHgwNCwgMHgwMiwgMHgwOCwgMHgxMCwgMHgwMiwgMHgxMCwgMHgwNCwgMHgwMiwgMHgwOCwgMHgwMCwgMHgwMSwgMHgwMSwgMHgwOCwgMHgwMCwgCi0gICAgMHgwMSwgMHgwMCwgMHgwMiwgMHgwMCwgMHgwMiwgMHgwMiwgMHgwOCwgMHgwMiwgMHgwNCwgMHgyMCwgMHgwNCwgMHg3ZSwgMHgxOCwgMHg3ZiwgMHhiZCwgMHg3YSwgCi0gICAgMHgxYywgMHgwMCwgMHhmZSwgMHgwYiwgMHgxYSwgMHgwMCwgMHg1ZSwgMHgxMCwgMHgxZiwgMHhiZSwgMHgxMCwgMHgxYSwgMHgzOCwgMHgxYSwgMHgwYSwgMHg1MSwgCi0gICAgMHgyMywgMHg3ZSwgMHgxOCwgMHg3YywgMHhmYSwgMHg3YSwgMHgxYywgMHgwMCwgMHhmZiwgMHgyZCwgMHgzNSwgMHgwYiwgMHgxYSwgMHg1MCwgMHg2MCwgMHgwOCwgCi0gICAgMHhhNSwgMHhiOCwgMHgwMiwgMHgwMywgMHg0ZSwgMHhhMCwgMHgwOCwgMHgyMiwgMHg4MCwgMHhmZSwgCi19OwotCi1zdGF0aWMgc3RydWN0IGVkZ2VfZmlybXdhcmVfdmVyc2lvbl9pbmZvIElNQUdFX1ZFUlNJT05fTkFNRSA9IHsKLQkxLCAxNiwgNCB9OwkJLy8gTWFqb3IsIE1pbm9yLCBCdWlsZAotCi0jdW5kZWYgSU1BR0VfVkVSU0lPTl9OQU1FCi0KLSN1bmRlZiBJTUFHRV9BUlJBWV9OQU1FCi0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC9pb19md19kb3duMi5oIGIvZHJpdmVycy91c2Ivc2VyaWFsL2lvX2Z3X2Rvd24yLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA2NzI3N2UuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy91c2Ivc2VyaWFsL2lvX2Z3X2Rvd24yLmgKKysrIC9kZXYvbnVsbApAQCAtMSwxMTMzICswLDAgQEAKLS8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLS8vKiBFZGdlcG9ydC80IEJpbmFyeSBJbWFnZQotLy8qIEdlbmVyYXRlZCBieSBIRVgyQyB2MS4wNgotLy8qIENvcHlyaWdodCAoQykgMTk5OCBJbnNpZGUgT3V0IE5ldHdvcmtzLCBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8qCVRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0vLyoJaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLS8vKgl0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgotLy8qCShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0KLQotLy9JbWFnZSBzdHJ1Y3R1cmUgZGVmaW5pdGlvbgotI2lmICFkZWZpbmVkKERFRklORURfRURHRV9GSVJNV0FSRV9JTUFHRV9SRUNPUkQpCi0JI2RlZmluZSBERUZJTkVEX0VER0VfRklSTVdBUkVfSU1BR0VfUkVDT1JECi0Jc3RydWN0IGVkZ2VfZmlybXdhcmVfaW1hZ2VfcmVjb3JkIHsKLQkJX19sZTE2IEV4dEFkZHI7Ci0JCV9fbGUxNiBBZGRyOwotCQlfX2xlMTYgTGVuOwotCQl1bnNpZ25lZCBjaGFyICBEYXRhWzBdOwotCX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOwotCi0Jc3RydWN0IGVkZ2VfZmlybXdhcmVfdmVyc2lvbl9pbmZvIHsKLQkJdW5zaWduZWQgY2hhciAgTWFqb3JWZXJzaW9uOwotCQl1bnNpZ25lZCBjaGFyICBNaW5vclZlcnNpb247Ci0JCXVuc2lnbmVkIHNob3J0IEJ1aWxkTnVtYmVyOwotCX07Ci0KLSNlbmRpZgotCi0jaWYgIWRlZmluZWQoSU1BR0VfQVJSQVlfTkFNRSkKLQkjZGVmaW5lIElNQUdFX0FSUkFZX05BTUUJRmlybXdhcmVJbWFnZQotCSNkZWZpbmUgSU1BR0VfVkVSU0lPTl9OQU1FCUZpcm13YXJlSW1hZ2VWZXJzaW9uCi0jZW5kaWYKLQotc3RhdGljIHVuc2lnbmVkIGNoYXIgSU1BR0VfQVJSQVlfTkFNRVtdID0gewotCi0vLyBTZWdtZW50ICMxLCBTdGFydCBBZGRyZXNzIDAwZmYwMDAwLCBMZW5ndGggNgotMHhmZiwweDAwLDB4MDAsMHgwMCwweDA2LDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHg4MCwgMHgwMiwgMHg0NSwgMHgxNCwgCi0KLS8vIFNlZ21lbnQgIzIsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwMGIsIExlbmd0aCAzCi0weGZmLDB4MDAsMHgwYiwweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDQ0LCAweGE1LCAKLQotLy8gU2VnbWVudCAjMywgU3RhcnQgQWRkcmVzcyAwMGZmMDAxMywgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDEzLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4NjMsIDB4YWIsIAotCi0vLyBTZWdtZW50ICM0LCBTdGFydCBBZGRyZXNzIDAwZmYwMDFiLCBMZW5ndGggMwotMHhmZiwweDAwLDB4MWIsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHgxYiwgCi0KLS8vIFNlZ21lbnQgIzUsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwMjMsIExlbmd0aCAzCi0weGZmLDB4MDAsMHgyMywweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDIzLCAKLQotLy8gU2VnbWVudCAjNiwgU3RhcnQgQWRkcmVzcyAwMGZmMDAyYiwgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDJiLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4MmIsIAotCi0vLyBTZWdtZW50ICM3LCBTdGFydCBBZGRyZXNzIDAwZmYwMDMzLCBMZW5ndGggMwotMHhmZiwweDAwLDB4MzMsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHgzMywgCi0KLS8vIFNlZ21lbnQgIzgsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwM2IsIExlbmd0aCAzCi0weGZmLDB4MDAsMHgzYiwweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDNiLCAKLQotLy8gU2VnbWVudCAjOSwgU3RhcnQgQWRkcmVzcyAwMGZmMDA0MywgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDQzLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4NDMsIAotCi0vLyBTZWdtZW50ICMxMCwgU3RhcnQgQWRkcmVzcyAwMGZmMDA0YiwgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDRiLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4NGIsIAotCi0vLyBTZWdtZW50ICMxMSwgU3RhcnQgQWRkcmVzcyAwMGZmMDA1MywgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDUzLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4NjcsIDB4NWYsIAotCi0vLyBTZWdtZW50ICMxMiwgU3RhcnQgQWRkcmVzcyAwMGZmMDA3YiwgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDdiLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4N2IsIAotCi0vLyBTZWdtZW50ICMxMywgU3RhcnQgQWRkcmVzcyAwMGZmMDA4MCwgTGVuZ3RoIDcKLTB4ZmYsMHgwMCwweDgwLDB4MDAsMHgwNywweDAwLAotICAgIDB4N2UsIDB4MTQsIDB4MDAsIDB4MDAsIDB4MDIsIDB4NDAsIDB4NTIsIAotCi0vLyBTZWdtZW50ICMxNCwgU3RhcnQgQWRkcmVzcyAwMGZmMzAwMCwgTGVuZ3RoIDI5MTgKLTB4ZmYsMHgwMCwweDAwLDB4MzAsMHg2NiwweDBiLAotICAgIDB4MTIsIDB4MzAsIDB4NjQsIDB4MTIsIDB4MzAsIDB4ZmYsIDB4MTIsIDB4MzEsIDB4MmYsIDB4MTIsIDB4MzAsIDB4YjAsIDB4ODAsIDB4ZjIsIDB4ZTUsIDB4MjMsIAotICAgIDB4NjAsIDB4MTksIDB4N2UsIDB4MTQsIDB4MDAsIDB4MDAsIDB4MDksIDB4YjEsIDB4MDEsIDB4YjksIDB4YjQsIDB4MDAsIDB4MDIsIDB4ODAsIDB4MDUsIDB4MTQsIAotICAgIDB4MTksIDB4YjEsIDB4MDEsIDB4YjksIDB4YTUsIDB4MGEsIDB4YmUsIDB4MjEsIDB4MmUsIDB4NzgsIDB4ZWIsIDB4MjIsIDB4YzIsIDB4YWYsIDB4N2UsIDB4YjMsIAotICAgIDB4M2YsIDB4ZjEsIDB4YjQsIDB4MDEsIDB4MDMsIDB4MTIsIDB4NjUsIDB4NjcsIDB4ZDIsIDB4YWYsIDB4MjIsIDB4YzIsIDB4YWYsIDB4N2UsIDB4YjMsIDB4M2YsIAotICAgIDB4ZjEsIDB4YjQsIDB4MDEsIDB4MWQsIDB4NzQsIDB4NDAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDAsIDB4N2UsIDB4YjMsIDB4OTEsIDB4MWEsIDB4NmMsIDB4YWEsIAotICAgIDB4NjAsIDB4MGYsIDB4Y2EsIDB4MGIsIDB4Y2EsIDB4MzksIDB4Y2EsIDB4NTksIDB4MTIsIDB4NjQsIDB4MjQsIDB4ZGEsIDB4NTksIDB4ZGEsIDB4MzksIDB4ZGEsIAotICAgIDB4MGIsIDB4ZDIsIDB4YWYsIDB4MjIsIDB4YzIsIDB4YWYsIDB4ZTUsIDB4MjIsIDB4NjAsIDB4NDMsIDB4N2UsIDB4MDcsIDB4MDEsIDB4Y2IsIDB4YmUsIDB4MDQsIAotICAgIDB4MDMsIDB4ODAsIDB4MzgsIDB4MzksIDB4N2UsIDB4MDQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MjAsIDB4MDAsIDB4MTMsIDB4NTAsIDB4MjEsIDB4MDksIDB4YTAsIAotICAgIDB4MDAsIDB4MDQsIDB4NGUsIDB4YTAsIDB4MDUsIDB4MTksIDB4YTAsIDB4MDAsIDB4MDQsIDB4MGEsIDB4MzIsIDB4MDksIDB4NTMsIDB4MzUsIDB4MzMsIDB4NWUsIAotICAgIDB4NTEsIDB4MjcsIDB4NjgsIDB4MGIsIDB4MDksIDB4YTAsIDB4MDAsIDB4MTAsIDB4NGUsIDB4YTAsIDB4MDEsIDB4MTksIDB4YTAsIDB4MDAsIDB4MTAsIDB4MmUsIAotICAgIDB4MDQsIDB4MDEsIDB4MDAsIDB4YTUsIDB4MGEsIDB4YmUsIDB4MjEsIDB4MmUsIDB4NzgsIDB4ZDEsIDB4NzUsIDB4MjIsIDB4MDAsIDB4ZDIsIDB4YWYsIDB4MjIsIAotICAgIDB4YzIsIDB4YWYsIDB4ZTUsIDB4MjYsIDB4NjAsIDB4MzYsIDB4N2UsIDB4MjAsIDB4MDAsIDB4N2UsIDB4MzAsIDB4MDEsIDB4ZTUsIDB4MjYsIDB4YTUsIDB4NWIsIAotICAgIDB4NjgsIDB4MjEsIDB4N2MsIDB4YjIsIDB4MjMsIDB4MGEsIDB4MmIsIDB4NDksIDB4MzIsIDB4MDEsIDB4NzksIDB4YmUsIDB4MzQsIDB4MDAsIDB4MDAsIDB4NjgsIAotICAgIDB4MTIsIDB4N2UsIDB4YjEsIDB4MjEsIDB4YTUsIDB4NGIsIDB4N2EsIDB4YjEsIDB4MjEsIDB4Y2EsIDB4MTksIDB4NDksIDB4MjIsIDB4MzAsIDB4ZWYsIDB4OTksIAotICAgIDB4MjQsIDB4ZGEsIDB4MTksIDB4M2UsIDB4MzAsIDB4YTUsIDB4MGEsIDB4YmUsIDB4MjEsIDB4MmUsIDB4NzgsIDB4ZDAsIDB4ZDIsIDB4YWYsIDB4MjIsIDB4NDYsIAotICAgIDB4NGYsIDB4NDksIDB4N2MsIDB4NGMsIDB4YTksIDB4NGYsIDB4ZDYsIDB4NTMsIDB4MDMsIDB4NTYsIDB4MzAsIDB4NTksIDB4NWQsIDB4NWMsIDB4OGEsIDB4YzIsIAotICAgIDB4YWYsIDB4ZTUsIDB4MjQsIDB4NjAsIDB4MTQsIDB4N2UsIDB4MjAsIDB4MDAsIDB4MTMsIDB4NTAsIDB4MDcsIDB4Y2EsIDB4YjgsIDB4MTIsIDB4MzEsIDB4MWMsIAotICAgIDB4ZGEsIDB4YjgsIDB4YTUsIDB4MGEsIDB4YmUsIDB4MjEsIDB4MmUsIDB4NzgsIDB4ZWYsIDB4ZDIsIDB4YWYsIDB4MjIsIDB4Y2EsIDB4MjgsIDB4MTIsIDB4MzUsIAotICAgIDB4NGMsIDB4ZGEsIDB4MjgsIDB4NDAsIDB4MDksIDB4MGEsIDB4MjIsIDB4MDksIDB4YjIsIDB4MzUsIDB4MzMsIDB4ZjQsIDB4NTIsIDB4MjQsIDB4MjIsIDB4YzIsIAotICAgIDB4YWYsIDB4ZTUsIDB4MjMsIDB4NjAsIDB4MTQsIDB4N2UsIDB4MjAsIDB4MDAsIDB4MTMsIDB4NTAsIDB4MDcsIDB4Y2EsIDB4YjgsIDB4MTIsIDB4MzEsIDB4NGMsIAotICAgIDB4ZGEsIDB4YjgsIDB4YTUsIDB4MGEsIDB4YmUsIDB4MjEsIDB4MmUsIDB4NzgsIDB4ZWYsIDB4ZDIsIDB4YWYsIDB4MjIsIDB4N2MsIDB4YjIsIDB4MjMsIDB4MGEsIAotICAgIDB4MmIsIDB4NDksIDB4MjIsIDB4MzEsIDB4NTcsIDB4ODksIDB4MjQsIDB4MzEsIDB4NjcsIDB4MzEsIDB4ZDAsIDB4MzIsIDB4MzksIDB4MzIsIDB4YTIsIDB4MzMsIAotICAgIDB4MGIsIDB4MzMsIDB4NzQsIDB4MzMsIDB4ZGQsIDB4MzQsIDB4NDYsIDB4N2UsIDB4MjcsIDB4MDEsIDB4NzksIDB4YmUsIDB4MjQsIDB4MDAsIDB4MDAsIDB4NzgsIAotICAgIDB4MjQsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIAotICAgIDB4NjgsIDB4MGIsIDB4Y2EsIDB4MTksIDB4N2QsIDB4MTIsIDB4MTIsIDB4NDksIDB4NDUsIDB4N2QsIDB4MjEsIDB4ZGEsIDB4MTksIDB4MzAsIDB4ZTYsIDB4MTgsIAotICAgIDB4N2UsIDB4NjAsIDB4MDAsIDB4ODAsIDB4MWUsIDB4YmUsIDB4MjcsIDB4MDEsIDB4ODksIDB4NjgsIDB4MGQsIDB4N2EsIDB4MjcsIDB4MDEsIDB4ODksIDB4N2UsIAotICAgIDB4NjAsIDB4OWMsIDB4N2EsIDB4NjMsIDB4MDEsIDB4YjksIDB4ODAsIDB4MjcsIDB4N2UsIDB4NjMsIDB4MDEsIDB4YjksIDB4YTUsIDB4YmUsIDB4MDAsIDB4MWYsIAotICAgIDB4N2UsIDB4NjAsIDB4MDEsIDB4N2UsIDB4YjAsIDB4MDAsIDB4N2UsIDB4YTAsIDB4YzgsIDB4MTIsIDB4NjEsIDB4MzYsIDB4NDAsIDB4MTEsIDB4NzUsIDB4MmYsIAotICAgIDB4YjMsIDB4MTIsIDB4NzMsIDB4MzUsIDB4YzIsIDB4MTgsIDB4NmMsIDB4MDAsIDB4N2EsIDB4MDMsIDB4MDEsIDB4YjksIDB4MTIsIDB4NjQsIDB4ODYsIDB4MjIsIAotICAgIDB4N2UsIDB4MjcsIDB4MDEsIDB4N2IsIDB4YmUsIDB4MjQsIDB4MDAsIDB4MDAsIDB4NzgsIDB4MjQsIDB4N2UsIDB4MjQsIDB4ODEsIDB4MDAsIDB4MDksIDB4YjIsIAotICAgIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MGIsIDB4Y2EsIDB4MTksIDB4N2QsIDB4MTIsIDB4MTIsIAotICAgIDB4NGMsIDB4NzIsIDB4N2QsIDB4MjEsIDB4ZGEsIDB4MTksIDB4MzAsIDB4ZTYsIDB4MTgsIDB4N2UsIDB4NjAsIDB4MDAsIDB4ODAsIDB4MWUsIDB4YmUsIDB4MjcsIAotICAgIDB4MDEsIDB4OGIsIDB4NjgsIDB4MGQsIDB4N2EsIDB4MjcsIDB4MDEsIDB4OGIsIDB4N2UsIDB4NjAsIDB4OWMsIDB4N2EsIDB4NjMsIDB4MDEsIDB4YmEsIDB4ODAsIAotICAgIDB4MjcsIDB4N2UsIDB4NjMsIDB4MDEsIDB4YmEsIDB4YTUsIDB4YmUsIDB4MDAsIDB4MWYsIDB4N2UsIDB4NjAsIDB4MDEsIDB4N2UsIDB4YjAsIDB4MDAsIDB4N2UsIAotICAgIDB4YTAsIDB4YzgsIDB4MTIsIDB4NjEsIDB4MzYsIDB4NDAsIDB4MTEsIDB4NzUsIDB4MmYsIDB4YjMsIDB4MTIsIDB4NzMsIDB4MzUsIDB4YzIsIDB4MTksIDB4NmMsIAotICAgIDB4MDAsIDB4N2EsIDB4MDMsIDB4MDEsIDB4YmEsIDB4MTIsIDB4NjQsIDB4ODYsIDB4MjIsIDB4N2UsIDB4MjcsIDB4MDEsIDB4N2QsIDB4YmUsIDB4MjQsIDB4MDAsIAotICAgIDB4MDAsIDB4NzgsIDB4MjQsIDB4N2UsIDB4MjQsIDB4ODIsIDB4MDAsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIAotICAgIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MGIsIDB4Y2EsIDB4MTksIDB4N2QsIDB4MTIsIDB4MTIsIDB4NGYsIDB4OWYsIDB4N2QsIDB4MjEsIDB4ZGEsIDB4MTksIDB4MzAsIAotICAgIDB4ZTYsIDB4MTgsIDB4N2UsIDB4NjAsIDB4MDAsIDB4ODAsIDB4MWUsIDB4YmUsIDB4MjcsIDB4MDEsIDB4OGQsIDB4NjgsIDB4MGQsIDB4N2EsIDB4MjcsIDB4MDEsIAotICAgIDB4OGQsIDB4N2UsIDB4NjAsIDB4OWMsIDB4N2EsIDB4NjMsIDB4MDEsIDB4YmIsIDB4ODAsIDB4MjcsIDB4N2UsIDB4NjMsIDB4MDEsIDB4YmIsIDB4YTUsIDB4YmUsIAotICAgIDB4MDAsIDB4MWYsIDB4N2UsIDB4NjAsIDB4MDEsIDB4N2UsIDB4YjAsIDB4MDAsIDB4N2UsIDB4YTAsIDB4YzgsIDB4MTIsIDB4NjEsIDB4MzYsIDB4NDAsIDB4MTEsIAotICAgIDB4NzUsIDB4MmYsIDB4YjMsIDB4MTIsIDB4NzMsIDB4MzUsIDB4YzIsIDB4MWEsIDB4NmMsIDB4MDAsIDB4N2EsIDB4MDMsIDB4MDEsIDB4YmIsIDB4MTIsIDB4NjQsIAotICAgIDB4ODYsIDB4MjIsIDB4N2UsIDB4MjcsIDB4MDEsIDB4N2YsIDB4YmUsIDB4MjQsIDB4MDAsIDB4MDAsIDB4NzgsIDB4MjQsIDB4N2UsIDB4MjQsIDB4ODMsIDB4MDAsIAotICAgIDB4MDksIDB4YjIsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MGIsIDB4Y2EsIDB4MTksIDB4N2QsIAotICAgIDB4MTIsIDB4MTIsIDB4NTIsIDB4Y2MsIDB4N2QsIDB4MjEsIDB4ZGEsIDB4MTksIDB4MzAsIDB4ZTYsIDB4MTgsIDB4N2UsIDB4NjAsIDB4MDAsIDB4ODAsIDB4MWUsIAotICAgIDB4YmUsIDB4MjcsIDB4MDEsIDB4OGYsIDB4NjgsIDB4MGQsIDB4N2EsIDB4MjcsIDB4MDEsIDB4OGYsIDB4N2UsIDB4NjAsIDB4OWMsIDB4N2EsIDB4NjMsIDB4MDEsIAotICAgIDB4YmMsIDB4ODAsIDB4MjcsIDB4N2UsIDB4NjMsIDB4MDEsIDB4YmMsIDB4YTUsIDB4YmUsIDB4MDAsIDB4MWYsIDB4N2UsIDB4NjAsIDB4MDEsIDB4N2UsIDB4YjAsIAotICAgIDB4MDAsIDB4N2UsIDB4YTAsIDB4YzgsIDB4MTIsIDB4NjEsIDB4MzYsIDB4NDAsIDB4MTEsIDB4NzUsIDB4MmYsIDB4YjMsIDB4MTIsIDB4NzMsIDB4MzUsIDB4YzIsIAotICAgIDB4MWIsIDB4NmMsIDB4MDAsIDB4N2EsIDB4MDMsIDB4MDEsIDB4YmMsIDB4MTIsIDB4NjQsIDB4ODYsIDB4MjIsIDB4N2UsIDB4MjcsIDB4MDEsIDB4ODEsIDB4YmUsIAotICAgIDB4MjQsIDB4MDAsIDB4MDAsIDB4NzgsIDB4MjQsIDB4N2UsIDB4MjQsIDB4ODQsIDB4MDAsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NWUsIAotICAgIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MGIsIDB4Y2EsIDB4MTksIDB4N2QsIDB4MTIsIDB4MTIsIDB4NTUsIDB4ZjksIDB4N2QsIDB4MjEsIDB4ZGEsIAotICAgIDB4MTksIDB4MzAsIDB4ZTYsIDB4MTgsIDB4N2UsIDB4NjAsIDB4MDAsIDB4ODAsIDB4MWUsIDB4YmUsIDB4MjcsIDB4MDEsIDB4OTEsIDB4NjgsIDB4MGQsIDB4N2EsIAotICAgIDB4MjcsIDB4MDEsIDB4OTEsIDB4N2UsIDB4NjAsIDB4OWMsIDB4N2EsIDB4NjMsIDB4MDEsIDB4YmQsIDB4ODAsIDB4MjcsIDB4N2UsIDB4NjMsIDB4MDEsIDB4YmQsIAotICAgIDB4YTUsIDB4YmUsIDB4MDAsIDB4MWYsIDB4N2UsIDB4NjAsIDB4MDEsIDB4N2UsIDB4YjAsIDB4MDAsIDB4N2UsIDB4YTAsIDB4YzgsIDB4MTIsIDB4NjEsIDB4MzYsIAotICAgIDB4NDAsIDB4MTEsIDB4NzUsIDB4MmYsIDB4YjMsIDB4MTIsIDB4NzMsIDB4MzUsIDB4YzIsIDB4MWMsIDB4NmMsIDB4MDAsIDB4N2EsIDB4MDMsIDB4MDEsIDB4YmQsIAotICAgIDB4MTIsIDB4NjQsIDB4ODYsIDB4MjIsIDB4N2UsIDB4MjcsIDB4MDEsIDB4ODMsIDB4YmUsIDB4MjQsIDB4MDAsIDB4MDAsIDB4NzgsIDB4MjQsIDB4N2UsIDB4MjQsIAotICAgIDB4ODUsIDB4MDAsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MGIsIDB4Y2EsIAotICAgIDB4MTksIDB4N2QsIDB4MTIsIDB4MTIsIDB4NTksIDB4MjYsIDB4N2QsIDB4MjEsIDB4ZGEsIDB4MTksIDB4MzAsIDB4ZTYsIDB4MTgsIDB4N2UsIDB4NjAsIDB4MDAsIAotICAgIDB4ODAsIDB4MWUsIDB4YmUsIDB4MjcsIDB4MDEsIDB4OTMsIDB4NjgsIDB4MGQsIDB4N2EsIDB4MjcsIDB4MDEsIDB4OTMsIDB4N2UsIDB4NjAsIDB4OWMsIDB4N2EsIAotICAgIDB4NjMsIDB4MDEsIDB4YmUsIDB4ODAsIDB4MjcsIDB4N2UsIDB4NjMsIDB4MDEsIDB4YmUsIDB4YTUsIDB4YmUsIDB4MDAsIDB4MWYsIDB4N2UsIDB4NjAsIDB4MDEsIAotICAgIDB4N2UsIDB4YjAsIDB4MDAsIDB4N2UsIDB4YTAsIDB4YzgsIDB4MTIsIDB4NjEsIDB4MzYsIDB4NDAsIDB4MTEsIDB4NzUsIDB4MmYsIDB4YjMsIDB4MTIsIDB4NzMsIAotICAgIDB4MzUsIDB4YzIsIDB4MWQsIDB4NmMsIDB4MDAsIDB4N2EsIDB4MDMsIDB4MDEsIDB4YmUsIDB4MTIsIDB4NjQsIDB4ODYsIDB4MjIsIDB4N2UsIDB4MjcsIDB4MDEsIAotICAgIDB4ODUsIDB4YmUsIDB4MjQsIDB4MDAsIDB4MDAsIDB4NzgsIDB4MjQsIDB4N2UsIDB4MjQsIDB4ODYsIDB4MDAsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTQsIDB4Y2EsIAotICAgIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MGIsIDB4Y2EsIDB4MTksIDB4N2QsIDB4MTIsIDB4MTIsIDB4NWMsIDB4NTMsIDB4N2QsIAotICAgIDB4MjEsIDB4ZGEsIDB4MTksIDB4MzAsIDB4ZTYsIDB4MTgsIDB4N2UsIDB4NjAsIDB4MDAsIDB4ODAsIDB4MWUsIDB4YmUsIDB4MjcsIDB4MDEsIDB4OTUsIDB4NjgsIAotICAgIDB4MGQsIDB4N2EsIDB4MjcsIDB4MDEsIDB4OTUsIDB4N2UsIDB4NjAsIDB4OWMsIDB4N2EsIDB4NjMsIDB4MDEsIDB4YmYsIDB4ODAsIDB4MjcsIDB4N2UsIDB4NjMsIAotICAgIDB4MDEsIDB4YmYsIDB4YTUsIDB4YmUsIDB4MDAsIDB4MWYsIDB4N2UsIDB4NjAsIDB4MDEsIDB4N2UsIDB4YjAsIDB4MDAsIDB4N2UsIDB4YTAsIDB4YzgsIDB4MTIsIAotICAgIDB4NjEsIDB4MzYsIDB4NDAsIDB4MTEsIDB4NzUsIDB4MmYsIDB4YjMsIDB4MTIsIDB4NzMsIDB4MzUsIDB4YzIsIDB4MWUsIDB4NmMsIDB4MDAsIDB4N2EsIDB4MDMsIAotICAgIDB4MDEsIDB4YmYsIDB4MTIsIDB4NjQsIDB4ODYsIDB4MjIsIDB4N2UsIDB4MjcsIDB4MDEsIDB4ODcsIDB4YmUsIDB4MjQsIDB4MDAsIDB4MDAsIDB4NzgsIDB4MjQsIAotICAgIDB4N2UsIDB4MjQsIDB4ODcsIDB4MDAsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIAotICAgIDB4MGIsIDB4Y2EsIDB4MTksIDB4N2QsIDB4MTIsIDB4MTIsIDB4NWYsIDB4ODAsIDB4N2QsIDB4MjEsIDB4ZGEsIDB4MTksIDB4MzAsIDB4ZTYsIDB4MTgsIDB4N2UsIAotICAgIDB4NjAsIDB4MDAsIDB4ODAsIDB4MWUsIDB4YmUsIDB4MjcsIDB4MDEsIDB4OTcsIDB4NjgsIDB4MGQsIDB4N2EsIDB4MjcsIDB4MDEsIDB4OTcsIDB4N2UsIDB4NjAsIAotICAgIDB4OWMsIDB4N2EsIDB4NjMsIDB4MDEsIDB4YzAsIDB4ODAsIDB4MjcsIDB4N2UsIDB4NjMsIDB4MDEsIDB4YzAsIDB4YTUsIDB4YmUsIDB4MDAsIDB4MWYsIDB4N2UsIAotICAgIDB4NjAsIDB4MDEsIDB4N2UsIDB4YjAsIDB4MDAsIDB4N2UsIDB4YTAsIDB4YzgsIDB4MTIsIDB4NjEsIDB4MzYsIDB4NDAsIDB4MTEsIDB4NzUsIDB4MmYsIDB4YjMsIAotICAgIDB4MTIsIDB4NzMsIDB4MzUsIDB4YzIsIDB4MWYsIDB4NmMsIDB4MDAsIDB4N2EsIDB4MDMsIDB4MDEsIDB4YzAsIDB4MTIsIDB4NjQsIDB4ODYsIDB4MjIsIDB4YzIsIAotICAgIDB4YWYsIDB4N2UsIDB4MDcsIDB4MDEsIDB4Y2IsIDB4YmUsIDB4MDQsIDB4MDAsIDB4MDAsIDB4NzgsIDB4MjgsIDB4NzQsIDB4MjAsIDB4N2EsIDB4YjMsIDB4OTEsIAotICAgIDB4MDAsIDB4N2UsIDB4YjMsIDB4OTEsIDB4MTUsIDB4MzAsIDB4ZTUsIDB4MWIsIDB4N2UsIDB4YjMsIDB4OTEsIDB4MWEsIDB4YmUsIDB4YjAsIDB4M2YsIDB4MzgsIAotICAgIDB4MGMsIDB4ODUsIDB4MzEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4NzQsIDB4ODAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MWUsIDB4NzQsIDB4MjAsIDB4N2EsIAotICAgIDB4YjMsIDB4OTEsIDB4MTUsIDB4ZDIsIDB4YWYsIDB4MjIsIDB4MzUsIDB4M2IsIDB4MzYsIDB4ZTgsIDB4MzcsIDB4MDAsIDB4MzcsIDB4MWIsIDB4MzcsIDB4YjYsIAotICAgIDB4MzgsIDB4NGUsIDB4MzgsIDB4NjksIDB4MzgsIDB4ZmIsIDB4MzgsIDB4ODQsIDB4MzgsIDB4YzUsIDB4N2MsIDB4YjMsIDB4YmUsIDB4YjAsIDB4MDksIDB4MjgsIAotICAgIDB4MjIsIDB4NzUsIDB4MmYsIDB4MDksIDB4MTIsIDB4NzMsIDB4MzUsIDB4NzUsIDB4NTcsIDB4MDIsIDB4NzQsIDB4MjAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDAsIAotICAgIDB4NzQsIDB4MDEsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTEsIDB4NzQsIDB4NDAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDAsIDB4NzQsIDB4MDEsIDB4N2EsIDB4YjMsIAotICAgIDB4OTEsIDB4MTEsIDB4MjIsIDB4YzAsIDB4YTgsIDB4YzIsIDB4YWYsIDB4MjMsIDB4NmMsIDB4YWEsIDB4MmUsIDB4NTQsIDB4MzQsIDB4ZTYsIDB4MGIsIDB4NTgsIAotICAgIDB4NTAsIDB4ODksIDB4NTQsIDB4MDEsIDB4MDIsIDB4MDQsIDB4MDgsIDB4MTAsIDB4MjAsIDB4NDAsIDB4ODAsIDB4NzUsIDB4MmYsIDB4YjAsIDB4MTIsIDB4NzMsIAotICAgIDB4MzUsIDB4MGEsIDB4MjIsIDB4MDksIDB4YjIsIDB4MzUsIDB4MzMsIDB4NDIsIDB4MjQsIDB4ZDAsIDB4YTgsIDB4MjIsIDB4N2MsIDB4YjIsIDB4MjMsIDB4MGEsIAotICAgIDB4M2IsIDB4NDksIDB4MzMsIDB4MzUsIDB4NTcsIDB4ODksIDB4MzQsIDB4MzUsIDB4NjcsIDB4MzUsIDB4OTUsIDB4MzUsIDB4YzMsIDB4MzUsIDB4ZjEsIDB4MzYsIAotICAgIDB4MWYsIDB4MzYsIDB4NGQsIDB4MzYsIDB4N2IsIDB4MzYsIDB4YTksIDB4MTIsIDB4NDEsIDB4YmEsIDB4ZDIsIDB4MjgsIDB4ZDIsIDB4MDgsIDB4YzIsIDB4NDAsIAotICAgIDB4YzIsIDB4NDgsIDB4YzIsIDB4MzgsIDB4YzIsIDB4MzAsIDB4NmQsIDB4MDAsIDB4N2EsIDB4MDMsIDB4MDEsIDB4YjksIDB4N2UsIDB4MDQsIDB4MDAsIDB4MjAsIAotICAgIDB4N2EsIDB4MDcsIDB4MDEsIDB4OTksIDB4N2UsIDB4MDQsIDB4MDAsIDB4MzgsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YTksIDB4MTIsIDB4NDEsIDB4MjcsIDB4MTIsIAotICAgIDB4NWYsIDB4YjcsIDB4MDIsIDB4MzYsIDB4ZDcsIDB4MTIsIDB4NDEsIDB4ZDcsIDB4ZDIsIDB4MjksIDB4ZDIsIDB4MDksIDB4YzIsIDB4NDEsIDB4YzIsIDB4NDksIAotICAgIDB4YzIsIDB4MzksIDB4YzIsIDB4MzEsIDB4NmQsIDB4MDAsIDB4N2EsIDB4MDMsIDB4MDEsIDB4YmEsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MjAsIDB4N2EsIDB4MDcsIAotICAgIDB4MDEsIDB4OWIsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MzgsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YWIsIDB4MTIsIDB4NDEsIDB4MjcsIDB4MTIsIDB4NWYsIDB4ZTAsIAotICAgIDB4MDIsIDB4MzYsIDB4ZDcsIDB4MTIsIDB4NDEsIDB4ZjQsIDB4ZDIsIDB4MmEsIDB4ZDIsIDB4MGEsIDB4YzIsIDB4NDIsIDB4YzIsIDB4NGEsIDB4YzIsIDB4M2EsIAotICAgIDB4YzIsIDB4MzIsIDB4NmQsIDB4MDAsIDB4N2EsIDB4MDMsIDB4MDEsIDB4YmIsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MjAsIDB4N2EsIDB4MDcsIDB4MDEsIDB4OWQsIAotICAgIDB4N2UsIDB4MDQsIDB4MDAsIDB4MzgsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YWQsIDB4MTIsIDB4NDEsIDB4MjcsIDB4MTIsIDB4NjAsIDB4MDksIDB4MDIsIDB4MzYsIAotICAgIDB4ZDcsIDB4MTIsIDB4NDIsIDB4MTEsIDB4ZDIsIDB4MmIsIDB4ZDIsIDB4MGIsIDB4YzIsIDB4NDMsIDB4YzIsIDB4NGIsIDB4YzIsIDB4M2IsIDB4YzIsIDB4MzMsIAotICAgIDB4NmQsIDB4MDAsIDB4N2EsIDB4MDMsIDB4MDEsIDB4YmMsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MjAsIDB4N2EsIDB4MDcsIDB4MDEsIDB4OWYsIDB4N2UsIDB4MDQsIAotICAgIDB4MDAsIDB4MzgsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YWYsIDB4MTIsIDB4NDEsIDB4MjcsIDB4MTIsIDB4NjAsIDB4MzIsIDB4MDIsIDB4MzYsIDB4ZDcsIDB4MTIsIAotICAgIDB4NDIsIDB4MmUsIDB4ZDIsIDB4MmMsIDB4ZDIsIDB4MGMsIDB4YzIsIDB4NDQsIDB4YzIsIDB4NGMsIDB4YzIsIDB4M2MsIDB4YzIsIDB4MzQsIDB4NmQsIDB4MDAsIAotICAgIDB4N2EsIDB4MDMsIDB4MDEsIDB4YmQsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MjAsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YTEsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MzgsIAotICAgIDB4N2EsIDB4MDcsIDB4MDEsIDB4YjEsIDB4MTIsIDB4NDEsIDB4MjcsIDB4MTIsIDB4NjAsIDB4NWIsIDB4MDIsIDB4MzYsIDB4ZDcsIDB4MTIsIDB4NDIsIDB4NGIsIAotICAgIDB4ZDIsIDB4MmQsIDB4ZDIsIDB4MGQsIDB4YzIsIDB4NDUsIDB4YzIsIDB4NGQsIDB4YzIsIDB4M2QsIDB4YzIsIDB4MzUsIDB4NmQsIDB4MDAsIDB4N2EsIDB4MDMsIAotICAgIDB4MDEsIDB4YmUsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MjAsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YTMsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MzgsIDB4N2EsIDB4MDcsIAotICAgIDB4MDEsIDB4YjMsIDB4MTIsIDB4NDEsIDB4MjcsIDB4MTIsIDB4NjAsIDB4ODQsIDB4MDIsIDB4MzYsIDB4ZDcsIDB4MTIsIDB4NDIsIDB4NjgsIDB4ZDIsIDB4MmUsIAotICAgIDB4ZDIsIDB4MGUsIDB4YzIsIDB4NDYsIDB4YzIsIDB4NGUsIDB4YzIsIDB4M2UsIDB4YzIsIDB4MzYsIDB4NmQsIDB4MDAsIDB4N2EsIDB4MDMsIDB4MDEsIDB4YmYsIAotICAgIDB4N2UsIDB4MDQsIDB4MDAsIDB4MjAsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YTUsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MzgsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YjUsIAotICAgIDB4MTIsIDB4NDEsIDB4MjcsIDB4MTIsIDB4NjAsIDB4YWQsIDB4MDIsIDB4MzYsIDB4ZDcsIDB4MTIsIDB4NDIsIDB4ODUsIDB4ZDIsIDB4MmYsIDB4ZDIsIDB4MGYsIAotICAgIDB4YzIsIDB4NDcsIDB4YzIsIDB4NGYsIDB4YzIsIDB4M2YsIDB4YzIsIDB4MzcsIDB4NmQsIDB4MDAsIDB4N2EsIDB4MDMsIDB4MDEsIDB4YzAsIDB4N2UsIDB4MDQsIAotICAgIDB4MDAsIDB4MjAsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YTcsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MzgsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YjcsIDB4MTIsIDB4NDEsIAotICAgIDB4MjcsIDB4MTIsIDB4NjAsIDB4ZDYsIDB4MDIsIDB4MzYsIDB4ZDcsIDB4N2UsIDB4YTAsIDB4ZDAsIDB4N2UsIDB4NjAsIDB4MGYsIDB4MTIsIDB4NjEsIDB4MzYsIAotICAgIDB4NDAsIDB4MDUsIDB4MTIsIDB4NjQsIDB4ODYsIDB4YzIsIDB4ZDcsIDB4MjIsIDB4NzUsIDB4MmYsIDB4YjEsIDB4MTIsIDB4NzMsIDB4MzUsIDB4MGEsIDB4NTIsIAotICAgIDB4MjMsIDB4NmQsIDB4MDAsIDB4NTksIDB4MDUsIDB4MDAsIDB4MzIsIDB4MTIsIDB4NDEsIDB4ODMsIDB4MTIsIDB4NDEsIDB4OWYsIDB4ZDAsIDB4YTgsIDB4MjIsIAotICAgIDB4NzUsIDB4MmYsIDB4YjIsIDB4MTIsIDB4NzMsIDB4MzUsIDB4MGEsIDB4MjIsIDB4MDksIDB4YjIsIDB4MzUsIDB4MzMsIDB4NDIsIDB4MjMsIDB4N2UsIDB4YjAsIAotICAgIDB4OWMsIDB4MTksIDB4YjIsIDB4MDEsIDB4YjksIDB4MTIsIDB4MzEsIDB4NGMsIDB4ZDAsIDB4YTgsIDB4MjIsIDB4N2UsIDB4MDQsIDB4ODAsIDB4MDAsIDB4NGMsIAotICAgIDB4MDIsIDB4MDksIDB4MzAsIDB4MDAsIDB4MGMsIDB4NzQsIDB4YmYsIDB4MTksIDB4YjAsIDB4MDAsIDB4MGMsIDB4MDksIDB4YjAsIDB4MDAsIDB4MDgsIDB4MTksIAotICAgIDB4MzAsIDB4MDAsIDB4MGMsIDB4N2MsIDB4NzQsIDB4NWUsIDB4NzAsIDB4MDEsIDB4NjgsIDB4MTIsIDB4NDQsIDB4NDAsIDB4Y2EsIDB4YjgsIDB4MDksIDB4YjAsIAotICAgIDB4MDAsIDB4MTAsIDB4NDQsIDB4MDIsIDB4MTksIDB4YjAsIDB4MDAsIDB4MTAsIDB4ZGEsIDB4YjgsIDB4ODAsIDB4MDIsIDB4NTQsIDB4YmYsIDB4N2MsIDB4NzQsIAotICAgIDB4NWUsIDB4NzAsIDB4MDgsIDB4NjgsIDB4MDQsIDB4NDQsIDB4MDgsIDB4ODAsIDB4MDIsIDB4NTQsIDB4ZjcsIDB4MDksIDB4MzAsIDB4MDAsIDB4MGMsIDB4Y2EsIAotICAgIDB4YjgsIDB4NzQsIDB4YmYsIDB4MTksIDB4YjAsIDB4MDAsIDB4MGMsIDB4ZGEsIDB4YjgsIDB4MTksIDB4YjAsIDB4MDAsIDB4MDgsIDB4MTksIDB4MzAsIDB4MDAsIAotICAgIDB4MGMsIDB4MGEsIDB4NjIsIDB4MDksIDB4YjYsIDB4MzUsIDB4MzMsIDB4M2UsIDB4MjAsIDB4MGEsIDB4NjIsIDB4N2MsIDB4NzQsIDB4NWUsIDB4NzAsIDB4MDIsIAotICAgIDB4NjgsIDB4MjAsIDB4NDIsIDB4MjcsIDB4Y2EsIDB4YjgsIDB4NzQsIDB4NjEsIDB4MTksIDB4YjAsIDB4MDAsIDB4MDgsIDB4N2UsIDB4NDQsIDB4MDAsIDB4MTAsIAotICAgIDB4NTksIDB4NDYsIDB4MDEsIDB4YTksIDB4MDksIDB4YjAsIDB4MDAsIDB4MTAsIDB4NDQsIDB4MDEsIDB4MTksIDB4YjAsIDB4MDAsIDB4MTAsIDB4ZGEsIDB4YjgsIAotICAgIDB4ODAsIDB4MTEsIDB4ZjQsIDB4NTIsIDB4MjcsIDB4NzQsIDB4YTEsIDB4MTksIDB4YjAsIDB4MDAsIDB4MDgsIDB4N2UsIDB4NDQsIDB4MDAsIDB4MzgsIDB4NTksIAotICAgIDB4NDYsIDB4MDEsIDB4YTksIDB4ZDAsIDB4YTgsIDB4MjIsIDB4N2MsIDB4NzQsIDB4N2UsIDB4MDQsIDB4ODAsIDB4MDAsIDB4NGMsIDB4MDIsIDB4MDksIDB4MzAsIAotICAgIDB4MDAsIDB4MGMsIDB4NzQsIDB4YmYsIDB4MTksIDB4YjAsIDB4MDAsIDB4MGMsIDB4MDksIDB4YjAsIDB4MDAsIDB4MDgsIDB4N2MsIDB4NzQsIDB4NWUsIDB4NzAsIAotICAgIDB4MDEsIDB4NjgsIDB4MDQsIDB4NDQsIDB4ODAsIDB4ODAsIDB4MDIsIDB4NTQsIDB4N2YsIDB4N2MsIDB4NzQsIDB4NWUsIDB4NzAsIDB4MDgsIDB4NjgsIDB4MDQsIAotICAgIDB4NDQsIDB4MDIsIDB4ODAsIDB4MDIsIDB4NTQsIDB4ZmQsIDB4MTksIDB4YjAsIDB4MDAsIDB4MDgsIDB4MTksIDB4MzAsIDB4MDAsIDB4MGMsIDB4MGEsIDB4NjIsIAotICAgIDB4MDksIDB4YjYsIDB4MzUsIDB4MzMsIDB4YTUsIDB4ZmQsIDB4ZjQsIDB4YTUsIDB4ZmUsIDB4Y2EsIDB4MjgsIDB4M2UsIDB4MjAsIDB4MGEsIDB4NjIsIDB4ZGEsIAotICAgIDB4MjgsIDB4N2MsIDB4NzQsIDB4NWUsIDB4NzAsIDB4MDIsIDB4NjgsIDB4MTAsIDB4YTUsIDB4ZWQsIDB4NDIsIDB4MjgsIDB4NDIsIDB4MjYsIDB4N2UsIDB4NDQsIAotICAgIDB4MDAsIDB4MDgsIDB4NTksIDB4NDYsIDB4MDEsIDB4OTksIDB4ODAsIDB4MDQsIDB4YTUsIDB4ZWUsIDB4NTIsIDB4MjgsIDB4N2MsIDB4NzQsIDB4NWUsIDB4NzAsIAotICAgIDB4MDQsIDB4NjgsIDB4MTAsIDB4YTUsIDB4ZWQsIDB4NDIsIDB4MjksIDB4NDIsIDB4MjYsIDB4N2UsIDB4NDQsIDB4MDAsIDB4MDgsIDB4NTksIDB4NDYsIDB4MDEsIAotICAgIDB4OTksIDB4ODAsIDB4MTUsIDB4YTUsIDB4ZWUsIDB4NTIsIDB4MjksIDB4N2MsIDB4NzQsIDB4NWUsIDB4NzAsIDB4MDIsIDB4NzgsIDB4MGEsIDB4NTIsIDB4MjYsIAotICAgIDB4N2UsIDB4NDQsIDB4MDAsIDB4MjAsIDB4NTksIDB4NDYsIDB4MDEsIDB4OTksIDB4MTIsIDB4NDIsIDB4YTIsIDB4ZDAsIDB4YTgsIDB4MjIsIDB4N2UsIDB4MDQsIAotICAgIDB4ODAsIDB4MDAsIDB4NGMsIDB4MDIsIDB4MDksIDB4MzAsIDB4MDAsIDB4MGMsIDB4NzQsIDB4YmYsIDB4MTksIDB4YjAsIDB4MDAsIDB4MGMsIDB4MTksIDB4NDAsIAotICAgIDB4MDAsIDB4MTAsIDB4MTksIDB4MzAsIDB4MDAsIDB4MGMsIDB4ZDAsIDB4YTgsIDB4MjIsIDB4N2UsIDB4MDQsIDB4ODAsIDB4MDAsIDB4NGMsIDB4MDIsIDB4MDksIAotICAgIDB4MzAsIDB4MDAsIDB4MGMsIDB4NzQsIDB4YmYsIDB4MTksIDB4YjAsIDB4MDAsIDB4MGMsIDB4MTksIDB4NDAsIDB4MDAsIDB4MTgsIDB4MTksIDB4MzAsIDB4MDAsIAotICAgIDB4MGMsIDB4ZDAsIDB4YTgsIDB4MjIsIDB4NzUsIDB4MmYsIDB4YjUsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2UsIDB4MDQsIDB4ODAsIDB4MDAsIDB4NGMsIDB4MDIsIAotICAgIDB4MDksIDB4YjAsIDB4MDAsIDB4MGMsIDB4NDQsIDB4NDAsIDB4MTksIDB4YjAsIDB4MDAsIDB4MGMsIDB4ZTUsIDB4NTgsIDB4YjQsIDB4MDcsIDB4MjMsIDB4MDksIAotICAgIDB4YjAsIDB4MDAsIDB4MTAsIDB4NGUsIDB4YjAsIDB4MDIsIDB4MTksIDB4YjAsIDB4MDAsIDB4MTAsIDB4MDksIDB4MzAsIDB4MDAsIDB4MGMsIDB4NzQsIDB4YmYsIAotICAgIDB4MTksIDB4YjAsIDB4MDAsIDB4MGMsIDB4MDksIDB4YjAsIDB4MDAsIDB4MDQsIDB4NTQsIDB4ZjcsIDB4MTksIDB4YjAsIDB4MDAsIDB4MDQsIDB4MTksIDB4MzAsIAotICAgIDB4MDAsIDB4MGMsIDB4ZDAsIDB4YTgsIDB4MjIsIDB4NzUsIDB4MmYsIDB4YjYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2UsIDB4MDQsIDB4ODAsIDB4MDAsIDB4NGMsIAotICAgIDB4MDIsIDB4ZTUsIDB4NTgsIDB4YjQsIDB4MDcsIDB4MTgsIDB4MDksIDB4MzAsIDB4MDAsIDB4MGMsIDB4NzQsIDB4YmYsIDB4MTksIDB4YjAsIDB4MDAsIDB4MGMsIAotICAgIDB4MDksIDB4YjAsIDB4MDAsIDB4MDQsIDB4NDQsIDB4MDgsIDB4MTksIDB4YjAsIDB4MDAsIDB4MDQsIDB4MTksIDB4MzAsIDB4MDAsIDB4MGMsIDB4MDksIDB4YjAsIAotICAgIDB4MDAsIDB4MGMsIDB4NTQsIDB4YmYsIDB4MTksIDB4YjAsIDB4MDAsIDB4MGMsIDB4ZDAsIDB4YTgsIDB4MjIsIDB4NzUsIDB4MmYsIDB4YjQsIDB4MTIsIDB4NzMsIAotICAgIDB4MzUsIDB4N2EsIDB4MjEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4NDEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2UsIDB4YjAsIDB4MDEsIAotICAgIDB4N2UsIDB4YTAsIDB4YzgsIDB4N2MsIDB4NjQsIDB4MTIsIDB4NjEsIDB4MzYsIDB4MTIsIDB4NjQsIDB4ODYsIDB4ZDAsIDB4YTgsIDB4MjIsIDB4MzksIDB4MmUsIAotICAgIDB4MzksIDB4NzUsIDB4MzksIDB4YmMsIDB4M2EsIDB4MDMsIDB4M2EsIDB4NGEsIDB4M2EsIDB4OTEsIDB4M2EsIDB4ZDgsIDB4M2IsIDB4MWYsIDB4NzUsIDB4MmYsIAotICAgIDB4NTUsIDB4MTIsIDB4NzMsIDB4MzUsIDB4NzUsIDB4MmYsIDB4MDAsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4NjEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIAotICAgIDB4N2EsIDB4NzEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2UsIDB4MTcsIDB4MDEsIDB4NjksIDB4N2UsIDB4MjcsIDB4MDEsIDB4NzksIDB4MmQsIDB4MjMsIAotICAgIDB4N2UsIDB4MDksIDB4YjAsIDB4MGIsIDB4MDQsIDB4N2EsIDB4MTksIDB4YjAsIDB4MGIsIDB4MTQsIDB4YmUsIDB4MTQsIDB4MDgsIDB4MmMsIDB4MzgsIDB4MGYsIAotICAgIDB4MWIsIDB4MzQsIDB4NzgsIDB4ZWMsIDB4N2EsIDB4MTcsIDB4MDEsIDB4NjksIDB4N2EsIDB4MjcsIDB4MDEsIDB4NzksIDB4MDIsIDB4NDYsIDB4NGYsIDB4N2UsIAotICAgIDB4MTQsIDB4MDQsIDB4MmQsIDB4ODAsIDB4ZWIsIDB4NzUsIDB4MmYsIDB4NTUsIDB4MTIsIDB4NzMsIDB4MzUsIDB4NzUsIDB4MmYsIDB4MDEsIDB4MTIsIDB4NzMsIAotICAgIDB4MzUsIDB4N2EsIDB4NjEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4NzEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2UsIDB4MTcsIDB4MDEsIAotICAgIDB4NmIsIDB4N2UsIDB4MjcsIDB4MDEsIDB4N2IsIDB4MmQsIDB4MjMsIDB4N2UsIDB4MDksIDB4YjAsIDB4MGIsIDB4MDQsIDB4N2EsIDB4MTksIDB4YjAsIDB4MGIsIAotICAgIDB4MTQsIDB4YmUsIDB4MTQsIDB4MGMsIDB4MmMsIDB4MzgsIDB4MGYsIDB4MWIsIDB4MzQsIDB4NzgsIDB4ZWMsIDB4N2EsIDB4MTcsIDB4MDEsIDB4NmIsIDB4N2EsIAotICAgIDB4MjcsIDB4MDEsIDB4N2IsIDB4MDIsIDB4NDksIDB4N2MsIDB4N2UsIDB4MTQsIDB4MDgsIDB4MmQsIDB4ODAsIDB4ZWIsIDB4NzUsIDB4MmYsIDB4NTUsIDB4MTIsIAotICAgIDB4NzMsIDB4MzUsIDB4NzUsIDB4MmYsIDB4MDIsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4NjEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4NzEsIAotICAgIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2UsIDB4MTcsIDB4MDEsIDB4NmQsIDB4N2UsIDB4MjcsIDB4MDEsIDB4N2QsIDB4MmQsIDB4MjMsIDB4N2UsIDB4MDksIAotICAgIDB4YjAsIDB4MGIsIDB4MDQsIDB4N2EsIDB4MTksIDB4YjAsIDB4MGIsIDB4MTQsIDB4YmUsIDB4MTQsIDB4MTAsIDB4MmMsIDB4MzgsIDB4MGYsIDB4MWIsIDB4MzQsIAotICAgIDB4NzgsIDB4ZWMsIDB4N2EsIDB4MTcsIDB4MDEsIDB4NmQsIDB4N2EsIDB4MjcsIDB4MDEsIDB4N2QsIDB4MDIsIDB4NGMsIDB4YTksIDB4N2UsIDB4MTQsIDB4MGMsIAotICAgIDB4MmQsIDB4ODAsIDB4ZWIsIDB4NzUsIDB4MmYsIDB4NTUsIDB4MTIsIDB4NzMsIDB4MzUsIDB4NzUsIDB4MmYsIDB4MDMsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIAotICAgIDB4NjEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4NzEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2UsIDB4MTcsIDB4MDEsIDB4NmYsIDB4N2UsIAotICAgIDB4MjcsIDB4MDEsIDB4N2YsIDB4MmQsIDB4MjMsIDB4N2UsIDB4MDksIDB4YjAsIDB4MGIsIDB4MDQsIDB4N2EsIDB4MTksIDB4YjAsIDB4MGIsIDB4MTQsIDB4YmUsIAotICAgIDB4MTQsIDB4MTQsIDB4MmMsIDB4MzgsIDB4MGYsIDB4MWIsIDB4MzQsIDB4NzgsIDB4ZWMsIDB4N2EsIDB4MTcsIDB4MDEsIDB4NmYsIDB4N2EsIDB4MjcsIDB4MDEsIAotICAgIDB4N2YsIDB4MDIsIDB4NGYsIDB4ZDYsIDB4N2UsIDB4MTQsIDB4MTAsIDB4MmQsIDB4ODAsIDB4ZWIsIDB4NzUsIDB4MmYsIDB4NTUsIDB4MTIsIDB4NzMsIDB4MzUsIAotICAgIDB4NzUsIDB4MmYsIDB4MDQsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4NjEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4NzEsIDB4MmYsIDB4MTIsIAotICAgIDB4NzMsIDB4MzUsIDB4N2UsIDB4MTcsIDB4MDEsIDB4NzEsIDB4N2UsIDB4MjcsIDB4MDEsIDB4ODEsIDB4MmQsIDB4MjMsIDB4N2UsIDB4MDksIDB4YjAsIDB4MGIsIAotICAgIDB4MDQsIDB4N2EsIDB4MTksIDB4YjAsIDB4MGIsIDB4MTQsIDB4YmUsIDB4MTQsIDB4MTgsIDB4MmMsIDB4MzgsIDB4MGYsIDB4MWIsIDB4MzQsIDB4NzgsIDB4ZWMsIAotICAgIDB4N2EsIDB4MTcsIDB4MDEsIDB4NzEsIDB4N2EsIDB4MjcsIDB4MDEsIDB4ODEsIDB4MDIsIDB4NTMsIDB4MDMsIDB4N2UsIDB4MTQsIDB4MTQsIDB4MmQsIDB4ODAsIAotICAgIDB4ZWIsIDB4NzUsIDB4MmYsIDB4NTUsIDB4MTIsIDB4NzMsIDB4MzUsIDB4NzUsIDB4MmYsIDB4MDUsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4NjEsIDB4MmYsIAotICAgIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4NzEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2UsIDB4MTcsIDB4MDEsIDB4NzMsIDB4N2UsIDB4MjcsIDB4MDEsIAotICAgIDB4ODMsIDB4MmQsIDB4MjMsIDB4N2UsIDB4MDksIDB4YjAsIDB4MGIsIDB4MDQsIDB4N2EsIDB4MTksIDB4YjAsIDB4MGIsIDB4MTQsIDB4YmUsIDB4MTQsIDB4MWMsIAotICAgIDB4MmMsIDB4MzgsIDB4MGYsIDB4MWIsIDB4MzQsIDB4NzgsIDB4ZWMsIDB4N2EsIDB4MTcsIDB4MDEsIDB4NzMsIDB4N2EsIDB4MjcsIDB4MDEsIDB4ODMsIDB4MDIsIAotICAgIDB4NTYsIDB4MzAsIDB4N2UsIDB4MTQsIDB4MTgsIDB4MmQsIDB4ODAsIDB4ZWIsIDB4NzUsIDB4MmYsIDB4NTUsIDB4MTIsIDB4NzMsIDB4MzUsIDB4NzUsIDB4MmYsIAotICAgIDB4MDYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4NjEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4NzEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIAotICAgIDB4N2UsIDB4MTcsIDB4MDEsIDB4NzUsIDB4N2UsIDB4MjcsIDB4MDEsIDB4ODUsIDB4MmQsIDB4MjMsIDB4N2UsIDB4MDksIDB4YjAsIDB4MGIsIDB4MDQsIDB4N2EsIAotICAgIDB4MTksIDB4YjAsIDB4MGIsIDB4MTQsIDB4YmUsIDB4MTQsIDB4MjAsIDB4MmMsIDB4MzgsIDB4MGYsIDB4MWIsIDB4MzQsIDB4NzgsIDB4ZWMsIDB4N2EsIDB4MTcsIAotICAgIDB4MDEsIDB4NzUsIDB4N2EsIDB4MjcsIDB4MDEsIDB4ODUsIDB4MDIsIDB4NTksIDB4NWQsIDB4N2UsIDB4MTQsIDB4MWMsIDB4MmQsIDB4ODAsIDB4ZWIsIDB4NzUsIAotICAgIDB4MmYsIDB4NTUsIDB4MTIsIDB4NzMsIDB4MzUsIDB4NzUsIDB4MmYsIDB4MDcsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4NjEsIDB4MmYsIDB4MTIsIDB4NzMsIAotICAgIDB4MzUsIDB4N2EsIDB4NzEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2UsIDB4MTcsIDB4MDEsIDB4NzcsIDB4N2UsIDB4MjcsIDB4MDEsIDB4ODcsIDB4MmQsIAotICAgIDB4MjMsIDB4N2UsIDB4MDksIDB4YjAsIDB4MGIsIDB4MDQsIDB4N2EsIDB4MTksIDB4YjAsIDB4MGIsIDB4MTQsIDB4YmUsIDB4MTQsIDB4MjQsIDB4MmMsIDB4MzgsIAotICAgIDB4MGYsIDB4MWIsIDB4MzQsIDB4NzgsIDB4ZWMsIDB4N2EsIDB4MTcsIDB4MDEsIDB4NzcsIDB4N2EsIDB4MjcsIDB4MDEsIDB4ODcsIDB4MDIsIDB4NWMsIDB4OGEsIAotICAgIDB4N2UsIDB4MTQsIDB4MjAsIDB4MmQsIDB4ODAsIDB4ZWIsIAotCi0vLyBTZWdtZW50ICMxNSwgU3RhcnQgQWRkcmVzcyAwMGZmNDAwMCwgTGVuZ3RoIDEzMTA5Ci0weGZmLDB4MDAsMHgwMCwweDQwLDB4MzUsMHgzMywKLSAgICAweDdlLCAweDA0LCAweDAwLCAweDAxLCAweDdlLCAweDE0LCAweDdmLCAweGY4LCAweDdlLCAweDI0LCAweDAwLCAweGZlLCAweDdkLCAweDMxLCAweDBiLCAweDFhLCAKLSAgICAweDUwLCAweDFiLCAweDBhLCAweDUwLCAweDdlLCAweDE0LCAweDQwLCAweDFiLCAweDAyLCAweDQwLCAweDc0LCAweDdlLCAweGY4LCAweDAwLCAweDU5LCAweDc1LCAKLSAgICAweGIwLCAweGRmLCAweDdlLCAweGIwLCAweDAxLCAweDdhLCAweGIzLCAweDkwLCAweDAwLCAweDdlLCAweGY0LCAweDQwLCAweDMwLCAweDAyLCAweDQwLCAweDhiLCAKLSAgICAweDEyLCAweDc0LCAweDRlLCAweGY1LCAweDJlLCAweDdhLCAweGExLCAweDJkLCAweDdhLCAweDExLCAweDU4LCAweDEyLCAweDZiLCAweDAyLCAweDEyLCAweDQwLCAKLSAgICAweGViLCAweDdlLCAweGIzLCAweDNmLCAweGYxLCAweDYwLCAweDAzLCAweDEyLCAweDQzLCAweDc5LCAweDEyLCAweDZiLCAweGRlLCAweGQyLCAweGFmLCAweDAyLCAKLSAgICAweDMwLCAweDAwLCAweDdlLCAweDA0LCAweDAwLCAweGZmLCAweDdlLCAweDE4LCAweDQwLCAweDYwLCAweDdhLCAweDFjLCAweDAwLCAweDAxLCAweDg5LCAweDE4LCAKLSAgICAweDdlLCAweGIwLCAweDAxLCAweDdhLCAweGIzLCAweDk0LCAweDAwLCAweDdhLCAweGIzLCAweDJjLCAweDM1LCAweDdlLCAweGIwLCAweDAxLCAweDdhLCAweGIzLCAKLSAgICAweDkzLCAweDAwLCAweDg5LCAweDA4LCAweDdlLCAweDA0LCAweDAwLCAweGZmLCAweDdlLCAweDE4LCAweDQwLCAweDgyLCAweDdhLCAweDFjLCAweDAwLCAweDAxLCAKLSAgICAweDg5LCAweDE4LCAweDdlLCAweGIwLCAweDAwLCAweDdhLCAweGIzLCAweDkzLCAweDAwLCAweDg5LCAweDA4LCAweDdlLCAweDA4LCAweDAwLCAweDIwLCAweDdlLCAKLSAgICAweDQ0LCAweDA0LCAweDAwLCAweDdlLCAweDQwLCAweDAwLCAweDdlLCAweGU0LCAweDQwLCAweDlkLCAweDAyLCAweDczLCAweDUwLCAweDdlLCAweDA4LCAweDAxLCAKLSAgICAweDU5LCAweDdlLCAweDQ0LCAweDJhLCAweGRkLCAweDdlLCAweDQwLCAweDAwLCAweDdlLCAweGU0LCAweDQwLCAweGFmLCAweDAyLCAweDczLCAweDUwLCAweDdlLCAKLSAgICAweDA4LCAweDAwLCAweDU5LCAweDdlLCAweDQ0LCAweDAxLCAweDAwLCAweDdlLCAweDQwLCAweDUzLCAweDdlLCAweGU0LCAweDQwLCAweGMxLCAweDAyLCAweDczLCAKLSAgICAweDUwLCAweDc1LCAweDU3LCAweDAxLCAweDc1LCAweDU2LCAweDAwLCAweDdlLCAweDA0LCAweDAwLCAweDA4LCAweDc1LCAweDU0LCAweDU4LCAweDc1LCAweDU1LCAKLSAgICAweDA4LCAweDc1LCAweDUxLCAweDA4LCAweDc1LCAweDUzLCAweDAxLCAweDc1LCAweDg5LCAweDAxLCAweDc1LCAweDhhLCAweDAxLCAweDc1LCAweDhjLCAweDAwLCAKLSAgICAweGQyLCAweDhjLCAweDdlLCAweDA0LCAweDAwLCAweDAyLCAweDdhLCAweDA1LCAweDQyLCAweDg5LCAweGY0LCAweDc1LCAweGI3LCAweDdmLCAweDc1LCAweGI4LCAKLSAgICAweDdmLCAweDc1LCAweGIzLCAweDAxLCAweDc1LCAweGIyLCAweDAxLCAweGQyLCAweGE5LCAweDIyLCAweDc1LCAweGIwLCAweGRmLCAweGU0LCAweGQ1LCAweGUwLCAKLSAgICAweGZkLCAweDc1LCAweGIwLCAweGVmLCAweDdlLCAweDI0LCAweDgwLCAweDAwLCAweDdlLCAweDExLCAweDJlLCAweDdlLCAweGEwLCAweDA4LCAweDE5LCAweGEyLCAKLSAgICAweDAwLCAweDEwLCAweDJlLCAweDI0LCAweDAxLCAweDAwLCAweGE1LCAweGQ5LCAweGYyLCAweDdlLCAweDIwLCAweDAwLCAweDEyLCAweDQxLCAweDgzLCAweDBiLCAKLSAgICAweDIwLCAweGJlLCAweDIxLCAweDJlLCAweDc4LCAweGY2LCAweDIyLCAweDdlLCAweDA0LCAweDgwLCAweDAwLCAweDRjLCAweDAyLCAweDc0LCAweGJmLCAweDE5LCAKLSAgICAweGIwLCAweDAwLCAweDBjLCAweDc0LCAweDEwLCAweDE5LCAweGIwLCAweDAwLCAweDA4LCAweDc0LCAweDgwLCAweDE5LCAweGIwLCAweDAwLCAweDBjLCAweDdlLCAKLSAgICAweDU0LCAweDAwLCAweDAyLCAweDE5LCAweGEwLCAweDAwLCAweDA0LCAweDE5LCAweGIwLCAweDAwLCAweDAwLCAweDc0LCAweDAzLCAweDE5LCAweGIwLCAweDAwLCAKLSAgICAweDBjLCAweDc0LCAweDA3LCAweDIwLCAweDY4LCAweDAyLCAweDc0LCAweDBmLCAweDE5LCAweGIwLCAweDAwLCAweDA0LCAweDMwLCAweDZiLCAweDE3LCAweDc0LCAKLSAgICAweGJmLCAweDE5LCAweGIwLCAweDAwLCAweDBjLCAweDc0LCAweDI4LCAweDIwLCAweDY4LCAweDAyLCAweDc0LCAweDIwLCAweDE5LCAweGIwLCAweDAwLCAweDA0LCAKLSAgICAweDc0LCAweDAzLCAweDE5LCAweGIwLCAweDAwLCAweDBjLCAweDc0LCAweGE3LCAweDE5LCAweGIwLCAweDAwLCAweDA4LCAweDc0LCAweDBjLCAweDE5LCAweGIwLCAKLSAgICAweDAwLCAweDEwLCAweDIyLCAweDdlLCAweDA0LCAweDgwLCAweDAwLCAweDRjLCAweDAyLCAweGU0LCAweDE5LCAweGIwLCAweDAwLCAweDA0LCAweDA5LCAweGIwLCAKLSAgICAweDAwLCAweDEwLCAweDU0LCAweDA4LCAweDE5LCAweGIwLCAweDAwLCAweDEwLCAweDc0LCAweGE3LCAweDE5LCAweGIwLCAweDAwLCAweDA4LCAweDIyLCAweDdjLCAKLSAgICAweGIyLCAweDIzLCAweDBhLCAweDJiLCAweDQ5LCAweDIyLCAweDQxLCAweGFhLCAweDg5LCAweDI0LCAweDQxLCAweGJhLCAweDQxLCAweGQ3LCAweDQxLCAweGY0LCAKLSAgICAweDQyLCAweDExLCAweDQyLCAweDJlLCAweDQyLCAweDRiLCAweDQyLCAweDY4LCAweDQyLCAweDg1LCAweGMyLCAweDEwLCAweGMyLCAweDE4LCAweGMyLCAweDA4LCAKLSAgICAweDdlLCAweDA0LCAweDA0LCAweDJkLCAweDdhLCAweDA3LCAweDAxLCAweDU5LCAweDdhLCAweDA3LCAweDAxLCAweDY5LCAweDZkLCAweDAwLCAweDdhLCAweDA3LCAKLSAgICAweDAxLCAweDc5LCAweDdhLCAweDA3LCAweDAxLCAweDg5LCAweDIyLCAweGMyLCAweDExLCAweGMyLCAweDE5LCAweGMyLCAweDA5LCAweDdlLCAweDA0LCAweDA4LCAKLSAgICAweDJkLCAweDdhLCAweDA3LCAweDAxLCAweDViLCAweDdhLCAweDA3LCAweDAxLCAweDZiLCAweDZkLCAweDAwLCAweDdhLCAweDA3LCAweDAxLCAweDdiLCAweDdhLCAKLSAgICAweDA3LCAweDAxLCAweDhiLCAweDIyLCAweGMyLCAweDEyLCAweGMyLCAweDFhLCAweGMyLCAweDBhLCAweDdlLCAweDA0LCAweDBjLCAweDJkLCAweDdhLCAweDA3LCAKLSAgICAweDAxLCAweDVkLCAweDdhLCAweDA3LCAweDAxLCAweDZkLCAweDZkLCAweDAwLCAweDdhLCAweDA3LCAweDAxLCAweDdkLCAweDdhLCAweDA3LCAweDAxLCAweDhkLCAKLSAgICAweDIyLCAweGMyLCAweDEzLCAweGMyLCAweDFiLCAweGMyLCAweDBiLCAweDdlLCAweDA0LCAweDEwLCAweDJkLCAweDdhLCAweDA3LCAweDAxLCAweDVmLCAweDdhLCAKLSAgICAweDA3LCAweDAxLCAweDZmLCAweDZkLCAweDAwLCAweDdhLCAweDA3LCAweDAxLCAweDdmLCAweDdhLCAweDA3LCAweDAxLCAweDhmLCAweDIyLCAweGMyLCAweDE0LCAKLSAgICAweGMyLCAweDFjLCAweGMyLCAweDBjLCAweDdlLCAweDA0LCAweDE0LCAweDJkLCAweDdhLCAweDA3LCAweDAxLCAweDYxLCAweDdhLCAweDA3LCAweDAxLCAweDcxLCAKLSAgICAweDZkLCAweDAwLCAweDdhLCAweDA3LCAweDAxLCAweDgxLCAweDdhLCAweDA3LCAweDAxLCAweDkxLCAweDIyLCAweGMyLCAweDE1LCAweGMyLCAweDFkLCAweGMyLCAKLSAgICAweDBkLCAweDdlLCAweDA0LCAweDE4LCAweDJkLCAweDdhLCAweDA3LCAweDAxLCAweDYzLCAweDdhLCAweDA3LCAweDAxLCAweDczLCAweDZkLCAweDAwLCAweDdhLCAKLSAgICAweDA3LCAweDAxLCAweDgzLCAweDdhLCAweDA3LCAweDAxLCAweDkzLCAweDIyLCAweGMyLCAweDE2LCAweGMyLCAweDFlLCAweGMyLCAweDBlLCAweDdlLCAweDA0LCAKLSAgICAweDFjLCAweDJkLCAweDdhLCAweDA3LCAweDAxLCAweDY1LCAweDdhLCAweDA3LCAweDAxLCAweDc1LCAweDZkLCAweDAwLCAweDdhLCAweDA3LCAweDAxLCAweDg1LCAKLSAgICAweDdhLCAweDA3LCAweDAxLCAweDk1LCAweDIyLCAweGMyLCAweDE3LCAweGMyLCAweDFmLCAweGMyLCAweDBmLCAweDdlLCAweDA0LCAweDIwLCAweDJkLCAweDdhLCAKLSAgICAweDA3LCAweDAxLCAweDY3LCAweDdhLCAweDA3LCAweDAxLCAweDc3LCAweDZkLCAweDAwLCAweDdhLCAweDA3LCAweDAxLCAweDg3LCAweDdhLCAweDA3LCAweDAxLCAKLSAgICAweDk3LCAweDIyLCAweDdjLCAweGIyLCAweDIzLCAweDBhLCAweDJiLCAweDQ5LCAweDIyLCAweDQyLCAweGFkLCAweDg5LCAweDI0LCAweDQyLCAweGJkLCAweDQyLCAKLSAgICAweGQ0LCAweDQyLCAweGViLCAweDQzLCAweDAyLCAweDQzLCAweDE5LCAweDQzLCAweDMwLCAweDQzLCAweDQ3LCAweDQzLCAweDVlLCAweDMwLCAweDQwLCAweDA3LCAKLSAgICAweDIwLCAweDU4LCAweDA0LCAweGMyLCAweDI4LCAweDgwLCAweDBjLCAweDMwLCAweDQ4LCAweDA3LCAweDIwLCAweDUwLCAweDA0LCAweGMyLCAweDI4LCAweDgwLCAKLSAgICAweDAyLCAweGQyLCAweDI4LCAweDIyLCAweDMwLCAweDQxLCAweDA3LCAweDIwLCAweDU5LCAweDA0LCAweGMyLCAweDI5LCAweDgwLCAweDBjLCAweDMwLCAweDQ5LCAKLSAgICAweDA3LCAweDIwLCAweDUxLCAweDA0LCAweGMyLCAweDI5LCAweDgwLCAweDAyLCAweGQyLCAweDI5LCAweDIyLCAweDMwLCAweDQyLCAweDA3LCAweDIwLCAweDVhLCAKLSAgICAweDA0LCAweGMyLCAweDJhLCAweDgwLCAweDBjLCAweDMwLCAweDRhLCAweDA3LCAweDIwLCAweDUyLCAweDA0LCAweGMyLCAweDJhLCAweDgwLCAweDAyLCAweGQyLCAKLSAgICAweDJhLCAweDIyLCAweDMwLCAweDQzLCAweDA3LCAweDIwLCAweDViLCAweDA0LCAweGMyLCAweDJiLCAweDgwLCAweDBjLCAweDMwLCAweDRiLCAweDA3LCAweDIwLCAKLSAgICAweDUzLCAweDA0LCAweGMyLCAweDJiLCAweDgwLCAweDAyLCAweGQyLCAweDJiLCAweDIyLCAweDMwLCAweDQ0LCAweDA3LCAweDIwLCAweDVjLCAweDA0LCAweGMyLCAKLSAgICAweDJjLCAweDgwLCAweDBjLCAweDMwLCAweDRjLCAweDA3LCAweDIwLCAweDU0LCAweDA0LCAweGMyLCAweDJjLCAweDgwLCAweDAyLCAweGQyLCAweDJjLCAweDIyLCAKLSAgICAweDMwLCAweDQ1LCAweDA3LCAweDIwLCAweDVkLCAweDA0LCAweGMyLCAweDJkLCAweDgwLCAweDBjLCAweDMwLCAweDRkLCAweDA3LCAweDIwLCAweDU1LCAweDA0LCAKLSAgICAweGMyLCAweDJkLCAweDgwLCAweDAyLCAweGQyLCAweDJkLCAweDIyLCAweDMwLCAweDQ2LCAweDA3LCAweDIwLCAweDVlLCAweDA0LCAweGMyLCAweDJlLCAweDgwLCAKLSAgICAweDBjLCAweDMwLCAweDRlLCAweDA3LCAweDIwLCAweDU2LCAweDA0LCAweGMyLCAweDJlLCAweDgwLCAweDAyLCAweGQyLCAweDJlLCAweDIyLCAweDMwLCAweDQ3LCAKLSAgICAweDA3LCAweDIwLCAweDVmLCAweDA0LCAweGMyLCAweDJmLCAweDgwLCAweDBjLCAweDMwLCAweDRmLCAweDA3LCAweDIwLCAweDU3LCAweDA0LCAweGMyLCAweDJmLCAKLSAgICAweDgwLCAweDAyLCAweGQyLCAweDJmLCAweDIyLCAweDQ0LCAweDY2LCAweDQzLCAweDhhLCAweGJlLCAweGIwLCAweDAyLCAweDQwLCAweDAxLCAweDIyLCAweDIzLCAKLSAgICAweDBhLCAweDViLCAweDQ5LCAweDU1LCAweDQzLCAweDc1LCAweDk5LCAweDU0LCAweGQzLCAweDIyLCAweDdlLCAweGIwLCAweDAwLCAweDdhLCAweGIzLCAweDk0LCAKLSAgICAweDAwLCAweDdhLCAweGIzLCAweDJjLCAweDM1LCAweDEyLCAweDQ0LCAweDdhLCAweDdlLCAweDA0LCAweDI4LCAweDJkLCAweDdhLCAweDA3LCAweDAxLCAweGMxLCAKLSAgICAweDdhLCAweDA3LCAweDAxLCAweGMzLCAweDdlLCAweDA0LCAweDI0LCAweDJkLCAweDdhLCAweDA3LCAweDAxLCAweGM3LCAweDdhLCAweDA3LCAweDAxLCAweGM5LCAKLSAgICAweDdlLCAweDA0LCAweDY2LCAweDdmLCAweDdhLCAweDA1LCAweDRiLCAweDc0LCAweDIwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDc0LCAweDYwLCAweDdhLCAKLSAgICAweGIzLCAweDkxLCAweDFjLCAweDc0LCAweDEyLCAweDdhLCAweGIzLCAweDkxLCAweDA2LCAweDc0LCAweDQwLCAweDdhLCAweGIzLCAweDkxLCAweDA3LCAweDc0LCAKLSAgICAweDFlLCAweDdhLCAweGIzLCAweDkxLCAweDEwLCAweDc0LCAweDQ4LCAweDdhLCAweGIzLCAweDkxLCAweDEyLCAweDc0LCAweDEwLCAweDdhLCAweGIzLCAweDkxLCAKLSAgICAweDEzLCAweDc0LCAweDNmLCAweDdhLCAweGIzLCAweDkxLCAweDE0LCAweDc0LCAweDQwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDc0LCAweDYwLCAweDdhLCAKLSAgICAweGIzLCAweDkxLCAweDFjLCAweDc0LCAweDE0LCAweDdhLCAweGIzLCAweDkxLCAweDA2LCAweDc0LCAweDQwLCAweDdhLCAweGIzLCAweDkxLCAweDA3LCAweDc0LCAKLSAgICAweDE2LCAweDdhLCAweGIzLCAweDkxLCAweDEwLCAweDc0LCAweDA4LCAweDdhLCAweGIzLCAweDkxLCAweDExLCAweDc0LCAweDIwLCAweDdhLCAweGIzLCAweDkxLCAKLSAgICAweDEzLCAweDc0LCAweDNmLCAweDdhLCAweGIzLCAweDkxLCAweDE0LCAweDc0LCAweDYwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDc0LCAweDYwLCAweDdhLCAKLSAgICAweGIzLCAweDkxLCAweDFjLCAweDc0LCAweDE2LCAweDdhLCAweGIzLCAweDkxLCAweDA2LCAweDc0LCAweDIwLCAweDdhLCAweGIzLCAweDkxLCAweDA3LCAweDc0LCAKLSAgICAweDJmLCAweDdhLCAweGIzLCAweDkxLCAweDEwLCAweDc0LCAweDQ4LCAweDdhLCAweGIzLCAweDkxLCAweDEyLCAweDc0LCAweDEwLCAweDdhLCAweGIzLCAweDkxLCAKLSAgICAweDEzLCAweDc0LCAweDNmLCAweDdhLCAweGIzLCAweDkxLCAweDE0LCAweDc0LCAweDAyLCAweDdhLCAweGIzLCAweDkxLCAweDA2LCAweDc0LCAweDBmLCAweDdhLCAKLSAgICAweGIzLCAweDkxLCAweDA3LCAweDEyLCAweDQwLCAweGZhLCAweDdlLCAweDIwLCAweDAwLCAweDEyLCAweDQxLCAweDlmLCAweDBiLCAweDIwLCAweGJlLCAweDIxLCAKLSAgICAweDJlLCAweDc4LCAweGY2LCAweGQyLCAweGE4LCAweDIyLCAweDdlLCAweGIwLCAweDAxLCAweDdhLCAweGIzLCAweDk0LCAweDAwLCAweDdhLCAweGIzLCAweDJjLCAKLSAgICAweDM1LCAweDEyLCAweDQ0LCAweDdhLCAweDc1LCAweGIwLCAweGRmLCAweGMyLCAweGE4LCAweDIyLCAweDc0LCAweDAyLCAweDdhLCAweGIzLCAweDkxLCAweDA2LCAKLSAgICAweDc0LCAweDAxLCAweDdhLCAweGIzLCAweDkxLCAweDA3LCAweDdlLCAweDIwLCAweDA0LCAweDdjLCAweGIyLCAweGMyLCAweGQ3LCAweDEzLCAweDEzLCAweDEzLCAKLSAgICAweDEzLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDc0LCAweDYwLCAweDdhLCAweGIzLCAweDkxLCAweDFjLCAweDc0LCAweDAyLCAweDdhLCAweGIzLCAweDkxLCAKLSAgICAweDEyLCAweGE1LCAweGRhLCAweGU1LCAweDIyLCAweGNhLCAweDA5LCAweDEyLCAweDMwLCAweDBlLCAweDEwLCAweDAxLCAweDM0LCAweGQ1LCAweDUxLCAweDQwLCAKLSAgICAweDc0LCAweDAwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDc0LCAweDAyLCAweDdhLCAweGIzLCAweDkxLCAweDA2LCAweDdlLCAweGIzLCAweDkxLCAweDA3LCAKLSAgICAweDc0LCAweDAzLCAweDdhLCAweGIzLCAweDkxLCAweDA2LCAweDdlLCAweGIzLCAweDkxLCAweDA3LCAweDdlLCAweGIzLCAweDkxLCAweDE0LCAweDdlLCAweGIzLCAKLSAgICAweDkxLCAweDA0LCAweDYzLCAweDUzLCAweDAxLCAweDdlLCAweDAwLCAweDU0LCAweDJlLCAweDAxLCAweDUzLCAweGE1LCAweGU2LCAweGY1LCAweDUxLCAweDgwLCAKLSAgICAweDEyLCAweDIwLCAweDAyLCAweDFkLCAweDc1LCAweDUzLCAweDAwLCAweDg1LCAweDU0LCAweDUxLCAweGQyLCAweDAyLCAweDc0LCAweDAzLCAweDgwLCAweDBkLCAKLSAgICAweDMwLCAweDAyLCAweDBlLCAweGMyLCAweDAyLCAweDdlLCAweDAwLCAweDU2LCAweDJlLCAweDAxLCAweDUzLCAweGE1LCAweGU2LCAweDdhLCAweGIzLCAweDkwLCAKLSAgICAweDAwLCAweGRhLCAweDA5LCAweDMyLCAweDQ1LCAweDZmLCAweDQ1LCAweDhiLCAweDQ1LCAweGE3LCAweDQ1LCAweGMzLCAweDQ1LCAweGRmLCAweDQ1LCAweGZiLCAKLSAgICAweDQ2LCAweDE3LCAweDQ2LCAweDMzLCAweGMwLCAweGQwLCAweGMwLCAweGQxLCAweGMwLCAweGUwLCAweGMwLCAweGYwLCAweGNhLCAweDBiLCAweGNhLCAweDFiLCAKLSAgICAweGNhLCAweDJiLCAweGQyLCAweDAxLCAweDc1LCAweDJmLCAweDg5LCAweDEyLCAweDczLCAweDM1LCAweDdlLCAweGIzLCAweDkwLCAweDAwLCAweDYwLCAweDI4LCAKLSAgICAweDdlLCAweDE0LCAweDgwLCAweDAwLCAweDdlLCAweDAwLCAweDAwLCAweDEzLCAweDUwLCAweDEzLCAweGNhLCAweDBiLCAweGNhLCAweDU5LCAweDdjLCAweGIwLCAKLSAgICAweDIzLCAweDBhLCAweDJiLCAweDQ5LCAweDIyLCAweDQ1LCAweDA0LCAweDk5LCAweDI0LCAweGRhLCAweDU5LCAweGRhLCAweDBiLCAweGE1LCAweDBhLCAweGE1LCAKLSAgICAweDA4LCAweGJlLCAweDAxLCAweDJlLCAweDc4LCAweGUxLCAweDgwLCAweGQyLCAweDMwLCAweDA0LCAweDA1LCAweGMyLCAweDA0LCAweDEyLCAweDY0LCAweDg2LCAKLSAgICAweGRhLCAweDJiLCAweGRhLCAweDFiLCAweGRhLCAweDBiLCAweGQwLCAweGYwLCAweGQwLCAweGUwLCAweGQwLCAweGQxLCAweGQwLCAweGQwLCAweDMyLCAweDA5LCAKLSAgICAweGIxLCAweDAwLCAweDA4LCAweDIwLCAweGUwLCAweDE0LCAweDc1LCAweDJmLCAweDgwLCAweDEyLCAweDczLCAweDM1LCAweDU0LCAweDNlLCAweDBhLCAweDViLCAKLSAgICAweDdlLCAweDQ0LCAweDAwLCAweGZmLCAweDY5LCAweDUyLCAweDYxLCAweGFiLCAweDg5LCAweDU0LCAweDIyLCAweDA5LCAweGIxLCAweDAwLCAweDA4LCAweDIwLCAKLSAgICAweGUwLCAweDE0LCAweDc1LCAweDJmLCAweDgxLCAweDEyLCAweDczLCAweDM1LCAweDU0LCAweDNlLCAweDBhLCAweDViLCAweDdlLCAweDQ0LCAweDAwLCAweGZmLCAKLSAgICAweDY5LCAweDUyLCAweDYxLCAweGViLCAweDg5LCAweDU0LCAweDIyLCAweDA5LCAweGIxLCAweDAwLCAweDA4LCAweDIwLCAweGUwLCAweDE0LCAweDc1LCAweDJmLCAKLSAgICAweDgyLCAweDEyLCAweDczLCAweDM1LCAweDU0LCAweDNlLCAweDBhLCAweDViLCAweDdlLCAweDQ0LCAweDAwLCAweGZmLCAweDY5LCAweDUyLCAweDYyLCAweDJiLCAKLSAgICAweDg5LCAweDU0LCAweDIyLCAweDA5LCAweGIxLCAweDAwLCAweDA4LCAweDIwLCAweGUwLCAweDE0LCAweDc1LCAweDJmLCAweDgzLCAweDEyLCAweDczLCAweDM1LCAKLSAgICAweDU0LCAweDNlLCAweDBhLCAweDViLCAweDdlLCAweDQ0LCAweDAwLCAweGZmLCAweDY5LCAweDUyLCAweDYyLCAweDZiLCAweDg5LCAweDU0LCAweDIyLCAweDA5LCAKLSAgICAweGIxLCAweDAwLCAweDA4LCAweDIwLCAweGUwLCAweDE0LCAweDc1LCAweDJmLCAweDg0LCAweDEyLCAweDczLCAweDM1LCAweDU0LCAweDNlLCAweDBhLCAweDViLCAKLSAgICAweDdlLCAweDQ0LCAweDAwLCAweGZmLCAweDY5LCAweDUyLCAweDYyLCAweGFiLCAweDg5LCAweDU0LCAweDIyLCAweDA5LCAweGIxLCAweDAwLCAweDA4LCAweDIwLCAKLSAgICAweGUwLCAweDE0LCAweDc1LCAweDJmLCAweDg1LCAweDEyLCAweDczLCAweDM1LCAweDU0LCAweDNlLCAweDBhLCAweDViLCAweDdlLCAweDQ0LCAweDAwLCAweGZmLCAKLSAgICAweDY5LCAweDUyLCAweDYyLCAweGViLCAweDg5LCAweDU0LCAweDIyLCAweDA5LCAweGIxLCAweDAwLCAweDA4LCAweDIwLCAweGUwLCAweDE0LCAweDc1LCAweDJmLCAKLSAgICAweDg2LCAweDEyLCAweDczLCAweDM1LCAweDU0LCAweDNlLCAweDBhLCAweDViLCAweDdlLCAweDQ0LCAweDAwLCAweGZmLCAweDY5LCAweDUyLCAweDYzLCAweDJiLCAKLSAgICAweDg5LCAweDU0LCAweDIyLCAweDA5LCAweGIxLCAweDAwLCAweDA4LCAweDIwLCAweGUwLCAweDE0LCAweDc1LCAweDJmLCAweDg3LCAweDEyLCAweDczLCAweDM1LCAKLSAgICAweDU0LCAweDNlLCAweDBhLCAweDViLCAweDdlLCAweDQ0LCAweDAwLCAweGZmLCAweDY5LCAweDUyLCAweDYzLCAweDZiLCAweDg5LCAweDU0LCAweDIyLCAweDEwLCAKLSAgICAweDA4LCAweDAxLCAweDIyLCAweDIwLCAweDI4LCAweDAzLCAweGQyLCAweDA4LCAweDIyLCAweDc1LCAweDJmLCAweGEwLCAweDEyLCAweDczLCAweDM1LCAweDdlLCAKLSAgICAweDE0LCAweDgwLCAweDAwLCAweDgwLCAweDA2LCAweDIwLCAweDI4LCAweDAzLCAweGQyLCAweDA4LCAweDIyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAKLSAgICAweGI4LCAweDVlLCAweGIwLCAweDFlLCAweGRhLCAweGI4LCAweDY4LCAweDAzLCAweDEyLCAweDQ5LCAweDQ1LCAweDMwLCAweDMwLCAweDA2LCAweDIwLCAweGU2LCAKLSAgICAweDRmLCAweGQyLCAweDA4LCAweDIyLCAweDMwLCAweGU2LCAweDAyLCAweGQyLCAweDYwLCAweDdlLCAweDM3LCAweDAxLCAweDc5LCAweDdlLCAweDI3LCAweDAxLCAKLSAgICAweDk5LCAweDlkLCAweDMyLCAweDQwLCAweDMxLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDMyLCAweDdhLCAweDA1LCAweDMyLCAweDdhLCAweDM3LCAweDAxLCAKLSAgICAweDc5LCAweDdlLCAweDM3LCAweDAxLCAweDU5LCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDA4LCAweDJjLCAweDM4LCAweDY4LCAweDdhLCAKLSAgICAweDQ3LCAweDAxLCAweDU5LCAweDc1LCAweDJmLCAweDk0LCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDUxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDEyLCAKLSAgICAweDY5LCAweGYwLCAweDEwLCAweDYwLCAweGM0LCAweDIyLCAweGMyLCAweDYwLCAweDJkLCAweDIzLCAweDY4LCAweDc4LCAweDZkLCAweDMzLCAweDgwLCAweDFhLCAKLSAgICAweDdlLCAweDI3LCAweDAxLCAweDc5LCAweGJlLCAweDI0LCAweDAwLCAweDAwLCAweDY4LCAweDZhLCAweGJlLCAweDI3LCAweDAxLCAweDk5LCAweDI4LCAweDA0LCAKLSAgICAweDdlLCAweDI3LCAweDAxLCAweDk5LCAweDdlLCAweDM3LCAweDAxLCAweDc5LCAweDlkLCAweDMyLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDMyLCAweDdhLCAKLSAgICAweDA1LCAweDMyLCAweDdhLCAweDM3LCAweDAxLCAweDc5LCAweDdlLCAweDM3LCAweDAxLCAweDU5LCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAKLSAgICAweDA4LCAweDJjLCAweDM4LCAweDEzLCAweDdhLCAweDQ3LCAweDAxLCAweDU5LCAweDc1LCAweDJmLCAweDk0LCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDUxLCAKLSAgICAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDAyLCAweDY5LCAweGYwLCAweDc1LCAweDJmLCAweDk0LCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDUxLCAweDJmLCAKLSAgICAweDEyLCAweDczLCAweDM1LCAweDllLCAweDQ0LCAweDA4LCAweDJkLCAweDlkLCAweDI0LCAweDEyLCAweDY5LCAweGYwLCAweDdlLCAweDM0LCAweDA0LCAweDJkLCAKLSAgICAweDdkLCAweDI0LCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweDU5LCAweDEyLCAweDY5LCAweGYwLCAweGJlLCAweDI1LCAweDIwLCAweDc4LCAweDAzLCAKLSAgICAweDAyLCAweDQ2LCAweGMyLCAweDIyLCAweGQyLCAweDA4LCAweDdlLCAweDA0LCAweDA0LCAweDJkLCAweDdhLCAweDA3LCAweDAxLCAweDU5LCAweDdhLCAweDA3LCAKLSAgICAweDAxLCAweDY5LCAweDc1LCAweDJmLCAweDk0LCAweDEyLCAweDczLCAweDM1LCAweDc1LCAweDJmLCAweDAwLCAweDEyLCAweDczLCAweDM1LCAweDIyLCAweDc1LCAKLSAgICAweDJmLCAweDkyLCAweDEyLCAweDczLCAweDM1LCAweGQyLCAweDA0LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDU0LCAweDgyLCAweGRhLCAKLSAgICAweGI4LCAweDc4LCAweDY4LCAweDdlLCAweDM3LCAweDAxLCAweGNiLCAweDdlLCAweDI3LCAweDAxLCAweGE5LCAweDJlLCAweDI0LCAweDAwLCAweDAyLCAweDJkLCAKLSAgICAweDMyLCAweGJlLCAweDM0LCAweDA0LCAweDAwLCAweDM4LCAweDM0LCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDMwLCAweDdhLCAweDA1LCAweDMwLCAweDdhLCAKLSAgICAweDM3LCAweDAxLCAweGNiLCAweDdlLCAweDM3LCAweDAxLCAweGM5LCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDI4LCAweDJjLCAweDM4LCAKLSAgICAweDNjLCAweDdhLCAweDQ3LCAweDAxLCAweGM5LCAweDdlLCAweDI0LCAweDAwLCAweDAwLCAweDJlLCAweDI3LCAweDAxLCAweGE5LCAweDFiLCAweDM4LCAweDIwLCAKLSAgICAweDBiLCAweDM1LCAweDdhLCAweDUxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDAyLCAweDZhLCAweDYzLCAweDc1LCAweDJmLCAweDk5LCAweDEyLCAweDczLCAKLSAgICAweDM1LCAweDA5LCAweGIxLCAweDAwLCAweDA0LCAweDU0LCAweGZhLCAweDE5LCAweGIxLCAweDAwLCAweDA0LCAweDMwLCAweDM4LCAweDBhLCAweDA5LCAweGIxLCAKLSAgICAweDAwLCAweDEwLCAweDU0LCAweGZlLCAweDE5LCAweGIxLCAweDAwLCAweDEwLCAweGQyLCAweDEwLCAweDIyLCAweDgwLCAweDdmLCAweDdhLCAweDUxLCAweDJmLCAKLSAgICAweDEyLCAweDczLCAweDM1LCAweDllLCAweDQ0LCAweDI4LCAweDJkLCAweDlkLCAweDI0LCAweDdlLCAweDY0LCAweDAwLCAweDAwLCAweDJlLCAweDY3LCAweDAxLCAKLSAgICAweGE5LCAweDllLCAweDI0LCAweDAwLCAweDAyLCAweDQwLCAweDE3LCAweDFiLCAweDM4LCAweDYwLCAweDBiLCAweDM1LCAweDEyLCAweDZhLCAweDYzLCAweDdlLCAKLSAgICAweDM0LCAweDI0LCAweDJkLCAweDdkLCAweDI0LCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweGM5LCAweDAyLCAweDZhLCAweDYzLCAweDdhLCAweDM5LCAKLSAgICAweGMwLCAweDdlLCAweDM0LCAweDI0LCAweDJkLCAweDdhLCAweDM5LCAweGQwLCAweDBiLCAweDM0LCAweDFiLCAweDQ0LCAweDgwLCAweGU1LCAweDlkLCAweDMyLCAKLSAgICAweDdjLCAweGI2LCAweDU0LCAweDBmLCAweDIzLCAweDIzLCAweDIzLCAweDQ0LCAweDAwLCAweDdhLCAweDY5LCAweGIwLCAweDdhLCAweDc5LCAweDcwLCAweDBiLCAKLSAgICAweDM1LCAweDc1LCAweDJmLCAweDkzLCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDcxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweGJkLCAweDA0LCAweDY4LCAKLSAgICAweDJiLCAweDdhLCAweDA3LCAweDAxLCAweGM5LCAweDdlLCAweDQ3LCAweDAxLCAweGNiLCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweGNiLCAweDJlLCAKLSAgICAweDM1LCAweDMwLCAweDdhLCAweDM1LCAweDMwLCAweDIyLCAweGQyLCAweDA0LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDIwLCAweGUwLCAweDEzLCAweDIyLCAKLSAgICAweDdlLCAweDA0LCAweDI0LCAweDJkLCAweDgwLCAweDI4LCAweDdlLCAweDA0LCAweDI0LCAweDJkLCAweDgwLCAweDJhLCAweDdlLCAweDA0LCAweDI0LCAweDJkLCAKLSAgICAweDgwLCAweGNmLCAweDdlLCAweDA3LCAweDAxLCAweGNiLCAweDdlLCAweDI0LCAweDAzLCAweGZlLCAweDlkLCAweDIwLCAweDI4LCAweDQwLCAweDdlLCAweDA3LCAKLSAgICAweDAxLCAweGM5LCAweDdlLCAweDQ0LCAweDI4LCAweDJkLCAweDdkLCAweDYwLCAweDBiLCAweDA0LCAweGJkLCAweDA0LCAweDY4LCAweGQyLCAweDdkLCAweDcwLCAKLSAgICAweDBiLCAweDA0LCAweGJkLCAweDA0LCAweDY4LCAweGQwLCAweDdkLCAweDU0LCAweDlkLCAweDUwLCAweGJkLCAweDI1LCAweDQwLCAweDAyLCAweDdkLCAweDI1LCAKLSAgICAweDdkLCAweDMyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDU0LCAweDFmLCAweGI0LCAweDAxLCAweDMxLCAweGRhLCAweGI4LCAweDdlLCAKLSAgICAweDE5LCAweGIwLCAweDdhLCAweDA5LCAweGIwLCAweDBiLCAweDA0LCAweDFiLCAweDI0LCAweDc4LCAweGU3LCAweDAyLCAweDQ4LCAweDFlLCAweDc1LCAweDJmLCAKLSAgICAweDk5LCAweDEyLCAweDczLCAweDM1LCAweDA5LCAweGIxLCAweDAwLCAweDA0LCAweDU0LCAweGZhLCAweDE5LCAweGIxLCAweDAwLCAweDA0LCAweDMwLCAweDM4LCAKLSAgICAweDBhLCAweDA5LCAweGIxLCAweDAwLCAweDEwLCAweDU0LCAweGZlLCAweDE5LCAweGIxLCAweDAwLCAweDEwLCAweGQyLCAweDEwLCAweDIyLCAweGRhLCAweGI4LCAKLSAgICAweDMwLCAweGUwLCAweGQ4LCAweGJkLCAweDMyLCAweDY4LCAweDA3LCAweGNhLCAweGI4LCAweDEyLCAweDQ4LCAweDFlLCAweGRhLCAweGI4LCAweDAyLCAweDQ5LCAKLSAgICAweDQ1LCAweDA5LCAweGIxLCAweDAwLCAweDE4LCAweDdlLCAweGEwLCAweDg4LCAweDc1LCAweDJmLCAweDkwLCAweDEyLCAweDczLCAweDM1LCAweGY1LCAweDJmLCAKLSAgICAweDEyLCAweDczLCAweDM1LCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDBhLCAweDY4LCAweDFkLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDIwLCAweDY4LCAKLSAgICAweDA0LCAweGQyLCAweDU4LCAweDgwLCAweDAyLCAweGMyLCAweDU4LCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDgwLCAweDY4LCAweDA0LCAweGQyLCAweDUwLCAKLSAgICAweDgwLCAweDAyLCAweGMyLCAweDUwLCAweDEyLCAweDQyLCAweGJkLCAweDAyLCAweDYxLCAweDEzLCAweDc1LCAweDJmLCAweDkxLCAweDEyLCAweDczLCAweDM1LCAKLSAgICAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDdhLCAweGIxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDIwLCAweGUwLCAweDA4LCAweGQyLCAweDA0LCAweDdlLCAKLSAgICAweGEwLCAweDgwLCAweDAyLCAweDYxLCAweDEzLCAweGQyLCAweDA0LCAweDMwLCAweGUxLCAweDA2LCAweDdlLCAweGEwLCAweDgwLCAweDEyLCAweDYxLCAweDEzLCAKLSAgICAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFjLCAweGRhLCAweGI4LCAweDY4LCAweDEyLCAweDdlLCAweGEwLCAweGMwLCAweDA5LCAweDYxLCAweDAwLCAweDAwLCAKLSAgICAweDEyLCAweDYxLCAweDM2LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDIwLCAweGUwLCAweGRiLCAweDIyLCAweDAyLCAweDQ4LCAweDcyLCAweDc1LCAweDJmLCAKLSAgICAweDk1LCAweDEyLCAweDczLCAweDM1LCAweDIyLCAweDc1LCAweDJmLCAweDk2LCAweDEyLCAweDczLCAweDM1LCAweDIyLCAweDEwLCAweDA5LCAweDAxLCAweDIyLCAKLSAgICAweDIwLCAweDI5LCAweDAzLCAweGQyLCAweDA5LCAweDIyLCAweDc1LCAweDJmLCAweGExLCAweDEyLCAweDczLCAweDM1LCAweDdlLCAweDE0LCAweDgxLCAweDAwLCAKLSAgICAweDgwLCAweDA2LCAweDIwLCAweDI5LCAweDAzLCAweGQyLCAweDA5LCAweDIyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAKLSAgICAweDFlLCAweGRhLCAweGI4LCAweDY4LCAweDAzLCAweDEyLCAweDRjLCAweDcyLCAweDMwLCAweDMxLCAweDA2LCAweDIwLCAweGU2LCAweDRmLCAweGQyLCAweDA5LCAKLSAgICAweDIyLCAweDMwLCAweGU2LCAweDAyLCAweGQyLCAweDYxLCAweDdlLCAweDM3LCAweDAxLCAweDdiLCAweDdlLCAweDI3LCAweDAxLCAweDliLCAweDlkLCAweDMyLCAKLSAgICAweDQwLCAweDMxLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDM0LCAweDdhLCAweDA1LCAweDM0LCAweDdhLCAweDM3LCAweDAxLCAweDdiLCAweDdlLCAweDM3LCAKLSAgICAweDAxLCAweDViLCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDBjLCAweDJjLCAweDM4LCAweDY4LCAweDdhLCAweDQ3LCAweDAxLCAweDViLCAKLSAgICAweDc1LCAweDJmLCAweDk0LCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDUxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDEyLCAweDY5LCAweGYwLCAweDEwLCAKLSAgICAweDYxLCAweGM0LCAweDIyLCAweGMyLCAweDYxLCAweDJkLCAweDIzLCAweDY4LCAweDc4LCAweDZkLCAweDMzLCAweDgwLCAweDFhLCAweDdlLCAweDI3LCAweDAxLCAKLSAgICAweDdiLCAweGJlLCAweDI0LCAweDAwLCAweDAwLCAweDY4LCAweDZhLCAweGJlLCAweDI3LCAweDAxLCAweDliLCAweDI4LCAweDA0LCAweDdlLCAweDI3LCAweDAxLCAKLSAgICAweDliLCAweDdlLCAweDM3LCAweDAxLCAweDdiLCAweDlkLCAweDMyLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDM0LCAweDdhLCAweDA1LCAweDM0LCAweDdhLCAKLSAgICAweDM3LCAweDAxLCAweDdiLCAweDdlLCAweDM3LCAweDAxLCAweDViLCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDBjLCAweDJjLCAweDM4LCAKLSAgICAweDEzLCAweDdhLCAweDQ3LCAweDAxLCAweDViLCAweDc1LCAweDJmLCAweDk0LCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDUxLCAweDJmLCAweDEyLCAweDczLCAKLSAgICAweDM1LCAweDAyLCAweDY5LCAweGYwLCAweDc1LCAweDJmLCAweDk0LCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDUxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAKLSAgICAweDllLCAweDQ0LCAweDBjLCAweDJkLCAweDlkLCAweDI0LCAweDEyLCAweDY5LCAweGYwLCAweDdlLCAweDM0LCAweDA4LCAweDJkLCAweDdkLCAweDI0LCAweDJkLCAKLSAgICAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweDViLCAweDEyLCAweDY5LCAweGYwLCAweGJlLCAweDI1LCAweDIwLCAweDc4LCAweDAzLCAweDAyLCAweDQ5LCAweGVmLCAKLSAgICAweDIyLCAweGQyLCAweDA5LCAweDdlLCAweDA0LCAweDA4LCAweDJkLCAweDdhLCAweDA3LCAweDAxLCAweDViLCAweDdhLCAweDA3LCAweDAxLCAweDZiLCAweDc1LCAKLSAgICAweDJmLCAweDk0LCAweDEyLCAweDczLCAweDM1LCAweDc1LCAweDJmLCAweDAwLCAweDEyLCAweDczLCAweDM1LCAweDIyLCAweDc1LCAweDJmLCAweDkyLCAweDEyLCAKLSAgICAweDczLCAweDM1LCAweGQyLCAweDA0LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDU0LCAweDgyLCAweGRhLCAweGI4LCAweDc4LCAweDY4LCAKLSAgICAweDdlLCAweDM3LCAweDAxLCAweGNiLCAweDdlLCAweDI3LCAweDAxLCAweGFiLCAweDJlLCAweDI0LCAweDAwLCAweDAyLCAweDJkLCAweDMyLCAweGJlLCAweDM0LCAKLSAgICAweDA0LCAweDAwLCAweDM4LCAweDM0LCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDMwLCAweDdhLCAweDA1LCAweDMwLCAweDdhLCAweDM3LCAweDAxLCAweGNiLCAKLSAgICAweDdlLCAweDM3LCAweDAxLCAweGM5LCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDI4LCAweDJjLCAweDM4LCAweDNjLCAweDdhLCAweDQ3LCAKLSAgICAweDAxLCAweGM5LCAweDdlLCAweDI0LCAweDAxLCAweDAwLCAweDJlLCAweDI3LCAweDAxLCAweGFiLCAweDFiLCAweDM4LCAweDIwLCAweDBiLCAweDM1LCAweDdhLCAKLSAgICAweDUxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDAyLCAweDZhLCAweDYzLCAweDc1LCAweDJmLCAweDk5LCAweDEyLCAweDczLCAweDM1LCAweDA5LCAweGIxLCAKLSAgICAweDAwLCAweDA0LCAweDU0LCAweGZhLCAweDE5LCAweGIxLCAweDAwLCAweDA0LCAweDMwLCAweDM5LCAweDBhLCAweDA5LCAweGIxLCAweDAwLCAweDEwLCAweDU0LCAKLSAgICAweGZlLCAweDE5LCAweGIxLCAweDAwLCAweDEwLCAweGQyLCAweDExLCAweDIyLCAweDgwLCAweDdmLCAweDdhLCAweDUxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAKLSAgICAweDllLCAweDQ0LCAweDI4LCAweDJkLCAweDlkLCAweDI0LCAweDdlLCAweDY0LCAweDAxLCAweDAwLCAweDJlLCAweDY3LCAweDAxLCAweGFiLCAweDllLCAweDI0LCAKLSAgICAweDAwLCAweDAyLCAweDQwLCAweDE3LCAweDFiLCAweDM4LCAweDYwLCAweDBiLCAweDM1LCAweDEyLCAweDZhLCAweDYzLCAweDdlLCAweDM0LCAweDI0LCAweDJkLCAKLSAgICAweDdkLCAweDI0LCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweGM5LCAweDAyLCAweDZhLCAweDYzLCAweDdhLCAweDM5LCAweGMwLCAweDdlLCAweDM0LCAKLSAgICAweDI0LCAweDJkLCAweDdhLCAweDM5LCAweGQwLCAweDBiLCAweDM0LCAweDFiLCAweDQ0LCAweDgwLCAweGU1LCAweDlkLCAweDMyLCAweDdjLCAweGI2LCAweDU0LCAKLSAgICAweDBmLCAweDIzLCAweDIzLCAweDIzLCAweDQ0LCAweDAxLCAweDdhLCAweDY5LCAweGIwLCAweDdhLCAweDc5LCAweDcwLCAweDBiLCAweDM1LCAweDc1LCAweDJmLCAKLSAgICAweDkzLCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDcxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweGJkLCAweDA0LCAweDY4LCAweDJiLCAweDdhLCAweDA3LCAKLSAgICAweDAxLCAweGM5LCAweDdlLCAweDQ3LCAweDAxLCAweGNiLCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweGNiLCAweDJlLCAweDM1LCAweDMwLCAweDdhLCAKLSAgICAweDM1LCAweDMwLCAweDIyLCAweGQyLCAweDA0LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDIwLCAweGUwLCAweDEzLCAweDIyLCAweDdlLCAweDA0LCAweDI0LCAKLSAgICAweDJkLCAweDgwLCAweDI4LCAweDdlLCAweDA0LCAweDI0LCAweDJkLCAweDgwLCAweDJhLCAweDdlLCAweDA0LCAweDI0LCAweDJkLCAweDgwLCAweGNmLCAweDdlLCAKLSAgICAweDA3LCAweDAxLCAweGNiLCAweDdlLCAweDI0LCAweDAzLCAweGZlLCAweDlkLCAweDIwLCAweDI4LCAweDQwLCAweDdlLCAweDA3LCAweDAxLCAweGM5LCAweDdlLCAKLSAgICAweDQ0LCAweDI4LCAweDJkLCAweDdkLCAweDYwLCAweDBiLCAweDA0LCAweGJkLCAweDA0LCAweDY4LCAweGQyLCAweDdkLCAweDcwLCAweDBiLCAweDA0LCAweGJkLCAKLSAgICAweDA0LCAweDY4LCAweGQwLCAweDdkLCAweDU0LCAweDlkLCAweDUwLCAweGJkLCAweDI1LCAweDQwLCAweDAyLCAweDdkLCAweDI1LCAweDdkLCAweDMyLCAweDA5LCAKLSAgICAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDU0LCAweDFmLCAweGI0LCAweDAxLCAweDMxLCAweGRhLCAweGI4LCAweDdlLCAweDE5LCAweGIwLCAweDdhLCAKLSAgICAweDA5LCAweGIwLCAweDBiLCAweDA0LCAweDFiLCAweDI0LCAweDc4LCAweGU3LCAweDAyLCAweDRiLCAweDRiLCAweDc1LCAweDJmLCAweDk5LCAweDEyLCAweDczLCAKLSAgICAweDM1LCAweDA5LCAweGIxLCAweDAwLCAweDA0LCAweDU0LCAweGZhLCAweDE5LCAweGIxLCAweDAwLCAweDA0LCAweDMwLCAweDM5LCAweDBhLCAweDA5LCAweGIxLCAKLSAgICAweDAwLCAweDEwLCAweDU0LCAweGZlLCAweDE5LCAweGIxLCAweDAwLCAweDEwLCAweGQyLCAweDExLCAweDIyLCAweGRhLCAweGI4LCAweDMwLCAweGUwLCAweGQ4LCAKLSAgICAweGJkLCAweDMyLCAweDY4LCAweDA3LCAweGNhLCAweGI4LCAweDEyLCAweDRiLCAweDRiLCAweGRhLCAweGI4LCAweDAyLCAweDRjLCAweDcyLCAweDA5LCAweGIxLCAKLSAgICAweDAwLCAweDE4LCAweDdlLCAweGEwLCAweDg4LCAweDc1LCAweDJmLCAweDkwLCAweDEyLCAweDczLCAweDM1LCAweGY1LCAweDJmLCAweDEyLCAweDczLCAweDM1LCAKLSAgICAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDBhLCAweDY4LCAweDFkLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDIwLCAweDY4LCAweDA0LCAweGQyLCAweDU5LCAKLSAgICAweDgwLCAweDAyLCAweGMyLCAweDU5LCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDgwLCAweDY4LCAweDA0LCAweGQyLCAweDUxLCAweDgwLCAweDAyLCAweGMyLCAKLSAgICAweDUxLCAweDEyLCAweDQyLCAweGQ0LCAweDAyLCAweDYxLCAweDEzLCAweDc1LCAweDJmLCAweDkxLCAweDEyLCAweDczLCAweDM1LCAweDA5LCAweGIxLCAweDAwLCAKLSAgICAweDE0LCAweDdhLCAweGIxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDIwLCAweGUwLCAweDA4LCAweGQyLCAweDA0LCAweDdlLCAweGEwLCAweDgwLCAweDAyLCAKLSAgICAweDYxLCAweDEzLCAweGQyLCAweDA0LCAweDMwLCAweGUxLCAweDA2LCAweDdlLCAweGEwLCAweDgwLCAweDEyLCAweDYxLCAweDEzLCAweGNhLCAweGI4LCAweDVlLCAKLSAgICAweGIwLCAweDFjLCAweGRhLCAweGI4LCAweDY4LCAweDEyLCAweDdlLCAweGEwLCAweGMwLCAweDA5LCAweDYxLCAweDAwLCAweDAwLCAweDEyLCAweDYxLCAweDM2LCAKLSAgICAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDIwLCAweGUwLCAweGRiLCAweDIyLCAweDAyLCAweDRiLCAweDlmLCAweDc1LCAweDJmLCAweDk1LCAweDEyLCAweDczLCAKLSAgICAweDM1LCAweDIyLCAweDc1LCAweDJmLCAweDk2LCAweDEyLCAweDczLCAweDM1LCAweDIyLCAweDEwLCAweDBhLCAweDAxLCAweDIyLCAweDIwLCAweDJhLCAweDAzLCAKLSAgICAweGQyLCAweDBhLCAweDIyLCAweDc1LCAweDJmLCAweGEyLCAweDEyLCAweDczLCAweDM1LCAweDdlLCAweDE0LCAweDgyLCAweDAwLCAweDgwLCAweDA2LCAweDIwLCAKLSAgICAweDJhLCAweDAzLCAweGQyLCAweDBhLCAweDIyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFlLCAweGRhLCAweGI4LCAKLSAgICAweDY4LCAweDAzLCAweDEyLCAweDRmLCAweDlmLCAweDMwLCAweDMyLCAweDA2LCAweDIwLCAweGU2LCAweDRmLCAweGQyLCAweDBhLCAweDIyLCAweDMwLCAweGU2LCAKLSAgICAweDAyLCAweGQyLCAweDYyLCAweDdlLCAweDM3LCAweDAxLCAweDdkLCAweDdlLCAweDI3LCAweDAxLCAweDlkLCAweDlkLCAweDMyLCAweDQwLCAweDMxLCAweDdkLCAKLSAgICAweDAyLCAweDJlLCAweDA1LCAweDM2LCAweDdhLCAweDA1LCAweDM2LCAweDdhLCAweDM3LCAweDAxLCAweDdkLCAweDdlLCAweDM3LCAweDAxLCAweDVkLCAweDdkLCAKLSAgICAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDEwLCAweDJjLCAweDM4LCAweDY4LCAweDdhLCAweDQ3LCAweDAxLCAweDVkLCAweDc1LCAweDJmLCAweDk0LCAKLSAgICAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDUxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDEyLCAweDY5LCAweGYwLCAweDEwLCAweDYyLCAweGM0LCAweDIyLCAKLSAgICAweGMyLCAweDYyLCAweDJkLCAweDIzLCAweDY4LCAweDc4LCAweDZkLCAweDMzLCAweDgwLCAweDFhLCAweDdlLCAweDI3LCAweDAxLCAweDdkLCAweGJlLCAweDI0LCAKLSAgICAweDAwLCAweDAwLCAweDY4LCAweDZhLCAweGJlLCAweDI3LCAweDAxLCAweDlkLCAweDI4LCAweDA0LCAweDdlLCAweDI3LCAweDAxLCAweDlkLCAweDdlLCAweDM3LCAKLSAgICAweDAxLCAweDdkLCAweDlkLCAweDMyLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDM2LCAweDdhLCAweDA1LCAweDM2LCAweDdhLCAweDM3LCAweDAxLCAweDdkLCAKLSAgICAweDdlLCAweDM3LCAweDAxLCAweDVkLCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDEwLCAweDJjLCAweDM4LCAweDEzLCAweDdhLCAweDQ3LCAKLSAgICAweDAxLCAweDVkLCAweDc1LCAweDJmLCAweDk0LCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDUxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDAyLCAweDY5LCAKLSAgICAweGYwLCAweDc1LCAweDJmLCAweDk0LCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDUxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDllLCAweDQ0LCAweDEwLCAKLSAgICAweDJkLCAweDlkLCAweDI0LCAweDEyLCAweDY5LCAweGYwLCAweDdlLCAweDM0LCAweDBjLCAweDJkLCAweDdkLCAweDI0LCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAKLSAgICAweDAxLCAweDVkLCAweDEyLCAweDY5LCAweGYwLCAweGJlLCAweDI1LCAweDIwLCAweDc4LCAweDAzLCAweDAyLCAweDRkLCAweDFjLCAweDIyLCAweGQyLCAweDBhLCAKLSAgICAweDdlLCAweDA0LCAweDBjLCAweDJkLCAweDdhLCAweDA3LCAweDAxLCAweDVkLCAweDdhLCAweDA3LCAweDAxLCAweDZkLCAweDc1LCAweDJmLCAweDk0LCAweDEyLCAKLSAgICAweDczLCAweDM1LCAweDc1LCAweDJmLCAweDAwLCAweDEyLCAweDczLCAweDM1LCAweDIyLCAweDc1LCAweDJmLCAweDkyLCAweDEyLCAweDczLCAweDM1LCAweGQyLCAKLSAgICAweDA0LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDU0LCAweDgyLCAweGRhLCAweGI4LCAweDc4LCAweDY4LCAweDdlLCAweDM3LCAweDAxLCAKLSAgICAweGNiLCAweDdlLCAweDI3LCAweDAxLCAweGFkLCAweDJlLCAweDI0LCAweDAwLCAweDAyLCAweDJkLCAweDMyLCAweGJlLCAweDM0LCAweDA0LCAweDAwLCAweDM4LCAKLSAgICAweDM0LCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDMwLCAweDdhLCAweDA1LCAweDMwLCAweDdhLCAweDM3LCAweDAxLCAweGNiLCAweDdlLCAweDM3LCAweDAxLCAKLSAgICAweGM5LCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDI4LCAweDJjLCAweDM4LCAweDNjLCAweDdhLCAweDQ3LCAweDAxLCAweGM5LCAweDdlLCAKLSAgICAweDI0LCAweDAyLCAweDAwLCAweDJlLCAweDI3LCAweDAxLCAweGFkLCAweDFiLCAweDM4LCAweDIwLCAweDBiLCAweDM1LCAweDdhLCAweDUxLCAweDJmLCAweDEyLCAKLSAgICAweDczLCAweDM1LCAweDAyLCAweDZhLCAweDYzLCAweDc1LCAweDJmLCAweDk5LCAweDEyLCAweDczLCAweDM1LCAweDA5LCAweGIxLCAweDAwLCAweDA0LCAweDU0LCAKLSAgICAweGZhLCAweDE5LCAweGIxLCAweDAwLCAweDA0LCAweDMwLCAweDNhLCAweDBhLCAweDA5LCAweGIxLCAweDAwLCAweDEwLCAweDU0LCAweGZlLCAweDE5LCAweGIxLCAKLSAgICAweDAwLCAweDEwLCAweGQyLCAweDEyLCAweDIyLCAweDgwLCAweDdmLCAweDdhLCAweDUxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDllLCAweDQ0LCAweDI4LCAKLSAgICAweDJkLCAweDlkLCAweDI0LCAweDdlLCAweDY0LCAweDAyLCAweDAwLCAweDJlLCAweDY3LCAweDAxLCAweGFkLCAweDllLCAweDI0LCAweDAwLCAweDAyLCAweDQwLCAKLSAgICAweDE3LCAweDFiLCAweDM4LCAweDYwLCAweDBiLCAweDM1LCAweDEyLCAweDZhLCAweDYzLCAweDdlLCAweDM0LCAweDI0LCAweDJkLCAweDdkLCAweDI0LCAweDJkLCAKLSAgICAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweGM5LCAweDAyLCAweDZhLCAweDYzLCAweDdhLCAweDM5LCAweGMwLCAweDdlLCAweDM0LCAweDI0LCAweDJkLCAweDdhLCAKLSAgICAweDM5LCAweGQwLCAweDBiLCAweDM0LCAweDFiLCAweDQ0LCAweDgwLCAweGU1LCAweDlkLCAweDMyLCAweDdjLCAweGI2LCAweDU0LCAweDBmLCAweDIzLCAweDIzLCAKLSAgICAweDIzLCAweDQ0LCAweDAyLCAweDdhLCAweDY5LCAweGIwLCAweDdhLCAweDc5LCAweDcwLCAweDBiLCAweDM1LCAweDc1LCAweDJmLCAweDkzLCAweDEyLCAweDczLCAKLSAgICAweDM1LCAweDdhLCAweDcxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweGJkLCAweDA0LCAweDY4LCAweDJiLCAweDdhLCAweDA3LCAweDAxLCAweGM5LCAweDdlLCAKLSAgICAweDQ3LCAweDAxLCAweGNiLCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweGNiLCAweDJlLCAweDM1LCAweDMwLCAweDdhLCAweDM1LCAweDMwLCAweDIyLCAKLSAgICAweGQyLCAweDA0LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDIwLCAweGUwLCAweDEzLCAweDIyLCAweDdlLCAweDA0LCAweDI0LCAweDJkLCAweDgwLCAweDI4LCAKLSAgICAweDdlLCAweDA0LCAweDI0LCAweDJkLCAweDgwLCAweDJhLCAweDdlLCAweDA0LCAweDI0LCAweDJkLCAweDgwLCAweGNmLCAweDdlLCAweDA3LCAweDAxLCAweGNiLCAKLSAgICAweDdlLCAweDI0LCAweDAzLCAweGZlLCAweDlkLCAweDIwLCAweDI4LCAweDQwLCAweDdlLCAweDA3LCAweDAxLCAweGM5LCAweDdlLCAweDQ0LCAweDI4LCAweDJkLCAKLSAgICAweDdkLCAweDYwLCAweDBiLCAweDA0LCAweGJkLCAweDA0LCAweDY4LCAweGQyLCAweDdkLCAweDcwLCAweDBiLCAweDA0LCAweGJkLCAweDA0LCAweDY4LCAweGQwLCAKLSAgICAweDdkLCAweDU0LCAweDlkLCAweDUwLCAweGJkLCAweDI1LCAweDQwLCAweDAyLCAweDdkLCAweDI1LCAweDdkLCAweDMyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAKLSAgICAweGNhLCAweGI4LCAweDU0LCAweDFmLCAweGI0LCAweDAxLCAweDMxLCAweGRhLCAweGI4LCAweDdlLCAweDE5LCAweGIwLCAweDdhLCAweDA5LCAweGIwLCAweDBiLCAKLSAgICAweDA0LCAweDFiLCAweDI0LCAweDc4LCAweGU3LCAweDAyLCAweDRlLCAweDc4LCAweDc1LCAweDJmLCAweDk5LCAweDEyLCAweDczLCAweDM1LCAweDA5LCAweGIxLCAKLSAgICAweDAwLCAweDA0LCAweDU0LCAweGZhLCAweDE5LCAweGIxLCAweDAwLCAweDA0LCAweDMwLCAweDNhLCAweDBhLCAweDA5LCAweGIxLCAweDAwLCAweDEwLCAweDU0LCAKLSAgICAweGZlLCAweDE5LCAweGIxLCAweDAwLCAweDEwLCAweGQyLCAweDEyLCAweDIyLCAweGRhLCAweGI4LCAweDMwLCAweGUwLCAweGQ4LCAweGJkLCAweDMyLCAweDY4LCAKLSAgICAweDA3LCAweGNhLCAweGI4LCAweDEyLCAweDRlLCAweDc4LCAweGRhLCAweGI4LCAweDAyLCAweDRmLCAweDlmLCAweDA5LCAweGIxLCAweDAwLCAweDE4LCAweDdlLCAKLSAgICAweGEwLCAweDg4LCAweDc1LCAweDJmLCAweDkwLCAweDEyLCAweDczLCAweDM1LCAweGY1LCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweGE1LCAweGZkLCAweDVlLCAKLSAgICAweDUwLCAweDBhLCAweDY4LCAweDFkLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDIwLCAweDY4LCAweDA0LCAweGQyLCAweDVhLCAweDgwLCAweDAyLCAweGMyLCAKLSAgICAweDVhLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDgwLCAweDY4LCAweDA0LCAweGQyLCAweDUyLCAweDgwLCAweDAyLCAweGMyLCAweDUyLCAweDEyLCAweDQyLCAKLSAgICAweGViLCAweDAyLCAweDYxLCAweDEzLCAweDc1LCAweDJmLCAweDkxLCAweDEyLCAweDczLCAweDM1LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDdhLCAweGIxLCAKLSAgICAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDIwLCAweGUwLCAweDA4LCAweGQyLCAweDA0LCAweDdlLCAweGEwLCAweDgwLCAweDAyLCAweDYxLCAweDEzLCAweGQyLCAKLSAgICAweDA0LCAweDMwLCAweGUxLCAweDA2LCAweDdlLCAweGEwLCAweDgwLCAweDEyLCAweDYxLCAweDEzLCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFjLCAweGRhLCAKLSAgICAweGI4LCAweDY4LCAweDEyLCAweDdlLCAweGEwLCAweGMwLCAweDA5LCAweDYxLCAweDAwLCAweDAwLCAweDEyLCAweDYxLCAweDM2LCAweDA5LCAweGIxLCAweDAwLCAKLSAgICAweDE0LCAweDIwLCAweGUwLCAweGRiLCAweDIyLCAweDAyLCAweDRlLCAweGNjLCAweDc1LCAweDJmLCAweDk1LCAweDEyLCAweDczLCAweDM1LCAweDIyLCAweDc1LCAKLSAgICAweDJmLCAweDk2LCAweDEyLCAweDczLCAweDM1LCAweDIyLCAweDEwLCAweDBiLCAweDAxLCAweDIyLCAweDIwLCAweDJiLCAweDAzLCAweGQyLCAweDBiLCAweDIyLCAKLSAgICAweDc1LCAweDJmLCAweGEzLCAweDEyLCAweDczLCAweDM1LCAweDdlLCAweDE0LCAweDgzLCAweDAwLCAweDgwLCAweDA2LCAweDIwLCAweDJiLCAweDAzLCAweGQyLCAKLSAgICAweDBiLCAweDIyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFlLCAweGRhLCAweGI4LCAweDY4LCAweDAzLCAweDEyLCAKLSAgICAweDUyLCAweGNjLCAweDMwLCAweDMzLCAweDA2LCAweDIwLCAweGU2LCAweDRmLCAweGQyLCAweDBiLCAweDIyLCAweDMwLCAweGU2LCAweDAyLCAweGQyLCAweDYzLCAKLSAgICAweDdlLCAweDM3LCAweDAxLCAweDdmLCAweDdlLCAweDI3LCAweDAxLCAweDlmLCAweDlkLCAweDMyLCAweDQwLCAweDMxLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAKLSAgICAweDM4LCAweDdhLCAweDA1LCAweDM4LCAweDdhLCAweDM3LCAweDAxLCAweDdmLCAweDdlLCAweDM3LCAweDAxLCAweDVmLCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAKLSAgICAweGJlLCAweDQ0LCAweDE0LCAweDJjLCAweDM4LCAweDY4LCAweDdhLCAweDQ3LCAweDAxLCAweDVmLCAweDc1LCAweDJmLCAweDk0LCAweDEyLCAweDczLCAweDM1LCAKLSAgICAweDdhLCAweDUxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDEyLCAweDY5LCAweGYwLCAweDEwLCAweDYzLCAweGM0LCAweDIyLCAweGMyLCAweDYzLCAweDJkLCAKLSAgICAweDIzLCAweDY4LCAweDc4LCAweDZkLCAweDMzLCAweDgwLCAweDFhLCAweDdlLCAweDI3LCAweDAxLCAweDdmLCAweGJlLCAweDI0LCAweDAwLCAweDAwLCAweDY4LCAKLSAgICAweDZhLCAweGJlLCAweDI3LCAweDAxLCAweDlmLCAweDI4LCAweDA0LCAweDdlLCAweDI3LCAweDAxLCAweDlmLCAweDdlLCAweDM3LCAweDAxLCAweDdmLCAweDlkLCAKLSAgICAweDMyLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDM4LCAweDdhLCAweDA1LCAweDM4LCAweDdhLCAweDM3LCAweDAxLCAweDdmLCAweDdlLCAweDM3LCAweDAxLCAKLSAgICAweDVmLCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDE0LCAweDJjLCAweDM4LCAweDEzLCAweDdhLCAweDQ3LCAweDAxLCAweDVmLCAweDc1LCAKLSAgICAweDJmLCAweDk0LCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDUxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDAyLCAweDY5LCAweGYwLCAweDc1LCAweDJmLCAKLSAgICAweDk0LCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDUxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDllLCAweDQ0LCAweDE0LCAweDJkLCAweDlkLCAweDI0LCAKLSAgICAweDEyLCAweDY5LCAweGYwLCAweDdlLCAweDM0LCAweDEwLCAweDJkLCAweDdkLCAweDI0LCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweDVmLCAweDEyLCAKLSAgICAweDY5LCAweGYwLCAweGJlLCAweDI1LCAweDIwLCAweDc4LCAweDAzLCAweDAyLCAweDUwLCAweDQ5LCAweDIyLCAweGQyLCAweDBiLCAweDdlLCAweDA0LCAweDEwLCAKLSAgICAweDJkLCAweDdhLCAweDA3LCAweDAxLCAweDVmLCAweDdhLCAweDA3LCAweDAxLCAweDZmLCAweDc1LCAweDJmLCAweDk0LCAweDEyLCAweDczLCAweDM1LCAweDc1LCAKLSAgICAweDJmLCAweDAwLCAweDEyLCAweDczLCAweDM1LCAweDIyLCAweDc1LCAweDJmLCAweDkyLCAweDEyLCAweDczLCAweDM1LCAweGQyLCAweDA0LCAweDA5LCAweGIxLCAKLSAgICAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDU0LCAweDgyLCAweGRhLCAweGI4LCAweDc4LCAweDY4LCAweDdlLCAweDM3LCAweDAxLCAweGNiLCAweDdlLCAweDI3LCAKLSAgICAweDAxLCAweGFmLCAweDJlLCAweDI0LCAweDAwLCAweDAyLCAweDJkLCAweDMyLCAweGJlLCAweDM0LCAweDA0LCAweDAwLCAweDM4LCAweDM0LCAweDdkLCAweDAyLCAKLSAgICAweDJlLCAweDA1LCAweDMwLCAweDdhLCAweDA1LCAweDMwLCAweDdhLCAweDM3LCAweDAxLCAweGNiLCAweDdlLCAweDM3LCAweDAxLCAweGM5LCAweDdkLCAweDQzLCAKLSAgICAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDI4LCAweDJjLCAweDM4LCAweDNjLCAweDdhLCAweDQ3LCAweDAxLCAweGM5LCAweDdlLCAweDI0LCAweDAzLCAweDAwLCAKLSAgICAweDJlLCAweDI3LCAweDAxLCAweGFmLCAweDFiLCAweDM4LCAweDIwLCAweDBiLCAweDM1LCAweDdhLCAweDUxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDAyLCAKLSAgICAweDZhLCAweDYzLCAweDc1LCAweDJmLCAweDk5LCAweDEyLCAweDczLCAweDM1LCAweDA5LCAweGIxLCAweDAwLCAweDA0LCAweDU0LCAweGZhLCAweDE5LCAweGIxLCAKLSAgICAweDAwLCAweDA0LCAweDMwLCAweDNiLCAweDBhLCAweDA5LCAweGIxLCAweDAwLCAweDEwLCAweDU0LCAweGZlLCAweDE5LCAweGIxLCAweDAwLCAweDEwLCAweGQyLCAKLSAgICAweDEzLCAweDIyLCAweDgwLCAweDdmLCAweDdhLCAweDUxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDllLCAweDQ0LCAweDI4LCAweDJkLCAweDlkLCAweDI0LCAKLSAgICAweDdlLCAweDY0LCAweDAzLCAweDAwLCAweDJlLCAweDY3LCAweDAxLCAweGFmLCAweDllLCAweDI0LCAweDAwLCAweDAyLCAweDQwLCAweDE3LCAweDFiLCAweDM4LCAKLSAgICAweDYwLCAweDBiLCAweDM1LCAweDEyLCAweDZhLCAweDYzLCAweDdlLCAweDM0LCAweDI0LCAweDJkLCAweDdkLCAweDI0LCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAKLSAgICAweDAxLCAweGM5LCAweDAyLCAweDZhLCAweDYzLCAweDdhLCAweDM5LCAweGMwLCAweDdlLCAweDM0LCAweDI0LCAweDJkLCAweDdhLCAweDM5LCAweGQwLCAweDBiLCAKLSAgICAweDM0LCAweDFiLCAweDQ0LCAweDgwLCAweGU1LCAweDlkLCAweDMyLCAweDdjLCAweGI2LCAweDU0LCAweDBmLCAweDIzLCAweDIzLCAweDIzLCAweDQ0LCAweDAzLCAKLSAgICAweDdhLCAweDY5LCAweGIwLCAweDdhLCAweDc5LCAweDcwLCAweDBiLCAweDM1LCAweDc1LCAweDJmLCAweDkzLCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDcxLCAKLSAgICAweDJmLCAweDEyLCAweDczLCAweDM1LCAweGJkLCAweDA0LCAweDY4LCAweDJiLCAweDdhLCAweDA3LCAweDAxLCAweGM5LCAweDdlLCAweDQ3LCAweDAxLCAweGNiLCAKLSAgICAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweGNiLCAweDJlLCAweDM1LCAweDMwLCAweDdhLCAweDM1LCAweDMwLCAweDIyLCAweGQyLCAweDA0LCAweDA5LCAKLSAgICAweGIxLCAweDAwLCAweDE0LCAweDIwLCAweGUwLCAweDEzLCAweDIyLCAweDdlLCAweDA0LCAweDI0LCAweDJkLCAweDgwLCAweDI4LCAweDdlLCAweDA0LCAweDI0LCAKLSAgICAweDJkLCAweDgwLCAweDJhLCAweDdlLCAweDA0LCAweDI0LCAweDJkLCAweDgwLCAweGNmLCAweDdlLCAweDA3LCAweDAxLCAweGNiLCAweDdlLCAweDI0LCAweDAzLCAKLSAgICAweGZlLCAweDlkLCAweDIwLCAweDI4LCAweDQwLCAweDdlLCAweDA3LCAweDAxLCAweGM5LCAweDdlLCAweDQ0LCAweDI4LCAweDJkLCAweDdkLCAweDYwLCAweDBiLCAKLSAgICAweDA0LCAweGJkLCAweDA0LCAweDY4LCAweGQyLCAweDdkLCAweDcwLCAweDBiLCAweDA0LCAweGJkLCAweDA0LCAweDY4LCAweGQwLCAweDdkLCAweDU0LCAweDlkLCAKLSAgICAweDUwLCAweGJkLCAweDI1LCAweDQwLCAweDAyLCAweDdkLCAweDI1LCAweDdkLCAweDMyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDU0LCAKLSAgICAweDFmLCAweGI0LCAweDAxLCAweDMxLCAweGRhLCAweGI4LCAweDdlLCAweDE5LCAweGIwLCAweDdhLCAweDA5LCAweGIwLCAweDBiLCAweDA0LCAweDFiLCAweDI0LCAKLSAgICAweDc4LCAweGU3LCAweDAyLCAweDUxLCAweGE1LCAweDc1LCAweDJmLCAweDk5LCAweDEyLCAweDczLCAweDM1LCAweDA5LCAweGIxLCAweDAwLCAweDA0LCAweDU0LCAKLSAgICAweGZhLCAweDE5LCAweGIxLCAweDAwLCAweDA0LCAweDMwLCAweDNiLCAweDBhLCAweDA5LCAweGIxLCAweDAwLCAweDEwLCAweDU0LCAweGZlLCAweDE5LCAweGIxLCAKLSAgICAweDAwLCAweDEwLCAweGQyLCAweDEzLCAweDIyLCAweGRhLCAweGI4LCAweDMwLCAweGUwLCAweGQ4LCAweGJkLCAweDMyLCAweDY4LCAweDA3LCAweGNhLCAweGI4LCAKLSAgICAweDEyLCAweDUxLCAweGE1LCAweGRhLCAweGI4LCAweDAyLCAweDUyLCAweGNjLCAweDA5LCAweGIxLCAweDAwLCAweDE4LCAweDdlLCAweGEwLCAweDg4LCAweDc1LCAKLSAgICAweDJmLCAweDkwLCAweDEyLCAweDczLCAweDM1LCAweGY1LCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDBhLCAweDY4LCAKLSAgICAweDFkLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDIwLCAweDY4LCAweDA0LCAweGQyLCAweDViLCAweDgwLCAweDAyLCAweGMyLCAweDViLCAweGE1LCAweGZkLCAKLSAgICAweDVlLCAweDUwLCAweDgwLCAweDY4LCAweDA0LCAweGQyLCAweDUzLCAweDgwLCAweDAyLCAweGMyLCAweDUzLCAweDEyLCAweDQzLCAweDAyLCAweDAyLCAweDYxLCAKLSAgICAweDEzLCAweDc1LCAweDJmLCAweDkxLCAweDEyLCAweDczLCAweDM1LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDdhLCAweGIxLCAweDJmLCAweDEyLCAweDczLCAKLSAgICAweDM1LCAweDIwLCAweGUwLCAweDA4LCAweGQyLCAweDA0LCAweDdlLCAweGEwLCAweDgwLCAweDAyLCAweDYxLCAweDEzLCAweGQyLCAweDA0LCAweDMwLCAweGUxLCAKLSAgICAweDA2LCAweDdlLCAweGEwLCAweDgwLCAweDEyLCAweDYxLCAweDEzLCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFjLCAweGRhLCAweGI4LCAweDY4LCAweDEyLCAKLSAgICAweDdlLCAweGEwLCAweGMwLCAweDA5LCAweDYxLCAweDAwLCAweDAwLCAweDEyLCAweDYxLCAweDM2LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDIwLCAweGUwLCAKLSAgICAweGRiLCAweDIyLCAweDAyLCAweDUxLCAweGY5LCAweDc1LCAweDJmLCAweDk1LCAweDEyLCAweDczLCAweDM1LCAweDIyLCAweDc1LCAweDJmLCAweDk2LCAweDEyLCAKLSAgICAweDczLCAweDM1LCAweDIyLCAweDEwLCAweDBjLCAweDAxLCAweDIyLCAweDIwLCAweDJjLCAweDAzLCAweGQyLCAweDBjLCAweDIyLCAweDc1LCAweDJmLCAweGE0LCAKLSAgICAweDEyLCAweDczLCAweDM1LCAweDdlLCAweDE0LCAweDg0LCAweDAwLCAweDgwLCAweDA2LCAweDIwLCAweDJjLCAweDAzLCAweGQyLCAweDBjLCAweDIyLCAweDA5LCAKLSAgICAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFlLCAweGRhLCAweGI4LCAweDY4LCAweDAzLCAweDEyLCAweDU1LCAweGY5LCAweDMwLCAKLSAgICAweDM0LCAweDA2LCAweDIwLCAweGU2LCAweDRmLCAweGQyLCAweDBjLCAweDIyLCAweDMwLCAweGU2LCAweDAyLCAweGQyLCAweDY0LCAweDdlLCAweDM3LCAweDAxLCAKLSAgICAweDgxLCAweDdlLCAweDI3LCAweDAxLCAweGExLCAweDlkLCAweDMyLCAweDQwLCAweDMxLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDNhLCAweDdhLCAweDA1LCAKLSAgICAweDNhLCAweDdhLCAweDM3LCAweDAxLCAweDgxLCAweDdlLCAweDM3LCAweDAxLCAweDYxLCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDE4LCAKLSAgICAweDJjLCAweDM4LCAweDY4LCAweDdhLCAweDQ3LCAweDAxLCAweDYxLCAweDc1LCAweDJmLCAweDk0LCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDUxLCAweDJmLCAKLSAgICAweDEyLCAweDczLCAweDM1LCAweDEyLCAweDY5LCAweGYwLCAweDEwLCAweDY0LCAweGM0LCAweDIyLCAweGMyLCAweDY0LCAweDJkLCAweDIzLCAweDY4LCAweDc4LCAKLSAgICAweDZkLCAweDMzLCAweDgwLCAweDFhLCAweDdlLCAweDI3LCAweDAxLCAweDgxLCAweGJlLCAweDI0LCAweDAwLCAweDAwLCAweDY4LCAweDZhLCAweGJlLCAweDI3LCAKLSAgICAweDAxLCAweGExLCAweDI4LCAweDA0LCAweDdlLCAweDI3LCAweDAxLCAweGExLCAweDdlLCAweDM3LCAweDAxLCAweDgxLCAweDlkLCAweDMyLCAweDdkLCAweDAyLCAKLSAgICAweDJlLCAweDA1LCAweDNhLCAweDdhLCAweDA1LCAweDNhLCAweDdhLCAweDM3LCAweDAxLCAweDgxLCAweDdlLCAweDM3LCAweDAxLCAweDYxLCAweDdkLCAweDQzLCAKLSAgICAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDE4LCAweDJjLCAweDM4LCAweDEzLCAweDdhLCAweDQ3LCAweDAxLCAweDYxLCAweDc1LCAweDJmLCAweDk0LCAweDEyLCAKLSAgICAweDczLCAweDM1LCAweDdhLCAweDUxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDAyLCAweDY5LCAweGYwLCAweDc1LCAweDJmLCAweDk0LCAweDEyLCAweDczLCAKLSAgICAweDM1LCAweDdhLCAweDUxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDllLCAweDQ0LCAweDE4LCAweDJkLCAweDlkLCAweDI0LCAweDEyLCAweDY5LCAweGYwLCAKLSAgICAweDdlLCAweDM0LCAweDE0LCAweDJkLCAweDdkLCAweDI0LCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweDYxLCAweDEyLCAweDY5LCAweGYwLCAweGJlLCAKLSAgICAweDI1LCAweDIwLCAweDc4LCAweDAzLCAweDAyLCAweDUzLCAweDc2LCAweDIyLCAweGQyLCAweDBjLCAweDdlLCAweDA0LCAweDE0LCAweDJkLCAweDdhLCAweDA3LCAKLSAgICAweDAxLCAweDYxLCAweDdhLCAweDA3LCAweDAxLCAweDcxLCAweDc1LCAweDJmLCAweDk0LCAweDEyLCAweDczLCAweDM1LCAweDc1LCAweDJmLCAweDAwLCAweDEyLCAKLSAgICAweDczLCAweDM1LCAweDIyLCAweDc1LCAweDJmLCAweDkyLCAweDEyLCAweDczLCAweDM1LCAweGQyLCAweDA0LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAKLSAgICAweGI4LCAweDU0LCAweDgyLCAweGRhLCAweGI4LCAweDc4LCAweDY4LCAweDdlLCAweDM3LCAweDAxLCAweGNiLCAweDdlLCAweDI3LCAweDAxLCAweGIxLCAweDJlLCAKLSAgICAweDI0LCAweDAwLCAweDAyLCAweDJkLCAweDMyLCAweGJlLCAweDM0LCAweDA0LCAweDAwLCAweDM4LCAweDM0LCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDMwLCAKLSAgICAweDdhLCAweDA1LCAweDMwLCAweDdhLCAweDM3LCAweDAxLCAweGNiLCAweDdlLCAweDM3LCAweDAxLCAweGM5LCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAKLSAgICAweDQ0LCAweDI4LCAweDJjLCAweDM4LCAweDNjLCAweDdhLCAweDQ3LCAweDAxLCAweGM5LCAweDdlLCAweDI0LCAweDA0LCAweDAwLCAweDJlLCAweDI3LCAweDAxLCAKLSAgICAweGIxLCAweDFiLCAweDM4LCAweDIwLCAweDBiLCAweDM1LCAweDdhLCAweDUxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDAyLCAweDZhLCAweDYzLCAweDc1LCAKLSAgICAweDJmLCAweDk5LCAweDEyLCAweDczLCAweDM1LCAweDA5LCAweGIxLCAweDAwLCAweDA0LCAweDU0LCAweGZhLCAweDE5LCAweGIxLCAweDAwLCAweDA0LCAweDMwLCAKLSAgICAweDNjLCAweDBhLCAweDA5LCAweGIxLCAweDAwLCAweDEwLCAweDU0LCAweGZlLCAweDE5LCAweGIxLCAweDAwLCAweDEwLCAweGQyLCAweDE0LCAweDIyLCAweDgwLCAKLSAgICAweDdmLCAweDdhLCAweDUxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDllLCAweDQ0LCAweDI4LCAweDJkLCAweDlkLCAweDI0LCAweDdlLCAweDY0LCAweDA0LCAKLSAgICAweDAwLCAweDJlLCAweDY3LCAweDAxLCAweGIxLCAweDllLCAweDI0LCAweDAwLCAweDAyLCAweDQwLCAweDE3LCAweDFiLCAweDM4LCAweDYwLCAweDBiLCAweDM1LCAKLSAgICAweDEyLCAweDZhLCAweDYzLCAweDdlLCAweDM0LCAweDI0LCAweDJkLCAweDdkLCAweDI0LCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweGM5LCAweDAyLCAKLSAgICAweDZhLCAweDYzLCAweDdhLCAweDM5LCAweGMwLCAweDdlLCAweDM0LCAweDI0LCAweDJkLCAweDdhLCAweDM5LCAweGQwLCAweDBiLCAweDM0LCAweDFiLCAweDQ0LCAKLSAgICAweDgwLCAweGU1LCAweDlkLCAweDMyLCAweDdjLCAweGI2LCAweDU0LCAweDBmLCAweDIzLCAweDIzLCAweDIzLCAweDQ0LCAweDA0LCAweDdhLCAweDY5LCAweGIwLCAKLSAgICAweDdhLCAweDc5LCAweDcwLCAweDBiLCAweDM1LCAweDc1LCAweDJmLCAweDkzLCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDcxLCAweDJmLCAweDEyLCAweDczLCAKLSAgICAweDM1LCAweGJkLCAweDA0LCAweDY4LCAweDJiLCAweDdhLCAweDA3LCAweDAxLCAweGM5LCAweDdlLCAweDQ3LCAweDAxLCAweGNiLCAweDJkLCAweDQzLCAweDdhLCAKLSAgICAweDQ3LCAweDAxLCAweGNiLCAweDJlLCAweDM1LCAweDMwLCAweDdhLCAweDM1LCAweDMwLCAweDIyLCAweGQyLCAweDA0LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAKLSAgICAweDIwLCAweGUwLCAweDEzLCAweDIyLCAweDdlLCAweDA0LCAweDI0LCAweDJkLCAweDgwLCAweDI4LCAweDdlLCAweDA0LCAweDI0LCAweDJkLCAweDgwLCAweDJhLCAKLSAgICAweDdlLCAweDA0LCAweDI0LCAweDJkLCAweDgwLCAweGNmLCAweDdlLCAweDA3LCAweDAxLCAweGNiLCAweDdlLCAweDI0LCAweDAzLCAweGZlLCAweDlkLCAweDIwLCAKLSAgICAweDI4LCAweDQwLCAweDdlLCAweDA3LCAweDAxLCAweGM5LCAweDdlLCAweDQ0LCAweDI4LCAweDJkLCAweDdkLCAweDYwLCAweDBiLCAweDA0LCAweGJkLCAweDA0LCAKLSAgICAweDY4LCAweGQyLCAweDdkLCAweDcwLCAweDBiLCAweDA0LCAweGJkLCAweDA0LCAweDY4LCAweGQwLCAweDdkLCAweDU0LCAweDlkLCAweDUwLCAweGJkLCAweDI1LCAKLSAgICAweDQwLCAweDAyLCAweDdkLCAweDI1LCAweDdkLCAweDMyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDU0LCAweDFmLCAweGI0LCAweDAxLCAKLSAgICAweDMxLCAweGRhLCAweGI4LCAweDdlLCAweDE5LCAweGIwLCAweDdhLCAweDA5LCAweGIwLCAweDBiLCAweDA0LCAweDFiLCAweDI0LCAweDc4LCAweGU3LCAweDAyLCAKLSAgICAweDU0LCAweGQyLCAweDc1LCAweDJmLCAweDk5LCAweDEyLCAweDczLCAweDM1LCAweDA5LCAweGIxLCAweDAwLCAweDA0LCAweDU0LCAweGZhLCAweDE5LCAweGIxLCAKLSAgICAweDAwLCAweDA0LCAweDMwLCAweDNjLCAweDBhLCAweDA5LCAweGIxLCAweDAwLCAweDEwLCAweDU0LCAweGZlLCAweDE5LCAweGIxLCAweDAwLCAweDEwLCAweGQyLCAKLSAgICAweDE0LCAweDIyLCAweGRhLCAweGI4LCAweDMwLCAweGUwLCAweGQ4LCAweGJkLCAweDMyLCAweDY4LCAweDA3LCAweGNhLCAweGI4LCAweDEyLCAweDU0LCAweGQyLCAKLSAgICAweGRhLCAweGI4LCAweDAyLCAweDU1LCAweGY5LCAweDA5LCAweGIxLCAweDAwLCAweDE4LCAweDdlLCAweGEwLCAweDg4LCAweDc1LCAweDJmLCAweDkwLCAweDEyLCAKLSAgICAweDczLCAweDM1LCAweGY1LCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDBhLCAweDY4LCAweDFkLCAweGE1LCAweGZkLCAKLSAgICAweDVlLCAweDUwLCAweDIwLCAweDY4LCAweDA0LCAweGQyLCAweDVjLCAweDgwLCAweDAyLCAweGMyLCAweDVjLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDgwLCAKLSAgICAweDY4LCAweDA0LCAweGQyLCAweDU0LCAweDgwLCAweDAyLCAweGMyLCAweDU0LCAweDEyLCAweDQzLCAweDE5LCAweDAyLCAweDYxLCAweDEzLCAweDc1LCAweDJmLCAKLSAgICAweDkxLCAweDEyLCAweDczLCAweDM1LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDdhLCAweGIxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDIwLCAweGUwLCAKLSAgICAweDA4LCAweGQyLCAweDA0LCAweDdlLCAweGEwLCAweDgwLCAweDAyLCAweDYxLCAweDEzLCAweGQyLCAweDA0LCAweDMwLCAweGUxLCAweDA2LCAweDdlLCAweGEwLCAKLSAgICAweDgwLCAweDEyLCAweDYxLCAweDEzLCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFjLCAweGRhLCAweGI4LCAweDY4LCAweDEyLCAweDdlLCAweGEwLCAweGMwLCAKLSAgICAweDA5LCAweDYxLCAweDAwLCAweDAwLCAweDEyLCAweDYxLCAweDM2LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDIwLCAweGUwLCAweGRiLCAweDIyLCAweDAyLCAKLSAgICAweDU1LCAweDI2LCAweDc1LCAweDJmLCAweDk1LCAweDEyLCAweDczLCAweDM1LCAweDIyLCAweDc1LCAweDJmLCAweDk2LCAweDEyLCAweDczLCAweDM1LCAweDIyLCAKLSAgICAweDEwLCAweDBkLCAweDAxLCAweDIyLCAweDIwLCAweDJkLCAweDAzLCAweGQyLCAweDBkLCAweDIyLCAweDc1LCAweDJmLCAweGE1LCAweDEyLCAweDczLCAweDM1LCAKLSAgICAweDdlLCAweDE0LCAweDg1LCAweDAwLCAweDgwLCAweDA2LCAweDIwLCAweDJkLCAweDAzLCAweGQyLCAweDBkLCAweDIyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAKLSAgICAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFlLCAweGRhLCAweGI4LCAweDY4LCAweDAzLCAweDEyLCAweDU5LCAweDI2LCAweDMwLCAweDM1LCAweDA2LCAweDIwLCAKLSAgICAweGU2LCAweDRmLCAweGQyLCAweDBkLCAweDIyLCAweDMwLCAweGU2LCAweDAyLCAweGQyLCAweDY1LCAweDdlLCAweDM3LCAweDAxLCAweDgzLCAweDdlLCAweDI3LCAKLSAgICAweDAxLCAweGEzLCAweDlkLCAweDMyLCAweDQwLCAweDMxLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDNjLCAweDdhLCAweDA1LCAweDNjLCAweDdhLCAweDM3LCAKLSAgICAweDAxLCAweDgzLCAweDdlLCAweDM3LCAweDAxLCAweDYzLCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDFjLCAweDJjLCAweDM4LCAweDY4LCAKLSAgICAweDdhLCAweDQ3LCAweDAxLCAweDYzLCAweDc1LCAweDJmLCAweDk0LCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDUxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAKLSAgICAweDEyLCAweDY5LCAweGYwLCAweDEwLCAweDY1LCAweGM0LCAweDIyLCAweGMyLCAweDY1LCAweDJkLCAweDIzLCAweDY4LCAweDc4LCAweDZkLCAweDMzLCAweDgwLCAKLSAgICAweDFhLCAweDdlLCAweDI3LCAweDAxLCAweDgzLCAweGJlLCAweDI0LCAweDAwLCAweDAwLCAweDY4LCAweDZhLCAweGJlLCAweDI3LCAweDAxLCAweGEzLCAweDI4LCAKLSAgICAweDA0LCAweDdlLCAweDI3LCAweDAxLCAweGEzLCAweDdlLCAweDM3LCAweDAxLCAweDgzLCAweDlkLCAweDMyLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDNjLCAKLSAgICAweDdhLCAweDA1LCAweDNjLCAweDdhLCAweDM3LCAweDAxLCAweDgzLCAweDdlLCAweDM3LCAweDAxLCAweDYzLCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAKLSAgICAweDQ0LCAweDFjLCAweDJjLCAweDM4LCAweDEzLCAweDdhLCAweDQ3LCAweDAxLCAweDYzLCAweDc1LCAweDJmLCAweDk0LCAweDEyLCAweDczLCAweDM1LCAweDdhLCAKLSAgICAweDUxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDAyLCAweDY5LCAweGYwLCAweDc1LCAweDJmLCAweDk0LCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDUxLCAKLSAgICAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDllLCAweDQ0LCAweDFjLCAweDJkLCAweDlkLCAweDI0LCAweDEyLCAweDY5LCAweGYwLCAweDdlLCAweDM0LCAweDE4LCAKLSAgICAweDJkLCAweDdkLCAweDI0LCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweDYzLCAweDEyLCAweDY5LCAweGYwLCAweGJlLCAweDI1LCAweDIwLCAweDc4LCAKLSAgICAweDAzLCAweDAyLCAweDU2LCAweGEzLCAweDIyLCAweGQyLCAweDBkLCAweDdlLCAweDA0LCAweDE4LCAweDJkLCAweDdhLCAweDA3LCAweDAxLCAweDYzLCAweDdhLCAKLSAgICAweDA3LCAweDAxLCAweDczLCAweDc1LCAweDJmLCAweDk0LCAweDEyLCAweDczLCAweDM1LCAweDc1LCAweDJmLCAweDAwLCAweDEyLCAweDczLCAweDM1LCAweDIyLCAKLSAgICAweDc1LCAweDJmLCAweDkyLCAweDEyLCAweDczLCAweDM1LCAweGQyLCAweDA0LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDU0LCAweDgyLCAKLSAgICAweGRhLCAweGI4LCAweDc4LCAweDY4LCAweDdlLCAweDM3LCAweDAxLCAweGNiLCAweDdlLCAweDI3LCAweDAxLCAweGIzLCAweDJlLCAweDI0LCAweDAwLCAweDAyLCAKLSAgICAweDJkLCAweDMyLCAweGJlLCAweDM0LCAweDA0LCAweDAwLCAweDM4LCAweDM0LCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDMwLCAweDdhLCAweDA1LCAweDMwLCAKLSAgICAweDdhLCAweDM3LCAweDAxLCAweGNiLCAweDdlLCAweDM3LCAweDAxLCAweGM5LCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDI4LCAweDJjLCAKLSAgICAweDM4LCAweDNjLCAweDdhLCAweDQ3LCAweDAxLCAweGM5LCAweDdlLCAweDI0LCAweDA1LCAweDAwLCAweDJlLCAweDI3LCAweDAxLCAweGIzLCAweDFiLCAweDM4LCAKLSAgICAweDIwLCAweDBiLCAweDM1LCAweDdhLCAweDUxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDAyLCAweDZhLCAweDYzLCAweDc1LCAweDJmLCAweDk5LCAweDEyLCAKLSAgICAweDczLCAweDM1LCAweDA5LCAweGIxLCAweDAwLCAweDA0LCAweDU0LCAweGZhLCAweDE5LCAweGIxLCAweDAwLCAweDA0LCAweDMwLCAweDNkLCAweDBhLCAweDA5LCAKLSAgICAweGIxLCAweDAwLCAweDEwLCAweDU0LCAweGZlLCAweDE5LCAweGIxLCAweDAwLCAweDEwLCAweGQyLCAweDE1LCAweDIyLCAweDgwLCAweDdmLCAweDdhLCAweDUxLCAKLSAgICAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDllLCAweDQ0LCAweDI4LCAweDJkLCAweDlkLCAweDI0LCAweDdlLCAweDY0LCAweDA1LCAweDAwLCAweDJlLCAweDY3LCAKLSAgICAweDAxLCAweGIzLCAweDllLCAweDI0LCAweDAwLCAweDAyLCAweDQwLCAweDE3LCAweDFiLCAweDM4LCAweDYwLCAweDBiLCAweDM1LCAweDEyLCAweDZhLCAweDYzLCAKLSAgICAweDdlLCAweDM0LCAweDI0LCAweDJkLCAweDdkLCAweDI0LCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweGM5LCAweDAyLCAweDZhLCAweDYzLCAweDdhLCAKLSAgICAweDM5LCAweGMwLCAweDdlLCAweDM0LCAweDI0LCAweDJkLCAweDdhLCAweDM5LCAweGQwLCAweDBiLCAweDM0LCAweDFiLCAweDQ0LCAweDgwLCAweGU1LCAweDlkLCAKLSAgICAweDMyLCAweDdjLCAweGI2LCAweDU0LCAweDBmLCAweDIzLCAweDIzLCAweDIzLCAweDQ0LCAweDA1LCAweDdhLCAweDY5LCAweGIwLCAweDdhLCAweDc5LCAweDcwLCAKLSAgICAweDBiLCAweDM1LCAweDc1LCAweDJmLCAweDkzLCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDcxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweGJkLCAweDA0LCAKLSAgICAweDY4LCAweDJiLCAweDdhLCAweDA3LCAweDAxLCAweGM5LCAweDdlLCAweDQ3LCAweDAxLCAweGNiLCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweGNiLCAKLSAgICAweDJlLCAweDM1LCAweDMwLCAweDdhLCAweDM1LCAweDMwLCAweDIyLCAweGQyLCAweDA0LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDIwLCAweGUwLCAweDEzLCAKLSAgICAweDIyLCAweDdlLCAweDA0LCAweDI0LCAweDJkLCAweDgwLCAweDI4LCAweDdlLCAweDA0LCAweDI0LCAweDJkLCAweDgwLCAweDJhLCAweDdlLCAweDA0LCAweDI0LCAKLSAgICAweDJkLCAweDgwLCAweGNmLCAweDdlLCAweDA3LCAweDAxLCAweGNiLCAweDdlLCAweDI0LCAweDAzLCAweGZlLCAweDlkLCAweDIwLCAweDI4LCAweDQwLCAweDdlLCAKLSAgICAweDA3LCAweDAxLCAweGM5LCAweDdlLCAweDQ0LCAweDI4LCAweDJkLCAweDdkLCAweDYwLCAweDBiLCAweDA0LCAweGJkLCAweDA0LCAweDY4LCAweGQyLCAweDdkLCAKLSAgICAweDcwLCAweDBiLCAweDA0LCAweGJkLCAweDA0LCAweDY4LCAweGQwLCAweDdkLCAweDU0LCAweDlkLCAweDUwLCAweGJkLCAweDI1LCAweDQwLCAweDAyLCAweDdkLCAKLSAgICAweDI1LCAweDdkLCAweDMyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDU0LCAweDFmLCAweGI0LCAweDAxLCAweDMxLCAweGRhLCAweGI4LCAKLSAgICAweDdlLCAweDE5LCAweGIwLCAweDdhLCAweDA5LCAweGIwLCAweDBiLCAweDA0LCAweDFiLCAweDI0LCAweDc4LCAweGU3LCAweDAyLCAweDU3LCAweGZmLCAweDc1LCAKLSAgICAweDJmLCAweDk5LCAweDEyLCAweDczLCAweDM1LCAweDA5LCAweGIxLCAweDAwLCAweDA0LCAweDU0LCAweGZhLCAweDE5LCAweGIxLCAweDAwLCAweDA0LCAweDMwLCAKLSAgICAweDNkLCAweDBhLCAweDA5LCAweGIxLCAweDAwLCAweDEwLCAweDU0LCAweGZlLCAweDE5LCAweGIxLCAweDAwLCAweDEwLCAweGQyLCAweDE1LCAweDIyLCAweGRhLCAKLSAgICAweGI4LCAweDMwLCAweGUwLCAweGQ4LCAweGJkLCAweDMyLCAweDY4LCAweDA3LCAweGNhLCAweGI4LCAweDEyLCAweDU3LCAweGZmLCAweGRhLCAweGI4LCAweDAyLCAKLSAgICAweDU5LCAweDI2LCAweDA5LCAweGIxLCAweDAwLCAweDE4LCAweDdlLCAweGEwLCAweDg4LCAweDc1LCAweDJmLCAweDkwLCAweDEyLCAweDczLCAweDM1LCAweGY1LCAKLSAgICAweDJmLCAweDEyLCAweDczLCAweDM1LCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDBhLCAweDY4LCAweDFkLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDIwLCAKLSAgICAweDY4LCAweDA0LCAweGQyLCAweDVkLCAweDgwLCAweDAyLCAweGMyLCAweDVkLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDgwLCAweDY4LCAweDA0LCAweGQyLCAKLSAgICAweDU1LCAweDgwLCAweDAyLCAweGMyLCAweDU1LCAweDEyLCAweDQzLCAweDMwLCAweDAyLCAweDYxLCAweDEzLCAweDc1LCAweDJmLCAweDkxLCAweDEyLCAweDczLCAKLSAgICAweDM1LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDdhLCAweGIxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDIwLCAweGUwLCAweDA4LCAweGQyLCAweDA0LCAKLSAgICAweDdlLCAweGEwLCAweDgwLCAweDAyLCAweDYxLCAweDEzLCAweGQyLCAweDA0LCAweDMwLCAweGUxLCAweDA2LCAweDdlLCAweGEwLCAweDgwLCAweDEyLCAweDYxLCAKLSAgICAweDEzLCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFjLCAweGRhLCAweGI4LCAweDY4LCAweDEyLCAweDdlLCAweGEwLCAweGMwLCAweDA5LCAweDYxLCAweDAwLCAKLSAgICAweDAwLCAweDEyLCAweDYxLCAweDM2LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDIwLCAweGUwLCAweGRiLCAweDIyLCAweDAyLCAweDU4LCAweDUzLCAweDc1LCAKLSAgICAweDJmLCAweDk1LCAweDEyLCAweDczLCAweDM1LCAweDIyLCAweDc1LCAweDJmLCAweDk2LCAweDEyLCAweDczLCAweDM1LCAweDIyLCAweDEwLCAweDBlLCAweDAxLCAKLSAgICAweDIyLCAweDIwLCAweDJlLCAweDAzLCAweGQyLCAweDBlLCAweDIyLCAweDc1LCAweDJmLCAweGE2LCAweDEyLCAweDczLCAweDM1LCAweDdlLCAweDE0LCAweDg2LCAKLSAgICAweDAwLCAweDgwLCAweDA2LCAweDIwLCAweDJlLCAweDAzLCAweGQyLCAweDBlLCAweDIyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDVlLCAKLSAgICAweGIwLCAweDFlLCAweGRhLCAweGI4LCAweDY4LCAweDAzLCAweDEyLCAweDVjLCAweDUzLCAweDMwLCAweDM2LCAweDA2LCAweDIwLCAweGU2LCAweDRmLCAweGQyLCAKLSAgICAweDBlLCAweDIyLCAweDMwLCAweGU2LCAweDAyLCAweGQyLCAweDY2LCAweDdlLCAweDM3LCAweDAxLCAweDg1LCAweDdlLCAweDI3LCAweDAxLCAweGE1LCAweDlkLCAKLSAgICAweDMyLCAweDQwLCAweDMxLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDNlLCAweDdhLCAweDA1LCAweDNlLCAweDdhLCAweDM3LCAweDAxLCAweDg1LCAweDdlLCAKLSAgICAweDM3LCAweDAxLCAweDY1LCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDIwLCAweDJjLCAweDM4LCAweDY4LCAweDdhLCAweDQ3LCAweDAxLCAKLSAgICAweDY1LCAweDc1LCAweDJmLCAweDk0LCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDUxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDEyLCAweDY5LCAweGYwLCAKLSAgICAweDEwLCAweDY2LCAweGM0LCAweDIyLCAweGMyLCAweDY2LCAweDJkLCAweDIzLCAweDY4LCAweDc4LCAweDZkLCAweDMzLCAweDgwLCAweDFhLCAweDdlLCAweDI3LCAKLSAgICAweDAxLCAweDg1LCAweGJlLCAweDI0LCAweDAwLCAweDAwLCAweDY4LCAweDZhLCAweGJlLCAweDI3LCAweDAxLCAweGE1LCAweDI4LCAweDA0LCAweDdlLCAweDI3LCAKLSAgICAweDAxLCAweGE1LCAweDdlLCAweDM3LCAweDAxLCAweDg1LCAweDlkLCAweDMyLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDNlLCAweDdhLCAweDA1LCAweDNlLCAKLSAgICAweDdhLCAweDM3LCAweDAxLCAweDg1LCAweDdlLCAweDM3LCAweDAxLCAweDY1LCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDIwLCAweDJjLCAKLSAgICAweDM4LCAweDEzLCAweDdhLCAweDQ3LCAweDAxLCAweDY1LCAweDc1LCAweDJmLCAweDk0LCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDUxLCAweDJmLCAweDEyLCAKLSAgICAweDczLCAweDM1LCAweDAyLCAweDY5LCAweGYwLCAweDc1LCAweDJmLCAweDk0LCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDUxLCAweDJmLCAweDEyLCAweDczLCAKLSAgICAweDM1LCAweDllLCAweDQ0LCAweDIwLCAweDJkLCAweDlkLCAweDI0LCAweDEyLCAweDY5LCAweGYwLCAweDdlLCAweDM0LCAweDFjLCAweDJkLCAweDdkLCAweDI0LCAKLSAgICAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweDY1LCAweDEyLCAweDY5LCAweGYwLCAweGJlLCAweDI1LCAweDIwLCAweDc4LCAweDAzLCAweDAyLCAweDU5LCAKLSAgICAweGQwLCAweDIyLCAweGQyLCAweDBlLCAweDdlLCAweDA0LCAweDFjLCAweDJkLCAweDdhLCAweDA3LCAweDAxLCAweDY1LCAweDdhLCAweDA3LCAweDAxLCAweDc1LCAKLSAgICAweDc1LCAweDJmLCAweDk0LCAweDEyLCAweDczLCAweDM1LCAweDc1LCAweDJmLCAweDAwLCAweDEyLCAweDczLCAweDM1LCAweDIyLCAweDc1LCAweDJmLCAweDkyLCAKLSAgICAweDEyLCAweDczLCAweDM1LCAweGQyLCAweDA0LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDU0LCAweDgyLCAweGRhLCAweGI4LCAweDc4LCAKLSAgICAweDY4LCAweDdlLCAweDM3LCAweDAxLCAweGNiLCAweDdlLCAweDI3LCAweDAxLCAweGI1LCAweDJlLCAweDI0LCAweDAwLCAweDAyLCAweDJkLCAweDMyLCAweGJlLCAKLSAgICAweDM0LCAweDA0LCAweDAwLCAweDM4LCAweDM0LCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDMwLCAweDdhLCAweDA1LCAweDMwLCAweDdhLCAweDM3LCAweDAxLCAKLSAgICAweGNiLCAweDdlLCAweDM3LCAweDAxLCAweGM5LCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDI4LCAweDJjLCAweDM4LCAweDNjLCAweDdhLCAKLSAgICAweDQ3LCAweDAxLCAweGM5LCAweDdlLCAweDI0LCAweDA2LCAweDAwLCAweDJlLCAweDI3LCAweDAxLCAweGI1LCAweDFiLCAweDM4LCAweDIwLCAweDBiLCAweDM1LCAKLSAgICAweDdhLCAweDUxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDAyLCAweDZhLCAweDYzLCAweDc1LCAweDJmLCAweDk5LCAweDEyLCAweDczLCAweDM1LCAweDA5LCAKLSAgICAweGIxLCAweDAwLCAweDA0LCAweDU0LCAweGZhLCAweDE5LCAweGIxLCAweDAwLCAweDA0LCAweDMwLCAweDNlLCAweDBhLCAweDA5LCAweGIxLCAweDAwLCAweDEwLCAKLSAgICAweDU0LCAweGZlLCAweDE5LCAweGIxLCAweDAwLCAweDEwLCAweGQyLCAweDE2LCAweDIyLCAweDgwLCAweDdmLCAweDdhLCAweDUxLCAweDJmLCAweDEyLCAweDczLCAKLSAgICAweDM1LCAweDllLCAweDQ0LCAweDI4LCAweDJkLCAweDlkLCAweDI0LCAweDdlLCAweDY0LCAweDA2LCAweDAwLCAweDJlLCAweDY3LCAweDAxLCAweGI1LCAweDllLCAKLSAgICAweDI0LCAweDAwLCAweDAyLCAweDQwLCAweDE3LCAweDFiLCAweDM4LCAweDYwLCAweDBiLCAweDM1LCAweDEyLCAweDZhLCAweDYzLCAweDdlLCAweDM0LCAweDI0LCAKLSAgICAweDJkLCAweDdkLCAweDI0LCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweGM5LCAweDAyLCAweDZhLCAweDYzLCAweDdhLCAweDM5LCAweGMwLCAweDdlLCAKLSAgICAweDM0LCAweDI0LCAweDJkLCAweDdhLCAweDM5LCAweGQwLCAweDBiLCAweDM0LCAweDFiLCAweDQ0LCAweDgwLCAweGU1LCAweDlkLCAweDMyLCAweDdjLCAweGI2LCAKLSAgICAweDU0LCAweDBmLCAweDIzLCAweDIzLCAweDIzLCAweDQ0LCAweDA2LCAweDdhLCAweDY5LCAweGIwLCAweDdhLCAweDc5LCAweDcwLCAweDBiLCAweDM1LCAweDc1LCAKLSAgICAweDJmLCAweDkzLCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDcxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweGJkLCAweDA0LCAweDY4LCAweDJiLCAweDdhLCAKLSAgICAweDA3LCAweDAxLCAweGM5LCAweDdlLCAweDQ3LCAweDAxLCAweGNiLCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweGNiLCAweDJlLCAweDM1LCAweDMwLCAKLSAgICAweDdhLCAweDM1LCAweDMwLCAweDIyLCAweGQyLCAweDA0LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDIwLCAweGUwLCAweDEzLCAweDIyLCAweDdlLCAweDA0LCAKLSAgICAweDI0LCAweDJkLCAweDgwLCAweDI4LCAweDdlLCAweDA0LCAweDI0LCAweDJkLCAweDgwLCAweDJhLCAweDdlLCAweDA0LCAweDI0LCAweDJkLCAweDgwLCAweGNmLCAKLSAgICAweDdlLCAweDA3LCAweDAxLCAweGNiLCAweDdlLCAweDI0LCAweDAzLCAweGZlLCAweDlkLCAweDIwLCAweDI4LCAweDQwLCAweDdlLCAweDA3LCAweDAxLCAweGM5LCAKLSAgICAweDdlLCAweDQ0LCAweDI4LCAweDJkLCAweDdkLCAweDYwLCAweDBiLCAweDA0LCAweGJkLCAweDA0LCAweDY4LCAweGQyLCAweDdkLCAweDcwLCAweDBiLCAweDA0LCAKLSAgICAweGJkLCAweDA0LCAweDY4LCAweGQwLCAweDdkLCAweDU0LCAweDlkLCAweDUwLCAweGJkLCAweDI1LCAweDQwLCAweDAyLCAweDdkLCAweDI1LCAweDdkLCAweDMyLCAKLSAgICAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDU0LCAweDFmLCAweGI0LCAweDAxLCAweDMxLCAweGRhLCAweGI4LCAweDdlLCAweDE5LCAweGIwLCAKLSAgICAweDdhLCAweDA5LCAweGIwLCAweDBiLCAweDA0LCAweDFiLCAweDI0LCAweDc4LCAweGU3LCAweDAyLCAweDViLCAweDJjLCAweDc1LCAweDJmLCAweDk5LCAweDEyLCAKLSAgICAweDczLCAweDM1LCAweDA5LCAweGIxLCAweDAwLCAweDA0LCAweDU0LCAweGZhLCAweDE5LCAweGIxLCAweDAwLCAweDA0LCAweDMwLCAweDNlLCAweDBhLCAweDA5LCAKLSAgICAweGIxLCAweDAwLCAweDEwLCAweDU0LCAweGZlLCAweDE5LCAweGIxLCAweDAwLCAweDEwLCAweGQyLCAweDE2LCAweDIyLCAweGRhLCAweGI4LCAweDMwLCAweGUwLCAKLSAgICAweGQ4LCAweGJkLCAweDMyLCAweDY4LCAweDA3LCAweGNhLCAweGI4LCAweDEyLCAweDViLCAweDJjLCAweGRhLCAweGI4LCAweDAyLCAweDVjLCAweDUzLCAweDA5LCAKLSAgICAweGIxLCAweDAwLCAweDE4LCAweDdlLCAweGEwLCAweDg4LCAweDc1LCAweDJmLCAweDkwLCAweDEyLCAweDczLCAweDM1LCAweGY1LCAweDJmLCAweDEyLCAweDczLCAKLSAgICAweDM1LCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDBhLCAweDY4LCAweDFkLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDIwLCAweDY4LCAweDA0LCAweGQyLCAKLSAgICAweDVlLCAweDgwLCAweDAyLCAweGMyLCAweDVlLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDgwLCAweDY4LCAweDA0LCAweGQyLCAweDU2LCAweDgwLCAweDAyLCAKLSAgICAweGMyLCAweDU2LCAweDEyLCAweDQzLCAweDQ3LCAweDAyLCAweDYxLCAweDEzLCAweDc1LCAweDJmLCAweDkxLCAweDEyLCAweDczLCAweDM1LCAweDA5LCAweGIxLCAKLSAgICAweDAwLCAweDE0LCAweDdhLCAweGIxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDIwLCAweGUwLCAweDA4LCAweGQyLCAweDA0LCAweDdlLCAweGEwLCAweDgwLCAKLSAgICAweDAyLCAweDYxLCAweDEzLCAweGQyLCAweDA0LCAweDMwLCAweGUxLCAweDA2LCAweDdlLCAweGEwLCAweDgwLCAweDEyLCAweDYxLCAweDEzLCAweGNhLCAweGI4LCAKLSAgICAweDVlLCAweGIwLCAweDFjLCAweGRhLCAweGI4LCAweDY4LCAweDEyLCAweDdlLCAweGEwLCAweGMwLCAweDA5LCAweDYxLCAweDAwLCAweDAwLCAweDEyLCAweDYxLCAKLSAgICAweDM2LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDIwLCAweGUwLCAweGRiLCAweDIyLCAweDAyLCAweDViLCAweDgwLCAweDc1LCAweDJmLCAweDk1LCAweDEyLCAKLSAgICAweDczLCAweDM1LCAweDIyLCAweDc1LCAweDJmLCAweDk2LCAweDEyLCAweDczLCAweDM1LCAweDIyLCAweDEwLCAweDBmLCAweDAxLCAweDIyLCAweDIwLCAweDJmLCAKLSAgICAweDAzLCAweGQyLCAweDBmLCAweDIyLCAweDc1LCAweDJmLCAweGE3LCAweDEyLCAweDczLCAweDM1LCAweDdlLCAweDE0LCAweDg3LCAweDAwLCAweDgwLCAweDA2LCAKLSAgICAweDIwLCAweDJmLCAweDAzLCAweGQyLCAweDBmLCAweDIyLCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFlLCAweGRhLCAKLSAgICAweGI4LCAweDY4LCAweDAzLCAweDEyLCAweDVmLCAweDgwLCAweDMwLCAweDM3LCAweDA2LCAweDIwLCAweGU2LCAweDRmLCAweGQyLCAweDBmLCAweDIyLCAweDMwLCAKLSAgICAweGU2LCAweDAyLCAweGQyLCAweDY3LCAweDdlLCAweDM3LCAweDAxLCAweDg3LCAweDdlLCAweDI3LCAweDAxLCAweGE3LCAweDlkLCAweDMyLCAweDQwLCAweDMxLCAKLSAgICAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDQwLCAweDdhLCAweDA1LCAweDQwLCAweDdhLCAweDM3LCAweDAxLCAweDg3LCAweDdlLCAweDM3LCAweDAxLCAweDY3LCAKLSAgICAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDI0LCAweDJjLCAweDM4LCAweDY4LCAweDdhLCAweDQ3LCAweDAxLCAweDY3LCAweDc1LCAweDJmLCAKLSAgICAweDk0LCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDUxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDEyLCAweDY5LCAweGYwLCAweDEwLCAweDY3LCAweGM0LCAKLSAgICAweDIyLCAweGMyLCAweDY3LCAweDJkLCAweDIzLCAweDY4LCAweDc4LCAweDZkLCAweDMzLCAweDgwLCAweDFhLCAweDdlLCAweDI3LCAweDAxLCAweDg3LCAweGJlLCAKLSAgICAweDI0LCAweDAwLCAweDAwLCAweDY4LCAweDZhLCAweGJlLCAweDI3LCAweDAxLCAweGE3LCAweDI4LCAweDA0LCAweDdlLCAweDI3LCAweDAxLCAweGE3LCAweDdlLCAKLSAgICAweDM3LCAweDAxLCAweDg3LCAweDlkLCAweDMyLCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDQwLCAweDdhLCAweDA1LCAweDQwLCAweDdhLCAweDM3LCAweDAxLCAKLSAgICAweDg3LCAweDdlLCAweDM3LCAweDAxLCAweDY3LCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDI0LCAweDJjLCAweDM4LCAweDEzLCAweDdhLCAKLSAgICAweDQ3LCAweDAxLCAweDY3LCAweDc1LCAweDJmLCAweDk0LCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDUxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDAyLCAKLSAgICAweDY5LCAweGYwLCAweDc1LCAweDJmLCAweDk0LCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDUxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDllLCAweDQ0LCAKLSAgICAweDI0LCAweDJkLCAweDlkLCAweDI0LCAweDEyLCAweDY5LCAweGYwLCAweDdlLCAweDM0LCAweDIwLCAweDJkLCAweDdkLCAweDI0LCAweDJkLCAweDQzLCAweDdhLCAKLSAgICAweDQ3LCAweDAxLCAweDY3LCAweDEyLCAweDY5LCAweGYwLCAweGJlLCAweDI1LCAweDIwLCAweDc4LCAweDAzLCAweDAyLCAweDVjLCAweGZkLCAweDIyLCAweGQyLCAKLSAgICAweDBmLCAweDdlLCAweDA0LCAweDIwLCAweDJkLCAweDdhLCAweDA3LCAweDAxLCAweDY3LCAweDdhLCAweDA3LCAweDAxLCAweDc3LCAweDc1LCAweDJmLCAweDk0LCAKLSAgICAweDEyLCAweDczLCAweDM1LCAweDc1LCAweDJmLCAweDAwLCAweDEyLCAweDczLCAweDM1LCAweDIyLCAweDc1LCAweDJmLCAweDkyLCAweDEyLCAweDczLCAweDM1LCAKLSAgICAweGQyLCAweDA0LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDU0LCAweDgyLCAweGRhLCAweGI4LCAweDc4LCAweDY4LCAweDdlLCAweDM3LCAKLSAgICAweDAxLCAweGNiLCAweDdlLCAweDI3LCAweDAxLCAweGI3LCAweDJlLCAweDI0LCAweDAwLCAweDAyLCAweDJkLCAweDMyLCAweGJlLCAweDM0LCAweDA0LCAweDAwLCAKLSAgICAweDM4LCAweDM0LCAweDdkLCAweDAyLCAweDJlLCAweDA1LCAweDMwLCAweDdhLCAweDA1LCAweDMwLCAweDdhLCAweDM3LCAweDAxLCAweGNiLCAweDdlLCAweDM3LCAKLSAgICAweDAxLCAweGM5LCAweDdkLCAweDQzLCAweDJkLCAweDQyLCAweGJlLCAweDQ0LCAweDI4LCAweDJjLCAweDM4LCAweDNjLCAweDdhLCAweDQ3LCAweDAxLCAweGM5LCAKLSAgICAweDdlLCAweDI0LCAweDA3LCAweDAwLCAweDJlLCAweDI3LCAweDAxLCAweGI3LCAweDFiLCAweDM4LCAweDIwLCAweDBiLCAweDM1LCAweDdhLCAweDUxLCAweDJmLCAKLSAgICAweDEyLCAweDczLCAweDM1LCAweDAyLCAweDZhLCAweDYzLCAweDc1LCAweDJmLCAweDk5LCAweDEyLCAweDczLCAweDM1LCAweDA5LCAweGIxLCAweDAwLCAweDA0LCAKLSAgICAweDU0LCAweGZhLCAweDE5LCAweGIxLCAweDAwLCAweDA0LCAweDMwLCAweDNmLCAweDBhLCAweDA5LCAweGIxLCAweDAwLCAweDEwLCAweDU0LCAweGZlLCAweDE5LCAKLSAgICAweGIxLCAweDAwLCAweDEwLCAweGQyLCAweDE3LCAweDIyLCAweDgwLCAweDdmLCAweDdhLCAweDUxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDllLCAweDQ0LCAKLSAgICAweDI4LCAweDJkLCAweDlkLCAweDI0LCAweDdlLCAweDY0LCAweDA3LCAweDAwLCAweDJlLCAweDY3LCAweDAxLCAweGI3LCAweDllLCAweDI0LCAweDAwLCAweDAyLCAKLSAgICAweDQwLCAweDE3LCAweDFiLCAweDM4LCAweDYwLCAweDBiLCAweDM1LCAweDEyLCAweDZhLCAweDYzLCAweDdlLCAweDM0LCAweDI0LCAweDJkLCAweDdkLCAweDI0LCAKLSAgICAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweGM5LCAweDAyLCAweDZhLCAweDYzLCAweDdhLCAweDM5LCAweGMwLCAweDdlLCAweDM0LCAweDI0LCAweDJkLCAKLSAgICAweDdhLCAweDM5LCAweGQwLCAweDBiLCAweDM0LCAweDFiLCAweDQ0LCAweDgwLCAweGU1LCAweDlkLCAweDMyLCAweDdjLCAweGI2LCAweDU0LCAweDBmLCAweDIzLCAKLSAgICAweDIzLCAweDIzLCAweDQ0LCAweDA3LCAweDdhLCAweDY5LCAweGIwLCAweDdhLCAweDc5LCAweDcwLCAweDBiLCAweDM1LCAweDc1LCAweDJmLCAweDkzLCAweDEyLCAKLSAgICAweDczLCAweDM1LCAweDdhLCAweDcxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweGJkLCAweDA0LCAweDY4LCAweDJiLCAweDdhLCAweDA3LCAweDAxLCAweGM5LCAKLSAgICAweDdlLCAweDQ3LCAweDAxLCAweGNiLCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweGNiLCAweDJlLCAweDM1LCAweDMwLCAweDdhLCAweDM1LCAweDMwLCAKLSAgICAweDIyLCAweGQyLCAweDA0LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDIwLCAweGUwLCAweDEzLCAweDIyLCAweDdlLCAweDA0LCAweDI0LCAweDJkLCAweDgwLCAKLSAgICAweDI4LCAweDdlLCAweDA0LCAweDI0LCAweDJkLCAweDgwLCAweDJhLCAweDdlLCAweDA0LCAweDI0LCAweDJkLCAweDgwLCAweGNmLCAweDdlLCAweDA3LCAweDAxLCAKLSAgICAweGNiLCAweDdlLCAweDI0LCAweDAzLCAweGZlLCAweDlkLCAweDIwLCAweDI4LCAweDQwLCAweDdlLCAweDA3LCAweDAxLCAweGM5LCAweDdlLCAweDQ0LCAweDI4LCAKLSAgICAweDJkLCAweDdkLCAweDYwLCAweDBiLCAweDA0LCAweGJkLCAweDA0LCAweDY4LCAweGQyLCAweDdkLCAweDcwLCAweDBiLCAweDA0LCAweGJkLCAweDA0LCAweDY4LCAKLSAgICAweGQwLCAweDdkLCAweDU0LCAweDlkLCAweDUwLCAweGJkLCAweDI1LCAweDQwLCAweDAyLCAweDdkLCAweDI1LCAweDdkLCAweDMyLCAweDA5LCAweGIxLCAweDAwLCAKLSAgICAweDE0LCAweGNhLCAweGI4LCAweDU0LCAweDFmLCAweGI0LCAweDAxLCAweDMxLCAweGRhLCAweGI4LCAweDdlLCAweDE5LCAweGIwLCAweDdhLCAweDA5LCAweGIwLCAKLSAgICAweDBiLCAweDA0LCAweDFiLCAweDI0LCAweDc4LCAweGU3LCAweDAyLCAweDVlLCAweDU5LCAweDc1LCAweDJmLCAweDk5LCAweDEyLCAweDczLCAweDM1LCAweDA5LCAKLSAgICAweGIxLCAweDAwLCAweDA0LCAweDU0LCAweGZhLCAweDE5LCAweGIxLCAweDAwLCAweDA0LCAweDMwLCAweDNmLCAweDBhLCAweDA5LCAweGIxLCAweDAwLCAweDEwLCAKLSAgICAweDU0LCAweGZlLCAweDE5LCAweGIxLCAweDAwLCAweDEwLCAweGQyLCAweDE3LCAweDIyLCAweGRhLCAweGI4LCAweDMwLCAweGUwLCAweGQ4LCAweGJkLCAweDMyLCAKLSAgICAweDY4LCAweDA3LCAweGNhLCAweGI4LCAweDEyLCAweDVlLCAweDU5LCAweGRhLCAweGI4LCAweDAyLCAweDVmLCAweDgwLCAweDA5LCAweGIxLCAweDAwLCAweDE4LCAKLSAgICAweDdlLCAweGEwLCAweDg4LCAweDc1LCAweDJmLCAweDkwLCAweDEyLCAweDczLCAweDM1LCAweGY1LCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweGE1LCAweGZkLCAKLSAgICAweDVlLCAweDUwLCAweDBhLCAweDY4LCAweDFkLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDIwLCAweDY4LCAweDA0LCAweGQyLCAweDVmLCAweDgwLCAweDAyLCAKLSAgICAweGMyLCAweDVmLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDgwLCAweDY4LCAweDA0LCAweGQyLCAweDU3LCAweDgwLCAweDAyLCAweGMyLCAweDU3LCAweDEyLCAKLSAgICAweDQzLCAweDVlLCAweDAyLCAweDYxLCAweDEzLCAweDc1LCAweDJmLCAweDkxLCAweDEyLCAweDczLCAweDM1LCAweDA5LCAweGIxLCAweDAwLCAweDE0LCAweDdhLCAKLSAgICAweGIxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDIwLCAweGUwLCAweDA4LCAweGQyLCAweDA0LCAweDdlLCAweGEwLCAweDgwLCAweDAyLCAweDYxLCAweDEzLCAKLSAgICAweGQyLCAweDA0LCAweDMwLCAweGUxLCAweDA2LCAweDdlLCAweGEwLCAweDgwLCAweDEyLCAweDYxLCAweDEzLCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFjLCAKLSAgICAweGRhLCAweGI4LCAweDY4LCAweDEyLCAweDdlLCAweGEwLCAweGMwLCAweDA5LCAweDYxLCAweDAwLCAweDAwLCAweDEyLCAweDYxLCAweDM2LCAweDA5LCAweGIxLCAKLSAgICAweDAwLCAweDE0LCAweDIwLCAweGUwLCAweGRiLCAweDIyLCAweDAyLCAweDVlLCAweGFkLCAweDc1LCAweDJmLCAweDk1LCAweDEyLCAweDczLCAweDM1LCAweDIyLCAKLSAgICAweDc1LCAweDJmLCAweDk2LCAweDEyLCAweDczLCAweDM1LCAweDIyLCAweDdjLCAweDAyLCAweDdlLCAweDE0LCAweDgwLCAweDAwLCAweDRjLCAweDIwLCAweDA5LCAKLSAgICAweGIxLCAweDAwLCAweDE4LCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDIwLCAweDY4LCAweDA0LCAweGQyLCAweDU4LCAweDgwLCAweDAyLCAweGMyLCAweDU4LCAKLSAgICAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDgwLCAweDY4LCAweDA0LCAweGQyLCAweDUwLCAweDgwLCAweDAyLCAweGMyLCAweDUwLCAweDAyLCAweDYwLCAweGZmLCAKLSAgICAweDdjLCAweDAyLCAweDdlLCAweDE0LCAweDgwLCAweDAwLCAweDRjLCAweDIwLCAweDA5LCAweGIxLCAweDAwLCAweDE4LCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAKLSAgICAweDIwLCAweDY4LCAweDA0LCAweGQyLCAweDU5LCAweDgwLCAweDAyLCAweGMyLCAweDU5LCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDgwLCAweDY4LCAweDA0LCAKLSAgICAweGQyLCAweDUxLCAweDgwLCAweDAyLCAweGMyLCAweDUxLCAweDAyLCAweDYwLCAweGZmLCAweDdjLCAweDAyLCAweDdlLCAweDE0LCAweDgwLCAweDAwLCAweDRjLCAKLSAgICAweDIwLCAweDA5LCAweGIxLCAweDAwLCAweDE4LCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDIwLCAweDY4LCAweDA0LCAweGQyLCAweDVhLCAweDgwLCAweDAyLCAKLSAgICAweGMyLCAweDVhLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDgwLCAweDY4LCAweDA0LCAweGQyLCAweDUyLCAweDgwLCAweDAyLCAweGMyLCAweDUyLCAweDAyLCAKLSAgICAweDYwLCAweGZmLCAweDdjLCAweDAyLCAweDdlLCAweDE0LCAweDgwLCAweDAwLCAweDRjLCAweDIwLCAweDA5LCAweGIxLCAweDAwLCAweDE4LCAweGE1LCAweGZkLCAKLSAgICAweDVlLCAweDUwLCAweDIwLCAweDY4LCAweDA0LCAweGQyLCAweDViLCAweDgwLCAweDAyLCAweGMyLCAweDViLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDgwLCAKLSAgICAweDY4LCAweDA0LCAweGQyLCAweDUzLCAweDgwLCAweDAyLCAweGMyLCAweDUzLCAweDAyLCAweDYwLCAweGZmLCAweDdjLCAweDAyLCAweDdlLCAweDE0LCAweDgwLCAKLSAgICAweDAwLCAweDRjLCAweDIwLCAweDA5LCAweGIxLCAweDAwLCAweDE4LCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDIwLCAweDY4LCAweDA0LCAweGQyLCAweDVjLCAKLSAgICAweDgwLCAweDAyLCAweGMyLCAweDVjLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDgwLCAweDY4LCAweDA0LCAweGQyLCAweDU0LCAweDgwLCAweDAyLCAweGMyLCAKLSAgICAweDU0LCAweDAyLCAweDYwLCAweGZmLCAweDdjLCAweDAyLCAweDdlLCAweDE0LCAweDgwLCAweDAwLCAweDRjLCAweDIwLCAweDA5LCAweGIxLCAweDAwLCAweDE4LCAKLSAgICAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDIwLCAweDY4LCAweDA0LCAweGQyLCAweDVkLCAweDgwLCAweDAyLCAweGMyLCAweDVkLCAweGE1LCAweGZkLCAweDVlLCAKLSAgICAweDUwLCAweDgwLCAweDY4LCAweDA0LCAweGQyLCAweDU1LCAweDgwLCAweDAyLCAweGMyLCAweDU1LCAweDAyLCAweDYwLCAweGZmLCAweDdjLCAweDAyLCAweDdlLCAKLSAgICAweDE0LCAweDgwLCAweDAwLCAweDRjLCAweDIwLCAweDA5LCAweGIxLCAweDAwLCAweDE4LCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDIwLCAweDY4LCAweDA0LCAKLSAgICAweGQyLCAweDVlLCAweDgwLCAweDAyLCAweGMyLCAweDVlLCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDgwLCAweDY4LCAweDA0LCAweGQyLCAweDU2LCAweDgwLCAKLSAgICAweDAyLCAweGMyLCAweDU2LCAweDAyLCAweDYwLCAweGZmLCAweDdjLCAweDAyLCAweDdlLCAweDE0LCAweDgwLCAweDAwLCAweDRjLCAweDIwLCAweDA5LCAweGIxLCAKLSAgICAweDAwLCAweDE4LCAweGE1LCAweGZkLCAweDVlLCAweDUwLCAweDIwLCAweDY4LCAweDA0LCAweGQyLCAweDVmLCAweDgwLCAweDAyLCAweGMyLCAweDVmLCAweGE1LCAKLSAgICAweGZkLCAweDVlLCAweDUwLCAweDgwLCAweDY4LCAweDA0LCAweGQyLCAweDU3LCAweDgwLCAweDAyLCAweGMyLCAweDU3LCAweDAyLCAweDYwLCAweGZmLCAweDU0LCAKLSAgICAweGYwLCAweGM0LCAweGE1LCAweGZmLCAweGM0LCAweGE1LCAweDRmLCAweDc1LCAweDJmLCAweDkwLCAweDEyLCAweDczLCAweDM1LCAweGY1LCAweDJmLCAweDEyLCAKLSAgICAweDczLCAweDM1LCAweDIyLCAweGNhLCAweDE5LCAweDVlLCAweDIwLCAweDA3LCAweDRjLCAweGEyLCAweDdlLCAweDc0LCAweDJjLCAweDJkLCAweGNhLCAweDc5LCAKLSAgICAweDdhLCAweDc5LCAweGEwLCAweDBiLCAweDc0LCAweDdhLCAweDc5LCAweGIwLCAweDBiLCAweDc0LCAweGRhLCAweDc5LCAweDdlLCAweDMwLCAweDAyLCAweDdlLCAKLSAgICAweDY0LCAweDAwLCAweDAyLCAweDAyLCAweDYxLCAweDVlLCAweGNhLCAweDE5LCAweDVlLCAweDIwLCAweDA3LCAweDRjLCAweGEyLCAweDdlLCAweDc0LCAweDJjLCAKLSAgICAweDJkLCAweGNhLCAweDc5LCAweDdhLCAweDc5LCAweGEwLCAweDBiLCAweDc0LCAweDdhLCAweDc5LCAweGIwLCAweDBiLCAweDc0LCAweDdhLCAweDc5LCAweDYwLCAKLSAgICAweDBiLCAweDc0LCAweGRhLCAweDc5LCAweDdlLCAweDMwLCAweDAzLCAweDdlLCAweDY0LCAweDAwLCAweDAzLCAweDAyLCAweDYxLCAweDVlLCAweGQyLCAweDA0LCAKLSAgICAweDdlLCAweDI3LCAweDAxLCAweGNiLCAweDJkLCAweDI2LCAweGJlLCAweDI0LCAweDA0LCAweDAwLCAweDM4LCAweDJlLCAweDdlLCAweDA3LCAweDAxLCAweGM5LCAKLSAgICAweDdlLCAweDQ0LCAweDI4LCAweDJkLCAweDdlLCAweDc5LCAweGEwLCAweDdhLCAweDA5LCAweGEwLCAweDBiLCAweDA0LCAweDBiLCAweDc0LCAweGJkLCAweDA0LCAKLSAgICAweDY4LCAweDIzLCAweGE1LCAweGRiLCAweGVmLCAweDdhLCAweDI3LCAweDAxLCAweGNiLCAweDdlLCAweDI1LCAweDMwLCAweDJkLCAweDI2LCAweDdhLCAweDI1LCAKLSAgICAweDMwLCAweDdhLCAweDA3LCAweDAxLCAweGM5LCAweGRhLCAweDE5LCAweGMyLCAweGQ3LCAweDIyLCAweDc1LCAweDJmLCAweDlhLCAweDEyLCAweDczLCAweDM1LCAKLSAgICAweGRhLCAweDE5LCAweGQyLCAweGQ3LCAweDIyLCAweDdlLCAweDA0LCAweDI0LCAweDJkLCAweDgwLCAweGQ3LCAweDQ4LCAweGYxLCAweDQ2LCAweDY1LCAweDQ3LCAKLSAgICAweDVmLCAweDQ5LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ4LCAweDU2LCAweDQ1LCAweDJhLCAweDQ5LCAweDZlLCAweDQ1LCAweDJhLCAweDQ1LCAKLSAgICAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ5LCAweDc1LCAweDQ1LCAweDJhLCAweDQ1LCAKLSAgICAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAKLSAgICAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDRjLCAweDFlLCAweDQ5LCAweDkyLCAweDRhLCAKLSAgICAweDhjLCAweDRjLCAweDU3LCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDRiLCAweDgzLCAweDQ1LCAweDJhLCAweDRjLCAweDliLCAweDQ1LCAweDJhLCAweDQ1LCAKLSAgICAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDRjLCAweGEyLCAweDQ1LCAweDJhLCAweDQ1LCAKLSAgICAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAKLSAgICAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDRmLCAweDRiLCAweDRjLCAweGJmLCAweDRkLCAKLSAgICAweGI5LCAweDRmLCAweDg0LCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDRlLCAweGIwLCAweDQ1LCAweDJhLCAweDRmLCAweGM4LCAweDQ1LCAweDJhLCAweDQ1LCAKLSAgICAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDRmLCAweGNmLCAweDQ1LCAweDJhLCAweDQ1LCAKLSAgICAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAKLSAgICAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDUyLCAweDc4LCAweDRmLCAweGVjLCAweDUwLCAKLSAgICAweGU2LCAweDUyLCAweGIxLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDUxLCAweGRkLCAweDQ1LCAweDJhLCAweDUyLCAweGY1LCAweDQ1LCAweDJhLCAweDQ1LCAKLSAgICAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDUyLCAweGZjLCAweDQ1LCAweDJhLCAweDQ1LCAKLSAgICAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAKLSAgICAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDU1LCAweGE1LCAweDUzLCAweDE5LCAweDU0LCAKLSAgICAweDEzLCAweDU1LCAweGRlLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDU1LCAweDBhLCAweDQ1LCAweDJhLCAweDU2LCAweDIyLCAweDQ1LCAweDJhLCAweDQ1LCAKLSAgICAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDU2LCAweDI5LCAweDQ1LCAweDJhLCAweDQ1LCAKLSAgICAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAKLSAgICAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDU4LCAweGQyLCAweDU2LCAweDQ2LCAweDU3LCAKLSAgICAweDQwLCAweDU5LCAweDBiLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDU4LCAweDM3LCAweDQ1LCAweDJhLCAweDU5LCAweDRmLCAweDQ1LCAweDJhLCAweDQ1LCAKLSAgICAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDU5LCAweDU2LCAweDQ1LCAweDJhLCAweDQ1LCAKLSAgICAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAKLSAgICAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDViLCAweGZmLCAweDU5LCAweDczLCAweDVhLCAKLSAgICAweDZkLCAweDVjLCAweDM4LCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDViLCAweDY0LCAweDQ1LCAweDJhLCAweDVjLCAweDdjLCAweDQ1LCAweDJhLCAweDQ1LCAKLSAgICAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDVjLCAweDgzLCAweDQ1LCAweDJhLCAweDQ1LCAKLSAgICAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAKLSAgICAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDVmLCAweDJjLCAweDVjLCAweGEwLCAweDVkLCAKLSAgICAweDlhLCAweDVmLCAweDY1LCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDVlLCAweDkxLCAweDQ1LCAweDJhLCAweDVmLCAweGE5LCAweDQ1LCAweDJhLCAweDQ1LCAKLSAgICAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDVmLCAweGIwLCAweDQ1LCAweDJhLCAweDQ1LCAKLSAgICAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAKLSAgICAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweDQ1LCAweDJhLCAweGNhLCAweGI4LCAweDc1LCAweDJmLCAweDAyLCAKLSAgICAweDEyLCAweDczLCAweDM1LCAweDdlLCAweGIzLCAweDkxLCAweDAzLCAweDIwLCAweGU1LCAweDIwLCAweDMwLCAweGUwLCAweDA1LCAweDEyLCAweDZiLCAweDA1LCAKLSAgICAweDgwLCAweDMwLCAweDMwLCAweGUxLCAweDA1LCAweDEyLCAweDY0LCAweDg2LCAweDgwLCAweDI4LCAweDMwLCAweGUyLCAweDA1LCAweDEyLCAweDYzLCAweGY1LCAKLSAgICAweDgwLCAweDIwLCAweDMwLCAweGUzLCAweDFkLCAweDEyLCAweDY1LCAweDYxLCAweDgwLCAweDE4LCAweDdlLCAweGIzLCAweDkxLCAweDA0LCAweDMwLCAweGUxLCAKLSAgICAweDAzLCAweDAyLCAweDY3LCAweDVmLCAweDMwLCAweGU2LCAweDA1LCAweDEyLCAweDZjLCAweDZhLCAweDgwLCAweDA2LCAweDIwLCAweGUyLCAweDAzLCAweDAyLCAKLSAgICAweDAwLCAweDgwLCAweGRhLCAweGI4LCAweDMyLCAweDc1LCAweDJmLCAweDEwLCAweDEyLCAweDczLCAweDM1LCAweGNhLCAweDBiLCAweGNhLCAweDM5LCAweGNhLCAKLSAgICAweDU5LCAweDc0LCAweDQwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDdlLCAweGIzLCAweDkxLCAweDFhLCAweDZjLCAweGFhLCAweGJlLCAweGIwLCAweDQwLCAKLSAgICAweDI4LCAweDBhLCAweDEyLCAweDY0LCAweDI0LCAweGRhLCAweDU5LCAweGRhLCAweDM5LCAweGRhLCAweDBiLCAweDIyLCAweDc0LCAweDIwLCAweDdhLCAweGIzLCAKLSAgICAweDkxLCAweDE0LCAweDgwLCAweGYxLCAweDdlLCAweDM3LCAweDAxLCAweGM1LCAweDJkLCAweDM1LCAweGJlLCAweDM0LCAweDA0LCAweDAwLCAweDM4LCAweDJmLCAKLSAgICAweDdhLCAweDM3LCAweDAxLCAweGM1LCAweDdlLCAweDM3LCAweDAxLCAweGMzLCAweDdkLCAweDQzLCAweDJkLCAweDQ1LCAweGJlLCAweDQ0LCAweDJjLCAweDJjLCAKLSAgICAweDM4LCAweDI1LCAweDdhLCAweDQ3LCAweDAxLCAweGMzLCAweDc1LCAweDJmLCAweDExLCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweGIxLCAweDJmLCAweDEyLCAKLSAgICAweDczLCAweDM1LCAweDEyLCAweDY3LCAweDlmLCAweDc0LCAweDIwLCAweDdhLCAweGIzLCAweDkxLCAweDE0LCAweDEyLCAweDY2LCAweDMwLCAweDIyLCAweDc1LCAKLSAgICAweDJmLCAweDE2LCAweDEyLCAweDczLCAweDM1LCAweDgwLCAweGY0LCAweDc1LCAweDJmLCAweDEyLCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweGIxLCAweDJmLCAKLSAgICAweDEyLCAweDczLCAweDM1LCAweDllLCAweDQ0LCAweDJjLCAweDJkLCAweDlkLCAweDU0LCAweDEyLCAweDY3LCAweDlmLCAweDdlLCAweDM0LCAweDI4LCAweDJkLCAKLSAgICAweDdkLCAweDU0LCAweDJkLCAweDQzLCAweDgwLCAweGJjLCAweDc1LCAweDJmLCAweDE4LCAweDEyLCAweDczLCAweDM1LCAweGNhLCAweDA5LCAweGNhLCAweDM5LCAKLSAgICAweGNhLCAweDJiLCAweDc0LCAweDIwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDdlLCAweDYzLCAweDkxLCAweDFhLCAweDc0LCAweDEwLCAweDdhLCAweGIzLCAKLSAgICAweDkxLCAweDE0LCAweDdlLCAweGIwLCAweDgwLCAweDljLCAweGI2LCAweDYwLCAweDM4LCAweDZjLCAweGFhLCAweDdlLCAweDM3LCAweDAxLCAweGNiLCAweDlkLCAKLSAgICAweDM1LCAweDQwLCAweDM3LCAweDdhLCAweDM3LCAweDAxLCAweGNiLCAweDdlLCAweDM3LCAweDAxLCAweGM3LCAweDdkLCAweDQzLCAweDJkLCAweDQ1LCAweGJlLCAKLSAgICAweDQ0LCAweDI4LCAweDJjLCAweDM4LCAweDNiLCAweDdhLCAweDQ3LCAweDAxLCAweGM3LCAweDdkLCAweDQ1LCAweDEyLCAweDY4LCAweGQ0LCAweDdlLCAweGIzLCAKLSAgICAweDkxLCAweDFlLCAweDIwLCAweGU1LCAweDEzLCAweDc1LCAweDJmLCAweDE5LCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDkxLCAweDJmLCAweDEyLCAweDczLCAKLSAgICAweDM1LCAweGRhLCAweDJiLCAweGRhLCAweDM5LCAweGRhLCAweDA5LCAweDIyLCAweDgwLCAweDM0LCAweDJkLCAweDUzLCAweDZkLCAweDMzLCAweDYwLCAweDAyLCAKLSAgICAweDgwLCAweGMxLCAweDdlLCAweDA0LCAweDI0LCAweDJkLCAweDdhLCAweDA3LCAweDAxLCAweGM5LCAweDdhLCAweDA3LCAweDAxLCAweGM3LCAweDgwLCAweGUxLCAKLSAgICAweGNhLCAweDU5LCAweDllLCAweDQ0LCAweDI4LCAweDJkLCAweDlkLCAweDU0LCAweDEyLCAweDY4LCAweGQ0LCAweDdlLCAweDM0LCAweDI0LCAweDJkLCAweDdkLCAKLSAgICAweDU0LCAweDJkLCAweDQzLCAweDdhLCAweDQ3LCAweDAxLCAweGM3LCAweDEyLCAweDY4LCAweGQ0LCAweGRhLCAweDQ5LCAweDgwLCAweGIwLCAweDdlLCAweDBmLCAKLSAgICAweDJjLCAweDNlLCAweDBiLCAweDBjLCAweDdhLCAweDBmLCAweDJjLCAweDNlLCAweDc0LCAweDIwLCAweDdhLCAweGIzLCAweDkxLCAweDFlLCAweDc0LCAweDYwLCAKLSAgICAweDdhLCAweGIzLCAweDkxLCAweDFjLCAweDc0LCAweDAyLCAweDdhLCAweGIzLCAweDkxLCAweDEyLCAweDgwLCAweGE1LCAweDdlLCAweDJmLCAweDJjLCAweDVlLCAKLSAgICAweDBiLCAweDJjLCAweDdhLCAweDJmLCAweDJjLCAweDVlLCAweDc0LCAweDIwLCAweDdhLCAweGIzLCAweDkxLCAweDFlLCAweDc0LCAweDYwLCAweDdhLCAweGIzLCAKLSAgICAweDkxLCAweDFjLCAweDc0LCAweDAyLCAweDdhLCAweGIzLCAweDkxLCAweDEyLCAweDgwLCAweDFmLCAweGRhLCAweDJiLCAweGRhLCAweDFiLCAweGRhLCAweDBiLCAKLSAgICAweDIyLCAweDc1LCAweDJmLCAweDI4LCAweDEyLCAweDczLCAweDM1LCAweGNhLCAweDBiLCAweGNhLCAweDFiLCAweGNhLCAweDJiLCAweDc0LCAweDYwLCAweDdhLCAKLSAgICAweGIzLCAweDkxLCAweDAwLCAweDc0LCAweDEwLCAweDdhLCAweGIzLCAweDkxLCAweDE0LCAweDdlLCAweGIzLCAweDkxLCAweDFhLCAweDcwLCAweGRiLCAweDdlLCAKLSAgICAweDBkLCAweDMwLCAweDdlLCAweDFkLCAweDM0LCAweDdlLCAweDJkLCAweDM4LCAweDdlLCAweDNkLCAweDNjLCAweDdlLCAweDg1LCAweDQwLCAweDdkLCAweDkwLCAKLSAgICAweDRkLCAweDkxLCAweDRkLCAweDkyLCAweDRkLCAweDkzLCAweDRkLCAweDk0LCAweDRkLCAweDk1LCAweDRkLCAweDk2LCAweDRkLCAweDk3LCAweDRkLCAweDk4LCAKLSAgICAweDY4LCAweGI4LCAweDdhLCAweDEzLCAweDkxLCAweDE3LCAweDdhLCAweDAzLCAweDkxLCAweDE3LCAweDdhLCAweDMzLCAweDkxLCAweDE3LCAweDdhLCAweDIzLCAKLSAgICAweDkxLCAweDE3LCAweDdhLCAweDUzLCAweDkxLCAweDE3LCAweDdhLCAweDQzLCAweDkxLCAweDE3LCAweDdhLCAweDczLCAweDkxLCAweDE3LCAweDdhLCAweDYzLCAKLSAgICAweDkxLCAweDE3LCAweDdhLCAweDkzLCAweDkxLCAweDE3LCAweDdhLCAweDgzLCAweDkxLCAweDE3LCAweDMwLCAweDczLCAweDIyLCAweDdhLCAweGIzLCAweDkxLCAKLSAgICAweDE3LCAweDdhLCAweGEzLCAweDkxLCAweDE3LCAweDdhLCAweGQzLCAweDkxLCAweDE3LCAweDdhLCAweGMzLCAweDkxLCAweDE3LCAweDdhLCAweGYzLCAweDkxLCAKLSAgICAweDE3LCAweDdhLCAweGUzLCAweDkxLCAweDE3LCAweDdkLCAweDc4LCAweDdhLCAweGYzLCAweDkxLCAweDE3LCAweDdhLCAweGUzLCAweDkxLCAweDE3LCAweDdlLCAKLSAgICAweGIzLCAweDkxLCAweDFlLCAweDMwLCAweGU1LCAweDAzLCAweDAyLCAweDY1LCAweDNjLCAweDc1LCAweDJmLCAweDI5LCAweDEyLCAweDczLCAweDM1LCAweDIwLCAKLSAgICAweDczLCAweDA4LCAweDc1LCAweDJmLCAweDBhLCAweDEyLCAweDczLCAweDM1LCAweDgwLCAweDA2LCAweDc1LCAweDJmLCAweDEyLCAweDEyLCAweDczLCAweDM1LCAKLSAgICAweDc0LCAweDgwLCAweDdhLCAweGIzLCAweDkxLCAweDFlLCAweDZkLCAweDAwLCAweDdkLCAweDEwLCAweDdhLCAweDBkLCAweDMwLCAweDdhLCAweDBkLCAweDM0LCAKLSAgICAweDdhLCAweDBkLCAweDM4LCAweDdhLCAweDBkLCAweDNjLCAweDdhLCAweDA1LCAweDQwLCAweGRhLCAweDJiLCAweGRhLCAweDFiLCAweGRhLCAweDBiLCAweDIyLCAKLSAgICAweDdlLCAweDM3LCAweDAxLCAweGM1LCAweDRkLCAweDMzLCAweDY4LCAweDNiLCAweDdlLCAweDA3LCAweDAxLCAweGMxLCAweDdlLCAweDU0LCAweDJjLCAweDJkLCAKLSAgICAweDlkLCAweDUwLCAweGJkLCAweDM1LCAweDQwLCAweDAyLCAweDdkLCAweDM1LCAweGNhLCAweDM5LCAweDdlLCAweDY1LCAweDRiLCAweDk5LCAweDY0LCAweGRhLCAKLSAgICAweDM5LCAweDdlLCAweDA3LCAweDAxLCAweGM1LCAweDlkLCAweDAzLCAweDdhLCAweDA3LCAweDAxLCAweGM1LCAweDJlLCAweDM3LCAweDAxLCAweGMxLCAweDdhLCAKLSAgICAweDM3LCAweDAxLCAweGMxLCAweGJlLCAweDM0LCAweDJjLCAweDJjLCAweDI4LCAweGM3LCAweDdlLCAweDM0LCAweDI4LCAweDJkLCAweDdhLCAweDM3LCAweDAxLCAKLSAgICAweGMxLCAweDgwLCAweGJkLCAweDIyLCAweDc1LCAweDJmLCAweDUzLCAweDEyLCAweDczLCAweDM1LCAweDdlLCAweDE1LCAweDRkLCAweDgwLCAweDExLCAweDc1LCAKLSAgICAweDJmLCAweDUxLCAweDEyLCAweDczLCAweDM1LCAweDBiLCAweDA4LCAweDEwLCAweDBiLCAweDA1LCAweDllLCAweDM0LCAweDAwLCAweDAyLCAweDI4LCAweDRkLCAKLSAgICAweDdjLCAweGIyLCAweDIwLCAweGU3LCAweDI3LCAweDU0LCAweDA3LCAweDIzLCAweDBhLCAweDJiLCAweDQ5LCAweDIyLCAweDM5LCAweDFlLCAweDdjLCAweGIyLCAKLSAgICAweDU0LCAweDc4LCAweDAzLCAweDAzLCAweDAzLCAweDdjLCAweDJiLCAweDlkLCAweDEzLCAweDQwLCAweDFhLCAweDY4LCAweDEyLCAweDdhLCAweDE1LCAweDRkLCAKLSAgICAweDdhLCAweDI1LCAweDRmLCAweDdlLCAweDY0LCAweDY3LCAweDA5LCAweDdhLCAweDY1LCAweDRiLCAweDg5LCAweDI0LCAweDAyLCAweDY3LCAweDE3LCAweDdlLCAKLSAgICAweDY0LCAweDY2LCAweDdmLCAweDgwLCAweGYyLCAweDJkLCAweDEzLCAweDlkLCAweDMxLCAweGNhLCAweDM5LCAweDdkLCAweDMxLCAweDJkLCAweDEwLCAweGNhLCAKLSAgICAweDE5LCAweGNhLCAweDI5LCAweDk5LCAweDI0LCAweGRhLCAweDI5LCAweGRhLCAweDA5LCAweGRhLCAweDM5LCAweDgwLCAweGEyLCAweDdhLCAweDE1LCAweDRkLCAKLSAgICAweDdlLCAweDY0LCAweDY2LCAweGY1LCAweDRkLCAweDMzLCAweDc4LCAweDA5LCAweDdjLCAweGIyLCAweDIwLCAweGU3LCAweDJhLCAweDdlLCAweDY0LCAweDY2LCAKLSAgICAweDc0LCAweDdhLCAweDY1LCAweDRiLCAweDIyLCAweDc1LCAweDJmLCAweDUyLCAweDEyLCAweDczLCAweDM1LCAweDdlLCAweDIxLCAweDRkLCAweDdlLCAweDA5LCAKLSAgICAweDMwLCAweDBiLCAweDA0LCAweDFiLCAweDM0LCAweDc4LCAweDg5LCAweDgwLCAweGQ0LCAweDc1LCAweDJmLCAweDU0LCAweDEyLCAweDczLCAweDM1LCAweDdlLCAKLSAgICAweDE1LCAweDRkLCAweDdlLCAweDI1LCAweDRmLCAweDgwLCAweDkwLCAweDVlLCAweDIwLCAweDA3LCAweDU0LCAweDc4LCAweDdlLCAweDQ0LCAweDY3LCAweDdkLCAKLSAgICAweDMwLCAweGU2LCAweDE2LCAweDRkLCAweDMzLCAweDY4LCAweDI2LCAweDFiLCAweDM0LCAweDdlLCAweDA5LCAweDQwLCAweDBiLCAweDA0LCAweDdlLCAweDQ0LCAKLSAgICAweDM0LCAweGZhLCAweDIwLCAweGUzLCAweDA0LCAweDdlLCAweDQ0LCAweDY3LCAweDg1LCAweGNhLCAweDA5LCAweGNhLCAweDM5LCAweDk5LCAweDQ0LCAweGRhLCAKLSAgICAweDM5LCAweGRhLCAweDA5LCAweDdlLCAweDY0LCAweDY2LCAweDdmLCAweDRkLCAweDMzLCAweDY4LCAweGE2LCAweDg5LCAweDY0LCAweDdhLCAweDE1LCAweDRkLCAKLSAgICAweGY1LCAweDRmLCAweDdlLCAweDY0LCAweDY3LCAweDU4LCAweDgwLCAweDk5LCAweDdlLCAweDE1LCAweDRkLCAweGU1LCAweDRmLCAweDgwLCAweGM0LCAweGMwLCAKLSAgICAweGQwLCAweGMwLCAweGQxLCAweGMwLCAweGUwLCAweGNhLCAweDE5LCAweDc1LCAweDJmLCAweGZlLCAweDEyLCAweDczLCAweDM1LCAweDdlLCAweDE0LCAweDAwLCAKLSAgICAweDUzLCAweDAyLCAweDQwLCAweDUyLCAweGRhLCAweDE5LCAweGQwLCAweGUwLCAweGQwLCAweGQxLCAweGQwLCAweGQwLCAweDMyLCAweDAzLCAweGE1LCAweGNiLCAKLSAgICAweDE5LCAweGIxLCAweDgwLCAweDAwLCAweDIyLCAweDIyLCAweDdlLCAweDI0LCAweDAwLCAweDAwLCAweDdmLCAweGUxLCAweDdlLCAweGEwLCAweDAyLCAweGE0LCAKLSAgICAweDdlLCAweDA0LCAweDY4LCAweGIxLCAweDlkLCAweDA1LCAweDdlLCAweGIwLCAweDI4LCAweDdhLCAweGIzLCAweDk1LCAweDAwLCAweDg5LCAweDA0LCAweGNhLCAKLSAgICAweDI5LCAweGI0LCAweDgwLCAweGUyLCAweDdlLCAweDI0LCAweDAwLCAweDAwLCAweDdmLCAweGUxLCAweDdlLCAweDAwLCAweDI4LCAweDdhLCAweDAzLCAweDk1LCAKLSAgICAweDAwLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAKLSAgICAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAKLSAgICAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAKLSAgICAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAKLSAgICAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAKLSAgICAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAKLSAgICAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAKLSAgICAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAKLSAgICAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAKLSAgICAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAKLSAgICAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAKLSAgICAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAKLSAgICAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAKLSAgICAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAKLSAgICAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAKLSAgICAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAKLSAgICAweGEzLCAweDdlLCAweDAwLCAweDAwLCAweDdhLCAweDAzLCAweDk1LCAweDAwLCAweGRhLCAweDI5LCAweDIyLCAweDdlLCAweDI0LCAweDAwLCAweDAwLCAweDdmLCAKLSAgICAweGUxLCAweDdlLCAweGEwLCAweDAyLCAweGE0LCAweDdlLCAweDA0LCAweDY5LCAweGU2LCAweDlkLCAweDA1LCAweDdlLCAweGIwLCAweDM4LCAweDdhLCAweGIzLCAKLSAgICAweDk1LCAweDAwLCAweDg5LCAweDA0LCAweGNhLCAweDI5LCAweGI0LCAweDgwLCAweGUyLCAweDdlLCAweDI0LCAweDAwLCAweDAwLCAweDdmLCAweGUxLCAweDdlLCAKLSAgICAweDAwLCAweDM4LCAweDdhLCAweDAzLCAweDk1LCAweDAwLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAKLSAgICAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAKLSAgICAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAKLSAgICAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAKLSAgICAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAKLSAgICAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAKLSAgICAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAKLSAgICAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAKLSAgICAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAKLSAgICAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAKLSAgICAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAKLSAgICAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAKLSAgICAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAKLSAgICAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAKLSAgICAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAKLSAgICAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAKLSAgICAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweDdlLCAweDAwLCAweDAwLCAweDdhLCAweDAzLCAweDk1LCAweDAwLCAweGRhLCAweDI5LCAweDIyLCAKLSAgICAweGNhLCAweDI5LCAweGNhLCAweDE5LCAweGNhLCAweDU4LCAweDdlLCAweDI0LCAweDAwLCAweDAwLCAweDdmLCAweGUxLCAweGRhLCAweDU4LCAweDdlLCAweDU0LCAKLSAgICAweDAyLCAweDIwLCAweDljLCAweGI1LCAweGE0LCAweDdlLCAweDUwLCAweDMwLCAweDVlLCAweDIwLCAweDA3LCAweDJjLCAweDUyLCAweDdhLCAweDUzLCAweDk1LCAKLSAgICAweDAwLCAweDJlLCAweDU0LCAweDZhLCAweDE3LCAweDg5LCAweDU0LCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAKLSAgICAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAKLSAgICAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAKLSAgICAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAKLSAgICAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweDdlLCAweDAwLCAweDAwLCAweDdhLCAweDAzLCAweDk1LCAweDAwLCAweGRhLCAweDE5LCAKLSAgICAweGRhLCAweDI5LCAweDIyLCAweGNhLCAweDE5LCAweGNhLCAweDU4LCAweDdlLCAweDI0LCAweDAwLCAweDAwLCAweDdmLCAweGUxLCAweGRhLCAweDU4LCAweDdlLCAKLSAgICAweDU0LCAweDAyLCAweDM4LCAweDljLCAweGI1LCAweGE0LCAweDdlLCAweDUwLCAweDIwLCAweDVlLCAweDIwLCAweDA3LCAweDJjLCAweDUyLCAweDdhLCAweDUzLCAKLSAgICAweDk1LCAweDAwLCAweDJlLCAweDU0LCAweDZhLCAweDg4LCAweDg5LCAweDU0LCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAKLSAgICAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAKLSAgICAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAKLSAgICAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAKLSAgICAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAKLSAgICAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAKLSAgICAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAKLSAgICAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweGEzLCAweDdlLCAweDAwLCAweDAwLCAweDdhLCAweDAzLCAweDk1LCAweDAwLCAweGRhLCAKLSAgICAweDE5LCAweDIyLCAweDAyLCAweDZiLCAweGE4LCAweGNhLCAweDBiLCAweGNhLCAweDFiLCAweGNhLCAweDJiLCAweGNhLCAweDNiLCAweGNhLCAweDRiLCAweGNhLCAKLSAgICAweDViLCAweGNhLCAweDZiLCAweGNhLCAweDdiLCAweGNhLCAweGViLCAweDc0LCAweDAwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDdlLCAweGIzLCAweDJjLCAKLSAgICAweDdmLCAweGI0LCAweDAwLCAweDAyLCAweDgwLCAweDFjLCAweGI0LCAweDAxLCAweDE5LCAweDdlLCAweGIzLCAweDkxLCAweDE0LCAweDU0LCAweDE0LCAweDY4LCAKLSAgICAweDA1LCAweDEyLCAweDZiLCAweDZjLCAweDgwLCAweDIzLCAweDdlLCAweGIzLCAweDkxLCAweDE0LCAweDMwLCAweGU1LCAweDFjLCAweDEyLCAweDZjLCAweGFhLCAKLSAgICAweDgwLCAweDE3LCAweDdlLCAweGIzLCAweDkxLCAweDE0LCAweDMwLCAweGU1LCAweDA1LCAweDEyLCAweDZjLCAweGFhLCAweDgwLCAweDBiLCAweDdlLCAweGIzLCAKLSAgICAweDkxLCAweDE0LCAweDU0LCAweDE0LCAweDY4LCAweDAzLCAweDEyLCAweDZiLCAweDZjLCAweGRhLCAweGViLCAweGRhLCAweDdiLCAweGRhLCAweDZiLCAweGRhLCAKLSAgICAweDViLCAweGRhLCAweDRiLCAweGRhLCAweDNiLCAweGRhLCAweDJiLCAweGRhLCAweDFiLCAweGRhLCAweDBiLCAweDIyLCAweDIwLCAweGU0LCAweDE5LCAweDc1LCAKLSAgICAweDJmLCAweDBhLCAweDEyLCAweDczLCAweDM1LCAweDdlLCAweGIzLCAweDJjLCAweDdlLCAweDcwLCAweDBhLCAweDdlLCAweGIzLCAweDJjLCAweDdmLCAweGI0LCAKLSAgICAweDAxLCAweDFmLCAweDAyLCAweDZjLCAweDA0LCAweDAyLCAweDcxLCAweGYyLCAweDc1LCAweDJmLCAweDBiLCAweDEyLCAweDczLCAweDM1LCAweDc0LCAweDE0LCAKLSAgICAweDdhLCAweGIzLCAweDkxLCAweDE0LCAweDdlLCAweGIzLCAweDJjLCAweDdmLCAweGI0LCAweDAyLCAweDBjLCAweDEyLCAweDZiLCAweGI0LCAweDAyLCAweDZiLCAKLSAgICAweGE4LCAweDc0LCAweDA0LCAweDdhLCAweGIzLCAweDkxLCAweDE0LCAweDIyLCAweDdlLCAweDAwLCAweDAwLCAweDdhLCAweDAzLCAweDJjLCAweDdmLCAweDdhLCAKLSAgICAweDAzLCAweDJjLCAweDgwLCAweDIyLCAweDdlLCAweGIzLCAweDJjLCAweDc2LCAweDU0LCAweDYwLCAweDYwLCAweDA1LCAweGI0LCAweDQwLCAweDFlLCAweDgwLCAKLSAgICAweDFjLCAweDdlLCAweGIzLCAweDJjLCAweDc3LCAweGI0LCAweDA1LCAweDE1LCAweDc1LCAweDJmLCAweDcxLCAweDEyLCAweDczLCAweDM1LCAweDdlLCAweGIzLCAKLSAgICAweDJjLCAweDc5LCAweDdlLCAweGEwLCAweDAxLCAweDdhLCAweGEzLCAweDkxLCAweDA2LCAweDdhLCAweGIzLCAweDkxLCAweDA3LCAweDIyLCAweDc0LCAweDAwLCAKLSAgICAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDc0LCAweDEwLCAweDdhLCAweGIzLCAweDkxLCAweDEyLCAweDIyLCAweGJlLCAweDU3LCAweDJjLCAweDdjLCAweDI4LCAKLSAgICAweDA0LCAweDdlLCAweDU3LCAweDJjLCAweDdjLCAweDdhLCAweDBmLCAweDJjLCAweDgyLCAweDdhLCAweDU3LCAweDJjLCAweDg2LCAweDc0LCAweDEwLCAweDdhLCAKLSAgICAweGIzLCAweDkxLCAweDEyLCAweDIyLCAweDc0LCAweDAwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDdlLCAweGIzLCAweDkxLCAweDFhLCAweDcwLCAweDUzLCAKLSAgICAweDdlLCAweGIzLCAweDkxLCAweDE0LCAweDIwLCAweGU0LCAweDRjLCAweDdlLCAweGVmLCAweDJjLCAweDgyLCAweDdlLCAweGY3LCAweDJjLCAweDg2LCAweDdlLCAKLSAgICAweDA3LCAweDJjLCAweDg2LCAweDRkLCAweDAwLCAweDY4LCAweDIxLCAweDdlLCAweDAwLCAweDAwLCAweGUwLCAweDdhLCAweGIzLCAweDkxLCAweDE3LCAweGEzLCAKLSAgICAweGE1LCAweDA4LCAweDFiLCAweGY0LCAweDY4LCAweDA2LCAweGE1LCAweGI4LCAweDEwLCAweGYwLCAweDgwLCAweDE5LCAweDdlLCAweGIwLCAweDAwLCAweDdhLCAKLSAgICAweGIzLCAweDJjLCAweDdmLCAweGJlLCAweDAwLCAweDEwLCAweDY4LCAweDBkLCAweDdlLCAweGIwLCAweDAwLCAweDdhLCAweGIzLCAweDJjLCAweDdmLCAweDc0LCAKLSAgICAweDgwLCAweDdhLCAweGIzLCAweDkxLCAweDFlLCAweDdhLCAweGVmLCAweDJjLCAweDgyLCAweDdhLCAweGY3LCAweDJjLCAweDg2LCAweDc1LCAweDJmLCAweDA2LCAKLSAgICAweDEyLCAweDczLCAweDM1LCAweDc0LCAweDA0LCAweDdhLCAweGIzLCAweDkxLCAweDE0LCAweDIyLCAweGNhLCAweDBiLCAweGNhLCAweDFiLCAweGNhLCAweDJiLCAKLSAgICAweGNhLCAweDNiLCAweGNhLCAweDRiLCAweGNhLCAweDViLCAweGNhLCAweDZiLCAweGNhLCAweDdiLCAweGNhLCAweGViLCAweDc1LCAweDJmLCAweDAzLCAweDEyLCAKLSAgICAweDczLCAweDM1LCAweDc0LCAweDAwLCAweDdhLCAweGIzLCAweDJjLCAweDdlLCAweDc0LCAweDAwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDc0LCAweDAxLCAKLSAgICAweDdhLCAweGIzLCAweDkxLCAweDEyLCAweDEyLCAweDZkLCAweDE5LCAweGRhLCAweGViLCAweGRhLCAweDdiLCAweGRhLCAweDZiLCAweGRhLCAweDViLCAweGRhLCAKLSAgICAweDRiLCAweGRhLCAweDNiLCAweGRhLCAweDJiLCAweGRhLCAweDFiLCAweGRhLCAweDBiLCAweDIyLCAweDc1LCAweDJmLCAweDAzLCAweDEyLCAweDczLCAweDM1LCAKLSAgICAweDdlLCAweGIzLCAweDJjLCAweDgwLCAweGI0LCAweDAyLCAweDExLCAweDc0LCAweDAwLCAweDdhLCAweGIzLCAweDJjLCAweDgwLCAweDdhLCAweGIzLCAweDJjLCAKLSAgICAweDdmLCAweDc0LCAweDIwLCAweDdhLCAweGIzLCAweDkxLCAweDE0LCAweDIyLCAweGI0LCAweDAxLCAweDQ2LCAweDdlLCAweGIzLCAweDkxLCAweDA0LCAweDIwLCAKLSAgICAweGU2LCAweDQyLCAweDdlLCAweDIzLCAweDkxLCAweDFhLCAweDdjLCAweDMyLCAweDdlLCAweDEzLCAweDJjLCAweDgxLCAweDJjLCAweDIxLCAweDdhLCAweDIzLCAKLSAgICAweDJjLCAweDgxLCAweDdlLCAweDAwLCAweDAwLCAweDJlLCAweDA0LCAweDJjLCAweDg4LCAweDdlLCAweGIzLCAweDkxLCAweDE2LCAweDdhLCAweDA5LCAweGIwLCAKLSAgICAweDBiLCAweDA0LCAweGE1LCAweGRiLCAweGY0LCAweDc0LCAweDIwLCAweDdhLCAweGIzLCAweDkxLCAweDE0LCAweDc1LCAweDJmLCAweDcwLCAweDEyLCAweDczLCAKLSAgICAweDM1LCAweDdlLCAweGIzLCAweDJjLCAweDgxLCAweDdlLCAweGEzLCAweDJjLCAweDdkLCAweGJjLCAweGFiLCAweDc4LCAweDAzLCAweDEyLCAweDZkLCAweGI5LCAKLSAgICAweDIyLCAweDAyLCAweDcxLCAweGYyLCAweGRhLCAweDU5LCAweDAyLCAweDZjLCAweDdjLCAweDc0LCAweGUwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDdlLCAKLSAgICAweDAzLCAweDkxLCAweDEwLCAweDdlLCAweDEzLCAweDkxLCAweDExLCAweDdlLCAweDMzLCAweDkxLCAweDEyLCAweDdlLCAweDIzLCAweDkxLCAweDEzLCAweDdlLCAKLSAgICAweDUzLCAweDkxLCAweDE0LCAweDdlLCAweDQzLCAweDkxLCAweDE1LCAweDdlLCAweDczLCAweDkxLCAweDE2LCAweDdlLCAweDYzLCAweDkxLCAweDE3LCAweDdhLCAKLSAgICAweDBmLCAweDJjLCAweDc2LCAweDdhLCAweDFmLCAweDJjLCAweDdhLCAweDc1LCAweDJmLCAweDA0LCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDAxLCAweDJmLCAKLSAgICAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDExLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDIxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDdhLCAKLSAgICAweDMxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDQxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDUxLCAweDJmLCAweDEyLCAweDczLCAKLSAgICAweDM1LCAweDdhLCAweDYxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDcxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDc0LCAweDAwLCAweDdhLCAKLSAgICAweGIzLCAweDkxLCAweDAwLCAweDc0LCAweDQwLCAweDdhLCAweGIzLCAweDkxLCAweDA0LCAweDEyLCAweDZkLCAweDhkLCAweDIyLCAweDZkLCAweDAwLCAweDdlLCAKLSAgICAweDE0LCAweDAxLCAweDAyLCAweDdhLCAweDA3LCAweDJjLCAweDg2LCAweDdhLCAweDAzLCAweDJjLCAweDgxLCAweDdlLCAweGIzLCAweDJjLCAweDc2LCAweDIwLCAKLSAgICAweGU3LCAweDBmLCAweDdhLCAweDIzLCAweDJjLCAweDgwLCAweDdhLCAweDMzLCAweDJjLCAweDdmLCAweGJlLCAweDA3LCAweDJjLCAweDdjLCAweDY4LCAweDA5LCAKLSAgICAweDIyLCAweDdhLCAweDMzLCAweDJjLCAweDgwLCAweDdhLCAweDIzLCAweDJjLCAweDdmLCAweDdlLCAweGIzLCAweDJjLCAweDc2LCAweDU0LCAweGUzLCAweDIzLCAKLSAgICAweDIzLCAweDMwLCAweGUwLCAweDAyLCAweGQyLCAweGU1LCAweDMwLCAweGU3LCAweDAyLCAweGQyLCAweGU0LCAweDMwLCAweGU1LCAweDA2LCAweDMwLCAweGU0LCAKLSAgICAweDAzLCAweDAyLCAweDcxLCAweGYyLCAweDU0LCAweDNlLCAweGY1LCAweGYwLCAweDAzLCAweDU0LCAweDFmLCAweGMzLCAweDI1LCAweGYwLCAweDkwLCAweDZkLCAKLSAgICAweGU1LCAweDc1LCAweDg0LCAweGZmLCAweDczLCAweDAyLCAweDZmLCAweGEwLCAweDAyLCAweDZlLCAweDJkLCAweDAyLCAweDcwLCAweDM5LCAweDAyLCAweDcwLCAKLSAgICAweDU0LCAweDAyLCAweDZmLCAweDM3LCAweDAyLCAweDZlLCAweGMyLCAweDAyLCAweDcwLCAweDg1LCAweDAyLCAweDcwLCAweDg1LCAweDAyLCAweDcwLCAweDg4LCAKLSAgICAweDAyLCAweDcwLCAweDg4LCAweDAyLCAweDcwLCAweDg4LCAweDAyLCAweDcwLCAweDg4LCAweDAyLCAweDcwLCAweDg4LCAweDAyLCAweDcwLCAweDg4LCAweDAyLCAKLSAgICAweDcwLCAweDg4LCAweDAyLCAweDcwLCAweDg4LCAweDAyLCAweDcwLCAweDhlLCAweDAyLCAweDcxLCAweDYwLCAweDAyLCAweDcwLCAweDhiLCAweDAyLCAweDcwLCAKLSAgICAweDhiLCAweDAyLCAweDcwLCAweDhiLCAweDAyLCAweDcwLCAweDhiLCAweDAyLCAweDcwLCAweDhiLCAweDAyLCAweDcwLCAweDhiLCAweDc0LCAweDAwLCAweDdhLCAKLSAgICAweGIzLCAweDkxLCAweDAwLCAweDc0LCAweDYwLCAweDdhLCAweGIzLCAweDkxLCAweDFjLCAweDdlLCAweGIzLCAweDJjLCAweDc3LCAweGI0LCAweDA2LCAweDJhLCAKLSAgICAweDdlLCAweGIzLCAweDJjLCAweDc4LCAweDYwLCAweDc5LCAweDdjLCAweDBiLCAweDdlLCAweDEzLCAweDJjLCAweDc5LCAweDdlLCAweDE3LCAweDJjLCAweDdhLCAKLSAgICAweDc1LCAweDJmLCAweDcyLCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDAxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDExLCAweDJmLCAweDEyLCAKLSAgICAweDczLCAweDM1LCAweDEyLCAweDcyLCAweDM3LCAweDQwLCAweDU4LCAweDAyLCAweDZiLCAweGViLCAweGI0LCAweDA4LCAweDFjLCAweDc1LCAweDJmLCAweDc0LCAKLSAgICAweDEyLCAweDczLCAweDM1LCAweDdlLCAweGIzLCAweDNmLCAweGYxLCAweDdlLCAweDA4LCAweDJjLCAweDg4LCAweDdhLCAweDBjLCAweDAwLCAweDAwLCAweDdhLCAKLSAgICAweDBiLCAweGIwLCAweDdlLCAweDU0LCAweDAwLCAweDAxLCAweDAyLCAweDZiLCAweGViLCAweGI0LCAweDAwLCAweDMzLCAweDc1LCAweDJmLCAweDc1LCAweDEyLCAKLSAgICAweDczLCAweDM1LCAweDdlLCAweDA4LCAweDJjLCAweDg4LCAweDdhLCAweDBjLCAweDAwLCAweDAwLCAweGNhLCAweDBiLCAweDdlLCAweGIzLCAweDNmLCAweGYyLCAKLSAgICAweDMwLCAweGUwLCAweDA3LCAweDc0LCAweDAyLCAweDdhLCAweDBiLCAweGIwLCAweDgwLCAweDA1LCAweDc0LCAweDAwLCAweDdhLCAweDBiLCAweGIwLCAweDBiLCAKLSAgICAweDE0LCAweDc0LCAweDAwLCAweDdhLCAweDBiLCAweGIwLCAweDdlLCAweDU0LCAweDAwLCAweDAyLCAweGRhLCAweDBiLCAweDAyLCAweDZiLCAweGViLCAweDAyLCAKLSAgICAweDcxLCAweGYyLCAweDc0LCAweDAwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDc0LCAweDYwLCAweDdhLCAweGIzLCAweDkxLCAweDFjLCAweDdlLCAweGIzLCAKLSAgICAweDJjLCAweDc3LCAweGI0LCAweDAwLCAweDVmLCAweDc1LCAweDJmLCAweDc2LCAweDEyLCAweDczLCAweDM1LCAweDdlLCAweGIzLCAweDJjLCAweDdiLCAweDU0LCAKLSAgICAweDBmLCAweGI0LCAweDAyLCAweDA1LCAweDdlLCAweGIwLCAweDYwLCAweDgwLCAweDE3LCAweGI0LCAweDAwLCAweDA1LCAweDdlLCAweGIwLCAweDAwLCAweDgwLCAKLSAgICAweDBmLCAweDdlLCAweGIzLCAweDJjLCAweDdiLCAweDIwLCAweGU3LCAweDA1LCAweDdlLCAweGIwLCAweDQwLCAweDgwLCAweDAzLCAweDdlLCAweGIwLCAweDIwLCAKLSAgICAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDdlLCAweGIzLCAweDkxLCAweDExLCAweDMwLCAweGUwLCAweDA0LCAweDc0LCAweDAxLCAweDgwLCAweDAyLCAweDc0LCAKLSAgICAweDAwLCAweDdlLCAweDA4LCAweDJjLCAweDg4LCAweDdhLCAweDBjLCAweDAwLCAweDAwLCAweGNhLCAweDBiLCAweDdhLCAweDBiLCAweGIwLCAweDBiLCAweDE0LCAKLSAgICAweDc0LCAweDAwLCAweDdhLCAweDBiLCAweGIwLCAweDc0LCAweDAwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDdlLCAweDU0LCAweDAwLCAweDAyLCAweGRhLCAKLSAgICAweDBiLCAweDAyLCAweDZiLCAweGViLCAweDAyLCAweDcxLCAweGYyLCAweDdlLCAweGIzLCAweDJjLCAweDdiLCAweDU0LCAweDBmLCAweGI0LCAweDAyLCAweDA1LCAKLSAgICAweDdlLCAweGIwLCAweDYwLCAweDgwLCAweDE3LCAweGI0LCAweDAwLCAweDA1LCAweDdlLCAweGIwLCAweDAwLCAweDgwLCAweDBmLCAweDdlLCAweGIzLCAweDJjLCAKLSAgICAweDdiLCAweDIwLCAweGU3LCAweDA1LCAweDdlLCAweGIwLCAweDQwLCAweDgwLCAweDAzLCAweDdlLCAweGIwLCAweDIwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAKLSAgICAweDdlLCAweGIzLCAweDJjLCAweDc5LCAweGI0LCAweDAwLCAweDI2LCAweDdlLCAweGIzLCAweDJjLCAweDc3LCAweGI0LCAweDAxLCAweDBlLCAweDc1LCAweDJmLCAKLSAgICAweDc3LCAweDEyLCAweDczLCAweDM1LCAweDc0LCAweDAxLCAweDdhLCAweGIzLCAweDkxLCAweDEyLCAweDgwLCAweDFiLCAweGI0LCAweDAzLCAweDBlLCAweDc1LCAKLSAgICAweDJmLCAweDc4LCAweDEyLCAweDczLCAweDM1LCAweDc0LCAweDAxLCAweDdhLCAweGIzLCAweDkxLCAweDExLCAweDgwLCAweDBhLCAweDc0LCAweDAwLCAweDdhLCAKLSAgICAweGIzLCAweDkxLCAweDAwLCAweDEyLCAweDcxLCAweGYyLCAweDIyLCAweDc0LCAweDAwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDAyLCAweDZiLCAweGRlLCAKLSAgICAweDdlLCAweGIzLCAweDJjLCAweDc3LCAweGI0LCAweDA5LCAweDFmLCAweDc1LCAweDJmLCAweDc5LCAweDEyLCAweDczLCAweDM1LCAweDdlLCAweGIzLCAweDJjLCAKLSAgICAweDc5LCAweGJlLCAweGIzLCAweDNmLCAweGYxLCAweDY4LCAweDBkLCAweGNhLCAweGI4LCAweDEyLCAweDQzLCAweDc5LCAweGRhLCAweGI4LCAweDUwLCAweDc2LCAKLSAgICAweDdhLCAweGIzLCAweDNmLCAweGYxLCAweDgwLCAweDZkLCAweGI0LCAweDA1LCAweDA4LCAweDc1LCAweDJmLCAweDdhLCAweDEyLCAweDczLCAweDM1LCAweDgwLCAKLSAgICAweDYyLCAweGI0LCAweDAzLCAweDE5LCAweDc1LCAweDJmLCAweDdiLCAweDEyLCAweDczLCAweDM1LCAweDdlLCAweGIzLCAweDJjLCAweDc5LCAweGI0LCAweDAxLCAKLSAgICAweDU1LCAweDdlLCAweGIzLCAweDNmLCAweGYyLCAweDQ0LCAweDAxLCAweDdhLCAweGIzLCAweDNmLCAweGYyLCAweDgwLCAweDQ2LCAweGI0LCAweDAxLCAweDE5LCAKLSAgICAweDc1LCAweDJmLCAweDdjLCAweDEyLCAweDczLCAweDM1LCAweDdlLCAweGIzLCAweDJjLCAweDc5LCAweGI0LCAweDAxLCAweDM5LCAweDdlLCAweGIzLCAweDNmLCAKLSAgICAweGYyLCAweDU0LCAweGZlLCAweDdhLCAweGIzLCAweDNmLCAweGYyLCAweDgwLCAweDJhLCAweGI0LCAweDA3LCAweDJhLCAweDdlLCAweGIzLCAweDJjLCAweDc4LCAKLSAgICAweDYwLCAweDI0LCAweDdjLCAweDBiLCAweDdlLCAweDEzLCAweDJjLCAweDc5LCAweDdlLCAweDE3LCAweDJjLCAweDdhLCAweDc1LCAweDJmLCAweDczLCAweDEyLCAKLSAgICAweDczLCAweDM1LCAweDdhLCAweDAxLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDExLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDEyLCAweDcyLCAKLSAgICAweDcxLCAweDQwLCAweDAzLCAweDAyLCAweDZiLCAweGRlLCAweDAyLCAweDcxLCAweGYyLCAweDdlLCAweGIzLCAweDJjLCAweDc3LCAweGI0LCAweDBiLCAweGY2LCAKLSAgICAweDc1LCAweDJmLCAweDdkLCAweDEyLCAweDczLCAweDM1LCAweDdlLCAweGIzLCAweDJjLCAweDc5LCAweDdlLCAweGEzLCAweDJjLCAweDdiLCAweDRjLCAweGFiLCAKLSAgICAweDc4LCAweGU0LCAweDgwLCAweGRmLCAweDc0LCAweDAwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDc0LCAweDYwLCAweDdhLCAweGIzLCAweDkxLCAweDFjLCAKLSAgICAweDdlLCAweGIzLCAweDJjLCAweDc3LCAweGI0LCAweDBhLCAweGNmLCAweDc1LCAweDJmLCAweDdlLCAweDEyLCAweDczLCAweDM1LCAweDdlLCAweGIzLCAweDJjLCAKLSAgICAweDc5LCAweDcwLCAweGMzLCAweDdlLCAweDA4LCAweDJjLCAweDg4LCAweDdhLCAweDBjLCAweDAwLCAweDAwLCAweDdhLCAweDBiLCAweGIwLCAweDdlLCAweDU0LCAKLSAgICAweDAwLCAweDAxLCAweDAyLCAweDZiLCAweGViLCAweDAyLCAweDcxLCAweGYyLCAweDAyLCAweDcxLCAweGYyLCAweDAyLCAweDcxLCAweGYyLCAweDdlLCAweGIzLCAKLSAgICAweDJjLCAweDc3LCAweGI0LCAweDA0LCAweDIwLCAweDc1LCAweDJmLCAweGMzLCAweDEyLCAweDczLCAweDM1LCAweDdlLCAweDA0LCAweDAwLCAweDAxLCAweDdlLCAKLSAgICAweDE3LCAweDJjLCAweDc4LCAweDdlLCAweDE4LCAweDJjLCAweDg4LCAweDdhLCAweDFjLCAweDAwLCAweDAwLCAweDdlLCAweDQ3LCAweDJjLCAweDdjLCAweDEyLCAKLSAgICAweDczLCAweDQxLCAweDAyLCAweDcxLCAweDVhLCAweGI0LCAweDA2LCAweDQyLCAweDc1LCAweDJmLCAweGMxLCAweDEyLCAweDczLCAweDM1LCAweDdlLCAweDU4LCAKLSAgICAweDAwLCAweDAwLCAweDdhLCAweDVjLCAweDAwLCAweGZlLCAweDdkLCAweGNhLCAweDdlLCAweGQ3LCAweDJjLCAweDc4LCAweDdlLCAweDc4LCAweDJjLCAweDg4LCAKLSAgICAweDdhLCAweDdjLCAweDAwLCAweDAwLCAweDdlLCAweDc3LCAweDJjLCAweDdjLCAweDc1LCAweDJmLCAweGMxLCAweDEyLCAweDczLCAweDM1LCAweGMwLCAweGE4LCAKLSAgICAweGMyLCAweGFmLCAweDdlLCAweDQwLCAweDAxLCAweDdhLCAweDQzLCAweDk0LCAweDAwLCAweDEyLCAweDczLCAweDdhLCAweDdlLCAweDQzLCAweDJjLCAweDM1LCAKLSAgICAweDdhLCAweDQzLCAweDk0LCAweDAwLCAweGQwLCAweGE4LCAweDQwLCAweDY1LCAweDgwLCAweDYwLCAweGI0LCAweDAwLCAweDI0LCAweGMyLCAweGFmLCAweDdlLCAKLSAgICAweGIwLCAweDAxLCAweDdhLCAweGIzLCAweDk0LCAweDAwLCAweDdhLCAweGIzLCAweDJjLCAweDM1LCAweDEyLCAweDZiLCAweGRlLCAweGU0LCAweDhkLCAweGVmLCAKLSAgICAweDhkLCAweGVmLCAweDhkLCAweGVmLCAweGQ1LCAweGUwLCAweGY3LCAweGMwLCAweGQxLCAweGNhLCAweDAyLCAweGZmLCAweGNhLCAweDA2LCAweDAwLCAweDAwLCAKLSAgICAweDMyLCAweGI0LCAweDA5LCAweDIwLCAweDc0LCAweDAzLCAweDdhLCAweGIzLCAweDkxLCAweDA2LCAweDdlLCAweDIzLCAweDkxLCAweDA3LCAweDdlLCAweDU3LCAKLSAgICAweDJjLCAweDc4LCAweDRkLCAweDU1LCAweDY4LCAweDA1LCAweDRlLCAweDIwLCAweDAyLCAweDgwLCAweDAzLCAweDVlLCAweDIwLCAweGZkLCAweDdhLCAweDIzLCAKLSAgICAweDkxLCAweDA3LCAweDgwLCAweDE2LCAweGI0LCAweDA3LCAweDE2LCAweGMyLCAweGFmLCAweDdlLCAweDA3LCAweDJjLCAweDdhLCAweDdlLCAweDE3LCAweDJjLCAKLSAgICAweDc4LCAweGMwLCAweGQxLCAweGNhLCAweDE4LCAweGNhLCAweDM4LCAweGNhLCAweDI4LCAweDMyLCAweDAyLCAweDZiLCAweGRlLCAweDAyLCAweDcxLCAweGYyLCAKLSAgICAweDc0LCAweDAwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDc0LCAweDYwLCAweDdhLCAweGIzLCAweDkxLCAweDFjLCAweDdlLCAweGIzLCAweDJjLCAweDc3LCAKLSAgICAweGI0LCAweDAzLCAweDE1LCAweDc1LCAweDJmLCAweGMyLCAweDEyLCAweDczLCAweDM1LCAweDdlLCAweDA0LCAweDAwLCAweDAxLCAweDdlLCAweDE3LCAweDJjLCAKLSAgICAweDc4LCAweDdlLCAweDU3LCAweDJjLCAweDdjLCAweDAyLCAweDZiLCAweGViLCAweGI0LCAweDA1LCAweDQxLCAweDc1LCAweDJmLCAweGMwLCAweDEyLCAweDczLCAKLSAgICAweDM1LCAweGMwLCAweGE4LCAweGMyLCAweGFmLCAweDdlLCAweDQwLCAweDAxLCAweDdhLCAweDQzLCAweDk0LCAweDAwLCAweDdlLCAweDA4LCAweDJjLCAweDg4LCAKLSAgICAweDdhLCAweDBjLCAweDAwLCAweDAwLCAweDdlLCAweDI0LCAweDAwLCAweGZlLCAweDdlLCAweDM3LCAweDJjLCAweDc4LCAweDdlLCAweDQ3LCAweDJjLCAweDdjLCAKLSAgICAweDEyLCAweDczLCAweDQxLCAweDdlLCAweDQzLCAweDJjLCAweDM1LCAweDdhLCAweDQzLCAweDk0LCAweDAwLCAweGQwLCAweGE4LCAweDdlLCAweDA4LCAweDJjLCAKLSAgICAweDg4LCAweDdhLCAweDBjLCAweDAwLCAweDAwLCAweDdlLCAweDU3LCAweDJjLCAweDdjLCAweDAyLCAweDZiLCAweGViLCAweGI0LCAweDAxLCAweDIwLCAweDdlLCAKLSAgICAweDAwLCAweDAwLCAweDdlLCAweDEwLCAweDAxLCAweDc1LCAweDJmLCAweDcyLCAweDEyLCAweDczLCAweDM1LCAweDdhLCAweDAxLCAweDJmLCAweDEyLCAweDczLCAKLSAgICAweDM1LCAweDdhLCAweDExLCAweDJmLCAweDEyLCAweDczLCAweDM1LCAweDEyLCAweDcyLCAweDM3LCAweDQwLCAweDAzLCAweDAyLCAweDZiLCAweGViLCAweDAyLCAKLSAgICAweDcxLCAweGYyLCAweDc1LCAweDJmLCAweDA3LCAweDEyLCAweDczLCAweDM1LCAweDdlLCAweGIwLCAweDAyLCAweDdhLCAweGIzLCAweDkwLCAweDAwLCAweDc0LCAKLSAgICAweDAwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDc0LCAweDQwLCAweDdhLCAweGIzLCAweDkxLCAweDE1LCAweDc0LCAweDAxLCAweDdhLCAweGIzLCAweDkxLCAKLSAgICAweDExLCAweDdlLCAweGIzLCAweDkxLCAweDE1LCAweDU0LCAweDYwLCAweGJlLCAweGIwLCAweDQwLCAweDY4LCAweDA4LCAweDc0LCAweDIwLCAweDdhLCAweGIzLCAKLSAgICAweDkxLCAweDE1LCAweDgwLCAweGVkLCAweDc0LCAweDAxLCAweDdhLCAweGIzLCAweDkxLCAweDEyLCAweDc0LCAweDA0LCAweDdhLCAweGIzLCAweDkxLCAweDE0LCAKLSAgICAweDc0LCAweGZmLCAweDdhLCAweGIzLCAweDJjLCAweDdlLCAweDIyLCAweGMwLCAweGE4LCAweGMyLCAweGFmLCAweDdlLCAweDQwLCAweDAxLCAweDdhLCAweDQzLCAKLSAgICAweDk0LCAweDAwLCAweDEyLCAweDcyLCAweGJlLCAweDQwLCAweDFmLCAweDdlLCAweDA4LCAweDJjLCAweDg4LCAweDdhLCAweDBjLCAweDAwLCAweDAwLCAweGNhLCAKLSAgICAweDBiLCAweGNhLCAweDQ5LCAweDEyLCAweDczLCAweDQxLCAweGRhLCAweDU5LCAweGRhLCAweDBiLCAweDdlLCAweDQzLCAweDJjLCAweDM1LCAweDdhLCAweDQzLCAKLSAgICAweDk0LCAweDAwLCAweGQwLCAweGE4LCAweGMzLCAweDIyLCAweDdlLCAweDQzLCAweDJjLCAweDM1LCAweDdhLCAweDQzLCAweDk0LCAweDAwLCAweGQwLCAweGE4LCAKLSAgICAweDIyLCAweGMwLCAweGE4LCAweGMyLCAweGFmLCAweDdlLCAweDQwLCAweDAxLCAweDdhLCAweDQzLCAweDk0LCAweDAwLCAweDEyLCAweDcyLCAweGJlLCAweDQwLCAKLSAgICAweDMxLCAweDdlLCAweDU4LCAweDAwLCAweDAwLCAweDdhLCAweDVjLCAweDAwLCAweGZlLCAweDdmLCAweDYxLCAweDdlLCAweDc4LCAweDJjLCAweDg4LCAweDdhLCAKLSAgICAweDdjLCAweDAwLCAweDAwLCAweDdlLCAweDc3LCAweDJjLCAweDdjLCAweGJkLCAweDc0LCAweDc4LCAweDE3LCAweDc1LCAweDJmLCAweGMxLCAweDEyLCAweDczLCAKLSAgICAweDM1LCAweDEyLCAweDczLCAweDdhLCAweDQwLCAweDBjLCAweDdlLCAweDQzLCAweDJjLCAweDM1LCAweDdhLCAweDQzLCAweDk0LCAweDAwLCAweGQwLCAweGE4LCAKLSAgICAweGMzLCAweDIyLCAweDdlLCAweDQzLCAweDJjLCAweDM1LCAweDdhLCAweDQzLCAweDk0LCAweDAwLCAweGQwLCAweGE4LCAweGQzLCAweDIyLCAweDdlLCAweDI0LCAKLSAgICAweDAwLCAweGZlLCAweDdlLCAweDM0LCAweDdmLCAweGNhLCAweDBiLCAweDFhLCAweDUwLCAweGM1LCAweGYwLCAweDdkLCAweDYyLCAweDdkLCAweDc1LCAweDdkLCAKLSAgICAweDg3LCAweDdlLCAweDM0LCAweDdmLCAweGMyLCAweDdlLCAweDFiLCAweGIwLCAweDdlLCAweDM0LCAweDdmLCAweDAzLCAweGI0LCAweDAxLCAweDA0LCAweDdlLCAKLSAgICAweDM0LCAweDdmLCAweGNjLCAweDdlLCAweDFiLCAweGIwLCAweGJjLCAweDBiLCAweDUwLCAweDQ5LCAweDNlLCAweDAwLCAweDNlLCAweDAwLCAweDBhLCAweDUwLCAKLSAgICAweDJkLCAweDc1LCAweDBiLCAweDNhLCAweDMwLCAweDY5LCAweDUzLCAweDAwLCAweDAyLCAweGJkLCAweDM4LCAweDUwLCAweDAyLCAweDJkLCAweDM4LCAweGJjLCAKLSAgICAweDFiLCAweDUwLCAweDMwLCAweDNlLCAweDEwLCAweDNlLCAweDEwLCAweDBhLCAweDUxLCAweDJkLCAweDM1LCAweDY5LCAweDQxLCAweDAwLCAweDAyLCAweDBiLCAKLSAgICAweDFhLCAweDMwLCAweGJkLCAweDM4LCAweDUwLCAweDAyLCAweDJkLCAweDM4LCAweGJlLCAweDQ0LCAweGZmLCAweGZmLCAweDc4LCAweDA1LCAweDdlLCAweDFiLCAKLSAgICAweDkwLCAweDBhLCAweDQ5LCAweDRkLCAweDQ0LCAweDY4LCAweDBjLCAweGJlLCAweDQ0LCAweDAwLCAweGZmLCAweDI4LCAweDA0LCAweDdlLCAweDQ0LCAweDAwLCAKLSAgICAweGZmLCAweGMzLCAweDIyLCAweGQzLCAweDIyLCAKLQotLy8gU2VnbWVudCAjMTYsIFN0YXJ0IEFkZHJlc3MgMDBmZjdmYzYsIExlbmd0aCA0Ci0weGZmLDB4MDAsMHhjNiwweDdmLDB4MDQsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDAzLCAweDAwLCAKLQotLy8gU2VnbWVudCAjMTcsIFN0YXJ0IEFkZHJlc3MgMDBmZjczMzUsIExlbmd0aCAzMjgKLTB4ZmYsMHgwMCwweDM1LDB4NzMsMHg0OCwweDAxLAotICAgIDB4Y2EsIDB4MDgsIDB4N2UsIDB4MDEsIDB4MmYsIDB4N2EsIDB4MDMsIDB4M2YsIDB4ZjAsIDB4ZGEsIDB4MDgsIDB4MjIsIDB4N2UsIDB4MWIsIDB4YzAsIDB4N2EsIAotICAgIDB4MGIsIDB4YzAsIDB4MGIsIDB4MTQsIDB4MGIsIDB4MzQsIDB4MWIsIDB4NDQsIDB4NzgsIDB4ZjIsIDB4MjIsIDB4N2YsIDB4NmYsIDB4N2YsIDB4ZjAsIDB4MWIsIAotICAgIDB4ZmMsIDB4N2MsIDB4NTQsIDB4N2QsIDB4MzIsIDB4ODAsIDB4MDgsIDB4Y2EsIDB4MWIsIDB4Y2EsIDB4MWIsIDB4Y2EsIDB4MWIsIDB4Y2EsIDB4MWIsIDB4OWUsIAotICAgIDB4NDQsIDB4MDAsIDB4MTAsIDB4NTAsIDB4ZjIsIDB4MmUsIDB4NDQsIDB4MDAsIDB4MTAsIDB4NjgsIDB4MDYsIDB4Y2EsIDB4NDgsIDB4MWIsIDB4NDQsIDB4NzgsIAotICAgIDB4ZmEsIDB4N2YsIDB4ZjYsIDB4ODksIDB4ZTQsIDB4Y2EsIDB4NmIsIDB4NWUsIDB4ZDQsIDB4MDAsIDB4M2YsIDB4NjgsIDB4MjAsIDB4N2UsIDB4ODQsIDB4MDAsIAotICAgIDB4NDAsIDB4OWQsIDB4OGQsIDB4ZGEsIDB4NmIsIDB4YmQsIDB4ODcsIDB4MzgsIDB4MTYsIDB4Y2EsIDB4NzksIDB4N2QsIDB4NzgsIDB4MTIsIDB4NzMsIDB4YTQsIAotICAgIDB4ZGEsIDB4NzksIDB4NDAsIDB4MDgsIDB4OWQsIDB4NzgsIDB4NjgsIDB4MDIsIDB4ODAsIDB4MDUsIDB4YzIsIDB4ZDcsIDB4MjIsIDB4ZGEsIDB4NmIsIDB4N2UsIAotICAgIDB4YzAsIDB4MDMsIDB4N2UsIDB4ZDAsIDB4MDAsIDB4N2EsIDB4ZDMsIDB4OTAsIDB4MDAsIDB4NzQsIDB4YWEsIDB4MzksIDB4YjUsIDB4NTUsIDB4NTUsIDB4NzQsIAotICAgIDB4NTUsIDB4MzksIDB4YjUsIDB4MmEsIDB4YWEsIDB4NzQsIDB4YTAsIDB4MzksIDB4YjUsIDB4NTUsIDB4NTUsIDB4N2UsIDB4MDQsIDB4MDAsIDB4NDAsIDB4OWQsIAotICAgIDB4NzAsIDB4NTAsIDB4MDYsIDB4MmQsIDB4NzAsIDB4N2QsIDB4MDcsIDB4NmQsIDB4NzcsIDB4N2MsIDB4MzEsIDB4N2UsIDB4N2IsIDB4MDAsIDB4N2EsIDB4NmIsIAotICAgIDB4MDAsIDB4MGIsIDB4N2MsIDB4MGIsIDB4NmMsIDB4YTUsIDB4ZDksIDB4ZjMsIDB4N2YsIDB4MTYsIDB4MWIsIDB4MWMsIDB4N2UsIDB4NTQsIDB4MjcsIDB4MTAsIAotICAgIDB4N2UsIDB4MWIsIDB4MTAsIDB4YmMsIDB4MTAsIDB4NjgsIDB4MDYsIDB4MWIsIDB4NTQsIDB4NzgsIDB4ZjUsIDB4ODAsIDB4MmYsIDB4NmQsIDB4MDAsIDB4N2MsIAotICAgIDB4MjAsIDB4N2YsIDB4MTYsIDB4OWYsIDB4MTAsIDB4N2YsIDB4MjcsIDB4OWYsIDB4MjAsIDB4N2UsIDB4MmIsIDB4MDAsIDB4N2UsIDB4MWIsIDB4MTAsIDB4YmMsIAotICAgIDB4MDEsIDB4NzgsIDB4MTksIDB4MGIsIDB4MmMsIDB4MGIsIDB4MWMsIDB4YTUsIDB4ZGIsIDB4ZWYsIDB4N2MsIDB4YjYsIDB4MjAsIDB4ZTAsIDB4MDYsIDB4NmMsIAotICAgIDB4ZGMsIDB4N2EsIDB4ZDMsIDB4OTAsIDB4MDAsIDB4NGQsIDB4NzcsIDB4NzgsIDB4OTAsIDB4YzIsIDB4ZDcsIDB4MjIsIDB4ZDIsIDB4ZDcsIDB4MjIsIDB4MDAsIAotICAgIDB4MDQsIDB4MDAsIDB4MDQsIDB4MDAsIDB4MDAsIDB4MDYsIDB4MDQsIDB4MDIsIDB4MDQsIDB4MDAsIDB4MDIsIDB4MDEsIDB4MDQsIDB4MDEsIDB4MDIsIDB4MDAsIAotICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MDIsIDB4MDIsIDB4MDIsIDB4MDIsIDB4MDQsIDB4MDAsIDB4MDgsIDB4MTAsIAotICAgIDB4MDIsIDB4MTAsIDB4MDQsIDB4MDIsIDB4MDgsIDB4MDAsIDB4MDEsIDB4MDEsIDB4MDgsIDB4N2UsIDB4MTgsIDB4N2YsIDB4YmQsIDB4N2EsIDB4MWMsIDB4MDAsIAotICAgIDB4ZmUsIDB4MGIsIDB4MWEsIDB4MDAsIDB4NWUsIDB4MTAsIDB4MWYsIDB4YmUsIDB4MTAsIDB4MTQsIDB4MzgsIDB4MWEsIDB4MGEsIDB4NTEsIDB4MjMsIDB4N2UsIAotICAgIDB4MTgsIDB4NzQsIDB4MjQsIDB4N2EsIDB4MWMsIDB4MDAsIDB4ZmYsIDB4MmQsIDB4MzUsIDB4MGIsIDB4MWEsIDB4NTAsIDB4NjAsIDB4MDgsIDB4YTUsIDB4YjgsIAotICAgIDB4MDIsIDB4MDMsIDB4NGUsIDB4YTAsIDB4MDgsIDB4MjIsIDB4ODAsIDB4ZmUsIAotfTsKLQotc3RhdGljIHN0cnVjdCBlZGdlX2Zpcm13YXJlX3ZlcnNpb25faW5mbyBJTUFHRV9WRVJTSU9OX05BTUUgPSB7Ci0JMiwgMCwgMyB9OwkJLy8gTWFqb3IsIE1pbm9yLCBCdWlsZAotCi0jdW5kZWYgSU1BR0VfVkVSU0lPTl9OQU1FCi0KLSN1bmRlZiBJTUFHRV9BUlJBWV9OQU1FCi0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC9pb19md19kb3duMy5oIGIvZHJpdmVycy91c2Ivc2VyaWFsL2lvX2Z3X2Rvd24zLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ0OTZiMDYuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy91c2Ivc2VyaWFsL2lvX2Z3X2Rvd24zLmgKKysrIC9kZXYvbnVsbApAQCAtMSw4NDcgKzAsMCBAQAotLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotLy8qIEVkZ2Vwb3J0IEJpbmFyeSBJbWFnZSAoZm9yIFRJIGJhc2VkIHByb2R1Y3RzKQotLy8qIEdlbmVyYXRlZCBieSBUSUJpbjJDIHYyLjAwICh3YXRjaHBvcnQpCi0vLyogQ29weXJpZ2h0IChDKSAyMDAxIEluc2lkZSBPdXQgTmV0d29ya3MsIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0KLQotc3RhdGljIGludCBJTUFHRV9TSVpFID0gMTI5Mzg7Ci0KLXN0cnVjdCBFREdFX0ZJUk1XQVJFX1ZFUlNJT05fSU5GTwotewotCXVuc2lnbmVkIGNoYXIgICBNYWpvclZlcnNpb247Ci0JdW5zaWduZWQgY2hhciAgIE1pbm9yVmVyc2lvbjsKLQl1bnNpZ25lZCBzaG9ydCAgQnVpbGROdW1iZXI7Ci19OwotCi1zdGF0aWMgc3RydWN0IEVER0VfRklSTVdBUkVfVkVSU0lPTl9JTkZPIElNQUdFX1ZFUlNJT05fTkFNRSA9Ci17Ci0JNCwgODAsIDAJCS8vIE1ham9yLCBNaW5vciwgQnVpbGQKLQotfTsKLQotc3RhdGljIHVuc2lnbmVkIGNoYXIgSU1BR0VfQVJSQVlfTkFNRVtdID0gCi17Ci0vLyAgc3RydWN0IEltYWdlSGRyCi0vLyAgewotLy8gICAgICBXT1JEICAgIExlbmd0aDsKLS8vICAgICAgQllURSAgICBDaGVja1N1bTsKLS8vICB9OwotMHg4NywgMHgzMiwKLTB4OWEsCi0KLTB4MDIsIDB4MjcsIDB4YmYsIDB4MDIsIDB4MjEsIDB4YjIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MDAsIDB4MWUsIDB4MDAsIDB4MDAsCi0weDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDAxLCAweDFhLCAweDg1LCAweDNmLCAKLTB4OGMsIDB4ODUsIDB4NDAsIDB4OGEsIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ZDAsIDB4YzAsIDB4ZjAsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODMsIDB4YzAsIDB4MDAsIAotMHhjMCwgMHgwMSwgMHhjMCwgMHgwMiwgMHhjMCwgMHgwMywgMHhjMCwgMHgwNCwgMHhjMCwgMHgwNSwgMHhjMCwgMHgwNiwgMHhjMCwgMHgwNywgMHhlNSwgMHgzZSwgCi0weDI0LCAweDA4LCAweGY4LCAweGU2LCAweDYwLCAweDJiLCAweGU1LCAweDNlLCAweDI0LCAweDEwLCAweGY4LCAweGE2LCAweDgxLCAweGU1LCAweDNlLCAweDc1LCAKLTB4ZjAsIDB4MjEsIDB4YTQsIDB4MjQsIDB4MDUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4ZjgsIDB4ZjUsIDB4ODMsIDB4NzgsIDB4OGMsIDB4ZTUsIDB4ODEsIAotMHgwNCwgMHhjMywgMHg5OCwgMHhmOSwgMHg5NCwgMHgyMiwgMHg0MCwgMHgwMywgMHgwMiwgMHgxMSwgMHhkYywgMHhlNiwgMHhmMCwgMHgwOCwgMHhhMywgMHhkOSwKLTB4ZmEsIDB4NzQsIDB4MDgsIDB4MjUsIDB4M2UsIDB4ZjgsIDB4MDUsIDB4M2UsIDB4MDgsIDB4ZTYsIDB4NTQsIDB4ODAsIDB4NzAsIDB4MGMsIDB4ZTUsIDB4M2UsIAotMHhiNCwgMHgwNywgMHhmMywgMHg3OCwgMHgwOCwgMHg3NSwgMHgzZSwgMHgwMCwgMHg4MCwgMHhlZiwgMHhlNSwgMHgzZSwgMHgyNCwgMHgxMCwgMHhmOCwgMHg4NiwgCi0weDgxLCAweGU1LCAweDNlLCAweDc1LCAweGYwLCAweDIxLCAweGE0LCAweDI0LCAweDA1LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweGY4LCAweGY1LCAweDgzLCAKLTB4NzgsIDB4OGMsIDB4ZTUsIDB4ODEsIDB4MDQsIDB4YzMsIDB4OTgsIDB4ZjksIDB4ZTAsIDB4ZjYsIDB4MDgsIDB4YTMsIDB4ZDksIDB4ZmEsIDB4ZDAsIDB4MDcsIAotMHhkMCwgMHgwNiwgMHhkMCwgMHgwNSwgMHhkMCwgMHgwNCwgMHhkMCwgMHgwMywgMHhkMCwgMHgwMiwgMHhkMCwgMHgwMSwgMHhkMCwgMHgwMCwgMHhkMCwgMHg4MywgCi0weGQwLCAweDgyLCAweGQwLCAweGYwLCAweGQwLCAweGQwLCAweGQwLCAweGUwLCAweDMyLCAweDMwLCAweDAxLCAweDRkLCAweDMwLCAweGI0LCAweDQ4LCAweDEwLCAKLTB4MDAsIDB4NDUsIDB4OTAsIDB4ZmYsIDB4MDgsIDB4ZTAsIDB4NTQsIDB4MjAsIDB4ZjgsIDB4OTAsIDB4ZmYsIDB4NDgsIDB4ZTAsIDB4NTQsIDB4MjAsIDB4ZjksIAotMHg5MCwgMHhmZiwgMHgxMCwgMHhlMCwgMHg1NCwgMHgyMCwgMHhmYSwgMHg5MCwgMHhmZiwgMHg1MCwgMHhlMCwgMHg1NCwgMHgyMCwgMHhmYiwgMHg3NCwgMHgwMCwgCi0weGY1LCAweDgyLCAweDc0LCAweGY4LCAweGY1LCAweDgzLCAweGUwLCAweGM4LCAweGYwLCAweDY4LCAweDYwLCAweDAyLCAweDdlLCAweDA0LCAweGEzLCAweGUwLCAKLTB4YzksIDB4ZjAsIDB4NjksIDB4NjAsIDB4MDIsIDB4N2UsIDB4MDQsIDB4YTMsIDB4ZTAsIDB4Y2EsIDB4ZjAsIDB4NmEsIDB4NjAsIDB4MDIsIDB4N2UsIDB4MDQsIAotMHhhMywgMHhlMCwgMHhjYiwgMHhmMCwgMHg2YiwgMHg2MCwgMHgwMiwgMHg3ZSwgMHgwNCwgMHgyMiwgMHhjMCwgMHhlMCwgMHhjMCwgMHhkMCwgMHhjMCwgMHhmMCwgCi0weGMwLCAweDgyLCAweGMwLCAweDgzLCAweGMwLCAweDAwLCAweGMwLCAweDAxLCAweGMwLCAweDAyLCAweGMwLCAweDAzLCAweGMwLCAweDA0LCAweGMwLCAweDA1LCAKLTB4YzAsIDB4MDYsIDB4YzAsIDB4MDcsIDB4NzQsIDB4MTUsIDB4ZjUsIDB4ODIsIDB4NzQsIDB4ZjksIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MjMsIDB4NzQsCi0weDY2LCAweGY1LCAweDgyLCAweDc0LCAweGY5LCAweGY1LCAweDgzLCAweGUwLCAweDE0LCAweGYwLCAweDcwLCAweDE2LCAweDc0LCAweGZmLCAweGYwLCAweDc0LAotMHgxYywgMHhmNSwgMHg4MiwgMHg3NCwgMHhmOSwgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwgMHgwNCwgMHgxNCwgMHhmMCwgMHg3MCwgMHgwNCwgMHhjMiwgMHg5MCwKLTB4ODAsIDB4ZmMsIDB4OTAsIDB4ZmYsIDB4OTMsIDB4NzQsIDB4ODEsIDB4ZjAsIDB4ZTUsIDB4ODEsIDB4OTQsIDB4ZmQsIDB4NDAsIDB4MDMsIDB4MDIsIDB4MTEsCi0weGRjLCAweDg1LCAweDQxLCAweDhkLCAweDg1LCAweDQyLCAweDhiLCAweDc0LCAweGIyLCAweGY1LCAweDgyLCAweDc0LCAweGZhLCAweGY1LCAweDgzLCAweGUwLAotMHhiNCwgMHgwMSwgMHgxYiwgMHhjMCwgMHg4MiwgMHhjMCwgMHg4MywgMHg5MCwgMHhmZiwgMHg0YSwgMHhlMCwgMHgzMCwgMHhlNywgMHgyYywgMHg5MCwgMHhmZiwKLTB4NGUsIDB4ZTAsIDB4MzAsIDB4ZTcsIDB4MjUsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ODIsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4ODAsIDB4MjAsIDB4YjQsIDB4MDIsCi0weDFkLCAweGMwLCAweDgyLCAweGMwLCAweDgzLCAweDkwLCAweGZmLCAweDdhLCAweGUwLCAweDMwLCAweGU3LCAweDA1LCAweDEyLCAweDI4LCAweDRlLCAweDgwLAotMHgwOSwgMHhkMCwgMHg4MywgMHhkMCwgMHg4MiwgMHg3NCwgMHgwMywgMHhmMCwgMHg4MCwgMHgwNCwgMHhkMCwgMHg4MywgMHhkMCwgMHg4MiwgMHhhMywgMHhlMCwKLTB4YjQsIDB4MDEsIDB4MWIsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODMsIDB4OTAsIDB4ZmYsIDB4NTIsIDB4ZTAsIDB4MzAsIDB4ZTcsIDB4MmMsIDB4OTAsIDB4ZmYsCi0weDU2LCAweGUwLCAweDMwLCAweGU3LCAweDI1LCAweGQwLCAweDgzLCAweGQwLCAweDgyLCAweDc0LCAweDAyLCAweGYwLCAweDgwLCAweDI1LCAweGI0LCAweDAyLAotMHgyMiwgMHhjMCwgMHg4MiwgMHhjMCwgMHg4MywgMHg5MCwgMHhmZiwgMHg3YSwgMHhlMCwgMHgzMCwgMHhlNywgMHgwNSwgMHgxMiwgMHgyOCwgMHg0ZSwgMHg4MCwKLTB4MDksIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ODIsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4ODAsIDB4MDksIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ODIsIDB4ODAsIDB4MDMsCi0weDAyLCAweDAyLCAweDkwLCAweDc0LCAweDE2LCAweGY1LCAweDgyLCAweDc0LCAweGY5LCAweGY1LCAweDgzLCAweGUwLCAweDIwLCAweDA0LCAweGYxLCAweDIwLAotMHgwMiwgMHgwMywgMHgzMCwgMHgwMSwgMHhlYiwgMHg3NCwgMHgxOSwgMHhmNSwgMHg4MiwgMHg3NCwgMHhmOSwgMHhmNSwgMHg4MywgMHhlMCwgMHgxNCwgMHhmYywKLTB4ZjAsIDB4YTMsIDB4ZTAsIDB4ZmQsIDB4YTMsIDB4ZTAsIDB4ZmUsIDB4NjQsIDB4MDQsIDB4NzAsIDB4MGYsIDB4ZWMsIDB4NzAsIDB4NjIsIDB4N2UsIDB4MDEsCi0weDEyLCAweDAwLCAweGM5LCAweDdjLCAweDBhLCAweDdkLCAweGZhLCAweDAyLCAweDAyLCAweDYxLCAweDEyLCAweDAwLCAweGM5LCAweGVlLCAweDY0LCAweDA0LAotMHg2MCwgMHgxZCwgMHhlYywgMHg3MCwgMHg0YiwgMHg3YywgMHgwYSwgMHhlZCwgMHgxNCwgMHhmZCwgMHg3MCwgMHgxNSwgMHhlZSwgMHg2NCwgMHgwMiwgMHg2MCwKLTB4MDcsIDB4N2UsIDB4MDIsIDB4N2QsIDB4MzIsIDB4MDIsIDB4MDIsIDB4NjEsIDB4N2UsIDB4MDEsIDB4N2QsIDB4ZmEsIDB4MDIsIDB4MDIsIDB4NjEsIDB4N2MsCi0weDBhLCAweDc0LCAweDE5LCAweGY1LCAweDgyLCAweDc0LCAweGY5LCAweGY1LCAweDgzLCAweGVjLCAweGYwLCAweGEzLCAweGVkLCAweGYwLCAweGEzLCAweGVlLAotMHhmMCwgMHgxNCwgMHg2MCwgMHgxOCwgMHgyMCwgMHhlMSwgMHgwZiwgMHgyMCwgMHgwMSwgMHgwNiwgMHhkMiwgMHhiMSwgMHhjMiwgMHhiMCwgMHg4MCwgMHgxMCwKLTB4YzIsIDB4YjEsIDB4ZDIsIDB4YjAsIDB4ODAsIDB4MGEsIDB4YzIsIDB4YjEsIDB4YzIsIDB4YjAsIDB4ODAsIDB4MDQsIDB4ZDIsIDB4YjAsIDB4ZDIsIDB4YjEsCi0weDc4LCAweDE5LCAweDc5LCAweDA5LCAweDdhLCAweDA3LCAweGU3LCAweDcwLCAweDA0LCAweGE2LCAweDAwLCAweDgwLCAweDBiLCAweGU2LCAweDYwLCAweDA4LAotMHgxNiwgMHhlNiwgMHg3MCwgMHgwNCwgMHhlNywgMHg0NCwgMHg4MCwgMHhmNywgMHgwOCwgMHgwOSwgMHhkYSwgMHhlYSwgMHhlNSwgMHgzZCwgMHg2MCwgMHgxMywKLTB4MTQsIDB4ZjUsIDB4M2QsIDB4NzAsIDB4MGUsIDB4ZTUsIDB4M2UsIDB4MjQsIDB4MDgsIDB4ZjgsIDB4NzYsIDB4MDAsIDB4MTIsIDB4MTEsIDB4NTcsIDB4ZDIsCi0weDhjLCAweGQyLCAweDhkLCAweGQwLCAweDA3LCAweGQwLCAweDA2LCAweGQwLCAweDA1LCAweGQwLCAweDA0LCAweGQwLCAweDAzLCAweGQwLCAweDAyLCAweGQwLAotMHgwMSwgMHhkMCwgMHgwMCwgMHhkMCwgMHg4MywgMHhkMCwgMHg4MiwgMHhkMCwgMHhmMCwgMHhkMCwgMHhkMCwgMHhkMCwgMHhlMCwgMHgzMiwgMHg5MCwgMHhmZiwKLTB4MDQsIDB4ZTAsIDB4OTAsIDB4ZmEsIDB4YjksIDB4ZjAsIDB4OTAsIDB4ZmYsIDB4MDYsIDB4ZTAsIDB4ZmMsIDB4YTMsIDB4ZTAsIDB4ZmEsIDB4ZWMsIDB4ZmYsCi0weGVhLCAweGZlLCAweGVmLCAweGMzLCAweDk0LCAweDA4LCAweGVlLCAweDk0LCAweDAxLCAweDUwLCAweDAyLCAweDgwLCAweDA0LCAweDdlLCAweDAxLCAweDdmLAotMHgwOCwgMHg4ZSwgMHgzYiwgMHg4ZiwgMHgzYywgMHg5MCwgMHhmZiwgMHgwMiwgMHhlMCwgMHhmYywgMHhhMywgMHhlMCwgMHhmYSwgMHhlYywgMHhmZiwgMHhlYSwKLTB4OTAsIDB4ZmEsIDB4YmQsIDB4ZjAsIDB4ZWYsIDB4YTMsIDB4ZjAsIDB4MTIsIDB4MWMsIDB4ZTAsIDB4ZTQsIDB4ZjUsIDB4NGQsIDB4ZTUsIDB4NGQsIDB4YzMsCi0weDk0LCAweDAyLCAweDUwLCAweDBmLCAweDEyLCAweDFjLCAweGMxLCAweGU0LCAweDEyLCAweDFhLCAweGU4LCAweDA1LCAweDRkLCAweDA0LCAweDEyLCAweDFjLAotMHhiMiwgMHg4MCwgMHhlYSwgMHgxMiwgMHgxYywgMHhlMCwgMHg5MCwgMHhmZiwgMHgwMCwgMHhlMCwgMHhmZiwgMHg1NCwgMHg2MCwgMHgyNCwgMHhjMCwgMHg3MCwKLTB4MDMsIDB4MDIsIDB4MDgsIDB4ZjMsIDB4MjQsIDB4NDAsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4OTAsIDB4ZmEsIDB4YjksIDB4ZTAsIDB4ZmUsCi0weDU0LCAweDBmLCAweGY1LCAweDRkLCAweGVlLCAweDMwLCAweGU3LCAweDAzLCAweGQzLCAweDgwLCAweDAxLCAweGMzLCAweDkyLCAweDBhLCAweDkwLCAweGZmLAotMHgwMSwgMHhlMCwgMHgxMiwgMHgxYiwgMHhmYywgMHgwMywgMHg4NCwgMHgwMCwgMHgwNCwgMHg1NywgMHgwMSwgMHgwNSwgMHg2YSwgMHgwMywgMHgwNiwgMHgzMSwKLTB4MDUsIDB4MDYsIDB4NzMsIDB4MDYsIDB4MDcsIDB4ZDUsIDB4MDgsIDB4MDgsIDB4MWQsIDB4MDksIDB4MDgsIDB4NzksIDB4MGEsIDB4MDgsIDB4YjksIDB4MGIsCi0weDAwLCAweDAwLCAweDBmLCAweDZlLCAweGU1LCAweDM1LCAweDIwLCAweGU3LCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweDkwLCAweGZhLCAweGJkLCAweGUwLAotMHg3MCwgMHgwMiwgMHhhMywgMHhlMCwgMHg2MCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHhlNSwgMHgzYywgMHg2NCwgMHgwMiwgMHg0NSwgMHgzYiwgMHg2MCwKLTB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4ZWYsIDB4NTQsIDB4MWYsIDB4MTQsIDB4NjAsIDB4MmIsIDB4MTQsIDB4NjAsIDB4NDcsIDB4MjQsIDB4MDIsIDB4NjAsCi0weDAzLCAweDAyLCAweDBmLCAweDZlLCAweGVlLCAweDYwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweDEyLCAweDFjLCAweGMxLCAweDc0LCAweDAxLCAweDEyLAotMHgxYSwgMHhlOCwgMHg3OCwgMHg2NywgMHhlNiwgMHgzMCwgMHhlMCwgMHgwOCwgMHgxMiwgMHgxYywgMHhjMSwgMHg3NCwgMHgwMiwgMHgxMiwgMHgxYSwgMHhlOCwKLTB4N2YsIDB4MDIsIDB4MDIsIDB4MzIsIDB4NmUsIDB4ZTUsIDB4MzUsIDB4MjAsIDB4ZTEsIDB4MDksIDB4OTAsIDB4ZmEsIDB4YjksIDB4ZTAsIDB4NjAsIDB4MDMsCi0weDAyLCAweDBmLCAweDZlLCAweDkwLCAweGZhLCAweGI5LCAweGUwLCAweGQzLCAweDk0LCAweDAxLCAweDQwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweDdmLAotMHgwMiwgMHgwMiwgMHgzMiwgMHg2ZSwgMHhlNSwgMHgzNSwgMHgyMCwgMHhlMSwgMHgwZSwgMHg5MCwgMHhmYSwgMHhiOSwgMHhlMCwgMHhmZiwgMHg2MCwgMHgwNywKLTB4NjQsIDB4ODAsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4MTIsIDB4MGYsIDB4ZmEsIDB4NDAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4ZTUsCi0weDRkLCAweDcwLCAweDE5LCAweDMwLCAweDBhLCAweDBiLCAweDkwLCAweGZmLCAweDgwLCAweDEyLCAweDFjLCAweGJlLCAweDEyLCAweDFhLCAweGU4LCAweDgwLAotMHgyNCwgMHg5MCwgMHhmZiwgMHg4MiwgMHgxMiwgMHgxYywgMHhiZSwgMHgxMiwgMHgxYSwgMHhlOCwgMHg4MCwgMHgxOSwgMHgxNSwgMHg0ZCwgMHgzMCwgMHgwYSwKLTB4MGIsIDB4MTIsIDB4MWQsIDB4NTUsIDB4MTIsIDB4MWMsIDB4YmMsIDB4MTIsIDB4MWEsIDB4ZTgsIDB4ODAsIDB4MDksIDB4MTIsIDB4MWQsIDB4NjMsIDB4MTIsCi0weDFjLCAweGJjLCAweDEyLCAweDFhLCAweGU4LCAweDEyLCAweDFjLCAweGMxLCAweDEyLCAweDFhLCAweGEyLCAweDYwLCAweDA1LCAweDc0LCAweDAxLCAweDEyLAotMHgxYSwgMHhlOCwgMHg3ZiwgMHgwMiwgMHgwMiwgMHgzMiwgMHg2ZSwgMHhlNSwgMHgzNSwgMHgzMCwgMHhlNywgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHhlNSwKLTB4M2MsIDB4NDUsIDB4M2IsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4MTIsIDB4MWQsIDB4NzksIDB4MTQsIDB4NjAsIDB4MmQsIDB4MTQsIDB4NjAsCi0weDU5LCAweDI0LCAweDAyLCAweDYwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweDkwLCAweGZhLCAweGJkLCAweGUwLCAweDcwLCAweDA0LCAweGEzLCAweGUwLAotMHg2NCwgMHgwMSwgMHg2MCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHg5MCwgMHhmYSwgMHhiOSwgMHhlMCwgMHg2MCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwKLTB4NzgsIDB4NjcsIDB4ZTYsIDB4NTQsIDB4ZmUsIDB4ZjYsIDB4ZTQsIDB4ZmYsIDB4MDIsIDB4MzIsIDB4NmUsIDB4ZTUsIDB4MzUsIDB4MjAsIDB4ZTEsIDB4MDYsCi0weDIwLCAweGUwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweGU1LCAweDM1LCAweDMwLCAweGUwLCAweDA5LCAweDkwLCAweGZhLCAweGI5LCAweGUwLCAweDYwLAotMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHhlNSwgMHgzNSwgMHgzMCwgMHhlMSwgMHgwYywgMHg5MCwgMHhmYSwgMHhiOSwgMHhlMCwgMHhkMywgMHg5NCwgMHgwMSwKLTB4NDAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4ZTQsIDB4ZmYsIDB4MDIsIDB4MzIsIDB4NmUsIDB4OTAsIDB4ZmEsIDB4YmQsIDB4ZTAsIDB4NzAsIDB4MDIsCi0weGEzLCAweGUwLCAweDYwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweDEyLCAweDBmLCAweGZhLCAweDQwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweGU1LAotMHgzNSwgMHgyMCwgMHhlMSwgMHgwNiwgMHgyMCwgMHhlMCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHhlNSwgMHgzNSwgMHgzMCwgMHhlMCwgMHgwNywgMHhlNSwKLTB4NGQsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4ZTUsIDB4NGQsIDB4NzAsIDB4MGYsIDB4OTAsIDB4ZmYsIDB4ODIsIDB4ZTAsIDB4NTQsIDB4ZjcsCi0weGYwLCAweDkwLCAweGZmLCAweDgwLCAweGUwLCAweDU0LCAweGY3LCAweGYwLCAweDIyLCAweGU1LCAweDRkLCAweDI0LCAweGZlLCAweDYwLCAweDIwLCAweDI0LAotMHhmYiwgMHg2MCwgMHgzNCwgMHgyNCwgMHgwNiwgMHg3MCwgMHgzNSwgMHgzMCwgMHgwYSwgMHgwYywgMHhhMiwgMHgwYSwgMHhlNCwgMHgzMywgMHhmZCwgMHg3ZiwKLTB4MDMsIDB4MTIsIDB4MmUsIDB4NzksIDB4ODAsIDB4MjYsIDB4ZTQsIDB4ZmQsIDB4N2YsIDB4MDMsIDB4MTIsIDB4MmUsIDB4NzksIDB4ODAsIDB4MWQsIDB4MzAsCi0weDBhLCAweDBjLCAweGEyLCAweDBhLCAweGU0LCAweDMzLCAweGZkLCAweDdmLCAweDA0LCAweDEyLCAweDJlLCAweDc5LCAweDgwLCAweDBlLCAweGU0LCAweGZkLAotMHg3ZiwgMHgwNCwgMHgxMiwgMHgyZSwgMHg3OSwgMHg4MCwgMHgwNSwgMHg3ZiwgMHg4NywgMHgxMiwgMHgzMSwgMHhlZiwgMHgxNSwgMHg0ZCwgMHgzMCwgMHgwYSwKLTB4MGIsIDB4MTIsIDB4MWQsIDB4NTUsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4ZjcsIDB4ZjAsIDB4ODAsIDB4MDksIDB4MTIsIDB4MWQsIDB4NjMsIDB4ZjUsCi0weDgzLCAweGUwLCAweDU0LCAweGY3LCAweGYwLCAweGU0LCAweGZmLCAweDAyLCAweDMyLCAweDZlLCAweGU1LCAweDM1LCAweDMwLCAweGU3LCAweDAzLCAweDAyLAotMHgwZiwgMHg2ZSwgMHhlNSwgMHgzYywgMHg0NSwgMHgzYiwgMHg2MCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHgxMiwgMHgxZCwgMHg3OSwgMHgxNCwgMHg2MCwKLTB4MmQsIDB4MTQsIDB4NjAsIDB4NTUsIDB4MjQsIDB4MDIsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4OTAsIDB4ZmEsIDB4YmQsIDB4ZTAsIDB4NzAsCi0weDA0LCAweGEzLCAweGUwLCAweDY0LCAweDAxLCAweDYwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweDkwLCAweGZhLCAweGI5LCAweGUwLCAweDYwLCAweDAzLAotMHgwMiwgMHgwZiwgMHg2ZSwgMHg3OCwgMHg2NywgMHhlNiwgMHg0NCwgMHgwMSwgMHhmNiwgMHhlNCwgMHhmZiwgMHgwMiwgMHgzMiwgMHg2ZSwgMHhlNSwgMHgzNSwKLTB4MjAsIDB4ZTEsIDB4MDYsIDB4MjAsIDB4ZTAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4ZTUsIDB4MzUsIDB4MzAsIDB4ZTAsIDB4MDcsIDB4ZTUsIDB4NGQsCi0weDYwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweGU1LCAweDM1LCAweDMwLCAweGUxLCAweDBhLCAweGU1LCAweDRkLCAweGQzLCAweDk0LCAweDAxLCAweDQwLAotMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHhlNCwgMHhmZiwgMHgwMiwgMHgzMiwgMHg2ZSwgMHg5MCwgMHhmYSwgMHhiZCwgMHhlMCwgMHg3MCwgMHgwMiwgMHhhMywKLTB4ZTAsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4OTAsIDB4ZmEsIDB4YjksIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MzIsIDB4M2YsIDB4NDAsIDB4MDMsCi0weDAyLCAweDBmLCAweDZlLCAweGU1LCAweDM1LCAweDIwLCAweGUxLCAweDA2LCAweDIwLCAweGUwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweGU1LCAweDRkLAotMHg3MCwgMHgwOSwgMHgzMCwgMHgwYSwgMHgwMywgMHgwMiwgMHgxZSwgMHgxNCwgMHgwMiwgMHgxZCwgMHhkZiwgMHhlNSwgMHgzNSwgMHgyMCwgMHhlMSwgMHgwMywKLTB4MDIsIDB4MGYsIDB4NmUsIDB4MTUsIDB4NGQsIDB4MzAsIDB4MGEsIDB4MGIsIDB4MTIsIDB4MWQsIDB4NTUsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4MDgsCi0weGYwLCAweDgwLCAweDA5LCAweDEyLCAweDFkLCAweDYzLCAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDA4LCAweGYwLCAweGU0LCAweGZmLCAweDAyLCAweDMyLAotMHg2ZSwgMHhlNSwgMHgzNSwgMHgzMCwgMHhlNywgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHhlNSwgMHgzYywgMHg0NSwgMHgzYiwgMHg2MCwgMHgwMywgMHgwMiwKLTB4MGYsIDB4NmUsIDB4OTAsIDB4ZmEsIDB4YjksIDB4ZTAsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4MTIsIDB4MWQsIDB4NzksIDB4NjAsIDB4MDMsCi0weDAyLCAweDBmLCAweDZlLCAweGU1LCAweDM1LCAweDMwLCAweGUxLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweDkwLCAweGZhLCAweGJlLCAweGUwLCAweDkwLAotMHhmZiwgMHhmZiwgMHhmMCwgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHgzNSwgMHgwMSwgMHg4MCwgMHgwMywgMHg1MywgMHgzNSwgMHhmZSwgMHhlNCwgMHhmZiwKLTB4MDIsIDB4MzIsIDB4NmUsIDB4ZTUsIDB4MzUsIDB4MjAsIDB4ZTcsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4ZTUsIDB4M2MsIDB4NDUsIDB4M2IsIDB4NzAsCi0weDAzLCAweDAyLCAweDBmLCAweDZlLCAweDEyLCAweDFkLCAweDc5LCAweDYwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweDkwLCAweGZhLCAweGJkLCAweGUwLAotMHhmYywgMHhhMywgMHhlMCwgMHhmZCwgMHhlYywgMHgyNCwgMHhmZSwgMHg2MCwgMHgzYSwgMHgxNCwgMHg2MCwgMHg3NSwgMHgyNCwgMHgwMiwgMHg2MCwgMHgwMywKLTB4MDIsIDB4MGYsIDB4NmUsIDB4ZWQsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4MTIsIDB4MWMsIDB4ZTAsIDB4MTIsIDB4MWUsIDB4MGQsIDB4N2QsCi0weDAzLCAweDEyLCAweDBmLCAweGI1LCAweDYwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweDEyLCAweDBmLCAweDcyLCAweDkwLCAweGZhLCAweGI2LCAweGUwLAotMHhmZCwgMHhhMywgMHgxMiwgMHgxZCwgMHgyYiwgMHgxMiwgMHgwZiwgMHhkMSwgMHg1MCwgMHgwMiwgMHg4MCwgMHgwNCwgMHhhZSwgMHgzYiwgMHhhZiwgMHgzYywKLTB4MDIsIDB4MTAsIDB4MDIsIDB4MTIsIDB4MWMsIDB4ZTAsIDB4OTAsIDB4ZjksIDB4MTYsIDB4ZTAsIDB4MzAsIDB4ZTQsIDB4MGQsIDB4MTIsIDB4MWUsIDB4MGQsCi0weDdkLCAweDE0LCAweDEyLCAweDBmLCAweGI1LCAweDYwLCAweDEwLCAweDAyLCAweDBmLCAweDZlLCAweDEyLCAweDFlLCAweDBkLCAweDdkLCAweDA0LCAweDEyLAotMHgxMCwgMHgwOSwgMHg2MCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHgxMiwgMHgwZiwgMHg3MiwgMHg5MCwgMHhmYSwgMHhiNiwgMHhlMCwgMHhmZCwgMHhhMywKLTB4MTIsIDB4MWQsIDB4MmIsIDB4MTIsIDB4MGYsIDB4ZDEsIDB4NTAsIDB4MDIsIDB4ODAsIDB4MDQsIDB4YWUsIDB4M2IsIDB4YWYsIDB4M2MsIDB4MDIsIDB4MTAsCi0weDAyLCAweDEyLCAweDFlLCAweDBkLCAweDdkLCAweDA1LCAweDEyLCAweDEwLCAweDA5LCAweDYwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweDdiLCAweDAxLAotMHg3YSwgMHhmYSwgMHg3OSwgMHhiNiwgMHgxMiwgMHgxZCwgMHgyOCwgMHg3ZCwgMHgwMSwgMHgxMiwgMHgyNiwgMHg5OCwgMHg5MCwgMHhmYSwgMHhiNywgMHhlNCwKLTB4NzUsIDB4ZjAsIDB4MDMsIDB4MTIsIDB4MWIsIDB4MWMsIDB4OTAsIDB4ZmEsIDB4YmUsIDB4ZTAsIDB4OTAsIDB4ZmEsIDB4YjUsIDB4ZjAsIDB4ZTQsIDB4ZjUsCi0weDRjLCAweDkwLCAweGZhLCAweGI1LCAweGUwLCAweGZmLCAweGU1LCAweDRjLCAweGMzLCAweDlmLCAweDUwLCAweDI0LCAweDEyLCAweDFkLCAweDIyLCAweDEyLAotMHgxMCwgMHgxNCwgMHhmZiwgMHhmZCwgMHg5MCwgMHhmYSwgMHhiNywgMHhlNCwgMHg4ZCwgMHhmMCwgMHgxMiwgMHgxYiwgMHgxYywgMHg5MCwgMHhmYSwgMHhiNiwKLTB4ZTAsIDB4YzMsIDB4OWYsIDB4ZjAsIDB4ZDMsIDB4OTQsIDB4MDAsIDB4NTAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4MDUsIDB4NGMsIDB4ODAsIDB4ZDEsCi0weDEyLCAweDFkLCAweDIyLCAweDEyLCAweDEwLCAweDE0LCAweDI0LCAweGZlLCAweGZmLCAweDkwLCAweGZhLCAweGI2LCAweGYwLCAweGZkLCAweGEzLCAweGU0LAotMHg3NSwgMHhmMCwgMHgwMiwgMHgxMiwgMHgxYiwgMHgxYywgMHg3YSwgMHhmOSwgMHg3OSwgMHg3MiwgMHg3YiwgMHgwMSwgMHg4YiwgMHgzNiwgMHg4YSwgMHgzNywKLTB4ODksIDB4MzgsIDB4ZTksIDB4MjQsIDB4MDIsIDB4ZjksIDB4ZTQsIDB4M2EsIDB4ZmEsIDB4MTIsIDB4MWQsIDB4MjgsIDB4MTIsIDB4MjYsIDB4OTgsIDB4OGYsCi0weDRjLCAweDA1LCAweDRjLCAweDA1LCAweDRjLCAweDEyLCAweDFjLCAweGMxLCAweGU1LCAweDRjLCAweDEyLCAweDFhLCAweGU4LCAweDEyLCAweDFjLCAweGMxLAotMHg5MCwgMHgwMCwgMHgwMSwgMHg3NCwgMHgwMywgMHgxMiwgMHgxYSwgMHhmYSwgMHhhZiwgMHg0YywgMHg3ZSwgMHgwMCwgMHhjMywgMHhlZiwgMHg5NSwgMHgzYywKLTB4ZWUsIDB4OTUsIDB4M2IsIDB4NTAsIDB4MDIsIDB4ODAsIDB4MDQsIDB4YWUsIDB4M2IsIDB4YWYsIDB4M2MsIDB4OGUsIDB4MzksIDB4OGYsIDB4M2EsIDB4MDIsCi0weDJjLCAweGQ4LCAweDAyLCAweDBmLCAweDZlLCAweGU1LCAweDM1LCAweDIwLCAweGU3LCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweGU1LCAweDNjLCAweDY0LAotMHgwMSwgMHg0NSwgMHgzYiwgMHg2MCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHg5MCwgMHhmYSwgMHhiOSwgMHhlMCwgMHg2MCwgMHgwMywgMHgwMiwgMHgwZiwKLTB4NmUsIDB4OTAsIDB4ZmEsIDB4YmQsIDB4ZTAsIDB4NzAsIDB4MDIsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4MTIsIDB4MWQsCi0weDc5LCAweDYwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweGU1LCAweDM1LCAweDIwLCAweGUwLCAweDA2LCAweDIwLCAweGUxLCAweDAzLCAweDAyLCAweDBmLAotMHg2ZSwgMHg3NSwgMHgzNiwgMHgwMCwgMHg3NSwgMHgzNywgMHgwMCwgMHg3NSwgMHgzOCwgMHgzMiwgMHgwMiwgMHgwZiwgMHhmMSwgMHhlNSwgMHgzNSwgMHgzMCwKLTB4ZTcsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4ZTUsIDB4M2MsIDB4NDUsIDB4M2IsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4OTAsIDB4ZmEsCi0weGI5LCAweGUwLCAweDYwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweGQzLCAweDkwLCAweGZhLCAweGJlLCAweGUwLCAweDk0LCAweDAxLCAweDkwLCAweGZhLAotMHhiZCwgMHhlMCwgMHg5NCwgMHgwMCwgMHg0MCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHgxMiwgMHgxZCwgMHg3OSwgMHg2MCwgMHgwMywgMHgwMiwgMHgwZiwKLTB4NmUsIDB4ZTUsIDB4MzUsIDB4MjAsIDB4ZTAsIDB4MDYsIDB4MjAsIDB4ZTEsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4OTAsIDB4ZmEsIDB4YmUsIDB4ZTAsCi0weGY1LCAweDMyLCAweGU1LCAweDMyLCAweDcwLCAweDA4LCAweDQzLCAweDM1LCAweDAxLCAweDUzLCAweDM1LCAweGZkLCAweDgwLCAweDA2LCAweDUzLCAweDM1LAotMHhmZSwgMHg0MywgMHgzNSwgMHgwMiwgMHhlNCwgMHhmZiwgMHgwMiwgMHgzMiwgMHg2ZSwgMHhlNSwgMHgzNSwgMHgyMCwgMHhlNywgMHgwMywgMHgwMiwgMHgwZiwKLTB4NmUsIDB4ZTUsIDB4M2MsIDB4NjQsIDB4MDEsIDB4NDUsIDB4M2IsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4OTAsIDB4ZmEsIDB4YjksIDB4ZTAsCi0weDYwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweDkwLCAweGZhLCAweGJkLCAweGUwLCAweDcwLCAweDAyLCAweGEzLCAweGUwLCAweDYwLCAweDAzLCAweDAyLAotMHgwZiwgMHg2ZSwgMHgxMiwgMHgxZCwgMHg3OSwgMHg2NCwgMHgwMSwgMHg2MCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHhlNSwgMHgzNSwgMHgyMCwgMHhlMSwKLTB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4N2YsIDB4MDEsIDB4MDIsIDB4MzIsIDB4NmUsIDB4ZTUsIDB4MzUsIDB4MzAsIDB4ZTcsIDB4MDMsIDB4MDIsIDB4MGYsCi0weDZlLCAweGU1LCAweDNjLCAweDQ1LCAweDNiLCAweDYwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweGQzLCAweDkwLCAweGZhLCAweGJlLCAweGUwLCAweDk0LAotMHgwMCwgMHg5MCwgMHhmYSwgMHhiZCwgMHhlMCwgMHg5NCwgMHgwMCwgMHg0MCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHgxMiwgMHgxZCwgMHg3OSwgMHg2NCwKLTB4MDEsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4ZTUsIDB4MzUsIDB4MjAsIDB4ZTEsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4ZTQsIDB4ZmYsCi0weDAyLCAweDMyLCAweDZlLCAweDkwLCAweGZmLCAweDAxLCAweDEyLCAweDFlLCAweDI0LCAweGVmLCAweDEyLCAweDFhLCAweGU4LCAweDkwLCAweGZhLCAweGI5LAotMHgxMiwgMHgxZSwgMHgyNCwgMHg5MCwgMHgwMCwgMHgwMSwgMHhlZiwgMHgxMiwgMHgxYSwgMHhmYSwgMHg5MCwgMHgwMCwgMHgwMiwgMHhlNCwgMHgxMiwgMHgxYSwKLTB4ZmEsIDB4NzQsIDB4MDMsIDB4MTIsIDB4MWMsIDB4YjIsIDB4OTAsIDB4ZmEsIDB4YmQsIDB4ZTAsIDB4ZmYsIDB4YTMsIDB4ZTAsIDB4ODUsIDB4MzgsIDB4ODIsCi0weDg1LCAweDM3LCAweDgzLCAweGNmLCAweGYwLCAweGEzLCAweGVmLCAweGYwLCAweDkwLCAweGZmLCAweDAxLCAweGUwLCAweDEyLCAweDFiLCAweGZjLCAweDA5LAotMHg3YiwgMHgwMiwgMHgwOSwgMHg5ZCwgMHgwNCwgMHgwOSwgMHhiZiwgMHgwNSwgMHgwOSwgMHhlYiwgMHgwNiwgMHgwYSwgMHgwOSwgMHgwNywgMHgwYSwgMHgyNywKLTB4MDgsIDB4MGEsIDB4NDUsIDB4MDksIDB4MGEsIDB4NjMsIDB4MGIsIDB4MGIsIDB4MTgsIDB4ODAsIDB4MGQsIDB4YjcsIDB4ODEsIDB4MGQsIDB4ZTgsIDB4ODIsCi0weDBiLCAweDVmLCAweDgzLCAweDBiLCAweGE4LCAweDg0LCAweDBiLCAweGM3LCAweDg1LCAweDBjLCAweDBjLCAweDg2LCAweDBjLCAweDU3LCAweDg3LCAweDBjLAotMHhlOCwgMHg4OCwgMHgwZCwgMHg3MywgMHg4OSwgMHgwYSwgMHg4MSwgMHg5MiwgMHgwYSwgMHg4MSwgMHg5MywgMHgwZCwgMHhhMCwgMHhiMCwgMHgwZSwgMHg5YiwKLTB4YzAsIDB4MGUsIDB4YzcsIDB4YzEsIDB4MGUsIDB4ZDgsIDB4YzIsIDB4MDAsIDB4MDAsIDB4MGYsIDB4NWQsIDB4ZTUsIDB4MzUsIDB4MjAsIDB4ZTcsIDB4MDUsCi0weDdmLCAweDA1LCAweDAyLCAweDMxLCAweGE5LCAweDEyLCAweDFkLCAweDcxLCAweDYwLCAweDAzLCAweDA0LCAweDcwLCAweDA5LCAweGVmLCAweGZkLCAweDdjLAotMHgwMCwgMHg3ZiwgMHgwNywgMHgwMiwgMHgxMSwgMHg1ZSwgMHhlNCwgMHhmZCwgMHg3ZiwgMHgwNywgMHgwMiwgMHgyZiwgMHhiNCwgMHhlNSwgMHgzNSwgMHgyMCwKLTB4ZTcsIDB4MDUsIDB4N2YsIDB4MDUsIDB4MDIsIDB4MzEsIDB4YTksIDB4MTIsIDB4MWQsIDB4NzEsIDB4NjAsIDB4MDMsIDB4MDQsIDB4NzAsIDB4MDksIDB4ZWYsCi0weGZkLCAweDdjLCAweDAwLCAweDdmLCAweDBjLCAweDAyLCAweDExLCAweDVlLCAweGU0LCAweGZkLCAweDdmLCAweDA3LCAweDAyLCAweDJmLCAweGI0LCAweGU1LAotMHgzNSwgMHgzMCwgMHhlNywgMHgwMywgMHgwMiwgMHgwZiwgMHg3MSwgMHgxMiwgMHgxZSwgMHg0MiwgMHg1MCwgMHgwNiwgMHhlNSwgMHgzYywgMHg0NSwgMHgzYiwKLTB4NzAsIDB4MDUsIDB4N2YsIDB4MDIsIDB4MDIsIDB4MzEsIDB4YTksIDB4OTAsIDB4ZmEsIDB4YjksIDB4ZTAsIDB4MjQsIDB4ZmUsIDB4MjQsIDB4ZmQsIDB4NTAsCi0weDAyLCAweDgwLCAweDAzLCAweDAyLCAweDMyLCAweDJjLCAweDdmLCAweDA3LCAweDAyLCAweDMxLCAweGE5LCAweGU1LCAweDM1LCAweDMwLCAweGU3LCAweDAzLAotMHgwMiwgMHgwZiwgMHg3MSwgMHgxMiwgMHgxZCwgMHg3MSwgMHg2MCwgMHgwMywgMHgwNCwgMHg3MCwgMHgwOSwgMHhlZiwgMHhmZCwgMHg3YywgMHgwMCwgMHg3ZiwKLTB4MDgsIDB4MDIsIDB4MTEsIDB4NWUsIDB4N2YsIDB4MDcsIDB4MDIsIDB4MzEsIDB4YTksIDB4ZTUsIDB4MzUsIDB4MzAsIDB4ZTcsIDB4MDMsIDB4MDIsIDB4MGYsCi0weDcxLCAweDEyLCAweDFkLCAweDcxLCAweDYwLCAweDAzLCAweDA0LCAweDcwLCAweDA5LCAweGVmLCAweGZkLCAweDdjLCAweDAwLCAweDdmLCAweDA5LCAweDAyLAotMHgxMSwgMHg1ZSwgMHg3ZiwgMHgwNywgMHgwMiwgMHgzMSwgMHhhOSwgMHhlNSwgMHgzNSwgMHgzMCwgMHhlNywgMHgwMywgMHgwMiwgMHgwZiwgMHg3MSwgMHgxMiwKLTB4MWQsIDB4NzEsIDB4NjAsIDB4MDMsIDB4MDQsIDB4NzAsIDB4MDksIDB4ZWYsIDB4ZmQsIDB4N2MsIDB4MDAsIDB4N2YsIDB4MGEsIDB4MDIsIDB4MTEsIDB4NWUsCi0weDdmLCAweDA3LCAweDAyLCAweDMxLCAweGE5LCAweGU1LCAweDM1LCAweDMwLCAweGU3LCAweDAzLCAweDAyLCAweDBmLCAweDcxLCAweDEyLCAweDFkLCAweDcxLAotMHg2MCwgMHgwMywgMHgwNCwgMHg3MCwgMHgwOSwgMHhlZiwgMHhmZCwgMHg3YywgMHgwMCwgMHg3ZiwgMHgwYiwgMHgwMiwgMHgxMSwgMHg1ZSwgMHg3ZiwgMHgwNywKLTB4MDIsIDB4MzEsIDB4YTksIDB4ZTUsIDB4MzUsIDB4MzAsIDB4ZTcsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NzEsIDB4MTIsIDB4MWQsIDB4NzEsIDB4NjAsIDB4MDMsCi0weDA0LCAweDcwLCAweDA5LCAweGVmLCAweGZkLCAweDdjLCAweDAwLCAweDdmLCAweDBlLCAweDAyLCAweDExLCAweDVlLCAweDdmLCAweDA3LCAweDAyLCAweDMxLAotMHhhOSwgMHhlNSwgMHgzNSwgMHgzMCwgMHhlNywgMHg1NiwgMHgxMiwgMHgxZCwgMHg3OSwgMHg3MCwgMHg0YSwgMHg5MCwgMHhmZiwgMHgwMiwgMHhlMCwgMHhmNSwKLTB4NGMsIDB4ZTUsIDB4NGMsIDB4YjQsIDB4ODIsIDB4MDUsIDB4NzUsIDB4NGMsIDB4NjEsIDB4ODAsIDB4MTIsIDB4ZTUsIDB4NGMsIDB4YjQsIDB4ODMsIDB4MDUsCi0weDc1LCAweDRjLCAweDYyLCAweDgwLCAweDA4LCAweGU1LCAweDRjLCAweGM0LCAweDU0LCAweGYwLCAweDA0LCAweGY1LCAweDRjLCAweDEyLCAweDFjLCAweDIyLAotMHgxMiwgMHgxZSwgMHgzYiwgMHgxMiwgMHgyNSwgMHhmYSwgMHgxMiwgMHgxZCwgMHg4OSwgMHgxMiwgMHgxYSwgMHhiYiwgMHg2MCwgMHgwNSwgMHgxMiwgMHgzMiwKLTB4N2EsIDB4ODAsIDB4MDYsIDB4ODUsIDB4MzMsIDB4MzksIDB4ODUsIDB4MzQsIDB4M2EsIDB4NzUsIDB4MzYsIDB4MDEsIDB4NzUsIDB4MzcsIDB4ZjksIDB4NzUsCi0weDM4LCAweDc1LCAweDAyLCAweDJjLCAweGQ4LCAweGU0LCAweGZkLCAweDdmLCAweDA1LCAweDAyLCAweDJmLCAweGI0LCAweDEyLCAweDFkLCAweDc5LCAweDYwLAotMHgwNSwgMHg3ZiwgMHgwNSwgMHgwMiwgMHgzMSwgMHhhOSwgMHgxMiwgMHgxZSwgMHg0MiwgMHg0MCwgMHgwNSwgMHg3ZiwgMHgwMywgMHgwMiwgMHgzMSwgMHhhOSwKLTB4OTAsIDB4ZmYsIDB4MDIsIDB4ZTAsIDB4ZjUsIDB4NGMsIDB4ZTUsIDB4NGMsIDB4YjQsIDB4ODIsIDB4MDUsIDB4NzUsIDB4NGMsIDB4NjEsIDB4ODAsIDB4MTIsCi0weGU1LCAweDRjLCAweGI0LCAweDgzLCAweDA1LCAweDc1LCAweDRjLCAweDYyLCAweDgwLCAweDA4LCAweGU1LCAweDRjLCAweGM0LCAweDU0LCAweGYwLCAweDA0LAotMHhmNSwgMHg0YywgMHgxMiwgMHgxYywgMHgyMiwgMHgwMiwgMHgzMiwgMHgyYywgMHgxMiwgMHgxZSwgMHg0YywgMHgxMiwgMHgyYSwgMHhjNywgMHgxMiwgMHgxZCwKLTB4MzMsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4ZTAsIDB4OTAsIDB4ZmEsIDB4YmEsIDB4ZjAsIDB4NzgsIDB4NjgsIDB4MTIsCi0weDFiLCAweGQ4LCAweDkwLCAweDAwLCAweDAyLCAweDEyLCAweDFhLCAweGJiLCAweDMwLCAweGU3LCAweGYyLCAweDkwLCAweDAwLCAweDAyLCAweGU0LCAweDEyLAotMHgxYSwgMHhmYSwgMHg5MCwgMHhmYSwgMHhiYSwgMHhlMCwgMHg0NCwgMHg4MCwgMHhmZiwgMHhmMCwgMHg3OCwgMHg3YywgMHhlNiwgMHhmYywgMHgwOCwgMHhlNiwKLTB4OGMsIDB4ODMsIDB4MTIsIDB4MWQsIDB4M2IsIDB4ZWYsIDB4ZjAsIDB4MTIsIDB4MzIsIDB4ODQsIDB4ZTQsIDB4ZmYsIDB4MDIsIDB4MzEsIDB4YTksIDB4OTAsCi0weGZhLCAweGI5LCAweGUwLCAweDY0LCAweDAxLCAweDcwLCAweDFmLCAweDkwLCAweGZhLCAweGJkLCAweGUwLCAweGZmLCAweDdlLCAweDAwLCAweDcwLCAweDA2LAotMHhhMywgMHhlMCwgMHhmNSwgMHg5MCwgMHg4MCwgMHgyZCwgMHhjMiwgMHhhZiwgMHhlZiwgMHhmNCwgMHg1MiwgMHg5MCwgMHg5MCwgMHhmYSwgMHhiZSwgMHhlMCwKLTB4NDIsIDB4OTAsIDB4ZDIsIDB4YWYsIDB4ODAsIDB4MWQsIDB4OTAsIDB4ZmEsIDB4YmQsIDB4ZTAsIDB4ZmYsIDB4N2UsIDB4MDAsIDB4NzAsIDB4MDYsIDB4YTMsCi0weGUwLCAweGY1LCAweGIwLCAweDgwLCAweDBlLCAweGMyLCAweGFmLCAweGVmLCAweGY0LCAweDUyLCAweGIwLCAweDkwLCAweGZhLCAweGJlLCAweGUwLCAweDQyLAotMHhiMCwgMHhkMiwgMHhhZiwgMHhlNCwgMHhmZiwgMHgwMiwgMHgzMSwgMHhhOSwgMHgxMiwgMHgxYywgMHhlMCwgMHg5MCwgMHhmYSwgMHhiOSwgMHhlMCwgMHhiNCwKLTB4MDEsIDB4MGEsIDB4MTIsIDB4MWMsIDB4YzEsIDB4ZTUsIDB4OTAsIDB4MTIsIDB4MWEsIDB4ZTgsIDB4ODAsIDB4MDgsIDB4MTIsIDB4MWMsIDB4YzEsIDB4ZTUsCi0weGIwLCAweDEyLCAweDFhLCAweGU4LCAweDAyLCAweDBmLCAweGYxLCAweDkwLCAweGZhLCAweGI5LCAweGUwLCAweGZmLCAweDI0LCAweDEzLCAweDEyLCAweDFjLAotMHhmMSwgMHgyMCwgMHhlMSwgMHgzMywgMHgxMiwgMHgxZCwgMHg4MCwgMHhlZiwgMHgyNCwgMHhmYywgMHg2MCwgMHgxOCwgMHgwNCwgMHg3MCwgMHgyOCwgMHg5MCwKLTB4ZmEsIDB4YmEsIDB4ZTAsIDB4NjAsIDB4MDksIDB4OTAsIDB4ZmYsIDB4YTQsIDB4ZTAsIDB4NDQsIDB4MTAsIDB4ZjAsIDB4ODAsIDB4MTksIDB4MTIsIDB4MWUsCi0weDU2LCAweGYwLCAweDgwLCAweDEzLCAweDkwLCAweGZhLCAweGJhLCAweGUwLCAweDYwLCAweDA5LCAweDkwLCAweGZmLCAweGI0LCAweGUwLCAweDQ0LCAweDEwLAotMHhmMCwgMHg4MCwgMHgwNCwgMHgxMiwgMHgxZSwgMHg1ZCwgMHhmMCwgMHhlNCwgMHhmZiwgMHgwMiwgMHgzMSwgMHhhOSwgMHg5MCwgMHhmYSwgMHhiOSwgMHhlMCwKLTB4ZmYsIDB4MjQsIDB4MTMsIDB4MTIsIDB4MWMsIDB4ZjEsIDB4MjAsIDB4ZTEsIDB4MzksIDB4MTIsIDB4MWQsIDB4ODAsIDB4ZWYsIDB4MjQsIDB4ZmMsIDB4NjAsCi0weDFiLCAweDA0LCAweDcwLCAweDJlLCAweDkwLCAweGZhLCAweGJhLCAweGUwLCAweDYwLCAweDA5LCAweDkwLCAweGZmLCAweGE0LCAweGUwLCAweDQ0LCAweDIwLAotMHhmMCwgMHg4MCwgMHgxZiwgMHg5MCwgMHhmZiwgMHhhNCwgMHhlMCwgMHg1NCwgMHhkZiwgMHhmMCwgMHg4MCwgMHgxNiwgMHg5MCwgMHhmYSwgMHhiYSwgMHhlMCwKLTB4NjAsIDB4MDksIDB4OTAsIDB4ZmYsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MjAsIDB4ZjAsIDB4ODAsIDB4MDcsIDB4OTAsIDB4ZmYsIDB4YjQsIDB4ZTAsIDB4NTQsCi0weGRmLCAweGYwLCAweGU0LCAweGZmLCAweDAyLCAweDMxLCAweGE5LCAweDEyLCAweDFkLCAweDgwLCAweDEyLCAweDFkLCAweDcxLCAweDYwLCAweDRkLCAweDA0LAotMHg2MCwgMHgwMywgMHgwMiwgMHgwYywgMHhlMywgMHg5MCwgMHhmYSwgMHhiYSwgMHhlMCwgMHg2MCwgMHgwZiwgMHg5MCwgMHhmZiwgMHhhNCwgMHgxMiwgMHgxYywKLTB4ZWEsIDB4MzAsIDB4ZTEsIDB4NmYsIDB4MTIsIDB4MWUsIDB4MmMsIDB4MDIsIDB4MGMsIDB4ZTMsIDB4OTAsIDB4ZmYsIDB4YTQsIDB4ZTAsIDB4NTQsIDB4ZmIsCi0weDEyLCAweDFjLCAweGVkLCAweGZlLCAweDMwLCAweGUxLCAweDVjLCAweDMwLCAweGUyLCAweDExLCAweDMwLCAweGI0LCAweDA1LCAweDEyLCAweDFlLCAweDJjLAotMHg4MCwgMHg1MSwgMHg5MCwgMHhmZiwgMHhhNCwgMHhlMCwgMHg1NCwgMHhmZCwgMHhmMCwgMHg4MCwgMHg0OCwgMHgzMCwgMHg5NSwgMHgwNSwgMHgxMiwgMHgxZSwKLTB4MmMsIDB4ODAsIDB4NDAsIDB4OTAsIDB4ZmYsIDB4YTQsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4ZjAsIDB4ODAsIDB4MzcsIDB4OTAsIDB4ZmEsIDB4YmEsIDB4ZTAsCi0weDYwLCAweDEyLCAweDkwLCAweGZmLCAweGI0LCAweDEyLCAweDFjLCAweGVhLCAweDMwLCAweGUxLCAweDI4LCAweDkwLCAweGZmLCAweGI0LCAweGUwLCAweDQ0LAotMHgwMiwgMHhmMCwgMHg4MCwgMHgxZiwgMHg5MCwgMHhmZiwgMHhiNCwgMHhlMCwgMHg1NCwgMHhmYiwgMHgxMiwgMHgxYywgMHhlZCwgMHgzMCwgMHhlMSwgMHgxMywKLTB4MzAsIDB4OTMsIDB4MDksIDB4OTAsIDB4ZmYsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4ODAsIDB4MDcsIDB4OTAsIDB4ZmYsIDB4YjQsIDB4ZTAsCi0weDU0LCAweGZkLCAweGYwLCAweGU0LCAweGZmLCAweDAyLCAweDMxLCAweGE5LCAweDEyLCAweDFkLCAweDgwLCAweDkwLCAweGZhLCAweGI5LCAweGUwLCAweDI0LAotMHhmYywgMHg2MCwgMHg0MCwgMHgwNCwgMHg3MCwgMHg3OCwgMHg5MCwgMHhmYSwgMHhiYSwgMHhlMCwgMHg2MCwgMHgxZCwgMHg5MCwgMHhmZiwgMHhhMiwgMHhlMCwKLTB4NDQsIDB4NDAsIDB4ZjAsIDB4YTMsIDB4ZTAsIDB4ZmYsIDB4MzAsIDB4ZTcsIDB4NjUsIDB4ZDIsIDB4MDMsIDB4YTMsIDB4ZTAsIDB4NTQsIDB4ZGYsIDB4ZjAsCi0weDkwLCAweGZmLCAweGEzLCAweGVmLCAweDU0LCAweDdmLCAweGYwLCAweDgwLCAweDU1LCAweDMwLCAweDAzLCAweDBlLCAweDkwLCAweGZmLCAweGEzLCAweGUwLAotMHg0NCwgMHg4MCwgMHhmMCwgMHhjMiwgMHgwMywgMHhhMywgMHhlMCwgMHg0NCwgMHgyMCwgMHhmMCwgMHg5MCwgMHhmZiwgMHhhMiwgMHhlMCwgMHg1NCwgMHhiZiwKLTB4ZjAsIDB4ODAsIDB4M2IsIDB4OTAsIDB4ZmEsIDB4YmEsIDB4ZTAsIDB4NjAsIDB4MWQsIDB4OTAsIDB4ZmYsIDB4YjIsIDB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjAsCi0weGEzLCAweGUwLCAweGZmLCAweDMwLCAweGU3LCAweDI4LCAweGQyLCAweDA0LCAweGEzLCAweGUwLCAweDU0LCAweGRmLCAweGYwLCAweDkwLCAweGZmLCAweGIzLAotMHhlZiwgMHg1NCwgMHg3ZiwgMHhmMCwgMHg4MCwgMHgxOCwgMHgzMCwgMHgwNCwgMHgwZSwgMHg5MCwgMHhmZiwgMHhiMywgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwKLTB4YzIsIDB4MDQsIDB4YTMsIDB4ZTAsIDB4NDQsIDB4MjAsIDB4ZjAsIDB4OTAsIDB4ZmYsIDB4YjIsIDB4ZTAsIDB4NTQsIDB4YmYsIDB4ZjAsIDB4ZTQsIDB4ZmYsCi0weDAyLCAweDMxLCAweGE5LCAweDEyLCAweDFjLCAweGUwLCAweDkwLCAweGZhLCAweGI5LCAweGUwLCAweDI0LCAweGZjLCAweDYwLCAweDBmLCAweDA0LCAweDcwLAotMHgxNiwgMHg5MCwgMHhmZiwgMHhhNiwgMHhlMCwgMHgxMiwgMHgxYywgMHhjMSwgMHgxMiwgMHgxYSwgMHhlOCwgMHg4MCwgMHgwYSwgMHg5MCwgMHhmZiwgMHhiNiwKLTB4ZTAsIDB4MTIsIDB4MWMsIDB4YzEsIDB4MTIsIDB4MWEsIDB4ZTgsIDB4NzUsIDB4MzksIDB4MDAsIDB4NzUsIDB4M2EsIDB4MDEsIDB4MDIsIDB4MmMsIDB4ZDgsCi0weDkwLCAweGY5LCAweDE1LCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweGY5LCAweDFjLCAweDc0LCAweDE5LCAweGYwLCAweDkwLCAweGY5LCAweDY2LCAweDc0LAotMHhmZiwgMHhmMCwgMHhlNCwgMHhmZiwgMHgwMiwgMHgzMSwgMHhhOSwgMHhlNCwgMHhmZiwgMHgxMiwgMHgzMSwgMHhhOSwgMHgxMiwgMHgxZCwgMHhlNywgMHg3ZiwKLTB4MDMsIDB4MTIsIDB4MTIsIDB4NjEsIDB4OTAsIDB4ZjksIDB4MTYsIDB4ZTAsIDB4MzAsIDB4ZTQsIDB4MDgsIDB4OTAsIDB4ZmYsIDB4OTMsIDB4NzQsIDB4ODAsCi0weGYwLCAweDgwLCAweDEwLCAweDkwLCAweGZmLCAweGZjLCAweGUwLCAweDU0LCAweDdmLCAweGYwLCAweDdmLCAweGZmLCAweDdlLCAweDAwLCAweDEyLCAweDMwLAotMHhkMywgMHhjMiwgMHg5MCwgMHhjMiwgMHhhZiwgMHgwMCwgMHg4MCwgMHhmZCwgMHhlNCwgMHhmNSwgMHg0ZSwgMHhmNSwgMHg0ZiwgMHg5MCwgMHhmYSwgMHhiZiwKLTB4NzQsIDB4M2UsIDB4ZjAsIDB4YTMsIDB4ZTQsIDB4ZjAsIDB4OTAsIDB4ZmEsIDB4YjcsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4MTUsIDB4ZjAsIDB4ZTAsIDB4NTQsCi0weDNmLCAweGZmLCAweGMzLCAweDc0LCAweDQwLCAweDlmLCAweDkwLCAweGZhLCAweGJjLCAweGYwLCAweGQzLCAweDk0LCAweDAwLCAweGU0LCAweDk0LCAweDNlLAotMHg0MCwgMHgwOCwgMHg5MCwgMHhmYSwgMHhjMCwgMHhlMCwgMHg5MCwgMHhmYSwgMHhiYywgMHhmMCwgMHgxMiwgMHgwZiwgMHg5OCwgMHhlNSwgMHgzMSwgMHg0NSwKLTB4MzAsIDB4NzAsIDB4NzMsIDB4MTIsIDB4MWMsIDB4ZmEsIDB4OTAsIDB4ZmEsIDB4YmYsIDB4MTIsIDB4MWUsIDB4MDYsIDB4NjAsIDB4MjcsIDB4ZDMsIDB4ZWYsCi0weDk0LCAweDQwLCAweGVlLCAweDk0LCAweDAwLCAweDQwLCAweDA4LCAweDkwLCAweGZhLCAweGJjLCAweDc0LCAweDQwLCAweGYwLCAweDgwLCAweDA4LCAweDkwLAotMHhmYSwgMHhjMCwgMHhlMCwgMHg5MCwgMHhmYSwgMHhiYywgMHhmMCwgMHgxMiwgMHgwZiwgMHg5OCwgMHhlNSwgMHgzMSwgMHg0NSwgMHgzMCwgMHg3MCwgMHg0NiwKLTB4MTIsIDB4MWMsIDB4ZmEsIDB4ODAsIDB4ZDEsIDB4NzUsIDB4NGMsIDB4MDIsIDB4OTAsIDB4ZmEsIDB4YmYsIDB4ZTQsIDB4ZjAsIDB4YTMsIDB4MDQsIDB4ZjAsCi0weDkwLCAweGZhLCAweGI3LCAweGU0LCAweGYwLCAweGEzLCAweDc0LCAweDBmLCAweGYwLCAweDdiLCAweDAwLCAweDdhLCAweDAwLCAweDc5LCAweDRjLCAweDkwLAotMHhmYSwgMHhjMCwgMHhlMCwgMHhmNSwgMHg0YSwgMHg3ZCwgMHgwZiwgMHg3YywgMHgwMCwgMHgxMiwgMHgyOSwgMHg2MCwgMHg3NSwgMHgzMCwgMHgwMCwgMHg4ZiwKLTB4MzEsIDB4N2IsIDB4MDAsIDB4N2EsIDB4MDAsIDB4NzksIDB4NGMsIDB4ZTQsIDB4ZjUsIDB4MmQsIDB4ZjUsIDB4MmUsIDB4N2QsIDB4MDEsIDB4MTIsIDB4MjYsCi0weDk4LCAweGU0LCAweGY1LCAweDMwLCAweGY1LCAweDMxLCAweGFmLCAweDMxLCAweDAyLCAweDMxLCAweGE5LCAweDEyLCAweDFkLCAweDgwLCAweDMwLCAweGU3LAotMHgxMCwgMHhlMCwgMHg1NCwgMHgwZiwgMHg5MCwgMHhmOSwgMHg2NywgMHhmMCwgMHhkMywgMHg5NCwgMHgwMCwgMHg0MCwgMHgxNSwgMHhjMiwgMHg5NSwgMHg4MCwKLTB4MTEsIDB4OTAsIDB4ZmEsIDB4YmEsIDB4ZTAsIDB4NTQsIDB4MGYsIDB4OTAsIDB4ZjksIDB4NjUsIDB4ZjAsIDB4ZDMsIDB4OTQsIDB4MDAsIDB4NDAsIDB4MDIsCi0weGMyLCAweDk0LCAweGU0LCAweGZmLCAweDAyLCAweDMxLCAweGE5LCAweDEyLCAweDFlLCAweDRjLCAweGJmLCAweDAxLCAweDA0LCAweGQyLCAweDkzLCAweDgwLAotMHgwMiwgMHhjMiwgMHg5MywgMHhlNCwgMHhmZiwgMHgwMiwgMHgzMSwgMHhhOSwgMHgxMiwgMHgxZCwgMHg4MCwgMHg1NCwgMHgwMywgMHgxNCwgMHg2MCwgMHgwYSwKLTB4MTQsIDB4NjAsIDB4MGYsIDB4MTQsIDB4NjAsIDB4MDgsIDB4MjQsIDB4MDMsIDB4NzAsIDB4MmIsIDB4ZDIsIDB4OTEsIDB4ODAsIDB4MjcsIDB4YzIsIDB4OTEsCi0weDgwLCAweDIzLCAweDEyLCAweDFlLCAweDU2LCAweDEyLCAweDBmLCAweGMwLCAweDYwLCAweDA0LCAweGQyLCAweDkxLCAweDgwLCAweDE3LCAweDkwLCAweGZmLAotMHhhNCwgMHhlMCwgMHg0NCwgMHgxMCwgMHgxMiwgMHgwZiwgMHhjMCwgMHhmZiwgMHhiZiwgMHhhMCwgMHgwNCwgMHhjMiwgMHg5MSwgMHg4MCwgMHgwMiwgMHhkMiwKLTB4OTEsIDB4MTIsIDB4MWUsIDB4NTYsIDB4ZjAsIDB4OTAsIDB4ZmEsIDB4YmEsIDB4ZTAsIDB4NTQsIDB4MGMsIDB4ZmYsIDB4MTMsIDB4MTMsIDB4NTQsIDB4M2YsCi0weDE0LCAweDYwLCAweDBhLCAweDE0LCAweDYwLCAweDBmLCAweDE0LCAweDYwLCAweDA4LCAweDI0LCAweDAzLCAweDcwLCAweDJiLCAweGQyLCAweDkyLCAweDgwLAotMHgyNywgMHhjMiwgMHg5MiwgMHg4MCwgMHgyMywgMHgxMiwgMHgxZSwgMHg1ZCwgMHgxMiwgMHgwZiwgMHhlMCwgMHg2MCwgMHgwNCwgMHhkMiwgMHg5MiwgMHg4MCwKLTB4MTcsIDB4OTAsIDB4ZmYsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MTAsIDB4MTIsIDB4MGYsIDB4ZTAsIDB4ZmYsIDB4YmYsIDB4YTAsIDB4MDQsIDB4YzIsIDB4OTIsCi0weDgwLCAweDAyLCAweGQyLCAweDkyLCAweDEyLCAweDFlLCAweDVkLCAweGYwLCAweGU0LCAweGZmLCAweDAyLCAweDMxLCAweGE5LCAweGU1LCAweDM1LCAweDMwLAotMHhlNywgMHgwNywgMHhlNCwgMHhmZCwgMHg3ZiwgMHgwNSwgMHgwMiwgMHgyZiwgMHhiNCwgMHg3ZiwgMHgwNSwgMHgwMiwgMHgzMSwgMHhhOSwgMHgxMiwgMHgzMiwKLTB4N2EsIDB4MjIsIDB4N2IsIDB4MDEsIDB4N2EsIDB4ZmEsIDB4NzksIDB4YjYsIDB4OTAsIDB4ZmEsIDB4YjcsIDB4ZTAsIDB4ZjUsIDB4MmQsIDB4YTMsIDB4ZTAsCi0weGY1LCAweDJlLCAweDdkLCAweDAxLCAweDEyLCAweDI2LCAweDk4LCAweDkwLCAweGZhLCAweGI3LCAweGU0LCAweDc1LCAweGYwLCAweDAzLCAweDEyLCAweDFiLAotMHgxYywgMHhhYiwgMHgzNiwgMHhhYSwgMHgzNywgMHhhOSwgMHgzOCwgMHgyMiwgMHhhYSwgMHg0ZSwgMHhhOSwgMHg0ZiwgMHg3YiwgMHhmZiwgMHg5MCwgMHhmYSwKLTB4YjcsIDB4ZTAsIDB4ZmMsIDB4YTMsIDB4ZTAsIDB4ZmQsIDB4OTAsIDB4ZmEsIDB4YmMsIDB4ZTAsIDB4ZjUsIDB4NGEsIDB4MTIsIDB4MjksIDB4NjAsIDB4NzUsCi0weDMwLCAweDAwLCAweDhmLCAweDMxLCAweDIyLCAweDEyLCAweDIzLCAweDYxLCAweDdlLCAweDAwLCAweDhlLCAweDMwLCAweDhmLCAweDMxLCAweGVmLCAweDIyLAotMHhmMCwgMHg3ZiwgMHgwMSwgMHgxMiwgMHgxMiwgMHg2MSwgMHg5MCwgMHhmZiwgMHhhNiwgMHhlMCwgMHg5MCwgMHhmYSwgMHhiYiwgMHhmMCwgMHg1NCwgMHhhMCwKLTB4MjIsIDB4MTIsIDB4MjYsIDB4OTgsIDB4OGYsIDB4NGMsIDB4N2UsIDB4MDAsIDB4YzMsIDB4ZWYsIDB4OTUsIDB4M2MsIDB4ZWUsIDB4OTUsIDB4M2IsIDB4MjIsCi0weGYwLCAweDdmLCAweDAxLCAweDEyLCAweDEyLCAweDYxLCAweDkwLCAweGZmLCAweGI2LCAweGUwLCAweDkwLCAweGZhLCAweGJiLCAweGYwLCAweDU0LCAweGEwLAotMHgyMiwgMHg3NSwgMHgzOSwgMHgwMCwgMHg3NSwgMHgzYSwgMHgwMSwgMHgwMiwgMHgyYywgMHhkOCwgMHg5MCwgMHhmYSwgMHhiOSwgMHhlMCwgMHhmZiwgMHgwMiwKLTB4MzIsIDB4M2YsIDB4OGUsIDB4MzksIDB4OGYsIDB4M2EsIDB4MDIsIDB4MmMsIDB4ZDgsIDB4MTIsIDB4MjMsIDB4NjEsIDB4N2UsIDB4MDAsIDB4OGUsIDB4MzAsCi0weDhmLCAweDMxLCAweGVmLCAweDIyLCAweDdkLCAweDAxLCAweDEyLCAweDI2LCAweDk4LCAweDkwLCAweGZhLCAweGI0LCAweGUwLCAweDIyLCAweGVmLCAweDkwLAotMHhmOCwgMHgwNCwgMHhmMCwgMHgyMiwgMHhjMCwgMHhhOCwgMHhjMiwgMHhhZiwgMHhlZSwgMHg2MCwgMHgwYSwgMHhjMCwgMHgwNSwgMHg3ZCwgMHg3ZiwgMHhkZCwKLTB4ZmUsIDB4ZGUsIDB4ZmEsIDB4ZDAsIDB4MDUsIDB4ZWYsIDB4YzMsIDB4OTQsIDB4MTUsIDB4NTAsIDB4MDMsIDB4ZDAsIDB4YTgsIDB4MjIsIDB4MTMsIDB4NzAsCi0weDAzLCAweGQwLCAweGE4LCAweDIyLCAweGZmLCAweGQ1LCAweDA3LCAweGZkLCAweGQwLCAweGE4LCAweDIyLCAweGMwLCAweDAwLCAweGMwLCAweDAxLCAweGMwLAotMHgwMiwgMHhjMCwgMHgwNCwgMHhjMCwgMHgwNSwgMHhlNSwgMHgzZSwgMHgyNCwgMHgwOCwgMHhmOCwgMHg4NiwgMHgwNSwgMHg1MywgMHgwNSwgMHg3ZiwgMHg3YywKLTB4ZmYsIDB4MTIsIDB4MTAsIDB4YzAsIDB4N2YsIDB4MDAsIDB4N2UsIDB4MDAsIDB4ZTUsIDB4NDMsIDB4NjAsIDB4NDYsIDB4ZmMsIDB4OTAsIDB4ZjksIDB4MWQsCi0weGUwLCAweDU0LCAweDdmLCAweDZkLCAweDcwLCAweDBmLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGEzLCAweGUwLCAweGZlLCAweGEzLCAweGUwLCAweGZmLAotMHhhMywgMHgxNSwgMHg0MywgMHg4MCwgMHgwNywgMHhhMywgMHhhMywgMHhhMywgMHhkYywgMHhlNiwgMHg4MCwgMHgyNiwgMHhkYywgMHgwNiwgMHhkMCwgMHg4MiwKLTB4ZDAsIDB4ODMsIDB4ODAsIDB4MWUsIDB4ZTAsIDB4ZjgsIDB4YTMsIDB4ZTAsIDB4ZjksIDB4YTMsIDB4ZTAsIDB4ZmEsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsCi0weGU4LCAweGYwLCAweGEzLCAweGU5LCAweGYwLCAweGEzLCAweGVhLCAweGYwLCAweGEzLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGEzLCAweGEzLCAweGEzLAotMHg4MCwgMHhkYSwgMHgxMiwgMHgxMSwgMHg1NywgMHhkMCwgMHgwNSwgMHhkMCwgMHgwNCwgMHhkMCwgMHgwMiwgMHhkMCwgMHgwMSwgMHhkMCwgMHgwMCwgMHgyMiwKLTB4ODUsIDB4YTgsIDB4NDQsIDB4NzUsIDB4YTgsIDB4ODgsIDB4ZWMsIDB4NzAsIDB4MDIsIDB4N2MsIDB4M2YsIDB4OGMsIDB4M2QsIDB4MjIsIDB4ZTUsIDB4M2UsCi0weDI0LCAweDA4LCAweGY4LCAweDc2LCAweDAwLCAweDEyLCAweDExLCAweGFlLCAweDgwLCAweGZiLCAweGMwLCAweDAwLCAweGMwLCAweDAxLCAweGMwLCAweDAyLAotMHhjMCwgMHgwNCwgMHhjMCwgMHgwNiwgMHg3YywgMHhmZiwgMHgxMiwgMHgxMCwgMHhjMCwgMHhlNSwgMHg0MywgMHg2MCwgMHg0MiwgMHhmZSwgMHg5MCwgMHhmOSwKLTB4MWQsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4NmYsIDB4NzAsIDB4MGIsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YTMsIDB4YTMsIDB4YTMsIDB4MTUsIDB4NDMsCi0weDgwLCAweDA3LCAweGEzLCAweGEzLCAweGEzLCAweGRlLCAweGVhLCAweDgwLCAweDI2LCAweGRlLCAweDA2LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweDgwLAotMHhkOCwgMHhlMCwgMHhmOCwgMHhhMywgMHhlMCwgMHhmOSwgMHhhMywgMHhlMCwgMHhmYSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhlOCwgMHhmMCwgMHhhMywKLTB4ZTksIDB4ZjAsIDB4YTMsIDB4ZWEsIDB4ZjAsIDB4YTMsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YTMsIDB4YTMsIDB4YTMsIDB4ODAsIDB4ZGEsIDB4NzgsCi0weDA4LCAweDA4LCAweDc5LCAweDE4LCAweDA5LCAweDdjLCAweDAxLCAweGU2LCAweDU0LCAweDdmLCAweDZmLCAweDcwLCAweDA2LCAweDc2LCAweDAwLCAweDc3LAotMHgwMCwgMHg4MCwgMHgwNiwgMHgwOCwgMHgwOSwgMHgwYywgMHhiYywgMHgwOCwgMHhlZSwgMHgxMiwgMHgxMSwgMHg1NywgMHhkMCwgMHgwNiwgMHhkMCwgMHgwNCwKLTB4ZDAsIDB4MDIsIDB4ZDAsIDB4MDEsIDB4ZDAsIDB4MDAsIDB4MjIsIDB4NzUsIDB4M2QsIDB4MDAsIDB4ODUsIDB4NDQsIDB4YTgsIDB4MjIsIDB4YzAsIDB4ZjAsCi0weGMwLCAweDgyLCAweGMwLCAweDgzLCAweGMzLCAweGU1LCAweDQzLCAweDI0LCAweGU4LCAweDUwLCAweDA1LCAweDEyLCAweDExLCAweGFlLCAweDgwLCAweGY0LAotMHhlZiwgMHg2MCwgMHgzMSwgMHg5MCwgMHgzMSwgMHgxMSwgMHhlNCwgMHg5MywgMHhjMywgMHg5ZiwgMHg0MCwgMHgyZiwgMHhjMCwgMHgwNCwgMHg3YywgMHhmZiwKLTB4MTIsIDB4MTAsIDB4YzAsIDB4ZDAsIDB4MDQsIDB4NDMsIDB4MDcsIDB4ODAsIDB4ZTUsIDB4NDMsIDB4NzUsIDB4ZjAsIDB4MDMsIDB4YTQsIDB4MjQsIDB4MWQsCi0weGY1LCAweDgyLCAweGU0LCAweDM0LCAweGY5LCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweGVjLCAweGEzLCAweGYwLCAweGVkLCAweGEzLCAweGYwLCAweDA1LAotMHg0MywgMHgxMiwgMHgxMSwgMHg1NywgMHhkMCwgMHg4MywgMHhkMCwgMHg4MiwgMHhkMCwgMHhmMCwgMHgyMiwgMHgwMiwgMHgxMSwgMHhkYywgMHhjMCwgMHgwNCwKLTB4N2MsIDB4MjAsIDB4ZDIsIDB4OGMsIDB4ZDIsIDB4OGQsIDB4ZDUsIDB4MDQsIDB4ZmQsIDB4ZDAsIDB4MDQsIDB4MjIsIDB4NzUsIDB4YTgsIDB4MDAsIDB4NzUsCi0weDg4LCAweDAwLCAweDc1LCAweGI4LCAweDAwLCAweDc1LCAweGYwLCAweDAwLCAweDc1LCAweGQwLCAweDAwLCAweGU0LCAweGY4LCAweDkwLCAweGY4LCAweDA0LAotMHhmMCwgMHg5MCwgMHgwMCwgMHgwMCwgMHhmNiwgMHgwOCwgMHhiOCwgMHgwMCwgMHhmYiwgMHgwMiwgMHgwMCwgMHgwMCwgMHhjMiwgMHhhZiwgMHhlNCwgMHg5MCwKLTB4ZmYsIDB4NDgsIDB4ZjAsIDB4OTAsIDB4ZmYsIDB4NTAsIDB4ZjAsIDB4OTAsIDB4ZmYsIDB4MDgsIDB4ZjAsIDB4OTAsIDB4ZmYsIDB4MTAsIDB4ZjAsIDB4OTAsCi0weGZmLCAweDgwLCAweGYwLCAweGEzLCAweGEzLCAweGYwLCAweGQyLCAweGIxLCAweGMyLCAweGIwLCAweDdlLCAweGZmLCAweDdmLCAweGZmLCAweDEyLCAweDEwLAotMHgyNCwgMHg3ZSwgMHhmZiwgMHg3ZiwgMHhmZiwgMHgxMiwgMHgxMCwgMHgyNCwgMHg3ZSwgMHhmZiwgMHg3ZiwgMHhmZiwgMHgxMiwgMHgxMCwgMHgyNCwgMHhkMiwKLTB4YjAsIDB4ZDIsIDB4YjEsIDB4N2UsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4MTIsIDB4MTAsIDB4MjQsIDB4N2UsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4MTIsIDB4MTAsCi0weDI0LCAweDdlLCAweGZmLCAweDdmLCAweGZmLCAweDEyLCAweDEwLCAweDI0LCAweDgwLCAweGNjLCAweGMzLCAweGVlLCAweDk0LCAweDAyLCAweDUwLCAweDA0LAotMHg3ZSwgMHgwMywgMHg3ZiwgMHhlOCwgMHhlZiwgMHhmNCwgMHhmZiwgMHhlZSwgMHhmNCwgMHhmZSwgMHgwZiwgMHhiZiwgMHgwMCwgMHgwMSwgMHgwZSwgMHg4ZiwKLTB4NDIsIDB4OGUsIDB4NDEsIDB4MjIsIDB4YzMsIDB4ZWYsIDB4OTQsIDB4YmMsIDB4ZWUsIDB4OTQsIDB4MDIsIDB4NTAsIDB4MDQsIDB4N2UsIDB4MDcsIDB4N2YsCi0weGQwLCAweGVmLCAweGY0LCAweGZmLCAweGVlLCAweGY0LCAweGZlLCAweDBmLCAweGJmLCAweDAwLCAweDAxLCAweDBlLCAweDhmLCAweDQwLCAweDhlLCAweDNmLAotMHgyMiwgMHhlZiwgMHg3MCwgMHgwMSwgMHgyMiwgMHhjMCwgMHgwMCwgMHhjMCwgMHhhOCwgMHhjMiwgMHhhZiwgMHhlNSwgMHgzZSwgMHgyNCwgMHgxOCwgMHhmOCwKLTB4YTYsIDB4MDcsIDB4ZTUsIDB4M2UsIDB4MjQsIDB4MDgsIDB4ZjgsIDB4YzYsIDB4NTQsIDB4N2YsIDB4ZjYsIDB4ZDAsIDB4YTgsIDB4ZTYsIDB4MzAsIDB4ZTcsCi0weDAzLCAweGQwLCAweDAwLCAweDIyLCAweDEyLCAweDExLCAweGFlLCAweDgwLCAweGY0LCAweGMwLCAweDAwLCAweDdmLCAweDAxLCAweGVmLCAweDI0LCAweDA4LAotMHhmOCwgMHhlNiwgMHg2MCwgMHgwOSwgMHgwZiwgMHhiZiwgMHgwOCwgMHhmNSwgMHgxMiwgMHgxMSwgMHhhZSwgMHg4MCwgMHhlZSwgMHhkMCwgMHgwMCwgMHgyMiwKLTB4YzAsIDB4ZjAsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODMsIDB4YzAsIDB4MDAsIDB4YzAsIDB4MDYsIDB4YzAsIDB4MDQsIDB4ZWQsIDB4MjQsIDB4MTAsIDB4ZjgsCi0weDc2LCAweDlhLCAweGVkLCAweDc1LCAweGYwLCAweDIxLCAweGE0LCAweDI0LCAweDA1LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweGY4LCAweGY1LCAweDgzLAotMHhjMCwgMHg4MiwgMHhjMCwgMHg4MywgMHhhMywgMHhhMywgMHhlNCwgMHg3OCwgMHgwZCwgMHhmMCwgMHhhMywgMHhkOCwgMHhmYywgMHhlZiwgMHg1NCwgMHg3ZiwKLTB4NzUsIDB4ZjAsIDB4MDIsIDB4YTQsIDB4MjQsIDB4ZjMsIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4ZjAsIDB4MzQsIDB4MzAsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4OTMsCi0weGZlLCAweDc0LCAweDAxLCAweDkzLCAweGZjLCAweGQwLCAweDgzLCAweGQwLCAweDgyLCAweGVjLCAweGYwLCAweGEzLCAweGVlLCAweGYwLCAweGVkLCAweDI0LAotMHgwOCwgMHhmOCwgMHhlZiwgMHg0NCwgMHg4MCwgMHhmNiwgMHhkMCwgMHgwNCwgMHhkMCwgMHgwNiwgMHhkMCwgMHgwMCwgMHhkMCwgMHg4MywgMHhkMCwgMHg4MiwKLTB4ZDAsIDB4ZjAsIDB4MjIsIDB4NzUsIDB4M2UsIDB4MDAsIDB4NzUsIDB4NDMsIDB4MDAsIDB4N2EsIDB4MDgsIDB4NzksIDB4MTgsIDB4NzgsIDB4MDgsIDB4NzYsCi0weDAwLCAweDc3LCAweDAwLCAweDA4LCAweDA5LCAweGRhLCAweGY4LCAweDkwLCAweGY4LCAweDA0LCAweGUwLCAweGZjLCAweDkwLCAweDMxLCAweDExLCAweGU0LAotMHg5MywgMHhjMywgMHg5YywgMHg1MCwgMHgwNSwgMHhlNCwgMHg5MCwgMHhmOCwgMHgwNCwgMHhmMCwgMHg3OCwgMHgwOCwgMHg3NCwgMHg4MCwgMHg0NCwgMHg3ZiwKLTB4ZjYsIDB4NzQsIDB4MDEsIDB4NDQsIDB4MTAsIDB4ZjUsIDB4ODksIDB4NzUsIDB4YjgsIDB4MDAsIDB4ZDIsIDB4YWIsIDB4ZDIsIDB4YTksIDB4MjIsIDB4NzUsCi0weDgxLCAweDhiLCAweGQyLCAweDhlLCAweGQyLCAweDhjLCAweGQyLCAweGFmLCAweGU1LCAweDQzLCAweDYwLCAweDM2LCAweGZmLCAweDkwLCAweGY5LCAweDFkLAotMHhlMCwgMHg1NCwgMHg4MCwgMHg2MCwgMHgyOCwgMHg3OCwgMHgwOCwgMHg3OSwgMHgwOCwgMHhlMCwgMHg1NCwgMHg3ZiwgMHhmYSwgMHg3YiwgMHgwMCwgMHhlNiwKLTB4NTQsIDB4N2YsIDB4YjUsIDB4MDIsIDB4MDIsIDB4N2IsIDB4ZmYsIDB4MDgsIDB4ZDksIDB4ZjUsIDB4ZWIsIDB4NzAsIDB4MTAsIDB4ZWEsIDB4ZjAsIDB4YzAsCi0weDA3LCAweDEyLCAweDEyLCAweDg5LCAweGFkLCAweDA3LCAweGFmLCAweDAyLCAweDEyLCAweDEyLCAweGEwLCAweGQwLCAweDA3LCAweGEzLCAweGEzLCAweGEzLAotMHhkZiwgMHhjZSwgMHgxMiwgMHgxMSwgMHhhZSwgMHg4MCwgMHhjMSwgMHg4ZiwgMHgyNCwgMHgxMiwgMHgyYSwgMHhjNywgMHgxMiwgMHgyMiwgMHhiNSwgMHhhMywKLTB4YTMsIDB4ZTAsIDB4YTMsIDB4MzAsIDB4ZTcsIDB4MjgsIDB4NzgsIDB4N2UsIDB4MTIsIDB4MjIsIDB4OTksIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MTIsCi0weDIyLCAweGZhLCAweDEyLCAweDIyLCAweDlkLCAweGUwLCAweDIwLCAweGUwLCAweGY2LCAweDEyLCAweDIzLCAweDUwLCAweDc0LCAweDAyLCAweGYwLCAweDEyLAotMHgyMiwgMHhkYSwgMHhlMCwgMHhhMywgMHgzMCwgMHhlNSwgMHgwNywgMHgxMiwgMHgyMywgMHg1MCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg3OCwgMHg4MCwKLTB4ZTYsIDB4ZmUsIDB4MDgsIDB4ZTYsIDB4ZmYsIDB4OGUsIDB4ODMsIDB4MjQsIDB4MDgsIDB4MTIsIDB4MjIsIDB4YTEsIDB4ZTAsIDB4ZmQsIDB4MTIsIDB4MjMsCi0weDM5LCAweDhhLCAweDgzLCAweDI0LCAweDBhLCAweDEyLCAweDIyLCAweGExLCAweGVkLCAweGYwLCAweDEyLCAweDIzLCAweDA2LCAweDI0LCAweDA3LCAweDEyLAotMHgyMiwgMHhhMSwgMHhlMCwgMHhmZiwgMHgxMiwgMHgyMywgMHg1YSwgMHgyNCwgMHgwOSwgMHgxMiwgMHgyMiwgMHhhMSwgMHhlZiwgMHhmMCwgMHg5MCwgMHhmOSwKLTB4MTYsIDB4ZTAsIDB4MzAsIDB4ZTQsIDB4MjAsIDB4MDgsIDB4MTIsIDB4MjIsIDB4YjcsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YTMsIDB4ZTAsIDB4MjUsCi0weGUwLCAweGZmLCAweDA1LCAweDgyLCAweGQ1LCAweDgyLCAweDAyLCAweDE1LCAweDgzLCAweDE1LCAweDgyLCAweGUwLCAweDMzLCAweGQwLCAweDgyLCAweGQwLAotMHg4MywgMHhmMCwgMHhhMywgMHhlZiwgMHhmMCwgMHgxMiwgMHgyMiwgMHhiNSwgMHhlMCwgMHhmYywgMHhhMywgMHhlMCwgMHhmZCwgMHhlYywgMHhmZiwgMHgxMiwKLTB4MjMsIDB4MzksIDB4OGEsIDB4ODMsIDB4MjQsIDB4MDgsIDB4MTIsIDB4MjIsIDB4YTEsIDB4ZWYsIDB4ZjAsIDB4ZWQsIDB4MTIsIDB4MjMsIDB4NWEsIDB4MjQsCi0weDA3LCAweDEyLCAweDIyLCAweGExLCAweGVkLCAweGYwLCAweDEyLCAweDIyLCAweGE5LCAweGUwLCAweDMwLCAweGU2LCAweDBhLCAweDEyLCAweDIzLCAweDQxLAotMHgyNCwgMHgwOSwgMHgxMiwgMHgyMiwgMHhhMSwgMHhlNCwgMHhmMCwgMHgxMiwgMHgyMiwgMHhhOSwgMHhlMCwgMHhmZiwgMHgzMCwgMHhlNywgMHgxYiwgMHgxMiwKLTB4MjMsIDB4MWUsIDB4MjQsIDB4MDksIDB4MTIsIDB4MjIsIDB4YTEsIDB4ZTAsIDB4NjAsIDB4MDksIDB4MTIsIDB4MjIsIDB4YTksIDB4ZWYsIDB4NDQsIDB4MDIsCi0weGYwLCAweDgwLCAweDA3LCAweDEyLCAweDIyLCAweGE5LCAweGVmLCAweDU0LCAweGZkLCAweGYwLCAweDc4LCAweDdlLCAweDEyLCAweDIyLCAweGI3LCAweGEzLAotMHhhMywgMHhlMCwgMHhmZiwgMHg1MywgMHgwNywgMHhjNywgMHgwOCwgMHhlNiwgMHhmYywgMHgwOCwgMHhlNiwgMHhmZCwgMHgxMiwgMHgyMiwgMHhlMCwgMHhhMywKLTB4ZTAsIDB4MzAsIDB4ZTMsIDB4MTIsIDB4OGQsIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZTUsIDB4ODIsIDB4MjQsIDB4MDUsIDB4MTIsIDB4MjIsIDB4YTEsIDB4ZTAsCi0weDkwLCAweDMyLCAweDUxLCAweDkzLCAweDQyLCAweDA3LCAweDUzLCAweDA3LCAweGZiLCAweDEyLCAweDIzLCAweDFlLCAweDI0LCAweDA2LCAweDEyLCAweDIyLAotMHhhMSwgMHhlMCwgMHg2MCwgMHgwMywgMHg0MywgMHgwNywgMHgwNCwgMHg1MywgMHgwNywgMHhmYywgMHg3OCwgMHg4MCwgMHgxMiwgMHgyMywgMHgyOSwgMHgyNCwKLTB4MDQsIDB4MTIsIDB4MjIsIDB4YTEsIDB4ZTAsIDB4NDIsIDB4MDcsIDB4NDMsIDB4MDcsIDB4ODAsIDB4MTIsIDB4MjMsIDB4MzksIDB4ZjUsIDB4ODIsIDB4OGEsCi0weDgzLCAweGEzLCAweGEzLCAweGVmLCAweGYwLCAweDEyLCAweDIzLCAweDVhLCAweDI0LCAweDA0LCAweDEyLCAweDIyLCAweGExLCAweGUwLCAweGZmLCAweDhkLAotMHg4MiwgMHg4YywgMHg4MywgMHhhMywgMHhhMywgMHhlMCwgMHhmYywgMHhhMywgMHhlMCwgMHhmZCwgMHgzMCwgMHhlMSwgMHgwNSwgMHg1MywgMHgwNywgMHhkZiwKLTB4ODAsIDB4MDMsIDB4NDMsIDB4MDcsIDB4MjAsIDB4ZWMsIDB4MzAsIDB4ZTQsIDB4MDUsIDB4NTMsIDB4MDcsIDB4ZWYsIDB4ODAsIDB4MDMsIDB4NDMsIDB4MDcsCi0weDEwLCAweDEyLCAweDIyLCAweGE5LCAweGUwLCAweGZlLCAweDU0LCAweDAzLCAweDYwLCAweDczLCAweDUzLCAweDA3LCAweGRmLCAweGVlLCAweDMwLCAweGUxLAotMHg2OSwgMHgxMiwgMHgyMywgMHgxZSwgMHgyNCwgMHgwOSwgMHgxMiwgMHgyMiwgMHhhMSwgMHhlMCwgMHgxMiwgMHgxYiwgMHhmYywgMHgxNSwgMHgyYywgMHgwMCwKLTB4MTUsIDB4NjAsIDB4MDEsIDB4MTUsIDB4NjUsIDB4MDMsIDB4MTUsIDB4NjAsIDB4MDUsIDB4MTUsIDB4NjUsIDB4MDcsIDB4MTUsIDB4NjAsIDB4MDksIDB4MTUsCi0weDY1LCAweDBiLCAweDE1LCAweDYwLCAweDBkLCAweDE1LCAweDY1LCAweDBmLCAweDAwLCAweDAwLCAweDE1LCAweDZkLCAweGU1LCAweDI0LCAweDY0LCAweDAzLAotMHg3MCwgMHgyMSwgMHg5MCwgMHhmOSwgMHgxNiwgMHhlMCwgMHgzMCwgMHhlMiwgMHgwZCwgMHgzMCwgMHhiNCwgMHgwNSwgMHg0MywgMHgwNywgMHgwMiwgMHg4MCwKLTB4MmMsIDB4NTMsIDB4MDcsIDB4ZmQsIDB4ODAsIDB4MjcsIDB4MzAsIDB4OTUsIDB4MDUsIDB4NDMsIDB4MDcsIDB4MDIsIDB4ODAsIDB4MWYsIDB4NTMsIDB4MDcsCi0weGZkLCAweDgwLCAweDFhLCAweDMwLCAweDkzLCAweDA1LCAweDQzLCAweDA3LCAweDAyLCAweDgwLCAweDEyLCAweDUzLCAweDA3LCAweGZkLCAweDgwLCAweDBkLAotMHg0MywgMHgwNywgMHgwMiwgMHg4MCwgMHgwOCwgMHg1MywgMHgwNywgMHhmZCwgMHg4MCwgMHgwMywgMHg1MywgMHgwNywgMHhmZCwgMHgxMiwgMHgyMywgMHgyNywKLTB4MjQsIDB4MDQsIDB4MTIsIDB4MjIsIDB4YTEsIDB4ZWYsIDB4ZjAsIDB4OGQsIDB4ODIsIDB4OGMsIDB4ODMsIDB4YTMsIDB4YTMsIDB4YTMsIDB4ZTAsIDB4ZmYsCi0weDEyLCAweDIyLCAweGE5LCAweGUwLCAweGZlLCAweDU0LCAweDAzLCAweDcwLCAweDAzLCAweDAyLCAweDE2LCAweDYwLCAweGVlLCAweDIwLCAweGUxLCAweDAzLAotMHgwMiwgMHgxNiwgMHg1ZCwgMHgwOCwgMHgxMiwgMHgyMywgMHgyMCwgMHgyNCwgMHgwOSwgMHgxMiwgMHgyMiwgMHhhMSwgMHhlMCwgMHgxMiwgMHgxYiwgMHhmYywKLTB4MTUsIDB4YmYsIDB4MDAsIDB4MTUsIDB4ZjUsIDB4MDEsIDB4MTUsIDB4ZjUsIDB4MDMsIDB4MTYsIDB4MjksIDB4MDUsIDB4MTYsIDB4MjksIDB4MDcsIDB4MTYsCi0weDBmLCAweDA5LCAweDE2LCAweDBmLCAweDBiLCAweDE2LCAweDQzLCAweDBkLCAweDE2LCAweDQzLCAweDBmLCAweDAwLCAweDAwLCAweDE2LCAweDYwLCAweGU1LAotMHgyNCwgMHg2NCwgMHgwMywgMHg3MCwgMHgyMywgMHg5MCwgMHhmOSwgMHgxNiwgMHhlMCwgMHgzMCwgMHhlMiwgMHgwZiwgMHgzMCwgMHhiMSwgMHgwNiwgMHg1MywKLTB4MDcsIDB4N2YsIDB4MDIsIDB4MTYsIDB4NjAsIDB4NDMsIDB4MDcsIDB4ODAsIDB4MDIsIDB4MTYsIDB4NjAsIDB4MzAsIDB4OTQsIDB4MDUsIDB4NTMsIDB4MDcsCi0weDdmLCAweDgwLCAweDdkLCAweDQzLCAweDA3LCAweDgwLCAweDgwLCAweDc4LCAweDMwLCAweDkyLCAweDA1LCAweDUzLCAweDA3LCAweDdmLCAweDgwLCAweDcwLAotMHg0MywgMHgwNywgMHg4MCwgMHg4MCwgMHg2YiwgMHhlNSwgMHgyNCwgMHhiNCwgMHgwMywgMHgwOSwgMHg5MCwgMHhmZiwgMHg5ZSwgMHhlMCwgMHg1NCwgMHhlZiwKLTB4ZjAsIDB4ODAsIDB4MDcsIDB4OTAsIDB4ZmYsIDB4OWUsIDB4ZTAsIDB4NTQsIDB4ZGYsIDB4ZjAsIDB4NTMsIDB4MDcsIDB4N2YsIDB4ODAsIDB4NTEsIDB4ZTUsCi0weDI0LCAweGI0LCAweDAzLCAweDA5LCAweDkwLCAweGZmLCAweDllLCAweGUwLCAweDQ0LCAweDEwLCAweGYwLCAweDgwLCAweDA3LCAweDkwLCAweGZmLCAweDllLAotMHhlMCwgMHg0NCwgMHgyMCwgMHhmMCwgMHg1MywgMHgwNywgMHg3ZiwgMHg4MCwgMHgzNywgMHhlNSwgMHgyNCwgMHhiNCwgMHgwMywgMHgwOSwgMHg5MCwgMHhmZiwKLTB4OWUsIDB4ZTAsIDB4NTQsIDB4ZWYsIDB4ZjAsIDB4ODAsIDB4MDcsIDB4OTAsIDB4ZmYsIDB4OWUsIDB4ZTAsIDB4NTQsIDB4ZGYsIDB4ZjAsIDB4NDMsIDB4MDcsCi0weDgwLCAweDgwLCAweDFkLCAweGU1LCAweDI0LCAweGI0LCAweDAzLCAweDA5LCAweDkwLCAweGZmLCAweDllLCAweGUwLCAweDQ0LCAweDEwLCAweGYwLCAweDgwLAotMHgwNywgMHg5MCwgMHhmZiwgMHg5ZSwgMHhlMCwgMHg0NCwgMHgyMCwgMHhmMCwgMHg0MywgMHgwNywgMHg4MCwgMHg4MCwgMHgwMywgMHg1MywgMHgwNywgMHg3ZiwKLTB4MTIsIDB4MjIsIDB4ZGEsIDB4ZTAsIDB4ZmMsIDB4YTMsIDB4ZTAsIDB4ZmQsIDB4MzAsIDB4ZTAsIDB4MDUsIDB4NDMsIDB4MDcsIDB4MjAsIDB4ODAsIDB4MDMsCi0weDUzLCAweDA3LCAweGRmLCAweGVjLCAweDMwLCAweGUzLCAweDA1LCAweDQzLCAweDA3LCAweDQwLCAweDgwLCAweDAzLCAweDUzLCAweDA3LCAweGJmLCAweGVjLAotMHgzMCwgMHhlMCwgMHgwNSwgMHg0MywgMHgwNywgMHgxMCwgMHg4MCwgMHgwMywgMHg1MywgMHgwNywgMHhlZiwgMHhlZCwgMHgzMCwgMHhlNCwgMHgwNSwgMHg0MywKLTB4MDcsIDB4MDgsIDB4ODAsIDB4MDMsIDB4NTMsIDB4MDcsIDB4ZjcsIDB4ZWQsIDB4MzAsIDB4ZTUsIDB4MDUsIDB4NDMsIDB4MDcsIDB4MDQsIDB4ODAsIDB4MDMsCi0weDUzLCAweDA3LCAweGZiLCAweGVkLCAweDMwLCAweGU2LCAweDA1LCAweDQzLCAweDA3LCAweDAxLCAweDgwLCAweDAzLCAweDUzLCAweDA3LCAweGZlLCAweGVkLAotMHgzMCwgMHhlNywgMHgwNSwgMHg0MywgMHgwNywgMHgwMiwgMHg4MCwgMHgwMywgMHg1MywgMHgwNywgMHhmZCwgMHg3OCwgMHg3ZSwgMHgxMiwgMHgyMiwgMHhkYywKLTB4YTMsIDB4ZWYsIDB4ZjAsIDB4MTIsIDB4MzIsIDB4ODQsIDB4N2YsIDB4MDAsIDB4MjIsIDB4OTAsIDB4ZmYsIDB4ZmEsIDB4NzQsIDB4MDgsIDB4ZjAsIDB4YTMsCi0weDc0LCAweDE2LCAweGYwLCAweDkwLCAweGZmLCAweGY5LCAweDc0LCAweDAyLCAweGYwLCAweDdiLCAweDAxLCAweDdhLCAweGZhLCAweDc5LCAweGNmLCAweGU0LAotMHhmZCwgMHgxMiwgMHgyMywgMHg2MSwgMHg5MCwgMHhmYSwgMHhjZiwgMHhlNCwgMHg3NSwgMHhmMCwgMHgwMywgMHgxMiwgMHgxYiwgMHgxYywgMHgxMiwgMHgxOSwKLTB4OTIsIDB4ZTUsIDB4MjMsIDB4MzAsIDB4ZTcsIDB4MDIsIDB4ZDIsIDB4MDIsIDB4N2IsIDB4MDAsIDB4N2EsIDB4MDAsIDB4NzksIDB4MjQsIDB4OTAsIDB4ZmEsCi0weGNmLCAweGUwLCAweGY1LCAweDJkLCAweGEzLCAweGUwLCAweGY1LCAweDJlLCAweDdkLCAweDAxLCAweDEyLCAweDI2LCAweDk4LCAweDkwLCAweGZhLCAweGNmLAotMHhlNCwgMHhmMCwgMHhhMywgMHg3NCwgMHgwYiwgMHhmMCwgMHg3YiwgMHgwMCwgMHg3YSwgMHgwMCwgMHg3OSwgMHgyMywgMHg3NSwgMHgyZCwgMHgwMCwgMHhmNSwKLTB4MmUsIDB4N2QsIDB4MDEsIDB4MTIsIDB4MjYsIDB4OTgsIDB4ZTUsIDB4MjMsIDB4MjQsIDB4ODAsIDB4OTAsIDB4ZmYsIDB4ZjgsIDB4ZjAsIDB4ZTUsIDB4MjMsCi0weDY0LCAweDA3LCAweDYwLCAweDFlLCAweGU1LCAweDIzLCAweDY0LCAweDA2LCAweDYwLCAweDE4LCAweGU1LCAweDIzLCAweDY0LCAweDE0LCAweDYwLCAweDEyLAotMHhlNSwgMHgyMywgMHg2NCwgMHg0MSwgMHg2MCwgMHgwYywgMHhlNSwgMHgyMywgMHg2NCwgMHgxYSwgMHg3MCwgMHg0NiwgMHhlNSwgMHgyNCwgMHg2NCwgMHgwMiwKLTB4NzAsIDB4NDAsIDB4ZTUsIDB4MjMsIDB4YjQsIDB4MDcsIDB4MTYsIDB4ZDIsIDB4OTQsIDB4ZDIsIDB4OTUsIDB4ZDIsIDB4OTIsIDB4ZDIsIDB4OTMsIDB4OTAsCi0weGY5LCAweDE2LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweGEzLCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDgwLCAweDFlLCAweGU1LCAweDIzLCAweGI0LAotMHg0MSwgMHgxMiwgMHg5MCwgMHhmOSwgMHgxNiwgMHhlMCwgMHg0NCwgMHgwNiwgMHhmMCwgMHhhMywgMHhlMCwgMHg0NCwgMHgwNiwgMHhmMCwgMHhkMiwgMHhiMSwKLTB4ZDIsIDB4YjQsIDB4ODAsIDB4MDcsIDB4OTAsIDB4ZjksIDB4MTYsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4ZjksIDB4MTcsIDB4ZTAsIDB4NDQsCi0weDAxLCAweGYwLCAweGU1LCAweDIzLCAweDY0LCAweDQyLCAweDYwLCAweDBjLCAweGU1LCAweDIzLCAweDY0LCAweDQzLCAweDYwLCAweDA2LCAweGU1LCAweDIzLAotMHg2NCwgMHg0NCwgMHg3MCwgMHgyZSwgMHg5MCwgMHhmOSwgMHgxNiwgMHhlMCwgMHhmZiwgMHhlNSwgMHgyMywgMHhiNCwgMHg0NCwgMHgwNCwgMHg3ZSwgMHg0MCwKLTB4ODAsIDB4MDIsIDB4N2UsIDB4MDAsIDB4ZWUsIDB4MjQsIDB4ODAsIDB4NGYsIDB4OTAsIDB4ZjksIDB4MTYsIDB4ZjAsIDB4YTMsIDB4ZTAsIDB4ZmYsIDB4ZTUsCi0weDIzLCAweGI0LCAweDQ0LCAweDA0LCAweDdlLCAweDQwLCAweDgwLCAweDAyLCAweDdlLCAweDAwLCAweGVlLCAweDI0LCAweDgwLCAweDRmLCAweDkwLCAweGY5LAotMHgxNywgMHhmMCwgMHg5MCwgMHhmYSwgMHhjZiwgMHhlNCwgMHhmMCwgMHhhMywgMHg3NCwgMHgwZCwgMHhmMCwgMHgxMiwgMHgxOSwgMHg5MiwgMHg5MCwgMHhmZiwKLTB4ZjUsIDB4ZTUsIDB4MjMsIDB4ZjAsIDB4ZTQsIDB4ZjUsIDB4MzUsIDB4ZjUsIDB4MzMsIDB4ZjUsIDB4MzQsIDB4ZjUsIDB4MzIsIDB4MTIsIDB4MWUsIDB4MzQsCi0weDEyLCAweDFjLCAweGUwLCAweDEyLCAweDFlLCAweDNiLCAweDkwLCAweGY5LCAweDZhLCAweDEyLCAweDFiLCAweGYzLCAweDkwLCAweGY5LCAweDZmLCAweDEyLAotMHgxYiwgMHhmMywgMHg5MCwgMHhmZiwgMHhmZiwgMHhlNCwgMHhmMCwgMHg5MCwgMHhmZiwgMHg4MywgMHhlMCwgMHhlNCwgMHhmMCwgMHg5MCwgMHhmZiwgMHg4MSwKLTB4NzQsIDB4ODAsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4ODQsIDB4ZjAsIDB4OTAsIDB4ZmYsIDB4ODAsIDB4ZjAsIDB4ZTQsIDB4ZjUsIDB4MjMsIDB4ZTUsIDB4MjMsIAotMHgxMiwgMHgxZCwgMHg1NywgMHhmNSwgMHg4MywgMHhlNCwgMHhmMCwgMHhlNSwgMHgyMywgMHgxMiwgMHgxZCwgMHg2NSwgMHhmNSwgMHg4MywgMHhlNCwgMHhmMCwKLTB4MDUsIDB4MjMsIDB4ZTUsIDB4MjMsIDB4YjQsIDB4MDcsIDB4ZTcsIDB4NzgsIDB4N2EsIDB4NzYsIDB4ZmUsIDB4MDgsIDB4NzYsIDB4ZjAsIDB4OTAsIDB4MzIsCi0weDBhLCAweGU0LCAweDkzLCAweGZmLCAweDc4LCAweDc4LCAweGY2LCAweGZkLCAweGFkLCAweDA3LCAweDkwLCAweDMyLCAweDE3LCAweGU0LCAweDkzLCAweGZmLAotMHgwOCwgMHhmNiwgMHhmZiwgMHhlZCwgMHg1NCwgMHgwZiwgMHhmZCwgMHgxMiwgMHgxZCwgMHg0NywgMHg3NCwgMHg4NCwgMHhmMCwgMHhlZCwgMHg3NSwgMHhmMCwKLTB4MDgsIDB4YTQsIDB4MjQsIDB4NDcsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4ZmYsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4YzMsIDB4NzQsIDB4ZjAsIAotMHg5ZiwgMHg3OCwgMHg3YiwgMHhmNiwgMHg3NCwgMHhmZSwgMHg5NCwgMHgwMCwgMHgxOCwgMHgxMiwgMHgxYywgMHhkOCwgMHhjZSwgMHhjMywgMHgxMywgMHhjZSwKLTB4MTMsIDB4ZDgsIDB4ZjksIDB4ZmYsIDB4ZWQsIDB4MTIsIDB4MWQsIDB4YTgsIDB4ZWYsIDB4ZjAsIDB4ZWQsIDB4MTIsIDB4MWQsIDB4Y2UsIDB4ZTQsIDB4ZjUsCi0weDIzLCAweGU1LCAweDIzLCAweDkwLCAweDMyLCAweDA0LCAweDkzLCAweGZmLCAweDc4LCAweDc4LCAweGY2LCAweGZkLCAweGU1LCAweDIzLCAweDI1LCAweGUwLAotMHgyNCwgMHgwYiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgzMiwgMHhmNSwgMHg4MywgMHhlNCwgMHg5MywgMHgwOCwgMHhmNiwgMHhlZCwgMHgzMCwgMHhlNywKLTB4NTMsIDB4MTgsIDB4ZTYsIDB4NTQsIDB4MGYsIDB4ZjksIDB4MTIsIDB4MWQsIDB4NDcsIDB4MTIsIDB4MWQsIDB4YjYsIDB4MjQsIDB4NDcsIDB4ZjUsIDB4ODIsCi0weGU0LCAweDM0LCAweGZmLCAweDEyLCAweDFjLCAweGM4LCAweGNlLCAweGMzLCAweDEzLCAweGNlLCAweDEzLCAweGQ4LCAweGY5LCAweGZmLCAweGU5LCAweDEyLAotMHgxZCwgMHhhOCwgMHhlZiwgMHhmMCwgMHgxMiwgMHgxYywgMHhjZiwgMHhjZSwgMHhjMywgMHgxMywgMHhjZSwgMHgxMywgMHhkOCwgMHhmOSwgMHgxMiwgMHgxZCwKLTB4YmIsIDB4MjQsIDB4NDUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4ZmYsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4ZTksIDB4MTIsIDB4MWQsIDB4Y2UsCi0weGU5LCAweDc1LCAweGYwLCAweDA4LCAweGE0LCAweDI0LCAweDQ2LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweGZmLCAweGY1LCAweDgzLCAweDc0LCAweDgwLCAKLTB4ZjAsIDB4MDIsIDB4MTksIDB4NjcsIDB4NzgsIDB4NzgsIDB4ZTYsIDB4NTQsIDB4MGYsIDB4ZjksIDB4MTIsIDB4MWQsIDB4OWEsIDB4MTIsIDB4MWQsIDB4YjYsCi0weDI0LCAweDA3LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweGZmLCAweDEyLCAweDFjLCAweGM4LCAweGNlLCAweGMzLCAweDEzLCAweGNlLCAweDEzLCAweGQ4LAotMHhmOSwgMHgxMiwgMHgxZCwgMHhiYiwgMHgyNCwgMHgwMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHhmZiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHgxMiwKLTB4MWMsIDB4Y2YsIDB4Y2UsIDB4YzMsIDB4MTMsIDB4Y2UsIDB4MTMsIDB4ZDgsIDB4ZjksIDB4MTIsIDB4MWQsIDB4YmIsIDB4MjQsIDB4MDUsIDB4ZjUsIDB4ODIsCi0weGU0LCAweDM0LCAweGZmLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweGU5LCAweDc1LCAweGYwLCAweDA4LCAweGE0LCAweDI0LCAweDAyLCAweGY1LCAweDgyLCAKLTB4ZTQsIDB4MzQsIDB4ZmYsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4ZTksIDB4NzUsIDB4ZjAsIDB4MDgsIDB4YTQsIDB4MjQsIDB4MDYsIDB4ZjUsIDB4ODIsIAotMHhlNCwgMHgzNCwgMHhmZiwgMHhmNSwgMHg4MywgMHhlNCwgMHhmMCwgMHgwNSwgMHgyMywgMHhlNSwgMHgyMywgMHg2NCwgMHgwNCwgMHg2MCwgMHgwMywgMHgwMiwgCi0weDE4LCAweDkxLCAweDkwLCAweDMyLCAweDA5LCAweGU0LCAweDkzLCAweGZmLCAweDc4LCAweDc4LCAweGY2LCAweDEyLCAweDFkLCAweDk4LCAweGU0LCAweGYwLAotMHg5MCwgMHgzMiwgMHgwOCwgMHg5MywgMHhmZiwgMHhmNiwgMHgxMiwgMHgxZCwgMHg0NSwgMHhlNCwgMHhmMCwgMHg5MCwgMHhmZiwgMHhmZCwgMHg3NCwgMHgwNSwKLTB4ZjAsIDB4MjIsIDB4N2IsIDB4MDAsIDB4N2EsIDB4MDAsIDB4NzksIDB4MjMsIDB4OTAsIDB4ZmEsIDB4Y2YsIDB4ZTQsIDB4NzUsIDB4ZjAsIDB4MDEsIDB4MTIsCi0weDFiLCAweDMyLCAweDg1LCAweGYwLCAweDJlLCAweGY1LCAweDJkLCAweDdkLCAweDAxLCAweDAyLCAweDI2LCAweDk4LCAweGU3LCAweDA5LCAweGY2LCAweDA4LAotMHhkZiwgMHhmYSwgMHg4MCwgMHg0NiwgMHhlNywgMHgwOSwgMHhmMiwgMHgwOCwgMHhkZiwgMHhmYSwgMHg4MCwgMHgzZSwgMHg4OCwgMHg4MiwgMHg4YywgMHg4MywgCi0weGU3LCAweDA5LCAweGYwLCAweGEzLCAweGRmLCAweGZhLCAweDgwLCAweDMyLCAweGUzLCAweDA5LCAweGY2LCAweDA4LCAweGRmLCAweGZhLCAweDgwLCAweDc4LCAKLTB4ZTMsIDB4MDksIDB4ZjIsIDB4MDgsIDB4ZGYsIDB4ZmEsIDB4ODAsIDB4NzAsIDB4ODgsIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZTMsIDB4MDksIDB4ZjAsIDB4YTMsIAotMHhkZiwgMHhmYSwgMHg4MCwgMHg2NCwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlMCwgMHhhMywgMHhmNiwgMHgwOCwgMHhkZiwgMHhmYSwgMHg4MCwgMHg1OCwgCi0weDg5LCAweDgyLCAweDhhLCAweDgzLCAweGUwLCAweGEzLCAweGYyLCAweDA4LCAweGRmLCAweGZhLCAweDgwLCAweDRjLCAweDgwLCAweGQyLCAweDgwLCAweGZhLCAKLTB4ODAsIDB4YzYsIDB4ODAsIDB4ZDQsIDB4ODAsIDB4NjksIDB4ODAsIDB4ZjIsIDB4ODAsIDB4MzMsIDB4ODAsIDB4MTAsIDB4ODAsIDB4YTYsIDB4ODAsIDB4ZWEsIAotMHg4MCwgMHg5YSwgMHg4MCwgMHhhOCwgMHg4MCwgMHhkYSwgMHg4MCwgMHhlMiwgMHg4MCwgMHhjYSwgMHg4MCwgMHgzMywgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgCi0weGVjLCAweGZhLCAweGU0LCAweDkzLCAweGEzLCAweGM4LCAweGM1LCAweDgyLCAweGM4LCAweGNjLCAweGM1LCAweDgzLCAweGNjLCAweGYwLCAweGEzLCAweGM4LCAKLTB4YzUsIDB4ODIsIDB4YzgsIDB4Y2MsIDB4YzUsIDB4ODMsIDB4Y2MsIDB4ZGYsIDB4ZTksIDB4ZGUsIDB4ZTcsIDB4ODAsIDB4MGQsIDB4ODksIDB4ODIsIDB4OGEsIAotMHg4MywgMHhlNCwgMHg5MywgMHhhMywgMHhmNiwgMHgwOCwgMHhkZiwgMHhmOSwgMHhlYywgMHhmYSwgMHhhOSwgMHhmMCwgMHhlZCwgMHhmYiwgMHgyMiwgMHg4OSwgCi0weDgyLCAweDhhLCAweDgzLCAweGVjLCAweGZhLCAweGUwLCAweGEzLCAweGM4LCAweGM1LCAweDgyLCAweGM4LCAweGNjLCAweGM1LCAweDgzLCAweGNjLCAweGYwLCAKLTB4YTMsIDB4YzgsIDB4YzUsIDB4ODIsIDB4YzgsIDB4Y2MsIDB4YzUsIDB4ODMsIDB4Y2MsIDB4ZGYsIDB4ZWEsIDB4ZGUsIDB4ZTgsIDB4ODAsIDB4ZGIsIDB4ODksIAotMHg4MiwgMHg4YSwgMHg4MywgMHhlNCwgMHg5MywgMHhhMywgMHhmMiwgMHgwOCwgMHhkZiwgMHhmOSwgMHg4MCwgMHhjYywgMHg4OCwgMHhmMCwgMHhlZiwgMHg2MCwgCi0weDAxLCAweDBlLCAweDRlLCAweDYwLCAweGMzLCAweDg4LCAweGYwLCAweGVkLCAweDI0LCAweDAyLCAweGI0LCAweDA0LCAweDAwLCAweDUwLCAweGI5LCAweGY1LCAKLTB4ODIsIDB4ZWIsIDB4MjQsIDB4MDIsIDB4YjQsIDB4MDQsIDB4MDAsIDB4NTAsIDB4YWYsIDB4MjMsIDB4MjMsIDB4NDUsIDB4ODIsIDB4MjMsIDB4OTAsIDB4MTksIAotMHhmYywgMHg3MywgMHhiYiwgMHgwMSwgMHgwNiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlMCwgMHgyMiwgMHg1MCwgMHgwMiwgMHhlNywgMHgyMiwgMHhiYiwKLTB4ZmUsIDB4MDIsIDB4ZTMsIDB4MjIsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTQsIDB4OTMsIDB4MjIsIDB4YmIsIDB4MDEsIDB4MGMsIDB4ZTUsIDB4ODIsIAotMHgyOSwgMHhmNSwgMHg4MiwgMHhlNSwgMHg4MywgMHgzYSwgMHhmNSwgMHg4MywgMHhlMCwgMHgyMiwgMHg1MCwgMHgwNiwgMHhlOSwgMHgyNSwgMHg4MiwgMHhmOCwgCi0weGU2LCAweDIyLCAweGJiLCAweGZlLCAweDA2LCAweGU5LCAweDI1LCAweDgyLCAweGY4LCAweGUyLCAweDIyLCAweGU1LCAweDgyLCAweDI5LCAweGY1LCAweDgyLCAKLTB4ZTUsIDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4OTMsIDB4MjIsIDB4YmIsIDB4MDEsIDB4MDYsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZjAsIAotMHgyMiwgMHg1MCwgMHgwMiwgMHhmNywgMHgyMiwgMHhiYiwgMHhmZSwgMHgwMSwgMHhmMywgMHgyMiwgMHhmOCwgMHhiYiwgMHgwMSwgMHgwZCwgMHhlNSwgMHg4MiwgCi0weDI5LCAweGY1LCAweDgyLCAweGU1LCAweDgzLCAweDNhLCAweGY1LCAweDgzLCAweGU4LCAweGYwLCAweDIyLCAweDUwLCAweDA2LCAweGU5LCAweDI1LCAweDgyLCAKLTB4YzgsIDB4ZjYsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDUsIDB4ZTksIDB4MjUsIDB4ODIsIDB4YzgsIDB4ZjIsIDB4MjIsIDB4YzUsIDB4ZjAsIDB4ZjgsIDB4YTMsIAotMHhlMCwgMHgyOCwgMHhmMCwgMHhjNSwgMHhmMCwgMHhmOCwgMHhlNSwgMHg4MiwgMHgxNSwgMHg4MiwgMHg3MCwgMHgwMiwgMHgxNSwgMHg4MywgMHhlMCwgMHgzOCwgCi0weGYwLCAweDIyLCAweGEzLCAweGY4LCAweGUwLCAweGM1LCAweGYwLCAweDI1LCAweGYwLCAweGYwLCAweGU1LCAweDgyLCAweDE1LCAweDgyLCAweDcwLCAweDAyLCAKLTB4MTUsIDB4ODMsIDB4ZTAsIDB4YzgsIDB4MzgsIDB4ZjAsIDB4ZTgsIDB4MjIsIDB4YmIsIDB4MDEsIDB4MTAsIDB4ZTUsIDB4ODIsIDB4MjksIDB4ZjUsIDB4ODIsIAotMHhlNSwgMHg4MywgMHgzYSwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHhmMCwgMHhhMywgMHhlMCwgMHgyMiwgMHg1MCwgMHgwOSwgMHhlOSwgMHgyNSwgMHg4MiwgCi0weGY4LCAweDg2LCAweGYwLCAweDA4LCAweGU2LCAweDIyLCAweGJiLCAweGZlLCAweDBhLCAweGU5LCAweDI1LCAweDgyLCAweGY4LCAweGUyLCAweGY1LCAweGYwLCAKLTB4MDgsIDB4ZTIsIDB4MjIsIDB4ZTUsIDB4ODMsIDB4MmEsIDB4ZjUsIDB4ODMsIDB4ZTksIDB4OTMsIDB4ZjUsIDB4ZjAsIDB4YTMsIDB4ZTksIDB4OTMsIDB4MjIsIAotMHhiYiwgMHgwMSwgMHgwYSwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhmMCwgMHhlNSwgMHhmMCwgMHhhMywgMHhmMCwgMHgyMiwgMHg1MCwgMHgwNiwgMHhmNywgCi0weDA5LCAweGE3LCAweGYwLCAweDE5LCAweDIyLCAweGJiLCAweGZlLCAweDA2LCAweGYzLCAweGU1LCAweGYwLCAweDA5LCAweGYzLCAweDE5LCAweDIyLCAweGY4LCAKLTB4YmIsIDB4MDEsIDB4MTEsIDB4ZTUsIDB4ODIsIDB4MjksIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTgsIDB4ZjAsIDB4ZTUsIAotMHhmMCwgMHhhMywgMHhmMCwgMHgyMiwgMHg1MCwgMHgwOSwgMHhlOSwgMHgyNSwgMHg4MiwgMHhjOCwgMHhmNiwgMHgwOCwgMHhhNiwgMHhmMCwgMHgyMiwgMHhiYiwgCi0weGZlLCAweDA5LCAweGU5LCAweDI1LCAweDgyLCAweGM4LCAweGYyLCAweGU1LCAweGYwLCAweDA4LCAweGYyLCAweDIyLCAweGE0LCAweDI1LCAweDgyLCAweGY1LCAKLTB4ODIsIDB4ZTUsIDB4ZjAsIDB4MzUsIDB4ODMsIDB4ZjUsIDB4ODMsIDB4MjIsIDB4ZTYsIDB4ZmIsIDB4MDgsIDB4ZTYsIDB4ZmEsIDB4MDgsIDB4ZTYsIDB4ZjksIAotMHgyMiwgMHhlYiwgMHhmNiwgMHgwOCwgMHhlYSwgMHhmNiwgMHgwOCwgMHhlOSwgMHhmNiwgMHgyMiwgMHhlMCwgMHhmYiwgMHhhMywgMHhlMCwgMHhmYSwgMHhhMywgCi0weGUwLCAweGY5LCAweDIyLCAweGViLCAweGYwLCAweGEzLCAweGVhLCAweGYwLCAweGEzLCAweGU5LCAweGYwLCAweDIyLCAweGQwLCAweDgzLCAweGQwLCAweDgyLCAKLTB4ZjgsIDB4ZTQsIDB4OTMsIDB4NzAsIDB4MTIsIDB4NzQsIDB4MDEsIDB4OTMsIDB4NzAsIDB4MGQsIDB4YTMsIDB4YTMsIDB4OTMsIDB4ZjgsIDB4NzQsIDB4MDEsIAotMHg5MywgMHhmNSwgMHg4MiwgMHg4OCwgMHg4MywgMHhlNCwgMHg3MywgMHg3NCwgMHgwMiwgMHg5MywgMHg2OCwgMHg2MCwgMHhlZiwgMHhhMywgMHhhMywgMHhhMywgCi0weDgwLCAweGRmLCAweGFiLCAweDM2LCAweGFhLCAweDM3LCAweGE5LCAweDM4LCAweGU1LCAweDRjLCAweDEyLCAweDFhLCAweGU4LCAweDc0LCAweDAxLCAweDI1LAotMHgzOCwgMHhmNSwgMHgzOCwgMHhlNCwgMHgzNSwgMHgzNywgMHhmNSwgMHgzNywgMHhhYiwgMHgzNiwgMHhmYSwgMHhhOSwgMHgzOCwgMHg3NCwgMHgxMSwgMHgxMiwgCi0weDFhLCAweGU4LCAweDc0LCAweDAxLCAweDI1LCAweDM4LCAweGY1LCAweDM4LCAweGU0LCAweDM1LCAweDM3LCAweGY1LCAweDM3LCAweDkwLCAweGZmLCAweDA2LAotMHhlMCwgMHhhYiwgMHgzNiwgMHhhYSwgMHgzNywgMHhhOSwgMHgzOCwgMHgxMiwgMHgxYSwgMHhlOCwgMHg3NCwgMHgwMSwgMHgyNSwgMHgzOCwgMHhmNSwgMHgzOCwKLTB4ZTQsIDB4MzUsIDB4MzcsIDB4ZjUsIDB4MzcsIDB4YWIsIDB4MzYsIDB4ZmEsIDB4YTksIDB4MzgsIDB4ZTQsIDB4MTIsIDB4MWEsIDB4ZTgsIDB4MDQsIDB4MjUsCi0weDM4LCAweGY1LCAweDM4LCAweGU0LCAweDM1LCAweDM3LCAweGY1LCAweDM3LCAweGFiLCAweDM2LCAweGZhLCAweGE5LCAweDM4LCAweGU0LCAweDEyLCAweDFhLCAKLTB4ZTgsIDB4MDQsIDB4MjUsIDB4MzgsIDB4ZjUsIDB4MzgsIDB4ZTQsIDB4MzUsIDB4MzcsIDB4ZjUsIDB4MzcsIDB4OTAsIDB4ZmYsIDB4MDQsIDB4ZTAsIDB4YWIsCi0weDM2LCAweGFhLCAweDM3LCAweGE5LCAweDM4LCAweDEyLCAweDFhLCAweGU4LCAweDc0LCAweDAxLCAweDI1LCAweDM4LCAweGY1LCAweDM4LCAweGU0LCAweDM1LAotMHgzNywgMHhmNSwgMHgzNywgMHg5MCwgMHhmZiwgMHgwNSwgMHhlMCwgMHhhYiwgMHgzNiwgMHhhYSwgMHgzNywgMHhhOSwgMHgzOCwgMHgxMiwgMHgxYSwgMHhlOCwKLTB4NzQsIDB4MDEsIDB4MjUsIDB4MzgsIDB4ZjUsIDB4MzgsIDB4ZTQsIDB4MzUsIDB4MzcsIDB4ZjUsIDB4MzcsIDB4MjIsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIAotMHgwOCwgMHhhYiwgMHgzNiwgMHhhYSwgMHgzNywgMHhhOSwgMHgzOCwgMHgyMiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHhmZCwgMHg3YywgMHgwMCwgMHhjMywgCi0weDc4LCAweDdiLCAweGU2LCAweDlkLCAweGY2LCAweDE4LCAweGU2LCAweDljLCAweGY2LCAweGU2LCAweGZlLCAweDA4LCAweGU2LCAweDc4LCAweDAzLCAweDIyLCAKLTB4NzUsIDB4MzYsIDB4MDEsIDB4NzUsIDB4MzcsIDB4ZjksIDB4NzUsIDB4MzgsIDB4NzIsIDB4MjIsIDB4ZTAsIDB4NDQsIDB4MDQsIDB4ZjAsIDB4NzQsIDB4MTMsCi0weDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweGY5LCAweGY1LCAweDgzLCAweGUwLCAweDIyLCAweDkwLCAweGZhLCAweGJjLCAweGUwLCAweGZmLCAweDdlLAotMHgwMCwgMHhjMywgMHg5MCwgMHhmYSwgMHhjMCwgMHhlMCwgMHg5ZiwgMHhmMCwgMHg5MCwgMHhmYSwgMHhiZiwgMHhlMCwgMHg5ZSwgMHhmMCwgMHg5MCwgMHhmYSwKLTB4YjcsIDB4ZWUsIDB4OGYsIDB4ZjAsIDB4MTIsIDB4MWIsIDB4MWMsIDB4ZWYsIDB4MjUsIDB4NGYsIDB4ZjUsIDB4NGYsIDB4ZWUsIDB4MzUsIDB4NGUsIDB4ZjUsCi0weDRlLCAweDIyLCAweDdiLCAweDAxLCAweDdhLCAweGZhLCAweDc5LCAweGI0LCAweDkwLCAweGZhLCAweGI3LCAweGUwLCAweGY1LCAweDJkLCAweGEzLCAweGUwLAotMHhmNSwgMHgyZSwgMHgyMiwgMHg3OCwgMHg3YywgMHhlNiwgMHhmZSwgMHgwOCwgMHhlNiwgMHg4ZSwgMHg4MywgMHgyNCwgMHgwNCwgMHhmNSwgMHg4MiwgMHhlNCwgCi0weDM1LCAweDgzLCAweGY1LCAweDgzLCAweDIyLCAweDU0LCAweDBmLCAweDc1LCAweGYwLCAweDA4LCAweGE0LCAweDI0LCAweDQwLCAweGY1LCAweDgyLCAweGU0LCAKLTB4MzQsIDB4ZmYsIDB4ZjUsIDB4ODMsIDB4MjIsIDB4ZTUsIDB4NGQsIDB4NzUsIDB4ZjAsIDB4MDgsIDB4YTQsIDB4MjQsIDB4NDgsIDB4ZjUsIDB4ODIsIDB4ZTQsIAotMHgzNCwgMHhmZiwgMHgyMiwgMHhlNSwgMHg0ZCwgMHg3NSwgMHhmMCwgMHgwOCwgMHhhNCwgMHgyNCwgMHgwOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHhmZiwgCi0weDIyLCAweDkwLCAweGZhLCAweGI5LCAweGUwLCAweGZmLCAweDI0LCAweGZjLCAweDIyLCAweDkwLCAweGZmLCAweDAwLCAweGUwLCAweDU0LCAweDFmLCAweDIyLAotMHg5MCwgMHhmYSwgMHhiZSwgMHhlMCwgMHg5MCwgMHhmYSwgMHhiYSwgMHhmMCwgMHgyMiwgMHg3NSwgMHgzMywgMHgwMCwgMHg4ZiwgMHgzNCwgMHg5MCwgMHhmOSwKLTB4NmYsIDB4MTIsIDB4MWIsIDB4ZWEsIDB4OTAsIDB4MDAsIDB4MDIsIDB4MjIsIDB4NTQsIDB4MGYsIDB4NzUsIDB4ZjAsIDB4MDgsIDB4YTQsIDB4MjQsIDB4MDAsCi0weGY1LCAweDgyLCAweGU0LCAweDM0LCAweGZmLCAweGY1LCAweDgzLCAweDIyLCAweDc1LCAweGYwLCAweDA4LCAweGE0LCAweDI0LCAweDQxLCAweGY1LCAweDgyLCAKLTB4ZTQsIDB4MzQsIDB4ZmYsIDB4ZjUsIDB4ODMsIDB4MjIsIDB4NzQsIDB4ODAsIDB4ZjAsIDB4MDgsIDB4ZTYsIDB4ZmYsIDB4ZTksIDB4NzUsIDB4ZjAsIDB4MDgsIAotMHhhNCwgMHgyMiwgMHg3NCwgMHhiMiwgMHgyNSwgMHgyMiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHhmYSwgMHhmNSwgMHg4MywgMHgyMiwgMHg3NSwgMHhmMCwKLTB4MDgsIDB4YTQsIDB4MjQsIDB4NDIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4ZmYsIDB4ZjUsIDB4ODMsIDB4NzQsIDB4ODAsIDB4ZjAsIDB4MjIsIDB4OTAsIAotMHhmZiwgMHg4MiwgMHhlMCwgMHg0NCwgMHgwOCwgMHhmMCwgMHgyMiwgMHg5MCwgMHhmZiwgMHhmZSwgMHhlMCwgMHg0NCwgMHgwMywgMHhmMCwgMHg5MCwgMHhmZiwgCi0weGZjLCAweGUwLCAweDU0LCAweGZkLCAweGYwLCAweDIyLCAweDc4LCAweDY3LCAweGU2LCAweDU0LCAweGZkLCAweGY2LCAweDkwLCAweGZmLCAweGZkLCAweDc0LCAKLTB4NjUsIDB4ZjAsIDB4MjIsIDB4MTIsIDB4MWIsIDB4Y2MsIDB4ZTAsIDB4ZmUsIDB4YTMsIDB4ZTAsIDB4ZmYsIDB4NGUsIDB4MjIsIDB4N2IsIDB4MDEsIDB4N2EsCi0weGZhLCAweDc5LCAweGI3LCAweDIyLCAweDkwLCAweGZmLCAweDgwLCAweGUwLCAweDQ0LCAweDA4LCAweGYwLCAweDIyLCAweDkwLCAweGZmLCAweDgzLCAweGUwLAotMHg1NCwgMHg3ZiwgMHhmMCwgMHgyMiwgMHhlMCwgMHhmZiwgMHg5MCwgMHhmOSwgMHg2YSwgMHgwMiwgMHgxYiwgMHhlYSwgMHg5MCwgMHhmZiwgMHhhNCwgMHhlMCwKLTB4NDQsIDB4MDIsIDB4ZjAsIDB4MjIsIDB4NzUsIDB4MzksIDB4MDEsIDB4NzUsIDB4M2EsIDB4MDksIDB4MjIsIDB4N2IsIDB4MDEsIDB4N2EsIDB4ZjksIDB4NzksIAotMHg3MiwgMHgyMiwgMHhkMywgMHhlNSwgMHgzYywgMHg5NCwgMHgwOCwgMHhlNSwgMHgzYiwgMHg5NCwgMHgwMSwgMHgyMiwgMHg5MCwgMHhmYSwgMHhiZSwgMHhlMCwKLTB4ZmYsIDB4OTAsIDB4ZmEsIDB4YmEsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4ZmYsIDB4YTQsIDB4ZTAsIDB4NTQsIDB4ZWYsIDB4MjIsIDB4OTAsIDB4ZmYsIDB4YjQsCi0weGUwLCAweDU0LCAweGVmLCAweDIyLCAweDEyLCAweDEwLCAweDRiLCAweDc4LCAweDg4LCAweGVmLCAweGY2LCAweDEyLCAweDJhLCAweGM3LCAweDEyLCAweDIyLAotMHhmYSwgMHg4ZSwgMHg4MywgMHgyNCwgMHgwOSwgMHgxMiwgMHgyMiwgMHhhMSwgMHhlMCwgMHhmZCwgMHgxMiwgMHgyMiwgMHhlOCwgMHg5MCwgMHgwMCwgMHgwYSwKLTB4MTIsIDB4MjMsIDB4MDIsIDB4MjQsIDB4MGEsIDB4MTIsIDB4MjIsIDB4YTEsIDB4ZTAsIDB4OTAsIDB4MDAsIDB4MGIsIDB4MTIsIDB4MWEsIDB4ZmEsIDB4MTIsCi0weDIyLCAweGZhLCAweGY1LCAweDgyLCAweDhlLCAweDgzLCAweGEzLCAweGEzLCAweGEzLCAweGUwLCAweGY1LCAweDUzLCAweDEyLCAweDIzLCAweDA2LCAweDI0LAotMHgwNCwgMHgxMiwgMHgyMiwgMHhhMSwgMHhlMCwgMHhmNSwgMHg1NCwgMHg4ZiwgMHg4MiwgMHg4ZSwgMHg4MywgMHhhMywgMHhhMywgMHhlMCwgMHhmNSwgMHg1NSwKLTB4ZTUsIDB4NTMsIDB4YzQsIDB4MTMsIDB4MTMsIDB4MTMsIDB4NTQsIDB4MDEsIDB4NzgsIDB4ODgsIDB4ZjYsIDB4ZDMsIDB4OTQsIDB4MDAsIDB4NDAsIDB4MDYsIAotMHhlNSwgMHg1NCwgMHgzMCwgMHhlMSwgMHgwMSwgMHgwNiwgMHg3OCwgMHg4OCwgMHhlNiwgMHgxMiwgMHgyMiwgMHhlNywgMHg5MCwgMHgwMCwgMHgwYywgMHhlZiwKLTB4MTIsIDB4MWEsIDB4ZmEsIDB4MTIsIDB4MjIsIDB4YjUsIDB4YTMsIDB4YTMsIDB4ZTAsIDB4ZmUsIDB4YTMsIDB4ZTAsIDB4ZmYsIDB4NTMsIDB4MDcsIDB4MGMsCi0weDUzLCAweDA2LCAweGU2LCAweGU1LCAweDUzLCAweDMwLCAweGU1LCAweDAzLCAweDQzLCAweDA3LCAweDAxLCAweGU1LCAweDU0LCAweDIwLCAweGU1LCAweDBlLAotMHhlNSwgMHg1MywgMHg1NCwgMHg3ZiwgMHg3MCwgMHgwOCwgMHhlNSwgMHg1MywgMHgyMCwgMHhlNywgMHgwMywgMHg0MywgMHgwNywgMHgwMiwgMHhlNSwgMHg1MywKLTB4MzAsIDB4ZTMsIDB4MDMsIDB4NDMsIDB4MDcsIDB4MTAsIDB4ZTUsIDB4NTMsIDB4MzAsIDB4ZTIsIDB4MDMsIDB4NDMsIDB4MDcsIDB4MjAsIDB4ZTUsIDB4NTMsCi0weDU0LCAweDAzLCAweDYwLCAweDAzLCAweDQzLCAweDA3LCAweDQwLCAweGU1LCAweDUzLCAweDMwLCAweGUxLCAweDAzLCAweDQzLCAweDA3LCAweDgwLCAweGU1LAotMHg1MywgMHgzMCwgMHhlNCwgMHgwMywgMHg0MywgMHgwNiwgMHgwMSwgMHhlNSwgMHg1MywgMHgzMCwgMHhlNiwgMHgwMywgMHg0MywgMHgwNiwgMHgwOCwgMHhlNSwKLTB4NTQsIDB4MjAsIDB4ZTQsIDB4MGUsIDB4ZTUsIDB4NTMsIDB4NTQsIDB4N2YsIDB4NzAsIDB4MDgsIDB4ZTUsIDB4NTMsIDB4MjAsIDB4ZTcsIDB4MDMsIDB4NDMsCi0weDA2LCAweDEwLCAweDUzLCAweDA3LCAweGZiLCAweDUzLCAweDA2LCAweDc5LCAweDkwLCAweDAwLCAweDA1LCAweGVlLCAweDhmLCAweGYwLCAweDEyLCAweDFiLAotMHg5ZiwgMHhlNSwgMHg1NSwgMHgzMCwgMHhlMywgMHgxMiwgMHg1NCwgMHgzMCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHgxMiwgMHgyMiwgMHhlNywgMHg5MCwKLTB4MDAsIDB4MDgsIDB4ZWYsIDB4MTIsIDB4MWEsIDB4ZmEsIDB4ODAsIDB4MGEsIDB4MTIsIDB4MjIsIDB4ZTgsIDB4OTAsIDB4MDAsIDB4MDgsIDB4ZTQsIDB4MTIsCi0weDFhLCAweGZhLCAweGU1LCAweDU1LCAweDU0LCAweDAzLCAweDEyLCAweDIyLCAweGU3LCAweDkwLCAweDAwLCAweDA3LCAweGVmLCAweDEyLCAweDFhLCAweGZhLAotMHhlNSwgMHg1NSwgMHg1NCwgMHgwNCwgMHhmZiwgMHhjMywgMHgxMywgMHg5MCwgMHgwMCwgMHgwOSwgMHgxMiwgMHgxYSwgMHhmYSwgMHg5MCwgMHgwMCwgMHgwNywKLTB4MTIsIDB4MWEsIDB4YmIsIDB4NzAsIDB4MTMsIDB4MTIsIDB4MjIsIDB4ZTgsIDB4ZTksIDB4MjQsIDB4MDksIDB4ZjksIDB4ZTQsIDB4M2EsIDB4ZmEsIDB4MTIsCi0weDFhLCAweGEyLCAweGZmLCAweGMzLCAweDEzLCAweDEyLCAweDFhLCAweGU4LCAweDEyLCAweDIzLCAweDI3LCAweDI0LCAweDA4LCAweDEyLCAweDIyLCAweGExLAotMHhlMCwgMHhmZSwgMHg4ZCwgMHg4MiwgMHg4YywgMHg4MywgMHhlNSwgMHg4MiwgMHgyNCwgMHgwNywgMHgxMiwgMHgyMiwgMHhhMSwgMHhlMCwgMHhmZCwgMHhlZSwKLTB4ZWQsIDB4MTIsIDB4MjIsIDB4ZTcsIDB4OTAsIDB4MDAsIDB4MDMsIDB4ZWUsIDB4OGYsIDB4ZjAsIDB4MTIsIDB4MWIsIDB4OWYsIDB4MTIsIDB4MzIsIDB4ODQsCi0weDdkLCAweDBhLCAweGU0LCAweGZmLCAweDEyLCAweDJmLCAweGI0LCAweDAyLCAweDEwLCAweGNlLCAweDkwLCAweGZhLCAweGU2LCAweGUwLCAweGI0LCAweDAzLAotMHgwNiwgMHg3ZSwgMHgwMCwgMHg3ZiwgMHg0MCwgMHg4MCwgMHgwNCwgMHg3ZSwgMHgwMCwgMHg3ZiwgMHgwOCwgMHg5MCwgMHhmYSwgMHhkYSwgMHhlZSwgMHhmMCwKLTB4YTMsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4MDAsIDB4MDUsIDB4MTIsIDB4MWEsIDB4YmIsIDB4ZmYsIDB4N2UsIDB4MDAsIDB4OTAsIDB4ZmEsIDB4ZDYsIDB4ZWUsCi0weGYwLCAweGEzLCAweGVmLCAweGYwLCAweDcwLCAweDAzLCAweDdmLCAweDA4LCAweDIyLCAweDkwLCAweDAwLCAweDA4LCAweDEyLCAweDFiLCAweDQ4LCAweGZmLAotMHg5MCwgMHhmYSwgMHhkOCwgMHhlNSwgMHhmMCwgMHhmMCwgMHhhMywgMHhlZiwgMHhmMCwgMHhhZSwgMHgwMiwgMHhhZiwgMHgwMSwgMHg4ZSwgMHg1MCwgMHg4ZiwKLTB4NTEsIDB4NzQsIDB4MGEsIDB4MjUsIDB4NTEsIDB4ZjUsIDB4NTEsIDB4ZTQsIDB4MzUsIDB4NTAsIDB4ZjUsIDB4NTAsIDB4OTAsIDB4ZmEsIDB4ZGIsIDB4ZTAsCi0weGZmLCAweDE0LCAweGZlLCAweDkwLCAweGZhLCAweGQ5LCAweGUwLCAweDVlLCAweGZlLCAweGMzLCAweGVmLCAweDllLCAweGZmLCAweDkwLCAweGZhLCAweGRkLAotMHhmMCwgMHhjMywgMHg5MCwgMHhmYSwgMHhkNywgMHhlMCwgMHg5ZiwgMHg5MCwgMHhmYSwgMHhkNiwgMHhlMCwgMHg5NCwgMHgwMCwgMHg1MCwgMHgwNiwgMHhhMywKLTB4ZTAsIDB4OTAsIDB4ZmEsIDB4ZGQsIDB4ZjAsIDB4MTIsIDB4MjAsIDB4YTksIDB4NjAsIDB4MDMsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4MTIsIDB4MmUsIDB4MmIsCi0weDkwLCAweGZhLCAweGQ2LCAweGUwLCAweGZlLCAweGEzLCAweGUwLCAweGZmLCAweDRlLCAweDYwLCAweDJiLCAweDkwLCAweGZhLCAweGRhLCAweGUwLCAweGZjLAotMHhhMywgMHhlMCwgMHhmZCwgMHhkMywgMHhlZiwgMHg5ZCwgMHhlZSwgMHg5YywgMHg0MCwgMHgwNywgMHhlMCwgMHg5MCwgMHhmYSwgMHhkZCwgMHhmMCwgMHg4MCwKLTB4MDgsIDB4OTAsIDB4ZmEsIDB4ZDcsIDB4ZTAsIDB4OTAsIDB4ZmEsIDB4ZGQsIDB4ZjAsIDB4MTIsIDB4MjAsIDB4YTksIDB4NjAsIDB4MDMsIDB4ZTAsIDB4ZmYsCi0weDIyLCAweDEyLCAweDJlLCAweDJiLCAweDgwLCAweGNhLCAweDdiLCAweDAwLCAweDdhLCAweDAwLCAweDc5LCAweDUyLCAweGU0LCAweGY1LCAweDJkLCAweGY1LAotMHgyZSwgMHg3ZCwgMHgwMSwgMHgxMiwgMHgyNiwgMHg5OCwgMHg3ZiwgMHgwMCwgMHgyMiwgMHhhYSwgMHg1MCwgMHhhOSwgMHg1MSwgMHg3YiwgMHgwMSwgMHg5MCwKLTB4ZmEsIDB4ZDgsIDB4ZTAsIDB4ZmMsIDB4YTMsIDB4ZTAsIDB4ZmQsIDB4OTAsIDB4ZmEsIDB4ZGQsIDB4ZTAsIDB4ZjUsIDB4NGEsIDB4MTIsIDB4MjksIDB4NjAsCi0weDkwLCAweGZhLCAweGRjLCAweGVmLCAweGYwLCAweDIyLCAweGVmLCAweDI0LCAweGFlLCAweDYwLCAweDUyLCAweDI0LCAweGZlLCAweDYwLCAweDJlLCAweDI0LAotMHhmZSwgMHg3MCwgMHgwMywgMHgwMiwgMHgyMSwgMHg2OSwgMHgyNCwgMHgwNiwgMHg2MCwgMHgwMywgMHgwMiwgMHgyMSwgMHhiMSwgMHg3OCwgMHg3MSwgMHhlNiwKLTB4NTQsIDB4ZmIsIDB4ZjYsIDB4OTAsIDB4ZmYsIDB4YTUsIDB4ZTAsIDB4ZjUsIDB4MjIsIDB4NDQsIDB4MGYsIDB4ZjAsIDB4NzQsIDB4MzMsIDB4OTAsIDB4ZmEsCi0weDk0LCAweGYwLCAweGU1LCAweDIyLCAweGEzLCAweGYwLCAweDkwLCAweGZhLCAweGIyLCAweDc0LCAweDAxLCAweGYwLCAweDIyLCAweDc4LCAweDcyLCAweGU2LAotMHg1NCwgMHhmYiwgMHhmNiwgMHg5MCwgMHhmZiwgMHhiNSwgMHhlMCwgMHhmNSwgMHgyMiwgMHg0NCwgMHgwZiwgMHhmMCwgMHg3NCwgMHg0MywgMHg5MCwgMHhmYSwKLTB4OTYsIDB4ZjAsIDB4ZTUsIDB4MjIsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4ZmEsIDB4YjMsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4ZmEsIDB4YTAsCi0weGUwLCAweGEzLCAweDIwLCAweGU1LCAweDAzLCAweDAyLCAweDIxLCAweGIxLCAweDkwLCAweGZmLCAweGE2LCAweGUwLCAweDkwLCAweGZhLCAweGNkLCAweGYwLAotMHhhMywgMHhmMCwgMHg5MCwgMHhmYSwgMHhjZCwgMHhlMCwgMHhmZiwgMHg1NCwgMHgwZiwgMHhmZSwgMHg2MCwgMHgxMCwgMHg5MCwgMHhmZiwgMHhhNiwgMHgxMiwKLTB4MjMsIDB4MGQsIDB4OTAsIDB4ZmYsIDB4YTYsIDB4ZTAsIDB4OTAsIDB4ZmEsIDB4Y2QsIDB4ZjAsIDB4ODAsIDB4ZTYsIDB4OTAsIDB4ZmEsIDB4Y2UsIDB4ZTAsCi0weGZmLCAweDc0LCAweDM0LCAweGZlLCAweDEyLCAweDJkLCAweDg1LCAweGVmLCAweDcwLCAweDU3LCAweDkwLCAweGZhLCAweGNlLCAweGUwLCAweGZmLCAweDc0LAotMHgzNCwgMHg5MCwgMHhmYSwgMHg5OCwgMHhmMCwgMHhlZiwgMHhhMywgMHhmMCwgMHgyMiwgMHg5MCwgMHhmYSwgMHhhYSwgMHhlMCwgMHhhMywgMHgzMCwgMHhlNSwKLTB4NDAsIDB4OTAsIDB4ZmYsIDB4YjYsIDB4ZTAsIDB4OTAsIDB4ZmEsIDB4Y2QsIDB4ZjAsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4ZmEsIDB4Y2QsIDB4ZTAsIDB4ZmYsCi0weDU0LCAweDBmLCAweGZlLCAweDYwLCAweDEwLCAweDkwLCAweGZmLCAweGI2LCAweDEyLCAweDIzLCAweDBkLCAweDkwLCAweGZmLCAweGI2LCAweGUwLCAweDkwLAotMHhmYSwgMHhjZCwgMHhmMCwgMHg4MCwgMHhlNiwgMHg5MCwgMHhmYSwgMHhjZSwgMHhlMCwgMHhmZiwgMHg3NCwgMHg0NCwgMHhmZSwgMHgxMiwgMHgyZCwgMHg4NSwKLTB4ZWYsIDB4NzAsIDB4MGUsIDB4OTAsIDB4ZmEsIDB4Y2UsIDB4ZTAsIDB4ZmYsIDB4NzQsIDB4NDQsIDB4OTAsIDB4ZmEsIDB4OWEsIDB4ZjAsIDB4ZWYsIDB4YTMsCi0weGYwLCAweDIyLCAweGMwLCAweGUwLCAweGMwLCAweGYwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweGQwLCAweDc1LCAweGQwLCAweDAwLCAweGMwLAotMHgwMCwgMHhjMCwgMHgwMSwgMHhjMCwgMHgwMiwgMHhjMCwgMHgwMywgMHhjMCwgMHgwNCwgMHhjMCwgMHgwNSwgMHhjMCwgMHgwNiwgMHhjMCwgMHgwNywgMHg5MCwKLTB4ZmYsIDB4OTIsIDB4ZTAsIDB4ZmYsIDB4OTAsIDB4ZmEsIDB4Y2MsIDB4ZjAsIDB4OTAsIDB4ZmYsIDB4OTIsIDB4ZTQsIDB4ZjAsIDB4ZWYsIDB4MTIsIDB4MWIsCi0weGZjLCAweDIyLCAweDY5LCAweDI2LCAweDIyLCAweDY5LCAweDJlLCAweDIyLCAweDBjLCAweDMwLCAweDIyLCAweDBjLCAweDMyLCAweDIyLCAweDFhLCAweDM4LAotMHgyMiwgMHgyYywgMHgzYSwgMHgyMiwgMHg1ZSwgMHgzZSwgMHgyMiwgMHg0OSwgMHg0NCwgMHgyMiwgMHgzZSwgMHg0NiwgMHgyMiwgMHg1NCwgMHg1MCwgMHgyMiwKLTB4NTQsIDB4NTIsIDB4MjIsIDB4NTQsIDB4NTQsIDB4MjIsIDB4NTQsIDB4NTYsIDB4MDAsIDB4MDAsIDB4MjIsIDB4NmUsIDB4OTAsIDB4ZmEsIDB4Y2MsIDB4ZTAsCi0weGZkLCAweDdjLCAweDAwLCAweDdmLCAweDAxLCAweDEyLCAweDExLCAweDVlLCAweDgwLCAweDYyLCAweDdjLCAweDAwLCAweDdkLCAweDAxLCAweDdmLCAweDAzLAotMHgxMiwgMHgxMSwgMHg1ZSwgMHg5MCwgMHhmZiwgMHhmZSwgMHhlMCwgMHg0NCwgMHgyMCwgMHhmMCwgMHg4MCwgMHg1MCwgMHg3YywgMHgwMCwgMHg3ZCwgMHgwMSwKLTB4N2YsIDB4MDIsIDB4MTIsIDB4MTEsIDB4NWUsIDB4OTAsIDB4ZmYsIDB4ZmUsIDB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjAsIDB4ODAsIDB4M2UsIDB4N2MsIDB4MDAsCi0weDdkLCAweDAxLCAweDdmLCAweDA1LCAweDEyLCAweDExLCAweDVlLCAweDgwLCAweDMzLCAweDdjLCAweDAwLCAweDdkLCAweDAxLCAweDdmLCAweDA2LCAweDEyLAotMHgxMSwgMHg1ZSwgMHg4MCwgMHgyOCwgMHg5MCwgMHhmYSwgMHhjYywgMHhlMCwgMHhmZiwgMHgxMiwgMHgyMCwgMHhjNiwgMHg4MCwgMHgxZSwgMHg3YywgMHgwMCwKLTB4N2QsIDB4MDEsIDB4N2YsIDB4MDQsIDB4MTIsIDB4MTEsIDB4NWUsIDB4ODAsIDB4MTMsIDB4MTIsIDB4MjgsIDB4NGUsIDB4ODAsIDB4MGUsIDB4OTAsIDB4ZmEsCi0weGNjLCAweGUwLCAweDI0LCAweDAwLCAweGZmLCAweGU0LCAweDM0LCAweGZmLCAweGZlLCAweDEyLCAweDJkLCAweDg1LCAweGQwLCAweDA3LCAweGQwLCAweDA2LAotMHhkMCwgMHgwNSwgMHhkMCwgMHgwNCwgMHhkMCwgMHgwMywgMHhkMCwgMHgwMiwgMHhkMCwgMHgwMSwgMHhkMCwgMHgwMCwgMHhkMCwgMHhkMCwgMHhkMCwgMHg4MiwKLTB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZjAsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4NzgsIDB4N2MsIDB4ZTYsIDB4ZmUsIDB4MDgsIDB4ZTYsIDB4MjQsIDB4MDQsIDB4OGUsCi0weDgzLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDgzLCAweGY1LCAweDgzLCAweDIyLCAweDc0LCAweDEzLCAweDI1LCAweDI0LCAweGY1LCAweDgyLCAweGU0LAotMHgzNCwgMHhmOSwgMHhmNSwgMHg4MywgMHgyMiwgMHg3OCwgMHg4MCwgMHhlNiwgMHhmZSwgMHgwOCwgMHhlNiwgMHhmNSwgMHg4MiwgMHg4ZSwgMHg4MywgMHgyMiwKLTB4NzgsIDB4ODAsIDB4ZTYsIDB4ZmUsIDB4MDgsIDB4ZTYsIDB4YWEsIDB4MDYsIDB4ZjgsIDB4YWMsIDB4MDIsIDB4N2QsIDB4MDEsIDB4N2IsIDB4ZmYsIDB4N2EsCi0weDMyLCAweDc5LCAweDU2LCAweDdlLCAweDAwLCAweDdmLCAweDBhLCAweDAyLCAweDFhLCAweDdjLCAweDc4LCAweDgwLCAweGU2LCAweGZjLCAweDA4LCAweGU2LAotMHhmNSwgMHg4MiwgMHg4YywgMHg4MywgMHhhMywgMHhhMywgMHgyMiwgMHhmZiwgMHg5MCwgMHhmOSwgMHg2ZiwgMHgwMiwgMHgxYiwgMHhlYSwgMHg5MCwgMHhmOSwKLTB4NmEsIDB4MTIsIDB4MWIsIDB4ZWEsIDB4OTAsIDB4MDAsIDB4MDQsIDB4MDIsIDB4MWEsIDB4YmIsIDB4NzgsIDB4N2UsIDB4ZTYsIDB4ZmUsIDB4MDgsIDB4ZTYsCi0weGZmLCAweDIyLCAweGVkLCAweDEyLCAweDFhLCAweGZhLCAweDhmLCAweDgyLCAweDhlLCAweDgzLCAweGU1LCAweDgyLCAweDIyLCAweGVmLCAweGYwLCAweDkwLAotMHhmYSwgMHhjZSwgMHhlMCwgMHg1NCwgMHgwZiwgMHg0ZSwgMHhmZSwgMHhmMCwgMHhlZiwgMHg1NCwgMHhmMCwgMHg0ZSwgMHhmMCwgMHgyMiwgMHg3OCwgMHg4MCwKLTB4ZTYsIDB4ZmMsIDB4MDgsIDB4ZTYsIDB4OGMsIDB4ODMsIDB4MjIsIDB4NzgsIDB4N2UsIDB4ZTYsIDB4ZmMsIDB4MDgsIDB4ZTYsIDB4ZmQsIDB4OGMsIDB4ODMsCi0weDIyLCAweGE2LCAweDA3LCAweGU2LCAweDI0LCAweDZlLCAweGY4LCAweGU2LCAweDIyLCAweDc4LCAweDdlLCAweGU2LCAweGZhLCAweDA4LCAweGU2LCAweGZiLAotMHgyMiwgMHgwOCwgMHhlNiwgMHhmZSwgMHgwOCwgMHhlNiwgMHg4ZSwgMHg4MywgMHgyMiwgMHgyNiwgMHhmNiwgMHgxOCwgMHhlZSwgMHgzNiwgMHhmNiwgMHgyMiwKLTB4ZWYsIDB4MjQsIDB4MGIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4M2UsIDB4ZjUsIDB4ODMsIDB4MjIsIDB4OGIsIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTUsIDB4ODIsCi0weDIyLCAweDhiLCAweDI1LCAweDhhLCAweDI2LCAweDg5LCAweDI3LCAweDhkLCAweDI4LCAweDkwLCAweGZhLCAweGQyLCAweGU0LCAweGYwLCAweGEzLCAweDc0LAotMHgwMiwgMHhmMCwgMHg3YiwgMHgwMSwgMHg3YSwgMHhmYSwgMHg3OSwgMHhkMSwgMHg5MCwgMHhmYSwgMHhkMiwgMHhlMCwgMHhmNSwgMHgyZCwgMHhhMywgMHhlMCwKLTB4ZjUsIDB4MmUsIDB4N2QsIDB4MDEsIDB4MTIsIDB4MjYsIDB4OTgsIDB4OTAsIDB4ZmEsIDB4ZDEsIDB4ZTAsIDB4NjUsIDB4MjgsIDB4NjAsIDB4NDYsIDB4YTMsCi0weGUwLCAweGZmLCAweGEzLCAweGUwLCAweGEzLCAweGNmLCAweGYwLCAweGEzLCAweGVmLCAweGYwLCAweDEyLCAweDIzLCAweGYwLCAweDkwLCAweGZhLCAweGQxLAotMHhlMCwgMHhmZiwgMHg5MCwgMHhmYSwgMHhkNCwgMHhlNCwgMHg4ZiwgMHhmMCwgMHgxMiwgMHgxYiwgMHgxYywgMHgxMiwgMHgyMywgMHhmMCwgMHg5MCwgMHhmYSwKLTB4ZDQsIDB4ZTAsIDB4ZmYsIDB4YTMsIDB4ZTAsIDB4OTAsIDB4ZmEsIDB4ZDIsIDB4Y2YsIDB4ZjAsIDB4YTMsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4ZmEsIDB4ZDEsCi0weGUwLCAweGEzLCAweDc1LCAweGYwLCAweDAwLCAweDEyLCAweDFiLCAweDFjLCAweDkwLCAweGZhLCAweGQyLCAweGU0LCAweDc1LCAweGYwLCAweDA0LCAweDEyLAotMHgxYiwgMHgxYywgMHgwMiwgMHgyMywgMHg3MiwgMHg5MCwgMHhmYSwgMHhkMywgMHhlMCwgMHgyNCwgMHgwMSwgMHhmZiwgMHg5MCwgMHhmYSwgMHhkMiwgMHhlMCwKLTB4MzQsIDB4MDAsIDB4YWIsIDB4MjUsIDB4YWEsIDB4MjYsIDB4YTksIDB4MjcsIDB4OGYsIDB4ZjAsIDB4MTIsIDB4MWIsIDB4ODAsIDB4N2YsIDB4MDAsIDB4MjIsCi0weDdiLCAweDAxLCAweDdhLCAweGZhLCAweDc5LCAweGQxLCAweDkwLCAweGZhLCAweGQyLCAweGU0LCAweDc1LCAweGYwLCAweDAxLCAweDEyLCAweDFiLCAweDFjLAotMHg4NSwgMHhmMCwgMHgyZSwgMHhmNSwgMHgyZCwgMHg3ZCwgMHgwMSwgMHgwMiwgMHgyNiwgMHg5OCwgMHg4ZiwgMHg2MiwgMHgxMiwgMHgyYSwgMHhjNywgMHgxMiwKLTB4MjIsIDB4ZmEsIDB4OGUsIDB4ODMsIDB4MjQsIDB4MGIsIDB4MTIsIDB4MjIsIDB4YTEsIDB4ZTAsIDB4NTQsIDB4ZmIsIDB4ZjAsIDB4NDQsIDB4MDIsIDB4ZjAsCi0weDA4LCAweDEyLCAweDIyLCAweGRjLCAweGUwLCAweGEzLCAweDMwLCAweGU1LCAweDBjLCAweDEyLCAweDIzLCAweDA2LCAweDI0LCAweDBiLCAweDEyLCAweDIyLAotMHhhMSwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg3OCwgMHg3YywgMHhlNiwgMHhmZSwgMHgwOCwgMHhlNiwgMHhmZiwgMHhmNSwgMHg4MiwgMHg4ZSwgMHg4MywKLTB4ZTAsIDB4NTQsIDB4YjgsIDB4ZmQsIDB4ZjAsIDB4ZTUsIDB4NjIsIDB4MjQsIDB4ZmUsIDB4NDQsIDB4MjAsIDB4ZmMsIDB4NGQsIDB4ZjAsIDB4ZTUsIDB4ODIsCi0weDI0LCAweDA0LCAweDEyLCAweDIyLCAweGExLCAweGUwLCAweDU0LCAweGI4LCAweGYwLCAweDRjLCAweGYwLCAweDhmLCAweDgyLCAweDhlLCAweDgzLCAweGEzLAotMHg3NCwgMHgwMywgMHhmMCwgMHgxOCwgMHhlNiwgMHhmZSwgMHgwOCwgMHhlNiwgMHhmZiwgMHg4ZSwgMHg4MywgMHgyNCwgMHgwNSwgMHgxMiwgMHgyMiwgMHhhMSwKLTB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4ZTAsIDB4ZmQsIDB4NzQsIDB4OTksIDB4MjUsIDB4NjIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4ZmEsIDB4ZjUsCi0weDgzLCAweGUwLCAweDU0LCAweGZjLCAweDQ0LCAweDAzLCAweGZjLCAweGVkLCAweDRjLCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGYwLCAweDhmLCAweDgyLAotMHg4ZSwgMHg4MywgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHhlNSwgMHg4MiwgMHgyNCwgMHgwNCwgMHgxMiwgMHgyMiwgMHhhMSwgMHhlMCwgMHg0NCwgMHg4MCwKLTB4ZjAsIDB4MTIsIDB4MzIsIDB4ODQsIDB4NzQsIDB4NmUsIDB4MjUsIDB4NjIsIDB4ZjgsIDB4NzQsIDB4MDQsIDB4NDYsIDB4ZjYsIDB4N2YsIDB4MDAsIDB4MjIsCi0weDEyLCAweDEwLCAweDRiLCAweDdmLCAweDAyLCAweDEyLCAweDEyLCAweDYxLCAweDc4LCAweDY3LCAweGU2LCAweDQ0LCAweDAyLCAweGY2LCAweGQyLCAweGIwLAotMHhkMiwgMHhiMSwgMHg5MCwgMHhmOSwgMHgxNiwgMHhlMCwgMHgzMCwgMHhlNywgMHgwNywgMHg5MCwgMHhmZiwgMHg5ZSwgMHhlNCwgMHhmMCwgMHg4MCwgMHgzNiwKLTB4ZDIsIDB4YjMsIDB4OTAsIDB4ZmYsIDB4YTQsIDB4ZTAsIDB4OTAsIDB4ZmEsIDB4N2UsIDB4ZjAsIDB4OTAsIDB4ZmYsIDB4YjQsIDB4ZTAsIDB4OTAsIDB4ZmEsCi0weDdmLCAweGYwLCAweDkwLCAweGZmLCAweGEyLCAweGUwLCAweDkwLCAweGZhLCAweDdjLCAweGYwLCAweDkwLCAweGZmLCAweGIyLCAweGUwLCAweDkwLCAweGZhLAotMHg3ZCwgMHhmMCwgMHg5MCwgMHhmZiwgMHhhNCwgMHg3NCwgMHgzMCwgMHhmMCwgMHg5MCwgMHhmZiwgMHhiNCwgMHhmMCwgMHg5MCwgMHhmZiwgMHhhMiwgMHg3NCwKLTB4NDAsIDB4ZjAsIDB4OTAsIDB4ZmYsIDB4YjIsIDB4ZjAsIDB4OTAsIDB4ZmEsIDB4ZTcsIDB4ZTUsIDB4YTgsIDB4ZjAsIDB4NzUsIDB4YTgsIDB4ODEsIDB4OTAsCi0weGZmLCAweDkyLCAweGUwLCAweDYwLCAweDA0LCAweGU0LCAweGYwLCAweDgwLCAweGY2LCAweDkwLCAweGZmLCAweGZkLCAweDc0LCAweDNhLCAweGYwLCAweDQzLAotMHg4NywgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHg5MCwgMHhmYSwgMHg3ZSwgMHhlMCwgMHg5MCwgMHhmZiwgMHhhNCwgMHhmMCwgMHg5MCwgMHhmYSwgMHg3ZiwKLTB4ZTAsIDB4OTAsIDB4ZmYsIDB4YjQsIDB4ZjAsIDB4OTAsIDB4ZmEsIDB4N2MsIDB4ZTAsIDB4OTAsIDB4ZmYsIDB4YTIsIDB4ZjAsIDB4OTAsIDB4ZmEsIDB4N2QsCi0weGUwLCAweDkwLCAweGZmLCAweGIyLCAweGYwLCAweDkwLCAweGY5LCAweDE4LCAweGUwLCAweDYwLCAweDAyLCAweGMyLCAweGIzLCAweDkwLCAweGZhLCAweGU3LAotMHhlMCwgMHhmNSwgMHhhOCwgMHgwMiwgMHgxMCwgMHhjZSwgMHg4YiwgMHg1YywgMHg4YSwgMHg1ZCwgMHg4OSwgMHg1ZSwgMHgxMiwgMHgyZSwgMHgwZCwgMHg5MCwKLTB4ZmEsIDB4YzMsIDB4MTIsIDB4MWIsIDB4ZjMsIDB4YWEsIDB4NWQsIDB4YTksIDB4NWUsIDB4OTAsIDB4ZmEsIDB4YzYsIDB4MTIsIDB4MWIsIDB4ZjMsIDB4OTAsCi0weGZhLCAweGM3LCAweGU0LCAweDc1LCAweGYwLCAweDBhLCAweDEyLCAweDFiLCAweDFjLCAweDkwLCAweGZhLCAweGM2LCAweDEyLCAweDFiLCAweGVhLCAweGU5LAotMHgyNCwgMHgwMSwgMHhmOSwgMHhlNCwgMHgzYSwgMHhmYSwgMHg5MCwgMHhmYSwgMHhjOSwgMHgxMiwgMHgxYiwgMHhmMywgMHhhYiwgMHg1YywgMHhhYSwgMHg1ZCwKLTB4YTksIDB4NWUsIDB4MTIsIDB4MmUsIDB4MTksIDB4ZTAsIDB4ZmYsIDB4YzMsIDB4MTMsIDB4ZjAsIDB4ZTQsIDB4NzgsIDB4ODIsIDB4ZjYsIDB4OTAsIDB4ZmEsCi0weGMxLCAweGUwLCAweGZmLCAweDc4LCAweDgyLCAweGU2LCAweGMzLCAweDlmLCAweDUwLCAweDRhLCAweDkwLCAweGZhLCAweGMzLCAweDEyLCAweDJkLCAweGVlLAotMHhmZiwgMHg3OCwgMHg4MywgMHhmNiwgMHg5MCwgMHhmYSwgMHhjNiwgMHgxMiwgMHgyZCwgMHhlZSwgMHhmZSwgMHhmNCwgMHg1ZiwgMHhmZiwgMHg3OCwgMHg4MywKLTB4ZjYsIDB4MTIsIDB4MmQsIDB4ZWIsIDB4NWUsIDB4NGYsIDB4ZmYsIDB4NzgsIDB4ODMsIDB4ZjYsIDB4MTIsIDB4MmQsIDB4ZjQsIDB4NzUsIDB4ZjAsIDB4MDIsCi0weDEyLCAweDFiLCAweDFjLCAweDkwLCAweGZhLCAweGM3LCAweGU0LCAweDc1LCAweGYwLCAweDAyLCAweDEyLCAweDFiLCAweDFjLCAweGFiLCAweDVjLCAweGFhLAotMHg1ZCwgMHhhOSwgMHg1ZSwgMHg5MCwgMHgwMCwgMHgwNCwgMHgxMiwgMHgxYSwgMHhiYiwgMHgzMCwgMHhlNCwgMHgwMywgMHgxMiwgMHgyZSwgMHgwMywgMHg3OCwKLTB4ODIsIDB4MDYsIDB4ODAsIDB4YWEsIDB4ZTQsIDB4OTAsIDB4ZmEsIDB4YzIsIDB4ZjAsIDB4MjIsIDB4OGIsIDB4NTYsIDB4OGEsIDB4NTcsIDB4ODksIDB4NTgsCi0weDkwLCAweGZhLCAweGMyLCAweDc0LCAweDA2LCAweGYwLCAweGU0LCAweDkwLCAweGZhLCAweGMxLCAweGYwLCAweDEyLCAweDFhLCAweGEyLCAweDI0LCAweDZlLAotMHg2MCwgMHgyNiwgMHgxNCwgMHg3MCwgMHg3MCwgMHgxMiwgMHgyZCwgMHhkYSwgMHg2MCwgMHgwOSwgMHgyNCwgMHgzMCwgMHg3MCwgMHgxMiwgMHgxMiwgMHgyNSwKLTB4NTYsIDB4ODAsIDB4NjIsIDB4MTIsIDB4MmUsIDB4MjQsIDB4MTIsIDB4MWYsIDB4ZGEsIDB4OTAsIDB4ZmEsIDB4YzIsIDB4ZWYsIDB4ZjAsIDB4ODAsIDB4NTUsCi0weDkwLCAweGZhLCAweGMyLCAweDc0LCAweDgxLCAweGYwLCAweDgwLCAweDRkLCAweDEyLCAweDJkLCAweGRhLCAweDYwLCAweDA5LCAweDI0LCAweDMwLCAweDcwLAotMHgzZSwgMHgxMiwgMHgyZCwgMHgzMCwgMHg4MCwgMHgzZiwgMHhlNSwgMHg1OCwgMHgyNCwgMHgwMywgMHhmOSwgMHhlNCwgMHgzNSwgMHg1NywgMHhmYSwgMHg3YiwKLTB4MDEsIDB4YzAsIDB4MDMsIDB4YzAsIDB4MDIsIDB4YzAsIDB4MDEsIDB4MTIsIDB4MmUsIDB4MjQsIDB4OTAsIDB4MDAsIDB4MDUsIDB4MTIsIDB4MWEsIDB4YmIsCi0weGZkLCAweDkwLCAweDAwLCAweDA4LCAweDEyLCAweDFiLCAweDQ4LCAweGY1LCAweDJlLCAweDg1LCAweGYwLCAweDJkLCAweGQwLCAweDAxLCAweGQwLCAweDAyLAotMHhkMCwgMHgwMywgMHgxMiwgMHgyNiwgMHg5OCwgMHg5MCwgMHhmYSwgMHhjMSwgMHhlZiwgMHhmMCwgMHhlNCwgMHhhMywgMHhmMCwgMHg4MCwgMHgwNiwgMHg5MCwKLTB4ZmEsIDB4YzIsIDB4NzQsIDB4ODEsIDB4ZjAsIDB4OTAsIDB4ZmEsIDB4YzIsIDB4ZTAsIDB4MTIsIDB4MmUsIDB4MjQsIDB4OTAsIDB4MDAsIDB4MDIsIDB4MTIsCi0weDFhLCAweGZhLCAweDkwLCAweGZhLCAweGMxLCAweGUwLCAweGZmLCAweDIyLCAweDhiLCAweDI5LCAweDhhLCAweDJhLCAweDg5LCAweDJiLCAweDhkLCAweDJjLAotMHhlNSwgMHgyYywgMHg3MCwgMHgwMywgMHhhZiwgMHgyYywgMHgyMiwgMHgxMiwgMHgyZSwgMHg1MywgMHg3MCwgMHgxNiwgMHgxMiwgMHgyZSwgMHg3MiwgMHhlNSwKLTB4MmQsIDB4OTAsIDB4ZmYsIDB4ZjEsIDB4ZjAsIDB4MTIsIDB4MzEsIDB4ZDgsIDB4NTAsIDB4ZjIsIDB4MTIsIDB4MjcsIDB4MjUsIDB4NDAsIDB4MGIsIDB4N2YsCi0weDAwLCAweDIyLCAweDEyLCAweDJlLCAweDcyLCAweDEyLCAweDI3LCAweDI1LCAweDUwLCAweGY4LCAweDkwLCAweGZmLCAweGYzLCAweDc0LCAweGExLCAweGYwLAotMHhlNSwgMHgyYywgMHhiNCwgMHgwMSwgMHgwNywgMHg5MCwgMHhmZiwgMHhmMCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHg5MCwgMHhmZiwgMHhmMSwgMHhlNCwKLTB4ZjAsIDB4ZjUsIDB4MmYsIDB4ZTUsIDB4MmMsIDB4MTQsIDB4ZmYsIDB4ZTUsIDB4MmYsIDB4YzMsIDB4OWYsIDB4NTAsIDB4MmEsIDB4MTIsIDB4MzEsIDB4YzEsCi0weDQwLCAweDAzLCAweGFmLCAweDJmLCAweDIyLCAweGMzLCAweGU1LCAweDJjLCAweDk1LCAweDJmLCAweGZmLCAweGJmLCAweDAyLCAweDA3LCAweDkwLCAweGZmLAotMHhmMCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHgxMiwgMHgyZSwgMHg2NSwgMHgwNSwgMHgyZiwgMHg3NCwgMHgwMSwgMHgyNSwgMHgyYiwgMHhmNSwgMHgyYiwKLTB4ZTQsIDB4MzUsIDB4MmEsIDB4ZjUsIDB4MmEsIDB4ODAsIDB4Y2MsIDB4MTIsIDB4MzEsIDB4YzEsIDB4NDAsIDB4MDMsIDB4N2YsIDB4MTgsIDB4MjIsIDB4MTIsCi0weDJlLCAweDY1LCAweGFmLCAweDJjLCAweDIyLCAweDkwLCAweGZmLCAweGYxLCAweGU1LCAweDJlLCAweGYwLCAweDAyLCAweDMxLCAweGQ4LCAweDEyLCAweDEwLAotMHg0YiwgMHg3OCwgMHg4NCwgMHgxMiwgMHgyMywgMHgzMSwgMHgzMCwgMHhlMSwgMHgwOCwgMHg3ZiwgMHgxMywgMHgxMiwgMHgzMSwgMHhhOSwgMHgwMiwgMHgyNywKLTB4YmMsIDB4NzgsIDB4ODQsIDB4ZTYsIDB4ZjksIDB4MjQsIDB4MTMsIDB4MTIsIDB4MjIsIDB4YWQsIDB4ZTAsIDB4ZmYsIDB4MzAsIDB4ZTcsIDB4NDAsIDB4NTQsCi0weDAzLCAweDYwLCAweDFlLCAweGU5LCAweGI0LCAweDAzLCAweDBkLCAweDkwLCAweGZmLCAweDllLCAweGUwLCAweDU0LCAweGZlLCAweGYwLCAweGUwLCAweDQ0LAotMHgwNCwgMHhmMCwgMHg4MCwgMHg0NiwgMHg5MCwgMHhmZiwgMHg5ZSwgMHhlMCwgMHg1NCwgMHhmZCwgMHhmMCwgMHhlMCwgMHg0NCwgMHgwOCwgMHhmMCwgMHg4MCwKLTB4MzksIDB4ZTksIDB4YjQsIDB4MDMsIDB4MGQsIDB4OTAsIDB4ZmYsIDB4OWUsIDB4ZTAsIDB4NTQsIDB4ZmIsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsCi0weDgwLCAweDI4LCAweDkwLCAweGZmLCAweDllLCAweGUwLCAweDU0LCAweGY3LCAweGYwLCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDgwLCAweDFiLCAweGVmLAotMHg1NCwgMHgwMywgMHg2MCwgMHgxNCwgMHhlOSwgMHhiNCwgMHgwMywgMHgwOSwgMHg5MCwgMHhmZiwgMHhhNCwgMHhlMCwgMHg1NCwgMHhkZiwgMHhmMCwgMHg4MCwKLTB4MDcsIDB4OTAsIDB4ZmYsIDB4YjQsIDB4ZTAsIDB4NTQsIDB4ZGYsIDB4ZjAsIDB4YzIsIDB4YjMsIDB4OTAsIDB4ZjksIDB4MTgsIDB4ZTAsIDB4MDQsIDB4ZjAsCi0weGFmLCAweDAxLCAweDEyLCAweDIyLCAweGVlLCAweGZkLCAweDEyLCAweDJmLCAweGU1LCAweDEyLCAweDMxLCAweGE5LCAweDAyLCAweDEwLCAweGNlLCAweDc1LAotMHhhOCwgMHg0MCwgMHg3OCwgMHg3ZiwgMHhlNCwgMHhmNiwgMHhkOCwgMHhmZCwgMHg3NSwgMHg4MSwgMHg4YiwgMHgwMiwgMHgyOCwgMHgwOSwgMHgwMiwgMHgzMSwKLTB4OGMsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjgsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4NDAsIDB4MDMsIDB4ZjYsIDB4ODAsIDB4MDEsIDB4ZjIsIDB4MDgsIDB4ZGYsCi0weGY0LCAweDgwLCAweDI5LCAweGU0LCAweDkzLCAweGEzLCAweGY4LCAweDU0LCAweDA3LCAweDI0LCAweDBjLCAweGM4LCAweGMzLCAweDMzLCAweGM0LCAweDU0LAotMHgwZiwgMHg0NCwgMHgyMCwgMHhjOCwgMHg4MywgMHg0MCwgMHgwNCwgMHhmNCwgMHg1NiwgMHg4MCwgMHgwMSwgMHg0NiwgMHhmNiwgMHhkZiwgMHhlNCwgMHg4MCwKLTB4MGIsIDB4MDEsIDB4MDIsIDB4MDQsIDB4MDgsIDB4MTAsIDB4MjAsIDB4NDAsIDB4ODAsIDB4OTAsIDB4MmIsIDB4YTksIDB4ZTQsIDB4N2UsIDB4MDEsIDB4OTMsCi0weDYwLCAweGJjLCAweGEzLCAweGZmLCAweDU0LCAweDNmLCAweDMwLCAweGU1LCAweDA5LCAweDU0LCAweDFmLCAweGZlLCAweGU0LCAweDkzLCAweGEzLCAweDYwLAotMHgwMSwgMHgwZSwgMHhjZiwgMHg1NCwgMHhjMCwgMHgyNSwgMHhlMCwgMHg2MCwgMHhhOCwgMHg0MCwgMHhiOCwgMHhlNCwgMHg5MywgMHhhMywgMHhmYSwgMHhlNCwKLTB4OTMsIDB4YTMsIDB4ZjgsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4YzgsIDB4YzUsIDB4ODIsIDB4YzgsIDB4Y2EsIDB4YzUsIDB4ODMsIDB4Y2EsIDB4ZjAsIDB4YTMsCi0weGM4LCAweGM1LCAweDgyLCAweGM4LCAweGNhLCAweGM1LCAweDgzLCAweGNhLCAweGRmLCAweGU5LCAweGRlLCAweGU3LCAweDgwLCAweGJlLCAweGU0LCAweGY1LAotMHgyMiwgMHgxMiwgMHgxZCwgMHhjMiwgMHhlMCwgMHhiNCwgMHgwNCwgMHgwZCwgMHhlNSwgMHgyMiwgMHgyNCwgMHgwMywgMHhmZiwgMHgxMiwgMHgzMCwgMHgxMywKLTB4MTIsIDB4MWQsIDB4YzIsIDB4ZTQsIDB4ZjAsIDB4MDUsIDB4MjIsIDB4ZTUsIDB4MjIsIDB4YzMsIDB4OTQsIDB4MDIsIDB4NDAsIDB4ZTMsIDB4ZTQsIDB4ZjUsCi0weDIyLCAweDc1LCAweGYwLCAweDAyLCAweGU1LCAweDIyLCAweDkwLCAweGZhLCAweDk0LCAweDEyLCAweDFlLCAweDAzLCAweDYwLCAweDJjLCAweDEyLCAweDJkLAotMHg4NSwgMHhlZiwgMHg2MCwgMHg1MiwgMHg3NSwgMHhmMCwgMHgwMiwgMHhlNSwgMHgyMiwgMHg5MCwgMHhmYSwgMHg5NCwgMHgxMiwgMHgxYiwgMHhjYywgMHhlNCwKLTB4ZjAsIDB4YTMsIDB4ZjAsIDB4NzUsIDB4ZjAsIDB4MGEsIDB4ZTUsIDB4MjIsIDB4OTAsIDB4ZmEsIDB4YTAsIDB4MTIsIDB4MWIsIDB4Y2MsIDB4ZTAsIDB4YTMsCi0weDMwLCAweGU2LCAweDMzLCAweDEyLCAweDFkLCAweGMyLCAweDc0LCAweDA0LCAweGYwLCAweDIyLCAweDc1LCAweGYwLCAweDAyLCAweGU1LCAweDIyLCAweDkwLAotMHhmYSwgMHg5OCwgMHgxMiwgMHgxZSwgMHgwMywgMHg2MCwgMHgxNiwgMHgxMiwgMHgyZCwgMHg4NSwgMHhlZiwgMHg2MCwgMHgxOSwgMHg3NSwgMHhmMCwgMHgwMiwKLTB4ZTUsIDB4MjIsIDB4OTAsIDB4ZmEsIDB4OTgsIDB4MTIsIDB4MWIsIDB4Y2MsIDB4ZTQsIDB4ZjAsIDB4YTMsIDB4ZjAsIDB4MjIsIDB4MDUsIDB4MjIsIDB4ZTUsCi0weDIyLCAweGMzLCAweDk0LCAweDAyLCAweDQwLCAweDliLCAweDIyLCAweGU0LCAweGZmLCAweDkwLCAweGZmLCAweDgzLCAweGUwLCAweDU0LCAweDBmLCAweGZlLAotMHhlZiwgMHhjMywgMHg5ZSwgMHg1MCwgMHgxNywgMHg3NCwgMHhmMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHhmZSwgMHhmNSwgMHg4MywgMHhlMCwKLTB4MTIsIDB4MWMsIDB4YzEsIDB4MTIsIDB4MWEsIDB4ZTgsIDB4MGYsIDB4MTIsIDB4MWMsIDB4YjAsIDB4ODAsIDB4ZGQsIDB4ZWYsIDB4ZmQsIDB4YzMsIDB4ZTUsCi0weDNhLCAweDlkLCAweGY1LCAweDNhLCAweGU1LCAweDM5LCAweDk0LCAweDAwLCAweGY1LCAweDM5LCAweGQzLCAweGU1LCAweDNhLCAweDk0LCAweDAwLCAweGU1LAotMHgzOSwgMHg5NCwgMHgwMCwgMHg0MCwgMHgwNiwgMHhlNCwgMHg5MCwgMHhmZiwgMHg4MywgMHhmMCwgMHgyMiwgMHgxMiwgMHgxZCwgMHhkZiwgMHgxMiwgMHgxZSwKLTB4MzQsIDB4MTIsIDB4MWUsIDB4MjYsIDB4MTIsIDB4MWEsIDB4YTIsIDB4MjQsIDB4NmUsIDB4NjAsIDB4MWUsIDB4MTQsIDB4NjAsIDB4MWIsIDB4MjQsIDB4OGUsCi0weDcwLCAweDJkLCAweDkwLCAweDAwLCAweDAxLCAweDEyLCAweDFhLCAweGJiLCAweGZmLCAweDI0LCAweGZjLCAweDYwLCAweDAzLCAweDA0LCAweDcwLCAweDFmLAotMHhlZiwgMHhmZCwgMHg3YywgMHgwMCwgMHg3ZiwgMHgwZCwgMHgwMiwgMHgxMSwgMHg1ZSwgMHgxMiwgMHgxZSwgMHgzYiwgMHgxMiwgMHgyNSwgMHhmYSwgMHgxMiwKLTB4MWQsIDB4ODksIDB4MTIsIDB4MWEsIDB4YmIsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MzIsIDB4N2EsIDB4ZTQsIDB4ZmYsIDB4MTIsIDB4MzIsIDB4NmUsIDB4MjIsCi0weDhiLCAweDQ1LCAweDhhLCAweDQ2LCAweDg5LCAweDQ3LCAweDhjLCAweDQ4LCAweDhkLCAweDQ5LCAweGQyLCAweDAwLCAweDEyLCAweDJlLCAweDUzLCAweDcwLAotMHgxNiwgMHgxMiwgMHgyZSwgMHg3MiwgMHhlNSwgMHg0OCwgMHg5MCwgMHhmZiwgMHhmMSwgMHhmMCwgMHgxMiwgMHgzMSwgMHhkOCwgMHg1MCwgMHhmMiwgMHgxMiwKLTB4MjksIDB4ZDUsIDB4NDAsIDB4MGIsIDB4N2YsIDB4MTgsIDB4MjIsIDB4MTIsIDB4MmUsIDB4NzIsIDB4MTIsIDB4MjksIDB4ZDUsIDB4NTAsIDB4ZjgsIDB4ZTQsCi0weGY1LCAweDRiLCAweGU1LCAweDRhLCAweDE0LCAweGZmLCAweGU1LCAweDRiLCAweGMzLCAweDlmLCAweDUwLCAweDE3LCAweDEyLCAweDI5LCAweGM1LCAweDQwLAotMHgwMywgMHg3ZiwgMHgxOCwgMHgyMiwgMHgwNSwgMHg0YiwgMHg3NCwgMHgwMSwgMHgyNSwgMHg0NywgMHhmNSwgMHg0NywgMHhlNCwgMHgzNSwgMHg0NiwgMHhmNSwKLTB4NDYsIDB4ODAsIDB4ZGYsIDB4OTAsIDB4ZmYsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MTIsIDB4MjksIDB4YzUsIDB4NDAsIDB4MDMsIDB4N2YsCi0weDE4LCAweDIyLCAweDdmLCAweDAwLCAweDIyLCAweGFiLCAweDQ1LCAweGFhLCAweDQ2LCAweGE5LCAweDQ3LCAweDEyLCAweDFhLCAweGEyLCAweDkwLCAweGZmLAotMHhmMSwgMHhmMCwgMHgwMiwgMHgzMSwgMHhkOCwgMHg5MCwgMHhmZiwgMHhmMSwgMHhlNSwgMHg0OSwgMHhmMCwgMHgwMiwgMHgzMSwgMHhkOCwgMHg3YiwgMHgwMSwKLTB4N2EsIDB4ZmEsIDB4NzksIDB4Y2YsIDB4ZTQsIDB4ZmQsIDB4MTIsIDB4MjMsIDB4NjEsIDB4OTAsIDB4ZmEsIDB4Y2YsIDB4ZTQsIDB4NzUsIDB4ZjAsIDB4MDksCi0weDEyLCAweDFiLCAweDFjLCAweDdiLCAweDAwLCAweDdhLCAweDAwLCAweDc5LCAweDIzLCAweDkwLCAweGZhLCAweGNmLCAweGU0LCAweDc1LCAweGYwLCAweDAxLAotMHgxMiwgMHgxYiwgMHgzMiwgMHg4NSwgMHhmMCwgMHgyZSwgMHhmNSwgMHgyZCwgMHg3ZCwgMHgwMSwgMHgxMiwgMHgyNiwgMHg5OCwgMHg5MCwgMHhmZiwgMHhmNywKLTB4ZTUsIDB4MjMsIDB4MTIsIDB4MmEsIDB4MzksIDB4OTAsIDB4ZmYsIDB4ZjYsIDB4ZTUsIDB4MjMsIDB4ZjAsIDB4OTAsIDB4ZmEsIDB4Y2YsIDB4ZTQsIDB4ZjAsCi0weGEzLCAweDc0LCAweDA2LCAweDEyLCAweDJhLCAweDM5LCAweGU1LCAweDIzLCAweDMwLCAweGUwLCAweDA3LCAweDkwLCAweGZmLCAweGZjLCAweDc0LCAweDk0LAotMHhmMCwgMHgyMiwgMHg5MCwgMHhmZiwgMHhmYywgMHg3NCwgMHg5MCwgMHhmMCwgMHgyMiwgMHhmMCwgMHg3YiwgMHgwMCwgMHg3YSwgMHgwMCwgMHg3OSwgMHgyMywKLTB4OTAsIDB4ZmEsIDB4Y2YsIDB4ZTQsIDB4NzUsIDB4ZjAsIDB4MDEsIDB4MTIsIDB4MWIsIDB4MzIsIDB4ODUsIDB4ZjAsIDB4MmUsIDB4ZjUsIDB4MmQsIDB4N2QsCi0weDAxLCAweDAyLCAweDI2LCAweDk4LCAweDkwLCAweGZmLCAweDkzLCAweDc0LCAweDgxLCAweGYwLCAweDkwLCAweGZmLCAweGZmLCAweGUwLCAweDYwLCAweDA2LAotMHg5MCwgMHhmZiwgMHhmYywgMHg3NCwgMHgxMCwgMHhmMCwgMHg5MCwgMHhmZiwgMHg5MSwgMHhlMCwgMHg0NCwgMHg5MCwgMHhmMCwgMHhlNCwgMHg5MCwgMHhmOSwKLTB4MTYsIDB4ZjAsIDB4YTMsIDB4ZjAsIDB4MTIsIDB4MmIsIDB4MzksIDB4MTIsIDB4MTYsIDB4YzksIDB4MTIsIDB4MzAsIDB4NjksIDB4N2UsIDB4MDcsIDB4N2YsCi0weGQwLCAweDEyLCAweDEyLCAweDJhLCAweDdlLCAweDBmLCAweDdmLCAweGEwLCAweDEyLCAweDEyLCAweDQ0LCAweGU0LCAweDc4LCAweDc3LCAweGY2LCAweDc4LAotMHg3NywgMHhlNiwgMHhmZiwgMHhjMywgMHg5NCwgMHgwNiwgMHg1MCwgMHgwYiwgMHg3NCwgMHg2ZSwgMHgyZiwgMHhmOCwgMHhlNCwgMHhmNiwgMHg3OCwgMHg3NywKLTB4MDYsIDB4ODAsIDB4ZWMsIDB4N2YsIDB4MDMsIDB4MTIsIDB4MzAsIDB4YjIsIDB4OTAsIDB4ZjksIDB4MTYsIDB4ZTAsIDB4MjAsIDB4ZTQsIDB4MDUsIDB4N2YsCi0weDA0LCAweDEyLCAweDMwLCAweGIyLCAweDkwLCAweGZmLCAweDliLCAweGU0LCAweGYwLCAweDkwLCAweGZmLCAweDlhLCAweGYwLCAweDkwLCAweGZmLCAweGU4LAotMHhlMCwgMHg1NCwgMHgxZiwgMHhmMCwgMHhkMiwgMHhhOCwgMHgyMiwgMHgxNSwgMHg2NSwgMHhhOCwgMHg2NSwgMHhhNiwgMHgwNywgMHgzMCwgMHgwOCwgMHgwNSwKLTB4MTIsIDB4MTEsIDB4YWUsIDB4ODAsIDB4ZjgsIDB4ZDIsIDB4MDgsIDB4YTgsIDB4NjUsIDB4ZTYsIDB4ZmYsIDB4YjQsIDB4MDMsIDB4MGYsIDB4NzgsIDB4N2MsCi0weDc2LCAweGZmLCAweDA4LCAweDc2LCAweGUwLCAweDA4LCAweDc2LCAweGZmLCAweDA4LCAweDc2LCAweGEwLCAweDgwLCAweDBkLCAweDc4LCAweDdjLCAweDc2LAotMHhmZiwgMHgwOCwgMHg3NiwgMHhlMiwgMHgwOCwgMHg3NiwgMHhmZiwgMHgwOCwgMHg3NiwgMHhiMCwgMHg3OCwgMHg4MCwgMHg3NiwgMHhmYSwgMHgwOCwgMHg3NiwKLTB4OWUsIDB4ZWYsIDB4MjQsIDB4ZmQsIDB4NzUsIDB4ZjAsIDB4MGEsIDB4YTQsIDB4YWUsIDB4ZjAsIDB4MTIsIDB4MjMsIDB4NDksIDB4N2IsIDB4MDEsIDB4N2EsCi0weGZmLCAweDc5LCAweDQ4LCAweDc4LCAweDY4LCAweDEyLCAweDFiLCAweGUxLCAweGE4LCAweDY1LCAweGU2LCAweDI0LCAweGZkLCAweDc1LCAweGYwLCAweDA4LAotMHhhNCwgMHhmZiwgMHhhZSwgMHhmMCwgMHg3OCwgMHg2YSwgMHgxMiwgMHgyMywgMHg0OSwgMHg3OSwgMHgwOCwgMHg3OCwgMHg2YiwgMHgxMiwgMHgxYiwgMHhlMSwKLTB4NzgsIDB4NmQsIDB4ZWYsIDB4MTIsIDB4MjMsIDB4NDksIDB4MDUsIDB4NjUsIDB4MjIsIDB4OTAsIDB4ZmYsIDB4ZjAsIDB4ZTAsIDB4NTQsIDB4YWIsIDB4ZjAsCi0weGUwLCAweDQ0LCAweDIwLCAweGYwLCAweDkwLCAweGZhLCAweGU2LCAweDc0LCAweDAyLCAweGYwLCAweDdiLCAweDAxLCAweDdhLCAweGZhLCAweDc5LCAweGNmLAotMHhlNCwgMHhmNSwgMHgyZCwgMHhmNSwgMHgyZSwgMHg3ZCwgMHgwMSwgMHgxMiwgMHgyNiwgMHg5OCwgMHg3ZSwgMHgwMCwgMHg5MCwgMHhmYSwgMHhlNCwgMHhlZSwKLTB4ZjAsIDB4YTMsIDB4ZWYsIDB4ZjAsIDB4NjQsIDB4MDEsIDB4NzAsIDB4MTAsIDB4OTAsIDB4ZmEsIDB4Y2YsIDB4ZTAsIDB4YjQsIDB4NTIsIDB4MDksIDB4OTAsCi0weGY5LCAweDE2LCAweGUwLCAweDU0LCAweGVmLCAweGYwLCAweDgwLCAweDI5LCAweDkwLCAweGZhLCAweGU0LCAweGUwLCAweDcwLCAweDA0LCAweGEzLCAweGUwLAotMHg2NCwgMHgwMSwgMHg3MCwgMHgxMCwgMHg5MCwgMHhmYSwgMHhjZiwgMHhlMCwgMHhiNCwgMHgxMCwgMHgwOSwgMHg5MCwgMHhmOSwgMHgxNiwgMHhlMCwgMHg0NCwKLTB4MTAsIDB4ZjAsIDB4ODAsIDB4MGQsIDB4OTAsIDB4ZmEsIDB4ZTYsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4OTAsIDB4ZjksIDB4MTYsIDB4ZTAsIDB4NTQsIDB4ZWYsCi0weGYwLCAweDkwLCAweGZmLCAweGYwLCAweGUwLCAweDQ0LCAweDIwLCAweGYwLCAweDIyLCAweDAzLCAweDY4LCAweDAxLCAweGZmLCAweDQ4LCAweDAzLCAweDZiLAotMHgwMSwgMHhmZiwgMHgwOCwgMHgwMiwgMHg2NiwgMHgwMCwgMHgwMCwgMHg0NCwgMHhmYSwgMHg5OCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHg0NCwgMHhmYSwKLTB4OTQsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4NDIsIDB4ZmEsIDB4YjIsIDB4MDAsIDB4MDAsIDB4NDIsIDB4ZmEsIDB4N2UsIDB4MDAsIDB4MDAsIDB4NDIsCi0weGZhLCAweDdjLCAweDAwLCAweDAwLCAweDQyLCAweGY5LCAweDZkLCAweGZmLCAweGZmLCAweDQyLCAweGZhLCAweDdhLCAweDAwLCAweDAwLCAweDQxLCAweGY5LAotMHg2NiwgMHhmZiwgMHg0MSwgMHhmOSwgMHgxYywgMHgxOSwgMHg0MSwgMHhmOSwgMHgxNSwgMHgwMCwgMHg0MywgMHhmOSwgMHgxOSwgMHgwYSwgMHgzMiwgMHgwMiwKLTB4NDEsIDB4ZjksIDB4NjgsIDB4MjAsIDB4NDEsIDB4ZjksIDB4NjksIDB4MjAsIDB4NDEsIDB4ZjksIDB4NjUsIDB4MDAsIDB4NDEsIDB4ZjksIDB4NjcsIDB4MDAsCi0weDQ0LCAweGY4LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDQyLCAweGY5LCAweDE2LCAweDAwLCAweDAwLCAweDQxLCAweGY5LCAweDE4LCAweDAwLAotMHgwMSwgMHgyMCwgMHgwMCwgMHg0MSwgMHhmOCwgMHgwNCwgMHgwMCwgMHgwMCwgMHgxMiwgMHgxMCwgMHg0YiwgMHg3OCwgMHg4YSwgMHhlZiwgMHhmNiwgMHgxMiwKLTB4MmEsIDB4YzcsIDB4MTIsIDB4MjIsIDB4ZWUsIDB4MzAsIDB4ZTAsIDB4MjksIDB4NzgsIDB4N2MsIDB4MTIsIDB4MjIsIDB4YjcsIDB4ZTAsIDB4NTQsIDB4N2YsCi0weGYwLCAweDc4LCAweDZiLCAweDEyLCAweDFiLCAweGQ4LCAweDkwLCAweDAwLCAweDAyLCAweDEyLCAweDFhLCAweGJiLCAweDMwLCAweGU3LCAweDA5LCAweDkwLAotMHgwMCwgMHgwMiwgMHhlNCwgMHgxMiwgMHgxYSwgMHhmYSwgMHg4MCwgMHhlOSwgMHg3OCwgMHg3YywgMHgxMiwgMHgyMiwgMHhiNywgMHhlMCwgMHg0NCwgMHg4MCwKLTB4ZjAsIDB4MTIsIDB4MjIsIDB4ZWUsIDB4MzAsIDB4ZTEsIDB4MWUsIDB4MTIsIDB4MjIsIDB4OTcsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4ZjAsIDB4MTIsIDB4MzIsCi0weDE5LCAweDc4LCAweDY4LCAweDEyLCAweDFiLCAweGQ4LCAweDkwLCAweDAwLCAweDAyLCAweDc0LCAweDgwLCAweDEyLCAweDFhLCAweGZhLCAweDEyLCAweDIyLAotMHg5NywgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHgxMiwgMHgzMiwgMHg4NCwgMHhlNCwgMHhmZiwgMHgxMiwgMHgzMSwgMHhhOSwgMHgwMiwgMHgxMCwgMHhjZSwKLTB4MTIsIDB4MTAsIDB4NGIsIDB4NzgsIDB4ODUsIDB4ZWYsIDB4ZjYsIDB4MTIsIDB4MzEsIDB4NTAsIDB4MTIsIDB4MzEsIDB4YTksIDB4NzgsIDB4ODUsIDB4ZTYsCi0weGZmLCAweDI0LCAweDEzLCAweDEyLCAweDIyLCAweGFkLCAweGUwLCAweGZlLCAweDMwLCAweGU3LCAweDE2LCAweGVmLCAweGI0LCAweDAzLCAweDA5LCAweDkwLAotMHhmZiwgMHg5ZSwgMHhlMCwgMHg1NCwgMHhmYSwgMHhmMCwgMHg4MCwgMHgyMiwgMHg5MCwgMHhmZiwgMHg5ZSwgMHhlMCwgMHg1NCwgMHhmNSwgMHhmMCwgMHg4MCwKLTB4MTksIDB4ZWUsIDB4NTQsIDB4MDMsIDB4NjAsIDB4MTQsIDB4ZWYsIDB4YjQsIDB4MDMsIDB4MDksIDB4OTAsIDB4ZmYsIDB4YTQsIDB4ZTAsIDB4NDQsIDB4MjAsCi0weGYwLCAweDgwLCAweDA3LCAweDkwLCAweGZmLCAweGI0LCAweGUwLCAweDQ0LCAweDIwLCAweGYwLCAweDkwLCAweGY5LCAweDE4LCAweGUwLCAweDE0LCAweGYwLAotMHhlMCwgMHg3MCwgMHgwMiwgMHhkMiwgMHhiMywgMHgwMiwgMHgxMCwgMHhjZSwgMHgxMiwgMHgxZSwgMHgxYywgMHhlNSwgMHgzYSwgMHg2NCwgMHgwOSwgMHg3MCwKLTB4MDQsIDB4ZTUsIDB4MzksIDB4NjQsIDB4MDEsIDB4NjAsIDB4NDgsIDB4YzMsIDB4ZTUsIDB4M2EsIDB4OTQsIDB4MDgsIDB4ZTUsIDB4MzksIDB4OTQsIDB4MDAsCi0weDQwLCAweDExLCAweDdmLCAweDA4LCAweGVmLCAweGU1LCAweDNhLCAweDk0LCAweDA4LCAweGY1LCAweDNhLCAweGU1LCAweDM5LCAweDk0LCAweDAwLCAweGY1LAotMHgzOSwgMHg4MCwgMHgwNSwgMHhhZiwgMHgzYSwgMHgxMiwgMHgxZSwgMHgzNCwgMHhlNCwgMHhmZSwgMHhlZSwgMHhjMywgMHg5ZiwgMHg1MCwgMHgxOSwgMHgxMiwKLTB4MWMsIDB4YzEsIDB4MTIsIDB4MWEsIDB4YTIsIDB4ZmQsIDB4NzQsIDB4ZjgsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4ZmUsIDB4ZjUsIDB4ODMsCi0weGVkLCAweGYwLCAweDBlLCAweDEyLCAweDFjLCAweGIwLCAweDgwLCAweGUyLCAweGVmLCAweDU0LCAweDdmLCAweDkwLCAweGZmLCAweDgxLCAweGYwLCAweDIyLAotMHg4YiwgMHg1OSwgMHg4YSwgMHg1YSwgMHg4OSwgMHg1YiwgMHgxMiwgMHgyZSwgMHgxOSwgMHg3MCwgMHgwNSwgMHhhMywgMHg3NCwgMHgwOCwgMHhmMCwgMHgyMiwKLTB4YWIsIDB4NTksIDB4YWEsIDB4NWEsIDB4YTksIDB4NWIsIDB4MTIsIDB4MmUsIDB4MGQsIDB4OTAsIDB4ZmEsIDB4YzksIDB4MTIsIDB4MWIsIDB4ZjMsIDB4ZTUsCi0weDViLCAweDI0LCAweDAzLCAweGY5LCAweGU0LCAweDM1LCAweDVhLCAweGZhLCAweDkwLCAweGZhLCAweGMzLCAweDEyLCAweDFiLCAweGYzLCAweGU0LCAweDkwLAotMHhmYSwgMHhjMiwgMHhmMCwgMHg3OCwgMHg4YiwgMHhmNiwgMHg5MCwgMHhmYSwgMHhjMSwgMHhlMCwgMHhmZiwgMHg3OCwgMHg4YiwgMHhlNiwgMHhjMywgMHg5ZiwKLTB4NTAsIDB4MTIsIDB4MTIsIDB4MmQsIDB4ZWIsIDB4ZmYsIDB4MTIsIDB4MmQsIDB4ZjQsIDB4MTIsIDB4MmUsIDB4MDcsIDB4NzgsIDB4OGIsIDB4MDYsIDB4MTIsCi0weDJlLCAweDAzLCAweDgwLCAweGUyLCAweDIyLCAweGFkLCAweDA3LCAweGFjLCAweDA2LCAweDkwLCAweDMyLCAweDBhLCAweGU0LCAweDkzLCAweGZmLCAweDc4LAotMHg3NCwgMHhmNiwgMHg1NCwgMHgwZiwgMHgxMiwgMHgxZCwgMHhhOCwgMHhlMCwgMHgwOCwgMHg3NiwgMHgwMCwgMHgwOCwgMHhmNiwgMHgxOCwgMHgxMiwgMHgxYywKLTB4ZDksIDB4YzMsIDB4MzMsIDB4Y2UsIDB4MzMsIDB4Y2UsIDB4ZDgsIDB4ZjksIDB4ZmYsIDB4NzgsIDB4NzUsIDB4ZWUsIDB4ZjYsIDB4MDgsIDB4ZWYsIDB4ZjYsCi0weGVlLCAweDQ0LCAweGY4LCAweDE4LCAweGY2LCAweGVmLCAweDA4LCAweGY2LCAweDkwLCAweGZmLCAweDdhLCAweGUwLCAweDIwLCAweGU3LCAweDAzLCAweDdmLAotMHgwMCwgMHgyMiwgMHg3OCwgMHg3NSwgMHhlNiwgMHhmZSwgMHgwOCwgMHhlNiwgMHhmNSwgMHg4MiwgMHg4ZSwgMHg4MywgMHhlYywgMHhmMCwgMHhhMywgMHhlZCwKLTB4ZjAsIDB4OTAsIDB4ZmYsIDB4N2EsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4N2YsIDB4MDEsIDB4MjIsIDB4YWIsIDB4NTYsIDB4YWEsIDB4NTcsIDB4YTksIDB4NTgsCi0weDkwLCAweDAwLCAweDAzLCAweDEyLCAweDFhLCAweGJiLCAweDU0LCAweGYwLCAweDI0LCAweGEwLCAweDIyLCAweDkwLCAweGZhLCAweGM5LCAweDEyLCAweDFiLAotMHhlYSwgMHgwMiwgMHgxYSwgMHhhMiwgMHg5MCwgMHhmYSwgMHhjMywgMHgxMiwgMHgxYiwgMHhlYSwgMHhlZiwgMHgxMiwgMHgxYSwgMHhlOCwgMHg5MCwgMHhmYSwKLTB4Y2EsIDB4ZTQsIDB4MjIsIDB4OTAsIDB4ZmEsIDB4YzQsIDB4ZTQsIDB4NzUsIDB4ZjAsIDB4MDEsIDB4MDIsIDB4MWIsIDB4MWMsIDB4OTAsIDB4MDAsIDB4MDgsCi0weDEyLCAweDFiLCAweDQ4LCAweGFhLCAweGYwLCAweGY5LCAweDdiLCAweDAxLCAweDIyLCAweDkwLCAweDAwLCAweDA1LCAweDEyLCAweDFhLCAweGJiLCAweDkwLAotMHhmYSwgMHhjMSwgMHhmMCwgMHgyMiwgMHhhYiwgMHg1NiwgMHhhYSwgMHg1NywgMHhhOSwgMHg1OCwgMHgyMiwgMHg5MCwgMHhmYSwgMHhkZCwgMHhlMCwgMHhmZiwKLTB4N2UsIDB4MDAsIDB4YzMsIDB4OTAsIDB4ZmEsIDB4ZDcsIDB4ZTAsIDB4OWYsIDB4ZjAsIDB4OTAsIDB4ZmEsIDB4ZDYsIDB4ZTAsIDB4OWUsIDB4ZjAsIDB4OTAsCi0weGZhLCAweGQ4LCAweGVlLCAweDhmLCAweGYwLCAweDEyLCAweDFiLCAweDFjLCAweGVmLCAweDI1LCAweDUxLCAweGY1LCAweDUxLCAweGVlLCAweDM1LCAweDUwLAotMHhmNSwgMHg1MCwgMHgyMiwgMHg5MCwgMHhmZiwgMHhmMCwgMHhlMCwgMHg1NCwgMHhmZSwgMHhmMCwgMHhlMCwgMHg1NCwgMHhmZCwgMHhmMCwgMHg5MCwgMHhmYSwKLTB4ZTYsIDB4ZTAsIDB4NjQsIDB4MDMsIDB4MjIsIDB4OTAsIDB4ZmYsIDB4ZjIsIDB4ZTAsIDB4YWIsIDB4MjksIDB4YWEsIDB4MmEsIDB4YTksIDB4MmIsIDB4MDIsCi0weDFhLCAweGU4LCAweDkwLCAweGZmLCAweGYzLCAweDc0LCAweGEwLCAweGYwLCAweDIyLCAweDhmLCAweDY0LCAweGVkLCAweDcwLCAweDBmLCAweGU1LCAweDY0LAotMHhiNCwgMHgwMywgMHgwNSwgMHg3ZiwgMHgwMSwgMHgwMiwgMHgzMSwgMHhlZiwgMHg3ZiwgMHgwMiwgMHgwMiwgMHgzMSwgMHhlZiwgMHhhZiwgMHg2NCwgMHgxMiwKLTB4MmEsIDB4YzcsIDB4NzQsIDB4NmUsIDB4MjUsIDB4NjQsIDB4ZjgsIDB4ZTYsIDB4MzAsIDB4ZTIsIDB4MGIsIDB4ZDIsIDB4MDksIDB4MTIsIDB4MWQsIDB4MzMsCi0weGUwLCAweDU0LCAweDdmLCAweGYwLCAweDgwLCAweDAyLCAweGMyLCAweDA5LCAweGU1LCAweDY0LCAweGI0LCAweDAzLCAweDA3LCAweDdmLCAweDgxLCAweDEyLAotMHgzMSwgMHhlZiwgMHg4MCwgMHgwNSwgMHg3ZiwgMHg4MiwgMHgxMiwgMHgzMSwgMHhlZiwgMHgzMCwgMHgwOSwgMHgwNywgMHgxMiwgMHgxZCwgMHgzMywgMHhlMCwKLTB4NDQsIDB4ODAsIDB4ZjAsIDB4MTIsIDB4MzIsIDB4ODQsIDB4MjIsIDB4MTIsIDB4MTAsIDB4NGIsIDB4OTAsIDB4ZmYsIDB4ZmQsIDB4ZTAsIDB4NDQsIDB4NjAsCi0weGYwLCAweGQyLCAweDAxLCAweDkwLCAweGZmLCAweGZjLCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDkwLCAweGZmLCAweDAwLCAweGUwLCAweDMwLCAweGU3LAotMHgxMywgMHg5MCwgMHhmZiwgMHg4MywgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHg0MywgMHgzNSwgMHg4MCwgMHg5MCwgMHhmZiwgMHhmYywgMHhlMCwgMHg0NCwKLTB4MDEsIDB4ZjAsIDB4ODAsIDB4MGQsIDB4MTIsIDB4MWQsIDB4ZGYsIDB4NTMsIDB4MzUsIDB4N2YsIDB4OTAsIDB4ZmYsIDB4ZmMsIDB4ZTAsIDB4NTQsIDB4ZmUsCi0weGYwLCAweDkwLCAweGZmLCAweDgxLCAweGUwLCAweDQ0LCAweDgwLCAweGYwLCAweDEyLCAweDAyLCAweGRlLCAweDEyLCAweDFkLCAweGU3LCAweDAyLCAweDEwLAotMHhjZSwgMHgxMiwgMHgxMCwgMHg0YiwgMHg3OCwgMHg4OSwgMHhlZiwgMHhmNiwgMHhkMiwgMHgwMCwgMHgxMiwgMHgyYSwgMHhjNywgMHg5MCwgMHhmOSwgMHg2YSwKLTB4MTIsIDB4MWIsIDB4ZWEsIDB4ZTksIDB4MjQsIDB4MDMsIDB4ZjksIDB4ZTQsIDB4M2EsIDB4ZmEsIDB4YzAsIDB4MDIsIDB4NzgsIDB4ODAsIDB4ZTYsIDB4ZmUsCi0weDA4LCAweGU2LCAweGFhLCAweDA2LCAweGY4LCAweGFjLCAweDAyLCAweDdkLCAweDAxLCAweGQwLCAweDAyLCAweDEyLCAweDIyLCAweGQzLCAweDEyLCAweDMyLAotMHg4NCwgMHg3OCwgMHg4OSwgMHhlNiwgMHhmZiwgMHgxMiwgMHgxMywgMHg4NywgMHgxMiwgMHgzMSwgMHhhOSwgMHgwMiwgMHgxMCwgMHhjZSwgMHg4ZiwgMHg2MywKLTB4MTIsIDB4MmEsIDB4YzcsIDB4NzgsIDB4N2MsIDB4MTIsIDB4MjIsIDB4YjcsIDB4ZTAsIDB4NTQsIDB4M2YsIDB4ZjAsIDB4ZTUsIDB4ODIsIDB4MjQsIDB4MDQsCi0weDEyLCAweDIyLCAweGExLCAweGUwLCAweDU0LCAweDNmLCAweGYwLCAweDEyLCAweDIzLCAweDQxLCAweDI0LCAweDBiLCAweDEyLCAweDIyLCAweGExLCAweGUwLAotMHg1NCwgMHhmOCwgMHhmMCwgMHgxMiwgMHgzMiwgMHg4NCwgMHg3NCwgMHg2ZSwgMHgyNSwgMHg2MywgMHhmOCwgMHg3NCwgMHhmYiwgMHg1NiwgMHhmNiwgMHg3ZiwKLTB4MDAsIDB4MjIsIDB4MTIsIDB4MTAsIDB4NGIsIDB4MTIsIDB4MmEsIDB4YzcsIDB4MTIsIDB4MjIsIDB4ZmEsIDB4MjQsIDB4MDYsIDB4MTIsIDB4MjIsIDB4OWYsCi0weGUwLCAweGZkLCAweDEyLCAweDIyLCAweGU4LCAweDkwLCAweDAwLCAweDAzLCAweDEyLCAweDIzLCAweDAyLCAweDI0LCAweDA1LCAweDEyLCAweDIyLCAweGExLAotMHhlMCwgMHg5MCwgMHgwMCwgMHgwNCwgMHgxMiwgMHgxYSwgMHhmYSwgMHgxMiwgMHgzMiwgMHg4NCwgMHg3ZCwgMHgwMiwgMHhlNCwgMHhmZiwgMHgxMiwgMHgyZiwKLTB4YjQsIDB4MDIsIDB4MTAsIDB4Y2UsIDB4YWUsIDB4MDUsIDB4MTIsIDB4MWQsIDB4OGUsIDB4ZWYsIDB4MTIsIDB4MWEsIDB4ZmEsIDB4MGUsIDB4MGUsIDB4MGUsCi0weGVlLCAweGQzLCAweDk1LCAweDNjLCAweGU0LCAweDk1LCAweDNiLCAweDQwLCAweDAyLCAweGFlLCAweDNjLCAweGVlLCAweGQzLCAweDk0LCAweDA4LCAweDc0LAotMHg4MCwgMHg5NCwgMHg4MSwgMHg0MCwgMHgwYSwgMHg3ZSwgMHgwMywgMHg5MCwgMHgwMCwgMHgwMiwgMHg3NCwgMHgwMiwgMHgxMiwgMHgxYSwgMHhmYSwgMHhhZiwKLTB4MDYsIDB4MTIsIDB4MzIsIDB4NmUsIDB4MjIsIDB4YWUsIDB4MDcsIDB4ZWQsIDB4NTQsIDB4MDMsIDB4NjQsIDB4MDEsIDB4NjAsIDB4MDMsIDB4N2YsIDB4MTAsCi0weDIyLCAweGVkLCAweDU0LCAweDdjLCAweGMzLCAweDk0LCAweDA0LCAweDUwLCAweDAzLCAweDdmLCAweDBiLCAweDIyLCAweDc0LCAweDZlLCAweDJlLCAweGY4LAotMHg3NCwgMHgwMiwgMHg0NiwgMHhmNiwgMHg3NCwgMHg5OSwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHhmYSwgMHhmNSwgMHg4MywgMHhlZCwgMHhmMCwKLTB4N2YsIDB4MDAsIDB4MjIsIDB4YmYsIDB4MDMsIDB4MDYsIDB4N2MsIDB4ZmYsIDB4N2QsIDB4ZTAsIDB4ODAsIDB4MDQsIDB4N2MsIDB4ZmYsIDB4N2QsIDB4ZTIsCi0weDhkLCAweDgyLCAweDhjLCAweDgzLCAweGUwLCAweDQ0LCAweDgwLCAweGYwLCAweGU1LCAweDgyLCAweDI0LCAweDA0LCAweDEyLCAweDIyLCAweGExLCAweGUwLAotMHg0NCwgMHg4MCwgMHhmMCwgMHg3NCwgMHg2ZSwgMHgyZiwgMHhmOCwgMHg3NCwgMHgwNCwgMHg0NiwgMHhmNiwgMHg3ZiwgMHgwMCwgMHgyMiwgMHgxMiwgMHgxMCwKLTB4NGIsIDB4ZTUsIDB4M2EsIDB4NjQsIDB4MDksIDB4NzAsIDB4MDQsIDB4ZTUsIDB4MzksIDB4NjQsIDB4MDEsIDB4NjAsIDB4MTYsIDB4OTAsIDB4ZmYsIDB4ODMsCi0weGUwLCAweDU0LCAweDBmLCAweGZmLCAweGMzLCAweGU1LCAweDNhLCAweDlmLCAweGU1LCAweDM5LCAweDk0LCAweDAwLCAweDQwLCAweDA1LCAweDEyLCAweDI4LAotMHhkNywgMHg4MCwgMHgwMywgMHgxMiwgMHgzMiwgMHg3YSwgMHgwMiwgMHgxMCwgMHhjZSwgMHg5MCwgMHhmZiwgMHhmYywgMHhlMCwgMHgyMCwgMHhlNywgMHgxZiwKLTB4YzIsIDB4YWYsIDB4N2QsIDB4ZmYsIDB4YWMsIDB4MDUsIDB4MWQsIDB4ZWMsIDB4NjAsIDB4MTUsIDB4N2UsIDB4MDQsIDB4N2YsIDB4MDAsIDB4ZWYsIDB4MWYsCi0weGFhLCAweDA2LCAweDcwLCAweDAxLCAweDFlLCAweDRhLCAweDYwLCAweGVjLCAweDkwLCAweGZmLCAweDkyLCAweGU0LCAweGYwLCAweDgwLCAweGVmLCAweDIyLAotMHgxMiwgMHgxMCwgMHg0YiwgMHg3OCwgMHg2NiwgMHhlNiwgMHhmZSwgMHgwOCwgMHhlNiwgMHhmZiwgMHgzMCwgMHhlMCwgMHgxMiwgMHgzMCwgMHhlMSwgMHgwZiwKLTB4OTAsIDB4ZmYsIDB4ZmMsIDB4ZTAsIDB4NDQsIDB4MjAsIDB4ZjAsIDB4N2YsIDB4MDQsIDB4MTIsIDB4MTIsIDB4NjEsIDB4MTIsIDB4MWQsIDB4ZjYsIDB4MDIsCi0weDEwLCAweGNlLCAweDhmLCAweDIzLCAweGMyLCAweDA4LCAweDEyLCAweDJhLCAweGM3LCAweDEyLCAweDIyLCAweGMwLCAweDc4LCAweDdlLCAweDEyLCAweDIzLAotMHg0MiwgMHgyNCwgMHgwYiwgMHgxMiwgMHgyMiwgMHhhMSwgMHhlMCwgMHg1NCwgMHhmOCwgMHhmMCwgMHgxMiwgMHgzMiwgMHg4NCwgMHhhZiwgMHgyMywgMHgxMiwKLTB4MTMsIDB4ODcsIDB4MjIsIDB4OGUsIDB4NWYsIDB4OGYsIDB4NjAsIDB4ZTUsIDB4NjAsIDB4MTUsIDB4NjAsIDB4YWUsIDB4NWYsIDB4NzAsIDB4MDIsIDB4MTUsCi0weDVmLCAweGQzLCAweDk0LCAweDAwLCAweGVlLCAweDk0LCAweDAwLCAweDQwLCAweDA5LCAweDdlLCAweDA3LCAweDdmLCAweGQwLCAweDEyLCAweDEwLCAweDI0LAotMHg4MCwgMHhlNSwgMHgyMiwgMHgxMSwgMHhkYywgMHgyZSwgMHhjNywgMHgyNCwgMHhiMCwgMHgzMiwgMHg2MCwgMHgzMCwgMHg5MCwgMHgzMCwgMHgzZSwgMHgzMSwKLTB4NmYsIDB4MmYsIDB4ODIsIDB4MjcsIDB4MmUsIDB4MmMsIDB4ODAsIDB4MzEsIDB4MTIsIDB4MzEsIDB4MzEsIDB4MWUsIDB4NjQsIDB4MmYsIDB4MTEsIDB4MmMsCi0weDE4LCAweDBlLCAweDEyLCAweDEwLCAweDRiLCAweDc4LCAweDg2LCAweDEyLCAweDIzLCAweDMxLCAweDIwLCAweGUxLCAweDA3LCAweDdmLCAweDEyLCAweDEyLAotMHgzMSwgMHhhOSwgMHg4MCwgMHgwYSwgMHg3OCwgMHg4NiwgMHhlNiwgMHhmZiwgMHgxMiwgMHgyNCwgMHgwYSwgMHgxMiwgMHgzMSwgMHhhOSwgMHgwMiwgMHgxMCwKLTB4Y2UsIDB4MTIsIDB4MTAsIDB4NGIsIDB4NzgsIDB4ODcsIDB4MTIsIDB4MjMsIDB4MzEsIDB4MjAsIDB4ZTIsIDB4MDcsIDB4N2YsIDB4MTEsIDB4MTIsIDB4MzEsCi0weGE5LCAweDgwLCAweDBhLCAweDc4LCAweDg3LCAweGU2LCAweGZmLCAweDEyLCAweDJmLCAweDRlLCAweDEyLCAweDMxLCAweGE5LCAweDAyLCAweDEwLCAweGNlLAotMHg4ZiwgMHg2MSwgMHgxMiwgMHgyZiwgMHg0ZSwgMHhhZiwgMHg2MSwgMHgxMiwgMHgyYSwgMHhjNywgMHgxMiwgMHgyMiwgMHhjMCwgMHgxMiwgMHgzMiwgMHg4NCwKLTB4NzQsIDB4NmUsIDB4MjUsIDB4NjEsIDB4ZjgsIDB4NzQsIDB4ZmQsIDB4NTYsIDB4ZjYsIDB4YWYsIDB4NjEsIDB4MTIsIDB4MTMsIDB4ODcsIDB4MjIsIDB4MTIsCi0weDEwLCAweDRiLCAweGU1LCAweDNhLCAweDY0LCAweDA5LCAweDcwLCAweDA0LCAweGU1LCAweDM5LCAweDY0LCAweDAxLCAweDYwLCAweDA1LCAweDEyLCAweDJjLAotMHhkOCwgMHg4MCwgMHgwNiwgMHgxMiwgMHgxZSwgMHgxNCwgMHgxMiwgMHgxZSwgMHgxYywgMHgwMiwgMHgxMCwgMHhjZSwgMHgxMiwgMHgyYSwgMHg1NCwgMHgxMiwKLTB4MTMsIDB4MDMsIDB4OTAsIDB4ZjgsIDB4MDQsIDB4ZTAsIDB4ZmYsIDB4NjAsIDB4MDUsIDB4N2QsIDB4MDEsIDB4MTIsIDB4MTIsIDB4YTAsIDB4MTIsIDB4MjksCi0weGRlLCAweDEyLCAweDEzLCAweDNmLCAweDEyLCAweDExLCAweGJjLCAweDgwLCAweGUzLCAweDEyLCAweDFkLCAweDhlLCAweGVmLCAweDEyLCAweDFhLCAweGZhLAotMHhlNCwgMHhmNSwgMHgzMywgMHhmNSwgMHgzNCwgMHhlZiwgMHg2MCwgMHgwMywgMHgwMiwgMHgzMiwgMHg3YSwgMHhlNCwgMHhmZiwgMHgxMiwgMHgzMiwgMHg2ZSwKLTB4MjIsIDB4OTAsIDB4ZmYsIDB4ZjAsIDB4ZTAsIDB4ZmYsIDB4NTQsIDB4YTAsIDB4NjAsIDB4ZjcsIDB4ZWYsIDB4MzAsIDB4ZTUsIDB4MDgsIDB4OTAsIDB4ZmYsCi0weGYwLCAweDQ0LCAweDIwLCAweGYwLCAweGMzLCAweDIyLCAweGQzLCAweDIyLCAweDkwLCAweGZmLCAweGYwLCAweGUwLCAweGZmLCAweDU0LCAweDI4LCAweDYwLAotMHhmNywgMHhlZiwgMHgzMCwgMHhlNSwgMHgwOCwgMHg5MCwgMHhmZiwgMHhmMCwgMHg0NCwgMHgyMCwgMHhmMCwgMHhjMywgMHgyMiwgMHhkMywgMHgyMiwgMHhlZiwKLTB4MzAsIDB4ZTcsIDB4MDgsIDB4MTIsIDB4MWQsIDB4NDUsIDB4ZTAsIDB4NTQsIDB4ZGYsIDB4ZjAsIDB4MjIsIDB4ZWYsIDB4MTIsIDB4MWQsIDB4OTgsIDB4ZTAsCi0weDU0LCAweGRmLCAweGYwLCAweDIyLCAweDgxLCAweDAxLCAweDgyLCAweDAyLCAweDgzLCAweDAzLCAweDg3LCAweDQwLCAweDAwLCAweDQwLCAweDAwLCAweDQwLAotMHgwMCwgMHg0MCwgMHgwMCwgMHg0MCwgMHgwMCwgMHg0MCwgMHgwMCwgMHgwOCwgMHgwMCwgMHg3OCwgMHg3ZSwgMHgxMiwgMHgyMiwgMHhiNywgMHhhMywgMHhhMywKLTB4ZTAsIDB4ZmYsIDB4MzAsIDB4ZTcsIDB4MDYsIDB4NTQsIDB4N2YsIDB4ZjAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4MjIsIDB4ODUsIDB4M2IsIDB4MzksIDB4ODUsCi0weDNjLCAweDNhLCAweDkwLCAweGZmLCAweDgyLCAweGUwLCAweDU0LCAweGY3LCAweGYwLCAweGEzLCAweGUwLCAweDU0LCAweDdmLCAweGYwLCAweDIyLCAweGU0LAotMHhmZSwgMHhlZSwgMHg5MCwgMHgzMiwgMHgwNCwgMHg5MywgMHhiNSwgMHgwNywgMHgwMiwgMHhkMywgMHgyMiwgMHgwZSwgMHhiZSwgMHgwNywgMHhmMiwgMHhjMywKLTB4MjIsIDB4MDAsIDB4MDgsIDB4MTgsIDB4MjgsIDB4MzgsIDB4MDEsIDB4ODEsIDB4OTAsIDB4MGEsIDB4MDIsIDB4MDAsIDB4MDAsIDB4MTEsIDB4MTMsIDB4MDAsCi0weDEyLCAweDEwLCAweDRiLCAweDdmLCAweDAyLCAweDEyLCAweDEwLCAweGRhLCAweDEyLCAweDFkLCAweGY2LCAweDAyLCAweDEwLCAweGNlLCAweDc1LCAweDM5LAotMHgwMCwgMHg4ZiwgMHgzYSwgMHgxMiwgMHgxYywgMHhlMCwgMHgxMiwgMHgyYywgMHhkOCwgMHgyMiwgMHgxMiwgMHgxZSwgMHgxYywgMHgxMiwgMHgxZCwgMHhkZiwKLTB4MTIsIDB4MWUsIDB4MTQsIDB4MjIsIDB4YzIsIDB4MDgsIDB4MjIsCi19OwotCi0jdW5kZWYgSU1BR0VfVkVSU0lPTl9OQU1FCi0KLSN1bmRlZiBJTUFHRV9BUlJBWV9OQU1FCi0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC9pb190aS5jIGIvZHJpdmVycy91c2Ivc2VyaWFsL2lvX3RpLmMKaW5kZXggMDVlNGZhNy4uNjFkYWVhMyAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2Ivc2VyaWFsL2lvX3RpLmMKKysrIGIvZHJpdmVycy91c2Ivc2VyaWFsL2lvX3RpLmMKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgogI2luY2x1ZGUgPGxpbnV4L3NlcmlhbC5oPgogI2luY2x1ZGUgPGxpbnV4L2lvY3RsLmg+CisjaW5jbHVkZSA8bGludXgvZmlybXdhcmUuaD4KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogI2luY2x1ZGUgPGxpbnV4L3VzYi5oPgogI2luY2x1ZGUgPGxpbnV4L3VzYi9zZXJpYWwuaD4KQEAgLTUyLDEzICs1Myw2IEBACiAjZGVmaW5lIERSSVZFUl9BVVRIT1IgIkdyZWcgS3JvYWgtSGFydG1hbiA8Z3JlZ0Brcm9haC5jb20+IGFuZCBEYXZpZCBJYWNvdmVsbGkiCiAjZGVmaW5lIERSSVZFUl9ERVNDICJFZGdlcG9ydCBVU0IgU2VyaWFsIERyaXZlciIKIAotCi0vKiBmaXJtd2FyZSBpbWFnZSBjb2RlICovCi0jZGVmaW5lIElNQUdFX1ZFUlNJT05fTkFNRQlQYWdhYmxlT3BlcmF0aW9uYWxDb2RlSW1hZ2VWZXJzaW9uCi0jZGVmaW5lIElNQUdFX0FSUkFZX05BTUUJUGFnYWJsZU9wZXJhdGlvbmFsQ29kZUltYWdlCi0jZGVmaW5lIElNQUdFX1NJWkUJCVBhZ2FibGVPcGVyYXRpb25hbENvZGVTaXplCi0jaW5jbHVkZSAiaW9fZndfZG93bjMuaCIJLyogRGVmaW5lIGFycmF5IE9wZXJhdGlvbmFsQ29kZUltYWdlW10gKi8KLQogI2RlZmluZSBFUFJPTV9QQUdFX1NJWkUJCTY0CiAKIApAQCAtMjMxLDcgKzIyNSw5IEBACiB9OwogCiAKLXN0YXRpYyBzdHJ1Y3QgRURHRV9GSVJNV0FSRV9WRVJTSU9OX0lORk8gT3BlcmF0aW9uYWxDb2RlSW1hZ2VWZXJzaW9uOworc3RhdGljIHVuc2lnbmVkIGNoYXIgT3BlcmF0aW9uYWxNYWpvclZlcnNpb247CitzdGF0aWMgdW5zaWduZWQgY2hhciBPcGVyYXRpb25hbE1pbm9yVmVyc2lvbjsKK3N0YXRpYyB1bnNpZ25lZCBzaG9ydCBPcGVyYXRpb25hbEJ1aWxkTnVtYmVyOwogCiBzdGF0aWMgaW50IGRlYnVnOwogCkBAIC04ODUsMTAgKzg4MSwxMyBAQAogCV9fdTggKmJ1ZmZlcjsKIAlpbnQgYnVmZmVyX3NpemU7CiAJaW50IGk7CisJaW50IGVycjsKIAlfX3U4IGNzID0gMDsKIAlzdHJ1Y3QgdGlfaTJjX2Rlc2MgKmkyY19oZWFkZXI7CiAJc3RydWN0IHRpX2kyY19pbWFnZV9oZWFkZXIgKmltZ19oZWFkZXI7CiAJc3RydWN0IHRpX2kyY19maXJtd2FyZV9yZWMgKmZpcm13YXJlX3JlYzsKKwljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3OworCWNvbnN0IGNoYXIgKmZ3X25hbWUgPSAiZWRnZXBvcnQvZG93bjMuYmluIjsKIAogCS8vIEluIG9yZGVyIHRvIHVwZGF0ZSB0aGUgSTJDIGZpcm13YXJlIHdlIG11c3QgY2hhbmdlIHRoZSB0eXBlIDIgcmVjb3JkIHRvIHR5cGUgMHhGMi4KIAkvLyBUaGlzIHdpbGwgZm9yY2UgdGhlIFVNUCB0byBjb21lIHVwIGluIEJvb3QgTW9kZS4gIFRoZW4gd2hpbGUgaW4gYm9vdCBtb2RlLCB0aGUgZHJpdmVyIApAQCAtOTA5LDE5ICs5MDgsMzQgQEAKIAkvLyBTZXQgZW50aXJlIGltYWdlIG9mIDB4ZmZzCiAJbWVtc2V0IChidWZmZXIsIDB4ZmYsIGJ1ZmZlcl9zaXplKTsKIAorCWVyciA9IHJlcXVlc3RfZmlybXdhcmUoJmZ3LCBmd19uYW1lLCBkZXYpOworCWlmIChlcnIpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJGYWlsZWQgdG8gbG9hZCBpbWFnZSBcIiVzXCIgZXJyICVkXG4iLAorCQkgICAgICAgZndfbmFtZSwgZXJyKTsKKwkJa2ZyZWUoYnVmZmVyKTsKKwkJcmV0dXJuIGVycjsKKwl9CisKKwkvKiBTYXZlIERvd25sb2FkIFZlcnNpb24gTnVtYmVyICovCisJT3BlcmF0aW9uYWxNYWpvclZlcnNpb24gPSBmdy0+ZGF0YVswXTsKKwlPcGVyYXRpb25hbE1pbm9yVmVyc2lvbiA9IGZ3LT5kYXRhWzFdOworCU9wZXJhdGlvbmFsQnVpbGROdW1iZXIgPSBmdy0+ZGF0YVsyXSB8IChmdy0+ZGF0YVszXSA8PCA4KTsKKwogCS8vIENvcHkgdmVyc2lvbiBudW1iZXIgaW50byBmaXJtd2FyZSByZWNvcmQKIAlmaXJtd2FyZV9yZWMgPSAoc3RydWN0IHRpX2kyY19maXJtd2FyZV9yZWMgKilidWZmZXI7CiAKLQlmaXJtd2FyZV9yZWMtPlZlcl9NYWpvcgk9IE9wZXJhdGlvbmFsQ29kZUltYWdlVmVyc2lvbi5NYWpvclZlcnNpb247Ci0JZmlybXdhcmVfcmVjLT5WZXJfTWlub3IJPSBPcGVyYXRpb25hbENvZGVJbWFnZVZlcnNpb24uTWlub3JWZXJzaW9uOworCWZpcm13YXJlX3JlYy0+VmVyX01ham9yCT0gT3BlcmF0aW9uYWxNYWpvclZlcnNpb247CisJZmlybXdhcmVfcmVjLT5WZXJfTWlub3IJPSBPcGVyYXRpb25hbE1pbm9yVmVyc2lvbjsKIAogCS8vIFBvaW50ZXIgdG8gZndfZG93biBtZW1vcnkgaW1hZ2UKLQlpbWdfaGVhZGVyID0gKHN0cnVjdCB0aV9pMmNfaW1hZ2VfaGVhZGVyICopJlBhZ2FibGVPcGVyYXRpb25hbENvZGVJbWFnZVswXTsKKwlpbWdfaGVhZGVyID0gKHN0cnVjdCB0aV9pMmNfaW1hZ2VfaGVhZGVyICopJmZ3LT5kYXRhWzRdOwogCiAJbWVtY3B5IChidWZmZXIgKyBzaXplb2Yoc3RydWN0IHRpX2kyY19maXJtd2FyZV9yZWMpLAotCQkmUGFnYWJsZU9wZXJhdGlvbmFsQ29kZUltYWdlW3NpemVvZihzdHJ1Y3QgdGlfaTJjX2ltYWdlX2hlYWRlcildLAorCQkmZnctPmRhdGFbNCArIHNpemVvZihzdHJ1Y3QgdGlfaTJjX2ltYWdlX2hlYWRlcildLAogCQlsZTE2X3RvX2NwdShpbWdfaGVhZGVyLT5MZW5ndGgpKTsKIAorCXJlbGVhc2VfZmlybXdhcmUoZncpOworCiAJZm9yIChpPTA7IGkgPCBidWZmZXJfc2l6ZTsgaSsrKSB7CiAJCWNzID0gKF9fdTgpKGNzICsgYnVmZmVyW2ldKTsKIAl9CkBAIC05MzUsOCArOTQ5LDggQEAKIAlpMmNfaGVhZGVyLT5UeXBlCT0gSTJDX0RFU0NfVFlQRV9GSVJNV0FSRV9CTEFOSzsKIAlpMmNfaGVhZGVyLT5TaXplCT0gKF9fdTE2KWJ1ZmZlcl9zaXplOwogCWkyY19oZWFkZXItPkNoZWNrU3VtCT0gY3M7Ci0JZmlybXdhcmVfcmVjLT5WZXJfTWFqb3IJPSBPcGVyYXRpb25hbENvZGVJbWFnZVZlcnNpb24uTWFqb3JWZXJzaW9uOwotCWZpcm13YXJlX3JlYy0+VmVyX01pbm9yCT0gT3BlcmF0aW9uYWxDb2RlSW1hZ2VWZXJzaW9uLk1pbm9yVmVyc2lvbjsKKwlmaXJtd2FyZV9yZWMtPlZlcl9NYWpvcgk9IE9wZXJhdGlvbmFsTWFqb3JWZXJzaW9uOworCWZpcm13YXJlX3JlYy0+VmVyX01pbm9yCT0gT3BlcmF0aW9uYWxNaW5vclZlcnNpb247CiAKIAlyZXR1cm4gMDsKIH0KQEAgLTEwNzUsMTEgKzEwODksNiBAQAogCQkvLyBPdGhlcndpc2Ugd2Ugd2lsbCByZW1haW4gaW4gY29uZmlndXJpbmcgbW9kZQogCQlzZXJpYWwtPnByb2R1Y3RfaW5mby5UaU1vZGUgPSBUSV9NT0RFX0NPTkZJR1VSSU5HOwogCi0JLy8gU2F2ZSBEb3dubG9hZCBWZXJzaW9uIE51bWJlcgotCU9wZXJhdGlvbmFsQ29kZUltYWdlVmVyc2lvbi5NYWpvclZlcnNpb24gPSBQYWdhYmxlT3BlcmF0aW9uYWxDb2RlSW1hZ2VWZXJzaW9uLk1ham9yVmVyc2lvbjsKLQlPcGVyYXRpb25hbENvZGVJbWFnZVZlcnNpb24uTWlub3JWZXJzaW9uID0gUGFnYWJsZU9wZXJhdGlvbmFsQ29kZUltYWdlVmVyc2lvbi5NaW5vclZlcnNpb247Ci0JT3BlcmF0aW9uYWxDb2RlSW1hZ2VWZXJzaW9uLkJ1aWxkTnVtYmVyCSA9IFBhZ2FibGVPcGVyYXRpb25hbENvZGVJbWFnZVZlcnNpb24uQnVpbGROdW1iZXI7Ci0KIAkvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAJLyogRG93bmxvYWQgTW9kZSAqLwogCS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KQEAgLTExNTQsMTUgKzExNjMsMTUgQEAKIAkJCS8vIENoZWNrIHZlcnNpb24gbnVtYmVyIG9mIGRvd25sb2FkIHdpdGggY3VycmVudCB2ZXJzaW9uIGluIEkyYwogCQkJZG93bmxvYWRfY3VyX3ZlciA9IChmaXJtd2FyZV92ZXJzaW9uLT5WZXJfTWFqb3IgPDwgOCkgKyAKIAkJCQkJICAgKGZpcm13YXJlX3ZlcnNpb24tPlZlcl9NaW5vcik7Ci0JCQlkb3dubG9hZF9uZXdfdmVyID0gKE9wZXJhdGlvbmFsQ29kZUltYWdlVmVyc2lvbi5NYWpvclZlcnNpb24gPDwgOCkgKwotCQkJCQkgICAoT3BlcmF0aW9uYWxDb2RlSW1hZ2VWZXJzaW9uLk1pbm9yVmVyc2lvbik7CisJCQlkb3dubG9hZF9uZXdfdmVyID0gKE9wZXJhdGlvbmFsTWFqb3JWZXJzaW9uIDw8IDgpICsKKwkJCQkJICAgKE9wZXJhdGlvbmFsTWlub3JWZXJzaW9uKTsKIAogCQkJZGJnICgiJXMgLSA+Pj5GaXJtd2FyZSBWZXJzaW9ucyBEZXZpY2UgJWQuJWQgIERyaXZlciAlZC4lZCIsCiAJCQkgICAgIF9fZnVuY19fLAogCQkJICAgICBmaXJtd2FyZV92ZXJzaW9uLT5WZXJfTWFqb3IsCiAJCQkgICAgIGZpcm13YXJlX3ZlcnNpb24tPlZlcl9NaW5vciwKLQkJCSAgICAgT3BlcmF0aW9uYWxDb2RlSW1hZ2VWZXJzaW9uLk1ham9yVmVyc2lvbiwKLQkJCSAgICAgT3BlcmF0aW9uYWxDb2RlSW1hZ2VWZXJzaW9uLk1pbm9yVmVyc2lvbik7CisJCQkgICAgIE9wZXJhdGlvbmFsTWFqb3JWZXJzaW9uLAorCQkJICAgICBPcGVyYXRpb25hbE1pbm9yVmVyc2lvbik7CiAKIAkJCS8vIENoZWNrIGlmIHdlIGhhdmUgYW4gb2xkIHZlcnNpb24gaW4gdGhlIEkyQyBhbmQgdXBkYXRlIGlmIG5lY2Vzc2FyeQogCQkJaWYgKGRvd25sb2FkX2N1cl92ZXIgIT0gZG93bmxvYWRfbmV3X3ZlcikgewpAQCAtMTE3MCw4ICsxMTc5LDggQEAKIAkJCQkgICAgIF9fZnVuY19fLAogCQkJCSAgICAgZmlybXdhcmVfdmVyc2lvbi0+VmVyX01ham9yLAogCQkJCSAgICAgZmlybXdhcmVfdmVyc2lvbi0+VmVyX01pbm9yLAotCQkJCSAgICAgT3BlcmF0aW9uYWxDb2RlSW1hZ2VWZXJzaW9uLk1ham9yVmVyc2lvbiwKLQkJCQkgICAgIE9wZXJhdGlvbmFsQ29kZUltYWdlVmVyc2lvbi5NaW5vclZlcnNpb24pOworCQkJCSAgICAgT3BlcmF0aW9uYWxNYWpvclZlcnNpb24sCisJCQkJICAgICBPcGVyYXRpb25hbE1pbm9yVmVyc2lvbik7CiAKIAkJCQkvLyBJbiBvcmRlciB0byB1cGRhdGUgdGhlIEkyQyBmaXJtd2FyZSB3ZSBtdXN0IGNoYW5nZSB0aGUgdHlwZSAyIHJlY29yZCB0byB0eXBlIDB4RjIuCiAJCQkJLy8gVGhpcyB3aWxsIGZvcmNlIHRoZSBVTVAgdG8gY29tZSB1cCBpbiBCb290IE1vZGUuICBUaGVuIHdoaWxlIGluIGJvb3QgbW9kZSwgdGhlIGRyaXZlciAKQEAgLTEzNzcsNiArMTM4Niw5IEBACiAJCV9fdTggY3MgPSAwOwogCQlfX3U4ICpidWZmZXI7CiAJCWludCBidWZmZXJfc2l6ZTsKKwkJaW50IGVycjsKKwkJY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdzsKKwkJY29uc3QgY2hhciAqZndfbmFtZSA9ICJlZGdlcG9ydC9kb3duMy5iaW4iOwogCiAJCS8qIFZhbGlkYXRlIEhhcmR3YXJlIHZlcnNpb24gbnVtYmVyCiAJCSAqIFJlYWQgTWFudWZhY3R1cmluZyBEZXNjcmlwdG9yIGZyb20gVEkgQmFzZWQgRWRnZXBvcnQKQEAgLTE0MjUsNyArMTQzNywxNSBAQAogCQkvLyBJbml0aWFsaXplIHRoZSBidWZmZXIgdG8gMHhmZiAocGFkIHRoZSBidWZmZXIpCiAJCW1lbXNldCAoYnVmZmVyLCAweGZmLCBidWZmZXJfc2l6ZSk7CiAKLQkJbWVtY3B5IChidWZmZXIsICZQYWdhYmxlT3BlcmF0aW9uYWxDb2RlSW1hZ2VbMF0sIFBhZ2FibGVPcGVyYXRpb25hbENvZGVTaXplKTsKKwkJZXJyID0gcmVxdWVzdF9maXJtd2FyZSgmZncsIGZ3X25hbWUsIGRldik7CisJCWlmIChlcnIpIHsKKwkJCXByaW50ayhLRVJOX0VSUiAiRmFpbGVkIHRvIGxvYWQgaW1hZ2UgXCIlc1wiIGVyciAlZFxuIiwKKwkJCSAgICAgICBmd19uYW1lLCBlcnIpOworCQkJa2ZyZWUoYnVmZmVyKTsKKwkJCXJldHVybiBlcnI7CisJCX0KKwkJbWVtY3B5KGJ1ZmZlciwgJmZ3LT5kYXRhWzRdLCBmdy0+c2l6ZSAtIDQpOworCQlyZWxlYXNlX2Zpcm13YXJlKGZ3KTsKIAogCQlmb3IoaSA9IHNpemVvZihzdHJ1Y3QgdGlfaTJjX2ltYWdlX2hlYWRlcik7IGkgPCBidWZmZXJfc2l6ZTsgaSsrKSB7CiAJCQljcyA9IChfX3U4KShjcyArIGJ1ZmZlcltpXSk7CkBAIC0zMTE5LDYgKzMxMzksNyBAQAogTU9EVUxFX0FVVEhPUihEUklWRVJfQVVUSE9SKTsKIE1PRFVMRV9ERVNDUklQVElPTihEUklWRVJfREVTQyk7CiBNT0RVTEVfTElDRU5TRSgiR1BMIik7CitNT0RVTEVfRklSTVdBUkUoImVkZ2Vwb3J0L2Rvd24zLmJpbiIpOwogCiBtb2R1bGVfcGFyYW0oZGVidWcsIGJvb2wsIFNfSVJVR08gfCBTX0lXVVNSKTsKIE1PRFVMRV9QQVJNX0RFU0MoZGVidWcsICJEZWJ1ZyBlbmFibGVkIG9yIG5vdCIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW4uYyBiL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuLmMKaW5kZXggM2RmOGE2Ni4uMTFlNDM5YiAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW4uYworKysgYi9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbi5jCkBAIC0xMDUsNiArMTA1LDggQEAKICNpbmNsdWRlIDxsaW51eC90dHlfZmxpcC5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CisjaW5jbHVkZSA8bGludXgvZmlybXdhcmUuaD4KKyNpbmNsdWRlIDxsaW51eC9paGV4Lmg+CiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KICNpbmNsdWRlIDxsaW51eC91c2IuaD4KICNpbmNsdWRlIDxsaW51eC91c2Ivc2VyaWFsLmg+CkBAIC0xMzM5LDEzICsxMzQxLDEzIEBACiAJcG9ydC0+dHR5ID0gTlVMTDsKIH0KIAotCiAJLyogZG93bmxvYWQgdGhlIGZpcm13YXJlIHRvIGEgcHJlLXJlbnVtZXJhdGlvbiBkZXZpY2UgKi8KIHN0YXRpYyBpbnQga2V5c3Bhbl9mYWtlX3N0YXJ0dXAgKHN0cnVjdCB1c2Jfc2VyaWFsICpzZXJpYWwpCiB7CiAJaW50IAkJCQlyZXNwb25zZTsKLQljb25zdCBzdHJ1Y3QgZXp1c2JfaGV4X3JlY29yZCAJKnJlY29yZDsKKwljb25zdCBzdHJ1Y3QgaWhleF9iaW5yZWMgCSpyZWNvcmQ7CiAJY2hhcgkJCQkqZndfbmFtZTsKKwljb25zdCBzdHJ1Y3QgZmlybXdhcmUJCSpmdzsKIAogCWRiZygiS2V5c3BhbiBzdGFydHVwIHZlcnNpb24gJTA0eCBwcm9kdWN0ICUwNHgiLAogCSAgICBsZTE2X3RvX2NwdShzZXJpYWwtPmRldi0+ZGVzY3JpcHRvci5iY2REZXZpY2UpLApAQCAtMTM1OSw3MiArMTM2MSw2MCBAQAogCQkvKiBTZWxlY3QgZmlybXdhcmUgaW1hZ2Ugb24gdGhlIGJhc2lzIG9mIGlkUHJvZHVjdCAqLwogCXN3aXRjaCAobGUxNl90b19jcHUoc2VyaWFsLT5kZXYtPmRlc2NyaXB0b3IuaWRQcm9kdWN0KSkgewogCWNhc2Uga2V5c3Bhbl91c2EyOF9wcmVfcHJvZHVjdF9pZDoKLQkJcmVjb3JkID0gJmtleXNwYW5fdXNhMjhfZmlybXdhcmVbMF07Ci0JCWZ3X25hbWUgPSAiVVNBMjgiOworCQlmd19uYW1lID0gImtleXNwYW4vdXNhMjguZnciOwogCQlicmVhazsKIAogCWNhc2Uga2V5c3Bhbl91c2EyOHhfcHJlX3Byb2R1Y3RfaWQ6Ci0JCXJlY29yZCA9ICZrZXlzcGFuX3VzYTI4eF9maXJtd2FyZVswXTsKLQkJZndfbmFtZSA9ICJVU0EyOFgiOworCQlmd19uYW1lID0gImtleXNwYW4vdXNhMjh4LmZ3IjsKIAkJYnJlYWs7CiAKIAljYXNlIGtleXNwYW5fdXNhMjh4YV9wcmVfcHJvZHVjdF9pZDoKLQkJcmVjb3JkID0gJmtleXNwYW5fdXNhMjh4YV9maXJtd2FyZVswXTsKLQkJZndfbmFtZSA9ICJVU0EyOFhBIjsKKwkJZndfbmFtZSA9ICJrZXlzcGFuL3VzYTI4eGEuZnciOwogCQlicmVhazsKIAogCWNhc2Uga2V5c3Bhbl91c2EyOHhiX3ByZV9wcm9kdWN0X2lkOgotCQlyZWNvcmQgPSAma2V5c3Bhbl91c2EyOHhiX2Zpcm13YXJlWzBdOwotCQlmd19uYW1lID0gIlVTQTI4WEIiOworCQlmd19uYW1lID0gImtleXNwYW4vdXNhMjh4Yi5mdyI7CiAJCWJyZWFrOwogCiAJY2FzZSBrZXlzcGFuX3VzYTE5X3ByZV9wcm9kdWN0X2lkOgotCQlyZWNvcmQgPSAma2V5c3Bhbl91c2ExOV9maXJtd2FyZVswXTsKLQkJZndfbmFtZSA9ICJVU0ExOSI7CisJCWZ3X25hbWUgPSAia2V5c3Bhbi91c2ExOS5mdyI7CiAJCWJyZWFrOwogCQkJICAgICAKIAljYXNlIGtleXNwYW5fdXNhMTlxaV9wcmVfcHJvZHVjdF9pZDoKLQkJcmVjb3JkID0gJmtleXNwYW5fdXNhMTlxaV9maXJtd2FyZVswXTsKLQkJZndfbmFtZSA9ICJVU0ExOVFJIjsKKwkJZndfbmFtZSA9ICJrZXlzcGFuL3VzYTE5cWkuZnciOwogCQlicmVhazsKIAkJCSAgICAgCiAJY2FzZSBrZXlzcGFuX21wcl9wcmVfcHJvZHVjdF9pZDoKLQkJcmVjb3JkID0gJmtleXNwYW5fbXByX2Zpcm13YXJlWzBdOwotCQlmd19uYW1lID0gIk1QUiI7CisJCWZ3X25hbWUgPSAia2V5c3Bhbi9tcHIuZnciOwogCQlicmVhazsKIAogCWNhc2Uga2V5c3Bhbl91c2ExOXF3X3ByZV9wcm9kdWN0X2lkOgotCQlyZWNvcmQgPSAma2V5c3Bhbl91c2ExOXF3X2Zpcm13YXJlWzBdOwotCQlmd19uYW1lID0gIlVTQTE5UUkiOworCQlmd19uYW1lID0gImtleXNwYW4vdXNhMTlxdy5mdyI7CiAJCWJyZWFrOwogCQkJICAgICAKIAljYXNlIGtleXNwYW5fdXNhMTh4X3ByZV9wcm9kdWN0X2lkOgotCQlyZWNvcmQgPSAma2V5c3Bhbl91c2ExOHhfZmlybXdhcmVbMF07Ci0JCWZ3X25hbWUgPSAiVVNBMThYIjsKKwkJZndfbmFtZSA9ICJrZXlzcGFuL3VzYTE4eC5mdyI7CiAJCWJyZWFrOwogCQkJICAgICAKIAljYXNlIGtleXNwYW5fdXNhMTl3X3ByZV9wcm9kdWN0X2lkOgotCQlyZWNvcmQgPSAma2V5c3Bhbl91c2ExOXdfZmlybXdhcmVbMF07Ci0JCWZ3X25hbWUgPSAiVVNBMTlXIjsKKwkJZndfbmFtZSA9ICJrZXlzcGFuL3VzYTE5dy5mdyI7CiAJCWJyZWFrOwogCQkKIAljYXNlIGtleXNwYW5fdXNhNDl3X3ByZV9wcm9kdWN0X2lkOgotCQlyZWNvcmQgPSAma2V5c3Bhbl91c2E0OXdfZmlybXdhcmVbMF07Ci0JCWZ3X25hbWUgPSAiVVNBNDlXIjsKKwkJZndfbmFtZSA9ICJrZXlzcGFuL3VzYTQ5dy5mdyI7CiAJCWJyZWFrOwogCiAJY2FzZSBrZXlzcGFuX3VzYTQ5d2xjX3ByZV9wcm9kdWN0X2lkOgotCQlyZWNvcmQgPSAma2V5c3Bhbl91c2E0OXdsY19maXJtd2FyZVswXTsKLQkJZndfbmFtZSA9ICJVU0E0OVdMQyI7CisJCWZ3X25hbWUgPSAia2V5c3Bhbi91c2E0OXdsYy5mdyI7CiAJCWJyZWFrOwogCiAJZGVmYXVsdDoKLQkJcmVjb3JkID0gTlVMTDsKLQkJZndfbmFtZSA9ICJVbmtub3duIjsKLQkJYnJlYWs7CisJCWRldl9lcnIoJnNlcmlhbC0+ZGV2LT5kZXYsICJVbmtub3duIHByb2R1Y3QgSUQgKCUwNHgpXG4iLAorCQkJbGUxNl90b19jcHUoc2VyaWFsLT5kZXYtPmRlc2NyaXB0b3IuaWRQcm9kdWN0KSk7CisJCXJldHVybiAxOwogCX0KIAotCWlmIChyZWNvcmQgPT0gTlVMTCkgeworCWlmIChyZXF1ZXN0X2loZXhfZmlybXdhcmUoJmZ3LCBmd19uYW1lLCAmc2VyaWFsLT5kZXYtPmRldikpIHsKIAkJZGV2X2Vycigmc2VyaWFsLT5kZXYtPmRldiwgIlJlcXVpcmVkIGtleXNwYW4gZmlybXdhcmUgaW1hZ2UgKCVzKSB1bmF2YWlsYWJsZS5cbiIsIGZ3X25hbWUpOwogCQlyZXR1cm4oMSk7CiAJfQpAQCAtMTQzNCwxOSArMTQyNCwyMiBAQAogCQkvKiBkb3dubG9hZCB0aGUgZmlybXdhcmUgaW1hZ2UgKi8KIAlyZXNwb25zZSA9IGV6dXNiX3NldF9yZXNldChzZXJpYWwsIDEpOwogCi0Jd2hpbGUocmVjb3JkLT5hZGRyZXNzICE9IDB4ZmZmZikgewotCQlyZXNwb25zZSA9IGV6dXNiX3dyaXRlbWVtb3J5KHNlcmlhbCwgcmVjb3JkLT5hZGRyZXNzLAorCXJlY29yZCA9IChjb25zdCBzdHJ1Y3QgaWhleF9iaW5yZWMgKilmdy0+ZGF0YTsKKworCXdoaWxlIChyZWNvcmQpIHsKKwkJcmVzcG9uc2UgPSBlenVzYl93cml0ZW1lbW9yeShzZXJpYWwsIGJlMzJfdG9fY3B1KHJlY29yZC0+YWRkciksCiAJCQkJCSAgICAgKHVuc2lnbmVkIGNoYXIgKilyZWNvcmQtPmRhdGEsCi0JCQkJCSAgICAgcmVjb3JkLT5kYXRhX3NpemUsIDB4YTApOworCQkJCQkgICAgIGJlMTZfdG9fY3B1KHJlY29yZC0+bGVuKSwgMHhhMCk7CiAJCWlmIChyZXNwb25zZSA8IDApIHsKIAkJCWRldl9lcnIoJnNlcmlhbC0+ZGV2LT5kZXYsICJlenVzYl93cml0ZW1lbW9yeSBmYWlsZWQgZm9yIEtleXNwYW4iCiAJCQkJImZpcm13YXJlICglZCAlMDRYICVwICVkKVxuIiwKLQkJCQlyZXNwb25zZSwgCi0JCQkJcmVjb3JkLT5hZGRyZXNzLCByZWNvcmQtPmRhdGEsIHJlY29yZC0+ZGF0YV9zaXplKTsKKwkJCQlyZXNwb25zZSwgYmUzMl90b19jcHUocmVjb3JkLT5hZGRyKSwKKwkJCQlyZWNvcmQtPmRhdGEsIGJlMTZfdG9fY3B1KHJlY29yZC0+bGVuKSk7CiAJCQlicmVhazsKIAkJfQotCQlyZWNvcmQrKzsKKwkJcmVjb3JkID0gaWhleF9uZXh0X2JpbnJlYyhyZWNvcmQpOwogCX0KKwlyZWxlYXNlX2Zpcm13YXJlKGZ3KTsKIAkJLyogYnJpbmcgZGV2aWNlIG91dCBvZiByZXNldC4gUmVudW1lcmF0aW9uIHdpbGwgb2NjdXIgaW4gYQogCQkgICBtb21lbnQgYW5kIHRoZSBuZXcgZGV2aWNlIHdpbGwgYmluZCB0byB0aGUgcmVhbCBkcml2ZXIgKi8KIAlyZXNwb25zZSA9IGV6dXNiX3NldF9yZXNldChzZXJpYWwsIDApOwpAQCAtMjc1Niw2ICsyNzQ5LDE5IEBACiBNT0RVTEVfREVTQ1JJUFRJT04oIERSSVZFUl9ERVNDICk7CiBNT0RVTEVfTElDRU5TRSgiR1BMIik7CiAKK01PRFVMRV9GSVJNV0FSRSgia2V5c3Bhbi91c2EyOC5mdyIpOworTU9EVUxFX0ZJUk1XQVJFKCJrZXlzcGFuL3VzYTI4eC5mdyIpOworTU9EVUxFX0ZJUk1XQVJFKCJrZXlzcGFuL3VzYTI4eGEuZnciKTsKK01PRFVMRV9GSVJNV0FSRSgia2V5c3Bhbi91c2EyOHhiLmZ3Iik7CitNT0RVTEVfRklSTVdBUkUoImtleXNwYW4vdXNhMTkuZnciKTsKK01PRFVMRV9GSVJNV0FSRSgia2V5c3Bhbi91c2ExOXFpLmZ3Iik7CitNT0RVTEVfRklSTVdBUkUoImtleXNwYW4vbXByLmZ3Iik7CitNT0RVTEVfRklSTVdBUkUoImtleXNwYW4vdXNhMTlxdy5mdyIpOworTU9EVUxFX0ZJUk1XQVJFKCJrZXlzcGFuL3VzYTE4eC5mdyIpOworTU9EVUxFX0ZJUk1XQVJFKCJrZXlzcGFuL3VzYTE5dy5mdyIpOworTU9EVUxFX0ZJUk1XQVJFKCJrZXlzcGFuL3VzYTQ5dy5mdyIpOworTU9EVUxFX0ZJUk1XQVJFKCJrZXlzcGFuL3VzYTQ5d2xjLmZ3Iik7CisKIG1vZHVsZV9wYXJhbShkZWJ1ZywgYm9vbCwgU19JUlVHTyB8IFNfSVdVU1IpOwogTU9EVUxFX1BBUk1fREVTQyhkZWJ1ZywgIkRlYnVnIGVuYWJsZWQgb3Igbm90Iik7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuLmggYi9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbi5oCmluZGV4IDhkNmVkMDIuLmI1MmZiNjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuLmgKKysrIGIvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW4uaApAQCAtMTAzLDkwICsxMDMsNiBAQAogCQkJCQkgc3RydWN0IHVzYl9zZXJpYWxfcG9ydCAqcG9ydCwKIAkJCQkJIGludCByZXNldF9wb3J0KTsKIAotLyogU3RydWN0IHVzZWQgZm9yIGZpcm13YXJlIC0gaW5jcmVhc2VkIHNpemUgb2YgZGF0YSBzZWN0aW9uCi0gICB0byBhbGxvdyBLZXlzcGFuJ3MgJ0MnIGZpcm13YXJlIHN0cnVjdCB0byBiZSB1c2VkIHVubW9kaWZpZWQgKi8KLXN0cnVjdCBlenVzYl9oZXhfcmVjb3JkIHsKLQlfX3UxNiBhZGRyZXNzOwotCV9fdTggZGF0YV9zaXplOwotCV9fdTggZGF0YVs2NF07Ci19OwotCi0vKiBDb25kaXRpb25hbGx5IGluY2x1ZGUgZmlybXdhcmUgaW1hZ2VzLCBpZiB0aGV5IGFyZW4ndAotICAgaW5jbHVkZWQgY3JlYXRlIGEgbnVsbCBwb2ludGVyIGluc3RlYWQuICBDdXJyZW50IAotICAgZmlybXdhcmUgaW1hZ2VzIGFyZW4ndCBvcHRpbWlzZWQgdG8gcmVtb3ZlIGR1cGxpY2F0ZQotICAgYWRkcmVzc2VzIGluIHRoZSBpbWFnZSBpdHNlbGYuICovCi0jaWZkZWYgQ09ORklHX1VTQl9TRVJJQUxfS0VZU1BBTl9VU0EyOAotCSNpbmNsdWRlICJrZXlzcGFuX3VzYTI4X2Z3LmgiCi0jZWxzZQotCXN0YXRpYyBjb25zdCBzdHJ1Y3QgZXp1c2JfaGV4X3JlY29yZCAqa2V5c3Bhbl91c2EyOF9maXJtd2FyZSA9IE5VTEw7Ci0jZW5kaWYKLQotI2lmZGVmIENPTkZJR19VU0JfU0VSSUFMX0tFWVNQQU5fVVNBMjhYCi0JI2luY2x1ZGUgImtleXNwYW5fdXNhMjh4X2Z3LmgiCi0jZWxzZQotCXN0YXRpYyBjb25zdCBzdHJ1Y3QgZXp1c2JfaGV4X3JlY29yZCAqa2V5c3Bhbl91c2EyOHhfZmlybXdhcmUgPSBOVUxMOwotI2VuZGlmCi0KLSNpZmRlZiBDT05GSUdfVVNCX1NFUklBTF9LRVlTUEFOX1VTQTI4WEEKLQkjaW5jbHVkZSAia2V5c3Bhbl91c2EyOHhhX2Z3LmgiCi0jZWxzZQotCXN0YXRpYyBjb25zdCBzdHJ1Y3QgZXp1c2JfaGV4X3JlY29yZCAqa2V5c3Bhbl91c2EyOHhhX2Zpcm13YXJlID0gTlVMTDsKLSNlbmRpZgotCi0jaWZkZWYgQ09ORklHX1VTQl9TRVJJQUxfS0VZU1BBTl9VU0EyOFhCCi0JI2luY2x1ZGUgImtleXNwYW5fdXNhMjh4Yl9mdy5oIgotI2Vsc2UKLQlzdGF0aWMgY29uc3Qgc3RydWN0IGV6dXNiX2hleF9yZWNvcmQgKmtleXNwYW5fdXNhMjh4Yl9maXJtd2FyZSA9IE5VTEw7Ci0jZW5kaWYKLQotI2lmZGVmIENPTkZJR19VU0JfU0VSSUFMX0tFWVNQQU5fVVNBMTkKLQkjaW5jbHVkZSAia2V5c3Bhbl91c2ExOV9mdy5oIgotI2Vsc2UKLQlzdGF0aWMgY29uc3Qgc3RydWN0IGV6dXNiX2hleF9yZWNvcmQgKmtleXNwYW5fdXNhMTlfZmlybXdhcmUgPSBOVUxMOwotI2VuZGlmCi0KLSNpZmRlZiBDT05GSUdfVVNCX1NFUklBTF9LRVlTUEFOX1VTQTE5UUkKLQkjaW5jbHVkZSAia2V5c3Bhbl91c2ExOXFpX2Z3LmgiCi0jZWxzZQotCXN0YXRpYyBjb25zdCBzdHJ1Y3QgZXp1c2JfaGV4X3JlY29yZCAqa2V5c3Bhbl91c2ExOXFpX2Zpcm13YXJlID0gTlVMTDsKLSNlbmRpZgotCi0jaWZkZWYgQ09ORklHX1VTQl9TRVJJQUxfS0VZU1BBTl9NUFIKLSAgICAgICAgI2luY2x1ZGUgImtleXNwYW5fbXByX2Z3LmgiCi0jZWxzZQotCXN0YXRpYyBjb25zdCBzdHJ1Y3QgZXp1c2JfaGV4X3JlY29yZCAqa2V5c3Bhbl9tcHJfZmlybXdhcmUgPSBOVUxMOwotI2VuZGlmCi0KLSNpZmRlZiBDT05GSUdfVVNCX1NFUklBTF9LRVlTUEFOX1VTQTE5UVcKLQkjaW5jbHVkZSAia2V5c3Bhbl91c2ExOXF3X2Z3LmgiCi0jZWxzZQotCXN0YXRpYyBjb25zdCBzdHJ1Y3QgZXp1c2JfaGV4X3JlY29yZCAqa2V5c3Bhbl91c2ExOXF3X2Zpcm13YXJlID0gTlVMTDsKLSNlbmRpZgotCi0jaWZkZWYgQ09ORklHX1VTQl9TRVJJQUxfS0VZU1BBTl9VU0ExOFgKLQkjaW5jbHVkZSAia2V5c3Bhbl91c2ExOHhfZncuaCIKLSNlbHNlCi0Jc3RhdGljIGNvbnN0IHN0cnVjdCBlenVzYl9oZXhfcmVjb3JkICprZXlzcGFuX3VzYTE4eF9maXJtd2FyZSA9IE5VTEw7Ci0jZW5kaWYKLQotI2lmZGVmIENPTkZJR19VU0JfU0VSSUFMX0tFWVNQQU5fVVNBMTlXCi0JI2luY2x1ZGUgImtleXNwYW5fdXNhMTl3X2Z3LmgiCi0jZWxzZQotCXN0YXRpYyBjb25zdCBzdHJ1Y3QgZXp1c2JfaGV4X3JlY29yZCAqa2V5c3Bhbl91c2ExOXdfZmlybXdhcmUgPSBOVUxMOwotI2VuZGlmCi0KLSNpZmRlZiBDT05GSUdfVVNCX1NFUklBTF9LRVlTUEFOX1VTQTQ5VwotCSNpbmNsdWRlICJrZXlzcGFuX3VzYTQ5d19mdy5oIgotI2Vsc2UKLQlzdGF0aWMgY29uc3Qgc3RydWN0IGV6dXNiX2hleF9yZWNvcmQgKmtleXNwYW5fdXNhNDl3X2Zpcm13YXJlID0gTlVMTDsKLSNlbmRpZgotCi0jaWZkZWYgQ09ORklHX1VTQl9TRVJJQUxfS0VZU1BBTl9VU0E0OVdMQwotICAgICAgICAjaW5jbHVkZSAia2V5c3Bhbl91c2E0OXdsY19mdy5oIgotI2Vsc2UKLQlzdGF0aWMgY29uc3Qgc3RydWN0IGV6dXNiX2hleF9yZWNvcmQgKmtleXNwYW5fdXNhNDl3bGNfZmlybXdhcmUgPSBOVUxMOwotI2VuZGlmCi0KIC8qIFZhbHVlcyB1c2VkIGZvciBiYXVkIHJhdGUgY2FsY3VsYXRpb24gLSBkZXZpY2Ugc3BlY2lmaWMgKi8KICNkZWZpbmUJS0VZU1BBTl9JTlZBTElEX0JBVURfUkFURQkJKC0xKQogI2RlZmluZQlLRVlTUEFOX0JBVURfUkFURV9PSwkJCSgwKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fbXByX2Z3LmggYi9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl9tcHJfZncuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjM4ODA1ZS4uMDAwMDAwMAotLS0gYS9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl9tcHJfZncuaAorKysgL2Rldi9udWxsCkBAIC0xLDI4NiArMCwwIEBACi0vKiBrZXlzcGFuX21wcl9mdy5oCi0gCi0JVGhlIGZpcm13YXJlIGNvbnRhaW5lZCBoZXJlaW4gYXMga2V5c3Bhbl9tcHJfZncuaCBpcwotCi0JCUNvcHlyaWdodCAoQykgMTk5OS0yMDAxCi0JCUtleXNwYW4sIEEgZGl2aXNpb24gb2YgSW5ub1N5cyBJbmNvcnBvcmF0ZWQgKCJLZXlzcGFuIikKLQkJCi0JYXMgYW4gdW5wdWJsaXNoZWQgd29yay4gVGhpcyBub3RpY2UgZG9lcyBub3QgaW1wbHkgdW5yZXN0cmljdGVkIG9yCi0JcHVibGljIGFjY2VzcyB0byB0aGUgc291cmNlIGNvZGUgZnJvbSB3aGljaCB0aGlzIGZpcm13YXJlIGltYWdlIGlzCi0JZGVyaXZlZC4gIEV4Y2VwdCBhcyBub3RlZCBiZWxvdyB0aGlzIGZpcm13YXJlIGltYWdlIG1heSBub3QgYmUgCi0JcmVwcm9kdWNlZCwgdXNlZCwgc29sZCBvciB0cmFuc2ZlcnJlZCB0byBhbnkgdGhpcmQgcGFydHkgd2l0aG91dCAKLQlLZXlzcGFuJ3MgcHJpb3Igd3JpdHRlbiBjb25zZW50LiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLQotCVBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQgZm9yIHRoZSBkaXN0cmlidXRpb24gb2YgdGhpcyBmaXJtd2FyZSAKLQlpbWFnZSBhcyBwYXJ0IG9mIGEgTGludXggb3Igb3RoZXIgT3BlbiBTb3VyY2Ugb3BlcmF0aW5nIHN5c3RlbSBrZXJuZWwgCi0JaW4gdGV4dCBvciBiaW5hcnkgZm9ybSBhcyByZXF1aXJlZC4gCi0KLQlUaGlzIGZpcm13YXJlIG1heSBub3QgYmUgbW9kaWZpZWQgYW5kIG1heSBvbmx5IGJlIHVzZWQgd2l0aCAgCi0JS2V5c3BhbiBoYXJkd2FyZS4gIERpc3RyaWJ1dGlvbiBhbmQvb3IgTW9kaWZpY2F0aW9uIG9mIHRoZSAKLQlrZXlzcGFuLmMgZHJpdmVyIHdoaWNoIGluY2x1ZGVzIHRoaXMgZmlybXdhcmUsIGluIHdob2xlIG9yIGluIAotCXBhcnQsIHJlcXVpcmVzIHRoZSBpbmNsdXNpb24gb2YgdGhpcyBzdGF0ZW1lbnQuIgotCi1zdGF0aWMgY2hhciB0aGVGaXJtd2FyZURhdGU1M1tdID0KLQkiMDQvMjYvMjAwMiAgMDI6NDdwICAgICAgICAgICAgICAxMSw1NzAgVVNBNTMiOwotKi8KLQotc3RhdGljIGNvbnN0IHN0cnVjdCBlenVzYl9oZXhfcmVjb3JkIGtleXNwYW5fbXByX2Zpcm13YXJlW10gPSB7Ci0gezB4MDAzMywgIDMsIHsgMHgwMiwgMHgwMCwgMHgxYX19LAotIHsweDAwMWEsICA0LCB7IDB4NTMsIDB4ZDgsIDB4ZWYsIDB4MzJ9fSwKLSB7MHgwMDAzLCAxNiwgeyAweDhlLCAweDU2LCAweDhmLCAweDU3LCAweGU1LCAweDU3LCAweDE1LCAweDU3LCAweGFlLCAweDU2LCAweDcwLCAweDAyLCAweDE1LCAweDU2LCAweDRlLCAweDYwfX0sCi0gezB4MDAxMywgIDcsIHsgMHgwNSwgMHgxMiwgMHgwZiwgMHhhMiwgMHg4MCwgMHhlZSwgMHgyMn19LAotIHsweDAwMjMsICAzLCB7IDB4MDIsIDB4MDAsIDB4NDZ9fSwKLSB7MHgwMDQ2LCAxNiwgeyAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweGMwLCAweGQwLCAweDc1LCAweGQwLCAweDA4fX0sCi0gezB4MDA1NiwgMTYsIHsgMHgzMCwgMHg5OSwgMHgwZSwgMHgzMCwgMHgwYiwgMHgwNywgMHhhMiwgMHgwZSwgMHg5MiwgMHg5YiwgMHg4NSwgMHgzNiwgMHg5OSwgMHhjMiwgMHg5OSwgMHhkMn19LAotIHsweDAwNjYsIDE2LCB7IDB4MTIsIDB4MjAsIDB4MTIsIDB4MDMsIDB4MDIsIDB4MDIsIDB4ZjksIDB4YzIsIDB4MTIsIDB4MzAsIDB4MDMsIDB4MTksIDB4N2UsIDB4N2UsIDB4N2YsIDB4NDB9fSwKLSB7MHgwMDc2LCAxNiwgeyAweDc1LCAweDFhLCAweDdlLCAweDc1LCAweDFiLCAweDQwLCAweDc1LCAweDE3LCAweDAwLCAweDdlLCAweDdkLCAweDdmLCAweGMwLCAweDc1LCAweDE4LCAweDdkfX0sCi0gezB4MDA4NiwgMTYsIHsgMHg3NSwgMHgxOSwgMHhjMCwgMHg4MCwgMHgxNywgMHg3ZSwgMHg3ZCwgMHg3ZiwgMHhjMCwgMHg3NSwgMHgxYSwgMHg3ZCwgMHg3NSwgMHgxYiwgMHhjMCwgMHg3NX19LAotIHsweDAwOTYsIDE2LCB7IDB4MTcsIDB4MDEsIDB4N2UsIDB4N2UsIDB4N2YsIDB4NDAsIDB4NzUsIDB4MTgsIDB4N2UsIDB4NzUsIDB4MTksIDB4NDAsIDB4MjAsIDB4MGIsIDB4MDMsIDB4MDJ9fSwKLSB7MHgwMGE2LCAxNiwgeyAweDAxLCAweDg0LCAweGU1LCAweDNhLCAweGMzLCAweDk1LCAweDUzLCAweDUwLCAweDNjLCAweDIwLCAweDBjLCAweDM0LCAweDIwLCAweDA5LCAweDMxLCAweDkwfX0sCi0gezB4MDBiNiwgMTYsIHsgMHg3ZiwgMHg5YiwgMHhlMCwgMHg1NSwgMHgzOCwgMHg3MCwgMHgyOSwgMHgzMCwgMHgxMCwgMHgxMiwgMHhhZiwgMHgzYSwgMHgwNSwgMHgzYSwgMHhlNSwgMHgxYn19LAotIHsweDAwYzYsIDE2LCB7IDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MWEsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGUsIDB4YWYsIDB4M2EsIDB4MDUsIDB4M2F9fSwKLSB7MHgwMGQ2LCAxNiwgeyAweGU1LCAweDFiLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDFhLCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweDM2LCAweDAyLCAweDAyLCAweGY3fX0sCi0gezB4MDBlNiwgMTYsIHsgMHhjMiwgMHgwYiwgMHgwMiwgMHgwMiwgMHhmNywgMHgzMCwgMHgwMywgMHgxMSwgMHg5MCwgMHg3ZiwgMHhjNywgMHhlNCwgMHhmMCwgMHhhMywgMHhlMCwgMHg1NH19LAotIHsweDAwZjYsIDE2LCB7IDB4MDIsIDB4ZjUsIDB4MWQsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4MWMsIDB4ODAsIDB4MTEsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZTQsIDB4ZjAsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwMDQzLCAgMywgeyAweDAyLCAweDBmLCAweDAwfX0sCi0gezB4MDAwMCwgIDMsIHsgMHgwMiwgMHgwMCwgMHgyNn19LAotIHsweDAwMjYsIDEyLCB7IDB4NzgsIDB4N2YsIDB4ZTQsIDB4ZjYsIDB4ZDgsIDB4ZmQsIDB4NzUsIDB4ODEsIDB4NWEsIDB4MDIsIDB4MGEsIDB4MzN9fSwKLSB7MHgwMTA2LCA2NCwgeyAweGM2LCAweGUwLCAweDU0LCAweDAyLCAweGY1LCAweDFkLCAweGEzLCAweGUwLCAweGY1LCAweDFjLCAweGU1LCAweDE3LCAweDI0LCAweGZmLCAweDkyLCAweDAzLCAweDMwLAotICAweDBkLCAweDBkLCAweGMyLCAweDBkLCAweDkwLCAweDdmLCAweGJiLCAweDc0LCAweDAxLCAweGYwLCAweGMyLCAweDBiLCAweDAyLCAweDAyLCAweGY3LCAweGU1LAotICAweDFkLCAweDYwLCAweDA1LCAweGMyLCAweDBiLCAweDAyLCAweDAyLCAweGY3LCAweDg1LCAweDFjLCAweDUzLCAweDg1LCAweDE5LCAweDgyLCAweDg1LCAweDE4LAotICAweDgzLCAweGUwLCAweDEzLCAweDkyLCAweDBkLCAweDc1LCAweDEyLCAweGZmLCAweDIwLCAweDBjLCAweDNhLCAweDIwLCAweDA5LCAweDM3LCAweDkwfX0sCi0gezB4MDE0NiwgNjQsIHsgMHg3ZiwgMHg5YiwgMHhlMCwgMHg1NSwgMHgzOCwgMHg3MCwgMHgyZiwgMHgzMCwgMHgxMCwgMHgxYywgMHg4NSwgMHgxOSwgMHg4MiwgMHg4NSwgMHgxOCwgMHg4MywgMHhhMywKLSAgMHhlMCwgMHgxMywgMHg5MiwgMHgwZSwgMHg4NSwgMHgxOSwgMHg4MiwgMHg4NSwgMHgxOCwgMHg4MywgMHhhMywgMHhhMywgMHhlMCwgMHhmNSwgMHgzNiwgMHg3NSwKLSAgMHgzYSwgMHgwMywgMHgwMiwgMHgwMiwgMHhmNywgMHg3NSwgMHgzYSwgMHgwMiwgMHg4NSwgMHgxOSwgMHg4MiwgMHg4NSwgMHgxOCwgMHg4MywgMHhhMywgMHhlMCwKLSAgMHhmNSwgMHgzNiwgMHgwMiwgMHgwMiwgMHhmNywgMHg3NSwgMHgzYSwgMHgwMSwgMHhjMiwgMHgwYiwgMHgwMiwgMHgwMiwgMHhmNywgMHgzMCwgMHgwM319LAotIHsweDAxODYsIDY0LCB7IDB4MGUsIDB4OTAsIDB4N2YsIDB4YzYsIDB4ZTAsIDB4NTQsIDB4MDIsIDB4ZjUsIDB4MWQsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4MWMsIDB4ODAsIDB4MGMsIDB4OTAsIDB4N2YsCi0gIDB4YzgsIDB4ZTAsIDB4NTQsIDB4MDIsIDB4ZjUsIDB4MWQsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4MWMsIDB4ZTUsIDB4M2EsIDB4YzMsIDB4OTUsIDB4NTMsIDB4NTAsCi0gIDB4MDMsIDB4MDIsIDB4MDIsIDB4NjgsIDB4ZTUsIDB4MWQsIDB4NjAsIDB4MDcsIDB4YzIsIDB4MTQsIDB4YzIsIDB4MDUsIDB4MDIsIDB4MDIsIDB4ZjcsIDB4ODUsCi0gIDB4MWMsIDB4NTMsIDB4ODUsIDB4MWIsIDB4ODIsIDB4ODUsIDB4MWEsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGQsIDB4NzUsIDB4MTIsIDB4ZmZ9fSwKLSB7MHgwMWM2LCA2NCwgeyAweDMwLCAweDBjLCAweDAzLCAweDAyLCAweDAyLCAweDYwLCAweDMwLCAweDA5LCAweDAzLCAweDAyLCAweDAyLCAweDYwLCAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDU1LAotICAweDM4LCAweDYwLCAweDAzLCAweDAyLCAweDAyLCAweDYwLCAweDMwLCAweDEwLCAweDFiLCAweDg1LCAweDFiLCAweDgyLCAweDg1LCAweDFhLCAweDgzLCAweGEzLAotICAweGUwLCAweDEzLCAweDkyLCAweDliLCAweDg1LCAweDFiLCAweDgyLCAweDg1LCAweDFhLCAweDgzLCAweGEzLCAweGEzLCAweGUwLCAweGY1LCAweDk5LCAweDc1LAotICAweDNhLCAweDAzLCAweDgwLCAweDBkLCAweDg1LCAweDFiLCAweDgyLCAweDg1LCAweDFhLCAweDgzLCAweGEzLCAweGUwLCAweGY1LCAweDk5LCAweDc1fX0sCi0gezB4MDIwNiwgNjQsIHsgMHgzYSwgMHgwMiwgMHhlNSwgMHgzYSwgMHhjMywgMHg5NSwgMHg1MywgMHg0MCwgMHgyNiwgMHgzMCwgMHgwMywgMHgwNywgMHg5MCwgMHg3ZiwgMHhjNywgMHhlNCwgMHhmMCwKLSAgMHg4MCwgMHgwNSwgMHg5MCwgMHg3ZiwgMHhjOSwgMHhlNCwgMHhmMCwgMHhlNSwgMHgxNywgMHgyNCwgMHhmZiwgMHg5MiwgMHgwMywgMHgyMCwgMHgwZCwgMHgwMywKLSAgMHgwMiwgMHgwMiwgMHhmNywgMHhjMiwgMHgwZCwgMHg5MCwgMHg3ZiwgMHhiYiwgMHg3NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwMiwgMHhmNywgMHgzMCwgMHgxMCwKLSAgMHgxMiwgMHhhZiwgMHgzYSwgMHgwNSwgMHgzYSwgMHhlNSwgMHgxYiwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxYSwgMHhmNSwgMHg4M319LAotIHsweDAyNDYsIDY0LCB7IDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGUsIDB4YWYsIDB4M2EsIDB4MDUsIDB4M2EsIDB4ZTUsIDB4MWIsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MWEsIDB4ZjUsCi0gIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4MzYsIDB4ZDIsIDB4MGIsIDB4MDIsIDB4MDIsIDB4ZjcsIDB4NzUsIDB4M2EsIDB4MDEsIDB4YzIsIDB4MTQsIDB4MDIsIDB4MDIsCi0gIDB4ZjcsIDB4MzAsIDB4MGMsIDB4MDMsIDB4MDIsIDB4MDIsIDB4ZjUsIDB4MzAsIDB4MDksIDB4MDMsIDB4MDIsIDB4MDIsIDB4ZjUsIDB4OTAsIDB4N2YsIDB4OWIsCi0gIDB4ZTAsIDB4NTUsIDB4MzgsIDB4NzAsIDB4NzksIDB4MzAsIDB4MTAsIDB4MTIsIDB4YWYsIDB4M2EsIDB4MDUsIDB4M2EsIDB4ZTUsIDB4MWIsIDB4MmZ9fSwKLSB7MHgwMjg2LCA2NCwgeyAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDFhLCAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyLCAweDliLCAweGFmLCAweDNhLCAweDA1LCAweDNhLCAweGU1LCAweDFiLAotICAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDFhLCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweDk5LCAweGU1LCAweDNhLCAweGMzLCAweDk1LCAweDUzLAotICAweDQwLCAweDIyLCAweDMwLCAweDAzLCAweDA3LCAweDkwLCAweDdmLCAweGM3LCAweGU0LCAweGYwLCAweDgwLCAweDA1LCAweDkwLCAweDdmLCAweGM5LCAweGU0LAotICAweGYwLCAweGU1LCAweDE3LCAweDI0LCAweGZmLCAweDkyLCAweDAzLCAweDMwLCAweDBkLCAweDM2LCAweGMyLCAweDBkLCAweDkwLCAweDdmLCAweGJifX0sCi0gezB4MDJjNiwgNjQsIHsgMHg3NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHgyYywgMHgzMCwgMHgxMCwgMHgxMiwgMHhhZiwgMHgzYSwgMHgwNSwgMHgzYSwgMHhlNSwgMHgxYiwgMHgyZiwgMHhmNSwgMHg4MiwKLSAgMHhlNCwgMHgzNSwgMHgxYSwgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwgMHgwZSwgMHhhZiwgMHgzYSwgMHgwNSwgMHgzYSwgMHhlNSwgMHgxYiwgMHgyZiwKLSAgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxYSwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHgzNiwgMHhkMiwgMHgwYiwgMHg4MCwgMHgwMiwgMHhjMiwgMHgxNCwKLSAgMHhkMiwgMHgwMSwgMHgyMCwgMHg5OCwgMHgwMywgMHgwMiwgMHgwNCwgMHgzNSwgMHhjMiwgMHg5OCwgMHgyMCwgMHgwMiwgMHgwMywgMHgwMiwgMHgwM319LAotIHsweDAzMDYsIDY0LCB7IDB4YTIsIDB4MjAsIDB4MTUsIDB4MjcsIDB4YWYsIDB4MzksIDB4MDUsIDB4MzksIDB4NzQsIDB4ODAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsCi0gIDB4ODMsIDB4ZTUsIDB4OTksIDB4ZjAsIDB4MzAsIDB4MTAsIDB4NGQsIDB4YWYsIDB4MzksIDB4MDUsIDB4MzksIDB4NzQsIDB4ODAsIDB4MmYsIDB4ZjUsIDB4ODIsCi0gIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTUsIDB4OTgsIDB4ZjAsIDB4ODAsIDB4M2EsIDB4ODUsIDB4OTksIDB4NTUsIDB4ZTUsIDB4NTUsIDB4YjUsCi0gIDB4NDcsIDB4MDQsIDB4ZDIsIDB4MDksIDB4ODAsIDB4MmUsIDB4ZTUsIDB4NTUsIDB4YjUsIDB4NDYsIDB4MDQsIDB4YzIsIDB4MDksIDB4ODAsIDB4MjV9fSwKLSB7MHgwMzQ2LCA2NCwgeyAweGFmLCAweDM5LCAweDA1LCAweDM5LCAweDc0LCAweDgwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGU1LCAweDU1LCAweGYwLAotICAweDMwLCAweDEwLCAweDExLCAweGFmLCAweDM5LCAweDA1LCAweDM5LCAweDc0LCAweDgwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LAotICAweDgzLCAweGU1LCAweDk4LCAweGYwLCAweGQyLCAweDBmLCAweGU1LCAweDM5LCAweGMzLCAweDk1LCAweDQzLCAweDUwLCAweDAzLCAweDAyLCAweDA0LCAweDMzLAotICAweDkwLCAweDdmLCAweGI4LCAweGUwLCAweDMwLCAweGUxLCAweDE2LCAweGU1LCAweDM5LCAweGMzLCAweDk0LCAweDQwLCAweDUwLCAweDAzLCAweDAyfX0sCi0gezB4MDM4NiwgNjQsIHsgMHgwNCwgMHgzMywgMHgxNSwgMHgzOSwgMHgxNSwgMHgzOSwgMHgwNSwgMHgyYiwgMHg0MywgMHgzNCwgMHgwMSwgMHgwMiwgMHgwNCwgMHgzMywgMHg5MCwgMHg3ZiwgMHhiNywKLSAgMHhlNSwgMHgzOSwgMHhmMCwgMHg3NSwgMHgzOSwgMHgwMCwgMHhjMiwgMHgwMiwgMHgwMiwgMHgwNCwgMHgzMywgMHgyMCwgMHgxNSwgMHgyNywgMHhhZiwgMHgzOSwKLSAgMHgwNSwgMHgzOSwgMHg3NCwgMHgwMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlNSwgMHg5OSwgMHhmMCwgMHgzMCwKLSAgMHgxMCwgMHg0ZCwgMHhhZiwgMHgzOSwgMHgwNSwgMHgzOSwgMHg3NCwgMHgwMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNX19LAotIHsweDAzYzYsIDY0LCB7IDB4ODMsIDB4ZTUsIDB4OTgsIDB4ZjAsIDB4ODAsIDB4M2EsIDB4ODUsIDB4OTksIDB4NTUsIDB4ZTUsIDB4NTUsIDB4YjUsIDB4NDcsIDB4MDQsIDB4ZDIsIDB4MDksIDB4ODAsCi0gIDB4MmUsIDB4ZTUsIDB4NTUsIDB4YjUsIDB4NDYsIDB4MDQsIDB4YzIsIDB4MDksIDB4ODAsIDB4MjUsIDB4YWYsIDB4MzksIDB4MDUsIDB4MzksIDB4NzQsIDB4MDAsCi0gIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTUsIDB4NTUsIDB4ZjAsIDB4MzAsIDB4MTAsIDB4MTEsIDB4YWYsIDB4MzksCi0gIDB4MDUsIDB4MzksIDB4NzQsIDB4MDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTUsIDB4OTgsIDB4ZjB9fSwKLSB7MHgwNDA2LCA2NCwgeyAweGQyLCAweDBmLCAweGU1LCAweDM5LCAweGMzLCAweDk1LCAweDQzLCAweDQwLCAweDI0LCAweDkwLCAweDdmLCAweGI2LCAweGUwLCAweDMwLCAweGUxLCAweDEyLCAweGU1LAotICAweDM5LCAweGMzLCAweDk0LCAweDQwLCAweDQwLCAweDE2LCAweDE1LCAweDM5LCAweDE1LCAweDM5LCAweDA1LCAweDJiLCAweDQzLCAweDM0LCAweDAxLCAweDgwLAotICAweDBiLCAweDkwLCAweDdmLCAweGI5LCAweGU1LCAweDM5LCAweGYwLCAweDc1LCAweDM5LCAweDAwLCAweGQyLCAweDAyLCAweGQyLCAweDAxLCAweDMwLCAweDAxLAotICAweDA1LCAweGMyLCAweDAxLCAweDAyLCAweDAwLCAweDU2LCAweGQwLCAweGQwLCAweGQwLCAweDg2LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwfX0sCi0gezB4MDQ0NiwgNjQsIHsgMHhlMCwgMHgzMiwgMHg5MCwgMHg3ZiwgMHhiYywgMHhlMCwgMHgyMCwgMHhlMSwgMHg1NCwgMHhlNSwgMHgzNCwgMHg2MCwgMHg1MCwgMHhlNSwgMHgzMSwgMHg3MCwgMHg0YywKLSAgMHhlNSwgMHgzNCwgMHgzMCwgMHhlMSwgMHgwYiwgMHhlNCwgMHhmNSwgMHgyZiwgMHg3NSwgMHgzNCwgMHgwMSwgMHg3NSwgMHgzMSwgMHgwMiwgMHg4MCwgMHgwZSwKLSAgMHhhMiwgMHgwOCwgMHhlNCwgMHgzMywgMHhmNSwgMHgyZiwgMHhjMiwgMHgwOCwgMHhlNCwgMHhmNSwgMHgzNCwgMHg3NSwgMHgzMSwgMHgxMCwgMHhlNCwgMHhmNSwKLSAgMHg1NiwgMHg3ZSwgMHgwMCwgMHg3YiwgMHgwMCwgMHg3NCwgMHgyNCwgMHgyNSwgMHg1NiwgMHhmOSwgMHhlZSwgMHgzNCwgMHgwMCwgMHhmYSwgMHgxMn19LAotIHsweDA0ODYsIDY0LCB7IDB4MGMsIDB4NzksIDB4ZmYsIDB4NzQsIDB4MDAsIDB4MjUsIDB4NTYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MDUsCi0gIDB4NTYsIDB4ZTUsIDB4NTYsIDB4YjQsIDB4MGMsIDB4ZGIsIDB4OTAsIDB4N2YsIDB4YmQsIDB4NzQsIDB4MGMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4Y2EsIDB4ZTAsCi0gIDB4MzAsIDB4ZTEsIDB4MDMsIDB4MDIsIDB4MDUsIDB4ZDEsIDB4ZTQsIDB4ZjUsIDB4NTYsIDB4NzQsIDB4NDAsIDB4MjUsIDB4NTYsIDB4ZjUsIDB4ODIsIDB4ZTQsCi0gIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4ZTUsIDB4NTYsIDB4N2MsIDB4MDAsIDB4N2IsIDB4MDAsIDB4MjQsIDB4M2IsIDB4Zjl9fSwKLSB7MHgwNGM2LCA2NCwgeyAweGVjLCAweDM0LCAweDAwLCAweGZhLCAweGVmLCAweDEyLCAweDBjLCAweDkyLCAweDA1LCAweDU2LCAweGU1LCAweDU2LCAweGI0LCAweDE4LCAweGRiLCAweGU1LCAweDNiLAotICAweDYwLCAweDExLCAweDc1LCAweGM5LCAweDIwLCAweDc1LCAweGM4LCAweDM2LCAweDg1LCAweDNjLCAweGNhLCAweDg1LCAweDNkLCAweGNiLCAweGU0LCAweDkwLAotICAweDdmLCAweDlmLCAweGYwLCAweGU1LCAweDNlLCAweDEzLCAweDkyLCAweDEwLCAweDkyLCAweDlmLCAweDg1LCAweDNmLCAweDM4LCAweGU1LCAweDQwLCAweDEzLAotICAweDkyLCAweDE1LCAweGU1LCAweDQxLCAweDYwLCAweDA5LCAweDkwLCAweDdmLCAweDk4LCAweGUwLCAweDU0LCAweGZiLCAweGYwLCAweDgwLCAweDA3fX0sCi0gezB4MDUwNiwgNjQsIHsgMHg5MCwgMHg3ZiwgMHg5OCwgMHhlMCwgMHg0NCwgMHgwNCwgMHhmMCwgMHhlNSwgMHg0MiwgMHg2MCwgMHgwOSwgMHg5MCwgMHg3ZiwgMHg5OCwgMHhlMCwgMHg1NCwgMHg3ZiwKLSAgMHhmMCwgMHg4MCwgMHgwNywgMHg5MCwgMHg3ZiwgMHg5OCwgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHhlNSwgMHg0OCwgMHg2MCwgMHgwYiwgMHhjMiwgMHgwYywKLSAgMHhjMiwgMHgwOSwgMHg5MCwgMHg3ZiwgMHg5NSwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHhlNSwgMHg0OSwgMHg2MCwgMHgwYywgMHhkMiwgMHgwOSwgMHg0MywKLSAgMHgzNCwgMHgwMSwgMHg5MCwgMHg3ZiwgMHg5NSwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHhlNSwgMHg0YSwgMHg2MCwgMHgwZCwgMHhjMiwgMHhhZn19LAotIHsweDA1NDYsIDY0LCB7IDB4YzIsIDB4MGIsIDB4ZDIsIDB4MDAsIDB4ZTQsIDB4ZjUsIDB4NTMsIDB4ZjUsIDB4M2EsIDB4ZDIsIDB4YWYsIDB4ZTUsIDB4NGIsIDB4NjAsIDB4MDUsIDB4MzAsIDB4MTUsCi0gIDB4MDIsIDB4ZDIsIDB4MDksIDB4ZTUsIDB4NGMsIDB4NjAsIDB4MTUsIDB4OTAsIDB4N2YsIDB4OTUsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4ZjAsIDB4OTAsIDB4N2YsCi0gIDB4OWUsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4ZjAsIDB4ZTUsIDB4NGQsIDB4NjAsIDB4MGEsCi0gIDB4ZDIsIDB4OWMsIDB4YzIsIDB4OTgsIDB4NzUsIDB4MmMsIDB4MDEsIDB4NzUsIDB4MzEsIDB4MWUsIDB4ZTUsIDB4NGUsIDB4NjAsIDB4MDcsIDB4YzJ9fSwKLSB7MHgwNTg2LCA2NCwgeyAweDljLCAweGU0LCAweGY1LCAweDM5LCAweGY1LCAweDJjLCAweGU1LCAweDRmLCAweDYwLCAweDAzLCAweGU0LCAweGY1LCAweDM5LCAweGU1LCAweDUwLCAweDYwLCAweDAyLAotICAweGQyLCAweDA3LCAweGU1LCAweDUxLCAweDYwLCAweDBhLCAweGU1LCAweDRkLCAweDcwLCAweDAyLCAweGY1LCAweDMxLCAweGU1LCAweDUxLCAweDQyLCAweDM0LAotICAweGU1LCAweDUyLCAweDYwLCAweDFmLCAweDkwLCAweDdmLCAweGQ3LCAweDc0LCAweDExLCAweGYwLCAweDc0LCAweDMxLCAweGYwLCAweDc0LCAweDEyLCAweGYwLAotICAweDc0LCAweDMyLCAweGYwLCAweDc0LCAweDEzLCAweGYwLCAweDc0LCAweDMzLCAweGYwLCAweDc0LCAweDE0LCAweGYwLCAweDc0LCAweDM0LCAweGYwfX0sCi0gezB4MDVjNiwgNjQsIHsgMHhkMiwgMHgwMywgMHhkMiwgMHgwMiwgMHhkMiwgMHgwOCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjYiwgMHhmMCwgMHhhMiwgMHgwYywgMHhlNCwgMHgzMywgMHhmZiwgMHg2NSwKLSAgMHgyOSwgMHg2MCwgMHgwNSwgMHg4ZiwgMHgyOSwgMHg0MywgMHgzNCwgMHgwMSwgMHhhMiwgMHgwOSwgMHhlNCwgMHgzMywgMHhmZiwgMHg2NSwgMHgyYSwgMHg2MCwKLSAgMHgwNSwgMHg4ZiwgMHgyYSwgMHg0MywgMHgzNCwgMHgwMSwgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHhmZiwgMHg1NCwgMHgwOCwgMHg2NCwgMHgwOCwgMHhmNSwKLSAgMHg1NywgMHg2NSwgMHgyNSwgMHg2MCwgMHgwNiwgMHg4NSwgMHg1NywgMHgyNSwgMHg0MywgMHgzNCwgMHgwMSwgMHhlZiwgMHg1NCwgMHgxMCwgMHg2NH19LAotIHsweDA2MDYsIDY0LCB7IDB4MTAsIDB4ZjUsIDB4NTcsIDB4NjUsIDB4MjYsIDB4NjAsIDB4MDYsIDB4ODUsIDB4NTcsIDB4MjYsIDB4NDMsIDB4MzQsIDB4MDEsIDB4ZWYsIDB4NTQsIDB4NDAsIDB4NjQsCi0gIDB4NDAsIDB4ZjUsIDB4NTcsIDB4NjUsIDB4MjcsIDB4NjAsIDB4MDYsIDB4ODUsIDB4NTcsIDB4MjcsIDB4NDMsIDB4MzQsIDB4MDEsIDB4ZWYsIDB4NTQsIDB4MjAsCi0gIDB4NjQsIDB4MjAsIDB4ZjUsIDB4NTcsIDB4NjUsIDB4MjgsIDB4NjAsIDB4MDYsIDB4ODUsIDB4NTcsIDB4MjgsIDB4NDMsIDB4MzQsIDB4MDEsIDB4OTAsIDB4N2YsCi0gIDB4OWEsIDB4ZTAsIDB4NTQsIDB4NDAsIDB4NjQsIDB4NDAsIDB4ZjUsIDB4NTcsIDB4NjUsIDB4MmUsIDB4NjAsIDB4MDYsIDB4ODUsIDB4NTcsIDB4MmV9fSwKLSB7MHgwNjQ2LCA2NCwgeyAweDQzLCAweDM0LCAweDAxLCAweDMwLCAweDA3LCAweDM1LCAweGMyLCAweGFmLCAweDMwLCAweDAyLCAweDE4LCAweDkwLCAweDdmLCAweGI4LCAweGUwLCAweDIwLCAweGUxLAotICAweDI3LCAweGU1LCAweDM5LCAweDYwLCAweDA5LCAweDkwLCAweDdmLCAweGI3LCAweGYwLCAweGU0LCAweGY1LCAweDM5LCAweGMyLCAweDAyLCAweGMyLCAweDA3LAotICAweDgwLCAweDE2LCAweDkwLCAweDdmLCAweGI2LCAweGUwLCAweDIwLCAweGUxLCAweDBmLCAweGU1LCAweDM5LCAweDYwLCAweDA5LCAweDkwLCAweDdmLCAweGI5LAotICAweGYwLCAweGU0LCAweGY1LCAweDM5LCAweGQyLCAweDAyLCAweGMyLCAweDA3LCAweGQyLCAweGFmLCAweDIwLCAweDA1LCAweDNkLCAweDMwLCAweDAzfX0sCi0gezB4MDY4NiwgNjQsIHsgMHgxZSwgMHg5MCwgMHg3ZiwgMHhjNiwgMHhlMCwgMHgyMCwgMHhlMSwgMHgzMywgMHg5MCwgMHg3ZSwgMHg0MCwgMHhlMCwgMHgxMywgMHg5MiwgMHgwZCwgMHg3NSwgMHgzYSwKLSAgMHgwMSwgMHg5MCwgMHg3ZiwgMHhjNywgMHhlMCwgMHhmNSwgMHg1MywgMHhkMiwgMHgwNSwgMHg3NSwgMHgxMiwgMHhmZiwgMHg4MCwgMHgxYywgMHg5MCwgMHg3ZiwKLSAgMHhjOCwgMHhlMCwgMHgyMCwgMHhlMSwgMHgxNSwgMHg5MCwgMHg3ZCwgMHhjMCwgMHhlMCwgMHgxMywgMHg5MiwgMHgwZCwgMHg3NSwgMHgzYSwgMHgwMSwgMHg5MCwKLSAgMHg3ZiwgMHhjOSwgMHhlMCwgMHhmNSwgMHg1MywgMHhkMiwgMHgwNSwgMHg3NSwgMHgxMiwgMHhmZiwgMHgyMCwgMHgxNCwgMHgzMywgMHgyMCwgMHgwMH19LAotIHsweDA2YzYsIDY0LCB7IDB4MDYsIDB4ZTUsIDB4M2EsIDB4NjUsIDB4NTMsIDB4NzAsIDB4MmEsIDB4MzAsIDB4MDUsIDB4MWEsIDB4MzAsIDB4MDMsIDB4MDksIDB4ZTQsIDB4OTAsIDB4N2YsIDB4YzcsCi0gIDB4ZjAsIDB4YzIsIDB4MDMsIDB4ODAsIDB4MDcsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZjAsIDB4ZDIsIDB4MDMsIDB4YzIsIDB4MDUsIDB4ZTQsIDB4ZjUsCi0gIDB4NTMsIDB4ZjUsIDB4M2EsIDB4MzAsIDB4MGQsIDB4MGEsIDB4YzIsIDB4MGQsIDB4YzIsIDB4MDAsIDB4OTAsIDB4N2YsIDB4YmIsIDB4NzQsIDB4MDEsIDB4ZjAsCi0gIDB4MzAsIDB4MTQsIDB4MDMsIDB4MDIsIDB4MDcsIDB4YmYsIDB4MjAsIDB4MDUsIDB4MDMsIDB4MDIsIDB4MDcsIDB4YmYsIDB4MzAsIDB4MGMsIDB4MDN9fSwKLSB7MHgwNzA2LCA2NCwgeyAweDAyLCAweDA3LCAweGJmLCAweDMwLCAweDA5LCAweDAzLCAweDAyLCAweDA3LCAweGJmLCAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDU1LCAweDM4LCAweDYwLCAweDAzLAotICAweDAyLCAweDA3LCAweGJmLCAweDMwLCAweDAzLCAweDBjLCAweDdlLCAweDdlLCAweDdmLCAweDQwLCAweDc1LCAweDU4LCAweDdlLCAweDc1LCAweDU5LCAweDQwLAotICAweDgwLCAweDBhLCAweDdlLCAweDdkLCAweDdmLCAweGMwLCAweDc1LCAweDU4LCAweDdkLCAweDc1LCAweDU5LCAweGMwLCAweDMwLCAweDEwLCAweDEyLCAweGFmLAotICAweDNhLCAweDA1LCAweDNhLCAweGU1LCAweDU5LCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDU4LCAweGY1LCAweDgzLCAweGUwLCAweDEzfX0sCi0gezB4MDc0NiwgNjQsIHsgMHg5MiwgMHgxYSwgMHhhZiwgMHgzYSwgMHgwNSwgMHgzYSwgMHhlNSwgMHg1OSwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHg1OCwgMHhmNSwgMHg4MywgMHhlMCwKLSAgMHhmNSwgMHg1NywgMHhlNSwgMHgzYSwgMHhjMywgMHg5NSwgMHg1MywgMHg1MCwgMHgyYSwgMHgzMCwgMHgxMCwgMHgxMiwgMHhhZiwgMHgzYSwgMHgwNSwgMHgzYSwKLSAgMHhlNSwgMHg1OSwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHg1OCwgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwgMHgwZSwgMHhhZiwgMHgzYSwKLSAgMHgwNSwgMHgzYSwgMHhlNSwgMHg1OSwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHg1OCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHgzNn19LAotIHsweDA3ODYsIDY0LCB7IDB4ZDIsIDB4MGIsIDB4ODAsIDB4MTUsIDB4YzIsIDB4MGIsIDB4MzAsIDB4MDMsIDB4MDksIDB4ZTQsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZjAsIDB4YzIsIDB4MDMsIDB4ODAsCi0gIDB4MDcsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZjAsIDB4ZDIsIDB4MDMsIDB4MzAsIDB4MTAsIDB4MDQsIDB4YTIsIDB4MWEsIDB4OTIsIDB4OWIsIDB4ZDIsCi0gIDB4MTQsIDB4YzIsIDB4YWYsIDB4ODUsIDB4NTcsIDB4OTksIDB4MjAsIDB4MGIsIDB4MGQsIDB4MzAsIDB4MGQsIDB4MGEsIDB4YzIsIDB4MGQsIDB4YzIsIDB4MDAsCi0gIDB4OTAsIDB4N2YsIDB4YmIsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4ZDIsIDB4YWYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4ZTksIDB4ZTAsIDB4MTIsIDB4MGN9fSwKLSB7MHgwN2M2LCA2NCwgeyAweGE0LCAweDA5LCAweDFjLCAweDAwLCAweDA5LCAweDg5LCAweDAxLCAweDA5LCAweGU2LCAweDAzLCAweDA3LCAweGUzLCAweDA2LCAweDA5LCAweDBkLCAweDA4LCAweDA5LAotICAweDAxLCAweDA5LCAweDA4LCAweGU5LCAweDBhLCAweDA4LCAweGY4LCAweDBiLCAweDAwLCAweDAwLCAweDBhLCAweDI0LCAweDkwLCAweDdmLCAweGViLCAweGUwLAotICAweDI0LCAweGZlLCAweDYwLCAweDFjLCAweDE0LCAweDcwLCAweDAzLCAweDAyLCAweDA4LCAweDc5LCAweDI0LCAweDAyLCAweDYwLCAweDAzLCAweDAyLCAweDBhLAotICAweDI0LCAweDc0LCAweDBkLCAweDkwLCAweDdmLCAweGQ0LCAweGYwLCAweDc0LCAweDg3LCAweDkwLCAweDdmLCAweGQ1LCAweGYwLCAweDAyLCAweDBhfX0sCi0gezB4MDgwNiwgNjQsIHsgMHgyYiwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhiNCwgMHgwMSwgMHgwNCwgMHg3ZiwgMHgwMiwgMHg4MCwgMHgwMiwgMHg3ZiwgMHgwMywgMHg3NSwgMHg4MiwgMHhkOCwKLSAgMHg3NSwgMHg4MywgMHgwZCwgMHhlZiwgMHhmMCwgMHg3NSwgMHg4MiwgMHhkMSwgMHg3NSwgMHg4MywgMHgwZCwgMHhmMCwgMHg3NSwgMHg4MiwgMHhjYSwgMHg3NSwKLSAgMHg4MywgMHgwZCwgMHhmMCwgMHg3NSwgMHg4MiwgMHhjMywgMHg3NSwgMHg4MywgMHgwZCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHgwNCwgMHg3NSwKLSAgMHg4MiwgMHg5ZSwgMHg3NSwgMHg4MywgMHgwZCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlZiwgMHhlMCwgMHhmZSwgMHg5MCwgMHg3ZiwgMHhlZSwgMHhlMH19LAotIHsweDA4NDYsIDY0LCB7IDB4N2MsIDB4MDAsIDB4MjQsIDB4MDAsIDB4ZjUsIDB4NWEsIDB4ZWMsIDB4M2UsIDB4ZjUsIDB4NTksIDB4NzUsIDB4MTUsIDB4MGQsIDB4NzUsIDB4MTYsIDB4OTksIDB4NzUsCi0gIDB4ODIsIDB4OWIsIDB4NzUsIDB4ODMsIDB4MGQsIDB4ZTAsIDB4NzUsIDB4MTMsIDB4MDAsIDB4ZjUsIDB4MTQsIDB4ZDMsIDB4ZTUsIDB4MTQsIDB4OTUsIDB4NWEsCi0gIDB4ZTUsIDB4MTMsIDB4OTUsIDB4NTksIDB4NDAsIDB4MDYsIDB4ODUsIDB4NTksIDB4MTMsIDB4ODUsIDB4NWEsIDB4MTQsIDB4MTIsIDB4MGIsIDB4YmEsIDB4MDIsCi0gIDB4MGEsIDB4MmIsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4NzAsIDB4MGIsIDB4NzUsIDB4NTYsIDB4ZmYsIDB4NzUsIDB4NTcsIDB4MGQsIDB4NzV9fSwKLSB7MHgwODg2LCA2NCwgeyAweDU4LCAweGRjLCAweDgwLCAweDJkLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGI0LCAweDAxLCAweDBiLCAweDc1LCAweDU2LCAweGZmLCAweDc1LCAweDU3LCAweDBkLAotICAweDc1LCAweDU4LCAweGUwLCAweDgwLCAweDFiLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGI0LCAweDAyLCAweDBiLCAweDc1LCAweDU2LCAweGZmLCAweDc1LAotICAweDU3LCAweDBkLCAweDc1LCAweDU4LCAweGYwLCAweDgwLCAweDA5LCAweDc1LCAweDU2LCAweGZmLCAweDc1LCAweDU3LCAweDBlLCAweDc1LCAweDU4LCAweDFlLAotICAweDkwLCAweDdmLCAweGVlLCAweGUwLCAweDc1LCAweDU5LCAweDAwLCAweGY1LCAweDVhLCAweGFlLCAweDU3LCAweGFmLCAweDU4LCAweDhlLCAweDE1fX0sCi0gezB4MDhjNiwgNjQsIHsgMHg4ZiwgMHgxNiwgMHg4ZiwgMHg4MiwgMHg4ZSwgMHg4MywgMHhlMCwgMHhmZSwgMHhhMywgMHhlMCwgMHg4ZSwgMHgxMywgMHhmNSwgMHgxNCwgMHhkMywgMHg5NSwgMHg1YSwKLSAgMHhlNSwgMHgxMywgMHg5NSwgMHg1OSwgMHg0MCwgMHgwNiwgMHg4NSwgMHg1OSwgMHgxMywgMHg4NSwgMHg1YSwgMHgxNCwgMHgxMiwgMHgwYiwgMHhiYSwgMHgwMiwKLSAgMHgwYSwgMHgyYiwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhlNSwgMHgxMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwYSwKLSAgMHgyYiwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhmNSwgMHgxMSwgMHgwMiwgMHgwYSwgMHgyYiwgMHgxMiwgMHgwYywgMHgyNCwgMHg5MCwgMHg3Zn19LAotIHsweDA5MDYsIDY0LCB7IDB4ZWEsIDB4ZTAsIDB4ZjUsIDB4MTAsIDB4MDIsIDB4MGEsIDB4MmIsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZTUsIDB4MTAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsCi0gIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MGEsIDB4MmIsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4N2YsIDB4NjAsIDB4MjcsIDB4MTQsIDB4NjAsIDB4MzQsCi0gIDB4MjQsIDB4MDIsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGEsIDB4MjQsIDB4YTIsIDB4MTYsIDB4ZTQsIDB4MzMsIDB4ZmYsIDB4MjUsIDB4ZTAsIDB4ZmYsIDB4YTIsCi0gIDB4MTgsIDB4ZTQsIDB4MzMsIDB4NGYsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZjAsIDB4ZTQsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzR9fSwKLSB7MHgwOTQ2LCA2NCwgeyAweDAyLCAweGYwLCAweDAyLCAweDBhLCAweDJiLCAweGU0LCAweDkwLCAweDdmLCAweDAwLCAweGYwLCAweGEzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLAotICAweGYwLCAweDAyLCAweDBhLCAweDJiLCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweGZmLAotICAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDI1LCAweGUwLCAweDI0LCAweGI0LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweGUwLAotICAweDU0LCAweGZkLCAweDkwLCAweDdmLCAweDAwLCAweGYwLCAweGU0LCAweGEzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwfX0sCi0gezB4MDk4NiwgNjQsIHsgMHgwMiwgMHgwYSwgMHgyYiwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxNywgMHgyNCwgMHgwMiwgMHg2MCwgMHgwMywgMHgwMiwgMHgwYSwKLSAgMHgyYiwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHg2NCwgMHgwMSwgMHg2MCwgMHgwMywgMHgwMiwgMHgwYSwgMHgyNCwgMHhjMiwgMHgxNiwgMHgwMiwgMHgwYSwKLSAgMHgyYiwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHg3MCwgMHg3NiwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHhmNCwgMHg1NCwgMHg4MCwgMHhmZiwgMHhjNCwKLSAgMHg1NCwgMHgwZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNH19LAotIHsweDA5YzYsIDY0LCB7IDB4N2YsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4MTMsIDB4MTMsIDB4MTMsIDB4NTQsIDB4MWYsCi0gIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4OTAsIDB4N2YsIDB4ZDcsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4MjAsIDB4ZjAsIDB4ODAsIDB4NDUsIDB4OTAsCi0gIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MTAsIDB4MjQsIDB4MDIsIDB4NzAsIDB4MzksIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4NjQsCi0gIDB4MDEsIDB4NzAsIDB4MmEsIDB4ZDIsIDB4MTYsIDB4ODAsIDB4MmQsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4NzAsIDB4MjAsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwYTA2LCA2NCwgeyAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDI1LCAweGUwLCAweDI0LAotICAweGI0LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweDc0LCAweDAxLCAweGYwLCAweDgwLCAweDA3LCAweDkwLCAweDdmLCAweGI0LAotICAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDIyLCAweGMyLCAweDEwLCAweGU0LCAweGY1LAotICAweDEwLCAweGY1LCAweDM0LCAweGMyLCAweDA5LCAweGMyLCAweDBjLCAweGMyLCAweDBiLCAweGMyLCAweDE0LCAweGMyLCAweDBkLCAweGMyLCAweDE1fX0sCi0gezB4MGE0NiwgNjQsIHsgMHhjMiwgMHgxMSwgMHhjMiwgMHgwNywgMHhjMiwgMHgxMiwgMHhjMiwgMHgwZiwgMHhjMiwgMHgwOCwgMHhmNSwgMHgzNSwgMHhmNSwgMHgzOSwgMHhmNSwgMHg1MywgMHhmNSwKLSAgMHgzYSwgMHhmNSwgMHgzMywgMHhmNSwgMHgzMCwgMHhmNSwgMHgyZiwgMHhmNSwgMHgyZSwgMHhmNSwgMHgyZCwgMHhmNSwgMHgyYywgMHhmNSwgMHgyYiwgMHhmNSwKLSAgMHgyYSwgMHhmNSwgMHgyOSwgMHhmNSwgMHgyOCwgMHhmNSwgMHgyNywgMHhmNSwgMHgyNiwgMHhmNSwgMHgyNSwgMHhmNSwgMHgyNCwgMHhjMiwgMHgwNSwgMHhjMiwKLSAgMHgxNywgMHhjMiwgMHgxOSwgMHhjMiwgMHgxNiwgMHhjMiwgMHgxOCwgMHhjMiwgMHgwNCwgMHhkMiwgMHgxMywgMHhjMiwgMHgwNiwgMHhjMiwgMHgwMX19LAotIHsweDBhODYsIDY0LCB7IDB4OTAsIDB4N2YsIDB4OTIsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4ZjAsIDB4ZDIsIDB4ZTgsIDB4NDMsIDB4ZDgsIDB4MjAsIDB4OTAsIDB4N2YsIDB4ZGUsIDB4NzQsIDB4MDEsCi0gIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZGYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YTksIDB4ZjAsIDB4OTAsCi0gIDB4N2YsIDB4YWEsIDB4ZjAsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWYsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWUsCi0gIDB4ZTAsIDB4NDQsIDB4MGYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWMsIDB4NzQsIDB4MGUsIDB4ZjAsIDB4ZDIsIDB4YWYsIDB4ZDIsIDB4YmMsIDB4ZDJ9fSwKLSB7MHgwYWM2LCA2NCwgeyAweDFhLCAweDEyLCAweDBmLCAweDdkLCAweGMyLCAweDE3LCAweDMwLCAweDA0LCAweDAzLCAweDEyLCAweDA0LCAweDQ4LCAweDMwLCAweDA0LCAweDJhLCAweDMwLCAweDA2LAotICAweDI3LCAweGMyLCAweDA2LCAweGU1LCAweDEyLCAweDYwLCAweDE2LCAweDE1LCAweDEyLCAweDkwLCAweDdmLCAweGQ4LCAweGUwLCAweDMwLCAweGU2LCAweDA0LAotICAweDdmLCAweDAwLCAweDgwLCAweDAyLCAweDdmLCAweDIwLCAweDkwLCAweDdmLCAweDk2LCAweGVmLCAweGYwLCAweDgwLCAweDA2LCAweDkwLCAweDdmLCAweDk2LAotICAweDc0LCAweDIwLCAweGYwLCAweDEyLCAweDBiLCAweDE0LCAweDgwLCAweGNkLCAweDMwLCAweDE3LCAweDA3LCAweGMyLCAweDE3LCAweDEyLCAweDA3fX0sCi0gezB4MGIwNiwgNjQsIHsgMHhjMCwgMHg4MCwgMHhjMywgMHgzMCwgMHgxOSwgMHhjMCwgMHhjMiwgMHgxOSwgMHgxMiwgMHgwZSwgMHhkYywgMHg4MCwgMHhiOSwgMHgyMiwgMHhlNSwgMHgzMSwgMHg2MCwKLSAgMHgwMiwgMHgxNSwgMHgzMSwgMHhlNSwgMHgzOSwgMHg2MCwgMHg1NSwgMHg2NSwgMHgzNSwgMHg3MCwgMHg0YiwgMHhlNSwgMHgzMywgMHhmNCwgMHg2MCwgMHgwMiwKLSAgMHgwNSwgMHgzMywgMHhlNSwgMHgzMywgMHhjMywgMHg5NSwgMHg0NCwgMHg0MCwgMHg0MywgMHhjMiwgMHhhZiwgMHgzMCwgMHgwMiwgMHgxYiwgMHg5MCwgMHg3ZiwKLSAgMHhiOCwgMHhlMCwgMHgyMCwgMHhlMSwgMHgyZCwgMHg5MCwgMHg3ZiwgMHhiNywgMHhlNSwgMHgzOSwgMHhmMCwgMHhjMiwgMHgwMiwgMHhlNCwgMHhmNX19LAotIHsweDBiNDYsIDY0LCB7IDB4MzksIDB4ZjUsIDB4MzMsIDB4ZjUsIDB4MzUsIDB4NzUsIDB4MTIsIDB4ZmYsIDB4ODAsIDB4MTksIDB4OTAsIDB4N2YsIDB4YjYsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MTIsCi0gIDB4OTAsIDB4N2YsIDB4YjksIDB4ZTUsIDB4MzksIDB4ZjAsIDB4ZDIsIDB4MDIsIDB4ZTQsIDB4ZjUsIDB4MzksIDB4ZjUsIDB4MzMsIDB4ZjUsIDB4MzUsIDB4NzUsCi0gIDB4MTIsIDB4ZmYsIDB4ZDIsIDB4YWYsIDB4ODAsIDB4MDYsIDB4ODUsIDB4MzksIDB4MzUsIDB4ZTQsIDB4ZjUsIDB4MzMsIDB4ZTUsIDB4MmMsIDB4NjAsIDB4MzAsCi0gIDB4MjAsIDB4MGYsIDB4MDcsIDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4MzAsIDB4ZTAsIDB4MGYsIDB4ZTUsIDB4MmQsIDB4NjAsIDB4MDYsIDB4ZTR9fSwKLSB7MHgwYjg2LCA2NCwgeyAweGY1LCAweDJkLCAweDQzLCAweDM0LCAweDAxLCAweGU0LCAweGY1LCAweDMwLCAweDgwLCAweDE0LCAweGU1LCAweDMwLCAweGQzLCAweDk1LCAweDQ1LCAweDUwLCAweDBkLAotICAweGU1LCAweDMwLCAweGI1LCAweDQ1LCAweDA2LCAweDc1LCAweDJkLCAweDAxLCAweDQzLCAweDM0LCAweDAxLCAweDA1LCAweDMwLCAweGMyLCAweDBmLCAweDIyLAotICAweDkwLCAweDdmLCAweGQ5LCAweGUwLCAweDMwLCAweGUyLCAweDA0LCAweDdmLCAweDAwLCAweDgwLCAweDAyLCAweDdmLCAweDIwLCAweDkwLCAweDdmLCAweDk2LAotICAweGVmLCAweGYwLCAweDIyLCAweGU1LCAweDE0LCAweDQ1LCAweDEzLCAweDYwLCAweDU3LCAweGFlLCAweDEzLCAweGFmLCAweDE0LCAweGQzLCAweGVmfX0sCi0gezB4MGJjNiwgNjQsIHsgMHg5NCwgMHg0MCwgMHhlZSwgMHg5NCwgMHgwMCwgMHg0MCwgMHgwNCwgMHg3ZSwgMHgwMCwgMHg3ZiwgMHg0MCwgMHhjMywgMHhlNSwgMHgxNCwgMHg5ZiwgMHhmNSwgMHgxNCwKLSAgMHhlNSwgMHgxMywgMHg5ZSwgMHhmNSwgMHgxMywgMHhlNCwgMHhmZCwgMHhlZCwgMHhjMywgMHg5ZiwgMHhlNCwgMHg5ZSwgMHg1MCwgMHgxZiwgMHg4NSwgMHgxNiwKLSAgMHg4MiwgMHg4NSwgMHgxNSwgMHg4MywgMHhlMCwgMHhmYywgMHg3NCwgMHgwMCwgMHgyZCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywKLSAgMHhlYywgMHhmMCwgMHgwZCwgMHgwNSwgMHgxNiwgMHhlNSwgMHgxNiwgMHg3MCwgMHgwMiwgMHgwNSwgMHgxNSwgMHg4MCwgMHhkYSwgMHg5MCwgMHg3Zn19LAotIHsweDBjMDYsIDY0LCB7IDB4YTksIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWMsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4ZWYsIDB4ZjAsIDB4MjIsCi0gIDB4OTAsIDB4N2YsIDB4YWMsIDB4ZTAsIDB4NTQsIDB4ZmUsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4YjUsIDB4ZjAsIDB4MjIsIDB4ZTQsIDB4OTAsIDB4N2YsCi0gIDB4OTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWMsIDB4NzQsIDB4MzAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTYsIDB4NzQsIDB4MjAsIDB4ZjAsIDB4OTAsIDB4N2YsCi0gIDB4OTQsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWQsIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTcsIDB4NzQsIDB4ODZ9fSwKLSB7MHgwYzQ2LCA2NCwgeyAweGYwLCAweDkwLCAweDdmLCAweDk1LCAweDc0LCAweDAzLCAweGYwLCAweDkwLCAweDdmLCAweDllLCAweDc0LCAweDg0LCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweGYwLAotICAweGU0LCAweDkwLCAweDdmLCAweGM3LCAweGYwLCAweDkwLCAweDdmLCAweGM5LCAweGYwLCAweDkwLCAweDdmLCAweGNiLCAweGYwLCAweDc1LCAweDk4LCAweDQwLAotICAweDQzLCAweGE4LCAweDEwLCAweDkwLCAweDdmLCAweGRlLCAweDc0LCAweDFmLCAweGYwLCAweDkwLCAweDdmLCAweGRmLCAweDc0LCAweDBmLCAweGYwLCAweGQyLAotICAweDA0LCAweDIyLCAweGJiLCAweDAxLCAweDA2LCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGUwLCAweDIyLCAweDUwLCAweDAyLCAweGU3LCAweDIyfX0sCi0gezB4MGM4NiwgNjQsIHsgMHhiYiwgMHhmZSwgMHgwMiwgMHhlMywgMHgyMiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlNCwgMHg5MywgMHgyMiwgMHhiYiwgMHgwMSwgMHgwNiwgMHg4OSwgMHg4MiwKLSAgMHg4YSwgMHg4MywgMHhmMCwgMHgyMiwgMHg1MCwgMHgwMiwgMHhmNywgMHgyMiwgMHhiYiwgMHhmZSwgMHgwMSwgMHhmMywgMHgyMiwgMHhkMCwgMHg4MywgMHhkMCwKLSAgMHg4MiwgMHhmOCwgMHhlNCwgMHg5MywgMHg3MCwgMHgxMiwgMHg3NCwgMHgwMSwgMHg5MywgMHg3MCwgMHgwZCwgMHhhMywgMHhhMywgMHg5MywgMHhmOCwgMHg3NCwKLSAgMHgwMSwgMHg5MywgMHhmNSwgMHg4MiwgMHg4OCwgMHg4MywgMHhlNCwgMHg3MywgMHg3NCwgMHgwMiwgMHg5MywgMHg2OCwgMHg2MCwgMHhlZiwgMHhhM319LAotIHsweDBjYzYsIDY0LCB7IDB4YTMsIDB4YTMsIDB4ODAsIDB4ZGYsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTUsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTMsIDB4ZjAsCi0gIDB4OTAsIDB4N2YsIDB4OWQsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTcsIDB4ZTAsIDB4NDQsIDB4NDIsIDB4ZjAsIDB4OTAsIDB4N2YsCi0gIDB4OWMsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWQsIDB4NzQsIDB4YmUsIDB4ZjAsIDB4MzAsCi0gIDB4MTYsIDB4MDQsIDB4N2YsIDB4ODAsIDB4ODAsIDB4MDIsIDB4N2YsIDB4MDAsIDB4OTAsIDB4N2YsIDB4OTcsIDB4ZWYsIDB4ZjAsIDB4ZTQsIDB4OTB9fSwKLSB7MHgwZDA2LCA2NCwgeyAweDdmLCAweDk1LCAweGYwLCAweDkwLCAweDdmLCAweDllLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweGYwLCAweDIyLCAweGMwLCAweGUwLCAweGMwLCAweGYwLCAweGMwLAotICAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweGMwLCAweGQwLCAweDc1LCAweGQwLAotICAweDA4LCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGE5LCAweDc0LCAweDAxLCAweGYwLCAweDEyLCAweDBiLCAweGJhLCAweGQwLCAweGQwLCAweGQwLAotICAweDg2LCAweGQwLCAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGYwLCAweGQwLCAweGUwLCAweDMyLCAweGMwfX0sCi0gezB4MGQ0NiwgNjQsIHsgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHg5MCwgMHg3ZiwgMHhjNCwKLSAgMHhlNCwgMHhmMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwNCwgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwKLSAgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDBkODYsIDY0LCB7IDB4MDAsIDB4MTIsIDB4MDEsIDB4MTAsIDB4MDEsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4NDAsIDB4Y2QsIDB4MDYsIDB4MWMsIDB4MDEsIDB4MDEsIDB4MDAsIDB4MDEsIDB4MDIsCi0gIDB4MDAsIDB4MDIsIDB4MDksIDB4MDIsIDB4NDMsIDB4MDAsIDB4MDEsIDB4MDEsIDB4MDAsIDB4ODAsIDB4MzIsIDB4MDksIDB4MDQsIDB4MDAsIDB4MDAsIDB4MDcsCi0gIDB4ZmYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDEsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDIsIDB4MDIsIDB4NDAsCi0gIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDMsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4ODEsIDB4MDIsIDB4NDAsIDB4MDB9fSwKLSB7MHgwZGM2LCA2NCwgeyAweDAxLCAweDA3LCAweDA1LCAweDgyLCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDgzLCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LAotICAweDg0LCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA0LCAweDAzLCAweDA5LCAweDA0LCAweDEwLCAweDAzLCAweDRiLCAweDAwLCAweDY1LCAweDAwLCAweDc5LAotICAweDAwLCAweDczLCAweDAwLCAweDcwLCAweDAwLCAweDYxLCAweDAwLCAweDZlLCAweDAwLCAweDJlLCAweDAzLCAweDRiLCAweDAwLCAweDY1LCAweDAwLCAweDc5LAotICAweDAwLCAweDczLCAweDAwLCAweDcwLCAweDAwLCAweDYxLCAweDAwLCAweDZlLCAweDAwLCAweDIwLCAweDAwLCAweDU1LCAweDAwLCAweDUwLCAweDAwfX0sCi0gezB4MGUwNiwgNjQsIHsgMHg1MywgMHgwMCwgMHg0OCwgMHgwMCwgMHgzMSwgMHgwMCwgMHgzMSwgMHgwMCwgMHgzMiwgMHgwMCwgMHgyZCwgMHgwMCwgMHg1MywgMHgwMCwgMHg2NSwgMHgwMCwgMHg3MiwKLSAgMHgwMCwgMHg2OSwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2YywgMHgwMCwgMHgyMiwgMHgwMywgMHg1NSwgMHgwMCwgMHg1MywgMHgwMCwgMHg0MSwgMHgwMCwgMHgyZCwKLSAgMHgwMCwgMHgzNSwgMHgwMCwgMHgzMywgMHgwMCwgMHgyMCwgMHgwMCwgMHgzMiwgMHgwMCwgMHgzMCwgMHgwMCwgMHgzMCwgMHgwMCwgMHgzMiwgMHgwMCwgMHg2MSwKLSAgMHgwMCwgMHg3MCwgMHgwMCwgMHg3MiwgMHgwMCwgMHgzMiwgMHgwMCwgMHgzNiwgMHgwMCwgMHgwMCwgMHgwMCwgMHhjMCwgMHhlMCwgMHhjMCwgMHg4M319LAotIHsweDBlNDYsIDY0LCB7IDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsCi0gIDB4NzQsIDB4MDIsIDB4ZjAsIDB4ZDIsIDB4MDYsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsCi0gIDB4ZTAsIDB4MzIsIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsCi0gIDB4MDAsIDB4ZDIsIDB4MTcsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDB9fSwKLSB7MHgwZTg2LCA2NCwgeyAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyLCAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLAotICAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweGQyLCAweDE5LCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLAotICAweDc0LCAweDA4LCAweGYwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyLAotICAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwfX0sCi0gezB4MGVjNiwgNjQsIHsgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhOSwgMHg3NCwgMHgwMiwgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwKLSAgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwgMHgxMiwgMHgwYywgMHhjYSwgMHgxMiwgMHgwZiwgMHhiMywgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHgzMCwKLSAgMHhlNywgMHgxMiwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg3ZiwgMHgwZCwgMHg3ZSwgMHgwMCwgMHgxMiwgMHgwMCwgMHgwMywgMHg5MCwgMHg3ZiwgMHhkNiwKLSAgMHhlMCwgMHg1NCwgMHhmZSwgMHhmMCwgMHgxMiwgMHgwYywgMHgyNCwgMHgyMiwgMHgwMCwgMHgwMiwgMHgwZSwgMHg2OSwgMHgwMCwgMHgwMiwgMHgwZX19LAotIHsweDBmMDYsIDY0LCB7IDB4NDIsIDB4MDAsIDB4MDIsIDB4MGQsIDB4NDUsIDB4MDAsIDB4MDIsIDB4MGUsIDB4OTAsIDB4MDAsIDB4MDIsIDB4MGYsIDB4MTAsIDB4MDAsIDB4MDIsIDB4MGYsIDB4MTQsCi0gIDB4MDAsIDB4MDIsIDB4MGQsIDB4MTIsIDB4MDAsIDB4MDIsIDB4MGYsIDB4MWMsIDB4MDAsIDB4MDIsIDB4MGUsIDB4YjcsIDB4MDAsIDB4MDIsIDB4MGYsIDB4MjQsCi0gIDB4MDAsIDB4MDIsIDB4MGYsIDB4MzMsIDB4MDAsIDB4MDIsIDB4MGYsIDB4MmMsIDB4MDAsIDB4MDIsIDB4MGYsIDB4NTgsIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsCi0gIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTB9fSwKLSB7MHgwZjQ2LCA2NCwgeyAweDdmLCAweGE5LCAweDc0LCAweDA0LCAweGYwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLAotICAweDMyLCAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLAotICAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGE5LCAweDc0LCAweDA4LCAweGYwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LCAweGQwLCAweDg1LCAweGQwLAotICAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyLCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDU0LCAweGZiLCAweGYwLCAweGUwLCAweDQ0fX0sCi0gezB4MGY4NiwgNjEsIHsgMHgwOCwgMHhmMCwgMHgzMCwgMHgxYSwgMHgwNCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHg3ZiwgMHhmNCwgMHg3ZSwgMHgwMSwgMHgxMiwgMHgwMCwgMHgwMywgMHg5MCwKLSAgMHg3ZiwgMHhkNiwgMHhlMCwgMHg1NCwgMHhmNywgMHhmMCwgMHhlMCwgMHg0NCwgMHgwNCwgMHhmMCwgMHgyMiwgMHg3NCwgMHgwMCwgMHhmNSwgMHg4NiwgMHg5MCwKLSAgMHhmZCwgMHhhNSwgMHg3YywgMHgwNSwgMHhhMywgMHhlNSwgMHg4MiwgMHg0NSwgMHg4MywgMHg3MCwgMHhmOSwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwKLSAgMHg0NCwgMHg4MCwgMHhmMCwgMHg0MywgMHg4NywgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgyMn19LAotIHsweGZmZmYsCTAsCXsweDAwfX0KLX07Ci0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3BkYS5jIGIvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fcGRhLmMKaW5kZXggZmY1NDIwMy4uNjQ0YTFlYSAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fcGRhLmMKKysrIGIvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fcGRhLmMKQEAgLTc2LDE4ICs3NiwxNCBAQAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvd29ya3F1ZXVlLmg+CisjaW5jbHVkZSA8bGludXgvZmlybXdhcmUuaD4KKyNpbmNsdWRlIDxsaW51eC9paGV4Lmg+CiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KICNpbmNsdWRlIDxsaW51eC91c2IuaD4KICNpbmNsdWRlIDxsaW51eC91c2Ivc2VyaWFsLmg+CiAKIHN0YXRpYyBpbnQgZGVidWc7CiAKLXN0cnVjdCBlenVzYl9oZXhfcmVjb3JkIHsKLQlfX3UxNiBhZGRyZXNzOwotCV9fdTggZGF0YV9zaXplOwotCV9fdTggZGF0YVsxNl07Ci19OwotCiAvKiBtYWtlIGEgc2ltcGxlIGRlZmluZSB0byBoYW5kbGUgaWYgd2UgYXJlIGNvbXBpbGluZyBrZXlzcGFuX3BkYSBvciB4aXJjb20gc3VwcG9ydCAqLwogI2lmIGRlZmluZWQoQ09ORklHX1VTQl9TRVJJQUxfS0VZU1BBTl9QREEpIHx8IGRlZmluZWQoQ09ORklHX1VTQl9TRVJJQUxfS0VZU1BBTl9QREFfTU9EVUxFKQogCSNkZWZpbmUgS0VZU1BBTgpAQCAtMTAwLDE0ICs5Niw2IEBACiAJI3VuZGVmIFhJUkNPTQogI2VuZGlmCiAKLSNpZmRlZiBLRVlTUEFOCi0jaW5jbHVkZSAia2V5c3Bhbl9wZGFfZncuaCIKLSNlbmRpZgotCi0jaWZkZWYgWElSQ09NCi0jaW5jbHVkZSAieGlyY29tX3Bnc19mdy5oIgotI2VuZGlmCi0KIC8qCiAgKiBWZXJzaW9uIEluZm9ybWF0aW9uCiAgKi8KQEAgLTcyMiwzOCArNzEwLDQ3IEBACiBzdGF0aWMgaW50IGtleXNwYW5fcGRhX2Zha2Vfc3RhcnR1cCAoc3RydWN0IHVzYl9zZXJpYWwgKnNlcmlhbCkKIHsKIAlpbnQgcmVzcG9uc2U7Ci0JY29uc3Qgc3RydWN0IGV6dXNiX2hleF9yZWNvcmQgKnJlY29yZCA9IE5VTEw7CisJY29uc3QgY2hhciAqZndfbmFtZTsKKwljb25zdCBzdHJ1Y3QgaWhleF9iaW5yZWMgKnJlY29yZDsKKwljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3OwogCiAJLyogZG93bmxvYWQgdGhlIGZpcm13YXJlIGhlcmUgLi4uICovCiAJcmVzcG9uc2UgPSBlenVzYl9zZXRfcmVzZXQoc2VyaWFsLCAxKTsKIAorCWlmICgwKSB7IDsgfQogI2lmZGVmIEtFWVNQQU4KLQlpZiAobGUxNl90b19jcHUoc2VyaWFsLT5kZXYtPmRlc2NyaXB0b3IuaWRWZW5kb3IpID09IEtFWVNQQU5fVkVORE9SX0lEKQotCQlyZWNvcmQgPSAma2V5c3Bhbl9wZGFfZmlybXdhcmVbMF07CisJZWxzZSBpZiAobGUxNl90b19jcHUoc2VyaWFsLT5kZXYtPmRlc2NyaXB0b3IuaWRWZW5kb3IpID09IEtFWVNQQU5fVkVORE9SX0lEKQorCQlmd19uYW1lID0gImtleXNwYW5fcGRhL2tleXNwYW5fcGRhLmZ3IjsKICNlbmRpZgogI2lmZGVmIFhJUkNPTQotCWlmICgobGUxNl90b19jcHUoc2VyaWFsLT5kZXYtPmRlc2NyaXB0b3IuaWRWZW5kb3IpID09IFhJUkNPTV9WRU5ET1JfSUQpIHx8Ci0JICAgIChsZTE2X3RvX2NwdShzZXJpYWwtPmRldi0+ZGVzY3JpcHRvci5pZFZlbmRvcikgPT0gRU5UUkVHUkFfVkVORE9SX0lEKSkKLQkJcmVjb3JkID0gJnhpcmNvbV9wZ3NfZmlybXdhcmVbMF07CisJZWxzZSBpZiAoKGxlMTZfdG9fY3B1KHNlcmlhbC0+ZGV2LT5kZXNjcmlwdG9yLmlkVmVuZG9yKSA9PSBYSVJDT01fVkVORE9SX0lEKSB8fAorCQkgKGxlMTZfdG9fY3B1KHNlcmlhbC0+ZGV2LT5kZXNjcmlwdG9yLmlkVmVuZG9yKSA9PSBFTlRSRUdSQV9WRU5ET1JfSUQpKQorCQlmd19uYW1lID0gImtleXNwYW5fcGRhL3hpcmNvbV9wZ3MuZnciOwogI2VuZGlmCi0JaWYgKHJlY29yZCA9PSBOVUxMKSB7CisJZWxzZSB7CiAJCWVycigiJXM6IHVua25vd24gdmVuZG9yLCBhYm9ydGluZy4iLCBfX2Z1bmNfXyk7CiAJCXJldHVybiAtRU5PREVWOwogCX0KKwlpZiAocmVxdWVzdF9paGV4X2Zpcm13YXJlKCZmdywgZndfbmFtZSwgJnNlcmlhbC0+ZGV2LT5kZXYpKSB7CisJCWVycigiZmFpbGVkIHRvIGxvYWQgZmlybXdhcmUgXCIlc1wiXG4iLCBmd19uYW1lKTsKKwkJcmV0dXJuIC1FTk9FTlQ7CisJfQorCXJlY29yZCA9IChjb25zdCBzdHJ1Y3QgaWhleF9iaW5yZWMgKilmdy0+ZGF0YTsKIAotCXdoaWxlKHJlY29yZC0+YWRkcmVzcyAhPSAweGZmZmYpIHsKLQkJcmVzcG9uc2UgPSBlenVzYl93cml0ZW1lbW9yeShzZXJpYWwsIHJlY29yZC0+YWRkcmVzcywKKwl3aGlsZSAocmVjb3JkKSB7CisJCXJlc3BvbnNlID0gZXp1c2Jfd3JpdGVtZW1vcnkoc2VyaWFsLCBiZTMyX3RvX2NwdShyZWNvcmQtPmFkZHIpLAogCQkJCQkgICAgICh1bnNpZ25lZCBjaGFyICopcmVjb3JkLT5kYXRhLAotCQkJCQkgICAgIHJlY29yZC0+ZGF0YV9zaXplLCAweGEwKTsKKwkJCQkJICAgICBiZTE2X3RvX2NwdShyZWNvcmQtPmxlbiksIDB4YTApOwogCQlpZiAocmVzcG9uc2UgPCAwKSB7CiAJCQllcnIoImV6dXNiX3dyaXRlbWVtb3J5IGZhaWxlZCBmb3IgS2V5c3BhbiBQREEgIgogCQkJICAgICJmaXJtd2FyZSAoJWQgJTA0WCAlcCAlZCkiLAotCQkJICAgIHJlc3BvbnNlLCAKLQkJCSAgICByZWNvcmQtPmFkZHJlc3MsIHJlY29yZC0+ZGF0YSwgcmVjb3JkLT5kYXRhX3NpemUpOworCQkJICAgIHJlc3BvbnNlLCBiZTMyX3RvX2NwdShyZWNvcmQtPmFkZHIpLAorCQkJICAgIHJlY29yZC0+ZGF0YSwgYmUxNl90b19jcHUocmVjb3JkLT5sZW4pKTsKIAkJCWJyZWFrOwogCQl9Ci0JCXJlY29yZCsrOworCQlyZWNvcmQgPSBpaGV4X25leHRfYmlucmVjKHJlY29yZCk7CiAJfQorCXJlbGVhc2VfZmlybXdhcmUoZncpOwogCS8qIGJyaW5nIGRldmljZSBvdXQgb2YgcmVzZXQuIFJlbnVtZXJhdGlvbiB3aWxsIG9jY3VyIGluIGEgbW9tZW50CiAJICAgYW5kIHRoZSBuZXcgZGV2aWNlIHdpbGwgYmluZCB0byB0aGUgcmVhbCBkcml2ZXIgKi8KIAlyZXNwb25zZSA9IGV6dXNiX3NldF9yZXNldChzZXJpYWwsIDApOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fcGRhX2Z3LmggYi9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl9wZGFfZncuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjI1M2FjYy4uMDAwMDAwMAotLS0gYS9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl9wZGFfZncuaAorKysgL2Rldi9udWxsCkBAIC0xLDk5ICswLDAgQEAKLS8qCi0gKiBVU0IgS2V5c3BhbiBQREEgRmlybXdhcmUKLSAqCi0gKiBDb3B5cmlnaHQgKEMpIDE5OTksIDIwMDAgQnJpYW4gV2FybmVyCTx3YXJuZXJAbG90aGFyLmNvbT4KLSAqCi0gKglUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotICoJaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSAqCXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCi0gKgkoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIEdlbmVyYXRlZCBmcm9tIGtleXNwYW5fcGRhLnMgYnkgZXp1c2JfY29udmVydC5wbAotICoKLSAqLwotCi1zdGF0aWMgY29uc3Qgc3RydWN0IGV6dXNiX2hleF9yZWNvcmQga2V5c3Bhbl9wZGFfZmlybXdhcmVbXSA9IHsKLXsgMHgwMDAwLAkzLAl7MHgwMiwgMHgwMiwgMHgwMH0gfSwKLXsgMHgwMDIzLAk0LAl7MHgwMiwgMHgwNSwgMHg1ZiwgMHgwMH0gfSwKLXsgMHgwMDQzLAk0LAl7MHgwMiwgMHgwMSwgMHgwMCwgMHgwMH0gfSwKLXsgMHgwMDMwLAk1LAl7MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH0gfSwKLXsgMHgwMTAwLAkxNiwJezB4MDIsIDB4MDIsIDB4OTYsIDB4MDAsIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDB9IH0sCi17IDB4MDExMCwJMTYsCXsweDAyLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDAwLCAweDAwLCAweDAwfSB9LAoteyAweDAxMjAsCTE2LAl7MHgwMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwNCwgMHg2MSwgMHgwMCwgMHgwMiwgMHgwNCwgMHg4OSwgMHgwMH0gfSwKLXsgMHgwMjAwLAkxNiwJezB4NzUsIDB4ODEsIDB4NWUsIDB4ZTQsIDB4ZjUsIDB4MzIsIDB4ZjUsIDB4MzMsIDB4ZjUsIDB4MzAsIDB4ZjUsIDB4MzEsIDB4ZjUsIDB4MzQsIDB4YzIsIDB4MDB9IH0sCi17IDB4MDIxMCwJMTYsCXsweGMyLCAweDAxLCAweGE5LCAweDAwLCAweDc0LCAweGZlLCAweDkwLCAweDEwLCAweDAwLCAweGYwLCAweGEzLCAweGQ5LCAweGZjLCAweDc0LCAweGZkLCAweDkwfSB9LAoteyAweDAyMjAsCTE2LAl7MHgxMSwgMHgwMCwgMHhmMCwgMHhhMywgMHhkOSwgMHhmYywgMHg3NCwgMHgwMiwgMHg5MCwgMHg3ZiwgMHg5ZCwgMHhmMCwgMHg3NCwgMHgwMCwgMHg5MCwgMHg3Zn0gfSwKLXsgMHgwMjMwLAkxNiwJezB4OTcsIDB4ZjAsIDB4NzQsIDB4ODYsIDB4OTAsIDB4N2YsIDB4OWUsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTUsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4OTAsIDB4N2Z9IH0sCi17IDB4MDI0MCwJMTYsCXsweGFmLCAweGUwLCAweGQyLCAweGUwLCAweGYwLCAweDc0LCAweDAxLCAweDkwLCAweDdmLCAweGFiLCAweGYwLCAweDkwLCAweDdmLCAweGFlLCAweGYwLCAweDkwfSB9LAoteyAweDAyNTAsCTE2LAl7MHg3ZiwgMHhhYywgMHg3NCwgMHgwNCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhZCwgMHg3NCwgMHgwNCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhjOSwgMHhmMCwgMHg3NH0gfSwKLXsgMHgwMjYwLAkxNiwJezB4ODQsIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZjAsIDB4NzQsIDB4MDAsIDB4ZjUsIDB4OTgsIDB4NzUsIDB4YzgsIDB4MzAsIDB4N2IsIDB4MDUsIDB4OTEsIDB4MjB9IH0sCi17IDB4MDI3MCwJMTYsCXsweGQyLCAweGNhLCAweDc1LCAweDk4LCAweDUwLCAweGQyLCAweGU4LCAweGQyLCAweGFmLCAweGQyLCAweGFjLCAweDc0LCAweDAwLCAweGY1LCAweDg2LCAweDkwfSB9LAoteyAweDAyODAsCTE2LAl7MHg3ZiwgMHhkNiwgMHg3NCwgMHgwMiwgMHhmMCwgMHg3OSwgMHgyZSwgMHg3YSwgMHgwMCwgMHg3YiwgMHgwMCwgMHhkYiwgMHhmZSwgMHhkYSwgMHhmYSwgMHhkOX0gfSwKLXsgMHgwMjkwLAkxNiwJezB4ZjYsIDB4NzQsIDB4MDYsIDB4ZjAsIDB4ODAsIDB4ZmUsIDB4YzAsIDB4ODYsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODV9IH0sCi17IDB4MDJhMCwJMTYsCXsweGMwLCAweGUwLCAweGU1LCAweDkxLCAweGMyLCAweGU0LCAweGY1LCAweDkxLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmfSB9LAoteyAweDAyYjAsCTE2LAl7MHhlOCwgMHhlMCwgMHhmOSwgMHhhMywgMHhlMCwgMHhmYSwgMHhhMywgMHhlMCwgMHhmYiwgMHhhMywgMHhlMCwgMHhmYywgMHhlOSwgMHg1NCwgMHg2MCwgMHhiNH0gfSwKLXsgMHgwMmMwLAkxNiwJezB4MDAsIDB4MDMsIDB4MDIsIDB4MDMsIDB4MzksIDB4YjQsIDB4NDAsIDB4NmUsIDB4YmEsIDB4MDAsIDB4MGIsIDB4MTIsIDB4MDQsIDB4MjAsIDB4NDAsIDB4MDN9IH0sCi17IDB4MDJkMCwJMTYsCXsweDAyLCAweDA0LCAweDAyLCAweDAyLCAweDA0LCAweDBhLCAweGJhLCAweDAxLCAweDAzLCAweDAyLCAweDA0LCAweDBhLCAweGJhLCAweDAyLCAweDAzLCAweDAyfSB9LAoteyAweDAyZTAsCTE2LAl7MHgwNCwgMHgwYSwgMHhiYSwgMHgwMywgMHgwMywgMHgwMiwgMHgwNCwgMHg0NCwgMHhiYSwgMHgwNCwgMHgxZSwgMHhiYiwgMHgwMCwgMHgwYSwgMHg5MCwgMHg3Zn0gfSwKLXsgMHgwMmYwLAkxNiwJezB4OTUsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MDQsIDB4MDIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4ZjAsIDB4OTB9IH0sCi17IDB4MDMwMCwJMTYsCXsweDdmLCAweDk1LCAweGUwLCAweDU0LCAweGZkLCAweGYwLCAweDAyLCAweDA0LCAweDAyLCAweGJhLCAweDA1LCAweDAzLCAweDAyLCAweDA0LCAweDBhLCAweGJhfSB9LAoteyAweDAzMTAsCTE2LAl7MHgwNiwgMHgxOSwgMHhiYiwgMHgwMCwgMHgwOCwgMHhlNSwgMHgzMywgMHhkMywgMHg5NSwgMHgzMiwgMHgwMiwgMHgwMywgMHhkZSwgMHhiYiwgMHgwMSwgMHgwOH0gfSwKLXsgMHgwMzIwLAkxNiwJezB4ZTUsIDB4MzIsIDB4YzMsIDB4OTUsIDB4MzMsIDB4MDIsIDB4MDMsIDB4ZGUsIDB4MDIsIDB4MDQsIDB4MGEsIDB4YmEsIDB4MDcsIDB4MDUsIDB4OGIsIDB4MzR9IH0sCi17IDB4MDMzMCwJMTYsCXsweDAyLCAweDA0LCAweDAyLCAweDAyLCAweDA0LCAweDBhLCAweDAyLCAweDA0LCAweDBhLCAweGJhLCAweDAwLCAweDIwLCAweGI5LCAweDgwLCAweDEwLCAweDkwfSB9LAoteyAweDAzNDAsCTE2LAl7MHg3ZiwgMHgwMCwgMHhlNCwgMHhmMCwgMHhhMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwNCwgMHgwMiwgMHhiOX0gfSwKLXsgMHgwMzUwLAkxNiwJezB4ODIsIDB4MDIsIDB4ODAsIDB4ZWIsIDB4YjksIDB4ODEsIDB4MDIsIDB4ODAsIDB4ZTYsIDB4MDIsIDB4MDQsIDB4MGEsIDB4YmEsIDB4MDEsIDB4MGYsIDB4YmJ9IH0sCi17IDB4MDM2MCwJMTYsCXsweDAwLCAweDAzLCAweDAyLCAweDA0LCAweDBhLCAweGJiLCAweDAxLCAweDAzLCAweDAyLCAweDA0LCAweDAyLCAweDAyLCAweDA0LCAweDBhLCAweGJhLCAweDAzfSB9LAoteyAweDAzNzAsCTE2LAl7MHgwZiwgMHhiYiwgMHgwMCwgMHgwMywgMHgwMiwgMHgwNCwgMHgwYSwgMHhiYiwgMHgwMSwgMHgwMywgMHgwMiwgMHgwNCwgMHgwMiwgMHgwMiwgMHgwNCwgMHgwYX0gfSwKLXsgMHgwMzgwLAkxNiwJezB4YmEsIDB4MDYsIDB4NTYsIDB4YmMsIDB4MDEsIDB4MGYsIDB4OTAsIDB4N2YsIDB4ZDQsIDB4NzQsIDB4MDYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZDUsIDB4NzR9IH0sCi17IDB4MDM5MCwJMTYsCXsweDEyLCAweGYwLCAweDAyLCAweDA0LCAweDAyLCAweGJjLCAweDAyLCAweDEyLCAweGJiLCAweDAwLCAweDZmLCAweDkwLCAweDdmLCAweGQ0LCAweDc0LCAweDA2fSB9LAoteyAweDAzYTAsCTE2LAl7MHhmMCwgMHg5MCwgMHg3ZiwgMHhkNSwgMHg3NCwgMHgyNCwgMHhmMCwgMHgwMiwgMHgwNCwgMHgwMiwgMHhiYywgMHgwMywgMHgyOSwgMHg3NCwgMHgwNCwgMHhjM30gfSwKLXsgMHgwM2IwLAkxNiwJezB4OWIsIDB4NDAsIDB4NTcsIDB4NjAsIDB4NTUsIDB4ZWIsIDB4MmIsIDB4OTAsIDB4MDYsIDB4NDQsIDB4MjUsIDB4ODIsIDB4ZjUsIDB4ODIsIDB4NzQsIDB4MDB9IH0sCi17IDB4MDNjMCwJMTYsCXsweDM1LCAweDgzLCAweGY1LCAweDgzLCAweGUwLCAweGY5LCAweGEzLCAweGUwLCAweGZhLCAweDkwLCAweDdmLCAweGQ0LCAweGU5LCAweGYwLCAweDkwLCAweDdmfSB9LAoteyAweDAzZDAsCTE2LAl7MHhkNSwgMHhlYSwgMHhmMCwgMHgwMiwgMHgwNCwgMHgwMiwgMHgwMiwgMHgwNCwgMHgwYSwgMHhiYSwgMHgwOCwgMHgwZiwgMHg3NCwgMHgwMSwgMHg5MCwgMHg3Zn0gfSwKLXsgMHgwM2UwLAkxNiwJezB4MDAsIDB4ZjAsIDB4NzQsIDB4MDEsIDB4OTAsIDB4N2YsIDB4YjUsIDB4ZjAsIDB4MDIsIDB4MDQsIDB4MDIsIDB4YmEsIDB4MDksIDB4MDMsIDB4MDIsIDB4MDR9IH0sCi17IDB4MDNmMCwJMTYsCXsweDAyLCAweGJhLCAweDBhLCAweDA1LCAweDc0LCAweDAwLCAweDAyLCAweDAzLCAweGRlLCAweGJhLCAweDBiLCAweDAzLCAweDAyLCAweDA0LCAweDAyLCAweDAyfSB9LAoteyAweDA0MDAsCTE2LAl7MHgwNCwgMHgwYSwgMHg5MCwgMHg3ZiwgMHhiNCwgMHg3NCwgMHgwMiwgMHhmMCwgMHg4MCwgMHgwOSwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMX0gfSwKLXsgMHgwNDEwLAkxNiwJezB4ZjAsIDB4ODAsIDB4MDAsIDB4ZDAsIDB4ZTAsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODYsIDB4MzJ9IH0sCi17IDB4MDQyMCwJMTYsCXsweGViLCAweDIwLCAweGU3LCAweDFlLCAweGMzLCAweDk0LCAweDBhLCAweDUwLCAweDE5LCAweGViLCAweDIzLCAweDI0LCAweGZlLCAweGY1LCAweDgyLCAweDc0fSB9LAoteyAweDA0MzAsCTE2LAl7MHgwNSwgMHgzNCwgMHgwMCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHhjYiwgMHhmNSwgMHhjZCwgMHhhMywgMHhlMCwgMHhmNSwgMHhjYSwgMHhmNSwgMHhjY30gfSwKLXsgMHgwNDQwLAkxNiwJezB4YzMsIDB4MjIsIDB4ZDMsIDB4MjIsIDB4YjksIDB4NDEsIDB4MTEsIDB4ZWIsIDB4NjQsIDB4ZmYsIDB4NTQsIDB4ODQsIDB4ZmIsIDB4OTAsIDB4N2YsIDB4OTh9IH0sCi17IDB4MDQ1MCwJMTYsCXsweGUwLCAweDU0LCAweDdiLCAweDRiLCAweGYwLCAweDAyLCAweDA0LCAweDAyLCAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDY0LCAweGZmLCAweDAyLCAweDAzfSB9LAoteyAweDA0NjAsCTE2LAl7MHhkZSwgMHhjMCwgMHg4NiwgMHhjMCwgMHg4MiwgMHhjMCwgMHg4MywgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NSwgMHhjMCwgMHhlMCwgMHhlNSwgMHg5MSwgMHhjMn0gfSwKLXsgMHgwNDcwLAkxNiwJezB4ZTQsIDB4ZjUsIDB4OTEsIDB4OTAsIDB4N2YsIDB4YTksIDB4NzQsIDB4MDQsIDB4ZjAsIDB4MTIsIDB4MDUsIDB4YTAsIDB4ZDAsIDB4ZTAsIDB4ZDAsIDB4ODV9IH0sCi17IDB4MDQ4MCwJMTYsCXsweGQwLCAweDg0LCAweGQwLCAweDgzLCAweGQwLCAweDgyLCAweGQwLCAweDg2LCAweDMyLCAweGMwLCAweDg2LCAweGMwLCAweDgyLCAweGMwLCAweDgzLCAweGMwfSB9LAoteyAweDA0OTAsCTE2LAl7MHg4NCwgMHhjMCwgMHg4NSwgMHhjMCwgMHhlMCwgMHhlNSwgMHg5MSwgMHhjMiwgMHhlNCwgMHhmNSwgMHg5MSwgMHg5MCwgMHg3ZiwgMHhhYSwgMHg3NCwgMHgwNH0gfSwKLXsgMHgwNGEwLAkxNiwJezB4ZjAsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZTAsIDB4ZjksIDB4ZTQsIDB4ZjUsIDB4ODYsIDB4OTAsIDB4N2QsIDB4YzAsIDB4NzUsIDB4ODUsIDB4MTAsIDB4ODV9IH0sCi17IDB4MDRiMCwJMTYsCXsweDMyLCAweDg0LCAweGUwLCAweDA1LCAweDg2LCAweDA1LCAweDg0LCAweGYwLCAweGU1LCAweDg0LCAweGI1LCAweDMzLCAweDAyLCAweDgwLCAweDA5LCAweDA1fSB9LAoteyAweDA0YzAsCTE2LAl7MHgzMiwgMHgwNSwgMHg4NiwgMHhhMywgMHhkOSwgMHhlYywgMHg4MCwgMHgwMCwgMHg5MCwgMHg3ZiwgMHhjOSwgMHhmMCwgMHhiMSwgMHgzMSwgMHhkMCwgMHhlMH0gfSwKLXsgMHgwNGQwLAkxNiwJezB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODYsIDB4MzIsIDB4ZTQsIDB4ZjUsIDB4ODYsIDB4OTAsIDB4N2Z9IH0sCi17IDB4MDRlMCwJMTYsCXsweGJjLCAweGUwLCAweDIwLCAweGUxLCAweDRiLCAweDkwLCAweDdkLCAweDAwLCAweGU1LCAweDMyLCAweGYwLCAweGEzLCAweGU1LCAweDMzLCAweGYwLCAweGEzfSB9LAoteyAweDA0ZjAsCTE2LAl7MHhlNSwgMHgzMCwgMHhmMCwgMHhhMywgMHhlNSwgMHgzMSwgMHhmMCwgMHhhMywgMHhlNCwgMHgzMCwgMHgwMCwgMHgwMSwgMHgwNCwgMHhmMCwgMHhhMywgMHgwNX0gfSwKLXsgMHgwNTAwLAkxNiwJezB4ODYsIDB4OTAsIDB4MTAsIDB4MDAsIDB4NzksIDB4MTAsIDB4ZTAsIDB4YTMsIDB4MDUsIDB4ODYsIDB4ZjAsIDB4YTMsIDB4MDUsIDB4ODYsIDB4ZDksIDB4ZjZ9IH0sCi17IDB4MDUxMCwJMTYsCXsweDA1LCAweDg2LCAweDc0LCAweGZjLCAweGYwLCAweGEzLCAweDA1LCAweDg2LCAweDkwLCAweDExLCAweDAwLCAweDc5LCAweDEwLCAweGUwLCAweGEzLCAweDA1fSB9LAoteyAweDA1MjAsCTE2LAl7MHg4NiwgMHhmMCwgMHhhMywgMHgwNSwgMHg4NiwgMHhkOSwgMHhmNiwgMHhlNCwgMHhmNSwgMHg4NiwgMHg5MCwgMHg3ZiwgMHhiZCwgMHg3NCwgMHgyNiwgMHhmMH0gfSwKLXsgMHgwNTMwLAkxNiwJezB4MjIsIDB4MjAsIDB4MDAsIDB4MTMsIDB4ZTUsIDB4MzIsIDB4YjUsIDB4MzMsIDB4MDEsIDB4MjIsIDB4MDUsIDB4MzMsIDB4NzUsIDB4ODMsIDB4MTAsIDB4ODV9IH0sCi17IDB4MDU0MCwJMTYsCXsweDMzLCAweDgyLCAweGUwLCAweGY1LCAweDk5LCAweGQyLCAweDAwLCAweDc0LCAweDAwLCAweGI1LCAweDM0LCAweDAxLCAweDIyLCAweGU1LCAweDMzLCAweGQzfSB9LAoteyAweDA1NTAsCTE2LAl7MHg5NSwgMHgzMiwgMHhjMywgMHg5NSwgMHgzNCwgMHg0MCwgMHhmNSwgMHg3NSwgMHgzNCwgMHgwMCwgMHhkMiwgMHgwMSwgMHgwMiwgMHgwNSwgMHhhMCwgMHhjMH0gfSwKLXsgMHgwNTYwLAkxNiwJezB4ODYsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ZTAsIDB4MzAsIDB4OTksIDB4MDcsIDB4YzIsIDB4OTl9IH0sCi17IDB4MDU3MCwJMTYsCXsweGMyLCAweDAwLCAweDEyLCAweDA1LCAweDM0LCAweDMwLCAweDk4LCAweDA1LCAweDEyLCAweDA1LCAweDhhLCAweGMyLCAweDk4LCAweGQwLCAweGUwLCAweGQwfSB9LAoteyAweDA1ODAsCTE2LAl7MHg4NSwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4MywgMHhkMCwgMHg4MiwgMHhkMCwgMHg4NiwgMHgzMiwgMHg3NSwgMHg4MywgMHgxMSwgMHg4NSwgMHgzMCwgMHg4Mn0gfSwKLXsgMHgwNTkwLAkxNiwJezB4MDUsIDB4ODIsIDB4ZTUsIDB4OTksIDB4ZjAsIDB4ZTUsIDB4ODIsIDB4YjUsIDB4MzEsIDB4MDEsIDB4MjIsIDB4MDUsIDB4MzAsIDB4YjEsIDB4YTAsIDB4MjJ9IH0sCi17IDB4MDVhMCwJMTYsCXsweDkwLCAweDdmLCAweGI4LCAweGUwLCAweDIwLCAweGUxLCAweDM4LCAweDIwLCAweDAxLCAweDM2LCAweGU1LCAweDMwLCAweGI1LCAweDMxLCAweDAxLCAweDIyfSB9LAoteyAweDA1YjAsCTE2LAl7MHhlNCwgMHhmNSwgMHg4NiwgMHg3NSwgMHg4MywgMHgxMSwgMHgwNSwgMHg4NiwgMHg5MCwgMHg3ZSwgMHgwMCwgMHhmMCwgMHhhMywgMHgwNSwgMHg4NiwgMHg3OX0gfSwKLXsgMHgwNWMwLAkxNiwJezB4MDEsIDB4ZTUsIDB4MzAsIDB4YjUsIDB4MzEsIDB4MDIsIDB4ODAsIDB4MTAsIDB4MDUsIDB4MzEsIDB4ODUsIDB4MzEsIDB4ODIsIDB4ZTAsIDB4MDUsIDB4ODZ9IH0sCi17IDB4MDVkMCwJMTYsCXsweGYwLCAweGEzLCAweDA1LCAweDg2LCAweDA5LCAweGI5LCAweDQwLCAweGU5LCAweDkwLCAweDdmLCAweGI5LCAweGU5LCAweDYwLCAweDAxLCAweGYwLCAweDIyfSB9LAoteyAweDA1ZTAsCTE2LAl7MHhjMiwgMHgwMSwgMHhlNCwgMHhmNSwgMHg4NiwgMHg5MCwgMHg3ZSwgMHgwMCwgMHg3NCwgMHgwMSwgMHhmMCwgMHhhMywgMHg3NCwgMHgwMiwgMHhmMCwgMHg5MH0gfSwKLXsgMHgwNWYwLAkxNiwJezB4N2YsIDB4YjksIDB4ZjAsIDB4MjIsIDB4YzIsIDB4OTksIDB4ZjUsIDB4OTksIDB4MzAsIDB4OTksIDB4ZmQsIDB4YzIsIDB4OTksIDB4MjIsIDB4ZTUsIDB4NWV9IH0sCi17IDB4MDYwMCwJMTYsCXsweGY2LCAweDNjLCAweGZkLCAweDhmLCAweGZlLCAweGM4LCAweGZmLCAweDY0LCAweGZmLCAweGIyLCAweGZmLCAweGQ5LCAweGZmLCAweGVkLCAweGZmLCAweGYzfSB9LAoteyAweDA2MTAsCTE2LAl7MHhmZiwgMHhmYSwgMHgxMiwgMHgwMSwgMHgwMCwgMHgwMSwgMHhmZiwgMHhmZiwgMHhmZiwgMHg0MCwgMHhjZCwgMHgwNiwgMHgwNCwgMHgwMSwgMHg4OSwgMHhhYn0gfSwKLXsgMHgwNjIwLAkxNiwJezB4MDEsIDB4MDIsIDB4MDMsIDB4MDEsIDB4MDksIDB4MDIsIDB4MjAsIDB4MDAsIDB4MDEsIDB4MDEsIDB4MDAsIDB4ODAsIDB4MzIsIDB4MDksIDB4MDQsIDB4MDB9IH0sCi17IDB4MDYzMCwJMTYsCXsweDAwLCAweDAyLCAweGZmLCAweGZmLCAweGZmLCAweDAwLCAweDA3LCAweDA1LCAweDgyLCAweDAzLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDAyfSB9LAoteyAweDA2NDAsCTE2LAl7MHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNiwgMHg0YywgMHgwNiwgMHg1MCwgMHgwNiwgMHg3MiwgMHgwNiwgMHhhMCwgMHgwNCwgMHgwMywgMHgwMCwgMHgwMH0gfSwKLXsgMHgwNjUwLAkxNiwJezB4MjIsIDB4MDMsIDB4NDEsIDB4MDAsIDB4NDMsIDB4MDAsIDB4NGQsIDB4MDAsIDB4NDUsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NzUsIDB4MDAsIDB4NzMsIDB4MDB9IH0sCi17IDB4MDY2MCwJMTYsCXsweDYyLCAweDAwLCAweDIwLCAweDAwLCAweDc3LCAweDAwLCAweDY5LCAweDAwLCAweDY0LCAweDAwLCAweDY3LCAweDAwLCAweDY1LCAweDAwLCAweDc0LCAweDAwfSB9LAoteyAweDA2NzAsCTE2LAl7MHg3MywgMHgwMCwgMHgyZSwgMHgwMywgMHg0MSwgMHgwMCwgMHg0MywgMHgwMCwgMHg0ZCwgMHgwMCwgMHg0NSwgMHgwMCwgMHgyMCwgMHgwMCwgMHg1NSwgMHgwMH0gfSwKLXsgMHgwNjgwLAkxNiwJezB4NTMsIDB4MDAsIDB4NDIsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NzMsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjksIDB4MDAsIDB4NjEsIDB4MDB9IH0sCi17IDB4MDY5MCwJMTYsCXsweDZjLCAweDAwLCAweDIwLCAweDAwLCAweDc3LCAweDAwLCAweDY5LCAweDAwLCAweDY0LCAweDAwLCAweDY3LCAweDAwLCAweDY1LCAweDAwLCAweDc0LCAweDAwfSB9LAoteyAweDA2YTAsCTYsCXsweDA2LCAweDAzLCAweDM0LCAweDAwLCAweDM3LCAweDAwfSB9LAoteyAweGZmZmYsCTAsCXsweDAwfSB9Ci19OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fdXNhMTh4X2Z3LmggYi9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl91c2ExOHhfZncuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTdiM2JjMC4uMDAwMDAwMAotLS0gYS9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl91c2ExOHhfZncuaAorKysgL2Rldi9udWxsCkBAIC0xLDQ0NyArMCwwIEBACi0vKiBrZXlzcGFuX3VzYTE4eF9mdy5oCi0KLQlUaGUgZmlybXdhcmUgY29udGFpbmVkIGhlcmVpbiBhcyBrZXlzcGFuX3VzYTE4eF9mdy5oIGlzCi0KLQkJQ29weXJpZ2h0IChDKSAxOTk5LTIwMDEKLQkJS2V5c3BhbiwgQSBkaXZpc2lvbiBvZiBJbm5vU3lzIEluY29ycG9yYXRlZCAoIktleXNwYW4iKQotCQkKLQlhcyBhbiB1bnB1Ymxpc2hlZCB3b3JrLiBUaGlzIG5vdGljZSBkb2VzIG5vdCBpbXBseSB1bnJlc3RyaWN0ZWQgb3IKLQlwdWJsaWMgYWNjZXNzIHRvIHRoZSBzb3VyY2UgY29kZSBmcm9tIHdoaWNoIHRoaXMgZmlybXdhcmUgaW1hZ2UgaXMKLQlkZXJpdmVkLiAgRXhjZXB0IGFzIG5vdGVkIGJlbG93IHRoaXMgZmlybXdhcmUgaW1hZ2UgbWF5IG5vdCBiZSAKLQlyZXByb2R1Y2VkLCB1c2VkLCBzb2xkIG9yIHRyYW5zZmVycmVkIHRvIGFueSB0aGlyZCBwYXJ0eSB3aXRob3V0IAotCUtleXNwYW4ncyBwcmlvciB3cml0dGVuIGNvbnNlbnQuICBBbGwgUmlnaHRzIFJlc2VydmVkLgotCi0JUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCBmb3IgdGhlIGRpc3RyaWJ1dGlvbiBvZiB0aGlzIGZpcm13YXJlIAotCWltYWdlIGFzIHBhcnQgb2YgYSBMaW51eCBvciBvdGhlciBPcGVuIFNvdXJjZSBvcGVyYXRpbmcgc3lzdGVtIGtlcm5lbCAKLQlpbiB0ZXh0IG9yIGJpbmFyeSBmb3JtIGFzIHJlcXVpcmVkLiAKLQotCVRoaXMgZmlybXdhcmUgbWF5IG5vdCBiZSBtb2RpZmllZCBhbmQgbWF5IG9ubHkgYmUgdXNlZCB3aXRoICAKLQlLZXlzcGFuIGhhcmR3YXJlLiAgRGlzdHJpYnV0aW9uIGFuZC9vciBNb2RpZmljYXRpb24gb2YgdGhlIAotCWtleXNwYW4uYyBkcml2ZXIgd2hpY2ggaW5jbHVkZXMgdGhpcyBmaXJtd2FyZSwgaW4gd2hvbGUgb3IgaW4gCi0JcGFydCwgcmVxdWlyZXMgdGhlIGluY2x1c2lvbiBvZiB0aGlzIHN0YXRlbWVudC4iCi0qLwotCi1zdGF0aWMgY29uc3Qgc3RydWN0IGV6dXNiX2hleF9yZWNvcmQga2V5c3Bhbl91c2ExOHhfZmlybXdhcmVbXSA9IHsKLSB7MHgwMDMzLCAgMywgeyAweDAyLCAweDEyLCAweGY3fX0sCi0gezB4MDAwMywgMTYsIHsgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5MywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5YywgMHg3NCwgMHgzMCwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhmMH19LAotIHsweDAwMTMsIDE2LCB7IDB4OTAsIDB4N2YsIDB4OTQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWQsIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTcsIDB4ZjAsIDB4OTB9fSwKLSB7MHgwMDIzLCAxNSwgeyAweDdmLCAweDk1LCAweGYwLCAweDkwLCAweDdmLCAweDllLCAweDc0LCAweDA3LCAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweDk4LCAweGYwLCAweDIyfX0sCi0gezB4MDA0NiwgMTYsIHsgMHgzMCwgMHgwOSwgMHgxOCwgMHgxMiwgMHgxMywgMHgxYiwgMHhlZiwgMHhjMywgMHg5NSwgMHgzYywgMHg0MCwgMHgwMywgMHgwMiwgMHgwMCwgMHhkOCwgMHg5MH19LAotIHsweDAwNTYsIDE2LCB7IDB4N2YsIDB4YmYsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4YzIsIDB4MDksIDB4YzIsIDB4MDAsIDB4ODAsIDB4NzcsIDB4MzAsIDB4MDMsIDB4M2IsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwMDY2LCAxNiwgeyAweGM2LCAweGUwLCAweDIwLCAweGUxLCAweDZkLCAweDEyLCAweDEzLCAweDFiLCAweGVmLCAweGMzLCAweDk0LCAweDQwLCAweDUwLCAweDY0LCAweDkwLCAweDdlfX0sCi0gezB4MDA3NiwgMTYsIHsgMHg0MCwgMHhlMCwgMHgxMywgMHg5MiwgMHgwOSwgMHg5MCwgMHg3ZiwgMHhjNywgMHhlMCwgMHgxNCwgMHhmNSwgMHgxOSwgMHgyMCwgMHgwMCwgMHgxMSwgMHg2MH19LAotIHsweDAwODYsIDE2LCB7IDB4MGYsIDB4ZjUsIDB4MDgsIDB4N2UsIDB4N2UsIDB4N2YsIDB4NDEsIDB4NzUsIDB4MGMsIDB4N2UsIDB4NzUsIDB4MGQsIDB4NDEsIDB4MTIsIDB4MGMsIDB4YmF9fSwKLSB7MHgwMDk2LCAxNiwgeyAweGMyLCAweDAzLCAweGU0LCAweDkwLCAweDdmLCAweGM3LCAweGYwLCAweDgwLCAweDM5LCAweDkwLCAweDdmLCAweGM4LCAweGUwLCAweDIwLCAweGUxLCAweDMyfX0sCi0gezB4MDBhNiwgMTYsIHsgMHgxMiwgMHgxMywgMHgxYiwgMHhlZiwgMHhjMywgMHg5NCwgMHg0MCwgMHg1MCwgMHgyOSwgMHg5MCwgMHg3ZCwgMHhjMCwgMHhlMCwgMHgxMywgMHg5MiwgMHgwOX19LAotIHsweDAwYjYsIDE2LCB7IDB4OTAsIDB4N2YsIDB4YzksIDB4ZTAsIDB4MTQsIDB4ZjUsIDB4MTksIDB4MjAsIDB4MDAsIDB4MTEsIDB4NjAsIDB4MGYsIDB4ZjUsIDB4MDgsIDB4N2UsIDB4N2R9fSwKLSB7MHgwMGM2LCAxNiwgeyAweDdmLCAweGMxLCAweDc1LCAweDBjLCAweDdkLCAweDc1LCAweDBkLCAweGMxLCAweDEyLCAweDBjLCAweGJhLCAweGQyLCAweDAzLCAweGU0LCAweDkwLCAweDdmfX0sCi0gezB4MDBkNiwgMTYsIHsgMHhjOSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNiwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwMywgMHgwMiwgMHgwMSwgMHg2MCwgMHgxMiwgMHgxMSwgMHhkNiwgMHg4Zn19LAotIHsweDAwZTYsIDE2LCB7IDB4MTksIDB4MTIsIDB4MTMsIDB4MjcsIDB4OGYsIDB4MzYsIDB4ZTUsIDB4MTksIDB4YzMsIDB4OTUsIDB4M2EsIDB4NTAsIDB4MGYsIDB4MTIsIDB4MTIsIDB4ZWJ9fSwKLSB7MHgwMGY2LCAxNiwgeyAweGVmLCAweDMwLCAweGUwLCAweDA4LCAweGU1LCAweDM2LCAweDIwLCAweGU3LCAweDAzLCAweDMwLCAweDBiLCAweDVlLCAweGMyLCAweDBiLCAweGU1LCAweDE5fX0sCi0gezB4MDAzNiwgMTIsIHsgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMn19LAotIHsweDAwNDMsICAzLCB7IDB4MDIsIDB4MTMsIDB4MDB9fSwKLSB7MHgwMDAwLCAgMywgeyAweDAyLCAweDBlLCAweDAwfX0sCi0gezB4MDEwNiwgNjQsIHsgMHg2MCwgMHg1OCwgMHhiNCwgMHg4MCwgMHgwMywgMHg0MywgMHgzNiwgMHgwMiwgMHhlNSwgMHgzNiwgMHgzMCwgMHhlNywgMHgyNiwgMHhlNSwgMHgxOSwgMHhkMywgMHg5NCwKLSAgMHgyMCwgMHg0MCwgMHgwMywgMHg3NSwgMHgxOSwgMHgyMCwgMHg4NSwgMHgxOSwgMHgwOCwgMHg3ZSwgMHg3ZSwgMHg3ZiwgMHg4MCwgMHg3NSwgMHgwYywgMHg3ZSwKLSAgMHg3NSwgMHgwZCwgMHg4MCwgMHhhZiwgMHgzNiwgMHgxMiwgMHgwZiwgMHg0YiwgMHhlNSwgMHgxOSwgMHgyNSwgMHhlMCwgMHg5MCwgMHg3ZiwgMHhiNywgMHhmMCwKLSAgMHg4MCwgMHgyNywgMHhlNSwgMHgxOSwgMHhkMywgMHg5NCwgMHgzZiwgMHg0MCwgMHgwMywgMHg3NSwgMHgxOSwgMHgzZiwgMHg4NSwgMHgxOSwgMHgwOH19LAotIHsweDAxNDYsIDY0LCB7IDB4OTAsIDB4N2UsIDB4ODAsIDB4ZTUsIDB4MzYsIDB4ZjAsIDB4N2UsIDB4N2UsIDB4N2YsIDB4ODEsIDB4NzUsIDB4MGMsIDB4N2UsIDB4NzUsIDB4MGQsIDB4ODEsIDB4MTIsCi0gIDB4MGMsIDB4ZGYsIDB4ZTUsIDB4MTksIDB4MDQsIDB4OTAsIDB4N2YsIDB4YjcsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4Y2UsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDYsCi0gIDB4MjAsIDB4MDUsIDB4MDMsIDB4MDIsIDB4MDMsIDB4YzEsIDB4YzIsIDB4MDUsIDB4ZTQsIDB4ZjUsIDB4MTgsIDB4NzQsIDB4NDAsIDB4MjUsIDB4MTgsIDB4ZjUsCi0gIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2MsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4ZTUsIDB4MTgsIDB4N2MsIDB4MDAsIDB4N2IsIDB4MDEsIDB4N2F9fSwKLSB7MHgwMTg2LCA2NCwgeyAweDdlLCAweDc5LCAweDAwLCAweDI0LCAweDAwLCAweGY5LCAweGVjLCAweDM0LCAweDdlLCAweGZhLCAweGVmLCAweDEyLCAweDBlLCAweGQyLCAweDA1LCAweDE4LCAweGU1LAotICAweDE4LCAweGI0LCAweDIwLCAweGQ3LCAweDkwLCAweDdlLCAweDAwLCAweGUwLCAweDYwLCAweDY4LCAweDkwLCAweDdlLCAweDAzLCAweGUwLCAweDYwLCAweDI0LAotICAweDdmLCAweDAxLCAweGU0LCAweGZkLCAweDEyLCAweDExLCAweGIxLCAweDdmLCAweDAzLCAweDdkLCAweGNkLCAweDEyLCAweDExLCAweGIxLCAweDQzLCAweDQ2LAotICAweDgwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE0LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDQ2LCAweGYwLCAweGU0LCAweDkwfX0sCi0gezB4MDFjNiwgNjQsIHsgMHg3ZSwgMHgxMywgMHhmMCwgMHg4MCwgMHgzMCwgMHg5MCwgMHg3ZSwgMHgwMSwgMHhlMCwgMHhmZiwgMHgxMiwgMHgxMCwgMHgzNSwgMHg5MCwgMHg3ZSwgMHgwMiwgMHhlMCwKLSAgMHhmZiwgMHgxMiwgMHgxMCwgMHg1YiwgMHg3ZiwgMHgwMSwgMHg5MCwgMHg3ZSwgMHgxMSwgMHhlMCwgMHhmZCwgMHgxMiwgMHgxMSwgMHhiMSwgMHg3ZiwgMHgwMywKLSAgMHg3ZCwgMHgwNywgMHgxMiwgMHgxMSwgMHhiMSwgMHg0MywgMHg0NiwgMHg4MCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwKLSAgMHgwMCwgMHhlNSwgMHg0NiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMiwgMHhmMCwgMHhlNSwgMHg0MCwgMHg0NCwgMHgwNiwgMHg5MH19LAotIHsweDAyMDYsIDY0LCB7IDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MDMsIDB4ZTAsIDB4NzAsIDB4MDYsIDB4OTAsIDB4N2UsIDB4MTMsIDB4ZTAsIDB4NzAsIDB4MDgsIDB4ZTQsIDB4OTAsCi0gIDB4N2UsIDB4MTMsIDB4ZjAsIDB4NzUsIDB4MjUsIDB4ZmYsIDB4OTAsIDB4N2UsIDB4MDUsIDB4ZTAsIDB4NjAsIDB4MTIsIDB4YTMsIDB4ZTAsIDB4NTQsIDB4M2YsCi0gIDB4ZjUsIDB4NDQsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDQsIDB4ZjAsIDB4OTAsIDB4N2UsCi0gIDB4MDcsIDB4ZTAsIDB4NjAsIDB4MmIsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4NDIsIDB4ODAsIDB4ODAsIDB4MDMsIDB4NTMsIDB4NDJ9fSwKLSB7MHgwMjQ2LCA2NCwgeyAweDdmLCAweDUzLCAweDQyLCAweGZjLCAweDkwLCAweDdlLCAweDA5LCAweGUwLCAweDYwLCAweDExLCAweDQzLCAweDQyLCAweDAyLCAweGEzLCAweGUwLCAweGZmLCAweDEyLAotICAweDEwLCAweGE3LCAweDkwLCAweDdlLCAweDBiLCAweGUwLCAweGZmLCAweDEyLCAweDEwLCAweGNkLCAweGFmLCAweDQyLCAweDEyLCAweDEwLCAweDgxLCAweDkwLAotICAweDdlLCAweDAzLCAweGUwLCAweDYwLCAweDA4LCAweDUzLCAweDQyLCAweDdmLCAweGFmLCAweDQyLCAweDEyLCAweDEwLCAweDgxLCAweDkwLCAweDdlLCAweDBjLAotICAweGUwLCAweDYwLCAweDE4LCAweGEzLCAweGUwLCAweDYwLCAweDA1LCAweDQzLCAweDQ2LCAweDAyLCAweDgwLCAweDAzLCAweDUzLCAweDQ2LCAweGZkfX0sCi0gezB4MDI4NiwgNjQsIHsgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NiwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgwZSwgMHhlMCwgMHg2MCwKLSAgMHgxOCwgMHhhMywgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHg0NiwgMHgwMSwgMHg4MCwgMHgwMywgMHg1MywgMHg0NiwgMHhmZSwgMHg5MCwgMHg3ZiwgMHg5OCwKLSAgMHg3NCwgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NiwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgxMiwgMHhlMCwgMHhmNSwgMHgzYSwgMHhhMywKLSAgMHhlMCwgMHgxMywgMHg5MiwgMHgwZCwgMHhhMywgMHhlMCwgMHhmNSwgMHgzYywgMHhhMywgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHg0NiwgMHgxMH19LAotIHsweDAyYzYsIDY0LCB7IDB4ODAsIDB4MDMsIDB4NTMsIDB4NDYsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDYsIDB4ZjAsCi0gIDB4OTAsIDB4N2UsIDB4MTYsIDB4ZTAsIDB4NjAsIDB4MzIsIDB4NTMsIDB4NDQsIDB4YmYsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTUsCi0gIDB4NDQsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4MTIsIDB4MTIsIDB4ZGYsCi0gIDB4ZWYsIDB4NTQsIDB4ZmUsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4NTMsIDB4M2UsIDB4ZmQsIDB4ZTQsIDB4ZmYsIDB4YWQsIDB4M2UsIDB4MTJ9fSwKLSB7MHgwMzA2LCA2NCwgeyAweDExLCAweGIxLCAweGU0LCAweGY1LCAweDJhLCAweGY1LCAweDI5LCAweGQyLCAweDA3LCAweDkwLCAweDdlLCAweDE3LCAweGUwLCAweDYwLCAweDBmLCAweDQzLCAweDNlLAotICAweDAyLCAweGU0LCAweGZmLCAweGFkLCAweDNlLCAweDEyLCAweDExLCAweGIxLCAweDc1LCAweDI5LCAweDAxLCAweGQyLCAweDA3LCAweDkwLCAweDdlLCAweDE4LAotICAweGUwLCAweDYwLCAweDEwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEyLCAweGYwLCAweGU1LCAweDQwLCAweDQ0LCAweDA0LCAweDkwLCAweGMwLCAweDAwLAotICAweGYwLCAweGQyLCAweDAwLCAweDkwLCAweDdlLCAweDE5LCAweGUwLCAweDYwLCAweDExLCAweDQzLCAweDQ0LCAweDQwLCAweDkwLCAweDdmLCAweDk4fX0sCi0gezB4MDM0NiwgNjQsIHsgMHg3NCwgMHgxMywgMHhmMCwgMHhlNSwgMHg0NCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgxYSwgMHhlMCwgMHg2MCwgMHgwZiwKLSAgMHg1MywgMHgzZSwgMHhmZSwgMHhlNCwgMHhmZiwgMHhhZCwgMHgzZSwgMHgxMiwgMHgxMSwgMHhiMSwgMHg3NSwgMHgyYiwgMHgwMSwgMHhkMiwgMHgwNywgMHg5MCwKLSAgMHg3ZSwgMHgxYiwgMHhlMCwgMHg2MCwgMHgwZiwgMHg0MywgMHgzZSwgMHgwMSwgMHhlNCwgMHhmZiwgMHhhZCwgMHgzZSwgMHgxMiwgMHgxMSwgMHhiMSwgMHhlNCwKLSAgMHhmNSwgMHgyYiwgMHhkMiwgMHgwNywgMHg5MCwgMHg3ZSwgMHgxYywgMHhlMCwgMHg2MCwgMHgwZSwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMn19LAotIHsweDAzODYsIDY0LCB7IDB4ZjAsIDB4ZTUsIDB4NDAsIDB4NDQsIDB4MDIsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MWQsIDB4ZTAsIDB4NjAsIDB4MDIsIDB4ZDIsIDB4MGIsCi0gIDB4OTAsIDB4N2UsIDB4MWUsIDB4ZTAsIDB4NjAsIDB4MDgsIDB4NzUsIDB4MmMsIDB4MDEsIDB4ZTQsIDB4ZjUsIDB4MzgsIDB4ZDIsIDB4MDcsIDB4OTAsIDB4N2UsCi0gIDB4MWYsIDB4ZTAsIDB4NjAsIDB4MTEsIDB4OTAsIDB4N2YsIDB4ZDcsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4NzQsIDB4MzEsIDB4ZjAsIDB4NzQsIDB4MTUsIDB4ZjAsCi0gIDB4NzQsIDB4MzUsIDB4ZjAsIDB4ZDIsIDB4MDMsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4Y2YsIDB4ZjAsIDB4MzAsIDB4MWEsIDB4NTIsIDB4ZTUsIDB4Mzh9fSwKLSB7MHgwM2M2LCA2NCwgeyAweDYwLCAweDAyLCAweDE1LCAweDM4LCAweDIwLCAweDEzLCAweDQ5LCAweGU1LCAweDEzLCAweGQzLCAweDk0LCAweDAwLCAweDQwLCAweDA0LCAweDE1LCAweDEzLCAweDgwLAotICAweDNlLCAweDc1LCAweDEzLCAweDBhLCAweDMwLCAweDFiLCAweDAyLCAweGQyLCAweDEzLCAweDEyLCAweDEyLCAweGRmLCAweGVmLCAweDU0LCAweDAxLCAweGY1LAotICAweDE5LCAweDY1LCAweDJhLCAweDYwLCAweDA1LCAweDg1LCAweDE5LCAweDJhLCAweGQyLCAweDA3LCAweDEyLCAweDEzLCAweDMzLCAweGVmLCAweDU0LCAweDgwLAotICAweGY1LCAweDE5LCAweDY1LCAweDI2LCAweDYwLCAweDA1LCAweDg1LCAweDE5LCAweDI2LCAweGQyLCAweDA3LCAweDMwLCAweDBkLCAweDExLCAweDEyfX0sCi0gezB4MDQwNiwgNjQsIHsgMHgxMywgMHgzMywgMHhlZiwgMHg1NCwgMHgxMCwgMHhmNSwgMHgxOSwgMHg2NSwgMHgyNSwgMHg2MCwgMHgwNSwgMHg4NSwgMHgxOSwgMHgyNSwgMHhkMiwgMHgwNywgMHgyMCwKLSAgMHgxYiwgMHgwMywgMHgwMiwgMHgwNywgMHhlYywgMHgzMCwgMHgwYSwgMHgxOCwgMHgxMiwgMHgxMywgMHg2ZiwgMHhlZiwgMHhjMywgMHg5NSwgMHgzZCwgMHg0MCwKLSAgMHgwMywgMHgwMiwgMHgwNCwgMHhhZSwgMHg5MCwgMHg3ZiwgMHhjMSwgMHg3NCwgMHgwMSwgMHhmMCwgMHhjMiwgMHgwYSwgMHhjMiwgMHgwMCwgMHg4MCwgMHg3NywKLSAgMHgzMCwgMHgwNCwgMHgzYiwgMHg5MCwgMHg3ZiwgMHhjYSwgMHhlMCwgMHgyMCwgMHhlMSwgMHg2ZCwgMHgxMiwgMHgxMywgMHg2ZiwgMHhlZiwgMHhjM319LAotIHsweDA0NDYsIDY0LCB7IDB4OTQsIDB4NDAsIDB4NTAsIDB4NjQsIDB4OTAsIDB4N2QsIDB4NDAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGEsIDB4OTAsIDB4N2YsIDB4Y2IsIDB4ZTAsIDB4MTQsIDB4ZjUsCi0gIDB4MTksIDB4MjAsIDB4MDAsIDB4MTEsIDB4NjAsIDB4MGYsIDB4ZjUsIDB4MDgsIDB4N2UsIDB4N2QsIDB4N2YsIDB4NDEsIDB4NzUsIDB4MGMsIDB4N2QsIDB4NzUsCi0gIDB4MGQsIDB4NDEsIDB4MTIsIDB4MGQsIDB4MDQsIDB4YzIsIDB4MDQsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4Y2IsIDB4ZjAsIDB4ODAsIDB4MzksIDB4OTAsIDB4N2YsCi0gIDB4Y2MsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MzIsIDB4MTIsIDB4MTMsIDB4NmYsIDB4ZWYsIDB4YzMsIDB4OTQsIDB4NDAsIDB4NTAsIDB4MjksIDB4OTB9fSwKLSB7MHgwNDg2LCA2NCwgeyAweDdjLCAweGMwLCAweGUwLCAweDEzLCAweDkyLCAweDBhLCAweDkwLCAweDdmLCAweGNkLCAweGUwLCAweDE0LCAweGY1LCAweDE5LCAweDIwLCAweDAwLCAweDExLCAweDYwLAotICAweDBmLCAweGY1LCAweDA4LCAweDdlLCAweDdjLCAweDdmLCAweGMxLCAweDc1LCAweDBjLCAweDdjLCAweDc1LCAweDBkLCAweGMxLCAweDEyLCAweDBkLCAweDA0LAotICAweGQyLCAweDA0LCAweGU0LCAweDkwLCAweDdmLCAweGNkLCAweGYwLCAweDkwLCAweDdmLCAweGJhLCAweGUwLCAweDMwLCAweGUxLCAweDAzLCAweDAyLCAweDA1LAotICAweDM2LCAweDEyLCAweDEyLCAweDIwLCAweDhmLCAweDE5LCAweDEyLCAweDEzLCAweDdiLCAweDhmLCAweDM3LCAweGU1LCAweDE5LCAweGMzLCAweDk1fX0sCi0gezB4MDRjNiwgNjQsIHsgMHgzYiwgMHg1MCwgMHgwZiwgMHgxMiwgMHgxMywgMHg1NywgMHhlZiwgMHgzMCwgMHhlMCwgMHgwOCwgMHhlNSwgMHgzNywgMHgyMCwgMHhlNywgMHgwMywgMHgzMCwgMHgwYywKLSAgMHg1ZSwgMHhjMiwgMHgwYywgMHhlNSwgMHgxOSwgMHg2MCwgMHg1OCwgMHhiNCwgMHg4MCwgMHgwMywgMHg0MywgMHgzNywgMHgwMiwgMHhlNSwgMHgzNywgMHgzMCwKLSAgMHhlNywgMHgyNiwgMHhlNSwgMHgxOSwgMHhkMywgMHg5NCwgMHgyMCwgMHg0MCwgMHgwMywgMHg3NSwgMHgxOSwgMHgyMCwgMHg4NSwgMHgxOSwgMHgwOCwgMHg3ZSwKLSAgMHg3ZCwgMHg3ZiwgMHg4MCwgMHg3NSwgMHgwYywgMHg3ZCwgMHg3NSwgMHgwZCwgMHg4MCwgMHhhZiwgMHgzNywgMHgxMiwgMHgwZiwgMHg4NCwgMHhlNX19LAotIHsweDA1MDYsIDY0LCB7IDB4MTksIDB4MjUsIDB4ZTAsIDB4OTAsIDB4N2YsIDB4YmIsIDB4ZjAsIDB4ODAsIDB4MjcsIDB4ZTUsIDB4MTksIDB4ZDMsIDB4OTQsIDB4M2YsIDB4NDAsIDB4MDMsIDB4NzUsCi0gIDB4MTksIDB4M2YsIDB4ODUsIDB4MTksIDB4MDgsIDB4OTAsIDB4N2QsIDB4ODAsIDB4ZTUsIDB4MzcsIDB4ZjAsIDB4N2UsIDB4N2QsIDB4N2YsIDB4ODEsIDB4NzUsCi0gIDB4MGMsIDB4N2QsIDB4NzUsIDB4MGQsIDB4ODEsIDB4MTIsIDB4MGQsIDB4MjksIDB4ZTUsIDB4MTksIDB4MDQsIDB4OTAsIDB4N2YsIDB4YmIsIDB4ZjAsIDB4OTAsCi0gIDB4N2YsIDB4ZDAsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDYsIDB4MjAsIDB4MDYsIDB4MDMsIDB4MDIsIDB4MDcsIDB4OTcsIDB4YzIsIDB4MDYsIDB4ZTR9fSwKLSB7MHgwNTQ2LCA2NCwgeyAweGY1LCAweDE4LCAweDc0LCAweGMwLCAweDI1LCAweDE4LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdiLCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweGU1LCAweDE4LAotICAweDdjLCAweDAwLCAweDdiLCAweDAxLCAweDdhLCAweDdlLCAweDc5LCAweDIwLCAweDI0LCAweDIwLCAweGY5LCAweGVjLCAweDM0LCAweDdlLCAweGZhLCAweGVmLAotICAweDEyLCAweDBlLCAweGQyLCAweDA1LCAweDE4LCAweGU1LCAweDE4LCAweGI0LCAweDIwLCAweGQ3LCAweDkwLCAweDdlLCAweDIwLCAweGUwLCAweDYwLCAweDY4LAotICAweDkwLCAweDdlLCAweDIzLCAweGUwLCAweDYwLCAweDI0LCAweDdmLCAweDAxLCAweGU0LCAweGZkLCAweDEyLCAweDExLCAweGZiLCAweDdmLCAweDAzfX0sCi0gezB4MDU4NiwgNjQsIHsgMHg3ZCwgMHhjZCwgMHgxMiwgMHgxMSwgMHhmYiwgMHg0MywgMHg0NywgMHg4MCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwKLSAgMHhlNSwgMHg0NywgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZSwgMHgzMywgMHhmMCwgMHg4MCwgMHgzMCwgMHg5MCwgMHg3ZSwgMHgyMSwgMHhlMCwgMHhmZiwgMHgxMiwKLSAgMHgxMSwgMHgxOSwgMHg5MCwgMHg3ZSwgMHgyMiwgMHhlMCwgMHhmZiwgMHgxMiwgMHgxMSwgMHgzZiwgMHg3ZiwgMHgwMSwgMHg5MCwgMHg3ZSwgMHgzMSwgMHhlMCwKLSAgMHhmZCwgMHgxMiwgMHgxMSwgMHhmYiwgMHg3ZiwgMHgwMywgMHg3ZCwgMHgwNywgMHgxMiwgMHgxMSwgMHhmYiwgMHg0MywgMHg0NywgMHg4MCwgMHg5MH19LAotIHsweDA1YzYsIDY0LCB7IDB4N2YsIDB4OTgsIDB4NzQsIDB4MGMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDcsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGEsIDB4ZjAsCi0gIDB4ZTUsIDB4NDEsIDB4NDQsIDB4MDYsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MjMsIDB4ZTAsIDB4NzAsIDB4MDYsIDB4OTAsIDB4N2UsCi0gIDB4MzMsIDB4ZTAsIDB4NzAsIDB4MDgsIDB4ZTQsIDB4OTAsIDB4N2UsIDB4MzMsIDB4ZjAsIDB4NzUsIDB4MmUsIDB4ZmYsIDB4OTAsIDB4N2UsIDB4MjUsIDB4ZTAsCi0gIDB4NjAsIDB4MTIsIDB4YTMsIDB4ZTAsIDB4NTQsIDB4M2YsIDB4ZjUsIDB4NDUsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4OTB9fSwKLSB7MHgwNjA2LCA2NCwgeyAweGMwLCAweDAwLCAweGU1LCAweDQ1LCAweGYwLCAweDkwLCAweDdlLCAweDI3LCAweGUwLCAweDYwLCAweDJiLCAweGEzLCAweGUwLCAweDYwLCAweDA1LCAweDQzLCAweDQzLAotICAweDgwLCAweDgwLCAweDAzLCAweDUzLCAweDQzLCAweDdmLCAweDUzLCAweDQzLCAweGZjLCAweDkwLCAweDdlLCAweDI5LCAweGUwLCAweDYwLCAweDExLCAweDQzLAotICAweDQzLCAweDAyLCAweGEzLCAweGUwLCAweGZmLCAweDEyLCAweDExLCAweDY1LCAweDkwLCAweDdlLCAweDJiLCAweGUwLCAweGZmLCAweDEyLCAweDExLCAweDhiLAotICAweGFmLCAweDQzLCAweDEyLCAweDEwLCAweGYzLCAweDkwLCAweDdlLCAweDIzLCAweGUwLCAweDYwLCAweDA4LCAweDUzLCAweDQzLCAweDdmLCAweGFmfX0sCi0gezB4MDY0NiwgNjQsIHsgMHg0MywgMHgxMiwgMHgxMCwgMHhmMywgMHg5MCwgMHg3ZSwgMHgyYywgMHhlMCwgMHg2MCwgMHgxOCwgMHhhMywgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHg0NywgMHgwMiwKLSAgMHg4MCwgMHgwMywgMHg1MywgMHg0NywgMHhmZCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NywKLSAgMHhmMCwgMHg5MCwgMHg3ZSwgMHgyZSwgMHhlMCwgMHg2MCwgMHgxOCwgMHhhMywgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHg0NywgMHgwMSwgMHg4MCwgMHgwMywKLSAgMHg1MywgMHg0NywgMHhmZSwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NywgMHhmMH19LAotIHsweDA2ODYsIDY0LCB7IDB4OTAsIDB4N2UsIDB4MzIsIDB4ZTAsIDB4ZjUsIDB4M2IsIDB4YTMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGUsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4M2QsIDB4YTMsIDB4ZTAsCi0gIDB4NjAsIDB4MDUsIDB4NDMsIDB4NDcsIDB4MTAsIDB4ODAsIDB4MDMsIDB4NTMsIDB4NDcsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGMsIDB4ZjAsCi0gIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDcsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MzYsIDB4ZTAsIDB4NjAsIDB4MzIsIDB4NTMsIDB4NDUsIDB4YmYsIDB4OTAsCi0gIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4ZTUsIDB4NDUsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwNmM2LCA2NCwgeyAweDk4LCAweDc0LCAweDA5LCAweGYwLCAweDEyLCAweDEzLCAweDRiLCAweGVmLCAweDU0LCAweGZlLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDUzLCAweDNmLCAweGZkLAotICAweGU0LCAweGZmLCAweGFkLCAweDNmLCAweDEyLCAweDExLCAweGZiLCAweGU0LCAweGY1LCAweDMzLCAweGY1LCAweDMyLCAweGQyLCAweDA4LCAweDkwLCAweDdlLAotICAweDM3LCAweGUwLCAweDYwLCAweDBmLCAweDQzLCAweDNmLCAweDAyLCAweGU0LCAweGZmLCAweGFkLCAweDNmLCAweDEyLCAweDExLCAweGZiLCAweDc1LCAweDMyLAotICAweDAxLCAweGQyLCAweDA4LCAweDkwLCAweDdlLCAweDM4LCAweGUwLCAweDYwLCAweDEwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBhLCAweGYwfX0sCi0gezB4MDcwNiwgNjQsIHsgMHhlNSwgMHg0MSwgMHg0NCwgMHgwNCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHhkMiwgMHgwMCwgMHg5MCwgMHg3ZSwgMHgzOSwgMHhlMCwgMHg2MCwgMHgxMSwgMHg0MywKLSAgMHg0NSwgMHg0MCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHhlNSwgMHg0NSwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwKLSAgMHg5MCwgMHg3ZSwgMHgzYSwgMHhlMCwgMHg2MCwgMHgwZiwgMHg1MywgMHgzZiwgMHhmZSwgMHhlNCwgMHhmZiwgMHhhZCwgMHgzZiwgMHgxMiwgMHgxMSwgMHhmYiwKLSAgMHg3NSwgMHgzNCwgMHgwMSwgMHhkMiwgMHgwOCwgMHg5MCwgMHg3ZSwgMHgzYiwgMHhlMCwgMHg2MCwgMHgwZiwgMHg0MywgMHgzZiwgMHgwMSwgMHhlNH19LAotIHsweDA3NDYsIDY0LCB7IDB4ZmYsIDB4YWQsIDB4M2YsIDB4MTIsIDB4MTEsIDB4ZmIsIDB4ZTQsIDB4ZjUsIDB4MzQsIDB4ZDIsIDB4MDgsIDB4OTAsIDB4N2UsIDB4M2MsIDB4ZTAsIDB4NjAsIDB4MGUsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGEsIDB4ZjAsIDB4ZTUsIDB4NDEsIDB4NDQsIDB4MDIsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2UsCi0gIDB4M2QsIDB4ZTAsIDB4NjAsIDB4MDIsIDB4ZDIsIDB4MGMsIDB4OTAsIDB4N2UsIDB4M2UsIDB4ZTAsIDB4NjAsIDB4MDgsIDB4NzUsIDB4MzUsIDB4MDEsIDB4ZTQsCi0gIDB4ZjUsIDB4MzksIDB4ZDIsIDB4MDgsIDB4OTAsIDB4N2UsIDB4M2YsIDB4ZTAsIDB4NjAsIDB4MTEsIDB4OTAsIDB4N2YsIDB4ZDcsIDB4NzQsIDB4MTN9fSwKLSB7MHgwNzg2LCA2NCwgeyAweGYwLCAweDc0LCAweDMzLCAweGYwLCAweDc0LCAweDE2LCAweGYwLCAweDc0LCAweDM2LCAweGYwLCAweGQyLCAweDA0LCAweGU0LCAweDkwLCAweDdmLCAweGQxLCAweGYwLAotICAweDMwLCAweDFhLCAweDUyLCAweGU1LCAweDM5LCAweDYwLCAweDAyLCAweDE1LCAweDM5LCAweDMwLCAweDEzLCAweDQ5LCAweGU1LCAweDEzLCAweGQzLCAweDk0LAotICAweDAwLCAweDQwLCAweDA0LCAweDE1LCAweDEzLCAweDgwLCAweDNlLCAweDc1LCAweDEzLCAweDBhLCAweDMwLCAweDFiLCAweDAyLCAweGMyLCAweDEzLCAweDEyLAotICAweDEzLCAweDRiLCAweGVmLCAweDU0LCAweDAxLCAweGY1LCAweDE5LCAweDY1LCAweDMzLCAweDYwLCAweDA1LCAweDg1LCAweDE5LCAweDMzLCAweGQyfX0sCi0gezB4MDdjNiwgNjQsIHsgMHgwOCwgMHgxMiwgMHgxMywgMHg4NywgMHhlZiwgMHg1NCwgMHg4MCwgMHhmNSwgMHgxOSwgMHg2NSwgMHgyZiwgMHg2MCwgMHgwNSwgMHg4NSwgMHgxOSwgMHgyZiwgMHhkMiwKLSAgMHgwOCwgMHgzMCwgMHgwZSwgMHgxMSwgMHgxMiwgMHgxMywgMHg4NywgMHhlZiwgMHg1NCwgMHgxMCwgMHhmNSwgMHgxOSwgMHg2NSwgMHgyZSwgMHg2MCwgMHgwNSwKLSAgMHg4NSwgMHgxOSwgMHgyZSwgMHhkMiwgMHgwOCwgMHgzMCwgMHgxYSwgMHgyYSwgMHg5MCwgMHg3ZiwgMHhkMiwgMHhlMCwgMHgyMCwgMHhlMSwgMHgyMywgMHg5MCwKLSAgMHg3YiwgMHg0MCwgMHhlMCwgMHg2MCwgMHgwOSwgMHhlMCwgMHhmNSwgMHgxNSwgMHg5MCwgMHg3YiwgMHg0MiwgMHhlMCwgMHhmNSwgMHgxNiwgMHg5MH19LAotIHsweDA4MDYsIDY0LCB7IDB4N2IsIDB4NDEsIDB4ZTAsIDB4NjAsIDB4MDksIDB4OTAsIDB4N2YsIDB4ZDcsIDB4NzQsIDB4MTcsIDB4ZjAsIDB4NzQsIDB4MzcsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsCi0gIDB4ZDMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YzIsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDMsIDB4MDIsIDB4MDksIDB4MjAsIDB4ZTUsIDB4MGEsIDB4NzAsIDB4NDAsCi0gIDB4MzAsIDB4MDcsIDB4MzksIDB4ZTUsIDB4MzgsIDB4NzAsIDB4MzUsIDB4YzIsIDB4MDcsIDB4ZjUsIDB4MTgsIDB4N2UsIDB4MDAsIDB4N2IsIDB4MDAsIDB4NzQsCi0gIDB4MjQsIDB4MjUsIDB4MTgsIDB4ZjksIDB4ZWUsIDB4MzQsIDB4MDAsIDB4ZmEsIDB4MTIsIDB4MGUsIDB4OGMsIDB4ZmYsIDB4NzQsIDB4ODAsIDB4MjV9fSwKLSB7MHgwODQ2LCA2NCwgeyAweDE4LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdiLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDA1LCAweDE4LCAweGU1LCAweDE4LCAweGI0LCAweDA5LCAweGRiLAotICAweDkwLCAweDdmLCAweGMzLCAweDc0LCAweDA5LCAweGYwLCAweDc1LCAweDM4LCAweDEwLCAweGU0LCAweGY1LCAweDJjLCAweDc1LCAweDBhLCAweDAxLCAweDIyLAotICAweGU1LCAweDBhLCAweDY0LCAweDAxLCAweDcwLCAweDQwLCAweDMwLCAweDA4LCAweDM5LCAweGU1LCAweDM5LCAweDcwLCAweDM1LCAweGMyLCAweDA4LCAweGY1LAotICAweDE4LCAweDdlLCAweDAwLCAweDdiLCAweDAwLCAweDc0LCAweDJkLCAweDI1LCAweDE4LCAweGY5LCAweGVlLCAweDM0LCAweDAwLCAweGZhLCAweDEyfX0sCi0gezB4MDg4NiwgNjQsIHsgMHgwZSwgMHg4YywgMHhmZiwgMHg3NCwgMHg4MCwgMHgyNSwgMHgxOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHgwNSwKLSAgMHgxOCwgMHhlNSwgMHgxOCwgMHhiNCwgMHgwOSwgMHhkYiwgMHg5MCwgMHg3ZiwgMHhjMywgMHg3NCwgMHgwOSwgMHhmMCwgMHg3NSwgMHgzOSwgMHgxMCwgMHhlNCwKLSAgMHhmNSwgMHgzNSwgMHg3NSwgMHgwYSwgMHgwMiwgMHgyMiwgMHhlNSwgMHgwYSwgMHg2NCwgMHgwMiwgMHg3MCwgMHgzNiwgMHgzMCwgMHgxNCwgMHgyZiwgMHhjMiwKLSAgMHgxNCwgMHhmNSwgMHgxOCwgMHg3ZSwgMHgwMCwgMHg3YiwgMHgwMCwgMHg3NCwgMHgwZSwgMHgyNSwgMHgxOCwgMHhmOSwgMHhlZSwgMHgzNCwgMHgwMH19LAotIHsweDA4YzYsIDY0LCB7IDB4ZmEsIDB4MTIsIDB4MGUsIDB4OGMsIDB4ZmYsIDB4NzQsIDB4ODAsIDB4MjUsIDB4MTgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2IsIDB4ZjUsIDB4ODMsIDB4ZWYsCi0gIDB4ZjAsIDB4MDUsIDB4MTgsIDB4ZTUsIDB4MTgsIDB4YjQsIDB4MDUsIDB4ZGIsIDB4OTAsIDB4N2YsIDB4YzMsIDB4NzQsIDB4MDUsIDB4ZjAsIDB4NzUsIDB4MGEsCi0gIDB4MDMsIDB4MjIsIDB4ZTUsIDB4MTUsIDB4NjAsIDB4MzAsIDB4MTUsIDB4MTUsIDB4ZTQsIDB4ZjUsIDB4MTgsIDB4N2UsIDB4MDAsIDB4N2IsIDB4MDAsIDB4NzQsCi0gIDB4MTQsIDB4MjUsIDB4MTgsIDB4ZjksIDB4ZWUsIDB4MzQsIDB4MDAsIDB4ZmEsIDB4MTIsIDB4MGUsIDB4OGMsIDB4ZmYsIDB4NzQsIDB4ODAsIDB4MjV9fSwKLSB7MHgwOTA2LCA2NCwgeyAweDE4LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdiLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDA1LCAweDE4LCAweGU1LCAweDE4LCAweGI0LCAweDAzLCAweGRiLAotICAweDkwLCAweDdmLCAweGMzLCAweDc0LCAweDAzLCAweGYwLCAweGU0LCAweGY1LCAweDBhLCAweDIyLCAweDkwLCAweDdmLCAweGU5LCAweGUwLCAweDEyLCAweDBlLAotICAweGU0LCAweDBhLCAweDA4LCAweDAwLCAweDBhLCAweDdjLCAweDAxLCAweDBhLCAweGU4LCAweDAzLCAweDA5LCAweDQ0LCAweDA2LCAweDA5LCAweGZiLCAweDA4LAotICAweDA5LCAweGY1LCAweDA5LCAweDA5LCAweGRkLCAweDBhLCAweDA5LCAweGVjLCAweDBiLCAweDAwLCAweDAwLCAweDBiLCAweDM3LCAweDkwLCAweDdmfX0sCi0gezB4MDk0NiwgNjQsIHsgMHhlYiwgMHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxOSwgMHgxNCwgMHg2MCwgMHg2MSwgMHgyNCwgMHgwMiwgMHg2MCwgMHgwMywgMHgwMiwgMHgwOSwgMHhkMywgMHg3NCwKLSAgMHgxOSwgMHg5MCwgMHg3ZiwgMHhkNCwgMHhmMCwgMHg3NCwgMHgwMCwgMHg5MCwgMHg3ZiwgMHhkNSwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzZSwgMHg5MCwgMHg3ZiwKLSAgMHhlYSwgMHhlMCwgMHg3MCwgMHgwNCwgMHg3ZiwgMHgwMiwgMHg4MCwgMHgwMiwgMHg3ZiwgMHgwMywgMHg3NSwgMHg4MiwgMHg4MiwgMHg3NSwgMHg4MywgMHgxOSwKLSAgMHhlZiwgMHhmMCwgMHg3NSwgMHg4MiwgMHg3YiwgMHg3NSwgMHg4MywgMHgxOSwgMHhmMCwgMHg3NSwgMHg4MiwgMHg3NCwgMHg3NSwgMHg4MywgMHgxOX19LAotIHsweDA5ODYsIDY0LCB7IDB4ZjAsIDB4NzUsIDB4ODIsIDB4NjYsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZjAsIDB4NzUsIDB4ODIsIDB4NTgsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZjAsIDB4OTAsIDB4N2YsCi0gIDB4ZWEsIDB4ZTAsIDB4MDQsIDB4NzUsIDB4ODIsIDB4MTcsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZjAsIDB4NzQsIDB4MTksIDB4OTAsIDB4N2YsIDB4ZDQsIDB4ZjAsCi0gIDB4NzQsIDB4MTIsIDB4OTAsIDB4N2YsIDB4ZDUsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4M2UsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MGYsCi0gIDB4MGEsIDB4ZWEsIDB4NDksIDB4NjAsIDB4MGQsIDB4ZWEsIDB4OTAsIDB4N2YsIDB4ZDQsIDB4ZjAsIDB4ZTksIDB4OTAsIDB4N2YsIDB4ZDUsIDB4ZjB9fSwKLSB7MHgwOWM2LCA2NCwgeyAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmLCAweGI0LCAweGUwLAotICAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmLCAweDAwLCAweGU1LCAweDA5LCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LAotICAweDAxLCAweGYwLCAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGY1LCAweDA5LCAweDAyLCAweDBiLCAweDNlLCAweDEyLCAweDBiLAotICAweDQ2LCAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmLCAweDAwLCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweGYwLCAweDAyfX0sCi0gezB4MGEwNiwgNjQsIHsgMHgwYiwgMHgzZSwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwgMHgyNCwgMHg3ZiwgMHg2MCwgMHgyNCwgMHgxNCwgMHg2MCwgMHgzMSwgMHgyNCwgMHgwMiwgMHg3MCwgMHg1YiwKLSAgMHhhMiwgMHgxMCwgMHhlNCwgMHgzMywgMHhmZiwgMHgyNSwgMHhlMCwgMHhmZiwgMHhhMiwgMHgxNiwgMHhlNCwgMHgzMywgMHg0ZiwgMHg5MCwgMHg3ZiwgMHgwMCwKLSAgMHhmMCwgMHhlNCwgMHhhMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzZSwgMHhlNCwgMHg5MCwgMHg3ZiwKLSAgMHgwMCwgMHhmMCwgMHhhMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzZSwgMHg5MCwgMHg3Zn19LAotIHsweDBhNDYsIDY0LCB7IDB4ZWMsIDB4ZTAsIDB4ZjQsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsCi0gIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZjAsIDB4ZTQsCi0gIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4M2UsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsCi0gIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4M2UsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MWQsIDB4MjQsIDB4MDJ9fSwKLSB7MHgwYTg2LCA2NCwgeyAweDYwLCAweDAzLCAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGI0LCAweDAxLCAweDA1LCAweGMyLCAweDEwLCAweDAyLCAweDBiLCAweDNlLAotICAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDcwLCAweDM4LAotICAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLAotICAweDI1LCAweGUwLCAweDI0LCAweGI0LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweGU0LCAweGYwLCAweDkwLCAweDdmfX0sCi0gezB4MGFjNiwgNjQsIHsgMHhlYywgMHhlMCwgMHg1NCwgMHg4MCwgMHhmZiwgMHgxMywgMHgxMywgMHgxMywgMHg1NCwgMHgxZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHg5MCwgMHg3ZiwKLSAgMHhkNywgMHhmMCwgMHhlMCwgMHg0NCwgMHgyMCwgMHhmMCwgMHg4MCwgMHg1ZiwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg4MCwKLSAgMHg1NiwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxOCwgMHgyNCwgMHgwMiwgMHg3MCwgMHg0YSwgMHg5MCwgMHg3ZiwgMHhlYSwKLSAgMHhlMCwgMHhiNCwgMHgwMSwgMHgwNCwgMHhkMiwgMHgxMCwgMHg4MCwgMHgzZiwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMH19LAotIHsweDBiMDYsIDY0LCB7IDB4ODAsIDB4MzYsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4NzAsIDB4MjAsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4ZjQsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4YzQsCi0gIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsCi0gIDB4ZjUsIDB4ODMsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4MTAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4MDcsCi0gIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4MjJ9fSwKLSB7MHgwYjQ2LCA2NCwgeyAweGU0LCAweDkwLCAweDdmLCAweDkzLCAweGYwLCAweDkwLCAweDdmLCAweDljLCAweDc0LCAweDMwLCAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweDk2LCAweGYwLCAweDkwLAotICAweDdmLCAweDk1LCAweDc0LCAweGMwLCAweGYwLCAweDkwLCAweDdmLCAweDllLCAweDc0LCAweDNmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE4LAotICAweGYwLCAweGU0LCAweGY1LCAweDhlLCAweDkwLCAweDdmLCAweGRmLCAweDc0LCAweGZmLCAweGYwLCAweDkwLCAweDdmLCAweGRlLCAweGYwLCAweGU0LCAweGY1LAotICAweDI0LCAweDc1LCAweDE4LCAweDAxLCAweDdiLCAweDAwLCAweDc0LCAweDI0LCAweDI1LCAweDE4LCAweGY5LCAweGU0LCAweDM0LCAweDAwLCAweGZhfX0sCi0gezB4MGI4NiwgNjQsIHsgMHhlNCwgMHgxMiwgMHgwZSwgMHhkMiwgMHgwNSwgMHgxOCwgMHhlNSwgMHgxOCwgMHhiNCwgMHgwOSwgMHhlYSwgMHg3NSwgMHgzYSwgMHgwMSwgMHhlNCwgMHhmNSwgMHgzOCwKLSAgMHhmNSwgMHgxMywgMHhmNSwgMHgzNiwgMHhjMiwgMHgwNywgMHhjMiwgMHgwYiwgMHhjMiwgMHgwNSwgMHhjMiwgMHgwMCwgMHhjMiwgMHgwOSwgMHhjMiwgMHgxMywKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg3NSwgMHg0NCwgMHgwMywgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHgwMywgMHhmMCwgMHg3ZiwKLSAgMHgwYywgMHhlNCwgMHhmZCwgMHgxMiwgMHgxMSwgMHhiMSwgMHg3ZiwgMHgxMCwgMHg4ZiwgMHg0MiwgMHgxMiwgMHgxMCwgMHg4MSwgMHg5MCwgMHg3Zn19LAotIHsweDBiYzYsIDY0LCB7IDB4OTgsIDB4NzQsIDB4MTIsIDB4ZjAsIDB4N2YsIDB4MDEsIDB4OGYsIDB4NDAsIDB4ZWYsIDB4NDQsIDB4MDYsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2YsCi0gIDB4OTgsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4NzUsIDB4NDYsIDB4ODAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4ODAsIDB4ZjAsIDB4MGYsIDB4ZTQsIDB4ZmQsCi0gIDB4MTIsIDB4MTEsIDB4YjEsIDB4ZTQsIDB4ZmYsIDB4N2UsIDB4YTMsIDB4YWQsIDB4MDYsIDB4OGQsIDB4M2UsIDB4MTIsIDB4MTEsIDB4YjEsIDB4OTAsIDB4N2YsCi0gIDB4OTgsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTQsIDB4ZjAsIDB4N2YsIDB4MDUsIDB4N2QsIDB4N2YsIDB4MTIsIDB4MTF9fSwKLSB7MHgwYzA2LCA2NCwgeyAweGIxLCAweDdmLCAweDAxLCAweDEyLCAweDEyLCAweDZhLCAweDdmLCAweDAzLCAweDdkLCAweDA3LCAweDEyLCAweDExLCAweGIxLCAweDIwLCAweDFiLCAweDAzLCAweDAyLAotICAweDBjLCAweGI3LCAweDc1LCAweDJkLCAweDAxLCAweDc1LCAweDE4LCAweDAxLCAweDdiLCAweDAwLCAweDc0LCAweDJkLCAweDI1LCAweDE4LCAweGY5LCAweGU0LAotICAweDM0LCAweDAwLCAweGZhLCAweGU0LCAweDEyLCAweDBlLCAweGQyLCAweDA1LCAweDE4LCAweGU1LCAweDE4LCAweGI0LCAweDA5LCAweGVhLCAweDc1LCAweDNiLAotICAweDAxLCAweGU0LCAweGY1LCAweDM5LCAweGY1LCAweDEzLCAweGY1LCAweDM3LCAweGMyLCAweDA4LCAweGMyLCAweDBjLCAweGMyLCAweDA2LCAweGMyfX0sCi0gezB4MGM0NiwgNjQsIHsgMHgwMCwgMHhjMiwgMHgwYSwgMHhjMiwgMHgxMywgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHg3NSwgMHg0NSwgMHgwMywgMHg5MCwgMHhjMCwgMHgwMCwKLSAgMHg3NCwgMHgwMywgMHhmMCwgMHg3ZiwgMHgwYywgMHhlNCwgMHhmZCwgMHgxMiwgMHgxMSwgMHhmYiwgMHg3ZiwgMHgxMCwgMHg4ZiwgMHg0MywgMHgxMiwgMHgxMCwKLSAgMHhmMywgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYSwgMHhmMCwgMHg3ZiwgMHgwMSwgMHg4ZiwgMHg0MSwgMHhlZiwgMHg0NCwgMHgwNiwgMHg5MCwgMHhjMCwKLSAgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYywgMHhmMCwgMHg3NSwgMHg0NywgMHg4MCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NH19LAotIHsweDBjODYsIDY0LCB7IDB4ODAsIDB4ZjAsIDB4MGYsIDB4ZTQsIDB4ZmQsIDB4MTIsIDB4MTEsIDB4ZmIsIDB4ZTQsIDB4ZmYsIDB4N2UsIDB4YTMsIDB4YWQsIDB4MDYsIDB4OGQsIDB4M2YsIDB4MTIsCi0gIDB4MTEsIDB4ZmIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MDksIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTQsIDB4ZjAsIDB4N2YsIDB4MDUsIDB4N2QsCi0gIDB4N2YsIDB4MTIsIDB4MTEsIDB4ZmIsIDB4N2YsIDB4MDEsIDB4MTIsIDB4MTIsIDB4OGIsIDB4N2YsIDB4MDMsIDB4N2QsIDB4MDcsIDB4MTIsIDB4MTEsIDB4ZmIsCi0gIDB4ZDIsIDB4MTIsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4YWYsIDB4MDgsIDB4ZTUsIDB4MGQsIDB4ZjUsIDB4ODJ9fSwKLSB7MHgwY2M2LCA2NCwgeyAweGU1LCAweDBjLCAweGY1LCAweDgzLCAweGMyLCAweGFmLCAweDA1LCAweDg2LCAweDkwLCAweGMwLCAweDAwLCAweDA1LCAweDg2LCAweGUwLCAweGEzLCAweDA1LCAweDg2LAotICAweGYwLCAweDA1LCAweDg2LCAweGRmLCAweGY3LCAweGQyLCAweGFmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEwLCAweGYwLCAweGFmLCAweDA4LAotICAweGU1LCAweDBkLCAweGY1LCAweDgyLCAweGU1LCAweDBjLCAweGY1LCAweDgzLCAweGMyLCAweGFmLCAweDA1LCAweDg2LCAweDkwLCAweGMwLCAweDAwLCAweGUwLAotICAweDA1LCAweDg2LCAweGYwLCAweGEzLCAweDA1LCAweDg2LCAweGRmLCAweGY3LCAweDA1LCAweDg2LCAweGQyLCAweGFmLCAweDIyLCAweDkwLCAweDdmfX0sCi0gezB4MGQwNiwgNjQsIHsgMHg5OCwgMHg3NCwgMHgwOCwgMHhmMCwgMHhhZiwgMHgwOCwgMHhlNSwgMHgwZCwgMHhmNSwgMHg4MiwgMHhlNSwgMHgwYywgMHhmNSwgMHg4MywgMHhjMiwgMHhhZiwgMHgwNSwKLSAgMHg4NiwgMHg5MCwgMHhjMCwgMHgwMCwgMHgwNSwgMHg4NiwgMHhlMCwgMHhhMywgMHgwNSwgMHg4NiwgMHhmMCwgMHgwNSwgMHg4NiwgMHhkZiwgMHhmNywgMHhkMiwKLSAgMHhhZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwOCwgMHhmMCwgMHhhZiwgMHgwOCwgMHhlNSwgMHgwZCwgMHhmNSwgMHg4MiwgMHhlNSwgMHgwYywKLSAgMHhmNSwgMHg4MywgMHhjMiwgMHhhZiwgMHgwNSwgMHg4NiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHgwNSwgMHg4NiwgMHhmMCwgMHhhMywgMHgwNX19LAotIHsweDBkNDYsIDY0LCB7IDB4ODYsIDB4ZGYsIDB4ZjcsIDB4MDUsIDB4ODYsIDB4ZDIsIDB4YWYsIDB4MjIsIDB4NzQsIDB4MDAsIDB4ZjUsIDB4ODYsIDB4OTAsIDB4ZmQsIDB4YTUsIDB4N2MsIDB4MDUsCi0gIDB4YTMsIDB4ZTUsIDB4ODIsIDB4NDUsIDB4ODMsIDB4NzAsIDB4ZjksIDB4MjIsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4NDMsCi0gIDB4ODcsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MjIsIDB4ZDIsIDB4MTksIDB4OTAsIDB4N2YsIDB4OTIsIDB4ZTAsIDB4NDQsIDB4MDIsCi0gIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWUsIDB4ZTAsIDB4ZmYsIDB4ZDMsIDB4OTIsIDB4MTAsIDB4ZTQsIDB4MzMsIDB4ZmUsIDB4ZWYsIDB4NGUsIDB4ZjB9fSwKLSB7MHgwZDg2LCA2NCwgeyAweGQyLCAweGU4LCAweDQzLCAweGQ4LCAweDIwLCAweDkwLCAweDdmLCAweGRlLCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGRmLCAweGYwLCAweDkwLCAweDdmLAotICAweGFiLCAweDc0LCAweGZmLCAweGYwLCAweDkwLCAweDdmLCAweGE5LCAweGYwLCAweDkwLCAweDdmLCAweGFhLCAweGYwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLAotICAweDdmLCAweGFmLCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGFlLCAweGUwLCAweDQ0LCAweDBkLCAweGYwLCAweGQyLCAweGFmLCAweGQyLAotICAweDFhLCAweDEyLCAweDEyLCAweDQ1LCAweGMyLCAweDExLCAweGU0LCAweGY1LCAweDBiLCAweGY1LCAweDEzLCAweGMyLCAweDE3LCAweGMyLCAweDEyfX0sCi0gezB4MGRjNiwgNjQsIHsgMHg5MCwgMHg3ZiwgMHhhMSwgMHgwNCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkOCwgMHhlMCwgMHg2NSwgMHgxNywgMHg2MCwgMHgxMCwgMHgzMCwgMHgxMiwgMHgwNSwgMHhkMiwKLSAgMHgxYSwgMHgxMiwgMHgwMCwgMHg0NiwgMHg5MCwgMHg3ZiwgMHhkOCwgMHhlMCwgMHhmNSwgMHgxNywgMHg4MCwgMHgwOCwgMHgzMCwgMHgxMiwgMHgwNSwgMHhjMiwKLSAgMHgxYSwgMHgxMiwgMHgwMCwgMHg0NiwgMHgzMCwgMHgxMSwgMHgwNywgMHhjMiwgMHgxMSwgMHgxMiwgMHgwOSwgMHgyMSwgMHg4MCwgMHhkNiwgMHgzMCwgMHgxOCwKLSAgMHhkMywgMHhjMiwgMHgxOCwgMHgxMiwgMHgxMywgMHg5MywgMHg4MCwgMHhjYywgMHgyMiwgMHg3OCwgMHg3ZiwgMHhlNCwgMHhmNiwgMHhkOCwgMHhmZH19LAotIHsweDBlMDYsIDY0LCB7IDB4NzUsIDB4ODEsIDB4NDcsIDB4MDIsIDB4MGUsIDB4NDcsIDB4MDIsIDB4MGQsIDB4NmYsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjgsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4NDAsCi0gIDB4MDMsIDB4ZjYsIDB4ODAsIDB4MDEsIDB4ZjIsIDB4MDgsIDB4ZGYsIDB4ZjQsIDB4ODAsIDB4MjksIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjgsIDB4NTQsIDB4MDcsCi0gIDB4MjQsIDB4MGMsIDB4YzgsIDB4YzMsIDB4MzMsIDB4YzQsIDB4NTQsIDB4MGYsIDB4NDQsIDB4MjAsIDB4YzgsIDB4ODMsIDB4NDAsIDB4MDQsIDB4ZjQsIDB4NTYsCi0gIDB4ODAsIDB4MDEsIDB4NDYsIDB4ZjYsIDB4ZGYsIDB4ZTQsIDB4ODAsIDB4MGIsIDB4MDEsIDB4MDIsIDB4MDQsIDB4MDgsIDB4MTAsIDB4MjAsIDB4NDB9fSwKLSB7MHgwZTQ2LCA2NCwgeyAweDgwLCAweDkwLCAweDEyLCAweGFjLCAweGU0LCAweDdlLCAweDAxLCAweDkzLCAweDYwLCAweGJjLCAweGEzLCAweGZmLCAweDU0LCAweDNmLCAweDMwLCAweGU1LCAweDA5LAotICAweDU0LCAweDFmLCAweGZlLCAweGU0LCAweDkzLCAweGEzLCAweDYwLCAweDAxLCAweDBlLCAweGNmLCAweDU0LCAweGMwLCAweDI1LCAweGUwLCAweDYwLCAweGE4LAotICAweDQwLCAweGI4LCAweGU0LCAweDkzLCAweGEzLCAweGZhLCAweGU0LCAweDkzLCAweGEzLCAweGY4LCAweGU0LCAweDkzLCAweGEzLCAweGM4LCAweGM1LCAweDgyLAotICAweGM4LCAweGNhLCAweGM1LCAweDgzLCAweGNhLCAweGYwLCAweGEzLCAweGM4LCAweGM1LCAweDgyLCAweGM4LCAweGNhLCAweGM1LCAweDgzLCAweGNhfX0sCi0gezB4MGU4NiwgNjQsIHsgMHhkZiwgMHhlOSwgMHhkZSwgMHhlNywgMHg4MCwgMHhiZSwgMHhiYiwgMHgwMSwgMHgwNiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlMCwgMHgyMiwgMHg1MCwgMHgwMiwKLSAgMHhlNywgMHgyMiwgMHhiYiwgMHhmZSwgMHgwMiwgMHhlMywgMHgyMiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlNCwgMHg5MywgMHgyMiwgMHhiYiwgMHgwMSwKLSAgMHgwYywgMHhlNSwgMHg4MiwgMHgyOSwgMHhmNSwgMHg4MiwgMHhlNSwgMHg4MywgMHgzYSwgMHhmNSwgMHg4MywgMHhlMCwgMHgyMiwgMHg1MCwgMHgwNiwgMHhlOSwKLSAgMHgyNSwgMHg4MiwgMHhmOCwgMHhlNiwgMHgyMiwgMHhiYiwgMHhmZSwgMHgwNiwgMHhlOSwgMHgyNSwgMHg4MiwgMHhmOCwgMHhlMiwgMHgyMiwgMHhlNX19LAotIHsweDBlYzYsIDY0LCB7IDB4ODIsIDB4MjksIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4OTMsIDB4MjIsIDB4YmIsIDB4MDEsIDB4MDYsIDB4ODksIDB4ODIsCi0gIDB4OGEsIDB4ODMsIDB4ZjAsIDB4MjIsIDB4NTAsIDB4MDIsIDB4ZjcsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDEsIDB4ZjMsIDB4MjIsIDB4ZDAsIDB4ODMsIDB4ZDAsCi0gIDB4ODIsIDB4ZjgsIDB4ZTQsIDB4OTMsIDB4NzAsIDB4MTIsIDB4NzQsIDB4MDEsIDB4OTMsIDB4NzAsIDB4MGQsIDB4YTMsIDB4YTMsIDB4OTMsIDB4ZjgsIDB4NzQsCi0gIDB4MDEsIDB4OTMsIDB4ZjUsIDB4ODIsIDB4ODgsIDB4ODMsIDB4ZTQsIDB4NzMsIDB4NzQsIDB4MDIsIDB4OTMsIDB4NjgsIDB4NjAsIDB4ZWYsIDB4YTN9fSwKLSB7MHgwZjA2LCA2NCwgeyAweGEzLCAweGEzLCAweDgwLCAweGRmLCAweDhmLCAweDE4LCAweGU0LCAweGY1LCAweDE5LCAweDc1LCAweDFhLCAweGZmLCAweDc1LCAweDFiLCAweDE5LCAweDc1LCAweDFjLAotICAweDg2LCAweGFiLCAweDFhLCAweGFhLCAweDFiLCAweGE5LCAweDFjLCAweDkwLCAweDAwLCAweDAxLCAweDEyLCAweDBlLCAweGE1LCAweGI0LCAweDAzLCAweDFkLAotICAweGFmLCAweDE5LCAweDA1LCAweDE5LCAweGVmLCAweGI1LCAweDE4LCAweDAxLCAweDIyLCAweDEyLCAweDBlLCAweDhjLCAweDdlLCAweDAwLCAweDI5LCAweGZmLAotICAweGVlLCAweDNhLCAweGE5LCAweDA3LCAweDc1LCAweDFhLCAweGZmLCAweGY1LCAweDFiLCAweDg5LCAweDFjLCAweDgwLCAweGQ0LCAweDdiLCAweDAwfX0sCi0gezB4MGY0NiwgNjQsIHsgMHg3YSwgMHgwMCwgMHg3OSwgMHgwMCwgMHgyMiwgMHg4ZiwgMHgxYSwgMHgwNSwgMHgwZCwgMHhlNSwgMHgwZCwgMHhhZSwgMHgwYywgMHg3MCwgMHgwMiwgMHgwNSwgMHgwYywKLSAgMHgxNCwgMHhmNSwgMHg4MiwgMHg4ZSwgMHg4MywgMHhlNSwgMHgxYSwgMHhmMCwgMHgxMiwgMHgwMCwgMHgzNiwgMHgwNSwgMHgwZCwgMHhlNSwgMHgwZCwgMHhhYywKLSAgMHgwYywgMHg3MCwgMHgwMiwgMHgwNSwgMHgwYywgMHgxNCwgMHhmNSwgMHg4MiwgMHg4YywgMHg4MywgMHhlZiwgMHhmMCwgMHgxNSwgMHgwOCwgMHhlNSwgMHgwOCwKLSAgMHg2MCwgMHgwYSwgMHgxMiwgMHgxMywgMHgyNywgMHg4ZiwgMHgxYSwgMHhlZiwgMHg0MiwgMHgzNiwgMHg4MCwgMHhjYSwgMHgyMiwgMHg4ZiwgMHgxYX19LAotIHsweDBmODYsIDY0LCB7IDB4MDUsIDB4MGQsIDB4ZTUsIDB4MGQsIDB4YWUsIDB4MGMsIDB4NzAsIDB4MDIsIDB4MDUsIDB4MGMsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGUsIDB4ODMsIDB4ZTUsIDB4MWEsCi0gIDB4ZjAsIDB4MTIsIDB4MTMsIDB4M2YsIDB4MDUsIDB4MGQsIDB4ZTUsIDB4MGQsIDB4YWMsIDB4MGMsIDB4NzAsIDB4MDIsIDB4MDUsIDB4MGMsIDB4MTQsIDB4ZjUsCi0gIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MTUsIDB4MDgsIDB4ZTUsIDB4MDgsIDB4NjAsIDB4MGEsIDB4MTIsIDB4MTMsIDB4N2IsIDB4OGYsIDB4MWEsCi0gIDB4ZWYsIDB4NDIsIDB4MzcsIDB4ODAsIDB4Y2EsIDB4MjIsIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzB9fSwKLSB7MHgwZmM2LCA2NCwgeyAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweDkwLCAweDdmLCAweGM0LCAweGU0LCAweGYwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLAotICAweDc0LCAweDA0LCAweGYwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyLAotICAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweGQyLAotICAweDExLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDAxLCAweGYwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LCAweGQwfX0sCi0gezB4MTAwNiwgNjQsIHsgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwKLSAgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHhkMiwgMHgxOCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwOCwKLSAgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwgMHg5MCwgMHg3ZiwKLSAgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMH19LAotIHsweDEwNDYsIDY0LCB7IDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTUsIDB4NDQsIDB4NTQsIDB4N2YsIDB4OTAsCi0gIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsCi0gIDB4ZjAsIDB4ZTUsIDB4NDQsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTN9fSwKLSB7MHgxMDg2LCA2NCwgeyAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEyLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLAotICAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweGU1LCAweDQ0LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLAotICAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LAotICAweDE0LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweGU1LCAweDQ0fX0sCi0gezB4MTBjNiwgNjQsIHsgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwKLSAgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwKLSAgMHg3NCwgMHgxMywgMHhmMCwgMHhlNSwgMHg0NCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwKLSAgMHgwYiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYSwgMHhmMCwgMHg5MH19LAotIHsweDExMDYsIDY0LCB7IDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4ZTUsIDB4NDUsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsCi0gIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsCi0gIDB4OTgsIDB4NzQsIDB4MDgsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4ZTUsCi0gIDB4NDUsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4OTB9fSwKLSB7MHgxMTQ2LCA2NCwgeyAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDA5LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLAotICAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweGU1LCAweDQ1LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLAotICAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBjLCAweGYwLAotICAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweGU1LCAweDQ1LCAweDU0LCAweDdmfX0sCi0gezB4MTE4NiwgNjQsIHsgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwZSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwKLSAgMHhmMCwgMHhlNSwgMHg0NSwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwKLSAgMHhlNSwgMHg0NCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNywgMHhmMCwgMHg5MH19LAotIHsweDExYzYsIDY0LCB7IDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTUsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWQsIDB4ZjAsIDB4MjIsIDB4MTIsCi0gIDB4MTMsIDB4MGYsIDB4OGYsIDB4MWEsIDB4MTIsIDB4MTMsIDB4MGYsIDB4OGYsIDB4MWIsIDB4ZTUsIDB4MWEsIDB4NjUsIDB4MWIsIDB4NjAsIDB4MTIsIDB4MTIsCi0gIDB4MTMsIDB4MGYsIDB4OGYsIDB4MWEsIDB4ZTUsIDB4MWEsIDB4NjUsIDB4MWIsIDB4NjAsIDB4MDcsIDB4MTIsIDB4MTMsIDB4MGYsIDB4OGYsIDB4MWIsIDB4ODAsCi0gIDB4ZTgsIDB4YWYsIDB4MWEsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4ZTUsIDB4NDUsIDB4NTQsIDB4N2YsIDB4OTB9fSwKLSB7MHgxMjA2LCA2NCwgeyAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBmLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LAotICAweDc0LCAweDBkLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVkLCAweGYwLCAweDIyLCAweDEyLCAweDEzLCAweDYzLCAweDhmLCAweDFhLCAweDEyLCAweDEzLAotICAweDYzLCAweDhmLCAweDFiLCAweGU1LCAweDFhLCAweDY1LCAweDFiLCAweDYwLCAweDEyLCAweDEyLCAweDEzLCAweDYzLCAweDhmLCAweDFhLCAweGU1LCAweDFhLAotICAweDY1LCAweDFiLCAweDYwLCAweDA3LCAweDEyLCAweDEzLCAweDYzLCAweDhmLCAweDFiLCAweDgwLCAweGU4LCAweGFmLCAweDFhLCAweDIyLCAweDkwfX0sCi0gezB4MTI0NiwgNjQsIHsgMHg3ZiwgMHhkNiwgMHhlMCwgMHg1NCwgMHhmYiwgMHhmMCwgMHhlMCwgMHg0NCwgMHgwOCwgMHhmMCwgMHgzMCwgMHgxYSwgMHgwNCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwKLSAgMHg3ZiwgMHhmNCwgMHg3ZSwgMHgwMSwgMHgxMiwgMHgxMiwgMHhjOCwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg1NCwgMHhmNywgMHhmMCwgMHhlMCwgMHg0NCwKLSAgMHgwNCwgMHhmMCwgMHgyMiwgMHhhZSwgMHgwNywgMHhlNCwgMHhmZiwgMHhlNSwgMHgzZSwgMHg1NCwgMHg3ZiwgMHhmZCwgMHgxMiwgMHgxMSwgMHhiMSwgMHg5MCwKLSAgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZSwgMHhmMCwgMHhlNCwgMHhlNSwgMHgzZSwgMHg0NCwgMHg4MH19LAotIHsweDEyODYsIDY0LCB7IDB4ZmQsIDB4MTIsIDB4MTEsIDB4YjEsIDB4MjIsIDB4YWUsIDB4MDcsIDB4ZTQsIDB4ZmYsIDB4ZTUsIDB4M2YsIDB4NTQsIDB4N2YsIDB4ZmQsIDB4MTIsIDB4MTEsIDB4ZmIsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MDksIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWUsIDB4ZjAsIDB4ZTQsIDB4ZTUsIDB4M2YsIDB4NDQsIDB4ODAsCi0gIDB4ZmQsIDB4MTIsIDB4MTEsIDB4ZmIsIDB4MjIsIDB4MDUsIDB4MGUsIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDMsIDB4MTQsIDB4MDMsIDB4MDAsCi0gIDB4MDAsIDB4YzEsIDB4MTEsIDB4YzEsIDB4MTgsIDB4YzEsIDB4OTUsIDB4YzEsIDB4MTAsIDB4YzEsIDB4MTYsIDB4MDEsIDB4MGEsIDB4MDAsIDB4YzF9fSwKLSB7MHgxMmM2LCA2NCwgeyAweDFiLCAweDAwLCAweDhlLCAweDE4LCAweDhmLCAweDE5LCAweGU1LCAweDE5LCAweDE1LCAweDE5LCAweGFlLCAweDE4LCAweDcwLCAweDAyLCAweDE1LCAweDE4LCAweDRlLAotICAweDYwLCAweDA1LCAweDEyLCAweDBkLCAweDRlLCAweDgwLCAweGVlLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDExLCAweGYwLCAweDkwLCAweGMwLAotICAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEyLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLAotICAweDUzLCAweGQ4LCAweGVmLCAweDMyLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDBmLCAweGU3LCAweDAwLCAweDAyLCAweDEzfX0sCi0gezB4MTMwNiwgNjQsIHsgMHgwNCwgMHgwMCwgMHgwMiwgMHgwZiwgMHhiZCwgMHgwMCwgMHgwMiwgMHgxMCwgMHgwZSwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwKLSAgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwKLSAgMHgxNiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwOCwgMHhmMCwgMHg5MH19LAotIHsweDEzNDYsIDY0LCB7IDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MDksIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsCi0gIDB4MGIsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGMsIDB4ZjAsIDB4OTAsIDB4YzAsCi0gIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmZ9fSwKLSB7MHgxMzg2LCA2NCwgeyAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBlLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDEyLCAweDAwLCAweDAzLCAweDEyLAotICAweDBkLCAweDVmLCAweDEyLCAweDBiLCAweDQ2LCAweDIyLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTNjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE0MDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNDQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTQ4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE0YzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNTA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTU0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE1ODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNWM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTYwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE2NDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNjg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTZjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE3MDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNzQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTc4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE3YzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxODA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTg0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE4ODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxOGM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDEyLCAweDAxLCAweDEwLCAweDAxLCAweGZmLCAweDAwfX0sCi0gezB4MTkwNiwgNjQsIHsgMHgwMCwgMHg0MCwgMHhjZCwgMHgwNiwgMHgxMiwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMiwgMHgwMCwgMHgwMiwgMHgwOSwgMHgwMiwgMHg3NCwgMHgwMCwgMHgwMSwKLSAgMHgwMSwgMHgwMCwgMHhhMCwgMHgzMiwgMHgwOSwgMHgwNCwgMHgwMCwgMHgwMCwgMHgwZSwgMHhmZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMSwKLSAgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMywgMHgwMiwgMHg0MCwKLSAgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwNCwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwNSwgMHgwMiwgMHg0MCwgMHgwMH19LAotIHsweDE5NDYsIDY0LCB7IDB4MDAsIDB4MDcsIDB4MDUsIDB4MDYsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDcsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsCi0gIDB4ODEsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODIsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODMsIDB4MDIsCi0gIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODQsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODUsIDB4MDIsIDB4NDAsIDB4MDAsCi0gIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODYsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODcsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDF9fSwKLSB7MHgxOTg2LCA2NCwgeyAweDA0LCAweDAzLCAweDA5LCAweDA0LCAweDQ4LCAweDAzLCAweDRiLCAweDAwLCAweDY1LCAweDAwLCAweDc5LCAweDAwLCAweDczLCAweDAwLCAweDcwLCAweDAwLCAweDYxLAotICAweDAwLCAweDZlLCAweDAwLCAweDJjLCAweDAwLCAweDIwLCAweDAwLCAweDYxLCAweDAwLCAweDIwLCAweDAwLCAweDY0LCAweDAwLCAweDY5LCAweDAwLCAweDc2LAotICAweDAwLCAweDY5LCAweDAwLCAweDczLCAweDAwLCAweDY5LCAweDAwLCAweDZmLCAweDAwLCAweDZlLCAweDAwLCAweDIwLCAweDAwLCAweDZmLCAweDAwLCAweDY2LAotICAweDAwLCAweDIwLCAweDAwLCAweDQ5LCAweDAwLCAweDZlLCAweDAwLCAweDZlLCAweDAwLCAweDZmLCAweDAwLCAweDUzLCAweDAwLCAweDc5LCAweDAwfX0sCi0gezB4MTljNiwgNjQsIHsgMHg3MywgMHgwMCwgMHgyMCwgMHgwMCwgMHg0OSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2MywgMHgwMCwgMHgyZSwgMHgwMCwgMHgzNiwgMHgwMywgMHg0YiwgMHgwMCwgMHg2NSwKLSAgMHgwMCwgMHg3OSwgMHgwMCwgMHg3MywgMHgwMCwgMHg3MCwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHgyMCwgMHgwMCwgMHg1NSwgMHgwMCwgMHg1MywKLSAgMHgwMCwgMHg0MiwgMHgwMCwgMHgyMCwgMHgwMCwgMHg1MywgMHgwMCwgMHg2NSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2OSwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2YywKLSAgMHgwMCwgMHgyMCwgMHgwMCwgMHg0MSwgMHgwMCwgMHg2NCwgMHgwMCwgMHg2MSwgMHgwMCwgMHg3MCwgMHgwMCwgMHg3NCwgMHgwMCwgMHg2NSwgMHgwMH19LAotIHsweDFhMDYsIDIwLCB7IDB4NzIsIDB4MDAsIDB4MTAsIDB4MDMsIDB4MzAsIDB4MDAsIDB4MzAsIDB4MDAsIDB4MzAsIDB4MDAsIDB4MzAsIDB4MDAsIDB4MzAsIDB4MDAsIDB4MzAsIDB4MDAsIDB4MzAsCi0gIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHhmZmZmLAkwLAl7MHgwMH0gfQotfTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3VzYTE5X2Z3LmggYi9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl91c2ExOV9mdy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiMDIzYzUyLi4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3VzYTE5X2Z3LmgKKysrIC9kZXYvbnVsbApAQCAtMSwyODUgKzAsMCBAQAotLyoga2V5c3Bhbl91c2ExOV9mdy5oCi0gCi0JVGhlIGZpcm13YXJlIGNvbnRhaW5lZCBoZXJlaW4gYXMga2V5c3Bhbl91c2ExOV9mdy5oIGlzCi0KLQkJQ29weXJpZ2h0IChDKSAxOTk5LTIwMDEKLQkJS2V5c3BhbiwgQSBkaXZpc2lvbiBvZiBJbm5vU3lzIEluY29ycG9yYXRlZCAoIktleXNwYW4iKQotCQkKLQlhcyBhbiB1bnB1Ymxpc2hlZCB3b3JrLiBUaGlzIG5vdGljZSBkb2VzIG5vdCBpbXBseSB1bnJlc3RyaWN0ZWQgb3IKLQlwdWJsaWMgYWNjZXNzIHRvIHRoZSBzb3VyY2UgY29kZSBmcm9tIHdoaWNoIHRoaXMgZmlybXdhcmUgaW1hZ2UgaXMKLQlkZXJpdmVkLiAgRXhjZXB0IGFzIG5vdGVkIGJlbG93IHRoaXMgZmlybXdhcmUgaW1hZ2UgbWF5IG5vdCBiZSAKLQlyZXByb2R1Y2VkLCB1c2VkLCBzb2xkIG9yIHRyYW5zZmVycmVkIHRvIGFueSB0aGlyZCBwYXJ0eSB3aXRob3V0IAotCUtleXNwYW4ncyBwcmlvciB3cml0dGVuIGNvbnNlbnQuICBBbGwgUmlnaHRzIFJlc2VydmVkLgotCi0JUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCBmb3IgdGhlIGRpc3RyaWJ1dGlvbiBvZiB0aGlzIGZpcm13YXJlIAotCWltYWdlIGFzIHBhcnQgb2YgYSBMaW51eCBvciBvdGhlciBPcGVuIFNvdXJjZSBvcGVyYXRpbmcgc3lzdGVtIGtlcm5lbCAKLQlpbiB0ZXh0IG9yIGJpbmFyeSBmb3JtIGFzIHJlcXVpcmVkLiAKLQotCVRoaXMgZmlybXdhcmUgbWF5IG5vdCBiZSBtb2RpZmllZCBhbmQgbWF5IG9ubHkgYmUgdXNlZCB3aXRoICAKLQlLZXlzcGFuIGhhcmR3YXJlLiAgRGlzdHJpYnV0aW9uIGFuZC9vciBNb2RpZmljYXRpb24gb2YgdGhlIAotCWtleXNwYW4uYyBkcml2ZXIgd2hpY2ggaW5jbHVkZXMgdGhpcyBmaXJtd2FyZSwgaW4gd2hvbGUgb3IgaW4gCi0JcGFydCwgcmVxdWlyZXMgdGhlIGluY2x1c2lvbiBvZiB0aGlzIHN0YXRlbWVudC4iCi0qLwotCi0KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgZXp1c2JfaGV4X3JlY29yZCBrZXlzcGFuX3VzYTE5X2Zpcm13YXJlW10gPSB7Ci0gezB4MDAyNiwgMTAsIHsgMHgxMiwgMHgwZCwgMHhiZiwgMHgxMiwgMHgwZiwgMHg0NywgMHgxMiwgMHgwZCwgMHg2YiwgMHgyMn19LAotIHsweDAwMzMsICAzLCB7IDB4MDIsIDB4MDAsIDB4MWF9fSwKLSB7MHgwMDFhLCAgNCwgeyAweDUzLCAweGQ4LCAweGVmLCAweDMyfX0sCi0gezB4MDAwMywgMTYsIHsgMHg4ZSwgMHgxMywgMHg4ZiwgMHgxNCwgMHhlNSwgMHgxNCwgMHgxNSwgMHgxNCwgMHhhZSwgMHgxMywgMHg3MCwgMHgwMiwgMHgxNSwgMHgxMywgMHg0ZSwgMHg2MH19LAotIHsweDAwMTMsICA3LCB7IDB4MDUsIDB4MTIsIDB4MGYsIDB4MzYsIDB4ODAsIDB4ZWUsIDB4MjJ9fSwKLSB7MHgwMDIzLCAgMywgeyAweDAyLCAweDAwLCAweDQ2fX0sCi0gezB4MDA0NiwgMTYsIHsgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHhjMCwgMHhkMCwgMHg3NSwgMHhkMCwgMHgwOH19LAotIHsweDAwNTYsIDE2LCB7IDB4MzAsIDB4OTksIDB4MGUsIDB4MzAsIDB4MDgsIDB4MDcsIDB4YTIsIDB4MGIsIDB4OTIsIDB4OWIsIDB4ODUsIDB4MzUsIDB4OTksIDB4YzIsIDB4OTksIDB4ZDJ9fSwKLSB7MHgwMDY2LCAxNiwgeyAweDBmLCAweDIwLCAweDBmLCAweDAzLCAweDAyLCAweDA0LCAweDMxLCAweGMyLCAweDBmLCAweDIwLCAweDAyLCAweDAzLCAweDAyLCAweDAyLCAweDU2LCAweDIwfX0sCi0gezB4MDA3NiwgMTYsIHsgMHgwOCwgMHgwMywgMHgwMiwgMHgwMSwgMHgyNywgMHhlNSwgMHgzNywgMHhjMywgMHg5NSwgMHg1MCwgMHg1MCwgMHgzZSwgMHgyMCwgMHgwOSwgMHgzNiwgMHgyMH19LAotIHsweDAwODYsIDE2LCB7IDB4MDYsIDB4MzMsIDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4MzAsIDB4ZTMsIDB4MDMsIDB4MjAsIDB4MGUsIDB4MjksIDB4MzAsIDB4MGQsIDB4MTIsIDB4YWZ9fSwKLSB7MHgwMDk2LCAxNiwgeyAweDM3LCAweDA1LCAweDM3LCAweDc0LCAweDQwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyfX0sCi0gezB4MDBhNiwgMTYsIHsgMHgwYiwgMHhhZiwgMHgzNywgMHgwNSwgMHgzNywgMHg3NCwgMHg0MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlMH19LAotIHsweDAwYjYsIDE2LCB7IDB4ZjUsIDB4MzUsIDB4MDIsIDB4MDQsIDB4MmYsIDB4YzIsIDB4MDgsIDB4MDIsIDB4MDQsIDB4MmYsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZTQsIDB4ZjAsIDB4YzJ9fSwKLSB7MHgwMGM2LCAxNiwgeyAweDAyLCAweDMwLCAweDBhLCAweDBjLCAweGMyLCAweDBhLCAweDkwLCAweDdmLCAweGJiLCAweDA0LCAweGYwLCAweGMyLCAweDA4LCAweDAyLCAweDA0LCAweDJmfX0sCi0gezB4MDBkNiwgMTYsIHsgMHg5MCwgMHg3ZiwgMHhjOCwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwNSwgMHhjMiwgMHgwOCwgMHgwMiwgMHgwNCwgMHgyZiwgMHg5MCwgMHg3ZiwgMHhjOSwgMHhlMH19LAotIHsweDAwZTYsIDE2LCB7IDB4ZjUsIDB4NTAsIDB4OTAsIDB4N2QsIDB4YzAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGEsIDB4MjAsIDB4MDksIDB4MmQsIDB4MjAsIDB4MDYsIDB4MmEsIDB4OTB9fSwKLSB7MHgwMGY2LCAxNiwgeyAweDdmLCAweDliLCAweGUwLCAweDMwLCAweGUzLCAweDAzLCAweDIwLCAweDBlLCAweDIwLCAweDMwLCAweDBkLCAweDExLCAweDkwLCAweDdkLCAweGMxLCAweGUwfX0sCi0gezB4MDA0MywgIDMsIHsgMHgwMiwgMHgwZiwgMHgwMH19LAotIHsweDAwMDAsICAzLCB7IDB4MDIsIDB4MGMsIDB4NjF9fSwKLSB7MHgwMTA2LCA2NCwgeyAweDEzLCAweDkyLCAweDBiLCAweGEzLCAweGUwLCAweGY1LCAweDM1LCAweDc1LCAweDM3LCAweDAzLCAweDAyLCAweDA0LCAweDJmLCAweDc1LCAweDM3LCAweDAyLCAweDkwLAotICAweDdkLCAweGMxLCAweGUwLCAweGY1LCAweDM1LCAweDAyLCAweDA0LCAweDJmLCAweDc1LCAweDM3LCAweDAxLCAweGMyLCAweDA4LCAweDAyLCAweDA0LCAweDJmLAotICAweGU1LCAweDM3LCAweGMzLCAweDk1LCAweDUwLCAweDUwLCAweDAzLCAweDAyLCAweDAxLCAweGNmLCAweDkwLCAweDdmLCAweGM2LCAweGUwLCAweDMwLCAweGUxLAotICAweDA3LCAweGMyLCAweDEwLCAweGMyLCAweDAzLCAweDAyLCAweDA0LCAweDJmLCAweDkwLCAweDdmLCAweGM3LCAweGUwLCAweGY1LCAweDUwLCAweDkwfX0sCi0gezB4MDE0NiwgNjQsIHsgMHg3ZSwgMHg0MCwgMHhlMCwgMHgxMywgMHg5MiwgMHgwYSwgMHgzMCwgMHgwOSwgMHgwMywgMHgwMiwgMHgwMSwgMHhjNywgMHgyMCwgMHgwNiwgMHg3MiwgMHgyMCwgMHgwMCwKLSAgMHg2ZiwgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHgzMCwgMHhlMywgMHgwMywgMHgyMCwgMHgwZSwgMHg2NSwgMHgzMCwgMHgwZCwgMHgxMCwgMHg5MCwgMHg3ZSwKLSAgMHg0MSwgMHhlMCwgMHgxMywgMHg5MiwgMHg5YiwgMHhhMywgMHhlMCwgMHhmNSwgMHg5OSwgMHg3NSwgMHgzNywgMHgwMywgMHg4MCwgMHgwOSwgMHg5MCwgMHg3ZSwKLSAgMHg0MSwgMHhlMCwgMHhmNSwgMHg5OSwgMHg3NSwgMHgzNywgMHgwMiwgMHhlNSwgMHgzNywgMHhjMywgMHg5NSwgMHg1MCwgMHg0MCwgMHgxNywgMHg5MH19LAotIHsweDAxODYsIDY0LCB7IDB4N2YsIDB4YzcsIDB4ZTQsIDB4ZjAsIDB4YzIsIDB4MDIsIDB4MjAsIDB4MGEsIDB4MDMsIDB4MDIsIDB4MDQsIDB4MmYsIDB4YzIsIDB4MGEsIDB4OTAsIDB4N2YsIDB4YmIsCi0gIDB4MDQsIDB4ZjAsIDB4MDIsIDB4MDQsIDB4MmYsIDB4MzAsIDB4MGQsIDB4MTIsIDB4YWYsIDB4MzcsIDB4MDUsIDB4MzcsIDB4NzQsIDB4NDAsIDB4MmYsIDB4ZjUsCi0gIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGIsIDB4YWYsIDB4MzcsIDB4MDUsIDB4MzcsIDB4NzQsIDB4NDAsCi0gIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4MzUsIDB4ZDIsIDB4MDgsIDB4MDIsIDB4MDR9fSwKLSB7MHgwMWM2LCA2NCwgeyAweDJmLCAweDc1LCAweDM3LCAweDAxLCAweGMyLCAweDEwLCAweDAyLCAweDA0LCAweDJmLCAweDMwLCAweDA5LCAweDAzLCAweDAyLCAweDAyLCAweDUxLCAweDIwLCAweDA2LAotICAweDc5LCAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDMwLCAweGUzLCAweDAzLCAweDIwLCAweDBlLCAweDZmLCAweDMwLCAweDBkLCAweDEyLCAweGFmLCAweDM3LAotICAweDA1LCAweDM3LCAweDc0LCAweDQwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyLCAweDliLAotICAweGFmLCAweDM3LCAweDA1LCAweDM3LCAweDc0LCAweDQwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGUwfX0sCi0gezB4MDIwNiwgNjQsIHsgMHhmNSwgMHg5OSwgMHhlNSwgMHgzNywgMHhjMywgMHg5NSwgMHg1MCwgMHg0MCwgMHgxNywgMHg5MCwgMHg3ZiwgMHhjNywgMHhlNCwgMHhmMCwgMHhjMiwgMHgwMiwgMHgyMCwKLSAgMHgwYSwgMHgwMywgMHgwMiwgMHgwNCwgMHgyZiwgMHhjMiwgMHgwYSwgMHg5MCwgMHg3ZiwgMHhiYiwgMHgwNCwgMHhmMCwgMHgwMiwgMHgwNCwgMHgyZiwgMHgzMCwKLSAgMHgwZCwgMHgxMiwgMHhhZiwgMHgzNywgMHgwNSwgMHgzNywgMHg3NCwgMHg0MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywKLSAgMHhlMCwgMHgxMywgMHg5MiwgMHgwYiwgMHhhZiwgMHgzNywgMHgwNSwgMHgzNywgMHg3NCwgMHg0MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNH19LAotIHsweDAyNDYsIDY0LCB7IDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4MzUsIDB4ZDIsIDB4MDgsIDB4MDIsIDB4MDQsIDB4MmYsIDB4YzIsIDB4MTAsIDB4MDIsIDB4MDQsIDB4MmYsIDB4MjAsCi0gIDB4MDgsIDB4MDMsIDB4MDIsIDB4MDMsIDB4MDgsIDB4ZTUsIDB4MzcsIDB4YzMsIDB4OTUsIDB4NTAsIDB4NTAsIDB4M2UsIDB4MjAsIDB4MDksIDB4MzYsIDB4MjAsCi0gIDB4MDYsIDB4MzMsIDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4MzAsIDB4ZTMsIDB4MDMsIDB4MjAsIDB4MGUsIDB4MjksIDB4MzAsIDB4MGQsIDB4MTIsIDB4YWYsCi0gIDB4MzcsIDB4MDUsIDB4MzcsIDB4NzQsIDB4YzAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTN9fSwKLSB7MHgwMjg2LCA2NCwgeyAweDkyLCAweDBiLCAweGFmLCAweDM3LCAweDA1LCAweDM3LCAweDc0LCAweGMwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLAotICAweGY1LCAweDM1LCAweDAyLCAweDA0LCAweDJmLCAweGMyLCAweDA4LCAweDAyLCAweDA0LCAweDJmLCAweDkwLCAweDdmLCAweGM5LCAweGU0LCAweGYwLCAweGQyLAotICAweDAyLCAweDMwLCAweDBhLCAweDBjLCAweGMyLCAweDBhLCAweDkwLCAweDdmLCAweGJiLCAweDA0LCAweGYwLCAweGMyLCAweDA4LCAweDAyLCAweDA0LCAweDJmLAotICAweDkwLCAweDdmLCAweGM2LCAweGUwLCAweDMwLCAweGUxLCAweDA1LCAweGMyLCAweDA4LCAweDAyLCAweDA0LCAweDJmLCAweDkwLCAweDdmLCAweGM3fX0sCi0gezB4MDJjNiwgNjQsIHsgMHhlMCwgMHhmNSwgMHg1MCwgMHg5MCwgMHg3ZSwgMHg0MCwgMHhlMCwgMHgxMywgMHg5MiwgMHgwYSwgMHgyMCwgMHgwOSwgMHgyZCwgMHgyMCwgMHgwNiwgMHgyYSwgMHg5MCwKLSAgMHg3ZiwgMHg5YiwgMHhlMCwgMHgzMCwgMHhlMywgMHgwMywgMHgyMCwgMHgwZSwgMHgyMCwgMHgzMCwgMHgwZCwgMHgxMSwgMHg5MCwgMHg3ZSwgMHg0MSwgMHhlMCwKLSAgMHgxMywgMHg5MiwgMHgwYiwgMHhhMywgMHhlMCwgMHhmNSwgMHgzNSwgMHg3NSwgMHgzNywgMHgwMywgMHgwMiwgMHgwNCwgMHgyZiwgMHg3NSwgMHgzNywgMHgwMiwKLSAgMHg5MCwgMHg3ZSwgMHg0MSwgMHhlMCwgMHhmNSwgMHgzNSwgMHgwMiwgMHgwNCwgMHgyZiwgMHg3NSwgMHgzNywgMHgwMSwgMHhjMiwgMHgwOCwgMHgwMn19LAotIHsweDAzMDYsIDY0LCB7IDB4MDQsIDB4MmYsIDB4ZTUsIDB4MzcsIDB4YzMsIDB4OTUsIDB4NTAsIDB4NTAsIDB4MDMsIDB4MDIsIDB4MDMsIDB4YjAsIDB4OTAsIDB4N2YsIDB4YzgsIDB4ZTAsIDB4MzAsCi0gIDB4ZTEsIDB4MDcsIDB4YzIsIDB4MTAsIDB4YzIsIDB4MDMsIDB4MDIsIDB4MDQsIDB4MmYsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZTAsIDB4ZjUsIDB4NTAsIDB4OTAsCi0gIDB4N2QsIDB4YzAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGEsIDB4MzAsIDB4MDksIDB4MDMsIDB4MDIsIDB4MDMsIDB4YTgsIDB4MjAsIDB4MDYsIDB4NzIsIDB4MjAsCi0gIDB4MDAsIDB4NmYsIDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4MzAsIDB4ZTMsIDB4MDMsIDB4MjAsIDB4MGUsIDB4NjUsIDB4MzAsIDB4MGQsIDB4MTB9fSwKLSB7MHgwMzQ2LCA2NCwgeyAweDkwLCAweDdkLCAweGMxLCAweGUwLCAweDEzLCAweDkyLCAweDliLCAweGEzLCAweGUwLCAweGY1LCAweDk5LCAweDc1LCAweDM3LCAweDAzLCAweDgwLCAweDA5LCAweDkwLAotICAweDdkLCAweGMxLCAweGUwLCAweGY1LCAweDk5LCAweDc1LCAweDM3LCAweDAyLCAweGU1LCAweDM3LCAweGMzLCAweDk1LCAweDUwLCAweDQwLCAweDE3LCAweDkwLAotICAweDdmLCAweGM5LCAweGU0LCAweGYwLCAweGQyLCAweDAyLCAweDIwLCAweDBhLCAweDAzLCAweDAyLCAweDA0LCAweDJmLCAweGMyLCAweDBhLCAweDkwLCAweDdmLAotICAweGJiLCAweDA0LCAweGYwLCAweDAyLCAweDA0LCAweDJmLCAweDMwLCAweDBkLCAweDEyLCAweGFmLCAweDM3LCAweDA1LCAweDM3LCAweDc0LCAweGMwfX0sCi0gezB4MDM4NiwgNjQsIHsgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwgMHgwYiwgMHhhZiwgMHgzNywgMHgwNSwgMHgzNywgMHg3NCwKLSAgMHhjMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHgzNSwgMHhkMiwgMHgwOCwgMHgwMiwgMHgwNCwKLSAgMHgyZiwgMHg3NSwgMHgzNywgMHgwMSwgMHhjMiwgMHgxMCwgMHgwMiwgMHgwNCwgMHgyZiwgMHgzMCwgMHgwOSwgMHgwMywgMHgwMiwgMHgwNCwgMHgyZCwgMHgyMCwKLSAgMHgwNiwgMHg3NCwgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHgzMCwgMHhlMywgMHgwMywgMHgyMCwgMHgwZSwgMHg2YSwgMHgzMCwgMHgwZCwgMHgxMn19LAotIHsweDAzYzYsIDY0LCB7IDB4YWYsIDB4MzcsIDB4MDUsIDB4MzcsIDB4NzQsIDB4YzAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsCi0gIDB4OWIsIDB4YWYsIDB4MzcsIDB4MDUsIDB4MzcsIDB4NzQsIDB4YzAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsCi0gIDB4ZjUsIDB4OTksIDB4ZTUsIDB4MzcsIDB4YzMsIDB4OTUsIDB4NTAsIDB4NDAsIDB4MTMsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZTQsIDB4ZjAsIDB4ZDIsIDB4MDIsCi0gIDB4MzAsIDB4MGEsIDB4MzUsIDB4YzIsIDB4MGEsIDB4OTAsIDB4N2YsIDB4YmIsIDB4MDQsIDB4ZjAsIDB4ODAsIDB4MmMsIDB4MzAsIDB4MGQsIDB4MTJ9fSwKLSB7MHgwNDA2LCA2NCwgeyAweGFmLCAweDM3LCAweDA1LCAweDM3LCAweDc0LCAweGMwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyLAotICAweDBiLCAweGFmLCAweDM3LCAweDA1LCAweDM3LCAweDc0LCAweGMwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLAotICAweGY1LCAweDM1LCAweGQyLCAweDA4LCAweDgwLCAweDAyLCAweGMyLCAweDEwLCAweGQyLCAweDEyLCAweDIwLCAweDk4LCAweDAzLCAweDAyLCAweDA1LCAweDZkLAotICAweGMyLCAweDk4LCAweDIwLCAweDAxLCAweDAzLCAweDAyLCAweDA0LCAweGRhLCAweDIwLCAweDExLCAweDI3LCAweGFmLCAweDM2LCAweDA1LCAweDM2fX0sCi0gezB4MDQ0NiwgNjQsIHsgMHg3NCwgMHg4MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlNSwgMHg5OSwgMHhmMCwgMHgzMCwgMHgwZCwgMHg0ZCwgMHhhZiwKLSAgMHgzNiwgMHgwNSwgMHgzNiwgMHg3NCwgMHg4MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlNSwgMHg5OCwgMHhmMCwKLSAgMHg4MCwgMHgzYSwgMHg4NSwgMHg5OSwgMHgxMCwgMHhlNSwgMHgxMCwgMHhiNSwgMHg0NCwgMHgwNCwgMHhkMiwgMHgwNiwgMHg4MCwgMHgyZSwgMHhlNSwgMHgxMCwKLSAgMHhiNSwgMHg0MywgMHgwNCwgMHhjMiwgMHgwNiwgMHg4MCwgMHgyNSwgMHhhZiwgMHgzNiwgMHgwNSwgMHgzNiwgMHg3NCwgMHg4MCwgMHgyZiwgMHhmNX19LAotIHsweDA0ODYsIDY0LCB7IDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTUsIDB4MTAsIDB4ZjAsIDB4MzAsIDB4MGQsIDB4MTEsIDB4YWYsIDB4MzYsIDB4MDUsIDB4MzYsIDB4NzQsCi0gIDB4ODAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTUsIDB4OTgsIDB4ZjAsIDB4ZDIsIDB4MGMsIDB4ZTUsIDB4MzYsCi0gIDB4YzMsIDB4OTUsIDB4NDAsIDB4NTAsIDB4MDMsIDB4MDIsIDB4MDUsIDB4NmIsIDB4OTAsIDB4N2YsIDB4YjgsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MTYsIDB4ZTUsCi0gIDB4MzYsIDB4YzMsIDB4OTQsIDB4NDAsIDB4NTAsIDB4MDMsIDB4MDIsIDB4MDUsIDB4NmIsIDB4MTUsIDB4MzYsIDB4MTUsIDB4MzYsIDB4MDUsIDB4MmJ9fSwKLSB7MHgwNGM2LCA2NCwgeyAweDQzLCAweDMzLCAweDAxLCAweDAyLCAweDA1LCAweDZiLCAweDkwLCAweDdmLCAweGI3LCAweGU1LCAweDM2LCAweGYwLCAweDc1LCAweDM2LCAweDAwLCAweGMyLCAweDAxLAotICAweDAyLCAweDA1LCAweDZiLCAweDIwLCAweDExLCAweDI3LCAweGFmLCAweDM2LCAweDA1LCAweDM2LCAweDc0LCAweDAwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LAotICAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGU1LCAweDk5LCAweGYwLCAweDMwLCAweDBkLCAweDRkLCAweGFmLCAweDM2LCAweDA1LCAweDM2LCAweDc0LCAweDAwLAotICAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGU1LCAweDk4LCAweGYwLCAweDgwLCAweDNhLCAweDg1LCAweDk5fX0sCi0gezB4MDUwNiwgNjQsIHsgMHgxMCwgMHhlNSwgMHgxMCwgMHhiNSwgMHg0NCwgMHgwNCwgMHhkMiwgMHgwNiwgMHg4MCwgMHgyZSwgMHhlNSwgMHgxMCwgMHhiNSwgMHg0MywgMHgwNCwgMHhjMiwgMHgwNiwKLSAgMHg4MCwgMHgyNSwgMHhhZiwgMHgzNiwgMHgwNSwgMHgzNiwgMHg3NCwgMHgwMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywKLSAgMHhlNSwgMHgxMCwgMHhmMCwgMHgzMCwgMHgwZCwgMHgxMSwgMHhhZiwgMHgzNiwgMHgwNSwgMHgzNiwgMHg3NCwgMHgwMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwKLSAgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlNSwgMHg5OCwgMHhmMCwgMHhkMiwgMHgwYywgMHhlNSwgMHgzNiwgMHhjMywgMHg5NSwgMHg0MCwgMHg0MH19LAotIHsweDA1NDYsIDY0LCB7IDB4MjQsIDB4OTAsIDB4N2YsIDB4YjYsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MTIsIDB4ZTUsIDB4MzYsIDB4YzMsIDB4OTQsIDB4NDAsIDB4NDAsIDB4MTYsIDB4MTUsIDB4MzYsCi0gIDB4MTUsIDB4MzYsIDB4MDUsIDB4MmIsIDB4NDMsIDB4MzMsIDB4MDEsIDB4ODAsIDB4MGIsIDB4OTAsIDB4N2YsIDB4YjksIDB4ZTUsIDB4MzYsIDB4ZjAsIDB4NzUsCi0gIDB4MzYsIDB4MDAsIDB4ZDIsIDB4MDEsIDB4ZDIsIDB4MTIsIDB4MzAsIDB4MTIsIDB4MDUsIDB4YzIsIDB4MTIsIDB4MDIsIDB4MDAsIDB4NTYsIDB4ZDAsIDB4ZDAsCi0gIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4OTAsIDB4N2YsIDB4Y2EsIDB4ZTAsIDB4MzAsIDB4ZTF9fSwKLSB7MHgwNTg2LCA2NCwgeyAweDAzLCAweDAyLCAweDA2LCAweGFiLCAweGU0LCAweGY1LCAweDEzLCAweDc0LCAweDQwLCAweDI1LCAweDEzLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LAotICAweDgzLCAweGUwLCAweGZmLCAweGU1LCAweDEzLCAweDdjLCAweDAwLCAweDdiLCAweDAwLCAweDI0LCAweDM4LCAweGY5LCAweGVjLCAweDM0LCAweDAwLCAweGZhLAotICAweGVmLCAweDEyLCAweDBkLCAweDMzLCAweDA1LCAweDEzLCAweGU1LCAweDEzLCAweGI0LCAweDE4LCAweGRiLCAweGU1LCAweDM4LCAweDYwLCAweDBjLCAweDc1LAotICAweGM5LCAweDIwLCAweDc1LCAweGM4LCAweDM0LCAweDg1LCAweDM5LCAweGNhLCAweDg1LCAweDNhLCAweGNiLCAweGU1LCAweDNiLCAweDEzLCAweDkyfX0sCi0gezB4MDVjNiwgNjQsIHsgMHgwZCwgMHg5MiwgMHg5ZiwgMHhlNSwgMHgzYywgMHgxMywgMHg5MiwgMHgwZSwgMHhlNSwgMHgzZCwgMHgxMywgMHg5MiwgMHgxMSwgMHhlNSwgMHgzZSwgMHg2MCwgMHgwOSwKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHhlMCwgMHg1NCwgMHhmYiwgMHhmMCwgMHg4MCwgMHgwNywgMHg5MCwgMHg3ZiwgMHg5OCwgMHhlMCwgMHg0NCwgMHgwNCwgMHhmMCwKLSAgMHhlNSwgMHgzZiwgMHg2MCwgMHgwOSwgMHg5MCwgMHg3ZiwgMHg5OCwgMHhlMCwgMHg1NCwgMHg3ZiwgMHhmMCwgMHg4MCwgMHgwNywgMHg5MCwgMHg3ZiwgMHg5OCwKLSAgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHhlNSwgMHg0NSwgMHg2MCwgMHgwYiwgMHhjMiwgMHgwOSwgMHhjMiwgMHgwNiwgMHg5MCwgMHg3ZiwgMHg5NX19LAotIHsweDA2MDYsIDY0LCB7IDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4ZTUsIDB4NDYsIDB4NjAsIDB4MGMsIDB4ZDIsIDB4MDYsIDB4NDMsIDB4MzMsIDB4MDEsIDB4OTAsIDB4N2YsIDB4OTUsIDB4ZTAsCi0gIDB4NDQsIDB4MDIsIDB4ZjAsIDB4ZTUsIDB4NDcsIDB4NjAsIDB4MGQsIDB4YzIsIDB4YWYsIDB4YzIsIDB4MDgsIDB4ZDIsIDB4MDAsIDB4ZTQsIDB4ZjUsIDB4NTAsCi0gIDB4ZjUsIDB4MzcsIDB4ZDIsIDB4YWYsIDB4ZTUsIDB4NDgsIDB4NjAsIDB4MDUsIDB4MzAsIDB4MTEsIDB4MDIsIDB4ZDIsIDB4MDYsIDB4ZTUsIDB4NDksIDB4NjAsCi0gIDB4MTUsIDB4OTAsIDB4N2YsIDB4OTUsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWUsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjB9fSwKLSB7MHgwNjQ2LCA2NCwgeyAweDkwLCAweDdmLCAweDk4LCAweGUwLCAweDU0LCAweGZkLCAweGYwLCAweGU1LCAweDRhLCAweDYwLCAweDBhLCAweGQyLCAweDljLCAweGMyLCAweDk4LCAweDc1LCAweDJjLAotICAweDAxLCAweDc1LCAweDMxLCAweDFlLCAweGU1LCAweDRiLCAweDYwLCAweDA3LCAweGMyLCAweDljLCAweGU0LCAweGY1LCAweDM2LCAweGY1LCAweDJjLCAweGU1LAotICAweDRjLCAweDYwLCAweDAzLCAweGU0LCAweGY1LCAweDM2LCAweGU1LCAweDRkLCAweDYwLCAweDAyLCAweGQyLCAweDA0LCAweGU1LCAweDRlLCAweDYwLCAweDBhLAotICAweGU1LCAweDRhLCAweDcwLCAweDAyLCAweGY1LCAweDMxLCAweGU1LCAweDRlLCAweDQyLCAweDMzLCAweGU1LCAweDRmLCAweDYwLCAweDFmLCAweDkwfX0sCi0gezB4MDY4NiwgNjQsIHsgMHg3ZiwgMHhkNywgMHg3NCwgMHgxMSwgMHhmMCwgMHg3NCwgMHgzMSwgMHhmMCwgMHg3NCwgMHgxMiwgMHhmMCwgMHg3NCwgMHgzMiwgMHhmMCwgMHg3NCwgMHgxMywgMHhmMCwKLSAgMHg3NCwgMHgzMywgMHhmMCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg3NCwgMHgzNCwgMHhmMCwgMHhkMiwgMHgwMiwgMHhkMiwgMHgwMSwgMHhkMiwgMHgwNSwgMHhlNCwKLSAgMHg5MCwgMHg3ZiwgMHhjYiwgMHhmMCwgMHhhMiwgMHgwOSwgMHhlNCwgMHgzMywgMHhmZiwgMHg2NSwgMHgyOSwgMHg2MCwgMHgwNSwgMHg4ZiwgMHgyOSwgMHg0MywKLSAgMHgzMywgMHgwMSwgMHhhMiwgMHgwNiwgMHhlNCwgMHgzMywgMHhmZiwgMHg2NSwgMHgyYSwgMHg2MCwgMHgwNSwgMHg4ZiwgMHgyYSwgMHg0MywgMHgzM319LAotIHsweDA2YzYsIDY0LCB7IDB4MDEsIDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4NTQsIDB4MDgsIDB4YjUsIDB4MjUsIDB4MGEsIDB4ZTAsIDB4NTQsIDB4MDgsIDB4NjQsIDB4MDgsIDB4ZjUsIDB4MjUsCi0gIDB4NDMsIDB4MzMsIDB4MDEsIDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4NTQsIDB4MTAsIDB4YjUsIDB4MjYsIDB4MGEsIDB4ZTAsIDB4NTQsIDB4MTAsIDB4NjQsCi0gIDB4MTAsIDB4ZjUsIDB4MjYsIDB4NDMsIDB4MzMsIDB4MDEsIDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4NTQsIDB4NDAsIDB4YjUsIDB4MjcsIDB4MGEsIDB4ZTAsCi0gIDB4NTQsIDB4NDAsIDB4NjQsIDB4NDAsIDB4ZjUsIDB4MjcsIDB4NDMsIDB4MzMsIDB4MDEsIDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4NTQsIDB4MjB9fSwKLSB7MHgwNzA2LCA2NCwgeyAweGI1LCAweDI4LCAweDBhLCAweGUwLCAweDU0LCAweDIwLCAweDY0LCAweDIwLCAweGY1LCAweDI4LCAweDQzLCAweDMzLCAweDAxLCAweDMwLCAweDA0LCAweDM1LCAweGMyLAotICAweGFmLCAweDMwLCAweDAxLCAweDE4LCAweDkwLCAweDdmLCAweGI4LCAweGUwLCAweDIwLCAweGUxLCAweDI3LCAweGU1LCAweDM2LCAweDYwLCAweDA5LCAweDkwLAotICAweDdmLCAweGI3LCAweGYwLCAweGU0LCAweGY1LCAweDM2LCAweGMyLCAweDAxLCAweGMyLCAweDA0LCAweDgwLCAweDE2LCAweDkwLCAweDdmLCAweGI2LCAweGUwLAotICAweDIwLCAweGUxLCAweDBmLCAweGU1LCAweDM2LCAweDYwLCAweDA5LCAweDkwLCAweDdmLCAweGI5LCAweGYwLCAweGU0LCAweGY1LCAweDM2LCAweGQyfX0sCi0gezB4MDc0NiwgNjQsIHsgMHgwMSwgMHhjMiwgMHgwNCwgMHhkMiwgMHhhZiwgMHgyMCwgMHgwMywgMHgzNywgMHgzMCwgMHgwMiwgMHgxYiwgMHg5MCwgMHg3ZiwgMHhjNiwgMHhlMCwgMHgyMCwgMHhlMSwKLSAgMHgyZCwgMHg5MCwgMHg3ZSwgMHg0MCwgMHhlMCwgMHgxMywgMHg5MiwgMHgwYSwgMHg3NSwgMHgzNywgMHgwMSwgMHg5MCwgMHg3ZiwgMHhjNywgMHhlMCwgMHhmNSwKLSAgMHg1MCwgMHhkMiwgMHgwMywgMHg4MCwgMHgxOSwgMHg5MCwgMHg3ZiwgMHhjOCwgMHhlMCwgMHgyMCwgMHhlMSwgMHgxMiwgMHg5MCwgMHg3ZCwgMHhjMCwgMHhlMCwKLSAgMHgxMywgMHg5MiwgMHgwYSwgMHg3NSwgMHgzNywgMHgwMSwgMHg5MCwgMHg3ZiwgMHhjOSwgMHhlMCwgMHhmNSwgMHg1MCwgMHhkMiwgMHgwMywgMHgyMH19LAotIHsweDA3ODYsIDY0LCB7IDB4MTAsIDB4MzMsIDB4MjAsIDB4MDAsIDB4MDYsIDB4ZTUsIDB4MzcsIDB4NjUsIDB4NTAsIDB4NzAsIDB4MmEsIDB4MzAsIDB4MDMsIDB4MWEsIDB4MzAsIDB4MDIsIDB4MDksCi0gIDB4ZTQsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZjAsIDB4YzIsIDB4MDIsIDB4ODAsIDB4MDcsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZjAsIDB4ZDIsIDB4MDIsCi0gIDB4YzIsIDB4MDMsIDB4ZTQsIDB4ZjUsIDB4NTAsIDB4ZjUsIDB4MzcsIDB4MzAsIDB4MGEsIDB4MGEsIDB4YzIsIDB4MGEsIDB4YzIsIDB4MDAsIDB4OTAsIDB4N2YsCi0gIDB4YmIsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4MzAsIDB4MTAsIDB4MDMsIDB4MDIsIDB4MDgsIDB4YzUsIDB4MjAsIDB4MDMsIDB4MDMsIDB4MDIsIDB4MDh9fSwKLSB7MHgwN2M2LCA2NCwgeyAweGM1LCAweDMwLCAweDBlLCAweDBhLCAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDMwLCAweGUzLCAweDAzLCAweDAyLCAweDA4LCAweGM1LCAweDMwLCAweDA2LCAweDAzLAotICAweDAyLCAweDA4LCAweGM1LCAweDMwLCAweDA5LCAweDAzLCAweDAyLCAweDA4LCAweGM1LCAweDMwLCAweDAyLCAweDYyLCAweDMwLCAweDBkLCAweDEyLCAweGFmLAotICAweDM3LCAweDA1LCAweDM3LCAweDc0LCAweDQwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyLAotICAweDE5LCAweGFmLCAweDM3LCAweDA1LCAweDM3LCAweDc0LCAweDQwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzfX0sCi0gezB4MDgwNiwgNjQsIHsgMHhlMCwgMHhmNSwgMHgxNCwgMHhlNSwgMHgzNywgMHhjMywgMHg5NSwgMHg1MCwgMHg1MCwgMHgyYSwgMHgzMCwgMHgwZCwgMHgxMiwgMHhhZiwgMHgzNywgMHgwNSwgMHgzNywKLSAgMHg3NCwgMHg0MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwgMHgwYiwgMHhhZiwgMHgzNywKLSAgMHgwNSwgMHgzNywgMHg3NCwgMHg0MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHgzNSwgMHhkMiwKLSAgMHgwOCwgMHg4MCwgMHg2YiwgMHhjMiwgMHgwOCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjNywgMHhmMCwgMHhjMiwgMHgwMiwgMHg4MCwgMHg2MCwgMHgzMH19LAotIHsweDA4NDYsIDY0LCB7IDB4MGQsIDB4MTIsIDB4YWYsIDB4MzcsIDB4MDUsIDB4MzcsIDB4NzQsIDB4YzAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsCi0gIDB4MTMsIDB4OTIsIDB4MTksIDB4YWYsIDB4MzcsIDB4MDUsIDB4MzcsIDB4NzQsIDB4YzAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsCi0gIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4MTQsIDB4ZTUsIDB4MzcsIDB4YzMsIDB4OTUsIDB4NTAsIDB4NTAsIDB4MmEsIDB4MzAsIDB4MGQsIDB4MTIsIDB4YWYsIDB4MzcsCi0gIDB4MDUsIDB4MzcsIDB4NzQsIDB4YzAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTJ9fSwKLSB7MHgwODg2LCA2NCwgeyAweDBiLCAweGFmLCAweDM3LCAweDA1LCAweDM3LCAweDc0LCAweGMwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweGY1LAotICAweDM1LCAweGQyLCAweDA4LCAweDgwLCAweDA5LCAweGMyLCAweDA4LCAweGU0LCAweDkwLCAweDdmLCAweGM5LCAweGYwLCAweGQyLCAweDAyLCAweDMwLCAweDBkLAotICAweDA0LCAweGEyLCAweDE5LCAweDkyLCAweDliLCAweGQyLCAweDEwLCAweGMyLCAweGFmLCAweDg1LCAweDE0LCAweDk5LCAweDIwLCAweDA4LCAweDBkLCAweDMwLAotICAweDBhLCAweDBhLCAweGMyLCAweDBhLCAweGMyLCAweDAwLCAweDkwLCAweDdmLCAweGJiLCAweDc0LCAweDAxLCAweGYwLCAweGQyLCAweGFmLCAweDkwfX0sCi0gezB4MDhjNiwgNjQsIHsgMHg3ZiwgMHhiYywgMHhlMCwgMHgyMCwgMHhlMSwgMHg1MSwgMHhlNSwgMHgzMywgMHg2MCwgMHg0ZCwgMHhlNSwgMHgzMSwgMHg3MCwgMHg0OSwgMHhlNSwgMHgzMywgMHgzMCwKLSAgMHhlMSwgMHgwOCwgMHhlNCwgMHhmNSwgMHgyZiwgMHg3NSwgMHgzMywgMHgwMSwgMHg4MCwgMHgwYiwgMHhhMiwgMHgwNSwgMHhlNCwgMHgzMywgMHhmNSwgMHgyZiwKLSAgMHhjMiwgMHgwNSwgMHhlNCwgMHhmNSwgMHgzMywgMHhlNCwgMHhmNSwgMHgxMywgMHg3ZSwgMHgwMCwgMHg3YiwgMHgwMCwgMHg3NCwgMHgyNCwgMHgyNSwgMHgxMywKLSAgMHhmOSwgMHhlZSwgMHgzNCwgMHgwMCwgMHhmYSwgMHgxMiwgMHgwYywgMHhlZCwgMHhmZiwgMHg3NCwgMHgwMCwgMHgyNSwgMHgxMywgMHhmNSwgMHg4Mn19LAotIHsweDA5MDYsIDY0LCB7IDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MDUsIDB4MTMsIDB4ZTUsIDB4MTMsIDB4YjQsIDB4MGMsIDB4ZGIsIDB4OTAsIDB4N2YsIDB4YmQsCi0gIDB4NzQsIDB4MGMsIDB4ZjAsIDB4NzUsIDB4MzEsIDB4MTAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4ZTksIDB4ZTAsIDB4MTIsIDB4MGQsIDB4NDUsIDB4MGEsIDB4MDMsCi0gIDB4MDAsIDB4MGEsIDB4NzcsIDB4MDEsIDB4MGEsIDB4ZTMsIDB4MDMsIDB4MDksIDB4NDEsIDB4MDYsIDB4MDksIDB4ZjQsIDB4MDgsIDB4MDksIDB4ZTgsIDB4MDksCi0gIDB4MDksIDB4ZDAsIDB4MGEsIDB4MDksIDB4ZGYsIDB4MGIsIDB4MDAsIDB4MDAsIDB4MGIsIDB4MzIsIDB4OTAsIDB4N2YsIDB4ZWIsIDB4ZTAsIDB4MjR9fSwKLSB7MHgwOTQ2LCA2NCwgeyAweGZlLCAweDYwLCAweDE2LCAweDE0LCAweDYwLCAweDU3LCAweDI0LCAweDAyLCAweDcwLCAweDc2LCAweDc0LCAweDBmLCAweDkwLCAweDdmLCAweGQ0LCAweGYwLCAweDc0LAotICAweDY0LCAweDkwLCAweDdmLCAweGQ1LCAweGYwLCAweDAyLCAweDBiLCAweDM5LCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDcwLCAweDA0LCAweDdmLCAweDAyLAotICAweDgwLCAweDAyLCAweDdmLCAweDAzLCAweDc1LCAweDgyLCAweGI1LCAweDc1LCAweDgzLCAweDBmLCAweGVmLCAweGYwLCAweDc1LCAweDgyLCAweGFlLCAweDc1LAotICAweDgzLCAweDBmLCAweGYwLCAweDc1LCAweDgyLCAweGE3LCAweDc1LCAweDgzLCAweDBmLCAweGYwLCAweDc1LCAweDgyLCAweGEwLCAweDc1LCAweDgzfX0sCi0gezB4MDk4NiwgNjQsIHsgMHgwZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHgwNCwgMHg3NSwgMHg4MiwgMHg3YiwgMHg3NSwgMHg4MywgMHgwZiwgMHhmMCwgMHg3NCwgMHgwZiwgMHg5MCwKLSAgMHg3ZiwgMHhkNCwgMHhmMCwgMHg3NCwgMHg3NiwgMHg5MCwgMHg3ZiwgMHhkNSwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzOSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwKLSAgMHhmZiwgMHgxMiwgMHgwZSwgMHg0OCwgMHhlYSwgMHg0OSwgMHg2MCwgMHgwZCwgMHhlYSwgMHg5MCwgMHg3ZiwgMHhkNCwgMHhmMCwgMHhlOSwgMHg5MCwgMHg3ZiwKLSAgMHhkNSwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzOSwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzOX19LAotIHsweDA5YzYsIDY0LCB7IDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4MzksIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZTUsIDB4MTksIDB4ZjAsIDB4OTAsCi0gIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4MzksIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4ZjUsIDB4MTksIDB4MDIsIDB4MGIsCi0gIDB4MzksIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4ZjUsIDB4MTgsIDB4MTIsIDB4MGQsIDB4NmIsIDB4MDIsIDB4MGIsIDB4MzksIDB4OTAsIDB4N2YsIDB4MDAsCi0gIDB4ZTUsIDB4MTgsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4MzksIDB4OTAsIDB4N2YsIDB4ZTh9fSwKLSB7MHgwYTA2LCA2NCwgeyAweGUwLCAweDI0LCAweDdmLCAweDYwLCAweDI0LCAweDE0LCAweDYwLCAweDMxLCAweDI0LCAweDAyLCAweDcwLCAweDViLCAweGEyLCAweDEzLCAweGU0LCAweDMzLCAweGZmLAotICAweDI1LCAweGUwLCAweGZmLCAweGEyLCAweDE3LCAweGU0LCAweDMzLCAweDRmLCAweDkwLCAweDdmLCAweDAwLCAweGYwLCAweGU0LCAweGEzLCAweGYwLCAweDkwLAotICAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDBiLCAweDM5LCAweGU0LCAweDkwLCAweDdmLCAweDAwLCAweGYwLCAweGEzLCAweGYwLCAweDkwLAotICAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDBiLCAweDM5LCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwfX0sCi0gezB4MGE0NiwgNjQsIHsgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwKLSAgMHg3ZiwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHhmZCwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhmMCwgMHhlNCwgMHhhMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwKLSAgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzOSwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzOSwKLSAgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxZCwgMHgyNCwgMHgwMiwgMHg2MCwgMHgwMywgMHgwMiwgMHgwYiwgMHgzOX19LAotIHsweDBhODYsIDY0LCB7IDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4YjQsIDB4MDEsIDB4MDUsIDB4YzIsIDB4MTMsIDB4MDIsIDB4MGIsIDB4MzksIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsCi0gIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4MzksIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4NzAsIDB4MzgsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4ZjQsCi0gIDB4NTQsIDB4ODAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjUsCi0gIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4NTQsIDB4ODAsIDB4ZmZ9fSwKLSB7MHgwYWM2LCA2NCwgeyAweDEzLCAweDEzLCAweDEzLCAweDU0LCAweDFmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDkwLCAweDdmLCAweGQ3LCAweGYwLCAweGUwLCAweDQ0LCAweDIwLAotICAweGYwLCAweDgwLCAweDVmLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDgwLCAweDU2LCAweDkwLCAweDdmLCAweGU4LCAweGUwLAotICAweDI0LCAweGZlLCAweDYwLCAweDE4LCAweDI0LCAweDAyLCAweDcwLCAweDRhLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGI0LCAweDAxLCAweDA0LCAweGQyLAotICAweDEzLCAweDgwLCAweDNmLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDgwLCAweDM2LCAweDkwLCAweDdmLCAweGVhfX0sCi0gezB4MGIwNiwgNjQsIHsgMHhlMCwgMHg3MCwgMHgyMCwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHhmNCwgMHg1NCwgMHg4MCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHhmZiwgMHhlMCwgMHg1NCwKLSAgMHgwNywgMHgyZiwgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHg3NCwgMHgwMSwgMHhmMCwKLSAgMHg4MCwgMHgxMCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHgwNywgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwKLSAgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHgyMiwgMHgyMCwgMHgxNSwgMHgwMywgMHgwMiwgMHgwYn19LAotIHsweDBiNDYsIDY0LCB7IDB4ZDMsIDB4ZTUsIDB4MzEsIDB4NjAsIDB4MDIsIDB4MTUsIDB4MzEsIDB4ZTUsIDB4MzYsIDB4NjAsIDB4NGYsIDB4NjUsIDB4MzQsIDB4NzAsIDB4NDUsIDB4ZTUsIDB4MzIsCi0gIDB4ZjQsIDB4NjAsIDB4MDIsIDB4MDUsIDB4MzIsIDB4ZTUsIDB4MzIsIDB4YzMsIDB4OTUsIDB4NDEsIDB4NDAsIDB4M2QsIDB4YzIsIDB4YWYsIDB4MzAsIDB4MDEsCi0gIDB4MTgsIDB4OTAsIDB4N2YsIDB4YjgsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MjcsIDB4OTAsIDB4N2YsIDB4YjcsIDB4ZTUsIDB4MzYsIDB4ZjAsIDB4YzIsIDB4MDEsCi0gIDB4ZTQsIDB4ZjUsIDB4MzYsIDB4ZjUsIDB4MzIsIDB4ZjUsIDB4MzQsIDB4ODAsIDB4MTYsIDB4OTAsIDB4N2YsIDB4YjYsIDB4ZTAsIDB4MjAsIDB4ZTF9fSwKLSB7MHgwYjg2LCA2NCwgeyAweDBmLCAweDkwLCAweDdmLCAweGI5LCAweGU1LCAweDM2LCAweGYwLCAweGQyLCAweDAxLCAweGU0LCAweGY1LCAweDM2LCAweGY1LCAweDMyLCAweGY1LCAweDM0LCAweGQyLAotICAweGFmLCAweDgwLCAweDA2LCAweDg1LCAweDM2LCAweDM0LCAweGU0LCAweGY1LCAweDMyLCAweGU1LCAweDJjLCAweDYwLCAweDJmLCAweDIwLCAweDBjLCAweDA3LAotICAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDMwLCAweGUwLCAweDBmLCAweGU1LCAweDJkLCAweDYwLCAweDA2LCAweGU0LCAweGY1LCAweDJkLCAweDQzLCAweDMzLAotICAweDAxLCAweGU0LCAweGY1LCAweDMwLCAweDgwLCAweDE0LCAweGU1LCAweDMwLCAweGQzLCAweDk1LCAweDQyLCAweDUwLCAweDBkLCAweGU1LCAweDMwfX0sCi0gezB4MGJjNiwgNjQsIHsgMHhiNSwgMHg0MiwgMHgwNiwgMHg3NSwgMHgyZCwgMHgwMSwgMHg0MywgMHgzMywgMHgwMSwgMHgwNSwgMHgzMCwgMHhjMiwgMHgwYywgMHgyMiwgMHg3NSwgMHgxMiwgMHgwMSwKLSAgMHhjMiwgMHgxNCwgMHhjMiwgMHgxOCwgMHhjMiwgMHgxMywgMHhjMiwgMHgxNywgMHhjMiwgMHgxNSwgMHhjMiwgMHgxMiwgMHhkMiwgMHgxNiwgMHhlNCwgMHhmNSwKLSAgMHgxOCwgMHg5MCwgMHg3ZiwgMHg5MiwgMHhlMCwgMHg1NCwgMHhmZCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhZSwgMHhlMCwgMHhmZiwgMHhkMywgMHg5MiwgMHgxMywKLSAgMHhlNCwgMHgzMywgMHhmZSwgMHhlZiwgMHg0ZSwgMHhmMCwgMHhkMiwgMHhlOCwgMHg0MywgMHhkOCwgMHgyMCwgMHg5MCwgMHg3ZiwgMHhkZSwgMHg3NH19LAotIHsweDBjMDYsIDY0LCB7IDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZGYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YTksIDB4ZjAsIDB4OTAsCi0gIDB4N2YsIDB4YWEsIDB4ZjAsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWYsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWUsCi0gIDB4ZTAsIDB4NDQsIDB4MGQsIDB4ZjAsIDB4ZDIsIDB4YWYsIDB4ZDIsIDB4YmMsIDB4ZDIsIDB4MTksIDB4MTIsIDB4MGUsIDB4ZGEsIDB4YzIsIDB4MTQsIDB4MzAsCi0gIDB4MTUsIDB4MDMsIDB4MTIsIDB4MDUsIDB4ODAsIDB4OTAsIDB4N2YsIDB4ZDgsIDB4ZTAsIDB4NjUsIDB4MTEsIDB4NjAsIDB4MDgsIDB4ZTAsIDB4ZjV9fSwKLSB7MHgwYzQ2LCA2NCwgeyAweDExLCAweDEyLCAweDBiLCAweDQxLCAweDgwLCAweGVhLCAweDMwLCAweDE0LCAweDA3LCAweGMyLCAweDE0LCAweDEyLCAweDA5LCAweDFlLCAweDgwLCAweGUwLCAweDMwLAotICAweDE4LCAweGRkLCAweGMyLCAweDE4LCAweDEyLCAweDAwLCAweDI2LCAweDgwLCAweGQ2LCAweDIyLCAweDc4LCAweDdmLCAweGU0LCAweGY2LCAweGQ4LCAweGZkLAotICAweDc1LCAweDgxLCAweDUwLCAweDAyLCAweDBjLCAweGE4LCAweDAyLCAweDBiLCAweGQ0LCAweGU0LCAweDkzLCAweGEzLCAweGY4LCAweGU0LCAweDkzLCAweGEzLAotICAweDQwLCAweDAzLCAweGY2LCAweDgwLCAweDAxLCAweGYyLCAweDA4LCAweGRmLCAweGY0LCAweDgwLCAweDI5LCAweGU0LCAweDkzLCAweGEzLCAweGY4fX0sCi0gezB4MGM4NiwgNjQsIHsgMHg1NCwgMHgwNywgMHgyNCwgMHgwYywgMHhjOCwgMHhjMywgMHgzMywgMHhjNCwgMHg1NCwgMHgwZiwgMHg0NCwgMHgyMCwgMHhjOCwgMHg4MywgMHg0MCwgMHgwNCwgMHhmNCwKLSAgMHg1NiwgMHg4MCwgMHgwMSwgMHg0NiwgMHhmNiwgMHhkZiwgMHhlNCwgMHg4MCwgMHgwYiwgMHgwMSwgMHgwMiwgMHgwNCwgMHgwOCwgMHgxMCwgMHgyMCwgMHg0MCwKLSAgMHg4MCwgMHg5MCwgMHgwZSwgMHgwNCwgMHhlNCwgMHg3ZSwgMHgwMSwgMHg5MywgMHg2MCwgMHhiYywgMHhhMywgMHhmZiwgMHg1NCwgMHgzZiwgMHgzMCwgMHhlNSwKLSAgMHgwOSwgMHg1NCwgMHgxZiwgMHhmZSwgMHhlNCwgMHg5MywgMHhhMywgMHg2MCwgMHgwMSwgMHgwZSwgMHhjZiwgMHg1NCwgMHhjMCwgMHgyNSwgMHhlMH19LAotIHsweDBjYzYsIDY0LCB7IDB4NjAsIDB4YTgsIDB4NDAsIDB4YjgsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZmEsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjgsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4YzgsIDB4YzUsCi0gIDB4ODIsIDB4YzgsIDB4Y2EsIDB4YzUsIDB4ODMsIDB4Y2EsIDB4ZjAsIDB4YTMsIDB4YzgsIDB4YzUsIDB4ODIsIDB4YzgsIDB4Y2EsIDB4YzUsIDB4ODMsIDB4Y2EsCi0gIDB4ZGYsIDB4ZTksIDB4ZGUsIDB4ZTcsIDB4ODAsIDB4YmUsIDB4YmIsIDB4MDEsIDB4MDYsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTAsIDB4MjIsIDB4NTAsCi0gIDB4MDIsIDB4ZTcsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDIsIDB4ZTMsIDB4MjIsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTQsIDB4OTMsIDB4MjJ9fSwKLSB7MHgwZDA2LCA2NCwgeyAweGJiLCAweDAxLCAweDBjLCAweGU1LCAweDgyLCAweDI5LCAweGY1LCAweDgyLCAweGU1LCAweDgzLCAweDNhLCAweGY1LCAweDgzLCAweGUwLCAweDIyLCAweDUwLCAweDA2LAotICAweGU5LCAweDI1LCAweDgyLCAweGY4LCAweGU2LCAweDIyLCAweGJiLCAweGZlLCAweDA2LCAweGU5LCAweDI1LCAweDgyLCAweGY4LCAweGUyLCAweDIyLCAweGU1LAotICAweDgyLCAweDI5LCAweGY1LCAweDgyLCAweGU1LCAweDgzLCAweDNhLCAweGY1LCAweDgzLCAweGU0LCAweDkzLCAweDIyLCAweGJiLCAweDAxLCAweDA2LCAweDg5LAotICAweDgyLCAweDhhLCAweDgzLCAweGYwLCAweDIyLCAweDUwLCAweDAyLCAweGY3LCAweDIyLCAweGJiLCAweGZlLCAweDAxLCAweGYzLCAweDIyLCAweGQwfX0sCi0gezB4MGQ0NiwgNjQsIHsgMHg4MywgMHhkMCwgMHg4MiwgMHhmOCwgMHhlNCwgMHg5MywgMHg3MCwgMHgxMiwgMHg3NCwgMHgwMSwgMHg5MywgMHg3MCwgMHgwZCwgMHhhMywgMHhhMywgMHg5MywgMHhmOCwKLSAgMHg3NCwgMHgwMSwgMHg5MywgMHhmNSwgMHg4MiwgMHg4OCwgMHg4MywgMHhlNCwgMHg3MywgMHg3NCwgMHgwMiwgMHg5MywgMHg2OCwgMHg2MCwgMHhlZiwgMHhhMywKLSAgMHhhMywgMHhhMywgMHg4MCwgMHhkZiwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5MywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5YywgMHg3NCwgMHgzMCwgMHhmMCwgMHg5MCwKLSAgMHg3ZiwgMHg5NiwgMHg3NCwgMHgxMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NCwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZCwgMHgwNH19LAotIHsweDBkODYsIDY0LCB7IDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTcsIDB4NzQsIDB4MjAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTUsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWUsIDB4NzQsCi0gIDB4ODQsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZjAsIDB4OTAsCi0gIDB4N2YsIDB4Y2IsIDB4ZjAsIDB4NzUsIDB4OTgsIDB4NDAsIDB4NDMsIDB4YTgsIDB4MTAsIDB4OTAsIDB4N2YsIDB4ZGUsIDB4NzQsIDB4MWYsIDB4ZjAsIDB4OTAsCi0gIDB4N2YsIDB4ZGYsIDB4NzQsIDB4MGYsIDB4ZjAsIDB4ZDIsIDB4MTUsIDB4MjIsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTUsIDB4ZjAsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwZGM2LCA2NCwgeyAweDk0LCAweGYwLCAweDkwLCAweDdmLCAweDkzLCAweGYwLCAweDkwLCAweDdmLCAweDlkLCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDkwLCAweDdmLCAweDk3LCAweGUwLAotICAweDQ0LCAweDAyLCAweGYwLCAweDkwLCAweDdmLCAweDlkLCAweGUwLCAweDU0LCAweGZkLCAweGYwLCAweDkwLCAweDdmLCAweDljLCAweDc0LCAweDIwLCAweGYwLAotICAweGU0LCAweDkwLCAweDdmLCAweDk2LCAweGYwLCAweDkwLCAweDdmLCAweDlkLCAweGUwLCAweDQ0LCAweGZkLCAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweDk3LAotICAweGYwLCAweDkwLCAweDdmLCAweDllLCAweDc0LCAweGZmLCAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweDk4LCAweGYwLCAweDIyLCAweDBjLCAweDI0fX0sCi0gezB4MGUwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHgzMCwgMHgwMCwgMHgwMSwgMHgzMywKLSAgMHgwMSwgMHgwMSwgMHgzMiwgMHgwMCwgMHgwMSwgMHgzNywgMHgwMCwgMHgwMSwgMHg1MCwgMHgwMCwgMHgwMSwgMHgzNiwgMHgwMCwgMHgwMSwgMHgzNCwgMHgwMCwKLSAgMHhjMSwgMHgwNSwgMHhjMSwgMHgwYywgMHhjMSwgMHgwMywgMHhjMSwgMHgwZiwgMHhjMSwgMHgwNCwgMHhjMSwgMHgwZSwgMHhjMSwgMHgxMSwgMHhjMSwgMHgwYSwKLSAgMHhjMSwgMHgxMCwgMHhjMSwgMHgwOCwgMHhjMSwgMHgwOSwgMHhjMSwgMHgwNiwgMHhjMSwgMHgwMCwgMHhjMSwgMHgwZCwgMHhjMSwgMHg4MSwgMHhjMX19LAotIHsweDBlNDYsIDY0LCB7IDB4ODIsIDB4MDAsIDB4OGYsIDB4MTMsIDB4ZTQsIDB4ZjUsIDB4MTQsIDB4NzUsIDB4MTUsIDB4ZmYsIDB4NzUsIDB4MTYsIDB4MGYsIDB4NzUsIDB4MTcsIDB4YjksIDB4YWIsCi0gIDB4MTUsIDB4YWEsIDB4MTYsIDB4YTksIDB4MTcsIDB4OTAsIDB4MDAsIDB4MDEsIDB4MTIsIDB4MGQsIDB4MDYsIDB4YjQsIDB4MDMsIDB4MWQsIDB4YWYsIDB4MTQsCi0gIDB4MDUsIDB4MTQsIDB4ZWYsIDB4YjUsIDB4MTMsIDB4MDEsIDB4MjIsIDB4MTIsIDB4MGMsIDB4ZWQsIDB4N2UsIDB4MDAsIDB4MjksIDB4ZmYsIDB4ZWUsIDB4M2EsCi0gIDB4YTksIDB4MDcsIDB4NzUsIDB4MTUsIDB4ZmYsIDB4ZjUsIDB4MTYsIDB4ODksIDB4MTcsIDB4ODAsIDB4ZDQsIDB4N2IsIDB4MDAsIDB4N2EsIDB4MDB9fSwKLSB7MHgwZTg2LCA2NCwgeyAweDc5LCAweDAwLCAweDIyLCAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LAotICAweDAwLCAweDkwLCAweDdmLCAweGM0LCAweGU0LCAweGYwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDA0LCAweGYwLCAweGQwLAotICAweDg2LCAweGQwLCAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyLCAweGMwLCAweGUwLCAweGMwLCAweDgzLAotICAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweGQyLCAweDE0LCAweDUzLCAweDkxfX0sCi0gezB4MGVjNiwgNjQsIHsgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwMSwgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywKLSAgMHhkMCwgMHhlMCwgMHgzMiwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg1NCwgMHhmYiwgMHhmMCwgMHhlMCwgMHg0NCwgMHgwOCwgMHhmMCwgMHgzMCwgMHgxOSwKLSAgMHgwNCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHg3ZiwgMHhmNCwgMHg3ZSwgMHgwMSwgMHgxMiwgMHgwMCwgMHgwMywgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwKLSAgMHg1NCwgMHhmNywgMHhmMCwgMHhlMCwgMHg0NCwgMHgwNCwgMHhmMCwgMHgyMiwgMHgwMCwgMHgwMiwgMHgwZSwgMHhiMywgMHgwMCwgMHgwMiwgMHgwZn19LAotIHsweDBmMDYsIDY0LCB7IDB4MDQsIDB4MDAsIDB4MDIsIDB4MGUsIDB4ODksIDB4MDAsIDB4MDIsIDB4MGYsIDB4MGYsIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsCi0gIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4ZDIsIDB4MTgsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsCi0gIDB4MDgsIDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4NzQsCi0gIDB4MDAsIDB4ZjUsIDB4ODYsIDB4OTAsIDB4ZmQsIDB4YTUsIDB4N2MsIDB4MDUsIDB4YTMsIDB4ZTUsIDB4ODIsIDB4NDUsIDB4ODMsIDB4NzAsIDB4Zjl9fSwKLSB7MHgwZjQ2LCA2NCwgeyAweDIyLCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDQ0LCAweDgwLCAweGYwLCAweDQzLCAweDg3LCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDIyLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDEyLCAweDAxLCAweDEwLAotICAweDAxLCAweGZmLCAweDAwLCAweDAwLCAweDQwLCAweGNkLCAweDA2LCAweDA3LCAweDAxLCAweDAxLCAweDAwLCAweDAxLCAweDAyLCAweDAwLCAweDAyLCAweDA5LAotICAweDAyLCAweDQzLCAweDAwLCAweDAxLCAweDAxLCAweDAwLCAweDgwLCAweDMyLCAweDA5LCAweDA0LCAweDAwLCAweDAwLCAweDA3LCAweGZmLCAweDAwfX0sCi0gezB4MGY4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMSwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywKLSAgMHgwNSwgMHgwMywgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHg4MSwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4MiwKLSAgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4MywgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4NCwgMHgwMiwgMHg0MCwKLSAgMHgwMCwgMHgwMSwgMHgwNCwgMHgwMywgMHgwOSwgMHgwNCwgMHgxMCwgMHgwMywgMHg0YiwgMHgwMCwgMHg2NSwgMHgwMCwgMHg3OSwgMHgwMCwgMHg3M319LAotIHsweDBmYzYsIDIzLCB7IDB4MDAsIDB4NzAsIDB4MDAsIDB4NjEsIDB4MDAsIDB4NmUsIDB4MDAsIDB4MGUsIDB4MDMsIDB4NTMsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjksIDB4MDAsCi0gIDB4NjEsIDB4MDAsIDB4NmMsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHhmZmZmLAkwLAl7MHgwMH0gfQotfTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3VzYTE5cWlfZncuaCBiL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3VzYTE5cWlfZncuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWEyNjQ3Mi4uMDAwMDAwMAotLS0gYS9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl91c2ExOXFpX2Z3LmgKKysrIC9kZXYvbnVsbApAQCAtMSwyODQgKzAsMCBAQAotLyoga2V5c3Bhbl91c2ExOXFpX2Z3LmgKLSAKLQlUaGUgZmlybXdhcmUgY29udGFpbmVkIGhlcmVpbiBhcyBrZXlzcG5fdXNhMTlxaV9mdy5oIGlzCi0KLQkJQ29weXJpZ2h0IChDKSAxOTk5LTIwMDEKLQkJS2V5c3BhbiwgQSBkaXZpc2lvbiBvZiBJbm5vU3lzIEluY29ycG9yYXRlZCAoIktleXNwYW4iKQotCQkKLQlhcyBhbiB1bnB1Ymxpc2hlZCB3b3JrLiBUaGlzIG5vdGljZSBkb2VzIG5vdCBpbXBseSB1bnJlc3RyaWN0ZWQgb3IKLQlwdWJsaWMgYWNjZXNzIHRvIHRoZSBzb3VyY2UgY29kZSBmcm9tIHdoaWNoIHRoaXMgZmlybXdhcmUgaW1hZ2UgaXMKLQlkZXJpdmVkLiAgRXhjZXB0IGFzIG5vdGVkIGJlbG93IHRoaXMgZmlybXdhcmUgaW1hZ2UgbWF5IG5vdCBiZSAKLQlyZXByb2R1Y2VkLCB1c2VkLCBzb2xkIG9yIHRyYW5zZmVycmVkIHRvIGFueSB0aGlyZCBwYXJ0eSB3aXRob3V0IAotCUtleXNwYW4ncyBwcmlvciB3cml0dGVuIGNvbnNlbnQuICBBbGwgUmlnaHRzIFJlc2VydmVkLgotCi0JUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCBmb3IgdGhlIGRpc3RyaWJ1dGlvbiBvZiB0aGlzIGZpcm13YXJlIAotCWltYWdlIGFzIHBhcnQgb2YgYSBMaW51eCBvciBvdGhlciBPcGVuIFNvdXJjZSBvcGVyYXRpbmcgc3lzdGVtIGtlcm5lbCAKLQlpbiB0ZXh0IG9yIGJpbmFyeSBmb3JtIGFzIHJlcXVpcmVkLiAKLQotCVRoaXMgZmlybXdhcmUgbWF5IG5vdCBiZSBtb2RpZmllZCBhbmQgbWF5IG9ubHkgYmUgdXNlZCB3aXRoICAKLQlLZXlzcGFuIGhhcmR3YXJlLiAgRGlzdHJpYnV0aW9uIGFuZC9vciBNb2RpZmljYXRpb24gb2YgdGhlIAotCWtleXNwYW4uYyBkcml2ZXIgd2hpY2ggaW5jbHVkZXMgdGhpcyBmaXJtd2FyZSwgaW4gd2hvbGUgb3IgaW4gCi0JcGFydCwgcmVxdWlyZXMgdGhlIGluY2x1c2lvbiBvZiB0aGlzIHN0YXRlbWVudC4iCi0KLSovCi0KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgZXp1c2JfaGV4X3JlY29yZCBrZXlzcGFuX3VzYTE5cWlfZmlybXdhcmVbXSA9IHsKLSB7MHgwMDMzLCAgMywgeyAweDAyLCAweDAwLCAweDFhfX0sCi0gezB4MDAxYSwgIDQsIHsgMHg1MywgMHhkOCwgMHhlZiwgMHgzMn19LAotIHsweDAwMDMsIDE2LCB7IDB4OGUsIDB4MTEsIDB4OGYsIDB4MTIsIDB4ZTUsIDB4MTIsIDB4MTUsIDB4MTIsIDB4YWUsIDB4MTEsIDB4NzAsIDB4MDIsIDB4MTUsIDB4MTEsIDB4NGUsIDB4NjB9fSwKLSB7MHgwMDEzLCAgNywgeyAweDA1LCAweDEyLCAweDBmLCAweDg0LCAweDgwLCAweGVlLCAweDIyfX0sCi0gezB4MDAyMywgIDMsIHsgMHgwMiwgMHgwMCwgMHg0Nn19LAotIHsweDAwNDYsIDE2LCB7IDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4YzAsIDB4ZDAsIDB4NzUsIDB4ZDAsIDB4MDh9fSwKLSB7MHgwMDU2LCAxNiwgeyAweDMwLCAweDk5LCAweDBlLCAweDMwLCAweDBiLCAweDA3LCAweGEyLCAweDBlLCAweDkyLCAweDliLCAweDg1LCAweDM2LCAweDk5LCAweGMyLCAweDk5LCAweGQyfX0sCi0gezB4MDA2NiwgMTYsIHsgMHgxMiwgMHgyMCwgMHgxMiwgMHgwMywgMHgwMiwgMHgwNCwgMHgxZSwgMHhjMiwgMHgxMiwgMHgyMCwgMHgwMywgMHgwMywgMHgwMiwgMHgwMiwgMHg0ZSwgMHgyMH19LAotIHsweDAwNzYsIDE2LCB7IDB4MGIsIDB4MDMsIDB4MDIsIDB4MDEsIDB4MjYsIDB4ZTUsIDB4M2EsIDB4YzMsIDB4OTUsIDB4NTMsIDB4NTAsIDB4M2MsIDB4MjAsIDB4MGMsIDB4MzQsIDB4MjB9fSwKLSB7MHgwMDg2LCAxNiwgeyAweDA5LCAweDMxLCAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDU1LCAweDM4LCAweDcwLCAweDI5LCAweDMwLCAweDEwLCAweDEyLCAweGFmLCAweDNhLCAweDA1fX0sCi0gezB4MDA5NiwgMTYsIHsgMHgzYSwgMHg3NCwgMHg0MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwgMHgwZSwgMHhhZn19LAotIHsweDAwYTYsIDE2LCB7IDB4M2EsIDB4MDUsIDB4M2EsIDB4NzQsIDB4NDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4MzZ9fSwKLSB7MHgwMGI2LCAxNiwgeyAweDAyLCAweDA0LCAweDFjLCAweGMyLCAweDBiLCAweDAyLCAweDA0LCAweDFjLCAweDkwLCAweDdmLCAweGM3LCAweGU0LCAweGYwLCAweGMyLCAweDAzLCAweDMwfX0sCi0gezB4MDBjNiwgMTYsIHsgMHgwZCwgMHgwYywgMHhjMiwgMHgwZCwgMHg5MCwgMHg3ZiwgMHhiYiwgMHgwNCwgMHhmMCwgMHhjMiwgMHgwYiwgMHgwMiwgMHgwNCwgMHgxYywgMHg5MCwgMHg3Zn19LAotIHsweDAwZDYsIDE2LCB7IDB4YzgsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDUsIDB4YzIsIDB4MGIsIDB4MDIsIDB4MDQsIDB4MWMsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZTAsIDB4ZjUsIDB4NTN9fSwKLSB7MHgwMGU2LCAxNiwgeyAweDkwLCAweDdkLCAweGMwLCAweGUwLCAweDEzLCAweDkyLCAweDBkLCAweDc1LCAweDE2LCAweGZmLCAweDIwLCAweDBjLCAweDJiLCAweDIwLCAweDA5LCAweDI4fX0sCi0gezB4MDBmNiwgMTYsIHsgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHg1NSwgMHgzOCwgMHg3MCwgMHgyMCwgMHgzMCwgMHgxMCwgMHgxMSwgMHg5MCwgMHg3ZCwgMHhjMSwgMHhlMCwgMHgxM319LAotIHsweDAwNDMsICAzLCB7IDB4MDIsIDB4MGUsIDB4MDB9fSwKLSB7MHgwMDAwLCAgMywgeyAweDAyLCAweDAwLCAweDI2fX0sCi0gezB4MDAyNiwgMTIsIHsgMHg3OCwgMHg3ZiwgMHhlNCwgMHhmNiwgMHhkOCwgMHhmZCwgMHg3NSwgMHg4MSwgMHg1NCwgMHgwMiwgMHgwYiwgMHgyOH19LAotIHsweDAxMDYsIDY0LCB7IDB4OTIsIDB4MGUsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4MzYsIDB4NzUsIDB4M2EsIDB4MDMsIDB4MDIsIDB4MDQsIDB4MWMsIDB4NzUsIDB4M2EsIDB4MDIsIDB4OTAsIDB4N2QsCi0gIDB4YzEsIDB4ZTAsIDB4ZjUsIDB4MzYsIDB4MDIsIDB4MDQsIDB4MWMsIDB4NzUsIDB4M2EsIDB4MDEsIDB4YzIsIDB4MGIsIDB4MDIsIDB4MDQsIDB4MWMsIDB4ZTUsCi0gIDB4M2EsIDB4YzMsIDB4OTUsIDB4NTMsIDB4NTAsIDB4MDMsIDB4MDIsIDB4MDEsIDB4YzksIDB4OTAsIDB4N2YsIDB4YzYsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDcsCi0gIDB4YzIsIDB4MTQsIDB4YzIsIDB4MDUsIDB4MDIsIDB4MDQsIDB4MWMsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZTAsIDB4ZjUsIDB4NTMsIDB4OTAsIDB4N2V9fSwKLSB7MHgwMTQ2LCA2NCwgeyAweDQwLCAweGUwLCAweDEzLCAweDkyLCAweDBkLCAweDc1LCAweDE2LCAweGZmLCAweDIwLCAweDBjLCAweDcwLCAweDIwLCAweDA5LCAweDZkLCAweDkwLCAweDdmLCAweDliLAotICAweGUwLCAweDU1LCAweDM4LCAweDcwLCAweDY1LCAweDMwLCAweDEwLCAweDEwLCAweDkwLCAweDdlLCAweDQxLCAweGUwLCAweDEzLCAweDkyLCAweDliLCAweGEzLAotICAweGUwLCAweGY1LCAweDk5LCAweDc1LCAweDNhLCAweDAzLCAweDgwLCAweDA5LCAweDkwLCAweDdlLCAweDQxLCAweGUwLCAweGY1LCAweDk5LCAweDc1LCAweDNhLAotICAweDAyLCAweGU1LCAweDNhLCAweGMzLCAweDk1LCAweDUzLCAweDQwLCAweDE3LCAweDkwLCAweDdmLCAweGM3LCAweGU0LCAweGYwLCAweGMyLCAweDAzfX0sCi0gezB4MDE4NiwgNjQsIHsgMHgyMCwgMHgwZCwgMHgwMywgMHgwMiwgMHgwNCwgMHgxYywgMHhjMiwgMHgwZCwgMHg5MCwgMHg3ZiwgMHhiYiwgMHgwNCwgMHhmMCwgMHgwMiwgMHgwNCwgMHgxYywgMHgzMCwKLSAgMHgxMCwgMHgxMiwgMHhhZiwgMHgzYSwgMHgwNSwgMHgzYSwgMHg3NCwgMHg0MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywKLSAgMHhlMCwgMHgxMywgMHg5MiwgMHgwZSwgMHhhZiwgMHgzYSwgMHgwNSwgMHgzYSwgMHg3NCwgMHg0MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwKLSAgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHgzNiwgMHhkMiwgMHgwYiwgMHgwMiwgMHgwNCwgMHgxYywgMHg3NSwgMHgzYSwgMHgwMSwgMHhjMiwgMHgxNH19LAotIHsweDAxYzYsIDY0LCB7IDB4MDIsIDB4MDQsIDB4MWMsIDB4MzAsIDB4MGMsIDB4MDMsIDB4MDIsIDB4MDIsIDB4NDksIDB4MjAsIDB4MDksIDB4NzcsIDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4NTUsCi0gIDB4MzgsIDB4NzAsIDB4NmYsIDB4MzAsIDB4MTAsIDB4MTIsIDB4YWYsIDB4M2EsIDB4MDUsIDB4M2EsIDB4NzQsIDB4NDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsCi0gIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4OWIsIDB4YWYsIDB4M2EsIDB4MDUsIDB4M2EsIDB4NzQsIDB4NDAsIDB4MmYsIDB4ZjUsCi0gIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4OTksIDB4ZTUsIDB4M2EsIDB4YzMsIDB4OTUsIDB4NTMsIDB4NDB9fSwKLSB7MHgwMjA2LCA2NCwgeyAweDE3LCAweDkwLCAweDdmLCAweGM3LCAweGU0LCAweGYwLCAweGMyLCAweDAzLCAweDIwLCAweDBkLCAweDAzLCAweDAyLCAweDA0LCAweDFjLCAweGMyLCAweDBkLCAweDkwLAotICAweDdmLCAweGJiLCAweDA0LCAweGYwLCAweDAyLCAweDA0LCAweDFjLCAweDMwLCAweDEwLCAweDEyLCAweGFmLCAweDNhLCAweDA1LCAweDNhLCAweDc0LCAweDQwLAotICAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyLCAweDBlLCAweGFmLCAweDNhLCAweDA1LCAweDNhLAotICAweDc0LCAweDQwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweDM2LCAweGQyLCAweDBifX0sCi0gezB4MDI0NiwgNjQsIHsgMHgwMiwgMHgwNCwgMHgxYywgMHhjMiwgMHgxNCwgMHgwMiwgMHgwNCwgMHgxYywgMHgyMCwgMHgwYiwgMHgwMywgMHgwMiwgMHgwMiwgMHhmZiwgMHhlNSwgMHgzYSwgMHhjMywKLSAgMHg5NSwgMHg1MywgMHg1MCwgMHgzYywgMHgyMCwgMHgwYywgMHgzNCwgMHgyMCwgMHgwOSwgMHgzMSwgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHg1NSwgMHgzOCwKLSAgMHg3MCwgMHgyOSwgMHgzMCwgMHgxMCwgMHgxMiwgMHhhZiwgMHgzYSwgMHgwNSwgMHgzYSwgMHg3NCwgMHhjMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwKLSAgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwgMHgwZSwgMHhhZiwgMHgzYSwgMHgwNSwgMHgzYSwgMHg3NCwgMHhjMCwgMHgyZiwgMHhmNX19LAotIHsweDAyODYsIDY0LCB7IDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4MzYsIDB4MDIsIDB4MDQsIDB4MWMsIDB4YzIsIDB4MGIsIDB4MDIsIDB4MDQsIDB4MWMsCi0gIDB4OTAsIDB4N2YsIDB4YzksIDB4ZTQsIDB4ZjAsIDB4ZDIsIDB4MDMsIDB4MzAsIDB4MGQsIDB4MGMsIDB4YzIsIDB4MGQsIDB4OTAsIDB4N2YsIDB4YmIsIDB4MDQsCi0gIDB4ZjAsIDB4YzIsIDB4MGIsIDB4MDIsIDB4MDQsIDB4MWMsIDB4OTAsIDB4N2YsIDB4YzYsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDUsIDB4YzIsIDB4MGIsIDB4MDIsCi0gIDB4MDQsIDB4MWMsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZTAsIDB4ZjUsIDB4NTMsIDB4OTAsIDB4N2UsIDB4NDAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGR9fSwKLSB7MHgwMmM2LCA2NCwgeyAweDc1LCAweDE2LCAweGZmLCAweDIwLCAweDBjLCAweDJiLCAweDIwLCAweDA5LCAweDI4LCAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDU1LCAweDM4LCAweDcwLCAweDIwLAotICAweDMwLCAweDEwLCAweDExLCAweDkwLCAweDdlLCAweDQxLCAweGUwLCAweDEzLCAweDkyLCAweDBlLCAweGEzLCAweGUwLCAweGY1LCAweDM2LCAweDc1LCAweDNhLAotICAweDAzLCAweDAyLCAweDA0LCAweDFjLCAweDc1LCAweDNhLCAweDAyLCAweDkwLCAweDdlLCAweDQxLCAweGUwLCAweGY1LCAweDM2LCAweDAyLCAweDA0LCAweDFjLAotICAweDc1LCAweDNhLCAweDAxLCAweGMyLCAweDBiLCAweDAyLCAweDA0LCAweDFjLCAweGU1LCAweDNhLCAweGMzLCAweDk1LCAweDUzLCAweDUwLCAweDAzfX0sCi0gezB4MDMwNiwgNjQsIHsgMHgwMiwgMHgwMywgMHhhMiwgMHg5MCwgMHg3ZiwgMHhjOCwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwNywgMHhjMiwgMHgxNCwgMHhjMiwgMHgwNSwgMHgwMiwgMHgwNCwgMHgxYywKLSAgMHg5MCwgMHg3ZiwgMHhjOSwgMHhlMCwgMHhmNSwgMHg1MywgMHg5MCwgMHg3ZCwgMHhjMCwgMHhlMCwgMHgxMywgMHg5MiwgMHgwZCwgMHg3NSwgMHgxNiwgMHhmZiwKLSAgMHgyMCwgMHgwYywgMHg3MCwgMHgyMCwgMHgwOSwgMHg2ZCwgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHg1NSwgMHgzOCwgMHg3MCwgMHg2NSwgMHgzMCwgMHgxMCwKLSAgMHgxMCwgMHg5MCwgMHg3ZCwgMHhjMSwgMHhlMCwgMHgxMywgMHg5MiwgMHg5YiwgMHhhMywgMHhlMCwgMHhmNSwgMHg5OSwgMHg3NSwgMHgzYSwgMHgwM319LAotIHsweDAzNDYsIDY0LCB7IDB4ODAsIDB4MDksIDB4OTAsIDB4N2QsIDB4YzEsIDB4ZTAsIDB4ZjUsIDB4OTksIDB4NzUsIDB4M2EsIDB4MDIsIDB4ZTUsIDB4M2EsIDB4YzMsIDB4OTUsIDB4NTMsIDB4NDAsCi0gIDB4MTcsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZTQsIDB4ZjAsIDB4ZDIsIDB4MDMsIDB4MjAsIDB4MGQsIDB4MDMsIDB4MDIsIDB4MDQsIDB4MWMsIDB4YzIsIDB4MGQsCi0gIDB4OTAsIDB4N2YsIDB4YmIsIDB4MDQsIDB4ZjAsIDB4MDIsIDB4MDQsIDB4MWMsIDB4MzAsIDB4MTAsIDB4MTIsIDB4YWYsIDB4M2EsIDB4MDUsIDB4M2EsIDB4NzQsCi0gIDB4YzAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGUsIDB4YWYsIDB4M2F9fSwKLSB7MHgwMzg2LCA2NCwgeyAweDA1LCAweDNhLCAweDc0LCAweGMwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweDM2LCAweGQyLCAweDBiLAotICAweDAyLCAweDA0LCAweDFjLCAweDc1LCAweDNhLCAweDAxLCAweGMyLCAweDE0LCAweDAyLCAweDA0LCAweDFjLCAweDIwLCAweDBjLCAweDc1LCAweDIwLCAweDA5LAotICAweDcyLCAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDU1LCAweDM4LCAweDcwLCAweDZhLCAweDMwLCAweDEwLCAweDEyLCAweGFmLCAweDNhLCAweDA1LCAweDNhLAotICAweDc0LCAweGMwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyLCAweDliLCAweGFmfX0sCi0gezB4MDNjNiwgNjQsIHsgMHgzYSwgMHgwNSwgMHgzYSwgMHg3NCwgMHhjMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHg5OSwgMHhlNSwKLSAgMHgzYSwgMHhjMywgMHg5NSwgMHg1MywgMHg0MCwgMHgxMywgMHg5MCwgMHg3ZiwgMHhjOSwgMHhlNCwgMHhmMCwgMHhkMiwgMHgwMywgMHgzMCwgMHgwZCwgMHgzNSwKLSAgMHhjMiwgMHgwZCwgMHg5MCwgMHg3ZiwgMHhiYiwgMHgwNCwgMHhmMCwgMHg4MCwgMHgyYywgMHgzMCwgMHgxMCwgMHgxMiwgMHhhZiwgMHgzYSwgMHgwNSwgMHgzYSwKLSAgMHg3NCwgMHhjMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwgMHgwZSwgMHhhZn19LAotIHsweDA0MDYsIDY0LCB7IDB4M2EsIDB4MDUsIDB4M2EsIDB4NzQsIDB4YzAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4MzYsIDB4ZDIsCi0gIDB4MGIsIDB4ODAsIDB4MDIsIDB4YzIsIDB4MTQsIDB4ZDIsIDB4MDEsIDB4MjAsIDB4OTgsIDB4MDMsIDB4MDIsIDB4MDUsIDB4NWEsIDB4YzIsIDB4OTgsIDB4MjAsCi0gIDB4MDIsIDB4MDMsIDB4MDIsIDB4MDQsIDB4YzcsIDB4MjAsIDB4MTYsIDB4MjcsIDB4YWYsIDB4MzksIDB4MDUsIDB4MzksIDB4NzQsIDB4ODAsIDB4MmYsIDB4ZjUsCi0gIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTUsIDB4OTksIDB4ZjAsIDB4MzAsIDB4MTAsIDB4NGQsIDB4YWYsIDB4MzksIDB4MDV9fSwKLSB7MHgwNDQ2LCA2NCwgeyAweDM5LCAweDc0LCAweDgwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGU1LCAweDk4LCAweGYwLCAweDgwLCAweDNhLCAweDg1LAotICAweDk5LCAweDEwLCAweGU1LCAweDEwLCAweGI1LCAweDQ3LCAweDA0LCAweGQyLCAweDA5LCAweDgwLCAweDJlLCAweGU1LCAweDEwLCAweGI1LCAweDQ2LCAweDA0LAotICAweGMyLCAweDA5LCAweDgwLCAweDI1LCAweGFmLCAweDM5LCAweDA1LCAweDM5LCAweDc0LCAweDgwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLAotICAweGY1LCAweDgzLCAweGU1LCAweDEwLCAweGYwLCAweDMwLCAweDEwLCAweDExLCAweGFmLCAweDM5LCAweDA1LCAweDM5LCAweDc0LCAweDgwLCAweDJmfX0sCi0gezB4MDQ4NiwgNjQsIHsgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlNSwgMHg5OCwgMHhmMCwgMHhkMiwgMHgwZiwgMHhlNSwgMHgzOSwgMHhjMywgMHg5NSwgMHg0MywKLSAgMHg1MCwgMHgwMywgMHgwMiwgMHgwNSwgMHg1OCwgMHg5MCwgMHg3ZiwgMHhiOCwgMHhlMCwgMHgzMCwgMHhlMSwgMHgxNiwgMHhlNSwgMHgzOSwgMHhjMywgMHg5NCwKLSAgMHg0MCwgMHg1MCwgMHgwMywgMHgwMiwgMHgwNSwgMHg1OCwgMHgxNSwgMHgzOSwgMHgxNSwgMHgzOSwgMHgwNSwgMHgyYiwgMHg0MywgMHgzNCwgMHgwMSwgMHgwMiwKLSAgMHgwNSwgMHg1OCwgMHg5MCwgMHg3ZiwgMHhiNywgMHhlNSwgMHgzOSwgMHhmMCwgMHg3NSwgMHgzOSwgMHgwMCwgMHhjMiwgMHgwMiwgMHgwMiwgMHgwNX19LAotIHsweDA0YzYsIDY0LCB7IDB4NTgsIDB4MjAsIDB4MTYsIDB4MjcsIDB4YWYsIDB4MzksIDB4MDUsIDB4MzksIDB4NzQsIDB4MDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsCi0gIDB4ODMsIDB4ZTUsIDB4OTksIDB4ZjAsIDB4MzAsIDB4MTAsIDB4NGQsIDB4YWYsIDB4MzksIDB4MDUsIDB4MzksIDB4NzQsIDB4MDAsIDB4MmYsIDB4ZjUsIDB4ODIsCi0gIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTUsIDB4OTgsIDB4ZjAsIDB4ODAsIDB4M2EsIDB4ODUsIDB4OTksIDB4MTAsIDB4ZTUsIDB4MTAsIDB4YjUsCi0gIDB4NDcsIDB4MDQsIDB4ZDIsIDB4MDksIDB4ODAsIDB4MmUsIDB4ZTUsIDB4MTAsIDB4YjUsIDB4NDYsIDB4MDQsIDB4YzIsIDB4MDksIDB4ODAsIDB4MjV9fSwKLSB7MHgwNTA2LCA2NCwgeyAweGFmLCAweDM5LCAweDA1LCAweDM5LCAweDc0LCAweDAwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGU1LCAweDEwLCAweGYwLAotICAweDMwLCAweDEwLCAweDExLCAweGFmLCAweDM5LCAweDA1LCAweDM5LCAweDc0LCAweDAwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LAotICAweDgzLCAweGU1LCAweDk4LCAweGYwLCAweGQyLCAweDBmLCAweGU1LCAweDM5LCAweGMzLCAweDk1LCAweDQzLCAweDQwLCAweDI0LCAweDkwLCAweDdmLCAweGI2LAotICAweGUwLCAweDMwLCAweGUxLCAweDEyLCAweGU1LCAweDM5LCAweGMzLCAweDk0LCAweDQwLCAweDQwLCAweDE2LCAweDE1LCAweDM5LCAweDE1LCAweDM5fX0sCi0gezB4MDU0NiwgNjQsIHsgMHgwNSwgMHgyYiwgMHg0MywgMHgzNCwgMHgwMSwgMHg4MCwgMHgwYiwgMHg5MCwgMHg3ZiwgMHhiOSwgMHhlNSwgMHgzOSwgMHhmMCwgMHg3NSwgMHgzOSwgMHgwMCwgMHhkMiwKLSAgMHgwMiwgMHhkMiwgMHgwMSwgMHgzMCwgMHgwMSwgMHgwNSwgMHhjMiwgMHgwMSwgMHgwMiwgMHgwMCwgMHg1NiwgMHhkMCwgMHhkMCwgMHhkMCwgMHg4NiwgMHhkMCwKLSAgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwgMHg5MCwgMHg3ZiwgMHhiYywgMHhlMCwgMHgyMCwgMHhlMSwgMHg1MSwgMHhlNSwgMHgzNCwgMHg2MCwKLSAgMHg0ZCwgMHhlNSwgMHgzMSwgMHg3MCwgMHg0OSwgMHhlNSwgMHgzNCwgMHgzMCwgMHhlMSwgMHgwOCwgMHhlNCwgMHhmNSwgMHgyZiwgMHg3NSwgMHgzNH19LAotIHsweDA1ODYsIDY0LCB7IDB4MDEsIDB4ODAsIDB4MGIsIDB4YTIsIDB4MDgsIDB4ZTQsIDB4MzMsIDB4ZjUsIDB4MmYsIDB4YzIsIDB4MDgsIDB4ZTQsIDB4ZjUsIDB4MzQsIDB4ZTQsIDB4ZjUsIDB4MTEsCi0gIDB4N2UsIDB4MDAsIDB4N2IsIDB4MDAsIDB4NzQsIDB4MjQsIDB4MjUsIDB4MTEsIDB4ZjksIDB4ZWUsIDB4MzQsIDB4MDAsIDB4ZmEsIDB4MTIsIDB4MGQsIDB4MDYsCi0gIDB4ZmYsIDB4NzQsIDB4MDAsIDB4MjUsIDB4MTEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MDUsIDB4MTEsCi0gIDB4ZTUsIDB4MTEsIDB4YjQsIDB4MGMsIDB4ZGIsIDB4OTAsIDB4N2YsIDB4YmQsIDB4NzQsIDB4MGMsIDB4ZjAsIDB4NzUsIDB4MzEsIDB4MTAsIDB4OTB9fSwKLSB7MHgwNWM2LCA2NCwgeyAweDdmLCAweGNhLCAweGUwLCAweDMwLCAweGUxLCAweDAzLCAweDAyLCAweDA2LCAweGYzLCAweGU0LCAweGY1LCAweDExLCAweDc0LCAweDQwLCAweDI1LCAweDExLCAweGY1LAotICAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweGU1LCAweDExLCAweDdjLCAweDAwLCAweDdiLCAweDAwLCAweDI0LCAweDNiLAotICAweGY5LCAweGVjLCAweDM0LCAweDAwLCAweGZhLCAweGVmLCAweDEyLCAweDBkLCAweDFmLCAweDA1LCAweDExLCAweGU1LCAweDExLCAweGI0LCAweDE4LCAweGRiLAotICAweGU1LCAweDNiLCAweDYwLCAweDExLCAweDc1LCAweGM5LCAweDIwLCAweDc1LCAweGM4LCAweDM2LCAweDg1LCAweDNjLCAweGNhLCAweDg1LCAweDNkfX0sCi0gezB4MDYwNiwgNjQsIHsgMHhjYiwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5ZiwgMHhmMCwgMHhlNSwgMHgzZSwgMHgxMywgMHg5MiwgMHgxMCwgMHg5MiwgMHg5ZiwgMHg4NSwgMHgzZiwgMHgzOCwgMHhlNSwKLSAgMHg0MCwgMHgxMywgMHg5MiwgMHgxNiwgMHhlNSwgMHg0MSwgMHg2MCwgMHgwOSwgMHg5MCwgMHg3ZiwgMHg5OCwgMHhlMCwgMHg1NCwgMHhmYiwgMHhmMCwgMHg4MCwKLSAgMHgwNywgMHg5MCwgMHg3ZiwgMHg5OCwgMHhlMCwgMHg0NCwgMHgwNCwgMHhmMCwgMHhlNSwgMHg0MiwgMHg2MCwgMHgwOSwgMHg5MCwgMHg3ZiwgMHg5OCwgMHhlMCwKLSAgMHg1NCwgMHg3ZiwgMHhmMCwgMHg4MCwgMHgwNywgMHg5MCwgMHg3ZiwgMHg5OCwgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHhlNSwgMHg0OCwgMHg2MH19LAotIHsweDA2NDYsIDY0LCB7IDB4MGIsIDB4YzIsIDB4MGMsIDB4YzIsIDB4MDksIDB4OTAsIDB4N2YsIDB4OTUsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4ZTUsIDB4NDksIDB4NjAsIDB4MGMsIDB4ZDIsCi0gIDB4MDksIDB4NDMsIDB4MzQsIDB4MDEsIDB4OTAsIDB4N2YsIDB4OTUsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4ZTUsIDB4NGEsIDB4NjAsIDB4MGQsIDB4YzIsCi0gIDB4YWYsIDB4YzIsIDB4MGIsIDB4ZDIsIDB4MDAsIDB4ZTQsIDB4ZjUsIDB4NTMsIDB4ZjUsIDB4M2EsIDB4ZDIsIDB4YWYsIDB4ZTUsIDB4NGIsIDB4NjAsIDB4MDUsCi0gIDB4MzAsIDB4MTYsIDB4MDIsIDB4ZDIsIDB4MDksIDB4ZTUsIDB4NGMsIDB4NjAsIDB4MTUsIDB4OTAsIDB4N2YsIDB4OTUsIDB4ZTAsIDB4NTQsIDB4ZmR9fSwKLSB7MHgwNjg2LCA2NCwgeyAweGYwLCAweDkwLCAweDdmLCAweDllLCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweGUwLCAweDU0LCAweGZkLCAweGYwLCAweGU1LCAweDRkLAotICAweDYwLCAweDBhLCAweGQyLCAweDljLCAweGMyLCAweDk4LCAweDc1LCAweDJjLCAweDAxLCAweDc1LCAweDMxLCAweDFlLCAweGU1LCAweDRlLCAweDYwLCAweDA3LAotICAweGMyLCAweDljLCAweGU0LCAweGY1LCAweDM5LCAweGY1LCAweDJjLCAweGU1LCAweDRmLCAweDYwLCAweDAzLCAweGU0LCAweGY1LCAweDM5LCAweGU1LCAweDUwLAotICAweDYwLCAweDAyLCAweGQyLCAweDA3LCAweGU1LCAweDUxLCAweDYwLCAweDBhLCAweGU1LCAweDRkLCAweDcwLCAweDAyLCAweGY1LCAweDMxLCAweGU1fX0sCi0gezB4MDZjNiwgNjQsIHsgMHg1MSwgMHg0MiwgMHgzNCwgMHhlNSwgMHg1MiwgMHg2MCwgMHgxZiwgMHg5MCwgMHg3ZiwgMHhkNywgMHg3NCwgMHgxMSwgMHhmMCwgMHg3NCwgMHgzMSwgMHhmMCwgMHg3NCwKLSAgMHgxMiwgMHhmMCwgMHg3NCwgMHgzMiwgMHhmMCwgMHg3NCwgMHgxMywgMHhmMCwgMHg3NCwgMHgzMywgMHhmMCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg3NCwgMHgzNCwKLSAgMHhmMCwgMHhkMiwgMHgwMywgMHhkMiwgMHgwMiwgMHhkMiwgMHgwOCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjYiwgMHhmMCwgMHhhMiwgMHgwYywgMHhlNCwgMHgzMywKLSAgMHhmZiwgMHg2NSwgMHgyOSwgMHg2MCwgMHgwNSwgMHg4ZiwgMHgyOSwgMHg0MywgMHgzNCwgMHgwMSwgMHhhMiwgMHgwOSwgMHhlNCwgMHgzMywgMHhmZn19LAotIHsweDA3MDYsIDY0LCB7IDB4NjUsIDB4MmEsIDB4NjAsIDB4MDUsIDB4OGYsIDB4MmEsIDB4NDMsIDB4MzQsIDB4MDEsIDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4ZmYsIDB4NTQsIDB4MDgsIDB4NjQsCi0gIDB4MDgsIDB4ZmUsIDB4NjUsIDB4MjUsIDB4NjAsIDB4MDUsIDB4OGUsIDB4MjUsIDB4NDMsIDB4MzQsIDB4MDEsIDB4ZWYsIDB4NTQsIDB4MTAsIDB4NjQsIDB4MTAsCi0gIDB4ZmUsIDB4NjUsIDB4MjYsIDB4NjAsIDB4MDUsIDB4OGUsIDB4MjYsIDB4NDMsIDB4MzQsIDB4MDEsIDB4ZWYsIDB4NTQsIDB4NDAsIDB4NjQsIDB4NDAsIDB4ZmUsCi0gIDB4NjUsIDB4MjcsIDB4NjAsIDB4MDUsIDB4OGUsIDB4MjcsIDB4NDMsIDB4MzQsIDB4MDEsIDB4ZWYsIDB4NTQsIDB4MjAsIDB4NjQsIDB4MjAsIDB4ZmV9fSwKLSB7MHgwNzQ2LCA2NCwgeyAweDY1LCAweDI4LCAweDYwLCAweDA1LCAweDhlLCAweDI4LCAweDQzLCAweDM0LCAweDAxLCAweDkwLCAweDdmLCAweDlhLCAweGUwLCAweDU0LCAweDQwLCAweDY0LCAweDQwLAotICAweGZlLCAweDY1LCAweDJlLCAweDYwLCAweDA1LCAweDhlLCAweDJlLCAweDQzLCAweDM0LCAweDAxLCAweDMwLCAweDA3LCAweDM1LCAweGMyLCAweGFmLCAweDMwLAotICAweDAyLCAweDE4LCAweDkwLCAweDdmLCAweGI4LCAweGUwLCAweDIwLCAweGUxLCAweDI3LCAweGU1LCAweDM5LCAweDYwLCAweDA5LCAweDkwLCAweDdmLCAweGI3LAotICAweGYwLCAweGU0LCAweGY1LCAweDM5LCAweGMyLCAweDAyLCAweGMyLCAweDA3LCAweDgwLCAweDE2LCAweDkwLCAweDdmLCAweGI2LCAweGUwLCAweDIwfX0sCi0gezB4MDc4NiwgNjQsIHsgMHhlMSwgMHgwZiwgMHhlNSwgMHgzOSwgMHg2MCwgMHgwOSwgMHg5MCwgMHg3ZiwgMHhiOSwgMHhmMCwgMHhlNCwgMHhmNSwgMHgzOSwgMHhkMiwgMHgwMiwgMHhjMiwgMHgwNywKLSAgMHhkMiwgMHhhZiwgMHgyMCwgMHgwNSwgMHgzZCwgMHgzMCwgMHgwMywgMHgxZSwgMHg5MCwgMHg3ZiwgMHhjNiwgMHhlMCwgMHgyMCwgMHhlMSwgMHgzMywgMHg5MCwKLSAgMHg3ZSwgMHg0MCwgMHhlMCwgMHgxMywgMHg5MiwgMHgwZCwgMHg3NSwgMHgzYSwgMHgwMSwgMHg5MCwgMHg3ZiwgMHhjNywgMHhlMCwgMHhmNSwgMHg1MywgMHhkMiwKLSAgMHgwNSwgMHg3NSwgMHgxNiwgMHhmZiwgMHg4MCwgMHgxYywgMHg5MCwgMHg3ZiwgMHhjOCwgMHhlMCwgMHgyMCwgMHhlMSwgMHgxNSwgMHg5MCwgMHg3ZH19LAotIHsweDA3YzYsIDY0LCB7IDB4YzAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGQsIDB4NzUsIDB4M2EsIDB4MDEsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZTAsIDB4ZjUsIDB4NTMsIDB4ZDIsIDB4MDUsIDB4NzUsCi0gIDB4MTYsIDB4ZmYsIDB4MjAsIDB4MTQsIDB4MzMsIDB4MjAsIDB4MDAsIDB4MDYsIDB4ZTUsIDB4M2EsIDB4NjUsIDB4NTMsIDB4NzAsIDB4MmEsIDB4MzAsIDB4MDUsCi0gIDB4MWEsIDB4MzAsIDB4MDMsIDB4MDksIDB4ZTQsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZjAsIDB4YzIsIDB4MDMsIDB4ODAsIDB4MDcsIDB4ZTQsIDB4OTAsIDB4N2YsCi0gIDB4YzksIDB4ZjAsIDB4ZDIsIDB4MDMsIDB4YzIsIDB4MDUsIDB4ZTQsIDB4ZjUsIDB4NTMsIDB4ZjUsIDB4M2EsIDB4MzAsIDB4MGQsIDB4MGEsIDB4YzJ9fSwKLSB7MHgwODA2LCA2NCwgeyAweDBkLCAweGMyLCAweDAwLCAweDkwLCAweDdmLCAweGJiLCAweDc0LCAweDAxLCAweGYwLCAweDMwLCAweDE0LCAweDAzLCAweDAyLCAweDA5LCAweDE0LCAweDIwLCAweDA1LAotICAweDAzLCAweDAyLCAweDA5LCAweDE0LCAweDMwLCAweDBjLCAweDAzLCAweDAyLCAweDA5LCAweDE0LCAweDMwLCAweDA5LCAweDAzLCAweDAyLCAweDA5LCAweDE0LAotICAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDU1LCAweDM4LCAweDYwLCAweDAzLCAweDAyLCAweDA5LCAweDE0LCAweDMwLCAweDAzLCAweDYxLCAweDMwLCAweDEwLAotICAweDEyLCAweGFmLCAweDNhLCAweDA1LCAweDNhLCAweDc0LCAweDQwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzfX0sCi0gezB4MDg0NiwgNjQsIHsgMHhlMCwgMHgxMywgMHg5MiwgMHgxYiwgMHhhZiwgMHgzYSwgMHgwNSwgMHgzYSwgMHg3NCwgMHg0MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwKLSAgMHg4MywgMHhlMCwgMHhmZSwgMHhlNSwgMHgzYSwgMHhjMywgMHg5NSwgMHg1MywgMHg1MCwgMHgyYSwgMHgzMCwgMHgxMCwgMHgxMiwgMHhhZiwgMHgzYSwgMHgwNSwKLSAgMHgzYSwgMHg3NCwgMHg0MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwgMHgwZSwgMHhhZiwKLSAgMHgzYSwgMHgwNSwgMHgzYSwgMHg3NCwgMHg0MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNX19LAotIHsweDA4ODYsIDY0LCB7IDB4MzYsIDB4ZDIsIDB4MGIsIDB4ODAsIDB4NmEsIDB4YzIsIDB4MGIsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZjAsIDB4YzIsIDB4MDMsIDB4ODAsIDB4NWYsIDB4MzAsCi0gIDB4MTAsIDB4MTIsIDB4YWYsIDB4M2EsIDB4MDUsIDB4M2EsIDB4NzQsIDB4YzAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsCi0gIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MWIsIDB4YWYsIDB4M2EsIDB4MDUsIDB4M2EsIDB4NzQsIDB4YzAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsCi0gIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmUsIDB4ZTUsIDB4M2EsIDB4YzMsIDB4OTUsIDB4NTMsIDB4NTAsIDB4MmEsIDB4MzAsIDB4MTAsIDB4MTIsIDB4YWZ9fSwKLSB7MHgwOGM2LCA2NCwgeyAweDNhLCAweDA1LCAweDNhLCAweDc0LCAweGMwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyLCAweDBlLAotICAweGFmLCAweDNhLCAweDA1LCAweDNhLCAweDc0LCAweGMwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweGY1LAotICAweDM2LCAweGQyLCAweDBiLCAweDgwLCAweDA5LCAweGMyLCAweDBiLCAweGU0LCAweDkwLCAweDdmLCAweGM5LCAweGYwLCAweGQyLCAweDAzLCAweDMwLCAweDEwLAotICAweDA0LCAweGEyLCAweDFiLCAweDkyLCAweDliLCAweGQyLCAweDE0LCAweGMyLCAweGFmLCAweDhlLCAweDk5LCAweDIwLCAweDBiLCAweDBkLCAweDMwfX0sCi0gezB4MDkwNiwgNjQsIHsgMHgwZCwgMHgwYSwgMHhjMiwgMHgwZCwgMHhjMiwgMHgwMCwgMHg5MCwgMHg3ZiwgMHhiYiwgMHg3NCwgMHgwMSwgMHhmMCwgMHhkMiwgMHhhZiwgMHgyMiwgMHg5MCwgMHg3ZiwKLSAgMHhlOSwgMHhlMCwgMHgxMiwgMHgwZCwgMHgzMSwgMHgwYSwgMHgxMSwgMHgwMCwgMHgwYSwgMHg3ZSwgMHgwMSwgMHgwYSwgMHhkYiwgMHgwMywgMHgwOSwgMHgzOCwKLSAgMHgwNiwgMHgwYSwgMHgwMiwgMHgwOCwgMHgwOSwgMHhmNiwgMHgwOSwgMHgwOSwgMHhkZSwgMHgwYSwgMHgwOSwgMHhlZCwgMHgwYiwgMHgwMCwgMHgwMCwgMHgwYiwKLSAgMHgxOSwgMHg5MCwgMHg3ZiwgMHhlYiwgMHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxOSwgMHgxNCwgMHg2MCwgMHg1YSwgMHgyNCwgMHgwMiwgMHg2MH19LAotIHsweDA5NDYsIDY0LCB7IDB4MDMsIDB4MDIsIDB4MGIsIDB4MTksIDB4NzQsIDB4MGQsIDB4OTAsIDB4N2YsIDB4ZDQsIDB4ZjAsIDB4NzQsIDB4ODcsIDB4OTAsIDB4N2YsIDB4ZDUsIDB4ZjAsIDB4MDIsCi0gIDB4MGIsIDB4MjAsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4NzAsIDB4MDQsIDB4N2YsIDB4MDIsIDB4ODAsIDB4MDIsIDB4N2YsIDB4MDMsIDB4NzUsIDB4ODIsCi0gIDB4ZDgsIDB4NzUsIDB4ODMsIDB4MGQsIDB4ZWYsIDB4ZjAsIDB4NzUsIDB4ODIsIDB4ZDEsIDB4NzUsIDB4ODMsIDB4MGQsIDB4ZjAsIDB4NzUsIDB4ODIsIDB4Y2EsCi0gIDB4NzUsIDB4ODMsIDB4MGQsIDB4ZjAsIDB4NzUsIDB4ODIsIDB4YzMsIDB4NzUsIDB4ODMsIDB4MGQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTB9fSwKLSB7MHgwOTg2LCA2NCwgeyAweDA0LCAweDc1LCAweDgyLCAweDllLCAweDc1LCAweDgzLCAweDBkLCAweGYwLCAweDc0LCAweDBkLCAweDkwLCAweDdmLCAweGQ0LCAweGYwLCAweDc0LCAweDk5LCAweDkwLAotICAweDdmLCAweGQ1LCAweGYwLCAweDAyLCAweDBiLCAweDIwLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDcwLCAweDBiLCAweDc1LCAweDExLCAweGZmLCAweDc1LAotICAweDEyLCAweDBkLCAweDc1LCAweDEzLCAweGRjLCAweDgwLCAweDFiLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGI0LCAweDAxLCAweDBiLCAweDc1LCAweDExLAotICAweGZmLCAweDc1LCAweDEyLCAweDBkLCAweDc1LCAweDEzLCAweGUwLCAweDgwLCAweDA5LCAweDc1LCAweDExLCAweGZmLCAweDc1LCAweDEyLCAweDBkfX0sCi0gezB4MDljNiwgNjQsIHsgMHg3NSwgMHgxMywgMHhmMCwgMHhhYSwgMHgxMiwgMHhhOSwgMHgxMywgMHhhZSwgMHgwMiwgMHhlZSwgMHg5MCwgMHg3ZiwgMHhkNCwgMHhmMCwgMHhhZiwgMHgwMSwgMHhlZiwKLSAgMHg5MCwgMHg3ZiwgMHhkNSwgMHhmMCwgMHgwMiwgMHgwYiwgMHgyMCwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhlNSwgMHgxNSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwKLSAgMHg3NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwYiwgMHgyMCwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhmNSwgMHgxNSwgMHgwMiwgMHgwYiwgMHgyMCwgMHgxMiwKLSAgMHgwYywgMHhiMSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhmNSwgMHgxNCwgMHgwMiwgMHgwYiwgMHgyMCwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhlNX19LAotIHsweDBhMDYsIDY0LCB7IDB4MTQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4MjAsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4N2YsCi0gIDB4NjAsIDB4MjcsIDB4MTQsIDB4NjAsIDB4MzQsIDB4MjQsIDB4MDIsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGIsIDB4MTksIDB4YTIsIDB4MTcsIDB4ZTQsIDB4MzMsCi0gIDB4ZmYsIDB4MjUsIDB4ZTAsIDB4ZmYsIDB4YTIsIDB4MTksIDB4ZTQsIDB4MzMsIDB4NGYsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZjAsIDB4ZTQsIDB4YTMsIDB4ZjAsCi0gIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4MjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZjAsIDB4YTN9fSwKLSB7MHgwYTQ2LCA2NCwgeyAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDBiLCAweDIwLCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwLAotICAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDI1LCAweGUwLCAweDI0LCAweGI0LCAweGY1LCAweDgyLCAweGU0LAotICAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweGZkLCAweDkwLCAweDdmLCAweDAwLCAweGYwLCAweGU0LCAweGEzLCAweGYwLCAweDkwLCAweDdmLAotICAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDBiLCAweDIwLCAweDkwLCAweDdmLCAweGU4LCAweGUwLCAweDI0LCAweGZlLCAweDYwLCAweDE3fX0sCi0gezB4MGE4NiwgNjQsIHsgMHgyNCwgMHgwMiwgMHg2MCwgMHgwMywgMHgwMiwgMHgwYiwgMHgyMCwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHg2NCwgMHgwMSwgMHg2MCwgMHgwMywgMHgwMiwgMHgwYiwKLSAgMHgxOSwgMHhjMiwgMHgxNywgMHgwMiwgMHgwYiwgMHgyMCwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHg3MCwgMHg3NiwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwKLSAgMHhmNCwgMHg1NCwgMHg4MCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNCwKLSAgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHhlNCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHg1NCwgMHg4MH19LAotIHsweDBhYzYsIDY0LCB7IDB4ZmYsIDB4MTMsIDB4MTMsIDB4MTMsIDB4NTQsIDB4MWYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4OTAsIDB4N2YsIDB4ZDcsIDB4ZjAsIDB4ZTAsIDB4NDQsCi0gIDB4MjAsIDB4ZjAsIDB4ODAsIDB4NDUsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MTAsIDB4MjQsIDB4MDIsIDB4NzAsIDB4MzksCi0gIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4NjQsIDB4MDEsIDB4NzAsIDB4MmEsIDB4ZDIsIDB4MTcsIDB4ODAsIDB4MmQsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsCi0gIDB4NzAsIDB4MjAsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4ZjQsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTB9fSwKLSB7MHgwYjA2LCA2NCwgeyAweDU0LCAweDA3LCAweDJmLCAweDI1LCAweGUwLCAweDI0LCAweGI0LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweDc0LCAweDAxLCAweGYwLAotICAweDgwLCAweDA3LCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLAotICAweDIyLCAweGMyLCAweDEwLCAweGU0LCAweGY1LCAweDE0LCAweGY1LCAweDM0LCAweGMyLCAweDA5LCAweGMyLCAweDBjLCAweGMyLCAweDBiLCAweGMyLCAweDE0LAotICAweGMyLCAweDBkLCAweGMyLCAweDE2LCAweGMyLCAweDExLCAweGMyLCAweDA3LCAweGMyLCAweDEyLCAweGMyLCAweDBmLCAweGMyLCAweDA4LCAweGY1fX0sCi0gezB4MGI0NiwgNjQsIHsgMHgzNSwgMHhmNSwgMHgzOSwgMHhmNSwgMHg1MywgMHhmNSwgMHgzYSwgMHhmNSwgMHgzMywgMHhmNSwgMHgzMCwgMHhmNSwgMHgyZiwgMHhmNSwgMHgyZSwgMHhmNSwgMHgyZCwKLSAgMHhmNSwgMHgyYywgMHhmNSwgMHgyYiwgMHhmNSwgMHgyYSwgMHhmNSwgMHgyOSwgMHhmNSwgMHgyOCwgMHhmNSwgMHgyNywgMHhmNSwgMHgyNiwgMHhmNSwgMHgyNSwKLSAgMHhmNSwgMHgyNCwgMHhjMiwgMHgwNSwgMHhjMiwgMHgxOCwgMHhjMiwgMHgxYSwgMHhjMiwgMHgxNywgMHhjMiwgMHgxOSwgMHhjMiwgMHgxNSwgMHhjMiwgMHgwNCwKLSAgMHhkMiwgMHgxMywgMHhjMiwgMHgwNiwgMHhjMiwgMHgwMSwgMHg5MCwgMHg3ZiwgMHg5MiwgMHhlMCwgMHg1NCwgMHhmZCwgMHhmMCwgMHhkMiwgMHhlOH19LAotIHsweDBiODYsIDY0LCB7IDB4NDMsIDB4ZDgsIDB4MjAsIDB4OTAsIDB4N2YsIDB4ZGUsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZGYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsCi0gIDB4ZmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YTksIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWEsIDB4ZjAsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWYsCi0gIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWUsIDB4ZTAsIDB4NDQsIDB4MGYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWMsIDB4NzQsIDB4MGUsCi0gIDB4ZjAsIDB4ZDIsIDB4YWYsIDB4ZDIsIDB4YmMsIDB4ZDIsIDB4MWIsIDB4MTIsIDB4MGYsIDB4NWYsIDB4YzIsIDB4MTgsIDB4MzAsIDB4MDQsIDB4MDN9fSwKLSB7MHgwYmM2LCA2NCwgeyAweDEyLCAweDA1LCAweDZkLCAweDMwLCAweDA0LCAweDJhLCAweDMwLCAweDA2LCAweDI3LCAweGMyLCAweDA2LCAweGU1LCAweDE2LCAweDYwLCAweDE2LCAweDE1LCAweDE2LAotICAweDkwLCAweDdmLCAweGQ4LCAweGUwLCAweDMwLCAweGU2LCAweDA0LCAweDdmLCAweDAwLCAweDgwLCAweDAyLCAweDdmLCAweDIwLCAweDkwLCAweDdmLCAweDk2LAotICAweGVmLCAweGYwLCAweDgwLCAweDA2LCAweDkwLCAweDdmLCAweDk2LCAweDc0LCAweDIwLCAweGYwLCAweDEyLCAweDBjLCAweDBiLCAweDgwLCAweGNkLCAweDMwLAotICAweDE4LCAweDA3LCAweGMyLCAweDE4LCAweDEyLCAweDA5LCAweDE1LCAweDgwLCAweGMzLCAweDMwLCAweDFhLCAweGMwLCAweGMyLCAweDFhLCAweDEyfX0sCi0gezB4MGMwNiwgNjQsIHsgMHgwZiwgMHhiYiwgMHg4MCwgMHhiOSwgMHgyMiwgMHhlNSwgMHgzMSwgMHg2MCwgMHgwMiwgMHgxNSwgMHgzMSwgMHhlNSwgMHgzOSwgMHg2MCwgMHg1NSwgMHg2NSwgMHgzNSwKLSAgMHg3MCwgMHg0YiwgMHhlNSwgMHgzMywgMHhmNCwgMHg2MCwgMHgwMiwgMHgwNSwgMHgzMywgMHhlNSwgMHgzMywgMHhjMywgMHg5NSwgMHg0NCwgMHg0MCwgMHg0MywKLSAgMHhjMiwgMHhhZiwgMHgzMCwgMHgwMiwgMHgxYiwgMHg5MCwgMHg3ZiwgMHhiOCwgMHhlMCwgMHgyMCwgMHhlMSwgMHgyZCwgMHg5MCwgMHg3ZiwgMHhiNywgMHhlNSwKLSAgMHgzOSwgMHhmMCwgMHhjMiwgMHgwMiwgMHhlNCwgMHhmNSwgMHgzOSwgMHhmNSwgMHgzMywgMHhmNSwgMHgzNSwgMHg3NSwgMHgxNiwgMHhmZiwgMHg4MH19LAotIHsweDBjNDYsIDY0LCB7IDB4MTksIDB4OTAsIDB4N2YsIDB4YjYsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MTIsIDB4OTAsIDB4N2YsIDB4YjksIDB4ZTUsIDB4MzksIDB4ZjAsIDB4ZDIsIDB4MDIsIDB4ZTQsCi0gIDB4ZjUsIDB4MzksIDB4ZjUsIDB4MzMsIDB4ZjUsIDB4MzUsIDB4NzUsIDB4MTYsIDB4ZmYsIDB4ZDIsIDB4YWYsIDB4ODAsIDB4MDYsIDB4ODUsIDB4MzksIDB4MzUsCi0gIDB4ZTQsIDB4ZjUsIDB4MzMsIDB4ZTUsIDB4MmMsIDB4NjAsIDB4MzAsIDB4MjAsIDB4MGYsIDB4MDcsIDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4MzAsIDB4ZTAsCi0gIDB4MGYsIDB4ZTUsIDB4MmQsIDB4NjAsIDB4MDYsIDB4ZTQsIDB4ZjUsIDB4MmQsIDB4NDMsIDB4MzQsIDB4MDEsIDB4ZTQsIDB4ZjUsIDB4MzAsIDB4ODB9fSwKLSB7MHgwYzg2LCA2NCwgeyAweDE0LCAweGU1LCAweDMwLCAweGQzLCAweDk1LCAweDQ1LCAweDUwLCAweDBkLCAweGU1LCAweDMwLCAweGI1LCAweDQ1LCAweDA2LCAweDc1LCAweDJkLCAweDAxLCAweDQzLAotICAweDM0LCAweDAxLCAweDA1LCAweDMwLCAweGMyLCAweDBmLCAweDIyLCAweDkwLCAweDdmLCAweGQ5LCAweGUwLCAweDMwLCAweGUyLCAweDA0LCAweDdmLCAweDAwLAotICAweDgwLCAweDAyLCAweDdmLCAweDIwLCAweDkwLCAweDdmLCAweDk2LCAweGVmLCAweGYwLCAweDIyLCAweGU0LCAweDkwLCAweDdmLCAweDkzLCAweGYwLCAweDkwLAotICAweDdmLCAweDljLCAweDc0LCAweDMwLCAweGYwLCAweDkwLCAweDdmLCAweDk2LCAweDc0LCAweDIwLCAweGYwLCAweDkwLCAweDdmLCAweDk0LCAweDc0fX0sCi0gezB4MGNjNiwgNjQsIHsgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NywgMHg3NCwgMHg4NiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NSwKLSAgMHg3NCwgMHgwMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZSwgMHg3NCwgMHg4NCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwKLSAgMHhjNywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhjOSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhjYiwgMHhmMCwgMHg3NSwgMHg5OCwgMHg0MCwgMHg0MywgMHhhOCwgMHgxMCwKLSAgMHg5MCwgMHg3ZiwgMHhkZSwgMHg3NCwgMHgxZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkZiwgMHg3NCwgMHgwZiwgMHhmMCwgMHhkMiwgMHgwNCwgMHgyMn19LAotIHsweDBkMDYsIDY0LCB7IDB4YmIsIDB4MDEsIDB4MDYsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTAsIDB4MjIsIDB4NTAsIDB4MDIsIDB4ZTcsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDIsIDB4ZTMsCi0gIDB4MjIsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTQsIDB4OTMsIDB4MjIsIDB4YmIsIDB4MDEsIDB4MDYsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZjAsCi0gIDB4MjIsIDB4NTAsIDB4MDIsIDB4ZjcsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDEsIDB4ZjMsIDB4MjIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ODIsIDB4ZjgsIDB4ZTQsCi0gIDB4OTMsIDB4NzAsIDB4MTIsIDB4NzQsIDB4MDEsIDB4OTMsIDB4NzAsIDB4MGQsIDB4YTMsIDB4YTMsIDB4OTMsIDB4ZjgsIDB4NzQsIDB4MDEsIDB4OTN9fSwKLSB7MHgwZDQ2LCA2NCwgeyAweGY1LCAweDgyLCAweDg4LCAweDgzLCAweGU0LCAweDczLCAweDc0LCAweDAyLCAweDkzLCAweDY4LCAweDYwLCAweGVmLCAweGEzLCAweGEzLCAweGEzLCAweDgwLCAweGRmLAotICAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweDkwLAotICAweDdmLCAweGM0LCAweGU0LCAweGYwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDA0LCAweGYwLCAweGQwLCAweDg2LCAweGQwLAotICAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MGQ4NiwgNjQsIHsgMHgwMCwgMHgxMiwgMHgwMSwgMHgxMCwgMHgwMSwgMHhmZiwgMHgwMCwgMHgwMCwgMHg0MCwgMHhjZCwgMHgwNiwgMHgwYywgMHgwMSwgMHgwMSwgMHgwMCwgMHgwMSwgMHgwMiwKLSAgMHgwMCwgMHgwMiwgMHgwOSwgMHgwMiwgMHg0MywgMHgwMCwgMHgwMSwgMHgwMSwgMHgwMCwgMHg4MCwgMHgzMiwgMHgwOSwgMHgwNCwgMHgwMCwgMHgwMCwgMHgwNywKLSAgMHhmZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMSwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMiwgMHgwMiwgMHg0MCwKLSAgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMywgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHg4MSwgMHgwMiwgMHg0MCwgMHgwMH19LAotIHsweDBkYzYsIDY0LCB7IDB4MDEsIDB4MDcsIDB4MDUsIDB4ODIsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODMsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsCi0gIDB4ODQsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDQsIDB4MDMsIDB4MDksIDB4MDQsIDB4MTAsIDB4MDMsIDB4NGIsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzksCi0gIDB4MDAsIDB4NzMsIDB4MDAsIDB4NzAsIDB4MDAsIDB4NjEsIDB4MDAsIDB4NmUsIDB4MDAsIDB4MGUsIDB4MDMsIDB4NTMsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzIsCi0gIDB4MDAsIDB4NjksIDB4MDAsIDB4NjEsIDB4MDAsIDB4NmMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MGUsIDB4YTIsIDB4MDAsIDB4MDIsIDB4MGV9fSwKLSB7MHgwZTA2LCA2NCwgeyAweDdiLCAweDAwLCAweDAyLCAweDBkLCAweDU3LCAweDAwLCAweDAyLCAweDBlLCAweGM5LCAweDAwLCAweDAyLCAweDBlLCAweDEwLCAweDAwLCAweDAyLCAweDBlLCAweDE0LAotICAweDAwLCAweDAyLCAweDBlLCAweDE4LCAweDAwLCAweDAyLCAweDBlLCAweDFjLCAweDAwLCAweDAyLCAweDBlLCAweGYwLCAweDAwLCAweDAyLCAweDBlLCAweDI0LAotICAweDAwLCAweDAyLCAweDBmLCAweDE1LCAweDAwLCAweDAyLCAweDBlLCAweDJjLCAweDAwLCAweDAyLCAweDBmLCAweDNhLCAweGU0LCAweDkwLCAweDdmLCAweDk1LAotICAweGYwLCAweDkwLCAweDdmLCAweDk0LCAweGYwLCAweDkwLCAweDdmLCAweDkzLCAweGYwLCAweDkwLCAweDdmLCAweDlkLCAweGUwLCAweDQ0LCAweDAyfX0sCi0gezB4MGU0NiwgNjQsIHsgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NywgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5YywgMHg3NCwgMHgxMCwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwKLSAgMHg5NiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZCwgMHg3NCwgMHhmZSwgMHhmMCwgMHgzMCwgMHgxNywgMHgwNCwgMHg3ZiwgMHg4MCwgMHg4MCwgMHgwMiwgMHg3ZiwKLSAgMHgwMCwgMHg5MCwgMHg3ZiwgMHg5NywgMHhlZiwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5NSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZSwgMHhmMCwgMHg5MCwKLSAgMHg3ZiwgMHg5OCwgMHhmMCwgMHgyMiwgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMH19LAotIHsweDBlODYsIDY0LCB7IDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4ZDIsIDB4MDYsIDB4ZDAsIDB4ODYsCi0gIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsCi0gIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4ZDIsIDB4MTgsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsCi0gIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODN9fSwKLSB7MHgwZWM2LCA2NCwgeyAweGQwLCAweGUwLCAweDMyLCAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LAotICAweDAwLCAweGQyLCAweDFhLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDA4LCAweGYwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LAotICAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyLCAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLAotICAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGE5LCAweDc0fX0sCi0gezB4MGYwNiwgNjQsIHsgMHgwMiwgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwgMHhjMCwgMHhlMCwKLSAgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHg1MywgMHg5MSwgMHhlZiwKLSAgMHg5MCwgMHg3ZiwgMHhhOSwgMHg3NCwgMHgwNCwgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywKLSAgMHhkMCwgMHhlMCwgMHgzMiwgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4Nn19LAotIHsweDBmNDYsIDY0LCB7IDB4NzUsIDB4ODYsIDB4MDAsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YTksIDB4NzQsIDB4MDgsIDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsCi0gIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NTQsIDB4ZmIsIDB4ZjAsIDB4ZTAsCi0gIDB4NDQsIDB4MDgsIDB4ZjAsIDB4MzAsIDB4MWIsIDB4MDQsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4N2YsIDB4ZjQsIDB4N2UsIDB4MDEsIDB4MTIsIDB4MDAsCi0gIDB4MDMsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NTQsIDB4ZjcsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4MDQsIDB4ZjAsIDB4MjIsIDB4NzQsIDB4MDB9fSwKLSB7MHgwZjg2LCA2NCwgeyAweGY1LCAweDg2LCAweDkwLCAweGZkLCAweGE1LCAweDdjLCAweDA1LCAweGEzLCAweGU1LCAweDgyLCAweDQ1LCAweDgzLCAweDcwLCAweGY5LCAweDIyLCAweDkwLCAweDdmLAotICAweGQ2LCAweGUwLCAweDQ0LCAweDgwLCAweGYwLCAweDQzLCAweDg3LCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDIyLCAweDkwLCAweDdmLAotICAweGQ2LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDdmLCAweDBkLCAweDdlLCAweDAwLCAweDEyLCAweDAwLCAweDAzLCAweDkwLCAweDdmLCAweGQ2LCAweGUwLAotICAweDU0LCAweGZlLCAweGYwLCAweDIyLCAweDEyLCAweDBlLCAweDMzLCAweDEyLCAweDBmLCAweDk1LCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDMwfX0sCi0gezB4MGZjNiwgIDksIHsgMHhlNywgMHgwMywgMHgxMiwgMHgwZiwgMHhhNSwgMHgxMiwgMHgwYywgMHhiMSwgMHgyMn19LAotIHsweGZmZmYsCTAsCXsweDAwfX0KLX07CmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl91c2ExOXF3X2Z3LmggYi9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl91c2ExOXF3X2Z3LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA4MDNmOGIuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fdXNhMTlxd19mdy5oCisrKyAvZGV2L251bGwKQEAgLTEsNDQ4ICswLDAgQEAKLS8qIGtleXNwYW5fdXNhMTlxd19mdy5oCi0KLQlUaGUgZmlybXdhcmUgY29udGFpbmVkIGhlcmVpbiBhcyBrZXlzcGFuX3VzYTE5d3FfZncuaCBpcwotCi0JCUNvcHlyaWdodCAoQykgMTk5OS0yMDAxCi0JCUtleXNwYW4sIEEgZGl2aXNpb24gb2YgSW5ub1N5cyBJbmNvcnBvcmF0ZWQgKCJLZXlzcGFuIikKLQkJCi0JYXMgYW4gdW5wdWJsaXNoZWQgd29yay4gVGhpcyBub3RpY2UgZG9lcyBub3QgaW1wbHkgdW5yZXN0cmljdGVkIG9yCi0JcHVibGljIGFjY2VzcyB0byB0aGUgc291cmNlIGNvZGUgZnJvbSB3aGljaCB0aGlzIGZpcm13YXJlIGltYWdlIGlzCi0JZGVyaXZlZC4gIEV4Y2VwdCBhcyBub3RlZCBiZWxvdyB0aGlzIGZpcm13YXJlIGltYWdlIG1heSBub3QgYmUgCi0JcmVwcm9kdWNlZCwgdXNlZCwgc29sZCBvciB0cmFuc2ZlcnJlZCB0byBhbnkgdGhpcmQgcGFydHkgd2l0aG91dCAKLQlLZXlzcGFuJ3MgcHJpb3Igd3JpdHRlbiBjb25zZW50LiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLQotCVBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQgZm9yIHRoZSBkaXN0cmlidXRpb24gb2YgdGhpcyBmaXJtd2FyZSAKLQlpbWFnZSBhcyBwYXJ0IG9mIGEgTGludXggb3Igb3RoZXIgT3BlbiBTb3VyY2Ugb3BlcmF0aW5nIHN5c3RlbSBrZXJuZWwgCi0JaW4gdGV4dCBvciBiaW5hcnkgZm9ybSBhcyByZXF1aXJlZC4gCi0KLQlUaGlzIGZpcm13YXJlIG1heSBub3QgYmUgbW9kaWZpZWQgYW5kIG1heSBvbmx5IGJlIHVzZWQgd2l0aCAgCi0JS2V5c3BhbiBoYXJkd2FyZS4gIERpc3RyaWJ1dGlvbiBhbmQvb3IgTW9kaWZpY2F0aW9uIG9mIHRoZSAKLQlrZXlzcGFuLmMgZHJpdmVyIHdoaWNoIGluY2x1ZGVzIHRoaXMgZmlybXdhcmUsIGluIHdob2xlIG9yIGluIAotCXBhcnQsIHJlcXVpcmVzIHRoZSBpbmNsdXNpb24gb2YgdGhpcyBzdGF0ZW1lbnQuIgotCi0qLwotCi1zdGF0aWMgY29uc3Qgc3RydWN0IGV6dXNiX2hleF9yZWNvcmQga2V5c3Bhbl91c2ExOXF3X2Zpcm13YXJlW10gPSB7Ci0gezB4MDAzMywgIDMsIHsgMHgwMiwgMHgwMCwgMHgyZH19LAotIHsweDAwMmQsICA0LCB7IDB4NTMsIDB4ZDgsIDB4ZWYsIDB4MzJ9fSwKLSB7MHgwMDQ2LCAxNiwgeyAweDMwLCAweDEwLCAweDE5LCAweDEyLCAweDBlLCAweDBmLCAweGVmLCAweGMzLCAweDk1LCAweDE0LCAweDQwLCAweDAzLCAweDAyLCAweDAwLCAweGRmLCAweDkwfX0sCi0gezB4MDA1NiwgMTYsIHsgMHg3ZiwgMHhiZiwgMHg3NCwgMHgwMSwgMHhmMCwgMHhjMiwgMHgxMCwgMHhjMiwgMHgwYiwgMHgwMiwgMHgwMCwgMHhkZiwgMHgzMCwgMHgwZCwgMHgzZSwgMHg5MH19LAotIHsweDAwNjYsIDE2LCB7IDB4N2YsIDB4YzYsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4NzMsIDB4MTIsIDB4MGUsIDB4MGYsIDB4ZWYsIDB4YzMsIDB4OTQsIDB4NDAsIDB4NTAsIDB4NmEsIDB4OTB9fSwKLSB7MHgwMDc2LCAxNiwgeyAweDdlLCAweDQwLCAweGUwLCAweDEzLCAweDkyLCAweDEwLCAweDkwLCAweDdmLCAweGM3LCAweGUwLCAweDE0LCAweGY1LCAweDM2LCAweDIwLCAweDBiLCAweDExfX0sCi0gezB4MDA4NiwgMTYsIHsgMHg2MCwgMHgwZiwgMHhmNSwgMHgyNCwgMHg3ZSwgMHg3ZSwgMHg3ZiwgMHg0MSwgMHg3NSwgMHgyOSwgMHg3ZSwgMHg3NSwgMHgyYSwgMHg0MSwgMHgxMiwgMHgwOX19LAotIHsweDAwOTYsIDE2LCB7IDB4MTAsIDB4YzIsIDB4MGQsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZjAsIDB4NzUsIDB4MjYsIDB4ZmYsIDB4ODAsIDB4M2MsIDB4OTAsIDB4N2YsIDB4Yzh9fSwKLSB7MHgwMGE2LCAxNiwgeyAweGUwLCAweDIwLCAweGUxLCAweDM1LCAweDEyLCAweDBlLCAweDBmLCAweGVmLCAweGMzLCAweDk0LCAweDQwLCAweDUwLCAweDJjLCAweDkwLCAweDdkLCAweGMwfX0sCi0gezB4MDBiNiwgMTYsIHsgMHhlMCwgMHgxMywgMHg5MiwgMHgxMCwgMHg5MCwgMHg3ZiwgMHhjOSwgMHhlMCwgMHgxNCwgMHhmNSwgMHgzNiwgMHgyMCwgMHgwYiwgMHgxMSwgMHg2MCwgMHgwZn19LAotIHsweDAwYzYsIDE2LCB7IDB4ZjUsIDB4MjQsIDB4N2UsIDB4N2QsIDB4N2YsIDB4YzEsIDB4NzUsIDB4MjksIDB4N2QsIDB4NzUsIDB4MmEsIDB4YzEsIDB4MTIsIDB4MDksIDB4MTAsIDB4ZDJ9fSwKLSB7MHgwMGQ2LCAxNiwgeyAweDBkLCAweGU0LCAweDkwLCAweDdmLCAweGM5LCAweGYwLCAweDc1LCAweDI2LCAweGZmLCAweDkwLCAweDdmLCAweGI2LCAweGUwLCAweDMwLCAweGUxLCAweDAzfX0sCi0gezB4MDBlNiwgMTYsIHsgMHgwMiwgMHgwMSwgMHg2OCwgMHgxMiwgMHgwYywgMHhmZiwgMHg4ZiwgMHgzNiwgMHgxMiwgMHgwZSwgMHgxYiwgMHg4ZiwgMHgxMSwgMHhlNSwgMHgzNiwgMHhjM319LAotIHsweDAwZjYsIDE2LCB7IDB4OTUsIDB4MTMsIDB4NTAsIDB4MGYsIDB4MTIsIDB4MGQsIDB4ZGUsIDB4ZWYsIDB4MzAsIDB4ZTAsIDB4MDgsIDB4ZTUsIDB4MTEsIDB4MjAsIDB4ZTcsIDB4MDN9fSwKLSB7MHgwMDM2LCAxMiwgeyAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEwLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyfX0sCi0gezB4MDA0MywgIDMsIHsgMHgwMiwgMHgwZSwgMHgwMH19LAotIHsweDAwMDMsIDE2LCB7IDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4OTB9fSwKLSB7MHgwMDEzLCAxNiwgeyAweDdmLCAweGM0LCAweGU0LCAweGYwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDA0LCAweGYwLCAweGQwLCAweDg2LCAweGQwfX0sCi0gezB4MDAyMywgMTAsIHsgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMn19LAotIHsweDAwMDAsICAzLCB7IDB4MDIsIDB4MDksIDB4YzV9fSwKLSB7MHgwMTA2LCA2NCwgeyAweDMwLCAweDEzLCAweDVmLCAweGMyLCAweDEzLCAweGU1LCAweDM2LCAweDYwLCAweDU5LCAweGI0LCAweDgwLCAweDAzLCAweDQzLCAweDExLCAweDAyLCAweGU1LCAweDExLAotICAweDMwLCAweGU3LCAweDI0LCAweGU1LCAweDM2LCAweGQzLCAweDk0LCAweDIwLCAweDQwLCAweDAzLCAweDc1LCAweDM2LCAweDIwLCAweDg1LCAweDM2LCAweDI0LAotICAweDdlLCAweDdlLCAweDdmLCAweDgwLCAweDc1LCAweDI5LCAweDdlLCAweDc1LCAweDJhLCAweDgwLCAweDEyLCAweDBiLCAweDlhLCAweGU1LCAweDM2LCAweDI1LAotICAweGUwLCAweDkwLCAweDdmLCAweGI3LCAweGYwLCAweDgwLCAweDJhLCAweGU1LCAweDM2LCAweGQzLCAweDk0LCAweDNmLCAweDQwLCAweDAzLCAweDc1fX0sCi0gezB4MDE0NiwgNjQsIHsgMHgzNiwgMHgzZiwgMHg4NSwgMHgzNiwgMHgyNCwgMHg5MCwgMHg3ZSwgMHg4MCwgMHhlNSwgMHgxMSwgMHhmMCwgMHg3ZSwgMHg3ZSwgMHg3ZiwgMHg4MSwgMHg3NSwgMHgyOSwKLSAgMHg3ZSwgMHg3NSwgMHgyYSwgMHg4MSwgMHgxMiwgMHgwOSwgMHgzNSwgMHhlNSwgMHgzNiwgMHgwNCwgMHg5MCwgMHg3ZiwgMHhiNywgMHhmMCwgMHg3NSwgMHgyNiwKLSAgMHhmZiwgMHg5MCwgMHg3ZiwgMHhjZSwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwNiwgMHgyMCwgMHgwZSwgMHgwMywgMHgwMiwgMHgwMywgMHhjNCwgMHhlNCwgMHhmNSwKLSAgMHgzNSwgMHg3NCwgMHg0MCwgMHgyNSwgMHgzNSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YywgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHhlNX19LAotIHsweDAxODYsIDY0LCB7IDB4MzUsIDB4N2MsIDB4MDAsIDB4N2IsIDB4MDEsIDB4N2EsIDB4N2UsIDB4NzksIDB4MDAsIDB4MjQsIDB4MDAsIDB4ZjksIDB4ZWMsIDB4MzQsIDB4N2UsIDB4ZmEsIDB4ZWYsCi0gIDB4MTIsIDB4MGEsIDB4OTcsIDB4MDUsIDB4MzUsIDB4ZTUsIDB4MzUsIDB4YjQsIDB4MjAsIDB4ZDcsIDB4OTAsIDB4N2UsIDB4MDAsIDB4ZTAsIDB4NjAsIDB4NmUsCi0gIDB4N2YsIDB4MDEsIDB4OTAsIDB4N2UsIDB4MTEsIDB4ZTAsIDB4ZmQsIDB4MTIsIDB4MGMsIDB4ZGEsIDB4OTAsIDB4N2UsIDB4MDEsIDB4ZTAsIDB4ZmYsIDB4MTIsCi0gIDB4MGMsIDB4MWMsIDB4OTAsIDB4N2UsIDB4MDIsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MGMsIDB4NDIsIDB4ZDIsIDB4MTEsIDB4ZDIsIDB4MTIsIDB4NzV9fSwKLSB7MHgwMWM2LCA2NCwgeyAweDM2LCAweDA0LCAweDkwLCAweDdlLCAweDAzLCAweGUwLCAweDYwLCAweDA1LCAweGMyLCAweDEyLCAweDQzLCAweDM2LCAweGMwLCAweDkwLCAweDdlLCAweDA0LCAweGUwLAotICAweGI0LCAweDAxLCAweDA3LCAweGMyLCAweDEyLCAweDQzLCAweDM2LCAweDBiLCAweDgwLCAweDEwLCAweDkwLCAweDdlLCAweDA0LCAweGUwLCAweDYwLCAweDA3LAotICAweGMyLCAweDExLCAweDQzLCAweDM2LCAweDA5LCAweDgwLCAweDAzLCAweDQzLCAweDM2LCAweDAyLCAweDdmLCAweDAzLCAweGFkLCAweDM2LCAweDEyLCAweDBjLAotICAweGRhLCAweDQzLCAweDFhLCAweDgwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE0LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDFhfX0sCi0gezB4MDIwNiwgNjQsIHsgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMiwgMHhmMCwgMHhlNSwgMHgxNywgMHg0NCwgMHgwNiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZSwKLSAgMHgwNSwgMHhlMCwgMHg2MCwgMHgxMiwgMHhhMywgMHhlMCwgMHg1NCwgMHgzZiwgMHhmNSwgMHgxOSwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwKLSAgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHgxOSwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgwNywgMHhlMCwgMHg2MCwgMHg0MiwgMHg5MCwgMHg3ZSwgMHgxMywgMHhlMCwKLSAgMHg2MCwgMHgwNSwgMHg0MywgMHgxNiwgMHgwNCwgMHg4MCwgMHgwMywgMHg1MywgMHgxNiwgMHhmYiwgMHhlNCwgMHhmZiwgMHhhZCwgMHgxNiwgMHgxMn19LAotIHsweDAyNDYsIDY0LCB7IDB4MGMsIDB4ZGEsIDB4OTAsIDB4N2UsIDB4MDgsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4MTgsIDB4ODAsIDB4ODAsIDB4MDMsIDB4NTMsIDB4MTgsIDB4N2YsIDB4NTMsCi0gIDB4MTgsIDB4ZmMsIDB4OTAsIDB4N2UsIDB4MDksIDB4ZTAsIDB4NjAsIDB4MTEsIDB4NDMsIDB4MTgsIDB4MDIsIDB4YTMsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MGMsCi0gIDB4OGUsIDB4OTAsIDB4N2UsIDB4MGIsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MGMsIDB4YjQsIDB4YWYsIDB4MTgsIDB4MTIsIDB4MGMsIDB4NjgsIDB4OTAsIDB4N2UsCi0gIDB4MGUsIDB4ZTAsIDB4NjAsIDB4MTgsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4MWEsIDB4MDEsIDB4ODAsIDB4MDMsIDB4NTMsIDB4MWF9fSwKLSB7MHgwMjg2LCA2NCwgeyAweGZlLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE0LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDFhLCAweGYwLCAweDkwLCAweDdlLCAweDBjLCAweGUwLAotICAweDYwLCAweDE4LCAweGEzLCAweGUwLCAweDYwLCAweDA1LCAweDQzLCAweDFhLCAweDAyLCAweDgwLCAweDAzLCAweDUzLCAweDFhLCAweGZkLCAweDkwLCAweDdmLAotICAweDk4LCAweDc0LCAweDE0LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDFhLCAweGYwLCAweDkwLCAweDdlLCAweDEyLCAweGUwLCAweGY1LCAweDEzLAotICAweGEzLCAweGUwLCAweDEzLCAweDkyLCAweDE0LCAweGEzLCAweGUwLCAweGY1LCAweDE0LCAweGEzLCAweGUwLCAweDYwLCAweDA1LCAweDQzLCAweDFhfX0sCi0gezB4MDJjNiwgNjQsIHsgMHgxMCwgMHg4MCwgMHgwMywgMHg1MywgMHgxYSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHgxYSwKLSAgMHhmMCwgMHg5MCwgMHg3ZSwgMHgxNiwgMHhlMCwgMHg2MCwgMHgzMiwgMHg1MywgMHgxOSwgMHhiZiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwKLSAgMHhlNSwgMHgxOSwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMSwgMHhmMCwgMHgxMiwgMHgwZCwKLSAgMHhkMiwgMHhlZiwgMHg1NCwgMHhmZSwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg1MywgMHgxNiwgMHhmZCwgMHhlNCwgMHhmZiwgMHhhZCwgMHgxNn19LAotIHsweDAzMDYsIDY0LCB7IDB4MTIsIDB4MGMsIDB4ZGEsIDB4ZTQsIDB4ZjUsIDB4MGUsIDB4ZjUsIDB4MGQsIDB4ZDIsIDB4MGYsIDB4OTAsIDB4N2UsIDB4MTcsIDB4ZTAsIDB4NjAsIDB4MGYsIDB4NDMsCi0gIDB4MTYsIDB4MDIsIDB4ZTQsIDB4ZmYsIDB4YWQsIDB4MTYsIDB4MTIsIDB4MGMsIDB4ZGEsIDB4NzUsIDB4MGQsIDB4MDEsIDB4ZDIsIDB4MGYsIDB4OTAsIDB4N2UsCi0gIDB4MTgsIDB4ZTAsIDB4NjAsIDB4MTAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTIsIDB4ZjAsIDB4ZTUsIDB4MTcsIDB4NDQsIDB4MDQsIDB4OTAsIDB4YzAsCi0gIDB4MDAsIDB4ZjAsIDB4ZDIsIDB4MGIsIDB4OTAsIDB4N2UsIDB4MTksIDB4ZTAsIDB4NjAsIDB4MTEsIDB4NDMsIDB4MTksIDB4NDAsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwMzQ2LCA2NCwgeyAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweGU1LCAweDE5LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdlLCAweDFhLCAweGUwLCAweDYwLAotICAweDBmLCAweDUzLCAweDE2LCAweGZlLCAweGU0LCAweGZmLCAweGFkLCAweDE2LCAweDEyLCAweDBjLCAweGRhLCAweDc1LCAweDBmLCAweDAxLCAweGQyLCAweDBmLAotICAweDkwLCAweDdlLCAweDFiLCAweGUwLCAweDYwLCAweDBmLCAweDQzLCAweDE2LCAweDAxLCAweGU0LCAweGZmLCAweGFkLCAweDE2LCAweDEyLCAweDBjLCAweGRhLAotICAweGU0LCAweGY1LCAweDBmLCAweGQyLCAweDBmLCAweDkwLCAweDdlLCAweDFjLCAweGUwLCAweDYwLCAweDBlLCAweDkwLCAweDdmLCAweDk4LCAweDc0fX0sCi0gezB4MDM4NiwgNjQsIHsgMHgxMiwgMHhmMCwgMHhlNSwgMHgxNywgMHg0NCwgMHgwMiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgxZCwgMHhlMCwgMHg2MCwgMHgwMiwgMHhkMiwKLSAgMHgxMywgMHg5MCwgMHg3ZSwgMHgxZSwgMHhlMCwgMHg2MCwgMHgwOCwgMHg3NSwgMHgxMCwgMHgwMSwgMHhlNCwgMHhmNSwgMHgxMiwgMHhkMiwgMHgwZiwgMHg5MCwKLSAgMHg3ZSwgMHgxZiwgMHhlMCwgMHg2MCwgMHgxMSwgMHg5MCwgMHg3ZiwgMHhkNywgMHg3NCwgMHgxMSwgMHhmMCwgMHg3NCwgMHgzMSwgMHhmMCwgMHg3NCwgMHgxNSwKLSAgMHhmMCwgMHg3NCwgMHgzNSwgMHhmMCwgMHhkMiwgMHgwZCwgMHhjMiwgMHgwZSwgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjZiwgMHhmMCwgMHgzMCwgMHgxNn19LAotIHsweDAzYzYsIDY0LCB7IDB4NzEsIDB4ZTUsIDB4MTIsIDB4NjAsIDB4MDIsIDB4MTUsIDB4MTIsIDB4ZTUsIDB4MzAsIDB4ZDMsIDB4OTQsIDB4MDAsIDB4NDAsIDB4MDQsIDB4MTUsIDB4MzAsIDB4ODAsCi0gIDB4NjAsIDB4NzUsIDB4MzAsIDB4MGEsIDB4MTIsIDB4MGQsIDB4ZDIsIDB4ZWYsIDB4NTQsIDB4MDEsIDB4ZjUsIDB4MzYsIDB4NjUsIDB4MGUsIDB4NjAsIDB4MDcsCi0gIDB4ODUsIDB4MzYsIDB4MGUsIDB4ZDIsIDB4MGYsIDB4ODAsIDB4MTEsIDB4MTIsIDB4MGUsIDB4MjcsIDB4ZWYsIDB4NTQsIDB4MTAsIDB4ZjUsIDB4MzYsIDB4NjUsCi0gIDB4MDksIDB4NjAsIDB4MDUsIDB4ODUsIDB4MzYsIDB4MDksIDB4ZDIsIDB4MGYsIDB4MTIsIDB4MGUsIDB4MjcsIDB4ZWYsIDB4NTQsIDB4ODAsIDB4ZjV9fSwKLSB7MHgwNDA2LCA2NCwgeyAweDM2LCAweDY1LCAweDBhLCAweDYwLCAweDA1LCAweDg1LCAweDM2LCAweDBhLCAweGQyLCAweDBmLCAweDEyLCAweDBlLCAweDI3LCAweGVmLCAweDU0LCAweDIwLCAweGY1LAotICAweDM2LCAweDY1LCAweDBiLCAweDYwLCAweDA4LCAweDg1LCAweDM2LCAweDBiLCAweDMwLCAweDExLCAweDAyLCAweGQyLCAweDBmLCAweDEyLCAweDBlLCAweDI3LAotICAweGVmLCAweDU0LCAweDQwLCAweGY1LCAweDM2LCAweDY1LCAweDBjLCAweDYwLCAweDA4LCAweDg1LCAweDM2LCAweDBjLCAweDMwLCAweDEyLCAweDAyLCAweGQyLAotICAweDBmLCAweDMwLCAweDE2LCAweDJhLCAweDkwLCAweDdmLCAweGQyLCAweGUwLCAweDIwLCAweGUxLCAweDIzLCAweDkwLCAweDdiLCAweDQwLCAweGUwfX0sCi0gezB4MDQ0NiwgNjQsIHsgMHg2MCwgMHgwOSwgMHhlMCwgMHhmNSwgMHgzMiwgMHg5MCwgMHg3YiwgMHg0MiwgMHhlMCwgMHhmNSwgMHgzMywgMHg5MCwgMHg3YiwgMHg0MSwgMHhlMCwgMHg2MCwgMHgwOSwKLSAgMHg5MCwgMHg3ZiwgMHhkNywgMHg3NCwgMHgxNywgMHhmMCwgMHg3NCwgMHgzNywgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHhkMywgMHhmMCwgMHg5MCwgMHg3ZiwKLSAgMHhjMiwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwMywgMHgwMiwgMHgwNSwgMHgyOSwgMHhlNSwgMHgyNywgMHg3MCwgMHg0MCwgMHgzMCwgMHgwZiwgMHgzOSwgMHhlNSwKLSAgMHgxMiwgMHg3MCwgMHgzNSwgMHhjMiwgMHgwZiwgMHhmNSwgMHgzNSwgMHg3ZSwgMHgwMCwgMHg3YiwgMHgwMCwgMHg3NCwgMHgwOCwgMHgyNSwgMHgzNX19LAotIHsweDA0ODYsIDY0LCB7IDB4ZjksIDB4ZWUsIDB4MzQsIDB4MDAsIDB4ZmEsIDB4MTIsIDB4MGEsIDB4NTEsIDB4ZmYsIDB4NzQsIDB4ODAsIDB4MjUsIDB4MzUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsCi0gIDB4N2IsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MDUsIDB4MzUsIDB4ZTUsIDB4MzUsIDB4YjQsIDB4MDksIDB4ZGIsIDB4OTAsIDB4N2YsIDB4YzMsIDB4NzQsCi0gIDB4MDksIDB4ZjAsIDB4NzUsIDB4MTIsIDB4MTAsIDB4ZTQsIDB4ZjUsIDB4MTAsIDB4NzUsIDB4MjcsIDB4MDIsIDB4MjIsIDB4ZTUsIDB4MjcsIDB4NjQsIDB4MDIsCi0gIDB4NzAsIDB4MzYsIDB4MzAsIDB4MDUsIDB4MmYsIDB4YzIsIDB4MDUsIDB4ZjUsIDB4MzUsIDB4N2UsIDB4MDAsIDB4N2IsIDB4MDAsIDB4NzQsIDB4MmJ9fSwKLSB7MHgwNGM2LCA2NCwgeyAweDI1LCAweDM1LCAweGY5LCAweGVlLCAweDM0LCAweDAwLCAweGZhLCAweDEyLCAweDBhLCAweDUxLCAweGZmLCAweDc0LCAweDgwLCAweDI1LCAweDM1LCAweGY1LCAweDgyLAotICAweGU0LCAweDM0LCAweDdiLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDA1LCAweDM1LCAweGU1LCAweDM1LCAweGI0LCAweDA1LCAweGRiLCAweDkwLCAweDdmLAotICAweGMzLCAweDc0LCAweDA1LCAweGYwLCAweDc1LCAweDI3LCAweDAzLCAweDIyLCAweGU1LCAweDMyLCAweDYwLCAweDMzLCAweDc1LCAweDMxLCAweDAzLCAweDE1LAotICAweDMyLCAweGU0LCAweGY1LCAweDM1LCAweDdlLCAweDAwLCAweDdiLCAweDAwLCAweDc0LCAweDMxLCAweDI1LCAweDM1LCAweGY5LCAweGVlLCAweDM0fX0sCi0gezB4MDUwNiwgNjQsIHsgMHgwMCwgMHhmYSwgMHgxMiwgMHgwYSwgMHg1MSwgMHhmZiwgMHg3NCwgMHg4MCwgMHgyNSwgMHgzNSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwgMHg4MywKLSAgMHhlZiwgMHhmMCwgMHgwNSwgMHgzNSwgMHhlNSwgMHgzNSwgMHhiNCwgMHgwMywgMHhkYiwgMHg5MCwgMHg3ZiwgMHhjMywgMHg3NCwgMHgwMywgMHhmMCwgMHhlNCwKLSAgMHhmNSwgMHgyNywgMHgyMiwgMHg5MCwgMHg3ZiwgMHhlOSwgMHhlMCwgMHgxMiwgMHgwYSwgMHhhOSwgMHgwNiwgMHgwOCwgMHgwMCwgMHgwNiwgMHg3YywgMHgwMSwKLSAgMHgwNiwgMHhlOSwgMHgwMywgMHgwNSwgMHg0ZCwgMHgwNiwgMHgwNSwgMHhmOSwgMHgwOCwgMHgwNSwgMHhlZCwgMHgwOSwgMHgwNSwgMHhkNSwgMHgwYX19LAotIHsweDA1NDYsIDY0LCB7IDB4MDUsIDB4ZTQsIDB4MGIsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MzksIDB4OTAsIDB4N2YsIDB4ZWIsIDB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MTYsIDB4MTQsIDB4NjAsCi0gIDB4NTAsIDB4MjQsIDB4MDIsIDB4NzAsIDB4NmYsIDB4NzQsIDB4MTksIDB4OTAsIDB4N2YsIDB4ZDQsIDB4ZjAsIDB4NzQsIDB4MDAsIDB4OTAsIDB4N2YsIDB4ZDUsCi0gIDB4ZjAsIDB4MDIsIDB4MDcsIDB4NDAsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4NzAsIDB4MDQsIDB4N2YsIDB4MDIsIDB4ODAsIDB4MDIsIDB4N2YsIDB4MDMsCi0gIDB4NzUsIDB4ODIsIDB4ODIsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZWYsIDB4ZjAsIDB4NzUsIDB4ODIsIDB4NzQsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZjB9fSwKLSB7MHgwNTg2LCA2NCwgeyAweDc1LCAweDgyLCAweDU4LCAweDc1LCAweDgzLCAweDE5LCAweGYwLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDA0LCAweDc1LCAweDgyLCAweDE3LCAweDc1LCAweDgzLAotICAweDE5LCAweGYwLCAweDc0LCAweDE5LCAweDkwLCAweDdmLCAweGQ0LCAweGYwLCAweDc0LCAweDEyLCAweDkwLCAweDdmLCAweGQ1LCAweGYwLCAweDAyLCAweDA3LAotICAweDQwLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGZmLCAweDEyLCAweDBiLCAweDFjLCAweGVhLCAweDQ5LCAweDYwLCAweDBkLCAweGVhLCAweDkwLCAweDdmLAotICAweGQ0LCAweGYwLCAweGU5LCAweDkwLCAweDdmLCAweGQ1LCAweGYwLCAweDAyLCAweDA3LCAweDQwLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0fX0sCi0gezB4MDVjNiwgNjQsIHsgMHgwMSwgMHhmMCwgMHgwMiwgMHgwNywgMHg0MCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwNywgMHg0MCwgMHg5MCwgMHg3ZiwKLSAgMHgwMCwgMHhlNSwgMHgyNSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwNywgMHg0MCwgMHg5MCwgMHg3ZiwgMHhlYSwKLSAgMHhlMCwgMHhmNSwgMHgyNSwgMHgwMiwgMHgwNywgMHg0MCwgMHgxMiwgMHgwNywgMHg0OCwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhmNSwgMHgyMywgMHgwMiwKLSAgMHgwNywgMHg0MCwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhlNSwgMHgyMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMSwgMHhmMCwgMHgwMn19LAotIHsweDA2MDYsIDY0LCB7IDB4MDcsIDB4NDAsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4N2YsIDB4NjAsIDB4MjQsIDB4MTQsIDB4NjAsIDB4MzEsIDB4MjQsIDB4MDIsIDB4NzAsIDB4NWIsCi0gIDB4YTIsIDB4MDEsIDB4ZTQsIDB4MzMsIDB4ZmYsIDB4MjUsIDB4ZTAsIDB4ZmYsIDB4YTIsIDB4MDcsIDB4ZTQsIDB4MzMsIDB4NGYsIDB4OTAsIDB4N2YsIDB4MDAsCi0gIDB4ZjAsIDB4ZTQsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MDcsIDB4NDAsIDB4ZTQsIDB4OTAsIDB4N2YsCi0gIDB4MDAsIDB4ZjAsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MDcsIDB4NDAsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwNjQ2LCA2NCwgeyAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDI1LCAweGUwLCAweDI0LAotICAweGI0LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweGZkLCAweDkwLCAweDdmLCAweDAwLCAweGYwLCAweGU0LAotICAweGEzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDA3LCAweDQwLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LAotICAweDAxLCAweGYwLCAweDAyLCAweDA3LCAweDQwLCAweDkwLCAweDdmLCAweGU4LCAweGUwLCAweDI0LCAweGZlLCAweDYwLCAweDFlLCAweDI0LCAweDAyfX0sCi0gezB4MDY4NiwgNjQsIHsgMHg2MCwgMHgwMywgMHgwMiwgMHgwNywgMHg0MCwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhiNCwgMHgwMSwgMHgwNiwgMHgxMiwgMHgwZCwgMHhmOSwgMHgwMiwgMHgwNywKLSAgMHg0MCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwNywgMHg0MCwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHg3MCwKLSAgMHgzOCwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHhmNCwgMHg1NCwgMHg4MCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywKLSAgMHgyZiwgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHhlNCwgMHhmMCwgMHg5MH19LAotIHsweDA2YzYsIDY0LCB7IDB4N2YsIDB4ZWMsIDB4ZTAsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4MTMsIDB4MTMsIDB4MTMsIDB4NTQsIDB4MWYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4OTAsCi0gIDB4N2YsIDB4ZDcsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4MjAsIDB4ZjAsIDB4ODAsIDB4NjAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsCi0gIDB4ODAsIDB4NTcsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MTksIDB4MjQsIDB4MDIsIDB4NzAsIDB4NGIsIDB4OTAsIDB4N2YsCi0gIDB4ZWEsIDB4ZTAsIDB4YjQsIDB4MDEsIDB4MDUsIDB4MTIsIDB4MGQsIDB4ZjYsIDB4ODAsIDB4M2YsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDR9fSwKLSB7MHgwNzA2LCA2NCwgeyAweDAxLCAweGYwLCAweDgwLCAweDM2LCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDcwLCAweDIwLCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwLAotICAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDI1LCAweGUwLCAweDI0LCAweGI0LCAweGY1LCAweDgyLCAweGU0LAotICAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweDc0LCAweDAxLCAweGYwLCAweDgwLCAweDEwLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLAotICAweDgwLCAweDA3LCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAyfX0sCi0gezB4MDc0NiwgNjQsIHsgMHhmMCwgMHgyMiwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5MywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5YywgMHg3NCwgMHgzMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHg3NCwKLSAgMHgyMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NSwgMHg3NCwgMHhjMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZSwgMHg3NCwgMHgzZiwgMHhmMCwgMHg5MCwgMHg3ZiwKLSAgMHg5OCwgMHg3NCwgMHgxMCwgMHhmMCwgMHhlNCwgMHhmNSwgMHg4ZSwgMHg5MCwgMHg3ZiwgMHhkZiwgMHg3NCwgMHhmZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkZSwKLSAgMHhmMCwgMHhlNCwgMHhmNSwgMHgwOCwgMHg3ZiwgMHgwMSwgMHg3YiwgMHgwMCwgMHg3NCwgMHgwOCwgMHgyZiwgMHhmOSwgMHhlNCwgMHgzNCwgMHgwMH19LAotIHsweDA3ODYsIDY0LCB7IDB4ZmEsIDB4ZTQsIDB4MTIsIDB4MGEsIDB4OTcsIDB4MGYsIDB4YmYsIDB4MDksIDB4ZWUsIDB4NzUsIDB4MTMsIDB4MDEsIDB4ZTQsIDB4ZjUsIDB4MTIsIDB4ZjUsIDB4MzAsCi0gIDB4ZjUsIDB4MTEsIDB4YzIsIDB4MGYsIDB4YzIsIDB4MTMsIDB4YzIsIDB4MGUsIDB4YzIsIDB4MGIsIDB4YzIsIDB4MTAsIDB4YzIsIDB4MDQsIDB4OTAsIDB4N2YsCi0gIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4NzUsIDB4MTksIDB4MDMsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4N2YsIDB4MGMsIDB4ZTQsCi0gIDB4ZmQsIDB4MTIsIDB4MGMsIDB4ZGEsIDB4N2YsIDB4MTAsIDB4OGYsIDB4MTgsIDB4MTIsIDB4MGMsIDB4NjgsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzR9fSwKLSB7MHgwN2M2LCA2NCwgeyAweDEyLCAweGYwLCAweDdmLCAweDAxLCAweDhmLCAweDE3LCAweGVmLCAweDQ0LCAweDA2LCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDBmLCAweGU0LCAweGZkLCAweDEyLAotICAweDBjLCAweGRhLCAweGU0LCAweGZmLCAweDdlLCAweGEzLCAweGFkLCAweDA2LCAweDhkLCAweDE2LCAweDEyLCAweDBjLCAweGRhLCAweDkwLCAweDdmLCAweDk4LAotICAweDc0LCAweDExLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU0LCAweGYwLCAweDdmLCAweDA1LCAweDdkLCAweDdmLCAweDEyLCAweDBjLCAweGRhLCAweDdmLAotICAweDAxLCAweDEyLCAweDBkLCAweDZhLCAweDdmLCAweDAzLCAweDdkLCAweDA3LCAweDEyLCAweDBjLCAweGRhLCAweGU0LCAweGZmLCAweGU1LCAweDE2fX0sCi0gezB4MDgwNiwgNjQsIHsgMHg1NCwgMHg3ZiwgMHhmZCwgMHgxMiwgMHgwYywgMHhkYSwgMHgxMiwgMHgwZSwgMHgwZiwgMHg4ZiwgMHgxNSwgMHhlNCwgMHhmZiwgMHhlNSwgMHgxNiwgMHg0NCwgMHg4MCwKLSAgMHhmZCwgMHgxMiwgMHgwYywgMHhkYSwgMHhlNSwgMHgxNSwgMHgzMCwgMHhlNywgMHgwNCwgMHhjMiwgMHgwOCwgMHg4MCwgMHgwMiwgMHhkMiwgMHgwOCwgMHg5MCwKLSAgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg3NSwgMHgxYSwgMHg4MCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHg4MCwgMHhmMCwgMHhkMiwgMHgwMywKLSAgMHgyMiwgMHhkMiwgMHgxNSwgMHg5MCwgMHg3ZiwgMHg5MiwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHgxMiwgMHgwZCwgMHhmOSwgMHhkMiwgMHhlOH19LAotIHsweDA4NDYsIDY0LCB7IDB4NDMsIDB4ZDgsIDB4MjAsIDB4OTAsIDB4N2YsIDB4ZGUsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZGYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsCi0gIDB4ZmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YTksIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWEsIDB4ZjAsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWYsCi0gIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWUsIDB4NzQsIDB4MGQsIDB4ZjAsIDB4ZDIsIDB4YWYsIDB4ZDIsIDB4MTYsIDB4MTIsIDB4MGQsCi0gIDB4MjQsIDB4YzIsIDB4MDIsIDB4ZTQsIDB4ZjUsIDB4MjgsIDB4ZjUsIDB4MzAsIDB4YzIsIDB4MDksIDB4ZjUsIDB4MjMsIDB4YzIsIDB4MDMsIDB4OTB9fSwKLSB7MHgwODg2LCA2NCwgeyAweDdmLCAweGExLCAweDA0LCAweGYwLCAweDkwLCAweDdmLCAweGQ4LCAweGUwLCAweDY1LCAweDM0LCAweDYwLCAweDQ4LCAweDMwLCAweDAzLCAweDA1LCAweGQyLCAweDE2LAotICAweDEyLCAweDAwLCAweDQ2LCAweGU1LCAweDBmLCAweDYwLCAweDIyLCAweGU1LCAweDI2LCAweDYwLCAweDE2LCAweDE1LCAweDI2LCAweDkwLCAweDdmLCAweGQ4LAotICAweGUwLCAweDMwLCAweGU2LCAweDA0LCAweDdmLCAweDIwLCAweDgwLCAweDAyLCAweDdmLCAweDMwLCAweDkwLCAweDdmLCAweDk2LCAweGVmLCAweGYwLCAweDgwLAotICAweDFhLCAweDkwLCAweDdmLCAweDk2LCAweDc0LCAweDMwLCAweGYwLCAweDgwLCAweDEyLCAweDkwLCAweDdmLCAweGQ5LCAweGUwLCAweDMwLCAweGUyfX0sCi0gezB4MDhjNiwgNjQsIHsgMHgwNCwgMHg3ZiwgMHgzMCwgMHg4MCwgMHgwMiwgMHg3ZiwgMHgyMCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkOCwgMHhlMCwgMHhmNSwKLSAgMHgzNCwgMHg4MCwgMHgyMCwgMHgzMCwgMHgwMywgMHgwNywgMHhjMiwgMHgxNiwgMHgxMiwgMHgwMCwgMHg0NiwgMHg4MCwgMHgxNiwgMHhlNSwgMHgwZiwgMHg3MCwKLSAgMHgxMiwgMHg5MCwgMHg3ZiwgMHhkOSwgMHhlMCwgMHgzMCwgMHhlMiwgMHgwNCwgMHg3ZiwgMHgzMCwgMHg4MCwgMHgwMiwgMHg3ZiwgMHgyMCwgMHg5MCwgMHg3ZiwKLSAgMHg5NiwgMHhlZiwgMHhmMCwgMHgzMCwgMHgwMiwgMHgwNywgMHhjMiwgMHgwMiwgMHgxMiwgMHgwNSwgMHgyYSwgMHg4MCwgMHg4NiwgMHgzMCwgMHgwYX19LAotIHsweDA5MDYsIDY0LCB7IDB4ODMsIDB4YzIsIDB4MGEsIDB4MTIsIDB4MGIsIDB4NWQsIDB4MDIsIDB4MDgsIDB4OGEsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4YWYsCi0gIDB4MjQsIDB4ZTUsIDB4MmEsIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4MjksIDB4ZjUsIDB4ODMsIDB4YzIsIDB4YWYsIDB4MDUsIDB4ODYsIDB4OTAsIDB4YzAsIDB4MDAsCi0gIDB4MDUsIDB4ODYsIDB4ZTAsIDB4YTMsIDB4MDUsIDB4ODYsIDB4ZjAsIDB4MDUsIDB4ODYsIDB4ZGYsIDB4ZjcsIDB4ZDIsIDB4YWYsIDB4MjIsIDB4OTAsIDB4N2YsCi0gIDB4OTgsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4YWYsIDB4MjQsIDB4ZTUsIDB4MmEsIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4MjksIDB4ZjUsIDB4ODMsIDB4YzJ9fSwKLSB7MHgwOTQ2LCA2NCwgeyAweGFmLCAweDA1LCAweDg2LCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweDA1LCAweDg2LCAweGYwLCAweGEzLCAweDA1LCAweDg2LCAweGRmLCAweGY3LCAweDA1LCAweDg2LAotICAweGQyLCAweGFmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDA4LCAweGYwLCAweGFmLCAweDI0LCAweGU1LCAweDJhLCAweGY1LCAweDgyLCAweGU1LAotICAweDI5LCAweGY1LCAweDgzLCAweGMyLCAweGFmLCAweDA1LCAweDg2LCAweDkwLCAweGMwLCAweDAwLCAweDA1LCAweDg2LCAweGUwLCAweGEzLCAweDA1LCAweDg2LAotICAweGYwLCAweDA1LCAweDg2LCAweGRmLCAweGY3LCAweGQyLCAweGFmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDA4LCAweGYwLCAweGFmfX0sCi0gezB4MDk4NiwgNjQsIHsgMHgyNCwgMHhlNSwgMHgyYSwgMHhmNSwgMHg4MiwgMHhlNSwgMHgyOSwgMHhmNSwgMHg4MywgMHhjMiwgMHhhZiwgMHgwNSwgMHg4NiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwKLSAgMHgwNSwgMHg4NiwgMHhmMCwgMHhhMywgMHgwNSwgMHg4NiwgMHhkZiwgMHhmNywgMHgwNSwgMHg4NiwgMHhkMiwgMHhhZiwgMHgyMiwgMHg3NCwgMHgwMCwgMHhmNSwKLSAgMHg4NiwgMHg5MCwgMHhmZCwgMHhhNSwgMHg3YywgMHgwNSwgMHhhMywgMHhlNSwgMHg4MiwgMHg0NSwgMHg4MywgMHg3MCwgMHhmOSwgMHgyMiwgMHg5MCwgMHg3ZiwKLSAgMHhkNiwgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHg0MywgMHg4NywgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgyMiwgMHg3OH19LAotIHsweDA5YzYsIDY0LCB7IDB4N2YsIDB4ZTQsIDB4ZjYsIDB4ZDgsIDB4ZmQsIDB4NzUsIDB4ODEsIDB4MzksIDB4MDIsIDB4MGEsIDB4MGMsIDB4MDIsIDB4MDgsIDB4MzgsIDB4ZTQsIDB4OTMsIDB4YTMsCi0gIDB4ZjgsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4NDAsIDB4MDMsIDB4ZjYsIDB4ODAsIDB4MDEsIDB4ZjIsIDB4MDgsIDB4ZGYsIDB4ZjQsIDB4ODAsIDB4MjksIDB4ZTQsCi0gIDB4OTMsIDB4YTMsIDB4ZjgsIDB4NTQsIDB4MDcsIDB4MjQsIDB4MGMsIDB4YzgsIDB4YzMsIDB4MzMsIDB4YzQsIDB4NTQsIDB4MGYsIDB4NDQsIDB4MjAsIDB4YzgsCi0gIDB4ODMsIDB4NDAsIDB4MDQsIDB4ZjQsIDB4NTYsIDB4ODAsIDB4MDEsIDB4NDYsIDB4ZjYsIDB4ZGYsIDB4ZTQsIDB4ODAsIDB4MGIsIDB4MDEsIDB4MDJ9fSwKLSB7MHgwYTA2LCA2NCwgeyAweDA0LCAweDA4LCAweDEwLCAweDIwLCAweDQwLCAweDgwLCAweDkwLCAweDBkLCAweDhiLCAweGU0LCAweDdlLCAweDAxLCAweDkzLCAweDYwLCAweGJjLCAweGEzLCAweGZmLAotICAweDU0LCAweDNmLCAweDMwLCAweGU1LCAweDA5LCAweDU0LCAweDFmLCAweGZlLCAweGU0LCAweDkzLCAweGEzLCAweDYwLCAweDAxLCAweDBlLCAweGNmLCAweDU0LAotICAweGMwLCAweDI1LCAweGUwLCAweDYwLCAweGE4LCAweDQwLCAweGI4LCAweGU0LCAweDkzLCAweGEzLCAweGZhLCAweGU0LCAweDkzLCAweGEzLCAweGY4LCAweGU0LAotICAweDkzLCAweGEzLCAweGM4LCAweGM1LCAweDgyLCAweGM4LCAweGNhLCAweGM1LCAweDgzLCAweGNhLCAweGYwLCAweGEzLCAweGM4LCAweGM1LCAweDgyfX0sCi0gezB4MGE0NiwgNjQsIHsgMHhjOCwgMHhjYSwgMHhjNSwgMHg4MywgMHhjYSwgMHhkZiwgMHhlOSwgMHhkZSwgMHhlNywgMHg4MCwgMHhiZSwgMHhiYiwgMHgwMSwgMHgwNiwgMHg4OSwgMHg4MiwgMHg4YSwKLSAgMHg4MywgMHhlMCwgMHgyMiwgMHg1MCwgMHgwMiwgMHhlNywgMHgyMiwgMHhiYiwgMHhmZSwgMHgwMiwgMHhlMywgMHgyMiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywKLSAgMHhlNCwgMHg5MywgMHgyMiwgMHhiYiwgMHgwMSwgMHgwYywgMHhlNSwgMHg4MiwgMHgyOSwgMHhmNSwgMHg4MiwgMHhlNSwgMHg4MywgMHgzYSwgMHhmNSwgMHg4MywKLSAgMHhlMCwgMHgyMiwgMHg1MCwgMHgwNiwgMHhlOSwgMHgyNSwgMHg4MiwgMHhmOCwgMHhlNiwgMHgyMiwgMHhiYiwgMHhmZSwgMHgwNiwgMHhlOSwgMHgyNX19LAotIHsweDBhODYsIDY0LCB7IDB4ODIsIDB4ZjgsIDB4ZTIsIDB4MjIsIDB4ZTUsIDB4ODIsIDB4MjksIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4OTMsIDB4MjIsCi0gIDB4YmIsIDB4MDEsIDB4MDYsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZjAsIDB4MjIsIDB4NTAsIDB4MDIsIDB4ZjcsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDEsCi0gIDB4ZjMsIDB4MjIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ODIsIDB4ZjgsIDB4ZTQsIDB4OTMsIDB4NzAsIDB4MTIsIDB4NzQsIDB4MDEsIDB4OTMsIDB4NzAsIDB4MGQsCi0gIDB4YTMsIDB4YTMsIDB4OTMsIDB4ZjgsIDB4NzQsIDB4MDEsIDB4OTMsIDB4ZjUsIDB4ODIsIDB4ODgsIDB4ODMsIDB4ZTQsIDB4NzMsIDB4NzQsIDB4MDJ9fSwKLSB7MHgwYWM2LCA2NCwgeyAweDkzLCAweDY4LCAweDYwLCAweGVmLCAweGEzLCAweGEzLCAweGEzLCAweDgwLCAweGRmLCAweGU0LCAweDkwLCAweDdmLCAweDkzLCAweGYwLCAweDkwLCAweDdmLCAweDljLAotICAweDc0LCAweDIwLCAweGYwLCAweDMwLCAweDAxLCAweDAzLCAweGZmLCAweDgwLCAweDAyLCAweDdmLCAweDAwLCAweDkwLCAweDdmLCAweDk2LCAweGVmLCAweGYwLAotICAweGU0LCAweDkwLCAweDdmLCAweDk0LCAweGYwLCAweDkwLCAweDdmLCAweDlkLCAweDc0LCAweGZmLCAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweDk3LCAweGYwLAotICAweDMwLCAweDA4LCAweDExLCAweDkwLCAweDdmLCAweDk1LCAweGYwLCAweDkwLCAweDdmLCAweDllLCAweDc0LCAweGZmLCAweGYwLCAweDkwLCAweDdmfX0sCi0gezB4MGIwNiwgNjQsIHsgMHg5OCwgMHg3NCwgMHgyMCwgMHhmMCwgMHgyMiwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5NSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZSwgMHg3NCwgMHhkZiwgMHhmMCwgMHhlNCwKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHhmMCwgMHgyMiwgMHg4ZiwgMHgzNSwgMHhlNCwgMHhmNSwgMHgzNiwgMHg3NSwgMHgzNywgMHhmZiwgMHg3NSwgMHgzOCwgMHgxOSwKLSAgMHg3NSwgMHgzOSwgMHg4NiwgMHhhYiwgMHgzNywgMHhhYSwgMHgzOCwgMHhhOSwgMHgzOSwgMHg5MCwgMHgwMCwgMHgwMSwgMHgxMiwgMHgwYSwgMHg2YSwgMHhiNCwKLSAgMHgwMywgMHgxZCwgMHhhZiwgMHgzNiwgMHgwNSwgMHgzNiwgMHhlZiwgMHhiNSwgMHgzNSwgMHgwMSwgMHgyMiwgMHgxMiwgMHgwYSwgMHg1MSwgMHg3ZX19LAotIHsweDBiNDYsIDY0LCB7IDB4MDAsIDB4MjksIDB4ZmYsIDB4ZWUsIDB4M2EsIDB4YTksIDB4MDcsIDB4NzUsIDB4MzcsIDB4ZmYsIDB4ZjUsIDB4MzgsIDB4ODksIDB4MzksIDB4ODAsIDB4ZDQsIDB4N2IsCi0gIDB4MDAsIDB4N2EsIDB4MDAsIDB4NzksIDB4MDAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4ZDgsIDB4ZTAsIDB4ZjUsIDB4MzUsIDB4MTIsIDB4MGEsIDB4Y2YsIDB4MjAsCi0gIDB4MDgsIDB4MDcsIDB4OTAsIDB4N2YsIDB4OTIsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsCi0gIDB4MTIsIDB4MDksIDB4YjUsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4MzAsIDB4ZTcsIDB4MGUsIDB4MzAsIDB4MDEsIDB4MDUsIDB4MTIsIDB4MGR9fSwKLSB7MHgwYjg2LCA2NCwgeyAweGJjLCAweDgwLCAweDA2LCAweDEyLCAweDBkLCAweDQ5LCAweGVmLCAweDYwLCAweGUxLCAweDkwLCAweDdmLCAweDkyLCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDEyLAotICAweDA3LCAweDQ4LCAweDIyLCAweDA1LCAweDJhLCAweGU1LCAweDJhLCAweGFlLCAweDI5LCAweDcwLCAweDAyLCAweDA1LCAweDI5LCAweDE0LCAweGY1LCAweDgyLAotICAweDhlLCAweDgzLCAweGU1LCAweDExLCAweGYwLCAweDEyLCAweDAwLCAweDM2LCAweDA1LCAweDJhLCAweGU1LCAweDJhLCAweGFjLCAweDI5LCAweDcwLCAweDAyLAotICAweDA1LCAweDI5LCAweDE0LCAweGY1LCAweDgyLCAweDhjLCAweDgzLCAweGVmLCAweGYwLCAweDE1LCAweDI0LCAweGU1LCAweDI0LCAweDYwLCAweDA3fX0sCi0gezB4MGJjNiwgNjQsIHsgMHgxMiwgMHgwZSwgMHgxYiwgMHg4ZiwgMHgxMSwgMHg4MCwgMHhjZCwgMHgyMiwgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwKLSAgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHhkMiwgMHgwMiwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwMSwKLSAgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwgMHhjMCwgMHhlMCwKLSAgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHhkMiwgMHgwYX19LAotIHsweDBjMDYsIDY0LCB7IDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDgsIDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsCi0gIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsCi0gIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsCi0gIDB4MTMsIDB4ZjAsIDB4ZTUsIDB4MTksIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzR9fSwKLSB7MHgwYzQ2LCA2NCwgeyAweDEzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDExLCAweGYwLCAweDkwLCAweGMwLCAweDAwLAotICAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweGU1LCAweDE5LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLAotICAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LAotICAweDc0LCAweDEyLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweGU1fX0sCi0gezB4MGM4NiwgNjQsIHsgMHgxOSwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwKLSAgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwKLSAgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHhlNSwgMHgxOSwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwKLSAgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNiwgMHhmMH19LAotIHsweDBjYzYsIDY0LCB7IDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTUsIDB4MTksIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsCi0gIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTUsIDB4MTksIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsCi0gIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTcsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsCi0gIDB4MTUsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWQsIDB4ZjAsIDB4MjIsIDB4MTIsIDB4MGQsIDB4ZWEsIDB4OGYsIDB4MzcsIDB4MTIsIDB4MGR9fSwKLSB7MHgwZDA2LCA2NCwgeyAweGVhLCAweDhmLCAweDM4LCAweGU1LCAweDM3LCAweDY1LCAweDM4LCAweDYwLCAweDEyLCAweDEyLCAweDBkLCAweGVhLCAweDhmLCAweDM3LCAweGU1LCAweDM3LCAweDY1LAotICAweDM4LCAweDYwLCAweDA3LCAweDEyLCAweDBkLCAweGVhLCAweDhmLCAweDM4LCAweDgwLCAweGU4LCAweGFmLCAweDM3LCAweDIyLCAweDkwLCAweDdmLCAweGQ2LAotICAweGUwLCAweDU0LCAweGZiLCAweGYwLCAweGUwLCAweDQ0LCAweDA4LCAweGYwLCAweDMwLCAweDE2LCAweDA0LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDdmLAotICAweGY0LCAweDdlLCAweDAxLCAweDEyLCAweDBkLCAweGE1LCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDU0LCAweGY3LCAweGYwLCAweGUwLCAweDQ0fX0sCi0gezB4MGQ0NiwgNjQsIHsgMHgwNCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhkOCwgMHhlMCwgMHhmNSwgMHgzNiwgMHgxMiwgMHgwNywgMHg0OCwgMHgxMiwgMHgwZSwgMHgyNywgMHhlZiwgMHgzMCwKLSAgMHhlNiwgMHgwYiwgMHg5MCwgMHg3ZiwgMHhkOCwgMHhlMCwgMHg2NSwgMHgzNiwgMHg2MCwgMHhmMSwgMHg3ZiwgMHgwMSwgMHgyMiwgMHgxMiwgMHgwYSwgMHhjZiwKLSAgMHg3ZiwgMHgwMCwgMHgyMiwgMHhhZSwgMHgwNywgMHhlNCwgMHhmZiwgMHhlNSwgMHgxNiwgMHg1NCwgMHg3ZiwgMHhmZCwgMHgxMiwgMHgwYywgMHhkYSwgMHg5MCwKLSAgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZSwgMHhmMCwgMHhlNCwgMHhlNSwgMHgxNiwgMHg0NCwgMHg4MH19LAotIHsweDBkODYsIDY0LCB7IDB4ZmQsIDB4MTIsIDB4MGMsIDB4ZGEsIDB4MjIsIDB4MDUsIDB4MmIsIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDMsIDB4MzEsIDB4MDMsIDB4MDAsIDB4MDAsCi0gIDB4YzEsIDB4ODYsIDB4YzEsIDB4MDIsIDB4YzEsIDB4MGEsIDB4YzEsIDB4MDEsIDB4YzEsIDB4MDcsIDB4MDEsIDB4MjcsIDB4MDAsIDB4MDAsIDB4OGUsIDB4MzYsCi0gIDB4OGYsIDB4MzcsIDB4ZTUsIDB4MzcsIDB4MTUsIDB4MzcsIDB4YWUsIDB4MzYsIDB4NzAsIDB4MDIsIDB4MTUsIDB4MzYsIDB4NGUsIDB4NjAsIDB4MDUsIDB4MTIsCi0gIDB4MDksIDB4YTQsIDB4ODAsIDB4ZWUsIDB4MjIsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4N2YsIDB4MGQsIDB4N2V9fSwKLSB7MHgwZGM2LCA2NCwgeyAweDAwLCAweDEyLCAweDBkLCAweGE1LCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDU0LCAweGZlLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDExLAotICAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEyLCAweGYwLCAweDkwLCAweGMwLCAweDAwLAotICAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweGQyLAotICAweDAxLCAweDIyLCAweGMyLCAweDAxLCAweDIyLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDBiLCAweGNlLCAweDAwLCAweDAyLCAweDBlfX0sCi0gezB4MGUwNiwgNjQsIHsgMHgwNCwgMHgwMCwgMHgwMiwgMHgwMCwgMHgwMywgMHgwMCwgMHgwMiwgMHgwYiwgMHhmNSwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwKLSAgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDBlNDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgwZTg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MGVjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDBmMDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgwZjQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MGY4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDBmYzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxMDA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTA0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDEwODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxMGM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTEwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDExNDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxMTg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTFjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDEyMDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxMjQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTI4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDEyYzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxMzA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTM0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDEzODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxM2M2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTQwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE0NDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNDg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTRjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE1MDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNTQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTU4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE1YzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNjA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTY0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE2ODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNmM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTcwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE3NDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNzg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTdjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE4MDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxODQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTg4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE4YzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MTIsIDB4MDEsIDB4MTAsIDB4MDEsIDB4ZmYsIDB4MDB9fSwKLSB7MHgxOTA2LCA2NCwgeyAweDAwLCAweDQwLCAweGNkLCAweDA2LCAweDE5LCAweDAxLCAweDAwLCAweDAwLCAweDAxLCAweDAyLCAweDAwLCAweDAyLCAweDA5LCAweDAyLCAweDc0LCAweDAwLCAweDAxLAotICAweDAxLCAweDAwLCAweGEwLCAweDMyLCAweDA5LCAweDA0LCAweDAwLCAweDAwLCAweDBlLCAweGZmLCAweDAwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAxLAotICAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAyLCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAzLCAweDAyLCAweDQwLAotICAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDA0LCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDA1LCAweDAyLCAweDQwLCAweDAwfX0sCi0gezB4MTk0NiwgNjQsIHsgMHgwMCwgMHgwNywgMHgwNSwgMHgwNiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwNywgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwKLSAgMHg4MSwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4MiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4MywgMHgwMiwKLSAgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4NCwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4NSwgMHgwMiwgMHg0MCwgMHgwMCwKLSAgMHgwMSwgMHgwNywgMHgwNSwgMHg4NiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4NywgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMX19LAotIHsweDE5ODYsIDY0LCB7IDB4MDQsIDB4MDMsIDB4MDksIDB4MDQsIDB4NDgsIDB4MDMsIDB4NGIsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzksIDB4MDAsIDB4NzMsIDB4MDAsIDB4NzAsIDB4MDAsIDB4NjEsCi0gIDB4MDAsIDB4NmUsIDB4MDAsIDB4MmMsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NjEsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NjQsIDB4MDAsIDB4NjksIDB4MDAsIDB4NzYsCi0gIDB4MDAsIDB4NjksIDB4MDAsIDB4NzMsIDB4MDAsIDB4NjksIDB4MDAsIDB4NmYsIDB4MDAsIDB4NmUsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NmYsIDB4MDAsIDB4NjYsCi0gIDB4MDAsIDB4MjAsIDB4MDAsIDB4NDksIDB4MDAsIDB4NmUsIDB4MDAsIDB4NmUsIDB4MDAsIDB4NmYsIDB4MDAsIDB4NTMsIDB4MDAsIDB4NzksIDB4MDB9fSwKLSB7MHgxOWM2LCA2NCwgeyAweDczLCAweDAwLCAweDIwLCAweDAwLCAweDQ5LCAweDAwLCAweDZlLCAweDAwLCAweDYzLCAweDAwLCAweDJlLCAweDAwLCAweDM2LCAweDAzLCAweDRiLCAweDAwLCAweDY1LAotICAweDAwLCAweDc5LCAweDAwLCAweDczLCAweDAwLCAweDcwLCAweDAwLCAweDYxLCAweDAwLCAweDZlLCAweDAwLCAweDIwLCAweDAwLCAweDU1LCAweDAwLCAweDUzLAotICAweDAwLCAweDQyLCAweDAwLCAweDIwLCAweDAwLCAweDUzLCAweDAwLCAweDY1LCAweDAwLCAweDcyLCAweDAwLCAweDY5LCAweDAwLCAweDYxLCAweDAwLCAweDZjLAotICAweDAwLCAweDIwLCAweDAwLCAweDQxLCAweDAwLCAweDY0LCAweDAwLCAweDYxLCAweDAwLCAweDcwLCAweDAwLCAweDc0LCAweDAwLCAweDY1LCAweDAwfX0sCi0gezB4MWEwNiwgIDQsIHsgMHg3MiwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweGZmZmYsIDAsCXsweDAwfX0KLX07CmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl91c2ExOXdfZncuaCBiL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3VzYTE5d19mdy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3NWQ2MTkxLi4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3VzYTE5d19mdy5oCisrKyAvZGV2L251bGwKQEAgLTEsNDQ2ICswLDAgQEAKLS8qIGtleXNwYW5fdXNhMTl3X2Z3LmgKLQotCVRoZSBmaXJtd2FyZSBjb250YWluZWQgaGVyZWluIGFzIGtleXNwYW5fdXNhMTl3X2Z3LmggaXMKLQotCQlDb3B5cmlnaHQgKEMpIDE5OTktMjAwMQotCQlLZXlzcGFuLCBBIGRpdmlzaW9uIG9mIElubm9TeXMgSW5jb3Jwb3JhdGVkICgiS2V5c3BhbiIpCi0JCQotCWFzIGFuIHVucHVibGlzaGVkIHdvcmsuIFRoaXMgbm90aWNlIGRvZXMgbm90IGltcGx5IHVucmVzdHJpY3RlZCBvcgotCXB1YmxpYyBhY2Nlc3MgdG8gdGhlIHNvdXJjZSBjb2RlIGZyb20gd2hpY2ggdGhpcyBmaXJtd2FyZSBpbWFnZSBpcwotCWRlcml2ZWQuICBFeGNlcHQgYXMgbm90ZWQgYmVsb3cgdGhpcyBmaXJtd2FyZSBpbWFnZSBtYXkgbm90IGJlIAotCXJlcHJvZHVjZWQsIHVzZWQsIHNvbGQgb3IgdHJhbnNmZXJyZWQgdG8gYW55IHRoaXJkIHBhcnR5IHdpdGhvdXQgCi0JS2V5c3BhbidzIHByaW9yIHdyaXR0ZW4gY29uc2VudC4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0KLQlQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkIGZvciB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmlybXdhcmUgCi0JaW1hZ2UgYXMgcGFydCBvZiBhIExpbnV4IG9yIG90aGVyIE9wZW4gU291cmNlIG9wZXJhdGluZyBzeXN0ZW0ga2VybmVsIAotCWluIHRleHQgb3IgYmluYXJ5IGZvcm0gYXMgcmVxdWlyZWQuIAotCi0JVGhpcyBmaXJtd2FyZSBtYXkgbm90IGJlIG1vZGlmaWVkIGFuZCBtYXkgb25seSBiZSB1c2VkIHdpdGggIAotCUtleXNwYW4gaGFyZHdhcmUuICBEaXN0cmlidXRpb24gYW5kL29yIE1vZGlmaWNhdGlvbiBvZiB0aGUgCi0Ja2V5c3Bhbi5jIGRyaXZlciB3aGljaCBpbmNsdWRlcyB0aGlzIGZpcm13YXJlLCBpbiB3aG9sZSBvciBpbiAKLQlwYXJ0LCByZXF1aXJlcyB0aGUgaW5jbHVzaW9uIG9mIHRoaXMgc3RhdGVtZW50LiIKLSovCi0KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgZXp1c2JfaGV4X3JlY29yZCBrZXlzcGFuX3VzYTE5d19maXJtd2FyZVtdID0gewotIHsweDAwMzMsICAzLCB7IDB4MDIsIDB4MGQsIDB4NWN9fSwKLSB7MHgwMDAzLCAxNiwgeyAweGU0LCAweDkwLCAweDdmLCAweDkzLCAweGYwLCAweDkwLCAweDdmLCAweDljLCAweDc0LCAweDMwLCAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweDk2LCAweGYwfX0sCi0gezB4MDAxMywgMTYsIHsgMHg5MCwgMHg3ZiwgMHg5NCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZCwgMHg3NCwgMHhmZiwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5NywgMHhmMCwgMHg5MH19LAotIHsweDAwMjMsIDE1LCB7IDB4N2YsIDB4OTUsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWUsIDB4NzQsIDB4MTcsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZjAsIDB4MjJ9fSwKLSB7MHgwMDQ2LCAxNiwgeyAweDMwLCAweDBmLCAweDE4LCAweDEyLCAweDBkLCAweDM4LCAweGVmLCAweGMzLCAweDk1LCAweDE0LCAweDQwLCAweDAzLCAweDAyLCAweDAwLCAweGQ4LCAweDkwfX0sCi0gezB4MDA1NiwgMTYsIHsgMHg3ZiwgMHhiZiwgMHg3NCwgMHgwMSwgMHhmMCwgMHhjMiwgMHgwZiwgMHhjMiwgMHgwYSwgMHg4MCwgMHg3NywgMHgzMCwgMHgwYywgMHgzYiwgMHg5MCwgMHg3Zn19LAotIHsweDAwNjYsIDE2LCB7IDB4YzYsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4NmQsIDB4MTIsIDB4MGQsIDB4MzgsIDB4ZWYsIDB4YzMsIDB4OTQsIDB4NDAsIDB4NTAsIDB4NjQsIDB4OTAsIDB4N2V9fSwKLSB7MHgwMDc2LCAxNiwgeyAweDQwLCAweGUwLCAweDEzLCAweDkyLCAweDBmLCAweDkwLCAweDdmLCAweGM3LCAweGUwLCAweDE0LCAweGY1LCAweDFjLCAweDIwLCAweDBhLCAweDExLCAweDYwfX0sCi0gezB4MDA4NiwgMTYsIHsgMHgwZiwgMHhmNSwgMHgyMywgMHg3ZSwgMHg3ZSwgMHg3ZiwgMHg0MSwgMHg3NSwgMHgyNywgMHg3ZSwgMHg3NSwgMHgyOCwgMHg0MSwgMHgxMiwgMHgwOCwgMHgwMX19LAotIHsweDAwOTYsIDE2LCB7IDB4YzIsIDB4MGMsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZjAsIDB4ODAsIDB4MzksIDB4OTAsIDB4N2YsIDB4YzgsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MzJ9fSwKLSB7MHgwMGE2LCAxNiwgeyAweDEyLCAweDBkLCAweDM4LCAweGVmLCAweGMzLCAweDk0LCAweDQwLCAweDUwLCAweDI5LCAweDkwLCAweDdkLCAweGMwLCAweGUwLCAweDEzLCAweDkyLCAweDBmfX0sCi0gezB4MDBiNiwgMTYsIHsgMHg5MCwgMHg3ZiwgMHhjOSwgMHhlMCwgMHgxNCwgMHhmNSwgMHgxYywgMHgyMCwgMHgwYSwgMHgxMSwgMHg2MCwgMHgwZiwgMHhmNSwgMHgyMywgMHg3ZSwgMHg3ZH19LAotIHsweDAwYzYsIDE2LCB7IDB4N2YsIDB4YzEsIDB4NzUsIDB4MjcsIDB4N2QsIDB4NzUsIDB4MjgsIDB4YzEsIDB4MTIsIDB4MDgsIDB4MDEsIDB4ZDIsIDB4MGMsIDB4ZTQsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwMGQ2LCAxNiwgeyAweGM5LCAweGYwLCAweDkwLCAweDdmLCAweGI2LCAweGUwLCAweDMwLCAweGUxLCAweDAzLCAweDAyLCAweDAxLCAweDVlLCAweDEyLCAweDBjLCAweDQxLCAweDhmfX0sCi0gezB4MDBlNiwgMTYsIHsgMHgxYywgMHgxMiwgMHgwZCwgMHg0NCwgMHg4ZiwgMHgxMSwgMHhlNSwgMHgxYywgMHhjMywgMHg5NSwgMHgxMywgMHg1MCwgMHgwZiwgMHgxMiwgMHgwZCwgMHgyMH19LAotIHsweDAwZjYsIDE2LCB7IDB4ZWYsIDB4MzAsIDB4ZTAsIDB4MDgsIDB4ZTUsIDB4MTEsIDB4MjAsIDB4ZTcsIDB4MDMsIDB4MzAsIDB4MTIsIDB4NWMsIDB4YzIsIDB4MTIsIDB4ZTUsIDB4MWN9fSwKLSB7MHgwMDM2LCAxMiwgeyAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEwLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyfX0sCi0gezB4MDA0MywgIDMsIHsgMHgwMiwgMHgwZSwgMHgwMH19LAotIHsweDAwMDAsICAzLCB7IDB4MDIsIDB4MDgsIDB4YjZ9fSwKLSB7MHgwMTA2LCA2NCwgeyAweDYwLCAweDU2LCAweGI0LCAweDgwLCAweDAzLCAweDQzLCAweDExLCAweDAyLCAweGU1LCAweDExLCAweDMwLCAweGU3LCAweDI0LCAweGU1LCAweDFjLCAweGQzLCAweDk0LAotICAweDIwLCAweDQwLCAweDAzLCAweDc1LCAweDFjLCAweDIwLCAweDg1LCAweDFjLCAweDIzLCAweDdlLCAweDdlLCAweDdmLCAweDgwLCAweDc1LCAweDI3LCAweDdlLAotICAweDc1LCAweDI4LCAweDgwLCAweDEyLCAweDBhLCAweDg2LCAweGU1LCAweDFjLCAweDI1LCAweDFjLCAweDkwLCAweDdmLCAweGI3LCAweGYwLCAweDgwLCAweDI3LAotICAweGU1LCAweDFjLCAweGQzLCAweDk0LCAweDNmLCAweDQwLCAweDAzLCAweDc1LCAweDFjLCAweDNmLCAweDg1LCAweDFjLCAweDIzLCAweDkwLCAweDdlfX0sCi0gezB4MDE0NiwgNjQsIHsgMHg4MCwgMHhlNSwgMHgxMSwgMHhmMCwgMHg3ZSwgMHg3ZSwgMHg3ZiwgMHg4MSwgMHg3NSwgMHgyNywgMHg3ZSwgMHg3NSwgMHgyOCwgMHg4MSwgMHgxMiwgMHgwOCwgMHgyNiwKLSAgMHhlNSwgMHgxYywgMHgwNCwgMHg5MCwgMHg3ZiwgMHhiNywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhjZSwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwNiwgMHgyMCwgMHgwZCwKLSAgMHgwMywgMHgwMiwgMHgwMywgMHhiYSwgMHhlNCwgMHhmNSwgMHgxYiwgMHg3NCwgMHg0MCwgMHgyNSwgMHgxYiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YywKLSAgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHhlNSwgMHgxYiwgMHg3YywgMHgwMCwgMHg3YiwgMHgwMSwgMHg3YSwgMHg3ZSwgMHg3OSwgMHgwMCwgMHgyNH19LAotIHsweDAxODYsIDY0LCB7IDB4MDAsIDB4ZjksIDB4ZWMsIDB4MzQsIDB4N2UsIDB4ZmEsIDB4ZWYsIDB4MTIsIDB4MGEsIDB4MGQsIDB4MDUsIDB4MWIsIDB4ZTUsIDB4MWIsIDB4YjQsIDB4MjAsIDB4ZDcsCi0gIDB4OTAsIDB4N2UsIDB4MDAsIDB4ZTAsIDB4NjAsIDB4NmUsIDB4N2YsIDB4MDEsIDB4OTAsIDB4N2UsIDB4MTEsIDB4ZTAsIDB4ZmQsIDB4MTIsIDB4MGMsIDB4MWMsCi0gIDB4OTAsIDB4N2UsIDB4MDEsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MGIsIDB4NWUsIDB4OTAsIDB4N2UsIDB4MDIsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MGIsIDB4ODQsCi0gIDB4ZDIsIDB4MTAsIDB4ZDIsIDB4MTEsIDB4NzUsIDB4MWMsIDB4MDQsIDB4OTAsIDB4N2UsIDB4MDMsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4YzIsIDB4MTF9fSwKLSB7MHgwMWM2LCA2NCwgeyAweDQzLCAweDFjLCAweGMwLCAweDkwLCAweDdlLCAweDA0LCAweGUwLCAweGI0LCAweDAxLCAweDA3LCAweGMyLCAweDExLCAweDQzLCAweDFjLCAweDBiLCAweDgwLCAweDEwLAotICAweDkwLCAweDdlLCAweDA0LCAweGUwLCAweDYwLCAweDA3LCAweGMyLCAweDEwLCAweDQzLCAweDFjLCAweDA5LCAweDgwLCAweDAzLCAweDQzLCAweDFjLCAweDAyLAotICAweDdmLCAweDAzLCAweGFkLCAweDFjLCAweDEyLCAweDBjLCAweDFjLCAweDQzLCAweDE5LCAweDgwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE0LCAweGYwLAotICAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDE5LCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEyLCAweGYwLCAweGU1LCAweDE2LCAweDQ0fX0sCi0gezB4MDIwNiwgNjQsIHsgMHgwNiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgwNSwgMHhlMCwgMHg2MCwgMHgxMiwgMHhhMywgMHhlMCwgMHg1NCwgMHgzZiwgMHhmNSwgMHgxOCwKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHgxOCwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgwNywgMHhlMCwKLSAgMHg2MCwgMHg0MiwgMHg5MCwgMHg3ZSwgMHgxMywgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHgxNSwgMHgwNCwgMHg4MCwgMHgwMywgMHg1MywgMHgxNSwgMHhmYiwKLSAgMHhlNCwgMHhmZiwgMHhhZCwgMHgxNSwgMHgxMiwgMHgwYywgMHgxYywgMHg5MCwgMHg3ZSwgMHgwOCwgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHgxN319LAotIHsweDAyNDYsIDY0LCB7IDB4ODAsIDB4ODAsIDB4MDMsIDB4NTMsIDB4MTcsIDB4N2YsIDB4NTMsIDB4MTcsIDB4ZmMsIDB4OTAsIDB4N2UsIDB4MDksIDB4ZTAsIDB4NjAsIDB4MTEsIDB4NDMsIDB4MTcsCi0gIDB4MDIsIDB4YTMsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MGIsIDB4ZDAsIDB4OTAsIDB4N2UsIDB4MGIsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MGIsIDB4ZjYsIDB4YWYsCi0gIDB4MTcsIDB4MTIsIDB4MGIsIDB4YWEsIDB4OTAsIDB4N2UsIDB4MGUsIDB4ZTAsIDB4NjAsIDB4MTgsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4MTksCi0gIDB4MDEsIDB4ODAsIDB4MDMsIDB4NTMsIDB4MTksIDB4ZmUsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDB9fSwKLSB7MHgwMjg2LCA2NCwgeyAweGU1LCAweDE5LCAweGYwLCAweDkwLCAweDdlLCAweDBjLCAweGUwLCAweDYwLCAweDE4LCAweGEzLCAweGUwLCAweDYwLCAweDA1LCAweDQzLCAweDE5LCAweDAyLCAweDgwLAotICAweDAzLCAweDUzLCAweDE5LCAweGZkLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE0LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDE5LCAweGYwLAotICAweDkwLCAweDdlLCAweDEyLCAweGUwLCAweGY1LCAweDEzLCAweGEzLCAweGUwLCAweDEzLCAweDkyLCAweDEzLCAweGEzLCAweGUwLCAweGY1LCAweDE0LCAweGEzLAotICAweGUwLCAweDYwLCAweDA1LCAweDQzLCAweDE5LCAweDEwLCAweDgwLCAweDAzLCAweDUzLCAweDE5LCAweGVmLCAweDkwLCAweDdmLCAweDk4LCAweDc0fX0sCi0gezB4MDJjNiwgNjQsIHsgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHgxOSwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgxNiwgMHhlMCwgMHg2MCwgMHgzMiwgMHg1MywgMHgxOCwgMHhiZiwKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHhlNSwgMHgxOCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZiwKLSAgMHg5OCwgMHg3NCwgMHgxMSwgMHhmMCwgMHgxMiwgMHgwZCwgMHgxNCwgMHhlZiwgMHg1NCwgMHhmZSwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg1MywgMHgxNSwKLSAgMHhmZCwgMHhlNCwgMHhmZiwgMHhhZCwgMHgxNSwgMHgxMiwgMHgwYywgMHgxYywgMHhlNCwgMHhmNSwgMHgwZSwgMHhmNSwgMHgwZCwgMHhkMiwgMHgwZX19LAotIHsweDAzMDYsIDY0LCB7IDB4OTAsIDB4N2UsIDB4MTcsIDB4ZTAsIDB4NjAsIDB4MGYsIDB4NDMsIDB4MTUsIDB4MDIsIDB4ZTQsIDB4ZmYsIDB4YWQsIDB4MTUsIDB4MTIsIDB4MGMsIDB4MWMsIDB4NzUsCi0gIDB4MGQsIDB4MDEsIDB4ZDIsIDB4MGUsIDB4OTAsIDB4N2UsIDB4MTgsIDB4ZTAsIDB4NjAsIDB4MTAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTIsIDB4ZjAsCi0gIDB4ZTUsIDB4MTYsIDB4NDQsIDB4MDQsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4ZDIsIDB4MGEsIDB4OTAsIDB4N2UsIDB4MTksIDB4ZTAsIDB4NjAsIDB4MTEsCi0gIDB4NDMsIDB4MTgsIDB4NDAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTUsIDB4MTgsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzB9fSwKLSB7MHgwMzQ2LCA2NCwgeyAweDAwLCAweGYwLCAweDkwLCAweDdlLCAweDFhLCAweGUwLCAweDYwLCAweDBmLCAweDUzLCAweDE1LCAweGZlLCAweGU0LCAweGZmLCAweGFkLCAweDE1LCAweDEyLCAweDBjLAotICAweDFjLCAweDc1LCAweDBmLCAweDAxLCAweGQyLCAweDBlLCAweDkwLCAweDdlLCAweDFiLCAweGUwLCAweDYwLCAweDBmLCAweDQzLCAweDE1LCAweDAxLCAweGU0LAotICAweGZmLCAweGFkLCAweDE1LCAweDEyLCAweDBjLCAweDFjLCAweGU0LCAweGY1LCAweDBmLCAweGQyLCAweDBlLCAweDkwLCAweDdlLCAweDFjLCAweGUwLCAweDYwLAotICAweDBlLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEyLCAweGYwLCAweGU1LCAweDE2LCAweDQ0LCAweDAyLCAweDkwLCAweGMwLCAweDAwLCAweGYwfX0sCi0gezB4MDM4NiwgNjQsIHsgMHg5MCwgMHg3ZSwgMHgxZCwgMHhlMCwgMHg2MCwgMHgwMiwgMHhkMiwgMHgxMiwgMHg5MCwgMHg3ZSwgMHgxZSwgMHhlMCwgMHg2MCwgMHgwOCwgMHg3NSwgMHgxMCwgMHgwMSwKLSAgMHhlNCwgMHhmNSwgMHgxMiwgMHhkMiwgMHgwZSwgMHg5MCwgMHg3ZSwgMHgxZiwgMHhlMCwgMHg2MCwgMHgxMSwgMHg5MCwgMHg3ZiwgMHhkNywgMHg3NCwgMHgxMSwKLSAgMHhmMCwgMHg3NCwgMHgzMSwgMHhmMCwgMHg3NCwgMHgxNSwgMHhmMCwgMHg3NCwgMHgzNSwgMHhmMCwgMHhkMiwgMHgwYywgMHhjMiwgMHgwZCwgMHhlNCwgMHg5MCwKLSAgMHg3ZiwgMHhjZiwgMHhmMCwgMHgzMCwgMHgxNSwgMHg3MSwgMHhlNSwgMHgxMiwgMHg2MCwgMHgwMiwgMHgxNSwgMHgxMiwgMHhlNSwgMHgyZSwgMHhkM319LAotIHsweDAzYzYsIDY0LCB7IDB4OTQsIDB4MDAsIDB4NDAsIDB4MDQsIDB4MTUsIDB4MmUsIDB4ODAsIDB4NjAsIDB4NzUsIDB4MmUsIDB4MGEsIDB4MTIsIDB4MGQsIDB4MTQsIDB4ZWYsIDB4NTQsIDB4MDEsCi0gIDB4ZjUsIDB4MWMsIDB4NjUsIDB4MGUsIDB4NjAsIDB4MDcsIDB4ODUsIDB4MWMsIDB4MGUsIDB4ZDIsIDB4MGUsIDB4ODAsIDB4MTEsIDB4MTIsIDB4MGQsIDB4NTAsCi0gIDB4ZWYsIDB4NTQsIDB4MTAsIDB4ZjUsIDB4MWMsIDB4NjUsIDB4MDksIDB4NjAsIDB4MDUsIDB4ODUsIDB4MWMsIDB4MDksIDB4ZDIsIDB4MGUsIDB4MTIsIDB4MGQsCi0gIDB4NTAsIDB4ZWYsIDB4NTQsIDB4ODAsIDB4ZjUsIDB4MWMsIDB4NjUsIDB4MGEsIDB4NjAsIDB4MDUsIDB4ODUsIDB4MWMsIDB4MGEsIDB4ZDIsIDB4MGV9fSwKLSB7MHgwNDA2LCA2NCwgeyAweDEyLCAweDBkLCAweDUwLCAweGVmLCAweDU0LCAweDIwLCAweGY1LCAweDFjLCAweDY1LCAweDBiLCAweDYwLCAweDA4LCAweDg1LCAweDFjLCAweDBiLCAweDMwLCAweDEwLAotICAweDAyLCAweGQyLCAweDBlLCAweDEyLCAweDBkLCAweDUwLCAweGVmLCAweDU0LCAweDQwLCAweGY1LCAweDFjLCAweDY1LCAweDBjLCAweDYwLCAweDA4LCAweDg1LAotICAweDFjLCAweDBjLCAweDMwLCAweDExLCAweDAyLCAweGQyLCAweDBlLCAweDMwLCAweDE1LCAweDJhLCAweDkwLCAweDdmLCAweGQyLCAweGUwLCAweDIwLCAweGUxLAotICAweDIzLCAweDkwLCAweDdiLCAweDQwLCAweGUwLCAweDYwLCAweDA5LCAweGUwLCAweGY1LCAweDMwLCAweDkwLCAweDdiLCAweDQyLCAweGUwLCAweGY1fX0sCi0gezB4MDQ0NiwgNjQsIHsgMHgzMSwgMHg5MCwgMHg3YiwgMHg0MSwgMHhlMCwgMHg2MCwgMHgwOSwgMHg5MCwgMHg3ZiwgMHhkNywgMHg3NCwgMHgxNywgMHhmMCwgMHg3NCwgMHgzNywgMHhmMCwgMHhlNCwKLSAgMHg5MCwgMHg3ZiwgMHhkMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhjMiwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwMywgMHgwMiwgMHgwNSwgMHgxZiwgMHhlNSwgMHgyNSwKLSAgMHg3MCwgMHg0MCwgMHgzMCwgMHgwZSwgMHgzOSwgMHhlNSwgMHgxMiwgMHg3MCwgMHgzNSwgMHhjMiwgMHgwZSwgMHhmNSwgMHgxYiwgMHg3ZSwgMHgwMCwgMHg3YiwKLSAgMHgwMCwgMHg3NCwgMHgwOCwgMHgyNSwgMHgxYiwgMHhmOSwgMHhlZSwgMHgzNCwgMHgwMCwgMHhmYSwgMHgxMiwgMHgwOSwgMHhjNywgMHhmZiwgMHg3NH19LAotIHsweDA0ODYsIDY0LCB7IDB4ODAsIDB4MjUsIDB4MWIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2IsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MDUsIDB4MWIsIDB4ZTUsIDB4MWIsIDB4YjQsCi0gIDB4MDksIDB4ZGIsIDB4OTAsIDB4N2YsIDB4YzMsIDB4NzQsIDB4MDksIDB4ZjAsIDB4NzUsIDB4MTIsIDB4MTAsIDB4ZTQsIDB4ZjUsIDB4MTAsIDB4NzUsIDB4MjUsCi0gIDB4MDIsIDB4MjIsIDB4ZTUsIDB4MjUsIDB4NjQsIDB4MDIsIDB4NzAsIDB4MzYsIDB4MzAsIDB4MDUsIDB4MmYsIDB4YzIsIDB4MDUsIDB4ZjUsIDB4MWIsIDB4N2UsCi0gIDB4MDAsIDB4N2IsIDB4MDAsIDB4NzQsIDB4MjksIDB4MjUsIDB4MWIsIDB4ZjksIDB4ZWUsIDB4MzQsIDB4MDAsIDB4ZmEsIDB4MTIsIDB4MDksIDB4Yzd9fSwKLSB7MHgwNGM2LCA2NCwgeyAweGZmLCAweDc0LCAweDgwLCAweDI1LCAweDFiLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdiLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDA1LCAweDFiLCAweGU1LAotICAweDFiLCAweGI0LCAweDA1LCAweGRiLCAweDkwLCAweDdmLCAweGMzLCAweDc0LCAweDA1LCAweGYwLCAweDc1LCAweDI1LCAweDAzLCAweDIyLCAweGU1LCAweDMwLAotICAweDYwLCAweDMzLCAweDc1LCAweDJmLCAweDAzLCAweDE1LCAweDMwLCAweGU0LCAweGY1LCAweDFiLCAweDdlLCAweDAwLCAweDdiLCAweDAwLCAweDc0LCAweDJmLAotICAweDI1LCAweDFiLCAweGY5LCAweGVlLCAweDM0LCAweDAwLCAweGZhLCAweDEyLCAweDA5LCAweGM3LCAweGZmLCAweDc0LCAweDgwLCAweDI1LCAweDFifX0sCi0gezB4MDUwNiwgNjQsIHsgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHgwNSwgMHgxYiwgMHhlNSwgMHgxYiwgMHhiNCwgMHgwMywgMHhkYiwgMHg5MCwKLSAgMHg3ZiwgMHhjMywgMHg3NCwgMHgwMywgMHhmMCwgMHhlNCwgMHhmNSwgMHgyNSwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhlOSwgMHhlMCwgMHgxMiwgMHgwYSwgMHgxZiwKLSAgMHgwNSwgMHhmNiwgMHgwMCwgMHgwNiwgMHg2YSwgMHgwMSwgMHgwNiwgMHhkNywgMHgwMywgMHgwNSwgMHg0MywgMHgwNiwgMHgwNSwgMHhlOSwgMHgwOCwgMHgwNSwKLSAgMHhlMywgMHgwOSwgMHgwNSwgMHhjYiwgMHgwYSwgMHgwNSwgMHhkYSwgMHgwYiwgMHgwMCwgMHgwMCwgMHgwNywgMHgyNywgMHg5MCwgMHg3ZiwgMHhlYn19LAotIHsweDA1NDYsIDY0LCB7IDB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MTYsIDB4MTQsIDB4NjAsIDB4NTAsIDB4MjQsIDB4MDIsIDB4NzAsIDB4NmYsIDB4NzQsIDB4MTksIDB4OTAsIDB4N2YsIDB4ZDQsCi0gIDB4ZjAsIDB4NzQsIDB4MDAsIDB4OTAsIDB4N2YsIDB4ZDUsIDB4ZjAsIDB4MDIsIDB4MDcsIDB4MmUsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4NzAsIDB4MDQsCi0gIDB4N2YsIDB4MDIsIDB4ODAsIDB4MDIsIDB4N2YsIDB4MDMsIDB4NzUsIDB4ODIsIDB4ODIsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZWYsIDB4ZjAsIDB4NzUsIDB4ODIsCi0gIDB4NzQsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZjAsIDB4NzUsIDB4ODIsIDB4NTgsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZWF9fSwKLSB7MHgwNTg2LCA2NCwgeyAweGUwLCAweDA0LCAweDc1LCAweDgyLCAweDE3LCAweDc1LCAweDgzLCAweDE5LCAweGYwLCAweDc0LCAweDE5LCAweDkwLCAweDdmLCAweGQ0LCAweGYwLCAweDc0LCAweDEyLAotICAweDkwLCAweDdmLCAweGQ1LCAweGYwLCAweDAyLCAweDA3LCAweDJlLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGZmLCAweDEyLCAweDBhLCAweDQ1LCAweGVhLAotICAweDQ5LCAweDYwLCAweDBkLCAweGVhLCAweDkwLCAweDdmLCAweGQ0LCAweGYwLCAweGU5LCAweDkwLCAweDdmLCAweGQ1LCAweGYwLCAweDAyLCAweDA3LCAweDJlLAotICAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDA3LCAweDJlLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0fX0sCi0gezB4MDVjNiwgNjQsIHsgMHgwMSwgMHhmMCwgMHgwMiwgMHgwNywgMHgyZSwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhlNSwgMHgyNCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMSwgMHhmMCwKLSAgMHgwMiwgMHgwNywgMHgyZSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhmNSwgMHgyNCwgMHgwMiwgMHgwNywgMHgyZSwgMHgxMiwgMHgwNywgMHgzNiwgMHgwMiwKLSAgMHgwNywgMHgyZSwgMHg5MCwgMHg3ZiwgMHgwMCwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHhmMCwgMHgwMiwgMHgwNywgMHgyZSwgMHg5MCwKLSAgMHg3ZiwgMHhlOCwgMHhlMCwgMHgyNCwgMHg3ZiwgMHg2MCwgMHgyNCwgMHgxNCwgMHg2MCwgMHgzMSwgMHgyNCwgMHgwMiwgMHg3MCwgMHg1YiwgMHhhMn19LAotIHsweDA2MDYsIDY0LCB7IDB4MDEsIDB4ZTQsIDB4MzMsIDB4ZmYsIDB4MjUsIDB4ZTAsIDB4ZmYsIDB4YTIsIDB4MDcsIDB4ZTQsIDB4MzMsIDB4NGYsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZjAsIDB4ZTQsCi0gIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MDcsIDB4MmUsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZjAsCi0gIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MDcsIDB4MmUsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4ZjQsCi0gIDB4NTQsIDB4ODAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjR9fSwKLSB7MHgwNjQ2LCA2NCwgeyAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweGZkLCAweDkwLCAweDdmLCAweDAwLCAweGYwLCAweGU0LCAweGEzLCAweGYwLAotICAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDA3LCAweDJlLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLAotICAweDAyLCAweDA3LCAweDJlLCAweDkwLCAweDdmLCAweGU4LCAweGUwLCAweDI0LCAweGZlLCAweDYwLCAweDFlLCAweDI0LCAweDAyLCAweDYwLCAweDAzLCAweDAyLAotICAweDA3LCAweDJlLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGI0LCAweDAxLCAweDA2LCAweDEyLCAweDBkLCAweDYzLCAweDAyLCAweDA3LCAweDJlfX0sCi0gezB4MDY4NiwgNjQsIHsgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwNywgMHgyZSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHg3MCwgMHgzOCwgMHg5MCwKLSAgMHg3ZiwgMHhlYywgMHhlMCwgMHhmNCwgMHg1NCwgMHg4MCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHgyNSwKLSAgMHhlMCwgMHgyNCwgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHhlNCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwKLSAgMHg1NCwgMHg4MCwgMHhmZiwgMHgxMywgMHgxMywgMHgxMywgMHg1NCwgMHgxZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHg5MCwgMHg3Zn19LAotIHsweDA2YzYsIDY0LCB7IDB4ZDcsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4MjAsIDB4ZjAsIDB4ODAsIDB4NjAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4NTcsCi0gIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MTksIDB4MjQsIDB4MDIsIDB4NzAsIDB4NGIsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsCi0gIDB4YjQsIDB4MDEsIDB4MDUsIDB4MTIsIDB4MGQsIDB4NjAsIDB4ODAsIDB4M2YsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ODAsCi0gIDB4MzYsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4NzAsIDB4MjAsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4ZjQsIDB4NTQsIDB4ODAsIDB4ZmZ9fSwKLSB7MHgwNzA2LCA2NCwgeyAweGM0LCAweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDI1LCAweGUwLCAweDI0LCAweGI0LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLAotICAweGY1LCAweDgzLCAweDc0LCAweDAxLCAweGYwLCAweDgwLCAweDEwLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDgwLCAweDA3LAotICAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDIyLCAweGU0LAotICAweDkwLCAweDdmLCAweDkzLCAweGYwLCAweDkwLCAweDdmLCAweDljLCAweDc0LCAweDMwLCAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweDk2LCAweGYwfX0sCi0gezB4MDc0NiwgNjQsIHsgMHg5MCwgMHg3ZiwgMHg5NSwgMHg3NCwgMHhjMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZSwgMHg3NCwgMHgzZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxOCwKLSAgMHhmMCwgMHhlNCwgMHhmNSwgMHg4ZSwgMHg5MCwgMHg3ZiwgMHhkZiwgMHg3NCwgMHhmZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkZSwgMHhmMCwgMHhlNCwgMHhmNSwKLSAgMHgwOCwgMHg3ZiwgMHgwMSwgMHg3YiwgMHgwMCwgMHg3NCwgMHgwOCwgMHgyZiwgMHhmOSwgMHhlNCwgMHgzNCwgMHgwMCwgMHhmYSwgMHhlNCwgMHgxMiwgMHgwYSwKLSAgMHgwZCwgMHgwZiwgMHhiZiwgMHgwOSwgMHhlZSwgMHg3NSwgMHgxMywgMHgwMSwgMHhlNCwgMHhmNSwgMHgxMiwgMHhmNSwgMHgyZSwgMHhmNSwgMHgxMX19LAotIHsweDA3ODYsIDY0LCB7IDB4YzIsIDB4MGUsIDB4YzIsIDB4MTIsIDB4YzIsIDB4MGQsIDB4YzIsIDB4MGEsIDB4YzIsIDB4MGYsIDB4YzIsIDB4MDQsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsCi0gIDB4ZjAsIDB4NzUsIDB4MTgsIDB4MDMsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4N2YsIDB4MGMsIDB4ZTQsIDB4ZmQsIDB4MTIsIDB4MGMsCi0gIDB4MWMsIDB4N2YsIDB4MTAsIDB4OGYsIDB4MTcsIDB4MTIsIDB4MGIsIDB4YWEsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTIsIDB4ZjAsIDB4N2YsIDB4MDEsCi0gIDB4OGYsIDB4MTYsIDB4ZWYsIDB4NDQsIDB4MDYsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MGYsIDB4ZTQsIDB4ZmQsIDB4MTIsIDB4MGMsIDB4MWN9fSwKLSB7MHgwN2M2LCA2NCwgeyAweGU0LCAweGZmLCAweDdlLCAweGEzLCAweGFkLCAweDA2LCAweDhkLCAweDE1LCAweDEyLCAweDBjLCAweDFjLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDExLCAweGYwLAotICAweDkwLCAweGMwLCAweDAwLCAweGU0LCAweGYwLCAweDdmLCAweDA1LCAweDdkLCAweDdmLCAweDEyLCAweDBjLCAweDFjLCAweDdmLCAweDAxLCAweDEyLCAweDBjLAotICAweGFjLCAweDdmLCAweDAzLCAweDdkLCAweDA3LCAweDEyLCAweDBjLCAweDFjLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE0LCAweGYwLCAweDc1LCAweDE5LAotICAweDgwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweDgwLCAweGYwLCAweGQyLCAweDAzLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEwfX0sCi0gezB4MDgwNiwgNjQsIHsgMHhmMCwgMHhhZiwgMHgyMywgMHhlNSwgMHgyOCwgMHhmNSwgMHg4MiwgMHhlNSwgMHgyNywgMHhmNSwgMHg4MywgMHhjMiwgMHhhZiwgMHgwNSwgMHg4NiwgMHg5MCwgMHhjMCwKLSAgMHgwMCwgMHgwNSwgMHg4NiwgMHhlMCwgMHhhMywgMHgwNSwgMHg4NiwgMHhmMCwgMHgwNSwgMHg4NiwgMHhkZiwgMHhmNywgMHhkMiwgMHhhZiwgMHgyMiwgMHg5MCwKLSAgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMCwgMHhmMCwgMHhhZiwgMHgyMywgMHhlNSwgMHgyOCwgMHhmNSwgMHg4MiwgMHhlNSwgMHgyNywgMHhmNSwgMHg4MywgMHhjMiwKLSAgMHhhZiwgMHgwNSwgMHg4NiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHgwNSwgMHg4NiwgMHhmMCwgMHhhMywgMHgwNSwgMHg4NiwgMHhkZiwgMHhmN319LAotIHsweDA4NDYsIDY0LCB7IDB4MDUsIDB4ODYsIDB4ZDIsIDB4YWYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MDgsIDB4ZjAsIDB4YWYsIDB4MjMsIDB4ZTUsIDB4MjgsIDB4ZjUsIDB4ODIsCi0gIDB4ZTUsIDB4MjcsIDB4ZjUsIDB4ODMsIDB4YzIsIDB4YWYsIDB4MDUsIDB4ODYsIDB4OTAsIDB4YzAsIDB4MDAsIDB4MDUsIDB4ODYsIDB4ZTAsIDB4YTMsIDB4MDUsCi0gIDB4ODYsIDB4ZjAsIDB4MDUsIDB4ODYsIDB4ZGYsIDB4ZjcsIDB4ZDIsIDB4YWYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MDgsIDB4ZjAsIDB4YWYsCi0gIDB4MjMsIDB4ZTUsIDB4MjgsIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4MjcsIDB4ZjUsIDB4ODMsIDB4YzIsIDB4YWYsIDB4MDUsIDB4ODYsIDB4OTAsIDB4YzB9fSwKLSB7MHgwODg2LCA2NCwgeyAweDAwLCAweGUwLCAweDA1LCAweDg2LCAweGYwLCAweGEzLCAweDA1LCAweDg2LCAweGRmLCAweGY3LCAweDA1LCAweDg2LCAweGQyLCAweGFmLCAweDIyLCAweDc0LCAweDAwLAotICAweGY1LCAweDg2LCAweDkwLCAweGZkLCAweGE1LCAweDdjLCAweDA1LCAweGEzLCAweGU1LCAweDgyLCAweDQ1LCAweDgzLCAweDcwLCAweGY5LCAweDIyLCAweDkwLAotICAweDdmLCAweGQ2LCAweGUwLCAweDQ0LCAweDgwLCAweGYwLCAweDQzLCAweDg3LCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDIyLCAweDc4LAotICAweDdmLCAweGU0LCAweGY2LCAweGQ4LCAweGZkLCAweDc1LCAweDgxLCAweDMxLCAweDAyLCAweDA4LCAweGZkLCAweDAyLCAweDA5LCAweDQyLCAweGU0fX0sCi0gezB4MDhjNiwgNjQsIHsgMHg5MywgMHhhMywgMHhmOCwgMHhlNCwgMHg5MywgMHhhMywgMHg0MCwgMHgwMywgMHhmNiwgMHg4MCwgMHgwMSwgMHhmMiwgMHgwOCwgMHhkZiwgMHhmNCwgMHg4MCwgMHgyOSwKLSAgMHhlNCwgMHg5MywgMHhhMywgMHhmOCwgMHg1NCwgMHgwNywgMHgyNCwgMHgwYywgMHhjOCwgMHhjMywgMHgzMywgMHhjNCwgMHg1NCwgMHgwZiwgMHg0NCwgMHgyMCwKLSAgMHhjOCwgMHg4MywgMHg0MCwgMHgwNCwgMHhmNCwgMHg1NiwgMHg4MCwgMHgwMSwgMHg0NiwgMHhmNiwgMHhkZiwgMHhlNCwgMHg4MCwgMHgwYiwgMHgwMSwgMHgwMiwKLSAgMHgwNCwgMHgwOCwgMHgxMCwgMHgyMCwgMHg0MCwgMHg4MCwgMHg5MCwgMHgwYywgMHhjZCwgMHhlNCwgMHg3ZSwgMHgwMSwgMHg5MywgMHg2MCwgMHhiY319LAotIHsweDA5MDYsIDY0LCB7IDB4YTMsIDB4ZmYsIDB4NTQsIDB4M2YsIDB4MzAsIDB4ZTUsIDB4MDksIDB4NTQsIDB4MWYsIDB4ZmUsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4NjAsIDB4MDEsIDB4MGUsIDB4Y2YsCi0gIDB4NTQsIDB4YzAsIDB4MjUsIDB4ZTAsIDB4NjAsIDB4YTgsIDB4NDAsIDB4YjgsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZmEsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjgsCi0gIDB4ZTQsIDB4OTMsIDB4YTMsIDB4YzgsIDB4YzUsIDB4ODIsIDB4YzgsIDB4Y2EsIDB4YzUsIDB4ODMsIDB4Y2EsIDB4ZjAsIDB4YTMsIDB4YzgsIDB4YzUsIDB4ODIsCi0gIDB4YzgsIDB4Y2EsIDB4YzUsIDB4ODMsIDB4Y2EsIDB4ZGYsIDB4ZTksIDB4ZGUsIDB4ZTcsIDB4ODAsIDB4YmUsIDB4ZDIsIDB4MTQsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwOTQ2LCA2NCwgeyAweDkyLCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDEyLCAweDBkLCAweDYzLCAweGQyLCAweGU4LCAweDQzLCAweGQ4LCAweDIwLCAweDkwLCAweDdmLCAweGRlLCAweDc0LAotICAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGRmLCAweGYwLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweGZmLCAweGYwLCAweDkwLCAweDdmLCAweGE5LCAweGYwLAotICAweDkwLCAweDdmLCAweGFhLCAweGYwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFmLCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLAotICAweGFlLCAweDc0LCAweDBkLCAweGYwLCAweGQyLCAweGFmLCAweGQyLCAweDE1LCAweDEyLCAweDBjLCAweDY2LCAweGMyLCAweDAyLCAweGU0LCAweGY1fX0sCi0gezB4MDk4NiwgNjQsIHsgMHgyNiwgMHhmNSwgMHgyZSwgMHhjMiwgMHgwOCwgMHhjMiwgMHgwMywgMHg5MCwgMHg3ZiwgMHhhMSwgMHgwNCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkOCwgMHhlMCwgMHg2NSwKLSAgMHgxYSwgMHg2MCwgMHgxMCwgMHgzMCwgMHgwMywgMHgwNSwgMHhkMiwgMHgxNSwgMHgxMiwgMHgwMCwgMHg0NiwgMHg5MCwgMHg3ZiwgMHhkOCwgMHhlMCwgMHhmNSwKLSAgMHgxYSwgMHg4MCwgMHgwOCwgMHgzMCwgMHgwMywgMHgwNSwgMHhjMiwgMHgxNSwgMHgxMiwgMHgwMCwgMHg0NiwgMHgzMCwgMHgwMiwgMHgwNywgMHhjMiwgMHgwMiwKLSAgMHgxMiwgMHgwNSwgMHgyMCwgMHg4MCwgMHhkNiwgMHgzMCwgMHgwOSwgMHhkMywgMHhjMiwgMHgwOSwgMHgxMiwgMHgwYSwgMHhiYSwgMHg4MCwgMHhjY319LAotIHsweDA5YzYsIDY0LCB7IDB4MjIsIDB4YmIsIDB4MDEsIDB4MDYsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTAsIDB4MjIsIDB4NTAsIDB4MDIsIDB4ZTcsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDIsCi0gIDB4ZTMsIDB4MjIsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTQsIDB4OTMsIDB4MjIsIDB4YmIsIDB4MDEsIDB4MGMsIDB4ZTUsIDB4ODIsIDB4MjksIDB4ZjUsCi0gIDB4ODIsIDB4ZTUsIDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MjIsIDB4NTAsIDB4MDYsIDB4ZTksIDB4MjUsIDB4ODIsIDB4ZjgsIDB4ZTYsIDB4MjIsCi0gIDB4YmIsIDB4ZmUsIDB4MDYsIDB4ZTksIDB4MjUsIDB4ODIsIDB4ZjgsIDB4ZTIsIDB4MjIsIDB4ZTUsIDB4ODIsIDB4MjksIDB4ZjUsIDB4ODIsIDB4ZTV9fSwKLSB7MHgwYTA2LCA2NCwgeyAweDgzLCAweDNhLCAweGY1LCAweDgzLCAweGU0LCAweDkzLCAweDIyLCAweGJiLCAweDAxLCAweDA2LCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGYwLCAweDIyLCAweDUwLAotICAweDAyLCAweGY3LCAweDIyLCAweGJiLCAweGZlLCAweDAxLCAweGYzLCAweDIyLCAweGQwLCAweDgzLCAweGQwLCAweDgyLCAweGY4LCAweGU0LCAweDkzLCAweDcwLAotICAweDEyLCAweDc0LCAweDAxLCAweDkzLCAweDcwLCAweDBkLCAweGEzLCAweGEzLCAweDkzLCAweGY4LCAweDc0LCAweDAxLCAweDkzLCAweGY1LCAweDgyLCAweDg4LAotICAweDgzLCAweGU0LCAweDczLCAweDc0LCAweDAyLCAweDkzLCAweDY4LCAweDYwLCAweGVmLCAweGEzLCAweGEzLCAweGEzLCAweDgwLCAweGRmLCAweDhmfX0sCi0gezB4MGE0NiwgNjQsIHsgMHgxYiwgMHhlNCwgMHhmNSwgMHgxYywgMHg3NSwgMHgxZCwgMHhmZiwgMHg3NSwgMHgxZSwgMHgxOSwgMHg3NSwgMHgxZiwgMHg4NiwgMHhhYiwgMHgxZCwgMHhhYSwgMHgxZSwKLSAgMHhhOSwgMHgxZiwgMHg5MCwgMHgwMCwgMHgwMSwgMHgxMiwgMHgwOSwgMHhlMCwgMHhiNCwgMHgwMywgMHgxZCwgMHhhZiwgMHgxYywgMHgwNSwgMHgxYywgMHhlZiwKLSAgMHhiNSwgMHgxYiwgMHgwMSwgMHgyMiwgMHgxMiwgMHgwOSwgMHhjNywgMHg3ZSwgMHgwMCwgMHgyOSwgMHhmZiwgMHhlZSwgMHgzYSwgMHhhOSwgMHgwNywgMHg3NSwKLSAgMHgxZCwgMHhmZiwgMHhmNSwgMHgxZSwgMHg4OSwgMHgxZiwgMHg4MCwgMHhkNCwgMHg3YiwgMHgwMCwgMHg3YSwgMHgwMCwgMHg3OSwgMHgwMCwgMHgyMn19LAotIHsweDBhODYsIDY0LCB7IDB4MDUsIDB4MjgsIDB4ZTUsIDB4MjgsIDB4YWUsIDB4MjcsIDB4NzAsIDB4MDIsIDB4MDUsIDB4MjcsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGUsIDB4ODMsIDB4ZTUsIDB4MTEsCi0gIDB4ZjAsIDB4MTIsIDB4MDAsIDB4MzYsIDB4MDUsIDB4MjgsIDB4ZTUsIDB4MjgsIDB4YWMsIDB4MjcsIDB4NzAsIDB4MDIsIDB4MDUsIDB4MjcsIDB4MTQsIDB4ZjUsCi0gIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MTUsIDB4MjMsIDB4ZTUsIDB4MjMsIDB4NjAsIDB4MDcsIDB4MTIsIDB4MGQsIDB4NDQsIDB4OGYsIDB4MTEsCi0gIDB4ODAsIDB4Y2QsIDB4MjIsIDB4OTAsIDB4N2YsIDB4ZDgsIDB4ZTAsIDB4ZjUsIDB4MWIsIDB4MTIsIDB4MDAsIDB4MDMsIDB4OTAsIDB4N2YsIDB4ZDZ9fSwKLSB7MHgwYWM2LCA2NCwgeyAweGUwLCAweDQ0LCAweDgwLCAweGYwLCAweDEyLCAweDA4LCAweGE2LCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDMwLCAweGU3LCAweDBlLCAweDMwLCAweDAxLCAweDA1LAotICAweDEyLCAweDBjLCAweGZlLCAweDgwLCAweDA2LCAweDEyLCAweDBjLCAweDhiLCAweGVmLCAweDYwLCAweGUxLCAweDEyLCAweDA3LCAweDM2LCAweDIyLCAweGMwLAotICAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweDkwLCAweDdmLAotICAweGM0LCAweGU0LCAweGYwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDA0LCAweGYwLCAweGQwLCAweDg2LCAweGQwfX0sCi0gezB4MGIwNiwgNjQsIHsgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwKLSAgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHhkMiwgMHgwMiwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwKLSAgMHg3NCwgMHgwMSwgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwKLSAgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMH19LAotIHsweDBiNDYsIDY0LCB7IDB4ZDIsIDB4MDksIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDgsIDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsCi0gIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsCi0gIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsCi0gIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTUsIDB4MTgsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwYjg2LCA2NCwgeyAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDExLCAweGYwLCAweDkwLAotICAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweGU1LCAweDE4LCAweDU0LCAweDdmLCAweDkwLCAweGMwLAotICAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLAotICAweDdmLCAweDk4LCAweDc0LCAweDEyLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzfX0sCi0gezB4MGJjNiwgNjQsIHsgMHhmMCwgMHhlNSwgMHgxOCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwKLSAgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHhlNSwgMHgxOCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwKLSAgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NH19LAotIHsweDBjMDYsIDY0LCB7IDB4MTYsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTUsIDB4MTgsIDB4NTQsIDB4N2YsCi0gIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTUsIDB4MTgsIDB4NTQsIDB4N2YsIDB4OTAsCi0gIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTcsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsCi0gIDB4OTgsIDB4NzQsIDB4MTUsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWQsIDB4ZjAsIDB4MjIsIDB4MTIsIDB4MGQsIDB4MmMsIDB4OGYsIDB4MWR9fSwKLSB7MHgwYzQ2LCA2NCwgeyAweDEyLCAweDBkLCAweDJjLCAweDhmLCAweDFlLCAweGU1LCAweDFkLCAweDY1LCAweDFlLCAweDYwLCAweDEyLCAweDEyLCAweDBkLCAweDJjLCAweDhmLCAweDFkLCAweGU1LAotICAweDFkLCAweDY1LCAweDFlLCAweDYwLCAweDA3LCAweDEyLCAweDBkLCAweDJjLCAweDhmLCAweDFlLCAweDgwLCAweGU4LCAweGFmLCAweDFkLCAweDIyLCAweDkwLAotICAweDdmLCAweGQ2LCAweGUwLCAweDU0LCAweGZiLCAweGYwLCAweGUwLCAweDQ0LCAweDA4LCAweGYwLCAweDMwLCAweDE1LCAweDA0LCAweGUwLCAweDQ0LCAweDAyLAotICAweGYwLCAweDdmLCAweGY0LCAweDdlLCAweDAxLCAweDEyLCAweDBjLCAweGU3LCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDU0LCAweGY3LCAweGYwfX0sCi0gezB4MGM4NiwgNjQsIHsgMHhlMCwgMHg0NCwgMHgwNCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhkOCwgMHhlMCwgMHhmNSwgMHgxYywgMHgxMiwgMHgwNywgMHgzNiwgMHgxMiwgMHgwZCwgMHg1MCwKLSAgMHhlZiwgMHgzMCwgMHhlNiwgMHgwYiwgMHg5MCwgMHg3ZiwgMHhkOCwgMHhlMCwgMHg2NSwgMHgxYywgMHg2MCwgMHhmMSwgMHg3ZiwgMHgwMSwgMHgyMiwgMHgxMiwKLSAgMHgwMCwgMHgwMywgMHg3ZiwgMHgwMCwgMHgyMiwgMHhhZSwgMHgwNywgMHhlNCwgMHhmZiwgMHhlNSwgMHgxNSwgMHg1NCwgMHg3ZiwgMHhmZCwgMHgxMiwgMHgwYywKLSAgMHgxYywgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZSwgMHhmMCwgMHhlNCwgMHhlNSwgMHgxNX19LAotIHsweDBjYzYsIDY0LCB7IDB4NDQsIDB4ODAsIDB4ZmQsIDB4MTIsIDB4MGMsIDB4MWMsIDB4MjIsIDB4MDUsIDB4MjksIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDMsIDB4MmYsIDB4MDMsCi0gIDB4MDAsIDB4MDAsIDB4YzEsIDB4ODYsIDB4YzEsIDB4MDIsIDB4YzEsIDB4MDksIDB4YzEsIDB4MDEsIDB4YzEsIDB4MDcsIDB4MDEsIDB4MjUsIDB4MDAsIDB4MDAsCi0gIDB4OGUsIDB4MWMsIDB4OGYsIDB4MWQsIDB4ZTUsIDB4MWQsIDB4MTUsIDB4MWQsIDB4YWUsIDB4MWMsIDB4NzAsIDB4MDIsIDB4MTUsIDB4MWMsIDB4NGUsIDB4NjAsCi0gIDB4MDUsIDB4MTIsIDB4MDgsIDB4OTUsIDB4ODAsIDB4ZWUsIDB4MjIsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4N2Z9fSwKLSB7MHgwZDA2LCA2NCwgeyAweDBkLCAweDdlLCAweDAwLCAweDEyLCAweDBjLCAweGU3LCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDU0LCAweGZlLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LAotICAweDc0LCAweDExLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEyLCAweGYwLCAweDkwLAotICAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLAotICAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE0LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmfX0sCi0gezB4MGQ0NiwgNjQsIHsgMHg5OCwgMHg3NCwgMHgxNSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNiwgMHhmMCwgMHg5MCwKLSAgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg1MywgMHhkOCwgMHhlZiwgMHgzMiwgMHhkMiwgMHgwMSwgMHgyMiwgMHhjMiwgMHgwMSwgMHgyMiwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDBkODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgwZGM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDBiLCAweDEwLCAweDAwLCAweDAyLCAweDBlfX0sCi0gezB4MGUwNiwgNjQsIHsgMHgwNCwgMHgwMCwgMHgwMiwgMHgwYSwgMHhlNiwgMHgwMCwgMHgwMiwgMHgwYiwgMHgzNywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDBlNDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgwZTg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MGVjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDBmMDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgwZjQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MGY4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDBmYzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxMDA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTA0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDEwODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxMGM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTEwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDExNDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxMTg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTFjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDEyMDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxMjQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTI4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDEyYzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxMzA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTM0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDEzODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxM2M2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTQwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE0NDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNDg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTRjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE1MDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNTQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTU4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE1YzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNjA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTY0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE2ODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNmM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTcwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE3NDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNzg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTdjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE4MDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxODQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTg4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE4YzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MTIsIDB4MDEsIDB4MTAsIDB4MDEsIDB4ZmYsIDB4MDB9fSwKLSB7MHgxOTA2LCA2NCwgeyAweDAwLCAweDQwLCAweGNkLCAweDA2LCAweDA4LCAweDAxLCAweDAwLCAweDAwLCAweDAxLCAweDAyLCAweDAwLCAweDAyLCAweDA5LCAweDAyLCAweDc0LCAweDAwLCAweDAxLAotICAweDAxLCAweDAwLCAweGEwLCAweDMyLCAweDA5LCAweDA0LCAweDAwLCAweDAwLCAweDBlLCAweGZmLCAweDAwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAxLAotICAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAyLCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAzLCAweDAyLCAweDQwLAotICAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDA0LCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDA1LCAweDAyLCAweDQwLCAweDAwfX0sCi0gezB4MTk0NiwgNjQsIHsgMHgwMCwgMHgwNywgMHgwNSwgMHgwNiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwNywgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwKLSAgMHg4MSwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4MiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4MywgMHgwMiwKLSAgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4NCwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4NSwgMHgwMiwgMHg0MCwgMHgwMCwKLSAgMHgwMSwgMHgwNywgMHgwNSwgMHg4NiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4NywgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMX19LAotIHsweDE5ODYsIDY0LCB7IDB4MDQsIDB4MDMsIDB4MDksIDB4MDQsIDB4NDgsIDB4MDMsIDB4NGIsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzksIDB4MDAsIDB4NzMsIDB4MDAsIDB4NzAsIDB4MDAsIDB4NjEsCi0gIDB4MDAsIDB4NmUsIDB4MDAsIDB4MmMsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NjEsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NjQsIDB4MDAsIDB4NjksIDB4MDAsIDB4NzYsCi0gIDB4MDAsIDB4NjksIDB4MDAsIDB4NzMsIDB4MDAsIDB4NjksIDB4MDAsIDB4NmYsIDB4MDAsIDB4NmUsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NmYsIDB4MDAsIDB4NjYsCi0gIDB4MDAsIDB4MjAsIDB4MDAsIDB4NDksIDB4MDAsIDB4NmUsIDB4MDAsIDB4NmUsIDB4MDAsIDB4NmYsIDB4MDAsIDB4NTMsIDB4MDAsIDB4NzksIDB4MDB9fSwKLSB7MHgxOWM2LCA2NCwgeyAweDczLCAweDAwLCAweDIwLCAweDAwLCAweDQ5LCAweDAwLCAweDZlLCAweDAwLCAweDYzLCAweDAwLCAweDJlLCAweDAwLCAweDM2LCAweDAzLCAweDRiLCAweDAwLCAweDY1LAotICAweDAwLCAweDc5LCAweDAwLCAweDczLCAweDAwLCAweDcwLCAweDAwLCAweDYxLCAweDAwLCAweDZlLCAweDAwLCAweDIwLCAweDAwLCAweDU1LCAweDAwLCAweDUzLAotICAweDAwLCAweDQyLCAweDAwLCAweDIwLCAweDAwLCAweDUzLCAweDAwLCAweDY1LCAweDAwLCAweDcyLCAweDAwLCAweDY5LCAweDAwLCAweDYxLCAweDAwLCAweDZjLAotICAweDAwLCAweDIwLCAweDAwLCAweDQxLCAweDAwLCAweDY0LCAweDAwLCAweDYxLCAweDAwLCAweDcwLCAweDAwLCAweDc0LCAweDAwLCAweDY1LCAweDAwfX0sCi0gezB4MWEwNiwgIDQsIHsgMHg3MiwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweGZmZmYsCTAsCXsweDAwfSB9Ci19OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fdXNhMjhfZncuaCBiL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3VzYTI4X2Z3LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg0OGIwYTIuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fdXNhMjhfZncuaAorKysgL2Rldi9udWxsCkBAIC0xLDQ2NiArMCwwIEBACi0vKiBrZXlzcGFuX3VzYTI4X2Z3LmgKLQotCVRoZSBmaXJtd2FyZSBjb250YWluZWQgaGVyZWluIGFzIGtleXNwYW5fdXNhMjhfZncuaCBpcwotCi0JCUNvcHlyaWdodCAoQykgMTk5OS0yMDAxCi0JCUtleXNwYW4sIEEgZGl2aXNpb24gb2YgSW5ub1N5cyBJbmNvcnBvcmF0ZWQgKCJLZXlzcGFuIikKLQkJCi0JYXMgYW4gdW5wdWJsaXNoZWQgd29yay4gVGhpcyBub3RpY2UgZG9lcyBub3QgaW1wbHkgdW5yZXN0cmljdGVkIG9yCi0JcHVibGljIGFjY2VzcyB0byB0aGUgc291cmNlIGNvZGUgZnJvbSB3aGljaCB0aGlzIGZpcm13YXJlIGltYWdlIGlzCi0JZGVyaXZlZC4gIEV4Y2VwdCBhcyBub3RlZCBiZWxvdyB0aGlzIGZpcm13YXJlIGltYWdlIG1heSBub3QgYmUgCi0JcmVwcm9kdWNlZCwgdXNlZCwgc29sZCBvciB0cmFuc2ZlcnJlZCB0byBhbnkgdGhpcmQgcGFydHkgd2l0aG91dCAKLQlLZXlzcGFuJ3MgcHJpb3Igd3JpdHRlbiBjb25zZW50LiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLQotCVBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQgZm9yIHRoZSBkaXN0cmlidXRpb24gb2YgdGhpcyBmaXJtd2FyZSAKLQlpbWFnZSBhcyBwYXJ0IG9mIGEgTGludXggb3Igb3RoZXIgT3BlbiBTb3VyY2Ugb3BlcmF0aW5nIHN5c3RlbSBrZXJuZWwgCi0JaW4gdGV4dCBvciBiaW5hcnkgZm9ybSBhcyByZXF1aXJlZC4gCi0KLQlUaGlzIGZpcm13YXJlIG1heSBub3QgYmUgbW9kaWZpZWQgYW5kIG1heSBvbmx5IGJlIHVzZWQgd2l0aCAgCi0JS2V5c3BhbiBoYXJkd2FyZS4gIERpc3RyaWJ1dGlvbiBhbmQvb3IgTW9kaWZpY2F0aW9uIG9mIHRoZSAKLQlrZXlzcGFuLmMgZHJpdmVyIHdoaWNoIGluY2x1ZGVzIHRoaXMgZmlybXdhcmUsIGluIHdob2xlIG9yIGluIAotCXBhcnQsIHJlcXVpcmVzIHRoZSBpbmNsdXNpb24gb2YgdGhpcyBzdGF0ZW1lbnQuIgotCi0qLwotCi1zdGF0aWMgY29uc3Qgc3RydWN0IGV6dXNiX2hleF9yZWNvcmQga2V5c3Bhbl91c2EyOF9maXJtd2FyZVtdID0gewotIHsweDAwMjYsIDEwLCB7IDB4MTIsIDB4MTcsIDB4ZGIsIDB4MTIsIDB4MTgsIDB4YjUsIDB4MTIsIDB4MTQsIDB4YzMsIDB4MjJ9fSwKLSB7MHgwMDMzLCAgMywgeyAweDAyLCAweDAwLCAweDFkfX0sCi0gezB4MDAxZCwgIDQsIHsgMHg1MywgMHhkOCwgMHhlZiwgMHgzMn19LAotIHsweDAwMDYsIDE2LCB7IDB4OGUsIDB4MTIsIDB4OGYsIDB4MTMsIDB4ZTUsIDB4MTMsIDB4MTUsIDB4MTMsIDB4YWUsIDB4MTIsIDB4NzAsIDB4MDIsIDB4MTUsIDB4MTIsIDB4NGUsIDB4NjB9fSwKLSB7MHgwMDE2LCAgNywgeyAweDA1LCAweDEyLCAweDE4LCAweGE0LCAweDgwLCAweGVlLCAweDIyfX0sCi0gezB4MDAwMywgIDMsIHsgMHgwMiwgMHgwMCwgMHg0Nn19LAotIHsweDAwNDYsIDE2LCB7IDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4YzAsIDB4ZDAsIDB4NzUsIDB4ZDAsIDB4MDh9fSwKLSB7MHgwMDU2LCAxNiwgeyAweDMwLCAweDk5LCAweDBlLCAweDMwLCAweDExLCAweDA3LCAweGEyLCAweDE3LCAweDkyLCAweDliLCAweDg1LCAweDQ2LCAweDk5LCAweGMyLCAweDk5LCAweGQyfX0sCi0gezB4MDA2NiwgMTYsIHsgMHgxZiwgMHgzMCwgMHhjMSwgMHgwZSwgMHgzMCwgMHgxMiwgMHgwNywgMHhhMiwgMHgxOCwgMHg5MiwgMHhjMywgMHg4NSwgMHg0NywgMHhjMSwgMHhjMiwgMHhjMX19LAotIHsweDAwNzYsIDE2LCB7IDB4ZDIsIDB4MjAsIDB4MjAsIDB4MWYsIDB4MDMsIDB4MDIsIDB4MDQsIDB4NDIsIDB4YzIsIDB4MWYsIDB4MjAsIDB4MDMsIDB4MDMsIDB4MDIsIDB4MDIsIDB4Njd9fSwKLSB7MHgwMDg2LCAxNiwgeyAweDIwLCAweDExLCAweDAzLCAweDAyLCAweDAxLCAweDM4LCAweGU1LCAweDRhLCAweGMzLCAweDk1LCAweDdjLCAweDUwLCAweDNlLCAweDIwLCAweDEzLCAweDM2fX0sCi0gezB4MDA5NiwgMTYsIHsgMHgyMCwgMHgwYiwgMHgzMywgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHgyMCwgMHhlMywgMHgwMywgMHgyMCwgMHgxYywgMHgyOSwgMHgzMCwgMHgxYiwgMHgxMn19LAotIHsweDAwYTYsIDE2LCB7IDB4YWUsIDB4NGEsIDB4MDUsIDB4NGEsIDB4NzQsIDB4NDAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTN9fSwKLSB7MHgwMGI2LCAxNiwgeyAweDkyLCAweDE3LCAweGFlLCAweDRhLCAweDA1LCAweDRhLCAweDc0LCAweDQwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzfX0sCi0gezB4MDBjNiwgMTYsIHsgMHhlMCwgMHhmNSwgMHg0NiwgMHgwMiwgMHgwNCwgMHg0MCwgMHhjMiwgMHgxMSwgMHgwMiwgMHgwNCwgMHg0MCwgMHg5MCwgMHg3ZiwgMHhjNywgMHhlNCwgMHhmMH19LAotIHsweDAwZDYsIDE2LCB7IDB4YzIsIDB4MDMsIDB4MzAsIDB4MTUsIDB4MGMsIDB4YzIsIDB4MTUsIDB4OTAsIDB4N2YsIDB4YmYsIDB4MDQsIDB4ZjAsIDB4YzIsIDB4MTEsIDB4MDIsIDB4MDR9fSwKLSB7MHgwMGU2LCAxNiwgeyAweDQwLCAweDkwLCAweDdmLCAweGM4LCAweGUwLCAweDMwLCAweGUxLCAweDA1LCAweGMyLCAweDExLCAweDAyLCAweDA0LCAweDQwLCAweDkwLCAweDdmLCAweGM5fX0sCi0gezB4MDBmNiwgMTYsIHsgMHhlMCwgMHhmNSwgMHg3YywgMHg5MCwgMHg3ZCwgMHhjMCwgMHhlMCwgMHgxMywgMHg5MiwgMHgxNSwgMHgyMCwgMHgxMywgMHgyZCwgMHgyMCwgMHgwYiwgMHgyYX19LAotIHsweDAwNDMsICAzLCB7IDB4MDIsIDB4MWIsIDB4MDB9fSwKLSB7MHgwMDIzLCAgMywgeyAweDAyLCAweDAwLCAweDQ2fX0sCi0gezB4MDAzYiwgIDMsIHsgMHgwMiwgMHgwMCwgMHg0Nn19LAotIHsweDAwMDAsICAzLCB7IDB4MDIsIDB4MTYsIDB4M2R9fSwKLSB7MHgwMTA2LCA2NCwgeyAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDIwLCAweGUzLCAweDAzLCAweDIwLCAweDFjLCAweDIwLCAweDMwLCAweDFiLCAweDExLCAweDkwLCAweDdkLCAweGMxLCAweGUwLAotICAweDEzLCAweDkyLCAweDE3LCAweGEzLCAweGUwLCAweGY1LCAweDQ2LCAweDc1LCAweDRhLCAweDAzLCAweDAyLCAweDA0LCAweDQwLCAweDc1LCAweDRhLCAweDAyLAotICAweDkwLCAweDdkLCAweGMxLCAweGUwLCAweGY1LCAweDQ2LCAweDAyLCAweDA0LCAweDQwLCAweDc1LCAweDRhLCAweDAxLCAweGMyLCAweDExLCAweDAyLCAweDA0LAotICAweDQwLCAweGU1LCAweDRhLCAweGMzLCAweDk1LCAweDdjLCAweDUwLCAweDAzLCAweDAyLCAweDAxLCAweGUwLCAweDkwLCAweDdmLCAweGM2LCAweGUwfX0sCi0gezB4MDE0NiwgNjQsIHsgMHgzMCwgMHhlMSwgMHgwNywgMHhjMiwgMHgyMSwgMHhjMiwgMHgwNSwgMHgwMiwgMHgwNCwgMHg0MCwgMHg5MCwgMHg3ZiwgMHhjNywgMHhlMCwgMHhmNSwgMHg3YywgMHg5MCwKLSAgMHg3ZSwgMHg0MCwgMHhlMCwgMHgxMywgMHg5MiwgMHgxNSwgMHgzMCwgMHgxMywgMHgwMywgMHgwMiwgMHgwMSwgMHhkOCwgMHgyMCwgMHgwYiwgMHg3MiwgMHgyMCwKLSAgMHgwMCwgMHg2ZiwgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHgyMCwgMHhlMywgMHgwMywgMHgyMCwgMHgxYywgMHg2NSwgMHgzMCwgMHgxYiwgMHgxMCwgMHg5MCwKLSAgMHg3ZSwgMHg0MSwgMHhlMCwgMHgxMywgMHg5MiwgMHg5YiwgMHhhMywgMHhlMCwgMHhmNSwgMHg5OSwgMHg3NSwgMHg0YSwgMHgwMywgMHg4MCwgMHgwOX19LAotIHsweDAxODYsIDY0LCB7IDB4OTAsIDB4N2UsIDB4NDEsIDB4ZTAsIDB4ZjUsIDB4OTksIDB4NzUsIDB4NGEsIDB4MDIsIDB4ZTUsIDB4NGEsIDB4YzMsIDB4OTUsIDB4N2MsIDB4NDAsIDB4MTcsIDB4OTAsCi0gIDB4N2YsIDB4YzcsIDB4ZTQsIDB4ZjAsIDB4YzIsIDB4MDMsIDB4MjAsIDB4MTUsIDB4MDMsIDB4MDIsIDB4MDQsIDB4NDAsIDB4YzIsIDB4MTUsIDB4OTAsIDB4N2YsCi0gIDB4YmYsIDB4MDQsIDB4ZjAsIDB4MDIsIDB4MDQsIDB4NDAsIDB4MzAsIDB4MWIsIDB4MTIsIDB4YWUsIDB4NGEsIDB4MDUsIDB4NGEsIDB4NzQsIDB4NDAsIDB4MmUsCi0gIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MTcsIDB4YWUsIDB4NGEsIDB4MDUsIDB4NGF9fSwKLSB7MHgwMWM2LCA2NCwgeyAweDc0LCAweDQwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweDQ2LCAweGQyLCAweDExLCAweDAyLCAweDA0LAotICAweDQwLCAweDc1LCAweDRhLCAweDAxLCAweGMyLCAweDIxLCAweDAyLCAweDA0LCAweDQwLCAweDMwLCAweDEzLCAweDAzLCAweDAyLCAweDAyLCAweDYyLCAweDIwLAotICAweDBiLCAweDc5LCAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDIwLCAweGUzLCAweDAzLCAweDIwLCAweDFjLCAweDZmLCAweDMwLCAweDFiLCAweDEyLCAweGFlLAotICAweDRhLCAweDA1LCAweDRhLCAweDc0LCAweDQwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGUwLCAweDEzfX0sCi0gezB4MDIwNiwgNjQsIHsgMHg5MiwgMHg5YiwgMHhhZSwgMHg0YSwgMHgwNSwgMHg0YSwgMHg3NCwgMHg0MCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlMCwKLSAgMHhmNSwgMHg5OSwgMHhlNSwgMHg0YSwgMHhjMywgMHg5NSwgMHg3YywgMHg0MCwgMHgxNywgMHg5MCwgMHg3ZiwgMHhjNywgMHhlNCwgMHhmMCwgMHhjMiwgMHgwMywKLSAgMHgyMCwgMHgxNSwgMHgwMywgMHgwMiwgMHgwNCwgMHg0MCwgMHhjMiwgMHgxNSwgMHg5MCwgMHg3ZiwgMHhiZiwgMHgwNCwgMHhmMCwgMHgwMiwgMHgwNCwgMHg0MCwKLSAgMHgzMCwgMHgxYiwgMHgxMiwgMHhhZSwgMHg0YSwgMHgwNSwgMHg0YSwgMHg3NCwgMHg0MCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZX19LAotIHsweDAyNDYsIDY0LCB7IDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MTcsIDB4YWUsIDB4NGEsIDB4MDUsIDB4NGEsIDB4NzQsIDB4NDAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsCi0gIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4NDYsIDB4ZDIsIDB4MTEsIDB4MDIsIDB4MDQsIDB4NDAsIDB4YzIsIDB4MjEsIDB4MDIsIDB4MDQsIDB4NDAsCi0gIDB4MjAsIDB4MTEsIDB4MDMsIDB4MDIsIDB4MDMsIDB4MTksIDB4ZTUsIDB4NGEsIDB4YzMsIDB4OTUsIDB4N2MsIDB4NTAsIDB4M2UsIDB4MjAsIDB4MTMsIDB4MzYsCi0gIDB4MjAsIDB4MGIsIDB4MzMsIDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4MjAsIDB4ZTMsIDB4MDMsIDB4MjAsIDB4MWMsIDB4MjksIDB4MzAsIDB4MWJ9fSwKLSB7MHgwMjg2LCA2NCwgeyAweDEyLCAweGFlLCAweDRhLCAweDA1LCAweDRhLCAweDc0LCAweGMwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweDEzLAotICAweDkyLCAweDE3LCAweGFlLCAweDRhLCAweDA1LCAweDRhLCAweDc0LCAweGMwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLAotICAweGUwLCAweGY1LCAweDQ2LCAweDAyLCAweDA0LCAweDQwLCAweGMyLCAweDExLCAweDAyLCAweDA0LCAweDQwLCAweDkwLCAweDdmLCAweGM5LCAweGU0LCAweGYwLAotICAweGQyLCAweDAzLCAweDMwLCAweDE1LCAweDBjLCAweGMyLCAweDE1LCAweDkwLCAweDdmLCAweGJmLCAweDA0LCAweGYwLCAweGMyLCAweDExLCAweDAyfX0sCi0gezB4MDJjNiwgNjQsIHsgMHgwNCwgMHg0MCwgMHg5MCwgMHg3ZiwgMHhjNiwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwNSwgMHhjMiwgMHgxMSwgMHgwMiwgMHgwNCwgMHg0MCwgMHg5MCwgMHg3ZiwgMHhjNywKLSAgMHhlMCwgMHhmNSwgMHg3YywgMHg5MCwgMHg3ZSwgMHg0MCwgMHhlMCwgMHgxMywgMHg5MiwgMHgxNSwgMHgyMCwgMHgxMywgMHgyZCwgMHgyMCwgMHgwYiwgMHgyYSwKLSAgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHgyMCwgMHhlMywgMHgwMywgMHgyMCwgMHgxYywgMHgyMCwgMHgzMCwgMHgxYiwgMHgxMSwgMHg5MCwgMHg3ZSwgMHg0MSwKLSAgMHhlMCwgMHgxMywgMHg5MiwgMHgxNywgMHhhMywgMHhlMCwgMHhmNSwgMHg0NiwgMHg3NSwgMHg0YSwgMHgwMywgMHgwMiwgMHgwNCwgMHg0MCwgMHg3NX19LAotIHsweDAzMDYsIDY0LCB7IDB4NGEsIDB4MDIsIDB4OTAsIDB4N2UsIDB4NDEsIDB4ZTAsIDB4ZjUsIDB4NDYsIDB4MDIsIDB4MDQsIDB4NDAsIDB4NzUsIDB4NGEsIDB4MDEsIDB4YzIsIDB4MTEsIDB4MDIsCi0gIDB4MDQsIDB4NDAsIDB4ZTUsIDB4NGEsIDB4YzMsIDB4OTUsIDB4N2MsIDB4NTAsIDB4MDMsIDB4MDIsIDB4MDMsIDB4YzEsIDB4OTAsIDB4N2YsIDB4YzgsIDB4ZTAsCi0gIDB4MzAsIDB4ZTEsIDB4MDcsIDB4YzIsIDB4MjEsIDB4YzIsIDB4MDUsIDB4MDIsIDB4MDQsIDB4NDAsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZTAsIDB4ZjUsIDB4N2MsCi0gIDB4OTAsIDB4N2QsIDB4YzAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MTUsIDB4MzAsIDB4MTMsIDB4MDMsIDB4MDIsIDB4MDMsIDB4YjksIDB4MjAsIDB4MGJ9fSwKLSB7MHgwMzQ2LCA2NCwgeyAweDcyLCAweDIwLCAweDAwLCAweDZmLCAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDIwLCAweGUzLCAweDAzLCAweDIwLCAweDFjLCAweDY1LCAweDMwLCAweDFiLCAweDEwLAotICAweDkwLCAweDdkLCAweGMxLCAweGUwLCAweDEzLCAweDkyLCAweDliLCAweGEzLCAweGUwLCAweGY1LCAweDk5LCAweDc1LCAweDRhLCAweDAzLCAweDgwLCAweDA5LAotICAweDkwLCAweDdkLCAweGMxLCAweGUwLCAweGY1LCAweDk5LCAweDc1LCAweDRhLCAweDAyLCAweGU1LCAweDRhLCAweGMzLCAweDk1LCAweDdjLCAweDQwLCAweDE3LAotICAweDkwLCAweDdmLCAweGM5LCAweGU0LCAweGYwLCAweGQyLCAweDAzLCAweDIwLCAweDE1LCAweDAzLCAweDAyLCAweDA0LCAweDQwLCAweGMyLCAweDE1fX0sCi0gezB4MDM4NiwgNjQsIHsgMHg5MCwgMHg3ZiwgMHhiZiwgMHgwNCwgMHhmMCwgMHgwMiwgMHgwNCwgMHg0MCwgMHgzMCwgMHgxYiwgMHgxMiwgMHhhZSwgMHg0YSwgMHgwNSwgMHg0YSwgMHg3NCwgMHhjMCwKLSAgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwgMHgxNywgMHhhZSwgMHg0YSwgMHgwNSwgMHg0YSwKLSAgMHg3NCwgMHhjMCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHg0NiwgMHhkMiwgMHgxMSwgMHgwMiwKLSAgMHgwNCwgMHg0MCwgMHg3NSwgMHg0YSwgMHgwMSwgMHhjMiwgMHgyMSwgMHgwMiwgMHgwNCwgMHg0MCwgMHgzMCwgMHgxMywgMHgwMywgMHgwMiwgMHgwNH19LAotIHsweDAzYzYsIDY0LCB7IDB4M2UsIDB4MjAsIDB4MGIsIDB4NzQsIDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4MjAsIDB4ZTMsIDB4MDMsIDB4MjAsIDB4MWMsIDB4NmEsIDB4MzAsIDB4MWIsIDB4MTIsCi0gIDB4YWUsIDB4NGEsIDB4MDUsIDB4NGEsIDB4NzQsIDB4YzAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsCi0gIDB4OTIsIDB4OWIsIDB4YWUsIDB4NGEsIDB4MDUsIDB4NGEsIDB4NzQsIDB4YzAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsCi0gIDB4ZTAsIDB4ZjUsIDB4OTksIDB4ZTUsIDB4NGEsIDB4YzMsIDB4OTUsIDB4N2MsIDB4NDAsIDB4MTMsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZTQsIDB4ZjB9fSwKLSB7MHgwNDA2LCA2NCwgeyAweGQyLCAweDAzLCAweDMwLCAweDE1LCAweDM1LCAweGMyLCAweDE1LCAweDkwLCAweDdmLCAweGJmLCAweDA0LCAweGYwLCAweDgwLCAweDJjLCAweDMwLCAweDFiLCAweDEyLAotICAweGFlLCAweDRhLCAweDA1LCAweDRhLCAweDc0LCAweGMwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweDEzLAotICAweDkyLCAweDE3LCAweGFlLCAweDRhLCAweDA1LCAweDRhLCAweDc0LCAweGMwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLAotICAweGUwLCAweGY1LCAweDQ2LCAweGQyLCAweDExLCAweDgwLCAweDAyLCAweGMyLCAweDIxLCAweGQyLCAweDI1LCAweDIwLCAweDIwLCAweDAzLCAweDAyfX0sCi0gezB4MDQ0NiwgNjQsIHsgMHgwOCwgMHgwYywgMHhjMiwgMHgyMCwgMHgyMCwgMHgwNCwgMHgwMywgMHgwMiwgMHgwNiwgMHgzMSwgMHgyMCwgMHgxMiwgMHgwMywgMHgwMiwgMHgwNSwgMHgwMiwgMHhlNSwKLSAgMHg0YiwgMHhjMywgMHg5NSwgMHg3ZCwgMHg1MCwgMHgzZSwgMHgyMCwgMHgxNCwgMHgzNiwgMHgyMCwgMHgwZCwgMHgzMywgMHg5MCwgMHg3ZiwgMHg5YSwgMHhlMCwKLSAgMHgyMCwgMHhlNSwgMHgwMywgMHgyMCwgMHgxZSwgMHgyOSwgMHgzMCwgMHgxZCwgMHgxMiwgMHhhZSwgMHg0YiwgMHgwNSwgMHg0YiwgMHg3NCwgMHg0MCwgMHgyZSwKLSAgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwgMHgxOCwgMHhhZSwgMHg0YiwgMHgwNSwgMHg0Yn19LAotIHsweDA0ODYsIDY0LCB7IDB4NzQsIDB4NDAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4NDcsIDB4MDIsIDB4MDgsIDB4MGEsIDB4YzIsCi0gIDB4MTIsIDB4MDIsIDB4MDgsIDB4MGEsIDB4OTAsIDB4N2YsIDB4Y2IsIDB4ZTQsIDB4ZjAsIDB4YzIsIDB4MDQsIDB4MzAsIDB4MTYsIDB4MGMsIDB4YzIsIDB4MTYsCi0gIDB4OTAsIDB4N2YsIDB4YzEsIDB4MDQsIDB4ZjAsIDB4YzIsIDB4MTIsIDB4MDIsIDB4MDgsIDB4MGEsIDB4OTAsIDB4N2YsIDB4Y2MsIDB4ZTAsIDB4MzAsIDB4ZTEsCi0gIDB4MDUsIDB4YzIsIDB4MTIsIDB4MDIsIDB4MDgsIDB4MGEsIDB4OTAsIDB4N2YsIDB4Y2QsIDB4ZTAsIDB4ZjUsIDB4N2QsIDB4OTAsIDB4N2MsIDB4YzB9fSwKLSB7MHgwNGM2LCA2NCwgeyAweGUwLCAweDEzLCAweDkyLCAweDE2LCAweDIwLCAweDE0LCAweDJkLCAweDIwLCAweDBkLCAweDJhLCAweDkwLCAweDdmLCAweDlhLCAweGUwLCAweDIwLCAweGU1LCAweDAzLAotICAweDIwLCAweDFlLCAweDIwLCAweDMwLCAweDFkLCAweDExLCAweDkwLCAweDdjLCAweGMxLCAweGUwLCAweDEzLCAweDkyLCAweDE4LCAweGEzLCAweGUwLCAweGY1LAotICAweDQ3LCAweDc1LCAweDRiLCAweDAzLCAweDAyLCAweDA4LCAweDBhLCAweDc1LCAweDRiLCAweDAyLCAweDkwLCAweDdjLCAweGMxLCAweGUwLCAweGY1LCAweDQ3LAotICAweDAyLCAweDA4LCAweDBhLCAweDc1LCAweDRiLCAweDAxLCAweGMyLCAweDEyLCAweDAyLCAweDA4LCAweDBhLCAweGU1LCAweDRiLCAweGMzLCAweDk1fX0sCi0gezB4MDUwNiwgNjQsIHsgMHg3ZCwgMHg1MCwgMHgwMywgMHgwMiwgMHgwNSwgMHhhYSwgMHg5MCwgMHg3ZiwgMHhjYSwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwNywgMHhjMiwgMHgyMiwgMHhjMiwgMHgwNiwKLSAgMHgwMiwgMHgwOCwgMHgwYSwgMHg5MCwgMHg3ZiwgMHhjYiwgMHhlMCwgMHhmNSwgMHg3ZCwgMHg5MCwgMHg3ZCwgMHg0MCwgMHhlMCwgMHgxMywgMHg5MiwgMHgxNiwKLSAgMHgzMCwgMHgxNCwgMHgwMywgMHgwMiwgMHgwNSwgMHhhMiwgMHgyMCwgMHgwZCwgMHg3MiwgMHgyMCwgMHgwMCwgMHg2ZiwgMHg5MCwgMHg3ZiwgMHg5YSwgMHhlMCwKLSAgMHgyMCwgMHhlNSwgMHgwMywgMHgyMCwgMHgxZSwgMHg2NSwgMHgzMCwgMHgxZCwgMHgxMCwgMHg5MCwgMHg3ZCwgMHg0MSwgMHhlMCwgMHgxMywgMHg5Mn19LAotIHsweDA1NDYsIDY0LCB7IDB4YzMsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4YzEsIDB4NzUsIDB4NGIsIDB4MDMsIDB4ODAsIDB4MDksIDB4OTAsIDB4N2QsIDB4NDEsIDB4ZTAsIDB4ZjUsIDB4YzEsIDB4NzUsCi0gIDB4NGIsIDB4MDIsIDB4ZTUsIDB4NGIsIDB4YzMsIDB4OTUsIDB4N2QsIDB4NDAsIDB4MTcsIDB4OTAsIDB4N2YsIDB4Y2IsIDB4ZTQsIDB4ZjAsIDB4YzIsIDB4MDQsCi0gIDB4MjAsIDB4MTYsIDB4MDMsIDB4MDIsIDB4MDgsIDB4MGEsIDB4YzIsIDB4MTYsIDB4OTAsIDB4N2YsIDB4YzEsIDB4MDQsIDB4ZjAsIDB4MDIsIDB4MDgsIDB4MGEsCi0gIDB4MzAsIDB4MWQsIDB4MTIsIDB4YWUsIDB4NGIsIDB4MDUsIDB4NGIsIDB4NzQsIDB4NDAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2R9fSwKLSB7MHgwNTg2LCA2NCwgeyAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyLCAweDE4LCAweGFlLCAweDRiLCAweDA1LCAweDRiLCAweDc0LCAweDQwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LAotICAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweDQ3LCAweGQyLCAweDEyLCAweDAyLCAweDA4LCAweDBhLCAweDc1LCAweDRiLCAweDAxLCAweGMyLCAweDIyLAotICAweDAyLCAweDA4LCAweDBhLCAweDMwLCAweDE0LCAweDAzLCAweDAyLCAweDA2LCAweDJjLCAweDIwLCAweDBkLCAweDc5LCAweDkwLCAweDdmLCAweDlhLCAweGUwLAotICAweDIwLCAweGU1LCAweDAzLCAweDIwLCAweDFlLCAweDZmLCAweDMwLCAweDFkLCAweDEyLCAweGFlLCAweDRiLCAweDA1LCAweDRiLCAweDc0LCAweDQwfX0sCi0gezB4MDVjNiwgNjQsIHsgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwgMHhjMywgMHhhZSwgMHg0YiwgMHgwNSwgMHg0YiwgMHg3NCwKLSAgMHg0MCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHhjMSwgMHhlNSwgMHg0YiwgMHhjMywgMHg5NSwKLSAgMHg3ZCwgMHg0MCwgMHgxNywgMHg5MCwgMHg3ZiwgMHhjYiwgMHhlNCwgMHhmMCwgMHhjMiwgMHgwNCwgMHgyMCwgMHgxNiwgMHgwMywgMHgwMiwgMHgwOCwgMHgwYSwKLSAgMHhjMiwgMHgxNiwgMHg5MCwgMHg3ZiwgMHhjMSwgMHgwNCwgMHhmMCwgMHgwMiwgMHgwOCwgMHgwYSwgMHgzMCwgMHgxZCwgMHgxMiwgMHhhZSwgMHg0Yn19LAotIHsweDA2MDYsIDY0LCB7IDB4MDUsIDB4NGIsIDB4NzQsIDB4NDAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MTgsIDB4YWUsCi0gIDB4NGIsIDB4MDUsIDB4NGIsIDB4NzQsIDB4NDAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4NDcsCi0gIDB4ZDIsIDB4MTIsIDB4MDIsIDB4MDgsIDB4MGEsIDB4YzIsIDB4MjIsIDB4MDIsIDB4MDgsIDB4MGEsIDB4MjAsIDB4MTIsIDB4MDMsIDB4MDIsIDB4MDYsIDB4ZTMsCi0gIDB4ZTUsIDB4NGIsIDB4YzMsIDB4OTUsIDB4N2QsIDB4NTAsIDB4M2UsIDB4MjAsIDB4MTQsIDB4MzYsIDB4MjAsIDB4MGQsIDB4MzMsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwNjQ2LCA2NCwgeyAweDlhLCAweGUwLCAweDIwLCAweGU1LCAweDAzLCAweDIwLCAweDFlLCAweDI5LCAweDMwLCAweDFkLCAweDEyLCAweGFlLCAweDRiLCAweDA1LCAweDRiLCAweDc0LCAweGMwLAotICAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdjLCAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyLCAweDE4LCAweGFlLCAweDRiLCAweDA1LCAweDRiLAotICAweDc0LCAweGMwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdjLCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweDQ3LCAweDAyLCAweDA4LCAweDBhLAotICAweGMyLCAweDEyLCAweDAyLCAweDA4LCAweDBhLCAweDkwLCAweDdmLCAweGNkLCAweGU0LCAweGYwLCAweGQyLCAweDA0LCAweDMwLCAweDE2LCAweDBjfX0sCi0gezB4MDY4NiwgNjQsIHsgMHhjMiwgMHgxNiwgMHg5MCwgMHg3ZiwgMHhjMSwgMHgwNCwgMHhmMCwgMHhjMiwgMHgxMiwgMHgwMiwgMHgwOCwgMHgwYSwgMHg5MCwgMHg3ZiwgMHhjYSwgMHhlMCwgMHgzMCwKLSAgMHhlMSwgMHgwNSwgMHhjMiwgMHgxMiwgMHgwMiwgMHgwOCwgMHgwYSwgMHg5MCwgMHg3ZiwgMHhjYiwgMHhlMCwgMHhmNSwgMHg3ZCwgMHg5MCwgMHg3ZCwgMHg0MCwKLSAgMHhlMCwgMHgxMywgMHg5MiwgMHgxNiwgMHgyMCwgMHgxNCwgMHgyZCwgMHgyMCwgMHgwZCwgMHgyYSwgMHg5MCwgMHg3ZiwgMHg5YSwgMHhlMCwgMHgyMCwgMHhlNSwKLSAgMHgwMywgMHgyMCwgMHgxZSwgMHgyMCwgMHgzMCwgMHgxZCwgMHgxMSwgMHg5MCwgMHg3ZCwgMHg0MSwgMHhlMCwgMHgxMywgMHg5MiwgMHgxOCwgMHhhM319LAotIHsweDA2YzYsIDY0LCB7IDB4ZTAsIDB4ZjUsIDB4NDcsIDB4NzUsIDB4NGIsIDB4MDMsIDB4MDIsIDB4MDgsIDB4MGEsIDB4NzUsIDB4NGIsIDB4MDIsIDB4OTAsIDB4N2QsIDB4NDEsIDB4ZTAsIDB4ZjUsCi0gIDB4NDcsIDB4MDIsIDB4MDgsIDB4MGEsIDB4NzUsIDB4NGIsIDB4MDEsIDB4YzIsIDB4MTIsIDB4MDIsIDB4MDgsIDB4MGEsIDB4ZTUsIDB4NGIsIDB4YzMsIDB4OTUsCi0gIDB4N2QsIDB4NTAsIDB4MDMsIDB4MDIsIDB4MDcsIDB4OGIsIDB4OTAsIDB4N2YsIDB4Y2MsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDcsIDB4YzIsIDB4MjIsIDB4YzIsCi0gIDB4MDYsIDB4MDIsIDB4MDgsIDB4MGEsIDB4OTAsIDB4N2YsIDB4Y2QsIDB4ZTAsIDB4ZjUsIDB4N2QsIDB4OTAsIDB4N2MsIDB4YzAsIDB4ZTAsIDB4MTN9fSwKLSB7MHgwNzA2LCA2NCwgeyAweDkyLCAweDE2LCAweDMwLCAweDE0LCAweDAzLCAweDAyLCAweDA3LCAweDgzLCAweDIwLCAweDBkLCAweDcyLCAweDIwLCAweDAwLCAweDZmLCAweDkwLCAweDdmLCAweDlhLAotICAweGUwLCAweDIwLCAweGU1LCAweDAzLCAweDIwLCAweDFlLCAweDY1LCAweDMwLCAweDFkLCAweDEwLCAweDkwLCAweDdjLCAweGMxLCAweGUwLCAweDEzLCAweDkyLAotICAweGMzLCAweGEzLCAweGUwLCAweGY1LCAweGMxLCAweDc1LCAweDRiLCAweDAzLCAweDgwLCAweDA5LCAweDkwLCAweDdjLCAweGMxLCAweGUwLCAweGY1LCAweGMxLAotICAweDc1LCAweDRiLCAweDAyLCAweGU1LCAweDRiLCAweGMzLCAweDk1LCAweDdkLCAweDQwLCAweDE3LCAweDkwLCAweDdmLCAweGNkLCAweGU0LCAweGYwfX0sCi0gezB4MDc0NiwgNjQsIHsgMHhkMiwgMHgwNCwgMHgyMCwgMHgxNiwgMHgwMywgMHgwMiwgMHgwOCwgMHgwYSwgMHhjMiwgMHgxNiwgMHg5MCwgMHg3ZiwgMHhjMSwgMHgwNCwgMHhmMCwgMHgwMiwgMHgwOCwKLSAgMHgwYSwgMHgzMCwgMHgxZCwgMHgxMiwgMHhhZSwgMHg0YiwgMHgwNSwgMHg0YiwgMHg3NCwgMHhjMCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YywKLSAgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwgMHgxOCwgMHhhZSwgMHg0YiwgMHgwNSwgMHg0YiwgMHg3NCwgMHhjMCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwKLSAgMHgzNCwgMHg3YywgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHg0NywgMHhkMiwgMHgxMiwgMHgwMiwgMHgwOCwgMHgwYSwgMHg3NSwgMHg0YiwgMHgwMX19LAotIHsweDA3ODYsIDY0LCB7IDB4YzIsIDB4MjIsIDB4MDIsIDB4MDgsIDB4MGEsIDB4MzAsIDB4MTQsIDB4MDMsIDB4MDIsIDB4MDgsIDB4MDgsIDB4MjAsIDB4MGQsIDB4NzQsIDB4OTAsIDB4N2YsIDB4OWEsCi0gIDB4ZTAsIDB4MjAsIDB4ZTUsIDB4MDMsIDB4MjAsIDB4MWUsIDB4NmEsIDB4MzAsIDB4MWQsIDB4MTIsIDB4YWUsIDB4NGIsIDB4MDUsIDB4NGIsIDB4NzQsIDB4YzAsCi0gIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2MsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4YzMsIDB4YWUsIDB4NGIsIDB4MDUsIDB4NGIsCi0gIDB4NzQsIDB4YzAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2MsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4YzEsIDB4ZTUsIDB4NGJ9fSwKLSB7MHgwN2M2LCA2NCwgeyAweGMzLCAweDk1LCAweDdkLCAweDQwLCAweDEzLCAweDkwLCAweDdmLCAweGNkLCAweGU0LCAweGYwLCAweGQyLCAweDA0LCAweDMwLCAweDE2LCAweDM1LCAweGMyLCAweDE2LAotICAweDkwLCAweDdmLCAweGMxLCAweDA0LCAweGYwLCAweDgwLCAweDJjLCAweDMwLCAweDFkLCAweDEyLCAweGFlLCAweDRiLCAweDA1LCAweDRiLCAweDc0LCAweGMwLAotICAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdjLCAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyLCAweDE4LCAweGFlLCAweDRiLCAweDA1LCAweDRiLAotICAweDc0LCAweGMwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdjLCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweDQ3LCAweGQyLCAweDEyfX0sCi0gezB4MDgwNiwgNjQsIHsgMHg4MCwgMHgwMiwgMHhjMiwgMHgyMiwgMHhkMiwgMHgyNSwgMHgyMCwgMHg5OCwgMHgwMywgMHgwMiwgMHgwOSwgMHgzZSwgMHhjMiwgMHg5OCwgMHgyMCwgMHgwMSwgMHgwMywKLSAgMHgwMiwgMHgwOCwgMHhiMCwgMHgyMCwgMHgyMywgMHgyNywgMHhhZSwgMHg0OCwgMHgwNSwgMHg0OCwgMHg3NCwgMHg4MCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwKLSAgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlNSwgMHg5OSwgMHhmMCwgMHgzMCwgMHgxYiwgMHg0OSwgMHhhZSwgMHg0OCwgMHgwNSwgMHg0OCwgMHg3NCwgMHg4MCwKLSAgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlNSwgMHg5OCwgMHhmMCwgMHg4MCwgMHgzNiwgMHhhZiwgMHg5OX19LAotIHsweDA4NDYsIDY0LCB7IDB4ZWYsIDB4YjUsIDB4NTgsIDB4MDQsIDB4ZDIsIDB4MGIsIDB4ODAsIDB4MmMsIDB4ZWYsIDB4YjUsIDB4NTcsIDB4MDQsIDB4YzIsIDB4MGIsIDB4ODAsIDB4MjQsIDB4YWUsCi0gIDB4NDgsIDB4MDUsIDB4NDgsIDB4NzQsIDB4ODAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MzAsCi0gIDB4MWIsIDB4MTEsIDB4YWUsIDB4NDgsIDB4MDUsIDB4NDgsIDB4NzQsIDB4ODAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsCi0gIDB4ZTUsIDB4OTgsIDB4ZjAsIDB4ZDIsIDB4MTksIDB4ZTUsIDB4NDgsIDB4YzMsIDB4OTUsIDB4NTQsIDB4NTAsIDB4MDMsIDB4MDIsIDB4MDksIDB4M2N9fSwKLSB7MHgwODg2LCA2NCwgeyAweDkwLCAweDdmLCAweGI4LCAweGUwLCAweDMwLCAweGUxLCAweDE1LCAweGU1LCAweDQ4LCAweGMzLCAweDk0LCAweDQwLCAweDUwLCAweDAzLCAweDAyLCAweDA5LCAweDNjLAotICAweDE1LCAweDQ4LCAweDE1LCAweDQ4LCAweDA1LCAweDJkLCAweGQyLCAweDBjLCAweDAyLCAweDA5LCAweDNjLCAweDkwLCAweDdmLCAweGI3LCAweGU1LCAweDQ4LAotICAweGYwLCAweDc1LCAweDQ4LCAweDAwLCAweGMyLCAweDAxLCAweDAyLCAweDA5LCAweDNjLCAweDIwLCAweDIzLCAweDI3LCAweGFlLCAweDQ4LCAweDA1LCAweDQ4LAotICAweDc0LCAweDAwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGU1LCAweDk5LCAweGYwLCAweDMwLCAweDFifX0sCi0gezB4MDhjNiwgNjQsIHsgMHg0OSwgMHhhZSwgMHg0OCwgMHgwNSwgMHg0OCwgMHg3NCwgMHgwMCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlNSwgMHg5OCwKLSAgMHhmMCwgMHg4MCwgMHgzNiwgMHhhZiwgMHg5OSwgMHhlZiwgMHhiNSwgMHg1OCwgMHgwNCwgMHhkMiwgMHgwYiwgMHg4MCwgMHgyYywgMHhlZiwgMHhiNSwgMHg1NywKLSAgMHgwNCwgMHhjMiwgMHgwYiwgMHg4MCwgMHgyNCwgMHhhZSwgMHg0OCwgMHgwNSwgMHg0OCwgMHg3NCwgMHgwMCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwKLSAgMHg3ZSwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHgzMCwgMHgxYiwgMHgxMSwgMHhhZSwgMHg0OCwgMHgwNSwgMHg0OCwgMHg3NCwgMHgwMCwgMHgyZX19LAotIHsweDA5MDYsIDY0LCB7IDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTUsIDB4OTgsIDB4ZjAsIDB4ZDIsIDB4MTksIDB4ZTUsIDB4NDgsIDB4YzMsIDB4OTUsIDB4NTQsCi0gIDB4NDAsIDB4MjMsIDB4OTAsIDB4N2YsIDB4YjYsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MTEsIDB4ZTUsIDB4NDgsIDB4YzMsIDB4OTQsIDB4NDAsIDB4NDAsIDB4MTUsCi0gIDB4MTUsIDB4NDgsIDB4MTUsIDB4NDgsIDB4MDUsIDB4MmQsIDB4ZDIsIDB4MGMsIDB4ODAsIDB4MGIsIDB4OTAsIDB4N2YsIDB4YjksIDB4ZTUsIDB4NDgsIDB4ZjAsCi0gIDB4NzUsIDB4NDgsIDB4MDAsIDB4ZDIsIDB4MDEsIDB4ZDIsIDB4MjUsIDB4MjAsIDB4YzAsIDB4MDMsIDB4MDIsIDB4MGEsIDB4NzAsIDB4YzIsIDB4YzB9fSwKLSB7MHgwOTQ2LCA2NCwgeyAweDIwLCAweDAyLCAweDAzLCAweDAyLCAweDA5LCAweGUyLCAweDIwLCAweDI0LCAweDI3LCAweGFlLCAweDQ5LCAweDA1LCAweDQ5LCAweDc0LCAweDgwLCAweDJlLCAweGY1LAotICAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGU1LCAweGMxLCAweGYwLCAweDMwLCAweDFkLCAweDQ5LCAweGFlLCAweDQ5LCAweDA1LCAweDQ5LAotICAweDc0LCAweDgwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGU1LCAweGMwLCAweGYwLCAweDgwLCAweDM2LCAweGFmLAotICAweGMxLCAweGVmLCAweGI1LCAweDcwLCAweDA0LCAweGQyLCAweDBkLCAweDgwLCAweDJjLCAweGVmLCAweGI1LCAweDZmLCAweDA0LCAweGMyLCAweDBkfX0sCi0gezB4MDk4NiwgNjQsIHsgMHg4MCwgMHgyNCwgMHhhZSwgMHg0OSwgMHgwNSwgMHg0OSwgMHg3NCwgMHg4MCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlZiwKLSAgMHhmMCwgMHgzMCwgMHgxZCwgMHgxMSwgMHhhZSwgMHg0OSwgMHgwNSwgMHg0OSwgMHg3NCwgMHg4MCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwKLSAgMHhmNSwgMHg4MywgMHhlNSwgMHhjMCwgMHhmMCwgMHhkMiwgMHgxYSwgMHhlNSwgMHg0OSwgMHhjMywgMHg5NSwgMHg2YywgMHg1MCwgMHgwMywgMHgwMiwgMHgwYSwKLSAgMHg2ZSwgMHg5MCwgMHg3ZiwgMHhiYywgMHhlMCwgMHgzMCwgMHhlMSwgMHgxNSwgMHhlNSwgMHg0OSwgMHhjMywgMHg5NCwgMHg0MCwgMHg1MCwgMHgwM319LAotIHsweDA5YzYsIDY0LCB7IDB4MDIsIDB4MGEsIDB4NmUsIDB4MTUsIDB4NDksIDB4MTUsIDB4NDksIDB4MDUsIDB4MzksIDB4ZDIsIDB4MGUsIDB4MDIsIDB4MGEsIDB4NmUsIDB4OTAsIDB4N2YsIDB4YmIsCi0gIDB4ZTUsIDB4NDksIDB4ZjAsIDB4NzUsIDB4NDksIDB4MDAsIDB4YzIsIDB4MDIsIDB4MDIsIDB4MGEsIDB4NmUsIDB4MjAsIDB4MjQsIDB4MjcsIDB4YWUsIDB4NDksCi0gIDB4MDUsIDB4NDksIDB4NzQsIDB4MDAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTUsIDB4YzEsIDB4ZjAsIDB4MzAsCi0gIDB4MWQsIDB4NDksIDB4YWUsIDB4NDksIDB4MDUsIDB4NDksIDB4NzQsIDB4MDAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjV9fSwKLSB7MHgwYTA2LCA2NCwgeyAweDgzLCAweGU1LCAweGMwLCAweGYwLCAweDgwLCAweDM2LCAweGFmLCAweGMxLCAweGVmLCAweGI1LCAweDcwLCAweDA0LCAweGQyLCAweDBkLCAweDgwLCAweDJjLCAweGVmLAotICAweGI1LCAweDZmLCAweDA0LCAweGMyLCAweDBkLCAweDgwLCAweDI0LCAweGFlLCAweDQ5LCAweDA1LCAweDQ5LCAweDc0LCAweDAwLCAweDJlLCAweGY1LCAweDgyLAotICAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDMwLCAweDFkLCAweDExLCAweGFlLCAweDQ5LCAweDA1LCAweDQ5LCAweDc0LCAweDAwLAotICAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGU1LCAweGMwLCAweGYwLCAweGQyLCAweDFhLCAweGU1LCAweDQ5fX0sCi0gezB4MGE0NiwgNjQsIHsgMHhjMywgMHg5NSwgMHg2YywgMHg0MCwgMHgyMywgMHg5MCwgMHg3ZiwgMHhiYSwgMHhlMCwgMHgzMCwgMHhlMSwgMHgxMSwgMHhlNSwgMHg0OSwgMHhjMywgMHg5NCwgMHg0MCwKLSAgMHg0MCwgMHgxNSwgMHgxNSwgMHg0OSwgMHgxNSwgMHg0OSwgMHgwNSwgMHgzOSwgMHhkMiwgMHgwZSwgMHg4MCwgMHgwYiwgMHg5MCwgMHg3ZiwgMHhiZCwgMHhlNSwKLSAgMHg0OSwgMHhmMCwgMHg3NSwgMHg0OSwgMHgwMCwgMHhkMiwgMHgwMiwgMHhkMiwgMHgyNSwgMHgzMCwgMHgyNSwgMHgwNSwgMHhjMiwgMHgyNSwgMHgwMiwgMHgwMCwKLSAgMHg1NiwgMHhkMCwgMHhkMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwgMHg5MCwgMHg3ZiwgMHhjZX19LAotIHsweDBhODYsIDY0LCB7IDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDMsIDB4MDIsIDB4MGIsIDB4YTUsIDB4ZTQsIDB4ZjUsIDB4MTIsIDB4NzQsIDB4NDAsIDB4MjUsIDB4MTIsIDB4ZjUsIDB4ODIsIDB4ZTQsCi0gIDB4MzQsIDB4N2MsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4ZTUsIDB4MTIsIDB4N2MsIDB4MDAsIDB4N2IsIDB4MDAsIDB4MjQsIDB4NGMsIDB4ZjksIDB4ZWMsCi0gIDB4MzQsIDB4MDAsIDB4ZmEsIDB4ZWYsIDB4MTIsIDB4MTUsIDB4Y2QsIDB4MDUsIDB4MTIsIDB4ZTUsIDB4MTIsIDB4YjQsIDB4MTgsIDB4ZGIsIDB4ZTUsIDB4NGMsCi0gIDB4NjAsIDB4MGMsIDB4NzUsIDB4YzksIDB4MjAsIDB4NzUsIDB4YzgsIDB4MzYsIDB4ODUsIDB4NGQsIDB4Y2EsIDB4ODUsIDB4NGUsIDB4Y2IsIDB4ZTV9fSwKLSB7MHgwYWM2LCA2NCwgeyAweDRmLCAweDEzLCAweDkyLCAweDFiLCAweDkyLCAweDlmLCAweGU1LCAweDUwLCAweDEzLCAweDkyLCAweDFjLCAweGU1LCAweDUxLCAweDEzLCAweDkyLCAweDIzLCAweGU1LAotICAweDUyLCAweDYwLCAweDA5LCAweDkwLCAweDdmLCAweDk4LCAweGUwLCAweDU0LCAweGZiLCAweGYwLCAweDgwLCAweDA3LCAweDkwLCAweDdmLCAweDk4LCAweGUwLAotICAweDQ0LCAweDA0LCAweGYwLCAweGU1LCAweDUzLCAweDYwLCAweDA5LCAweDkwLCAweDdmLCAweDk4LCAweGUwLCAweDU0LCAweDdmLCAweGYwLCAweDgwLCAweDA3LAotICAweDkwLCAweDdmLCAweDk4LCAweGUwLCAweDQ0LCAweDgwLCAweGYwLCAweGU1LCAweDU5LCAweDYwLCAweDBiLCAweGMyLCAweDEzLCAweGMyLCAweDBifX0sCi0gezB4MGIwNiwgNjQsIHsgMHg5MCwgMHg3ZiwgMHg5NSwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHhlNSwgMHg1YSwgMHg2MCwgMHgwYiwgMHhkMiwgMHgwYiwgMHhkMiwgMHgwYywgMHg5MCwgMHg3ZiwKLSAgMHg5NSwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHhlNSwgMHg1YiwgMHg2MCwgMHgwZCwgMHhjMiwgMHhhZiwgMHhjMiwgMHgxMSwgMHhkMiwgMHgwMCwgMHhlNCwKLSAgMHhmNSwgMHg3YywgMHhmNSwgMHg0YSwgMHhkMiwgMHhhZiwgMHhlNSwgMHg1YywgMHg2MCwgMHgwNSwgMHgzMCwgMHgyMywgMHgwMiwgMHhkMiwgMHgwYiwgMHhlNSwKLSAgMHg1ZCwgMHg2MCwgMHgxNSwgMHg5MCwgMHg3ZiwgMHg5NSwgMHhlMCwgMHg1NCwgMHhmZCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZSwgMHhlMCwgMHg0NH19LAotIHsweDBiNDYsIDY0LCB7IDB4MDIsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4ZjAsIDB4ZTUsIDB4NWUsIDB4NjAsIDB4MGEsIDB4ZDIsIDB4OWMsIDB4YzIsIDB4OTgsCi0gIDB4NzUsIDB4MmUsIDB4MDEsIDB4NzUsIDB4NDAsIDB4MjgsIDB4ZTUsIDB4NWYsIDB4NjAsIDB4MDcsIDB4YzIsIDB4OWMsIDB4ZTQsIDB4ZjUsIDB4NDgsIDB4ZjUsCi0gIDB4MmUsIDB4ZTUsIDB4NjAsIDB4NjAsIDB4MDMsIDB4ZTQsIDB4ZjUsIDB4NDgsIDB4ZTUsIDB4NjEsIDB4NjAsIDB4MDIsIDB4ZDIsIDB4MDcsIDB4ZTUsIDB4NjIsCi0gIDB4NjAsIDB4MDgsIDB4ZTUsIDB4NWUsIDB4NzAsIDB4MDIsIDB4ZjUsIDB4NDAsIDB4ZDIsIDB4MGMsIDB4ZTUsIDB4NjMsIDB4NjAsIDB4MTksIDB4OTB9fSwKLSB7MHgwYjg2LCA2NCwgeyAweDdmLCAweGQ3LCAweDc0LCAweDExLCAweGYwLCAweDc0LCAweDMxLCAweGYwLCAweDc0LCAweDEyLCAweGYwLCAweDc0LCAweDMyLCAweGYwLCAweDc0LCAweDE1LCAweGYwLAotICAweDc0LCAweDM1LCAweGYwLCAweGQyLCAweDAzLCAweGQyLCAweDAxLCAweGQyLCAweDA5LCAweGU0LCAweDkwLCAweDdmLCAweGNmLCAweGYwLCAweGEyLCAweDEzLAotICAweGU0LCAweDMzLCAweGZmLCAweDY1LCAweDJiLCAweDYwLCAweDA0LCAweDhmLCAweDJiLCAweGQyLCAweDBjLCAweGEyLCAweDBiLCAweGU0LCAweDMzLCAweGZmLAotICAweDY1LCAweDJjLCAweDYwLCAweDA0LCAweDhmLCAweDJjLCAweGQyLCAweDBjLCAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDU0LCAweDA4LCAweDY1fX0sCi0gezB4MGJjNiwgNjQsIHsgMHgyNywgMHg2MCwgMHgwNywgMHhlMCwgMHg1NCwgMHgwOCwgMHhmNSwgMHgyNywgMHhkMiwgMHgwYywgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHg1NCwgMHg0MCwgMHhiNSwKLSAgMHgyOSwgMHgwOSwgMHhlMCwgMHg1NCwgMHg0MCwgMHg2NCwgMHg0MCwgMHhmNSwgMHgyOSwgMHhkMiwgMHgwYywgMHgzMCwgMHgwNywgMHgzNSwgMHhjMiwgMHhhZiwKLSAgMHgzMCwgMHgwMSwgMHgxOCwgMHg5MCwgMHg3ZiwgMHhiOCwgMHhlMCwgMHgyMCwgMHhlMSwgMHgyNywgMHhlNSwgMHg0OCwgMHg2MCwgMHgwOSwgMHg5MCwgMHg3ZiwKLSAgMHhiNywgMHhmMCwgMHhlNCwgMHhmNSwgMHg0OCwgMHhjMiwgMHgwMSwgMHhjMiwgMHgwNywgMHg4MCwgMHgxNiwgMHg5MCwgMHg3ZiwgMHhiNiwgMHhlMH19LAotIHsweDBjMDYsIDY0LCB7IDB4MjAsIDB4ZTEsIDB4MGYsIDB4ZTUsIDB4NDgsIDB4NjAsIDB4MDksIDB4OTAsIDB4N2YsIDB4YjksIDB4ZjAsIDB4ZTQsIDB4ZjUsIDB4NDgsIDB4ZDIsIDB4MDEsIDB4YzIsCi0gIDB4MDcsIDB4ZDIsIDB4YWYsIDB4MjAsIDB4MDUsIDB4MzcsIDB4MzAsIDB4MDMsIDB4MWIsIDB4OTAsIDB4N2YsIDB4YzYsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MmQsCi0gIDB4OTAsIDB4N2UsIDB4NDAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MTUsIDB4NzUsIDB4NGEsIDB4MDEsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZTAsIDB4ZjUsIDB4N2MsCi0gIDB4ZDIsIDB4MDUsIDB4ODAsIDB4MTksIDB4OTAsIDB4N2YsIDB4YzgsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MTIsIDB4OTAsIDB4N2QsIDB4YzAsIDB4ZTB9fSwKLSB7MHgwYzQ2LCA2NCwgeyAweDEzLCAweDkyLCAweDE1LCAweDc1LCAweDRhLCAweDAxLCAweDkwLCAweDdmLCAweGM5LCAweGUwLCAweGY1LCAweDdjLCAweGQyLCAweDA1LCAweDIwLCAweDIxLCAweDMzLAotICAweDIwLCAweDAwLCAweDA2LCAweGU1LCAweDRhLCAweDY1LCAweDdjLCAweDcwLCAweDJhLCAweDMwLCAweDA1LCAweDFhLCAweDMwLCAweDAzLCAweDA5LCAweGU0LAotICAweDkwLCAweDdmLCAweGM3LCAweGYwLCAweGMyLCAweDAzLCAweDgwLCAweDA3LCAweGU0LCAweDkwLCAweDdmLCAweGM5LCAweGYwLCAweGQyLCAweDAzLCAweGMyLAotICAweDA1LCAweGU0LCAweGY1LCAweDdjLCAweGY1LCAweDRhLCAweDMwLCAweDE1LCAweDBhLCAweGMyLCAweDE1LCAweGMyLCAweDAwLCAweDkwLCAweDdmfX0sCi0gezB4MGM4NiwgNjQsIHsgMHhiZiwgMHg3NCwgMHgwMSwgMHhmMCwgMHgzMCwgMHgyMSwgMHgwMywgMHgwMiwgMHgwZCwgMHg5NCwgMHgyMCwgMHgwNSwgMHgwMywgMHgwMiwgMHgwZCwgMHg5NCwgMHgzMCwKLSAgMHgxYywgMHgwYSwgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHgyMCwgMHhlMywgMHgwMywgMHgwMiwgMHgwZCwgMHg5NCwgMHgzMCwgMHgwYiwgMHgwMywgMHgwMiwKLSAgMHgwZCwgMHg5NCwgMHgzMCwgMHgxMywgMHgwMywgMHgwMiwgMHgwZCwgMHg5NCwgMHgzMCwgMHgwMywgMHg2MiwgMHgzMCwgMHgxYiwgMHgxMiwgMHhhZiwgMHg0YSwKLSAgMHgwNSwgMHg0YSwgMHg3NCwgMHg0MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5Mn19LAotIHsweDBjYzYsIDY0LCB7IDB4MmQsIDB4YWYsIDB4NGEsIDB4MDUsIDB4NGEsIDB4NzQsIDB4NDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsCi0gIDB4MTMsIDB4ZTUsIDB4NGEsIDB4YzMsIDB4OTUsIDB4N2MsIDB4NTAsIDB4MmEsIDB4MzAsIDB4MWIsIDB4MTIsIDB4YWYsIDB4NGEsIDB4MDUsIDB4NGEsIDB4NzQsCi0gIDB4NDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MTcsIDB4YWYsIDB4NGEsIDB4MDUsCi0gIDB4NGEsIDB4NzQsIDB4NDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4NDYsIDB4ZDJ9fSwKLSB7MHgwZDA2LCA2NCwgeyAweDExLCAweDgwLCAweDZiLCAweGMyLCAweDExLCAweGU0LCAweDkwLCAweDdmLCAweGM3LCAweGYwLCAweGMyLCAweDAzLCAweDgwLCAweDYwLCAweDMwLCAweDFiLCAweDEyLAotICAweGFmLCAweDRhLCAweDA1LCAweDRhLCAweDc0LCAweGMwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweDEzLAotICAweDkyLCAweDJkLCAweGFmLCAweDRhLCAweDA1LCAweDRhLCAweDc0LCAweGMwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLAotICAweGUwLCAweGY1LCAweDEzLCAweGU1LCAweDRhLCAweGMzLCAweDk1LCAweDdjLCAweDUwLCAweDJhLCAweDMwLCAweDFiLCAweDEyLCAweGFmLCAweDRhfX0sCi0gezB4MGQ0NiwgNjQsIHsgMHgwNSwgMHg0YSwgMHg3NCwgMHhjMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwgMHgxNywgMHhhZiwKLSAgMHg0YSwgMHgwNSwgMHg0YSwgMHg3NCwgMHhjMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHg0NiwKLSAgMHhkMiwgMHgxMSwgMHg4MCwgMHgwOSwgMHhjMiwgMHgxMSwgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjOSwgMHhmMCwgMHhkMiwgMHgwMywgMHgzMCwgMHgxYiwgMHgwNCwKLSAgMHhhMiwgMHgyZCwgMHg5MiwgMHg5YiwgMHhkMiwgMHgyMSwgMHhjMiwgMHhhZiwgMHg4NSwgMHgxMywgMHg5OSwgMHgyMCwgMHgxMSwgMHgwZCwgMHgzMH19LAotIHsweDBkODYsIDY0LCB7IDB4MTUsIDB4MGEsIDB4YzIsIDB4MTUsIDB4YzIsIDB4MDAsIDB4OTAsIDB4N2YsIDB4YmYsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4ZDIsIDB4YWYsIDB4OTAsIDB4N2YsIDB4ZDAsCi0gIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDMsIDB4MDIsIDB4MGUsIDB4YjUsIDB4ZTQsIDB4ZjUsIDB4MTIsIDB4NzQsIDB4YzAsIDB4MjUsIDB4MTIsIDB4ZjUsIDB4ODIsCi0gIDB4ZTQsIDB4MzQsIDB4N2IsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4ZTUsIDB4MTIsIDB4N2MsIDB4MDAsIDB4N2IsIDB4MDAsIDB4MjQsIDB4NjQsIDB4ZjksCi0gIDB4ZWMsIDB4MzQsIDB4MDAsIDB4ZmEsIDB4ZWYsIDB4MTIsIDB4MTUsIDB4Y2QsIDB4MDUsIDB4MTIsIDB4ZTUsIDB4MTIsIDB4YjQsIDB4MTgsIDB4ZGJ9fSwKLSB7MHgwZGM2LCA2NCwgeyAweGU1LCAweDY0LCAweDYwLCAweDBiLCAweDc1LCAweDg5LCAweDYwLCAweDc1LCAweDg4LCAweDQwLCAweGQyLCAweGRmLCAweDg1LCAweDY1LCAweDhkLCAweGU1LCAweDY3LAotICAweDEzLCAweDkyLCAweDFkLCAweDkyLCAweGM3LCAweGU1LCAweDY4LCAweDEzLCAweDkyLCAweDFlLCAweGU1LCAweDY5LCAweDEzLCAweDkyLCAweDI0LCAweGU1LAotICAweDZhLCAweDYwLCAweDA5LCAweDkwLCAweDdmLCAweDk3LCAweGUwLCAweDU0LCAweGVmLCAweGYwLCAweDgwLCAweDA3LCAweDkwLCAweDdmLCAweDk3LCAweGUwLAotICAweDQ0LCAweDEwLCAweGYwLCAweGU1LCAweDZiLCAweDYwLCAweDA5LCAweDkwLCAweDdmLCAweDk3LCAweGUwLCAweDU0LCAweDdmLCAweGYwLCAweDgwfX0sCi0gezB4MGUwNiwgNjQsIHsgMHgwNywgMHg5MCwgMHg3ZiwgMHg5NywgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHhlNSwgMHg3MSwgMHg2MCwgMHgwYiwgMHhjMiwgMHgxNCwgMHhjMiwgMHgwZCwgMHg5MCwKLSAgMHg3ZiwgMHg5NCwgMHhlMCwgMHg0NCwgMHgwOCwgMHhmMCwgMHhlNSwgMHg3MiwgMHg2MCwgMHgwYiwgMHhkMiwgMHgwZCwgMHhkMiwgMHgwZSwgMHg5MCwgMHg3ZiwKLSAgMHg5NCwgMHhlMCwgMHg0NCwgMHgwOCwgMHhmMCwgMHhlNSwgMHg3MywgMHg2MCwgMHgwZCwgMHhjMiwgMHhhZiwgMHhjMiwgMHgxMiwgMHhkMiwgMHgwMCwgMHhlNCwKLSAgMHhmNSwgMHg3ZCwgMHhmNSwgMHg0YiwgMHhkMiwgMHhhZiwgMHhlNSwgMHg3NCwgMHg2MCwgMHgwNSwgMHgzMCwgMHgyNCwgMHgwMiwgMHhkMiwgMHgwZH19LAotIHsweDBlNDYsIDY0LCB7IDB4ZTUsIDB4NzUsIDB4NjAsIDB4MTUsIDB4OTAsIDB4N2YsIDB4OTQsIDB4ZTAsIDB4NTQsIDB4ZjcsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWQsIDB4ZTAsIDB4NDQsIDB4MDgsCi0gIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTcsIDB4ZTAsIDB4NTQsIDB4ZjcsIDB4ZjAsIDB4ZTUsIDB4NzYsIDB4NjAsIDB4MGEsIDB4ZDIsIDB4YzQsIDB4YzIsIDB4YzAsCi0gIDB4NzUsIDB4M2EsIDB4MDEsIDB4NzUsIDB4NDEsIDB4MjgsIDB4ZTUsIDB4NzcsIDB4NjAsIDB4MDcsIDB4YzIsIDB4YzQsIDB4ZTQsIDB4ZjUsIDB4NDksIDB4ZjUsCi0gIDB4M2EsIDB4ZTUsIDB4NzgsIDB4NjAsIDB4MDMsIDB4ZTQsIDB4ZjUsIDB4NDksIDB4ZTUsIDB4NzksIDB4NjAsIDB4MDIsIDB4ZDIsIDB4MDgsIDB4ZTV9fSwKLSB7MHgwZTg2LCA2NCwgeyAweDdhLCAweDYwLCAweDA4LCAweGU1LCAweDc2LCAweDcwLCAweDAyLCAweGY1LCAweDQxLCAweGQyLCAweDBlLCAweGU1LCAweDdiLCAweDYwLCAweDE5LCAweDkwLCAweDdmLAotICAweGQ3LCAweDc0LCAweDEzLCAweGYwLCAweDc0LCAweDMzLCAweGYwLCAweDc0LCAweDE0LCAweGYwLCAweDc0LCAweDM0LCAweGYwLCAweDc0LCAweDE2LCAweGYwLAotICAweDc0LCAweDM2LCAweGYwLCAweGQyLCAweDA0LCAweGQyLCAweDAyLCAweGQyLCAweDBhLCAweGU0LCAweDkwLCAweDdmLCAweGQxLCAweGYwLCAweGEyLCAweDE0LAotICAweGU0LCAweDMzLCAweGZmLCAweDY1LCAweDM3LCAweDYwLCAweDA0LCAweDhmLCAweDM3LCAweGQyLCAweDBlLCAweGEyLCAweDBkLCAweGU0LCAweDMzfX0sCi0gezB4MGVjNiwgNjQsIHsgMHhmZiwgMHg2NSwgMHgzOCwgMHg2MCwgMHgwNCwgMHg4ZiwgMHgzOCwgMHhkMiwgMHgwZSwgMHg5MCwgMHg3ZiwgMHg5YSwgMHhlMCwgMHg1NCwgMHgyMCwgMHg2NSwgMHgzMywKLSAgMHg2MCwgMHgwNywgMHhlMCwgMHg1NCwgMHgyMCwgMHhmNSwgMHgzMywgMHhkMiwgMHgwZSwgMHg5MCwgMHg3ZiwgMHg5YSwgMHhlMCwgMHg1NCwgMHg0MCwgMHhiNSwKLSAgMHgzNSwgMHgwOSwgMHhlMCwgMHg1NCwgMHg0MCwgMHg2NCwgMHg0MCwgMHhmNSwgMHgzNSwgMHhkMiwgMHgwZSwgMHgzMCwgMHgwOCwgMHgzNSwgMHhjMiwgMHhhZiwKLSAgMHgzMCwgMHgwMiwgMHgxOCwgMHg5MCwgMHg3ZiwgMHhiYywgMHhlMCwgMHgyMCwgMHhlMSwgMHgyNywgMHhlNSwgMHg0OSwgMHg2MCwgMHgwOSwgMHg5MH19LAotIHsweDBmMDYsIDY0LCB7IDB4N2YsIDB4YmIsIDB4ZjAsIDB4ZTQsIDB4ZjUsIDB4NDksIDB4YzIsIDB4MDIsIDB4YzIsIDB4MDgsIDB4ODAsIDB4MTYsIDB4OTAsIDB4N2YsIDB4YmEsIDB4ZTAsIDB4MjAsCi0gIDB4ZTEsIDB4MGYsIDB4ZTUsIDB4NDksIDB4NjAsIDB4MDksIDB4OTAsIDB4N2YsIDB4YmQsIDB4ZjAsIDB4ZTQsIDB4ZjUsIDB4NDksIDB4ZDIsIDB4MDIsIDB4YzIsCi0gIDB4MDgsIDB4ZDIsIDB4YWYsIDB4MjAsIDB4MDYsIDB4MzcsIDB4MzAsIDB4MDQsIDB4MWIsIDB4OTAsIDB4N2YsIDB4Y2EsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MmQsCi0gIDB4OTAsIDB4N2QsIDB4NDAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MTYsIDB4NzUsIDB4NGIsIDB4MDEsIDB4OTAsIDB4N2YsIDB4Y2IsIDB4ZTAsIDB4ZjV9fSwKLSB7MHgwZjQ2LCA2NCwgeyAweDdkLCAweGQyLCAweDA2LCAweDgwLCAweDE5LCAweDkwLCAweDdmLCAweGNjLCAweGUwLCAweDIwLCAweGUxLCAweDEyLCAweDkwLCAweDdjLCAweGMwLCAweGUwLCAweDEzLAotICAweDkyLCAweDE2LCAweDc1LCAweDRiLCAweDAxLCAweDkwLCAweDdmLCAweGNkLCAweGUwLCAweGY1LCAweDdkLCAweGQyLCAweDA2LCAweDIwLCAweDIyLCAweDMzLAotICAweDIwLCAweDAwLCAweDA2LCAweGU1LCAweDRiLCAweDY1LCAweDdkLCAweDcwLCAweDJhLCAweDMwLCAweDA2LCAweDFhLCAweDMwLCAweDA0LCAweDA5LCAweGU0LAotICAweDkwLCAweDdmLCAweGNiLCAweGYwLCAweGMyLCAweDA0LCAweDgwLCAweDA3LCAweGU0LCAweDkwLCAweDdmLCAweGNkLCAweGYwLCAweGQyLCAweDA0fX0sCi0gezB4MGY4NiwgNjQsIHsgMHhjMiwgMHgwNiwgMHhlNCwgMHhmNSwgMHg3ZCwgMHhmNSwgMHg0YiwgMHgzMCwgMHgxNiwgMHgwYSwgMHhjMiwgMHgxNiwgMHhjMiwgMHgwMCwgMHg5MCwgMHg3ZiwgMHhjMSwKLSAgMHg3NCwgMHgwMSwgMHhmMCwgMHgzMCwgMHgyMiwgMHgwMywgMHgwMiwgMHgxMCwgMHhhNCwgMHgyMCwgMHgwNiwgMHgwMywgMHgwMiwgMHgxMCwgMHhhNCwgMHgzMCwKLSAgMHgxZSwgMHgwYSwgMHg5MCwgMHg3ZiwgMHg5YSwgMHhlMCwgMHgyMCwgMHhlNSwgMHgwMywgMHgwMiwgMHgxMCwgMHhhNCwgMHgzMCwgMHgwZCwgMHgwMywgMHgwMiwKLSAgMHgxMCwgMHhhNCwgMHgzMCwgMHgxNCwgMHgwMywgMHgwMiwgMHgxMCwgMHhhNCwgMHgzMCwgMHgwNCwgMHg2MiwgMHgzMCwgMHgxZCwgMHgxMiwgMHhhZn19LAotIHsweDBmYzYsIDY0LCB7IDB4NGIsIDB4MDUsIDB4NGIsIDB4NzQsIDB4NDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MmQsCi0gIDB4YWYsIDB4NGIsIDB4MDUsIDB4NGIsIDB4NzQsIDB4NDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsCi0gIDB4MTMsIDB4ZTUsIDB4NGIsIDB4YzMsIDB4OTUsIDB4N2QsIDB4NTAsIDB4MmEsIDB4MzAsIDB4MWQsIDB4MTIsIDB4YWYsIDB4NGIsIDB4MDUsIDB4NGIsIDB4NzQsCi0gIDB4NDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MTgsIDB4YWYsIDB4NGJ9fSwKLSB7MHgxMDA2LCA2NCwgeyAweDA1LCAweDRiLCAweDc0LCAweDQwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweDQ3LCAweGQyLCAweDEyLAotICAweDgwLCAweDZiLCAweGMyLCAweDEyLCAweGU0LCAweDkwLCAweDdmLCAweGNiLCAweGYwLCAweGMyLCAweDA0LCAweDgwLCAweDYwLCAweDMwLCAweDFkLCAweDEyLAotICAweGFmLCAweDRiLCAweDA1LCAweDRiLCAweDc0LCAweGMwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdjLCAweGY1LCAweDgzLCAweGUwLCAweDEzLAotICAweDkyLCAweDJkLCAweGFmLCAweDRiLCAweDA1LCAweDRiLCAweDc0LCAweGMwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdjLCAweGY1fX0sCi0gezB4MTA0NiwgNjQsIHsgMHg4MywgMHhlMCwgMHhmNSwgMHgxMywgMHhlNSwgMHg0YiwgMHhjMywgMHg5NSwgMHg3ZCwgMHg1MCwgMHgyYSwgMHgzMCwgMHgxZCwgMHgxMiwgMHhhZiwgMHg0YiwgMHgwNSwKLSAgMHg0YiwgMHg3NCwgMHhjMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YywgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwgMHgxOCwgMHhhZiwKLSAgMHg0YiwgMHgwNSwgMHg0YiwgMHg3NCwgMHhjMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YywgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHg0NywKLSAgMHhkMiwgMHgxMiwgMHg4MCwgMHgwOSwgMHhjMiwgMHgxMiwgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjZCwgMHhmMCwgMHhkMiwgMHgwNCwgMHgzMCwgMHgxZH19LAotIHsweDEwODYsIDY0LCB7IDB4MDQsIDB4YTIsIDB4MmQsIDB4OTIsIDB4YzMsIDB4ZDIsIDB4MjIsIDB4YzIsIDB4YWYsIDB4ODUsIDB4MTMsIDB4YzEsIDB4MjAsIDB4MTIsIDB4MGQsIDB4MzAsIDB4MTYsCi0gIDB4MGEsIDB4YzIsIDB4MTYsIDB4YzIsIDB4MDAsIDB4OTAsIDB4N2YsIDB4YzEsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4ZDIsIDB4YWYsIDB4OTAsIDB4N2YsIDB4YzIsCi0gIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDMsIDB4MDIsIDB4MTEsIDB4N2EsIDB4ZTUsIDB4MWEsIDB4NzAsIDB4NDYsIDB4MzAsIDB4MGMsIDB4M2YsIDB4ZTUsIDB4NDAsCi0gIDB4NzAsIDB4M2IsIDB4YTIsIDB4MDksIDB4MzMsIDB4ZjUsIDB4MzEsIDB4YzIsIDB4MDksIDB4YzIsIDB4MGMsIDB4ZTQsIDB4ZjUsIDB4MTIsIDB4N2V9fSwKLSB7MHgxMGM2LCA2NCwgeyAweDAwLCAweDdiLCAweDAwLCAweDc0LCAweDI2LCAweDI1LCAweDEyLCAweGY5LCAweGVlLCAweDM0LCAweDAwLCAweGZhLCAweDEyLCAweDE1LCAweDg3LCAweGZmLCAweDc0LAotICAweDgwLCAweDI1LCAweDEyLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdiLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDA1LCAweDEyLCAweGU1LCAweDEyLAotICAweGI0LCAweDBjLCAweGRiLCAweDkwLCAweDdmLCAweGMzLCAweDc0LCAweDBjLCAweGYwLCAweDc1LCAweDQwLCAweDEwLCAweDIyLCAweDc1LCAweDFhLCAweDAxLAotICAweDIyLCAweGU1LCAweDFhLCAweDY0LCAweDAxLCAweDcwLCAweDQ1LCAweDMwLCAweDBlLCAweDNlLCAweGU1LCAweDQxLCAweDcwLCAweDNhLCAweGEyfX0sCi0gezB4MTEwNiwgNjQsIHsgMHgwYSwgMHgzMywgMHhmNSwgMHgzZCwgMHhjMiwgMHgwYSwgMHhjMiwgMHgwZSwgMHhlNCwgMHhmNSwgMHgxMiwgMHg3ZSwgMHgwMCwgMHg3YiwgMHgwMCwgMHg3NCwgMHgzMiwKLSAgMHgyNSwgMHgxMiwgMHhmOSwgMHhlZSwgMHgzNCwgMHgwMCwgMHhmYSwgMHgxMiwgMHgxNSwgMHg4NywgMHhmZiwgMHg3NCwgMHg4MCwgMHgyNSwgMHgxMiwgMHhmNSwKLSAgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHgwNSwgMHgxMiwgMHhlNSwgMHgxMiwgMHhiNCwgMHgwYywgMHhkYiwgMHg5MCwKLSAgMHg3ZiwgMHhjMywgMHg3NCwgMHgwYywgMHhmMCwgMHg3NSwgMHg0MSwgMHgxMCwgMHg3NSwgMHgxYSwgMHgwMiwgMHgyMiwgMHhlNSwgMHgxYywgMHg2MH19LAotIHsweDExNDYsIDY0LCB7IDB4MzAsIDB4MTUsIDB4MWMsIDB4ZTQsIDB4ZjUsIDB4MTIsIDB4N2UsIDB4MDAsIDB4N2IsIDB4MDAsIDB4NzQsIDB4MWIsIDB4MjUsIDB4MTIsIDB4ZjksIDB4ZWUsIDB4MzQsCi0gIDB4MDAsIDB4ZmEsIDB4MTIsIDB4MTUsIDB4ODcsIDB4ZmYsIDB4NzQsIDB4ODAsIDB4MjUsIDB4MTIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2IsIDB4ZjUsCi0gIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MDUsIDB4MTIsIDB4ZTUsIDB4MTIsIDB4YjQsIDB4MDMsIDB4ZGIsIDB4OTAsIDB4N2YsIDB4YzMsIDB4NzQsIDB4MDMsIDB4ZjAsCi0gIDB4ZTQsIDB4ZjUsIDB4MWEsIDB4MjIsIDB4OTAsIDB4N2YsIDB4ZTksIDB4ZTAsIDB4MTIsIDB4MTYsIDB4MTcsIDB4MTIsIDB4NDAsIDB4MDAsIDB4MTJ9fSwKLSB7MHgxMTg2LCA2NCwgeyAweGI0LCAweDAxLCAweDEzLCAweDIwLCAweDAzLCAweDExLCAweDllLCAweDA2LCAweDEyLCAweDMzLCAweDA4LCAweDEyLCAweDJkLCAweDA5LCAweDEyLCAweDIwLCAweDBhLAotICAweDEzLCAweDc2LCAweDBiLCAweDAwLCAweDAwLCAweDEzLCAweDZmLCAweDkwLCAweDdmLCAweGViLCAweGUwLCAweDI0LCAweGZlLCAweDYwLCAweDE2LCAweDE0LAotICAweDYwLCAweDQwLCAweDI0LCAweDAyLCAweDcwLCAweDY5LCAweDc0LCAweDE5LCAweDkwLCAweDdmLCAweGQ0LCAweGYwLCAweDc0LCAweDAwLCAweDkwLCAweDdmLAotICAweGQ1LCAweGYwLCAweDAyLCAweDEzLCAweDc2LCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGZmLCAweDEyLCAweDE3LCAweDRiLCAweDhiLCAweDEyfX0sCi0gezB4MTFjNiwgNjQsIHsgMHg4YSwgMHgxMywgMHg4OSwgMHgxNCwgMHhlYSwgMHg0OSwgMHg2MCwgMHgxMSwgMHhhZSwgMHgwMiwgMHhlZSwgMHg5MCwgMHg3ZiwgMHhkNCwgMHhmMCwgMHhhZiwgMHgwMSwKLSAgMHhlZiwgMHg5MCwgMHg3ZiwgMHhkNSwgMHhmMCwgMHgwMiwgMHgxMywgMHg3NiwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwKLSAgMHgxMywgMHg3NiwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhmZiwgMHgxMiwgMHgxNywgMHg5YSwgMHg4YiwgMHgxMiwgMHg4YSwgMHgxMywgMHg4OSwgMHgxNCwKLSAgMHhlYSwgMHg0OSwgMHg2MCwgMHgxMSwgMHhhZSwgMHgwMiwgMHhlZSwgMHg5MCwgMHg3ZiwgMHhkNCwgMHhmMCwgMHhhZiwgMHgwMSwgMHhlZiwgMHg5MH19LAotIHsweDEyMDYsIDY0LCB7IDB4N2YsIDB4ZDUsIDB4ZjAsIDB4MDIsIDB4MTMsIDB4NzYsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MTMsIDB4NzYsIDB4OTAsCi0gIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MTMsIDB4NzYsIDB4OTAsIDB4N2YsIDB4MDAsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsCi0gIDB4N2YsIDB4YjUsIDB4ZjAsIDB4MDIsIDB4MTMsIDB4NzYsIDB4MTIsIDB4MTQsIDB4YzMsIDB4MDIsIDB4MTMsIDB4NzYsIDB4OTAsIDB4N2YsIDB4MDAsIDB4NzQsCi0gIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4ZjAsIDB4MDIsIDB4MTMsIDB4NzYsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4N2Z9fSwKLSB7MHgxMjQ2LCA2NCwgeyAweDYwLCAweDI0LCAweDE0LCAweDYwLCAweDMxLCAweDI0LCAweDAyLCAweDcwLCAweDViLCAweGEyLCAweDI2LCAweGU0LCAweDMzLCAweGZmLCAweDI1LCAweGUwLCAweGZmLAotICAweGEyLCAweDJiLCAweGU0LCAweDMzLCAweDRmLCAweDkwLCAweDdmLCAweDAwLCAweGYwLCAweGU0LCAweGEzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LAotICAweDAyLCAweGYwLCAweDAyLCAweDEzLCAweDc2LCAweGU0LCAweDkwLCAweDdmLCAweDAwLCAweGYwLCAweGEzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LAotICAweDAyLCAweGYwLCAweDAyLCAweDEzLCAweDc2LCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwLCAweGZmLCAweGM0LCAweDU0fX0sCi0gezB4MTI4NiwgNjQsIHsgMHgwZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywKLSAgMHhlMCwgMHg1NCwgMHhmZCwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhmMCwgMHhlNCwgMHhhMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwKLSAgMHgwMiwgMHgxMywgMHg3NiwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgxMywgMHg3NiwgMHg5MCwgMHg3ZiwgMHhlOCwKLSAgMHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxZCwgMHgyNCwgMHgwMiwgMHg2MCwgMHgwMywgMHgwMiwgMHgxMywgMHg3NiwgMHg5MCwgMHg3ZiwgMHhlYX19LAotIHsweDEyYzYsIDY0LCB7IDB4ZTAsIDB4YjQsIDB4MDEsIDB4MDUsIDB4YzIsIDB4MjYsIDB4MDIsIDB4MTMsIDB4NzYsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsCi0gIDB4MTMsIDB4NzYsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4NzAsIDB4MzgsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4ZjQsIDB4NTQsIDB4ODAsIDB4ZmYsCi0gIDB4YzQsIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsCi0gIDB4N2YsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4MTMsIDB4MTMsIDB4MTN9fSwKLSB7MHgxMzA2LCA2NCwgeyAweDU0LCAweDFmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDkwLCAweDdmLCAweGQ3LCAweGYwLCAweGUwLCAweDQ0LCAweDIwLCAweGYwLCAweDgwLCAweDVmLAotICAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDgwLCAweDU2LCAweDkwLCAweDdmLCAweGU4LCAweGUwLCAweDI0LCAweGZlLCAweDYwLAotICAweDE4LCAweDI0LCAweDAyLCAweDcwLCAweDRhLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGI0LCAweDAxLCAweDA0LCAweGQyLCAweDI2LCAweDgwLCAweDNmLAotICAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDgwLCAweDM2LCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDcwLCAweDIwfX0sCi0gezB4MTM0NiwgNjQsIHsgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHhmNCwgMHg1NCwgMHg4MCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHgyNSwKLSAgMHhlMCwgMHgyNCwgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHg3NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHgxMCwgMHg5MCwKLSAgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHgwNywgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg5MCwKLSAgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHgyMiwgMHgyMCwgMHgyOCwgMHgwMywgMHgwMiwgMHgxNCwgMHhjMiwgMHhlNSwgMHg0MH19LAotIHsweDEzODYsIDY0LCB7IDB4NjAsIDB4MDIsIDB4MTUsIDB4NDAsIDB4ZTUsIDB4NDgsIDB4NjAsIDB4NGYsIDB4NjUsIDB4NDQsIDB4NzAsIDB4NDUsIDB4ZTUsIDB4NDIsIDB4ZjQsIDB4NjAsIDB4MDIsCi0gIDB4MDUsIDB4NDIsIDB4ZTUsIDB4NDIsIDB4YzMsIDB4OTUsIDB4NTUsIDB4NDAsIDB4M2QsIDB4YzIsIDB4YWYsIDB4MzAsIDB4MDEsIDB4MTgsIDB4OTAsIDB4N2YsCi0gIDB4YjgsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MjcsIDB4OTAsIDB4N2YsIDB4YjcsIDB4ZTUsIDB4NDgsIDB4ZjAsIDB4YzIsIDB4MDEsIDB4ZTQsIDB4ZjUsIDB4NDgsCi0gIDB4ZjUsIDB4NDIsIDB4ZjUsIDB4NDQsIDB4ODAsIDB4MTYsIDB4OTAsIDB4N2YsIDB4YjYsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MGYsIDB4OTAsIDB4N2Z9fSwKLSB7MHgxM2M2LCA2NCwgeyAweGI5LCAweGU1LCAweDQ4LCAweGYwLCAweGQyLCAweDAxLCAweGU0LCAweGY1LCAweDQ4LCAweGY1LCAweDQyLCAweGY1LCAweDQ0LCAweGQyLCAweGFmLCAweDgwLCAweDA2LAotICAweDg1LCAweDQ4LCAweDQ0LCAweGU0LCAweGY1LCAweDQyLCAweGU1LCAweDJlLCAweDYwLCAweDJkLCAweDIwLCAweDE5LCAweDA3LCAweDkwLCAweDdmLCAweDliLAotICAweGUwLCAweDMwLCAweGUwLCAweDBlLCAweGU1LCAweDJmLCAweDYwLCAweDA1LCAweGU0LCAweGY1LCAweDJmLCAweGQyLCAweDBjLCAweGU0LCAweGY1LCAweDNlLAotICAweDgwLCAweDEzLCAweGU1LCAweDNlLCAweGQzLCAweDk1LCAweDU2LCAweDUwLCAweDBjLCAweGU1LCAweDNlLCAweGI1LCAweDU2LCAweDA1LCAweDc1fX0sCi0gezB4MTQwNiwgNjQsIHsgMHgyZiwgMHgwMSwgMHhkMiwgMHgwYywgMHgwNSwgMHgzZSwgMHhjMiwgMHgxOSwgMHhlNSwgMHg0MSwgMHg2MCwgMHgwMiwgMHgxNSwgMHg0MSwgMHhlNSwgMHg0OSwgMHg2MCwKLSAgMHg0ZiwgMHg2NSwgMHg0NSwgMHg3MCwgMHg0NSwgMHhlNSwgMHg0MywgMHhmNCwgMHg2MCwgMHgwMiwgMHgwNSwgMHg0MywgMHhlNSwgMHg0MywgMHhjMywgMHg5NSwKLSAgMHg2ZCwgMHg0MCwgMHgzZCwgMHhjMiwgMHhhZiwgMHgzMCwgMHgwMiwgMHgxOCwgMHg5MCwgMHg3ZiwgMHhiYywgMHhlMCwgMHgyMCwgMHhlMSwgMHgyNywgMHg5MCwKLSAgMHg3ZiwgMHhiYiwgMHhlNSwgMHg0OSwgMHhmMCwgMHhjMiwgMHgwMiwgMHhlNCwgMHhmNSwgMHg0OSwgMHhmNSwgMHg0MywgMHhmNSwgMHg0NSwgMHg4MH19LAotIHsweDE0NDYsIDY0LCB7IDB4MTYsIDB4OTAsIDB4N2YsIDB4YmEsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MGYsIDB4OTAsIDB4N2YsIDB4YmQsIDB4ZTUsIDB4NDksIDB4ZjAsIDB4ZDIsIDB4MDIsIDB4ZTQsCi0gIDB4ZjUsIDB4NDksIDB4ZjUsIDB4NDMsIDB4ZjUsIDB4NDUsIDB4ZDIsIDB4YWYsIDB4ODAsIDB4MDYsIDB4ODUsIDB4NDksIDB4NDUsIDB4ZTQsIDB4ZjUsIDB4NDMsCi0gIDB4ZTUsIDB4M2EsIDB4NjAsIDB4MmQsIDB4MjAsIDB4MWEsIDB4MDcsIDB4OTAsIDB4N2YsIDB4OWEsIDB4ZTAsIDB4MzAsIDB4ZTIsIDB4MGUsIDB4ZTUsIDB4M2IsCi0gIDB4NjAsIDB4MDUsIDB4ZTQsIDB4ZjUsIDB4M2IsIDB4ZDIsIDB4MGUsIDB4ZTQsIDB4ZjUsIDB4M2YsIDB4ODAsIDB4MTMsIDB4ZTUsIDB4M2YsIDB4ZDN9fSwKLSB7MHgxNDg2LCA2NCwgeyAweDk1LCAweDZlLCAweDUwLCAweDBjLCAweGU1LCAweDNmLCAweGI1LCAweDZlLCAweDA1LCAweDc1LCAweDNiLCAweDAxLCAweGQyLCAweDBlLCAweDA1LCAweDNmLCAweGMyLAotICAweDFhLCAweDkwLCAweDdmLCAweGQyLCAweGUwLCAweDIwLCAweGUxLCAweDIzLCAweDkwLCAweDdiLCAweDQwLCAweGUwLCAweDYwLCAweDA5LCAweGUwLCAweGY1LAotICAweDFjLCAweDkwLCAweDdiLCAweDQyLCAweGUwLCAweGY1LCAweDFkLCAweDkwLCAweDdiLCAweDQxLCAweGUwLCAweDYwLCAweDA5LCAweDkwLCAweDdmLCAweGQ3LAotICAweDc0LCAweDE3LCAweGYwLCAweDc0LCAweDM3LCAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweGQzLCAweGYwLCAweDIyLCAweGU0LCAweDkwLCAweDdmfX0sCi0gezB4MTRjNiwgNjQsIHsgMHg5MywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5YywgMHg3NCwgMHgzMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhlMCwgMHg0NCwgMHgxMCwgMHhmMCwgMHg5MCwgMHg3ZiwKLSAgMHg5NCwgMHg3NCwgMHgwZCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZCwgMHg3NCwgMHg5YSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NywgMHhlMCwgMHg1NCwgMHhmZCwKLSAgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NSwgMHg3NCwgMHgyMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZSwgMHg3NCwgMHg4NCwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwKLSAgMHhjNywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhjOSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhjZiwgMHhmMCwgMHg3NSwgMHg5OCwgMHg0MCwgMHg0MywgMHhhOH19LAotIHsweDE1MDYsIDY0LCB7IDB4MTAsIDB4YzIsIDB4MWIsIDB4YzIsIDB4MDUsIDB4YzIsIDB4MjEsIDB4YzIsIDB4MGIsIDB4YzIsIDB4MTMsIDB4ZjUsIDB4N2MsIDB4ZjUsIDB4NGEsIDB4YzIsIDB4MTEsCi0gIDB4YzIsIDB4MTUsIDB4ZjUsIDB4NDIsIDB4YzIsIDB4MTksIDB4ZjUsIDB4NDQsIDB4ZjUsIDB4NDgsIDB4YzIsIDB4MjMsIDB4YzIsIDB4MWMsIDB4ZjUsIDB4MmQsCi0gIDB4ZjUsIDB4MmYsIDB4YzIsIDB4MDcsIDB4YzIsIDB4MDAsIDB4YzIsIDB4MWYsIDB4ZjUsIDB4M2UsIDB4YzIsIDB4MDksIDB4ZDIsIDB4MGMsIDB4ZjUsIDB4MjYsCi0gIDB4OTAsIDB4N2YsIDB4Y2IsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4Y2QsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZDEsIDB4ZjAsIDB4NzUsIDB4YzAsIDB4NDB9fSwKLSB7MHgxNTQ2LCA2NCwgeyAweDQzLCAweGE4LCAweDQwLCAweGMyLCAweDFkLCAweGMyLCAweDA2LCAweGMyLCAweDIyLCAweGMyLCAweDBkLCAweGMyLCAweDE0LCAweGY1LCAweDdkLCAweGY1LCAweDRiLAotICAweGMyLCAweDEyLCAweGMyLCAweDE2LCAweGY1LCAweDQzLCAweGMyLCAweDFhLCAweGY1LCAweDQ1LCAweGY1LCAweDQ5LCAweGMyLCAweDI0LCAweGMyLCAweDFlLAotICAweGY1LCAweDM5LCAweGY1LCAweDNiLCAweGMyLCAweDA4LCAweGMyLCAweDAwLCAweGMyLCAweDIwLCAweGY1LCAweDNmLCAweGMyLCAweDBhLCAweGQyLCAweDBlLAotICAweDc1LCAweDMyLCAweDAxLCAweDkwLCAweDdmLCAweGRmLCAweDc0LCAweGZmLCAweGYwLCAweDkwLCAweDdmLCAweGRlLCAweGYwLCAweGQyLCAweDI4fX0sCi0gezB4MTU4NiwgNjQsIHsgMHgyMiwgMHhiYiwgMHgwMSwgMHgwNiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlMCwgMHgyMiwgMHg1MCwgMHgwMiwgMHhlNywgMHgyMiwgMHhiYiwgMHhmZSwgMHgwMiwKLSAgMHhlMywgMHgyMiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlNCwgMHg5MywgMHgyMiwgMHhiYiwgMHgwMSwgMHgwYywgMHhlNSwgMHg4MiwgMHgyOSwgMHhmNSwKLSAgMHg4MiwgMHhlNSwgMHg4MywgMHgzYSwgMHhmNSwgMHg4MywgMHhlMCwgMHgyMiwgMHg1MCwgMHgwNiwgMHhlOSwgMHgyNSwgMHg4MiwgMHhmOCwgMHhlNiwgMHgyMiwKLSAgMHhiYiwgMHhmZSwgMHgwNiwgMHhlOSwgMHgyNSwgMHg4MiwgMHhmOCwgMHhlMiwgMHgyMiwgMHhlNSwgMHg4MiwgMHgyOSwgMHhmNSwgMHg4MiwgMHhlNX19LAotIHsweDE1YzYsIDY0LCB7IDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4OTMsIDB4MjIsIDB4YmIsIDB4MDEsIDB4MDYsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZjAsIDB4MjIsIDB4NTAsCi0gIDB4MDIsIDB4ZjcsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDEsIDB4ZjMsIDB4MjIsIDB4YmIsIDB4MDEsIDB4MTAsIDB4ZTUsIDB4ODIsIDB4MjksIDB4ZjUsIDB4ODIsCi0gIDB4ZTUsIDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4ZjAsIDB4YTMsIDB4ZTAsIDB4MjIsIDB4NTAsIDB4MDksIDB4ZTksIDB4MjUsIDB4ODIsCi0gIDB4ZjgsIDB4ODYsIDB4ZjAsIDB4MDgsIDB4ZTYsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MGEsIDB4ZTksIDB4MjUsIDB4ODIsIDB4ZjgsIDB4ZTIsIDB4ZjV9fSwKLSB7MHgxNjA2LCA2NCwgeyAweGYwLCAweDA4LCAweGUyLCAweDIyLCAweGU1LCAweDgzLCAweDJhLCAweGY1LCAweDgzLCAweGU5LCAweDkzLCAweGY1LCAweGYwLCAweGEzLCAweGU5LCAweDkzLCAweDIyLAotICAweGQwLCAweDgzLCAweGQwLCAweDgyLCAweGY4LCAweGU0LCAweDkzLCAweDcwLCAweDEyLCAweDc0LCAweDAxLCAweDkzLCAweDcwLCAweDBkLCAweGEzLCAweGEzLAotICAweDkzLCAweGY4LCAweDc0LCAweDAxLCAweDkzLCAweGY1LCAweDgyLCAweDg4LCAweDgzLCAweGU0LCAweDczLCAweDc0LCAweDAyLCAweDkzLCAweDY4LCAweDYwLAotICAweGVmLCAweGEzLCAweGEzLCAweGEzLCAweDgwLCAweGRmLCAweDc4LCAweDdmLCAweGU0LCAweGY2LCAweGQ4LCAweGZkLCAweDc1LCAweDgxLCAweDdkfX0sCi0gezB4MTY0NiwgNjQsIHsgMHgwMiwgMHgxNiwgMHg4NCwgMHgwMiwgMHgxNiwgMHhjOSwgMHhlNCwgMHg5MywgMHhhMywgMHhmOCwgMHhlNCwgMHg5MywgMHhhMywgMHg0MCwgMHgwMywgMHhmNiwgMHg4MCwKLSAgMHgwMSwgMHhmMiwgMHgwOCwgMHhkZiwgMHhmNCwgMHg4MCwgMHgyOSwgMHhlNCwgMHg5MywgMHhhMywgMHhmOCwgMHg1NCwgMHgwNywgMHgyNCwgMHgwYywgMHhjOCwKLSAgMHhjMywgMHgzMywgMHhjNCwgMHg1NCwgMHgwZiwgMHg0NCwgMHgyMCwgMHhjOCwgMHg4MywgMHg0MCwgMHgwNCwgMHhmNCwgMHg1NiwgMHg4MCwgMHgwMSwgMHg0NiwKLSAgMHhmNiwgMHhkZiwgMHhlNCwgMHg4MCwgMHgwYiwgMHgwMSwgMHgwMiwgMHgwNCwgMHgwOCwgMHgxMCwgMHgyMCwgMHg0MCwgMHg4MCwgMHg5MCwgMHgxOH19LAotIHsweDE2ODYsIDY0LCB7IDB4YzUsIDB4ZTQsIDB4N2UsIDB4MDEsIDB4OTMsIDB4NjAsIDB4YmMsIDB4YTMsIDB4ZmYsIDB4NTQsIDB4M2YsIDB4MzAsIDB4ZTUsIDB4MDksIDB4NTQsIDB4MWYsIDB4ZmUsCi0gIDB4ZTQsIDB4OTMsIDB4YTMsIDB4NjAsIDB4MDEsIDB4MGUsIDB4Y2YsIDB4NTQsIDB4YzAsIDB4MjUsIDB4ZTAsIDB4NjAsIDB4YTgsIDB4NDAsIDB4YjgsIDB4ZTQsCi0gIDB4OTMsIDB4YTMsIDB4ZmEsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjgsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4YzgsIDB4YzUsIDB4ODIsIDB4YzgsIDB4Y2EsIDB4YzUsCi0gIDB4ODMsIDB4Y2EsIDB4ZjAsIDB4YTMsIDB4YzgsIDB4YzUsIDB4ODIsIDB4YzgsIDB4Y2EsIDB4YzUsIDB4ODMsIDB4Y2EsIDB4ZGYsIDB4ZTksIDB4ZGV9fSwKLSB7MHgxNmM2LCA2NCwgeyAweGU3LCAweDgwLCAweGJlLCAweDc1LCAweDExLCAweDAxLCAweDkwLCAweDdmLCAweDkyLCAweGUwLCAweDU0LCAweGZkLCAweGYwLCAweDkwLCAweDdmLCAweGFlLCAweGUwLAotICAweGZmLCAweGQzLCAweDkyLCAweDI2LCAweGU0LCAweDMzLCAweGZlLCAweGVmLCAweDRlLCAweGYwLCAweGQyLCAweGU4LCAweDQzLCAweGQ4LCAweDIwLCAweDkwLAotICAweDdmLCAweGRlLCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGRmLCAweGYwLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweGZmLCAweGYwLCAweDkwLAotICAweDdmLCAweGE5LCAweGYwLCAweDkwLCAweDdmLCAweGFhLCAweGYwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFmLCAweGUwLCAweDQ0fX0sCi0gezB4MTcwNiwgNjQsIHsgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhZSwgMHhlMCwgMHg0NCwgMHgwZCwgMHhmMCwgMHhkMiwgMHhhZiwgMHhkMiwgMHhiYywgMHhkMiwgMHhiZSwgMHhkMiwgMHgyZCwKLSAgMHgxMiwgMHgxOCwgMHg3ZiwgMHhjMiwgMHgyNywgMHhjMiwgMHgyNSwgMHhjMiwgMHgyOCwgMHgzMCwgMHgyOCwgMHgwMywgMHgxMiwgMHgwYSwgMHg4MywgMHg5MCwKLSAgMHg3ZiwgMHhkOCwgMHhlMCwgMHg2NSwgMHgxMCwgMHg2MCwgMHgwOCwgMHhlMCwgMHhmNSwgMHgxMCwgMHgxMiwgMHgxMywgMHg3ZSwgMHg4MCwgMHhlYSwgMHgzMCwKLSAgMHgyNywgMHgwNywgMHhjMiwgMHgyNywgMHgxMiwgMHgxMSwgMHg3YiwgMHg4MCwgMHhlMCwgMHgzMCwgMHgyYywgMHhkZCwgMHhjMiwgMHgyYywgMHgxMn19LAotIHsweDE3NDYsIDY0LCB7IDB4MDAsIDB4MjYsIDB4ODAsIDB4ZDYsIDB4MjIsIDB4ZTQsIDB4ZmUsIDB4NzUsIDB4MTcsIDB4ZmYsIDB4NzUsIDB4MTgsIDB4MTksIDB4NzUsIDB4MTksIDB4MTIsIDB4YWIsCi0gIDB4MTcsIDB4YWEsIDB4MTgsIDB4YTksIDB4MTksIDB4OTAsIDB4MDAsIDB4MDEsIDB4MTIsIDB4MTUsIDB4YTAsIDB4NjQsIDB4MDIsIDB4NzAsIDB4MmQsIDB4YWQsCi0gIDB4MDYsIDB4MGUsIDB4ZWQsIDB4YjUsIDB4MDcsIDB4MDEsIDB4MjIsIDB4OTAsIDB4MDAsIDB4MDIsIDB4MTIsIDB4MTUsIDB4ZGYsIDB4ODUsIDB4ZjAsIDB4MTUsCi0gIDB4ZjUsIDB4MTYsIDB4NjIsIDB4MTUsIDB4ZTUsIDB4MTUsIDB4NjIsIDB4MTYsIDB4ZTUsIDB4MTYsIDB4NjIsIDB4MTUsIDB4MjksIDB4ZmQsIDB4ZTV9fSwKLSB7MHgxNzg2LCA2NCwgeyAweDE1LCAweDNhLCAweGE5LCAweDA1LCAweDc1LCAweDE3LCAweGZmLCAweGY1LCAweDE4LCAweDg5LCAweDE5LCAweDgwLCAweGMzLCAweDdiLCAweDAwLCAweDdhLCAweDAwLAotICAweDc5LCAweDAwLCAweDIyLCAweDhmLCAweDE1LCAweGU0LCAweGY1LCAweDE2LCAweDc1LCAweDE3LCAweGZmLCAweDc1LCAweDE4LCAweDE5LCAweDc1LCAweDE5LAotICAweDg2LCAweGFiLCAweDE3LCAweGFhLCAweDE4LCAweGE5LCAweDE5LCAweDkwLCAweDAwLCAweDAxLCAweDEyLCAweDE1LCAweGEwLCAweGI0LCAweDAzLCAweDFkLAotICAweGFmLCAweDE2LCAweDA1LCAweDE2LCAweGVmLCAweGI1LCAweDE1LCAweDAxLCAweDIyLCAweDEyLCAweDE1LCAweDg3LCAweDdlLCAweDAwLCAweDI5fX0sCi0gezB4MTdjNiwgNjQsIHsgMHhmZiwgMHhlZSwgMHgzYSwgMHhhOSwgMHgwNywgMHg3NSwgMHgxNywgMHhmZiwgMHhmNSwgMHgxOCwgMHg4OSwgMHgxOSwgMHg4MCwgMHhkNCwgMHg3YiwgMHgwMCwgMHg3YSwKLSAgMHgwMCwgMHg3OSwgMHgwMCwgMHgyMiwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5MywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5YywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NCwKLSAgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZCwgMHg3NCwgMHgwMiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NywgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5NSwgMHhmMCwKLSAgMHg5MCwgMHg3ZiwgMHg5ZSwgMHg3NCwgMHhmZiwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZCwgMHhmMH19LAotIHsweDE4MDYsIDY0LCB7IDB4MjIsIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4OTAsCi0gIDB4N2YsIDB4YzQsIDB4ZTQsIDB4ZjAsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDQsIDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDAsCi0gIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsCi0gIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4ZDIsIDB4MjcsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTB9fSwKLSB7MHgxODQ2LCA2NCwgeyAweDdmLCAweGFiLCAweDc0LCAweDAxLCAweGYwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLAotICAweDMyLCAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLAotICAweGQyLCAweDJjLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDA4LCAweGYwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LCAweGQwLAotICAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyLCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDU0LCAweGZiLCAweGYwfX0sCi0gezB4MTg4NiwgNjQsIHsgMHhlMCwgMHg0NCwgMHgwOCwgMHhmMCwgMHgzMCwgMHgyZCwgMHgwNCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHg3ZiwgMHhmNCwgMHg3ZSwgMHgwMSwgMHgxMiwgMHgwMCwKLSAgMHgwNiwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg1NCwgMHhmNywgMHhmMCwgMHhlMCwgMHg0NCwgMHgwNCwgMHhmMCwgMHgyMiwgMHg3NCwgMHgwMCwgMHhmNSwKLSAgMHg4NiwgMHg5MCwgMHhmZCwgMHhhNSwgMHg3YywgMHgwNSwgMHhhMywgMHhlNSwgMHg4MiwgMHg0NSwgMHg4MywgMHg3MCwgMHhmOSwgMHgyMiwgMHg5MCwgMHg3ZiwKLSAgMHhkNiwgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHg0MywgMHg4NywgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgyMiwgMHhjMX19LAotIHsweDE4YzYsIDY0LCB7IDB4YWEsIDB4MDEsIDB4MWEsIDB4MDAsIDB4MDMsIDB4MWIsIDB4MDMsIDB4MDAsIDB4MDAsIDB4YzEsIDB4MjcsIDB4YzEsIDB4MmMsIDB4YzEsIDB4MjYsIDB4YzEsIDB4MmIsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MTIsIDB4MDEsIDB4MTAsIDB4MDEsIDB4ZmYsIDB4MDB9fSwKLSB7MHgxOTA2LCA2NCwgeyAweDAwLCAweDQwLCAweGNkLCAweDA2LCAweDBmLCAweDAxLCAweDAwLCAweDAwLCAweDAxLCAweDAyLCAweDAwLCAweDAxLCAweDA5LCAweDAyLCAweDc0LCAweDAwLCAweDAxLAotICAweDAxLCAweDAwLCAweGEwLCAweDMyLCAweDA5LCAweDA0LCAweDAwLCAweDAwLCAweDBlLCAweGZmLCAweDAwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAxLAotICAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAyLCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAzLCAweDAyLCAweDQwLAotICAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDA0LCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDA1LCAweDAyLCAweDQwLCAweDAwfX0sCi0gezB4MTk0NiwgNjQsIHsgMHgwMCwgMHgwNywgMHgwNSwgMHgwNiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwNywgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwKLSAgMHg4MSwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4MiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4MywgMHgwMiwKLSAgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4NCwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4NSwgMHgwMiwgMHg0MCwgMHgwMCwKLSAgMHgwMSwgMHgwNywgMHgwNSwgMHg4NiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4NywgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMX19LAotIHsweDE5ODYsIDY0LCB7IDB4MDQsIDB4MDMsIDB4MDksIDB4MDQsIDB4NDgsIDB4MDMsIDB4NGIsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzksIDB4MDAsIDB4NzMsIDB4MDAsIDB4NzAsIDB4MDAsIDB4NjEsCi0gIDB4MDAsIDB4NmUsIDB4MDAsIDB4MmMsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NjEsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NjQsIDB4MDAsIDB4NjksIDB4MDAsIDB4NzYsCi0gIDB4MDAsIDB4NjksIDB4MDAsIDB4NzMsIDB4MDAsIDB4NjksIDB4MDAsIDB4NmYsIDB4MDAsIDB4NmUsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NmYsIDB4MDAsIDB4NjYsCi0gIDB4MDAsIDB4MjAsIDB4MDAsIDB4NDksIDB4MDAsIDB4NmUsIDB4MDAsIDB4NmUsIDB4MDAsIDB4NmYsIDB4MDAsIDB4NTMsIDB4MDAsIDB4NzksIDB4MDB9fSwKLSB7MHgxOWM2LCA2NCwgeyAweDczLCAweDAwLCAweDIwLCAweDAwLCAweDQ5LCAweDAwLCAweDZlLCAweDAwLCAweDYzLCAweDAwLCAweDJlLCAweDAwLCAweDM2LCAweDAzLCAweDRiLCAweDAwLCAweDY1LAotICAweDAwLCAweDc5LCAweDAwLCAweDczLCAweDAwLCAweDcwLCAweDAwLCAweDYxLCAweDAwLCAweDZlLCAweDAwLCAweDIwLCAweDAwLCAweDU1LCAweDAwLCAweDUzLAotICAweDAwLCAweDQyLCAweDAwLCAweDIwLCAweDAwLCAweDUzLCAweDAwLCAweDY1LCAweDAwLCAweDcyLCAweDAwLCAweDY5LCAweDAwLCAweDYxLCAweDAwLCAweDZjLAotICAweDAwLCAweDIwLCAweDAwLCAweDQxLCAweDAwLCAweDY0LCAweDAwLCAweDYxLCAweDAwLCAweDcwLCAweDAwLCAweDc0LCAweDAwLCAweDY1LCAweDAwfX0sCi0gezB4MWEwNiwgNjQsIHsgMHg3MiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDFhNDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxYTg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MWFjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgxOCwgMHgzMSwgMHgwMCwgMHgwMiwgMHgxYn19LAotIHsweDFiMDYsICA5LCB7IDB4MDQsIDB4MDAsIDB4MDIsIDB4MTgsIDB4MDcsIDB4MDAsIDB4MDIsIDB4MTgsIDB4NTh9fSwKLSB7MHhmZmZmLCAgMCwgezB4MDB9fQotfTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3VzYTI4eF9mdy5oIGIvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fdXNhMjh4X2Z3LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMzODdlZDkuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fdXNhMjh4X2Z3LmgKKysrIC9kZXYvbnVsbApAQCAtMSw0NDcgKzAsMCBAQAotLyoga2V5c3Bhbl91c2EyOHhfZncuaAotCi0JVGhlIGZpcm13YXJlIGNvbnRhaW5lZCBoZXJlaW4gYXMga2V5c3Bhbl91c2EyOHhfZncuaCBpcwotCi0JCUNvcHlyaWdodCAoQykgMTk5OS0yMDAxCi0JCUtleXNwYW4sIEEgZGl2aXNpb24gb2YgSW5ub1N5cyBJbmNvcnBvcmF0ZWQgKCJLZXlzcGFuIikKLQkJCi0JYXMgYW4gdW5wdWJsaXNoZWQgd29yay4gVGhpcyBub3RpY2UgZG9lcyBub3QgaW1wbHkgdW5yZXN0cmljdGVkIG9yCi0JcHVibGljIGFjY2VzcyB0byB0aGUgc291cmNlIGNvZGUgZnJvbSB3aGljaCB0aGlzIGZpcm13YXJlIGltYWdlIGlzCi0JZGVyaXZlZC4gIEV4Y2VwdCBhcyBub3RlZCBiZWxvdyB0aGlzIGZpcm13YXJlIGltYWdlIG1heSBub3QgYmUgCi0JcmVwcm9kdWNlZCwgdXNlZCwgc29sZCBvciB0cmFuc2ZlcnJlZCB0byBhbnkgdGhpcmQgcGFydHkgd2l0aG91dCAKLQlLZXlzcGFuJ3MgcHJpb3Igd3JpdHRlbiBjb25zZW50LiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLQotCVBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQgZm9yIHRoZSBkaXN0cmlidXRpb24gb2YgdGhpcyBmaXJtd2FyZSAKLQlpbWFnZSBhcyBwYXJ0IG9mIGEgTGludXggb3Igb3RoZXIgT3BlbiBTb3VyY2Ugb3BlcmF0aW5nIHN5c3RlbSBrZXJuZWwgCi0JaW4gdGV4dCBvciBiaW5hcnkgZm9ybSBhcyByZXF1aXJlZC4gCi0KLQlUaGlzIGZpcm13YXJlIG1heSBub3QgYmUgbW9kaWZpZWQgYW5kIG1heSBvbmx5IGJlIHVzZWQgd2l0aCAgCi0JS2V5c3BhbiBoYXJkd2FyZS4gIERpc3RyaWJ1dGlvbiBhbmQvb3IgTW9kaWZpY2F0aW9uIG9mIHRoZSAKLQlrZXlzcGFuLmMgZHJpdmVyIHdoaWNoIGluY2x1ZGVzIHRoaXMgZmlybXdhcmUsIGluIHdob2xlIG9yIGluIAotCXBhcnQsIHJlcXVpcmVzIHRoZSBpbmNsdXNpb24gb2YgdGhpcyBzdGF0ZW1lbnQuIgotCi0qLwotCi1zdGF0aWMgY29uc3Qgc3RydWN0IGV6dXNiX2hleF9yZWNvcmQga2V5c3Bhbl91c2EyOHhfZmlybXdhcmVbXSA9IHsKLSB7MHgwMDMzLCAgMywgeyAweDAyLCAweDEyLCAweGY3fX0sCi0gezB4MDAwMywgMTYsIHsgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5MywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5YywgMHg3NCwgMHgzMCwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhmMH19LAotIHsweDAwMTMsIDE2LCB7IDB4OTAsIDB4N2YsIDB4OTQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWQsIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTcsIDB4ZjAsIDB4OTB9fSwKLSB7MHgwMDIzLCAxNSwgeyAweDdmLCAweDk1LCAweGYwLCAweDkwLCAweDdmLCAweDllLCAweDc0LCAweDA3LCAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweDk4LCAweGYwLCAweDIyfX0sCi0gezB4MDA0NiwgMTYsIHsgMHgzMCwgMHgwOSwgMHgxOCwgMHgxMiwgMHgxMywgMHgxYiwgMHhlZiwgMHhjMywgMHg5NSwgMHgzYywgMHg0MCwgMHgwMywgMHgwMiwgMHgwMCwgMHhkOCwgMHg5MH19LAotIHsweDAwNTYsIDE2LCB7IDB4N2YsIDB4YmYsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4YzIsIDB4MDksIDB4YzIsIDB4MDAsIDB4ODAsIDB4NzcsIDB4MzAsIDB4MDMsIDB4M2IsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwMDY2LCAxNiwgeyAweGM2LCAweGUwLCAweDIwLCAweGUxLCAweDZkLCAweDEyLCAweDEzLCAweDFiLCAweGVmLCAweGMzLCAweDk0LCAweDQwLCAweDUwLCAweDY0LCAweDkwLCAweDdlfX0sCi0gezB4MDA3NiwgMTYsIHsgMHg0MCwgMHhlMCwgMHgxMywgMHg5MiwgMHgwOSwgMHg5MCwgMHg3ZiwgMHhjNywgMHhlMCwgMHgxNCwgMHhmNSwgMHgxOSwgMHgyMCwgMHgwMCwgMHgxMSwgMHg2MH19LAotIHsweDAwODYsIDE2LCB7IDB4MGYsIDB4ZjUsIDB4MDgsIDB4N2UsIDB4N2UsIDB4N2YsIDB4NDEsIDB4NzUsIDB4MGMsIDB4N2UsIDB4NzUsIDB4MGQsIDB4NDEsIDB4MTIsIDB4MGMsIDB4YmF9fSwKLSB7MHgwMDk2LCAxNiwgeyAweGMyLCAweDAzLCAweGU0LCAweDkwLCAweDdmLCAweGM3LCAweGYwLCAweDgwLCAweDM5LCAweDkwLCAweDdmLCAweGM4LCAweGUwLCAweDIwLCAweGUxLCAweDMyfX0sCi0gezB4MDBhNiwgMTYsIHsgMHgxMiwgMHgxMywgMHgxYiwgMHhlZiwgMHhjMywgMHg5NCwgMHg0MCwgMHg1MCwgMHgyOSwgMHg5MCwgMHg3ZCwgMHhjMCwgMHhlMCwgMHgxMywgMHg5MiwgMHgwOX19LAotIHsweDAwYjYsIDE2LCB7IDB4OTAsIDB4N2YsIDB4YzksIDB4ZTAsIDB4MTQsIDB4ZjUsIDB4MTksIDB4MjAsIDB4MDAsIDB4MTEsIDB4NjAsIDB4MGYsIDB4ZjUsIDB4MDgsIDB4N2UsIDB4N2R9fSwKLSB7MHgwMGM2LCAxNiwgeyAweDdmLCAweGMxLCAweDc1LCAweDBjLCAweDdkLCAweDc1LCAweDBkLCAweGMxLCAweDEyLCAweDBjLCAweGJhLCAweGQyLCAweDAzLCAweGU0LCAweDkwLCAweDdmfX0sCi0gezB4MDBkNiwgMTYsIHsgMHhjOSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNiwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwMywgMHgwMiwgMHgwMSwgMHg2MCwgMHgxMiwgMHgxMSwgMHhkNiwgMHg4Zn19LAotIHsweDAwZTYsIDE2LCB7IDB4MTksIDB4MTIsIDB4MTMsIDB4MjcsIDB4OGYsIDB4MzYsIDB4ZTUsIDB4MTksIDB4YzMsIDB4OTUsIDB4M2EsIDB4NTAsIDB4MGYsIDB4MTIsIDB4MTIsIDB4ZWJ9fSwKLSB7MHgwMGY2LCAxNiwgeyAweGVmLCAweDMwLCAweGUwLCAweDA4LCAweGU1LCAweDM2LCAweDIwLCAweGU3LCAweDAzLCAweDMwLCAweDBiLCAweDVlLCAweGMyLCAweDBiLCAweGU1LCAweDE5fX0sCi0gezB4MDAzNiwgMTIsIHsgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMn19LAotIHsweDAwNDMsICAzLCB7IDB4MDIsIDB4MTMsIDB4MDB9fSwKLSB7MHgwMDAwLCAgMywgeyAweDAyLCAweDBlLCAweDAwfX0sCi0gezB4MDEwNiwgNjQsIHsgMHg2MCwgMHg1OCwgMHhiNCwgMHg4MCwgMHgwMywgMHg0MywgMHgzNiwgMHgwMiwgMHhlNSwgMHgzNiwgMHgzMCwgMHhlNywgMHgyNiwgMHhlNSwgMHgxOSwgMHhkMywgMHg5NCwKLSAgMHgyMCwgMHg0MCwgMHgwMywgMHg3NSwgMHgxOSwgMHgyMCwgMHg4NSwgMHgxOSwgMHgwOCwgMHg3ZSwgMHg3ZSwgMHg3ZiwgMHg4MCwgMHg3NSwgMHgwYywgMHg3ZSwKLSAgMHg3NSwgMHgwZCwgMHg4MCwgMHhhZiwgMHgzNiwgMHgxMiwgMHgwZiwgMHg0YiwgMHhlNSwgMHgxOSwgMHgyNSwgMHhlMCwgMHg5MCwgMHg3ZiwgMHhiNywgMHhmMCwKLSAgMHg4MCwgMHgyNywgMHhlNSwgMHgxOSwgMHhkMywgMHg5NCwgMHgzZiwgMHg0MCwgMHgwMywgMHg3NSwgMHgxOSwgMHgzZiwgMHg4NSwgMHgxOSwgMHgwOH19LAotIHsweDAxNDYsIDY0LCB7IDB4OTAsIDB4N2UsIDB4ODAsIDB4ZTUsIDB4MzYsIDB4ZjAsIDB4N2UsIDB4N2UsIDB4N2YsIDB4ODEsIDB4NzUsIDB4MGMsIDB4N2UsIDB4NzUsIDB4MGQsIDB4ODEsIDB4MTIsCi0gIDB4MGMsIDB4ZGYsIDB4ZTUsIDB4MTksIDB4MDQsIDB4OTAsIDB4N2YsIDB4YjcsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4Y2UsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDYsCi0gIDB4MjAsIDB4MDUsIDB4MDMsIDB4MDIsIDB4MDMsIDB4YzEsIDB4YzIsIDB4MDUsIDB4ZTQsIDB4ZjUsIDB4MTgsIDB4NzQsIDB4NDAsIDB4MjUsIDB4MTgsIDB4ZjUsCi0gIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2MsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4ZTUsIDB4MTgsIDB4N2MsIDB4MDAsIDB4N2IsIDB4MDEsIDB4N2F9fSwKLSB7MHgwMTg2LCA2NCwgeyAweDdlLCAweDc5LCAweDAwLCAweDI0LCAweDAwLCAweGY5LCAweGVjLCAweDM0LCAweDdlLCAweGZhLCAweGVmLCAweDEyLCAweDBlLCAweGQyLCAweDA1LCAweDE4LCAweGU1LAotICAweDE4LCAweGI0LCAweDIwLCAweGQ3LCAweDkwLCAweDdlLCAweDAwLCAweGUwLCAweDYwLCAweDY4LCAweDkwLCAweDdlLCAweDAzLCAweGUwLCAweDYwLCAweDI0LAotICAweDdmLCAweDAxLCAweGU0LCAweGZkLCAweDEyLCAweDExLCAweGIxLCAweDdmLCAweDAzLCAweDdkLCAweGNkLCAweDEyLCAweDExLCAweGIxLCAweDQzLCAweDQ2LAotICAweDgwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE0LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDQ2LCAweGYwLCAweGU0LCAweDkwfX0sCi0gezB4MDFjNiwgNjQsIHsgMHg3ZSwgMHgxMywgMHhmMCwgMHg4MCwgMHgzMCwgMHg5MCwgMHg3ZSwgMHgwMSwgMHhlMCwgMHhmZiwgMHgxMiwgMHgxMCwgMHgzNSwgMHg5MCwgMHg3ZSwgMHgwMiwgMHhlMCwKLSAgMHhmZiwgMHgxMiwgMHgxMCwgMHg1YiwgMHg3ZiwgMHgwMSwgMHg5MCwgMHg3ZSwgMHgxMSwgMHhlMCwgMHhmZCwgMHgxMiwgMHgxMSwgMHhiMSwgMHg3ZiwgMHgwMywKLSAgMHg3ZCwgMHgwNywgMHgxMiwgMHgxMSwgMHhiMSwgMHg0MywgMHg0NiwgMHg4MCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwKLSAgMHgwMCwgMHhlNSwgMHg0NiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMiwgMHhmMCwgMHhlNSwgMHg0MCwgMHg0NCwgMHgwNiwgMHg5MH19LAotIHsweDAyMDYsIDY0LCB7IDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MDMsIDB4ZTAsIDB4NzAsIDB4MDYsIDB4OTAsIDB4N2UsIDB4MTMsIDB4ZTAsIDB4NzAsIDB4MDgsIDB4ZTQsIDB4OTAsCi0gIDB4N2UsIDB4MTMsIDB4ZjAsIDB4NzUsIDB4MjUsIDB4ZmYsIDB4OTAsIDB4N2UsIDB4MDUsIDB4ZTAsIDB4NjAsIDB4MTIsIDB4YTMsIDB4ZTAsIDB4NTQsIDB4M2YsCi0gIDB4ZjUsIDB4NDQsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDQsIDB4ZjAsIDB4OTAsIDB4N2UsCi0gIDB4MDcsIDB4ZTAsIDB4NjAsIDB4MmIsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4NDIsIDB4ODAsIDB4ODAsIDB4MDMsIDB4NTMsIDB4NDJ9fSwKLSB7MHgwMjQ2LCA2NCwgeyAweDdmLCAweDUzLCAweDQyLCAweGZjLCAweDkwLCAweDdlLCAweDA5LCAweGUwLCAweDYwLCAweDExLCAweDQzLCAweDQyLCAweDAyLCAweGEzLCAweGUwLCAweGZmLCAweDEyLAotICAweDEwLCAweGE3LCAweDkwLCAweDdlLCAweDBiLCAweGUwLCAweGZmLCAweDEyLCAweDEwLCAweGNkLCAweGFmLCAweDQyLCAweDEyLCAweDEwLCAweDgxLCAweDkwLAotICAweDdlLCAweDAzLCAweGUwLCAweDYwLCAweDA4LCAweDUzLCAweDQyLCAweDdmLCAweGFmLCAweDQyLCAweDEyLCAweDEwLCAweDgxLCAweDkwLCAweDdlLCAweDBjLAotICAweGUwLCAweDYwLCAweDE4LCAweGEzLCAweGUwLCAweDYwLCAweDA1LCAweDQzLCAweDQ2LCAweDAyLCAweDgwLCAweDAzLCAweDUzLCAweDQ2LCAweGZkfX0sCi0gezB4MDI4NiwgNjQsIHsgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NiwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgwZSwgMHhlMCwgMHg2MCwKLSAgMHgxOCwgMHhhMywgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHg0NiwgMHgwMSwgMHg4MCwgMHgwMywgMHg1MywgMHg0NiwgMHhmZSwgMHg5MCwgMHg3ZiwgMHg5OCwKLSAgMHg3NCwgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NiwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgxMiwgMHhlMCwgMHhmNSwgMHgzYSwgMHhhMywKLSAgMHhlMCwgMHgxMywgMHg5MiwgMHgwZCwgMHhhMywgMHhlMCwgMHhmNSwgMHgzYywgMHhhMywgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHg0NiwgMHgxMH19LAotIHsweDAyYzYsIDY0LCB7IDB4ODAsIDB4MDMsIDB4NTMsIDB4NDYsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDYsIDB4ZjAsCi0gIDB4OTAsIDB4N2UsIDB4MTYsIDB4ZTAsIDB4NjAsIDB4MzIsIDB4NTMsIDB4NDQsIDB4YmYsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTUsCi0gIDB4NDQsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4MTIsIDB4MTIsIDB4ZGYsCi0gIDB4ZWYsIDB4NTQsIDB4ZmUsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4NTMsIDB4M2UsIDB4ZmQsIDB4ZTQsIDB4ZmYsIDB4YWQsIDB4M2UsIDB4MTJ9fSwKLSB7MHgwMzA2LCA2NCwgeyAweDExLCAweGIxLCAweGU0LCAweGY1LCAweDJhLCAweGY1LCAweDI5LCAweGQyLCAweDA3LCAweDkwLCAweDdlLCAweDE3LCAweGUwLCAweDYwLCAweDBmLCAweDQzLCAweDNlLAotICAweDAyLCAweGU0LCAweGZmLCAweGFkLCAweDNlLCAweDEyLCAweDExLCAweGIxLCAweDc1LCAweDI5LCAweDAxLCAweGQyLCAweDA3LCAweDkwLCAweDdlLCAweDE4LAotICAweGUwLCAweDYwLCAweDEwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEyLCAweGYwLCAweGU1LCAweDQwLCAweDQ0LCAweDA0LCAweDkwLCAweGMwLCAweDAwLAotICAweGYwLCAweGQyLCAweDAwLCAweDkwLCAweDdlLCAweDE5LCAweGUwLCAweDYwLCAweDExLCAweDQzLCAweDQ0LCAweDQwLCAweDkwLCAweDdmLCAweDk4fX0sCi0gezB4MDM0NiwgNjQsIHsgMHg3NCwgMHgxMywgMHhmMCwgMHhlNSwgMHg0NCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgxYSwgMHhlMCwgMHg2MCwgMHgwZiwKLSAgMHg1MywgMHgzZSwgMHhmZSwgMHhlNCwgMHhmZiwgMHhhZCwgMHgzZSwgMHgxMiwgMHgxMSwgMHhiMSwgMHg3NSwgMHgyYiwgMHgwMSwgMHhkMiwgMHgwNywgMHg5MCwKLSAgMHg3ZSwgMHgxYiwgMHhlMCwgMHg2MCwgMHgwZiwgMHg0MywgMHgzZSwgMHgwMSwgMHhlNCwgMHhmZiwgMHhhZCwgMHgzZSwgMHgxMiwgMHgxMSwgMHhiMSwgMHhlNCwKLSAgMHhmNSwgMHgyYiwgMHhkMiwgMHgwNywgMHg5MCwgMHg3ZSwgMHgxYywgMHhlMCwgMHg2MCwgMHgwZSwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMn19LAotIHsweDAzODYsIDY0LCB7IDB4ZjAsIDB4ZTUsIDB4NDAsIDB4NDQsIDB4MDIsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MWQsIDB4ZTAsIDB4NjAsIDB4MDIsIDB4ZDIsIDB4MGIsCi0gIDB4OTAsIDB4N2UsIDB4MWUsIDB4ZTAsIDB4NjAsIDB4MDgsIDB4NzUsIDB4MmMsIDB4MDEsIDB4ZTQsIDB4ZjUsIDB4MzgsIDB4ZDIsIDB4MDcsIDB4OTAsIDB4N2UsCi0gIDB4MWYsIDB4ZTAsIDB4NjAsIDB4MTEsIDB4OTAsIDB4N2YsIDB4ZDcsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4NzQsIDB4MzEsIDB4ZjAsIDB4NzQsIDB4MTUsIDB4ZjAsCi0gIDB4NzQsIDB4MzUsIDB4ZjAsIDB4ZDIsIDB4MDMsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4Y2YsIDB4ZjAsIDB4MzAsIDB4MWEsIDB4NTIsIDB4ZTUsIDB4Mzh9fSwKLSB7MHgwM2M2LCA2NCwgeyAweDYwLCAweDAyLCAweDE1LCAweDM4LCAweDIwLCAweDEzLCAweDQ5LCAweGU1LCAweDEzLCAweGQzLCAweDk0LCAweDAwLCAweDQwLCAweDA0LCAweDE1LCAweDEzLCAweDgwLAotICAweDNlLCAweDc1LCAweDEzLCAweDBhLCAweDMwLCAweDFiLCAweDAyLCAweGQyLCAweDEzLCAweDEyLCAweDEyLCAweGRmLCAweGVmLCAweDU0LCAweDAxLCAweGY1LAotICAweDE5LCAweDY1LCAweDJhLCAweDYwLCAweDA1LCAweDg1LCAweDE5LCAweDJhLCAweGQyLCAweDA3LCAweDEyLCAweDEzLCAweDMzLCAweGVmLCAweDU0LCAweDgwLAotICAweGY1LCAweDE5LCAweDY1LCAweDI2LCAweDYwLCAweDA1LCAweDg1LCAweDE5LCAweDI2LCAweGQyLCAweDA3LCAweDMwLCAweDBkLCAweDExLCAweDEyfX0sCi0gezB4MDQwNiwgNjQsIHsgMHgxMywgMHgzMywgMHhlZiwgMHg1NCwgMHgxMCwgMHhmNSwgMHgxOSwgMHg2NSwgMHgyNSwgMHg2MCwgMHgwNSwgMHg4NSwgMHgxOSwgMHgyNSwgMHhkMiwgMHgwNywgMHgyMCwKLSAgMHgxYiwgMHgwMywgMHgwMiwgMHgwNywgMHhlYywgMHgzMCwgMHgwYSwgMHgxOCwgMHgxMiwgMHgxMywgMHg2ZiwgMHhlZiwgMHhjMywgMHg5NSwgMHgzZCwgMHg0MCwKLSAgMHgwMywgMHgwMiwgMHgwNCwgMHhhZSwgMHg5MCwgMHg3ZiwgMHhjMSwgMHg3NCwgMHgwMSwgMHhmMCwgMHhjMiwgMHgwYSwgMHhjMiwgMHgwMCwgMHg4MCwgMHg3NywKLSAgMHgzMCwgMHgwNCwgMHgzYiwgMHg5MCwgMHg3ZiwgMHhjYSwgMHhlMCwgMHgyMCwgMHhlMSwgMHg2ZCwgMHgxMiwgMHgxMywgMHg2ZiwgMHhlZiwgMHhjM319LAotIHsweDA0NDYsIDY0LCB7IDB4OTQsIDB4NDAsIDB4NTAsIDB4NjQsIDB4OTAsIDB4N2QsIDB4NDAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGEsIDB4OTAsIDB4N2YsIDB4Y2IsIDB4ZTAsIDB4MTQsIDB4ZjUsCi0gIDB4MTksIDB4MjAsIDB4MDAsIDB4MTEsIDB4NjAsIDB4MGYsIDB4ZjUsIDB4MDgsIDB4N2UsIDB4N2QsIDB4N2YsIDB4NDEsIDB4NzUsIDB4MGMsIDB4N2QsIDB4NzUsCi0gIDB4MGQsIDB4NDEsIDB4MTIsIDB4MGQsIDB4MDQsIDB4YzIsIDB4MDQsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4Y2IsIDB4ZjAsIDB4ODAsIDB4MzksIDB4OTAsIDB4N2YsCi0gIDB4Y2MsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MzIsIDB4MTIsIDB4MTMsIDB4NmYsIDB4ZWYsIDB4YzMsIDB4OTQsIDB4NDAsIDB4NTAsIDB4MjksIDB4OTB9fSwKLSB7MHgwNDg2LCA2NCwgeyAweDdjLCAweGMwLCAweGUwLCAweDEzLCAweDkyLCAweDBhLCAweDkwLCAweDdmLCAweGNkLCAweGUwLCAweDE0LCAweGY1LCAweDE5LCAweDIwLCAweDAwLCAweDExLCAweDYwLAotICAweDBmLCAweGY1LCAweDA4LCAweDdlLCAweDdjLCAweDdmLCAweGMxLCAweDc1LCAweDBjLCAweDdjLCAweDc1LCAweDBkLCAweGMxLCAweDEyLCAweDBkLCAweDA0LAotICAweGQyLCAweDA0LCAweGU0LCAweDkwLCAweDdmLCAweGNkLCAweGYwLCAweDkwLCAweDdmLCAweGJhLCAweGUwLCAweDMwLCAweGUxLCAweDAzLCAweDAyLCAweDA1LAotICAweDM2LCAweDEyLCAweDEyLCAweDIwLCAweDhmLCAweDE5LCAweDEyLCAweDEzLCAweDdiLCAweDhmLCAweDM3LCAweGU1LCAweDE5LCAweGMzLCAweDk1fX0sCi0gezB4MDRjNiwgNjQsIHsgMHgzYiwgMHg1MCwgMHgwZiwgMHgxMiwgMHgxMywgMHg1NywgMHhlZiwgMHgzMCwgMHhlMCwgMHgwOCwgMHhlNSwgMHgzNywgMHgyMCwgMHhlNywgMHgwMywgMHgzMCwgMHgwYywKLSAgMHg1ZSwgMHhjMiwgMHgwYywgMHhlNSwgMHgxOSwgMHg2MCwgMHg1OCwgMHhiNCwgMHg4MCwgMHgwMywgMHg0MywgMHgzNywgMHgwMiwgMHhlNSwgMHgzNywgMHgzMCwKLSAgMHhlNywgMHgyNiwgMHhlNSwgMHgxOSwgMHhkMywgMHg5NCwgMHgyMCwgMHg0MCwgMHgwMywgMHg3NSwgMHgxOSwgMHgyMCwgMHg4NSwgMHgxOSwgMHgwOCwgMHg3ZSwKLSAgMHg3ZCwgMHg3ZiwgMHg4MCwgMHg3NSwgMHgwYywgMHg3ZCwgMHg3NSwgMHgwZCwgMHg4MCwgMHhhZiwgMHgzNywgMHgxMiwgMHgwZiwgMHg4NCwgMHhlNX19LAotIHsweDA1MDYsIDY0LCB7IDB4MTksIDB4MjUsIDB4ZTAsIDB4OTAsIDB4N2YsIDB4YmIsIDB4ZjAsIDB4ODAsIDB4MjcsIDB4ZTUsIDB4MTksIDB4ZDMsIDB4OTQsIDB4M2YsIDB4NDAsIDB4MDMsIDB4NzUsCi0gIDB4MTksIDB4M2YsIDB4ODUsIDB4MTksIDB4MDgsIDB4OTAsIDB4N2QsIDB4ODAsIDB4ZTUsIDB4MzcsIDB4ZjAsIDB4N2UsIDB4N2QsIDB4N2YsIDB4ODEsIDB4NzUsCi0gIDB4MGMsIDB4N2QsIDB4NzUsIDB4MGQsIDB4ODEsIDB4MTIsIDB4MGQsIDB4MjksIDB4ZTUsIDB4MTksIDB4MDQsIDB4OTAsIDB4N2YsIDB4YmIsIDB4ZjAsIDB4OTAsCi0gIDB4N2YsIDB4ZDAsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDYsIDB4MjAsIDB4MDYsIDB4MDMsIDB4MDIsIDB4MDcsIDB4OTcsIDB4YzIsIDB4MDYsIDB4ZTR9fSwKLSB7MHgwNTQ2LCA2NCwgeyAweGY1LCAweDE4LCAweDc0LCAweGMwLCAweDI1LCAweDE4LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdiLCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweGU1LCAweDE4LAotICAweDdjLCAweDAwLCAweDdiLCAweDAxLCAweDdhLCAweDdlLCAweDc5LCAweDIwLCAweDI0LCAweDIwLCAweGY5LCAweGVjLCAweDM0LCAweDdlLCAweGZhLCAweGVmLAotICAweDEyLCAweDBlLCAweGQyLCAweDA1LCAweDE4LCAweGU1LCAweDE4LCAweGI0LCAweDIwLCAweGQ3LCAweDkwLCAweDdlLCAweDIwLCAweGUwLCAweDYwLCAweDY4LAotICAweDkwLCAweDdlLCAweDIzLCAweGUwLCAweDYwLCAweDI0LCAweDdmLCAweDAxLCAweGU0LCAweGZkLCAweDEyLCAweDExLCAweGZiLCAweDdmLCAweDAzfX0sCi0gezB4MDU4NiwgNjQsIHsgMHg3ZCwgMHhjZCwgMHgxMiwgMHgxMSwgMHhmYiwgMHg0MywgMHg0NywgMHg4MCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwKLSAgMHhlNSwgMHg0NywgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZSwgMHgzMywgMHhmMCwgMHg4MCwgMHgzMCwgMHg5MCwgMHg3ZSwgMHgyMSwgMHhlMCwgMHhmZiwgMHgxMiwKLSAgMHgxMSwgMHgxOSwgMHg5MCwgMHg3ZSwgMHgyMiwgMHhlMCwgMHhmZiwgMHgxMiwgMHgxMSwgMHgzZiwgMHg3ZiwgMHgwMSwgMHg5MCwgMHg3ZSwgMHgzMSwgMHhlMCwKLSAgMHhmZCwgMHgxMiwgMHgxMSwgMHhmYiwgMHg3ZiwgMHgwMywgMHg3ZCwgMHgwNywgMHgxMiwgMHgxMSwgMHhmYiwgMHg0MywgMHg0NywgMHg4MCwgMHg5MH19LAotIHsweDA1YzYsIDY0LCB7IDB4N2YsIDB4OTgsIDB4NzQsIDB4MGMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDcsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGEsIDB4ZjAsCi0gIDB4ZTUsIDB4NDEsIDB4NDQsIDB4MDYsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MjMsIDB4ZTAsIDB4NzAsIDB4MDYsIDB4OTAsIDB4N2UsCi0gIDB4MzMsIDB4ZTAsIDB4NzAsIDB4MDgsIDB4ZTQsIDB4OTAsIDB4N2UsIDB4MzMsIDB4ZjAsIDB4NzUsIDB4MmUsIDB4ZmYsIDB4OTAsIDB4N2UsIDB4MjUsIDB4ZTAsCi0gIDB4NjAsIDB4MTIsIDB4YTMsIDB4ZTAsIDB4NTQsIDB4M2YsIDB4ZjUsIDB4NDUsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4OTB9fSwKLSB7MHgwNjA2LCA2NCwgeyAweGMwLCAweDAwLCAweGU1LCAweDQ1LCAweGYwLCAweDkwLCAweDdlLCAweDI3LCAweGUwLCAweDYwLCAweDJiLCAweGEzLCAweGUwLCAweDYwLCAweDA1LCAweDQzLCAweDQzLAotICAweDgwLCAweDgwLCAweDAzLCAweDUzLCAweDQzLCAweDdmLCAweDUzLCAweDQzLCAweGZjLCAweDkwLCAweDdlLCAweDI5LCAweGUwLCAweDYwLCAweDExLCAweDQzLAotICAweDQzLCAweDAyLCAweGEzLCAweGUwLCAweGZmLCAweDEyLCAweDExLCAweDY1LCAweDkwLCAweDdlLCAweDJiLCAweGUwLCAweGZmLCAweDEyLCAweDExLCAweDhiLAotICAweGFmLCAweDQzLCAweDEyLCAweDEwLCAweGYzLCAweDkwLCAweDdlLCAweDIzLCAweGUwLCAweDYwLCAweDA4LCAweDUzLCAweDQzLCAweDdmLCAweGFmfX0sCi0gezB4MDY0NiwgNjQsIHsgMHg0MywgMHgxMiwgMHgxMCwgMHhmMywgMHg5MCwgMHg3ZSwgMHgyYywgMHhlMCwgMHg2MCwgMHgxOCwgMHhhMywgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHg0NywgMHgwMiwKLSAgMHg4MCwgMHgwMywgMHg1MywgMHg0NywgMHhmZCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NywKLSAgMHhmMCwgMHg5MCwgMHg3ZSwgMHgyZSwgMHhlMCwgMHg2MCwgMHgxOCwgMHhhMywgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHg0NywgMHgwMSwgMHg4MCwgMHgwMywKLSAgMHg1MywgMHg0NywgMHhmZSwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NywgMHhmMH19LAotIHsweDA2ODYsIDY0LCB7IDB4OTAsIDB4N2UsIDB4MzIsIDB4ZTAsIDB4ZjUsIDB4M2IsIDB4YTMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGUsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4M2QsIDB4YTMsIDB4ZTAsCi0gIDB4NjAsIDB4MDUsIDB4NDMsIDB4NDcsIDB4MTAsIDB4ODAsIDB4MDMsIDB4NTMsIDB4NDcsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGMsIDB4ZjAsCi0gIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDcsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MzYsIDB4ZTAsIDB4NjAsIDB4MzIsIDB4NTMsIDB4NDUsIDB4YmYsIDB4OTAsCi0gIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4ZTUsIDB4NDUsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwNmM2LCA2NCwgeyAweDk4LCAweDc0LCAweDA5LCAweGYwLCAweDEyLCAweDEzLCAweDRiLCAweGVmLCAweDU0LCAweGZlLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDUzLCAweDNmLCAweGZkLAotICAweGU0LCAweGZmLCAweGFkLCAweDNmLCAweDEyLCAweDExLCAweGZiLCAweGU0LCAweGY1LCAweDMzLCAweGY1LCAweDMyLCAweGQyLCAweDA4LCAweDkwLCAweDdlLAotICAweDM3LCAweGUwLCAweDYwLCAweDBmLCAweDQzLCAweDNmLCAweDAyLCAweGU0LCAweGZmLCAweGFkLCAweDNmLCAweDEyLCAweDExLCAweGZiLCAweDc1LCAweDMyLAotICAweDAxLCAweGQyLCAweDA4LCAweDkwLCAweDdlLCAweDM4LCAweGUwLCAweDYwLCAweDEwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBhLCAweGYwfX0sCi0gezB4MDcwNiwgNjQsIHsgMHhlNSwgMHg0MSwgMHg0NCwgMHgwNCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHhkMiwgMHgwMCwgMHg5MCwgMHg3ZSwgMHgzOSwgMHhlMCwgMHg2MCwgMHgxMSwgMHg0MywKLSAgMHg0NSwgMHg0MCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHhlNSwgMHg0NSwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwKLSAgMHg5MCwgMHg3ZSwgMHgzYSwgMHhlMCwgMHg2MCwgMHgwZiwgMHg1MywgMHgzZiwgMHhmZSwgMHhlNCwgMHhmZiwgMHhhZCwgMHgzZiwgMHgxMiwgMHgxMSwgMHhmYiwKLSAgMHg3NSwgMHgzNCwgMHgwMSwgMHhkMiwgMHgwOCwgMHg5MCwgMHg3ZSwgMHgzYiwgMHhlMCwgMHg2MCwgMHgwZiwgMHg0MywgMHgzZiwgMHgwMSwgMHhlNH19LAotIHsweDA3NDYsIDY0LCB7IDB4ZmYsIDB4YWQsIDB4M2YsIDB4MTIsIDB4MTEsIDB4ZmIsIDB4ZTQsIDB4ZjUsIDB4MzQsIDB4ZDIsIDB4MDgsIDB4OTAsIDB4N2UsIDB4M2MsIDB4ZTAsIDB4NjAsIDB4MGUsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGEsIDB4ZjAsIDB4ZTUsIDB4NDEsIDB4NDQsIDB4MDIsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2UsCi0gIDB4M2QsIDB4ZTAsIDB4NjAsIDB4MDIsIDB4ZDIsIDB4MGMsIDB4OTAsIDB4N2UsIDB4M2UsIDB4ZTAsIDB4NjAsIDB4MDgsIDB4NzUsIDB4MzUsIDB4MDEsIDB4ZTQsCi0gIDB4ZjUsIDB4MzksIDB4ZDIsIDB4MDgsIDB4OTAsIDB4N2UsIDB4M2YsIDB4ZTAsIDB4NjAsIDB4MTEsIDB4OTAsIDB4N2YsIDB4ZDcsIDB4NzQsIDB4MTN9fSwKLSB7MHgwNzg2LCA2NCwgeyAweGYwLCAweDc0LCAweDMzLCAweGYwLCAweDc0LCAweDE2LCAweGYwLCAweDc0LCAweDM2LCAweGYwLCAweGQyLCAweDA0LCAweGU0LCAweDkwLCAweDdmLCAweGQxLCAweGYwLAotICAweDMwLCAweDFhLCAweDUyLCAweGU1LCAweDM5LCAweDYwLCAweDAyLCAweDE1LCAweDM5LCAweDMwLCAweDEzLCAweDQ5LCAweGU1LCAweDEzLCAweGQzLCAweDk0LAotICAweDAwLCAweDQwLCAweDA0LCAweDE1LCAweDEzLCAweDgwLCAweDNlLCAweDc1LCAweDEzLCAweDBhLCAweDMwLCAweDFiLCAweDAyLCAweGMyLCAweDEzLCAweDEyLAotICAweDEzLCAweDRiLCAweGVmLCAweDU0LCAweDAxLCAweGY1LCAweDE5LCAweDY1LCAweDMzLCAweDYwLCAweDA1LCAweDg1LCAweDE5LCAweDMzLCAweGQyfX0sCi0gezB4MDdjNiwgNjQsIHsgMHgwOCwgMHgxMiwgMHgxMywgMHg4NywgMHhlZiwgMHg1NCwgMHg4MCwgMHhmNSwgMHgxOSwgMHg2NSwgMHgyZiwgMHg2MCwgMHgwNSwgMHg4NSwgMHgxOSwgMHgyZiwgMHhkMiwKLSAgMHgwOCwgMHgzMCwgMHgwZSwgMHgxMSwgMHgxMiwgMHgxMywgMHg4NywgMHhlZiwgMHg1NCwgMHgxMCwgMHhmNSwgMHgxOSwgMHg2NSwgMHgyZSwgMHg2MCwgMHgwNSwKLSAgMHg4NSwgMHgxOSwgMHgyZSwgMHhkMiwgMHgwOCwgMHgzMCwgMHgxYSwgMHgyYSwgMHg5MCwgMHg3ZiwgMHhkMiwgMHhlMCwgMHgyMCwgMHhlMSwgMHgyMywgMHg5MCwKLSAgMHg3YiwgMHg0MCwgMHhlMCwgMHg2MCwgMHgwOSwgMHhlMCwgMHhmNSwgMHgxNSwgMHg5MCwgMHg3YiwgMHg0MiwgMHhlMCwgMHhmNSwgMHgxNiwgMHg5MH19LAotIHsweDA4MDYsIDY0LCB7IDB4N2IsIDB4NDEsIDB4ZTAsIDB4NjAsIDB4MDksIDB4OTAsIDB4N2YsIDB4ZDcsIDB4NzQsIDB4MTcsIDB4ZjAsIDB4NzQsIDB4MzcsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsCi0gIDB4ZDMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YzIsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDMsIDB4MDIsIDB4MDksIDB4MjAsIDB4ZTUsIDB4MGEsIDB4NzAsIDB4NDAsCi0gIDB4MzAsIDB4MDcsIDB4MzksIDB4ZTUsIDB4MzgsIDB4NzAsIDB4MzUsIDB4YzIsIDB4MDcsIDB4ZjUsIDB4MTgsIDB4N2UsIDB4MDAsIDB4N2IsIDB4MDAsIDB4NzQsCi0gIDB4MjQsIDB4MjUsIDB4MTgsIDB4ZjksIDB4ZWUsIDB4MzQsIDB4MDAsIDB4ZmEsIDB4MTIsIDB4MGUsIDB4OGMsIDB4ZmYsIDB4NzQsIDB4ODAsIDB4MjV9fSwKLSB7MHgwODQ2LCA2NCwgeyAweDE4LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdiLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDA1LCAweDE4LCAweGU1LCAweDE4LCAweGI0LCAweDA5LCAweGRiLAotICAweDkwLCAweDdmLCAweGMzLCAweDc0LCAweDA5LCAweGYwLCAweDc1LCAweDM4LCAweDEwLCAweGU0LCAweGY1LCAweDJjLCAweDc1LCAweDBhLCAweDAxLCAweDIyLAotICAweGU1LCAweDBhLCAweDY0LCAweDAxLCAweDcwLCAweDQwLCAweDMwLCAweDA4LCAweDM5LCAweGU1LCAweDM5LCAweDcwLCAweDM1LCAweGMyLCAweDA4LCAweGY1LAotICAweDE4LCAweDdlLCAweDAwLCAweDdiLCAweDAwLCAweDc0LCAweDJkLCAweDI1LCAweDE4LCAweGY5LCAweGVlLCAweDM0LCAweDAwLCAweGZhLCAweDEyfX0sCi0gezB4MDg4NiwgNjQsIHsgMHgwZSwgMHg4YywgMHhmZiwgMHg3NCwgMHg4MCwgMHgyNSwgMHgxOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHgwNSwKLSAgMHgxOCwgMHhlNSwgMHgxOCwgMHhiNCwgMHgwOSwgMHhkYiwgMHg5MCwgMHg3ZiwgMHhjMywgMHg3NCwgMHgwOSwgMHhmMCwgMHg3NSwgMHgzOSwgMHgxMCwgMHhlNCwKLSAgMHhmNSwgMHgzNSwgMHg3NSwgMHgwYSwgMHgwMiwgMHgyMiwgMHhlNSwgMHgwYSwgMHg2NCwgMHgwMiwgMHg3MCwgMHgzNiwgMHgzMCwgMHgxNCwgMHgyZiwgMHhjMiwKLSAgMHgxNCwgMHhmNSwgMHgxOCwgMHg3ZSwgMHgwMCwgMHg3YiwgMHgwMCwgMHg3NCwgMHgwZSwgMHgyNSwgMHgxOCwgMHhmOSwgMHhlZSwgMHgzNCwgMHgwMH19LAotIHsweDA4YzYsIDY0LCB7IDB4ZmEsIDB4MTIsIDB4MGUsIDB4OGMsIDB4ZmYsIDB4NzQsIDB4ODAsIDB4MjUsIDB4MTgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2IsIDB4ZjUsIDB4ODMsIDB4ZWYsCi0gIDB4ZjAsIDB4MDUsIDB4MTgsIDB4ZTUsIDB4MTgsIDB4YjQsIDB4MDUsIDB4ZGIsIDB4OTAsIDB4N2YsIDB4YzMsIDB4NzQsIDB4MDUsIDB4ZjAsIDB4NzUsIDB4MGEsCi0gIDB4MDMsIDB4MjIsIDB4ZTUsIDB4MTUsIDB4NjAsIDB4MzAsIDB4MTUsIDB4MTUsIDB4ZTQsIDB4ZjUsIDB4MTgsIDB4N2UsIDB4MDAsIDB4N2IsIDB4MDAsIDB4NzQsCi0gIDB4MTQsIDB4MjUsIDB4MTgsIDB4ZjksIDB4ZWUsIDB4MzQsIDB4MDAsIDB4ZmEsIDB4MTIsIDB4MGUsIDB4OGMsIDB4ZmYsIDB4NzQsIDB4ODAsIDB4MjV9fSwKLSB7MHgwOTA2LCA2NCwgeyAweDE4LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdiLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDA1LCAweDE4LCAweGU1LCAweDE4LCAweGI0LCAweDAzLCAweGRiLAotICAweDkwLCAweDdmLCAweGMzLCAweDc0LCAweDAzLCAweGYwLCAweGU0LCAweGY1LCAweDBhLCAweDIyLCAweDkwLCAweDdmLCAweGU5LCAweGUwLCAweDEyLCAweDBlLAotICAweGU0LCAweDBhLCAweDA4LCAweDAwLCAweDBhLCAweDdjLCAweDAxLCAweDBhLCAweGU4LCAweDAzLCAweDA5LCAweDQ0LCAweDA2LCAweDA5LCAweGZiLCAweDA4LAotICAweDA5LCAweGY1LCAweDA5LCAweDA5LCAweGRkLCAweDBhLCAweDA5LCAweGVjLCAweDBiLCAweDAwLCAweDAwLCAweDBiLCAweDM3LCAweDkwLCAweDdmfX0sCi0gezB4MDk0NiwgNjQsIHsgMHhlYiwgMHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxOSwgMHgxNCwgMHg2MCwgMHg2MSwgMHgyNCwgMHgwMiwgMHg2MCwgMHgwMywgMHgwMiwgMHgwOSwgMHhkMywgMHg3NCwKLSAgMHgxOSwgMHg5MCwgMHg3ZiwgMHhkNCwgMHhmMCwgMHg3NCwgMHgwMCwgMHg5MCwgMHg3ZiwgMHhkNSwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzZSwgMHg5MCwgMHg3ZiwKLSAgMHhlYSwgMHhlMCwgMHg3MCwgMHgwNCwgMHg3ZiwgMHgwMiwgMHg4MCwgMHgwMiwgMHg3ZiwgMHgwMywgMHg3NSwgMHg4MiwgMHg4MiwgMHg3NSwgMHg4MywgMHgxOSwKLSAgMHhlZiwgMHhmMCwgMHg3NSwgMHg4MiwgMHg3YiwgMHg3NSwgMHg4MywgMHgxOSwgMHhmMCwgMHg3NSwgMHg4MiwgMHg3NCwgMHg3NSwgMHg4MywgMHgxOX19LAotIHsweDA5ODYsIDY0LCB7IDB4ZjAsIDB4NzUsIDB4ODIsIDB4NjYsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZjAsIDB4NzUsIDB4ODIsIDB4NTgsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZjAsIDB4OTAsIDB4N2YsCi0gIDB4ZWEsIDB4ZTAsIDB4MDQsIDB4NzUsIDB4ODIsIDB4MTcsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZjAsIDB4NzQsIDB4MTksIDB4OTAsIDB4N2YsIDB4ZDQsIDB4ZjAsCi0gIDB4NzQsIDB4MTIsIDB4OTAsIDB4N2YsIDB4ZDUsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4M2UsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MGYsCi0gIDB4MGEsIDB4ZWEsIDB4NDksIDB4NjAsIDB4MGQsIDB4ZWEsIDB4OTAsIDB4N2YsIDB4ZDQsIDB4ZjAsIDB4ZTksIDB4OTAsIDB4N2YsIDB4ZDUsIDB4ZjB9fSwKLSB7MHgwOWM2LCA2NCwgeyAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmLCAweGI0LCAweGUwLAotICAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmLCAweDAwLCAweGU1LCAweDA5LCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LAotICAweDAxLCAweGYwLCAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGY1LCAweDA5LCAweDAyLCAweDBiLCAweDNlLCAweDEyLCAweDBiLAotICAweDQ2LCAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmLCAweDAwLCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweGYwLCAweDAyfX0sCi0gezB4MGEwNiwgNjQsIHsgMHgwYiwgMHgzZSwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwgMHgyNCwgMHg3ZiwgMHg2MCwgMHgyNCwgMHgxNCwgMHg2MCwgMHgzMSwgMHgyNCwgMHgwMiwgMHg3MCwgMHg1YiwKLSAgMHhhMiwgMHgxMCwgMHhlNCwgMHgzMywgMHhmZiwgMHgyNSwgMHhlMCwgMHhmZiwgMHhhMiwgMHgxNiwgMHhlNCwgMHgzMywgMHg0ZiwgMHg5MCwgMHg3ZiwgMHgwMCwKLSAgMHhmMCwgMHhlNCwgMHhhMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzZSwgMHhlNCwgMHg5MCwgMHg3ZiwKLSAgMHgwMCwgMHhmMCwgMHhhMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzZSwgMHg5MCwgMHg3Zn19LAotIHsweDBhNDYsIDY0LCB7IDB4ZWMsIDB4ZTAsIDB4ZjQsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsCi0gIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZjAsIDB4ZTQsCi0gIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4M2UsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsCi0gIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4M2UsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MWQsIDB4MjQsIDB4MDJ9fSwKLSB7MHgwYTg2LCA2NCwgeyAweDYwLCAweDAzLCAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGI0LCAweDAxLCAweDA1LCAweGMyLCAweDEwLCAweDAyLCAweDBiLCAweDNlLAotICAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDcwLCAweDM4LAotICAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLAotICAweDI1LCAweGUwLCAweDI0LCAweGI0LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweGU0LCAweGYwLCAweDkwLCAweDdmfX0sCi0gezB4MGFjNiwgNjQsIHsgMHhlYywgMHhlMCwgMHg1NCwgMHg4MCwgMHhmZiwgMHgxMywgMHgxMywgMHgxMywgMHg1NCwgMHgxZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHg5MCwgMHg3ZiwKLSAgMHhkNywgMHhmMCwgMHhlMCwgMHg0NCwgMHgyMCwgMHhmMCwgMHg4MCwgMHg1ZiwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg4MCwKLSAgMHg1NiwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxOCwgMHgyNCwgMHgwMiwgMHg3MCwgMHg0YSwgMHg5MCwgMHg3ZiwgMHhlYSwKLSAgMHhlMCwgMHhiNCwgMHgwMSwgMHgwNCwgMHhkMiwgMHgxMCwgMHg4MCwgMHgzZiwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMH19LAotIHsweDBiMDYsIDY0LCB7IDB4ODAsIDB4MzYsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4NzAsIDB4MjAsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4ZjQsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4YzQsCi0gIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsCi0gIDB4ZjUsIDB4ODMsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4MTAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4MDcsCi0gIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4MjJ9fSwKLSB7MHgwYjQ2LCA2NCwgeyAweGU0LCAweDkwLCAweDdmLCAweDkzLCAweGYwLCAweDkwLCAweDdmLCAweDljLCAweDc0LCAweDMwLCAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweDk2LCAweGYwLCAweDkwLAotICAweDdmLCAweDk1LCAweDc0LCAweGMwLCAweGYwLCAweDkwLCAweDdmLCAweDllLCAweDc0LCAweDNmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE4LAotICAweGYwLCAweGU0LCAweGY1LCAweDhlLCAweDkwLCAweDdmLCAweGRmLCAweDc0LCAweGZmLCAweGYwLCAweDkwLCAweDdmLCAweGRlLCAweGYwLCAweGU0LCAweGY1LAotICAweDI0LCAweDc1LCAweDE4LCAweDAxLCAweDdiLCAweDAwLCAweDc0LCAweDI0LCAweDI1LCAweDE4LCAweGY5LCAweGU0LCAweDM0LCAweDAwLCAweGZhfX0sCi0gezB4MGI4NiwgNjQsIHsgMHhlNCwgMHgxMiwgMHgwZSwgMHhkMiwgMHgwNSwgMHgxOCwgMHhlNSwgMHgxOCwgMHhiNCwgMHgwOSwgMHhlYSwgMHg3NSwgMHgzYSwgMHgwMSwgMHhlNCwgMHhmNSwgMHgzOCwKLSAgMHhmNSwgMHgxMywgMHhmNSwgMHgzNiwgMHhjMiwgMHgwNywgMHhjMiwgMHgwYiwgMHhjMiwgMHgwNSwgMHhjMiwgMHgwMCwgMHhjMiwgMHgwOSwgMHhjMiwgMHgxMywKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg3NSwgMHg0NCwgMHgwMywgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHgwMywgMHhmMCwgMHg3ZiwKLSAgMHgwYywgMHhlNCwgMHhmZCwgMHgxMiwgMHgxMSwgMHhiMSwgMHg3ZiwgMHgxMCwgMHg4ZiwgMHg0MiwgMHgxMiwgMHgxMCwgMHg4MSwgMHg5MCwgMHg3Zn19LAotIHsweDBiYzYsIDY0LCB7IDB4OTgsIDB4NzQsIDB4MTIsIDB4ZjAsIDB4N2YsIDB4MDEsIDB4OGYsIDB4NDAsIDB4ZWYsIDB4NDQsIDB4MDYsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2YsCi0gIDB4OTgsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4NzUsIDB4NDYsIDB4ODAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4ODAsIDB4ZjAsIDB4MGYsIDB4ZTQsIDB4ZmQsCi0gIDB4MTIsIDB4MTEsIDB4YjEsIDB4ZTQsIDB4ZmYsIDB4N2UsIDB4YTMsIDB4YWQsIDB4MDYsIDB4OGQsIDB4M2UsIDB4MTIsIDB4MTEsIDB4YjEsIDB4OTAsIDB4N2YsCi0gIDB4OTgsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTQsIDB4ZjAsIDB4N2YsIDB4MDUsIDB4N2QsIDB4N2YsIDB4MTIsIDB4MTF9fSwKLSB7MHgwYzA2LCA2NCwgeyAweGIxLCAweDdmLCAweDAxLCAweDEyLCAweDEyLCAweDZhLCAweDdmLCAweDAzLCAweDdkLCAweDA3LCAweDEyLCAweDExLCAweGIxLCAweDIwLCAweDFiLCAweDAzLCAweDAyLAotICAweDBjLCAweGI3LCAweDc1LCAweDJkLCAweDAxLCAweDc1LCAweDE4LCAweDAxLCAweDdiLCAweDAwLCAweDc0LCAweDJkLCAweDI1LCAweDE4LCAweGY5LCAweGU0LAotICAweDM0LCAweDAwLCAweGZhLCAweGU0LCAweDEyLCAweDBlLCAweGQyLCAweDA1LCAweDE4LCAweGU1LCAweDE4LCAweGI0LCAweDA5LCAweGVhLCAweDc1LCAweDNiLAotICAweDAxLCAweGU0LCAweGY1LCAweDM5LCAweGY1LCAweDEzLCAweGY1LCAweDM3LCAweGMyLCAweDA4LCAweGMyLCAweDBjLCAweGMyLCAweDA2LCAweGMyfX0sCi0gezB4MGM0NiwgNjQsIHsgMHgwMCwgMHhjMiwgMHgwYSwgMHhjMiwgMHgxMywgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHg3NSwgMHg0NSwgMHgwMywgMHg5MCwgMHhjMCwgMHgwMCwKLSAgMHg3NCwgMHgwMywgMHhmMCwgMHg3ZiwgMHgwYywgMHhlNCwgMHhmZCwgMHgxMiwgMHgxMSwgMHhmYiwgMHg3ZiwgMHgxMCwgMHg4ZiwgMHg0MywgMHgxMiwgMHgxMCwKLSAgMHhmMywgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYSwgMHhmMCwgMHg3ZiwgMHgwMSwgMHg4ZiwgMHg0MSwgMHhlZiwgMHg0NCwgMHgwNiwgMHg5MCwgMHhjMCwKLSAgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYywgMHhmMCwgMHg3NSwgMHg0NywgMHg4MCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NH19LAotIHsweDBjODYsIDY0LCB7IDB4ODAsIDB4ZjAsIDB4MGYsIDB4ZTQsIDB4ZmQsIDB4MTIsIDB4MTEsIDB4ZmIsIDB4ZTQsIDB4ZmYsIDB4N2UsIDB4YTMsIDB4YWQsIDB4MDYsIDB4OGQsIDB4M2YsIDB4MTIsCi0gIDB4MTEsIDB4ZmIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MDksIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTQsIDB4ZjAsIDB4N2YsIDB4MDUsIDB4N2QsCi0gIDB4N2YsIDB4MTIsIDB4MTEsIDB4ZmIsIDB4N2YsIDB4MDEsIDB4MTIsIDB4MTIsIDB4OGIsIDB4N2YsIDB4MDMsIDB4N2QsIDB4MDcsIDB4MTIsIDB4MTEsIDB4ZmIsCi0gIDB4ZDIsIDB4MTIsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4YWYsIDB4MDgsIDB4ZTUsIDB4MGQsIDB4ZjUsIDB4ODJ9fSwKLSB7MHgwY2M2LCA2NCwgeyAweGU1LCAweDBjLCAweGY1LCAweDgzLCAweGMyLCAweGFmLCAweDA1LCAweDg2LCAweDkwLCAweGMwLCAweDAwLCAweDA1LCAweDg2LCAweGUwLCAweGEzLCAweDA1LCAweDg2LAotICAweGYwLCAweDA1LCAweDg2LCAweGRmLCAweGY3LCAweGQyLCAweGFmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEwLCAweGYwLCAweGFmLCAweDA4LAotICAweGU1LCAweDBkLCAweGY1LCAweDgyLCAweGU1LCAweDBjLCAweGY1LCAweDgzLCAweGMyLCAweGFmLCAweDA1LCAweDg2LCAweDkwLCAweGMwLCAweDAwLCAweGUwLAotICAweDA1LCAweDg2LCAweGYwLCAweGEzLCAweDA1LCAweDg2LCAweGRmLCAweGY3LCAweDA1LCAweDg2LCAweGQyLCAweGFmLCAweDIyLCAweDkwLCAweDdmfX0sCi0gezB4MGQwNiwgNjQsIHsgMHg5OCwgMHg3NCwgMHgwOCwgMHhmMCwgMHhhZiwgMHgwOCwgMHhlNSwgMHgwZCwgMHhmNSwgMHg4MiwgMHhlNSwgMHgwYywgMHhmNSwgMHg4MywgMHhjMiwgMHhhZiwgMHgwNSwKLSAgMHg4NiwgMHg5MCwgMHhjMCwgMHgwMCwgMHgwNSwgMHg4NiwgMHhlMCwgMHhhMywgMHgwNSwgMHg4NiwgMHhmMCwgMHgwNSwgMHg4NiwgMHhkZiwgMHhmNywgMHhkMiwKLSAgMHhhZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwOCwgMHhmMCwgMHhhZiwgMHgwOCwgMHhlNSwgMHgwZCwgMHhmNSwgMHg4MiwgMHhlNSwgMHgwYywKLSAgMHhmNSwgMHg4MywgMHhjMiwgMHhhZiwgMHgwNSwgMHg4NiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHgwNSwgMHg4NiwgMHhmMCwgMHhhMywgMHgwNX19LAotIHsweDBkNDYsIDY0LCB7IDB4ODYsIDB4ZGYsIDB4ZjcsIDB4MDUsIDB4ODYsIDB4ZDIsIDB4YWYsIDB4MjIsIDB4NzQsIDB4MDAsIDB4ZjUsIDB4ODYsIDB4OTAsIDB4ZmQsIDB4YTUsIDB4N2MsIDB4MDUsCi0gIDB4YTMsIDB4ZTUsIDB4ODIsIDB4NDUsIDB4ODMsIDB4NzAsIDB4ZjksIDB4MjIsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4NDMsCi0gIDB4ODcsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MjIsIDB4ZDIsIDB4MTksIDB4OTAsIDB4N2YsIDB4OTIsIDB4ZTAsIDB4NDQsIDB4MDIsCi0gIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWUsIDB4ZTAsIDB4ZmYsIDB4ZDMsIDB4OTIsIDB4MTAsIDB4ZTQsIDB4MzMsIDB4ZmUsIDB4ZWYsIDB4NGUsIDB4ZjB9fSwKLSB7MHgwZDg2LCA2NCwgeyAweGQyLCAweGU4LCAweDQzLCAweGQ4LCAweDIwLCAweDkwLCAweDdmLCAweGRlLCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGRmLCAweGYwLCAweDkwLCAweDdmLAotICAweGFiLCAweDc0LCAweGZmLCAweGYwLCAweDkwLCAweDdmLCAweGE5LCAweGYwLCAweDkwLCAweDdmLCAweGFhLCAweGYwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLAotICAweDdmLCAweGFmLCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGFlLCAweGUwLCAweDQ0LCAweDBkLCAweGYwLCAweGQyLCAweGFmLCAweGQyLAotICAweDFhLCAweDEyLCAweDEyLCAweDQ1LCAweGMyLCAweDExLCAweGU0LCAweGY1LCAweDBiLCAweGY1LCAweDEzLCAweGMyLCAweDE3LCAweGMyLCAweDEyfX0sCi0gezB4MGRjNiwgNjQsIHsgMHg5MCwgMHg3ZiwgMHhhMSwgMHgwNCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkOCwgMHhlMCwgMHg2NSwgMHgxNywgMHg2MCwgMHgxMCwgMHgzMCwgMHgxMiwgMHgwNSwgMHhkMiwKLSAgMHgxYSwgMHgxMiwgMHgwMCwgMHg0NiwgMHg5MCwgMHg3ZiwgMHhkOCwgMHhlMCwgMHhmNSwgMHgxNywgMHg4MCwgMHgwOCwgMHgzMCwgMHgxMiwgMHgwNSwgMHhjMiwKLSAgMHgxYSwgMHgxMiwgMHgwMCwgMHg0NiwgMHgzMCwgMHgxMSwgMHgwNywgMHhjMiwgMHgxMSwgMHgxMiwgMHgwOSwgMHgyMSwgMHg4MCwgMHhkNiwgMHgzMCwgMHgxOCwKLSAgMHhkMywgMHhjMiwgMHgxOCwgMHgxMiwgMHgxMywgMHg5MywgMHg4MCwgMHhjYywgMHgyMiwgMHg3OCwgMHg3ZiwgMHhlNCwgMHhmNiwgMHhkOCwgMHhmZH19LAotIHsweDBlMDYsIDY0LCB7IDB4NzUsIDB4ODEsIDB4NDcsIDB4MDIsIDB4MGUsIDB4NDcsIDB4MDIsIDB4MGQsIDB4NmYsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjgsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4NDAsCi0gIDB4MDMsIDB4ZjYsIDB4ODAsIDB4MDEsIDB4ZjIsIDB4MDgsIDB4ZGYsIDB4ZjQsIDB4ODAsIDB4MjksIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjgsIDB4NTQsIDB4MDcsCi0gIDB4MjQsIDB4MGMsIDB4YzgsIDB4YzMsIDB4MzMsIDB4YzQsIDB4NTQsIDB4MGYsIDB4NDQsIDB4MjAsIDB4YzgsIDB4ODMsIDB4NDAsIDB4MDQsIDB4ZjQsIDB4NTYsCi0gIDB4ODAsIDB4MDEsIDB4NDYsIDB4ZjYsIDB4ZGYsIDB4ZTQsIDB4ODAsIDB4MGIsIDB4MDEsIDB4MDIsIDB4MDQsIDB4MDgsIDB4MTAsIDB4MjAsIDB4NDB9fSwKLSB7MHgwZTQ2LCA2NCwgeyAweDgwLCAweDkwLCAweDEyLCAweGFjLCAweGU0LCAweDdlLCAweDAxLCAweDkzLCAweDYwLCAweGJjLCAweGEzLCAweGZmLCAweDU0LCAweDNmLCAweDMwLCAweGU1LCAweDA5LAotICAweDU0LCAweDFmLCAweGZlLCAweGU0LCAweDkzLCAweGEzLCAweDYwLCAweDAxLCAweDBlLCAweGNmLCAweDU0LCAweGMwLCAweDI1LCAweGUwLCAweDYwLCAweGE4LAotICAweDQwLCAweGI4LCAweGU0LCAweDkzLCAweGEzLCAweGZhLCAweGU0LCAweDkzLCAweGEzLCAweGY4LCAweGU0LCAweDkzLCAweGEzLCAweGM4LCAweGM1LCAweDgyLAotICAweGM4LCAweGNhLCAweGM1LCAweDgzLCAweGNhLCAweGYwLCAweGEzLCAweGM4LCAweGM1LCAweDgyLCAweGM4LCAweGNhLCAweGM1LCAweDgzLCAweGNhfX0sCi0gezB4MGU4NiwgNjQsIHsgMHhkZiwgMHhlOSwgMHhkZSwgMHhlNywgMHg4MCwgMHhiZSwgMHhiYiwgMHgwMSwgMHgwNiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlMCwgMHgyMiwgMHg1MCwgMHgwMiwKLSAgMHhlNywgMHgyMiwgMHhiYiwgMHhmZSwgMHgwMiwgMHhlMywgMHgyMiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlNCwgMHg5MywgMHgyMiwgMHhiYiwgMHgwMSwKLSAgMHgwYywgMHhlNSwgMHg4MiwgMHgyOSwgMHhmNSwgMHg4MiwgMHhlNSwgMHg4MywgMHgzYSwgMHhmNSwgMHg4MywgMHhlMCwgMHgyMiwgMHg1MCwgMHgwNiwgMHhlOSwKLSAgMHgyNSwgMHg4MiwgMHhmOCwgMHhlNiwgMHgyMiwgMHhiYiwgMHhmZSwgMHgwNiwgMHhlOSwgMHgyNSwgMHg4MiwgMHhmOCwgMHhlMiwgMHgyMiwgMHhlNX19LAotIHsweDBlYzYsIDY0LCB7IDB4ODIsIDB4MjksIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4OTMsIDB4MjIsIDB4YmIsIDB4MDEsIDB4MDYsIDB4ODksIDB4ODIsCi0gIDB4OGEsIDB4ODMsIDB4ZjAsIDB4MjIsIDB4NTAsIDB4MDIsIDB4ZjcsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDEsIDB4ZjMsIDB4MjIsIDB4ZDAsIDB4ODMsIDB4ZDAsCi0gIDB4ODIsIDB4ZjgsIDB4ZTQsIDB4OTMsIDB4NzAsIDB4MTIsIDB4NzQsIDB4MDEsIDB4OTMsIDB4NzAsIDB4MGQsIDB4YTMsIDB4YTMsIDB4OTMsIDB4ZjgsIDB4NzQsCi0gIDB4MDEsIDB4OTMsIDB4ZjUsIDB4ODIsIDB4ODgsIDB4ODMsIDB4ZTQsIDB4NzMsIDB4NzQsIDB4MDIsIDB4OTMsIDB4NjgsIDB4NjAsIDB4ZWYsIDB4YTN9fSwKLSB7MHgwZjA2LCA2NCwgeyAweGEzLCAweGEzLCAweDgwLCAweGRmLCAweDhmLCAweDE4LCAweGU0LCAweGY1LCAweDE5LCAweDc1LCAweDFhLCAweGZmLCAweDc1LCAweDFiLCAweDE5LCAweDc1LCAweDFjLAotICAweDg2LCAweGFiLCAweDFhLCAweGFhLCAweDFiLCAweGE5LCAweDFjLCAweDkwLCAweDAwLCAweDAxLCAweDEyLCAweDBlLCAweGE1LCAweGI0LCAweDAzLCAweDFkLAotICAweGFmLCAweDE5LCAweDA1LCAweDE5LCAweGVmLCAweGI1LCAweDE4LCAweDAxLCAweDIyLCAweDEyLCAweDBlLCAweDhjLCAweDdlLCAweDAwLCAweDI5LCAweGZmLAotICAweGVlLCAweDNhLCAweGE5LCAweDA3LCAweDc1LCAweDFhLCAweGZmLCAweGY1LCAweDFiLCAweDg5LCAweDFjLCAweDgwLCAweGQ0LCAweDdiLCAweDAwfX0sCi0gezB4MGY0NiwgNjQsIHsgMHg3YSwgMHgwMCwgMHg3OSwgMHgwMCwgMHgyMiwgMHg4ZiwgMHgxYSwgMHgwNSwgMHgwZCwgMHhlNSwgMHgwZCwgMHhhZSwgMHgwYywgMHg3MCwgMHgwMiwgMHgwNSwgMHgwYywKLSAgMHgxNCwgMHhmNSwgMHg4MiwgMHg4ZSwgMHg4MywgMHhlNSwgMHgxYSwgMHhmMCwgMHgxMiwgMHgwMCwgMHgzNiwgMHgwNSwgMHgwZCwgMHhlNSwgMHgwZCwgMHhhYywKLSAgMHgwYywgMHg3MCwgMHgwMiwgMHgwNSwgMHgwYywgMHgxNCwgMHhmNSwgMHg4MiwgMHg4YywgMHg4MywgMHhlZiwgMHhmMCwgMHgxNSwgMHgwOCwgMHhlNSwgMHgwOCwKLSAgMHg2MCwgMHgwYSwgMHgxMiwgMHgxMywgMHgyNywgMHg4ZiwgMHgxYSwgMHhlZiwgMHg0MiwgMHgzNiwgMHg4MCwgMHhjYSwgMHgyMiwgMHg4ZiwgMHgxYX19LAotIHsweDBmODYsIDY0LCB7IDB4MDUsIDB4MGQsIDB4ZTUsIDB4MGQsIDB4YWUsIDB4MGMsIDB4NzAsIDB4MDIsIDB4MDUsIDB4MGMsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGUsIDB4ODMsIDB4ZTUsIDB4MWEsCi0gIDB4ZjAsIDB4MTIsIDB4MTMsIDB4M2YsIDB4MDUsIDB4MGQsIDB4ZTUsIDB4MGQsIDB4YWMsIDB4MGMsIDB4NzAsIDB4MDIsIDB4MDUsIDB4MGMsIDB4MTQsIDB4ZjUsCi0gIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MTUsIDB4MDgsIDB4ZTUsIDB4MDgsIDB4NjAsIDB4MGEsIDB4MTIsIDB4MTMsIDB4N2IsIDB4OGYsIDB4MWEsCi0gIDB4ZWYsIDB4NDIsIDB4MzcsIDB4ODAsIDB4Y2EsIDB4MjIsIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzB9fSwKLSB7MHgwZmM2LCA2NCwgeyAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweDkwLCAweDdmLCAweGM0LCAweGU0LCAweGYwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLAotICAweDc0LCAweDA0LCAweGYwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyLAotICAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweGQyLAotICAweDExLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDAxLCAweGYwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LCAweGQwfX0sCi0gezB4MTAwNiwgNjQsIHsgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwKLSAgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHhkMiwgMHgxOCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwOCwKLSAgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwgMHg5MCwgMHg3ZiwKLSAgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMH19LAotIHsweDEwNDYsIDY0LCB7IDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTUsIDB4NDQsIDB4NTQsIDB4N2YsIDB4OTAsCi0gIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsCi0gIDB4ZjAsIDB4ZTUsIDB4NDQsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTN9fSwKLSB7MHgxMDg2LCA2NCwgeyAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEyLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLAotICAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweGU1LCAweDQ0LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLAotICAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LAotICAweDE0LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweGU1LCAweDQ0fX0sCi0gezB4MTBjNiwgNjQsIHsgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwKLSAgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwKLSAgMHg3NCwgMHgxMywgMHhmMCwgMHhlNSwgMHg0NCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwKLSAgMHgwYiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYSwgMHhmMCwgMHg5MH19LAotIHsweDExMDYsIDY0LCB7IDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4ZTUsIDB4NDUsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsCi0gIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsCi0gIDB4OTgsIDB4NzQsIDB4MDgsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4ZTUsCi0gIDB4NDUsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4OTB9fSwKLSB7MHgxMTQ2LCA2NCwgeyAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDA5LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLAotICAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweGU1LCAweDQ1LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLAotICAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBjLCAweGYwLAotICAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweGU1LCAweDQ1LCAweDU0LCAweDdmfX0sCi0gezB4MTE4NiwgNjQsIHsgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwZSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwKLSAgMHhmMCwgMHhlNSwgMHg0NSwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwKLSAgMHhlNSwgMHg0NCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNywgMHhmMCwgMHg5MH19LAotIHsweDExYzYsIDY0LCB7IDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTUsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWQsIDB4ZjAsIDB4MjIsIDB4MTIsCi0gIDB4MTMsIDB4MGYsIDB4OGYsIDB4MWEsIDB4MTIsIDB4MTMsIDB4MGYsIDB4OGYsIDB4MWIsIDB4ZTUsIDB4MWEsIDB4NjUsIDB4MWIsIDB4NjAsIDB4MTIsIDB4MTIsCi0gIDB4MTMsIDB4MGYsIDB4OGYsIDB4MWEsIDB4ZTUsIDB4MWEsIDB4NjUsIDB4MWIsIDB4NjAsIDB4MDcsIDB4MTIsIDB4MTMsIDB4MGYsIDB4OGYsIDB4MWIsIDB4ODAsCi0gIDB4ZTgsIDB4YWYsIDB4MWEsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4ZTUsIDB4NDUsIDB4NTQsIDB4N2YsIDB4OTB9fSwKLSB7MHgxMjA2LCA2NCwgeyAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBmLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LAotICAweDc0LCAweDBkLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVkLCAweGYwLCAweDIyLCAweDEyLCAweDEzLCAweDYzLCAweDhmLCAweDFhLCAweDEyLCAweDEzLAotICAweDYzLCAweDhmLCAweDFiLCAweGU1LCAweDFhLCAweDY1LCAweDFiLCAweDYwLCAweDEyLCAweDEyLCAweDEzLCAweDYzLCAweDhmLCAweDFhLCAweGU1LCAweDFhLAotICAweDY1LCAweDFiLCAweDYwLCAweDA3LCAweDEyLCAweDEzLCAweDYzLCAweDhmLCAweDFiLCAweDgwLCAweGU4LCAweGFmLCAweDFhLCAweDIyLCAweDkwfX0sCi0gezB4MTI0NiwgNjQsIHsgMHg3ZiwgMHhkNiwgMHhlMCwgMHg1NCwgMHhmYiwgMHhmMCwgMHhlMCwgMHg0NCwgMHgwOCwgMHhmMCwgMHgzMCwgMHgxYSwgMHgwNCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwKLSAgMHg3ZiwgMHhmNCwgMHg3ZSwgMHgwMSwgMHgxMiwgMHgxMiwgMHhjOCwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg1NCwgMHhmNywgMHhmMCwgMHhlMCwgMHg0NCwKLSAgMHgwNCwgMHhmMCwgMHgyMiwgMHhhZSwgMHgwNywgMHhlNCwgMHhmZiwgMHhlNSwgMHgzZSwgMHg1NCwgMHg3ZiwgMHhmZCwgMHgxMiwgMHgxMSwgMHhiMSwgMHg5MCwKLSAgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZSwgMHhmMCwgMHhlNCwgMHhlNSwgMHgzZSwgMHg0NCwgMHg4MH19LAotIHsweDEyODYsIDY0LCB7IDB4ZmQsIDB4MTIsIDB4MTEsIDB4YjEsIDB4MjIsIDB4YWUsIDB4MDcsIDB4ZTQsIDB4ZmYsIDB4ZTUsIDB4M2YsIDB4NTQsIDB4N2YsIDB4ZmQsIDB4MTIsIDB4MTEsIDB4ZmIsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MDksIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWUsIDB4ZjAsIDB4ZTQsIDB4ZTUsIDB4M2YsIDB4NDQsIDB4ODAsCi0gIDB4ZmQsIDB4MTIsIDB4MTEsIDB4ZmIsIDB4MjIsIDB4MDUsIDB4MGUsIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDMsIDB4MTQsIDB4MDMsIDB4MDAsCi0gIDB4MDAsIDB4YzEsIDB4MTEsIDB4YzEsIDB4MTgsIDB4YzEsIDB4OTUsIDB4YzEsIDB4MTAsIDB4YzEsIDB4MTYsIDB4MDEsIDB4MGEsIDB4MDAsIDB4YzF9fSwKLSB7MHgxMmM2LCA2NCwgeyAweDliLCAweDAwLCAweDhlLCAweDE4LCAweDhmLCAweDE5LCAweGU1LCAweDE5LCAweDE1LCAweDE5LCAweGFlLCAweDE4LCAweDcwLCAweDAyLCAweDE1LCAweDE4LCAweDRlLAotICAweDYwLCAweDA1LCAweDEyLCAweDBkLCAweDRlLCAweDgwLCAweGVlLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDExLCAweGYwLCAweDkwLCAweGMwLAotICAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEyLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLAotICAweDUzLCAweGQ4LCAweGVmLCAweDMyLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDBmLCAweGU3LCAweDAwLCAweDAyLCAweDEzfX0sCi0gezB4MTMwNiwgNjQsIHsgMHgwNCwgMHgwMCwgMHgwMiwgMHgwZiwgMHhiZCwgMHgwMCwgMHgwMiwgMHgxMCwgMHgwZSwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwKLSAgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwKLSAgMHgxNiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwOCwgMHhmMCwgMHg5MH19LAotIHsweDEzNDYsIDY0LCB7IDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MDksIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsCi0gIDB4MGIsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGMsIDB4ZjAsIDB4OTAsIDB4YzAsCi0gIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmZ9fSwKLSB7MHgxMzg2LCA2NCwgeyAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBlLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDEyLCAweDAwLCAweDAzLCAweDEyLAotICAweDBkLCAweDVmLCAweDEyLCAweDBiLCAweDQ2LCAweDIyLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTNjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE0MDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNDQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTQ4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE0YzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNTA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTU0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE1ODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNWM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTYwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE2NDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNjg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTZjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE3MDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNzQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTc4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE3YzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxODA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTg0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE4ODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxOGM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDEyLCAweDAxLCAweDEwLCAweDAxLCAweGZmLCAweDAwfX0sCi0gezB4MTkwNiwgNjQsIHsgMHgwMCwgMHg0MCwgMHhjZCwgMHgwNiwgMHgxMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMiwgMHgwMCwgMHgwMiwgMHgwOSwgMHgwMiwgMHg3NCwgMHgwMCwgMHgwMSwKLSAgMHgwMSwgMHgwMCwgMHhhMCwgMHgzMiwgMHgwOSwgMHgwNCwgMHgwMCwgMHgwMCwgMHgwZSwgMHhmZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMSwKLSAgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMywgMHgwMiwgMHg0MCwKLSAgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwNCwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwNSwgMHgwMiwgMHg0MCwgMHgwMH19LAotIHsweDE5NDYsIDY0LCB7IDB4MDAsIDB4MDcsIDB4MDUsIDB4MDYsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDcsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsCi0gIDB4ODEsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODIsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4ODMsIDB4MDIsCi0gIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODQsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODUsIDB4MDIsIDB4NDAsIDB4MDAsCi0gIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODYsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODcsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDF9fSwKLSB7MHgxOTg2LCA2NCwgeyAweDA0LCAweDAzLCAweDA5LCAweDA0LCAweDQ4LCAweDAzLCAweDRiLCAweDAwLCAweDY1LCAweDAwLCAweDc5LCAweDAwLCAweDczLCAweDAwLCAweDcwLCAweDAwLCAweDYxLAotICAweDAwLCAweDZlLCAweDAwLCAweDJjLCAweDAwLCAweDIwLCAweDAwLCAweDYxLCAweDAwLCAweDIwLCAweDAwLCAweDY0LCAweDAwLCAweDY5LCAweDAwLCAweDc2LAotICAweDAwLCAweDY5LCAweDAwLCAweDczLCAweDAwLCAweDY5LCAweDAwLCAweDZmLCAweDAwLCAweDZlLCAweDAwLCAweDIwLCAweDAwLCAweDZmLCAweDAwLCAweDY2LAotICAweDAwLCAweDIwLCAweDAwLCAweDQ5LCAweDAwLCAweDZlLCAweDAwLCAweDZlLCAweDAwLCAweDZmLCAweDAwLCAweDUzLCAweDAwLCAweDc5LCAweDAwfX0sCi0gezB4MTljNiwgNjQsIHsgMHg3MywgMHgwMCwgMHgyMCwgMHgwMCwgMHg0OSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2MywgMHgwMCwgMHgyZSwgMHgwMCwgMHgzNiwgMHgwMywgMHg0YiwgMHgwMCwgMHg2NSwKLSAgMHgwMCwgMHg3OSwgMHgwMCwgMHg3MywgMHgwMCwgMHg3MCwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHgyMCwgMHgwMCwgMHg1NSwgMHgwMCwgMHg1MywKLSAgMHgwMCwgMHg0MiwgMHgwMCwgMHgyMCwgMHgwMCwgMHg1MywgMHgwMCwgMHg2NSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2OSwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2YywKLSAgMHgwMCwgMHgyMCwgMHgwMCwgMHg0MSwgMHgwMCwgMHg2NCwgMHgwMCwgMHg2MSwgMHgwMCwgMHg3MCwgMHgwMCwgMHg3NCwgMHgwMCwgMHg2NSwgMHgwMH19LAotIHsweDFhMDYsICA0LCB7IDB4NzIsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHhmZmZmLCAgMCwgIHsweDAwfX0KLX07CmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl91c2EyOHhhX2Z3LmggYi9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl91c2EyOHhhX2Z3LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdiNTY2NzguLjAwMDAwMDAKLS0tIGEvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fdXNhMjh4YV9mdy5oCisrKyAvZGV2L251bGwKQEAgLTEsNDQ5ICswLDAgQEAKLS8qIGtleXNwYW5fdXNhMjh4YV9mdy5oCi0KLQlUaGUgZmlybXdhcmUgY29udGFpbmVkIGhlcmVpbiBhcyBrZXlzcGFuX3VzYTI4eGEuaCBpcwotCi0JCUNvcHlyaWdodCAoQykgMTk5OS0yMDAxCi0JCUtleXNwYW4sIEEgZGl2aXNpb24gb2YgSW5ub1N5cyBJbmNvcnBvcmF0ZWQgKCJLZXlzcGFuIikKLQkJCi0JYXMgYW4gdW5wdWJsaXNoZWQgd29yay4gVGhpcyBub3RpY2UgZG9lcyBub3QgaW1wbHkgdW5yZXN0cmljdGVkIG9yCi0JcHVibGljIGFjY2VzcyB0byB0aGUgc291cmNlIGNvZGUgZnJvbSB3aGljaCB0aGlzIGZpcm13YXJlIGltYWdlIGlzCi0JZGVyaXZlZC4gIEV4Y2VwdCBhcyBub3RlZCBiZWxvdyB0aGlzIGZpcm13YXJlIGltYWdlIG1heSBub3QgYmUgCi0JcmVwcm9kdWNlZCwgdXNlZCwgc29sZCBvciB0cmFuc2ZlcnJlZCB0byBhbnkgdGhpcmQgcGFydHkgd2l0aG91dCAKLQlLZXlzcGFuJ3MgcHJpb3Igd3JpdHRlbiBjb25zZW50LiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLQotCVBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQgZm9yIHRoZSBkaXN0cmlidXRpb24gb2YgdGhpcyBmaXJtd2FyZSAKLQlpbWFnZSBhcyBwYXJ0IG9mIGEgTGludXggb3Igb3RoZXIgT3BlbiBTb3VyY2Ugb3BlcmF0aW5nIHN5c3RlbSBrZXJuZWwgCi0JaW4gdGV4dCBvciBiaW5hcnkgZm9ybSBhcyByZXF1aXJlZC4gCi0KLQlUaGlzIGZpcm13YXJlIG1heSBub3QgYmUgbW9kaWZpZWQgYW5kIG1heSBvbmx5IGJlIHVzZWQgd2l0aCAgCi0JS2V5c3BhbiBoYXJkd2FyZS4gIERpc3RyaWJ1dGlvbiBhbmQvb3IgTW9kaWZpY2F0aW9uIG9mIHRoZSAKLQlrZXlzcGFuLmMgZHJpdmVyIHdoaWNoIGluY2x1ZGVzIHRoaXMgZmlybXdhcmUsIGluIHdob2xlIG9yIGluIAotCXBhcnQsIHJlcXVpcmVzIHRoZSBpbmNsdXNpb24gb2YgdGhpcyBzdGF0ZW1lbnQuIgotCi0KLQotKi8KLQotc3RhdGljIGNvbnN0IHN0cnVjdCBlenVzYl9oZXhfcmVjb3JkIGtleXNwYW5fdXNhMjh4YV9maXJtd2FyZVtdID0gewotIHsweDAwMzMsICAzLCB7IDB4MDIsIDB4MTIsIDB4Zjl9fSwKLSB7MHgwMDAzLCAxNiwgeyAweGU0LCAweDkwLCAweDdmLCAweDkzLCAweGYwLCAweDkwLCAweDdmLCAweDljLCAweDc0LCAweDMwLCAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweDk2LCAweGYwfX0sCi0gezB4MDAxMywgMTYsIHsgMHg5MCwgMHg3ZiwgMHg5NCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZCwgMHg3NCwgMHhmZiwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5NywgMHhmMCwgMHg5MH19LAotIHsweDAwMjMsIDE1LCB7IDB4N2YsIDB4OTUsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWUsIDB4NzQsIDB4MDcsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZjAsIDB4MjJ9fSwKLSB7MHgwMDQ2LCAxNiwgeyAweDMwLCAweDA5LCAweDE4LCAweDEyLCAweDEzLCAweDI3LCAweGVmLCAweGMzLCAweDk1LCAweDNjLCAweDQwLCAweDAzLCAweDAyLCAweDAwLCAweGQ4LCAweDkwfX0sCi0gezB4MDA1NiwgMTYsIHsgMHg3ZiwgMHhiZiwgMHg3NCwgMHgwMSwgMHhmMCwgMHhjMiwgMHgwOSwgMHhjMiwgMHgwMCwgMHg4MCwgMHg3NywgMHgzMCwgMHgwMywgMHgzYiwgMHg5MCwgMHg3Zn19LAotIHsweDAwNjYsIDE2LCB7IDB4YzYsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4NmQsIDB4MTIsIDB4MTMsIDB4MjcsIDB4ZWYsIDB4YzMsIDB4OTQsIDB4NDAsIDB4NTAsIDB4NjQsIDB4OTAsIDB4N2V9fSwKLSB7MHgwMDc2LCAxNiwgeyAweDQwLCAweGUwLCAweDEzLCAweDkyLCAweDA5LCAweDkwLCAweDdmLCAweGM3LCAweGUwLCAweDE0LCAweGY1LCAweDE5LCAweDIwLCAweDAwLCAweDExLCAweDYwfX0sCi0gezB4MDA4NiwgMTYsIHsgMHgwZiwgMHhmNSwgMHgwOCwgMHg3ZSwgMHg3ZSwgMHg3ZiwgMHg0MSwgMHg3NSwgMHgwYywgMHg3ZSwgMHg3NSwgMHgwZCwgMHg0MSwgMHgxMiwgMHgwYywgMHhjOH19LAotIHsweDAwOTYsIDE2LCB7IDB4YzIsIDB4MDMsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZjAsIDB4ODAsIDB4MzksIDB4OTAsIDB4N2YsIDB4YzgsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MzJ9fSwKLSB7MHgwMGE2LCAxNiwgeyAweDEyLCAweDEzLCAweDI3LCAweGVmLCAweGMzLCAweDk0LCAweDQwLCAweDUwLCAweDI5LCAweDkwLCAweDdkLCAweGMwLCAweGUwLCAweDEzLCAweDkyLCAweDA5fX0sCi0gezB4MDBiNiwgMTYsIHsgMHg5MCwgMHg3ZiwgMHhjOSwgMHhlMCwgMHgxNCwgMHhmNSwgMHgxOSwgMHgyMCwgMHgwMCwgMHgxMSwgMHg2MCwgMHgwZiwgMHhmNSwgMHgwOCwgMHg3ZSwgMHg3ZH19LAotIHsweDAwYzYsIDE2LCB7IDB4N2YsIDB4YzEsIDB4NzUsIDB4MGMsIDB4N2QsIDB4NzUsIDB4MGQsIDB4YzEsIDB4MTIsIDB4MGMsIDB4YzgsIDB4ZDIsIDB4MDMsIDB4ZTQsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwMGQ2LCAxNiwgeyAweGM5LCAweGYwLCAweDkwLCAweDdmLCAweGI2LCAweGUwLCAweDMwLCAweGUxLCAweDAzLCAweDAyLCAweDAxLCAweDYwLCAweDEyLCAweDExLCAweGU0LCAweDhmfX0sCi0gezB4MDBlNiwgMTYsIHsgMHgxOSwgMHgxMiwgMHgxMywgMHgzMywgMHg4ZiwgMHgzNiwgMHhlNSwgMHgxOSwgMHhjMywgMHg5NSwgMHgzYSwgMHg1MCwgMHgwZiwgMHgxMiwgMHgxMywgMHgwZn19LAotIHsweDAwZjYsIDE2LCB7IDB4ZWYsIDB4MzAsIDB4ZTAsIDB4MDgsIDB4ZTUsIDB4MzYsIDB4MjAsIDB4ZTcsIDB4MDMsIDB4MzAsIDB4MGIsIDB4NWUsIDB4YzIsIDB4MGIsIDB4ZTUsIDB4MTl9fSwKLSB7MHgwMDM2LCAxMiwgeyAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEwLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyfX0sCi0gezB4MDA0MywgIDMsIHsgMHgwMiwgMHgxMywgMHgwMH19LAotIHsweDAwMDAsICAzLCB7IDB4MDIsIDB4MGUsIDB4MGV9fSwKLSB7MHgwMTA2LCA2NCwgeyAweDYwLCAweDU4LCAweGI0LCAweDgwLCAweDAzLCAweDQzLCAweDM2LCAweDAyLCAweGU1LCAweDM2LCAweDMwLCAweGU3LCAweDI2LCAweGU1LCAweDE5LCAweGQzLCAweDk0LAotICAweDIwLCAweDQwLCAweDAzLCAweDc1LCAweDE5LCAweDIwLCAweDg1LCAweDE5LCAweDA4LCAweDdlLCAweDdlLCAweDdmLCAweDgwLCAweDc1LCAweDBjLCAweDdlLAotICAweDc1LCAweDBkLCAweDgwLCAweGFmLCAweDM2LCAweDEyLCAweDBmLCAweDU5LCAweGU1LCAweDE5LCAweDI1LCAweGUwLCAweDkwLCAweDdmLCAweGI3LCAweGYwLAotICAweDgwLCAweDI3LCAweGU1LCAweDE5LCAweGQzLCAweDk0LCAweDNmLCAweDQwLCAweDAzLCAweDc1LCAweDE5LCAweDNmLCAweDg1LCAweDE5LCAweDA4fX0sCi0gezB4MDE0NiwgNjQsIHsgMHg5MCwgMHg3ZSwgMHg4MCwgMHhlNSwgMHgzNiwgMHhmMCwgMHg3ZSwgMHg3ZSwgMHg3ZiwgMHg4MSwgMHg3NSwgMHgwYywgMHg3ZSwgMHg3NSwgMHgwZCwgMHg4MSwgMHgxMiwKLSAgMHgwYywgMHhlZCwgMHhlNSwgMHgxOSwgMHgwNCwgMHg5MCwgMHg3ZiwgMHhiNywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhjZSwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwNiwKLSAgMHgyMCwgMHgwNSwgMHgwMywgMHgwMiwgMHgwMywgMHhjMSwgMHhjMiwgMHgwNSwgMHhlNCwgMHhmNSwgMHgxOCwgMHg3NCwgMHg0MCwgMHgyNSwgMHgxOCwgMHhmNSwKLSAgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YywgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHhlNSwgMHgxOCwgMHg3YywgMHgwMCwgMHg3YiwgMHgwMSwgMHg3YX19LAotIHsweDAxODYsIDY0LCB7IDB4N2UsIDB4NzksIDB4MDAsIDB4MjQsIDB4MDAsIDB4ZjksIDB4ZWMsIDB4MzQsIDB4N2UsIDB4ZmEsIDB4ZWYsIDB4MTIsIDB4MGUsIDB4ZTAsIDB4MDUsIDB4MTgsIDB4ZTUsCi0gIDB4MTgsIDB4YjQsIDB4MjAsIDB4ZDcsIDB4OTAsIDB4N2UsIDB4MDAsIDB4ZTAsIDB4NjAsIDB4NjgsIDB4OTAsIDB4N2UsIDB4MDMsIDB4ZTAsIDB4NjAsIDB4MjQsCi0gIDB4N2YsIDB4MDEsIDB4ZTQsIDB4ZmQsIDB4MTIsIDB4MTEsIDB4YmYsIDB4N2YsIDB4MDMsIDB4N2QsIDB4Y2QsIDB4MTIsIDB4MTEsIDB4YmYsIDB4NDMsIDB4NDYsCi0gIDB4ODAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDYsIDB4ZjAsIDB4ZTQsIDB4OTB9fSwKLSB7MHgwMWM2LCA2NCwgeyAweDdlLCAweDEzLCAweGYwLCAweDgwLCAweDMwLCAweDkwLCAweDdlLCAweDAxLCAweGUwLCAweGZmLCAweDEyLCAweDEwLCAweDQzLCAweDkwLCAweDdlLCAweDAyLCAweGUwLAotICAweGZmLCAweDEyLCAweDEwLCAweDY5LCAweDdmLCAweDAxLCAweDkwLCAweDdlLCAweDExLCAweGUwLCAweGZkLCAweDEyLCAweDExLCAweGJmLCAweDdmLCAweDAzLAotICAweDdkLCAweDA3LCAweDEyLCAweDExLCAweGJmLCAweDQzLCAweDQ2LCAweDgwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE0LCAweGYwLCAweDkwLCAweGMwLAotICAweDAwLCAweGU1LCAweDQ2LCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEyLCAweGYwLCAweGU1LCAweDQwLCAweDQ0LCAweDA2LCAweDkwfX0sCi0gezB4MDIwNiwgNjQsIHsgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgwMywgMHhlMCwgMHg3MCwgMHgwNiwgMHg5MCwgMHg3ZSwgMHgxMywgMHhlMCwgMHg3MCwgMHgwOCwgMHhlNCwgMHg5MCwKLSAgMHg3ZSwgMHgxMywgMHhmMCwgMHg3NSwgMHgyNSwgMHhmZiwgMHg5MCwgMHg3ZSwgMHgwNSwgMHhlMCwgMHg2MCwgMHgxMiwgMHhhMywgMHhlMCwgMHg1NCwgMHgzZiwKLSAgMHhmNSwgMHg0NCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NCwgMHhmMCwgMHg5MCwgMHg3ZSwKLSAgMHgwNywgMHhlMCwgMHg2MCwgMHgyYiwgMHhhMywgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHg0MiwgMHg4MCwgMHg4MCwgMHgwMywgMHg1MywgMHg0Mn19LAotIHsweDAyNDYsIDY0LCB7IDB4N2YsIDB4NTMsIDB4NDIsIDB4ZmMsIDB4OTAsIDB4N2UsIDB4MDksIDB4ZTAsIDB4NjAsIDB4MTEsIDB4NDMsIDB4NDIsIDB4MDIsIDB4YTMsIDB4ZTAsIDB4ZmYsIDB4MTIsCi0gIDB4MTAsIDB4YjUsIDB4OTAsIDB4N2UsIDB4MGIsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MTAsIDB4ZGIsIDB4YWYsIDB4NDIsIDB4MTIsIDB4MTAsIDB4OGYsIDB4OTAsCi0gIDB4N2UsIDB4MDMsIDB4ZTAsIDB4NjAsIDB4MDgsIDB4NTMsIDB4NDIsIDB4N2YsIDB4YWYsIDB4NDIsIDB4MTIsIDB4MTAsIDB4OGYsIDB4OTAsIDB4N2UsIDB4MGMsCi0gIDB4ZTAsIDB4NjAsIDB4MTgsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4NDYsIDB4MDIsIDB4ODAsIDB4MDMsIDB4NTMsIDB4NDYsIDB4ZmR9fSwKLSB7MHgwMjg2LCA2NCwgeyAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE0LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDQ2LCAweGYwLCAweDkwLCAweDdlLCAweDBlLCAweGUwLCAweDYwLAotICAweDE4LCAweGEzLCAweGUwLCAweDYwLCAweDA1LCAweDQzLCAweDQ2LCAweDAxLCAweDgwLCAweDAzLCAweDUzLCAweDQ2LCAweGZlLCAweDkwLCAweDdmLCAweDk4LAotICAweDc0LCAweDE0LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDQ2LCAweGYwLCAweDkwLCAweDdlLCAweDEyLCAweGUwLCAweGY1LCAweDNhLCAweGEzLAotICAweGUwLCAweDEzLCAweDkyLCAweDBkLCAweGEzLCAweGUwLCAweGY1LCAweDNjLCAweGEzLCAweGUwLCAweDYwLCAweDA1LCAweDQzLCAweDQ2LCAweDEwfX0sCi0gezB4MDJjNiwgNjQsIHsgMHg4MCwgMHgwMywgMHg1MywgMHg0NiwgMHhlZiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NiwgMHhmMCwKLSAgMHg5MCwgMHg3ZSwgMHgxNiwgMHhlMCwgMHg2MCwgMHgzMiwgMHg1MywgMHg0NCwgMHhiZiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHhlNSwKLSAgMHg0NCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMSwgMHhmMCwgMHgxMiwgMHgxMiwgMHhlZCwKLSAgMHhlZiwgMHg1NCwgMHhmZSwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg1MywgMHgzZSwgMHhmZCwgMHhlNCwgMHhmZiwgMHhhZCwgMHgzZSwgMHgxMn19LAotIHsweDAzMDYsIDY0LCB7IDB4MTEsIDB4YmYsIDB4ZTQsIDB4ZjUsIDB4MmEsIDB4ZjUsIDB4MjksIDB4ZDIsIDB4MDcsIDB4OTAsIDB4N2UsIDB4MTcsIDB4ZTAsIDB4NjAsIDB4MGYsIDB4NDMsIDB4M2UsCi0gIDB4MDIsIDB4ZTQsIDB4ZmYsIDB4YWQsIDB4M2UsIDB4MTIsIDB4MTEsIDB4YmYsIDB4NzUsIDB4MjksIDB4MDEsIDB4ZDIsIDB4MDcsIDB4OTAsIDB4N2UsIDB4MTgsCi0gIDB4ZTAsIDB4NjAsIDB4MTAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTIsIDB4ZjAsIDB4ZTUsIDB4NDAsIDB4NDQsIDB4MDQsIDB4OTAsIDB4YzAsIDB4MDAsCi0gIDB4ZjAsIDB4ZDIsIDB4MDAsIDB4OTAsIDB4N2UsIDB4MTksIDB4ZTAsIDB4NjAsIDB4MTEsIDB4NDMsIDB4NDQsIDB4NDAsIDB4OTAsIDB4N2YsIDB4OTh9fSwKLSB7MHgwMzQ2LCA2NCwgeyAweDc0LCAweDEzLCAweGYwLCAweGU1LCAweDQ0LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdlLCAweDFhLCAweGUwLCAweDYwLCAweDBmLAotICAweDUzLCAweDNlLCAweGZlLCAweGU0LCAweGZmLCAweGFkLCAweDNlLCAweDEyLCAweDExLCAweGJmLCAweDc1LCAweDJiLCAweDAxLCAweGQyLCAweDA3LCAweDkwLAotICAweDdlLCAweDFiLCAweGUwLCAweDYwLCAweDBmLCAweDQzLCAweDNlLCAweDAxLCAweGU0LCAweGZmLCAweGFkLCAweDNlLCAweDEyLCAweDExLCAweGJmLCAweGU0LAotICAweGY1LCAweDJiLCAweGQyLCAweDA3LCAweDkwLCAweDdlLCAweDFjLCAweGUwLCAweDYwLCAweDBlLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEyfX0sCi0gezB4MDM4NiwgNjQsIHsgMHhmMCwgMHhlNSwgMHg0MCwgMHg0NCwgMHgwMiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgxZCwgMHhlMCwgMHg2MCwgMHgwMiwgMHhkMiwgMHgwYiwKLSAgMHg5MCwgMHg3ZSwgMHgxZSwgMHhlMCwgMHg2MCwgMHgwOCwgMHg3NSwgMHgyYywgMHgwMSwgMHhlNCwgMHhmNSwgMHgzOCwgMHhkMiwgMHgwNywgMHg5MCwgMHg3ZSwKLSAgMHgxZiwgMHhlMCwgMHg2MCwgMHgxMSwgMHg5MCwgMHg3ZiwgMHhkNywgMHg3NCwgMHgxMSwgMHhmMCwgMHg3NCwgMHgzMSwgMHhmMCwgMHg3NCwgMHgxNSwgMHhmMCwKLSAgMHg3NCwgMHgzNSwgMHhmMCwgMHhkMiwgMHgwMywgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjZiwgMHhmMCwgMHgzMCwgMHgxYSwgMHg1MiwgMHhlNSwgMHgzOH19LAotIHsweDAzYzYsIDY0LCB7IDB4NjAsIDB4MDIsIDB4MTUsIDB4MzgsIDB4MjAsIDB4MTMsIDB4NDksIDB4ZTUsIDB4MTMsIDB4ZDMsIDB4OTQsIDB4MDAsIDB4NDAsIDB4MDQsIDB4MTUsIDB4MTMsIDB4ODAsCi0gIDB4M2UsIDB4NzUsIDB4MTMsIDB4MGEsIDB4MzAsIDB4MWIsIDB4MDIsIDB4ZDIsIDB4MTMsIDB4MTIsIDB4MTIsIDB4ZWQsIDB4ZWYsIDB4NTQsIDB4MDEsIDB4ZjUsCi0gIDB4MTksIDB4NjUsIDB4MmEsIDB4NjAsIDB4MDUsIDB4ODUsIDB4MTksIDB4MmEsIDB4ZDIsIDB4MDcsIDB4MTIsIDB4MTMsIDB4M2YsIDB4ZWYsIDB4NTQsIDB4ODAsCi0gIDB4ZjUsIDB4MTksIDB4NjUsIDB4MjYsIDB4NjAsIDB4MDUsIDB4ODUsIDB4MTksIDB4MjYsIDB4ZDIsIDB4MDcsIDB4MzAsIDB4MGQsIDB4MTEsIDB4MTJ9fSwKLSB7MHgwNDA2LCA2NCwgeyAweDEzLCAweDNmLCAweGVmLCAweDU0LCAweDEwLCAweGY1LCAweDE5LCAweDY1LCAweDI1LCAweDYwLCAweDA1LCAweDg1LCAweDE5LCAweDI1LCAweGQyLCAweDA3LCAweDIwLAotICAweDFiLCAweDAzLCAweDAyLCAweDA3LCAweGVjLCAweDMwLCAweDBhLCAweDE4LCAweDEyLCAweDEzLCAweDdiLCAweGVmLCAweGMzLCAweDk1LCAweDNkLCAweDQwLAotICAweDAzLCAweDAyLCAweDA0LCAweGFlLCAweDkwLCAweDdmLCAweGMxLCAweDc0LCAweDAxLCAweGYwLCAweGMyLCAweDBhLCAweGMyLCAweDAwLCAweDgwLCAweDc3LAotICAweDMwLCAweDA0LCAweDNiLCAweDkwLCAweDdmLCAweGNhLCAweGUwLCAweDIwLCAweGUxLCAweDZkLCAweDEyLCAweDEzLCAweDdiLCAweGVmLCAweGMzfX0sCi0gezB4MDQ0NiwgNjQsIHsgMHg5NCwgMHg0MCwgMHg1MCwgMHg2NCwgMHg5MCwgMHg3ZCwgMHg0MCwgMHhlMCwgMHgxMywgMHg5MiwgMHgwYSwgMHg5MCwgMHg3ZiwgMHhjYiwgMHhlMCwgMHgxNCwgMHhmNSwKLSAgMHgxOSwgMHgyMCwgMHgwMCwgMHgxMSwgMHg2MCwgMHgwZiwgMHhmNSwgMHgwOCwgMHg3ZSwgMHg3ZCwgMHg3ZiwgMHg0MSwgMHg3NSwgMHgwYywgMHg3ZCwgMHg3NSwKLSAgMHgwZCwgMHg0MSwgMHgxMiwgMHgwZCwgMHgxMiwgMHhjMiwgMHgwNCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjYiwgMHhmMCwgMHg4MCwgMHgzOSwgMHg5MCwgMHg3ZiwKLSAgMHhjYywgMHhlMCwgMHgyMCwgMHhlMSwgMHgzMiwgMHgxMiwgMHgxMywgMHg3YiwgMHhlZiwgMHhjMywgMHg5NCwgMHg0MCwgMHg1MCwgMHgyOSwgMHg5MH19LAotIHsweDA0ODYsIDY0LCB7IDB4N2MsIDB4YzAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGEsIDB4OTAsIDB4N2YsIDB4Y2QsIDB4ZTAsIDB4MTQsIDB4ZjUsIDB4MTksIDB4MjAsIDB4MDAsIDB4MTEsIDB4NjAsCi0gIDB4MGYsIDB4ZjUsIDB4MDgsIDB4N2UsIDB4N2MsIDB4N2YsIDB4YzEsIDB4NzUsIDB4MGMsIDB4N2MsIDB4NzUsIDB4MGQsIDB4YzEsIDB4MTIsIDB4MGQsIDB4MTIsCi0gIDB4ZDIsIDB4MDQsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4Y2QsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YmEsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDMsIDB4MDIsIDB4MDUsCi0gIDB4MzYsIDB4MTIsIDB4MTIsIDB4MmUsIDB4OGYsIDB4MTksIDB4MTIsIDB4MTMsIDB4ODcsIDB4OGYsIDB4MzcsIDB4ZTUsIDB4MTksIDB4YzMsIDB4OTV9fSwKLSB7MHgwNGM2LCA2NCwgeyAweDNiLCAweDUwLCAweDBmLCAweDEyLCAweDEzLCAweDYzLCAweGVmLCAweDMwLCAweGUwLCAweDA4LCAweGU1LCAweDM3LCAweDIwLCAweGU3LCAweDAzLCAweDMwLCAweDBjLAotICAweDVlLCAweGMyLCAweDBjLCAweGU1LCAweDE5LCAweDYwLCAweDU4LCAweGI0LCAweDgwLCAweDAzLCAweDQzLCAweDM3LCAweDAyLCAweGU1LCAweDM3LCAweDMwLAotICAweGU3LCAweDI2LCAweGU1LCAweDE5LCAweGQzLCAweDk0LCAweDIwLCAweDQwLCAweDAzLCAweDc1LCAweDE5LCAweDIwLCAweDg1LCAweDE5LCAweDA4LCAweDdlLAotICAweDdkLCAweDdmLCAweDgwLCAweDc1LCAweDBjLCAweDdkLCAweDc1LCAweDBkLCAweDgwLCAweGFmLCAweDM3LCAweDEyLCAweDBmLCAweDkyLCAweGU1fX0sCi0gezB4MDUwNiwgNjQsIHsgMHgxOSwgMHgyNSwgMHhlMCwgMHg5MCwgMHg3ZiwgMHhiYiwgMHhmMCwgMHg4MCwgMHgyNywgMHhlNSwgMHgxOSwgMHhkMywgMHg5NCwgMHgzZiwgMHg0MCwgMHgwMywgMHg3NSwKLSAgMHgxOSwgMHgzZiwgMHg4NSwgMHgxOSwgMHgwOCwgMHg5MCwgMHg3ZCwgMHg4MCwgMHhlNSwgMHgzNywgMHhmMCwgMHg3ZSwgMHg3ZCwgMHg3ZiwgMHg4MSwgMHg3NSwKLSAgMHgwYywgMHg3ZCwgMHg3NSwgMHgwZCwgMHg4MSwgMHgxMiwgMHgwZCwgMHgzNywgMHhlNSwgMHgxOSwgMHgwNCwgMHg5MCwgMHg3ZiwgMHhiYiwgMHhmMCwgMHg5MCwKLSAgMHg3ZiwgMHhkMCwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwNiwgMHgyMCwgMHgwNiwgMHgwMywgMHgwMiwgMHgwNywgMHg5NywgMHhjMiwgMHgwNiwgMHhlNH19LAotIHsweDA1NDYsIDY0LCB7IDB4ZjUsIDB4MTgsIDB4NzQsIDB4YzAsIDB4MjUsIDB4MTgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2IsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4ZTUsIDB4MTgsCi0gIDB4N2MsIDB4MDAsIDB4N2IsIDB4MDEsIDB4N2EsIDB4N2UsIDB4NzksIDB4MjAsIDB4MjQsIDB4MjAsIDB4ZjksIDB4ZWMsIDB4MzQsIDB4N2UsIDB4ZmEsIDB4ZWYsCi0gIDB4MTIsIDB4MGUsIDB4ZTAsIDB4MDUsIDB4MTgsIDB4ZTUsIDB4MTgsIDB4YjQsIDB4MjAsIDB4ZDcsIDB4OTAsIDB4N2UsIDB4MjAsIDB4ZTAsIDB4NjAsIDB4NjgsCi0gIDB4OTAsIDB4N2UsIDB4MjMsIDB4ZTAsIDB4NjAsIDB4MjQsIDB4N2YsIDB4MDEsIDB4ZTQsIDB4ZmQsIDB4MTIsIDB4MTIsIDB4MDksIDB4N2YsIDB4MDN9fSwKLSB7MHgwNTg2LCA2NCwgeyAweDdkLCAweGNkLCAweDEyLCAweDEyLCAweDA5LCAweDQzLCAweDQ3LCAweDgwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBjLCAweGYwLCAweDkwLCAweGMwLCAweDAwLAotICAweGU1LCAweDQ3LCAweGYwLCAweGU0LCAweDkwLCAweDdlLCAweDMzLCAweGYwLCAweDgwLCAweDMwLCAweDkwLCAweDdlLCAweDIxLCAweGUwLCAweGZmLCAweDEyLAotICAweDExLCAweDI3LCAweDkwLCAweDdlLCAweDIyLCAweGUwLCAweGZmLCAweDEyLCAweDExLCAweDRkLCAweDdmLCAweDAxLCAweDkwLCAweDdlLCAweDMxLCAweGUwLAotICAweGZkLCAweDEyLCAweDEyLCAweDA5LCAweDdmLCAweDAzLCAweDdkLCAweDA3LCAweDEyLCAweDEyLCAweDA5LCAweDQzLCAweDQ3LCAweDgwLCAweDkwfX0sCi0gezB4MDVjNiwgNjQsIHsgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYSwgMHhmMCwKLSAgMHhlNSwgMHg0MSwgMHg0NCwgMHgwNiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgyMywgMHhlMCwgMHg3MCwgMHgwNiwgMHg5MCwgMHg3ZSwKLSAgMHgzMywgMHhlMCwgMHg3MCwgMHgwOCwgMHhlNCwgMHg5MCwgMHg3ZSwgMHgzMywgMHhmMCwgMHg3NSwgMHgyZSwgMHhmZiwgMHg5MCwgMHg3ZSwgMHgyNSwgMHhlMCwKLSAgMHg2MCwgMHgxMiwgMHhhMywgMHhlMCwgMHg1NCwgMHgzZiwgMHhmNSwgMHg0NSwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHg5MH19LAotIHsweDA2MDYsIDY0LCB7IDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDUsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MjcsIDB4ZTAsIDB4NjAsIDB4MmIsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4NDMsCi0gIDB4ODAsIDB4ODAsIDB4MDMsIDB4NTMsIDB4NDMsIDB4N2YsIDB4NTMsIDB4NDMsIDB4ZmMsIDB4OTAsIDB4N2UsIDB4MjksIDB4ZTAsIDB4NjAsIDB4MTEsIDB4NDMsCi0gIDB4NDMsIDB4MDIsIDB4YTMsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MTEsIDB4NzMsIDB4OTAsIDB4N2UsIDB4MmIsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MTEsIDB4OTksCi0gIDB4YWYsIDB4NDMsIDB4MTIsIDB4MTEsIDB4MDEsIDB4OTAsIDB4N2UsIDB4MjMsIDB4ZTAsIDB4NjAsIDB4MDgsIDB4NTMsIDB4NDMsIDB4N2YsIDB4YWZ9fSwKLSB7MHgwNjQ2LCA2NCwgeyAweDQzLCAweDEyLCAweDExLCAweDAxLCAweDkwLCAweDdlLCAweDJjLCAweGUwLCAweDYwLCAweDE4LCAweGEzLCAweGUwLCAweDYwLCAweDA1LCAweDQzLCAweDQ3LCAweDAyLAotICAweDgwLCAweDAzLCAweDUzLCAweDQ3LCAweGZkLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBjLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDQ3LAotICAweGYwLCAweDkwLCAweDdlLCAweDJlLCAweGUwLCAweDYwLCAweDE4LCAweGEzLCAweGUwLCAweDYwLCAweDA1LCAweDQzLCAweDQ3LCAweDAxLCAweDgwLCAweDAzLAotICAweDUzLCAweDQ3LCAweGZlLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBjLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDQ3LCAweGYwfX0sCi0gezB4MDY4NiwgNjQsIHsgMHg5MCwgMHg3ZSwgMHgzMiwgMHhlMCwgMHhmNSwgMHgzYiwgMHhhMywgMHhlMCwgMHgxMywgMHg5MiwgMHgwZSwgMHhhMywgMHhlMCwgMHhmNSwgMHgzZCwgMHhhMywgMHhlMCwKLSAgMHg2MCwgMHgwNSwgMHg0MywgMHg0NywgMHgxMCwgMHg4MCwgMHgwMywgMHg1MywgMHg0NywgMHhlZiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYywgMHhmMCwKLSAgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NywgMHhmMCwgMHg5MCwgMHg3ZSwgMHgzNiwgMHhlMCwgMHg2MCwgMHgzMiwgMHg1MywgMHg0NSwgMHhiZiwgMHg5MCwKLSAgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHhlNSwgMHg0NSwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3Zn19LAotIHsweDA2YzYsIDY0LCB7IDB4OTgsIDB4NzQsIDB4MDksIDB4ZjAsIDB4MTIsIDB4MTMsIDB4NTcsIDB4ZWYsIDB4NTQsIDB4ZmUsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4NTMsIDB4M2YsIDB4ZmQsCi0gIDB4ZTQsIDB4ZmYsIDB4YWQsIDB4M2YsIDB4MTIsIDB4MTIsIDB4MDksIDB4ZTQsIDB4ZjUsIDB4MzMsIDB4ZjUsIDB4MzIsIDB4ZDIsIDB4MDgsIDB4OTAsIDB4N2UsCi0gIDB4MzcsIDB4ZTAsIDB4NjAsIDB4MGYsIDB4NDMsIDB4M2YsIDB4MDIsIDB4ZTQsIDB4ZmYsIDB4YWQsIDB4M2YsIDB4MTIsIDB4MTIsIDB4MDksIDB4NzUsIDB4MzIsCi0gIDB4MDEsIDB4ZDIsIDB4MDgsIDB4OTAsIDB4N2UsIDB4MzgsIDB4ZTAsIDB4NjAsIDB4MTAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGEsIDB4ZjB9fSwKLSB7MHgwNzA2LCA2NCwgeyAweGU1LCAweDQxLCAweDQ0LCAweDA0LCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweGQyLCAweDAwLCAweDkwLCAweDdlLCAweDM5LCAweGUwLCAweDYwLCAweDExLCAweDQzLAotICAweDQ1LCAweDQwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweGU1LCAweDQ1LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLAotICAweDkwLCAweDdlLCAweDNhLCAweGUwLCAweDYwLCAweDBmLCAweDUzLCAweDNmLCAweGZlLCAweGU0LCAweGZmLCAweGFkLCAweDNmLCAweDEyLCAweDEyLCAweDA5LAotICAweDc1LCAweDM0LCAweDAxLCAweGQyLCAweDA4LCAweDkwLCAweDdlLCAweDNiLCAweGUwLCAweDYwLCAweDBmLCAweDQzLCAweDNmLCAweDAxLCAweGU0fX0sCi0gezB4MDc0NiwgNjQsIHsgMHhmZiwgMHhhZCwgMHgzZiwgMHgxMiwgMHgxMiwgMHgwOSwgMHhlNCwgMHhmNSwgMHgzNCwgMHhkMiwgMHgwOCwgMHg5MCwgMHg3ZSwgMHgzYywgMHhlMCwgMHg2MCwgMHgwZSwKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYSwgMHhmMCwgMHhlNSwgMHg0MSwgMHg0NCwgMHgwMiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZSwKLSAgMHgzZCwgMHhlMCwgMHg2MCwgMHgwMiwgMHhkMiwgMHgwYywgMHg5MCwgMHg3ZSwgMHgzZSwgMHhlMCwgMHg2MCwgMHgwOCwgMHg3NSwgMHgzNSwgMHgwMSwgMHhlNCwKLSAgMHhmNSwgMHgzOSwgMHhkMiwgMHgwOCwgMHg5MCwgMHg3ZSwgMHgzZiwgMHhlMCwgMHg2MCwgMHgxMSwgMHg5MCwgMHg3ZiwgMHhkNywgMHg3NCwgMHgxM319LAotIHsweDA3ODYsIDY0LCB7IDB4ZjAsIDB4NzQsIDB4MzMsIDB4ZjAsIDB4NzQsIDB4MTYsIDB4ZjAsIDB4NzQsIDB4MzYsIDB4ZjAsIDB4ZDIsIDB4MDQsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4ZDEsIDB4ZjAsCi0gIDB4MzAsIDB4MWEsIDB4NTIsIDB4ZTUsIDB4MzksIDB4NjAsIDB4MDIsIDB4MTUsIDB4MzksIDB4MzAsIDB4MTMsIDB4NDksIDB4ZTUsIDB4MTMsIDB4ZDMsIDB4OTQsCi0gIDB4MDAsIDB4NDAsIDB4MDQsIDB4MTUsIDB4MTMsIDB4ODAsIDB4M2UsIDB4NzUsIDB4MTMsIDB4MGEsIDB4MzAsIDB4MWIsIDB4MDIsIDB4YzIsIDB4MTMsIDB4MTIsCi0gIDB4MTMsIDB4NTcsIDB4ZWYsIDB4NTQsIDB4MDEsIDB4ZjUsIDB4MTksIDB4NjUsIDB4MzMsIDB4NjAsIDB4MDUsIDB4ODUsIDB4MTksIDB4MzMsIDB4ZDJ9fSwKLSB7MHgwN2M2LCA2NCwgeyAweDA4LCAweDEyLCAweDEzLCAweDkzLCAweGVmLCAweDU0LCAweDgwLCAweGY1LCAweDE5LCAweDY1LCAweDJmLCAweDYwLCAweDA1LCAweDg1LCAweDE5LCAweDJmLCAweGQyLAotICAweDA4LCAweDMwLCAweDBlLCAweDExLCAweDEyLCAweDEzLCAweDkzLCAweGVmLCAweDU0LCAweDEwLCAweGY1LCAweDE5LCAweDY1LCAweDJlLCAweDYwLCAweDA1LAotICAweDg1LCAweDE5LCAweDJlLCAweGQyLCAweDA4LCAweDMwLCAweDFhLCAweDJhLCAweDkwLCAweDdmLCAweGQyLCAweGUwLCAweDIwLCAweGUxLCAweDIzLCAweDkwLAotICAweDdiLCAweDQwLCAweGUwLCAweDYwLCAweDA5LCAweGUwLCAweGY1LCAweDE1LCAweDkwLCAweDdiLCAweDQyLCAweGUwLCAweGY1LCAweDE2LCAweDkwfX0sCi0gezB4MDgwNiwgNjQsIHsgMHg3YiwgMHg0MSwgMHhlMCwgMHg2MCwgMHgwOSwgMHg5MCwgMHg3ZiwgMHhkNywgMHg3NCwgMHgxNywgMHhmMCwgMHg3NCwgMHgzNywgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwKLSAgMHhkMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhjMiwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwMywgMHgwMiwgMHgwOSwgMHgyMCwgMHhlNSwgMHgwYSwgMHg3MCwgMHg0MCwKLSAgMHgzMCwgMHgwNywgMHgzOSwgMHhlNSwgMHgzOCwgMHg3MCwgMHgzNSwgMHhjMiwgMHgwNywgMHhmNSwgMHgxOCwgMHg3ZSwgMHgwMCwgMHg3YiwgMHgwMCwgMHg3NCwKLSAgMHgyNCwgMHgyNSwgMHgxOCwgMHhmOSwgMHhlZSwgMHgzNCwgMHgwMCwgMHhmYSwgMHgxMiwgMHgwZSwgMHg5YSwgMHhmZiwgMHg3NCwgMHg4MCwgMHgyNX19LAotIHsweDA4NDYsIDY0LCB7IDB4MTgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2IsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MDUsIDB4MTgsIDB4ZTUsIDB4MTgsIDB4YjQsIDB4MDksIDB4ZGIsCi0gIDB4OTAsIDB4N2YsIDB4YzMsIDB4NzQsIDB4MDksIDB4ZjAsIDB4NzUsIDB4MzgsIDB4MTAsIDB4ZTQsIDB4ZjUsIDB4MmMsIDB4NzUsIDB4MGEsIDB4MDEsIDB4MjIsCi0gIDB4ZTUsIDB4MGEsIDB4NjQsIDB4MDEsIDB4NzAsIDB4NDAsIDB4MzAsIDB4MDgsIDB4MzksIDB4ZTUsIDB4MzksIDB4NzAsIDB4MzUsIDB4YzIsIDB4MDgsIDB4ZjUsCi0gIDB4MTgsIDB4N2UsIDB4MDAsIDB4N2IsIDB4MDAsIDB4NzQsIDB4MmQsIDB4MjUsIDB4MTgsIDB4ZjksIDB4ZWUsIDB4MzQsIDB4MDAsIDB4ZmEsIDB4MTJ9fSwKLSB7MHgwODg2LCA2NCwgeyAweDBlLCAweDlhLCAweGZmLCAweDc0LCAweDgwLCAweDI1LCAweDE4LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdiLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDA1LAotICAweDE4LCAweGU1LCAweDE4LCAweGI0LCAweDA5LCAweGRiLCAweDkwLCAweDdmLCAweGMzLCAweDc0LCAweDA5LCAweGYwLCAweDc1LCAweDM5LCAweDEwLCAweGU0LAotICAweGY1LCAweDM1LCAweDc1LCAweDBhLCAweDAyLCAweDIyLCAweGU1LCAweDBhLCAweDY0LCAweDAyLCAweDcwLCAweDM2LCAweDMwLCAweDE0LCAweDJmLCAweGMyLAotICAweDE0LCAweGY1LCAweDE4LCAweDdlLCAweDAwLCAweDdiLCAweDAwLCAweDc0LCAweDBlLCAweDI1LCAweDE4LCAweGY5LCAweGVlLCAweDM0LCAweDAwfX0sCi0gezB4MDhjNiwgNjQsIHsgMHhmYSwgMHgxMiwgMHgwZSwgMHg5YSwgMHhmZiwgMHg3NCwgMHg4MCwgMHgyNSwgMHgxOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwgMHg4MywgMHhlZiwKLSAgMHhmMCwgMHgwNSwgMHgxOCwgMHhlNSwgMHgxOCwgMHhiNCwgMHgwNSwgMHhkYiwgMHg5MCwgMHg3ZiwgMHhjMywgMHg3NCwgMHgwNSwgMHhmMCwgMHg3NSwgMHgwYSwKLSAgMHgwMywgMHgyMiwgMHhlNSwgMHgxNSwgMHg2MCwgMHgzMCwgMHgxNSwgMHgxNSwgMHhlNCwgMHhmNSwgMHgxOCwgMHg3ZSwgMHgwMCwgMHg3YiwgMHgwMCwgMHg3NCwKLSAgMHgxNCwgMHgyNSwgMHgxOCwgMHhmOSwgMHhlZSwgMHgzNCwgMHgwMCwgMHhmYSwgMHgxMiwgMHgwZSwgMHg5YSwgMHhmZiwgMHg3NCwgMHg4MCwgMHgyNX19LAotIHsweDA5MDYsIDY0LCB7IDB4MTgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2IsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MDUsIDB4MTgsIDB4ZTUsIDB4MTgsIDB4YjQsIDB4MDMsIDB4ZGIsCi0gIDB4OTAsIDB4N2YsIDB4YzMsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4ZTQsIDB4ZjUsIDB4MGEsIDB4MjIsIDB4OTAsIDB4N2YsIDB4ZTksIDB4ZTAsIDB4MTIsIDB4MGUsCi0gIDB4ZjIsIDB4MGEsIDB4MDgsIDB4MDAsIDB4MGEsIDB4N2MsIDB4MDEsIDB4MGEsIDB4ZTgsIDB4MDMsIDB4MDksIDB4NDQsIDB4MDYsIDB4MDksIDB4ZmIsIDB4MDgsCi0gIDB4MDksIDB4ZjUsIDB4MDksIDB4MDksIDB4ZGQsIDB4MGEsIDB4MDksIDB4ZWMsIDB4MGIsIDB4MDAsIDB4MDAsIDB4MGIsIDB4MzcsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwOTQ2LCA2NCwgeyAweGViLCAweGUwLCAweDI0LCAweGZlLCAweDYwLCAweDE5LCAweDE0LCAweDYwLCAweDYxLCAweDI0LCAweDAyLCAweDYwLCAweDAzLCAweDAyLCAweDA5LCAweGQzLCAweDc0LAotICAweDE5LCAweDkwLCAweDdmLCAweGQ0LCAweGYwLCAweDc0LCAweDAwLCAweDkwLCAweDdmLCAweGQ1LCAweGYwLCAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmLAotICAweGVhLCAweGUwLCAweDcwLCAweDA0LCAweDdmLCAweDAyLCAweDgwLCAweDAyLCAweDdmLCAweDAzLCAweDc1LCAweDgyLCAweDgyLCAweDc1LCAweDgzLCAweDE5LAotICAweGVmLCAweGYwLCAweDc1LCAweDgyLCAweDdiLCAweDc1LCAweDgzLCAweDE5LCAweGYwLCAweDc1LCAweDgyLCAweDc0LCAweDc1LCAweDgzLCAweDE5fX0sCi0gezB4MDk4NiwgNjQsIHsgMHhmMCwgMHg3NSwgMHg4MiwgMHg2NiwgMHg3NSwgMHg4MywgMHgxOSwgMHhmMCwgMHg3NSwgMHg4MiwgMHg1OCwgMHg3NSwgMHg4MywgMHgxOSwgMHhmMCwgMHg5MCwgMHg3ZiwKLSAgMHhlYSwgMHhlMCwgMHgwNCwgMHg3NSwgMHg4MiwgMHgxNywgMHg3NSwgMHg4MywgMHgxOSwgMHhmMCwgMHg3NCwgMHgxOSwgMHg5MCwgMHg3ZiwgMHhkNCwgMHhmMCwKLSAgMHg3NCwgMHgxMiwgMHg5MCwgMHg3ZiwgMHhkNSwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzZSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhmZiwgMHgxMiwgMHgwZiwKLSAgMHgxOCwgMHhlYSwgMHg0OSwgMHg2MCwgMHgwZCwgMHhlYSwgMHg5MCwgMHg3ZiwgMHhkNCwgMHhmMCwgMHhlOSwgMHg5MCwgMHg3ZiwgMHhkNSwgMHhmMH19LAotIHsweDA5YzYsIDY0LCB7IDB4MDIsIDB4MGIsIDB4M2UsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4M2UsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsCi0gIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4M2UsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZTUsIDB4MDksIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsCi0gIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4M2UsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4ZjUsIDB4MDksIDB4MDIsIDB4MGIsIDB4M2UsIDB4MTIsIDB4MGIsCi0gIDB4NDYsIDB4MDIsIDB4MGIsIDB4M2UsIDB4OTAsIDB4N2YsIDB4MDAsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4ZjAsIDB4MDJ9fSwKLSB7MHgwYTA2LCA2NCwgeyAweDBiLCAweDNlLCAweDkwLCAweDdmLCAweGU4LCAweGUwLCAweDI0LCAweDdmLCAweDYwLCAweDI0LCAweDE0LCAweDYwLCAweDMxLCAweDI0LCAweDAyLCAweDcwLCAweDViLAotICAweGEyLCAweDEwLCAweGU0LCAweDMzLCAweGZmLCAweDI1LCAweGUwLCAweGZmLCAweGEyLCAweDE2LCAweGU0LCAweDMzLCAweDRmLCAweDkwLCAweDdmLCAweDAwLAotICAweGYwLCAweGU0LCAweGEzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDBiLCAweDNlLCAweGU0LCAweDkwLCAweDdmLAotICAweDAwLCAweGYwLCAweGEzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmfX0sCi0gezB4MGE0NiwgNjQsIHsgMHhlYywgMHhlMCwgMHhmNCwgMHg1NCwgMHg4MCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHgyNSwgMHhlMCwgMHgyNCwKLSAgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHhmZCwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhmMCwgMHhlNCwKLSAgMHhhMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzZSwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwKLSAgMHgwMSwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzZSwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxZCwgMHgyNCwgMHgwMn19LAotIHsweDBhODYsIDY0LCB7IDB4NjAsIDB4MDMsIDB4MDIsIDB4MGIsIDB4M2UsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4YjQsIDB4MDEsIDB4MDUsIDB4YzIsIDB4MTAsIDB4MDIsIDB4MGIsIDB4M2UsCi0gIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4M2UsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4NzAsIDB4MzgsCi0gIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4ZjQsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsCi0gIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwYWM2LCA2NCwgeyAweGVjLCAweGUwLCAweDU0LCAweDgwLCAweGZmLCAweDEzLCAweDEzLCAweDEzLCAweDU0LCAweDFmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDkwLCAweDdmLAotICAweGQ3LCAweGYwLCAweGUwLCAweDQ0LCAweDIwLCAweGYwLCAweDgwLCAweDVmLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDgwLAotICAweDU2LCAweDkwLCAweDdmLCAweGU4LCAweGUwLCAweDI0LCAweGZlLCAweDYwLCAweDE4LCAweDI0LCAweDAyLCAweDcwLCAweDRhLCAweDkwLCAweDdmLCAweGVhLAotICAweGUwLCAweGI0LCAweDAxLCAweDA0LCAweGQyLCAweDEwLCAweDgwLCAweDNmLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwfX0sCi0gezB4MGIwNiwgNjQsIHsgMHg4MCwgMHgzNiwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHg3MCwgMHgyMCwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHhmNCwgMHg1NCwgMHg4MCwgMHhmZiwgMHhjNCwKLSAgMHg1NCwgMHgwZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwKLSAgMHhmNSwgMHg4MywgMHg3NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHgxMCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHgwNywKLSAgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHgyMn19LAotIHsweDBiNDYsIDY0LCB7IDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWMsIDB4NzQsIDB4MzAsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZjAsIDB4OTAsCi0gIDB4N2YsIDB4OTUsIDB4NzQsIDB4YzAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWUsIDB4NzQsIDB4M2YsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTgsCi0gIDB4ZjAsIDB4ZTQsIDB4ZjUsIDB4OGUsIDB4OTAsIDB4N2YsIDB4ZGYsIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZGUsIDB4ZjAsIDB4ZTQsIDB4ZjUsCi0gIDB4MjQsIDB4NzUsIDB4MTgsIDB4MDEsIDB4N2IsIDB4MDAsIDB4NzQsIDB4MjQsIDB4MjUsIDB4MTgsIDB4ZjksIDB4ZTQsIDB4MzQsIDB4MDAsIDB4ZmF9fSwKLSB7MHgwYjg2LCA2NCwgeyAweGU0LCAweDEyLCAweDBlLCAweGUwLCAweDA1LCAweDE4LCAweGU1LCAweDE4LCAweGI0LCAweDA5LCAweGVhLCAweDc1LCAweDNhLCAweDAxLCAweGU0LCAweGY1LCAweDM4LAotICAweGY1LCAweDEzLCAweGY1LCAweDM2LCAweGMyLCAweDA3LCAweGMyLCAweDBiLCAweGMyLCAweDA1LCAweGMyLCAweDAwLCAweGMyLCAweDA5LCAweGMyLCAweDEzLAotICAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDc1LCAweDQ0LCAweDAzLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweDAzLCAweGYwLCAweDdmLAotICAweDBjLCAweGU0LCAweGZkLCAweDEyLCAweDExLCAweGJmLCAweDdmLCAweDEwLCAweDhmLCAweDQyLCAweDEyLCAweDEwLCAweDhmLCAweDkwLCAweDdmfX0sCi0gezB4MGJjNiwgNjQsIHsgMHg5OCwgMHg3NCwgMHgxMiwgMHhmMCwgMHg3ZiwgMHgwMSwgMHg4ZiwgMHg0MCwgMHhlZiwgMHg0NCwgMHgwNiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZiwKLSAgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg3NSwgMHg0NiwgMHg4MCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHg4MCwgMHhmMCwgMHgwZiwgMHhlNCwgMHhmZCwKLSAgMHgxMiwgMHgxMSwgMHhiZiwgMHhlNCwgMHhmZiwgMHg3ZSwgMHhhMywgMHhhZCwgMHgwNiwgMHg4ZCwgMHgzZSwgMHgxMiwgMHgxMSwgMHhiZiwgMHg5MCwgMHg3ZiwKLSAgMHg5OCwgMHg3NCwgMHgxMSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNCwgMHhmMCwgMHg3ZiwgMHgwNSwgMHg3ZCwgMHg3ZiwgMHgxMiwgMHgxMX19LAotIHsweDBjMDYsIDY0LCB7IDB4YmYsIDB4N2YsIDB4MDEsIDB4MTIsIDB4MTIsIDB4NzgsIDB4N2YsIDB4MDMsIDB4N2QsIDB4MDcsIDB4MTIsIDB4MTEsIDB4YmYsIDB4N2YsIDB4MTMsIDB4N2QsIDB4MDEsCi0gIDB4MTIsIDB4MTEsIDB4YmYsIDB4MjAsIDB4MWIsIDB4MDMsIDB4MDIsIDB4MGMsIDB4YzUsIDB4NzUsIDB4MmQsIDB4MDEsIDB4NzUsIDB4MTgsIDB4MDEsIDB4N2IsCi0gIDB4MDAsIDB4NzQsIDB4MmQsIDB4MjUsIDB4MTgsIDB4ZjksIDB4ZTQsIDB4MzQsIDB4MDAsIDB4ZmEsIDB4ZTQsIDB4MTIsIDB4MGUsIDB4ZTAsIDB4MDUsIDB4MTgsCi0gIDB4ZTUsIDB4MTgsIDB4YjQsIDB4MDksIDB4ZWEsIDB4NzUsIDB4M2IsIDB4MDEsIDB4ZTQsIDB4ZjUsIDB4MzksIDB4ZjUsIDB4MTMsIDB4ZjUsIDB4Mzd9fSwKLSB7MHgwYzQ2LCA2NCwgeyAweGMyLCAweDA4LCAweGMyLCAweDBjLCAweGMyLCAweDA2LCAweGMyLCAweDAwLCAweGMyLCAweDBhLCAweGMyLCAweDEzLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLAotICAweGYwLCAweDc1LCAweDQ1LCAweDAzLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweDAzLCAweGYwLCAweDdmLCAweDBjLCAweGU0LCAweGZkLCAweDEyLCAweDEyLAotICAweDA5LCAweDdmLCAweDEwLCAweDhmLCAweDQzLCAweDEyLCAweDExLCAweDAxLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBhLCAweGYwLCAweDdmLCAweDAxLAotICAweDhmLCAweDQxLCAweGVmLCAweDQ0LCAweDA2LCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBjLCAweGYwfX0sCi0gezB4MGM4NiwgNjQsIHsgMHg3NSwgMHg0NywgMHg4MCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHg4MCwgMHhmMCwgMHgwZiwgMHhlNCwgMHhmZCwgMHgxMiwgMHgxMiwgMHgwOSwgMHhlNCwgMHhmZiwKLSAgMHg3ZSwgMHhhMywgMHhhZCwgMHgwNiwgMHg4ZCwgMHgzZiwgMHgxMiwgMHgxMiwgMHgwOSwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwOSwgMHhmMCwgMHg5MCwKLSAgMHhjMCwgMHgwMCwgMHhlNCwgMHhmMCwgMHg3ZiwgMHgwNSwgMHg3ZCwgMHg3ZiwgMHgxMiwgMHgxMiwgMHgwOSwgMHg3ZiwgMHgwMSwgMHgxMiwgMHgxMiwgMHg5OSwKLSAgMHg3ZiwgMHgwMywgMHg3ZCwgMHgwNywgMHgxMiwgMHgxMiwgMHgwOSwgMHg3ZiwgMHgxMywgMHg3ZCwgMHgwMSwgMHgxMiwgMHgxMiwgMHgwOSwgMHhkMn19LAotIHsweDBjYzYsIDY0LCB7IDB4MTIsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4YWYsIDB4MDgsIDB4ZTUsIDB4MGQsIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4MGMsIDB4ZjUsCi0gIDB4ODMsIDB4YzIsIDB4YWYsIDB4MDUsIDB4ODYsIDB4OTAsIDB4YzAsIDB4MDAsIDB4MDUsIDB4ODYsIDB4ZTAsIDB4YTMsIDB4MDUsIDB4ODYsIDB4ZjAsIDB4MDUsCi0gIDB4ODYsIDB4ZGYsIDB4ZjcsIDB4ZDIsIDB4YWYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4YWYsIDB4MDgsIDB4ZTUsIDB4MGQsCi0gIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4MGMsIDB4ZjUsIDB4ODMsIDB4YzIsIDB4YWYsIDB4MDUsIDB4ODYsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4MDV9fSwKLSB7MHgwZDA2LCA2NCwgeyAweDg2LCAweGYwLCAweGEzLCAweDA1LCAweDg2LCAweGRmLCAweGY3LCAweDA1LCAweDg2LCAweGQyLCAweGFmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDA4LAotICAweGYwLCAweGFmLCAweDA4LCAweGU1LCAweDBkLCAweGY1LCAweDgyLCAweGU1LCAweDBjLCAweGY1LCAweDgzLCAweGMyLCAweGFmLCAweDA1LCAweDg2LCAweDkwLAotICAweGMwLCAweDAwLCAweDA1LCAweDg2LCAweGUwLCAweGEzLCAweDA1LCAweDg2LCAweGYwLCAweDA1LCAweDg2LCAweGRmLCAweGY3LCAweGQyLCAweGFmLCAweDIyLAotICAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDA4LCAweGYwLCAweGFmLCAweDA4LCAweGU1LCAweDBkLCAweGY1LCAweDgyLCAweGU1LCAweDBjLCAweGY1fX0sCi0gezB4MGQ0NiwgNjQsIHsgMHg4MywgMHhjMiwgMHhhZiwgMHgwNSwgMHg4NiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHgwNSwgMHg4NiwgMHhmMCwgMHhhMywgMHgwNSwgMHg4NiwgMHhkZiwgMHhmNywKLSAgMHgwNSwgMHg4NiwgMHhkMiwgMHhhZiwgMHgyMiwgMHg3NCwgMHgwMCwgMHhmNSwgMHg4NiwgMHg5MCwgMHhmZCwgMHhhNSwgMHg3YywgMHgwNSwgMHhhMywgMHhlNSwKLSAgMHg4MiwgMHg0NSwgMHg4MywgMHg3MCwgMHhmOSwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHg0MywgMHg4NywgMHgwMSwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgyMiwgMHhkMiwgMHgxOSwgMHg5MCwgMHg3ZiwgMHg5MiwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMH19LAotIHsweDBkODYsIDY0LCB7IDB4OTAsIDB4N2YsIDB4YWUsIDB4ZTAsIDB4ZmYsIDB4ZDMsIDB4OTIsIDB4MTAsIDB4ZTQsIDB4MzMsIDB4ZmUsIDB4ZWYsIDB4NGUsIDB4ZjAsIDB4ZDIsIDB4ZTgsIDB4NDMsCi0gIDB4ZDgsIDB4MjAsIDB4OTAsIDB4N2YsIDB4ZGUsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZGYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsCi0gIDB4ZmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YTksIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWEsIDB4ZjAsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWYsCi0gIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWUsIDB4ZTAsIDB4NDQsIDB4MGQsIDB4ZjAsIDB4ZDIsIDB4YWYsIDB4ZDIsIDB4MWF9fSwKLSB7MHgwZGM2LCA2NCwgeyAweDEyLCAweDEyLCAweDUzLCAweGMyLCAweDExLCAweGU0LCAweGY1LCAweDBiLCAweGY1LCAweDEzLCAweGMyLCAweDE3LCAweGMyLCAweDEyLCAweDkwLCAweDdmLCAweGExLAotICAweDA0LCAweGYwLCAweDkwLCAweDdmLCAweGQ4LCAweGUwLCAweDY1LCAweDE3LCAweDYwLCAweDEwLCAweDMwLCAweDEyLCAweDA1LCAweGQyLCAweDFhLCAweDEyLAotICAweDAwLCAweDQ2LCAweDkwLCAweDdmLCAweGQ4LCAweGUwLCAweGY1LCAweDE3LCAweDgwLCAweDA4LCAweDMwLCAweDEyLCAweDA1LCAweGMyLCAweDFhLCAweDEyLAotICAweDAwLCAweDQ2LCAweDMwLCAweDExLCAweDA3LCAweGMyLCAweDExLCAweDEyLCAweDA5LCAweDIxLCAweDgwLCAweGQ2LCAweDMwLCAweDE4LCAweGQzfX0sCi0gezB4MGUwNiwgNjQsIHsgMHhjMiwgMHgxOCwgMHgxMiwgMHgxMywgMHg5ZiwgMHg4MCwgMHhjYywgMHgyMiwgMHg3OCwgMHg3ZiwgMHhlNCwgMHhmNiwgMHhkOCwgMHhmZCwgMHg3NSwgMHg4MSwgMHg0NywKLSAgMHgwMiwgMHgwZSwgMHg1NSwgMHgwMiwgMHgwZCwgMHg3ZCwgMHhlNCwgMHg5MywgMHhhMywgMHhmOCwgMHhlNCwgMHg5MywgMHhhMywgMHg0MCwgMHgwMywgMHhmNiwKLSAgMHg4MCwgMHgwMSwgMHhmMiwgMHgwOCwgMHhkZiwgMHhmNCwgMHg4MCwgMHgyOSwgMHhlNCwgMHg5MywgMHhhMywgMHhmOCwgMHg1NCwgMHgwNywgMHgyNCwgMHgwYywKLSAgMHhjOCwgMHhjMywgMHgzMywgMHhjNCwgMHg1NCwgMHgwZiwgMHg0NCwgMHgyMCwgMHhjOCwgMHg4MywgMHg0MCwgMHgwNCwgMHhmNCwgMHg1NiwgMHg4MH19LAotIHsweDBlNDYsIDY0LCB7IDB4MDEsIDB4NDYsIDB4ZjYsIDB4ZGYsIDB4ZTQsIDB4ODAsIDB4MGIsIDB4MDEsIDB4MDIsIDB4MDQsIDB4MDgsIDB4MTAsIDB4MjAsIDB4NDAsIDB4ODAsIDB4OTAsIDB4MTIsCi0gIDB4YmEsIDB4ZTQsIDB4N2UsIDB4MDEsIDB4OTMsIDB4NjAsIDB4YmMsIDB4YTMsIDB4ZmYsIDB4NTQsIDB4M2YsIDB4MzAsIDB4ZTUsIDB4MDksIDB4NTQsIDB4MWYsCi0gIDB4ZmUsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4NjAsIDB4MDEsIDB4MGUsIDB4Y2YsIDB4NTQsIDB4YzAsIDB4MjUsIDB4ZTAsIDB4NjAsIDB4YTgsIDB4NDAsIDB4YjgsCi0gIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZmEsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjgsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4YzgsIDB4YzUsIDB4ODIsIDB4Yzh9fSwKLSB7MHgwZTg2LCA2NCwgeyAweGNhLCAweGM1LCAweDgzLCAweGNhLCAweGYwLCAweGEzLCAweGM4LCAweGM1LCAweDgyLCAweGM4LCAweGNhLCAweGM1LCAweDgzLCAweGNhLCAweGRmLCAweGU5LCAweGRlLAotICAweGU3LCAweDgwLCAweGJlLCAweGJiLCAweDAxLCAweDA2LCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGUwLCAweDIyLCAweDUwLCAweDAyLCAweGU3LCAweDIyLAotICAweGJiLCAweGZlLCAweDAyLCAweGUzLCAweDIyLCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGU0LCAweDkzLCAweDIyLCAweGJiLCAweDAxLCAweDBjLCAweGU1LAotICAweDgyLCAweDI5LCAweGY1LCAweDgyLCAweGU1LCAweDgzLCAweDNhLCAweGY1LCAweDgzLCAweGUwLCAweDIyLCAweDUwLCAweDA2LCAweGU5LCAweDI1fX0sCi0gezB4MGVjNiwgNjQsIHsgMHg4MiwgMHhmOCwgMHhlNiwgMHgyMiwgMHhiYiwgMHhmZSwgMHgwNiwgMHhlOSwgMHgyNSwgMHg4MiwgMHhmOCwgMHhlMiwgMHgyMiwgMHhlNSwgMHg4MiwgMHgyOSwgMHhmNSwKLSAgMHg4MiwgMHhlNSwgMHg4MywgMHgzYSwgMHhmNSwgMHg4MywgMHhlNCwgMHg5MywgMHgyMiwgMHhiYiwgMHgwMSwgMHgwNiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywKLSAgMHhmMCwgMHgyMiwgMHg1MCwgMHgwMiwgMHhmNywgMHgyMiwgMHhiYiwgMHhmZSwgMHgwMSwgMHhmMywgMHgyMiwgMHhkMCwgMHg4MywgMHhkMCwgMHg4MiwgMHhmOCwKLSAgMHhlNCwgMHg5MywgMHg3MCwgMHgxMiwgMHg3NCwgMHgwMSwgMHg5MywgMHg3MCwgMHgwZCwgMHhhMywgMHhhMywgMHg5MywgMHhmOCwgMHg3NCwgMHgwMX19LAotIHsweDBmMDYsIDY0LCB7IDB4OTMsIDB4ZjUsIDB4ODIsIDB4ODgsIDB4ODMsIDB4ZTQsIDB4NzMsIDB4NzQsIDB4MDIsIDB4OTMsIDB4NjgsIDB4NjAsIDB4ZWYsIDB4YTMsIDB4YTMsIDB4YTMsIDB4ODAsCi0gIDB4ZGYsIDB4OGYsIDB4MTgsIDB4ZTQsIDB4ZjUsIDB4MTksIDB4NzUsIDB4MWEsIDB4ZmYsIDB4NzUsIDB4MWIsIDB4MTksIDB4NzUsIDB4MWMsIDB4ODYsIDB4YWIsCi0gIDB4MWEsIDB4YWEsIDB4MWIsIDB4YTksIDB4MWMsIDB4OTAsIDB4MDAsIDB4MDEsIDB4MTIsIDB4MGUsIDB4YjMsIDB4YjQsIDB4MDMsIDB4MWQsIDB4YWYsIDB4MTksCi0gIDB4MDUsIDB4MTksIDB4ZWYsIDB4YjUsIDB4MTgsIDB4MDEsIDB4MjIsIDB4MTIsIDB4MGUsIDB4OWEsIDB4N2UsIDB4MDAsIDB4MjksIDB4ZmYsIDB4ZWV9fSwKLSB7MHgwZjQ2LCA2NCwgeyAweDNhLCAweGE5LCAweDA3LCAweDc1LCAweDFhLCAweGZmLCAweGY1LCAweDFiLCAweDg5LCAweDFjLCAweDgwLCAweGQ0LCAweDdiLCAweDAwLCAweDdhLCAweDAwLCAweDc5LAotICAweDAwLCAweDIyLCAweDhmLCAweDFhLCAweDA1LCAweDBkLCAweGU1LCAweDBkLCAweGFlLCAweDBjLCAweDcwLCAweDAyLCAweDA1LCAweDBjLCAweDE0LCAweGY1LAotICAweDgyLCAweDhlLCAweDgzLCAweGU1LCAweDFhLCAweGYwLCAweDEyLCAweDAwLCAweDM2LCAweDA1LCAweDBkLCAweGU1LCAweDBkLCAweGFjLCAweDBjLCAweDcwLAotICAweDAyLCAweDA1LCAweDBjLCAweDE0LCAweGY1LCAweDgyLCAweDhjLCAweDgzLCAweGVmLCAweGYwLCAweDE1LCAweDA4LCAweGU1LCAweDA4LCAweDYwfX0sCi0gezB4MGY4NiwgNjQsIHsgMHgwYSwgMHgxMiwgMHgxMywgMHgzMywgMHg4ZiwgMHgxYSwgMHhlZiwgMHg0MiwgMHgzNiwgMHg4MCwgMHhjYSwgMHgyMiwgMHg4ZiwgMHgxYSwgMHgwNSwgMHgwZCwgMHhlNSwKLSAgMHgwZCwgMHhhZSwgMHgwYywgMHg3MCwgMHgwMiwgMHgwNSwgMHgwYywgMHgxNCwgMHhmNSwgMHg4MiwgMHg4ZSwgMHg4MywgMHhlNSwgMHgxYSwgMHhmMCwgMHgxMiwKLSAgMHgxMywgMHg0YiwgMHgwNSwgMHgwZCwgMHhlNSwgMHgwZCwgMHhhYywgMHgwYywgMHg3MCwgMHgwMiwgMHgwNSwgMHgwYywgMHgxNCwgMHhmNSwgMHg4MiwgMHg4YywKLSAgMHg4MywgMHhlZiwgMHhmMCwgMHgxNSwgMHgwOCwgMHhlNSwgMHgwOCwgMHg2MCwgMHgwYSwgMHgxMiwgMHgxMywgMHg4NywgMHg4ZiwgMHgxYSwgMHhlZn19LAotIHsweDBmYzYsIDY0LCB7IDB4NDIsIDB4MzcsIDB4ODAsIDB4Y2EsIDB4MjIsIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsCi0gIDB4NzUsIDB4ODYsIDB4MDAsIDB4OTAsIDB4N2YsIDB4YzQsIDB4ZTQsIDB4ZjAsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDQsCi0gIDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4YzAsIDB4ZTAsCi0gIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4ZDIsIDB4MTF9fSwKLSB7MHgxMDA2LCA2NCwgeyAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDAxLCAweGYwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLAotICAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyLCAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLAotICAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweGQyLCAweDE4LCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDA4LCAweGYwLCAweGQwLAotICAweDg2LCAweGQwLCAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyLCAweDkwLCAweDdmLCAweDk4fX0sCi0gezB4MTA0NiwgNjQsIHsgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMCwgMHhmMCwgMHg5MCwgMHhjMCwKLSAgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHhlNSwgMHg0NCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwKLSAgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwKLSAgMHg5OCwgMHg3NCwgMHgxMSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMH19LAotIHsweDEwODYsIDY0LCB7IDB4ZTUsIDB4NDQsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsCi0gIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTIsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsCi0gIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTUsIDB4NDQsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsCi0gIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTR9fSwKLSB7MHgxMGM2LCA2NCwgeyAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweGU1LCAweDQ0LCAweDU0LCAweDdmLCAweDkwLAotICAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLAotICAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE2LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLAotICAweGYwLCAweGU1LCAweDQ0LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBifX0sCi0gezB4MTEwNiwgNjQsIHsgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwKLSAgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHhlNSwgMHg0NSwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwKLSAgMHgwOCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHhlNSwgMHg0NX19LAotIHsweDExNDYsIDY0LCB7IDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsCi0gIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MDksIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsCi0gIDB4NzQsIDB4MGIsIDB4ZjAsIDB4ZTUsIDB4NDUsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsCi0gIDB4MGIsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGMsIDB4ZjAsIDB4OTB9fSwKLSB7MHgxMTg2LCA2NCwgeyAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweGU1LCAweDQ1LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLAotICAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmLAotICAweDk4LCAweDc0LCAweDBlLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweGU1LAotICAweDQ1LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweGU1fX0sCi0gezB4MTFjNiwgNjQsIHsgMHg0NCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwKLSAgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZCwgMHhmMCwgMHgyMiwgMHgxMiwgMHgxMywgMHgxYiwKLSAgMHg4ZiwgMHgxYSwgMHgxMiwgMHgxMywgMHgxYiwgMHg4ZiwgMHgxYiwgMHhlNSwgMHgxYSwgMHg2NSwgMHgxYiwgMHg2MCwgMHgxMiwgMHgxMiwgMHgxMywgMHgxYiwKLSAgMHg4ZiwgMHgxYSwgMHhlNSwgMHgxYSwgMHg2NSwgMHgxYiwgMHg2MCwgMHgwNywgMHgxMiwgMHgxMywgMHgxYiwgMHg4ZiwgMHgxYiwgMHg4MCwgMHhlOH19LAotIHsweDEyMDYsIDY0LCB7IDB4YWYsIDB4MWEsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4ZTUsIDB4NDUsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGYsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGQsCi0gIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWQsIDB4ZjAsIDB4MjIsIDB4MTIsIDB4MTMsIDB4NmYsIDB4OGYsIDB4MWEsIDB4MTIsIDB4MTMsIDB4NmYsIDB4OGYsCi0gIDB4MWIsIDB4ZTUsIDB4MWEsIDB4NjUsIDB4MWIsIDB4NjAsIDB4MTIsIDB4MTIsIDB4MTMsIDB4NmYsIDB4OGYsIDB4MWEsIDB4ZTUsIDB4MWEsIDB4NjV9fSwKLSB7MHgxMjQ2LCA2NCwgeyAweDFiLCAweDYwLCAweDA3LCAweDEyLCAweDEzLCAweDZmLCAweDhmLCAweDFiLCAweDgwLCAweGU4LCAweGFmLCAweDFhLCAweDIyLCAweDkwLCAweDdmLCAweGQ2LCAweGUwLAotICAweDU0LCAweGZiLCAweGYwLCAweGUwLCAweDQ0LCAweDA4LCAweGYwLCAweDMwLCAweDFhLCAweDA0LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDdmLCAweGY0LAotICAweDdlLCAweDAxLCAweDEyLCAweDEyLCAweGQ2LCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDU0LCAweGY3LCAweGYwLCAweGUwLCAweDQ0LCAweDA0LCAweGYwLAotICAweDIyLCAweGFlLCAweDA3LCAweGU0LCAweGZmLCAweGU1LCAweDNlLCAweDU0LCAweDdmLCAweGZkLCAweDEyLCAweDExLCAweGJmLCAweDkwLCAweDdmfX0sCi0gezB4MTI4NiwgNjQsIHsgMHg5OCwgMHg3NCwgMHgxMSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZSwgMHhmMCwgMHhlNCwgMHhlNSwgMHgzZSwgMHg0NCwgMHg4MCwgMHhmZCwgMHgxMiwgMHgxMSwKLSAgMHhiZiwgMHgyMiwgMHhhZSwgMHgwNywgMHhlNCwgMHhmZiwgMHhlNSwgMHgzZiwgMHg1NCwgMHg3ZiwgMHhmZCwgMHgxMiwgMHgxMiwgMHgwOSwgMHg5MCwgMHg3ZiwKLSAgMHg5OCwgMHg3NCwgMHgwOSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZSwgMHhmMCwgMHhlNCwgMHhlNSwgMHgzZiwgMHg0NCwgMHg4MCwgMHhmZCwgMHgxMiwKLSAgMHgxMiwgMHgwOSwgMHgyMiwgMHgwNSwgMHgwZSwgMHgwMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMywgMHgxNCwgMHgwMywgMHgwMCwgMHgwMH19LAotIHsweDEyYzYsIDY0LCB7IDB4YzEsIDB4MTEsIDB4YzEsIDB4MTgsIDB4YzEsIDB4OTUsIDB4YzEsIDB4MTAsIDB4YzEsIDB4MTYsIDB4MDEsIDB4MGEsIDB4MDAsIDB4YzEsIDB4OWIsIDB4MDAsIDB4OGUsCi0gIDB4MTgsIDB4OGYsIDB4MTksIDB4ZTUsIDB4MTksIDB4MTUsIDB4MTksIDB4YWUsIDB4MTgsIDB4NzAsIDB4MDIsIDB4MTUsIDB4MTgsIDB4NGUsIDB4NjAsIDB4MDUsCi0gIDB4MTIsIDB4MGQsIDB4NWMsIDB4ODAsIDB4ZWUsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsCi0gIDB4ZmYsIDB4MjIsIDB4NTMsIDB4ZDgsIDB4ZWYsIDB4MzIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MGYsIDB4ZjUsIDB4MDAsIDB4MDIsIDB4MTN9fSwKLSB7MHgxMzA2LCA2NCwgeyAweDA0LCAweDAwLCAweDAyLCAweDBmLCAweGNiLCAweDAwLCAweDAyLCAweDEwLCAweDFjLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEyLCAweGYwLCAweDkwLCAweGMwLAotICAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLAotICAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE0LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LAotICAweDE1LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE2LCAweGYwLCAweDkwfX0sCi0gezB4MTM0NiwgNjQsIHsgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwOCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwOSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwKLSAgMHgwYSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHg5MCwgMHhjMCwKLSAgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZn19LAotIHsweDEzODYsIDY0LCB7IDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsCi0gIDB4MGUsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4MTIsIDB4MDAsIDB4MDMsIDB4MTIsIDB4MGQsIDB4NmQsIDB4MTIsIDB4MGIsCi0gIDB4NDYsIDB4MjIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxM2M2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTQwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE0NDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNDg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTRjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE1MDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNTQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTU4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE1YzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNjA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTY0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE2ODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNmM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTcwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE3NDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNzg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTdjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE4MDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxODQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTg4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE4YzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MTIsIDB4MDEsIDB4MTAsIDB4MDEsIDB4ZmYsIDB4MDB9fSwKLSB7MHgxOTA2LCA2NCwgeyAweDAwLCAweDQwLCAweGNkLCAweDA2LCAweDE1LCAweDAxLCAweDAwLCAweDAwLCAweDAxLCAweDAyLCAweDAwLCAweDAyLCAweDA5LCAweDAyLCAweDc0LCAweDAwLCAweDAxLAotICAweDAxLCAweDAwLCAweGEwLCAweDMyLCAweDA5LCAweDA0LCAweDAwLCAweDAwLCAweDBlLCAweGZmLCAweDAwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAxLAotICAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAyLCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAzLCAweDAyLCAweDQwLAotICAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDA0LCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDA1LCAweDAyLCAweDQwLCAweDAwfX0sCi0gezB4MTk0NiwgNjQsIHsgMHgwMCwgMHgwNywgMHgwNSwgMHgwNiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwNywgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwKLSAgMHg4MSwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4MiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4MywgMHgwMiwKLSAgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4NCwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4NSwgMHgwMiwgMHg0MCwgMHgwMCwKLSAgMHgwMSwgMHgwNywgMHgwNSwgMHg4NiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4NywgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMX19LAotIHsweDE5ODYsIDY0LCB7IDB4MDQsIDB4MDMsIDB4MDksIDB4MDQsIDB4NDgsIDB4MDMsIDB4NGIsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzksIDB4MDAsIDB4NzMsIDB4MDAsIDB4NzAsIDB4MDAsIDB4NjEsCi0gIDB4MDAsIDB4NmUsIDB4MDAsIDB4MmMsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NjEsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NjQsIDB4MDAsIDB4NjksIDB4MDAsIDB4NzYsCi0gIDB4MDAsIDB4NjksIDB4MDAsIDB4NzMsIDB4MDAsIDB4NjksIDB4MDAsIDB4NmYsIDB4MDAsIDB4NmUsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NmYsIDB4MDAsIDB4NjYsCi0gIDB4MDAsIDB4MjAsIDB4MDAsIDB4NDksIDB4MDAsIDB4NmUsIDB4MDAsIDB4NmUsIDB4MDAsIDB4NmYsIDB4MDAsIDB4NTMsIDB4MDAsIDB4NzksIDB4MDB9fSwKLSB7MHgxOWM2LCA2NCwgeyAweDczLCAweDAwLCAweDIwLCAweDAwLCAweDQ5LCAweDAwLCAweDZlLCAweDAwLCAweDYzLCAweDAwLCAweDJlLCAweDAwLCAweDM2LCAweDAzLCAweDRiLCAweDAwLCAweDY1LAotICAweDAwLCAweDc5LCAweDAwLCAweDczLCAweDAwLCAweDcwLCAweDAwLCAweDYxLCAweDAwLCAweDZlLCAweDAwLCAweDIwLCAweDAwLCAweDU1LCAweDAwLCAweDUzLAotICAweDAwLCAweDQyLCAweDAwLCAweDIwLCAweDAwLCAweDUzLCAweDAwLCAweDY1LCAweDAwLCAweDcyLCAweDAwLCAweDY5LCAweDAwLCAweDYxLCAweDAwLCAweDZjLAotICAweDAwLCAweDIwLCAweDAwLCAweDQxLCAweDAwLCAweDY0LCAweDAwLCAweDYxLCAweDAwLCAweDcwLCAweDAwLCAweDc0LCAweDAwLCAweDY1LCAweDAwfX0sCi0gezB4MWEwNiwgIDQsIHsgMHg3MiwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweGZmZmYsICAwLCB7MHgwMH19Ci19OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fdXNhMjh4Yl9mdy5oIGIvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fdXNhMjh4Yl9mdy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmNWZjYWQ0Li4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3VzYTI4eGJfZncuaAorKysgL2Rldi9udWxsCkBAIC0xLDQ0OCArMCwwIEBACi0vKiBrZXlzcGFuX3VzYTI4eGJfZncuaAotCi0JVGhlIGZpcm13YXJlIGNvbnRhaW5lZCBoZXJlaW4gYXMga2V5c3Bhbl91c2EyOXhiX2Z3LmggaXMKLQotCQlDb3B5cmlnaHQgKEMpIDE5OTktMjAwMQotCQlLZXlzcGFuLCBBIGRpdmlzaW9uIG9mIElubm9TeXMgSW5jb3Jwb3JhdGVkICgiS2V5c3BhbiIpCi0JCQotCWFzIGFuIHVucHVibGlzaGVkIHdvcmsuIFRoaXMgbm90aWNlIGRvZXMgbm90IGltcGx5IHVucmVzdHJpY3RlZCBvcgotCXB1YmxpYyBhY2Nlc3MgdG8gdGhlIHNvdXJjZSBjb2RlIGZyb20gd2hpY2ggdGhpcyBmaXJtd2FyZSBpbWFnZSBpcwotCWRlcml2ZWQuICBFeGNlcHQgYXMgbm90ZWQgYmVsb3cgdGhpcyBmaXJtd2FyZSBpbWFnZSBtYXkgbm90IGJlIAotCXJlcHJvZHVjZWQsIHVzZWQsIHNvbGQgb3IgdHJhbnNmZXJyZWQgdG8gYW55IHRoaXJkIHBhcnR5IHdpdGhvdXQgCi0JS2V5c3BhbidzIHByaW9yIHdyaXR0ZW4gY29uc2VudC4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0KLQlQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkIGZvciB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmlybXdhcmUgCi0JaW1hZ2UgYXMgcGFydCBvZiBhIExpbnV4IG9yIG90aGVyIE9wZW4gU291cmNlIG9wZXJhdGluZyBzeXN0ZW0ga2VybmVsIAotCWluIHRleHQgb3IgYmluYXJ5IGZvcm0gYXMgcmVxdWlyZWQuIAotCi0JVGhpcyBmaXJtd2FyZSBtYXkgbm90IGJlIG1vZGlmaWVkIGFuZCBtYXkgb25seSBiZSB1c2VkIHdpdGggIAotCUtleXNwYW4gaGFyZHdhcmUuICBEaXN0cmlidXRpb24gYW5kL29yIE1vZGlmaWNhdGlvbiBvZiB0aGUgCi0Ja2V5c3Bhbi5jIGRyaXZlciB3aGljaCBpbmNsdWRlcyB0aGlzIGZpcm13YXJlLCBpbiB3aG9sZSBvciBpbiAKLQlwYXJ0LCByZXF1aXJlcyB0aGUgaW5jbHVzaW9uIG9mIHRoaXMgc3RhdGVtZW50LiIKLQotKi8KLQotc3RhdGljIGNvbnN0IHN0cnVjdCBlenVzYl9oZXhfcmVjb3JkIGtleXNwYW5fdXNhMjh4Yl9maXJtd2FyZVtdID0gewotIHsweDAwMzMsICAzLCB7IDB4MDIsIDB4MDAsIDB4MmR9fSwKLSB7MHgwMDJkLCAgNCwgeyAweDUzLCAweGQ4LCAweGVmLCAweDMyfX0sCi0gezB4MDA0NiwgMTYsIHsgMHgzMCwgMHgwOSwgMHgxOCwgMHgxMiwgMHgxMywgMHgzMywgMHhlZiwgMHhjMywgMHg5NSwgMHgzYywgMHg0MCwgMHgwMywgMHgwMiwgMHgwMCwgMHhkOCwgMHg5MH19LAotIHsweDAwNTYsIDE2LCB7IDB4N2YsIDB4YmYsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4YzIsIDB4MDksIDB4YzIsIDB4MDAsIDB4ODAsIDB4NzcsIDB4MzAsIDB4MDMsIDB4M2IsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwMDY2LCAxNiwgeyAweGM2LCAweGUwLCAweDIwLCAweGUxLCAweDZkLCAweDEyLCAweDEzLCAweDMzLCAweGVmLCAweGMzLCAweDk0LCAweDQwLCAweDUwLCAweDY0LCAweDkwLCAweDdlfX0sCi0gezB4MDA3NiwgMTYsIHsgMHg0MCwgMHhlMCwgMHgxMywgMHg5MiwgMHgwOSwgMHg5MCwgMHg3ZiwgMHhjNywgMHhlMCwgMHgxNCwgMHhmNSwgMHgxOSwgMHgyMCwgMHgwMCwgMHgxMSwgMHg2MH19LAotIHsweDAwODYsIDE2LCB7IDB4MGYsIDB4ZjUsIDB4MDgsIDB4N2UsIDB4N2UsIDB4N2YsIDB4NDEsIDB4NzUsIDB4MGMsIDB4N2UsIDB4NzUsIDB4MGQsIDB4NDEsIDB4MTIsIDB4MGMsIDB4Y2N9fSwKLSB7MHgwMDk2LCAxNiwgeyAweGMyLCAweDAzLCAweGU0LCAweDkwLCAweDdmLCAweGM3LCAweGYwLCAweDgwLCAweDM5LCAweDkwLCAweDdmLCAweGM4LCAweGUwLCAweDIwLCAweGUxLCAweDMyfX0sCi0gezB4MDBhNiwgMTYsIHsgMHgxMiwgMHgxMywgMHgzMywgMHhlZiwgMHhjMywgMHg5NCwgMHg0MCwgMHg1MCwgMHgyOSwgMHg5MCwgMHg3ZCwgMHhjMCwgMHhlMCwgMHgxMywgMHg5MiwgMHgwOX19LAotIHsweDAwYjYsIDE2LCB7IDB4OTAsIDB4N2YsIDB4YzksIDB4ZTAsIDB4MTQsIDB4ZjUsIDB4MTksIDB4MjAsIDB4MDAsIDB4MTEsIDB4NjAsIDB4MGYsIDB4ZjUsIDB4MDgsIDB4N2UsIDB4N2R9fSwKLSB7MHgwMGM2LCAxNiwgeyAweDdmLCAweGMxLCAweDc1LCAweDBjLCAweDdkLCAweDc1LCAweDBkLCAweGMxLCAweDEyLCAweDBjLCAweGNjLCAweGQyLCAweDAzLCAweGU0LCAweDkwLCAweDdmfX0sCi0gezB4MDBkNiwgMTYsIHsgMHhjOSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNiwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwMywgMHgwMiwgMHgwMSwgMHg2MCwgMHgxMiwgMHgxMSwgMHhmNSwgMHg4Zn19LAotIHsweDAwZTYsIDE2LCB7IDB4MTksIDB4MTIsIDB4MTMsIDB4M2YsIDB4OGYsIDB4MzYsIDB4ZTUsIDB4MTksIDB4YzMsIDB4OTUsIDB4M2EsIDB4NTAsIDB4MGYsIDB4MTIsIDB4MTMsIDB4MWJ9fSwKLSB7MHgwMGY2LCAxNiwgeyAweGVmLCAweDMwLCAweGUwLCAweDA4LCAweGU1LCAweDM2LCAweDIwLCAweGU3LCAweDAzLCAweDMwLCAweDBiLCAweDVlLCAweGMyLCAweDBiLCAweGU1LCAweDE5fX0sCi0gezB4MDAzNiwgMTIsIHsgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMn19LAotIHsweDAwNDMsICAzLCB7IDB4MDIsIDB4MTMsIDB4MDB9fSwKLSB7MHgwMDAzLCAxNiwgeyAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweDkwfX0sCi0gezB4MDAxMywgMTYsIHsgMHg3ZiwgMHhjNCwgMHhlNCwgMHhmMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwNCwgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMH19LAotIHsweDAwMjMsIDEwLCB7IDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzJ9fSwKLSB7MHgwMDAwLCAgMywgeyAweDAyLCAweDBlLCAweDEyfX0sCi0gezB4MDEwNiwgNjQsIHsgMHg2MCwgMHg1OCwgMHhiNCwgMHg4MCwgMHgwMywgMHg0MywgMHgzNiwgMHgwMiwgMHhlNSwgMHgzNiwgMHgzMCwgMHhlNywgMHgyNiwgMHhlNSwgMHgxOSwgMHhkMywgMHg5NCwKLSAgMHgyMCwgMHg0MCwgMHgwMywgMHg3NSwgMHgxOSwgMHgyMCwgMHg4NSwgMHgxOSwgMHgwOCwgMHg3ZSwgMHg3ZSwgMHg3ZiwgMHg4MCwgMHg3NSwgMHgwYywgMHg3ZSwKLSAgMHg3NSwgMHgwZCwgMHg4MCwgMHhhZiwgMHgzNiwgMHgxMiwgMHgwZiwgMHg1ZCwgMHhlNSwgMHgxOSwgMHgyNSwgMHhlMCwgMHg5MCwgMHg3ZiwgMHhiNywgMHhmMCwKLSAgMHg4MCwgMHgyNywgMHhlNSwgMHgxOSwgMHhkMywgMHg5NCwgMHgzZiwgMHg0MCwgMHgwMywgMHg3NSwgMHgxOSwgMHgzZiwgMHg4NSwgMHgxOSwgMHgwOH19LAotIHsweDAxNDYsIDY0LCB7IDB4OTAsIDB4N2UsIDB4ODAsIDB4ZTUsIDB4MzYsIDB4ZjAsIDB4N2UsIDB4N2UsIDB4N2YsIDB4ODEsIDB4NzUsIDB4MGMsIDB4N2UsIDB4NzUsIDB4MGQsIDB4ODEsIDB4MTIsCi0gIDB4MGMsIDB4ZjEsIDB4ZTUsIDB4MTksIDB4MDQsIDB4OTAsIDB4N2YsIDB4YjcsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4Y2UsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDYsCi0gIDB4MjAsIDB4MDUsIDB4MDMsIDB4MDIsIDB4MDMsIDB4YzEsIDB4ZTQsIDB4ZjUsIDB4MTgsIDB4NzQsIDB4NDAsIDB4MjUsIDB4MTgsIDB4ZjUsIDB4ODIsIDB4ZTQsCi0gIDB4MzQsIDB4N2MsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4ZTUsIDB4MTgsIDB4N2MsIDB4MDAsIDB4N2IsIDB4MDEsIDB4N2EsIDB4N2UsIDB4Nzl9fSwKLSB7MHgwMTg2LCA2NCwgeyAweDAwLCAweDI0LCAweDAwLCAweGY5LCAweGVjLCAweDM0LCAweDdlLCAweGZhLCAweGVmLCAweDEyLCAweDBlLCAweGU0LCAweDA1LCAweDE4LCAweGU1LCAweDE4LCAweGI0LAotICAweDIwLCAweGQ3LCAweDkwLCAweDdlLCAweDAwLCAweGUwLCAweDYwLCAweDY4LCAweDkwLCAweDdlLCAweDAzLCAweGUwLCAweDYwLCAweDI0LCAweDdmLCAweDAxLAotICAweGU0LCAweGZkLCAweDEyLCAweDExLCAweGQwLCAweDdmLCAweDAzLCAweDdkLCAweGNkLCAweDEyLCAweDExLCAweGQwLCAweDQzLCAweDQ2LCAweDgwLCAweDkwLAotICAweDdmLCAweDk4LCAweDc0LCAweDE0LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDQ2LCAweGYwLCAweGU0LCAweDkwLCAweDdlLCAweDEzfX0sCi0gezB4MDFjNiwgNjQsIHsgMHhmMCwgMHg4MCwgMHgzMCwgMHg5MCwgMHg3ZSwgMHgwMSwgMHhlMCwgMHhmZiwgMHgxMiwgMHgxMCwgMHg1NCwgMHg5MCwgMHg3ZSwgMHgwMiwgMHhlMCwgMHhmZiwgMHgxMiwKLSAgMHgxMCwgMHg3YSwgMHg3ZiwgMHgwMSwgMHg5MCwgMHg3ZSwgMHgxMSwgMHhlMCwgMHhmZCwgMHgxMiwgMHgxMSwgMHhkMCwgMHg3ZiwgMHgwMywgMHg3ZCwgMHgwNywKLSAgMHgxMiwgMHgxMSwgMHhkMCwgMHg0MywgMHg0NiwgMHg4MCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwKLSAgMHg0NiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMiwgMHhmMCwgMHhlNSwgMHg0MCwgMHg0NCwgMHgwNiwgMHg5MCwgMHhjMCwgMHgwMH19LAotIHsweDAyMDYsIDY0LCB7IDB4ZjAsIDB4OTAsIDB4N2UsIDB4MDMsIDB4ZTAsIDB4NzAsIDB4MDYsIDB4OTAsIDB4N2UsIDB4MTMsIDB4ZTAsIDB4NzAsIDB4MDgsIDB4ZTQsIDB4OTAsIDB4N2UsIDB4MTMsCi0gIDB4ZjAsIDB4NzUsIDB4MjUsIDB4ZmYsIDB4OTAsIDB4N2UsIDB4MDUsIDB4ZTAsIDB4NjAsIDB4MTIsIDB4YTMsIDB4ZTAsIDB4NTQsIDB4M2YsIDB4ZjUsIDB4NDQsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDQsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MDcsIDB4ZTAsCi0gIDB4NjAsIDB4MmIsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4NDIsIDB4ODAsIDB4ODAsIDB4MDMsIDB4NTMsIDB4NDIsIDB4N2YsIDB4NTN9fSwKLSB7MHgwMjQ2LCA2NCwgeyAweDQyLCAweGZjLCAweDkwLCAweDdlLCAweDA5LCAweGUwLCAweDYwLCAweDExLCAweDQzLCAweDQyLCAweDAyLCAweGEzLCAweGUwLCAweGZmLCAweDEyLCAweDEwLCAweGM2LAotICAweDkwLCAweDdlLCAweDBiLCAweGUwLCAweGZmLCAweDEyLCAweDEwLCAweGVjLCAweGFmLCAweDQyLCAweDEyLCAweDEwLCAweGEwLCAweDkwLCAweDdlLCAweDAzLAotICAweGUwLCAweDYwLCAweDA4LCAweDUzLCAweDQyLCAweDdmLCAweGFmLCAweDQyLCAweDEyLCAweDEwLCAweGEwLCAweDkwLCAweDdlLCAweDBjLCAweGUwLCAweDYwLAotICAweDE4LCAweGEzLCAweGUwLCAweDYwLCAweDA1LCAweDQzLCAweDQ2LCAweDAyLCAweDgwLCAweDAzLCAweDUzLCAweDQ2LCAweGZkLCAweDkwLCAweDdmfX0sCi0gezB4MDI4NiwgNjQsIHsgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NiwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgwZSwgMHhlMCwgMHg2MCwgMHgxOCwgMHhhMywKLSAgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHg0NiwgMHgwMSwgMHg4MCwgMHgwMywgMHg1MywgMHg0NiwgMHhmZSwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNCwKLSAgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NiwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgxMiwgMHhlMCwgMHhmNSwgMHgzYSwgMHhhMywgMHhlMCwgMHgxMywKLSAgMHg5MiwgMHgwZCwgMHhhMywgMHhlMCwgMHhmNSwgMHgzYywgMHhhMywgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHg0NiwgMHgxMCwgMHg4MCwgMHgwM319LAotIHsweDAyYzYsIDY0LCB7IDB4NTMsIDB4NDYsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDYsIDB4ZjAsIDB4OTAsIDB4N2UsCi0gIDB4MTYsIDB4ZTAsIDB4NjAsIDB4MzIsIDB4NTMsIDB4NDQsIDB4YmYsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTUsIDB4NDQsIDB4NTQsCi0gIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4MTIsIDB4MTMsIDB4MGYsIDB4ZWYsIDB4NTQsCi0gIDB4ZmUsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4NTMsIDB4M2UsIDB4ZmQsIDB4ZTQsIDB4ZmYsIDB4YWQsIDB4M2UsIDB4MTIsIDB4MTEsIDB4ZDB9fSwKLSB7MHgwMzA2LCA2NCwgeyAweGU0LCAweGY1LCAweDJhLCAweGY1LCAweDI5LCAweGQyLCAweDA3LCAweDkwLCAweDdlLCAweDE3LCAweGUwLCAweDYwLCAweDBmLCAweDQzLCAweDNlLCAweDAyLCAweGU0LAotICAweGZmLCAweGFkLCAweDNlLCAweDEyLCAweDExLCAweGQwLCAweDc1LCAweDI5LCAweDAxLCAweGQyLCAweDA3LCAweDkwLCAweDdlLCAweDE4LCAweGUwLCAweDYwLAotICAweDEwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEyLCAweGYwLCAweGU1LCAweDQwLCAweDQ0LCAweDA0LCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweGQyLAotICAweDAwLCAweDkwLCAweDdlLCAweDE5LCAweGUwLCAweDYwLCAweDExLCAweDQzLCAweDQ0LCAweDQwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzfX0sCi0gezB4MDM0NiwgNjQsIHsgMHhmMCwgMHhlNSwgMHg0NCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgxYSwgMHhlMCwgMHg2MCwgMHgwZiwgMHg1MywgMHgzZSwKLSAgMHhmZSwgMHhlNCwgMHhmZiwgMHhhZCwgMHgzZSwgMHgxMiwgMHgxMSwgMHhkMCwgMHg3NSwgMHgyYiwgMHgwMSwgMHhkMiwgMHgwNywgMHg5MCwgMHg3ZSwgMHgxYiwKLSAgMHhlMCwgMHg2MCwgMHgwZiwgMHg0MywgMHgzZSwgMHgwMSwgMHhlNCwgMHhmZiwgMHhhZCwgMHgzZSwgMHgxMiwgMHgxMSwgMHhkMCwgMHhlNCwgMHhmNSwgMHgyYiwKLSAgMHhkMiwgMHgwNywgMHg5MCwgMHg3ZSwgMHgxYywgMHhlMCwgMHg2MCwgMHgwZSwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMiwgMHhmMCwgMHhlNX19LAotIHsweDAzODYsIDY0LCB7IDB4NDAsIDB4NDQsIDB4MDIsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MWQsIDB4ZTAsIDB4NjAsIDB4MDIsIDB4ZDIsIDB4MGIsIDB4OTAsIDB4N2UsCi0gIDB4MWUsIDB4ZTAsIDB4NjAsIDB4MDgsIDB4NzUsIDB4MmMsIDB4MDEsIDB4ZTQsIDB4ZjUsIDB4MzgsIDB4ZDIsIDB4MDcsIDB4OTAsIDB4N2UsIDB4MWYsIDB4ZTAsCi0gIDB4NjAsIDB4MTEsIDB4OTAsIDB4N2YsIDB4ZDcsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4NzQsIDB4MzEsIDB4ZjAsIDB4NzQsIDB4MTUsIDB4ZjAsIDB4NzQsIDB4MzUsCi0gIDB4ZjAsIDB4ZDIsIDB4MDMsIDB4YzIsIDB4MDUsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4Y2YsIDB4ZjAsIDB4MzAsIDB4MWEsIDB4NTQsIDB4ZTUsIDB4Mzh9fSwKLSB7MHgwM2M2LCA2NCwgeyAweDYwLCAweDAyLCAweDE1LCAweDM4LCAweDIwLCAweDEzLCAweDRiLCAweGU1LCAweDEzLCAweGQzLCAweDk0LCAweDAwLCAweDQwLCAweDA0LCAweDE1LCAweDEzLCAweDgwLAotICAweDQwLCAweDc1LCAweDEzLCAweDBhLCAweDMwLCAweDFiLCAweDAyLCAweGQyLCAweDEzLCAweDEyLCAweDEzLCAweDBmLCAweGVmLCAweDU0LCAweDAxLCAweGY1LAotICAweDE5LCAweDY1LCAweDJhLCAweDYwLCAweDA1LCAweDg1LCAweDE5LCAweDJhLCAweGQyLCAweDA3LCAweDEyLCAweDEzLCAweDRiLCAweGVmLCAweDU0LCAweDgwLAotICAweDY0LCAweDgwLCAweGY1LCAweDE5LCAweDY1LCAweDI2LCAweDYwLCAweDA1LCAweDg1LCAweDE5LCAweDI2LCAweGQyLCAweDA3LCAweDMwLCAweDBkfX0sCi0gezB4MDQwNiwgNjQsIHsgMHgxMSwgMHgxMiwgMHgxMywgMHg0YiwgMHhlZiwgMHg1NCwgMHgxMCwgMHhmNSwgMHgxOSwgMHg2NSwgMHgyNSwgMHg2MCwgMHgwNSwgMHg4NSwgMHgxOSwgMHgyNSwgMHhkMiwKLSAgMHgwNywgMHgyMCwgMHgxYiwgMHgwMywgMHgwMiwgMHgwNywgMHhmMCwgMHgzMCwgMHgwYSwgMHgxOCwgMHgxMiwgMHgxMywgMHg4NywgMHhlZiwgMHhjMywgMHg5NSwKLSAgMHgzZCwgMHg0MCwgMHgwMywgMHgwMiwgMHgwNCwgMHhiMCwgMHg5MCwgMHg3ZiwgMHhjMSwgMHg3NCwgMHgwMSwgMHhmMCwgMHhjMiwgMHgwYSwgMHhjMiwgMHgwMCwKLSAgMHg4MCwgMHg3NywgMHgzMCwgMHgwNCwgMHgzYiwgMHg5MCwgMHg3ZiwgMHhjYSwgMHhlMCwgMHgyMCwgMHhlMSwgMHg2ZCwgMHgxMiwgMHgxMywgMHg4N319LAotIHsweDA0NDYsIDY0LCB7IDB4ZWYsIDB4YzMsIDB4OTQsIDB4NDAsIDB4NTAsIDB4NjQsIDB4OTAsIDB4N2QsIDB4NDAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGEsIDB4OTAsIDB4N2YsIDB4Y2IsIDB4ZTAsCi0gIDB4MTQsIDB4ZjUsIDB4MTksIDB4MjAsIDB4MDAsIDB4MTEsIDB4NjAsIDB4MGYsIDB4ZjUsIDB4MDgsIDB4N2UsIDB4N2QsIDB4N2YsIDB4NDEsIDB4NzUsIDB4MGMsCi0gIDB4N2QsIDB4NzUsIDB4MGQsIDB4NDEsIDB4MTIsIDB4MGQsIDB4MTYsIDB4YzIsIDB4MDQsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4Y2IsIDB4ZjAsIDB4ODAsIDB4MzksCi0gIDB4OTAsIDB4N2YsIDB4Y2MsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MzIsIDB4MTIsIDB4MTMsIDB4ODcsIDB4ZWYsIDB4YzMsIDB4OTQsIDB4NDAsIDB4NTB9fSwKLSB7MHgwNDg2LCA2NCwgeyAweDI5LCAweDkwLCAweDdjLCAweGMwLCAweGUwLCAweDEzLCAweDkyLCAweDBhLCAweDkwLCAweDdmLCAweGNkLCAweGUwLCAweDE0LCAweGY1LCAweDE5LCAweDIwLCAweDAwLAotICAweDExLCAweDYwLCAweDBmLCAweGY1LCAweDA4LCAweDdlLCAweDdjLCAweDdmLCAweGMxLCAweDc1LCAweDBjLCAweDdjLCAweDc1LCAweDBkLCAweGMxLCAweDEyLAotICAweDBkLCAweDE2LCAweGQyLCAweDA0LCAweGU0LCAweDkwLCAweDdmLCAweGNkLCAweGYwLCAweDkwLCAweDdmLCAweGJhLCAweGUwLCAweDMwLCAweGUxLCAweDAzLAotICAweDAyLCAweDA1LCAweDM4LCAweDEyLCAweDEyLCAweDNmLCAweDhmLCAweDE5LCAweDEyLCAweDEzLCAweDkzLCAweDhmLCAweDM3LCAweGU1LCAweDE5fX0sCi0gezB4MDRjNiwgNjQsIHsgMHhjMywgMHg5NSwgMHgzYiwgMHg1MCwgMHgwZiwgMHgxMiwgMHgxMywgMHg2ZiwgMHhlZiwgMHgzMCwgMHhlMCwgMHgwOCwgMHhlNSwgMHgzNywgMHgyMCwgMHhlNywgMHgwMywKLSAgMHgzMCwgMHgwYywgMHg1ZSwgMHhjMiwgMHgwYywgMHhlNSwgMHgxOSwgMHg2MCwgMHg1OCwgMHhiNCwgMHg4MCwgMHgwMywgMHg0MywgMHgzNywgMHgwMiwgMHhlNSwKLSAgMHgzNywgMHgzMCwgMHhlNywgMHgyNiwgMHhlNSwgMHgxOSwgMHhkMywgMHg5NCwgMHgyMCwgMHg0MCwgMHgwMywgMHg3NSwgMHgxOSwgMHgyMCwgMHg4NSwgMHgxOSwKLSAgMHgwOCwgMHg3ZSwgMHg3ZCwgMHg3ZiwgMHg4MCwgMHg3NSwgMHgwYywgMHg3ZCwgMHg3NSwgMHgwZCwgMHg4MCwgMHhhZiwgMHgzNywgMHgxMiwgMHgwZn19LAotIHsweDA1MDYsIDY0LCB7IDB4OTYsIDB4ZTUsIDB4MTksIDB4MjUsIDB4ZTAsIDB4OTAsIDB4N2YsIDB4YmIsIDB4ZjAsIDB4ODAsIDB4MjcsIDB4ZTUsIDB4MTksIDB4ZDMsIDB4OTQsIDB4M2YsIDB4NDAsCi0gIDB4MDMsIDB4NzUsIDB4MTksIDB4M2YsIDB4ODUsIDB4MTksIDB4MDgsIDB4OTAsIDB4N2QsIDB4ODAsIDB4ZTUsIDB4MzcsIDB4ZjAsIDB4N2UsIDB4N2QsIDB4N2YsCi0gIDB4ODEsIDB4NzUsIDB4MGMsIDB4N2QsIDB4NzUsIDB4MGQsIDB4ODEsIDB4MTIsIDB4MGQsIDB4M2IsIDB4ZTUsIDB4MTksIDB4MDQsIDB4OTAsIDB4N2YsIDB4YmIsCi0gIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZDAsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDYsIDB4MjAsIDB4MDYsIDB4MDMsIDB4MDIsIDB4MDcsIDB4OTksIDB4ZTR9fSwKLSB7MHgwNTQ2LCA2NCwgeyAweGY1LCAweDE4LCAweDc0LCAweGMwLCAweDI1LCAweDE4LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdiLCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweGU1LCAweDE4LAotICAweDdjLCAweDAwLCAweDdiLCAweDAxLCAweDdhLCAweDdlLCAweDc5LCAweDIwLCAweDI0LCAweDIwLCAweGY5LCAweGVjLCAweDM0LCAweDdlLCAweGZhLCAweGVmLAotICAweDEyLCAweDBlLCAweGU0LCAweDA1LCAweDE4LCAweGU1LCAweDE4LCAweGI0LCAweDIwLCAweGQ3LCAweDkwLCAweDdlLCAweDIwLCAweGUwLCAweDYwLCAweDY4LAotICAweDkwLCAweDdlLCAweDIzLCAweGUwLCAweDYwLCAweDI0LCAweDdmLCAweDAxLCAweGU0LCAweGZkLCAweDEyLCAweDEyLCAweDFhLCAweDdmLCAweDAzfX0sCi0gezB4MDU4NiwgNjQsIHsgMHg3ZCwgMHhjZCwgMHgxMiwgMHgxMiwgMHgxYSwgMHg0MywgMHg0NywgMHg4MCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwKLSAgMHhlNSwgMHg0NywgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZSwgMHgzMywgMHhmMCwgMHg4MCwgMHgzMCwgMHg5MCwgMHg3ZSwgMHgyMSwgMHhlMCwgMHhmZiwgMHgxMiwKLSAgMHgxMSwgMHgzOCwgMHg5MCwgMHg3ZSwgMHgyMiwgMHhlMCwgMHhmZiwgMHgxMiwgMHgxMSwgMHg1ZSwgMHg3ZiwgMHgwMSwgMHg5MCwgMHg3ZSwgMHgzMSwgMHhlMCwKLSAgMHhmZCwgMHgxMiwgMHgxMiwgMHgxYSwgMHg3ZiwgMHgwMywgMHg3ZCwgMHgwNywgMHgxMiwgMHgxMiwgMHgxYSwgMHg0MywgMHg0NywgMHg4MCwgMHg5MH19LAotIHsweDA1YzYsIDY0LCB7IDB4N2YsIDB4OTgsIDB4NzQsIDB4MGMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDcsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGEsIDB4ZjAsCi0gIDB4ZTUsIDB4NDEsIDB4NDQsIDB4MDYsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MjMsIDB4ZTAsIDB4NzAsIDB4MDYsIDB4OTAsIDB4N2UsCi0gIDB4MzMsIDB4ZTAsIDB4NzAsIDB4MDgsIDB4ZTQsIDB4OTAsIDB4N2UsIDB4MzMsIDB4ZjAsIDB4NzUsIDB4MmUsIDB4ZmYsIDB4OTAsIDB4N2UsIDB4MjUsIDB4ZTAsCi0gIDB4NjAsIDB4MTIsIDB4YTMsIDB4ZTAsIDB4NTQsIDB4M2YsIDB4ZjUsIDB4NDUsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4OTB9fSwKLSB7MHgwNjA2LCA2NCwgeyAweGMwLCAweDAwLCAweGU1LCAweDQ1LCAweGYwLCAweDkwLCAweDdlLCAweDI3LCAweGUwLCAweDYwLCAweDJiLCAweGEzLCAweGUwLCAweDYwLCAweDA1LCAweDQzLCAweDQzLAotICAweDgwLCAweDgwLCAweDAzLCAweDUzLCAweDQzLCAweDdmLCAweDUzLCAweDQzLCAweGZjLCAweDkwLCAweDdlLCAweDI5LCAweGUwLCAweDYwLCAweDExLCAweDQzLAotICAweDQzLCAweDAyLCAweGEzLCAweGUwLCAweGZmLCAweDEyLCAweDExLCAweDg0LCAweDkwLCAweDdlLCAweDJiLCAweGUwLCAweGZmLCAweDEyLCAweDExLCAweGFhLAotICAweGFmLCAweDQzLCAweDEyLCAweDExLCAweDEyLCAweDkwLCAweDdlLCAweDIzLCAweGUwLCAweDYwLCAweDA4LCAweDUzLCAweDQzLCAweDdmLCAweGFmfX0sCi0gezB4MDY0NiwgNjQsIHsgMHg0MywgMHgxMiwgMHgxMSwgMHgxMiwgMHg5MCwgMHg3ZSwgMHgyYywgMHhlMCwgMHg2MCwgMHgxOCwgMHhhMywgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHg0NywgMHgwMiwKLSAgMHg4MCwgMHgwMywgMHg1MywgMHg0NywgMHhmZCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NywKLSAgMHhmMCwgMHg5MCwgMHg3ZSwgMHgyZSwgMHhlMCwgMHg2MCwgMHgxOCwgMHhhMywgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHg0NywgMHgwMSwgMHg4MCwgMHgwMywKLSAgMHg1MywgMHg0NywgMHhmZSwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NywgMHhmMH19LAotIHsweDA2ODYsIDY0LCB7IDB4OTAsIDB4N2UsIDB4MzIsIDB4ZTAsIDB4ZjUsIDB4M2IsIDB4YTMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGUsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4M2QsIDB4YTMsIDB4ZTAsCi0gIDB4NjAsIDB4MDUsIDB4NDMsIDB4NDcsIDB4MTAsIDB4ODAsIDB4MDMsIDB4NTMsIDB4NDcsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGMsIDB4ZjAsCi0gIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDcsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MzYsIDB4ZTAsIDB4NjAsIDB4MzIsIDB4NTMsIDB4NDUsIDB4YmYsIDB4OTAsCi0gIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4ZTUsIDB4NDUsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwNmM2LCA2NCwgeyAweDk4LCAweDc0LCAweDA5LCAweGYwLCAweDEyLCAweDEzLCAweDYzLCAweGVmLCAweDU0LCAweGZlLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDUzLCAweDNmLCAweGZkLAotICAweGU0LCAweGZmLCAweGFkLCAweDNmLCAweDEyLCAweDEyLCAweDFhLCAweGU0LCAweGY1LCAweDMzLCAweGY1LCAweDMyLCAweGQyLCAweDA4LCAweDkwLCAweDdlLAotICAweDM3LCAweGUwLCAweDYwLCAweDBmLCAweDQzLCAweDNmLCAweDAyLCAweGU0LCAweGZmLCAweGFkLCAweDNmLCAweDEyLCAweDEyLCAweDFhLCAweDc1LCAweDMyLAotICAweDAxLCAweGQyLCAweDA4LCAweDkwLCAweDdlLCAweDM4LCAweGUwLCAweDYwLCAweDEwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBhLCAweGYwfX0sCi0gezB4MDcwNiwgNjQsIHsgMHhlNSwgMHg0MSwgMHg0NCwgMHgwNCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHhkMiwgMHgwMCwgMHg5MCwgMHg3ZSwgMHgzOSwgMHhlMCwgMHg2MCwgMHgxMSwgMHg0MywKLSAgMHg0NSwgMHg0MCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHhlNSwgMHg0NSwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwKLSAgMHg5MCwgMHg3ZSwgMHgzYSwgMHhlMCwgMHg2MCwgMHgwZiwgMHg1MywgMHgzZiwgMHhmZSwgMHhlNCwgMHhmZiwgMHhhZCwgMHgzZiwgMHgxMiwgMHgxMiwgMHgxYSwKLSAgMHg3NSwgMHgzNCwgMHgwMSwgMHhkMiwgMHgwOCwgMHg5MCwgMHg3ZSwgMHgzYiwgMHhlMCwgMHg2MCwgMHgwZiwgMHg0MywgMHgzZiwgMHgwMSwgMHhlNH19LAotIHsweDA3NDYsIDY0LCB7IDB4ZmYsIDB4YWQsIDB4M2YsIDB4MTIsIDB4MTIsIDB4MWEsIDB4ZTQsIDB4ZjUsIDB4MzQsIDB4ZDIsIDB4MDgsIDB4OTAsIDB4N2UsIDB4M2MsIDB4ZTAsIDB4NjAsIDB4MGUsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGEsIDB4ZjAsIDB4ZTUsIDB4NDEsIDB4NDQsIDB4MDIsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2UsCi0gIDB4M2QsIDB4ZTAsIDB4NjAsIDB4MDIsIDB4ZDIsIDB4MGMsIDB4OTAsIDB4N2UsIDB4M2UsIDB4ZTAsIDB4NjAsIDB4MDgsIDB4NzUsIDB4MzUsIDB4MDEsIDB4ZTQsCi0gIDB4ZjUsIDB4MzksIDB4ZDIsIDB4MDgsIDB4OTAsIDB4N2UsIDB4M2YsIDB4ZTAsIDB4NjAsIDB4MTEsIDB4OTAsIDB4N2YsIDB4ZDcsIDB4NzQsIDB4MTN9fSwKLSB7MHgwNzg2LCA2NCwgeyAweGYwLCAweDc0LCAweDMzLCAweGYwLCAweDc0LCAweDE2LCAweGYwLCAweDc0LCAweDM2LCAweGYwLCAweGQyLCAweDA0LCAweGMyLCAweDA2LCAweGU0LCAweDkwLCAweDdmLAotICAweGQxLCAweGYwLCAweDMwLCAweDFhLCAweDU0LCAweGU1LCAweDM5LCAweDYwLCAweDAyLCAweDE1LCAweDM5LCAweDMwLCAweDEzLCAweDRiLCAweGU1LCAweDEzLAotICAweGQzLCAweDk0LCAweDAwLCAweDQwLCAweDA0LCAweDE1LCAweDEzLCAweDgwLCAweDQwLCAweDc1LCAweDEzLCAweDBhLCAweDMwLCAweDFiLCAweDAyLCAweGMyLAotICAweDEzLCAweDEyLCAweDEzLCAweDYzLCAweGVmLCAweDU0LCAweDAxLCAweGY1LCAweDE5LCAweDY1LCAweDMzLCAweDYwLCAweDA1LCAweDg1LCAweDE5fX0sCi0gezB4MDdjNiwgNjQsIHsgMHgzMywgMHhkMiwgMHgwOCwgMHgxMiwgMHgxMywgMHg5ZiwgMHhlZiwgMHg1NCwgMHg4MCwgMHg2NCwgMHg4MCwgMHhmNSwgMHgxOSwgMHg2NSwgMHgyZiwgMHg2MCwgMHgwNSwKLSAgMHg4NSwgMHgxOSwgMHgyZiwgMHhkMiwgMHgwOCwgMHgzMCwgMHgwZSwgMHgxMSwgMHgxMiwgMHgxMywgMHg5ZiwgMHhlZiwgMHg1NCwgMHgxMCwgMHhmNSwgMHgxOSwKLSAgMHg2NSwgMHgyZSwgMHg2MCwgMHgwNSwgMHg4NSwgMHgxOSwgMHgyZSwgMHhkMiwgMHgwOCwgMHgzMCwgMHgxYSwgMHgyYSwgMHg5MCwgMHg3ZiwgMHhkMiwgMHhlMCwKLSAgMHgyMCwgMHhlMSwgMHgyMywgMHg5MCwgMHg3YiwgMHg0MCwgMHhlMCwgMHg2MCwgMHgwOSwgMHhlMCwgMHhmNSwgMHgxNSwgMHg5MCwgMHg3YiwgMHg0Mn19LAotIHsweDA4MDYsIDY0LCB7IDB4ZTAsIDB4ZjUsIDB4MTYsIDB4OTAsIDB4N2IsIDB4NDEsIDB4ZTAsIDB4NjAsIDB4MDksIDB4OTAsIDB4N2YsIDB4ZDcsIDB4NzQsIDB4MTcsIDB4ZjAsIDB4NzQsIDB4MzcsCi0gIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4ZDMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YzIsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDMsIDB4MDIsIDB4MDksIDB4MjQsCi0gIDB4ZTUsIDB4MGEsIDB4NzAsIDB4NDAsIDB4MzAsIDB4MDcsIDB4MzksIDB4ZTUsIDB4MzgsIDB4NzAsIDB4MzUsIDB4YzIsIDB4MDcsIDB4ZjUsIDB4MTgsIDB4N2UsCi0gIDB4MDAsIDB4N2IsIDB4MDAsIDB4NzQsIDB4MjQsIDB4MjUsIDB4MTgsIDB4ZjksIDB4ZWUsIDB4MzQsIDB4MDAsIDB4ZmEsIDB4MTIsIDB4MGUsIDB4OWV9fSwKLSB7MHgwODQ2LCA2NCwgeyAweGZmLCAweDc0LCAweDgwLCAweDI1LCAweDE4LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdiLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDA1LCAweDE4LCAweGU1LAotICAweDE4LCAweGI0LCAweDA5LCAweGRiLCAweDkwLCAweDdmLCAweGMzLCAweDc0LCAweDA5LCAweGYwLCAweDc1LCAweDM4LCAweDEwLCAweGU0LCAweGY1LCAweDJjLAotICAweDc1LCAweDBhLCAweDAxLCAweDIyLCAweGU1LCAweDBhLCAweDY0LCAweDAxLCAweDcwLCAweDQwLCAweDMwLCAweDA4LCAweDM5LCAweGU1LCAweDM5LCAweDcwLAotICAweDM1LCAweGMyLCAweDA4LCAweGY1LCAweDE4LCAweDdlLCAweDAwLCAweDdiLCAweDAwLCAweDc0LCAweDJkLCAweDI1LCAweDE4LCAweGY5LCAweGVlfX0sCi0gezB4MDg4NiwgNjQsIHsgMHgzNCwgMHgwMCwgMHhmYSwgMHgxMiwgMHgwZSwgMHg5ZSwgMHhmZiwgMHg3NCwgMHg4MCwgMHgyNSwgMHgxOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwKLSAgMHg4MywgMHhlZiwgMHhmMCwgMHgwNSwgMHgxOCwgMHhlNSwgMHgxOCwgMHhiNCwgMHgwOSwgMHhkYiwgMHg5MCwgMHg3ZiwgMHhjMywgMHg3NCwgMHgwOSwgMHhmMCwKLSAgMHg3NSwgMHgzOSwgMHgxMCwgMHhlNCwgMHhmNSwgMHgzNSwgMHg3NSwgMHgwYSwgMHgwMiwgMHgyMiwgMHhlNSwgMHgwYSwgMHg2NCwgMHgwMiwgMHg3MCwgMHgzNiwKLSAgMHgzMCwgMHgxNCwgMHgyZiwgMHhjMiwgMHgxNCwgMHhmNSwgMHgxOCwgMHg3ZSwgMHgwMCwgMHg3YiwgMHgwMCwgMHg3NCwgMHgwZSwgMHgyNSwgMHgxOH19LAotIHsweDA4YzYsIDY0LCB7IDB4ZjksIDB4ZWUsIDB4MzQsIDB4MDAsIDB4ZmEsIDB4MTIsIDB4MGUsIDB4OWUsIDB4ZmYsIDB4NzQsIDB4ODAsIDB4MjUsIDB4MTgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsCi0gIDB4N2IsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MDUsIDB4MTgsIDB4ZTUsIDB4MTgsIDB4YjQsIDB4MDUsIDB4ZGIsIDB4OTAsIDB4N2YsIDB4YzMsIDB4NzQsCi0gIDB4MDUsIDB4ZjAsIDB4NzUsIDB4MGEsIDB4MDMsIDB4MjIsIDB4ZTUsIDB4MTUsIDB4NjAsIDB4MzAsIDB4MTUsIDB4MTUsIDB4ZTQsIDB4ZjUsIDB4MTgsIDB4N2UsCi0gIDB4MDAsIDB4N2IsIDB4MDAsIDB4NzQsIDB4MTQsIDB4MjUsIDB4MTgsIDB4ZjksIDB4ZWUsIDB4MzQsIDB4MDAsIDB4ZmEsIDB4MTIsIDB4MGUsIDB4OWV9fSwKLSB7MHgwOTA2LCA2NCwgeyAweGZmLCAweDc0LCAweDgwLCAweDI1LCAweDE4LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdiLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDA1LCAweDE4LCAweGU1LAotICAweDE4LCAweGI0LCAweDAzLCAweGRiLCAweDkwLCAweDdmLCAweGMzLCAweDc0LCAweDAzLCAweGYwLCAweGU0LCAweGY1LCAweDBhLCAweDIyLCAweDkwLCAweDdmLAotICAweGU5LCAweGUwLCAweDEyLCAweDBlLCAweGY2LCAweDBhLCAweDBjLCAweDAwLCAweDBhLCAweDgwLCAweDAxLCAweDBhLCAweGVjLCAweDAzLCAweDA5LCAweDQ4LAotICAweDA2LCAweDA5LCAweGZmLCAweDA4LCAweDA5LCAweGY5LCAweDA5LCAweDA5LCAweGUxLCAweDBhLCAweDA5LCAweGYwLCAweDBiLCAweDAwLCAweDAwfX0sCi0gezB4MDk0NiwgNjQsIHsgMHgwYiwgMHgzYiwgMHg5MCwgMHg3ZiwgMHhlYiwgMHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxOSwgMHgxNCwgMHg2MCwgMHg2MSwgMHgyNCwgMHgwMiwgMHg2MCwgMHgwMywKLSAgMHgwMiwgMHgwOSwgMHhkNywgMHg3NCwgMHgxOSwgMHg5MCwgMHg3ZiwgMHhkNCwgMHhmMCwgMHg3NCwgMHgwMCwgMHg5MCwgMHg3ZiwgMHhkNSwgMHhmMCwgMHgwMiwKLSAgMHgwYiwgMHg0MiwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHg3MCwgMHgwNCwgMHg3ZiwgMHgwMiwgMHg4MCwgMHgwMiwgMHg3ZiwgMHgwMywgMHg3NSwgMHg4MiwKLSAgMHg4MiwgMHg3NSwgMHg4MywgMHgxOSwgMHhlZiwgMHhmMCwgMHg3NSwgMHg4MiwgMHg3YiwgMHg3NSwgMHg4MywgMHgxOSwgMHhmMCwgMHg3NSwgMHg4Mn19LAotIHsweDA5ODYsIDY0LCB7IDB4NzQsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZjAsIDB4NzUsIDB4ODIsIDB4NjYsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZjAsIDB4NzUsIDB4ODIsIDB4NTgsIDB4NzUsIDB4ODMsCi0gIDB4MTksIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4MDQsIDB4NzUsIDB4ODIsIDB4MTcsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZjAsIDB4NzQsIDB4MTksCi0gIDB4OTAsIDB4N2YsIDB4ZDQsIDB4ZjAsIDB4NzQsIDB4MTIsIDB4OTAsIDB4N2YsIDB4ZDUsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4NDIsIDB4OTAsIDB4N2YsIDB4ZWEsCi0gIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MGYsIDB4MWMsIDB4ZWEsIDB4NDksIDB4NjAsIDB4MGQsIDB4ZWEsIDB4OTAsIDB4N2YsIDB4ZDQsIDB4ZjAsIDB4ZTl9fSwKLSB7MHgwOWM2LCA2NCwgeyAweDkwLCAweDdmLCAweGQ1LCAweGYwLCAweDAyLCAweDBiLCAweDQyLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDBiLCAweDQyLAotICAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDBiLCAweDQyLCAweDkwLCAweDdmLCAweDAwLCAweGU1LCAweDA5LCAweGYwLAotICAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAxLCAweGYwLCAweDAyLCAweDBiLCAweDQyLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGY1LCAweDA5LCAweDAyLAotICAweDBiLCAweDQyLCAweDEyLCAweDBiLCAweDRhLCAweDAyLCAweDBiLCAweDQyLCAweDkwLCAweDdmLCAweDAwLCAweDc0LCAweDAxLCAweGYwLCAweDkwfX0sCi0gezB4MGEwNiwgNjQsIHsgMHg3ZiwgMHhiNSwgMHhmMCwgMHgwMiwgMHgwYiwgMHg0MiwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwgMHgyNCwgMHg3ZiwgMHg2MCwgMHgyNCwgMHgxNCwgMHg2MCwgMHgzMSwKLSAgMHgyNCwgMHgwMiwgMHg3MCwgMHg1YiwgMHhhMiwgMHgxMCwgMHhlNCwgMHgzMywgMHhmZiwgMHgyNSwgMHhlMCwgMHhmZiwgMHhhMiwgMHgxNiwgMHhlNCwgMHgzMywKLSAgMHg0ZiwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhmMCwgMHhlNCwgMHhhMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwYiwKLSAgMHg0MiwgMHhlNCwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhmMCwgMHhhMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMn19LAotIHsweDBhNDYsIDY0LCB7IDB4MGIsIDB4NDIsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4ZjQsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsCi0gIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4OTAsCi0gIDB4N2YsIDB4MDAsIDB4ZjAsIDB4ZTQsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4NDIsIDB4OTAsCi0gIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4NDIsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4ZmV9fSwKLSB7MHgwYTg2LCA2NCwgeyAweDYwLCAweDFkLCAweDI0LCAweDAyLCAweDYwLCAweDAzLCAweDAyLCAweDBiLCAweDQyLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGI0LCAweDAxLCAweDA1LCAweGMyLAotICAweDEwLCAweDAyLCAweDBiLCAweDQyLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDBiLCAweDQyLCAweDkwLCAweDdmLAotICAweGVhLCAweGUwLCAweDcwLCAweDM4LCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweGZmLAotICAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDI1LCAweGUwLCAweDI0LCAweGI0LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzfX0sCi0gezB4MGFjNiwgNjQsIHsgMHhlNCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHg1NCwgMHg4MCwgMHhmZiwgMHgxMywgMHgxMywgMHgxMywgMHg1NCwgMHgxZiwgMHhmZiwgMHhlMCwgMHg1NCwKLSAgMHgwNywgMHgyZiwgMHg5MCwgMHg3ZiwgMHhkNywgMHhmMCwgMHhlMCwgMHg0NCwgMHgyMCwgMHhmMCwgMHg4MCwgMHg1ZiwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwKLSAgMHg0NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHg1NiwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxOCwgMHgyNCwgMHgwMiwgMHg3MCwKLSAgMHg0YSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhiNCwgMHgwMSwgMHgwNCwgMHhkMiwgMHgxMCwgMHg4MCwgMHgzZiwgMHg5MCwgMHg3ZiwgMHhiNH19LAotIHsweDBiMDYsIDY0LCB7IDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4MzYsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4NzAsIDB4MjAsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4ZjQsCi0gIDB4NTQsIDB4ODAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjUsCi0gIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4MTAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsCi0gIDB4MDEsIDB4ZjAsIDB4ODAsIDB4MDcsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTB9fSwKLSB7MHgwYjQ2LCA2NCwgeyAweDQ0LCAweDAyLCAweGYwLCAweDIyLCAweGU0LCAweDkwLCAweDdmLCAweDkzLCAweGYwLCAweDkwLCAweDdmLCAweDljLCAweDc0LCAweDMwLCAweGYwLCAweGU0LCAweDkwLAotICAweDdmLCAweDk2LCAweGYwLCAweDkwLCAweDdmLCAweDk1LCAweDc0LCAweGMwLCAweGYwLCAweDkwLCAweDdmLCAweDllLCAweDc0LCAweDNmLCAweGYwLCAweDkwLAotICAweDdmLCAweDk4LCAweDc0LCAweDE4LCAweGYwLCAweGU0LCAweGY1LCAweDhlLCAweDkwLCAweDdmLCAweGRmLCAweDc0LCAweGZmLCAweGYwLCAweDkwLCAweDdmLAotICAweGRlLCAweGYwLCAweGU0LCAweGY1LCAweDI0LCAweDc1LCAweDE4LCAweDAxLCAweDdiLCAweDAwLCAweDc0LCAweDI0LCAweDI1LCAweDE4LCAweGY5fX0sCi0gezB4MGI4NiwgNjQsIHsgMHhlNCwgMHgzNCwgMHgwMCwgMHhmYSwgMHhlNCwgMHgxMiwgMHgwZSwgMHhlNCwgMHgwNSwgMHgxOCwgMHhlNSwgMHgxOCwgMHhiNCwgMHgwOSwgMHhlYSwgMHg3NSwgMHgzYSwKLSAgMHgwMSwgMHhlNCwgMHhmNSwgMHgzOCwgMHhmNSwgMHgxMywgMHhmNSwgMHgzNiwgMHhjMiwgMHgwNywgMHhjMiwgMHgwYiwgMHhjMiwgMHgwNSwgMHhjMiwgMHgwMCwKLSAgMHhjMiwgMHgwOSwgMHhjMiwgMHgxMywgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg3NSwgMHg0NCwgMHgwMywgMHg5MCwgMHhjMCwgMHgwMCwKLSAgMHg3NCwgMHgwMywgMHhmMCwgMHg3ZiwgMHgwYywgMHhlNCwgMHhmZCwgMHgxMiwgMHgxMSwgMHhkMCwgMHg3ZiwgMHgxMCwgMHg4ZiwgMHg0MiwgMHgxMn19LAotIHsweDBiYzYsIDY0LCB7IDB4MTAsIDB4YTAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTIsIDB4ZjAsIDB4N2YsIDB4MDEsIDB4OGYsIDB4NDAsIDB4ZWYsIDB4NDQsIDB4MDYsIDB4OTAsIDB4YzAsCi0gIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4NzUsIDB4NDYsIDB4ODAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4ODAsCi0gIDB4ZjAsIDB4MGYsIDB4ZTQsIDB4ZmQsIDB4MTIsIDB4MTEsIDB4ZDAsIDB4ZTQsIDB4ZmYsIDB4N2UsIDB4YTMsIDB4YWQsIDB4MDYsIDB4OGQsIDB4M2UsIDB4MTIsCi0gIDB4MTEsIDB4ZDAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTQsIDB4ZjAsIDB4N2YsIDB4MDV9fSwKLSB7MHgwYzA2LCA2NCwgeyAweDdkLCAweDdmLCAweDEyLCAweDExLCAweGQwLCAweDdmLCAweDAxLCAweDEyLCAweDEyLCAweDg5LCAweDdmLCAweDAzLCAweDdkLCAweDA3LCAweDEyLCAweDExLCAweGQwLAotICAweDdmLCAweDEzLCAweDdkLCAweDA5LCAweDEyLCAweDExLCAweGQwLCAweDIwLCAweDFiLCAweDAzLCAweDAyLCAweDBjLCAweGM5LCAweDc1LCAweDJkLCAweDAxLAotICAweDc1LCAweDE4LCAweDAxLCAweDdiLCAweDAwLCAweDc0LCAweDJkLCAweDI1LCAweDE4LCAweGY5LCAweGU0LCAweDM0LCAweDAwLCAweGZhLCAweGU0LCAweDEyLAotICAweDBlLCAweGU0LCAweDA1LCAweDE4LCAweGU1LCAweDE4LCAweGI0LCAweDA5LCAweGVhLCAweDc1LCAweDNiLCAweDAxLCAweGU0LCAweGY1LCAweDM5fX0sCi0gezB4MGM0NiwgNjQsIHsgMHhmNSwgMHgxMywgMHhmNSwgMHgzNywgMHhjMiwgMHgwOCwgMHhjMiwgMHgwYywgMHhjMiwgMHgwNiwgMHhjMiwgMHgwMCwgMHhjMiwgMHgwYSwgMHhjMiwgMHgxMywgMHg5MCwKLSAgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHg3NSwgMHg0NSwgMHgwMywgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHgwMywgMHhmMCwgMHg3ZiwgMHgwYywKLSAgMHhlNCwgMHhmZCwgMHgxMiwgMHgxMiwgMHgxYSwgMHg3ZiwgMHgxMCwgMHg4ZiwgMHg0MywgMHgxMiwgMHgxMSwgMHgxMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwKLSAgMHgwYSwgMHhmMCwgMHg3ZiwgMHgwMSwgMHg4ZiwgMHg0MSwgMHhlZiwgMHg0NCwgMHgwNiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3Zn19LAotIHsweDBjODYsIDY0LCB7IDB4OTgsIDB4NzQsIDB4MGMsIDB4ZjAsIDB4NzUsIDB4NDcsIDB4ODAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4ODAsIDB4ZjAsIDB4MGYsIDB4ZTQsIDB4ZmQsIDB4MTIsCi0gIDB4MTIsIDB4MWEsIDB4ZTQsIDB4ZmYsIDB4N2UsIDB4YTMsIDB4YWQsIDB4MDYsIDB4OGQsIDB4M2YsIDB4MTIsIDB4MTIsIDB4MWEsIDB4OTAsIDB4N2YsIDB4OTgsCi0gIDB4NzQsIDB4MDksIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTQsIDB4ZjAsIDB4N2YsIDB4MDUsIDB4N2QsIDB4N2YsIDB4MTIsIDB4MTIsIDB4MWEsIDB4N2YsCi0gIDB4MDEsIDB4MTIsIDB4MTIsIDB4YWEsIDB4N2YsIDB4MDMsIDB4N2QsIDB4MDcsIDB4MTIsIDB4MTIsIDB4MWEsIDB4N2YsIDB4MTMsIDB4N2QsIDB4MDl9fSwKLSB7MHgwY2M2LCA2NCwgeyAweDEyLCAweDEyLCAweDFhLCAweGQyLCAweDEyLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEwLCAweGYwLCAweGFmLCAweDA4LCAweGU1LCAweDBkLCAweGY1LAotICAweDgyLCAweGU1LCAweDBjLCAweGY1LCAweDgzLCAweGMyLCAweGFmLCAweDA1LCAweDg2LCAweDkwLCAweGMwLCAweDAwLCAweDA1LCAweDg2LCAweGUwLCAweGEzLAotICAweDA1LCAweDg2LCAweGYwLCAweDA1LCAweDg2LCAweGRmLCAweGY3LCAweGQyLCAweGFmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEwLCAweGYwLAotICAweGFmLCAweDA4LCAweGU1LCAweDBkLCAweGY1LCAweDgyLCAweGU1LCAweDBjLCAweGY1LCAweDgzLCAweGMyLCAweGFmLCAweDA1LCAweDg2LCAweDkwfX0sCi0gezB4MGQwNiwgNjQsIHsgMHhjMCwgMHgwMCwgMHhlMCwgMHgwNSwgMHg4NiwgMHhmMCwgMHhhMywgMHgwNSwgMHg4NiwgMHhkZiwgMHhmNywgMHgwNSwgMHg4NiwgMHhkMiwgMHhhZiwgMHgyMiwgMHg5MCwKLSAgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwOCwgMHhmMCwgMHhhZiwgMHgwOCwgMHhlNSwgMHgwZCwgMHhmNSwgMHg4MiwgMHhlNSwgMHgwYywgMHhmNSwgMHg4MywgMHhjMiwKLSAgMHhhZiwgMHgwNSwgMHg4NiwgMHg5MCwgMHhjMCwgMHgwMCwgMHgwNSwgMHg4NiwgMHhlMCwgMHhhMywgMHgwNSwgMHg4NiwgMHhmMCwgMHgwNSwgMHg4NiwgMHhkZiwKLSAgMHhmNywgMHhkMiwgMHhhZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwOCwgMHhmMCwgMHhhZiwgMHgwOCwgMHhlNSwgMHgwZCwgMHhmNX19LAotIHsweDBkNDYsIDY0LCB7IDB4ODIsIDB4ZTUsIDB4MGMsIDB4ZjUsIDB4ODMsIDB4YzIsIDB4YWYsIDB4MDUsIDB4ODYsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4MDUsIDB4ODYsIDB4ZjAsIDB4YTMsCi0gIDB4MDUsIDB4ODYsIDB4ZGYsIDB4ZjcsIDB4MDUsIDB4ODYsIDB4ZDIsIDB4YWYsIDB4MjIsIDB4NzQsIDB4MDAsIDB4ZjUsIDB4ODYsIDB4OTAsIDB4ZmQsIDB4YTUsCi0gIDB4N2MsIDB4MDUsIDB4YTMsIDB4ZTUsIDB4ODIsIDB4NDUsIDB4ODMsIDB4NzAsIDB4ZjksIDB4MjIsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NDQsIDB4ODAsCi0gIDB4ZjAsIDB4NDMsIDB4ODcsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MjIsIDB4ZDIsIDB4MTksIDB4OTAsIDB4N2YsIDB4OTJ9fSwKLSB7MHgwZDg2LCA2NCwgeyAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDkwLCAweDdmLCAweGFlLCAweGUwLCAweGZmLCAweGQzLCAweDkyLCAweDEwLCAweGU0LCAweDMzLCAweGZlLCAweGVmLCAweDRlLAotICAweGYwLCAweGQyLCAweGU4LCAweDQzLCAweGQ4LCAweDIwLCAweDkwLCAweDdmLCAweGRlLCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGRmLCAweGYwLAotICAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweGZmLCAweGYwLCAweDkwLCAweDdmLCAweGE5LCAweGYwLCAweDkwLCAweDdmLCAweGFhLCAweGYwLCAweDUzLCAweDkxLAotICAweGVmLCAweDkwLCAweDdmLCAweGFmLCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGFlLCAweGUwLCAweDQ0LCAweDBkLCAweGYwfX0sCi0gezB4MGRjNiwgNjQsIHsgMHhkMiwgMHhhZiwgMHhkMiwgMHgxYSwgMHgxMiwgMHgxMiwgMHg2NCwgMHhjMiwgMHgxMSwgMHhlNCwgMHhmNSwgMHgwYiwgMHhmNSwgMHgxMywgMHhjMiwgMHgxNywgMHhjMiwKLSAgMHgxMiwgMHg5MCwgMHg3ZiwgMHhhMSwgMHgwNCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkOCwgMHhlMCwgMHg2NSwgMHgxNywgMHg2MCwgMHgxMCwgMHgzMCwgMHgxMiwKLSAgMHgwNSwgMHhkMiwgMHgxYSwgMHgxMiwgMHgwMCwgMHg0NiwgMHg5MCwgMHg3ZiwgMHhkOCwgMHhlMCwgMHhmNSwgMHgxNywgMHg4MCwgMHgwOCwgMHgzMCwgMHgxMiwKLSAgMHgwNSwgMHhjMiwgMHgxYSwgMHgxMiwgMHgwMCwgMHg0NiwgMHgzMCwgMHgxMSwgMHgwNywgMHhjMiwgMHgxMSwgMHgxMiwgMHgwOSwgMHgyNSwgMHg4MH19LAotIHsweDBlMDYsIDY0LCB7IDB4ZDYsIDB4MzAsIDB4MTgsIDB4ZDMsIDB4YzIsIDB4MTgsIDB4MTIsIDB4MTMsIDB4YWIsIDB4ODAsIDB4Y2MsIDB4MjIsIDB4NzgsIDB4N2YsIDB4ZTQsIDB4ZjYsIDB4ZDgsCi0gIDB4ZmQsIDB4NzUsIDB4ODEsIDB4NDcsIDB4MDIsIDB4MGUsIDB4NTksIDB4MDIsIDB4MGQsIDB4ODEsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjgsIDB4ZTQsIDB4OTMsCi0gIDB4YTMsIDB4NDAsIDB4MDMsIDB4ZjYsIDB4ODAsIDB4MDEsIDB4ZjIsIDB4MDgsIDB4ZGYsIDB4ZjQsIDB4ODAsIDB4MjksIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjgsCi0gIDB4NTQsIDB4MDcsIDB4MjQsIDB4MGMsIDB4YzgsIDB4YzMsIDB4MzMsIDB4YzQsIDB4NTQsIDB4MGYsIDB4NDQsIDB4MjAsIDB4YzgsIDB4ODMsIDB4NDB9fSwKLSB7MHgwZTQ2LCA2NCwgeyAweDA0LCAweGY0LCAweDU2LCAweDgwLCAweDAxLCAweDQ2LCAweGY2LCAweGRmLCAweGU0LCAweDgwLCAweDBiLCAweDAxLCAweDAyLCAweDA0LCAweDA4LCAweDEwLCAweDIwLAotICAweDQwLCAweDgwLCAweDkwLCAweDEyLCAweGNiLCAweGU0LCAweDdlLCAweDAxLCAweDkzLCAweDYwLCAweGJjLCAweGEzLCAweGZmLCAweDU0LCAweDNmLCAweDMwLAotICAweGU1LCAweDA5LCAweDU0LCAweDFmLCAweGZlLCAweGU0LCAweDkzLCAweGEzLCAweDYwLCAweDAxLCAweDBlLCAweGNmLCAweDU0LCAweGMwLCAweDI1LCAweGUwLAotICAweDYwLCAweGE4LCAweDQwLCAweGI4LCAweGU0LCAweDkzLCAweGEzLCAweGZhLCAweGU0LCAweDkzLCAweGEzLCAweGY4LCAweGU0LCAweDkzLCAweGEzfX0sCi0gezB4MGU4NiwgNjQsIHsgMHhjOCwgMHhjNSwgMHg4MiwgMHhjOCwgMHhjYSwgMHhjNSwgMHg4MywgMHhjYSwgMHhmMCwgMHhhMywgMHhjOCwgMHhjNSwgMHg4MiwgMHhjOCwgMHhjYSwgMHhjNSwgMHg4MywKLSAgMHhjYSwgMHhkZiwgMHhlOSwgMHhkZSwgMHhlNywgMHg4MCwgMHhiZSwgMHhiYiwgMHgwMSwgMHgwNiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlMCwgMHgyMiwKLSAgMHg1MCwgMHgwMiwgMHhlNywgMHgyMiwgMHhiYiwgMHhmZSwgMHgwMiwgMHhlMywgMHgyMiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlNCwgMHg5MywgMHgyMiwKLSAgMHhiYiwgMHgwMSwgMHgwYywgMHhlNSwgMHg4MiwgMHgyOSwgMHhmNSwgMHg4MiwgMHhlNSwgMHg4MywgMHgzYSwgMHhmNSwgMHg4MywgMHhlMCwgMHgyMn19LAotIHsweDBlYzYsIDY0LCB7IDB4NTAsIDB4MDYsIDB4ZTksIDB4MjUsIDB4ODIsIDB4ZjgsIDB4ZTYsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDYsIDB4ZTksIDB4MjUsIDB4ODIsIDB4ZjgsIDB4ZTIsIDB4MjIsCi0gIDB4ZTUsIDB4ODIsIDB4MjksIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4OTMsIDB4MjIsIDB4YmIsIDB4MDEsIDB4MDYsCi0gIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZjAsIDB4MjIsIDB4NTAsIDB4MDIsIDB4ZjcsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDEsIDB4ZjMsIDB4MjIsIDB4ZDAsCi0gIDB4ODMsIDB4ZDAsIDB4ODIsIDB4ZjgsIDB4ZTQsIDB4OTMsIDB4NzAsIDB4MTIsIDB4NzQsIDB4MDEsIDB4OTMsIDB4NzAsIDB4MGQsIDB4YTMsIDB4YTN9fSwKLSB7MHgwZjA2LCA2NCwgeyAweDkzLCAweGY4LCAweDc0LCAweDAxLCAweDkzLCAweGY1LCAweDgyLCAweDg4LCAweDgzLCAweGU0LCAweDczLCAweDc0LCAweDAyLCAweDkzLCAweDY4LCAweDYwLCAweGVmLAotICAweGEzLCAweGEzLCAweGEzLCAweDgwLCAweGRmLCAweDhmLCAweDE4LCAweGU0LCAweGY1LCAweDE5LCAweDc1LCAweDFhLCAweGZmLCAweDc1LCAweDFiLCAweDE5LAotICAweDc1LCAweDFjLCAweDg2LCAweGFiLCAweDFhLCAweGFhLCAweDFiLCAweGE5LCAweDFjLCAweDkwLCAweDAwLCAweDAxLCAweDEyLCAweDBlLCAweGI3LCAweGI0LAotICAweDAzLCAweDFkLCAweGFmLCAweDE5LCAweDA1LCAweDE5LCAweGVmLCAweGI1LCAweDE4LCAweDAxLCAweDIyLCAweDEyLCAweDBlLCAweDllLCAweDdlfX0sCi0gezB4MGY0NiwgNjQsIHsgMHgwMCwgMHgyOSwgMHhmZiwgMHhlZSwgMHgzYSwgMHhhOSwgMHgwNywgMHg3NSwgMHgxYSwgMHhmZiwgMHhmNSwgMHgxYiwgMHg4OSwgMHgxYywgMHg4MCwgMHhkNCwgMHg3YiwKLSAgMHgwMCwgMHg3YSwgMHgwMCwgMHg3OSwgMHgwMCwgMHgyMiwgMHg4ZiwgMHgxYSwgMHgwNSwgMHgwZCwgMHhlNSwgMHgwZCwgMHhhZSwgMHgwYywgMHg3MCwgMHgwMiwKLSAgMHgwNSwgMHgwYywgMHgxNCwgMHhmNSwgMHg4MiwgMHg4ZSwgMHg4MywgMHhlNSwgMHgxYSwgMHhmMCwgMHgxMiwgMHgwMCwgMHgzNiwgMHgwNSwgMHgwZCwgMHhlNSwKLSAgMHgwZCwgMHhhYywgMHgwYywgMHg3MCwgMHgwMiwgMHgwNSwgMHgwYywgMHgxNCwgMHhmNSwgMHg4MiwgMHg4YywgMHg4MywgMHhlZiwgMHhmMCwgMHgxNX19LAotIHsweDBmODYsIDY0LCB7IDB4MDgsIDB4ZTUsIDB4MDgsIDB4NjAsIDB4MGEsIDB4MTIsIDB4MTMsIDB4M2YsIDB4OGYsIDB4MWEsIDB4ZWYsIDB4NDIsIDB4MzYsIDB4ODAsIDB4Y2EsIDB4MjIsIDB4OGYsCi0gIDB4MWEsIDB4MDUsIDB4MGQsIDB4ZTUsIDB4MGQsIDB4YWUsIDB4MGMsIDB4NzAsIDB4MDIsIDB4MDUsIDB4MGMsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGUsIDB4ODMsCi0gIDB4ZTUsIDB4MWEsIDB4ZjAsIDB4MTIsIDB4MTMsIDB4NTcsIDB4MDUsIDB4MGQsIDB4ZTUsIDB4MGQsIDB4YWMsIDB4MGMsIDB4NzAsIDB4MDIsIDB4MDUsIDB4MGMsCi0gIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MTUsIDB4MDgsIDB4ZTUsIDB4MDgsIDB4NjAsIDB4MGEsIDB4MTIsIDB4MTN9fSwKLSB7MHgwZmM2LCA2NCwgeyAweDkzLCAweDhmLCAweDFhLCAweGVmLCAweDQyLCAweDM3LCAweDgwLCAweGNhLCAweDIyLCAweGU0LCAweDkwLCAweDdmLCAweDkzLCAweGYwLCAweDkwLCAweDdmLCAweDljLAotICAweDc0LCAweDMwLCAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweDk2LCAweGYwLCAweDkwLCAweDdmLCAweDk1LCAweGYwLCAweDkwLCAweDdmLCAweDllLCAweDc0LAotICAweDI3LCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDIwLCAweGYwLCAweDkwLCAweDdmLCAweDllLCAweDc0LCAweDA3LCAweGYwLCAweGU0LCAweDkwLAotICAweDdmLCAweDk0LCAweGYwLCAweDkwLCAweDdmLCAweDlkLCAweDc0LCAweGZmLCAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweDk3LCAweGYwLCAweDIyfX0sCi0gezB4MTAwNiwgNjQsIHsgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHhkMiwgMHgxMSwKLSAgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwMSwgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwKLSAgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwKLSAgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHhkMiwgMHgxOCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwOH19LAotIHsweDEwNDYsIDY0LCB7IDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4OTAsIDB4N2YsIDB4OTgsCi0gIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4OTAsCi0gIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTUsIDB4NDQsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsCi0gIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjB9fSwKLSB7MHgxMDg2LCA2NCwgeyAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDExLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLAotICAweGU1LCAweDQ0LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDkwLAotICAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEyLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLAotICAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweGU1LCAweDQ0LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyfX0sCi0gezB4MTBjNiwgNjQsIHsgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNCwKLSAgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHhlNSwgMHg0NCwgMHg1NCwgMHg3ZiwKLSAgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwKLSAgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OH19LAotIHsweDExMDYsIDY0LCB7IDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTUsIDB4NDQsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsCi0gIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsCi0gIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4ZTUsIDB4NDUsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsCi0gIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2Z9fSwKLSB7MHgxMTQ2LCA2NCwgeyAweDk4LCAweDc0LCAweDA4LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweGU1LCAweDQ1LAotICAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweDkwLCAweGMwLCAweDAwLAotICAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDA5LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLAotICAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweGU1LCAweDQ1LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmfX0sCi0gezB4MTE4NiwgNjQsIHsgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYywgMHhmMCwgMHg5MCwKLSAgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHhlNSwgMHg0NSwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwKLSAgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwKLSAgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwZSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYn19LAotIHsweDExYzYsIDY0LCB7IDB4ZjAsIDB4ZTUsIDB4NDUsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTUsCi0gIDB4NDQsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTcsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsCi0gIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTUsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWQsIDB4ZjAsIDB4MjIsIDB4MTIsIDB4MTMsCi0gIDB4MjcsIDB4OGYsIDB4MWEsIDB4MTIsIDB4MTMsIDB4MjcsIDB4OGYsIDB4MWIsIDB4ZTUsIDB4MWEsIDB4NjUsIDB4MWIsIDB4NjAsIDB4MTIsIDB4MTJ9fSwKLSB7MHgxMjA2LCA2NCwgeyAweDEzLCAweDI3LCAweDhmLCAweDFhLCAweGU1LCAweDFhLCAweDY1LCAweDFiLCAweDYwLCAweDA3LCAweDEyLCAweDEzLCAweDI3LCAweDhmLCAweDFiLCAweDgwLCAweGU4LAotICAweGFmLCAweDFhLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweGU1LCAweDQ1LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLAotICAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBmLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LAotICAweDBkLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVkLCAweGYwLCAweDIyLCAweDEyLCAweDEzLCAweDdiLCAweDhmLCAweDFhLCAweDEyLCAweDEzfX0sCi0gezB4MTI0NiwgNjQsIHsgMHg3YiwgMHg4ZiwgMHgxYiwgMHhlNSwgMHgxYSwgMHg2NSwgMHgxYiwgMHg2MCwgMHgxMiwgMHgxMiwgMHgxMywgMHg3YiwgMHg4ZiwgMHgxYSwgMHhlNSwgMHgxYSwgMHg2NSwKLSAgMHgxYiwgMHg2MCwgMHgwNywgMHgxMiwgMHgxMywgMHg3YiwgMHg4ZiwgMHgxYiwgMHg4MCwgMHhlOCwgMHhhZiwgMHgxYSwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhkNiwKLSAgMHhlMCwgMHg1NCwgMHhmYiwgMHhmMCwgMHhlMCwgMHg0NCwgMHgwOCwgMHhmMCwgMHgzMCwgMHgxYSwgMHgwNCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHg3ZiwKLSAgMHhmNCwgMHg3ZSwgMHgwMSwgMHgxMiwgMHgxMiwgMHhlNywgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg1NCwgMHhmNywgMHhmMCwgMHhlMCwgMHg0NH19LAotIHsweDEyODYsIDY0LCB7IDB4MDQsIDB4ZjAsIDB4MjIsIDB4YWUsIDB4MDcsIDB4ZTQsIDB4ZmYsIDB4ZTUsIDB4M2UsIDB4NTQsIDB4N2YsIDB4ZmQsIDB4MTIsIDB4MTEsIDB4ZDAsIDB4OTAsIDB4N2YsCi0gIDB4OTgsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWUsIDB4ZjAsIDB4ZTQsIDB4ZTUsIDB4M2UsIDB4NDQsIDB4ODAsIDB4ZmQsIDB4MTIsCi0gIDB4MTEsIDB4ZDAsIDB4MjIsIDB4YWUsIDB4MDcsIDB4ZTQsIDB4ZmYsIDB4ZTUsIDB4M2YsIDB4NTQsIDB4N2YsIDB4ZmQsIDB4MTIsIDB4MTIsIDB4MWEsIDB4OTAsCi0gIDB4N2YsIDB4OTgsIDB4NzQsIDB4MDksIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWUsIDB4ZjAsIDB4ZTQsIDB4ZTUsIDB4M2YsIDB4NDQsIDB4ODB9fSwKLSB7MHgxMmM2LCA2NCwgeyAweGZkLCAweDEyLCAweDEyLCAweDFhLCAweDIyLCAweDA1LCAweDBlLCAweDAyLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAzLCAweDE0LCAweDAzLCAweDAwLCAweDAwLAotICAweGMxLCAweDExLCAweGMxLCAweDE4LCAweGMxLCAweDk1LCAweGMxLCAweDEwLCAweGMxLCAweDE2LCAweDAxLCAweDBhLCAweDAwLCAweGMxLCAweDliLCAweDAwLAotICAweDhlLCAweDE4LCAweDhmLCAweDE5LCAweGU1LCAweDE5LCAweDE1LCAweDE5LCAweGFlLCAweDE4LCAweDcwLCAweDAyLCAweDE1LCAweDE4LCAweDRlLCAweDYwLAotICAweDA1LCAweDEyLCAweDBkLCAweDYwLCAweDgwLCAweGVlLCAweDIyLCAweDAwLCAweDAwLCAweDAyLCAweDEwLCAweDA2LCAweDAwLCAweDAyLCAweDEzfX0sCi0gezB4MTMwNiwgNjQsIHsgMHgwNCwgMHgwMCwgMHgwMiwgMHgwMCwgMHgwMywgMHgwMCwgMHgwMiwgMHgxMCwgMHgyZCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMSwgMHhmMCwgMHg5MCwgMHhjMCwKLSAgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwKLSAgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNSwgMHhmMCwgMHg5MH19LAotIHsweDEzNDYsIDY0LCB7IDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTYsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MDgsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsCi0gIDB4MDksIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGEsIDB4ZjAsIDB4OTAsIDB4YzAsCi0gIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmZ9fSwKLSB7MHgxMzg2LCA2NCwgeyAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBjLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LAotICAweDBkLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBlLCAweGYwLCAweDkwLCAweGMwLAotICAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDEyLCAweDBmLCAweGNmLCAweDEyLCAweDBkLCAweDcxLCAweDEyLCAweDBiLCAweDRhLCAweDIyLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTNjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE0MDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNDQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTQ4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE0YzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNTA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTU0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE1ODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNWM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTYwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE2NDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNjg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTZjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE3MDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNzQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTc4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE3YzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxODA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTg0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE4ODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxOGM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDEyLCAweDAxLCAweDEwLCAweDAxLCAweGZmLCAweDAwfX0sCi0gezB4MTkwNiwgNjQsIHsgMHgwMCwgMHg0MCwgMHhjZCwgMHgwNiwgMHgxMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMiwgMHgwMCwgMHgwMiwgMHgwOSwgMHgwMiwgMHg3NCwgMHgwMCwgMHgwMSwKLSAgMHgwMSwgMHgwMCwgMHhhMCwgMHgzMiwgMHgwOSwgMHgwNCwgMHgwMCwgMHgwMCwgMHgwZSwgMHhmZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMSwKLSAgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMywgMHgwMiwgMHg0MCwKLSAgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwNCwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwNSwgMHgwMiwgMHg0MCwgMHgwMH19LAotIHsweDE5NDYsIDY0LCB7IDB4MDAsIDB4MDcsIDB4MDUsIDB4MDYsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDcsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsCi0gIDB4ODEsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODIsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4ODMsIDB4MDIsCi0gIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODQsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODUsIDB4MDIsIDB4NDAsIDB4MDAsCi0gIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODYsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODcsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDF9fSwKLSB7MHgxOTg2LCA2NCwgeyAweDA0LCAweDAzLCAweDA5LCAweDA0LCAweDQ4LCAweDAzLCAweDRiLCAweDAwLCAweDY1LCAweDAwLCAweDc5LCAweDAwLCAweDczLCAweDAwLCAweDcwLCAweDAwLCAweDYxLAotICAweDAwLCAweDZlLCAweDAwLCAweDJjLCAweDAwLCAweDIwLCAweDAwLCAweDYxLCAweDAwLCAweDIwLCAweDAwLCAweDY0LCAweDAwLCAweDY5LCAweDAwLCAweDc2LAotICAweDAwLCAweDY5LCAweDAwLCAweDczLCAweDAwLCAweDY5LCAweDAwLCAweDZmLCAweDAwLCAweDZlLCAweDAwLCAweDIwLCAweDAwLCAweDZmLCAweDAwLCAweDY2LAotICAweDAwLCAweDIwLCAweDAwLCAweDQ5LCAweDAwLCAweDZlLCAweDAwLCAweDZlLCAweDAwLCAweDZmLCAweDAwLCAweDUzLCAweDAwLCAweDc5LCAweDAwfX0sCi0gezB4MTljNiwgNjQsIHsgMHg3MywgMHgwMCwgMHgyMCwgMHgwMCwgMHg0OSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2MywgMHgwMCwgMHgyZSwgMHgwMCwgMHgzNiwgMHgwMywgMHg0YiwgMHgwMCwgMHg2NSwKLSAgMHgwMCwgMHg3OSwgMHgwMCwgMHg3MywgMHgwMCwgMHg3MCwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHgyMCwgMHgwMCwgMHg1NSwgMHgwMCwgMHg1MywKLSAgMHgwMCwgMHg0MiwgMHgwMCwgMHgyMCwgMHgwMCwgMHg1MywgMHgwMCwgMHg2NSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2OSwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2YywKLSAgMHgwMCwgMHgyMCwgMHgwMCwgMHg0MSwgMHgwMCwgMHg2NCwgMHgwMCwgMHg2MSwgMHgwMCwgMHg3MCwgMHgwMCwgMHg3NCwgMHgwMCwgMHg2NSwgMHgwMH19LAotIHsweDFhMDYsICA0LCB7IDB4NzIsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHhmZmZmLCAgMCwgezB4MDB9fQotfTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3VzYTQ5d19mdy5oIGIvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fdXNhNDl3X2Z3LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRjMjRkYWNlLi4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3VzYTQ5d19mdy5oCisrKyAvZGV2L251bGwKQEAgLTEsNDY0ICswLDAgQEAKLS8qIGtleXNwYW5fdXNhNDl3X2Z3LmgKLQotCVRoZSBmaXJtd2FyZSBjb250YWluZWQgaGVyZWluIGFzIGtleXNwYW5fdXNhNDl3X2Z3LmggaXMKLQotCQlDb3B5cmlnaHQgKEMpIDE5OTktMjAwMQotCQlLZXlzcGFuLCBBIGRpdmlzaW9uIG9mIElubm9TeXMgSW5jb3Jwb3JhdGVkICgiS2V5c3BhbiIpCi0JCQotCWFzIGFuIHVucHVibGlzaGVkIHdvcmsuIFRoaXMgbm90aWNlIGRvZXMgbm90IGltcGx5IHVucmVzdHJpY3RlZCBvcgotCXB1YmxpYyBhY2Nlc3MgdG8gdGhlIHNvdXJjZSBjb2RlIGZyb20gd2hpY2ggdGhpcyBmaXJtd2FyZSBpbWFnZSBpcwotCWRlcml2ZWQuICBFeGNlcHQgYXMgbm90ZWQgYmVsb3cgdGhpcyBmaXJtd2FyZSBpbWFnZSBtYXkgbm90IGJlIAotCXJlcHJvZHVjZWQsIHVzZWQsIHNvbGQgb3IgdHJhbnNmZXJyZWQgdG8gYW55IHRoaXJkIHBhcnR5IHdpdGhvdXQgCi0JS2V5c3BhbidzIHByaW9yIHdyaXR0ZW4gY29uc2VudC4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0KLQlQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkIGZvciB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmlybXdhcmUgCi0JaW1hZ2UgYXMgcGFydCBvZiBhIExpbnV4IG9yIG90aGVyIE9wZW4gU291cmNlIG9wZXJhdGluZyBzeXN0ZW0ga2VybmVsIAotCWluIHRleHQgb3IgYmluYXJ5IGZvcm0gYXMgcmVxdWlyZWQuIAotCi0JVGhpcyBmaXJtd2FyZSBtYXkgbm90IGJlIG1vZGlmaWVkIGFuZCBtYXkgb25seSBiZSB1c2VkIHdpdGggIAotCUtleXNwYW4gaGFyZHdhcmUuICBEaXN0cmlidXRpb24gYW5kL29yIE1vZGlmaWNhdGlvbiBvZiB0aGUgCi0Ja2V5c3Bhbi5jIGRyaXZlciB3aGljaCBpbmNsdWRlcyB0aGlzIGZpcm13YXJlLCBpbiB3aG9sZSBvciBpbiAKLQlwYXJ0LCByZXF1aXJlcyB0aGUgaW5jbHVzaW9uIG9mIHRoaXMgc3RhdGVtZW50LiIKLQotKi8KLQotc3RhdGljIGNvbnN0IHN0cnVjdCBlenVzYl9oZXhfcmVjb3JkIGtleXNwYW5fdXNhNDl3X2Zpcm13YXJlW10gPSB7Ci0gezB4MDAzMywgIDMsIHsgMHgwMiwgMHgxOCwgMHhmYn19LAotIHsweDAwMzYsIDEyLCB7IDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjJ9fSwKLSB7MHgwMDQ2LCAxNiwgeyAweGU0LCAweGZmLCAweDc0LCAweDQwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdiLCAweGY1LCAweDgzLCAweGUwLCAweGZlLCAweGU1LCAweDE1fX0sCi0gezB4MDA1NiwgMTYsIHsgMHgyNCwgMHgwNCwgMHhmZCwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmYSwgMHhhOSwgMHgwNSwgMHg3YiwgMHgwMSwgMHhlZiwgMHg3YywgMHgwMCwgMHgyOSwgMHhmOX19LAotIHsweDAwNjYsIDE2LCB7IDB4ZWMsIDB4M2EsIDB4ZmEsIDB4ZWUsIDB4MTIsIDB4MTEsIDB4ZjEsIDB4MGYsIDB4YmYsIDB4MjIsIDB4ZDcsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MDUsIDB4ZjV9fSwKLSB7MHgwMDc2LCAxNiwgeyAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDcwLCAweDAzLCAweDAyLCAweDAxLCAweDM0LCAweGU1LCAweDE1LCAweDI0LCAweDA5fX0sCi0gezB4MDA4NiwgMTYsIHsgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg3MCwgMHgwZSwgMHhlNSwgMHgxNSwgMHgyNCwgMHgwYSwgMHhmNSwgMHg4Mn19LAotIHsweDAwOTYsIDE2LCB7IDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MTgsIDB4N2YsIDB4MDEsIDB4ZTQsIDB4ZmQsIDB4MTIsIDB4MTYsIDB4NDcsIDB4ZTV9fSwKLSB7MHgwMGE2LCAxNiwgeyAweDE1LCAweDI0LCAweDMxLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweGNmLCAweGYwLCAweDgwLCAweDQxfX0sCi0gezB4MDBiNiwgMTYsIHsgMHhlNSwgMHgxNSwgMHgyNCwgMHgwNiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHgxMiwgMHgxNiwgMHg3Nn19LAotIHsweDAwYzYsIDE2LCB7IDB4ZTUsIDB4MTUsIDB4MjQsIDB4MDcsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MDAsIDB4MDN9fSwKLSB7MHgwMGQ2LCAxNiwgeyAweDdmLCAweDAxLCAweGU1LCAweDE1LCAweDI0LCAweDA4LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweGZkLCAweDEyfX0sCi0gezB4MDBlNiwgMTYsIHsgMHgxNiwgMHg0NywgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg0NCwgMHgzMH19LAotIHsweDAwZjYsIDE2LCB7IDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzksIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjB9fSwKLSB7MHgwMDAzLCAxNiwgeyAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweDAzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDc4LCAweDQxLCAweDc0fX0sCi0gezB4MDAxMywgMTYsIHsgMHgwMSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHgwMywgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNH19LAotIHsweDAwMjMsIDE2LCB7IDB4MzcsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjJ9fSwKLSB7MHgwMDQzLCAgMywgeyAweDAyLCAweDFiLCAweDAwfX0sCi0gezB4MDAwMCwgIDMsIHsgMHgwMiwgMHgxMCwgMHg5NX19LAotIHsweDAxMDYsIDY0LCB7IDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4MDQsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzksIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsCi0gIDB4ZTAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzYsIDB4ZjUsCi0gIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4MDYsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsCi0gIDB4MGIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MzIsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MGN9fSwKLSB7MHgwMTQ2LCA2NCwgeyAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweDNmLCAweGZmLCAweGU1LCAweDE1LCAweDI0LCAweDM3LCAweGY1LCAweDgyLAotICAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweDAzLCAweGYwLCAweGU1LCAweDE1LCAweDI0LAotICAweDM3LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweGU1LCAweDE1LCAweDI0LAotICAweDBkLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDcwLCAweDAzLCAweDAyLCAweDAyLCAweDRmLCAweGU1fX0sCi0gezB4MDE4NiwgNjQsIHsgMHgxNSwgMHgyNCwgMHgxNywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwgMHgxMSwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMiwKLSAgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg0NCwgMHgwNCwgMHhmMCwgMHg4MCwgMHgwZiwgMHhlNSwgMHgxNSwgMHgyNCwKLSAgMHgzMiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHhmYiwgMHhmMCwgMHhlNCwgMHhmZiwgMHhlNSwgMHgxNSwKLSAgMHgyNCwgMHgzMiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZCwgMHgxMiwgMHgxNiwgMHg0NywgMHhlNX19LAotIHsweDAxYzYsIDY0LCB7IDB4MTUsIDB4MjQsIDB4MGUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MTEsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzMsCi0gIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4ODAsIDB4MGYsIDB4ZTUsIDB4MTUsIDB4MjQsCi0gIDB4MzMsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzMsCi0gIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4ZmMsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MGZ9fSwKLSB7MHgwMjA2LCA2NCwgeyAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDJmLCAweGU1LCAweDE1LCAweDI0LCAweDMzLCAweGY1LCAweDgyLCAweGU0LAotICAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDEwLCAweGY1LCAweDgyLCAweGU0LCAweDM1LAotICAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweDEyLCAweDE1LCAweGU3LCAweGU1LCAweDE1LCAweDI0LCAweDExLCAweGY1LCAweDgyLCAweGU0LCAweDM1LAotICAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweDEyLCAweDE2LCAweDE3LCAweGU1LCAweDE1LCAweDI0LCAweDMzLCAweGY1LCAweDgyLCAweGU0fX0sCi0gezB4MDI0NiwgNjQsIHsgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHgxMiwgMHgxNSwgMHhiNywgMHhlNSwgMHgxNSwgMHgyNCwgMHgxNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwKLSAgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwgMHg0NCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgxNSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwKLSAgMHg4MywgMHhlMCwgMHg2MCwgMHgxMSwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzOSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwKLSAgMHg0NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHgwZiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzOSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNX19LAotIHsweDAyODYsIDY0LCB7IDB4ODMsIDB4ZTAsIDB4NTQsIDB4ZmUsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4MDQsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzksIDB4ZjUsIDB4ODIsCi0gIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MTIsIDB4ZjUsIDB4ODIsCi0gIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4NDQsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MTMsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsCi0gIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MTEsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzksIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTR9fSwKLSB7MHgwMmM2LCA2NCwgeyAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDgwLCAweDBmLCAweGU1LCAweDE1LCAweDI0LCAweDM5LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LAotICAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweGZkLCAweGYwLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweDA0LCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDM5LAotICAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDE2LAotICAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweGU1LCAweDE1LCAweDI0LCAweDM1LCAweGY1LCAweDgyfX0sCi0gezB4MDMwNiwgNjQsIHsgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgxNywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwKLSAgMHg4MywgMHhlMCwgMHgzMCwgMHhlMCwgMHgxMSwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywKLSAgMHhlMCwgMHg0NCwgMHg0MCwgMHhmMCwgMHg4MCwgMHgwZiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwKLSAgMHg4MywgMHhlMCwgMHg1NCwgMHhiZiwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgxOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNX19LAotIHsweDAzNDYsIDY0LCB7IDB4ODMsIDB4ZTAsIDB4ZmYsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4M2IsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4ZTUsCi0gIDB4MTUsIDB4MjQsIDB4MTksIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MTEsIDB4ZTUsIDB4MTUsIDB4MjQsCi0gIDB4MzksIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4MTAsIDB4ZjAsIDB4ODAsIDB4MGYsIDB4ZTUsIDB4MTUsCi0gIDB4MjQsIDB4MzksIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4Nzh9fSwKLSB7MHgwMzg2LCA2NCwgeyAweDQxLCAweDc0LCAweDA0LCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDM5LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDkwLAotICAweGMwLCAweDAwLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDFhLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLAotICAweDZiLCAweGU1LCAweDE1LCAweDI0LCAweDM3LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweGJmLCAweGYwLAotICAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweDAzLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDM3LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0fX0sCi0gezB4MDNjNiwgNjQsIHsgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHgwMSwgMHhmMCwgMHgxMiwgMHgwMCwKLSAgMHgzNiwgMHhlZiwgMHg1NCwgMHhmZSwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwKLSAgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHhmZCwgMHhmZiwgMHhmMCwgMHhmZCwgMHhlNCwgMHhmZiwgMHgxMiwgMHgxNiwgMHg0NywgMHhlNSwgMHgxNSwKLSAgMHgyNCwgMHgyYywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlNCwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgyYn19LAotIHsweDA0MDYsIDY0LCB7IDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4ZTUsIDB4MTYsIDB4NDIsIDB4MTMsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MWIsCi0gIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NzAsIDB4MGUsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MjUsIDB4ZjUsIDB4ODIsCi0gIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MjgsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsCi0gIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZmYsIDB4ZjAsIDB4ZmQsIDB4ZTQsIDB4ZmYsIDB4MTIsIDB4MTYsIDB4NDcsIDB4ZTV9fSwKLSB7MHgwNDQ2LCA2NCwgeyAweDE1LCAweDI0LCAweDJiLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweDc0LCAweDAxLCAweGYwLCAweGU1LCAweDE2LCAweDQyLCAweDEzLAotICAweGU1LCAweDE1LCAweDI0LCAweDFjLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweDcwLCAweDBlLCAweGU1LAotICAweDE1LCAweDI0LCAweDI1LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDJhLCAweDkwLCAweDc4LCAweDQxLAotICAweDc0LCAweDAyLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDM2LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwfX0sCi0gezB4MDQ4NiwgNjQsIHsgMHg0NCwgMHgwNCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHhlZiwgMHg2MCwgMHgwZiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwKLSAgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg0NCwgMHgwNCwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgxZCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwKLSAgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwgMHgyNywgMHhlNSwgMHgxNSwgMHgyNCwgMHgzNywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywKLSAgMHhlMCwgMHg0NCwgMHg0MCwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHgwMywgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzNywgMHhmNX19LAotIHsweDA0YzYsIDY0LCB7IDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MWUsCi0gIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MjgsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzIsIDB4ZjUsIDB4ODIsCi0gIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4ZmUsIDB4ZmYsIDB4ZjAsIDB4ZmQsIDB4ZTQsIDB4ZmYsIDB4MTIsIDB4MTYsIDB4NDcsCi0gIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MmQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4ZTV9fSwKLSB7MHgwNTA2LCA2NCwgeyAweDE2LCAweDQyLCAweDEzLCAweGU1LCAweDE1LCAweDI0LCAweDFmLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDcwLCAweDBlLAotICAweGU1LCAweDE1LCAweDI0LCAweDI1LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDI3LCAweGU1LCAweDE1LAotICAweDI0LCAweDMyLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDAxLCAweGZmLCAweGYwLCAweGZkLCAweGU0LAotICAweGZmLCAweDEyLCAweDE2LCAweDQ3LCAweGU1LCAweDE1LCAweDI0LCAweDJkLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzfX0sCi0gezB4MDU0NiwgNjQsIHsgMHhlNCwgMHhmMCwgMHhlNSwgMHgxNiwgMHg0MiwgMHgxMywgMHhlNSwgMHgxNSwgMHgyNCwgMHgyMCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywKLSAgMHhlMCwgMHg3MCwgMHgwZSwgMHhlNSwgMHgxNSwgMHgyNCwgMHgyNSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwKLSAgMHgxOCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHgwMiwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzNiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwKLSAgMHhmNSwgMHg4MywgMHhlMCwgMHg0NCwgMHgwMiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgyMSwgMHhmNSwgMHg4Mn19LAotIHsweDA1ODYsIDY0LCB7IDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MGYsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsCi0gIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MjIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsCi0gIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MWYsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4NzQsCi0gIDB4MDEsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4M2EsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjB9fSwKLSB7MHgwNWM2LCA2NCwgeyAweGU1LCAweDE2LCAweDQyLCAweDEzLCAweGU1LCAweDE1LCAweDI0LCAweDIzLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLAotICAweDAzLCAweDEyLCAweDE4LCAweDg1LCAweGU1LCAweDE1LCAweDI0LCAweDI0LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLAotICAweDYwLCAweDFiLCAweGU1LCAweDE1LCAweDI0LCAweDMxLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDA4LAotICAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweGUwLCAweGZmLCAweGU1LCAweDE2LCAweGY0LCAweGZlLCAweGVmLCAweDVlLCAweGYwLCAweGU1LCAweDE1fX0sCi0gezB4MDYwNiwgNjQsIHsgMHgyNCwgMHgyNSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwgMHgxNiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMSwgMHhmNSwKLSAgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHhmNywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHhlMCwgMHg0NSwgMHgxNiwKLSAgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhlOSwgMHhlMCwgMHgxMiwgMHgxMiwgMHgwMywgMHgwNywgMHg4MywgMHgwMCwgMHgwNywgMHhmNywgMHgwMSwgMHgwOCwKLSAgMHg2MywgMHgwMywgMHgwNiwgMHg0YywgMHgwNiwgMHgwNywgMHg3NCwgMHgwOCwgMHgwNywgMHg2OCwgMHgwOSwgMHgwNywgMHg1MCwgMHgwYSwgMHgwN319LAotIHsweDA2NDYsIDY0LCB7IDB4NWYsIDB4MGIsIDB4MDAsIDB4MDAsIDB4MDgsIDB4YjIsIDB4OTAsIDB4N2YsIDB4ZWIsIDB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MWMsIDB4MTQsIDB4NzAsIDB4MDMsCi0gIDB4MDIsIDB4MDYsIDB4ZmUsIDB4MjQsIDB4MDIsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MDcsIDB4NDYsIDB4NzQsIDB4MTksIDB4OTAsIDB4N2YsIDB4ZDQsIDB4ZjAsCi0gIDB4NzQsIDB4MDAsIDB4OTAsIDB4N2YsIDB4ZDUsIDB4ZjAsIDB4MDIsIDB4MDgsIDB4YjksIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4MDQsIDB4NzUsIDB4ODIsCi0gIDB4MTcsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4MzAsIDB4ZTAsIDB4MDQsIDB4N2YsIDB4MDMsIDB4ODB9fSwKLSB7MHgwNjg2LCA2NCwgeyAweDAyLCAweDdmLCAweDAyLCAweDc1LCAweDgyLCAweDgyLCAweDc1LCAweDgzLCAweDE5LCAweGVmLCAweGYwLCAweDc1LCAweDgyLCAweDZkLCAweDc1LCAweDgzLCAweDE5LAotICAweGYwLCAweDc1LCAweDgyLCAweDY2LCAweDc1LCAweDgzLCAweDE5LCAweGYwLCAweDc1LCAweDgyLCAweDVmLCAweDc1LCAweDgzLCAweDE5LCAweGYwLCAweDc1LAotICAweDgyLCAweDU4LCAweDc1LCAweDgzLCAweDE5LCAweGYwLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDMwLCAweGUxLCAweDA0LCAweDdmLCAweDY0LCAweDgwLAotICAweDAyLCAweDdmLCAweDMyLCAweDc1LCAweDgyLCAweDFhLCAweDc1LCAweDgzLCAweDE5LCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweGVmLCAweGUwfX0sCi0gezB4MDZjNiwgNjQsIHsgMHhmZSwgMHg5MCwgMHg3ZiwgMHhlZSwgMHhlMCwgMHg3YywgMHgwMCwgMHgyNCwgMHgwMCwgMHhmNSwgMHgxOSwgMHhlYywgMHgzZSwgMHhmNSwgMHgxOCwgMHg3NSwgMHgzMywKLSAgMHgxOSwgMHg3NSwgMHgzNCwgMHgxMiwgMHg3NSwgMHg4MiwgMHgxNCwgMHg3NSwgMHg4MywgMHgxOSwgMHhlMCwgMHg3NSwgMHgyNywgMHgwMCwgMHhmNSwgMHgyOCwKLSAgMHhkMywgMHhlNSwgMHgyOCwgMHg5NSwgMHgxOSwgMHhlNSwgMHgyNywgMHg5NSwgMHgxOCwgMHg0MCwgMHgwNiwgMHg4NSwgMHgxOCwgMHgyNywgMHg4NSwgMHgxOSwKLSAgMHgyOCwgMHgxMiwgMHgxMywgMHgxMiwgMHgwMiwgMHgwOCwgMHhiOSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhmZiwgMHgxMiwgMHgxNCwgMHgyYn19LAotIHsweDA3MDYsIDY0LCB7IDB4ZWEsIDB4NDksIDB4NjAsIDB4MzIsIDB4OTAsIDB4N2YsIDB4ZWUsIDB4ZTAsIDB4NzUsIDB4MTgsIDB4MDAsIDB4ZjUsIDB4MTksIDB4YWUsIDB4MDIsIDB4YWYsIDB4MDEsCi0gIDB4OGUsIDB4MzMsIDB4OGYsIDB4MzQsIDB4OGYsIDB4ODIsIDB4OGUsIDB4ODMsIDB4ZTAsIDB4ZmUsIDB4YTMsIDB4ZTAsIDB4OGUsIDB4MjcsIDB4ZjUsIDB4MjgsCi0gIDB4ZDMsIDB4OTUsIDB4MTksIDB4ZTUsIDB4MjcsIDB4OTUsIDB4MTgsIDB4NDAsIDB4MDYsIDB4ODUsIDB4MTgsIDB4MjcsIDB4ODUsIDB4MTksIDB4MjgsIDB4MTIsCi0gIDB4MTMsIDB4MTIsIDB4MDIsIDB4MDgsIDB4YjksIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MDgsIDB4Yjl9fSwKLSB7MHgwNzQ2LCA2NCwgeyAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDA4LCAweGI5LCAweDkwLCAweDdmLCAweDAwLCAweGU1LCAweDI1LCAweGYwLCAweDkwLAotICAweDdmLCAweGI1LCAweDc0LCAweDAxLCAweGYwLCAweDAyLCAweDA4LCAweGI5LCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGY1LCAweDI1LCAweDAyLCAweDA4LAotICAweGI5LCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGY1LCAweDIyLCAweDEyLCAweDBhLCAweGI4LCAweDAyLCAweDA4LCAweGI5LCAweDkwLCAweDdmLCAweDAwLAotICAweGU1LCAweDIyLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAxLCAweGYwLCAweDAyLCAweDA4LCAweGI5LCAweDkwLCAweDdmLCAweGU4fX0sCi0gezB4MDc4NiwgNjQsIHsgMHhlMCwgMHgyNCwgMHg3ZiwgMHg2MCwgMHgyNCwgMHgxNCwgMHg2MCwgMHgzMSwgMHgyNCwgMHgwMiwgMHg3MCwgMHg1YiwgMHhhMiwgMHgwMCwgMHhlNCwgMHgzMywgMHhmZiwKLSAgMHgyNSwgMHhlMCwgMHhmZiwgMHhhMiwgMHgwNiwgMHhlNCwgMHgzMywgMHg0ZiwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhmMCwgMHhlNCwgMHhhMywgMHhmMCwgMHg5MCwKLSAgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwOCwgMHhiOSwgMHhlNCwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhmMCwgMHhhMywgMHhmMCwgMHg5MCwKLSAgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwOCwgMHhiOSwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHhmNCwgMHg1NCwgMHg4MH19LAotIHsweDA3YzYsIDY0LCB7IDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsCi0gIDB4N2YsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZjAsIDB4ZTQsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsCi0gIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MDgsIDB4YjksIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MDgsIDB4YjksCi0gIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MWQsIDB4MjQsIDB4MDIsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MDgsIDB4Yjl9fSwKLSB7MHgwODA2LCA2NCwgeyAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGI0LCAweDAxLCAweDA1LCAweGMyLCAweDAwLCAweDAyLCAweDA4LCAweGI5LCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LAotICAweDAxLCAweGYwLCAweDAyLCAweDA4LCAweGI5LCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDcwLCAweDM4LCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweGY0LAotICAweDU0LCAweDgwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDI1LCAweGUwLCAweDI0LCAweGI0LCAweGY1LAotICAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweGU0LCAweGYwLCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweDU0LCAweDgwLCAweGZmfX0sCi0gezB4MDg0NiwgNjQsIHsgMHgxMywgMHgxMywgMHgxMywgMHg1NCwgMHgxZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHg5MCwgMHg3ZiwgMHhkNywgMHhmMCwgMHhlMCwgMHg0NCwgMHgyMCwKLSAgMHhmMCwgMHg4MCwgMHg1ZiwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHg1NiwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwKLSAgMHgyNCwgMHhmZSwgMHg2MCwgMHgxOCwgMHgyNCwgMHgwMiwgMHg3MCwgMHg0YSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhiNCwgMHgwMSwgMHgwNCwgMHhkMiwKLSAgMHgwMCwgMHg4MCwgMHgzZiwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHgzNiwgMHg5MCwgMHg3ZiwgMHhlYX19LAotIHsweDA4ODYsIDY0LCB7IDB4ZTAsIDB4NzAsIDB4MjAsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4ZjQsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsCi0gIDB4MDcsIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4NzQsIDB4MDEsIDB4ZjAsCi0gIDB4ODAsIDB4MTAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4MDcsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsCi0gIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4MjIsIDB4ZTUsIDB4MTEsIDB4NTQsIDB4MGYsIDB4NzB9fSwKLSB7MHgwOGM2LCA2NCwgeyAweDAzLCAweDAyLCAweDA5LCAweGIyLCAweDEyLCAweDE2LCAweGE1LCAweGVmLCAweDIwLCAweGUxLCAweDc1LCAweDEyLCAweDE3LCAweDAzLCAweGVmLCAweDE0LCAweGY1LAotICAweDE5LCAweDEyLCAweDE4LCAweGNjLCAweGVmLCAweDI1LCAweDE5LCAweGZmLCAweGU0LCAweDMzLCAweGZlLCAweGMzLCAweGVmLCAweDk0LCAweDgwLCAweGVlLAotICAweDY0LCAweDgwLCAweDk0LCAweDgwLCAweDUwLCAweDU5LCAweDg1LCAweDE1LCAweDgyLCAweDg1LCAweDE0LCAweDgzLCAweGUwLCAweGZlLCAweGEzLCAweGUwLAotICAweGZmLCAweGY1LCAweDgyLCAweDhlLCAweDgzLCAweGUwLCAweDMwLCAweGUwLCAweDExLCAweGU1LCAweDE1LCAweDI0LCAweDMxLCAweGY1LCAweDgyfX0sCi0gezB4MDkwNiwgNjQsIHsgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHg4MCwgMHgwZiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMSwgMHhmNSwgMHg4MiwKLSAgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHg3ZiwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMSwgMHhmNSwgMHg4MiwgMHhlNCwKLSAgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHgyMCwgMHhlMiwgMHgxMiwgMHhlNSwgMHgxOSwgMHg2MCwgMHgwZSwgMHhmNSwgMHgyMywgMHhlZiwgMHgyNCwKLSAgMHgwMSwgMHhmNSwgMHgyZCwgMHhlNCwgMHgzZSwgMHhmNSwgMHgyYywgMHgxMiwgMHgxNCwgMHhhZCwgMHhlNCwgMHhmZiwgMHgxMiwgMHgxNCwgMHhlM319LAotIHsweDA5NDYsIDY0LCB7IDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MzAsIDB4ZTcsIDB4NWQsIDB4MTIsIDB4MTgsCi0gIDB4Y2MsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4M2IsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmUsIDB4ZWYsIDB4YzMsCi0gIDB4OWUsIDB4NTAsIDB4NDgsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4NzQsIDB4MDEsCi0gIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4N2J9fSwKLSB7MHgwOTg2LCA2NCwgeyAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDNhLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGU0LCAweGYwLCAweGU1LCAweDE2LCAweDQyLAotICAweDEzLCAweDkwLCAweDdmLCAweGMyLCAweGUwLCAweDMwLCAweGUxLCAweDEwLCAweGU1LCAweDE1LCAweDI0LCAweDI2LCAweGY1LCAweDgyLCAweGU0LCAweDM1LAotICAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweDI0LCAweDgwLCAweDAzLCAweDEyLCAweDEyLCAweGExLCAweDEyLCAweDE2LCAweGQ0LCAweGVmLCAweDMwLAotICAweGUxLCAweDAzLCAweDAyLCAweDBhLCAweGI3LCAweDEyLCAweDE3LCAweGQyLCAweDhmLCAweDE5LCAweDEyLCAweDE4LCAweGQ4LCAweGU1LCAweDE1fX0sCi0gezB4MDljNiwgNjQsIHsgMHgyNCwgMHgzOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzNSwgMHhmNSwgMHg4MiwKLSAgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHhlNSwgMHgxOSwgMHhjMywgMHg5ZiwgMHg1MCwgMHgyOCwgMHgxMiwgMHgxOCwgMHhiNCwKLSAgMHhlZiwgMHgzMCwgMHhlMCwgMHgyMSwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwKLSAgMHgyMCwgMHhlNywgMHgxMiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMH19LAotIHsweDBhMDYsIDY0LCB7IDB4MjAsIDB4ZTEsIDB4MDMsIDB4MDIsIDB4MGEsIDB4YjcsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsCi0gIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4ZjAsIDB4ZTUsIDB4MTksIDB4NzAsIDB4MDMsIDB4MDIsIDB4MGEsIDB4YjcsIDB4YjQsIDB4ODAsIDB4MGYsIDB4ZTUsIDB4MTUsCi0gIDB4MjQsIDB4MzgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsCi0gIDB4MzgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4MzAsIDB4ZTcsIDB4MjksIDB4ZTUsIDB4MTl9fSwKLSB7MHgwYTQ2LCA2NCwgeyAweGQzLCAweDk0LCAweDIwLCAweDQwLCAweDAzLCAweDc1LCAweDE5LCAweDIwLCAweDg1LCAweDE5LCAweDIzLCAweDg1LCAweDE1LCAweDgyLCAweDg1LCAweDE0LCAweDgzLAotICAweGEzLCAweGEzLCAweGUwLCAweGZjLCAweGEzLCAweGUwLCAweDhjLCAweDJjLCAweGY1LCAweDJkLCAweDEyLCAweDEzLCAweGRkLCAweGU1LCAweDE5LCAweDI1LAotICAweGUwLCAweGZmLCAweDEyLCAweDE1LCAweDE5LCAweDIyLCAweGU1LCAweDE5LCAweGQzLCAweDk0LCAweDNmLCAweDQwLCAweDAzLCAweDc1LCAweDE5LCAweDNmLAotICAweDg1LCAweDE5LCAweDIzLCAweGU1LCAweDE1LCAweDI0LCAweDM4LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwfX0sCi0gezB4MGE4NiwgNjQsIHsgMHhmZiwgMHg4NSwgMHgxNSwgMHg4MiwgMHg4NSwgMHgxNCwgMHg4MywgMHhhMywgMHhhMywgMHhlMCwgMHhmYywgMHhhMywgMHhlMCwgMHhmNSwgMHg4MiwgMHg4YywgMHg4MywKLSAgMHhlZiwgMHhmMCwgMHg4NSwgMHgxNSwgMHg4MiwgMHg4NSwgMHgxNCwgMHg4MywgMHhhMywgMHhhMywgMHhlMCwgMHhmZSwgMHhhMywgMHhlMCwgMHgyNCwgMHgwMSwKLSAgMHhmNSwgMHgyZCwgMHhlNCwgMHgzZSwgMHhmNSwgMHgyYywgMHgxMiwgMHgxNCwgMHg2YywgMHhlNSwgMHgxOSwgMHgwNCwgMHhmZiwgMHgxMiwgMHgxNSwgMHgxOSwKLSAgMHgyMiwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5MywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5YywgMHg3NCwgMHhmMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5Nn19LAotIHsweDBhYzYsIDY0LCB7IDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTQsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NGEsIDB4MDQsIDB4ZjAsIDB4ZjUsIDB4OGUsIDB4OTAsIDB4N2YsIDB4OTUsIDB4NzQsCi0gIDB4YzAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWUsIDB4NzQsIDB4M2YsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MWYsIDB4ZjAsIDB4OTAsIDB4NzgsCi0gIDB4NDMsIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4NzgsIDB4NDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZGYsIDB4NzQsIDB4OWYsIDB4ZjAsIDB4OTAsCi0gIDB4N2YsIDB4ZGUsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTIsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4N2UsIDB4N2IsIDB4N2YsIDB4YzAsIDB4NzV9fSwKLSB7MHgwYjA2LCA2NCwgeyAweDE0LCAweDdiLCAweDc1LCAweDE1LCAweGMwLCAweDkwLCAweDdmLCAweDk2LCAweDc0LCAweGVmLCAweGYwLCAweDc1LCAweDE2LCAweDAxLCAweDEyLCAweDBmLCAweDEyLAotICAweDdlLCAweDdiLCAweDdmLCAweGMwLCAweDc1LCAweDE0LCAweDdiLCAweDc1LCAweDE1LCAweGMwLCAweDkwLCAweDdmLCAweDk2LCAweDc0LCAweGVmLCAweGYwLAotICAweDc1LCAweDE2LCAweDAxLCAweGU1LCAweDE1LCAweDI0LCAweDI2LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGU0LCAweGYwLAotICAweDdlLCAweDdlLCAweDdmLCAweDQwLCAweDg1LCAweDE1LCAweDgyLCAweDg1LCAweDE0LCAweDgzLCAweDc0LCAweDdlLCAweGYwLCAweGEzLCAweDc0fX0sCi0gezB4MGI0NiwgNjQsIHsgMHg0MCwgMHhmMCwgMHg3ZSwgMHg3ZSwgMHg3ZiwgMHg4MCwgMHg4NSwgMHgxNSwgMHg4MiwgMHg4NSwgMHgxNCwgMHg4MywgMHhhMywgMHhhMywgMHg3NCwgMHg3ZSwgMHhmMCwKLSAgMHhhMywgMHg3NCwgMHg4MCwgMHhmMCwgMHg3ZSwgMHg3YywgMHg3ZiwgMHgwMCwgMHg3NSwgMHgxNCwgMHg3YywgMHg3NSwgMHgxNSwgMHgwMCwgMHg5MCwgMHg3ZiwKLSAgMHg5NiwgMHg3NCwgMHhkZiwgMHhmMCwgMHg3NSwgMHgxNiwgMHgwMiwgMHgxMiwgMHgwZiwgMHgxMiwgMHg3ZSwgMHg3YywgMHg3ZiwgMHgwMCwgMHg3NSwgMHgxNCwKLSAgMHg3YywgMHg3NSwgMHgxNSwgMHgwMCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHg3NCwgMHhkZiwgMHhmMCwgMHg3NSwgMHgxNiwgMHgwMiwgMHhlNSwgMHgxNX19LAotIHsweDBiODYsIDY0LCB7IDB4MjQsIDB4MjYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4N2UsIDB4N2QsIDB4N2YsIDB4YzAsIDB4ODUsCi0gIDB4MTUsIDB4ODIsIDB4ODUsIDB4MTQsIDB4ODMsIDB4NzQsIDB4N2QsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4YzAsIDB4ZjAsIDB4N2UsIDB4N2UsIDB4N2YsIDB4MDAsCi0gIDB4ODUsIDB4MTUsIDB4ODIsIDB4ODUsIDB4MTQsIDB4ODMsIDB4YTMsIDB4YTMsIDB4NzQsIDB4N2UsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4MDAsIDB4ZjAsIDB4N2UsCi0gIDB4N2MsIDB4N2YsIDB4NDAsIDB4NzUsIDB4MTQsIDB4N2MsIDB4NzUsIDB4MTUsIDB4NDAsIDB4OTAsIDB4N2YsIDB4OTYsIDB4NzQsIDB4YmYsIDB4ZjB9fSwKLSB7MHgwYmM2LCA2NCwgeyAweDc1LCAweDE2LCAweDA0LCAweDEyLCAweDBmLCAweDEyLCAweDdlLCAweDdjLCAweDdmLCAweDQwLCAweDc1LCAweDE0LCAweDdjLCAweDc1LCAweDE1LCAweDQwLCAweDkwLAotICAweDdmLCAweDk2LCAweDc0LCAweGJmLCAweGYwLCAweDc1LCAweDE2LCAweDA0LCAweGU1LCAweDE1LCAweDI0LCAweDI2LCAweGY1LCAweDgyLCAweGU0LCAweDM1LAotICAweDE0LCAweGY1LCAweDgzLCAweDc0LCAweDAyLCAweGYwLCAweDdlLCAweDdkLCAweDdmLCAweDQwLCAweDg1LCAweDE1LCAweDgyLCAweDg1LCAweDE0LCAweDgzLAotICAweDc0LCAweDdkLCAweGYwLCAweGEzLCAweDc0LCAweDQwLCAweGYwLCAweDdlLCAweDdkLCAweDdmLCAweDgwLCAweDg1LCAweDE1LCAweDgyLCAweDg1fX0sCi0gezB4MGMwNiwgNjQsIHsgMHgxNCwgMHg4MywgMHhhMywgMHhhMywgMHg3NCwgMHg3ZCwgMHhmMCwgMHhhMywgMHg3NCwgMHg4MCwgMHhmMCwgMHg3ZSwgMHg3YywgMHg3ZiwgMHg4MCwgMHg3NSwgMHgxNCwKLSAgMHg3YywgMHg3NSwgMHgxNSwgMHg4MCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHg3NCwgMHg3ZiwgMHhmMCwgMHg3NSwgMHgxNiwgMHgwOCwgMHgxMiwgMHgwZiwgMHgxMiwKLSAgMHg3ZSwgMHg3YywgMHg3ZiwgMHg4MCwgMHg3NSwgMHgxNCwgMHg3YywgMHg3NSwgMHgxNSwgMHg4MCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHg3NCwgMHg3ZiwgMHhmMCwKLSAgMHg3NSwgMHgxNiwgMHgwOCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgyNiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHg3NH19LAotIHsweDBjNDYsIDY0LCB7IDB4MDMsIDB4ZjAsIDB4N2UsIDB4N2MsIDB4N2YsIDB4YzAsIDB4ODUsIDB4MTUsIDB4ODIsIDB4ODUsIDB4MTQsIDB4ODMsIDB4NzQsIDB4N2MsIDB4ZjAsIDB4YTMsIDB4NzQsCi0gIDB4YzAsIDB4ZjAsIDB4N2UsIDB4N2QsIDB4N2YsIDB4MDAsIDB4ODUsIDB4MTUsIDB4ODIsIDB4ODUsIDB4MTQsIDB4ODMsIDB4YTMsIDB4YTMsIDB4NzQsIDB4N2QsCi0gIDB4ZjAsIDB4YTMsIDB4NzQsIDB4MDAsIDB4ZjAsIDB4YzIsIDB4MGEsIDB4YzIsIDB4MDksIDB4ZDIsIDB4MDIsIDB4MjIsIDB4ZTUsIDB4MTAsIDB4MDQsIDB4NTQsCi0gIDB4MDMsIDB4ZjUsIDB4MTAsIDB4MTQsIDB4NjAsIDB4MWYsIDB4MTQsIDB4NjAsIDB4MzEsIDB4MTQsIDB4NjAsIDB4NDMsIDB4MjQsIDB4MDMsIDB4NzB9fSwKLSB7MHgwYzg2LCA2NCwgeyAweDUyLCAweDdlLCAweDdiLCAweDdmLCAweGMwLCAweDc1LCAweDE0LCAweDdiLCAweDc1LCAweDE1LCAweGMwLCAweDkwLCAweDdmLCAweDk2LCAweDc0LCAweGVmLCAweGYwLAotICAweDc1LCAweDE2LCAweDAxLCAweDgwLCAweDNkLCAweDdlLCAweDdjLCAweDdmLCAweDAwLCAweDc1LCAweDE0LCAweDdjLCAweDc1LCAweDE1LCAweDAwLCAweDkwLAotICAweDdmLCAweDk2LCAweDc0LCAweGRmLCAweGYwLCAweDc1LCAweDE2LCAweDAyLCAweDgwLCAweDI4LCAweDdlLCAweDdjLCAweDdmLCAweDQwLCAweDc1LCAweDE0LAotICAweDdjLCAweDc1LCAweDE1LCAweDQwLCAweDkwLCAweDdmLCAweDk2LCAweDc0LCAweGJmLCAweGYwLCAweDc1LCAweDE2LCAweDA0LCAweDgwLCAweDEzfX0sCi0gezB4MGNjNiwgNjQsIHsgMHg3ZSwgMHg3YywgMHg3ZiwgMHg4MCwgMHg3NSwgMHgxNCwgMHg3YywgMHg3NSwgMHgxNSwgMHg4MCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHg3NCwgMHg3ZiwgMHhmMCwgMHg3NSwKLSAgMHgxNiwgMHgwOCwgMHhlNSwgMHgzMiwgMHg1NSwgMHgxNiwgMHg3MCwgMHgwMywgMHgwMiwgMHgwZSwgMHgxMSwgMHhlNSwgMHgxNiwgMHhmNCwgMHhmZiwgMHg1MiwKLSAgMHgzMiwgMHhlNSwgMHgyNiwgMHg1NCwgMHg3ZiwgMHhmZSwgMHg3MCwgMHgwZiwgMHhlNSwgMHgyYSwgMHg1NSwgMHgxNiwgMHg2MCwgMHgyNCwgMHg5MCwgMHg3ZiwKLSAgMHg5OCwgMHhlMCwgMHg0NSwgMHgxNiwgMHhmMCwgMHg4MCwgMHgxYiwgMHhiZSwgMHgyMCwgMHgxOCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMSwgMHhmNX19LAotIHsweDBkMDYsIDY0LCB7IDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MzAsIDB4ZTMsIDB4MDksIDB4ZTQsIDB4ZjUsIDB4MmEsIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZTAsCi0gIDB4NWYsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4M2EsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MDMsCi0gIDB4ZTAsIDB4MTQsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsCi0gIDB4MDMsIDB4ZTAsIDB4MTQsIDB4ZjAsIDB4ZTAsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGUsIDB4MTEsIDB4NzQsIDB4MGEsIDB4ZjAsIDB4MTIsIDB4MDB9fSwKLSB7MHgwZDQ2LCA2NCwgeyAweDM2LCAweGVmLCAweDU0LCAweDAxLCAweGZmLCAweGY1LCAweDE5LCAweGU1LCAweDE1LCAweDI0LCAweDJjLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LAotICAweDgzLCAweGUwLCAweDZmLCAweDYwLCAweDA3LCAweGU1LCAweDE5LCAweGYwLCAweGU1LCAweDE2LCAweDQyLCAweDEzLCAweDEyLCAweDE4LCAweGU0LCAweDhmLAotICAweDE5LCAweGU1LCAweDE1LCAweDI0LCAweDI3LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweGU1LCAweDE5LAotICAweDU0LCAweDEwLCAweGZlLCAweDZmLCAweDYwLCAweDA2LCAweGVlLCAweGYwLCAweGU1LCAweDE2LCAweDQyLCAweDEzLCAweGU1LCAweDE1LCAweDI0fX0sCi0gezB4MGQ4NiwgNjQsIHsgMHgyOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHhlNSwgMHgxOSwgMHg1NCwgMHg4MCwgMHhmZSwgMHg2ZiwgMHg2MCwKLSAgMHgwNiwgMHhlZSwgMHhmMCwgMHhlNSwgMHgxNiwgMHg0MiwgMHgxMywgMHhlNSwgMHgxNSwgMHgyNCwgMHgyOSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwKLSAgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHhlNSwgMHgxOSwgMHg1NCwgMHgyMCwgMHhmZSwgMHg2ZiwgMHg2MCwgMHgxNSwgMHhlZSwgMHhmMCwgMHhlNSwgMHgxNSwKLSAgMHgyNCwgMHgzMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHgzMCwgMHhlNCwgMHgwNCwgMHhlNSwgMHgxNn19LAotIHsweDBkYzYsIDY0LCB7IDB4NDIsIDB4MTMsIDB4ZTUsIDB4MTIsIDB4NTUsIDB4MTYsIDB4ZmYsIDB4ZjUsIDB4MTksIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MmEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsCi0gIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NmYsIDB4NjAsIDB4MTYsIDB4ZTUsIDB4MTksIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjUsIDB4ODIsCi0gIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MzAsIDB4ZTUsIDB4MDQsIDB4ZTUsIDB4MTYsIDB4NDIsIDB4MTMsIDB4ZTUsIDB4MTcsIDB4NTUsCi0gIDB4MTYsIDB4ZmYsIDB4ZjUsIDB4MTksIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzAsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODN9fSwKLSB7MHgwZTA2LCA2NCwgeyAweGUwLCAweDZmLCAweDYwLCAweDA3LCAweGU1LCAweDE5LCAweGYwLCAweGU1LCAweDE2LCAweDQyLCAweDEzLCAweDIyLCAweDMwLCAweDA5LCAweDAzLCAweDAyLCAweDBmLAotICAweDExLCAweGU1LCAweDI0LCAweDE0LCAweDYwLCAweDJhLCAweDE0LCAweDYwLCAweDQxLCAweDE0LCAweDYwLCAweDU4LCAweDE0LCAweDYwLCAweDZmLCAweDI0LAotICAweDA0LCAweDYwLCAweDAzLCAweDAyLCAweDBlLCAweGNmLCAweDdlLCAweDdiLCAweDdmLCAweGMwLCAweDc1LCAweDE0LCAweDdiLCAweDc1LCAweDE1LCAweGMwLAotICAweDkwLCAweDdmLCAweDk2LCAweDc0LCAweGVmLCAweGYwLCAweDc1LCAweDE2LCAweDAxLCAweDEyLCAweDEyLCAweGExLCAweDc1LCAweDI0LCAweDAxfX0sCi0gezB4MGU0NiwgNjQsIHsgMHgyMiwgMHg3ZSwgMHg3YywgMHg3ZiwgMHgwMCwgMHg3NSwgMHgxNCwgMHg3YywgMHg3NSwgMHgxNSwgMHgwMCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHg3NCwgMHhkZiwgMHhmMCwKLSAgMHg3NSwgMHgxNiwgMHgwMiwgMHgxMiwgMHgxMiwgMHhhMSwgMHg3NSwgMHgyNCwgMHgwMiwgMHgyMiwgMHg3ZSwgMHg3YywgMHg3ZiwgMHg0MCwgMHg3NSwgMHgxNCwKLSAgMHg3YywgMHg3NSwgMHgxNSwgMHg0MCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHg3NCwgMHhiZiwgMHhmMCwgMHg3NSwgMHgxNiwgMHgwNCwgMHgxMiwgMHgxMiwgMHhhMSwKLSAgMHg3NSwgMHgyNCwgMHgwMywgMHgyMiwgMHg3ZSwgMHg3YywgMHg3ZiwgMHg4MCwgMHg3NSwgMHgxNCwgMHg3YywgMHg3NSwgMHgxNSwgMHg4MCwgMHg5MH19LAotIHsweDBlODYsIDY0LCB7IDB4N2YsIDB4OTYsIDB4NzQsIDB4N2YsIDB4ZjAsIDB4NzUsIDB4MTYsIDB4MDgsIDB4MTIsIDB4MTIsIDB4YTEsIDB4NzUsIDB4MjQsIDB4MDQsIDB4MjIsIDB4MzAsIDB4MDQsCi0gIDB4MzMsIDB4YzIsIDB4MDQsIDB4NTMsIDB4MTMsIDB4ZGYsIDB4ZTQsIDB4ZjUsIDB4MTksIDB4N2UsIDB4MDAsIDB4N2IsIDB4MDAsIDB4NzQsIDB4MmUsIDB4MjUsCi0gIDB4MTksIDB4ZjksIDB4ZWUsIDB4MzQsIDB4MDAsIDB4ZmEsIDB4MTIsIDB4MTEsIDB4YWIsIDB4ZmYsIDB4NzQsIDB4ODAsIDB4MjUsIDB4MTksIDB4ZjUsIDB4ODIsCi0gIDB4ZTQsIDB4MzQsIDB4N2IsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MDUsIDB4MTksIDB4ZTUsIDB4MTksIDB4YjQsIDB4MDMsIDB4ZGIsIDB4OTB9fSwKLSB7MHgwZWM2LCA2NCwgeyAweDdmLCAweGMzLCAweDc0LCAweDAzLCAweGYwLCAweDc1LCAweDI0LCAweDA1LCAweDIyLCAweGU1LCAweDM2LCAweDYwLCAweDNiLCAweGQ1LCAweDM2LCAweDBhLCAweDUzLAotICAweDEzLCAweGVmLCAweDMwLCAweDBhLCAweDA0LCAweGQyLCAweDA5LCAweGMyLCAweDBhLCAweGU0LCAweGY1LCAweDE5LCAweDdlLCAweDAwLCAweDdiLCAweDAwLAotICAweDc0LCAweDM1LCAweDI1LCAweDE5LCAweGY5LCAweGVlLCAweDM0LCAweDAwLCAweGZhLCAweDEyLCAweDExLCAweGFiLCAweGZmLCAweDc0LCAweDgwLCAweDI1LAotICAweDE5LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdiLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDA1LCAweDE5LCAweGU1LCAweDE5LCAweGI0fX0sCi0gezB4MGYwNiwgNjQsIHsgMHgwMywgMHhkYiwgMHg5MCwgMHg3ZiwgMHhjMywgMHg3NCwgMHgwMywgMHhmMCwgMHhlNCwgMHhmNSwgMHgyNCwgMHgyMiwgMHhlNCwgMHhmNSwgMHgxYSwgMHg3ZSwgMHgwMCwKLSAgMHg3YiwgMHgwMSwgMHhlNSwgMHgxNSwgMHgyNSwgMHgxYSwgMHhmOSwgMHhlZSwgMHgzNSwgMHgxNCwgMHhmYSwgMHhlNCwgMHgxMiwgMHgxMSwgMHhmMSwgMHgwNSwKLSAgMHgxYSwgMHhlNSwgMHgxYSwgMHhiNCwgMHgzYywgMHhlOCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzNSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwKLSAgMHg4MywgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHgwMywgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzNywgMHhmNX19LAotIHsweDBmNDYsIDY0LCB7IDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4N2YsIDB4MGMsIDB4ZTQsIDB4ZmQsCi0gIDB4MTIsIDB4MTYsIDB4NDcsIDB4N2YsIDB4MTAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzMsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsCi0gIDB4ZWYsIDB4ZjAsIDB4MTIsIDB4MTUsIDB4YjcsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4N2YsIDB4MDEsIDB4ZTUsIDB4MTUsIDB4MjQsCi0gIDB4MzYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4NDQsIDB4MDYsIDB4OTAsIDB4YzAsIDB4MDB9fSwKLSB7MHgwZjg2LCA2NCwgeyAweGYwLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweDA0LCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDM5LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LAotICAweDgzLCAweDc0LCAweDgwLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDBmLCAweGU0LCAweGZkLCAweDEyLCAweDE2LCAweDQ3LCAweGU0LCAweGZmLAotICAweDdlLCAweGEzLCAweGU1LCAweDE1LCAweDI0LCAweDMyLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGVlLCAweGYwLCAweGZkLAotICAweDEyLCAweDE2LCAweDQ3LCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU0LCAweGYwLCAweDdmfX0sCi0gezB4MGZjNiwgNjQsIHsgMHgwNSwgMHg3ZCwgMHg3ZiwgMHgxMiwgMHgxNiwgMHg0NywgMHg3ZiwgMHgwMSwgMHgxMiwgMHgxNSwgMHg0ZiwgMHg3ZiwgMHgwMywgMHg3ZCwgMHgwNywgMHgxMiwgMHgxNiwKLSAgMHg0NywgMHgyMiwgMHg1MywgMHgxMywgMHgzZiwgMHg5MCwgMHg3YiwgMHhmMSwgMHhlMCwgMHgzMCwgMHhlMywgMHgxNiwgMHg3ZSwgMHg3YiwgMHg3ZiwgMHhjMCwKLSAgMHg3NSwgMHgxNCwgMHg3YiwgMHg3NSwgMHgxNSwgMHhjMCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHg3NCwgMHhlZiwgMHhmMCwgMHg3NSwgMHgxNiwgMHgwMSwgMHgxMiwKLSAgMHgwOCwgMHhjMSwgMHg5MCwgMHg3YywgMHgzMSwgMHhlMCwgMHgzMCwgMHhlMywgMHgxNiwgMHg3ZSwgMHg3YywgMHg3ZiwgMHgwMCwgMHg3NSwgMHgxNH19LAotIHsweDEwMDYsIDY0LCB7IDB4N2MsIDB4NzUsIDB4MTUsIDB4MDAsIDB4OTAsIDB4N2YsIDB4OTYsIDB4NzQsIDB4ZGYsIDB4ZjAsIDB4NzUsIDB4MTYsIDB4MDIsIDB4MTIsIDB4MDgsIDB4YzEsIDB4OTAsCi0gIDB4N2MsIDB4NzEsIDB4ZTAsIDB4MzAsIDB4ZTMsIDB4MTYsIDB4N2UsIDB4N2MsIDB4N2YsIDB4NDAsIDB4NzUsIDB4MTQsIDB4N2MsIDB4NzUsIDB4MTUsIDB4NDAsCi0gIDB4OTAsIDB4N2YsIDB4OTYsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4NzUsIDB4MTYsIDB4MDQsIDB4MTIsIDB4MDgsIDB4YzEsIDB4OTAsIDB4N2MsIDB4YjEsIDB4ZTAsCi0gIDB4MzAsIDB4ZTMsIDB4MTYsIDB4N2UsIDB4N2MsIDB4N2YsIDB4ODAsIDB4NzUsIDB4MTQsIDB4N2MsIDB4NzUsIDB4MTUsIDB4ODAsIDB4OTAsIDB4N2Z9fSwKLSB7MHgxMDQ2LCA2NCwgeyAweDk2LCAweDc0LCAweDdmLCAweGYwLCAweDc1LCAweDE2LCAweDA4LCAweDEyLCAweDA4LCAweGMxLCAweDA1LCAweDExLCAweGU1LCAweDExLCAweDU0LCAweDBmLCAweGY1LAotICAweDE4LCAweDcwLCAweDFmLCAweDkwLCAweDc4LCAweDQxLCAweGUwLCAweDU0LCAweGY3LCAweGYwLCAweDkwLCAweDdmLCAweDk5LCAweGUwLCAweGY1LCAweDE3LAotICAweDkwLCAweDc4LCAweDQxLCAweGUwLCAweDQ0LCAweDA4LCAweGYwLCAweDkwLCAweDdmLCAweDk5LCAweGUwLCAweGY0LCAweGY1LCAweDEyLCAweDEyLCAweDExLAotICAweDIxLCAweDIyLCAweGU1LCAweDE4LCAweGI0LCAweDAxLCAweDA0LCAweDEyLCAweDBjLCAweDczLCAweDIyLCAweDkwLCAweDdmLCAweGMyLCAweGUwfX0sCi0gezB4MTA4NiwgNjQsIHsgMHgyMCwgMHhlMSwgMHgwOCwgMHhlNSwgMHgxMywgMHg2MCwgMHgwNCwgMHgxMiwgMHgwZSwgMHgxMiwgMHgyMiwgMHgxMiwgMHgwYywgMHg3MywgMHgyMiwgMHg3OCwgMHg3ZiwKLSAgMHhlNCwgMHhmNiwgMHhkOCwgMHhmZCwgMHg3NSwgMHg4MSwgMHgzNywgMHgwMiwgMHgxMCwgMHhkYywgMHgwMiwgMHgxMiwgMHgyOSwgMHhlNCwgMHg5MywgMHhhMywKLSAgMHhmOCwgMHhlNCwgMHg5MywgMHhhMywgMHg0MCwgMHgwMywgMHhmNiwgMHg4MCwgMHgwMSwgMHhmMiwgMHgwOCwgMHhkZiwgMHhmNCwgMHg4MCwgMHgyOSwgMHhlNCwKLSAgMHg5MywgMHhhMywgMHhmOCwgMHg1NCwgMHgwNywgMHgyNCwgMHgwYywgMHhjOCwgMHhjMywgMHgzMywgMHhjNCwgMHg1NCwgMHgwZiwgMHg0NCwgMHgyMH19LAotIHsweDEwYzYsIDY0LCB7IDB4YzgsIDB4ODMsIDB4NDAsIDB4MDQsIDB4ZjQsIDB4NTYsIDB4ODAsIDB4MDEsIDB4NDYsIDB4ZjYsIDB4ZGYsIDB4ZTQsIDB4ODAsIDB4MGIsIDB4MDEsIDB4MDIsIDB4MDQsCi0gIDB4MDgsIDB4MTAsIDB4MjAsIDB4NDAsIDB4ODAsIDB4OTAsIDB4MTgsIDB4NTAsIDB4ZTQsIDB4N2UsIDB4MDEsIDB4OTMsIDB4NjAsIDB4YmMsIDB4YTMsIDB4ZmYsCi0gIDB4NTQsIDB4M2YsIDB4MzAsIDB4ZTUsIDB4MDksIDB4NTQsIDB4MWYsIDB4ZmUsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4NjAsIDB4MDEsIDB4MGUsIDB4Y2YsIDB4NTQsCi0gIDB4YzAsIDB4MjUsIDB4ZTAsIDB4NjAsIDB4YTgsIDB4NDAsIDB4YjgsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZmEsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4Zjh9fSwKLSB7MHgxMTA2LCA2NCwgeyAweGU0LCAweDkzLCAweGEzLCAweGM4LCAweGM1LCAweDgyLCAweGM4LCAweGNhLCAweGM1LCAweDgzLCAweGNhLCAweGYwLCAweGEzLCAweGM4LCAweGM1LCAweDgyLCAweGM4LAotICAweGNhLCAweGM1LCAweDgzLCAweGNhLCAweGRmLCAweGU5LCAweGRlLCAweGU3LCAweDgwLCAweGJlLCAweDkwLCAweDdmLCAweGQyLCAweGUwLCAweDMwLCAweGUxLAotICAweDAzLCAweDAyLCAweDExLCAweGFhLCAweGMyLCAweDA5LCAweDkwLCAweDdiLCAweDQwLCAweGUwLCAweDE0LCAweDYwLCAweDI2LCAweDE0LCAweDYwLCAweDNiLAotICAweDE0LCAweDYwLCAweDUwLCAweDI0LCAweDgzLCAweDYwLCAweDY0LCAweDI0LCAweDgwLCAweDcwLCAweDYzLCAweDdlLCAweDdiLCAweDdmLCAweGMwfX0sCi0gezB4MTE0NiwgNjQsIHsgMHg3NSwgMHgxNCwgMHg3YiwgMHg3NSwgMHgxNSwgMHhjMCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHg3NCwgMHhlZiwgMHhmMCwgMHg3NSwgMHgxNiwgMHgwMSwgMHgxMiwgMHgwMCwKLSAgMHg0NiwgMHg4MCwgMHg0YiwgMHg3ZSwgMHg3YywgMHg3ZiwgMHgwMCwgMHg3NSwgMHgxNCwgMHg3YywgMHg3NSwgMHgxNSwgMHgwMCwgMHg5MCwgMHg3ZiwgMHg5NiwKLSAgMHg3NCwgMHhkZiwgMHhmMCwgMHg3NSwgMHgxNiwgMHgwMiwgMHgxMiwgMHgwMCwgMHg0NiwgMHg4MCwgMHgzMywgMHg3ZSwgMHg3YywgMHg3ZiwgMHg0MCwgMHg3NSwKLSAgMHgxNCwgMHg3YywgMHg3NSwgMHgxNSwgMHg0MCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHg3NCwgMHhiZiwgMHhmMCwgMHg3NSwgMHgxNiwgMHgwNCwgMHgxMn19LAotIHsweDExODYsIDY0LCB7IDB4MDAsIDB4NDYsIDB4ODAsIDB4MWIsIDB4N2UsIDB4N2MsIDB4N2YsIDB4ODAsIDB4NzUsIDB4MTQsIDB4N2MsIDB4NzUsIDB4MTUsIDB4ODAsIDB4OTAsIDB4N2YsIDB4OTYsCi0gIDB4NzQsIDB4N2YsIDB4ZjAsIDB4NzUsIDB4MTYsIDB4MDgsIDB4MTIsIDB4MDAsIDB4NDYsIDB4ODAsIDB4MDMsIDB4MTIsIDB4MTcsIDB4NWMsIDB4ZTQsIDB4OTAsCi0gIDB4N2YsIDB4ZDMsIDB4ZjAsIDB4MjIsIDB4YmIsIDB4MDEsIDB4MDYsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTAsIDB4MjIsIDB4NTAsIDB4MDIsIDB4ZTcsCi0gIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDIsIDB4ZTMsIDB4MjIsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTQsIDB4OTMsIDB4MjIsIDB4YmIsIDB4MDF9fSwKLSB7MHgxMWM2LCA2NCwgeyAweDBjLCAweGU1LCAweDgyLCAweDI5LCAweGY1LCAweDgyLCAweGU1LCAweDgzLCAweDNhLCAweGY1LCAweDgzLCAweGUwLCAweDIyLCAweDUwLCAweDA2LCAweGU5LCAweDI1LAotICAweDgyLCAweGY4LCAweGU2LCAweDIyLCAweGJiLCAweGZlLCAweDA2LCAweGU5LCAweDI1LCAweDgyLCAweGY4LCAweGUyLCAweDIyLCAweGU1LCAweDgyLCAweDI5LAotICAweGY1LCAweDgyLCAweGU1LCAweDgzLCAweDNhLCAweGY1LCAweDgzLCAweGU0LCAweDkzLCAweDIyLCAweGJiLCAweDAxLCAweDA2LCAweDg5LCAweDgyLCAweDhhLAotICAweDgzLCAweGYwLCAweDIyLCAweDUwLCAweDAyLCAweGY3LCAweDIyLCAweGJiLCAweGZlLCAweDAxLCAweGYzLCAweDIyLCAweGQwLCAweDgzLCAweGQwfX0sCi0gezB4MTIwNiwgNjQsIHsgMHg4MiwgMHhmOCwgMHhlNCwgMHg5MywgMHg3MCwgMHgxMiwgMHg3NCwgMHgwMSwgMHg5MywgMHg3MCwgMHgwZCwgMHhhMywgMHhhMywgMHg5MywgMHhmOCwgMHg3NCwgMHgwMSwKLSAgMHg5MywgMHhmNSwgMHg4MiwgMHg4OCwgMHg4MywgMHhlNCwgMHg3MywgMHg3NCwgMHgwMiwgMHg5MywgMHg2OCwgMHg2MCwgMHhlZiwgMHhhMywgMHhhMywgMHhhMywKLSAgMHg4MCwgMHhkZiwgMHg5MCwgMHg3ZiwgMHhhZSwgMHhlMCwgMHhmZiwgMHhkMywgMHg5MiwgMHgwMCwgMHhlNCwgMHgzMywgMHhmZSwgMHhlZiwgMHg0ZSwgMHhmMCwKLSAgMHhkMiwgMHhlOCwgMHg0MywgMHhkOCwgMHgyMCwgMHg5MCwgMHg3ZiwgMHhkZSwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkZiwgMHhmMH19LAotIHsweDEyNDYsIDY0LCB7IDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YTksIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWEsIDB4ZjAsIDB4NTMsIDB4OTEsIDB4ZWYsCi0gIDB4OTAsIDB4N2YsIDB4YWYsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWUsIDB4NzQsIDB4MGQsIDB4ZjAsIDB4ZDIsIDB4YWYsIDB4ZDIsIDB4MGIsCi0gIDB4MTIsIDB4MTgsIDB4MTQsIDB4YzIsIDB4MDEsIDB4ZTQsIDB4ZjUsIDB4MmIsIDB4ZjUsIDB4MzEsIDB4YzIsIDB4MDcsIDB4YzIsIDB4MDIsIDB4NzUsIDB4MjksCi0gIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZDgsIDB4ZTAsIDB4NjUsIDB4MjYsIDB4NjAsIDB4MDYsIDB4NzUsIDB4MzIsIDB4MGYsIDB4ZTAsIDB4ZjUsIDB4MjZ9fSwKLSB7MHgxMjg2LCA2NCwgeyAweDMwLCAweDAyLCAweDAzLCAweDEyLCAweDBmLCAweGQ5LCAweDMwLCAweDAxLCAweDA3LCAweGMyLCAweDAxLCAweDEyLCAweDA2LCAweDI5LCAweDgwLCAweGUyLCAweDMwLAotICAweDA4LCAweGRmLCAweGMyLCAweDA4LCAweDEyLCAweDE4LCAweDM1LCAweDgwLCAweGQ4LCAweDIyLCAweGU1LCAweDEzLCAweDU1LCAweDE2LCAweDYwLCAweDZhLAotICAweGU1LCAweDE1LCAweDI0LCAweDNhLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDcwLCAweDVjLCAweGU1LCAweDE2LAotICAweGY0LCAweDUyLCAweDEzLCAweGU1LCAweDE1LCAweDI0LCAweDI2LCAweGZmLCAweGU0LCAweDM1LCAweDE0LCAweGZlLCAweGU0LCAweGZkLCAweDBmfX0sCi0gezB4MTJjNiwgNjQsIHsgMHhlZiwgMHhhYSwgMHgwNiwgMHg3MCwgMHgwMSwgMHgwZSwgMHgxNCwgMHhmNSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlMCwgMHhmYywgMHg3NCwgMHg4MCwgMHgyZCwgMHhmNSwKLSAgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwgMHg4MywgMHhlYywgMHhmMCwgMHgwZCwgMHhiZCwgMHgwYiwgMHhlMiwgMHg5MCwgMHg3ZiwgMHhjMywgMHg3NCwKLSAgMHgwYiwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzYSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHg3NCwgMHgxMCwgMHhmMCwKLSAgMHhlNSwgMHgxNSwgMHgyNCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlNCwgMHhmMCwgMHhlNSwgMHgxNX19LAotIHsweDEzMDYsIDY0LCB7IDB4MjQsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4MjIsIDB4ZTUsIDB4MjgsIDB4NDUsIDB4MjcsIDB4NjAsCi0gIDB4NTcsIDB4YWUsIDB4MjcsIDB4YWYsIDB4MjgsIDB4ZDMsIDB4ZWYsIDB4OTQsIDB4NDAsIDB4ZWUsIDB4OTQsIDB4MDAsIDB4NDAsIDB4MDQsIDB4N2UsIDB4MDAsCi0gIDB4N2YsIDB4NDAsIDB4YzMsIDB4ZTUsIDB4MjgsIDB4OWYsIDB4ZjUsIDB4MjgsIDB4ZTUsIDB4MjcsIDB4OWUsIDB4ZjUsIDB4MjcsIDB4ZTQsIDB4ZmQsIDB4ZWQsCi0gIDB4YzMsIDB4OWYsIDB4ZTQsIDB4OWUsIDB4NTAsIDB4MWYsIDB4ODUsIDB4MzQsIDB4ODIsIDB4ODUsIDB4MzMsIDB4ODMsIDB4ZTAsIDB4ZmMsIDB4NzR9fSwKLSB7MHgxMzQ2LCA2NCwgeyAweDAwLCAweDJkLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweGVjLCAweGYwLCAweDBkLCAweDA1LCAweDM0LCAweGU1LCAweDM0LCAweDcwLAotICAweDAyLCAweDA1LCAweDMzLCAweDgwLCAweGRhLCAweDkwLCAweDdmLCAweGE5LCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGFjLCAweGUwLCAweDQ0LAotICAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweGVmLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweGFjLCAweGUwLCAweDU0LCAweGZlLCAweGYwLCAweGU0LAotICAweDkwLCAweDdmLCAweGI1LCAweGYwLCAweDIyLCAweGU0LCAweDkwLCAweDdmLCAweDkzLCAweGYwLCAweDkwLCAweDdmLCAweDljLCAweDc0LCAweGYwfX0sCi0gezB4MTM4NiwgNjQsIHsgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3OCwgMHg0YSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZCwKLSAgMHg3NCwgMHhmZiwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5NywgMHhmMCwgMHgzMCwgMHgwMCwgMHgwNywgMHhlNSwgMHgyOSwgMHg1NCwgMHhmMCwgMHhmZiwKLSAgMHg4MCwgMHgwMiwgMHg3ZiwgMHgwMCwgMHhlZiwgMHg0NCwgMHgwOCwgMHg5MCwgMHg3OCwgMHg0MSwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHhmMCwKLSAgMHg5MCwgMHg3ZiwgMHg5NSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZSwgMHg3NCwgMHhmZiwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHhmMH19LAotIHsweDEzYzYsIDY0LCB7IDB4OTAsIDB4N2YsIDB4OTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWMsIDB4NzQsIDB4ZjAsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZjAsIDB4OTAsIDB4N2YsCi0gIDB4OTIsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4ZjAsIDB4MjIsIDB4OGYsIDB4MWEsIDB4MDUsIDB4MmQsIDB4ZTUsIDB4MmQsIDB4YWUsIDB4MmMsIDB4NzAsIDB4MDIsCi0gIDB4MDUsIDB4MmMsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGUsIDB4ODMsIDB4ZTUsIDB4MWEsIDB4ZjAsIDB4MTIsIDB4MTgsIDB4ZjAsIDB4MDUsIDB4MmQsIDB4ZTUsCi0gIDB4MmQsIDB4YWMsIDB4MmMsIDB4NzAsIDB4MDIsIDB4MDUsIDB4MmMsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MTV9fSwKLSB7MHgxNDA2LCA2NCwgeyAweDIzLCAweGU1LCAweDIzLCAweDYwLCAweDFmLCAweGU1LCAweDE1LCAweDI0LCAweDM4LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGMwLAotICAweDgzLCAweGMwLCAweDgyLCAweGUwLCAweGZlLCAweDEyLCAweDE4LCAweGQ4LCAweDhmLCAweDFhLCAweGVlLCAweDRmLCAweGQwLCAweDgyLCAweGQwLCAweDgzLAotICAweGYwLCAweDgwLCAweGI1LCAweDIyLCAweDhmLCAweDFhLCAweGU0LCAweGY1LCAweDFiLCAweDc1LCAweDFjLCAweGZmLCAweDc1LCAweDFkLCAweDE5LCAweDc1LAotICAweDFlLCAweDg2LCAweGFiLCAweDFjLCAweGFhLCAweDFkLCAweGE5LCAweDFlLCAweDkwLCAweDAwLCAweDAxLCAweDEyLCAweDExLCAweGM0LCAweGI0fX0sCi0gezB4MTQ0NiwgNjQsIHsgMHgwMywgMHgxZCwgMHhhZiwgMHgxYiwgMHgwNSwgMHgxYiwgMHhlZiwgMHhiNSwgMHgxYSwgMHgwMSwgMHgyMiwgMHgxMiwgMHgxMSwgMHhhYiwgMHg3ZSwgMHgwMCwgMHgyOSwKLSAgMHhmZiwgMHhlZSwgMHgzYSwgMHhhOSwgMHgwNywgMHg3NSwgMHgxYywgMHhmZiwgMHhmNSwgMHgxZCwgMHg4OSwgMHgxZSwgMHg4MCwgMHhkNCwgMHg3YiwgMHgwMCwKLSAgMHg3YSwgMHgwMCwgMHg3OSwgMHgwMCwgMHgyMiwgMHhlNCwgMHg5MCwgMHg3OCwgMHg0MSwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0ZiwgMHg3NCwgMHhjMCwgMHhmMCwKLSAgMHhlNCwgMHg5MCwgMHg3OCwgMHg1MCwgMHhmMCwgMHhlNSwgMHgyYywgMHg5MCwgMHg3OCwgMHg1MSwgMHhmMCwgMHhhZSwgMHgyYywgMHhlNSwgMHgyZH19LAotIHsweDE0ODYsIDY0LCB7IDB4OTAsIDB4NzgsIDB4NTIsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NTQsIDB4ZTUsIDB4MjMsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NTcsIDB4NzQsIDB4MDQsIDB4ZjAsIDB4OTAsCi0gIDB4N2YsIDB4ZTIsIDB4ZTAsIDB4NDQsIDB4MTAsIDB4ZjAsIDB4ZTAsIDB4NTQsIDB4ZjcsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4NzgsIDB4NTUsIDB4ZjAsIDB4OTAsCi0gIDB4NzgsIDB4NTUsIDB4ZTAsIDB4NjAsIDB4ZmEsIDB4MjIsIDB4ZTQsIDB4OTAsIDB4NzgsIDB4NDEsIDB4ZjAsIDB4ZTUsIDB4MmMsIDB4OTAsIDB4NzgsIDB4NGYsCi0gIDB4ZjAsIDB4YWUsIDB4MmMsIDB4ZTUsIDB4MmQsIDB4OTAsIDB4NzgsIDB4NTAsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NTEsIDB4NzQsIDB4YzAsIDB4ZjB9fSwKLSB7MHgxNGM2LCA2NCwgeyAweGU0LCAweDkwLCAweDc4LCAweDUyLCAweGYwLCAweDkwLCAweDc4LCAweDU0LCAweGU1LCAweDIzLCAweGYwLCAweDkwLCAweDc4LCAweDU3LCAweDc0LCAweDA0LCAweGYwLAotICAweGU0LCAweDkwLCAweDc4LCAweDU1LCAweGYwLCAweDkwLCAweDc4LCAweDU1LCAweGUwLCAweDYwLCAweGZhLCAweDIyLCAweGU1LCAweDE1LCAweDI0LCAweDA0LAotICAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDE0LCAweDYwLCAweDBmLCAweDE0LCAweDYwLCAweDEzLCAweDE0LCAweDYwLAotICAweDE3LCAweDgwLCAweDAwLCAweDkwLCAweDdmLCAweGM3LCAweGVmLCAweGYwLCAweDgwLCAweDEzLCAweDkwLCAweDdmLCAweGM5LCAweGVmLCAweGYwfX0sCi0gezB4MTUwNiwgNjQsIHsgMHg4MCwgMHgwYywgMHg5MCwgMHg3ZiwgMHhjYiwgMHhlZiwgMHhmMCwgMHg4MCwgMHgwNSwgMHg5MCwgMHg3ZiwgMHhjZCwgMHhlZiwgMHhmMCwgMHhlNSwgMHgxNiwgMHg0MiwKLSAgMHgyYSwgMHgyMiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgwNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHgxNCwgMHg2MCwKLSAgMHgwZiwgMHgxNCwgMHg2MCwgMHgxMywgMHgxNCwgMHg2MCwgMHgxNywgMHg4MCwgMHgwMCwgMHg5MCwgMHg3ZiwgMHhiNywgMHhlZiwgMHhmMCwgMHg4MCwgMHgxMywKLSAgMHg5MCwgMHg3ZiwgMHhiOSwgMHhlZiwgMHhmMCwgMHg4MCwgMHgwYywgMHg5MCwgMHg3ZiwgMHhiYiwgMHhlZiwgMHhmMCwgMHg4MCwgMHgwNSwgMHg5MH19LAotIHsweDE1NDYsIDY0LCB7IDB4N2YsIDB4YmQsIDB4ZWYsIDB4ZjAsIDB4ZTUsIDB4MTYsIDB4NDIsIDB4MmEsIDB4MjIsIDB4YWUsIDB4MDcsIDB4ZTQsIDB4ZmYsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzIsCi0gIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4ZmQsIDB4MTIsIDB4MTYsIDB4NDcsIDB4OTAsIDB4NzgsCi0gIDB4NDEsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWUsIDB4ZjAsIDB4ZTQsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzIsIDB4ZjUsIDB4ODIsCi0gIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZmQsIDB4MTIsIDB4MTYsIDB4NDcsIDB4MjIsIDB4YzAsIDB4ZTB9fSwKLSB7MHgxNTg2LCA2NCwgeyAweGMwLCAweGYwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweGMwLCAweGQwLAotICAweDc1LCAweGQwLCAweDA4LCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGE5LCAweDc0LCAweDAxLCAweGYwLCAweDEyLCAweDEzLCAweDEyLCAweGQwLAotICAweGQwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGYwLCAweGQwLCAweGUwLCAweDMyLAotICAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweDAzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDc4LCAweDQxfX0sCi0gezB4MTVjNiwgNjQsIHsgMHg3NCwgMHgwMiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHgwMywgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwKLSAgMHgzNywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwKLSAgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHgwMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwKLSAgMHgwNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHgwMywgMHhmMCwgMHhlNSwgMHgxNX19LAotIHsweDE2MDYsIDY0LCB7IDB4MjQsIDB4MzcsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsCi0gIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsCi0gIDB4MDYsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsCi0gIDB4MzcsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjB9fSwKLSB7MHgxNjQ2LCA2NCwgeyAweDIyLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweDAzLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDM3LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LAotICAweDgzLCAweGUwLCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweDA3LCAweGYwLCAweDkwLCAweGMwLAotICAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweDA1LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVkLCAweGYwLCAweDIyLCAweDkwLAotICAweDc4LCAweDQxLCAweDc0LCAweDAzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweGU0LCAweDkwLCAweDc4LCAweDQxfX0sCi0gezB4MTY4NiwgNjQsIHsgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHgwMywgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzNywgMHhmNSwKLSAgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHhlNSwgMHgxNSwKLSAgMHgyNCwgMHgwNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHgxNCwgMHg2MCwgMHgwZSwgMHgxNCwgMHg2MCwgMHgxMSwKLSAgMHgxNCwgMHg2MCwgMHgxNCwgMHg4MCwgMHgwMCwgMHg5MCwgMHg3ZiwgMHhjNiwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhjOCwgMHhlMH19LAotIHsweDE2YzYsIDY0LCB7IDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4Y2EsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4Y2MsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4ZTUsIDB4MTUsIDB4MjQsCi0gIDB4MDQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTQsIDB4NjAsIDB4MGUsIDB4MTQsIDB4NjAsIDB4MTEsIDB4MTQsCi0gIDB4NjAsIDB4MTQsIDB4ODAsIDB4MDAsIDB4OTAsIDB4N2YsIDB4YjYsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4YjgsIDB4ZTAsIDB4ZmYsIDB4MjIsCi0gIDB4OTAsIDB4N2YsIDB4YmEsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4YmMsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4ZTUsIDB4MTUsIDB4MjR9fSwKLSB7MHgxNzA2LCA2NCwgeyAweDA0LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDE0LCAweDYwLCAweDBlLCAweDE0LCAweDYwLCAweDExLCAweDE0LCAweDYwLAotICAweDE0LCAweDgwLCAweDAwLCAweDkwLCAweDdmLCAweGM3LCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweGM5LCAweGUwLCAweGZmLCAweDIyLCAweDkwLAotICAweDdmLCAweGNiLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweGNkLCAweGUwLCAweGZmLCAweDIyLCAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLAotICAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweDkwLCAweDdmLCAweGM0LCAweGU0LCAweGYwfX0sCi0gezB4MTc0NiwgNjQsIHsgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwNCwgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwKLSAgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwgMHg5MCwgMHg3YiwgMHg0MSwgMHhlMCwgMHhmNSwgMHgzNiwgMHg0MywgMHgxMywgMHgxMCwgMHhhMywgMHhlMCwKLSAgMHg2MCwgMHgwOSwgMHg5MCwgMHg3ZiwgMHhkNywgMHg3NCwgMHgxNywgMHhmMCwgMHg3NCwgMHgzNywgMHhmMCwgMHg5MCwgMHg3YiwgMHg0MywgMHhlMCwgMHhmNSwKLSAgMHgzNywgMHhhMywgMHhlMCwgMHg1NCwgMHhmMCwgMHhmNSwgMHgyOSwgMHhlMCwgMHg2MCwgMHgwMiwgMHhkMiwgMHgwYSwgMHgyMiwgMHhjMCwgMHhlMH19LAotIHsweDE3ODYsIDY0LCB7IDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4ZDIsIDB4MDEsIDB4NTMsIDB4OTEsCi0gIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsCi0gIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsCi0gIDB4NzUsIDB4ODYsIDB4MDAsIDB4ZDIsIDB4MDgsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDgsIDB4ZjAsIDB4ZDB9fSwKLSB7MHgxN2M2LCA2NCwgeyAweDg2LCAweGQwLCAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyLCAweDEyLCAweDE4LCAweGMwLCAweGFlLCAweDA3LAotICAweDEyLCAweDE4LCAweGMwLCAweGFkLCAweDA3LCAweGVlLCAweDZkLCAweDYwLCAweDEwLCAweDEyLCAweDE4LCAweGMwLCAweGFlLCAweDA3LCAweGVlLCAweDZkLAotICAweDYwLCAweDA3LCAweDEyLCAweDE4LCAweGMwLCAweGFkLCAweDA3LCAweDgwLCAweGVjLCAweGFmLCAweDA2LCAweDIyLCAweDc0LCAweDAwLCAweGY1LCAweDg2LAotICAweDkwLCAweGZkLCAweGE1LCAweDdjLCAweDA1LCAweGEzLCAweGU1LCAweDgyLCAweDQ1LCAweDgzLCAweDcwLCAweGY5LCAweDIyLCAweDkwLCAweDdmfX0sCi0gezB4MTgwNiwgNjQsIHsgMHhkNiwgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHg0MywgMHg4NywgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhkNiwKLSAgMHhlMCwgMHg0NCwgMHgwNCwgMHhmMCwgMHhlMCwgMHg0NCwgMHgwOCwgMHhmMCwgMHgzMCwgMHgwYiwgMHgwNCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHg3ZiwKLSAgMHhmNCwgMHg3ZSwgMHgwMSwgMHgxMiwgMHgxOCwgMHg2YiwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg1NCwgMHhmNywgMHhmMCwgMHgyMiwgMHgxMiwgMHgxMywKLSAgMHg3YywgMHgxMiwgMHgxOCwgMHgwNCwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHgzMCwgMHhlNywgMHgwYSwgMHg3ZiwgMHgwNSwgMHg3ZSwgMHgwMH19LAotIHsweDE4NDYsIDY0LCB7IDB4MTIsIDB4MTgsIDB4NmIsIDB4MTIsIDB4MTgsIDB4OWUsIDB4MTIsIDB4MGEsIDB4YjgsIDB4MjIsIDB4MDMsIDB4MzUsIDB4ODAsIDB4MDAsIDB4MDAsIDB4MDMsIDB4MmUsCi0gIDB4ODEsIDB4MDAsIDB4MDAsIDB4YzEsIDB4ODUsIDB4YzEsIDB4ODEsIDB4YzEsIDB4MDgsIDB4YzEsIDB4MDAsIDB4YzEsIDB4MDYsIDB4MDEsIDB4MjIsIDB4MDAsCi0gIDB4MDEsIDB4MjQsIDB4MDAsIDB4MDAsIDB4OGUsIDB4MTgsIDB4OGYsIDB4MTksIDB4ZTUsIDB4MTksIDB4MTUsIDB4MTksIDB4YWUsIDB4MTgsIDB4NzAsIDB4MDIsCi0gIDB4MTUsIDB4MTgsIDB4NGUsIDB4NjAsIDB4MDgsIDB4MTIsIDB4MTcsIDB4ZjMsIDB4MTIsIDB4MTcsIDB4ZjMsIDB4ODAsIDB4ZWIsIDB4MjIsIDB4ZTV9fSwKLSB7MHgxODg2LCA2NCwgeyAweDE1LCAweDI0LCAweDA0LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDA0LCAweGZmLCAweDQ0LCAweDEwLCAweDkwLCAweDdmLAotICAweGQ3LCAweGYwLCAweGVmLCAweDQ0LCAweDMwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDdmLCAweDBkLAotICAweDdlLCAweDAwLCAweDEyLCAweDE4LCAweDZiLCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDU0LCAweGZlLCAweGYwLCAweDIyLCAweDkwLCAweDc4LCAweDQxLAotICAweDc0LCAweDAyLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweDAzLCAweGYwfX0sCi0gezB4MThjNiwgNjQsIHsgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHgwNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwKLSAgMHgyMiwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHgwNSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3OCwgMHg0MSwKLSAgMHg3NCwgMHgwNiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHhlNCwgMHg5MCwgMHg3OCwgMHg0MSwgMHhmMCwgMHg5MCwgMHhjMCwKLSAgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg1MywgMHhkOCwgMHhlZiwgMHgzMiwgMHgwMCwgMHgxMiwgMHgwMSwgMHgxMCwgMHgwMSwgMHhmZiwgMHgwMH19LAotIHsweDE5MDYsIDY0LCB7IDB4MDAsIDB4NDAsIDB4Y2QsIDB4MDYsIDB4MGEsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MDIsIDB4MDAsIDB4MDQsIDB4MDksIDB4MDIsIDB4NzQsIDB4MDAsIDB4MDEsCi0gIDB4MDEsIDB4MDAsIDB4YTAsIDB4MzIsIDB4MDksIDB4MDQsIDB4MDAsIDB4MDAsIDB4MGUsIDB4ZmYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDEsCi0gIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDIsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDMsIDB4MDIsIDB4NDAsCi0gIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDQsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDUsIDB4MDIsIDB4NDAsIDB4MDB9fSwKLSB7MHgxOTQ2LCA2NCwgeyAweDAwLCAweDA3LCAweDA1LCAweDA2LCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDA3LCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LAotICAweDgxLCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDgyLCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDgzLCAweDAyLAotICAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDg0LCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDg1LCAweDAyLCAweDQwLCAweDAwLAotICAweDAxLCAweDA3LCAweDA1LCAweDg2LCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDg3LCAweDAyLCAweDQwLCAweDAwLCAweDAxfX0sCi0gezB4MTk4NiwgNjQsIHsgMHgwNCwgMHgwMywgMHgwOSwgMHgwNCwgMHg0OCwgMHgwMywgMHg0YiwgMHgwMCwgMHg2NSwgMHgwMCwgMHg3OSwgMHgwMCwgMHg3MywgMHgwMCwgMHg3MCwgMHgwMCwgMHg2MSwKLSAgMHgwMCwgMHg2ZSwgMHgwMCwgMHgyYywgMHgwMCwgMHgyMCwgMHgwMCwgMHg2MSwgMHgwMCwgMHgyMCwgMHgwMCwgMHg2NCwgMHgwMCwgMHg2OSwgMHgwMCwgMHg3NiwKLSAgMHgwMCwgMHg2OSwgMHgwMCwgMHg3MywgMHgwMCwgMHg2OSwgMHgwMCwgMHg2ZiwgMHgwMCwgMHg2ZSwgMHgwMCwgMHgyMCwgMHgwMCwgMHg2ZiwgMHgwMCwgMHg2NiwKLSAgMHgwMCwgMHgyMCwgMHgwMCwgMHg0OSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2ZiwgMHgwMCwgMHg1MywgMHgwMCwgMHg3OSwgMHgwMH19LAotIHsweDE5YzYsIDY0LCB7IDB4NzMsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NDksIDB4MDAsIDB4NmUsIDB4MDAsIDB4NjMsIDB4MDAsIDB4MmUsIDB4MDAsIDB4MzYsIDB4MDMsIDB4NTUsIDB4MDAsIDB4NTMsCi0gIDB4MDAsIDB4NDIsIDB4MDAsIDB4MjAsIDB4MDAsIDB4MzQsIDB4MDAsIDB4MmQsIDB4MDAsIDB4NzAsIDB4MDAsIDB4NmYsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NzQsCi0gIDB4MDAsIDB4MjAsIDB4MDAsIDB4NTMsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjksIDB4MDAsIDB4NjEsIDB4MDAsIDB4NmMsIDB4MDAsIDB4MjAsCi0gIDB4MDAsIDB4NDEsIDB4MDAsIDB4NjQsIDB4MDAsIDB4NjEsIDB4MDAsIDB4NzAsIDB4MDAsIDB4NzQsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzIsIDB4MDB9fSwKLSB7MHgxYTA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MWE0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDFhODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxYWM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDE3LCAweDg0LCAweDAwLCAweDAyLCAweDFifX0sCi0gezB4MWIwNiwgMjEsIHsgMHgwNCwgMHgwMCwgMHgwMiwgMHgxNywgMHgzMiwgMHgwMCwgMHgwMiwgMHgxNywgMHhhYiwgMHgwMCwgMHgwMiwgMHgxYiwgMHgxMCwgMHgwMCwgMHgwMiwgMHgxYiwgMHgxNCwKLSAgMHgwMCwgMHgwMiwgMHgxNSwgMHg4NH19LAotIHsweGZmZmYsIDAsIHsweDAwfX0KLX07CmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl91c2E0OXdsY19mdy5oIGIvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fdXNhNDl3bGNfZncuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmVmMDZhMy4uMDAwMDAwMAotLS0gYS9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl91c2E0OXdsY19mdy5oCisrKyAvZGV2L251bGwKQEAgLTEsNDc2ICswLDAgQEAKLS8qIGtleXNwYW5fdXNhNDl3X2Z3LmgKLQotCVRoZSBmaXJtd2FyZSBjb250YWluZWQgaGVyZWluIGFzIGtleXNwYW5fdXNhNDl3X2Z3LmggaXMKLQotCQlDb3B5cmlnaHQgKEMpIDE5OTktMjAwMwotCQlLZXlzcGFuLCBBIGRpdmlzaW9uIG9mIElubm9TeXMgSW5jb3Jwb3JhdGVkICgiS2V5c3BhbiIpCi0JCQotCWFzIGFuIHVucHVibGlzaGVkIHdvcmsuIFRoaXMgbm90aWNlIGRvZXMgbm90IGltcGx5IHVucmVzdHJpY3RlZCBvcgotCXB1YmxpYyBhY2Nlc3MgdG8gdGhlIHNvdXJjZSBjb2RlIGZyb20gd2hpY2ggdGhpcyBmaXJtd2FyZSBpbWFnZSBpcwotCWRlcml2ZWQuICBFeGNlcHQgYXMgbm90ZWQgYmVsb3cgdGhpcyBmaXJtd2FyZSBpbWFnZSBtYXkgbm90IGJlIAotCXJlcHJvZHVjZWQsIHVzZWQsIHNvbGQgb3IgdHJhbnNmZXJyZWQgdG8gYW55IHRoaXJkIHBhcnR5IHdpdGhvdXQgCi0JS2V5c3BhbidzIHByaW9yIHdyaXR0ZW4gY29uc2VudC4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0KLQlQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkIGZvciB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmlybXdhcmUgCi0JaW1hZ2UgYXMgcGFydCBvZiBhIExpbnV4IG9yIG90aGVyIE9wZW4gU291cmNlIG9wZXJhdGluZyBzeXN0ZW0ga2VybmVsIAotCWluIHRleHQgb3IgYmluYXJ5IGZvcm0gYXMgcmVxdWlyZWQuIAotCi0JVGhpcyBmaXJtd2FyZSBtYXkgbm90IGJlIG1vZGlmaWVkIGFuZCBtYXkgb25seSBiZSB1c2VkIHdpdGggIAotCUtleXNwYW4gaGFyZHdhcmUuICBEaXN0cmlidXRpb24gYW5kL29yIE1vZGlmaWNhdGlvbiBvZiB0aGUgCi0Ja2V5c3Bhbi5jIGRyaXZlciB3aGljaCBpbmNsdWRlcyB0aGlzIGZpcm13YXJlLCBpbiB3aG9sZSBvciBpbiAKLQlwYXJ0LCByZXF1aXJlcyB0aGUgaW5jbHVzaW9uIG9mIHRoaXMgc3RhdGVtZW50LiIKLQotc3RhdGljIGNoYXIgdGhlRmlybXdhcmVEYXRlNDlbXSA9Ci0JIjAyLzE0LzIwMDIgIDAyOjM3cCAgICAgICAgICAgICAgMTksMzQ3IFVTQTQ5IjsKLQotCi0KLXN0YXRpYyBjaGFyIHRoZUZpcm13YXJlRGF0ZTY1W10gPQotCSIwMS8zMS8yMDAzICAwOTozNGEgICAgICAgICAgICAgIDE5LDMzMSBVU0E2NSI7Ci0KLQotKi8KLQotc3RhdGljIGNvbnN0IHN0cnVjdCBlenVzYl9oZXhfcmVjb3JkIGtleXNwYW5fdXNhNDl3bGNfZmlybXdhcmVbXSA9IHsKLSB7MHg3ZjkyLCAgMSwgeyAweDAxfX0sCi0gezB4MDAzMywgIDMsIHsgMHgwMiwgMHgxOCwgMHhmYn19LAotIHsweDAwMzYsIDEzLCB7IDB4ZTUsIDB4MTEsIDB4MDQsIDB4OTAsIDB4NzgsIDB4NDEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjJ9fSwKLSB7MHgwMDQ2LCAxNiwgeyAweGU0LCAweGZmLCAweDc0LCAweDQwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdiLCAweGY1LCAweDgzLCAweGUwLCAweGZlLCAweGU1LCAweDE1fX0sCi0gezB4MDA1NiwgMTYsIHsgMHgyNCwgMHgwNCwgMHhmZCwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmYSwgMHhhOSwgMHgwNSwgMHg3YiwgMHgwMSwgMHhlZiwgMHg3YywgMHgwMCwgMHgyOSwgMHhmOX19LAotIHsweDAwNjYsIDE2LCB7IDB4ZWMsIDB4M2EsIDB4ZmEsIDB4ZWUsIDB4MTIsIDB4MTEsIDB4ZWMsIDB4MGYsIDB4YmYsIDB4MjIsIDB4ZDcsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MDUsIDB4ZjV9fSwKLSB7MHgwMDc2LCAxNiwgeyAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDcwLCAweDAzLCAweDAyLCAweDAxLCAweDM0LCAweGU1LCAweDE1LCAweDI0LCAweDA5fX0sCi0gezB4MDA4NiwgMTYsIHsgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg3MCwgMHgwZSwgMHhlNSwgMHgxNSwgMHgyNCwgMHgwYSwgMHhmNSwgMHg4Mn19LAotIHsweDAwOTYsIDE2LCB7IDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MTgsIDB4N2YsIDB4MDEsIDB4ZTQsIDB4ZmQsIDB4MTIsIDB4MTYsIDB4NmIsIDB4ZTV9fSwKLSB7MHgwMGE2LCAxNiwgeyAweDE1LCAweDI0LCAweDMxLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweGNmLCAweGYwLCAweDgwLCAweDQxfX0sCi0gezB4MDBiNiwgMTYsIHsgMHhlNSwgMHgxNSwgMHgyNCwgMHgwNiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHgxMiwgMHgwMCwgMHgwM319LAotIHsweDAwYzYsIDE2LCB7IDB4ZTUsIDB4MTUsIDB4MjQsIDB4MDcsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MTUsIDB4YWJ9fSwKLSB7MHgwMGQ2LCAxNiwgeyAweDdmLCAweDAxLCAweGU1LCAweDE1LCAweDI0LCAweDA4LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweGZkLCAweDEyfX0sCi0gezB4MDBlNiwgMTYsIHsgMHgxNiwgMHg2YiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg0NCwgMHgzMH19LAotIHsweDAwZjYsIDE2LCB7IDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzksIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjB9fSwKLSB7MHgwMDAzLCAxNiwgeyAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweGYzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDc4LCAweDQxLCAweDc0fX0sCi0gezB4MDAxMywgMTYsIHsgMHhmMCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHhmMywgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNH19LAotIHsweDAwMjMsIDE2LCB7IDB4MzcsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjJ9fSwKLSB7MHgwMDQzLCAgMywgeyAweDAyLCAweDFiLCAweDAwfX0sCi0gezB4MDAwMCwgIDMsIHsgMHgwMiwgMHgxMCwgMHg5MH19LAotIHsweDAxMDYsIDY0LCB7IDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4ZjQsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzksIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsCi0gIDB4ZTAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4ZjIsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzYsIDB4ZjUsCi0gIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4MDYsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsCi0gIDB4MGIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MzIsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MGN9fSwKLSB7MHgwMTQ2LCA2NCwgeyAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweDNmLCAweGZmLCAweGU1LCAweDE1LCAweDI0LCAweDM3LCAweGY1LCAweDgyLAotICAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweGYzLCAweGYwLCAweGU1LCAweDE1LCAweDI0LAotICAweDM3LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweGU1LCAweDE1LCAweDI0LAotICAweDBkLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDcwLCAweDAzLCAweDAyLCAweDAyLCAweDRmLCAweGU1fX0sCi0gezB4MDE4NiwgNjQsIHsgMHgxNSwgMHgyNCwgMHgxNywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwgMHgxMSwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMiwKLSAgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg0NCwgMHgwNCwgMHhmMCwgMHg4MCwgMHgwZiwgMHhlNSwgMHgxNSwgMHgyNCwKLSAgMHgzMiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHhmYiwgMHhmMCwgMHhlNCwgMHhmZiwgMHhlNSwgMHgxNSwKLSAgMHgyNCwgMHgzMiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZCwgMHgxMiwgMHgxNiwgMHg2YiwgMHhlNX19LAotIHsweDAxYzYsIDY0LCB7IDB4MTUsIDB4MjQsIDB4MGUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MTEsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzMsCi0gIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4ODAsIDB4MGYsIDB4ZTUsIDB4MTUsIDB4MjQsCi0gIDB4MzMsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzMsCi0gIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4ZmMsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MGZ9fSwKLSB7MHgwMjA2LCA2NCwgeyAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDJmLCAweGU1LCAweDE1LCAweDI0LCAweDMzLCAweGY1LCAweDgyLCAweGU0LAotICAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDEwLCAweGY1LCAweDgyLCAweGU0LCAweDM1LAotICAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweDEyLCAweDE2LCAweDBiLCAweGU1LCAweDE1LCAweDI0LCAweDExLCAweGY1LCAweDgyLCAweGU0LCAweDM1LAotICAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweDEyLCAweDE2LCAweDNiLCAweGU1LCAweDE1LCAweDI0LCAweDMzLCAweGY1LCAweDgyLCAweGU0fX0sCi0gezB4MDI0NiwgNjQsIHsgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHgxMiwgMHgxNSwgMHhkYiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgxNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwKLSAgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwgMHg0NCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgxNSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwKLSAgMHg4MywgMHhlMCwgMHg2MCwgMHgxMSwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzOSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwKLSAgMHg0NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHgwZiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzOSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNX19LAotIHsweDAyODYsIDY0LCB7IDB4ODMsIDB4ZTAsIDB4NTQsIDB4ZmUsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4ZjQsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzksIDB4ZjUsIDB4ODIsCi0gIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MTIsIDB4ZjUsIDB4ODIsCi0gIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4NDQsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MTMsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsCi0gIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MTEsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzksIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTR9fSwKLSB7MHgwMmM2LCA2NCwgeyAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDgwLCAweDBmLCAweGU1LCAweDE1LCAweDI0LCAweDM5LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LAotICAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweGZkLCAweGYwLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweGY0LCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDM5LAotICAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDE2LAotICAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweGU1LCAweDE1LCAweDI0LCAweDM1LCAweGY1LCAweDgyfX0sCi0gezB4MDMwNiwgNjQsIHsgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgxNywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwKLSAgMHg4MywgMHhlMCwgMHgzMCwgMHhlMCwgMHgxMSwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywKLSAgMHhlMCwgMHg0NCwgMHg0MCwgMHhmMCwgMHg4MCwgMHgwZiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwKLSAgMHg4MywgMHhlMCwgMHg1NCwgMHhiZiwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgxOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNX19LAotIHsweDAzNDYsIDY0LCB7IDB4ODMsIDB4ZTAsIDB4ZmYsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4M2IsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4ZTUsCi0gIDB4MTUsIDB4MjQsIDB4MTksIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MTEsIDB4ZTUsIDB4MTUsIDB4MjQsCi0gIDB4MzksIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4MTAsIDB4ZjAsIDB4ODAsIDB4MGYsIDB4ZTUsIDB4MTUsCi0gIDB4MjQsIDB4MzksIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4Nzh9fSwKLSB7MHgwMzg2LCA2NCwgeyAweDQxLCAweDc0LCAweGY0LCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDM5LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDkwLAotICAweGMwLCAweDAwLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDFhLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLAotICAweDZiLCAweGU1LCAweDE1LCAweDI0LCAweDM3LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweGJmLCAweGYwLAotICAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweGYzLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDM3LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0fX0sCi0gezB4MDNjNiwgNjQsIHsgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHhmMSwgMHhmMCwgMHgxMiwgMHgwMCwKLSAgMHgzNiwgMHhlZiwgMHg1NCwgMHhmZSwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwKLSAgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHhmZCwgMHhmZiwgMHhmMCwgMHhmZCwgMHhlNCwgMHhmZiwgMHgxMiwgMHgxNiwgMHg2YiwgMHhlNSwgMHgxNSwKLSAgMHgyNCwgMHgyYywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlNCwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgyYn19LAotIHsweDA0MDYsIDY0LCB7IDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4ZTUsIDB4MTYsIDB4NDIsIDB4MTMsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MWIsCi0gIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NzAsIDB4MGUsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MjUsIDB4ZjUsIDB4ODIsCi0gIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MjgsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsCi0gIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZmYsIDB4ZjAsIDB4ZmQsIDB4ZTQsIDB4ZmYsIDB4MTIsIDB4MTYsIDB4NmIsIDB4ZTV9fSwKLSB7MHgwNDQ2LCA2NCwgeyAweDE1LCAweDI0LCAweDJiLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweDc0LCAweDAxLCAweGYwLCAweGU1LCAweDE2LCAweDQyLCAweDEzLAotICAweGU1LCAweDE1LCAweDI0LCAweDFjLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweDcwLCAweDBlLCAweGU1LAotICAweDE1LCAweDI0LCAweDI1LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDJhLCAweDkwLCAweDc4LCAweDQxLAotICAweDc0LCAweGYyLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDM2LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwfX0sCi0gezB4MDQ4NiwgNjQsIHsgMHg0NCwgMHgwNCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHhlZiwgMHg2MCwgMHgwZiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwKLSAgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg0NCwgMHgwNCwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgxZCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwKLSAgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwgMHgyNywgMHhlNSwgMHgxNSwgMHgyNCwgMHgzNywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywKLSAgMHhlMCwgMHg0NCwgMHg0MCwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHhmMywgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzNywgMHhmNX19LAotIHsweDA0YzYsIDY0LCB7IDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MWUsCi0gIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MjgsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzIsIDB4ZjUsIDB4ODIsCi0gIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4ZmUsIDB4ZmYsIDB4ZjAsIDB4ZmQsIDB4ZTQsIDB4ZmYsIDB4MTIsIDB4MTYsIDB4NmIsCi0gIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MmQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4ZTV9fSwKLSB7MHgwNTA2LCA2NCwgeyAweDE2LCAweDQyLCAweDEzLCAweGU1LCAweDE1LCAweDI0LCAweDFmLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDcwLCAweDBlLAotICAweGU1LCAweDE1LCAweDI0LCAweDI1LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDI3LCAweGU1LCAweDE1LAotICAweDI0LCAweDMyLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDAxLCAweGZmLCAweGYwLCAweGZkLCAweGU0LAotICAweGZmLCAweDEyLCAweDE2LCAweDZiLCAweGU1LCAweDE1LCAweDI0LCAweDJkLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzfX0sCi0gezB4MDU0NiwgNjQsIHsgMHhlNCwgMHhmMCwgMHhlNSwgMHgxNiwgMHg0MiwgMHgxMywgMHhlNSwgMHgxNSwgMHgyNCwgMHgyMCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywKLSAgMHhlMCwgMHg3MCwgMHgwZSwgMHhlNSwgMHgxNSwgMHgyNCwgMHgyNSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwKLSAgMHgxOCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHhmMiwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzNiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwKLSAgMHhmNSwgMHg4MywgMHhlMCwgMHg0NCwgMHgwMiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgyMSwgMHhmNSwgMHg4Mn19LAotIHsweDA1ODYsIDY0LCB7IDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MGYsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsCi0gIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MjIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsCi0gIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MWYsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4NzQsCi0gIDB4MDEsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4M2EsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjB9fSwKLSB7MHgwNWM2LCA2NCwgeyAweGU1LCAweDE2LCAweDQyLCAweDEzLCAweGU1LCAweDE1LCAweDI0LCAweDIzLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLAotICAweDAzLCAweDEyLCAweDE4LCAweDdhLCAweGU1LCAweDE1LCAweDI0LCAweDI0LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLAotICAweDYwLCAweDIzLCAweGU1LCAweDE1LCAweDI0LCAweDMxLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDA4LAotICAweGYwLCAweGU1LCAweDE2LCAweGM0LCAweDU0LCAweGYwLCAweGZmLCAweDQyLCAweDExLCAweDkwLCAweDdmLCAweDk2LCAweGUwLCAweDRmLCAweGYwfX0sCi0gezB4MDYwNiwgNjQsIHsgMHg5MCwgMHg3OCwgMHg0MSwgMHhlMCwgMHg0ZiwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgyNSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywKLSAgMHhlMCwgMHg2MCwgMHgyNCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwKLSAgMHhmNywgMHhmMCwgMHhlNSwgMHgxNiwgMHhjNCwgMHg1NCwgMHhmMCwgMHhmNCwgMHhmZiwgMHg1MiwgMHgxMSwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhlMCwgMHg1ZiwKLSAgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHhlMCwgMHg1ZiwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhlOSwgMHhlMCwgMHgxMiwgMHgxMSwgMHhmZX19LAotIHsweDA2NDYsIDY0LCB7IDB4MDcsIDB4OTksIDB4MDAsIDB4MDgsIDB4MGQsIDB4MDEsIDB4MDgsIDB4NzksIDB4MDMsIDB4MDYsIDB4NjIsIDB4MDYsIDB4MDcsIDB4OGEsIDB4MDgsIDB4MDcsIDB4N2UsCi0gIDB4MDksIDB4MDcsIDB4NjYsIDB4MGEsIDB4MDcsIDB4NzUsIDB4MGIsIDB4MDAsIDB4MDAsIDB4MDgsIDB4YzgsIDB4OTAsIDB4N2YsIDB4ZWIsIDB4ZTAsIDB4MjQsCi0gIDB4ZmUsIDB4NjAsIDB4MWMsIDB4MTQsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MDcsIDB4MTQsIDB4MjQsIDB4MDIsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MDcsIDB4NWMsCi0gIDB4NzQsIDB4MTksIDB4OTAsIDB4N2YsIDB4ZDQsIDB4ZjAsIDB4NzQsIDB4MDAsIDB4OTAsIDB4N2YsIDB4ZDUsIDB4ZjAsIDB4MDIsIDB4MDgsIDB4Y2Z9fSwKLSB7MHgwNjg2LCA2NCwgeyAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDA0LCAweDc1LCAweDgyLCAweDE3LCAweDc1LCAweDgzLCAweDE5LCAweGYwLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDMwLAotICAweGUwLCAweDA0LCAweDdmLCAweDAyLCAweDgwLCAweDAyLCAweDdmLCAweDAzLCAweDc1LCAweDgyLCAweDgyLCAweDc1LCAweDgzLCAweDE5LCAweGVmLCAweGYwLAotICAweDc1LCAweDgyLCAweDZkLCAweDc1LCAweDgzLCAweDE5LCAweGYwLCAweDc1LCAweDgyLCAweDY2LCAweDc1LCAweDgzLCAweDE5LCAweGYwLCAweDc1LCAweDgyLAotICAweDVmLCAweDc1LCAweDgzLCAweDE5LCAweGYwLCAweDc1LCAweDgyLCAweDU4LCAweDc1LCAweDgzLCAweDE5LCAweGYwLCAweDkwLCAweDdmLCAweGVhfX0sCi0gezB4MDZjNiwgNjQsIHsgMHhlMCwgMHgzMCwgMHhlMSwgMHgwNCwgMHg3ZiwgMHg2NCwgMHg4MCwgMHgwMiwgMHg3ZiwgMHgzMiwgMHg3NSwgMHg4MiwgMHgxYSwgMHg3NSwgMHg4MywgMHgxOSwgMHhlZiwKLSAgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlZiwgMHhlMCwgMHhmZSwgMHg5MCwgMHg3ZiwgMHhlZSwgMHhlMCwgMHg3YywgMHgwMCwgMHgyNCwgMHgwMCwgMHhmNSwgMHgxOCwKLSAgMHhlYywgMHgzZSwgMHhmNSwgMHgxNywgMHg3NSwgMHgzMywgMHgxOSwgMHg3NSwgMHgzNCwgMHgxMiwgMHg3NSwgMHg4MiwgMHgxNCwgMHg3NSwgMHg4MywgMHgxOSwKLSAgMHhlMCwgMHg3NSwgMHgyNywgMHgwMCwgMHhmNSwgMHgyOCwgMHhkMywgMHhlNSwgMHgyOCwgMHg5NSwgMHgxOCwgMHhlNSwgMHgyNywgMHg5NSwgMHgxN319LAotIHsweDA3MDYsIDY0LCB7IDB4NDAsIDB4MDYsIDB4ODUsIDB4MTcsIDB4MjcsIDB4ODUsIDB4MTgsIDB4MjgsIDB4MTIsIDB4MTMsIDB4MGQsIDB4MDIsIDB4MDgsIDB4Y2YsIDB4OTAsIDB4N2YsIDB4ZWEsCi0gIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MTQsIDB4NWYsIDB4ZWEsIDB4NDksIDB4NjAsIDB4MzIsIDB4OTAsIDB4N2YsIDB4ZWUsIDB4ZTAsIDB4NzUsIDB4MTcsIDB4MDAsCi0gIDB4ZjUsIDB4MTgsIDB4YWUsIDB4MDIsIDB4YWYsIDB4MDEsIDB4OGUsIDB4MzMsIDB4OGYsIDB4MzQsIDB4OGYsIDB4ODIsIDB4OGUsIDB4ODMsIDB4ZTAsIDB4ZmUsCi0gIDB4YTMsIDB4ZTAsIDB4OGUsIDB4MjcsIDB4ZjUsIDB4MjgsIDB4ZDMsIDB4OTUsIDB4MTgsIDB4ZTUsIDB4MjcsIDB4OTUsIDB4MTcsIDB4NDAsIDB4MDZ9fSwKLSB7MHgwNzQ2LCA2NCwgeyAweDg1LCAweDE3LCAweDI3LCAweDg1LCAweDE4LCAweDI4LCAweDEyLCAweDEzLCAweDBkLCAweDAyLCAweDA4LCAweGNmLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LAotICAweDAxLCAweGYwLCAweDAyLCAweDA4LCAweGNmLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDA4LCAweGNmLCAweDkwLAotICAweDdmLCAweDAwLCAweGU1LCAweDI1LCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAxLCAweGYwLCAweDAyLCAweDA4LCAweGNmLCAweDkwLCAweDdmLAotICAweGVhLCAweGUwLCAweGY1LCAweDI1LCAweDAyLCAweDA4LCAweGNmLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGY1LCAweDIyLCAweDEyLCAweDBhfX0sCi0gezB4MDc4NiwgNjQsIHsgMHhjZSwgMHgwMiwgMHgwOCwgMHhjZiwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhlNSwgMHgyMiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMSwgMHhmMCwgMHgwMiwKLSAgMHgwOCwgMHhjZiwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwgMHgyNCwgMHg3ZiwgMHg2MCwgMHgyNCwgMHgxNCwgMHg2MCwgMHgzMSwgMHgyNCwgMHgwMiwgMHg3MCwKLSAgMHg1YiwgMHhhMiwgMHgwMCwgMHhlNCwgMHgzMywgMHhmZiwgMHgyNSwgMHhlMCwgMHhmZiwgMHhhMiwgMHgwNiwgMHhlNCwgMHgzMywgMHg0ZiwgMHg5MCwgMHg3ZiwKLSAgMHgwMCwgMHhmMCwgMHhlNCwgMHhhMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwOCwgMHhjZiwgMHhlNH19LAotIHsweDA3YzYsIDY0LCB7IDB4OTAsIDB4N2YsIDB4MDAsIDB4ZjAsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MDgsIDB4Y2YsIDB4OTAsIDB4N2YsCi0gIDB4ZWMsIDB4ZTAsIDB4ZjQsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4MjUsIDB4ZTAsCi0gIDB4MjQsIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZjAsCi0gIDB4ZTQsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MDgsIDB4Y2YsIDB4OTAsIDB4N2YsIDB4YjR9fSwKLSB7MHgwODA2LCA2NCwgeyAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDA4LCAweGNmLCAweDkwLCAweDdmLCAweGU4LCAweGUwLCAweDI0LCAweGZlLCAweDYwLCAweDFkLCAweDI0LCAweDAyLAotICAweDYwLCAweDAzLCAweDAyLCAweDA4LCAweGNmLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGI0LCAweDAxLCAweDA1LCAweGMyLCAweDAwLCAweDAyLCAweDA4LAotICAweGNmLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDA4LCAweGNmLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDcwLAotICAweDM4LCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0fX0sCi0gezB4MDg0NiwgNjQsIHsgMHgwNywgMHgyZiwgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHhlNCwgMHhmMCwgMHg5MCwgMHg3ZiwKLSAgMHhlYywgMHhlMCwgMHg1NCwgMHg4MCwgMHhmZiwgMHgxMywgMHgxMywgMHgxMywgMHg1NCwgMHgxZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHg5MCwKLSAgMHg3ZiwgMHhkNywgMHhmMCwgMHhlMCwgMHg0NCwgMHgyMCwgMHhmMCwgMHg4MCwgMHg1ZiwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwKLSAgMHg4MCwgMHg1NiwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxOCwgMHgyNCwgMHgwMiwgMHg3MCwgMHg0YSwgMHg5MH19LAotIHsweDA4ODYsIDY0LCB7IDB4N2YsIDB4ZWEsIDB4ZTAsIDB4YjQsIDB4MDEsIDB4MDQsIDB4ZDIsIDB4MDAsIDB4ODAsIDB4M2YsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsCi0gIDB4ODAsIDB4MzYsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4NzAsIDB4MjAsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4ZjQsIDB4NTQsIDB4ODAsIDB4ZmYsCi0gIDB4YzQsIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsCi0gIDB4N2YsIDB4ZjUsIDB4ODMsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4MTAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjB9fSwKLSB7MHgwOGM2LCA2NCwgeyAweDgwLCAweDA3LCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDIyLAotICAweGU1LCAweDEyLCAweDU0LCAweDBmLCAweDcwLCAweDAzLCAweDAyLCAweDA5LCAweGM4LCAweDEyLCAweDE2LCAweDlhLCAweGVmLCAweDIwLCAweGUxLCAweDc1LAotICAweDEyLCAweDE2LCAweGY4LCAweGVmLCAweDE0LCAweGY1LCAweDE4LCAweDEyLCAweDE4LCAweGM1LCAweGVmLCAweDI1LCAweDE4LCAweGZmLCAweGU0LCAweDMzLAotICAweGZlLCAweGMzLCAweGVmLCAweDk0LCAweDgwLCAweGVlLCAweDY0LCAweDgwLCAweDk0LCAweDgwLCAweDUwLCAweDU5LCAweDg1LCAweDE1LCAweDgyfX0sCi0gezB4MDkwNiwgNjQsIHsgMHg4NSwgMHgxNCwgMHg4MywgMHhlMCwgMHhmZSwgMHhhMywgMHhlMCwgMHhmZiwgMHhmNSwgMHg4MiwgMHg4ZSwgMHg4MywgMHhlMCwgMHgzMCwgMHhlMCwgMHgxMSwgMHhlNSwKLSAgMHgxNSwgMHgyNCwgMHgzMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHg4MCwgMHgwZiwKLSAgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHg3ZiwgMHhmMCwgMHhlNSwKLSAgMHgxNSwgMHgyNCwgMHgzMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHgyMCwgMHhlMiwgMHgxMiwgMHhlNX19LAotIHsweDA5NDYsIDY0LCB7IDB4MTgsIDB4NjAsIDB4MGUsIDB4ZjUsIDB4MjMsIDB4ZWYsIDB4MjQsIDB4MDEsIDB4ZjUsIDB4MmQsIDB4ZTQsIDB4M2UsIDB4ZjUsIDB4MmMsIDB4MTIsIDB4MTQsIDB4YTAsCi0gIDB4ZTQsIDB4ZmYsIDB4MTIsIDB4MTQsIDB4ZDcsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsCi0gIDB4ZTAsIDB4MzAsIDB4ZTcsIDB4NWQsIDB4MTIsIDB4MTgsIDB4YzUsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4M2IsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsCi0gIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmUsIDB4ZWYsIDB4YzMsIDB4OWUsIDB4NTAsIDB4NDgsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MmYsIDB4ZjUsIDB4ODJ9fSwKLSB7MHgwOTg2LCA2NCwgeyAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweDc0LCAweDAxLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDMxLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LAotICAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweDdiLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDNhLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LAotICAweDgzLCAweGU0LCAweGYwLCAweGU1LCAweDE2LCAweDQyLCAweDEzLCAweDkwLCAweDdmLCAweGMyLCAweGUwLCAweDMwLCAweGUxLCAweDEwLCAweGU1LCAweDE1LAotICAweDI0LCAweDI2LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweDI0LCAweDgwLCAweDAzLCAweDEyfX0sCi0gezB4MDljNiwgNjQsIHsgMHgxMiwgMHg5YywgMHgxMiwgMHgxNiwgMHhjOSwgMHhlZiwgMHgzMCwgMHhlMSwgMHgwMywgMHgwMiwgMHgwYSwgMHhjZCwgMHgxMiwgMHgxNywgMHhjNywgMHg4ZiwgMHgxOCwKLSAgMHgxMiwgMHgxOCwgMHhkMywgMHhlNSwgMHgxNSwgMHgyNCwgMHgzOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwKLSAgMHhlNSwgMHgxNSwgMHgyNCwgMHgzNSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHhlNSwgMHgxOCwgMHhjMywKLSAgMHg5ZiwgMHg1MCwgMHgyOCwgMHgxMiwgMHgxOCwgMHhhOSwgMHhlZiwgMHgzMCwgMHhlMCwgMHgyMSwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzOCwgMHhmNX19LAotIHsweDBhMDYsIDY0LCB7IDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MjAsIDB4ZTcsIDB4MTIsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjUsIDB4ODIsIDB4ZTQsCi0gIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MDMsIDB4MDIsIDB4MGEsIDB4Y2QsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjUsCi0gIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4ZjAsIDB4ZTUsIDB4MTgsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MGEsCi0gIDB4Y2QsIDB4YjQsIDB4ODAsIDB4MGYsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODN9fSwKLSB7MHgwYTQ2LCA2NCwgeyAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDM4LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweGZmLAotICAweDMwLCAweGU3LCAweDI5LCAweGU1LCAweDE4LCAweGQzLCAweDk0LCAweDIwLCAweDQwLCAweDAzLCAweDc1LCAweDE4LCAweDIwLCAweDg1LCAweDE4LCAweDIzLAotICAweDg1LCAweDE1LCAweDgyLCAweDg1LCAweDE0LCAweDgzLCAweGEzLCAweGEzLCAweGUwLCAweGZjLCAweGEzLCAweGUwLCAweDhjLCAweDJjLCAweGY1LCAweDJkLAotICAweDEyLCAweDEzLCAweGNmLCAweGU1LCAweDE4LCAweDI1LCAweGUwLCAweGZmLCAweDEyLCAweDE1LCAweDBkLCAweDIyLCAweGU1LCAweDE4LCAweGQzfX0sCi0gezB4MGE4NiwgNjQsIHsgMHg5NCwgMHgzZiwgMHg0MCwgMHgwMywgMHg3NSwgMHgxOCwgMHgzZiwgMHg4NSwgMHgxOCwgMHgyMywgMHhlNSwgMHgxNSwgMHgyNCwgMHgzOCwgMHhmNSwgMHg4MiwgMHhlNCwKLSAgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHg4NSwgMHgxNSwgMHg4MiwgMHg4NSwgMHgxNCwgMHg4MywgMHhhMywgMHhhMywgMHhlMCwgMHhmYywKLSAgMHhhMywgMHhlMCwgMHhmNSwgMHg4MiwgMHg4YywgMHg4MywgMHhlZiwgMHhmMCwgMHg4NSwgMHgxNSwgMHg4MiwgMHg4NSwgMHgxNCwgMHg4MywgMHhhMywgMHhhMywKLSAgMHhlMCwgMHhmZSwgMHhhMywgMHhlMCwgMHgyNCwgMHgwMSwgMHhmNSwgMHgyZCwgMHhlNCwgMHgzZSwgMHhmNSwgMHgyYywgMHgxMiwgMHgxNCwgMHgxZH19LAotIHsweDBhYzYsIDY0LCB7IDB4ZTUsIDB4MTgsIDB4MDQsIDB4ZmYsIDB4MTIsIDB4MTUsIDB4MGQsIDB4MjIsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWMsIDB4NzQsCi0gIDB4ZmYsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTQsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NGEsIDB4MDQsIDB4ZjAsCi0gIDB4ZjUsIDB4OGUsIDB4OTAsIDB4N2YsIDB4OTUsIDB4NzQsIDB4YzAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWUsIDB4NzQsIDB4M2YsIDB4ZjAsIDB4OTAsIDB4N2YsCi0gIDB4OTgsIDB4NzQsIDB4MmYsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDMsIDB4NzQsIDB4ZjcsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4NzgsIDB4NDEsIDB4ZjB9fSwKLSB7MHgwYjA2LCA2NCwgeyAweDkwLCAweDdmLCAweGRmLCAweDc0LCAweDlmLCAweGYwLCAweDkwLCAweDdmLCAweGRlLCAweGYwLCAweDkwLCAweDdmLCAweDkyLCAweGUwLCAweDQ0LCAweDAyLCAweGYwLAotICAweDdlLCAweDdiLCAweDdmLCAweGMwLCAweDc1LCAweDE0LCAweDdiLCAweDc1LCAweDE1LCAweGMwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDJlLCAweGYwLAotICAweDc1LCAweDE2LCAweDAxLCAweDEyLCAweDBmLCAweDI4LCAweDdlLCAweDdiLCAweDdmLCAweGMwLCAweDc1LCAweDE0LCAweDdiLCAweDc1LCAweDE1LCAweGMwLAotICAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDJlLCAweGYwLCAweDc1LCAweDE2LCAweDAxLCAweGU1LCAweDE1LCAweDI0LCAweDI2LCAweGY1LCAweDgyfX0sCi0gezB4MGI0NiwgNjQsIHsgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlNCwgMHhmMCwgMHg3ZSwgMHg3ZSwgMHg3ZiwgMHg0MCwgMHg4NSwgMHgxNSwgMHg4MiwgMHg4NSwgMHgxNCwgMHg4MywKLSAgMHg3NCwgMHg3ZSwgMHhmMCwgMHhhMywgMHg3NCwgMHg0MCwgMHhmMCwgMHg3ZSwgMHg3ZSwgMHg3ZiwgMHg4MCwgMHg4NSwgMHgxNSwgMHg4MiwgMHg4NSwgMHgxNCwKLSAgMHg4MywgMHhhMywgMHhhMywgMHg3NCwgMHg3ZSwgMHhmMCwgMHhhMywgMHg3NCwgMHg4MCwgMHhmMCwgMHg3ZSwgMHg3YywgMHg3ZiwgMHgwMCwgMHg3NSwgMHgxNCwKLSAgMHg3YywgMHg3NSwgMHgxNSwgMHgwMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgyZCwgMHhmMCwgMHg3NSwgMHgxNiwgMHgwMiwgMHgxMiwgMHgwZn19LAotIHsweDBiODYsIDY0LCB7IDB4MjgsIDB4N2UsIDB4N2MsIDB4N2YsIDB4MDAsIDB4NzUsIDB4MTQsIDB4N2MsIDB4NzUsIDB4MTUsIDB4MDAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MmQsIDB4ZjAsCi0gIDB4NzUsIDB4MTYsIDB4MDIsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MjYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4NzQsIDB4MDEsCi0gIDB4ZjAsIDB4N2UsIDB4N2QsIDB4N2YsIDB4YzAsIDB4ODUsIDB4MTUsIDB4ODIsIDB4ODUsIDB4MTQsIDB4ODMsIDB4NzQsIDB4N2QsIDB4ZjAsIDB4YTMsIDB4NzQsCi0gIDB4YzAsIDB4ZjAsIDB4N2UsIDB4N2UsIDB4N2YsIDB4MDAsIDB4ODUsIDB4MTUsIDB4ODIsIDB4ODUsIDB4MTQsIDB4ODMsIDB4YTMsIDB4YTMsIDB4NzR9fSwKLSB7MHgwYmM2LCA2NCwgeyAweDdlLCAweGYwLCAweGEzLCAweDc0LCAweDAwLCAweGYwLCAweDdlLCAweDdjLCAweDdmLCAweDQwLCAweDc1LCAweDE0LCAweDdjLCAweDc1LCAweDE1LCAweDQwLCAweDkwLAotICAweDdmLCAweDk4LCAweDc0LCAweDJiLCAweGYwLCAweDc1LCAweDE2LCAweDA0LCAweDEyLCAweDBmLCAweDI4LCAweDdlLCAweDdjLCAweDdmLCAweDQwLCAweDc1LAotICAweDE0LCAweDdjLCAweDc1LCAweDE1LCAweDQwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDJiLCAweGYwLCAweDc1LCAweDE2LCAweDA0LCAweGU1LCAweDE1LAotICAweDI0LCAweDI2LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweDc0LCAweDAyLCAweGYwLCAweDdlLCAweDdkLCAweDdmfX0sCi0gezB4MGMwNiwgNjQsIHsgMHg0MCwgMHg4NSwgMHgxNSwgMHg4MiwgMHg4NSwgMHgxNCwgMHg4MywgMHg3NCwgMHg3ZCwgMHhmMCwgMHhhMywgMHg3NCwgMHg0MCwgMHhmMCwgMHg3ZSwgMHg3ZCwgMHg3ZiwKLSAgMHg4MCwgMHg4NSwgMHgxNSwgMHg4MiwgMHg4NSwgMHgxNCwgMHg4MywgMHhhMywgMHhhMywgMHg3NCwgMHg3ZCwgMHhmMCwgMHhhMywgMHg3NCwgMHg4MCwgMHhmMCwKLSAgMHg3ZSwgMHg3YywgMHg3ZiwgMHg4MCwgMHg3NSwgMHgxNCwgMHg3YywgMHg3NSwgMHgxNSwgMHg4MCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgyNywgMHhmMCwKLSAgMHg3NSwgMHgxNiwgMHgwOCwgMHgxMiwgMHgwZiwgMHgyOCwgMHg3ZSwgMHg3YywgMHg3ZiwgMHg4MCwgMHg3NSwgMHgxNCwgMHg3YywgMHg3NSwgMHgxNX19LAotIHsweDBjNDYsIDY0LCB7IDB4ODAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MjcsIDB4ZjAsIDB4NzUsIDB4MTYsIDB4MDgsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MjYsIDB4ZjUsIDB4ODIsIDB4ZTQsCi0gIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4N2UsIDB4N2MsIDB4N2YsIDB4YzAsIDB4ODUsIDB4MTUsIDB4ODIsIDB4ODUsIDB4MTQsCi0gIDB4ODMsIDB4NzQsIDB4N2MsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4YzAsIDB4ZjAsIDB4N2UsIDB4N2QsIDB4N2YsIDB4MDAsIDB4ODUsIDB4MTUsIDB4ODIsIDB4ODUsCi0gIDB4MTQsIDB4ODMsIDB4YTMsIDB4YTMsIDB4NzQsIDB4N2QsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4MDAsIDB4ZjAsIDB4YzIsIDB4MGEsIDB4YzIsIDB4MDl9fSwKLSB7MHgwYzg2LCA2NCwgeyAweGU0LCAweGY1LCAweDExLCAweGQyLCAweDAyLCAweDIyLCAweGU1LCAweDEwLCAweDA0LCAweDU0LCAweDAzLCAweGY1LCAweDEwLCAweDE0LCAweDYwLCAweDFmLCAweDE0LAotICAweDYwLCAweDMxLCAweDE0LCAweDYwLCAweDQzLCAweDI0LCAweDAzLCAweDcwLCAweDUyLCAweDdlLCAweDdiLCAweDdmLCAweGMwLCAweDc1LCAweDE0LCAweDdiLAotICAweDc1LCAweDE1LCAweGMwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDJlLCAweGYwLCAweDc1LCAweDE2LCAweDAxLCAweDgwLCAweDNkLCAweDdlLCAweDdjLAotICAweDdmLCAweDAwLCAweDc1LCAweDE0LCAweDdjLCAweDc1LCAweDE1LCAweDAwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDJkLCAweGYwLCAweDc1fX0sCi0gezB4MGNjNiwgNjQsIHsgMHgxNiwgMHgwMiwgMHg4MCwgMHgyOCwgMHg3ZSwgMHg3YywgMHg3ZiwgMHg0MCwgMHg3NSwgMHgxNCwgMHg3YywgMHg3NSwgMHgxNSwgMHg0MCwgMHg5MCwgMHg3ZiwgMHg5OCwKLSAgMHg3NCwgMHgyYiwgMHhmMCwgMHg3NSwgMHgxNiwgMHgwNCwgMHg4MCwgMHgxMywgMHg3ZSwgMHg3YywgMHg3ZiwgMHg4MCwgMHg3NSwgMHgxNCwgMHg3YywgMHg3NSwKLSAgMHgxNSwgMHg4MCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgyNywgMHhmMCwgMHg3NSwgMHgxNiwgMHgwOCwgMHhlNSwgMHgzMiwgMHg1NSwgMHgxNiwgMHg3MCwKLSAgMHgwMywgMHgwMiwgMHgwZSwgMHgyNywgMHhlNSwgMHgxNiwgMHhmNCwgMHg1MiwgMHgzMiwgMHhlNSwgMHgyNiwgMHg1NCwgMHg3ZiwgMHhmZiwgMHg3MH19LAotIHsweDBkMDYsIDY0LCB7IDB4MTcsIDB4ZTUsIDB4MmEsIDB4NTUsIDB4MTYsIDB4NjAsIDB4MzQsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZTAsIDB4ZmUsIDB4ZTUsIDB4MTYsIDB4YzQsIDB4NTQsIDB4ZjAsCi0gIDB4ZjQsIDB4ZmQsIDB4ZWUsIDB4NWQsIDB4ZjAsIDB4ODAsIDB4MjMsIDB4YmYsIDB4MjAsIDB4MjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjUsIDB4ODIsCi0gIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MzAsIDB4ZTMsIDB4MTEsIDB4ZTQsIDB4ZjUsIDB4MmEsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZTAsCi0gIDB4ZmYsIDB4ZTUsIDB4MTYsIDB4YzQsIDB4NTQsIDB4ZjAsIDB4ZmUsIDB4ZWYsIDB4NGUsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4M2EsIDB4ZjV9fSwKLSB7MHgwZDQ2LCA2NCwgeyAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDAzLCAweGUwLCAweDE0LCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDM0LCAweGY1LAotICAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDAzLCAweGUwLCAweDE0LCAweGYwLCAweGUwLCAweDYwLCAweDAzLCAweDAyLAotICAweDBlLCAweDI3LCAweDc0LCAweDBhLCAweGYwLCAweDEyLCAweDAwLCAweDM2LCAweGVmLCAweDU0LCAweDAxLCAweGZmLCAweGY1LCAweDE4LCAweGU1LCAweDE1LAotICAweDI0LCAweDJjLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDZmLCAweDYwLCAweDA3LCAweGU1LCAweDE4fX0sCi0gezB4MGQ4NiwgNjQsIHsgMHhmMCwgMHhlNSwgMHgxNiwgMHg0MiwgMHgxMywgMHgxMiwgMHgxOCwgMHhlMSwgMHg4ZiwgMHgxOCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgyNywgMHhmNSwgMHg4MiwgMHhlNCwKLSAgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHhlNSwgMHgxOCwgMHg1NCwgMHgxMCwgMHhmZSwgMHg2ZiwgMHg2MCwgMHgwNiwgMHhlZSwgMHhmMCwKLSAgMHhlNSwgMHgxNiwgMHg0MiwgMHgxMywgMHhlNSwgMHgxNSwgMHgyNCwgMHgyOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwKLSAgMHhmZiwgMHhlNSwgMHgxOCwgMHg1NCwgMHg4MCwgMHhmZSwgMHg2ZiwgMHg2MCwgMHgwNiwgMHhlZSwgMHhmMCwgMHhlNSwgMHgxNiwgMHg0MiwgMHgxM319LAotIHsweDBkYzYsIDY0LCB7IDB4ZTUsIDB4MTUsIDB4MjQsIDB4MjksIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4ZTUsIDB4MTgsIDB4NTQsIDB4MjAsCi0gIDB4ZmUsIDB4NmYsIDB4NjAsIDB4MTUsIDB4ZWUsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsCi0gIDB4ODMsIDB4ZTAsIDB4MzAsIDB4ZTQsIDB4MDQsIDB4ZTUsIDB4MTYsIDB4NDIsIDB4MTMsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MmEsIDB4ZjUsIDB4ODIsIDB4ZTQsCi0gIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4ZTUsIDB4MTgsIDB4NTQsIDB4NDAsIDB4ZmUsIDB4NmYsIDB4NjAsIDB4MTUsIDB4ZWV9fSwKLSB7MHgwZTA2LCA2NCwgeyAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDMxLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDMwLCAweGU1LCAweDA0LCAweGU1LAotICAweDE2LCAweDQyLCAweDEzLCAweGU1LCAweDE1LCAweDI0LCAweDMwLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGU0LCAweGYwLAotICAweDIyLCAweDMwLCAweDA5LCAweDAzLCAweDAyLCAweDBmLCAweDI3LCAweGU1LCAweDI0LCAweDE0LCAweDYwLCAweDJhLCAweDE0LCAweDYwLCAweDQxLCAweDE0LAotICAweDYwLCAweDU4LCAweDE0LCAweDYwLCAweDZmLCAweDI0LCAweDA0LCAweDYwLCAweDAzLCAweDAyLCAweDBlLCAweGU1LCAweDdlLCAweDdiLCAweDdmfX0sCi0gezB4MGU0NiwgNjQsIHsgMHhjMCwgMHg3NSwgMHgxNCwgMHg3YiwgMHg3NSwgMHgxNSwgMHhjMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgyZSwgMHhmMCwgMHg3NSwgMHgxNiwgMHgwMSwgMHgxMiwKLSAgMHgxMiwgMHg5YywgMHg3NSwgMHgyNCwgMHgwMSwgMHgyMiwgMHg3ZSwgMHg3YywgMHg3ZiwgMHgwMCwgMHg3NSwgMHgxNCwgMHg3YywgMHg3NSwgMHgxNSwgMHgwMCwKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgyZCwgMHhmMCwgMHg3NSwgMHgxNiwgMHgwMiwgMHgxMiwgMHgxMiwgMHg5YywgMHg3NSwgMHgyNCwgMHgwMiwgMHgyMiwKLSAgMHg3ZSwgMHg3YywgMHg3ZiwgMHg0MCwgMHg3NSwgMHgxNCwgMHg3YywgMHg3NSwgMHgxNSwgMHg0MCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgyYn19LAotIHsweDBlODYsIDY0LCB7IDB4ZjAsIDB4NzUsIDB4MTYsIDB4MDQsIDB4MTIsIDB4MTIsIDB4OWMsIDB4NzUsIDB4MjQsIDB4MDMsIDB4MjIsIDB4N2UsIDB4N2MsIDB4N2YsIDB4ODAsIDB4NzUsIDB4MTQsCi0gIDB4N2MsIDB4NzUsIDB4MTUsIDB4ODAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MjcsIDB4ZjAsIDB4NzUsIDB4MTYsIDB4MDgsIDB4MTIsIDB4MTIsIDB4OWMsCi0gIDB4NzUsIDB4MjQsIDB4MDQsIDB4MjIsIDB4MzAsIDB4MDQsIDB4MzMsIDB4YzIsIDB4MDQsIDB4NTMsIDB4MTMsIDB4ZGYsIDB4ZTQsIDB4ZjUsIDB4MTgsIDB4N2UsCi0gIDB4MDAsIDB4N2IsIDB4MDAsIDB4NzQsIDB4MmUsIDB4MjUsIDB4MTgsIDB4ZjksIDB4ZWUsIDB4MzQsIDB4MDAsIDB4ZmEsIDB4MTIsIDB4MTEsIDB4YTZ9fSwKLSB7MHgwZWM2LCA2NCwgeyAweGZmLCAweDc0LCAweDgwLCAweDI1LCAweDE4LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdiLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDA1LCAweDE4LCAweGU1LAotICAweDE4LCAweGI0LCAweDAzLCAweGRiLCAweDkwLCAweDdmLCAweGMzLCAweDc0LCAweDAzLCAweGYwLCAweDc1LCAweDI0LCAweDA1LCAweDIyLCAweGU1LCAweDM2LAotICAweDYwLCAweDNiLCAweGQ1LCAweDM2LCAweDBhLCAweDUzLCAweDEzLCAweGVmLCAweDMwLCAweDBhLCAweDA0LCAweGQyLCAweDA5LCAweGMyLCAweDBhLCAweGU0LAotICAweGY1LCAweDE4LCAweDdlLCAweDAwLCAweDdiLCAweDAwLCAweDc0LCAweDM1LCAweDI1LCAweDE4LCAweGY5LCAweGVlLCAweDM0LCAweDAwLCAweGZhfX0sCi0gezB4MGYwNiwgNjQsIHsgMHgxMiwgMHgxMSwgMHhhNiwgMHhmZiwgMHg3NCwgMHg4MCwgMHgyNSwgMHgxOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwKLSAgMHgwNSwgMHgxOCwgMHhlNSwgMHgxOCwgMHhiNCwgMHgwMywgMHhkYiwgMHg5MCwgMHg3ZiwgMHhjMywgMHg3NCwgMHgwMywgMHhmMCwgMHhlNCwgMHhmNSwgMHgyNCwKLSAgMHgyMiwgMHhlNCwgMHhmNSwgMHgxOSwgMHg3ZSwgMHgwMCwgMHg3YiwgMHgwMSwgMHhlNSwgMHgxNSwgMHgyNSwgMHgxOSwgMHhmOSwgMHhlZSwgMHgzNSwgMHgxNCwKLSAgMHhmYSwgMHhlNCwgMHgxMiwgMHgxMSwgMHhlYywgMHgwNSwgMHgxOSwgMHhlNSwgMHgxOSwgMHhiNCwgMHgzYywgMHhlOCwgMHhlNSwgMHgxNSwgMHgyNH19LAotIHsweDBmNDYsIDY0LCB7IDB4MzUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4ZjMsIDB4ZjAsCi0gIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzcsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4OTAsIDB4YzAsCi0gIDB4MDAsIDB4ZjAsIDB4N2YsIDB4MGMsIDB4ZTQsIDB4ZmQsIDB4MTIsIDB4MTYsIDB4NmIsIDB4N2YsIDB4MTAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzMsIDB4ZjUsCi0gIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MTIsIDB4MTUsIDB4ZGIsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzR9fSwKLSB7MHgwZjg2LCA2NCwgeyAweGYyLCAweGYwLCAweDdmLCAweDAxLCAweGU1LCAweDE1LCAweDI0LCAweDM2LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGVmLCAweGYwLAotICAweDQ0LCAweDA2LCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweGY0LCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDM5LAotICAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweDc0LCAweDgwLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDBmLCAweGU0LAotICAweGZkLCAweDEyLCAweDE2LCAweDZiLCAweGU0LCAweGZmLCAweDdlLCAweGEzLCAweGU1LCAweDE1LCAweDI0LCAweDMyLCAweGY1LCAweDgyLCAweGU0fX0sCi0gezB4MGZjNiwgNjQsIHsgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlZSwgMHhmMCwgMHhmZCwgMHgxMiwgMHgxNiwgMHg2YiwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHhmMSwgMHhmMCwgMHg5MCwKLSAgMHhjMCwgMHgwMCwgMHhlNCwgMHhmMCwgMHg3ZiwgMHgwNSwgMHg3ZCwgMHg3ZiwgMHgxMiwgMHgxNiwgMHg2YiwgMHg3ZiwgMHgwMSwgMHgxMiwgMHgxNSwgMHg0MywKLSAgMHg3ZiwgMHgwMywgMHg3ZCwgMHgwNywgMHgxMiwgMHgxNiwgMHg2YiwgMHgyMiwgMHg1MywgMHgxMywgMHgzZiwgMHg5MCwgMHg3YiwgMHhmMSwgMHhlMCwgMHgzMCwKLSAgMHhlMywgMHgxNiwgMHg3ZSwgMHg3YiwgMHg3ZiwgMHhjMCwgMHg3NSwgMHgxNCwgMHg3YiwgMHg3NSwgMHgxNSwgMHhjMCwgMHg5MCwgMHg3ZiwgMHg5OH19LAotIHsweDEwMDYsIDY0LCB7IDB4NzQsIDB4MmUsIDB4ZjAsIDB4NzUsIDB4MTYsIDB4MDEsIDB4MTIsIDB4MDgsIDB4ZDcsIDB4OTAsIDB4N2MsIDB4MzEsIDB4ZTAsIDB4MzAsIDB4ZTMsIDB4MTYsIDB4N2UsCi0gIDB4N2MsIDB4N2YsIDB4MDAsIDB4NzUsIDB4MTQsIDB4N2MsIDB4NzUsIDB4MTUsIDB4MDAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MmQsIDB4ZjAsIDB4NzUsCi0gIDB4MTYsIDB4MDIsIDB4MTIsIDB4MDgsIDB4ZDcsIDB4OTAsIDB4N2MsIDB4NzEsIDB4ZTAsIDB4MzAsIDB4ZTMsIDB4MTYsIDB4N2UsIDB4N2MsIDB4N2YsIDB4NDAsCi0gIDB4NzUsIDB4MTQsIDB4N2MsIDB4NzUsIDB4MTUsIDB4NDAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MmIsIDB4ZjAsIDB4NzUsIDB4MTYsIDB4MDR9fSwKLSB7MHgxMDQ2LCA2NCwgeyAweDEyLCAweDA4LCAweGQ3LCAweDkwLCAweDdjLCAweGIxLCAweGUwLCAweDMwLCAweGUzLCAweDE2LCAweDdlLCAweDdjLCAweDdmLCAweDgwLCAweDc1LCAweDE0LCAweDdjLAotICAweDc1LCAweDE1LCAweDgwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDI3LCAweGYwLCAweDc1LCAweDE2LCAweDA4LCAweDEyLCAweDA4LCAweGQ3LCAweDA1LAotICAweDEyLCAweGU1LCAweDEyLCAweDU0LCAweDBmLCAweGY1LCAweDE3LCAweDcwLCAweDA0LCAweDEyLCAweDExLCAweDFjLCAweDIyLCAweGU1LCAweDE3LCAweGI0LAotICAweDAxLCAweDA0LCAweDEyLCAweDBjLCAweDhjLCAweDIyLCAweDkwLCAweDdmLCAweGMyLCAweGUwLCAweDIwLCAweGUxLCAweDA4LCAweGU1LCAweDEzfX0sCi0gezB4MTA4NiwgNjQsIHsgMHg2MCwgMHgwNCwgMHgxMiwgMHgwZSwgMHgyOCwgMHgyMiwgMHgxMiwgMHgwYywgMHg4YywgMHgyMiwgMHg3OCwgMHg3ZiwgMHhlNCwgMHhmNiwgMHhkOCwgMHhmZCwgMHg3NSwKLSAgMHg4MSwgMHgzNywgMHgwMiwgMHgxMCwgMHhkNywgMHgwMiwgMHgxMiwgMHgyNCwgMHhlNCwgMHg5MywgMHhhMywgMHhmOCwgMHhlNCwgMHg5MywgMHhhMywgMHg0MCwKLSAgMHgwMywgMHhmNiwgMHg4MCwgMHgwMSwgMHhmMiwgMHgwOCwgMHhkZiwgMHhmNCwgMHg4MCwgMHgyOSwgMHhlNCwgMHg5MywgMHhhMywgMHhmOCwgMHg1NCwgMHgwNywKLSAgMHgyNCwgMHgwYywgMHhjOCwgMHhjMywgMHgzMywgMHhjNCwgMHg1NCwgMHgwZiwgMHg0NCwgMHgyMCwgMHhjOCwgMHg4MywgMHg0MCwgMHgwNCwgMHhmNH19LAotIHsweDEwYzYsIDY0LCB7IDB4NTYsIDB4ODAsIDB4MDEsIDB4NDYsIDB4ZjYsIDB4ZGYsIDB4ZTQsIDB4ODAsIDB4MGIsIDB4MDEsIDB4MDIsIDB4MDQsIDB4MDgsIDB4MTAsIDB4MjAsIDB4NDAsIDB4ODAsCi0gIDB4OTAsIDB4MTgsIDB4NDUsIDB4ZTQsIDB4N2UsIDB4MDEsIDB4OTMsIDB4NjAsIDB4YmMsIDB4YTMsIDB4ZmYsIDB4NTQsIDB4M2YsIDB4MzAsIDB4ZTUsIDB4MDksCi0gIDB4NTQsIDB4MWYsIDB4ZmUsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4NjAsIDB4MDEsIDB4MGUsIDB4Y2YsIDB4NTQsIDB4YzAsIDB4MjUsIDB4ZTAsIDB4NjAsIDB4YTgsCi0gIDB4NDAsIDB4YjgsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZmEsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjgsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4YzgsIDB4YzV9fSwKLSB7MHgxMTA2LCA2NCwgeyAweDgyLCAweGM4LCAweGNhLCAweGM1LCAweDgzLCAweGNhLCAweGYwLCAweGEzLCAweGM4LCAweGM1LCAweDgyLCAweGM4LCAweGNhLCAweGM1LCAweDgzLCAweGNhLCAweGRmLAotICAweGU5LCAweGRlLCAweGU3LCAweDgwLCAweGJlLCAweDkwLCAweDdmLCAweGQyLCAweGUwLCAweDMwLCAweGUxLCAweDAzLCAweDAyLCAweDExLCAweGE1LCAweGMyLAotICAweDA5LCAweDkwLCAweDdiLCAweDQwLCAweGUwLCAweDE0LCAweDYwLCAweDI2LCAweDE0LCAweDYwLCAweDNiLCAweDE0LCAweDYwLCAweDUwLCAweDI0LCAweDgzLAotICAweDYwLCAweDY0LCAweDI0LCAweDgwLCAweDcwLCAweDYzLCAweDdlLCAweDdiLCAweDdmLCAweGMwLCAweDc1LCAweDE0LCAweDdiLCAweDc1LCAweDE1fX0sCi0gezB4MTE0NiwgNjQsIHsgMHhjMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgyZSwgMHhmMCwgMHg3NSwgMHgxNiwgMHgwMSwgMHgxMiwgMHgwMCwgMHg0NiwgMHg4MCwgMHg0YiwgMHg3ZSwgMHg3YywKLSAgMHg3ZiwgMHgwMCwgMHg3NSwgMHgxNCwgMHg3YywgMHg3NSwgMHgxNSwgMHgwMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgyZCwgMHhmMCwgMHg3NSwgMHgxNiwKLSAgMHgwMiwgMHgxMiwgMHgwMCwgMHg0NiwgMHg4MCwgMHgzMywgMHg3ZSwgMHg3YywgMHg3ZiwgMHg0MCwgMHg3NSwgMHgxNCwgMHg3YywgMHg3NSwgMHgxNSwgMHg0MCwKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgyYiwgMHhmMCwgMHg3NSwgMHgxNiwgMHgwNCwgMHgxMiwgMHgwMCwgMHg0NiwgMHg4MCwgMHgxYiwgMHg3ZX19LAotIHsweDExODYsIDY0LCB7IDB4N2MsIDB4N2YsIDB4ODAsIDB4NzUsIDB4MTQsIDB4N2MsIDB4NzUsIDB4MTUsIDB4ODAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MjcsIDB4ZjAsIDB4NzUsIDB4MTYsCi0gIDB4MDgsIDB4MTIsIDB4MDAsIDB4NDYsIDB4ODAsIDB4MDMsIDB4MTIsIDB4MTcsIDB4NTEsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4ZDMsIDB4ZjAsIDB4MjIsIDB4YmIsCi0gIDB4MDEsIDB4MDYsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTAsIDB4MjIsIDB4NTAsIDB4MDIsIDB4ZTcsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDIsIDB4ZTMsCi0gIDB4MjIsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTQsIDB4OTMsIDB4MjIsIDB4YmIsIDB4MDEsIDB4MGMsIDB4ZTUsIDB4ODIsIDB4MjksIDB4ZjV9fSwKLSB7MHgxMWM2LCA2NCwgeyAweDgyLCAweGU1LCAweDgzLCAweDNhLCAweGY1LCAweDgzLCAweGUwLCAweDIyLCAweDUwLCAweDA2LCAweGU5LCAweDI1LCAweDgyLCAweGY4LCAweGU2LCAweDIyLCAweGJiLAotICAweGZlLCAweDA2LCAweGU5LCAweDI1LCAweDgyLCAweGY4LCAweGUyLCAweDIyLCAweGU1LCAweDgyLCAweDI5LCAweGY1LCAweDgyLCAweGU1LCAweDgzLCAweDNhLAotICAweGY1LCAweDgzLCAweGU0LCAweDkzLCAweDIyLCAweGJiLCAweDAxLCAweDA2LCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGYwLCAweDIyLCAweDUwLCAweDAyLAotICAweGY3LCAweDIyLCAweGJiLCAweGZlLCAweDAxLCAweGYzLCAweDIyLCAweGQwLCAweDgzLCAweGQwLCAweDgyLCAweGY4LCAweGU0LCAweDkzLCAweDcwfX0sCi0gezB4MTIwNiwgNjQsIHsgMHgxMiwgMHg3NCwgMHgwMSwgMHg5MywgMHg3MCwgMHgwZCwgMHhhMywgMHhhMywgMHg5MywgMHhmOCwgMHg3NCwgMHgwMSwgMHg5MywgMHhmNSwgMHg4MiwgMHg4OCwgMHg4MywKLSAgMHhlNCwgMHg3MywgMHg3NCwgMHgwMiwgMHg5MywgMHg2OCwgMHg2MCwgMHhlZiwgMHhhMywgMHhhMywgMHhhMywgMHg4MCwgMHhkZiwgMHg5MCwgMHg3ZiwgMHhhZSwKLSAgMHhlMCwgMHhmZiwgMHhkMywgMHg5MiwgMHgwMCwgMHhlNCwgMHgzMywgMHhmZSwgMHhlZiwgMHg0ZSwgMHhmMCwgMHhkMiwgMHhlOCwgMHg0MywgMHhkOCwgMHgyMCwKLSAgMHg5MCwgMHg3ZiwgMHhkZSwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHhmZn19LAotIHsweDEyNDYsIDY0LCB7IDB4ZjAsIDB4OTAsIDB4N2YsIDB4YTksIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWEsIDB4ZjAsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWYsIDB4NzQsIDB4MDEsCi0gIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWUsIDB4NzQsIDB4MGQsIDB4ZjAsIDB4ZDIsIDB4YWYsIDB4ZDIsIDB4MGIsIDB4MTIsIDB4MTgsIDB4MDksIDB4YzIsIDB4MDEsCi0gIDB4ZTQsIDB4ZjUsIDB4MmIsIDB4ZjUsIDB4MzEsIDB4YzIsIDB4MDcsIDB4YzIsIDB4MDIsIDB4NzUsIDB4MjksIDB4MGYsIDB4OTAsIDB4N2YsIDB4ZDgsIDB4ZTAsCi0gIDB4NjUsIDB4MjYsIDB4NjAsIDB4MDYsIDB4NzUsIDB4MzIsIDB4MGYsIDB4ZTAsIDB4ZjUsIDB4MjYsIDB4MzAsIDB4MDIsIDB4MDMsIDB4MTIsIDB4MGZ9fSwKLSB7MHgxMjg2LCA2NCwgeyAweGVmLCAweDMwLCAweDAxLCAweDA3LCAweGMyLCAweDAxLCAweDEyLCAweDA2LCAweDNmLCAweDgwLCAweGUyLCAweDMwLCAweDA4LCAweGRmLCAweGMyLCAweDA4LCAweDEyLAotICAweDE4LCAweDJhLCAweDgwLCAweGQ4LCAweDIyLCAweGU1LCAweDEzLCAweDU1LCAweDE2LCAweDYwLCAweDZhLCAweGU1LCAweDE1LCAweDI0LCAweDNhLCAweGY1LAotICAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDcwLCAweDVjLCAweGU1LCAweDE2LCAweGY0LCAweDUyLCAweDEzLCAweGU1LCAweDE1LAotICAweDI0LCAweDI2LCAweGZmLCAweGU0LCAweDM1LCAweDE0LCAweGZlLCAweGU0LCAweGZkLCAweDBmLCAweGVmLCAweGFhLCAweDA2LCAweDcwLCAweDAxfX0sCi0gezB4MTJjNiwgNjQsIHsgMHgwZSwgMHgxNCwgMHhmNSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlMCwgMHhmYywgMHg3NCwgMHg4MCwgMHgyZCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwKLSAgMHg4MywgMHhlYywgMHhmMCwgMHgwZCwgMHhiZCwgMHgwYiwgMHhlMiwgMHg5MCwgMHg3ZiwgMHhjMywgMHg3NCwgMHgwYiwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwKLSAgMHgzYSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHg3NCwgMHgxMCwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgyZSwgMHhmNSwKLSAgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlNCwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNH19LAotIHsweDEzMDYsIDY0LCB7IDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4MjIsIDB4ZTUsIDB4MjgsIDB4NDUsIDB4MjcsIDB4NjAsIDB4NTcsIDB4YWUsIDB4MjcsIDB4YWYsIDB4MjgsCi0gIDB4ZDMsIDB4ZWYsIDB4OTQsIDB4NDAsIDB4ZWUsIDB4OTQsIDB4MDAsIDB4NDAsIDB4MDQsIDB4N2UsIDB4MDAsIDB4N2YsIDB4NDAsIDB4YzMsIDB4ZTUsIDB4MjgsCi0gIDB4OWYsIDB4ZjUsIDB4MjgsIDB4ZTUsIDB4MjcsIDB4OWUsIDB4ZjUsIDB4MjcsIDB4ZTQsIDB4ZmQsIDB4ZWQsIDB4YzMsIDB4OWYsIDB4ZTQsIDB4OWUsIDB4NTAsCi0gIDB4MWYsIDB4ODUsIDB4MzQsIDB4ODIsIDB4ODUsIDB4MzMsIDB4ODMsIDB4ZTAsIDB4ZmMsIDB4NzQsIDB4MDAsIDB4MmQsIDB4ZjUsIDB4ODIsIDB4ZTR9fSwKLSB7MHgxMzQ2LCA2NCwgeyAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweGVjLCAweGYwLCAweDBkLCAweDA1LCAweDM0LCAweGU1LCAweDM0LCAweDcwLCAweDAyLCAweDA1LCAweDMzLCAweDgwLCAweGRhLAotICAweDkwLCAweDdmLCAweGE5LCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGFjLCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGI1LAotICAweGVmLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweGFjLCAweGUwLCAweDU0LCAweGZlLCAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweGI1LCAweGYwLCAweDIyLAotICAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBmLCAweGYwLCAweGU0LCAweDkwLCAweDc4LCAweDRhLCAweGYwLCAweDkwLCAweDdmLCAweDk0LCAweGYwfX0sCi0gezB4MTM4NiwgNjQsIHsgMHg5MCwgMHg3ZiwgMHg5ZCwgMHg3NCwgMHhmZiwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5NywgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHhmMCwgMHg5MCwgMHg3ZiwKLSAgMHg5MywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5YywgMHg3NCwgMHhmZiwgMHhmMCwgMHgzMCwgMHgwMCwgMHgwNywgMHhlNSwgMHgyOSwgMHg1NCwgMHgwZiwgMHhmZiwKLSAgMHg4MCwgMHgwMiwgMHg3ZiwgMHgwMCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxZiwgMHhmMCwgMHhlNCwKLSAgMHg5MCwgMHg3ZiwgMHg5NSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZSwgMHg3NCwgMHgzZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHhkZn19LAotIHsweDEzYzYsIDY0LCB7IDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTIsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4ZjAsIDB4MjIsIDB4OGYsIDB4MTksIDB4MDUsIDB4MmQsIDB4ZTUsIDB4MmQsIDB4YWUsIDB4MmMsCi0gIDB4NzAsIDB4MDIsIDB4MDUsIDB4MmMsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGUsIDB4ODMsIDB4ZTUsIDB4MTksIDB4ZjAsIDB4MTIsIDB4MTgsIDB4ZWYsIDB4MDUsCi0gIDB4MmQsIDB4ZTUsIDB4MmQsIDB4YWMsIDB4MmMsIDB4NzAsIDB4MDIsIDB4MDUsIDB4MmMsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZWYsIDB4ZjAsCi0gIDB4MTUsIDB4MjMsIDB4ZTUsIDB4MjMsIDB4NjAsIDB4MWYsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTR9fSwKLSB7MHgxNDA2LCA2NCwgeyAweGY1LCAweDgzLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGUwLCAweGZlLCAweDEyLCAweDE4LCAweGQzLCAweDhmLCAweDE5LCAweGVlLCAweDRmLCAweGQwLCAweDgyLAotICAweGQwLCAweDgzLCAweGYwLCAweDgwLCAweGI1LCAweDIyLCAweDkwLCAweDc4LCAweDQxLCAweGU1LCAweDExLCAweGYwLCAweDkwLCAweDc4LCAweDRmLCAweDc0LAotICAweGMwLCAweGYwLCAweGU0LCAweDkwLCAweDc4LCAweDUwLCAweGYwLCAweGU1LCAweDJjLCAweDkwLCAweDc4LCAweDUxLCAweGYwLCAweGFlLCAweDJjLCAweGU1LAotICAweDJkLCAweDkwLCAweDc4LCAweDUyLCAweGYwLCAweDkwLCAweDc4LCAweDU0LCAweGU1LCAweDIzLCAweGYwLCAweDkwLCAweDc4LCAweDU3LCAweDc0fX0sCi0gezB4MTQ0NiwgNjQsIHsgMHgwNCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlMiwgMHhlMCwgMHg0NCwgMHgxMCwgMHhmMCwgMHhlMCwgMHg1NCwgMHhmNywgMHhmMCwgMHhlNCwgMHg5MCwgMHg3OCwgMHg1NSwKLSAgMHhmMCwgMHg5MCwgMHg3OCwgMHg1NSwgMHhlMCwgMHg2MCwgMHhmYSwgMHgyMiwgMHg4ZiwgMHgxOSwgMHhlNCwgMHhmNSwgMHgxYSwgMHg3NSwgMHgxYiwgMHhmZiwKLSAgMHg3NSwgMHgxYywgMHgxOSwgMHg3NSwgMHgxZCwgMHg4NiwgMHhhYiwgMHgxYiwgMHhhYSwgMHgxYywgMHhhOSwgMHgxZCwgMHg5MCwgMHgwMCwgMHgwMSwgMHgxMiwKLSAgMHgxMSwgMHhiZiwgMHhiNCwgMHgwMywgMHgxZCwgMHhhZiwgMHgxYSwgMHgwNSwgMHgxYSwgMHhlZiwgMHhiNSwgMHgxOSwgMHgwMSwgMHgyMiwgMHgxMn19LAotIHsweDE0ODYsIDY0LCB7IDB4MTEsIDB4YTYsIDB4N2UsIDB4MDAsIDB4MjksIDB4ZmYsIDB4ZWUsIDB4M2EsIDB4YTksIDB4MDcsIDB4NzUsIDB4MWIsIDB4ZmYsIDB4ZjUsIDB4MWMsIDB4ODksIDB4MWQsCi0gIDB4ODAsIDB4ZDQsIDB4N2IsIDB4MDAsIDB4N2EsIDB4MDAsIDB4NzksIDB4MDAsIDB4MjIsIDB4OTAsIDB4NzgsIDB4NDEsIDB4ZTUsIDB4MTEsIDB4ZjAsIDB4ZTUsCi0gIDB4MmMsIDB4OTAsIDB4NzgsIDB4NGYsIDB4ZjAsIDB4YWUsIDB4MmMsIDB4ZTUsIDB4MmQsIDB4OTAsIDB4NzgsIDB4NTAsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NTEsCi0gIDB4NzQsIDB4YzAsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4NzgsIDB4NTIsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NTQsIDB4ZTUsIDB4MjMsIDB4ZjAsIDB4OTB9fSwKLSB7MHgxNGM2LCA2NCwgeyAweDc4LCAweDU3LCAweDc0LCAweDA0LCAweGYwLCAweGU0LCAweDkwLCAweDc4LCAweDU1LCAweGYwLCAweDkwLCAweDc4LCAweDU1LCAweGUwLCAweDYwLCAweGZhLCAweDIyLAotICAweGU1LCAweDE1LCAweDI0LCAweDA0LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDE0LCAweDYwLCAweDBmLCAweDE0LAotICAweDYwLCAweDEzLCAweDE0LCAweDYwLCAweDE3LCAweDgwLCAweDAwLCAweDkwLCAweDdmLCAweGM3LCAweGVmLCAweGYwLCAweDgwLCAweDEzLCAweDkwLCAweDdmLAotICAweGM5LCAweGVmLCAweGYwLCAweDgwLCAweDBjLCAweDkwLCAweDdmLCAweGNiLCAweGVmLCAweGYwLCAweDgwLCAweDA1LCAweDkwLCAweDdmLCAweGNkfX0sCi0gezB4MTUwNiwgNjQsIHsgMHhlZiwgMHhmMCwgMHhlNSwgMHgxNiwgMHg0MiwgMHgyYSwgMHgyMiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgwNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwKLSAgMHg4MywgMHhlMCwgMHgxNCwgMHg2MCwgMHgwZiwgMHgxNCwgMHg2MCwgMHgxMywgMHgxNCwgMHg2MCwgMHgxNywgMHg4MCwgMHgwMCwgMHg5MCwgMHg3ZiwgMHhiNywKLSAgMHhlZiwgMHhmMCwgMHg4MCwgMHgxMywgMHg5MCwgMHg3ZiwgMHhiOSwgMHhlZiwgMHhmMCwgMHg4MCwgMHgwYywgMHg5MCwgMHg3ZiwgMHhiYiwgMHhlZiwgMHhmMCwKLSAgMHg4MCwgMHgwNSwgMHg5MCwgMHg3ZiwgMHhiZCwgMHhlZiwgMHhmMCwgMHhlNSwgMHgxNiwgMHg0MiwgMHgyYSwgMHgyMiwgMHhhZSwgMHgwNywgMHhlNH19LAotIHsweDE1NDYsIDY0LCB7IDB4ZmYsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4ZmQsIDB4MTIsCi0gIDB4MTYsIDB4NmIsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4ZjEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWUsIDB4ZjAsIDB4ZTQsIDB4ZTUsIDB4MTUsCi0gIDB4MjQsIDB4MzIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZmQsIDB4MTIsIDB4MTYsIDB4NmIsCi0gIDB4MjIsIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ZjAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODZ9fSwKLSB7MHgxNTg2LCA2NCwgeyAweDc1LCAweDg2LCAweDAwLCAweGMwLCAweGQwLCAweDc1LCAweGQwLCAweDA4LCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGE5LCAweDc0LCAweDAxLCAweGYwLAotICAweDEyLCAweDEzLCAweDBkLCAweGQwLCAweGQwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLAotICAweGYwLCAweGQwLCAweGUwLCAweDMyLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweGYzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLAotICAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweGYxLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDc4LCAweDQxLCAweDc0fX0sCi0gezB4MTVjNiwgNjQsIHsgMHhmMywgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzNywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHg3ZiwgMHg5MCwKLSAgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHhmMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwKLSAgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHhmMiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHhmMywKLSAgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzNywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHg3Zn19LAotIHsweDE2MDYsIDY0LCB7IDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4ZjMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsCi0gIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4ZjQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4ZjMsCi0gIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzcsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4OTAsCi0gIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4ZjMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmZ9fSwKLSB7MHgxNjQ2LCA2NCwgeyAweGYwLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweGY2LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweGYzLAotICAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDM3LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweDdmLCAweDkwLAotICAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweGYzLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDM3LCAweGY1LCAweDgyLAotICAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDc4LCAweDQxfX0sCi0gezB4MTY4NiwgNjQsIHsgMHg3NCwgMHhmNywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHhmNSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwKLSAgMHhlZCwgMHhmMCwgMHgyMiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgwNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHgxNCwKLSAgMHg2MCwgMHgwZSwgMHgxNCwgMHg2MCwgMHgxMSwgMHgxNCwgMHg2MCwgMHgxNCwgMHg4MCwgMHgwMCwgMHg5MCwgMHg3ZiwgMHhjNiwgMHhlMCwgMHhmZiwgMHgyMiwKLSAgMHg5MCwgMHg3ZiwgMHhjOCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhjYSwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhjY319LAotIHsweDE2YzYsIDY0LCB7IDB4ZTAsIDB4ZmYsIDB4MjIsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MDQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTQsIDB4NjAsCi0gIDB4MGUsIDB4MTQsIDB4NjAsIDB4MTEsIDB4MTQsIDB4NjAsIDB4MTQsIDB4ODAsIDB4MDAsIDB4OTAsIDB4N2YsIDB4YjYsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsCi0gIDB4N2YsIDB4YjgsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4YmEsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4YmMsIDB4ZTAsIDB4ZmYsCi0gIDB4MjIsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MDQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTQsIDB4NjB9fSwKLSB7MHgxNzA2LCA2NCwgeyAweDBlLCAweDE0LCAweDYwLCAweDExLCAweDE0LCAweDYwLCAweDE0LCAweDgwLCAweDAwLCAweDkwLCAweDdmLCAweGM3LCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLAotICAweGM5LCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweGNiLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweGNkLCAweGUwLCAweGZmLCAweDIyLAotICAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweDkwLAotICAweDdmLCAweGM0LCAweGU0LCAweGYwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDA0LCAweGYwLCAweGQwLCAweDg2fX0sCi0gezB4MTc0NiwgNjQsIHsgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwgMHg5MCwgMHg3YiwgMHg0MSwgMHhlMCwgMHhmNSwgMHgzNiwKLSAgMHg0MywgMHgxMywgMHgxMCwgMHhhMywgMHhlMCwgMHg2MCwgMHgwOSwgMHg5MCwgMHg3ZiwgMHhkNywgMHg3NCwgMHgxNywgMHhmMCwgMHg3NCwgMHgzNywgMHhmMCwKLSAgMHg5MCwgMHg3YiwgMHg0MywgMHhlMCwgMHhmNSwgMHgzNywgMHhhMywgMHhlMCwgMHg1NCwgMHhmMCwgMHhmNSwgMHgyOSwgMHhlMCwgMHg2MCwgMHgwMiwgMHhkMiwKLSAgMHgwYSwgMHgyMiwgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NX19LAotIHsweDE3ODYsIDY0LCB7IDB4ODYsIDB4MDAsIDB4ZDIsIDB4MDEsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsCi0gIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsCi0gIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4ZDIsIDB4MDgsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsCi0gIDB4NzQsIDB4MDgsIDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTB9fSwKLSB7MHgxN2M2LCA2NCwgeyAweDMyLCAweDEyLCAweDE4LCAweGI3LCAweGFlLCAweDA3LCAweDEyLCAweDE4LCAweGI3LCAweGFkLCAweDA3LCAweGVlLCAweDZkLCAweDYwLCAweDEwLCAweDEyLCAweDE4LAotICAweGI3LCAweGFlLCAweDA3LCAweGVlLCAweDZkLCAweDYwLCAweDA3LCAweDEyLCAweDE4LCAweGI3LCAweGFkLCAweDA3LCAweDgwLCAweGVjLCAweGFmLCAweDA2LAotICAweDIyLCAweDc0LCAweDAwLCAweGY1LCAweDg2LCAweDkwLCAweGZkLCAweGE1LCAweDdjLCAweDA1LCAweGEzLCAweGU1LCAweDgyLCAweDQ1LCAweDgzLCAweDcwLAotICAweGY5LCAweDIyLCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDQ0LCAweDgwLCAweGYwLCAweDQzLCAweDg3LCAweDAxLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTgwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg0NCwgMHgwNCwgMHhmMCwgMHhlMCwgMHg0NCwgMHgwOCwgMHhmMCwgMHgzMCwgMHgwYiwgMHgwNCwKLSAgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHg3ZiwgMHhmNCwgMHg3ZSwgMHgwMSwgMHgxMiwgMHgxOCwgMHg2MCwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg1NCwKLSAgMHhmNywgMHhmMCwgMHgyMiwgMHgxMiwgMHgxMywgMHg3NywgMHgxMiwgMHgxNywgMHhmOSwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHgzMCwgMHhlNywgMHgwYSwKLSAgMHg3ZiwgMHgwNSwgMHg3ZSwgMHgwMCwgMHgxMiwgMHgxOCwgMHg2MCwgMHgxMiwgMHgxOCwgMHg5MywgMHgxMiwgMHgwYSwgMHhjZSwgMHgyMiwgMHgwM319LAotIHsweDE4NDYsIDY0LCB7IDB4MzUsIDB4ODAsIDB4MDAsIDB4MDAsIDB4MDMsIDB4MmUsIDB4ODEsIDB4MDAsIDB4MDAsIDB4YzEsIDB4ODUsIDB4YzEsIDB4ODEsIDB4YzEsIDB4MDgsIDB4YzEsIDB4MDAsCi0gIDB4YzEsIDB4MDYsIDB4MDEsIDB4MjIsIDB4MDAsIDB4MDEsIDB4MjQsIDB4MDAsIDB4MDAsIDB4OGUsIDB4MTcsIDB4OGYsIDB4MTgsIDB4ZTUsIDB4MTgsIDB4MTUsCi0gIDB4MTgsIDB4YWUsIDB4MTcsIDB4NzAsIDB4MDIsIDB4MTUsIDB4MTcsIDB4NGUsIDB4NjAsIDB4MDgsIDB4MTIsIDB4MTcsIDB4ZTgsIDB4MTIsIDB4MTcsIDB4ZTgsCi0gIDB4ODAsIDB4ZWIsIDB4MjIsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MDQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTB9fSwKLSB7MHgxODg2LCA2NCwgeyAweDA0LCAweGZmLCAweDQ0LCAweDEwLCAweDkwLCAweDdmLCAweGQ3LCAweGYwLCAweGVmLCAweDQ0LCAweDMwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweGQ2LCAweGUwLAotICAweDQ0LCAweDAxLCAweGYwLCAweDdmLCAweDBkLCAweDdlLCAweDAwLCAweDEyLCAweDE4LCAweDYwLCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDU0LCAweGZlLAotICAweGYwLCAweDIyLCAweGU1LCAweDExLCAweDI0LCAweDAyLCAweDkwLCAweDc4LCAweDQxLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLAotICAweGU1LCAweDExLCAweDI0LCAweDAzLCAweDkwLCAweDc4LCAweDQxLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweGU1fX0sCi0gezB4MThjNiwgNjQsIHsgMHgxMSwgMHgyNCwgMHgwNCwgMHg5MCwgMHg3OCwgMHg0MSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHhlNSwgMHgxMSwgMHgyNCwgMHgwNSwKLSAgMHg5MCwgMHg3OCwgMHg0MSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHhlNSwgMHgxMSwgMHgyNCwgMHgwNiwgMHg5MCwgMHg3OCwKLSAgMHg0MSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3OCwgMHg0MSwgMHhlNSwgMHgxMSwgMHhmMCwgMHg5MCwgMHhjMCwKLSAgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg1MywgMHhkOCwgMHhlZiwgMHgzMiwgMHgwMCwgMHgxMiwgMHgwMSwgMHgxMCwgMHgwMSwgMHhmZiwgMHhmZn19LAotIHsweDE5MDYsIDY0LCB7IDB4ZmYsIDB4NDAsIDB4Y2QsIDB4MDYsIDB4MmEsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MDIsIDB4MDAsIDB4MDQsIDB4MDksIDB4MDIsIDB4NzQsIDB4MDAsIDB4MDEsCi0gIDB4MDEsIDB4MDAsIDB4YTAsIDB4MzIsIDB4MDksIDB4MDQsIDB4MDAsIDB4MDAsIDB4MGUsIDB4ZmYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDEsCi0gIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDIsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDMsIDB4MDIsIDB4NDAsCi0gIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDQsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDUsIDB4MDIsIDB4NDAsIDB4MDB9fSwKLSB7MHgxOTQ2LCA2NCwgeyAweDAwLCAweDA3LCAweDA1LCAweDA2LCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDA3LCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LAotICAweDgxLCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDgyLCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDgzLCAweDAyLAotICAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDg0LCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDg1LCAweDAyLCAweDQwLCAweDAwLAotICAweDAxLCAweDA3LCAweDA1LCAweDg2LCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDg3LCAweDAyLCAweDQwLCAweDAwLCAweDAxfX0sCi0gezB4MTk4NiwgNjQsIHsgMHgwNCwgMHgwMywgMHgwOSwgMHgwNCwgMHg0OCwgMHgwMywgMHg0YiwgMHgwMCwgMHg2NSwgMHgwMCwgMHg3OSwgMHgwMCwgMHg3MywgMHgwMCwgMHg3MCwgMHgwMCwgMHg2MSwKLSAgMHgwMCwgMHg2ZSwgMHgwMCwgMHgyYywgMHgwMCwgMHgyMCwgMHgwMCwgMHg2MSwgMHgwMCwgMHgyMCwgMHgwMCwgMHg2NCwgMHgwMCwgMHg2OSwgMHgwMCwgMHg3NiwKLSAgMHgwMCwgMHg2OSwgMHgwMCwgMHg3MywgMHgwMCwgMHg2OSwgMHgwMCwgMHg2ZiwgMHgwMCwgMHg2ZSwgMHgwMCwgMHgyMCwgMHgwMCwgMHg2ZiwgMHgwMCwgMHg2NiwKLSAgMHgwMCwgMHgyMCwgMHgwMCwgMHg0OSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2ZiwgMHgwMCwgMHg1MywgMHgwMCwgMHg3OSwgMHgwMH19LAotIHsweDE5YzYsIDY0LCB7IDB4NzMsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NDksIDB4MDAsIDB4NmUsIDB4MDAsIDB4NjMsIDB4MDAsIDB4MmUsIDB4MDAsIDB4MjQsIDB4MDMsIDB4NGIsIDB4MDAsIDB4NjUsCi0gIDB4MDAsIDB4NzksIDB4MDAsIDB4NzMsIDB4MDAsIDB4NzAsIDB4MDAsIDB4NjEsIDB4MDAsIDB4NmUsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NTUsIDB4MDAsIDB4NTMsCi0gIDB4MDAsIDB4NDEsIDB4MDAsIDB4MmQsIDB4MDAsIDB4MzQsIDB4MDAsIDB4MzksIDB4MDAsIDB4NTcsIDB4MDAsIDB4NGMsIDB4MDAsIDB4NDMsIDB4MDAsIDB4MjIsCi0gIDB4MDMsIDB4NTUsIDB4MDAsIDB4NTMsIDB4MDAsIDB4NDEsIDB4MDAsIDB4MmQsIDB4MDAsIDB4MzYsIDB4MDAsIDB4MzUsIDB4MDAsIDB4MjAsIDB4MDB9fSwKLSB7MHgxYTA2LCA2NCwgeyAweDMyLCAweDAwLCAweDMwLCAweDAwLCAweDMwLCAweDAwLCAweDMzLCAweDAwLCAweDZhLCAweDAwLCAweDYxLCAweDAwLCAweDZlLCAweDAwLCAweDMzLCAweDAwLCAweDMxLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MWE0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDFhODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxYWM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDE3LCAweDc5LCAweDAwLCAweDAyLCAweDFifX0sCi0gezB4MWIwNiwgMjEsIHsgMHgwNCwgMHgwMCwgMHgwMiwgMHgxNywgMHgyNywgMHgwMCwgMHgwMiwgMHgxNywgMHhhMCwgMHgwMCwgMHgwMiwgMHgxYiwgMHgxMCwgMHgwMCwgMHgwMiwgMHgxYiwgMHgxNCwKLSAgMHgwMCwgMHgwMiwgMHgxNSwgMHg3OH19LAotIHsweGZmZmYsICAwLCB7IDB4MDB9fSwKLX07Ci0KLQpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Ivc2VyaWFsL3RpX2Z3XzM0MTAuaCBiL2RyaXZlcnMvdXNiL3NlcmlhbC90aV9md18zNDEwLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcxZTg4NTcuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy91c2Ivc2VyaWFsL3RpX2Z3XzM0MTAuaAorKysgL2Rldi9udWxsCkBAIC0xLDg4NSArMCwwIEBACi0vKiB2aTogdHM9OCBzdz04Ci0gKgotICogVEkgMzQxMCBVU0IgU2VyaWFsIERyaXZlciBGaXJtd2FyZSBIZWFkZXIKLSAqCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDQgVGV4YXMgSW5zdHJ1bWVudHMKLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCi0gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICovCi0KLSNpZm5kZWYgX1RJX0ZXXzM0MTBfSF8KLSNkZWZpbmUgX1RJX0ZXXzM0MTBfSF8KLQotLyogZmlybXdhcmUgOS8xMC8wNCBGVzM0MTBfU3BlY2lhbF9TdGFydFdkb2dPblN0YXJ0UG9ydCAqLwotCi1zdGF0aWMgdW5zaWduZWQgY2hhciB0aV9md18zNDEwW10gPSB7Ci0weEMyLCAweDM1LAkvKiBmaXJtd2FyZSBpbWFnZSBsZW5ndGggZXhjbHVkaW5nIGhlYWRlciwgbGl0dGxlIGVuZGlhbiAqLwotMHgwMCwgCQkvKiBwbGFjZWhvbGRlciBmb3IgY2hlY2tzdW0gKi8KLQotMHgwMiwweDAwLDB4MWUsMHgwMiwweDFhLDB4ZGIsMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4MDIsMHgzMiwweGNiLDB4ZmYsMHhmZiwKLTB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweDAyLDB4MzMsMHg3NiwweDc1LDB4ODEsCi0weGNlLDB4OTAsMHhmZCwweGU4LDB4ODUsMHg4MywweGEwLDB4MTIsMHgzNCwweGVhLDB4ZWMsMHg0ZCwweDYwLDB4NmEsMHg3OCwweGFiLAotMHg4MCwweDAzLDB4NzYsMHgwMCwweDE4LDB4YjgsMHg5YywweGZhLDB4NzgsMHg3ZiwweDgwLDB4MDMsMHg3NiwweDAwLDB4MTgsMHhiOCwKLTB4NjUsMHhmYSwweDc4LDB4MjAsMHg4MCwweDAzLDB4NzYsMHgwMCwweDE4LDB4YjgsMHgyMCwweGZhLDB4OTAsMHhmZCwweGRkLDB4YWUsCi0weDgzLDB4YWYsMHg4MiwweDkwLDB4ZmIsMHhmOCwweDEyLDB4MDAsMHhhMSwweDYwLDB4MDUsMHhlNCwweGYwLDB4YTMsMHg4MCwweGY2LAotMHg5MCwweGZkLDB4ZTgsMHhhOCwweDgyLDB4OTAsMHhmZCwweGU4LDB4YTksMHg4MiwweGU4LDB4YzMsMHg5OSwweDUwLDB4MDUsMHg3NiwKLTB4MDAsMHgwOCwweDgwLDB4ZjYsMHg5MCwweDAwLDB4ZmYsMHgxMiwweDAwLDB4YWEsMHg5MCwweDAxLDB4MDMsMHgxMiwweDAwLDB4YWEsCi0weDkwLDB4MDEsMHgwNywweDEyLDB4MDAsMHhhYSwweDkwLDB4MDEsMHgwYiwweDEyLDB4MDAsMHhjOCwweDkwLDB4MDEsMHgxMSwweDEyLAotMHgwMCwweGM4LDB4OTAsMHgwMSwweDE3LDB4MTIsMHgwMCwweGM4LDB4NzUsMHhkMCwweDAwLDB4MTIsMHgzMywweGM4LDB4MDIsMHgwMSwKLTB4MWQsMHhlZiwweDY1LDB4ODIsMHg3MCwweDAzLDB4ZWUsMHg2NSwweDgzLDB4MjIsMHhlNCwweDkzLDB4ZjgsMHg3NCwweDAxLDB4OTMsCi0weGY5LDB4NzQsMHgwMiwweDkzLDB4ZmUsMHg3NCwweDAzLDB4OTMsMHhmNSwweDgyLDB4OGUsMHg4MywweGU4LDB4NjksMHg3MCwweDAxLAotMHgyMiwweGU0LDB4OTMsMHhmNiwweGEzLDB4MDgsMHg4MCwweGY0LDB4ZTQsMHg5MywweGZjLDB4NzQsMHgwMSwweDkzLDB4ZmQsMHg3NCwKLTB4MDIsMHg5MywweGZlLDB4NzQsMHgwMywweDkzLDB4ZmYsMHg3NCwweDA0LDB4OTMsMHhmOCwweDc0LDB4MDUsMHg5MywweGY1LDB4ODIsCi0weDg4LDB4ODMsMHgxMiwweDAwLDB4YTEsMHg3MCwweDAxLDB4MjIsMHhlNCwweDkzLDB4YTMsMHhhOCwweDgzLDB4YTksMHg4MiwweDhjLAotMHg4MywweDhkLDB4ODIsMHhmMCwweGEzLDB4YWMsMHg4MywweGFkLDB4ODIsMHg4OCwweDgzLDB4ODksMHg4MiwweDgwLDB4ZTMsMHgyMSwKLTB4MjEsMHgwNCwweDkyLDB4ODAsMHg4MCwweDA0LDB4OTIsMHhhYywweGFlLDB4MDQsMHg5MiwweGZkLDB4ZTgsMHgwNCwweDk0LDB4MDQsCi0weDk0LDB4ZmIsMHhmMywweDA0LDB4OTksMHgwNCwweDk0LDB4ZmIsMHhmMywweDA0LDB4ZjksMHgwNCwweGY5LDB4ODAsMHhmZSwweGQwLAotMHhmMCwweDMwLDB4ZjAsMHgwOSwweDIwLDB4ZjMsMHgwMywweGY2LDB4ODAsMHgxMCwweGY3LDB4ODAsMHgwZCwweDMwLDB4ZjEsMHgwOSwKLTB4MjAsMHhmMywweDAzLDB4ZjIsMHg4MCwweDA0LDB4ZjMsMHg4MCwweDAxLDB4ZjAsMHgyMCwweGY0LDB4MDQsMHhmYywweGQwLDB4ZTAsCi0weGNjLDB4MjIsMHhjYywweGMwLDB4ZTAsMHgxMiwweDAxLDB4NWEsMHgwMiwweDAxLDB4NGIsMHhiYywweDAwLDB4MDUsMHhkMCwweGYwLAotMHhhYywweGYwLDB4MjIsMHhjMywweDEzLDB4ZGMsMHhmYywweDAyLDB4MDEsMHgyMSwweGJmLDB4MDAsMHgwOSwweGVkLDB4MjUsMHg4MiwKLTB4NzUsMHhmMCwweDAxLDB4ZjgsMHhlNiwweDIyLDB4YmYsMHgwMSwweDBmLDB4ZWQsMHgyNSwweDgyLDB4ZjUsMHg4MiwweGVlLDB4MzUsCi0weDgzLDB4ZjUsMHg4MywweDc1LDB4ZjAsMHgwNCwweGUwLDB4MjIsMHhlZCwweDI1LDB4ODIsMHg3NSwweGYwLDB4MDIsMHhmOCwweGUyLAotMHgyMiwweGQwLDB4ODMsMHhkMCwweDgyLDB4ZjUsMHhmMCwweGMzLDB4ZTQsMHg5MywweGEzLDB4YzUsMHhmMCwweDk1LDB4ZjAsMHhjMCwKLTB4ZTAsMHhjMywweGQwLDB4ZjAsMHhlNCwweDkzLDB4YTMsMHg5NSwweGYwLDB4NDAsMHgxMiwweGEzLDB4YTMsMHhjMywweGU1LDB4ZjAsCi0weDMzLDB4NTAsMHgwMiwweDA1LDB4ODMsMHgyNSwweDgyLDB4ZjUsMHg4MiwweDUwLDB4MDIsMHgwNSwweDgzLDB4NzQsMHgwMSwweDkzLAotMHhjMCwweGUwLDB4ZTQsMHg5MywweGMwLDB4ZTAsMHgyMiwweGQwLDB4ODMsMHhkMCwweDgyLDB4ZjUsMHhmMCwweGU0LDB4OTMsMHg3MCwKLTB4MDksMHg3NCwweDAxLDB4OTMsMHg3MCwweDA0LDB4YTMsMHhhMywweDgwLDB4MGMsMHg3NCwweDAyLDB4OTMsMHg2NSwweGYwLDB4NjAsCi0weDA1LDB4YTMsMHhhMywweGEzLDB4ODAsMHhlNywweDc0LDB4MDEsMHg5MywweGMwLDB4ZTAsMHhlNCwweDkzLDB4YzAsMHhlMCwweDIyLAotMHgxMiwweDAyLDB4NWIsMHgwMiwweDAxLDB4ZjIsMHgxMiwweDAyLDB4YWYsMHgwMiwweDAxLDB4ZjIsMHgxMiwweDAyLDB4ZDMsMHgwMiwKLTB4MDEsMHhmMiwweDMwLDB4ZTAsMHgwNywweDIwLDB4ZTMsMHgwMiwweGU2LDB4MjIsMHhlNywweDIyLDB4MzAsMHhlMSwweDA3LDB4MjAsCi0weGUzLDB4MDIsMHhlMiwweDIyLDB4ZTMsMHgyMiwweDMwLDB4ZTIsMHgwMiwweGUwLDB4MjIsMHhlNCwweDkzLDB4MjIsMHgxMiwweDAyLAotMHhkMywweDAyLDB4MDIsMHgxYSwweDEyLDB4MDIsMHhhZiwweDAyLDB4MDIsMHgxYSwweGFiLDB4ZjAsMHgxMiwweDAyLDB4MjQsMHhjYiwKLTB4YzUsMHhmMCwweGNiLDB4MjIsMHgzMCwweGUwLDB4MTAsMHgyMCwweGUzLDB4MDYsMHhlNiwweGY1LDB4ZjAsMHgwOCwweGU2LDB4MjIsCi0weGU3LDB4ZjUsMHhmMCwweDA5LDB4ZTcsMHgxOSwweDIyLDB4MzAsMHhlMSwweDEwLDB4MjAsMHhlMywweDA2LDB4ZTIsMHhmNSwweGYwLAotMHgwOCwweGUyLDB4MjIsMHhlMywweGY1LDB4ZjAsMHgwOSwweGUzLDB4MTksMHgyMiwweDMwLDB4ZTIsMHgwNiwweGUwLDB4ZjUsMHhmMCwKLTB4YTMsMHhlMCwweDIyLDB4ZTQsMHg5MywweGY1LDB4ZjAsMHg3NCwweDAxLDB4OTMsMHgyMiwweGJiLDB4MDAsMHgwMywweDc0LDB4MDksCi0weDIyLDB4YmIsMHgwMSwweDA3LDB4ODksMHg4MiwweDhhLDB4ODMsMHg3NCwweDA0LDB4MjIsMHhiYiwweDAyLDB4MDcsMHg4OSwweDgyLAotMHg4YSwweDgzLDB4NzQsMHgxMCwweDIyLDB4NzQsMHgwYSwweDIyLDB4MDIsMHgwMiwweDdiLDB4YmIsMHgwMCwweDA3LDB4ZTksMHgyNSwKLTB4ODIsMHhmOCwweDc0LDB4MDEsMHgyMiwweGJiLDB4MDEsMHgwZCwweGU5LDB4MjUsMHg4MiwweGY1LDB4ODIsMHhlYSwweDM1LDB4ODMsCi0weGY1LDB4ODMsMHg3NCwweDA0LDB4MjIsMHhiYiwweDAyLDB4MGQsMHhlOSwweDI1LDB4ODIsMHhmNSwweDgyLDB4ZWEsMHgzNSwweDgzLAotMHhmNSwweDgzLDB4NzQsMHgxMCwweDIyLDB4ZTksMHgyNSwweDgyLDB4ZjgsMHg3NCwweDAyLDB4MjIsMHgwMiwweDAyLDB4YWYsMHhiZiwKLTB4MDAsMHgwNSwweGVkLDB4ZjgsMHg3NCwweDAxLDB4MjIsMHhiZiwweDAxLDB4MDcsMHg4ZCwweDgyLDB4OGUsMHg4MywweDc0LDB4MDQsCi0weDIyLDB4YmYsMHgwMiwweDA3LDB4OGQsMHg4MiwweDhlLDB4ODMsMHg3NCwweDEwLDB4MjIsMHhlZCwweGY4LDB4NzQsMHgwMiwweDIyLAotMHgwMiwweDAyLDB4ZDMsMHhiZiwweDAwLDB4MDcsMHhlZCwweDI1LDB4ODIsMHhmOCwweDc0LDB4MDEsMHgyMiwweGJmLDB4MDEsMHgwZCwKLTB4ZWQsMHgyNSwweDgyLDB4ZjUsMHg4MiwweGVlLDB4MzUsMHg4MywweGY1LDB4ODMsMHg3NCwweDA0LDB4MjIsMHhiZiwweDAyLDB4MGQsCi0weGVkLDB4MjUsMHg4MiwweGY1LDB4ODIsMHhlZSwweDM1LDB4ODMsMHhmNSwweDgzLDB4NzQsMHgxMCwweDIyLDB4ZWQsMHgyNSwweDgyLAotMHhmOCwweDc0LDB4MDIsMHgyMiwweDAyLDB4MDMsMHgwNywweGMwLDB4ZTAsMHgxMiwweDAyLDB4NWIsMHgwMiwweDAzLDB4MWYsMHhjMCwKLTB4ZTAsMHgxMiwweDAyLDB4YWYsMHgwMiwweDAzLDB4MWYsMHhjMCwweGUwLDB4MTIsMHgwMiwweGQzLDB4MDIsMHgwMywweDFmLDB4MzAsCi0weGUwLDB4MGIsMHgyMCwweGUzLDB4MDQsMHhkMCwweGUwLDB4ZjYsMHgyMiwweGQwLDB4ZTAsMHhmNywweDIyLDB4MzAsMHhlMSwweDBiLAotMHgyMCwweGUzLDB4MDQsMHhkMCwweGUwLDB4ZjIsMHgyMiwweGQwLDB4ZTAsMHhmMywweDIyLDB4ZDAsMHhlMCwweGYwLDB4MjIsMHhjOSwKLTB4Y2QsMHhjOSwweGNhLDB4Y2UsMHhjYSwweGNiLDB4Y2YsMHhjYiwweDEyLDB4MDMsMHg1MiwweGVkLDB4ZjksMHhlZSwweGZhLDB4ZWYsCi0weGZiLDB4MjIsMHhiYiwweDAwLDB4MmYsMHhiZiwweDAwLDB4MGEsMHhmYSwweGVkLDB4ZjgsMHhlNywweGY2LDB4MDgsMHgwOSwweGRhLAotMHhmYSwweDIyLDB4YmYsMHgwMSwweDEyLDB4OGQsMHg4MiwweDhlLDB4ODMsMHhmOCwweDAyLDB4MDMsMHg2ZiwweDA5LDB4YTMsMHhlNywKLTB4ZjAsMHhkOCwweGZhLDB4MjIsMHgwMiwweDAzLDB4N2EsMHhmYSwweGVkLDB4ZjgsMHhlNywweGYyLDB4MDgsMHgwOSwweGRhLDB4ZmEsCi0weDIyLDB4MDIsMHgwMywweDg0LDB4YmIsMHgwMSwweDRkLDB4YmYsMHgwMCwweDE0LDB4ODksMHg4MiwweDhhLDB4ODMsMHhmOSwweGVkLAotMHhmOCwweDAyLDB4MDMsMHg5NiwweDA4LDB4YTMsMHhlMCwweGY2LDB4ZDksMHhmYSwweDIyLDB4MDIsMHgwMywweGE3LDB4YmYsMHgwMSwKLTB4MjIsMHg4ZCwweDgyLDB4OGUsMHg4MywweGZiLDB4MDgsMHhjOSwweGM1LDB4ODIsMHhjOSwweGNhLDB4YzUsMHg4MywweGNhLDB4ZTAsCi0weGEzLDB4YzksMHhjNSwweDgyLDB4YzksMHhjYSwweGM1LDB4ODMsMHhjYSwweGYwLDB4YTMsMHhkYiwweGVhLDB4ZDgsMHhlOCwweDIyLAotMHgwMiwweDAzLDB4Y2EsMHg4ZCwweDgyLDB4OGUsMHg4MywweGY5LDB4ZWQsMHhmOCwweGUwLDB4ZjIsMHgwOCwweGEzLDB4ZDksMHhmYSwKLTB4MjIsMHgwMiwweDAzLDB4ZDQsMHhiYiwweDAyLDB4NGQsMHhiZiwweDAwLDB4MTIsMHg4OSwweDgyLDB4OGEsMHg4MywweGY5LDB4ZWQsCi0weGY4LDB4MDIsMHgwMywweGU2LDB4MDgsMHhhMywweGU0LDB4OTMsMHhmNiwweGQ5LDB4ZjksMHgyMiwweGJmLDB4MDEsMHgyMywweDhkLAotMHg4MiwweDhlLDB4ODMsMHhmYiwweDA4LDB4YzksMHhjNSwweDgyLDB4YzksMHhjYSwweGM1LDB4ODMsMHhjYSwweGU0LDB4OTMsMHhhMywKLTB4YzksMHhjNSwweDgyLDB4YzksMHhjYSwweGM1LDB4ODMsMHhjYSwweGYwLDB4YTMsMHhkYiwweGU5LDB4ZDgsMHhlNywweDIyLDB4MDIsCi0weDA0LDB4MTksMHg4OSwweDgyLDB4OGEsMHg4MywweGY5LDB4ZWQsMHhmOCwweGU0LDB4OTMsMHhmMiwweDA4LDB4YTMsMHhkOSwweGY5LAotMHgyMiwweDAyLDB4MDQsMHgyYSwweGJmLDB4MDAsMHgwZCwweGZhLDB4ZWQsMHhmOCwweGUzLDB4ZjYsMHgwOCwweDA5LDB4ZGEsMHhmYSwKLTB4MjIsMHgwMiwweDA0LDB4MzQsMHhiZiwweDAxLDB4MTIsMHg4ZCwweDgyLDB4OGUsMHg4MywweGY4LDB4MDIsMHgwNCwweDQxLDB4MDksCi0weGEzLDB4ZTMsMHhmMCwweGQ4LDB4ZmEsMHgyMiwweDAyLDB4MDQsMHg0YywweGZhLDB4ZWQsMHhmOCwweGUzLDB4ZjIsMHgwOCwweDA5LAotMHhkYSwweGZhLDB4MjIsMHgwMiwweDA0LDB4NTYsMHhlNiwweGZiLDB4MDgsMHhlNiwweGZhLDB4MDgsMHhlNiwweGY5LDB4MDQsMHhmNiwKLTB4MTgsMHg3MCwweDAxLDB4MDYsMHgyMiwweGU2LDB4ZmYsMHgwOCwweGU2LDB4ZmUsMHgwOCwweGU2LDB4ZmQsMHgyMiwweGVmLDB4ZjAsCi0weGEzLDB4ZWUsMHhmMCwweGEzLDB4ZWQsMHhmMCwweDIyLDB4ZWIsMHhmMCwweGEzLDB4ZWEsMHhmMCwweGEzLDB4ZTksMHhmMCwweDIyLAotMHhlMCwweGZmLDB4YTMsMHhlMCwweGZlLDB4YTMsMHhlMCwweGZkLDB4MjIsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwKLTB4ZjksMHgyMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDQsMHhmOSwweDAwLDB4NjEsMHgwNSwweDY4LDB4MDAsCi0weDI2LDB4MDUsMHg4ZiwweDAwLDB4MzMsMHgwYSwweDAwLDB4MDAsMHg2MSwweDBhLDB4NmMsMHgwMCwweDY2LDB4MTUsMHgxZCwweDAwLAotMHg2MSwweDBjLDB4ZjAsMHgwMCwweDYxLDB4MDksMHhhMCwweDAwLDB4NjEsMHgwOSwweGQ3LDB4MDAsMHg2MSwweDBkLDB4YjcsMHgwMCwKLTB4NjEsMHgwYiwweGU4LDB4MDAsMHg2MSwweDBhLDB4MTMsMHgwMCwweDYxLDB4MGEsMHg0OCwweDAwLDB4NjEsMHgxNywweDE1LDB4MDAsCi0weDMzLDB4MTcsMHgyOCwweDAwLDB4MzQsMHgxZCwweGY2LDB4MDAsMHg0MywweDFlLDB4YTEsMHgwMCwweDQ0LDB4MjAsMHgwZSwweDAwLAotMHg0NCwweDFmLDB4ZmMsMHgwMCwweDQ3LDB4MWUsMHhjOCwweDAwLDB4NDcsMHgxZiwweDZkLDB4MDAsMHg0ZCwweDFmLDB4YmUsMHgwMCwKLTB4NGYsMHgxZSwweGVhLDB4MDAsMHg1OCwweDMyLDB4NTYsMHgwMCwweDYxLDB4N2MsMHhjYywweDdkLDB4ZmYsMHgxMiwweDFjLDB4YTcsCi0weDIyLDB4OTAsMHhmZiwweGZjLDB4ZTAsMHgyMCwweGU3LDB4MmQsMHhjMiwweGFmLDB4YWUsMHg1OSwweGFmLDB4NTgsMHg3NSwweDVhLAotMHgyMCwweGU1LDB4NWEsMHgxNCwweGM1LDB4NWEsMHg2MCwweDE5LDB4ZTQsMHhmZSwweDdmLDB4MDUsMHhlZSwweDRmLDB4Y2UsMHgyNCwKLTB4ZmYsMHhjZSwweGNmLDB4MzQsMHhmZiwweGNmLDB4NjAsMHgwNywweGU0LDB4OTAsMHhmZiwweDkyLDB4ZjAsMHg4MCwweGVkLDB4ODAsCi0weGUwLDB4OGUsMHg1OSwweDhmLDB4NTgsMHgyMiwweDEyLDB4MDUsMHgwMSwweDdkLDB4MDcsMHg3YywweGI3LDB4MTIsMHgzMiwweDcyLAotMHg3ZCwweDBmLDB4N2MsMHg2ZSwweDEyLDB4MzIsMHg4YywweDc4LDB4OWQsMHg3YSwweDA2LDB4ZTQsMHhmNiwweDA4LDB4ZGEsMHhmYywKLTB4N2EsMHgwNiwweDEyLDB4MDUsMHhjNCwweDdjLDB4MDMsMHgxMiwweDBlLDB4NGMsMHgxMiwweDIxLDB4NGEsMHhlNCwweGZlLDB4ZmYsCi0weDdjLDB4MGYsMHgxMiwweDMxLDB4ZmIsMHhkMiwweGE4LDB4MjIsMHgxMiwweDMwLDB4ZTYsMHhlNCwweDkwLDB4ZmMsMHgzOCwweGYwLAotMHg5MCwweGZmLDB4ZjAsMHhlMCwweDMwLDB4ZTQsMHgwOCwweDc0LDB4MDEsMHg5MCwweGZjLDB4MzksMHhmMCwweDgwLDB4MDUsMHhlNCwKLTB4OTAsMHhmYywweDM5LDB4ZjAsMHg3ZCwweDBhLDB4N2MsMHgwMCwweDEyLDB4MjUsMHgyNiwweDEyLDB4MzEsMHg2OSwweDIyLDB4MTIsCi0weDMwLDB4ZTYsMHg5MCwweGZjLDB4MzksMHhlMCwweDE0LDB4NzAsMHgwZSwweDkwLDB4ZmYsMHhmMCwweGUwLDB4NDQsMHgxMCwweGYwLAotMHg3YywweDAwLDB4MTIsMHgyNSwweGJmLDB4ODAsMHgxOSwweDkwLDB4ZmMsMHgzOSwweGUwLDB4NzAsMHgwZSwweDkwLDB4ZmYsMHhmMCwKLTB4ZTAsMHg1NCwweGVmLDB4ZjAsMHg3YywweDAwLDB4MTIsMHgyNSwweGJmLDB4ODAsMHgwNSwweDdjLDB4MTcsMHgxMiwweDI1LDB4YmYsCi0weDEyLDB4MzEsMHg2OSwweDIyLDB4OTAsMHhmZiwweGYwLDB4ZTAsMHg1NCwweGFiLDB4ZjAsMHg5MCwweGZmLDB4ZjAsMHhlMCwweDQ0LAotMHgyMCwweGYwLDB4MjIsMHg4YywweDM3LDB4OGQsMHgzNiwweDc4LDB4ODIsMHhlZCwweGY2LDB4MDgsMHhlYywweGY2LDB4ZWQsMHhmZSwKLTB4ZWMsMHhmZCwweDdmLDB4MDEsMHg5MCwweDAwLDB4MDUsMHgxMiwweDAxLDB4ZWMsMHg3OCwweDgwLDB4ZjYsMHg3OCwweDgyLDB4ZTYsCi0weGZkLDB4MDgsMHhlNiwweGZjLDB4ZWQsMHhmZSwweGVjLDB4ZmQsMHg3ZiwweDAxLDB4OTAsMHgwMCwweDA0LDB4MTIsMHgwMSwweGVjLAotMHg1NCwweDBmLDB4ZmMsMHg3ZCwweDgwLDB4MTIsMHgxNywweDQ2LDB4NzgsMHg4MCwweGU2LDB4NzAsMHgwZCwweGFkLDB4M2EsMHhhZSwKLTB4MzksMHhhZiwweDM4LDB4ZTQsMHgxMiwweDAzLDB4MGYsMHg3YywweDA4LDB4MjIsMHg5MCwweGZmLDB4ZjAsMHhlMCwweDU0LDB4ZmUsCi0weGYwLDB4OTAsMHhmZiwweGYwLDB4ZTAsMHg1NCwweGZkLDB4ZjAsMHg4MCwweDFlLDB4NzgsMHg4MiwweGU2LDB4ZmQsMHgwOCwweGU2LAotMHhmYywweGVkLDB4ZmUsMHhlYywweGZkLDB4N2YsMHgwMSwweDkwLDB4MDAsMHgwOCwweDEyLDB4MDIsMHgwZSwweDI1LDB4ZTAsMHg0NCwKLTB4MDEsMHg5MCwweGZmLDB4ZjMsMHhmMCwweDAyLDB4MDYsMHhkMCwweDc4LDB4ODIsMHhlNiwweGZkLDB4MDgsMHhlNiwweGZjLDB4ZWQsCi0weGZlLDB4ZWMsMHhmZCwweDdmLDB4MDEsMHg5MCwweDAwLDB4MDYsMHgxMiwweDAyLDB4MGUsMHg1NCwweGZlLDB4OTAsMHhmZiwweGYzLAotMHhmMCwweDgwLDB4MmIsMHg3OCwweDgyLDB4ZTYsMHhmZCwweDA4LDB4ZTYsMHhmYywweGVkLDB4ZmUsMHhlYywweGZkLDB4N2YsMHgwMSwKLTB4OTAsMHgwMCwweDA4LDB4MTIsMHgwMiwweDBlLDB4ZmEsMHhlYiwweDkwLDB4ZmYsMHhmMSwweGYwLDB4MTIsMHgwOCwweGJmLDB4NDAsCi0weDBkLDB4YWQsMHgzYSwweGFlLDB4MzksMHhhZiwweDM4LDB4ZTQsMHgxMiwweDAzLDB4MGYsMHg3YywweDE4LDB4MjIsMHg3OCwweDgyLAotMHhlNiwweGZkLDB4MDgsMHhlNiwweGZjLDB4ZWQsMHhmZSwweGVjLDB4ZmQsMHg3ZiwweDAxLDB4OTAsMHgwMCwweDA4LDB4MTIsMHgwMiwKLTB4MGUsMHg5MCwweGZmLDB4ZjEsMHhmMCwweDEyLDB4MDgsMHhiZiwweDQwLDB4MGQsMHhhZCwweDNhLDB4YWUsMHgzOSwweGFmLDB4MzgsCi0weGU0LDB4MTIsMHgwMywweDBmLDB4N2MsMHgxOCwweDIyLDB4NzgsMHg4MiwweGU2LDB4ZmQsMHgwOCwweGU2LDB4ZmMsMHhlZCwweGZlLAotMHhlYywweGZkLDB4N2YsMHgwMSwweDkwLDB4MDAsMHgwNiwweDEyLDB4MDIsMHgwZSwweDQ0LDB4MDEsMHg5MCwweGZmLDB4ZjMsMHhmMCwKLTB4NzgsMHg4MywweGU2LDB4MjQsMHgwMywweGY2LDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNiwweDc4LDB4ODAsMHhlNiwweDI0LDB4ZmUsCi0weDUwLDB4MDksMHg5MCwweGZmLDB4ZjAsMHhlMCwweDU0LDB4ZmQsMHhmMCwweDgwLDB4MDcsMHg5MCwweGZmLDB4ZjAsMHhlMCwweDQ0LAotMHgwMiwweGYwLDB4ZTQsMHg5MCwweGZmLDB4ZjEsMHhmMCwweDc4LDB4ODEsMHg3NiwweDAwLDB4NzgsMHg4MCwweGU2LDB4MjQsMHhmZiwKLTB4ZmMsMHhlNCwweDM0LDB4ZmYsMHhmZCwweDc4LDB4ODEsMHhlNiwweDdmLDB4MDAsMHhmZSwweGVjLDB4ZDMsMHg5ZSwweGVmLDB4NjQsCi0weDgwLDB4Y2QsMHg2NCwweDgwLDB4OWQsMHg0MCwweDJmLDB4MTIsMHgwOCwweGE0LDB4NDAsMHgwZiwweDc4LDB4ODEsMHhlNiwweGFkLAotMHgzYSwweGFlLDB4MzksMHhhZiwweDM4LDB4MTIsMHgwMywweDBmLDB4N2MsMHgxOCwweDIyLDB4OTAsMHhmZiwweGYyLDB4ZTAsMHhmYywKLTB4NzgsMHg4MiwweDg2LDB4ODMsMHgwOCwweDg2LDB4ODIsMHhlYywweGYwLDB4NzgsMHg4MSwweDA2LDB4YTMsMHg3OCwweDgyLDB4YTYsCi0weDgzLDB4MDgsMHhhNiwweDgyLDB4ODAsMHhiNSwweDEyLDB4MDgsMHhhNCwweDQwLDB4MGYsMHg3OCwweDgxLDB4ZTYsMHhhZCwweDNhLAotMHhhZSwweDM5LDB4YWYsMHgzOCwweDEyLDB4MDMsMHgwZiwweDdjLDB4MTgsMHgyMiwweDkwLDB4ZmYsMHhmMiwweGUwLDB4ZmMsMHg3OCwKLTB4ODIsMHg4NiwweDgzLDB4MDgsMHg4NiwweDgyLDB4ZWMsMHhmMCwweDc4LDB4ODAsMHhlNiwweGFkLDB4M2EsMHhhZSwweDM5LDB4YWYsCi0weDM4LDB4MTIsMHgwMywweDBmLDB4N2MsMHgwMCwweDIyLDB4OGMsMHgzNywweDhkLDB4MzYsMHg3OCwweDgyLDB4ZWQsMHhmNiwweDA4LAotMHhlYywweGY2LDB4ZWQsMHhmZSwweGVjLDB4ZmQsMHg3ZiwweDAxLDB4OTAsMHgwMCwweDA1LDB4MTIsMHgwMSwweGVjLDB4NzgsMHg4MSwKLTB4ZjYsMHg3OCwweDgyLDB4ZTYsMHhmZCwweDA4LDB4ZTYsMHhmYywweGVkLDB4ZmUsMHhlYywweGZkLDB4N2YsMHgwMSwweDkwLDB4MDAsCi0weDA0LDB4MTIsMHgwMSwweGVjLDB4NTQsMHgwZiwweGZjLDB4N2QsMHg4MSwweDEyLDB4MTcsMHg0NiwweDc4LDB4ODEsMHhlNiwweDcwLAotMHgwMywweDdjLDB4MDgsMHgyMiwweDkwLDB4ZmYsMHhmMCwweGUwLDB4NTQsMHhmZSwweGYwLDB4OTAsMHhmZiwweGYwLDB4ZTAsMHg1NCwKLTB4ZmQsMHhmMCwweDgwLDB4MWIsMHg3OCwweDgyLDB4ZTYsMHhmZCwweDA4LDB4ZTYsMHhmYywweGVkLDB4ZmUsMHhlYywweGZkLDB4N2YsCi0weDAxLDB4OTAsMHgwMCwweDA4LDB4MTIsMHgwMiwweDBlLDB4MjUsMHhlMCwweDkwLDB4ZmYsMHhmMywweGYwLDB4ODAsMHg1YiwweDc4LAotMHg4MiwweGU2LDB4ZmQsMHgwOCwweGU2LDB4ZmMsMHhlZCwweGZlLDB4ZWMsMHhmZCwweDdmLDB4MDEsMHg5MCwweDAwLDB4MDYsMHgxMiwKLTB4MDIsMHgwZSwweDU0LDB4ZmUsMHg5MCwweGZmLDB4ZjMsMHhmMCwweDgwLDB4MjEsMHg3OCwweDgyLDB4ZTYsMHhmZCwweDA4LDB4ZTYsCi0weGZjLDB4ZWQsMHhmZSwweGVjLDB4ZmQsMHg3ZiwweDAxLDB4OTAsMHgwMCwweDA4LDB4MTIsMHgwMiwweDBlLDB4ZmEsMHhlYiwweDkwLAotMHhmZiwweGYxLDB4ZjAsMHgxMiwweDA4LDB4YmYsMHg0MCwweDAzLDB4N2MsMHgxOCwweDIyLDB4NzgsMHg4MiwweGU2LDB4ZmQsMHgwOCwKLTB4ZTYsMHhmYywweGVkLDB4ZmUsMHhlYywweGZkLDB4N2YsMHgwMSwweDkwLDB4MDAsMHgwOCwweDEyLDB4MDIsMHgwZSwweDkwLDB4ZmYsCi0weGYxLDB4ZjAsMHgxMiwweDA4LDB4YmYsMHg0MCwweDAzLDB4N2MsMHgxOCwweDIyLDB4NzgsMHg4MywweGU2LDB4MjQsMHgwYSwweGY2LAotMHgxOCwweGU2LDB4MzQsMHgwMCwweGY2LDB4NzgsMHg4MCwweDc2LDB4MDAsMHg3OCwweDgxLDB4ZTYsMHgyNCwweGZmLDB4ZmMsMHhlNCwKLTB4MzQsMHhmZiwweGZkLDB4NzgsMHg4MCwweGU2LDB4N2YsMHgwMCwweGZlLDB4ZWMsMHhkMywweDllLDB4ZWYsMHg2NCwweDgwLDB4Y2QsCi0weDY0LDB4ODAsMHg5ZCwweDQwLDB4MjEsMHg3OCwweDgyLDB4ODYsMHg4MywweDA4LDB4ODYsMHg4MiwweGUwLDB4OTAsMHhmZiwweGYxLAotMHhmMCwweDEyLDB4MDgsMHhiZiwweDQwLDB4MDMsMHg3YywweDE4LDB4MjIsMHg3OCwweDgwLDB4MDYsMHg3OCwweDgzLDB4MDYsMHhlNiwKLTB4MTgsMHg3MCwweDAxLDB4MDYsMHg4MCwweGMzLDB4OTAsMHhmZiwweGYwLDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg3OCwweDgyLDB4ODYsCi0weDgzLDB4MDgsMHg4NiwweDgyLDB4ZTAsMHg5MCwweGZmLDB4ZjEsMHhmMCwweDEyLDB4MDgsMHhiZiwweDQwLDB4MDMsMHg3YywweDE4LAotMHgyMiwweDdjLDB4MDAsMHgyMiwweDkwLDB4ZmYsMHhmMCwweGUwLDB4MjAsMHhlNywweDEyLDB4OTAsMHhmZiwweGYwLDB4ZTAsMHgzMCwKLTB4ZTUsMHgwOSwweDkwLDB4ZmYsMHhmMCwweGUwLDB4NDQsMHgyMCwweGYwLDB4YzMsMHgyMiwweDgwLDB4ZTcsMHhkMywweDIyLDB4OTAsCi0weGZmLDB4ZjAsMHhlMCwweDIwLDB4ZTMsMHgxMiwweDkwLDB4ZmYsMHhmMCwweGUwLDB4MzAsMHhlNSwweDA5LDB4OTAsMHhmZiwweGYwLAotMHhlMCwweDQ0LDB4MjAsMHhmMCwweGMzLDB4MjIsMHg4MCwweGU3LDB4ZDMsMHgyMiwweDhjLDB4NDIsMHg4ZCwweDQxLDB4N2MsMHgwMCwKLTB4ZWQsMHg1NCwweGYwLDB4ZmQsMHhlYywweDcwLDB4MDMsMHhlZCwweDY0LDB4MzAsMHg3MCwweDA1LDB4NzUsMHgzZSwweDAzLDB4ODAsCi0weDAzLDB4NzUsMHgzZSwweDA0LDB4YWMsMHgzZSwweDEyLDB4MGYsMHg2OSwweDc1LDB4ODMsMHgwMCwweDg1LDB4ODMsMHg0MCwweGU1LAotMHg0MSwweDU0LDB4MGYsMHhmNSwweDNmLDB4ZTUsMHg0MCwweDcwLDB4MDQsMHhlNSwweDNmLDB4NjQsMHgwMywweDcwLDB4MzUsMHhlNSwKLTB4M2UsMHgyNCwweGZkLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweDAyLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmYywweGY1LDB4ODMsCi0weGUwLDB4MzAsMHhlNiwweDA1LDB4MTIsMHgxMCwweDRiLDB4ODAsMHgxOSwweGU1LDB4M2UsMHgyNCwweDlkLDB4ZjgsMHhjNiwweDU0LAotMHhmYiwweGY2LDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwNSwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHg3NCwKLTB4MGYsMHhmMCwweDgwLDB4NTksMHhlNSwweDQwLDB4NzAsMHgwNCwweGU1LDB4M2YsMHg2NCwweDA0LDB4NzAsMHg0OCwweGU1LDB4M2UsCi0weDI0LDB4ZmQsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4MDIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZjLDB4ZjUsMHg4MywweGUwLAotMHgzMCwweGU1LDB4MDcsMHhhYywweDQyLDB4YWQsMHg0MSwweDEyLDB4MWMsMHgzYywweGU1LDB4NDIsMHgzMCwweGUyLDB4MTUsMHg3OCwKLTB4YWQsMHhlNiwweDMwLDB4ZTAsMHgwZiwweDc4LDB4YWQsMHhlNiwweDMwLDB4ZTEsMHgwOSwweGU0LDB4ZmYsMHgwNCwweGZlLDB4N2MsCi0weDA0LDB4MTIsMHgzMSwweGZiLDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwNiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LAotMHg4MywweDc0LDB4MGYsMHhmMCwweDgwLDB4MDcsMHhlNCwweGZjLDB4N2QsMHhlZSwweDEyLDB4MWMsMHgzYywweGMyLDB4MDMsMHgyMiwKLTB4MTIsMHgzMCwweGU2LDB4MTIsMHgwZiwweDY5LDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwNiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsCi0weDAwLDB4ZjUsMHg4MywweGUwLDB4OTAsMHhmYywweDM4LDB4ZjAsMHg3OCwweGE5LDB4ZTYsMHgyNCwweDA1LDB4ZjUsMHg4MiwweDE4LAotMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg5MCwweGZjLDB4MzksMHhmMCwweGMyLDB4MDMsMHg3ZCwweDAyLDB4N2MsMHgwMCwKLTB4MTIsMHgyNSwweDI2LDB4MTIsMHgzMSwweDY5LDB4MjIsMHgxMiwweDMwLDB4ZTYsMHg3OCwweDk1LDB4ZWMsMHhmNiwweGVjLDB4MjQsCi0weDlkLDB4ZjgsMHhlNiwweDMwLDB4ZTEsMHgwNywweDdjLDB4MTMsMHgxMiwweDI1LDB4YmYsMHg4MCwweDBmLDB4OTAsMHhmYywweDM5LAotMHhlMCwweGZkLDB4NzgsMHg5NSwweGU2LDB4ZmMsMHgxMiwweDEzLDB4YzgsMHgxMiwweDI1LDB4YmYsMHgxMiwweDMxLDB4NjksMHgyMiwKLTB4MTIsMHgzMCwweGU2LDB4NzgsMHg5NSwweGVjLDB4ZjYsMHg3ZCwweDAwLDB4MTIsMHgwZiwweDA5LDB4MTIsMHgyNSwweGJmLDB4MTIsCi0weDMxLDB4NjksMHgyMiwweDEyLDB4MzAsMHhlNiwweDc4LDB4OTUsMHhlYywweGY2LDB4ZWMsMHgyNCwweDlkLDB4ZjgsMHhlNiwweDMwLAotMHhlMiwweDA3LDB4N2MsMHgxMywweDEyLDB4MjUsMHhiZiwweDgwLDB4MWIsMHg3OCwweDk1LDB4ZTYsMHgyNCwweDlkLDB4ZjgsMHhlNiwKLTB4MjAsMHhlMSwweDA3LDB4N2MsMHgxMiwweDEyLDB4MjUsMHhiZiwweDgwLDB4MGEsMHg3OCwweDk1LDB4ZTYsMHhmYywweDEyLDB4MTMsCi0weGVjLDB4MTIsMHgyNSwweGJmLDB4MTIsMHgzMSwweDY5LDB4MjIsMHgxMiwweDMwLDB4ZTYsMHg3OCwweDk1LDB4ZWMsMHhmNiwweGVjLAotMHgyNCwweDlkLDB4ZjgsMHhlNiwweDIwLDB4ZTIsMHgwNywweDdjLDB4MTEsMHgxMiwweDI1LDB4YmYsMHg4MCwweDBhLDB4NzgsMHg5NSwKLTB4ZTYsMHhmYywweDEyLDB4MTQsMHhlZCwweDEyLDB4MjUsMHhiZiwweDEyLDB4MzEsMHg2OSwweDIyLDB4MTIsMHgzMCwweGU2LDB4NzgsCi0weDk1LDB4ZWMsMHhmNiwweDEyLDB4MGYsMHg2OSwweDc4LDB4YTksMHhlNiwweDI0LDB4MDksMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LAotMHgwMCwweGY1LDB4ODMsMHhlMCwweDkwLDB4ZmMsMHgzZiwweGYwLDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwYSwweGY1LDB4ODIsMHgxOCwKLTB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4OTAsMHhmYywweDQwLDB4ZjAsMHg3OCwweGE5LDB4ZTYsMHgyNCwweDAzLDB4ZjUsCi0weDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHhmYywweDc4LDB4YTksMHhlNiwweDI0LDB4MDQsMHhmNSwweDgyLAotMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweGY1LDB4NjIsMHg3OCwweGE5LDB4ZTYsMHgyNCwweDAyLDB4ZjUsMHg4MiwKLTB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHhmNSwweDYzLDB4OGMsMHg2MSwweGU0LDB4ZWMsMHgzMywweDMzLDB4NTQsCi0weDAxLDB4NzgsMHg5NSwweGY2LDB4NjAsMHgwOCwweGU1LDB4NjIsMHgzMCwweGUxLDB4MDMsMHg3OCwweDk1LDB4MDYsMHg3OCwweDk1LAotMHhlNiwweDkwLDB4ZmMsMHg0MSwweGYwLDB4NzgsMHhhNywweGU2LDB4MjQsMHgwMiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwKLTB4ZjUsMHg4MywweGUwLDB4ZmQsMHhhMywweGUwLDB4NTQsMHgwYywweGZjLDB4ZWQsMHg1NCwweGU2LDB4OGMsMHg2NSwweGY1LDB4NjQsCi0weGU1LDB4NjEsMHgzMCwweGU1LDB4MDMsMHg0MywweDY1LDB4MDEsMHhlNSwweDYyLDB4MjAsMHhlNSwweDBlLDB4ZTUsMHg2MSwweDU0LAotMHg3ZiwweDcwLDB4MDgsMHhlNSwweDYxLDB4MjAsMHhlNywweDAzLDB4NDMsMHg2NSwweDAyLDB4ZTUsMHg2MSwweDMwLDB4ZTMsMHgwMywKLTB4NDMsMHg2NSwweDEwLDB4ZTUsMHg2MSwweDMwLDB4ZTIsMHgwMywweDQzLDB4NjUsMHgyMCwweGU1LDB4NjEsMHg1NCwweDAzLDB4NjAsCi0weDAzLDB4NDMsMHg2NSwweDQwLDB4ZTUsMHg2MSwweDMwLDB4ZTEsMHgwMywweDQzLDB4NjUsMHg4MCwweGU1LDB4NjEsMHgzMCwweGU0LAotMHgwMywweDQzLDB4NjQsMHgwMSwweGU1LDB4NjEsMHgzMCwweGU2LDB4MDMsMHg0MywweDY0LDB4MDgsMHhlNSwweDYyLDB4MjAsMHhlNCwKLTB4MGUsMHhlNSwweDYxLDB4NTQsMHg3ZiwweDcwLDB4MDgsMHhlNSwweDYxLDB4MjAsMHhlNywweDAzLDB4NDMsMHg2NCwweDEwLDB4NTMsCi0weDY1LDB4ZmIsMHg1MywweDY0LDB4NzksMHhhZCwweDY0LDB4ZTUsMHg2NSwweDkwLDB4ZmMsMHgzYSwweGNkLDB4ZjAsMHhhMywweGNkLAotMHhmMCwweGU1LDB4NjMsMHgzMCwweGUzLDB4MGQsMHhlNSwweDYzLDB4NTQsMHgzMCwweGM0LDB4NTQsMHgwZiwweDkwLDB4ZmMsMHgzZCwKLTB4ZjAsMHg4MCwweDA1LDB4ZTQsMHg5MCwweGZjLDB4M2QsMHhmMCwweGU1LDB4NjMsMHg1NCwweDAzLDB4OTAsMHhmYywweDNjLDB4ZjAsCi0weGU1LDB4NjMsMHg1NCwweDA0LDB4YzMsMHgxMywweDkwLDB4ZmMsMHgzZSwweGYwLDB4OTAsMHhmYywweDNjLDB4ZTAsMHg3MCwweDBlLAotMHg3ZCwweDM1LDB4N2UsMHhmYywweDdmLDB4MDEsMHg3NCwweDAxLDB4OTAsMHgwMCwweDA5LDB4MTIsMHgwMSwweDQyLDB4NzgsMHhhOSwKLTB4ZTYsMHgyNCwweDA4LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4N2MsMHgwMCwweGZkLDB4NzgsCi0weGE5LDB4ZTYsMHgyNCwweDA3LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4N2YsMHgwMCwweDRjLAotMHhmZSwweGVmLDB4NGQsMHg5MCwweGZjLDB4MzgsMHhmMCwweGEzLDB4Y2UsMHhmMCwweGNlLDB4YzIsMHgwMywweDdkLDB4MGEsMHg3YywKLTB4MDAsMHgxMiwweDI1LDB4MjYsMHgxMiwweDMxLDB4NjksMHgyMiwweDEyLDB4MzAsMHhlNiwweDc4LDB4OTUsMHhlYywweGY2LDB4NzgsCi0weDlhLDB4NzYsMHgwMSwweDA4LDB4NzYsMHhmYywweDA4LDB4NzYsMHgzOCwweDc4LDB4OTcsMHg3NiwweDBjLDB4NzgsMHg5YSwweDEyLAotMHgwNCwweDY1LDB4MTIsMHgwMiwweDE0LDB4NzgsMHg5OCwweGNiLDB4ZjYsMHhjYiwweDA4LDB4ZjYsMHg3ZiwweDAwLDB4ZWYsMHgyNCwKLTB4ZWEsMHg0MCwweDFmLDB4ZTQsMHhlZiwweDI1LDB4ZTAsMHg5MCwweDM1LDB4MmMsMHhmZCwweDkzLDB4Y2QsMHgwNCwweDkzLDB4NzgsCi0weDk5LDB4NjYsMHg3MCwweDAzLDB4ZWQsMHgxOCwweDY2LDB4NzAsMHgwNiwweDc4LDB4OTcsMHg3NiwweDAwLDB4ODAsMHgwMywweDBmLAotMHg4MCwweGRjLDB4NzgsMHg5NiwweGVmLDB4ZjYsMHg3OCwweDlhLDB4MTIsMHgwNCwweDY1LDB4OTAsMHgwMCwweDAyLDB4MTIsMHgwMiwKLTB4MGUsMHg3OCwweDk4LDB4Y2IsMHhmNiwweGNiLDB4MDgsMHhmNiwweDU0LDB4MDQsMHhjYiwweDU0LDB4ODYsMHg0YiwweDYwLDB4MDQsCi0weDc4LDB4OTcsMHg3NiwweDBiLDB4NzgsMHg5OSwweGU2LDB4MzAsMHhlMywweDEzLDB4NzgsMHg5YSwweDEyLDB4MDQsMHg2NSwweDkwLAotMHgwMCwweDA1LDB4MTIsMHgwMSwweGVjLDB4MjQsMHhmYiwweDUwLDB4MDQsMHg3OCwweDk3LDB4NzYsMHgwZCwweDc4LDB4OTksMHhlNiwKLTB4NTQsMHhjMCwweDdkLDB4MDAsMHg2NCwweGMwLDB4NGQsMHg3MCwweDA0LDB4NzgsMHg5NywweDc2LDB4MGIsMHg3OCwweDlhLDB4MTIsCi0weDA0LDB4NjUsMHg5MCwweDAwLDB4MDQsMHgxMiwweDAxLDB4ZWMsMHgyNCwweGZjLDB4NTAsMHgwNCwweDc4LDB4OTcsMHg3NiwweDBmLAotMHg3OCwweDlhLDB4MTIsMHgwNCwweDY1LDB4OTAsMHgwMCwweDA2LDB4MTIsMHgwMSwweGVjLDB4MjQsMHhmZCwweDUwLDB4MDQsMHg3OCwKLTB4OTcsMHg3NiwweDBlLDB4NzgsMHg5YSwweDEyLDB4MDQsMHg2NSwweDkwLDB4MDAsMHgwOSwweDEyLDB4MDEsMHhlYywweDI0LDB4ZmQsCi0weDUwLDB4MDQsMHg3OCwweDk3LDB4NzYsMHgwYSwweDc4LDB4OTcsMHhlNiwweDcwLDB4MmEsMHg3OCwweDk1LDB4ZTYsMHhmYywweDEyLAotMHgwZiwweDY5LDB4NzgsMHg5YSwweDEyLDB4MDQsMHg2NSwweDc4LDB4YTcsMHhlNiwweGY5LDB4NzgsMHhhNiwweGU2LDB4ZmEsMHg3YiwKLTB4MDEsMHg3NCwweDBhLDB4NzgsMHgwMCwweDEyLDB4MDMsMHgzZiwweGMyLDB4MDMsMHg3OCwweDk1LDB4ZTYsMHhmYywweDEyLDB4MTEsCi0weDA3LDB4NzgsMHg5NywweGVjLDB4ZjYsMHg3OCwweDk3LDB4ZTYsMHhmYywweDEyLDB4MjUsMHhiZiwweDEyLDB4MzEsMHg2OSwweDIyLAotMHgxMiwweDMwLDB4ZTYsMHg3OCwweDk1LDB4ZWMsMHhmNiwweDEyLDB4MGYsMHg2OSwweDc4LDB4OTUsMHhlNiwweDI0LDB4ZmQsMHg3NSwKLTB4ZjAsMHgwYSwweGE0LDB4MjQsMHgxNCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmMsMHhmNSwweDgzLDB4YWMsMHg4MiwweGFkLDB4ODMsCi0weDc4LDB4YTYsMHg4NiwweDgzLDB4MDgsMHg4NiwweDgyLDB4ZWMsMHhmOSwweGVkLDB4ZmEsMHg3YiwweDBhLDB4NzgsMHgwMSwweDEyLAotMHgwMywweGE3LDB4YzIsMHgwMywweDc4LDB4OTUsMHhlNiwweGZjLDB4MTIsMHgxMSwweDA3LDB4MTIsMHgzMSwweDY5LDB4MjIsMHg4ZCwKLTB4MmIsMHg4YywweDJhLDB4ZWQsMHg2MCwweDQwLDB4NzUsMHgyNywweDAxLDB4NzUsMHgyOSwweDQ4LDB4NzUsMHgyOCwweGZmLDB4ZTUsCi0weDJhLDB4MjQsMHhmZCwweGZjLDB4ZTQsMHgzNCwweGZmLDB4ZmQsMHhlYywweDdjLDB4MDMsMHgyNSwweGUwLDB4Y2QsMHgzMywweGNkLAotMHhkYywweGY5LDB4ZmMsMHhlNSwweDI5LDB4MmMsMHhmNSwweDI5LDB4ZTUsMHgyOCwweDNkLDB4ZjUsMHgyOCwweGFkLDB4MjksMHhhZSwKLTB4MjgsMHhhZiwweDI3LDB4NzQsMHg4MCwweDkwLDB4MDAsMHgwNiwweDEyLDB4MDMsMHgxNywweDc0LDB4ODAsMHg5MCwweDAwLDB4MDIsCi0weDEyLDB4MDMsMHgxNywweDEyLDB4MGYsMHhiNywweGU1LDB4MmIsMHgxNCwweDYwLDB4M2IsMHg3NSwweDI3LDB4MDEsMHg3NSwweDI5LAotMHgwOCwweDc1LDB4MjgsMHhmZiwweGU1LDB4MmEsMHgyNCwweGZkLDB4ZmMsMHhlNCwweDM0LDB4ZmYsMHhmZCwweGVjLDB4N2MsMHgwMywKLTB4MjUsMHhlMCwweGNkLDB4MzMsMHhjZCwweGRjLDB4ZjksMHhmYywweGU1LDB4MjksMHgyYywweGY1LDB4MjksMHhlNSwweDI4LDB4M2QsCi0weGY1LDB4MjgsMHhhZCwweDI5LDB4YWUsMHgyOCwweGFmLDB4MjcsMHhlNCwweDkwLDB4MDAsMHgwNiwweDEyLDB4MDMsMHgxNywweGU0LAotMHg5MCwweDAwLDB4MDIsMHgxMiwweDAzLDB4MTcsMHgyMiwweDEyLDB4MzAsMHhlNiwweDc4LDB4OTUsMHhlYywweGY2LDB4ZWMsMHgyNCwKLTB4OWQsMHhmOCwweGU2LDB4MzAsMHhlMiwweDA5LDB4NzgsMHg5NSwweGU2LDB4ZmMsMHgxMiwweDE0LDB4ZWQsMHhkMiwweDAwLDB4NzgsCi0weDk1LDB4ZTYsMHhmYywweDEyLDB4MGYsMHg2OSwweDc4LDB4OTYsMHg3NiwweDAwLDB4OTAsMHhmYywweDM5LDB4ZTAsMHgzMCwweGU3LAotMHgwNCwweDc4LDB4OTYsMHg3NiwweDAxLDB4NzgsMHg5NiwweGU2LDB4ZmQsMHg3OCwweDk1LDB4ZTYsMHhmYywweDEyLDB4MGQsMHgyZiwKLTB4YzIsMHgwMywweDMwLDB4MDAsMHgwNywweDc4LDB4OTUsMHhlNiwweGZjLDB4MTIsMHgxMywweGVjLDB4N2MsMHgwMCwweDEyLDB4MjUsCi0weGJmLDB4MTIsMHgzMSwweDY5LDB4MjIsMHg3OCwweGE5LDB4ZTYsMHgyNCwweDA0LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLAotMHhmNSwweDgzLDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg3OCwweGE5LDB4ZTYsMHgyNCwweDA0LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwKLTB4MDAsMHhmNSwweDgzLDB4ZTAsMHgzMCwweGUwLDB4MDIsMHg4MCwweGVkLDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwYiwweGY1LDB4ODIsCi0weDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4NTQsMHhmOCwweGYwLDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwMiwweGY1LAotMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4NDQsMHg4MCwweGYwLDB4MjIsMHhjMiwweDAzLDB4OGMsMHg1OCwKLTB4MTIsMHgwZiwweDY5LDB4NzgsMHhhNiwweDg2LDB4ODMsMHgwOCwweDg2LDB4ODIsMHg3OSwweDVkLDB4N2EsMHgzNSwweDdiLDB4MGEsCi0weDc4LDB4MDEsMHgxMiwweDAzLDB4ZjUsMHgxMiwweDBlLDB4MDUsMHhhYywweDU4LDB4N2QsMHgwMiwweDEyLDB4MGQsMHgyZiwweGMyLAotMHgwMywweGFjLDB4NTgsMHgxMiwweDExLDB4MDcsMHgyMiwweDhkLDB4NTMsMHg4ZSwweDUyLDB4OGYsMHg1MSwweDhjLDB4NTAsMHgxMiwKLTB4MGYsMHg2OSwweDc1LDB4NGYsMHgwMCwweDc4LDB4YTksMHhlNiwweDI0LDB4MDUsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsCi0weGY1LDB4ODMsMHhlMCwweDIwLDB4ZTQsMHgxZiwweGU1LDB4NGYsMHgyNCwweGY2LDB4NDAsMHgxOSwweDA1LDB4NGYsMHhjMiwweDAzLAotMHg3YywweDE4LDB4MTIsMHgzMiwweGE5LDB4OTAsMHhmZiwweDkzLDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHhiMiwweGIzLDB4YWMsMHg1MCwKLTB4MTIsMHgwZiwweDY5LDB4ODAsMHhkMCwweDc4LDB4YTksMHhlNiwweDI0LDB4MDUsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsCi0weGY1LDB4ODMsMHhlMCwweDIwLDB4ZTQsMHgwNSwweGMyLDB4MDMsMHg3YywweDAyLDB4MjIsMHg3OCwweGE5LDB4ZTYsMHgyNCwweDA1LAotMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg1NCwweDBmLDB4NjAsMHgxNiwweDc4LDB4YTksMHhlNiwKLTB4MjQsMHgwNSwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDU0LDB4MGYsMHhmMCwweGMyLDB4MDMsCi0weDdjLDB4MDEsMHgyMiwweDc4LDB4YTgsMHg4NiwweDgzLDB4MDgsMHg4NiwweDgyLDB4ZTAsMHhhZCwweDUzLDB4YWUsMHg1MiwweGFmLAotMHg1MSwweDEyLDB4MDMsMHgwZiwweGMyLDB4MDMsMHg3YywweDAwLDB4MjIsMHg4ZCwweDMxLDB4OGMsMHgzMCwweDEyLDB4MTQsMHhlZCwKLTB4ZTUsMHgzMSwweDYwLDB4MGYsMHhlNSwweDMwLDB4YjQsMHgwMywweDBhLDB4N2MsMHgwMSwweDEyLDB4MjQsMHhlZSwweDdjLDB4ODEsCi0weDEyLDB4MjQsMHhlZSwweGFjLDB4MzAsMHgxMiwweDBmLDB4NjksMHhlNSwweDMxLDB4NjAsMHgxYSwweDc4LDB4YWEsMHg4NiwweDgzLAotMHgwOCwweDg2LDB4ODIsMHhlMCwweDU0LDB4ZTcsMHhmMCwweGEzLDB4YTMsMHhhMywweGEzLDB4ZTAsMHg1NCwweGU3LDB4ZjAsMHhhYywKLTB4MzAsMHg3ZCwweDAyLDB4MTIsMHgwZCwweDJmLDB4NzgsMHhhNiwweDg2LDB4ODMsMHgwOCwweDg2LDB4ODIsMHg3OSwweDY3LDB4N2EsCi0weDM1LDB4N2IsMHgwYSwweDc4LDB4MDEsMHgxMiwweDAzLDB4ZjUsMHhjMiwweDAzLDB4ZTUsMHgzMCwweDI0LDB4OWQsMHhmOCwweGM2LAotMHg1NCwweGZkLDB4ZjYsMHhhYywweDMwLDB4MTIsMHgxMSwweDA3LDB4MjIsMHg4YywweDI2LDB4MzAsMHgwMywweDA1LDB4MTIsMHgzMiwKLTB4NDgsMHg4MCwweGY4LDB4N2MsMHgwYSwweDEyLDB4MzEsMHg1YiwweGQyLDB4MDMsMHhlNSwweDI2LDB4MjQsMHhmZCwweDc4LDB4YTMsCi0weGY2LDB4NzAsMHgwNywweDc4LDB4YWEsMHg3NiwweGZmLDB4MDgsMHg3NiwweGUwLDB4NzgsMHhhMywweGU2LDB4NzUsMHhmMCwweDEwLAotMHhhNCwweGFkLDB4ZjAsMHhmYywweDI0LDB4YTAsMHg3OCwweGE5LDB4ZjYsMHhlZCwweDM0LDB4ZmYsMHgxOCwweGY2LDB4NzgsMHhhMywKLTB4ZTYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4MDAsMHhmYywweGU0LDB4MzQsMHhmYywweGZkLDB4NzgsMHhhNiwweGVkLDB4ZjYsCi0weDA4LDB4ZWMsMHhmNiwweDEyLDB4MzEsMHhmNCwweDIyLDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwMiwweGY1LDB4ODIsMHgxOCwweGU2LAotMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4MzAsMHhlNywweDIyLDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwMiwweGY1LDB4ODIsMHgxOCwKLTB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4NTQsMHg3ZiwweGYwLDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwMiwweGY1LDB4ODIsCi0weDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4NDQsMHg4MCwweGYwLDB4MjIsMHg3OCwweGFhLDB4ODYsMHg4MywweDA4LAotMHg4NiwweDgyLDB4ZTAsMHg1NCwweDdmLDB4ZjAsMHhhZCwweDgzLDB4ZTUsMHg4MiwweDI0LDB4MDQsMHhmYywweGU0LDB4M2QsMHg4YywKLTB4ODIsMHhmNSwweDgzLDB4ZTAsMHg1NCwweDdmLDB4ZjAsMHg3OCwweGE5LDB4ZTYsMHgyNCwweDBiLDB4ZjUsMHg4MiwweDE4LDB4ZTYsCi0weDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg1NCwweGY4LDB4ZjAsMHg3OCwweGFiLDB4ZTYsMHgyNCwweDAxLDB4ZjUsMHg4MiwweDE4LAotMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg0NCwweDAzLDB4ZjAsMHg3OCwweGFiLDB4ZTYsMHgyNCwweDA1LDB4ZjUsMHg4MiwKLTB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg0NCwweDAzLDB4ZjAsMHg3OCwweGE5LDB4ZTYsMHgyNCwweDA1LDB4ZjUsCi0weDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4NzQsMHgwZiwweGYwLDB4MjIsMHg3OCwweGFhLDB4ODYsMHg4MywweDA4LAotMHg4NiwweDgyLDB4ZTAsMHg1NCwweDNmLDB4ZjAsMHhhZCwweDgzLDB4ZTUsMHg4MiwweDI0LDB4MDQsMHhmYywweGU0LDB4M2QsMHg4YywKLTB4ODIsMHhmNSwweDgzLDB4ZTAsMHg1NCwweDNmLDB4ZjAsMHg3OCwweGEzLDB4ZTYsMHgyNCwweGE0LDB4ZjgsMHhlNiwweGZjLDB4NzgsCi0weGFiLDB4ZTYsMHgyNCwweDAxLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGVjLDB4ZjAsMHg3OCwweGEzLAotMHhlNiwweDI0LDB4YTQsMHhmOCwweGU2LDB4ZmMsMHg3OCwweGFiLDB4ZTYsMHgyNCwweDA1LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwKLTB4MDAsMHhmNSwweDgzLDB4ZWMsMHhmMCwweDc4LDB4YTksMHhlNiwweDI0LDB4MGIsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsCi0weGY1LDB4ODMsMHhlMCwweDU0LDB4ZmIsMHg0NCwweDAyLDB4ZjUsMHgyNiwweDc4LDB4YTcsMHhlNiwweDI0LDB4MDIsMHhmNSwweDgyLAotMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDMwLDB4ZTUsMHgwMywweDQzLDB4MjYsMHgwMSwweDc4LDB4YTksMHhlNiwKLTB4MjQsMHgwNSwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDMwLDB4ZTAsMHgwMywweDEyLDB4MGYsCi0weGI3LDB4ZTUsMHgyNiwweGZjLDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwYiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LAotMHg4MywweGVjLDB4ZjAsMHg3OCwweGE5LDB4ZTYsMHgyNCwweDA1LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywKLTB4NzQsMHgwZiwweGYwLDB4NzgsMHhhYSwweDg2LDB4ODMsMHgwOCwweDg2LDB4ODIsMHhlMCwweDQ0LDB4ODAsMHhmMCwweGEzLDB4YTMsCi0weGEzLDB4YTMsMHhlMCwweDQ0LDB4ODAsMHhmMCwweDIyLDB4OGMsMHgyYSwweDEyLDB4MGYsMHg2OSwweDc4LDB4YTcsMHhlNiwweDI0LAotMHgwOCwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweGZjLDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwYSwKLTB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGVjLDB4ZjAsMHg3OCwweGE3LDB4ZTYsMHgyNCwweDA3LDB4ZjUsCi0weDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHhmYywweDc4LDB4YTksMHhlNiwweDI0LDB4MDksMHhmNSwweDgyLAotMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlYywweGYwLDB4NzgsMHhhNiwweDg2LDB4ODMsMHgwOCwweDg2LDB4ODIsMHhlMCwKLTB4ZmQsMHhhMywweGUwLDB4ZmMsMHhlZCwweGZlLDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwOCwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsCi0weDAwLDB4ZjUsMHg4MywweGVlLDB4ZjAsMHhlYywweGZlLDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwNywweGY1LDB4ODIsMHgxOCwweGU2LAotMHgzNCwweDAwLDB4ZjUsMHg4MywweGVlLDB4ZjAsMHg4YywweDI5LDB4OGQsMHgyOCwweGMzLDB4ZWMsMHg5NCwweDA1LDB4ZWQsMHg5NCwKLTB4MGMsMHg0MCwweDA1LDB4NzUsMHgyNywweDdjLDB4ODAsMHgzMywweGQzLDB4ZTUsMHgyOSwweDk0LDB4MDEsMHhlNSwweDI4LDB4OTQsCi0weDAzLDB4NDAsMHgwNSwweDc1LDB4MjcsMHgzYywweDgwLDB4MjMsMHhkMywweGU1LDB4MjksMHg5NCwweDgxLDB4ZTUsMHgyOCwweDk0LAotMHgwMSwweDQwLDB4MDUsMHg3NSwweDI3LDB4MTgsMHg4MCwweDEzLDB4ZDMsMHhlNSwweDI5LDB4OTQsMHg2MCwweGU1LDB4MjgsMHg5NCwKLTB4MDAsMHg0MCwweDA1LDB4NzUsMHgyNywweDBjLDB4ODAsMHgwMywweDc1LDB4MjcsMHgwOCwweGFmLDB4MjcsMHhlNCwweGVmLDB4NTQsCi0weDdjLDB4NDQsMHg4MywweGZmLDB4OGYsMHgyNywweGU1LDB4MjcsMHhmYywweDc4LDB4YWIsMHhlNiwweDI0LDB4MDEsMHhmNSwweDgyLAotMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlYywweGYwLDB4ZTUsMHgyNywweGZjLDB4NzgsMHhhYiwweGU2LDB4MjQsMHgwNSwKLTB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGVjLDB4ZjAsMHhlNSwweDI3LDB4ZmMsMHg3OCwweGEzLDB4ZTYsCi0weDI0LDB4YTQsMHhmOCwweGVjLDB4ZjYsMHg3OCwweGE5LDB4ZTYsMHgyNCwweDAyLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLAotMHhmNSwweDgzLDB4ZTAsMHhmNSwweDI3LDB4NzgsMHhhNywweGU2LDB4MjQsMHgwMiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwKLTB4ZjUsMHg4MywweGEzLDB4ZTAsMHgzMCwweGUzLDB4MTcsMHg1MywweDI3LDB4YzcsMHg3OCwweGE3LDB4ZTYsMHgyNCwweDA1LDB4ZjUsCi0weDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg5MCwweDM1LDB4NTgsMHg5MywweDQyLDB4MjcsMHg1MywweDI3LAotMHhmYiwweDc4LDB4YTcsMHhlNiwweDI0LDB4MDYsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg2MCwKLTB4MDMsMHg0MywweDI3LDB4MDQsMHg1MywweDI3LDB4ZmMsMHg3OCwweGE3LDB4ZTYsMHgyNCwweDA0LDB4ZjUsMHg4MiwweDE4LDB4ZTYsCi0weDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg0MiwweDI3LDB4NDMsMHgyNywweDgwLDB4ZTUsMHgyNywweGZjLDB4NzgsMHhhOSwweGU2LAotMHgyNCwweDAyLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGVjLDB4ZjAsMHg3OCwweGE5LDB4ZTYsMHgyNCwKLTB4MDQsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHhmNSwweDI3LDB4NzgsMHhhNywweGU2LDB4MjQsCi0weDAyLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGEzLDB4ZTAsMHgzMCwweGUxLDB4MDUsMHg1MywweDI3LAotMHhkZiwweDgwLDB4MDMsMHg0MywweDI3LDB4MjAsMHg3OCwweGE3LDB4ZTYsMHgyNCwweDAyLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwKLTB4MDAsMHhmNSwweDgzLDB4ZTAsMHgzMCwweGU0LDB4MDUsMHg1MywweDI3LDB4ZWYsMHg4MCwweDAzLDB4NDMsMHgyNywweDEwLDB4NzgsCi0weGE3LDB4ZTYsMHgyNCwweDA5LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4YjQsMHgwMiwweDAzLAotMHg0MywweDI3LDB4MDIsMHhlNSwweDI3LDB4ZmMsMHg3OCwweGE5LDB4ZTYsMHgyNCwweDA0LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwKLTB4MDAsMHhmNSwweDgzLDB4ZWMsMHhmMCwweDc4LDB4YTksMHhlNiwweDI0LDB4MDMsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsCi0weGY1LDB4ODMsMHhlMCwweGY1LDB4MjcsMHg3OCwweGE3LDB4ZTYsMHgyNCwweDA5LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLAotMHhmNSwweDgzLDB4ZTAsMHg3MCwweDA1LDB4NTMsMHgyNywweDdmLDB4ODAsMHgwMywweDQzLDB4MjcsMHg4MCwweDc4LDB4YTcsMHhlNiwKLTB4MjQsMHgwMiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhhMywweGUwLDB4MzAsMHhlMCwweDA1LDB4NDMsCi0weDI3LDB4MjAsMHg4MCwweDAzLDB4NTMsMHgyNywweGRmLDB4NzgsMHhhNywweGU2LDB4MjQsMHgwMiwweGY1LDB4ODIsMHgxOCwweGU2LAotMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4MzAsMHhlMywweDA1LDB4NDMsMHgyNywweDQwLDB4ODAsMHgwMywweDUzLDB4MjcsMHhiZiwKLTB4NzgsMHhhNywweGU2LDB4MjQsMHgwMiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDMwLDB4ZTAsCi0weDA1LDB4NDMsMHgyNywweDEwLDB4ODAsMHgwMywweDUzLDB4MjcsMHhlZiwweDc4LDB4YTcsMHhlNiwweDI0LDB4MDIsMHhmNSwweDgyLAotMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhhMywweGUwLDB4MzAsMHhlNCwweDA1LDB4NDMsMHgyNywweDA4LDB4ODAsMHgwMywKLTB4NTMsMHgyNywweGY3LDB4NzgsMHhhNywweGU2LDB4MjQsMHgwMiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsCi0weGEzLDB4ZTAsMHgzMCwweGU1LDB4MDUsMHg0MywweDI3LDB4MDQsMHg4MCwweDAzLDB4NTMsMHgyNywweGZiLDB4NzgsMHhhNywweGU2LAotMHgyNCwweDAyLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGEzLDB4ZTAsMHgzMCwweGU2LDB4MDUsMHg0MywKLTB4MjcsMHgwMSwweDgwLDB4MDMsMHg1MywweDI3LDB4ZmUsMHg3OCwweGE3LDB4ZTYsMHgyNCwweDAyLDB4ZjUsMHg4MiwweDE4LDB4ZTYsCi0weDM0LDB4MDAsMHhmNSwweDgzLDB4YTMsMHhlMCwweDMwLDB4ZTcsMHgwNSwweDQzLDB4MjcsMHgwMiwweDgwLDB4MDMsMHg1MywweDI3LAotMHhmZCwweGU1LDB4MjcsMHhmYywweDc4LDB4YTksMHhlNiwweDI0LDB4MDMsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwKLTB4ODMsMHhlYywweGYwLDB4YzIsMHgwMywweDdjLDB4MDAsMHgyMiwweDhkLDB4MjcsMHg4YywweDI2LDB4ZWQsMHg1NCwweDAzLDB4MTQsCi0weDYwLDB4MDMsMHg3YywweDEwLDB4MjIsMHhlNSwweDI3LDB4NTQsMHg3YywweDI0LDB4ZmMsMHg0MCwweDAzLDB4N2MsMHgwYiwweDIyLAotMHhlNSwweDI2LDB4MjQsMHg5ZCwweGY4LDB4YzYsMHg0NCwweDAyLDB4ZjYsMHg3YywweDAwLDB4MjIsMHg4YywweDMwLDB4MTIsMHgwZiwKLTB4NjksMHhlNSwweDMwLDB4MjQsMHg5ZCwweGY4LDB4ZTYsMHgyMCwweGUyLDB4NGYsMHhhYywweDMwLDB4N2QsMHgwMiwweDEyLDB4MGQsCi0weDJmLDB4ZTUsMHgzMCwweDI0LDB4ZmUsMHg0NCwweDI4LDB4ZmMsMHg3OCwweGFhLDB4ODYsMHg4MywweDA4LDB4ODYsMHg4MiwweGVjLAotMHhmMCwweGFmLDB4ODMsMHhlNSwweDgyLDB4MjQsMHgwNCwweGZlLDB4ZTQsMHgzZiwweGZmLDB4ZWMsMHg4ZSwweDgyLDB4OGYsMHg4MywKLTB4ZjAsMHg3YywweDAzLDB4OGMsMHgyYywweGU1LDB4MmMsMHhmYywweDc4LDB4YWIsMHhlNiwweDI0LDB4MDEsMHhmNSwweDgyLDB4MTgsCi0weGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlYywweGYwLDB4ZTUsMHgyYywweGZjLDB4NzgsMHhhYiwweGU2LDB4MjQsMHgwNSwweGY1LAotMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGVjLDB4ZjAsMHg3NSwweDJkLDB4MDEsMHg3NSwweDJmLDB4NDgsMHg3NSwKLTB4MmUsMHhmZiwweGU1LDB4MzAsMHgyNCwweGZkLDB4ZmMsMHhlNCwweDM0LDB4ZmYsMHhmZCwweGVjLDB4N2MsMHgwMywweDI1LDB4ZTAsCi0weGNkLDB4MzMsMHhjZCwweGRjLDB4ZjksMHhmYywweGU1LDB4MmYsMHgyYywweGY1LDB4MmYsMHhlNSwweDJlLDB4M2QsMHhmNSwweDJlLAotMHg3OCwweGFiLDB4ZTYsMHgyNCwweDA0LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4NTQsMHhlNywKLTB4ZjUsMHgyYywweGFkLDB4MmYsMHhhZSwweDJlLDB4YWYsMHgyZCwweGU0LDB4OTAsMHgwMCwweDAyLDB4MTIsMHgwMywweDE3LDB4ZTQsCi0weDkwLDB4MDAsMHgwNiwweDEyLDB4MDMsMHgxNywweDEyLDB4MDEsMHhlNiwweDMwLDB4ZTUsMHgwMywweDQzLDB4MmMsMHgxMCwweGU1LAotMHgyYywweGZjLDB4NzgsMHhhYiwweGU2LDB4MjQsMHgwNCwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlYywKLTB4ZjAsMHgxMiwweDEwLDB4NGIsMHg3OCwweGE5LDB4ZTYsMHgyNCwweDA2LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsCi0weDgzLDB4ZTAsMHhjMiwweDAzLDB4ZmMsMHhlNSwweDMwLDB4MjQsMHg5ZCwweGY4LDB4YzYsMHg0NCwweDA0LDB4ZjYsMHg4YywweDJjLAotMHhlNSwweDMwLDB4NTQsMHgwZiwweGM0LDB4NTQsMHhmMCwweDdlLDB4MDAsMHhmZiwweGVlLDB4ZWYsMHg0NCwweDA0LDB4N2QsMHgwMCwKLTB4ZmYsMHhlYywweDRlLDB4ZmMsMHhlZCwweDRmLDB4ZmQsMHgxMiwweDFjLDB4YTcsMHg3YywweDAwLDB4MjIsMHg4YywweDJmLDB4MTIsCi0weDBmLDB4NjksMHgxMiwweDBmLDB4ZWIsMHg3OCwweGFhLDB4ODYsMHg4MywweDA4LDB4ODYsMHg4MiwweGUwLDB4NTQsMHgwOCwweGYwLAotMHhhMywweGEzLDB4YTMsMHhhMywweGUwLDB4NTQsMHgwOCwweGYwLDB4YWMsMHgyZiwweDdkLDB4MDIsMHgxMiwweDBkLDB4MmYsMHhjMiwKLTB4MDMsMHhlNSwweDJmLDB4MjQsMHg5ZCwweGY4LDB4YzYsMHg1NCwweGZiLDB4ZjYsMHg3YywweDAwLDB4MjIsMHgxMiwweDMwLDB4ZTYsCi0weDc4LDB4OTYsMHhlYywweGY2LDB4ZWMsMHgyNCwweDlkLDB4ZjgsMHhlNiwweDMwLDB4ZTEsMHgwYSwweDdkLDB4MDAsMHg3YywweDEzLAotMHgxMiwweDI1LDB4MjYsMHgxMiwweDMxLDB4NjksMHg3OCwweDk2LDB4ZTYsMHgyNCwweDlkLDB4ZjgsMHhjNiwweDQ0LDB4MDEsMHhmNiwKLTB4NzgsMHg5NiwweGU2LDB4ZmMsMHgxMiwweDBmLDB4NjksMHg3OCwweDk2LDB4ZTYsMHgyNCwweGZkLDB4NzUsMHhmMCwweDBhLDB4YTQsCi0weDI0LDB4MTQsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZjLDB4ZjUsMHg4MywweDc4LDB4YTYsMHhlNiwweGZhLDB4MDgsMHhlNiwweGY5LAotMHg3YiwweDBhLDB4NzgsMHgwMSwweDEyLDB4MDMsMHhhNywweDc4LDB4YTYsMHg4NiwweDgzLDB4MDgsMHg4NiwweDgyLDB4NzksMHg2NywKLTB4N2EsMHgzNSwweDdiLDB4MGEsMHg3OCwweDAxLDB4MTIsMHgwMywweGY1LDB4MTIsMHgwZiwweGI3LDB4YzIsMHgwMywweDc4LDB4OTYsCi0weGU2LDB4ZmMsMHgxMiwweDExLDB4MDcsMHg3OCwweDk1LDB4ZWMsMHhmNiwweGVjLDB4NjAsMHgwYSwweDdkLDB4MDAsMHg3YywweDA4LAotMHgxMiwweDI1LDB4MjYsMHgxMiwweDMxLDB4NjksMHg3OCwweDk2LDB4ZTYsMHhmYywweDEyLDB4MGYsMHg2OSwweDc4LDB4YTksMHhlNiwKLTB4MjQsMHgwNCwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDQ0LDB4MTAsMHg1NCwweGRmLDB4ZmMsCi0weDc4LDB4YTksMHhlNiwweDI0LDB4MDQsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZWMsMHhmMCwweDc4LAotMHg5NSwweGVjLDB4ZjYsMHhjMiwweDAzLDB4N2MsMHhjOCwweDEyLDB4MzIsMHhhOSwweDc4LDB4OTYsMHhlNiwweGZjLDB4MTIsMHgwZiwKLTB4NjksMHg3OCwweGE5LDB4ZTYsMHgyNCwweDA0LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4NTQsCi0weGVmLDB4ZjAsMHhjMiwweDAzLDB4N2MsMHhjOCwweDEyLDB4MzIsMHhhOSwweDc4LDB4OTYsMHhlNiwweGZjLDB4MTIsMHgwZiwweDY5LAotMHg3OCwweGE5LDB4ZTYsMHgyNCwweDA0LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4NDQsMHgxMCwKLTB4ZjAsMHhjMiwweDAzLDB4N2MsMHhjOCwweDEyLDB4MzIsMHhhOSwweDc4LDB4OTYsMHhlNiwweGZjLDB4MTIsMHgwZiwweDY5LDB4NzgsCi0weGE5LDB4ZTYsMHgyNCwweDA0LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4NDQsMHgyMCwweGYwLAotMHhjMiwweDAzLDB4N2MsMHhmMCwweDEyLDB4MzIsMHhhOSwweDc4LDB4OTYsMHhlNiwweGZjLDB4MTIsMHgwZiwweDY5LDB4NzgsMHhhOSwKLTB4ZTYsMHgyNCwweDA1LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4MzAsMHhlNCwweDE1LDB4YzIsCi0weDAzLDB4NzgsMHg5NiwweGU2LDB4NDQsMHgxMCwweDdmLDB4MDAsMHhmZSwweDdjLDB4MDcsMHgxMiwweDMxLDB4ZmIsMHgxMiwweDMxLAotMHg2OSwweDAyLDB4MTcsMHgxNCwweDc4LDB4YTksMHhlNiwweDI0LDB4MDQsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwKLTB4ODMsMHhlMCwweDU0LDB4Y2YsMHhmMCwweGMyLDB4MDMsMHg3YywweGM4LDB4MTIsMHgzMiwweGE5LDB4NzgsMHg5NiwweGU2LDB4ZmMsCi0weDEyLDB4MGYsMHg2OSwweDc4LDB4YTksMHhlNiwweDI0LDB4MDQsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLAotMHhlMCwweDQ0LDB4MzAsMHhmMCwweGMyLDB4MDMsMHg3YywweGYwLDB4MTIsMHgzMiwweGE5LDB4NzgsMHg5NiwweGU2LDB4ZmMsMHgxMiwKLTB4MGYsMHg2OSwweDc4LDB4YTksMHhlNiwweDI0LDB4MDUsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsCi0weDMwLDB4ZTQsMHgxNCwweGMyLDB4MDMsMHg3OCwweDk2LDB4ZTYsMHg0NCwweDEwLDB4N2YsMHgwMCwweGZlLDB4N2MsMHgwNywweDEyLAotMHgzMSwweGZiLDB4MTIsMHgzMSwweDY5LDB4ODAsMHg1ZCwweDc4LDB4YTksMHhlNiwweDI0LDB4MDQsMHhmNSwweDgyLDB4MTgsMHhlNiwKLTB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDU0LDB4ZWYsMHhmMCwweDc4LDB4YTksMHhlNiwweDI0LDB4MDQsMHhmNSwweDgyLDB4MTgsCi0weGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDU0LDB4ZGYsMHhmMCwweDc4LDB4OTYsMHhlNiwweDI0LDB4ZmQsMHg3NSwweGYwLAotMHgwYSwweGE0LDB4MjQsMHgxNCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmMsMHhmNSwweDgzLDB4YWMsMHg4MiwweGFkLDB4ODMsMHg3OCwKLTB4YTYsMHg4NiwweDgzLDB4MDgsMHg4NiwweDgyLDB4ZWMsMHhmOSwweGVkLDB4ZmEsMHg3YiwweDBhLDB4NzgsMHgwMSwweDEyLDB4MDMsCi0weGE3LDB4YzIsMHgwMywweDc4LDB4OTYsMHhlNiwweGZjLDB4MTIsMHgxMSwweDA3LDB4N2QsMHgwMCwweDdjLDB4MGIsMHgxMiwweDI1LAotMHgyNiwweDEyLDB4MzEsMHg2OSwweDIyLDB4MTIsMHgzMCwweGU2LDB4ZTQsMHg5MCwweGZjLDB4MzksMHhmMCwweDdkLDB4MDIsMHg3YywKLTB4MDAsMHgxMiwweDI1LDB4MjYsMHgxMiwweDMxLDB4NjksMHgyMiwweDEyLDB4MzAsMHhlNiwweDdjLDB4MDAsMHgxMiwweDI1LDB4YmYsCi0weDEyLDB4MzEsMHg2OSwweDIyLDB4NzQsMHgzYywweDkwLDB4ZmIsMHhlMCwweGYwLDB4NzQsMHgzZSwweDkwLDB4ZmIsMHhlMCwweGYwLAotMHhlNCwweDkwLDB4ZmMsMHgyOCwweGYwLDB4MjIsMHg4ZCwweDM1LDB4OGMsMHgzNCwweGVjLDB4YjQsMHgwMSwweDAyLDB4ODAsMHgwMywKLTB4ZDMsMHg0MCwweDAyLDB4ODAsMHgyOCwweGI0LDB4MDIsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MDgsMHhhOCwweDM1LDB4YzYsCi0weDI1LDB4ZTAsMHhmNiwweDgwLDB4MTgsMHhiNCwweDA0LDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDBhLDB4YTgsMHgzNSwweGM2LAotMHgyNSwweGUwLDB4MjUsMHhlMCwweGY2LDB4ODAsMHgwNiwweGE4LDB4MzUsMHg3NiwweDAwLDB4ODAsMHgwMCwweDIyLDB4OGMsMHgzYywKLTB4OGQsMHgzYiwweGVkLDB4ZmUsMHhlYywweGZkLDB4N2YsMHgwMSwweDc1LDB4NjYsMHgwNiwweDc1LDB4NjcsMHgwMCwweDkwLDB4ZmMsCi0weDI5LDB4MTIsMHgwNCwweDZlLDB4MTIsMHgwMSwweGU2LDB4YjQsMHg4MCwweDAyLDB4ODAsMHgwNiwweGQzLDB4NTAsMHgwMywweDAyLAotMHgxOCwweDQ3LDB4OTAsMHhmYywweDI5LDB4MTIsMHgwNCwweDgwLDB4OTAsMHgwMCwweDAzLDB4MTIsMHgwMSwweGVjLDB4NTQsMHhmMCwKLTB4YjQsMHgzMCwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHg1ZiwweDkwLDB4ZmMsMHgyOSwweDEyLDB4MDQsMHg4MCwweDkwLDB4MDAsCi0weDA4LDB4MTIsMHgwMiwweDBlLDB4ZmEsMHhmZCwweGViLDB4ZmUsMHg3ZiwweDAxLDB4OTAsMHhmYywweDJjLDB4MTIsMHgwNCwweDZlLAotMHhlZSwweGNkLDB4OTAsMHgzNSwweDcxLDB4ZmMsMHhlNCwweDkzLDB4ZmYsMHg3NCwweDAxLDB4OTMsMHhmZSwweGY5LDB4ZWYsMHhmYSwKLTB4N2IsMHgwMSwweGVhLDB4ZmYsMHhlOSwweGZlLDB4ZWMsMHhjMywweDllLDB4ZWQsMHg5ZiwweDQwLDB4MjUsMHg5MCwweDM1LDB4NzMsCi0weGU0LDB4OTMsMHhmZCwweDc0LDB4MDEsMHg5MywweGZjLDB4ZWQsMHhmZSwweGVjLDB4ZmQsMHg3ZiwweDAxLDB4ZWUsMHhjZCwweGZjLAotMHg5MCwweGZjLDB4MmUsMHhlMCwweGQzLDB4OWMsMHg5MCwweGZjLDB4MmQsMHhlMCwweDlkLDB4NTAsMHgwNSwweDc1LDB4NjYsMHg4MCwKLTB4ODAsMHgzMywweDEyLDB4MTksMHg2NSwweDgwLDB4MmUsMHhiNCwweDYwLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDBiLDB4YWMsCi0weDNjLDB4YWQsMHgzYiwweDEyLDB4MDcsMHg3NywweDhjLDB4NjYsMHg4MCwweDFiLDB4YjQsMHgxMCwweDAzLDB4YjMsMHg0MCwweDEwLAotMHhjMywweGI0LDB4MjAsMHgwMywweGIzLDB4NDAsMHgwOSwweGMzLDB4YjQsMHg0MCwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgwMCwKLTB4NzUsMHg2NiwweDgxLDB4ODAsMHgwMCwweDgwLDB4NzUsMHhiNCwweDgxLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDZiLDB4OTAsCi0weGZjLDB4MjksMHgxMiwweDA0LDB4ODAsMHg5MCwweDAwLDB4MDMsMHgxMiwweDAxLDB4ZWMsMHg1NCwweGYwLDB4YjQsMHgzMCwweDAyLAotMHg4MCwweDAzLDB4ZDMsMHg0MCwweDFkLDB4OTAsMHhmYywweDI5LDB4MTIsMHgwNCwweDgwLDB4OTAsMHgwMCwweDA4LDB4MTIsMHgwMiwKLTB4MGUsMHhmYSwweGZkLDB4ZWIsMHhmZSwweDdmLDB4MDEsMHg5MCwweGZjLDB4MmYsMHgxMiwweDA0LDB4NmUsMHgxMiwweDE4LDB4Y2YsCi0weDgwLDB4MzYsMHhiNCwweDYwLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDEzLDB4NzUsMHgzYSwweDY3LDB4ZTQsMHhmNSwweDM5LAotMHhmNSwweDM4LDB4YWMsMHgzYywweGFkLDB4M2IsMHgxMiwweDA1LDB4ZDMsMHg4YywweDY2LDB4ODAsMHgxYiwweGI0LDB4MTAsMHgwMywKLTB4YjMsMHg0MCwweDEwLDB4YzMsMHhiNCwweDIwLDB4MDMsMHhiMywweDQwLDB4MDksMHhjMywweGI0LDB4NDAsMHgwMiwweDgwLDB4MDMsCi0weGQzLDB4NDAsMHgwMCwweDc1LDB4NjYsMHg4MSwweDgwLDB4MDAsMHg4MCwweDAyLDB4ODAsMHgwMCwweGU1LDB4NjYsMHhmYywweDkwLAotMHhmYywweDI5LDB4MTIsMHgwNCwweDgwLDB4ZWMsMHg5MCwweDAwLDB4MDIsMHgxMiwweDAzLDB4MTcsMHhhYywweDY3LDB4MjIsMHg5MCwKLTB4ZmMsMHgyOSwweDEyLDB4MDQsMHg4MCwweDkwLDB4MDAsMHgwNCwweDEyLDB4MDEsMHhlYywweDYwLDB4MDQsMHg3NCwweDAxLDB4ODAsCi0weDAxLDB4ZTQsMHhhMiwweGUwLDB4OTIsMHgwMSwweDkwLDB4ZmMsMHgyOSwweDEyLDB4MDQsMHg4MCwweGVkLDB4MjQsMHgwMywweGZkLAotMHg1MCwweDAxLDB4MGUsMHg5MCwweGZjLDB4MmMsMHgxMiwweDA0LDB4NmUsMHg5MCwweGZjLDB4MjksMHgxMiwweDA0LDB4ODAsMHg5MCwKLTB4MDAsMHgwNSwweDEyLDB4MDEsMHhlYywweGY1LDB4NjcsMHg5MCwweDAwLDB4MDQsMHgxMiwweDAxLDB4ZWMsMHg1NCwweDBmLDB4ZmMsCi0weDdkLDB4NjcsMHgxMiwweDE3LDB4NDYsMHhlNSwweDY3LDB4NzAsMHgwNCwweDc1LDB4NjYsMHgwOCwweDIyLDB4NzUsMHg2NiwweDAwLAotMHg3OCwweDg0LDB4NzYsMHgwMCwweDc4LDB4ODQsMHhlNiwweGMzLDB4OTUsMHg2NywweDUwLDB4MzgsMHg5MCwweGZjLDB4MmYsMHgxMiwKLTB4MDQsMHg4MCwweDEyLDB4MDEsMHhlNiwweGZjLDB4OTAsMHhmYywweDJjLDB4MTIsMHgwNCwweDgwLDB4ZWMsMHgxMiwweDAzLDB4MGYsCi0weDMwLDB4MDEsMHgwZSwweDkwLDB4ZmMsMHgzMSwweGUwLDB4MDQsMHhmMCwweDkwLDB4ZmMsMHgzMCwweDcwLDB4MDMsMHhlMCwweDA0LAotMHhmMCwweDc4LDB4ODQsMHgwNiwweDkwLDB4ZmMsMHgyZSwweGUwLDB4MDQsMHhmMCwweDkwLDB4ZmMsMHgyZCwweDcwLDB4MDMsMHhlMCwKLTB4MDQsMHhmMCwweDgwLDB4YzAsMHgyMiwweDkwLDB4ZmMsMHgyYSwweGUwLDB4ZmQsMHhhMywweGUwLDB4ZmMsMHhlZCwweGZlLDB4ZWMsCi0weGZkLDB4N2YsMHgwMSwweGVkLDB4MjQsMHgwYSwweGZkLDB4NTAsMHgwMSwweDBlLDB4OTAsMHhmYywweDMyLDB4MTIsMHgwNCwweDZlLAotMHg5MCwweGZjLDB4MjksMHgxMiwweDA0LDB4ODAsMHg5MCwweDAwLDB4MDQsMHgxMiwweDAxLDB4ZWMsMHg1NCwweDBmLDB4YjQsMHgwMSwKLTB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDE3LDB4OTAsMHhmYywweDMyLDB4MTIsMHgwNCwweDgwLDB4MGQsMHhlZCwweDcwLDB4MDEsCi0weDBlLDB4OTAsMHhmYywweDJmLDB4MTIsMHgwNCwweDZlLDB4NzgsMHg4OCwweDc2LDB4MDEsMHg4MCwweDRlLDB4YjQsMHgwMiwweDAyLAotMHg4MCwweDAzLDB4ZDMsMHg0MCwweDE5LDB4OTAsMHhmYywweDMyLDB4MTIsMHgwNCwweDgwLDB4ZWQsMHgyNCwweDAyLDB4ZmQsMHg1MCwKLTB4MDEsMHgwZSwweDkwLDB4ZmMsMHgyZiwweDEyLDB4MDQsMHg2ZSwweDc4LDB4ODgsMHg3NiwweDAyLDB4ODAsMHgyZCwweGI0LDB4MDQsCi0weDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgxOSwweDkwLDB4ZmMsMHgzMiwweDEyLDB4MDQsMHg4MCwweGVkLDB4MjQsMHgwNCwweGZkLAotMHg1MCwweDAxLDB4MGUsMHg5MCwweGZjLDB4MmYsMHgxMiwweDA0LDB4NmUsMHg3OCwweDg4LDB4NzYsMHgwNCwweDgwLDB4MGMsMHhiNCwKLTB4MDAsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MDAsMHg3NSwweDY2LDB4MDgsMHgyMiwweDkwLDB4ZmMsMHgyOSwweDEyLDB4MDQsCi0weDgwLDB4OTAsMHgwMCwweDA1LDB4MTIsMHgwMSwweGVjLDB4ZjUsMHg2NywweDc4LDB4ODUsMHg3NiwweDAwLDB4NzgsMHg4NSwweGU2LAotMHhjMywweDk1LDB4NjcsMHg0MCwweDAzLDB4MDIsMHgxYSwweGNkLDB4NzgsMHg4NiwweDc2LDB4MDAsMHg3OCwweDg2LDB4ZTYsMHhjMywKLTB4NzgsMHg4OCwweDk2LDB4NTAsMHg3NiwweDkwLDB4ZmMsMHgyYywweDEyLDB4MDQsMHg4MCwweDEyLDB4MDEsMHhlNiwweGZjLDB4OTAsCi0weGZjLDB4MzIsMHgxMiwweDA0LDB4ODksMHgxMiwweDAxLDB4ZTAsMHhmNCwweDVjLDB4ZmMsMHgxMiwweDAxLDB4ZTAsMHhmOCwweDkwLAotMHhmYywweDJmLDB4MTIsMHgwNCwweDgwLDB4ZTgsMHhjMCwweGUwLDB4MTIsMHgwMSwweGU2LDB4YzgsMHhkMCwweGUwLDB4YzgsMHg1OCwKLTB4NGMsMHhmYywweDkwLDB4ZmMsMHgyYywweDEyLDB4MDQsMHg4MCwweGVjLDB4MTIsMHgwMywweDBmLDB4NzgsMHg4NywweGVjLDB4ZjYsCi0weDkwLDB4ZmMsMHgzMSwweGUwLDB4MDQsMHhmMCwweDkwLDB4ZmMsMHgzMCwweDcwLDB4MDMsMHhlMCwweDA0LDB4ZjAsMHgwOSwweGU5LAotMHg3MCwweDAxLDB4MGEsMHg5MCwweGZjLDB4MzIsMHgxMiwweDA0LDB4NzcsMHg5MCwweGZjLDB4MjksMHgxMiwweDA0LDB4ODAsMHg5MCwKLTB4MDAsMHgwNCwweDEyLDB4MDEsMHhlYywweDMwLDB4ZTQsMHgwZSwweDkwLDB4ZmMsMHgyZSwweGUwLDB4MDQsMHhmMCwweDkwLDB4ZmMsCi0weDJkLDB4NzAsMHgwMywweGUwLDB4MDQsMHhmMCwweDc4LDB4ODYsMHgwNiwweDgwLDB4ODEsMHg3OCwweDg4LDB4ZTYsMHhmZCwweGU0LAotMHhmZSwweGZmLDB4ZWUsMHhjZCwweGZjLDB4OTAsMHhmYywweDMxLDB4ZTAsMHgyYywweGYwLDB4OTAsMHhmYywweDMwLDB4ZTAsMHgzZCwKLTB4ZjAsMHg3OCwweDg4LDB4ZTYsMHhmZCwweGU0LDB4ZmUsMHhmZiwweGVlLDB4Y2QsMHhmYywweDkwLDB4ZmMsMHgzNCwweGUwLDB4MmMsCi0weGYwLDB4OTAsMHhmYywweDMzLDB4ZTAsMHgzZCwweGYwLDB4NzgsMHg4NSwweDA2LDB4MDIsMHgxYSwweDBkLDB4NzUsMHg2NiwweDAwLAotMHgyMiwweGU1LDB4M2QsMHgwNSwweDNkLDB4MDQsMHg3MCwweDAyLDB4YjIsMHhiMCwweDIyLDB4YzAsMHhlMCwweGMwLDB4ZjAsMHhjMCwKLTB4ODIsMHhjMCwweDgzLDB4YzAsMHhkMCwweGU4LDB4YzAsMHhlMCwweGU5LDB4YzAsMHhlMCwweGVhLDB4YzAsMHhlMCwweGViLDB4YzAsCi0weGUwLDB4ZWMsMHhjMCwweGUwLDB4ZWQsMHhjMCwweGUwLDB4ZWUsMHhjMCwweGUwLDB4ZWYsMHhjMCwweGUwLDB4OTAsMHhmZiwweDkyLAotMHhlMCwweDEyLDB4MDEsMHhiNywweDFiLDB4MjksMHgzMCwweDFiLDB4MjksMHgzMiwweDFiLDB4MzgsMHgzOCwweDFiLDB4NGEsMHgzYSwKLTB4MWIsMHg1YywweDNlLDB4MWIsMHg3NCwweDQ0LDB4MWIsMHg2OCwweDQ2LDB4MWIsMHg4MCwweDUwLDB4MWIsMHhjMiwweDUyLDB4MWIsCi0weGExLDB4NTQsMHgxYiwweGUzLDB4NTYsMHgwMCwweDAwLDB4MWMsMHgwNCwweDkwLDB4ZmYsMHg5MiwweGUwLDB4N2YsMHgwMCwweGZlLAotMHg3YywweDAxLDB4MTIsMHgzMSwweGZiLDB4MDIsMHgxYywweDE0LDB4ZTQsMHhmZiwweDA0LDB4ZmUsMHg3YywweDAzLDB4MTIsMHgzMSwKLTB4ZmIsMHg3NCwweDIwLDB4OTAsMHhmZiwweGZlLDB4ZjAsMHgwMiwweDFjLDB4MTQsMHhlNCwweGZmLDB4MDQsMHhmZSwweDdjLDB4MDIsCi0weDEyLDB4MzEsMHhmYiwweDc0LDB4NDAsMHg5MCwweGZmLDB4ZmUsMHhmMCwweDAyLDB4MWMsMHgxNCwweGU0LDB4ZmYsMHgwNCwweGZlLAotMHg3YywweDA0LDB4MTIsMHgzMSwweGZiLDB4MDIsMHgxYywweDE0LDB4ZTQsMHhmZiwweDA0LDB4ZmUsMHg3YywweDA1LDB4MTIsMHgzMSwKLTB4ZmIsMHgwMiwweDFjLDB4MTQsMHhlNCwweGZmLDB4MDQsMHhmZSwweDdjLDB4MDYsMHgxMiwweDMxLDB4ZmIsMHgwMiwweDFjLDB4MTQsCi0weDkwLDB4ZmYsMHhhNSwweGUwLDB4N2QsMHgwMCwweDkwLDB4ZmIsMHhmOCwweGNkLDB4ZjAsMHhhMywweGNkLDB4ZjAsMHg5MCwweGZiLAotMHhmOSwweGUwLDB4ZmMsMHhmNSwweDgzLDB4OTAsMHhmYiwweGY4LDB4ZTAsMHg0NCwweDMzLDB4ZmQsMHgxMiwweDFjLDB4YTcsMHg4MCwKLTB4NzMsMHg5MCwweGZmLDB4YjUsMHhlMCwweDdkLDB4MDAsMHg5MCwweGZiLDB4ZmEsMHhjZCwweGYwLDB4YTMsMHhjZCwweGYwLDB4OTAsCi0weGZiLDB4ZmIsMHhlMCwweGZjLDB4ZjUsMHg4MywweDkwLDB4ZmIsMHhmYSwweGUwLDB4NDQsMHg0MywweGZkLDB4MTIsMHgxYywweGE3LAotMHg4MCwweDUyLDB4OTAsMHhmZiwweGE2LDB4ZTAsMHg3ZCwweDAwLDB4OTAsMHhmYiwweGZjLDB4Y2QsMHhmMCwweGEzLDB4Y2QsMHhmMCwKLTB4OTAsMHhmYiwweGZkLDB4ZTAsMHhmYywweGY1LDB4ODMsMHg5MCwweGZiLDB4ZmMsMHhlMCwweDQ0LDB4MzQsMHhmZCwweDEyLDB4MWMsCi0weGE3LDB4ODAsMHgzMSwweDkwLDB4ZmYsMHhiNiwweGUwLDB4N2QsMHgwMCwweDkwLDB4ZmIsMHhmZSwweGNkLDB4ZjAsMHhhMywweGNkLAotMHhmMCwweDkwLDB4ZmIsMHhmZiwweGUwLDB4ZmMsMHhmNSwweDgzLDB4OTAsMHhmYiwweGZlLDB4ZTAsMHg0NCwweDQ0LDB4ZmQsMHgxMiwKLTB4MWMsMHhhNywweDgwLDB4MTAsMHg5MCwweGZmLDB4OTIsMHhlMCwweDdkLDB4MDAsMHhmYywweGVkLDB4NDQsMHhhYSwweGZkLDB4MTIsCi0weDFjLDB4YTcsMHg4MCwweDAwLDB4ZTQsMHg5MCwweGZmLDB4OTIsMHhmMCwweGQwLDB4ZTAsMHhmZiwweGQwLDB4ZTAsMHhmZSwweGQwLAotMHhlMCwweGZkLDB4ZDAsMHhlMCwweGZjLDB4ZDAsMHhlMCwweGZiLDB4ZDAsMHhlMCwweGZhLDB4ZDAsMHhlMCwweGY5LDB4ZDAsMHhlMCwKLTB4ZjgsMHhkMCwweGQwLDB4ZDAsMHg4MywweGQwLDB4ODIsMHhkMCwweGYwLDB4ZDAsMHhlMCwweDMyLDB4MDUsMHg4MSwweDA1LDB4ODEsCi0weDA1LDB4ODEsMHgwNSwweDgxLDB4YTgsMHg4MSwweDE4LDB4MTgsMHgxOCwweGVkLDB4ZjYsMHgwOCwweGVjLDB4ZjYsMHg5MCwweGZmLAotMHg1YSwweGUwLDB4MjAsMHhlNywweDAyLDB4ODAsMHhmNywweDkwLDB4ZmYsMHg1OSwweGUwLDB4N2QsMHgwMCwweGE4LDB4ODEsMHgxOCwKLTB4Y2QsMHhmNiwweGNkLDB4MDgsMHhmNiwweDdkLDB4MDMsMHhhOCwweDgxLDB4ZTYsMHgxOCwweGZjLDB4ZTYsMHhjYywweDI1LDB4ZTAsCi0weGNjLDB4MzMsMHhjYywweGRkLDB4ZjksMHhjYywweGY2LDB4Y2MsMHgwOCwweGY2LDB4YTgsMHg4MSwweDE4LDB4ZTYsMHg0NCwweGY4LAotMHhmNiwweGE4LDB4ODEsMHgxOCwweDE4LDB4MTgsMHhlNiwweGZkLDB4MDgsMHhlNiwweGZjLDB4YTgsMHg4MSwweDE4LDB4ODYsMHg4MywKLTB4MDgsMHg4NiwweDgyLDB4ZWQsMHhmMCwweGEzLDB4ZWMsMHhmMCwweDc0LDB4MDIsMHg5MCwweGZmLDB4NWEsMHhmMCwweDE1LDB4ODEsCi0weDE1LDB4ODEsMHgxNSwweDgxLDB4MTUsMHg4MSwweDIyLDB4ZTUsMHg4MSwweDI0LDB4MDUsMHhmNSwweDgxLDB4ZTQsMHhhOCwweDgxLAotMHgxOCwweGY2LDB4YTgsMHg4MSwweDE4LDB4MTgsMHgxOCwweDE4LDB4ZWQsMHhmNiwweDA4LDB4ZWMsMHhmNiwweDkwLDB4ZmIsMHhmNSwKLTB4ZTAsMHgyNCwweGY4LDB4NTAsMHgwMywweDAyLDB4MWQsMHhjOCwweGU0LDB4YTgsMHg4MSwweDE4LDB4MTgsMHhmNiwweGE4LDB4ODEsCi0weDE4LDB4ZTYsMHhmZSwweGE4LDB4ODEsMHgxOCwweDE4LDB4MTgsMHgxOCwweGU2LDB4ZmQsMHgwOCwweGU2LDB4ZmMsMHg3ZiwweDAwLAotMHhlZiwweDI0LDB4ZjgsMHg0MCwweDRkLDB4ZTQsMHhlZiwweDI1LDB4ZTAsMHgyNCwweDdkLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmYywKLTB4ZjUsMHg4MywweGUwLDB4ZmIsMHhhMywweGUwLDB4NmMsMHg3MCwweDAzLDB4ZmEsMHhlYiwweDZkLDB4NzAsMHgwOSwweDc0LDB4MDEsCi0weGE4LDB4ODEsMHgxOCwweDE4LDB4ZjYsMHg4MCwweDJiLDB4ZTQsMHhlZiwweDI1LDB4ZTAsMHgyNCwweDdkLDB4ZjUsMHg4MiwweGU0LAotMHgzNCwweGZjLDB4ZjUsMHg4MywweDdhLDB4MDAsMHhlMCwweDU0LDB4ZjAsMHhjYywweGY4LDB4Y2MsMHhjZCwweGY5LDB4Y2QsMHhmYiwKLTB4NzgsMHgwMCwweGU5LDB4NTQsMHhmMCwweGY5LDB4ZWEsMHg2OCwweDcwLDB4MDIsMHhlYiwweDY5LDB4NzAsMHgwMSwweDBlLDB4MGYsCi0weDgwLDB4YWUsMHhhOCwweDgxLDB4MTgsMHhlZSwweGY2LDB4YTgsMHg4MSwweDE4LDB4MTgsMHgxOCwweDE4LDB4ZWQsMHhmNiwweDA4LAotMHhlYywweGY2LDB4YTgsMHg4MSwweGVmLDB4ZjYsMHhhOCwweDgxLDB4MTgsMHgxOCwweGU2LDB4NzAsMHg3OSwweGE4LDB4ODEsMHgxOCwKLTB4ZTYsMHgyNCwweGY3LDB4NDAsMHg3MSwweGE4LDB4ODEsMHgxOCwweDE4LDB4MTgsMHgxOCwweGU2LDB4NTQsMHgwZiwweGE4LDB4ODEsCi0weGY2LDB4NjQsMHgwNCwweDYwLDB4MTcsMHhhOCwweDgxLDB4ZTYsMHg2NCwweDAzLDB4NjAsMHgxMCwweGE4LDB4ODEsMHgxOCwweDE4LAotMHgxOCwweDE4LDB4ZTYsMHhmZCwweDA4LDB4ZTYsMHhmYywweDEyLDB4MWMsMHgzYywweDgwLDB4NGEsMHg3YywweDBhLDB4MTIsMHgzMSwKLTB4NWIsMHhhOCwweDgxLDB4MTgsMHgxOCwweDE4LDB4MTgsMHhlNiwweGZkLDB4MDgsMHhlNiwweGZjLDB4OTAsMHhmYiwweGY0LDB4ZTAsCi0weDI1LDB4ZTAsMHgyNCwweDdkLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmYywweGY1LDB4ODMsMHhlZCwweGYwLDB4YTMsMHhlYywweGYwLAotMHg5MCwweGZiLDB4ZjQsMHhlMCwweGZmLDB4ZTQsMHhlZiwweDA0LDB4NTQsMHgwNywweGZmLDB4OTAsMHhmYiwweGY0LDB4ZjAsMHg5MCwKLTB4ZmIsMHhmNSwweGUwLDB4MDQsMHhmMCwweDEyLDB4MzEsMHhmNCwweDkwLDB4ZmIsMHhmNiwweGUwLDB4NzAsMHgwOCwweGU0LDB4ZmUsCi0weGZmLDB4N2MsMHgwZiwweDEyLDB4MzEsMHhmYiwweDgwLDB4MjcsMHg5MCwweGZiLDB4ZjcsMHhlMCwweDA0LDB4ZjAsMHg1NCwweDNmLAotMHg3MCwweDFkLDB4OTAsMHhmYiwweGY3LDB4ZTAsMHg0NCwweGZlLDB4N2QsMHgwMCwweGZjLDB4OTAsMHhmYiwweGY0LDB4ZTAsMHgyNSwKLTB4ZTAsMHgyNCwweDdkLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmYywweGY1LDB4ODMsMHhlZCwweGYwLDB4YTMsMHhlYywweGYwLDB4ZTUsCi0weDgxLDB4MjQsMHhmYiwweGY1LDB4ODEsMHgyMiwweDc4LDB4OGIsMHg3NiwweDAwLDB4NzgsMHg4YywweDc2LDB4MDAsMHg3NCwweDAxLAotMHg5MCwweGZiLDB4ZjYsMHhmMCwweDEyLDB4MzAsMHhlNiwweDkwLDB4ZmIsMHhmNSwweGUwLDB4NjAsMHg1NywweDdjLDB4MGEsMHgxMiwKLTB4MzEsMHg1YiwweDkwLDB4ZmIsMHhmMywweGUwLDB4MjUsMHhlMCwweDI0LDB4N2QsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZjLDB4ZjUsCi0weDgzLDB4ZTAsMHhmZCwweGEzLDB4ZTAsMHhmYywweDkwLDB4ZmIsMHhmMywweGUwLDB4MjUsMHhlMCwweDI0LDB4N2QsMHhmNSwweDgyLAotMHhlNCwweDM0LDB4ZmMsMHhmNSwweDgzLDB4ZTQsMHhmMCwweGEzLDB4ZjAsMHg5MCwweGZiLDB4ZjMsMHhlMCwweGZmLDB4ZTQsMHhlZiwKLTB4MDQsMHg1NCwweDA3LDB4ZmYsMHg5MCwweGZiLDB4ZjMsMHhmMCwweDkwLDB4ZmIsMHhmNSwweGUwLDB4MTQsMHhmMCwweDc4LDB4ODksCi0weGVkLDB4ZjYsMHgwOCwweGVjLDB4ZjYsMHgxMiwweDMxLDB4ZjQsMHg3OCwweDg5LDB4ZTYsMHhmZCwweDA4LDB4ZTYsMHhmYywweDEyLAotMHgwOCwweGRhLDB4ODAsMHhhMywweDEyLDB4MzIsMHg0OCwweDkwLDB4ZmYsMHg5MywweGUwLDB4NDQsMHgwMSwweGYwLDB4YjIsMHhiMywKLTB4NzgsMHg4YiwweDA2LDB4YjYsMHgwMCwweDExLDB4NzgsMHg4YiwweDc2LDB4MDAsMHg3OCwweDhjLDB4ZTYsMHhmNCwweDA0LDB4MDQsCi0weGEyLDB4ZTAsMHg5MiwweGI0LDB4NzgsMHg4YywweGY2LDB4MDIsMHgxZSwweDA3LDB4ZTQsMHg5MCwweGZiLDB4ZjYsMHhmMCwweDkwLAotMHhmYiwweGY1LDB4ZTAsMHg3ZCwweDAwLDB4ZmMsMHhlZCwweDQ0LDB4Y2YsMHhmZCwweDEyLDB4MWMsMHgzYywweDEyLDB4MzEsMHg2OSwKLTB4MjIsMHgxMiwweDMwLDB4ZTYsMHhlNSwweDcwLDB4NjQsMHg0OSwweDQ1LDB4NmYsMHg2MCwweDE1LDB4OTAsMHhmZiwweDgzLDB4ZTAsCi0weDU0LDB4MGYsMHg3ZCwweDAwLDB4ZDMsMHg5NSwweDcwLDB4ZWQsMHg5NSwweDZmLDB4NTAsMHgwNSwweDEyLDB4MmYsMHgyZiwweDgwLAotMHgwMywweDEyLDB4MmYsMHhmZiwweDEyLDB4MzEsMHg2OSwweDIyLDB4MTIsMHgzMCwweGU2LDB4ZTUsMHg3MCwweDY0LDB4NDksMHg0NSwKLTB4NmYsMHg2MCwweDA1LDB4MTIsMHgzMCwweDM5LDB4ODAsMHgwZSwweDkwLDB4ZmYsMHg4MCwweGUwLDB4NDQsMHgwOCwweGYwLDB4OTAsCi0weGZmLDB4ODMsMHhlMCwweDU0LDB4N2YsMHhmMCwweDEyLDB4MzEsMHg2OSwweDIyLDB4MTIsMHgzMCwweGU2LDB4OGMsMHg1NCwweGVjLAotMHg1NCwweGYwLDB4YjQsMHgxMCwweDE1LDB4NzUsMHg2YSwweDM1LDB4NzUsMHg2OSwweGZjLDB4NzUsMHg2OCwweDAxLDB4ZTUsMHg2YSwKLTB4MjQsMHgwMywweGY1LDB4NmEsMHhlNSwweDY5LDB4MzQsMHgwMCwweGY1LDB4NjksMHhlNCwweGY1LDB4NTcsMHhmNSwweDU2LDB4ZTUsCi0weDU2LDB4YzMsMHg5NCwweDAxLDB4NTAsMHgyNywweGU1LDB4NTQsMHg1NCwweDBmLDB4ZmMsMHhhZCwweDZhLDB4YWUsMHg2OSwweGFmLAotMHg2OCwweDEyLDB4MGUsMHg3NywweDhjLDB4NTUsMHhlYywweDYwLDB4MDIsMHg4MCwweDEyLDB4MDUsMHg2YSwweGU1LDB4NmEsMHg3MCwKLTB4MDIsMHgwNSwweDY5LDB4MDUsMHg1NywweGU1LDB4NTcsMHg3MCwweDAyLDB4MDUsMHg1NiwweDgwLDB4ZDIsMHhlNSwweDU0LDB4NTQsCi0weDBmLDB4MjQsMHg5ZCwweGY4LDB4YzYsMHg1NCwweGZlLDB4ZjYsMHhlNSwweDU0LDB4NTQsMHgwZiwweDdmLDB4MDAsMHhmZSwweDdjLAotMHgxMiwweDEyLDB4MzEsMHhmYiwweGU1LDB4NTUsMHgxNCwweDcwLDB4MDksMHg3ZCwweDAwLDB4N2MsMHgwOSwweDEyLDB4MjUsMHgyNiwKLTB4ODAsMHgwNywweGFkLDB4NTcsMHg3YywweDAwLDB4MTIsMHgyNSwweDI2LDB4MTIsMHgzMSwweDY5LDB4MjIsMHgxMiwweDMwLDB4ZTYsCi0weDkwLDB4ZmYsMHhmYywweGUwLDB4NDQsMHgwMiwweGYwLDB4OTAsMHhmZiwweDAwLDB4ZTAsMHgzMCwweGU3LDB4MTMsMHg5MCwweGZmLAotMHg4MywweGUwLDB4NDQsMHg4MCwweGYwLDB4NDMsMHg2ZCwweDgwLDB4OTAsMHhmZiwweGZjLDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg4MCwKLTB4MTEsMHg5MCwweGZmLDB4ODIsMHhlMCwweDQ0LDB4MDgsMHhmMCwweDUzLDB4NmQsMHg3ZiwweDkwLDB4ZmYsMHhmYywweGUwLDB4NTQsCi0weGZlLDB4ZjAsMHg5MCwweGZmLDB4ODEsMHhlMCwweDQ0LDB4ODAsMHhmMCwweDEyLDB4MjUsMHhkOSwweDkwLDB4ZmYsMHhmZSwweGUwLAotMHg0NCwweDA1LDB4ZjAsMHg5MCwweGZmLDB4ZmMsMHhlMCwweDU0LDB4ZmQsMHhmMCwweDEyLDB4MzEsMHg2OSwweDIyLDB4MTIsMHgzMCwKLTB4ZTYsMHg3YywweDAxLDB4MTIsMHgzMiwweGE5LDB4NzgsMHhhZCwweGU2LDB4NDQsMHgwMiwweGY2LDB4NzQsMHhmZSwweGZjLDB4MDQsCi0weGZkLDB4MTIsMHgxYywweGE3LDB4OTAsMHhmZiwweDVhLDB4ZTAsMHgzMCwweGU3LDB4MDIsMHg4MCwweGY3LDB4ZTQsMHhmNSwweDRlLAotMHg3NSwweDRkLDB4MTAsMHhhYywweDRlLDB4YWQsMHg0ZCwweGU1LDB4NGUsMHgxNSwweDRlLDB4NzAsMHgwMiwweDE1LDB4NGQsMHhlYywKLTB4NGQsMHg2MCwweDAyLDB4ODAsMHhlZSwweDQzLDB4ODcsMHgwMSwweDEyLDB4MzEsMHg2OSwweDIyLDB4MTIsMHgzMCwweGU2LDB4N2MsCi0weDAyLDB4MTIsMHgzMSwweDc1LDB4NzgsMHhhZCwweGU2LDB4NTQsMHhmZCwweGY2LDB4MTIsMHgzMSwweDY5LDB4MjIsMHgxMiwweDMwLAotMHhlNiwweDc4LDB4YWQsMHhlNiwweDMwLDB4ZTAsMHgyYywweDc4LDB4YWQsMHhlNiwweDMwLDB4ZTEsMHgyNiwweDc4LDB4YWQsMHhlNiwKLTB4ZmMsMHhmNSwweDgzLDB4MTgsMHhlNiwweDQ0LDB4ZjAsMHhmZCwweDEyLDB4MWMsMHgzYywweDkwLDB4ZmYsMHhmYywweGUwLDB4NDQsCi0weDIwLDB4ZjAsMHg3YywweDAyLDB4MTIsMHgzMiwweGE5LDB4NzgsMHhhZCwweGU2LDB4NTQsMHhmZCwweGY2LDB4NzQsMHgxYSwweDkwLAotMHhmZiwweGZlLDB4ZjAsMHg3OCwweGFkLDB4ZTYsMHhmYywweGY1LDB4ODMsMHgxOCwweGU2LDB4NDQsMHhmMSwweGZkLDB4MTIsMHgxYywKLTB4M2MsMHgxMiwweDMxLDB4NjksMHgyMiwweDc1LDB4NmQsMHgwMCwweDkwLDB4ZmYsMHhmZiwweGUwLDB4NjAsMHgwMywweDQzLDB4NmQsCi0weDAxLDB4NzUsMHg2ZSwweDAwLDB4ZTQsMHhmNSwweDZjLDB4ZjUsMHg2YiwweGU0LDB4ZjUsMHg2ZiwweDc1LDB4NzAsMHg0OSwweDc0LAotMHg4NCwweDkwLDB4ZmYsMHg4MiwweGYwLDB4NzQsMHg4NCwweDkwLDB4ZmYsMHg4MCwweGYwLDB4NzQsMHg4MCwweDkwLDB4ZmYsMHg1OCwKLTB4ZjAsMHg3NCwweDgwLDB4OTAsMHhmZiwweDVhLDB4ZjAsMHhhZCwweDQ2LDB4YWYsMHg0NSwweDdlLDB4MDAsMHhlZSwweDI0LDB4ZmUsCi0weDUwLDB4MDMsMHgwMiwweDIxLDB4MjQsMHhlNCwweGVlLDB4NzUsMHhmMCwweDA3LDB4YTQsMHgyNCwweDdmLDB4ZjUsMHg4MiwweGU0LAotMHgzNCwweGY4LDB4ZjUsMHg4MywweGUwLDB4ZmYsMHhlNCwweGVmLDB4NTQsMHg4MCwweGZkLDB4ZTQsMHhlZiwweDU0LDB4MGYsMHgxNCwKLTB4ZmYsMHhlZCwweDYwLDB4MzgsMHhlNCwweGVmLDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDQ4LDB4ZjUsMHg4MiwweGU0LDB4MzQsCi0weGZmLDB4ZjUsMHg4MywweDc0LDB4OTAsMHhmMCwweGU0LDB4ZWYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4NGEsMHhmNSwweDgyLAotMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4NzQsMHg4MCwweGYwLDB4ZTQsMHhlZiwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHg0ZSwKLTB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHg3NCwweDgwLDB4ZjAsMHg4MCwweDM0LDB4ZTQsMHhlZiwweDc1LDB4ZjAsCi0weDA4LDB4YTQsMHgyNCwweDA4LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHg3NCwweDkwLDB4ZjAsMHhlNCwweGVmLAotMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4MGEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweGU0LDB4ZjAsMHhlNCwKLTB4ZWYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4MGUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweGU0LDB4ZjAsCi0weDBlLDB4MDIsMHgyMCwweDhkLDB4OGQsMHg0NiwweDhlLDB4NDQsMHg4ZiwweDQ1LDB4NzQsMHg3ZiwweDkwLDB4ZmYsMHhmZCwweGYwLAotMHg3NCwweDkwLDB4OTAsMHhmZiwweGZjLDB4ZjAsMHgyMiwweDhjLDB4NTgsMHhlYywweDI0LDB4ZjYsMHg1MCwweDA2LDB4ZTUsMHg1OCwKLTB4MjQsMHgzNywweGZjLDB4MjIsMHhlNSwweDU4LDB4MjQsMHgzMCwweGZjLDB4MjIsMHgxMiwweDI1LDB4MjMsMHhlYywweDcwLDB4MDMsCi0weDAyLDB4MjIsMHg1ZSwweDc1LDB4NWMsMHgwMywweGFlLDB4NWIsMHg3ZiwweDAwLDB4ZTUsMHg1YywweDE1LDB4NWMsMHg2NCwweDgwLAotMHgyNCwweDdmLDB4NTAsMHgzNSwweGVmLDB4MjQsMHgwMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmIsMHhmNSwweDgzLDB4ZTAsMHhmZSwKLTB4MjQsMHhmZSwweDUwLDB4MWUsMHhlZiwweDdkLDB4MDAsMHhmYywweGU0LDB4ZmIsMHg3NCwweDc0LDB4YzMsMHg5YywweGZhLDB4ZWIsCi0weDlkLDB4ZmIsMHhlZSwweDdkLDB4MDAsMHhmYywweGVhLDB4YzMsMHg5YywweGVkLDB4NjQsMHg4MCwweGNiLDB4NjQsMHg4MCwweDliLAotMHg1MCwweDAyLDB4ODAsMHgwNSwweGVmLDB4MmUsMHhmZiwweDgwLDB4YzEsMHg4ZSwweDViLDB4OGYsMHg1YSwweGU1LDB4NWMsMHg2NCwKLTB4ODAsMHgyNCwweDdmLDB4NTAsMHgwMywweDAyLDB4MjIsMHg1ZSwweGU1LDB4NWEsMHgyNCwweDhlLDB4NTAsMHgwMywweDAyLDB4MjIsCi0weDVlLDB4ODUsMHg1YSwweDVkLDB4NzUsMHg1YiwweDAwLDB4YWUsMHg1YSwweGFmLDB4NWIsMHg5MCwweDM1LDB4OWMsMHhlNCwweDkzLAotMHhmNSwweDVjLDB4ZTUsMHg1YywweDE1LDB4NWMsMHg2NCwweDgwLDB4MjQsMHg3ZiwweDUwLDB4MTgsMHhlZSwweDI0LDB4MDAsMHhmNSwKLTB4ODIsMHhlNCwweDM0LDB4ZmIsMHhmNSwweDgzLDB4ZTAsMHhmYywweGVmLDB4OTAsMHgzNSwweDljLDB4OTMsMHg2YywweDcwLDB4MDQsCi0weDBlLDB4MGYsMHg4MCwweGRlLDB4OGUsMHg1YSwweDhmLDB4NWIsMHhlNSwweDVjLDB4NjQsMHg4MCwweDI0LDB4N2YsMHg0MCwweDZlLAotMHg3NSwweDVlLDB4MDEsMHg3NSwweDYwLDB4ZTgsMHg3NSwweDVmLDB4ZmYsMHhlNSwweDVkLDB4MjQsMHgwMiwweGY1LDB4NWEsMHg3NSwKLTB4NWMsMHgwNywweGU1LDB4NWMsMHgzMywweDQwLDB4NTcsMHhhZCwweDYwLDB4YWUsMHg1ZiwweGFmLDB4NWUsMHhlNSwweDVjLDB4ZjUsCi0weDgyLDB4MzMsMHg5NSwweGUwLDB4ZjUsMHg4MywweDEyLDB4MDEsMHhlYywweGM0LDB4NTQsMHgwZiwweGZjLDB4MTIsMHgyMSwweDM3LAotMHhlNSwweDVhLDB4MjQsMHgwMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmIsMHhmNSwweDgzLDB4ZWMsMHhmMCwweDA1LDB4NWEsMHgwNSwKLTB4NWEsMHhhZCwweDYwLDB4YWUsMHg1ZiwweGFmLDB4NWUsMHhlNSwweDVjLDB4ZjUsMHg4MiwweDMzLDB4OTUsMHhlMCwweGY1LDB4ODMsCi0weDEyLDB4MDEsMHhlYywweDU0LDB4MGYsMHhmYywweDEyLDB4MjEsMHgzNywweGU1LDB4NWEsMHgyNCwweDAwLDB4ZjUsMHg4MiwweGU0LAotMHgzNCwweGZiLDB4ZjUsMHg4MywweGVjLDB4ZjAsMHgwNSwweDVhLDB4MDUsMHg1YSwweDE1LDB4NWMsMHg4MCwweGE0LDB4NzQsMHgwMiwKLTB4OTAsMHhmOCwweDUxLDB4ZjAsMHg5MCwweGY4LDB4NmIsMHg3OSwweDc1LDB4N2EsMHgzNSwweDdiLDB4MjcsMHg3OCwweDAxLDB4MTIsCi0weDAzLDB4ZjUsMHg3NSwweDZhLDB4MzUsMHg3NSwweDY5LDB4ZmMsMHg3NSwweDY4LDB4MDEsMHhlNCwweDkwLDB4ZmYsMHg4MywweGYwLAotMHg3NCwweDgwLDB4OTAsMHhmZiwweDgxLDB4ZjAsMHg3NSwweDU5LDB4MDIsMHhlNSwweDU5LDB4NzUsMHhmMCwweDA3LDB4YTQsMHgyNCwKLTB4N2YsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGY4LDB4ZjUsMHg4MywweGUwLDB4NzgsMHg4ZiwweGY2LDB4ZmMsMHg1NCwweDBmLDB4MTQsCi0weGZjLDB4NzgsMHg4ZiwweGVjLDB4ZjYsMHhlNSwweDU5LDB4NzUsMHhmMCwweDA3LDB4YTQsMHgyNCwweDgxLDB4ZjUsMHg4MiwweGU0LAotMHgzNCwweGY4LDB4ZjUsMHg4MywweGUwLDB4NzgsMHg5MiwweDc2LDB4ZmQsMHgwOCwweDc2LDB4ZTgsMHhmYywweDc4LDB4OGYsMHhlNiwKLTB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDQ4LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlNCwweGYwLDB4NzgsCi0weDhmLDB4ZTYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4NGYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweGVjLAotMHhmMCwweDc4LDB4OTIsMHhlNiwweGZmLDB4MDgsMHhlNiwweDdlLDB4MDMsMHhjZiwweGMzLDB4MTMsMHhjZiwweDEzLDB4ZGUsMHhmOSwKLTB4ZmUsMHg3OCwweDhmLDB4ZTYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4NDksMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsCi0weDgzLDB4ZWUsMHhmMCwweDc4LDB4OGYsMHhlNiwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHg0YSwweGY1LDB4ODIsMHhlNCwweDM0LAotMHhmZiwweGY1LDB4ODMsMHg3NCwweDgwLDB4ZjAsMHg3OCwweDkwLDB4ZWMsMHhmNiwweDdkLDB4MDAsMHg3OCwweDkzLDB4ZTYsMHgyYywKLTB4ZjYsMHgxOCwweGU2LDB4M2QsMHhmNiwweDc4LDB4OTIsMHhlNiwweGZkLDB4MDgsMHhlNiwweDdjLDB4MDMsMHhjZCwweGMzLDB4MTMsCi0weGNkLDB4MTMsMHhkYywweGY5LDB4ZmMsMHg3OCwweDhmLDB4ZTYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4NGQsMHhmNSwweDgyLAotMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4ZWMsMHhmMCwweDc4LDB4OGYsMHhlNiwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHg0ZSwKLTB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlNCwweGYwLDB4NzgsMHg5MiwweGU2LDB4ZmQsMHgwOCwweGU2LDB4ZmMsCi0weDc4LDB4OGYsMHhlNiwweGZmLDB4N2UsMHgwMCwweGVlLDB4MjQsMHhmZSwweDUwLDB4MDMsMHgwMiwweDI0LDB4ZGQsMHhlNCwweGVlLAotMHg3NSwweGYwLDB4MDcsMHhhNCwweDI0LDB4N2YsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGY4LDB4ZjUsMHg4MywweGUwLDB4ZmYsMHhlNCwKLTB4ZWYsMHg1NCwweDgwLDB4ZmEsMHhlNCwweGVmLDB4NTQsMHgwZiwweDE0LDB4ZmYsMHhlNCwweGVlLDB4NzUsMHhmMCwweDA3LDB4YTQsCi0weDI0LDB4ODEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGY4LDB4ZjUsMHg4MywweGUwLDB4NzgsMHg5MCwweGY2LDB4ZTQsMHhlZSwweDEzLAotMHgxMywweDU0LDB4ODAsMHgyNCwweGYwLDB4ZjgsMHhlNCwweDM0LDB4ZmQsMHhmOSwweGU4LDB4ZmMsMHhlOSwweGZkLDB4OGEsMHg1YSwKLTB4ZWEsMHg3MCwweDAzLDB4MDIsMHgyNCwweDRhLDB4ZTQsMHhlZiwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHg0OCwweGY1LDB4ODIsCi0weGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlNCwweGYwLDB4NzgsMHg5MCwweGU2LDB4ZmEsMHhlNCwweGVmLDB4NzUsMHhmMCwweDA4LAotMHhhNCwweDI0LDB4NGYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweGVhLDB4ZjAsMHhlZCwweGZiLDB4ZWMsMHg3YSwKLTB4MDMsMHhjYiwweGMzLDB4MTMsMHhjYiwweDEzLDB4ZGEsMHhmOSwweGZhLDB4ZTQsMHhlZiwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsCi0weDQ5LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlYSwweGYwLDB4NzgsMHg5MCwweGU2LDB4N2IsMHgwMCwweGZhLAotMHhlYywweDJhLDB4ZmMsMHhlZCwweDNiLDB4ZmQsMHhmYiwweGVjLDB4N2EsMHgwMywweGNiLDB4YzMsMHgxMywweGNiLDB4MTMsMHhkYSwKLTB4ZjksMHhmYSwweGU0LDB4ZWYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4NGQsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsCi0weDgzLDB4ZWEsMHhmMCwweGU0LDB4ZWYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4NGEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLAotMHhmNSwweDgzLDB4NzQsMHg4MCwweGYwLDB4ZTQsMHhlZiwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHg0ZSwweGY1LDB4ODIsMHhlNCwKLTB4MzQsMHhmZiwweGY1LDB4ODMsMHg3NCwweDgwLDB4ZjAsMHgwMiwweDI0LDB4ZDksMHhlNCwweGVmLDB4NzUsMHhmMCwweDA4LDB4YTQsCi0weDI0LDB4MDgsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweGU0LDB4ZjAsMHg3OCwweDkwLDB4ZTYsMHhmYSwweGU0LAotMHhlZiwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHgwZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4ZWEsMHhmMCwKLTB4ZWQsMHhmYiwweGVjLDB4N2EsMHgwMywweGNiLDB4YzMsMHgxMywweGNiLDB4MTMsMHhkYSwweGY5LDB4ZmEsMHhlNCwweGVmLDB4NzUsCi0weGYwLDB4MDgsMHhhNCwweDI0LDB4MDksMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweGVhLDB4ZjAsMHg3OCwweDkwLAotMHhlNiwweDdiLDB4MDAsMHhmYSwweGVjLDB4MmEsMHhmYywweGVkLDB4M2IsMHhmZCwweGZiLDB4ZWMsMHg3YSwweDAzLDB4Y2IsMHhjMywKLTB4MTMsMHhjYiwweDEzLDB4ZGEsMHhmOSwweGZhLDB4ZTQsMHhlZiwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHgwZCwweGY1LDB4ODIsCi0weGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlYSwweGYwLDB4ZTQsMHhlZiwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHgwYSwweGY1LAotMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlNCwweGYwLDB4ZTQsMHhlZiwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHgwZSwKLTB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlNCwweGYwLDB4MGUsMHgwMiwweDIzLDB4NjYsMHg4ZSwweDU5LDB4NzgsCi0weDkyLDB4ZWQsMHhmNiwweDA4LDB4ZWMsMHhmNiwweDc4LDB4OGYsMHhlZiwweGY2LDB4MTIsMHgyMCwweDU1LDB4MjIsMHg4YywweDI2LAotMHhlYywweDMwLDB4ZTcsMHgxOCwweGU1LDB4MjYsMHg1NCwweDBmLDB4MTQsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4NDgsMHhmNSwKLTB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4ZTAsMHg1NCwweGRmLDB4ZjAsMHg4MCwweDE2LDB4ZTUsMHgyNiwweDU0LDB4MGYsCi0weDE0LDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDA4LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlMCwweDU0LAotMHhkZiwweGYwLDB4MjIsMHg3YywweDAwLDB4MjIsMHhlYywweDkwLDB4ZmMsMHgzNywweGYwLDB4OGMsMHgyNCwweGVkLDB4MjQsMHgwMywKLTB4ZjUsMHgyNSwweDdkLDB4MDAsMHhkMywweDk1LDB4NzIsMHhlZCwweDk1LDB4NzEsMHg0MCwweDAzLDB4ODUsMHg3MiwweDI1LDB4ZTUsCi0weDI1LDB4MjQsMHhiNywweDUwLDB4MDksMHg3NSwweDI1LDB4MDMsMHg3NCwweDAyLDB4OTAsMHhmYywweDM3LDB4ZjAsMHhhYywweDI1LAotMHgxMiwweDMwLDB4MjQsMHgyMiwweGU0LDB4ZjUsMHg2YywweGY1LDB4NmIsMHgxMiwweDI1LDB4NWQsMHgyMiwweDkwLDB4ZmMsMHgzNSwKLTB4ZTAsMHg2NSwweDczLDB4NjAsMHgwZSwweDc0LDB4MDQsMHg5MCwweGZjLDB4MzcsMHhmMCwweGU0LDB4ZjUsMHg2YiwweDc1LDB4NmMsCi0weDAzLDB4ODAsMHg0NiwweDdkLDB4NzMsMHhlNCwweGZlLDB4ZmYsMHg3OSwweDM1LDB4N2EsMHhmYywweDdiLDB4MDEsMHg3NCwweDA1LAotMHg3OCwweDAwLDB4MTIsMHgwMywweDNmLDB4ZTUsMHg2YywweDI0LDB4MDMsMHhmNSwweDZjLDB4ZTUsMHg2YiwweDM0LDB4MDAsMHhmNSwKLTB4NmIsMHhlNSwweDZjLDB4ZDMsMHg5NSwweDcyLDB4ZTUsMHg2YiwweDk1LDB4NzEsMHg0MCwweDA2LDB4ODUsMHg3MiwweDZjLDB4ODUsCi0weDcxLDB4NmIsMHhkMywweGU1LDB4NmMsMHg5NCwweDQ4LDB4ZTUsMHg2YiwweDk0LDB4MDAsMHg0MCwweDBjLDB4NzQsMHgwMiwweDkwLAotMHhmYywweDM3LDB4ZjAsMHhlNCwweGY1LDB4NmIsMHg3NSwweDZjLDB4MDMsMHhhYywweDZjLDB4MTIsMHgzMCwweDI0LDB4MjIsMHhlYywKLTB4OTAsMHhmYywweDM3LDB4ZjAsMHhlNCwweGY1LDB4NmMsMHhmNSwweDZiLDB4OGMsMHgzMiwweGVjLDB4NjAsMHgwNSwweDEyLDB4MzAsCi0weDE1LDB4ODAsMHgwNSwweDdjLDB4MDAsMHgxMiwweDMwLDB4MjQsMHgyMiwweDkwLDB4ZmYsMHg5MywweGUwLDB4NDQsMHgwMSwweGYwLAotMHhiMiwweGIzLDB4OTAsMHhmZiwweDA0LDB4ZTAsMHhmNSwweDRhLDB4OTAsMHhmZiwweDA2LDB4ZTAsMHhmZCwweGEzLDB4ZTAsMHhlZCwKLTB4N2QsMHgwMCwweGZjLDB4N2QsMHgwMCwweGZjLDB4OTAsMHhmZiwweDA2LDB4ZTAsMHhmZiwweGEzLDB4ZTAsMHg3ZSwweDAwLDB4ZmYsCi0weGU0LDB4ZmUsMHhlYywweDRlLDB4ZmMsMHhlZCwweDRmLDB4ZmQsMHhjMywweGVjLDB4OTQsMHg0OCwweGVkLDB4OTQsMHgwMCwweDUwLAotMHgyMiwweDkwLDB4ZmYsMHgwNiwweGUwLDB4ZmQsMHhhMywweGUwLDB4ZWQsMHg3ZCwweDAwLDB4ZmMsMHg3ZCwweDAwLDB4ZmMsMHg5MCwKLTB4ZmYsMHgwNiwweGUwLDB4ZmYsMHhhMywweGUwLDB4N2UsMHgwMCwweGZmLDB4ZTQsMHhmZSwweGVjLDB4NGUsMHhmYywweGVkLDB4NGYsCi0weGZkLDB4ODAsMHgwNCwweGU0LDB4ZmQsMHg3YywweDQ4LDB4OGMsMHg3MiwweDhkLDB4NzEsMHg5MCwweGZmLDB4MDIsMHhlMCwweGZkLAotMHhhMywweGUwLDB4ZWQsMHg3ZCwweDAwLDB4ZmMsMHg3ZCwweDAwLDB4ZmMsMHg5MCwweGZmLDB4MDIsMHhlMCwweGZmLDB4YTMsMHhlMCwKLTB4N2UsMHgwMCwweGZmLDB4ZTQsMHhmZSwweGVjLDB4NGUsMHhmNSwweDRjLDB4ZWQsMHg0ZiwweGY1LDB4NGIsMHg3NSwweDZhLDB4MzUsCi0weDc1LDB4NjksMHhmYywweDc1LDB4NjgsMHgwMSwweDdkLDB4MzUsMHg3ZSwweGZjLDB4N2YsMHgwMSwweDc5LDB4NzMsMHhlNCwweGZhLAotMHhmYiwweDc0LDB4MDUsMHg3OCwweDAwLDB4MTIsMHgwMywweDNmLDB4NzUsMHg0OSwweDAwLDB4ZTUsMHg0OSwweDI0LDB4ZmUsMHg0MCwKLTB4MTksMHhhZCwweDZhLDB4YWUsMHg2OSwweGFmLDB4NjgsMHhlNCwweDEyLDB4MDMsMHgwZiwweDA1LDB4NDksMHgwZCwweGVkLDB4NzAsCi0weDAxLDB4MGUsMHg4ZCwweDZhLDB4OGUsMHg2OSwweDhmLDB4NjgsMHg4MCwweGUxLDB4NzUsMHg2YSwweDM1LDB4NzUsMHg2OSwweGZjLAotMHg3NSwweDY4LDB4MDEsMHg5MCwweGZmLDB4MDAsMHhlMCwweDU0LDB4NjAsMHhiNCwweDAwLDB4MDIsMHg4MCwweDA2LDB4ZDMsMHg1MCwKLTB4MDMsMHgwMiwweDJjLDB4NmQsMHhlNSwweDRhLDB4NTQsMHgwZiwweGY1LDB4NDksMHhlNSwweDRhLDB4NTQsMHg4MCwweGEyLDB4ZTAsCi0weDkyLDB4MDIsMHg5MCwweGZmLDB4MDEsMHhlMCwweDEyLDB4MDEsMHg4MSwweDAwLDB4MGIsMHgyYywweDY4LDB4MjYsMHhlNSwweDI4LAotMHgwMywweDJjLDB4NjgsMHgyOSwweDBmLDB4MmMsMHg2OCwweDI5LDB4ZjIsMHgyYSwweDI2LDB4MmIsMHg4ZCwweDJiLDB4OTAsMHgyYiwKLTB4ZDAsMHgyYywweDExLDB4MmMsMHgzZiwweGU1LDB4NmQsMHgzMCwweGU3LDB4MGUsMHhlNSwweDRjLDB4NDUsMHg0YiwweDcwLDB4MDgsCi0weGU1LDB4NzIsMHg2NCwweDAyLDB4NDUsMHg3MSwweDYwLDB4MDMsMHgwMiwweDJjLDB4NmEsMHg5MCwweGZmLDB4MDAsMHhlMCwweDU0LAotMHgxZiwweGI0LDB4MDAsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MjksMHhlNSwweDRhLDB4NjAsMHgwMywweDAyLDB4MjgsMHgwMCwKLTB4YWQsMHg2YSwweGFlLDB4NjksMHhhZiwweDY4LDB4NzQsMHgwMSwweDEyLDB4MDMsMHgwZiwweDc4LDB4YWQsMHhlNiwweDMwLDB4ZTAsCi0weDBiLDB4YWQsMHg2YSwweGFlLDB4NjksMHhhZiwweDY4LDB4NzQsMHgwMiwweDEyLDB4MDMsMHgwZiwweDdjLDB4MDIsMHgxMiwweDMwLAotMHgyNCwweDIyLDB4YjQsMHgwMSwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgxYiwweGU1LDB4NmQsMHgyMCwweGUxLDB4MDcsMHhlNSwKLTB4NGEsMHg2MCwweDAzLDB4MDIsMHgyOCwweDAwLDB4ZTUsMHg0YSwweDI0LDB4ZmUsMHg1MCwweDAzLDB4MDIsMHgyOCwweDAwLDB4N2MsCi0weDAyLDB4MTIsMHgzMCwweDI0LDB4MjIsMHhiNCwweDAyLDB4MDIsMHg4MCwweDA2LDB4ZDMsMHg1MCwweDAzLDB4MDIsMHgyNywweGZlLAotMHhlNSwweDZkLDB4MjAsMHhlMSwweDBkLDB4ZTUsMHg0YSwweDYwLDB4MDksMHhlNSwweDRhLDB4NjQsMHg4MCwweDYwLDB4MDMsMHgwMiwKLTB4MjgsMHgwMCwweGFjLDB4NGEsMHgxMiwweDMwLDB4YWIsMHg0MCwweDAzLDB4MDIsMHgyOCwweDAwLDB4ZTUsMHg0OSwweDcwLDB4MjUsCi0weDMwLDB4MDIsMHgxMSwweDkwLDB4ZmYsMHg4MCwweGUwLDB4NTQsMHgwOCwweGFkLDB4NmEsMHhhZSwweDY5LDB4YWYsMHg2OCwweDEyLAotMHgwMywweDBmLDB4ODAsMHgwZiwweDkwLDB4ZmYsMHg4MiwweGUwLDB4NTQsMHgwOCwweGFkLDB4NmEsMHhhZSwweDY5LDB4YWYsMHg2OCwKLTB4MTIsMHgwMywweDBmLDB4ODAsMHgzZCwweDE1LDB4NDksMHgzMCwweDAyLDB4MWQsMHhlNSwweDQ5LDB4NzUsMHhmMCwweDA4LDB4YTQsCi0weDI0LDB4NDgsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweGUwLDB4NTQsMHgwOCwweGFkLDB4NmEsMHhhZSwweDY5LAotMHhhZiwweDY4LDB4MTIsMHgwMywweDBmLDB4ODAsMHgxYiwweGU1LDB4NDksMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4MDgsMHhmNSwKLTB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4ZTAsMHg1NCwweDA4LDB4YWQsMHg2YSwweGFlLDB4NjksMHhhZiwweDY4LDB4MTIsCi0weDAzLDB4MGYsMHhhZCwweDZhLDB4YWUsMHg2OSwweGFmLDB4NjgsMHgxMiwweDAxLDB4ZTYsMHg2MCwweDBiLDB4YWQsMHg2YSwweGFlLAotMHg2OSwweGFmLDB4NjgsMHg3NCwweDAxLDB4MTIsMHgwMywweDBmLDB4N2MsMHgwMiwweDEyLDB4MzAsMHgyNCwweDIyLDB4ODAsMHgwMCwKLTB4MDIsMHgyYywweDZhLDB4ZTUsMHg2ZCwweDIwLDB4ZTcsMHgwNiwweGU1LDB4NzIsMHg0NSwweDcxLDB4NjAsMHgwMywweDAyLDB4MmMsCi0weDZhLDB4OTAsMHhmZiwweDAwLDB4ZTAsMHg1NCwweDFmLDB4YjQsMHgwMCwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgxYSwweGU1LAotMHg0YywweDE0LDB4NDUsMHg0YiwweDcwLDB4MDQsMHhlNSwweDRhLDB4NjAsMHgwMywweDAyLDB4MjksMHgwYywweDc4LDB4YWQsMHhlNiwKLTB4NTQsMHhmZSwweGY2LDB4N2MsMHgwMCwweDEyLDB4MzAsMHgyNCwweDIyLDB4YjQsMHgwMSwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsCi0weDJhLDB4ZTUsMHg2ZCwweDIwLDB4ZTEsMHgwOCwweGU1LDB4NmQsMHgyMCwweGUwLDB4MDMsMHgwMiwweDI5LDB4MGMsMHhlNSwweDZkLAotMHgzMCwweGUwLDB4MDQsMHhlNSwweDRhLDB4NzAsMHgwYiwweGU1LDB4NmQsMHgzMCwweGUxLDB4MDksMHhlNSwweDRhLDB4MjQsMHhmZSwKLTB4NTAsMHgwMywweDAyLDB4MjksMHgwYywweDdjLDB4MDAsMHgxMiwweDMwLDB4MjQsMHgyMiwweGI0LDB4MDIsMHgwMiwweDgwLDB4MDYsCi0weGQzLDB4NTAsMHgwMywweDAyLDB4MjksMHgwYSwweGU1LDB4NGMsMHg0NSwweDRiLDB4NjAsMHgwMywweDAyLDB4MjksMHgwYywweGFjLAotMHg0YSwweDEyLDB4MzAsMHhhYiwweDQwLDB4MDMsMHgwMiwweDI5LDB4MGMsMHhlNSwweDZkLDB4MjAsMHhlMSwweDA3LDB4ZTUsMHg2ZCwKLTB4MjAsMHhlMCwweDAyLDB4ODAsMHg3NywweGU1LDB4NmQsMHgzMCwweGUwLDB4MDYsMHhlNSwweDQ5LDB4NjAsMHgwMiwweDgwLDB4NmMsCi0weGU1LDB4NDksMHg3MCwweDBmLDB4OTAsMHhmZiwweDgyLDB4ZTAsMHg1NCwweGY3LDB4ZjAsMHg5MCwweGZmLDB4ODAsMHhlMCwweDU0LAotMHhmNywweGYwLDB4MjIsMHhlNSwweDQ5LDB4YjQsMHgwMSwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgwOSwweDdkLDB4MDEsMHg3YywKLTB4MDMsMHgxMiwweDBmLDB4MDksMHg4MCwweDExLDB4YjQsMHgwMiwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgwOSwweDdkLDB4MDEsCi0weDdjLDB4MDQsMHgxMiwweDBmLDB4MDksMHg4MCwweDAwLDB4MTUsMHg0OSwweDMwLDB4MDIsMHgxNSwweGU1LDB4NDksMHg3NSwweGYwLAotMHgwOCwweGE0LDB4MjQsMHg0OCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4ZTAsMHg1NCwweGY3LDB4ZjAsMHg4MCwKLTB4MTMsMHhlNSwweDQ5LDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDA4LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsCi0weGUwLDB4NTQsMHhmNywweGYwLDB4N2MsMHgwMCwweDEyLDB4MzAsMHgyNCwweDIyLDB4ODAsMHgwMCwweDAyLDB4MmMsMHg2YSwweGU1LAotMHg2ZCwweDIwLDB4ZTcsMHgwNiwweGU1LDB4NzIsMHg0NSwweDcxLDB4NjAsMHgwMywweDAyLDB4MmMsMHg2YSwweDkwLDB4ZmYsMHgwMCwKLTB4ZTAsMHg1NCwweDFmLDB4YjQsMHgwMCwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgxYSwweGU1LDB4NGMsMHgxNCwweDQ1LDB4NGIsCi0weDcwLDB4MDQsMHhlNSwweDRhLDB4NjAsMHgwMywweDAyLDB4MjksMHhlZiwweDc4LDB4YWQsMHhlNiwweDQ0LDB4MDEsMHhmNiwweDdjLAotMHgwMCwweDEyLDB4MzAsMHgyNCwweDIyLDB4YjQsMHgwMSwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgyOSwweGU1LDB4NmQsMHgyMCwKLTB4ZTEsMHgwOCwweGU1LDB4NmQsMHgyMCwweGUwLDB4MDMsMHgwMiwweDI5LDB4ZWYsMHhlNSwweDZkLDB4MzAsMHhlMCwweDA0LDB4ZTUsCi0weDQ5LDB4NzAsMHgwYiwweGU1LDB4NmQsMHgzMCwweGUxLDB4MDgsMHhlNSwweDQ5LDB4MjQsMHhmZSwweDUwLDB4MDIsMHg4MCwweDdmLAotMHg3YywweDAwLDB4MTIsMHgzMCwweDI0LDB4MjIsMHhiNCwweDAyLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDZmLDB4ZTUsMHg0YywKLTB4NDUsMHg0YiwweDYwLDB4MDIsMHg4MCwweDY5LDB4YWMsMHg0YSwweDEyLDB4MzAsMHhhYiwweDQwLDB4MDIsMHg4MCwweDYwLDB4ZTUsCi0weDZkLDB4MjAsMHhlMSwweDA3LDB4ZTUsMHg2ZCwweDIwLDB4ZTAsMHgwMiwweDgwLDB4NTQsMHhlNSwweDQ5LDB4NzAsMHgxNCwweDMwLAotMHgwMiwweDA5LDB4OTAsMHhmZiwweDgwLDB4ZTAsMHg0NCwweDA4LDB4ZjAsMHg4MCwweDA3LDB4OTAsMHhmZiwweDgyLDB4ZTAsMHg0NCwKLTB4MDgsMHhmMCwweDIyLDB4ZTUsMHg2ZCwweDMwLDB4ZTEsMHgzMywweDE1LDB4NDksMHgzMCwweDAyLDB4MTUsMHhlNSwweDQ5LDB4NzUsCi0weGYwLDB4MDgsMHhhNCwweDI0LDB4NDgsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweGUwLDB4NDQsMHgwOCwweGYwLAotMHg4MCwweDEzLDB4ZTUsMHg0OSwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHgwOCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwKLTB4ODMsMHhlMCwweDQ0LDB4MDgsMHhmMCwweDdjLDB4MDAsMHgxMiwweDMwLDB4MjQsMHgyMiwweDgwLDB4MDIsMHg4MCwweDAwLDB4MDIsCi0weDJjLDB4NmEsMHhlNSwweDZkLDB4MjAsMHhlNywweDEyLDB4ZTUsMHg3MiwweDQ1LDB4NzEsMHg3MCwweDBjLDB4ZTUsMHg0YSwweDcwLAotMHgwOCwweDkwLDB4ZmYsMHgwMCwweGUwLDB4NTQsMHgxZiwweDYwLDB4MDMsMHgwMiwweDJjLDB4NmEsMHhlNSwweDRjLDB4OTAsMHhmZiwKLTB4ZmYsMHhmMCwweDkwLDB4ZmYsMHhmZiwweGUwLDB4NjAsMHgwNSwweDQzLDB4NmQsMHgwMSwweDgwLDB4MDMsMHg1MywweDZkLDB4ZmUsCi0weDdjLDB4MDAsMHgxMiwweDMwLDB4MjQsMHgyMiwweGU1LDB4NmQsMHgzMCwweGU3LDB4MGUsMHhlNSwweDcyLDB4NDUsMHg3MSwweDYwLAotMHgwOCwweDkwLDB4ZmYsMHgwMCwweGUwLDB4NTQsMHgxZiwweDYwLDB4MDMsMHgwMiwweDJjLDB4NmEsMHhhZCwweDRiLDB4ZTUsMHg0YywKLTB4ZWQsMHg3ZCwweDAwLDB4ZmMsMHg3ZCwweDAwLDB4ZmMsMHhiZCwweDAwLDB4MDIsMHg4MCwweDAzLDB4MDIsMHgyYiwweDg4LDB4YjQsCi0weDAxLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDMyLDB4ZTUsMHg0YSwweDcwLDB4MDUsMHhlNSwweDRjLDB4ZmMsMHg2MCwweDAzLAotMHgwMiwweDJiLDB4OGEsMHg3NSwweDZhLDB4NDAsMHg3NSwweDY5LDB4ZjgsMHg3NSwweDY4LDB4MDEsMHhkMywweGU1LDB4NzIsMHg5NCwKLTB4MTIsMHhlNSwweDcxLDB4OTQsMHgwMCwweDQwLDB4MDYsMHhlNCwweGZkLDB4N2MsMHgxMiwweDgwLDB4MDQsMHhhYywweDcyLDB4YWQsCi0weDcxLDB4OGMsMHg3MCwweDhkLDB4NmYsMHgxMiwweDMwLDB4MzksMHgyMiwweGI0LDB4MDIsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLAotMHg1OSwweGU1LDB4NGEsMHg2MCwweDAzLDB4MDIsMHgyYiwweDhhLDB4ZTUsMHg0YywweGZjLDB4NzAsMHgyNywweDc1LDB4NmEsMHg1MiwKLTB4NzUsMHg2OSwweGY4LDB4NzUsMHg2OCwweDAxLDB4ZDMsMHhlNSwweDcyLDB4OTQsMHgxOSwweGU1LDB4NzEsMHg5NCwweDAwLDB4NDAsCi0weDA2LDB4ZTQsMHhmZCwweDdjLDB4MTksMHg4MCwweDA0LDB4YWMsMHg3MiwweGFkLDB4NzEsMHg4YywweDcwLDB4OGQsMHg2ZiwweDEyLAotMHgzMCwweDM5LDB4ODAsMHgyNSwweDc1LDB4NmEsMHg2YiwweDc1LDB4NjksMHhmOCwweDc1LDB4NjgsMHgwMSwweGQzLDB4ZTUsMHg3MiwKLTB4OTQsMHgyNywweGU1LDB4NzEsMHg5NCwweDAwLDB4NDAsMHgwNiwweGU0LDB4ZmQsMHg3YywweDI3LDB4ODAsMHgwNCwweGFjLDB4NzIsCi0weGFkLDB4NzEsMHg4YywweDcwLDB4OGQsMHg2ZiwweDEyLDB4MzAsMHgzOSwweDIyLDB4YjQsMHgwMywweDAyLDB4ODAsMHgwNiwweGQzLAotMHg1MCwweDAzLDB4MDIsMHgyYiwweDg4LDB4ZTUsMHg0YywweGY1LDB4NDksMHg3MCwweDBmLDB4OTAsMHhmZiwweDA0LDB4ZTAsMHhmZCwKLTB4YTMsMHhlMCwweDRkLDB4NjAsMHgwMywweDAyLDB4MmIsMHg4YSwweDgwLDB4MTgsMHg5MCwweGZiLDB4MDIsMHhlMCwweGZkLDB4YTMsCi0weGUwLDB4ZmMsMHg5MCwweGZmLDB4MDUsMHhlMCwweDZjLDB4NzAsMHgwNywweDkwLDB4ZmYsMHgwNCwweGUwLDB4NmQsMHg2MCwweDAyLAotMHg4MCwweDY4LDB4ZTQsMHhmNSwweDcwLDB4ZjUsMHg2ZiwweDdmLDB4MDAsMHhlNSwweDQ5LDB4MTQsMHhjNSwweDQ5LDB4NjAsMHgwZiwKLTB4ZWYsMHgyNCwweDAwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmYiwweGY1LDB4ODMsMHhlMCwweDJmLDB4ZmYsMHg4MCwweGVhLDB4OGYsCi0weDRhLDB4ZTUsMHg0YSwweDI0LDB4MDAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZiLDB4ZjUsMHg4MywweGUwLDB4N2QsMHgwMCwweGQzLAotMHg5NSwweDcyLDB4ZWQsMHg5NSwweDcxLDB4NDAsMHgwNiwweGFjLDB4NzIsMHhhZCwweDcxLDB4ODAsMHgwZiwweGU1LDB4NGEsMHgyNCwKLTB4MDAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZiLDB4ZjUsMHg4MywweGUwLDB4N2QsMHgwMCwweGZjLDB4OGMsMHg3MCwweDhkLDB4NmYsCi0weGU1LDB4NGEsMHgyNCwweDAwLDB4ZmMsMHhlNCwweDM0LDB4ZmIsMHhmZCwweGZlLDB4ZWMsMHhmZCwweDdmLDB4MDEsMHg4ZCwweDZhLAotMHg4ZSwweDY5LDB4OGYsMHg2OCwweDEyLDB4MzAsMHgzOSwweDIyLDB4ODAsMHgwMCwweDAyLDB4MmMsMHg2YSwweDAyLDB4MmMsMHg2YSwKLTB4ZTUsMHg2ZCwweDMwLDB4ZTcsMHgxOSwweGU1LDB4NzIsMHgxNCwweDQ1LDB4NzEsMHg3MCwweDEyLDB4ZTUsMHg0YSwweDcwLDB4MGUsCi0weGU1LDB4NGMsMHg0NSwweDRiLDB4NzAsMHgwOCwweDkwLDB4ZmYsMHgwMCwweGUwLDB4NTQsMHgxZiwweDYwLDB4MDMsMHgwMiwweDJjLAotMHg2YSwweGU1LDB4NmQsMHgyMCwweGUwLDB4MDgsMHhlNSwweDZkLDB4MjAsMHhlMSwweDAzLDB4MDIsMHgyYywweDZhLDB4NzUsMHg2YSwKLTB4NmUsMHhlNCwweGY1LDB4NjksMHhmNSwweDY4LDB4ZTQsMHhmNSwweDZmLDB4MDQsMHhmNSwweDcwLDB4MTIsMHgzMCwweDM5LDB4MjIsCi0weGU1LDB4NmQsMHgyMCwweGU3LDB4MTIsMHhlNSwweDcyLDB4NDUsMHg3MSwweDcwLDB4MGMsMHhlNSwweDRhLDB4NzAsMHgwOCwweDkwLAotMHhmZiwweDAwLDB4ZTAsMHg1NCwweDFmLDB4NjAsMHgwMywweDAyLDB4MmMsMHg2YSwweGU1LDB4NmQsMHgyMCwweGUwLDB4MDcsMHhlNSwKLTB4NmQsMHgyMCwweGUxLDB4MDIsMHg4MCwweDc0LDB4ODUsMHg0YywweDZlLDB4ZTUsMHg2ZSwweDcwLDB4MDgsMHg0MywweDZkLDB4MDEsCi0weDUzLDB4NmQsMHhmZCwweDgwLDB4MDYsMHg1MywweDZkLDB4ZmUsMHg0MywweDZkLDB4MDIsMHg3YywweDAwLDB4MTIsMHgzMCwweDI0LAotMHgyMiwweGU1LDB4NmQsMHgzMCwweGU3LDB4MWEsMHhlNSwweDcyLDB4MTQsMHg0NSwweDcxLDB4NzAsMHgxMywweGU1LDB4NGEsMHg3MCwKLTB4MGYsMHhlNSwweDRjLDB4NDUsMHg0YiwweDcwLDB4MDksMHg5MCwweGZmLDB4MDAsMHhlMCwweDU0LDB4MWYsMHgxNCwweDYwLDB4MDIsCi0weDgwLDB4MzgsMHhlNSwweDZkLDB4MjAsMHhlMSwweDAyLDB4ODAsMHgzMSwweDdjLDB4MDEsMHgxMiwweDMwLDB4MjQsMHgyMiwweGU1LAotMHg2ZCwweDIwLDB4ZTcsMHgxNSwweGU1LDB4NzIsMHg0NSwweDcxLDB4NzAsMHgwZiwweGU1LDB4NGMsMHg0NSwweDRiLDB4NzAsMHgwOSwKLTB4OTAsMHhmZiwweDAwLDB4ZTAsMHg1NCwweDFmLDB4MTQsMHg2MCwweDAyLDB4ODAsMHgwZiwweGU1LDB4NmQsMHgyMCwweGUxLDB4MDIsCi0weDgwLDB4MDgsMHg3YywweDAwLDB4MTIsMHgzMCwweDI0LDB4MjIsMHg4MCwweDAwLDB4MDIsMHgyZiwweDJiLDB4YjQsMHg0MCwweDAyLAotMHg4MCwweDA2LDB4ZDMsMHg1MCwweDAzLDB4MDIsMHgyZiwweDIxLDB4OTAsMHhmZiwweDAxLDB4ZTAsMHg5MCwweGZjLDB4MzUsMHhmMCwKLTB4ZTUsMHg0YSwweDkwLDB4ZmMsMHgzNiwweGYwLDB4ZTQsMHg5MCwweGZjLDB4MzcsMHhmMCwweGU1LDB4NmEsMHgyNCwweDAzLDB4ZjUsCi0weDZhLDB4ZTUsMHg2OSwweDM0LDB4MDAsMHhmNSwweDY5LDB4YWQsMHg0YiwweGU1LDB4NGMsMHg4NSwweDZhLDB4ODIsMHg4NSwweDY5LAotMHg4MywweGNkLDB4ZjAsMHhhMywweGNkLDB4ZjAsMHg5MCwweGZmLDB4MDEsMHhlMCwweDEyLDB4MDEsMHhiNywweDJjLDB4ZDgsMHgwMSwKLTB4MmMsMHhmZSwweDAyLDB4MmQsMHgyOCwweDAzLDB4MmQsMHg1MiwweDA0LDB4MmQsMHhhMCwweDA1LDB4MmQsMHhkZCwweDA2LDB4MmUsCi0weDAzLDB4MDcsMHgyZSwweDI5LDB4MDgsMHgyZSwweDU1LDB4MDksMHgyZSwweDdiLDB4MGIsMHgyZSwweGExLDB4MGMsMHgyZSwweGIwLAotMHg4MCwweDJlLDB4YjAsMHg4MSwweDAwLDB4MDAsMHgyZiwweDBlLDB4ZTUsMHg2ZCwweDIwLDB4ZTcsMHgwNiwweDdjLDB4MDUsMHgxMiwKLTB4MjUsMHhiZiwweDIyLDB4N2QsMHgyNCwweDdlLDB4MzUsMHg3ZiwweDAyLDB4NzksMHgzOCwweDdhLDB4ZmMsMHg3YiwweDAxLDB4NzQsCi0weDA4LDB4NzgsMHgwMCwweDEyLDB4MDMsMHgzZiwweDdkLDB4MDgsMHg3YywweDAwLDB4MTIsMHgyNSwweDI2LDB4MjIsMHhlNSwweDZkLAotMHgyMCwweGU3LDB4MDYsMHg3YywweDA1LDB4MTIsMHgyNSwweGJmLDB4MjIsMHhlNSwweDRhLDB4YjQsMHgwMywweDAwLDB4NDAsMHgxMCwKLTB4YjQsMHgwNSwweDAwLDB4NTAsMHgwYiwweGU1LDB4NGEsMHg3ZiwweDAwLDB4ZmUsMHg3YywweDEwLDB4MTIsMHgzMSwweGZiLDB4MjIsCi0weDdkLDB4MDAsMHg3YywweDA3LDB4MTIsMHgyNSwweDI2LDB4MjIsMHhlNSwweDZkLDB4MjAsMHhlNywweDA2LDB4N2MsMHgwNSwweDEyLAotMHgyNSwweGJmLDB4MjIsMHhlNSwweDRhLDB4YjQsMHgwMywweDAwLDB4NDAsMHgxMCwweGI0LDB4MDUsMHgwMCwweDUwLDB4MGIsMHhlNSwKLTB4NGEsMHg3ZiwweDAwLDB4ZmUsMHg3YywweDExLDB4MTIsMHgzMSwweGZiLDB4MjIsMHg3ZCwweDAwLDB4N2MsMHgwNywweDEyLDB4MjUsCi0weDI2LDB4MjIsMHhlNSwweDZkLDB4MjAsMHhlNywweDA2LDB4N2MsMHgwNSwweDEyLDB4MjUsMHhiZiwweDIyLDB4ZTUsMHg0YSwweGI0LAotMHgwNSwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgwYSwweGU0LDB4ZmYsMHgwNCwweGZlLDB4N2MsMHgwYSwweDEyLDB4MzEsMHhmYiwKLTB4MjIsMHhiNCwweDAxLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDBhLDB4ZTQsMHhmZiwweDA0LDB4ZmUsMHg3YywweDA4LDB4MTIsCi0weDMxLDB4ZmIsMHgyMiwweGI0LDB4MDMsMHgwMCwweDQwLDB4MTAsMHhiNCwweDA1LDB4MDAsMHg1MCwweDBiLDB4ZTUsMHg0YSwweDdmLAotMHgwMCwweGZlLDB4N2MsMHgxMywweDEyLDB4MzEsMHhmYiwweDIyLDB4N2QsMHgwMCwweDdjLDB4MDcsMHgxMiwweDI1LDB4MjYsMHgyMiwKLTB4ZTUsMHg2ZCwweDIwLDB4ZTcsMHgzNCwweGQzLDB4ZTUsMHg3MiwweDk0LDB4NDgsMHhlNSwweDcxLDB4OTQsMHgwMCwweDUwLDB4MDYsCi0weGU1LDB4NzIsMHg0NSwweDcxLDB4NzAsMHgwNiwweDdjLDB4MDIsMHgxMiwweDI1LDB4YmYsMHgyMiwweGU1LDB4NGEsMHhiNCwweDAxLAotMHgwMywweGIzLDB4NDAsMHgwYiwweGMzLDB4YjQsMHgwMywweDAwLDB4NDAsMHgwOSwweGI0LDB4MDYsMHgwMCwweDUwLDB4MDQsMHgxMiwKLTB4MzAsMHhkMSwweDIyLDB4N2MsMHgwNywweDEyLDB4MjUsMHhiZiwweDIyLDB4MTIsMHgyNSwweDVkLDB4MjIsMHhlNSwweDZkLDB4MjAsCi0weGU3LDB4MWQsMHhlNSwweDRhLDB4YjQsMHgwMywweDAwLDB4NDAsMHgxMCwweGI0LDB4MDUsMHgwMCwweDUwLDB4MGIsMHhlNSwweDRhLAotMHg3ZiwweDAwLDB4ZmUsMHg3YywweDE2LDB4MTIsMHgzMSwweGZiLDB4MjIsMHg3YywweDA3LDB4MTIsMHgyNSwweGJmLDB4MjIsMHgxMiwKLTB4MjUsMHg1ZCwweDIyLDB4ZTUsMHg2ZCwweDIwLDB4ZTcsMHgxZCwweGU1LDB4NGEsMHhiNCwweDAzLDB4MDAsMHg0MCwweDEwLDB4YjQsCi0weDA1LDB4MDAsMHg1MCwweDBiLDB4ZTUsMHg0YSwweDdmLDB4MDAsMHhmZSwweDdjLDB4MTksMHgxMiwweDMxLDB4ZmIsMHgyMiwweDdjLAotMHgwNywweDEyLDB4MjUsMHhiZiwweDIyLDB4MTIsMHgyNSwweDVkLDB4MjIsMHhlNSwweDZkLDB4MjAsMHhlNywweDIzLDB4NzQsMHg4MSwKLTB4OTAsMHhmZiwweDkzLDB4ZjAsMHhlNSwweDRhLDB4YjQsMHgwMywweDAwLDB4NDAsMHgxMCwweGI0LDB4MDUsMHgwMCwweDUwLDB4MGIsCi0weGU1LDB4NGEsMHg3ZiwweDAwLDB4ZmUsMHg3YywweDE3LDB4MTIsMHgzMSwweGZiLDB4MjIsMHg3YywweDA3LDB4MTIsMHgyNSwweGJmLAotMHgyMiwweDEyLDB4MjUsMHg1ZCwweDIyLDB4ZTUsMHg2ZCwweDIwLDB4ZTcsMHgxZCwweGU1LDB4NGEsMHhiNCwweDAzLDB4MDAsMHg0MCwKLTB4MTAsMHhiNCwweDA1LDB4MDAsMHg1MCwweDBiLDB4ZTUsMHg0YSwweDdmLDB4MDAsMHhmZSwweDdjLDB4MTgsMHgxMiwweDMxLDB4ZmIsCi0weDIyLDB4N2MsMHgwNywweDEyLDB4MjUsMHhiZiwweDIyLDB4MTIsMHgyNSwweDVkLDB4MjIsMHhlNSwweDZkLDB4MjAsMHhlNywweDFkLAotMHhlNSwweDRhLDB4YjQsMHgwMywweDAwLDB4NDAsMHgxMCwweGI0LDB4MDUsMHgwMCwweDUwLDB4MGIsMHhlNSwweDRhLDB4N2YsMHgwMCwKLTB4ZmUsMHg3YywweDE1LDB4MTIsMHgzMSwweGZiLDB4MjIsMHg3YywweDA3LDB4MTIsMHgyNSwweGJmLDB4MjIsMHgxMiwweDI1LDB4NWQsCi0weDIyLDB4ZTUsMHg2ZCwweDIwLDB4ZTcsMHgwNiwweDdjLDB4MDcsMHgxMiwweDI1LDB4YmYsMHgyMiwweDEyLDB4MjUsMHg1ZCwweDIyLAotMHhlNSwweDZkLDB4MzAsMHhlNywweDIwLDB4OTAsMHhmZiwweDAwLDB4ZTAsMHg1NCwweDFmLDB4NzAsMHgxMCwweDkwLDB4ZmYsMHgwMSwKLTB4ZTAsMHhiNCwweDgwLDB4MDUsMHgxMiwweDI1LDB4NTQsMHg4MCwweDAzLDB4MTIsMHgyNSwweDVkLDB4MjIsMHg3ZCwweDAwLDB4N2MsCi0weDA1LDB4MTIsMHgyNSwweDI2LDB4MjIsMHg5MCwweGZmLDB4MDAsMHhlMCwweDU0LDB4MWYsMHg2MCwweDA2LDB4N2MsMHgwNSwweDEyLAotMHgyNSwweGJmLDB4MjIsMHhkMywweGU1LDB4NzIsMHg5NCwweDQ4LDB4ZTUsMHg3MSwweDk0LDB4MDAsMHg1MCwweDBiLDB4YzMsMHhlNSwKLTB4NzIsMHg5NCwweDA3LDB4ZTUsMHg3MSwweDk0LDB4MDAsMHg1MCwweDA2LDB4N2MsMHgwMywweDEyLDB4MjUsMHhiZiwweDIyLDB4ZTUsCi0weDRhLDB4YjQsMHgwNSwweDA0LDB4MTIsMHgzMCwweGQxLDB4MjIsMHg3YywweDA3LDB4MTIsMHgyNSwweGJmLDB4MjIsMHhlNSwweDZkLAotMHgzMCwweGU3LDB4MDgsMHg3ZCwweDAwLDB4N2MsMHgwNSwweDEyLDB4MjUsMHgyNiwweDIyLDB4N2MsMHgwNSwweDEyLDB4MjUsMHhiZiwKLTB4MjIsMHhiNCwweDIwLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDAwLDB4ODAsMHgwMCwweDEyLDB4MmYsMHhmZiwweDIyLDB4NzUsCi0weDQzLDB4MDAsMHg5MCwweGZmLDB4ODMsMHhlMCwweDU0LDB4MGYsMHhkMywweDk1LDB4NDMsMHg0MCwweDI0LDB4ZTUsMHg0MywweDI0LAotMHhmMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmUsMHhmNSwweDgzLDB4ZTAsMHhhZCwweDZhLDB4YWUsMHg2OSwweGFmLDB4NjgsMHgxMiwKLTB4MDMsMHgwZiwweDA1LDB4NDMsMHgwZCwweGVkLDB4NzAsMHgwMSwweDBlLDB4OGQsMHg2YSwweDhlLDB4NjksMHg4ZiwweDY4LDB4ODAsCi0weGQxLDB4ZTUsMHg0MywweDdkLDB4MDAsMHhmYywweGMzLDB4ZTUsMHg3MCwweDljLDB4ZjUsMHg3MCwweGU1LDB4NmYsMHg5ZCwweGY1LAotMHg2ZiwweGU1LDB4NzAsMHg0NSwweDZmLDB4NjAsMHgwNiwweGU0LDB4OTAsMHhmZiwweDgzLDB4ZjAsMHgyMiwweDkwLDB4ZmYsMHg4MiwKLTB4ZTAsMHg0NCwweDA4LDB4ZjAsMHhlNCwweGY1LDB4NmYsMHg3NSwweDcwLDB4NDksMHg5MCwweGZjLDB4MzUsMHhlMCwweGI0LDB4MDUsCi0weDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHg0MCwweDkwLDB4ZmMsMHgzNiwweGUwLDB4ZjUsMHg0MywweGI0LDB4MDUsMHgwMiwweDgwLAotMHgwMywweGQzLDB4NDAsMHgwYSwweGU0LDB4ZmYsMHgwNCwweGZlLDB4N2MsMHgwYiwweDEyLDB4MzEsMHhmYiwweDIyLDB4YjQsMHgwMSwKLTB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDBhLDB4ZTQsMHhmZiwweDA0LDB4ZmUsMHg3YywweDA5LDB4MTIsMHgzMSwweGZiLDB4MjIsCi0weGI0LDB4MDMsMHgwMCwweDQwLDB4MTAsMHhiNCwweDA1LDB4MDAsMHg1MCwweDBiLDB4ZTUsMHg0MywweDdmLDB4MDAsMHhmZSwweDdjLAotMHgxNCwweDEyLDB4MzEsMHhmYiwweDIyLDB4MjIsMHhiNCwweDgwLDB4MDAsMHg0MCwweDIzLDB4YjQsMHg4MiwweDAwLDB4NTAsMHgxZSwKLTB4N2MsMHgzNSwweDdkLDB4ZmMsMHgxMiwweDE3LDB4N2UsMHg3ZCwweDAwLDB4OGMsMHg2YywweDhkLDB4NmIsMHg5MCwweGZjLDB4MzcsCi0weGUwLDB4NjAsMHgwNSwweDEyLDB4MmYsMHhmZiwweDgwLDB4MDUsMHg3YywweDAwLDB4MTIsMHgzMCwweDI0LDB4MjIsMHgyMiwweDkwLAotMHhmZiwweDgzLDB4ZTAsMHg1NCwweDdmLDB4ZjAsMHg5MCwweGZmLDB4ODIsMHhlMCwweDQ0LDB4MDgsMHhmMCwweDkwLDB4ZmYsMHg4MCwKLTB4ZTAsMHg0NCwweDA4LDB4ZjAsMHgyMiwweDkwLDB4ZmYsMHg4MiwweGUwLDB4NDQsMHgwOCwweGYwLDB4OTAsMHhmZiwweDgwLDB4ZTAsCi0weDQ0LDB4MDgsMHhmMCwweDIyLDB4OGMsMHgyMywweDdkLDB4MDAsMHg4YywweDcwLDB4OGQsMHg2ZiwweDc1LDB4NmEsMHgzNSwweDc1LAotMHg2OSwweGZjLDB4NzUsMHg2OCwweDAxLDB4MTIsMHgzMCwweDM5LDB4MjIsMHg5MCwweGZmLDB4ODMsMHhlMCwweDU0LDB4N2YsMHhmMCwKLTB4ZTUsMHg3MCwweDY0LDB4NDksMHg0NSwweDZmLDB4NzAsMHgwMSwweDIyLDB4YzMsMHhlNSwweDcwLDB4OTQsMHgwOCwweGU1LDB4NmYsCi0weDk0LDB4MDAsMHg0MCwweDE1LDB4NzUsMHgyMSwweDA4LDB4ZTUsMHgyMSwweDdkLDB4MDAsMHhmYywweGMzLDB4ZTUsMHg3MCwweDljLAotMHhmNSwweDcwLDB4ZTUsMHg2ZiwweDlkLDB4ZjUsMHg2ZiwweDgwLDB4MDksMHg4NSwweDcwLDB4MjEsMHhlNCwweGY1LDB4NmYsMHg3NSwKLTB4NzAsMHg0OSwweDc1LDB4MjIsMHgwMCwweGU1LDB4MjIsMHhjMywweDk1LDB4MjEsMHg1MCwweDI2LDB4YWQsMHg2YSwweGFlLDB4NjksCi0weGFmLDB4NjgsMHgxMiwweDAxLDB4ZTYsMHhmYywweGU1LDB4MjIsMHgyNCwweGY4LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZSwweGY1LAotMHg4MywweGVjLDB4ZjAsMHgwNSwweDIyLDB4MGQsMHhlZCwweDcwLDB4MDEsMHgwZSwweDhkLDB4NmEsMHg4ZSwweDY5LDB4OGYsMHg2OCwKLTB4ODAsMHhkMywweGU1LDB4MjEsMHg1NCwweDdmLDB4OTAsMHhmZiwweDgxLDB4ZjAsMHgyMiwweDhjLDB4NDgsMHg3ZiwweDAwLDB4ZWYsCi0weDI0LDB4ZmQsMHg0MCwweDE5LDB4ZTQsMHhlZiwweDc1LDB4ZjAsMHgwNywweGE0LDB4MjQsMHg3ZiwweGY1LDB4ODIsMHhlNCwweDM0LAotMHhmOCwweGY1LDB4ODMsMHhlMCwweDY1LDB4NDgsMHg3MCwweDAyLDB4ZDMsMHgyMiwweDBmLDB4ODAsMHhlMiwweDhmLDB4NDcsMHhjMywKLTB4MjIsMHg4NSwweDcyLDB4NzAsMHg4NSwweDcxLDB4NmYsMHg5MCwweGZmLDB4ODIsMHhlMCwweDU0LDB4ZjcsMHhmMCwweDkwLDB4ZmYsCi0weDgzLDB4ZTAsMHg1NCwweDdmLDB4ZjAsMHgyMiwweGMwLDB4MDAsMHhjMCwweDAxLDB4YzAsMHgwMiwweGMwLDB4MDYsMHhjMCwweDA3LAotMHhlNSwweDc4LDB4MjQsMHgwOCwweGY4LDB4ODYsMHgwNiwweDUzLDB4MDYsMHg3ZiwweDdjLDB4ZmYsMHgxMiwweDMxLDB4NWIsMHg3YywKLTB4MDAsMHg3ZCwweDAwLDB4ZTUsMHg3YiwweDYwLDB4NDYsMHhmZiwweDkwLDB4ZmQsMHg5NSwweGUwLDB4NTQsMHg3ZiwweDZlLDB4NzAsCi0weDBmLDB4YzAsMHg4MywweGMwLDB4ODIsMHhhMywweGUwLDB4ZmQsMHhhMywweGUwLDB4ZmMsMHhhMywweDE1LDB4N2IsMHg4MCwweDA3LAotMHhhMywweGEzLDB4YTMsMHhkZiwweGU2LDB4ODAsMHgyNiwweGRmLDB4MDYsMHhkMCwweDgyLDB4ZDAsMHg4MywweDgwLDB4MWUsMHhlMCwKLTB4ZjgsMHhhMywweGUwLDB4ZjksMHhhMywweGUwLDB4ZmEsMHhkMCwweDgyLDB4ZDAsMHg4MywweGU4LDB4ZjAsMHhhMywweGU5LDB4ZjAsCi0weGEzLDB4ZWEsMHhmMCwweGEzLDB4YzAsMHg4MywweGMwLDB4ODIsMHhhMywweGEzLDB4YTMsMHg4MCwweGRhLDB4MTIsMHgzMSwweGY0LAotMHhkMCwweDA3LDB4ZDAsMHgwNiwweGQwLDB4MDIsMHhkMCwweDAxLDB4ZDAsMHgwMCwweDIyLDB4ODUsMHhhOCwweDdhLDB4NzUsMHhhOCwKLTB4ODgsMHhlYywweDcwLDB4MDIsMHg3YywweDNmLDB4OGMsMHg3OSwweDIyLDB4ZTUsMHg3OCwweDI0LDB4MDgsMHhmOCwweDc2LDB4MDAsCi0weDEyLDB4MzIsMHg0OCwweDgwLDB4ZmIsMHhjMCwweDAwLDB4YzAsMHgwMSwweGMwLDB4MDIsMHhjMCwweDA2LDB4YzAsMHgwNywweGFlLAotMHgwNCwweDdjLDB4ZmYsMHgxMiwweDMxLDB4NWIsMHhlNSwweDdiLDB4NjAsMHg0MiwweGZmLDB4OTAsMHhmZCwweDk1LDB4ZTAsMHg1NCwKLTB4N2YsMHg2ZSwweDcwLDB4MGIsMHhjMCwweDgzLDB4YzAsMHg4MiwweGEzLDB4YTMsMHhhMywweDE1LDB4N2IsMHg4MCwweDA3LDB4YTMsCi0weGEzLDB4YTMsMHhkZiwweGVhLDB4ODAsMHgyNiwweGRmLDB4MDYsMHhkMCwweDgyLDB4ZDAsMHg4MywweDgwLDB4ZDgsMHhlMCwweGY4LAotMHhhMywweGUwLDB4ZjksMHhhMywweGUwLDB4ZmEsMHhkMCwweDgyLDB4ZDAsMHg4MywweGU4LDB4ZjAsMHhhMywweGU5LDB4ZjAsMHhhMywKLTB4ZWEsMHhmMCwweGEzLDB4YzAsMHg4MywweGMwLDB4ODIsMHhhMywweGEzLDB4YTMsMHg4MCwweGRhLDB4NzgsMHgwOCwweDA4LDB4NzksCi0weDE4LDB4MDksMHg3YywweDAxLDB4ZTYsMHg1NCwweDdmLDB4NmUsMHg3MCwweDA2LDB4NzYsMHgwMCwweDc3LDB4MDAsMHg4MCwweDA2LAotMHgwOCwweDA5LDB4MGMsMHhiYywweDA4LDB4ZWUsMHgxMiwweDMxLDB4ZjQsMHhkMCwweDA3LDB4ZDAsMHgwNiwweGQwLDB4MDIsMHhkMCwKLTB4MDEsMHhkMCwweDAwLDB4MjIsMHg3NSwweDc5LDB4MDAsMHg4NSwweDdhLDB4YTgsMHgyMiwweGMwLDB4ZjAsMHhjMCwweDgyLDB4YzAsCi0weDgzLDB4YzMsMHhlNSwweDdiLDB4MjQsMHhlOCwweDUwLDB4MDUsMHgxMiwweDMyLDB4NDgsMHg4MCwweGY0LDB4ZWMsMHg2MCwweDMxLAotMHg5MCwweDM1LDB4MjMsMHhlNCwweDkzLDB4YzMsMHg5YywweDQwLDB4MjgsMHhjMCwweDA0LDB4N2MsMHhmZiwweDEyLDB4MzEsMHg1YiwKLTB4ZDAsMHgwNCwweDQzLDB4MDQsMHg4MCwweGU1LDB4N2IsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4OTUsMHhmNSwweDgyLDB4ZTQsCi0weDM0LDB4ZmQsMHhmNSwweDgzLDB4ZWMsMHhmMCwweGVmLDB4YTMsMHhmMCwweGVlLDB4YTMsMHhmMCwweDA1LDB4N2IsMHgxMiwweDMxLAotMHhmNCwweGQwLDB4ODMsMHhkMCwweDgyLDB4ZDAsMHhmMCwweDIyLDB4YzAsMHgwNCwweDdjLDB4MjAsMHhkMiwweDhjLDB4ZDIsMHg4ZCwKLTB4ZDUsMHgwNCwweGZkLDB4ZDAsMHgwNCwweDIyLDB4NzUsMHhhOCwweDAwLDB4NzUsMHg4OCwweDAwLDB4NzUsMHhiOCwweDAwLDB4NzUsCi0weGYwLDB4MDAsMHg3NSwweGQwLDB4MDAsMHhlNCwweGY4LDB4OTAsMHgwMCwweDAwLDB4ZjYsMHgwOCwweGI4LDB4MDAsMHhmYiwweDAyLAotMHgwMCwweDAwLDB4YzMsMHhlZCwweDk0LDB4MDIsMHg1MCwweDA0LDB4N2QsMHgwMywweDdjLDB4ZTgsMHhlYywweGY0LDB4ZmMsMHhlZCwKLTB4ZjQsMHhmZCwweDBjLDB4YmMsMHgwMCwweDAxLDB4MGQsMHg4YywweDdmLDB4OGQsMHg3ZSwweDIyLDB4YzMsMHhlYywweDk0LDB4YmMsCi0weGVkLDB4OTQsMHgwMiwweDUwLDB4MDQsMHg3ZCwweDA3LDB4N2MsMHhkMCwweGVjLDB4ZjQsMHhmYywweGVkLDB4ZjQsMHhmZCwweDBjLAotMHhiYywweDAwLDB4MDEsMHgwZCwweDhjLDB4N2QsMHg4ZCwweDdjLDB4MjIsMHhlYywweDcwLDB4MDEsMHgyMiwweGMwLDB4MDAsMHhlNSwKLTB4NzgsMHgyNCwweDE4LDB4ZjgsMHhhNiwweDA0LDB4ZTUsMHg3OCwweDI0LDB4MDgsMHhmOCwweGM2LDB4NTQsMHg3ZiwweGY2LDB4ZTYsCi0weDMwLDB4ZTcsMHgwMywweGQwLDB4MDAsMHgyMiwweDEyLDB4MzIsMHg0OCwweDgwLDB4ZjQsMHhjMiwweDhjLDB4ODUsMHg3YywweDhjLAotMHg4NSwweDdkLDB4OGEsMHhkMiwweDhjLDB4YzAsMHhlMCwweGMwLDB4ZDAsMHhjMCwweGYwLDB4YzAsMHg4MiwweGMwLDB4ODMsMHhjMCwKLTB4MDAsMHhjMCwweDAxLDB4YzAsMHgwMiwweGMwLDB4MDMsMHhjMCwweDA0LDB4YzAsMHgwNSwweGMwLDB4MDYsMHhjMCwweDA3LDB4MTIsCi0weDFhLDB4ZDEsMHhlNSwweDc4LDB4MjQsMHgwOCwweGY4LDB4ZTYsMHg2MCwweDI0LDB4ZTUsMHg3OCwweDI0LDB4MTAsMHhmOCwweGE2LAotMHg4MSwweGU1LDB4NzgsMHg3NSwweGYwLDB4MjEsMHhhNCwweDI0LDB4OGQsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZjLDB4ZjUsMHg4MywKLTB4NzgsMHhhZSwweGU1LDB4ODEsMHgwNCwweGMzLDB4OTgsMHhmOSwweGU2LDB4ZjAsMHgwOCwweGEzLDB4ZDksMHhmYSwweDc0LDB4MDgsCi0weDI1LDB4NzgsMHhmOCwweDA1LDB4NzgsMHgwOCwweGU2LDB4NTQsMHg4MCwweDcwLDB4MGMsMHhlNSwweDc4LDB4YjQsMHgwNywweGYzLAotMHg3OCwweDA4LDB4NzUsMHg3OCwweDAwLDB4ODAsMHhlZiwweGU1LDB4NzgsMHgyNCwweDEwLDB4ZjgsMHg4NiwweDgxLDB4ZTUsMHg3OCwKLTB4NzUsMHhmMCwweDIxLDB4YTQsMHgyNCwweDhkLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmYywweGY1LDB4ODMsMHg3OCwweGFlLDB4ZTUsCi0weDgxLDB4MDQsMHhjMywweDk4LDB4ZjksMHhlMCwweGY2LDB4MDgsMHhhMywweGQ5LDB4ZmEsMHhkMCwweDA3LDB4ZDAsMHgwNiwweGQwLAotMHgwNSwweGQwLDB4MDQsMHhkMCwweDAzLDB4ZDAsMHgwMiwweGQwLDB4MDEsMHhkMCwweDAwLDB4ZDAsMHg4MywweGQwLDB4ODIsMHhkMCwKLTB4ZjAsMHhkMCwweGQwLDB4ZDAsMHhlMCwweDMyLDB4YzAsMHhlMCwweGMwLDB4ZDAsMHhjMCwweDAwLDB4YzAsMHgwMSwweGMwLDB4MDIsCi0weGMyLDB4OGUsMHg4NSwweDdlLDB4OGQsMHg4NSwweDdmLDB4OGIsMHhkMiwweDhlLDB4NzgsMHgxOSwweDc5LDB4MDksMHg3YSwweDA3LAotMHhlNywweDcwLDB4MDQsMHhhNiwweDAwLDB4ODAsMHgwYiwweGU2LDB4NjAsMHgwOCwweDE2LDB4ZTYsMHg3MCwweDA0LDB4ZTcsMHg0NCwKLTB4ODAsMHhmNywweDA4LDB4MDksMHhkYSwweGVhLDB4ZTUsMHg3OSwweDYwLDB4MTMsMHgxNCwweGY1LDB4NzksMHg3MCwweDBlLDB4ZTUsCi0weDc4LDB4MjQsMHgwOCwweGY4LDB4NzYsMHgwMCwweDEyLDB4MzEsMHhmNCwweGQyLDB4OGMsMHhkMiwweDhkLDB4ZDAsMHgwMiwweGQwLAotMHgwMSwweGQwLDB4MDAsMHhkMCwweGQwLDB4ZDAsMHhlMCwweDMyLDB4NzUsMHg4MSwweGFkLDB4NzQsMHgyYSwweDkwLDB4ZmYsMHg5MywKLTB4ZjAsMHg3NSwweDdmLDB4MzAsMHg3NSwweDdlLDB4ZjgsMHg3NSwweDdkLDB4NjAsMHg3NSwweDdjLDB4ZjAsMHgxMiwweDA1LDB4MzYsCi0weDEyLDB4MzQsMHg3YywweDEyLDB4MTcsMHgzNCwweDkwLDB4ZmYsMHg5MywweGUwLDB4NDQsMHgwMSwweGYwLDB4YjIsMHhiMywweDEyLAotMHgzNCwweGE2LDB4MTIsMHgzMiwweDU2LDB4ODAsMHhkYSwweDIyLDB4YzAsMHgwMCwweDdjLDB4MDEsMHhlYywweDI0LDB4MDgsMHhmOCwKLTB4ZTYsMHg2MCwweDA5LDB4MGMsMHhiYywweDA4LDB4ZjUsMHgxMiwweDMyLDB4NDgsMHg4MCwweGVlLDB4ZDAsMHgwMCwweDIyLDB4YzAsCi0weGYwLDB4YzAsMHg4MiwweGMwLDB4ODMsMHhjMCwweDAwLDB4YzAsMHgwNiwweGMwLDB4MDcsMHhlZCwweDI0LDB4MTAsMHhmOCwweDc2LAotMHhiYywweGVkLDB4NzUsMHhmMCwweDIxLDB4YTQsMHgyNCwweDhkLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmYywweGY1LDB4ODMsMHhjMCwKLTB4ODIsMHhjMCwweDgzLDB4YTMsMHhhMywweGU0LDB4NzgsMHgwZCwweGYwLDB4YTMsMHhkOCwweGZjLDB4ZWMsMHg1NCwweDdmLDB4NzUsCi0weGYwLDB4MDIsMHhhNCwweDI0LDB4ZWYsMHhmNSwweDgyLDB4ZTUsMHhmMCwweDM0LDB4MzQsMHhmNSwweDgzLDB4ZTQsMHg5MywweGZlLAotMHg3NCwweDAxLDB4OTMsMHhmNSwweDgyLDB4OGUsMHg4MywweGU0LDB4OTMsMHhmZSwweDc0LDB4MDEsMHg5MywweGZmLDB4ZDAsMHg4MywKLTB4ZDAsMHg4MiwweGVmLDB4ZjAsMHhhMywweGVlLDB4ZjAsMHhlZCwweDI0LDB4MDgsMHhmOCwweGVjLDB4NDQsMHg4MCwweGY2LDB4ZDAsCi0weDA3LDB4ZDAsMHgwNiwweGQwLDB4MDAsMHhkMCwweDgzLDB4ZDAsMHg4MiwweGQwLDB4ZjAsMHgyMiwweDc1LDB4NzgsMHgwMCwweDc1LAotMHg3YiwweDAwLDB4N2EsMHgwOCwweDc5LDB4MTgsMHg3OCwweDA4LDB4NzYsMHgwMCwweDc3LDB4MDAsMHgwOCwweDA5LDB4ZGEsMHhmOCwKLTB4ZTQsMHg3OCwweDA4LDB4NzQsMHg4MCwweDQ0LDB4N2YsMHhmNiwweDc0LDB4MDEsMHg0NCwweDEwLDB4ZjUsMHg4OSwweDc1LDB4YjgsCi0weDA4LDB4ZDIsMHhhYiwweGQyLDB4YTksMHgyMiwweDc1LDB4ODEsMHhhZCwweGQyLDB4OGUsMHhkMiwweDhjLDB4ZDIsMHhhZiwweGU1LAotMHg3YiwweDYwLDB4MzIsMHhmZiwweDkwLDB4ZmQsMHg5NSwweGUwLDB4NTQsMHg4MCwweDYwLDB4MjQsMHg3OCwweDA4LDB4NzksMHgwOCwKLTB4ZTAsMHg1NCwweDdmLDB4ZmEsMHg3YiwweDAwLDB4ZTYsMHg1NCwweDdmLDB4YjUsMHgwMiwweDAyLDB4N2IsMHhmZiwweDA4LDB4ZDksCi0weGY1LDB4ZWIsMHg3MCwweDBjLDB4ZWEsMHhmMCwweDEyLDB4MzMsMHhmOCwweGFkLDB4MDQsMHhhYywweDAyLDB4MTIsMHgzNCwweDBmLAotMHhhMywweGEzLDB4YTMsMHhkZiwweGQyLDB4MTIsMHgzMiwweDQ4LDB4ODAsMHhjNSwweDdjLDB4MDEsMHg3ZCwweDAwLDB4MjIsMHgwNCwKLTB4ZjUsMHgwNCwweGU5LDB4MDQsMHhlZCwweDA0LDB4ZTEsMHgwNCwweGRkLDB4MDQsMHhkOSwweDA0LDB4ZTUsMHgwNCwweGYxLDB4MDQsCi0weDlkLDB4MDQsMHhhMSwweDA0LDB4Y2QsMHgwNCwweGQxLDB4MDQsMHg5OSwweDA0LDB4OTksMHgwNCwweDk5LDB4MDQsMHhkNSwweDA0LAotMHhiNSwweDA0LDB4YWQsMHgwNCwweGIxLDB4MDQsMHhhOSwweDA0LDB4YzEsMHgwNCwweGJkLDB4MDQsMHhiOSwweDA0LDB4YzUsMHgwNCwKLTB4YzksMHgwNCwweGE1LDB4MTksMHgwMSwweDAzLDB4MDAsMHgyMiwweDAwLDB4NDgsMHgwMiwweDAwLDB4NDgsMHgwZSwweDMwLDB4MTQsCi0weDIwLDB4YzgsMHgxYSwweGQwLDB4MTgsMHgwYSwweDBjLDB4MDUsMHgwNiwweDAyLDB4MDMsMHgwMSwweDAyLDB4MDAsMHgwMSwweGNlLAotMHgwMSwweDgxLDB4MDEsMHgwMCwweDAwLDB4YzAsMHgwMCwweDgwLDB4MDAsMHg2MCwweDAwLDB4MzAsMHgwMCwweDE4LDB4MDAsMHgxMCwKLTB4MDAsMHgwOCwweDAwLDB4MDQsMHgwMCwweDAyLDB4MDAsMHgwMSwweDAwLDB4MDgsMHgxOCwweDM4LDB4MjgsMHgwYywweDA1LDB4MTAsCi0weDBhLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDMsMHgwMSwweDEwLDB4MGEsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLAotMHgwMCwweGZiLDB4ZTAsMHhmYiwweGYyLDB4MDksMHgwMiwweDI3LDB4MDAsMHgwMSwweDAyLDB4MDAsMHhhMCwweDMyLDB4MDksMHgwNCwKLTB4MDAsMHgwMCwweDAzLDB4ZmYsMHgwMCwweDAwLDB4MDAsMHgwNywweDA1LDB4ODEsMHgwMiwweDQwLDB4MDAsMHgwMCwweDA3LDB4MDUsCi0weDAxLDB4MDIsMHg0MCwweDAwLDB4MDAsMHgwNywweDA1LDB4ODMsMHgwMywweDAyLDB4MDAsMHgwMSwweDIyLDB4MDMsMHg1NCwweDAwLAotMHg1NSwweDAwLDB4NTMsMHgwMCwweDQyLDB4MDAsMHgzMywweDAwLDB4MzQsMHgwMCwweDMxLDB4MDAsMHgzMCwweDAwLDB4MjAsMHgwMCwKLTB4MjAsMHgwMCwweDIwLDB4MDAsMHgyMCwweDAwLDB4MjAsMHgwMCwweDIwLDB4MDAsMHgyMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsCi0weDAwLDB4MDAsCi19OwotCi0jZW5kaWYgLyogaWZuZGVmIF9USV9GV18zNDEwX0hfICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zZXJpYWwvdGlfZndfNTA1Mi5oIGIvZHJpdmVycy91c2Ivc2VyaWFsL3RpX2Z3XzUwNTIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmNjZjQwYS4uMDAwMDAwMAotLS0gYS9kcml2ZXJzL3VzYi9zZXJpYWwvdGlfZndfNTA1Mi5oCisrKyAvZGV2L251bGwKQEAgLTEsODg1ICswLDAgQEAKLS8qIHZpOiB0cz04IHN3PTgKLSAqCi0gKiBUSSA1MDUyIFVTQiBTZXJpYWwgRHJpdmVyIEZpcm13YXJlIEhlYWRlcgotICoKLSAqIENvcHlyaWdodCAoQykgMjAwNCBUZXhhcyBJbnN0cnVtZW50cwotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKLSAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKi8KLQotI2lmbmRlZiBfVElfRldfNTA1Ml9IXwotI2RlZmluZSBfVElfRldfNTA1Ml9IXwotCi0vKiBmaXJtd2FyZSA5LzE4LzA0ICovCi0KLXN0YXRpYyB1bnNpZ25lZCBjaGFyIHRpX2Z3XzUwNTJbXSA9IHsKLTB4QzEsIDB4MzUsCS8qIGZpcm13YXJlIGltYWdlIGxlbmd0aCBleGNsdWRpbmcgaGVhZGVyLCBsaXR0bGUgZW5kaWFuICovCi0weDAwLCAJCS8qIHBsYWNlaG9sZGVyIGZvciBjaGVja3N1bSAqLwotCi0weDAyLDB4MDAsMHgxZSwweDAyLDB4MWIsMHgzMiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHgwMiwweDMyLDB4NmEsMHhmZiwweGZmLAotMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4MDIsMHgzMywweDE1LDB4NzUsMHg4MSwKLTB4YzgsMHg5MCwweGZlLDB4ZjAsMHg4NSwweDgzLDB4YTAsMHgxMiwweDM0LDB4N2QsMHhlYywweDRkLDB4NjAsMHg2YSwweDc4LDB4YTUsCi0weDgwLDB4MDMsMHg3NiwweDAwLDB4MTgsMHhiOCwweDk2LDB4ZmEsMHg3OCwweDc5LDB4ODAsMHgwMywweDc2LDB4MDAsMHgxOCwweGI4LAotMHg1ZiwweGZhLDB4NzgsMHgyMCwweDgwLDB4MDMsMHg3NiwweDAwLDB4MTgsMHhiOCwweDIwLDB4ZmEsMHg5MCwweGZlLDB4ZTUsMHhhZSwKLTB4ODMsMHhhZiwweDgyLDB4OTAsMHhmZCwweDAwLDB4MTIsMHgwMCwweGExLDB4NjAsMHgwNSwweGU0LDB4ZjAsMHhhMywweDgwLDB4ZjYsCi0weDkwLDB4ZmUsMHhmMCwweGE4LDB4ODIsMHg5MCwweGZlLDB4ZjAsMHhhOSwweDgyLDB4ZTgsMHhjMywweDk5LDB4NTAsMHgwNSwweDc2LAotMHgwMCwweDA4LDB4ODAsMHhmNiwweDkwLDB4MDAsMHhmZiwweDEyLDB4MDAsMHhhYSwweDkwLDB4MDEsMHgwMywweDEyLDB4MDAsMHhhYSwKLTB4OTAsMHgwMSwweDA3LDB4MTIsMHgwMCwweGFhLDB4OTAsMHgwMSwweDBiLDB4MTIsMHgwMCwweGM4LDB4OTAsMHgwMSwweDExLDB4MTIsCi0weDAwLDB4YzgsMHg5MCwweDAxLDB4MTcsMHgxMiwweDAwLDB4YzgsMHg3NSwweGQwLDB4MDAsMHgxMiwweDMzLDB4NjcsMHgwMiwweDAxLAotMHgxZCwweGVmLDB4NjUsMHg4MiwweDcwLDB4MDMsMHhlZSwweDY1LDB4ODMsMHgyMiwweGU0LDB4OTMsMHhmOCwweDc0LDB4MDEsMHg5MywKLTB4ZjksMHg3NCwweDAyLDB4OTMsMHhmZSwweDc0LDB4MDMsMHg5MywweGY1LDB4ODIsMHg4ZSwweDgzLDB4ZTgsMHg2OSwweDcwLDB4MDEsCi0weDIyLDB4ZTQsMHg5MywweGY2LDB4YTMsMHgwOCwweDgwLDB4ZjQsMHhlNCwweDkzLDB4ZmMsMHg3NCwweDAxLDB4OTMsMHhmZCwweDc0LAotMHgwMiwweDkzLDB4ZmUsMHg3NCwweDAzLDB4OTMsMHhmZiwweDc0LDB4MDQsMHg5MywweGY4LDB4NzQsMHgwNSwweDkzLDB4ZjUsMHg4MiwKLTB4ODgsMHg4MywweDEyLDB4MDAsMHhhMSwweDcwLDB4MDEsMHgyMiwweGU0LDB4OTMsMHhhMywweGE4LDB4ODMsMHhhOSwweDgyLDB4OGMsCi0weDgzLDB4OGQsMHg4MiwweGYwLDB4YTMsMHhhYywweDgzLDB4YWQsMHg4MiwweDg4LDB4ODMsMHg4OSwweDgyLDB4ODAsMHhlMywweDIxLAotMHgyMSwweDA0LDB4OTIsMHg3YSwweDdhLDB4MDQsMHg5MiwweGE2LDB4YTgsMHgwNCwweDkyLDB4ZmUsMHhmMCwweDA0LDB4OTQsMHgwNCwKLTB4OTQsMHhmYiwweGZiLDB4MDQsMHg5OSwweDA0LDB4OTQsMHhmYiwweGZiLDB4MDQsMHhmOSwweDA0LDB4ZjksMHg4MCwweGZlLDB4ZDAsCi0weGYwLDB4MzAsMHhmMCwweDA5LDB4MjAsMHhmMywweDAzLDB4ZjYsMHg4MCwweDEwLDB4ZjcsMHg4MCwweDBkLDB4MzAsMHhmMSwweDA5LAotMHgyMCwweGYzLDB4MDMsMHhmMiwweDgwLDB4MDQsMHhmMywweDgwLDB4MDEsMHhmMCwweDIwLDB4ZjQsMHgwNCwweGZjLDB4ZDAsMHhlMCwKLTB4Y2MsMHgyMiwweGNjLDB4YzAsMHhlMCwweDEyLDB4MDEsMHg1YSwweDAyLDB4MDEsMHg0YiwweGJjLDB4MDAsMHgwNSwweGQwLDB4ZjAsCi0weGFjLDB4ZjAsMHgyMiwweGMzLDB4MTMsMHhkYywweGZjLDB4MDIsMHgwMSwweDIxLDB4YmYsMHgwMCwweDA5LDB4ZWQsMHgyNSwweDgyLAotMHg3NSwweGYwLDB4MDEsMHhmOCwweGU2LDB4MjIsMHhiZiwweDAxLDB4MGYsMHhlZCwweDI1LDB4ODIsMHhmNSwweDgyLDB4ZWUsMHgzNSwKLTB4ODMsMHhmNSwweDgzLDB4NzUsMHhmMCwweDA0LDB4ZTAsMHgyMiwweGVkLDB4MjUsMHg4MiwweDc1LDB4ZjAsMHgwMiwweGY4LDB4ZTIsCi0weDIyLDB4ZDAsMHg4MywweGQwLDB4ODIsMHhmNSwweGYwLDB4YzMsMHhlNCwweDkzLDB4YTMsMHhjNSwweGYwLDB4OTUsMHhmMCwweGMwLAotMHhlMCwweGMzLDB4ZDAsMHhmMCwweGU0LDB4OTMsMHhhMywweDk1LDB4ZjAsMHg0MCwweDEyLDB4YTMsMHhhMywweGMzLDB4ZTUsMHhmMCwKLTB4MzMsMHg1MCwweDAyLDB4MDUsMHg4MywweDI1LDB4ODIsMHhmNSwweDgyLDB4NTAsMHgwMiwweDA1LDB4ODMsMHg3NCwweDAxLDB4OTMsCi0weGMwLDB4ZTAsMHhlNCwweDkzLDB4YzAsMHhlMCwweDIyLDB4ZDAsMHg4MywweGQwLDB4ODIsMHhmNSwweGYwLDB4ZTQsMHg5MywweDcwLAotMHgwOSwweDc0LDB4MDEsMHg5MywweDcwLDB4MDQsMHhhMywweGEzLDB4ODAsMHgwYywweDc0LDB4MDIsMHg5MywweDY1LDB4ZjAsMHg2MCwKLTB4MDUsMHhhMywweGEzLDB4YTMsMHg4MCwweGU3LDB4NzQsMHgwMSwweDkzLDB4YzAsMHhlMCwweGU0LDB4OTMsMHhjMCwweGUwLDB4MjIsCi0weDEyLDB4MDIsMHg1YiwweDAyLDB4MDEsMHhmMiwweDEyLDB4MDIsMHhhZiwweDAyLDB4MDEsMHhmMiwweDEyLDB4MDIsMHhkMywweDAyLAotMHgwMSwweGYyLDB4MzAsMHhlMCwweDA3LDB4MjAsMHhlMywweDAyLDB4ZTYsMHgyMiwweGU3LDB4MjIsMHgzMCwweGUxLDB4MDcsMHgyMCwKLTB4ZTMsMHgwMiwweGUyLDB4MjIsMHhlMywweDIyLDB4MzAsMHhlMiwweDAyLDB4ZTAsMHgyMiwweGU0LDB4OTMsMHgyMiwweDEyLDB4MDIsCi0weGQzLDB4MDIsMHgwMiwweDFhLDB4MTIsMHgwMiwweGFmLDB4MDIsMHgwMiwweDFhLDB4YWIsMHhmMCwweDEyLDB4MDIsMHgyNCwweGNiLAotMHhjNSwweGYwLDB4Y2IsMHgyMiwweDMwLDB4ZTAsMHgxMCwweDIwLDB4ZTMsMHgwNiwweGU2LDB4ZjUsMHhmMCwweDA4LDB4ZTYsMHgyMiwKLTB4ZTcsMHhmNSwweGYwLDB4MDksMHhlNywweDE5LDB4MjIsMHgzMCwweGUxLDB4MTAsMHgyMCwweGUzLDB4MDYsMHhlMiwweGY1LDB4ZjAsCi0weDA4LDB4ZTIsMHgyMiwweGUzLDB4ZjUsMHhmMCwweDA5LDB4ZTMsMHgxOSwweDIyLDB4MzAsMHhlMiwweDA2LDB4ZTAsMHhmNSwweGYwLAotMHhhMywweGUwLDB4MjIsMHhlNCwweDkzLDB4ZjUsMHhmMCwweDc0LDB4MDEsMHg5MywweDIyLDB4YmIsMHgwMCwweDAzLDB4NzQsMHgwOSwKLTB4MjIsMHhiYiwweDAxLDB4MDcsMHg4OSwweDgyLDB4OGEsMHg4MywweDc0LDB4MDQsMHgyMiwweGJiLDB4MDIsMHgwNywweDg5LDB4ODIsCi0weDhhLDB4ODMsMHg3NCwweDEwLDB4MjIsMHg3NCwweDBhLDB4MjIsMHgwMiwweDAyLDB4N2IsMHhiYiwweDAwLDB4MDcsMHhlOSwweDI1LAotMHg4MiwweGY4LDB4NzQsMHgwMSwweDIyLDB4YmIsMHgwMSwweDBkLDB4ZTksMHgyNSwweDgyLDB4ZjUsMHg4MiwweGVhLDB4MzUsMHg4MywKLTB4ZjUsMHg4MywweDc0LDB4MDQsMHgyMiwweGJiLDB4MDIsMHgwZCwweGU5LDB4MjUsMHg4MiwweGY1LDB4ODIsMHhlYSwweDM1LDB4ODMsCi0weGY1LDB4ODMsMHg3NCwweDEwLDB4MjIsMHhlOSwweDI1LDB4ODIsMHhmOCwweDc0LDB4MDIsMHgyMiwweDAyLDB4MDIsMHhhZiwweGJmLAotMHgwMCwweDA1LDB4ZWQsMHhmOCwweDc0LDB4MDEsMHgyMiwweGJmLDB4MDEsMHgwNywweDhkLDB4ODIsMHg4ZSwweDgzLDB4NzQsMHgwNCwKLTB4MjIsMHhiZiwweDAyLDB4MDcsMHg4ZCwweDgyLDB4OGUsMHg4MywweDc0LDB4MTAsMHgyMiwweGVkLDB4ZjgsMHg3NCwweDAyLDB4MjIsCi0weDAyLDB4MDIsMHhkMywweGJmLDB4MDAsMHgwNywweGVkLDB4MjUsMHg4MiwweGY4LDB4NzQsMHgwMSwweDIyLDB4YmYsMHgwMSwweDBkLAotMHhlZCwweDI1LDB4ODIsMHhmNSwweDgyLDB4ZWUsMHgzNSwweDgzLDB4ZjUsMHg4MywweDc0LDB4MDQsMHgyMiwweGJmLDB4MDIsMHgwZCwKLTB4ZWQsMHgyNSwweDgyLDB4ZjUsMHg4MiwweGVlLDB4MzUsMHg4MywweGY1LDB4ODMsMHg3NCwweDEwLDB4MjIsMHhlZCwweDI1LDB4ODIsCi0weGY4LDB4NzQsMHgwMiwweDIyLDB4MDIsMHgwMywweDA3LDB4YzAsMHhlMCwweDEyLDB4MDIsMHg1YiwweDAyLDB4MDMsMHgxZiwweGMwLAotMHhlMCwweDEyLDB4MDIsMHhhZiwweDAyLDB4MDMsMHgxZiwweGMwLDB4ZTAsMHgxMiwweDAyLDB4ZDMsMHgwMiwweDAzLDB4MWYsMHgzMCwKLTB4ZTAsMHgwYiwweDIwLDB4ZTMsMHgwNCwweGQwLDB4ZTAsMHhmNiwweDIyLDB4ZDAsMHhlMCwweGY3LDB4MjIsMHgzMCwweGUxLDB4MGIsCi0weDIwLDB4ZTMsMHgwNCwweGQwLDB4ZTAsMHhmMiwweDIyLDB4ZDAsMHhlMCwweGYzLDB4MjIsMHhkMCwweGUwLDB4ZjAsMHgyMiwweGM5LAotMHhjZCwweGM5LDB4Y2EsMHhjZSwweGNhLDB4Y2IsMHhjZiwweGNiLDB4MTIsMHgwMywweDUyLDB4ZWQsMHhmOSwweGVlLDB4ZmEsMHhlZiwKLTB4ZmIsMHgyMiwweGJiLDB4MDAsMHgyZiwweGJmLDB4MDAsMHgwYSwweGZhLDB4ZWQsMHhmOCwweGU3LDB4ZjYsMHgwOCwweDA5LDB4ZGEsCi0weGZhLDB4MjIsMHhiZiwweDAxLDB4MTIsMHg4ZCwweDgyLDB4OGUsMHg4MywweGY4LDB4MDIsMHgwMywweDZmLDB4MDksMHhhMywweGU3LAotMHhmMCwweGQ4LDB4ZmEsMHgyMiwweDAyLDB4MDMsMHg3YSwweGZhLDB4ZWQsMHhmOCwweGU3LDB4ZjIsMHgwOCwweDA5LDB4ZGEsMHhmYSwKLTB4MjIsMHgwMiwweDAzLDB4ODQsMHhiYiwweDAxLDB4NGQsMHhiZiwweDAwLDB4MTQsMHg4OSwweDgyLDB4OGEsMHg4MywweGY5LDB4ZWQsCi0weGY4LDB4MDIsMHgwMywweDk2LDB4MDgsMHhhMywweGUwLDB4ZjYsMHhkOSwweGZhLDB4MjIsMHgwMiwweDAzLDB4YTcsMHhiZiwweDAxLAotMHgyMiwweDhkLDB4ODIsMHg4ZSwweDgzLDB4ZmIsMHgwOCwweGM5LDB4YzUsMHg4MiwweGM5LDB4Y2EsMHhjNSwweDgzLDB4Y2EsMHhlMCwKLTB4YTMsMHhjOSwweGM1LDB4ODIsMHhjOSwweGNhLDB4YzUsMHg4MywweGNhLDB4ZjAsMHhhMywweGRiLDB4ZWEsMHhkOCwweGU4LDB4MjIsCi0weDAyLDB4MDMsMHhjYSwweDhkLDB4ODIsMHg4ZSwweDgzLDB4ZjksMHhlZCwweGY4LDB4ZTAsMHhmMiwweDA4LDB4YTMsMHhkOSwweGZhLAotMHgyMiwweDAyLDB4MDMsMHhkNCwweGJiLDB4MDIsMHg0ZCwweGJmLDB4MDAsMHgxMiwweDg5LDB4ODIsMHg4YSwweDgzLDB4ZjksMHhlZCwKLTB4ZjgsMHgwMiwweDAzLDB4ZTYsMHgwOCwweGEzLDB4ZTQsMHg5MywweGY2LDB4ZDksMHhmOSwweDIyLDB4YmYsMHgwMSwweDIzLDB4OGQsCi0weDgyLDB4OGUsMHg4MywweGZiLDB4MDgsMHhjOSwweGM1LDB4ODIsMHhjOSwweGNhLDB4YzUsMHg4MywweGNhLDB4ZTQsMHg5MywweGEzLAotMHhjOSwweGM1LDB4ODIsMHhjOSwweGNhLDB4YzUsMHg4MywweGNhLDB4ZjAsMHhhMywweGRiLDB4ZTksMHhkOCwweGU3LDB4MjIsMHgwMiwKLTB4MDQsMHgxOSwweDg5LDB4ODIsMHg4YSwweDgzLDB4ZjksMHhlZCwweGY4LDB4ZTQsMHg5MywweGYyLDB4MDgsMHhhMywweGQ5LDB4ZjksCi0weDIyLDB4MDIsMHgwNCwweDJhLDB4YmYsMHgwMCwweDBkLDB4ZmEsMHhlZCwweGY4LDB4ZTMsMHhmNiwweDA4LDB4MDksMHhkYSwweGZhLAotMHgyMiwweDAyLDB4MDQsMHgzNCwweGJmLDB4MDEsMHgxMiwweDhkLDB4ODIsMHg4ZSwweDgzLDB4ZjgsMHgwMiwweDA0LDB4NDEsMHgwOSwKLTB4YTMsMHhlMywweGYwLDB4ZDgsMHhmYSwweDIyLDB4MDIsMHgwNCwweDRjLDB4ZmEsMHhlZCwweGY4LDB4ZTMsMHhmMiwweDA4LDB4MDksCi0weGRhLDB4ZmEsMHgyMiwweDAyLDB4MDQsMHg1NiwweGU2LDB4ZmIsMHgwOCwweGU2LDB4ZmEsMHgwOCwweGU2LDB4ZjksMHgwNCwweGY2LAotMHgxOCwweDcwLDB4MDEsMHgwNiwweDIyLDB4ZTYsMHhmZiwweDA4LDB4ZTYsMHhmZSwweDA4LDB4ZTYsMHhmZCwweDIyLDB4ZWYsMHhmMCwKLTB4YTMsMHhlZSwweGYwLDB4YTMsMHhlZCwweGYwLDB4MjIsMHhlYiwweGYwLDB4YTMsMHhlYSwweGYwLDB4YTMsMHhlOSwweGYwLDB4MjIsCi0weGUwLDB4ZmYsMHhhMywweGUwLDB4ZmUsMHhhMywweGUwLDB4ZmQsMHgyMiwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLAotMHhmOSwweDIyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNCwweGY5LDB4MDAsMHg1YiwweDA1LDB4NzMsMHgwMCwKLTB4MjYsMHgwNSwweDlhLDB4MDAsMHgzMywweDBhLDB4MGIsMHgwMCwweDViLDB4MGEsMHg3NywweDAwLDB4NjAsMHgxNSwweDUyLDB4MDAsCi0weDViLDB4MGMsMHhmYiwweDAwLDB4NWIsMHgwOSwweGFiLDB4MDAsMHg1YiwweDA5LDB4ZTIsMHgwMCwweDViLDB4MGQsMHhjMiwweDAwLAotMHg1YiwweDBiLDB4ZjMsMHgwMCwweDViLDB4MGEsMHgxZSwweDAwLDB4NWIsMHgwYSwweDUzLDB4MDAsMHg1YiwweDE3LDB4NGEsMHgwMCwKLTB4MzMsMHgxNywweDYwLDB4MDAsMHgzNCwweDFlLDB4NGQsMHgwMCwweDQzLDB4MWUsMHhmMCwweDAwLDB4NDQsMHgyMCwweDVkLDB4MDAsCi0weDQ0LDB4MjAsMHg0YiwweDAwLDB4NDcsMHgxZiwweDE3LDB4MDAsMHg0NywweDFmLDB4YmMsMHgwMCwweDRkLDB4MjAsMHgwZCwweDAwLAotMHg0ZiwweDFmLDB4MzksMHgwMCwweDU4LDB4MzEsMHhmNSwweDAwLDB4NWIsMHg3YywweGNjLDB4N2QsMHhmZiwweDEyLDB4MWMsMHhmZSwKLTB4MjIsMHg3NCwweDkwLDB4OTAsMHhmZiwweDkxLDB4ZjAsMHg5MCwweGZmLDB4ZmMsMHhlMCwweDIwLDB4ZTcsMHgyZCwweGMyLDB4YWYsCi0weGFlLDB4NTksMHhhZiwweDU4LDB4NzUsMHg1YSwweDIwLDB4ZTUsMHg1YSwweDE0LDB4YzUsMHg1YSwweDYwLDB4MTksMHhlNCwweGZlLAotMHg3ZiwweDA1LDB4ZWUsMHg0ZiwweGNlLDB4MjQsMHhmZiwweGNlLDB4Y2YsMHgzNCwweGZmLDB4Y2YsMHg2MCwweDA3LDB4ZTQsMHg5MCwKLTB4ZmYsMHg5MiwweGYwLDB4ODAsMHhlZCwweDgwLDB4ZTAsMHg4ZSwweDU5LDB4OGYsMHg1OCwweDIyLDB4MTIsMHgwNSwweDAxLDB4N2QsCi0weDA3LDB4N2MsMHhiNywweDEyLDB4MzIsMHgxMSwweDdkLDB4MGYsMHg3YywweDZlLDB4MTIsMHgzMiwweDJiLDB4NzgsMHg5NywweDdhLAotMHgwNiwweGU0LDB4ZjYsMHgwOCwweGRhLDB4ZmMsMHg3YSwweDA2LDB4MTIsMHgwNSwweGNmLDB4N2MsMHgwMywweDEyLDB4MGUsMHg1NywKLTB4N2MsMHgwNCwweDEyLDB4MGUsMHg1NywweDEyLDB4MjEsMHg4YiwweGU0LDB4ZmUsMHhmZiwweDdjLDB4MGYsMHgxMiwweDMxLDB4OWEsCi0weGQyLDB4YTgsMHgyMiwweDEyLDB4MzAsMHg4NSwweGU0LDB4OTAsMHhmZCwweDQwLDB4ZjAsMHg5MCwweGZmLDB4ZjAsMHhlMCwweDMwLAotMHhlNCwweDA4LDB4NzQsMHgwMSwweDkwLDB4ZmQsMHg0MSwweGYwLDB4ODAsMHgwNSwweGU0LDB4OTAsMHhmZCwweDQxLDB4ZjAsMHg3ZCwKLTB4MGEsMHg3YywweDAwLDB4MTIsMHgyNCwweGIxLDB4MTIsMHgzMSwweDA4LDB4MjIsMHgxMiwweDMwLDB4ODUsMHg5MCwweGZkLDB4NDEsCi0weGUwLDB4MTQsMHg3MCwweDBlLDB4OTAsMHhmZiwweGYwLDB4ZTAsMHg0NCwweDEwLDB4ZjAsMHg3YywweDAwLDB4MTIsMHgyNSwweDRhLAotMHg4MCwweDE5LDB4OTAsMHhmZCwweDQxLDB4ZTAsMHg3MCwweDBlLDB4OTAsMHhmZiwweGYwLDB4ZTAsMHg1NCwweGVmLDB4ZjAsMHg3YywKLTB4MDAsMHgxMiwweDI1LDB4NGEsMHg4MCwweDA1LDB4N2MsMHgxNywweDEyLDB4MjUsMHg0YSwweDEyLDB4MzEsMHgwOCwweDIyLDB4OTAsCi0weGZmLDB4ZjAsMHhlMCwweDU0LDB4YWIsMHhmMCwweDkwLDB4ZmYsMHhmMCwweGUwLDB4NDQsMHgyMCwweGYwLDB4MjIsMHg4YywweDM3LAotMHg4ZCwweDM2LDB4NzgsMHg3YywweGVkLDB4ZjYsMHgwOCwweGVjLDB4ZjYsMHhlZCwweGZlLDB4ZWMsMHhmZCwweDdmLDB4MDEsMHg5MCwKLTB4MDAsMHgwNSwweDEyLDB4MDEsMHhlYywweDc4LDB4N2EsMHhmNiwweDc4LDB4N2MsMHhlNiwweGZkLDB4MDgsMHhlNiwweGZjLDB4ZWQsCi0weGZlLDB4ZWMsMHhmZCwweDdmLDB4MDEsMHg5MCwweDAwLDB4MDQsMHgxMiwweDAxLDB4ZWMsMHg1NCwweDBmLDB4ZmMsMHg3ZCwweDdhLAotMHgxMiwweDE3LDB4OWQsMHg3OCwweDdhLDB4ZTYsMHg3MCwweDBkLDB4YWQsMHgzYSwweGFlLDB4MzksMHhhZiwweDM4LDB4ZTQsMHgxMiwKLTB4MDMsMHgwZiwweDdjLDB4MDgsMHgyMiwweDkwLDB4ZmYsMHhmMCwweGUwLDB4NTQsMHhmZSwweGYwLDB4OTAsMHhmZiwweGYwLDB4ZTAsCi0weDU0LDB4ZmQsMHhmMCwweDgwLDB4MWUsMHg3OCwweDdjLDB4ZTYsMHhmZCwweDA4LDB4ZTYsMHhmYywweGVkLDB4ZmUsMHhlYywweGZkLAotMHg3ZiwweDAxLDB4OTAsMHgwMCwweDA4LDB4MTIsMHgwMiwweDBlLDB4MjUsMHhlMCwweDQ0LDB4MDEsMHg5MCwweGZmLDB4ZjMsMHhmMCwKLTB4MDIsMHgwNiwweGRiLDB4NzgsMHg3YywweGU2LDB4ZmQsMHgwOCwweGU2LDB4ZmMsMHhlZCwweGZlLDB4ZWMsMHhmZCwweDdmLDB4MDEsCi0weDkwLDB4MDAsMHgwNiwweDEyLDB4MDIsMHgwZSwweDU0LDB4ZmUsMHg5MCwweGZmLDB4ZjMsMHhmMCwweDgwLDB4MmIsMHg3OCwweDdjLAotMHhlNiwweGZkLDB4MDgsMHhlNiwweGZjLDB4ZWQsMHhmZSwweGVjLDB4ZmQsMHg3ZiwweDAxLDB4OTAsMHgwMCwweDA4LDB4MTIsMHgwMiwKLTB4MGUsMHhmYSwweGViLDB4OTAsMHhmZiwweGYxLDB4ZjAsMHgxMiwweDA4LDB4Y2EsMHg0MCwweDBkLDB4YWQsMHgzYSwweGFlLDB4MzksCi0weGFmLDB4MzgsMHhlNCwweDEyLDB4MDMsMHgwZiwweDdjLDB4MTgsMHgyMiwweDc4LDB4N2MsMHhlNiwweGZkLDB4MDgsMHhlNiwweGZjLAotMHhlZCwweGZlLDB4ZWMsMHhmZCwweDdmLDB4MDEsMHg5MCwweDAwLDB4MDgsMHgxMiwweDAyLDB4MGUsMHg5MCwweGZmLDB4ZjEsMHhmMCwKLTB4MTIsMHgwOCwweGNhLDB4NDAsMHgwZCwweGFkLDB4M2EsMHhhZSwweDM5LDB4YWYsMHgzOCwweGU0LDB4MTIsMHgwMywweDBmLDB4N2MsCi0weDE4LDB4MjIsMHg3OCwweDdjLDB4ZTYsMHhmZCwweDA4LDB4ZTYsMHhmYywweGVkLDB4ZmUsMHhlYywweGZkLDB4N2YsMHgwMSwweDkwLAotMHgwMCwweDA2LDB4MTIsMHgwMiwweDBlLDB4NDQsMHgwMSwweDkwLDB4ZmYsMHhmMywweGYwLDB4NzgsMHg3ZCwweGU2LDB4MjQsMHgwMywKLTB4ZjYsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY2LDB4NzgsMHg3YSwweGU2LDB4MjQsMHhmZSwweDUwLDB4MDksMHg5MCwweGZmLDB4ZjAsCi0weGUwLDB4NTQsMHhmZCwweGYwLDB4ODAsMHgwNywweDkwLDB4ZmYsMHhmMCwweGUwLDB4NDQsMHgwMiwweGYwLDB4ZTQsMHg5MCwweGZmLAotMHhmMSwweGYwLDB4NzgsMHg3YiwweDc2LDB4MDAsMHg3OCwweDdhLDB4ZTYsMHgyNCwweGZmLDB4ZmMsMHhlNCwweDM0LDB4ZmYsMHhmZCwKLTB4NzgsMHg3YiwweGU2LDB4N2YsMHgwMCwweGZlLDB4ZWMsMHhkMywweDllLDB4ZWYsMHg2NCwweDgwLDB4Y2QsMHg2NCwweDgwLDB4OWQsCi0weDQwLDB4MmYsMHgxMiwweDA4LDB4YWYsMHg0MCwweDBmLDB4NzgsMHg3YiwweGU2LDB4YWQsMHgzYSwweGFlLDB4MzksMHhhZiwweDM4LAotMHgxMiwweDAzLDB4MGYsMHg3YywweDE4LDB4MjIsMHg5MCwweGZmLDB4ZjIsMHhlMCwweGZjLDB4NzgsMHg3YywweDg2LDB4ODMsMHgwOCwKLTB4ODYsMHg4MiwweGVjLDB4ZjAsMHg3OCwweDdiLDB4MDYsMHhhMywweDc4LDB4N2MsMHhhNiwweDgzLDB4MDgsMHhhNiwweDgyLDB4ODAsCi0weGI1LDB4MTIsMHgwOCwweGFmLDB4NDAsMHgwZiwweDc4LDB4N2IsMHhlNiwweGFkLDB4M2EsMHhhZSwweDM5LDB4YWYsMHgzOCwweDEyLAotMHgwMywweDBmLDB4N2MsMHgxOCwweDIyLDB4OTAsMHhmZiwweGYyLDB4ZTAsMHhmYywweDc4LDB4N2MsMHg4NiwweDgzLDB4MDgsMHg4NiwKLTB4ODIsMHhlYywweGYwLDB4NzgsMHg3YSwweGU2LDB4YWQsMHgzYSwweGFlLDB4MzksMHhhZiwweDM4LDB4MTIsMHgwMywweDBmLDB4N2MsCi0weDAwLDB4MjIsMHg4YywweDM3LDB4OGQsMHgzNiwweDc4LDB4N2MsMHhlZCwweGY2LDB4MDgsMHhlYywweGY2LDB4ZWQsMHhmZSwweGVjLAotMHhmZCwweDdmLDB4MDEsMHg5MCwweDAwLDB4MDUsMHgxMiwweDAxLDB4ZWMsMHg3OCwweDdiLDB4ZjYsMHg3OCwweDdjLDB4ZTYsMHhmZCwKLTB4MDgsMHhlNiwweGZjLDB4ZWQsMHhmZSwweGVjLDB4ZmQsMHg3ZiwweDAxLDB4OTAsMHgwMCwweDA0LDB4MTIsMHgwMSwweGVjLDB4NTQsCi0weDBmLDB4ZmMsMHg3ZCwweDdiLDB4MTIsMHgxNywweDlkLDB4NzgsMHg3YiwweGU2LDB4NzAsMHgwMywweDdjLDB4MDgsMHgyMiwweDkwLAotMHhmZiwweGYwLDB4ZTAsMHg1NCwweGZlLDB4ZjAsMHg5MCwweGZmLDB4ZjAsMHhlMCwweDU0LDB4ZmQsMHhmMCwweDgwLDB4MWIsMHg3OCwKLTB4N2MsMHhlNiwweGZkLDB4MDgsMHhlNiwweGZjLDB4ZWQsMHhmZSwweGVjLDB4ZmQsMHg3ZiwweDAxLDB4OTAsMHgwMCwweDA4LDB4MTIsCi0weDAyLDB4MGUsMHgyNSwweGUwLDB4OTAsMHhmZiwweGYzLDB4ZjAsMHg4MCwweDViLDB4NzgsMHg3YywweGU2LDB4ZmQsMHgwOCwweGU2LAotMHhmYywweGVkLDB4ZmUsMHhlYywweGZkLDB4N2YsMHgwMSwweDkwLDB4MDAsMHgwNiwweDEyLDB4MDIsMHgwZSwweDU0LDB4ZmUsMHg5MCwKLTB4ZmYsMHhmMywweGYwLDB4ODAsMHgyMSwweDc4LDB4N2MsMHhlNiwweGZkLDB4MDgsMHhlNiwweGZjLDB4ZWQsMHhmZSwweGVjLDB4ZmQsCi0weDdmLDB4MDEsMHg5MCwweDAwLDB4MDgsMHgxMiwweDAyLDB4MGUsMHhmYSwweGViLDB4OTAsMHhmZiwweGYxLDB4ZjAsMHgxMiwweDA4LAotMHhjYSwweDQwLDB4MDMsMHg3YywweDE4LDB4MjIsMHg3OCwweDdjLDB4ZTYsMHhmZCwweDA4LDB4ZTYsMHhmYywweGVkLDB4ZmUsMHhlYywKLTB4ZmQsMHg3ZiwweDAxLDB4OTAsMHgwMCwweDA4LDB4MTIsMHgwMiwweDBlLDB4OTAsMHhmZiwweGYxLDB4ZjAsMHgxMiwweDA4LDB4Y2EsCi0weDQwLDB4MDMsMHg3YywweDE4LDB4MjIsMHg3OCwweDdkLDB4ZTYsMHgyNCwweDBhLDB4ZjYsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY2LAotMHg3OCwweDdhLDB4NzYsMHgwMCwweDc4LDB4N2IsMHhlNiwweDI0LDB4ZmYsMHhmYywweGU0LDB4MzQsMHhmZiwweGZkLDB4NzgsMHg3YSwKLTB4ZTYsMHg3ZiwweDAwLDB4ZmUsMHhlYywweGQzLDB4OWUsMHhlZiwweDY0LDB4ODAsMHhjZCwweDY0LDB4ODAsMHg5ZCwweDQwLDB4MjEsCi0weDc4LDB4N2MsMHg4NiwweDgzLDB4MDgsMHg4NiwweDgyLDB4ZTAsMHg5MCwweGZmLDB4ZjEsMHhmMCwweDEyLDB4MDgsMHhjYSwweDQwLAotMHgwMywweDdjLDB4MTgsMHgyMiwweDc4LDB4N2EsMHgwNiwweDc4LDB4N2QsMHgwNiwweGU2LDB4MTgsMHg3MCwweDAxLDB4MDYsMHg4MCwKLTB4YzMsMHg5MCwweGZmLDB4ZjAsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDc4LDB4N2MsMHg4NiwweDgzLDB4MDgsMHg4NiwweDgyLDB4ZTAsCi0weDkwLDB4ZmYsMHhmMSwweGYwLDB4MTIsMHgwOCwweGNhLDB4NDAsMHgwMywweDdjLDB4MTgsMHgyMiwweDdjLDB4MDAsMHgyMiwweDkwLAotMHhmZiwweGYwLDB4ZTAsMHgyMCwweGU3LDB4MTIsMHg5MCwweGZmLDB4ZjAsMHhlMCwweDMwLDB4ZTUsMHgwOSwweDkwLDB4ZmYsMHhmMCwKLTB4ZTAsMHg0NCwweDIwLDB4ZjAsMHhjMywweDIyLDB4ODAsMHhlNywweGQzLDB4MjIsMHg5MCwweGZmLDB4ZjAsMHhlMCwweDIwLDB4ZTMsCi0weDEyLDB4OTAsMHhmZiwweGYwLDB4ZTAsMHgzMCwweGU1LDB4MDksMHg5MCwweGZmLDB4ZjAsMHhlMCwweDQ0LDB4MjAsMHhmMCwweGMzLAotMHgyMiwweDgwLDB4ZTcsMHhkMywweDIyLDB4OGMsMHg0MiwweDhkLDB4NDEsMHg3YywweDAwLDB4ZWQsMHg1NCwweGYwLDB4ZmQsMHhlYywKLTB4NzAsMHgwMywweGVkLDB4NjQsMHgzMCwweDcwLDB4MDUsMHg3NSwweDNlLDB4MDMsMHg4MCwweDAzLDB4NzUsMHgzZSwweDA0LDB4YWMsCi0weDNlLDB4MTIsMHgwZiwweDdjLDB4NzUsMHg4MywweDAwLDB4ODUsMHg4MywweDQwLDB4ZTUsMHg0MSwweDU0LDB4MGYsMHhmNSwweDNmLAotMHhlNSwweDQwLDB4NzAsMHgwNCwweGU1LDB4M2YsMHg2NCwweDAzLDB4NzAsMHgzNSwweGU1LDB4M2UsMHgyNCwweGZkLDB4NzUsMHhmMCwKLTB4MGEsMHhhNCwweDI0LDB4MGEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZkLDB4ZjUsMHg4MywweGUwLDB4MzAsMHhlNiwweDA1LDB4MTIsCi0weDEwLDB4NjcsMHg4MCwweDE5LDB4ZTUsMHgzZSwweDI0LDB4OTcsMHhmOCwweGM2LDB4NTQsMHhmYiwweGY2LDB4NzgsMHhhMywweGU2LAotMHgyNCwweDA1LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweDc0LDB4MGYsMHhmMCwweDgwLDB4NTksMHhlNSwKLTB4NDAsMHg3MCwweDA0LDB4ZTUsMHgzZiwweDY0LDB4MDQsMHg3MCwweDQ4LDB4ZTUsMHgzZSwweDI0LDB4ZmQsMHg3NSwweGYwLDB4MGEsCi0weGE0LDB4MjQsMHgwYSwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmQsMHhmNSwweDgzLDB4ZTAsMHgzMCwweGU1LDB4MDcsMHhhYywweDQyLAotMHhhZCwweDQxLDB4MTIsMHgxYywweDkzLDB4ZTUsMHg0MiwweDMwLDB4ZTIsMHgxNSwweDc4LDB4YTcsMHhlNiwweDMwLDB4ZTAsMHgwZiwKLTB4NzgsMHhhNywweGU2LDB4MzAsMHhlMSwweDA5LDB4ZTQsMHhmZiwweDA0LDB4ZmUsMHg3YywweDA0LDB4MTIsMHgzMSwweDlhLDB4NzgsCi0weGEzLDB4ZTYsMHgyNCwweDA2LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweDc0LDB4MGYsMHhmMCwweDgwLAotMHgwNywweGU0LDB4ZmMsMHg3ZCwweGVlLDB4MTIsMHgxYywweDkzLDB4YzIsMHgwMywweDIyLDB4MTIsMHgzMCwweDg1LDB4MTIsMHgwZiwKLTB4N2MsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDA2LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4OTAsCi0weGZkLDB4NDAsMHhmMCwweDc4LDB4YTMsMHhlNiwweDI0LDB4MDUsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLAotMHhlMCwweDkwLDB4ZmQsMHg0MSwweGYwLDB4YzIsMHgwMywweDdkLDB4MDIsMHg3YywweDAwLDB4MTIsMHgyNCwweGIxLDB4MTIsMHgzMSwKLTB4MDgsMHgyMiwweDEyLDB4MzAsMHg4NSwweDc4LDB4OGYsMHhlYywweGY2LDB4ZWMsMHgyNCwweDk3LDB4ZjgsMHhlNiwweDMwLDB4ZTEsCi0weDA3LDB4N2MsMHgxMywweDEyLDB4MjUsMHg0YSwweDgwLDB4MGYsMHg5MCwweGZkLDB4NDEsMHhlMCwweGZkLDB4NzgsMHg4ZiwweGU2LAotMHhmYywweDEyLDB4MTMsMHhmZCwweDEyLDB4MjUsMHg0YSwweDEyLDB4MzEsMHgwOCwweDIyLDB4MTIsMHgzMCwweDg1LDB4NzgsMHg4ZiwKLTB4ZWMsMHhmNiwweDdkLDB4MDAsMHgxMiwweDBmLDB4MGIsMHgxMiwweDI1LDB4NGEsMHgxMiwweDMxLDB4MDgsMHgyMiwweDEyLDB4MzAsCi0weDg1LDB4NzgsMHg4ZiwweGVjLDB4ZjYsMHhlYywweDI0LDB4OTcsMHhmOCwweGU2LDB4MzAsMHhlMiwweDA3LDB4N2MsMHgxMywweDEyLAotMHgyNSwweDRhLDB4ODAsMHgxYiwweDc4LDB4OGYsMHhlNiwweDI0LDB4OTcsMHhmOCwweGU2LDB4MjAsMHhlMSwweDA3LDB4N2MsMHgxMiwKLTB4MTIsMHgyNSwweDRhLDB4ODAsMHgwYSwweDc4LDB4OGYsMHhlNiwweGZjLDB4MTIsMHgxNCwweDIxLDB4MTIsMHgyNSwweDRhLDB4MTIsCi0weDMxLDB4MDgsMHgyMiwweDEyLDB4MzAsMHg4NSwweDc4LDB4OGYsMHhlYywweGY2LDB4ZWMsMHgyNCwweDk3LDB4ZjgsMHhlNiwweDIwLAotMHhlMiwweDA3LDB4N2MsMHgxMSwweDEyLDB4MjUsMHg0YSwweDgwLDB4MGEsMHg3OCwweDhmLDB4ZTYsMHhmYywweDEyLDB4MTUsMHgyMiwKLTB4MTIsMHgyNSwweDRhLDB4MTIsMHgzMSwweDA4LDB4MjIsMHgxMiwweDMwLDB4ODUsMHg3OCwweDhmLDB4ZWMsMHhmNiwweDEyLDB4MGYsCi0weDdjLDB4NzgsMHhhMywweGU2LDB4MjQsMHgwOSwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDkwLAotMHhmZCwweDQ3LDB4ZjAsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDBhLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywKLTB4ZTAsMHg5MCwweGZkLDB4NDgsMHhmMCwweDc4LDB4YTMsMHhlNiwweDI0LDB4MDMsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsCi0weGY1LDB4ODMsMHhlMCwweGZjLDB4NzgsMHhhMywweGU2LDB4MjQsMHgwNCwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LAotMHg4MywweGUwLDB4ZjUsMHg1YywweDc4LDB4YTMsMHhlNiwweDI0LDB4MDIsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwKLTB4ODMsMHhlMCwweGY1LDB4NWQsMHg4YywweDViLDB4ZTQsMHhlYywweDMzLDB4MzMsMHg1NCwweDAxLDB4NzgsMHg4ZiwweGY2LDB4NjAsCi0weDA4LDB4ZTUsMHg1YywweDMwLDB4ZTEsMHgwMywweDc4LDB4OGYsMHgwNiwweDc4LDB4OGYsMHhlNiwweDkwLDB4ZmQsMHg0OSwweGYwLAotMHg3OCwweGExLDB4ZTYsMHgyNCwweDAyLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4ZmQsMHhhMywKLTB4ZTAsMHg1NCwweDBjLDB4ZmMsMHhlZCwweDU0LDB4ZTYsMHg4YywweDVmLDB4ZjUsMHg1ZSwweGU1LDB4NWIsMHgzMCwweGU1LDB4MDMsCi0weDQzLDB4NWYsMHgwMSwweGU1LDB4NWMsMHgyMCwweGU1LDB4MGUsMHhlNSwweDViLDB4NTQsMHg3ZiwweDcwLDB4MDgsMHhlNSwweDViLAotMHgyMCwweGU3LDB4MDMsMHg0MywweDVmLDB4MDIsMHhlNSwweDViLDB4MzAsMHhlMywweDAzLDB4NDMsMHg1ZiwweDEwLDB4ZTUsMHg1YiwKLTB4MzAsMHhlMiwweDAzLDB4NDMsMHg1ZiwweDIwLDB4ZTUsMHg1YiwweDU0LDB4MDMsMHg2MCwweDAzLDB4NDMsMHg1ZiwweDQwLDB4ZTUsCi0weDViLDB4MzAsMHhlMSwweDAzLDB4NDMsMHg1ZiwweDgwLDB4ZTUsMHg1YiwweDMwLDB4ZTQsMHgwMywweDQzLDB4NWUsMHgwMSwweGU1LAotMHg1YiwweDMwLDB4ZTYsMHgwMywweDQzLDB4NWUsMHgwOCwweGU1LDB4NWMsMHgyMCwweGU0LDB4MGUsMHhlNSwweDViLDB4NTQsMHg3ZiwKLTB4NzAsMHgwOCwweGU1LDB4NWIsMHgyMCwweGU3LDB4MDMsMHg0MywweDVlLDB4MTAsMHg1MywweDVmLDB4ZmIsMHg1MywweDVlLDB4ZjksCi0weGFkLDB4NWUsMHhlNSwweDVmLDB4OTAsMHhmZCwweDQyLDB4Y2QsMHhmMCwweGEzLDB4Y2QsMHhmMCwweGU1LDB4NWQsMHgzMCwweGUzLAotMHgwZCwweGU1LDB4NWQsMHg1NCwweDMwLDB4YzQsMHg1NCwweDBmLDB4OTAsMHhmZCwweDQ1LDB4ZjAsMHg4MCwweDA1LDB4ZTQsMHg5MCwKLTB4ZmQsMHg0NSwweGYwLDB4ZTUsMHg1ZCwweDU0LDB4MDMsMHg5MCwweGZkLDB4NDQsMHhmMCwweGU1LDB4NWQsMHg1NCwweDA0LDB4YzMsCi0weDEzLDB4OTAsMHhmZCwweDQ2LDB4ZjAsMHg5MCwweGZkLDB4NDQsMHhlMCwweDcwLDB4MGUsMHg3ZCwweDNkLDB4N2UsMHhmZCwweDdmLAotMHgwMSwweDc0LDB4MDEsMHg5MCwweDAwLDB4MDksMHgxMiwweDAxLDB4NDIsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDA4LDB4ZjUsMHg4MiwKLTB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg3YywweDAwLDB4ZmQsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDA3LDB4ZjUsCi0weDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg3ZiwweDAwLDB4NGMsMHhmZSwweGVmLDB4NGQsMHg5MCwweGZkLAotMHg0MCwweGYwLDB4YTMsMHhjZSwweGYwLDB4Y2UsMHhjMiwweDAzLDB4N2QsMHgwYSwweDdjLDB4MDAsMHgxMiwweDI0LDB4YjEsMHgxMiwKLTB4MzEsMHgwOCwweDIyLDB4MTIsMHgzMCwweDg1LDB4NzgsMHg4ZiwweGVjLDB4ZjYsMHg3OCwweDk0LDB4NzYsMHgwMSwweDA4LDB4NzYsCi0weGZkLDB4MDgsMHg3NiwweDQwLDB4NzgsMHg5MSwweDc2LDB4MGMsMHg3OCwweDk0LDB4MTIsMHgwNCwweDY1LDB4MTIsMHgwMiwweDE0LAotMHg3OCwweDkyLDB4Y2IsMHhmNiwweGNiLDB4MDgsMHhmNiwweDdmLDB4MDAsMHhlZiwweDI0LDB4ZWIsMHg0MCwweDFmLDB4ZTQsMHhlZiwKLTB4MjUsMHhlMCwweDkwLDB4MzQsMHhiZiwweGZkLDB4OTMsMHhjZCwweDA0LDB4OTMsMHg3OCwweDkzLDB4NjYsMHg3MCwweDAzLDB4ZWQsCi0weDE4LDB4NjYsMHg3MCwweDA2LDB4NzgsMHg5MSwweDc2LDB4MDAsMHg4MCwweDAzLDB4MGYsMHg4MCwweGRjLDB4NzgsMHg5MCwweGVmLAotMHhmNiwweDc4LDB4OTQsMHgxMiwweDA0LDB4NjUsMHg5MCwweDAwLDB4MDIsMHgxMiwweDAyLDB4MGUsMHg3OCwweDkyLDB4Y2IsMHhmNiwKLTB4Y2IsMHgwOCwweGY2LDB4NTQsMHgwNCwweGNiLDB4NTQsMHgwNiwweDRiLDB4NjAsMHgwNCwweDc4LDB4OTEsMHg3NiwweDBiLDB4NzgsCi0weDkzLDB4ZTYsMHgzMCwweGUzLDB4MTMsMHg3OCwweDk0LDB4MTIsMHgwNCwweDY1LDB4OTAsMHgwMCwweDA1LDB4MTIsMHgwMSwweGVjLAotMHgyNCwweGZiLDB4NTAsMHgwNCwweDc4LDB4OTEsMHg3NiwweDBkLDB4NzgsMHg5MywweGU2LDB4NTQsMHhjMCwweDdkLDB4MDAsMHg2NCwKLTB4YzAsMHg0ZCwweDcwLDB4MDQsMHg3OCwweDkxLDB4NzYsMHgwYiwweDc4LDB4OTQsMHgxMiwweDA0LDB4NjUsMHg5MCwweDAwLDB4MDQsCi0weDEyLDB4MDEsMHhlYywweDI0LDB4ZmMsMHg1MCwweDA0LDB4NzgsMHg5MSwweDc2LDB4MGYsMHg3OCwweDk0LDB4MTIsMHgwNCwweDY1LAotMHg5MCwweDAwLDB4MDYsMHgxMiwweDAxLDB4ZWMsMHgyNCwweGZkLDB4NTAsMHgwNCwweDc4LDB4OTEsMHg3NiwweDBlLDB4NzgsMHg5NCwKLTB4MTIsMHgwNCwweDY1LDB4OTAsMHgwMCwweDA5LDB4MTIsMHgwMSwweGVjLDB4MjQsMHhmZCwweDUwLDB4MDQsMHg3OCwweDkxLDB4NzYsCi0weDBhLDB4NzgsMHg5MSwweGU2LDB4NzAsMHgyYSwweDc4LDB4OGYsMHhlNiwweGZjLDB4MTIsMHgwZiwweDdjLDB4NzgsMHg5NCwweDEyLAotMHgwNCwweDY1LDB4NzgsMHhhMSwweGU2LDB4ZjksMHg3OCwweGEwLDB4ZTYsMHhmYSwweDdiLDB4MDEsMHg3NCwweDBhLDB4NzgsMHgwMCwKLTB4MTIsMHgwMywweDNmLDB4YzIsMHgwMywweDc4LDB4OGYsMHhlNiwweGZjLDB4MTIsMHgxMSwweDIzLDB4NzgsMHg5MSwweGVjLDB4ZjYsCi0weDc4LDB4OTEsMHhlNiwweGZjLDB4MTIsMHgyNSwweDRhLDB4MTIsMHgzMSwweDA4LDB4MjIsMHgxMiwweDMwLDB4ODUsMHg3OCwweDhmLAotMHhlYywweGY2LDB4MTIsMHgwZiwweDdjLDB4NzgsMHg4ZiwweGU2LDB4MjQsMHhmZCwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHgxYywKLTB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZCwweGY1LDB4ODMsMHhhYywweDgyLDB4YWQsMHg4MywweDc4LDB4YTAsMHg4NiwweDgzLDB4MDgsCi0weDg2LDB4ODIsMHhlYywweGY5LDB4ZWQsMHhmYSwweDdiLDB4MGEsMHg3OCwweDAxLDB4MTIsMHgwMywweGE3LDB4YzIsMHgwMywweDc4LAotMHg4ZiwweGU2LDB4ZmMsMHgxMiwweDExLDB4MjMsMHgxMiwweDMxLDB4MDgsMHgyMiwweDhkLDB4MmIsMHg4YywweDJhLDB4ZWQsMHg2MCwKLTB4NDAsMHg3NSwweDI3LDB4MDEsMHg3NSwweDI5LDB4NDgsMHg3NSwweDI4LDB4ZmYsMHhlNSwweDJhLDB4MjQsMHhmZCwweGZjLDB4ZTQsCi0weDM0LDB4ZmYsMHhmZCwweGVjLDB4N2MsMHgwMywweDI1LDB4ZTAsMHhjZCwweDMzLDB4Y2QsMHhkYywweGY5LDB4ZmMsMHhlNSwweDI5LAotMHgyYywweGY1LDB4MjksMHhlNSwweDI4LDB4M2QsMHhmNSwweDI4LDB4YWQsMHgyOSwweGFlLDB4MjgsMHhhZiwweDI3LDB4NzQsMHg4MCwKLTB4OTAsMHgwMCwweDA2LDB4MTIsMHgwMywweDE3LDB4NzQsMHg4MCwweDkwLDB4MDAsMHgwMiwweDEyLDB4MDMsMHgxNywweDEyLDB4MGYsCi0weGQzLDB4ZTUsMHgyYiwweDE0LDB4NjAsMHgzYiwweDc1LDB4MjcsMHgwMSwweDc1LDB4MjksMHgwOCwweDc1LDB4MjgsMHhmZiwweGU1LAotMHgyYSwweDI0LDB4ZmQsMHhmYywweGU0LDB4MzQsMHhmZiwweGZkLDB4ZWMsMHg3YywweDAzLDB4MjUsMHhlMCwweGNkLDB4MzMsMHhjZCwKLTB4ZGMsMHhmOSwweGZjLDB4ZTUsMHgyOSwweDJjLDB4ZjUsMHgyOSwweGU1LDB4MjgsMHgzZCwweGY1LDB4MjgsMHhhZCwweDI5LDB4YWUsCi0weDI4LDB4YWYsMHgyNywweGU0LDB4OTAsMHgwMCwweDA2LDB4MTIsMHgwMywweDE3LDB4ZTQsMHg5MCwweDAwLDB4MDIsMHgxMiwweDAzLAotMHgxNywweDIyLDB4MTIsMHgzMCwweDg1LDB4NzgsMHg4ZiwweGVjLDB4ZjYsMHhlYywweDI0LDB4OTcsMHhmOCwweGU2LDB4MzAsMHhlMiwKLTB4MDksMHg3OCwweDhmLDB4ZTYsMHhmYywweDEyLDB4MTUsMHgyMiwweGQyLDB4MDAsMHg3OCwweDhmLDB4ZTYsMHhmYywweDEyLDB4MGYsCi0weDdjLDB4NzgsMHg5MCwweDc2LDB4MDAsMHg5MCwweGZkLDB4NDEsMHhlMCwweDMwLDB4ZTcsMHgwNCwweDc4LDB4OTAsMHg3NiwweDAxLAotMHg3OCwweDkwLDB4ZTYsMHhmZCwweDc4LDB4OGYsMHhlNiwweGZjLDB4MTIsMHgwZCwweDNhLDB4YzIsMHgwMywweDMwLDB4MDAsMHgwNywKLTB4NzgsMHg4ZiwweGU2LDB4ZmMsMHgxMiwweDE0LDB4MjEsMHg3YywweDAwLDB4MTIsMHgyNSwweDRhLDB4MTIsMHgzMSwweDA4LDB4MjIsCi0weDc4LDB4YTMsMHhlNiwweDI0LDB4MDQsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg0NCwweDAxLAotMHhmMCwweDc4LDB4YTMsMHhlNiwweDI0LDB4MDQsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHgzMCwKLTB4ZTAsMHgwMiwweDgwLDB4ZWQsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDBiLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsCi0weDgzLDB4ZTAsMHg1NCwweGY4LDB4ZjAsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDAyLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLAotMHhmNSwweDgzLDB4ZTAsMHg0NCwweDgwLDB4ZjAsMHgyMiwweGMyLDB4MDMsMHg4YywweDU4LDB4MTIsMHgwZiwweDdjLDB4NzgsMHhhMCwKLTB4ODYsMHg4MywweDA4LDB4ODYsMHg4MiwweDc5LDB4ZWUsMHg3YSwweDM0LDB4N2IsMHgwYSwweDc4LDB4MDEsMHgxMiwweDAzLDB4ZjUsCi0weDEyLDB4MGUsMHgxMCwweGFjLDB4NTgsMHg3ZCwweDAyLDB4MTIsMHgwZCwweDNhLDB4YzIsMHgwMywweGFjLDB4NTgsMHgxMiwweDExLAotMHgyMywweDIyLDB4OGQsMHg1MywweDhlLDB4NTIsMHg4ZiwweDUxLDB4OGMsMHg1MCwweDEyLDB4MGYsMHg3YywweDc1LDB4NGYsMHgwMCwKLTB4NzgsMHhhMywweGU2LDB4MjQsMHgwNSwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDIwLDB4ZTQsCi0weDE2LDB4ZTUsMHg0ZiwweDI0LDB4ZjYsMHg0MCwweDEwLDB4MDUsMHg0ZiwweGMyLDB4MDMsMHg3YywweDE4LDB4MTIsMHgzMiwweDQ4LAotMHhhYywweDUwLDB4MTIsMHgwZiwweDdjLDB4ODAsMHhkOSwweDc4LDB4YTMsMHhlNiwweDI0LDB4MDUsMHhmNSwweDgyLDB4MTgsMHhlNiwKLTB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDIwLDB4ZTQsMHgwNSwweGMyLDB4MDMsMHg3YywweDAyLDB4MjIsMHg3OCwweGEzLDB4ZTYsCi0weDI0LDB4MDUsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg1NCwweDBmLDB4NjAsMHgxNiwweDc4LAotMHhhMywweGU2LDB4MjQsMHgwNSwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDU0LDB4MGYsMHhmMCwKLTB4YzIsMHgwMywweDdjLDB4MDEsMHgyMiwweDc4LDB4YTIsMHg4NiwweDgzLDB4MDgsMHg4NiwweDgyLDB4ZTAsMHhhZCwweDUzLDB4YWUsCi0weDUyLDB4YWYsMHg1MSwweDEyLDB4MDMsMHgwZiwweGMyLDB4MDMsMHg3YywweDAwLDB4MjIsMHg4ZCwweDMxLDB4OGMsMHgzMCwweDEyLAotMHgxNSwweDIyLDB4ZTUsMHgzMSwweDYwLDB4MjAsMHhlNSwweDMwLDB4YjQsMHgwMywweDBjLDB4N2MsMHgwMSwweDEyLDB4MjQsMHg3YywKLTB4N2MsMHg4MSwweDEyLDB4MjQsMHg3YywweDgwLDB4MGYsMHhlNSwweDMwLDB4YjQsMHgwNCwweDBhLDB4N2MsMHgwMiwweDEyLDB4MjQsCi0weDdjLDB4N2MsMHg4MiwweDEyLDB4MjQsMHg3YywweGFjLDB4MzAsMHgxMiwweDBmLDB4N2MsMHhlNSwweDMxLDB4NjAsMHgxYSwweDc4LAotMHhhNCwweDg2LDB4ODMsMHgwOCwweDg2LDB4ODIsMHhlMCwweDU0LDB4ZTcsMHhmMCwweGEzLDB4YTMsMHhhMywweGEzLDB4ZTAsMHg1NCwKLTB4ZTcsMHhmMCwweGFjLDB4MzAsMHg3ZCwweDAyLDB4MTIsMHgwZCwweDNhLDB4NzgsMHhhMCwweDg2LDB4ODMsMHgwOCwweDg2LDB4ODIsCi0weDc5LDB4ZjgsMHg3YSwweDM0LDB4N2IsMHgwYSwweDc4LDB4MDEsMHgxMiwweDAzLDB4ZjUsMHhjMiwweDAzLDB4ZTUsMHgzMCwweDI0LAotMHg5NywweGY4LDB4YzYsMHg1NCwweGZkLDB4ZjYsMHhhYywweDMwLDB4MTIsMHgxMSwweDIzLDB4MjIsMHg4YywweDI2LDB4MzAsMHgwMywKLTB4MDUsMHgxMiwweDMxLDB4ZTcsMHg4MCwweGY4LDB4N2MsMHgwYSwweDEyLDB4MzAsMHhmYSwweGQyLDB4MDMsMHhlNSwweDI2LDB4MjQsCi0weGZkLDB4NzgsMHg5ZCwweGY2LDB4NzAsMHgwOSwweDc4LDB4YTQsMHg3NiwweGZmLDB4MDgsMHg3NiwweGUwLDB4ODAsMHgwNywweDc4LAotMHhhNCwweDc2LDB4ZmYsMHgwOCwweDc2LDB4ZTIsMHg3OCwweDlkLDB4ZTYsMHg3NSwweGYwLDB4MTAsMHhhNCwweGFkLDB4ZjAsMHhmYywKLTB4MjQsMHhhMCwweDc4LDB4YTMsMHhmNiwweGVkLDB4MzQsMHhmZiwweDE4LDB4ZjYsMHg3OCwweDlkLDB4ZTYsMHg3NSwweGYwLDB4MGEsCi0weGE0LDB4MjQsMHgwOCwweGZjLDB4ZTQsMHgzNCwweGZkLDB4ZmQsMHg3OCwweGEwLDB4ZWQsMHhmNiwweDA4LDB4ZWMsMHhmNiwweDEyLAotMHgzMSwweDkzLDB4MjIsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDAyLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywKLTB4ZTAsMHgzMCwweGU3LDB4MjIsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDAyLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsCi0weDgzLDB4ZTAsMHg1NCwweDdmLDB4ZjAsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDAyLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLAotMHhmNSwweDgzLDB4ZTAsMHg0NCwweDgwLDB4ZjAsMHgyMiwweDc4LDB4YTQsMHg4NiwweDgzLDB4MDgsMHg4NiwweDgyLDB4ZTAsMHg1NCwKLTB4N2YsMHhmMCwweGFkLDB4ODMsMHhlNSwweDgyLDB4MjQsMHgwNCwweGZjLDB4ZTQsMHgzZCwweDhjLDB4ODIsMHhmNSwweDgzLDB4ZTAsCi0weDU0LDB4N2YsMHhmMCwweDc4LDB4YTMsMHhlNiwweDI0LDB4MGIsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLAotMHhlMCwweDU0LDB4ZjgsMHhmMCwweDc4LDB4YTUsMHhlNiwweDI0LDB4MDEsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwKLTB4ODMsMHhlMCwweDQ0LDB4MDMsMHhmMCwweDc4LDB4YTUsMHhlNiwweDI0LDB4MDUsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsCi0weGY1LDB4ODMsMHhlMCwweDQ0LDB4MDMsMHhmMCwweDc4LDB4YTMsMHhlNiwweDI0LDB4MDUsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LAotMHgwMCwweGY1LDB4ODMsMHg3NCwweDBmLDB4ZjAsMHgyMiwweDc4LDB4YTQsMHg4NiwweDgzLDB4MDgsMHg4NiwweDgyLDB4ZTAsMHg1NCwKLTB4M2YsMHhmMCwweGFkLDB4ODMsMHhlNSwweDgyLDB4MjQsMHgwNCwweGZjLDB4ZTQsMHgzZCwweDhjLDB4ODIsMHhmNSwweDgzLDB4ZTAsCi0weDU0LDB4M2YsMHhmMCwweDc4LDB4OWQsMHhlNiwweDI0LDB4OWUsMHhmOCwweGU2LDB4ZmMsMHg3OCwweGE1LDB4ZTYsMHgyNCwweDAxLAotMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZWMsMHhmMCwweDc4LDB4OWQsMHhlNiwweDI0LDB4OWUsMHhmOCwKLTB4ZTYsMHhmYywweDc4LDB4YTUsMHhlNiwweDI0LDB4MDUsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZWMsCi0weGYwLDB4NzgsMHhhMywweGU2LDB4MjQsMHgwYiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDU0LAotMHhmYiwweDQ0LDB4MDIsMHhmNSwweDI2LDB4NzgsMHhhMSwweGU2LDB4MjQsMHgwMiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwKLTB4ZjUsMHg4MywweGUwLDB4MzAsMHhlNSwweDAzLDB4NDMsMHgyNiwweDAxLDB4NzgsMHhhMywweGU2LDB4MjQsMHgwNSwweGY1LDB4ODIsCi0weDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4MzAsMHhlMCwweDAzLDB4MTIsMHgwZiwweGQzLDB4ZTUsMHgyNiwweGZjLAotMHg3OCwweGEzLDB4ZTYsMHgyNCwweDBiLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGVjLDB4ZjAsMHg3OCwKLTB4YTMsMHhlNiwweDI0LDB4MDUsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4NzQsMHgwZiwweGYwLDB4NzgsCi0weGE0LDB4ODYsMHg4MywweDA4LDB4ODYsMHg4MiwweGUwLDB4NDQsMHg4MCwweGYwLDB4YTMsMHhhMywweGEzLDB4YTMsMHhlMCwweDQ0LAotMHg4MCwweGYwLDB4MjIsMHg4YywweDJhLDB4MTIsMHgwZiwweDdjLDB4NzgsMHhhMSwweGU2LDB4MjQsMHgwOCwweGY1LDB4ODIsMHgxOCwKLTB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4ZmMsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDBhLDB4ZjUsMHg4MiwweDE4LDB4ZTYsCi0weDM0LDB4MDAsMHhmNSwweDgzLDB4ZWMsMHhmMCwweDc4LDB4YTEsMHhlNiwweDI0LDB4MDcsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LAotMHgwMCwweGY1LDB4ODMsMHhlMCwweGZjLDB4NzgsMHhhMywweGU2LDB4MjQsMHgwOSwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwKLTB4ZjUsMHg4MywweGVjLDB4ZjAsMHg3OCwweGEwLDB4ODYsMHg4MywweDA4LDB4ODYsMHg4MiwweGUwLDB4ZmQsMHhhMywweGUwLDB4ZmMsCi0weGVkLDB4ZmUsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDA4LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGVlLAotMHhmMCwweGVjLDB4ZmUsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDA3LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywKLTB4ZWUsMHhmMCwweDhjLDB4MjksMHg4ZCwweDI4LDB4YzMsMHhlYywweDk0LDB4MDIsMHhlZCwweDk0LDB4MDYsMHg0MCwweDA1LDB4NzUsCi0weDI3LDB4N2MsMHg4MCwweDMzLDB4ZDMsMHhlNSwweDI5LDB4OTQsMHg4MSwweGU1LDB4MjgsMHg5NCwweDAxLDB4NDAsMHgwNSwweDc1LAotMHgyNywweDNjLDB4ODAsMHgyMywweGQzLDB4ZTUsMHgyOSwweDk0LDB4YzAsMHhlNSwweDI4LDB4OTQsMHgwMCwweDQwLDB4MDUsMHg3NSwKLTB4MjcsMHgxOCwweDgwLDB4MTMsMHhkMywweGU1LDB4MjksMHg5NCwweDMwLDB4ZTUsMHgyOCwweDk0LDB4MDAsMHg0MCwweDA1LDB4NzUsCi0weDI3LDB4MGMsMHg4MCwweDAzLDB4NzUsMHgyNywweDA4LDB4YWYsMHgyNywweGU0LDB4ZWYsMHg1NCwweDdjLDB4NDQsMHg4MywweGZmLAotMHg4ZiwweDI3LDB4ZTUsMHgyNywweGZjLDB4NzgsMHhhNSwweGU2LDB4MjQsMHgwMSwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwKLTB4ZjUsMHg4MywweGVjLDB4ZjAsMHhlNSwweDI3LDB4ZmMsMHg3OCwweGE1LDB4ZTYsMHgyNCwweDA1LDB4ZjUsMHg4MiwweDE4LDB4ZTYsCi0weDM0LDB4MDAsMHhmNSwweDgzLDB4ZWMsMHhmMCwweGU1LDB4MjcsMHhmYywweDc4LDB4OWQsMHhlNiwweDI0LDB4OWUsMHhmOCwweGVjLAotMHhmNiwweDc4LDB4YTMsMHhlNiwweDI0LDB4MDIsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHhmNSwKLTB4MjcsMHg3OCwweGExLDB4ZTYsMHgyNCwweDAyLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGEzLDB4ZTAsCi0weDMwLDB4ZTMsMHgxNywweDUzLDB4MjcsMHhjNywweDc4LDB4YTEsMHhlNiwweDI0LDB4MDUsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LAotMHgwMCwweGY1LDB4ODMsMHhlMCwweDkwLDB4MzQsMHhlOSwweDkzLDB4NDIsMHgyNywweDc4LDB4YTEsMHhlNiwweDI0LDB4MDIsMHhmNSwKLTB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDMwLDB4ZTcsMHgwNSwweDQzLDB4MjcsMHg0MCwweDgwLDB4MDMsCi0weDUzLDB4MjcsMHhiZiwweDUzLDB4MjcsMHhmYiwweDc4LDB4YTEsMHhlNiwweDI0LDB4MDYsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LAotMHgwMCwweGY1LDB4ODMsMHhlMCwweDYwLDB4MDMsMHg0MywweDI3LDB4MDQsMHg1MywweDI3LDB4ZmMsMHg3OCwweGExLDB4ZTYsMHgyNCwKLTB4MDQsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg0MiwweDI3LDB4NDMsMHgyNywweDgwLDB4ZTUsCi0weDI3LDB4ZmMsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDAyLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGVjLAotMHhmMCwweDc4LDB4YTMsMHhlNiwweDI0LDB4MDQsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHhmNSwKLTB4MjcsMHg3OCwweGExLDB4ZTYsMHgyNCwweDAyLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGEzLDB4ZTAsCi0weDMwLDB4ZTEsMHgwNSwweDUzLDB4MjcsMHhkZiwweDgwLDB4MDMsMHg0MywweDI3LDB4MjAsMHg3OCwweGExLDB4ZTYsMHgyNCwweDAyLAotMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHgzMCwweGU0LDB4MDUsMHg1MywweDI3LDB4ZWYsMHg4MCwKLTB4MDMsMHg0MywweDI3LDB4MTAsMHg3OCwweGExLDB4ZTYsMHgyNCwweDA5LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsCi0weDgzLDB4ZTAsMHhiNCwweDAyLDB4MDMsMHg0MywweDI3LDB4MDIsMHhlNSwweDI3LDB4ZmMsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDA0LAotMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZWMsMHhmMCwweDc4LDB4YTMsMHhlNiwweDI0LDB4MDMsMHhmNSwKLTB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweGY1LDB4MjcsMHg3OCwweGExLDB4ZTYsMHgyNCwweDA5LDB4ZjUsCi0weDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg3MCwweDA1LDB4NTMsMHgyNywweDdmLDB4ODAsMHgwMywweDQzLAotMHgyNywweDgwLDB4NzgsMHhhMSwweGU2LDB4MjQsMHgwMiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhhMywKLTB4ZTAsMHgzMCwweGUwLDB4MDUsMHg0MywweDI3LDB4MjAsMHg4MCwweDAzLDB4NTMsMHgyNywweGRmLDB4NzgsMHhhMSwweGU2LDB4MjQsCi0weDAyLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4MzAsMHhlMywweDA1LDB4NDMsMHgyNywweDQwLAotMHg4MCwweDAzLDB4NTMsMHgyNywweGJmLDB4NzgsMHhhMSwweGU2LDB4MjQsMHgwMiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwKLTB4ZjUsMHg4MywweGUwLDB4MzAsMHhlMCwweDA1LDB4NDMsMHgyNywweDEwLDB4ODAsMHgwMywweDUzLDB4MjcsMHhlZiwweDc4LDB4YTEsCi0weGU2LDB4MjQsMHgwMiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhhMywweGUwLDB4MzAsMHhlNCwweDA1LAotMHg0MywweDI3LDB4MDgsMHg4MCwweDAzLDB4NTMsMHgyNywweGY3LDB4NzgsMHhhMSwweGU2LDB4MjQsMHgwMiwweGY1LDB4ODIsMHgxOCwKLTB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGEzLDB4ZTAsMHgzMCwweGU1LDB4MDUsMHg0MywweDI3LDB4MDQsMHg4MCwweDAzLDB4NTMsCi0weDI3LDB4ZmIsMHg3OCwweGExLDB4ZTYsMHgyNCwweDAyLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGEzLAotMHhlMCwweDMwLDB4ZTYsMHgwNSwweDQzLDB4MjcsMHgwMSwweDgwLDB4MDMsMHg1MywweDI3LDB4ZmUsMHg3OCwweGExLDB4ZTYsMHgyNCwKLTB4MDIsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4YTMsMHhlMCwweDMwLDB4ZTcsMHgwNSwweDQzLDB4MjcsCi0weDAyLDB4ODAsMHgwMywweDUzLDB4MjcsMHhmZCwweGU1LDB4MjcsMHhmYywweDc4LDB4YTMsMHhlNiwweDI0LDB4MDMsMHhmNSwweDgyLAotMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlYywweGYwLDB4YzIsMHgwMywweDdjLDB4MDAsMHgyMiwweDhkLDB4MjcsMHg4YywKLTB4MjYsMHhlZCwweDU0LDB4MDMsMHgxNCwweDYwLDB4MDMsMHg3YywweDEwLDB4MjIsMHhlNSwweDI3LDB4NTQsMHg3YywweDI0LDB4ZmMsCi0weDQwLDB4MDMsMHg3YywweDBiLDB4MjIsMHhlNSwweDI2LDB4MjQsMHg5NywweGY4LDB4YzYsMHg0NCwweDAyLDB4ZjYsMHg3YywweDAwLAotMHgyMiwweDhjLDB4MzAsMHgxMiwweDBmLDB4N2MsMHhlNSwweDMwLDB4MjQsMHg5NywweGY4LDB4ZTYsMHgyMCwweGUyLDB4NGYsMHhhYywKLTB4MzAsMHg3ZCwweDAyLDB4MTIsMHgwZCwweDNhLDB4ZTUsMHgzMCwweDI0LDB4ZmUsMHg0NCwweDI4LDB4ZmMsMHg3OCwweGE0LDB4ODYsCi0weDgzLDB4MDgsMHg4NiwweDgyLDB4ZWMsMHhmMCwweGFmLDB4ODMsMHhlNSwweDgyLDB4MjQsMHgwNCwweGZlLDB4ZTQsMHgzZiwweGZmLAotMHhlYywweDhlLDB4ODIsMHg4ZiwweDgzLDB4ZjAsMHg3YywweDAzLDB4OGMsMHgyYywweGU1LDB4MmMsMHhmYywweDc4LDB4YTUsMHhlNiwKLTB4MjQsMHgwMSwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlYywweGYwLDB4ZTUsMHgyYywweGZjLDB4NzgsCi0weGE1LDB4ZTYsMHgyNCwweDA1LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGVjLDB4ZjAsMHg3NSwweDJkLAotMHgwMSwweDc1LDB4MmYsMHg0OCwweDc1LDB4MmUsMHhmZiwweGU1LDB4MzAsMHgyNCwweGZkLDB4ZmMsMHhlNCwweDM0LDB4ZmYsMHhmZCwKLTB4ZWMsMHg3YywweDAzLDB4MjUsMHhlMCwweGNkLDB4MzMsMHhjZCwweGRjLDB4ZjksMHhmYywweGU1LDB4MmYsMHgyYywweGY1LDB4MmYsCi0weGU1LDB4MmUsMHgzZCwweGY1LDB4MmUsMHg3OCwweGE1LDB4ZTYsMHgyNCwweDA0LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLAotMHhmNSwweDgzLDB4ZTAsMHg1NCwweGU3LDB4ZjUsMHgyYywweGFkLDB4MmYsMHhhZSwweDJlLDB4YWYsMHgyZCwweGU0LDB4OTAsMHgwMCwKLTB4MDIsMHgxMiwweDAzLDB4MTcsMHhlNCwweDkwLDB4MDAsMHgwNiwweDEyLDB4MDMsMHgxNywweDEyLDB4MDEsMHhlNiwweDMwLDB4ZTUsCi0weDAzLDB4NDMsMHgyYywweDEwLDB4ZTUsMHgyYywweGZjLDB4NzgsMHhhNSwweGU2LDB4MjQsMHgwNCwweGY1LDB4ODIsMHgxOCwweGU2LAotMHgzNCwweDAwLDB4ZjUsMHg4MywweGVjLDB4ZjAsMHgxMiwweDEwLDB4NjcsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDA2LDB4ZjUsMHg4MiwKLTB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHhjMiwweDAzLDB4ZmMsMHhlNSwweDMwLDB4MjQsMHg5NywweGY4LDB4YzYsCi0weDQ0LDB4MDQsMHhmNiwweDhjLDB4MmMsMHhlNSwweDMwLDB4NTQsMHgwZiwweGM0LDB4NTQsMHhmMCwweDdlLDB4MDAsMHhmZiwweGVlLAotMHhlZiwweDQ0LDB4MDQsMHg3ZCwweDAwLDB4ZmYsMHhlYywweDRlLDB4ZmMsMHhlZCwweDRmLDB4ZmQsMHgxMiwweDFjLDB4ZmUsMHg3YywKLTB4MDAsMHgyMiwweDhjLDB4MmYsMHgxMiwweDBmLDB4N2MsMHgxMiwweDEwLDB4MDcsMHg3OCwweGE0LDB4ODYsMHg4MywweDA4LDB4ODYsCi0weDgyLDB4ZTAsMHg1NCwweDA4LDB4ZjAsMHhhMywweGEzLDB4YTMsMHhhMywweGUwLDB4NTQsMHgwOCwweGYwLDB4YWMsMHgyZiwweDdkLAotMHgwMiwweDEyLDB4MGQsMHgzYSwweGMyLDB4MDMsMHhlNSwweDJmLDB4MjQsMHg5NywweGY4LDB4YzYsMHg1NCwweGZiLDB4ZjYsMHg3YywKLTB4MDAsMHgyMiwweDEyLDB4MzAsMHg4NSwweDc4LDB4OTAsMHhlYywweGY2LDB4ZWMsMHgyNCwweDk3LDB4ZjgsMHhlNiwweDMwLDB4ZTEsCi0weDBhLDB4N2QsMHgwMCwweDdjLDB4MTMsMHgxMiwweDI0LDB4YjEsMHgxMiwweDMxLDB4MDgsMHg3OCwweDkwLDB4ZTYsMHgyNCwweDk3LAotMHhmOCwweGM2LDB4NDQsMHgwMSwweGY2LDB4NzgsMHg5MCwweGU2LDB4ZmMsMHgxMiwweDBmLDB4N2MsMHg3OCwweDkwLDB4ZTYsMHgyNCwKLTB4ZmQsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4MWMsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZkLDB4ZjUsMHg4MywweDc4LDB4YTAsCi0weGU2LDB4ZmEsMHgwOCwweGU2LDB4ZjksMHg3YiwweDBhLDB4NzgsMHgwMSwweDEyLDB4MDMsMHhhNywweDc4LDB4YTAsMHg4NiwweDgzLAotMHgwOCwweDg2LDB4ODIsMHg3OSwweGY4LDB4N2EsMHgzNCwweDdiLDB4MGEsMHg3OCwweDAxLDB4MTIsMHgwMywweGY1LDB4MTIsMHgwZiwKLTB4ZDMsMHhjMiwweDAzLDB4NzgsMHg5MCwweGU2LDB4ZmMsMHgxMiwweDExLDB4MjMsMHg3OCwweDhmLDB4ZWMsMHhmNiwweGVjLDB4NjAsCi0weDBhLDB4N2QsMHgwMCwweDdjLDB4MDgsMHgxMiwweDI0LDB4YjEsMHgxMiwweDMxLDB4MDgsMHg3OCwweDkwLDB4ZTYsMHhmYywweDEyLAotMHgwZiwweDdjLDB4NzgsMHhhMywweGU2LDB4MjQsMHgwNCwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwKLTB4NDQsMHgxMCwweDU0LDB4ZGYsMHhmYywweDc4LDB4YTMsMHhlNiwweDI0LDB4MDQsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsCi0weGY1LDB4ODMsMHhlYywweGYwLDB4NzgsMHg4ZiwweGVjLDB4ZjYsMHhjMiwweDAzLDB4N2MsMHhjOCwweDEyLDB4MzIsMHg0OCwweDc4LAotMHg5MCwweGU2LDB4ZmMsMHgxMiwweDBmLDB4N2MsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDA0LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwKLTB4MDAsMHhmNSwweDgzLDB4ZTAsMHg1NCwweGVmLDB4ZjAsMHhjMiwweDAzLDB4N2MsMHhjOCwweDEyLDB4MzIsMHg0OCwweDc4LDB4OTAsCi0weGU2LDB4ZmMsMHgxMiwweDBmLDB4N2MsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDA0LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLAotMHhmNSwweDgzLDB4ZTAsMHg0NCwweDEwLDB4ZjAsMHhjMiwweDAzLDB4N2MsMHhjOCwweDEyLDB4MzIsMHg0OCwweDc4LDB4OTAsMHhlNiwKLTB4ZmMsMHgxMiwweDBmLDB4N2MsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDA0LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsCi0weDgzLDB4ZTAsMHg0NCwweDIwLDB4ZjAsMHhjMiwweDAzLDB4N2MsMHhmMCwweDEyLDB4MzIsMHg0OCwweDc4LDB4OTAsMHhlNiwweGZjLAotMHgxMiwweDBmLDB4N2MsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDA1LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywKLTB4ZTAsMHgzMCwweGU0LDB4MTUsMHhjMiwweDAzLDB4NzgsMHg5MCwweGU2LDB4NDQsMHgxMCwweDdmLDB4MDAsMHhmZSwweDdjLDB4MDcsCi0weDEyLDB4MzEsMHg5YSwweDEyLDB4MzEsMHgwOCwweDAyLDB4MTcsMHg0OSwweDc4LDB4YTMsMHhlNiwweDI0LDB4MDQsMHhmNSwweDgyLAotMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDU0LDB4Y2YsMHhmMCwweGMyLDB4MDMsMHg3YywweGM4LDB4MTIsMHgzMiwKLTB4NDgsMHg3OCwweDkwLDB4ZTYsMHhmYywweDEyLDB4MGYsMHg3YywweDc4LDB4YTMsMHhlNiwweDI0LDB4MDQsMHhmNSwweDgyLDB4MTgsCi0weGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDQ0LDB4MzAsMHhmMCwweGMyLDB4MDMsMHg3YywweGYwLDB4MTIsMHgzMiwweDQ4LAotMHg3OCwweDkwLDB4ZTYsMHhmYywweDEyLDB4MGYsMHg3YywweDc4LDB4YTMsMHhlNiwweDI0LDB4MDUsMHhmNSwweDgyLDB4MTgsMHhlNiwKLTB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDMwLDB4ZTQsMHgxNCwweGMyLDB4MDMsMHg3OCwweDkwLDB4ZTYsMHg0NCwweDEwLDB4N2YsCi0weDAwLDB4ZmUsMHg3YywweDA3LDB4MTIsMHgzMSwweDlhLDB4MTIsMHgzMSwweDA4LDB4ODAsMHg1ZCwweDc4LDB4YTMsMHhlNiwweDI0LAotMHgwNCwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDU0LDB4ZWYsMHhmMCwweDc4LDB4YTMsMHhlNiwKLTB4MjQsMHgwNCwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDU0LDB4ZGYsMHhmMCwweDc4LDB4OTAsCi0weGU2LDB4MjQsMHhmZCwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHgxYywweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmQsMHhmNSwweDgzLAotMHhhYywweDgyLDB4YWQsMHg4MywweDc4LDB4YTAsMHg4NiwweDgzLDB4MDgsMHg4NiwweDgyLDB4ZWMsMHhmOSwweGVkLDB4ZmEsMHg3YiwKLTB4MGEsMHg3OCwweDAxLDB4MTIsMHgwMywweGE3LDB4YzIsMHgwMywweDc4LDB4OTAsMHhlNiwweGZjLDB4MTIsMHgxMSwweDIzLDB4N2QsCi0weDAwLDB4N2MsMHgwYiwweDEyLDB4MjQsMHhiMSwweDEyLDB4MzEsMHgwOCwweDIyLDB4MTIsMHgzMCwweDg1LDB4OTAsMHhmZiwweDkxLAotMHhlMCwweDkwLDB4ZmQsMHg0MSwweGYwLDB4N2QsMHgwMiwweDdjLDB4MDAsMHgxMiwweDI0LDB4YjEsMHgxMiwweDMxLDB4MDgsMHgyMiwKLTB4MTIsMHgzMCwweDg1LDB4OTAsMHhmZCwweDQwLDB4ZTAsMHhmNCwweGZjLDB4OTAsMHhmZiwweDkxLDB4ZTAsMHg1YywweGY1LDB4MzMsCi0weDkwLDB4ZmQsMHg0MSwweGUwLDB4ZmMsMHg5MCwweGZkLDB4NDAsMHhlMCwweDVjLDB4NDIsMHgzMywweGU1LDB4MzMsMHg5MCwweGZmLAotMHg5MSwweGYwLDB4N2MsMHgwMCwweDEyLDB4MjUsMHg0YSwweDEyLDB4MzEsMHgwOCwweDIyLDB4NzQsMHgzYywweDkwLDB4ZmIsMHhlOCwKLTB4ZjAsMHg3NCwweDNlLDB4OTAsMHhmYiwweGU4LDB4ZjAsMHhlNCwweDkwLDB4ZmQsMHgzMCwweGYwLDB4MjIsMHg4ZCwweDM1LDB4OGMsCi0weDM0LDB4ZWMsMHhiNCwweDAxLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDAyLDB4ODAsMHgyOCwweGI0LDB4MDIsMHgwMiwweDgwLAotMHgwMywweGQzLDB4NDAsMHgwOCwweGE4LDB4MzUsMHhjNiwweDI1LDB4ZTAsMHhmNiwweDgwLDB4MTgsMHhiNCwweDA0LDB4MDIsMHg4MCwKLTB4MDMsMHhkMywweDQwLDB4MGEsMHhhOCwweDM1LDB4YzYsMHgyNSwweGUwLDB4MjUsMHhlMCwweGY2LDB4ODAsMHgwNiwweGE4LDB4MzUsCi0weDc2LDB4MDAsMHg4MCwweDAwLDB4MjIsMHg4YywweDNjLDB4OGQsMHgzYiwweGVkLDB4ZmUsMHhlYywweGZkLDB4N2YsMHgwMSwweDc1LAotMHg2MCwweDA2LDB4NzUsMHg2MSwweDAwLDB4OTAsMHhmZCwweDMxLDB4MTIsMHgwNCwweDZlLDB4MTIsMHgwMSwweGU2LDB4YjQsMHg4MCwKLTB4MDIsMHg4MCwweDA2LDB4ZDMsMHg1MCwweDAzLDB4MDIsMHgxOCwweDllLDB4OTAsMHhmZCwweDMxLDB4MTIsMHgwNCwweDgwLDB4OTAsCi0weDAwLDB4MDMsMHgxMiwweDAxLDB4ZWMsMHg1NCwweGYwLDB4YjQsMHgzMCwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHg1ZiwweDkwLAotMHhmZCwweDMxLDB4MTIsMHgwNCwweDgwLDB4OTAsMHgwMCwweDA4LDB4MTIsMHgwMiwweDBlLDB4ZmEsMHhmZCwweGViLDB4ZmUsMHg3ZiwKLTB4MDEsMHg5MCwweGZkLDB4MzQsMHgxMiwweDA0LDB4NmUsMHhlZSwweGNkLDB4OTAsMHgzNSwweDAyLDB4ZmMsMHhlNCwweDkzLDB4ZmYsCi0weDc0LDB4MDEsMHg5MywweGZlLDB4ZjksMHhlZiwweGZhLDB4N2IsMHgwMSwweGVhLDB4ZmYsMHhlOSwweGZlLDB4ZWMsMHhjMywweDllLAotMHhlZCwweDlmLDB4NDAsMHgyNSwweDkwLDB4MzUsMHgwNCwweGU0LDB4OTMsMHhmZCwweDc0LDB4MDEsMHg5MywweGZjLDB4ZWQsMHhmZSwKLTB4ZWMsMHhmZCwweDdmLDB4MDEsMHhlZSwweGNkLDB4ZmMsMHg5MCwweGZkLDB4MzYsMHhlMCwweGQzLDB4OWMsMHg5MCwweGZkLDB4MzUsCi0weGUwLDB4OWQsMHg1MCwweDA1LDB4NzUsMHg2MCwweDgwLDB4ODAsMHgzMywweDEyLDB4MTksMHhiYywweDgwLDB4MmUsMHhiNCwweDYwLAotMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MGIsMHhhYywweDNjLDB4YWQsMHgzYiwweDEyLDB4MDcsMHg4MiwweDhjLDB4NjAsMHg4MCwKLTB4MWIsMHhiNCwweDEwLDB4MDMsMHhiMywweDQwLDB4MTAsMHhjMywweGI0LDB4MjAsMHgwMywweGIzLDB4NDAsMHgwOSwweGMzLDB4YjQsCi0weDQwLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDAwLDB4NzUsMHg2MCwweDgxLDB4ODAsMHgwMCwweDgwLDB4NzUsMHhiNCwweDgxLAotMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4NmIsMHg5MCwweGZkLDB4MzEsMHgxMiwweDA0LDB4ODAsMHg5MCwweDAwLDB4MDMsMHgxMiwKLTB4MDEsMHhlYywweDU0LDB4ZjAsMHhiNCwweDMwLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDFkLDB4OTAsMHhmZCwweDMxLDB4MTIsCi0weDA0LDB4ODAsMHg5MCwweDAwLDB4MDgsMHgxMiwweDAyLDB4MGUsMHhmYSwweGZkLDB4ZWIsMHhmZSwweDdmLDB4MDEsMHg5MCwweGZkLAotMHgzNywweDEyLDB4MDQsMHg2ZSwweDEyLDB4MTksMHgyNiwweDgwLDB4MzYsMHhiNCwweDYwLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwKLTB4MTMsMHg3NSwweDNhLDB4NjEsMHhlNCwweGY1LDB4MzksMHhmNSwweDM4LDB4YWMsMHgzYywweGFkLDB4M2IsMHgxMiwweDA1LDB4ZGUsCi0weDhjLDB4NjAsMHg4MCwweDFiLDB4YjQsMHgxMCwweDAzLDB4YjMsMHg0MCwweDEwLDB4YzMsMHhiNCwweDIwLDB4MDMsMHhiMywweDQwLAotMHgwOSwweGMzLDB4YjQsMHg0MCwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgwMCwweDc1LDB4NjAsMHg4MSwweDgwLDB4MDAsMHg4MCwKLTB4MDIsMHg4MCwweDAwLDB4ZTUsMHg2MCwweGZjLDB4OTAsMHhmZCwweDMxLDB4MTIsMHgwNCwweDgwLDB4ZWMsMHg5MCwweDAwLDB4MDIsCi0weDEyLDB4MDMsMHgxNywweGFjLDB4NjEsMHgyMiwweDkwLDB4ZmQsMHgzMSwweDEyLDB4MDQsMHg4MCwweDkwLDB4MDAsMHgwNCwweDEyLAotMHgwMSwweGVjLDB4NjAsMHgwNCwweDc0LDB4MDEsMHg4MCwweDAxLDB4ZTQsMHhhMiwweGUwLDB4OTIsMHgwMSwweDkwLDB4ZmQsMHgzMSwKLTB4MTIsMHgwNCwweDgwLDB4ZWQsMHgyNCwweDAzLDB4ZmQsMHg1MCwweDAxLDB4MGUsMHg5MCwweGZkLDB4MzQsMHgxMiwweDA0LDB4NmUsCi0weDkwLDB4ZmQsMHgzMSwweDEyLDB4MDQsMHg4MCwweDkwLDB4MDAsMHgwNSwweDEyLDB4MDEsMHhlYywweGY1LDB4NjEsMHg5MCwweDAwLAotMHgwNCwweDEyLDB4MDEsMHhlYywweDU0LDB4MGYsMHhmYywweDdkLDB4NjEsMHgxMiwweDE3LDB4OWQsMHhlNSwweDYxLDB4NzAsMHgwNCwKLTB4NzUsMHg2MCwweDA4LDB4MjIsMHg3NSwweDYwLDB4MDAsMHg3OCwweDdlLDB4NzYsMHgwMCwweDc4LDB4N2UsMHhlNiwweGMzLDB4OTUsCi0weDYxLDB4NTAsMHgzOCwweDkwLDB4ZmQsMHgzNywweDEyLDB4MDQsMHg4MCwweDEyLDB4MDEsMHhlNiwweGZjLDB4OTAsMHhmZCwweDM0LAotMHgxMiwweDA0LDB4ODAsMHhlYywweDEyLDB4MDMsMHgwZiwweDMwLDB4MDEsMHgwZSwweDkwLDB4ZmQsMHgzOSwweGUwLDB4MDQsMHhmMCwKLTB4OTAsMHhmZCwweDM4LDB4NzAsMHgwMywweGUwLDB4MDQsMHhmMCwweDc4LDB4N2UsMHgwNiwweDkwLDB4ZmQsMHgzNiwweGUwLDB4MDQsCi0weGYwLDB4OTAsMHhmZCwweDM1LDB4NzAsMHgwMywweGUwLDB4MDQsMHhmMCwweDgwLDB4YzAsMHgyMiwweDkwLDB4ZmQsMHgzMiwweGUwLAotMHhmZCwweGEzLDB4ZTAsMHhmYywweGVkLDB4ZmUsMHhlYywweGZkLDB4N2YsMHgwMSwweGVkLDB4MjQsMHgwYSwweGZkLDB4NTAsMHgwMSwKLTB4MGUsMHg5MCwweGZkLDB4M2EsMHgxMiwweDA0LDB4NmUsMHg5MCwweGZkLDB4MzEsMHgxMiwweDA0LDB4ODAsMHg5MCwweDAwLDB4MDQsCi0weDEyLDB4MDEsMHhlYywweDU0LDB4MGYsMHhiNCwweDAxLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDE3LDB4OTAsMHhmZCwweDNhLAotMHgxMiwweDA0LDB4ODAsMHgwZCwweGVkLDB4NzAsMHgwMSwweDBlLDB4OTAsMHhmZCwweDM3LDB4MTIsMHgwNCwweDZlLDB4NzgsMHg4MiwKLTB4NzYsMHgwMSwweDgwLDB4NGUsMHhiNCwweDAyLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDE5LDB4OTAsMHhmZCwweDNhLDB4MTIsCi0weDA0LDB4ODAsMHhlZCwweDI0LDB4MDIsMHhmZCwweDUwLDB4MDEsMHgwZSwweDkwLDB4ZmQsMHgzNywweDEyLDB4MDQsMHg2ZSwweDc4LAotMHg4MiwweDc2LDB4MDIsMHg4MCwweDJkLDB4YjQsMHgwNCwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgxOSwweDkwLDB4ZmQsMHgzYSwKLTB4MTIsMHgwNCwweDgwLDB4ZWQsMHgyNCwweDA0LDB4ZmQsMHg1MCwweDAxLDB4MGUsMHg5MCwweGZkLDB4MzcsMHgxMiwweDA0LDB4NmUsCi0weDc4LDB4ODIsMHg3NiwweDA0LDB4ODAsMHgwYywweGI0LDB4MDAsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MDAsMHg3NSwweDYwLAotMHgwOCwweDIyLDB4OTAsMHhmZCwweDMxLDB4MTIsMHgwNCwweDgwLDB4OTAsMHgwMCwweDA1LDB4MTIsMHgwMSwweGVjLDB4ZjUsMHg2MSwKLTB4NzgsMHg3ZiwweDc2LDB4MDAsMHg3OCwweDdmLDB4ZTYsMHhjMywweDk1LDB4NjEsMHg0MCwweDAzLDB4MDIsMHgxYiwweDI0LDB4NzgsCi0weDgwLDB4NzYsMHgwMCwweDc4LDB4ODAsMHhlNiwweGMzLDB4NzgsMHg4MiwweDk2LDB4NTAsMHg3NiwweDkwLDB4ZmQsMHgzNCwweDEyLAotMHgwNCwweDgwLDB4MTIsMHgwMSwweGU2LDB4ZmMsMHg5MCwweGZkLDB4M2EsMHgxMiwweDA0LDB4ODksMHgxMiwweDAxLDB4ZTAsMHhmNCwKLTB4NWMsMHhmYywweDEyLDB4MDEsMHhlMCwweGY4LDB4OTAsMHhmZCwweDM3LDB4MTIsMHgwNCwweDgwLDB4ZTgsMHhjMCwweGUwLDB4MTIsCi0weDAxLDB4ZTYsMHhjOCwweGQwLDB4ZTAsMHhjOCwweDU4LDB4NGMsMHhmYywweDkwLDB4ZmQsMHgzNCwweDEyLDB4MDQsMHg4MCwweGVjLAotMHgxMiwweDAzLDB4MGYsMHg3OCwweDgxLDB4ZWMsMHhmNiwweDkwLDB4ZmQsMHgzOSwweGUwLDB4MDQsMHhmMCwweDkwLDB4ZmQsMHgzOCwKLTB4NzAsMHgwMywweGUwLDB4MDQsMHhmMCwweDA5LDB4ZTksMHg3MCwweDAxLDB4MGEsMHg5MCwweGZkLDB4M2EsMHgxMiwweDA0LDB4NzcsCi0weDkwLDB4ZmQsMHgzMSwweDEyLDB4MDQsMHg4MCwweDkwLDB4MDAsMHgwNCwweDEyLDB4MDEsMHhlYywweDMwLDB4ZTQsMHgwZSwweDkwLAotMHhmZCwweDM2LDB4ZTAsMHgwNCwweGYwLDB4OTAsMHhmZCwweDM1LDB4NzAsMHgwMywweGUwLDB4MDQsMHhmMCwweDc4LDB4ODAsMHgwNiwKLTB4ODAsMHg4MSwweDc4LDB4ODIsMHhlNiwweGZkLDB4ZTQsMHhmZSwweGZmLDB4ZWUsMHhjZCwweGZjLDB4OTAsMHhmZCwweDM5LDB4ZTAsCi0weDJjLDB4ZjAsMHg5MCwweGZkLDB4MzgsMHhlMCwweDNkLDB4ZjAsMHg3OCwweDgyLDB4ZTYsMHhmZCwweGU0LDB4ZmUsMHhmZiwweGVlLAotMHhjZCwweGZjLDB4OTAsMHhmZCwweDNjLDB4ZTAsMHgyYywweGYwLDB4OTAsMHhmZCwweDNiLDB4ZTAsMHgzZCwweGYwLDB4NzgsMHg3ZiwKLTB4MDYsMHgwMiwweDFhLDB4NjQsMHg3NSwweDYwLDB4MDAsMHgyMiwweGU1LDB4M2QsMHgwNSwweDNkLDB4MDQsMHg3MCwweDAyLDB4YjIsCi0weGIwLDB4MjIsMHhjMCwweGUwLDB4YzAsMHhmMCwweGMwLDB4ODIsMHhjMCwweDgzLDB4YzAsMHhkMCwweGU4LDB4YzAsMHhlMCwweGU5LAotMHhjMCwweGUwLDB4ZWEsMHhjMCwweGUwLDB4ZWIsMHhjMCwweGUwLDB4ZWMsMHhjMCwweGUwLDB4ZWQsMHhjMCwweGUwLDB4ZWUsMHhjMCwKLTB4ZTAsMHhlZiwweGMwLDB4ZTAsMHg5MCwweGZmLDB4OTIsMHhlMCwweDEyLDB4MDEsMHhiNywweDFiLDB4ODAsMHgzMCwweDFiLDB4ODAsCi0weDMyLDB4MWIsMHg4ZiwweDM4LDB4MWIsMHhhMSwweDNhLDB4MWIsMHhiMywweDNlLDB4MWIsMHhjYiwweDQ0LDB4MWIsMHhiZiwweDQ2LAotMHgxYiwweGQ3LDB4NTAsMHgxYywweDE5LDB4NTIsMHgxYiwweGY4LDB4NTQsMHgxYywweDNhLDB4NTYsMHgwMCwweDAwLDB4MWMsMHg1YiwKLTB4OTAsMHhmZiwweDkyLDB4ZTAsMHg3ZiwweDAwLDB4ZmUsMHg3YywweDAxLDB4MTIsMHgzMSwweDlhLDB4MDIsMHgxYywweDZiLDB4ZTQsCi0weGZmLDB4MDQsMHhmZSwweDdjLDB4MDMsMHgxMiwweDMxLDB4OWEsMHg3NCwweDIwLDB4OTAsMHhmZiwweGZlLDB4ZjAsMHgwMiwweDFjLAotMHg2YiwweGU0LDB4ZmYsMHgwNCwweGZlLDB4N2MsMHgwMiwweDEyLDB4MzEsMHg5YSwweDc0LDB4NDAsMHg5MCwweGZmLDB4ZmUsMHhmMCwKLTB4MDIsMHgxYywweDZiLDB4ZTQsMHhmZiwweDA0LDB4ZmUsMHg3YywweDA0LDB4MTIsMHgzMSwweDlhLDB4MDIsMHgxYywweDZiLDB4ZTQsCi0weGZmLDB4MDQsMHhmZSwweDdjLDB4MDUsMHgxMiwweDMxLDB4OWEsMHgwMiwweDFjLDB4NmIsMHhlNCwweGZmLDB4MDQsMHhmZSwweDdjLAotMHgwNiwweDEyLDB4MzEsMHg5YSwweDAyLDB4MWMsMHg2YiwweDkwLDB4ZmYsMHhhNSwweGUwLDB4N2QsMHgwMCwweDkwLDB4ZmQsMHgwMCwKLTB4Y2QsMHhmMCwweGEzLDB4Y2QsMHhmMCwweDkwLDB4ZmQsMHgwMSwweGUwLDB4ZmMsMHhmNSwweDgzLDB4OTAsMHhmZCwweDAwLDB4ZTAsCi0weDQ0LDB4MzMsMHhmZCwweDEyLDB4MWMsMHhmZSwweDgwLDB4NzMsMHg5MCwweGZmLDB4YjUsMHhlMCwweDdkLDB4MDAsMHg5MCwweGZkLAotMHgwMiwweGNkLDB4ZjAsMHhhMywweGNkLDB4ZjAsMHg5MCwweGZkLDB4MDMsMHhlMCwweGZjLDB4ZjUsMHg4MywweDkwLDB4ZmQsMHgwMiwKLTB4ZTAsMHg0NCwweDQzLDB4ZmQsMHgxMiwweDFjLDB4ZmUsMHg4MCwweDUyLDB4OTAsMHhmZiwweGE2LDB4ZTAsMHg3ZCwweDAwLDB4OTAsCi0weGZkLDB4MDQsMHhjZCwweGYwLDB4YTMsMHhjZCwweGYwLDB4OTAsMHhmZCwweDA1LDB4ZTAsMHhmYywweGY1LDB4ODMsMHg5MCwweGZkLAotMHgwNCwweGUwLDB4NDQsMHgzNCwweGZkLDB4MTIsMHgxYywweGZlLDB4ODAsMHgzMSwweDkwLDB4ZmYsMHhiNiwweGUwLDB4N2QsMHgwMCwKLTB4OTAsMHhmZCwweDA2LDB4Y2QsMHhmMCwweGEzLDB4Y2QsMHhmMCwweDkwLDB4ZmQsMHgwNywweGUwLDB4ZmMsMHhmNSwweDgzLDB4OTAsCi0weGZkLDB4MDYsMHhlMCwweDQ0LDB4NDQsMHhmZCwweDEyLDB4MWMsMHhmZSwweDgwLDB4MTAsMHg5MCwweGZmLDB4OTIsMHhlMCwweDdkLAotMHgwMCwweGZjLDB4ZWQsMHg0NCwweGFhLDB4ZmQsMHgxMiwweDFjLDB4ZmUsMHg4MCwweDAwLDB4ZTQsMHg5MCwweGZmLDB4OTIsMHhmMCwKLTB4ZDAsMHhlMCwweGZmLDB4ZDAsMHhlMCwweGZlLDB4ZDAsMHhlMCwweGZkLDB4ZDAsMHhlMCwweGZjLDB4ZDAsMHhlMCwweGZiLDB4ZDAsCi0weGUwLDB4ZmEsMHhkMCwweGUwLDB4ZjksMHhkMCwweGUwLDB4ZjgsMHhkMCwweGQwLDB4ZDAsMHg4MywweGQwLDB4ODIsMHhkMCwweGYwLAotMHhkMCwweGUwLDB4MzIsMHgwNSwweDgxLDB4MDUsMHg4MSwweDA1LDB4ODEsMHgwNSwweDgxLDB4YTgsMHg4MSwweDE4LDB4MTgsMHgxOCwKLTB4ZWQsMHhmNiwweDA4LDB4ZWMsMHhmNiwweDkwLDB4ZmYsMHg2YSwweGUwLDB4MjAsMHhlNywweDAyLDB4ODAsMHhmNywweDkwLDB4ZmYsCi0weDY5LDB4ZTAsMHg3ZCwweDAwLDB4YTgsMHg4MSwweDE4LDB4Y2QsMHhmNiwweGNkLDB4MDgsMHhmNiwweDdkLDB4MDMsMHhhOCwweDgxLAotMHhlNiwweDE4LDB4ZmMsMHhlNiwweGNjLDB4MjUsMHhlMCwweGNjLDB4MzMsMHhjYywweGRkLDB4ZjksMHhjYywweGY2LDB4Y2MsMHgwOCwKLTB4ZjYsMHhhOCwweDgxLDB4MTgsMHhlNiwweDQ0LDB4ZjgsMHhmNiwweGE4LDB4ODEsMHgxOCwweDE4LDB4MTgsMHhlNiwweGZkLDB4MDgsCi0weGU2LDB4ZmMsMHhhOCwweDgxLDB4MTgsMHg4NiwweDgzLDB4MDgsMHg4NiwweDgyLDB4ZWQsMHhmMCwweGEzLDB4ZWMsMHhmMCwweDc0LAotMHgwMiwweDkwLDB4ZmYsMHg2YSwweGYwLDB4MTUsMHg4MSwweDE1LDB4ODEsMHgxNSwweDgxLDB4MTUsMHg4MSwweDIyLDB4ZTUsMHg4MSwKLTB4MjQsMHgwNSwweGY1LDB4ODEsMHhlNCwweGE4LDB4ODEsMHgxOCwweGY2LDB4YTgsMHg4MSwweDE4LDB4MTgsMHgxOCwweDE4LDB4ZWQsCi0weGY2LDB4MDgsMHhlYywweGY2LDB4OTAsMHhmYiwweGZkLDB4ZTAsMHgyNCwweGY4LDB4NTAsMHgwMywweDAyLDB4MWUsMHgxZiwweGU0LAotMHhhOCwweDgxLDB4MTgsMHgxOCwweGY2LDB4YTgsMHg4MSwweDE4LDB4ZTYsMHhmZSwweGE4LDB4ODEsMHgxOCwweDE4LDB4MTgsMHgxOCwKLTB4ZTYsMHhmZCwweDA4LDB4ZTYsMHhmYywweDdmLDB4MDAsMHhlZiwweDI0LDB4ZjgsMHg0MCwweDRkLDB4ZTQsMHhlZiwweDI1LDB4ZTAsCi0weDI0LDB4ODUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZkLDB4ZjUsMHg4MywweGUwLDB4ZmIsMHhhMywweGUwLDB4NmMsMHg3MCwweDAzLAotMHhmYSwweGViLDB4NmQsMHg3MCwweDA5LDB4NzQsMHgwMSwweGE4LDB4ODEsMHgxOCwweDE4LDB4ZjYsMHg4MCwweDJiLDB4ZTQsMHhlZiwKLTB4MjUsMHhlMCwweDI0LDB4ODUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZkLDB4ZjUsMHg4MywweDdhLDB4MDAsMHhlMCwweDU0LDB4ZjAsCi0weGNjLDB4ZjgsMHhjYywweGNkLDB4ZjksMHhjZCwweGZiLDB4NzgsMHgwMCwweGU5LDB4NTQsMHhmMCwweGY5LDB4ZWEsMHg2OCwweDcwLAotMHgwMiwweGViLDB4NjksMHg3MCwweDAxLDB4MGUsMHgwZiwweDgwLDB4YWUsMHhhOCwweDgxLDB4MTgsMHhlZSwweGY2LDB4YTgsMHg4MSwKLTB4MTgsMHgxOCwweDE4LDB4MTgsMHhlZCwweGY2LDB4MDgsMHhlYywweGY2LDB4YTgsMHg4MSwweGVmLDB4ZjYsMHhhOCwweDgxLDB4MTgsCi0weDE4LDB4ZTYsMHg3MCwweDc5LDB4YTgsMHg4MSwweDE4LDB4ZTYsMHgyNCwweGY3LDB4NDAsMHg3MSwweGE4LDB4ODEsMHgxOCwweDE4LAotMHgxOCwweDE4LDB4ZTYsMHg1NCwweDBmLDB4YTgsMHg4MSwweGY2LDB4NjQsMHgwNCwweDYwLDB4MTcsMHhhOCwweDgxLDB4ZTYsMHg2NCwKLTB4MDMsMHg2MCwweDEwLDB4YTgsMHg4MSwweDE4LDB4MTgsMHgxOCwweDE4LDB4ZTYsMHhmZCwweDA4LDB4ZTYsMHhmYywweDEyLDB4MWMsCi0weDkzLDB4ODAsMHg0YSwweDdjLDB4MGEsMHgxMiwweDMwLDB4ZmEsMHhhOCwweDgxLDB4MTgsMHgxOCwweDE4LDB4MTgsMHhlNiwweGZkLAotMHgwOCwweGU2LDB4ZmMsMHg5MCwweGZiLDB4ZmMsMHhlMCwweDI1LDB4ZTAsMHgyNCwweDg1LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZCwKLTB4ZjUsMHg4MywweGVkLDB4ZjAsMHhhMywweGVjLDB4ZjAsMHg5MCwweGZiLDB4ZmMsMHhlMCwweGZmLDB4ZTQsMHhlZiwweDA0LDB4NTQsCi0weDA3LDB4ZmYsMHg5MCwweGZiLDB4ZmMsMHhmMCwweDkwLDB4ZmIsMHhmZCwweGUwLDB4MDQsMHhmMCwweDEyLDB4MzEsMHg5MywweDkwLAotMHhmYiwweGZlLDB4ZTAsMHg3MCwweDA4LDB4ZTQsMHhmZSwweGZmLDB4N2MsMHgwZiwweDEyLDB4MzEsMHg5YSwweDgwLDB4MjcsMHg5MCwKLTB4ZmIsMHhmZiwweGUwLDB4MDQsMHhmMCwweDU0LDB4M2YsMHg3MCwweDFkLDB4OTAsMHhmYiwweGZmLDB4ZTAsMHg0NCwweGZlLDB4N2QsCi0weDAwLDB4ZmMsMHg5MCwweGZiLDB4ZmMsMHhlMCwweDI1LDB4ZTAsMHgyNCwweDg1LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZCwweGY1LAotMHg4MywweGVkLDB4ZjAsMHhhMywweGVjLDB4ZjAsMHhlNSwweDgxLDB4MjQsMHhmYiwweGY1LDB4ODEsMHgyMiwweDc4LDB4ODUsMHg3NiwKLTB4MDAsMHg3OCwweDg2LDB4NzYsMHgwMCwweDc0LDB4MDEsMHg5MCwweGZiLDB4ZmUsMHhmMCwweDEyLDB4MzAsMHg4NSwweDkwLDB4ZmIsCi0weGZkLDB4ZTAsMHg2MCwweDU5LDB4N2MsMHgwYSwweDEyLDB4MzAsMHhmYSwweDkwLDB4ZmIsMHhmYiwweGUwLDB4MjUsMHhlMCwweDI0LAotMHg4NSwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmQsMHhmNSwweDgzLDB4ZTAsMHhmZCwweGEzLDB4ZTAsMHhmYywweDkwLDB4ZmIsMHhmYiwKLTB4ZTAsMHgyNSwweGUwLDB4MjQsMHg4NSwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmQsMHhmNSwweDgzLDB4ZTQsMHhmMCwweGEzLDB4ZjAsCi0weDkwLDB4ZmIsMHhmYiwweGUwLDB4ZmYsMHhlNCwweGVmLDB4MDQsMHg1NCwweDA3LDB4ZmYsMHg5MCwweGZiLDB4ZmIsMHhmMCwweDkwLAotMHhmYiwweGZkLDB4ZTAsMHgxNCwweGYwLDB4NzgsMHg4MywweGVkLDB4ZjYsMHgwOCwweGVjLDB4ZjYsMHgxMiwweDMxLDB4OTMsMHhiMiwKLTB4YjMsMHg3OCwweDgzLDB4ZTYsMHhmZCwweDA4LDB4ZTYsMHhmYywweDEyLDB4MDgsMHhlNSwweDgwLDB4YTEsMHgxMiwweDMxLDB4ZTcsCi0weDc4LDB4ODUsMHgwNiwweGI2LDB4MDAsMHgxMSwweDc4LDB4ODUsMHg3NiwweDAwLDB4NzgsMHg4NiwweGU2LDB4ZjQsMHgwNCwweDA0LAotMHhhMiwweGUwLDB4OTIsMHhiNCwweDc4LDB4ODYsMHhmNiwweDgwLDB4ODUsMHhlNCwweDkwLDB4ZmIsMHhmZSwweGYwLDB4OTAsMHhmYiwKLTB4ZmQsMHhlMCwweDdkLDB4MDAsMHhmYywweGVkLDB4NDQsMHhjZiwweGZkLDB4MTIsMHgxYywweDkzLDB4MTIsMHgzMSwweDA4LDB4MjIsCi0weDEyLDB4MzAsMHg4NSwweGU1LDB4NmEsMHg2NCwweDQ5LDB4NDUsMHg2OSwweDYwLDB4MTUsMHg5MCwweGZmLDB4ODMsMHhlMCwweDU0LAotMHgwZiwweDdkLDB4MDAsMHhkMywweDk1LDB4NmEsMHhlZCwweDk1LDB4NjksMHg1MCwweDA1LDB4MTIsMHgyZSwweGNlLDB4ODAsMHgwMywKLTB4MTIsMHgyZiwweDllLDB4MTIsMHgzMSwweDA4LDB4MjIsMHgxMiwweDMwLDB4ODUsMHhlNSwweDZhLDB4NjQsMHg0OSwweDQ1LDB4NjksCi0weDYwLDB4MDUsMHgxMiwweDJmLDB4ZDgsMHg4MCwweDBlLDB4OTAsMHhmZiwweDgwLDB4ZTAsMHg0NCwweDA4LDB4ZjAsMHg5MCwweGZmLAotMHg4MywweGUwLDB4NTQsMHg3ZiwweGYwLDB4MTIsMHgzMSwweDA4LDB4MjIsMHgxMiwweDMwLDB4ODUsMHg4YywweDU0LDB4ZWMsMHg1NCwKLTB4ZjAsMHhiNCwweDEwLDB4MTUsMHg3NSwweDY0LDB4M2QsMHg3NSwweDYzLDB4ZmQsMHg3NSwweDYyLDB4MDEsMHhlNSwweDY0LDB4MjQsCi0weDAzLDB4ZjUsMHg2NCwweGU1LDB4NjMsMHgzNCwweDAwLDB4ZjUsMHg2MywweGU0LDB4ZjUsMHg1NywweGY1LDB4NTYsMHhlNSwweDU2LAotMHhjMywweDk0LDB4MDEsMHg1MCwweDI3LDB4ZTUsMHg1NCwweDU0LDB4MGYsMHhmYywweGFkLDB4NjQsMHhhZSwweDYzLDB4YWYsMHg2MiwKLTB4MTIsMHgwZSwweDgyLDB4OGMsMHg1NSwweGVjLDB4NjAsMHgwMiwweDgwLDB4MTIsMHgwNSwweDY0LDB4ZTUsMHg2NCwweDcwLDB4MDIsCi0weDA1LDB4NjMsMHgwNSwweDU3LDB4ZTUsMHg1NywweDcwLDB4MDIsMHgwNSwweDU2LDB4ODAsMHhkMiwweGU1LDB4NTQsMHg1NCwweDBmLAotMHgyNCwweDk3LDB4ZjgsMHhjNiwweDU0LDB4ZmUsMHhmNiwweGU1LDB4NTQsMHg1NCwweDBmLDB4N2YsMHgwMCwweGZlLDB4N2MsMHgxMiwKLTB4MTIsMHgzMSwweDlhLDB4ZTUsMHg1NSwweDE0LDB4NzAsMHgwOSwweDdkLDB4MDAsMHg3YywweDA5LDB4MTIsMHgyNCwweGIxLDB4ODAsCi0weDA3LDB4YWQsMHg1NywweDdjLDB4MDAsMHgxMiwweDI0LDB4YjEsMHgxMiwweDMxLDB4MDgsMHgyMiwweDEyLDB4MzAsMHg4NSwweDkwLAotMHhmZiwweGZjLDB4ZTAsMHg0NCwweDAyLDB4ZjAsMHg5MCwweGZmLDB4MDAsMHhlMCwweDMwLDB4ZTcsMHgxMywweDkwLDB4ZmYsMHg4MywKLTB4ZTAsMHg0NCwweDgwLDB4ZjAsMHg0MywweDY3LDB4ODAsMHg5MCwweGZmLDB4ZmMsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDgwLDB4MTEsCi0weDkwLDB4ZmYsMHg4MiwweGUwLDB4NDQsMHgwOCwweGYwLDB4NTMsMHg2NywweDdmLDB4OTAsMHhmZiwweGZjLDB4ZTAsMHg1NCwweGZlLAotMHhmMCwweDkwLDB4ZmYsMHg4MSwweGUwLDB4NDQsMHg4MCwweGYwLDB4MTIsMHgyNSwweDY0LDB4OTAsMHhmZiwweGZlLDB4ZTAsMHg0NCwKLTB4MDUsMHhmMCwweDkwLDB4ZmYsMHhmYywweGUwLDB4NTQsMHhmZCwweGYwLDB4MTIsMHgzMSwweDA4LDB4MjIsMHgxMiwweDMwLDB4ODUsCi0weDdjLDB4MDEsMHgxMiwweDMyLDB4NDgsMHg3OCwweGE3LDB4ZTYsMHg0NCwweDAyLDB4ZjYsMHg3NCwweGZlLDB4ZmMsMHgwNCwweGZkLAotMHgxMiwweDFjLDB4ZmUsMHg5MCwweGZmLDB4NmEsMHhlMCwweDMwLDB4ZTcsMHgwMiwweDgwLDB4ZjcsMHhlNCwweGY1LDB4NGUsMHg3NSwKLTB4NGQsMHgxMCwweGFjLDB4NGUsMHhhZCwweDRkLDB4ZTUsMHg0ZSwweDE1LDB4NGUsMHg3MCwweDAyLDB4MTUsMHg0ZCwweGVjLDB4NGQsCi0weDYwLDB4MDIsMHg4MCwweGVlLDB4NDMsMHg4NywweDAxLDB4MTIsMHgzMSwweDA4LDB4MjIsMHgxMiwweDMwLDB4ODUsMHg3YywweDAyLAotMHgxMiwweDMxLDB4MTQsMHg3OCwweGE3LDB4ZTYsMHg1NCwweGZkLDB4ZjYsMHgxMiwweDMxLDB4MDgsMHgyMiwweDEyLDB4MzAsMHg4NSwKLTB4NzgsMHhhNywweGU2LDB4MzAsMHhlMCwweDJjLDB4NzgsMHhhNywweGU2LDB4MzAsMHhlMSwweDI2LDB4NzgsMHhhNywweGU2LDB4ZmMsCi0weGY1LDB4ODMsMHgxOCwweGU2LDB4NDQsMHhmMCwweGZkLDB4MTIsMHgxYywweDkzLDB4OTAsMHhmZiwweGZjLDB4ZTAsMHg0NCwweDIwLAotMHhmMCwweDdjLDB4MDIsMHgxMiwweDMyLDB4NDgsMHg3OCwweGE3LDB4ZTYsMHg1NCwweGZkLDB4ZjYsMHg3NCwweDFhLDB4OTAsMHhmZiwKLTB4ZmUsMHhmMCwweDc4LDB4YTcsMHhlNiwweGZjLDB4ZjUsMHg4MywweDE4LDB4ZTYsMHg0NCwweGYxLDB4ZmQsMHgxMiwweDFjLDB4OTMsCi0weDEyLDB4MzEsMHgwOCwweDIyLDB4NzUsMHg2NywweDAwLDB4NzUsMHg2OCwweDAwLDB4ZTQsMHhmNSwweDY2LDB4ZjUsMHg2NSwweGU0LAotMHhmNSwweDY5LDB4NzUsMHg2YSwweDQ5LDB4NzQsMHg4NCwweDkwLDB4ZmYsMHg4MiwweGYwLDB4NzQsMHg4NCwweDkwLDB4ZmYsMHg4MCwKLTB4ZjAsMHg3NCwweDgwLDB4OTAsMHhmZiwweDY4LDB4ZjAsMHg3NCwweDgwLDB4OTAsMHhmZiwweDZhLDB4ZjAsMHhhZCwweDQ2LDB4YWYsCi0weDQ1LDB4N2UsMHgwMCwweGVlLDB4MjQsMHhmYywweDUwLDB4MDMsMHgwMiwweDIxLDB4NmEsMHhlNCwweGVlLDB4NzUsMHhmMCwweDA3LAotMHhhNCwweDI0LDB4M2YsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZjLDB4ZjUsMHg4MywweGUwLDB4ZmYsMHhlNCwweGVmLDB4NTQsMHg4MCwKLTB4ZmQsMHhlNCwweGVmLDB4NTQsMHgwZiwweDE0LDB4ZmYsMHhlZCwweDYwLDB4MzgsMHhlNCwweGVmLDB4NzUsMHhmMCwweDA4LDB4YTQsCi0weDI0LDB4NDgsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweDc0LDB4OTAsMHhmMCwweGU0LDB4ZWYsMHg3NSwweGYwLAotMHgwOCwweGE0LDB4MjQsMHg0YSwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4NzQsMHg4MCwweGYwLDB4ZTQsMHhlZiwKLTB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDRlLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHg3NCwweDgwLDB4ZjAsCi0weDgwLDB4MzQsMHhlNCwweGVmLDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDA4LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LAotMHg4MywweDc0LDB4OTAsMHhmMCwweGU0LDB4ZWYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4MGEsMHhmNSwweDgyLDB4ZTQsMHgzNCwKLTB4ZmYsMHhmNSwweDgzLDB4ZTQsMHhmMCwweGU0LDB4ZWYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4MGUsMHhmNSwweDgyLDB4ZTQsCi0weDM0LDB4ZmYsMHhmNSwweDgzLDB4ZTQsMHhmMCwweDBlLDB4MDIsMHgyMCwweGQzLDB4OGQsMHg0NiwweDhlLDB4NDQsMHg4ZiwweDQ1LAotMHg3NCwweDdmLDB4OTAsMHhmZiwweGZkLDB4ZjAsMHg3NCwweDkwLDB4OTAsMHhmZiwweGZjLDB4ZjAsMHg5MCwweGZjLDB4MTksMHhlMCwKLTB4MzAsMHhlNiwweDA3LDB4OTAsMHhmZiwweGZjLDB4ZTAsMHg0NCwweDA0LDB4ZjAsMHgyMiwweDkwLDB4ZmMsMHgwZCwweGUwLDB4MTQsCi0weDcwLDB4MDQsMHg5MCwweGZjLDB4MGMsMHhlMCwweDcwLDB4MzksMHg5MCwweGZjLDB4MDAsMHg3OSwweDA2LDB4N2EsMHgzNSwweDdiLAotMHgxMiwweDc4LDB4MDEsMHgxMiwweDAzLDB4ZjUsMHg3ZiwweDAwLDB4ZWYsMHgzMywweDQwLDB4MTUsMHhlZiwweDkwLDB4MzUsMHg0ZCwKLTB4OTMsMHhmYywweGVmLDB4MjQsMHg4MCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmMsMHhmNSwweDgzLDB4ZWMsMHhmMCwweDBmLDB4ODAsCi0weGU3LDB4OGYsMHg1OSwweDkwLDB4ZmMsMHgyYiwweDc5LDB4MTgsMHg3YSwweDM1LDB4N2IsMHgzNSwweDc4LDB4MDEsMHgxMiwweDAzLAotMHhmNSwweGU0LDB4OTAsMHhmZiwweGZmLDB4ZjAsMHg3NCwweDUxLDB4OTAsMHhmZiwweGZhLDB4ZjAsMHg3NCwweDA0LDB4OTAsMHhmZiwKLTB4ZmIsMHhmMCwweDc0LDB4NTMsMHg5MCwweGZmLDB4ZjgsMHhmMCwweDc0LDB4NTEsMHg5MCwweGZmLDB4ZjksMHhmMCwweDc0LDB4NTUsCi0weDkwLDB4ZmYsMHhmNywweGYwLDB4NzQsMHg5MywweDkwLDB4ZmYsMHhmNiwweGYwLDB4NzQsMHgzMiwweDkwLDB4ZmYsMHhmNSwweGYwLAotMHg3NSwweDY0LDB4M2QsMHg3NSwweDYzLDB4ZmQsMHg3NSwweDYyLDB4MDEsMHhlNCwweDkwLDB4ZmYsMHg4MywweGYwLDB4NzQsMHg4MCwKLTB4OTAsMHhmZiwweDgxLDB4ZjAsMHg3NSwweDU4LDB4MDQsMHhlNSwweDU4LDB4NzUsMHhmMCwweDA3LDB4YTQsMHgyNCwweDNmLDB4ZjUsCi0weDgyLDB4ZTQsMHgzNCwweGZjLDB4ZjUsMHg4MywweGUwLDB4NzgsMHg4OSwweGY2LDB4ZmMsMHg1NCwweDBmLDB4MTQsMHhmYywweDc4LAotMHg4OSwweGVjLDB4ZjYsMHhlNSwweDU4LDB4NzUsMHhmMCwweDA3LDB4YTQsMHgyNCwweDQxLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmYywKLTB4ZjUsMHg4MywweGUwLDB4NzgsMHg4YywweDc2LDB4ZjgsMHgwOCwweDc2LDB4MDAsMHhmYywweDc4LDB4ODksMHhlNiwweDc1LDB4ZjAsCi0weDA4LDB4YTQsMHgyNCwweDQ4LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlNCwweGYwLDB4NzgsMHg4OSwweGU2LAotMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4NGYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweGVjLDB4ZjAsMHg3OCwKLTB4OGMsMHhlNiwweGZmLDB4MDgsMHhlNiwweDdlLDB4MDMsMHhjZiwweGMzLDB4MTMsMHhjZiwweDEzLDB4ZGUsMHhmOSwweGZlLDB4NzgsCi0weDg5LDB4ZTYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4NDksMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweGVlLAotMHhmMCwweDc4LDB4ODksMHhlNiwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHg0YSwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwKLTB4ODMsMHg3NCwweDgwLDB4ZjAsMHg3OCwweDhhLDB4ZWMsMHhmNiwweDdkLDB4MDAsMHg3OCwweDhkLDB4ZTYsMHgyYywweGY2LDB4MTgsCi0weGU2LDB4M2QsMHhmNiwweDc4LDB4OGMsMHhlNiwweGZkLDB4MDgsMHhlNiwweDdjLDB4MDMsMHhjZCwweGMzLDB4MTMsMHhjZCwweDEzLAotMHhkYywweGY5LDB4ZmMsMHg3OCwweDg5LDB4ZTYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4NGQsMHhmNSwweDgyLDB4ZTQsMHgzNCwKLTB4ZmYsMHhmNSwweDgzLDB4ZWMsMHhmMCwweDc4LDB4ODksMHhlNiwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHg0ZSwweGY1LDB4ODIsCi0weGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlNCwweGYwLDB4NzgsMHg4YywweGU2LDB4ZmQsMHgwOCwweGU2LDB4ZmMsMHg3OCwweDg5LAotMHhlNiwweGZmLDB4N2UsMHgwMCwweGVlLDB4MjQsMHhmYywweDUwLDB4MDMsMHgwMiwweDI0LDB4NmIsMHhlNCwweGVlLDB4NzUsMHhmMCwKLTB4MDcsMHhhNCwweDI0LDB4M2YsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZjLDB4ZjUsMHg4MywweGUwLDB4ZmYsMHhlNCwweGVmLDB4NTQsCi0weDgwLDB4ZmEsMHhlNCwweGVmLDB4NTQsMHgwZiwweDE0LDB4ZmYsMHhlNCwweGVlLDB4NzUsMHhmMCwweDA3LDB4YTQsMHgyNCwweDQxLAotMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZjLDB4ZjUsMHg4MywweGUwLDB4NzgsMHg4YSwweGY2LDB4ZWUsMHg3NSwweGYwLDB4ODAsMHhhNCwKLTB4MjQsMHgwOCwweGY4LDB4ZTUsMHhmMCwweDM0LDB4ZjgsMHhmOSwweGU4LDB4ZmMsMHhlOSwweGZkLDB4OGEsMHg1OSwweGVhLDB4NzAsCi0weDAzLDB4MDIsMHgyMywweGQ4LDB4ZTQsMHhlZiwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHg0OCwweGY1LDB4ODIsMHhlNCwweDM0LAotMHhmZiwweGY1LDB4ODMsMHhlNCwweGYwLDB4NzgsMHg4YSwweGU2LDB4ZmEsMHhlNCwweGVmLDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwKLTB4NGYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweGVhLDB4ZjAsMHhlZCwweGZiLDB4ZWMsMHg3YSwweDAzLDB4Y2IsCi0weGMzLDB4MTMsMHhjYiwweDEzLDB4ZGEsMHhmOSwweGZhLDB4ZTQsMHhlZiwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHg0OSwweGY1LAotMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlYSwweGYwLDB4NzgsMHg4YSwweGU2LDB4N2IsMHgwMCwweGZhLDB4ZWMsMHgyYSwKLTB4ZmMsMHhlZCwweDNiLDB4ZmQsMHhmYiwweGVjLDB4N2EsMHgwMywweGNiLDB4YzMsMHgxMywweGNiLDB4MTMsMHhkYSwweGY5LDB4ZmEsCi0weGU0LDB4ZWYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4NGQsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweGVhLAotMHhmMCwweGU0LDB4ZWYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4NGEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywKLTB4NzQsMHg4MCwweGYwLDB4ZTQsMHhlZiwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHg0ZSwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsCi0weGY1LDB4ODMsMHg3NCwweDgwLDB4ZjAsMHgwMiwweDI0LDB4NjcsMHhlNCwweGVmLDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDA4LAotMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweGU0LDB4ZjAsMHg3OCwweDhhLDB4ZTYsMHhmYSwweGU0LDB4ZWYsMHg3NSwKLTB4ZjAsMHgwOCwweGE0LDB4MjQsMHgwZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4ZWEsMHhmMCwweGVkLDB4ZmIsCi0weGVjLDB4N2EsMHgwMywweGNiLDB4YzMsMHgxMywweGNiLDB4MTMsMHhkYSwweGY5LDB4ZmEsMHhlNCwweGVmLDB4NzUsMHhmMCwweDA4LAotMHhhNCwweDI0LDB4MDksMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweGVhLDB4ZjAsMHg3OCwweDhhLDB4ZTYsMHg3YiwKLTB4MDAsMHhmYSwweGVjLDB4MmEsMHhmYywweGVkLDB4M2IsMHhmZCwweGZiLDB4ZWMsMHg3YSwweDAzLDB4Y2IsMHhjMywweDEzLDB4Y2IsCi0weDEzLDB4ZGEsMHhmOSwweGZhLDB4ZTQsMHhlZiwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHgwZCwweGY1LDB4ODIsMHhlNCwweDM0LAotMHhmZiwweGY1LDB4ODMsMHhlYSwweGYwLDB4ZTQsMHhlZiwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHgwYSwweGY1LDB4ODIsMHhlNCwKLTB4MzQsMHhmZiwweGY1LDB4ODMsMHhlNCwweGYwLDB4ZTQsMHhlZiwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHgwZSwweGY1LDB4ODIsCi0weGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlNCwweGYwLDB4MGUsMHgwMiwweDIyLDB4ZjQsMHg4ZSwweDU4LDB4NzgsMHg4YywweGVkLAotMHhmNiwweDA4LDB4ZWMsMHhmNiwweDc4LDB4ODksMHhlZiwweGY2LDB4MTIsMHgyMCwweGE0LDB4MjIsMHg4YywweDI2LDB4ZWMsMHgzMCwKLTB4ZTcsMHgxOCwweGU1LDB4MjYsMHg1NCwweDBmLDB4MTQsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4NDgsMHhmNSwweDgyLDB4ZTQsCi0weDM0LDB4ZmYsMHhmNSwweDgzLDB4ZTAsMHg1NCwweGRmLDB4ZjAsMHg4MCwweDE2LDB4ZTUsMHgyNiwweDU0LDB4MGYsMHgxNCwweDc1LAotMHhmMCwweDA4LDB4YTQsMHgyNCwweDA4LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlMCwweDU0LDB4ZGYsMHhmMCwKLTB4MjIsMHhlYywweDkwLDB4ZmQsMHgzZiwweGYwLDB4OGMsMHgyNCwweGVkLDB4MjQsMHgwMywweGY1LDB4MjUsMHg3ZCwweDAwLDB4ZDMsCi0weDk1LDB4NmMsMHhlZCwweDk1LDB4NmIsMHg0MCwweDAzLDB4ODUsMHg2YywweDI1LDB4ZTUsMHgyNSwweDI0LDB4YjcsMHg1MCwweDA5LAotMHg3NSwweDI1LDB4MDMsMHg3NCwweDAyLDB4OTAsMHhmZCwweDNmLDB4ZjAsMHhhYywweDI1LDB4MTIsMHgyZiwweGMzLDB4MjIsMHhlNCwKLTB4ZjUsMHg2NiwweGY1LDB4NjUsMHgxMiwweDI0LDB4ZTgsMHgyMiwweDkwLDB4ZmQsMHgzZCwweGUwLDB4NjUsMHg2ZCwweDYwLDB4MGUsCi0weDc0LDB4MDQsMHg5MCwweGZkLDB4M2YsMHhmMCwweGU0LDB4ZjUsMHg2NSwweDc1LDB4NjYsMHgwMywweDgwLDB4NDYsMHg3ZCwweDZkLAotMHhlNCwweGZlLDB4ZmYsMHg3OSwweDNkLDB4N2EsMHhmZCwweDdiLDB4MDEsMHg3NCwweDA1LDB4NzgsMHgwMCwweDEyLDB4MDMsMHgzZiwKLTB4ZTUsMHg2NiwweDI0LDB4MDMsMHhmNSwweDY2LDB4ZTUsMHg2NSwweDM0LDB4MDAsMHhmNSwweDY1LDB4ZTUsMHg2NiwweGQzLDB4OTUsCi0weDZjLDB4ZTUsMHg2NSwweDk1LDB4NmIsMHg0MCwweDA2LDB4ODUsMHg2YywweDY2LDB4ODUsMHg2YiwweDY1LDB4ZDMsMHhlNSwweDY2LAotMHg5NCwweDQ4LDB4ZTUsMHg2NSwweDk0LDB4MDAsMHg0MCwweDBjLDB4NzQsMHgwMiwweDkwLDB4ZmQsMHgzZiwweGYwLDB4ZTQsMHhmNSwKLTB4NjUsMHg3NSwweDY2LDB4MDMsMHhhYywweDY2LDB4MTIsMHgyZiwweGMzLDB4MjIsMHhlYywweDkwLDB4ZmQsMHgzZiwweGYwLDB4ZTQsCi0weGY1LDB4NjYsMHhmNSwweDY1LDB4OGMsMHgzMiwweGVjLDB4NjAsMHgwNSwweDEyLDB4MmYsMHhiNCwweDgwLDB4MDUsMHg3YywweDAwLAotMHgxMiwweDJmLDB4YzMsMHgyMiwweDkwLDB4ZmYsMHgwNCwweGUwLDB4ZjUsMHg0YSwweDkwLDB4ZmYsMHgwNiwweGUwLDB4ZmQsMHhhMywKLTB4ZTAsMHhlZCwweDdkLDB4MDAsMHhmYywweDdkLDB4MDAsMHhmYywweDkwLDB4ZmYsMHgwNiwweGUwLDB4ZmYsMHhhMywweGUwLDB4N2UsCi0weDAwLDB4ZmYsMHhlNCwweGZlLDB4ZWMsMHg0ZSwweGZjLDB4ZWQsMHg0ZiwweGZkLDB4YzMsMHhlYywweDk0LDB4NDgsMHhlZCwweDk0LAotMHgwMCwweDUwLDB4MjIsMHg5MCwweGZmLDB4MDYsMHhlMCwweGZkLDB4YTMsMHhlMCwweGVkLDB4N2QsMHgwMCwweGZjLDB4N2QsMHgwMCwKLTB4ZmMsMHg5MCwweGZmLDB4MDYsMHhlMCwweGZmLDB4YTMsMHhlMCwweDdlLDB4MDAsMHhmZiwweGU0LDB4ZmUsMHhlYywweDRlLDB4ZmMsCi0weGVkLDB4NGYsMHhmZCwweDgwLDB4MDQsMHhlNCwweGZkLDB4N2MsMHg0OCwweDhjLDB4NmMsMHg4ZCwweDZiLDB4OTAsMHhmZiwweDAyLAotMHhlMCwweGZkLDB4YTMsMHhlMCwweGVkLDB4N2QsMHgwMCwweGZjLDB4N2QsMHgwMCwweGZjLDB4OTAsMHhmZiwweDAyLDB4ZTAsMHhmZiwKLTB4YTMsMHhlMCwweDdlLDB4MDAsMHhmZiwweGU0LDB4ZmUsMHhlYywweDRlLDB4ZjUsMHg0YywweGVkLDB4NGYsMHhmNSwweDRiLDB4NzUsCi0weDY0LDB4M2QsMHg3NSwweDYzLDB4ZmQsMHg3NSwweDYyLDB4MDEsMHg3ZCwweDNkLDB4N2UsMHhmZCwweDdmLDB4MDEsMHg3OSwweDZkLAotMHhlNCwweGZhLDB4ZmIsMHg3NCwweDA1LDB4NzgsMHgwMCwweDEyLDB4MDMsMHgzZiwweDc1LDB4NDksMHgwMCwweGU1LDB4NDksMHgyNCwKLTB4ZmUsMHg0MCwweDE5LDB4YWQsMHg2NCwweGFlLDB4NjMsMHhhZiwweDYyLDB4ZTQsMHgxMiwweDAzLDB4MGYsMHgwNSwweDQ5LDB4MGQsCi0weGVkLDB4NzAsMHgwMSwweDBlLDB4OGQsMHg2NCwweDhlLDB4NjMsMHg4ZiwweDYyLDB4ODAsMHhlMSwweDc1LDB4NjQsMHgzZCwweDc1LAotMHg2MywweGZkLDB4NzUsMHg2MiwweDAxLDB4OTAsMHhmZiwweDAwLDB4ZTAsMHg1NCwweDYwLDB4YjQsMHgwMCwweDAyLDB4ODAsMHgwNiwKLTB4ZDMsMHg1MCwweDAzLDB4MDIsMHgyYywweDEyLDB4ZTUsMHg0YSwweDU0LDB4MGYsMHhmNSwweDQ5LDB4ZTUsMHg0YSwweDU0LDB4ODAsCi0weGEyLDB4ZTAsMHg5MiwweDAyLDB4OTAsMHhmZiwweDAxLDB4ZTAsMHgxMiwweDAxLDB4ODEsMHgwMCwweDBiLDB4MmMsMHgwZCwweDI2LAotMHg2NywweDI3LDB4ODUsMHgyYywweDBkLDB4MjgsMHg5MSwweDJjLDB4MGQsMHgyOSwweDc0LDB4MjksMHhhOCwweDJiLDB4MGYsMHgyYiwKLTB4MTIsMHgyYiwweDUyLDB4MmIsMHhiNiwweDJiLDB4ZTQsMHhlNSwweDY3LDB4MzAsMHhlNywweDBlLDB4ZTUsMHg0YywweDQ1LDB4NGIsCi0weDcwLDB4MDgsMHhlNSwweDZjLDB4NjQsMHgwMiwweDQ1LDB4NmIsMHg2MCwweDAzLDB4MDIsMHgyYywweDBmLDB4OTAsMHhmZiwweDAwLAotMHhlMCwweDU0LDB4MWYsMHhiNCwweDAwLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDI5LDB4ZTUsMHg0YSwweDYwLDB4MDMsMHgwMiwKLTB4MjcsMHg4MiwweGFkLDB4NjQsMHhhZSwweDYzLDB4YWYsMHg2MiwweDc0LDB4MDEsMHgxMiwweDAzLDB4MGYsMHg3OCwweGE3LDB4ZTYsCi0weDMwLDB4ZTAsMHgwYiwweGFkLDB4NjQsMHhhZSwweDYzLDB4YWYsMHg2MiwweDc0LDB4MDIsMHgxMiwweDAzLDB4MGYsMHg3YywweDAyLAotMHgxMiwweDJmLDB4YzMsMHgyMiwweGI0LDB4MDEsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MWIsMHhlNSwweDY3LDB4MjAsMHhlMSwKLTB4MDcsMHhlNSwweDRhLDB4NjAsMHgwMywweDAyLDB4MjcsMHg4MiwweGU1LDB4NGEsMHgyNCwweGZlLDB4NTAsMHgwMywweDAyLDB4MjcsCi0weDgyLDB4N2MsMHgwMiwweDEyLDB4MmYsMHhjMywweDIyLDB4YjQsMHgwMiwweDAyLDB4ODAsMHgwNiwweGQzLDB4NTAsMHgwMywweDAyLAotMHgyNywweDgwLDB4ZTUsMHg2NywweDIwLDB4ZTEsMHgwZCwweGU1LDB4NGEsMHg2MCwweDA5LDB4ZTUsMHg0YSwweDY0LDB4ODAsMHg2MCwKLTB4MDMsMHgwMiwweDI3LDB4ODIsMHhhYywweDRhLDB4MTIsMHgzMCwweDRhLDB4NDAsMHgwMywweDAyLDB4MjcsMHg4MiwweGU1LDB4NDksCi0weDcwLDB4MjUsMHgzMCwweDAyLDB4MTEsMHg5MCwweGZmLDB4ODAsMHhlMCwweDU0LDB4MDgsMHhhZCwweDY0LDB4YWUsMHg2MywweGFmLAotMHg2MiwweDEyLDB4MDMsMHgwZiwweDgwLDB4MGYsMHg5MCwweGZmLDB4ODIsMHhlMCwweDU0LDB4MDgsMHhhZCwweDY0LDB4YWUsMHg2MywKLTB4YWYsMHg2MiwweDEyLDB4MDMsMHgwZiwweDgwLDB4M2QsMHgxNSwweDQ5LDB4MzAsMHgwMiwweDFkLDB4ZTUsMHg0OSwweDc1LDB4ZjAsCi0weDA4LDB4YTQsMHgyNCwweDQ4LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlMCwweDU0LDB4MDgsMHhhZCwweDY0LAotMHhhZSwweDYzLDB4YWYsMHg2MiwweDEyLDB4MDMsMHgwZiwweDgwLDB4MWIsMHhlNSwweDQ5LDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwKLTB4MDgsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweGUwLDB4NTQsMHgwOCwweGFkLDB4NjQsMHhhZSwweDYzLDB4YWYsCi0weDYyLDB4MTIsMHgwMywweDBmLDB4YWQsMHg2NCwweGFlLDB4NjMsMHhhZiwweDYyLDB4MTIsMHgwMSwweGU2LDB4NjAsMHgwYiwweGFkLAotMHg2NCwweGFlLDB4NjMsMHhhZiwweDYyLDB4NzQsMHgwMSwweDEyLDB4MDMsMHgwZiwweDdjLDB4MDIsMHgxMiwweDJmLDB4YzMsMHgyMiwKLTB4ODAsMHgwMCwweDAyLDB4MmMsMHgwZiwweGU1LDB4NjcsMHgyMCwweGU3LDB4MDYsMHhlNSwweDZjLDB4NDUsMHg2YiwweDYwLDB4MDMsCi0weDAyLDB4MmMsMHgwZiwweDkwLDB4ZmYsMHgwMCwweGUwLDB4NTQsMHgxZiwweGI0LDB4MDAsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLAotMHgxYSwweGU1LDB4NGMsMHgxNCwweDQ1LDB4NGIsMHg3MCwweDA0LDB4ZTUsMHg0YSwweDYwLDB4MDMsMHgwMiwweDI4LDB4OGUsMHg3OCwKLTB4YTcsMHhlNiwweDU0LDB4ZmUsMHhmNiwweDdjLDB4MDAsMHgxMiwweDJmLDB4YzMsMHgyMiwweGI0LDB4MDEsMHgwMiwweDgwLDB4MDMsCi0weGQzLDB4NDAsMHgyYSwweGU1LDB4NjcsMHgyMCwweGUxLDB4MDgsMHhlNSwweDY3LDB4MjAsMHhlMCwweDAzLDB4MDIsMHgyOCwweDhlLAotMHhlNSwweDY3LDB4MzAsMHhlMCwweDA0LDB4ZTUsMHg0YSwweDcwLDB4MGIsMHhlNSwweDY3LDB4MzAsMHhlMSwweDA5LDB4ZTUsMHg0YSwKLTB4MjQsMHhmZSwweDUwLDB4MDMsMHgwMiwweDI4LDB4OGUsMHg3YywweDAwLDB4MTIsMHgyZiwweGMzLDB4MjIsMHhiNCwweDAyLDB4MDIsCi0weDgwLDB4MDYsMHhkMywweDUwLDB4MDMsMHgwMiwweDI4LDB4OGMsMHhlNSwweDRjLDB4NDUsMHg0YiwweDYwLDB4MDMsMHgwMiwweDI4LAotMHg4ZSwweGFjLDB4NGEsMHgxMiwweDMwLDB4NGEsMHg0MCwweDAzLDB4MDIsMHgyOCwweDhlLDB4ZTUsMHg2NywweDIwLDB4ZTEsMHgwNywKLTB4ZTUsMHg2NywweDIwLDB4ZTAsMHgwMiwweDgwLDB4NzcsMHhlNSwweDY3LDB4MzAsMHhlMCwweDA2LDB4ZTUsMHg0OSwweDYwLDB4MDIsCi0weDgwLDB4NmMsMHhlNSwweDQ5LDB4NzAsMHgwZiwweDkwLDB4ZmYsMHg4MiwweGUwLDB4NTQsMHhmNywweGYwLDB4OTAsMHhmZiwweDgwLAotMHhlMCwweDU0LDB4ZjcsMHhmMCwweDIyLDB4ZTUsMHg0OSwweGI0LDB4MDEsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MDksMHg3ZCwKLTB4MDEsMHg3YywweDAzLDB4MTIsMHgwZiwweDBiLDB4ODAsMHgxMSwweGI0LDB4MDIsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MDksCi0weDdkLDB4MDEsMHg3YywweDA0LDB4MTIsMHgwZiwweDBiLDB4ODAsMHgwMCwweDE1LDB4NDksMHgzMCwweDAyLDB4MTUsMHhlNSwweDQ5LAotMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4NDgsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweGUwLDB4NTQsMHhmNywKLTB4ZjAsMHg4MCwweDEzLDB4ZTUsMHg0OSwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHgwOCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsCi0weGY1LDB4ODMsMHhlMCwweDU0LDB4ZjcsMHhmMCwweDdjLDB4MDAsMHgxMiwweDJmLDB4YzMsMHgyMiwweDgwLDB4MDAsMHgwMiwweDJjLAotMHgwZiwweGU1LDB4NjcsMHgyMCwweGU3LDB4MDYsMHhlNSwweDZjLDB4NDUsMHg2YiwweDYwLDB4MDMsMHgwMiwweDJjLDB4MGYsMHg5MCwKLTB4ZmYsMHgwMCwweGUwLDB4NTQsMHgxZiwweGI0LDB4MDAsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MWEsMHhlNSwweDRjLDB4MTQsCi0weDQ1LDB4NGIsMHg3MCwweDA0LDB4ZTUsMHg0YSwweDYwLDB4MDMsMHgwMiwweDI5LDB4NzEsMHg3OCwweGE3LDB4ZTYsMHg0NCwweDAxLAotMHhmNiwweDdjLDB4MDAsMHgxMiwweDJmLDB4YzMsMHgyMiwweGI0LDB4MDEsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MjksMHhlNSwKLTB4NjcsMHgyMCwweGUxLDB4MDgsMHhlNSwweDY3LDB4MjAsMHhlMCwweDAzLDB4MDIsMHgyOSwweDcxLDB4ZTUsMHg2NywweDMwLDB4ZTAsCi0weDA0LDB4ZTUsMHg0OSwweDcwLDB4MGIsMHhlNSwweDY3LDB4MzAsMHhlMSwweDA4LDB4ZTUsMHg0OSwweDI0LDB4ZmUsMHg1MCwweDAyLAotMHg4MCwweDdmLDB4N2MsMHgwMCwweDEyLDB4MmYsMHhjMywweDIyLDB4YjQsMHgwMiwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHg2ZiwKLTB4ZTUsMHg0YywweDQ1LDB4NGIsMHg2MCwweDAyLDB4ODAsMHg2OSwweGFjLDB4NGEsMHgxMiwweDMwLDB4NGEsMHg0MCwweDAyLDB4ODAsCi0weDYwLDB4ZTUsMHg2NywweDIwLDB4ZTEsMHgwNywweGU1LDB4NjcsMHgyMCwweGUwLDB4MDIsMHg4MCwweDU0LDB4ZTUsMHg0OSwweDcwLAotMHgxNCwweDMwLDB4MDIsMHgwOSwweDkwLDB4ZmYsMHg4MCwweGUwLDB4NDQsMHgwOCwweGYwLDB4ODAsMHgwNywweDkwLDB4ZmYsMHg4MiwKLTB4ZTAsMHg0NCwweDA4LDB4ZjAsMHgyMiwweGU1LDB4NjcsMHgzMCwweGUxLDB4MzMsMHgxNSwweDQ5LDB4MzAsMHgwMiwweDE1LDB4ZTUsCi0weDQ5LDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDQ4LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlMCwweDQ0LAotMHgwOCwweGYwLDB4ODAsMHgxMywweGU1LDB4NDksMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4MDgsMHhmNSwweDgyLDB4ZTQsMHgzNCwKLTB4ZmYsMHhmNSwweDgzLDB4ZTAsMHg0NCwweDA4LDB4ZjAsMHg3YywweDAwLDB4MTIsMHgyZiwweGMzLDB4MjIsMHg4MCwweDAyLDB4ODAsCi0weDAwLDB4MDIsMHgyYywweDBmLDB4ZTUsMHg2NywweDIwLDB4ZTcsMHgxMiwweGU1LDB4NmMsMHg0NSwweDZiLDB4NzAsMHgwYywweGU1LAotMHg0YSwweDcwLDB4MDgsMHg5MCwweGZmLDB4MDAsMHhlMCwweDU0LDB4MWYsMHg2MCwweDAzLDB4MDIsMHgyYywweDBmLDB4ZTUsMHg0YywKLTB4OTAsMHhmZiwweGZmLDB4ZjAsMHg5MCwweGZmLDB4ZmYsMHhlMCwweDYwLDB4MDUsMHg0MywweDY3LDB4MDEsMHg4MCwweDAzLDB4NTMsCi0weDY3LDB4ZmUsMHg3YywweDAwLDB4MTIsMHgyZiwweGMzLDB4MjIsMHhlNSwweDY3LDB4MzAsMHhlNywweDBlLDB4ZTUsMHg2YywweDQ1LAotMHg2YiwweDYwLDB4MDgsMHg5MCwweGZmLDB4MDAsMHhlMCwweDU0LDB4MWYsMHg2MCwweDAzLDB4MDIsMHgyYywweDBmLDB4YWQsMHg0YiwKLTB4ZTUsMHg0YywweGVkLDB4N2QsMHgwMCwweGZjLDB4N2QsMHgwMCwweGZjLDB4YmQsMHgwMCwweDAyLDB4ODAsMHgwMywweDAyLDB4MmIsCi0weDBhLDB4YjQsMHgwMSwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgzMiwweGU1LDB4NGEsMHg3MCwweDA1LDB4ZTUsMHg0YywweGZjLAotMHg2MCwweDAzLDB4MDIsMHgyYiwweDBjLDB4NzUsMHg2NCwweDAwLDB4NzUsMHg2MywweGZjLDB4NzUsMHg2MiwweDAxLDB4ZDMsMHhlNSwKLTB4NmMsMHg5NCwweDEyLDB4ZTUsMHg2YiwweDk0LDB4MDAsMHg0MCwweDA2LDB4ZTQsMHhmZCwweDdjLDB4MTIsMHg4MCwweDA0LDB4YWMsCi0weDZjLDB4YWQsMHg2YiwweDhjLDB4NmEsMHg4ZCwweDY5LDB4MTIsMHgyZiwweGQ4LDB4MjIsMHhiNCwweDAyLDB4MDIsMHg4MCwweDAzLAotMHhkMywweDQwLDB4NTksMHhlNSwweDRhLDB4NjAsMHgwMywweDAyLDB4MmIsMHgwYywweGU1LDB4NGMsMHhmYywweDcwLDB4MjcsMHg3NSwKLTB4NjQsMHgxMiwweDc1LDB4NjMsMHhmYywweDc1LDB4NjIsMHgwMSwweGQzLDB4ZTUsMHg2YywweDk0LDB4MTksMHhlNSwweDZiLDB4OTQsCi0weDAwLDB4NDAsMHgwNiwweGU0LDB4ZmQsMHg3YywweDE5LDB4ODAsMHgwNCwweGFjLDB4NmMsMHhhZCwweDZiLDB4OGMsMHg2YSwweDhkLAotMHg2OSwweDEyLDB4MmYsMHhkOCwweDgwLDB4MjUsMHg3NSwweDY0LDB4MmIsMHg3NSwweDYzLDB4ZmMsMHg3NSwweDYyLDB4MDEsMHhkMywKLTB4ZTUsMHg2YywweDk0LDB4MzUsMHhlNSwweDZiLDB4OTQsMHgwMCwweDQwLDB4MDYsMHhlNCwweGZkLDB4N2MsMHgzNSwweDgwLDB4MDQsCi0weGFjLDB4NmMsMHhhZCwweDZiLDB4OGMsMHg2YSwweDhkLDB4NjksMHgxMiwweDJmLDB4ZDgsMHgyMiwweGI0LDB4MDMsMHgwMiwweDgwLAotMHgwNiwweGQzLDB4NTAsMHgwMywweDAyLDB4MmIsMHgwYSwweGU1LDB4NGMsMHhmNSwweDQ5LDB4NzAsMHgwZiwweDkwLDB4ZmYsMHgwNCwKLTB4ZTAsMHhmZCwweGEzLDB4ZTAsMHg0ZCwweDYwLDB4MDMsMHgwMiwweDJiLDB4MGMsMHg4MCwweDE4LDB4OTAsMHhmYywweDgyLDB4ZTAsCi0weGZkLDB4YTMsMHhlMCwweGZjLDB4OTAsMHhmZiwweDA1LDB4ZTAsMHg2YywweDcwLDB4MDcsMHg5MCwweGZmLDB4MDQsMHhlMCwweDZkLAotMHg2MCwweDAyLDB4ODAsMHg2OCwweGU0LDB4ZjUsMHg2YSwweGY1LDB4NjksMHg3ZiwweDAwLDB4ZTUsMHg0OSwweDE0LDB4YzUsMHg0OSwKLTB4NjAsMHgwZiwweGVmLDB4MjQsMHg4MCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmMsMHhmNSwweDgzLDB4ZTAsMHgyZiwweGZmLDB4ODAsCi0weGVhLDB4OGYsMHg0YSwweGU1LDB4NGEsMHgyNCwweDgwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmYywweGY1LDB4ODMsMHhlMCwweDdkLAotMHgwMCwweGQzLDB4OTUsMHg2YywweGVkLDB4OTUsMHg2YiwweDQwLDB4MDYsMHhhYywweDZjLDB4YWQsMHg2YiwweDgwLDB4MGYsMHhlNSwKLTB4NGEsMHgyNCwweDgwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmYywweGY1LDB4ODMsMHhlMCwweDdkLDB4MDAsMHhmYywweDhjLDB4NmEsCi0weDhkLDB4NjksMHhlNSwweDRhLDB4MjQsMHg4MCwweGZjLDB4ZTQsMHgzNCwweGZjLDB4ZmQsMHhmZSwweGVjLDB4ZmQsMHg3ZiwweDAxLAotMHg4ZCwweDY0LDB4OGUsMHg2MywweDhmLDB4NjIsMHgxMiwweDJmLDB4ZDgsMHgyMiwweDgwLDB4MDAsMHgwMiwweDJjLDB4MGYsMHgwMiwKLTB4MmMsMHgwZiwweGU1LDB4NjcsMHgzMCwweGU3LDB4MTksMHhlNSwweDZjLDB4MTQsMHg0NSwweDZiLDB4NzAsMHgxMiwweGU1LDB4NGEsCi0weDcwLDB4MGUsMHhlNSwweDRjLDB4NDUsMHg0YiwweDcwLDB4MDgsMHg5MCwweGZmLDB4MDAsMHhlMCwweDU0LDB4MWYsMHg2MCwweDAzLAotMHgwMiwweDJjLDB4MGYsMHhlNSwweDY3LDB4MjAsMHhlMCwweDA4LDB4ZTUsMHg2NywweDIwLDB4ZTEsMHgwMywweDAyLDB4MmMsMHgwZiwKLTB4NzUsMHg2NCwweDY4LDB4ZTQsMHhmNSwweDYzLDB4ZjUsMHg2MiwweGU0LDB4ZjUsMHg2OSwweDA0LDB4ZjUsMHg2YSwweDEyLDB4MmYsCi0weGQ4LDB4MjIsMHhlNSwweDY3LDB4MjAsMHhlNywweDI3LDB4ZTUsMHg2YywweDQ1LDB4NmIsMHg3MCwweDIxLDB4ZTUsMHg0YSwweDcwLAotMHgxZCwweGU1LDB4NGMsMHg2NCwweDAyLDB4NDUsMHg0YiwweDYwLDB4MGQsMHhlNSwweDRjLDB4MTQsMHg0NSwweDRiLDB4NjAsMHgwNiwKLTB4ZTUsMHg0YywweDQ1LDB4NGIsMHg3MCwweDA4LDB4OTAsMHhmZiwweDAwLDB4ZTAsMHg1NCwweDFmLDB4NjAsMHgwMywweDAyLDB4MmMsCi0weDBmLDB4ZTUsMHg2NywweDIwLDB4ZTAsMHgwOCwweGU1LDB4NjcsMHgyMCwweGUxLDB4MDMsMHgwMiwweDJjLDB4MGYsMHg4NSwweDRjLAotMHg2OCwweGU1LDB4NjgsMHg3MCwweDA4LDB4NDMsMHg2NywweDAxLDB4NTMsMHg2NywweGZkLDB4ODAsMHgxMywweGU1LDB4NjgsMHg2NCwKLTB4MDIsMHg2MCwweDA3LDB4ZTUsMHg2OCwweDE0LDB4NjAsMHgwMiwweDgwLDB4NjUsMHg1MywweDY3LDB4ZmUsMHg0MywweDY3LDB4MDIsCi0weDdjLDB4MDAsMHgxMiwweDJmLDB4YzMsMHgyMiwweGU1LDB4NjcsMHgzMCwweGU3LDB4MWEsMHhlNSwweDZjLDB4MTQsMHg0NSwweDZiLAotMHg3MCwweDEzLDB4ZTUsMHg0YSwweDcwLDB4MGYsMHhlNSwweDRjLDB4NDUsMHg0YiwweDcwLDB4MDksMHg5MCwweGZmLDB4MDAsMHhlMCwKLTB4NTQsMHgxZiwweDE0LDB4NjAsMHgwMiwweDgwLDB4MzgsMHhlNSwweDY3LDB4MjAsMHhlMSwweDAyLDB4ODAsMHgzMSwweDdjLDB4MDEsCi0weDEyLDB4MmYsMHhjMywweDIyLDB4ZTUsMHg2NywweDIwLDB4ZTcsMHgxNSwweGU1LDB4NmMsMHg0NSwweDZiLDB4NzAsMHgwZiwweGU1LAotMHg0YywweDQ1LDB4NGIsMHg3MCwweDA5LDB4OTAsMHhmZiwweDAwLDB4ZTAsMHg1NCwweDFmLDB4MTQsMHg2MCwweDAyLDB4ODAsMHgwZiwKLTB4ZTUsMHg2NywweDIwLDB4ZTEsMHgwMiwweDgwLDB4MDgsMHg3YywweDAwLDB4MTIsMHgyZiwweGMzLDB4MjIsMHg4MCwweDAwLDB4MDIsCi0weDJlLDB4Y2EsMHhiNCwweDQwLDB4MDIsMHg4MCwweDA2LDB4ZDMsMHg1MCwweDAzLDB4MDIsMHgyZSwweGMwLDB4OTAsMHhmZiwweDAxLAotMHhlMCwweDkwLDB4ZmQsMHgzZCwweGYwLDB4ZTUsMHg0YSwweDkwLDB4ZmQsMHgzZSwweGYwLDB4ZTQsMHg5MCwweGZkLDB4M2YsMHhmMCwKLTB4ZTUsMHg2NCwweDI0LDB4MDMsMHhmNSwweDY0LDB4ZTUsMHg2MywweDM0LDB4MDAsMHhmNSwweDYzLDB4YWQsMHg0YiwweGU1LDB4NGMsCi0weDg1LDB4NjQsMHg4MiwweDg1LDB4NjMsMHg4MywweGNkLDB4ZjAsMHhhMywweGNkLDB4ZjAsMHg5MCwweGZmLDB4MDEsMHhlMCwweDEyLAotMHgwMSwweGI3LDB4MmMsMHg3ZCwweDAxLDB4MmMsMHhhMywweDAyLDB4MmMsMHhjZCwweDAzLDB4MmMsMHhmNywweDA0LDB4MmQsMHg0NSwKLTB4MDUsMHgyZCwweDgyLDB4MDYsMHgyZCwweGE4LDB4MDcsMHgyZCwweGNlLDB4MDgsMHgyZCwweGY0LDB4MDksMHgyZSwweDFhLDB4MGIsCi0weDJlLDB4NDAsMHgwYywweDJlLDB4NGYsMHg4MCwweDJlLDB4NGYsMHg4MSwweDAwLDB4MDAsMHgyZSwweGFkLDB4ZTUsMHg2NywweDIwLAotMHhlNywweDA2LDB4N2MsMHgwNSwweDEyLDB4MjUsMHg0YSwweDIyLDB4N2QsMHhiNywweDdlLDB4MzQsMHg3ZiwweDAyLDB4NzksMHg0MCwKLTB4N2EsMHhmZCwweDdiLDB4MDEsMHg3NCwweDA4LDB4NzgsMHgwMCwweDEyLDB4MDMsMHgzZiwweDdkLDB4MDgsMHg3YywweDAwLDB4MTIsCi0weDI0LDB4YjEsMHgyMiwweGU1LDB4NjcsMHgyMCwweGU3LDB4MDYsMHg3YywweDA1LDB4MTIsMHgyNSwweDRhLDB4MjIsMHhlNSwweDRhLAotMHhiNCwweDAzLDB4MDAsMHg0MCwweDEwLDB4YjQsMHgwNSwweDAwLDB4NTAsMHgwYiwweGU1LDB4NGEsMHg3ZiwweDAwLDB4ZmUsMHg3YywKLTB4MTAsMHgxMiwweDMxLDB4OWEsMHgyMiwweDdkLDB4MDAsMHg3YywweDA3LDB4MTIsMHgyNCwweGIxLDB4MjIsMHhlNSwweDY3LDB4MjAsCi0weGU3LDB4MDYsMHg3YywweDA1LDB4MTIsMHgyNSwweDRhLDB4MjIsMHhlNSwweDRhLDB4YjQsMHgwMywweDAwLDB4NDAsMHgxMCwweGI0LAotMHgwNSwweDAwLDB4NTAsMHgwYiwweGU1LDB4NGEsMHg3ZiwweDAwLDB4ZmUsMHg3YywweDExLDB4MTIsMHgzMSwweDlhLDB4MjIsMHg3ZCwKLTB4MDAsMHg3YywweDA3LDB4MTIsMHgyNCwweGIxLDB4MjIsMHhlNSwweDY3LDB4MjAsMHhlNywweDA2LDB4N2MsMHgwNSwweDEyLDB4MjUsCi0weDRhLDB4MjIsMHhlNSwweDRhLDB4YjQsMHgwNSwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgwYSwweGU0LDB4ZmYsMHgwNCwweGZlLAotMHg3YywweDBhLDB4MTIsMHgzMSwweDlhLDB4MjIsMHhiNCwweDAxLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDBhLDB4ZTQsMHhmZiwKLTB4MDQsMHhmZSwweDdjLDB4MDgsMHgxMiwweDMxLDB4OWEsMHgyMiwweGI0LDB4MDMsMHgwMCwweDQwLDB4MTAsMHhiNCwweDA1LDB4MDAsCi0weDUwLDB4MGIsMHhlNSwweDRhLDB4N2YsMHgwMCwweGZlLDB4N2MsMHgxMywweDEyLDB4MzEsMHg5YSwweDIyLDB4N2QsMHgwMCwweDdjLAotMHgwNywweDEyLDB4MjQsMHhiMSwweDIyLDB4ZTUsMHg2NywweDIwLDB4ZTcsMHgzNCwweGQzLDB4ZTUsMHg2YywweDk0LDB4NDgsMHhlNSwKLTB4NmIsMHg5NCwweDAwLDB4NTAsMHgwNiwweGU1LDB4NmMsMHg0NSwweDZiLDB4NzAsMHgwNiwweDdjLDB4MDIsMHgxMiwweDI1LDB4NGEsCi0weDIyLDB4ZTUsMHg0YSwweGI0LDB4MDEsMHgwMywweGIzLDB4NDAsMHgwYiwweGMzLDB4YjQsMHgwMywweDAwLDB4NDAsMHgwOSwweGI0LAotMHgwNiwweDAwLDB4NTAsMHgwNCwweDEyLDB4MzAsMHg3MCwweDIyLDB4N2MsMHgwNywweDEyLDB4MjUsMHg0YSwweDIyLDB4MTIsMHgyNCwKLTB4ZTgsMHgyMiwweGU1LDB4NjcsMHgyMCwweGU3LDB4MWQsMHhlNSwweDRhLDB4YjQsMHgwMywweDAwLDB4NDAsMHgxMCwweGI0LDB4MDUsCi0weDAwLDB4NTAsMHgwYiwweGU1LDB4NGEsMHg3ZiwweDAwLDB4ZmUsMHg3YywweDE2LDB4MTIsMHgzMSwweDlhLDB4MjIsMHg3YywweDA3LAotMHgxMiwweDI1LDB4NGEsMHgyMiwweDEyLDB4MjQsMHhlOCwweDIyLDB4ZTUsMHg2NywweDIwLDB4ZTcsMHgxZCwweGU1LDB4NGEsMHhiNCwKLTB4MDMsMHgwMCwweDQwLDB4MTAsMHhiNCwweDA1LDB4MDAsMHg1MCwweDBiLDB4ZTUsMHg0YSwweDdmLDB4MDAsMHhmZSwweDdjLDB4MTksCi0weDEyLDB4MzEsMHg5YSwweDIyLDB4N2MsMHgwNywweDEyLDB4MjUsMHg0YSwweDIyLDB4MTIsMHgyNCwweGU4LDB4MjIsMHhlNSwweDY3LAotMHgyMCwweGU3LDB4MWQsMHhlNSwweDRhLDB4YjQsMHgwMywweDAwLDB4NDAsMHgxMCwweGI0LDB4MDUsMHgwMCwweDUwLDB4MGIsMHhlNSwKLTB4NGEsMHg3ZiwweDAwLDB4ZmUsMHg3YywweDE3LDB4MTIsMHgzMSwweDlhLDB4MjIsMHg3YywweDA3LDB4MTIsMHgyNSwweDRhLDB4MjIsCi0weDEyLDB4MjQsMHhlOCwweDIyLDB4ZTUsMHg2NywweDIwLDB4ZTcsMHgxZCwweGU1LDB4NGEsMHhiNCwweDAzLDB4MDAsMHg0MCwweDEwLAotMHhiNCwweDA1LDB4MDAsMHg1MCwweDBiLDB4ZTUsMHg0YSwweDdmLDB4MDAsMHhmZSwweDdjLDB4MTgsMHgxMiwweDMxLDB4OWEsMHgyMiwKLTB4N2MsMHgwNywweDEyLDB4MjUsMHg0YSwweDIyLDB4MTIsMHgyNCwweGU4LDB4MjIsMHhlNSwweDY3LDB4MjAsMHhlNywweDFkLDB4ZTUsCi0weDRhLDB4YjQsMHgwMywweDAwLDB4NDAsMHgxMCwweGI0LDB4MDUsMHgwMCwweDUwLDB4MGIsMHhlNSwweDRhLDB4N2YsMHgwMCwweGZlLAotMHg3YywweDE1LDB4MTIsMHgzMSwweDlhLDB4MjIsMHg3YywweDA3LDB4MTIsMHgyNSwweDRhLDB4MjIsMHgxMiwweDI0LDB4ZTgsMHgyMiwKLTB4ZTUsMHg2NywweDIwLDB4ZTcsMHgwNiwweDdjLDB4MDcsMHgxMiwweDI1LDB4NGEsMHgyMiwweDEyLDB4MjQsMHhlOCwweDIyLDB4ZTUsCi0weDY3LDB4MzAsMHhlNywweDIwLDB4OTAsMHhmZiwweDAwLDB4ZTAsMHg1NCwweDFmLDB4NzAsMHgxMCwweDkwLDB4ZmYsMHgwMSwweGUwLAotMHhiNCwweDgwLDB4MDUsMHgxMiwweDI0LDB4ZGYsMHg4MCwweDAzLDB4MTIsMHgyNCwweGU4LDB4MjIsMHg3ZCwweDAwLDB4N2MsMHgwNSwKLTB4MTIsMHgyNCwweGIxLDB4MjIsMHg5MCwweGZmLDB4MDAsMHhlMCwweDU0LDB4MWYsMHg2MCwweDA2LDB4N2MsMHgwNSwweDEyLDB4MjUsCi0weDRhLDB4MjIsMHhkMywweGU1LDB4NmMsMHg5NCwweDQ4LDB4ZTUsMHg2YiwweDk0LDB4MDAsMHg1MCwweDBiLDB4YzMsMHhlNSwweDZjLAotMHg5NCwweDA3LDB4ZTUsMHg2YiwweDk0LDB4MDAsMHg1MCwweDA2LDB4N2MsMHgwMywweDEyLDB4MjUsMHg0YSwweDIyLDB4ZTUsMHg0YSwKLTB4YjQsMHgwNSwweDA0LDB4MTIsMHgzMCwweDcwLDB4MjIsMHg3YywweDA3LDB4MTIsMHgyNSwweDRhLDB4MjIsMHhlNSwweDY3LDB4MzAsCi0weGU3LDB4MDgsMHg3ZCwweDAwLDB4N2MsMHgwNSwweDEyLDB4MjQsMHhiMSwweDIyLDB4N2MsMHgwNSwweDEyLDB4MjUsMHg0YSwweDIyLAotMHhiNCwweDIwLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDAwLDB4ODAsMHgwMCwweDEyLDB4MmYsMHg5ZSwweDIyLDB4NzUsMHg0MywKLTB4MDAsMHg5MCwweGZmLDB4ODMsMHhlMCwweDU0LDB4MGYsMHhkMywweDk1LDB4NDMsMHg0MCwweDI0LDB4ZTUsMHg0MywweDI0LDB4ZjAsCi0weGY1LDB4ODIsMHhlNCwweDM0LDB4ZmUsMHhmNSwweDgzLDB4ZTAsMHhhZCwweDY0LDB4YWUsMHg2MywweGFmLDB4NjIsMHgxMiwweDAzLAotMHgwZiwweDA1LDB4NDMsMHgwZCwweGVkLDB4NzAsMHgwMSwweDBlLDB4OGQsMHg2NCwweDhlLDB4NjMsMHg4ZiwweDYyLDB4ODAsMHhkMSwKLTB4ZTUsMHg0MywweDdkLDB4MDAsMHhmYywweGMzLDB4ZTUsMHg2YSwweDljLDB4ZjUsMHg2YSwweGU1LDB4NjksMHg5ZCwweGY1LDB4NjksCi0weGU1LDB4NmEsMHg0NSwweDY5LDB4NjAsMHgwNiwweGU0LDB4OTAsMHhmZiwweDgzLDB4ZjAsMHgyMiwweDkwLDB4ZmYsMHg4MiwweGUwLAotMHg0NCwweDA4LDB4ZjAsMHhlNCwweGY1LDB4NjksMHg3NSwweDZhLDB4NDksMHg5MCwweGZkLDB4M2QsMHhlMCwweGI0LDB4MDUsMHgwMiwKLTB4ODAsMHgwMywweGQzLDB4NDAsMHg0MCwweDkwLDB4ZmQsMHgzZSwweGUwLDB4ZjUsMHg0MywweGI0LDB4MDUsMHgwMiwweDgwLDB4MDMsCi0weGQzLDB4NDAsMHgwYSwweGU0LDB4ZmYsMHgwNCwweGZlLDB4N2MsMHgwYiwweDEyLDB4MzEsMHg5YSwweDIyLDB4YjQsMHgwMSwweDAyLAotMHg4MCwweDAzLDB4ZDMsMHg0MCwweDBhLDB4ZTQsMHhmZiwweDA0LDB4ZmUsMHg3YywweDA5LDB4MTIsMHgzMSwweDlhLDB4MjIsMHhiNCwKLTB4MDMsMHgwMCwweDQwLDB4MTAsMHhiNCwweDA1LDB4MDAsMHg1MCwweDBiLDB4ZTUsMHg0MywweDdmLDB4MDAsMHhmZSwweDdjLDB4MTQsCi0weDEyLDB4MzEsMHg5YSwweDIyLDB4MjIsMHhiNCwweDgwLDB4MDAsMHg0MCwweDIzLDB4YjQsMHg4MiwweDAwLDB4NTAsMHgxZSwweDdjLAotMHgzZCwweDdkLDB4ZmQsMHgxMiwweDE3LDB4ZDUsMHg3ZCwweDAwLDB4OGMsMHg2NiwweDhkLDB4NjUsMHg5MCwweGZkLDB4M2YsMHhlMCwKLTB4NjAsMHgwNSwweDEyLDB4MmYsMHg5ZSwweDgwLDB4MDUsMHg3YywweDAwLDB4MTIsMHgyZiwweGMzLDB4MjIsMHgyMiwweDkwLDB4ZmYsCi0weDgzLDB4ZTAsMHg1NCwweDdmLDB4ZjAsMHg5MCwweGZmLDB4ODIsMHhlMCwweDQ0LDB4MDgsMHhmMCwweDkwLDB4ZmYsMHg4MCwweGUwLAotMHg0NCwweDA4LDB4ZjAsMHgyMiwweDkwLDB4ZmYsMHg4MiwweGUwLDB4NDQsMHgwOCwweGYwLDB4OTAsMHhmZiwweDgwLDB4ZTAsMHg0NCwKLTB4MDgsMHhmMCwweDIyLDB4OGMsMHgyMywweDdkLDB4MDAsMHg4YywweDZhLDB4OGQsMHg2OSwweDc1LDB4NjQsMHgzZCwweDc1LDB4NjMsCi0weGZkLDB4NzUsMHg2MiwweDAxLDB4MTIsMHgyZiwweGQ4LDB4MjIsMHg5MCwweGZmLDB4ODMsMHhlMCwweDU0LDB4N2YsMHhmMCwweGU1LAotMHg2YSwweDY0LDB4NDksMHg0NSwweDY5LDB4NzAsMHgwMSwweDIyLDB4YzMsMHhlNSwweDZhLDB4OTQsMHgwOCwweGU1LDB4NjksMHg5NCwKLTB4MDAsMHg0MCwweDE1LDB4NzUsMHgyMSwweDA4LDB4ZTUsMHgyMSwweDdkLDB4MDAsMHhmYywweGMzLDB4ZTUsMHg2YSwweDljLDB4ZjUsCi0weDZhLDB4ZTUsMHg2OSwweDlkLDB4ZjUsMHg2OSwweDgwLDB4MDksMHg4NSwweDZhLDB4MjEsMHhlNCwweGY1LDB4NjksMHg3NSwweDZhLAotMHg0OSwweDc1LDB4MjIsMHgwMCwweGU1LDB4MjIsMHhjMywweDk1LDB4MjEsMHg1MCwweDI2LDB4YWQsMHg2NCwweGFlLDB4NjMsMHhhZiwKLTB4NjIsMHgxMiwweDAxLDB4ZTYsMHhmYywweGU1LDB4MjIsMHgyNCwweGY4LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZSwweGY1LDB4ODMsCi0weGVjLDB4ZjAsMHgwNSwweDIyLDB4MGQsMHhlZCwweDcwLDB4MDEsMHgwZSwweDhkLDB4NjQsMHg4ZSwweDYzLDB4OGYsMHg2MiwweDgwLAotMHhkMywweGU1LDB4MjEsMHg1NCwweDdmLDB4OTAsMHhmZiwweDgxLDB4ZjAsMHgyMiwweDhjLDB4NDgsMHg3ZiwweDAwLDB4ZWYsMHgyNCwKLTB4ZmIsMHg0MCwweDE5LDB4ZTQsMHhlZiwweDc1LDB4ZjAsMHgwNywweGE0LDB4MjQsMHgzZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmMsCi0weGY1LDB4ODMsMHhlMCwweDY1LDB4NDgsMHg3MCwweDAyLDB4ZDMsMHgyMiwweDBmLDB4ODAsMHhlMiwweDhmLDB4NDcsMHhjMywweDIyLAotMHg4NSwweDZjLDB4NmEsMHg4NSwweDZiLDB4NjksMHg5MCwweGZmLDB4ODIsMHhlMCwweDU0LDB4ZjcsMHhmMCwweDkwLDB4ZmYsMHg4MywKLTB4ZTAsMHg1NCwweDdmLDB4ZjAsMHgyMiwweGMwLDB4MDAsMHhjMCwweDAxLDB4YzAsMHgwMiwweGMwLDB4MDYsMHhjMCwweDA3LDB4ZTUsCi0weDcyLDB4MjQsMHgwOCwweGY4LDB4ODYsMHgwNiwweDUzLDB4MDYsMHg3ZiwweDdjLDB4ZmYsMHgxMiwweDMwLDB4ZmEsMHg3YywweDAwLAotMHg3ZCwweDAwLDB4ZTUsMHg3NSwweDYwLDB4NDYsMHhmZiwweDkwLDB4ZmUsMHg5ZCwweGUwLDB4NTQsMHg3ZiwweDZlLDB4NzAsMHgwZiwKLTB4YzAsMHg4MywweGMwLDB4ODIsMHhhMywweGUwLDB4ZmQsMHhhMywweGUwLDB4ZmMsMHhhMywweDE1LDB4NzUsMHg4MCwweDA3LDB4YTMsCi0weGEzLDB4YTMsMHhkZiwweGU2LDB4ODAsMHgyNiwweGRmLDB4MDYsMHhkMCwweDgyLDB4ZDAsMHg4MywweDgwLDB4MWUsMHhlMCwweGY4LAotMHhhMywweGUwLDB4ZjksMHhhMywweGUwLDB4ZmEsMHhkMCwweDgyLDB4ZDAsMHg4MywweGU4LDB4ZjAsMHhhMywweGU5LDB4ZjAsMHhhMywKLTB4ZWEsMHhmMCwweGEzLDB4YzAsMHg4MywweGMwLDB4ODIsMHhhMywweGEzLDB4YTMsMHg4MCwweGRhLDB4MTIsMHgzMSwweDkzLDB4ZDAsCi0weDA3LDB4ZDAsMHgwNiwweGQwLDB4MDIsMHhkMCwweDAxLDB4ZDAsMHgwMCwweDIyLDB4ODUsMHhhOCwweDc0LDB4NzUsMHhhOCwweDg4LAotMHhlYywweDcwLDB4MDIsMHg3YywweDNmLDB4OGMsMHg3MywweDIyLDB4ZTUsMHg3MiwweDI0LDB4MDgsMHhmOCwweDc2LDB4MDAsMHgxMiwKLTB4MzEsMHhlNywweDgwLDB4ZmIsMHhjMCwweDAwLDB4YzAsMHgwMSwweGMwLDB4MDIsMHhjMCwweDA2LDB4YzAsMHgwNywweGFlLDB4MDQsCi0weDdjLDB4ZmYsMHgxMiwweDMwLDB4ZmEsMHhlNSwweDc1LDB4NjAsMHg0MiwweGZmLDB4OTAsMHhmZSwweDlkLDB4ZTAsMHg1NCwweDdmLAotMHg2ZSwweDcwLDB4MGIsMHhjMCwweDgzLDB4YzAsMHg4MiwweGEzLDB4YTMsMHhhMywweDE1LDB4NzUsMHg4MCwweDA3LDB4YTMsMHhhMywKLTB4YTMsMHhkZiwweGVhLDB4ODAsMHgyNiwweGRmLDB4MDYsMHhkMCwweDgyLDB4ZDAsMHg4MywweDgwLDB4ZDgsMHhlMCwweGY4LDB4YTMsCi0weGUwLDB4ZjksMHhhMywweGUwLDB4ZmEsMHhkMCwweDgyLDB4ZDAsMHg4MywweGU4LDB4ZjAsMHhhMywweGU5LDB4ZjAsMHhhMywweGVhLAotMHhmMCwweGEzLDB4YzAsMHg4MywweGMwLDB4ODIsMHhhMywweGEzLDB4YTMsMHg4MCwweGRhLDB4NzgsMHgwOCwweDA4LDB4NzksMHgxOCwKLTB4MDksMHg3YywweDAxLDB4ZTYsMHg1NCwweDdmLDB4NmUsMHg3MCwweDA2LDB4NzYsMHgwMCwweDc3LDB4MDAsMHg4MCwweDA2LDB4MDgsCi0weDA5LDB4MGMsMHhiYywweDA4LDB4ZWUsMHgxMiwweDMxLDB4OTMsMHhkMCwweDA3LDB4ZDAsMHgwNiwweGQwLDB4MDIsMHhkMCwweDAxLAotMHhkMCwweDAwLDB4MjIsMHg3NSwweDczLDB4MDAsMHg4NSwweDc0LDB4YTgsMHgyMiwweGMwLDB4ZjAsMHhjMCwweDgyLDB4YzAsMHg4MywKLTB4YzMsMHhlNSwweDc1LDB4MjQsMHhlOCwweDUwLDB4MDUsMHgxMiwweDMxLDB4ZTcsMHg4MCwweGY0LDB4ZWMsMHg2MCwweDMxLDB4OTAsCi0weDM0LDB4YjYsMHhlNCwweDkzLDB4YzMsMHg5YywweDQwLDB4MjgsMHhjMCwweDA0LDB4N2MsMHhmZiwweDEyLDB4MzAsMHhmYSwweGQwLAotMHgwNCwweDQzLDB4MDQsMHg4MCwweGU1LDB4NzUsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4OWQsMHhmNSwweDgyLDB4ZTQsMHgzNCwKLTB4ZmUsMHhmNSwweDgzLDB4ZWMsMHhmMCwweGVmLDB4YTMsMHhmMCwweGVlLDB4YTMsMHhmMCwweDA1LDB4NzUsMHgxMiwweDMxLDB4OTMsCi0weGQwLDB4ODMsMHhkMCwweDgyLDB4ZDAsMHhmMCwweDIyLDB4YzAsMHgwNCwweDdjLDB4MjAsMHhkMiwweDhjLDB4ZDIsMHg4ZCwweGQ1LAotMHgwNCwweGZkLDB4ZDAsMHgwNCwweDIyLDB4NzUsMHhhOCwweDAwLDB4NzUsMHg4OCwweDAwLDB4NzUsMHhiOCwweDAwLDB4NzUsMHhmMCwKLTB4MDAsMHg3NSwweGQwLDB4MDAsMHhlNCwweGY4LDB4OTAsMHgwMCwweDAwLDB4ZjYsMHgwOCwweGI4LDB4MDAsMHhmYiwweDAyLDB4MDAsCi0weDAwLDB4YzMsMHhlZCwweDk0LDB4MDIsMHg1MCwweDA0LDB4N2QsMHgwMywweDdjLDB4ZTgsMHhlYywweGY0LDB4ZmMsMHhlZCwweGY0LAotMHhmZCwweDBjLDB4YmMsMHgwMCwweDAxLDB4MGQsMHg4YywweDc5LDB4OGQsMHg3OCwweDIyLDB4YzMsMHhlYywweDk0LDB4YmMsMHhlZCwKLTB4OTQsMHgwMiwweDUwLDB4MDQsMHg3ZCwweDA3LDB4N2MsMHhkMCwweGVjLDB4ZjQsMHhmYywweGVkLDB4ZjQsMHhmZCwweDBjLDB4YmMsCi0weDAwLDB4MDEsMHgwZCwweDhjLDB4NzcsMHg4ZCwweDc2LDB4MjIsMHhlYywweDcwLDB4MDEsMHgyMiwweGMwLDB4MDAsMHhlNSwweDcyLAotMHgyNCwweDE4LDB4ZjgsMHhhNiwweDA0LDB4ZTUsMHg3MiwweDI0LDB4MDgsMHhmOCwweGM2LDB4NTQsMHg3ZiwweGY2LDB4ZTYsMHgzMCwKLTB4ZTcsMHgwMywweGQwLDB4MDAsMHgyMiwweDEyLDB4MzEsMHhlNywweDgwLDB4ZjQsMHhjMiwweDhjLDB4ODUsMHg3NiwweDhjLDB4ODUsCi0weDc3LDB4OGEsMHhkMiwweDhjLDB4YzAsMHhlMCwweGMwLDB4ZDAsMHhjMCwweGYwLDB4YzAsMHg4MiwweGMwLDB4ODMsMHhjMCwweDAwLAotMHhjMCwweDAxLDB4YzAsMHgwMiwweGMwLDB4MDMsMHhjMCwweDA0LDB4YzAsMHgwNSwweGMwLDB4MDYsMHhjMCwweDA3LDB4MTIsMHgxYiwKLTB4MjgsMHhlNSwweDcyLDB4MjQsMHgwOCwweGY4LDB4ZTYsMHg2MCwweDI0LDB4ZTUsMHg3MiwweDI0LDB4MTAsMHhmOCwweGE2LDB4ODEsCi0weGU1LDB4NzIsMHg3NSwweGYwLDB4MjEsMHhhNCwweDI0LDB4OTUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZkLDB4ZjUsMHg4MywweDc4LAotMHhhOCwweGU1LDB4ODEsMHgwNCwweGMzLDB4OTgsMHhmOSwweGU2LDB4ZjAsMHgwOCwweGEzLDB4ZDksMHhmYSwweDc0LDB4MDgsMHgyNSwKLTB4NzIsMHhmOCwweDA1LDB4NzIsMHgwOCwweGU2LDB4NTQsMHg4MCwweDcwLDB4MGMsMHhlNSwweDcyLDB4YjQsMHgwNywweGYzLDB4NzgsCi0weDA4LDB4NzUsMHg3MiwweDAwLDB4ODAsMHhlZiwweGU1LDB4NzIsMHgyNCwweDEwLDB4ZjgsMHg4NiwweDgxLDB4ZTUsMHg3MiwweDc1LAotMHhmMCwweDIxLDB4YTQsMHgyNCwweDk1LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZCwweGY1LDB4ODMsMHg3OCwweGE4LDB4ZTUsMHg4MSwKLTB4MDQsMHhjMywweDk4LDB4ZjksMHhlMCwweGY2LDB4MDgsMHhhMywweGQ5LDB4ZmEsMHhkMCwweDA3LDB4ZDAsMHgwNiwweGQwLDB4MDUsCi0weGQwLDB4MDQsMHhkMCwweDAzLDB4ZDAsMHgwMiwweGQwLDB4MDEsMHhkMCwweDAwLDB4ZDAsMHg4MywweGQwLDB4ODIsMHhkMCwweGYwLAotMHhkMCwweGQwLDB4ZDAsMHhlMCwweDMyLDB4YzAsMHhlMCwweGMwLDB4ZDAsMHhjMCwweDAwLDB4YzAsMHgwMSwweGMwLDB4MDIsMHhjMiwKLTB4OGUsMHg4NSwweDc4LDB4OGQsMHg4NSwweDc5LDB4OGIsMHhkMiwweDhlLDB4NzgsMHgxOSwweDc5LDB4MDksMHg3YSwweDA3LDB4ZTcsCi0weDcwLDB4MDQsMHhhNiwweDAwLDB4ODAsMHgwYiwweGU2LDB4NjAsMHgwOCwweDE2LDB4ZTYsMHg3MCwweDA0LDB4ZTcsMHg0NCwweDgwLAotMHhmNywweDA4LDB4MDksMHhkYSwweGVhLDB4ZTUsMHg3MywweDYwLDB4MTMsMHgxNCwweGY1LDB4NzMsMHg3MCwweDBlLDB4ZTUsMHg3MiwKLTB4MjQsMHgwOCwweGY4LDB4NzYsMHgwMCwweDEyLDB4MzEsMHg5MywweGQyLDB4OGMsMHhkMiwweDhkLDB4ZDAsMHgwMiwweGQwLDB4MDEsCi0weGQwLDB4MDAsMHhkMCwweGQwLDB4ZDAsMHhlMCwweDMyLDB4NzUsMHg4MSwweGE3LDB4NzUsMHg5MCwweDAwLDB4NzUsMHg3OSwweDMwLAotMHg3NSwweDc4LDB4ZjgsMHg3NSwweDc3LDB4NjAsMHg3NSwweDc2LDB4ZjAsMHgxMiwweDA1LDB4M2MsMHgxMiwweDM0LDB4MGYsMHgxMiwKLTB4MTcsMHg4YiwweDEyLDB4MzQsMHgzOSwweDEyLDB4MzEsMHhmNSwweDgwLDB4ZTMsMHgyMiwweGMwLDB4MDAsMHg3YywweDAxLDB4ZWMsCi0weDI0LDB4MDgsMHhmOCwweGU2LDB4NjAsMHgwOSwweDBjLDB4YmMsMHgwOCwweGY1LDB4MTIsMHgzMSwweGU3LDB4ODAsMHhlZSwweGQwLAotMHgwMCwweDIyLDB4YzAsMHhmMCwweGMwLDB4ODIsMHhjMCwweDgzLDB4YzAsMHgwMCwweGMwLDB4MDYsMHhjMCwweDA3LDB4ZWQsMHgyNCwKLTB4MTAsMHhmOCwweDc2LDB4YjYsMHhlZCwweDc1LDB4ZjAsMHgyMSwweGE0LDB4MjQsMHg5NSwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmQsCi0weGY1LDB4ODMsMHhjMCwweDgyLDB4YzAsMHg4MywweGEzLDB4YTMsMHhlNCwweDc4LDB4MGQsMHhmMCwweGEzLDB4ZDgsMHhmYywweGVjLAotMHg1NCwweDdmLDB4NzUsMHhmMCwweDAyLDB4YTQsMHgyNCwweDgyLDB4ZjUsMHg4MiwweGU1LDB4ZjAsMHgzNCwweDM0LDB4ZjUsMHg4MywKLTB4ZTQsMHg5MywweGZlLDB4NzQsMHgwMSwweDkzLDB4ZjUsMHg4MiwweDhlLDB4ODMsMHhlNCwweDkzLDB4ZmUsMHg3NCwweDAxLDB4OTMsCi0weGZmLDB4ZDAsMHg4MywweGQwLDB4ODIsMHhlZiwweGYwLDB4YTMsMHhlZSwweGYwLDB4ZWQsMHgyNCwweDA4LDB4ZjgsMHhlYywweDQ0LAotMHg4MCwweGY2LDB4ZDAsMHgwNywweGQwLDB4MDYsMHhkMCwweDAwLDB4ZDAsMHg4MywweGQwLDB4ODIsMHhkMCwweGYwLDB4MjIsMHg3NSwKLTB4NzIsMHgwMCwweDc1LDB4NzUsMHgwMCwweDdhLDB4MDgsMHg3OSwweDE4LDB4NzgsMHgwOCwweDc2LDB4MDAsMHg3NywweDAwLDB4MDgsCi0weDA5LDB4ZGEsMHhmOCwweGU0LDB4NzgsMHgwOCwweDc0LDB4ODAsMHg0NCwweDdmLDB4ZjYsMHg3NCwweDAxLDB4NDQsMHgxMCwweGY1LAotMHg4OSwweDc1LDB4YjgsMHgwOCwweGQyLDB4YWIsMHhkMiwweGE5LDB4MjIsMHg3NSwweDgxLDB4YTcsMHhkMiwweDhlLDB4ZDIsMHg4YywKLTB4ZDIsMHhhZiwweGU1LDB4NzUsMHg2MCwweDMyLDB4ZmYsMHg5MCwweGZlLDB4OWQsMHhlMCwweDU0LDB4ODAsMHg2MCwweDI0LDB4NzgsCi0weDA4LDB4NzksMHgwOCwweGUwLDB4NTQsMHg3ZiwweGZhLDB4N2IsMHgwMCwweGU2LDB4NTQsMHg3ZiwweGI1LDB4MDIsMHgwMiwweDdiLAotMHhmZiwweDA4LDB4ZDksMHhmNSwweGViLDB4NzAsMHgwYywweGVhLDB4ZjAsMHgxMiwweDMzLDB4OGIsMHhhZCwweDA0LDB4YWMsMHgwMiwKLTB4MTIsMHgzMywweGEyLDB4YTMsMHhhMywweGEzLDB4ZGYsMHhkMiwweDEyLDB4MzEsMHhlNywweDgwLDB4YzUsMHg3YywweDAxLDB4N2QsCi0weDAwLDB4MjIsMHgwNCwweGY1LDB4MDQsMHhlOSwweDA0LDB4ZWQsMHgwNCwweGUxLDB4MDQsMHhkZCwweDA0LDB4ZDksMHgwNCwweGU1LAotMHgwNCwweGYxLDB4MDQsMHg5ZCwweDA0LDB4YTEsMHgwNCwweGNkLDB4MDQsMHhkMSwweDA0LDB4OTksMHgwNCwweDk5LDB4MDQsMHg5OSwKLTB4MDQsMHhkNSwweDA0LDB4YjUsMHgwNCwweGFkLDB4MDQsMHhiMSwweDA0LDB4YTksMHgwNCwweGMxLDB4MDQsMHhiZCwweDA0LDB4YjksCi0weDA0LDB4YzUsMHgwNCwweGM5LDB4MDQsMHhhNSwweDE5LDB4MDEsMHgwMywweDAwLDB4MjIsMHgwMCwweDQ4LDB4MDIsMHgwMCwweDI0LAotMHgwZiwweDE4LDB4MGEsMHgxMCwweDY0LDB4MGQsMHg2OCwweDBjLDB4MDUsMHgwNiwweDAyLDB4MDMsMHgwMSwweDAxLDB4ODEsMHgwMSwKLTB4MDAsMHgwMCwweGU3LDB4MDAsMHhjMCwweDAwLDB4ODAsMHgwMCwweDYwLDB4MDAsMHg0MCwweDAwLDB4MzAsMHgwMCwweDE4LDB4MDAsCi0weDBjLDB4MDAsMHgwOCwweDAwLDB4MDQsMHgwMCwweDAyLDB4MDAsMHgwMSwweDAwLDB4MDgsMHgxOCwweDM4LDB4MjgsMHgwNiwweDAyLAotMHgxMCwweDBhLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHg4MSwweDEwLDB4MGEsMHgwMiwweDAwLDB4MDAsMHgwMCwKLTB4MDAsMHgwMCwweGZiLDB4ZTgsMHhmYiwweGZhLDB4MTIsMHgwMSwweDEwLDB4MDEsMHhmZiwweDAwLDB4MDAsMHgwOCwweDUxLDB4MDQsCi0weDVmLDB4NTAsMHgxNiwweDAxLDB4MDEsMHgwMiwweDAwLDB4MDIsMHgwOSwweDAyLDB4MzUsMHgwMCwweDAxLDB4MDIsMHgwMCwweGUwLAotMHgwMCwweDA5LDB4MDQsMHgwMCwweDAwLDB4MDUsMHhmZiwweDAwLDB4MDAsMHgwMCwweDA3LDB4MDUsMHg4MSwweDAyLDB4NDAsMHgwMCwKLTB4MDAsMHgwNywweDA1LDB4MDEsMHgwMiwweDQwLDB4MDAsMHgwMCwweDA3LDB4MDUsMHg4MiwweDAyLDB4NDAsMHgwMCwweDAwLDB4MDcsCi0weDA1LDB4MDIsMHgwMiwweDQwLDB4MDAsMHgwMCwweDA3LDB4MDUsMHg4NSwweDAzLDB4MDIsMHgwMCwweDAxLDB4MDQsMHgwMywweDA5LAotMHgwNCwweDI0LDB4MDMsMHg1NCwweDAwLDB4NjUsMHgwMCwweDc4LDB4MDAsMHg2MSwweDAwLDB4NzMsMHgwMCwweDIwLDB4MDAsMHg0OSwKLTB4MDAsMHg2ZSwweDAwLDB4NzMsMHgwMCwweDc0LDB4MDAsMHg3MiwweDAwLDB4NzUsMHgwMCwweDZkLDB4MDAsMHg2NSwweDAwLDB4NmUsCi0weDAwLDB4NzQsMHgwMCwweDczLDB4MDAsMHgyYSwweDAzLDB4NTQsMHgwMCwweDU1LDB4MDAsMHg1MywweDAwLDB4NDIsMHgwMCwweDM1LAotMHgwMCwweDMwLDB4MDAsMHgzNSwweDAwLDB4MzIsMHgwMCwweDIwLDB4MDAsMHg1MywweDAwLDB4NjUsMHgwMCwweDcyLDB4MDAsMHg2OSwKLTB4MDAsMHg2MSwweDAwLDB4NmMsMHgwMCwweDIwLDB4MDAsMHg1MCwweDAwLDB4NmYsMHgwMCwweDcyLDB4MDAsMHg3NCwweDAwLDB4MjIsCi0weDAzLDB4NTQsMHgwMCwweDU1LDB4MDAsMHg1MywweDAwLDB4NDIsMHgwMCwweDM1LDB4MDAsMHgzMCwweDAwLDB4MzUsMHgwMCwweDMyLAotMHgwMCwweDIwLDB4MDAsMHgyMCwweDAwLDB4MjAsMHgwMCwweDIwLDB4MDAsMHgyMCwweDAwLDB4MjAsMHgwMCwweDIwLDB4MDAsMHgyMCwKLTB4MDAsCi19OwotCi0jZW5kaWYgLyogaWZuZGVmIF9USV9GV181MDUyX0hfICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zZXJpYWwvdGlfdXNiXzM0MTBfNTA1Mi5jIGIvZHJpdmVycy91c2Ivc2VyaWFsL3RpX3VzYl8zNDEwXzUwNTIuYwppbmRleCBhMWM4YWVmLi5hMjZhNjI5IDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9zZXJpYWwvdGlfdXNiXzM0MTBfNTA1Mi5jCisrKyBiL2RyaXZlcnMvdXNiL3NlcmlhbC90aV91c2JfMzQxMF81MDUyLmMKQEAgLTg0LDExICs4NCw5IEBACiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KICNpbmNsdWRlIDxsaW51eC91c2IuaD4KICNpbmNsdWRlIDxsaW51eC91c2Ivc2VyaWFsLmg+CisjaW5jbHVkZSA8bGludXgvZmlybXdhcmUuaD4KIAogI2luY2x1ZGUgInRpX3VzYl8zNDEwXzUwNTIuaCIKLSNpbmNsdWRlICJ0aV9md18zNDEwLmgiCQkvKiBmaXJtd2FyZSBpbWFnZSBmb3IgMzQxMCAqLwotI2luY2x1ZGUgInRpX2Z3XzUwNTIuaCIJCS8qIGZpcm13YXJlIGltYWdlIGZvciA1MDUyICovCi0KIAogLyogRGVmaW5lcyAqLwogCkBAIC0xOTQsOCArMTkyLDggQEAKIHN0YXRpYyBpbnQgdGlfd3JpdGVfYnl0ZShzdHJ1Y3QgdGlfZGV2aWNlICp0ZGV2LCB1bnNpZ25lZCBsb25nIGFkZHIsCiAJX191OCBtYXNrLCBfX3U4IGJ5dGUpOwogCi1zdGF0aWMgaW50IHRpX2Rvd25sb2FkX2Zpcm13YXJlKHN0cnVjdCB0aV9kZXZpY2UgKnRkZXYsCi0JdW5zaWduZWQgY2hhciAqZmlybXdhcmUsIHVuc2lnbmVkIGludCBmaXJtd2FyZV9zaXplKTsKK3N0YXRpYyBpbnQgdGlfZG93bmxvYWRfZmlybXdhcmUoc3RydWN0IHRpX2RldmljZSAqdGRldiwgY2hhciAqZndfbmFtZSk7CisKIAogLyogY2lyY3VsYXIgYnVmZmVyICovCiBzdGF0aWMgc3RydWN0IGNpcmNfYnVmICp0aV9idWZfYWxsb2Modm9pZCk7CkBAIC0zMjAsNiArMzE4LDkgQEAKIE1PRFVMRV9WRVJTSU9OKFRJX0RSSVZFUl9WRVJTSU9OKTsKIE1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKIAorTU9EVUxFX0ZJUk1XQVJFKCJ0aV8zNDEwLmZ3Iik7CitNT0RVTEVfRklSTVdBUkUoInRpXzUwNTIuZnciKTsKKwogbW9kdWxlX3BhcmFtKGRlYnVnLCBib29sLCBTX0lSVUdPIHwgU19JV1VTUik7CiBNT0RVTEVfUEFSTV9ERVNDKGRlYnVnLCAiRW5hYmxlIGRlYnVnZ2luZywgMD1ubywgMT15ZXMiKTsKIApAQCAtNDMxLDExICs0MzIsOSBAQAogCWlmIChkZXYtPmRlc2NyaXB0b3IuYk51bUNvbmZpZ3VyYXRpb25zID09IDEpIHsKIAogCQlpZiAodGRldi0+dGRfaXNfMzQxMCkKLQkJCXN0YXR1cyA9IHRpX2Rvd25sb2FkX2Zpcm13YXJlKHRkZXYsIHRpX2Z3XzM0MTAsCi0JCQkJc2l6ZW9mKHRpX2Z3XzM0MTApKTsKKwkJCXN0YXR1cyA9IHRpX2Rvd25sb2FkX2Zpcm13YXJlKHRkZXYsICJ0aV8zNDEwLmZ3Iik7CiAJCWVsc2UKLQkJCXN0YXR1cyA9IHRpX2Rvd25sb2FkX2Zpcm13YXJlKHRkZXYsIHRpX2Z3XzUwNTIsCi0JCQkJc2l6ZW9mKHRpX2Z3XzUwNTIpKTsKKwkJCXN0YXR1cyA9IHRpX2Rvd25sb2FkX2Zpcm13YXJlKHRkZXYsICJ0aV81MDUyLmZ3Iik7CiAJCWlmIChzdGF0dXMpCiAJCQlnb3RvIGZyZWVfdGRldjsKIApAQCAtMTY1OCw4ICsxNjU3LDkgQEAKIAogCiBzdGF0aWMgaW50IHRpX2Rvd25sb2FkX2Zpcm13YXJlKHN0cnVjdCB0aV9kZXZpY2UgKnRkZXYsCi0JdW5zaWduZWQgY2hhciAqZmlybXdhcmUsIHVuc2lnbmVkIGludCBmaXJtd2FyZV9zaXplKQorCQkJCWNoYXIgKmZ3X25hbWUpCiB7CisJY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdzsKIAlpbnQgc3RhdHVzID0gMDsKIAlpbnQgYnVmZmVyX3NpemU7CiAJaW50IHBvczsKQEAgLTE2NzIsMTYgKzE2NzIsMjkgQEAKIAl1bnNpZ25lZCBpbnQgcGlwZSA9IHVzYl9zbmRidWxrcGlwZShkZXYsCiAJCXRkZXYtPnRkX3NlcmlhbC0+cG9ydFswXS0+YnVsa19vdXRfZW5kcG9pbnRBZGRyZXNzKTsKIAotCiAJYnVmZmVyX3NpemUgPSBUSV9GSVJNV0FSRV9CVUZfU0laRSArIHNpemVvZihzdHJ1Y3QgdGlfZmlybXdhcmVfaGVhZGVyKTsKKworCWlmIChyZXF1ZXN0X2Zpcm13YXJlKCZmdywgZndfbmFtZSwgJmRldi0+ZGV2KSkgeworCQlkZXZfZXJyKCZkZXYtPmRldiwgIiVzIC0gZmFpbGVkIHRvIGxvYWQgZmlybXdhcmUgXCIlc1wiXG4iLAorCQkJX19mdW5jX18sIGZ3X25hbWUpOworCQlyZXR1cm4gLUVOT0VOVDsKKwl9CisJaWYgKGZ3LT5zaXplID4gYnVmZmVyX3NpemUpIHsKKwkJZGV2X2VycigmZGV2LT5kZXYsICIlcyAtIGZpcm13YXJlIFwiJXNcIiBpcyB0b28gbGFyZ2VcbiIsCisJCQlfX2Z1bmNfXywgZndfbmFtZSk7CisJCXJlbGVhc2VfZmlybXdhcmUoZncpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKIAlidWZmZXIgPSBrbWFsbG9jKGJ1ZmZlcl9zaXplLCBHRlBfS0VSTkVMKTsKIAlpZiAoIWJ1ZmZlcikgewogCQlkZXZfZXJyKCZkZXYtPmRldiwgIiVzIC0gb3V0IG9mIG1lbW9yeVxuIiwgX19mdW5jX18pOworCQlyZWxlYXNlX2Zpcm13YXJlKGZ3KTsKIAkJcmV0dXJuIC1FTk9NRU07CiAJfQogCi0JbWVtY3B5KGJ1ZmZlciwgZmlybXdhcmUsIGZpcm13YXJlX3NpemUpOwotCW1lbXNldChidWZmZXIrZmlybXdhcmVfc2l6ZSwgMHhmZiwgYnVmZmVyX3NpemUtZmlybXdhcmVfc2l6ZSk7CisJbWVtY3B5KGJ1ZmZlciwgZnctPmRhdGEsIGZ3LT5zaXplKTsKKwltZW1zZXQoYnVmZmVyK2Z3LT5zaXplLCAweGZmLCBidWZmZXJfc2l6ZS1mdy0+c2l6ZSk7CiAKIAlmb3IocG9zID0gc2l6ZW9mKHN0cnVjdCB0aV9maXJtd2FyZV9oZWFkZXIpOyBwb3MgPCBidWZmZXJfc2l6ZTsgcG9zKyspCiAJCWNzID0gKF9fdTgpKGNzICsgYnVmZmVyW3Bvc10pOwpAQCAtMTY5OSw2ICsxNzEyLDcgQEAKIAl9CiAKIAlrZnJlZShidWZmZXIpOworCXJlbGVhc2VfZmlybXdhcmUoZncpOwogCiAJaWYgKHN0YXR1cykgewogCQlkZXZfZXJyKCZkZXYtPmRldiwgIiVzIC0gZXJyb3IgZG93bmxvYWRpbmcgZmlybXdhcmUsICVkXG4iLCBfX2Z1bmNfXywgc3RhdHVzKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC93aGl0ZWhlYXQuYyBiL2RyaXZlcnMvdXNiL3NlcmlhbC93aGl0ZWhlYXQuYwppbmRleCBmMDdlOGE0Li42NjVhYTc3IDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9zZXJpYWwvd2hpdGVoZWF0LmMKKysrIGIvZHJpdmVycy91c2Ivc2VyaWFsL3doaXRlaGVhdC5jCkBAIC04MSw3ICs4MSw4IEBACiAjaW5jbHVkZSA8bGludXgvc2VyaWFsX3JlZy5oPgogI2luY2x1ZGUgPGxpbnV4L3NlcmlhbC5oPgogI2luY2x1ZGUgPGxpbnV4L3VzYi9zZXJpYWwuaD4KLSNpbmNsdWRlICJ3aGl0ZWhlYXRfZncuaCIJCS8qIGZpcm13YXJlIGZvciB0aGUgQ29ubmVjdFRlY2ggV2hpdGVIRUFUIGRldmljZSAqLworI2luY2x1ZGUgPGxpbnV4L2Zpcm13YXJlLmg+CisjaW5jbHVkZSA8bGludXgvaWhleC5oPgogI2luY2x1ZGUgIndoaXRlaGVhdC5oIgkJCS8qIFdoaXRlSEVBVCBzcGVjaWZpYyBjb21tYW5kcyAqLwogCiBzdGF0aWMgaW50IGRlYnVnOwpAQCAtMjc5LDM3ICsyODAsNTIgQEAKICovCiBzdGF0aWMgaW50IHdoaXRlaGVhdF9maXJtd2FyZV9kb3dubG9hZCAoc3RydWN0IHVzYl9zZXJpYWwgKnNlcmlhbCwgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgKmlkKQogewotCWludCByZXNwb25zZTsKLQljb25zdCBzdHJ1Y3Qgd2hpdGVoZWF0X2hleF9yZWNvcmQgKnJlY29yZDsKLQkKKwlpbnQgcmVzcG9uc2UsIHJldCA9IC1FTk9FTlQ7CisJY29uc3Qgc3RydWN0IGZpcm13YXJlICpsb2FkZXJfZncgPSBOVUxMLCAqZmlybXdhcmVfZncgPSBOVUxMOworCWNvbnN0IHN0cnVjdCBpaGV4X2JpbnJlYyAqcmVjb3JkOworCiAJZGJnKCIlcyIsIF9fZnVuY19fKTsKLQkKKworCWlmIChyZXF1ZXN0X2loZXhfZmlybXdhcmUoJmZpcm13YXJlX2Z3LCAid2hpdGVoZWF0LmZ3IiwKKwkJCQkgICZzZXJpYWwtPmRldi0+ZGV2KSkgeworCQllcnIoIiVzIC0gcmVxdWVzdCBcIndoaXRlaGVhdC5md1wiIGZhaWxlZCIsIF9fZnVuY19fKTsKKwkJZ290byBvdXQ7CisJfQorCWlmIChyZXF1ZXN0X2loZXhfZmlybXdhcmUoJmxvYWRlcl9mdywgIndoaXRlaGVhdF9sb2FkZXIuZnciLAorCQkJICAgICAmc2VyaWFsLT5kZXYtPmRldikpIHsKKwkJZXJyKCIlcyAtIHJlcXVlc3QgXCJ3aGl0ZWhlYXRfbG9hZGVyLmZ3XCIgZmFpbGVkIiwgX19mdW5jX18pOworCQlnb3RvIG91dDsKKwl9CisJcmV0ID0gMDsKIAlyZXNwb25zZSA9IGV6dXNiX3NldF9yZXNldCAoc2VyaWFsLCAxKTsKIAotCXJlY29yZCA9ICZ3aGl0ZWhlYXRfbG9hZGVyWzBdOwotCXdoaWxlIChyZWNvcmQtPmFkZHJlc3MgIT0gMHhmZmZmKSB7Ci0JCXJlc3BvbnNlID0gZXp1c2Jfd3JpdGVtZW1vcnkgKHNlcmlhbCwgcmVjb3JkLT5hZGRyZXNzLCAKLQkJCQkodW5zaWduZWQgY2hhciAqKXJlY29yZC0+ZGF0YSwgcmVjb3JkLT5kYXRhX3NpemUsIDB4YTApOworCXJlY29yZCA9IChjb25zdCBzdHJ1Y3QgaWhleF9iaW5yZWMgKilsb2FkZXJfZnctPmRhdGE7CisJd2hpbGUgKHJlY29yZCkgeworCQlyZXNwb25zZSA9IGV6dXNiX3dyaXRlbWVtb3J5IChzZXJpYWwsIGJlMzJfdG9fY3B1KHJlY29yZC0+YWRkciksCisJCQkJCSAgICAgICh1bnNpZ25lZCBjaGFyICopcmVjb3JkLT5kYXRhLAorCQkJCQkgICAgICBiZTE2X3RvX2NwdShyZWNvcmQtPmxlbiksIDB4YTApOwogCQlpZiAocmVzcG9uc2UgPCAwKSB7CiAJCQllcnIoIiVzIC0gZXp1c2Jfd3JpdGVtZW1vcnkgZmFpbGVkIGZvciBsb2FkZXIgKCVkICUwNFggJXAgJWQpIiwKLQkJCQlfX2Z1bmNfXywgcmVzcG9uc2UsIHJlY29yZC0+YWRkcmVzcywgcmVjb3JkLT5kYXRhLCByZWNvcmQtPmRhdGFfc2l6ZSk7CisJCQkgICAgX19mdW5jX18sIHJlc3BvbnNlLCBiZTMyX3RvX2NwdShyZWNvcmQtPmFkZHIpLAorCQkJICAgIHJlY29yZC0+ZGF0YSwgYmUxNl90b19jcHUocmVjb3JkLT5sZW4pKTsKIAkJCWJyZWFrOwogCQl9Ci0JCSsrcmVjb3JkOworCQlyZWNvcmQgPSBpaGV4X25leHRfYmlucmVjKHJlY29yZCk7CiAJfQogCiAJcmVzcG9uc2UgPSBlenVzYl9zZXRfcmVzZXQgKHNlcmlhbCwgMCk7CiAKLQlyZWNvcmQgPSAmd2hpdGVoZWF0X2Zpcm13YXJlWzBdOwotCXdoaWxlIChyZWNvcmQtPmFkZHJlc3MgPCAweDFiNDApIHsKLQkJKytyZWNvcmQ7Ci0JfQotCXdoaWxlIChyZWNvcmQtPmFkZHJlc3MgIT0gMHhmZmZmKSB7Ci0JCXJlc3BvbnNlID0gZXp1c2Jfd3JpdGVtZW1vcnkgKHNlcmlhbCwgcmVjb3JkLT5hZGRyZXNzLCAKLQkJCQkodW5zaWduZWQgY2hhciAqKXJlY29yZC0+ZGF0YSwgcmVjb3JkLT5kYXRhX3NpemUsIDB4YTMpOworCXJlY29yZCA9IChjb25zdCBzdHJ1Y3QgaWhleF9iaW5yZWMgKilmaXJtd2FyZV9mdy0+ZGF0YTsKKwl3aGlsZSAocmVjb3JkICYmIGJlMzJfdG9fY3B1KHJlY29yZC0+YWRkcikgPCAweDFiNDApCisJCXJlY29yZCA9IGloZXhfbmV4dF9iaW5yZWMocmVjb3JkKTsKKwl3aGlsZSAocmVjb3JkKSB7CisJCXJlc3BvbnNlID0gZXp1c2Jfd3JpdGVtZW1vcnkgKHNlcmlhbCwgYmUzMl90b19jcHUocmVjb3JkLT5hZGRyKSwKKwkJCQkJICAgICAgKHVuc2lnbmVkIGNoYXIgKilyZWNvcmQtPmRhdGEsCisJCQkJCSAgICAgIGJlMTZfdG9fY3B1KHJlY29yZC0+bGVuKSwgMHhhMyk7CiAJCWlmIChyZXNwb25zZSA8IDApIHsKIAkJCWVycigiJXMgLSBlenVzYl93cml0ZW1lbW9yeSBmYWlsZWQgZm9yIGZpcnN0IGZpcm13YXJlIHN0ZXAgKCVkICUwNFggJXAgJWQpIiwgCi0JCQkJX19mdW5jX18sIHJlc3BvbnNlLCByZWNvcmQtPmFkZHJlc3MsIHJlY29yZC0+ZGF0YSwgcmVjb3JkLT5kYXRhX3NpemUpOworCQkJICAgIF9fZnVuY19fLCByZXNwb25zZSwgYmUzMl90b19jcHUocmVjb3JkLT5hZGRyKSwKKwkJCSAgICByZWNvcmQtPmRhdGEsIGJlMTZfdG9fY3B1KHJlY29yZC0+bGVuKSk7CiAJCQlicmVhazsKIAkJfQogCQkrK3JlY29yZDsKQEAgLTMxNywyMSArMzMzLDI1IEBACiAJCiAJcmVzcG9uc2UgPSBlenVzYl9zZXRfcmVzZXQgKHNlcmlhbCwgMSk7CiAKLQlyZWNvcmQgPSAmd2hpdGVoZWF0X2Zpcm13YXJlWzBdOwotCXdoaWxlIChyZWNvcmQtPmFkZHJlc3MgPCAweDFiNDApIHsKLQkJcmVzcG9uc2UgPSBlenVzYl93cml0ZW1lbW9yeSAoc2VyaWFsLCByZWNvcmQtPmFkZHJlc3MsIAotCQkJCSh1bnNpZ25lZCBjaGFyICopcmVjb3JkLT5kYXRhLCByZWNvcmQtPmRhdGFfc2l6ZSwgMHhhMCk7CisJcmVjb3JkID0gKGNvbnN0IHN0cnVjdCBpaGV4X2JpbnJlYyAqKWZpcm13YXJlX2Z3LT5kYXRhOworCXdoaWxlIChyZWNvcmQgJiYgYmUzMl90b19jcHUocmVjb3JkLT5hZGRyKSA8IDB4MWI0MCkgeworCQlyZXNwb25zZSA9IGV6dXNiX3dyaXRlbWVtb3J5IChzZXJpYWwsIGJlMzJfdG9fY3B1KHJlY29yZC0+YWRkciksCisJCQkJCSAgICAgICh1bnNpZ25lZCBjaGFyICopcmVjb3JkLT5kYXRhLAorCQkJCQkgICAgICBiZTE2X3RvX2NwdShyZWNvcmQtPmxlbiksIDB4YTApOwogCQlpZiAocmVzcG9uc2UgPCAwKSB7CiAJCQllcnIoIiVzIC0gZXp1c2Jfd3JpdGVtZW1vcnkgZmFpbGVkIGZvciBzZWNvbmQgZmlybXdhcmUgc3RlcCAoJWQgJTA0WCAlcCAlZCkiLCAKLQkJCQlfX2Z1bmNfXywgcmVzcG9uc2UsIHJlY29yZC0+YWRkcmVzcywgcmVjb3JkLT5kYXRhLCByZWNvcmQtPmRhdGFfc2l6ZSk7CisJCQkgICAgX19mdW5jX18sIHJlc3BvbnNlLCBiZTMyX3RvX2NwdShyZWNvcmQtPmFkZHIpLAorCQkJICAgIHJlY29yZC0+ZGF0YSwgYmUxNl90b19jcHUocmVjb3JkLT5sZW4pKTsKIAkJCWJyZWFrOwogCQl9CiAJCSsrcmVjb3JkOwogCX0KLQorCXJldCA9IDA7CiAJcmVzcG9uc2UgPSBlenVzYl9zZXRfcmVzZXQgKHNlcmlhbCwgMCk7Ci0KLQlyZXR1cm4gMDsKKyBvdXQ6CisJcmVsZWFzZV9maXJtd2FyZShsb2FkZXJfZncpOworCXJlbGVhc2VfZmlybXdhcmUoZmlybXdhcmVfZncpOworCXJldHVybiByZXQ7CiB9CiAKIApAQCAtMTUwMyw2ICsxNTIzLDkgQEAKIE1PRFVMRV9ERVNDUklQVElPTiggRFJJVkVSX0RFU0MgKTsKIE1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKIAorTU9EVUxFX0ZJUk1XQVJFKCJ3aGl0ZWhlYXQuZnciKTsKK01PRFVMRV9GSVJNV0FSRSgid2hpdGVoZWF0X2xvYWRlci5mdyIpOworCiBtb2R1bGVfcGFyYW0odXJiX3Bvb2xfc2l6ZSwgaW50LCAwKTsKIE1PRFVMRV9QQVJNX0RFU0ModXJiX3Bvb2xfc2l6ZSwgIk51bWJlciBvZiB1cmJzIHRvIHVzZSBmb3IgYnVmZmVyaW5nIik7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC93aGl0ZWhlYXRfZncuaCBiL2RyaXZlcnMvdXNiL3NlcmlhbC93aGl0ZWhlYXRfZncuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGUwYmRjNy4uMDAwMDAwMAotLS0gYS9kcml2ZXJzL3VzYi9zZXJpYWwvd2hpdGVoZWF0X2Z3LmgKKysrIC9kZXYvbnVsbApAQCAtMSwxNjY5ICswLDAgQEAKLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICoKLSAqICAgICAgd2hpdGVoZWF0LmggIC0tICBDb25uZWN0VGVjaCBXaGl0ZUhFQVQgRmlybXdhcmUuCi0gKgotICogICAgICBDb3B5cmlnaHQgKEMpIDIwMDAtMjAwMiAgQ29ubmVjdFRlY2ggSW5jIChodHRwOi8vd3d3LmNvbm5lY3R0ZWNoLmNvbS8pCi0gKgotICogICAgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotICogICAgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotICogICAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgotICogICAgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqICAgICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiAgICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiAgICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLSAqICAgICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiAgICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiAgICAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0gKiAgICAgIEZvdW5kYXRpb24sIEluYy4sIDY3NSBNYXNzIEF2ZSwgQ2FtYnJpZGdlLCBNQSAwMjEzOSwgVVNBLgotICoKLSAqICgxMC8wOS8yMDAyKSBTdHVhcnQgTWFjRG9uYWxkCi0gKglGaXJtd2FyZSA0LjA2Ci0gKgotICogKDA0LzA5LzIwMDApIGdraAotICoJVXBkYXRlZCB0aGUgZmlybXdhcmUgd2l0aCB0aGUgbGF0ZXN0IHByb3ZpZGVkIGJ5IENvbm5lY3RUZWNoLgotICoKLSAqICgwMS8xNi8yMDAwKSBna2gKLSAqCUZpeGVkIG15IGludGVsIGhleCBwcm9jZXNzaW5nIHRvb2wsIHNvIG5vdyB0aGUgZmlybXdhcmUgYWN0dWFsbHkKLSAqCW1hdGNoZXMgdGhlIG9yaWdpbmFsIGZpbGUgKHRoaXMgd2FzIGNhdXNpbmcgYSBmZXcgcHJvYmxlbXMuLi4pCi0gKgotICogKDAxLzE1LzIwMDApIGdraAotICoJQWRkZWQgZGVidWcgbG9hZGVyIGZpcm13YXJlIGlmIERFQlVHIGlzICNkZWZpbmVkOgotICoJCVBvcnQgMSBMRUQgZmxhc2hlcyB3aGVuIHRoZSB2ZW5kX2F4IHByb2dyYW0gaXMgcnVubmluZwotICoJCVBvcnQgMiBMRUQgZmxhc2hlcyB3aGVuIGFueSBTRVRVUCBjb21tYW5kIGFycml2ZXMKLSAqCQlQb3J0IDMgTEVEIGZsYXNoZXMgd2hlbiBhbnkgdmFsaWQgVkVORE9SIHJlcXVlc3Qgb2NjdXJzCi0gKgkJUG9ydCA0IExFRCBmbGFzaGVzIHdoZW4gdGhlIEVYVEVSTkFMIFJBTSBET1dOTE9BRCByZXF1ZXN0IG9jY3VycwotICoKLSAqIHZlcnNpb24gMS4wICgwMS8wOS8yMDAwKSBna2gKLSAqCU9yaWdpbmFsIGZpcm13YXJlIGZyb20gQ29ubmVjdFRlY2ggbWFzc2FnZWQgYSBsaXR0bGUgdG8gYmUgcHJvZ3JhbQotICoJcmVhZGFibGUuCi0gKgotICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotCi0jZGVmaW5lIHdoaXRlaGVhdF9EQVRFICIyMDAwMDEwNiIKLQotc3RydWN0IHdoaXRlaGVhdF9oZXhfcmVjb3JkIHsKLQlfX3UxNglhZGRyZXNzOwotCV9fdTgJZGF0YV9zaXplOwotCV9fdTgJZGF0YVsxNl07Ci19OwotCi1zdGF0aWMgY29uc3Qgc3RydWN0IHdoaXRlaGVhdF9oZXhfcmVjb3JkIHdoaXRlaGVhdF9maXJtd2FyZVtdID0gewoteyAweDAwMDAsCTMsCXsweDAyLCAweDk3LCAweGUzfSB9LAoteyAweDAwMDMsCTMsCXsweDAyLCAweDEzLCAweDEyfSB9LAoteyAweDAwMGIsCTMsCXsweDAyLCAweDBiLCAweGI1fSB9LAoteyAweDAwMzMsCTMsCXsweDAyLCAweDA4LCAweDFjfSB9LAoteyAweDAwNDMsCTMsCXsweDAyLCAweDBhLCAweDAwfSB9LAoteyAweDAwNWIsCTMsCXsweDAyLCAweDgzLCAweDNifSB9LAoteyAweDAzNzAsCTE2LAl7MHg5MCwgMHg3ZiwgMHhlOSwgMHhlMCwgMHg3MCwgMHgwMywgMHgwMiwgMHgwNCwgMHg3MywgMHgxNCwgMHg3MCwgMHgwMywgMHgwMiwgMHgwNCwgMHhlNywgMHgyNH0gfSwKLXsgMHgwMzgwLAkxNiwJezB4ZmUsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MDUsIDB4NGYsIDB4MjQsIDB4ZmIsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MDQsIDB4NjQsIDB4MTQsIDB4NzAsIDB4MDN9IH0sCi17IDB4MDM5MCwJMTYsCXsweDAyLCAweDA0LCAweDUyLCAweDE0LCAweDcwLCAweDAzLCAweDAyLCAweDA0LCAweDNhLCAweDE0LCAweDcwLCAweDAzLCAweDAyLCAweDA0LCAweDQ5LCAweDI0fSB9LAoteyAweDAzYTAsCTE2LAl7MHgwNSwgMHg2MCwgMHgwMywgMHgwMiwgMHgwNSwgMHg5ZSwgMHg5MCwgMHg3ZiwgMHhlYiwgMHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxNiwgMHgxNCwgMHg2MH0gfSwKLXsgMHgwM2IwLAkxNiwJezB4MzYsIDB4MjQsIDB4MDIsIDB4NzAsIDB4N2IsIDB4NzQsIDB4MTIsIDB4OTAsIDB4N2YsIDB4ZDQsIDB4ZjAsIDB4NzQsIDB4MDAsIDB4OTAsIDB4N2YsIDB4ZDV9IH0sCi17IDB4MDNjMCwJMTYsCXsweGYwLCAweDAyLCAweDA1LCAweGE1LCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGZmLCAweDEyLCAweDBhLCAweDk5LCAweGVhLCAweDQ5LCAweDYwLCAweDBkfSB9LAoteyAweDAzZDAsCTE2LAl7MHhlYSwgMHg5MCwgMHg3ZiwgMHhkNCwgMHhmMCwgMHhlOSwgMHg5MCwgMHg3ZiwgMHhkNSwgMHhmMCwgMHgwMiwgMHgwNSwgMHhhNSwgMHg5MCwgMHg3ZiwgMHhiNH0gfSwKLXsgMHgwM2UwLAkxNiwJezB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MDUsIDB4YTUsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MGEsIDB4NTgsIDB4ZWF9IH0sCi17IDB4MDNmMCwJMTYsCXsweDQ5LCAweDYwLCAweDMzLCAweDEyLCAweGEyLCAweDNiLCAweGY1LCAweDRlLCAweDkwLCAweDdmLCAweGVlLCAweGUwLCAweGZmLCAweGU1LCAweDRlLCAweGQzfSB9LAoteyAweDA0MDAsCTE2LAl7MHg5ZiwgMHg0MCwgMHgwMywgMHhlMCwgMHhmNSwgMHg0ZSwgMHhlNSwgMHg0ZSwgMHhkMywgMHg5NCwgMHg0MCwgMHg0MCwgMHgwMywgMHg3NSwgMHg0ZSwgMHg0MH0gfSwKLXsgMHgwNDEwLAkxNiwJezB4YWUsIDB4MDIsIDB4YWYsIDB4MDEsIDB4N2MsIDB4N2YsIDB4N2QsIDB4MDAsIDB4YWIsIDB4NGUsIDB4MTIsIDB4OTEsIDB4MzcsIDB4OTAsIDB4N2YsIDB4YjV9IH0sCi17IDB4MDQyMCwJMTYsCXsweGU1LCAweDRlLCAweGYwLCAweDAyLCAweDA1LCAweGE1LCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDA1LCAweGE1fSB9LAoteyAweDA0MzAsCTE2LAl7MHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwNSwgMHhhNSwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhlNSwgMHgyMSwgMHhmMH0gfSwKLXsgMHgwNDQwLAkxNiwJezB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MDUsIDB4YTUsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4ZjUsIDB4MjEsIDB4MDJ9IH0sCi17IDB4MDQ1MCwJMTYsCXsweDA1LCAweGE1LCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGY1LCAweDM1LCAweGQyLCAweDAyLCAweDQzLCAweDg4LCAweDEwLCAweGQyLCAweGViLCAweGQyfSB9LAoteyAweDA0NjAsCTE2LAl7MHhhOCwgMHgwMiwgMHgwNSwgMHhhNSwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhlNSwgMHgzNSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMSwgMHhmMH0gfSwKLXsgMHgwNDcwLAkxNiwJezB4MDIsIDB4MDUsIDB4YTUsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4N2YsIDB4NjAsIDB4MjQsIDB4MTQsIDB4NjAsIDB4MzEsIDB4MjQsIDB4MDJ9IH0sCi17IDB4MDQ4MCwJMTYsCXsweDcwLCAweDViLCAweGEyLCAweDAwLCAweGU0LCAweDMzLCAweGZmLCAweDI1LCAweGUwLCAweGZmLCAweGEyLCAweDA1LCAweGU0LCAweDMzLCAweDRmLCAweDkwfSB9LAoteyAweDA0OTAsCTE2LAl7MHg3ZiwgMHgwMCwgMHhmMCwgMHhlNCwgMHhhMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwNSwgMHhhNSwgMHhlNH0gfSwKLXsgMHgwNGEwLAkxNiwJezB4OTAsIDB4N2YsIDB4MDAsIDB4ZjAsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MDUsIDB4YTUsIDB4OTB9IH0sCi17IDB4MDRiMCwJMTYsCXsweDdmLCAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDI1fSB9LAoteyAweDA0YzAsCTE2LAl7MHhlMCwgMHgyNCwgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHgwMSwgMHg5MCwgMHg3ZiwgMHgwMH0gfSwKLXsgMHgwNGQwLAkxNiwJezB4ZjAsIDB4ZTQsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MDUsIDB4YTUsIDB4OTAsIDB4N2YsIDB4YjR9IH0sCi17IDB4MDRlMCwJMTYsCXsweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDA1LCAweGE1LCAweDkwLCAweDdmLCAweGU4LCAweGUwLCAweDI0LCAweGZlLCAweDYwLCAweDFkLCAweDI0fSB9LAoteyAweDA0ZjAsCTE2LAl7MHgwMiwgMHg2MCwgMHgwMywgMHgwMiwgMHgwNSwgMHhhNSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhiNCwgMHgwMSwgMHgwNSwgMHhjMiwgMHgwMCwgMHgwMn0gfSwKLXsgMHgwNTAwLAkxNiwJezB4MDUsIDB4YTUsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MDUsIDB4YTUsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTB9IH0sCi17IDB4MDUxMCwJMTYsCXsweDcwLCAweDM0LCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweGZmLCAweDU0LCAweDA3LCAweGZlLCAweGY1LCAweDRlLCAweGVmLCAweDMwLCAweGU3LCAweDAzfSB9LAoteyAweDA1MjAsCTE2LAl7MHg0MywgMHg0ZSwgMHgxMCwgMHg5MCwgMHg3ZiwgMHhkNywgMHhlNSwgMHg0ZSwgMHhmMCwgMHhlNSwgMHg0ZSwgMHg0NCwgMHgyMCwgMHhmMCwgMHhlZiwgMHhmNH0gfSwKLXsgMHgwNTMwLAkxNiwJezB4NTQsIDB4ODAsIDB4ZmQsIDB4YzQsIDB4NTQsIDB4MGYsIDB4MmUsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2Z9IH0sCi17IDB4MDU0MCwJMTYsCXsweGY1LCAweDgzLCAweGU0LCAweGYwLCAweDgwLCAweDVmLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDgwLCAweDU2LCAweDkwfSB9LAoteyAweDA1NTAsCTE2LAl7MHg3ZiwgMHhlOCwgMHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxOCwgMHgyNCwgMHgwMiwgMHg3MCwgMHg0YSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhiNH0gfSwKLXsgMHgwNTYwLAkxNiwJezB4MDEsIDB4MDQsIDB4ZDIsIDB4MDAsIDB4ODAsIDB4M2YsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4MzYsIDB4OTB9IH0sCi17IDB4MDU3MCwJMTYsCXsweDdmLCAweGVhLCAweGUwLCAweDcwLCAweDIwLCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwLCAweGZmLCAweGM0LCAweDU0LCAweDBmfSB9LAoteyAweDA1ODAsCTE2LAl7MHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4M30gfSwKLXsgMHgwNTkwLAkxNiwJezB4NzQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4MTAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4MDcsIDB4OTAsIDB4N2Z9IH0sCi17IDB4MDVhMCwJMTIsCXsweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAyLCAweGYwfSB9LAoteyAweDA1YWMsCTEsCXsweDIyfSB9LAoteyAweDA1YWQsCTE2LAl7MHg3NSwgMHg0YSwgMHhmZiwgMHg3NSwgMHg0OSwgMHhmZiwgMHg3NSwgMHg0OCwgMHgwZiwgMHg3NSwgMHg0NywgMHgwMCwgMHhkMiwgMHgwMywgMHhjMiwgMHgwNn0gfSwKLXsgMHgwNWJkLAkxNiwJezB4YzIsIDB4MDIsIDB4YzIsIDB4MDAsIDB4YzIsIDB4MDUsIDB4YzIsIDB4MDEsIDB4OTAsIDB4MDMsIDB4MDAsIDB4NzQsIDB4MTksIDB4ZjAsIDB4ZTQsIDB4OTB9IH0sCi17IDB4MDVjZCwJMTYsCXsweDAxLCAweGJjLCAweGYwLCAweGMyLCAweDA0LCAweDkwLCAweDAxLCAweGMwLCAweGYwLCAweGEzLCAweGYwLCAweGMyLCAweGFmLCAweGMyLCAweGE4LCAweDEyfSB9LAoteyAweDA1ZGQsCTE2LAl7MHgwYywgMHgyMiwgMHhlNCwgMHg5MCwgMHgwMiwgMHhhZiwgMHhmMCwgMHg5MCwgMHgwMSwgMHhiZCwgMHhmMCwgMHg5MCwgMHgwMSwgMHgwMCwgMHhmMCwgMHhhM30gfSwKLXsgMHgwNWVkLAkxNiwJezB4ZjAsIDB4YTMsIDB4ZjAsIDB4YTMsIDB4ZjAsIDB4YTMsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4YTN9IH0sCi17IDB4MDVmZCwJMTYsCXsweDc0LCAweDA4LCAweGYwLCAweDdlLCAweDAxLCAweDdmLCAweDAwLCAweDEyLCAweDE5LCAweGMxLCAweDc1LCAweDRjLCAweDEyLCAweDc1LCAweDRkLCAweDBhfSB9LAoteyAweDA2MGQsCTE2LAl7MHg5MCwgMHgwMSwgMHgwYiwgMHhlMCwgMHhmZiwgMHgwNSwgMHg0ZCwgMHhlNSwgMHg0ZCwgMHhhYywgMHg0YywgMHg3MCwgMHgwMiwgMHgwNSwgMHg0YywgMHgxNH0gfSwKLXsgMHgwNjFkLAkxNiwJezB4ZjUsIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4MDEsIDB4MGMsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZmYsIDB4MDUsIDB4NGQsIDB4ZTV9IH0sCi17IDB4MDYyZCwJMTYsCXsweDRkLCAweGFjLCAweDRjLCAweDcwLCAweDAyLCAweDA1LCAweDRjLCAweDE0LCAweGY1LCAweDgyLCAweDhjLCAweDgzLCAweGVmLCAweGYwLCAweDkwLCAweDAxfSB9LAoteyAweDA2M2QsCTE2LAl7MHgwZCwgMHhlMCwgMHhmZiwgMHgwNSwgMHg0ZCwgMHhlNSwgMHg0ZCwgMHhhYywgMHg0YywgMHg3MCwgMHgwMiwgMHgwNSwgMHg0YywgMHgxNCwgMHhmNSwgMHg4Mn0gfSwKLXsgMHgwNjRkLAkxNiwJezB4OGMsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4MDEsIDB4MGUsIDB4ZTAsIDB4ZmYsIDB4MDUsIDB4NGQsIDB4ZTUsIDB4NGQsIDB4YWMsIDB4NGMsIDB4NzB9IH0sCi17IDB4MDY1ZCwJMTYsCXsweDAyLCAweDA1LCAweDRjLCAweDE0LCAweGY1LCAweDgyLCAweDhjLCAweDgzLCAweGVmLCAweGYwLCAweDkwLCAweDEyLCAweDBhLCAweGU0LCAweDkzLCAweGZmfSB9LAoteyAweDA2NmQsCTE2LAl7MHg3NCwgMHgwMSwgMHg5MywgMHg5MCwgMHgwMSwgMHgxYywgMHhjZiwgMHhmMCwgMHhhMywgMHhlZiwgMHhmMCwgMHg5MCwgMHgwMSwgMHgxYywgMHhlMCwgMHhmZn0gfSwKLXsgMHgwNjdkLAkxNiwJezB4YTMsIDB4ZTAsIDB4ZmUsIDB4ZWYsIDB4NmUsIDB4ZmYsIDB4OTAsIDB4MDEsIDB4MWMsIDB4ZjAsIDB4YTMsIDB4ZTAsIDB4NmYsIDB4ZmYsIDB4ZjAsIDB4OTB9IH0sCi17IDB4MDY4ZCwJMTYsCXsweDAxLCAweDFjLCAweGUwLCAweDZmLCAweGYwLCAweGUwLCAweGZlLCAweGEzLCAweGUwLCAweGZmLCAweGU0LCAweGZjLCAweGZkLCAweDc1LCAweDUyLCAweDEwfSB9LAoteyAweDA2OWQsCTE2LAl7MHg3NSwgMHg1MywgMHgwMiwgMHg3NSwgMHg1NCwgMHgxMiwgMHg3NSwgMHg1NSwgMHhhYywgMHgxMiwgMHg5NCwgMHgyNiwgMHg3NSwgMHg0YywgMHgxMiwgMHg3NX0gfSwKLXsgMHgwNmFkLAkxNiwJezB4NGQsIDB4YjIsIDB4OTAsIDB4MDEsIDB4MGQsIDB4ZTAsIDB4ZmYsIDB4MDUsIDB4NGQsIDB4ZTUsIDB4NGQsIDB4YWMsIDB4NGMsIDB4NzAsIDB4MDIsIDB4MDV9IH0sCi17IDB4MDZiZCwJMTYsCXsweDRjLCAweDE0LCAweGY1LCAweDgyLCAweDhjLCAweDgzLCAweGVmLCAweGYwLCAweDkwLCAweDAxLCAweDBlLCAweGUwLCAweGZmLCAweDA1LCAweDRkLCAweGU1fSB9LAoteyAweDA2Y2QsCTE2LAl7MHg0ZCwgMHhhYywgMHg0YywgMHg3MCwgMHgwMiwgMHgwNSwgMHg0YywgMHgxNCwgMHhmNSwgMHg4MiwgMHg4YywgMHg4MywgMHhlZiwgMHhmMCwgMHg5MCwgMHg3Zn0gfSwKLXsgMHgwNmRkLAkxNiwJezB4OTIsIDB4ZTAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4MjQsIDB4NDEsIDB4ZmYsIDB4MDUsIDB4NGQsIDB4ZTUsIDB4NGQsIDB4YWMsIDB4NGMsIDB4NzB9IH0sCi17IDB4MDZlZCwJMTYsCXsweDAyLCAweDA1LCAweDRjLCAweDE0LCAweGY1LCAweDgyLCAweDhjLCAweDgzLCAweGVmLCAweGYwLCAweDA1LCAweDRkLCAweGU1LCAweDRkLCAweGFlLCAweDRjfSB9LAoteyAweDA2ZmQsCTE2LAl7MHg3MCwgMHgwMiwgMHgwNSwgMHg0YywgMHgxNCwgMHhmNSwgMHg4MiwgMHg4ZSwgMHg4MywgMHhlNCwgMHhmMCwgMHg3NSwgMHg4MiwgMHgxMCwgMHg3NSwgMHg4M30gfSwKLXsgMHgwNzBkLAkxNiwJezB4MDEsIDB4ZTAsIDB4ZmMsIDB4YTMsIDB4ZTAsIDB4ZmQsIDB4YTMsIDB4ZTAsIDB4ZmUsIDB4YTMsIDB4ZTAsIDB4ZmYsIDB4OTAsIDB4MDEsIDB4MTgsIDB4MTJ9IH0sCi17IDB4MDcxZCwJMTYsCXsweGEzLCAweGVlLCAweDdlLCAweDAxLCAweDdmLCAweDE4LCAweDEyLCAweDg2LCAweGJlLCAweDkwLCAweDAxLCAweDE4LCAweGUwLCAweGZjLCAweGEzLCAweGUwfSB9LAoteyAweDA3MmQsCTE2LAl7MHhmZCwgMHhhMywgMHhlMCwgMHhmZSwgMHhhMywgMHhlMCwgMHhmZiwgMHg3NSwgMHg1MiwgMHgwYSwgMHg3NSwgMHg1MywgMHgwNiwgMHg3NSwgMHg1NCwgMHgxMn0gfSwKLXsgMHgwNzNkLAkxNiwJezB4NzUsIDB4NTUsIDB4YjgsIDB4MTIsIDB4OTQsIDB4MjYsIDB4ZDIsIDB4ZTgsIDB4NDMsIDB4ZDgsIDB4MjAsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4ZmZ9IH0sCi17IDB4MDc0ZCwJMTYsCXsweGYwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFmLCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGFlLCAweGUwLCAweDQ0fSB9LAoteyAweDA3NWQsCTE2LAl7MHgxZiwgMHhmMCwgMHhkMiwgMHhhZiwgMHgyMCwgMHgwMSwgMHgyZSwgMHgyMCwgMHgwMSwgMHgyYiwgMHhhMiwgMHgwMywgMHg5MiwgMHgwNywgMHgxMiwgMHgwOX0gfSwKLXsgMHgwNzZkLAkxNiwJezB4YzUsIDB4NzUsIDB4NDYsIDB4NTAsIDB4NzUsIDB4NDUsIDB4NmQsIDB4NzUsIDB4NDQsIDB4MzMsIDB4NzUsIDB4NDMsIDB4MDAsIDB4MjAsIDB4MDEsIDB4ZTR9IH0sCi17IDB4MDc3ZCwJMTYsCXsweDdmLCAweGZmLCAweDdlLCAweGZmLCAweDdkLCAweGZmLCAweDdjLCAweGZmLCAweDc4LCAweDQzLCAweDEyLCAweGEzLCAweGQ3LCAweGVjLCAweDRkLCAweDRlfSB9LAoteyAweDA3OGQsCTE2LAl7MHg0ZiwgMHg2MCwgMHhkMSwgMHg4MCwgMHhlOCwgMHgzMCwgMHgwMSwgMHgwNSwgMHgxMiwgMHgwMywgMHg3MCwgMHhjMiwgMHgwMSwgMHgzMCwgMHgwNiwgMHgwYX0gfSwKLXsgMHgwNzlkLAkxNiwJezB4MTIsIDB4MDksIDB4ZmIsIDB4NTAsIDB4MDMsIDB4MTIsIDB4MGEsIDB4ZTgsIDB4YzIsIDB4MDYsIDB4MTIsIDB4OTYsIDB4NWUsIDB4OTAsIDB4MDEsIDB4YmR9IH0sCi17IDB4MDdhZCwJMTYsCXsweGUwLCAweDYwLCAweDBjLCAweDEyLCAweDkyLCAweDAxLCAweGU0LCAweDkwLCAweDAxLCAweGJkLCAweGYwLCAweDkwLCAweDdmLCAweGQzLCAweGYwLCAweDkwfSB9LAoteyAweDA3YmQsCTE2LAl7MHgwMiwgMHhhZiwgMHhlMCwgMHhiNCwgMHgwZiwgMHgwMywgMHgxMiwgMHg5OSwgMHhiOSwgMHgxMiwgMHhhMCwgMHg5NSwgMHhlNCwgMHhmZiwgMHg3NCwgMHgwMX0gfSwKLXsgMHgwN2NkLAkxNiwJezB4YTgsIDB4MDcsIDB4MDgsIDB4ODAsIDB4MDIsIDB4YzMsIDB4MzMsIDB4ZDgsIDB4ZmMsIDB4ZmUsIDB4OTAsIDB4MDEsIDB4YmMsIDB4ZTAsIDB4NWUsIDB4NjB9IH0sCi17IDB4MDdkZCwJMTYsCXsweDE0LCAweDc0LCAweDI4LCAweDJmLCAweGY4LCAweGU2LCAweGQzLCAweDk0LCAweDBhLCAweDQwLCAweDA0LCAweDdlLCAweDAxLCAweDgwLCAweDAyLCAweDdlfSB9LAoteyAweDA3ZWQsCTE2LAl7MHgwMCwgMHg4ZSwgMHg0YiwgMHg4MCwgMHgwMywgMHg3NSwgMHg0YiwgMHgwMSwgMHg3NCwgMHg2OCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgyMH0gfSwKLXsgMHgwN2ZkLAkxNiwJezB4ZjUsIDB4ODMsIDB4ZTUsIDB4NGIsIDB4ZjAsIDB4MGYsIDB4YmYsIDB4MDQsIDB4YzUsIDB4ZTUsIDB4MmMsIDB4ZDMsIDB4OTQsIDB4MGEsIDB4NDAsIDB4MDR9IH0sCi17IDB4MDgwZCwJMTQsCXsweDdmLCAweDAxLCAweDgwLCAweDAyLCAweDdmLCAweDAwLCAweDkwLCAweDIwLCAweDZjLCAweGVmLCAweGYwLCAweDAyLCAweDA3LCAweDkyfSB9LAoteyAweDA4MWIsCTEsCXsweDIyfSB9LAoteyAweDA4MWMsCTQsCXsweDUzLCAweGQ4LCAweGVmLCAweDMyfSB9LAoteyAweDA4MjAsCTE2LAl7MHhlNSwgMHgzMywgMHhjMywgMHg5NCwgMHgwMSwgMHg0MCwgMHgwZSwgMHg5MCwgMHg3ZiwgMHg5MywgMHhlMCwgMHg0NCwgMHgzMCwgMHhmMCwgMHg5MCwgMHg3Zn0gfSwKLXsgMHgwODMwLAkxNiwJezB4OTUsIDB4ZTAsIDB4NDQsIDB4YzAsIDB4ZjAsIDB4N2YsIDB4ZjQsIDB4N2UsIDB4MDEsIDB4MTIsIDB4MDksIDB4YWUsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZTB9IH0sCi17IDB4MDg0MCwJMTYsCXsweDU0LCAweGZlLCAweGYwLCAweDdmLCAweDBhLCAweDdlLCAweDAwLCAweDEyLCAweDA5LCAweGFlLCAweDkwLCAweDdmLCAweDk2LCAweGUwLCAweDQ0LCAweDA4fSB9LAoteyAweDA4NTAsCTE2LAl7MHhmMCwgMHg3ZiwgMHgwNSwgMHg3ZSwgMHgwMCwgMHgxMiwgMHgwOSwgMHhhZSwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhlMCwgMHg1NCwgMHhmYiwgMHhmMCwgMHg3Zn0gfSwKLXsgMHgwODYwLAkxNiwJezB4MDUsIDB4N2UsIDB4MDAsIDB4MTIsIDB4MDksIDB4YWUsIDB4ZTUsIDB4MzMsIDB4YzMsIDB4OTQsIDB4MDEsIDB4NTAsIDB4MGUsIDB4N2YsIDB4MDIsIDB4N2R9IH0sCi17IDB4MDg3MCwJMTYsCXsweGZmLCAweDEyLCAweDgyLCAweGVhLCAweDdmLCAweDA1LCAweDdlLCAweDAwLCAweDEyLCAweDA5LCAweGFlLCAweDkwLCAweDdmLCAweDk2LCAweGUwLCAweDQ0fSB9LAoteyAweDA4ODAsCTE2LAl7MHgwMiwgMHhmMCwgMHhlMCwgMHg1NCwgMHg3ZiwgMHhmMCwgMHg3ZiwgMHgwNSwgMHg3ZSwgMHgwMCwgMHgxMiwgMHgwOSwgMHhhZSwgMHg5MCwgMHg3ZiwgMHg5Nn0gfSwKLXsgMHgwODkwLAkxNiwJezB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjAsIDB4N2YsIDB4MDUsIDB4N2UsIDB4MDAsIDB4MTIsIDB4MDksIDB4YWUsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZTAsIDB4NTR9IH0sCi17IDB4MDhhMCwJMTYsCXsweGJmLCAweGYwLCAweDdmLCAweDMyLCAweDdlLCAweDAwLCAweDEyLCAweDA5LCAweGFlLCAweDkwLCAweDdmLCAweDk2LCAweGUwLCAweDQ0LCAweDQwLCAweGYwfSB9LAoteyAweDA4YjAsCTgsCXsweDdmLCAweDMyLCAweDdlLCAweDAwLCAweDEyLCAweDA5LCAweGFlLCAweDIyfSB9LAoteyAweDA4YjgsCTE2LAl7MHg5MCwgMHg3ZiwgMHg5NiwgMHhlMCwgMHg1NCwgMHhmZCwgMHhmMCwgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHg3ZiwgMHgwYSwgMHg3ZSwgMHgwMCwgMHgxMn0gfSwKLXsgMHgwOGM4LAkxNiwJezB4MDksIDB4YWUsIDB4ZTUsIDB4MzMsIDB4YzMsIDB4OTQsIDB4MDEsIDB4NTAsIDB4MGUsIDB4N2YsIDB4MDIsIDB4ZTQsIDB4ZmQsIDB4MTIsIDB4ODIsIDB4ZWF9IH0sCi17IDB4MDhkOCwJMTYsCXsweDdmLCAweDA1LCAweDdlLCAweDAwLCAweDEyLCAweDA5LCAweGFlLCAweDkwLCAweDdmLCAweDk2LCAweGUwLCAweDU0LCAweGJmLCAweGYwLCAweDdmLCAweDA1fSB9LAoteyAweDA4ZTgsCTE2LAl7MHg3ZSwgMHgwMCwgMHgxMiwgMHgwOSwgMHhhZSwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhlMCwgMHg0NCwgMHgwNCwgMHhmMCwgMHg3ZiwgMHgwNSwgMHg3ZSwgMHgwMH0gfSwKLXsgMHgwOGY4LAkxNiwJezB4MTIsIDB4MDksIDB4YWUsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZTAsIDB4NTQsIDB4ZjcsIDB4ZjAsIDB4N2YsIDB4MDUsIDB4N2UsIDB4MDAsIDB4MTIsIDB4MDl9IH0sCi17IDB4MDkwOCwJMTYsCXsweGFlLCAweDkwLCAweDdmLCAweDk2LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDdmLCAweDA1LCAweDdlLCAweDAwLCAweDEyLCAweDA5LCAweGFlLCAweGU1fSB9LAoteyAweDA5MTgsCTE2LAl7MHgzMywgMHhjMywgMHg5NCwgMHgwMSwgMHg0MCwgMHgwZSwgMHg5MCwgMHg3ZiwgMHg5MywgMHhlMCwgMHg1NCwgMHhjZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NX0gfSwKLXsgMHgwOTI4LAk4LAl7MHhlMCwgMHg1NCwgMHgzZiwgMHhmMCwgMHgxMiwgMHgwYiwgMHgwMCwgMHgyMn0gfSwKLXsgMHgwOTMwLAkxNiwJezB4OTAsIDB4MGEsIDB4ZjQsIDB4ZTQsIDB4OTMsIDB4NzAsIDB4NzYsIDB4OTAsIDB4N2YsIDB4OTMsIDB4NzQsIDB4MzAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTR9IH0sCi17IDB4MDk0MCwJMTYsCXsweDc0LCAweDNjLCAweGYwLCAweDkwLCAweDdmLCAweDk1LCAweDc0LCAweGM2LCAweGYwLCAweDdmLCAweDBhLCAweDdlLCAweDAwLCAweDEyLCAweDA5LCAweGFlfSB9LAoteyAweDA5NTAsCTE2LAl7MHhlNCwgMHg5MCwgMHg3ZiwgMHg5YywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHg3NCwgMHgwOCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5YywgMHg3NCwgMHhjZn0gfSwKLXsgMHgwOTYwLAkxNiwJezB4ZjAsIDB4N2YsIDB4MGEsIDB4N2UsIDB4MDAsIDB4MTIsIDB4MDksIDB4YWUsIDB4OTAsIDB4MjAsIDB4NzAsIDB4ZTAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGZ9IH0sCi17IDB4MDk3MCwJMTYsCXsweGY1LCAweDMzLCAweGMzLCAweDk0LCAweDAxLCAweDUwLCAweDA3LCAweDkwLCAweDdmLCAweDk2LCAweGUwLCAweDQ0LCAweDgwLCAweGYwLCAweGU0LCAweDkwfSB9LAoteyAweDA5ODAsCTE2LAl7MHg3ZiwgMHg5NywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZCwgMHg3NCwgMHgwMiwgMHhmMCwgMHhlNSwgMHgzMywgMHhjMywgMHg5NCwgMHgwMSwgMHg0MCwgMHgwYn0gfSwKLXsgMHgwOTkwLAkxNiwJezB4ZTQsIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWUsIDB4NzQsIDB4YzAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZTIsIDB4NzQsIDB4MTJ9IH0sCi17IDB4MDlhMCwJMTQsCXsweGYwLCAweDEyLCAweDA4LCAweDIwLCAweDc1LCAweDgyLCAweGY0LCAweDc1LCAweDgzLCAweDBhLCAweDc0LCAweGZmLCAweGYwLCAweDIyfSB9LAoteyAweDA5YWUsCTE2LAl7MHg4ZSwgMHg1ZCwgMHg4ZiwgMHg1ZSwgMHhlNSwgMHg1ZSwgMHgxNSwgMHg1ZSwgMHhhZSwgMHg1ZCwgMHg3MCwgMHgwMiwgMHgxNSwgMHg1ZCwgMHg0ZSwgMHg2MH0gfSwKLXsgMHgwOWJlLAk3LAl7MHgwNSwgMHgxMiwgMHgwOSwgMHhlYSwgMHg4MCwgMHhlZSwgMHgyMn0gfSwKLXsgMHgwOWM1LAkxNiwJezB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NTQsIDB4ZmIsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4MDgsIDB4ZjAsIDB4MzAsIDB4MDcsIDB4MDQsIDB4ZTAsIDB4NDR9IH0sCi17IDB4MDlkNSwJMTYsCXsweDAyLCAweGYwLCAweDdmLCAweGQwLCAweDdlLCAweDA3LCAweDEyLCAweDA5LCAweGFlLCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDU0LCAweGY3LCAweGYwfSB9LAoteyAweDA5ZTUsCTUsCXsweGUwLCAweDQ0LCAweDA0LCAweGYwLCAweDIyfSB9LAoteyAweDA5ZWEsCTE2LAl7MHg3NCwgMHgwMCwgMHhmNSwgMHg4NiwgMHg5MCwgMHhmZCwgMHhhNSwgMHg3YywgMHgwNSwgMHhhMywgMHhlNSwgMHg4MiwgMHg0NSwgMHg4MywgMHg3MCwgMHhmOX0gfSwKLXsgMHgwOWZhLAkxLAl7MHgyMn0gfSwKLXsgMHgwOWZiLAk1LAl7MHgxMiwgMHgwOCwgMHhiOCwgMHhkMywgMHgyMn0gfSwKLXsgMHgwYTAwLAkxNiwJezB4MDIsIDB4MGMsIDB4NGUsIDB4MDAsIDB4MDIsIDB4MGMsIDB4ODEsIDB4MDAsIDB4MDIsIDB4MGMsIDB4NjYsIDB4MDAsIDB4MDIsIDB4MGMsIDB4YzAsIDB4MDB9IH0sCi17IDB4MGExMCwJMTYsCXsweDAyLCAweDBjLCAweGFhLCAweDAwLCAweDAyLCAweDBhLCAweGVkLCAweDAwLCAweDAyLCAweDBhLCAweGVlLCAweDAwLCAweDAyLCAweDBhLCAweGVmLCAweDAwfSB9LAoteyAweDBhMjAsCTE2LAl7MHgwMiwgMHgwYywgMHhkYiwgMHgwMCwgMHgwMiwgMHgwZCwgMHhjYiwgMHgwMCwgMHgwMiwgMHgwZCwgMHgxNywgMHgwMCwgMHgwMiwgMHgwZSwgMHgyYiwgMHgwMH0gfSwKLXsgMHgwYTMwLAkxNiwJezB4MDIsIDB4MGQsIDB4NTMsIDB4MDAsIDB4MDIsIDB4MGUsIDB4OGIsIDB4MDAsIDB4MDIsIDB4MGQsIDB4OGYsIDB4MDAsIDB4MDIsIDB4MGUsIDB4ZWIsIDB4MDB9IH0sCi17IDB4MGE0MCwJMTYsCXsweDAyLCAweDBhLCAweGYwLCAweDAwLCAweDAyLCAweDBhLCAweGYyLCAweDAwLCAweDAyLCAweDBhLCAweGYxLCAweDAwLCAweDAyLCAweDBhLCAweGYzLCAweDAwfSB9LAoteyAweDBhNTAsCTgsCXsweDAyLCAweDBmLCAweDRiLCAweDAwLCAweDAyLCAweDBmLCAweDYxLCAweDAwfSB9LAoteyAweDBhNTgsCTIsCXsweDhmLCAweDRmfSB9LAoteyAweDBhNWEsCTE2LAl7MHhlNCwgMHhmNSwgMHg1MCwgMHg3NSwgMHg1MSwgMHhmZiwgMHg3NSwgMHg1MiwgMHgxMiwgMHg3NSwgMHg1MywgMHg2YSwgMHhhYiwgMHg1MSwgMHhhYSwgMHg1Mn0gfSwKLXsgMHgwYTZhLAkxNiwJezB4YTksIDB4NTMsIDB4OTAsIDB4MDAsIDB4MDEsIDB4MTIsIDB4YTIsIDB4NTQsIDB4YjQsIDB4MDMsIDB4MWQsIDB4YWYsIDB4NTAsIDB4MDUsIDB4NTAsIDB4ZWZ9IH0sCi17IDB4MGE3YSwJMTYsCXsweGI1LCAweDRmLCAweDAxLCAweDIyLCAweDEyLCAweGEyLCAweDNiLCAweDdlLCAweDAwLCAweDI5LCAweGZmLCAweGVlLCAweDNhLCAweGE5LCAweDA3LCAweDc1fSB9LAoteyAweDBhOGEsCTE0LAl7MHg1MSwgMHhmZiwgMHhmNSwgMHg1MiwgMHg4OSwgMHg1MywgMHg4MCwgMHhkNCwgMHg3YiwgMHgwMCwgMHg3YSwgMHgwMCwgMHg3OSwgMHgwMH0gfSwKLXsgMHgwYTk4LAkxLAl7MHgyMn0gfSwKLXsgMHgwYTk5LAkxNiwJezB4ZTQsIDB4ZmUsIDB4NzUsIDB4NTEsIDB4ZmYsIDB4NzUsIDB4NTIsIDB4MTIsIDB4NzUsIDB4NTMsIDB4MTIsIDB4YWIsIDB4NTEsIDB4YWEsIDB4NTIsIDB4YTl9IH0sCi17IDB4MGFhOSwJMTYsCXsweDUzLCAweDkwLCAweDAwLCAweDAxLCAweDEyLCAweGEyLCAweDU0LCAweDY0LCAweDAyLCAweDcwLCAweDJkLCAweGFkLCAweDA2LCAweDBlLCAweGVkLCAweGI1fSB9LAoteyAweDBhYjksCTE2LAl7MHgwNywgMHgwMSwgMHgyMiwgMHg5MCwgMHgwMCwgMHgwMiwgMHgxMiwgMHhhMiwgMHhhZCwgMHg4NSwgMHhmMCwgMHg0ZiwgMHhmNSwgMHg1MCwgMHg2MiwgMHg0Zn0gfSwKLXsgMHgwYWM5LAkxNiwJezB4ZTUsIDB4NGYsIDB4NjIsIDB4NTAsIDB4ZTUsIDB4NTAsIDB4NjIsIDB4NGYsIDB4MjksIDB4ZmQsIDB4ZTUsIDB4NGYsIDB4M2EsIDB4YTksIDB4MDUsIDB4NzV9IH0sCi17IDB4MGFkOSwJMTQsCXsweDUxLCAweGZmLCAweGY1LCAweDUyLCAweDg5LCAweDUzLCAweDgwLCAweGMzLCAweDdiLCAweDAwLCAweDdhLCAweDAwLCAweDc5LCAweDAwfSB9LAoteyAweDBhZTcsCTEsCXsweDIyfSB9LAoteyAweDBhZTgsCTUsCXsweDEyLCAweDA4LCAweDIwLCAweGQzLCAweDIyfSB9LAoteyAweDBhZWQsCTEsCXsweDMyfSB9LAoteyAweDBhZWUsCTEsCXsweDMyfSB9LAoteyAweDBhZWYsCTEsCXsweDMyfSB9LAoteyAweDBhZjAsCTEsCXsweDMyfSB9LAoteyAweDBhZjEsCTEsCXsweDMyfSB9LAoteyAweDBhZjIsCTEsCXsweDMyfSB9LAoteyAweDBhZjMsCTEsCXsweDMyfSB9LAoteyAweDBhZjQsCTMsCXsweDAwLCAweDA0LCAweDA3fSB9LAoteyAweDBiMDAsCTksCXsweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDQ0LCAweDgwLCAweGYwLCAweDgwLCAweDc0fSB9LAoteyAweDBiN2QsCTE2LAl7MHg0MywgMHg4NywgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgyMn0gfSwKLXsgMHgwYjhkLAkxNiwJezB4NTMsIDB4OGUsIDB4ZjcsIDB4ZTUsIDB4ODksIDB4NTQsIDB4ZjEsIDB4NDQsIDB4MDEsIDB4ZjUsIDB4ODksIDB4NzUsIDB4OGMsIDB4YjEsIDB4ZDIsIDB4YTl9IH0sCi17IDB4MGI5ZCwJMTYsCXsweDc1LCAweDk4LCAweDQwLCAweDc1LCAweGNiLCAweGZmLCAweDc1LCAweGNhLCAweGYzLCAweDc1LCAweGM4LCAweDM0LCAweGU0LCAweGZmLCAweDdmLCAweDA1fSB9LAoteyAweDBiYWQsCTcsCXsweDc4LCAweDI4LCAweGU0LCAweGY2LCAweDA4LCAweGRmLCAweGZjfSB9LAoteyAweDBiYjQsCTEsCXsweDIyfSB9LAoteyAweDBiYjUsCTE2LAl7MHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHhkMCwgMHg3NSwgMHhkMCwgMHgwMCwgMHhjMCwgMHgwMCwgMHhjMCwgMHgwNiwgMHhjMH0gfSwKLXsgMHgwYmM1LAkxLAl7MHgwN30gfSwKLXsgMHgwYmM2LAkxNiwJezB4MzAsIDB4MDQsIDB4MTYsIDB4NzUsIDB4OGMsIDB4ZjgsIDB4NzUsIDB4OGEsIDB4MzAsIDB4N2YsIDB4MmYsIDB4YWUsIDB4MDcsIDB4MWYsIDB4ZWUsIDB4NjB9IH0sCi17IDB4MGJkNiwJMTYsCXsweDNjLCAweDkwLCAweDIwLCAweDAwLCAweDc0LCAweDU1LCAweGYwLCAweDgwLCAweGYyLCAweDc1LCAweDhjLCAweGIxLCAweDdmLCAweDI4LCAweGVmLCAweGQzfSB9LAoteyAweDBiZTYsCTE2LAl7MHg5NCwgMHgyYywgMHg1MCwgMHgwOSwgMHhhOCwgMHgwNywgMHhlNiwgMHg2MCwgMHgwMSwgMHgxNiwgMHgwZiwgMHg4MCwgMHhmMSwgMHg5MCwgMHgwMywgMHgwMH0gfSwKLXsgMHgwYmY2LAkxNiwJezB4ZTAsIDB4NjAsIDB4MDIsIDB4MTQsIDB4ZjAsIDB4OTAsIDB4MDEsIDB4YzAsIDB4ZTAsIDB4NzAsIDB4MDIsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MGUsIDB4OTB9IH0sCi17IDB4MGMwNiwJMTMsCXsweDAxLCAweGMxLCAweGUwLCAweDI0LCAweGZmLCAweGYwLCAweDkwLCAweDAxLCAweGMwLCAweGUwLCAweDM0LCAweGZmLCAweGYwfSB9LAoteyAweDBjMTMsCTE1LAl7MHhkMCwgMHgwNywgMHhkMCwgMHgwNiwgMHhkMCwgMHgwMCwgMHhkMCwgMHhkMCwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMn0gfSwKLXsgMHgwYzIyLAkxNiwJezB4ZDIsIDB4MDAsIDB4NzUsIDB4OGUsIDB4MTAsIDB4MTIsIDB4MDksIDB4MzAsIDB4ZTUsIDB4MzMsIDB4YzMsIDB4OTQsIDB4MDEsIDB4NDAsIDB4MDgsIDB4OTB9IH0sCi17IDB4MGMzMiwJMTYsCXsweDdmLCAweDkyLCAweDc0LCAweDAyLCAweGYwLCAweDgwLCAweDA1LCAweGU0LCAweDkwLCAweDdmLCAweDkyLCAweGYwLCAweDEyLCAweDgwLCAweDAwLCAweDEyfSB9LAoteyAweDBjNDIsCTEyLAl7MHgwZiwgMHg3ZCwgMHgxMiwgMHg5NCwgMHhmNywgMHgxMiwgMHgxYiwgMHgwYywgMHgxMiwgMHgwYiwgMHg4ZCwgMHgyMn0gfSwKLXsgMHgwYzRlLAkxNiwJezB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4ZDIsIDB4MDEsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDF9IH0sCi17IDB4MGM1ZSwJOCwJezB4ZjAsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzJ9IH0sCi17IDB4MGM2NiwJMTYsCXsweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweDkwLCAweDdmLCAweGM0LCAweGU0LCAweGYwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmfSB9LAoteyAweDBjNzYsCTExLAl7MHhhYiwgMHg3NCwgMHgwNCwgMHhmMCwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMn0gfSwKLXsgMHgwYzgxLAkxNiwJezB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4OTB9IH0sCi17IDB4MGM5MSwJMTYsCXsweDdmLCAweGQ4LCAweGUwLCAweDcwLCAweDBkLCAweDkwLCAweDdmLCAweGQ5LCAweGUwLCAweDcwLCAweDA3LCAweGU1LCAweDJjLCAweDcwLCAweDAzLCAweDc1fSB9LAoteyAweDBjYTEsCTksCXsweDJjLCAweDE0LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyfSB9LAoteyAweDBjYWEsCTE2LAl7MHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgxMCwgMHhmMCwgMHhkMH0gfSwKLXsgMHgwY2JhLAk2LAl7MHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMn0gfSwKLXsgMHgwY2MwLAkxNiwJezB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4MzAsIDB4MDIsIDB4MDIsIDB4ZDIsIDB4MDYsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2Z9IH0sCi17IDB4MGNkMCwJMTEsCXsweGFiLCAweDc0LCAweDA4LCAweGYwLCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyfSB9LAoteyAweDBjZGIsCTE2LAl7MHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHhkMCwgMHg3NSwgMHhkMCwgMHgxMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3Zn0gfSwKLXsgMHgwY2ViLAkxNiwJezB4YTksIDB4NzQsIDB4MDIsIDB4ZjAsIDB4ZTUsIDB4MzQsIDB4MzAsIDB4ZTAsIDB4MTMsIDB4ZTUsIDB4MzIsIDB4MzAsIDB4ZTAsIDB4MDcsIDB4OTAsIDB4MjB9IH0sCi17IDB4MGNmYiwJMTYsCXsweDA0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDkwLCAweDIwLCAweDAxLCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweGU1LCAweDJjLCAweDcwLCAweDAzfSB9LAoteyAweDBkMGIsCTEyLAl7MHg3NSwgMHgyYywgMHgxNCwgMHhkMCwgMHhkMCwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMn0gfSwKLXsgMHgwZDE3LAkxNiwJezB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ZDAsIDB4NzUsIDB4ZDAsIDB4MTAsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2Z9IH0sCi17IDB4MGQyNywJMTYsCXsweGE5LCAweDc0LCAweDA0LCAweGYwLCAweGU1LCAweDM0LCAweDMwLCAweGUxLCAweDEzLCAweGU1LCAweDMyLCAweDMwLCAweGUxLCAweDA3LCAweDkwLCAweDIwfSB9LAoteyAweDBkMzcsCTE2LAl7MHgwYywgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHgyMCwgMHgwOSwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHhlNSwgMHgyYywgMHg3MCwgMHgwM30gfSwKLXsgMHgwZDQ3LAkxMiwJezB4NzUsIDB4MmMsIDB4MTQsIDB4ZDAsIDB4ZDAsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzJ9IH0sCi17IDB4MGQ1MywJMTYsCXsweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweGQwLCAweDc1LCAweGQwLCAweDEwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmfSB9LAoteyAweDBkNjMsCTE2LAl7MHhhOSwgMHg3NCwgMHgwOCwgMHhmMCwgMHhlNSwgMHgzNCwgMHgzMCwgMHhlMiwgMHgxMywgMHhlNSwgMHgzMiwgMHgzMCwgMHhlMiwgMHgwNywgMHg5MCwgMHgyMH0gfSwKLXsgMHgwZDczLAkxNiwJezB4MTQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4MjAsIDB4MTEsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ZTUsIDB4MmMsIDB4NzAsIDB4MDN9IH0sCi17IDB4MGQ4MywJMTIsCXsweDc1LCAweDJjLCAweDE0LCAweGQwLCAweGQwLCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyfSB9LAoteyAweDBkOGYsCTE2LAl7MHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHhkMCwgMHg3NSwgMHhkMCwgMHgxMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3Zn0gfSwKLXsgMHgwZDlmLAkxNiwJezB4YTksIDB4NzQsIDB4MTAsIDB4ZjAsIDB4ZTUsIDB4MzQsIDB4MzAsIDB4ZTMsIDB4MTMsIDB4ZTUsIDB4MzIsIDB4MzAsIDB4ZTMsIDB4MDcsIDB4OTAsIDB4MjB9IH0sCi17IDB4MGRhZiwJMTYsCXsweDFjLCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDkwLCAweDIwLCAweDE5LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweGU1LCAweDJjLCAweDcwLCAweDAzfSB9LAoteyAweDBkYmYsCTEyLAl7MHg3NSwgMHgyYywgMHgxNCwgMHhkMCwgMHhkMCwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMn0gfSwKLXsgMHgwZGNiLAkxNiwJezB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4YzB9IH0sCi17IDB4MGRkYiwJMTYsCXsweGQwLCAweDc1LCAweGQwLCAweDEwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFhLCAweDc0LCAweDAyLCAweGYwLCAweGU1LCAweDM0LCAweDIwfSB9LAoteyAweDBkZWIsCTE2LAl7MHhlMCwgMHgwNiwgMHg5MCwgMHg3ZiwgMHhjNywgMHhmMCwgMHg4MCwgMHgyMiwgMHhlNSwgMHgzMSwgMHgzMCwgMHhlMCwgMHgwYSwgMHg5MCwgMHg3ZiwgMHhjN30gfSwKLXsgMHgwZGZiLAkxNiwJezB4ZTAsIDB4OTAsIDB4MDIsIDB4ZjgsIDB4ZjAsIDB4ODAsIDB4MTMsIDB4ZTUsIDB4MjIsIDB4MzAsIDB4ZTAsIDB4MDcsIDB4OTAsIDB4MjAsIDB4MDQsIDB4ZTB9IH0sCi17IDB4MGUwYiwJMTYsCXsweDQ0LCAweDAyLCAweGYwLCAweDkwLCAweDIwLCAweDAxLCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweGU1LCAweDJjLCAweDcwLCAweDAzLCAweDc1LCAweDJjfSB9LAoteyAweDBlMWIsCTE2LAl7MHgxNCwgMHhkMCwgMHhkMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMn0gfSwKLXsgMHgwZTJiLAkxNiwJezB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4YzB9IH0sCi17IDB4MGUzYiwJMTYsCXsweGQwLCAweDc1LCAweGQwLCAweDEwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFhLCAweDc0LCAweDA0LCAweGYwLCAweGU1LCAweDM0LCAweDIwfSB9LAoteyAweDBlNGIsCTE2LAl7MHhlMSwgMHgwNiwgMHg5MCwgMHg3ZiwgMHhjOSwgMHhmMCwgMHg4MCwgMHgyMiwgMHhlNSwgMHgzMSwgMHgzMCwgMHhlMSwgMHgwYSwgMHg5MCwgMHg3ZiwgMHhjOX0gfSwKLXsgMHgwZTViLAkxNiwJezB4ZTAsIDB4OTAsIDB4MDIsIDB4ZjksIDB4ZjAsIDB4ODAsIDB4MTMsIDB4ZTUsIDB4MjIsIDB4MzAsIDB4ZTEsIDB4MDcsIDB4OTAsIDB4MjAsIDB4MGMsIDB4ZTB9IH0sCi17IDB4MGU2YiwJMTYsCXsweDQ0LCAweDAyLCAweGYwLCAweDkwLCAweDIwLCAweDA5LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweGU1LCAweDJjLCAweDcwLCAweDAzLCAweDc1LCAweDJjfSB9LAoteyAweDBlN2IsCTE2LAl7MHgxNCwgMHhkMCwgMHhkMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMn0gfSwKLXsgMHgwZThiLAkxNiwJezB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4YzB9IH0sCi17IDB4MGU5YiwJMTYsCXsweGQwLCAweDc1LCAweGQwLCAweDEwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFhLCAweDc0LCAweDA4LCAweGYwLCAweGU1LCAweDM0LCAweDIwfSB9LAoteyAweDBlYWIsCTE2LAl7MHhlMiwgMHgwNiwgMHg5MCwgMHg3ZiwgMHhjYiwgMHhmMCwgMHg4MCwgMHgyMiwgMHhlNSwgMHgzMSwgMHgzMCwgMHhlMiwgMHgwYSwgMHg5MCwgMHg3ZiwgMHhjYn0gfSwKLXsgMHgwZWJiLAkxNiwJezB4ZTAsIDB4OTAsIDB4MDIsIDB4ZmEsIDB4ZjAsIDB4ODAsIDB4MTMsIDB4ZTUsIDB4MjIsIDB4MzAsIDB4ZTIsIDB4MDcsIDB4OTAsIDB4MjAsIDB4MTQsIDB4ZTB9IH0sCi17IDB4MGVjYiwJMTYsCXsweDQ0LCAweDAyLCAweGYwLCAweDkwLCAweDIwLCAweDExLCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweGU1LCAweDJjLCAweDcwLCAweDAzLCAweDc1LCAweDJjfSB9LAoteyAweDBlZGIsCTE2LAl7MHgxNCwgMHhkMCwgMHhkMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMn0gfSwKLXsgMHgwZWViLAkxNiwJezB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4YzB9IH0sCi17IDB4MGVmYiwJMTYsCXsweGQwLCAweDc1LCAweGQwLCAweDEwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFhLCAweDc0LCAweDEwLCAweGYwLCAweGU1LCAweDM0LCAweDIwfSB9LAoteyAweDBmMGIsCTE2LAl7MHhlMywgMHgwNiwgMHg5MCwgMHg3ZiwgMHhjZCwgMHhmMCwgMHg4MCwgMHgyMiwgMHhlNSwgMHgzMSwgMHgzMCwgMHhlMywgMHgwYSwgMHg5MCwgMHg3ZiwgMHhjZH0gfSwKLXsgMHgwZjFiLAkxNiwJezB4ZTAsIDB4OTAsIDB4MDIsIDB4ZmIsIDB4ZjAsIDB4ODAsIDB4MTMsIDB4ZTUsIDB4MjIsIDB4MzAsIDB4ZTMsIDB4MDcsIDB4OTAsIDB4MjAsIDB4MWMsIDB4ZTB9IH0sCi17IDB4MGYyYiwJMTYsCXsweDQ0LCAweDAyLCAweGYwLCAweDkwLCAweDIwLCAweDE5LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweGU1LCAweDJjLCAweDcwLCAweDAzLCAweDc1LCAweDJjfSB9LAoteyAweDBmM2IsCTE2LAl7MHgxNCwgMHhkMCwgMHhkMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMn0gfSwKLXsgMHgwZjRiLAkxNiwJezB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YTksIDB4NzQsIDB4ODAsIDB4ZjAsIDB4ZDB9IH0sCi17IDB4MGY1YiwJNiwJezB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzJ9IH0sCi17IDB4MGY2MSwJMTYsCXsweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFhLCAweDc0LCAweDgwLCAweGYwLCAweDkwfSB9LAoteyAweDBmNzEsCTEyLAl7MHgwMSwgMHhiZCwgMHg3NCwgMHhmZiwgMHhmMCwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMn0gfSwKLXsgMHgwZjdkLAkxNiwJezB4OTAsIDB4MDEsIDB4MjAsIDB4MTIsIDB4YTMsIDB4ZmEsIDB4MDAsIDB4MDAsIDB4MjUsIDB4ODAsIDB4OTAsIDB4MDEsIDB4MjQsIDB4NzQsIDB4MDgsIDB4ZjB9IH0sCi17IDB4MGY4ZCwJMTYsCXsweGEzLCAweDc0LCAweDAxLCAweGYwLCAweGEzLCAweDc0LCAweDZlLCAweGYwLCAweGEzLCAweGYwLCAweGEzLCAweDc0LCAweDEzLCAweGYwLCAweGEzLCAweDc0fSB9LAoteyAweDBmOWQsCTE2LAl7MHgxMSwgMHhmMCwgMHhlNCwgMHhhMywgMHhmMCwgMHhhMywgMHhmMCwgMHg5MCwgMHgwMSwgMHgxZSwgMHhmMCwgMHg5MCwgMHgwMSwgMHgxZSwgMHhlMCwgMHhmZn0gfSwKLXsgMHgwZmFkLAkxNiwJezB4MDQsIDB4YTMsIDB4ZjAsIDB4ZWYsIDB4NzUsIDB4ZjAsIDB4MGQsIDB4YTQsIDB4MjQsIDB4MDEsIDB4ZjksIDB4NzQsIDB4MDMsIDB4MzUsIDB4ZjAsIDB4YTh9IH0sCi17IDB4MGZiZCwJMTYsCXsweDAxLCAweGZjLCAweDdkLCAweDAxLCAweDdiLCAweDAxLCAweDdhLCAweDAxLCAweDc5LCAweDFmLCAweDdlLCAweDAwLCAweDdmLCAweDBkLCAweDEyLCAweGEyfSB9LAoteyAweDBmY2QsCTE2LAl7MHgxMiwgMHg3ZSwgMHgwMSwgMHg3ZiwgMHgxZiwgMHgxMiwgMHg4NywgMHhhNiwgMHg5MCwgMHgwMSwgMHgxZSwgMHhlMCwgMHgwNCwgMHhmMCwgMHhlMCwgMHhjM30gfSwKLXsgMHgwZmRkLAkxNiwJezB4OTQsIDB4MDQsIDB4NDAsIDB4YzcsIDB4ZTQsIDB4ZjUsIDB4MjcsIDB4OTAsIDB4MDEsIDB4MWUsIDB4ZjAsIDB4OTAsIDB4MDEsIDB4MWUsIDB4ZTAsIDB4ZmZ9IH0sCi17IDB4MGZlZCwJMTYsCXsweGMzLCAweDk0LCAweDA0LCAweDUwLCAweDFhLCAweDc0LCAweGY4LCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDAyLCAweGY1LCAweDgzLCAweGU0fSB9LAoteyAweDBmZmQsCTE2LAl7MHhmMCwgMHg3NCwgMHgyMywgMHgyZiwgMHhmOCwgMHhlNCwgMHhmNiwgMHg5MCwgMHgwMSwgMHgxZSwgMHhlMCwgMHgwNCwgMHhmMCwgMHg4MCwgMHhkYywgMHhlNH0gfSwKLXsgMHgxMDBkLAkxNiwJezB4ZjUsIDB4MzQsIDB4ZTUsIDB4YzAsIDB4NjAsIDB4MmYsIDB4OTAsIDB4MDEsIDB4MWUsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4MDEsIDB4MWUsIDB4ZTB9IH0sCi17IDB4MTAxZCwJMTYsCXsweGZmLCAweGQzLCAweDk0LCAweDA0LCAweDUwLCAweDFmLCAweGVmLCAweDE0LCAweGZmLCAweDc0LCAweDAxLCAweGE4LCAweDA3LCAweDA4LCAweDgwLCAweDAyfSB9LAoteyAweDEwMmQsCTE2LAl7MHhjMywgMHgzMywgMHhkOCwgMHhmYywgMHg0MiwgMHgzNCwgMHg3ZSwgMHgwMSwgMHg3ZiwgMHgxZSwgMHgxMiwgMHg4NCwgMHg0MSwgMHg5MCwgMHgwMSwgMHgxZX0gfSwKLXsgMHgxMDNkLAkxNiwJezB4ZTAsIDB4MDQsIDB4ZjAsIDB4ODAsIDB4ZDcsIDB4ZTQsIDB4ZjUsIDB4M2UsIDB4ZjUsIDB4MjIsIDB4ZjUsIDB4MzEsIDB4ZjUsIDB4MzIsIDB4OTAsIDB4MDF9IH0sCi17IDB4MTA0ZCwJMTYsCXsweDFlLCAweGYwLCAweDkwLCAweDAxLCAweDFlLCAweGUwLCAweGZmLCAweDc1LCAweGYwLCAweDA4LCAweGE0LCAweDI0LCAweDA2LCAweGY1LCAweDgyLCAweGU0fSB9LAoteyAweDEwNWQsCTE2LAl7MHgzNCwgMHgyMCwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHhmMCwgMHhmZSwgMHg3NCwgMHhjNSwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgwMX0gfSwKLXsgMHgxMDZkLAkxNiwJezB4ZjUsIDB4ODMsIDB4ZWUsIDB4ZjAsIDB4NzQsIDB4M2EsIDB4MmYsIDB4ZjgsIDB4YTYsIDB4MDYsIDB4NzQsIDB4MzYsIDB4MmYsIDB4ZjgsIDB4ZTQsIDB4ZjZ9IH0sCi17IDB4MTA3ZCwJMTYsCXsweDc0LCAweDJkLCAweDJmLCAweGY4LCAweGU0LCAweGY2LCAweDc0LCAweGZjLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDAyLCAweGY1LCAweDgzfSB9LAoteyAweDEwOGQsCTE2LAl7MHhlNCwgMHhmMCwgMHg5MCwgMHgwMSwgMHgxZSwgMHhlMCwgMHgwNCwgMHhmMCwgMHhlMCwgMHhiNCwgMHgwNCwgMHhiNiwgMHg5MCwgMHgyMCwgMHg2MCwgMHhlMH0gfSwKLXsgMHgxMDlkLAk0LAl7MHg1NCwgMHgwZiwgMHhmNSwgMHg0ZX0gfSwKLXsgMHgxMGExLAkxNiwJezB4NzAsIDB4MDMsIDB4MDIsIDB4MTEsIDB4MjYsIDB4ZTQsIDB4OTAsIDB4MDEsIDB4MWUsIDB4ZjAsIDB4OTAsIDB4MDEsIDB4MWUsIDB4ZTAsIDB4ZmYsIDB4YzN9IH0sCi17IDB4MTBiMSwJMTYsCXsweDk0LCAweDA0LCAweDUwLCAweGU0LCAweDc0LCAweDAxLCAweGE4LCAweDA3LCAweDA4LCAweDgwLCAweDAyLCAweGMzLCAweDMzLCAweGQ4LCAweGZjLCAweDU1fSB9LAoteyAweDEwYzEsCTE2LAl7MHg0ZSwgMHg2MCwgMHg1YSwgMHg5MCwgMHgwMSwgMHgxZSwgMHhlMCwgMHhmZSwgMHg3NSwgMHhmMCwgMHgwOCwgMHhhNCwgMHgyNCwgMHgwMiwgMHhmNSwgMHg4Mn0gfSwKLXsgMHgxMGQxLAkxNiwJezB4ZTQsIDB4MzQsIDB4MjAsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4ZWUsIDB4NzUsIDB4ZjAsIDB4MDgsIDB4YTQsIDB4MjQsIDB4MDUsIDB4ZjUsIDB4ODJ9IH0sCi17IDB4MTBlMSwJMTYsCXsweGU0LCAweDM0LCAweDIwLCAweGY1LCAweDgzLCAweGUwLCAweGVlLCAweDc1LCAweGYwLCAweDA4LCAweGE0LCAweDI0LCAweDA2LCAweGY1LCAweDgyLCAweGU0fSB9LAoteyAweDEwZjEsCTE2LAl7MHgzNCwgMHgyMCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHhhZiwgMHgwNiwgMHhlZSwgMHg3NSwgMHhmMCwgMHgwZCwgMHhhNCwgMHgyNCwgMHgwMiwgMHhmNX0gfSwKLXsgMHgxMTAxLAkxNiwJezB4ODIsIDB4ZTQsIDB4MzQsIDB4MDMsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmMsIDB4YTMsIDB4ZTAsIDB4ZmQsIDB4YTMsIDB4ZTAsIDB4ZmUsIDB4YTMsIDB4ZTB9IH0sCi17IDB4MTExMSwJMTYsCXsweGY1LCAweDY2LCAweDhlLCAweDY1LCAweDhkLCAweDY0LCAweDhjLCAweDYzLCAweDdkLCAweDA2LCAweDEyLCAweDgzLCAweGRmLCAweDkwLCAweDAxLCAweDFlfSB9LAoteyAweDExMjEsCTYsCXsweGUwLCAweDA0LCAweGYwLCAweDgwLCAweDg1LCAweDIyfSB9LAoteyAweDExMjcsCTIsCXsweGFjLCAweDA3fSB9LAoteyAweDExMjksCTE2LAl7MHg5MCwgMHg3ZiwgMHhhNSwgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHhlYywgMHgyNSwgMHhlMCwgMHg0NCwgMHg0MSwgMHg5MCwgMHg3ZiwgMHhhNiwgMHhmMH0gfSwKLXsgMHgxMTM5LAkxNiwJezB4N2IsIDB4M2MsIDB4YWYsIDB4MDMsIDB4MWIsIDB4ZWYsIDB4NzAsIDB4MTYsIDB4OTAsIDB4N2YsIDB4YTUsIDB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjAsIDB4OTB9IH0sCi17IDB4MTE0OSwJMTYsCXsweDdmLCAweGE2LCAweGUwLCAweGZkLCAweDdkLCAweDMyLCAweGFmLCAweDA1LCAweDFkLCAweGVmLCAweDYwLCAweGQ0LCAweDgwLCAweGY4LCAweDkwLCAweDdmfSB9LAoteyAweDExNTksCTE2LAl7MHhhNSwgMHhlMCwgMHhmZCwgMHgzMCwgMHhlMCwgMHhkYywgMHgyMCwgMHhlMSwgMHgwOSwgMHhlMCwgMHg0NCwgMHg0MCwgMHhmMCwgMHg3ZSwgMHhmZiwgMHg3Zn0gfSwKLXsgMHgxMTY5LAkxNiwJezB4ZjksIDB4MjIsIDB4ZWQsIDB4MzAsIDB4ZTIsIDB4MGMsIDB4OTAsIDB4N2YsIDB4YTUsIDB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjAsIDB4N2UsIDB4ZmYsIDB4N2Z9IH0sCi17IDB4MTE3OSwJMTYsCXsweGZhLCAweDIyLCAweDkwLCAweDdmLCAweGE1LCAweGUwLCAweDQ0LCAweDIwLCAweGYwLCAweDkwLCAweDdmLCAweGE2LCAweGUwLCAweGZkLCAweDdiLCAweDFlfSB9LAoteyAweDExODksCTE2LAl7MHhhZiwgMHgwMywgMHgxYiwgMHhlZiwgMHg3MCwgMHgxNiwgMHg5MCwgMHg3ZiwgMHhhNSwgMHhlMCwgMHg0NCwgMHg0MCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhNn0gfSwKLXsgMHgxMTk5LAkxNiwJezB4ZTAsIDB4ZmQsIDB4N2QsIDB4MzIsIDB4YWYsIDB4MDUsIDB4MWQsIDB4ZWYsIDB4NjAsIDB4ODYsIDB4ODAsIDB4ZjgsIDB4OTAsIDB4N2YsIDB4YTUsIDB4ZTB9IH0sCi17IDB4MTFhOSwJMTYsCXsweGZkLCAweDIwLCAweGUwLCAweGRjLCAweDdiLCAweDNjLCAweGFmLCAweDAzLCAweDFiLCAweGVmLCAweDcwLCAweDE5LCAweDkwLCAweDdmLCAweGE1LCAweGUwfSB9LAoteyAweDExYjksCTE2LAl7MHg0NCwgMHg0MCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhNiwgMHhlMCwgMHhmZCwgMHg3ZCwgMHgzMiwgMHhhZiwgMHgwNSwgMHgxZCwgMHhlZiwgMHg3MCwgMHgwM30gfSwKLXsgMHgxMWM5LAkxNiwJezB4MDIsIDB4MTEsIDB4MjksIDB4ODAsIDB4ZjUsIDB4OTAsIDB4N2YsIDB4YTUsIDB4ZTAsIDB4ZmQsIDB4MzAsIDB4ZTAsIDB4ZDksIDB4MzAsIDB4ZTIsIDB4MDl9IH0sCi17IDB4MTFkOSwJMTYsCXsweGUwLCAweDQ0LCAweDQwLCAweGYwLCAweDdlLCAweGZmLCAweDdmLCAweGZhLCAweDIyLCAweGMyLCAweGFmLCAweDkwLCAweDdmLCAweGE1LCAweGUwLCAweDQ0fSB9LAoteyAweDExZTksCTEyLAl7MHg0MCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhNiwgMHhlMCwgMHhmZCwgMHhkMiwgMHhhZiwgMHhmZiwgMHg3ZSwgMHgwMH0gfSwKLXsgMHgxMWY1LAkxLAl7MHgyMn0gfSwKLXsgMHgxMjAwLAkxNiwJezB4MTIsIDB4MDEsIDB4MDAsIDB4MDEsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4NDAsIDB4MTAsIDB4MDcsIDB4MDEsIDB4ODAsIDB4NDIsIDB4MDAsIDB4MDEsIDB4MDJ9IH0sCi17IDB4MTIxMCwJMTYsCXsweDAzLCAweDAxLCAweDA5LCAweDAyLCAweDU4LCAweDAwLCAweDAxLCAweDAxLCAweDA0LCAweDgwLCAweDNjLCAweDA5LCAweDA0LCAweDAwLCAweDAwLCAweDBhfSB9LAoteyAweDEyMjAsCTE2LAl7MHhmZiwgMHhmZiwgMHhmZiwgMHgwNSwgMHgwNywgMHgwNSwgMHg4MSwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMSwgMHgwMiwgMHg0MH0gfSwKLXsgMHgxMjMwLAkxNiwJezB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4ODIsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDIsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDB9IH0sCi17IDB4MTI0MCwJMTYsCXsweDA3LCAweDA1LCAweDgzLCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAzLCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1fSB9LAoteyAweDEyNTAsCTE2LAl7MHg4NCwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwNCwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHg4NywgMHgwMn0gfSwKLXsgMHgxMjYwLAkxNiwJezB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDcsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDQsIDB4MDMsIDB4MDksIDB4MDQsIDB4MjQsIDB4MDN9IH0sCi17IDB4MTI3MCwJMTYsCXsweDQzLCAweDAwLCAweDZmLCAweDAwLCAweDZlLCAweDAwLCAweDZlLCAweDAwLCAweDY1LCAweDAwLCAweDYzLCAweDAwLCAweDc0LCAweDAwLCAweDIwLCAweDAwfSB9LAoteyAweDEyODAsCTE2LAl7MHg1NCwgMHgwMCwgMHg2NSwgMHgwMCwgMHg2MywgMHgwMCwgMHg2OCwgMHgwMCwgMHgyMCwgMHgwMCwgMHg0OSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2MywgMHgwMH0gfSwKLXsgMHgxMjkwLAkxNiwJezB4MmUsIDB4MDAsIDB4MTgsIDB4MDMsIDB4NTcsIDB4MDAsIDB4NjgsIDB4MDAsIDB4NjksIDB4MDAsIDB4NzQsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NDgsIDB4MDB9IH0sCi17IDB4MTJhMCwJMTYsCXsweDQ1LCAweDAwLCAweDQxLCAweDAwLCAweDU0LCAweDAwLCAweDJkLCAweDAwLCAweDM0LCAweDAwLCAweDFhLCAweDAzLCAweDU4LCAweDAwLCAweDU4LCAweDAwfSB9LAoteyAweDEyYjAsCTE2LAl7MHgyZCwgMHgwMCwgMHg1OCwgMHgwMCwgMHg1OCwgMHgwMCwgMHgyZCwgMHgwMCwgMHg1OCwgMHgwMCwgMHg1OCwgMHgwMCwgMHg1OCwgMHgwMCwgMHg1OCwgMHgwMH0gfSwKLXsgMHgxMmMwLAkxNiwJezB4NTgsIDB4MDAsIDB4NTgsIDB4MDAsIDB4MmEsIDB4MDMsIDB4NDMsIDB4MDAsIDB4NmYsIDB4MDAsIDB4NmUsIDB4MDAsIDB4NjYsIDB4MDAsIDB4NjksIDB4MDB9IH0sCi17IDB4MTJkMCwJMTYsCXsweDY3LCAweDAwLCAweDc1LCAweDAwLCAweDcyLCAweDAwLCAweDYxLCAweDAwLCAweDc0LCAweDAwLCAweDY5LCAweDAwLCAweDZmLCAweDAwLCAweDZlLCAweDAwfSB9LAoteyAweDEyZTAsCTE2LAl7MHgyMCwgMHgwMCwgMHg1MywgMHgwMCwgMHg3NCwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2OSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2NywgMHgwMCwgMHgyMiwgMHgwM30gfSwKLXsgMHgxMmYwLAkxNiwJezB4NDksIDB4MDAsIDB4NmUsIDB4MDAsIDB4NzQsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjYsIDB4MDAsIDB4NjEsIDB4MDAsIDB4NjMsIDB4MDB9IH0sCi17IDB4MTMwMCwJMTYsCXsweDY1LCAweDAwLCAweDIwLCAweDAwLCAweDUzLCAweDAwLCAweDc0LCAweDAwLCAweDcyLCAweDAwLCAweDY5LCAweDAwLCAweDZlLCAweDAwLCAweDY3LCAweDAwfSB9LAoteyAweDEzMTAsCTIsCXsweDAwLCAweDAwfSB9LAoteyAweDEzMTIsCTE2LAl7MHhjMCwgMHhlMCwgMHhjMCwgMHhmMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHhjMCwgMHhkMH0gfSwKLXsgMHgxMzIyLAkxNiwJezB4NzUsIDB4ODYsIDB4MDAsIDB4NzUsIDB4ZDAsIDB4MTgsIDB4OTAsIDB4MjAsIDB4NjAsIDB4ZTAsIDB4NTQsIDB4MGYsIDB4ZjUsIDB4ZjAsIDB4NzAsIDB4MTF9IH0sCi17IDB4MTMzMiwJMTYsCXsweGQwLCAweGQwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGYwLCAweGQwLCAweGUwfSB9LAoteyAweDEzNDIsCTE2LAl7MHgzMiwgMHg3NSwgMHg4NiwgMHgwMCwgMHgxMCwgMHhmMCwgMHgwYiwgMHgxMCwgMHhmMSwgMHgxMiwgMHgxMCwgMHhmMiwgMHgxOSwgMHgxMCwgMHhmMywgMHgyMH0gfSwKLXsgMHgxMzUyLAkxNiwJezB4ODAsIDB4ZDQsIDB4ZTUsIDB4MjgsIDB4NzAsIDB4MDMsIDB4NzUsIDB4MjgsIDB4MTQsIDB4MDIsIDB4MTMsIDB4N2MsIDB4ZTUsIDB4MjksIDB4NzAsIDB4MDN9IH0sCi17IDB4MTM2MiwJMTYsCXsweDc1LCAweDI5LCAweDE0LCAweDAyLCAweDE1LCAweDBkLCAweGU1LCAweDJhLCAweDcwLCAweDAzLCAweDc1LCAweDJhLCAweDE0LCAweDAyLCAweDE2LCAweDllfSB9LAoteyAweDEzNzIsCTE2LAl7MHhlNSwgMHgyYiwgMHg3MCwgMHgwMywgMHg3NSwgMHgyYiwgMHgxNCwgMHgwMiwgMHgxOCwgMHgyZiwgMHg5MCwgMHgyMCwgMHgwMiwgMHhlMCwgMHg1NCwgMHgzZn0gfSwKLXsgMHgxMzgyLAkxNiwJezB4MjAsIDB4ZTIsIDB4M2EsIDB4MjAsIDB4ZTEsIDB4MGIsIDB4MjAsIDB4ZTQsIDB4MGIsIDB4MjAsIDB4ZTUsIDB4MTQsIDB4NjAsIDB4MDksIDB4MDIsIDB4MTN9IH0sCi17IDB4MTM5MiwJMTYsCXsweDQzLCAweDAyLCAweDE0LCAweDY1LCAweDAyLCAweDEzLCAweDQzLCAweDQzLCAweDgyLCAweDA0LCAweGUwLCAweGY1LCAweDNhLCAweDAyLCAweDEzLCAweDQzfSB9LAoteyAweDEzYTIsCTE2LAl7MHg0MywgMHg4MiwgMHgwNCwgMHhlMCwgMHg0MywgMHgyZCwgMHgwMSwgMHgwMiwgMHgxMywgMHg0MywgMHg1MywgMHg4MiwgMHhmOCwgMHg0MywgMHg4MiwgMHgwNX0gfSwKLXsgMHgxM2IyLAkxNiwJezB4ZTAsIDB4NDIsIDB4MzYsIDB4NTMsIDB4ODIsIDB4ZmIsIDB4ZTAsIDB4NTQsIDB4ZmIsIDB4ZjAsIDB4MDIsIDB4MTMsIDB4NDMsIDB4MzAsIDB4ZTEsIDB4MDJ9IH0sCi17IDB4MTNjMiwJMTYsCXsweDgwLCAweGU4LCAweGY1LCAweDg1LCAweGU1LCAweDMyLCAweDMwLCAweGUwLCAweDBhLCAweDUzLCAweDgyLCAweGY4LCAweDQzLCAweDgyLCAweDA0LCAweGUwfSB9LAoteyAweDEzZDIsCTE2LAl7MHg1NCwgMHhmZSwgMHhmMCwgMHhlNSwgMHg4NSwgMHgyMCwgMHhlMywgMHg1NiwgMHg5MCwgMHgyMCwgMHg1MCwgMHg3NCwgMHgwMCwgMHhmMCwgMHg5MCwgMHgyMH0gfSwKLXsgMHgxM2UyLAkxNiwJezB4NTgsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZTIsIDB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZTMsIDB4MDUsIDB4ODZ9IH0sCi17IDB4MTNmMiwJMTYsCXsweDkwLCAweDdlLCAweDgwLCAweDA1LCAweDg2LCAweGU1LCAweDg1LCAweGYwLCAweGEzLCAweGU1LCAweDg0LCAweGYwLCAweDA1LCAweDg2LCAweDkwLCAweDdmfSB9LAoteyAweDE0MDIsCTE2LAl7MHhlNSwgMHhlNSwgMHgzZiwgMHhmZCwgMHgwMywgMHgwMywgMHgwMywgMHhmZSwgMHhmMCwgMHhmMCwgMHhmMCwgMHhmMCwgMHhmMCwgMHhmMCwgMHhmMCwgMHhmMH0gfSwKLXsgMHgxNDEyLAkxNiwJezB4ZGUsIDB4ZjYsIDB4OTAsIDB4N2YsIDB4ZTIsIDB4ZTAsIDB4NTQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4MjAsIDB4NTgsIDB4NzQsIDB4MDAsIDB4ZjAsIDB4OTB9IH0sCi17IDB4MTQyMiwJMTYsCXsweDdmLCAweGI3LCAweGVkLCAweGYwLCAweDkwLCAweDIwLCAweDAxLCAweGUwLCAweDU0LCAweGZlLCAweGYwLCAweDAyLCAweDEzLCAweDQzLCAweDdmLCAweDQwfSB9LAoteyAweDE0MzIsCTE2LAl7MHg5MCwgMHg3ZSwgMHg4MCwgMHgwNSwgMHg4NiwgMHg5MCwgMHgyMCwgMHgwMCwgMHhlNSwgMHg4NCwgMHhmZSwgMHgyNCwgMHgwNSwgMHhmZCwgMHg4ZCwgMHg4NH0gfSwKLXsgMHgxNDQyLAkxNiwJezB4ZTAsIDB4OGUsIDB4ODQsIDB4MzAsIDB4ZTAsIDB4MDksIDB4ZTAsIDB4MDUsIDB4ODYsIDB4ZjAsIDB4YTMsIDB4MDUsIDB4ODYsIDB4ZGYsIDB4ZWYsIDB4MDV9IH0sCi17IDB4MTQ1MiwJMTYsCXsweDg2LCAweGMzLCAweDc0LCAweDQwLCAweDlmLCAweDkwLCAweDdmLCAweGI3LCAweGYwLCAweDA1LCAweDg2LCAweGEzLCAweGUwLCAweDU0LCAweGZlLCAweGYwfSB9LAoteyAweDE0NjIsCTE2LAl7MHgwMiwgMHgxMywgMHg0MywgMHg1MywgMHgyZCwgMHhmYSwgMHhlNSwgMHgyMywgMHg2MCwgMHgwOCwgMHg3NSwgMHgyMywgMHgwMCwgMHhkMiwgMHhlNywgMHhmZX0gfSwKLXsgMHgxNDcyLAkxNiwJezB4ODAsIDB4MGEsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZTAsIDB4ZmUsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MTQsIDB4ZmYsIDB4OTAsIDB4MjAsIDB4NTAsIDB4NzR9IH0sCi17IDB4MTQ4MiwJMTYsCXsweDAwLCAweGYwLCAweDkwLCAweDIwLCAweDU4LCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGUyLCAweGUwLCAweDQ0LCAweDQwLCAweGYwLCAweDkwfSB9LAoteyAweDE0OTIsCTE2LAl7MHg3ZiwgMHhlMywgMHgwNSwgMHg4NiwgMHg5MCwgMHg3ZSwgMHg0MCwgMHgwNSwgMHg4NiwgMHhlNSwgMHg4NSwgMHhmMCwgMHhhMywgMHhlNSwgMHg4NCwgMHhmMH0gfSwKLXsgMHgxNGEyLAkxNiwJezB4MDUsIDB4ODYsIDB4OTAsIDB4N2YsIDB4ZTUsIDB4ZWUsIDB4MzAsIDB4ZTcsIDB4MDgsIDB4MDUsIDB4ODYsIDB4ZTAsIDB4MjQsIDB4MzgsIDB4ZjAsIDB4MDV9IH0sCi17IDB4MTRiMiwJMTYsCXsweDg2LCAweGVlLCAweDU0LCAweDdmLCAweGZlLCAweDU0LCAweDA3LCAweGZiLCAweGVlLCAweDU0LCAweDc4LCAweDYwLCAweDMwLCAweDAzLCAweDAzLCAweDAzfSB9LAoteyAweDE0YzIsCTE2LAl7MHgzMCwgMHhlMywgMHgwNCwgMHg3NCwgMHgwNywgMHg3YiwgMHgwOCwgMHhmZCwgMHhmYywgMHhlMCwgMHhlMCwgMHhlMCwgMHhlMCwgMHhlMCwgMHhlMCwgMHhlMH0gfSwKLXsgMHgxNGQyLAkxNiwJezB4ZTAsIDB4ZGQsIDB4ZjYsIDB4ZWIsIDB4ZmUsIDB4NjAsIDB4MTksIDB4ZWMsIDB4NjQsIDB4MDcsIDB4NzAsIDB4MTEsIDB4OGIsIDB4MjMsIDB4OTAsIDB4N2Z9IH0sCi17IDB4MTRlMiwJMTYsCXsweGUyLCAweGUwLCAweDU0LCAweGJmLCAweGYwLCAweDkwLCAweDIwLCAweDU4LCAweDc0LCAweDAwLCAweGYwLCAweDgwLCAweDFiLCAweGUwLCAweGRlLCAweGZkfSB9LAoteyAweDE0ZjIsCTE2LAl7MHg5MCwgMHg3ZiwgMHhlMiwgMHhlMCwgMHg1NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHgyMCwgMHg1OCwgMHg3NCwgMHgwMCwgMHhmMCwgMHg5MCwgMHgyMCwgMHgwMX0gfSwKLXsgMHgxNTAyLAkxNiwJezB4ZTAsIDB4NTQsIDB4ZmQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZjAsIDB4MDIsIDB4MTMsIDB4NDMsIDB4OTAsIDB4MjAsIDB4MGEsIDB4ZTAsIDB4NTR9IH0sCi17IDB4MTUxMiwJMTYsCXsweDNmLCAweDIwLCAweGUyLCAweDNhLCAweDIwLCAweGUxLCAweDBiLCAweDIwLCAweGU0LCAweDBiLCAweDIwLCAweGU1LCAweDE0LCAweDYwLCAweDA5LCAweDAyfSB9LAoteyAweDE1MjIsCTE2LAl7MHgxMywgMHg0MywgMHgwMiwgMHgxNSwgMHhmNiwgMHgwMiwgMHgxMywgMHg0MywgMHg0MywgMHg4MiwgMHgwNCwgMHhlMCwgMHhmNSwgMHgzYiwgMHgwMiwgMHgxM30gfSwKLXsgMHgxNTMyLAkxNiwJezB4NDMsIDB4NDMsIDB4ODIsIDB4MDQsIDB4ZTAsIDB4NDMsIDB4MmUsIDB4MDEsIDB4MDIsIDB4MTMsIDB4NDMsIDB4NTMsIDB4ODIsIDB4ZjgsIDB4NDMsIDB4ODJ9IH0sCi17IDB4MTU0MiwJMTYsCXsweDA1LCAweGUwLCAweDQyLCAweDM3LCAweDUzLCAweDgyLCAweGZiLCAweGUwLCAweDU0LCAweGZiLCAweGYwLCAweDAyLCAweDEzLCAweDQzLCAweDMwLCAweGUxfSB9LAoteyAweDE1NTIsCTE2LAl7MHgwMiwgMHg4MCwgMHhlOCwgMHhmNSwgMHg4NSwgMHhlNSwgMHgzMiwgMHgzMCwgMHhlMSwgMHgwYSwgMHg1MywgMHg4MiwgMHhmOCwgMHg0MywgMHg4MiwgMHgwNH0gfSwKLXsgMHgxNTYyLAkxNiwJezB4ZTAsIDB4NTQsIDB4ZmUsIDB4ZjAsIDB4ZTUsIDB4ODUsIDB4MjAsIDB4ZTMsIDB4NTYsIDB4OTAsIDB4MjAsIDB4NTAsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTB9IH0sCi17IDB4MTU3MiwJMTYsCXsweDIwLCAweDU4LCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGUyLCAweGUwLCAweDQ0LCAweDQwLCAweGYwLCAweDkwLCAweDdmLCAweGUzLCAweDA1fSB9LAoteyAweDE1ODIsCTE2LAl7MHg4NiwgMHg5MCwgMHg3ZSwgMHgwMCwgMHgwNSwgMHg4NiwgMHhlNSwgMHg4NSwgMHhmMCwgMHhhMywgMHhlNSwgMHg4NCwgMHhmMCwgMHgwNSwgMHg4NiwgMHg5MH0gfSwKLXsgMHgxNTkyLAkxNiwJezB4N2YsIDB4ZTUsIDB4ZTUsIDB4NDAsIDB4ZmQsIDB4MDMsIDB4MDMsIDB4MDMsIDB4ZmUsIDB4ZjAsIDB4ZjAsIDB4ZjAsIDB4ZjAsIDB4ZjAsIDB4ZjAsIDB4ZjB9IH0sCi17IDB4MTVhMiwJMTYsCXsweGYwLCAweGRlLCAweGY2LCAweDkwLCAweDdmLCAweGUyLCAweGUwLCAweDU0LCAweGJmLCAweGYwLCAweDkwLCAweDIwLCAweDU4LCAweDc0LCAweDAwLCAweGYwfSB9LAoteyAweDE1YjIsCTE2LAl7MHg5MCwgMHg3ZiwgMHhiOSwgMHhlZCwgMHhmMCwgMHg5MCwgMHgyMCwgMHgwOSwgMHhlMCwgMHg1NCwgMHhmZSwgMHhmMCwgMHgwMiwgMHgxMywgMHg0MywgMHg3Zn0gfSwKLXsgMHgxNWMyLAkxNiwJezB4NDAsIDB4OTAsIDB4N2UsIDB4MDAsIDB4MDUsIDB4ODYsIDB4OTAsIDB4MjAsIDB4MDgsIDB4ZTUsIDB4ODQsIDB4ZmUsIDB4MjQsIDB4MDUsIDB4ZmQsIDB4OGR9IH0sCi17IDB4MTVkMiwJMTYsCXsweDg0LCAweGUwLCAweDhlLCAweDg0LCAweDMwLCAweGUwLCAweDA5LCAweGUwLCAweDA1LCAweDg2LCAweGYwLCAweGEzLCAweDA1LCAweDg2LCAweGRmLCAweGVmfSB9LAoteyAweDE1ZTIsCTE2LAl7MHgwNSwgMHg4NiwgMHhjMywgMHg3NCwgMHg0MCwgMHg5ZiwgMHg5MCwgMHg3ZiwgMHhiOSwgMHhmMCwgMHgwNSwgMHg4NiwgMHhhMywgMHhlMCwgMHg1NCwgMHhmZX0gfSwKLXsgMHgxNWYyLAkxNiwJezB4ZjAsIDB4MDIsIDB4MTMsIDB4NDMsIDB4NTMsIDB4MmUsIDB4ZmEsIDB4ZTUsIDB4MjQsIDB4NjAsIDB4MDgsIDB4NzUsIDB4MjQsIDB4MDAsIDB4ZDIsIDB4ZTd9IH0sCi17IDB4MTYwMiwJMTYsCXsweGZlLCAweDgwLCAweDBhLCAweDkwLCAweDdmLCAweGM5LCAweGUwLCAweGZlLCAweDcwLCAweDAzLCAweDAyLCAweDE2LCAweDkwLCAweDkwLCAweDIwLCAweDUwfSB9LAoteyAweDE2MTIsCTE2LAl7MHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHgyMCwgMHg1OCwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlMiwgMHhlMCwgMHg0NCwgMHg0MCwgMHhmMH0gfSwKLXsgMHgxNjIyLAkxNiwJezB4OTAsIDB4N2YsIDB4ZTMsIDB4MDUsIDB4ODYsIDB4OTAsIDB4N2QsIDB4YzAsIDB4MDUsIDB4ODYsIDB4ZTUsIDB4ODUsIDB4ZjAsIDB4YTMsIDB4ZTUsIDB4ODR9IH0sCi17IDB4MTYzMiwJMTYsCXsweGYwLCAweDA1LCAweDg2LCAweDkwLCAweDdmLCAweGU1LCAweGVlLCAweDMwLCAweGU3LCAweDA4LCAweDA1LCAweDg2LCAweGUwLCAweDI0LCAweDM4LCAweGYwfSB9LAoteyAweDE2NDIsCTE2LAl7MHgwNSwgMHg4NiwgMHhlZSwgMHg1NCwgMHg3ZiwgMHhmZSwgMHg1NCwgMHgwNywgMHhmYiwgMHhlZSwgMHg1NCwgMHg3OCwgMHg2MCwgMHgzMCwgMHgwMywgMHgwM30gfSwKLXsgMHgxNjUyLAkxNiwJezB4MDMsIDB4MzAsIDB4ZTMsIDB4MDQsIDB4NzQsIDB4MDcsIDB4N2IsIDB4MDgsIDB4ZmQsIDB4ZmMsIDB4ZTAsIDB4ZTAsIDB4ZTAsIDB4ZTAsIDB4ZTAsIDB4ZTB9IH0sCi17IDB4MTY2MiwJMTYsCXsweGUwLCAweGUwLCAweGRkLCAweGY2LCAweGViLCAweGZlLCAweDYwLCAweDE5LCAweGVjLCAweDY0LCAweDA3LCAweDcwLCAweDExLCAweDhiLCAweDI0LCAweDkwfSB9LAoteyAweDE2NzIsCTE2LAl7MHg3ZiwgMHhlMiwgMHhlMCwgMHg1NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHgyMCwgMHg1OCwgMHg3NCwgMHgwMCwgMHhmMCwgMHg4MCwgMHgxYiwgMHhlMCwgMHhkZX0gfSwKLXsgMHgxNjgyLAkxNCwJezB4ZmQsIDB4OTAsIDB4N2YsIDB4ZTIsIDB4ZTAsIDB4NTQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4MjAsIDB4NTgsIDB4NzQsIDB4MDAsIDB4ZjB9IH0sCi17IDB4MTY5MCwJMTYsCXsweDkwLCAweDIwLCAweDA5LCAweGUwLCAweDU0LCAweGZkLCAweGYwLCAweDkwLCAweDdmLCAweGM5LCAweGYwLCAweDAyLCAweDEzLCAweDQzLCAweDkwLCAweDIwfSB9LAoteyAweDE2YTAsCTE2LAl7MHgxMiwgMHhlMCwgMHg1NCwgMHgzZiwgMHgyMCwgMHhlMiwgMHgzYSwgMHgyMCwgMHhlMSwgMHgwYiwgMHgyMCwgMHhlNCwgMHgwYiwgMHgyMCwgMHhlNSwgMHgxNH0gfSwKLXsgMHgxNmIwLAkxNiwJezB4NjAsIDB4MDksIDB4MDIsIDB4MTMsIDB4NDMsIDB4MDIsIDB4MTcsIDB4ODcsIDB4MDIsIDB4MTMsIDB4NDMsIDB4NDMsIDB4ODIsIDB4MDQsIDB4ZTAsIDB4ZjV9IH0sCi17IDB4MTZjMCwJMTYsCXsweDNjLCAweDAyLCAweDEzLCAweDQzLCAweDQzLCAweDgyLCAweDA0LCAweGUwLCAweDQzLCAweDJmLCAweDAxLCAweDAyLCAweDEzLCAweDQzLCAweDUzLCAweDgyfSB9LAoteyAweDE2ZDAsCTE2LAl7MHhmOCwgMHg0MywgMHg4MiwgMHgwNSwgMHhlMCwgMHg0MiwgMHgzOCwgMHg1MywgMHg4MiwgMHhmYiwgMHhlMCwgMHg1NCwgMHhmYiwgMHhmMCwgMHgwMiwgMHgxM30gfSwKLXsgMHgxNmUwLAkxNiwJezB4NDMsIDB4MzAsIDB4ZTEsIDB4MDIsIDB4ODAsIDB4ZTgsIDB4ZjUsIDB4ODUsIDB4ZTUsIDB4MzIsIDB4MzAsIDB4ZTIsIDB4MGEsIDB4NTMsIDB4ODIsIDB4Zjh9IH0sCi17IDB4MTZmMCwJMTYsCXsweDQzLCAweDgyLCAweDA0LCAweGUwLCAweDU0LCAweGZlLCAweGYwLCAweGU1LCAweDg1LCAweDIwLCAweGUzLCAweDU2LCAweDkwLCAweDIwLCAweDUwLCAweDc0fSB9LAoteyAweDE3MDAsCTE2LAl7MHgwMiwgMHhmMCwgMHg5MCwgMHgyMCwgMHg1OCwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlMiwgMHhlMCwgMHg0NCwgMHg0MCwgMHhmMCwgMHg5MH0gfSwKLXsgMHgxNzEwLAkxNiwJezB4N2YsIDB4ZTMsIDB4MDUsIDB4ODYsIDB4OTAsIDB4N2QsIDB4ODAsIDB4MDUsIDB4ODYsIDB4ZTUsIDB4ODUsIDB4ZjAsIDB4YTMsIDB4ZTUsIDB4ODQsIDB4ZjB9IH0sCi17IDB4MTcyMCwJMTYsCXsweDA1LCAweDg2LCAweDkwLCAweDdmLCAweGU1LCAweGU1LCAweDQxLCAweGZkLCAweDAzLCAweDAzLCAweDAzLCAweGZlLCAweGYwLCAweGYwLCAweGYwLCAweGYwfSB9LAoteyAweDE3MzAsCTE2LAl7MHhmMCwgMHhmMCwgMHhmMCwgMHhmMCwgMHhkZSwgMHhmNiwgMHg5MCwgMHg3ZiwgMHhlMiwgMHhlMCwgMHg1NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHgyMCwgMHg1OH0gfSwKLXsgMHgxNzQwLAkxNiwJezB4NzQsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YmIsIDB4ZWQsIDB4ZjAsIDB4OTAsIDB4MjAsIDB4MTEsIDB4ZTAsIDB4NTQsIDB4ZmUsIDB4ZjAsIDB4MDJ9IH0sCi17IDB4MTc1MCwJMTYsCXsweDEzLCAweDQzLCAweDdmLCAweDQwLCAweDkwLCAweDdkLCAweDgwLCAweDA1LCAweDg2LCAweDkwLCAweDIwLCAweDEwLCAweGU1LCAweDg0LCAweGZlLCAweDI0fSB9LAoteyAweDE3NjAsCTE2LAl7MHgwNSwgMHhmZCwgMHg4ZCwgMHg4NCwgMHhlMCwgMHg4ZSwgMHg4NCwgMHgzMCwgMHhlMCwgMHgwOSwgMHhlMCwgMHgwNSwgMHg4NiwgMHhmMCwgMHhhMywgMHgwNX0gfSwKLXsgMHgxNzcwLAkxNiwJezB4ODYsIDB4ZGYsIDB4ZWYsIDB4MDUsIDB4ODYsIDB4YzMsIDB4NzQsIDB4NDAsIDB4OWYsIDB4OTAsIDB4N2YsIDB4YmIsIDB4ZjAsIDB4MDUsIDB4ODYsIDB4YTN9IH0sCi17IDB4MTc4MCwJMTYsCXsweGUwLCAweDU0LCAweGZlLCAweGYwLCAweDAyLCAweDEzLCAweDQzLCAweDUzLCAweDJmLCAweGZhLCAweGU1LCAweDI1LCAweDYwLCAweDA4LCAweDc1LCAweDI1fSB9LAoteyAweDE3OTAsCTE2LAl7MHgwMCwgMHhkMiwgMHhlNywgMHhmZSwgMHg4MCwgMHgwYSwgMHg5MCwgMHg3ZiwgMHhjYiwgMHhlMCwgMHhmZSwgMHg3MCwgMHgwMywgMHgwMiwgMHgxOCwgMHgyMX0gfSwKLXsgMHgxN2EwLAkxNiwJezB4OTAsIDB4MjAsIDB4NTAsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4OTAsIDB4MjAsIDB4NTgsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZTIsIDB4ZTB9IH0sCi17IDB4MTdiMCwJMTYsCXsweDQ0LCAweDQwLCAweGYwLCAweDkwLCAweDdmLCAweGUzLCAweDA1LCAweDg2LCAweDkwLCAweDdkLCAweDQwLCAweDA1LCAweDg2LCAweGU1LCAweDg1LCAweGYwfSB9LAoteyAweDE3YzAsCTE2LAl7MHhhMywgMHhlNSwgMHg4NCwgMHhmMCwgMHgwNSwgMHg4NiwgMHg5MCwgMHg3ZiwgMHhlNSwgMHhlZSwgMHgzMCwgMHhlNywgMHgwOCwgMHgwNSwgMHg4NiwgMHhlMH0gfSwKLXsgMHgxN2QwLAkxNiwJezB4MjQsIDB4MzgsIDB4ZjAsIDB4MDUsIDB4ODYsIDB4ZWUsIDB4NTQsIDB4N2YsIDB4ZmUsIDB4NTQsIDB4MDcsIDB4ZmIsIDB4ZWUsIDB4NTQsIDB4NzgsIDB4NjB9IH0sCi17IDB4MTdlMCwJMTYsCXsweDMwLCAweDAzLCAweDAzLCAweDAzLCAweDMwLCAweGUzLCAweDA0LCAweDc0LCAweDA3LCAweDdiLCAweDA4LCAweGZkLCAweGZjLCAweGUwLCAweGUwLCAweGUwfSB9LAoteyAweDE3ZjAsCTE2LAl7MHhlMCwgMHhlMCwgMHhlMCwgMHhlMCwgMHhlMCwgMHhkZCwgMHhmNiwgMHhlYiwgMHhmZSwgMHg2MCwgMHgxOSwgMHhlYywgMHg2NCwgMHgwNywgMHg3MCwgMHgxMX0gfSwKLXsgMHgxODAwLAkxNiwJezB4OGIsIDB4MjUsIDB4OTAsIDB4N2YsIDB4ZTIsIDB4ZTAsIDB4NTQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4MjAsIDB4NTgsIDB4NzQsIDB4MDAsIDB4ZjAsIDB4ODB9IH0sCi17IDB4MTgxMCwJMTYsCXsweDFiLCAweGUwLCAweGRlLCAweGZkLCAweDkwLCAweDdmLCAweGUyLCAweGUwLCAweDU0LCAweGJmLCAweGYwLCAweDkwLCAweDIwLCAweDU4LCAweDc0LCAweDAwfSB9LAoteyAweDE4MjAsCTE2LAl7MHhmMCwgMHg5MCwgMHgyMCwgMHgxMSwgMHhlMCwgMHg1NCwgMHhmZCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhjYiwgMHhmMCwgMHgwMiwgMHgxMywgMHg0MywgMHg5MH0gfSwKLXsgMHgxODMwLAkxNiwJezB4MjAsIDB4MWEsIDB4ZTAsIDB4NTQsIDB4M2YsIDB4MjAsIDB4ZTIsIDB4M2EsIDB4MjAsIDB4ZTEsIDB4MGIsIDB4MjAsIDB4ZTQsIDB4MGIsIDB4MjAsIDB4ZTV9IH0sCi17IDB4MTg0MCwJMTYsCXsweDE0LCAweDYwLCAweDA5LCAweDAyLCAweDEzLCAweDQzLCAweDAyLCAweDE5LCAweDE4LCAweDAyLCAweDEzLCAweDQzLCAweDQzLCAweDgyLCAweDA0LCAweGUwfSB9LAoteyAweDE4NTAsCTE2LAl7MHhmNSwgMHgzZCwgMHgwMiwgMHgxMywgMHg0MywgMHg0MywgMHg4MiwgMHgwNCwgMHhlMCwgMHg0MywgMHgzMCwgMHgwMSwgMHgwMiwgMHgxMywgMHg0MywgMHg1M30gfSwKLXsgMHgxODYwLAkxNiwJezB4ODIsIDB4ZjgsIDB4NDMsIDB4ODIsIDB4MDUsIDB4ZTAsIDB4NDIsIDB4MzksIDB4NTMsIDB4ODIsIDB4ZmIsIDB4ZTAsIDB4NTQsIDB4ZmIsIDB4ZjAsIDB4MDJ9IH0sCi17IDB4MTg3MCwJMTYsCXsweDEzLCAweDQzLCAweDMwLCAweGUxLCAweDAyLCAweDgwLCAweGU4LCAweGY1LCAweDg1LCAweGU1LCAweDMyLCAweDMwLCAweGUzLCAweDBhLCAweDUzLCAweDgyfSB9LAoteyAweDE4ODAsCTE2LAl7MHhmOCwgMHg0MywgMHg4MiwgMHgwNCwgMHhlMCwgMHg1NCwgMHhmZSwgMHhmMCwgMHhlNSwgMHg4NSwgMHgyMCwgMHhlMywgMHg1NiwgMHg5MCwgMHgyMCwgMHg1MH0gfSwKLXsgMHgxODkwLAkxNiwJezB4NzQsIDB4MDMsIDB4ZjAsIDB4OTAsIDB4MjAsIDB4NTgsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZTIsIDB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjB9IH0sCi17IDB4MThhMCwJMTYsCXsweDkwLCAweDdmLCAweGUzLCAweDA1LCAweDg2LCAweDkwLCAweDdkLCAweDAwLCAweDA1LCAweDg2LCAweGU1LCAweDg1LCAweGYwLCAweGEzLCAweGU1LCAweDg0fSB9LAoteyAweDE4YjAsCTE2LAl7MHhmMCwgMHgwNSwgMHg4NiwgMHg5MCwgMHg3ZiwgMHhlNSwgMHhlNSwgMHg0MiwgMHhmZCwgMHgwMywgMHgwMywgMHgwMywgMHhmZSwgMHhmMCwgMHhmMCwgMHhmMH0gfSwKLXsgMHgxOGMwLAkxNiwJezB4ZjAsIDB4ZjAsIDB4ZjAsIDB4ZjAsIDB4ZjAsIDB4ZGUsIDB4ZjYsIDB4OTAsIDB4N2YsIDB4ZTIsIDB4ZTAsIDB4NTQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4MjB9IH0sCi17IDB4MThkMCwJMTYsCXsweDU4LCAweDc0LCAweDAwLCAweGYwLCAweDkwLCAweDdmLCAweGJkLCAweGVkLCAweGYwLCAweDkwLCAweDIwLCAweDE5LCAweGUwLCAweDU0LCAweGZlLCAweGYwfSB9LAoteyAweDE4ZTAsCTE2LAl7MHgwMiwgMHgxMywgMHg0MywgMHg3ZiwgMHg0MCwgMHg5MCwgMHg3ZCwgMHgwMCwgMHgwNSwgMHg4NiwgMHg5MCwgMHgyMCwgMHgxOCwgMHhlNSwgMHg4NCwgMHhmZX0gfSwKLXsgMHgxOGYwLAkxNiwJezB4MjQsIDB4MDUsIDB4ZmQsIDB4OGQsIDB4ODQsIDB4ZTAsIDB4OGUsIDB4ODQsIDB4MzAsIDB4ZTAsIDB4MDksIDB4ZTAsIDB4MDUsIDB4ODYsIDB4ZjAsIDB4YTN9IH0sCi17IDB4MTkwMCwJMTYsCXsweDA1LCAweDg2LCAweGRmLCAweGVmLCAweDA1LCAweDg2LCAweGMzLCAweDc0LCAweDQwLCAweDlmLCAweDkwLCAweDdmLCAweGJkLCAweGYwLCAweDA1LCAweDg2fSB9LAoteyAweDE5MTAsCTE2LAl7MHhhMywgMHhlMCwgMHg1NCwgMHhmZSwgMHhmMCwgMHgwMiwgMHgxMywgMHg0MywgMHg1MywgMHgzMCwgMHhmYSwgMHhlNSwgMHgyNiwgMHg2MCwgMHgwOCwgMHg3NX0gfSwKLXsgMHgxOTIwLAkxNiwJezB4MjYsIDB4MDAsIDB4ZDIsIDB4ZTcsIDB4ZmUsIDB4ODAsIDB4MGEsIDB4OTAsIDB4N2YsIDB4Y2QsIDB4ZTAsIDB4ZmUsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MTl9IH0sCi17IDB4MTkzMCwJMTYsCXsweGIyLCAweDkwLCAweDIwLCAweDUwLCAweDc0LCAweDAzLCAweGYwLCAweDkwLCAweDIwLCAweDU4LCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGUyfSB9LAoteyAweDE5NDAsCTE2LAl7MHhlMCwgMHg0NCwgMHg0MCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlMywgMHgwNSwgMHg4NiwgMHg5MCwgMHg3YywgMHhjMCwgMHgwNSwgMHg4NiwgMHhlNSwgMHg4NX0gfSwKLXsgMHgxOTUwLAkxNiwJezB4ZjAsIDB4YTMsIDB4ZTUsIDB4ODQsIDB4ZjAsIDB4MDUsIDB4ODYsIDB4OTAsIDB4N2YsIDB4ZTUsIDB4ZWUsIDB4MzAsIDB4ZTcsIDB4MDgsIDB4MDUsIDB4ODZ9IH0sCi17IDB4MTk2MCwJMTYsCXsweGUwLCAweDI0LCAweDM4LCAweGYwLCAweDA1LCAweDg2LCAweGVlLCAweDU0LCAweDdmLCAweGZlLCAweDU0LCAweDA3LCAweGZiLCAweGVlLCAweDU0LCAweDc4fSB9LAoteyAweDE5NzAsCTE2LAl7MHg2MCwgMHgzMCwgMHgwMywgMHgwMywgMHgwMywgMHgzMCwgMHhlMywgMHgwNCwgMHg3NCwgMHgwNywgMHg3YiwgMHgwOCwgMHhmZCwgMHhmYywgMHhlMCwgMHhlMH0gfSwKLXsgMHgxOTgwLAkxNiwJezB4ZTAsIDB4ZTAsIDB4ZTAsIDB4ZTAsIDB4ZTAsIDB4ZTAsIDB4ZGQsIDB4ZjYsIDB4ZWIsIDB4ZmUsIDB4NjAsIDB4MTksIDB4ZWMsIDB4NjQsIDB4MDcsIDB4NzB9IH0sCi17IDB4MTk5MCwJMTYsCXsweDExLCAweDhiLCAweDI2LCAweDkwLCAweDdmLCAweGUyLCAweGUwLCAweDU0LCAweGJmLCAweGYwLCAweDkwLCAweDIwLCAweDU4LCAweDc0LCAweDAwLCAweGYwfSB9LAoteyAweDE5YTAsCTE2LAl7MHg4MCwgMHgxYiwgMHhlMCwgMHhkZSwgMHhmZCwgMHg5MCwgMHg3ZiwgMHhlMiwgMHhlMCwgMHg1NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHgyMCwgMHg1OCwgMHg3NH0gfSwKLXsgMHgxOWIwLAkxNiwJezB4MDAsIDB4ZjAsIDB4OTAsIDB4MjAsIDB4MTksIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4Y2QsIDB4ZjAsIDB4MDIsIDB4MTMsIDB4NDN9IH0sCi17IDB4MTljMCwJMSwJezB4MzJ9IH0sCi17IDB4MTljMSwJNCwJezB4YWQsIDB4MDcsIDB4YWMsIDB4MDZ9IH0sCi17IDB4MTljNSwJMTYsCXsweDc5LCAweDA2LCAweGVkLCAweDI0LCAweDA0LCAweGY1LCAweDgyLCAweGU0LCAweDNjLCAweGY1LCAweDgzLCAweGUwLCAweGZhLCAweGEzLCAweGUwLCAweGZifSB9LAoteyAweDE5ZDUsCTE2LAl7MHg0YSwgMHg3MCwgMHgwMywgMHgwMiwgMHgxYiwgMHgwOSwgMHhlOSwgMHhiNCwgMHgwNywgMHgwMCwgMHg0MCwgMHgwMywgMHgwMiwgMHgxYSwgMHhkYiwgMHg5MH0gfSwKLXsgMHgxOWU1LAkxNiwJezB4MTksIDB4ZWIsIDB4ZjgsIDB4MjgsIDB4MjgsIDB4NzMsIDB4MDIsIDB4MWEsIDB4YjksIDB4MDIsIDB4MWEsIDB4NzEsIDB4MDIsIDB4MWEsIDB4NWEsIDB4MDJ9IH0sCi17IDB4MTlmNSwJMTYsCXsweDFhLCAweDQwLCAweDAyLCAweDFhLCAweDJmLCAweDAyLCAweDFhLCAweDFhLCAweDAyLCAweDFhLCAweDAwLCAweDkwLCAweDdmLCAweGE1LCAweGUwLCAweDQ0fSB9LAoteyAweDFhMDUsCTE2LAl7MHg4MCwgMHhmMCwgMHg4ZCwgMHg4MiwgMHg4YywgMHg4MywgMHhhMywgMHhlMCwgMHhmZiwgMHgyNSwgMHhlMCwgMHg0NCwgMHhhMCwgMHg5MCwgMHg3ZiwgMHhhNn0gfSwKLXsgMHgxYTE1LAkxNiwJezB4ZjAsIDB4MTksIDB4MDIsIDB4MWEsIDB4ZGIsIDB4MTksIDB4OGQsIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZTAsIDB4YzMsIDB4OTQsIDB4MjAsIDB4NDAsIDB4MGF9IH0sCi17IDB4MWEyNSwJMTYsCXsweGEzLCAweGEzLCAweGUwLCAweDkwLCAweDdmLCAweGE2LCAweGYwLCAweDAyLCAweDFhLCAweGRiLCAweDhkLCAweDgyLCAweDhjLCAweDgzLCAweGEzLCAweGEzfSB9LAoteyAweDFhMzUsCTE2LAl7MHhlMCwgMHhhMywgMHhlMCwgMHg5MCwgMHg3ZiwgMHhhNiwgMHhmMCwgMHgxOSwgMHgwMiwgMHgxYSwgMHhkYiwgMHg5MCwgMHg3ZiwgMHhhNSwgMHhlMCwgMHg0NH0gfSwKLXsgMHgxYTQ1LAkxNiwJezB4ODAsIDB4ZjAsIDB4OGQsIDB4ODIsIDB4OGMsIDB4ODMsIDB4YTMsIDB4ZTAsIDB4ZmYsIDB4MjUsIDB4ZTAsIDB4NDQsIDB4YTEsIDB4OTAsIDB4N2YsIDB4YTZ9IH0sCi17IDB4MWE1NSwJMTYsCXsweGYwLCAweDE5LCAweDAyLCAweDFhLCAweGRiLCAweGViLCAweDY0LCAweDAxLCAweDRhLCAweDcwLCAweDA4LCAweDkwLCAweDdmLCAweGE1LCAweGUwLCAweDQ0fSB9LAoteyAweDFhNjUsCTE2LAl7MHgyMCwgMHhmMCwgMHgxOSwgMHg5MCwgMHg3ZiwgMHhhNiwgMHhlMCwgMHhmNSwgMHg1OSwgMHgxOSwgMHg4MCwgMHg2YSwgMHhlZCwgMHgyNCwgMHgwNCwgMHhmNX0gfSwKLXsgMHgxYTc1LAkxNiwJezB4ODIsIDB4ZTQsIDB4M2MsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmUsIDB4YTMsIDB4ZTAsIDB4NjQsIDB4MDIsIDB4NGUsIDB4NzAsIDB4MDgsIDB4OTAsIDB4N2Z9IH0sCi17IDB4MWE4NSwJMTYsCXsweGE1LCAweGUwLCAweDQ0LCAweDIwLCAweGYwLCAweDE5LCAweDkwLCAweDdmLCAweGE2LCAweGUwLCAweGZmLCAweGVkLCAweDI0LCAweDA2LCAweGY1LCAweDgyfSB9LAoteyAweDFhOTUsCTE2LAl7MHhlNCwgMHgzYywgMHhmNSwgMHg4MywgMHhlNCwgMHg3NSwgMHhmMCwgMHgwMSwgMHgxMiwgMHhhMiwgMHg5NywgMHg4NSwgMHhmMCwgMHg4MiwgMHhmNSwgMHg4M30gfSwKLXsgMHgxYWE1LAkxNiwJezB4ZWYsIDB4ZjAsIDB4ZWQsIDB4MjQsIDB4MDQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4M2MsIDB4ZjUsIDB4ODMsIDB4NzQsIDB4ZmYsIDB4ZjUsIDB4ZjAsIDB4MTJ9IH0sCi17IDB4MWFiNSwJMTYsCXsweGEyLCAweDgxLCAweDgwLCAweDIyLCAweDkwLCAweDdmLCAweGE1LCAweGUwLCAweDQ0LCAweDQwLCAweGYwLCAweDkwLCAweDdmLCAweGE2LCAweGUwLCAweGZmfSB9LAoteyAweDFhYzUsCTE2LAl7MHhlZCwgMHgyNCwgMHgwNiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzYywgMHhmNSwgMHg4MywgMHhlMCwgMHhmYSwgMHhhMywgMHhlMCwgMHhmNSwgMHg4MiwgMHg4YX0gfSwKLXsgMHgxYWQ1LAkxNiwJezB4ODMsIDB4ZWYsIDB4ZjAsIDB4N2YsIDB4MDgsIDB4MjIsIDB4OTAsIDB4N2YsIDB4YTUsIDB4ZTAsIDB4ZjUsIDB4NTksIDB4MzAsIDB4ZTAsIDB4ZjcsIDB4MzB9IH0sCi17IDB4MWFlNSwJMTYsCXsweGUyLCAweDA3LCAweGUwLCAweDQ0LCAweDQwLCAweGYwLCAweDdmLCAweDA2LCAweDIyLCAweGU5LCAweGQzLCAweDk0LCAweDAyLCAweDUwLCAweDAzLCAweDAyfSB9LAoteyAweDFhZjUsCTE2LAl7MHgxOSwgMHhjNywgMHhlNSwgMHg1OSwgMHgzMCwgMHhlMSwgMHgwMywgMHgwMiwgMHgxOSwgMHhjNywgMHg5MCwgMHg3ZiwgMHhhNSwgMHhlMCwgMHg0NCwgMHg0MH0gfSwKLXsgMHgxYjA1LAk2LAl7MHhmMCwgMHg3ZiwgMHgwNywgMHgyMiwgMHg3ZiwgMHgwOH0gfSwKLXsgMHgxYjBiLAkxLAl7MHgyMn0gfSwKLXsgMHgxYjBjLAkxNiwJezB4ZTUsIDB4MzMsIDB4YzMsIDB4OTQsIDB4MDEsIDB4NTAsIDB4MWMsIDB4N2YsIDB4MDUsIDB4N2UsIDB4MDAsIDB4MTIsIDB4MDksIDB4YWUsIDB4N2YsIDB4MDJ9IH0sCi17IDB4MWIxYywJMTYsCXsweDdkLCAweGZmLCAweDEyLCAweDgyLCAweGVhLCAweDdmLCAweDA1LCAweDdlLCAweDAwLCAweDEyLCAweDA5LCAweGFlLCAweDdmLCAweDAzLCAweDdkLCAweGZmfSB9LAoteyAweDFiMmMsCTQsCXsweDEyLCAweDgyLCAweGVhLCAweDIyfSB9LAoteyAweDgwMDAsCTE2LAl7MHg3YiwgMHhmZiwgMHg3YSwgMHgxMiwgMHg3OSwgMHgxYiwgMHg5MCwgMHgwMCwgMHgwNCwgMHgxMiwgMHhhMiwgMHg1NCwgMHhmZCwgMHg4YiwgMHg1MCwgMHg3NX0gfSwKLXsgMHg4MDEwLAkxNiwJezB4NTEsIDB4MTIsIDB4NzUsIDB4NTIsIDB4MjQsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4ZTEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZTAsIDB4ZjAsIDB4ZjUsIDB4NGV9IH0sCi17IDB4ODAyMCwJMTYsCXsweGY1LCAweDRmLCAweDkwLCAweDAyLCAweGFlLCAweGYwLCAweDkwLCAweDdmLCAweGRmLCAweGYwLCAweDkwLCAweDdmLCAweGRlLCAweGYwLCAweDkwLCAweDdmfSB9LAoteyAweDgwMzAsCTE2LAl7MHhhOSwgMHg3NCwgMHhmZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhYSwgMHhmMCwgMHhlNCwgMHhmYywgMHhlYywgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNCwgMHhmNX0gfSwKLXsgMHg4MDQwLAkxNiwJezB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4MGMsIDB4YmMsIDB4MTAsIDB4ZWUsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4ZGR9IH0sCi17IDB4ODA1MCwJMTYsCXsweGYwLCAweGFmLCAweDA1LCAweDFkLCAweGVmLCAweDcwLCAweDAzLCAweDAyLCAweDgxLCAweGM2LCAweGFiLCAweDUwLCAweGFhLCAweDUxLCAweGE5LCAweDUyfSB9LAoteyAweDgwNjAsCTE2LAl7MHg5MCwgMHgwMCwgMHgwMSwgMHgxMiwgMHhhMiwgMHg1NCwgMHg2NCwgMHgwNSwgMHg2MCwgMHgwMywgMHgwMiwgMHg4MSwgMHhiNSwgMHg5MCwgMHgwMCwgMHgwM30gfSwKLXsgMHg4MDcwLAkxNiwJezB4MTIsIDB4YTIsIDB4NTQsIDB4NjQsIDB4MDEsIDB4NjAsIDB4MDMsIDB4MDIsIDB4ODEsIDB4M2MsIDB4OTAsIDB4MDAsIDB4MDIsIDB4MTIsIDB4YTIsIDB4NTR9IH0sCi17IDB4ODA4MCwJMTYsCXsweGZmLCAweDU0LCAweDdmLCAweGZjLCAweGQzLCAweDk0LCAweDA3LCAweDUwLCAweDAzLCAweDAyLCAweDgxLCAweDE2LCAweGVjLCAweGMzLCAweDk0LCAweDEwfSB9LAoteyAweDgwOTAsCTE2LAl7MHg0MCwgMHgwMywgMHgwMiwgMHg4MSwgMHgxNiwgMHhlZiwgMHgzMCwgMHhlNywgMHg0MiwgMHhlNSwgMHg0ZiwgMHhhZSwgMHg0ZSwgMHg3OCwgMHgwMiwgMHhjZX0gfSwKLXsgMHg4MGEwLAkxNiwJezB4YzMsIDB4MTMsIDB4Y2UsIDB4MTMsIDB4ZDgsIDB4ZjksIDB4ZmYsIDB4NzQsIDB4ZjAsIDB4MmMsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjV9IH0sCi17IDB4ODBiMCwJMTYsCXsweDgzLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweGUwLCAweGUwLCAweGZmLCAweGVjLCAweDI0LCAweGY4LCAweGZlLCAweDc0LCAweDAxLCAweGE4LCAweDA2fSB9LAoteyAweDgwYzAsCTE2LAl7MHgwOCwgMHg4MCwgMHgwMiwgMHhjMywgMHgzMywgMHhkOCwgMHhmYywgMHg0ZiwgMHg5MCwgMHg3ZiwgMHhlMCwgMHhmMCwgMHg5MCwgMHgwMiwgMHhhZSwgMHhlMH0gfSwKLXsgMHg4MGQwLAkxNiwJezB4MDQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZGQsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4ODAsIDB4M2UsIDB4ZTUsIDB4NGYsIDB4YWUsIDB4NGUsIDB4Nzh9IH0sCi17IDB4ODBlMCwJMTYsCXsweDAyLCAweGNlLCAweGMzLCAweDEzLCAweGNlLCAweDEzLCAweGQ4LCAweGY5LCAweGZmLCAweDc0LCAweGU4LCAweDJjLCAweGY1LCAweDgyLCAweGU0LCAweDM0fSB9LAoteyAweDgwZjAsCTE2LAl7MHg3ZiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlMSwgMHhlMCwgMHhmZiwgMHhlYywgMHgyNCwgMHhmOCwgMHhmZSwgMHg3NCwgMHgwMX0gfSwKLXsgMHg4MTAwLAkxNiwJezB4YTgsIDB4MDYsIDB4MDgsIDB4ODAsIDB4MDIsIDB4YzMsIDB4MzMsIDB4ZDgsIDB4ZmMsIDB4NGYsIDB4OTAsIDB4N2YsIDB4ZTEsIDB4ZjAsIDB4OTAsIDB4MDJ9IH0sCi17IDB4ODExMCwJMTYsCXsweGFlLCAweGUwLCAweDA0LCAweGYwLCAweDgwLCAweDAzLCAweDdmLCAweGZmLCAweDIyLCAweDkwLCAweDAwLCAweDA0LCAweDEyLCAweGEyLCAweDU0LCAweDI1fSB9LAoteyAweDgxMjAsCTE2LAl7MHg0ZiwgMHhmNSwgMHg0ZiwgMHhlNCwgMHgzNSwgMHg0ZSwgMHhmNSwgMHg0ZSwgMHg5MCwgMHgwMCwgMHgwNSwgMHgxMiwgMHhhMiwgMHg1NCwgMHhmZSwgMHhlNH0gfSwKLXsgMHg4MTMwLAkxNiwJezB4MjUsIDB4NGYsIDB4ZjUsIDB4NGYsIDB4ZWUsIDB4MzUsIDB4NGUsIDB4ZjUsIDB4NGUsIDB4MDIsIDB4ODEsIDB4YjgsIDB4YWIsIDB4NTAsIDB4YWEsIDB4NTF9IH0sCi17IDB4ODE0MCwJMTYsCXsweGE5LCAweDUyLCAweDkwLCAweDAwLCAweDAzLCAweDEyLCAweGEyLCAweDU0LCAweGZmLCAweDY0LCAweDAyLCAweDYwLCAweDA1LCAweGVmLCAweDY0LCAweDAzfSB9LAoteyAweDgxNTAsCTE2LAl7MHg3MCwgMHg2MCwgMHg5MCwgMHgwMCwgMHgwMiwgMHgxMiwgMHhhMiwgMHg1NCwgMHhmZiwgMHg1NCwgMHg3ZiwgMHhmYywgMHhkMywgMHg5NCwgMHgwNywgMHg1MH0gfSwKLXsgMHg4MTYwLAkxNiwJezB4NGUsIDB4ZWYsIDB4MzAsIDB4ZTcsIDB4MWUsIDB4OTAsIDB4N2YsIDB4ZGUsIDB4ZTAsIDB4ZmYsIDB4NzQsIDB4MDEsIDB4YTgsIDB4MDQsIDB4MDgsIDB4ODB9IH0sCi17IDB4ODE3MCwJMTYsCXsweDAyLCAweGMzLCAweDMzLCAweGQ4LCAweGZjLCAweGZlLCAweDRmLCAweDkwLCAweDdmLCAweGRlLCAweGYwLCAweDkwLCAweDdmLCAweGFjLCAweGUwLCAweDRlfSB9LAoteyAweDgxODAsCTE2LAl7MHhmMCwgMHg4MCwgMHgzNSwgMHg5MCwgMHg3ZiwgMHhkZiwgMHhlMCwgMHhmZiwgMHg3NCwgMHgwMSwgMHhhOCwgMHgwNCwgMHgwOCwgMHg4MCwgMHgwMiwgMHhjM30gfSwKLXsgMHg4MTkwLAkxNiwJezB4MzMsIDB4ZDgsIDB4ZmMsIDB4ZmUsIDB4NGYsIDB4OTAsIDB4N2YsIDB4ZGYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWQsIDB4ZTAsIDB4NGUsIDB4ZjAsIDB4ZWN9IH0sCi17IDB4ODFhMCwJMTYsCXsweDI1LCAweGUwLCAweDI0LCAweGM1LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweGVjLCAweGYwLCAweDgwLCAweDA5LCAweDdmfSB9LAoteyAweDgxYjAsCTE2LAl7MHhmZiwgMHgyMiwgMHg3ZiwgMHhmZiwgMHgyMiwgMHg3ZiwgMHhmZiwgMHgyMiwgMHg3NCwgMHgwNywgMHgyNSwgMHg1MiwgMHhmNSwgMHg1MiwgMHhlNCwgMHgzNX0gfSwKLXsgMHg4MWMwLAkxNiwJezB4NTEsIDB4ZjUsIDB4NTEsIDB4MDIsIDB4ODAsIDB4NTEsIDB4MjAsIDB4MDMsIDB4MGQsIDB4OTAsIDB4MDIsIDB4YWUsIDB4ZTAsIDB4NjAsIDB4MDcsIDB4OTB9IH0sCi17IDB4ODFkMCwJOCwJezB4N2YsIDB4YWUsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4N2YsIDB4MDB9IH0sCi17IDB4ODFkOCwJMSwJezB4MjJ9IH0sCi17IDB4ODFkOSwJNCwJezB4OGUsIDB4NTksIDB4OGYsIDB4NWF9IH0sCi17IDB4ODFkZCwJMTYsCXsweDc1LCAweDViLCAweDAzLCAweGU1LCAweDVhLCAweDI0LCAweDA0LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDU5LCAweGY1LCAweDgzLCAweGUwLCAweGZlfSB9LAoteyAweDgxZWQsCTE2LAl7MHhhMywgMHhlMCwgMHg0ZSwgMHg3MCwgMHgwMywgMHgwMiwgMHg4MiwgMHhlNywgMHhlNSwgMHg1YiwgMHg2MCwgMHg0ZSwgMHgxNCwgMHg2MCwgMHgzOCwgMHgxNH0gfSwKLXsgMHg4MWZkLAkxNiwJezB4NjAsIDB4MjAsIDB4MTQsIDB4NjAsIDB4MDMsIDB4MDIsIDB4ODIsIDB4OGIsIDB4OTAsIDB4N2YsIDB4YTUsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4ODV9IH0sCi17IDB4ODIwZCwJMTYsCXsweDVhLCAweDgyLCAweDg1LCAweDU5LCAweDgzLCAweGEzLCAweGUwLCAweGZmLCAweDI1LCAweGUwLCAweDQ0LCAweGEwLCAweDkwLCAweDdmLCAweGE2LCAweGYwfSB9LAoteyAweDgyMWQsCTE2LAl7MHg4MCwgMHg2YywgMHg4NSwgMHg1YSwgMHg4MiwgMHg4NSwgMHg1OSwgMHg4MywgMHhlMCwgMHhjMywgMHg5NCwgMHgyMCwgMHg0MCwgMHgwOSwgMHhhMywgMHhhM30gfSwKLXsgMHg4MjJkLAkxNiwJezB4ZTAsIDB4OTAsIDB4N2YsIDB4YTYsIDB4ZjAsIDB4ODAsIDB4NTcsIDB4MTUsIDB4NWIsIDB4ODUsIDB4NWEsIDB4ODIsIDB4ODUsIDB4NTksIDB4ODMsIDB4YTN9IH0sCi17IDB4ODIzZCwJMTYsCXsweGEzLCAweGUwLCAweGEzLCAweGUwLCAweDkwLCAweDdmLCAweGE2LCAweGYwLCAweDgwLCAweDQ0LCAweGU1LCAweDVhLCAweDI0LCAweDA2LCAweGY1LCAweDgyfSB9LAoteyAweDgyNGQsCTE2LAl7MHhlNCwgMHgzNSwgMHg1OSwgMHhmNSwgMHg4MywgMHhlNCwgMHg3NSwgMHhmMCwgMHgwMSwgMHgxMiwgMHhhMiwgMHg5NywgMHg4NSwgMHhmMCwgMHg4MiwgMHhmNX0gfSwKLXsgMHg4MjVkLAkxNiwJezB4ODMsIDB4ZTAsIDB4OTAsIDB4N2YsIDB4YTYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YTUsIDB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjAsIDB4ZTUsIDB4NWEsIDB4MjR9IH0sCi17IDB4ODI2ZCwJMTYsCXsweDA0LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDU5LCAweGY1LCAweDgzLCAweDc0LCAweGZmLCAweGY1LCAweGYwLCAweDEyLCAweGEyLCAweDgxLCAweDg1fSB9LAoteyAweDgyN2QsCTE2LAl7MHg1YSwgMHg4MiwgMHg4NSwgMHg1OSwgMHg4MywgMHhhMywgMHhhMywgMHhlNCwgMHg3NSwgMHhmMCwgMHgwMSwgMHgxMiwgMHhhMiwgMHg4MSwgMHg5MCwgMHg3Zn0gfSwKLXsgMHg4MjhkLAkxNiwJezB4YTUsIDB4ZTAsIDB4ZjUsIDB4NWMsIDB4MzAsIDB4ZTAsIDB4ZjcsIDB4MzAsIDB4ZTIsIDB4MDcsIDB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjAsIDB4N2YsIDB4MDZ9IH0sCi17IDB4ODI5ZCwJMTYsCXsweDIyLCAweGU1LCAweDVjLCAweDIwLCAweGUxLCAweDBhLCAweDkwLCAweDdmLCAweGE1LCAweGUwLCAweDQ0LCAweDQwLCAweGYwLCAweDdmLCAweDA3LCAweDIyfSB9LAoteyAweDgyYWQsCTE2LAl7MHhlNSwgMHg1YiwgMHg3MCwgMHgzMSwgMHg3ZiwgMHgwMSwgMHg3ZSwgMHgwMCwgMHgxMiwgMHgwOSwgMHhhZSwgMHg5MCwgMHg3ZiwgMHhhNSwgMHhlMCwgMHg0NH0gfSwKLXsgMHg4MmJkLAkxNiwJezB4ODAsIDB4ZjAsIDB4ODUsIDB4NWEsIDB4ODIsIDB4ODUsIDB4NTksIDB4ODMsIDB4YTMsIDB4ZTAsIDB4ZmYsIDB4MjUsIDB4ZTAsIDB4NDQsIDB4YTAsIDB4OTB9IH0sCi17IDB4ODJjZCwJMTYsCXsweDdmLCAweGE2LCAweGYwLCAweDkwLCAweDdmLCAweGE1LCAweGUwLCAweGY1LCAweDVjLCAweDMwLCAweGUwLCAweGY3LCAweDMwLCAweGUxLCAweGQ1LCAweDc1fSB9LAoteyAweDgyZGQsCTEyLAl7MHg1YiwgMHgwMywgMHgwMiwgMHg4MSwgMHhlMCwgMHgxNSwgMHg1YiwgMHgwMiwgMHg4MSwgMHhlMCwgMHg3ZiwgMHgwOH0gfSwKLXsgMHg4MmU5LAkxLAl7MHgyMn0gfSwKLXsgMHg4MmVhLAkyLAl7MHhhZSwgMHgwN30gfSwKLXsgMHg4MmVjLAkxNiwJezB4N2MsIDB4MDIsIDB4ZWMsIDB4MTQsIDB4NjAsIDB4MTUsIDB4MTQsIDB4NzAsIDB4MWUsIDB4OTAsIDB4N2YsIDB4YTUsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjB9IH0sCi17IDB4ODJmYywJMTYsCXsweGVlLCAweDI1LCAweGUwLCAweDQ0LCAweDQwLCAweDkwLCAweDdmLCAweGE2LCAweGYwLCAweDgwLCAweDBjLCAweDkwLCAweDdmLCAweGE2LCAweGVkLCAweGYwfSB9LAoteyAweDgzMGMsCTE2LAl7MHg5MCwgMHg3ZiwgMHhhNSwgMHhlMCwgMHg0NCwgMHg0MCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhNSwgMHhlMCwgMHhmYiwgMHgzMCwgMHhlMCwgMHhmOCwgMHhiY30gfSwKLXsgMHg4MzFjLAkxNiwJezB4MDIsIDB4MGEsIDB4MjAsIDB4ZTEsIDB4MDcsIDB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjAsIDB4N2YsIDB4MDcsIDB4MjIsIDB4ZWIsIDB4MzAsIDB4ZTIsIDB4MGF9IH0sCi17IDB4ODMyYywJMTQsCXsweDkwLCAweDdmLCAweGE1LCAweGUwLCAweDQ0LCAweDQwLCAweGYwLCAweDdmLCAweDA2LCAweDIyLCAweGRjLCAweGI2LCAweDdmLCAweDA4fSB9LAoteyAweDgzM2EsCTEsCXsweDIyfSB9LAoteyAweDgzM2IsCTE2LAl7MHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMiwgMHhhOSwgMHg5MCwgMHgwMywgMHgwMCwgMHg3NCwgMHgxOSwgMHhmMCwgMHhkMiwgMHhhOX0gfSwKLXsgMHg4MzRiLAkxNSwJezB4NTMsIDB4OTEsIDB4N2YsIDB4OTAsIDB4MDEsIDB4YzQsIDB4ZTQsIDB4ZjAsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzJ9IH0sCi17IDB4ODM1YSwJMTYsCXsweGVmLCAweDc1LCAweGYwLCAweDA4LCAweGE0LCAweDI0LCAweDAwLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDIwLCAweGFiLCAweDgyLCAweGZhLCAweGY1fSB9LAoteyAweDgzNmEsCTE2LAl7MHg4MywgMHhhMywgMHhlNCwgMHhmMCwgMHg4YiwgMHg4MiwgMHg4YSwgMHg4MywgMHhhMywgMHhhMywgMHhhMywgMHhlMCwgMHhmNSwgMHg2MSwgMHg3NCwgMHhiZn0gfSwKLXsgMHg4MzdhLAkxNiwJezB4ZjAsIDB4OGIsIDB4ODIsIDB4OGEsIDB4ODMsIDB4YTMsIDB4YTMsIDB4ZTAsIDB4NDQsIDB4MTAsIDB4ZjAsIDB4OGIsIDB4ODIsIDB4OGEsIDB4ODMsIDB4YTN9IH0sCi17IDB4ODM4YSwJMTYsCXsweGEzLCAweGEzLCAweGU0LCAweGYwLCAweDhiLCAweDgyLCAweDhhLCAweDgzLCAweGEzLCAweGYwLCAweGY5LCAweGVkLCAweDYwLCAweDFkLCAweDc0LCAweDAxfSB9LAoteyAweDgzOWEsCTE2LAl7MHg3ZSwgMHgwMCwgMHhhOCwgMHgwNywgMHgwOCwgMHg4MCwgMHgwNSwgMHhjMywgMHgzMywgMHhjZSwgMHgzMywgMHhjZSwgMHhkOCwgMHhmOSwgMHhmZiwgMHhlNH0gfSwKLXsgMHg4M2FhLAkxNiwJezB4ZWYsIDB4NTUsIDB4MzEsIDB4NjAsIDB4MDQsIDB4NzksIDB4MDksIDB4ODAsIDB4MDIsIDB4NzksIDB4MGQsIDB4OGIsIDB4ODIsIDB4OGEsIDB4ODMsIDB4YTN9IH0sCi17IDB4ODNiYSwJMTYsCXsweGEzLCAweGEzLCAweDc0LCAweGJmLCAweGYwLCAweDhiLCAweDgyLCAweDhhLCAweDgzLCAweGEzLCAweGEzLCAweGUwLCAweDU0LCAweGVmLCAweGYwLCAweDhifSB9LAoteyAweDgzY2EsCTE2LAl7MHg4MiwgMHg4YSwgMHg4MywgMHhhMywgMHhhMywgMHhhMywgMHhlNSwgMHg2MSwgMHhmMCwgMHhhZSwgMHgwMiwgMHhhZiwgMHgwMywgMHg4ZiwgMHg4MiwgMHg4ZX0gfSwKLXsgMHg4M2RhLAk0LAl7MHg4MywgMHhhMywgMHhlOSwgMHhmMH0gfSwKLXsgMHg4M2RlLAkxLAl7MHgyMn0gfSwKLXsgMHg4M2RmLAk0LAl7MHg4ZiwgMHg2MSwgMHg4ZCwgMHg2Mn0gfSwKLXsgMHg4M2UzLAkxNiwJezB4ZTQsIDB4ZjUsIDB4NjcsIDB4NzQsIDB4M2YsIDB4MmYsIDB4ZjgsIDB4NzYsIDB4MDgsIDB4N2YsIDB4ODAsIDB4N2UsIDB4MjUsIDB4N2QsIDB4MDAsIDB4N2N9IH0sCi17IDB4ODNmMywJMTYsCXsweDAwLCAweGFiLCAweDY2LCAweGFhLCAweDY1LCAweGE5LCAweDY0LCAweGE4LCAweDYzLCAweGQzLCAweDEyLCAweGEzLCAweGIzLCAweDQwLCAweDI2LCAweDdmfSB9LAoteyAweDg0MDMsCTE2LAl7MHgwMCwgMHg3ZSwgMHg5NiwgMHg3ZCwgMHgwMCwgMHg3YywgMHgwMCwgMHhhOCwgMHg2MywgMHhkMywgMHgxMiwgMHhhMywgMHhiMywgMHg1MCwgMHgwYywgMHg3NX0gfSwKLXsgMHg4NDEzLAkxNiwJezB4NjcsIDB4NDAsIDB4NzQsIDB4M2YsIDB4MjUsIDB4NjEsIDB4ZjgsIDB4NzYsIDB4MTAsIDB4ODAsIDB4MGEsIDB4NzUsIDB4NjcsIDB4ODAsIDB4NzQsIDB4M2Z9IH0sCi17IDB4ODQyMywJMTYsCXsweDI1LCAweDYxLCAweGY4LCAweDc2LCAweDM4LCAweGU1LCAweDY3LCAweDQ1LCAweDYyLCAweDQ0LCAweDAxLCAweGZmLCAweGU1LCAweDYxLCAweDc1LCAweGYwfSB9LAoteyAweDg0MzMsCTEzLAl7MHgwOCwgMHhhNCwgMHgyNCwgMHgwMiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgyMCwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMH0gfSwKLXsgMHg4NDQwLAkxLAl7MHgyMn0gfSwKLXsgMHg4NDQxLAkxNiwJezB4OGYsIDB4ODIsIDB4OGUsIDB4ODMsIDB4ZTAsIDB4MTQsIDB4ZjUsIDB4NTcsIDB4YzMsIDB4OTQsIDB4MDQsIDB4NDAsIDB4MDMsIDB4N2YsIDB4ZmYsIDB4MjJ9IH0sCi17IDB4ODQ1MSwJMTYsCXsweGU1LCAweDU3LCAweDc1LCAweGYwLCAweDA4LCAweGE0LCAweDI0LCAweDAwLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDIwLCAweGFmLCAweDgyLCAweGY1fSB9LAoteyAweDg0NjEsCTE2LAl7MHg1OCwgMHg4ZiwgMHg1OSwgMHhlNSwgMHg1NywgMHgyNSwgMHhlMCwgMHgyNCwgMHhjNiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4M30gfSwKLXsgMHg4NDcxLAkxNiwJezB4ZTAsIDB4MjAsIDB4ZTEsIDB4MGYsIDB4ZTUsIDB4NTcsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YzcsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjV9IH0sCi17IDB4ODQ4MSwJMTYsCXsweDgzLCAweGU0LCAweGYwLCAweDc0LCAweDIzLCAweDI1LCAweDU3LCAweGY4LCAweGU0LCAweGY2LCAweGU1LCAweDU5LCAweDI0LCAweDA0LCAweGY1LCAweDgyfSB9LAoteyAweDg0OTEsCTE2LAl7MHhlNCwgMHgzNSwgMHg1OCwgMHhmNSwgMHg4MywgMHhlMCwgMHg0NCwgMHgwMywgMHhmMCwgMHhlNSwgMHg1NywgMHg3NSwgMHhmMCwgMHgwZCwgMHhhNCwgMHgyNH0gfSwKLXsgMHg4NGExLAkxNiwJezB4MDIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MDMsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmMsIDB4YTMsIDB4ZTAsIDB4ZmQsIDB4YTMsIDB4ZTAsIDB4ZmV9IH0sCi17IDB4ODRiMSwJMTYsCXsweGEzLCAweGUwLCAweGY1LCAweDY2LCAweDhlLCAweDY1LCAweDhkLCAweDY0LCAweDhjLCAweDYzLCAweDdkLCAweDA2LCAweGFmLCAweDU3LCAweDEyLCAweDgzfSB9LAoteyAweDg0YzEsCTE2LAl7MHhkZiwgMHhhZiwgMHg1NywgMHg3ZCwgMHgwMSwgMHgxMiwgMHg4MywgMHg1YSwgMHg4NSwgMHg1OSwgMHg4MiwgMHg4NSwgMHg1OCwgMHg4MywgMHhhMywgMHhhM30gfSwKLXsgMHg4NGQxLAkxNiwJezB4ZTAsIDB4MjAsIDB4ZTAsIDB4NDMsIDB4ZTAsIDB4ZmYsIDB4ZTUsIDB4NTksIDB4MjQsIDB4MDUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4NTgsIDB4ZjV9IH0sCi17IDB4ODRlMSwJMTYsCXsweDgzLCAweGUwLCAweGU1LCAweDU5LCAweDI0LCAweDA2LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDU4LCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweGU1fSB9LAoteyAweDg0ZjEsCTE2LAl7MHg1NywgMHg3NSwgMHhmMCwgMHgwZCwgMHhhNCwgMHgyNCwgMHgwMiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgwMywgMHhmNSwgMHg4MywgMHhlMCwgMHhmY30gfSwKLXsgMHg4NTAxLAkxNiwJezB4YTMsIDB4ZTAsIDB4ZmQsIDB4YTMsIDB4ZTAsIDB4ZmUsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4NjYsIDB4OGUsIDB4NjUsIDB4OGQsIDB4NjQsIDB4OGMsIDB4NjN9IH0sCi17IDB4ODUxMSwJMTYsCXsweDdkLCAweDA2LCAweGFmLCAweDU3LCAweDEyLCAweDgzLCAweGRmLCAweDc0LCAweGY4LCAweDI1LCAweDU3LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDAyfSB9LAoteyAweDg1MjEsCTE2LAl7MHhmNSwgMHg4MywgMHhlNCwgMHhmMCwgMHhlNSwgMHg1NywgMHgyNSwgMHhlMCwgMHhmZiwgMHhjMywgMHg3NCwgMHgwYywgMHg5ZiwgMHg3NSwgMHhmMCwgMHg0MH0gfSwKLXsgMHg4NTMxLAkxNiwJezB4YTQsIDB4MjQsIDB4NDAsIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4ZjAsIDB4MzQsIDB4N2IsIDB4YWYsIDB4ODIsIDB4ZmUsIDB4ZTUsIDB4NTcsIDB4MjUsIDB4ZTB9IH0sCi17IDB4ODU0MSwJMTYsCXsweDI0LCAweGVmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDAyLCAweGY1LCAweDgzLCAweGVlLCAweGYwLCAweGEzLCAweGVmLCAweGYwLCAweGFmLCAweDU3fSB9LAoteyAweDg1NTEsCTE1LAl7MHg3NCwgMHgwMSwgMHhhOCwgMHgwNywgMHgwOCwgMHg4MCwgMHgwMiwgMHhjMywgMHgzMywgMHhkOCwgMHhmYywgMHg0MiwgMHgzNCwgMHg3ZiwgMHgwMH0gfSwKLXsgMHg4NTYwLAkxLAl7MHgyMn0gfSwKLXsgMHg4NTYxLAkxNiwJezB4OGYsIDB4ODIsIDB4OGUsIDB4ODMsIDB4ZTAsIDB4MTQsIDB4ZjUsIDB4NTcsIDB4YzMsIDB4OTQsIDB4MDQsIDB4NDAsIDB4MDMsIDB4N2YsIDB4ZmYsIDB4MjJ9IH0sCi17IDB4ODU3MSwJMTYsCXsweGFmLCAweDU3LCAweGU0LCAweGZkLCAweDEyLCAweDgzLCAweDVhLCAweDc0LCAweGY4LCAweDI1LCAweDU3LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDAyfSB9LAoteyAweDg1ODEsCTE2LAl7MHhmNSwgMHg4MywgMHhlNCwgMHhmMCwgMHhlNSwgMHg1NywgMHg3NSwgMHhmMCwgMHgwOCwgMHhhNCwgMHgyNCwgMHgwMCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNH0gfSwKLXsgMHg4NTkxLAkxNiwJezB4MjAsIDB4YWYsIDB4ODIsIDB4ZjUsIDB4NTksIDB4OGYsIDB4NWEsIDB4ZjUsIDB4ODMsIDB4ZTUsIDB4ODIsIDB4MjQsIDB4MDQsIDB4ZjUsIDB4ODIsIDB4ZTR9IH0sCi17IDB4ODVhMSwJMTYsCXsweDM1LCAweDgzLCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweGZjLCAweGYwLCAweGU1LCAweDU3LCAweDc1LCAweGYwLCAweDBkLCAweGE0LCAweDI0LCAweDBjfSB9LAoteyAweDg1YjEsCTE2LAl7MHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgwMywgMHhmNSwgMHg4MywgMHhlNCwgMHhmMCwgMHhlNSwgMHg1NywgMHg3NSwgMHhmMCwgMHgwZCwgMHhhNCwgMHgyNH0gfSwKLXsgMHg4NWMxLAkxNiwJezB4MDIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MDMsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmMsIDB4YTMsIDB4ZTAsIDB4ZmQsIDB4YTMsIDB4ZTAsIDB4ZmV9IH0sCi17IDB4ODVkMSwJMTYsCXsweGEzLCAweGUwLCAweGY1LCAweDY2LCAweDhlLCAweDY1LCAweDhkLCAweDY0LCAweDhjLCAweDYzLCAweDdkLCAweDA2LCAweGFmLCAweDU3LCAweDEyLCAweDgzfSB9LAoteyAweDg1ZTEsCTE2LAl7MHhkZiwgMHhlNSwgMHg1YSwgMHgyNCwgMHgwNSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHg1OSwgMHhmNSwgMHg4MywgMHhlMCwgMHgzMCwgMHhlMCwgMHgwOX0gfSwKLXsgMHg4NWYxLAkxNiwJezB4ODUsIDB4NWEsIDB4ODIsIDB4ODUsIDB4NTksIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4NTgsIDB4YWYsIDB4NTcsIDB4NzQsIDB4MDEsIDB4YTgsIDB4MDcsIDB4MDh9IH0sCi17IDB4ODYwMSwJMTYsCXsweDgwLCAweDAyLCAweGMzLCAweDMzLCAweGQ4LCAweGZjLCAweGY0LCAweDUyLCAweDM0LCAweGU1LCAweDU3LCAweDI1LCAweGUwLCAweDI0LCAweGM2LCAweGY1fSB9LAoteyAweDg2MTEsCTE2LAl7MHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHhlMCwgMHgyMCwgMHhlMSwgMHgwZiwgMHhlNSwgMHg1NywgMHgyNSwgMHhlMCwgMHgyNCwgMHhjN30gfSwKLXsgMHg4NjIxLAkxMSwJezB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4N2YsIDB4MDB9IH0sCi17IDB4ODYyYywJMSwJezB4MjJ9IH0sCi17IDB4ODYyZCwJNCwJezB4OGUsIDB4NTcsIDB4OGYsIDB4NTh9IH0sCi17IDB4ODYzMSwJMTYsCXsweDhmLCAweDgyLCAweDhlLCAweDgzLCAweGUwLCAweDE0LCAweGY1LCAweDU5LCAweGMzLCAweDk0LCAweDA0LCAweDQwLCAweDAzLCAweDdmLCAweGZmLCAweDIyfSB9LAoteyAweDg2NDEsCTE2LAl7MHhlNSwgMHg1OSwgMHg3NSwgMHhmMCwgMHgwOCwgMHhhNCwgMHgyNCwgMHgwMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgyMCwgMHhmNSwgMHg4MywgMHhlMH0gfSwKLXsgMHg4NjUxLAkxNiwJezB4NTQsIDB4MDMsIDB4NzAsIDB4NjYsIDB4ODUsIDB4NTgsIDB4ODIsIDB4ODUsIDB4NTcsIDB4ODMsIDB4YTMsIDB4ZTAsIDB4MzAsIDB4ZTAsIDB4MjgsIDB4ZTV9IH0sCi17IDB4ODY2MSwJMTYsCXsweDU5LCAweDc1LCAweGYwLCAweDBkLCAweGE0LCAweDI0LCAweDAyLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDAzLCAweGY1LCAweDgzLCAweGUwLCAweGZjfSB9LAoteyAweDg2NzEsCTE2LAl7MHhhMywgMHhlMCwgMHhmZCwgMHhhMywgMHhlMCwgMHhmZSwgMHhhMywgMHhlMCwgMHhmNSwgMHg2NiwgMHg4ZSwgMHg2NSwgMHg4ZCwgMHg2NCwgMHg4YywgMHg2M30gfSwKLXsgMHg4NjgxLAkxNiwJezB4N2QsIDB4MDIsIDB4YWYsIDB4NTksIDB4MTIsIDB4ODMsIDB4ZGYsIDB4ODUsIDB4NTgsIDB4ODIsIDB4ODUsIDB4NTcsIDB4ODMsIDB4YTMsIDB4ZTAsIDB4MzB9IH0sCi17IDB4ODY5MSwJMTYsCXsweGUxLCAweDI4LCAweGU1LCAweDU5LCAweDc1LCAweGYwLCAweDBkLCAweGE0LCAweDI0LCAweDAyLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDAzLCAweGY1fSB9LAoteyAweDg2YTEsCTE2LAl7MHg4MywgMHhlMCwgMHhmYywgMHhhMywgMHhlMCwgMHhmZCwgMHhhMywgMHhlMCwgMHhmZSwgMHhhMywgMHhlMCwgMHhmNSwgMHg2NiwgMHg4ZSwgMHg2NSwgMHg4ZH0gfSwKLXsgMHg4NmIxLAkxMiwJezB4NjQsIDB4OGMsIDB4NjMsIDB4N2QsIDB4MDQsIDB4YWYsIDB4NTksIDB4MTIsIDB4ODMsIDB4ZGYsIDB4N2YsIDB4MDB9IH0sCi17IDB4ODZiZCwJMSwJezB4MjJ9IH0sCi17IDB4ODZiZSwJMTYsCXsweDhmLCAweDgyLCAweDhlLCAweDgzLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGUwLCAweGZkLCAweGEzLCAweGEzLCAweGEzLCAweGUwLCAweGZjLCAweGVkfSB9LAoteyAweDg2Y2UsCTE2LAl7MHg2YywgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhmMCwgMHg4ZiwgMHg4MiwgMHg4ZSwgMHg4MywgMHhhMywgMHhhMywgMHhhMywgMHhjMCwgMHg4MywgMHhjMH0gfSwKLXsgMHg4NmRlLAkxNiwJezB4ODIsIDB4ZTAsIDB4ZmQsIDB4OGYsIDB4ODIsIDB4OGUsIDB4ODMsIDB4ZTAsIDB4ZmMsIDB4ZWQsIDB4NmMsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZjB9IH0sCi17IDB4ODZlZSwJMTYsCXsweDhmLCAweDgyLCAweDhlLCAweDgzLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGEzLCAweGEzLCAweGEzLCAweGUwLCAweGZkLCAweGVjLCAweDZkLCAweGQwfSB9LAoteyAweDg2ZmUsCTE2LAl7MHg4MiwgMHhkMCwgMHg4MywgMHhmMCwgMHg4ZiwgMHg4MiwgMHg4ZSwgMHg4MywgMHhhMywgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhlMCwgMHhmZCwgMHg4Zn0gfSwKLXsgMHg4NzBlLAkxNiwJezB4ODIsIDB4OGUsIDB4ODMsIDB4YTMsIDB4YTMsIDB4ZTAsIDB4ZmMsIDB4ZWQsIDB4NmMsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZjAsIDB4OGYsIDB4ODJ9IH0sCi17IDB4ODcxZSwJMTYsCXsweDhlLCAweDgzLCAweGEzLCAweGEzLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGUwLCAweGZkLCAweDhmLCAweDgyLCAweDhlLCAweDgzLCAweGEzLCAweGUwfSB9LAoteyAweDg3MmUsCTE2LAl7MHhmYywgMHhlZCwgMHg2YywgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhmMCwgMHg4ZiwgMHg4MiwgMHg4ZSwgMHg4MywgMHhhMywgMHhjMCwgMHg4MywgMHhjMH0gfSwKLXsgMHg4NzNlLAkxNiwJezB4ODIsIDB4ZTAsIDB4ZmQsIDB4OGYsIDB4ODIsIDB4OGUsIDB4ODMsIDB4YTMsIDB4YTMsIDB4ZTAsIDB4ZmYsIDB4ZWQsIDB4NmYsIDB4ZDAsIDB4ODIsIDB4ZDB9IH0sCi17IDB4ODc0ZSwJMywJezB4ODMsIDB4ZjAsIDB4MjJ9IH0sCi17IDB4ODc1MSwJNCwJezB4YWQsIDB4MDcsIDB4YWMsIDB4MDZ9IH0sCi17IDB4ODc1NSwJMTYsCXsweDc5LCAweDBkLCAweDhkLCAweDgyLCAweDhjLCAweDgzLCAweGUwLCAweDE0LCAweGZlLCAweGMzLCAweDk0LCAweDA0LCAweDQwLCAweDAzLCAweDdmLCAweGZmfSB9LAoteyAweDg3NjUsCTE2LAl7MHgyMiwgMHg4YywgMHg1NywgMHg4ZCwgMHg1OCwgMHhlZSwgMHg3NSwgMHhmMCwgMHgwZCwgMHhhNCwgMHgyNCwgMHgwMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNH0gfSwKLXsgMHg4Nzc1LAkxNiwJezB4MDMsIDB4YWYsIDB4ODIsIDB4ZmUsIDB4YWQsIDB4MDEsIDB4MTksIDB4ZWQsIDB4NjAsIDB4MjQsIDB4MGYsIDB4ZWYsIDB4YWMsIDB4MDYsIDB4NzAsIDB4MDF9IH0sCi17IDB4ODc4NSwJMTYsCXsweDBlLCAweDE0LCAweGY1LCAweDgyLCAweDhjLCAweDgzLCAweGUwLCAweGZkLCAweDA1LCAweDU4LCAweGU1LCAweDU4LCAweGFhLCAweDU3LCAweDcwLCAweDAyfSB9LAoteyAweDg3OTUsCTE2LAl7MHgwNSwgMHg1NywgMHgxNCwgMHhmNSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlMCwgMHg2ZCwgMHg2MCwgMHhkOSwgMHg3ZiwgMHgwMSwgMHgyMiwgMHg3ZiwgMHgwMH0gfSwKLXsgMHg4N2E1LAkxLAl7MHgyMn0gfSwKLXsgMHg4N2E2LAk0LAl7MHg4ZSwgMHg1NywgMHg4ZiwgMHg1OH0gfSwKLXsgMHg4N2FhLAkxNiwJezB4OGYsIDB4ODIsIDB4OGUsIDB4ODMsIDB4ZTAsIDB4MTQsIDB4ZjUsIDB4NWUsIDB4YzMsIDB4OTQsIDB4MDQsIDB4NDAsIDB4MDMsIDB4N2YsIDB4ZmYsIDB4MjJ9IH0sCi17IDB4ODdiYSwJMTYsCXsweGU1LCAweDVlLCAweDc1LCAweGYwLCAweDA4LCAweGE0LCAweDI0LCAweDAwLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDIwLCAweGFmLCAweDgyLCAweGY1fSB9LAoteyAweDg3Y2EsCTE2LAl7MHg1ZiwgMHg4ZiwgMHg2MCwgMHg4NSwgMHg1OCwgMHg4MiwgMHg4NSwgMHg1NywgMHg4MywgMHhhMywgMHhlMCwgMHhmYywgMHhhMywgMHhlMCwgMHhmZCwgMHhhM30gfSwKLXsgMHg4N2RhLAkxNiwJezB4ZTAsIDB4ZmUsIDB4YTMsIDB4ZTAsIDB4ZmYsIDB4N2IsIDB4MDgsIDB4N2EsIDB4MDAsIDB4NzksIDB4MDAsIDB4NzgsIDB4MDAsIDB4ZDMsIDB4MTIsIDB4YTN9IH0sCi17IDB4ODdlYSwJMTYsCXsweGIzLCAweDQwLCAweDEwLCAweDg1LCAweDU4LCAweDgyLCAweDg1LCAweDU3LCAweDgzLCAweGEzLCAweDEyLCAweGEzLCAweGZhLCAweDAwLCAweDAwLCAweDAwfSB9LAoteyAweDg3ZmEsCTE2LAl7MHgwOCwgMHg4MCwgMHgyZSwgMHg4NSwgMHg1OCwgMHg4MiwgMHg4NSwgMHg1NywgMHg4MywgMHhhMywgMHhlMCwgMHhmYywgMHhhMywgMHhlMCwgMHhmZCwgMHhhM30gfSwKLXsgMHg4ODBhLAkxNiwJezB4ZTAsIDB4ZmUsIDB4YTMsIDB4ZTAsIDB4ZmYsIDB4N2IsIDB4MDAsIDB4N2EsIDB4MDgsIDB4NzksIDB4MDcsIDB4NzgsIDB4MDAsIDB4YzMsIDB4MTIsIDB4YTN9IH0sCi17IDB4ODgxYSwJMTYsCXsweGIzLCAweDUwLCAweDBlLCAweDg1LCAweDU4LCAweDgyLCAweDg1LCAweDU3LCAweDgzLCAweGEzLCAweDEyLCAweGEzLCAweGZhLCAweDAwLCAweDA3LCAweDA4fSB9LAoteyAweDg4MmEsCTE2LAl7MHgwMCwgMHg4NSwgMHg1OCwgMHg4MiwgMHg4NSwgMHg1NywgMHg4MywgMHhhMywgMHhlMCwgMHhmOCwgMHhhMywgMHhlMCwgMHhmOSwgMHhhMywgMHhlMCwgMHhmYX0gfSwKLXsgMHg4ODNhLAkxNiwJezB4YTMsIDB4ZTAsIDB4ZmIsIDB4N2YsIDB4MDAsIDB4N2UsIDB4NTAsIDB4N2QsIDB4NDYsIDB4N2MsIDB4MDAsIDB4MTIsIDB4YTMsIDB4MjEsIDB4OGYsIDB4NWN9IH0sCi17IDB4ODg0YSwJMTYsCXsweDhlLCAweDViLCAweDhkLCAweDVhLCAweDhjLCAweDU5LCAweDdiLCAweDBhLCAweDdhLCAweDAwLCAweDc5LCAweDAwLCAweDc4LCAweDAwLCAweDEyLCAweGEzfSB9LAoteyAweDg4NWEsCTE2LAl7MHgyMSwgMHhhZiwgMHgwMywgMHg4ZiwgMHg1ZCwgMHhhZiwgMHg1YywgMHhhZSwgMHg1YiwgMHhhZCwgMHg1YSwgMHhhYywgMHg1OSwgMHg3YiwgMHgwYSwgMHg3YX0gfSwKLXsgMHg4ODZhLAkxNiwJezB4MDAsIDB4NzksIDB4MDAsIDB4NzgsIDB4MDAsIDB4MTIsIDB4YTMsIDB4MjEsIDB4OGYsIDB4NWMsIDB4OGUsIDB4NWIsIDB4OGQsIDB4NWEsIDB4OGMsIDB4NTl9IH0sCi17IDB4ODg3YSwJMTYsCXsweGU1LCAweDVkLCAweGMzLCAweDk0LCAweDA1LCAweDQwLCAweDE1LCAweGU1LCAweDVjLCAweDI0LCAweDAxLCAweGY1LCAweDVjLCAweGU0LCAweDM1LCAweDVifSB9LAoteyAweDg4OGEsCTE2LAl7MHhmNSwgMHg1YiwgMHhlNCwgMHgzNSwgMHg1YSwgMHhmNSwgMHg1YSwgMHhlNCwgMHgzNSwgMHg1OSwgMHhmNSwgMHg1OSwgMHg4NSwgMHg2MCwgMHg4MiwgMHg4NX0gfSwKLXsgMHg4ODlhLAkxNiwJezB4NWYsIDB4ODMsIDB4YTMsIDB4ZTQsIDB4ZjAsIDB4ODUsIDB4NjAsIDB4ODIsIDB4ODUsIDB4NWYsIDB4ODMsIDB4YTMsIDB4YTMsIDB4YTMsIDB4ZTAsIDB4NDR9IH0sCi17IDB4ODhhYSwJMTYsCXsweDgwLCAweGYwLCAweDg1LCAweDYwLCAweDgyLCAweDg1LCAweDVmLCAweDgzLCAweGU1LCAweDVjLCAweGYwLCAweGFmLCAweDVjLCAweGFlLCAweDViLCAweGFkfSB9LAoteyAweDg4YmEsCTE2LAl7MHg1YSwgMHhhYywgMHg1OSwgMHg3OCwgMHgwOCwgMHgxMiwgMHhhMywgMHhjNCwgMHg4NSwgMHg2MCwgMHg4MiwgMHg4NSwgMHg1ZiwgMHg4MywgMHhhMywgMHhlZn0gfSwKLXsgMHg4OGNhLAkxNiwJezB4ZjAsIDB4ODUsIDB4NjAsIDB4ODIsIDB4ODUsIDB4NWYsIDB4ODMsIDB4YTMsIDB4YTMsIDB4YTMsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4ZjAsIDB4ZTQsIDB4ZjV9IH0sCi17IDB4ODhkYSwJMTYsCXsweDVkLCAweGU1LCAweDU4LCAweDI0LCAweDBiLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDU3LCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweDMwLCAweGUwfSB9LAoteyAweDg4ZWEsCTE2LAl7MHgyMywgMHg1NCwgMHgwMSwgMHhmMCwgMHhlNSwgMHg2MCwgMHgyNCwgMHgwNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHg1ZiwgMHhmNSwgMHg4MywgMHhlMH0gfSwKLXsgMHg4OGZhLAkxNiwJezB4NTQsIDB4ZmQsIDB4ZjAsIDB4YWYsIDB4NWUsIDB4NzQsIDB4MDEsIDB4YTgsIDB4MDcsIDB4MDgsIDB4ODAsIDB4MDIsIDB4YzMsIDB4MzMsIDB4ZDgsIDB4ZmN9IH0sCi17IDB4ODkwYSwJMTYsCXsweDQyLCAweDIyLCAweDgwLCAweDM2LCAweDc0LCAweDAxLCAweDdlLCAweDAwLCAweGE4LCAweDVlLCAweDA4LCAweDgwLCAweDA1LCAweGMzLCAweDMzLCAweGNlfSB9LAoteyAweDg5MWEsCTE2LAl7MHgzMywgMHhjZSwgMHhkOCwgMHhmOSwgMHhmZiwgMHhlNCwgMHhlZiwgMHg1NSwgMHgyMiwgMHg2MCwgMHgxZiwgMHhlNSwgMHg2MCwgMHgyNCwgMHgwNCwgMHhmNX0gfSwKLXsgMHg4OTJhLAkxNiwJezB4ODIsIDB4ZTQsIDB4MzUsIDB4NWYsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4YWYsIDB4NWUsIDB4NzQsIDB4MDEsIDB4YTgsIDB4MDd9IH0sCi17IDB4ODkzYSwJMTYsCXsweDA4LCAweDgwLCAweDAyLCAweGMzLCAweDMzLCAweGQ4LCAweGZjLCAweGY0LCAweDUyLCAweDIyLCAweGU1LCAweDU4LCAweDI0LCAweDA4LCAweGY1LCAweDgyfSB9LAoteyAweDg5NGEsCTE2LAl7MHhlNCwgMHgzNSwgMHg1NywgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHhiNCwgMHg2MiwgMHgwNSwgMHg0MywgMHg1ZCwgMHgwYSwgMHg4MCwgMHgxYSwgMHhlZn0gfSwKLXsgMHg4OTVhLAkxNiwJezB4YjQsIDB4NzIsIDB4MDUsIDB4NDMsIDB4NWQsIDB4MDgsIDB4ODAsIDB4MTEsIDB4ZWYsIDB4YjQsIDB4NzQsIDB4MDUsIDB4NDMsIDB4NWQsIDB4MDIsIDB4ODB9IH0sCi17IDB4ODk2YSwJMTYsCXsweDA4LCAweGVmLCAweDY0LCAweDZlLCAweDYwLCAweDAzLCAweDdmLCAweGZmLCAweDIyLCAweGU1LCAweDU4LCAweDI0LCAweDBiLCAweGY1LCAweDgyLCAweGU0fSB9LAoteyAweDg5N2EsCTE2LAl7MHgzNSwgMHg1NywgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHgzMCwgMHhlMywgMHgwMywgMHg0MywgMHg1ZCwgMHg4MCwgMHhlZiwgMHgzMCwgMHhlNywgMHgxMn0gfSwKLXsgMHg4OThhLAkxNiwJezB4NDMsIDB4NWQsIDB4NDAsIDB4ZTUsIDB4NjAsIDB4MjQsIDB4MDQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4NWYsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDR9IH0sCi17IDB4ODk5YSwJMTYsCXsweDAyLCAweGYwLCAweGU1LCAweDU4LCAweDI0LCAweDBiLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDU3LCAweGY1LCAweDgzLCAweGUwLCAweDMwLCAweGUxfSB9LAoteyAweDg5YWEsCTE2LAl7MHgyMCwgMHhhZiwgMHg1ZSwgMHg3NCwgMHgwMSwgMHhhOCwgMHgwNywgMHgwOCwgMHg4MCwgMHgwMiwgMHhjMywgMHgzMywgMHhkOCwgMHhmYywgMHg0MiwgMHgzMn0gfSwKLXsgMHg4OWJhLAkxNiwJezB4ZTUsIDB4NjAsIDB4MjQsIDB4MDQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4NWYsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ODB9IH0sCi17IDB4ODljYSwJMTYsCXsweDEwLCAweGFmLCAweDVlLCAweDc0LCAweDAxLCAweGE4LCAweDA3LCAweDA4LCAweDgwLCAweDAyLCAweGMzLCAweDMzLCAweGQ4LCAweGZjLCAweGY0LCAweDUyfSB9LAoteyAweDg5ZGEsCTE2LAl7MHgzMiwgMHhlNSwgMHg1OCwgMHgyNCwgMHgwYiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHg1NywgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHgzMCwgMHhlNH0gfSwKLXsgMHg4OWVhLAkxNiwJezB4MTEsIDB4YWUsIDB4NWUsIDB4NzQsIDB4MDEsIDB4YTgsIDB4MDYsIDB4MDgsIDB4ODAsIDB4MDIsIDB4YzMsIDB4MzMsIDB4ZDgsIDB4ZmMsIDB4NDIsIDB4MzF9IH0sCi17IDB4ODlmYSwJMTYsCXsweDgwLCAweDEwLCAweGFlLCAweDVlLCAweDc0LCAweDAxLCAweGE4LCAweDA2LCAweDA4LCAweDgwLCAweDAyLCAweGMzLCAweDMzLCAweGQ4LCAweGZjLCAweGY0fSB9LAoteyAweDhhMGEsCTE2LAl7MHg1MiwgMHgzMSwgMHhlZiwgMHgyMCwgMHhlMSwgMHgwMywgMHgzMCwgMHhlNCwgMHgwMywgMHhlNCwgMHhmNSwgMHg1ZCwgMHg4NSwgMHg2MCwgMHg4MiwgMHg4NX0gfSwKLXsgMHg4YTFhLAkxNiwJezB4NWYsIDB4ODMsIDB4YTMsIDB4YTMsIDB4YTMsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4ODUsIDB4NjAsIDB4ODIsIDB4ODUsIDB4NWYsIDB4ODMsIDB4YTMsIDB4YTN9IH0sCi17IDB4OGEyYSwJMTYsCXsweGU0LCAweGYwLCAweGU1LCAweDVkLCAweGYwLCAweGU1LCAweDU4LCAweDI0LCAweDBhLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDU3LCAweGY1LCAweDgzfSB9LAoteyAweDhhM2EsCTE2LAl7MHhlMCwgMHhmZiwgMHhlNSwgMHg2MCwgMHgyNCwgMHgwNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHg1ZiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHhlNX0gfSwKLXsgMHg4YTRhLAkxNiwJezB4NTgsIDB4MjQsIDB4MGEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4NTcsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4ZTUsIDB4NjAsIDB4MjQsIDB4MDV9IH0sCi17IDB4OGE1YSwJMTYsCXsweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDVmLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweGU1LCAweDU4LCAweDI0LCAweDA5LCAweGY1LCAweDgyLCAweGU0fSB9LAoteyAweDhhNmEsCTE2LAl7MHgzNSwgMHg1NywgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHhlNSwgMHg2MCwgMHgyNCwgMHgwNiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHg1ZiwgMHhmNX0gfSwKLXsgMHg4YTdhLAkxNiwJezB4ODMsIDB4ZWYsIDB4ZjAsIDB4ZTUsIDB4NTgsIDB4MjQsIDB4MDksIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4NTcsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmZ9IH0sCi17IDB4OGE4YSwJMTYsCXsweGU1LCAweDYwLCAweDI0LCAweDA3LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDVmLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDg1LCAweDYwLCAweDgyfSB9LAoteyAweDhhOWEsCTE2LAl7MHg4NSwgMHg1ZiwgMHg4MywgMHhhMywgMHhhMywgMHhhMywgMHhlNCwgMHhmMCwgMHg4NSwgMHg2MCwgMHg4MiwgMHg4NSwgMHg1ZiwgMHg4MywgMHhhMywgMHhhM30gfSwKLXsgMHg4YWFhLAkxNiwJezB4ZjAsIDB4ODUsIDB4NTgsIDB4ODIsIDB4ODUsIDB4NTcsIDB4ODMsIDB4YTMsIDB4ZTAsIDB4ZmMsIDB4YTMsIDB4ZTAsIDB4ZmQsIDB4YTMsIDB4ZTAsIDB4ZmV9IH0sCi17IDB4OGFiYSwJMTYsCXsweGEzLCAweGUwLCAweGY1LCAweDY2LCAweDhlLCAweDY1LCAweDhkLCAweDY0LCAweDhjLCAweDYzLCAweDdkLCAweDA2LCAweGFmLCAweDVlLCAweDEyLCAweDgzfSB9LAoteyAweDhhY2EsCTE2LAl7MHhkZiwgMHg3NSwgMHg1ZCwgMHgwOCwgMHhlNSwgMHg1OCwgMHgyNCwgMHgwYywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHg1NywgMHhmNSwgMHg4MywgMHhlMH0gfSwKLXsgMHg4YWRhLAkxNiwJezB4NjAsIDB4MDMsIDB4NDMsIDB4NWQsIDB4MTAsIDB4ZTUsIDB4NjAsIDB4MjQsIDB4MDQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4NWYsIDB4ZjUsIDB4ODN9IH0sCi17IDB4OGFlYSwJMTYsCXsweGUwLCAweDU0LCAweDAzLCAweDQ1LCAweDVkLCAweGYwLCAweGU1LCAweDU4LCAweDI0LCAweDA1LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDU3LCAweGY1fSB9LAoteyAweDhhZmEsCTE2LAl7MHg4MywgMHhlMCwgMHhmZSwgMHhjMywgMHg5NCwgMHgwNSwgMHg0MCwgMHgwNiwgMHhlZSwgMHhkMywgMHg5NCwgMHgwOCwgMHg0MCwgMHgwMywgMHg3ZiwgMHhmZn0gfSwKLXsgMHg4YjBhLAkxNiwJezB4MjIsIDB4ZTUsIDB4NTgsIDB4MjQsIDB4MDYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4NTcsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmQsIDB4YzMsIDB4OTR9IH0sCi17IDB4OGIxYSwJMTYsCXsweDAxLCAweDQwLCAweDA2LCAweGVkLCAweGQzLCAweDk0LCAweDAyLCAweDQwLCAweDAzLCAweDdmLCAweGZmLCAweDIyLCAweGVkLCAweDE0LCAweGZmLCAweDI1fSB9LAoteyAweDhiMmEsCTE2LAl7MHhlMCwgMHgyNSwgMHhlMCwgMHhmZiwgMHhlZSwgMHgyNCwgMHhmYiwgMHg0ZiwgMHhmNSwgMHg1ZCwgMHhlNSwgMHg1OCwgMHgyNCwgMHgwNywgMHhmNSwgMHg4Mn0gfSwKLXsgMHg4YjNhLAkxNiwJezB4ZTQsIDB4MzUsIDB4NTcsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MjQsIDB4ZDAsIDB4NjAsIDB4MTgsIDB4MTQsIDB4NjAsIDB4MWEsIDB4MjQsIDB4YzMsIDB4NjB9IH0sCi17IDB4OGI0YSwJMTYsCXsweDFlLCAweDE0LCAweDYwLCAweDA5LCAweDI0LCAweDBhLCAweDcwLCAweDE0LCAweDQzLCAweDVkLCAweDE4LCAweDgwLCAweDEyLCAweDQzLCAweDVkLCAweDA4fSB9LAoteyAweDhiNWEsCTE2LAl7MHg4MCwgMHgwZCwgMHg0MywgMHg1ZCwgMHgzOCwgMHg4MCwgMHgwOCwgMHg0MywgMHg1ZCwgMHgyOCwgMHg4MCwgMHgwMywgMHg3ZiwgMHhmZiwgMHgyMiwgMHg4NX0gfSwKLXsgMHg4YjZhLAkxNiwJezB4NjAsIDB4ODIsIDB4ODUsIDB4NWYsIDB4ODMsIDB4YTMsIDB4YTMsIDB4YTMsIDB4ZTUsIDB4NWQsIDB4ZjAsIDB4NzQsIDB4MDEsIDB4N2UsIDB4MDAsIDB4YTh9IH0sCi17IDB4OGI3YSwJMTYsCXsweDVlLCAweDA4LCAweDgwLCAweDA1LCAweGMzLCAweDMzLCAweGNlLCAweDMzLCAweGNlLCAweGQ4LCAweGY5LCAweGZmLCAweGU0LCAweGVmLCAweDU1LCAweDM0fSB9LAoteyAweDhiOGEsCTE2LAl7MHg2MCwgMHgwNywgMHhhZiwgMHg1ZSwgMHg3ZCwgMHgwMSwgMHgxMiwgMHg4MywgMHg1YSwgMHhhYSwgMHg1NywgMHhhOSwgMHg1OCwgMHg3YiwgMHgwMSwgMHhjMH0gfSwKLXsgMHg4YjlhLAkxNiwJezB4MDMsIDB4YzAsIDB4MDEsIDB4ZTUsIDB4NWUsIDB4NzUsIDB4ZjAsIDB4MGQsIDB4YTQsIDB4MjQsIDB4MDEsIDB4ZjksIDB4NzQsIDB4MDMsIDB4MzUsIDB4ZjB9IH0sCi17IDB4OGJhYSwJMTYsCXsweGE4LCAweDAxLCAweGZjLCAweGFkLCAweDAzLCAweGQwLCAweDAxLCAweGQwLCAweDAzLCAweDdlLCAweDAwLCAweDdmLCAweDBkLCAweDEyLCAweGEyLCAweDEyfSB9LAoteyAweDhiYmEsCTIsCXsweDdmLCAweDAwfSB9LAoteyAweDhiYmMsCTEsCXsweDIyfSB9LAoteyAweDhiYmQsCTE2LAl7MHg4ZiwgMHg4MiwgMHg4ZSwgMHg4MywgMHhlMCwgMHgxNCwgMHhmZSwgMHhjMywgMHg5NCwgMHgwNCwgMHg0MCwgMHgwMywgMHg3ZiwgMHhmZiwgMHgyMiwgMHhlZX0gfSwKLXsgMHg4YmNkLAkxNiwJezB4NzUsIDB4ZjAsIDB4MDgsIDB4YTQsIDB4MjQsIDB4MDAsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MjAsIDB4YWQsIDB4ODIsIDB4ZmMsIDB4OTAsIDB4MDF9IH0sCi17IDB4OGJkZCwJMTYsCXsweDJjLCAweDc0LCAweDA4LCAweGYwLCAweGVlLCAweDA0LCAweGEzLCAweGYwLCAweGU0LCAweGEzLCAweGYwLCAweDhkLCAweDgyLCAweDhjLCAweDgzLCAweGU1fSB9LAoteyAweDhiZWQsCTE2LAl7MHg4MiwgMHgyNCwgMHgwNiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHg4MywgMHhmNSwgMHg4MywgMHhlMCwgMHg5MCwgMHgwMSwgMHgyZiwgMHhmMCwgMHg4ZH0gfSwKLXsgMHg4YmZkLAkxNiwJezB4ODIsIDB4OGMsIDB4ODMsIDB4ZTUsIDB4ODIsIDB4MjQsIDB4MDUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4ODMsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTR9IH0sCi17IDB4OGMwZCwJMTYsCXsweDFlLCAweDkwLCAweDAxLCAweDMwLCAweGYwLCAweDc0LCAweDJkLCAweDJlLCAweGY4LCAweGU2LCAweGEzLCAweGYwLCAweGFmLCAweDA2LCAweDc0LCAweDAxfSB9LAoteyAweDhjMWQsCTE2LAl7MHhhOCwgMHgwNywgMHgwOCwgMHg4MCwgMHgwMiwgMHhjMywgMHgzMywgMHhkOCwgMHhmYywgMHhmNSwgMHg1NywgMHhlNSwgMHgzMywgMHhjMywgMHg5NCwgMHgwMX0gfSwKLXsgMHg4YzJkLAkxNiwJezB4NDAsIDB4MGQsIDB4OTAsIDB4MjAsIDB4NzgsIDB4ZTAsIDB4NTQsIDB4MGYsIDB4NzUsIDB4NTgsIDB4MDAsIDB4ZjUsIDB4NTksIDB4ODAsIDB4MDksIDB4N2Z9IH0sCi17IDB4OGMzZCwJMTYsCXsweDAyLCAweDEyLCAweDExLCAweDI3LCAweDhlLCAweDU4LCAweDhmLCAweDU5LCAweGMzLCAweGU1LCAweDU4LCAweDY0LCAweDgwLCAweDk0LCAweDgwLCAweDQwfSB9LAoteyAweDhjNGQsCTE2LAl7MHhkYSwgMHhlNSwgMHg1NywgMHg1NSwgMHg1OSwgMHg5MCwgMHgwMSwgMHgzMiwgMHhmMCwgMHg3ZSwgMHgwMSwgMHg3ZiwgMHgyYywgMHg3ZCwgMHgwNywgMHgxMn0gfSwKLXsgMHg4YzVkLAk0LAl7MHg5MSwgMHg2YSwgMHg3ZiwgMHgwMH0gfSwKLXsgMHg4YzYxLAkxLAl7MHgyMn0gfSwKLXsgMHg4YzYyLAkxNiwJezB4OGYsIDB4ODIsIDB4OGUsIDB4ODMsIDB4ZTAsIDB4MTQsIDB4ZmUsIDB4YzMsIDB4OTQsIDB4MDQsIDB4NDAsIDB4MDMsIDB4N2YsIDB4ZmYsIDB4MjIsIDB4ZWV9IH0sCi17IDB4OGM3MiwJMTYsCXsweDc1LCAweGYwLCAweDA4LCAweGE0LCAweDI0LCAweDAwLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDIwLCAweGFmLCAweDgyLCAweGZlLCAweDkwLCAweDAxfSB9LAoteyAweDhjODIsCTE2LAl7MHgzMywgMHg3NCwgMHgwYSwgMHhmMCwgMHg4ZiwgMHg4MiwgMHg4ZSwgMHg4MywgMHhlNSwgMHg4MiwgMHgyNCwgMHgwNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNX0gfSwKLXsgMHg4YzkyLAkxNiwJezB4ODMsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4OTAsIDB4MDEsIDB4MzQsIDB4ZjAsIDB4N2UsIDB4MDEsIDB4N2YsIDB4MzMsIDB4N2QsIDB4MDIsIDB4MTIsIDB4OTF9IH0sCi17IDB4OGNhMiwJMywJezB4NmEsIDB4N2YsIDB4MDB9IH0sCi17IDB4OGNhNSwJMSwJezB4MjJ9IH0sCi17IDB4OGNhNiwJNCwJezB4OGUsIDB4NTcsIDB4OGYsIDB4NTh9IH0sCi17IDB4OGNhYSwJMTYsCXsweDhmLCAweDgyLCAweDhlLCAweDgzLCAweGUwLCAweDE0LCAweGZlLCAweGMzLCAweDk0LCAweDA0LCAweDQwLCAweDAzLCAweDdmLCAweGZmLCAweDIyLCAweGVlfSB9LAoteyAweDhjYmEsCTE2LAl7MHg3NSwgMHhmMCwgMHgwOCwgMHhhNCwgMHgyNCwgMHgwMCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgyMCwgMHhhZCwgMHg4MiwgMHhmYywgMHg4NSwgMHg1OH0gfSwKLXsgMHg4Y2NhLAkxNiwJezB4ODIsIDB4ODUsIDB4NTcsIDB4ODMsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MGYsIDB4ZWQsIDB4MjQsIDB4MDQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4M2MsIDB4ZjV9IH0sCi17IDB4OGNkYSwJMTYsCXsweDgzLCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDgwLCAweDQzLCAweGVlLCAweDc1LCAweGYwLCAweDBkLCAweGE0LCAweDI0LCAweDBjLCAweGY1LCAweDgyfSB9LAoteyAweDhjZWEsCTE2LAl7MHhlNCwgMHgzNCwgMHgwMywgMHhmNSwgMHg4MywgMHhlMCwgMHgzMCwgMHhlMCwgMHgyMCwgMHhlZSwgMHgyNSwgMHhlMCwgMHgyNCwgMHhjNiwgMHhmNSwgMHg4Mn0gfSwKLXsgMHg4Y2ZhLAkxNiwJezB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4ZjAsIDB4N2YsIDB4NjAsIDB4ZWQsIDB4MjQsIDB4MDUsIDB4ZjUsIDB4ODJ9IH0sCi17IDB4OGQwYSwJMTYsCXsweGU0LCAweDNjLCAweGY1LCAweDgzLCAweGUwLCAweDVmLCAweGI1LCAweDA3LCAweGYyLCAweGFlLCAweDA0LCAweGFmLCAweDA1LCAweGVmLCAweDI0LCAweDA0fSB9LAoteyAweDhkMWEsCTEyLAl7MHhmNSwgMHg4MiwgMHhlNCwgMHgzZSwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHhmZCwgMHhmMCwgMHg3ZiwgMHgwMH0gfSwKLXsgMHg4ZDI2LAkxLAl7MHgyMn0gfSwKLXsgMHg4ZDI3LAk0LAl7MHhhZCwgMHgwNywgMHhhYywgMHgwNn0gfSwKLXsgMHg4ZDJiLAkxNiwJezB4OGQsIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZTAsIDB4MTQsIDB4ZmUsIDB4YzMsIDB4OTQsIDB4MDQsIDB4NDAsIDB4MDMsIDB4N2YsIDB4ZmYsIDB4MjIsIDB4ZWV9IH0sCi17IDB4OGQzYiwJMTYsCXsweDc1LCAweGYwLCAweDA4LCAweGE0LCAweDI0LCAweDAwLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDIwLCAweGFmLCAweDgyLCAweGZlLCAweDhkLCAweDgyfSB9LAoteyAweDhkNGIsCTE2LAl7MHg4YywgMHg4MywgMHhhMywgMHhlMCwgMHg2MCwgMHgwZiwgMHhlZiwgMHgyNCwgMHgwNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzZSwgMHhmNSwgMHg4MywgMHhlMH0gfSwKLXsgMHg4ZDViLAkxNiwJezB4NDQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4MGQsIDB4ZWYsIDB4MjQsIDB4MDQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4M2UsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTR9IH0sCi17IDB4OGQ2YiwJNCwJezB4ZmUsIDB4ZjAsIDB4N2YsIDB4MDB9IH0sCi17IDB4OGQ2ZiwJMSwJezB4MjJ9IH0sCi17IDB4OGQ3MCwJNCwJezB4YWQsIDB4MDcsIDB4YWMsIDB4MDZ9IH0sCi17IDB4OGQ3NCwJMTYsCXsweDhkLCAweDgyLCAweDhjLCAweDgzLCAweGUwLCAweDE0LCAweGZlLCAweGMzLCAweDk0LCAweDA0LCAweDQwLCAweDAzLCAweDdmLCAweGZmLCAweDIyLCAweGVlfSB9LAoteyAweDhkODQsCTE2LAl7MHg3NSwgMHhmMCwgMHgwOCwgMHhhNCwgMHgyNCwgMHgwMCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgyMCwgMHhhZiwgMHg4MiwgMHhmZSwgMHg4ZCwgMHg4Mn0gfSwKLXsgMHg4ZDk0LAkxNiwJezB4OGMsIDB4ODMsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MGQsIDB4OGYsIDB4ODIsIDB4OGUsIDB4ODMsIDB4YTMsIDB4YTMsIDB4YTMsIDB4ZTAsIDB4NDQsIDB4NDB9IH0sCi17IDB4OGRhNCwJMTYsCXsweGYwLCAweDgwLCAweDBiLCAweDhmLCAweDgyLCAweDhlLCAweDgzLCAweGEzLCAweGEzLCAweGEzLCAweGUwLCAweDU0LCAweGJmLCAweGYwLCAweDdmLCAweDAwfSB9LAoteyAweDhkYjQsCTEsCXsweDIyfSB9LAoteyAweDhkYjUsCTE2LAl7MHg4ZiwgMHg4MiwgMHg4ZSwgMHg4MywgMHhlMCwgMHgxNCwgMHhmZSwgMHhjMywgMHg5NCwgMHgwNCwgMHg0MCwgMHgwMywgMHg3ZiwgMHhmZiwgMHgyMiwgMHhhZn0gfSwKLXsgMHg4ZGM1LAkxNiwJezB4MDYsIDB4NzQsIDB4MDEsIDB4YTgsIDB4MDcsIDB4MDgsIDB4ODAsIDB4MDIsIDB4YzMsIDB4MzMsIDB4ZDgsIDB4ZmMsIDB4NDIsIDB4M2UsIDB4N2YsIDB4MDB9IH0sCi17IDB4OGRkNSwJMSwJezB4MjJ9IH0sCi17IDB4OGRkNiwJNCwJezB4OGUsIDB4NTcsIDB4OGYsIDB4NTh9IH0sCi17IDB4OGRkYSwJMTYsCXsweDhmLCAweDgyLCAweDhlLCAweDgzLCAweGEzLCAweGUwLCAweGY1LCAweDVjLCAweDhmLCAweDgyLCAweDhlLCAweDgzLCAweGUwLCAweGY1LCAweDU5LCAweGQzfSB9LAoteyAweDhkZWEsCTE2LAl7MHg5NCwgMHgwNCwgMHg0MCwgMHgwMywgMHg3ZiwgMHhmZiwgMHgyMiwgMHhlNSwgMHg1OSwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxNiwgMHgxNCwgMHg2MCwgMHgxZn0gfSwKLXsgMHg4ZGZhLAkxNiwJezB4MTQsIDB4NjAsIDB4MjgsIDB4MjQsIDB4MDMsIDB4NzAsIDB4MmUsIDB4N2UsIDB4N2UsIDB4N2YsIDB4ODAsIDB4NzUsIDB4NWEsIDB4N2UsIDB4NzUsIDB4NWJ9IH0sCi17IDB4OGUwYSwJMTYsCXsweDgwLCAweDgwLCAweDIyLCAweDdlLCAweDdlLCAweDdmLCAweDAwLCAweDc1LCAweDVhLCAweDdlLCAweDc1LCAweDViLCAweDAwLCAweDgwLCAweDE2LCAweDdlfSB9LAoteyAweDhlMWEsCTE2LAl7MHg3ZCwgMHg3ZiwgMHg4MCwgMHg3NSwgMHg1YSwgMHg3ZCwgMHg3NSwgMHg1YiwgMHg4MCwgMHg4MCwgMHgwYSwgMHg3ZSwgMHg3ZCwgMHg3ZiwgMHgwMCwgMHg3NX0gfSwKLXsgMHg4ZTJhLAkxNiwJezB4NWEsIDB4N2QsIDB4NzUsIDB4NWIsIDB4MDAsIDB4ZTUsIDB4NWMsIDB4NzAsIDB4MWIsIDB4ODUsIDB4NWIsIDB4ODIsIDB4ODUsIDB4NWEsIDB4ODMsIDB4NzR9IH0sCi17IDB4OGUzYSwJMTYsCXsweGZmLCAweGYwLCAweGU1LCAweDU5LCAweDI1LCAweGUwLCAweDI0LCAweGI1LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweDc0fSB9LAoteyAweDhlNGEsCTE2LAl7MHgwMSwgMHhmMCwgMHg4MCwgMHg0OCwgMHhlNSwgMHg1OCwgMHgyNCwgMHgwMiwgMHhmZiwgMHhlNCwgMHgzNSwgMHg1NywgMHhmZSwgMHhlNSwgMHg1YywgMHg2MH0gfSwKLXsgMHg4ZTVhLAkxNiwJezB4MjMsIDB4MGYsIDB4ZWYsIDB4YWMsIDB4MDYsIDB4NzAsIDB4MDEsIDB4MGUsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZTAsIDB4ZmQsIDB4MDV9IH0sCi17IDB4OGU2YSwJMTYsCXsweDViLCAweGU1LCAweDViLCAweGFhLCAweDVhLCAweDcwLCAweDAyLCAweDA1LCAweDVhLCAweDE0LCAweGY1LCAweDgyLCAweDhhLCAweDgzLCAweGVkLCAweGYwfSB9LAoteyAweDhlN2EsCTE2LAl7MHgxNSwgMHg1YywgMHg4MCwgMHhkOSwgMHg4NSwgMHg1OCwgMHg4MiwgMHg4NSwgMHg1NywgMHg4MywgMHhhMywgMHhlMCwgMHhmZiwgMHhlNSwgMHg1OSwgMHgyNX0gfSwKLXsgMHg4ZThhLAkxNCwJezB4ZTAsIDB4MjQsIDB4YjUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4N2YsIDB4MDB9IH0sCi17IDB4OGU5OCwJMSwJezB4MjJ9IH0sCi17IDB4OGU5OSwJMTYsCXsweGVmLCAweDI0LCAweDA1LCAweGY1LCAweDU4LCAweGU0LCAweDNlLCAweGY1LCAweDU3LCAweDkwLCAweDAxLCAweDM1LCAweDc0LCAweDA3LCAweGYwLCAweDkwfSB9LAoteyAweDhlYTksCTE2LAl7MHgwMSwgMHg3YSwgMHg3NCwgMHgwMSwgMHhmMCwgMHhhMywgMHg3NCwgMHgzNiwgMHhmMCwgMHg4NSwgMHg1OCwgMHg4MiwgMHg4NSwgMHg1NywgMHg4MywgMHhhM30gfSwKLXsgMHg4ZWI5LAkxNiwJezB4YTMsIDB4YTMsIDB4ZTAsIDB4ZmUsIDB4YTMsIDB4ZTAsIDB4OGUsIDB4NTksIDB4ZjUsIDB4NWEsIDB4ODUsIDB4NTgsIDB4ODIsIDB4ODUsIDB4NTcsIDB4ODN9IH0sCi17IDB4OGVjOSwJMTYsCXsweGUwLCAweDI0LCAweDllLCAweDYwLCAweDYxLCAweDI0LCAweGY5LCAweDYwLCAweDBlLCAweDI0LCAweGYxLCAweDcwLCAweDAzLCAweDAyLCAweDhmLCAweDdhfSB9LAoteyAweDhlZDksCTE2LAl7MHgyNCwgMHgxNCwgMHg2MCwgMHgwMywgMHgwMiwgMHg4ZiwgMHhjOCwgMHg4NSwgMHg1OCwgMHg4MiwgMHg4NSwgMHg1NywgMHg4MywgMHhhMywgMHhlMCwgMHhmZX0gfSwKLXsgMHg4ZWU5LAkxNiwJezB4YTMsIDB4ZTAsIDB4ZmYsIDB4YzMsIDB4ZTQsIDB4OWYsIDB4ZjUsIDB4NWMsIDB4NzQsIDB4MDEsIDB4OWUsIDB4ZjUsIDB4NWIsIDB4ZDMsIDB4ZTUsIDB4NWN9IH0sCi17IDB4OGVmOSwJMTYsCXsweDk0LCAweDNmLCAweGU1LCAweDViLCAweDk0LCAweDAwLCAweDQwLCAweDA2LCAweDc1LCAweDViLCAweDAwLCAweDc1LCAweDVjLCAweDNmLCAweGQzLCAweGU1fSB9LAoteyAweDhmMDksCTE2LAl7MHg1YSwgMHg5NSwgMHg1YywgMHhlNSwgMHg1OSwgMHg5NSwgMHg1YiwgMHg1MCwgMHgwMywgMHgwMiwgMHg4ZiwgMHhjYiwgMHhhZSwgMHg1YiwgMHhhZiwgMHg1Y30gfSwKLXsgMHg4ZjE5LAkxNiwJezB4ODUsIDB4NTgsIDB4ODIsIDB4ODUsIDB4NTcsIDB4ODMsIDB4YTMsIDB4YTMsIDB4YTMsIDB4ZWUsIDB4ZjAsIDB4ZmUsIDB4YTMsIDB4ZWYsIDB4ZjAsIDB4OGV9IH0sCi17IDB4OGYyOSwJMTYsCXsweDU5LCAweGY1LCAweDVhLCAweDAyLCAweDhmLCAweGNiLCAweDg1LCAweDU4LCAweDgyLCAweDg1LCAweDU3LCAweDgzLCAweGEzLCAweGUwLCAweGZlLCAweGEzfSB9LAoteyAweDhmMzksCTE2LAl7MHhlMCwgMHhmZiwgMHhjMywgMHg3NCwgMHgzMCwgMHg5ZiwgMHhmNSwgMHg1YywgMHhlNCwgMHg5ZSwgMHhmNSwgMHg1YiwgMHhkMywgMHhlNSwgMHg1YywgMHg5NH0gfSwKLXsgMHg4ZjQ5LAkxNiwJezB4MTAsIDB4ZTUsIDB4NWIsIDB4OTQsIDB4MDAsIDB4NDAsIDB4MDYsIDB4NzUsIDB4NWIsIDB4MDAsIDB4NzUsIDB4NWMsIDB4MTAsIDB4ZDMsIDB4ZTUsIDB4NWF9IH0sCi17IDB4OGY1OSwJMTYsCXsweDk1LCAweDVjLCAweGU1LCAweDU5LCAweDk1LCAweDViLCAweDQwLCAweDZhLCAweGFlLCAweDViLCAweGFmLCAweDVjLCAweDg1LCAweDU4LCAweDgyLCAweDg1fSB9LAoteyAweDhmNjksCTE2LAl7MHg1NywgMHg4MywgMHhhMywgMHhhMywgMHhhMywgMHhlZSwgMHhmMCwgMHhmZSwgMHhhMywgMHhlZiwgMHhmMCwgMHg4ZSwgMHg1OSwgMHhmNSwgMHg1YSwgMHg4MH0gfSwKLXsgMHg4Zjc5LAkxNiwJezB4NTEsIDB4ODUsIDB4NTgsIDB4ODIsIDB4ODUsIDB4NTcsIDB4ODMsIDB4YTMsIDB4ZTAsIDB4ZmUsIDB4YTMsIDB4ZTAsIDB4ZmYsIDB4YzMsIDB4ZTQsIDB4OWZ9IH0sCi17IDB4OGY4OSwJMTYsCXsweGY1LCAweDVjLCAweGU0LCAweDllLCAweGY1LCAweDViLCAweDQ1LCAweDVjLCAweDYwLCAweDBiLCAweGQzLCAweGU1LCAweDVjLCAweDk0LCAweDNmLCAweGU1fSB9LAoteyAweDhmOTksCTE2LAl7MHg1YiwgMHg5NCwgMHgwMCwgMHg0MCwgMHgwNiwgMHg3NSwgMHg1YiwgMHgwMCwgMHg3NSwgMHg1YywgMHgzZiwgMHhkMywgMHhlNSwgMHg1YSwgMHg5NSwgMHg1Y30gfSwKLXsgMHg4ZmE5LAkxNiwJezB4ZTUsIDB4NTksIDB4OTUsIDB4NWIsIDB4NDAsIDB4MWMsIDB4YWUsIDB4NWIsIDB4YWYsIDB4NWMsIDB4ODUsIDB4NTgsIDB4ODIsIDB4ODUsIDB4NTcsIDB4ODN9IH0sCi17IDB4OGZiOSwJMTYsCXsweGEzLCAweGEzLCAweGEzLCAweGVlLCAweGYwLCAweGZlLCAweGEzLCAweGVmLCAweGYwLCAweDhlLCAweDU5LCAweGY1LCAweDVhLCAweDgwLCAweDAzLCAweDdmfSB9LAoteyAweDhmYzksCTE2LAl7MHgwMSwgMHgyMiwgMHg4NSwgMHg1OCwgMHg4MiwgMHg4NSwgMHg1NywgMHg4MywgMHhlMCwgMHgyNCwgMHg5ZSwgMHg3MCwgMHgwMywgMHgwMiwgMHg5MCwgMHg4Yn0gfSwKLXsgMHg4ZmQ5LAkxNiwJezB4MjQsIDB4ZjksIDB4NjAsIDB4NTgsIDB4MjQsIDB4ZjEsIDB4NzAsIDB4MDMsIDB4MDIsIDB4OTAsIDB4ZGIsIDB4MjQsIDB4MTQsIDB4NjAsIDB4MDMsIDB4MDJ9IH0sCi17IDB4OGZlOSwJMTYsCXsweDkxLCAweDFmLCAweDg1LCAweDU4LCAweDgyLCAweDg1LCAweDU3LCAweDgzLCAweGEzLCAweGUwLCAweGZlLCAweGEzLCAweGUwLCAweGZmLCAweGQzLCAweDk0fSB9LAoteyAweDhmZjksCTE2LAl7MHhmZiwgMHhlZSwgMHg5NCwgMHgwMCwgMHg0MCwgMHgwMywgMHgwMiwgMHg5MSwgMHgxZiwgMHg5MCwgMHgwMSwgMHg3NSwgMHhlZiwgMHhmMCwgMHhlNSwgMHg1YX0gfSwKLXsgMHg5MDA5LAkxNiwJezB4MTUsIDB4NWEsIDB4YWUsIDB4NTksIDB4NzAsIDB4MDIsIDB4MTUsIDB4NTksIDB4NGUsIDB4NzAsIDB4MDMsIDB4MDIsIDB4OTEsIDB4MWYsIDB4OTAsIDB4MDF9IH0sCi17IDB4OTAxOSwJMTYsCXsweDc1LCAweGUwLCAweGZmLCAweDA0LCAweGYwLCAweGE4LCAweDA3LCAweGU2LCAweGZmLCAweDkwLCAweDAxLCAweDdhLCAweGU0LCAweDc1LCAweGYwLCAweDAxfSB9LAoteyAweDkwMjksCTE2LAl7MHgxMiwgMHhhMiwgMHg5NywgMHg4NSwgMHhmMCwgMHg4MiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHg4MCwgMHhkMiwgMHg4NSwgMHg1OCwgMHg4MiwgMHg4NX0gfSwKLXsgMHg5MDM5LAkxNiwJezB4NTcsIDB4ODMsIDB4YTMsIDB4ZTAsIDB4ZmUsIDB4YTMsIDB4ZTAsIDB4ZmYsIDB4YzMsIDB4OTQsIDB4ODAsIDB4ZWUsIDB4OTQsIDB4MDAsIDB4NTAsIDB4MDN9IH0sCi17IDB4OTA0OSwJMTYsCXsweDAyLCAweDkxLCAweDFmLCAweGQzLCAweGVmLCAweDk0LCAweGZmLCAweGVlLCAweDk0LCAweDAwLCAweDQwLCAweDAzLCAweDAyLCAweDkxLCAweDFmLCAweDkwfSB9LAoteyAweDkwNTksCTE2LAl7MHgwMSwgMHg3NiwgMHhlZiwgMHhmMCwgMHhlNSwgMHg1YSwgMHgxNSwgMHg1YSwgMHhhZSwgMHg1OSwgMHg3MCwgMHgwMiwgMHgxNSwgMHg1OSwgMHg0ZSwgMHg3MH0gfSwKLXsgMHg5MDY5LAkxNiwJezB4MDMsIDB4MDIsIDB4OTEsIDB4MWYsIDB4OTAsIDB4MDEsIDB4NzYsIDB4ZTAsIDB4ZmYsIDB4MDQsIDB4ZjAsIDB4YTgsIDB4MDcsIDB4ZTYsIDB4ZmYsIDB4OTB9IH0sCi17IDB4OTA3OSwJMTYsCXsweDAxLCAweDdhLCAweGU0LCAweDc1LCAweGYwLCAweDAxLCAweDEyLCAweGEyLCAweDk3LCAweDg1LCAweGYwLCAweDgyLCAweGY1LCAweDgzLCAweGVmLCAweGYwfSB9LAoteyAweDkwODksCTE2LAl7MHg4MCwgMHhkMiwgMHg4NSwgMHg1OCwgMHg4MiwgMHg4NSwgMHg1NywgMHg4MywgMHhhMywgMHhlMCwgMHhmZSwgMHhhMywgMHhlMCwgMHhmZiwgMHhjMywgMHg5NH0gfSwKLXsgMHg5MDk5LAkxNiwJezB4MjAsIDB4ZWUsIDB4OTQsIDB4MDAsIDB4NTAsIDB4MDMsIDB4MDIsIDB4OTEsIDB4MWYsIDB4ZDMsIDB4ZWYsIDB4OTQsIDB4MmYsIDB4ZWUsIDB4OTQsIDB4MDB9IH0sCi17IDB4OTBhOSwJMTYsCXsweDUwLCAweDc0LCAweDkwLCAweDAxLCAweDc3LCAweGVmLCAweGYwLCAweGU1LCAweDVhLCAweDE1LCAweDVhLCAweGFlLCAweDU5LCAweDcwLCAweDAyLCAweDE1fSB9LAoteyAweDkwYjksCTE2LAl7MHg1OSwgMHg0ZSwgMHg2MCwgMHg2MiwgMHg5MCwgMHgwMSwgMHg3NywgMHhlMCwgMHhmZiwgMHgwNCwgMHhmMCwgMHhhOCwgMHgwNywgMHhlNiwgMHhmZiwgMHg5MH0gfSwKLXsgMHg5MGM5LAkxNiwJezB4MDEsIDB4N2EsIDB4ZTQsIDB4NzUsIDB4ZjAsIDB4MDEsIDB4MTIsIDB4YTIsIDB4OTcsIDB4ODUsIDB4ZjAsIDB4ODIsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjB9IH0sCi17IDB4OTBkOSwJMTYsCXsweDgwLCAweGQ1LCAweDg1LCAweDU4LCAweDgyLCAweDg1LCAweDU3LCAweDgzLCAweGEzLCAweGUwLCAweGZmLCAweGEzLCAweGUwLCAweDkwLCAweDAxLCAweDc4fSB9LAoteyAweDkwZTksCTE2LAl7MHhjZiwgMHhmMCwgMHhhMywgMHhlZiwgMHhmMCwgMHhlNSwgMHg1YSwgMHgxNSwgMHg1YSwgMHhhZSwgMHg1OSwgMHg3MCwgMHgwMiwgMHgxNSwgMHg1OSwgMHg0ZX0gfSwKLXsgMHg5MGY5LAkxNiwJezB4NjAsIDB4MjQsIDB4OTAsIDB4MDEsIDB4NzgsIDB4ZTQsIDB4NzUsIDB4ZjAsIDB4MDEsIDB4MTIsIDB4YTIsIDB4OTcsIDB4ODUsIDB4ZjAsIDB4ODIsIDB4ZjV9IH0sCi17IDB4OTEwOSwJMTYsCXsweDgzLCAweGUwLCAweGZmLCAweDkwLCAweDAxLCAweDdhLCAweGU0LCAweDc1LCAweGYwLCAweDAxLCAweDEyLCAweGEyLCAweDk3LCAweDg1LCAweGYwLCAweDgyfSB9LAoteyAweDkxMTksCTE2LAl7MHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHg4MCwgMHhjZiwgMHg3ZSwgMHgwMSwgMHg3ZiwgMHgzNSwgMHg4NSwgMHg1OCwgMHg4MiwgMHg4NSwgMHg1NywgMHg4M30gfSwKLXsgMHg5MTI5LAkxMywJezB4YTMsIDB4YTMsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4MDQsIDB4ZmQsIDB4MTIsIDB4OTEsIDB4NmEsIDB4N2YsIDB4MDB9IH0sCi17IDB4OTEzNiwJMSwJezB4MjJ9IH0sCi17IDB4OTEzNywJMTYsCXsweDhlLCAweDYyLCAweDhmLCAweDYzLCAweDhjLCAweDY0LCAweDhkLCAweDY1LCAweGFmLCAweDAzLCAweDFiLCAweGVmLCAweDYwLCAweDI0LCAweDA1LCAweDYzfSB9LAoteyAweDkxNDcsCTE2LAl7MHhlNSwgMHg2MywgMHhhZSwgMHg2MiwgMHg3MCwgMHgwMiwgMHgwNSwgMHg2MiwgMHgxNCwgMHhmNSwgMHg4MiwgMHg4ZSwgMHg4MywgMHhlMCwgMHhmZiwgMHgwNX0gfSwKLXsgMHg5MTU3LAkxNiwJezB4NjUsIDB4ZTUsIDB4NjUsIDB4YWMsIDB4NjQsIDB4NzAsIDB4MDIsIDB4MDUsIDB4NjQsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZWYsIDB4ZjB9IH0sCi17IDB4OTE2NywJMywJezB4ODAsIDB4ZDYsIDB4MjJ9IH0sCi17IDB4OTE2YSwJNiwJezB4OGQsIDB4NWQsIDB4YWIsIDB4MDcsIDB4YWEsIDB4MDZ9IH0sCi17IDB4OTE3MCwJMTYsCXsweDc1LCAweDYxLCAweDQwLCAweDc1LCAweDYwLCAweDBkLCAweDc1LCAweDVmLCAweDAzLCAweDc1LCAweDVlLCAweDAwLCAweDkwLCAweDdmLCAweGMyLCAweGUwfSB9LAoteyAweDkxODAsCTE2LAl7MHgyMCwgMHhlMSwgMHhmOSwgMHhhZiwgMHg2MSwgMHhhZSwgMHg2MCwgMHhhZCwgMHg1ZiwgMHhhYywgMHg1ZSwgMHhlYywgMHg0ZCwgMHg0ZSwgMHg0ZiwgMHg3MH0gfSwKLXsgMHg5MTkwLAkxNiwJezB4MDgsIDB4OTAsIDB4N2YsIDB4YzIsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4ODAsIDB4ZDcsIDB4OTAsIDB4N2YsIDB4YzIsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MTZ9IH0sCi17IDB4OTFhMCwJMTYsCXsweGFmLCAweDAzLCAweGFlLCAweDAyLCAweDdjLCAweDdiLCAweDdkLCAweDgwLCAweGFiLCAweDVkLCAweDEyLCAweDkxLCAweDM3LCAweDkwLCAweDdmLCAweGMzfSB9LAoteyAweDkxYjAsCTgsCXsweGU1LCAweDVkLCAweGYwLCAweDdmLCAweDAxLCAweDIyLCAweDdmLCAweDAwfSB9LAoteyAweDkxYjgsCTEsCXsweDIyfSB9LAoteyAweDkxYjksCTE2LAl7MHg5MCwgMHgwMSwgMHg4NCwgMHg3NCwgMHgwYiwgMHhmMCwgMHhhMywgMHhlNSwgMHgzMywgMHhmMCwgMHg5MCwgMHgwYSwgMHhmNSwgMHhlNCwgMHg5MywgMHg5MH0gfSwKLXsgMHg5MWM5LAkxNiwJezB4MDEsIDB4ODYsIDB4ZjAsIDB4OTAsIDB4MGEsIDB4ZjYsIDB4ZTQsIDB4OTMsIDB4OTAsIDB4MDEsIDB4ODcsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4MDEsIDB4N2N9IH0sCi17IDB4OTFkOSwJMTYsCXsweGYwLCAweGEzLCAweGYwLCAweGEzLCAweGYwLCAweGEzLCAweGYwLCAweGEzLCAweGYwLCAweGEzLCAweDc0LCAweDEwLCAweGYwLCAweGEzLCAweDc0LCAweDAxfSB9LAoteyAweDkxZTksCTE2LAl7MHhmMCwgMHhhMywgMHg3NCwgMHg4OCwgMHhmMCwgMHg3ZSwgMHgwMSwgMHg3ZiwgMHg3YywgMHgxMiwgMHgxOSwgMHhjMSwgMHg3ZSwgMHgwMSwgMHg3ZiwgMHg4NH0gfSwKLXsgMHg5MWY5LAk3LAl7MHg3ZCwgMHgxNCwgMHgxMiwgMHg5MSwgMHg2YSwgMHg3ZiwgMHgwMH0gfSwKLXsgMHg5MjAwLAkxLAl7MHgyMn0gfSwKLXsgMHg5MjAxLAkxNiwJezB4N2UsIDB4N2IsIDB4N2YsIDB4NDAsIDB4NzUsIDB4NGUsIDB4N2IsIDB4NzUsIDB4NGYsIDB4NDAsIDB4OTAsIDB4N2YsIDB4ZDMsIDB4ZTAsIDB4ZmYsIDB4ODV9IH0sCi17IDB4OTIxMSwJMTYsCXsweDRlLCAweDUxLCAweDg1LCAweDRmLCAweDUyLCAweGU1LCAweDUyLCAweDI0LCAweDAxLCAweGY1LCAweDU2LCAweGU0LCAweDM1LCAweDUxLCAweGY1LCAweDU1fSB9LAoteyAweDkyMjEsCTE2LAl7MHhlNCwgMHhmNSwgMHg1MCwgMHg4NSwgMHg1MiwgMHg4MiwgMHg4NSwgMHg1MSwgMHg4MywgMHhlMCwgMHhmZSwgMHgxNCwgMHhiNCwgMHgwYywgMHgwMCwgMHg1MH0gfSwKLXsgMHg5MjMxLAkxNiwJezB4NWIsIDB4OTAsIDB4OTIsIDB4MzksIDB4ZjgsIDB4MjgsIDB4MjgsIDB4NzMsIDB4MDIsIDB4OTIsIDB4NWQsIDB4MDIsIDB4OTIsIDB4NWQsIDB4MDIsIDB4OTJ9IH0sCi17IDB4OTI0MSwJMTYsCXsweDY3LCAweDAyLCAweDkyLCAweDcxLCAweDAyLCAweDkyLCAweDcxLCAweDAyLCAweDkyLCAweDcxLCAweDAyLCAweDkyLCAweDg1LCAweDAyLCAweDkyLCAweDVkfSB9LAoteyAweDkyNTEsCTE2LAl7MHgwMiwgMHg5MiwgMHg3YiwgMHgwMiwgMHg5MiwgMHg1ZCwgMHgwMiwgMHg5MiwgMHg4ZCwgMHgwMiwgMHg5MiwgMHg1ZCwgMHhlZiwgMHg2NCwgMHgwMiwgMHg2MH0gfSwKLXsgMHg5MjYxLAkxNiwJezB4MmIsIDB4NzUsIDB4NTAsIDB4ZmYsIDB4ODAsIDB4MjYsIDB4ZWYsIDB4NjQsIDB4MGUsIDB4NjAsIDB4MjEsIDB4NzUsIDB4NTAsIDB4ZmYsIDB4ODAsIDB4MWN9IH0sCi17IDB4OTI3MSwJMTYsCXsweGVmLCAweDY0LCAweDAzLCAweDYwLCAweDE3LCAweDc1LCAweDUwLCAweGZmLCAweDgwLCAweDEyLCAweGVmLCAweDY0LCAweDAzLCAweDYwLCAweDBkLCAweDc1fSB9LAoteyAweDkyODEsCTE2LAl7MHg1MCwgMHhmZiwgMHg4MCwgMHgwOCwgMHhlZiwgMHg2NCwgMHgwNiwgMHg2MCwgMHgwMywgMHg3NSwgMHg1MCwgMHhmZiwgMHhlNSwgMHg1MCwgMHg2MCwgMHgxNX0gfSwKLXsgMHg5MjkxLAkxNiwJezB4OTAsIDB4MDEsIDB4OTgsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4YTMsIDB4ZWUsIDB4ZjAsIDB4N2UsIDB4MDEsIDB4N2YsIDB4OTgsIDB4N2QsIDB4MDIsIDB4MTJ9IH0sCi17IDB4OTJhMSwJMTYsCXsweDkxLCAweDZhLCAweGFmLCAweDUwLCAweDIyLCAweGU0LCAweGY1LCAweDUwLCAweDg1LCAweDUyLCAweDgyLCAweDg1LCAweDUxLCAweDgzLCAweGUwLCAweDE0fSB9LAoteyAweDkyYjEsCTE2LAl7MHhiNCwgMHgwZiwgMHgwMCwgMHg0MCwgMHgwMywgMHgwMiwgMHg5MywgMHhjZiwgMHg5MCwgMHg5MiwgMHhjMCwgMHhmOCwgMHgyOCwgMHgyOCwgMHg3MywgMHgwMn0gfSwKLXsgMHg5MmMxLAkxNiwJezB4OTIsIDB4ZWQsIDB4MDIsIDB4OTIsIDB4ZjksIDB4MDIsIDB4OTMsIDB4MDUsIDB4MDIsIDB4OTMsIDB4NTMsIDB4MDIsIDB4OTMsIDB4NWUsIDB4MDIsIDB4OTN9IH0sCi17IDB4OTJkMSwJMTYsCXsweDY5LCAweDAyLCAweDkzLCAweDc0LCAweDAyLCAweDkzLCAweDdmLCAweDAyLCAweDkzLCAweDhhLCAweDAyLCAweDkzLCAweDk1LCAweDAyLCAweDkzLCAweGEwfSB9LAoteyAweDkyZTEsCTE2LAl7MHgwMiwgMHg5MywgMHhhNywgMHgwMiwgMHg5MywgMHhjZiwgMHgwMiwgMHg5MywgMHhiMiwgMHgwMiwgMHg5MywgMHhiZCwgMHhhZiwgMHg1NiwgMHhhZSwgMHg1NX0gfSwKLXsgMHg5MmYxLAkxNiwJezB4MTIsIDB4ODQsIDB4NDEsIDB4OGYsIDB4NTAsIDB4MDIsIDB4OTMsIDB4ZDIsIDB4YWYsIDB4NTYsIDB4YWUsIDB4NTUsIDB4MTIsIDB4ODUsIDB4NjEsIDB4OGZ9IH0sCi17IDB4OTMwMSwJMTYsCXsweDUwLCAweDAyLCAweDkzLCAweGQyLCAweDg1LCAweDU1LCAweDUzLCAweDg1LCAweDU2LCAweDU0LCAweGU1LCAweDU0LCAweDI0LCAweDAxLCAweGZmLCAweGU0fSB9LAoteyAweDkzMTEsCTE2LAl7MHgzNSwgMHg1MywgMHhmZSwgMHgxMiwgMHg4NiwgMHhiZSwgMHhhZiwgMHg1NCwgMHhhZSwgMHg1MywgMHgxMiwgMHg4NywgMHg1MSwgMHg4ZiwgMHg1MCwgMHhlZn0gfSwKLXsgMHg5MzIxLAkxNiwJezB4NjQsIDB4MDEsIDB4NjAsIDB4MDMsIDB4MDIsIDB4OTMsIDB4ZDIsIDB4YWYsIDB4NTQsIDB4YWUsIDB4NTMsIDB4MTIsIDB4ODcsIDB4YTYsIDB4OGYsIDB4NTB9IH0sCi17IDB4OTMzMSwJMTYsCXsweGU1LCAweDUwLCAweDcwLCAweDAzLCAweDAyLCAweDkzLCAweGQyLCAweDg1LCAweDU0LCAweDgyLCAweDg1LCAweDUzLCAweDgzLCAweGUwLCAweDc1LCAweGYwfSB9LAoteyAweDkzNDEsCTE2LAl7MHgwZCwgMHhhNCwgMHgyNCwgMHhmNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgwMiwgMHhhZiwgMHg4MiwgMHhmZSwgMHgxMiwgMHg4NywgMHhhNiwgMHgwMn0gfSwKLXsgMHg5MzUxLAkxNiwJezB4OTMsIDB4ZDIsIDB4YWYsIDB4NTYsIDB4YWUsIDB4NTUsIDB4MTIsIDB4OGMsIDB4YTYsIDB4OGYsIDB4NTAsIDB4ODAsIDB4NzQsIDB4YWYsIDB4NTYsIDB4YWV9IH0sCi17IDB4OTM2MSwJMTYsCXsweDU1LCAweDEyLCAweDhkLCAweDI3LCAweDhmLCAweDUwLCAweDgwLCAweDY5LCAweGFmLCAweDU2LCAweGFlLCAweDU1LCAweDEyLCAweDhkLCAweDcwLCAweDhmfSB9LAoteyAweDkzNzEsCTE2LAl7MHg1MCwgMHg4MCwgMHg1ZSwgMHhhZiwgMHg0ZiwgMHhhZSwgMHg0ZSwgMHgxMiwgMHg4ZSwgMHg5OSwgMHg4ZiwgMHg1MCwgMHg4MCwgMHg1MywgMHhhZiwgMHg1Nn0gfSwKLXsgMHg5MzgxLAkxNiwJezB4YWUsIDB4NTUsIDB4MTIsIDB4OGIsIDB4YmQsIDB4OGYsIDB4NTAsIDB4ODAsIDB4NDgsIDB4YWYsIDB4NTYsIDB4YWUsIDB4NTUsIDB4MTIsIDB4ODYsIDB4MmR9IH0sCi17IDB4OTM5MSwJMTYsCXsweDhmLCAweDUwLCAweDgwLCAweDNkLCAweGFmLCAweDU2LCAweGFlLCAweDU1LCAweDEyLCAweDhjLCAweDYyLCAweDhmLCAweDUwLCAweDgwLCAweDMyLCAweDEyfSB9LAoteyAweDkzYTEsCTE2LAl7MHg5MSwgMHhiOSwgMHg4ZiwgMHg1MCwgMHg4MCwgMHgyYiwgMHhhZiwgMHg1NiwgMHhhZSwgMHg1NSwgMHgxMiwgMHg4ZCwgMHhiNSwgMHg4ZiwgMHg1MCwgMHg4MH0gfSwKLXsgMHg5M2IxLAkxNiwJezB4MjAsIDB4YWYsIDB4NTYsIDB4YWUsIDB4NTUsIDB4MTIsIDB4OGQsIDB4ZDYsIDB4OGYsIDB4NTAsIDB4ODAsIDB4MTUsIDB4YWYsIDB4NGYsIDB4YWUsIDB4NGV9IH0sCi17IDB4OTNjMSwJMTYsCXsweDdjLCAweDAyLCAweDdkLCAweGFmLCAweDdiLCAweDQwLCAweDEyLCAweDkxLCAweDM3LCAweGU0LCAweGY1LCAweDUwLCAweDgwLCAweDAzLCAweDc1LCAweDUwfSB9LAoteyAweDkzZDEsCTE2LAl7MHhmZiwgMHhlNSwgMHg1MCwgMHg2MCwgMHgxZCwgMHg5MCwgMHgwMSwgMHg5OCwgMHg3NCwgMHgxMSwgMHhmMCwgMHg4NSwgMHg1MiwgMHg4MiwgMHg4NSwgMHg1MX0gfSwKLXsgMHg5M2UxLAkxNiwJezB4ODMsIDB4ZTAsIDB4OTAsIDB4MDEsIDB4OTksIDB4ZjAsIDB4N2UsIDB4MDEsIDB4N2YsIDB4OTgsIDB4N2QsIDB4MDIsIDB4MTIsIDB4OTEsIDB4NmEsIDB4YWZ9IH0sCi17IDB4OTNmMSwJMTYsCXsweDUwLCAweDIyLCAweDg1LCAweDUyLCAweDgyLCAweDg1LCAweDUxLCAweDgzLCAweGUwLCAweGZmLCAweDE0LCAweDI0LCAweGZhLCAweDUwLCAweDA0LCAweDI0fSB9LAoteyAweDk0MDEsCTE2LAl7MHhmZSwgMHg3MCwgMHgxZiwgMHg5MCwgMHgwMSwgMHg5OCwgMHg3NCwgMHgxMCwgMHhmMCwgMHhhMywgMHhlZiwgMHhmMCwgMHg4NSwgMHg1NiwgMHg4MiwgMHg4NX0gfSwKLXsgMHg5NDExLAkxNiwJezB4NTUsIDB4ODMsIDB4ZTAsIDB4OTAsIDB4MDEsIDB4OWEsIDB4ZjAsIDB4N2UsIDB4MDEsIDB4N2YsIDB4OTgsIDB4N2QsIDB4MDMsIDB4MTIsIDB4OTEsIDB4NmF9IH0sCi17IDB4OTQyMSwJNCwJezB4OGYsIDB4NTAsIDB4YWYsIDB4NTB9IH0sCi17IDB4OTQyNSwJMSwJezB4MjJ9IH0sCi17IDB4OTQyNiwJOCwJezB4OGYsIDB4NTEsIDB4OGUsIDB4NTAsIDB4OGQsIDB4NGYsIDB4OGMsIDB4NGV9IH0sCi17IDB4OTQyZSwJMTYsCXsweDc1LCAweDU4LCAweDAxLCAweDc1LCAweDU5LCAweDljLCAweGU0LCAweGY1LCAweDU3LCAweGFmLCAweDUzLCAweDE1LCAweDUzLCAweGVmLCAweDcwLCAweDAzfSB9LAoteyAweDk0M2UsCTE2LAl7MHgwMiwgMHg5NCwgMHhjNCwgMHhhZiwgMHg1MiwgMHhlNCwgMHhmYywgMHhmZCwgMHhmZSwgMHhmOCwgMHhmOSwgMHhmYSwgMHhhYiwgMHgwNywgMHhhZiwgMHg1MX0gfSwKLXsgMHg5NDRlLAkxNiwJezB4YWUsIDB4NTAsIDB4YWQsIDB4NGYsIDB4YWMsIDB4NGUsIDB4MTIsIDB4YTMsIDB4MjEsIDB4YWYsIDB4MDMsIDB4OGYsIDB4NTYsIDB4YWYsIDB4NTEsIDB4YWV9IH0sCi17IDB4OTQ1ZSwJMTYsCXsweDUwLCAweGFkLCAweDRmLCAweGFjLCAweDRlLCAweGMwLCAweDA0LCAweGMwLCAweDA1LCAweGMwLCAweDA2LCAweGMwLCAweDA3LCAweGFmLCAweDUyLCAweGU0fSB9LAoteyAweDk0NmUsCTE2LAl7MHhmYywgMHhmZCwgMHhmZSwgMHhmOCwgMHhmOSwgMHhmYSwgMHhhYiwgMHgwNywgMHhkMCwgMHgwNywgMHhkMCwgMHgwNiwgMHhkMCwgMHgwNSwgMHhkMCwgMHgwNH0gfSwKLXsgMHg5NDdlLAkxNiwJezB4MTIsIDB4YTMsIDB4MjEsIDB4OGYsIDB4NTEsIDB4OGUsIDB4NTAsIDB4OGQsIDB4NGYsIDB4OGMsIDB4NGUsIDB4ZTUsIDB4NTYsIDB4MjQsIDB4MzAsIDB4ZjV9IH0sCi17IDB4OTQ4ZSwJMTYsCXsweDU2LCAweGQzLCAweDk0LCAweDM5LCAweDQwLCAweDA2LCAweDc0LCAweDA3LCAweDI1LCAweDU2LCAweGY1LCAweDU2LCAweDA1LCAweDU5LCAweGU1LCAweDU5fSB9LAoteyAweDk0OWUsCTE2LAl7MHhhZSwgMHg1OCwgMHg3MCwgMHgwMiwgMHgwNSwgMHg1OCwgMHgxNCwgMHhmNSwgMHg4MiwgMHg4ZSwgMHg4MywgMHhlNCwgMHhmMCwgMHgwNSwgMHg1OSwgMHhlNX0gfSwKLXsgMHg5NGFlLAkxNiwJezB4NTksIDB4YWUsIDB4NTgsIDB4NzAsIDB4MDIsIDB4MDUsIDB4NTgsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGUsIDB4ODMsIDB4ZTUsIDB4NTYsIDB4ZjAsIDB4MDV9IH0sCi17IDB4OTRiZSwJMTYsCXsweDU3LCAweDA1LCAweDU3LCAweDAyLCAweDk0LCAweDM3LCAweGU1LCAweDU5LCAweDE1LCAweDU5LCAweDcwLCAweDAyLCAweDE1LCAweDU4LCAweGFmLCAweDU3fSB9LAoteyAweDk0Y2UsCTE2LAl7MHgxNSwgMHg1NywgMHhlZiwgMHg2MCwgMHgyMywgMHhlNSwgMHg1OSwgMHgxNSwgMHg1OSwgMHhhZSwgMHg1OCwgMHg3MCwgMHgwMiwgMHgxNSwgMHg1OCwgMHhmNX0gfSwKLXsgMHg5NGRlLAkxNiwJezB4ODIsIDB4OGUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4MDUsIDB4NTUsIDB4ZTUsIDB4NTUsIDB4YWMsIDB4NTQsIDB4NzAsIDB4MDIsIDB4MDUsIDB4NTQsIDB4MTR9IH0sCi17IDB4OTRlZSwJOCwJezB4ZjUsIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4ODAsIDB4ZDZ9IH0sCi17IDB4OTRmNiwJMSwJezB4MjJ9IH0sCi17IDB4OTRmNywJMTYsCXsweGU0LCAweDkwLCAweDAxLCAweGM5LCAweGYwLCAweDdlLCAweDAxLCAweDdmLCAweGNhLCAweDkwLCAweDAxLCAweGJlLCAweGVlLCAweGYwLCAweGEzLCAweGVmfSB9LAoteyAweDk1MDcsCTEwLAl7MHhmMCwgMHg5MCwgMHgwMSwgMHhjMiwgMHhlZSwgMHhmMCwgMHhhMywgMHhlZiwgMHhmMCwgMHgyMn0gfSwKLXsgMHg5NTExLAkxNiwJezB4YWEsIDB4MDcsIDB4YTksIDB4MDUsIDB4OTAsIDB4MDEsIDB4YzksIDB4ZTAsIDB4YzMsIDB4OTQsIDB4NDAsIDB4NTAsIDB4NjEsIDB4YWMsIDB4MDIsIDB4NzR9IH0sCi17IDB4OTUyMSwJMTYsCXsweDAxLCAweDdlLCAweDAwLCAweGE4LCAweDA0LCAweDA4LCAweDgwLCAweDA1LCAweGMzLCAweDMzLCAweGNlLCAweDMzLCAweGNlLCAweGQ4LCAweGY5LCAweGZmfSB9LAoteyAweDk1MzEsCTE2LAl7MHhlNCwgMHhlZiwgMHg1NSwgMHgzNCwgMHg2MCwgMHg0NSwgMHhlYSwgMHgwNCwgMHhmZiwgMHg5MCwgMHgwMSwgMHhjMiwgMHhlMCwgMHhmYywgMHhhMywgMHhlMH0gfSwKLXsgMHg5NTQxLAkxNiwJezB4ZmQsIDB4ZjUsIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4YTMsIDB4ZTksIDB4ZjAsIDB4OGQsIDB4ODIsIDB4OGMsIDB4ODMsIDB4YTMsIDB4YTN9IH0sCi17IDB4OTU1MSwJMTYsCXsweGViLCAweGYwLCAweDkwLCAweDAxLCAweGMyLCAweGU0LCAweDc1LCAweGYwLCAweDAzLCAweDEyLCAweGEyLCAweDgxLCAweGZjLCAweGQzLCAweGU1LCAweGYwfSB9LAoteyAweDk1NjEsCTE2LAl7MHg5NCwgMHg4NywgMHhlYywgMHg5NCwgMHgwMiwgMHg0MCwgMHgwYSwgMHg5MCwgMHgwMSwgMHhjMiwgMHg3NCwgMHgwMSwgMHhmMCwgMHhhMywgMHg3NCwgMHhjYX0gfSwKLXsgMHg5NTcxLAkxNiwJezB4ZjAsIDB4YzIsIDB4YWYsIDB4OTAsIDB4MDEsIDB4YzksIDB4ZTAsIDB4MDQsIDB4ZjAsIDB4ZDIsIDB4YWYsIDB4N2YsIDB4MDEsIDB4MjIsIDB4N2YsIDB4MDB9IH0sCi17IDB4OTU4MSwJMSwJezB4MjJ9IH0sCi17IDB4OTU4MiwJMTYsCXsweDkwLCAweDAxLCAweGM5LCAweGUwLCAweGQzLCAweDk0LCAweDAwLCAweDQwLCAweDU1LCAweDkwLCAweDAxLCAweGJlLCAweGUwLCAweGZjLCAweGEzLCAweGUwfSB9LAoteyAweDk1OTIsCTE2LAl7MHhhYSwgMHgwNCwgMHhmOSwgMHg3YiwgMHgwMSwgMHhjMCwgMHgwMywgMHhjMCwgMHgwMiwgMHhjMCwgMHgwMSwgMHhhYSwgMHgwNiwgMHhhOSwgMHgwNywgMHhhOH0gfSwKLXsgMHg5NWEyLAkxNiwJezB4MDEsIDB4YWMsIDB4MDIsIDB4YWQsIDB4MDMsIDB4ZDAsIDB4MDEsIDB4ZDAsIDB4MDIsIDB4ZDAsIDB4MDMsIDB4N2UsIDB4MDAsIDB4N2YsIDB4MDMsIDB4MTJ9IH0sCi17IDB4OTViMiwJMTYsCXsweGEyLCAweDEyLCAweDkwLCAweDAxLCAweGJlLCAweGU0LCAweDc1LCAweGYwLCAweDAzLCAweDEyLCAweGEyLCAweDgxLCAweGZjLCAweGQzLCAweGU1LCAweGYwfSB9LAoteyAweDk1YzIsCTE2LAl7MHg5NCwgMHg4NywgMHhlYywgMHg5NCwgMHgwMiwgMHg0MCwgMHgwYSwgMHg5MCwgMHgwMSwgMHhiZSwgMHg3NCwgMHgwMSwgMHhmMCwgMHhhMywgMHg3NCwgMHhjYX0gfSwKLXsgMHg5NWQyLAkxNiwJezB4ZjAsIDB4YzIsIDB4YWYsIDB4OTAsIDB4MDEsIDB4YzksIDB4ZTAsIDB4MTQsIDB4ZjAsIDB4ZDIsIDB4YWYsIDB4N2YsIDB4MDEsIDB4MjIsIDB4N2YsIDB4MDB9IH0sCi17IDB4OTVlMiwJMSwJezB4MjJ9IH0sCi17IDB4OTVlMywJMTYsCXsweDkwLCAweDdmLCAweGMyLCAweGUwLCAweDIwLCAweGUxLCAweDczLCAweDdlLCAweDdiLCAweDdmLCAweDgwLCAweDc1LCAweDUzLCAweDdiLCAweDc1LCAweDU0fSB9LAoteyAweDk1ZjMsCTE2LAl7MHg4MCwgMHhlNSwgMHg1NCwgMHgyNCwgMHgwMSwgMHhmZiwgMHhlNCwgMHgzNSwgMHg1MywgMHhhOSwgMHgwNywgMHg3YiwgMHgwMSwgMHg4YiwgMHg1NSwgMHhmNX0gfSwKLXsgMHg5NjAzLAkxNiwJezB4NTYsIDB4ODksIDB4NTcsIDB4ZmUsIDB4MTIsIDB4OTUsIDB4ODIsIDB4ZWYsIDB4NjAsIDB4NTAsIDB4YWIsIDB4NTUsIDB4YWEsIDB4NTYsIDB4YTksIDB4NTd9IH0sCi17IDB4OTYxMywJMTYsCXsweDEyLCAweGEyLCAweDNiLCAweDE0LCAweGZmLCAweDkwLCAweDAwLCAweDAxLCAweDEyLCAweGEyLCAweDU0LCAweGI0LCAweDAyLCAweDE2LCAweGMyLCAweGFmfSB9LAoteyAweDk2MjMsCTE2LAl7MHhlZiwgMHg3NSwgMHhmMCwgMHgwOCwgMHhhNCwgMHgyNCwgMHgwMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgyMCwgMHhmNSwgMHg4MywgMHhlMCwgMHg0NH0gfSwKLXsgMHg5NjMzLAkxNiwJezB4MDQsIDB4ZjAsIDB4ZDIsIDB4YWYsIDB4NzQsIDB4MDEsIDB4N2UsIDB4MDAsIDB4YTgsIDB4MDcsIDB4MDgsIDB4ODAsIDB4MDUsIDB4YzMsIDB4MzMsIDB4Y2V9IH0sCi17IDB4OTY0MywJMTYsCXsweDMzLCAweGNlLCAweGQ4LCAweGY5LCAweGZmLCAweGU0LCAweGVmLCAweDU1LCAweDM0LCAweDYwLCAweDBmLCAweDg1LCAweDU0LCAweDgyLCAweDg1LCAweDUzfSB9LAoteyAweDk2NTMsCTEwLAl7MHg4MywgMHg3NCwgMHgwZCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhjMywgMHg3NCwgMHgwNCwgMHhmMH0gfSwKLXsgMHg5NjVkLAkxLAl7MHgyMn0gfSwKLXsgMHg5NjVlLAkxNiwJezB4MTIsIDB4OTUsIDB4ZTMsIDB4ZTQsIDB4ZjUsIDB4NGUsIDB4NzQsIDB4M2EsIDB4MjUsIDB4NGUsIDB4ZjgsIDB4ZTYsIDB4NTQsIDB4ZjAsIDB4ZjUsIDB4NGZ9IH0sCi17IDB4OTY2ZSwJMTYsCXsweDc0LCAweGM1LCAweDI1LCAweDRlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDAxLCAweGY1LCAweDgzLCAweGUwLCAweDY1LCAweDRmLCAweGZmLCAweGM0fSB9LAoteyAweDk2N2UsCTE2LAl7MHg1NCwgMHgwZiwgMHhmNSwgMHg1MCwgMHg2MCwgMHgyMiwgMHg3NCwgMHhjNSwgMHgyNSwgMHg0ZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgwMSwgMHhmNX0gfSwKLXsgMHg5NjhlLAkxNiwJezB4ODMsIDB4ZTUsIDB4NGYsIDB4ZjAsIDB4YWYsIDB4NGUsIDB4N2QsIDB4MDEsIDB4ZTUsIDB4NGYsIDB4NDUsIDB4NTAsIDB4ZmIsIDB4MTIsIDB4OTUsIDB4MTF9IH0sCi17IDB4OTY5ZSwJMTYsCXsweGVmLCAweDcwLCAweDA1LCAweDEyLCAweDk1LCAweGUzLCAweDgwLCAweGVjLCAweDA1LCAweDRlLCAweGU1LCAweDRlLCAweGMzLCAweDk0LCAweDA0LCAweDQwfSB9LAoteyAweDk2YWUsCTE2LAl7MHhiNSwgMHgxMiwgMHg5NSwgMHhlMywgMHhlNSwgMHgzZSwgMHg2MCwgMHg0OCwgMHhlNCwgMHhmNSwgMHg0ZSwgMHhhZiwgMHg0ZSwgMHg3NCwgMHgwMSwgMHhhOH0gfSwKLXsgMHg5NmJlLAkxNiwJezB4MDcsIDB4MDgsIDB4ODAsIDB4MDIsIDB4YzMsIDB4MzMsIDB4ZDgsIDB4ZmMsIDB4ZjUsIDB4NGYsIDB4NTUsIDB4M2UsIDB4NjAsIDB4MjksIDB4ZTUsIDB4NGV9IH0sCi17IDB4OTZjZSwJMTYsCXsweDc1LCAweGYwLCAweDA4LCAweGE0LCAweDI0LCAweDA1LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDIwLCAweGY1LCAweDgzLCAweGUwLCAweDMwLCAweGU2fSB9LAoteyAweDk2ZGUsCTE2LAl7MHgxNiwgMHhhZiwgMHg0ZSwgMHg3ZCwgMHgwNCwgMHg3YiwgMHg4MCwgMHgxMiwgMHg5NSwgMHgxMSwgMHhlZiwgMHg3MCwgMHgwNSwgMHgxMiwgMHg5NSwgMHhlM30gfSwKLXsgMHg5NmVlLAkxNiwJezB4ODAsIDB4ZWYsIDB4ZTUsIDB4NGYsIDB4ZjQsIDB4NTIsIDB4M2UsIDB4MDUsIDB4NGUsIDB4ZTUsIDB4NGUsIDB4YzMsIDB4OTQsIDB4MDQsIDB4NDAsIDB4YmJ9IH0sCi17IDB4OTZmZSwJMTYsCXsweDkwLCAweDAzLCAweDAwLCAweGUwLCAweDYwLCAweDAzLCAweDAyLCAweDk3LCAweGRmLCAweDc0LCAweDE5LCAweGYwLCAweGU1LCAweDMzLCAweGMzLCAweDk0fSB9LAoteyAweDk3MGUsCTE2LAl7MHgwMSwgMHg0MCwgMHgwZCwgMHg5MCwgMHgyMCwgMHg3OCwgMHhlMCwgMHg1NCwgMHgwZiwgMHg3NSwgMHg1MSwgMHgwMCwgMHhmNSwgMHg1MiwgMHg4MCwgMHgwOX0gfSwKLXsgMHg5NzFlLAkxNiwJezB4N2YsIDB4MDIsIDB4MTIsIDB4MTEsIDB4MjcsIDB4OGUsIDB4NTEsIDB4OGYsIDB4NTIsIDB4YzMsIDB4ZTUsIDB4NTEsIDB4NjQsIDB4ODAsIDB4OTQsIDB4ODB9IH0sCi17IDB4OTcyZSwJMTYsCXsweDQwLCAweGRhLCAweDkwLCAweDAxLCAweGJjLCAweGUwLCAweDY1LCAweDUyLCAweGYwLCAweDYwLCAweDM3LCAweGU0LCAweGY1LCAweDRlLCAweGFmLCAweDRlfSB9LAoteyAweDk3M2UsCTE2LAl7MHg3NCwgMHgwMSwgMHhhOCwgMHgwNywgMHgwOCwgMHg4MCwgMHgwMiwgMHhjMywgMHgzMywgMHhkOCwgMHhmYywgMHhmNSwgMHg0ZiwgMHg5MCwgMHgwMSwgMHhiY30gfSwKLXsgMHg5NzRlLAkxNiwJezB4ZTAsIDB4NTUsIDB4NGYsIDB4NjAsIDB4MTQsIDB4YWYsIDB4NGUsIDB4N2QsIDB4MDgsIDB4ZTUsIDB4NGYsIDB4NTUsIDB4NTIsIDB4ZmIsIDB4MTIsIDB4OTV9IH0sCi17IDB4OTc1ZSwJMTYsCXsweDExLCAweGVmLCAweDcwLCAweDA1LCAweDEyLCAweDk1LCAweGUzLCAweDgwLCAweGVjLCAweDA1LCAweDRlLCAweGU1LCAweDRlLCAweGMzLCAweDk0LCAweDA0fSB9LAoteyAweDk3NmUsCTE2LAl7MHg0MCwgMHhjYywgMHg5MCwgMHgwMSwgMHhiYywgMHhlNSwgMHg1MiwgMHhmMCwgMHhlNCwgMHhmNSwgMHg0ZSwgMHhjMiwgMHhhZiwgMHg3NCwgMHgzNiwgMHgyNX0gfSwKLXsgMHg5NzdlLAkxNiwJezB4NGUsIDB4ZjgsIDB4ZTYsIDB4ZjUsIDB4NGYsIDB4ZTQsIDB4ZjYsIDB4ZDIsIDB4YWYsIDB4NTMsIDB4NGYsIDB4MWUsIDB4ZTUsIDB4NGYsIDB4NjAsIDB4MTF9IH0sCi17IDB4OTc4ZSwJMTYsCXsweGFmLCAweDRlLCAweDdkLCAweDAyLCAweGFiLCAweDRmLCAweDEyLCAweDk1LCAweDExLCAweGVmLCAweDcwLCAweDA1LCAweDEyLCAweDk1LCAweGUzLCAweDgwfSB9LAoteyAweDk3OWUsCTE2LAl7MHhlZiwgMHg3NCwgMHgyZCwgMHgyNSwgMHg0ZSwgMHhmOCwgMHhlNiwgMHhmNSwgMHg0ZiwgMHg3NCwgMHhmYywgMHgyNSwgMHg0ZSwgMHhmNSwgMHg4MiwgMHhlNH0gfSwKLXsgMHg5N2FlLAkxNiwJezB4MzQsIDB4MDIsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjUsIDB4NGYsIDB4NjAsIDB4MTEsIDB4YWYsIDB4NGUsIDB4N2QsIDB4MDQsIDB4YWIsIDB4NGYsIDB4MTJ9IH0sCi17IDB4OTdiZSwJMTYsCXsweDk1LCAweDExLCAweGVmLCAweDcwLCAweDA1LCAweDEyLCAweDk1LCAweGUzLCAweDgwLCAweGVmLCAweDc0LCAweGZjLCAweDI1LCAweDRlLCAweGY1LCAweDgyfSB9LAoteyAweDk3Y2UsCTE2LAl7MHhlNCwgMHgzNCwgMHgwMiwgMHhmNSwgMHg4MywgMHhlNSwgMHg0ZiwgMHhmMCwgMHgwNSwgMHg0ZSwgMHhlNSwgMHg0ZSwgMHhjMywgMHg5NCwgMHgwNCwgMHg0MH0gfSwKLXsgMHg5N2RlLAk0LAl7MHg5YSwgMHgxMiwgMHg5NSwgMHhlM30gfSwKLXsgMHg5N2UyLAkxLAl7MHgyMn0gfSwKLXsgMHg5N2UzLAkxMiwJezB4NzgsIDB4N2YsIDB4ZTQsIDB4ZjYsIDB4ZDgsIDB4ZmQsIDB4NzUsIDB4ODEsIDB4NjcsIDB4MDIsIDB4OTgsIDB4MmF9IH0sCi17IDB4OTdlZiwJMTYsCXsweDAyLCAweDA1LCAweGFkLCAweGU0LCAweDkzLCAweGEzLCAweGY4LCAweGU0LCAweDkzLCAweGEzLCAweDQwLCAweDAzLCAweGY2LCAweDgwLCAweDAxLCAweGYyfSB9LAoteyAweDk3ZmYsCTE2LAl7MHgwOCwgMHhkZiwgMHhmNCwgMHg4MCwgMHgyOSwgMHhlNCwgMHg5MywgMHhhMywgMHhmOCwgMHg1NCwgMHgwNywgMHgyNCwgMHgwYywgMHhjOCwgMHhjMywgMHgzM30gfSwKLXsgMHg5ODBmLAkxNiwJezB4YzQsIDB4NTQsIDB4MGYsIDB4NDQsIDB4MjAsIDB4YzgsIDB4ODMsIDB4NDAsIDB4MDQsIDB4ZjQsIDB4NTYsIDB4ODAsIDB4MDEsIDB4NDYsIDB4ZjYsIDB4ZGZ9IH0sCi17IDB4OTgxZiwJMTYsCXsweGU0LCAweDgwLCAweDBiLCAweDAxLCAweDAyLCAweDA0LCAweDA4LCAweDEwLCAweDIwLCAweDQwLCAweDgwLCAweDkwLCAweDk4LCAweDZmLCAweGU0LCAweDdlfSB9LAoteyAweDk4MmYsCTE2LAl7MHgwMSwgMHg5MywgMHg2MCwgMHhiYywgMHhhMywgMHhmZiwgMHg1NCwgMHgzZiwgMHgzMCwgMHhlNSwgMHgwOSwgMHg1NCwgMHgxZiwgMHhmZSwgMHhlNCwgMHg5M30gfSwKLXsgMHg5ODNmLAkxNiwJezB4YTMsIDB4NjAsIDB4MDEsIDB4MGUsIDB4Y2YsIDB4NTQsIDB4YzAsIDB4MjUsIDB4ZTAsIDB4NjAsIDB4YTgsIDB4NDAsIDB4YjgsIDB4ZTQsIDB4OTMsIDB4YTN9IH0sCi17IDB4OTg0ZiwJMTYsCXsweGZhLCAweGU0LCAweDkzLCAweGEzLCAweGY4LCAweGU0LCAweDkzLCAweGEzLCAweGM4LCAweGM1LCAweDgyLCAweGM4LCAweGNhLCAweGM1LCAweDgzLCAweGNhfSB9LAoteyAweDk4NWYsCTE2LAl7MHhmMCwgMHhhMywgMHhjOCwgMHhjNSwgMHg4MiwgMHhjOCwgMHhjYSwgMHhjNSwgMHg4MywgMHhjYSwgMHhkZiwgMHhlOSwgMHhkZSwgMHhlNywgMHg4MCwgMHhiZX0gfSwKLXsgMHg5ODZmLAkxNiwJezB4NjAsIDB4MjQsIDB4MDIsIDB4OGEsIDB4MDEsIDB4MDIsIDB4MDQsIDB4MDgsIDB4MTAsIDB4MjAsIDB4NDAsIDB4ODAsIDB4ODEsIDB4ODIsIDB4ODQsIDB4ODh9IH0sCi17IDB4OTg3ZiwJMTYsCXsweDkwLCAweGEwLCAweGMwLCAweGMxLCAweGMyLCAweGM0LCAweGM4LCAweGQwLCAweGUwLCAweGUxLCAweGUyLCAweGU0LCAweGU4LCAweGYwLCAweGYxLCAweGYyfSB9LAoteyAweDk4OGYsCTgsCXsweGY0LCAweGY4LCAweGY5LCAweGZhLCAweGZjLCAweGZkLCAweGZlLCAweGZmfSB9LAoteyAweDk4OTcsCTEsCXsweDAwfSB9LAoteyAweDk4OTgsCTgsCXsweDhiLCAweDU5LCAweDhhLCAweDVhLCAweDg5LCAweDViLCAweDhkLCAweDVjfSB9LAoteyAweDk4YTAsCTE2LAl7MHhlNCwgMHhmNSwgMHg1ZCwgMHhmNSwgMHg1ZSwgMHhhZiwgMHg1YywgMHgxNSwgMHg1YywgMHhlZiwgMHg2MCwgMHgzNiwgMHhhYiwgMHg1OSwgMHgwNSwgMHg1Yn0gfSwKLXsgMHg5OGIwLAkxNiwJezB4ZTUsIDB4NWIsIDB4YWEsIDB4NWEsIDB4NzAsIDB4MDIsIDB4MDUsIDB4NWEsIDB4MTQsIDB4ZjksIDB4MTIsIDB4YTIsIDB4M2IsIDB4ZmYsIDB4ZTUsIDB4NWR9IH0sCi17IDB4OThjMCwJMTYsCXsweGU1LCAweDVlLCAweDZmLCAweDI1LCAweGUwLCAweGZmLCAweGU0LCAweDMzLCAweGZlLCAweDc0LCAweDk1LCAweDJmLCAweGY1LCAweDgyLCAweGVlLCAweDM0fSB9LAoteyAweDk4ZDAsCTE2LAl7MHg5ZSwgMHhmNSwgMHg4MywgMHhlNSwgMHg1ZCwgMHhmZiwgMHhlNCwgMHg5MywgMHhmNSwgMHg1ZCwgMHg3NCwgMHgwMSwgMHg5MywgMHg2ZiwgMHhmNSwgMHg1ZX0gfSwKLXsgMHg5OGUwLAk2LAl7MHg4MCwgMHhjMywgMHhhZSwgMHg1ZCwgMHhhZiwgMHg1ZX0gfSwKLXsgMHg5OGU2LAkxLAl7MHgyMn0gfSwKLXsgMHg5OGU3LAkxMSwJezB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ZDAsIDB4NzUsIDB4ZDAsIDB4MTh9IH0sCi17IDB4OThmMiwJMTYsCXsweDkwLCAweDIwLCAweDYwLCAweGUwLCAweDU0LCAweDBmLCAweGZlLCAweDMwLCAweGUwLCAweDA1LCAweDkwLCAweDIwLCAweDAyLCAweGUwLCAweGZmLCAweGVlfSB9LAoteyAweDk5MDIsCTE2LAl7MHgzMCwgMHhlMSwgMHgwNSwgMHg5MCwgMHgyMCwgMHgwYSwgMHhlMCwgMHhmZiwgMHhlZSwgMHgzMCwgMHhlMiwgMHgwNSwgMHg5MCwgMHgyMCwgMHgxMiwgMHhlMH0gfSwKLXsgMHg5OTEyLAkxNiwJezB4ZmYsIDB4ZWUsIDB4MzAsIDB4ZTMsIDB4MDUsIDB4OTAsIDB4MjAsIDB4MWEsIDB4ZTAsIDB4ZmYsIDB4OTAsIDB4MDEsIDB4YzQsIDB4ZTAsIDB4YjUsIDB4MWV9IH0sCi17IDB4OTkyMiwJMTAsCXsweDA0LCAweGU0LCAweGYwLCAweDgwLCAweDA1LCAweDkwLCAweDAxLCAweGM0LCAweGVlLCAweGYwfSB9LAoteyAweDk5MmMsCTksCXsweGQwLCAweGQwLCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyfSB9LAoteyAweDk5MzUsCTIsCXsweGE5LCAweDAzfSB9LAoteyAweDk5MzcsCTE2LAl7MHhlZiwgMHg3NSwgMHhmMCwgMHgwOCwgMHhhNCwgMHgyNCwgMHgwMCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgyMCwgMHhhYiwgMHg4MiwgMHhmYSwgMHhlNX0gfSwKLXsgMHg5OTQ3LAkxNiwJezB4NWMsIDB4NDUsIDB4NWQsIDB4ZjUsIDB4NWUsIDB4ZTksIDB4NjAsIDB4MTQsIDB4OGEsIDB4ODMsIDB4ZTUsIDB4ODIsIDB4MjQsIDB4MDQsIDB4ZjUsIDB4ODJ9IH0sCi17IDB4OTk1NywJMTYsCXsweGU0LCAweDM1LCAweDgzLCAweGY1LCAweDgzLCAweGUwLCAweDRkLCAweGYwLCAweGU0LCAweGZlLCAweDgwLCAweDEzLCAweGViLCAweDI0LCAweDA0LCAweGY1fSB9LAoteyAweDk5NjcsCTE2LAl7MHg4MiwgMHhlNCwgMHgzYSwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHhlZCwgMHhmNCwgMHhmYywgMHhlZiwgMHg1YywgMHhmMCwgMHhhZSwgMHg1ZSwgMHhlYn0gfSwKLXsgMHg5OTc3LAkxNiwJezB4MjQsIDB4MDYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTUsIDB4NWUsIDB4ZmMsIDB4YjUsIDB4MDYsIDB4MDMsIDB4YWZ9IH0sCi17IDB4OTk4NywJMTYsCXsweDA1LCAweDIyLCAweGU1LCAweDVjLCAweDVjLCAweGZlLCAweGU1LCAweDVkLCAweDVjLCAweGZkLCAweGU5LCAweDYwLCAweDE2LCAweGVlLCAweDcwLCAweDA0fSB9LAoteyAweDk5OTcsCTE2LAl7MHg3ZiwgMHgwMSwgMHg4MCwgMHgwMiwgMHg3ZiwgMHgwMCwgMHhhZSwgMHgwNywgMHhlZCwgMHg3MCwgMHgwNCwgMHg3ZiwgMHgwMSwgMHg4MCwgMHgwMiwgMHg3Zn0gfSwKLXsgMHg5OWE3LAkxNiwJezB4MDAsIDB4YWQsIDB4MDcsIDB4ZWUsIDB4NjAsIDB4MDMsIDB4YWYsIDB4NWMsIDB4MjIsIDB4ZWQsIDB4NjAsIDB4MDMsIDB4YWYsIDB4NWQsIDB4MjIsIDB4N2Z9IH0sCi17IDB4OTliNywJMSwJezB4MDB9IH0sCi17IDB4OTliOCwJMSwJezB4MjJ9IH0sCi17IDB4OTliOSwJMTYsCXsweDc1LCAweDU1LCAweDAyLCAweDc1LCAweDU2LCAweGIwLCAweDkwLCAweDAzLCAweDM1LCAweDc0LCAweDBmLCAweGYwLCAweDg1LCAweDU2LCAweDgyLCAweDg1fSB9LAoteyAweDk5YzksCTE2LAl7MHg1NSwgMHg4MywgMHhhMywgMHhlMCwgMHhmZiwgMHg5MCwgMHgwMywgMHgzNywgMHhmMCwgMHg4NSwgMHg1NiwgMHg4MiwgMHg4NSwgMHg1NSwgMHg4MywgMHhlMH0gfSwKLXsgMHg5OWQ5LAkxNiwJezB4OTAsIDB4MDMsIDB4MzYsIDB4ZjAsIDB4OTAsIDB4MDMsIDB4MzgsIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4NzUsIDB4NTcsIDB4MDMsIDB4NzUsIDB4NTgsIDB4Mzl9IH0sCi17IDB4OTllOSwJMTYsCXsweGVmLCAweDE0LCAweGI0LCAweDBiLCAweDAwLCAweDQwLCAweDAzLCAweDAyLCAweDllLCAweDVkLCAweDkwLCAweDk5LCAweGZhLCAweGY4LCAweDI4LCAweDI4fSB9LAoteyAweDk5ZjksCTE2LAl7MHg3MywgMHgwMiwgMHg5YSwgMHgxYiwgMHgwMiwgMHg5YSwgMHhiYSwgMHgwMiwgMHg5YiwgMHhiZiwgMHgwMiwgMHg5YiwgMHhkZSwgMHgwMiwgMHg5YiwgMHhkZX0gfSwKLXsgMHg5YTA5LAkxNiwJezB4MDIsIDB4OWMsIDB4OTQsIDB4MDIsIDB4OWMsIDB4Y2YsIDB4MDIsIDB4OWMsIDB4ZjQsIDB4MDIsIDB4OWQsIDB4YjIsIDB4MDIsIDB4OWQsIDB4ZTIsIDB4MDJ9IH0sCi17IDB4OWExOSwJMTYsCXsweDllLCAweDBlLCAweGU0LCAweGY1LCAweDRlLCAweGU1LCAweDRlLCAweDc1LCAweGYwLCAweDA4LCAweGE0LCAweDI0LCAweDAwLCAweGY1LCAweDgyLCAweGU0fSB9LAoteyAweDlhMjksCTE2LAl7MHgzNCwgMHgyMCwgMHhhZiwgMHg4MiwgMHhmNSwgMHg1MywgMHg4ZiwgMHg1NCwgMHhlNCwgMHhmZiwgMHhlNCwgMHhmZSwgMHhlZiwgMHg2MCwgMHgxMCwgMHg3NH0gfSwKLXsgMHg5YTM5LAkxNiwJezB4OGEsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MDIsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjQsIDB4ZjUsIDB4NGYsIDB4ODAsIDB4MGQsIDB4NzR9IH0sCi17IDB4OWE0OSwJMTYsCXsweDhhLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDAyLCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweDRmLCAweGU1LCAweDU0LCAweDI0LCAweDA3fSB9LAoteyAweDlhNTksCTE2LAl7MHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHg1MywgMHhmNSwgMHg4MywgMHhlNSwgMHg0ZiwgMHhmMCwgMHhlMCwgMHhmNSwgMHg1MCwgMHg2NSwgMHg0ZiwgMHg2MH0gfSwKLXsgMHg5YTY5LAkxNiwJezB4MzgsIDB4ZTQsIDB4OTAsIDB4MDMsIDB4MzgsIDB4ZjAsIDB4ZTUsIDB4NGUsIDB4MDQsIDB4ZmQsIDB4MDUsIDB4NTgsIDB4ZTUsIDB4NTgsIDB4YWEsIDB4NTd9IH0sCi17IDB4OWE3OSwJMTYsCXsweDcwLCAweDAyLCAweDA1LCAweDU3LCAweDE0LCAweGY1LCAweDgyLCAweDhhLCAweDgzLCAweGVkLCAweGYwLCAweDA1LCAweDU4LCAweGU1LCAweDU4LCAweGFjfSB9LAoteyAweDlhODksCTE2LAl7MHg1NywgMHg3MCwgMHgwMiwgMHgwNSwgMHg1NywgMHgxNCwgMHhmNSwgMHg4MiwgMHg4YywgMHg4MywgMHhlNSwgMHg0ZiwgMHhmMCwgMHg4NSwgMHg1OCwgMHg4Mn0gfSwKLXsgMHg5YTk5LAkxNiwJezB4ODUsIDB4NTcsIDB4ODMsIDB4ZTUsIDB4NTAsIDB4ZjAsIDB4MDIsIDB4OWUsIDB4NjMsIDB4MGUsIDB4YmUsIDB4MjQsIDB4OGYsIDB4MGYsIDB4ZWYsIDB4NjR9IH0sCi17IDB4OWFhOSwJMTYsCXsweDAyLCAweDcwLCAweDg3LCAweDA1LCAweDRlLCAweGU1LCAweDRlLCAweDY0LCAweDA0LCAweDYwLCAweDAzLCAweDAyLCAweDlhLCAweDFlLCAweDAyLCAweDllfSB9LAoteyAweDlhYjksCTE2LAl7MHg2MywgMHhlNCwgMHhmNSwgMHg0ZSwgMHhhZiwgMHg0ZSwgMHhlNCwgMHhmZCwgMHgxMiwgMHg4MywgMHg1YSwgMHgwNSwgMHg0ZSwgMHhlNSwgMHg0ZSwgMHhkM30gfSwKLXsgMHg5YWM5LAkxNiwJezB4OTQsIDB4MDMsIDB4NDAsIDB4ZjAsIDB4OTAsIDB4MDAsIDB4MDQsIDB4NzQsIDB4OTgsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4ZTcsIDB4ZjAsIDB4ZTQsIDB4ZjV9IH0sCi17IDB4OWFkOSwJMTYsCXsweDUwLCAweDdlLCAweDIwLCAweDdmLCAweDAwLCAweDc1LCAweDUzLCAweDIwLCAweDc1LCAweDU0LCAweDAwLCAweGY1LCAweDRlLCAweGFmLCAweDRlLCAweDc0fSB9LAoteyAweDlhZTksCTE2LAl7MHgwMSwgMHhhOCwgMHgwNywgMHgwOCwgMHg4MCwgMHgwMiwgMHhjMywgMHgzMywgMHhkOCwgMHhmYywgMHhmNSwgMHg0ZiwgMHg5MCwgMHgwMSwgMHhjNCwgMHhmMH0gfSwKLXsgMHg5YWY5LAkxNiwJezB4OTAsIDB4MDEsIDB4YzAsIDB4ZTQsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4MGEsIDB4ZjAsIDB4ODUsIDB4NTQsIDB4ODIsIDB4ODUsIDB4NTMsIDB4ODMsIDB4YTN9IH0sCi17IDB4OWIwOSwJMTYsCXsweDc0LCAweDAyLCAweGYwLCAweDkwLCAweDAxLCAweGM0LCAweGUwLCAweGI1LCAweDRmLCAweDM0LCAweDkwLCAweDAxLCAweGMwLCAweGUwLCAweDcwLCAweDAyfSB9LAoteyAweDliMTksCTE2LAl7MHhhMywgMHhlMCwgMHg3MCwgMHhlZiwgMHg5MCwgMHgwMywgMHgzOCwgMHhmMCwgMHhlNSwgMHg0ZSwgMHgwNCwgMHhmZiwgMHgwNSwgMHg1OCwgMHhlNSwgMHg1OH0gfSwKLXsgMHg5YjI5LAkxNiwJezB4YWMsIDB4NTcsIDB4NzAsIDB4MDIsIDB4MDUsIDB4NTcsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4ODUsIDB4NTgsIDB4ODJ9IH0sCi17IDB4OWIzOSwJMTYsCXsweDg1LCAweDU3LCAweDgzLCAweDc0LCAweGZmLCAweGYwLCAweGU0LCAweDkwLCAweDAxLCAweGM0LCAweGYwLCAweDc1LCAweDUwLCAweGZmLCAweDkwLCAweDAxfSB9LAoteyAweDliNDksCTE2LAl7MHhjNCwgMHhlMCwgMHhmZiwgMHg2MCwgMHgzNywgMHhlNCwgMHg5MCwgMHgwMywgMHgzOCwgMHhmMCwgMHhlNSwgMHg0ZSwgMHgwNCwgMHhmZSwgMHgwNSwgMHg1OH0gfSwKLXsgMHg5YjU5LAkxNiwJezB4ZTUsIDB4NTgsIDB4YWMsIDB4NTcsIDB4NzAsIDB4MDIsIDB4MDUsIDB4NTcsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZWUsIDB4ZjAsIDB4MDV9IH0sCi17IDB4OWI2OSwJMTYsCXsweDU4LCAweGU1LCAweDU4LCAweGFjLCAweDU3LCAweDcwLCAweDAyLCAweDA1LCAweDU3LCAweDE0LCAweGY1LCAweDgyLCAweDhjLCAweDgzLCAweGVmLCAweGYwfSB9LAoteyAweDliNzksCTE2LAl7MHg4NSwgMHg1OCwgMHg4MiwgMHg4NSwgMHg1NywgMHg4MywgMHhlNSwgMHg0ZiwgMHhmMCwgMHg3NSwgMHg1MCwgMHhmZiwgMHhlNSwgMHg1MCwgMHg3MCwgMHgxNn0gfSwKLXsgMHg5Yjg5LAkxNiwJezB4NzQsIDB4MDgsIDB4MjUsIDB4NTQsIDB4ZjUsIDB4NTQsIDB4ZTQsIDB4MzUsIDB4NTMsIDB4ZjUsIDB4NTMsIDB4MDUsIDB4NGUsIDB4ZTUsIDB4NGUsIDB4NjR9IH0sCi17IDB4OWI5OSwJMTYsCXsweDA0LCAweDYwLCAweDAzLCAweDAyLCAweDlhLCAweGU2LCAweGU0LCAweGY1LCAweDRlLCAweGFmLCAweDRlLCAweDdkLCAweDAxLCAweDEyLCAweDgzLCAweDVhfSB9LAoteyAweDliYTksCTE2LAl7MHgwNSwgMHg0ZSwgMHhlNSwgMHg0ZSwgMHhkMywgMHg5NCwgMHgwMywgMHg0MCwgMHhmMCwgMHg5MCwgMHgwMCwgMHgwNCwgMHg3NCwgMHgxMywgMHhmMCwgMHhhM30gfSwKLXsgMHg5YmI5LAkxNiwJezB4NzQsIDB4MTIsIDB4ZjAsIDB4MDIsIDB4OWUsIDB4NjMsIDB4ODUsIDB4NTYsIDB4ODIsIDB4ODUsIDB4NTUsIDB4ODMsIDB4ZTAsIDB4MTQsIDB4ZmYsIDB4NzR9IH0sCi17IDB4OWJjOSwJMTYsCXsweDAxLCAweGE4LCAweDA3LCAweDA4LCAweDgwLCAweDAyLCAweGMzLCAweDMzLCAweGQ4LCAweGZjLCAweDkwLCAweDAyLCAweGY3LCAweGYwLCAweDkwLCAweDAxfSB9LAoteyAweDliZDksCTE2LAl7MHhjNCwgMHhmMCwgMHgwMiwgMHg5ZSwgMHg2MywgMHg5MCwgMHgwMSwgMHhjMCwgMHg3NCwgMHgwMywgMHhmMCwgMHhhMywgMHg3NCwgMHhlOCwgMHhmMCwgMHhlNH0gfSwKLXsgMHg5YmU5LAkxNiwJezB4ZjUsIDB4NTAsIDB4OTAsIDB4MDIsIDB4ZjcsIDB4ZTAsIDB4ZmYsIDB4OTAsIDB4MDEsIDB4YzQsIDB4ZTAsIDB4YjUsIDB4MDcsIDB4MTksIDB4OTAsIDB4MDF9IH0sCi17IDB4OWJmOSwJMTYsCXsweGMwLCAweGUwLCAweDcwLCAweDAyLCAweGEzLCAweGUwLCAweDcwLCAweGVhLCAweDkwLCAweDAzLCAweDM4LCAweGYwLCAweDg1LCAweDU4LCAweDgyLCAweDg1fSB9LAoteyAweDljMDksCTE2LAl7MHg1NywgMHg4MywgMHg3NCwgMHhmZiwgMHhmMCwgMHhmNSwgMHg1MCwgMHhlNSwgMHg1MCwgMHg2MCwgMHgwMywgMHgwMiwgMHg5ZSwgMHg2MywgMHg5MCwgMHgwMX0gfSwKLXsgMHg5YzE5LAkxNiwJezB4YzAsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4OTYsIDB4ZjAsIDB4OTAsIDB4MDEsIDB4YzAsIDB4ZTAsIDB4NzAsIDB4MDIsIDB4YTMsIDB4ZTAsIDB4NzAsIDB4ZjZ9IH0sCi17IDB4OWMyOSwJMTYsCXsweGU1LCAweDMzLCAweGMzLCAweDk0LCAweDAxLCAweDQwLCAweDBkLCAweDkwLCAweDIwLCAweDc4LCAweGUwLCAweDU0LCAweDBmLCAweDc1LCAweDUxLCAweDAwfSB9LAoteyAweDljMzksCTE2LAl7MHhmNSwgMHg1MiwgMHg4MCwgMHgwOSwgMHg3ZiwgMHgwMiwgMHgxMiwgMHgxMSwgMHgyNywgMHg4ZSwgMHg1MSwgMHg4ZiwgMHg1MiwgMHhjMywgMHhlNSwgMHg1MX0gfSwKLXsgMHg5YzQ5LAkxNiwJezB4NjQsIDB4ODAsIDB4OTQsIDB4ODAsIDB4NDAsIDB4ZGEsIDB4ZTUsIDB4NTIsIDB4NTQsIDB4MGYsIDB4ZjUsIDB4NTAsIDB4OTAsIDB4MDIsIDB4ZjcsIDB4ZTB9IH0sCi17IDB4OWM1OSwJMTYsCXsweDU1LCAweDUwLCAweDcwLCAweDA0LCAweDdmLCAweDAxLCAweDgwLCAweDAyLCAweDdmLCAweDAwLCAweDhmLCAweDRmLCAweDg1LCAweDU2LCAweDgyLCAweDg1fSB9LAoteyAweDljNjksCTE2LAl7MHg1NSwgMHg4MywgMHhhMywgMHhlMCwgMHhiNCwgMHgwNSwgMHgwYywgMHhlNSwgMHg0ZiwgMHg3MCwgMHgwNCwgMHg3ZiwgMHgwMSwgMHg4MCwgMHgwMiwgMHg3Zn0gfSwKLXsgMHg5Yzc5LAkxNiwJezB4MDAsIDB4OGYsIDB4NGYsIDB4ZTUsIDB4NGYsIDB4NzAsIDB4MDMsIDB4MDIsIDB4OWUsIDB4NjMsIDB4ZTQsIDB4OTAsIDB4MDMsIDB4MzgsIDB4ZjAsIDB4ODV9IH0sCi17IDB4OWM4OSwJMTYsCXsweDU4LCAweDgyLCAweDg1LCAweDU3LCAweDgzLCAweGU1LCAweDUwLCAweGYwLCAweDAyLCAweDllLCAweDYzLCAweGU0LCAweGZmLCAweGZkLCAweDEyLCAweDgzfSB9LAoteyAweDljOTksCTE2LAl7MHg1YSwgMHg3ZSwgMHgyMCwgMHg3ZiwgMHgwMCwgMHg3NSwgMHg1MywgMHgyMCwgMHg3NSwgMHg1NCwgMHgwMCwgMHg4NSwgMHg1NCwgMHg4MiwgMHg4NSwgMHg1M30gfSwKLXsgMHg5Y2E5LAkxNiwJezB4ODMsIDB4YTMsIDB4YTMsIDB4YTMsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4ODUsIDB4NTQsIDB4ODIsIDB4ODUsIDB4NTMsIDB4ODMsIDB4NzQsIDB4MDF9IH0sCi17IDB4OWNiOSwJMTYsCXsweGYwLCAweGEzLCAweGU0LCAweGYwLCAweDg1LCAweDU0LCAweDgyLCAweDg1LCAweDUzLCAweDgzLCAweGEzLCAweGEzLCAweGEzLCAweGUwLCAweDU0LCAweDdmfSB9LAoteyAweDljYzksCTE2LAl7MHhmMCwgMHhkMiwgMHgwNCwgMHgwMiwgMHg5ZSwgMHg2MywgMHhjMiwgMHgwNCwgMHg3ZSwgMHgyMCwgMHg3ZiwgMHgwMCwgMHg3NSwgMHg1MywgMHgyMCwgMHg3NX0gfSwKLXsgMHg5Y2Q5LAkxNiwJezB4NTQsIDB4MDAsIDB4ZTUsIDB4NTQsIDB4MjQsIDB4MDUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4NTMsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MzAsIDB4ZTZ9IH0sCi17IDB4OWNlOSwJMTYsCXsweGYxLCAweGU0LCAweGZmLCAweDdkLCAweDAxLCAweDEyLCAweDgzLCAweDVhLCAweDAyLCAweDllLCAweDYzLCAweGU0LCAweGY1LCAweDUwLCAweGY1LCAweDRlfSB9LAoteyAweDljZjksCTE2LAl7MHhhZiwgMHg0ZSwgMHhlNCwgMHhmZCwgMHgxMiwgMHg4MywgMHg1YSwgMHhlNSwgMHg0ZSwgMHg3NSwgMHhmMCwgMHgwOCwgMHhhNCwgMHgyNCwgMHgwMCwgMHhmNX0gfSwKLXsgMHg5ZDA5LAkxNiwJezB4ODIsIDB4ZTQsIDB4MzQsIDB4MjAsIDB4YWYsIDB4ODIsIDB4ZjUsIDB4NTMsIDB4OGYsIDB4NTQsIDB4ZjUsIDB4ODMsIDB4ZTUsIDB4ODIsIDB4MjQsIDB4MDR9IH0sCi17IDB4OWQxOSwJMTYsCXsweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDgzLCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweGZjLCAweGYwLCAweGFmLCAweDRlLCAweDdkLCAweDAxLCAweDdifSB9LAoteyAweDlkMjksCTE2LAl7MHgwMSwgMHg3NSwgMHg1YywgMHg4MCwgMHg3NSwgMHg1ZCwgMHg0MCwgMHgxMiwgMHg5OSwgMHgzNSwgMHg4ZiwgMHg1MCwgMHhlNSwgMHg1MCwgMHg3MCwgMHgxMX0gfSwKLXsgMHg5ZDM5LAkxNiwJezB4YWYsIDB4NGUsIDB4N2QsIDB4MDIsIDB4N2IsIDB4MDEsIDB4NzUsIDB4NWMsIDB4MTAsIDB4NzUsIDB4NWQsIDB4MjAsIDB4MTIsIDB4OTksIDB4MzUsIDB4OGZ9IH0sCi17IDB4OWQ0OSwJMTYsCXsweDUwLCAweGU1LCAweDUwLCAweDcwLCAweDEwLCAweGFmLCAweDRlLCAweDdkLCAweDAxLCAweGZiLCAweDc1LCAweDVjLCAweDgwLCAweDc1LCAweDVkLCAweDQwfSB9LAoteyAweDlkNTksCTE2LAl7MHgxMiwgMHg5OSwgMHgzNSwgMHg4ZiwgMHg1MCwgMHhlNSwgMHg1MCwgMHg3MCwgMHgxMCwgMHhhZiwgMHg0ZSwgMHg3ZCwgMHgwMiwgMHhmYiwgMHg3NSwgMHg1Y30gfSwKLXsgMHg5ZDY5LAkxNiwJezB4MTAsIDB4NzUsIDB4NWQsIDB4MjAsIDB4MTIsIDB4OTksIDB4MzUsIDB4OGYsIDB4NTAsIDB4YWYsIDB4NGUsIDB4N2QsIDB4MDEsIDB4MTIsIDB4ODMsIDB4NWF9IH0sCi17IDB4OWQ3OSwJMTYsCXsweGU1LCAweDUwLCAweDYwLCAweDI2LCAweGU0LCAweDkwLCAweDAzLCAweDM4LCAweGYwLCAweGU1LCAweDRlLCAweDA0LCAweGZmLCAweDA1LCAweDU4LCAweGU1fSB9LAoteyAweDlkODksCTE2LAl7MHg1OCwgMHhhYywgMHg1NywgMHg3MCwgMHgwMiwgMHgwNSwgMHg1NywgMHgxNCwgMHhmNSwgMHg4MiwgMHg4YywgMHg4MywgMHhlZiwgMHhmMCwgMHg4NSwgMHg1OH0gfSwKLXsgMHg5ZDk5LAkxNiwJezB4ODIsIDB4ODUsIDB4NTcsIDB4ODMsIDB4ZTUsIDB4NTAsIDB4ZjAsIDB4MDIsIDB4OWUsIDB4NjMsIDB4MDUsIDB4NGUsIDB4ZTUsIDB4NGUsIDB4ZDMsIDB4OTR9IH0sCi17IDB4OWRhOSwJMTYsCXsweDAzLCAweDUwLCAweDAzLCAweDAyLCAweDljLCAweGY5LCAweDAyLCAweDllLCAweDYzLCAweGU0LCAweDkwLCAweDAzLCAweDU5LCAweGYwLCAweGEzLCAweGYwfSB9LAoteyAweDlkYjksCTE2LAl7MHhhMywgMHhmMCwgMHhhMywgMHhmMCwgMHhhMywgMHhmMCwgMHhhMywgMHg3NCwgMHgxMCwgMHhmMCwgMHhhMywgMHg3NCwgMHg5ZSwgMHhmMCwgMHhhMywgMHg3NH0gfSwKLXsgMHg5ZGM5LAkxNiwJezB4ODUsIDB4ZjAsIDB4N2UsIDB4MDMsIDB4N2YsIDB4NTksIDB4MTIsIDB4ODEsIDB4ZDksIDB4ZWYsIDB4NjQsIDB4MDgsIDB4NzAsIDB4MDMsIDB4MDIsIDB4OWV9IH0sCi17IDB4OWRkOSwJMTYsCXsweDYzLCAweGU0LCAweDkwLCAweDAzLCAweDM4LCAweGYwLCAweDAyLCAweDllLCAweDYzLCAweGU0LCAweDkwLCAweDAzLCAweDU5LCAweGYwLCAweGEzLCAweGYwfSB9LAoteyAweDlkZTksCTE2LAl7MHhhMywgMHhmMCwgMHhhMywgMHhmMCwgMHhhMywgMHhmMCwgMHhhMywgMHg3NCwgMHgxMCwgMHhmMCwgMHhhMywgMHhlNSwgMHg1NywgMHhmMCwgMHhhMywgMHhlNX0gfSwKLXsgMHg5ZGY5LAkxNiwJezB4NTgsIDB4ZjAsIDB4N2UsIDB4MDMsIDB4N2YsIDB4NTksIDB4MTIsIDB4MTksIDB4YzEsIDB4ZWYsIDB4NjQsIDB4MDgsIDB4NjAsIDB4NWMsIDB4ZTQsIDB4OTB9IH0sCi17IDB4OWUwOSwJMTYsCXsweDAzLCAweDM4LCAweGYwLCAweDgwLCAweDU1LCAweGU1LCAweDU2LCAweDI0LCAweDAyLCAweGZmLCAweGU0LCAweDM1LCAweDU1LCAweGZhLCAweGE5LCAweDA3fSB9LAoteyAweDllMTksCTE2LAl7MHg3YiwgMHgwMSwgMHg3ZCwgMHgxMCwgMHgxMiwgMHg5OCwgMHg5OCwgMHhlZiwgMHg0ZSwgMHg3MCwgMHgzMiwgMHg5MCwgMHgwMywgMHg1OSwgMHhmMCwgMHhhM30gfSwKLXsgMHg5ZTI5LAkxNiwJezB4ZjAsIDB4YTMsIDB4ZjAsIDB4YTMsIDB4ZjAsIDB4YTMsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4ZTUsIDB4NTYsIDB4MjQsIDB4MDIsIDB4OTB9IH0sCi17IDB4OWUzOSwJMTYsCXsweDAzLCAweDYwLCAweGYwLCAweGU0LCAweDM1LCAweDU1LCAweDkwLCAweDAzLCAweDVmLCAweGYwLCAweDdlLCAweDAzLCAweDdmLCAweDU5LCAweDEyLCAweDgxfSB9LAoteyAweDllNDksCTE2LAl7MHhkOSwgMHhlZiwgMHg2NCwgMHgwOCwgMHg2MCwgMHgxNCwgMHhlNCwgMHg5MCwgMHgwMywgMHgzOCwgMHhmMCwgMHg4MCwgMHgwZCwgMHhlNCwgMHg5MCwgMHgwM30gfSwKLXsgMHg5ZTU5LAkxNiwJezB4MzgsIDB4ZjAsIDB4ODAsIDB4MDYsIDB4OTAsIDB4MDMsIDB4MzgsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4MDEsIDB4YzAsIDB4ZTQsIDB4ZjAsIDB4YTN9IH0sCi17IDB4OWU2OSwJMTYsCXsweDc0LCAweDBhLCAweGYwLCAweDkwLCAweDAxLCAweGMwLCAweGUwLCAweDcwLCAweDAyLCAweGEzLCAweGUwLCAweDcwLCAweGY2LCAweDdlLCAweDAzLCAweDdmfSB9LAoteyAweDllNzksCTExLAl7MHgzNSwgMHg3ZCwgMHgyNCwgMHgxMiwgMHg5MSwgMHg2YSwgMHhlNCwgMHg5MCwgMHgwMiwgMHhhZiwgMHhmMH0gfSwKLXsgMHg5ZTg0LAkxLAl7MHgyMn0gfSwKLXsgMHg5ZTg1LAkxNiwJezB4ZmYsIDB4ZmUsIDB4ZmMsIDB4ZjgsIDB4ZjAsIDB4ZTAsIDB4YzAsIDB4ODAsIDB4MDAsIDB4MDEsIDB4MDMsIDB4MDcsIDB4MGYsIDB4MWYsIDB4M2YsIDB4N2Z9IH0sCi17IDB4OWU5NSwJMTYsCXsweDAwLCAweDAwLCAweGMwLCAweGMxLCAweGMxLCAweDgxLCAweDAxLCAweDQwLCAweGMzLCAweDAxLCAweDAzLCAweGMwLCAweDAyLCAweDgwLCAweGMyLCAweDQxfSB9LAoteyAweDllYTUsCTE2LAl7MHhjNiwgMHgwMSwgMHgwNiwgMHhjMCwgMHgwNywgMHg4MCwgMHhjNywgMHg0MSwgMHgwNSwgMHgwMCwgMHhjNSwgMHhjMSwgMHhjNCwgMHg4MSwgMHgwNCwgMHg0MH0gfSwKLXsgMHg5ZWI1LAkxNiwJezB4Y2MsIDB4MDEsIDB4MGMsIDB4YzAsIDB4MGQsIDB4ODAsIDB4Y2QsIDB4NDEsIDB4MGYsIDB4MDAsIDB4Y2YsIDB4YzEsIDB4Y2UsIDB4ODEsIDB4MGUsIDB4NDB9IH0sCi17IDB4OWVjNSwJMTYsCXsweDBhLCAweDAwLCAweGNhLCAweGMxLCAweGNiLCAweDgxLCAweDBiLCAweDQwLCAweGM5LCAweDAxLCAweDA5LCAweGMwLCAweDA4LCAweDgwLCAweGM4LCAweDQxfSB9LAoteyAweDllZDUsCTE2LAl7MHhkOCwgMHgwMSwgMHgxOCwgMHhjMCwgMHgxOSwgMHg4MCwgMHhkOSwgMHg0MSwgMHgxYiwgMHgwMCwgMHhkYiwgMHhjMSwgMHhkYSwgMHg4MSwgMHgxYSwgMHg0MH0gfSwKLXsgMHg5ZWU1LAkxNiwJezB4MWUsIDB4MDAsIDB4ZGUsIDB4YzEsIDB4ZGYsIDB4ODEsIDB4MWYsIDB4NDAsIDB4ZGQsIDB4MDEsIDB4MWQsIDB4YzAsIDB4MWMsIDB4ODAsIDB4ZGMsIDB4NDF9IH0sCi17IDB4OWVmNSwJMTYsCXsweDE0LCAweDAwLCAweGQ0LCAweGMxLCAweGQ1LCAweDgxLCAweDE1LCAweDQwLCAweGQ3LCAweDAxLCAweDE3LCAweGMwLCAweDE2LCAweDgwLCAweGQ2LCAweDQxfSB9LAoteyAweDlmMDUsCTE2LAl7MHhkMiwgMHgwMSwgMHgxMiwgMHhjMCwgMHgxMywgMHg4MCwgMHhkMywgMHg0MSwgMHgxMSwgMHgwMCwgMHhkMSwgMHhjMSwgMHhkMCwgMHg4MSwgMHgxMCwgMHg0MH0gfSwKLXsgMHg5ZjE1LAkxNiwJezB4ZjAsIDB4MDEsIDB4MzAsIDB4YzAsIDB4MzEsIDB4ODAsIDB4ZjEsIDB4NDEsIDB4MzMsIDB4MDAsIDB4ZjMsIDB4YzEsIDB4ZjIsIDB4ODEsIDB4MzIsIDB4NDB9IH0sCi17IDB4OWYyNSwJMTYsCXsweDM2LCAweDAwLCAweGY2LCAweGMxLCAweGY3LCAweDgxLCAweDM3LCAweDQwLCAweGY1LCAweDAxLCAweDM1LCAweGMwLCAweDM0LCAweDgwLCAweGY0LCAweDQxfSB9LAoteyAweDlmMzUsCTE2LAl7MHgzYywgMHgwMCwgMHhmYywgMHhjMSwgMHhmZCwgMHg4MSwgMHgzZCwgMHg0MCwgMHhmZiwgMHgwMSwgMHgzZiwgMHhjMCwgMHgzZSwgMHg4MCwgMHhmZSwgMHg0MX0gfSwKLXsgMHg5ZjQ1LAkxNiwJezB4ZmEsIDB4MDEsIDB4M2EsIDB4YzAsIDB4M2IsIDB4ODAsIDB4ZmIsIDB4NDEsIDB4MzksIDB4MDAsIDB4ZjksIDB4YzEsIDB4ZjgsIDB4ODEsIDB4MzgsIDB4NDB9IH0sCi17IDB4OWY1NSwJMTYsCXsweDI4LCAweDAwLCAweGU4LCAweGMxLCAweGU5LCAweDgxLCAweDI5LCAweDQwLCAweGViLCAweDAxLCAweDJiLCAweGMwLCAweDJhLCAweDgwLCAweGVhLCAweDQxfSB9LAoteyAweDlmNjUsCTE2LAl7MHhlZSwgMHgwMSwgMHgyZSwgMHhjMCwgMHgyZiwgMHg4MCwgMHhlZiwgMHg0MSwgMHgyZCwgMHgwMCwgMHhlZCwgMHhjMSwgMHhlYywgMHg4MSwgMHgyYywgMHg0MH0gfSwKLXsgMHg5Zjc1LAkxNiwJezB4ZTQsIDB4MDEsIDB4MjQsIDB4YzAsIDB4MjUsIDB4ODAsIDB4ZTUsIDB4NDEsIDB4MjcsIDB4MDAsIDB4ZTcsIDB4YzEsIDB4ZTYsIDB4ODEsIDB4MjYsIDB4NDB9IH0sCi17IDB4OWY4NSwJMTYsCXsweDIyLCAweDAwLCAweGUyLCAweGMxLCAweGUzLCAweDgxLCAweDIzLCAweDQwLCAweGUxLCAweDAxLCAweDIxLCAweGMwLCAweDIwLCAweDgwLCAweGUwLCAweDQxfSB9LAoteyAweDlmOTUsCTE2LAl7MHhhMCwgMHgwMSwgMHg2MCwgMHhjMCwgMHg2MSwgMHg4MCwgMHhhMSwgMHg0MSwgMHg2MywgMHgwMCwgMHhhMywgMHhjMSwgMHhhMiwgMHg4MSwgMHg2MiwgMHg0MH0gfSwKLXsgMHg5ZmE1LAkxNiwJezB4NjYsIDB4MDAsIDB4YTYsIDB4YzEsIDB4YTcsIDB4ODEsIDB4NjcsIDB4NDAsIDB4YTUsIDB4MDEsIDB4NjUsIDB4YzAsIDB4NjQsIDB4ODAsIDB4YTQsIDB4NDF9IH0sCi17IDB4OWZiNSwJMTYsCXsweDZjLCAweDAwLCAweGFjLCAweGMxLCAweGFkLCAweDgxLCAweDZkLCAweDQwLCAweGFmLCAweDAxLCAweDZmLCAweGMwLCAweDZlLCAweDgwLCAweGFlLCAweDQxfSB9LAoteyAweDlmYzUsCTE2LAl7MHhhYSwgMHgwMSwgMHg2YSwgMHhjMCwgMHg2YiwgMHg4MCwgMHhhYiwgMHg0MSwgMHg2OSwgMHgwMCwgMHhhOSwgMHhjMSwgMHhhOCwgMHg4MSwgMHg2OCwgMHg0MH0gfSwKLXsgMHg5ZmQ1LAkxNiwJezB4NzgsIDB4MDAsIDB4YjgsIDB4YzEsIDB4YjksIDB4ODEsIDB4NzksIDB4NDAsIDB4YmIsIDB4MDEsIDB4N2IsIDB4YzAsIDB4N2EsIDB4ODAsIDB4YmEsIDB4NDF9IH0sCi17IDB4OWZlNSwJMTYsCXsweGJlLCAweDAxLCAweDdlLCAweGMwLCAweDdmLCAweDgwLCAweGJmLCAweDQxLCAweDdkLCAweDAwLCAweGJkLCAweGMxLCAweGJjLCAweDgxLCAweDdjLCAweDQwfSB9LAoteyAweDlmZjUsCTE2LAl7MHhiNCwgMHgwMSwgMHg3NCwgMHhjMCwgMHg3NSwgMHg4MCwgMHhiNSwgMHg0MSwgMHg3NywgMHgwMCwgMHhiNywgMHhjMSwgMHhiNiwgMHg4MSwgMHg3NiwgMHg0MH0gfSwKLXsgMHhhMDA1LAkxNiwJezB4NzIsIDB4MDAsIDB4YjIsIDB4YzEsIDB4YjMsIDB4ODEsIDB4NzMsIDB4NDAsIDB4YjEsIDB4MDEsIDB4NzEsIDB4YzAsIDB4NzAsIDB4ODAsIDB4YjAsIDB4NDF9IH0sCi17IDB4YTAxNSwJMTYsCXsweDUwLCAweDAwLCAweDkwLCAweGMxLCAweDkxLCAweDgxLCAweDUxLCAweDQwLCAweDkzLCAweDAxLCAweDUzLCAweGMwLCAweDUyLCAweDgwLCAweDkyLCAweDQxfSB9LAoteyAweGEwMjUsCTE2LAl7MHg5NiwgMHgwMSwgMHg1NiwgMHhjMCwgMHg1NywgMHg4MCwgMHg5NywgMHg0MSwgMHg1NSwgMHgwMCwgMHg5NSwgMHhjMSwgMHg5NCwgMHg4MSwgMHg1NCwgMHg0MH0gfSwKLXsgMHhhMDM1LAkxNiwJezB4OWMsIDB4MDEsIDB4NWMsIDB4YzAsIDB4NWQsIDB4ODAsIDB4OWQsIDB4NDEsIDB4NWYsIDB4MDAsIDB4OWYsIDB4YzEsIDB4OWUsIDB4ODEsIDB4NWUsIDB4NDB9IH0sCi17IDB4YTA0NSwJMTYsCXsweDVhLCAweDAwLCAweDlhLCAweGMxLCAweDliLCAweDgxLCAweDViLCAweDQwLCAweDk5LCAweDAxLCAweDU5LCAweGMwLCAweDU4LCAweDgwLCAweDk4LCAweDQxfSB9LAoteyAweGEwNTUsCTE2LAl7MHg4OCwgMHgwMSwgMHg0OCwgMHhjMCwgMHg0OSwgMHg4MCwgMHg4OSwgMHg0MSwgMHg0YiwgMHgwMCwgMHg4YiwgMHhjMSwgMHg4YSwgMHg4MSwgMHg0YSwgMHg0MH0gfSwKLXsgMHhhMDY1LAkxNiwJezB4NGUsIDB4MDAsIDB4OGUsIDB4YzEsIDB4OGYsIDB4ODEsIDB4NGYsIDB4NDAsIDB4OGQsIDB4MDEsIDB4NGQsIDB4YzAsIDB4NGMsIDB4ODAsIDB4OGMsIDB4NDF9IH0sCi17IDB4YTA3NSwJMTYsCXsweDQ0LCAweDAwLCAweDg0LCAweGMxLCAweDg1LCAweDgxLCAweDQ1LCAweDQwLCAweDg3LCAweDAxLCAweDQ3LCAweGMwLCAweDQ2LCAweDgwLCAweDg2LCAweDQxfSB9LAoteyAweGEwODUsCTE2LAl7MHg4MiwgMHgwMSwgMHg0MiwgMHhjMCwgMHg0MywgMHg4MCwgMHg4MywgMHg0MSwgMHg0MSwgMHgwMCwgMHg4MSwgMHhjMSwgMHg4MCwgMHg4MSwgMHg0MCwgMHg0MH0gfSwKLXsgMHhhMDk1LAkxNiwJezB4ZTQsIDB4ZmYsIDB4NzQsIDB4ZjgsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MDIsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NzAsIDB4MDMsIDB4MDJ9IH0sCi17IDB4YTBhNSwJMTYsCXsweGExLCAweDM4LCAweDc0LCAweDNhLCAweDJmLCAweGY4LCAweGU2LCAweDIwLCAweGU1LCAweDAzLCAweDAyLCAweGExLCAweDM4LCAweGVmLCAweDc1LCAweGYwfSB9LAoteyAweGEwYjUsCTE2LAl7MHgwOCwgMHhhNCwgMHgyNCwgMHgwMCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgyMCwgMHhhZCwgMHg4MiwgMHhmYywgMHhmNSwgMHg4MywgMHhlNSwgMHg4Mn0gfSwKLXsgMHhhMGM1LAkxNiwJezB4MjQsIDB4MDUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4ODMsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4NjAsIDB4NjQsIDB4NjAsIDB4NzAsIDB4NjN9IH0sCi17IDB4YTBkNSwJMTYsCXsweGVmLCAweDI1LCAweGUwLCAweDI0LCAweGVmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDAyLCAweGY1LCAweDgzLCAweGU0LCAweDc1LCAweGYwLCAweDAxfSB9LAoteyAweGEwZTUsCTE2LAl7MHgxMiwgMHhhMiwgMHg5NywgMHg4NSwgMHhmMCwgMHg4MiwgMHhmNSwgMHg4MywgMHhlMCwgMHg4ZCwgMHg4MiwgMHg4YywgMHg4MywgMHhmMCwgMHg3NCwgMHhmOH0gfSwKLXsgMHhhMGY1LAkxNiwJezB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MDIsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTQsIDB4ZjAsIDB4NzAsIDB4MzYsIDB4ZWYsIDB4MjUsIDB4ZTB9IH0sCi17IDB4YTEwNSwJMTYsCXsweDI0LCAweGM3LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweGU0LCAweGYwLCAweGVmLCAweDI1LCAweGUwLCAweGZlLCAweGMzfSB9LAoteyAweGExMTUsCTE2LAl7MHg3NCwgMHgwYywgMHg5ZSwgMHg3NSwgMHhmMCwgMHg0MCwgMHhhNCwgMHgyNCwgMHg0MCwgMHhmNSwgMHg4MiwgMHhlNSwgMHhmMCwgMHgzNCwgMHg3YiwgMHhhZH0gfSwKLXsgMHhhMTI1LAkxNiwJezB4ODIsIDB4ZmMsIDB4ZWYsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4ZWYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MDIsIDB4ZjUsIDB4ODMsIDB4ZWMsIDB4ZjB9IH0sCi17IDB4YTEzNSwJMTIsCXsweGEzLCAweGVkLCAweGYwLCAweDBmLCAweGVmLCAweDY0LCAweDA0LCAweDYwLCAweDAzLCAweDAyLCAweGEwLCAweDk3fSB9LAoteyAweGExNDEsCTEsCXsweDIyfSB9LAoteyAweGExNDIsCTE2LAl7MHhlNywgMHgwOSwgMHhmNiwgMHgwOCwgMHhkZiwgMHhmYSwgMHg4MCwgMHg0NiwgMHhlNywgMHgwOSwgMHhmMiwgMHgwOCwgMHhkZiwgMHhmYSwgMHg4MCwgMHgzZX0gfSwKLXsgMHhhMTUyLAkxNiwJezB4ODgsIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZTcsIDB4MDksIDB4ZjAsIDB4YTMsIDB4ZGYsIDB4ZmEsIDB4ODAsIDB4MzIsIDB4ZTMsIDB4MDksIDB4ZjYsIDB4MDh9IH0sCi17IDB4YTE2MiwJMTYsCXsweGRmLCAweGZhLCAweDgwLCAweDc4LCAweGUzLCAweDA5LCAweGYyLCAweDA4LCAweGRmLCAweGZhLCAweDgwLCAweDcwLCAweDg4LCAweDgyLCAweDhjLCAweDgzfSB9LAoteyAweGExNzIsCTE2LAl7MHhlMywgMHgwOSwgMHhmMCwgMHhhMywgMHhkZiwgMHhmYSwgMHg4MCwgMHg2NCwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlMCwgMHhhMywgMHhmNiwgMHgwOH0gfSwKLXsgMHhhMTgyLAkxNiwJezB4ZGYsIDB4ZmEsIDB4ODAsIDB4NTgsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTAsIDB4YTMsIDB4ZjIsIDB4MDgsIDB4ZGYsIDB4ZmEsIDB4ODAsIDB4NGN9IH0sCi17IDB4YTE5MiwJMTYsCXsweDgwLCAweGQyLCAweDgwLCAweGZhLCAweDgwLCAweGM2LCAweDgwLCAweGQ0LCAweDgwLCAweDY5LCAweDgwLCAweGYyLCAweDgwLCAweDMzLCAweDgwLCAweDEwfSB9LAoteyAweGExYTIsCTE2LAl7MHg4MCwgMHhhNiwgMHg4MCwgMHhlYSwgMHg4MCwgMHg5YSwgMHg4MCwgMHhhOCwgMHg4MCwgMHhkYSwgMHg4MCwgMHhlMiwgMHg4MCwgMHhjYSwgMHg4MCwgMHgzM30gfSwKLXsgMHhhMWIyLAkxNiwJezB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZWMsIDB4ZmEsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4YzgsIDB4YzUsIDB4ODIsIDB4YzgsIDB4Y2MsIDB4YzUsIDB4ODN9IH0sCi17IDB4YTFjMiwJMTYsCXsweGNjLCAweGYwLCAweGEzLCAweGM4LCAweGM1LCAweDgyLCAweGM4LCAweGNjLCAweGM1LCAweDgzLCAweGNjLCAweGRmLCAweGU5LCAweGRlLCAweGU3LCAweDgwfSB9LAoteyAweGExZDIsCTE2LAl7MHgwZCwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlNCwgMHg5MywgMHhhMywgMHhmNiwgMHgwOCwgMHhkZiwgMHhmOSwgMHhlYywgMHhmYSwgMHhhOSwgMHhmMH0gfSwKLXsgMHhhMWUyLAkxNiwJezB4ZWQsIDB4ZmIsIDB4MjIsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZWMsIDB4ZmEsIDB4ZTAsIDB4YTMsIDB4YzgsIDB4YzUsIDB4ODIsIDB4YzgsIDB4Y2N9IH0sCi17IDB4YTFmMiwJMTYsCXsweGM1LCAweDgzLCAweGNjLCAweGYwLCAweGEzLCAweGM4LCAweGM1LCAweDgyLCAweGM4LCAweGNjLCAweGM1LCAweDgzLCAweGNjLCAweGRmLCAweGVhLCAweGRlfSB9LAoteyAweGEyMDIsCTE2LAl7MHhlOCwgMHg4MCwgMHhkYiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlNCwgMHg5MywgMHhhMywgMHhmMiwgMHgwOCwgMHhkZiwgMHhmOSwgMHg4MCwgMHhjY30gfSwKLXsgMHhhMjEyLAkxNiwJezB4ODgsIDB4ZjAsIDB4ZWQsIDB4MjQsIDB4MDIsIDB4YjQsIDB4MDQsIDB4MDAsIDB4NTAsIDB4YzIsIDB4ZjUsIDB4ODIsIDB4ZWIsIDB4MjQsIDB4MDIsIDB4YjR9IH0sCi17IDB4YTIyMiwJMTYsCXsweDA0LCAweDAwLCAweDUwLCAweGI4LCAweDIzLCAweDIzLCAweDQ1LCAweDgyLCAweGY1LCAweDgyLCAweGVmLCAweDRlLCAweDYwLCAweGFlLCAweGVmLCAweDYwfSB9LAoteyAweGEyMzIsCTksCXsweDAxLCAweDBlLCAweGU1LCAweDgyLCAweDIzLCAweDkwLCAweGExLCAweDkyLCAweDczfSB9LAoteyAweGEyM2IsCTE2LAl7MHhiYiwgMHgwMSwgMHgwNiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlMCwgMHgyMiwgMHg1MCwgMHgwMiwgMHhlNywgMHgyMiwgMHhiYiwgMHhmZSwgMHgwMn0gfSwKLXsgMHhhMjRiLAk5LAl7MHhlMywgMHgyMiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlNCwgMHg5MywgMHgyMn0gfSwKLXsgMHhhMjU0LAkxNiwJezB4YmIsIDB4MDEsIDB4MGMsIDB4ZTUsIDB4ODIsIDB4MjksIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MjIsIDB4NTB9IH0sCi17IDB4YTI2NCwJMTYsCXsweDA2LCAweGU5LCAweDI1LCAweDgyLCAweGY4LCAweGU2LCAweDIyLCAweGJiLCAweGZlLCAweDA2LCAweGU5LCAweDI1LCAweDgyLCAweGY4LCAweGUyLCAweDIyfSB9LAoteyAweGEyNzQsCTEzLAl7MHhlNSwgMHg4MiwgMHgyOSwgMHhmNSwgMHg4MiwgMHhlNSwgMHg4MywgMHgzYSwgMHhmNSwgMHg4MywgMHhlNCwgMHg5MywgMHgyMn0gfSwKLXsgMHhhMjgxLAkxNiwJezB4YzUsIDB4ZjAsIDB4ZjgsIDB4YTMsIDB4ZTAsIDB4MjgsIDB4ZjAsIDB4YzUsIDB4ZjAsIDB4ZjgsIDB4ZTUsIDB4ODIsIDB4MTUsIDB4ODIsIDB4NzAsIDB4MDJ9IH0sCi17IDB4YTI5MSwJNiwJezB4MTUsIDB4ODMsIDB4ZTAsIDB4MzgsIDB4ZjAsIDB4MjJ9IH0sCi17IDB4YTI5NywJMTYsCXsweGEzLCAweGY4LCAweGUwLCAweGM1LCAweGYwLCAweDI1LCAweGYwLCAweGYwLCAweGU1LCAweDgyLCAweDE1LCAweDgyLCAweDcwLCAweDAyLCAweDE1LCAweDgzfSB9LAoteyAweGEyYTcsCTYsCXsweGUwLCAweGM4LCAweDM4LCAweGYwLCAweGU4LCAweDIyfSB9LAoteyAweGEyYWQsCTE2LAl7MHhiYiwgMHgwMSwgMHgxMCwgMHhlNSwgMHg4MiwgMHgyOSwgMHhmNSwgMHg4MiwgMHhlNSwgMHg4MywgMHgzYSwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHhmMH0gfSwKLXsgMHhhMmJkLAkxNiwJezB4YTMsIDB4ZTAsIDB4MjIsIDB4NTAsIDB4MDksIDB4ZTksIDB4MjUsIDB4ODIsIDB4ZjgsIDB4ODYsIDB4ZjAsIDB4MDgsIDB4ZTYsIDB4MjIsIDB4YmIsIDB4ZmV9IH0sCi17IDB4YTJjZCwJMTYsCXsweDBhLCAweGU5LCAweDI1LCAweDgyLCAweGY4LCAweGUyLCAweGY1LCAweGYwLCAweDA4LCAweGUyLCAweDIyLCAweGU1LCAweDgzLCAweDJhLCAweGY1LCAweDgzfSB9LAoteyAweGEyZGQsCTgsCXsweGU5LCAweDkzLCAweGY1LCAweGYwLCAweGEzLCAweGU5LCAweDkzLCAweDIyfSB9LAoteyAweGEyZTUsCTE2LAl7MHg3NSwgMHhmMCwgMHgwOCwgMHg3NSwgMHg4MiwgMHgwMCwgMHhlZiwgMHgyZiwgMHhmZiwgMHhlZSwgMHgzMywgMHhmZSwgMHhjZCwgMHgzMywgMHhjZCwgMHhjY30gfSwKLXsgMHhhMmY1LAkxNiwJezB4MzMsIDB4Y2MsIDB4YzUsIDB4ODIsIDB4MzMsIDB4YzUsIDB4ODIsIDB4OWIsIDB4ZWQsIDB4OWEsIDB4ZWMsIDB4OTksIDB4ZTUsIDB4ODIsIDB4OTgsIDB4NDB9IH0sCi17IDB4YTMwNSwJMTYsCXsweDBjLCAweGY1LCAweDgyLCAweGVlLCAweDliLCAweGZlLCAweGVkLCAweDlhLCAweGZkLCAweGVjLCAweDk5LCAweGZjLCAweDBmLCAweGQ1LCAweGYwLCAweGQ2fSB9LAoteyAweGEzMTUsCTE2LAl7MHhlNCwgMHhjZSwgMHhmYiwgMHhlNCwgMHhjZCwgMHhmYSwgMHhlNCwgMHhjYywgMHhmOSwgMHhhOCwgMHg4MiwgMHgyMiwgMHhiOCwgMHgwMCwgMHhjMSwgMHhiOX0gfSwKLXsgMHhhMzI1LAkxNiwJezB4MDAsIDB4NTksIDB4YmEsIDB4MDAsIDB4MmQsIDB4ZWMsIDB4OGIsIDB4ZjAsIDB4ODQsIDB4Y2YsIDB4Y2UsIDB4Y2QsIDB4ZmMsIDB4ZTUsIDB4ZjAsIDB4Y2J9IH0sCi17IDB4YTMzNSwJMTYsCXsweGY5LCAweDc4LCAweDE4LCAweGVmLCAweDJmLCAweGZmLCAweGVlLCAweDMzLCAweGZlLCAweGVkLCAweDMzLCAweGZkLCAweGVjLCAweDMzLCAweGZjLCAweGVifSB9LAoteyAweGEzNDUsCTE2LAl7MHgzMywgMHhmYiwgMHgxMCwgMHhkNywgMHgwMywgMHg5OSwgMHg0MCwgMHgwNCwgMHhlYiwgMHg5OSwgMHhmYiwgMHgwZiwgMHhkOCwgMHhlNSwgMHhlNCwgMHhmOX0gfSwKLXsgMHhhMzU1LAkxNiwJezB4ZmEsIDB4MjIsIDB4NzgsIDB4MTgsIDB4ZWYsIDB4MmYsIDB4ZmYsIDB4ZWUsIDB4MzMsIDB4ZmUsIDB4ZWQsIDB4MzMsIDB4ZmQsIDB4ZWMsIDB4MzMsIDB4ZmN9IH0sCi17IDB4YTM2NSwJMTYsCXsweGM5LCAweDMzLCAweGM5LCAweDEwLCAweGQ3LCAweDA1LCAweDliLCAweGU5LCAweDlhLCAweDQwLCAweDA3LCAweGVjLCAweDliLCAweGZjLCAweGU5LCAweDlhfSB9LAoteyAweGEzNzUsCTE2LAl7MHhmOSwgMHgwZiwgMHhkOCwgMHhlMCwgMHhlNCwgMHhjOSwgMHhmYSwgMHhlNCwgMHhjYywgMHhmYiwgMHgyMiwgMHg3NSwgMHhmMCwgMHgxMCwgMHhlZiwgMHgyZn0gfSwKLXsgMHhhMzg1LAkxNiwJezB4ZmYsIDB4ZWUsIDB4MzMsIDB4ZmUsIDB4ZWQsIDB4MzMsIDB4ZmQsIDB4Y2MsIDB4MzMsIDB4Y2MsIDB4YzgsIDB4MzMsIDB4YzgsIDB4MTAsIDB4ZDcsIDB4MDd9IH0sCi17IDB4YTM5NSwJMTYsCXsweDliLCAweGVjLCAweDlhLCAweGU4LCAweDk5LCAweDQwLCAweDBhLCAweGVkLCAweDliLCAweGZkLCAweGVjLCAweDlhLCAweGZjLCAweGU4LCAweDk5LCAweGY4fSB9LAoteyAweGEzYTUsCTE0LAl7MHgwZiwgMHhkNSwgMHhmMCwgMHhkYSwgMHhlNCwgMHhjZCwgMHhmYiwgMHhlNCwgMHhjYywgMHhmYSwgMHhlNCwgMHhjOCwgMHhmOSwgMHgyMn0gfSwKLXsgMHhhM2IzLAkxNiwJezB4ZWIsIDB4OWYsIDB4ZjUsIDB4ZjAsIDB4ZWEsIDB4OWUsIDB4NDIsIDB4ZjAsIDB4ZTksIDB4OWQsIDB4NDIsIDB4ZjAsIDB4ZTgsIDB4OWMsIDB4NDUsIDB4ZjB9IH0sCi17IDB4YTNjMywJMSwJezB4MjJ9IH0sCi17IDB4YTNjNCwJMTYsCXsweGU4LCAweDYwLCAweDBmLCAweGVjLCAweGMzLCAweDEzLCAweGZjLCAweGVkLCAweDEzLCAweGZkLCAweGVlLCAweDEzLCAweGZlLCAweGVmLCAweDEzLCAweGZmfSB9LAoteyAweGEzZDQsCTMsCXsweGQ4LCAweGYxLCAweDIyfSB9LAoteyAweGEzZDcsCTE2LAl7MHgwOCwgMHgwOCwgMHgwOCwgMHhlNiwgMHhjZiwgMHgyZiwgMHhmNiwgMHgxOCwgMHhlNiwgMHhjZSwgMHgzZSwgMHhmNiwgMHgxOCwgMHhlNiwgMHhjZCwgMHgzZH0gfSwKLXsgMHhhM2U3LAk3LAl7MHhmNiwgMHgxOCwgMHhlNiwgMHhjYywgMHgzYywgMHhmNiwgMHgyMn0gfSwKLXsgMHhhM2VlLAkxMiwJezB4ZWMsIDB4ZjAsIDB4YTMsIDB4ZWQsIDB4ZjAsIDB4YTMsIDB4ZWUsIDB4ZjAsIDB4YTMsIDB4ZWYsIDB4ZjAsIDB4MjJ9IH0sCi17IDB4YTNmYSwJMTYsCXsweGE4LCAweDgyLCAweDg1LCAweDgzLCAweGYwLCAweGQwLCAweDgzLCAweGQwLCAweDgyLCAweDEyLCAweGE0LCAweDExLCAweDEyLCAweGE0LCAweDExLCAweDEyfSB9LAoteyAweGE0MGEsCTE2LAl7MHhhNCwgMHgxMSwgMHgxMiwgMHhhNCwgMHgxMSwgMHhlNCwgMHg3MywgMHhlNCwgMHg5MywgMHhhMywgMHhjNSwgMHg4MywgMHhjNSwgMHhmMCwgMHhjNSwgMHg4M30gfSwKLXsgMHhhNDFhLAkxNiwJezB4YzgsIDB4YzUsIDB4ODIsIDB4YzgsIDB4ZjAsIDB4YTMsIDB4YzUsIDB4ODMsIDB4YzUsIDB4ZjAsIDB4YzUsIDB4ODMsIDB4YzgsIDB4YzUsIDB4ODIsIDB4Yzh9IH0sCi17IDB4YTQyYSwJMSwJezB4MjJ9IH0sCi17IDB4ZmZmZiwJMCwJezB4MDB9IH0KLX07Ci0KLSNpZmRlZiBERUJVRwotc3RhdGljIGNvbnN0IHN0cnVjdCB3aGl0ZWhlYXRfaGV4X3JlY29yZCB3aGl0ZWhlYXRfbG9hZGVyW10gPSB7Ci17IDB4MDAwMCwJMywJezB4MDIsIDB4MDksIDB4OGR9IH0sCi17IDB4MDAzMywJMywJezB4MDIsIDB4MGUsIDB4NzB9IH0sCi17IDB4MDA0MywJMywJezB4MDIsIDB4MGIsIDB4MDB9IH0sCi17IDB4MDA0YiwJMywJezB4MDIsIDB4MDUsIDB4YjN9IH0sCi17IDB4MDEwMCwJMTYsCXsweDkwLCAweDdmLCAweGE1LCAweGUwLCAweDU0LCAweDEwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweDQ0LCAweDUwLCAweGY1LCAweDBmLCAweDEzLCAweGU0fSB9LAoteyAweDAxMTAsCTE2LAl7MHgzMywgMHhmNSwgMHgxMSwgMHg5MCwgMHg3ZiwgMHhlOSwgMHhlMCwgMHgyNCwgMHg1ZSwgMHhiNCwgMHgwNywgMHgwMCwgMHg0MCwgMHgwMywgMHgwMiwgMHgwM30gfSwKLXsgMHgwMTIwLAkxNiwJezB4N2MsIDB4OTAsIDB4MDEsIDB4MjgsIDB4ZjgsIDB4MjgsIDB4MjgsIDB4NzMsIDB4MDIsIDB4MDEsIDB4YmMsIDB4MDIsIDB4MDEsIDB4YmMsIDB4MDIsIDB4MDF9IH0sCi17IDB4MDEzMCwJMTYsCXsweDkxLCAweDAyLCAweDAxLCAweDNkLCAweDAyLCAweDAxLCAweDUzLCAweDAyLCAweDAxLCAweDZmLCAweDAyLCAweDAxLCAweDlhLCAweDkwLCAweDdmLCAweDAwfSB9LAoteyAweDAxNDAsCTE2LAl7MHhlNSwgMHgxMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMH0gfSwKLXsgMHgwMTUwLAkxNiwJezB4MDIsIDB4MDMsIDB4N2MsIDB4OTAsIDB4N2YsIDB4OTIsIDB4ZTAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZjAsIDB4OTB9IH0sCi17IDB4MDE2MCwJMTYsCXsweDdmLCAweGI1LCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDAyLCAweDAzLCAweDdjLCAweDEyfSB9LAoteyAweDAxNzAsCTE2LAl7MHgwYSwgMHg4OSwgMHg1MCwgMHgwNywgMHhlNCwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhmMCwgMHg4MCwgMHgwNiwgMHg5MCwgMHg3ZiwgMHgwMCwgMHg3NCwgMHgwZn0gfSwKLXsgMHgwMTgwLAkxNiwJezB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MDN9IH0sCi17IDB4MDE5MCwJMTYsCXsweDdjLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGY1LCAweDBmLCAweDAyLCAweDAzLCAweDdjLCAweDkwLCAweDdmLCAweDAwLCAweDc0LCAweDA3LCAweGYwfSB9LAoteyAweDAxYTAsCTE2LAl7MHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHg3ZiwgMHhlOCwgMHg3ZX0gfSwKLXsgMHgwMWIwLAkxNiwJezB4MDMsIDB4MTIsIDB4MGQsIDB4ZDUsIDB4ZDIsIDB4MDYsIDB4MTIsIDB4MGQsIDB4MGQsIDB4MDIsIDB4MDMsIDB4N2MsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTB9IH0sCi17IDB4MDFjMCwJMTYsCXsweDc1LCAweDI5LCAweDAwLCAweGY1LCAweDJhLCAweGEzLCAweGUwLCAweGZlLCAweGU0LCAweGVlLCAweDQyLCAweDI5LCAweDkwLCAweDdmLCAweGVlLCAweGUwfSB9LAoteyAweDAxZDAsCTE2LAl7MHg3NSwgMHgyYiwgMHgwMCwgMHhmNSwgMHgyYywgMHhhMywgMHhlMCwgMHhmZSwgMHhlNCwgMHhlZSwgMHg0MiwgMHgyYiwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMH0gfSwKLXsgMHgwMWUwLAkxNiwJezB4NjQsIDB4YzAsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MDIsIDB4YzksIDB4ZTUsIDB4MmMsIDB4NDUsIDB4MmIsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MDMsIDB4N2N9IH0sCi17IDB4MDFmMCwJMTYsCXsweGMzLCAweGU1LCAweDJjLCAweDk0LCAweDQwLCAweGU1LCAweDJiLCAweDk0LCAweDAwLCAweDUwLCAweDA4LCAweDg1LCAweDJiLCAweDJkLCAweDg1LCAweDJjfSB9LAoteyAweDAyMDAsCTE2LAl7MHgyZSwgMHg4MCwgMHgwNiwgMHg3NSwgMHgyZCwgMHgwMCwgMHg3NSwgMHgyZSwgMHg0MCwgMHg5MCwgMHg3ZiwgMHhlOSwgMHhlMCwgMHg2NCwgMHhhMywgMHg3MH0gfSwKLXsgMHgwMjEwLAkxNiwJezB4MzQsIDB4ZjUsIDB4MzEsIDB4ZjUsIDB4MzIsIDB4YzMsIDB4ZTUsIDB4MzIsIDB4OTUsIDB4MmUsIDB4ZTUsIDB4MzEsIDB4OTUsIDB4MmQsIDB4NTAsIDB4NWN9IH0sCi17IDB4MDIyMCwJMTYsCXsweGU1LCAweDJhLCAweDI1LCAweDMyLCAweGY1LCAweDgyLCAweGU1LCAweDMxLCAweDM1LCAweDI5LCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweDc0LCAweDAwfSB9LAoteyAweDAyMzAsCTE2LAl7MHgyNSwgMHgzMiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHgwNSwgMHgzMiwgMHhlNSwgMHgzMiwgMHg3MH0gfSwKLXsgMHgwMjQwLAkxNiwJezB4MDIsIDB4MDUsIDB4MzEsIDB4ODAsIDB4ZDAsIDB4ZTQsIDB4ZjUsIDB4MzEsIDB4ZjUsIDB4MzIsIDB4YzMsIDB4ZTUsIDB4MzIsIDB4OTUsIDB4MmUsIDB4ZTV9IH0sCi17IDB4MDI1MCwJMTYsCXsweDMxLCAweDk1LCAweDJkLCAweDUwLCAweDE4LCAweDc0LCAweDAwLCAweDI1LCAweDMyLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzfSB9LAoteyAweDAyNjAsCTE2LAl7MHg3NCwgMHhjZCwgMHhmMCwgMHgwNSwgMHgzMiwgMHhlNSwgMHgzMiwgMHg3MCwgMHgwMiwgMHgwNSwgMHgzMSwgMHg4MCwgMHhkZCwgMHhhZiwgMHgyYSwgMHhhZX0gfSwKLXsgMHgwMjcwLAkxNiwJezB4MjksIDB4YWQsIDB4MmUsIDB4N2EsIDB4N2YsIDB4NzksIDB4MDAsIDB4N2IsIDB4MDAsIDB4MTIsIDB4MGIsIDB4ZjQsIDB4OTAsIDB4N2YsIDB4YjUsIDB4ZTV9IH0sCi17IDB4MDI4MCwJMTYsCXsweDJlLCAweGYwLCAweGU1LCAweDJlLCAweDI1LCAweDJhLCAweGY1LCAweDJhLCAweGU1LCAweDJkLCAweDM1LCAweDI5LCAweGY1LCAweDI5LCAweGMzLCAweGU1fSB9LAoteyAweDAyOTAsCTE2LAl7MHgyYywgMHg5NSwgMHgyZSwgMHhmNSwgMHgyYywgMHhlNSwgMHgyYiwgMHg5NSwgMHgyZCwgMHhmNSwgMHgyYiwgMHg5MCwgMHg3ZiwgMHg5MiwgMHhlMCwgMHhmZn0gfSwKLXsgMHgwMmEwLAkxNiwJezB4YzQsIDB4NTQsIDB4MGYsIDB4NzUsIDB4MmYsIDB4MDAsIDB4ZjUsIDB4MzAsIDB4ZDMsIDB4OTQsIDB4MDAsIDB4ZTUsIDB4MmYsIDB4OTQsIDB4MDAsIDB4NTB9IH0sCi17IDB4MDJiMCwJMTYsCXsweDBjLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDIwLCAweGUxLCAweDAzLCAweDAyLCAweDAxLCAweGU3LCAweDgwLCAweGY0LCAweDkwLCAweDdmLCAweGI0fSB9LAoteyAweDAyYzAsCTE2LAl7MHhlMCwgMHgyMCwgMHhlMiwgMHgwMywgMHgwMiwgMHgwMSwgMHhlNywgMHg4MCwgMHhmNCwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwgMHg2NCwgMHg0MCwgMHg2MH0gfSwKLXsgMHgwMmQwLAkxNiwJezB4MDMsIDB4MDIsIDB4MDMsIDB4N2MsIDB4ZTUsIDB4MmMsIDB4NDUsIDB4MmIsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MDMsIDB4N2MsIDB4ZTQsIDB4OTAsIDB4N2Z9IH0sCi17IDB4MDJlMCwJMTYsCXsweGM1LCAweGYwLCAweDkwLCAweDdmLCAweDkyLCAweGUwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweDc1LCAweDJmLCAweDAwLCAweGY1LCAweDMwLCAweGQzfSB9LAoteyAweDAyZjAsCTE2LAl7MHg5NCwgMHgwMCwgMHhlNSwgMHgyZiwgMHg5NCwgMHgwMCwgMHg1MCwgMHgwOSwgMHg5MCwgMHg3ZiwgMHhjNCwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwOSwgMHg4MH0gfSwKLXsgMHgwMzAwLAkxNiwJezB4ZjcsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4MjAsIDB4ZTMsIDB4ZjksIDB4OTAsIDB4N2YsIDB4YzUsIDB4ZTAsIDB4NzUsIDB4MmQsIDB4MDAsIDB4ZjV9IH0sCi17IDB4MDMxMCwJMTYsCXsweDJlLCAweDkwLCAweDdmLCAweGU5LCAweGUwLCAweDY0LCAweGEzLCAweDcwLCAweDM4LCAweDkwLCAweDIwLCAweDZiLCAweGYwLCAweGY1LCAweDMxLCAweGY1fSB9LAoteyAweDAzMjAsCTE2LAl7MHgzMiwgMHhjMywgMHhlNSwgMHgzMiwgMHg5NSwgMHgyZSwgMHhlNSwgMHgzMSwgMHg5NSwgMHgyZCwgMHg1MCwgMHgzNCwgMHg3NCwgMHhjMCwgMHgyNSwgMHgzMn0gfSwKLXsgMHgwMzMwLAkxNiwJezB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4ZTUsIDB4MmEsIDB4MjUsIDB4MzIsIDB4ZjUsIDB4ODIsIDB4ZTV9IH0sCi17IDB4MDM0MCwJMTYsCXsweDMxLCAweDM1LCAweDI5LCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDA1LCAweDMyLCAweGU1LCAweDMyLCAweDcwLCAweDAyLCAweDA1LCAweDMxLCAweDgwfSB9LAoteyAweDAzNTAsCTE2LAl7MHhkMCwgMHhhZiwgMHgyYSwgMHhhZSwgMHgyOSwgMHhhZCwgMHgyZSwgMHg3YSwgMHg3ZSwgMHg3OSwgMHhjMCwgMHg3YiwgMHhjMCwgMHgxMiwgMHgwYywgMHg4MH0gfSwKLXsgMHgwMzYwLAkxNiwJezB4ZTUsIDB4MmUsIDB4MjUsIDB4MmEsIDB4ZjUsIDB4MmEsIDB4ZTUsIDB4MmQsIDB4MzUsIDB4MjksIDB4ZjUsIDB4MjksIDB4YzMsIDB4ZTUsIDB4MmMsIDB4OTV9IH0sCi17IDB4MDM3MCwJMTMsCXsweDJlLCAweGY1LCAweDJjLCAweGU1LCAweDJiLCAweDk1LCAweDJkLCAweGY1LCAweDJiLCAweDAyLCAweDAyLCAweGQ0LCAweGMzfSB9LAoteyAweDAzN2QsCTEsCXsweDIyfSB9LAoteyAweDAzN2UsCTE2LAl7MHg5MCwgMHg3ZiwgMHhlOSwgMHhlMCwgMHg3MCwgMHgwMywgMHgwMiwgMHgwNCwgMHg1NiwgMHgxNCwgMHg3MCwgMHgwMywgMHgwMiwgMHgwNCwgMHhkMiwgMHgyNH0gfSwKLXsgMHgwMzhlLAkxNiwJezB4ZmUsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MDUsIDB4NDYsIDB4MjQsIDB4ZmIsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MDQsIDB4NTAsIDB4MTQsIDB4NzAsIDB4MDN9IH0sCi17IDB4MDM5ZSwJMTYsCXsweDAyLCAweDA0LCAweDRhLCAweDE0LCAweDcwLCAweDAzLCAweDAyLCAweDA0LCAweDNlLCAweDE0LCAweDcwLCAweDAzLCAweDAyLCAweDA0LCAweDQ0LCAweDI0fSB9LAoteyAweDAzYWUsCTE2LAl7MHgwNSwgMHg2MCwgMHgwMywgMHgwMiwgMHgwNSwgMHg5YSwgMHgxMiwgMHgwZSwgMHg3YiwgMHg0MCwgMHgwMywgMHgwMiwgMHgwNSwgMHhhYiwgMHg5MCwgMHg3Zn0gfSwKLXsgMHgwM2JlLAkxNiwJezB4ZWIsIDB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MTYsIDB4MTQsIDB4NjAsIDB4NDAsIDB4MjQsIDB4MDIsIDB4NzAsIDB4NjksIDB4NzQsIDB4MTEsIDB4OTB9IH0sCi17IDB4MDNjZSwJMTYsCXsweDdmLCAweGQ0LCAweGYwLCAweDc0LCAweDAwLCAweDkwLCAweDdmLCAweGQ1LCAweGYwLCAweDAyLCAweDA1LCAweGFiLCAweDkwLCAweDdmLCAweGVhLCAweGUwfSB9LAoteyAweDAzZGUsCTE2LAl7MHhmZiwgMHgxMiwgMHgwYiwgMHg1OCwgMHg4YiwgMHgyNiwgMHg4YSwgMHgyNywgMHg4OSwgMHgyOCwgMHhlYSwgMHg0OSwgMHg2MCwgMHgxMSwgMHhhZSwgMHgwMn0gfSwKLXsgMHgwM2VlLAkxNiwJezB4ZWUsIDB4OTAsIDB4N2YsIDB4ZDQsIDB4ZjAsIDB4YWYsIDB4MDEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4ZDUsIDB4ZjAsIDB4MDIsIDB4MDUsIDB4YWIsIDB4OTB9IH0sCi17IDB4MDNmZSwJMTYsCXsweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDA1LCAweGFiLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGZmLCAweDEyLCAweDBjfSB9LAoteyAweDA0MGUsCTE2LAl7MHgzZiwgMHg4YiwgMHgyNiwgMHg4YSwgMHgyNywgMHg4OSwgMHgyOCwgMHhlYSwgMHg0OSwgMHg2MCwgMHgxMSwgMHhhZSwgMHgwMiwgMHhlZSwgMHg5MCwgMHg3Zn0gfSwKLXsgMHgwNDFlLAkxNiwJezB4ZDQsIDB4ZjAsIDB4YWYsIDB4MDEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4ZDUsIDB4ZjAsIDB4MDIsIDB4MDUsIDB4YWIsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTB9IH0sCi17IDB4MDQyZSwJMTYsCXsweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDA1LCAweGFiLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDA1LCAweGFifSB9LAoteyAweDA0M2UsCTE2LAl7MHgxMiwgMHgwZSwgMHg1MiwgMHgwMiwgMHgwNSwgMHhhYiwgMHgxMiwgMHgwZSwgMHg2MCwgMHgwMiwgMHgwNSwgMHhhYiwgMHgxMiwgMHgwYSwgMHhmNywgMHgwMn0gfSwKLXsgMHgwNDRlLAkxNiwJezB4MDUsIDB4YWIsIDB4MTIsIDB4MDgsIDB4ZjEsIDB4MDIsIDB4MDUsIDB4YWIsIDB4MTIsIDB4MGUsIDB4N2QsIDB4NDAsIDB4MDMsIDB4MDIsIDB4MDUsIDB4YWJ9IH0sCi17IDB4MDQ1ZSwJMTYsCXsweDkwLCAweDdmLCAweGU4LCAweGUwLCAweDI0LCAweDdmLCAweDYwLCAweDI0LCAweDE0LCAweDYwLCAweDMxLCAweDI0LCAweDAyLCAweDcwLCAweDViLCAweGEyfSB9LAoteyAweDA0NmUsCTE2LAl7MHgwMCwgMHhlNCwgMHgzMywgMHhmZiwgMHgyNSwgMHhlMCwgMHhmZiwgMHhhMiwgMHgwMiwgMHhlNCwgMHgzMywgMHg0ZiwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhmMH0gfSwKLXsgMHgwNDdlLAkxNiwJezB4ZTQsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MDUsIDB4YWIsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4MDB9IH0sCi17IDB4MDQ4ZSwJMTYsCXsweGYwLCAweGEzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDA1LCAweGFiLCAweDkwLCAweDdmLCAweGVjLCAweGUwfSB9LAoteyAweDA0OWUsCTE2LAl7MHhmNCwgMHg1NCwgMHg4MCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNH0gfSwKLXsgMHgwNGFlLAkxNiwJezB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZjAsIDB4ZTQsIDB4YTN9IH0sCi17IDB4MDRiZSwJMTYsCXsweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDA1LCAweGFiLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxfSB9LAoteyAweDA0Y2UsCTE2LAl7MHhmMCwgMHgwMiwgMHgwNSwgMHhhYiwgMHgxMiwgMHgwZSwgMHg3ZiwgMHg0MCwgMHgwMywgMHgwMiwgMHgwNSwgMHhhYiwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMH0gfSwKLXsgMHgwNGRlLAkxNiwJezB4MjQsIDB4ZmUsIDB4NjAsIDB4MWQsIDB4MjQsIDB4MDIsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MDUsIDB4YWIsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4YjR9IH0sCi17IDB4MDRlZSwJMTYsCXsweDAxLCAweDA1LCAweGMyLCAweDAwLCAweDAyLCAweDA1LCAweGFiLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDA1fSB9LAoteyAweDA0ZmUsCTE2LAl7MHhhYiwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHg3MCwgMHgzOCwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHhmNCwgMHg1NCwgMHg4MCwgMHhmZiwgMHhjNH0gfSwKLXsgMHgwNTBlLAkxNiwJezB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2Z9IH0sCi17IDB4MDUxZSwJMTYsCXsweGY1LCAweDgzLCAweGU0LCAweGYwLCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweDU0LCAweDgwLCAweGZmLCAweDEzLCAweDEzLCAweDEzLCAweDU0LCAweDFmfSB9LAoteyAweDA1MmUsCTE2LAl7MHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHg5MCwgMHg3ZiwgMHhkNywgMHhmMCwgMHhlMCwgMHg0NCwgMHgyMCwgMHhmMCwgMHg4MCwgMHg2ZSwgMHg5MH0gfSwKLXsgMHgwNTNlLAkxNiwJezB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4NjUsIDB4MTIsIDB4MGUsIDB4ODEsIDB4NTAsIDB4NjAsIDB4OTAsIDB4N2YsIDB4ZTh9IH0sCi17IDB4MDU0ZSwJMTYsCXsweGUwLCAweDI0LCAweGZlLCAweDYwLCAweDE4LCAweDI0LCAweDAyLCAweDcwLCAweDU0LCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGI0LCAweDAxLCAweDA0fSB9LAoteyAweDA1NWUsCTE2LAl7MHhkMiwgMHgwMCwgMHg4MCwgMHg0OSwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHg0MCwgMHg5MCwgMHg3ZiwgMHhlYX0gfSwKLXsgMHgwNTZlLAkxNiwJezB4ZTAsIDB4NzAsIDB4MjAsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4ZjQsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTB9IH0sCi17IDB4MDU3ZSwJMTYsCXsweDU0LCAweDA3LCAweDJmLCAweDI1LCAweGUwLCAweDI0LCAweGI0LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweDc0LCAweDAxfSB9LAoteyAweDA1OGUsCTE2LAl7MHhmMCwgMHg4MCwgMHgxYSwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHgxMSwgMHhlNCwgMHg5MCwgMHgyMCwgMHg2YX0gfSwKLXsgMHgwNTllLAkxNiwJezB4ZjAsIDB4MTIsIDB4MDEsIDB4MDAsIDB4NTAsIDB4MDcsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjR9IH0sCi17IDB4MDVhZSwJNCwJezB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjB9IH0sCi17IDB4MDViMiwJMSwJezB4MjJ9IH0sCi17IDB4MDViMywJMTYsCXsweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweGMwfSB9LAoteyAweDA1YzMsCTE2LAl7MHhkMCwgMHhjMCwgMHgwMCwgMHhjMCwgMHgwMSwgMHhjMCwgMHgwMiwgMHhjMCwgMHgwMywgMHhjMCwgMHgwNiwgMHhjMCwgMHgwNywgMHg5MCwgMHg3ZiwgMHhhNX0gfSwKLXsgMHgwNWQzLAkxNiwJezB4ZTAsIDB4MzAsIDB4ZTIsIDB4MDYsIDB4NzUsIDB4MGQsIDB4MDYsIDB4MDIsIDB4MDYsIDB4N2YsIDB4OTAsIDB4N2YsIDB4YTUsIDB4ZTAsIDB4MjAsIDB4ZTF9IH0sCi17IDB4MDVlMywJMTYsCXsweDBjLCAweGU1LCAweDBkLCAweDY0LCAweDAyLCAweDYwLCAweDA2LCAweDc1LCAweDBkLCAweDA3LCAweDAyLCAweDA2LCAweDdmLCAweGFmLCAweDBkLCAweGVmfSB9LAoteyAweDA1ZjMsCTE2LAl7MHgyNCwgMHhmZSwgMHg2MCwgMHg0OCwgMHgxNCwgMHg2MCwgMHgyYywgMHgyNCwgMHhmZSwgMHg2MCwgMHg3NywgMHgyNCwgMHgwNCwgMHg2MCwgMHgwMywgMHgwMn0gfSwKLXsgMHgwNjAzLAkxNiwJezB4MDYsIDB4N2YsIDB4YWIsIDB4MDksIDB4YWEsIDB4MGEsIDB4YTksIDB4MGIsIDB4YWYsIDB4MGMsIDB4MDUsIDB4MGMsIDB4OGYsIDB4ODIsIDB4NzUsIDB4ODN9IH0sCi17IDB4MDYxMywJMTYsCXsweDAwLCAweDEyLCAweDA3LCAweDg1LCAweDkwLCAweDdmLCAweGE2LCAweGYwLCAweGU1LCAweDBjLCAweDY1LCAweDA4LCAweDcwLCAweDVlLCAweDc1LCAweDBkfSB9LAoteyAweDA2MjMsCTE2LAl7MHgwNSwgMHg4MCwgMHg1OSwgMHg5MCwgMHg3ZiwgMHhhNiwgMHhlMCwgMHhhYiwgMHgwOSwgMHhhYSwgMHgwYSwgMHhhOSwgMHgwYiwgMHhhZSwgMHgwYywgMHg4ZX0gfSwKLXsgMHgwNjMzLAkxNiwJezB4ODIsIDB4NzUsIDB4ODMsIDB4MDAsIDB4MTIsIDB4MDcsIDB4YjIsIDB4NzUsIDB4MGQsIDB4MDIsIDB4ODAsIDB4NDAsIDB4ZTUsIDB4MDgsIDB4MjQsIDB4ZmV9IH0sCi17IDB4MDY0MywJMTYsCXsweGI1LCAweDBjLCAweDA3LCAweDkwLCAweDdmLCAweGE1LCAweGUwLCAweDQ0LCAweDIwLCAweGYwLCAweGU1LCAweDA4LCAweDE0LCAweGI1LCAweDBjLCAweDBhfSB9LAoteyAweDA2NTMsCTE2LAl7MHg5MCwgMHg3ZiwgMHhhNSwgMHhlMCwgMHg0NCwgMHg0MCwgMHhmMCwgMHhlNCwgMHhmNSwgMHgwZCwgMHg5MCwgMHg3ZiwgMHhhNiwgMHhlMCwgMHhhYiwgMHgwOX0gfSwKLXsgMHgwNjYzLAkxNiwJezB4YWEsIDB4MGEsIDB4YTksIDB4MGIsIDB4YWUsIDB4MGMsIDB4OGUsIDB4ODIsIDB4NzUsIDB4ODMsIDB4MDAsIDB4MTIsIDB4MDcsIDB4YjIsIDB4MDUsIDB4MGN9IH0sCi17IDB4MDY3MywJMTYsCXsweDgwLCAweDBhLCAweDkwLCAweDdmLCAweGE1LCAweGUwLCAweDQ0LCAweDQwLCAweGYwLCAweGU0LCAweGY1LCAweDBkLCAweDUzLCAweDkxLCAweGRmLCAweGQwfSB9LAoteyAweDA2ODMsCTE2LAl7MHgwNywgMHhkMCwgMHgwNiwgMHhkMCwgMHgwMywgMHhkMCwgMHgwMiwgMHhkMCwgMHgwMSwgMHhkMCwgMHgwMCwgMHhkMCwgMHhkMCwgMHhkMCwgMHg4NiwgMHhkMH0gfSwKLXsgMHgwNjkzLAkxMCwJezB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzJ9IH0sCi17IDB4MDY5ZCwJMTYsCXsweGMyLCAweDA0LCAweGQyLCAweDA1LCAweGU0LCAweGY1LCAweDI1LCAweGMyLCAweDAzLCAweGMyLCAweDAwLCAweGMyLCAweDAyLCAweGMyLCAweDAxLCAweDEyfSB9LAoteyAweDA2YWQsCTE2LAl7MHgwZSwgMHg3NCwgMHhkMiwgMHhlOCwgMHg0MywgMHhkOCwgMHgyMCwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHhmZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhOX0gfSwKLXsgMHgwNmJkLAkxNiwJezB4ZjAsIDB4OTAsIDB4N2YsIDB4YWEsIDB4ZjAsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4OTUsIDB4ZTAsIDB4NDQsIDB4YzAsIDB4ZjAsIDB4OTB9IH0sCi17IDB4MDZjZCwJMTYsCXsweDdmLCAweDkzLCAweDc0LCAweDMwLCAweGYwLCAweDEyLCAweDBhLCAweDE5LCAweDc1LCAweDI0LCAweDQ4LCAweDc1LCAweDIzLCAweDkyLCAweDc1LCAweDIyfSB9LAoteyAweDA2ZGQsCTE2LAl7MHgwMCwgMHg3NSwgMHgyMSwgMHgwMCwgMHhlNCwgMHhmZiwgMHhmZSwgMHg3ZSwgMHgwNSwgMHg5MCwgMHgyMCwgMHg2OCwgMHg3NCwgMHgwMSwgMHhmMCwgMHhhM30gfSwKLXsgMHgwNmVkLAkxNiwJezB4ZGUsIDB4ZmMsIDB4N2UsIDB4MDAsIDB4N2YsIDB4MDUsIDB4OTAsIDB4N2YsIDB4YWYsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWV9IH0sCi17IDB4MDZmZCwJMTYsCXsweGUwLCAweDQ0LCAweDBkLCAweGYwLCAweGQyLCAweGFmLCAweDEyLCAweDBlLCAweDY4LCAweDMwLCAweDAxLCAweDBhLCAweGU0LCAweDkwLCAweDIwLCAweDY5fSB9LAoteyAweDA3MGQsCTE2LAl7MHhmMCwgMHgxMiwgMHgwMywgMHg3ZSwgMHhjMiwgMHgwMSwgMHgzMCwgMHgwNCwgMHgxYSwgMHgxMiwgMHgwZSwgMHg3NywgMHg1MCwgMHgxMywgMHgxMiwgMHgwOX0gfSwKLXsgMHgwNzFkLAkxNiwJezB4MDAsIDB4MzAsIDB4MDAsIDB4MDcsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4MzAsIDB4ZTcsIDB4ZjMsIDB4MTIsIDB4MGQsIDB4OGIsIDB4MTIsIDB4MGV9IH0sCi17IDB4MDcyZCwJMTYsCXsweDc5LCAweGMyLCAweDAzLCAweDdmLCAweGZmLCAweDdlLCAweGZmLCAweDdkLCAweGZmLCAweDdjLCAweGZmLCAweDc4LCAweDIxLCAweDEyLCAweDA4LCAweDFkfSB9LAoteyAweDA3M2QsCTE2LAl7MHg3YiwgMHgwMCwgMHg3YSwgMHgwMCwgMHg3OSwgMHgwMCwgMHg3OCwgMHgwMCwgMHhjMywgMHgxMiwgMHgwOCwgMHgwYywgMHg3MCwgMHgxYiwgMHg3NSwgMHgyNH0gfSwKLXsgMHgwNzRkLAkxNiwJezB4NDgsIDB4NzUsIDB4MjMsIDB4OTIsIDB4ZjUsIDB4MjIsIDB4ZjUsIDB4MjEsIDB4NjMsIDB4MjUsIDB4ZmYsIDB4OTAsIDB4MjAsIDB4NjgsIDB4ZTUsIDB4MjV9IH0sCi17IDB4MDc1ZCwJMTQsCXsweGYwLCAweGEzLCAweDc0LCAweDAxLCAweGYwLCAweGEzLCAweGYwLCAweGEzLCAweGYwLCAweDEyLCAweDA4LCAweGZmLCAweDgwLCAweDlifSB9LAoteyAweDA3NmIsCTEsCXsweDIyfSB9LAoteyAweDA3NmMsCTE2LAl7MHhiYiwgMHgwMSwgMHgwNiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlMCwgMHgyMiwgMHg1MCwgMHgwMiwgMHhlNywgMHgyMiwgMHhiYiwgMHhmZSwgMHgwMn0gfSwKLXsgMHgwNzdjLAk5LAl7MHhlMywgMHgyMiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlNCwgMHg5MywgMHgyMn0gfSwKLXsgMHgwNzg1LAkxNiwJezB4YmIsIDB4MDEsIDB4MGMsIDB4ZTUsIDB4ODIsIDB4MjksIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MjIsIDB4NTB9IH0sCi17IDB4MDc5NSwJMTYsCXsweDA2LCAweGU5LCAweDI1LCAweDgyLCAweGY4LCAweGU2LCAweDIyLCAweGJiLCAweGZlLCAweDA2LCAweGU5LCAweDI1LCAweDgyLCAweGY4LCAweGUyLCAweDIyfSB9LAoteyAweDA3YTUsCTEzLAl7MHhlNSwgMHg4MiwgMHgyOSwgMHhmNSwgMHg4MiwgMHhlNSwgMHg4MywgMHgzYSwgMHhmNSwgMHg4MywgMHhlNCwgMHg5MywgMHgyMn0gfSwKLXsgMHgwN2IyLAkxNiwJezB4ZjgsIDB4YmIsIDB4MDEsIDB4MGQsIDB4ZTUsIDB4ODIsIDB4MjksIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTgsIDB4ZjB9IH0sCi17IDB4MDdjMiwJMTYsCXsweDIyLCAweDUwLCAweDA2LCAweGU5LCAweDI1LCAweDgyLCAweGM4LCAweGY2LCAweDIyLCAweGJiLCAweGZlLCAweDA1LCAweGU5LCAweDI1LCAweDgyLCAweGM4fSB9LAoteyAweDA3ZDIsCTIsCXsweGYyLCAweDIyfSB9LAoteyAweDA3ZDQsCTE2LAl7MHhiYiwgMHgwMSwgMHgxMCwgMHhlNSwgMHg4MiwgMHgyOSwgMHhmNSwgMHg4MiwgMHhlNSwgMHg4MywgMHgzYSwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHhmMH0gfSwKLXsgMHgwN2U0LAkxNiwJezB4YTMsIDB4ZTAsIDB4MjIsIDB4NTAsIDB4MDksIDB4ZTksIDB4MjUsIDB4ODIsIDB4ZjgsIDB4ODYsIDB4ZjAsIDB4MDgsIDB4ZTYsIDB4MjIsIDB4YmIsIDB4ZmV9IH0sCi17IDB4MDdmNCwJMTYsCXsweDBhLCAweGU5LCAweDI1LCAweDgyLCAweGY4LCAweGUyLCAweGY1LCAweGYwLCAweDA4LCAweGUyLCAweDIyLCAweGU1LCAweDgzLCAweDJhLCAweGY1LCAweDgzfSB9LAoteyAweDA4MDQsCTgsCXsweGU5LCAweDkzLCAweGY1LCAweGYwLCAweGEzLCAweGU5LCAweDkzLCAweDIyfSB9LAoteyAweDA4MGMsCTE2LAl7MHhlYiwgMHg5ZiwgMHhmNSwgMHhmMCwgMHhlYSwgMHg5ZSwgMHg0MiwgMHhmMCwgMHhlOSwgMHg5ZCwgMHg0MiwgMHhmMCwgMHhlOCwgMHg5YywgMHg0NSwgMHhmMH0gfSwKLXsgMHgwODFjLAkxLAl7MHgyMn0gfSwKLXsgMHgwODFkLAkxNiwJezB4MDgsIDB4MDgsIDB4MDgsIDB4ZTYsIDB4MmYsIDB4ZmYsIDB4ZjYsIDB4MTgsIDB4ZTYsIDB4M2UsIDB4ZmUsIDB4ZjYsIDB4MTgsIDB4ZTYsIDB4M2QsIDB4ZmR9IH0sCi17IDB4MDgyZCwJNywJezB4ZjYsIDB4MTgsIDB4ZTYsIDB4M2MsIDB4ZmMsIDB4ZjYsIDB4MjJ9IH0sCi17IDB4MDgzNCwJNCwJezB4OGMsIDB4MzQsIDB4OGQsIDB4MzV9IH0sCi17IDB4MDgzOCwJMTYsCXsweDkwLCAweDdmLCAweDk1LCAweGUwLCAweDQ0LCAweGMwLCAweGYwLCAweGU0LCAweGY1LCAweDM2LCAweGY1LCAweDM3LCAweGMzLCAweGU1LCAweDM3LCAweDk1fSB9LAoteyAweDA4NDgsCTE2LAl7MHgzNSwgMHhlNSwgMHgzNiwgMHg5NSwgMHgzNCwgMHg1MCwgMHg2OSwgMHhlZiwgMHgyNSwgMHgzNywgMHhmNSwgMHg4MiwgMHhlNSwgMHgzNiwgMHgzZSwgMHhmNX0gfSwKLXsgMHgwODU4LAkxNiwJezB4ODMsIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4ZjQsIDB4NjAsIDB4MDIsIDB4YzMsIDB4MjIsIDB4ZWYsIDB4MjUsIDB4MzcsIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4MzZ9IH0sCi17IDB4MDg2OCwJMTYsCXsweDNlLCAweGY1LCAweDgzLCAweGU0LCAweGYwLCAweDYwLCAweDAyLCAweGMzLCAweDIyLCAweGVmLCAweDI1LCAweDM3LCAweGY1LCAweDgyLCAweGU1LCAweDM2fSB9LAoteyAweDA4NzgsCTE2LAl7MHgzZSwgMHhmNSwgMHg4MywgMHg3NCwgMHhhYSwgMHhmMCwgMHg2NCwgMHhhYSwgMHg2MCwgMHgwMiwgMHhjMywgMHgyMiwgMHhlZiwgMHgyNSwgMHgzNywgMHhmNX0gfSwKLXsgMHgwODg4LAkxNiwJezB4ODIsIDB4ZTUsIDB4MzYsIDB4M2UsIDB4ZjUsIDB4ODMsIDB4NzQsIDB4NTUsIDB4ZjAsIDB4NjQsIDB4NTUsIDB4NjAsIDB4MDIsIDB4YzMsIDB4MjIsIDB4YWR9IH0sCi17IDB4MDg5OCwJMTYsCXsweDM3LCAweGU1LCAweDM3LCAweDJmLCAweGY1LCAweDgyLCAweGU1LCAweDM2LCAweDNlLCAweGY1LCAweDgzLCAweGVkLCAweGYwLCAweGZjLCAweGFjLCAweDA1fSB9LAoteyAweDA4YTgsCTE2LAl7MHhlZCwgMHg2YywgMHg2MCwgMHgwMiwgMHhjMywgMHgyMiwgMHgwNSwgMHgzNywgMHhlNSwgMHgzNywgMHg3MCwgMHgwMiwgMHgwNSwgMHgzNiwgMHg4MCwgMHg4Y30gfSwKLXsgMHgwOGI4LAkxNiwJezB4ZTQsIDB4ZjUsIDB4MzYsIDB4ZjUsIDB4MzcsIDB4YzMsIDB4ZTUsIDB4MzcsIDB4OTUsIDB4MzUsIDB4ZTUsIDB4MzYsIDB4OTUsIDB4MzQsIDB4NTAsIDB4Mjd9IH0sCi17IDB4MDhjOCwJMTYsCXsweGVmLCAweDI1LCAweDM3LCAweGY1LCAweDgyLCAweGU1LCAweDM2LCAweDNlLCAweGY1LCAweDgzLCAweGUwLCAweDY1LCAweDM3LCAweDYwLCAweDAyLCAweGMzfSB9LAoteyAweDA4ZDgsCTE2LAl7MHgyMiwgMHhlZiwgMHgyNSwgMHgzNywgMHhmNSwgMHg4MiwgMHhlNSwgMHgzNiwgMHgzZSwgMHhmNSwgMHg4MywgMHhlNCwgMHhmMCwgMHgwNSwgMHgzNywgMHhlNX0gfSwKLXsgMHgwOGU4LAk4LAl7MHgzNywgMHg3MCwgMHgwMiwgMHgwNSwgMHgzNiwgMHg4MCwgMHhjZSwgMHhkM30gfSwKLXsgMHgwOGYwLAkxLAl7MHgyMn0gfSwKLXsgMHgwOGYxLAkxNCwJezB4OTAsIDB4N2YsIDB4MDAsIDB4ZTUsIDB4MTAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4ZDMsIDB4MjJ9IH0sCi17IDB4MDhmZiwJMSwJezB4MjJ9IH0sCi17IDB4MDkwMCwJOSwJezB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4ODAsIDB4NzR9IH0sCi17IDB4MDk3ZCwJMTYsCXsweDQzLCAweDg3LCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDIyfSB9LAoteyAweDA5OGQsCTEyLAl7MHg3OCwgMHg3ZiwgMHhlNCwgMHhmNiwgMHhkOCwgMHhmZCwgMHg3NSwgMHg4MSwgMHgzYSwgMHgwMiwgMHgwOSwgMHhkNH0gfSwKLXsgMHgwOTk5LAkxNiwJezB4MDIsIDB4MDYsIDB4OWQsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjgsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4NDAsIDB4MDMsIDB4ZjYsIDB4ODAsIDB4MDEsIDB4ZjJ9IH0sCi17IDB4MDlhOSwJMTYsCXsweDA4LCAweGRmLCAweGY0LCAweDgwLCAweDI5LCAweGU0LCAweDkzLCAweGEzLCAweGY4LCAweDU0LCAweDA3LCAweDI0LCAweDBjLCAweGM4LCAweGMzLCAweDMzfSB9LAoteyAweDA5YjksCTE2LAl7MHhjNCwgMHg1NCwgMHgwZiwgMHg0NCwgMHgyMCwgMHhjOCwgMHg4MywgMHg0MCwgMHgwNCwgMHhmNCwgMHg1NiwgMHg4MCwgMHgwMSwgMHg0NiwgMHhmNiwgMHhkZn0gfSwKLXsgMHgwOWM5LAkxNiwJezB4ZTQsIDB4ODAsIDB4MGIsIDB4MDEsIDB4MDIsIDB4MDQsIDB4MDgsIDB4MTAsIDB4MjAsIDB4NDAsIDB4ODAsIDB4OTAsIDB4MGUsIDB4MmQsIDB4ZTQsIDB4N2V9IH0sCi17IDB4MDlkOSwJMTYsCXsweDAxLCAweDkzLCAweDYwLCAweGJjLCAweGEzLCAweGZmLCAweDU0LCAweDNmLCAweDMwLCAweGU1LCAweDA5LCAweDU0LCAweDFmLCAweGZlLCAweGU0LCAweDkzfSB9LAoteyAweDA5ZTksCTE2LAl7MHhhMywgMHg2MCwgMHgwMSwgMHgwZSwgMHhjZiwgMHg1NCwgMHhjMCwgMHgyNSwgMHhlMCwgMHg2MCwgMHhhOCwgMHg0MCwgMHhiOCwgMHhlNCwgMHg5MywgMHhhM30gfSwKLXsgMHgwOWY5LAkxNiwJezB4ZmEsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjgsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4YzgsIDB4YzUsIDB4ODIsIDB4YzgsIDB4Y2EsIDB4YzUsIDB4ODMsIDB4Y2F9IH0sCi17IDB4MGEwOSwJMTYsCXsweGYwLCAweGEzLCAweGM4LCAweGM1LCAweDgyLCAweGM4LCAweGNhLCAweGM1LCAweDgzLCAweGNhLCAweGRmLCAweGU5LCAweGRlLCAweGU3LCAweDgwLCAweGJlfSB9LAoteyAweDBhMTksCTE2LAl7MHhlNCwgMHg5MCwgMHg3ZiwgMHg5YywgMHhmMCwgMHg3ZiwgMHgwYSwgMHhmZSwgMHgxMiwgMHgwZCwgMHhkNSwgMHg5MCwgMHg3ZiwgMHg5NiwgMHg3NCwgMHg4OX0gfSwKLXsgMHgwYTI5LAkxNiwJezB4ZjAsIDB4OTAsIDB4N2YsIDB4OWMsIDB4NzQsIDB4Y2YsIDB4ZjAsIDB4N2YsIDB4ZjQsIDB4N2UsIDB4MDEsIDB4MTIsIDB4MGQsIDB4ZDUsIDB4OTAsIDB4N2Z9IH0sCi17IDB4MGEzOSwJMTYsCXsweDk2LCAweGUwLCAweDU0LCAweGZlLCAweGYwLCAweDdmLCAweDBhLCAweDdlLCAweDAwLCAweDEyLCAweDBkLCAweGQ1LCAweDdmLCAweDA1LCAweDdlLCAweDAwfSB9LAoteyAweDBhNDksCTE2LAl7MHgxMiwgMHgwZCwgMHhkNSwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHhlMCwgMHg1NCwgMHg3ZiwgMHhmMCwgMHg3ZiwgMHgwNX0gfSwKLXsgMHgwYTU5LAkxNiwJezB4N2UsIDB4MDAsIDB4MTIsIDB4MGQsIDB4ZDUsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjAsIDB4N2YsIDB4MDUsIDB4N2UsIDB4MDB9IH0sCi17IDB4MGE2OSwJMTYsCXsweDEyLCAweDBkLCAweGQ1LCAweDkwLCAweDdmLCAweDk2LCAweGUwLCAweDU0LCAweGJmLCAweGYwLCAweDdmLCAweDMyLCAweDdlLCAweDAwLCAweDEyLCAweDBkfSB9LAoteyAweDBhNzksCTE2LAl7MHhkNSwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhlMCwgMHg0NCwgMHg0MCwgMHhmMCwgMHg3ZiwgMHgzMiwgMHg3ZSwgMHgwMCwgMHgxMiwgMHgwZCwgMHhkNSwgMHgyMn0gfSwKLXsgMHgwYTg5LAkxNiwJezB4NzUsIDB4MzMsIDB4MDEsIDB4ZTUsIDB4MzMsIDB4NjAsIDB4MWIsIDB4N2YsIDB4MDEsIDB4MTIsIDB4MGUsIDB4MTgsIDB4N2YsIDB4MDAsIDB4N2UsIDB4MGV9IH0sCi17IDB4MGE5OSwJMTYsCXsweDdkLCAweDAwLCAweDdjLCAweDAxLCAweDEyLCAweDA4LCAweDM0LCAweGU0LCAweDMzLCAweGY1LCAweDMzLCAweDcwLCAweDA1LCAweDdmLCAweDBmLCAweDEyfSB9LAoteyAweDBhYTksCTE2LAl7MHgwZSwgMHgxOCwgMHhlNSwgMHgzMywgMHg2MCwgMHgxYiwgMHg3ZiwgMHgwMiwgMHgxMiwgMHgwZSwgMHgxOCwgMHg3ZiwgMHgwMCwgMHg3ZSwgMHg4MCwgMHg3ZH0gfSwKLXsgMHgwYWI5LAkxNiwJezB4MDAsIDB4N2MsIDB4ODAsIDB4MTIsIDB4MDgsIDB4MzQsIDB4ZTQsIDB4MzMsIDB4ZjUsIDB4MzMsIDB4NzAsIDB4MDUsIDB4N2YsIDB4MGYsIDB4MTIsIDB4MGV9IH0sCi17IDB4MGFjOSwJMTYsCXsweDE4LCAweGU1LCAweDMzLCAweDYwLCAweDFiLCAweDdmLCAweDAzLCAweDEyLCAweDBlLCAweDE4LCAweDdmLCAweDAwLCAweDdlLCAweDIwLCAweDdkLCAweDQwfSB9LAoteyAweDBhZDksCTE2LAl7MHg3YywgMHg1YiwgMHgxMiwgMHgwOCwgMHgzNCwgMHhlNCwgMHgzMywgMHhmNSwgMHgzMywgMHg3MCwgMHgwNSwgMHg3ZiwgMHgwZiwgMHgxMiwgMHgwZSwgMHgxOH0gfSwKLXsgMHgwYWU5LAkxMywJezB4ZTUsIDB4MzMsIDB4NjAsIDB4MDUsIDB4ZTQsIDB4ZmYsIDB4MTIsIDB4MGUsIDB4MTgsIDB4ZTUsIDB4MzMsIDB4MjQsIDB4ZmZ9IH0sCi17IDB4MGFmNiwJMSwJezB4MjJ9IH0sCi17IDB4MGFmNywJOCwJezB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4ZjUsIDB4MTAsIDB4ZDMsIDB4MjJ9IH0sCi17IDB4MGFmZiwJMSwJezB4MzJ9IH0sCi17IDB4MGIwMCwJMTYsCXsweDAyLCAweDBkLCAweGE1LCAweDAwLCAweDAyLCAweDBkLCAweGVjLCAweDAwLCAweDAyLCAweDBkLCAweDcwLCAweDAwLCAweDAyLCAweDBkLCAweGJkLCAweDAwfSB9LAoteyAweDBiMTAsCTE2LAl7MHgwMiwgMHgwZSwgMHgwMiwgMHgwMCwgMHgwMiwgMHgwYSwgMHhmZiwgMHgwMCwgMHgwMiwgMHgwZSwgMHg4MywgMHgwMCwgMHgwMiwgMHgwZSwgMHg4NCwgMHgwMH0gfSwKLXsgMHgwYjIwLAkxNiwJezB4MDIsIDB4MGUsIDB4ODUsIDB4MDAsIDB4MDIsIDB4MGUsIDB4ODYsIDB4MDAsIDB4MDIsIDB4MGUsIDB4ODcsIDB4MDAsIDB4MDIsIDB4MGUsIDB4ODgsIDB4MDB9IH0sCi17IDB4MGIzMCwJMTYsCXsweDAyLCAweDBlLCAweDg5LCAweDAwLCAweDAyLCAweDBlLCAweDhhLCAweDAwLCAweDAyLCAweDBlLCAweDhiLCAweDAwLCAweDAyLCAweDBlLCAweDhjLCAweDAwfSB9LAoteyAweDBiNDAsCTE2LAl7MHgwMiwgMHgwZSwgMHg4ZCwgMHgwMCwgMHgwMiwgMHgwZSwgMHg4ZSwgMHgwMCwgMHgwMiwgMHgwZSwgMHg4ZiwgMHgwMCwgMHgwMiwgMHgwZSwgMHg5MCwgMHgwMH0gfSwKLXsgMHgwYjUwLAk4LAl7MHgwMiwgMHgwZSwgMHg5MSwgMHgwMCwgMHgwMiwgMHgwZSwgMHg5MiwgMHgwMH0gfSwKLXsgMHgwYjU4LAkxNiwJezB4ZTQsIDB4ZmUsIDB4NzUsIDB4MmIsIDB4ZmYsIDB4NzUsIDB4MmMsIDB4MTEsIDB4NzUsIDB4MmQsIDB4MTIsIDB4YWIsIDB4MmIsIDB4YWEsIDB4MmMsIDB4YTl9IH0sCi17IDB4MGI2OCwJMTYsCXsweDJkLCAweDkwLCAweDAwLCAweDAxLCAweDEyLCAweDA3LCAweDg1LCAweDY0LCAweDAyLCAweDcwLCAweDJkLCAweGFkLCAweDA2LCAweDBlLCAweGVkLCAweGI1fSB9LAoteyAweDBiNzgsCTE2LAl7MHgwNywgMHgwMSwgMHgyMiwgMHg5MCwgMHgwMCwgMHgwMiwgMHgxMiwgMHgwNywgMHhkNCwgMHg4NSwgMHhmMCwgMHgyOSwgMHhmNSwgMHgyYSwgMHg2MiwgMHgyOX0gfSwKLXsgMHgwYjg4LAkxNiwJezB4ZTUsIDB4MjksIDB4NjIsIDB4MmEsIDB4ZTUsIDB4MmEsIDB4NjIsIDB4MjksIDB4MjksIDB4ZmQsIDB4ZTUsIDB4MjksIDB4M2EsIDB4YTksIDB4MDUsIDB4NzV9IH0sCi17IDB4MGI5OCwJMTQsCXsweDJiLCAweGZmLCAweGY1LCAweDJjLCAweDg5LCAweDJkLCAweDgwLCAweGMzLCAweDdiLCAweDAwLCAweDdhLCAweDAwLCAweDc5LCAweDAwfSB9LAoteyAweDBiYTYsCTEsCXsweDIyfSB9LAoteyAweDBiYTcsCTYsCXsweGFiLCAweDA3LCAweGFhLCAweDA2LCAweGFjLCAweDA1fSB9LAoteyAweDBiYWQsCTE2LAl7MHhlNCwgMHhmZCwgMHhlNSwgMHgxMSwgMHg2MCwgMHgxMSwgMHhlYSwgMHhmZiwgMHhhZSwgMHgwNSwgMHgwZCwgMHhlZSwgMHgyNCwgMHgxMCwgMHhmNSwgMHg4Mn0gfSwKLXsgMHgwYmJkLAkxNiwJezB4ZTQsIDB4MzQsIDB4MGYsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4ZWIsIDB4YWUsIDB4MDUsIDB4MGQsIDB4NzQsIDB4MTAsIDB4MmUsIDB4ZjUsIDB4ODJ9IH0sCi17IDB4MGJjZCwJMTYsCXsweGU0LCAweDM0LCAweDBmLCAweGY1LCAweDgzLCAweGViLCAweGYwLCAweGFmLCAweDA1LCAweDBkLCAweDc0LCAweDEwLCAweDJmLCAweGY1LCAweDgyLCAweGU0fSB9LAoteyAweDBiZGQsCTE2LAl7MHgzNCwgMHgwZiwgMHhmNSwgMHg4MywgMHhlYywgMHhmMCwgMHhhZiwgMHgwZiwgMHg3YSwgMHgwZiwgMHg3YiwgMHgxMCwgMHgxMiwgMHgwZCwgMHg1MSwgMHg3Zn0gfSwKLXsgMHgwYmVkLAk2LAl7MHgwYSwgMHg3ZSwgMHgwMCwgMHgxMiwgMHgwZCwgMHhkNX0gfSwKLXsgMHgwYmYzLAkxLAl7MHgyMn0gfSwKLXsgMHgwYmY0LAkxMCwJezB4OGUsIDB4MzMsIDB4OGYsIDB4MzQsIDB4OGQsIDB4MzUsIDB4OGEsIDB4MzYsIDB4OGIsIDB4Mzd9IH0sCi17IDB4MGJmZSwJMTYsCXsweGU0LCAweGZkLCAweGY1LCAweDM4LCAweGU1LCAweDExLCAweDYwLCAweDEyLCAweGU1LCAweDMzLCAweGZmLCAweGFlLCAweDA1LCAweDBkLCAweGVlLCAweDI0fSB9LAoteyAweDBjMGUsCTE2LAl7MHgxMywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgwZiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHhlNSwgMHgzNCwgMHhhZSwgMHgwNSwgMHgwZCwgMHg3NH0gfSwKLXsgMHgwYzFlLAkxNiwJezB4MTMsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MGYsIDB4ZjUsIDB4ODMsIDB4ZTUsIDB4MzQsIDB4ZjAsIDB4YWYsIDB4MGYsIDB4N2EsIDB4MGZ9IH0sCi17IDB4MGMyZSwJMTYsCXsweDdiLCAweDEzLCAweDEyLCAweDBkLCAweDUxLCAweGFmLCAweDBmLCAweGFkLCAweDM1LCAweGFiLCAweDM3LCAweGFhLCAweDM2LCAweDEyLCAweDBkLCAweDMyfSB9LAoteyAweDBjM2UsCTEsCXsweDIyfSB9LAoteyAweDBjM2YsCTIsCXsweDhmLCAweDI5fSB9LAoteyAweDBjNDEsCTE2LAl7MHhlNCwgMHhmNSwgMHgyYSwgMHg3NSwgMHgyYiwgMHhmZiwgMHg3NSwgMHgyYywgMHgxMSwgMHg3NSwgMHgyZCwgMHgzMiwgMHhhYiwgMHgyYiwgMHhhYSwgMHgyY30gfSwKLXsgMHgwYzUxLAkxNiwJezB4YTksIDB4MmQsIDB4OTAsIDB4MDAsIDB4MDEsIDB4MTIsIDB4MDcsIDB4ODUsIDB4YjQsIDB4MDMsIDB4MWQsIDB4YWYsIDB4MmEsIDB4MDUsIDB4MmEsIDB4ZWZ9IH0sCi17IDB4MGM2MSwJMTYsCXsweGI1LCAweDI5LCAweDAxLCAweDIyLCAweDEyLCAweDA3LCAweDZjLCAweDdlLCAweDAwLCAweDI5LCAweGZmLCAweGVlLCAweDNhLCAweGE5LCAweDA3LCAweDc1fSB9LAoteyAweDBjNzEsCTE0LAl7MHgyYiwgMHhmZiwgMHhmNSwgMHgyYywgMHg4OSwgMHgyZCwgMHg4MCwgMHhkNCwgMHg3YiwgMHgwMCwgMHg3YSwgMHgwMCwgMHg3OSwgMHgwMH0gfSwKLXsgMHgwYzdmLAkxLAl7MHgyMn0gfSwKLXsgMHgwYzgwLAkxMCwJezB4OGUsIDB4MzMsIDB4OGYsIDB4MzQsIDB4OGQsIDB4MzUsIDB4OGEsIDB4MzYsIDB4OGIsIDB4Mzd9IH0sCi17IDB4MGM4YSwJMTYsCXsweGU0LCAweGY1LCAweDM4LCAweGU1LCAweDM4LCAweGMzLCAweDk1LCAweDM1LCAweDUwLCAweDIwLCAweDA1LCAweDM0LCAweGU1LCAweDM0LCAweGFlLCAweDMzfSB9LAoteyAweDBjOWEsCTE2LAl7MHg3MCwgMHgwMiwgMHgwNSwgMHgzMywgMHgxNCwgMHhmZiwgMHhlNSwgMHgzNywgMHgyNSwgMHgzOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgzNiwgMHhmNX0gfSwKLXsgMHgwY2FhLAkxMCwJezB4ODMsIDB4ZTAsIDB4ZmQsIDB4MTIsIDB4MGIsIDB4YTcsIDB4MDUsIDB4MzgsIDB4ODAsIDB4ZDl9IH0sCi17IDB4MGNiNCwJMSwJezB4MjJ9IH0sCi17IDB4MGNiNSwJMTYsCXsweGE5LCAweDA3LCAweGU1LCAweDBkLCAweDcwLCAweDI1LCAweDkwLCAweDdmLCAweGE1LCAweGUwLCAweDQ0LCAweDgwLCAweGYwLCAweGU5LCAweDI1LCAweGUwfSB9LAoteyAweDBjYzUsCTE2LAl7MHg0NCwgMHgwMSwgMHg5MCwgMHg3ZiwgMHhhNiwgMHhmMCwgMHg4ZCwgMHgwOCwgMHhhZiwgMHgwMywgMHhhOSwgMHgwNywgMHg3NSwgMHgwOSwgMHgwMSwgMHg4YX0gfSwKLXsgMHgwY2Q1LAkxMywJezB4MGEsIDB4ODksIDB4MGIsIDB4ZTQsIDB4ZjUsIDB4MGMsIDB4NzUsIDB4MGQsIDB4MDMsIDB4ZDMsIDB4MjIsIDB4YzMsIDB4MjJ9IH0sCi17IDB4MGNlMiwJMTYsCXsweGE5LCAweDA3LCAweGU1LCAweDBkLCAweDcwLCAweDIzLCAweDkwLCAweDdmLCAweGE1LCAweGUwLCAweDQ0LCAweDgwLCAweGYwLCAweGU5LCAweDI1LCAweGUwfSB9LAoteyAweDBjZjIsCTE2LAl7MHg5MCwgMHg3ZiwgMHhhNiwgMHhmMCwgMHg4ZCwgMHgwOCwgMHhhZiwgMHgwMywgMHhhOSwgMHgwNywgMHg3NSwgMHgwOSwgMHgwMSwgMHg4YSwgMHgwYSwgMHg4OX0gfSwKLXsgMHgwZDAyLAkxMSwJezB4MGIsIDB4ZTQsIDB4ZjUsIDB4MGMsIDB4NzUsIDB4MGQsIDB4MDEsIDB4ZDMsIDB4MjIsIDB4YzMsIDB4MjJ9IH0sCi17IDB4MGQwZCwJMTYsCXsweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDU0LCAweGZiLCAweGYwLCAweGUwLCAweDQ0LCAweDA4LCAweGYwLCAweDMwLCAweDA2LCAweDA0LCAweGUwLCAweDQ0fSB9LAoteyAweDBkMWQsCTE2LAl7MHgwMiwgMHhmMCwgMHg3ZiwgMHhkMCwgMHg3ZSwgMHgwNywgMHgxMiwgMHgwZCwgMHhkNSwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg1NCwgMHhmNywgMHhmMH0gfSwKLXsgMHgwZDJkLAk1LAl7MHhlMCwgMHg0NCwgMHgwNCwgMHhmMCwgMHgyMn0gfSwKLXsgMHgwZDMyLAkxNiwJezB4MTIsIDB4MGMsIDB4YjUsIDB4ZTUsIDB4MGQsIDB4MjQsIDB4ZmEsIDB4NjAsIDB4MTAsIDB4MTQsIDB4NjAsIDB4MDcsIDB4MjQsIDB4MDcsIDB4NzAsIDB4ZjN9IH0sCi17IDB4MGQ0MiwJMTUsCXsweDdmLCAweDA4LCAweDIyLCAweGU0LCAweGY1LCAweDBkLCAweDdmLCAweDA3LCAweDIyLCAweGU0LCAweGY1LCAweDBkLCAweDdmLCAweDA2LCAweDIyfSB9LAoteyAweDBkNTEsCTE2LAl7MHgxMiwgMHgwYywgMHhlMiwgMHhlNSwgMHgwZCwgMHgyNCwgMHhmYSwgMHg2MCwgMHgxMCwgMHgxNCwgMHg2MCwgMHgwNywgMHgyNCwgMHgwNywgMHg3MCwgMHhmM30gfSwKLXsgMHgwZDYxLAkxNSwJezB4N2YsIDB4MDgsIDB4MjIsIDB4ZTQsIDB4ZjUsIDB4MGQsIDB4N2YsIDB4MDcsIDB4MjIsIDB4ZTQsIDB4ZjUsIDB4MGQsIDB4N2YsIDB4MDYsIDB4MjJ9IH0sCi17IDB4MGQ3MCwJMTYsCXsweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweDkwLCAweDdmLCAweGM0LCAweGU0LCAweGYwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmfSB9LAoteyAweDBkODAsCTExLAl7MHhhYiwgMHg3NCwgMHgwNCwgMHhmMCwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMn0gfSwKLXsgMHgwZDhiLAkxNiwJezB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4MzAsIDB4ZTcsIDB4MTIsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4N2YsIDB4MTQsIDB4N2UsIDB4MDAsIDB4MTJ9IH0sCi17IDB4MGQ5YiwJMTAsCXsweDBkLCAweGQ1LCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDU0LCAweGZlLCAweGYwLCAweDIyfSB9LAoteyAweDBkYTUsCTE2LAl7MHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhkMiwgMHgwMSwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwMX0gfSwKLXsgMHgwZGI1LAk4LAl7MHhmMCwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMn0gfSwKLXsgMHgwZGJkLAkxNiwJezB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4ZDIsIDB4MDMsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDh9IH0sCi17IDB4MGRjZCwJOCwJezB4ZjAsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzJ9IH0sCi17IDB4MGRkNSwJMTYsCXsweDhlLCAweDM5LCAweDhmLCAweDNhLCAweGU1LCAweDNhLCAweDE1LCAweDNhLCAweGFlLCAweDM5LCAweDcwLCAweDAyLCAweDE1LCAweDM5LCAweDRlLCAweDYwfSB9LAoteyAweDBkZTUsCTcsCXsweDA1LCAweDEyLCAweDBlLCAweDQxLCAweDgwLCAweGVlLCAweDIyfSB9LAoteyAweDBkZWMsCTE2LAl7MHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwMiwgMHhmMCwgMHhkMH0gfSwKLXsgMHgwZGZjLAk2LAl7MHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMn0gfSwKLXsgMHgwZTAyLAkxNiwJezB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4ZDB9IH0sCi17IDB4MGUxMiwJNiwJezB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzJ9IH0sCi17IDB4MGUxOCwJMTYsCXsweGFlLCAweDA3LCAweDdmLCAweDIxLCAweDdkLCAweDAxLCAweDc0LCAweDAwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDBmLCAweGFiLCAweDgyfSB9LAoteyAweDBlMjgsCTUsCXsweGZhLCAweDEyLCAweDBkLCAweDUxLCAweDIyfSB9LAoteyAweDBlMmQsCTE2LAl7MHg1MCwgMHgwZiwgMHgwMCwgMHhjMCwgMHhmOSwgMHhhNCwgMHhiMCwgMHg5OSwgMHg5MiwgMHg4MiwgMHhmOCwgMHg4MCwgMHg5OCwgMHg4OCwgMHg4MywgMHhjNn0gfSwKLXsgMHgwZTNkLAkzLAl7MHhhMSwgMHg4NiwgMHg4ZX0gfSwKLXsgMHgwZTQwLAkxLAl7MHgwMH0gfSwKLXsgMHgwZTQxLAkxNiwJezB4NzQsIDB4MDAsIDB4ZjUsIDB4ODYsIDB4OTAsIDB4ZmQsIDB4YTUsIDB4N2MsIDB4MDUsIDB4YTMsIDB4ZTUsIDB4ODIsIDB4NDUsIDB4ODMsIDB4NzAsIDB4Zjl9IH0sCi17IDB4MGU1MSwJMSwJezB4MjJ9IH0sCi17IDB4MGU1MiwJMTQsCXsweDkwLCAweDdmLCAweDAwLCAweGU1LCAweDBlLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAxLCAweGYwLCAweGQzLCAweDIyfSB9LAoteyAweDBlNjAsCTgsCXsweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGY1LCAweDBlLCAweGQzLCAweDIyfSB9LAoteyAweDBlNjgsCTgsCXsweGU0LCAweGY1LCAweDBkLCAweGQyLCAweGU5LCAweGQyLCAweGFmLCAweDIyfSB9LAoteyAweDBlNzAsCTQsCXsweDUzLCAweGQ4LCAweGVmLCAweDMyfSB9LAoteyAweDBlNzQsCTMsCXsweGQyLCAweDAwLCAweDIyfSB9LAoteyAweDBlNzcsCTIsCXsweGQzLCAweDIyfSB9LAoteyAweDBlNzksCTIsCXsweGQzLCAweDIyfSB9LAoteyAweDBlN2IsCTIsCXsweGQzLCAweDIyfSB9LAoteyAweDBlN2QsCTIsCXsweGQzLCAweDIyfSB9LAoteyAweDBlN2YsCTIsCXsweGQzLCAweDIyfSB9LAoteyAweDBlODEsCTIsCXsweGQzLCAweDIyfSB9LAoteyAweDBlODMsCTEsCXsweDMyfSB9LAoteyAweDBlODQsCTEsCXsweDMyfSB9LAoteyAweDBlODUsCTEsCXsweDMyfSB9LAoteyAweDBlODYsCTEsCXsweDMyfSB9LAoteyAweDBlODcsCTEsCXsweDMyfSB9LAoteyAweDBlODgsCTEsCXsweDMyfSB9LAoteyAweDBlODksCTEsCXsweDMyfSB9LAoteyAweDBlOGEsCTEsCXsweDMyfSB9LAoteyAweDBlOGIsCTEsCXsweDMyfSB9LAoteyAweDBlOGMsCTEsCXsweDMyfSB9LAoteyAweDBlOGQsCTEsCXsweDMyfSB9LAoteyAweDBlOGUsCTEsCXsweDMyfSB9LAoteyAweDBlOGYsCTEsCXsweDMyfSB9LAoteyAweDBlOTAsCTEsCXsweDMyfSB9LAoteyAweDBlOTEsCTEsCXsweDMyfSB9LAoteyAweDBlOTIsCTEsCXsweDMyfSB9LAoteyAweDExMDAsCTE2LAl7MHgxMiwgMHgwMSwgMHgwMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHg0MCwgMHg0NywgMHgwNSwgMHgxMCwgMHgyNywgMHgwMSwgMHgwMCwgMHgwMSwgMHgwMn0gfSwKLXsgMHgxMTEwLAkxNiwJezB4MDAsIDB4MDEsIDB4MDksIDB4MDIsIDB4MjAsIDB4MDAsIDB4MDEsIDB4MDEsIDB4MDMsIDB4YTAsIDB4MDAsIDB4MDksIDB4MDQsIDB4MDAsIDB4MDAsIDB4MDJ9IH0sCi17IDB4MTEyMCwJMTYsCXsweGZmLCAweDAwLCAweDAwLCAweDA0LCAweDA3LCAweDA1LCAweDgyLCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAyLCAweDAyLCAweDQwfSB9LAoteyAweDExMzAsCTE2LAl7MHgwMCwgMHgwMCwgMHgwNCwgMHgwMywgMHgwOSwgMHgwNCwgMHgyNiwgMHgwMywgMHg0MSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2MywgMHgwMCwgMHg2OCwgMHgwMH0gfSwKLXsgMHgxMTQwLAkxNiwJezB4NmYsIDB4MDAsIDB4NzIsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NDMsIDB4MDAsIDB4NjgsIDB4MDAsIDB4NjksIDB4MDAsIDB4NzAsIDB4MDAsIDB4NzMsIDB4MDB9IH0sCi17IDB4MTE1MCwJMTYsCXsweDJjLCAweDAwLCAweDIwLCAweDAwLCAweDQ5LCAweDAwLCAweDZlLCAweDAwLCAweDYzLCAweDAwLCAweDJlLCAweDAwLCAweDI4LCAweDAzLCAweDQ2LCAweDAwfSB9LAoteyAweDExNjAsCTE2LAl7MHg2OSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2ZCwgMHgwMCwgMHg3NywgMHgwMCwgMHg2MSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2NSwgMHgwMCwgMHgyMCwgMHgwMH0gfSwKLXsgMHgxMTcwLAkxNiwJezB4NDYsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjEsIDB4MDAsIDB4NmQsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NTcsIDB4MDAsIDB4NmYsIDB4MDAsIDB4NzIsIDB4MDB9IH0sCi17IDB4MTE4MCwJMTYsCXsweDZiLCAweDAwLCAweDczLCAweDAwLCAweDJhLCAweDAzLCAweDQzLCAweDAwLCAweDZmLCAweDAwLCAweDZlLCAweDAwLCAweDY2LCAweDAwLCAweDY5LCAweDAwfSB9LAoteyAweDExOTAsCTE2LAl7MHg2NywgMHgwMCwgMHg3NSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2MSwgMHgwMCwgMHg3NCwgMHgwMCwgMHg2OSwgMHgwMCwgMHg2ZiwgMHgwMCwgMHg2ZSwgMHgwMH0gfSwKLXsgMHgxMWEwLAkxNiwJezB4MjAsIDB4MDAsIDB4NTMsIDB4MDAsIDB4NzQsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjksIDB4MDAsIDB4NmUsIDB4MDAsIDB4NjcsIDB4MDAsIDB4MjIsIDB4MDN9IH0sCi17IDB4MTFiMCwJMTYsCXsweDQ5LCAweDAwLCAweDZlLCAweDAwLCAweDc0LCAweDAwLCAweDY1LCAweDAwLCAweDcyLCAweDAwLCAweDY2LCAweDAwLCAweDYxLCAweDAwLCAweDYzLCAweDAwfSB9LAoteyAweDExYzAsCTE2LAl7MHg2NSwgMHgwMCwgMHgyMCwgMHgwMCwgMHg1MywgMHgwMCwgMHg3NCwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2OSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2NywgMHgwMH0gfSwKLXsgMHgxMWQwLAkyLAl7MHgwMCwgMHgwMH0gfSwKLXsgMHhmZmZmLAkwLAl7MHgwMH0gfQotfTsKLQotI2Vsc2UKLQotc3RhdGljIGNvbnN0IHN0cnVjdCB3aGl0ZWhlYXRfaGV4X3JlY29yZCB3aGl0ZWhlYXRfbG9hZGVyW10gPSB7Ci17IDB4MDAwMCwJMywJezB4MDIsIDB4MDksIDB4OGR9IH0sCi17IDB4MDAzMywJMywJezB4MDIsIDB4MDgsIDB4ZmJ9IH0sCi17IDB4MDA0MywJMywJezB4MDIsIDB4MGIsIDB4MDB9IH0sCi17IDB4MDA0YiwJMywJezB4MDIsIDB4MDUsIDB4YWF9IH0sCi17IDB4MDEwMCwJMTYsCXsweDkwLCAweDdmLCAweGE1LCAweGUwLCAweDU0LCAweDEwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweDQ0LCAweDUwLCAweGY1LCAweDBmLCAweDEzLCAweGU0fSB9LAoteyAweDAxMTAsCTE2LAl7MHgzMywgMHhmNSwgMHgxMSwgMHg5MCwgMHg3ZiwgMHhlOSwgMHhlMCwgMHgyNCwgMHg1ZSwgMHhiNCwgMHgwNywgMHgwMCwgMHg0MCwgMHgwMywgMHgwMiwgMHgwM30gfSwKLXsgMHgwMTIwLAkxNiwJezB4NzgsIDB4OTAsIDB4MDEsIDB4MjgsIDB4ZjgsIDB4MjgsIDB4MjgsIDB4NzMsIDB4MDIsIDB4MDEsIDB4YmMsIDB4MDIsIDB4MDEsIDB4YmMsIDB4MDIsIDB4MDF9IH0sCi17IDB4MDEzMCwJMTYsCXsweDkxLCAweDAyLCAweDAxLCAweDNkLCAweDAyLCAweDAxLCAweDUzLCAweDAyLCAweDAxLCAweDZmLCAweDAyLCAweDAxLCAweDlhLCAweDkwLCAweDdmLCAweDAwfSB9LAoteyAweDAxNDAsCTE2LAl7MHhlNSwgMHgxMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMH0gfSwKLXsgMHgwMTUwLAkxNiwJezB4MDIsIDB4MDMsIDB4NzgsIDB4OTAsIDB4N2YsIDB4OTIsIDB4ZTAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZjAsIDB4OTB9IH0sCi17IDB4MDE2MCwJMTYsCXsweDdmLCAweGI1LCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDAyLCAweDAzLCAweDc4LCAweDEyfSB9LAoteyAweDAxNzAsCTE2LAl7MHgwYSwgMHg4OSwgMHg1MCwgMHgwNywgMHhlNCwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhmMCwgMHg4MCwgMHgwNiwgMHg5MCwgMHg3ZiwgMHgwMCwgMHg3NCwgMHgwZn0gfSwKLXsgMHgwMTgwLAkxNiwJezB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MDN9IH0sCi17IDB4MDE5MCwJMTYsCXsweDc4LCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGY1LCAweDBmLCAweDAyLCAweDAzLCAweDc4LCAweDkwLCAweDdmLCAweDAwLCAweDc0LCAweDA3LCAweGYwfSB9LAoteyAweDAxYTAsCTE2LAl7MHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHg3ZiwgMHhlOCwgMHg3ZX0gfSwKLXsgMHgwMWIwLAkxNiwJezB4MDMsIDB4MTIsIDB4MGQsIDB4OTQsIDB4ZDIsIDB4MDYsIDB4MTIsIDB4MGMsIDB4Y2MsIDB4MDIsIDB4MDMsIDB4NzgsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTB9IH0sCi17IDB4MDFjMCwJMTYsCXsweDc1LCAweDI4LCAweDAwLCAweGY1LCAweDI5LCAweGEzLCAweGUwLCAweGZlLCAweGU0LCAweGVlLCAweDQyLCAweDI4LCAweDkwLCAweDdmLCAweGVlLCAweGUwfSB9LAoteyAweDAxZDAsCTE2LAl7MHg3NSwgMHgyYSwgMHgwMCwgMHhmNSwgMHgyYiwgMHhhMywgMHhlMCwgMHhmZSwgMHhlNCwgMHhlZSwgMHg0MiwgMHgyYSwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMH0gfSwKLXsgMHgwMWUwLAkxNiwJezB4NjQsIDB4YzAsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MDIsIDB4YzksIDB4ZTUsIDB4MmIsIDB4NDUsIDB4MmEsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MDMsIDB4Nzh9IH0sCi17IDB4MDFmMCwJMTYsCXsweGMzLCAweGU1LCAweDJiLCAweDk0LCAweDQwLCAweGU1LCAweDJhLCAweDk0LCAweDAwLCAweDUwLCAweDA4LCAweDg1LCAweDJhLCAweDJjLCAweDg1LCAweDJifSB9LAoteyAweDAyMDAsCTE2LAl7MHgyZCwgMHg4MCwgMHgwNiwgMHg3NSwgMHgyYywgMHgwMCwgMHg3NSwgMHgyZCwgMHg0MCwgMHg5MCwgMHg3ZiwgMHhlOSwgMHhlMCwgMHg2NCwgMHhhMywgMHg3MH0gfSwKLXsgMHgwMjEwLAkxNiwJezB4MzQsIDB4ZjUsIDB4MzAsIDB4ZjUsIDB4MzEsIDB4YzMsIDB4ZTUsIDB4MzEsIDB4OTUsIDB4MmQsIDB4ZTUsIDB4MzAsIDB4OTUsIDB4MmMsIDB4NTAsIDB4NWN9IH0sCi17IDB4MDIyMCwJMTYsCXsweGU1LCAweDI5LCAweDI1LCAweDMxLCAweGY1LCAweDgyLCAweGU1LCAweDMwLCAweDM1LCAweDI4LCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweDc0LCAweDAwfSB9LAoteyAweDAyMzAsCTE2LAl7MHgyNSwgMHgzMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHgwNSwgMHgzMSwgMHhlNSwgMHgzMSwgMHg3MH0gfSwKLXsgMHgwMjQwLAkxNiwJezB4MDIsIDB4MDUsIDB4MzAsIDB4ODAsIDB4ZDAsIDB4ZTQsIDB4ZjUsIDB4MzAsIDB4ZjUsIDB4MzEsIDB4YzMsIDB4ZTUsIDB4MzEsIDB4OTUsIDB4MmQsIDB4ZTV9IH0sCi17IDB4MDI1MCwJMTYsCXsweDMwLCAweDk1LCAweDJjLCAweDUwLCAweDE4LCAweDc0LCAweDAwLCAweDI1LCAweDMxLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzfSB9LAoteyAweDAyNjAsCTE2LAl7MHg3NCwgMHhjZCwgMHhmMCwgMHgwNSwgMHgzMSwgMHhlNSwgMHgzMSwgMHg3MCwgMHgwMiwgMHgwNSwgMHgzMCwgMHg4MCwgMHhkZCwgMHhhZiwgMHgyOSwgMHhhZX0gfSwKLXsgMHgwMjcwLAkxNiwJezB4MjgsIDB4YWQsIDB4MmQsIDB4N2EsIDB4N2YsIDB4NzksIDB4MDAsIDB4N2IsIDB4MDAsIDB4MTIsIDB4MGIsIDB4ZjQsIDB4OTAsIDB4N2YsIDB4YjUsIDB4ZTV9IH0sCi17IDB4MDI4MCwJMTYsCXsweDJkLCAweGYwLCAweGU1LCAweDJkLCAweDI1LCAweDI5LCAweGY1LCAweDI5LCAweGU1LCAweDJjLCAweDM1LCAweDI4LCAweGY1LCAweDI4LCAweGMzLCAweGU1fSB9LAoteyAweDAyOTAsCTE2LAl7MHgyYiwgMHg5NSwgMHgyZCwgMHhmNSwgMHgyYiwgMHhlNSwgMHgyYSwgMHg5NSwgMHgyYywgMHhmNSwgMHgyYSwgMHg5MCwgMHg3ZiwgMHg5MiwgMHhlMCwgMHhmZn0gfSwKLXsgMHgwMmEwLAkxNiwJezB4YzQsIDB4NTQsIDB4MGYsIDB4NzUsIDB4MmUsIDB4MDAsIDB4ZjUsIDB4MmYsIDB4ZDMsIDB4OTQsIDB4MDAsIDB4ZTUsIDB4MmUsIDB4OTQsIDB4MDAsIDB4NTB9IH0sCi17IDB4MDJiMCwJMTYsCXsweDBjLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDIwLCAweGUxLCAweDAzLCAweDAyLCAweDAxLCAweGU3LCAweDgwLCAweGY0LCAweDkwLCAweDdmLCAweGI0fSB9LAoteyAweDAyYzAsCTE2LAl7MHhlMCwgMHgyMCwgMHhlMiwgMHgwMywgMHgwMiwgMHgwMSwgMHhlNywgMHg4MCwgMHhmNCwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwgMHg2NCwgMHg0MCwgMHg2MH0gfSwKLXsgMHgwMmQwLAkxNiwJezB4MDMsIDB4MDIsIDB4MDMsIDB4NzgsIDB4ZTUsIDB4MmIsIDB4NDUsIDB4MmEsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MDMsIDB4NzgsIDB4ZTQsIDB4OTAsIDB4N2Z9IH0sCi17IDB4MDJlMCwJMTYsCXsweGM1LCAweGYwLCAweDkwLCAweDdmLCAweDkyLCAweGUwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweDc1LCAweDJlLCAweDAwLCAweGY1LCAweDJmLCAweGQzfSB9LAoteyAweDAyZjAsCTE2LAl7MHg5NCwgMHgwMCwgMHhlNSwgMHgyZSwgMHg5NCwgMHgwMCwgMHg1MCwgMHgwOSwgMHg5MCwgMHg3ZiwgMHhjNCwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwOSwgMHg4MH0gfSwKLXsgMHgwMzAwLAkxNiwJezB4ZjcsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4MjAsIDB4ZTMsIDB4ZjksIDB4OTAsIDB4N2YsIDB4YzUsIDB4ZTAsIDB4NzUsIDB4MmMsIDB4MDAsIDB4ZjV9IH0sCi17IDB4MDMxMCwJMTYsCXsweDJkLCAweDkwLCAweDdmLCAweGU5LCAweGUwLCAweDY0LCAweGEzLCAweDcwLCAweDM0LCAweGY1LCAweDMwLCAweGY1LCAweDMxLCAweGMzLCAweGU1LCAweDMxfSB9LAoteyAweDAzMjAsCTE2LAl7MHg5NSwgMHgyZCwgMHhlNSwgMHgzMCwgMHg5NSwgMHgyYywgMHg1MCwgMHgzNCwgMHg3NCwgMHhjMCwgMHgyNSwgMHgzMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNH0gfSwKLXsgMHgwMzMwLAkxLAl7MHg3ZX0gfSwKLXsgMHgwMzMxLAkxNiwJezB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4ZTUsIDB4MjksIDB4MjUsIDB4MzEsIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4MzAsIDB4MzUsIDB4MjgsIDB4ZjUsIDB4ODN9IH0sCi17IDB4MDM0MSwJMTYsCXsweGVmLCAweGYwLCAweDA1LCAweDMxLCAweGU1LCAweDMxLCAweDcwLCAweDAyLCAweDA1LCAweDMwLCAweDgwLCAweGQwLCAweGFmLCAweDI5LCAweGFlLCAweDI4fSB9LAoteyAweDAzNTEsCTE2LAl7MHhhZCwgMHgyZCwgMHg3YSwgMHg3ZSwgMHg3OSwgMHhjMCwgMHg3YiwgMHhjMCwgMHgxMiwgMHgwYywgMHgzZiwgMHhlNSwgMHgyZCwgMHgyNSwgMHgyOSwgMHhmNX0gfSwKLXsgMHgwMzYxLAkxNiwJezB4MjksIDB4ZTUsIDB4MmMsIDB4MzUsIDB4MjgsIDB4ZjUsIDB4MjgsIDB4YzMsIDB4ZTUsIDB4MmIsIDB4OTUsIDB4MmQsIDB4ZjUsIDB4MmIsIDB4ZTUsIDB4MmF9IH0sCi17IDB4MDM3MSwJOSwJezB4OTUsIDB4MmMsIDB4ZjUsIDB4MmEsIDB4MDIsIDB4MDIsIDB4ZDQsIDB4YzMsIDB4MjJ9IH0sCi17IDB4MDM3YSwJMTYsCXsweDkwLCAweDdmLCAweGU5LCAweGUwLCAweDcwLCAweDAzLCAweDAyLCAweDA0LCAweDUyLCAweDE0LCAweDcwLCAweDAzLCAweDAyLCAweDA0LCAweGNlLCAweDI0fSB9LAoteyAweDAzOGEsCTE2LAl7MHhmZSwgMHg3MCwgMHgwMywgMHgwMiwgMHgwNSwgMHg0MiwgMHgyNCwgMHhmYiwgMHg3MCwgMHgwMywgMHgwMiwgMHgwNCwgMHg0YywgMHgxNCwgMHg3MCwgMHgwM30gfSwKLXsgMHgwMzlhLAkxNiwJezB4MDIsIDB4MDQsIDB4NDYsIDB4MTQsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MDQsIDB4M2EsIDB4MTQsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MDQsIDB4NDAsIDB4MjR9IH0sCi17IDB4MDNhYSwJMTYsCXsweDA1LCAweDYwLCAweDAzLCAweDAyLCAweDA1LCAweDk2LCAweDEyLCAweDBlLCAweDQ0LCAweDQwLCAweDAzLCAweDAyLCAweDA1LCAweGEyLCAweDkwLCAweDdmfSB9LAoteyAweDAzYmEsCTE2LAl7MHhlYiwgMHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxNiwgMHgxNCwgMHg2MCwgMHg0MCwgMHgyNCwgMHgwMiwgMHg3MCwgMHg2OSwgMHg3NCwgMHgxMSwgMHg5MH0gfSwKLXsgMHgwM2NhLAkxNiwJezB4N2YsIDB4ZDQsIDB4ZjAsIDB4NzQsIDB4MDAsIDB4OTAsIDB4N2YsIDB4ZDUsIDB4ZjAsIDB4MDIsIDB4MDUsIDB4YTIsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTB9IH0sCi17IDB4MDNkYSwJMTYsCXsweGZmLCAweDEyLCAweDBiLCAweDU4LCAweDhiLCAweDI1LCAweDhhLCAweDI2LCAweDg5LCAweDI3LCAweGVhLCAweDQ5LCAweDYwLCAweDExLCAweGFlLCAweDAyfSB9LAoteyAweDAzZWEsCTE2LAl7MHhlZSwgMHg5MCwgMHg3ZiwgMHhkNCwgMHhmMCwgMHhhZiwgMHgwMSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhkNSwgMHhmMCwgMHgwMiwgMHgwNSwgMHhhMiwgMHg5MH0gfSwKLXsgMHgwM2ZhLAkxNiwJezB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MDUsIDB4YTIsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MDh9IH0sCi17IDB4MDQwYSwJMTYsCXsweGJhLCAweDhiLCAweDI1LCAweDhhLCAweDI2LCAweDg5LCAweDI3LCAweGVhLCAweDQ5LCAweDYwLCAweDExLCAweGFlLCAweDAyLCAweGVlLCAweDkwLCAweDdmfSB9LAoteyAweDA0MWEsCTE2LAl7MHhkNCwgMHhmMCwgMHhhZiwgMHgwMSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhkNSwgMHhmMCwgMHgwMiwgMHgwNSwgMHhhMiwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMH0gfSwKLXsgMHgwNDJhLAkxNiwJezB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MDUsIDB4YTIsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MDUsIDB4YTJ9IH0sCi17IDB4MDQzYSwJMTYsCXsweDEyLCAweDBlLCAweDFmLCAweDAyLCAweDA1LCAweGEyLCAweDEyLCAweDBlLCAweDJkLCAweDAyLCAweDA1LCAweGEyLCAweDEyLCAweDBhLCAweGY3LCAweDAyfSB9LAoteyAweDA0NGEsCTE2LAl7MHgwNSwgMHhhMiwgMHgxMiwgMHgwZSwgMHgxMSwgMHgwMiwgMHgwNSwgMHhhMiwgMHgxMiwgMHgwZSwgMHg0NiwgMHg0MCwgMHgwMywgMHgwMiwgMHgwNSwgMHhhMn0gfSwKLXsgMHgwNDVhLAkxNiwJezB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4N2YsIDB4NjAsIDB4MjQsIDB4MTQsIDB4NjAsIDB4MzEsIDB4MjQsIDB4MDIsIDB4NzAsIDB4NWIsIDB4YTJ9IH0sCi17IDB4MDQ2YSwJMTYsCXsweDAwLCAweGU0LCAweDMzLCAweGZmLCAweDI1LCAweGUwLCAweGZmLCAweGEyLCAweDAyLCAweGU0LCAweDMzLCAweDRmLCAweDkwLCAweDdmLCAweDAwLCAweGYwfSB9LAoteyAweDA0N2EsCTE2LAl7MHhlNCwgMHhhMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwNSwgMHhhMiwgMHhlNCwgMHg5MCwgMHg3ZiwgMHgwMH0gfSwKLXsgMHgwNDhhLAkxNiwJezB4ZjAsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MDUsIDB4YTIsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTB9IH0sCi17IDB4MDQ5YSwJMTYsCXsweGY0LCAweDU0LCAweDgwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDI1LCAweGUwLCAweDI0LCAweGI0fSB9LAoteyAweDA0YWEsCTE2LAl7MHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHhmZCwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhmMCwgMHhlNCwgMHhhM30gfSwKLXsgMHgwNGJhLAkxNiwJezB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MDUsIDB4YTIsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDF9IH0sCi17IDB4MDRjYSwJMTYsCXsweGYwLCAweDAyLCAweDA1LCAweGEyLCAweDEyLCAweDBlLCAweDQ4LCAweDQwLCAweDAzLCAweDAyLCAweDA1LCAweGEyLCAweDkwLCAweDdmLCAweGU4LCAweGUwfSB9LAoteyAweDA0ZGEsCTE2LAl7MHgyNCwgMHhmZSwgMHg2MCwgMHgxZCwgMHgyNCwgMHgwMiwgMHg2MCwgMHgwMywgMHgwMiwgMHgwNSwgMHhhMiwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhiNH0gfSwKLXsgMHgwNGVhLAkxNiwJezB4MDEsIDB4MDUsIDB4YzIsIDB4MDAsIDB4MDIsIDB4MDUsIDB4YTIsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MDV9IH0sCi17IDB4MDRmYSwJMTYsCXsweGEyLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDcwLCAweDM4LCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwLCAweGZmLCAweGM0fSB9LAoteyAweDA1MGEsCTE2LAl7MHg1NCwgMHgwZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3Zn0gfSwKLXsgMHgwNTFhLAkxNiwJezB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4MTMsIDB4MTMsIDB4MTMsIDB4NTQsIDB4MWZ9IH0sCi17IDB4MDUyYSwJMTYsCXsweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDkwLCAweDdmLCAweGQ3LCAweGYwLCAweGUwLCAweDQ0LCAweDIwLCAweGYwLCAweDgwLCAweDY5LCAweDkwfSB9LAoteyAweDA1M2EsCTE2LAl7MHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHg2MCwgMHgxMiwgMHgwZSwgMHg0YSwgMHg1MCwgMHg1YiwgMHg5MCwgMHg3ZiwgMHhlOH0gfSwKLXsgMHgwNTRhLAkxNiwJezB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MTgsIDB4MjQsIDB4MDIsIDB4NzAsIDB4NGYsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4YjQsIDB4MDEsIDB4MDR9IH0sCi17IDB4MDU1YSwJMTYsCXsweGQyLCAweDAwLCAweDgwLCAweDQ0LCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDgwLCAweDNiLCAweDkwLCAweDdmLCAweGVhfSB9LAoteyAweDA1NmEsCTE2LAl7MHhlMCwgMHg3MCwgMHgyMCwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHhmNCwgMHg1NCwgMHg4MCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHhmZiwgMHhlMH0gfSwKLXsgMHgwNTdhLAkxNiwJezB4NTQsIDB4MDcsIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4NzQsIDB4MDF9IH0sCi17IDB4MDU4YSwJMTYsCXsweGYwLCAweDgwLCAweDE1LCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDgwLCAweDBjLCAweDEyLCAweDAxLCAweDAwLCAweDUwfSB9LAoteyAweDA1OWEsCTE2LAl7MHgwNywgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHgyMn0gfSwKLXsgMHgwNWFhLAkxNiwJezB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4YzB9IH0sCi17IDB4MDViYSwJMTYsCXsweGQwLCAweGMwLCAweDAwLCAweGMwLCAweDAxLCAweGMwLCAweDAyLCAweGMwLCAweDAzLCAweGMwLCAweDA2LCAweGMwLCAweDA3LCAweDkwLCAweDdmLCAweGE1fSB9LAoteyAweDA1Y2EsCTE2LAl7MHhlMCwgMHgzMCwgMHhlMiwgMHgwNiwgMHg3NSwgMHgwZCwgMHgwNiwgMHgwMiwgMHgwNiwgMHg3NiwgMHg5MCwgMHg3ZiwgMHhhNSwgMHhlMCwgMHgyMCwgMHhlMX0gfSwKLXsgMHgwNWRhLAkxNiwJezB4MGMsIDB4ZTUsIDB4MGQsIDB4NjQsIDB4MDIsIDB4NjAsIDB4MDYsIDB4NzUsIDB4MGQsIDB4MDcsIDB4MDIsIDB4MDYsIDB4NzYsIDB4YWYsIDB4MGQsIDB4ZWZ9IH0sCi17IDB4MDVlYSwJMTYsCXsweDI0LCAweGZlLCAweDYwLCAweDQ4LCAweDE0LCAweDYwLCAweDJjLCAweDI0LCAweGZlLCAweDYwLCAweDc3LCAweDI0LCAweDA0LCAweDYwLCAweDAzLCAweDAyfSB9LAoteyAweDA1ZmEsCTE2LAl7MHgwNiwgMHg3NiwgMHhhYiwgMHgwOSwgMHhhYSwgMHgwYSwgMHhhOSwgMHgwYiwgMHhhZiwgMHgwYywgMHgwNSwgMHgwYywgMHg4ZiwgMHg4MiwgMHg3NSwgMHg4M30gfSwKLXsgMHgwNjBhLAkxNiwJezB4MDAsIDB4MTIsIDB4MDgsIDB4MjIsIDB4OTAsIDB4N2YsIDB4YTYsIDB4ZjAsIDB4ZTUsIDB4MGMsIDB4NjUsIDB4MDgsIDB4NzAsIDB4NWUsIDB4NzUsIDB4MGR9IH0sCi17IDB4MDYxYSwJMTYsCXsweDA1LCAweDgwLCAweDU5LCAweDkwLCAweDdmLCAweGE2LCAweGUwLCAweGFiLCAweDA5LCAweGFhLCAweDBhLCAweGE5LCAweDBiLCAweGFlLCAweDBjLCAweDhlfSB9LAoteyAweDA2MmEsCTE2LAl7MHg4MiwgMHg3NSwgMHg4MywgMHgwMCwgMHgxMiwgMHgwOCwgMHg0ZiwgMHg3NSwgMHgwZCwgMHgwMiwgMHg4MCwgMHg0MCwgMHhlNSwgMHgwOCwgMHgyNCwgMHhmZX0gfSwKLXsgMHgwNjNhLAkxNiwJezB4YjUsIDB4MGMsIDB4MDcsIDB4OTAsIDB4N2YsIDB4YTUsIDB4ZTAsIDB4NDQsIDB4MjAsIDB4ZjAsIDB4ZTUsIDB4MDgsIDB4MTQsIDB4YjUsIDB4MGMsIDB4MGF9IH0sCi17IDB4MDY0YSwJMTYsCXsweDkwLCAweDdmLCAweGE1LCAweGUwLCAweDQ0LCAweDQwLCAweGYwLCAweGU0LCAweGY1LCAweDBkLCAweDkwLCAweDdmLCAweGE2LCAweGUwLCAweGFiLCAweDA5fSB9LAoteyAweDA2NWEsCTE2LAl7MHhhYSwgMHgwYSwgMHhhOSwgMHgwYiwgMHhhZSwgMHgwYywgMHg4ZSwgMHg4MiwgMHg3NSwgMHg4MywgMHgwMCwgMHgxMiwgMHgwOCwgMHg0ZiwgMHgwNSwgMHgwY30gfSwKLXsgMHgwNjZhLAkxNiwJezB4ODAsIDB4MGEsIDB4OTAsIDB4N2YsIDB4YTUsIDB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjAsIDB4ZTQsIDB4ZjUsIDB4MGQsIDB4NTMsIDB4OTEsIDB4ZGYsIDB4ZDB9IH0sCi17IDB4MDY3YSwJMTYsCXsweDA3LCAweGQwLCAweDA2LCAweGQwLCAweDAzLCAweGQwLCAweDAyLCAweGQwLCAweDAxLCAweGQwLCAweDAwLCAweGQwLCAweGQwLCAweGQwLCAweDg2LCAweGQwfSB9LAoteyAweDA2OGEsCTEwLAl7MHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMn0gfSwKLXsgMHgwNjk0LAkxNiwJezB4OGMsIDB4MzMsIDB4OGQsIDB4MzQsIDB4OTAsIDB4N2YsIDB4OTUsIDB4ZTAsIDB4NDQsIDB4YzAsIDB4ZjAsIDB4ZTQsIDB4ZjUsIDB4MzUsIDB4ZjUsIDB4MzZ9IH0sCi17IDB4MDZhNCwJMTYsCXsweGMzLCAweGU1LCAweDM2LCAweDk1LCAweDM0LCAweGU1LCAweDM1LCAweDk1LCAweDMzLCAweDUwLCAweDY5LCAweGVmLCAweDI1LCAweDM2LCAweGY1LCAweDgyfSB9LAoteyAweDA2YjQsCTE2LAl7MHhlNSwgMHgzNSwgMHgzZSwgMHhmNSwgMHg4MywgMHg3NCwgMHhmZiwgMHhmMCwgMHhmNCwgMHg2MCwgMHgwMiwgMHhjMywgMHgyMiwgMHhlZiwgMHgyNSwgMHgzNn0gfSwKLXsgMHgwNmM0LAkxNiwJezB4ZjUsIDB4ODIsIDB4ZTUsIDB4MzUsIDB4M2UsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4NjAsIDB4MDIsIDB4YzMsIDB4MjIsIDB4ZWYsIDB4MjUsIDB4MzZ9IH0sCi17IDB4MDZkNCwJMTYsCXsweGY1LCAweDgyLCAweGU1LCAweDM1LCAweDNlLCAweGY1LCAweDgzLCAweDc0LCAweGFhLCAweGYwLCAweDY0LCAweGFhLCAweDYwLCAweDAyLCAweGMzLCAweDIyfSB9LAoteyAweDA2ZTQsCTE2LAl7MHhlZiwgMHgyNSwgMHgzNiwgMHhmNSwgMHg4MiwgMHhlNSwgMHgzNSwgMHgzZSwgMHhmNSwgMHg4MywgMHg3NCwgMHg1NSwgMHhmMCwgMHg2NCwgMHg1NSwgMHg2MH0gfSwKLXsgMHgwNmY0LAkxNiwJezB4MDIsIDB4YzMsIDB4MjIsIDB4YWQsIDB4MzYsIDB4ZTUsIDB4MzYsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4MzUsIDB4M2UsIDB4ZjUsIDB4ODMsIDB4ZWR9IH0sCi17IDB4MDcwNCwJMTYsCXsweGYwLCAweGZjLCAweGFjLCAweDA1LCAweGVkLCAweDZjLCAweDYwLCAweDAyLCAweGMzLCAweDIyLCAweDA1LCAweDM2LCAweGU1LCAweDM2LCAweDcwLCAweDAyfSB9LAoteyAweDA3MTQsCTE2LAl7MHgwNSwgMHgzNSwgMHg4MCwgMHg4YywgMHhlNCwgMHhmNSwgMHgzNSwgMHhmNSwgMHgzNiwgMHhjMywgMHhlNSwgMHgzNiwgMHg5NSwgMHgzNCwgMHhlNSwgMHgzNX0gfSwKLXsgMHgwNzI0LAkxNiwJezB4OTUsIDB4MzMsIDB4NTAsIDB4MjcsIDB4ZWYsIDB4MjUsIDB4MzYsIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4MzUsIDB4M2UsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjV9IH0sCi17IDB4MDczNCwJMTYsCXsweDM2LCAweDYwLCAweDAyLCAweGMzLCAweDIyLCAweGVmLCAweDI1LCAweDM2LCAweGY1LCAweDgyLCAweGU1LCAweDM1LCAweDNlLCAweGY1LCAweDgzLCAweGU0fSB9LAoteyAweDA3NDQsCTEzLAl7MHhmMCwgMHgwNSwgMHgzNiwgMHhlNSwgMHgzNiwgMHg3MCwgMHgwMiwgMHgwNSwgMHgzNSwgMHg4MCwgMHhjZSwgMHhkMywgMHgyMn0gfSwKLXsgMHgwNzUxLAkxNiwJezB4YzIsIDB4MDQsIDB4ZDIsIDB4MDUsIDB4YzIsIDB4MDMsIDB4YzIsIDB4MDAsIDB4YzIsIDB4MDIsIDB4YzIsIDB4MDEsIDB4MTIsIDB4MGUsIDB4M2QsIDB4ZDJ9IH0sCi17IDB4MDc2MSwJMTYsCXsweGU4LCAweDQzLCAweGQ4LCAweDIwLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweGZmLCAweGYwLCAweDkwLCAweDdmLCAweGE5LCAweGYwLCAweDkwLCAweDdmfSB9LAoteyAweDA3NzEsCTE2LAl7MHhhYSwgMHhmMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHg5NSwgMHhlMCwgMHg0NCwgMHhjMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5MywgMHg3NH0gfSwKLXsgMHgwNzgxLAkxNiwJezB4MzAsIDB4ZjAsIDB4MTIsIDB4MGEsIDB4MTksIDB4OTAsIDB4N2YsIDB4YWYsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWUsIDB4ZTB9IH0sCi17IDB4MDc5MSwJMTYsCXsweDQ0LCAweDBkLCAweGYwLCAweGQyLCAweGFmLCAweDEyLCAweDBlLCAweDM1LCAweDIwLCAweDAxLCAweDQyLCAweDc1LCAweDI0LCAweDAwLCAweDc1LCAweDIzfSB9LAoteyAweDA3YTEsCTE2LAl7MHgwMCwgMHg3NSwgMHgyMiwgMHgwMCwgMHg3NSwgMHgyMSwgMHgwMCwgMHg3ZiwgMHg0OCwgMHg3ZSwgMHg5MiwgMHg3ZCwgMHgwMCwgMHg3YywgMHgwMCwgMHhhYn0gfSwKLXsgMHgwN2IxLAkxNiwJezB4MjQsIDB4YWEsIDB4MjMsIDB4YTksIDB4MjIsIDB4YTgsIDB4MjEsIDB4YzMsIDB4MTIsIDB4MDgsIDB4YTksIDB4NTAsIDB4ZGIsIDB4MjAsIDB4MDEsIDB4ZDh9IH0sCi17IDB4MDdjMSwJMTYsCXsweDdhLCAweDAwLCAweDc5LCAweDAwLCAweDc4LCAweDAwLCAweGU1LCAweDI0LCAweDI0LCAweDAxLCAweGY1LCAweDI0LCAweGVhLCAweDM1LCAweDIzLCAweGY1fSB9LAoteyAweDA3ZDEsCTE2LAl7MHgyMywgMHhlOSwgMHgzNSwgMHgyMiwgMHhmNSwgMHgyMiwgMHhlOCwgMHgzNSwgMHgyMSwgMHhmNSwgMHgyMSwgMHg4MCwgMHhjYSwgMHgzMCwgMHgwMSwgMHgwNX0gfSwKLXsgMHgwN2UxLAkxNiwJezB4MTIsIDB4MDMsIDB4N2EsIDB4YzIsIDB4MDEsIDB4MzAsIDB4MDQsIDB4MWEsIDB4MTIsIDB4MGUsIDB4NDAsIDB4NTAsIDB4MTMsIDB4MTIsIDB4MDksIDB4MDB9IH0sCi17IDB4MDdmMSwJMTYsCXsweDMwLCAweDAwLCAweDA3LCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDMwLCAweGU3LCAweGYzLCAweDEyLCAweDBkLCAweDRhLCAweDEyLCAweDBlLCAweDQyfSB9LAoteyAweDA4MDEsCTgsCXsweGMyLCAweDAzLCAweDEyLCAweDA4LCAweGZmLCAweDgwLCAweGQ2LCAweDIyfSB9LAoteyAweDA4MDksCTE2LAl7MHhiYiwgMHgwMSwgMHgwNiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlMCwgMHgyMiwgMHg1MCwgMHgwMiwgMHhlNywgMHgyMiwgMHhiYiwgMHhmZSwgMHgwMn0gfSwKLXsgMHgwODE5LAk5LAl7MHhlMywgMHgyMiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlNCwgMHg5MywgMHgyMn0gfSwKLXsgMHgwODIyLAkxNiwJezB4YmIsIDB4MDEsIDB4MGMsIDB4ZTUsIDB4ODIsIDB4MjksIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MjIsIDB4NTB9IH0sCi17IDB4MDgzMiwJMTYsCXsweDA2LCAweGU5LCAweDI1LCAweDgyLCAweGY4LCAweGU2LCAweDIyLCAweGJiLCAweGZlLCAweDA2LCAweGU5LCAweDI1LCAweDgyLCAweGY4LCAweGUyLCAweDIyfSB9LAoteyAweDA4NDIsCTEzLAl7MHhlNSwgMHg4MiwgMHgyOSwgMHhmNSwgMHg4MiwgMHhlNSwgMHg4MywgMHgzYSwgMHhmNSwgMHg4MywgMHhlNCwgMHg5MywgMHgyMn0gfSwKLXsgMHgwODRmLAkxNiwJezB4ZjgsIDB4YmIsIDB4MDEsIDB4MGQsIDB4ZTUsIDB4ODIsIDB4MjksIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTgsIDB4ZjB9IH0sCi17IDB4MDg1ZiwJMTYsCXsweDIyLCAweDUwLCAweDA2LCAweGU5LCAweDI1LCAweDgyLCAweGM4LCAweGY2LCAweDIyLCAweGJiLCAweGZlLCAweDA1LCAweGU5LCAweDI1LCAweDgyLCAweGM4fSB9LAoteyAweDA4NmYsCTIsCXsweGYyLCAweDIyfSB9LAoteyAweDA4NzEsCTE2LAl7MHhiYiwgMHgwMSwgMHgxMCwgMHhlNSwgMHg4MiwgMHgyOSwgMHhmNSwgMHg4MiwgMHhlNSwgMHg4MywgMHgzYSwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHhmMH0gfSwKLXsgMHgwODgxLAkxNiwJezB4YTMsIDB4ZTAsIDB4MjIsIDB4NTAsIDB4MDksIDB4ZTksIDB4MjUsIDB4ODIsIDB4ZjgsIDB4ODYsIDB4ZjAsIDB4MDgsIDB4ZTYsIDB4MjIsIDB4YmIsIDB4ZmV9IH0sCi17IDB4MDg5MSwJMTYsCXsweDBhLCAweGU5LCAweDI1LCAweDgyLCAweGY4LCAweGUyLCAweGY1LCAweGYwLCAweDA4LCAweGUyLCAweDIyLCAweGU1LCAweDgzLCAweDJhLCAweGY1LCAweDgzfSB9LAoteyAweDA4YTEsCTgsCXsweGU5LCAweDkzLCAweGY1LCAweGYwLCAweGEzLCAweGU5LCAweDkzLCAweDIyfSB9LAoteyAweDA4YTksCTE2LAl7MHhlYiwgMHg5ZiwgMHhmNSwgMHhmMCwgMHhlYSwgMHg5ZSwgMHg0MiwgMHhmMCwgMHhlOSwgMHg5ZCwgMHg0MiwgMHhmMCwgMHhlOCwgMHg5YywgMHg0NSwgMHhmMH0gfSwKLXsgMHgwOGI5LAkxLAl7MHgyMn0gfSwKLXsgMHgwOGJhLAkyLAl7MHg4ZiwgMHgyOH0gfSwKLXsgMHgwOGJjLAkxNiwJezB4ZTQsIDB4ZjUsIDB4MjksIDB4NzUsIDB4MmEsIDB4ZmYsIDB4NzUsIDB4MmIsIDB4MTEsIDB4NzUsIDB4MmMsIDB4MzIsIDB4YWIsIDB4MmEsIDB4YWEsIDB4MmJ9IH0sCi17IDB4MDhjYywJMTYsCXsweGE5LCAweDJjLCAweDkwLCAweDAwLCAweDAxLCAweDEyLCAweDA4LCAweDIyLCAweGI0LCAweDAzLCAweDFkLCAweGFmLCAweDI5LCAweDA1LCAweDI5LCAweGVmfSB9LAoteyAweDA4ZGMsCTE2LAl7MHhiNSwgMHgyOCwgMHgwMSwgMHgyMiwgMHgxMiwgMHgwOCwgMHgwOSwgMHg3ZSwgMHgwMCwgMHgyOSwgMHhmZiwgMHhlZSwgMHgzYSwgMHhhOSwgMHgwNywgMHg3NX0gfSwKLXsgMHgwOGVjLAkxNCwJezB4MmEsIDB4ZmYsIDB4ZjUsIDB4MmIsIDB4ODksIDB4MmMsIDB4ODAsIDB4ZDQsIDB4N2IsIDB4MDAsIDB4N2EsIDB4MDAsIDB4NzksIDB4MDB9IH0sCi17IDB4MDhmYSwJMSwJezB4MjJ9IH0sCi17IDB4MDhmYiwJNCwJezB4NTMsIDB4ZDgsIDB4ZWYsIDB4MzJ9IH0sCi17IDB4MDhmZiwJMSwJezB4MjJ9IH0sCi17IDB4MDkwMCwJOSwJezB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4ODAsIDB4NzR9IH0sCi17IDB4MDk3ZCwJMTYsCXsweDQzLCAweDg3LCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDIyfSB9LAoteyAweDA5OGQsCTEyLAl7MHg3OCwgMHg3ZiwgMHhlNCwgMHhmNiwgMHhkOCwgMHhmZCwgMHg3NSwgMHg4MSwgMHgzOSwgMHgwMiwgMHgwOSwgMHhkNH0gfSwKLXsgMHgwOTk5LAkxNiwJezB4MDIsIDB4MDcsIDB4NTEsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjgsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4NDAsIDB4MDMsIDB4ZjYsIDB4ODAsIDB4MDEsIDB4ZjJ9IH0sCi17IDB4MDlhOSwJMTYsCXsweDA4LCAweGRmLCAweGY0LCAweDgwLCAweDI5LCAweGU0LCAweDkzLCAweGEzLCAweGY4LCAweDU0LCAweDA3LCAweDI0LCAweDBjLCAweGM4LCAweGMzLCAweDMzfSB9LAoteyAweDA5YjksCTE2LAl7MHhjNCwgMHg1NCwgMHgwZiwgMHg0NCwgMHgyMCwgMHhjOCwgMHg4MywgMHg0MCwgMHgwNCwgMHhmNCwgMHg1NiwgMHg4MCwgMHgwMSwgMHg0NiwgMHhmNiwgMHhkZn0gfSwKLXsgMHgwOWM5LAkxNiwJezB4ZTQsIDB4ODAsIDB4MGIsIDB4MDEsIDB4MDIsIDB4MDQsIDB4MDgsIDB4MTAsIDB4MjAsIDB4NDAsIDB4ODAsIDB4OTAsIDB4MGQsIDB4ZWMsIDB4ZTQsIDB4N2V9IH0sCi17IDB4MDlkOSwJMTYsCXsweDAxLCAweDkzLCAweDYwLCAweGJjLCAweGEzLCAweGZmLCAweDU0LCAweDNmLCAweDMwLCAweGU1LCAweDA5LCAweDU0LCAweDFmLCAweGZlLCAweGU0LCAweDkzfSB9LAoteyAweDA5ZTksCTE2LAl7MHhhMywgMHg2MCwgMHgwMSwgMHgwZSwgMHhjZiwgMHg1NCwgMHhjMCwgMHgyNSwgMHhlMCwgMHg2MCwgMHhhOCwgMHg0MCwgMHhiOCwgMHhlNCwgMHg5MywgMHhhM30gfSwKLXsgMHgwOWY5LAkxNiwJezB4ZmEsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjgsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4YzgsIDB4YzUsIDB4ODIsIDB4YzgsIDB4Y2EsIDB4YzUsIDB4ODMsIDB4Y2F9IH0sCi17IDB4MGEwOSwJMTYsCXsweGYwLCAweGEzLCAweGM4LCAweGM1LCAweDgyLCAweGM4LCAweGNhLCAweGM1LCAweDgzLCAweGNhLCAweGRmLCAweGU5LCAweGRlLCAweGU3LCAweDgwLCAweGJlfSB9LAoteyAweDBhMTksCTE2LAl7MHhlNCwgMHg5MCwgMHg3ZiwgMHg5YywgMHhmMCwgMHg3ZiwgMHgwYSwgMHhmZSwgMHgxMiwgMHgwZCwgMHg5NCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHg3NCwgMHg4OX0gfSwKLXsgMHgwYTI5LAkxNiwJezB4ZjAsIDB4OTAsIDB4N2YsIDB4OWMsIDB4NzQsIDB4Y2YsIDB4ZjAsIDB4N2YsIDB4ZjQsIDB4N2UsIDB4MDEsIDB4MTIsIDB4MGQsIDB4OTQsIDB4OTAsIDB4N2Z9IH0sCi17IDB4MGEzOSwJMTYsCXsweDk2LCAweGUwLCAweDU0LCAweGZlLCAweGYwLCAweDdmLCAweDBhLCAweDdlLCAweDAwLCAweDEyLCAweDBkLCAweDk0LCAweDdmLCAweDA1LCAweDdlLCAweDAwfSB9LAoteyAweDBhNDksCTE2LAl7MHgxMiwgMHgwZCwgMHg5NCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHhlMCwgMHg1NCwgMHg3ZiwgMHhmMCwgMHg3ZiwgMHgwNX0gfSwKLXsgMHgwYTU5LAkxNiwJezB4N2UsIDB4MDAsIDB4MTIsIDB4MGQsIDB4OTQsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjAsIDB4N2YsIDB4MDUsIDB4N2UsIDB4MDB9IH0sCi17IDB4MGE2OSwJMTYsCXsweDEyLCAweDBkLCAweDk0LCAweDkwLCAweDdmLCAweDk2LCAweGUwLCAweDU0LCAweGJmLCAweGYwLCAweDdmLCAweDMyLCAweDdlLCAweDAwLCAweDEyLCAweDBkfSB9LAoteyAweDBhNzksCTE2LAl7MHg5NCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhlMCwgMHg0NCwgMHg0MCwgMHhmMCwgMHg3ZiwgMHgzMiwgMHg3ZSwgMHgwMCwgMHgxMiwgMHgwZCwgMHg5NCwgMHgyMn0gfSwKLXsgMHgwYTg5LAkxNiwJezB4NzUsIDB4MzIsIDB4MDEsIDB4ZTUsIDB4MzIsIDB4NjAsIDB4MWIsIDB4N2YsIDB4MDEsIDB4MTIsIDB4MGQsIDB4ZDcsIDB4N2YsIDB4MDAsIDB4N2UsIDB4MGV9IH0sCi17IDB4MGE5OSwJMTYsCXsweDdkLCAweDAwLCAweDdjLCAweDAxLCAweDEyLCAweDA2LCAweDk0LCAweGU0LCAweDMzLCAweGY1LCAweDMyLCAweDcwLCAweDA1LCAweDdmLCAweDBmLCAweDEyfSB9LAoteyAweDBhYTksCTE2LAl7MHgwZCwgMHhkNywgMHhlNSwgMHgzMiwgMHg2MCwgMHgxYiwgMHg3ZiwgMHgwMiwgMHgxMiwgMHgwZCwgMHhkNywgMHg3ZiwgMHgwMCwgMHg3ZSwgMHg4MCwgMHg3ZH0gfSwKLXsgMHgwYWI5LAkxNiwJezB4MDAsIDB4N2MsIDB4ODAsIDB4MTIsIDB4MDYsIDB4OTQsIDB4ZTQsIDB4MzMsIDB4ZjUsIDB4MzIsIDB4NzAsIDB4MDUsIDB4N2YsIDB4MGYsIDB4MTIsIDB4MGR9IH0sCi17IDB4MGFjOSwJMTYsCXsweGQ3LCAweGU1LCAweDMyLCAweDYwLCAweDFiLCAweDdmLCAweDAzLCAweDEyLCAweDBkLCAweGQ3LCAweDdmLCAweDAwLCAweDdlLCAweDIwLCAweDdkLCAweDQwfSB9LAoteyAweDBhZDksCTE2LAl7MHg3YywgMHg1YiwgMHgxMiwgMHgwNiwgMHg5NCwgMHhlNCwgMHgzMywgMHhmNSwgMHgzMiwgMHg3MCwgMHgwNSwgMHg3ZiwgMHgwZiwgMHgxMiwgMHgwZCwgMHhkN30gfSwKLXsgMHgwYWU5LAkxNCwJezB4ZTUsIDB4MzIsIDB4NjAsIDB4MDUsIDB4ZTQsIDB4ZmYsIDB4MTIsIDB4MGQsIDB4ZDcsIDB4ZTUsIDB4MzIsIDB4MjQsIDB4ZmYsIDB4MjJ9IH0sCi17IDB4MGFmNywJOCwJezB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4ZjUsIDB4MTAsIDB4ZDMsIDB4MjJ9IH0sCi17IDB4MGFmZiwJMSwJezB4MzJ9IH0sCi17IDB4MGIwMCwJMTYsCXsweDAyLCAweDBkLCAweDY0LCAweDAwLCAweDAyLCAweDBkLCAweGFiLCAweDAwLCAweDAyLCAweDBkLCAweDJmLCAweDAwLCAweDAyLCAweDBkLCAweDdjLCAweDAwfSB9LAoteyAweDBiMTAsCTE2LAl7MHgwMiwgMHgwZCwgMHhjMSwgMHgwMCwgMHgwMiwgMHgwYSwgMHhmZiwgMHgwMCwgMHgwMiwgMHgwZSwgMHg0YywgMHgwMCwgMHgwMiwgMHgwZSwgMHg0ZCwgMHgwMH0gfSwKLXsgMHgwYjIwLAkxNiwJezB4MDIsIDB4MGUsIDB4NGUsIDB4MDAsIDB4MDIsIDB4MGUsIDB4NGYsIDB4MDAsIDB4MDIsIDB4MGUsIDB4NTAsIDB4MDAsIDB4MDIsIDB4MGUsIDB4NTEsIDB4MDB9IH0sCi17IDB4MGIzMCwJMTYsCXsweDAyLCAweDBlLCAweDUyLCAweDAwLCAweDAyLCAweDBlLCAweDUzLCAweDAwLCAweDAyLCAweDBlLCAweDU0LCAweDAwLCAweDAyLCAweDBlLCAweDU1LCAweDAwfSB9LAoteyAweDBiNDAsCTE2LAl7MHgwMiwgMHgwZSwgMHg1NiwgMHgwMCwgMHgwMiwgMHgwZSwgMHg1NywgMHgwMCwgMHgwMiwgMHgwZSwgMHg1OCwgMHgwMCwgMHgwMiwgMHgwZSwgMHg1OSwgMHgwMH0gfSwKLXsgMHgwYjUwLAk4LAl7MHgwMiwgMHgwZSwgMHg1YSwgMHgwMCwgMHgwMiwgMHgwZSwgMHg1YiwgMHgwMH0gfSwKLXsgMHgwYjU4LAkxNiwJezB4ZTQsIDB4ZmUsIDB4NzUsIDB4MmEsIDB4ZmYsIDB4NzUsIDB4MmIsIDB4MTEsIDB4NzUsIDB4MmMsIDB4MTIsIDB4YWIsIDB4MmEsIDB4YWEsIDB4MmIsIDB4YTl9IH0sCi17IDB4MGI2OCwJMTYsCXsweDJjLCAweDkwLCAweDAwLCAweDAxLCAweDEyLCAweDA4LCAweDIyLCAweDY0LCAweDAyLCAweDcwLCAweDJkLCAweGFkLCAweDA2LCAweDBlLCAweGVkLCAweGI1fSB9LAoteyAweDBiNzgsCTE2LAl7MHgwNywgMHgwMSwgMHgyMiwgMHg5MCwgMHgwMCwgMHgwMiwgMHgxMiwgMHgwOCwgMHg3MSwgMHg4NSwgMHhmMCwgMHgyOCwgMHhmNSwgMHgyOSwgMHg2MiwgMHgyOH0gfSwKLXsgMHgwYjg4LAkxNiwJezB4ZTUsIDB4MjgsIDB4NjIsIDB4MjksIDB4ZTUsIDB4MjksIDB4NjIsIDB4MjgsIDB4MjksIDB4ZmQsIDB4ZTUsIDB4MjgsIDB4M2EsIDB4YTksIDB4MDUsIDB4NzV9IH0sCi17IDB4MGI5OCwJMTQsCXsweDJhLCAweGZmLCAweGY1LCAweDJiLCAweDg5LCAweDJjLCAweDgwLCAweGMzLCAweDdiLCAweDAwLCAweDdhLCAweDAwLCAweDc5LCAweDAwfSB9LAoteyAweDBiYTYsCTEsCXsweDIyfSB9LAoteyAweDBiYTcsCTE2LAl7MHhhYiwgMHgwNywgMHhhYSwgMHgwNiwgMHhhYywgMHgwNSwgMHhlNCwgMHhmZCwgMHhlNSwgMHgxMSwgMHg2MCwgMHgxMSwgMHhlYSwgMHhmZiwgMHhhZSwgMHgwNX0gfSwKLXsgMHgwYmI3LAkxNiwJezB4MGQsIDB4ZWUsIDB4MjQsIDB4MTAsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MGYsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4ZWIsIDB4YWUsIDB4MDV9IH0sCi17IDB4MGJjNywJMTYsCXsweDBkLCAweDc0LCAweDEwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDBmLCAweGY1LCAweDgzLCAweGViLCAweGYwLCAweGFmLCAweDA1LCAweDBkfSB9LAoteyAweDBiZDcsCTE2LAl7MHg3NCwgMHgxMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgwZiwgMHhmNSwgMHg4MywgMHhlYywgMHhmMCwgMHhhZiwgMHgwZiwgMHg3YSwgMHgwZn0gfSwKLXsgMHgwYmU3LAkxMywJezB4N2IsIDB4MTAsIDB4MTIsIDB4MGQsIDB4MTAsIDB4N2YsIDB4MGEsIDB4N2UsIDB4MDAsIDB4MTIsIDB4MGQsIDB4OTQsIDB4MjJ9IH0sCi17IDB4MGJmNCwJMTYsCXsweDhlLCAweDMyLCAweDhmLCAweDMzLCAweDhkLCAweDM0LCAweDhhLCAweDM1LCAweDhiLCAweDM2LCAweGU0LCAweGZkLCAweGY1LCAweDM3LCAweGU1LCAweDExfSB9LAoteyAweDBjMDQsCTE2LAl7MHg2MCwgMHgxMiwgMHhlNSwgMHgzMiwgMHhmZiwgMHhhZSwgMHgwNSwgMHgwZCwgMHhlZSwgMHgyNCwgMHgxMywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgwZn0gfSwKLXsgMHgwYzE0LAkxNiwJezB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4ZTUsIDB4MzMsIDB4YWUsIDB4MDUsIDB4MGQsIDB4NzQsIDB4MTMsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzR9IH0sCi17IDB4MGMyNCwJMTYsCXsweDBmLCAweGY1LCAweDgzLCAweGU1LCAweDMzLCAweGYwLCAweGFmLCAweDBmLCAweDdhLCAweDBmLCAweDdiLCAweDEzLCAweDEyLCAweDBkLCAweDEwLCAweGFmfSB9LAoteyAweDBjMzQsCTExLAl7MHgwZiwgMHhhZCwgMHgzNCwgMHhhYiwgMHgzNiwgMHhhYSwgMHgzNSwgMHgxMiwgMHgwYywgMHhmMSwgMHgyMn0gfSwKLXsgMHgwYzNmLAkxNiwJezB4OGUsIDB4MzIsIDB4OGYsIDB4MzMsIDB4OGQsIDB4MzQsIDB4OGEsIDB4MzUsIDB4OGIsIDB4MzYsIDB4ZTQsIDB4ZjUsIDB4MzcsIDB4ZTUsIDB4MzcsIDB4YzN9IH0sCi17IDB4MGM0ZiwJMTYsCXsweDk1LCAweDM0LCAweDUwLCAweDIwLCAweDA1LCAweDMzLCAweGU1LCAweDMzLCAweGFlLCAweDMyLCAweDcwLCAweDAyLCAweDA1LCAweDMyLCAweDE0LCAweGZmfSB9LAoteyAweDBjNWYsCTE2LAl7MHhlNSwgMHgzNiwgMHgyNSwgMHgzNywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgzNSwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZCwgMHgxMiwgMHgwYiwgMHhhN30gfSwKLXsgMHgwYzZmLAk1LAl7MHgwNSwgMHgzNywgMHg4MCwgMHhkOSwgMHgyMn0gfSwKLXsgMHgwYzc0LAkxNiwJezB4YTksIDB4MDcsIDB4ZTUsIDB4MGQsIDB4NzAsIDB4MjUsIDB4OTAsIDB4N2YsIDB4YTUsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4ZTksIDB4MjUsIDB4ZTB9IH0sCi17IDB4MGM4NCwJMTYsCXsweDQ0LCAweDAxLCAweDkwLCAweDdmLCAweGE2LCAweGYwLCAweDhkLCAweDA4LCAweGFmLCAweDAzLCAweGE5LCAweDA3LCAweDc1LCAweDA5LCAweDAxLCAweDhhfSB9LAoteyAweDBjOTQsCTEzLAl7MHgwYSwgMHg4OSwgMHgwYiwgMHhlNCwgMHhmNSwgMHgwYywgMHg3NSwgMHgwZCwgMHgwMywgMHhkMywgMHgyMiwgMHhjMywgMHgyMn0gfSwKLXsgMHgwY2ExLAkxNiwJezB4YTksIDB4MDcsIDB4ZTUsIDB4MGQsIDB4NzAsIDB4MjMsIDB4OTAsIDB4N2YsIDB4YTUsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4ZTksIDB4MjUsIDB4ZTB9IH0sCi17IDB4MGNiMSwJMTYsCXsweDkwLCAweDdmLCAweGE2LCAweGYwLCAweDhkLCAweDA4LCAweGFmLCAweDAzLCAweGE5LCAweDA3LCAweDc1LCAweDA5LCAweDAxLCAweDhhLCAweDBhLCAweDg5fSB9LAoteyAweDBjYzEsCTExLAl7MHgwYiwgMHhlNCwgMHhmNSwgMHgwYywgMHg3NSwgMHgwZCwgMHgwMSwgMHhkMywgMHgyMiwgMHhjMywgMHgyMn0gfSwKLXsgMHgwY2NjLAkxNiwJezB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NTQsIDB4ZmIsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4MDgsIDB4ZjAsIDB4MzAsIDB4MDYsIDB4MDQsIDB4ZTAsIDB4NDR9IH0sCi17IDB4MGNkYywJMTYsCXsweDAyLCAweGYwLCAweDdmLCAweGQwLCAweDdlLCAweDA3LCAweDEyLCAweDBkLCAweDk0LCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDU0LCAweGY3LCAweGYwfSB9LAoteyAweDBjZWMsCTUsCXsweGUwLCAweDQ0LCAweDA0LCAweGYwLCAweDIyfSB9LAoteyAweDBjZjEsCTE2LAl7MHgxMiwgMHgwYywgMHg3NCwgMHhlNSwgMHgwZCwgMHgyNCwgMHhmYSwgMHg2MCwgMHgxMCwgMHgxNCwgMHg2MCwgMHgwNywgMHgyNCwgMHgwNywgMHg3MCwgMHhmM30gfSwKLXsgMHgwZDAxLAkxNSwJezB4N2YsIDB4MDgsIDB4MjIsIDB4ZTQsIDB4ZjUsIDB4MGQsIDB4N2YsIDB4MDcsIDB4MjIsIDB4ZTQsIDB4ZjUsIDB4MGQsIDB4N2YsIDB4MDYsIDB4MjJ9IH0sCi17IDB4MGQxMCwJMTYsCXsweDEyLCAweDBjLCAweGExLCAweGU1LCAweDBkLCAweDI0LCAweGZhLCAweDYwLCAweDEwLCAweDE0LCAweDYwLCAweDA3LCAweDI0LCAweDA3LCAweDcwLCAweGYzfSB9LAoteyAweDBkMjAsCTE1LAl7MHg3ZiwgMHgwOCwgMHgyMiwgMHhlNCwgMHhmNSwgMHgwZCwgMHg3ZiwgMHgwNywgMHgyMiwgMHhlNCwgMHhmNSwgMHgwZCwgMHg3ZiwgMHgwNiwgMHgyMn0gfSwKLXsgMHgwZDJmLAkxNiwJezB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4OTAsIDB4N2YsIDB4YzQsIDB4ZTQsIDB4ZjAsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2Z9IH0sCi17IDB4MGQzZiwJMTEsCXsweGFiLCAweDc0LCAweDA0LCAweGYwLCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyfSB9LAoteyAweDBkNGEsCTE2LAl7MHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHgzMCwgMHhlNywgMHgxMiwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg3ZiwgMHgxNCwgMHg3ZSwgMHgwMCwgMHgxMn0gfSwKLXsgMHgwZDVhLAkxMCwJezB4MGQsIDB4OTQsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NTQsIDB4ZmUsIDB4ZjAsIDB4MjJ9IH0sCi17IDB4MGQ2NCwJMTYsCXsweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGQyLCAweDAxLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDAxfSB9LAoteyAweDBkNzQsCTgsCXsweGYwLCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyfSB9LAoteyAweDBkN2MsCTE2LAl7MHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhkMiwgMHgwMywgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwOH0gfSwKLXsgMHgwZDhjLAk4LAl7MHhmMCwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMn0gfSwKLXsgMHgwZDk0LAkxNiwJezB4OGUsIDB4MzgsIDB4OGYsIDB4MzksIDB4ZTUsIDB4MzksIDB4MTUsIDB4MzksIDB4YWUsIDB4MzgsIDB4NzAsIDB4MDIsIDB4MTUsIDB4MzgsIDB4NGUsIDB4NjB9IH0sCi17IDB4MGRhNCwJNywJezB4MDUsIDB4MTIsIDB4MGUsIDB4MDAsIDB4ODAsIDB4ZWUsIDB4MjJ9IH0sCi17IDB4MGRhYiwJMTYsCXsweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDAyLCAweGYwLCAweGQwfSB9LAoteyAweDBkYmIsCTYsCXsweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyfSB9LAoteyAweDBkYzEsCTE2LAl7MHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgxMCwgMHhmMCwgMHhkMH0gfSwKLXsgMHgwZGQxLAk2LAl7MHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMn0gfSwKLXsgMHgwZGQ3LAkxNiwJezB4YWUsIDB4MDcsIDB4N2YsIDB4MjEsIDB4N2QsIDB4MDEsIDB4NzQsIDB4MDAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MGYsIDB4YWIsIDB4ODJ9IH0sCi17IDB4MGRlNywJNSwJezB4ZmEsIDB4MTIsIDB4MGQsIDB4MTAsIDB4MjJ9IH0sCi17IDB4MGRlYywJMTYsCXsweDUwLCAweDBmLCAweDAwLCAweGMwLCAweGY5LCAweGE0LCAweGIwLCAweDk5LCAweDkyLCAweDgyLCAweGY4LCAweDgwLCAweDk4LCAweDg4LCAweDgzLCAweGM2fSB9LAoteyAweDBkZmMsCTMsCXsweGExLCAweDg2LCAweDhlfSB9LAoteyAweDBkZmYsCTEsCXsweDAwfSB9LAoteyAweDBlMDAsCTE2LAl7MHg3NCwgMHgwMCwgMHhmNSwgMHg4NiwgMHg5MCwgMHhmZCwgMHhhNSwgMHg3YywgMHgwNSwgMHhhMywgMHhlNSwgMHg4MiwgMHg0NSwgMHg4MywgMHg3MCwgMHhmOX0gfSwKLXsgMHgwZTEwLAkxLAl7MHgyMn0gfSwKLXsgMHgwZTExLAkxNCwJezB4OTAsIDB4N2YsIDB4MDAsIDB4ZTUsIDB4MTAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4ZDMsIDB4MjJ9IH0sCi17IDB4MGUxZiwJMTQsCXsweDkwLCAweDdmLCAweDAwLCAweGU1LCAweDBlLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAxLCAweGYwLCAweGQzLCAweDIyfSB9LAoteyAweDBlMmQsCTgsCXsweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGY1LCAweDBlLCAweGQzLCAweDIyfSB9LAoteyAweDBlMzUsCTgsCXsweGU0LCAweGY1LCAweDBkLCAweGQyLCAweGU5LCAweGQyLCAweGFmLCAweDIyfSB9LAoteyAweDBlM2QsCTMsCXsweGQyLCAweDAwLCAweDIyfSB9LAoteyAweDBlNDAsCTIsCXsweGQzLCAweDIyfSB9LAoteyAweDBlNDIsCTIsCXsweGQzLCAweDIyfSB9LAoteyAweDBlNDQsCTIsCXsweGQzLCAweDIyfSB9LAoteyAweDBlNDYsCTIsCXsweGQzLCAweDIyfSB9LAoteyAweDBlNDgsCTIsCXsweGQzLCAweDIyfSB9LAoteyAweDBlNGEsCTIsCXsweGQzLCAweDIyfSB9LAoteyAweDBlNGMsCTEsCXsweDMyfSB9LAoteyAweDBlNGQsCTEsCXsweDMyfSB9LAoteyAweDBlNGUsCTEsCXsweDMyfSB9LAoteyAweDBlNGYsCTEsCXsweDMyfSB9LAoteyAweDBlNTAsCTEsCXsweDMyfSB9LAoteyAweDBlNTEsCTEsCXsweDMyfSB9LAoteyAweDBlNTIsCTEsCXsweDMyfSB9LAoteyAweDBlNTMsCTEsCXsweDMyfSB9LAoteyAweDBlNTQsCTEsCXsweDMyfSB9LAoteyAweDBlNTUsCTEsCXsweDMyfSB9LAoteyAweDBlNTYsCTEsCXsweDMyfSB9LAoteyAweDBlNTcsCTEsCXsweDMyfSB9LAoteyAweDBlNTgsCTEsCXsweDMyfSB9LAoteyAweDBlNTksCTEsCXsweDMyfSB9LAoteyAweDBlNWEsCTEsCXsweDMyfSB9LAoteyAweDBlNWIsCTEsCXsweDMyfSB9LAoteyAweDExMDAsCTE2LAl7MHgxMiwgMHgwMSwgMHgwMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHg0MCwgMHg0NywgMHgwNSwgMHgxMCwgMHgyNywgMHgwMSwgMHgwMCwgMHgwMSwgMHgwMn0gfSwKLXsgMHgxMTEwLAkxNiwJezB4MDAsIDB4MDEsIDB4MDksIDB4MDIsIDB4MjAsIDB4MDAsIDB4MDEsIDB4MDEsIDB4MDMsIDB4YTAsIDB4MDAsIDB4MDksIDB4MDQsIDB4MDAsIDB4MDAsIDB4MDJ9IH0sCi17IDB4MTEyMCwJMTYsCXsweGZmLCAweDAwLCAweDAwLCAweDA0LCAweDA3LCAweDA1LCAweDgyLCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAyLCAweDAyLCAweDQwfSB9LAoteyAweDExMzAsCTE2LAl7MHgwMCwgMHgwMCwgMHgwNCwgMHgwMywgMHgwOSwgMHgwNCwgMHgyNiwgMHgwMywgMHg0MSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2MywgMHgwMCwgMHg2OCwgMHgwMH0gfSwKLXsgMHgxMTQwLAkxNiwJezB4NmYsIDB4MDAsIDB4NzIsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NDMsIDB4MDAsIDB4NjgsIDB4MDAsIDB4NjksIDB4MDAsIDB4NzAsIDB4MDAsIDB4NzMsIDB4MDB9IH0sCi17IDB4MTE1MCwJMTYsCXsweDJjLCAweDAwLCAweDIwLCAweDAwLCAweDQ5LCAweDAwLCAweDZlLCAweDAwLCAweDYzLCAweDAwLCAweDJlLCAweDAwLCAweDI4LCAweDAzLCAweDQ2LCAweDAwfSB9LAoteyAweDExNjAsCTE2LAl7MHg2OSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2ZCwgMHgwMCwgMHg3NywgMHgwMCwgMHg2MSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2NSwgMHgwMCwgMHgyMCwgMHgwMH0gfSwKLXsgMHgxMTcwLAkxNiwJezB4NDYsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjEsIDB4MDAsIDB4NmQsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NTcsIDB4MDAsIDB4NmYsIDB4MDAsIDB4NzIsIDB4MDB9IH0sCi17IDB4MTE4MCwJMTYsCXsweDZiLCAweDAwLCAweDczLCAweDAwLCAweDJhLCAweDAzLCAweDQzLCAweDAwLCAweDZmLCAweDAwLCAweDZlLCAweDAwLCAweDY2LCAweDAwLCAweDY5LCAweDAwfSB9LAoteyAweDExOTAsCTE2LAl7MHg2NywgMHgwMCwgMHg3NSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2MSwgMHgwMCwgMHg3NCwgMHgwMCwgMHg2OSwgMHgwMCwgMHg2ZiwgMHgwMCwgMHg2ZSwgMHgwMH0gfSwKLXsgMHgxMWEwLAkxNiwJezB4MjAsIDB4MDAsIDB4NTMsIDB4MDAsIDB4NzQsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjksIDB4MDAsIDB4NmUsIDB4MDAsIDB4NjcsIDB4MDAsIDB4MjIsIDB4MDN9IH0sCi17IDB4MTFiMCwJMTYsCXsweDQ5LCAweDAwLCAweDZlLCAweDAwLCAweDc0LCAweDAwLCAweDY1LCAweDAwLCAweDcyLCAweDAwLCAweDY2LCAweDAwLCAweDYxLCAweDAwLCAweDYzLCAweDAwfSB9LAoteyAweDExYzAsCTE2LAl7MHg2NSwgMHgwMCwgMHgyMCwgMHgwMCwgMHg1MywgMHgwMCwgMHg3NCwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2OSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2NywgMHgwMH0gfSwKLXsgMHgxMWQwLAkyLAl7MHgwMCwgMHgwMH0gfSwKLXsgMHhmZmZmLAkwLAl7MHgwMH0gfQotfTsKLSNlbmRpZgpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Ivc2VyaWFsL3hpcmNvbV9wZ3NfZncuaCBiL2RyaXZlcnMvdXNiL3NlcmlhbC94aXJjb21fcGdzX2Z3LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNmZjc0YTYuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy91c2Ivc2VyaWFsL3hpcmNvbV9wZ3NfZncuaAorKysgL2Rldi9udWxsCkBAIC0xLDEwMyArMCwwIEBACi0vKgotICogVVNCIFhpcmNvbSBQR1MgRmlybXdhcmUKLSAqCi0gKiBDb3B5cmlnaHQgKEMpIDE5OTksIDIwMDAgQnJpYW4gV2FybmVyICAgICAgICA8d2FybmVyQGxvdGhhci5jb20+Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMDEgQ3Jpc3RpYW4gTS4gQ3JhY2l1bmVzY3UJPGNyaXN0aUBkbnQucm8+Ci0gKgotICogICAgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotICogICAgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotICogICAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgotICogICAgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIEdlbmVyYXRlZCBmcm9tIHhpcmNvbV9wZ3MuUyBieSBlenVzYl9jb252ZXJ0X3gucGwKLSAqLwotCi1zdGF0aWMgY29uc3Qgc3RydWN0IGV6dXNiX2hleF9yZWNvcmQgeGlyY29tX3Bnc19maXJtd2FyZVtdID0gewoteyAweDAwMDAsCTMsCXsweDAyLCAweDAyLCAweDAwfSB9LAoteyAweDAwMjMsCTQsCXsweDAyLCAweDA1LCAweDliLCAweDAwfSB9LAoteyAweDAwMzAsCTUsCXsweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfSB9LAoteyAweDAwNDMsCTQsCXsweDAyLCAweDAxLCAweDAwLCAweDAwfSB9LAoteyAweDAxMDAsCTE2LAl7MHgwMiwgMHgwMiwgMHhiYSwgMHgwMCwgMHgwMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwMCwgMHgwMCwgMHgwMH0gfSwKLXsgMHgwMTEwLAkxNiwJezB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDB9IH0sCi17IDB4MDEyMCwJMTYsCXsweDAyLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDA0LCAweDg1LCAweDAwLCAweDAyLCAweDA0LCAweGI5LCAweDAwfSB9LAoteyAweDAyMDAsCTE2LAl7MHg3NSwgMHg4MSwgMHg1ZSwgMHhlNCwgMHhmNSwgMHgzMiwgMHhmNSwgMHgzMywgMHhmNSwgMHgzMCwgMHhmNSwgMHgzMSwgMHhmNSwgMHgzNCwgMHhjMiwgMHgwMH0gfSwKLXsgMHgwMjEwLAkxNiwJezB4YzIsIDB4MDEsIDB4YTksIDB4MDAsIDB4NzQsIDB4ZmUsIDB4OTAsIDB4MTAsIDB4MDAsIDB4ZjAsIDB4YTMsIDB4ZDksIDB4ZmMsIDB4NzQsIDB4ZmQsIDB4OTB9IH0sCi17IDB4MDIyMCwJMTYsCXsweDExLCAweDAwLCAweGYwLCAweGEzLCAweGQ5LCAweGZjLCAweDkwLCAweDdmLCAweDk0LCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmLCAweDk1LCAweDc0fSB9LAoteyAweDAyMzAsCTE2LAl7MHhlZiwgMHhmMCwgMHg3NCwgMHgxMCwgMHg5MCwgMHg3ZiwgMHg5ZSwgMHhmMCwgMHg3NCwgMHgwMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHhmMCwgMHg3NCwgMHg0MH0gfSwKLXsgMHgwMjQwLAkxNiwJezB4OTAsIDB4N2YsIDB4OWQsIDB4ZjAsIDB4NzQsIDB4MDAsIDB4OTAsIDB4N2YsIDB4OTcsIDB4ZjAsIDB4NzQsIDB4ODIsIDB4OTAsIDB4N2YsIDB4OWUsIDB4ZjB9IH0sCi17IDB4MDI1MCwJMTYsCXsweDkwLCAweDdmLCAweDk1LCAweDc0LCAweDAzLCAweGYwLCAweDkwLCAweDdmLCAweGFmLCAweGUwLCAweGQyLCAweGUwLCAweGYwLCAweDc0LCAweDAxLCAweDkwfSB9LAoteyAweDAyNjAsCTE2LAl7MHg3ZiwgMHhhYiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhZSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhYywgMHg3NCwgMHgwNCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhZH0gfSwKLXsgMHgwMjcwLAkxNiwJezB4NzQsIDB4MDQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZjAsIDB4NzQsIDB4MDcsIDB4OTAsIDB4N2YsIDB4YWYsIDB4ZjAsIDB4NzQsIDB4MjAsIDB4OTB9IH0sCi17IDB4MDI4MCwJMTYsCXsweDdmLCAweDljLCAweGYwLCAweDc0LCAweDgwLCAweDkwLCAweDdmLCAweDk4LCAweGYwLCAweDc0LCAweDUzLCAweGY1LCAweDk4LCAweDc1LCAweGM4LCAweDMwfSB9LAoteyAweDAyOTAsCTE2LAl7MHg3YiwgMHgwNSwgMHg5MSwgMHg0NCwgMHhkMiwgMHhjYSwgMHg3NSwgMHg5OCwgMHg1MCwgMHhkMiwgMHhlOCwgMHhkMiwgMHhhZiwgMHhkMiwgMHhhYywgMHg3NH0gfSwKLXsgMHgwMmEwLAkxNiwJezB4MDAsIDB4ZjUsIDB4ODYsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4NzksIDB4MmUsIDB4N2EsIDB4MDAsIDB4N2IsIDB4MDAsIDB4ZGJ9IH0sCi17IDB4MDJiMCwJMTYsCXsweGZlLCAweGRhLCAweGZhLCAweGQ5LCAweGY2LCAweDc0LCAweDA2LCAweGYwLCAweDgwLCAweGZlLCAweGMwLCAweDg2LCAweGMwLCAweDgyLCAweGMwLCAweDgzfSB9LAoteyAweDAyYzAsCTE2LAl7MHhjMCwgMHg4NCwgMHhjMCwgMHg4NSwgMHhjMCwgMHhlMCwgMHhlNSwgMHg5MSwgMHhjMiwgMHhlNCwgMHhmNSwgMHg5MSwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NH0gfSwKLXsgMHgwMmQwLAkxNiwJezB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4ZjksIDB4YTMsIDB4ZTAsIDB4ZmEsIDB4YTMsIDB4ZTAsIDB4ZmIsIDB4YTMsIDB4ZTAsIDB4ZmN9IH0sCi17IDB4MDJlMCwJMTYsCXsweGU5LCAweDU0LCAweDYwLCAweGI0LCAweDAwLCAweDAzLCAweDAyLCAweDAzLCAweDVkLCAweGI0LCAweDQwLCAweDZlLCAweGJhLCAweDAwLCAweDBiLCAweDEyfSB9LAoteyAweDAyZjAsCTE2LAl7MHgwNCwgMHg0NCwgMHg0MCwgMHgwMywgMHgwMiwgMHgwNCwgMHgyNiwgMHgwMiwgMHgwNCwgMHgyZSwgMHhiYSwgMHgwMSwgMHgwMywgMHgwMiwgMHgwNCwgMHgyZX0gfSwKLXsgMHgwMzAwLAkxNiwJezB4YmEsIDB4MDIsIDB4MDMsIDB4MDIsIDB4MDQsIDB4MmUsIDB4YmEsIDB4MDMsIDB4MDMsIDB4MDIsIDB4MDQsIDB4NjgsIDB4YmEsIDB4MDQsIDB4MWUsIDB4YmJ9IH0sCi17IDB4MDMxMCwJMTYsCXsweDAwLCAweDBhLCAweDkwLCAweDdmLCAweDk1LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDAyLCAweDA0LCAweDI2LCAweDkwLCAweDdmLCAweDk4LCAweGUwfSB9LAoteyAweDAzMjAsCTE2LAl7MHg1NCwgMHhmZCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NSwgMHhlMCwgMHg1NCwgMHhmZCwgMHhmMCwgMHgwMiwgMHgwNCwgMHgyNiwgMHhiYSwgMHgwNSwgMHgwM30gfSwKLXsgMHgwMzMwLAkxNiwJezB4MDIsIDB4MDQsIDB4MmUsIDB4YmEsIDB4MDYsIDB4MTksIDB4YmIsIDB4MDAsIDB4MDgsIDB4ZTUsIDB4MzMsIDB4ZDMsIDB4OTUsIDB4MzIsIDB4MDIsIDB4MDR9IH0sCi17IDB4MDM0MCwJMTYsCXsweDAyLCAweGJiLCAweDAxLCAweDA4LCAweGU1LCAweDMyLCAweGMzLCAweDk1LCAweDMzLCAweDAyLCAweDA0LCAweDAyLCAweDAyLCAweDA0LCAweDJlLCAweGJhfSB9LAoteyAweDAzNTAsCTE2LAl7MHgwNywgMHgwNSwgMHg4YiwgMHgzNCwgMHgwMiwgMHgwNCwgMHgyNiwgMHgwMiwgMHgwNCwgMHgyZSwgMHgwMiwgMHgwNCwgMHgyZSwgMHhiYSwgMHgwMCwgMHgyMH0gfSwKLXsgMHgwMzYwLAkxNiwJezB4YjksIDB4ODAsIDB4MTAsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZTQsIDB4ZjAsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjB9IH0sCi17IDB4MDM3MCwJMTYsCXsweDAyLCAweDA0LCAweDI2LCAweGI5LCAweDgyLCAweDAyLCAweDgwLCAweGViLCAweGI5LCAweDgxLCAweDAyLCAweDgwLCAweGU2LCAweDAyLCAweDA0LCAweDJlfSB9LAoteyAweDAzODAsCTE2LAl7MHhiYSwgMHgwMSwgMHgwZiwgMHhiYiwgMHgwMCwgMHgwMywgMHgwMiwgMHgwNCwgMHgyZSwgMHhiYiwgMHgwMSwgMHgwMywgMHgwMiwgMHgwNCwgMHgyNiwgMHgwMn0gfSwKLXsgMHgwMzkwLAkxNiwJezB4MDQsIDB4MmUsIDB4YmEsIDB4MDMsIDB4MGYsIDB4YmIsIDB4MDAsIDB4MDMsIDB4MDIsIDB4MDQsIDB4MmUsIDB4YmIsIDB4MDEsIDB4MDMsIDB4MDIsIDB4MDR9IH0sCi17IDB4MDNhMCwJMTYsCXsweDI2LCAweDAyLCAweDA0LCAweDJlLCAweGJhLCAweDA2LCAweDU2LCAweGJjLCAweDAxLCAweDBmLCAweDkwLCAweDdmLCAweGQ0LCAweDc0LCAweDA2LCAweGYwfSB9LAoteyAweDAzYjAsCTE2LAl7MHg5MCwgMHg3ZiwgMHhkNSwgMHg3NCwgMHg1YSwgMHhmMCwgMHgwMiwgMHgwNCwgMHgyNiwgMHhiYywgMHgwMiwgMHgxMiwgMHhiYiwgMHgwMCwgMHg2ZiwgMHg5MH0gfSwKLXsgMHgwM2MwLAkxNiwJezB4N2YsIDB4ZDQsIDB4NzQsIDB4MDYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZDUsIDB4NzQsIDB4NmMsIDB4ZjAsIDB4MDIsIDB4MDQsIDB4MjYsIDB4YmMsIDB4MDN9IH0sCi17IDB4MDNkMCwJMTYsCXsweDI5LCAweDc0LCAweDA0LCAweGMzLCAweDliLCAweDQwLCAweDU3LCAweDYwLCAweDU1LCAweGViLCAweDJiLCAweDkwLCAweDA2LCAweDhjLCAweDI1LCAweDgyfSB9LAoteyAweDAzZTAsCTE2LAl7MHhmNSwgMHg4MiwgMHg3NCwgMHgwMCwgMHgzNSwgMHg4MywgMHhmNSwgMHg4MywgMHhlMCwgMHhmOSwgMHhhMywgMHhlMCwgMHhmYSwgMHg5MCwgMHg3ZiwgMHhkNH0gfSwKLXsgMHgwM2YwLAkxNiwJezB4ZTksIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZDUsIDB4ZWEsIDB4ZjAsIDB4MDIsIDB4MDQsIDB4MjYsIDB4MDIsIDB4MDQsIDB4MmUsIDB4YmEsIDB4MDgsIDB4MGZ9IH0sCi17IDB4MDQwMCwJMTYsCXsweDc0LCAweDAxLCAweDkwLCAweDdmLCAweDAwLCAweGYwLCAweDc0LCAweDAxLCAweDkwLCAweDdmLCAweGI1LCAweGYwLCAweDAyLCAweDA0LCAweDI2LCAweGJhfSB9LAoteyAweDA0MTAsCTE2LAl7MHgwOSwgMHgwMywgMHgwMiwgMHgwNCwgMHgyNiwgMHhiYSwgMHgwYSwgMHgwNSwgMHg3NCwgMHgwMCwgMHgwMiwgMHgwNCwgMHgwMiwgMHhiYSwgMHgwYiwgMHgwM30gfSwKLXsgMHgwNDIwLAkxNiwJezB4MDIsIDB4MDQsIDB4MjYsIDB4MDIsIDB4MDQsIDB4MmUsIDB4OTAsIDB4N2YsIDB4YjQsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4ODAsIDB4MDksIDB4OTAsIDB4N2Z9IH0sCi17IDB4MDQzMCwJMTYsCXsweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDgwLCAweDAwLCAweGQwLCAweGUwLCAweGQwLCAweDg1LCAweGQwLCAweDg0LCAweGQwLCAweDgzLCAweGQwfSB9LAoteyAweDA0NDAsCTE2LAl7MHg4MiwgMHhkMCwgMHg4NiwgMHgzMiwgMHhlYiwgMHgyMCwgMHhlNywgMHgxZSwgMHhjMywgMHg5NCwgMHgwYSwgMHg1MCwgMHgxOSwgMHhlYiwgMHgyMywgMHgyNH0gfSwKLXsgMHgwNDUwLAkxNiwJezB4NDYsIDB4ZjUsIDB4ODIsIDB4NzQsIDB4MDYsIDB4MzQsIDB4MDAsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4Y2IsIDB4ZjUsIDB4Y2QsIDB4YTMsIDB4ZTB9IH0sCi17IDB4MDQ2MCwJMTYsCXsweGY1LCAweGNhLCAweGY1LCAweGNjLCAweGMzLCAweDIyLCAweGQzLCAweDIyLCAweGI5LCAweDQxLCAweDExLCAweGViLCAweDY0LCAweGZmLCAweDU0LCAweDgwfSB9LAoteyAweDA0NzAsCTE2LAl7MHhmYiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHhlMCwgMHg1NCwgMHg3ZiwgMHg0YiwgMHhmMCwgMHgwMiwgMHgwNCwgMHgyNiwgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMH0gfSwKLXsgMHgwNDgwLAkxNiwJezB4NjQsIDB4ZmYsIDB4MDIsIDB4MDQsIDB4MDIsIDB4YzAsIDB4ODYsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODUsIDB4YzB9IH0sCi17IDB4MDQ5MCwJMTYsCXsweGUwLCAweGU1LCAweDkxLCAweGMyLCAweGU0LCAweGY1LCAweDkxLCAweDkwLCAweDdmLCAweGE5LCAweDc0LCAweDA0LCAweGYwLCAweDc0LCAweDIwLCAweDkwfSB9LAoteyAweDA0YTAsCTE2LAl7MHg3ZiwgMHg5YywgMHhmMCwgMHgxMiwgMHgwNSwgMHhkYywgMHg3NCwgMHgyMCwgMHg5MCwgMHg3ZiwgMHg5YywgMHhmMCwgMHhkMCwgMHhlMCwgMHhkMCwgMHg4NX0gfSwKLXsgMHgwNGIwLAkxNiwJezB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODYsIDB4MzIsIDB4YzAsIDB4ODYsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODMsIDB4YzB9IH0sCi17IDB4MDRjMCwJMTYsCXsweDg0LCAweGMwLCAweDg1LCAweGMwLCAweGUwLCAweDc0LCAweDEwLCAweDkwLCAweDdmLCAweDljLCAweGYwLCAweGU1LCAweDkxLCAweGMyLCAweGU0LCAweGY1fSB9LAoteyAweDA0ZDAsCTE2LAl7MHg5MSwgMHg5MCwgMHg3ZiwgMHhhYSwgMHg3NCwgMHgwNCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhjOSwgMHhlMCwgMHhmOSwgMHhlNCwgMHhmNSwgMHg4NiwgMHg5MH0gfSwKLXsgMHgwNGUwLAkxNiwJezB4N2QsIDB4YzAsIDB4NzUsIDB4ODUsIDB4MTAsIDB4ODUsIDB4MzIsIDB4ODQsIDB4ZTAsIDB4MDUsIDB4ODYsIDB4MDUsIDB4ODQsIDB4ZjAsIDB4ZTUsIDB4ODR9IH0sCi17IDB4MDRmMCwJMTYsCXsweGI1LCAweDMzLCAweDAyLCAweDgwLCAweDA5LCAweDA1LCAweDMyLCAweDA1LCAweDg2LCAweGEzLCAweGQ5LCAweGVjLCAweDgwLCAweDAwLCAweDkwLCAweDdmfSB9LAoteyAweDA1MDAsCTE2LAl7MHhjOSwgMHhmMCwgMHhiMSwgMHg2ZCwgMHg3NCwgMHgyMCwgMHg5MCwgMHg3ZiwgMHg5YywgMHhmMCwgMHhkMCwgMHhlMCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4NH0gfSwKLXsgMHgwNTEwLAkxNiwJezB4ZDAsIDB4ODMsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODYsIDB4MzIsIDB4ZTQsIDB4ZjUsIDB4ODYsIDB4OTAsIDB4N2YsIDB4YmMsIDB4ZTAsIDB4MjAsIDB4ZTF9IH0sCi17IDB4MDUyMCwJMTYsCXsweDRiLCAweDkwLCAweDdkLCAweDAwLCAweGU1LCAweDMyLCAweGYwLCAweGEzLCAweGU1LCAweDMzLCAweGYwLCAweGEzLCAweGU1LCAweDMwLCAweGYwLCAweGEzfSB9LAoteyAweDA1MzAsCTE2LAl7MHhlNSwgMHgzMSwgMHhmMCwgMHhhMywgMHhlNCwgMHgzMCwgMHgwMCwgMHgwMSwgMHgwNCwgMHhmMCwgMHhhMywgMHgwNSwgMHg4NiwgMHg5MCwgMHgxMCwgMHgwMH0gfSwKLXsgMHgwNTQwLAkxNiwJezB4NzksIDB4MTAsIDB4ZTAsIDB4YTMsIDB4MDUsIDB4ODYsIDB4ZjAsIDB4YTMsIDB4MDUsIDB4ODYsIDB4ZDksIDB4ZjYsIDB4MDUsIDB4ODYsIDB4NzQsIDB4ZmN9IH0sCi17IDB4MDU1MCwJMTYsCXsweGYwLCAweGEzLCAweDA1LCAweDg2LCAweDkwLCAweDExLCAweDAwLCAweDc5LCAweDEwLCAweGUwLCAweGEzLCAweDA1LCAweDg2LCAweGYwLCAweGEzLCAweDA1fSB9LAoteyAweDA1NjAsCTE2LAl7MHg4NiwgMHhkOSwgMHhmNiwgMHhlNCwgMHhmNSwgMHg4NiwgMHg5MCwgMHg3ZiwgMHhiZCwgMHg3NCwgMHgyNiwgMHhmMCwgMHgyMiwgMHgyMCwgMHgwMCwgMHgxM30gfSwKLXsgMHgwNTcwLAkxNiwJezB4ZTUsIDB4MzIsIDB4YjUsIDB4MzMsIDB4MDEsIDB4MjIsIDB4MDUsIDB4MzMsIDB4NzUsIDB4ODMsIDB4MTAsIDB4ODUsIDB4MzMsIDB4ODIsIDB4ZTAsIDB4ZjV9IH0sCi17IDB4MDU4MCwJMTYsCXsweDk5LCAweGQyLCAweDAwLCAweDc0LCAweDAwLCAweGI1LCAweDM0LCAweDAxLCAweDIyLCAweGU1LCAweDMzLCAweGQzLCAweDk1LCAweDMyLCAweGMzLCAweDk1fSB9LAoteyAweDA1OTAsCTE2LAl7MHgzNCwgMHg0MCwgMHhmNSwgMHg3NSwgMHgzNCwgMHgwMCwgMHhkMiwgMHgwMSwgMHgwMiwgMHgwNSwgMHhkYywgMHhjMCwgMHg4NiwgMHhjMCwgMHg4MiwgMHhjMH0gfSwKLXsgMHgwNWEwLAkxNiwJezB4ODMsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ZTAsIDB4MzAsIDB4OTksIDB4MDcsIDB4YzIsIDB4OTksIDB4YzIsIDB4MDAsIDB4MTIsIDB4MDV9IH0sCi17IDB4MDViMCwJMTYsCXsweDcwLCAweDMwLCAweDk4LCAweDA1LCAweDEyLCAweDA1LCAweGM2LCAweGMyLCAweDk4LCAweGQwLCAweGUwLCAweGQwLCAweDg1LCAweGQwLCAweDg0LCAweGQwfSB9LAoteyAweDA1YzAsCTE2LAl7MHg4MywgMHhkMCwgMHg4MiwgMHhkMCwgMHg4NiwgMHgzMiwgMHg3NSwgMHg4MywgMHgxMSwgMHg4NSwgMHgzMCwgMHg4MiwgMHgwNSwgMHg4MiwgMHhlNSwgMHg5OX0gfSwKLXsgMHgwNWQwLAkxNiwJezB4ZjAsIDB4ZTUsIDB4ODIsIDB4YjUsIDB4MzEsIDB4MDEsIDB4MjIsIDB4MDUsIDB4MzAsIDB4YjEsIDB4ZGMsIDB4MjIsIDB4NzQsIDB4MTAsIDB4OTAsIDB4N2Z9IH0sCi17IDB4MDVlMCwJMTYsCXsweDljLCAweGYwLCAweDkwLCAweDdmLCAweGI4LCAweGUwLCAweDIwLCAweGUxLCAweDNlLCAweDIwLCAweDAxLCAweDNjLCAweGU1LCAweDMwLCAweGI1LCAweDMxfSB9LAoteyAweDA1ZjAsCTE2LAl7MHgwMSwgMHgyMiwgMHhlNCwgMHhmNSwgMHg4NiwgMHg3NSwgMHg4MywgMHgxMSwgMHgwNSwgMHg4NiwgMHg5MCwgMHg3ZSwgMHgwMCwgMHhmMCwgMHhhMywgMHgwNX0gfSwKLXsgMHgwNjAwLAkxNiwJezB4ODYsIDB4NzksIDB4MDEsIDB4ZTUsIDB4MzAsIDB4YjUsIDB4MzEsIDB4MDIsIDB4ODAsIDB4MTAsIDB4MDUsIDB4MzEsIDB4ODUsIDB4MzEsIDB4ODIsIDB4ZTB9IH0sCi17IDB4MDYxMCwJMTYsCXsweDA1LCAweDg2LCAweGYwLCAweGEzLCAweDA1LCAweDg2LCAweDA5LCAweGI5LCAweDQwLCAweGU5LCAweDc0LCAweDEwLCAweDkwLCAweDdmLCAweDljLCAweGYwfSB9LAoteyAweDA2MjAsCTE2LAl7MHg5MCwgMHg3ZiwgMHhiOSwgMHhlOSwgMHg2MCwgMHgwMSwgMHhmMCwgMHgyMiwgMHhjMiwgMHgwMSwgMHhlNCwgMHhmNSwgMHg4NiwgMHg5MCwgMHg3ZSwgMHgwMH0gfSwKLXsgMHgwNjMwLAkxNiwJezB4NzQsIDB4MDEsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjksIDB4ZjAsIDB4MjIsIDB4YzIsIDB4OTksIDB4ZjUsIDB4OTl9IH0sCi17IDB4MDY0MCwJMTYsCXsweDMwLCAweDk5LCAweGZkLCAweGMyLCAweDk5LCAweDIyLCAweGU1LCAweDVlLCAweGY2LCAweDNjLCAweGZkLCAweDhmLCAweGZlLCAweGM4LCAweGZmLCAweDY0fSB9LAoteyAweDA2NTAsCTE2LAl7MHhmZiwgMHhiMiwgMHhmZiwgMHhkOSwgMHhmZiwgMHhlZCwgMHhmZiwgMHhmMywgMHhmZiwgMHhmYSwgMHgxMiwgMHgwMSwgMHgwMCwgMHgwMSwgMHhmZiwgMHhmZn0gfSwKLXsgMHgwNjYwLAkxNiwJezB4ZmYsIDB4NDAsIDB4Y2QsIDB4MDYsIDB4MDQsIDB4MDEsIDB4ODksIDB4YWIsIDB4MDEsIDB4MDIsIDB4MDMsIDB4MDEsIDB4MDksIDB4MDIsIDB4MjAsIDB4MDB9IH0sCi17IDB4MDY3MCwJMTYsCXsweDAxLCAweDAxLCAweDAwLCAweDgwLCAweDMyLCAweDA5LCAweDA0LCAweDAwLCAweDAwLCAweDAyLCAweGZmLCAweGZmLCAweGZmLCAweDAwLCAweDA3LCAweDA1fSB9LAoteyAweDA2ODAsCTE2LAl7MHg4MiwgMHgwMywgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHgwMiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNiwgMHg5NCwgMHgwNiwgMHg5OH0gfSwKLXsgMHgwNjkwLAkxNiwJezB4MDYsIDB4YmEsIDB4MDYsIDB4ZTgsIDB4MDQsIDB4MDMsIDB4MDAsIDB4MDAsIDB4MjIsIDB4MDMsIDB4NDEsIDB4MDAsIDB4NDMsIDB4MDAsIDB4NGQsIDB4MDB9IH0sCi17IDB4MDZhMCwJMTYsCXsweDQ1LCAweDAwLCAweDIwLCAweDAwLCAweDc1LCAweDAwLCAweDczLCAweDAwLCAweDYyLCAweDAwLCAweDIwLCAweDAwLCAweDc3LCAweDAwLCAweDY5LCAweDAwfSB9LAoteyAweDA2YjAsCTE2LAl7MHg2NCwgMHgwMCwgMHg2NywgMHgwMCwgMHg2NSwgMHgwMCwgMHg3NCwgMHgwMCwgMHg3MywgMHgwMCwgMHgyZSwgMHgwMywgMHg0MSwgMHgwMCwgMHg0MywgMHgwMH0gfSwKLXsgMHgwNmMwLAkxNiwJezB4NGQsIDB4MDAsIDB4NDUsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NTUsIDB4MDAsIDB4NTMsIDB4MDAsIDB4NDIsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NzMsIDB4MDB9IH0sCi17IDB4MDZkMCwJMTYsCXsweDY1LCAweDAwLCAweDcyLCAweDAwLCAweDY5LCAweDAwLCAweDYxLCAweDAwLCAweDZjLCAweDAwLCAweDIwLCAweDAwLCAweDc3LCAweDAwLCAweDY5LCAweDAwfSB9LAoteyAweDA2ZTAsCTE0LAl7MHg2NCwgMHgwMCwgMHg2NywgMHgwMCwgMHg2NSwgMHgwMCwgMHg3NCwgMHgwMCwgMHgwNiwgMHgwMywgMHgzNCwgMHgwMCwgMHgzNywgMHgwMH0gfSwKLXsgMHhmZmZmLAkwLAl7MHgwMH0gfQotfTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vS2NvbmZpZyBiL2RyaXZlcnMvdmlkZW8vS2NvbmZpZwppbmRleCBlMGM1Zjk2Li45Yjg4N2VmIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL0tjb25maWcKKysrIGIvZHJpdmVycy92aWRlby9LY29uZmlnCkBAIC03LDcgKzcsNyBAQAogCiBzb3VyY2UgImRyaXZlcnMvY2hhci9hZ3AvS2NvbmZpZyIKIAotc291cmNlICJkcml2ZXJzL2NoYXIvZHJtL0tjb25maWciCitzb3VyY2UgImRyaXZlcnMvZ3B1L2RybS9LY29uZmlnIgogCiBjb25maWcgVkdBU1RBVEUKICAgICAgICB0cmlzdGF0ZQpkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvS2NvbmZpZyBiL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L0tjb25maWcKaW5kZXggZGNkODA3My4uMzBiZjdmMiAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvS2NvbmZpZworKysgYi9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9LY29uZmlnCkBAIC0xMTIsMyArMTEyLDEwIEBACiAJaGVscAogCSAgSWYgeW91IGhhdmUgYSBJbnRlbCBMRTgwNTc4IChDYXJpbGxvIFJhbmNoKSBzYXkgWSB0byBlbmFibGUgdGhlCiAJICBiYWNrbGlnaHQgZHJpdmVyLgorCitjb25maWcgQkFDS0xJR0hUX1BXTQorCXRyaXN0YXRlICJHZW5lcmljIFBXTSBiYXNlZCBCYWNrbGlnaHQgRHJpdmVyIgorCWRlcGVuZHMgb24gQkFDS0xJR0hUX0NMQVNTX0RFVklDRSAmJiBIQVZFX1BXTQorCWhlbHAKKwkgIElmIHlvdSBoYXZlIGEgTENEIGJhY2tsaWdodCBhZGp1c3RhYmxlIGJ5IFBXTSwgc2F5IFkgdG8gZW5hYmxlCisJICB0aGlzIGRyaXZlci4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L01ha2VmaWxlIGIvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvTWFrZWZpbGUKaW5kZXggMzNmNmM3Yy4uYjUxYTdjZCAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvTWFrZWZpbGUKKysrIGIvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvTWFrZWZpbGUKQEAgLTEwLDMgKzEwLDQgQEAKIG9iai0kKENPTkZJR19CQUNLTElHSFRfT01BUDEpCSs9IG9tYXAxX2JsLm8KIG9iai0kKENPTkZJR19CQUNLTElHSFRfUFJPR0VBUikgKz0gcHJvZ2Vhcl9ibC5vCiBvYmotJChDT05GSUdfQkFDS0xJR0hUX0NBUklMTE9fUkFOQ0gpICs9IGNyX2JsbGNkLm8KK29iai0kKENPTkZJR19CQUNLTElHSFRfUFdNKQkrPSBwd21fYmwubwpkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvcHdtX2JsLmMgYi9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9wd21fYmwuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MzM4ZDBlCi0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvcHdtX2JsLmMKQEAgLTAsMCArMSwxODUgQEAKKy8qCisgKiBsaW51eC9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9wd21fYmwuYworICoKKyAqIHNpbXBsZSBQV00gYmFzZWQgYmFja2xpZ2h0IGNvbnRyb2wsIGJvYXJkIGNvZGUgaGFzIHRvIHNldHVwCisgKiAxKSBwaW4gY29uZmlndXJhdGlvbiBzbyBQV00gd2F2ZWZvcm1zIGNhbiBvdXRwdXQKKyAqIDIpIHBsYXRmb3JtX2RhdGEgY2FzdHMgdG8gdGhlIFBXTSBpZCAoMC8xLzIvMyBvbiBQWEEpCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqLworCisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L2ZiLmg+CisjaW5jbHVkZSA8bGludXgvYmFja2xpZ2h0Lmg+CisjaW5jbHVkZSA8bGludXgvZXJyLmg+CisjaW5jbHVkZSA8bGludXgvcHdtLmg+CisjaW5jbHVkZSA8bGludXgvcHdtX2JhY2tsaWdodC5oPgorCitzdHJ1Y3QgcHdtX2JsX2RhdGEgeworCXN0cnVjdCBwd21fZGV2aWNlCSpwd207CisJdW5zaWduZWQgaW50CQlwZXJpb2Q7CisJaW50CQkJKCpub3RpZnkpKGludCBicmlnaHRuZXNzKTsKK307CisKK3N0YXRpYyBpbnQgcHdtX2JhY2tsaWdodF91cGRhdGVfc3RhdHVzKHN0cnVjdCBiYWNrbGlnaHRfZGV2aWNlICpibCkKK3sKKwlzdHJ1Y3QgcHdtX2JsX2RhdGEgKnBiID0gZGV2X2dldF9kcnZkYXRhKCZibC0+ZGV2KTsKKwlpbnQgYnJpZ2h0bmVzcyA9IGJsLT5wcm9wcy5icmlnaHRuZXNzOworCWludCBtYXggPSBibC0+cHJvcHMubWF4X2JyaWdodG5lc3M7CisKKwlpZiAoYmwtPnByb3BzLnBvd2VyICE9IEZCX0JMQU5LX1VOQkxBTkspCisJCWJyaWdodG5lc3MgPSAwOworCisJaWYgKGJsLT5wcm9wcy5mYl9ibGFuayAhPSBGQl9CTEFOS19VTkJMQU5LKQorCQlicmlnaHRuZXNzID0gMDsKKworCWlmIChwYi0+bm90aWZ5KQorCQlicmlnaHRuZXNzID0gcGItPm5vdGlmeShicmlnaHRuZXNzKTsKKworCWlmIChicmlnaHRuZXNzID09IDApIHsKKwkJcHdtX2NvbmZpZyhwYi0+cHdtLCAwLCBwYi0+cGVyaW9kKTsKKwkJcHdtX2Rpc2FibGUocGItPnB3bSk7CisJfSBlbHNlIHsKKwkJcHdtX2NvbmZpZyhwYi0+cHdtLCBicmlnaHRuZXNzICogcGItPnBlcmlvZCAvIG1heCwgcGItPnBlcmlvZCk7CisJCXB3bV9lbmFibGUocGItPnB3bSk7CisJfQorCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHB3bV9iYWNrbGlnaHRfZ2V0X2JyaWdodG5lc3Moc3RydWN0IGJhY2tsaWdodF9kZXZpY2UgKmJsKQoreworCXJldHVybiBibC0+cHJvcHMuYnJpZ2h0bmVzczsKK30KKworc3RhdGljIHN0cnVjdCBiYWNrbGlnaHRfb3BzIHB3bV9iYWNrbGlnaHRfb3BzID0geworCS51cGRhdGVfc3RhdHVzCT0gcHdtX2JhY2tsaWdodF91cGRhdGVfc3RhdHVzLAorCS5nZXRfYnJpZ2h0bmVzcwk9IHB3bV9iYWNrbGlnaHRfZ2V0X2JyaWdodG5lc3MsCit9OworCitzdGF0aWMgaW50IHB3bV9iYWNrbGlnaHRfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlzdHJ1Y3QgcGxhdGZvcm1fcHdtX2JhY2tsaWdodF9kYXRhICpkYXRhID0gcGRldi0+ZGV2LnBsYXRmb3JtX2RhdGE7CisJc3RydWN0IGJhY2tsaWdodF9kZXZpY2UgKmJsOworCXN0cnVjdCBwd21fYmxfZGF0YSAqcGI7CisJaW50IHJldDsKKworCWlmICghZGF0YSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlpZiAoZGF0YS0+aW5pdCkgeworCQlyZXQgPSBkYXRhLT5pbml0KCZwZGV2LT5kZXYpOworCQlpZiAocmV0IDwgMCkKKwkJCXJldHVybiByZXQ7CisJfQorCisJcGIgPSBremFsbG9jKHNpemVvZigqcGIpLCBHRlBfS0VSTkVMKTsKKwlpZiAoIXBiKSB7CisJCXJldCA9IC1FTk9NRU07CisJCWdvdG8gZXJyX2FsbG9jOworCX0KKworCXBiLT5wZXJpb2QgPSBkYXRhLT5wd21fcGVyaW9kX25zOworCXBiLT5ub3RpZnkgPSBkYXRhLT5ub3RpZnk7CisKKwlwYi0+cHdtID0gcHdtX3JlcXVlc3QoZGF0YS0+cHdtX2lkLCAiYmFja2xpZ2h0Iik7CisJaWYgKElTX0VSUihwYi0+cHdtKSkgeworCQlkZXZfZXJyKCZwZGV2LT5kZXYsICJ1bmFibGUgdG8gcmVxdWVzdCBQV00gZm9yIGJhY2tsaWdodFxuIik7CisJCXJldCA9IFBUUl9FUlIocGItPnB3bSk7CisJCWdvdG8gZXJyX3B3bTsKKwl9CisKKwlibCA9IGJhY2tsaWdodF9kZXZpY2VfcmVnaXN0ZXIocGRldi0+bmFtZSwgJnBkZXYtPmRldiwKKwkJCXBiLCAmcHdtX2JhY2tsaWdodF9vcHMpOworCWlmIChJU19FUlIoYmwpKSB7CisJCWRldl9lcnIoJnBkZXYtPmRldiwgImZhaWxlZCB0byByZWdpc3RlciBiYWNrbGlnaHRcbiIpOworCQlyZXQgPSBQVFJfRVJSKGJsKTsKKwkJZ290byBlcnJfYmw7CisJfQorCisJYmwtPnByb3BzLm1heF9icmlnaHRuZXNzID0gZGF0YS0+bWF4X2JyaWdodG5lc3M7CisJYmwtPnByb3BzLmJyaWdodG5lc3MgPSBkYXRhLT5kZnRfYnJpZ2h0bmVzczsKKwliYWNrbGlnaHRfdXBkYXRlX3N0YXR1cyhibCk7CisKKwlwbGF0Zm9ybV9zZXRfZHJ2ZGF0YShwZGV2LCBibCk7CisJcmV0dXJuIDA7CisKK2Vycl9ibDoKKwlwd21fZnJlZShwYi0+cHdtKTsKK2Vycl9wd206CisJa2ZyZWUocGIpOworZXJyX2FsbG9jOgorCWlmIChkYXRhLT5leGl0KQorCQlkYXRhLT5leGl0KCZwZGV2LT5kZXYpOworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgcHdtX2JhY2tsaWdodF9yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlzdHJ1Y3QgcGxhdGZvcm1fcHdtX2JhY2tsaWdodF9kYXRhICpkYXRhID0gcGRldi0+ZGV2LnBsYXRmb3JtX2RhdGE7CisJc3RydWN0IGJhY2tsaWdodF9kZXZpY2UgKmJsID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CisJc3RydWN0IHB3bV9ibF9kYXRhICpwYiA9IGRldl9nZXRfZHJ2ZGF0YSgmYmwtPmRldik7CisKKwliYWNrbGlnaHRfZGV2aWNlX3VucmVnaXN0ZXIoYmwpOworCXB3bV9jb25maWcocGItPnB3bSwgMCwgcGItPnBlcmlvZCk7CisJcHdtX2Rpc2FibGUocGItPnB3bSk7CisJcHdtX2ZyZWUocGItPnB3bSk7CisJa2ZyZWUocGIpOworCWlmIChkYXRhLT5leGl0KQorCQlkYXRhLT5leGl0KCZwZGV2LT5kZXYpOworCXJldHVybiAwOworfQorCisjaWZkZWYgQ09ORklHX1BNCitzdGF0aWMgaW50IHB3bV9iYWNrbGlnaHRfc3VzcGVuZChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAorCQkJCSBwbV9tZXNzYWdlX3Qgc3RhdGUpCit7CisJc3RydWN0IGJhY2tsaWdodF9kZXZpY2UgKmJsID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CisJc3RydWN0IHB3bV9ibF9kYXRhICpwYiA9IGRldl9nZXRfZHJ2ZGF0YSgmYmwtPmRldik7CisKKwlwd21fY29uZmlnKHBiLT5wd20sIDAsIHBiLT5wZXJpb2QpOworCXB3bV9kaXNhYmxlKHBiLT5wd20pOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHB3bV9iYWNrbGlnaHRfcmVzdW1lKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJc3RydWN0IGJhY2tsaWdodF9kZXZpY2UgKmJsID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CisKKwliYWNrbGlnaHRfdXBkYXRlX3N0YXR1cyhibCk7CisJcmV0dXJuIDA7Cit9CisjZWxzZQorI2RlZmluZSBwd21fYmFja2xpZ2h0X3N1c3BlbmQJTlVMTAorI2RlZmluZSBwd21fYmFja2xpZ2h0X3Jlc3VtZQlOVUxMCisjZW5kaWYKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgcHdtX2JhY2tsaWdodF9kcml2ZXIgPSB7CisJLmRyaXZlcgkJPSB7CisJCS5uYW1lCT0gInB3bS1iYWNrbGlnaHQiLAorCQkub3duZXIJPSBUSElTX01PRFVMRSwKKwl9LAorCS5wcm9iZQkJPSBwd21fYmFja2xpZ2h0X3Byb2JlLAorCS5yZW1vdmUJCT0gcHdtX2JhY2tsaWdodF9yZW1vdmUsCisJLnN1c3BlbmQJPSBwd21fYmFja2xpZ2h0X3N1c3BlbmQsCisJLnJlc3VtZQkJPSBwd21fYmFja2xpZ2h0X3Jlc3VtZSwKK307CisKK3N0YXRpYyBpbnQgX19pbml0IHB3bV9iYWNrbGlnaHRfaW5pdCh2b2lkKQoreworCXJldHVybiBwbGF0Zm9ybV9kcml2ZXJfcmVnaXN0ZXIoJnB3bV9iYWNrbGlnaHRfZHJpdmVyKTsKK30KK21vZHVsZV9pbml0KHB3bV9iYWNrbGlnaHRfaW5pdCk7CisKK3N0YXRpYyB2b2lkIF9fZXhpdCBwd21fYmFja2xpZ2h0X2V4aXQodm9pZCkKK3sKKwlwbGF0Zm9ybV9kcml2ZXJfdW5yZWdpc3RlcigmcHdtX2JhY2tsaWdodF9kcml2ZXIpOworfQorbW9kdWxlX2V4aXQocHdtX2JhY2tsaWdodF9leGl0KTsKKworTU9EVUxFX0RFU0NSSVBUSU9OKCJQV00gYmFzZWQgQmFja2xpZ2h0IERyaXZlciIpOworTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYl9kZGMuYyBiL2RyaXZlcnMvdmlkZW8vZmJfZGRjLmMKaW5kZXggYTBkZjYzMi4uMGNmOTZlYiAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYl9kZGMuYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiX2RkYy5jCkBAIC0xMDYsNiArMTA2LDcgQEAKIAlhbGdvX2RhdGEtPnNldHNkYShhbGdvX2RhdGEtPmRhdGEsIDEpOwogCWFsZ29fZGF0YS0+c2V0c2NsKGFsZ29fZGF0YS0+ZGF0YSwgMSk7CiAKKwlhZGFwdGVyLT5jbGFzcyB8PSBJMkNfQ0xBU1NfRERDOwogCXJldHVybiBlZGlkOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiX2RlZmlvLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiX2RlZmlvLmMKaW5kZXggMjQ4NDNmZC4uNTlkZjEzMiAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYl9kZWZpby5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJfZGVmaW8uYwpAQCAtNzQsNiArNzQsNyBAQAogewogCXN0cnVjdCBmYl9pbmZvICppbmZvID0gdm1hLT52bV9wcml2YXRlX2RhdGE7CiAJc3RydWN0IGZiX2RlZmVycmVkX2lvICpmYmRlZmlvID0gaW5mby0+ZmJkZWZpbzsKKwlzdHJ1Y3QgcGFnZSAqY3VyOwogCiAJLyogdGhpcyBpcyBhIGNhbGxiYWNrIHdlIGdldCB3aGVuIHVzZXJzcGFjZSBmaXJzdCB0cmllcyB0bwogCXdyaXRlIHRvIHRoZSBwYWdlLiB3ZSBzY2hlZHVsZSBhIHdvcmtxdWV1ZS4gdGhhdCB3b3JrcXVldWUKQEAgLTgzLDcgKzg0LDI0IEBACiAKIAkvKiBwcm90ZWN0IGFnYWluc3QgdGhlIHdvcmtxdWV1ZSBjaGFuZ2luZyB0aGUgcGFnZSBsaXN0ICovCiAJbXV0ZXhfbG9jaygmZmJkZWZpby0+bG9jayk7Ci0JbGlzdF9hZGQoJnBhZ2UtPmxydSwgJmZiZGVmaW8tPnBhZ2VsaXN0KTsKKworCS8qIHdlIGxvb3AgdGhyb3VnaCB0aGUgcGFnZWxpc3QgYmVmb3JlIGFkZGluZyBpbiBvcmRlcgorCXRvIGtlZXAgdGhlIHBhZ2VsaXN0IHNvcnRlZCAqLworCWxpc3RfZm9yX2VhY2hfZW50cnkoY3VyLCAmZmJkZWZpby0+cGFnZWxpc3QsIGxydSkgeworCQkvKiB0aGlzIGNoZWNrIGlzIHRvIGNhdGNoIHRoZSBjYXNlIHdoZXJlIGEgbmV3CisJCXByb2Nlc3MgY291bGQgc3RhcnQgd3JpdGluZyB0byB0aGUgc2FtZSBwYWdlCisJCXRocm91Z2ggYSBuZXcgcHRlLiB0aGlzIG5ldyBhY2Nlc3MgY2FuIGNhdXNlIHRoZQorCQlta3dyaXRlIGV2ZW4gd2hlbiB0aGUgb3JpZ2luYWwgcHMncyBwdGUgaXMgbWFya2VkCisJCXdyaXRhYmxlICovCisJCWlmICh1bmxpa2VseShjdXIgPT0gcGFnZSkpCisJCQlnb3RvIHBhZ2VfYWxyZWFkeV9hZGRlZDsKKwkJZWxzZSBpZiAoY3VyLT5pbmRleCA+IHBhZ2UtPmluZGV4KQorCQkJYnJlYWs7CisJfQorCisJbGlzdF9hZGRfdGFpbCgmcGFnZS0+bHJ1LCAmY3VyLT5scnUpOworCitwYWdlX2FscmVhZHlfYWRkZWQ6CiAJbXV0ZXhfdW5sb2NrKCZmYmRlZmlvLT5sb2NrKTsKIAogCS8qIGNvbWUgYmFjayBhZnRlciBkZWxheSB0byBwcm9jZXNzIHRoZSBkZWZlcnJlZCBJTyAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYm1lbS5jIGIvZHJpdmVycy92aWRlby9mYm1lbS5jCmluZGV4IDc3NmY3ZmMuLjMzZWJkYjEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJtZW0uYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZibWVtLmMKQEAgLTEzMjYsMjAgKzEzMjYsMjcgQEAKIAogCWlmIChmYmlkeCA+PSBGQl9NQVgpCiAJCXJldHVybiAtRU5PREVWOworCWxvY2tfa2VybmVsKCk7CiAjaWZkZWYgQ09ORklHX0tNT0QKIAlpZiAoIShpbmZvID0gcmVnaXN0ZXJlZF9mYltmYmlkeF0pKQogCQl0cnlfdG9fbG9hZChmYmlkeCk7CiAjZW5kaWYgLyogQ09ORklHX0tNT0QgKi8KLQlpZiAoIShpbmZvID0gcmVnaXN0ZXJlZF9mYltmYmlkeF0pKQotCQlyZXR1cm4gLUVOT0RFVjsKLQlpZiAoIXRyeV9tb2R1bGVfZ2V0KGluZm8tPmZib3BzLT5vd25lcikpCi0JCXJldHVybiAtRU5PREVWOworCWlmICghKGluZm8gPSByZWdpc3RlcmVkX2ZiW2ZiaWR4XSkpIHsKKwkJcmVzID0gLUVOT0RFVjsKKwkJZ290byBvdXQ7CisJfQorCWlmICghdHJ5X21vZHVsZV9nZXQoaW5mby0+ZmJvcHMtPm93bmVyKSkgeworCQlyZXMgPSAtRU5PREVWOworCQlnb3RvIG91dDsKKwl9CiAJZmlsZS0+cHJpdmF0ZV9kYXRhID0gaW5mbzsKIAlpZiAoaW5mby0+ZmJvcHMtPmZiX29wZW4pIHsKIAkJcmVzID0gaW5mby0+ZmJvcHMtPmZiX29wZW4oaW5mbywxKTsKIAkJaWYgKHJlcykKIAkJCW1vZHVsZV9wdXQoaW5mby0+ZmJvcHMtPm93bmVyKTsKIAl9CitvdXQ6CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiByZXM7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZnNsLWRpdS1mYi5jIGIvZHJpdmVycy92aWRlby9mc2wtZGl1LWZiLmMKaW5kZXggNzEyZGFiYy4uMDlkN2UyMiAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mc2wtZGl1LWZiLmMKKysrIGIvZHJpdmVycy92aWRlby9mc2wtZGl1LWZiLmMKQEAgLTEzMjQsNyArMTMyNCw3IEBACiB7CiAJc3RydWN0IGZzbF9kaXVfZGF0YSAqbWFjaGluZV9kYXRhOwogCi0JbWFjaGluZV9kYXRhID0gZGV2X2dldF9kcnZkYXRhKCZkZXYtPmRldik7CisJbWFjaGluZV9kYXRhID0gZGV2X2dldF9kcnZkYXRhKCZvZmRldi0+ZGV2KTsKIAlkaXNhYmxlX2xjZGMobWFjaGluZV9kYXRhLT5mc2xfZGl1X2luZm9bMF0pOwogCiAJcmV0dXJuIDA7CkBAIC0xMzM0LDcgKzEzMzQsNyBAQAogewogCXN0cnVjdCBmc2xfZGl1X2RhdGEgKm1hY2hpbmVfZGF0YTsKIAotCW1hY2hpbmVfZGF0YSA9IGRldl9nZXRfZHJ2ZGF0YSgmZGV2LT5kZXYpOworCW1hY2hpbmVfZGF0YSA9IGRldl9nZXRfZHJ2ZGF0YSgmb2ZkZXYtPmRldik7CiAJZW5hYmxlX2xjZGMobWFjaGluZV9kYXRhLT5mc2xfZGl1X2luZm9bMF0pOwogCiAJcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ludGVsZmIvaW50ZWxmYl9pMmMuYyBiL2RyaXZlcnMvdmlkZW8vaW50ZWxmYi9pbnRlbGZiX2kyYy5jCmluZGV4IGNhOTVmMDkuLmZjZjlmYWQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vaW50ZWxmYi9pbnRlbGZiX2kyYy5jCisrKyBiL2RyaXZlcnMvdmlkZW8vaW50ZWxmYi9pbnRlbGZiX2kyYy5jCkBAIC0xMDAsNyArMTAwLDggQEAKIAogc3RhdGljIGludCBpbnRlbGZiX3NldHVwX2kyY19idXMoc3RydWN0IGludGVsZmJfaW5mbyAqZGluZm8sCiAJCQkJIHN0cnVjdCBpbnRlbGZiX2kyY19jaGFuICpjaGFuLAotCQkJCSBjb25zdCB1MzIgcmVnLCBjb25zdCBjaGFyICpuYW1lKQorCQkJCSBjb25zdCB1MzIgcmVnLCBjb25zdCBjaGFyICpuYW1lLAorCQkJCSBpbnQgY2xhc3MpCiB7CiAJaW50IHJjOwogCkBAIC0xMDgsNiArMTA5LDcgQEAKIAljaGFuLT5yZWcJCQk9IHJlZzsKIAlzbnByaW50ZihjaGFuLT5hZGFwdGVyLm5hbWUsIHNpemVvZihjaGFuLT5hZGFwdGVyLm5hbWUpLAogCQkgImludGVsZmIgJXMiLCBuYW1lKTsKKwljaGFuLT5hZGFwdGVyLmNsYXNzCQk9IGNsYXNzOwogCWNoYW4tPmFkYXB0ZXIub3duZXIJCT0gVEhJU19NT0RVTEU7CiAJY2hhbi0+YWRhcHRlci5pZAkJPSBJMkNfSFdfQl9JTlRFTEZCOwogCWNoYW4tPmFkYXB0ZXIuYWxnb19kYXRhCQk9ICZjaGFuLT5hbGdvOwpAQCAtMTQ1LDcgKzE0Nyw3IEBACiAKIAkvKiBzZXR1cCB0aGUgRERDIGJ1cyBmb3IgYW5hbG9nIG91dHB1dCAqLwogCWludGVsZmJfc2V0dXBfaTJjX2J1cyhkaW5mbywgJmRpbmZvLT5vdXRwdXRbaV0uZGRjX2J1cywgR1BJT0EsCi0JCQkgICAgICAiQ1JURERDX0EiKTsKKwkJCSAgICAgICJDUlRERENfQSIsIEkyQ19DTEFTU19EREMpOwogCWkrKzsKIAogCS8qIG5lZWQgdG8gYWRkIHRoZSBvdXRwdXQgYnVzc2VzIGZvciBlYWNoIGRldmljZQpAQCAtMTU5LDkgKzE2MSw5IEBACiAJY2FzZSBJTlRFTF84NjVHOgogCQlkaW5mby0+b3V0cHV0W2ldLnR5cGUgPSBJTlRFTEZCX09VVFBVVF9EVk87CiAJCWludGVsZmJfc2V0dXBfaTJjX2J1cyhkaW5mbywgJmRpbmZvLT5vdXRwdXRbaV0uZGRjX2J1cywKLQkJCQkgICAgICBHUElPRCwgIkRWT0REQ19EIik7CisJCQkJICAgICAgR1BJT0QsICJEVk9ERENfRCIsIEkyQ19DTEFTU19EREMpOwogCQlpbnRlbGZiX3NldHVwX2kyY19idXMoZGluZm8sICZkaW5mby0+b3V0cHV0W2ldLmkyY19idXMsCi0JCQkJICAgICAgR1BJT0UsICJEVk9JMkNfRSIpOworCQkJCSAgICAgIEdQSU9FLCAiRFZPSTJDX0UiLCAwKTsKIAkJaSsrOwogCQlicmVhazsKIAljYXNlIElOVEVMXzkxNUc6CkBAIC0xNzQsNyArMTc2LDcgQEAKIAkJLyogU0RWTyBwb3J0cyBoYXZlIGEgc2luZ2xlIGNvbnRyb2wgYnVzIC0gMiBkZXZpY2VzICovCiAJCWRpbmZvLT5vdXRwdXRbaV0udHlwZSA9IElOVEVMRkJfT1VUUFVUX1NEVk87CiAJCWludGVsZmJfc2V0dXBfaTJjX2J1cyhkaW5mbywgJmRpbmZvLT5vdXRwdXRbaV0uaTJjX2J1cywKLQkJCQkgICAgICBHUElPRSwgIlNEVk9DVFJMX0UiKTsKKwkJCQkgICAgICBHUElPRSwgIlNEVk9DVFJMX0UiLCAwKTsKIAkJLyogVE9ETzogaW5pdGlhbGl6ZSB0aGUgU0RWTyAqLwogCQkvKiBJODMwU0RWT0luaXQocFNjcm4sIGksIERWT0IpOyAqLwogCQlpKys7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL21hdHJveC9pMmMtbWF0cm94ZmIuYyBiL2RyaXZlcnMvdmlkZW8vbWF0cm94L2kyYy1tYXRyb3hmYi5jCmluZGV4IDRiYWFiN2IuLjc1ZWU1YTEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vbWF0cm94L2kyYy1tYXRyb3hmYi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vbWF0cm94L2kyYy1tYXRyb3hmYi5jCkBAIC0xMDQsNyArMTA0LDkgQEAKIH07CiAKIHN0YXRpYyBpbnQgaTJjX2J1c19yZWcoc3RydWN0IGkyY19iaXRfYWRhcHRlciogYiwgc3RydWN0IG1hdHJveF9mYl9pbmZvKiBtaW5mbywgCi0JCXVuc2lnbmVkIGludCBkYXRhLCB1bnNpZ25lZCBpbnQgY2xvY2ssIGNvbnN0IGNoYXIqIG5hbWUpIHsKKwkJdW5zaWduZWQgaW50IGRhdGEsIHVuc2lnbmVkIGludCBjbG9jaywgY29uc3QgY2hhciAqbmFtZSwKKwkJaW50IGNsYXNzKQorewogCWludCBlcnI7CiAKIAliLT5taW5mbyA9IG1pbmZvOwpAQCAtMTE0LDYgKzExNiw3IEBACiAJc25wcmludGYoYi0+YWRhcHRlci5uYW1lLCBzaXplb2YoYi0+YWRhcHRlci5uYW1lKSwgbmFtZSwKIAkJbWluZm8tPmZiY29uLm5vZGUpOwogCWkyY19zZXRfYWRhcGRhdGEoJmItPmFkYXB0ZXIsIGIpOworCWItPmFkYXB0ZXIuY2xhc3MgPSBjbGFzczsKIAliLT5hZGFwdGVyLmFsZ29fZGF0YSA9ICZiLT5iYWM7CiAJYi0+YWRhcHRlci5kZXYucGFyZW50ID0gJkFDQ0VTU19GQklORk8ocGNpZGV2KS0+ZGV2OwogCWItPmJhYyA9IG1hdHJveF9pMmNfYWxnb190ZW1wbGF0ZTsKQEAgLTE1OSwyMiArMTYyLDI5IEBACiAJc3dpdGNoIChBQ0NFU1NfRkJJTkZPKGNoaXApKSB7CiAJCWNhc2UgTUdBXzIwNjQ6CiAJCWNhc2UgTUdBXzIxNjQ6Ci0JCQllcnIgPSBpMmNfYnVzX3JlZygmbTJpbmZvLT5kZGMxLCBtaW5mbywgRERDMUJfREFUQSwgRERDMUJfQ0xLLCAiRERDOmZiJXUgIzAiKTsKKwkJCWVyciA9IGkyY19idXNfcmVnKCZtMmluZm8tPmRkYzEsIG1pbmZvLAorCQkJCQkgIEREQzFCX0RBVEEsIEREQzFCX0NMSywKKwkJCQkJICAiRERDOmZiJXUgIzAiLCBJMkNfQ0xBU1NfRERDKTsKIAkJCWJyZWFrOwogCQlkZWZhdWx0OgotCQkJZXJyID0gaTJjX2J1c19yZWcoJm0yaW5mby0+ZGRjMSwgbWluZm8sIEREQzFfREFUQSwgRERDMV9DTEssICJEREM6ZmIldSAjMCIpOworCQkJZXJyID0gaTJjX2J1c19yZWcoJm0yaW5mby0+ZGRjMSwgbWluZm8sCisJCQkJCSAgRERDMV9EQVRBLCBEREMxX0NMSywKKwkJCQkJICAiRERDOmZiJXUgIzAiLCBJMkNfQ0xBU1NfRERDKTsKIAkJCWJyZWFrOwogCX0KIAlpZiAoZXJyKQogCQlnb3RvIGZhaWxfZGRjMTsKIAlpZiAoQUNDRVNTX0ZCSU5GTyhkZXZmbGFncy5kdWFsaGVhZCkpIHsKLQkJZXJyID0gaTJjX2J1c19yZWcoJm0yaW5mby0+ZGRjMiwgbWluZm8sIEREQzJfREFUQSwgRERDMl9DTEssICJEREM6ZmIldSAjMSIpOworCQllcnIgPSBpMmNfYnVzX3JlZygmbTJpbmZvLT5kZGMyLCBtaW5mbywKKwkJCQkgIEREQzJfREFUQSwgRERDMl9DTEssCisJCQkJICAiRERDOmZiJXUgIzEiLCBJMkNfQ0xBU1NfRERDKTsKIAkJaWYgKGVyciA9PSAtRU5PREVWKSB7CiAJCQlwcmludGsoS0VSTl9JTkZPICJpMmMtbWF0cm94ZmI6IFZHQS0+VFYgcGx1ZyBkZXRlY3RlZCwgRERDIHVuYXZhaWxhYmxlLlxuIik7CiAJCX0gZWxzZSBpZiAoZXJyKQogCQkJcHJpbnRrKEtFUk5fSU5GTyAiaTJjLW1hdHJveGZiOiBDb3VsZCBub3QgcmVnaXN0ZXIgc2Vjb25kYXJ5IG91dHB1dCBpMmMgYnVzLiBDb250aW51aW5nIGFueXdheS5cbiIpOwogCQkvKiBSZWdpc3RlciBtYXZlbiBidXMgZXZlbiBvbiBHNDUwL0c1NTAgKi8KLQkJZXJyID0gaTJjX2J1c19yZWcoJm0yaW5mby0+bWF2ZW4sIG1pbmZvLCBNQVRfREFUQSwgTUFUX0NMSywgIk1BVkVOOmZiJXUiKTsKKwkJZXJyID0gaTJjX2J1c19yZWcoJm0yaW5mby0+bWF2ZW4sIG1pbmZvLAorCQkJCSAgTUFUX0RBVEEsIE1BVF9DTEssICJNQVZFTjpmYiV1IiwgMCk7CiAJCWlmIChlcnIpCiAJCQlwcmludGsoS0VSTl9JTkZPICJpMmMtbWF0cm94ZmI6IENvdWxkIG5vdCByZWdpc3RlciBNYXZlbiBpMmMgYnVzLiBDb250aW51aW5nIGFueXdheS5cbiIpOwogCX0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vcHhhZmIuYyBiL2RyaXZlcnMvdmlkZW8vcHhhZmIuYwppbmRleCBmYWZlN2RiLi5kMDc0NjI2IDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL3B4YWZiLmMKKysrIGIvZHJpdmVycy92aWRlby9weGFmYi5jCkBAIC0xNzkyLDExICsxNzkyLDQ5IEBACiAJcmV0dXJuIHJldDsKIH0KIAorc3RhdGljIGludCBfX2RldmV4aXQgcHhhZmJfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRldikKK3sKKwlzdHJ1Y3QgcHhhZmJfaW5mbyAqZmJpID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEoZGV2KTsKKwlzdHJ1Y3QgcmVzb3VyY2UgKnI7CisJaW50IGlycTsKKwlzdHJ1Y3QgZmJfaW5mbyAqaW5mbzsKKworCWlmICghZmJpKQorCQlyZXR1cm4gMDsKKworCWluZm8gPSAmZmJpLT5mYjsKKworCXVucmVnaXN0ZXJfZnJhbWVidWZmZXIoaW5mbyk7CisKKwlweGFmYl9kaXNhYmxlX2NvbnRyb2xsZXIoZmJpKTsKKworCWlmIChmYmktPmZiLmNtYXAubGVuKQorCQlmYl9kZWFsbG9jX2NtYXAoJmZiaS0+ZmIuY21hcCk7CisKKwlpcnEgPSBwbGF0Zm9ybV9nZXRfaXJxKGRldiwgMCk7CisJZnJlZV9pcnEoaXJxLCBmYmkpOworCisJZG1hX2ZyZWVfd3JpdGVjb21iaW5lKCZkZXYtPmRldiwgZmJpLT5tYXBfc2l6ZSwKKwkJCQkJZmJpLT5tYXBfY3B1LCBmYmktPm1hcF9kbWEpOworCisJaW91bm1hcChmYmktPm1taW9fYmFzZSk7CisKKwlyID0gcGxhdGZvcm1fZ2V0X3Jlc291cmNlKGRldiwgSU9SRVNPVVJDRV9NRU0sIDApOworCXJlbGVhc2VfbWVtX3JlZ2lvbihyLT5zdGFydCwgci0+ZW5kIC0gci0+c3RhcnQgKyAxKTsKKworCWNsa19wdXQoZmJpLT5jbGspOworCWtmcmVlKGZiaSk7CisKKwlyZXR1cm4gMDsKK30KKwogc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgcHhhZmJfZHJpdmVyID0gewogCS5wcm9iZQkJPSBweGFmYl9wcm9iZSwKKwkucmVtb3ZlIAk9IHB4YWZiX3JlbW92ZSwKIAkuc3VzcGVuZAk9IHB4YWZiX3N1c3BlbmQsCiAJLnJlc3VtZQkJPSBweGFmYl9yZXN1bWUsCiAJLmRyaXZlcgkJPSB7CisJCS5vd25lcgk9IFRISVNfTU9EVUxFLAogCQkubmFtZQk9ICJweGEyeHgtZmIiLAogCX0sCiB9OwpAQCAtMTgwOSw3ICsxODQ3LDEzIEBACiAJcmV0dXJuIHBsYXRmb3JtX2RyaXZlcl9yZWdpc3RlcigmcHhhZmJfZHJpdmVyKTsKIH0KIAorc3RhdGljIHZvaWQgX19leGl0IHB4YWZiX2V4aXQodm9pZCkKK3sKKwlwbGF0Zm9ybV9kcml2ZXJfdW5yZWdpc3RlcigmcHhhZmJfZHJpdmVyKTsKK30KKwogbW9kdWxlX2luaXQocHhhZmJfaW5pdCk7Cittb2R1bGVfZXhpdChweGFmYl9leGl0KTsKIAogTU9EVUxFX0RFU0NSSVBUSU9OKCJsb2FkYWJsZSBmcmFtZWJ1ZmZlciBkcml2ZXIgZm9yIFBYQSIpOwogTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9zZ2l2d2ZiLmMgYi9kcml2ZXJzL3ZpZGVvL3NnaXZ3ZmIuYwppbmRleCA0ZmIxNjI0Li5mNTI1MmMyIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL3NnaXZ3ZmIuYworKysgYi9kcml2ZXJzL3ZpZGVvL3NnaXZ3ZmIuYwpAQCAtMjEsOCArMjEsNyBAQAogCiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAjaW5jbHVkZSA8YXNtL210cnIuaD4KLQotI2luY2x1ZGUgPHNldHVwX2FyY2guaD4KKyNpbmNsdWRlIDxhc20vdmlzd3Mvc2dpdncuaD4KIAogI2RlZmluZSBJTkNMVURFX1RJTUlOR19UQUJMRV9EQVRBCiAjZGVmaW5lIERCRV9SRUdfQkFTRSBwYXItPnJlZ3MKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8veGVuLWZiZnJvbnQuYyBiL2RyaXZlcnMvdmlkZW8veGVuLWZiZnJvbnQuYwppbmRleCA2MTlhNmY4Li40N2VkMzliIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL3hlbi1mYmZyb250LmMKKysrIGIvZHJpdmVycy92aWRlby94ZW4tZmJmcm9udC5jCkBAIC0xOCw2ICsxOCw3IEBACiAgKiBmcmFtZSBidWZmZXIuCiAgKi8KIAorI2luY2x1ZGUgPGxpbnV4L2NvbnNvbGUuaD4KICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KICNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgogI2luY2x1ZGUgPGxpbnV4L2ZiLmg+CkBAIC00MiwzNyArNDMsNjggQEAKIAlzdHJ1Y3QgeGVuZmJfcGFnZQkqcGFnZTsKIAl1bnNpZ25lZCBsb25nIAkJKm1mbnM7CiAJaW50CQkJdXBkYXRlX3dhbnRlZDsgLyogWEVORkJfVFlQRV9VUERBVEUgd2FudGVkICovCisJaW50CQkJZmVhdHVyZV9yZXNpemU7IC8qIFhFTkZCX1RZUEVfUkVTSVpFIG9rICovCisJc3RydWN0IHhlbmZiX3Jlc2l6ZQlyZXNpemU7CQkvKiBwcm90ZWN0ZWQgYnkgcmVzaXplX2xvY2sgKi8KKwlpbnQJCQlyZXNpemVfZHB5OwkvKiBkaXR0byAqLworCXNwaW5sb2NrX3QJCXJlc2l6ZV9sb2NrOwogCiAJc3RydWN0IHhlbmJ1c19kZXZpY2UJKnhiZGV2OwogfTsKIAotc3RhdGljIHUzMiB4ZW5mYl9tZW1fbGVuID0gWEVORkJfV0lEVEggKiBYRU5GQl9IRUlHSFQgKiBYRU5GQl9ERVBUSCAvIDg7CisjZGVmaW5lIFhFTkZCX0RFRkFVTFRfRkJfTEVOIChYRU5GQl9XSURUSCAqIFhFTkZCX0hFSUdIVCAqIFhFTkZCX0RFUFRIIC8gOCkKIAorZW51bSB7IEtQQVJBTV9NRU0sIEtQQVJBTV9XSURUSCwgS1BBUkFNX0hFSUdIVCwgS1BBUkFNX0NOVCB9Oworc3RhdGljIGludCB2aWRlb1tLUEFSQU1fQ05UXSA9IHsgMiwgWEVORkJfV0lEVEgsIFhFTkZCX0hFSUdIVCB9OworbW9kdWxlX3BhcmFtX2FycmF5KHZpZGVvLCBpbnQsIE5VTEwsIDApOworTU9EVUxFX1BBUk1fREVTQyh2aWRlbywKKwkiVmlkZW8gbWVtb3J5IHNpemUgaW4gTUIsIHdpZHRoLCBoZWlnaHQgaW4gcGl4ZWxzIChkZWZhdWx0IDIsODAwLDYwMCkiKTsKKworc3RhdGljIHZvaWQgeGVuZmJfbWFrZV9wcmVmZXJyZWRfY29uc29sZSh2b2lkKTsKIHN0YXRpYyBpbnQgeGVuZmJfcmVtb3ZlKHN0cnVjdCB4ZW5idXNfZGV2aWNlICopOwotc3RhdGljIHZvaWQgeGVuZmJfaW5pdF9zaGFyZWRfcGFnZShzdHJ1Y3QgeGVuZmJfaW5mbyAqKTsKK3N0YXRpYyB2b2lkIHhlbmZiX2luaXRfc2hhcmVkX3BhZ2Uoc3RydWN0IHhlbmZiX2luZm8gKiwgc3RydWN0IGZiX2luZm8gKik7CiBzdGF0aWMgaW50IHhlbmZiX2Nvbm5lY3RfYmFja2VuZChzdHJ1Y3QgeGVuYnVzX2RldmljZSAqLCBzdHJ1Y3QgeGVuZmJfaW5mbyAqKTsKIHN0YXRpYyB2b2lkIHhlbmZiX2Rpc2Nvbm5lY3RfYmFja2VuZChzdHJ1Y3QgeGVuZmJfaW5mbyAqKTsKIAorc3RhdGljIHZvaWQgeGVuZmJfc2VuZF9ldmVudChzdHJ1Y3QgeGVuZmJfaW5mbyAqaW5mbywKKwkJCSAgICAgdW5pb24geGVuZmJfb3V0X2V2ZW50ICpldmVudCkKK3sKKwl1MzIgcHJvZDsKKworCXByb2QgPSBpbmZvLT5wYWdlLT5vdXRfcHJvZDsKKwkvKiBjYWxsZXIgZW5zdXJlcyAheGVuZmJfcXVldWVfZnVsbCgpICovCisJbWIoKTsJCQkvKiBlbnN1cmUgcmluZyBzcGFjZSBhdmFpbGFibGUgKi8KKwlYRU5GQl9PVVRfUklOR19SRUYoaW5mby0+cGFnZSwgcHJvZCkgPSAqZXZlbnQ7CisJd21iKCk7CQkJLyogZW5zdXJlIHJpbmcgY29udGVudHMgdmlzaWJsZSAqLworCWluZm8tPnBhZ2UtPm91dF9wcm9kID0gcHJvZCArIDE7CisKKwlub3RpZnlfcmVtb3RlX3ZpYV9pcnEoaW5mby0+aXJxKTsKK30KKwogc3RhdGljIHZvaWQgeGVuZmJfZG9fdXBkYXRlKHN0cnVjdCB4ZW5mYl9pbmZvICppbmZvLAogCQkJICAgIGludCB4LCBpbnQgeSwgaW50IHcsIGludCBoKQogewogCXVuaW9uIHhlbmZiX291dF9ldmVudCBldmVudDsKLQl1MzIgcHJvZDsKIAorCW1lbXNldCgmZXZlbnQsIDAsIHNpemVvZihldmVudCkpOwogCWV2ZW50LnR5cGUgPSBYRU5GQl9UWVBFX1VQREFURTsKIAlldmVudC51cGRhdGUueCA9IHg7CiAJZXZlbnQudXBkYXRlLnkgPSB5OwogCWV2ZW50LnVwZGF0ZS53aWR0aCA9IHc7CiAJZXZlbnQudXBkYXRlLmhlaWdodCA9IGg7CiAKLQlwcm9kID0gaW5mby0+cGFnZS0+b3V0X3Byb2Q7CiAJLyogY2FsbGVyIGVuc3VyZXMgIXhlbmZiX3F1ZXVlX2Z1bGwoKSAqLwotCW1iKCk7CQkJLyogZW5zdXJlIHJpbmcgc3BhY2UgYXZhaWxhYmxlICovCi0JWEVORkJfT1VUX1JJTkdfUkVGKGluZm8tPnBhZ2UsIHByb2QpID0gZXZlbnQ7Ci0Jd21iKCk7CQkJLyogZW5zdXJlIHJpbmcgY29udGVudHMgdmlzaWJsZSAqLwotCWluZm8tPnBhZ2UtPm91dF9wcm9kID0gcHJvZCArIDE7CisJeGVuZmJfc2VuZF9ldmVudChpbmZvLCAmZXZlbnQpOworfQogCi0Jbm90aWZ5X3JlbW90ZV92aWFfaXJxKGluZm8tPmlycSk7CitzdGF0aWMgdm9pZCB4ZW5mYl9kb19yZXNpemUoc3RydWN0IHhlbmZiX2luZm8gKmluZm8pCit7CisJdW5pb24geGVuZmJfb3V0X2V2ZW50IGV2ZW50OworCisJbWVtc2V0KCZldmVudCwgMCwgc2l6ZW9mKGV2ZW50KSk7CisJZXZlbnQucmVzaXplID0gaW5mby0+cmVzaXplOworCisJLyogY2FsbGVyIGVuc3VyZXMgIXhlbmZiX3F1ZXVlX2Z1bGwoKSAqLworCXhlbmZiX3NlbmRfZXZlbnQoaW5mbywgJmV2ZW50KTsKIH0KIAogc3RhdGljIGludCB4ZW5mYl9xdWV1ZV9mdWxsKHN0cnVjdCB4ZW5mYl9pbmZvICppbmZvKQpAQCAtODQsMTIgKzExNiwyOCBAQAogCXJldHVybiBwcm9kIC0gY29ucyA9PSBYRU5GQl9PVVRfUklOR19MRU47CiB9CiAKK3N0YXRpYyB2b2lkIHhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KHN0cnVjdCB4ZW5mYl9pbmZvICppbmZvKQoreworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmaW5mby0+cmVzaXplX2xvY2ssIGZsYWdzKTsKKwlpZiAoaW5mby0+cmVzaXplX2RweSkgeworCQlpZiAoIXhlbmZiX3F1ZXVlX2Z1bGwoaW5mbykpIHsKKwkJCWluZm8tPnJlc2l6ZV9kcHkgPSAwOworCQkJeGVuZmJfZG9fcmVzaXplKGluZm8pOworCQl9CisJfQorCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmluZm8tPnJlc2l6ZV9sb2NrLCBmbGFncyk7Cit9CisKIHN0YXRpYyB2b2lkIHhlbmZiX3JlZnJlc2goc3RydWN0IHhlbmZiX2luZm8gKmluZm8sCiAJCQkgIGludCB4MSwgaW50IHkxLCBpbnQgdywgaW50IGgpCiB7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKLQlpbnQgeTIgPSB5MSArIGggLSAxOwogCWludCB4MiA9IHgxICsgdyAtIDE7CisJaW50IHkyID0geTEgKyBoIC0gMTsKKworCXhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KGluZm8pOwogCiAJaWYgKCFpbmZvLT51cGRhdGVfd2FudGVkKQogCQlyZXR1cm47CkBAIC0yMjIsNiArMjcwLDU3IEBACiAJcmV0dXJuIHJlczsKIH0KIAorc3RhdGljIGludAoreGVuZmJfY2hlY2tfdmFyKHN0cnVjdCBmYl92YXJfc2NyZWVuaW5mbyAqdmFyLCBzdHJ1Y3QgZmJfaW5mbyAqaW5mbykKK3sKKwlzdHJ1Y3QgeGVuZmJfaW5mbyAqeGVuZmJfaW5mbzsKKwlpbnQgcmVxdWlyZWRfbWVtX2xlbjsKKworCXhlbmZiX2luZm8gPSBpbmZvLT5wYXI7CisKKwlpZiAoIXhlbmZiX2luZm8tPmZlYXR1cmVfcmVzaXplKSB7CisJCWlmICh2YXItPnhyZXMgPT0gdmlkZW9bS1BBUkFNX1dJRFRIXSAmJgorCQkgICAgdmFyLT55cmVzID09IHZpZGVvW0tQQVJBTV9IRUlHSFRdICYmCisJCSAgICB2YXItPmJpdHNfcGVyX3BpeGVsID09IHhlbmZiX2luZm8tPnBhZ2UtPmRlcHRoKSB7CisJCQlyZXR1cm4gMDsKKwkJfQorCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwkvKiBDYW4ndCByZXNpemUgcGFzdCBpbml0aWFsIHdpZHRoIGFuZCBoZWlnaHQgKi8KKwlpZiAodmFyLT54cmVzID4gdmlkZW9bS1BBUkFNX1dJRFRIXSB8fCB2YXItPnlyZXMgPiB2aWRlb1tLUEFSQU1fSEVJR0hUXSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlyZXF1aXJlZF9tZW1fbGVuID0gdmFyLT54cmVzICogdmFyLT55cmVzICogeGVuZmJfaW5mby0+cGFnZS0+ZGVwdGggLyA4OworCWlmICh2YXItPmJpdHNfcGVyX3BpeGVsID09IHhlbmZiX2luZm8tPnBhZ2UtPmRlcHRoICYmCisJICAgIHZhci0+eHJlcyA8PSBpbmZvLT5maXgubGluZV9sZW5ndGggLyAoWEVORkJfREVQVEggLyA4KSAmJgorCSAgICByZXF1aXJlZF9tZW1fbGVuIDw9IGluZm8tPmZpeC5zbWVtX2xlbikgeworCQl2YXItPnhyZXNfdmlydHVhbCA9IHZhci0+eHJlczsKKwkJdmFyLT55cmVzX3ZpcnR1YWwgPSB2YXItPnlyZXM7CisJCXJldHVybiAwOworCX0KKwlyZXR1cm4gLUVJTlZBTDsKK30KKworc3RhdGljIGludCB4ZW5mYl9zZXRfcGFyKHN0cnVjdCBmYl9pbmZvICppbmZvKQoreworCXN0cnVjdCB4ZW5mYl9pbmZvICp4ZW5mYl9pbmZvOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwl4ZW5mYl9pbmZvID0gaW5mby0+cGFyOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJnhlbmZiX2luZm8tPnJlc2l6ZV9sb2NrLCBmbGFncyk7CisJeGVuZmJfaW5mby0+cmVzaXplLnR5cGUgPSBYRU5GQl9UWVBFX1JFU0laRTsKKwl4ZW5mYl9pbmZvLT5yZXNpemUud2lkdGggPSBpbmZvLT52YXIueHJlczsKKwl4ZW5mYl9pbmZvLT5yZXNpemUuaGVpZ2h0ID0gaW5mby0+dmFyLnlyZXM7CisJeGVuZmJfaW5mby0+cmVzaXplLnN0cmlkZSA9IGluZm8tPmZpeC5saW5lX2xlbmd0aDsKKwl4ZW5mYl9pbmZvLT5yZXNpemUuZGVwdGggPSBpbmZvLT52YXIuYml0c19wZXJfcGl4ZWw7CisJeGVuZmJfaW5mby0+cmVzaXplLm9mZnNldCA9IDA7CisJeGVuZmJfaW5mby0+cmVzaXplX2RweSA9IDE7CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmeGVuZmJfaW5mby0+cmVzaXplX2xvY2ssIGZsYWdzKTsKKwlyZXR1cm4gMDsKK30KKwogc3RhdGljIHN0cnVjdCBmYl9vcHMgeGVuZmJfZmJfb3BzID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAkuZmJfcmVhZAk9IGZiX3N5c19yZWFkLApAQCAtMjMwLDYgKzMyOSw4IEBACiAJLmZiX2ZpbGxyZWN0CT0geGVuZmJfZmlsbHJlY3QsCiAJLmZiX2NvcHlhcmVhCT0geGVuZmJfY29weWFyZWEsCiAJLmZiX2ltYWdlYmxpdAk9IHhlbmZiX2ltYWdlYmxpdCwKKwkuZmJfY2hlY2tfdmFyCT0geGVuZmJfY2hlY2tfdmFyLAorCS5mYl9zZXRfcGFyICAgICA9IHhlbmZiX3NldF9wYXIsCiB9OwogCiBzdGF0aWMgaXJxcmV0dXJuX3QgeGVuZmJfZXZlbnRfaGFuZGxlcihpbnQgcnEsIHZvaWQgKmRldl9pZCkKQEAgLTI1OCw2ICszNTksOCBAQAogewogCXN0cnVjdCB4ZW5mYl9pbmZvICppbmZvOwogCXN0cnVjdCBmYl9pbmZvICpmYl9pbmZvOworCWludCBmYl9zaXplOworCWludCB2YWw7CiAJaW50IHJldDsKIAogCWluZm8gPSBremFsbG9jKHNpemVvZigqaW5mbyksIEdGUF9LRVJORUwpOwpAQCAtMjY1LDE4ICszNjgsMzUgQEAKIAkJeGVuYnVzX2Rldl9mYXRhbChkZXYsIC1FTk9NRU0sICJhbGxvY2F0aW5nIGluZm8gc3RydWN0dXJlIik7CiAJCXJldHVybiAtRU5PTUVNOwogCX0KKworCS8qIExpbWl0IGtlcm5lbCBwYXJhbSB2aWRlb3JhbSBhbW91bnQgdG8gd2hhdCBpcyBpbiB4ZW5zdG9yZSAqLworCWlmICh4ZW5idXNfc2NhbmYoWEJUX05JTCwgZGV2LT5vdGhlcmVuZCwgInZpZGVvcmFtIiwgIiVkIiwgJnZhbCkgPT0gMSkgeworCQlpZiAodmFsIDwgdmlkZW9bS1BBUkFNX01FTV0pCisJCQl2aWRlb1tLUEFSQU1fTUVNXSA9IHZhbDsKKwl9CisKKwkvKiBJZiByZXF1ZXN0ZWQgcmVzIGRvZXMgbm90IGZpdCBpbiBhdmFpbGFibGUgbWVtb3J5LCB1c2UgZGVmYXVsdCAqLworCWZiX3NpemUgPSB2aWRlb1tLUEFSQU1fTUVNXSAqIDEwMjQgKiAxMDI0OworCWlmICh2aWRlb1tLUEFSQU1fV0lEVEhdICogdmlkZW9bS1BBUkFNX0hFSUdIVF0gKiBYRU5GQl9ERVBUSCAvIDgKKwkgICAgPiBmYl9zaXplKSB7CisJCXZpZGVvW0tQQVJBTV9XSURUSF0gPSBYRU5GQl9XSURUSDsKKwkJdmlkZW9bS1BBUkFNX0hFSUdIVF0gPSBYRU5GQl9IRUlHSFQ7CisJCWZiX3NpemUgPSBYRU5GQl9ERUZBVUxUX0ZCX0xFTjsKKwl9CisKIAlkZXYtPmRldi5kcml2ZXJfZGF0YSA9IGluZm87CiAJaW5mby0+eGJkZXYgPSBkZXY7CiAJaW5mby0+aXJxID0gLTE7CiAJaW5mby0+eDEgPSBpbmZvLT55MSA9IElOVF9NQVg7CiAJc3Bpbl9sb2NrX2luaXQoJmluZm8tPmRpcnR5X2xvY2spOworCXNwaW5fbG9ja19pbml0KCZpbmZvLT5yZXNpemVfbG9jayk7CiAKLQlpbmZvLT5mYiA9IHZtYWxsb2MoeGVuZmJfbWVtX2xlbik7CisJaW5mby0+ZmIgPSB2bWFsbG9jKGZiX3NpemUpOwogCWlmIChpbmZvLT5mYiA9PSBOVUxMKQogCQlnb3RvIGVycm9yX25vbWVtOwotCW1lbXNldChpbmZvLT5mYiwgMCwgeGVuZmJfbWVtX2xlbik7CisJbWVtc2V0KGluZm8tPmZiLCAwLCBmYl9zaXplKTsKIAotCWluZm8tPm5yX3BhZ2VzID0gKHhlbmZiX21lbV9sZW4gKyBQQUdFX1NJWkUgLSAxKSA+PiBQQUdFX1NISUZUOworCWluZm8tPm5yX3BhZ2VzID0gKGZiX3NpemUgKyBQQUdFX1NJWkUgLSAxKSA+PiBQQUdFX1NISUZUOwogCiAJaW5mby0+bWZucyA9IHZtYWxsb2Moc2l6ZW9mKHVuc2lnbmVkIGxvbmcpICogaW5mby0+bnJfcGFnZXMpOwogCWlmICghaW5mby0+bWZucykKQEAgLTI4Nyw4ICs0MDcsNiBAQAogCWlmICghaW5mby0+cGFnZSkKIAkJZ290byBlcnJvcl9ub21lbTsKIAotCXhlbmZiX2luaXRfc2hhcmVkX3BhZ2UoaW5mbyk7Ci0KIAkvKiBhYnVzaW5nIGZyYW1lYnVmZmVyX2FsbG9jKCkgdG8gYWxsb2NhdGUgcHNldWRvX3BhbGV0dGUgKi8KIAlmYl9pbmZvID0gZnJhbWVidWZmZXJfYWxsb2Moc2l6ZW9mKHUzMikgKiAyNTYsIE5VTEwpOwogCWlmIChmYl9pbmZvID09IE5VTEwpCkBAIC0zMDEsOSArNDE5LDkgQEAKIAlmYl9pbmZvLT5zY3JlZW5fYmFzZSA9IGluZm8tPmZiOwogCiAJZmJfaW5mby0+ZmJvcHMgPSAmeGVuZmJfZmJfb3BzOwotCWZiX2luZm8tPnZhci54cmVzX3ZpcnR1YWwgPSBmYl9pbmZvLT52YXIueHJlcyA9IGluZm8tPnBhZ2UtPndpZHRoOwotCWZiX2luZm8tPnZhci55cmVzX3ZpcnR1YWwgPSBmYl9pbmZvLT52YXIueXJlcyA9IGluZm8tPnBhZ2UtPmhlaWdodDsKLQlmYl9pbmZvLT52YXIuYml0c19wZXJfcGl4ZWwgPSBpbmZvLT5wYWdlLT5kZXB0aDsKKwlmYl9pbmZvLT52YXIueHJlc192aXJ0dWFsID0gZmJfaW5mby0+dmFyLnhyZXMgPSB2aWRlb1tLUEFSQU1fV0lEVEhdOworCWZiX2luZm8tPnZhci55cmVzX3ZpcnR1YWwgPSBmYl9pbmZvLT52YXIueXJlcyA9IHZpZGVvW0tQQVJBTV9IRUlHSFRdOworCWZiX2luZm8tPnZhci5iaXRzX3Blcl9waXhlbCA9IFhFTkZCX0RFUFRIOwogCiAJZmJfaW5mby0+dmFyLnJlZCA9IChzdHJ1Y3QgZmJfYml0ZmllbGQpezE2LCA4LCAwfTsKIAlmYl9pbmZvLT52YXIuZ3JlZW4gPSAoc3RydWN0IGZiX2JpdGZpZWxkKXs4LCA4LCAwfTsKQEAgLTMxNSw5ICs0MzMsOSBAQAogCWZiX2luZm8tPnZhci52bW9kZSA9IEZCX1ZNT0RFX05PTklOVEVSTEFDRUQ7CiAKIAlmYl9pbmZvLT5maXgudmlzdWFsID0gRkJfVklTVUFMX1RSVUVDT0xPUjsKLQlmYl9pbmZvLT5maXgubGluZV9sZW5ndGggPSBpbmZvLT5wYWdlLT5saW5lX2xlbmd0aDsKKwlmYl9pbmZvLT5maXgubGluZV9sZW5ndGggPSBmYl9pbmZvLT52YXIueHJlcyAqIFhFTkZCX0RFUFRIIC8gODsKIAlmYl9pbmZvLT5maXguc21lbV9zdGFydCA9IDA7Ci0JZmJfaW5mby0+Zml4LnNtZW1fbGVuID0geGVuZmJfbWVtX2xlbjsKKwlmYl9pbmZvLT5maXguc21lbV9sZW4gPSBmYl9zaXplOwogCXN0cmNweShmYl9pbmZvLT5maXguaWQsICJ4ZW4iKTsKIAlmYl9pbmZvLT5maXgudHlwZSA9IEZCX1RZUEVfUEFDS0VEX1BJWEVMUzsKIAlmYl9pbmZvLT5maXguYWNjZWwgPSBGQl9BQ0NFTF9OT05FOwpAQCAtMzM0LDYgKzQ1Miw4IEBACiAJZmJfaW5mby0+ZmJkZWZpbyA9ICZ4ZW5mYl9kZWZpbzsKIAlmYl9kZWZlcnJlZF9pb19pbml0KGZiX2luZm8pOwogCisJeGVuZmJfaW5pdF9zaGFyZWRfcGFnZShpbmZvLCBmYl9pbmZvKTsKKwogCXJldCA9IHJlZ2lzdGVyX2ZyYW1lYnVmZmVyKGZiX2luZm8pOwogCWlmIChyZXQpIHsKIAkJZmJfZGVmZXJyZWRfaW9fY2xlYW51cChmYl9pbmZvKTsKQEAgLTM0OCw2ICs0NjgsNyBAQAogCWlmIChyZXQgPCAwKQogCQlnb3RvIGVycm9yOwogCisJeGVuZmJfbWFrZV9wcmVmZXJyZWRfY29uc29sZSgpOwogCXJldHVybiAwOwogCiAgZXJyb3Jfbm9tZW06CkBAIC0zNTgsMTIgKzQ3OSwzNCBAQAogCXJldHVybiByZXQ7CiB9CiAKK3N0YXRpYyBfX2RldmluaXQgdm9pZAoreGVuZmJfbWFrZV9wcmVmZXJyZWRfY29uc29sZSh2b2lkKQoreworCXN0cnVjdCBjb25zb2xlICpjOworCisJaWYgKGNvbnNvbGVfc2V0X29uX2NtZGxpbmUpCisJCXJldHVybjsKKworCWFjcXVpcmVfY29uc29sZV9zZW0oKTsKKwlmb3IgKGMgPSBjb25zb2xlX2RyaXZlcnM7IGM7IGMgPSBjLT5uZXh0KSB7CisJCWlmICghc3RyY21wKGMtPm5hbWUsICJ0dHkiKSAmJiBjLT5pbmRleCA9PSAwKQorCQkJYnJlYWs7CisJfQorCXJlbGVhc2VfY29uc29sZV9zZW0oKTsKKwlpZiAoYykgeworCQl1bnJlZ2lzdGVyX2NvbnNvbGUoYyk7CisJCWMtPmZsYWdzIHw9IENPTl9DT05TREVWOworCQljLT5mbGFncyAmPSB+Q09OX1BSSU5UQlVGRkVSOyAvKiBkb24ndCBwcmludCBhZ2FpbiAqLworCQlyZWdpc3Rlcl9jb25zb2xlKGMpOworCX0KK30KKwogc3RhdGljIGludCB4ZW5mYl9yZXN1bWUoc3RydWN0IHhlbmJ1c19kZXZpY2UgKmRldikKIHsKIAlzdHJ1Y3QgeGVuZmJfaW5mbyAqaW5mbyA9IGRldi0+ZGV2LmRyaXZlcl9kYXRhOwogCiAJeGVuZmJfZGlzY29ubmVjdF9iYWNrZW5kKGluZm8pOwotCXhlbmZiX2luaXRfc2hhcmVkX3BhZ2UoaW5mbyk7CisJeGVuZmJfaW5pdF9zaGFyZWRfcGFnZShpbmZvLCBpbmZvLT5mYl9pbmZvKTsKIAlyZXR1cm4geGVuZmJfY29ubmVjdF9iYWNrZW5kKGRldiwgaW5mbyk7CiB9CiAKQEAgLTM5MSwyMCArNTM0LDIzIEBACiAJcmV0dXJuIHBmbl90b19tZm4odm1hbGxvY190b19wZm4oYWRkcmVzcykpOwogfQogCi1zdGF0aWMgdm9pZCB4ZW5mYl9pbml0X3NoYXJlZF9wYWdlKHN0cnVjdCB4ZW5mYl9pbmZvICppbmZvKQorc3RhdGljIHZvaWQgeGVuZmJfaW5pdF9zaGFyZWRfcGFnZShzdHJ1Y3QgeGVuZmJfaW5mbyAqaW5mbywKKwkJCQkgICBzdHJ1Y3QgZmJfaW5mbyAqZmJfaW5mbykKIHsKIAlpbnQgaTsKKwlpbnQgZXBkID0gUEFHRV9TSVpFIC8gc2l6ZW9mKGluZm8tPm1mbnNbMF0pOwogCiAJZm9yIChpID0gMDsgaSA8IGluZm8tPm5yX3BhZ2VzOyBpKyspCiAJCWluZm8tPm1mbnNbaV0gPSB2bWFsbG9jX3RvX21mbihpbmZvLT5mYiArIGkgKiBQQUdFX1NJWkUpOwogCi0JaW5mby0+cGFnZS0+cGRbMF0gPSB2bWFsbG9jX3RvX21mbihpbmZvLT5tZm5zKTsKLQlpbmZvLT5wYWdlLT5wZFsxXSA9IDA7Ci0JaW5mby0+cGFnZS0+d2lkdGggPSBYRU5GQl9XSURUSDsKLQlpbmZvLT5wYWdlLT5oZWlnaHQgPSBYRU5GQl9IRUlHSFQ7Ci0JaW5mby0+cGFnZS0+ZGVwdGggPSBYRU5GQl9ERVBUSDsKLQlpbmZvLT5wYWdlLT5saW5lX2xlbmd0aCA9IChpbmZvLT5wYWdlLT5kZXB0aCAvIDgpICogaW5mby0+cGFnZS0+d2lkdGg7Ci0JaW5mby0+cGFnZS0+bWVtX2xlbmd0aCA9IHhlbmZiX21lbV9sZW47CisJZm9yIChpID0gMDsgaSAqIGVwZCA8IGluZm8tPm5yX3BhZ2VzOyBpKyspCisJCWluZm8tPnBhZ2UtPnBkW2ldID0gdm1hbGxvY190b19tZm4oJmluZm8tPm1mbnNbaSAqIGVwZF0pOworCisJaW5mby0+cGFnZS0+d2lkdGggPSBmYl9pbmZvLT52YXIueHJlczsKKwlpbmZvLT5wYWdlLT5oZWlnaHQgPSBmYl9pbmZvLT52YXIueXJlczsKKwlpbmZvLT5wYWdlLT5kZXB0aCA9IGZiX2luZm8tPnZhci5iaXRzX3Blcl9waXhlbDsKKwlpbmZvLT5wYWdlLT5saW5lX2xlbmd0aCA9IGZiX2luZm8tPmZpeC5saW5lX2xlbmd0aDsKKwlpbmZvLT5wYWdlLT5tZW1fbGVuZ3RoID0gZmJfaW5mby0+Zml4LnNtZW1fbGVuOwogCWluZm8tPnBhZ2UtPmluX2NvbnMgPSBpbmZvLT5wYWdlLT5pbl9wcm9kID0gMDsKIAlpbmZvLT5wYWdlLT5vdXRfY29ucyA9IGluZm8tPnBhZ2UtPm91dF9wcm9kID0gMDsKIH0KQEAgLTUwNCw2ICs2NTAsMTEgQEAKIAkJCXZhbCA9IDA7CiAJCWlmICh2YWwpCiAJCQlpbmZvLT51cGRhdGVfd2FudGVkID0gMTsKKworCQlpZiAoeGVuYnVzX3NjYW5mKFhCVF9OSUwsIGRldi0+b3RoZXJlbmQsCisJCQkJICJmZWF0dXJlLXJlc2l6ZSIsICIlZCIsICZ2YWwpIDwgMCkKKwkJCXZhbCA9IDA7CisJCWluZm8tPmZlYXR1cmVfcmVzaXplID0gdmFsOwogCQlicmVhazsKIAogCWNhc2UgWGVuYnVzU3RhdGVDbG9zaW5nOgpAQCAtNTQ3LDQgKzY5OCw2IEBACiBtb2R1bGVfaW5pdCh4ZW5mYl9pbml0KTsKIG1vZHVsZV9leGl0KHhlbmZiX2NsZWFudXApOwogCitNT0RVTEVfREVTQ1JJUFRJT04oIlhlbiB2aXJ0dWFsIGZyYW1lYnVmZmVyIGRldmljZSBmcm9udGVuZCIpOwogTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOworTU9EVUxFX0FMSUFTKCJ4ZW46dmZiIik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3dhdGNoZG9nL2Jvb2tlX3dkdC5jIGIvZHJpdmVycy93YXRjaGRvZy9ib29rZV93ZHQuYwppbmRleCBjMWJhMGRiLi43NzA4MjQ0NSAxMDA2NDQKLS0tIGEvZHJpdmVycy93YXRjaGRvZy9ib29rZV93ZHQuYworKysgYi9kcml2ZXJzL3dhdGNoZG9nL2Jvb2tlX3dkdC5jCkBAIC01NSw3ICs1NSw3IEBACiAKIHN0YXRpYyB2b2lkIGJvb2tlX3dkdF9waW5nKHZvaWQpCiB7Ci0Jb25fZWFjaF9jcHUoX19ib29rZV93ZHRfcGluZywgTlVMTCwgMCwgMCk7CisJb25fZWFjaF9jcHUoX19ib29rZV93ZHRfcGluZywgTlVMTCwgMCk7CiB9CiAKIHN0YXRpYyB2b2lkIF9fYm9va2Vfd2R0X2VuYWJsZSh2b2lkICpkYXRhKQpAQCAtMTMxLDcgKzEzMSw3IEBACiAJc3Bpbl9sb2NrKCZib29rZV93ZHRfbG9jayk7CiAJaWYgKGJvb2tlX3dkdF9lbmFibGVkID09IDApIHsKIAkJYm9va2Vfd2R0X2VuYWJsZWQgPSAxOwotCQlvbl9lYWNoX2NwdShfX2Jvb2tlX3dkdF9lbmFibGUsIE5VTEwsIDAsIDApOworCQlvbl9lYWNoX2NwdShfX2Jvb2tlX3dkdF9lbmFibGUsIE5VTEwsIDApOwogCQlwcmludGsoS0VSTl9JTkZPICJQb3dlclBDIEJvb2stRSBXYXRjaGRvZyBUaW1lciBFbmFibGVkICIKIAkJCQkiKHdkdF9wZXJpb2Q9JWQpXG4iLCBib29rZV93ZHRfcGVyaW9kKTsKIAl9CkBAIC0xNzcsNyArMTc3LDcgQEAKIAlpZiAoYm9va2Vfd2R0X2VuYWJsZWQgPT0gMSkgewogCQlwcmludGsoS0VSTl9JTkZPICJQb3dlclBDIEJvb2stRSBXYXRjaGRvZyBUaW1lciBFbmFibGVkICIKIAkJCQkiKHdkdF9wZXJpb2Q9JWQpXG4iLCBib29rZV93ZHRfcGVyaW9kKTsKLQkJb25fZWFjaF9jcHUoX19ib29rZV93ZHRfZW5hYmxlLCBOVUxMLCAwLCAwKTsKKwkJb25fZWFjaF9jcHUoX19ib29rZV93ZHRfZW5hYmxlLCBOVUxMLCAwKTsKIAl9CiAJc3Bpbl91bmxvY2soJmJvb2tlX3dkdF9sb2NrKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy94ZW4vTWFrZWZpbGUgYi9kcml2ZXJzL3hlbi9NYWtlZmlsZQppbmRleCAzN2FmMDRmLi4zNjMyODZjIDEwMDY0NAotLS0gYS9kcml2ZXJzL3hlbi9NYWtlZmlsZQorKysgYi9kcml2ZXJzL3hlbi9NYWtlZmlsZQpAQCAtMSw0ICsxLDQgQEAKLW9iai15CSs9IGdyYW50LXRhYmxlLm8gZmVhdHVyZXMubyBldmVudHMubworb2JqLXkJKz0gZ3JhbnQtdGFibGUubyBmZWF0dXJlcy5vIGV2ZW50cy5vIG1hbmFnZS5vCiBvYmoteQkrPSB4ZW5idXMvCiBvYmotJChDT05GSUdfWEVOX1hFTkNPTU0pCSs9IHhlbmNvbW0ubwogb2JqLSQoQ09ORklHX1hFTl9CQUxMT09OKQkrPSBiYWxsb29uLm8KZGlmZiAtLWdpdCBhL2RyaXZlcnMveGVuL2JhbGxvb24uYyBiL2RyaXZlcnMveGVuL2JhbGxvb24uYwppbmRleCBhYjI1YmE2Li41OTFiYzI5IDEwMDY0NAotLS0gYS9kcml2ZXJzL3hlbi9iYWxsb29uLmMKKysrIGIvZHJpdmVycy94ZW4vYmFsbG9vbi5jCkBAIC0yMjUsNyArMjI1LDcgQEAKIAkJcGFnZSA9IGJhbGxvb25fbmV4dF9wYWdlKHBhZ2UpOwogCX0KIAotCXJlc2VydmF0aW9uLmV4dGVudF9zdGFydCA9ICh1bnNpZ25lZCBsb25nKWZyYW1lX2xpc3Q7CisJc2V0X3hlbl9ndWVzdF9oYW5kbGUocmVzZXJ2YXRpb24uZXh0ZW50X3N0YXJ0LCBmcmFtZV9saXN0KTsKIAlyZXNlcnZhdGlvbi5ucl9leHRlbnRzICAgPSBucl9wYWdlczsKIAlyYyA9IEhZUEVSVklTT1JfbWVtb3J5X29wKAogCQlYRU5NRU1fcG9wdWxhdGVfcGh5c21hcCwgJnJlc2VydmF0aW9uKTsKQEAgLTMyMSw3ICszMjEsNyBAQAogCQliYWxsb29uX2FwcGVuZChwZm5fdG9fcGFnZShwZm4pKTsKIAl9CiAKLQlyZXNlcnZhdGlvbi5leHRlbnRfc3RhcnQgPSAodW5zaWduZWQgbG9uZylmcmFtZV9saXN0OworCXNldF94ZW5fZ3Vlc3RfaGFuZGxlKHJlc2VydmF0aW9uLmV4dGVudF9zdGFydCwgZnJhbWVfbGlzdCk7CiAJcmVzZXJ2YXRpb24ubnJfZXh0ZW50cyAgID0gbnJfcGFnZXM7CiAJcmV0ID0gSFlQRVJWSVNPUl9tZW1vcnlfb3AoWEVOTUVNX2RlY3JlYXNlX3Jlc2VydmF0aW9uLCAmcmVzZXJ2YXRpb24pOwogCUJVR19PTihyZXQgIT0gbnJfcGFnZXMpOwpAQCAtMzY4LDcgKzM2OCw3IEBACiB9CiAKIC8qIFJlc2V0cyB0aGUgWGVuIGxpbWl0LCBzZXRzIG5ldyB0YXJnZXQsIGFuZCBraWNrcyBvZmYgcHJvY2Vzc2luZy4gKi8KLXZvaWQgYmFsbG9vbl9zZXRfbmV3X3RhcmdldCh1bnNpZ25lZCBsb25nIHRhcmdldCkKK3N0YXRpYyB2b2lkIGJhbGxvb25fc2V0X25ld190YXJnZXQodW5zaWduZWQgbG9uZyB0YXJnZXQpCiB7CiAJLyogTm8gbmVlZCBmb3IgbG9jay4gTm90IHJlYWQtbW9kaWZ5LXdyaXRlIHVwZGF0ZXMuICovCiAJYmFsbG9vbl9zdGF0cy5oYXJkX2xpbWl0ICAgPSB+MFVMOwpAQCAtNDgzLDcgKzQ4Myw3IEBACiAJCS5leHRlbnRfb3JkZXIgPSAwLAogCQkuZG9taWQgICAgICAgID0gRE9NSURfU0VMRgogCX07Ci0JcmVzZXJ2YXRpb24uZXh0ZW50X3N0YXJ0ID0gKHVuc2lnbmVkIGxvbmcpJm1mbjsKKwlzZXRfeGVuX2d1ZXN0X2hhbmRsZShyZXNlcnZhdGlvbi5leHRlbnRfc3RhcnQsICZtZm4pOwogCXNldF9wdGVfYXQoJmluaXRfbW0sIGFkZHIsIHB0ZSwgX19wdGVfbWEoMHVsbCkpOwogCXNldF9waHlzX3RvX21hY2hpbmUoX19wYShhZGRyKSA+PiBQQUdFX1NISUZULCBJTlZBTElEX1AyTV9FTlRSWSk7CiAJcmV0ID0gSFlQRVJWSVNPUl9tZW1vcnlfb3AoWEVOTUVNX2RlY3JlYXNlX3Jlc2VydmF0aW9uLCAmcmVzZXJ2YXRpb24pOwpAQCAtNTE5LDcgKzUxOSw3IEBACiAJCQkJLmV4dGVudF9vcmRlciA9IDAsCiAJCQkJLmRvbWlkICAgICAgICA9IERPTUlEX1NFTEYKIAkJCX07Ci0JCQlyZXNlcnZhdGlvbi5leHRlbnRfc3RhcnQgPSAodW5zaWduZWQgbG9uZykmZ21mbjsKKwkJCXNldF94ZW5fZ3Vlc3RfaGFuZGxlKHJlc2VydmF0aW9uLmV4dGVudF9zdGFydCwgJmdtZm4pOwogCQkJcmV0ID0gSFlQRVJWSVNPUl9tZW1vcnlfb3AoWEVOTUVNX2RlY3JlYXNlX3Jlc2VydmF0aW9uLAogCQkJCQkJICAgJnJlc2VydmF0aW9uKTsKIAkJCWlmIChyZXQgPT0gMSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMveGVuL2V2ZW50cy5jIGIvZHJpdmVycy94ZW4vZXZlbnRzLmMKaW5kZXggNzZlNWI3My4uMzMyZGQ2MzcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMveGVuL2V2ZW50cy5jCisrKyBiL2RyaXZlcnMveGVuL2V2ZW50cy5jCkBAIC0zNTUsNyArMzU1LDcgQEAKIAogCXNwaW5fbG9jaygmaXJxX21hcHBpbmdfdXBkYXRlX2xvY2spOwogCi0JaWYgKFZBTElEX0VWVENITihldnRjaG4pICYmICgtLWlycV9iaW5kY291bnRbaXJxXSA9PSAwKSkgeworCWlmICgoLS1pcnFfYmluZGNvdW50W2lycV0gPT0gMCkgJiYgVkFMSURfRVZUQ0hOKGV2dGNobikpIHsKIAkJY2xvc2UucG9ydCA9IGV2dGNobjsKIAkJaWYgKEhZUEVSVklTT1JfZXZlbnRfY2hhbm5lbF9vcChFVlRDSE5PUF9jbG9zZSwgJmNsb3NlKSAhPSAwKQogCQkJQlVHKCk7CkBAIC0zNzUsNyArMzc1LDcgQEAKIAkJZXZ0Y2huX3RvX2lycVtldnRjaG5dID0gLTE7CiAJCWlycV9pbmZvW2lycV0gPSBJUlFfVU5CT1VORDsKIAotCQlkeW5hbWljX2lycV9pbml0KGlycSk7CisJCWR5bmFtaWNfaXJxX2NsZWFudXAoaXJxKTsKIAl9CiAKIAlzcGluX3VubG9jaygmaXJxX21hcHBpbmdfdXBkYXRlX2xvY2spOwpAQCAtNTU3LDYgKzU1NywzMyBAQAogCXB1dF9jcHUoKTsKIH0KIAorLyogUmViaW5kIGEgbmV3IGV2ZW50IGNoYW5uZWwgdG8gYW4gZXhpc3RpbmcgaXJxLiAqLwordm9pZCByZWJpbmRfZXZ0Y2huX2lycShpbnQgZXZ0Y2huLCBpbnQgaXJxKQoreworCS8qIE1ha2Ugc3VyZSB0aGUgaXJxIGlzIG1hc2tlZCwgc2luY2UgdGhlIG5ldyBldmVudCBjaGFubmVsCisJICAgd2lsbCBhbHNvIGJlIG1hc2tlZC4gKi8KKwlkaXNhYmxlX2lycShpcnEpOworCisJc3Bpbl9sb2NrKCZpcnFfbWFwcGluZ191cGRhdGVfbG9jayk7CisKKwkvKiBBZnRlciByZXN1bWUgdGhlIGlycTwtPmV2dGNobiBtYXBwaW5ncyBhcmUgYWxsIGNsZWFyZWQgb3V0ICovCisJQlVHX09OKGV2dGNobl90b19pcnFbZXZ0Y2huXSAhPSAtMSk7CisJLyogRXhwZWN0IGlycSB0byBoYXZlIGJlZW4gYm91bmQgYmVmb3JlLAorCSAgIHNvIHRoZSBiaW5kY291bnQgc2hvdWxkIGJlIG5vbi0wICovCisJQlVHX09OKGlycV9iaW5kY291bnRbaXJxXSA9PSAwKTsKKworCWV2dGNobl90b19pcnFbZXZ0Y2huXSA9IGlycTsKKwlpcnFfaW5mb1tpcnFdID0gbWtfaXJxX2luZm8oSVJRVF9FVlRDSE4sIDAsIGV2dGNobik7CisKKwlzcGluX3VubG9jaygmaXJxX21hcHBpbmdfdXBkYXRlX2xvY2spOworCisJLyogbmV3IGV2ZW50IGNoYW5uZWxzIGFyZSBhbHdheXMgYm91bmQgdG8gY3B1IDAgKi8KKwlpcnFfc2V0X2FmZmluaXR5KGlycSwgY3B1bWFza19vZl9jcHUoMCkpOworCisJLyogVW5tYXNrIHRoZSBldmVudCBjaGFubmVsLiAqLworCWVuYWJsZV9pcnEoaXJxKTsKK30KKwogLyogUmViaW5kIGFuIGV2dGNobiBzbyB0aGF0IGl0IGdldHMgZGVsaXZlcmVkIHRvIGEgc3BlY2lmaWMgY3B1ICovCiBzdGF0aWMgdm9pZCByZWJpbmRfaXJxX3RvX2NwdSh1bnNpZ25lZCBpcnEsIHVuc2lnbmVkIHRjcHUpCiB7CkBAIC02NDcsNiArNjc0LDg5IEBACiAJcmV0dXJuIHJldDsKIH0KIAorc3RhdGljIHZvaWQgcmVzdG9yZV9jcHVfdmlycXModW5zaWduZWQgaW50IGNwdSkKK3sKKwlzdHJ1Y3QgZXZ0Y2huX2JpbmRfdmlycSBiaW5kX3ZpcnE7CisJaW50IHZpcnEsIGlycSwgZXZ0Y2huOworCisJZm9yICh2aXJxID0gMDsgdmlycSA8IE5SX1ZJUlFTOyB2aXJxKyspIHsKKwkJaWYgKChpcnEgPSBwZXJfY3B1KHZpcnFfdG9faXJxLCBjcHUpW3ZpcnFdKSA9PSAtMSkKKwkJCWNvbnRpbnVlOworCisJCUJVR19PTihpcnFfaW5mb1tpcnFdLnR5cGUgIT0gSVJRVF9WSVJRKTsKKwkJQlVHX09OKGlycV9pbmZvW2lycV0uaW5kZXggIT0gdmlycSk7CisKKwkJLyogR2V0IGEgbmV3IGJpbmRpbmcgZnJvbSBYZW4uICovCisJCWJpbmRfdmlycS52aXJxID0gdmlycTsKKwkJYmluZF92aXJxLnZjcHUgPSBjcHU7CisJCWlmIChIWVBFUlZJU09SX2V2ZW50X2NoYW5uZWxfb3AoRVZUQ0hOT1BfYmluZF92aXJxLAorCQkJCQkJJmJpbmRfdmlycSkgIT0gMCkKKwkJCUJVRygpOworCQlldnRjaG4gPSBiaW5kX3ZpcnEucG9ydDsKKworCQkvKiBSZWNvcmQgdGhlIG5ldyBtYXBwaW5nLiAqLworCQlldnRjaG5fdG9faXJxW2V2dGNobl0gPSBpcnE7CisJCWlycV9pbmZvW2lycV0gPSBta19pcnFfaW5mbyhJUlFUX1ZJUlEsIHZpcnEsIGV2dGNobik7CisJCWJpbmRfZXZ0Y2huX3RvX2NwdShldnRjaG4sIGNwdSk7CisKKwkJLyogUmVhZHkgZm9yIHVzZS4gKi8KKwkJdW5tYXNrX2V2dGNobihldnRjaG4pOworCX0KK30KKworc3RhdGljIHZvaWQgcmVzdG9yZV9jcHVfaXBpcyh1bnNpZ25lZCBpbnQgY3B1KQoreworCXN0cnVjdCBldnRjaG5fYmluZF9pcGkgYmluZF9pcGk7CisJaW50IGlwaSwgaXJxLCBldnRjaG47CisKKwlmb3IgKGlwaSA9IDA7IGlwaSA8IFhFTl9OUl9JUElTOyBpcGkrKykgeworCQlpZiAoKGlycSA9IHBlcl9jcHUoaXBpX3RvX2lycSwgY3B1KVtpcGldKSA9PSAtMSkKKwkJCWNvbnRpbnVlOworCisJCUJVR19PTihpcnFfaW5mb1tpcnFdLnR5cGUgIT0gSVJRVF9JUEkpOworCQlCVUdfT04oaXJxX2luZm9baXJxXS5pbmRleCAhPSBpcGkpOworCisJCS8qIEdldCBhIG5ldyBiaW5kaW5nIGZyb20gWGVuLiAqLworCQliaW5kX2lwaS52Y3B1ID0gY3B1OworCQlpZiAoSFlQRVJWSVNPUl9ldmVudF9jaGFubmVsX29wKEVWVENITk9QX2JpbmRfaXBpLAorCQkJCQkJJmJpbmRfaXBpKSAhPSAwKQorCQkJQlVHKCk7CisJCWV2dGNobiA9IGJpbmRfaXBpLnBvcnQ7CisKKwkJLyogUmVjb3JkIHRoZSBuZXcgbWFwcGluZy4gKi8KKwkJZXZ0Y2huX3RvX2lycVtldnRjaG5dID0gaXJxOworCQlpcnFfaW5mb1tpcnFdID0gbWtfaXJxX2luZm8oSVJRVF9JUEksIGlwaSwgZXZ0Y2huKTsKKwkJYmluZF9ldnRjaG5fdG9fY3B1KGV2dGNobiwgY3B1KTsKKworCQkvKiBSZWFkeSBmb3IgdXNlLiAqLworCQl1bm1hc2tfZXZ0Y2huKGV2dGNobik7CisKKwl9Cit9CisKK3ZvaWQgeGVuX2lycV9yZXN1bWUodm9pZCkKK3sKKwl1bnNpZ25lZCBpbnQgY3B1LCBpcnEsIGV2dGNobjsKKworCWluaXRfZXZ0Y2huX2NwdV9iaW5kaW5ncygpOworCisJLyogTmV3IGV2ZW50LWNoYW5uZWwgc3BhY2UgaXMgbm90ICdsaXZlJyB5ZXQuICovCisJZm9yIChldnRjaG4gPSAwOyBldnRjaG4gPCBOUl9FVkVOVF9DSEFOTkVMUzsgZXZ0Y2huKyspCisJCW1hc2tfZXZ0Y2huKGV2dGNobik7CisKKwkvKiBObyBJUlEgPC0+IGV2ZW50LWNoYW5uZWwgbWFwcGluZ3MuICovCisJZm9yIChpcnEgPSAwOyBpcnEgPCBOUl9JUlFTOyBpcnErKykKKwkJaXJxX2luZm9baXJxXS5ldnRjaG4gPSAwOyAvKiB6YXAgZXZlbnQtY2hhbm5lbCBiaW5kaW5nICovCisKKwlmb3IgKGV2dGNobiA9IDA7IGV2dGNobiA8IE5SX0VWRU5UX0NIQU5ORUxTOyBldnRjaG4rKykKKwkJZXZ0Y2huX3RvX2lycVtldnRjaG5dID0gLTE7CisKKwlmb3JfZWFjaF9wb3NzaWJsZV9jcHUoY3B1KSB7CisJCXJlc3RvcmVfY3B1X3ZpcnFzKGNwdSk7CisJCXJlc3RvcmVfY3B1X2lwaXMoY3B1KTsKKwl9Cit9CisKIHN0YXRpYyBzdHJ1Y3QgaXJxX2NoaXAgeGVuX2R5bmFtaWNfY2hpcCBfX3JlYWRfbW9zdGx5ID0gewogCS5uYW1lCQk9ICJ4ZW4tZHluIiwKIAkubWFzawkJPSBkaXNhYmxlX2R5bmlycSwKZGlmZiAtLWdpdCBhL2RyaXZlcnMveGVuL2dyYW50LXRhYmxlLmMgYi9kcml2ZXJzL3hlbi9ncmFudC10YWJsZS5jCmluZGV4IDUyYjZiNDEuLmU5ZTExMTYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMveGVuL2dyYW50LXRhYmxlLmMKKysrIGIvZHJpdmVycy94ZW4vZ3JhbnQtdGFibGUuYwpAQCAtNDcxLDE0ICs0NzEsMTQgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBnbnR0YWJfcmVzdW1lKHZvaWQpCitpbnQgZ250dGFiX3Jlc3VtZSh2b2lkKQogewogCWlmIChtYXhfbnJfZ3JhbnRfZnJhbWVzKCkgPCBucl9ncmFudF9mcmFtZXMpCiAJCXJldHVybiAtRU5PU1lTOwogCXJldHVybiBnbnR0YWJfbWFwKDAsIG5yX2dyYW50X2ZyYW1lcyAtIDEpOwogfQogCi1zdGF0aWMgaW50IGdudHRhYl9zdXNwZW5kKHZvaWQpCitpbnQgZ250dGFiX3N1c3BlbmQodm9pZCkKIHsKIAlhcmNoX2dudHRhYl91bm1hcF9zaGFyZWQoc2hhcmVkLCBucl9ncmFudF9mcmFtZXMpOwogCXJldHVybiAwOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy94ZW4vbWFuYWdlLmMgYi9kcml2ZXJzL3hlbi9tYW5hZ2UuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YjU0NmUzNgotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMveGVuL21hbmFnZS5jCkBAIC0wLDAgKzEsMjUyIEBACisvKgorICogSGFuZGxlIGV4dGVybiByZXF1ZXN0cyBmb3Igc2h1dGRvd24sIHJlYm9vdCBhbmQgc3lzcnEKKyAqLworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2Vyci5oPgorI2luY2x1ZGUgPGxpbnV4L3JlYm9vdC5oPgorI2luY2x1ZGUgPGxpbnV4L3N5c3JxLmg+CisjaW5jbHVkZSA8bGludXgvc3RvcF9tYWNoaW5lLmg+CisjaW5jbHVkZSA8bGludXgvZnJlZXplci5oPgorCisjaW5jbHVkZSA8eGVuL3hlbmJ1cy5oPgorI2luY2x1ZGUgPHhlbi9ncmFudF90YWJsZS5oPgorI2luY2x1ZGUgPHhlbi9ldmVudHMuaD4KKyNpbmNsdWRlIDx4ZW4vaHZjLWNvbnNvbGUuaD4KKyNpbmNsdWRlIDx4ZW4veGVuLW9wcy5oPgorCisjaW5jbHVkZSA8YXNtL3hlbi9oeXBlcmNhbGwuaD4KKyNpbmNsdWRlIDxhc20veGVuL3BhZ2UuaD4KKworZW51bSBzaHV0ZG93bl9zdGF0ZSB7CisJU0hVVERPV05fSU5WQUxJRCA9IC0xLAorCVNIVVRET1dOX1BPV0VST0ZGID0gMCwKKwlTSFVURE9XTl9TVVNQRU5EID0gMiwKKwkvKiBDb2RlIDMgaXMgU0hVVERPV05fQ1JBU0gsIHdoaWNoIHdlIGRvbid0IHVzZSBiZWNhdXNlIHRoZSBkb21haW4gY2FuIG9ubHkKKwkgICByZXBvcnQgYSBjcmFzaCwgbm90IGJlIGluc3RydWN0ZWQgdG8gY3Jhc2ghCisJICAgSEFMVCBpcyB0aGUgc2FtZSBhcyBQT1dFUk9GRiwgYXMgZmFyIGFzIHdlJ3JlIGNvbmNlcm5lZC4gIFRoZSB0b29scyB1c2UKKwkgICB0aGUgZGlzdGluY3Rpb24gd2hlbiB3ZSByZXR1cm4gdGhlIHJlYXNvbiBjb2RlIHRvIHRoZW0uICAqLworCSBTSFVURE9XTl9IQUxUID0gNCwKK307CisKKy8qIElnbm9yZSBtdWx0aXBsZSBzaHV0ZG93biByZXF1ZXN0cy4gKi8KK3N0YXRpYyBlbnVtIHNodXRkb3duX3N0YXRlIHNodXR0aW5nX2Rvd24gPSBTSFVURE9XTl9JTlZBTElEOworCisjaWZkZWYgQ09ORklHX1BNX1NMRUVQCitzdGF0aWMgaW50IHhlbl9zdXNwZW5kKHZvaWQgKmRhdGEpCit7CisJaW50ICpjYW5jZWxsZWQgPSBkYXRhOworCWludCBlcnI7CisKKwlCVUdfT04oIWlycXNfZGlzYWJsZWQoKSk7CisKKwlsb2FkX2NyMyhzd2FwcGVyX3BnX2Rpcik7CisKKwllcnIgPSBkZXZpY2VfcG93ZXJfZG93bihQTVNHX1NVU1BFTkQpOworCWlmIChlcnIpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJ4ZW5fc3VzcGVuZDogZGV2aWNlX3Bvd2VyX2Rvd24gZmFpbGVkOiAlZFxuIiwKKwkJICAgICAgIGVycik7CisJCXJldHVybiBlcnI7CisJfQorCisJeGVuX21tX3Bpbl9hbGwoKTsKKwlnbnR0YWJfc3VzcGVuZCgpOworCXhlbl9wcmVfc3VzcGVuZCgpOworCisJLyoKKwkgKiBUaGlzIGh5cGVyY2FsbCByZXR1cm5zIDEgaWYgc3VzcGVuZCB3YXMgY2FuY2VsbGVkCisJICogb3IgdGhlIGRvbWFpbiB3YXMgbWVyZWx5IGNoZWNrcG9pbnRlZCwgYW5kIDAgaWYgaXQKKwkgKiBpcyByZXN1bWluZyBpbiBhIG5ldyBkb21haW4uCisJICovCisJKmNhbmNlbGxlZCA9IEhZUEVSVklTT1Jfc3VzcGVuZCh2aXJ0X3RvX21mbih4ZW5fc3RhcnRfaW5mbykpOworCisJeGVuX3Bvc3Rfc3VzcGVuZCgqY2FuY2VsbGVkKTsKKwlnbnR0YWJfcmVzdW1lKCk7CisJeGVuX21tX3VucGluX2FsbCgpOworCisJZGV2aWNlX3Bvd2VyX3VwKCk7CisKKwlpZiAoISpjYW5jZWxsZWQpIHsKKwkJeGVuX2lycV9yZXN1bWUoKTsKKwkJeGVuX2NvbnNvbGVfcmVzdW1lKCk7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGRvX3N1c3BlbmQodm9pZCkKK3sKKwlpbnQgZXJyOworCWludCBjYW5jZWxsZWQgPSAxOworCisJc2h1dHRpbmdfZG93biA9IFNIVVRET1dOX1NVU1BFTkQ7CisKKyNpZmRlZiBDT05GSUdfUFJFRU1QVAorCS8qIElmIHRoZSBrZXJuZWwgaXMgcHJlZW1wdGlibGUsIHdlIG5lZWQgdG8gZnJlZXplIGFsbCB0aGUgcHJvY2Vzc2VzCisJICAgdG8gcHJldmVudCB0aGVtIGZyb20gYmVpbmcgaW4gdGhlIG1pZGRsZSBvZiBhIHBhZ2V0YWJsZSB1cGRhdGUKKwkgICBkdXJpbmcgc3VzcGVuZC4gKi8KKwllcnIgPSBmcmVlemVfcHJvY2Vzc2VzKCk7CisJaWYgKGVycikgeworCQlwcmludGsoS0VSTl9FUlIgInhlbiBzdXNwZW5kOiBmcmVlemUgZmFpbGVkICVkXG4iLCBlcnIpOworCQlyZXR1cm47CisJfQorI2VuZGlmCisKKwllcnIgPSBkZXZpY2Vfc3VzcGVuZChQTVNHX1NVU1BFTkQpOworCWlmIChlcnIpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJ4ZW4gc3VzcGVuZDogZGV2aWNlX3N1c3BlbmQgJWRcbiIsIGVycik7CisJCWdvdG8gb3V0OworCX0KKworCXByaW50aygic3VzcGVuZGluZyB4ZW5idXMuLi5cbiIpOworCS8qIFhYWCB1c2Ugbm9ybWFsIGRldmljZSB0cmVlPyAqLworCXhlbmJ1c19zdXNwZW5kKCk7CisKKwllcnIgPSBzdG9wX21hY2hpbmVfcnVuKHhlbl9zdXNwZW5kLCAmY2FuY2VsbGVkLCAwKTsKKwlpZiAoZXJyKSB7CisJCXByaW50ayhLRVJOX0VSUiAiZmFpbGVkIHRvIHN0YXJ0IHhlbl9zdXNwZW5kOiAlZFxuIiwgZXJyKTsKKwkJZ290byBvdXQ7CisJfQorCisJaWYgKCFjYW5jZWxsZWQpCisJCXhlbmJ1c19yZXN1bWUoKTsKKwllbHNlCisJCXhlbmJ1c19zdXNwZW5kX2NhbmNlbCgpOworCisJZGV2aWNlX3Jlc3VtZSgpOworCisJLyogTWFrZSBzdXJlIHRpbWVyIGV2ZW50cyBnZXQgcmV0cmlnZ2VyZWQgb24gYWxsIENQVXMgKi8KKwljbG9ja193YXNfc2V0KCk7CitvdXQ6CisjaWZkZWYgQ09ORklHX1BSRUVNUFQKKwl0aGF3X3Byb2Nlc3NlcygpOworI2VuZGlmCisJc2h1dHRpbmdfZG93biA9IFNIVVRET1dOX0lOVkFMSUQ7Cit9CisjZW5kaWYJLyogQ09ORklHX1BNX1NMRUVQICovCisKK3N0YXRpYyB2b2lkIHNodXRkb3duX2hhbmRsZXIoc3RydWN0IHhlbmJ1c193YXRjaCAqd2F0Y2gsCisJCQkgICAgIGNvbnN0IGNoYXIgKip2ZWMsIHVuc2lnbmVkIGludCBsZW4pCit7CisJY2hhciAqc3RyOworCXN0cnVjdCB4ZW5idXNfdHJhbnNhY3Rpb24geGJ0OworCWludCBlcnI7CisKKwlpZiAoc2h1dHRpbmdfZG93biAhPSBTSFVURE9XTl9JTlZBTElEKQorCQlyZXR1cm47CisKKyBhZ2FpbjoKKwllcnIgPSB4ZW5idXNfdHJhbnNhY3Rpb25fc3RhcnQoJnhidCk7CisJaWYgKGVycikKKwkJcmV0dXJuOworCisJc3RyID0gKGNoYXIgKil4ZW5idXNfcmVhZCh4YnQsICJjb250cm9sIiwgInNodXRkb3duIiwgTlVMTCk7CisJLyogSWdub3JlIHJlYWQgZXJyb3JzIGFuZCBlbXB0eSByZWFkcy4gKi8KKwlpZiAoWEVOQlVTX0lTX0VSUl9SRUFEKHN0cikpIHsKKwkJeGVuYnVzX3RyYW5zYWN0aW9uX2VuZCh4YnQsIDEpOworCQlyZXR1cm47CisJfQorCisJeGVuYnVzX3dyaXRlKHhidCwgImNvbnRyb2wiLCAic2h1dGRvd24iLCAiIik7CisKKwllcnIgPSB4ZW5idXNfdHJhbnNhY3Rpb25fZW5kKHhidCwgMCk7CisJaWYgKGVyciA9PSAtRUFHQUlOKSB7CisJCWtmcmVlKHN0cik7CisJCWdvdG8gYWdhaW47CisJfQorCisJaWYgKHN0cmNtcChzdHIsICJwb3dlcm9mZiIpID09IDAgfHwKKwkgICAgc3RyY21wKHN0ciwgImhhbHQiKSA9PSAwKSB7CisJCXNodXR0aW5nX2Rvd24gPSBTSFVURE9XTl9QT1dFUk9GRjsKKwkJb3JkZXJseV9wb3dlcm9mZihmYWxzZSk7CisJfSBlbHNlIGlmIChzdHJjbXAoc3RyLCAicmVib290IikgPT0gMCkgeworCQlzaHV0dGluZ19kb3duID0gU0hVVERPV05fUE9XRVJPRkY7IC8qID8gKi8KKwkJY3RybF9hbHRfZGVsKCk7CisjaWZkZWYgQ09ORklHX1BNX1NMRUVQCisJfSBlbHNlIGlmIChzdHJjbXAoc3RyLCAic3VzcGVuZCIpID09IDApIHsKKwkJZG9fc3VzcGVuZCgpOworI2VuZGlmCisJfSBlbHNlIHsKKwkJcHJpbnRrKEtFUk5fSU5GTyAiSWdub3Jpbmcgc2h1dGRvd24gcmVxdWVzdDogJXNcbiIsIHN0cik7CisJCXNodXR0aW5nX2Rvd24gPSBTSFVURE9XTl9JTlZBTElEOworCX0KKworCWtmcmVlKHN0cik7Cit9CisKK3N0YXRpYyB2b2lkIHN5c3JxX2hhbmRsZXIoc3RydWN0IHhlbmJ1c193YXRjaCAqd2F0Y2gsIGNvbnN0IGNoYXIgKip2ZWMsCisJCQkgIHVuc2lnbmVkIGludCBsZW4pCit7CisJY2hhciBzeXNycV9rZXkgPSAnXDAnOworCXN0cnVjdCB4ZW5idXNfdHJhbnNhY3Rpb24geGJ0OworCWludCBlcnI7CisKKyBhZ2FpbjoKKwllcnIgPSB4ZW5idXNfdHJhbnNhY3Rpb25fc3RhcnQoJnhidCk7CisJaWYgKGVycikKKwkJcmV0dXJuOworCWlmICgheGVuYnVzX3NjYW5mKHhidCwgImNvbnRyb2wiLCAic3lzcnEiLCAiJWMiLCAmc3lzcnFfa2V5KSkgeworCQlwcmludGsoS0VSTl9FUlIgIlVuYWJsZSB0byByZWFkIHN5c3JxIGNvZGUgaW4gIgorCQkgICAgICAgImNvbnRyb2wvc3lzcnFcbiIpOworCQl4ZW5idXNfdHJhbnNhY3Rpb25fZW5kKHhidCwgMSk7CisJCXJldHVybjsKKwl9CisKKwlpZiAoc3lzcnFfa2V5ICE9ICdcMCcpCisJCXhlbmJ1c19wcmludGYoeGJ0LCAiY29udHJvbCIsICJzeXNycSIsICIlYyIsICdcMCcpOworCisJZXJyID0geGVuYnVzX3RyYW5zYWN0aW9uX2VuZCh4YnQsIDApOworCWlmIChlcnIgPT0gLUVBR0FJTikKKwkJZ290byBhZ2FpbjsKKworCWlmIChzeXNycV9rZXkgIT0gJ1wwJykKKwkJaGFuZGxlX3N5c3JxKHN5c3JxX2tleSwgTlVMTCk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgeGVuYnVzX3dhdGNoIHNodXRkb3duX3dhdGNoID0geworCS5ub2RlID0gImNvbnRyb2wvc2h1dGRvd24iLAorCS5jYWxsYmFjayA9IHNodXRkb3duX2hhbmRsZXIKK307CisKK3N0YXRpYyBzdHJ1Y3QgeGVuYnVzX3dhdGNoIHN5c3JxX3dhdGNoID0geworCS5ub2RlID0gImNvbnRyb2wvc3lzcnEiLAorCS5jYWxsYmFjayA9IHN5c3JxX2hhbmRsZXIKK307CisKK3N0YXRpYyBpbnQgc2V0dXBfc2h1dGRvd25fd2F0Y2hlcih2b2lkKQoreworCWludCBlcnI7CisKKwllcnIgPSByZWdpc3Rlcl94ZW5idXNfd2F0Y2goJnNodXRkb3duX3dhdGNoKTsKKwlpZiAoZXJyKSB7CisJCXByaW50ayhLRVJOX0VSUiAiRmFpbGVkIHRvIHNldCBzaHV0ZG93biB3YXRjaGVyXG4iKTsKKwkJcmV0dXJuIGVycjsKKwl9CisKKwllcnIgPSByZWdpc3Rlcl94ZW5idXNfd2F0Y2goJnN5c3JxX3dhdGNoKTsKKwlpZiAoZXJyKSB7CisJCXByaW50ayhLRVJOX0VSUiAiRmFpbGVkIHRvIHNldCBzeXNycSB3YXRjaGVyXG4iKTsKKwkJcmV0dXJuIGVycjsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBzaHV0ZG93bl9ldmVudChzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKm5vdGlmaWVyLAorCQkJICB1bnNpZ25lZCBsb25nIGV2ZW50LAorCQkJICB2b2lkICpkYXRhKQoreworCXNldHVwX3NodXRkb3duX3dhdGNoZXIoKTsKKwlyZXR1cm4gTk9USUZZX0RPTkU7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IHNldHVwX3NodXRkb3duX2V2ZW50KHZvaWQpCit7CisJc3RhdGljIHN0cnVjdCBub3RpZmllcl9ibG9jayB4ZW5zdG9yZV9ub3RpZmllciA9IHsKKwkJLm5vdGlmaWVyX2NhbGwgPSBzaHV0ZG93bl9ldmVudAorCX07CisJcmVnaXN0ZXJfeGVuc3RvcmVfbm90aWZpZXIoJnhlbnN0b3JlX25vdGlmaWVyKTsKKworCXJldHVybiAwOworfQorCitzdWJzeXNfaW5pdGNhbGwoc2V0dXBfc2h1dGRvd25fZXZlbnQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy94ZW4veGVuYnVzL3hlbmJ1c19jbGllbnQuYyBiL2RyaXZlcnMveGVuL3hlbmJ1cy94ZW5idXNfY2xpZW50LmMKaW5kZXggMGY4NmIwZi4uOTY3OGIzZSAxMDA2NDQKLS0tIGEvZHJpdmVycy94ZW4veGVuYnVzL3hlbmJ1c19jbGllbnQuYworKysgYi9kcml2ZXJzL3hlbi94ZW5idXMveGVuYnVzX2NsaWVudC5jCkBAIC0xMTcsNyArMTE3LDcgQEAKIAljaGFyICpwYXRoOwogCiAJdmFfc3RhcnQoYXAsIHBhdGhmbXQpOwotCXBhdGggPSBrdmFzcHJpbnRmKEdGUF9LRVJORUwsIHBhdGhmbXQsIGFwKTsKKwlwYXRoID0ga3Zhc3ByaW50ZihHRlBfTk9JTyB8IF9fR0ZQX0hJR0gsIHBhdGhmbXQsIGFwKTsKIAl2YV9lbmQoYXApOwogCiAJaWYgKCFwYXRoKSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3hlbi94ZW5idXMveGVuYnVzX2NvbW1zLmMgYi9kcml2ZXJzL3hlbi94ZW5idXMveGVuYnVzX2NvbW1zLmMKaW5kZXggNmVmYmUzZi4uMDkwYzYxZSAxMDA2NDQKLS0tIGEvZHJpdmVycy94ZW4veGVuYnVzL3hlbmJ1c19jb21tcy5jCisrKyBiL2RyaXZlcnMveGVuL3hlbmJ1cy94ZW5idXNfY29tbXMuYwpAQCAtMjAzLDcgKzIwMyw2IEBACiBpbnQgeGJfaW5pdF9jb21tcyh2b2lkKQogewogCXN0cnVjdCB4ZW5zdG9yZV9kb21haW5faW50ZXJmYWNlICppbnRmID0geGVuX3N0b3JlX2ludGVyZmFjZTsKLQlpbnQgZXJyOwogCiAJaWYgKGludGYtPnJlcV9wcm9kICE9IGludGYtPnJlcV9jb25zKQogCQlwcmludGsoS0VSTl9FUlIgIlhFTkJVUyByZXF1ZXN0IHJpbmcgaXMgbm90IHF1aWVzY2VudCAiCkBAIC0yMTYsMTggKzIxNSwyMCBAQAogCQlpbnRmLT5yc3BfY29ucyA9IGludGYtPnJzcF9wcm9kOwogCX0KIAotCWlmICh4ZW5idXNfaXJxKQotCQl1bmJpbmRfZnJvbV9pcnFoYW5kbGVyKHhlbmJ1c19pcnEsICZ4Yl93YWl0cSk7CisJaWYgKHhlbmJ1c19pcnEpIHsKKwkJLyogQWxyZWFkeSBoYXZlIGFuIGlycTsgYXNzdW1lIHdlJ3JlIHJlc3VtaW5nICovCisJCXJlYmluZF9ldnRjaG5faXJxKHhlbl9zdG9yZV9ldnRjaG4sIHhlbmJ1c19pcnEpOworCX0gZWxzZSB7CisJCWludCBlcnI7CisJCWVyciA9IGJpbmRfZXZ0Y2huX3RvX2lycWhhbmRsZXIoeGVuX3N0b3JlX2V2dGNobiwgd2FrZV93YWl0aW5nLAorCQkJCQkJMCwgInhlbmJ1cyIsICZ4Yl93YWl0cSk7CisJCWlmIChlcnIgPD0gMCkgeworCQkJcHJpbnRrKEtFUk5fRVJSICJYRU5CVVMgcmVxdWVzdCBpcnEgZmFpbGVkICVpXG4iLCBlcnIpOworCQkJcmV0dXJuIGVycjsKKwkJfQogCi0JZXJyID0gYmluZF9ldnRjaG5fdG9faXJxaGFuZGxlcigKLQkJeGVuX3N0b3JlX2V2dGNobiwgd2FrZV93YWl0aW5nLAotCQkwLCAieGVuYnVzIiwgJnhiX3dhaXRxKTsKLQlpZiAoZXJyIDw9IDApIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJYRU5CVVMgcmVxdWVzdCBpcnEgZmFpbGVkICVpXG4iLCBlcnIpOwotCQlyZXR1cm4gZXJyOworCQl4ZW5idXNfaXJxID0gZXJyOwogCX0KIAotCXhlbmJ1c19pcnEgPSBlcnI7Ci0KIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMveGVuL3hlbmJ1cy94ZW5idXNfeHMuYyBiL2RyaXZlcnMveGVuL3hlbmJ1cy94ZW5idXNfeHMuYwppbmRleCAyMjdkNTNiMS4uN2YyZjkxYyAxMDA2NDQKLS0tIGEvZHJpdmVycy94ZW4veGVuYnVzL3hlbmJ1c194cy5jCisrKyBiL2RyaXZlcnMveGVuL3hlbmJ1cy94ZW5idXNfeHMuYwpAQCAtMjgzLDkgKzI4Myw5IEBACiAJY2hhciAqYnVmZmVyOwogCiAJaWYgKHN0cmxlbihuYW1lKSA9PSAwKQotCQlidWZmZXIgPSBrYXNwcmludGYoR0ZQX0tFUk5FTCwgIiVzIiwgZGlyKTsKKwkJYnVmZmVyID0ga2FzcHJpbnRmKEdGUF9OT0lPIHwgX19HRlBfSElHSCwgIiVzIiwgZGlyKTsKIAllbHNlCi0JCWJ1ZmZlciA9IGthc3ByaW50ZihHRlBfS0VSTkVMLCAiJXMvJXMiLCBkaXIsIG5hbWUpOworCQlidWZmZXIgPSBrYXNwcmludGYoR0ZQX05PSU8gfCBfX0dGUF9ISUdILCAiJXMvJXMiLCBkaXIsIG5hbWUpOwogCXJldHVybiAoIWJ1ZmZlcikgPyBFUlJfUFRSKC1FTk9NRU0pIDogYnVmZmVyOwogfQogCkBAIC0yOTcsNyArMjk3LDcgQEAKIAkqbnVtID0gY291bnRfc3RyaW5ncyhzdHJpbmdzLCBsZW4pOwogCiAJLyogVHJhbnNmZXIgdG8gb25lIGJpZyBhbGxvYyBmb3IgZWFzeSBmcmVlaW5nLiAqLwotCXJldCA9IGttYWxsb2MoKm51bSAqIHNpemVvZihjaGFyICopICsgbGVuLCBHRlBfS0VSTkVMKTsKKwlyZXQgPSBrbWFsbG9jKCpudW0gKiBzaXplb2YoY2hhciAqKSArIGxlbiwgR0ZQX05PSU8gfCBfX0dGUF9ISUdIKTsKIAlpZiAoIXJldCkgewogCQlrZnJlZShzdHJpbmdzKTsKIAkJcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7CkBAIC03NTEsNyArNzUxLDcgQEAKIAl9CiAKIAotCW1zZyA9IGttYWxsb2Moc2l6ZW9mKCptc2cpLCBHRlBfS0VSTkVMKTsKKwltc2cgPSBrbWFsbG9jKHNpemVvZigqbXNnKSwgR0ZQX05PSU8gfCBfX0dGUF9ISUdIKTsKIAlpZiAobXNnID09IE5VTEwpIHsKIAkJZXJyID0gLUVOT01FTTsKIAkJZ290byBvdXQ7CkBAIC03NjMsNyArNzYzLDcgQEAKIAkJZ290byBvdXQ7CiAJfQogCi0JYm9keSA9IGttYWxsb2MobXNnLT5oZHIubGVuICsgMSwgR0ZQX0tFUk5FTCk7CisJYm9keSA9IGttYWxsb2MobXNnLT5oZHIubGVuICsgMSwgR0ZQX05PSU8gfCBfX0dGUF9ISUdIKTsKIAlpZiAoYm9keSA9PSBOVUxMKSB7CiAJCWtmcmVlKG1zZyk7CiAJCWVyciA9IC1FTk9NRU07CmRpZmYgLS1naXQgYS9maXJtd2FyZS9NYWtlZmlsZSBiL2Zpcm13YXJlL01ha2VmaWxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU0ZjJmYjMKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9NYWtlZmlsZQpAQCAtMCwwICsxLDE3NSBAQAorIworIyBrYnVpbGQgZmlsZSBmb3IgZmlybXdhcmUvCisjCisKKyMgQ3JlYXRlICQoZndhYnMpIGZyb20gJChDT05GSUdfRVhUUkFfRklSTVdBUkVfRElSKSAtLSBpZiBpdCBkb2Vzbid0IGhhdmUgYQorIyBsZWFkaW5nIC8sIGl0J3MgcmVsYXRpdmUgdG8gJChzcmN0cmVlKS4KK2Z3ZGlyIDo9ICQoc3Vic3QgIiwsJChDT05GSUdfRVhUUkFfRklSTVdBUkVfRElSKSkKK2Z3YWJzIDo9ICQoYWRkcHJlZml4ICQoc3JjdHJlZSkvLCQoZmlsdGVyLW91dCAvJSwkKGZ3ZGlyKSkpJChmaWx0ZXIgLyUsJChmd2RpcikpCisKK2Z3LWV4dGVybmFsLXkgOj0gJChzdWJzdCAiLCwkKENPTkZJR19FWFRSQV9GSVJNV0FSRSkpCisKKyMgVGhlcmUgYXJlIHRocmVlIGNhc2VzIHRvIGNhcmUgYWJvdXQ6CisjIDEuIEJ1aWxkaW5nIGtlcm5lbCB3aXRoIENPTkZJR19GSVJNV0FSRV9JTl9LRVJORUw9eSAtLSAkKGZ3LXNoaXBwZWQteSkgc2hvdWxkCisjICAgIGluY2x1ZGUgdGhlIGZpcm13YXJlIGZpbGVzIHRvIGluY2x1ZGUsIGFjY29yZGluZyB0byAuY29uZmlnCisjIDIuICdtYWtlIG1vZHVsZXNfaW5zdGFsbCcsIHdoaWNoIHdpbGwgaW5zdGFsbCBmaXJtd2FyZSBmb3IgbW9kdWxlcywgYW5kIAorIyAgICBfYWxzb18gZm9yIHRoZSBpbi1rZXJuZWwgZHJpdmVycyB3aGVuIENPTkZJR19GSVJNV0FSRV9JTl9LRVJORUw9bgorIyAzLiAnbWFrZSBmaXJtd2FyZV9pbnN0YWxsJywgd2hpY2ggaW5zdGFsbHMgYWxsIGZpcm13YXJlLCB1bmNvbmRpdGlvbmFsbHkuCisKKyMgRm9yIHRoZSBmb3JtZXIgdHdvIGNhc2VzIHdlIHdhbnQgJChmdy1zaGlwcGVkLXkpIGFuZCAkKGZ3LXNoaXBwZWQtbSkgdG8gYmUKKyMgYWNjdXJhdGUuIEluIHRoZSBsYXR0ZXIgY2FzZSBpdCBkb2Vzbid0IG1hdHRlciAtLSBpdCdsbCB1c2UgJChmdy1zaGlwcGVkLWFsbCkuCisjIEJ1dCBiZSBhd2FyZSB0aGF0IHRoZSBjb25maWcgZmlsZSBtaWdodCBub3QgYmUgaW5jbHVkZWQgYXQgYWxsLgorCitmdy1zaGlwcGVkLSQoQ09ORklHX0FUQVJJX0RTUDU2SykgKz0gZHNwNTZrL2Jvb3RzdHJhcC5iaW4KK2Z3LXNoaXBwZWQtJChDT05GSUdfQVRNX0FNQkFTU0FET1IpICs9IGF0bXNhcjExLmZ3Citmdy1zaGlwcGVkLSQoQ09ORklHX0NPTVBVVE9ORSkgKz0gaW50ZWxsaXBvcnQyLmJpbgorZnctc2hpcHBlZC0kKENPTkZJR19EVkJfVFRVU0JfQlVER0VUKSArPSB0dHVzYi1idWRnZXQvZHNwYm9vdGNvZGUuYmluCitmdy1zaGlwcGVkLSQoQ09ORklHX1NNQ1RSKSArPSB0cl9zbWN0ci5iaW4KK2Z3LXNoaXBwZWQtJChDT05GSUdfU05EX0tPUkcxMjEyKSArPSBrb3JnL2sxMjEyLmRzcAorZnctc2hpcHBlZC0kKENPTkZJR19TTkRfTUFFU1RSTzMpICs9IGVzcy9tYWVzdHJvM19hc3NwX2tlcm5lbC5mdyBcCisJCQkJICAgICBlc3MvbWFlc3RybzNfYXNzcF9taW5pc3JjLmZ3Citmdy1zaGlwcGVkLSQoQ09ORklHX1NORF9TQjE2X0NTUCkgKz0gc2IxNi9tdWxhd19tYWluLmNzcCBzYjE2L2FsYXdfbWFpbi5jc3AgXAorCQkJCSAgICAgc2IxNi9pbWFfYWRwY21faW5pdC5jc3AgXAorCQkJCSAgICAgc2IxNi9pbWFfYWRwY21fcGxheWJhY2suY3NwIFwKKwkJCQkgICAgIHNiMTYvaW1hX2FkcGNtX2NhcHR1cmUuY3NwCitmdy1zaGlwcGVkLSQoQ09ORklHX1NORF9ZTUZQQ0kpICs9IHlhbWFoYS9kczFfY3RybC5mdyB5YW1haGEvZHMxX2RzcC5mdyBcCisJCQkJICAgeWFtYWhhL2RzMWVfY3RybC5mdworZnctc2hpcHBlZC0kKENPTkZJR19VU0JfREFCVVNCKSArPSBkYWJ1c2IvZmlybXdhcmUuZncgZGFidXNiL2JpdHN0cmVhbS5iaW4KK2Z3LXNoaXBwZWQtJChDT05GSUdfVVNCX0VNSTI2KSArPSBlbWkyNi9sb2FkZXIuZncgZW1pMjYvZmlybXdhcmUuZncgXAorCQkJCSAgZW1pMjYvYml0c3RyZWFtLmZ3Citmdy1zaGlwcGVkLSQoQ09ORklHX1VTQl9FTUk2MikgKz0gZW1pNjIvbG9hZGVyLmZ3IGVtaTYyL2JpdHN0cmVhbS5mdyBcCisJCQkJICBlbWk2Mi9zcGRpZi5mdyBlbWk2Mi9taWRpLmZ3Citmdy1zaGlwcGVkLSQoQ09ORklHX1VTQl9LQVdFVEgpICs9IGthd2V0aC9uZXdfY29kZS5iaW4ga2F3ZXRoL3RyaWdnZXJfY29kZS5iaW4gXAorCQkJCSAgIGthd2V0aC9uZXdfY29kZV9maXguYmluIFwKKwkJCQkgICBrYXdldGgvdHJpZ2dlcl9jb2RlX2ZpeC5iaW4KK2lmZGVmIENPTkZJR19GSVJNV0FSRV9JTl9LRVJORUwKK2Z3LXNoaXBwZWQtJChDT05GSUdfVVNCX1NFUklBTF9LRVlTUEFOX01QUikgKz0ga2V5c3Bhbi9tcHIuZncKK2Z3LXNoaXBwZWQtJChDT05GSUdfVVNCX1NFUklBTF9LRVlTUEFOX1VTQTE4WCkgKz0ga2V5c3Bhbi91c2ExOHguZncKK2Z3LXNoaXBwZWQtJChDT05GSUdfVVNCX1NFUklBTF9LRVlTUEFOX1VTQTE5KSArPSBrZXlzcGFuL3VzYTE5LmZ3Citmdy1zaGlwcGVkLSQoQ09ORklHX1VTQl9TRVJJQUxfS0VZU1BBTl9VU0ExOVFJKSArPSBrZXlzcGFuL3VzYTE5cWkuZncKK2Z3LXNoaXBwZWQtJChDT05GSUdfVVNCX1NFUklBTF9LRVlTUEFOX1VTQTE5UVcpICs9IGtleXNwYW4vdXNhMTlxdy5mdworZnctc2hpcHBlZC0kKENPTkZJR19VU0JfU0VSSUFMX0tFWVNQQU5fVVNBMTlXKSArPSBrZXlzcGFuL3VzYTE5dy5mdworZnctc2hpcHBlZC0kKENPTkZJR19VU0JfU0VSSUFMX0tFWVNQQU5fVVNBMjgpICs9IGtleXNwYW4vdXNhMjguZncKK2Z3LXNoaXBwZWQtJChDT05GSUdfVVNCX1NFUklBTF9LRVlTUEFOX1VTQTI4WEEpICs9IGtleXNwYW4vdXNhMjh4YS5mdworZnctc2hpcHBlZC0kKENPTkZJR19VU0JfU0VSSUFMX0tFWVNQQU5fVVNBMjhYQikgKz0ga2V5c3Bhbi91c2EyOHhiLmZ3Citmdy1zaGlwcGVkLSQoQ09ORklHX1VTQl9TRVJJQUxfS0VZU1BBTl9VU0EyOFgpICs9IGtleXNwYW4vdXNhMjh4LmZ3Citmdy1zaGlwcGVkLSQoQ09ORklHX1VTQl9TRVJJQUxfS0VZU1BBTl9VU0E0OVcpICs9IGtleXNwYW4vdXNhNDl3LmZ3Citmdy1zaGlwcGVkLSQoQ09ORklHX1VTQl9TRVJJQUxfS0VZU1BBTl9VU0E0OVdMQykgKz0ga2V5c3Bhbi91c2E0OXdsYy5mdworZWxzZQorZnctc2hpcHBlZC0gOj0ga2V5c3Bhbi9tcHIuZncga2V5c3Bhbi91c2ExOHguZncga2V5c3Bhbi91c2ExOS5mdwlcCisJa2V5c3Bhbi91c2ExOXFpLmZ3IGtleXNwYW4vdXNhMTlxdy5mdyBrZXlzcGFuL3VzYTE5dy5mdwkJXAorCWtleXNwYW4vdXNhMjguZncga2V5c3Bhbi91c2EyOHhhLmZ3IGtleXNwYW4vdXNhMjh4Yi5mdwkJXAorCWtleXNwYW4vdXNhMjh4LmZ3IGtleXNwYW4vdXNhNDl3LmZ3IGtleXNwYW4vdXNhNDl3bGMuZncKK2VuZGlmCitmdy1zaGlwcGVkLSQoQ09ORklHX1VTQl9TRVJJQUxfVEkpICs9IHRpXzM0MTAuZncgdGlfNTA1Mi5mdworZnctc2hpcHBlZC0kKENPTkZJR19VU0JfU0VSSUFMX0VER0VQT1JUKSArPSBlZGdlcG9ydC9ib290LmZ3IGVkZ2Vwb3J0L2Jvb3QyLmZ3IFwKKwkJCQkJICAgIGVkZ2Vwb3J0L2Rvd24uZncgZWRnZXBvcnQvZG93bjIuZncKK2Z3LXNoaXBwZWQtJChDT05GSUdfVVNCX1NFUklBTF9FREdFUE9SVF9USSkgKz0gZWRnZXBvcnQvZG93bjMuYmluCitmdy1zaGlwcGVkLSQoQ09ORklHX1VTQl9TRVJJQUxfV0hJVEVIRUFUKSArPSB3aGl0ZWhlYXRfbG9hZGVyLmZ3IHdoaXRlaGVhdC5mdyBcCisJCQkJCSAgICMgd2hpdGVoZWF0X2xvYWRlcl9kZWJ1Zy5mdworZnctc2hpcHBlZC0kKENPTkZJR19VU0JfU0VSSUFMX0tFWVNQQU5fUERBKSArPSBrZXlzcGFuX3BkYS9rZXlzcGFuX3BkYS5mdworZnctc2hpcHBlZC0kKENPTkZJR19VU0JfU0VSSUFMX1hJUkNPTSkgKz0ga2V5c3Bhbl9wZGEveGlyY29tX3Bncy5mdworZnctc2hpcHBlZC0kKENPTkZJR19VU0JfVklDQU0pICs9IHZpY2FtL2Zpcm13YXJlLmZ3Citmdy1zaGlwcGVkLSQoQ09ORklHX1ZJREVPX0NQSUEyKSArPSBjcGlhMi9zdHYwNjcyX3ZwNC5iaW4KKworZnctc2hpcHBlZC1hbGwgOj0gJChmdy1zaGlwcGVkLXkpICQoZnctc2hpcHBlZC1tKSAkKGZ3LXNoaXBwZWQtKQorCisjIERpcmVjdG9yaWVzIHdoaWNoIHdlIF9taWdodF8gbmVlZCB0byBjcmVhdGUsIHNvIHdlIGhhdmUgYSBydWxlIGZvciB0aGVtLgorZmlybXdhcmUtZGlycyA6PSAkKHNvcnQgJChwYXRzdWJzdCAlLCQob2JqdHJlZSkvJChvYmopLyUvLCQoZGlyICQoZnctZXh0ZXJuYWwteSkgJChmdy1zaGlwcGVkLWFsbCkpKSkKKworcXVpZXRfY21kX21rZGlyID0gTUtESVIgICAkKHBhdHN1YnN0ICQob2JqdHJlZSkvJSwlLCRAKQorICAgICAgY21kX21rZGlyID0gbWtkaXIgLXAgJEAKKworcXVpZXRfY21kX2loZXggID0gSUhFWCAgICAkQAorICAgICAgY21kX2loZXggID0gJChPQkpDT1BZKSAtSWloZXggLU9iaW5hcnkgJDwgJEAKKworcXVpZXRfY21kX2loZXgyZncgID0gSUhFWDJGVyAkQAorICAgICAgY21kX2loZXgyZncgID0gJChvYmp0cmVlKS8kKG9iaikvaWhleDJmdyAkPCAkQAorCitxdWlldF9jbWRfaDE2dG9mdyAgPSBIMTZUT0ZXICRACisgICAgICBjbWRfaDE2dG9mdyAgPSAkKG9ianRyZWUpLyQob2JqKS9paGV4MmZ3IC13ICQ8ICRACisKK3F1aWV0X2NtZF9md2JpbiA9IE1LX0ZXICAgJEAKKyAgICAgIGNtZF9md2JpbiA9IEZXTkFNRT0iJChwYXRzdWJzdCBmaXJtd2FyZS8lLmdlbi5TLCUsJEApIjsJCSAgICAgXAorCQkgIEZXU1RSPSIkKHN1YnN0IC8sXywkKHN1YnN0IC4sXywkKHN1YnN0IC0sXywkKHBhdHN1YnN0CSAgICAgXAorCQkJCWZpcm13YXJlLyUuZ2VuLlMsJSwkQCkpKSkiOwkJICAgICBcCisJCSAgQVNNX1dPUkQ9JChpZiAkKENPTkZJR182NEJJVCksLnF1YWQsLmxvbmcpOwkJICAgICBcCisJCSAgQVNNX0FMSUdOPSQoaWYgJChDT05GSUdfNjRCSVQpLDMsMik7CQkJICAgICBcCisJCSAgUFJPR0JJVFM9JChpZiAkKENPTkZJR19BUk0pLCUsQClwcm9nYml0czsJCSAgICAgXAorCQkgIGVjaG8gIi8qIEdlbmVyYXRlZCBieSBmaXJtd2FyZS9NYWtlZmlsZSAqLyIJCT4gJEA7XAorCQkgIGVjaG8gIiAgICAuc2VjdGlvbiAucm9kYXRhIgkJCQk+PiRAO1wKKwkJICBlY2hvICIgICAgLnAyYWxpZ24gJCR7QVNNX0FMSUdOfSIJCQk+PiRAO1wKKwkJICBlY2hvICJfZndfJCR7RldTVFJ9X2JpbjoiCQkJCT4+JEA7XAorCQkgIGVjaG8gIiAgICAuaW5jYmluIFwiJCgyKVwiIgkJCQk+PiRAO1wKKwkJICBlY2hvICJfZndfZW5kOiIJCQkJCT4+JEA7XAorCQkgIGVjaG8gIiAgIC5zZWN0aW9uIC5yb2RhdGEuc3RyLFwiYU1TXCIsJCR7UFJPR0JJVFN9LDEiCT4+JEA7XAorCQkgIGVjaG8gIiAgICAucDJhbGlnbiAkJHtBU01fQUxJR059IgkJCT4+JEA7XAorCQkgIGVjaG8gIl9md18kJHtGV1NUUn1fbmFtZToiCQkJCT4+JEA7XAorCQkgIGVjaG8gIiAgICAuc3RyaW5nIFwiJCRGV05BTUVcIiIJCQk+PiRAO1wKKwkJICBlY2hvICIgICAgLnNlY3Rpb24gLmJ1aWx0aW5fZncsXCJhXCIsJCR7UFJPR0JJVFN9Igk+PiRAO1wKKwkJICBlY2hvICIgICAgLnAyYWxpZ24gJCR7QVNNX0FMSUdOfSIJCQk+PiRAO1wKKwkJICBlY2hvICIgICAgJCR7QVNNX1dPUkR9IF9md18kJHtGV1NUUn1fbmFtZSIJCT4+JEA7XAorCQkgIGVjaG8gIiAgICAkJHtBU01fV09SRH0gX2Z3XyQke0ZXU1RSfV9iaW4iCQk+PiRAO1wKKwkJICBlY2hvICIgICAgJCR7QVNNX1dPUkR9IF9md19lbmQgLSBfZndfJCR7RldTVFJ9X2JpbiIJPj4kQDsKKworIyBPbmUgb2YgdGhlc2UgZmlsZXMgd2lsbCBjaGFuZ2UsIG9yIGNvbWUgaW50byBleGlzdGVuY2UsIHdoZW5ldmVyCisjIHRoZSBjb25maWd1cmF0aW9uIGNoYW5nZXMgYmV0d2VlbiAzMi1iaXQgYW5kIDY0LWJpdC4gVGhlIC5TIGZpbGVzCisjIG5lZWQgdG8gY2hhbmdlIHdoZW4gdGhhdCBoYXBwZW5zLgord29yZHNpemVfZGVwcyA6PSAkKHdpbGRjYXJkIGluY2x1ZGUvY29uZmlnLzY0Yml0LmggaW5jbHVkZS9jb25maWcvMzJiaXQuaCBcCisJCWluY2x1ZGUvY29uZmlnL3BwYzMyLmggaW5jbHVkZS9jb25maWcvcHBjNjQuaCBcCisJCWluY2x1ZGUvY29uZmlnL3N1cGVyaDMyLmggaW5jbHVkZS9jb25maWcvc3VwZXJoNjQuaCBcCisJCWluY2x1ZGUvY29uZmlnL3g4Nl8zMi5oIGluY2x1ZGUvY29uZmlnL3g4Nl82NC5oKQorCisjIFdvcmthcm91bmQgZm9yIG1ha2UgPCAzLjgxLCB3aGVyZSAuU0VDT05ERVhQQU5TSU9OIGRvZXNuJ3Qgd29yay4KKyMgSXQnbGwgZW5kIHVwIGRlcGVuZGluZyBvbiB0aGVzZSB0YXJnZXRzLCBzbyBtYWtlIHRoZW0gYSBQSE9OWSBydWxlIHdoaWNoCisjIGRlcGVuZHMgb24gX2FsbF8gdGhlIGRpcmVjdG9yaWVzIGluICQoZmlybXdhcmUtZGlycyksIGFuZCBpdCdsbCB3b3JrIG91dCBPSy4KK1BIT05ZICs9ICQob2JqdHJlZSkvJCQoJSkgJChvYmp0cmVlKS8kKG9iaikvJCQoJSkKKyQob2JqdHJlZSkvJCQoJSkgJChvYmp0cmVlKS8kKG9iaikvJCQoJSk6ICQoZmlybXdhcmUtZGlycykKKwlAdHJ1ZQorCisjIEZvciB0aGUgJCQoZGlyICUpIHRyaWNrLCB3aGVyZSB3ZSBuZWVkICUgdG8gYmUgZXhwYW5kZWQgZmlyc3QuCisuU0VDT05ERVhQQU5TSU9OOgorCiskKHBhdHN1YnN0ICUsJChvYmopLyUuZ2VuLlMsICQoZnctc2hpcHBlZC15KSk6ICU6ICQod29yZHNpemVfZGVwcykgXAorCQl8ICQob2JqdHJlZSkvJCQoZGlyICUpCisJJChjYWxsIGNtZCxmd2JpbiwkKHBhdHN1YnN0ICUuZ2VuLlMsJSwkQCkpCiskKHBhdHN1YnN0ICUsJChvYmopLyUuZ2VuLlMsICQoZnctZXh0ZXJuYWwteSkpOiAlOiAkKHdvcmRzaXplX2RlcHMpIFwKKwkJaW5jbHVkZS9jb25maWcvZXh0cmEvZmlybXdhcmUvZGlyLmggfCAkKG9ianRyZWUpLyQkKGRpciAlKQorCSQoY2FsbCBjbWQsZndiaW4sJChmd2FicykvJChwYXRzdWJzdCAkKG9iaikvJS5nZW4uUywlLCRAKSkKKworIyBUaGUgLm8gZmlsZXMgZGVwZW5kIG9uIHRoZSBiaW5hcmllcyBkaXJlY3RseTsgdGhlIC5TIGZpbGVzIGRvbid0LgorJChwYXRzdWJzdCAlLCQob2JqKS8lLmdlbi5vLCAkKGZ3LXNoaXBwZWQteSkpOiAlLmdlbi5vOiAlCiskKHBhdHN1YnN0ICUsJChvYmopLyUuZ2VuLm8sICQoZnctZXh0ZXJuYWwteSkpOiAkKG9iaikvJS5nZW4ubzogJChmd2RpcikvJQorCisjIC5paGV4IGlzIHVzZWQganVzdCBhcyBhIHNpbXBsZSB3YXkgdG8gaG9sZCBiaW5hcnkgZmlsZXMgaW4gYSBzb3VyY2UgdHJlZQorIyB3aGVyZSBiaW5hcmllcyBhcmUgZnJvd25lZCB1cG9uLiBUaGV5IGFyZSBkaXJlY3RseSBjb252ZXJ0ZWQgd2l0aCBvYmpjb3B5LgorJChvYmopLyU6ICQob2JqKS8lLmloZXggfCAkKG9ianRyZWUpLyQob2JqKS8kJChkaXIgJSkKKwkkKGNhbGwgY21kLGloZXgpCisKKyMgLkhFWCBpcyBhbHNvIEludGVsIEhFWCwgYnV0IHdoZXJlIHRoZSBvZmZzZXQgYW5kIGxlbmd0aCBpbiBlYWNoIHJlY29yZAorIyBpcyBhY3R1YWxseSBtZWFuaW5nZnVsLCBiZWNhdXNlIHRoZSBmaXJtd2FyZSBoYXMgdG8gYmUgbG9hZGVkIGluIGEgY2VydGFpbgorIyBvcmRlciByYXRoZXIgdGhhbiBhcyBhIHNpbmdsZSBiaW5hcnkgYmxvYi4gVGh1cywgd2UgY29udmVydCB0aGVtIGludG8gb3VyCisjIG1vcmUgY29tcGFjdCBiaW5hcnkgcmVwcmVzZW50YXRpb24gb2YgaWhleCByZWNvcmRzICg8bGludXgvaWhleC5oPikKKyQob2JqKS8lLmZ3OiAkKG9iaikvJS5IRVggJChvYmopL2loZXgyZncgfCAkKG9ianRyZWUpLyQob2JqKS8kJChkaXIgJSkKKwkkKGNhbGwgY21kLGloZXgyZncpCisKKyMgLkgxNiBpcyBvdXIgb3duIG1vZGlmaWVkIGZvcm0gb2YgSW50ZWwgSEVYLCB3aXRoIDE2LWJpdCBsZW5ndGggZm9yIHJlY29yZHMuCiskKG9iaikvJS5mdzogJChvYmopLyUuSDE2ICQob2JqKS9paGV4MmZ3IHwgJChvYmp0cmVlKS8kKG9iaikvJCQoZGlyICUpCisJJChjYWxsIGNtZCxoMTZ0b2Z3KQorCiskKGZpcm13YXJlLWRpcnMpOgorCSQoY2FsbCBjbWQsbWtkaXIpCisKK29iai15CQkJCSArPSAkKHBhdHN1YnN0ICUsJS5nZW4ubywgJChmdy1leHRlcm5hbC15KSkKK29iai0kKENPTkZJR19GSVJNV0FSRV9JTl9LRVJORUwpICs9ICQocGF0c3Vic3QgJSwlLmdlbi5vLCAkKGZ3LXNoaXBwZWQteSkpCisKKyMgUmVtb3ZlIC5TIGZpbGVzIGFuZCBiaW5hcmllcyBjcmVhdGVkIGZyb20gaWhleAorIyAoZHVyaW5nICdtYWtlIGNsZWFuJyAuY29uZmlnIGlzbid0IGluY2x1ZGVkIHNvIHRoZXkncmUgYWxsIGluICQoZnctc2hpcHBlZC0pKQordGFyZ2V0cyA6PSAkKGZ3LXNoaXBwZWQtKSAkKHBhdHN1YnN0ICQob2JqKS8lLCUsIFwKKwkJCQkkKHNoZWxsIGZpbmQgJChvYmopIC1uYW1lIFwqLmdlbi5TIDI+L2Rldi9udWxsKSkKKworIyBXaXRob3V0IHRoaXMsIGJ1aWx0LWluLm8gd29uJ3QgYmUgY3JlYXRlZCB3aGVuIGl0J3MgZW1wdHksIGFuZCB0aGUKKyMgZmluYWwgdm1saW51eCBsaW5rIHdpbGwgZmFpbC4KK29iai1uIDo9IGR1bW15CisKK2hvc3Rwcm9ncy15IDo9IGloZXgyZncKZGlmZiAtLWdpdCBhL2Zpcm13YXJlL1dIRU5DRSBiL2Zpcm13YXJlL1dIRU5DRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NmM1MWIyCi0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUvV0hFTkNFCkBAIC0wLDAgKzEsMzQxIEBACisgICAgICAgICAgICAgKioqKioqKioqKgorICAgICAgICAgICAgICogV0hFTkNFICoKKyAgICAgICAgICAgICAqKioqKioqKioqCisKK1RoaXMgZmlsZSBhdHRlbXB0cyB0byBkb2N1bWVudCB0aGUgb3JpZ2luIGFuZCBsaWNlbnNpbmcgaW5mb3JtYXRpb24sCitpZiBrbm93biwgZm9yIGVhY2ggcGllY2Ugb2YgZmlybXdhcmUgZGlzdHJpYnV0ZWQgZm9yIHVzZSB3aXRoIHRoZSBMaW51eAora2VybmVsLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitEcml2ZXI6IGtvcmcxMjEyIC0tIEtvcmcgMTIxMiBJTyBhdWRpbyBkZXZpY2UKKworRmlsZToga29yZy9rMTIxMi5kc3AKKworTGljZW5jZTogVW5rbm93bgorCitGb3VuZCBpbiBhbHNhLWZpcm13YXJlIHBhY2thZ2UgaW4gaGV4IGZvcm07IG5vIGxpY2Vuc2luZyBpbmZvcm1hdGlvbi4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworRHJpdmVyOiBtYWVzdHJvMyAtLSBFU1MgQWxsZWdybyBNYWVzdHJvMyBhdWRpbyBkZXZpY2UKKworRmlsZTogZXNzL21hZXN0cm8zX2Fzc3Bfa2VybmVsLmZ3CitGaWxlOiBlc3MvbWFlc3RybzNfYXNzcF9taW5pc3JjLmZ3CisKK0xpY2VuY2U6IFVua25vd24KKworRm91bmQgaW4gYWxzYS1maXJtd2FyZSBwYWNrYWdlIGluIGhleCBmb3JtIHdpdGggYSBjb21tZW50IGNsYWltaW5nIHRvCitiZSBHUEx2MissIGJ1dCB3aXRob3V0IHNvdXJjZSAtLSBhbmQgd2l0aCBhbm90aGVyIGNvbW1lbnQgc2F5aW5nICJFU1MKK2Ryb3BzIGJpbmFyeSBkc3AgY29kZSBpbWFnZXMgb24gb3VyIGhlYWRzLCBidXQgd2UgZG9uJ3QgZ2V0IHRvIHNlZQorc3BlY3Mgb24gdGhlIGRzcC4iCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK0RyaXZlcjogeW1mcGNpIC0tIFlhbWFoYSBZTUY3MjQvNzQwLzc0NC83NTQgYXVkaW8gZGV2aWNlcworCitGaWxlOiB5YW1haGEvZHMxX2N0cmwuZncKK0ZpbGU6IHlhbWFoYS9kczFfZHNwLmZ3CitGaWxlOiB5YW1haGEvZHMxZV9jdHJsLmZ3CisKK0xpY2VuY2U6IFVua25vd24KKworRm91bmQgYWxzYS1maXJtd2FyZSBwYWNrYWdlIGluIGhleCBmb3JtLCB3aXRoIHRoZSBmb2xsb3dpbmcgY29tbWVudDoKKyAgIENvcHlyaWdodCAoYykgMTk5Ny0xOTk5IFlhbWFoYSBDb3Jwb3JhdGlvbi4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworRHJpdmVyOiBzbWN0ciAtLSBTTUMgSVNBL01DQSBUb2tlbiBSaW5nIGFkYXB0ZXIKKworRmlsZTogdHJfc21jdHIuYmluCitJbmZvOiBNQ1QuQklOIHY2LjNDMSAwMy8wMS85NQorCitPcmlnaW5hbCBsaWNlbmNlIGluZm86CisKKyAqIFRoaXMgZmlybXdhcmUgaXMgbGljZW5zZWQgdG8geW91IHN0cmljdGx5IGZvciB1c2UgaW4gY29uanVuY3Rpb24KKyAqIHdpdGggdGhlIHVzZSBvZiBTTUMgVG9rZW5SaW5nIGFkYXB0ZXJzLiBUaGVyZSBpcyBubyB3YXJhbnR5CisgKiBleHByZXNzZWQgb3IgaW1wbGllZCBhYm91dCBpdHMgZml0bmVzcyBmb3IgYW55IHB1cnBvc2UuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK0RyaXZlcjoga2F3ZXRoIC0tIFVTQiBLTFNJIEtMNVVTQjEwMS1iYXNlZCBFdGhlcm5ldCBkZXZpY2UKKworRmlsZToga2F3ZXRoL25ld19jb2RlLmJpbgorRmlsZToga2F3ZXRoL25ld19jb2RlX2ZpeC5iaW4KK0ZpbGU6IGthd2V0aC90cmlnZ2VyX2NvZGUuYmluCitGaWxlOiBrYXdldGgvdHJpZ2dlcl9jb2RlX2ZpeC5iaW4KKworTGljZW5jZTogVW5rbm93bgorCitGb3VuZCBpbiBoZXggZm9ybSBpbiB0aGUga2VybmVsIHNvdXJjZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworRHJpdmVyOiB0dHVzYi1idWRnZXQgLS0gVGVjaG5vdHJlbmQvSGF1cHBhdWdlIE5vdmEtVVNCIGRldmljZXMKKworRmlsZTogdHR1c2ItYnVkZ2V0L2RzcGJvb3Rjb2RlLmJpbgorCitMaWNlbmNlOiBVbmtub3duCisKK0ZvdW5kIGluIGhleCBmb3JtIGluIHRoZSBrZXJuZWwgc291cmNlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitEcml2ZXI6IGtleXNwYW4gLS0gVVNCIEtleXNwYW4gVVNBLXh4eCBzZXJpYWwgZGV2aWNlCisKK0ZpbGU6IGtleXNwYW4vbXByLmZ3CitGaWxlOiBrZXlzcGFuL3VzYTE4eC5mdworRmlsZToga2V5c3Bhbi91c2ExOS5mdworRmlsZToga2V5c3Bhbi91c2ExOXFpLmZ3CitGaWxlOiBrZXlzcGFuL3VzYTE5cXcuZncKK0ZpbGU6IGtleXNwYW4vdXNhMTl3LmZ3CitGaWxlOiBrZXlzcGFuL3VzYTI4LmZ3CitGaWxlOiBrZXlzcGFuL3VzYTI4eGEuZncKK0ZpbGU6IGtleXNwYW4vdXNhMjh4Yi5mdworRmlsZToga2V5c3Bhbi91c2EyOHguZncKK0ZpbGU6IGtleXNwYW4vdXNhNDl3LmZ3CitGaWxlOiBrZXlzcGFuL3VzYTQ5d2xjLmZ3CisKK0NvbnZlcnRlZCBmcm9tIEludGVsIEhFWCBmaWxlcywgdXNlZCBpbiBvdXIgYmluYXJ5IHJlcHJlc2VudGF0aW9uIG9mIGloZXguCisKK09yaWdpbmFsIGxpY2VuY2UgaW5mb3JtYXRpb246CisKKwkJQ29weXJpZ2h0IChDKSAxOTk5LTIwMDEKKwkJS2V5c3BhbiwgQSBkaXZpc2lvbiBvZiBJbm5vU3lzIEluY29ycG9yYXRlZCAoIktleXNwYW4iKQorCisJYXMgYW4gdW5wdWJsaXNoZWQgd29yay4gVGhpcyBub3RpY2UgZG9lcyBub3QgaW1wbHkgdW5yZXN0cmljdGVkIG9yCisJcHVibGljIGFjY2VzcyB0byB0aGUgc291cmNlIGNvZGUgZnJvbSB3aGljaCB0aGlzIGZpcm13YXJlIGltYWdlIGlzCisJZGVyaXZlZC4gIEV4Y2VwdCBhcyBub3RlZCBiZWxvdyB0aGlzIGZpcm13YXJlIGltYWdlIG1heSBub3QgYmUKKwlyZXByb2R1Y2VkLCB1c2VkLCBzb2xkIG9yIHRyYW5zZmVycmVkIHRvIGFueSB0aGlyZCBwYXJ0eSB3aXRob3V0CisJS2V5c3BhbidzIHByaW9yIHdyaXR0ZW4gY29uc2VudC4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisKKwlQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkIGZvciB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmlybXdhcmUKKwlpbWFnZSBhcyBwYXJ0IG9mIGEgTGludXggb3Igb3RoZXIgT3BlbiBTb3VyY2Ugb3BlcmF0aW5nIHN5c3RlbSBrZXJuZWwKKwlpbiB0ZXh0IG9yIGJpbmFyeSBmb3JtIGFzIHJlcXVpcmVkLgorCisJVGhpcyBmaXJtd2FyZSBtYXkgbm90IGJlIG1vZGlmaWVkIGFuZCBtYXkgb25seSBiZSB1c2VkIHdpdGgKKwlLZXlzcGFuIGhhcmR3YXJlLiAgRGlzdHJpYnV0aW9uIGFuZC9vciBNb2RpZmljYXRpb24gb2YgdGhlCisJa2V5c3Bhbi5jIGRyaXZlciB3aGljaCBpbmNsdWRlcyB0aGlzIGZpcm13YXJlLCBpbiB3aG9sZSBvciBpbgorCXBhcnQsIHJlcXVpcmVzIHRoZSBpbmNsdXNpb24gb2YgdGhpcyBzdGF0ZW1lbnQuIgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitEcml2ZXI6IGtleXNwYW5fcGRhIC0tIFVTQiBLZXlzcGFuIFBEQSBzaW5nbGUtcG9ydCBzZXJpYWwgZGV2aWNlCisKK0ZpbGU6IGtleXNwYW5fcGRhL2tleXNwYW5fcGRhLmZ3CitTb3VyY2U6IGtleXNwYW5fcGRhL2tleXNwYW5fcGRhLlMKKworRmlsZToga2V5c3Bhbl9wZGEveGlyY29tX3Bncy5mdworU291cmNlOiBrZXlzcGFuX3BkYS94aXJjb21fcGdzLlMKKworTGljZW5jZTogR1BMdjIrCisKK0NvbXBpbGVkIGZyb20gb3JpZ2luYWwgODA1MSBzb3VyY2UgaW50byBJbnRlbCBIRVgsIHVzZWQgaW4gb3VyIGJpbmFyeSBpaGV4IGZvcm0uCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK0RyaXZlcjogZW1pMjYgLS0gRU1JIDJ8NiBVU0IgQXVkaW8gaW50ZXJmYWNlCisKK0ZpbGU6IGVtaTI2L2JpdHN0cmVhbS5mdworSW5mbzogVkVSU0lPTj0xLjEuMS4xMzEgREFURT0yMDAxZGVjMDYKKworRmlsZTogZW1pMjYvZmlybXdhcmUuZncKK0luZm86IFZFUlNJT049MS4wLjIuOTE2IERBVEU9MTIuMDIuMjAwMgorCitGaWxlOiBlbWkyNi9sb2FkZXIuZncKKworQ29udmVydGVkIGZyb20gSW50ZWwgSEVYIGZpbGVzLCB1c2VkIGluIG91ciBiaW5hcnkgcmVwcmVzZW50YXRpb24gb2YgaWhleC4KKworT3JpZ2luYWwgbGljZW5jZSBpbmZvcm1hdGlvbjoKKy8qCisgKiBUaGlzIGZpcm13YXJlIGlzIGZvciB0aGUgRW1hZ2ljIEVNSSAyfDYgQXVkaW8gSW50ZXJmYWNlCisgKgorICogVGhlIGZpcm13YXJlIGNvbnRhaW5lZCBoZXJlaW4gaXMgQ29weXJpZ2h0IChjKSAxOTk5LTIwMDIgRW1hZ2ljCisgKiBhcyBhbiB1bnB1Ymxpc2hlZCB3b3JrLiBUaGlzIG5vdGljZSBkb2VzIG5vdCBpbXBseSB1bnJlc3RyaWN0ZWQKKyAqIG9yIHB1YmxpYyBhY2Nlc3MgdG8gdGhpcyBmaXJtd2FyZSB3aGljaCBpcyBhIHRyYWRlIHNlY3JldCBvZiBFbWFnaWMsCisgKiBhbmQgd2hpY2ggbWF5IG5vdCBiZSByZXByb2R1Y2VkLCB1c2VkLCBzb2xkIG9yIHRyYW5zZmVycmVkIHRvCisgKiBhbnkgdGhpcmQgcGFydHkgd2l0aG91dCBFbWFnaWMncyB3cml0dGVuIGNvbnNlbnQuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCBmb3IgdGhlIGRpc3RyaWJ1dGlvbiBvZiB0aGlzIGZpcm13YXJlCisgKiBpbWFnZSBhcyBwYXJ0IG9mIGEgTGludXggb3Igb3RoZXIgT3BlbiBTb3VyY2Ugb3BlcmF0aW5nIHN5c3RlbSBrZXJuZWwKKyAqIGluIHRleHQgb3IgYmluYXJ5IGZvcm0gYXMgcmVxdWlyZWQuCisgKgorICogVGhpcyBmaXJtd2FyZSBtYXkgbm90IGJlIG1vZGlmaWVkIGFuZCBtYXkgb25seSBiZSB1c2VkIHdpdGggdGhlCisgKiBFbWFnaWMgRU1JIDJ8NiBBdWRpbyBJbnRlcmZhY2UuIERpc3RyaWJ1dGlvbiBhbmQvb3IgTW9kaWZpY2F0aW9uIG9mCisgKiBhbnkgZHJpdmVyIHdoaWNoIGluY2x1ZGVzIHRoaXMgZmlybXdhcmUsIGluIHdob2xlIG9yIGluIHBhcnQsCisgKiByZXF1aXJlcyB0aGUgaW5jbHVzaW9uIG9mIHRoaXMgc3RhdGVtZW50LgorICovCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK0RyaXZlcjogZW1pNjIgLS0gRU1JIDZ8Mm0gVVNCIEF1ZGlvIGludGVyZmFjZQorCitGaWxlOiBlbWk2Mi9iaXRzdHJlYW0uZncKK0luZm86IFZFUlNJT049MS4wLjAuMTkxIERBVEU9IDIwMDJvY3QyOAorCitGaWxlOiBlbWk2Mi9sb2FkZXIuZncKK1NvdXJjZTogRU1JTE9BRC5IRVgKK0luZm86IFZFUlNJT049MS4wLjIuMDAyIERBVEU9MTAuMDEuMjAwMgorCitGaWxlOiBlbWk2Mi9taWRpLmZ3CitTb3VyY2U6IEVNSTYyTUZXLkhFWAorSW5mbzogVkVSU0lPTj0xLjA0LjA2MiBEQVRFPTE2LjEwLjIwMDIKKworRmlsZTogZW1pNjIvc3BkaWYuZncKK1NvdXJjZTogRU1JNjJTRlcuSEVYCitJbmZvOiBWRVJTSU9OPTEuMDQuMDYyIERBVEU9MTYuMTAuMjAwMgorCitDb252ZXJ0ZWQgZnJvbSBJbnRlbCBIRVggZmlsZXMsIHVzZWQgaW4gb3VyIGJpbmFyeSByZXByZXNlbnRhdGlvbiBvZiBpaGV4LgorCitPcmlnaW5hbCBsaWNlbmNlIGluZm9ybWF0aW9uOiBOb25lCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK0RyaXZlcjogdHVfdXNiXzM0MTBfNTA1MiAtLSBVU0IgVEkgMzQxMC81MDUyIHNlcmlhbCBkZXZpY2UKKworRmlsZTogdGlfMzQxMC5mdworSW5mbzogZmlybXdhcmUgOS8xMC8wNCBGVzM0MTBfU3BlY2lhbF9TdGFydFdkb2dPblN0YXJ0UG9ydAorCitGaWxlOiB0aV81MDUyLmZ3CitJbmZvOiBmaXJtd2FyZSA5LzE4LzA0CisKK0xpY2VuY2U6IEFsbGVnZWRseSBHUEx2MissIGJ1dCBubyBzb3VyY2UgdmlzaWJsZS4gTWFya2VkOgorCSBDb3B5cmlnaHQgKEMpIDIwMDQgVGV4YXMgSW5zdHJ1bWVudHMKKworRm91bmQgaW4gaGV4IGZvcm0gaW4ga2VybmVsIHNvdXJjZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworRHJpdmVyOiB3aGl0ZWhlYXQgLS0gVVNCIENvbm5lY3RUZWNoIFdoaXRlSEVBVCBzZXJpYWwgZGV2aWNlCisKK0ZpbGU6IHdoaXRlaGVhdC5mdworVmVyc2lvbjogNC4wNgorCitGaWxlOiB3aGl0ZWhlYXRfbG9hZGVyLmZ3CitGaWxlOiB3aGl0ZWhlYXRfbG9hZGVyX2RlYnVnLmZ3CisKK0xpY2VuY2U6IEFsbGVnZWRseSBHUEx2MiwgYnV0IG5vIHNvdXJjZSB2aXNpYmxlLiBNYXJrZWQ6CisJIENvcHlyaWdodCAoQykgMjAwMC0yMDAyICBDb25uZWN0VGVjaCBJbmMKKworRGVidWcgbG9hZGVyIGNsYWltcyB0aGUgZm9sbG93aW5nIGJlaGF2aW91cjoKKwlQb3J0IDEgTEVEIGZsYXNoZXMgd2hlbiB0aGUgdmVuZF9heCBwcm9ncmFtIGlzIHJ1bm5pbmcKKwlQb3J0IDIgTEVEIGZsYXNoZXMgd2hlbiBhbnkgU0VUVVAgY29tbWFuZCBhcnJpdmVzCisJUG9ydCAzIExFRCBmbGFzaGVzIHdoZW4gYW55IHZhbGlkIFZFTkRPUiByZXF1ZXN0IG9jY3VycworCVBvcnQgNCBMRUQgZmxhc2hlcyB3aGVuIHRoZSBFWFRFUk5BTCBSQU0gRE9XTkxPQUQgcmVxdWVzdCBvY2N1cnMKKworQ29udmVydGVkIGZyb20gSW50ZWwgSEVYIGZpbGVzLCB1c2VkIGluIG91ciBiaW5hcnkgcmVwcmVzZW50YXRpb24gb2YgaWhleC4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworRHJpdmVyOiBpcDIgLS0gQ29tcHV0b25lIEludGVsbGlQb3J0IFBsdXMgc2VyaWFsIGRldmljZQorCitGaWxlOiBpbnRlbGxpcG9ydDIuYmluCisKK0xpY2VuY2U6IFVua25vd24KKworRm91bmQgaW4gaGV4IGZvcm0gaW4ga2VybmVsIHNvdXJjZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworRHJpdmVyOiBDUGlBMiAtLSBjYW1lcmFzIGJhc2VkIG9uIFZpc2lvbidzIENQaUEyCisKK0ZpbGU6IGNwaWEyL3N0djA2NzJfdnA0LmJpbgorCitMaWNlbmNlOiBBbGxlZ2VkbHkgR1BMdjIrLCBidXQgbm8gc291cmNlIHZpc2libGUuIE1hcmtlZDoKKwlDb3B5cmlnaHQgKEMpIDIwMDEgU1RNaWNyb2VsZWN0cm9uaWNzLCBJbmMuCisJQ29udGFjdDogIHN0ZXZlLm1pbGxlckBzdC5jb20KKwlEZXNjcmlwdGlvbjogVGhpcyBmaWxlIGNvbnRhaW5zIHBhdGNoIGRhdGEgZm9yIHRoZSBDUGlBMiAoc3R2MDY3MikgVlA0LgorCitGb3VuZCBpbiBoZXggZm9ybSBpbiBrZXJuZWwgc291cmNlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitEcml2ZXI6IERBQlVTQiAtLSBEaWdpdGFsIEF1ZGlvIEJyb2FkY2FzdGluZyAoREFCKSBSZWNlaXZlciBmb3IgVVNCIGFuZCBMaW51eAorCitGaWxlOiBkYWJ1c2IvZmlybXdhcmUuZncKK0ZpbGU6IGRhYnVzYi9iaXRzdHJlYW0uYmluCisKK0xpY2VuY2U6IERpc3RyaWJ1dGFibGUKKworICogQ29weXJpZ2h0IChDKSAxOTk5IEJheUNvbSBHbWJICisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCByZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlCisgKiBjb2RlIHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBjb21tZW50IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbi4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworRHJpdmVyOiBVU0JfVklDQU0gLS0gVVNCIDNjb20gSG9tZUNvbm5lY3QgKGFrYSB2aWNhbSkKKworRmlsZTogdmljYW0vZmlybXdhcmUuZncKKworTGljZW5jZTogVW5rbm93bgorCitGb3VuZCBpbiBoZXggZm9ybSBpbiBrZXJuZWwgc291cmNlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitEcml2ZXI6IFVTQl9TRVJJQUxfRURHRVBPUlQgLSBVU0IgSW5zaWRlIE91dCBFZGdlcG9ydCBTZXJpYWwgRHJpdmVyCisKK0ZpbGU6IGVkZ2Vwb3J0L2Jvb3QuZncKK0ZpbGU6IGVkZ2Vwb3J0L2Jvb3QyLmZ3CitGaWxlOiBlZGdlcG9ydC9kb3duLmZ3CitGaWxlOiBlZGdlcG9ydC9kb3duMi5mdworCitMaWNlbmNlOiBBbGxlZ2VkbHkgR1BMdjIrLCBidXQgbm8gc291cmNlIHZpc2libGUuIE1hcmtlZDoKKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKy8vKiBFZGdlcG9ydC80IEJpbmFyeSBJbWFnZQorLy8qIEdlbmVyYXRlZCBieSBIRVgyQyB2MS4wNgorLy8qIENvcHlyaWdodCAoQykgMTk5OCBJbnNpZGUgT3V0IE5ldHdvcmtzLCBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorCitGb3VuZCBpbiBoZXggZm9ybSBpbiBrZXJuZWwgc291cmNlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitEcml2ZXI6IFVTQl9TRVJJQUxfRURHRVBPUlRfVEkgLSBVU0IgSW5zaWRlIE91dCBFZGdlcG9ydCBTZXJpYWwgRHJpdmVyCisoVEkgRGV2aWNlcykKKworRmlsZTogZWRnZXBvcnQvZG93bjMuYmluCisKK0xpY2VuY2U6CisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisvLyogRWRnZXBvcnQgQmluYXJ5IEltYWdlIChmb3IgVEkgYmFzZWQgcHJvZHVjdHMpCisvLyogR2VuZXJhdGVkIGJ5IFRJQmluMkMgdjIuMDAgKHdhdGNocG9ydCkKKy8vKiBDb3B5cmlnaHQgKEMpIDIwMDEgSW5zaWRlIE91dCBOZXR3b3JrcywgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKworRm91bmQgaW4gaGV4IGZvcm0gaW4ga2VybmVsIHNvdXJjZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworRHJpdmVyOiBBVEFSSV9EU1A1NksgLSBBdGFyaSBEU1A1Nmsgc3VwcG9ydAorCitGaWxlOiBkc3A1NmsvYm9vdHN0cmFwLmJpbgorU291cmNlOiBkc3A1NmsvYm9vdHN0cmFwLmFzbQorCitMaWNlbmNlOiBHUEx2MiBvciBsYXRlcgorCitEU1A1NjAwMSBhc3NlbWJsZXIsIHBvc3NpYmx5IGJ1aWxkYWJsZSB3aXRoIGE1NiBmcm9tIAoraHR0cDovL3d3dy56ZG9tYWluLmNvbS9hNTYuaHRtbAorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitEcml2ZXI6IFNORF9TQjE2X0NTUCAtIFNvdW5kIEJsYXN0ZXIgMTYvQVdFIENTUCBzdXBwb3J0CisKK0ZpbGU6IHNiMTYvbXVsYXdfbWFpbi5jc3AKK0ZpbGU6IHNiMTYvYWxhd19tYWluLmNzcAorRmlsZTogc2IxNi9pbWFfYWRwY21faW5pdC5jc3AKK0ZpbGU6IHNiMTYvaW1hX2FkcGNtX3BsYXliYWNrLmNzcAorRmlsZTogc2IxNi9pbWFfYWRwY21fY2FwdHVyZS5jc3AKKworTGljZW5jZTogQWxsZWdlZGx5IEdQTHYyKywgYnV0IG5vIHNvdXJjZSB2aXNpYmxlLiBNYXJrZWQ6CisvKgorICogIENvcHlyaWdodCAoYykgMTk5NCBDcmVhdGl2ZSBUZWNobm9sb2d5IEx0ZC4KKyAqICBNaWNyb2NvZGUgZmlsZXMgZm9yIFNCMTYgQWR2YW5jZWQgU2lnbmFsIFByb2Nlc3NvcgorICovCisKK0ZvdW5kIGluIGhleCBmb3JtIGluIGtlcm5lbCBzb3VyY2UuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmRpZmYgLS1naXQgYS9maXJtd2FyZS9hdG1zYXIxMS5IRVggYi9maXJtd2FyZS9hdG1zYXIxMS5IRVgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGZkZGMxOQotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2F0bXNhcjExLkhFWApAQCAtMCwwICsxLDIwNCBAQAorOjA0MDAwMDAwQTBEMEYwMDA5QworOjJDMDA4MDAwNDAxQTY4MDAwMDAwMDAwMDMzNUIwMDdDMTM2MDAwMDUzMzVCMTAwMDNDMUFBMEMwMzc1QTAxODAwMzQwMDAwODAwMDAwMDAwMTc2MEZGRkIzMzVCNDAwMDIwCis6MkMwMEFDMDA0MDFBNzAwMDEzNjAwMDAzMjQxQjBGQzBBRjlCNDUwMDI1MDgwMDA4MDM0MDAwMDg0MjAwMDAxMDhGODEwQzkwMzIyMjAwMDIxMDQwMDAwMzNDMDNBMEQxNzQKKzoyQzAwRDgwMDI0NjNGODEwMDA2MEY4MDkyNDIxMDAwMTEwMDAwMDFBQUY4MTBDOTA4MjAyMDAxMUFGOTAwQzQ4MDQ0MTAwMEEzNDQyMDA4MDk2N0QwMDAyOTYwMjAwMTJBNAorOjJDMDEwNDAwMDAwMDAwMDAxMDVEMDAxMTAwMDAwMDAwMDQxMTAxNjFBNjYyMDAwMjEwMDAwMDBEQUU2MjAwMEMzNDg0ODAwMEEyMDIwMDExNEQwMUZGRkYwMDAwMDAwMDVFCis6MkMwMTMwMDA4RjgzNEMwMDAwMDAwMDAwQUY4MzBGRUMwMEUwRjgwOTAzRTAzODIxMDAwNDE0MDAwNDQwRkZGNzAwMDAwMDAwQUY4MDQ2MEM4RTEwMDAwODREMDFGRkZGMzYKKzoyQzAxNUMwMDAwMDAwMDAwOEY4MzRDMDA0OTAwMDAxREFGODMwRkVDOEY4MjBDQkM4RjlEMEM0QzI0NDIwMDAxOTdCRTAwMDBBRjgyMENCQzEzQzAwMDA5QUNBMjAwRDg3MgorOjJDMDE4ODAwQTdBMDAwMDAzQzAxMDBEMTAwM0UwODI1OTQyMjAwMkMwNDExMDEzRkE0MjIwMDAyQUMyMjAwMENBQzIwMDAxMDhGOUUwQzU0MjdCRDAwMDIxN0JFMDAwMjhDCis6MkMwMUI0MDA4Q0EyMDBDMDhGOUQwQzUwOEY5NzBGQzhBRjlEMEM0QzEyRTIwMDA1ODc4MDQwMDIzQzAyQTBEMTI0NDJGOTRDMDA0MEY4MDkwMDAwMDAwMDAwRTBGODA5NEEKKzoyQzAxRTAwMDAzRTAzODIxNDUwMEZGREM4RTExMDAwQzNDMTMwMEQxMDAxMTExMDIyQzQzMDQwMDEwNjBGRkI5MDAwMjExODAwMjYyOTgyMThFNzYwMDNDMzIyMjAwMDhDMQorOjJDMDIwQzAwMTQ0MEZGQjc4RTc3MDAzNDhFNzUwMDMwM0MwM0NGQjAxNkMwMDAwMzAyRDUxMDJCMDQxMTAwQkUwMDAwMDAwMDEwNDBGRkE2MDA3MDE4MjY0RDAxRkZGRkU1Cis6MkMwMjM4MDAwMDAwMDAwMDhGODI0QzAwQUY5NzRDMDBBRjgyMEZFQ0FDNzYwMDEwMDI2MDkwMjEzMjIyMDAwMjEwNDAwMDA3OEY5NDRBMDA5NjAyMDAzQTM0ODQwMDA0OTIKKzoyQzAyNjQwMDE0NDAwMDAzQUY4MjBGQkMzQzAyOTAwMEFGODIwRkJDOEUxMDAwMDgzMjk0M0YwMDhFMTEwMDBDMjY5NEZGMDAxMjgwMDA3MzNDMTMwMEQxNDkwMTAwNzE2MgorOjJDMDI5MDAwMzIzNzAwMDgxNkUwMDA2RjAwMTExMTAyMkM0MzA0MDAxMDYwMDA2QzAwMDJCOTgwMDAwNDE3NDAwNDQwMDAzQTAyNzc5ODIxMTI3MjAwMjMyNkQ2MDAzMEUwCis6MkMwMkJDMDBBRTU2MDAzQzhFNzYwMDNDOEU3NzAwMzQ4RTc1MDAzMDNDMDNDRkIwMTZDMDAwMDMwMkQ1MTAyQjA0MTEwMDkxMDAwMDAwMDAxMDQwMDA2MDJFODIxMDAwNkIKKzoyQzAyRTgwMDE0NDAwMDA5MDA3MDE4MjY0RDAxRkZGRjAwMDAwMDAwOEY4MjRDMDBBRjk3NEMwMEFDNzYwMDEwQUU0MjAwMzQxMDAwRkZEMEFGODA0NjBDMDBFMEY4MDkwRAorOjJDMDMxNDAwMDNFMDM4MjEzQzAzQ0ZCMDAwNzAxODI2QUU0NjAwMzQ0RDAxRkZGRjAwMDAwMDAwOEY4MjRDMDBBRjk3NEMwMEFGODIwRkVDQUM3NjAwMTAxMDAwRkZDMzgyCis6MkMwMzQwMDBBRjgwNDYwQzAyRDUxMDJCMTA0MDAwNDIzQzE3Q0ZCMDJFODIxMDAwMTQ0MDAwMDYwMkYwQjgyNjREMDFGRkZGMDAwMDAwMDBBRUY2MDAxMDEwMDBGRkI4RTkKKzoyQzAzNkMwMEFGODA0NjBDMDBFMEY4MDkwM0UwMzgyMTREMDFGRkZGMDAwMDAwMDA4RjgyNEMwMEFGODY0QzAwQUVGNjAwMTBBRjgyMEZFQzEwMDBGRkFFQUY4MDQ2MEM3RgorOjJDMDM5ODAwMzA4NEZGRkI4RTU3MDAzODMyNDJGRkMwMDAwMjExODJBNzgyMEZCOEFGOTcwRkI0ODY1RDAwMkE4NjVFMDAwOEE3OUQwRkJBMjc5RDBGMTgzM0RFMDA2MDRCCis6MkMwM0M0MDAwM0JFRTgyMTAwMUVGMEMyMDNCRUU4MjE4Rjk3MEM1ODREMDFGRkZGMDAwMDAwMDA4RjgzNEMwMDhGQTIwMDFDMTJFMzAwMDMzQzAzMEM0MDNDMUVDMDAwOEIKKzoyQzAzRjAwMEFGOUUwRkJDQUM2MjBGQjQ4RkEzMDAxODI0NDIwMDBDMTQ0MzAwMDJBRjgwNDYwQzhGQTIwMDE0QUU0MDAwM0NBRkEyMDAxQzhFNzYwMDNDOEU3NzAwMzQwRAorOjJDMDQxQzAwOEU3NTAwMzAzQzAzQ0ZCMDE2QzAwMDAzMDJENTEwMkIwNDExMDAzQzAwMDAwMDAwMDA3MDE4MjY0RDAxRkZGRjAwMDAwMDAwQUNBNTAwRTQxMDQwMDAzMkQ2Cis6MkMwNDQ4MDBBRjk3NEMwMDEwMDBGRjdGQUM3NjAwMTAwMDA0MTc0MDA0NDAwMDA3MjZENjAwMzBBRTU2MDAzQzAwRTBGODA5MDNFMDM4MjFBRjgwNDYwQzEwMDBGRjM5M0UKKzoyQzA0NzQwMEFFNDYwMDM0OEU1NzAwMzgzMjQyRkZDMDAwMDIxMTgyQTc4MjBGQjhBRjk3MEZCNDhGOTcwQzU4MDBFMEY4MDkwM0UwMzgyMTEyRTYwMDAzM0MwMzBDNDAyOQorOjJDMDRBMDAwM0MwMkMwMDBBRjgyMEZCQzg2NUQwMDJBODY1RTAwMDhBNzlEMEZCQTI3OUQwRjE4MzNERTAwNjAwM0JFRTgyMTAwMUVGMEMyMDNCRUU4MjE4RkEyMDAxQzIzCis6MkMwNENDMDA0RDAxRkZGRjAwMDAwMDAwOEY5NzRDMDBBQzYyMEZCNDMwODRGRkZCOEZBMzAwMTgyNDQyMDAwQzE0NDMwMDAyQUY4MDQ2MEM4RkEyMDAxNEFFNDAwMDNDQzIKKzoyQzA0RjgwMEFGQTIwMDFDNEQwMUZGRkYwMDAwMDAwMEFDQTUwMEU0MTAwMEZGMTNBRjk3NEMwMDAwRTBGODA5MDNFMDM4MjExMDAwRkYwRjAwMDAwMDAwMTA0MDAwNUI1MAorOjJDMDUyNDAwODY3RTAwMDgyNzlEMEYxODMzREUwMDYwMDNCRUU4MjEwMDFFMTBDMjAzQTJFODIxOEZCNzAwMDg4RkEyMDAwQzhFRjYwMDA0MTJFMjAwMjg4NjYyMDAwOEJDCis6MkMwNTUwMDA4MjAzMDAxMDAwMDIxNzQwMDQ0MTAwMTkyNDYzMDAwMTEwNjAwMDE3M0MwMkQxQjAwMDUwMTAyNjREMDFGRkZGMDAwMDAwMDA4RjlFNEMwMEFDNTYwMDEwMDgKKzoyQzA1N0MwMDI2RDZGRkZFODYwMjAwMTAzQzAzQ0ZCMDM0NjMyMDAwQTY2MjAwMkE4RUUyMDAwMDI2RjcwMDA4QUU2MjAwMzg4RkEyMDAyMEFGQjcwMDA4MjQxN0ZGRkY0NgorOjJDMDVBODAwMDJDMkE4MjE0RDAxRkZGRjAwMDAwMDAwQUY5RTRDMDAwM0UwMDAwOEFFNzUwMDMwOEVFMjAwMDAyNkY3MDAwOEFFNjIwMDM4OEZBMjAwMjBBRkI3MDAwOERCCis6MkMwNUQ0MDAyNDE3RkZGRkE2NzcwMDJBMDJDMkE4MjEzQzAzQ0ZCMDAzRTAwMDA4QUU3NTAwMzAwMDFFMThDMjAwNjUxODIxOEM2MzAwQzg4RkEyMDAxMDAwMDAwMDAwNjQKKzoyQzA2MDAwMDAwNjJCMDIzMUVDMDAwMDM4RkExMDAwNDEyQzAwMDFCMDAyMkIwMjMyRUMzMDA0MTE0NjAwMDAyM0MxNTAwNDAyNDE2MDA0MDAwMTYxRTgwMDAwMzE4ODI5RQorOjJDMDYyQzAwMDA3NTE4MjU0RDAxRkZGRjAwMDAwMDAwOEY5NTRDMDAwMDFFQjg0MDAwNzcxODIxQUM2MjREMDAwMDU2MTAyMTE0NDEwMDAyMjc4MzBEMDA4RkEyMDAwMDRECis6MkMwNjU4MDAwMkUzQjgyMUFGQTIwMDEwMDJENzE4MjFBRkEzMDAwQzREMDFGRkZGMDAwMDAwMDA4RUY2MDAwNDEwMDBGRkI1QUY5NTRDMDAzQzE2REVBREFFNzYwMDNDODIKKzoyQzA2ODQwMEFFNjAwMDM4MjZENUZGRkYwMDAwMTAyMTAzRTAwMDA4QUU3NTAwMzAyQzQzMEFCMjEwNjAwMDA1MkM0MzI0QjIxMDAwMDAwNDI0MDIwQUIyMTAwMDAwMDJBRgorOjJDMDZCMDAwMjQwMjI0QjExMDYwRkZGRDMwNDMwMUZGMDAwMzE4NDAzQzFEQTBEMTI3QkRENkNDMDA3RDE4MjE5NDYzMDAwMDAwMDJFQTQyMDAwMzFDMDAyN0JERkZGQkMxCis6MkMwNkRDMDAwM0UwMDAwODAzQTMxMDA2MjQwMzBGQzBBRjgzNDUwMDEwMDAwMDAyMDEyMDYwMjEzQzBDQ0ZCMDExRTAwMDU2MDE4OTYwMjY4NUZFMDAwMDAwMDAwMDAwODkKKzoyQzA3MDgwMDEzQzAwMDQ3M0MwMkNGQjAwN0MwMDAyRDAwMUUxRjgwMDQ2MTAwMzQwMDFFMUZDMDA0NjAwMDA5M0MwMkQzQjAwMEUwRjgwOTAzRTAzODIxNEQwMUZGRkYxMAorOjJDMDczNDAwMDAwMDAwMDA4Rjg2NEMwMDhGOTkwRkVDMTAwMDAwMEJBRjk5NEMwMDAxRTI3ODI2MDBFMEY4MDkwM0UwMzgyMTREMDFGRkZGMDAwMDAwMDA4Rjg2NEMwMDFCCis6MkMwNzYwMDBBRjk5NEMwMEFERUYyMDEwM0MwMkQzQjAwMUUyNzgyNjhGODIwRkMwOEY4MzBGQzRBRjgyNEQwMDhERTIwMDA0QTVFMDAwMDBBQzYyMDAwMDhDNjIwMDAwOTQKKzoyQzA3OEMwMDI0MDIwMzgwQUY4MjREMDA4RjgyNEQwMDhGODIwRjE0MjQ2MzAwMDQxNDYyMDAwMjI0MTlGRkZGOEY4MzBGMTBBQ0E1MDBFNEFGODMwRkM0NEQwMUZGRkY5MworOjJDMDdCODAwMDAwMDAwMDA4RjgyNEM4MDEwMDAwMDFGQURFMjAwM0MwMEUwRjgwOTAzRTAzODIxNEQwMUZGRkYwMDAwMDAwMEE1RTAwMDAwOEY4NjRDMDAxNTgwMDAyMjM4Cis6MkMwN0U0MDBBRjhGNDU0MDEwMDAwMDE3MDFFMjc4MjYwMEUwRjgwOTAzRTAzODIxNEQwMUZGRkYwMDAwMDAwMDhGODY0QzAwQUY5OTRDMDBBREVGMjAxMDNDMDJDRkIwOTcKKzoyQzA4MTAwMDAxRTI3ODI2QTVFMDAwMDA0RDAxRkZGRjAwMDAwMDAwMTAwMDAwMDc4Rjk5NEMwMDAwRTBGODA5MDNFMDM4MjE0RDAxRkZGRjAwMDAwMDAwOEY4NjRDMDAxNQorOjJDMDgzQzAwOEY5OTBGRUMxNTgwMDAwQUFGOEY0NTAwMDAwMDc4MjExMDAwMDAxNEFGMTkwMDE0MDBFMEY4MDkwM0UwMzgyMTREMDFGRkZGMDAwMDAwMDAxMTgwRkZGOEMxCis6MkMwODY4MDA4Rjg2NEMwMDg1MjIwMDAwMDEyMDc4MjEwNDQwMDAwQThEMjkwMDA4MTMwQjAwMDQwMDBDMTYwMkFGMTkwMDE0OEQ3OTAwMTQwMTYwQzAyMUFGOTk0QzAwODQKKzoyQzA4OTQwMEFEOEU0MDEwMzA0MjAwM0YwMUMyNzAyMTAwMDQxNzgwMDQ0MDAxOEI4RjgyNEEwMDMwODE4MDAwMzA0MjAwMDQxNDQwRkY4RDhENEIwMDAwMTAyMDAwMEM0NworOjJDMDhDMDAwMzA4NDdGRkY4RjgyMEM0ODAxMjBGMDIxMjQ0MzAwMzQ4QzVEMDAwQzI0NDIwMDA0QUZERDAwMEMxNDYyRkZGQzI3REUwMDA0QTUyMTAwMDAxMDAwRkY4MkUwCis6MkMwOEVDMDAyNTA4MDAwODExNjAwMDU4MDAwMDAwMDA4NTdEMDAwODhENjMwMDBDOTU2MjAwMEE4RDQxMDAwNDA3QTEwMDI2MDA2MjE4MjFBNTYzMDAwQTAwMDMxQzAyNkQKKzoyQzA5MTgwMDA0MTEwMUEwMDAwMzE4QzAwMDFEMTZDMDA0NDEwMDFGMjdBMjAwODAwMDAyMUNDMDA0NjEwMDBFMDA0MEU4MjEyN0JEMDA4MDk1NjIwMDAwOTU2MzAwMDI5MworOjJDMDk0NDAwMzQ0MjAwMENBRDIyMDAwQzI0MDIwMTAwQTUyMjAwMTA5NTYyMDAyQ0E1MjMwMDE0QTUyMjAwMTJBNTIwMDAxNjM0MDI4MDAwQTUyMjAwMDBBNTdEMDAwOEQyCis6MkMwOTcwMDAwN0EwMDAwQzhGODIwQzRDOEY4MzBDNTAyNDQxRkZFODAwMjNGMDJCMTNDMDAwMDIwMDIwMTAyMTI0NDIwNDAwOTQ1RTAwMDAyNDQxRkZGRTE3QzBGRkY5OTQKKzoyQzA5OUMwMEFENjIwMDEwQTQ0QjAwMDAxNDJCMDAxQ0FENDAwMDAwQUQ0MDAwMDQyNTRBMDAwODMxNDIwMDdGMTQ0MDAwMEUwMDA0MTc4MDA0NDEwMDAzOEY4MjBGRTAzQQorOjJDMDlDODAwMTAwMDAwMDYzNDg0MDAwMTM0ODQwMDAyMjQ0MjAwMDgzNDQyMTAwMDM4NDIxMDAwQUY4MjBGRTAzNTRBMDEwMDM5NEEwMTAwMzk0MjAwODBBRjgyMEZFNEI5Cis6MkMwOUY0MDAwMDFEMTRDMDA0NDEwMDAzMzNBMkVGRkYxMDAwRkYzQ0E1NjIwMDA4MDdBMDAwOUYzM0EyRkZGRTEwMDAwMDIxQTU2MjAwMDg4RDYyMDAyNDAwMUQxQ0MwMUQKKzoyQzBBMjAwMDA0NjEwMDA0QUQ0MjAwMDAzM0EzRUZGRjEwMDBGRjMxQTU2MzAwMDgwN0EwMDAwNTMzQTNGRkZFQTU2MzAwMDg4RDRCMDAwMDEwMDBGRkFBMDAwMDAwMDAxRQorOjJDMEE0QzAwMTAwMDAwOEUyNTA4MDAwODI1NEEwMDA4MzE0MjAwN0YxNDQwMDAwRTAwMDQxNzgwMDQ0MTAwMDM4RjgyMEZFMDEwMDAwMDA2MzQ4NDAwMDEzNDg0MDAwMjc0Cis6MkMwQTc4MDAyNDQyMDAwODM0NDIxMDAwMzg0MjEwMDBBRjgyMEZFMDM1NEEwMTAwMzk0QTAxMDAzOTQyMDA4MEFGODIwRkU0MTEwMDAwMDM4RDRCMDAwMDEwMDBGRjkzMDMKKzoyQzBBQTQwMDI1MDhGRkY4OEY4MjBGRDg4RjgzMEZEQzhGODEwRkQ0MTA2MjAwMUQyNDYyMDAwODREMDFGRkZGMDAwMDAwMDA4RjhDNEMwMDg0N0YwMDAwM0MxRTAwRDExQworOjJDMEFEMDAwMzNGRDAzRkYwMDFENTk4MDAxN0U1ODIxODU3RTAwMDgwMDFERTkwMDAwMUUwRjAwMDNFMUY4MjUwN0UwMDAwM0FGODIwRkRDODc5RTBDQTAyNzhCMEM5ODZFCis6MkMwQUZDMDAwN0MxMDA0MjNDMDIwODQwM0MwMUY3QjA4RDYyMDAyMDAwMjMwODI2QUMyMjAwMDA4QzYyMDAwNDk0NjMwMDAyMjQ0MkZGRjgwMDQzMTAyMTEwMDAwMDRFMTIKKzoyQzBCMjgwMEFENjIwMDIwOEY4MjBGRDA4NzgzMENBMDE0MjIwMDA3Mjc4QjBDOTg0MTAwMDA1MTNDMDE4MDAwQUNBMTAwRTA4Q0ExMDBDNDAwMDAwMDAwMTAyMjAwNEM0RQorOjJDMEI1NDAwMDAyMkU4MjM4RjlGMEYwQzA3QTEwMDAyQUY4MTBGRDQwM0UyRTgyMzJGQTMwMDQxMTQ2MDAwMDIzQzFFMDA0MDI0MUQwMDQwMDAxRDFFODAwMDAzMTg4MjU2Cis6MkMwQjgwMDAwMDdFMTgyNTREMDFGRkZGMDAwMDAwMDA4RjhDNEMwMEFDNjI0Q0MwMDA1RDEwMjExNDVGMDAwMjI3ODMwQ0MwOEY4MjBGMDgwM0EzRjAyMUFGODIwRkQwNTkKKzoyQzBCQUMwMEFGOUUwRkQ4NEQwMUZGRkYwMDAwMDAwMDEwMDBGRkMzMjQ2MjAwMDg4RDYzMDAwQzhEN0QwMDEwQTU2MzAwMEExM0EwMDAwMjAwMDMxQzAyQTdBMDAwMDBGOAorOjJDMEJEODAwMDAwMzE4QzAwNDExMDBFRjAwNjgxODIxNEQwMUZGRkYwMDAwMDAwMDhGODIwQzQ0OEY4MzBDNDBBRDYyMDAxMEE1NjMwMDA0QTU2MzAwMDYxMDAwMDAyMUZDCis6MkMwQzA0MDBBRjhDNEMwMEE1N0QwMDAwOEM3RDAwMDQ5NDYzMDAwMkFDNUQ0QzQwMjdBMjAwMDhBRDYyMDAxODAzQTNFODIxMjdCREZGRjRBRDdEMDAxQzI3QkQwMDA0RDQKKzoyQzBDMzAwMEFEN0QwMDIwMzdDMTgwMDEwMDFFMTdDMDA0NDFGRkUwQTU2MTAwMDg0RDAxRkZGRjAwMDAwMDAwOEY4MjBDNDQ4RjgzMEM0MEFENjIwMDEwQTU2MzAwMDQ3OAorOjJDMEM1QzAwQTU2MzAwMDY4RjgyMEZEODhGODMwRkRDNEQwMUZGRkYwMDAwMDAwMDE0NjJGRjk1MjQ2MjAwMDhBRjhDNEMwMDg3ODMwQ0EwMjc4QjBDOTgwNDYxRkU5N0Y4Cis6MkMwQzg4MDAwMDA0MTcwMDA0NDAwMDA1OTU2MjAwMDAxMTc4MDAwNjAwMDAwMDAwQUYwRTAwMTBBNzBEMDAwNDMwODRGRkY3OTU2RDAwMDQ4RDZFMDAxMDI1QURGRkQwNzUKKzoyQzBDQjQwMDA1QTFGRThGQUQyMjAwMEMzQzBDRkZCMDAxODk2MDI2MDAwRDE4MjIyNUFEMDAzMDhEN0UwMDE4OEQ2MTAwMUM0RDAxRkZGRjAwMDAwMDAwMTAzRTAwMzZCOQorOjJDMENFMDAwOEY5RDRDMDAzQzAxMDg0MEFDM0U0QzQwMjdERTAwMDgxMUEwMDAxN0FEN0UwMDE4MDAwREY2MDAwMTlFNjAyNTREMDFGRkZGMDAwMDAwMDBBRDhFNDAxMDVGCis6MkMwRDBDMDA4RjhEMEM0MDk1N0UwMDA2OEY4RTBDNDQwM0NERjAyMUE1N0UwMDA2MDAwQ0Y3ODIwMDBDMEUwMjAzQzFGMDIxMDAxRTBGODAwMDBDNjIwMDAwMEM2MjAyQzIKKzoyQzBEMzgwMDAxODE2MDI1MzNERTAwM0MwMTlFNjAyMTM0MDEwMDAxMTAwMDAwMDhBNTIxMDAwMDk1N0UwMDA2NEQwMUZGRkYwMDAwMDAwMDhGOEQwQzQwOEY4RTBDNDRDRAorOjJDMEQ2NDAwMDNDREYwMjFBNTdFMDAwNjREMDFGRkZGMDAwMDAwMDAwMUEzRjAyQjE3QzAwMDA4MDAwM0Y2MDAwMUEzNjgyMzAxOUU2MDI1MDE4OTYwMjY0RDAxRkZGN0NGCis6MkMwRDkwMDAwMDAwMDAwMDEwMDBGRTU4QUY5RDRDMDA4RDdFMDAxODhENjEwMDFDMDAwMDAwMDAxNDNFRkZDRTAwNkQxODIzNEQwMUZGRkYwMDAwMDAwMDJDNjEwMDA4NjQKKzoyQzBEQkMwMDEwMjAwMDE3OTU2MTAwMDgwMDAwMDAwMDAwMDFGRjgwMDdFMDAwMEIzNDIxMDAwMjAwNkQxODIxMDAwMzFFMDAwMTgzNjAyNTAxODk2MDI2MjQwRDAwMkNDMAorOjJDMERFODAwQTU2MTAwMDg0RDAxRkZGRjAwMDAwMDAwMTAwMEZFNDBBRjlENEMwMDNDMUYwQzQwQUZGRTRGQTgzMDIxRkZGREE1NjEwMDA4M0MwQ0QzQ0YzNThDRTAwMDZFCis6MkMwRTE0MDAxMDAwMDAwODM0MDMwMDAyM0MxRjBDNDBBRkZFNEZBODExQTBGRkY5MDAwREY2MDAzNDAzMDAwMzAxOUU2MDI1MDE4OTYwMjYzNDg0MDAwODM0NDIwMDAyQzQKKzoyQzBFNDAwMEFEMjIwMDBDOTU2MjAwMDZBNTIzMDAwMEFEMjIwMDM4NEQwMUZGRkYwMDAwMDAwMDg1N0UwMDA4OEY4MjBGQTg5NzgzMEZBQ0FEMjIwMDA0MzNDMTdGRkZBNgorOjJDMEU2QzAwQUQ2MDAwMTBBNTYxMDAwODEwNjBGRTIwQUY5RDRDMDBBNTdFMDAwODAwMDMxOTAwMzA2MzNGRjBBNTYzMDAwMDhGODIwRkIwM0MwMzA4NDBBQzYyNEM0MDA3Cis6MkMwRTk4MDAyNDQzMDAwOEFENjMwMDE4OTc4MzBGQUUyNDQyRkZGNDAwNjIxODIxQUQ2MzAwMUM0RDAxRkZGRjAwMDAwMDAwOEY4RDBDNDA4RjgzMEM0NEE1NkQwMDA0NzQKKzoyQzBFQzQwMEE1NkQwMDA2QUQ2MzAwMTAxMDAwRkUwQUFGOUQ0QzAwOEY4MjBGRTAwMDA0MEZDMDhDNDMwMDAwMDQyMTAwMUI4RjlGMEZFNDhDNUQwMDA0QUM0MDAwMDQzQQorOjJDMEVGMDAwMTA2MDAwMEVBQzQwMDAwMDAwMDAwMDAwOTQ2MjAwMjgwMDAwMDAwMDAwNUYxMDIwOEM0MTAwMDQwMDAwMDAwMDEwMjAwMDAzQUM0MzAwMDQxMDAwMDAwMkI2Cis6MkMwRjFDMDBBQzIzMDAyNEFDNDMwMDAwMTdBM0ZGRjQ4QzYzMDAyNDhGODIwRkUwM0JGRjAwODAyNDQyMDAwODM0NDIxMDAwMzg0MjEwMDBBRjgyMEZFMEFGOUYwRkU0NkUKKzoyQzBGNDgwMDEwMDBGRTU3MzA4NEZGRkUxMDYwMDAxMDAwMDAwMDAwOTQ3RDAwMjgwMDAwMDAwMDAzQkZFODIwOEZBMTAwMDRBRkEzMDAwNDEwMjAwMDAzOEM1RTAwMDQzOQorOjJDMEY3NDAwMTAwMDAwMDJBQzIzMDAyNEFGQTMwMDAwOEM2MTAwMjQxN0MzRkU0OEFDNDEwMDAwQUM0MDAwMDRBQzQwMDAwMDEwMDBGRTQ0MzA4NEZGRkQyQzYyMDEwMDZGCis6MkMwRkEwMDAxNDQwMDAwRTAwNkExMDIxMzE0MzAwN0YwMTQzMTgyMzAwNDMxODIzMzA2MjAwN0ZBNTYyMDAyODAwNjIxODIzMDAwMzE5MDI4RjgyMEZFMDI0NjNGRkY4QkYKKzoyQzBGQ0MwMDAwNjIxODIxMzQ2MzEwMDAxMDAwMDAwMzM4NjMxMDAwMzQ0MzAxMDAzODYzMDEwMDhDNjIwMDA0MDAwMDAwMDAxMDQwMDAwM0FDNkIwMDA0MDNFMDAwMDg5QQorOjBDMEZGODAwQUM0QjAwMjQwM0UwMDAwOEFDNkIwMDAwRDAKKzowMjAwMDAwNEEwRDA4QQorOjJDRDUwMDAwMDAwMDAwMDJBMEQwRTAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwNjAwMDAwMDA4MDAwMDAwMDAwMDAwMDAwODAwMDAwMDAyQTBEMEQ2NDgwMDAwMDAwMEY3Cis6MkNENTJDMDAwMDAwMDg4ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjQzMTMyMDAyNDMxMzIwMDI0MzEzMjAwMDAwMDAwMDAyNDRENDM1MjI0MjA0MzZGQjIKKzoyQ0Q1NTgwMDcwNzk3MjY5Njc2ODc0MjAyODYzMjkyMDRENjE2NDY3NjUyMDRFNjU3NDc3NkY3MjZCNzMyMDRDNzQ2NDIwMzEzOTM5MzUyRTIwNDE2QzZDMjA3MjY5Njc0QworOjJDRDU4NDAwNjg3NDczMjA3MjY1NzM2NTcyNzY2NTY0MkUwMDRENjE2NDY3NjUyMDQxNkQ2MjYxNzM3MzYxNjQ2RjcyMjA3NjMxMkUzMDMxMDAwMDAwMDAwMDAwMDAwMTJDCis6MkNENUIwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEUKKzoyQ0Q1REMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMworOjJDRDYwODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY2Cis6MENENjM0MDAwMDAwMDAwMEZGRjA0MDAwMDAwMDAwMDBCQgorOjJDRjAwMDAwMEMzNDNFMkQwMDAwMDAwMDNDMUNBMEQxMjc5QzU2MzgzQzFEQTBEMTI3QkRERkQwM0MwOEEwRDEyNTA4REZEMEFGODc4MDA4MEMzNDNDMTMwMDAwMDAwMEU0Cis6MkNGMDJDMDAyNDA0MDAwMzAwOTcwMDBEM0MwOEJGQzAzNTA4MDIzMDhEMDgwMDAwMDAwMDAwMDAwMTAwMDAwODAwMDAwMDAwMjdCREZGRDBBRkJGMDAxQ0FGQjEwMDE4NjQKKzoyQ0YwNTgwMEFGQjAwMDE0M0MxMUZGRjAwMDAwODAyMTNDMTgwMDU2MzcxODNCNzkyNjE5MDIwMDE3MjAwMDAyMDMxOTAwMUEwMDA3MDAwRDI0MDFGRkZGMTcyMTAwMDU2QgorOjJDRjA4NDAwMDAwMDAwMDAzQzAxODAwMDE3MDEwMDAyMDAwMDAwMDAwMDA2MDAwRDAwMDAxMDEyMDAxMDE4NDAzQzA1QTBEMTI0QTVENkNDMDBBMzIwMjFBNDgyMDAwMEM1Cis6MkNGMEIwMDAyNjEwMDAwMTJBMDEwMjAwMTQyMEZGRUEwMDAwMDAwMDNDMDZBMEQxMjRDNkY5RTQzQzA3QTBEMTI0RTdENjQ4QUNFNjAwMDAzQzA4QTBEMTI1MDhGQjE0RDkKKzoyQ0YwREMwMEFDRTgwMDA0M0MwOUEwRDEyNTI5RkM5NEFDRTkwMDA4M0MwQUEwRDEyNTRBRkNENEFDRUEwMDBDM0MwQkEwRDEyNTZCRkJBOEFDRUIwMDEwM0MwQ0EwRDE1QworOjJDRjEwODAwMjU4Q0ZCQzRBQ0VDMDAxNDNDMERBMEQxMjVBREZCRTBBQ0VEMDAxODNDMEVBMEQxMjVDRUZCRkNBQ0VFMDAxQzNDMEZBMEQxMjVFRkZDMThBQ0VGMDAyMEFECis6MkNGMTM0MDAzQzE4QTBEMTI3MThGQzM0QUNGODAwMjQzQzE5QTBEMTI3MzlGQzUwQUNGOTAwMjgzQzAyQTBEMTI0NDJGQzYwQUNFMjAwMkMzQzAzQTBEMTI0NjNGQzcwQTYKKzoyQ0YxNjAwMEFDRTMwMDMwM0MwNEEwRDEyNDg0RkM4MEFDRTQwMDM0M0MwNUEwRDEyNEE1RkNCNEFDRTUwMDM4M0MwNkEwRDEyNEM2RkUwOEFDRTYwMDNDM0MwOEEwRDExMQorOjJDRjE4QzAwMjUwOEZFOTBBQ0U4MDA0MDNDMDlBMEQxMjUyOUZBMzhBQ0U5MDA0NDNDMEFBMEQxMjU0QUZBNzRBQ0VBMDA0ODI0MTAwMDEzM0MwQkEwRDEyNTZCRjlEOEU3Cis6MkNGMUI4MDAwMDEwNjA4MDNDMEVBMEQxMjVDRUQ2NDgwMUNDNjgyMUFEQUIwMDAwMjYxMDAwMDEyQTAxMDAyMDE0MjBGRkY2MDAwMDAwMDA4Rjk4ODAwMDAwMDAwMDAwNkYKKzoyQ0YxRTQwMEFGMDAwMTAwOEY4MjgwMDAyNDE5MDNGRkE0NTkwMjAyMDAwMDgwMjE4Rjg2ODAwMDI0MDMwRkZGMDAxMDIwNDAyNEM3MDM4MDAwRTQyODIxQTRBMzAwMDBDMQorOjJDRjIxMDAwMjYxMDAwMDEyQTAxMDAwODE0MjBGRkY3MDAwMDAwMDA4Rjg5ODAwMDM0MDg5QzQwQUQyODAzQTA4RjhCODAwMDNDMEEwMEZGMzU0QUZGRkZBRDZBMDNBNEZDCis6MkNGMjNDMDAwMDAwODAyMThGOEY4MDAwMjQwQzBGRkYwMDEwNjg0MDI1RjgwMzAwMDMwRDcwMjFBNUNDMDAwMDI2MTAwMDAxMkEwMTAwMDgxNDIwRkZGNzAwMDAwMDAwQUIKKzoyQ0YyNjgwMDhGODI4MDAwMzQxOTlDNDBBQzU5MDMyMDhGODQ4MDAwM0MwMzAwRkYzNDYzRkZGRkFDODMwMzI0OEY4NjgwMDAyNDA1MDJGRkE0QzUwMjAyM0MwOEEwQzAwQworOjJDRjI5NDAwMzUwODAxODAzQzA5QTBEMTI1MjlENUI4MjUwQTAwMjg4RDBCMDAwMDhEMEMwMDA0QUQyQjAwMDBBRDJDMDAwNDI1MDgwMDA4MTUwQUZGRkEyNTI5MDAwODFCCis6MkNGMkMwMDA0MDAyNjAwMDAwMDAwMDAwQUZBMjAwMjgyNDAzMDAyMjNDMDRBMEUwMzQ4NDAwMTRBQzgzMDAwMDhGQTUwMDI4MDAwMDAwMDAzNEE2MTAwMTAwQzAxMDIxQ0IKKzoyQ0YyRUMwMEFGQTYwMDI4M0MwN0ZGQkYzNEU3RkZGRjAwQzczODI0MDBFMDEwMjFBRkE3MDAyODQwODc2MDAwMDAwMDAwMDAzQzA4MDAwMjM1MDhEODkwM0MwOUZGRkU1OQorOjJDRjMxODAwMzUyOTAxMzBBRDI4MDAwMDhGQUEwMDI4M0MwQkYwMDAwMTRCNTgyNTAxNjAxMDIxQUZBQjAwMjgwMTYwNjAyMTQwOEM2MDAwMDAwMDAwMDAwMDAwODAyMTQxCis6MkNGMzQ0MDAwMDEwNzA4MDAyMkU3ODIxQURFMDAwMDAyNjEwMDAwMTJBMDEwNDAwMTQyMEZGRkEwMDAwMDAwMDI0MTgwMDAxM0MxOUEwRThBRjM4MDAwMDI0MDIwMDExN0MKKzoyQ0YzNzAwMDNDMDNBMEYwMzQ2MzAwMTdBMDYyMDAwMDNDMDRGMEVCMzQ4NDAwNzAzQzA1RkZGMDM0QTU0QTAwQUNBNDAwMDAzQzA2RkNFQjM0QzYwMDcwQUNBNjAwMDAyNworOjJDRjM5QzAwM0MwN0ZGRjAzNEU3NDcwMEFDRTAwMDAwMDAwMDgwMjEzQzA4RkZGMDM1MDgwRkMwM0MwOUZGRjAzNTI5NDUwMEFEMjgwMDAwMjYxMDAwMDEyQTAxMDAwNDMzCis6MkNGM0M4MDAxNDIwRkZGODAwMDAwMDAwMDAwMDgwMjEzQzBBREVBRDAwMTA1OTgwM0MwMTAwRDEwMDJCMDgyMUFDMkEwMDNDM0MwMTAwRDEwMDJCMDgyMUFDMjAwMDMwQzEKKzoyQ0YzRjQwMDNDMDEwMEQxMDAyQjA4MjFBQzIwMDAzODI0MERGRkZGM0MwMTAwRDEwMDJCMDgyMUFDMkQwMDE0MDAxMDcxMDAzQzAxMDBEMTAwMkIwODIxQTQyRTAwMDA1NAorOjJDRjQyMDAwM0MwMTAwRDEwMDJCMDgyMUE0MjAwMDA0MjQxODAwMjAzQzAxMDBEMTAwMkIwODIxQTQzODAwMDgzQzAxMDBEMTAwMkIwODIxQUMyMDAwMTAyNjEwMDAwMTdGCis6MkNGNDRDMDAyQTAxMDQwMDE0MjBGRkUwMDAwMDAwMDAwMDAwODAyMTAwMTAxOEMwM0MwNUEwRDEyNEE1RTAwMDAwQTMyMDIxQUM4MDAwMDAzQzA3QTBEMTI0RTdFMDAwQkYKKzoyQ0Y0NzgwMDI0RTgwMDA0MDEwMzMwMjFBQ0MwMDAwMDI2MTAwMDAxMkEwMTAwMDkxNDIwRkZGMzAwMDAwMDAwMjQwOTAzODAzQzBBRkZGMDM1NEE0RDAwQUQ0OTAwMDA1RgorOjJDRjRBNDAwM0MwQ0EwODAzNThDMDA5Q0FEODAwMDAwM0MwREEwODAzNUFEMDBBMEFEQTAwMDAwM0MwRTExMDAzQzBGQTA4MDM1RUYwMEE4QURFRTAwMDA0MTAxMDAwM0EwCis6MkNGNEQwMDAwMDAwMDAwMDQxMDBGRkZGMDAwMDAwMDAzQzE4QTA4MDM3MTgwMEUwOEYxOTAwMDAzQzAxQTBEMUFDMzlENkM4MEMzNDNENDMwMzIwMjAyMThGQjAwMDE0REUKKzoyQ0Y0RkMwMDhGQkYwMDFDOEZCMTAwMTgwM0UwMDAwODI3QkQwMDMwMDA4MEI4MjEzQzFDRkZGMEEzODAwQzg0QTM4MDBDODg4RjkwNDQwMDAwMDAyMDIxQUY4MDBDQkM3RQorOjJDRjUyODAwMjQwMjAwQTgyNzgzMEYwMDJDNUQwMDQwMTdBMDAwMEMzQzFERkZCMDAzQTNFODI2QUZCNzQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RDAxRkZGRkY2Cis6MkNGNTU0MDAwMDAwMDAwMDI0NDJGRkMwMjQ2MzAwNDAxMDAwRkZGMzI2RjcwMDQwMTA0MDAwMEQwMDAwMDAwMDAwMDJFRTAwM0MwMTAwNDAwM0ExRTgyNTNDMDFGRkYwOTkKKzoyQ0Y1ODAwMDAzQTFFODI2MDNBM0U4MjZBRkI3NDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDREMDFGRkZGMDAwMDAwMDAzQzA1QTA4MDhGODIwRjA4MDAwMDAwMDA3RQorOjJDRjVBQzAwQUY4MjBGRDRBRjgyMEZEMEFDQTIwMEM0OEY4MjBGMTAwMDAwMDAwMDAwMDIxRDgyQUY4MzBGQzAwMDAzMUQ4MDAwNDMxMDIzM0MwMUEwODAwMDQxMTAyNTQyCis6MkNGNUQ4MDBBRjgyMEZDNEFGODIwRjEwOEY4MjBGMTQwMDAwMDAwMDAwNDMxMDIzM0MwMUEwODAwMDQxMTAyNUFGODIwRjE0MjQwMzAwMDMyNzlEMEYxODI0QkUwMEM4MjMKKzoyQ0Y2MDQwMDI3ODEwRDAwOEZBMjAwMDAwMDAwMDAwMEFGQTIwMDEwQUZDMjAwMDBBRkExMDAwOEFGQTEwMDBDOEZBMjAwMTQwMDAwMDAwMEFGQTIwMDFDMjdCRDAwMjRCNAorOjJDRjYzMDAwMjdERTAwMDQyNDIxMDA0MDE0NjBGRkYzMjQ2M0ZGRkY4RjgyMEYwMDAwMDAwMDAwQUY4MjBGQzhBQ0EyMDBDMDI3ODIwODAwMjQwMzAwMEZBQzQwMDAwMDJDCis6MkNGNjVDMDAyNDQyMDAwNDE0NjBGRkZEMjQ2M0ZGRkY4RjgzMEZDMDAwMDAwMDAwQUY4MzREMDA4RjgzNEQwMDhGODMwRjE0OEY4MjBGMTAyNDYzRkZGQ0FDNDAwMDAwOTEKKzoyQ0Y2ODgwMDE0NDNGRkZFMjQ0MjAwMDQyNDAyMDM4MEFGODI0RDAwMjc5RDBGMTgyN0ExMDA5MDhGQTIwMDE0OEZBMzAwMTgwMDAwMDAwMDAwNjIxODIzMkM3RjAwNDAxNworOjJDRjZCNDAwMTdFMDAwMDkzQzFGMDA0MDM3RkYwODAwMDNBMEYwMjE0RDAxRkZGRjAwMDAwMDAwQUZFMjAwMDAyNDQyMDA0MDEwMDBGRkY2MjQ2M0ZGQzAxMDYwMDAwNjU5Cis6MkNGNkUwMDAzN0ZGMDgwMDAwMDMxRTAwMDNFM0Y4MjU0RDAxRkZGRjAwMDAwMDAwQUZFMjAwMDAyN0JEMDAyNDE3QTFGRkU4MDAwMDAwMDAwMDAwMzgyMThGQzIwMDE0NUEKKzoyQ0Y3MEMwMDhGQzMwMDE4MDAwMDAwMDAwMDYyMTgyMzJDN0YwMDQwMTNFMDAwMDQzQzFGMDA0MDAwMDMwRTAwMTAwMDAwMDIwM0UxRjgyNTI0MDMwMDQwMzdGRjA4MDA4NAorOjJDRjczODAwMjQxRTAzRTcwMDAwMDgyMTREMDFGRkZGMDAwMDAwMDBBRkUyMDAwMDAwMjMwODIxNDkwMEZGRkIwMDAwMDAwMDg3ODA0MDAyMTdDMEZGRjgyN0RFRkZGRkNBCis6MkNGNzY0MDAxNEUwMDAwNDM0RTc0MDAwMDNFN0Y4MjUxMDAwRkZGMEFGODEwQzYwQUY4MTBDNUMzQzAxQTBEMThDMjJENkM4MDAwMDAwMDAzQzAxQTA4MEFDMjIwMEUwRTcKKzoyQ0Y3OTAwMDNDMDFBMDgwOEMyMDAwRTBBRjgwMEZCNEE3ODAwRkI4QTc4MDBGQkFBNzgwMEZCQ0E3ODAwRkJFMjc4MjBDQzBBRjgyMEZEQ0FGODIwRkQ4M0MwMkEwRDE1NgorOjJDRjdCQzAwMjQ0MkRBQ0NBRjgyMEM0Q0FGODIwQzUwMjQ0MjA0MDBBRjgyMEM1NDI0MDIwMDFFM0MwM0ZGRjAyNDdEMDA0MEFDN0QwMDA4MDNBMDE4MjExNDQwRkZGQzU1Cis6MkNGN0U4MDAyNDQyRkZGRjNDMURGRkYwQUM3RDAwMDgzQzAyQzcwNDM0NDJERDdCQUY4MjBDNTgzQzA3MDAwMDI0RTcwMTU4MDgzNDNGQTkwMDAwMDAwMDhFNjIwMDM4QjkKKzoyQ0Y4MTQwMDAwMDAwMDAwMTQ0MDAwMDU4RjgzMEM5NDEyQTAwMDIyMjQ2MzAwMDExMDAwMDAyMEFGODMwQzk0QUY4MjBGQjQzMjYyRkZDMDAwMDIxMTgyODY2MzAwMkE3MAorOjJDRjg0MDAwQTc4MjBGQjgzQzAyQTAwMEFGODIwRkJDQTc4MzBGQkE4NjdFMDAwODI3OUQwRjE4MzNERTAwNjAwM0JFRTgyMTAwMUVGMEMyMDNCRUU4MjE4RkEyMDAxQ0M2Cis6MkNGODZDMDAzQzAzMEM0MDREMDFGRkZGMDAwMDAwMDA4Rjk3NEMwMEFDNjIwRkI0OEZBMzAwMTgyNDQyMDAwQzE0NDMwMDAzMDAwMDAwMDA4RkEyMDAxNDAwMDAwMDAwRkIKKzoyQ0Y4OTgwMEFGQTIwMDFDNEQwMUZGRkYwMDAwMDAwMEFDQTUwMEU0QUY5NzRDMDAwM0UwMDAwOEFFNjAwMDNDM0MwREEwRDEyNUFERDUwMDExQTAwMDIxMDAwMDAwMDA1QworOjJDRjhDNDAwOERBOTAwMDAwMDAwMDAwMDExMjAwMDFEMDAwMDAwMDA4REFBMDAwNDhEQUIwMDA4OERBQzAwMEMwMDA5NDc0MDA1MDEwMDA0MDAwMDAwMDAzQzA4QTBEMTg1Cis6MkNGOEYwMDAyNTA4RDYzODAxNDg1MDIxMDAwOTQ3ODAwNTAxMDAwNzAwMDAwMDAwMTE4MDAwMEQwMDAwMDAwMEFENDAwMDAwMjU0QTAwMDQxMDAwRkZGQjI1OENGRkZDNjYKKzoyQ0Y5MUMwMDExODAwMDA3MDAwMDAwMDA4RDZFMDAwMDI1NkIwMDA0QUQ0RTAwMDAyNTRBMDAwNDEwMDBGRkY5MjU4Q0ZGRkMxMDAwRkZFMTI1QUQwMDEwMDNFMDAwMDhCOQorOjJDRjk0ODAwMDAwMDAwMDAzQzAyMTA0MEFDNTc0RkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RDAxRkZGRjAwMDAwMDAwOEY4MjBGRkMwMDAwMDAwMDVCCis6MkNGOTc0MDAzMDQyMDAxRjAwMDIxMDgwM0MxN0EwRDEwMkUyQjgyMTI2RjdENjQ4OEVGNzAwMDAwMDAwMDAwMDAyRTAwMDA4MDAwMDAwMDAyNDAyRkZGRkFGODIwRkZDQjkKKzoyQ0Y5QTAwMDhGOTcwRkM4M0MwMjEwNDBBQzU3MEZGMDhGODIwRjA0MjZGNzAwMTAxNkUyMDAwNEFGOTcwRkM4OEY5NzBGMDAwMDAwMDAwMEFGOTcwRkM4NEQwMUZGRkZBNgorOjJDRjlDQzAwMDAwMDAwMDAwM0UwMDAwODAwMDAwMDAwM0MxRkEwRDEyN0ZGRjAyQzEwMDBGRkVEOEY5NzBGRjAzQzAyMDBEMTMyRjcwM0ZGMDAxN0I5ODAwMkUyQjgyNUFBCis6MkNGOUY4MDBBRUUwMDAzQzI0MDJGRkZGQUVFMjAwMzBBRUUyMDAxNDk3ODMwRkY0OTc4MjBGRjgzQzFEMDAwMDI3QkQwNjk4QTZFMzAwMDhBNkUyMDAwMkFGOUYwRkU4MTkKKzoyQ0ZBMjQwMDAzQTBGODA5QTZFMjAwMkM4RjlGMEZFODEwMDBGRkQ5QUVFMjAwMEM4Rjk3MEZGMDNDMDIwMEQxMzJGNzAzRkYwMDE3Qjk4MDAyRTJCODI1OTc4MjBGRjQyOQorOjJDRkE1MDAwM0MwMzAwMDAyNDYzMDY5OEE2RTIwMDAyQUY5RjBGRTgwMDYwRjgwOUE2RTIwMDJDOEY5RjBGRTgxMDAwRkZDQUFFRTIwMDBDOEY5NzBGRjAzQzAyMDBEMTc0Cis6MkNGQTdDMDAzMkY3MDNGRjAwMTdCOTgwMDJFMkI4MjU5NzgyMEZGNDAwMDAwMDAwOTZFMzAwMDhBNkUyMDAwODAwNDMxMDI2MzA0MjAwNjAxMDQwRkZCRDhFRTIwMDNDRjIKKzoyQ0ZBQTgwMEFFRTAwMDNDMTA0MEZGQkEzQzAyODgwMEFGODIwRkJDOEVFMjAwMzhBRUUwMDAzODMwNjMwMDYwMjc5RDBGMTgwM0EzRTgyMTAwMDMxOEMyMDNBM0U4MjExNgorOjJDRkFENDAwOEZBMzAwMUMxMDQwRkZBRkFGODIwRkI0M0MwMjBDNDBBQzQzMEZCNDhGQTIwMDE4MjQ2MzAwMEMxNDQzMDAwMzAwMDAwMDAwOEZBMzAwMTQwMDAwMDAwMDBFCis6MkNGQjAwMDBBRkEzMDAxQzREMDFGRkZGMDAwMDAwMDAxMDAwRkZBMjAwMDAwMDAwOEY5NzBGRjAzQzAyMDBEMUE3OTcwRkI4MDAxN0I5ODAzMkY3RkZDMDAyRTJCODIxNDAKKzoyQ0ZCMkMwMEFFRTAwMDMwM0MwMkRFQUQ4RUUzMDAzQ0FFRTIwMDNDOEVFMjAwMzgxMDYwRkY5NUFFRTAwMDM4M0MwMzg4MDBBRjgzMEZCQzg2RTMwMDA4Mjc5NzBGMTgyMQorOjJDRkI1ODAwMzA2MzAwNjAwMkUzQjgyMTAwMDMxOEMyMDJFM0I4MjE4RUUzMDAxQzEwNDBGRjhBQUY4MjBGQjQzQzAyMEM0MEFDNDMwRkI0OEVFMjAwMTgyNDYzMDAwQzg0Cis6MkNGQjg0MDAxNDQzMDAwMzAwMDAwMDAwOEVFMzAwMTQwMDAwMDAwMEFFRTMwMDFDNEQwMUZGRkYwMDAwMDAwMDEwMDBGRjdEMDAwMDAwMDA4RjgyMEZGMDhGOTcwRkY0QjgKKzoyQ0ZCQjAwMDkwNDEwMDAwMDAwMDAwMDAwMDM3MDgyNTEwMDBGRjc2QTA0MTAwMDA4RjgyMEZGMDhGOTcwRkY0OTQ0MTAwMDAwMDAwMDAwMDAwMzcwODI1MTAwMEZGNkY5RQorOjJDRkJEQzAwQTQ0MTAwMDA4RjgyMEZGMDhGOTcwRkY0OEM0MTAwMDAwMDAwMDAwMDAwMzcwODI1MTAwMEZGNjhBQzQxMDAwMDhGODIwRkYwOEY5NzBGRjQ5MDQxMDAwMDQwCis6MkNGQzA4MDAwMkUwQjgyNzAwMzcwODI0MTAwMEZGNjFBMDQxMDAwMDhGODIwRkYwOEY5NzBGRjQ5NDQxMDAwMDAyRTBCODI3MDAzNzA4MjQxMDAwRkY1QUE0NDEwMDAwREIKKzoyQ0ZDMzQwMDhGODIwRkYwOEY5NzBGRjQ4QzQxMDAwMDAyRTBCODI3MDAzNzA4MjQxMDAwRkY1M0FDNDEwMDAwOEY4MjBGRjA4Rjk3MEZGNDEwMDBGRjRGQTA1NzAwMDA5RAorOjJDRkM2MDAwOEY4MjBGRjA4Rjk3MEZGNDEwMDBGRjRCQTQ1NzAwMDA4RjgyMEZGMDhGOTcwRkY0MTAwMEZGNDdBQzU3MDAwMDhGODIwRkYwMDAwMDAwMDA4QzQyMDAwMDdBCis6MkNGQzhDMDAxMDAwRkY0MkFGODIwRkY0M0MwMUEwQzI4QzIyQzAwMDAwMDAwMDAwQUY4MjBGRjAzQzAxQTBDMjhDMjJDMDA0MTAwMEZGM0FBRjgyMEZGNDNDMDFBMEQxNEUKKzoyQ0ZDQjgwMDhDMjJENUFDMDAwMDAwMDBBRjgyMEZGMDNDMDFBMEQxOEMyMkQ1QjAxMDAwRkYzMkFGODIwRkY0M0MwMkEwRjBBQzQwMDAwMDkwNTcwMTUzMDAwMDAwMDA3NgorOjJDRkNFNDAwQTM5NzBDODA5MDU3MDE1NzAwMDAwMDAwQTM5NzBDODE5MDU3MDE1QjAwMDAwMDAwQTM5NzBDODc5MDU3MDE1RjAwMDAwMDAwQTM5NzBDODY5MDU3MDE2M0JBCis6MkNGRDEwMDAwMDAwMDAwMDMyRjcwMDA3QTM5NzBDODU5MDU3MDE5MzAwMDAwMDAwQTM5NzBDOEI5MDU3MDE5NzAwMDAwMDAwQTM5NzBDOEE5MDU3MDE5QjAwMDAwMDAwQUUKKzoyQ0ZEM0MwMDMyRjcwMDA3QTM5NzBDODk5MDU3MDAwQjAwMDAwMDAwMzJGNzAwRTAwMDE3MDk0MjkwNTcwMDQ3MDAwMDAwMDAzMkY3MDA3ODAwMzcwODI1OTA1NzAwNjdCRQorOjJDRkQ2ODAwMDAwMDAwMDAzMkY3MDAwRjAwMTdCOUMwMDAzNzA4MjU5MDU3MDBDNzAwMDAwMDAwMzJGNzAwMkYwMDE3QkFDMDAwMzcwODI1OTA1NzAxNDcwMDAwMDAwMDE5Cis6MkNGRDk0MDAzMkY3MDAxRTAwMTdCQzAwMDAzNzA4MjU5MDU3MDE4MzAwMDAwMDAwMzJGNzAwNjAwMDE3QkMwMDAwMzcwODI1QUY4MTBDOEMzQzAyMTg0MDhGOTcwRkM4M0YKKzoyQ0ZEQzAwMDAwMDAwMDAwOEY5NzBGRjAwMDAwMDAwMEFDNTcwQzgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEQwMUZGRkYxNworOjJDRkRFQzAwMDAwMDAwMDAzQzAyQTBEMTI0NDJGOTk4QUY4MDBDOTBBRjgwMEM5NDAwNDAwMDA4MDAwMDAwMDA4Nzk3MEZGMDNDMTMwMEQxQTY3NzAwMDgzQzAzMDAwMEMyCis6MkNGRTE4MDAyNDYzMDUyMEFGOUYwRkU4MDA2MEY4MDkyNDAyMDAwMThGOUYwRkU4MTA0MEZFREE5Nzk3MEZGMDI3ODMwRjE4MDA3NzE4MjEwMDE3QjhDMjAyRTNCODIxRkIKKzoyQ0ZFNDQwMDNDMDI4ODAwQUY4MjBGQkM4RTYyMDAzOEE3ODAwRkI4QUY4MjBGQjQ4RUUzMDAxQzNDMDIwQzQwQUM0MzBGQjQ4RUUyMDAxODI0NjMwMDBDMTQ0MzAwMDQ4NworOjJDRkU3MDAwQUVFMzAwMUM4RUUzMDAxNDAwMDAwMDAwQUVFMzAwMUM0RDAxRkZGRjAwMDAwMDAwMTAwMEZGREYwMDAwMDAwMDhGODIwQzVDOEY4MzBDNjBBRjgyMEZGMDI2Cis6MkNGRTlDMDAxMDAwRkVCRUFGODMwRkY0MjM4OTA4MDAwMTIwMTgyMTI0MDIwMDBGMjA2QzAwNDBBQzZDMDAwODAxODAxODIxMTQ0MEZGRkMyMDQyRkZGRkFDNjkwMDA4ODQKKzoyQ0ZFQzgwMDI3OEIwQzk4QTU2MDAwMDAyNDAzRkZGRkFENjMwMDE0MzQwMjAwMDEzNDQyMDAyMEE1NjIwMDA4Mjc4QTBFMDAwMTQwMTAyMTAwMDAxODIxQUM0MDAwMDAzOAorOjJDRkVGNDAwMjQ2MzAwMDQyQzZDMDEwMDE1ODBGRkZDMjQ0MjAwMDQzQzAyQTBEMTI0NDJFMDAwQUY4MjBGRTAzQzE4MDBEMTAxMjA2MDIxMDAwMDY4MjEwMDAwNzgyMUM2Cis6MjhGRjIwMDAwMDAwNTgyMTAwMDA0MDIxNDAwMjYwMDAwMDAwMDAwMDM0NDI0MDAxNDA4MjYwMDAzQzAyMDAwMDI0NDIwNkY4MDA0MDAwMDgwMDAwMDAwMDdBCis6MDAwMDAwMDFGRgorLyoKKyAgTWFkZ2UgQW1iYXNzYWRvciBBVE0gQWRhcHRlciBtaWNyb2NvZGUuCisgIENvcHlyaWdodCAoQykgMTk5NS0xOTk5ICBNYWRnZSBOZXR3b3JrcyBMdGQuCisKKyAgVGhpcyBtaWNyb2NvZGUgZGF0YSBpcyBwbGFjZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbAorICBQdWJsaWMgTGljZW5zZS4gVGhlIEdQTCBpcyBjb250YWluZWQgaW4gL3Vzci9kb2MvY29weXJpZ2h0L0dQTCBvbiBhCisgIERlYmlhbiBzeXN0ZW0gYW5kIGluIHRoZSBmaWxlIENPUFlJTkcgaW4gdGhlIExpbnV4IGtlcm5lbCBzb3VyY2UuCisKKyAgV2Ugd291bGQgcHJlZmVyIHlvdSBub3QgdG8gZGlzdHJpYnV0ZSBtb2RpZmllZCB2ZXJzaW9ucyB3aXRob3V0CisgIGNvbnN1bHRhdGlvbiBhbmQgbm90IHRvIGFzayBmb3IgYXNzZW1ibHkvb3RoZXIgbWljcm9jb2RlIHNvdXJjZS4KKyovCisKK0ZpcnN0IHJlY29yZCBpcyBzdGFydCBhZGRyZXNzIGluIGEgX19iZTMyLgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUvY3BpYTIvc3R2MDY3Ml92cDQuYmluLmloZXggYi9maXJtd2FyZS9jcGlhMi9zdHYwNjcyX3ZwNC5iaW4uaWhleApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZDBiOWNmCi0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUvY3BpYTIvc3R2MDY3Ml92cDQuYmluLmloZXgKQEAgLTAsMCArMSw3MyBAQAorOjEwMDAwMDAwMDFCQ0UzMDJFMzAzRTMwNEUzMDVFMzA2RTMwNzkzNDRFRgorOjEwMDAxMDAwNTZENDkzNEU1NjUxOTM0RTUxRDY5MzRFNEY1NDkzNEVDMQorOjEwMDAyMDAwOTI0RjkyQTQ5MzA1OTJGNDkzMUI5MjkyOTFFNjkyMzY4QQorOjEwMDAzMDAwOTI3NDkyNEE5MjhDOTI4RUM4RDAwQjQyMDJBMENBOTJCRAorOjEwMDA0MDAwMDkwMkM5MTAwQTBBMEE4MUUzQjhFM0IwRTNBOEUzQTBGMQorOjEwMDA1MDAwRTM5OEUzOTBFMTAwQ0ZENzBBMTJDQzk1MDhCMjBBMThEMgorOjEwMDA2MDAwRTEwMDAxRUUwQzA4NEExMkM4MThGMDlBQzAyMkYzMUNGNQorOjEwMDA3MDAwNEExM0YzMTRDOEEwRjIxNEYyMUNFQjEzRDNBMjYzMTZCNAorOjEwMDA4MDAwNDg5RUYwMThBNDAzRjM5M0MwNThGNzEzNTE5Q0U5MjAzRAorOjEwMDA5MDAwQ0ZFRjYzRjk5MjJFRDM1RjYzRkE5MjJFRDM2NzYzRkI5RgorOjEwMDBBMDAwOTIyRUQzNkZFOTFBNjMxNjQ4QTdGMDIwQTQwNkYzOTRBMgorOjEwMDBCMDAwQzAyN0Y3MTRGNTEzNTE5REY2MTM2MzE4QzQyMENCRUYzNgorOjEwMDBDMDAwNjNGQzkyMkVEMzc3NjNGRDkyMkVEMzdGNjNGRTkyMkUzNAorOjEwMDBEMDAwRDM4NzYzRkY5MjJFRDM4RjY0Mzg5MjJFRDM5NzY0MzlERgorOjEwMDBFMDAwOTIyRUQzOUZFMTAwRjUzQUY0M0JGN0JGRjJCQ0YyM0QwQworOjEwMDBGMDAwRTEwMDgwODc5MDgwNTFENTAyMjIwMjMyNEJEM0Y3MTE2NAorOjEwMDEwMDAwMEJEQUUxMDAwRTAyMDI0MDBEQjVFMzAyNDg1NUU1MTI5QworOjEwMDExMDAwQTQwMUU4MUJFMzkwRjAxOEE0MDFFOEJGOERCODRCRDEwRgorOjEwMDEyMDAwNEJEODBCQ0IwQkMyRTEwMEUzMDJFMzAzNTJEMzYwNTk3RgorOjEwMDEzMDAwRTY5MzBEMjI1MkQ0RTY5MzBEMkFFMzk4RTM5MEUxMDA3MgorOjEwMDE0MDAwMDI1RDAyNjNFMzAyQzgxMjAyQ0FDODUyMDJDMjgyNjg5OAorOjEwMDE1MDAwRTMwMkM4MTQwMkNBQzg5MDAyQzIwQUQwQzk5MzBBREFEQworOjEwMDE2MDAwQ0NEMjBBRTI2MzEyMDJEQTBBOTgwQUEwMEFBOEUzOTA0MworOjEwMDE3MDAwRTEwMEUzMDIwQUQwQzk5MzBBREFDQ0QyMEFFMjYzMTJBMAorOjEwMDE4MDAwMDJEQTBBOTgwQUEwMEFBODQ5OTFFNTZBQTQwNEM4MTJFQQorOjEwMDE5MDAwMDJDQUM4NTI4Mjg5QzgxNDAyQ0FDODkwMDJDMkUzOTAzNworOjEwMDFBMDAwRTEwMDA4NjBFMTAwNDg1M0U4OTcwODVBRTEwMEUzMDJFMworOjEwMDFCMDAwRTMwMzU0RDM2MDU5RTY5MzBENTJFMzk4RTM5MEUxMDBEMgorOjEwMDFDMDAwMDI5Q0UzMDI1NTEzOTMxNzU1MTM5MzE3RTM5MEUxMDAzNAorOjEwMDFEMDAwNzUzMEUzMDJFMzAzNTU1NTYwNTlFNjkzMERCMkUzOTg5OQorOjEwMDFFMDAwRTM5MEUxMDAwMkFFRTc5MkU5MThFQTlBRTg5OEU4MTA5NQorOjEwMDFGMDAwRTgxMUU4NTFEMkRBRDJGM0U4MTNEMkZBRTg1MEQyRUFBMQorOjEwMDIwMDAwRThEMEU4RDFEMzBBMDMwOTQ4MjNFNTJDQTAwMzQ4MjQwOQorOjEwMDIxMDAwRUExQzAzMDhEMkUzRDMwM0QzMTNFMTAwMDJDQjA1OTMxNgorOjEwMDIyMDAwNTc5M0YwOUFBQzBCRTMwNzkyRUFFMjlGRTUwNkUzQjAzRQorOjEwMDIzMDAwQTAwMkVCMUU4MkQ3RUExRUUyM0I4NTlCRTkxRUM4OTAxNgorOjEwMDI0MDAwODU5NDAyREUwNTgwNTc5M0YwQkFBQzA2OTJFQUUyQkZDRAorOjEwMDI1MDAwRTUwNkEwMDFFQkJGODU4OEU5M0VDODkwODU4MUU5M0VBRgorOjEwMDI2MDAwRjBCQUYzMzlGMDNBNjAxN0YwM0FDMDkwRjBCQUUxMDAxMgorOjEwMDI3MDAwMDAzRkUzMDJFMzAzNTgxMDYwNTlFNjkzMERBMjU4MTJDMQorOjEwMDI4MDAwRTY5MzBEQUFFMzk4RTM5MEUxMDAwMzAxRTEwMDAzMDM4NAorOjEwMDI5MDAwOUI3RDhCOEJFMzAyRTMwMzU4NTY2MDU5RTY5MzBEQkFCRQorOjEwMDJBMDAwRTM5OEUzOTBFMTAwMDMwRjkzMTFFMTAwRTMwMjRBMTFBOAorOjEwMDJCMDAwMEI0MjkxQUZFMzkwRTEwMEYyOTFGMDkxQTNGRUUxMDBENworOjEwMDJDMDAwNjA5MkMwNUZGMDEzRjAxMzU5NUJFMjEzRjAxMTVBMTlGQQorOjEwMDJEMDAwRTIxM0UxMDAwMDAwMDMyNzY4NjE3NjYxNkU2MTAwMDZBOQorOjEwMDJFMDAwMDMyQ0UzMDJFMzAzRTkzODU5MTU1OTVBRjI5QUJDMEI3RgorOjEwMDJGMDAwQTQwQTU5MUVGMzExRjAxQUUyQkI1OTE1RjAxMTE5MkE3QworOjEwMDMwMDAwRTUwMkE0MDFFQkJGRTM5OEUzOTBFMTAwMDM0MjE5Mjg2MgorOjEwMDMxMDAwRTEwMEU5MzA2MDc5RTEwMEUzMDNFMzA3NjA3OTkzNEU5RgorOjEwMDMyMDAwRTNCOEUzOThFMTAwRTkxQUYwMUZFMjMzRjA5MUUyOTJCQQorOjA4MDMzMDAwRTAzMkYwMzFFMTAwMDAwMEIxCis6MDAwMDAwMDFGRgorCisgIENvcHlyaWdodCAyMDAxLCBTVE1pY3JvbGVjdHJvbmljcywgSW5jLgorICBDb250YWN0OiAgc3RldmUubWlsbGVyQHN0LmNvbQorCisgIERlc2NyaXB0aW9uOgorICAgICBUaGlzIGZpbGUgY29udGFpbnMgcGF0Y2ggZGF0YSBmb3IgdGhlIENQaUEyIChzdHYwNjcyKSBWUDQuCisKKyAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCisgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgIEZvdW5kYXRpb24sIEluYy4sIDY3NSBNYXNzIEF2ZSwgQ2FtYnJpZGdlLCBNQSAwMjEzOSwgVVNBLgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUvZGFidXNiL2JpdHN0cmVhbS5iaW4uaWhleCBiL2Zpcm13YXJlL2RhYnVzYi9iaXRzdHJlYW0uYmluLmloZXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTAyMWE0YgotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2RhYnVzYi9iaXRzdHJlYW0uYmluLmloZXgKQEAgLTAsMCArMSw3NjEgQEAKKzoxMDAwMDAwMDAwMDkwRkYwMEZGMDBGRjAwRkYwMDAwMDAxNjEwMDBEN0MKKzoxMDAwMTAwMDY0NjE2Mjc1NzM2Mjc0NzIyRTZFNjM2NDAwNjIwMDBCQjkKKzoxMDAwMjAwMDczMzEzMDc4NkM3NjcxMzEzMDMwMDA2MzAwMEIzMTM5QzgKKzoxMDAwMzAwMDM5MzkyRjMwMzkyRjMyMzQwMDY0MDAwOTMxMzAzQTM0RTUKKzoxMDAwNDAwMDMyM0EzNDM2MDA2NTAwMDAyRUMwRkYyMDE3NUY5RjVCRjgKKzoxMDAwNTAwMEZFRkJCQkI3QkJCQkZCQkZBRkVGRkJERkI3RkJGQjdGNjEKKzoxMDAwNjAwMEJGQjdFRkYyRkZGQkZFRkZGRkVGRkZGRUZGQkZGRkZGOUIKKzoxMDAwNzAwMEZGRkZBRkZGRkFGRkZGRkZDOUZGRkZGRkRGRkZGRkZGM0IKKzoxMDAwODAwMEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGQkZGQTNGRkZCRTQKKzoxMDAwOTAwMEZFRkZCRkVGRTNGRUZGQkZFM0ZFRkZCRjZGRkJGNkZGMTgKKzoxMDAwQTAwMEJGRkY0N0ZGRkY5RkVFRjlGRUNGOUZFRkZCQ0Y5QkVFMTkKKzoxMDAwQjAwMEY4RkVFRjhGRUVGQkZFMEJGRkZGRkZGRkZGRkZGRkZGRTIKKzoxMDAwQzAwMEZGRkZCRkZGRkZGQkZGRkZCRkZGRkZGQzE3RkZGRkZGQUYKKzoxMDAwRDAwMEZGRkZGRjdGRkZGRkZGN0ZGRkZGRkJGRkZGN0ZGRkZGQjQKKzoxMDAwRTAwMEZDM0ZGRkZGRkZGRkZGRkZGRkZGRkZGQkZGRkZGRkZGRTcKKzoxMDAwRjAwMEZGRkZGRkZGRkZGRTVGRkZGRkZERkZGRkRCRkZGREZGRDkKKzoxMDAxMDAwMDc3RkZGREZGRkZERkZFRkRGRkZGRjJGRkZGRkZGRkZGQjkKKzoxMDAxMTAwMEZGRkRGRkZGRkZGREZGRkZGRkZGRkZGRkZGRkZGRkUxMTEKKzoxMDAxMjAwMDdGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGM0ZGRkZGMUYKKzoxMDAxMzAwMEZGRkZGRkZGRTNGRkZGRkZGRkZGRkZGRkZGRkZGRkJGMkIKKzoxMDAxNDAwMEZGRkVGRkZGRkZGRkZGRkZGRjY3RkZGRkZGRkZGRkZGNTgKKzoxMDAxNTAwMDdGRkZGRkZGN0ZGRkZGRkZGRkZGREZGRkZGRkYyRkZGOUYKKzoxMDAxNjAwMEYzRkRGRjdGREVGN0ZERkY3RkY3N0RGRjdGREZGN0JENEMKKzoxMDAxNzAwMEZGN0ZGRjFGRkZFRkZCRkVGRkJGRUZGQkZFRkZFRkZCNkQKKzoxMDAxODAwMEZFRkZCRkVGRkJGRUZGRkYzRkZFN0Y5RkU3RjlGRTdGMTUKKzoxMDAxOTAwMDlGRTdGQTdGOUZFN0Y5RkU3RjlGRTdGRkZDN0ZCRkJGRTYKKzoxMDAxQTAwMEVGRkJGRUZGQkZFRkZCQjdCRkVGRkJGRUZGQkZFRkZCQjkKKzoxMDAxQjAwMEZGRTBGREY5RkU3RjlGRTdGOUZFN0Y5REY5RkU3RDlENDMKKzoxMDAxQzAwMEU3RjlGRTdGOUZFREVERkZGREZGN0ZERkY3RkRGRjdGOEUKKzoxMDAxRDAwMERGRkRGRjdGREZGN0ZERkY3RkRGRkY5QkZGRUZGQkZFMTQKKzoxMDAxRTAwMEZCQkZFRkJCRkVGRkFGQkJCRUZGQkZFRkZCRkVGRkZGRTIKKzoxMDAxRjAwMEI3QkZEQkY2QkRCRjZCREJGNkY5QkY1QkQ2RjlCRjZGRjAKKzoxMDAyMDAwMERCRjZGREJGRkYwRUZGRkZGRkZGNUZGRkY3RkZGRjdGODYKKzoxMDAyMTAwMEY3QkRGRkZGRkZGRkZGRkZGRkRGOUZGRkZGRkZGRUZGQjkKKzoxMDAyMjAwMEZGRUZGRUZFRkZGRjc3RkZGQkZCRkZGRkZGRkZGODNGNDcKKzoxMDAyMzAwMEZGRkRGRkZGRkZGREZGRkZGRkZGRkZGRkZGRkZGRkZGRDIKKzoxMDAyNDAwMEZGRkZGRkY0N0ZGRkZFRkRCRUZGREZGRUZGRkZFRjdGM0UKKzoxMDAyNTAwMEZGQ0ZGRkNGRkZGRkZGREZFNkZGRkY3RkRGRjdERDdGOTEKKzoxMDAyNjAwMDdGREZGN0ZGN0ZERkQ3RkRGRjdGREZGN0ZGQ0RGRkYyRjcKKzoxMDAyNzAwMEZGRkY0RjdGRjRGRkZGRkZFN0VGRkZGRkZGRkZGRkZGRjEKKzoxMDAyODAwMEZGRkZCQkZGRUZGRkZFRkZGRkZGRUZGRkZGRUZGRkZCRjcKKzoxMDAyOTAwMEZGRkZGRkZGRkZGRkZGNjVFRkZGRkY3RkZGRkRFRkZGQUEKKzoxMDAyQTAwMEZGRkZGRUZGRkZGRkZGRkZGRkZGRkZGRUNGREZGRUZGQjEKKzoxMDAyQjAwMEZGRkJGRkZGRkZGRkYzRkZGRkZGRkZGRkZGRkZGRkZGNUUKKzoxMDAyQzAwMEZFREZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGNUYKKzoxMDAyRDAwMEZGRkZGRkZGRkZGRUJGRkZGRkZGRTM3RkZGRkZGRkZGMEIKKzoxMDAyRTAwMEZGRkZFRkVCRkZGRUJGRkZFQkZGRkM3RkZGRkZGRkVFMkIKKzoxMDAyRjAwMEZGRkZGRkZGRkZGRkRERkZENkZGRkRCRkZGRkJGRkZFQTAKKzoxMDAzMDAwMEZERkZGRkZERUZGRkZGRkZGRkZGRkZERUZGRkZGRkZGMzIKKzoxMDAzMTAwMEZGRkZCRkZGRkRGRjdGQkZGRjVGREZGRkZGQkY3N0ZGNzcKKzoxMDAzMjAwMEZGRkY3RkQ3RkZGRkZGRkZGRkMzRkZGRkZGRkZERkVGRjEKKzoxMDAzMzAwMEZGRkZGRUZCRkZGRkRGQkZGRkZGRkZGRkVERkZCN0ZGOEMKKzoxMDAzNDAwMEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGQkQKKzoxMDAzNTAwMEZGRkZGRkFGN0ZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGN0QKKzoxMDAzNjAwMEZGRkZGRkZGRkZGRkZGRkZERkJGREZGM0ZERkJGRjVCRDMKKzoxMDAzNzAwMEZERkZCRkVGRjdGRkZGN0RGRkZGRkZGRkY4M0JGRkJGNzQKKzoxMDAzODAwMDZGRkZGRUZGQkZGRkVCN0RGRkVGRkJGRUZGRkZGRkZGRjkKKzoxMDAzOTAwMEZGRjI3RkZDRkYzRkRGRURGRUZGRkZGRkZGRUY1RkY3QTgKKzoxMDAzQTAwMEI1RkZFRkZGRkZGRkUwM0Y5RjlFRkZGRkVGRkZERkZGODcKKzoxMDAzQjAwMEJGNUZCRkNGRjNGRkZGRkZGRkZGRkY2OUFGMzNGREZGNUQKKzoxMDAzQzAwMEZCRkZGRkZGRkZGQ0ZGN0ZEOUZGREZGRkZGRkZGRkY1MTQKKzoxMDAzRDAwMEEzREY2RURFRkZGRkJERkZGRkZFRkZGRkZGRkVFN0ZEQjkKKzoxMDAzRTAwMEZGRkZGRkY5RUZDNkZFQjdBREU1RjlGRkZGRkZDRkZGNTcKKzoxMDAzRjAwMEZGRkZDREZCN0ZGRkZGRkZGOUY2MEZERkVDQ0Y3RkZGQTUKKzoxMDA0MDAwMEZCN0ZGRkZGRkZGREZGRkVGOUZEN0ZGRjdGRkZGOTVCMzUKKzoxMDA0MTAwMEZGNzNEQ0ZEN0JERkZGRkZGRjdCRkZGRkY3NTNENkZGQTIKKzoxMDA0MjAwMEZGRkZGRkQ4OUZGRUZGRUY3RkVFRkZGRkZGRkJFREVEMkQKKzoxMDA0MzAwMEZERkZGRUZGRkZGQjdGRkZFMjdGRkY2RkQ4NTdGN0ZGNTcKKzoxMDA0NDAwMEZGRkZERkZGRThGRkZGRkRGRkZGRkM3RkZGRTRGRkZCOTcKKzoxMDA0NTAwMEVGRkJGRURGQjdFREZGRkVERjdGRkZGRTdGQjdGRkZGQTUKKzoxMDA0NjAwMEZGRkY4OUZGRkZDRkYzRkU3RkZGRUZGRkZFN0U3RkZCRTUKKzoxMDA0NzAwMEZGRkZGRkZGRkZGRkZGRjFGRkVCN0FENUJGNkZEQkJFOTIKKzoxMDA0ODAwMEZEQjdEOEY2RTVCRjZGRkJGRUY1QkQ3RTA2RkZERkY3RDMKKzoxMDA0OTAwMEZCRjZGRjNGRkZEQkZGRkY2RkZCRjdGRkZGRkZGQkZFRkUKKzoxMDA0QTAwMEY3QUZGRkI3RURFRkY3RkVGRkZGREZGRkZFRkZFRkZGNTgKKzoxMDA0QjAwMEZGRkZGRkJGRjdGQzFGRUVGQkZFQkRGRjdGNUZEN0ZEMTkKKzoxMDA0QzAwMEZCNDNGRkZGRkRGRjVGRkZGN0ZGRjkzRkZGQ0ZGM0ZEQUEKKzoxMDA0RDAwMEY3N0VFRkE3RjlGRThGQTdFOUYzN0U5RkZCRjhGRkZGRkEKKzoxMDA0RTAwMDNGRkQ3RjVGREZGREZGRkY1RkZGRkQ1RkZGRkY3RkZERTQKKzoxMDA0RjAwMDdGRkQ5RkZGRTBGRkZBRjhCRTZGOUZFNkY4QkUzRjlBRDAKKzoxMDA1MDAwMEY5QkU2RjlGRTJGOUZFNkY5RkY5RkZGNUZEN0ZDRkRGMjgKKzoxMDA1MTAwMEZERkQ3RkZGRjVGRkZGRkZGN0Y1RkQwRkRCRkZEM0ZGQ0QKKzoxMDA1MjAwMEVCRkFGRkZGQkZGRkZBRkZGRkNCRkJGRUZGRkZFQkZBOEIKKzoxMDA1MzAwMEZFRkZGRkI3RkZGRkZGRkZCRkZGREZGNUZGRkZEN0ZGQTYKKzoxMDA1NDAwMEZGRkZERkQ3RjVGRjdGRkU0RkZGRkRGRjdGN0ZGRkFEOTIKKzoxMDA1NTAwMEVCRkJGRkFERkZGRkZGRkZBRkVCRkJGRkZDMERGRkZGNzIKKzoxMDA1NjAwMERGRDJGREZGRkZGREY2RkZGRjdGRkZGRjFGRkZGRkZGNTUKKzoxMDA1NzAwMEZGRkIzRjdERUIzMkZFQkYyRkVCRkFBRUJERTBGQTdFMTQKKzoxMDA1ODAwMEJGQURFQkZBRkVCRkY1N0ZGRkRFRkVFM0ZCRkZGRkZGMzMKKzoxMDA1OTAwMERGRUY0RkRGRkY3RkRGRkZGN0ZGRkZGODdGRkZGRkVGQUEKKzoxMDA1QTAwMEZCRkZGRkZGRUZGRkZGREZFREZCREZGRkJGRkZGRkZGMDUKKzoxMDA1QjAwMDgxRkZGRkZGRkYzRkZGRkZGRkZGRkVEREZFRUZGREZGQkYKKzoxMDA1QzAwMEZGRkJGRUY3RkY5M0ZERkI3RUZGRkU4N0U5RkY3RkIzOTYKKzoxMDA1RDAwMDlGRkVGRUZGQUZGREZFN0UzRkZFNjdGRkZGRjdGRkZGQzIKKzoxMDA1RTAwMEZDRjdERkZERkY3RkZGRkY3RjZERkZGRkZFRkZGRjJGQUIKKzoxMDA1RjAwMEZGQkZGRkZGRUVGRkJFRkZGRkZFRkZFRkZGRkZGRUZGQUYKKzoxMDA2MDAwMEVGRkZGRkZBNUZGRkZGRkJGRkZGRUZGRkZCRkVGREZGQ0EKKzoxMDA2MTAwMEZFRkZGQkZGRkZGRjdGRkZGRUJGREZGRkZCRkZGRkY3REMKKzoxMDA2MjAwMEZDRkRGRkZGRkZGRkZGN0ZGRkZGRkZGRkZGRjI3RkZGRUMKKzoxMDA2MzAwMEZGRkZGRjdGRkZGRkZGRkZGM0ZGRkZGRkVGRkJGRkZGNkEKKzoxMDA2NDAwMEZGREZFMkZGRkZGQkZGRkZGRkZGRkZGRkZCRTdGRkZEMTkKKzoxMDA2NTAwMEZGRkZGRkJGRkZGRkZGRURFRkZERkZGRkRGRDdGNUZENjIKKzoxMDA2NjAwMDdGNURGREZGN0ZERjk3RjRGRDdCNUZGRkM5RkZGQkZFMzIKKzoxMDA2NzAwMEZGQkZGRjVGRkZGRkY3RkZFRkZERkZFRkZGRkZGRkZGOTQKKzoxMDA2ODAwMEZGRjdGRkQ3RkQ3RDdGRkZGRkZGRkZFRkRGRjdGREZGRTgKKzoxMDA2OTAwMEJCRkZGRjdGRkZGRUUzRkZGOUZFN0ZCRkVGRkJGRUZGMjcKKzoxMDA2QTAwMEJGRjlGRUZGOUZFRkY5RkVGRkJGRjNEQUZGMzdDREYzOEYKKzoxMDA2QjAwMDdDREYzN0NERjM3RjM3Q0RGMzdDREYzN0NDRjM3RjVBNDgKKzoxMDA2QzAwMEJERjZGREJGNkZEQkY2RkRCRjZGREVGREJGNkZEQkY2NzYKKzoxMDA2RDAwMEZEQkY2RkZFRjE2RkVCN0FERUI3QURFQjdBREVCN0FGNDEKKzoxMDA2RTAwMDdBREVCN0FERUI3QURFQjdGRjdFRkZGRUNEQjM2Q0RCMTMKKzoxMDA2RjAwMDM2Q0RCMzZDREVDREIzNkNEQjM2Q0RCMzZDREZDOUJGQUEKKzoxMDA3MDAwMEY3QkRFRjdBOUVBN0E5RUE3QUI3QkRFQTdCREVBN0JENUYKKzoxMDA3MTAwMENBNzI4RDkxRkZFRkZCRkVGRkJGRUZGQkZFRjdFRkZCMTEKKzoxMDA3MjAwMEZFRkZCRkVGRkJGRUZGRkU4N0ZGRjZGREJGNkZEQkY2QjAKKzoxMDA3MzAwMEZEQkY2RkY2RkRCRjZGREJGNkZEQkY2RkZFNEZGRkJGNjYKKzoxMDA3NDAwMEVGQkJFRUZCQkVFRkJCRUZCRUVGQkJFRUZCQkVFRkJCMDYKKzoxMDA3NTAwMEVGRkM1RkZGRkZGRjNGQ0ZGM0ZDRkYzRkNGRkNGRjNGMEUKKzoxMDA3NjAwMENGRjNGQ0ZGM0ZDRkZEOUZGRUJGQUZFQkZBRkVCRkFGNjUKKzoxMDA3NzAwMEVCRkVCRkFGRUJGQUZFQkZBRkVCRkZFMTZGRkRGRjdGMUMKKzoxMDA3ODAwMERGRjdGREZGN0ZERkZERkY3RkRGRjdGREZGN0ZERkZGOEYKKzoxMDA3OTAwMDdBQkZGQkZFREZCN0VERkI3RURGQjdGQjdFREZCN0VEOTkKKzoxMDA3QTAwMEZCN0VERkI3RkZDOUZGRkZCRkVGRkJGRUZGQkZFRkZCMjUKKzoxMDA3QjAwMEZGQkZFRkZCRkVGRkJGRUVGQkZFQkJGRkZFRkZCRkVGODkKKzoxMDA3QzAwMEZCRkVGRkJGRUZGRUZGQkZFRkZCRkVGRjNGQ0ZGRkU3RUMKKzoxMDA3RDAwMEZFRkZGNUZENzc1REQ3MzVERDc3RDdGNUNEN0I1REQ3QUUKKzoxMDA3RTAwMEY1REQ3N0ZFMjdGRkZGOEJFMkY4QkUyRjhCRTJGOUFGMzYKKzoxMDA3RjAwMDhCRTJGOEJFMkY4QkUyRjlGRTFGRkY1RkQ3RjVGRDdGN0UKKzoxMDA4MDAwMDVGRDdGNUZGNUZEN0Y1RkQ3RjVGRDdGNUZGRkEzRkZFQjYKKzoxMDA4MTAwMEJGQUZFQkZBRkVCRkFGRUJFQ0JGQUZFQkZBRkVCRkFGODMKKzoxMDA4MjAwMEVCRkZGRTdGRkQ3RkZGRkZGRkZGRkZGRkZGRkZGRkZGRUYKKzoxMDA4MzAwMEZGRkZGRkZGRkZGRkZGRTZGRkZBREZGN0ZERkY3RkRGQjAKKzoxMDA4NDAwMEY3RkNGRkRGRjdGREZGN0ZERkY3RkRGRkY1RkZGRkZGQTEKKzoxMDA4NTAwMEZGRkZGRkZGRkZGRkZCRkZGRkZGRkZGRkZGRkZGRkZGQUMKKzoxMDA4NjAwMEZGMDJGRkZFQkZBQkVCRkFCRUJGMjNFQkRFMUZBRkVBMUEKKzoxMDA4NzAwMEZBRkVBRkFGRUJGRDk3RkZGM0ZDN0IxRkNGRjFGQzdGRTAKKzoxMDA4ODAwMDFGRjFGQzc3MUZDREYxRkNGRjFGRkU4N0ZGQUZFRkZBRDIKKzoxMDA4OTAwMEZFRkZBRkVGRkFGREJGMkJGQjdFQkZCRkVCRkJGQkZCMDkKKzoxMDA4QTAwMERGRkZGQkY3RkZGRjdGRjdGN0ZGRkRERkZFRkNERkZGNUEKKzoxMDA4QjAwMERGRkZGREZGREFCRkZGQkJFRkZCRjlGRkJFRUZGQkZCODYKKzoxMDA4QzAwMEJGRUZGQkZFRkZCRkVGRkJGRkY3N0ZGREQ3RkZGRjdGMTMKKzoxMDA4RDAwMEZGRkZGRkZFRjdGRkZFRkZGN0ZGRkY3RkZGRkZFQ0ZGQ0QKKzoxMDA4RTAwMEZGRkVERkJGRkZGQkZFRkZCQjY4QUUxRkFFRkJGQkZGRTMKKzoxMDA4RjAwMEZGQkZGRkQ1RkY3RkZGRkZGN0ZFRkVGRkJGRUY5RkZEQUUKKzoxMDA5MDAwMDdGRkZDQkZGRkZERkZGRkZCQkY3QkZGRkZGRkZGRkRGNzcKKzoxMDA5MTAwMEZGQkZGQkZGRkZGRkRFM0ZGRkZGRkZGRkZGQTdGRkZGNjQKKzoxMDA5MjAwMEZGRkZFRkZGN0ZGQkZERkI3RkZGRkZGRkZGQ0ZGMzdDQjAKKzoxMDA5MzAwMEZGN0Y4RDdGRkZGRkZGRkZGQkZGRjdGQkZFRkRGRkZGNEMKKzoxMDA5NDAwMEZGRkZGN0ZERkY3RkZEMUZGREZGRkZGRkZGQkZERkZGODUKKzoxMDA5NTAwMEZGRkU1Q0ZGNkRGRjdGQUJFN0YxRkZGRDlGRkZGRkFEOEIKKzoxMDA5NjAwMEVCN0EzRjFGRkZGRkZFQkZBRkYzREVGNUZGOEZGQkRGMkMKKzoxMDA5NzAwMEU2N0ZGRkRGRjNGREZGN0VGRkZGRkZGRkZGRkRGN0YzRTUKKzoxMDA5ODAwMDdGREZGN0VGRkZGNjNGOUZERkZGRkZFRUZGRkZFRkZCOUQKKzoxMDA5OTAwMEZGRkZGOUZCRkU0RkJGRUZCQkZGNjlBRkFGRkNGRjNGQUYKKzoxMDA5QTAwMERERkZGQ0JGOEZGRkZERjNCRkVEOUVGQ0JGNkZGNUQzRjYKKzoxMDA5QjAwMERGRkZEQkQ2RjVFRkZERkVGRkI5RkYxRkQyQTlBRkZGQ0EKKzoxMDA5QzAwMERCRjdCRkVGNDZGRkZGQURFQjdBREZFRkY3RkY3RkY3MTcKKzoxMDA5RDAwMDlGRURGRjdGRkZBREVCN0ZGNTZGRkZGREZCRDZGNEY3REIKKzoxMDA5RTAwMEZCRjk3RTdGRkY1RkMyRkVCRkZERkIzM0RGRjk1QkZGREMKKzoxMDA5RjAwMEZGREQ2NzdEQ0ZFRkRCRUNGRjc3RERGN0ZERkZGRkRFOEYKKzoxMDBBMDAwMEE3QkZENDlGRkZGRkJGRUZGRUZGREZFRkJCRkZGRkVGRUUKKzoxMDBBMTAwMEVCRkFGRkVGQkRGQkZGRTI3RkZGREZERkY3RkRCRkJCQzAKKzoxMDBBMjAwMDczRjdGRDdGREZERUY3QkZFQURCRjZGRkQ2RkZGRjY2NzkKKzoxMDBBMzAwMEZGQkVGRkJGNkJEOUY2REZGRkZCN0U3RkI3N0VGRkZFRjkKKzoxMDBBNDAwMEZGQ0RGRkZFN0ZGRkZDRkQzRkZCRkJGN0ZGRkZGQkY2NEIKKzoxMDBBNTAwMDdERkU3RkZGRkNGRkI5RkZGOUZBRkVCRkFGNUJENkVENkQKKzoxMDBBNjAwMEFEN0JGNkY5QkZFRkY4RkFGRUJGRkVFNkZGRkZGN0ZEM0MKKzoxMDBBNzAwMEZGN0ZCRkVGRjNGRkZGNkZGN0ZFRkZGRkY3RkRGRUY3MEUKKzoxMDBBODAwMEVGRkZGQkVGRkI3RURFRkVGRkJGRkZGRUZGRkZGQkZGODYKKzoxMDBBOTAwMEZGRUZGQjZGRkMxRkZFRTdGRkZGRkZFRkZGRDNCNEJCRDEKKzoxMDBBQTAwMEZGRkZGREJGNkZFM0ZFRkZCRkZDQkZGN0NGRjdGREZGMEEKKzoxMDBBQjAwMDJGREZBQkVBRkZERkU3RUE5QUFGRUZGQkZFRkZGNTNGODAKKzoxMDBBQzAwMEZEN0VGRkQ3RjVGQkZGRkRGN0ZGN0ZGRUY3RkRGRkQ3QUMKKzoxMDBBRDAwMEZGRDc3RkVFN0ZGQTc5RkUyRjhCRTZGOUZFM0Y5RUY5NzYKKzoxMDBBRTAwMEJFMkYwQkU3RjlGRTJGOUZGREZGRkU3RDdGNUZEN0ZGMzcKKzoxMDBBRjAwMEZGN0ZGRkZERkY3RjVGOTdGRkZEN0Y1RkZGRTNGRkZGNEUKKzoxMDBCMDAwMEZBRkVCRkFGRkJGQkZGRkZDRkVCRkVCRkFGRkZGQUZFNkUKKzoxMDBCMTAwMEJGRkY4N0ZGRkZGNUZGRkZGRkZGRkRGRjdGRkZGRkZGMjkKKzoxMDBCMjAwMEZCRkZGRkY1RkZGRkZFMEZGRkZERUJGRkZGRjdGRkVGMDIKKzoxMDBCMzAwMDdCREZGRUZGRkZERkY3RkRFQjdGREZGRjVGRkZGRkZGRTgKKzoxMDBCNDAwMEZGRkRCRkZGN0VGQUJGQzdEQkY3QkQzRkZCRkZGNkZGMzAKKzoxMDBCNTAwMEZBQUZGRkVCRkFGRTNGMkZFQUZBM0VBREM5QkFGNkFEQTcKKzoxMDBCNjAwMEFGRUJGQUY2QkZGRTdGRkZGRkZERkZGMTdGM0ZDRkYxNTYKKzoxMDBCNzAwMEVGRkY3RkZGQkNERkRGRjdEREZGRTA3RkZGRkZGRUZGNjIKKzoxMDBCODAwMEZBRUNCQjdGNUZGRkZCRUNGRkVGQjdGRkY3RkZGRkI1QjIKKzoxMDBCOTAwMEZGRkY3RkZGRkZGRkVFREY1RkRGREVGRkFFRTc3N0ZGRTgKKzoxMDBCQTAwMEZGREZGN0ZGRTNGRkZBQkJGRUZGQUZGREZCRkVCRkFCQ0UKKzoxMDBCQjAwMEY5RkVGRkJGN0ZCRkZFQkRGRUQ3RkY5RkZERkZCRUVGNkIKKzoxMDBCQzAwMEZGRUVGREJCNUJFRkZGN0ZFRkZGRUZGRjdGRkY0RkZGMTAKKzoxMDBCRDAwMEVGRkJCQ0ZDRkZGRkZGRkVGRUZERkFGRUZCRkZGREYzOUIKKzoxMDBCRTAwMEZCRkZGODVGRkZGRkQ3RjVGRERGRUZGRkYzREM1RkNFMjQKKzoxMDBCRjAwMEY1QkRGRkZGRDdGRkZGRjkzRkZGREZGN0ZGRkVGRkZENkEKKzoxMDBDMDAwMEZGRkJGRkY3Qjk3REZFREZGRkZGRkZGRkY5N0ZGRkZFNzAKKzoxMDBDMTAwMEZGRkY3RkZGRkVGRkZGRjdGNkZGQkZGMUY4RkZGRkZGQ0IKKzoxMDBDMjAwMEZGRTBGRkZGRkZGRkY5RkZGRkZGRkZGRkVGRUZGRkZGMTkKKzoxMDBDMzAwMDlCRkI3RkZGRkZGRkMxRkZERkZGM0Y1RkQ3QkZFRkJCMjYKKzoxMDBDNDAwMERFRUVGRjdGREZGRkZFRjU3RkRGRkY5OUZGRkZGQUZGOUMKKzoxMDBDNTAwMEJGRkRFQjdBRkZCN0ZFRkVGRkZGRUZGRkZGRkRCRkZGMUIKKzoxMDBDNjAwMDk3RkZGREY3RkY3RkY3RkZGRkZENUZGRUYzRjlERkRGODMKKzoxMDBDNzAwMEZGRkZGQ0ZGRkY4M0ZGRkZGRUZGOUVFQ0ZCRUVGRjlGRUQKKzoxMDBDODAwMEJGRUZGRkZFRUQ3QkZGRkZGRkYxNUFGRkZGRkRGRjdDOTMKKzoxMDBDOTAwMDY5M0JERkZGN0YxRkRGRkZGREJBRkZGRkZCRkY1QkJEOEYKKzoxMDBDQTAwMEZGRkZGRkZGRDdCNkVERTlGRkQ2QkQ2RjVGRkJGRkVGOUMKKzoxMDBDQjAwMEZGNUZGRUY2NkZGRkZGRkZGRkY3RUI3QURGRkY5RjdGMUYKKzoxMDBDQzAwMDdGRkZCN0ZGRkZGRURGRkY2Q0ZGRkJGRkJCNkZFQkZFOUQKKzoxMDBDRDAwMENDRjdBNUZBNUNGNTc1QkJCN0RGRkU2RjVGQzVCRkZENEUKKzoxMDBDRTAwMDdCRkVGRjk1RTcyOUNGNEZGNTkxRUU2QkRGRUZGRDU0Q0IKKzoxMDBDRjAwMEY1QkRCMUZGRUZFRUZCQkVCRkFGRkVERUJENkZEQUYyQkEKKzoxMDBEMDAwMEZGQUZCRUZGRkZGRDdFQTdGRkY3RkZCRkVGN0JGNkZENDYKKzoxMDBEMTAwMEJENEFGMjg1ODVCRjVCRkVCNUZERkFGRjRGRkZGRURGRTIKKzoxMDBEMjAwMEZGRURGRkJGRkZCRjdGRkVGRkI3NkRGRkY3QkZCRkVGNTgKKzoxMDBEMzAwMEZEMUZGRkZFN0RGRjY3RkZGRkZGM0Y3RkZFQkZGRkU3NTkKKzoxMDBENDAwMERGRTdGRkVGNkJGQzFGRkZCRkVGRkJGRURFQkZBRkZBN0QKKzoxMDBENTAwMEZGQjZFRkY5RkVGRjhGRUZEQkVGQUI2RkZCRkVGRkZGQTAKKzoxMDBENjAwMEVGRkRGRjdGRkZGRkRFRkZGRkVGRkZGRkZGM0ZGRjZDQTkKKzoxMDBENzAwMEZGQkZGQkZGRkVGRkZCRkVERkZGRkZFRkZGRkZCRkZGM0QKKzoxMDBEODAwMEZGRkVGQkZGRDU3RkZGRkZFRkZCRkZGRkJGRUY0M0I1OEMKKzoxMDBEOTAwMEZENkZDRkQ2QkUzRjdGREJGRUMzRkZGREZGQUZFQkZCOUEKKzoxMDBEQTAwMEZDRkYzRUVGRThGQUJEQ0RBQUZFRkU3RENGRkZCN0ZGMDgKKzoxMDBEQjAwMEY3RkZGRkZGRkRGRjc1Q0Q1MkQ3RkRGQkY3RERGQkVGMjIKKzoxMDBEQzAwMEVCRkZGRjRGRkZCRjlGRTdGOUZDN0Y4QkMzRjlBRjhGQUUKKzoxMDBERDAwMEU3RTlCRTdGOUZFNkY5RkM1RkZGRkZGN0ZERkY3QTVGNjMKKzoxMDBERTAwMEQ3RURGRkZGRDdGRkREN0ZFN0ZGRkNGRkZDM0ZGRkZGRjUKKzoxMDBERjAwMEZGRkJGRkZFQkZBRkZGRkRGRkVGRkZFQkZGRkZGRkZGQkUKKzoxMDBFMDAwMEZGRjc3RkZGN0ZERkZGRkRGRDdGRkVGN0ZEN0ZERkZGNDkKKzoxMDBFMTAwMEZERkZGRkRGRkJGRkVFRkZGQkZGRjdGREZGN0FERkY1RDYKKzoxMDBFMjAwMEZERkFERkY3RkNGRjdGREZCRkVERkZDOUZGREZGRkJGOEMKKzoxMDBFMzAwMDJGRkJGRkJDQURGRkY3RkZGRkVGRDNGRjdEQkY2RkZGQzEKKzoxMDBFNDAwMEZBRkZGRUJGQUVFQUZBQkVBREE1RUJDRUJGQTdFQjVBRTYKKzoxMDBFNTAwMERFQkRBRjZCRkQ1N0ZGRkZGNDdGMUY3RkZERkY3RjM2QzkKKzoxMDBFNjAwMEYwREY3OUZGRkZGRkY3RkRCRkZGODdGRkZCRjNGQ0ZGMUMKKzoxMDBFNzAwMEZGRkZGRjdFRkZCRkRGRkZGRkZGRkZGRkZEQkZGODlGMEMKKzoxMDBFODAwMEZGRkZGRkZGQkZGRkZGRkRGN0ZDQkRGRkZFRkZGRkZGMDIKKzoxMDBFOTAwMEZGRkZGQkY5QkZGRkZGRUJFMkZFRkZCRkVGQTlCQTJGOTkKKzoxMDBFQTAwMEVCRjlGRTc3REZGN0ZGRkZGOTdGRkZGRjdGRUZEN0ZGNUIKKzoxMDBFQjAwMEZERkZGQkY1RkZCRjZGREZGRkZGRkRGRkZGRjBGRkZGNTMKKzoxMDBFQzAwMEZGM0ZDRkZGQkFFRTlCQkZFRUQ3RkVDREVGRkZERkJGRjgKKzoxMDBFRDAwMEZGRkZDNUZGRkZGRDdGNEZGREY2RDlGRjRGRDZGREJGREEKKzoxMDBFRTAwMDZFRkZGRkY0N0ZGRjdGOEJGRkZGRkZGRkY3RkZGOUZFMzEKKzoxMDBFRjAwMDM3RkZEOUZCRjVBRkZERkZGRkZCRkZGRjA3RkZGRkZGNEMKKzoxMDBGMDAwMEZCRjdGRkZERkY3Q0ZBN0U0RkZDREYxREM3RkZGRkZGRjUKKzoxMDBGMTAwMEZGQUVGRkZGRkZGRkZERkJGRkZGRkVGRUZDRkY3RjdGM0QKKzoxMDBGMjAwMEJGRUZGRUZGRkZGRjVGRkRGRkZGRkZGRDZGNUFENzdCQTcKKzoxMDBGMzAwMEJFNUZGRTM5RkZGN0ZGRjdGREZFQUExRkZGRkZGRkZGQjEKKzoxMDBGNDAwMEZFRkVBQkFGRkRGRUJGRkZGN0ZGN0ZGRThGRTNGQkVFQzQKKzoxMDBGNTAwMDdGRkZGRkZGRkZFQkZCRkZGREJGRUZERkZGRkZGRkZGQUIKKzoxMDBGNjAwMEZGRkZGRkZCRTQzRkZGREZGRkZGRkZGRkYzRUZCQkZCRjQKKzoxMDBGNzAwMEJGRUZCQkZGRDdCRkZGRkZGRjI5QUZGN0ZGRkZGQkZGQUYKKzoxMDBGODAwMEZCRTZGRjBGRkIzRkRGMEZGRkFGRkZGRkZGRjVDM0RGMDgKKzoxMDBGOTAwMDVGRkZGRkZGRkU2QkNBQkVCQ0ZGOUZGMkJGRkZGRUZBMDIKKzoxMDBGQTAwMEZGRkZFRjE2RkZGRkZGRkZGRkZDREY5N0ZENzlGRjM3MjUKKzoxMDBGQjAwMEU3N0ZGRkZGQjVGRkZGRjYyRkZGRkRGQkZFRkZGRkZEMDUKKzoxMDBGQzAwMDVGNTc1RkZGREI1MkRGRkZGREJGRkZGRkZDREJGRjdCRjcKKzoxMDBGRDAwMEI1RkQ3RkZGNzE5QzZFRkZGNjM1QTU5QkZGRkZGREZGMDIKKzoxMDBGRTAwMEZGREI5RTdGRkVFRkZCRkZGRkJERUZGRkRFQjdGOTRCQTAKKzoxMDBGRjAwMEZGRjVFRkZGRkZGRkU4N0VGRkVBREZGN0ZGRkQ2OTVCMkMKKzoxMDEwMDAwMEZDOUZFRjc4RDZGRkVCRUZGRkZGRkZFOEZGRkZFREZGNjAKKzoxMDEwMTAwMEZGRkZGRkUzRjlGNkJGRkZGRkZFREZGRjdGRkZGRkZGRUMKKzoxMDEwMjAwMEQxRkZGRkU3RkZGRkZGRkZFN0Y5RkZCRjdGRDlGRkZEMUMKKzoxMDEwMzAwMEZFN0ZGRkZFRkZGOUZGRkJENkRGQkZFRjVCRDZGRkJGRjIKKzoxMDEwNDAwMEZCRjZGRkJGRUZGOEY2RERCRUZFMTZGRkJGRUZGRkZFQkIKKzoxMDEwNTAwMEZGQkZFRkZGRkZGRjZGRkJGRkZGRkY2RkYzRkZGN0VGMzgKKzoxMDEwNjAwMEZCRkZCRkZGRUZGRUZGQkZGRkZGRkZCRUJGRkZFRkZGQjYKKzoxMDEwNzAwMDdGRUZGRkZEMTdGQjdCRkZGRkZEN0ZEQkY2RjQ3RkZBQzEKKzoxMDEwODAwMEZFRjVCRkVCRTNGN0ZGRkZFOUJGRkZBRkY3RkRGMzdFMzAKKzoxMDEwOTAwMDhGQTNFQUZGQ0JGM0VFRkZCRkVGRjdGOUZGRkU3RkZGNzEKKzoxMDEwQTAwMEZGRkZGRkY1RkJGNkZGRjUyRkZFRkJEN0JGRkZCRURGMEYKKzoxMDEwQjAwMDlGRkZGMEZGRkZGOUZFN0Y4RkEzRjhGRTZGOUZGOUY2MDkKKzoxMDEwQzAwMDJGOUZFN0Y5RkUyRjlGRTFGRkZGRkY3RkRGRjdGNUZEODEKKzoxMDEwRDAwMDdGN0ZGNUZGOUY1RkZCRkVGRjdGRkZGRkNCRkZGRkZCRTcKKzoxMDEwRTAwMEZFRkZCRkFGRkJGRUZGREZGRUZFQkZGN0ZGRkZGRkZGMTAKKzoxMDEwRjAwMEZGQzdGRkZGRkRGRjdGRERGN0ZERkZGRkQ3RkZGRDdGOTAKKzoxMDExMDAwMEZGRkJGREZGRkZGRUVGN0ZGREVGRkJGRUZCRkRGRjdGMjMKKzoxMDExMTAwMERGRkRGRjdBREZGN0ZERkZGRkZGRkYxRkZGRkZEM0Y3QzQKKzoxMDExMjAwMEZGRkY2RkRCRkZGRkVGQ0JGNEZGRkZGRkZGRkZGRkZFRDMKKzoxMDExMzAwMDI5RkZFOERBNzY5RkFGNkFEQUZFMzVFQkRBRDZCRkFCODUKKzoxMDExNDAwMEVCN0FERUJGRDc3RkZGRkVGRkJGRUZGRERGNzdCRkZEOEUKKzoxMDExNTAwMDM3RUZGRkVGRkYzRkZGRkZGRkZFN0ZGRkZGRkZGNzdFNTEKKzoxMDExNjAwMERGRkZGRkZGRkFCNzdGRkZGRkZFRkZGRkZGRkY4OUZGRjMKKzoxMDExNzAwMEZGRkZGRkZGRkZGRkZGRkZGRjlGRkJGRkZGRkZFN0ZGRkIKKzoxMDExODAwMEZGRkZGRkFBRkZBQkZCRkFFRkJGRkZERkZBN0JCOUZFNjEKKzoxMDExOTAwMEZFRkZGREZGRjdGRTNGRkZCN0ZGRjdFRUZGN0ZFRkZGMUMKKzoxMDExQTAwMEZGN0ZGRjFGRkJGRkJGRkJGRUZGQkRGRkZGMkZGRkJGNEEKKzoxMDExQjAwMEZGN0ZERkZBRkZGRkZDRUVGNUYzQkVGQjBGRUZGM0JFQTAKKzoxMDExQzAwMEVGRkM1RkZGNUFGRkY3REZGRkZGRkVENUZDNUZGQkYyOEUKKzoxMDExRDAwMEZGRkYyRkJCRjNGRkZGQkZGRkVGRkZFRkZGRkZGRkZGOUYKKzoxMDExRTAwMEJGRkZGRkZEN0JGRkRGQjlGRkZCRkZEODdGRkZGRkZGRTYKKzoxMDExRjAwMEZCRkZGQzdGMUZCRkUwREZGN0VGRkZGRDdGRkVERkZGQTAKKzoxMDEyMDAwMEUwRkZGRkZERUZGQkZGRkVGN0RGRkZFQjVGRkZGN0ZGMDgKKzoxMDEyMTAwMEZGRkZGRkJGRkZGREZGRkRGRkZGRkZGN0ZERkYzQkRDMTMKKzoxMDEyMjAwMEZENkQ3QjVGNTdGNUZEN0Y1RkZGQjFGRkVCRkZGRkZGQkMKKzoxMDEyMzAwMEZCRkJGRUZGQkZGQkJFRkZCRkVGRkJGRUZGQUZGRUY3RkEKKzoxMDEyNDAwMERGREZGRkZGRkY3RkNGRjNGOEZGRDdGQkZGNUZCRkY3QzUKKzoxMDEyNTAwMEZCRkY3RkZFMjNGRkZGRkU3RkYzRkZGQkZFRkZGRkYzOUQKKzoxMDEyNjAwMEZGRkZGNUY5RkYzRkZGRkZGMDlBRkZCRTdGRkZGQ0Y5OUMKKzoxMDEyNzAwMEZGRkRBRkVCRkVCRkZGQ0ZGM0ZFN0ZGRkZGNUJCREZGQzgKKzoxMDEyODAwMEJDRUJGRkQ3RDRBRkFGRkRGRkNGRjdGREZGN0ZERkY3OUMKKzoxMDEyOTAwMEZERkVGRjZGRkZGQkZGRkZGRkZEN0Y1RUZEQkZEQkY2ODcKKzoxMDEyQTAwMEZEQkY2RkZCRUVGREZGN0FGRkZBRkJGRjNGRkJCNzVGNzEKKzoxMDEyQjAwMEQ2RjcxRjcxREM3NzFEQzczMURDNzdERkY5QkZGNTVCMkYKKzoxMDEyQzAwMEY0RDc5REFFRkZCRkZEQkZEQkY2RkRCRjZGREJGNkZFQzMKKzoxMDEyRDAwMDNEODFGRkVCRkVGRUZFRkZFQjdBREY3RDc3N0RGNTc5NEEKKzoxMDEyRTAwMERGNTdEREY1N0Q3RUU2RkZENjNGQkY3RkZGRDRGNTNGQkMKKzoxMDEyRjAwMEJGRkJCRUVGQjNFRUZCOUVFRkJCRkU4QkZGRkVERkI3ODcKKzoxMDEzMDAwMEVERkZGN0ZERkVGRkVGQkJFRUZGQkVFRkJCRUVFQkZDMkMKKzoxMDEzMTAwMDFGRkZGRkZERkZFN0ZGRjdGREZGRUZGRUZGQkZFRkZCNDYKKzoxMDEzMjAwMEZFRkZCRkVCRkExRkZGQjdFRjVCRkVGRkFGRUJEREU3QTIKKzoxMDEzMzAwMERFNzc5REU3NzlERTc3OURCRkU2NkZGRkZFRkZCRkVGQUIKKzoxMDEzNDAwMEZCRkVGREJGNkZGNkZEQkY2RkRCRjZGREJGRkY3RUZGNEYKKzoxMDEzNTAwMEZGRkJGRUZFRkZFRkZCRkRFRjdFRjdCREVGN0JERUY3NTEKKzoxMDEzNjAwMEJERUZGRkQ1RkZCRkZGRUZGRUZGRkMzRjBGRTdGRTdGQTYKKzoxMDEzNzAwMDlGRTdGOUZFN0Y5RkU3RkVGM0ZGRkVERkFEREY2N0VFM0QKKzoxMDEzODAwMEZCQkZFRkZFRkZCRkVGRkJGRUZGQkZFRkZGMjNGRkZGNDMKKzoxMDEzOTAwMEZGRkY3RkZGRjNCQ0RCRkVGQkZGRkJCRUY3RkJGRjdGMjYKKzoxMDEzQTAwMERGRkZDRkZCRkY5RkUzRjlCRTNGOEZFNzc5RkY5REU3QUMKKzoxMDEzQjAwMEY5RkU3RjlGRTdGOUZFNUZGRkNGRjdGRkZGRkZERkY3NDMKKzoxMDEzQzAwMEZFN0ZFN0Y5RkU3RkZGRkZGQkZFRkZGRkJGRkZCRkJGMTIKKzoxMDEzRDAwMEZGRkVGRkJGRUZGRkZERkZGRkZGRkZGRkZGRjdGREZGN0EKKzoxMDEzRTAwMEZGM0ZGRkJGRkZGN0ZGRkY3RkRGRkZGRkZGRkZGRkZGQjUKKzoxMDEzRjAwMEZGRkZGRkZGRkZFOEVGRkY1RkY3QkZGOUZFREZCN0ZEN0QKKzoxMDE0MDAwMEZGREZGN0ZERkY3RkRGRjdGREZGRERGRkYyRkZCRkZGMkYKKzoxMDE0MTAwMEZGQkZGRkZGMkZGMkZGQkYyRjdCRDJGN0JGMkZGRkJCMTYKKzoxMDE0MjAwMEZGRUU4RkFGRUJGQUZFM0ZBNzY5Q0U4RkE0RUFGQUVFOEMKKzoxMDE0MzAwMEI3QUVFQkZEQzdGRkY3RjdGRkZGRkZGRkZGN0YzRUYzMDAKKzoxMDE0NDAwMDc0RkYzRjRGRkZFN0ZGM0ZGRUE3RkZGRkRGRjdCN0ZGNDgKKzoxMDE0NTAwMEY3RkZCQUVGMzdFQkZCRkVCRkZCRkVGM0ZGRjlERkZGNTEKKzoxMDE0NjAwMEJGRkZGRkZGQkZGRkZGRkZGRERGRkZGREZGRkZGQkZFMzUKKzoxMDE0NzAwMEZERkZGQkJGRkUzRkVERkZERkJFM0RBN0ZCRkEzRkU2RjIKKzoxMDE0ODAwMEUxRkVGRTNGRUZFM0RGRjU3RkZFRkY3RUZGRkZGRkZGQTQKKzoxMDE0OTAwMEVGNkZGNkZGN0RFRkQ3REVGRjdERUZGRkYyRkZGRkZGN0YKKzoxMDE0QTAwMEZGRkZGRjdCREVGQkU2RUVFRjM3NkVGMzdFRUIzN0VGMDEKKzoxMDE0QjAwMEZGQzFGRkZFRkZGN0VGRkZGRkZGQkYzRkQyREZCRjJGRjAKKzoxMDE0QzAwMDdCRTJGRkZFM0JCRERCRkZGRUZGRkZGRkZGRkZFRkZFMEEKKzoxMDE0RDAwMEZGRkJGRkZGQkZGRkZCREZGRkJGRkZCN0ZGRkZCRkVGNUMKKzoxMDE0RTAwMEZGRkZGRkZGRkZGRjBGRkY3RkZGMUZFRkYxRkRGRkY2ODUKKzoxMDE0RjAwMEFGRkZGRkZGRkZGRkVGRkZGRkZGRkU5RkZGRkZGRjc3NDUKKzoxMDE1MDAwMEVGRjdGQkZGRkU1RkZGRkZCRkNGRkJGN0RERjdGNUZGNTgKKzoxMDE1MTAwMDVGRDVGNUZEN0Y1RkQ3RjVGRkZCMEZGRkZGQTlFQTdBRTcKKzoxMDE1MjAwMEZGQUY4RkZFREZBRkVGRkJGRUZGQkZFRkZCREZFNTVGM0YKKzoxMDE1MzAwMEZGRkZGRkZGRkZCRDU3RkZGRjZGNzdCRkY3RkJGRjdGODkKKzoxMDE1NDAwMEJGRjdGRkZDQkZGRjlGRkZGRkVGRkZGRUZGRkZGRjFGODcKKzoxMDE1NTAwMENGRkZGQ0ZGRkZGRkZGRkI2NUFGRjM3Q0ZGM0ZERkZGMkIKKzoxMDE1NjAwMEZERTlGRTdGRTdGRkZFN0ZGRkZGRkZGRkZERTNERkZCRkYKKzoxMDE1NzAwMERCRjZGREVGNUJGQkZGREZGQ0ZGM0ZERkYzRkRGRjdGRjMKKzoxMDE1ODAwMERGRUY2NkZGREZBREVCN0FERUY3RjdFN0Q5RkQ5RjY3QTgKKzoxMDE1OTAwMEQ5RjY3RDlGRTdERkY1NDdGRDY1NUJENkY0RkVGRkVGRUIKKzoxMDE1QTAwMEZGNkRGNkREQjc2RERCNzZEQ0I3N0RGQTlCRjY2RDlERTIKKzoxMDE1QjAwMDY3NTlERkY3RERGRkVCRkVCRkFGRUJGQUZFQkZBRkUzMkUKKzoxMDE1QzAwMEQxOUZGRkJEQkZFRkZFRjdCRkJGRjdENzdGRERGNzlEMTAKKzoxMDE1RDAwMERGN0ZERkY3RkZFMDdGRkRDMURGRjdGREM3N0Y3RkZCMjgKKzoxMDE1RTAwMEZGQkJFQ0ZCM0VGRkJGRUNGQkZGRDg3RkJGNkNGRkJFMzkKKzoxMDE1RjAwMEZGQkZFREZGRUZGRUZCQkZFRkZCRkVGRkJGRUVGRkM1NDIKKzoxMDE2MDAwMEZGQUY2RkZGRkNGRDNGRTdGRkZFRkZFRkZCRkVGRkJGRkQKKzoxMDE2MTAwMEVGRkJGRUJGODlGRUZBQkFGRUJGQUZGQkY2RjVEOTdENDAKKzoxMDE2MjAwMDk3NjVEOTc0NUQ5NzY1RDNGRUQ2RkZCRkY3RkRGRjdGNDEKKzoxMDE2MzAwMEJGQ0ZGQkZFRkZFRkZCRkVGRkJGRUZGQkZGRjY4RkZCMTUKKzoxMDE2NDAwMEZGRUZGQjdFREJGRUZGQkVFRkVFRkJCRUVGQkJFRUZCNzQKKzoxMDE2NTAwMEJFRkZGRkRGRkY0M0ZGRkZGQkVGNUZCN0ZFN0ZFN0Y5NTIKKzoxMDE2NjAwMEZFN0Y5RkU3RjlGRTdGRjlCRkZFQUY3N0ZERkYyRkFGNEIKKzoxMDE2NzAwMEE3RkVGRkVGRkJGRUZGQkZFRkZCRkVGRkYxN0ZFRkRGRkIKKzoxMDE2ODAwMEZGOTdGNUVGRkZERkZGRkZCRkZGQkZGRkZGRkVGRkZGOEQKKzoxMDE2OTAwMEZGRTBGRkZGRjlGRTJGOEJFM0Y4QkU3NzlGRjlEQTc3QzMKKzoxMDE2QTAwMDlERTc3OURFNzc5RkRERkZGREZEN0Y1RkQ3RkRGRjdGNDMKKzoxMDE2QjAwMEU3RkU3Rjk3RTdGQkZFRkZCRkVGRkZBQkZGRUZGQUZFMTIKKzoxMDE2QzAwMEJGQUZGRkZBRkZGRkRGRkZGQkZGRjdGREZGN0ZERkZGOEQKKzoxMDE2RDAwMDY3RkZGN0Y1RkZGRkZGREZGREZGRkZGRkZGRkZGRkZGRTYKKzoxMDE2RTAwMEZGRkZGRkZGRkZFRkZGQkRFQkZGRkZGN0FERUJGRkRGRkUKKzoxMDE2RjAwMEZERkYzRkRGRjdGREZGN0ZERkZGNUZGRkY3RkZGRkZEMzAKKzoxMDE3MDAwMEJGRkZDQkY0RkY3RkQzRjdGRDNGN0ZEM0Y3RkZGQzNGNTUKKzoxMDE3MTAwMEZGRUFGQUJFQUZBQkVCQkFGNDk1NkI1MkQ0QUQyRjRBRTkKKzoxMDE3MjAwMEQyRjZCRkQyN0ZGNzNGRkZGRkYzN0ZGRkZGRjdGRkJBOEQKKzoxMDE3MzAwMERGRkJGREZGQkZGRkZCRkZGODdGRUFGRkZFRkVERkZGRTEKKzoxMDE3NDAwMEY3RkY3RkJCRkZGRkJGREZGQkZGRkZCRkZGQjE3RkZGRTcKKzoxMDE3NTAwMEZCRUZGRkZGRkZGRkZGQkZDRkZFRkZGRkVGRkZGN0ZGMzYKKzoxMDE3NjAwMEZGRkZGMUZGNjlCRUZBQkZBRkUyRkZGRUZEQUZGM0ZFODAKKzoxMDE3NzAwMEZGQkZFRkZCRkNGRkZGMDdGRDk1REJERjdGREZBRkZGNjgKKzoxMDE3ODAwMEY3QUYzNkZFQkY2NUVCRjZGRTlGNkZGRTA3RkZDRkZGOUMKKzoxMDE3OTAwMEY4RkVGRkNGRkZGNkZBRTdGQkZFRkZCQkVERjlGRkZGMTgKKzoxMDE3QTAwMEZGNUZGRkZGRkY3NUZGRUY3RUZERTBFODVFRDNFNUY5MjkKKzoxMDE3QjAwMDNFNUZEN0Y3RkZGQTJGRkJGRkZGRkZGRkZFRkZGRjdGMjQKKzoxMDE3QzAwMDdGRDdGNTdENUY1N0Q1RjVFRkZGRjM3RkZDN0ZGRkM3MzAKKzoxMDE3RDAwMEYxRkZGRjFGQ0ZCMEZGM0ZDRkYzRkNGRjNGQ0VGRkU0OTEKKzoxMDE3RTAwMEZGREY3RkZFRjdCQkZGRkZERkVGRUVGRkJGRUZGQkZFOEMKKzoxMDE3RjAwMEJGQkZFRkZGRDFGRkZGRkZGREZCRkZGREZGRkI5RkU5MzkKKzoxMDE4MDAwMEZFN0Y5RkU3RjlGRTdGQkZGRkIzRkZGRkY3RkZGRkFGNEMKKzoxMDE4MTAwMEY3RkZCNjNGRUJGQUZFQkZBRkVCRkFGRUJGRkVBN0ZGNDYKKzoxMDE4MjAwMEZGRkZGRkZGRjdGRkZGRkZGRTlGRjdGOUZGN0Y5RkU3MzcKKzoxMDE4MzAwMEZGRkZGRUFGNkZGRkZGRkY5RkZGREZGRjdENUZEREZGNUQKKzoxMDE4NDAwMEZCQkZFN0JCRkZGQkRGNkQ1RjdFRkZGRkZGRkZGRkZGMUYKKzoxMDE4NTAwMEVCRjdGRkU3RUZGN0ZGRkY3RkZGRjdGRkZDOEZGRkVGRUYKKzoxMDE4NjAwMEZERkVGRkJFRjRGMjdERDdDRkZGM0ZGRkZGRkZGRkZGN0UKKzoxMDE4NzAwMEZGQ0Y2QkZGQkYzRkZCRjJGQzdGRUJGRjlGRkFGRkZGNDkKKzoxMDE4ODAwMDNGRkZGM0ZGRkZGRDcwRjdGRkZGQkZGRkZCRDdGRUY1NDQKKzoxMDE4OTAwMDc3RkYxNURENzdGREZGN0ZERkY3RkJDREJGRkZGREZGOTYKKzoxMDE4QTAwMEZGREYzN0NERjlFQ0ZFRUZCQkY0RkIzRjRGQjNGRkZEOUQKKzoxMDE4QjAwMENCRkZFOTdFNTQ5RkU1NEJCN0ZGREQ3REM3NzFERDc3MzgKKzoxMDE4QzAwMDVERDc3NUNEN0ZENkZGRDNGNkY5M0Y2RDk1QUY3RkZFMUYKKzoxMDE4RDAwMEZGRUZGQkZFRkZCRkVGRkJGRUY2QzdGRkFEN0JDQUZGQ0UKKzoxMDE4RTAwMEJGQkZFRkZERTNERkI3RURGQjdFREYzN0VERTNGQkRGRUYKKzoxMDE4RjAwMEZGNTI1QzE1RkRDRjdGREZGRUVGRUZGQkZFRkZCRkVDN0QKKzoxMDE5MDAwMDdCRkVGRkZFM0U3RkRBRjdGREZGN0ZGRkZGRkJFRkJCQjUKKzoxMDE5MTAwMDZGRkJGRUZGQkZFRkZCRkZGNzdERkZEOEZGRkRCRjdGMzMKKzoxMDE5MjAwMEZCRkZGRjlGRkJGRTdGOUZFN0Y5RkU3RjlGRUE3RkY2QUQKKzoxMDE5MzAwMEJGQkQ2QTVBRjZFNUJGNzc1RjZEREQ3NzVERDc3NUREQjAKKzoxMDE5NDAwMDc3RkZBNUJGQ0ZGQkZGRkZCRkNGRkJGREZGQkZGM0ZFQzAKKzoxMDE5NTAwMEZGQkZFRkZCRkVGRkZEQUJGRkJGQkZGRkZCRkY3RkVGNTYKKzoxMDE5NjAwMEZGQkVGQkVFRkJCRUVGQkJFRUZCQkZGRkI1RkZEMEJDODcKKzoxMDE5NzAwMEZEMkY0QkY3RkZGRjlGRjlGRTdGOUZFN0Y5RkU3RjlGNEIKKzoxMDE5ODAwMEZBOEZGREFCRkFEQUJGQUZCM0ZERkZCRkZCRkVGRkJGQkYKKzoxMDE5OTAwMEVGRkJGRUY3QkZGRjlGRkY3N0Y3QkRGRDc3REZGRjdFMTEKKzoxMDE5QTAwMERGRURCQkZFRkZCRUVGRkJGRUZGRkEzRkZGQkU2RjhGMUEKKzoxMDE5QjAwMEU2RjlGRTdGOUZDN0ZFN0Y5RkU3RjlGRTdGOUZFN0ZCNkIKKzoxMDE5QzAwMDdGRkY3RkNGRkZGREZGRkZERkZCQUZCRkVGRkZGRUZGMUUKKzoxMDE5RDAwMDlGRUZGQkZGRkNGRkZCRkVGRkZGRkZGRkZFRkZGRkY3OUMKKzoxMDE5RTAwMEZGRkZGRkZGRkZGRkZGRkZGRkY1RkZGRkZGM0ZERkY3RjkKKzoxMDE5RjAwMEZGRkY3RkVGRkVGRkJGRkZGQkZGRkZCRkVGRkZCMzdGRTgKKzoxMDFBMDAwMEZGN0I1RUY3RkRGRjdCN0ZGN0ZGN0ZERkY3RkRGRjdGNEIKKzoxMDFBMTAwMERGRjdGRjE3RkZGRkZGN0ZGRkZGRERGNkZDQkZDQkYyMTUKKzoxMDFBMjAwMEJDQkYyRkNCRjJGQ0JGRkU4RkZGRkE3RUJGQTdFQkRBNjUKKzoxMDFBMzAwMEZDQkZBRjdBRkVCRkFGRUFGQUZFQkZBRkY0REZGRUZGMzYKKzoxMDFBNDAwMEYzM0M3RjNFRkZDRkY4QkY4RkUzRjhGRTNGOEZFN0U4MjAKKzoxMDFBNTAwMEZGRkM5RkZGRkZDRkVCQjNFN0ZCN0JGM0ZFRkZDRkRCOEEKKzoxMDFBNjAwMEZCRkJCRjZGNkZERkVDN0ZGRkZGRjdGREZERkZGRkZGQUQKKzoxMDFBNzAwMEZGQjJCRkZGREVGREJERUZGQkY2REZFQUU3REJGRUJCM0IKKzoxMDFBODAwMEZGRUJGQkJGOUY4RkU4RkUzRjhGQTNGOEZFM0Y4RkZGNkEKKzoxMDFBOTAwMEY4N0VGREZEN0ZGRkZCQ0RGRkZERkY1RkVGRkRGRkZGNEMKKzoxMDFBQTAwMERGRjdGREZGQkU5MEZGRkZFRUZGM0ZCRkYzQkJGRUI3Q0EKKzoxMDFBQjAwMEFCRkFGRUFGQURFQUZBREVBQkZGNjNGRkZFRjJGRkIzQjcKKzoxMDFBQzAwMEZGREZFRTdERkYwM0YxRjQzRjFGQzNGMUVDN0ZGRTZGRkMKKzoxMDFBRDAwMEZGRkJGQkZGOUZGRkJGRkY3QjVGRkRGRkRGRjdGREZEMTAKKzoxMDFBRTAwMDdGN0ZERkZFQ0ZGQkZGRkZBRkZCRkYxRkVGQTVGREJGM0IKKzoxMDFBRjAwMERGRkI3REZGQkZERkZCRkZGRDNCRkZGRkZGRkZGRkZEQzgKKzoxMDFCMDAwMEFGRjNGRkZCN0ZCRkQ3RkJCRjdGQkJGN0ZGRjg3RkZGQzQKKzoxMDFCMTAwMEZBNUZEN0ZGREY3RkVGRkZGRjdGREJGN0ZERkY3RkRGQTAKKzoxMDFCMjAwMEI3RkJFQ0ZGRkZGN0JGRUZGREZDRkJGRkVGRjBGRTNGNjUKKzoxMDFCMzAwMDhGRTNGOEZFM0Y4RkVGOERGRkZGRUY3RkJGRkZGQkZGQ0YKKzoxMDFCNDAwMERCQkZGRkZGRkZGRkZGRkZGRkZGRkZFRkQ4RkYyRTdGOTEKKzoxMDFCNTAwMEJFRUZGRTZFRkZCRkY5RkZGRkYzRkZGRkZGRkZGRkZGQ0EKKzoxMDFCNjAwMEZDNjZCRTQ3RjM3RkRGRkU4NzlGRkZGRkZGRkZFN0ZGQjcKKzoxMDFCNzAwMEZGRkZGRkZGRkZENjZGN0NGQjRGRDJGRkZEMkJGRUZGNjkKKzoxMDFCODAwMEZGRkQ1RkQ3RDVGNTdERkZGRkZGQkY5QkZGRkZERkI3RjEKKzoxMDFCOTAwMEZGRkZERkZGM0ZDRkZFN0ZCRkVGRkJGQ0ZGM0ZGRkQ5MjMKKzoxMDFCQTAwMEJGRkU5N0VDOEZCN0ZFOUI3REZEQjdERDc3MURDNzcxM0MKKzoxMDFCQjAwMERENzc1REQ3RjM2RkZEM0Y3M0REQUZGRDdBRkZGRkFGREMKKzoxMDFCQzAwMEZFRkRCRkVGRkJGRUZGQkZFRjY2N0ZGRkZGQkZCRkZGNjYKKzoxMDFCRDAwMEZCRkZGN0RGRkRGQjdEREZCN0NERjM3QzVGM0Y5MTNGODAKKzoxMDFCRTAwMEZGM0RFRjdCRkZGQ0ZGQ0FFRkZFRkZCREVGRkIxRUU3RjMKKzoxMDFCRjAwMEJCRUM3RkIzRkZGRDlGRkZGRkZFRkZGRjdGQkZGQkZFNDAKKzoxMDFDMDAwMEZGQkZFRkZCRUVGQkJGREY2N0ZGRkZCRkVGREJGRkJDRkMKKzoxMDFDMTAwMEZFN0ZGQkZGOUZFRkY5RkU3RjlGRTdGOUZFODdGRkVFNTgKKzoxMDFDMjAwMEZCQkVFNUJGRUZGOUQ3NjVGN0RERTc3RERGNzc1REQ3NzEKKzoxMDFDMzAwMDdGRjg5QkZFRkZCRkVGRkJGRkZGQkZFRkZCRkY3RkNGRjgKKzoxMDFDNDAwMEYzRkNGRkJGRUZGRkRCM0ZFRkZCRkVGRkRGRkZGRUZCMjEKKzoxMDFDNTAwMEJCRUZCRkVGQkJFRUZCQkVFRkJCRkZGQzdGRkQzQjVCMTMKKzoxMDFDNjAwMEQ2RTVGRDRGQzNGQkZGQkZFRkZCRkVGRkJGRUZGQkZGNjIKKzoxMDFDNzAwMEI0RkZGQUJDOEZCMkU5RDIyRUNGRkJGRkJGRUZGQkZFNjEKKzoxMDFDODAwMEZGQkZFRkZCRkZFQ0ZGRkRGRDdGREZGN0U0REY1RkZGNTIKKzoxMDFDOTAwMEZGRkJGRkZGRkZGRkZGRkZGRkZGQzNGRkVGRTZGOEZFQzUKKzoxMDFDQTAwMDNGOEI4M0Y5RkU3RkU3RjlGRTdGOUZFN0Y5RkU3RjE3MDEKKzoxMDFDQjAwMEZERkZGRkZGN0Y1RkY3MkNGRkZGRkZGRTdGRkZFN0Y5RDAKKzoxMDFDQzAwMEZFN0Y5RkZFMkZGRkZGRUZGRkZFQkZFRkFERkZGRjdGMDkKKzoxMDFDRDAwMEZGRkZGRkZGRkZGRkZGRkZGRURGRkZERkZGRkRGRDdGRDkKKzoxMDFDRTAwMERGRjdGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkEzRkZFRjIKKzoxMDFDRjAwMEY3RkRFRjdBRkZCMUJERkY3RkY3RkRGRjdGREZGN0ZENTcKKzoxMDFEMDAwMEZGN0ZGMzI3RkZERkZGRERGRkZDOUJGRkNCRkNCRjJGMzcKKzoxMDFEMTAwMENCRjJGQ0JGMkZDOUZGREVGRkRGQUZFQkRBRkVCQkFGQkMKKzoxMDFEMjAwMEVCRjhGN0FGRThGQUZFQkZBRkVCRjJGRkZERkZGRkVGMTYKKzoxMDFEMzAwMEJERDdCRkZGRkZERThGQjhERTM3OERBMzc4REEzRjhGQzgKKzoxMDFENDAwMEZGQTFGRkZGRkJGQkZGRkZGRkZGQTdCREZCNzZGREJGNzIKKzoxMDFENTAwMEVGREJGRUJCQkZGRTI3N0ZGRkZFRkVGREY1RkZFRkY1Q0QKKzoxMDFENjAwMERGMUZFN0ZERkY3RkRGRjdGREZGRkZDREZEQUVGRkZBRDEKKzoxMDFENzAwMDNFM0ZBQkZERjg3RThGRTNGOEZFM0U4RkUzRjhGRkZFQkIKKzoxMDFEODAwMDFGRUZERkJGRkVERURGRDlGRkRGQkNGRkZGN0ZGRkVGMEUKKzoxMDFEOTAwMEZEN0ZERkY3RjkzRkZFRkZGRjZGRkVERUJGRjdFREVBRTUKKzoxMDFEQTAwMEZEOEY4M0Y4RUEzRjhGRUZGRkY0N0ZGRkVGRUY3QkYzQzgKKzoxMDFEQjAwMEYxNUZGRkZGRjEzQjdGREZGN0ZERkZGRkZGRkZFMEZGN0MKKzoxMDFEQzAwMEZGRkZGN0ZGNkZGRjdGRkZGRkY3REVGN0JGRUZGQkY3QzgKKzoxMDFERDAwMEZERkZGRkY1RkFGRkZGRkJFN0ZGRjNGODdGRjNERkZGRkYKKzoxMDFERTAwMEZGRkZGRkZGRkZGRjFGRUZCQkZGRkZGRkZGRkZGRkZEMzkKKzoxMDFERjAwMEZGN0ZGRjlGRkZGRkZGRkZGRkZGRkZDRkZGMzdGRkZGQ0IKKzoxMDFFMDAwMDdGREY3NzVERTdGQ0ZGQkZGN0Y1RkJGRkZGRDdGNUZCNTMKKzoxMDFFMTAwMEZGRkY0NUZEN0ZFQUZEQkVCRkRGRjdGRkZGREJGQkZFRjcKKzoxMDFFMjAwMEZGQkZFRkZGRkZGRkZCNUY3RkZGRkVGRkZGRkZGRkZGMzcKKzoxMDFFMzAwMEZGRkVGRkVGRkRGRjdGREZGRkVGRkJGODBGRjNGRkY5ODIKKzoxMDFFNDAwMDJFRkJGRUZDRjNFRkZGRkZCRkZGRkJFN0ZGRkU3RUZGNzUKKzoxMDFFNTAwMEMwNkJDRkZGMzRERkYxRkRGRkVGRkZGRkZGREZGN0ZEQ0EKKzoxMDFFNjAwMENGN0Y5Q0ZERkQ2Q0Y3RkZGNkZERUIyQjlGRkZGQ0ZFOEIKKzoxMDFFNzAwMDdFRkZGRkZGRkZEN0YzRjdGRkZCRTFCRkZGRUI3QURFNEIKKzoxMDFFODAwMEQ3RkJGRkY5RkVGRkZGRjNERTdGRkRFNzdGRkZGREJCMjIKKzoxMDFFOTAwMEZGRkY3RUNDRjZBRjVGN0ZGRUY0N0RGN0ZEQkI2RURCMTAKKzoxMDFFQTAwMEI3RkZGN0RGNjZGRkZGRjczRENGREVCREZGRkZERURCRUQKKzoxMDFFQjAwMDhERjc3RURGQjdFRjdGRkZGNjg3RkZGRkVGRkVERUJGMTgKKzoxMDFFQzAwMEZGRkZGRkJCRUZGREZGN0JERUY3M0ZGRkJGRkJEQkZGNEQKKzoxMDFFRDAwMEYyQjZGREJEN0ZFN0ZGRkZGRjZGRjdGRkZGRkZGRTc3NjUKKzoxMDFFRTAwMEZGQkZGOEFGRkZERkJGRkZCRjdGRkJGRkZGRkZEQkZFRTIKKzoxMDFFRjAwMEZGQkZGRkZBRkZGREZGRjY3RkZGOUZGRkZGM0ZFRkY4RjkKKzoxMDFGMDAwMEVFN0U5RkJBRkVCRjhGRUZGRUZFRjlGRkZBN0ZGRTdFRTgKKzoxMDFGMTAwMEJGQUZGQjk2RkQ5RkVGNUU2NUJFRUY1QkI2RkZCRUUzMTYKKzoxMDFGMjAwMEZGQjVCRkZGRkRGRjdGRkZFRkRGRkVGRkJGRkJGRUZGNDMKKzoxMDFGMzAwMEJGQ0ZGRkZGRkZGRDlCRkZGRUZCRkVERkZGN0ZGRkY3MzUKKzoxMDFGNDAwMEZFRkZERkZCRkJGRUZGRkZGRkZGRkZCN0ZFRkFGRkFCNkQKKzoxMDFGNTAwMEVGRkZGREI1N0I3RkZCRjdGREZGRkZEREZGRUY4RkZGQTEKKzoxMDFGNjAwMDJGRkZGQjdDRkYzRkRGNzNFQkZFM0ZGRkVGRkJGRUZGMkUKKzoxMDFGNzAwMEVGRkRGRkJGRkQwRkZGRkZGRkY1RjlGRjdGRDdGREZGNkYKKzoxMDFGODAwMERGRkZGN0ZCRkY3RkJGRkZGRkYwOUZGRkZFN0Y4QkUzQ0QKKzoxMDFGOTAwMEY5REUyNzlCRTZCRTdGOUJDM0Y4REU3RjlERTdGRTdGRDEKKzoxMDFGQTAwMEZGRkY1RkQ3RkZGRkZGNEZGQkZGRkY3RkZGQUZGRjlGRUQKKzoxMDFGQjAwMDdGRkJGRkU4RkZGRkZFQkZBRkZGRkZGRUJGRUZGN0ZGQjYKKzoxMDFGQzAwMEJGRkZGRkZGRkZGRkY3RkZGQ0ZGRkZGRDdGRkZGRkZGRUUKKzoxMDFGRDAwMEZEM0ZDRkZGRkZGRkZGRjdGRkZEN0ZGRkZGOTNGRkZGRjkKKzoxMDFGRTAwMDdBREZGN0ZGRkY3QjdGQjdFRkZGRkZGREJGRkRGQkZGNTIKKzoxMDFGRjAwMEY3RkZEN0ZGRkZGRkZDOUY2RkNCRkZGNEJCREZENkZERTIKKzoxMDIwMDAwMEJGMkZEM0Y3RkZERkZGQ0ZGRkZBQkVCREFGNkFEQUJFNDcKKzoxMDIwMTAwMEJCQUIzQUJFMkRBRUVCREFGNjNGQURGNURERkZDRkYxNEYKKzoxMDIwMjAwMEZGRjk3RkZGNzNGRUZGQ0ZDM0Y0RjcyRkYzRkZGQ0ZGMzEKKzoxMDIwMzAwMDdDMUZGRjNGNEZGRjdFRkZFRkJERjZGRUZGMkJFRkRDNjcKKzoxMDIwNDAwMEZCRkRGRkZCRkZFQTdCRkZGRkZGRkZGRkZCRjdERkZGNkYKKzoxMDIwNTAwMEUzN0RGRkI3RkZCRkZGRkZERkZGRjhGRkJGRkZCRkVCNzEKKzoxMDIwNjAwMEU3RkFGRTNEQkZFOUZDQkZGRkZBRkJGRUZGRkZGRkQ5MjkKKzoxMDIwNzAwMEZGRkZGRkY2N0ZGRkY2N0RGRkRGQ0ZGREJGRkJFRjdFQUIKKzoxMDIwODAwMEZGN0ZGRkZGRDNGRkZERkJGRkZCRkZGRkZGRUZGRkJGNjYKKzoxMDIwOTAwMEZFRkZGN0VGRkZGRkZGRkJGRjg3RkZGREZGRkZGRkZGRTcKKzoxMDIwQTAwMDdCRkVGRkZFM0JGN0Y3RkYzRkZGRkZGRkZGRkYwRkZGNEEKKzoxMDIwQjAwMEZGRkZGRkZCRkZGRkZGRjdGRkZGQURGRkZFRjdGRkZGOTcKKzoxMDIwQzAwMDVGRkZGRkRGRkZGREZGRjVGRkRGRkZCREZGRTlGRkM3OUMKKzoxMDIwRDAwMEYzRkZGRkY3RkZGM0ZGRjgzQkZGRkY3QkRGQkZGQkVGRjMKKzoxMDIwRTAwMEZCRkZGQkY3RjdCQkZGRkZGRkZGRkJGRkZFN0ZGMzdGNkQKKzoxMDIwRjAwMDVFQjdCRkZEN0ZGRkY5N0ZGQkZGRUJGRDdGN0ZGRkVGNEIKKzoxMDIxMDAwMEZCRTAzRkZFQkZCRkRGRkY3RUZGRjdGRkZGRkVCRkZGMkQKKzoxMDIxMTAwMERCNzhGRkZGRkZFRUExQkZGNURFRkJGN0ZGRkJGRkZGNjQKKzoxMDIxMjAwMEZGRkZGQkZGRkZEN0ZGRkZGRkZGRUZGMEZGRkZGRkYzMTYKKzoxMDIxMzAwMEY3RkZFRkZGRTdDRkZGRkJGRkVGRkZGRjlGOUZFRkZDRjYKKzoxMDIxNDAwMDE2QkZGRUYzRTRGRkZGQzZGRkU3RkZGRkZERkZCRkZGODMKKzoxMDIxNTAwMEZGM0ZGRkJGRDZBRjdGRkU2QjdFN0ZGRkFGRkZGRkJGQUUKKzoxMDIxNjAwMEZGNUZGRkZFRkZGRkZFRkZGRkJEREJGRkZFNUZGMkZGMzUKKzoxMDIxNzAwMEZGNUZGRkZGRkZGRkZGRkZFRjdGRkZGRkZGRkZERUJGMDAKKzoxMDIxODAwMEZGRkZFRkZCNzdGRUJEN0Y1RkZGRkZGRkRGNkZFREZGMjAKKzoxMDIxOTAwMEZERkY3RkZENkZGRkZGNzdEQUNGRkQ1RkZGQkZGRkZGMjIKKzoxMDIxQTAwMERGN0ZGRkZCRkZGRkZGRkY2NjdGRkZGRUJGRTdCRkZBOUEKKzoxMDIxQjAwMEZGRkVGRkZGRkZERkZGNTlFRkZGRUZGQjdGODlGRkZGMTAKKzoxMDIxQzAwMEU5RkY2RkZGRjVGRkZGRkZGRkZGN0ZGMkY3RkZGRkVGNzQKKzoxMDIxRDAwMEY4N0ZGQkZGRkRGRkZGRDlGRkVGQkJGRkZGRkZCRkVGNjYKKzoxMDIxRTAwMERFRkZGRjlGN0ZERkZGRjdGRkZGRkZGRkRGRkZGRkFGOTgKKzoxMDIxRjAwMEZGRkZGNzNGRUI5RkZFN0Y5RTdGOUZGRTg3RkZFRERCOUMKKzoxMDIyMDAwMDU2RkZCRkFGMEJEMkZGRUZEQjZFN0RCRDZGRjhGRTNGMTkKKzoxMDIyMTAwMEZBNUJGRkZEQkZFRkZGQkY2RkRCRTZGRkZGM0ZGRkRGQjYKKzoxMDIyMjAwMEZFRkZGRkZGRkZEQTNGRkZGQkZFRkVGRkZGREZGN0JEMTQKKzoxMDIyMzAwMEZGRkRGRkZFRkZGQkZGRkZGRkZGRjE1RkZEOUZERkZERTcKKzoxMDIyNDAwMEZGRkQ3RkZGRkZGRkZGNzZGQUZGRkY3RkUzRjhGRkFFQTIKKzoxMDIyNTAwMEZGRkI3RTlENzNGRkZBN0ZERkZGRkY3RkZGRkJDREZGNUMKKzoxMDIyNjAwMDdGRUZGQkZGRkRGRkY3N0Y3RkVGRkZFREZGRkZGRkI1ODgKKzoxMDIyNzAwMEZGQkZGRkJGRkRFRkRCRjdGRjkzRkZFRkUyRjlCRTdGOEMKKzoxMDIyODAwMDhCRTdGOUZFNkJFN0Y5RkU3RjlGRTdGOUZFN0Y0N0ZGREIKKzoxMDIyOTAwMEZGRkRGRjlGRkZEN0ZGRkZGRkZGRjVGRjlGRkZGN0ZFNEIKKzoxMDIyQTAwMEZGQkZGRTZGRkZGRkZCRkZGRkZGQUZGRkZGRkY3RkZCRTcKKzoxMDIyQjAwMEZGRkVGRkZGRkZGRkZGRkRERkZGRkZGN0ZGRkZGRkRGNzkKKzoxMDIyQzAwMEZGRkZGRjVGRkZGRkZGRkY1RkZCRkVGRkY4MzdGRkZGMzIKKzoxMDIyRDAwMEVGRkY3RkZFQkZGRkZGRkVCRkZGRkY3RkZGQkZGREZGRTIKKzoxMDIyRTAwMDdGRkE3RkZGRkY2RkZGRkY3REZGQ0ZGRkZGRkY0RkZGRjUKKzoxMDIyRjAwMEYyRkZGRkZGRkZGRkZBQkZGRkFFRUJGQUZFQkJBREVCNTUKKzoxMDIzMDAwMEZBRjdBRjZCRkFGNkJGMjVFOUYyN0Y0NUZGRkZGREY3NUQKKzoxMDIzMTAwMEY3QkZGRkRGRkZGRkJGRkJGRkRGRjNGRkY3M0ZDRkZGOUQKKzoxMDIzMjAwMEExRkZGRkJGRTdGRkZGN0ZGRjNERkZGRkZGRjdGRjJGOEQKKzoxMDIzMzAwMEZGRkJGNTdGRkU1N0ZGRkZGRkZGRkZGRkZGRkZGRkY3RUMKKzoxMDIzNDAwMDNGRkZGRUZGRkZGRkZERkVGN0VFQUZGRUVFRTdGQUZGRjkKKzoxMDIzNTAwMEZFOURGOTVFRkVGRkVCRkZGRkRGQTdGRkZGRkZGQ0RCNEIKKzoxMDIzNjAwMEZGRkZGRjdFRkJGRkZGRUZGQkZERkZEQkZGRkZGRkVGNEMKKzoxMDIzNzAwMEZGRkZGRkZEQkZGRUJGRkY2RjdGRkZGN0ZGRkZGOUZGMEUKKzoxMDIzODAwMEY3RkZCRkRFRjdGRkZGRkZGQTdGRkRCRjVGRkZGRkJGNzUKKzoxMDIzOTAwMEZGRURGRkY3QkZGRkZGRUZGRkRGRkZGRkZGRTZGRkZCRjQKKzoxMDIzQTAwMDdGRkZGRkZGRkZGRkY3RkZGRkZGRkZGRkZGRkZFQkZGRDkKKzoxMDIzQjAwMEZERkZGNUZGRjY3RkRGQkRDRkZGRkZGRkZGREZGRkZGNzQKKzoxMDIzQzAwMEZGRjlGRkZGRkZGRkZGRTNGRkVFQkZGRjdERUZGRUZGMjMKKzoxMDIzRDAwMEZGRkZCRkZGRkZGRkZGRkVGRkZGRkZGRkU3RkZCNUFFMDEKKzoxMDIzRTAwMEZGRkZCNkZFQkZGRkZGQkZGRkZGRkZGRkZGRkZGRkZGQzcKKzoxMDIzRjAwMEZGMjdGRkVGRkU3RkRGRkY3RUZGRkZGRkZGRkZGRkZGRjcKKzoxMDI0MDAwMEZGRkZGREZGRjdGOTlGRkY1RkZGRkZGRkZGRkZGRjdGNkMKKzoxMDI0MTAwMEZGRkZGRUZGRkZGRkZGRkZGRkZGRkYwRkZGRTdCRkZFMTYKKzoxMDI0MjAwMEZGQkZGRkZGRkZGRkZDQkZGRkZGRkVGRkZGRkZGRkM0N0IKKzoxMDI0MzAwMDZCRkYyOTFGRkJBRkZGRkZGRkZGRkZFRjFCRkVGRkZDNDIKKzoxMDI0NDAwMDZGRkZGRkZENkFGN0Q3RjVCRkZGRkVGRkZGRkZGRkZGM0UKKzoxMDI0NTAwMEZFQkZGRkZGRkFGRkZGRjdGQkREQkZGRkU3RkZGRkZGNTgKKzoxMDI0NjAwMEZGRkZGRkZGRkZGRDdGRkZGRkY1RkZGRkY3RkRCM0VGNkUKKzoxMDI0NzAwMEZEN0U1REZGRkRGRkZGRkZGRDdGRDJGNUZCN0VDQkI3NEQKKzoxMDI0ODAwMEZGRkZGRkM2RkZGREVFNjNGRkZGRkZGRkZGRjZGRDY1RTkKKzoxMDI0OTAwMDVCREZGRkQ1RkZGRkZGRjZFN0JGRjdBOUZGRkZFREZGMEIKKzoxMDI0QTAwMEZGRkZGRkZGRUJGRkZGRkZBRkZGRkZGRkY4MUJGRkUzQTcKKzoxMDI0QjAwMEQwQkZGRkUxRkZGRkZGRkZGRkQ3RkZGRkZGNUZGRkZGODEKKzoxMDI0QzAwMEZGRkZBRkZGREI3NkJGRkY3RkZGQkZFRkZFRkZCRkVGN0EKKzoxMDI0RDAwMEZCRkVGRkZGRkZCRkYyN0ZGRjlGRkVCREZFN0ZGRkZGMDIKKzoxMDI0RTAwMEZGRkZGRkZGRkZGRkZGRkZGRkY3M0ZFQzdGRjY5NUJCMEUKKzoxMDI0RjAwMEVGRjhGRUZDQkYyRkRBRkNCRjJGQ0JGMkZDQkZFRkZGRTMKKzoxMDI1MDAwMEE5QkZDRkZCRkZGRkZGRkVEREI3NkRGNkQ5QjY2RDlCMTAKKzoxMDI1MTAwMDc2RDlCRkZCRkRBM0ZGQkZFRkZGRUZGRkZGRkY3RkRGMUMKKzoxMDI1MjAwMEZERUY3QkRFRjdGREVGN0ZGRkZGMDVGRkZBRkU3RkVGOUMKKzoxMDI1MzAwMEUzRkZGRkZEN0ZGRkZGRkZGRjVGRkZGRkZEN0ZGQkFGQkYKKzoxMDI1NDAwMEZGNjNDOEZGQkZFRkZGRkZGQTdGRkZGRkZGRkU5RkY3QUMKKzoxMDI1NTAwMEZGRkFCRkZFOUZGQjdGRkZGRkVGRDdGRkZGRjVGRkZGRjcKKzoxMDI1NjAwMEZGRkZGRDdGRkZGRkJGRkZGOUJGRkZCRTI3OUZFN0Y5MUEKKzoxMDI1NzAwMEZFN0Y4QkU3RkU3RjlGRTJGOUZFN0Y5RkU3RjE3RkZGMDMKKzoxMDI1ODAwMEZGRkZGQkZFRkZGRkZGRDdGRkZGRkZGRkY1RkZGRkZGOTIKKzoxMDI1OTAwMEQ3RkZGQUZGRkVGRkZGRkZGREZGRkZGRkFGRjdGRkZGRDMKKzoxMDI1QTAwMEZGRUJGRkZGRkZBRkZGQzRGRkY3RkZGRkVGRkZGRkZGRjIKKzoxMDI1QjAwMEZGNUZGRkZGRkZGRkQ3RkZGRkZGRkZGRkVCRkZGQjdBOTAKKzoxMDI1QzAwMERGRjdGREZGRkZGRUJGRkZGRjdGRkZBRkZGRkZGRkY3NUUKKzoxMDI1RDAwMEVGRTNGRkRERDJGRkRGRkZGRkYyRkNCRkNCRjZGREJGNzUKKzoxMDI1RTAwMDJGQ0JGRjdGREZERUFGRkZEQUVFQkZBRkU5RkFGNEJEM0UKKzoxMDI1RjAwMEFGNUFBRUJCQUI2QkRBREVCRkFERDc1RUZGRkZCRkZDNDEKKzoxMDI2MDAwMEZGREZGREZGRkZGRkZGREZGN0ZGRkZGRkZGRkRGRkZBMkIKKzoxMDI2MTAwMDFGRkZGRUZCRUZCRkZERkZGREJENzdGRkZGRkZGRjlEMkYKKzoxMDI2MjAwMEVGRkZGRkZGRUY3REZGRkJGRUVGRkZGRkZGRkZGRkY3NzkKKzoxMDI2MzAwMEZGRkZGRkZGRkZGRkZGRUVCRkU0RkJGRkZFM0ZGRUZGREMKKzoxMDI2NDAwMEZGRkZGRkFGRUFGRUJGQUZFQkZBRkVGRkZGRkY1NUY2NUQKKzoxMDI2NTAwMEZGRkVGN0ZGN0ZGRkVCRjc1RkM1RkQ3RjVGRDdGNUZGNUQKKzoxMDI2NjAwMDZGRkJGRjhBRkZGRkZGRkZFQkZGRkZGRkZGRkJCRkJGMUIKKzoxMDI2NzAwMEVGRkJGRkZGRkZGRkZCRkY3N0RGRkJGRkZEN0ZFRkZGQzAKKzoxMDI2ODAwMEZGRkZCRjdGRkZERkJGRkZGQkZGRkZGRkZFRUZERkZGQUYKKzoxMDI2OTAwMEZFRkY5RkVGN0RGRkY3RkY3RkZGRkZERkY3RkRGRkVGRkYKKzoxMDI2QTAwMERGRkZERkZGRkZGRkZGRkZGRkZGRkZGRkZERkZGRkZCODAKKzoxMDI2QjAwMEZERkZCRkRGRDFGRkY4M0JGRkZGRkZGRkZGRkZGRkZGODUKKzoxMDI2QzAwMDdFREJGREZGNzdEQkI3N0RCRkZCRkZGODdGRUQ3QjVFMzkKKzoxMDI2RDAwMEZGRkVGRkZGNEZEN0ZEN0ZERkQ3RjVGRjdGRkZGRkZGMzcKKzoxMDI2RTAwMEYyM0ZGRUZGQkZGRkZGRkZGRkJGRUZGRUZGM0JFRUZGMkUKKzoxMDI2RjAwMEZDRUZGRkZGRkY4NUZGRkRGRUZGRjVGRkZGRkVGRkRGQTUKKzoxMDI3MDAwMEZCRkY1RkJGRkZGREZGRkZGRkZGQThGRkZGOUY5RUZGRDcKKzoxMDI3MTAwMEZGRkY3RkYzRkZGRkNGRkZGN0ZERkY3RkZGRkZGQzE2RkIKKzoxMDI3MjAwMEJGQ0ZBM0U1RUY3RkZGRjNFNEZGQ0Y5M0ZDRkYzRkNGRTUKKzoxMDI3MzAwMEZGRkZGRkQ2MEY3REJGNkVGQkY0RkNBRjZEREI3N0I3RkQKKzoxMDI3NDAwMDZEREJGNkZEQkZGRkZGRkZCRjlCRkFERUI3QjdFREY5MEMKKzoxMDI3NTAwMDdFQjdBQ0VCRDZCM0FERUI3QURGRkZGRkZGRDhCRkZGQTAKKzoxMDI3NjAwMEI3RUQ5RjZGRERGNzY4REIzN0IzNkNEQjM2Q0RCMzdGM0EKKzoxMDI3NzAwMEZGN0ZGNTZGRkRFRjc5M0RGNzkzRTQ3QTlFQURFQTdBM0UKKzoxMDI3ODAwMDlFRjdCREVGRkZGRkZGNzY3RkZCQzZGRkJCRUZEQUZFRDQKKzoxMDI3OTAwMEZEQkZGQkZFRkZCRkVGRkJGRkZGRkJGRkE1RkZGREFCOTgKKzoxMDI3QTAwMDZGNzhERTE3OEY3OURGRkRGRjdGREZGN0ZERkZGRkZCMUYKKzoxMDI3QjAwMEZGRkJGRkVGRkJFRkZCRkVGRkJCREFGM0VGM0JDRUYzREMKKzoxMDI3QzAwMEJDRUYzRkNGREZGRkI3RkZGRkZGQ0Y3M0ZGQkZFRkZGRDAKKzoxMDI3RDAwMEYzRkYzRkNGRjNGQ0ZGM0RDRjlGRkUwN0ZGQUZFQkZFQzQKKzoxMDI3RTAwMEZEQkZFRkVCRkFGRkFGRUJGQUZFQkZBRkZCRkUzRkZCMjcKKzoxMDI3RjAwMDlCRkY3RkRGRkZGM0ZFRkZERUY3QkY3QkRFRjdCREVGNjIKKzoxMDI4MDAwMDdCRkVGRkZGREYzRkZFRkZCN0ZGRUZGN0ZGQkZFREZFRjEKKzoxMDI4MTAwMERGQjdFREZCN0VERkZGRkZGRkZENUZFRkVCRkFGRUY1QkQKKzoxMDI4MjAwMEJGNkZGRkZGRkZGRkZGRkZGRkZGRkZGRUY4RkZBOEZGRTcKKzoxMDI4MzAwMEZGQkZFRkZCNkFGQkI3RUZGQkZGQkZFRkZCRkVGRkJGODYKKzoxMDI4NDAwMEVGRkJGRkUwRkZGRkZEN0Y1Q0Q3N0RERkYzNUNGNUNEQTUKKzoxMDI4NTAwMDczNUVEN0I1RkQ3RkVGRkZEQkZGRkZFMkY4QkUyRjhGODIKKzoxMDI4NjAwMEU3RjhCRTZCRTJGOEJFMkY4QkUyRjlGRTdGRTdGRkQ3RjkKKzoxMDI4NzAwMEY1RkQ3RkZGRjdGNUZEN0ZEN0Y1RkQ3RjVGRDdGNUZGMEUKKzoxMDI4ODAwMEZGRkY4RkZGQUZFQkZBRkZGRkJGRUJGQUZGMkZFQkZBNzMKKzoxMDI4OTAwMEZFQkZBRkVCRkZGRkZFNUZGRjVGRkZGRkZERkZGRkQ3NTgKKzoxMDI4QTAwMEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkJGRkVCN0ZEQzMKKzoxMDI4QjAwMEZGN0VERkY3QURGRjdGRjdGREZGN0ZERkY3RkRGRjdGRDcKKzoxMDI4QzAwMEY2N0ZGRkZGRkZEQkY2RkNBRkZGRkZGRkZGRjdGRkZGMjkKKzoxMDI4RDAwMEZGRkZGRkZGRkZFQ0JGRkZBRkVCRkFGNkFCOEZFQkZBQUEKKzoxMDI4RTAwMEY3QTVFQkZBQkVCRkFGRUJGQUZGNkRGRkZGN0ZERjMzNUIKKzoxMDI4RjAwMERERkY3RkZFRjdGQzdGRkJGRkZGRkZGRkZGRkZGRkE5NzAKKzoxMDI5MDAwMEZGRkRGRkZGRkVGRkZGREZGRkZGRUZFRkZERkY3RkZGOUMKKzoxMDI5MTAwMEZGRkZGRkZFQTdGRkZGRkY3N0RGRjdGRDlGN0ZGRTc3M0IKKzoxMDI5MjAwMEVGRkZGRkZGRkZGRkZGRkZGRkFGQkZBRkZGRjlCRUJGMkUKKzoxMDI5MzAwMDhGRkJGRUZFRUZGQkZFRkZCRkVGRkJGRkZGRkRERjZGMzgKKzoxMDI5NDAwMEVGRkY3RkZGQkZCRkRGRkZGQ0ZGREZGN0ZERUY3RkRGQTQKKzoxMDI5NTAwMEZGRkZGRjNGRjZGRkNGRkZEQkZCRjdGRkVCN0FGRkZGNDkKKzoxMDI5NjAwMEZGQkZFRkZCRkZGRkZGRkU2REZERkY1RkZCRkZGRkY3MEMKKzoxMDI5NzAwMEZGNUZGNUZGRkZGRkZGRkZGRkZGRkZGRkY4RkZGQkZGMUMKKzoxMDI5ODAwMEZGRkRGRkZGRkZGRkU3RjZCRkZGRkZGRkZGRkJGRkZGQkUKKzoxMDI5OTAwMEZGQzlGRkZGRkZCREZGQkZBRkVGRUYzRkQxRkM3RkZCRTQKKzoxMDI5QTAwMEM3RkZGRkZGRkZGRkUzRkZGRkZGRkZGREZGRkY3N0ZGMTUKKzoxMDI5QjAwMERGQjdGREY3RkRGN0ZGRkZGRkZGRkY1N0ZGRjdBNUZEQUYKKzoxMDI5QzAwMDNGREZCRkJGRkU3RkZGRkZGRkRGRkFGREZGRkZGRkZFMjAKKzoxMDI5RDAwMDg3RkZFOUZGRkVFRkJGRUZGRUZFRkZFRkZGRkZGRkZGMDgKKzoxMDI5RTAwMEZGRkZGRkZGRkE5RkZGM0ZGRkZERkQ1N0RGRkRGM0ZGRjYKKzoxMDI5RjAwMERGRkRGRjVGREZGNUZERkZGRkY5OEZGRkZGRkZFRTdGREMKKzoxMDJBMDAwMEZGRkZCRjVFRkVFQ0ZCM0Y3RjlGRUZGOUZGRkZDRDZCNEIKKzoxMDJBMTAwMEZGRkZGRkM1RjNGQ0ZBMzhGRkFGM0ZFRTdGOUZGRkQ5MDIKKzoxMDJBMjAwMEZGRkZGRDdBRjdGRkYzRkZBRjZGREJGMkI5RTlGQkZGQzIKKzoxMDJBMzAwMEZGRkZGRUZGRkZFRkZGRkJDNUJGRkZFRkZGNUVCN0FEODAKKzoxMDJBNDAwMENENzk3Q0ZGRkZGRkZGRkZGRkZGRkZGRkZEOTNGRkVGNEYKKzoxMDJBNTAwMEVBRkVCRkVGNUJEMkNERjU2RDc3REZGN0ZERkY3RkRGREQKKzoxMDJBNjAwMEZGRkY2NkZGRDU2NTdENUY3NTlENjU3RkQ2RkI0RkZGRDgKKzoxMDJBNzAwMEZGRkZGRkZGRkZGRkY2QzdGRkJGRUZGQUZFRkZCRkVCNTEKKzoxMDJBODAwMEZGREZGRjdFRkZGRkVGRkQ3RUQ3RkY3OERGRkY1RkRGMTkKKzoxMDJBOTAwMEY1QkY3RkRGQzVGRjNGRjY3RUZGMEZFRkYyM0VCRkZGQzIKKzoxMDJBQTAwMEZCM0ZGRkZCN0ZGRkIzRkVGQkY2RkRGRkRBRjdGREZGMDkKKzoxMDJBQjAwMDdGREZGN0JGRkZGQTdGRkZGRkZGRkY5RkZGRjNEQ0Y5MjgKKzoxMDJBQzAwMEJGQ0VFN0Y5RkU3RjlGRTdGRkZGRTI3RkZFRkZCRkVGOEMKKzoxMDJBRDAwMEVCRkFGRjlGNjcxRUZGOEZFN0Y4RkU3RjhGRUZGRkJEQ0EKKzoxMDJBRTAwMEJGRkZGQkZGRkZERkY3RkZGQ0ZGQkZGRkZGRkZGRkZGQTUKKzoxMDJBRjAwMEZGRkZGRkZEQjNGRkZGRUZGRkZGQkZFREZGRkJFRUZFQUMKKzoxMDJCMDAwMEZGRkZFRkZGRkVGRkZGRkZGRkI1RkZCN0ZERkQ2RUZGMEQKKzoxMDJCMTAwMEZGRkVGRDJGRDhGRUJGOEZFQkY5RkUzRkZGRkFDRkZGODAKKzoxMDJCMjAwMEU3RDlGQUJGREY3N0ZDRkIzRkFCRkVGRkJGRUZGQkZFNTEKKzoxMDJCMzAwMEZGRkZFRTFGRkZERkY3RkZGRkZGNUY5NzM1QkY1RUZFNzIKKzoxMDJCNDAwMEJGRUZGRkY3RkRGRkZGRkFCRkZGQkU2RjlGRTdGOEJFQzUKKzoxMDJCNTAwMDJGOEI2Njk0N0Q5REU3RjlGRTdGOUZFN0YxN0ZGRkZGNTYKKzoxMDJCNjAwMEZGRjdGNUZEN0Y1RkZCRkQ5RUZGRkJGRUZGRkZFRkZGMjUKKzoxMDJCNzAwMEZGQTBGRkZGRkZCRkVGRUJGQUZFQkZCN0Y3RjdGRkZGQzYKKzoxMDJCODAwMEZERkZGRkZGRkZGRkRERkZGREZGRkZGRkQ3RkZGRkZGQTMKKzoxMDJCOTAwMDdGRjVGRkZGRUZGRkZGRkZCRkZGRkZBQkZFRkJGRUZGNzkKKzoxMDJCQTAwMEY3QUZGRkZGREVGN0VCNUZERkY3RkRGRjdGREZGRkZGMzQKKzoxMDJCQjAwMEIzRkZDOUZFRkZGRkZGRkZENkZGRkZDQkZGRkZERkZGMjUKKzoxMDJCQzAwMEZGRkZGRkZGRkM4RkZGQkFCRUJGQUZFQjc4RkVCN0FERDQKKzoxMDJCRDAwMDNBRkVCN0FGRUI3QUZFQkZBRkZGOUZGRkZGREZGQ0ZGMTAKKzoxMDJCRTAwMEZGRkVDM0ZFRkZGRjMzRkNGRkJGREZGM0ZGRkZCQjlGMTIKKzoxMDJCRjAwMEZGRkZGRkVCREZGRkZGQUZGNzZGRjlCRkVGRkRGRkZGNTkKKzoxMDJDMDAwMEZGRkZGRkUzN0ZGRkZGRkZGQkZGRkZCRkZERkJGN0ZGQzIKKzoxMDJDMTAwMERGRjdGRkZFRUY1RkJERkZGQUZGRjhGRkJGQUZGQkZFODAKKzoxMDJDMjAwMEZFM0ZFRkU4RkZERkYzRkRGRkZGRkZGRkZGRURGRkZCRTAKKzoxMDJDMzAwMEZERkZBRkZGRkZGRUZFQkZEQkZGRkZGRkJGRkZERkZGQkMKKzoxMDJDNDAwMEZERkZDQkZGRkZGRkZGRkZCRjZGRkY3RkI3QjNGRkZGQUUKKzoxMDJDNTAwMERGRkZGQkVGRkZGRkZGMDdGRkZCRkZGRkZGRURGRkY1RDAKKzoxMDJDNjAwMDdDRkY3RkZFRkZGRkVGQ0ZGRkZCRkZGRjJGRkZGRkZGOEMKKzoxMDJDNzAwMEZGRjNGRkZCRkZGRUZGRkZGRkZGRkZGRkJGRkZGRkZGQjUKKzoxMDJDODAwMEZEMUJGRkZGRkZGRkZGRkZGRkZGRkU3Q0ZGRkZGRkZGQkUKKzoxMDJDOTAwMEVGRkZGRkZGRkZGQkJGN0ZGREZGRkZGRkZGRkZGRkZGMUEKKzoxMDJDQTAwMERCRkZGRkZGRkZGRkZGRkRGRkZGRjA3RkZGRkZGRkZGRTkKKzoxMDJDQjAwMEZGRkZGRkZGRkZGQkZGREZGRkZGRkZGRkZGRkRCRkZFOEIKKzoxMDJDQzAwMDdGRkZGRkZGRkZGRkZGRkZGRkVGRkVGRkJGRkZGRkZGRTUKKzoxMDJDRDAwMEZGRkZFRkZBQjVGRkZGRkZGN0Y3RkZGRkZGRkZERkZCOTcKKzoxMDJDRTAwMEZDRkZGRkZFRkY3RkRGQkZGRkNCQkZGOUZFN0Y5RkU3NEIKKzoxMDJDRjAwMEY5RkU3Rjk3RTFGRTc5OUZFN0ZERkU3RkRGRkUzN0ZGNUMKKzoxMDJEMDAwMEZCREVERUJERUZGM0ZFRkJBRkVCRkVGRkZGQ0ZGRkZFMTIKKzoxMDJEMTAwMEZGQkZGRjhGRkZFRkZCRkVGRkJGRTdGOTVFN0ZFRkZCMUIKKzoxMDJEMjAwMERBRkZCRkVGRkJGRUZGRkQxRkZGRkZGRkZGRkZGRkRGMkYKKzoxMDJEMzAwMEZGRkY3RkZGRkZGN0ZCN0ZGRkZGRkZGRkZDM0ZGRkJGQjIKKzoxMDJENDAwMEVGRkJGRUZGQkZFRjdCN0ZCRkVGRkJGRUZGQjVFRkZCQUYKKzoxMDJENTAwMEJGRkE3RkZDRkYzRkNGRjNGQ0ZGM0ZDRkJDRkYzRkVGNEQKKzoxMDJENjAwMEYzRkNGRTNGQ0ZGRkVFRUZGQkZFRkZCRkVGRkI2QUQ3QUEKKzoxMDJENzAwMEI3RkJGOEZGQjdFRkJBRkVGRkJGN0ZFOUZGRjk3RTVGNTEKKzoxMDJEODAwMDk3RTVGOUZFN0ZCRkY5N0U1RjlGRTVGQkZFNUZCN0ZGMkEKKzoxMDJEOTAwMEEzRkZGN0ZERkY3RkRGRjdGREZGNUVGNzdERkY3N0RGMjYKKzoxMDJEQTAwMEY3RkRGRjdGRkZEN0ZGRkZGRkZGRkZGRkZEREZGQjdGOEIKKzoxMDJEQjAwMEZGRkZFRkZGRkVGQkZGRkZCRkZFOEZGRkRGRjdGREZEMTUKKzoxMDJEQzAwMDdGREZGN0ZEM0VERkY1QkRGRjdGREZGN0ZERjdGRjlGRkMKKzoxMDJERDAwMEZGRkZGRkZGRkZGRkZGRkZGRkZERkZCRUZGRkZGRkZGNDYKKzoxMDJERTAwMEZGRkZGRkZEM0ZGRkRGRjdGREZGN0ZERkY3RkRGRkNGQjkKKzoxMDJERjAwMDc3RkNGRjVGREZGN0ZERkZGNDdGRkZGRkZGRkZGRkZGQzMKKzoxMDJFMDAwMEZGRkZGRkZGRkZGRkZGRkZGRkZERkZGRkZGRUVGRkZGRTUKKzoxMDJFMTAwMEZGRkZGRkZGRkZGRkZGRkZFREZCRkZGRkJGRkZGRkZGMTgKKzoxMDJFMjAwMEZGRkZFOUZGRkZGRkZGRkZGRkZCRkZGRkZGRDNGRkZGRjgKKzoxMDJFMzAwMEJGM0ZGQkZGRkZGRkZCRjNGRkZGRkZGRkZGRkZGRkZGQjYKKzoxMDJFNDAwMEZGRkZGRkZGRkZGRUZGRjdGRkZGRkZGRjE3RkZGRkZGODMKKzoxMDJFNTAwMERGRkZGREZGRkZGRkZGRkZERkRGRkZGREZGRkZERkY3MEUKKzoxMDJFNjAwMEZGNEZGRkZGRkZGRkZGRkZGRkZGRkZGRUZGRkZGRkZEMjUKKzoxMDJFNzAwMEZGRkZGRkZGRkVGRjlGRkZGRkZGRkZGRkZGRkZGRkZGQzMKKzoxMDJFODAwMEZERkZGRkZGRkZGRjdGRkZGRkZGN0EzRkZGRkZGRkZGMTkKKzoxMDJFOTAwMEZGRkZGRjdGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYyQ0YKKzoxMDJFQTAwMDdGRkZGQkZFRkZCRkVGRjhGRUZGQkZGQkZFRkY4RkVDRDcKKzoxMDJFQjAwMEZCRkVGRkJGRjhGN0ZFRkZCRkVGRkJGRUZEQkZDRkVDNTEKKzoxMDJFQzAwMEZGM0ZFRkRCRjhGRkJGQ0ZGRkY5RkZGRkJGRkZGQkZGQzcKKzoxMDJFRDAwMEZGRkZFRkZCREZGRkZGRkZGRkZGQkZGRkZGRkZCQkZGQkEKKzoxMDJFRTAwMEVGRkJGRUVGQkZFRUVCRkJGRUZGRUZGRUVFQkZGRUVCRjgKKzoxMDJFRjAwMEZGRUZGRjE3RkY3RUVCQkJGRUJGQkVGQkVGNUJGN0JEMzcKKzowQTJGMDAwMEZCQ0ZCRkJGQkJGQjdFQ0NFRkZGOTEKKzowMDAwMDAwMUZGCisKKyAqIENvcHlyaWdodCAoQykgMTk5OSBCYXlDb20gR21iSAorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgcmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZQorICogY29kZSByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgY29tbWVudCB3aXRob3V0CisgKiBtb2RpZmljYXRpb24uCmRpZmYgLS1naXQgYS9maXJtd2FyZS9kYWJ1c2IvZmlybXdhcmUuSEVYIGIvZmlybXdhcmUvZGFidXNiL2Zpcm13YXJlLkhFWApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YzI1OGRmCi0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUvZGFidXNiL2Zpcm13YXJlLkhFWApAQCAtMCwwICsxLDY0OSBAQAorOjAyMDAwMDAwMjE1Nzg2Cis6MDMwMDAzMDAwMjAxNjY5MQorOjAzMDAwQjAwMDIwMTY2ODkKKzowMzAwMTMwMDAyMDE2NjgxCis6MDMwMDFCMDAwMjAxNjY3OQorOjAzMDAyMzAwMDIwMTY2NzEKKzowMzAwMkIwMDAyMDE2NjY5Cis6MDMwMDMzMDAwMjAzMEZCNgorOjAzMDAzQjAwMDIwMTY2NTkKKzowMzAwNDMwMDAyMDEwMEI3Cis6MDMwMDRCMDAwMjAxNjY0OQorOjAzMDA1MzAwMDIwMTY2NDEKKzowMzAwNUIwMDAyMDRCRERGCis6MDMwMDYzMDAwMjAxNjczMAorOjAzMDEwMDAwMDIwQzVBOTQKKzowMzAxMDQwMDAyMDFFRDA4Cis6MDMwMTA4MDAwMjAyNTE5RgorOjAzMDEwQzAwMDIwMjdDNzAKKzowMzAxMTAwMDAyMDJFNDA0Cis6MDEwMTE0MDAzMkI4Cis6MDEwMTE4MDAzMkI0Cis6MDMwMTFDMDAwMjA1RkREQworOjAzMDEyMDAwMDIwMDAwREEKKzowMzAxMjQwMDAyMDAwMEQ2Cis6MDMwMTI4MDAwMjA0M0M5MgorOjAzMDEyQzAwMDIwNDZBNjAKKzowMzAxMzAwMDAyMDAwMENBCis6MDMwMTM0MDAwMjAwMDBDNgorOjAzMDEzODAwMDIwMDAwQzIKKzowMzAxM0MwMDAyMDAwMEJFCis6MDMwMTQwMDAwMjAwMDBCQQorOjAzMDE0NDAwMDIwMDAwQjYKKzowMzAxNDgwMDAyMDAwMEIyCis6MDMwMTRDMDAwMjAwMDBBRQorOjAzMDE1MDAwMDIwMDAwQUEKKzowMzAxNTQwMDAyMDAwMEE2Cis6MEEwMTU3MDA3NTgxN0ZFNTgyNjAwMzAyMDE2MUZCCis6MDUwMTYxMDAxMjA3NkYyMTY0OEMKKzowMTAxNjYwMDMyNjYKKzowRTAxNjcwMEMwRDBDMDg2QzA4MkMwODNDMEUwOTA3Rjk3RTAwOQorOjBFMDE3NTAwNDQ4MEYwOTA3RjY5RjBGMEYwRjBGMEYwRjBGMEQwCis6MEUwMTgzMDBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwNEUKKzowRTAxOTEwMEYwRjBGMEYwRjBGMEYwRjBGMEYwOTA3Rjk3RTA3QQorOjAzMDE5RjAwNTU3RkYwOTkKKzowRTAxQTIwMDkwN0Y5QUUwMzBFNDIzOTA3RjY4RjBGMEYwRjA1OAorOjBFMDFCMDAwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMDIxCis6MEUwMUJFMDBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwMTMKKzowRTAxQ0MwMEU1RDhDMkUzRjVEOEQwRTBEMDgzRDA4MkQwODY0QgorOjAzMDFEQTAwRDBEMDMyNTAKKzowODAxREQwMDc1ODYwMDkwRkZDMzdDMDU0QworOjA3MDFFNTAwQTNFNTgyNDU4MzcwRjlEOAorOjAxMDFFQzAwMjJGMAorOjBFMDFFRDAwQzBFMEMwRjBDMDgyQzA4M0MwMDJDMDAzQzBEMDFBCis6MEUwMUZCMDA3NUQwMDBDMDg2NzU4NjAwRTU5MUMyRTRGNTkxQ0UKKzowRDAyMDkwMDkwODgwMEUwRjU0MTkwN0ZBQjc0MDJGMDkwMEEKKzowOTAyMTYwMDdGQUI3NDAyRjBFNTMyNjAyMUI3Cis6MDQwMjFGMDA3QTAwN0IwMEU2Cis6MEIwMjIzMDBDM0VBOTQxOEVCNjQ4MDk0ODA1MDEyMzIKKzowRTAyMkUwMDkwN0Y2OUYwRjBGMEYwRjBGMEYwRjAwQUJBMDAwNgorOjAyMDIzQzAwMDEwQkI0Cis6MDIwMjNFMDA4MEUzNUIKKzowMjAyNDAwMEQwODY2NgorOjBFMDI0MjAwRDBEMEQwMDNEMDAyRDA4M0QwODJEMEYwRDBFMDU0Cis6MDEwMjUwMDAzMjdCCis6MEUwMjUxMDBDMEUwQzBGMEMwODJDMDgzQzBEMDc1RDAwMEMwMzUKKzowRTAyNUYwMDg2NzU4NjAwRTU5MUMyRTRGNTkxOTA3RkFCNzQ0MAorOjA0MDI2RDAwMDRGMEQwODY0MworOjBCMDI3MTAwRDBEMEQwODNEMDgyRDBGMEQwRTAzMjlCCis6MEUwMjdDMDBDMEUwQzBGMEMwODJDMDgzQzAwMkMwMDNDMDA0NTYKKzowRTAyOEEwMEMwMDVDMDA2QzAwN0MwMDBDMDAxQzBEMDc1RDBCRQorOjBEMDI5ODAwMDBDMDg2NzU4NjAwRTU5MUMyRTRGNTkxOTBFNgorOjBDMDJBNTAwN0ZBQjc0MDhGMDc1NkUwMDc1NkYwMjEyREMKKzowNjAyQjEwMDExNDQ3NTcwMzk3NTVGCis6MDYwMkI3MDA3MTBDNzU3MjAyMTJDOQorOjBDMDJCRDAwMTE3NTkwN0ZENkU0RjA3NUQ4MjBEMDg2MzMKKzowRTAyQzkwMEQwRDBEMDAxRDAwMEQwMDdEMDA2RDAwNUQwMDQ5MAorOjBEMDJENzAwRDAwM0QwMDJEMDgzRDA4MkQwRjBEMEUwMzIyRQorOjBFMDJFNDAwQzBFMEMwRjBDMDgyQzA4M0MwRDA3NUQwMDBDMEEyCis6MEUwMkYyMDA4Njc1ODYwMEU1OTFDMkU0RjU5MTkwN0ZBQjc0QUQKKzowNDAzMDAwMDEwRjBEMDg2QTMKKzowQjAzMDQwMEQwRDBEMDgzRDA4MkQwRjBEMEUwMzIwNworOjBFMDMwRjAwQzBFMEMwRjBDMDgyQzA4M0MwMDJDMDAzQzAwNEMyCis6MEUwMzFEMDBDMDA1QzAwNkMwMDdDMDAwQzAwMUMwRDA3NUQwMkEKKzowQzAzMkIwMDAwQzA4Njc1ODYwMDc1NkUwMDc1NkYwMkJDCis6MDcwMzM3MDAxMjExNDQ3NTcwNDA3NUJFCis6MDYwMzNFMDA3MTBDNzU3MjAyMTI0MQorOjBFMDM0NDAwMTE3NTkwN0ZENjc0MDJGMDkwN0ZENjc0MDZGMDhCCis6MDUwMzUyMDA3NUQ4MTBEMDg2RjMKKzowRTAzNTcwMEQwRDBEMDAxRDAwMEQwMDdEMDA2RDAwNUQwMDQwMQorOjBEMDM2NTAwRDAwM0QwMDJEMDgzRDA4MkQwRjBEMEUwMzI5RgorOjBEMDM3MjAwOTA3RkE1NzQ4MEYwOTA3RkE2NzQ5QUYwMTIyMQorOjBDMDM3RjAwMTAxQjkwN0ZBNkU1NDJGMDEyMTAxQjkwQUUKKzowRDAzOEIwMDdGQTZFNTQzRjAxMjEwMUI5MDdGQTU3NDQwODMKKzowMTAzOTgwMEYwNzQKKzowMTAzOTkwMDIyNDEKKzowRDAzOUEwMDkwN0ZBNTc0ODBGMDkwN0ZBNjc0OUFGMDEyRjkKKzowQzAzQTcwMDEwMUI5MDdGQTZFNTQ0RjAxMjEwMUI5MDg0Cis6MEMwM0IzMDA3RkE2RTU0NUYwMTIxMDFCOTA3RkE2RTUyOAorOjBCMDNCRjAwNDZGMDEyMTAxQjkwN0ZBNTc0NDBGMDY4Cis6MDEwM0NBMDAyMjEwCis6MEEwM0NCMDA3NTQ0MDI3NTQ1MDA3NTQ2MDAxMkU2Cis6MDkwM0Q1MDAwMzlBNzU0MjAzNzU0MzAwMTJGRQorOjAyMDNERTAwMDM3MkE4Cis6MDEwM0UwMDAyMkZBCis6MEMwM0UxMDA5MDg4MDBFNTM2RjA5MDg4MDA3NDEwMjUyQworOjA5MDNFRDAwMzZGMDEyMDFERDc1NDIwMTc1QzQKKzowOTAzRjYwMDQzMTgxMjAzNzI3NTQ0MDI3NUVDCis6MDkwM0ZGMDA0NTAwNzU0NjAwMTIwMzlBNzVEMQorOjA4MDQwODAwNDIwMzc1NDM0NDEyMDM3MjI0Cis6MDEwNDEwMDAyMkM5Cis6MEUwNDExMDBDMEUwQzBGMEMwODJDMDgzQzBEMDc1RDAwMEMwNzMKKzowRTA0MUYwMDg2NzU4NjAwRTU5MUMyRTRGNTkxOTA3RkFBNzQ3RgorOjA0MDQyRDAwMDJGMEQwODY4MworOjBCMDQzMTAwRDBEMEQwODNEMDgyRDBGMEQwRTAzMkQ5Cis6MEUwNDNDMDBDMEUwQzBGMEMwODJDMDgzQzBEMDc1RDAwMEMwNDgKKzowRTA0NEEwMDg2NzU4NjAwRTU5MUMyRTRGNTkxOTA3RkE5NzQ1NQorOjA3MDQ1ODAwMDRGMDc1MzAwMUQwODZBRAorOjBCMDQ1RjAwRDBEMEQwODNEMDgyRDBGMEQwRTAzMkFCCis6MEUwNDZBMDBDMEUwQzBGMEMwODJDMDgzQzBEMDc1RDAwMEMwMUEKKzowRTA0NzgwMDg2NzU4NjAwRTU5MUMyRTRGNTkxOTA3RkFBNzQyNgorOjA3MDQ4NjAwMDRGMDc1MzEwMUQwODY3RQorOjBCMDQ4RDAwRDBEMEQwODNEMDgyRDBGMEQwRTAzMjdECis6MEUwNDk4MDBDMEUwQzBGMEMwODJDMDgzQzBEMDc1RDAwMEMwRUMKKzowQzA0QTYwMDg2NzU4NjAwRTU5MUMyRTVGNTkxRDA4NkQwCis6MEIwNEIyMDBEMEQwRDA4M0QwODJEMEYwRDBFMDMyNTgKKzowRTA0QkQwMEMwRTBDMEYwQzA4MkMwODNDMEQwNzVEMDAwQzBDNworOjBDMDRDQjAwODY3NTg2MDBFNTkxQzJFN0Y1OTFEMDg2QTkKKzowQjA0RDcwMEQwRDBEMDgzRDA4MkQwRjBEMEUwMzIzMworOjBDMDRFMjAwOTA3RkVBRTBGQThBMjA5MDdGOTZFNEYwMTgKKzowMTA0RUUwMDIyRUIKKzowNzA0RUYwMDkwN0ZFQUUwRkE4QTIxODgKKzowMTA0RjYwMDIyRTMKKzowRTA0RjcwMDkwMTcxM0UwRkE5MDE3MTVFMEZCNzQ4MDJBRkFCNAorOjBFMDUwNTAwNzQ4MDJCRkJFQTAzMDM1NDNGRkNFQUM0MjM1NDJBCis6MEUwNTEzMDAxRkZBMkNGQUVCMDMwMzU0M0ZGQ0VCQzQyMzU0RjUKKzowQjA1MjEwMDFGRkIyQ0ZCOTAxNzBBRTBGQzYwMDI5RgorOjAyMDUyQzAwN0EwMDUzCis6MDcwNTJFMDA5MDE3MENFMEZDNjAwMkQ1Cis6MDIwNTM1MDA3QjAwNDkKKzowQjA1MzcwMEVBMkJGQ0MzMTNGNTNBNzU0NDAyOEI1RAorOjA3MDU0MjAwNDU4QTQ2MTIwMzlBNzU3OQorOjA5MDU0OTAwNkUwODc1NkYwMDEyMTE0NDc1NzMKKzowNDA1NTIwMDcwNDc3NTcxMDgKKzowODA1NTYwMDBDNzU3MjAyMTIxMTc1ODU4QgorOjA1MDU1RTAwM0E3MzEyMTFBMDI4Cis6MDEwNTYzMDAyMjc1Cis6MEUwNTY0MDA5MDdGOTZFMEZBOTA3Rjk2NzQ4MDY1MDJGMDkwOEEKKzowRTA1NzIwMDdGRUJFMEZBOTA3RkVBRTBGQjkwN0ZFRkUwRkM4OQorOjBFMDU4MDAwMzM5NUUwRkQ4QzA1N0MwMDkwN0ZFRUUwRkUzM0FECis6MEUwNThFMDA5NUUwRkZFQzJFRkNFRDNGRkQ5MDdGRTlFMEZFRDYKKzowNTA1OUMwMEJFMDEwMjgwMDMxNgorOjAzMDVBMTAwMDIwNUY5NTcKKzowNjA1QTQwMEJDMDEyMUJEMDAxRTk4Cis6MEUwNUFBMDBFQUM0MDM1NEY4RkNFQjI1RTBGRDJDMjQwMEZDMTEKKzowRTA1QjgwMEU0MzQxN0ZEOTA3RUMwRTBGRThDODI4RDgzRjA0RgorOjAyMDVDNjAwODAzMTgyCis6MEUwNUM4MDBFQUM0MDM1NEY4RkFFQjI1RTBGQjJBRkEyNDAwRkIKKzowRTA1RDYwMEZCRTQzNDE3RkM5MDdFQzBFMEZEOEI4MjhDODMyQQorOjBFMDVFNDAwRjA3NDAxMkEyNDAwRkFFNDM0MTdGQjkwN0VDMTYzCis6MDcwNUYyMDBFMEZDOEE4MjhCODNGMDFDCis6MDMwNUY5MDA3NTM4MDE1MQorOjAxMDVGQzAwMjJEQworOjBFMDVGRDAwQzBFMEMwRjBDMDgyQzA4M0MwMDJDMDAzQzAwNEQyCis6MEUwNjBCMDBDMDA1QzAwNkMwMDdDMDAwQzAwMUMwRDA3NUQwMzkKKzowRDA2MTkwMDAwQzA4Njc1ODYwMEU1OTFDMkU0RjU5MTkwNjEKKzowRDA2MjYwMDdGQUE3NDAxRjAxMjA1NjQ3NTM3MDBEMDg2QkMKKzowRTA2MzMwMEQwRDBEMDAxRDAwMEQwMDdEMDA2RDAwNUQwMDQyMgorOjBEMDY0MTAwRDAwM0QwMDJEMDgzRDA4MkQwRjBEMEUwMzJDMAorOjBFMDY0RTAwOTA3RkVCRTBGQTkwN0ZFQUUwRkI5MDdGRUVFMDE5Cis6MEUwNjVDMDBGQzMzOTVFMEZEOTA3Rjk2RTBGRTkwN0Y5Njc0NTMKKzowRTA2NkEwMDgwNjUwNkYwOTA3RjAwNzQwMUYwRUFDNDAzNTQyRQorOjBFMDY3ODAwRjhGRUVCMjVFMEZCMkVGRTI0MDBGQkU0MzQxNzE5Cis6MEUwNjg2MDBGRjhCODI4RjgzRTBGQjc0MDEyRTI0MDBGRUU0QzQKKzowRTA2OTQwMDM0MTdGRjhFODI4RjgzRTBGRTkwN0ZFOUUwRkYzNworOjAzMDZBMjAwQkY4MTBBMEIKKzowQTA2QTUwMDkwN0YwMEVCRjA5MDdGMDFFRUYwNzMKKzowODA2QUYwMDkwN0ZFOUUwRkJCQjgyMUExOQorOjAzMDZCNzAwQkEwMTBDNzkKKzowQzA2QkEwMDkwN0YwMEU0RjA5MDdGMDFFNEYwODAwQkUyCis6MEIwNkM2MDA5MDdGMDBFNEYwOTA3RjAxNzRCNUYwMUQKKzowODA2RDEwMDkwN0ZFOUUwRkJCQjgzMUJGNQorOjAzMDZEOTAwQkEwMTBENTYKKzowRDA2REMwMDkwN0YwMDc0MDFGMDkwN0YwMUU0RjA4MDBCMkUKKzowQjA2RTkwMDkwN0YwMEU0RjA5MDdGMDE3NDEyRjA5RAorOjA4MDZGNDAwOTA3RkU5RTBGQkJCODQxQ0QwCis6MDMwNkZDMDBCQTAxMEQzMworOjBEMDZGRjAwOTA3RjAwNzQwMUYwOTA3RjAxRTRGMDgwMEMwQQorOjBDMDcwQzAwOTA3RjAwNzQ4MEYwOTA3RjAxNzQwMUYwNzkKKzowNTA3MTgwMDkwN0ZCNUVDRjAzQworOjAxMDcxRDAwMjJCOQorOjBDMDcxRTAwNzUzNjBEOTA4ODAwNzQxREYwNzU2QjgwMUUKKzowQTA3MkEwMDc1NkMzQzEyMTBFMjc1NkI4MDc1Q0YKKzowOTA3MzQwMDZDMEYxMjEwRTI3NTZCODA3NTY4Cis6MDkwNzNEMDA2QzA2MTIxMEUyNzU2QjgwNzU2OAorOjA3MDc0NjAwNkMwMTEyMTBFMjdBMDBDMQorOjAzMDc0RDAwQkFGRjAwRjAKKzowMjA3NTAwMDUwMEE0RAorOjBBMDc1MjAwQzAwMjEyMDFEREQwMDIwQTgwRjE5RQorOjBBMDc1QzAwNzU2QjgwNzU2QzNDMTIxMEUyNzU5RAorOjA4MDc2NjAwNkI4MDc1NkMwRjEyMTBFMkFDCis6MDEwNzZFMDAyMjY4Cis6MEUwNzZGMDA5MDdGQTFFNEYwOTA3RkFGNzQwMUYwOTA3RjkyMzQKKzowRTA3N0QwMDc0MDJGMDc1OEUzMTc1ODkyMTc1ODgwMDc1Qzg3QgorOjBFMDc4QjAwMDA3NThENDA3NTk4NDA3NUMwNDA3NTg3MDA3NUVCCis6MDkwNzk5MDAyMDAwNzUyMTAwNzUyMjAwNzU5NQorOjA1MDdBMjAwMjMwMDc1NDcwMDczCis6MDcwN0E3MDBDM0U1NDc5NDIwNTAxMTQ3Cis6MEQwN0FFMDBFNTQ3MjQwMEY1ODJFNDM0MTdGNTgzRTRGMEZDCis6MDQwN0JCMDAwNTQ3ODBFODg2Cis6MDkwN0JGMDBFNEY1NDBGNTNGRTRGNTNDRjVEQQorOjA3MDdDODAwM0JFNEY1M0VGNTNENzUzMQorOjBCMDdDRjAwMzIwMDc1MzcwMDc1MzkwMDkwN0Y5M0YxCis6MEUwN0RBMDA3NDNDRjA5MDdGOUM3NEZGRjA5MDdGOTY3NDgwQ0EKKzowRTA3RTgwMEYwOTA3Rjk0NzQ3MEYwOTA3RjlENzQ4RkYwOTA2RAorOjBFMDdGNjAwN0Y5N0U0RjA5MDdGOTU3NEMyRjA5MDdGOTg3NDI2Cis6MEUwODA0MDAyOEYwOTA3RjlFNzQyOEYwOTA3RkYwRTRGMDkwMzIKKzowRTA4MTIwMDdGRjFFNEYwOTA3RkYyRTRGMDkwN0ZGM0U0RjBFOQorOjBFMDgyMDAwOTA3RkY0RTRGMDkwN0ZGNUU0RjA5MDdGRjZFNDMyCis6MEUwODJFMDBGMDkwN0ZGN0U0RjA5MDdGRjhFNEYwOTA3RkY5MEYKKzowRTA4M0MwMDc0MzhGMDkwN0ZGQTc0QTBGMDkwN0ZGQjc0QTBFNworOjBFMDg0QTAwRjA5MDdGRkM3NEEwRjA5MDdGRkQ3NEEwRjA5MDAxCis6MEUwODU4MDA3RkZFNzRBMEYwOTA3RkZGNzRBMEYwOTA3RkUwMTAKKzowRTA4NjYwMDc0MDNGMDkwN0ZFMTc0MDFGMDkwN0ZERDc0ODBFOAorOjBCMDg3NDAwRjAxMjEyNDMxMjA3MUU3QTAwN0IwMEY2Cis6MDkwODdGMDBDM0VBOTQxRUVCOTQwMDUwMTcyQgorOjBDMDg4ODAwOTA4ODAwRTBGNTQ3OTA4ODBCRTBGNTQ3RjEKKzowOTA4OTQwMDkwN0Y2OEYwMEFCQTAwMDEwQjI0Cis6MDIwODlEMDA4MEUwRjkKKzowQzA4OUYwMDEyMDNFMTkwN0ZENkU0RjA3QTAwN0IwMEE5Cis6MEQwOEFCMDA4QTA0OEIwNUMzRUE5NEUwRUI5NDJFNTAxQUVBCis6MEUwOEI4MDBDMDAyQzAwM0MwMDRDMDA1MTIwMURERDAwNUQwOEYKKzowQTA4QzYwMDA0RDAwM0QwMDIwQUJBMDAwMTBCQUYKKzowMjA4RDAwMDgwRDlDRAorOjBEMDhEMjAwOTA3RkQ2NzQwMkYwOTA3RkQ2NzQwNkYwOTBFRgorOjBFMDhERjAwN0ZERTc0MDVGMDkwN0ZERjc0MDVGMDkwN0ZBQzMzCis6MEUwOEVEMDBFNEYwOTA3RkFENzQwNUYwNzVBODgwNzVGODEwRUEKKzowRDA4RkIwMDkwN0ZBRTc0MEJGMDkwN0ZFMjc0ODhGMDkwNTcKKzowQzA5MDgwMDdGQUI3NDA4RjA3NUU4MTE3NTMyMDE3NUMyCis6MEMwOTE0MDAzMTAwNzUzMDAwQzAwNEMwMDUxMjA0Rjc2QgorOjBBMDkyMDAwRDAwNUQwMDQ3NTM0MDA3NTM1MDFEMAorOjBEMDkyQTAwOTA3RkFFNzQwM0YwOEMwMkJBMDAwMjgwMDNDRgorOjAzMDkzNzAwMDIwQTNGNzIKKzowQzA5M0EwMDg1MzMzNDkwN0Y5RDc0OEZGMDkwN0Y5NzgwCis6MEUwOTQ2MDA3NDA4RjA5MDdGOUQ3NDg4RjA5MDdGOUFFMEZBMUMKKzowQzA5NTQwMDc0MDU1QUY1MzM5MDdGOUQ3NDhGRjA5MDZECis6MEQwOTYwMDA3Rjk3NzQwMkYwOTA3RjlENzQ4MkYwRTUzMzY0Cis6MEQwOTZEMDAyNUUwRkE5MDdGOUFFMDU0MDVGQjRBRjUzMzJGCis6MDIwOTdBMDA2MDBDMEYKKzowQzA5N0MwMDkwN0Y5NkUwRkE5MDdGOTY3NDgwNEFGMDFECis6MEIwOTg4MDA3NTZFMDA3NTZGMDBDMDA0QzAwNTEyMDIKKzowRTA5OTMwMDExNDREMDA1RDAwNDkwMTcxM0UwRkE3NDgwMkFBNgorOjA2MDlBMTAwRkFFNTMzQjQwNDI5NUQKKzowMzA5QTcwMEJBQTAwMEYzCis6MDIwOUFBMDA1MDI0RDcKKzowRDA5QUMwMDkwMTcxM0UwMDRGQjBCOTAxNzEzRUJGMDkwNzUKKzowRTA5QjkwMDE3MTNFMEZCOTAxNzE1RjBDMDAyQzAwNEMwMDUzNAorOjA5MDlDNzAwMTIwNEY3RDAwNUQwMDREMDAyOUYKKzowNTA5RDAwMEU1MzNCNDAyMjYyRQorOjA2MDlENTAwQzM3NDA0OUE1MDIwRDcKKzowRDA5REIwMDkwMTcxM0UwRkExQTFBOTAxNzEzRUFGMDkwMjMKKzowRDA5RTgwMDE3MTNFMEZBOTAxNzE1RjBDMDA0QzAwNTEyQjcKKzowNjA5RjUwMDA0RjdEMDA1RDAwNDU4Cis6MDUwOUZCMDBFNTMzQjQwODFEMDYKKzowNDBBMDAwMEU1MzQ3MDE5NTAKKzowQTBBMDQwMDc0MDEyNTM1NTQwRkY1MzU4NTM1RDIKKzowQzBBMEUwMDc1NzU3NjAwQzAwNEMwMDUxMjEzRkVEMDAwCis6MDMwQTFBMDAwNUQwMDQwMAorOjA1MEExRDAwRTUzM0I0MDExREVBCis6MDQwQTIyMDBFNTM0NzAxOTJFCis6MEEwQTI2MDBFNTM1MjRGRjU0MEZGNTM1ODUzNTQyCis6MEMwQTMwMDA3NTc1NzYwMEMwMDRDMDA1MTIxM0ZFRDBERQorOjAzMEEzQzAwMDVEMDA0REUKKzowRTBBM0YwMEMwMDRDMDA1MTIwMURERDAwNUQwMDQ5MDdGOTZFMgorOjBFMEE0RDAwRTBGQTkwN0Y5Njc0N0Y1QUYwOTA3Rjk3NzQwOEJECis6MEEwQTVCMDBGMEMzRUM5NDAwRUQ5NDAyNDAwODkzCis6MDgwQTY1MDA5MDdGOTZFMEZBMjBFNjA4RkMKKzowODBBNkQwMEMzRTQ5Qzc0MDg5RDUwMTNDMgorOjBFMEE3NTAwOTA3Rjk2RTBGQTkwN0Y5Njc0NDA2NTAyRjA3Q0M4Cis6MDUwQTgzMDAwMDdEMDA4MDA1NkMKKzowNTBBODgwMDBDQkMwMDAxMEQ5MworOjA1MEE4RDAwRTUzOEI0MDEwRTg0Cis6MEQwQTkyMDBDMDA0QzAwNTEyMDRGN0QwMDVEMDA0NzUzODZCCis6MDEwQTlGMDAwMDU2Cis6MDcwQUEwMDBFNTMxNzAwMzAyMDkyQTkxCis6MEEwQUE3MDA5MDdGQzlFMEZBNzAwMzAyMEMyREU1Cis6MEUwQUIxMDA5MDdGOTZFMEZBOTA3Rjk2NzQ4MDY1MDJGMDkwMzgKKzowOTBBQkYwMDdEQzBFMEZBQkEyQzAyODAwM0FDCis6MDMwQUM4MDAwMjBCMzZFOAorOjA1MEFDQjAwNzUzMjAwN0IwMDA0Cis6MDMwQUQwMDBCQjY0MDAwNAorOjAyMEFEMzAwNTAxQ0I1Cis6MEUwQUQ1MDBDMDAyQzAwM0MwMDRDMDA1MTIwMURERDAwNUQwNzAKKzowRDBBRTMwMDA0RDAwM0QwMDI5MDg4MEZFMEY1NDcwQjgwOEYKKzowMTBBRjAwMERGMjYKKzowRDBBRjEwMEMwMDJDMDA0QzAwNTEyMDcxRTEyMDNFMTEyNkUKKzowQzBBRkUwMDA0RjdEMDA1RDAwNEQwMDI3NTZFMDA3NTFFCis6MEQwQjBBMDA2RjAxQzAwMkMwMDRDMDA1MTIxMTQ0RDAwNUU3Cis6MDkwQjE3MDBEMDA0RDAwMjc1NzA0RDc1NzExNworOjBCMEIyMDAwMEM3NTcyMDJDMDAyQzAwNEMwMDUxMjc4Cis6MEIwQjJCMDAxMTc1RDAwNUQwMDREMDAyMDIwQzJEODMKKzowMzBCMzYwMEJBMkEzQjlECis6MEQwQjM5MDA5MDdGOTg3NDIwRjBDMDAyQzAwNEMwMDUxMjI3Cis6MEUwQjQ2MDAwMURERDAwNUQwMDREMDAyOTA3Rjk4NzQyOEYwMTUKKzowMjBCNTQwMDdCMDAyNAorOjAzMEI1NjAwQkIwQTAwRDcKKzowNTBCNTkwMDQwMDMwMjBDMkQxOQorOjBFMEI1RTAwQzAwMkMwMDNDMDA0QzAwNTEyMDFEREQwMDVEMEU2Cis6MDgwQjZDMDAwNEQwMDNEMDAyMEI4MEUyNkIKKzowMzBCNzQwMEJBMkIxQTdGCis6MDgwQjc3MDA5MDdGQzlFMEZCQkI0MDEyQjYKKzowRTBCN0YwMEMwMDJDMDA0QzAwNTEyMTIwNUQwMDVEMDA0RDA3QgorOjA0MEI4RDAwMDIwMjBDMkQyNworOjAzMEI5MTAwQkExMDFGNzgKKzowRTBCOTQwMDkwN0Y5NkUwRkI5MDdGOTY3NDgwNjUwM0YwQzAyMgorOjBFMEJBMjAwMDJDMDA0QzAwNTEyMTAzREQwMDVEMDA0RDAwMkUwCis6MDMwQkIwMDAwMjBDMkQwNworOjAzMEJCMzAwQkExMTEyNjIKKzowRTBCQjYwMEMwMDJDMDA0QzAwNTEyMTA2QUQwMDVEMDA0RDBFMQorOjA0MEJDNDAwMDIwMjBDMkRGMAorOjAzMEJDODAwQkExMjEyNEMKKzowRTBCQ0IwMEMwMDJDMDA0QzAwNTEyMTA4RkQwMDVEMDA0RDBBNworOjA0MEJEOTAwMDIwMjBDMkREQgorOjAzMEJERDAwQkExMzBCM0QKKzowQjBCRTAwMDkwN0RDMUUwRkI5MDg4MDBGMDgwNDI5NworOjAzMEJFQjAwQkExNDExMjgKKzowRTBCRUUwMEMwMDJDMDA0QzAwNTEyMTFEREQwMDVEMDA0RDAzNQorOjAzMEJGQzAwMDI4MDJFNDYKKzowMzBCRkYwMEJBMTUxRDA3Cis6MEMwQzAyMDA5MDdEQzFFMEY1NzU5MDdEQzJFMEY1NzZCNAorOjBFMEMwRTAwQzAwMkMwMDRDMDA1MTIxM0ZFRDAwNUQwMDREMEYxCis6MDMwQzFDMDAwMjgwMEU0NQorOjAzMEMxRjAwQkExNjBCRjcKKzowQjBDMjIwMEMwMDRDMDA1MTIxM0EzRDAwNUQwMDRDRAorOjBCMEMyRDAwOTA3RkM5RTRGMDc1MzEwMDAyMDkyQTM1Cis6MDEwQzM4MDAyMjk5Cis6MDcwQzM5MDA1MzU1NTA0NTRFNDQwMEU1Cis6MDcwQzQwMDA1MjQ1NTM1NTRENDUwMERDCis6MDYwQzQ3MDAyMDU2NkY2QzIwMDAzNgorOjBEMEM0RDAwNDQ0MTQyNTU1MzQyMjA3NjMxMkUzMDMwMDA5NAorOjBFMEM1QTAwQzBFMEMwRjBDMDgyQzA4M0MwMDJDMDAzQzAwNDZFCis6MEUwQzY4MDBDMDA1QzAwNkMwMDdDMDAwQzAwMUMwRDA3NUQwRDYKKzowRDBDNzYwMDAwQzA4Njc1ODYwMEU1OTFDMkU0RjU5MTkwRkUKKzowRTBDODMwMDdGQUI3NDAxRjA5MDdGRThFMEZBOTA3RkU5RTAyQgorOjA2MEM5MTAwRkJCQjAwMDI4MDAzMjIKKzowMzBDOTcwMDAyMEQzODEzCis6MDMwQzlBMDBCQTgwMTQwOQorOjBFMEM5RDAwOTA3RjAwNzQwMUYwOTA3RjAxRTRGMDkwN0ZCNTJECis6MDYwQ0FCMDA3NDAyRjAwMjBFQ0QwMAorOjA1MENCMTAwQkE4MjAyODAwMzdECis6MDMwQ0I2MDAwMjBEMUQwRgorOjA4MENCOTAwOTA3RkVDRTBGQ0JDMDEwMDlGCis6MDIwQ0MxMDA0MDIxRDAKKzowNjBDQzMwMEMzNzQwNzlDNDAxQkY2Cis6MEUwQ0M5MDBFQzI0RkYyNUUwRkQyNEM2RjU4MkU0MzQ3RkY1MUYKKzowRDBDRDcwMDgzRTBGRDUzMDUwMTkwN0YwMEVERjA4MDJCQzAKKzowMzBDRTQwMEJDODEwMEQwCis6MDIwQ0U3MDA0MDIxQUEKKzowNjBDRTkwMEMzNzQ4NzlDNDAxQjUwCis6MEUwQ0VGMDBFQzI0N0YyNUUwRkMyNEI2RjU4MkU0MzQ3RkY1OEEKKzowRDBDRkQwMDgzRTBGQzUzMDQwMTkwN0YwMEVDRjA4MDA1QzMKKzowNTBEMEEwMDkwN0YwMEU0RjAwMQorOjBFMEQwRjAwOTA3RjAxRTRGMDkwN0ZCNTc0MDJGMDAyMEVDREVCCis6MDUwRDFEMDBCQTgxMDI4MDAzMTEKKzowMzBEMjIwMDAyMEVDNUY5Cis6MEUwRDI1MDA5MDdGMDBFNEYwOTA3RjAxRTRGMDkwN0ZCNTc0QzEKKzowNTBEMzMwMDAyRjAwMjBFQ0RFQworOjAzMEQzODAwQkIwMTJEQ0YKKzowNjBEM0IwMEJBMDAwMzAyMEVDRDE4Cis6MDMwRDQxMDBCQTAyMTFFMgorOjBEMEQ0NDAwNzU1OTAwQzAwMkMwMDMxMjBFRjBEMDAzRDA5QworOjA0MEQ1MTAwMDIwMjBFQ0RCRgorOjA1MEQ1NTAwQkEyMTAyODAwMzM5Cis6MDMwRDVBMDAwMjBFQ0RCOQorOjBCMEQ1RDAwNzUzNzAxOTA3RkM1RTRGMDAyMEVDRDU5Cis6MDMwRDY4MDBCQjAzMUZBQgorOjA2MEQ2QjAwQkEwMDAzMDIwRUNERTgKKzowNTBENzEwMEJBMDIwMjgwMDMzQworOjAzMEQ3NjAwMDIwRUNEOUQKKzowRDBENzkwMDc1NTkwMUMwMDJDMDAzMTIwRUYwRDAwM0QwNjYKKzowNDBEODYwMDAyMDIwRUNEOEEKKzowMzBEOEEwMEJCMDY1NDUxCis6MDUwRDhEMDBCQTgwMDI4MDAzQTIKKzowMzBEOTIwMDAyMEVDNTg5Cis6MDgwRDk1MDA5MDdGRUJFMEZDQkMwMTE1QUUKKzowQzBEOUQwMDdDRkI3RDBGOEQwNjdGMDA5MDdGRDRFRTY0Cis6MDkwREE5MDBGMDkwN0ZENUVDRjAwMjBFQ0RCNAorOjBBMERCMjAwOTA3RkVCRTBGQ0JDMDIwMjgwMDMxRQorOjAzMERCQzAwMDIwRUM1NUYKKzowQTBEQkYwMDkwN0ZFQUUwRkNCQzAwMDI4MDAzMTQKKzowMzBEQzkwMDAyMEVDNTUyCis6MEMwRENDMDA3QzNCN0QwRjhEMDY3RjAwOTA3RkQ0RUVGNQorOjA5MEREODAwRjA5MDdGRDVFQ0YwMDIwRUNEODUKKzowNjBERTEwMEJCMDcwMzAyMEVDNTcyCis6MDMwREU3MDBCQjA4MTAzNgorOjBEMERFQTAwQUM0ODkwN0YwMEVDRjA5MDdGQjU3NDAxRjBGNAorOjAzMERGNzAwMDIwRUNEMUMKKzowMzBERkEwMEJCMDkzMTAxCis6MDUwREZEMDBCQTAwMDI4MDAzQjIKKzowMzBFMDIwMDAyMEVDNTE4Cis6MEUwRTA1MDA5MDdGRUFFMEZDQzM3NDAxOUM1MDAzMDIwRUM1MEUKKzowODBFMTMwMDkwN0ZFQUUwRkNCQzAwMEEzQworOjBBMEUxQjAwOTAxNzIxRTRGMDkwMTcyMkU0RjA5NAorOjA5MEUyNTAwOTA3RkVBRTBGNTQ4MDIwRUNERDEKKzowMzBFMkUwMEJCMEEyN0Q1Cis6MDUwRTMxMDBCQTgxMDI4MDAzRkMKKzowMzBFMzYwMDAyMEVDNUU0Cis6MEUwRTM5MDA5MDdGRUNFMEZBMjQyMEZBRTQzNDE3RkM4QTgyNjEKKzowRTBFNDcwMDhDODNFMEZBOTA3RjAwRjA5MDdGQjU3NDAxRjA4QworOjAzMEU1NTAwMDIwRUNEQkQKKzowNTBFNTgwMEJCMEIwMjgwMDM0QQorOjAzMEU1RDAwMDIwRUE5RDkKKzowRDBFNjAwMDkwMTcyMEU0RjA5MDdGRUNFMEZBQkEwMTFBNDAKKzowODBFNkQwMDkwN0ZFREUwRkFCQTAwMTJEQgorOjBFMEU3NTAwOTA3RkVBRTBGQTkwMTcyMUYwQzAwMzEyMDRFMjI5Cis6MDQwRTgzMDBEMDAzODA0NkQyCis6MDgwRTg3MDA5MDdGRUNFMEZBQkEwMjNFOTQKKzowODBFOEYwMDkwN0ZFREUwRkFCQTAwMzY5NQorOjBEMEU5NzAwQzAwMzEyMDRFRkQwMDM5MDdGRUFFMEZBOTA1MAorOjA1MEVBNDAwMTcyMkYwODAyNDdDCis6MDUwRUE5MDBCQjEyMDI4MDE3REUKKzowNTBFQUUwMEJCODEwMjgwMEQ3NAorOjA1MEVCMzAwQkI4MzAyODAwODcyCis6MDUwRUI4MDBCQjgyMDI4MDAzNzMKKzowMzBFQkQwMEJCODQwNUVFCis6MDUwRUMwMDAxMjA2NEU4MDA4M0YKKzowODBFQzUwMDkwN0ZCNDc0MDNGMDgwMDY3NQorOjA2MEVDRDAwOTA3RkI0NzQwMkYwRjYKKzowMjBFRDMwMEQwODZDNworOjBFMEVENTAwRDBEMEQwMDFEMDAwRDAwN0QwMDZEMDA1RDAwNDc4Cis6MEQwRUUzMDBEMDAzRDAwMkQwODNEMDgyRDBGMEQwRTAzMjE2Cis6MEIwRUYwMDA5MDdGRUNFMEY1NUFDMzk0MDE0MDFEMTgKKzowNzBFRkIwMEMzNzQwNzk1NUE0MDE2NkQKKzowRDBGMDIwMEU1NUEyNEZGMjVFMEZBMjRDNkY1ODJFNDM0MDgKKzowOTBGMEYwMDdGRjU4M0FBNTlFQUYwODAyMjYzCis6MDcwRjE4MDBDM0U1NUE5NDgxNDAxQjYwCis6MDcwRjFGMDBDMzc0ODc5NTVBNDAxNENBCis6MEQwRjI2MDBFNTVBMjRGRjI1RTBGQTI0QjZGNTgyRTQzNEY0Cis6MDcwRjMzMDA3RkY1ODNBQTU5RUFGMEUzCis6MDEwRjNBMDAyMjk0Cis6MEUwRjNCMDAwOTAyQkEwMDAzMDEwMDQwMDAwOTA0MDAwMDAwOTIKKzowRTBGNDkwMDAxMDEwMDAwMDkyNDAxMDAwMTNEMDAwMTAxMEMxRQorOjBFMEY1NzAwMjQwMjAxMTAwNzAwMDIwMzAwMDAwMDBEMjQwNjEyCis6MEUwRjY1MDAwMzAxMDIxNTAwMDMwMDAzMDAwMDA5MjQwMzAyMkIKKzowRTBGNzMwMDAxMDEwMDAxMDAwOTI0MDMwNDAyMDMwMDAzMDAzMQorOjBFMEY4MTAwMDkyNDAzMDUwMzA2MDAwMTAwMDkwNDAxMDAwMDE1Cis6MEUwRjhGMDAwMTAyMDAwMDA5MDQwMTAxMDEwMTAyMDAwMDA3MzcKKzowRTBGOUQwMDI0MDEwMjAxMDEwMDBCMjQwMjAxMDIwMjEwMDFENgorOjBFMEZBQjAwODBCQjAwMDkwNTg4MDUwMDAxMDEwMDAwMDcyNTM0Cis6MEUwRkI5MDAwMTAwMDAwMDAwMDkwNDAyMDAwMjAwMDAwMDAwMTgKKzowRTBGQzcwMDA3MDU4MjAyNDAwMDAwMDcwNTAyMDI0MDAwMDBGQworOjBFMEZENTAwMDkwNDAyMDEwMzAwMDAwMDAwMDcwNTgyMDI0MDJCCis6MEUwRkUzMDAwMDAwMDcwNTAyMDI0MDAwMDAwOTA1ODkwNUEwNzQKKzowQTBGRjEwMDAxMDEwMDAwMDBGRkZGRkZGRjAwRjgKKzowRTBGRkIwMDEyMDEwMDAxMDAwMDAwNDA0NzA1OTk5OTAwMDExNQorOjBFMTAwOTAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDA5MDJCQTEzCis6MDQxMDE3MDAwMDAzMDEwMEQxCis6MDIxMDFCMDA3QTAwNTkKKzowMzEwMUQwMEJBMDUwMDExCis6MDIxMDIwMDA1MDE3NjcKKzowODEwMjIwMDkwN0ZBNUUwRkIzMEUwMDUyMgorOjA1MTAyQTAwOTAwMDAxODAwREEzCis6MEExMDJGMDBDMDAyMTIwMURERDAwMjBBODBFNEM1Cis6MDMxMDM5MDA5MDAwMDEyMworOjAxMTAzQzAwMjI5MQorOjBFMTAzRDAwOTA3REMxRTBGOUEzRTBGQUEzRTBGQjdDMDA3RDBBCis6MDQxMDRCMDA3RUVCNjAxMkM2Cis6MEUxMDRGMDA4OTgyOEE4M0UwQTNBOTgyQUE4MzhDODI4RDgzODIKKzowNDEwNUQwMEYwMENEQkVFQ0EKKzowODEwNjEwMDkwN0RDM0UwOTA3RkI5RjAxRgorOjAxMTA2OTAwMjI2NAorOjBFMTA2QTAwOTA3REMxRTBGOUEzRTBGQUEzRTBGQjdDQzQ3RDE5Cis6MDQxMDc4MDA3REVCNjBFNUM3Cis6MEUxMDdDMDA4QzgyOEQ4M0UwMEM4OTgyOEE4M0YwQTNBOTgyODYKKzowNDEwOEEwMEFBODNEQkVFNkMKKzowMTEwOEUwMDIyM0YKKzowRTEwOEYwMDkwN0ZBNTc0ODBGMDA1ODY5MDdEQzFFMDA1ODZGNworOjBFMTA5RDAwQTNGMDEyMTAxQjkwN0ZBNjA1ODZBM0EzRTBGOTE2Cis6MDUxMEFCMDA2MDE2QTMwNTg2OUMKKzowRDEwQjAwMDkwN0ZBNjA1ODZFMEEzMDU4NkYwQzAwMTEyMjIKKzowNjEwQkQwMDEwMUJEMDAxRDlFRDZCCis6MDYxMEMzMDA5MDdGQTU3NDQwRjBDRgorOjAxMTBDOTAwMjIwNAorOjA4MTBDQTAwOTA4ODAyNzQwMUYwN0EwMDI1Cis6MDMxMEQyMDBCQUZGMDA2MgorOjAyMTBENTAwNTAwQUJGCis6MEExMEQ3MDBDMDAyMTIwMURERDAwMjBBODBGMTEwCis6MDExMEUxMDAyMkVDCis6MDUxMEUyMDBFNTZCQjRDMDA4M0QKKzowODEwRTcwMDkwODgwM0U1NkNGMDgwMDYxRgorOjA2MTBFRjAwOTA4ODAyRTU2Q0YwQTAKKzowNDEwRjUwMDdBMDA3QjAwMDIKKzowQjEwRjkwMEMzRUE5NDMyRUI2NDgwOTQ4MDUwMDczRgorOjA1MTEwNDAwMEFCQTAwMDEwQjE2Cis6MDIxMTA5MDA4MEVFNzYKKzowMTExMEIwMDIyQzEKKzowQTExMEMwMDkwODgwM0U1NkRGMDA1Mzk3QTAwQzQKKzowMzExMTYwMEJBMjgwMEY0Cis6MDIxMTE5MDA1MDAzODEKKzowMzExMUIwMDBBODBGODRGCis6MDUxMTFFMDBFNTM5QjQxMDA4RTIKKzowODExMjMwMDkwODgwMjc0QzBGMDgwMEVGOAorOjA1MTEyQjAwRTUzOUI0MjAwOUM0Cis6MDkxMTMwMDA5MDg4MDI3NDgwRjA3NTM5MDAwQQorOjAyMTEzOTAwN0EwMDNBCis6MDMxMTNCMDBCQTI4MDBDRgorOjAyMTEzRTAwNTAwMzVDCis6MDMxMTQwMDAwQTgwRjgyQQorOjAxMTE0MzAwMjI4OQorOjA0MTE0NDAwRTU2RjYwMDJGMQorOjAyMTE0ODAwODAwNzFFCis6MDcxMTRBMDA3QTAwNzUzOTAwODAwNUYxCis6MDUxMTUxMDA3QTQwNzUzOTEwMjEKKzowOTExNTYwMEU1NkUyQUZBRTU2RTI1MzlGNTczCis6MEExMTVGMDAzOTkwODgwMjc0ODAyQUYwN0EwMEFCCis6MDgxMTY5MDBDM0VBNjQ4MDk0QTg1MDAzNUUKKzowMzExNzEwMDBBODBGNUZDCis6MDExMTc0MDAyMjU4Cis6MDYxMTc1MDBBQTcwQUI3MUFDNzIyMAorOjBDMTE3QjAwOEE4MjhCODM4Q0YwMTIxNEVFRkQ2MDE4NDkKKzowRDExODcwMDhENkRDMDAyQzAwM0MwMDQxMjExMENEMDA0MTUKKzowOTExOTQwMEQwMDNEMDAyMEFCQTAwMDEwQkRECis6MDIxMTlEMDA4MERDRjQKKzowMTExOUYwMDIyMkQKKzowRDExQTAwMEU1NzNDNDU0MEZGQTUzMDIwRkMzNzQwOTlBOEIKKzowMjExQUQwMDUwMDZFQQorOjA2MTFBRjAwNzQzNzJBRkI4MDA0RTYKKzowNDExQjUwMDc0MzAyQUZCNkQKKzowQzExQjkwMDhCNkRDMDAzMTIxMTBDRDAwM0FBNzM1M0ZECis6MDgxMUM1MDAwMjBGQzM3NDA5OUE1MDA2RTEKKzowNjExQ0QwMDc0MzcyQUZCODAwNEM4Cis6MDQxMUQzMDA3NDMwMkFGQjRGCis6MDUxMUQ3MDA4QjZEMTIxMTBDRUMKKzowMTExREMwMDIyRjAKKzowNzExREQwMDkwN0RDM0UwRkE2MDBGRjIKKzowQzExRTQwMDkwN0RDMUUwRjU2RTkwN0RDMkUwRjU2RkRCCis6MDMxMUYwMDAxMjExNDQ5NQorOjBDMTFGMzAwOTA3REZGRTRGMDc1NzBDNDc1NzE3RDc1OEYKKzowNTExRkYwMDcyMDExMjExNzVFMAorOjAxMTIwNDAwMjJDNworOjAyMTIwNTAwN0EwNDY5Cis6MDMxMjA3MDBCQTQwMDBFQQorOjAyMTIwQTAwNTAzNjVDCis6MEUxMjBDMDBFQTI0QzBGNTgyRTQzNDdERjU4M0UwRkI3QzAwMkIKKzowMzEyMUEwMEJDMDgwMDBECis6MDIxMjFEMDA1MDIwNUYKKzowNjEyMUYwMDhCMDVFRDMwRTcwQjJBCis6MEIxMjI1MDA5MDdGOTY3NDQyRjA3NEMzRjA4MDA4QzQKKzowODEyMzAwMDkwN0Y5NkU0RjA3NDgxRjA1OAorOjA3MTIzODAwRUIyNUUwRkIwQzgwREI1RAorOjAzMTIzRjAwMEE4MEM1NUQKKzowMTEyNDIwMDIyODkKKzowNDEyNDMwMDdBMDA3QkVGQzMKKzowMzEyNDcwMEJBMTAwMERBCis6MDIxMjRBMDA1MDIwMzIKKzowRTEyNEMwMDc0MTEyQkZCMjQwMEZDRTQzNDE4RkQ4QzgyOEQwMQorOjBFMTI1QTAwODNFNEYwRUEyNDAwRjU4MkU0MzQxOUY1ODNFNDFECis6MDQxMjY4MDBGMDBBODBEQjJECis6MDExMjZDMDAyMjVGCis6MEUxMjZEMDA3NEY4MjQwMEY1ODI3NDAzMzQ4NEY1ODNFNEYwRjEKKzowRTEyN0IwMDc0RjkyNDAwRjU4Mjc0MDMzNDg0RjU4M0U0RjBFMgorOjBFMTI4OTAwNzRGQTI0MDBGNTgyNzQwMzM0ODRGNTgzRTRGMEQzCis6MEUxMjk3MDA3NEZCMjQwMEY1ODI3NDAzMzQ4NEY1ODNFNEYwQzQKKzowRTEyQTUwMDc0RkYyNDAwRjU4Mjc0MDMzNDg0RjU4M0U0RjBCMgorOjAxMTJCMzAwMjIxOAorOjBFMTJCNDAwMTIwM0NCMTIxMjZEN0FDMDdCODc3QzAxNzQwMThECis6MEUxMkMyMDAyQUZERTQzQkZFOEMwNzhBODI4QjgzOENGMDc0M0QKKzowRTEyRDAwMDAxMTIxNEJGMkRGQUU0M0VGQjhGMDQ4RDgyOEVCNgorOjBFMTJERTAwODM4RkYwNzQwNjEyMTRCRjc0MDEyQUZERTQzQkU2Cis6MEUxMkVDMDBGRThDMDc4QTgyOEI4MzhDRjBFNDEyMTRCRjc0OTAKKzowRTEyRkEwMDAxMkRGQUU0M0VGQjhGMDQ4RDgyOEU4MzhGRjA2RgorOjBFMTMwODAwNzQwQjEyMTRCRjc0MDEyQUZERTQzQkZFOEMwNzI3Cis6MEUxMzE2MDA4QTgyOEI4MzhDRjA3NDA4MTIxNEJGNzQwMTJEMzAKKzowRTEzMjQwMEZBRTQzRUZCOEYwNDhEODI4RTgzOEZGMDc0MDFGRAorOjBFMTMzMjAwMTIxNEJGMkFGREU0M0JGRThDMDc4QTgyOEI4M0Q3Cis6MEUxMzQwMDA4Q0YwRTQxMjE0QkY3NDAxMkRGQUU0M0VGQjhGMTIKKzowRTEzNEUwMDA0OEQ4MjhFODM4RkYwNzQwMzEyMTRCRjdEMDAxNQorOjAzMTM1QzAwQkQwNjAwQ0IKKzowMjEzNUYwMDUwMTIyQQorOjBCMTM2MTAwOEE4MjhCODM4Q0YwMEFCQTAwMDEwQjFCCis6MDcxMzZDMDBFNDEyMTRCRjBEODBFOTNCCis6MEQxMzczMDA4QTgyOEI4MzhDRjBFNTc0MTIxNEJGNzRGOTJDCis6MEUxMzgwMDAyNDAwRjU4Mjc0MDMzNDg0RjU4Mzc0MEZGMDc0MzYKKzowRTEzOEUwMEZFMjQwMEY1ODI3NDAzMzQ4NEY1ODM3NDAxRjBBQworOjA2MTM5QzAwMTIwM0UxMTIwNEY3NDgKKzowMTEzQTIwMDIyMjgKKzowRDEzQTMwMDkwN0RDMUUwRkEyNDAwRkJFNDM0MTlGQzkwQjkKKzowRTEzQjAwMDdEQzJFMEZEOEI4MjhDODNGMDc1RjAxMUVBQTQwMworOjAzMTNCRTAwRkE3QjAwQjcKKzowMzEzQzEwMEJCMTAwMDVFCis6MDIxM0M0MDA1MDI0QjMKKzowRTEzQzYwMEVBMjQwMEZDRTQzNDE4RkRFQjJDRkNFNDNERkRCMQorOjBFMTNENDAwNzQwNDJCMjRDMEY1ODJFNDM0N0RGNTgzRTBGRTIyCis6MDgxM0UyMDA4QzgyOEQ4M0YwMEI4MEQ3OTMKKzowRTEzRUEwMEVBMjQwMEZBRTQzNDE4RkI3NDEwMkFGNTgyRTRCOQorOjA1MTNGODAwM0JGNTgzRTRGMDY5Cis6MDExM0ZEMDAyMkNECis6MDQxM0ZFMDBFNTc2NjAwMjJFCis6MDIxNDAyMDA4MDE2NTIKKzowQzE0MDQwMDc0MEY1NTc1RkE4QTc1MjQwMEY1ODJFNDE3Cis6MEExNDEwMDAzNDE5RjU4M0UwRjU3NDEyMTJCNEVDCis6MEExNDFBMDAxMjEwQ0E3NTZFMDA3NTZGMDAxMjAzCis6MDYxNDI0MDAxMTQ0NzU3MEI5NzU1QQorOjA2MTQyQTAwNzExNDc1NzIwMjEyM0MKKzowQjE0MzAwMDExNzVFNTc2QjQwMjA0NzQwMTgwMDEyMAorOjAxMTQzQjAwRTRDQworOjAzMTQzQzAwRkE3MDBGMzQKKzowQzE0M0YwMDc0MDEyNTc1RjU3M0MwMDIxMjExQTBEMEQ1Cis6MDMxNDRCMDAwMjgwMEExMgorOjBBMTQ0RTAwODU3NTczQzAwMjEyMTFBMEQwMDJEMAorOjBDMTQ1ODAwNzU2RTAwNzU2RjAxQzAwMjEyMTE0NEQwQzcKKzowNDE0NjQwMDAyRUE3MDFBMEUKKzowRDE0NjgwMDc1RjAxMUU1NzVBNEZBMjQwMEZBRTQzNDE4QkIKKzowOTE0NzUwMEZCOEE3MDhCNzE3NTcyMDExMjgzCis6MDQxNDdFMDAxMTc1ODAzNjJFCis6MDIxNDgyMDA3QTAwRUUKKzowMzE0ODQwMEJBMTAwMDlCCis6MDIxNDg3MDA1MDJGRTQKKzowRDE0ODkwMEVBMjQwMEY1ODJFNDM0MTlGNTgzRTBGQkU1NjgKKzowNDE0OTYwMDc1QjUwMzFCMEEKKzowRTE0OUEwMDc1RjAxMUVBQTRGQjI0MDBGQkU0MzQxOEZDOEI2RgorOjA5MTRBODAwNzA4QzcxNzU3MjAxQzAwMjEyMTIKKzowNDE0QjEwMDExNzVEMDAyREYKKzowMzE0QjUwMDBBODBDQ0RFCis6MDExNEI4MDAyMjExCis6MDYxNEI5MDA1MDcyNkY2NzIwMDA3NQorOjBFMTRCRjAwQzhDMEUwQzhDMEUwRTVGMDYwMEIxNDYwMEYxNDc4Cis6MDcxNENEMDA2MDExMTQ2MDEyODAxNThDCis6MDcxNEQ0MDBEMEUwQTg4MkY2ODAwRUIzCis6MDUxNERCMDBEMEUwRjA4MDA5RTMKKzowNDE0RTAwMEQwRTA4MDA1RDMKKzowNTE0RTQwMEQwRTBBODgyRjIzNworOjA0MTRFOTAwQzhEMEUwQzhCRgorOjAxMTRFRDAwMjJEQworOjBFMTRFRTAwQzhDMEUwRTVGMDYwMEQxNDYwMEYxNDYwMEYxNDJDCis6MDYxNEZDMDA2MDEwNzRGRjgwMEY3OAorOjA1MTUwMjAwQTg4MkU2ODAwQTRBCis6MDMxNTA3MDBFMDgwMDc3QQorOjA0MTUwQTAwRTQ5MzgwMDNFMworOjAzMTUwRTAwQTg4MkUyQ0UKKzowNDE1MTEwMEY4RDBFMEM4NjYKKzowMTE1MTUwMDIyQjMKKzowMDAwMDAwMUZGCisKKyAqIENvcHlyaWdodCAoQykgMTk5OSBCYXlDb20gR21iSAorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgcmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZQorICogY29kZSByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgY29tbWVudCB3aXRob3V0CisgKiBtb2RpZmljYXRpb24uCmRpZmYgLS1naXQgYS9maXJtd2FyZS9kc3A1NmsvYm9vdHN0cmFwLmFzbSBiL2Zpcm13YXJlL2RzcDU2ay9ib290c3RyYXAuYXNtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEwZDg5MTkKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9kc3A1NmsvYm9vdHN0cmFwLmFzbQpAQCAtMCwwICsxLDk4IEBACis7IEF1dGhvcjogRnJlZGVyaWsgTm9yaW5nIDxub3JpbmdAbm9jcmV3Lm9yZz4KKzsKKzsgVGhpcyBmaWxlIGlzIHN1YmplY3QgdG8gdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKzsgTGljZW5zZS4gIFNlZSB0aGUgZmlsZSBDT1BZSU5HIGluIHRoZSBtYWluIGRpcmVjdG9yeSBvZiB0aGlzIGFyY2hpdmUKKzsgZm9yIG1vcmUgZGV0YWlscy4KKworOyBEU1A1NmsgbG9hZGVyCisKKzsgSG9zdCBJbnRlcmZhY2UKK01fQkNSICAgRVFVICAgICAkRkZGRSAgICAgICAgICAgOyBQb3J0IEEgQnVzIENvbnRyb2wgUmVnaXN0ZXIKK01fUEJDICAgRVFVICAgICAkRkZFMCAgICAgICAgICAgOyBQb3J0IEIgQ29udHJvbCBSZWdpc3RlcgorTV9QQkREUiBFUVUgICAgICRGRkUyICAgICAgICAgICA7IFBvcnQgQiBEYXRhIERpcmVjdGlvbiBSZWdpc3RlcgorTV9QQkQgICBFUVUgICAgICRGRkU0ICAgICAgICAgICA7IFBvcnQgQiBEYXRhIFJlZ2lzdGVyCitNX1BDQyAgIEVRVSAgICAgJEZGRTEgICAgICAgICAgIDsgUG9ydCBDIENvbnRyb2wgUmVnaXN0ZXIKK01fUENERFIgRVFVICAgICAkRkZFMyAgICAgICAgICAgOyBQb3J0IEMgRGF0YSBEaXJlY3Rpb24gUmVnaXN0ZXIKK01fUENEICAgRVFVICAgICAkRkZFNSAgICAgICAgICAgOyBQb3J0IEMgRGF0YSBSZWdpc3RlcgorCitNX0hDUiAgIEVRVSAgICAgJEZGRTggICAgICAgICAgIDsgSG9zdCBDb250cm9sIFJlZ2lzdGVyCitNX0hTUiAgIEVRVSAgICAgJEZGRTkgICAgICAgICAgIDsgSG9zdCBTdGF0dXMgUmVnaXN0ZXIKK01fSFJYICAgRVFVICAgICAkRkZFQiAgICAgICAgICAgOyBIb3N0IFJlY2VpdmUgRGF0YSBSZWdpc3RlcgorTV9IVFggICBFUVUgICAgICRGRkVCICAgICAgICAgICA7IEhvc3QgVHJhbnNtaXQgRGF0YSBSZWdpc3RlcgorCis7IFNTSSwgU3luY2hyb25vdXMgU2VyaWFsIEludGVyZmFjZQorTV9SWCAgICBFUVUgICAgICRGRkVGICAgICAgICAgICA7IFNlcmlhbCBSZWNlaXZlIERhdGEgUmVnaXN0ZXIKK01fVFggICAgRVFVICAgICAkRkZFRiAgICAgICAgICAgOyBTZXJpYWwgVHJhbnNtaXQgRGF0YSBSZWdpc3RlcgorTV9DUkEgICBFUVUgICAgICRGRkVDICAgICAgICAgICA7IFNTSSBDb250cm9sIFJlZ2lzdGVyIEEKK01fQ1JCICAgRVFVICAgICAkRkZFRCAgICAgICAgICAgOyBTU0kgQ29udHJvbCBSZWdpc3RlciBCCitNX1NSICAgIEVRVSAgICAgJEZGRUUgICAgICAgICAgIDsgU1NJIFN0YXR1cyBSZWdpc3RlcgorTV9UU1IgICBFUVUgICAgICRGRkVFICAgICAgICAgICA7IFNTSSBUaW1lIFNsb3QgUmVnaXN0ZXIKKworOyBFeGNlcHRpb24gUHJvY2Vzc2luZworTV9JUFIgICBFUVUgICAgICRGRkZGICAgICAgICAgICA7IEludGVycnVwdCBQcmlvcml0eSBSZWdpc3RlcgorCisgICAgICAgIG9yZyAgICAgUDokMAorc3RhcnQgICBqbXAgICAgIDwkNDAKKworICAgICAgICBvcmcgICAgIFA6JDQwCis7ICAgICAgIDsgWmVybyAxNjM4NCBEU1AgWCBhbmQgWSB3b3JkcworOyAgICAgICBjbHIgICAgIEEgIzAscjAKKzsgICAgICAgY2xyICAgICBCICMwLHI0Cis7ICAgICAgIGRvICAgICAgIzY0LDxfYmxvY2sxCis7ICAgICAgIHJlcCAgICAgIzI1NgorOyAgICAgICBtb3ZlICAgIEEsWDoocjApKyBCLFk6KHI0KSsKKztfYmxvY2sxICAgICAgICA7IFplcm8gKDMyNzY4LTUxMikgUHJvZ3JhbSB3b3JkcworOyAgICAgICBjbHIgICAgIEEgIzUxMixyMAorOyAgICAgICBkbyAgICAgICMxMjYsPF9ibG9jazIKKzsgICAgICAgcmVwICAgICAjMjU2Cis7ICAgICAgIG1vdmUgICAgQSxQOihyMCkrCis7X2Jsb2NrMgorCisgICAgICAgIDsgQ29weSBEU1AgcHJvZ3JhbSBjb250cm9sCisgICAgICAgIG1vdmUgICAgI3JlYWwscjAKKyAgICAgICAgbW92ZSAgICAjdXBsb2FkLHIxCisgICAgICAgIGRvICAgICAgI3VwbG9hZF9lbmQtdXBsb2FkLDxfY29weQorICAgICAgICBtb3ZlICAgIFA6KHIwKSsseDAKKyAgICAgICAgbW92ZSAgICB4MCxQOihyMSkrCitfY29weSAgIG1vdmVwICAgIz40LFg6PDxNX0hDUgorICAgICAgICBtb3ZlcCAgICM+JGMwMCxYOjw8TV9JUFIKKyAgICAgICAgYW5kICAgICAjPCRmZSxtcgorICAgICAgICBqbXAgICAgIHVwbG9hZAorCityZWFsCisgICAgICAgIG9yZyAgICAgUDokN2VhOQordXBsb2FkCisgICAgICAgIG1vdmVwICAgIz4xLFg6PDxNX1BCQworICAgICAgICBtb3ZlcCAgICM+MCxYOjw8TV9CQ1IKKworbmV4dCAgICBqY2xyICAgICMwLFg6PDxNX0hTUiwqCisgICAgICAgIG1vdmVwICAgWDo8PE1fSFJYLEEKKyAgICAgICAgbW92ZSAgICAjPjMseDAKKyAgICAgICAgY21wICAgICB4MCxBICM+MSx4MAorICAgICAgICBqZXEgICAgIDwkMAorX2dldF9hZGRyZXNzCisgICAgICAgIGpjbHIgICAgIzAsWDo8PE1fSFNSLF9nZXRfYWRkcmVzcworICAgICAgICBtb3ZlcCAgIFg6PDxNX0hSWCxyMAorX2dldF9sZW5ndGgKKyAgICAgICAgamNsciAgICAjMCxYOjw8TV9IU1IsX2dldF9sZW5ndGgKKyAgICAgICAgbW92ZXAgICBYOjw8TV9IUlgseTAKKyAgICAgICAgY21wICAgICB4MCxBICM+Mix4MAorICAgICAgICBqZXEgICAgIGxvYWRfWAorICAgICAgICBjbXAgICAgIHgwLEEKKyAgICAgICAgamVxICAgICBsb2FkX1kKKworbG9hZF9QICBkbyAgICAgIHkwLF9sb2FkCisgICAgICAgIGpjbHIgICAgIzAsWDo8PE1fSFNSLCoKKyAgICAgICAgbW92ZXAgICBYOjw8TV9IUlgsUDoocjApKworX2xvYWQgICBqbXAgICAgIG5leHQKK2xvYWRfWCAgZG8gICAgICB5MCxfbG9hZAorICAgICAgICBqY2xyICAgICMwLFg6PDxNX0hTUiwqCisgICAgICAgIG1vdmVwICAgWDo8PE1fSFJYLFg6KHIwKSsKK19sb2FkICAgam1wICAgICBuZXh0Citsb2FkX1kgIGRvICAgICAgeTAsX2xvYWQKKyAgICAgICAgamNsciAgICAjMCxYOjw8TV9IU1IsKgorICAgICAgICBtb3ZlcCAgIFg6PDxNX0hSWCxZOihyMCkrCitfbG9hZCAgIGptcCAgICAgbmV4dAorCit1cGxvYWRfZW5kCisgICAgICAgIGVuZApkaWZmIC0tZ2l0IGEvZmlybXdhcmUvZHNwNTZrL2Jvb3RzdHJhcC5iaW4uaWhleCBiL2Zpcm13YXJlL2RzcDU2ay9ib290c3RyYXAuYmluLmloZXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjMzZjIxZgotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2RzcDU2ay9ib290c3RyYXAuYmluLmloZXgKQEAgLTAsMCArMSwyNiBAQAorOjEwMDAwMDAwMEMwMDQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNAorOjEwMDAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMAorOjEwMDAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMAorOjEwMDAzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMAorOjEwMDA0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMAorOjEwMDA1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMAorOjEwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MAorOjEwMDA3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MAorOjEwMDA4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MAorOjEwMDA5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MAorOjEwMDBBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MAorOjEwMDBCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MAorOjEwMDBDMDAwNjBGNDAwMDAwMDRGNjFGNDAwMDA3RUE5MDYyRTgwMDA1RAorOjEwMDBEMDAwMDA0NzA3RDg4NDA3NTk4NDA4RjRBODAwMDAwNDA4RjRFRQorOjEwMDBFMDAwQkYwMDBDMDAwMEZFQjgwQUYwODAwMDdFQTkwOEY0QTA1MgorOjEwMDBGMDAwMDAwMDAxMDhGNEJFMDAwMDAwMEFBOTgwMDA3RUFEMDhERgorOjEwMDEwMDAwNEUyQjQ0RjQwMDAwMDAwMzQ0RjQ0NTAwMDAwMTBFQTAwRgorOjEwMDExMDAwMDAwQUE5ODAwMDdFQjUwODUwMkIwQUE5ODAwMDdFQjg4RAorOjEwMDEyMDAwMDg0NjJCNDRGNDQ1MDAwMDAyMEFGMEFBMDA3RUM5MjBDQworOjEwMDEzMDAwMDA0NTBBRjBBQTAwN0VEMDA2QzYwMDAwN0VDNjBBQTlDNQorOjEwMDE0MDAwODAwMDdFQzQwODU4NkIwQUYwODAwMDdFQUQwNkM2MDBCMQorOjEwMDE1MDAwMDA3RUNEMEFBOTgwMDA3RUNCMDg1OEFCMEFGMDgwMDA1MworOjEwMDE2MDAwN0VBRDA2QzYwMDAwN0VENDBBQTk4MDAwN0VEMjA4NTg2MworOjA3MDE3MDAwRUIwQUYwODAwMDdFQURGOAorOjAwMDAwMDAxRkYKKy8qIERTUDU2MDAxIGJvb3RzdHJhcCBjb2RlICovCmRpZmYgLS1naXQgYS9maXJtd2FyZS9lZGdlcG9ydC9ib290LkgxNiBiL2Zpcm13YXJlL2VkZ2Vwb3J0L2Jvb3QuSDE2Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRiZjhlOTEKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9lZGdlcG9ydC9ib290LkgxNgpAQCAtMCwwICsxLDI5IEBACis6MDAwNDAwMDAwMDAxMEMwMDAyRUQKKzowMDAyMDAwMDA0MDBGRkZCCis6MDAwNjAwMDAwMDAyMDA4MDAyMDAwMzczCis6MDAwMzAwMEIwMDAyMDAwQkU1Cis6MDAwMzAwMTMwMDAyMDFCODJGCis6MDAwMzAwMUIwMDAyMDAxQkM1Cis6MDAwMzAwMjMwMDAyMDAyM0I1Cis6MDAwMzAwMkIwMDAyMDAyQkE1Cis6MDAwMzAwMzMwMDAyMDAzMzk1Cis6MDAwMzAwM0IwMDAyMDAzQjg1Cis6MDAwMzAwNDMwMDAyMDFCREZBCis6MDAwMzAwNEIwMDAyMDFEMERGCis6MDAwMzAwNTMwMDAyMDEyMTg2Cis6MDAwMzAwN0IwMDAyMDA3QjA1Cis6MDE2NjAwODAwMDdFQjAwMDdBQjMzRkYyN0VGODAwMjM3RTAwMDE3RTEwMDAxMjA3NUY2OTIwMDAwQUJFMjQwMDAwNzgwNTc1OTAwRDgwMDM3NTkwMUREMkI1N0UwMDAwQTVEOEZENzVBODAwNzVCMTAwQTlENTg3Q0EyOTEyMDlDQzEyMDlBMEY1MDk3QUExMjAxMjAxRTZEQTI5QTlEMEM3N0UwMDA1N0EwMUYxNzVFMTEwQTlEN0Y0QTlEN0U0QTVEOEYxNzVGMTAwNzVFMTNGNzVBMjAzNzVBMzAwNzVDMDAwNzVDMTAwQTlEMUIxQTlEMEIxQTlENUQzRDJBRkU0N0UwNDI4MDA4REVGMUIwNDc4RkEwNEE5MzREMzAzMzBFMEVFQkUyNDAwMDA3ODA1NjM5MDMwODBFM0IyOTU4MERGQkVCMDAyMjJDMEQwQTkyMERGMEZBOTMxREYwMzAyMDFCNTc1MDgwMTEyMDgzMzgwRkU3NTA4RkUxMjA4MzM3NUE4MDA3RUIzM0ZGMjMwRTA0QjMwMDE0NkMyOTI3RTI0ODAwMDdFMTEwOTc0MDgxOUIyMDAxMDc0MEUxOUIyMDAwNDJFMjQwMTAwQTVEOUVEN0UyNDgwMDA3RTExMDlFNEQ1RTBGRDA5QjIwMDA4MjBFMDBBMDlCMjAwMDAwOUIyMDAxODgwRUIyRTI0MDEwMEE1RDlFNDQzOTAzMEQyQUE4MDA1RDJBQTQzOTAzNEQyQUZBOUQxODcwMDAwMDAwMDAwQTkxMURGMDNBOUQyREY3NTA4RkYxMjA4MzNDMEQxQ0EwMkZGQ0EwNjgzMDAzMkQwRDAzMkMyOEJDMkFBMzI3NTA4MDgxMjA4MzNBOUMwQjFBOUM1RDNBOUM2RDNBOUQyQjEzMkNBQjg3NTA4MDIxMjA4MzNFNUMwNTQwMzY4MDUxMjAxRUU4MEY1REFCODMyQUUKKzowMDAxMUJDQTAwMDAxQQorOjA2NEQwMUU2MDBFNDdBQjMzRkYxMDIwMjYzQ0EwQkNBMUJDQTJCQ0EzQkNBNEJDQTVCQ0E2QkNBN0JDQUVCQzBGMTdFQjMwMTJCQjQwMDAyODAxOUI0MDExNjMwQzAwODc1RjEwMDEyMDI0RDgwMUYzMEMxMUM3NUYxMDAxMjAyREU4MDE0MzBDMTA4NzVGMTAwMTIwMkRFODAwOTMwQzAwNjc1RjEwMDEyMDI0REQwRjFEQUVCREE3QkRBNkJEQTVCREE0QkRBM0JEQTJCREExQkRBMEIyMkMyQzA3RUIzMDEyQkI0MDIwNzEyMDI2RjAyMDI2MzIyQjQwMUZDMDIwMkE5N0UwMDAwN0EwMzAxMkI3QTAzMDEyQzIyN0VCMzAxMjM1NDYwNjAwNUI0NDAxNTgwMTM3RUIzMDEyNEI0MDUwQzc1MDg3MTEyMDgzMzdFQjMwMTI2RjU4RjIyNzVGNjAwMjJCRTU3MDEyOTI4MDQ3RTU3MDEyOTdBMEYwMTJFN0E1NzAxMzIwMjAyQTk3RUVGMDEyRTdFRjcwMTMyN0UwNzAxMzI0RDAwNjgyMTdFMDAwMDdFRUJCMEY1RjNBM0E1MDgxQkY0NjgwNEE1QjgwOEYwN0FFRjAxMkU3QUY3MDEzMjc1MDgwNjEyMDgzMzdBMDFGNjIyQzJDMTc1MDgwMzEyMDgzM0E5MzZFMjE2RTVGNTU0QzA2ODA3QTlEN0Y0QTkyN0Y0RkM1M0UxM0Y0M0YyODgwMjAzNTU3RUIzMDEyQ0I0MDIwRkE5RDRFNDdFQjAwMDdBQjMwMTJDN0FCMzAxMkIyMkI0MDEzOTdFMjFFNjdDMzI3RTEzMDEyRDJDMjE3QTIzMDEyRDdFMDAwMDJFMDQwMTM0RTVFMzdBMDlCMDBCMDRBNURCRjZBOUQ0RTQ3NTA4NzAxMjA4MzM3RUIzMDEyRDdFQTMwMTJBQkNBQjc4MDMxMjAzRUMyMjAyMDc1NUU1RTZCNDA4NjVBOUM0RTI3RTAxRTM3RTExRTM3RTMxRTM3RTIxRTM3RTUxRTM3RTQxRTM3RTcxRTM3RTYxRTM3QTBGMDEyMzdBMUYwMTI3NzUwODA0MTIwODMzN0EwMTA4MTIwODMzN0ExMTA4MTIwODMzN0EyMTA4MTIwODMzN0EzMTA4MTIwODMzN0E0MTA4MTIwODMzN0E1MTA4MTIwODMzN0E2MTA4MTIwODMzN0E3MTA4MTIwODMzQTlENEU0QTlEN0Y0QTlDNkUyMTIwM0MwMjI2RDAwN0UxNDAxMDI3QTA3MDEzMjdBMDMwMTJEN0VCMzAxMjMyMEU3MEY3QTIzMDEyQzdBMzMwMTJCQkUwNzAxMjk2ODA5MjI3QTMzMDEyQzdBMjMwMTJCN0VCMzAxMjM1NEUzMjMyMzMwRTAwMkQyRTUzMEU3MDJEMkU0MzBFNTA2MzBFNDAzMDIwNzU1NTQzRUY1RjAwMzU0MUZDMzI1RjA5MDA0MTg3NTg0RkY3MzAyMDU2QzAyMDQ2MDAyMDYwOTAyMDYyNDAyMDUwNTAyMDRDNjAyMDYzRDAyMDYzRDAyMDY0MDAyMDY0MDAyMDY0MDAyMDY0MDAyMDY0MDAyMDY0MDAyMDY0MDAyMDY0MDAyMDY0NjAyMDZGQTAyMDY0MzAyMDY0MzAyMDY0MzAyMDY0MzAyMDY0MzAyMDY0MzdFQjMwMTI0QjQwNjJBN0VCMzAxMjU2MDU2N0MwQjdFMTMwMTI2N0UxNzAxMjc3NTA4NzIxMjA4MzM3QTAxMDgxMjA4MzM3QTExMDgxMjA4MzMxMjA3NUY0MDM1MDIwMjk0QjQwODEwNzUwODc0MTIwODMzN0VCMzNGRjFGNUYzNzVGNjAxMjJCNDAwMUM3NTA4NzUxMjA4MzM3RUIzM0ZGMjMwRTAwNTc1RjMwMjgwMDM3NUYzMDA3NUYzMDA3NUY2MDIyMjAyMDc1NTdFQjMwMTI0QjQwMDM1NzUwODc2MTIwODMzN0VCMzAxMjg1NDBGRjVGMTdFQjMwMTI4MjBFNzA5RTVFMTMwRTcwRDc0MDE4MDBCRTVFMTMwRTYwNDc0MDE4MDAyNzQwMDUzRjE4MEY1RjM3NUYzMDA3NUY2MDIyMjAyMDc1NUMwRjE3RUIzMDEyODU0MEY0MkYxN0VCMzAxMjZCNDAwNDU3RUIzMDEyNEI0MDEyNDc1MDg3NzEyMDgzMzdFQjMwMTI4NTQwRjc4MDU1M0UxM0Y4MDM3N0VCMzAxMjgyMEU3MDU1M0UxN0Y4MDJCNTNFMUJGODAyNkI0MDMxNzc1MDg3ODEyMDgzMzdFQjMwMTI4MjBFNzA1NDNFMTgwODAxMTQzRTE0MDgwMEM0M0UxQzBEMEYxNzUwODA3MTIwODMzMjJEMEYxMDIwMjkwN0VCMzAxMjRCNDA5MjM3NTA4NzkxMjA4MzM3RUIzMDEyNkJFQjMzRkYxNjgxMUNBQjhDMEYxMTIwMTFERDBGMURBQjg1MDc2N0FCMzNGRjE4MDZEQjQwNTA4NzUwODdBMTIwODMzODA2MkI0MDMxOTc1MDg3QjEyMDgzMzdFQjMwMTI2QjQwMTU1N0VCMzNGRjI0NDAxN0FCMzNGRjI4MDQ2QjQwMTE5NzUwODdDMTIwODMzN0VCMzAxMjZCNDAxMzk3RUIzM0ZGMjU0RkU3QUIzM0ZGMjgwMkFCNDA3MkE3RUIzMDEyNTYwMjQ3QzBCN0UxMzAxMjY3RTE3MDEyNzc1MDg3MzEyMDgzMzdBMDEwODEyMDgzMzdBMTEwODEyMDgzMzEyMDc4QjQwMDMwMjAyOTAwMjA3NTU3RUIzMDEyNEI0MEJGNjc1MDg3RDEyMDgzMzdFQjMwMTI2N0VBMzAxMjg0Q0FCNzhFNDgwREY3RUIzMDEyNEI0MEFEQjc1MDg3RTEyMDgzMzdFQjMwMTI2NzBDRkY1RjM3NUY2MDEyMjAyMDc1NTAyMDc1NTAyMDc1NTdFQjMwMTI0QjQwNDIwNzUwOEMzMTIwODMzN0UwNDAwMDE3RTE3MDEyNTdFMTgwMTM0N0ExQzAwMDA3RTQ3MDEyOTEyMDgzRjAyMDZGNEI0MDYzQTc1MDhDMTEyMDgzMzdFNTgwMDAwN0E1QzAwRkU3RENBN0VENzAxMjU3RTc4MDEzNDdBN0MwMDAwN0U3NzAxMjk3NTA4QzExMjA4MzNDMEE4QzA4N0MyQUZBOUQ1ODcxMjA4RDZEMDg3RDBBODQwNEY4MDRBQjQwMDFDQzJBRkE5RDU4NzEyMDI5MEU0OERFRjhERUY4REVGRDVFMEY3QzBEMUNBMDJGRkNBMDYwMDAwMzJCNDA5MTI3RTU3MDEyNTRENTU2ODA1QTlEMkIxODAwM0E5QzJCMTgwMTZCNDA3MTZDMkFGN0UwNzAxMjc3RTE3MDEyNUMwRDFDQTE4Q0EzOENBMjgzMjAyMDI5MDAyMDc1NTdFQjMwMTI0QjQwMzE1NzUwOEMyMTIwODMzN0UwNDAwMDE3RTE3MDEyNTdFNTcwMTI5MDIwMjk0QjQwNTM5NzUwOEMwMTIwODMzQzBBOEMwODdDMkFGQTlENTg3N0UwODAxMzQ3QTBDMDAwMDdFMjQwMEZFN0UzNzAxMjU3RTQ3MDEyOTEyMDgzRkQwODdEMEE4N0UwODAxMzQ3QTBDMDAwMDdFNTcwMTI5MDIwMjk0MDIwNzU1NzUwODA3MTIwODMzNDNFMUMwMjJDMEE4QzA4N0MyQUZBOUQ1ODcxMjA3Q0E0MDE5N0UwODAxMzQ3QTBDMDAwMENBMEJDQTQ5MTIwODNGREE1OURBMEJEMDg3RDBBOEMzMjJEMDg3RDBBODIyQzBBOEMwODdDMkFGQTlENTg3MTIwN0NBNDAyQjdFNTgwMDAwN0E1QzAwRkU3RjYxN0U3ODAxMzQ3QTdDMDAwMDdFNzcwMTI5QkQ3NDc4MTE3NTA4QzExMjA4MzMxMjA4RDY0MDA2RDA4N0QwQThDMzIyRDA4N0QwQThEMzIyN0UyNDAwRkU3RTM0N0ZDQTBCMUE1MEM1RjA3RDYyN0Q3NTdEODc3RTM0N0YwMzdFMUJCMEJDMEI1MDQ5M0UwMDNFMDAwQTUwMkQ3NTBCM0EzMDY5NTMwMDAyQkQzODUwMDIyRDM4QkMxQjUwMzAzRTEwM0UxMDBBNTEyRDM1Njk0MTAwMDIwQjFBMzBCRDM4NTAwMjJEMzhCRTQ0RkZGRjc4MDU3RTFCOTAwQTQ5NEQ0NDY4MENCRTQ0MDBGRjI4MDQ3RTQ0MDBGRkMzMjJEMzIyMzQKKzowMDQwN0ZDMDAwNDAwMTAyMDBDQTFCMDEwQzAyMDAwMDdDMDAwMDAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYxN0YwMDAwMDAwMDAwMDA1RAorOjEzOTcwODMzMDBDQTA4N0UwMTA4N0EwMzNGRjBEQTA4MjI4MDUwMEIxQTYwMEIzNTBCMUE3MDBCMzUwQjFBODAwQjM1MEIxQTkwMEIzNTBCMUFBMDBCMzUwQjFBQjAwQjM1MEIxQUMwMEIzNTBCMUFEMDBCMzUxQjBBNjAwQjE1MUIwQTcwMEIxNTFCMEE4MDBCMTUxQjBBOTAwQjE1MUIwQUEwMEIxNTFCMEFCMDBCMTUxQjBBQzAwQjE1MUIwQUQwMEIxNTlFNDQwMDEwNTBBQTJFNDQwMDEwNjgwRTdFMUJDMDdBMEJDMDBCMTQwQjM0MUI0NDc4RjIyMjdGNkY3RkYwMUJGQzdDNTQ3RDMyODAwOENBMUJDQTFCQ0ExQkNBMUI5RTQ0MDAxMDUwRjIyRTQ0MDAxMDY4MDZDQTQ4MUI0NDc4RkE3RkY2ODlFNENBNkI1RUQ0MDAzRjY4MjA3RTg0MDA0MDlEOEREQTZCQkQ4NzM4MTZDQTc5N0Q3ODEyMDkwMERBNzk0MDA4OUQ3ODY4MDI4MDA1QzJENzIyREE2QjQzOTAzMDc0QUEzOUI1NTU1NTc0NTUzOUI1MkFBQTc0QTAzOUI1NTU1NTdFMDQwMDQwOUQ3MDUwMDYyRDcwN0QwNzZENzc3QzMxN0U3QjAwN0E2QjAwMEI3QzBCNkNBNUQ5RjM3RjE2MUIxQzdFNTQyNzEwN0UxQjEwQkMxMDY4MDYxQjU0NzhGNTgwMkM2RDAwN0MyMDdGMTY5RjEwN0YyNzlGMjA3RTJCMDA3RTFCMTBCQzAxNzgxNjBCMkMwQjFDQTVEQkVGN0NCNjIwRTAwMzYzOTAzMDRENzc3ODkzQzJENzIyRDJENzIyMDAwNDAwMDQwMDAwMDYwNDAyMDQwMDAyMDEwNDAxMDIwMDAwMDAwMDAwMDAwMDAwMDIwMjAyMDIwMjA0MDAwODEwMDIxMDA0MDIwODAwMDEwMTA4N0UxODdGQkQ3QTFDMDBGRjBCMUEwMEJFMTAxNDM4MUEwQTUxMjM3RTE4MDk3NjdBMUMwMEZGMkQzNTBCMUE1MDYwMDhBNUI4MDIwMzRFQTAwODIyODBGRTdFRTg3RkJGN0FFQzAwRkZFMEY1MjI1NEMwNjgxNjdFRTg3RkJFN0FFQzAwRkZFMDYwMEMxMjA5QTBGNTA5N0FBMTIwMDIwRjBBMjJDMjk1RDI5NDEyMTlGQjUzOTBDRjEyMTlGQjgwRjEwRDBBMEEwQTBBMEEwQTBBMEEwQTBBMEEwQTBBMEEwQTBBMEQwQTBBMEEwQTBBMEEwQTBBMEEwQTBBMEEwQTBBMEEwQTQ1NjQ2NzY1NzA2RjcyNzQyRjM0MjAyRDIwNDg2MTcyNjQ3NzYxNzI2NTIwNDQ2OTYxNjc2RTZGNzM3NDY5NjM3MzJDMjA1MjY1NzYyMDMxMkUzMDMwM0IyMDQzNkY3MDc5NzI2OTY3Njg3NDIwMzEzOTM5MzgyMDQ5NkU3MzY5NjQ2NTIwNEY3NTc0MjA0RTY1NzQ3NzZGNzI2QjczMEQwQTAwNTA2MTczNzMwMDQ2NDE0OTRDMjAyMTIxMDA1MDYxNzM3MzIwMjAyMDIwMDA0NjQxNDk0QzIwMjEyMTIwMDAwRDBBNDQ2NTc0NjU2Mzc0MjA1MjYxNkQzQTIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAwMDBEMEE1MjYxNkQyMDU0NjU3Mzc0M0EyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDAwMEQwQTQxNjQ2NDcyNjU3MzczMjA2MjY5NzQyMDMwMkQzMTM0MjA3NDY1NzM3NDNBMjAyMDIwMjAyMDIwMjAyMDIwMDAwRDBBNTc3MjZGNzQ2NTIwNDE2NDY0NzI2NTczNzMzQTIwMzAzMDNBMDAyMDIwNzc2OTc0NjgyMDY0NjE3NDYxM0EyMDAwMkMyMDYxNkU2NDIwNzI2NTYxNjQzQTIwMDAwRDBBNEY2RTY1MjA2RjcyMjA2MjZGNzQ2ODIwNkY2NjIwNzQ2ODY1MjA2NjZGNkM2QzZGNzc2OTZFNjcyMDQxNjQ2NDcyNjU3MzczMjA2MjY5NzQ3MzIwNkM2OTczNzQ2NTY0MjA2MTcyNjUyMDczNjg2RjcyNzQ2NTY0MEQwQTc0NkYyMDczNkY2RDY1NzQ2ODY5NkU2NzNBMjAwMDIwNjE2RTY0MjAwMDBEMEE0NDY1NzQ2NTYzNzQyMDU1NjE3Mjc0M0EyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDAwMEQwQTUzNjM3MjYxNzQ2MzY4MjA1MDYxNjQyQzQ2Njk0NjZGMjA0NTZFNjE2MjZDNjUyMDI2MjA1MjUzNTQzQTIwMDAwRDBBMEEyMDIwMjA1NTYxNzI3NDIwNTQ2NTczNzQ3MzIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjA1MDZGNzI3NDMxMjAyMDIwNTA2RjcyNzQzMjIwMjAyMDUwNkY3Mjc0MzMyMDIwMjA1MDZGNzI3NDM0MEQwQTIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQwMDBEMEE1MDZGNzI3NDIwNDQ2NTYzNkY2NDY1NzIzQTIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAwMDBEMEE0NDY5Njc2OTc0NjE2QzIwNEM2RjZGNzA2MjYxNjM2QjNBMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAwMDBEMEE0MTZFNjE2QzZGNjcyMDRDNkY2RjcwNjI2MTYzNkIzQTIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAwMDBEMEE1MjU4NDQyQzU0NTg0NDIwNzQ2RjIwNTI1NDUzMkM0MzU0NTMyQzUyNDkyMDUzNjg2RjcyNzQzQTIwMjAyMDIwMjAwMDBEMEE1MjU4NDQyQzU0NTg0NDIwNzQ2RjIwNDQ1NDUyMkM0NDUzNTIyQzQzNDQyMDUzNjg2RjcyNzQzQTIwMjAyMDIwMjAwMDBEMEE1MjU0NTM1QjQzNTQ1MzJDNTI0OTVEMjA3NDZGMjA0NDU0NTIyQzQ0NTM1MjJDNDM0NDIwNTM2ODZGNzI3NDNBMjAwMDBEMEE1MjU0NTM1QjQzNTQ1MzJDNDM0NDVEMjA3NDZGMjA0NDUzNTIyQzUyNDkyMDUzNjg2RjcyNzQzQTIwMjAyMDIwMjAwMDBEMEE0NDU0NTI1QjQ0NTM1MjJDNDM0NDVEMjA3NDZGMjA1MjU0NTMyQzQzNTQ1MzJDNTI0OTIwNTM2ODZGNzI3NDNBMjAwMDBEMEE0NDU0NTIyMDc0NkYyMDQzNTQ1MzJDNDM0NDIwNTM2ODZGNzI3NDNBMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAwMDBEMEE1MjU0NTMyMDc0NkYyMDQzNTQ1MzJDNTI0OTIwNEM2RjZGNzA2MjYxNjM2QjNBMjAyMDIwMjAyMDIwMjAyMDIwMjAwMDBEMEE1MjU0NTMyMDc0NkYyMDQzNTQ1MzJDNDM0NDIwNEM2RjZGNzA2MjYxNjM2QjNBMjAyMDIwMjAyMDIwMjAyMDIwMjAwMDBEMEE0NDU0NTIyMDc0NkYyMDQ0NTM1MjJDNDM0NDIwNEM2RjZGNzA2MjYxNjM2QjNBMjAyMDIwMjAyMDIwMjAyMDIwMjAwMDBEMEEwQTIwMjAyMDQ1MjA1MjIwNTIyMDRGMjA1MjIwMjEyMTIxMkMyMDQ1MjA1MjIwNTIyMDRGMjA1MjIwMjEyMTIxMjAyQzIwNDUyMDUyMjA1MjIwNEYyMDUyMjAyMTIxMjEwRDBBMEE0NDY5NjE2NzZFNkY3Mzc0Njk2MzczMjA2RTZGNzcyMDc3Njk2QzZDMjA2NTZFNzQ2NTcyMjA2MTIwNjQ2NTYyNzU2NzIwNkM2RjZGNzAyMDZGNjYyMDc0Njg2NTIwNjY2OTcyNzM3NDIwNjQ2NTc0NjU2Mzc0NjU2NDIwNjU3MjcyNkY3MjJFMDAwRDBBMEE0RTZGMjA0ODYxNzI2NDc3NjE3MjY1MjA2NTcyNzI2RjcyNzMyMDY0NjU3NDY1NjM3NDY1NjQyRTBEMEEwMDQzNkY3MDc5Njk2RTY3MjA2MzZGNjQ2NTIwNjY3MjZGNkQyMDRENjE3Mzc0NjU3MjIwNzQ2RjIwNTM2QzYxNzY2NTI3NzMyMDQ1NDU3MDcyNkY2RDIwMkUyRTJFMDA0NDZGNkU2NTBEMEEwQTJEM0UyMDU0NzU3MjZFMjA3NTZFNjk3NDIwNkY2NjY2MkMyMDY0Njk3MzYzNkY2RTZFNjU2Mzc0MjA2MzYxNjI2QzY1MjA2MTZFNjQyMDcyNzU2RTIwNzM3NDYxNkU2NDYxNkM2RjZFNjUyMDY0Njk2MTY3NkU2RjczNzQ2OTYzNzMyRTAwQzJBRkMyMDlDMjBBNzU5MDBEMjAxNzAyRDJCNTQzOTAzMDZDMDA3RTEwMDMxMjBGMzg3RTY4MEEwMTdBNkMwMEZGMTIxQTkzMEIwMDMwQjQwMjgwMjQwMjFCM0MyMDA5MURDMjk0RDI5NTEyMTlGQjUzOTBDRjEyMTlGQkMyOTVEMjk0MTIxOUZCQTVEOUU2NDM5MDMwMTIxOUZCMjI3RTY4MEE5NDdBNkMwMEZGMTIxQTkzN0VFNDEwMDA3RTQwNTU3QUU5NDAwQkU0N0U1MEFBN0FFOTUwMUJFNEJFRTk0MDY4MTk3RTY4MEE3QTdBNkMwMEZGMTIxQTkzMTIxQTA4MzAwOTEzN0FFOTQwN0VFOTEwODBGODdFNjgwQTc1N0E2QzAwRkYxMjFBOTMwQjAwN0U2ODBBRDg3QTZDMDBGRjEyMUE5MzdFNzgwMDAwN0U3MDBFN0VBNEZGRkY3RUI0QkZGRjdEQ0IwRUM0N0REQzVEREI2Q0JCN0RGQTVFRjQ3RkZGN0E3QkIwMEJCMDdERkI1RUY0N0ZGRjdBN0JCMDBCQjA3REZDNUVGNDdGRkY3QTdCQjAwQkIwN0RGRDVFRjQ3RkZGN0E3QkIwNkNCQjdERkE1RUY0N0ZGRkJFN0JCMDc4NDEwQkIwN0RGQjVFRjQ3RkZGQkU3QkIwNzgzNDBCQjA3REZDNUVGNDdGRkZCRTdCQjA3ODI3MEJCMDdERkQ1RUY0N0ZGRkJFN0JCMDc4MUEwQkIwQkVDNEZGRkU3ODkyMEVCNEE1REY4QjdFNjgwQTgyN0E2QzAwRkYxMjFBOTM4MDc3Q0E1QkNBNkI3RTY4MEE4QjdBNkMwMEZGMTIxQTkzN0U2ODBCMkE3QTZDMDBGRjEyMUE5MzBBNDcxMjFBQzk3RTY4MEI3OTdBNkMwMEZGMTIxQTkzNkM3N0RBNkJDQTZCMEI3MDBFQzRCRUM0RkZGRjc4RjYxQjcwMEE0NzEyMUFDOTEyMUEwODMwMDkzMERBNkJEQTVCNkNCQjdFNzgwMDAwN0RGQTVFRjQ3RkZGN0E3QkIwN0RGQjVFRjQ3RkZGN0E3QkIwN0RGQzVFRjQ3RkZGN0E3QkIwN0RGRDVFRjQ3RkZGN0E3QkIwODBENDdFNjgwQUI2N0E2QzAwRkYxMjFBOTMzMDE3MEU3RTc4MDQyMDdBN0MwMDAwN0U0NDdCRTA4MDBDN0U3ODAwMDA3QTdDMDAwMTdFNDQ4MDAwMEIwMDdFNDAzQTdDNTQ3RjU3N0Q4NDZDNjY3QTVCNTAwQjVDMEI1MEE1REUwMjBCNTAxQjg0NzhGMDdDNTQ3RjU3N0Q4NDZDNjZCRTVCNTA3ODFBMEI1QzBCNTBBNURFMDIwQjUwMUI4NDc4RUU3RTY4MEE3NTdBNkMwMEZGMTIxQTkzODA0QjdGNDU3RTY4MEE3QTdBNkMwMEZGMTIxQTkzN0U2ODBBRkE3QTZDMDBGRjEyMUE5MzdENEIxMjFBQzk3RTY4MEIwRjdBNkMwMEZGMTIxQTkzNkM4ODdDOTUxMjFBQzk3RTY4MEIxRDdBNkMwMEZGMTIxQTkzN0U0QjkwMTIxQUM5MTIxQTA4MzAwOTA1N0U0QjkwODBGQjdFNjgwQjdGN0E2QzAwRkYxMjFBOTMwQjAwRDI5MjdFMjQ4MDAwMDlCMjAwMDhCRUIwMDE3ODBCMDlCMjAwMTRCRUIwNjA3ODAyODAxNzdFNjgwQTdBN0E2QzAwRkYxMjFBOTMxMjFBMDgzMDA5MTEwOUIyMDAwODgwRkE3RTY4MEE3NTdBNkMwMEZGMTIxQTkzN0U2ODBCQTE3QTZDMDBGRjEyMUE5MzBCMDBDMjkyMTIxOUVFN0UyNDgwMDA3RUEwNTUxOUEyMDAxQzdFQjAwMTE5QjIwMDA4MDlCMjAwMUNCQ0FCNzgzNzA5QjIwMDA4NUVCMEMwQkVCMEMwNzgyQjdFQTBBQTE5QTIwMDFDNkNCQjE5QjIwMDA4MDlCMjAwMUNCQ0FCNzgxNjA5QjIwMDA4NUVCMEMwNzgwRDdFNjgwQTc1N0E2QzAwRkYxMjFBOTM4MDFCN0U2ODBBN0E3QTZDMDBGRjEyMUE5MzEyMUEwODMwMDkwQTE5QTIwMDFDMDlCMjAwMUM4MEY2N0U2ODBCQzM3QTZDMDBGRjEyMUE5MzdFNjgwQzQ1N0E2QzAwRkYxMjFBOTM3RTI0ODAwMDdFMTEwOTdFQjAwMTE5QjIwMDFDMkUyNDAxMDAwQkIwQTVEOUYzN0UyNDgwMDA3RTExMDk3RUIwMDEwQjAwMDlBMjAwMUNCQ0FCNzgxNjdFNjgwQTgyN0E2QzAwRkYxMjFBOTMyRTI0MDEwMDBCQjBBNUQ5RTI4MDI1N0U2ODBBOEI3QTZDMDBGRjEyMUE5MzEyMUEwODMwMDlFNDdFMjQ4MDAwN0UxMTA5MDlBMjAwMUMyRTI0MDEwMEE1RDlGNTgwRUM3RTY4MEM2OTdBNkMwMEZGMTIxQTkzMTIxMzhBN0UyNDgwMDA3RTExMDkwQjAwNzQxMDE5QjIwMDEwMTIxMzAzMkUyNDAxMDBBNUQ5RUU3RTY4MEM4RDdBNkMwMEZGMTIxQTkzN0UyNDgwMDA3RTExMDkwQjAwRTQxOUIyMDAxMDEyMTMwMzJFMjQwMTAwQTVEOUVGMzAwMDAzMDIxOEI3MDIxM0JCNzQwNzE5QjIwMDA4MTIxOUZCMDlCMjAwMDAwOUIyMDAxNDA5QjIwMDAwMDlCMjAwMTQwOUIyMDAwMDA5QjIwMDE0MDlCMjAwMDAwOUIyMDAxNEMyMEI3RUIwNTUxMjEzNjQ3RUIwQUExMjEzNjQ3RUIwMDAxMjEzNjQ3RUIwRkYxMjEzNjQzMDBCMEY3RTY4MEE4QjdBNkMwMEZGMTIxQTkzMTIxQTA4MjI3RTY4MEE4MjdBNkMwMEZGMTIxQTkzMjIxOUIyMDAwMDEyMTlFRTA5QTIwMDAwQkNBQjc4MDEyMjIwMDkwM0QyMEIyMjEyMUEwODE5QjIwMDAwMTIxOUVFMDlBMjAwMDA4MEYzRDI5MjEyMTlFRUMyOTIxMjE5RUU3RTI0ODAwMDdFMTEwOTc0ODAxOUIyMDAwQzdFNTQwMDAyMTlBMjAwMDQxOUIyMDAwMDc0MDMxOUIyMDAwQzJFMjQwMTAwQTVEOUUxMjI3RTY4MENCMTdBNkMwMEZGMTIxQTkzN0UyNDgwMDA3RTExMDkwQjAwMTIxOUVFMDlCMjAwMTg3RUEwNTUxOUEyMDAwMDEyMTlFRTA5QjIwMDE4NUVCMDA1NzgwRDdFNjgwQTgyN0E2QzAwRkYxMjFBOTM4MDFBN0U2ODBBOEI3QTZDMDBGRjEyMUE5MzEyMUEwODMwMDkwOTE5QTIwMDAwMTIxOUVFODBGNzJFMjQwMTAwQTVEOUI2N0U2ODBDRDU3QTZDMDBGRjEyMUE5MzdFMjQ4MDAwN0UxMTA5MEIwMDEyMTlFRTA5QjIwMDE4N0VBMDU1MTlBMjAwMDAxMjE5RUUwOUIyMDAxODVFQjAwQTc4MEQ3RTY4MEE4MjdBNkMwMEZGMTIxQTkzODAxQTdFNjgwQThCN0E2QzAwRkYxMjFBOTMxMjFBMDgzMDA5MDkxOUEyMDAwMDEyMTlFRTgwRjcyRTI0MDEwMEE1RDlCNjMwMDQwMzAyMTY4QzdFNjgwQ0Y5N0E2QzAwRkYxMjFBOTM3RTI0ODAwMDdFMTEwOTBCMDA2Q0FBMTlBMjAwMTAxMjE5RUUwOUIyMDAxODdFQTAwMjE5QTIwMDEwNkNBQTE5QTIwMDEwMTIxOUVFMDlCMjAwMTg1RUIwMEE3ODNDN0VBMDAxMTlBMjAwMTAxMjE5RUUwOUIyMDAxODdFQTAwMzE5QTIwMDEwN0VBMDAxMTlBMjAwMTAxMjE5RUUwOUIyMDAxODVFQjAwQTc4MTQ3RTY4MEE4MjdBNkMwMEZGMTIxQTkzMkUyNDAxMDBBNUQ5OUU4MDIwN0U2ODBBOEI3QTZDMDBGRjEyMUE5MzEyMUEwODMwMDlFNjdFQTAwMjE5QTIwMDEwNkNBQTE5QTIwMDEwODBGMTdFNjgwRDQxN0E2QzAwRkYxMjFBOTM3RTI0ODAwMDdFMTEwOTBCMDA2Q0FBMTlBMjAwMTAxMjE5RUUwOUIyMDAxODdFQTAwMTE5QTIwMDEwNkNBQTE5QTIwMDEwMTIxOUVFMDlCMjAwMTg1RUIwMDU3ODNDN0VBMDAyMTlBMjAwMTAxMjE5RUUwOUIyMDAxODdFQTAwMzE5QTIwMDEwN0VBMDAyMTlBMjAwMTAxMjE5RUUwOUIyMDAxODVFQjAwNTc4MTQ3RTY4MEE4MjdBNkMwMEZGMTIxQTkzMkUyNDAxMDBBNUQ5OUU4MDIwN0U2ODBBOEI3QTZDMDBGRjEyMUE5MzEyMUEwODMwMDlFNjdFQTAwMTE5QTIwMDEwNkNBQTE5QTIwMDEwODBGMTdFNjgwRDg5N0E2QzAwRkYxMjFBOTM3RTI0ODAwMDdFMTEwOTBCMDA3RUEwMDIxOUEyMDAxMDEyMTlFRTA5QjIwMDE4NUVCMDUwQkVCMDUwNzgxRjZDQUExOUEyMDAxMDEyMTlFRTA5QjIwMDE4NUVCMDUwNzgwRDdFNjgwQTgyN0E2QzAwRkYxMjFBOTM4MDIwN0U2ODBBOEI3QTZDMDBGRjEyMUE5MzEyMUEwODMwMDkwRjdFQTAwMjE5QTIwMDEwNkNBQTE5QTIwMDEwODBGMTJFMjQwMTAwQTVEOUEyN0U2ODBERDE3QTZDMDBGRjEyMUE5MzdFMjQ4MDAwN0UxMTA5MEIwMDA5QjIwMDE4N0VBMDAxMTlBMjAwMTAxMjE5RUUwOUIyMDAxODVFQjBBMEJFQjBBMDc4MUY2Q0FBMTlBMjAwMTAxMjE5RUUwOUIyMDAxODVFQjBBMDc4MEQ3RTY4MEE4MjdBNkMwMEZGMTIxQTkzODAyMDdFNjgwQThCN0E2QzAwRkYxMjFBOTMxMjFBMDgzMDA5MEY3RUEwMDExOUEyMDAxMDZDQUExOUEyMDAxMDgwRjEyRTI0MDEwMEE1RDk5RTAyMTgyQjdFNjgwRDFEN0E2QzAwRkYxMjFBOTM3RTI0ODAwMDdFMTEwOTBCMDA2Q0FBMTlBMjAwMTAxMjE5RUUwOUIyMDAxODdFQTAwMjE5QTIwMDEwNkNBQTE5QTIwMDEwMTIxOUVFMDlCMjAwMTg1RUIwMDY3ODNDN0VBMDAxMTlBMjAwMTAxMjE5RUUwOUIyMDAxODdFQTAwMzE5QTIwMDEwN0VBMDAxMTlBMjAwMTAxMjE5RUUwOUIyMDAxODVFQjAwNjc4MTQ3RTY4MEE4MjdBNkMwMEZGMTIxQTkzMkUyNDAxMDBBNUQ5OUU4MDIwN0U2ODBBOEI3QTZDMDBGRjEyMUE5MzEyMUEwODMwMDlFNjdFQTAwMjE5QTIwMDEwNkNBQTE5QTIwMDEwODBGMTdFNjgwRDY1N0E2QzAwRkYxMjFBOTM3RTI0ODAwMDdFMTEwOTBCMDA2Q0FBMTlBMjAwMTAxMjE5RUUwOUIyMDAxODdFQTAwMTE5QTIwMDEwNkNBQTE5QTIwMDEwMTIxOUVFMDlCMjAwMTg1RUIwMDk3ODNDN0VBMDAyMTlBMjAwMTAxMjE5RUUwOUIyMDAxODdFQTAwMzE5QTIwMDEwN0VBMDAyMTlBMjAwMTAxMjE5RUUwOUIyMDAxODVFQjAwOTc4MTQ3RTY4MEE4MjdBNkMwMEZGMTIxQTkzMkUyNDAxMDBBNUQ5OUU4MDIwN0U2ODBBOEI3QTZDMDBGRjEyMUE5MzEyMUEwODMwMDlFNjdFQTAwMTE5QTIwMDEwNkNBQTE5QTIwMDEwODBGMTdFNjgwREFEN0E2QzAwRkYxMjFBOTM3RTI0ODAwMDdFMTEwOTBCMDA3RUEwMDIxOUEyMDAxMDEyMTlFRTA5QjIwMDE4NUVCMDkwQkVCMDkwNzgxRjZDQUExOUEyMDAxMDEyMTlFRTA5QjIwMDE4NUVCMDkwNzgwRDdFNjgwQTgyN0E2QzAwRkYxMjFBOTM4MDIwN0U2ODBBOEI3QTZDMDBGRjEyMUE5MzEyMUEwODMwMDkwRjdFQTAwMjE5QTIwMDEwNkNBQTE5QTIwMDEwODBGMTJFMjQwMTAwQTVEOUEyMDIxOEI3MzAxNzAzMDIxOTNCQzI4QTEyMTkyMjdFMjQ4MDAwN0UxMTA5NkNBQTE5QTIwMDA0MTIxOUVFMEIwMDdFQTAwODE5QTIwMDEwMTIxOUVFMjA4QjNFMjA4OTNCN0VBMDA4MTlBMjAwMDQwOUEyMDAxMDRFQTAwMjE5QTIwMDEwMTIxOUVFMzA4QjIzMzA4OTIwMDlBMjAwMTA1RUEwRkQxOUEyMDAxMDEyMTlFRTdFQTAwMDE5QTIwMDA0MTIxOUVFMjA4QjA1MjA4OTAyODAxQTEyMUEwODMwMDkxNDdFQTAwMjE5QTIwMDEwMDAwMDVFQTBGRDE5QTIwMDEwMDAwMDgwRUMyRTI0MDEwMEE1RDk4OTAyMTkzQjIwMTdGQTEyMTM4QTEyMTkyMjdFMjQ4MDAwN0UxMTA5MEIwMDIwODkyNjdFQTBGRjE5QTIwMDA0MTIxOUVFN0VCMDU1MTlCMjAwMDAxMjE5RUUzMDg5MEY3RUEwMDAxOUEyMDAwNDEyMTlFRTIwODkwMjgwMjYxMjFBMDgzMDA5MjA3RUEwRkYxOUEyMDAwNDEyMTlFRTdFQjA1NTE5QjIwMDAwMTIxOUVFN0VBMDAwMTlBMjAwMDQxMjE5RUU4MEUwMkUyNDAxMDBBNUQ5QTgwMjE5M0I3RTI0ODAwMDdFMTEwOTdFQTAwODE5QTIwMDEwMTIxOUVFMkUyNDAxMDBBNUQ5RUYyMjMwMEExOTdFNjgwREY1N0E2QzAwRkYxMjFBOTNEMjA5MTIxOUVFMTIxOUVFMTIxOUVFMDIwRjEwMzAxNzFDN0U2ODBFNkY3QTZDMDBGRjEyMUE5MzdFNjgwRTkxN0E2QzAwRkYxMjFBOTMxMjFCM0MwMjE5RTYwQjAwN0U3ODE5QTA3QTdDMDBGRjdGNjc3QTZDMDAwMDdFNzAzRTdFN0JCMDdBNkJCMDBCN0MwQjZDQTVERkYzN0U3ODE5QTA3QTdDMDAwMDg5Nzg3RTc4MDAwMDdBN0MwMEZFN0U2ODdGQkY3QTZDMDBGRTc0QUEzOUI3NTU1NTc0NTUzOUI3MkFBQTc0QTAzOUI3NTU1NTZDOTk3QTZCOTA3RTU0MjcxMDdFNkI4MEJDODk2ODA4MUI1NDc4RjU4QUZGMTlERThBRkYxOUU2MTIxQTA4N0U2QjgwODBGQjdFMTBGRjEyMUE4NTgwRjhDQUY5N0VGNDAwRkYxQkY0NzhGQ0RBRjkyMkNBRjk3RUY0MDAwMDFCRjQ3OEZDREFGOTIyMjAwOTE5RDIwQTEyMTlGQkMyOTVEMjk0MTIxOUZCMTIxOUZCMTIxOUZCMTIxOUZCNDM5MDMwMjJDQTBCN0UxMDAzN0MzMDZDMjIwQjIwOUUzMDBBNTBGOTJFMzAwQjFCMjA2ODE4MTIxOUZCMTIxOUZCNTM5MENGMTIxOUZCMTIxOUZCMTIxOUZCNDM5MDMwQTVEQUU4MTIxOUZCMTIxOUZCMUIzMDY4MTkxMjE5RkIxMjE5RkJDMjk1RDI5NDEyMTlGQjEyMTlGQjEyMTlGQjQzOTAzMEE1REJFNzdFMjAwQTEyMTlGQkE1REFGQUE1RDlBN0RBMEIyMjIwMDkwQTEyMTlGQkIyOTQxMjE5RkJCMjk0MjIzMDE3MzIyMDA5MkZDQTJCQ0E3QjdFNzg4MDAwN0E3QzAwRkUxMjFCMUM3RTZCQTA1Q0FBNjgxMDI5QjcwMDE0NTQ2MDY4RjgzOUE3MDAwMDBCNkM4MEU5MTIxOUVFRDJCNURBN0JEQTJCMjIxMjFBRDQ3RTY4MDAwQjEyMUE5MzIyQ0E1OUNBNUI3RUI0MDAwQjdDQjhDNDEyMUIwNDdDQjgxMjFCMDQ3Q0I5QzQxMjFCMDQ3Q0I5MTIxQjA0N0VCMDY4N0FCOUIwMEJCNDZDQkI3QUI5QjBEQTU5REE1QjIyNUVCMDBGN0NBQjlFQTAwQTQwMDUyRUIwMzc4MDAzMkVCMDMwN0FCOUIwMEJCNDIyQzJCNUMyOTIxMjE5RUU3NDgwMzlCNzAwMEM3RTU0MDAwNjM5QTcwMDA0MzlCNzAwMDA3NDAzMzlCNzAwMEMyMjdFNzgwMDAwN0E3QzAwRkY3RTU4MDAwMDdBNUMwMDAxN0Y2NTdFNzQyMDAwMTIwOEQ2NDA1NDdFNzg3QzAwN0E3QzAwRkY3RTU4MDAwMDdBNUMwMDAxN0U2ODdDMDA3QTZDMDAwMTdFNzQwNDAwMTIwOEQ2NDAzMzc0ODAxMjFCQjE0MDJDNTM5MENGRDIwODdFMDQwMDA4N0UxNDAwMDA4NEE1REJGQ0E1REFGOUE1RDlGNjc0NDAxMjFCQjE0MDBFN0U2ODBFQzA3QTZDMDBGRjEyMUE5MzAyMTlFNkMyOTVEMjk0ODBGRUY1MEE3RTc4MDAwQTdBN0MwMDAwN0U2ODdGQkY3QTZDMDAwMTdFNzQwMDAxMDIwOEQ2RDIKKzowMDAwMDAwMDAxRkYKKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKy8vKiBFZGdlcG9ydC80IEJpbmFyeSBJbWFnZQorLy8qIEdlbmVyYXRlZCBieSBIRVgyQyB2MS4wNgorLy8qIENvcHlyaWdodCAoQykgMTk5OCBJbnNpZGUgT3V0IE5ldHdvcmtzLCBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8qCVRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisvLyoJaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKy8vKgl0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorLy8qCShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCmRpZmYgLS1naXQgYS9maXJtd2FyZS9lZGdlcG9ydC9ib290Mi5IMTYgYi9maXJtd2FyZS9lZGdlcG9ydC9ib290Mi5IMTYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGIxNDI5NQotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2VkZ2Vwb3J0L2Jvb3QyLkgxNgpAQCAtMCwwICsxLDI4IEBACis6MDAwNDAwMDAwMDAyMDAwMDAzRjcKKzowMDAyMDAwMDA0MDBGRkZCCis6MDAwNjAwMDAwMDAyMDA4MDAyMDAwMzczCis6MDAwMzAwMEIwMDAyMDAwQkU1Cis6MDAwMzAwMTMwMDAyMDI1NjkwCis6MDAwMzAwMUIwMDAyMDAxQkM1Cis6MDAwMzAwMjMwMDAyMDAyM0I1Cis6MDAwMzAwMkIwMDAyMDAyQkE1Cis6MDAwMzAwMzMwMDAyMDAzMzk1Cis6MDAwMzAwM0IwMDAyMDAzQjg1Cis6MDAwMzAwNDMwMDAyMDA0Mzc1Cis6MDAwMzAwNEIwMDAyMDA0QjY1Cis6MDAwMzAwNTMwMDAyMDFGNUIyCis6MDAwMzAwN0IwMDAyMDA3QjA1Cis6MDIxNjAwODAwMDdFQjM5MTAxMjBFMzBDN0VCMzNGRjI1NEZFN0FCMzNGRjI4MDBBN0VCMzNGRjI0NDAxN0FCMzNGRjI3NDAwN0FCMzkxMDA3NDAxN0FCMzkxMTI3RUY4MDAyNDdFMDAwMTdFMTAwMDEyMDlEMDY5MjAwMDBBNUU0MDFGQkUyNDAwMDA3ODA5N0UwMDAzN0EwMzkwMDA4MDA3N0UwMDAyN0EwMzkwMDA3NUIwREY3RTAwMDE3QTAzOTQwMDdBMDMwMTI0N0UwMDAxN0EwMzkzMDA3RTAwMDBBNUQ4RkQ3NUE4MDA3NUIxMDBDQTI5MTIwQzY2MTIwQzM3RjUyMTdBQTEyMDIwMDkwODIwMEEwQTdFQjAwQzgwMDg3RUIwMDA4MDAzN0VCMDA4N0FCMzkyMDAxMjAyOTZEQTI5NzQxMDdBQjM5MTAxN0UyMDA0N0NCMkMyRDcxMzEzMTMxMzdBQjM5MTAwNzQwMDdBQjM5MTEwNzQ2MDdBQjM5MTFDNzQwMjdBQjM5MTEyQTVEQURGNzQwMDdBQjM5MTAwNzQ2MDdBQjM5MTFDNzQxMDdBQjM5MTA2NzQxMDdBQjM5MTA3NzQzNDdBQjM5MTEzNzQzRjdBQjM5MTE0NzQwMjdBQjM5MTA2NzQwMTdBQjM5MTA3NzQwMzdBQjM5MTA2NzQ0NDdBQjM5MTA3NzRFRjdBQjM5MTA0NzQwNzdBQjM5MTA2N0VCMzkxMDc3QUIxMEE3NTA5MDFEMkFBRDJBRkU0N0U2MDAyNEQyMjc4MDM3RTYwMDM3Qzc2N0UwNDI4MDA4REVGMUIwNDc4RkEwNDdFMjAwNzdBMjM5MTA2N0UyMzkxMDc3RTMxMEFCQzMyNjgyMjdBMjEwQTdFMjEwOTY4MTdDQUI4NzQwMzdBQjM5MTA2N0VCMzkxMDc0NDAyN0FCMzkxMDdEQUI4NzUwOTAwMzBFMEMxNkM2NzdBNjM5MDAwODBCOUJFQjAwMjIyQzBEMDc1MDhGRTEyMEFDMDc0MDI3QUIzOTEwNjc0MDA3QUIzOTEwNzc0MDM3QUIzOTEwNjc0MDA3QUIzOTEwNzc0MDI3QUIzOTEwNDdFQjMzRkYyMzBFMDA4NzQxODdBQjM5MTAxODAwNjc0MTA3QUIzOTEwMTc0MTA3QUIzOTEwNDAyMDIzNjc1MDhGRjEyMEFDMDc0MDE3QUIzOTEwNDc0MDM3QUIzOTEwNjdFQjM5MTA3NTRGQzdBQjM5MTA3MzJDQUI4NzUwODAyMTIwQUMwN0VCMzkxMDMyMEU1MDgzMEUwMkIxMjAyOUU4MEYxN0VCMzkxMDQzMEUwMDVEQUI4MDIwMjM5MzBFMTA1REFCODAyMDFGNTMwRTYwNTEyMDQwMzgwRDUzMEUyMDVEQUI4MDIwMDgwODBDQkRBQjgzMjZECis6MDgyQTAyOTYwMEU0N0FCMzNGRjEwMjAzNDFDQTBCQ0ExQkNBMkJDQTNCQ0E0QkNBNUJDQTZCQ0E3QkNBRUI3NDAwN0FCMzkxMDA3RUIzMDEyRUI0MDAwMjgwMUNCNDAxMTk3RUIzOTExNDU0MTQ2ODA1MTIwMzA1ODAyMzdFQjM5MTE0MzBFNTFDMTIwNDQzODAxNzdFQjM5MTE0MzBFNTA1MTIwNDQzODAwQjdFQjM5MTE0NTQxNDY4MDMxMjAzMDVEQUVCREE3QkRBNkJEQTVCREE0QkRBM0JEQTJCREExQkRBMEIyMjIwRTQxOTc1MDgwQTEyMEFDMDdFQjMwMTJENzAwQTdFQjMwMTJFQjQwMTFGMDIwMzlEMDIwOThCNzUwODBCMTIwQUMwNzQxNDdBQjM5MTE0N0VCMzAxMkVCNDAyMEMxMjAzNEQwMjAzNDE3NDA0N0FCMzkxMTQyMjdFMDAwMDdBMDMwMTJFN0EwMzAxMkYyMjdFQjMwMTI1NTQ2MDYwMDVCNDQwMUU4MDFDN0VCMzAxMjZCNDA1MTU3NTA4NzExMjBBQzA3RUIzMDEyODdFQTAwMTdBQTM5MTA2N0FCMzkxMDcyMjc0MDA3QUIzOTEwMDc0MTA3QUIzOTExMjIyQkU1NzAxMkIyODA0N0U1NzAxMkI3QTBGMDEzMTdBNTcwMTM1NzQxMDdBQjM5MTEyMjI3NDAwN0FCMzkxMDA3RUIzOTExQTcwNTM3RUIzOTExNDIwRTQ0QzdFRUYwMTMxN0VGNzAxMzU3RTA3MDEzNTREMDA2ODIxN0UwMDAwRTA3QUIzOTExN0EzQTUwODFCRjQ2ODA2QTVCODEwRjA4MDE5N0VCMDAwN0FCMzAxMkVCRTAwMTA2ODBEN0VCMDAwN0FCMzAxMkU3NDgwN0FCMzkxMUU3QUVGMDEzMTdBRjcwMTM1NzUwODA2MTIwQUMwNzQwNDdBQjM5MTE0MjJDQTBCQ0ExQkNBMkJDQTNCQ0E0QkNBNUJDQTZCQ0E3QkNBRUI3NTA4MDMxMjBBQzA3NDAwN0FCMzAxMkQ3NDAwN0FCMzkxMDA3NDAxN0FCMzkxMTIxMjA0QjJEQUVCREE3QkRBNkJEQTVCREE0QkRBM0JEQTJCREExQkRBMEIyMjc1MDgwMzEyMEFDMDdFQjMwMTJGQjQwMjExNzQwMDdBQjMwMTJGN0FCMzAxMkU3NDIwN0FCMzkxMTQyMkI0MDE0NjdFQjM5MTA0MjBFNjQyN0UyMzkxMUE3QzMyN0UxMzAxMzAyQzIxN0EyMzAxMzA3RTAwMDAyRTA0MDEzNzdFQjM5MTE2N0EwOUIwMEIwNEE1REJGNDc0MjA3QUIzOTExNDc1MDg3MDEyMEFDMDdFQjMwMTMwN0VBMzAxMkNCQ0FCNzgwMzEyMDU1MjIyMDIwOThCREE1OTAyMDQxNTc0RTA3QUIzOTEwMDdFMDM5MTEwN0UxMzkxMTE3RTMzOTExMjdFMjM5MTEzN0U1MzkxMTQ3RTQzOTExNTdFNzM5MTE2N0U2MzkxMTc3QTBGMDEyNTdBMUYwMTI5NzUwODA0MTIwQUMwN0EwMTA4MTIwQUMwN0ExMTA4MTIwQUMwN0EyMTA4MTIwQUMwN0EzMTA4MTIwQUMwN0E0MTA4MTIwQUMwN0E1MTA4MTIwQUMwN0E2MTA4MTIwQUMwN0E3MTA4MTIwQUMwNzQwMDdBQjM5MTAwNzQ0MDdBQjM5MTA0MTIwNTI2MjI2RDAwN0UxNDAxMDI3QTA3MDEzNTdBMDMwMTMwN0VCMzAxMjUyMEU3MEY3QTIzMDEyRjdBMzMwMTJFQkUwNzAxMkI2ODA5MjI3QTMzMDEyRjdBMjMwMTJFN0VCMzAxMjU1NEUzMjMyMzMwRTAwMkQyRTUzMEU3MDJEMkU0MzBFNTA2MzBFNDAzMDIwOThCNTQzRUY1RjAwMzU0MUZDMzI1RjA5MDA1N0U3NTg0RkY3MzAyMDczOTAyMDVDNjAyMDdEMjAyMDdFRDAyMDZEMDAyMDY1QjAyMDgxRTAyMDgxRTAyMDgyMTAyMDgyMTAyMDgyMTAyMDgyMTAyMDgyMTAyMDgyMTAyMDgyMTAyMDgyMTAyMDgyNzAyMDhGOTAyMDgyNDAyMDgyNDAyMDgyNDAyMDgyNDAyMDgyNDAyMDgyNDc0MDA3QUIzOTEwMDc0NjA3QUIzOTExQzdFQjMwMTI2QjQwNjJBN0VCMzAxMjc2MDc5N0MwQjdFMTMwMTI4N0UxNzAxMjk3NTA4NzIxMjBBQzA3QTAxMDgxMjBBQzA3QTExMDgxMjBBQzAxMjA5RDA0MDU4MDIwMzg0QjQwODFDNzUwODc0MTIwQUMwN0VCMzNGRjE3RTA4MDEzNzdBMEMwMDAwN0EwQkIwN0U1NDAwMDEwMjAzODRCNDAwMzM3NTA4NzUxMjBBQzA3RTA4MDEzNzdBMEMwMDAwQ0EwQjdFQjMzRkYyMzBFMDA3NzQwMjdBMEJCMDgwMDU3NDAwN0EwQkIwMEIxNDc0MDA3QTBCQjA3RTU0MDAwMkRBMEIwMjAzODQwMjA5OEI3NDAwN0FCMzkxMDA3NDYwN0FCMzkxMUM3RUIzMDEyNkI0MDA1Rjc1MDg3NjEyMEFDMDdFQjMwMTJBNTQwRkI0MDIwNTdFQjA2MDgwMTdCNDAwMDU3RUIwMDA4MDBGN0VCMzAxMkEyMEU3MDU3RUIwNDA4MDAzN0VCMDIwN0FCMzkxMDA3RUIzOTExMTMwRTAwNDc0MDE4MDAyNzQwMDdFMDgwMTM3N0EwQzAwMDBDQTBCN0EwQkIwMEIxNDc0MDA3QTBCQjA3NDAwN0FCMzkxMDA3RTU0MDAwMkRBMEIwMjAzODQwMjA5OEI3RUIzMDEyQTU0MEZCNDAyMDU3RUIwNjA4MDE3QjQwMDA1N0VCMDAwODAwRjdFQjMwMTJBMjBFNzA1N0VCMDQwODAwMzdFQjAyMDdBQjM5MTAwN0VCMzAxMjhCNDAwMjY3RUIzMDEyNkI0MDEwRTc1MDg3NzEyMEFDMDc0MDE3QUIzOTExMjgwMUJCNDAzMEU3NTA4NzgxMjBBQzA3NDAxN0FCMzkxMTE4MDBBNzQwMDdBQjM5MTAwMTIwOThCMjI3NDAwN0FCMzkxMDAwMjAzNzc3RUIzMDEyNkI0MDkxRjc1MDg3OTEyMEFDMDdFQjMwMTI4QkVCMzNGRjE2ODBEQ0FCODEyMDFGMURBQjg1MDc2N0FCMzNGRjE4MDZEQjQwNTA4NzUwODdBMTIwQUMwODA2MkI0MDMxOTc1MDg3QjEyMEFDMDdFQjMwMTI4QjQwMTU1N0VCMzNGRjI0NDAxN0FCMzNGRjI4MDQ2QjQwMTE5NzUwODdDMTIwQUMwN0VCMzAxMjhCNDAxMzk3RUIzM0ZGMjU0RkU3QUIzM0ZGMjgwMkFCNDA3MkE3RUIzMDEyNzYwMjQ3QzBCN0UxMzAxMjg3RTE3MDEyOTc1MDg3MzEyMEFDMDdBMDEwODEyMEFDMDdBMTEwODEyMEFDMDEyMEEwQTQwMDMwMjAzNzcwMjA5OEI3RUIzMDEyNkI0MEJGNjc1MDg3RDEyMEFDMDdFQjMwMTI4N0VBMzAxMkE0Q0FCNzhFNDgwREY3NDAwN0FCMzkxMDA3NDYwN0FCMzkxMUM3RUIzMDEyNkI0MEFDRjc1MDg3RTEyMEFDMDdFQjMwMTI4NzBDMzdFMDgwMTM3N0EwQzAwMDA3QTBCQjA3RTU0MDAwMTAyMDM4NDAyMDk4QjAyMDk4QjAyMDk4QjdFQjMwMTI2QjQwNDIwNzUwOEMzMTIwQUMwN0UwNDAwMDE3RTE3MDEyNzdFMTgwMTM3N0ExQzAwMDA3RTQ3MDEyQjEyMEFDQzAyMDhGM0I0MDY0Mjc1MDhDMTEyMEFDMDdFNTgwMDAwN0E1QzAwRkU3RENBN0VENzAxMjc3RTc4MDEzNzdBN0MwMDAwN0U3NzAxMkI3NTA4QzExMjBBQzBDMEE4QzJBRjdFNDAwMTdBNDM5NDAwMTIwQjYzN0U0MzAxMjQ3QTQzOTQwMEQwQTg0MDY1ODA2MEI0MDAyNEMyQUY3RUIwMDE3QUIzOTQwMDdBQjMwMTI0MTIwMzc3RTQ4REVGOERFRjhERUZENUUwRjdDMEQxQ0EwMkZGQ0EwNjAwMDAzMkI0MDkyMDc0MDM3QUIzOTEwNjdFMjM5MTA3N0U1NzAxMjc0RDU1NjgwNTRFMjAwMjgwMDM1RTIwRkQ3QTIzOTEwNzgwMTZCNDA3MTZDMkFGN0UwNzAxMjk3RTE3MDEyN0MwRDFDQTE4Q0EzOENBMjgzMjAyMDM3NzAyMDk4Qjc0MDA3QUIzOTEwMDc0NjA3QUIzOTExQzdFQjMwMTI2QjQwMzE1NzUwOEMyMTIwQUMwN0UwNDAwMDE3RTE3MDEyNzdFNTcwMTJCMDIwMzg0QjQwNTQxNzUwOEMwMTIwQUMwQzBBOEMyQUY3RTQwMDE3QTQzOTQwMDdFMDgwMTM3N0EwQzAwMDA3RTI0MDBGRTdFMzcwMTI3N0U0NzAxMkIxMjBBQ0M3RTQzMDEyNDdBNDM5NDAwRDBBODdFMDgwMTM3N0EwQzAwMDA3RTU3MDEyQjAyMDM4NEI0MDEyMDdFMDAwMDdFMTAwMTc1MDg3MjEyMEFDMDdBMDEwODEyMEFDMDdBMTEwODEyMEFDMDEyMDlEMDQwMDMwMjAzODQwMjA5OEI3NTA4MDcxMjBBQzA3RUIwMDI3QUIzOTAwMDc0MDA3QUIzOTEwMDc0NDA3QUIzOTExNTc0MDE3QUIzOTExMTdFQjM5MTE1NTQ2MEJFQjA0MDY4MDg3NDIwN0FCMzkxMTU4MEVENzQwMTdBQjM5MTEyNzQwNDdBQjM5MTE0NzRGRjdBQjMwMTJEMjJDMEE4QzJBRjdFNDAwMTdBNDM5NDAwMTIwQTU3NDAxRjdFMDgwMTM3N0EwQzAwMDBDQTBCQ0E0OTEyMEFDQ0RBNTlEQTBCN0U0MzAxMjQ3QTQzOTQwMEQwQThDMzIyN0U0MzAxMjQ3QTQzOTQwMEQwQTgyMkMwQThDMkFGN0U0MDAxN0E0Mzk0MDAxMjBBNTc0MDMxN0U1ODAwMDA3QTVDMDBGRTdGNjE3RTc4MDEzNzdBN0MwMDAwN0U3NzAxMkJCRDc0NzgxNzc1MDhDMTEyMEFDMDEyMEI2MzQwMEM3RTQzMDEyNDdBNDM5NDAwRDBBOEMzMjI3RTQzMDEyNDdBNDM5NDAwRDBBOEQzMjI3RTI0MDBGRTdFMzQ3RkNBMEIxQTUwQzVGMDdENjI3RDc1N0Q4NzdFMzQ3RjAzN0UxQkIwQkMwQjUwNDkzRTAwM0UwMDBBNTAyRDc1MEIzQTMwNjk1MzAwMDJCRDM4NTAwMjJEMzhCQzFCNTAzMDNFMTAzRTEwMEE1MTJEMzU2OTQxMDAwMjBCMUEzMEJEMzg1MDAyMkQzOEJFNDRGRkZGNzgwNTdFMUI5MDBBNDk0RDQ0NjgwQ0JFNDQwMEZGMjgwNDdFNDQwMEZGQzMyMkQzMjI0OAorOjAwNDA3RkMwMDA0MDAxMDIwMEQ3MzEwMjAwMDMwMDAwN0MwMDAwMDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjE3RjAwMDAwMDAwMDAwMDQ0Cis6MTA0MzBBQzAwMENBMDg3RTAxMDg3QTAzM0ZGMERBMDgyMjgwNTAwQjFBNjAwQjM1MEIxQTcwMEIzNTBCMUE4MDBCMzUwQjFBOTAwQjM1MEIxQUEwMEIzNTBCMUFCMDBCMzUwQjFBQzAwQjM1MEIxQUQwMEIzNTFCMEE2MDBCMTUxQjBBNzAwQjE1MUIwQTgwMEIxNTFCMEE5MDBCMTUxQjBBQTAwQjE1MUIwQUIwMEIxNTFCMEFDMDBCMTUxQjBBRDAwQjE1OUU0NDAwMTA1MEFBMkU0NDAwMTA2ODBFN0UxQkMwN0EwQkMwMEIxNDBCMzQxQjQ0NzhGMjIyN0Y2RjdGRjAxQkZDN0M1NDdEMzI4MDA4Q0ExQkNBMUJDQTFCQ0ExQjlFNDQwMDEwNTBGMjJFNDQwMDEwNjgwNkNBNDgxQjQ0NzhGQTdGRjY4OUU0Q0E2QjVFRDQwMDNGNjgyMDdFODQwMDQwOUQ4RERBNkJCRDg3MzgxNkNBNzk3RDc4MTIwQjhEREE3OTQwMDg5RDc4NjgwMjgwMDVDMkQ3MjJEQTZCN0VDMDAzN0VEMDAwN0FEMzkwMDA3NEFBMzlCNTU1NTU3NDU1MzlCNTJBQUE3NEEwMzlCNTU1NTU3RTA0MDA0MDlENzA1MDA2MkQ3MDdEMDc2RDc3N0MzMTdFN0IwMDdBNkIwMDBCN0MwQjZDQTVEOUYzN0YxNjFCMUM3RTU0MjcxMDdFMUIxMEJDMTA2ODA2MUI1NDc4RjU4MDJGNkQwMDdDMjA3RjE2OUYxMDdGMjc5RjIwN0UyQjAwN0UxQjEwQkMwMTc4MTkwQjJDMEIxQ0E1REJFRjdDQjYyMEUwMDY2Q0RDN0FEMzkwMDA0RDc3Nzg5MEMyRDcyMkQyRDcyMjAwMDQwMDA0MDAwMDA2MDQwMjA0MDAwMjAxMDQwMTAyMDAwMDAwMDAwMDAwMDAwMDAyMDIwMjAyMDIwNDAwMDgxMDAyMTAwNDAyMDgwMDAxMDEwODdFMTg3RkJEN0ExQzAwRkYwQjFBMDA1RTEwMUZCRTEwMTQzODFBMEE1MTIzN0UxODBDMEQ3QTFDMDBGRjJEMzUwQjFBNTA2MDA4QTVCODAyMDM0RUEwMDgyMjgwRkU3RUU4N0ZCRjdBRUMwMEZGRTBGNTIzNTRDMDY4Mzg3RUU4N0ZCRTdBRUMwMEZGRTA2MDJFMTIwQzM3RjUyMTdBQTEyMDIwMDkwQzIwMEExMjdFQjAwRTdBQjM5MjAwODAxMDdFQjAwMjdBQjM5MjAwODAwNzdFQjAwQTdBQjM5MjAwN0FCMTBEMDIwQ0M0MjI3RUIwMDI3QUIzOTAwMDEyMTkwQzdFQjAwMzdBQjM5MDAwMTIxOTBDODBFQUMyQUZDMjExQzIxMjc1QjBERjdFMDAwMTdBMDM5MzAwN0UwMDAwN0EwMzkwMDA2QzAwN0UxMDAzMTIwQ0Y1N0U2ODJDNjY3QTZDMDBGRjEyMTlDNDBCMDA4MDMyMDIxQTZFMjAxMTJCN0VCMDAxN0FCMzkwMDAxMjE5MEM3RUIwMDM3QUIzOTAwMDEyMTkwQzdFQjAwMjdBQjM5MDAwMTIxOTBDQTVEOURDN0VCMDAwN0FCMzkwMDAxMjE5MEMyMjdFNjgyQ0Y5N0E2QzAwRkYxMjE5QzQ3RUU0MTAwMDdFNDA1NTdBRTk0MDBCRTQ3RTUwQUE3QUU5NTAxQkU0QkVFOTQwNjgxOTdFNjgyQ0RGN0E2QzAwRkYxMjE5QzQxMjE5MTkzMDExMTM3QUU5NDA3RUU5MTA4MEY4N0U2ODJDREE3QTZDMDBGRjEyMTlDNDBCMDA3RTY4MkQzRDdBNkMwMEZGMTIxOUM0N0U3ODAwMDA3RTcwMEU3RUE0RkZGRjdFQjRCRkZGN0RDQjBFQzQ3RERDNUREQjZDQkI3REZBNUVGNDdGRkY3QTdCQjAwQkIwN0RGQjVFRjQ3RkZGN0E3QkIwMEJCMDdERkM1RUY0N0ZGRjdBN0JCMDBCQjA3REZENUVGNDdGRkY3QTdCQjA2Q0JCN0RGQTVFRjQ3RkZGQkU3QkIwNzg0MTBCQjA3REZCNUVGNDdGRkZCRTdCQjA3ODM0MEJCMDdERkM1RUY0N0ZGRkJFN0JCMDc4MjcwQkIwN0RGRDVFRjQ3RkZGQkU3QkIwNzgxQTBCQjBCRUM0RkZGRTc4OTIwRUI0QTVERjhCN0U2ODJDRTc3QTZDMDBGRjEyMTlDNDgwNzdDQTVCQ0E2QjdFNjgyQ0YwN0E2QzAwRkYxMjE5QzQ3RTY4MkQ4RjdBNkMwMEZGMTIxOUM0MEE0NzEyMTlGQTdFNjgyRERFN0E2QzAwRkYxMjE5QzQ2Qzc3REE2QkNBNkIwQjcwMEVDNEJFQzRGRkZGNzhGNjFCNzAwQTQ3MTIxOUZBMTIxOTE5MzAxMTMwREE2QkRBNUI2Q0JCN0U3ODAwMDA3REZBNUVGNDdGRkY3QTdCQjA3REZCNUVGNDdGRkY3QTdCQjA3REZDNUVGNDdGRkY3QTdCQjA3REZENUVGNDdGRkY3QTdCQjA4MEQ0N0U2ODJEMUI3QTZDMDBGRjEyMTlDNDMwMUYwRTdFNzgwNDIwN0E3QzAwMDA3RTQ0N0JFMDgwMEM3RTc4MDAwMDdBN0MwMDAxN0U0NDgwMDAwQjAwN0U0MDNBN0M1NDdGNTc3RDg0NkM2NjdBNUI1MDBCNUMwQjUwQTVERTAyMEI1MDFCODQ3OEYwN0M1NDdGNTc3RDg0NkM2NkJFNUI1MDc4MUEwQjVDMEI1MEE1REUwMjBCNTAxQjg0NzhFRTdFNjgyQ0RBN0E2QzAwRkYxMjE5QzQ4MDRCN0Y0NTdFNjgyQ0RGN0E2QzAwRkYxMjE5QzQ3RTY4MkQ1RjdBNkMwMEZGMTIxOUM0N0Q0QjEyMTlGQTdFNjgyRDc0N0E2QzAwRkYxMjE5QzQ2Qzg4N0M5NTEyMTlGQTdFNjgyRDgyN0E2QzAwRkYxMjE5QzQ3RTRCOTAxMjE5RkExMjE5MTkzMDExMDU3RTRCOTA4MEZCN0U2ODJFMjg3QTZDMDBGRjEyMTlDNDBCMDA3RUIwODA3QUIzOTEwMDdFQTA1NTdBQTM5MTEwN0VCMzkxMDc3RUIzOTExMEJDQUI3ODIwN0VBMEFBN0FBMzkxMTA3RUIzOTEwNzdFQjM5MTEwQkNBQjc4MEQ3RTY4MkNEQTdBNkMwMEZGMTIxOUM0ODAxQjdFNjgyQ0RGN0E2QzAwRkYxMjE5QzQxMjE5MTkzMDExMEE3QUEzOTExMDdFQjM5MTEwODBGNjdFNjgyRTRBN0E2QzAwRkYxMjE5QzQxMjEyMzEwQjAwN0VFNDEwMDA3RUEwQTVDQUE4N0FFOUEwN0VCMDMwN0FCMzk1MDA3RUU5QTA3RUIwMDA3QUIzOTUwMDEyMTkwQzBCRTU3RUIwMjA3QUIzOTUwMDdFRTlCMDdFQjAwMDdBQjM5NTAwN0VFOUIwREFBOEJDQUI3ODBEN0U2ODJDREE3QTZDMDBGRjEyMTlDNDgwMUQ3RTY4MkNERjdBNkMwMEZGMTIxOUM0MTIxOTE5MzAxMTBDN0VCMDM4N0FCMzk1MDA3RUU5QjA4MEZCODAwMDdFNjgyREU0N0E2QzAwRkYxMjE5QzQwQjAwNzVCMERGN0UyNDgwMDAwOUIyMDAwOEJFQjAwMTc4MEIwOUIyMDAxNEJFQjA2MDc4MDI4MDE3N0U2ODJDREY3QTZDMDBGRjEyMTlDNDEyMTkxOTMwMTExMTA5QjIwMDA4ODBGQTdFNjgyQ0RBN0E2QzAwRkYxMjE5QzQ3RTY4MkUwNjdBNkMwMEZGMTIxOUM0MEIwMDc1QjBFRjEyMThGRjdFMjQ4MDAwN0VBMDU1MTlBMjAwMUM3RUIwMDExOUIyMDAwODA5QjIwMDFDQkNBQjc4MzcwOUIyMDAwODVFQjBDMEJFQjBDMDc4MkI3RUEwQUExOUEyMDAxQzZDQkIxOUIyMDAwODA5QjIwMDFDQkNBQjc4MTYwOUIyMDAwODVFQjBDMDc4MEQ3RTY4MkNEQTdBNkMwMEZGMTIxOUM0ODAxQjdFNjgyQ0RGN0E2QzAwRkYxMjE5QzQxMjE5MTkzMDExMEExOUEyMDAxQzA5QjIwMDFDODBGNjdFNjgyRTZDN0E2QzAwRkYxMjE5QzQ3RTY4MkVFRTdBNkMwMEZGMTIxOUM0N0UyNDgwMDA3RTExMjE3RUIwMDExOUIyMDAxQzJFMjQwMTAwMEJCMEE1RDlGMzdFMjQ4MDAwN0UxMTIxN0VCMDAxMEIwMDA5QTIwMDFDQkNBQjc4MTY3RTY4MkNFNzdBNkMwMEZGMTIxOUM0MkUyNDAxMDAwQkIwQTVEOUUyODAyNTdFNjgyQ0YwN0E2QzAwRkYxMjE5QzQxMjE5MTkzMDExRTQ3RTI0ODAwMDdFMTEyMTA5QTIwMDFDMkUyNDAxMDBBNUQ5RjU4MEVDN0U2ODJGMTI3QTZDMDBGRjEyMTlDNDEyMTIzMTdFMjQ4MDAwN0UxMTIxMEIwMDc0MTAxOUIyMDAxMDEyMTFBQTJFMjQwMTAwQTVEOUVFN0U2ODJGMzY3QTZDMDBGRjEyMTlDNDdFMjQ4MDAwN0UxMTIxMEIwMEU0MTlCMjAwMTAxMjExQUEyRTI0MDEwMEE1RDlFRjMwMDAwMzAyMTczQjAyMTI2QTc0MDcxOUIyMDAwODEyMTkwQzA5QjIwMDAwMDlCMjAwMTQwOUIyMDAwMDA5QjIwMDE0MDlCMjAwMDAwOUIyMDAxNDA5QjIwMDAwMDlCMjAwMTRDMjEzN0VCMDU1MTIxMjBCN0VCMEFBMTIxMjBCN0VCMDAwMTIxMjBCN0VCMEZGMTIxMjBCMzAxMzBGN0U2ODJDRjA3QTZDMDBGRjEyMTlDNDEyMTkxOTIyN0U2ODJDRTc3QTZDMDBGRjEyMTlDNDIyMTlCMjAwMDAxMjE4RkYwOUEyMDAwMEJDQUI3ODAxMjIyMDExMDNEMjEzMjIxMjE5MTkxOUIyMDAwMDEyMThGRjA5QTIwMDAwODBGMzc1QjBERjEyMThGRjc1QjBFRjEyMThGRjdFMjQ4MDAwN0UxMTIxNzQ4MDE5QjIwMDBDN0U1NDAwMDIxOUEyMDAwNDE5QjIwMDAwNzQwMzE5QjIwMDBDNzQwNjE5QjIwMDA4MkUyNDAxMDBBNUQ5REIyMjdFNjgyRjVBN0E2QzAwRkYxMjE5QzQ3RTI0ODAwMDdFMTEyMTBCMDAxMjE4RkYwOUIyMDAxODdFQTA1NTE5QTIwMDAwMTIxOEZGMDlCMjAwMTg1RUIwMDU3ODBEN0U2ODJDRTc3QTZDMDBGRjEyMTlDNDgwMUE3RTY4MkNGMDdBNkMwMEZGMTIxOUM0MTIxOTE5MzAxMTA5MTlBMjAwMDAxMjE4RkY4MEY3MkUyNDAxMDBBNUQ5QjY3RTY4MkY3RTdBNkMwMEZGMTIxOUM0N0UyNDgwMDA3RTExMjEwQjAwMTIxOEZGMDlCMjAwMTg3RUEwNTUxOUEyMDAwMDEyMThGRjA5QjIwMDE4NUVCMDBBNzgwRDdFNjgyQ0U3N0E2QzAwRkYxMjE5QzQ4MDFBN0U2ODJDRjA3QTZDMDBGRjEyMTlDNDEyMTkxOTMwMTEwOTE5QTIwMDAwMTIxOEZGODBGNzJFMjQwMTAwQTVEOUI2MzAwNDAzMDIxNTlGN0U2ODJGQTI3QTZDMDBGRjEyMTlDNDdFMjQ4MDAwN0UxMTIxMEIwMDZDQUExOUEyMDAxMDEyMThGRjA5QjIwMDE4N0VBMDAyMTlBMjAwMTA2Q0FBMTlBMjAwMTAxMjE4RkYwOUIyMDAxODVFQjAwQTc4M0M3RUEwMDExOUEyMDAxMDEyMThGRjA5QjIwMDE4N0VBMDAzMTlBMjAwMTA3RUEwMDExOUEyMDAxMDEyMThGRjA5QjIwMDE4NUVCMDBBNzgxNDdFNjgyQ0U3N0E2QzAwRkYxMjE5QzQyRTI0MDEwMEE1RDk5RTgwMjA3RTY4MkNGMDdBNkMwMEZGMTIxOUM0MTIxOTE5MzAxMUU2N0VBMDAyMTlBMjAwMTA2Q0FBMTlBMjAwMTA4MEYxN0U2ODJGRUE3QTZDMDBGRjEyMTlDNDdFMjQ4MDAwN0UxMTIxMEIwMDZDQUExOUEyMDAxMDEyMThGRjA5QjIwMDE4N0VBMDAxMTlBMjAwMTA2Q0FBMTlBMjAwMTAxMjE4RkYwOUIyMDAxODVFQjAwNTc4M0M3RUEwMDIxOUEyMDAxMDEyMThGRjA5QjIwMDE4N0VBMDAzMTlBMjAwMTA3RUEwMDIxOUEyMDAxMDEyMThGRjA5QjIwMDE4NUVCMDA1NzgxNDdFNjgyQ0U3N0E2QzAwRkYxMjE5QzQyRTI0MDEwMEE1RDk5RTgwMjA3RTY4MkNGMDdBNkMwMEZGMTIxOUM0MTIxOTE5MzAxMUU2N0VBMDAxMTlBMjAwMTA2Q0FBMTlBMjAwMTA4MEYxN0U2ODMwMzI3QTZDMDBGRjEyMTlDNDdFMjQ4MDAwN0UxMTIxMEIwMDdFQTAwMjE5QTIwMDEwMTIxOEZGMDlCMjAwMTg1RUIwNTBCRUIwNTA3ODFGNkNBQTE5QTIwMDEwMTIxOEZGMDlCMjAwMTg1RUIwNTA3ODBEN0U2ODJDRTc3QTZDMDBGRjEyMTlDNDgwMjA3RTY4MkNGMDdBNkMwMEZGMTIxOUM0MTIxOTE5MzAxMTBGN0VBMDAyMTlBMjAwMTA2Q0FBMTlBMjAwMTA4MEYxMkUyNDAxMDBBNUQ5QTI3RTY4MzA3QTdBNkMwMEZGMTIxOUM0N0UyNDgwMDA3RTExMjEwQjAwMDlCMjAwMTg3RUEwMDExOUEyMDAxMDEyMThGRjA5QjIwMDE4NUVCMEEwQkVCMEEwNzgxRjZDQUExOUEyMDAxMDEyMThGRjA5QjIwMDE4NUVCMEEwNzgwRDdFNjgyQ0U3N0E2QzAwRkYxMjE5QzQ4MDIwN0U2ODJDRjA3QTZDMDBGRjEyMTlDNDEyMTkxOTMwMTEwRjdFQTAwMTE5QTIwMDEwNkNBQTE5QTIwMDEwODBGMTJFMjQwMTAwQTVEOTlFN0U2ODMwOUU3QTZDMDBGRjEyMTlDNDdFMjQ4MDAwN0UxMTIxMEIwMDIwQjEyNjdFQTAwMjE5QTIwMDEwMTIxOEZGMzBCMTE5NkNBQTE5QTIwMDEwMTIxOEZGMjBCMTBEN0U2ODJDRTc3QTZDMDBGRjEyMTlDNDgwMjA3RTY4MkNGMDdBNkMwMEZGMTIxOUM0MTIxOTE5MzAxMTBGN0VBMDAyMTlBMjAwMTA2Q0FBMTlBMjAwMTA4MEYxMkUyNDAxMDBBNUQ5QUUwMjE3M0I3RTY4MkZDNjdBNkMwMEZGMTIxOUM0N0UyNDgwMDA3RTExMjEwQjAwNkNBQTE5QTIwMDEwMTIxOEZGMDlCMjAwMTg3RUEwMDIxOUEyMDAxMDZDQUExOUEyMDAxMDEyMThGRjA5QjIwMDE4NUVCMDA2NzgzQzdFQTAwMTE5QTIwMDEwMTIxOEZGMDlCMjAwMTg3RUEwMDMxOUEyMDAxMDdFQTAwMTE5QTIwMDEwMTIxOEZGMDlCMjAwMTg1RUIwMDY3ODE0N0U2ODJDRTc3QTZDMDBGRjEyMTlDNDJFMjQwMTAwQTVEOTlFODAyMDdFNjgyQ0YwN0E2QzAwRkYxMjE5QzQxMjE5MTkzMDExRTY3RUEwMDIxOUEyMDAxMDZDQUExOUEyMDAxMDgwRjE3RTY4MzAwRTdBNkMwMEZGMTIxOUM0N0UyNDgwMDA3RTExMjEwQjAwNkNBQTE5QTIwMDEwMTIxOEZGMDlCMjAwMTg3RUEwMDExOUEyMDAxMDZDQUExOUEyMDAxMDEyMThGRjA5QjIwMDE4NUVCMDA5NzgzQzdFQTAwMjE5QTIwMDEwMTIxOEZGMDlCMjAwMTg3RUEwMDMxOUEyMDAxMDdFQTAwMjE5QTIwMDEwMTIxOEZGMDlCMjAwMTg1RUIwMDk3ODE0N0U2ODJDRTc3QTZDMDBGRjEyMTlDNDJFMjQwMTAwQTVEOTlFODAyMDdFNjgyQ0YwN0E2QzAwRkYxMjE5QzQxMjE5MTkzMDExRTY3RUEwMDExOUEyMDAxMDZDQUExOUEyMDAxMDgwRjE3RTY4MzA1NjdBNkMwMEZGMTIxOUM0N0UyNDgwMDA3RTExMjEwQjAwN0VBMDAyMTlBMjAwMTAxMjE4RkYwOUIyMDAxODVFQjA5MEJFQjA5MDc4MUY2Q0FBMTlBMjAwMTAxMjE4RkYwOUIyMDAxODVFQjA5MDc4MEQ3RTY4MkNFNzdBNkMwMEZGMTIxOUM0ODAyMDdFNjgyQ0YwN0E2QzAwRkYxMjE5QzQxMjE5MTkzMDExMEY3RUEwMDIxOUEyMDAxMDZDQUExOUEyMDAxMDgwRjEyRTI0MDEwMEE1RDlBMjIwMUY2ODEyMTIzMTEyMTdBOTdFMjQ4MDAwN0UxMTIxMEIwMDIwODkyNjdFQTBGRjE5QTIwMDA0MTIxOEZGN0VCMDU1MTlCMjAwMDAxMjE4RkYzMDg5MEY3RUEwMDAxOUEyMDAwNDEyMThGRjIwODkwMjgwMjYxMjE5MTkzMDExMjA3RUEwRkYxOUEyMDAwNDEyMThGRjdFQjA1NTE5QjIwMDAwMTIxOEZGN0VBMDAwMTlBMjAwMDQxMjE4RkY4MEUwMkUyNDAxMDBBNUQ5QTgwMjE3QzIwMjE4NEM3RTI0ODAwMDdFMTEyMTdFQTAwODE5QTIwMDEwMTIxOEZGMkUyNDAxMDBBNUQ5RUYyMjMwMUYwMzAyMTg0Q0MyOEExMjE3QTkwQjAwMTIxODE2MjA4QjI0NzQwMzdBQjM5MTA2NzQwMjdBQjM5MTA3NzQwQzdBQjM5MTA2NzQwMDdBQjM5MTA3MTIxOTBDMzA4QjA2MTIxODE2MzA4QkFEMTIxOTE5MzAxMUE3MTIxODE2NzQwMzdBQjM5MTA2NzQwMjdBQjM5MTA3MTIxOTBDMTIxODE2ODBFOTdFQTAwMDc0MDI3QUIzOTEwNjdBQTM5MTA3NzQwMzdBQjM5MTA2N0FBMzkxMDcxMjE4RkY3NEVGN0FCMzkxMDQ3NDgwN0FCMzkxMDM3NDBDN0FCMzkxMDY3NDA4N0FCMzkxMDcxMjE5MEMyMjMwMTIxOTdFNjgzMEMyN0E2QzAwRkYxMjE5QzREMjExMTIxOEZGMTIxOEZGMTIxOEZGMDIwQ0NBMzAxRjFDN0U2ODMxM0M3QTZDMDBGRjEyMTlDNDdFNjgzMTVFN0E2QzAwRkYxMjE5QzQxMjFBNkUwMjE4RjcwQjAwN0U3ODE4QjE3QTdDMDBGRjdGNjc3QTZDMDAwMDdFNzAzRTdFN0JCMDdBNkJCMDBCN0MwQjZDQTVERkYzN0U3ODE4QjE3QTdDMDAwMDg5Nzg3RTc4MDAwMDdBN0MwMEZFN0U2ODdGQkY3QTZDMDBGRTc0QUEzOUI3NTU1NTc0NTUzOUI3MkFBQTc0QTAzOUI3NTU1NTZDOTk3QTZCOTA3RTU0MjcxMDdFNkI4MEJDODk2ODA4MUI1NDc4RjU4QUZGMThFRjhBRkYxOEY3MTIxOTE5N0U2QjgwODBGQjdFMTBGRjEyMTlBQzgwRjhDQUY5N0VGNDAwRkYxQkY0NzhGQ0RBRjkyMkNBRjk3RUY0MDAwMDFCRjQ3OEZDREFGOTIyMjAxMTIwRDIxMjEyMTkwQzdFQjAwMjdBQjM5MDAwMTIxOTBDMTIxOTBDMTIxOTBDMTIxOTBDN0VCMDAwN0FCMzkwMDAyMkNBMEI3RTEwMDM3QzMwNkMyMjBCMjA5RTMwMEE1MEY5MkUzMDBCMUIyMDY4MjAxMjE5MEMxMjE5MEM3RUIwMDM3QUIzOTAwMDEyMTkwQzEyMTkwQzEyMTkwQzdFQjAwMDdBQjM5MDAwQTVEQUUwMTIxOTBDMTIxOTBDMUIzMDY4MjAxMjE5MEMxMjE5MEM3RUIwMDI3QUIzOTAwMDEyMTkwQzEyMTkwQzEyMTkwQzdFQjAwMDdBQjM5MDAwQTVEQkUwN0UyMDBBMTIxOTBDQTVEQUZBQTVEOTk4REEwQjIyMjAxMTE0MTIxOTBDN0VCMDAxN0FCMzkwMDAxMjE5MEM3RUIwMDA3QUIzOTAwMDIyMzAxRjMyMjAxMTJGQ0EyQkNBN0I3RTc4ODAwMDdBN0MwMEZFMTIxQTREN0U2QkEwNUNBQTY4MTAyOUI3MDAxNDU0NjA2OEY4MzlBNzAwMDAwQjZDODBFOTEyMThGRkQyQjVEQTdCREEyQjIyMTIxQTA1N0U2ODAwMEMxMjE5QzQyMkNBNTlDQTVCN0VCNDAwMEM3Q0I4QzQxMjFBMzU3Q0I4MTIxQTM1N0NCOUM0MTIxQTM1N0NCOTEyMUEzNTdFQjA2ODdBQjlCMDBCQjQ2Q0JCN0FCOUIwREE1OURBNUIyMjVFQjAwRjdDQUI5RUEwMEE0MDA1MkVCMDM3ODAwMzJFQjAzMDdBQjlCMDBCQjQyMkMyQjU3NUIwRUYxMjE4RkY3NDgwMzlCNzAwMEM3RTU0MDAwNjM5QTcwMDA0MzlCNzAwMDA3NDAzMzlCNzAwMEMyMjdFNzgwMDAwN0E3QzAwRkY3RTU4MDAwMDdBNUMwMDAxN0Y2NTdFNzQyMDAwMTIwQjYzNDA1ODdFNzg3QzAwN0E3QzAwRkY3RTU4MDAwMDdBNUMwMDAxN0U2ODdDMDA3QTZDMDAwMTdFNzQwNDAwMTIwQjYzNDAzNzc0ODAxMjFBRUE0MDMwN0UwMDAzN0EwMzkwMDBEMjEwN0UwNDAwMDg3RTE0MDAwMDg0QTVEQkZDQTVEQUY5QTVEOUY2NzQ0MDEyMUFFQTQwMEU3RTY4MzE4RDdBNkMwMEZGMTIxOUM0MDIxOEY3N0VCMDAyN0FCMzkwMDA4MEZFRjUwQjdFNzgwMDBCN0E3QzAwMDA3RTY4N0ZCRjdBNkMwMDAxN0U3NDAwMDEwMjBCNjM3NAorOjAwMDAwMDAwMDFGRgorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorLy8qIEVkZ2Vwb3J0LzQgQmluYXJ5IEltYWdlCisvLyogR2VuZXJhdGVkIGJ5IEhFWDJDIHYxLjA2CisvLyogQ29weXJpZ2h0IChDKSAxOTk4IEluc2lkZSBPdXQgTmV0d29ya3MsIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyoJVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKy8vKglpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorLy8qCXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisvLyoJKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKZGlmZiAtLWdpdCBhL2Zpcm13YXJlL2VkZ2Vwb3J0L2Rvd24uSDE2IGIvZmlybXdhcmUvZWRnZXBvcnQvZG93bi5IMTYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2UzNmZlMQotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2VkZ2Vwb3J0L2Rvd24uSDE2CkBAIC0wLDAgKzEsMjkgQEAKKzowMDA0MDAwMDAwMDExMDAwMDRFNworOjAwMDIwMDAwMDQwMEZGRkIKKzowMDA2MDAwMDAwMDIwMDgwMDI0NEIwODIKKzowMDAzMDAwQjAwMDI0NDcyM0EKKzowMDAzMDAxMzAwMDIwMDEzRDUKKzowMDAzMDAxQjAwMDIwMDFCQzUKKzowMDAzMDAyMzAwMDIwMDIzQjUKKzowMDAzMDAyQjAwMDIwMDJCQTUKKzowMDAzMDAzMzAwMDIwMDMzOTUKKzowMDAzMDAzQjAwMDIwMDNCODUKKzowMDAzMDA0MzAwMDIwMDQzNzUKKzowMDAzMDA0QjAwMDI2RUM0N0UKKzowMDAzMDA1MzAwMDI3NThEQTYKKzowMDAzMDA3QjAwMDIwMDdCMDUKKzowMDA3MDA4MDAwN0UxNDAwMDAwMjQwNTE1NAorOjA4ODIzMDAwMDAxMjM3MjgxMjMwM0UxMjMwNTQxMjMwRTUxMjMxNjgxMjM1MjAxMjM4NTgxMjMxMTUxMjMxNDAxMjMwQTA4MEUwRTUyMzYwMTk3RTE0MDAwMDA5QjEwMUNGQjQwMDAyODAwNTE0MTlCMTAxQ0ZBNTBCQkUzMTJGNzhFQjIyQzJBRjdFQjMzRkYxQjQwMTBBQzBGMTc1RjEwMjEyNzBFRkQwRjFEMkFGMjJDMkFGRTUyMjYwNDM3RTA3MDFFMUJFMDQwMzgwMzgzOTdFMDQ4MDAwN0UyMDAwMTM1MDIxMDlBMDAwMDQ0RUEwMDUxOUEwMDAwNDBBMzIwOTUzNjc4RTVFNTEyNzY4MEIwOUEwMDAxMDRFQTAwMTE5QTAwMDEwMkUwNDAxMDBBNTBBQkUyMTJGNzhEMTc1MjIwMEQyQUYyMkMyQUY3RTIwMDA3RTMwMDE3Q0IyMjMwQTJCNDkzMjAxOEZCRTM0MDAwMDY4MTI3RUIxMjFBNTRCN0FCMTIxQ0ExOTQ5MjIzMEQ1OTkyNERBMTkzRTMwQTUwQUJFMjEyRjc4RDZEMkFGMjI0NjBGNDk2NzRDQkY1MDE3NTM2RjU2Qzc1QTFGNUQ3N0MyQUZFNTMyNjAxNDdFMjAwMDEzNTAwN0NBQjgxMjMxMDJEQUI4QTUwQUJFMjEyRjc4RUZEMkFGMjJDQTI4MTI2N0FCREEyODQwMDkwQTIyMDlCMjY3OEVGNDUyMzIyMkMyQUZFNTM0NjAxNDdFMjAwMDEzNTAwN0NBQjgxMjMxMzJEQUI4QTUwQUJFMjEyRjc4RUZEMkFGMjJDQTI4MEEyMjA5NDIwMDNFMTI2OUMyREEyODIyQzJBRkU1MzU2MDE0N0UyMDAwMTM1MDA3Q0FCODEyMzE1RERBQjhBNTBBQkUyMTJGNzhFRkQyQUYyMkNBMjg3RTQwMDAxMjZDNUJEQTI4MjJDMkFGRTUyMzYwMTQ3RTIwMDAxMzUwMDdDQUI4MTIzMTg1REFCOEE1MEFCRTIxMkY3OEVGRDJBRjIyN0NCMjIzMEEyQjQ5MjIzMTkwODkyNDMxQTAzMjEwMzI4MDMyRjAzMzYwMzNEMDM0NDAzNEIwN0UyNzAxOEZCRTI0MDAwMDc4MjQ3RTI0ODAwMDA5QjIwMDE0Q0FCODVFQjAxRURBQjg2ODBCQ0ExOTdEMTIxMjQ5MzA3RDIxREExOTMwRTYxODdFNjAwMDgwMUVCRTI3MDE5RjY4MEQ3QTI3MDE5RjdFNjA5QzdBNjMwMUNGODAyRTdFNjMwMUNGQTVCRTAwMjY3RTYwMDE3RUIwMDA3RUEwQzgxMjYyQjY0MDE4NzUzMUIzMTI3QzE1QzIxODZDMDA3QTAzMDFDRkMwRjE3NUYxMDExMjZGRDlEMEYxMjI3RTI3MDE5MUJFMjQwMDAwNzgyNDdFMjQ4MTAwMDlCMjAwMTRDQUI4NUVCMDFFREFCODY4MEJDQTE5N0QxMjEyNEM4ODdEMjFEQTE5MzBFNjE4N0U2MDAwODAxRUJFMjcwMUExNjgwRDdBMjcwMUExN0U2MDlDN0E2MzAxRDA4MDJFN0U2MzAxRDBBNUJFMDAyNjdFNjAwMTdFQjAwMDdFQTBDODEyNjJCNjQwMTg3NTMxQjMxMjdDMTVDMjE5NkMwMDdBMDMwMUQwQzBGMTc1RjEwMTEyNkZEOUQwRjEyMjdFMjcwMTkzQkUyNDAwMDA3ODI0N0UyNDgyMDAwOUIyMDAxNENBQjg1RUIwMUVEQUI4NjgwQkNBMTk3RDEyMTI0RkUwN0QyMURBMTkzMEU2MTg3RTYwMDA4MDFFQkUyNzAxQTM2ODBEN0EyNzAxQTM3RTYwOUM3QTYzMDFEMTgwMkU3RTYzMDFEMUE1QkUwMDI2N0U2MDAxN0VCMDAwN0VBMEM4MTI2MkI2NDAxODc1MzFCMzEyN0MxNUMyMUE2QzAwN0EwMzAxRDFDMEYxNzVGMTAxMTI2RkQ5RDBGMTIyN0UyNzAxOTVCRTI0MDAwMDc4MjQ3RTI0ODMwMDA5QjIwMDE0Q0FCODVFQjAxRURBQjg2ODBCQ0ExOTdEMTIxMjUzMzg3RDIxREExOTMwRTYxODdFNjAwMDgwMUVCRTI3MDFBNTY4MEQ3QTI3MDFBNTdFNjA5QzdBNjMwMUQyODAyRTdFNjMwMUQyQTVCRTAwMjY3RTYwMDE3RUIwMDA3RUEwQzgxMjYyQjY0MDE4NzUzMUIzMTI3QzE1QzIxQjZDMDA3QTAzMDFEMkMwRjE3NUYxMDExMjZGRDlEMEYxMjI3RTI3MDE5N0JFMjQwMDAwNzgyNDdFMjQ4NDAwMDlCMjAwMTRDQUI4NUVCMDFFREFCODY4MEJDQTE5N0QxMjEyNTY5MDdEMjFEQTE5MzBFNjE4N0U2MDAwODAxRUJFMjcwMUE3NjgwRDdBMjcwMUE3N0U2MDlDN0E2MzAxRDM4MDJFN0U2MzAxRDNBNUJFMDAyNjdFNjAwMTdFQjAwMDdFQTBDODEyNjJCNjQwMTg3NTMxQjMxMjdDMTVDMjFDNkMwMDdBMDMwMUQzQzBGMTc1RjEwMTEyNkZEOUQwRjEyMjdFMjcwMTk5QkUyNDAwMDA3ODI0N0UyNDg1MDAwOUIyMDAxNENBQjg1RUIwMUVEQUI4NjgwQkNBMTk3RDEyMTI1OUU4N0QyMURBMTkzMEU2MTg3RTYwMDA4MDFFQkUyNzAxQTk2ODBEN0EyNzAxQTk3RTYwOUM3QTYzMDFENDgwMkU3RTYzMDFENEE1QkUwMDI2N0U2MDAxN0VCMDAwN0VBMEM4MTI2MkI2NDAxODc1MzFCMzEyN0MxNUMyMUQ2QzAwN0EwMzAxRDRDMEYxNzVGMTAxMTI2RkQ5RDBGMTIyN0UyNzAxOUJCRTI0MDAwMDc4MjQ3RTI0ODYwMDA5QjIwMDE0Q0FCODVFQjAxRURBQjg2ODBCQ0ExOTdEMTIxMjVENDA3RDIxREExOTMwRTYxODdFNjAwMDgwMUVCRTI3MDFBQjY4MEQ3QTI3MDFBQjdFNjA5QzdBNjMwMUQ1ODAyRTdFNjMwMUQ1QTVCRTAwMjY3RTYwMDE3RUIwMDA3RUEwQzgxMjYyQjY0MDE4NzUzMUIzMTI3QzE1QzIxRTZDMDA3QTAzMDFENUMwRjE3NUYxMDExMjZGRDlEMEYxMjI3RTI3MDE5REJFMjQwMDAwNzgyNDdFMjQ4NzAwMDlCMjAwMTRDQUI4NUVCMDFFREFCODY4MEJDQTE5N0QxMjEyNjA5ODdEMjFEQTE5MzBFNjE4N0U2MDAwODAxRUJFMjcwMUFENjgwRDdBMjcwMUFEN0U2MDlDN0E2MzAxRDY4MDJFN0U2MzAxRDZBNUJFMDAyNjdFNjAwMTdFQjAwMDdFQTBDODEyNjJCNjQwMTg3NTMxQjMxMjdDMTVDMjFGNkMwMDdBMDMwMUQ2QzBGMTc1RjEwMTEyNkZEOUQwRjEyMkMyQUZFNTI0NjAxNDdFMjAwMDEzNTAwN0NBQjgxMjM1M0REQUI4QTUwQUJFMjEyRjc4RUZEMkFGMjI3Q0IyMjMwQTJCNDkyMjM1NDg4OTI0MzU1ODM1OTIzNUNDMzYwNjM2NDAzNjdBMzZCNDM2RUU3RTI0ODAwMDA5QjIwMDE0Q0FCODVFQjAxRURBQjg2ODBCQ0ExOTdEMTIxMjQ5MzA3RDIxREExOTVFQjAwMTdFQTA5MDEyNjI5MzQwMTI3NTMxQjgxMjdDMTVDMjIwQzBGMTc1RjEwMTEyNkZEOUQwRjEyMjdFMjQ4MTAwMDlCMjAwMTRDQUI4NUVCMDFFREFCODY4MEJDQTE5N0QxMjEyNEM4ODdEMjFEQTE5NUVCMDAxN0VBMDkwMTI2MjkzNDAxMjc1MzFCODEyN0MxNUMyMjFDMEYxNzVGMTAxMTI2RkQ5RDBGMTIyN0UyNDgyMDAwOUIyMDAxNENBQjg1RUIwMUVEQUI4NjgwQkNBMTk3RDEyMTI0RkUwN0QyMURBMTk1RUIwMDE3RUEwOTAxMjYyOTM0MDEyNzUzMUI4MTI3QzE1QzIyMkMwRjE3NUYxMDExMjZGRDlEMEYxMjI3RTI0ODMwMDA5QjIwMDE0Q0FCODVFQjAxRURBQjg2ODBCQ0ExOTdEMTIxMjUzMzg3RDIxREExOTVFQjAwMTdFQTA5MDEyNjI5MzQwMTI3NTMxQjgxMjdDMTVDMjIzQzBGMTc1RjEwMTEyNkZEOUQwRjEyMjdFMjQ4NDAwMDlCMjAwMTRDQUI4NUVCMDFFREFCODY4MEJDQTE5N0QxMjEyNTY5MDdEMjFEQTE5NUVCMDAxN0VBMDkwMTI2MjkzNDAxMjc1MzFCODEyN0MxNUMyMjRDMEYxNzVGMTAxMTI2RkQ5RDBGMTIyN0UyNDg1MDAwOUIyMDAxNENBQjg1RUIwMUVEQUI4NjgwQkNBMTk3RDEyMTI1OUU4N0QyMURBMTk1RUIwMDE3RUEwOTAxMjYyOTM0MDEyNzUzMUI4MTI3QzE1QzIyNUMwRjE3NUYxMDExMjZGRDlEMEYxMjI3RTI0ODYwMDA5QjIwMDE0Q0FCODVFQjAxRURBQjg2ODBCQ0ExOTdEMTIxMjVENDA3RDIxREExOTVFQjAwMTdFQTA5MDEyNjI5MzQwMTI3NTMxQjgxMjdDMTVDMjI2QzBGMTc1RjEwMTEyNkZEOUQwRjEyMjdFMjQ4NzAwMDlCMjAwMTRDQUI4NUVCMDFFREFCODY4MEJDQTE5N0QxMjEyNjA5ODdEMjFEQTE5NUVCMDAxN0VBMDkwMTI2MjkzNDAxMjc1MzFCODEyN0MxNUMyMjdDMEYxNzVGMTAxMTI2RkQ5RDBGMTIyQzJBRkU1MzM2MDE0N0UyMDAwMTM1MDA3Q0FCODEyMzc0NURBQjhBNTBBQkUyMTJGNzhFRkQyQUYyMjdDQjIyMzBBMkI0OTIyMzc1MDg5MjQzNzYwMzc3RjM3OUUzN0JEMzdEQzM3RkIzODFBMzgzOTdFMjQ4MDAwQ0ExOTdEMTIxMjQ4MUJEQTE5MTAwNDAyODAwQ0QyMDFDMEYxNzVGMTAxMTI2RkQ5RDBGMTIyN0UyNDgxMDBDQTE5N0QxMjEyNEI3M0RBMTkxMDA0MDI4MDBDRDIwMUMwRjE3NUYxMDExMjZGRDlEMEYxMjI3RTI0ODIwMENBMTk3RDEyMTI0RUNCREExOTEwMDQwMjgwMENEMjAxQzBGMTc1RjEwMTEyNkZEOUQwRjEyMjdFMjQ4MzAwQ0ExOTdEMTIxMjUyMjNEQTE5MTAwNDAyODAwQ0QyMDFDMEYxNzVGMTAxMTI2RkQ5RDBGMTIyN0UyNDg0MDBDQTE5N0QxMjEyNTU3QkRBMTkxMDA0MDI4MDBDRDIwMUMwRjE3NUYxMDExMjZGRDlEMEYxMjI3RTI0ODUwMENBMTk3RDEyMTI1OEQzREExOTEwMDQwMjgwMENEMjAxQzBGMTc1RjEwMTEyNkZEOUQwRjEyMjdFMjQ4NjAwQ0ExOTdEMTIxMjVDMkJEQTE5MTAwNDAyODAwQ0QyMDFDMEYxNzVGMTAxMTI2RkQ5RDBGMTIyN0UyNDg3MDBDQTE5N0QxMjEyNUY4M0RBMTkxMDA0MDI4MDBDRDIwMUMwRjE3NUYxMDExMjZGRDlEMEYxMjJDMkFGQzBGMTc1RjEwMUE5MzJGMjFBN0UwNzAxRTFCRTA0MDAwMDc4MTBFNUY1MzM4MkU3NDAwOTg1MzEzMTEyN0MxNTc1RjYwMEQwRjFEMkFGMjI0NworOjNDMTU0MDAwMDA3RTA0MDAwMTdFMTQ3RkY4N0UyNDAwRkU3RDMxMEIxQTUwMUIwQTUwN0UxNDQwMUIwMjQwNkE3RUY4MDA2RkQyMDRDMjk0RDI5NTdFRjQ0MDJDMDI0MDdDMTI3RDMwRjUyRjdBQTEzMDdBMTE2RTEyNzVDQTEyNDBEQzdFQjMzRkYxNjAwMzEyNDNENDc1RjEwMDEyNzY2RkQyQUYwMjMwMDA3RTA0MDBGRjdFMTg0MDVGN0ExQzAwMDE4OTE4QTkyNTg3MDNBOUQ1ODdEMjkzODkwODdFMDQwMEZGN0UxODQwNzg3QTFDMDAwMTg5MThDMjkzODkwODdFMDgwMDIwN0U0NDA0MDA3RTQwMDA3RUU0NDA4RTAyN0MzMDdFMDgwMTZGN0U0NDI4N0M3RTQwMDA3RUU0NDBBMDAyN0MzMDdFMDgwMDZGN0U0NDAxMDA3RTQwNTM3RUU0NDBCMjAyN0MzMDc1NkQyMDc1NkMzMDdFMDQwMDA4NzU2QTU4NzU2QjA4NzU2NzA4NzU2OTAxNzU4OTAxNzU4QTAxNzU4QzAwRDI4QzdFMDQwMDAyN0EwNTU4ODlGNDc1Qjc3Rjc1Qjg3Rjc1QjMwNzc1QjIwN0QyQTkyMkQyOTJFNEQ1RTBGREMyOTI3RTI0ODAwMDdFMTEyRjdFQTAwODE5QTIwMDEwMkUyNDAxMDBBNUQ5RjI3RTIwMDAxMjQxN0UwQjIwQkUyMTJGNzhGNjIyN0UwNDgwMDA0QzAyNzRCRjE5QjAwMDBDNzQxMDE5QjAwMDA4NzQ4MDE5QjAwMDBDN0U1NDAwMDIxOUEwMDAwNDE5QjAwMDAwNzQwMzE5QjAwMDBDNzQwN0E5MjAzMDBCQTkzNTMwMDVCRTIwMDEyODAyNzQwRjE5QjAwMDA0QTkzMzMwMTg3NEJGMTlCMDAwMEM3NDI4QTkyMDMwMDI3NDIwMTlCMDAwMDQ3NDAzMTlCMDAwMEM3NEE3MTlCMDAwMDg3NDBDMTlCMDAwMTAyMjdFMDQ4MDAwNEMwMkU0MTlCMDAwMDQwOUIwMDAxMDU0MDgxOUIwMDAxMDc0QTcxOUIwMDAwODIyN0NCMjIzMEEyQjQ5MjI0MUE1ODkyNDQxQjU0MUQ0NDFGMzQyMTI0MjMxNDI1MDQyNkY0MjhFQzIxMEMyMThDMjIwQzIwODdFMDQwOUUzN0EwNzAxNkY3QTA3MDE3RjZEMDA3QTA3MDE4RjdBMDcwMTlGMjJDMjExQzIxOUMyMjFDMjA5N0UwNDBERTM3QTA3MDE3MTdBMDcwMTgxNkQwMDdBMDcwMTkxN0EwNzAxQTEyMkMyMTJDMjFBQzIyMkMyMEE3RTA0MTFFMzdBMDcwMTczN0EwNzAxODM2RDAwN0EwNzAxOTM3QTA3MDFBMzIyQzIxM0MyMUJDMjIzQzIwQjdFMDQxNUUzN0EwNzAxNzU3QTA3MDE4NTZEMDA3QTA3MDE5NTdBMDcwMUE1MjJDMjE0QzIxQ0MyMjRDMjBDN0UwNDE5RTM3QTA3MDE3NzdBMDcwMTg3NkQwMDdBMDcwMTk3N0EwNzAxQTcyMkMyMTVDMjFEQzIyNUMyMEQ3RTA0MURFMzdBMDcwMTc5N0EwNzAxODk2RDAwN0EwNzAxOTk3QTA3MDFBOTIyQzIxNkMyMUVDMjI2QzIwRTdFMDQyMUUzN0EwNzAxN0I3QTA3MDE4QjZEMDA3QTA3MDE5QjdBMDcwMUFCMjJDMjE3QzIxRkMyMjdDMjBGN0UwNDI1RTM3QTA3MDE3RDdBMDcwMThENkQwMDdBMDcwMTlEN0EwNzAxQUQyMjdDQjIyMzBBMkI0OTIyNDJCODg5MjQ0MkM4NDJFOTQzMEE0MzJCNDM0QzQzNkQ0MzhFNDNBRjMwNTAwNzIwNjgwNEMyMjg4MDE2MzA0MDA3MjA2MDA0QzIyODgwMEMzMDQ4MDcyMDU4MDRDMjI4ODAwMkQyMjgyMjMwNTEwNzIwNjkwNEMyMjk4MDE2MzA0MTA3MjA2MTA0QzIyOTgwMEMzMDQ5MDcyMDU5MDRDMjI5ODAwMkQyMjkyMjMwNTIwNzIwNkEwNEMyMkE4MDE2MzA0MjA3MjA2MjA0QzIyQTgwMEMzMDRBMDcyMDVBMDRDMjJBODAwMkQyMkEyMjMwNTMwNzIwNkIwNEMyMkI4MDE2MzA0MzA3MjA2MzA0QzIyQjgwMEMzMDRCMDcyMDVCMDRDMjJCODAwMkQyMkIyMjMwNTQwNzIwNkMwNEMyMkM4MDE2MzA0NDA3MjA2NDA0QzIyQzgwMEMzMDRDMDcyMDVDMDRDMjJDODAwMkQyMkMyMjMwNTUwNzIwNkQwNEMyMkQ4MDE2MzA0NTA3MjA2NTA0QzIyRDgwMEMzMDREMDcyMDVEMDRDMjJEODAwMkQyMkQyMjMwNTYwNzIwNkUwNEMyMkU4MDE2MzA0NjA3MjA2NjA0QzIyRTgwMEMzMDRFMDcyMDVFMDRDMjJFODAwMkQyMkUyMjMwNTcwNzIwNkYwNEMyMkY4MDE2MzA0NzA3MjA2NzA0QzIyRjgwMEMzMDRGMDcyMDVGMDRDMjJGODAwMkQyMkYyMjQ0Mzg0M0U1QkVCMDAyNDAwMTIyMjMwQTVCNDk1NTQzRDA5OTU0RDMyMkE5QzU4NzEyNDQ0MzdFMDQwNUUzN0EwNzAxRDc3QTA3MDFEOTdFMDQwMUUzN0EwNzAxREQ3QTA3MDFERjdFMDQ3NEFEN0EwNTYxNzVGMTAxNzVFMTFGNzVFNDA0NzVGNDA0NzVGMTAyNzVFMTAzNzVFNDA0NzVGNDA0NDNBMjFDMTI0MEVCN0UyMDAwMTI0MTlBMEIyMEJFMjEyRjc4RjZEMkE4MjJBOUQ1ODcxMjQ0NDNEMjkyQzJBODIyNzVBMzAwNTNBMjAzNzVDMTAwNTNDMDAzN0UwMDA1N0EwMUYxNDNGNDgwNDNFNDgwRTVGMjU0N0Y0NDA4RjVGMkU1RTI1NDdGNDQwOEY1RTI3NUUxMTBBNUQ4RTEyMkNBMDkxMjMwMjAxMDAxMTJENTY3MUU2MzY5MDE3RTAwNkEyRTAxNjlBNUU2RjU2NzgwMTIyMDAyMUU3NTY5MDA4NTZBNjdEMjAyNzQwMDgwMEQzMDAyMEZDMjAyN0UwMDZDMkUwMTY5QTVFNjUzOTBDRjQyOTBEQTA5MzJDMEQwQzBEMUMwRTBDMEYwQ0EwQkNBMUJDQTJCRDIwMTc1MzE4OTEyN0MxNTdFMTQ4MDAwMDlCMTAwMDgyMEUwMDMwMjQ1NEYyMDc4NUFBNTBBMDlCMTAwMDgyMEUwMDMwMjQ1NjcyMDc5NEJBNTBBMDlCMTAwMDgyMEUwMDMwMjQ1N0ZBNTBBMDlCMTAwMDgyMEUwMDMwMjQ1OTcyMDdBMzBBNTBBMDlCMTAwMDgyMEUwMDMwMjQ1QUZBNTBBMDlCMTAwMDgyMEUwMDMwMjQ1QzdBNTBBMDlCMTAwMDgyMEUwMDMwMjQ1REZBNTBBMDlCMTAwMDgyMEUwMDMwMjQ1RjczMDA0MENDMjA0QzBGMTc1RjEwMTEyNkZEOUQwRjFEQTJCREExQkRBMEJEMEYwRDBFMEQwRDFEMEQwMzI3NTMxODAxMjdDMTU1NDNFMEE1QjdFNDQwMEZGNjk1MjYzMkJDQTA2QzY0NDg5NTQ3NTMxODExMjdDMTU1NDNFMEE1QjdFNDQwMEZGNjk1MjYzNkJDQTA2QzY0NDg5NTQ3NTMxODIxMjdDMTU1NDNFMEE1QjdFNDQwMEZGNjk1MjYzQUJDQTA2QzY0NDg5NTQ3NTMxODMxMjdDMTU1NDNFMEE1QjdFNDQwMEZGNjk1MjYzRUJDQTA2QzY0NDg5NTQ3NTMxODQxMjdDMTU1NDNFMEE1QjdFNDQwMEZGNjk1MjY0MkJDQTA2QzY0NDg5NTQ3NTMxODUxMjdDMTU1NDNFMEE1QjdFNDQwMEZGNjk1MjY0NkJDQTA2QzY0NDg5NTQ3NTMxODYxMjdDMTU1NDNFMEE1QjdFNDQwMEZGNjk1MjY0QUJDQTA2QzY0NDg5NTQ3NTMxODcxMjdDMTU1NDNFMEE1QjdFNDQwMEZGNjk1MjY0RUJDQTA2QzY0NDg5NTQxMDA4MDEyMjIwMjgwM0QyMDgyMjc1MzFBMDEyN0MxNTdFMTQ4MDAwODAwNjIwMjgwM0QyMDgyMjA5QjEwMDE0Q0FCODVFQjAxRURBQjg2ODAzMTI0OTMwMjBFNjAzRDIwODIyMzAzMDQ5RDI3MDdFMzcwMThGN0UyNzAxQUY5RDMyNDAzMTdEMDIyRTA1NDg3QTA1NDg3QTM3MDE4RjdFMzcwMTZGN0Q0MzJENDJCRTQ0MERFMjM4Njg3QTQ3MDE2Rjc1MzE5NDEyN0MxNTdBNTEzMTEyN0MxNTEyNjUyQjEwNzBDNDIyQzI3MDJEMjM2ODc4NkQzMzgwMUE3RTI3MDE4RkJFMjQwMDAwNjg2QUJFMjcwMUFGMjgwNDdFMjcwMUFGN0UzNzAxOEY5RDMyN0QwMjJFMDU0ODdBMDU0ODdBMzcwMThGN0UzNzAxNkY3RDQzMkQ0MkJFNDQwREUyMzgxMzdBNDcwMTZGNzUzMTk0MTI3QzE1N0E1MTMxMTI3QzE1MDI2NTJCNzUzMTk0MTI3QzE1N0E1MTMxMTI3QzE1OUU0NDBERTM5RDI0MTI2NTJCN0UzNDA5RTM3RDI0MkQ0MzdBNDcwMTZGMTI2NTJCQkUyNTIwNzgwMzAyNDY3RjIyRDIwODdFMDQwOUUzN0EwNzAxNkY3QTA3MDE3Rjc1MzE5NDEyN0MxNTc1MzEwMDEyN0MxNTIyNzUzMTkyMTI3QzE1RDIwNDA5QjEwMDE0Q0FCODU0ODJEQUI4Nzg3MDdFMzcwMUUxN0UyNzAxQkYyRTI0MDAwMjJEMzJCRTM0MDQwMDM4M0M3RDAyMkUwNTQ2N0EwNTQ2N0EzNzAxRTE3RTM3MDFERjdENDMyRDQyQkU0NDA1RTIzODQ0N0E0NzAxREY3RTI0MDAwMDJFMjcwMUJGMUIzODIwMEIzNTdBNTEzMTEyN0MxNUJFNTAzODc4MDMwMjY2MTYwMjY1RkI3NTMxOTkxMjdDMTUwOUIxMDAwNDU0RkExOUIxMDAwNDMwMzgwQTA5QjEwMDEwNTRGRTE5QjEwMDEwRDIxMDIyODA3RDdBNTEzMTEyN0MxNTlFNDQwNUUzOUQyNDdFNjQwMDAwMkU2NzAxQkY5RTI0MDAwMjQwMTcxQjM4NjAwQjM1MTI2NUZCN0UzNDAxRTM3RDI0MkQ0MzdBNDcwMURGMDI2NUZCN0EzOUMwN0UzNDAxRTM3QTM5RDAwQjM0MUI0NDgwRTU5RDMyN0NCNjU0MEYyMzIzMjM0NDAwN0E2OUIwN0E3OTcwMEIzNTc1MzE5MzEyN0MxNTdBNzEzMTEyN0MxNUJEMDQ2ODI5N0EwNzAxREY3RTQ3MDFFMTJENDM3QTQ3MDFFMTJFMzU0NjdBMzU0NjIyMDlCMTAwMTQyMEUwMTMyMjdFMDQwMUUzODAyQTdFMDQwMUUzODAyQzdFMDQwMUUzODBEMUQyMDQ3RTA3MDFFMTdFMjQwM0ZFOUQyMDI4NDA3RTA3MDFERjdFNDQwNUUzN0Q2MDBCMDRCRDA0NjhEMDdENzAwQjA0QkQwNDY4Q0U3RDU0OUQ1MEJEMjU0MDAyN0QyNTdEMzIwOUIxMDAxNENBQjg1NDFGQjQwMTMxREFCODdFMTlCMDdBMDlCMDBCMDQxQjI0NzhFNzAyNDdFMzc1MzE5OTEyN0MxNTA5QjEwMDA0NTRGQTE5QjEwMDA0MzAzODBBMDlCMTAwMTA1NEZFMTlCMTAwMTBEMjEwMjJEQUI4MzBFMEQ4QkQzMjY4MDdDQUI4MTI0N0UzREFCODAyNDkzMDA5QjEwMDE4N0VBMDg4NzUzMTkwMTI3QzE1RjUzMTEyN0MxNUE1RkM1RUIwRjBBNUZEMDlCMTAwMTg0QzRCNUVCMEYwQkNCNTc4RjE1RTQwMEY0QzU0N0NCNTVFNTAwQjY4MkFBNUZENUU1MDEwNjgwNEQyNjg4MDAyQzI2OEE1RkQ1RTUwMjA2ODA0RDI2MDgwMDJDMjYwQTVGRDVFNTA4MDY4MDREMjU4ODAwMkMyNTgxMjQyQzgwMjYyOTM3NTMxOTExMjdDMTUwOUIxMDAxNDdBQjEzMTEyN0MxNTIwRTAwOEQyMDQ3RUEwODAwMjYyOTNEMjA0MzBFMTA2N0VBMDgwMTI2MjkzQ0FCODVFQjAxQ0RBQjg2ODEyN0VBMEMwMDk2MTAwMDAxMjYyQjYwOUIxMDAxNDIwRTBEQjIyMDI0ODM1NzUzMTk1MTI3QzE1MjI3NTMxOTYxMjdDMTUyMjEwMDkwMTIyMjAyOTAzRDIwOTIyNzUzMUExMTI3QzE1N0UxNDgxMDA4MDA2MjAyOTAzRDIwOTIyMDlCMTAwMTRDQUI4NUVCMDFFREFCODY4MDMxMjRDODgyMEU2MDNEMjA5MjIzMDMxNDlEMjcxN0UzNzAxOTE3RTI3MDFCMTlEMzI0MDMxN0QwMjJFMDU0QTdBMDU0QTdBMzcwMTkxN0UzNzAxNzE3RDQzMkQ0MkJFNDQxMUUyMzg2ODdBNDcwMTcxNzUzMTk0MTI3QzE1N0E1MTMxMTI3QzE1MTI2NTJCMTA3MUM0MjJDMjcxMkQyMzY4Nzg2RDMzODAxQTdFMjcwMTkxQkUyNDAwMDA2ODZBQkUyNzAxQjEyODA0N0UyNzAxQjE3RTM3MDE5MTlEMzI3RDAyMkUwNTRBN0EwNTRBN0EzNzAxOTE3RTM3MDE3MTdENDMyRDQyQkU0NDExRTIzODEzN0E0NzAxNzE3NTMxOTQxMjdDMTU3QTUxMzExMjdDMTUwMjY1MkI3NTMxOTQxMjdDMTU3QTUxMzExMjdDMTU5RTQ0MTFFMzlEMjQxMjY1MkI3RTM0MERFMzdEMjQyRDQzN0E0NzAxNzExMjY1MkJCRTI1MjA3ODAzMDI0OUQ3MjJEMjA5N0UwNDBERTM3QTA3MDE3MTdBMDcwMTgxNzUzMTk0MTI3QzE1NzUzMTAwMTI3QzE1MjI3NTMxOTIxMjdDMTVEMjA0MDlCMTAwMTRDQUI4NTQ4MkRBQjg3ODcwN0UzNzAxRTE3RTI3MDFDMTJFMjQwMDAyMkQzMkJFMzQwNDAwMzgzQzdEMDIyRTA1NDY3QTA1NDY3QTM3MDFFMTdFMzcwMURGN0Q0MzJENDJCRTQ0MDVFMjM4NDQ3QTQ3MDFERjdFMjQwMTAwMkUyNzAxQzExQjM4MjAwQjM1N0E1MTMxMTI3QzE1QkU1MDM4NzgwMzAyNjYxNjAyNjVGQjc1MzE5OTEyN0MxNTA5QjEwMDA0NTRGQTE5QjEwMDA0MzAzOTBBMDlCMTAwMTA1NEZFMTlCMTAwMTBEMjExMjI4MDdEN0E1MTMxMTI3QzE1OUU0NDA1RTM5RDI0N0U2NDAxMDAyRTY3MDFDMTlFMjQwMDAyNDAxNzFCMzg2MDBCMzUxMjY1RkI3RTM0MDFFMzdEMjQyRDQzN0E0NzAxREYwMjY1RkI3QTM5QzA3RTM0MDFFMzdBMzlEMDBCMzQxQjQ0ODBFNTlEMzI3Q0I2NTQwRjIzMjMyMzQ0MDE3QTY5QjA3QTc5NzAwQjM1NzUzMTkzMTI3QzE1N0E3MTMxMTI3QzE1QkQwNDY4Mjk3QTA3MDFERjdFNDcwMUUxMkQ0MzdBNDcwMUUxMkUzNTQ2N0EzNTQ2MjIwOUIxMDAxNDIwRTAxMzIyN0UwNDAxRTM4MDJBN0UwNDAxRTM4MDJDN0UwNDAxRTM4MEQxRDIwNDdFMDcwMUUxN0UyNDAzRkU5RDIwMjg0MDdFMDcwMURGN0U0NDA1RTM3RDYwMEIwNEJEMDQ2OEQwN0Q3MDBCMDRCRDA0NjhDRTdENTQ5RDUwQkQyNTQwMDI3RDI1N0QzMjA5QjEwMDE0Q0FCODU0MUZCNDAxMzFEQUI4N0UxOUIwN0EwOUIwMEIwNDFCMjQ3OEU3MDI0QjNCNzUzMTk5MTI3QzE1MDlCMTAwMDQ1NEZBMTlCMTAwMDQzMDM5MEEwOUIxMDAxMDU0RkUxOUIxMDAxMEQyMTEyMkRBQjgzMEUwRDhCRDMyNjgwN0NBQjgxMjRCM0JEQUI4MDI0Qzg4MDlCMTAwMTg3RUEwODg3NTMxOTAxMjdDMTVGNTMxMTI3QzE1QTVGQzVFQjBGMEE1RkQwOUIxMDAxODRDNEI1RUIwRjBCQ0I1NzhGMTVFNDAwRjRDNTQ3Q0I1NUU1MDBCNjgyQUE1RkQ1RTUwMTA2ODA0RDI2OTgwMDJDMjY5QTVGRDVFNTAyMDY4MDREMjYxODAwMkMyNjFBNUZENUU1MDgwNjgwNEQyNTk4MDAyQzI1OTEyNDJFOTAyNjI5Mzc1MzE5MTEyN0MxNTA5QjEwMDE0N0FCMTMxMTI3QzE1MjBFMDA4RDIwNDdFQTA4MDAyNjI5M0QyMDQzMEUxMDY3RUEwODAxMjYyOTNDQUI4NUVCMDFDREFCODY4MTI3RUEwQzAwOTYxMDAwMDEyNjJCNjA5QjEwMDE0MjBFMERCMjIwMjRCOEQ3NTMxOTUxMjdDMTUyMjc1MzE5NjEyN0MxNTIyMTAwQTAxMjIyMDJBMDNEMjBBMjI3NTMxQTIxMjdDMTU3RTE0ODIwMDgwMDYyMDJBMDNEMjBBMjIwOUIxMDAxNENBQjg1RUIwMUVEQUI4NjgwMzEyNEZFMDIwRTYwM0QyMEEyMjMwMzI0OUQyNzI3RTM3MDE5MzdFMjcwMUIzOUQzMjQwMzE3RDAyMkUwNTRDN0EwNTRDN0EzNzAxOTM3RTM3MDE3MzdENDMyRDQyQkU0NDE1RTIzODY4N0E0NzAxNzM3NTMxOTQxMjdDMTU3QTUxMzExMjdDMTUxMjY1MkIxMDcyQzQyMkMyNzIyRDIzNjg3ODZEMzM4MDFBN0UyNzAxOTNCRTI0MDAwMDY4NkFCRTI3MDFCMzI4MDQ3RTI3MDFCMzdFMzcwMTkzOUQzMjdEMDIyRTA1NEM3QTA1NEM3QTM3MDE5MzdFMzcwMTczN0Q0MzJENDJCRTQ0MTVFMjM4MTM3QTQ3MDE3Mzc1MzE5NDEyN0MxNTdBNTEzMTEyN0MxNTAyNjUyQjc1MzE5NDEyN0MxNTdBNTEzMTEyN0MxNTlFNDQxNUUzOUQyNDEyNjUyQjdFMzQxMUUzN0QyNDJENDM3QTQ3MDE3MzEyNjUyQkJFMjUyMDc4MDMwMjREMkYyMkQyMEE3RTA0MTFFMzdBMDcwMTczN0EwNzAxODM3NTMxOTQxMjdDMTU3NTMxMDAxMjdDMTUyMjc1MzE5MjEyN0MxNUQyMDQwOUIxMDAxNENBQjg1NDgyREFCODc4NzA3RTM3MDFFMTdFMjcwMUMzMkUyNDAwMDIyRDMyQkUzNDA0MDAzODNDN0QwMjJFMDU0NjdBMDU0NjdBMzcwMUUxN0UzNzAxREY3RDQzMkQ0MkJFNDQwNUUyMzg0NDdBNDcwMURGN0UyNDAyMDAyRTI3MDFDMzFCMzgyMDBCMzU3QTUxMzExMjdDMTVCRTUwMzg3ODAzMDI2NjE2MDI2NUZCNzUzMTk5MTI3QzE1MDlCMTAwMDQ1NEZBMTlCMTAwMDQzMDNBMEEwOUIxMDAxMDU0RkUxOUIxMDAxMEQyMTIyMjgwN0Q3QTUxMzExMjdDMTU5RTQ0MDVFMzlEMjQ3RTY0MDIwMDJFNjcwMUMzOUUyNDAwMDI0MDE3MUIzODYwMEIzNTEyNjVGQjdFMzQwMUUzN0QyNDJENDM3QTQ3MDFERjAyNjVGQjdBMzlDMDdFMzQwMUUzN0EzOUQwMEIzNDFCNDQ4MEU1OUQzMjdDQjY1NDBGMjMyMzIzNDQwMjdBNjlCMDdBNzk3MDBCMzU3NTMxOTMxMjdDMTU3QTcxMzExMjdDMTVCRDA0NjgyOTdBMDcwMURGN0U0NzAxRTEyRDQzN0E0NzAxRTEyRTM1NDY3QTM1NDYyMjA5QjEwMDE0MjBFMDEzMjI3RTA0MDFFMzgwMkE3RTA0MDFFMzgwMkM3RTA0MDFFMzgwRDFEMjA0N0UwNzAxRTE3RTI0MDNGRTlEMjAyODQwN0UwNzAxREY3RTQ0MDVFMzdENjAwQjA0QkQwNDY4RDA3RDcwMEIwNEJEMDQ2OENFN0Q1NDlENTBCRDI1NDAwMjdEMjU3RDMyMDlCMTAwMTRDQUI4NTQxRkI0MDEzMURBQjg3RTE5QjA3QTA5QjAwQjA0MUIyNDc4RTcwMjRFOTM3NTMxOTkxMjdDMTUwOUIxMDAwNDU0RkExOUIxMDAwNDMwM0EwQTA5QjEwMDEwNTRGRTE5QjEwMDEwRDIxMjIyREFCODMwRTBEOEJEMzI2ODA3Q0FCODEyNEU5M0RBQjgwMjRGRTAwOUIxMDAxODdFQTA4ODc1MzE5MDEyN0MxNUY1MzExMjdDMTVBNUZDNUVCMEYwQTVGRDA5QjEwMDE4NEM0QjVFQjBGMEJDQjU3OEYxNUU0MDBGNEM1NDdDQjU1RTUwMEI2ODJBQTVGRDVFNTAxMDY4MDREMjZBODAwMkMyNkFBNUZENUU1MDIwNjgwNEQyNjI4MDAyQzI2MkE1RkQ1RTUwODA2ODA0RDI1QTgwMDJDMjVBMTI0MzBBMDI2MjkzNzUzMTkxMTI3QzE1MDlCMTAwMTQ3QUIxMzExMjdDMTUyMEUwMDhEMjA0N0VBMDgwMDI2MjkzRDIwNDMwRTEwNjdFQTA4MDEyNjI5M0NBQjg1RUIwMUNEQUI4NjgxMjdFQTBDMDA5NjEwMDAwMTI2MkI2MDlCMTAwMTQyMEUwREIyMjAyNEVFNTc1MzE5NTEyN0MxNTIyNzUzMTk2MTI3QzE1MjIxMDBCMDEyMjIwMkIwM0QyMEIyMjc1MzFBMzEyN0MxNTdFMTQ4MzAwODAwNjIwMkIwM0QyMEIyMjA5QjEwMDE0Q0FCODVFQjAxRURBQjg2ODAzMTI1MzM4MjBFNjAzRDIwQjIyMzAzMzQ5RDI3MzdFMzcwMTk1N0UyNzAxQjU5RDMyNDAzMTdEMDIyRTA1NEU3QTA1NEU3QTM3MDE5NTdFMzcwMTc1N0Q0MzJENDJCRTQ0MTlFMjM4Njg3QTQ3MDE3NTc1MzE5NDEyN0MxNTdBNTEzMTEyN0MxNTEyNjUyQjEwNzNDNDIyQzI3MzJEMjM2ODc4NkQzMzgwMUE3RTI3MDE5NUJFMjQwMDAwNjg2QUJFMjcwMUI1MjgwNDdFMjcwMUI1N0UzNzAxOTU5RDMyN0QwMjJFMDU0RTdBMDU0RTdBMzcwMTk1N0UzNzAxNzU3RDQzMkQ0MkJFNDQxOUUyMzgxMzdBNDcwMTc1NzUzMTk0MTI3QzE1N0E1MTMxMTI3QzE1MDI2NTJCNzUzMTk0MTI3QzE1N0E1MTMxMTI3QzE1OUU0NDE5RTM5RDI0MTI2NTJCN0UzNDE1RTM3RDI0MkQ0MzdBNDcwMTc1MTI2NTJCQkUyNTIwNzgwMzAyNTA4NzIyRDIwQjdFMDQxNUUzN0EwNzAxNzU3QTA3MDE4NTc1MzE5NDEyN0MxNTc1MzEwMDEyN0MxNTIyNzUzMTkyMTI3QzE1RDIwNDA5QjEwMDE0Q0FCODU0ODJEQUI4Nzg3MDdFMzcwMUUxN0UyNzAxQzUyRTI0MDAwMjJEMzJCRTM0MDQwMDM4M0M3RDAyMkUwNTQ2N0EwNTQ2N0EzNzAxRTE3RTM3MDFERjdENDMyRDQyQkU0NDA1RTIzODQ0N0E0NzAxREY3RTI0MDMwMDJFMjcwMUM1MUIzODIwMEIzNTdBNTEzMTEyN0MxNUJFNTAzODc4MDMwMjY2MTYwMjY1RkI3NTMxOTkxMjdDMTUwOUIxMDAwNDU0RkExOUIxMDAwNDMwM0IwQTA5QjEwMDEwNTRGRTE5QjEwMDEwRDIxMzIyODA3RDdBNTEzMTEyN0MxNTlFNDQwNUUzOUQyNDdFNjQwMzAwMkU2NzAxQzU5RTI0MDAwMjQwMTcxQjM4NjAwQjM1MTI2NUZCN0UzNDAxRTM3RDI0MkQ0MzdBNDcwMURGMDI2NUZCN0EzOUMwN0UzNDAxRTM3QTM5RDAwQjM0MUI0NDgwRTU5RDMyN0NCNjU0MEYyMzIzMjM0NDAzN0E2OUIwN0E3OTcwMEIzNTc1MzE5MzEyN0MxNTdBNzEzMTEyN0MxNUJEMDQ2ODI5N0EwNzAxREY3RTQ3MDFFMTJENDM3QTQ3MDFFMTJFMzU0NjdBMzU0NjIyMDlCMTAwMTQyMEUwMTMyMjdFMDQwMUUzODAyQTdFMDQwMUUzODAyQzdFMDQwMUUzODBEMUQyMDQ3RTA3MDFFMTdFMjQwM0ZFOUQyMDI4NDA3RTA3MDFERjdFNDQwNUUzN0Q2MDBCMDRCRDA0NjhEMDdENzAwQjA0QkQwNDY4Q0U3RDU0OUQ1MEJEMjU0MDAyN0QyNTdEMzIwOUIxMDAxNENBQjg1NDFGQjQwMTMxREFCODdFMTlCMDdBMDlCMDBCMDQxQjI0NzhFNzAyNTFFQjc1MzE5OTEyN0MxNTA5QjEwMDA0NTRGQTE5QjEwMDA0MzAzQjBBMDlCMTAwMTA1NEZFMTlCMTAwMTBEMjEzMjJEQUI4MzBFMEQ4QkQzMjY4MDdDQUI4MTI1MUVCREFCODAyNTMzODA5QjEwMDE4N0VBMDg4NzUzMTkwMTI3QzE1RjUzMTEyN0MxNUE1RkM1RUIwRjBBNUZEMDlCMTAwMTg0QzRCNUVCMEYwQkNCNTc4RjE1RTQwMEY0QzU0N0NCNTVFNTAwQjY4MkFBNUZENUU1MDEwNjgwNEQyNkI4MDAyQzI2QkE1RkQ1RTUwMjA2ODA0RDI2MzgwMDJDMjYzQTVGRDVFNTA4MDY4MDREMjVCODAwMkMyNUIxMjQzMkIwMjYyOTM3NTMxOTExMjdDMTUwOUIxMDAxNDdBQjEzMTEyN0MxNTIwRTAwOEQyMDQ3RUEwODAwMjYyOTNEMjA0MzBFMTA2N0VBMDgwMTI2MjkzQ0FCODVFQjAxQ0RBQjg2ODEyN0VBMEMwMDk2MTAwMDAxMjYyQjYwOUIxMDAxNDIwRTBEQjIyMDI1MjNENzUzMTk1MTI3QzE1MjI3NTMxOTYxMjdDMTUyMjEwMEMwMTIyMjAyQzAzRDIwQzIyNzUzMUE0MTI3QzE1N0UxNDg0MDA4MDA2MjAyQzAzRDIwQzIyMDlCMTAwMTRDQUI4NUVCMDFFREFCODY4MDMxMjU2OTAyMEU2MDNEMjBDMjIzMDM0NDlEMjc0N0UzNzAxOTc3RTI3MDFCNzlEMzI0MDMxN0QwMjJFMDU1MDdBMDU1MDdBMzcwMTk3N0UzNzAxNzc3RDQzMkQ0MkJFNDQxREUyMzg2ODdBNDcwMTc3NzUzMTk0MTI3QzE1N0E1MTMxMTI3QzE1MTI2NTJCMTA3NEM0MjJDMjc0MkQyMzY4Nzg2RDMzODAxQTdFMjcwMTk3QkUyNDAwMDA2ODZBQkUyNzAxQjcyODA0N0UyNzAxQjc3RTM3MDE5NzlEMzI3RDAyMkUwNTUwN0EwNTUwN0EzNzAxOTc3RTM3MDE3NzdENDMyRDQyQkU0NDFERTIzODEzN0E0NzAxNzc3NTMxOTQxMjdDMTU3QTUxMzExMjdDMTUwMjY1MkI3NTMxOTQxMjdDMTU3QTUxMzExMjdDMTU5RTQ0MURFMzlEMjQxMjY1MkI3RTM0MTlFMzdEMjQyRDQzN0E0NzAxNzcxMjY1MkJCRTI1MjA3ODAzMDI1M0RGMjJEMjBDN0UwNDE5RTM3QTA3MDE3NzdBMDcwMTg3NzUzMTk0MTI3QzE1NzUzMTAwMTI3QzE1MjI3NTMxOTIxMjdDMTVEMjA0MDlCMTAwMTRDQUI4NTQ4MkRBQjg3ODcwN0UzNzAxRTE3RTI3MDFDNzJFMjQwMDAyMkQzMkJFMzQwNDAwMzgzQzdEMDIyRTA1NDY3QTA1NDY3QTM3MDFFMTdFMzcwMURGN0Q0MzJENDJCRTQ0MDVFMjM4NDQ3QTQ3MDFERjdFMjQwNDAwMkUyNzAxQzcxQjM4MjAwQjM1N0E1MTMxMTI3QzE1QkU1MDM4NzgwMzAyNjYxNjAyNjVGQjc1MzE5OTEyN0MxNTA5QjEwMDA0NTRGQTE5QjEwMDA0MzAzQzBBMDlCMTAwMTA1NEZFMTlCMTAwMTBEMjE0MjI4MDdEN0E1MTMxMTI3QzE1OUU0NDA1RTM5RDI0N0U2NDA0MDAyRTY3MDFDNzlFMjQwMDAyNDAxNzFCMzg2MDBCMzUxMjY1RkI3RTM0MDFFMzdEMjQyRDQzN0E0NzAxREYwMjY1RkI3QTM5QzA3RTM0MDFFMzdBMzlEMDBCMzQxQjQ0ODBFNTlEMzI3Q0I2NTQwRjIzMjMyMzQ0MDQ3QTY5QjA3QTc5NzAwQjM1NzUzMTkzMTI3QzE1N0E3MTMxMTI3QzE1QkQwNDY4Mjk3QTA3MDFERjdFNDcwMUUxMkQ0MzdBNDcwMUUxMkUzNTQ2N0EzNTQ2MjIwOUIxMDAxNDIwRTAxMzIyN0UwNDAxRTM4MDJBN0UwNDAxRTM4MDJDN0UwNDAxRTM4MEQxRDIwNDdFMDcwMUUxN0UyNDAzRkU5RDIwMjg0MDdFMDcwMURGN0U0NDA1RTM3RDYwMEIwNEJEMDQ2OEQwN0Q3MDBCMDRCRDA0NjhDRTdENTQ5RDUwQkQyNTQwMDI3RDI1N0QzMjA5QjEwMDE0Q0FCODU0MUZCNDAxMzFEQUI4N0UxOUIwN0EwOUIwMEIwNDFCMjQ3OEU3MDI1NTQzNzUzMTk5MTI3QzE1MDlCMTAwMDQ1NEZBMTlCMTAwMDQzMDNDMEEwOUIxMDAxMDU0RkUxOUIxMDAxMEQyMTQyMkRBQjgzMEUwRDhCRDMyNjgwN0NBQjgxMjU1NDNEQUI4MDI1NjkwMDlCMTAwMTg3RUEwODg3NTMxOTAxMjdDMTVGNTMxMTI3QzE1QTVGQzVFQjBGMEE1RkQwOUIxMDAxODRDNEI1RUIwRjBCQ0I1NzhGMTVFNDAwRjRDNTQ3Q0I1NUU1MDBCNjgyQUE1RkQ1RTUwMTA2ODA0RDI2QzgwMDJDMjZDQTVGRDVFNTAyMDY4MDREMjY0ODAwMkMyNjRBNUZENUU1MDgwNjgwNEQyNUM4MDAyQzI1QzEyNDM0QzAyNjI5Mzc1MzE5MTEyN0MxNTA5QjEwMDE0N0FCMTMxMTI3QzE1MjBFMDA4RDIwNDdFQTA4MDAyNjI5M0QyMDQzMEUxMDY3RUEwODAxMjYyOTNDQUI4NUVCMDFDREFCODY4MTI3RUEwQzAwOTYxMDAwMDEyNjJCNjA5QjEwMDE0MjBFMERCMjIwMjU1OTU3NTMxOTUxMjdDMTUyMjc1MzE5NjEyN0MxNTIyMTAwRDAxMjIyMDJEMDNEMjBEMjI3NTMxQTUxMjdDMTU3RTE0ODUwMDgwMDYyMDJEMDNEMjBEMjIwOUIxMDAxNENBQjg1RUIwMUVEQUI4NjgwMzEyNTlFODIwRTYwM0QyMEQyMjMwMzU0OUQyNzU3RTM3MDE5OTdFMjcwMUI5OUQzMjQwMzE3RDAyMkUwNTUyN0EwNTUyN0EzNzAxOTk3RTM3MDE3OTdENDMyRDQyQkU0NDIxRTIzODY4N0E0NzAxNzk3NTMxOTQxMjdDMTU3QTUxMzExMjdDMTUxMjY1MkIxMDc1QzQyMkMyNzUyRDIzNjg3ODZEMzM4MDFBN0UyNzAxOTlCRTI0MDAwMDY4NkFCRTI3MDFCOTI4MDQ3RTI3MDFCOTdFMzcwMTk5OUQzMjdEMDIyRTA1NTI3QTA1NTI3QTM3MDE5OTdFMzcwMTc5N0Q0MzJENDJCRTQ0MjFFMjM4MTM3QTQ3MDE3OTc1MzE5NDEyN0MxNTdBNTEzMTEyN0MxNTAyNjUyQjc1MzE5NDEyN0MxNTdBNTEzMTEyN0MxNTlFNDQyMUUzOUQyNDEyNjUyQjdFMzQxREUzN0QyNDJENDM3QTQ3MDE3OTEyNjUyQkJFMjUyMDc4MDMwMjU3MzcyMkQyMEQ3RTA0MURFMzdBMDcwMTc5N0EwNzAxODk3NTMxOTQxMjdDMTU3NTMxMDAxMjdDMTUyMjc1MzE5MjEyN0MxNUQyMDQwOUIxMDAxNENBQjg1NDgyREFCODc4NzA3RTM3MDFFMTdFMjcwMUM5MkUyNDAwMDIyRDMyQkUzNDA0MDAzODNDN0QwMjJFMDU0NjdBMDU0NjdBMzcwMUUxN0UzNzAxREY3RDQzMkQ0MkJFNDQwNUUyMzg0NDdBNDcwMURGN0UyNDA1MDAyRTI3MDFDOTFCMzgyMDBCMzU3QTUxMzExMjdDMTVCRTUwMzg3ODAzMDI2NjE2MDI2NUZCNzUzMTk5MTI3QzE1MDlCMTAwMDQ1NEZBMTlCMTAwMDQzMDNEMEEwOUIxMDAxMDU0RkUxOUIxMDAxMEQyMTUyMjgwN0Q3QTUxMzExMjdDMTU5RTQ0MDVFMzlEMjQ3RTY0MDUwMDJFNjcwMUM5OUUyNDAwMDI0MDE3MUIzODYwMEIzNTEyNjVGQjdFMzQwMUUzN0QyNDJENDM3QTQ3MDFERjAyNjVGQjdBMzlDMDdFMzQwMUUzN0EzOUQwMEIzNDFCNDQ4MEU1OUQzMjdDQjY1NDBGMjMyMzIzNDQwNTdBNjlCMDdBNzk3MDBCMzU3NTMxOTMxMjdDMTU3QTcxMzExMjdDMTVCRDA0NjgyOTdBMDcwMURGN0U0NzAxRTEyRDQzN0E0NzAxRTEyRTM1NDY3QTM1NDYyMjA5QjEwMDE0MjBFMDEzMjI3RTA0MDFFMzgwMkE3RTA0MDFFMzgwMkM3RTA0MDFFMzgwRDFEMjA0N0UwNzAxRTE3RTI0MDNGRTlEMjAyODQwN0UwNzAxREY3RTQ0MDVFMzdENjAwQjA0QkQwNDY4RDA3RDcwMEIwNEJEMDQ2OENFN0Q1NDlENTBCRDI1NDAwMjdEMjU3RDMyMDlCMTAwMTRDQUI4NTQxRkI0MDEzMURBQjg3RTE5QjA3QTA5QjAwQjA0MUIyNDc4RTcwMjU4OUI3NTMxOTkxMjdDMTUwOUIxMDAwNDU0RkExOUIxMDAwNDMwM0QwQTA5QjEwMDEwNTRGRTE5QjEwMDEwRDIxNTIyREFCODMwRTBEOEJEMzI2ODA3Q0FCODEyNTg5QkRBQjgwMjU5RTgwOUIxMDAxODdFQTA4ODc1MzE5MDEyN0MxNUY1MzExMjdDMTVBNUZDNUVCMEYwQTVGRDA5QjEwMDE4NEM0QjVFQjBGMEJDQjU3OEYxNUU0MDBGNEM1NDdDQjU1RTUwMEI2ODJBQTVGRDVFNTAxMDY4MDREMjZEODAwMkMyNkRBNUZENUU1MDIwNjgwNEQyNjU4MDAyQzI2NUE1RkQ1RTUwODA2ODA0RDI1RDgwMDJDMjVEMTI0MzZEMDI2MjkzNzUzMTkxMTI3QzE1MDlCMTAwMTQ3QUIxMzExMjdDMTUyMEUwMDhEMjA0N0VBMDgwMDI2MjkzRDIwNDMwRTEwNjdFQTA4MDEyNjI5M0NBQjg1RUIwMUNEQUI4NjgxMjdFQTBDMDA5NjEwMDAwMTI2MkI2MDlCMTAwMTQyMEUwREIyMjAyNThFRDc1MzE5NTEyN0MxNTIyNzUzMTk2MTI3QzE1MjIxMDBFMDEyMjIwMkUwM0QyMEUyMjc1MzFBNjEyN0MxNTdFMTQ4NjAwODAwNjIwMkUwM0QyMEUyMjA5QjEwMDE0Q0FCODVFQjAxRURBQjg2ODAzMTI1RDQwMjBFNjAzRDIwRTIyMzAzNjQ5RDI3NjdFMzcwMTlCN0UyNzAxQkI5RDMyNDAzMTdEMDIyRTA1NTQ3QTA1NTQ3QTM3MDE5QjdFMzcwMTdCN0Q0MzJENDJCRTQ0MjVFMjM4Njg3QTQ3MDE3Qjc1MzE5NDEyN0MxNTdBNTEzMTEyN0MxNTEyNjUyQjEwNzZDNDIyQzI3NjJEMjM2ODc4NkQzMzgwMUE3RTI3MDE5QkJFMjQwMDAwNjg2QUJFMjcwMUJCMjgwNDdFMjcwMUJCN0UzNzAxOUI5RDMyN0QwMjJFMDU1NDdBMDU1NDdBMzcwMTlCN0UzNzAxN0I3RDQzMkQ0MkJFNDQyNUUyMzgxMzdBNDcwMTdCNzUzMTk0MTI3QzE1N0E1MTMxMTI3QzE1MDI2NTJCNzUzMTk0MTI3QzE1N0E1MTMxMTI3QzE1OUU0NDI1RTM5RDI0MTI2NTJCN0UzNDIxRTM3RDI0MkQ0MzdBNDcwMTdCMTI2NTJCQkUyNTIwNzgwMzAyNUE4RjIyRDIwRTdFMDQyMUUzN0EwNzAxN0I3QTA3MDE4Qjc1MzE5NDEyN0MxNTc1MzEwMDEyN0MxNTIyNzUzMTkyMTI3QzE1RDIwNDA5QjEwMDE0Q0FCODU0ODJEQUI4Nzg3MDdFMzcwMUUxN0UyNzAxQ0IyRTI0MDAwMjJEMzJCRTM0MDQwMDM4M0M3RDAyMkUwNTQ2N0EwNTQ2N0EzNzAxRTE3RTM3MDFERjdENDMyRDQyQkU0NDA1RTIzODQ0N0E0NzAxREY3RTI0MDYwMDJFMjcwMUNCMUIzODIwMEIzNTdBNTEzMTEyN0MxNUJFNTAzODc4MDMwMjY2MTYwMjY1RkI3NTMxOTkxMjdDMTUwOUIxMDAwNDU0RkExOUIxMDAwNDMwM0UwQTA5QjEwMDEwNTRGRTE5QjEwMDEwRDIxNjIyODA3RDdBNTEzMTEyN0MxNTlFNDQwNUUzOUQyNDdFNjQwNjAwMkU2NzAxQ0I5RTI0MDAwMjQwMTcxQjM4NjAwQjM1MTI2NUZCN0UzNDAxRTM3RDI0MkQ0MzdBNDcwMURGMDI2NUZCN0EzOUMwN0UzNDAxRTM3QTM5RDAwQjM0MUI0NDgwRTU5RDMyN0NCNjU0MEYyMzIzMjM0NDA2N0E2OUIwN0E3OTcwMEIzNTc1MzE5MzEyN0MxNTdBNzEzMTEyN0MxNUJEMDQ2ODI5N0EwNzAxREY3RTQ3MDFFMTJENDM3QTQ3MDFFMTJFMzU0NjdBMzU0NjIyMDlCMTAwMTQyMEUwMTMyMjdFMDQwMUUzODAyQTdFMDQwMUUzODAyQzdFMDQwMUUzODBEMUQyMDQ3RTA3MDFFMTdFMjQwM0ZFOUQyMDI4NDA3RTA3MDFERjdFNDQwNUUzN0Q2MDBCMDRCRDA0NjhEMDdENzAwQjA0QkQwNDY4Q0U3RDU0OUQ1MEJEMjU0MDAyN0QyNTdEMzIwOUIxMDAxNENBQjg1NDFGQjQwMTMxREFCODdFMTlCMDdBMDlCMDBCMDQxQjI0NzhFNzAyNUJGMzc1MzE5OTEyN0MxNTA5QjEwMDA0NTRGQTE5QjEwMDA0MzAzRTBBMDlCMTAwMTA1NEZFMTlCMTAwMTBEMjE2MjJEQUI4MzBFMEQ4QkQzMjY4MDdDQUI4MTI1QkYzREFCODAyNUQ0MDA5QjEwMDE4N0VBMDg4NzUzMTkwMTI3QzE1RjUzMTEyN0MxNUE1RkM1RUIwRjBBNUZEMDlCMTAwMTg0QzRCNUVCMEYwQkNCNTc4RjE1RTQwMEY0QzU0N0NCNTVFNTAwQjY4MkFBNUZENUU1MDEwNjgwNEQyNkU4MDAyQzI2RUE1RkQ1RTUwMjA2ODA0RDI2NjgwMDJDMjY2QTVGRDVFNTA4MDY4MDREMjVFODAwMkMyNUUxMjQzOEUwMjYyOTM3NTMxOTExMjdDMTUwOUIxMDAxNDdBQjEzMTEyN0MxNTIwRTAwOEQyMDQ3RUEwODAwMjYyOTNEMjA0MzBFMTA2N0VBMDgwMTI2MjkzQ0FCODVFQjAxQ0RBQjg2ODEyN0VBMEMwMDk2MTAwMDAxMjYyQjYwOUIxMDAxNDIwRTBEQjIyMDI1QzQ1NzUzMTk1MTI3QzE1MjI3NTMxOTYxMjdDMTUyMjEwMEYwMTIyMjAyRjAzRDIwRjIyNzUzMUE3MTI3QzE1N0UxNDg3MDA4MDA2MjAyRjAzRDIwRjIyMDlCMTAwMTRDQUI4NUVCMDFFREFCODY4MDMxMjYwOTgyMEU2MDNEMjBGMjIzMDM3NDlEMjc3N0UzNzAxOUQ3RTI3MDFCRDlEMzI0MDMxN0QwMjJFMDU1NjdBMDU1NjdBMzcwMTlEN0UzNzAxN0Q3RDQzMkQ0MkJFNDQyOUUyMzg2ODdBNDcwMTdENzUzMTk0MTI3QzE1N0E1MTMxMTI3QzE1MTI2NTJCMTA3N0M0MjJDMjc3MkQyMzY4Nzg2RDMzODAxQTdFMjcwMTlEQkUyNDAwMDA2ODZBQkUyNzAxQkQyODA0N0UyNzAxQkQ3RTM3MDE5RDlEMzI3RDAyMkUwNTU2N0EwNTU2N0EzNzAxOUQ3RTM3MDE3RDdENDMyRDQyQkU0NDI5RTIzODEzN0E0NzAxN0Q3NTMxOTQxMjdDMTU3QTUxMzExMjdDMTUwMjY1MkI3NTMxOTQxMjdDMTU3QTUxMzExMjdDMTU5RTQ0MjlFMzlEMjQxMjY1MkI3RTM0MjVFMzdEMjQyRDQzN0E0NzAxN0QxMjY1MkJCRTI1MjA3ODAzMDI1REU3MjJEMjBGN0UwNDI1RTM3QTA3MDE3RDdBMDcwMThENzUzMTk0MTI3QzE1NzUzMTAwMTI3QzE1MjI3NTMxOTIxMjdDMTVEMjA0MDlCMTAwMTRDQUI4NTQ4MkRBQjg3ODcwN0UzNzAxRTE3RTI3MDFDRDJFMjQwMDAyMkQzMkJFMzQwNDAwMzgzQzdEMDIyRTA1NDY3QTA1NDY3QTM3MDFFMTdFMzcwMURGN0Q0MzJENDJCRTQ0MDVFMjM4NDQ3QTQ3MDFERjdFMjQwNzAwMkUyNzAxQ0QxQjM4MjAwQjM1N0E1MTMxMTI3QzE1QkU1MDM4NzgwMzAyNjYxNjAyNjVGQjc1MzE5OTEyN0MxNTA5QjEwMDA0NTRGQTE5QjEwMDA0MzAzRjBBMDlCMTAwMTA1NEZFMTlCMTAwMTBEMjE3MjI4MDdEN0E1MTMxMTI3QzE1OUU0NDA1RTM5RDI0N0U2NDA3MDAyRTY3MDFDRDlFMjQwMDAyNDAxNzFCMzg2MDBCMzUxMjY1RkI3RTM0MDFFMzdEMjQyRDQzN0E0NzAxREYwMjY1RkI3QTM5QzA3RTM0MDFFMzdBMzlEMDBCMzQxQjQ0ODBFNTlEMzI3Q0I2NTQwRjIzMjMyMzQ0MDc3QTY5QjA3QTc5NzAwQjM1NzUzMTkzMTI3QzE1N0E3MTMxMTI3QzE1QkQwNDY4Mjk3QTA3MDFERjdFNDcwMUUxMkQ0MzdBNDcwMUUxMkUzNTQ2N0EzNTQ2MjIwOUIxMDAxNDIwRTAxMzIyN0UwNDAxRTM4MDJBN0UwNDAxRTM4MDJDN0UwNDAxRTM4MEQxRDIwNDdFMDcwMUUxN0UyNDAzRkU5RDIwMjg0MDdFMDcwMURGN0U0NDA1RTM3RDYwMEIwNEJEMDQ2OEQwN0Q3MDBCMDRCRDA0NjhDRTdENTQ5RDUwQkQyNTQwMDI3RDI1N0QzMjA5QjEwMDE0Q0FCODU0MUZCNDAxMzFEQUI4N0UxOUIwN0EwOUIwMEIwNDFCMjQ3OEU3MDI1RjRCNzUzMTk5MTI3QzE1MDlCMTAwMDQ1NEZBMTlCMTAwMDQzMDNGMEEwOUIxMDAxMDU0RkUxOUIxMDAxMEQyMTcyMkRBQjgzMEUwRDhCRDMyNjgwN0NBQjgxMjVGNEJEQUI4MDI2MDk4MDlCMTAwMTg3RUEwODg3NTMxOTAxMjdDMTVGNTMxMTI3QzE1QTVGQzVFQjBGMEE1RkQwOUIxMDAxODRDNEI1RUIwRjBCQ0I1NzhGMTVFNDAwRjRDNTQ3Q0I1NUU1MDBCNjgyQUE1RkQ1RTUwMTA2ODA0RDI2RjgwMDJDMjZGQTVGRDVFNTAyMDY4MDREMjY3ODAwMkMyNjdBNUZENUU1MDgwNjgwNEQyNUY4MDAyQzI1RjEyNDNBRjAyNjI5Mzc1MzE5MTEyN0MxNTA5QjEwMDE0N0FCMTMxMTI3QzE1MjBFMDA4RDIwNDdFQTA4MDAyNjI5M0QyMDQzMEUxMDY3RUEwODAxMjYyOTNDQUI4NUVCMDFDREFCODY4MTI3RUEwQzAwOTYxMDAwMDEyNjJCNjA5QjEwMDE0MjBFMERCMjIwMjVGOUQ3NTMxOTUxMjdDMTUyMjc1MzE5NjEyN0MxNTIyN0MwMjdFMTQ4MDAwNEMyMDA5QjEwMDE4QTVGRDVFNTAxMDY4MDREMjY4ODAwMkMyNjhBNUZENUU1MDIwNjgwNEQyNjA4MDAyQzI2MEE1RkQ1RTUwODA2ODA0RDI1ODgwMDJDMjU4MDI2MjdGN0MwMjdFMTQ4MDAwNEMyMDA5QjEwMDE4QTVGRDVFNTAxMDY4MDREMjY5ODAwMkMyNjlBNUZENUU1MDIwNjgwNEQyNjE4MDAyQzI2MUE1RkQ1RTUwODA2ODA0RDI1OTgwMDJDMjU5MDI2MjdGN0MwMjdFMTQ4MDAwNEMyMDA5QjEwMDE4QTVGRDVFNTAxMDY4MDREMjZBODAwMkMyNkFBNUZENUU1MDIwNjgwNEQyNjI4MDAyQzI2MkE1RkQ1RTUwODA2ODA0RDI1QTgwMDJDMjVBMDI2MjdGN0MwMjdFMTQ4MDAwNEMyMDA5QjEwMDE4QTVGRDVFNTAxMDY4MDREMjZCODAwMkMyNkJBNUZENUU1MDIwNjgwNEQyNjM4MDAyQzI2M0E1RkQ1RTUwODA2ODA0RDI1QjgwMDJDMjVCMDI2MjdGN0MwMjdFMTQ4MDAwNEMyMDA5QjEwMDE4QTVGRDVFNTAxMDY4MDREMjZDODAwMkMyNkNBNUZENUU1MDIwNjgwNEQyNjQ4MDAyQzI2NEE1RkQ1RTUwODA2ODA0RDI1QzgwMDJDMjVDMDI2MjdGN0MwMjdFMTQ4MDAwNEMyMDA5QjEwMDE4QTVGRDVFNTAxMDY4MDREMjZEODAwMkMyNkRBNUZENUU1MDIwNjgwNEQyNjU4MDAyQzI2NUE1RkQ1RTUwODA2ODA0RDI1RDgwMDJDMjVEMDI2MjdGN0MwMjdFMTQ4MDAwNEMyMDA5QjEwMDE4QTVGRDVFNTAxMDY4MDREMjZFODAwMkMyNkVBNUZENUU1MDIwNjgwNEQyNjY4MDAyQzI2NkE1RkQ1RTUwODA2ODA0RDI1RTgwMDJDMjVFMDI2MjdGN0MwMjdFMTQ4MDAwNEMyMDA5QjEwMDE4QTVGRDVFNTAxMDY4MDREMjZGODAwMkMyNkZBNUZENUU1MDIwNjgwNEQyNjc4MDAyQzI2N0E1RkQ1RTUwODA2ODA0RDI1RjgwMDJDMjVGMDI2MjdGNTRGMEM0QTVGRkM0QTU0Rjc1MzE5MDEyN0MxNUY1MzExMjdDMTUyMkNBMTk1RTIwMDc0Q0EyN0U3NDI5RTNDQTc5N0E3OUEwMEI3NDdBNzlCMDBCNzREQTc5N0UzMDAyN0U2NDAwMDIwMjYyREVDQTE5NUUyMDA3NENBMjdFNzQyOUUzQ0E3OTdBNzlBMDBCNzQ3QTc5QjAwQjc0N0E3OTYwMEI3NERBNzk3RTMwMDM3RTY0MDAwMzAyNjJERUQyMDQ3RTI3MDFFMTJEMjZCRTI0MDQwMDM4MkU3RTA3MDFERjdFNDQwNUUzN0U3OUEwN0EwOUEwMEIwNDBCNzRCRDA0NjgyM0E1REJFRjdBMjcwMUUxN0UyNTQ2MkQyNjdBMjU0NjdBMDcwMURGREExOUMyRDcyMjc1MzE5QTEyN0MxNURBMTlEMkQ3MjI3RTA0MDFFMzgwRDc0OEI2NDYyNTQ3MUM0OTE1NDRDNjQ0QzY0ODFCNDRDNjQ5NTk0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDk2MDQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjRDMEU0OTdENEE3NDRDNkQ0NEM2NDRDNjRCNzM0NEM2NENCMTQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0Q0I4NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NEY2NjRDRDU0RENDNEZDNTQ0QzY0NEM2NEVDQjQ0QzY1MDA5NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjUwMTA0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY1MkJFNTAyRDUxMjQ1MzFENDRDNjQ0QzY1MjIzNDRDNjUzNjE0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NTM2ODQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjU2MTY1Mzg1NTQ3QzU2NzU0NEM2NDRDNjU1N0I0NEM2NTZCOTQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY1NkMwNDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NTk2RTU2REQ1N0Q0NTlDRDQ0QzY0NEM2NThEMzQ0QzY1QTExNDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjVBMTg0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY1Q0M2NUEzNTVCMkM1RDI1NDRDNjQ0QzY1QzJCNDRDNjVENjk0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NUQ3MDQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjYwMUU1RDhENUU4NDYwN0Q0NEM2NDRDNjVGODM0NEM2NjBDMTQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY2MEM4NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2Q0EyOTFFNTA0MDBEN0U1NDBCMTA5Q0I1QTQyRTU0NjU0ODg5NTQ3RTM5MDA3QTE5MDAwQjM0ODBFOTBCMzgwMDdBMTkwMDdBMTkxMDBCMzUwQjM4MDA3QTE5MDA3QTE5MTAwQjM1MEIzODAwN0ExOTAwN0ExOTEwMEIzNTBCMzgwMDdBMTkwMDdBMTkxMDBCMzUwQjM4MDA3QTE5MDA3QTE5MTAwQjM1MEIzODAwN0ExOTAwN0ExOTEwMEIzNTBCMzgwMDdBMTkwMDdBMTkxMDBCMzUwQjM4MDA3QTE5MDA3QTE5MTAwQjM1MEIzODAwN0ExOTAwN0ExOTEwMEIzNTBCMzgwMDdBMTkwMDdBMTkxMDBCMzUwQjM4MDA3QTE5MDA3QTE5MTAwQjM1MEIzODAwN0ExOTAwN0ExOTEwMEIzNTBCMzgwMDdBMTkwMDdBMTkxMDBCMzUwQjM4MDA3QTE5MDA3QTE5MTAwQjM1MEIzODAwN0ExOTAwN0ExOTEwMEIzNTBCMzgwMDdBMTkwMDdBMTkxMDBCMzVEQTI5MjIxRTUwNDAwRDdFNTQwQjFDOUNCNUE0MkU1NDY2MTY4OTU0N0UxOTAwN0EzOTAwMEIzNDgwRTk3RTE5MDA3RTE5MTAxQjM4MDAwQjM1N0UxOTAwN0UxOTEwMUIzODAwMEIzNTdFMTkwMDdFMTkxMDFCMzgwMDBCMzU3RTE5MDA3RTE5MTAxQjM4MDAwQjM1N0UxOTAwN0UxOTEwMUIzODAwMEIzNTdFMTkwMDdFMTkxMDFCMzgwMDBCMzU3RTE5MDA3RTE5MTAxQjM4MDAwQjM1N0UxOTAwN0UxOTEwMUIzODAwMEIzNTdFMTkwMDdFMTkxMDFCMzgwMDBCMzU3RTE5MDA3RTE5MTAxQjM4MDAwQjM1N0UxOTAwN0UxOTEwMUIzODAwMEIzNTdFMTkwMDdFMTkxMDFCMzgwMDBCMzU3RTE5MDA3RTE5MTAxQjM4MDAwQjM1N0UxOTAwN0UxOTEwMUIzODAwMEIzNTdFMTkwMDdFMTkxMDFCMzgwMDBCMzU3RTE5MDA3RTE5MTAxQjM4MDAwQjM1N0UxOTAwN0UxOTEwMUIzODAwMEIzNTdFMTkwMDdFMTkxMDFCMzgwMDBCMzU3RTE5MDA3RTE5MTAxQjM4MDAwQjM1N0UxOTAwN0UxOTEwMUIzODAwMEIzNTdFMTkwMDdFMTkxMDFCMzgwMDBCMzU3RTE5MDA3RTE5MTAxQjM4MDAwQjM1N0UxOTAwN0UxOTEwMUIzODAwMEIzNTdFMTkwMDdFMTkxMDFCMzgwMDBCMzU3RTE5MDA3RTE5MTAxQjM4MDAwQjM1N0UxOTAwN0UxOTEwMUIzODAwMEIzNTdFMTkwMDdFMTkxMDFCMzgwMDBCMzU3RTE5MDA3RTE5MTAxQjM4MDAwQjM1MjI2Nzk2Njk2MzY5N0I2QTQ5NkFFNDZCOEU2QkE5NkMzQjZCQzQ2QzA1Njk5NjY5QUE3Q0IzQkVCMDBCMjgxNDc1MzEwOTEyN0MxNTc1NkQxMEMwRjE3NUYxMDE0M0UxQzBEMEYxMjJDMEE4QzJBRjIzNkNBQTJFNTQ2NzRCMEI1ODUwODk1NDAxMDIwNDA4MTAyMDQwODA3NTMxQjAxMjdDMTUwQTMyMDlCMzY3OEU0MjMyMTk0MzAwMzZEMEE4MjI3Q0IyMjMwQTNCNDkzMzY3Q0IwQTIyMDkzMjAwMzYwOUIyNjc4RUE1QkIwMDA1RjQ1MjMzODAwMjQyMzM4OTM0NjdEQjY4MDk2ODM3Njg2NTY4OTM2OEMxNjhFRjY5MUQxMjQxQjVEMjI4RDIwOEMyNDBDMjQ4QzIzOEMyMzA2RDAwN0EwMzAxQ0Y3RTA0MDAyMDdBMDcwMUFGN0UwNDAwMzg3QTA3MDFCRjEyNDExNjEyNjBDRjAyNjk0QjEyNDFENEQyMjlEMjA5QzI0MUMyNDlDMjM5QzIzMTZEMDA3QTAzMDFEMDdFMDQwMDIwN0EwNzAxQjE3RTA0MDAzODdBMDcwMUMxMTI0MTE2MTI2MTA1MDI2OTRCMTI0MUYzRDIyQUQyMEFDMjQyQzI0QUMyM0FDMjMyNkQwMDdBMDMwMUQxN0UwNDAwMjA3QTA3MDFCMzdFMDQwMDM4N0EwNzAxQzMxMjQxMTYxMjYxM0IwMjY5NEIxMjQyMTJEMjJCRDIwQkMyNDNDMjRCQzIzQkMyMzM2RDAwN0EwMzAxRDI3RTA0MDAyMDdBMDcwMUI1N0UwNDAwMzg3QTA3MDFDNTEyNDExNjEyNjE3MTAyNjk0QjEyNDIzMUQyMkNEMjBDQzI0NEMyNENDMjNDQzIzNDZEMDA3QTAzMDFEMzdFMDQwMDIwN0EwNzAxQjc3RTA0MDAzODdBMDcwMUM3MTI0MTE2MTI2MUE3MDI2OTRCMTI0MjUwRDIyREQyMERDMjQ1QzI0REMyM0RDMjM1NkQwMDdBMDMwMUQ0N0UwNDAwMjA3QTA3MDFCOTdFMDQwMDM4N0EwNzAxQzkxMjQxMTYxMjYxREQwMjY5NEIxMjQyNkZEMjJFRDIwRUMyNDZDMjRFQzIzRUMyMzY2RDAwN0EwMzAxRDU3RTA0MDAyMDdBMDcwMUJCN0UwNDAwMzg3QTA3MDFDQjEyNDExNjEyNjIxMzAyNjk0QjEyNDI4RUQyMkZEMjBGQzI0N0MyNEZDMjNGQzIzNzZEMDA3QTAzMDFENjdFMDQwMDIwN0EwNzAxQkQ3RTA0MDAzODdBMDcwMUNEMTI0MTE2MTI2MjQ5MDI2OTRCN0VBMEQwN0U2MDBGMTI2MkI2NDAwQ0MwRjE3NUYxMDExMjZGRDlEMEYxQzJENzIyNzUzMUIxMTI3QzE1MEE1MjIzNkQwMDU5MDUwMDQ4MTI0MTdFMTI0MTlBRDBBODIyNzUzMUIyMTI3QzE1MEEyMjA5QjI2NzhFNDIyMzdFQjA5QzE5QjIwMUNGMTIzMTg1RDBBODIyNzUzMUI3MTI3QzE1MEEyMjA5QjI2NzhFNDIyNDEyMzUzREQwQTgyMjc1MzFCOTEyN0MxNTBBMzIwOUIzNjc4RTQyMzQxOTQzMDAzRTEyNjlDMkQwQTgyMjdDQjIyMzBBMEI3Q0I0MjBFMDA0NkQzMzgwMDQ0OTMwMDE4RjdFQTBEOEE1RUZDQTBCQ0EyOTEyNjJCNkRBMjlEQTBCNDA2Mjc1MzFCQTEyN0MxNTdDQjQzMEUwMUU2RDMzNTkzMDAxOEY3RTM0MDlFMzBBODI3RTk0MDQwMEFEODkyRDM5NTkzMDAxNkY1OTMwMDE3RjdDQjQzMEUxMTA3RTA0ODAwMDRDMDIwOUIwMDAwODQ0MDQxOUIwMDAwODBBMDIwOUIwNjc4RTQyMjFGNDUyMzQ3Q0IyMjMwQTBCQ0ExOTQ5MDAzMEQ1OTkwNERBMTlDMEYxNzVGMTAxMTI2RkQ5RDBGMUMyRDcyMjdFMDQ4MDAwNEMwMjA5MzAwMDBDNzRCRjE5QjAwMDBDMDlCMDAwMDgxOTMwMDAwQzdDNzQ1RTcwMDE2ODEyNDQ0MENBQjgwOUIwMDAxMDQ0MDIxOUIwMDAxMERBQjg4MDAyNTRCRjdDNzQ1RTcwMDg2ODA0NDQwODgwMDI1NEY3MDkzMDAwMENDQUI4NzRCRjE5QjAwMDBDREFCODE5QjAwMDA4MTkzMDAwMEMwQTYyMDlCNjY3OEUzRTIwMEE2MjdDNzQ1RTcwMDI2ODIwNDIyN0NBQjg3NDYxMTlCMDAwMDg3RTQ0MDAxMDU5NDYwMUJGMDlCMDAwMTA0NDAxMTlCMDAwMTBEQUI4ODAxMUY0NTIyNzc0QTExOUIwMDAwODdFNDQwMDM4NTk0NjAxQkZEMEE4MjI3Qzc0N0UwNDgwMDA0QzAyMEE2MjA5QjY2NzhFQTVGREY0QTVGRUNBMjgzRTIwMEE2MkE1RUU1MjI2N0U0NDAwMjA1OTQ2MDFBRkRBMjgwOTMwMDAwQzc0QkYxOUIwMDAwQzA5QjAwMDA4N0M3NDVFNzAwMTY4MEM0NDgwQ0FCOEE1RUQ0MjJBREFCODgwMEE1NDdGQ0FCOEE1RUU1MjJBREFCODdDNzQ1RTcwMDg2ODA0NDQwMjgwMDI1NEZEMTlCMDAwMDgxOTMwMDAwQzdDNzQ1RTcwMDI2ODEwQTVFRDQyMjg0MjI2N0U0NDAwMDg1OTQ2MDFBRjgwMDRBNUVFNTIyODdDNzQ1RTcwMDQ2ODEwQTVFRDQyMjk0MjI2N0U0NDAwMDg1OTQ2MDFBRjgwMEJBNUVFNTIyOTdDNzQ1RTcwMDI3ODAwMTI0MkFERDBBODIyN0UwNDgwMDA0QzAyMDkzMDAwMEM3NEJGMTlCMDAwMEMxOTQwMDAxMDE5MzAwMDBDRDBBODIyN0UwNDgwMDA0QzAyMDkzMDAwMEM3NEJGMTlCMDAwMEMxOTQwMDAxODE5MzAwMDBDRDBBODIyNzUzMUI1MTI3QzE1N0UwNDgwMDA0QzAyMDlCMDAwMEM0NDQwMTlCMDAwMENFNTZFQjQwNzIzMDlCMDAwMTA0RUIwMDIxOUIwMDAxMDA5MzAwMDBDNzRCRjE5QjAwMDBDMDlCMDAwMDQ1NEY3MTlCMDAwMDQxOTMwMDAwQ0QwQTgyMjc1MzFCNjEyN0MxNTdFMDQ4MDAwNEMwMkU1NkVCNDA3MTgwOTMwMDAwQzc0QkYxOUIwMDAwQzA5QjAwMDA0NDQwODE5QjAwMDA0MTkzMDAwMEMwOUIwMDAwQzU0QkYxOUIwMDAwQ0QwQTgyMjc1MzFCNDEyN0MxNTdBMjEzMTEyN0MxNTdBNDEzMTEyN0MxNTBBMzIwOUIzNjc4RTQyMzUxMjZDNUJEMEE4MjI3RUIwMDE3RUEwQzg3QzY0MTI2MkI2NDAxMzBBMzIwOUIzNjc4RUY0NTIzNUMwRjE3NUYxMDExMjZGRDlEMEYxMjI2QzhDNkNEMzZEMUE2RDYxNkRBODZERUY2RTM2NkU3RDc1MzE1NTEyN0MxNTc1MzEwMDEyN0MxNTdBNjEzMTEyN0MxNTdBNzEzMTEyN0MxNTdFMTcwMTdGN0UyNzAxOEYyRDIzN0UwOUIwMEIwNDdBMTlCMDBCMTRCRTE0MERFMjM4MEYxQjM0NzhFQzdBMTcwMTdGN0EyNzAxOEYwMjQ2MEY3RTE0MDlFMzgwRUI3NTMxNTUxMjdDMTU3NTMxMDExMjdDMTU3QTYxMzExMjdDMTU3QTcxMzExMjdDMTU3RTE3MDE4MTdFMjcwMTkxMkQyMzdFMDlCMDBCMDQ3QTE5QjAwQjE0QkUxNDExRTIzODBGMUIzNDc4RUM3QTE3MDE4MTdBMjcwMTkxMDI0OTY3N0UxNDBERTM4MEVCNzUzMTU1MTI3QzE1NzUzMTAyMTI3QzE1N0E2MTMxMTI3QzE1N0E3MTMxMTI3QzE1N0UxNzAxODM3RTI3MDE5MzJEMjM3RTA5QjAwQjA0N0ExOUIwMEIxNEJFMTQxNUUyMzgwRjFCMzQ3OEVDN0ExNzAxODM3QTI3MDE5MzAyNENCRjdFMTQxMUUzODBFQjc1MzE1NTEyN0MxNTc1MzEwMzEyN0MxNTdBNjEzMTEyN0MxNTdBNzEzMTEyN0MxNTdFMTcwMTg1N0UyNzAxOTUyRDIzN0UwOUIwMEIwNDdBMTlCMDBCMTRCRTE0MTlFMjM4MEYxQjM0NzhFQzdBMTcwMTg1N0EyNzAxOTUwMjUwMTc3RTE0MTVFMzgwRUI3NTMxNTUxMjdDMTU3NTMxMDQxMjdDMTU3QTYxMzExMjdDMTU3QTcxMzExMjdDMTU3RTE3MDE4NzdFMjcwMTk3MkQyMzdFMDlCMDBCMDQ3QTE5QjAwQjE0QkUxNDFERTIzODBGMUIzNDc4RUM3QTE3MDE4NzdBMjcwMTk3MDI1MzZGN0UxNDE5RTM4MEVCNzUzMTU1MTI3QzE1NzUzMTA1MTI3QzE1N0E2MTMxMTI3QzE1N0E3MTMxMTI3QzE1N0UxNzAxODk3RTI3MDE5OTJEMjM3RTA5QjAwQjA0N0ExOUIwMEIxNEJFMTQyMUUyMzgwRjFCMzQ3OEVDN0ExNzAxODk3QTI3MDE5OTAyNTZDNzdFMTQxREUzODBFQjc1MzE1NTEyN0MxNTc1MzEwNjEyN0MxNTdBNjEzMTEyN0MxNTdBNzEzMTEyN0MxNTdFMTcwMThCN0UyNzAxOUIyRDIzN0UwOUIwMEIwNDdBMTlCMDBCMTRCRTE0MjVFMjM4MEYxQjM0NzhFQzdBMTcwMThCN0EyNzAxOUIwMjVBMUY3RTE0MjFFMzgwRUI3NTMxNTUxMjdDMTU3NTMxMDcxMjdDMTU3QTYxMzExMjdDMTU3QTcxMzExMjdDMTU3RTE3MDE4RDdFMjcwMTlEMkQyMzdFMDlCMDBCMDQ3QTE5QjAwQjE0QkUxNDI5RTIzODBGMUIzNDc4RUM3QTE3MDE4RDdBMjcwMTlEMDI1RDc3N0UxNDI1RTM4MEVCQ0FCOEMwRjE3NTMxMDIxMjdDMTVFNUMwNTQwMzY4MDUxMjc1Q0Q4MEY1MzBDMjA4NzVGMTAxMTI2RkQ5ODAxNDMwQzMwODc1RjEwMTEyNkVGRDgwMDkzMEM0MDY3NUYxMDIxMjcwRTlEMEYxREFCODMyNzUzMTEwMTI3QzE1Q0EwQkNBMzlDQTU5QzJDM0E5MjFFMjVDRTVFNTU0QzA2ODRGRTVFNjZDQUE3RTM3MDFEQjJEMzVCRTM0MDQwMDM4NEE3QTM3MDFEQjdFMzcwMUQ5N0Q0MzJENDVCRTQ0MDlFMjM4NDA3QTQ3MDFEOTc1MzExMTEyN0MxNTdBQjEzMTEyN0MxNTEyNzFCOEE5MjFFNTFGQTlENEU0QTkyNEU0RkNDMkMzQTkyMUUyM0JFNUU1NTRDMDc4QjQxMjc0NUFEQTU5REEzOURBMEIyMjgwMjk4MDU4NzUzMTE2MTI3QzE1ODBFRDc1MzExMjEyN0MxNTdBQjEzMTEyN0MxNTlFNDQwOUUzOUQ1NDEyNzFCODdFMzQwNUUzN0Q1NDJENDM4MEExRTVFNTU0MDM3ODEyNzUzMTEzMTI3QzE1N0UwRjI5RkYwQjBDN0EwRjI5RkY4MEE3NzUzMTE0MTI3QzE1N0UwRjJBMDMwQjBDN0EwRjJBMDNBOUQ3RTRBOTI3RTRGQzgwOUQ3NTMxMTUxMjdDMTU3RTBGMkEwNzBCMEM3QTBGMkEwNzgwRTU3NTMxMTgxMjdDMTVDQTA5Q0EzOUNBMkJDMkMyQTkyMUYyNTJFNUY1MzM4MkU3NDA0NDdFMzcwMUUxN0U1NDAwNDA5RDM1NDA0MzdBMzcwMUUxN0UzNzAxREQ3RDQzMkQ0NUJFNDQwNUUyMzg1MjdBNDcwMUREN0Q0NTEyNzMxNkE5MjBGNTIyNzUzMTE5MTI3QzE1N0E5MTMxMTI3QzE1N0E4MUY3N0E5MUY2RTVGNTMzODJFNzUwQkNEQTJCREEzOURBMDkyMjgwNDE4MDY0MkQ1MzZEMzM3MEI3N0UwNDAxRTM3QTA3MDFERjdBMDcwMUREQTkzMkYyREY4NTMwMzExMjdDMTU3NUY2MDA4MEQ0Q0E1OTlFNDQwNUUzOUQ1NDEyNzMxNjdFMzQwMUUzN0Q1NDJENDM3QTQ3MDFERDEyNzMxNkRBNDk4MDk5RTVGNTU0MDM3ODFGN0UwRjI5RUYwQjBDN0EwRjI5RUY4MDlEN0UwRjI5RjcwQjBDN0EwRjI5RjdBOUQ3RjRBOTI3RjRGQzgwOEE3RTBGMjlGMzBCMEM3QTBGMjlGMzgwRUJFNUY1NTQwMzc4MUY3RTJGMkEwRjBCMkM3QTJGMkEwRjgwMzQ3RTJGMkExNzBCMkM3QTJGMkExN0E5RDdGNEE5MjdGNEZDODAyMTdFMkYyQTEzMEIyQzdBMkYyQTEzODBFQkRBMkJEQTFCREEwQjIyNzUzMTI4MTI3QzE1Q0EwQkNBMUJDQTJCQzJDNEE5MjFGMkI2RTVGNTMzNzJFNzQwRTA3RTBENDY3RTFENEE3RTJENEU3RTNENTI3RTg1NTY3RDkwNEQ5MTREOTI0RDkzNEQ5NDREOTU0RDk2NEQ5NzREOTg2ODcyN0ExMUYzN0EwMUYzN0EzMUYzN0EyMUYzN0E1MUYzN0E0MUYzN0E3MUYzN0E2MUYzN0E5MUYzN0E4MUYzMzA3QjFBN0FCMUYzN0FBMUYzN0FEMUYzN0FDMUYzN0FGMUYzN0FFMUYzN0Q3ODdBRjFGMzdBRTFGM0E5MzBGNTAzMDI3MEQ2NzUzMTI5MTI3QzE1MjA3QjBCNzUzMTBBMTI3QzE1NzVGNjBBODAwOTc1MzExMjEyN0MxNTc1RjYxMjZEMDA3RDEwN0EwRDQ2N0EwRDRBN0EwRDRFN0EwRDUyN0EwNTU2REEyQkRBMUJEQTBCMjIxRUIwNDAwQzdFQTAwQUE0N0UwNDcyRkI5RDA1ODkwNDdFQTFFMzdBMzlBMDBCMzQ4MEVBQjQ0MEUzN0VBMUUzRTVFMzFCMzg1MDBCMzU3RUExRTNFNUUzMUIzODUwMEIzNTdFQTFFM0U1RTMxQjM4NTAwQjM1N0VBMUUzRTVFMzFCMzg1MDBCMzU3RUExRTNFNUUzMUIzODUwMEIzNTdFQTFFM0U1RTMxQjM4NTAwQjM1N0VBMUUzRTVFMzFCMzg1MDBCMzU3RUExRTNFNUUzMUIzODUwMEIzNTdFQTFFM0U1RTMxQjM4NTAwQjM1N0VBMUUzRTVFMzFCMzg1MDBCMzU3RUExRTNFNUUzMUIzODUwMEIzNTdFQTFFM0U1RTMxQjM4NTAwQjM1N0VBMUUzRTVFMzFCMzg1MDBCMzU3RUExRTNFNUUzMUIzODUwMEIzNTdFQTFFM0U1RTMxQjM4NTAwQjM1N0VBMUUzRTVFMzFCMzg1MDBCMzU3RUExRTNFNUUzMUIzODUwMEIzNTdFQTFFM0U1RTMxQjM4NTAwQjM1N0VBMUUzRTVFMzFCMzg1MDBCMzU3RUExRTNFNUUzMUIzODUwMEIzNTdFQTFFM0U1RTMxQjM4NTAwQjM1N0VBMUUzRTVFMzFCMzg1MDBCMzU3RUExRTNFNUUzMUIzODUwMEIzNTdFQTFFM0U1RTMxQjM4NTAwQjM1N0VBMUUzRTVFMzFCMzg1MDBCMzU3RUExRTNFNUUzMUIzODUwMEIzNTdFQTFFM0U1RTMxQjM4NTAwQjM1N0VBMUUzRTVFMzFCMzg1MDBCMzU3RUExRTNFNUUzMUIzODUwMEIzNTdFQTFFM0U1RTMxQjM4NTAwQjM1N0VBMUUzRTVFMzFCMzg1MDBCMzU3RUExRTNFNUUzMUIzODUwMEIzNTIyMUVCMDQwMEM3RUEwMEFBNDdFMDQ3NDU5OUQwNTg5MDQ3RTM5QTA3QUExRjMwQjM0ODBFQUI0NDBFMzBCMzg1MDdBQTFGM0Y1RjMwQjM1MEIzODUwN0FBMUYzRjVGMzBCMzUwQjM4NTA3QUExRjNGNUYzMEIzNTBCMzg1MDdBQTFGM0Y1RjMwQjM1MEIzODUwN0FBMUYzRjVGMzBCMzUwQjM4NTA3QUExRjNGNUYzMEIzNTBCMzg1MDdBQTFGM0Y1RjMwQjM1MEIzODUwN0FBMUYzRjVGMzBCMzUwQjM4NTA3QUExRjNGNUYzMEIzNTBCMzg1MDdBQTFGM0Y1RjMwQjM1MEIzODUwN0FBMUYzRjVGMzBCMzUwQjM4NTA3QUExRjNGNUYzMEIzNTBCMzg1MDdBQTFGM0Y1RjMwQjM1MEIzODUwN0FBMUYzRjVGMzBCMzUwQjM4NTA3QUExRjNGNUYzMEIzNTBCMzg1MDdBQTFGM0Y1RjMwQjM1MEIzODUwN0FBMUYzRjVGMzBCMzUwQjM4NTA3QUExRjNGNUYzMEIzNTBCMzg1MDdBQTFGM0Y1RjMwQjM1MEIzODUwN0FBMUYzRjVGMzBCMzUwQjM4NTA3QUExRjNGNUYzMEIzNTBCMzg1MDdBQTFGM0Y1RjMwQjM1MEIzODUwN0FBMUYzRjVGMzBCMzUwQjM4NTA3QUExRjNGNUYzMEIzNTBCMzg1MDdBQTFGM0Y1RjMwQjM1MEIzODUwN0FBMUYzRjVGMzBCMzUwQjM4NTA3QUExRjNGNUYzMEIzNTBCMzg1MDdBQTFGM0Y1RjMwQjM1MEIzODUwN0FBMUYzRjVGMzBCMzUwQjM4NTA3QUExRjNGNUYzMEIzNTBCMzg1MDdBQTFGM0Y1RjMwQjM1MEIzODUwN0FBMUYzRjVGMzBCMzUyMkMyQUY3RTM3MDFEQjREMzM2ODNCN0UwNzAxRDc3RTU0MDlFMzlENTBCRDM1NDAwMjdEMzVDQTM5N0U2NTYxOTk2NERBMzk3RTA3MDFEQjlEMDM3QTA3MDFEQjJFMzcwMUQ3N0EzNzAxRDdCRTM0MDlFMjI4Qzc3RTM0MDVFMzdBMzcwMUQ3ODBCREQyQUYyMjc1MzE1MzEyN0MxNTdFMTU2MzgwMTE3NTMxNTExMjdDMTUwQjA4MTAwQjA1OUUzNDAwMDIyODREN0NCMjIwRTcyNzU0MDcyMzBBMkI0OTIyNkM3QzdDQjI1NDc4MDMwMzAzN0MyQjlEMTM0MDFBNjgxMjdBMTU2MzdBMjU2NTdFNjQ3NTM3N0E2NTYxODkyNDAyNzU0NTdFNjQ3NEFEODBGMjJEMTM5RDMxQ0EzOTdEMzEyRDEwQ0ExOUNBMjk5OTI0REEyOURBMDlEQTM5ODBBMjdBMTU2MzdFNjQ3NTIzNEQzMzc4MDk3Q0IyMjBFNzJBN0U2NDc0QTI3QTY1NjEyMjc1MzE1MjEyN0MxNTdFMjE2MzdFMDkzMDBCMDQxQjM0Nzg4OTgwRDQ3NTMxNTQxMjdDMTU3RTE1NjM3RTI1NjU4MDkwNUUyMDA3NTQ3ODdFNDQ3NUMxMzBFNjE2NEQzMzY4MjYxQjM0N0UwOTQwMEIwNDdFNDQ2NzYzMjBFMzA0N0U0NDc1QzlDQTA5Q0EzOTk5NDREQTM5REEwOTdFNjQ3NEFENEQzMzY4QTY4OTY0N0ExNTYzRjU2NTdFNjQ3NTg2ODA5OTdFMTU2M0U1NjU4MEM0QzBEMEMwRDFDMEUwQ0ExOUE5MjBERjEyQTkyMURGMUI3NTMxMDExMjdDMTU1M0RGRjcxMjQwREM4MDBENzUzMUZFMTI3QzE1N0UxNDAwNTMwMjQwNTFEQTE5RDBFMEQwRDFEMEQwMzIwM0E1Q0IxOUIxODAwMDIyMjIwMjc2NDJDQTBCQ0ExQkNBMkJDQTNCQ0E0QkNBNUJDQTZCQ0E3QkNBRUJDMEYxN0VCMzJBMzNCNDAwMDI4MDE5QjQwMTE2MzBDMDA4NzVGMTAwMTI3NjJDODAxRjMwQzExQzc1RjEwMDEyNzZCRDgwMTQzMEMxMDg3NUYxMDAxMjc2QkQ4MDA5MzBDMDA2NzVGMTAwMTI3NjJDRDBGMURBRUJEQTdCREE2QkRBNUJEQTRCREEzQkRBMkJEQTFCREEwQjIyQzJDMDdFQjMyQTMzQjQwMjA3MTI3NjRFMDI3NjQyMjJCNDAxRkMwMjc2ODg3RTAwMDA3QTAzMkEzMzdBMDMyQTM0MjI3RUIzMkEyQjU0NjA2MDA1QjQ0MDE1ODAxMzdFQjMyQTJDQjQwNTBDNzUzMTcxMTI3QzE1N0VCMzJBMkVGNThGMjI3NUY2MDAyMkJFNTcyQTMxMjgwNDdFNTcyQTMxN0EwRjJBMzY3QTU3MkEzQTAyNzY4ODdFRUYyQTM2N0VGNzJBM0E3RTA3MkEzQTREMDA2ODIxN0UwMDAwN0VFQkIwRjVGM0EzQTUwODFCRjQ2ODA0QTVCODA4RjA3QUVGMkEzNjdBRjcyQTNBNzUzMTA2MTI3QzE1N0EwMUY2MjJDMkMxNzUzMTAzMTI3QzE1QTkzNkUyMTZFNUY1NTRDMDY4MDdBOUQ3RjRBOTI3RjRGQzUzRTEzRjQzRjI4ODAyNzcyOTdFQjMyQTM0QjQwMjA0QTlENEU0MjJCNDAxMzk3RTIxRTY3QzMyN0UxMzJBMzUyQzIxN0EyMzJBMzU3RTAwMDAyRTA0MkEzQ0U1RTM3QTA5QjAwQjA0QTVEQkY2QTlENEU0NzUzMTcwMTI3QzE1N0VCMzJBMzU3RUEzMkEzMkJDQUI3ODAzMTI3N0MwMjIwMjdCMjlFNUU2QjQwODY1QTlDNEUyN0UwMUUzN0UxMUUzN0UzMUUzN0UyMUUzN0U1MUUzN0U0MUUzN0U3MUUzN0U2MUUzN0EwRjJBMkI3QTFGMkEyRjc1MzEwNDEyN0MxNTdBMDEzMTEyN0MxNTdBMTEzMTEyN0MxNTdBMjEzMTEyN0MxNTdBMzEzMTEyN0MxNTdBNDEzMTEyN0MxNTdBNTEzMTEyN0MxNTdBNjEzMTEyN0MxNTdBNzEzMTEyN0MxNUE5RDRFNEE5RDdGNEE5QzZFMjEyNzc5NDIyNkQwMDdFMTQwMTAyN0EwNzJBM0E3QTAzMkEzNTdFQjMyQTJCMjBFNzBGN0EyMzJBMzQ3QTMzMkEzM0JFMDcyQTMxNjgwOTIyN0EzMzJBMzQ3QTIzMkEzMzdFQjMyQTJCNTRFMzIzMjMzMEUwMDJEMkU1MzBFNzAyRDJFNDMwRTUwNjMwRTQwMzAyN0IyOTU0M0VGNUYwMDM1NDFGQzMyNUYwOTA3N0VDNzU4NEZGNzMwMjc5NDAwMjc4MzQwMjc5REQwMjc5RjgwMjc4RDkwMjc4OUEwMjdBMTEwMjdBMTEwMjdBMTQwMjdBMTQwMjdBMTQwMjdBMTQwMjdBMTQwMjdBMTQwMjdBMTQwMjdBMTQwMjdBMUEwMjdBQ0UwMjdBMTcwMjdBMTcwMjdBMTcwMjdBMTcwMjdBMTcwMjdBMTc3RUIzMkEyQ0I0MDYyQTdFQjMyQTJENjA1NjdDMEI3RTEzMkEyRTdFMTcyQTJGNzUzMTcyMTI3QzE1N0EwMTMxMTI3QzE1N0ExMTMxMTI3QzE1MTI3QjMzNDAzNTAyNzY3M0I0MDgxMDc1MzE3NDEyN0MxNTdFQjMzRkYxRjVGMzc1RjYwMTIyQjQwMDFDNzUzMTc1MTI3QzE1N0VCMzNGRjIzMEUwMDU3NUYzMDI4MDAzNzVGMzAwNzVGMzAwNzVGNjAyMjIwMjdCMjk3RUIzMkEyQ0I0MDAzNTc1MzE3NjEyN0MxNTdFQjMyQTMwNTQwRkY1RjE3RUIzMkEzMDIwRTcwOUU1RTEzMEU3MEQ3NDAxODAwQkU1RTEzMEU2MDQ3NDAxODAwMjc0MDA1M0YxODBGNUYzNzVGMzAwNzVGNjAyMjIwMjdCMjlDMEYxN0VCMzJBMzA1NDBGNDJGMTdFQjMyQTJFQjQwMDQ1N0VCMzJBMkNCNDAxMjQ3NTMxNzcxMjdDMTU3RUIzMkEzMDU0MEY3ODA1NTNFMTNGODAzNzdFQjMyQTMwMjBFNzA1NTNFMTdGODAyQjUzRTFCRjgwMjZCNDAzMTc3NTMxNzgxMjdDMTU3RUIzMkEzMDIwRTcwNTQzRTE4MDgwMTE0M0UxNDA4MDBDNDNFMUMwRDBGMTc1MzEwNzEyN0MxNTIyRDBGMTAyNzY2RjdFQjMyQTJDQjQwOTIzNzUzMTc5MTI3QzE1N0VCMzJBMkVCRUIzM0ZGMTY4MTFDQUI4QzBGMTEyNDNENEQwRjFEQUI4NTA3NjdBQjMzRkYxODA2REI0MDUwODc1MzE3QTEyN0MxNTgwNjJCNDAzMTk3NTMxN0IxMjdDMTU3RUIzMkEyRUI0MDE1NTdFQjMzRkYyNDQwMTdBQjMzRkYyODA0NkI0MDExOTc1MzE3QzEyN0MxNTdFQjMyQTJFQjQwMTM5N0VCMzNGRjI1NEZFN0FCMzNGRjI4MDJBQjQwNzJBN0VCMzJBMkQ2MDI0N0MwQjdFMTMyQTJFN0UxNzJBMkY3NTMxNzMxMjdDMTU3QTAxMzExMjdDMTU3QTExMzExMjdDMTUxMjdCNUY0MDAzMDI3NjZGMDI3QjI5N0VCMzJBMkNCNDBCRjY3NTMxN0QxMjdDMTU3RUIzMkEyRTdFQTMyQTMwNENBQjc4RTQ4MERGN0VCMzJBMkNCNDBBREI3NTMxN0UxMjdDMTU3RUIzMkEyRTcwQ0ZGNUYzNzVGNjAxMjIwMjdCMjkwMjdCMjkwMjdCMjk3RUIzMkEyQ0I0MDQyMDc1MzFDMzEyN0MxNTdFMDQwMDAxN0UxNzJBMkQ3RTE4MkEzQzdBMUMwMDAwN0U0NzJBMzExMjdDMjEwMjdBQzhCNDA2M0E3NTMxQzExMjdDMTU3RTU4MDAwMDdBNUMwMEZFN0RDQTdFRDcyQTJEN0U3ODJBM0M3QTdDMDAwMDdFNzcyQTMxNzUzMUMxMTI3QzE1QzBBOEMwODdDMkFGQTlENTg3MTI3QzVBRDA4N0QwQTg0MDRGODA0QUI0MDAxQ0MyQUZBOUQ1ODcxMjc2NkZFNDhERUY4REVGOERFRkQ1RTBGN0MwRDFDQTAyRkZDQTA2MDAwMDMyQjQwOTEyN0U1NzJBMkQ0RDU1NjgwNUE5RDJCMTgwMDNBOUMyQjE4MDE2QjQwNzE2QzJBRjdFMDcyQTJGN0UxNzJBMkRDMEQxQ0ExOENBMzhDQTI4MzIwMjc2NkYwMjdCMjk3RUIzMkEyQ0I0MDMxNTc1MzFDMjEyN0MxNTdFMDQwMDAxN0UxNzJBMkQ3RTU3MkEzMTAyNzY3M0I0MDUzOTc1MzFDMDEyN0MxNUMwQThDMDg3QzJBRkE5RDU4NzdFMDgyQTNDN0EwQzAwMDA3RTI0MDBGRTdFMzcyQTJEN0U0NzJBMzExMjdDMjFEMDg3RDBBODdFMDgyQTNDN0EwQzAwMDA3RTU3MkEzMTAyNzY3MzAyN0IyOTc1MzEwNzEyN0MxNTQzRTFDMDIyQzBBOEMwODdDMkFGQTlENTg3MTI3QjlFNDAxOTdFMDgyQTNDN0EwQzAwMDBDQTBCQ0E0OTEyN0MyMURBNTlEQTBCRDA4N0QwQThDMzIyRDA4N0QwQTgyMkMwQThDMDg3QzJBRkE5RDU4NzEyN0I5RTQwMkI3RTU4MDAwMDdBNUMwMEZFN0Y2MTdFNzgyQTNDN0E3QzAwMDA3RTc3MkEzMUJENzQ3ODExNzUzMUMxMTI3QzE1MTI3QzVBNDAwNkQwODdEMEE4QzMyMkQwODdEMEE4RDMyMjdFMjQwMEZFN0UzNDdGQ0EwQjFBNTBDNUYwN0Q2MjdENzU3RDg3N0UzNDdGQzI3RTFCQjA3RTM0N0YwM0I0MDEwNDdFMzQ3RkNDN0UxQkIwQkMwQjUwNDkzRTAwM0UwMDBBNTAyRDc1MEIzQTMwNjk1MzAwMDJCRDM4NTAwMjJEMzhCQzFCNTAzMDNFMTAzRTEwMEE1MTJEMzU2OTQxMDAwMjBCMUEzMEJEMzg1MDAyMkQzOEJFNDRGRkZGNzgwNTdFMUI5MDBBNDk0RDQ0NjgwQ0JFNDQwMEZGMjgwNDdFNDQwMEZGQzMyMkQzMjJGQQorOjAwMDQ3RkM2MDAwMTEwMDQwMEEyCis6MDE0QTdDMTUwMENBMDg3RTAxMzE3QTAzM0ZGMERBMDgyMjdFMUJDMDdBMEJDMDBCMTQwQjM0MUI0NDc4RjIyMjdGNkY3RkYwMUJGQzdDNTQ3RDMyODAwOENBMUJDQTFCQ0ExQkNBMUI5RTQ0MDAxMDUwRjIyRTQ0MDAxMDY4MDZDQTQ4MUI0NDc4RkE3RkY2ODlFNENBNkI1RUQ0MDAzRjY4MjA3RTg0MDA0MDlEOEREQTZCQkQ4NzM4MTZDQTc5N0Q3ODEyN0M4NERBNzk0MDA4OUQ3ODY4MDI4MDA1QzJENzIyREE2QjQzOTAzMDc0QUEzOUI1NTU1NTc0NTUzOUI1MkFBQTc0QTAzOUI1NTU1NTdFMDQwMDQwOUQ3MDUwMDYyRDcwN0QwNzZENzc3QzMxN0U3QjAwN0E2QjAwMEI3QzBCNkNBNUQ5RjM3RjE2MUIxQzdFNTQyNzEwN0UxQjEwQkMxMDY4MDYxQjU0NzhGNTgwMkM2RDAwN0MyMDdGMTY5RjEwN0YyNzlGMjA3RTJCMDA3RTFCMTBCQzAxNzgxNjBCMkMwQjFDQTVEQkVGN0NCNjIwRTAwMzYzOTAzMDRENzc3ODkzQzJENzIyRDJENzIyMDAwNDAwMDQ0MjA4MDYwNDAyMDQwMDAyMDEwNDAxMDI4MjA4MDAwMDAwMDAwMDAwMDIwMjAyMDIwMjA0MDIwODEwMDIxMDA0MDIwODAwMDEwMTA4MDAwMTAwMDIwMDAyMDIwODAyMDQyMDA0N0UxODdGQkQ3QTFDMDBGRTBCMUEwMDVFMTAxRkJFMTAxQTM4MUEwQTUxMjM3RTE4N0NGQTdBMUMwMEZGMkQzNTBCMUE1MDYwMDhBNUI4MDIwMzRFQTAwODIyODBGRTczCis6MDAwMDAwMDAwMUZGCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisvLyogRWRnZXBvcnQvNCBCaW5hcnkgSW1hZ2UKKy8vKiBHZW5lcmF0ZWQgYnkgSEVYMkMgdjEuMDYKKy8vKiBDb3B5cmlnaHQgKEMpIDE5OTggSW5zaWRlIE91dCBOZXR3b3JrcywgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vKglUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorLy8qCWl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisvLyoJdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKy8vKgkoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUvZWRnZXBvcnQvZG93bjIuSDE2IGIvZmlybXdhcmUvZWRnZXBvcnQvZG93bjIuSDE2Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJmNGI0ZmYKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9lZGdlcG9ydC9kb3duMi5IMTYKQEAgLTAsMCArMSwyOSBAQAorOjAwMDQwMDAwMDAwMjAwMDAwM0Y3Cis6MDAwMjAwMDAwNDAwRkZGQgorOjAwMDYwMDAwMDAwMjAwODAwMjQ1MTQxRAorOjAwMDMwMDBCMDAwMjQ0QTUwNworOjAwMDMwMDEzMDAwMjYzQUJEQQorOjAwMDMwMDFCMDAwMjAwMUJDNQorOjAwMDMwMDIzMDAwMjAwMjNCNQorOjAwMDMwMDJCMDAwMjAwMkJBNQorOjAwMDMwMDMzMDAwMjAwMzM5NQorOjAwMDMwMDNCMDAwMjAwM0I4NQorOjAwMDMwMDQzMDAwMjAwNDM3NQorOjAwMDMwMDRCMDAwMjAwNEI2NQorOjAwMDMwMDUzMDAwMjY3NUZFMgorOjAwMDMwMDdCMDAwMjAwN0IwNQorOjAwMDcwMDgwMDA3RTE0MDAwMDAyNDA1MjUzCis6MEI2NjMwMDAwMDEyMzA2NDEyMzBGRjEyMzEyRjEyMzBCMDgwRjJFNTIzNjAxOTdFMTQwMDAwMDlCMTAxQjlCNDAwMDI4MDA1MTQxOUIxMDFCOUE1MEFCRTIxMkU3OEVCMjJDMkFGN0VCMzNGRjFCNDAxMDMxMjY1NjdEMkFGMjJDMkFGN0VCMzNGRjFCNDAxMUQ3NDQwN0FCMzkxMDA3RUIzOTExQTZDQUE2MDBGQ0EwQkNBMzlDQTU5MTI2NDI0REE1OURBMzlEQTBCRDJBRjIyQzJBRkU1MjI2MDQzN0UwNzAxQ0JCRTA0MDM4MDM4Mzk3RTA0ODAwMDdFMjAwMDEzNTAyMTA5QTAwMDA0NEVBMDA1MTlBMDAwMDQwQTMyMDk1MzM1MzM1RTUxMjc2ODBCMDlBMDAwMTA0RUEwMDExOUEwMDAxMDJFMDQwMTAwQTUwQUJFMjEyRTc4RDE3NTIyMDBEMkFGMjJDMkFGRTUyNjYwMzY3RTIwMDA3RTMwMDFFNTI2QTU1QjY4MjE3Q0IyMjMwQTJCNDkzMjAxNzlCRTM0MDAwMDY4MTI3RUIxMjFBNTRCN0FCMTIxQ0ExOTQ5MjIzMEVGOTkyNERBMTkzRTMwQTUwQUJFMjEyRTc4RDBEMkFGMjI0NjRGNDk3QzRDQTk0RkQ2NTMwMzU2MzA1OTVENUM4QUMyQUZFNTI0NjAxNDdFMjAwMDEzNTAwN0NBQjgxMjMxMUNEQUI4QTUwQUJFMjEyRTc4RUZEMkFGMjJDQTI4MTIzNTRDREEyODQwMDkwQTIyMDlCMjM1MzNGNDUyMjQyMkMyQUZFNTIzNjAxNDdFMjAwMDEzNTAwN0NBQjgxMjMxNENEQUI4QTUwQUJFMjEyRTc4RUZEMkFGMjI3Q0IyMjMwQTJCNDkyMjMxNTc4OTI0MzE2NzMxRDAzMjM5MzJBMjMzMEIzMzc0MzNERDM0NDY3RTI3MDE3OUJFMjQwMDAwNzgyNDdFMjQ4MDAwMDlCMjAwMTRDQUI4NUVCMDFFREFCODY4MEJDQTE5N0QxMjEyNDk0NTdEMjFEQTE5MzBFNjE4N0U2MDAwODAxRUJFMjcwMTg5NjgwRDdBMjcwMTg5N0U2MDlDN0E2MzAxQjk4MDI3N0U2MzAxQjlBNUJFMDAxRjdFNjAwMTdFQjAwMDdFQTBDODEyNjEzNjQwMTE3NTJGQjMxMjczMzVDMjE4NkMwMDdBMDMwMUI5MTI2NDg2MjI3RTI3MDE3QkJFMjQwMDAwNzgyNDdFMjQ4MTAwMDlCMjAwMTRDQUI4NUVCMDFFREFCODY4MEJDQTE5N0QxMjEyNEM3MjdEMjFEQTE5MzBFNjE4N0U2MDAwODAxRUJFMjcwMThCNjgwRDdBMjcwMThCN0U2MDlDN0E2MzAxQkE4MDI3N0U2MzAxQkFBNUJFMDAxRjdFNjAwMTdFQjAwMDdFQTBDODEyNjEzNjQwMTE3NTJGQjMxMjczMzVDMjE5NkMwMDdBMDMwMUJBMTI2NDg2MjI3RTI3MDE3REJFMjQwMDAwNzgyNDdFMjQ4MjAwMDlCMjAwMTRDQUI4NUVCMDFFREFCODY4MEJDQTE5N0QxMjEyNEY5RjdEMjFEQTE5MzBFNjE4N0U2MDAwODAxRUJFMjcwMThENjgwRDdBMjcwMThEN0U2MDlDN0E2MzAxQkI4MDI3N0U2MzAxQkJBNUJFMDAxRjdFNjAwMTdFQjAwMDdFQTBDODEyNjEzNjQwMTE3NTJGQjMxMjczMzVDMjFBNkMwMDdBMDMwMUJCMTI2NDg2MjI3RTI3MDE3RkJFMjQwMDAwNzgyNDdFMjQ4MzAwMDlCMjAwMTRDQUI4NUVCMDFFREFCODY4MEJDQTE5N0QxMjEyNTJDQzdEMjFEQTE5MzBFNjE4N0U2MDAwODAxRUJFMjcwMThGNjgwRDdBMjcwMThGN0U2MDlDN0E2MzAxQkM4MDI3N0U2MzAxQkNBNUJFMDAxRjdFNjAwMTdFQjAwMDdFQTBDODEyNjEzNjQwMTE3NTJGQjMxMjczMzVDMjFCNkMwMDdBMDMwMUJDMTI2NDg2MjI3RTI3MDE4MUJFMjQwMDAwNzgyNDdFMjQ4NDAwMDlCMjAwMTRDQUI4NUVCMDFFREFCODY4MEJDQTE5N0QxMjEyNTVGOTdEMjFEQTE5MzBFNjE4N0U2MDAwODAxRUJFMjcwMTkxNjgwRDdBMjcwMTkxN0U2MDlDN0E2MzAxQkQ4MDI3N0U2MzAxQkRBNUJFMDAxRjdFNjAwMTdFQjAwMDdFQTBDODEyNjEzNjQwMTE3NTJGQjMxMjczMzVDMjFDNkMwMDdBMDMwMUJEMTI2NDg2MjI3RTI3MDE4M0JFMjQwMDAwNzgyNDdFMjQ4NTAwMDlCMjAwMTRDQUI4NUVCMDFFREFCODY4MEJDQTE5N0QxMjEyNTkyNjdEMjFEQTE5MzBFNjE4N0U2MDAwODAxRUJFMjcwMTkzNjgwRDdBMjcwMTkzN0U2MDlDN0E2MzAxQkU4MDI3N0U2MzAxQkVBNUJFMDAxRjdFNjAwMTdFQjAwMDdFQTBDODEyNjEzNjQwMTE3NTJGQjMxMjczMzVDMjFENkMwMDdBMDMwMUJFMTI2NDg2MjI3RTI3MDE4NUJFMjQwMDAwNzgyNDdFMjQ4NjAwMDlCMjAwMTRDQUI4NUVCMDFFREFCODY4MEJDQTE5N0QxMjEyNUM1MzdEMjFEQTE5MzBFNjE4N0U2MDAwODAxRUJFMjcwMTk1NjgwRDdBMjcwMTk1N0U2MDlDN0E2MzAxQkY4MDI3N0U2MzAxQkZBNUJFMDAxRjdFNjAwMTdFQjAwMDdFQTBDODEyNjEzNjQwMTE3NTJGQjMxMjczMzVDMjFFNkMwMDdBMDMwMUJGMTI2NDg2MjI3RTI3MDE4N0JFMjQwMDAwNzgyNDdFMjQ4NzAwMDlCMjAwMTRDQUI4NUVCMDFFREFCODY4MEJDQTE5N0QxMjEyNUY4MDdEMjFEQTE5MzBFNjE4N0U2MDAwODAxRUJFMjcwMTk3NjgwRDdBMjcwMTk3N0U2MDlDN0E2MzAxQzA4MDI3N0U2MzAxQzBBNUJFMDAxRjdFNjAwMTdFQjAwMDdFQTBDODEyNjEzNjQwMTE3NTJGQjMxMjczMzVDMjFGNkMwMDdBMDMwMUMwMTI2NDg2MjJDMkFGN0UwNzAxQ0JCRTA0MDAwMDc4Mjg3NDIwN0FCMzkxMDA3RUIzOTExNTMwRTUxQjdFQjM5MTFBQkVCMDNGMzgwQzg1MzEyRjEyNzMzNTc0ODA3QUIzOTExRTc0MjA3QUIzOTExNUQyQUYyMjM1M0IzNkU4MzcwMDM3MUIzN0I2Mzg0RTM4NjkzOEZCMzg4NDM4QzU3Q0IzQkVCMDA5MjgyMjc1MkYwOTEyNzMzNTc1NTcwMjc0MjA3QUIzOTEwMDc0MDE3QUIzOTExMTc0NDA3QUIzOTEwMDc0MDE3QUIzOTExMTIyQzBBOEMyQUYyMzZDQUEyRTU0MzRFNjBCNTg1MDg5NTQwMTAyMDQwODEwMjA0MDgwNzUyRkIwMTI3MzM1MEEyMjA5QjIzNTMzNDIyNEQwQTgyMjdDQjIyMzBBM0I0OTMzMzU1Nzg5MzQzNTY3MzU5NTM1QzMzNUYxMzYxRjM2NEQzNjdCMzZBOTEyNDFCQUQyMjhEMjA4QzI0MEMyNDhDMjM4QzIzMDZEMDA3QTAzMDFCOTdFMDQwMDIwN0EwNzAxOTk3RTA0MDAzODdBMDcwMUE5MTI0MTI3MTI1RkI3MDIzNkQ3MTI0MUQ3RDIyOUQyMDlDMjQxQzI0OUMyMzlDMjMxNkQwMDdBMDMwMUJBN0UwNDAwMjA3QTA3MDE5QjdFMDQwMDM4N0EwNzAxQUIxMjQxMjcxMjVGRTAwMjM2RDcxMjQxRjREMjJBRDIwQUMyNDJDMjRBQzIzQUMyMzI2RDAwN0EwMzAxQkI3RTA0MDAyMDdBMDcwMTlEN0UwNDAwMzg3QTA3MDFBRDEyNDEyNzEyNjAwOTAyMzZENzEyNDIxMUQyMkJEMjBCQzI0M0MyNEJDMjNCQzIzMzZEMDA3QTAzMDFCQzdFMDQwMDIwN0EwNzAxOUY3RTA0MDAzODdBMDcwMUFGMTI0MTI3MTI2MDMyMDIzNkQ3MTI0MjJFRDIyQ0QyMENDMjQ0QzI0Q0MyM0NDMjM0NkQwMDdBMDMwMUJEN0UwNDAwMjA3QTA3MDFBMTdFMDQwMDM4N0EwNzAxQjExMjQxMjcxMjYwNUIwMjM2RDcxMjQyNEJEMjJERDIwREMyNDVDMjREQzIzREMyMzU2RDAwN0EwMzAxQkU3RTA0MDAyMDdBMDcwMUEzN0UwNDAwMzg3QTA3MDFCMzEyNDEyNzEyNjA4NDAyMzZENzEyNDI2OEQyMkVEMjBFQzI0NkMyNEVDMjNFQzIzNjZEMDA3QTAzMDFCRjdFMDQwMDIwN0EwNzAxQTU3RTA0MDAzODdBMDcwMUI1MTI0MTI3MTI2MEFEMDIzNkQ3MTI0Mjg1RDIyRkQyMEZDMjQ3QzI0RkMyM0ZDMjM3NkQwMDdBMDMwMUMwN0UwNDAwMjA3QTA3MDFBNzdFMDQwMDM4N0EwNzAxQjcxMjQxMjcxMjYwRDYwMjM2RDc3RUEwRDA3RTYwMEYxMjYxMzY0MDA1MTI2NDg2QzJENzIyNzUyRkIxMTI3MzM1MEE1MjIzNkQwMDU5MDUwMDMyMTI0MTgzMTI0MTlGRDBBODIyNzUyRkIyMTI3MzM1MEEyMjA5QjIzNTMzNDIyMzdFQjA5QzE5QjIwMUI5MTIzMTRDRDBBODIyN0UwNDgwMDA0QzAyMDkzMDAwMEM3NEJGMTlCMDAwMEMwOUIwMDAwODE5MzAwMDBDN0M3NDVFNzAwMTY4MTI0NDQwQ0FCODA5QjAwMDEwNDQwMjE5QjAwMDEwREFCODgwMDI1NEJGN0M3NDVFNzAwODY4MDQ0NDA4ODAwMjU0RjcwOTMwMDAwQ0NBQjg3NEJGMTlCMDAwMENEQUI4MTlCMDAwMDgxOTMwMDAwQzBBNjIwOUI2MzUzMzNFMjAwQTYyN0M3NDVFNzAwMjY4MjA0MjI3Q0FCODc0NjExOUIwMDAwODdFNDQwMDEwNTk0NjAxQTkwOUIwMDAxMDQ0MDExOUIwMDAxMERBQjg4MDExRjQ1MjI3NzRBMTE5QjAwMDA4N0U0NDAwMzg1OTQ2MDFBOUQwQTgyMjdDNzQ3RTA0ODAwMDRDMDIwOTMwMDAwQzc0QkYxOUIwMDAwQzA5QjAwMDA4N0M3NDVFNzAwMTY4MDQ0NDgwODAwMjU0N0Y3Qzc0NUU3MDA4NjgwNDQ0MDI4MDAyNTRGRDE5QjAwMDA4MTkzMDAwMEMwQTYyMDlCNjM1MzNBNUZERjRBNUZFQ0EyODNFMjAwQTYyREEyODdDNzQ1RTcwMDI2ODEwQTVFRDQyMjg0MjI2N0U0NDAwMDg1OTQ2MDE5OTgwMDRBNUVFNTIyODdDNzQ1RTcwMDQ2ODEwQTVFRDQyMjk0MjI2N0U0NDAwMDg1OTQ2MDE5OTgwMTVBNUVFNTIyOTdDNzQ1RTcwMDI3ODBBNTIyNjdFNDQwMDIwNTk0NjAxOTkxMjQyQTJEMEE4MjI3RTA0ODAwMDRDMDIwOTMwMDAwQzc0QkYxOUIwMDAwQzE5NDAwMDEwMTkzMDAwMENEMEE4MjI3RTA0ODAwMDRDMDIwOTMwMDAwQzc0QkYxOUIwMDAwQzE5NDAwMDE4MTkzMDAwMENEMEE4MjI3NTJGQjUxMjczMzU3RTA0ODAwMDRDMDIwOUIwMDAwQzQ0NDAxOUIwMDAwQ0U1NThCNDA3MjMwOUIwMDAxMDRFQjAwMjE5QjAwMDEwMDkzMDAwMEM3NEJGMTlCMDAwMEMwOUIwMDAwNDU0RjcxOUIwMDAwNDE5MzAwMDBDRDBBODIyNzUyRkI2MTI3MzM1N0UwNDgwMDA0QzAyRTU1OEI0MDcxODA5MzAwMDBDNzRCRjE5QjAwMDBDMDlCMDAwMDQ0NDA4MTlCMDAwMDQxOTMwMDAwQzA5QjAwMDBDNTRCRjE5QjAwMDBDRDBBODIyNzUyRkI0MTI3MzM1N0EyMTJGMTI3MzM1N0E0MTJGMTI3MzM1N0VCMDAxN0VBMEM4N0M2NDEyNjEzNjEyNjQ4NkQwQTgyMjM5MkUzOTc1MzlCQzNBMDMzQTRBM0E5MTNBRDgzQjFGNzUyRjU1MTI3MzM1NzUyRjAwMTI3MzM1N0E2MTJGMTI3MzM1N0E3MTJGMTI3MzM1N0UxNzAxNjk3RTI3MDE3OTJEMjM3RTA5QjAwQjA0N0ExOUIwMEIxNEJFMTQwODJDMzgwRjFCMzQ3OEVDN0ExNzAxNjk3QTI3MDE3OTAyNDY0RjdFMTQwNDJEODBFQjc1MkY1NTEyNzMzNTc1MkYwMTEyNzMzNTdBNjEyRjEyNzMzNTdBNzEyRjEyNzMzNTdFMTcwMTZCN0UyNzAxN0IyRDIzN0UwOUIwMEIwNDdBMTlCMDBCMTRCRTE0MEMyQzM4MEYxQjM0NzhFQzdBMTcwMTZCN0EyNzAxN0IwMjQ5N0M3RTE0MDgyRDgwRUI3NTJGNTUxMjczMzU3NTJGMDIxMjczMzU3QTYxMkYxMjczMzU3QTcxMkYxMjczMzU3RTE3MDE2RDdFMjcwMTdEMkQyMzdFMDlCMDBCMDQ3QTE5QjAwQjE0QkUxNDEwMkMzODBGMUIzNDc4RUM3QTE3MDE2RDdBMjcwMTdEMDI0Q0E5N0UxNDBDMkQ4MEVCNzUyRjU1MTI3MzM1NzUyRjAzMTI3MzM1N0E2MTJGMTI3MzM1N0E3MTJGMTI3MzM1N0UxNzAxNkY3RTI3MDE3RjJEMjM3RTA5QjAwQjA0N0ExOUIwMEIxNEJFMTQxNDJDMzgwRjFCMzQ3OEVDN0ExNzAxNkY3QTI3MDE3RjAyNEZENjdFMTQxMDJEODBFQjc1MkY1NTEyNzMzNTc1MkYwNDEyNzMzNTdBNjEyRjEyNzMzNTdBNzEyRjEyNzMzNTdFMTcwMTcxN0UyNzAxODEyRDIzN0UwOUIwMEIwNDdBMTlCMDBCMTRCRTE0MTgyQzM4MEYxQjM0NzhFQzdBMTcwMTcxN0EyNzAxODEwMjUzMDM3RTE0MTQyRDgwRUI3NTJGNTUxMjczMzU3NTJGMDUxMjczMzU3QTYxMkYxMjczMzU3QTcxMkYxMjczMzU3RTE3MDE3MzdFMjcwMTgzMkQyMzdFMDlCMDBCMDQ3QTE5QjAwQjE0QkUxNDFDMkMzODBGMUIzNDc4RUM3QTE3MDE3MzdBMjcwMTgzMDI1NjMwN0UxNDE4MkQ4MEVCNzUyRjU1MTI3MzM1NzUyRjA2MTI3MzM1N0E2MTJGMTI3MzM1N0E3MTJGMTI3MzM1N0UxNzAxNzU3RTI3MDE4NTJEMjM3RTA5QjAwQjA0N0ExOUIwMEIxNEJFMTQyMDJDMzgwRjFCMzQ3OEVDN0ExNzAxNzU3QTI3MDE4NTAyNTk1RDdFMTQxQzJEODBFQjc1MkY1NTEyNzMzNTc1MkYwNzEyNzMzNTdBNjEyRjEyNzMzNTdBNzEyRjEyNzMzNTdFMTcwMTc3N0UyNzAxODcyRDIzN0UwOUIwMEIwNDdBMTlCMDBCMTRCRTE0MjQyQzM4MEYxQjM0NzhFQzdBMTcwMTc3N0EyNzAxODcwMjVDOEE3RTE0MjAyRDgwRUI2NAorOjMzMzU0MDAwMDA3RTA0MDAwMTdFMTQ3RkY4N0UyNDAwRkU3RDMxMEIxQTUwMUIwQTUwN0UxNDQwMUIwMjQwNzQ3RUY4MDA1OTc1QjBERjdFQjAwMTdBQjM5MDAwN0VGNDQwMzAwMjQwOEIxMjc0NEVGNTJFN0FBMTJEN0ExMTU4MTI2QjAyMTI0MEVCN0VCMzNGRjE2MDAzMTI0Mzc5MTI2QkRFRDJBRjAyMzAwMDdFMDQwMEZGN0UxODQwNjA3QTFDMDAwMTg5MTg3RUIwMDE3QUIzOTQwMDdBQjMyQzM1N0VCMDAxN0FCMzkzMDA4OTA4N0UwNDAwRkY3RTE4NDA4MjdBMUMwMDAxODkxODdFQjAwMDdBQjM5MzAwODkwODdFMDgwMDIwN0U0NDA0MDA3RTQwMDA3RUU0NDA5RDAyNzM1MDdFMDgwMTU5N0U0NDJBREQ3RTQwMDA3RUU0NDBBRjAyNzM1MDdFMDgwMDU5N0U0NDAxMDA3RTQwNTM3RUU0NDBDMTAyNzM1MDc1NTcwMTc1NTYwMDdFMDQwMDA4NzU1NDU4NzU1NTA4NzU1MTA4NzU1MzAxNzU4OTAxNzU4QTAxNzU4QzAwRDI4QzdFMDQwMDAyN0EwNTQyODlGNDc1Qjc3Rjc1Qjg3Rjc1QjMwMTc1QjIwMUQyQTkyMjc1QjBERkU0RDVFMEZENzVCMEVGN0UyNDgwMDA3RTExMkU3RUEwMDgxOUEyMDAxMDJFMjQwMTAwQTVEOUYyN0UyMDAwMTI0MTgzMEIyMEJFMjEyRTc4RjYyMjdFMDQ4MDAwNEMwMjc0QkYxOUIwMDAwQzc0MTAxOUIwMDAwODc0ODAxOUIwMDAwQzdFNTQwMDAyMTlBMDAwMDQxOUIwMDAwMDc0MDMxOUIwMDAwQzc0MDcyMDY4MDI3NDBGMTlCMDAwMDQzMDZCMTc3NEJGMTlCMDAwMEM3NDI4MjA2ODAyNzQyMDE5QjAwMDA0NzQwMzE5QjAwMDBDNzRBNzE5QjAwMDA4NzQwQzE5QjAwMDEwMjI3RTA0ODAwMDRDMDJFNDE5QjAwMDA0MDlCMDAwMTA1NDA4MTlCMDAwMTA3NEE3MTlCMDAwMDgyMjdDQjIyMzBBMkI0OTIyNDFBQTg5MjQ0MUJBNDFENzQxRjQ0MjExNDIyRTQyNEI0MjY4NDI4NUMyMTBDMjE4QzIwODdFMDQwNDJEN0EwNzAxNTk3QTA3MDE2OTZEMDA3QTA3MDE3OTdBMDcwMTg5MjJDMjExQzIxOUMyMDk3RTA0MDgyRDdBMDcwMTVCN0EwNzAxNkI2RDAwN0EwNzAxN0I3QTA3MDE4QjIyQzIxMkMyMUFDMjBBN0UwNDBDMkQ3QTA3MDE1RDdBMDcwMTZENkQwMDdBMDcwMTdEN0EwNzAxOEQyMkMyMTNDMjFCQzIwQjdFMDQxMDJEN0EwNzAxNUY3QTA3MDE2RjZEMDA3QTA3MDE3RjdBMDcwMThGMjJDMjE0QzIxQ0MyMEM3RTA0MTQyRDdBMDcwMTYxN0EwNzAxNzE2RDAwN0EwNzAxODE3QTA3MDE5MTIyQzIxNUMyMURDMjBEN0UwNDE4MkQ3QTA3MDE2MzdBMDcwMTczNkQwMDdBMDcwMTgzN0EwNzAxOTMyMkMyMTZDMjFFQzIwRTdFMDQxQzJEN0EwNzAxNjU3QTA3MDE3NTZEMDA3QTA3MDE4NTdBMDcwMTk1MjJDMjE3QzIxRkMyMEY3RTA0MjAyRDdBMDcwMTY3N0EwNzAxNzc2RDAwN0EwNzAxODc3QTA3MDE5NzIyN0NCMjIzMEEyQjQ5MjI0MkFEODkyNDQyQkQ0MkQ0NDJFQjQzMDI0MzE5NDMzMDQzNDc0MzVFMzA0MDA3MjA1ODA0QzIyODgwMEMzMDQ4MDcyMDUwMDRDMjI4ODAwMkQyMjgyMjMwNDEwNzIwNTkwNEMyMjk4MDBDMzA0OTA3MjA1MTA0QzIyOTgwMDJEMjI5MjIzMDQyMDcyMDVBMDRDMjJBODAwQzMwNEEwNzIwNTIwNEMyMkE4MDAyRDIyQTIyMzA0MzA3MjA1QjA0QzIyQjgwMEMzMDRCMDcyMDUzMDRDMjJCODAwMkQyMkIyMjMwNDQwNzIwNUMwNEMyMkM4MDBDMzA0QzA3MjA1NDA0QzIyQzgwMDJEMjJDMjIzMDQ1MDcyMDVEMDRDMjJEODAwQzMwNEQwNzIwNTUwNEMyMkQ4MDAyRDIyRDIyMzA0NjA3MjA1RTA0QzIyRTgwMEMzMDRFMDcyMDU2MDRDMjJFODAwMkQyMkUyMjMwNDcwNzIwNUYwNEMyMkY4MDBDMzA0RjA3MjA1NzA0QzIyRjgwMDJEMjJGMjI0NDY2NDM4QUJFQjAwMjQwMDEyMjIzMEE1QjQ5NTU0Mzc1OTk1NEQzMjI3RUIwMDA3QUIzOTQwMDdBQjMyQzM1MTI0NDdBN0UwNDI4MkQ3QTA3MDFDMTdBMDcwMUMzN0UwNDI0MkQ3QTA3MDFDNzdBMDcwMUM5N0UwNDY2N0Y3QTA1NEI3NDIwN0FCMzkxMDA3NDYwN0FCMzkxMUM3NDEyN0FCMzkxMDY3NDQwN0FCMzkxMDc3NDFFN0FCMzkxMTA3NDQ4N0FCMzkxMTI3NDEwN0FCMzkxMTM3NDNGN0FCMzkxMTQ3NDQwN0FCMzkxMDA3NDYwN0FCMzkxMUM3NDE0N0FCMzkxMDY3NDQwN0FCMzkxMDc3NDE2N0FCMzkxMTA3NDA4N0FCMzkxMTE3NDIwN0FCMzkxMTM3NDNGN0FCMzkxMTQ3NDYwN0FCMzkxMDA3NDYwN0FCMzkxMUM3NDE2N0FCMzkxMDY3NDIwN0FCMzkxMDc3NDJGN0FCMzkxMTA3NDQ4N0FCMzkxMTI3NDEwN0FCMzkxMTM3NDNGN0FCMzkxMTQ3NDAyN0FCMzkxMDY3NDBGN0FCMzkxMDcxMjQwRkE3RTIwMDAxMjQxOUYwQjIwQkUyMTJFNzhGNkQyQTgyMjdFQjAwMTdBQjM5NDAwN0FCMzJDMzUxMjQ0N0E3NUIwREZDMkE4MjI3NDAyN0FCMzkxMDY3NDAxN0FCMzkxMDc3RTIwMDQ3Q0IyQzJENzEzMTMxMzEzN0FCMzkxMDA3NDYwN0FCMzkxMUM3NDAyN0FCMzkxMTJBNURBRTUyMkNBMDkxMjMwMEUxMDAxMzRENTUxNDA3NDAwN0FCMzkxMDA3NDAyN0FCMzkxMDY3RUIzOTEwNzc0MDM3QUIzOTEwNjdFQjM5MTA3N0VCMzkxMTQ3RUIzOTEwNDYzNTMwMTdFMDA1NDJFMDE1M0E1RTZGNTUxODAxMjIwMDIxRDc1NTMwMDg1NTQ1MUQyMDI3NDAzODAwRDMwMDIwRUMyMDI3RTAwNTYyRTAxNTNBNUU2N0FCMzkwMDBEQTA5MzI0NTZGNDU4QjQ1QTc0NUMzNDVERjQ1RkI0NjE3NDYzM0MwRDBDMEQxQzBFMEMwRjBDQTBCQ0ExQkNBMkJEMjAxNzUyRjg5MTI3MzM1N0VCMzkwMDA2MDI4N0UxNDgwMDA3RTAwMDAxMzUwMTNDQTBCQ0E1OTdDQjAyMzBBMkI0OTIyNDUwNDk5MjREQTU5REEwQkE1MEFBNTA4QkUwMTJFNzhFMTgwRDIzMDA0MDVDMjA0MTI2NDg2REEyQkRBMUJEQTBCRDBGMEQwRTBEMEQxRDBEMDMyMDlCMTAwMDgyMEUwMTQ3NTJGODAxMjczMzU1NDNFMEE1QjdFNDQwMEZGNjk1MjYxQUI4OTU0MjIwOUIxMDAwODIwRTAxNDc1MkY4MTEyNzMzNTU0M0UwQTVCN0U0NDAwRkY2OTUyNjFFQjg5NTQyMjA5QjEwMDA4MjBFMDE0NzUyRjgyMTI3MzM1NTQzRTBBNUI3RTQ0MDBGRjY5NTI2MjJCODk1NDIyMDlCMTAwMDgyMEUwMTQ3NTJGODMxMjczMzU1NDNFMEE1QjdFNDQwMEZGNjk1MjYyNkI4OTU0MjIwOUIxMDAwODIwRTAxNDc1MkY4NDEyNzMzNTU0M0UwQTVCN0U0NDAwRkY2OTUyNjJBQjg5NTQyMjA5QjEwMDA4MjBFMDE0NzUyRjg1MTI3MzM1NTQzRTBBNUI3RTQ0MDBGRjY5NTI2MkVCODk1NDIyMDlCMTAwMDgyMEUwMTQ3NTJGODYxMjczMzU1NDNFMEE1QjdFNDQwMEZGNjk1MjYzMkI4OTU0MjIwOUIxMDAwODIwRTAxNDc1MkY4NzEyNzMzNTU0M0UwQTVCN0U0NDAwRkY2OTUyNjM2Qjg5NTQyMjEwMDgwMTIyMjAyODAzRDIwODIyNzUyRkEwMTI3MzM1N0UxNDgwMDA4MDA2MjAyODAzRDIwODIyMDlCMTAwMTRDQUI4NUVCMDFFREFCODY4MDMxMjQ5NDUzMDMwMDYyMEU2NEZEMjA4MjIzMEU2MDJEMjYwN0UzNzAxNzk3RTI3MDE5OTlEMzI0MDMxN0QwMjJFMDUzMjdBMDUzMjdBMzcwMTc5N0UzNzAxNTk3RDQzMkQ0MkJFNDQwODJDMzg2ODdBNDcwMTU5NzUyRjk0MTI3MzM1N0E1MTJGMTI3MzM1MTI2OUYwMTA2MEM0MjJDMjYwMkQyMzY4Nzg2RDMzODAxQTdFMjcwMTc5QkUyNDAwMDA2ODZBQkUyNzAxOTkyODA0N0UyNzAxOTk3RTM3MDE3OTlEMzI3RDAyMkUwNTMyN0EwNTMyN0EzNzAxNzk3RTM3MDE1OTdENDMyRDQyQkU0NDA4MkMzODEzN0E0NzAxNTk3NTJGOTQxMjczMzU3QTUxMkYxMjczMzUwMjY5RjA3NTJGOTQxMjczMzU3QTUxMkYxMjczMzU5RTQ0MDgyRDlEMjQxMjY5RjA3RTM0MDQyRDdEMjQyRDQzN0E0NzAxNTkxMjY5RjBCRTI1MjA3ODAzMDI0NkMyMjJEMjA4N0UwNDA0MkQ3QTA3MDE1OTdBMDcwMTY5NzUyRjk0MTI3MzM1NzUyRjAwMTI3MzM1MjI3NTJGOTIxMjczMzVEMjA0MDlCMTAwMTRDQUI4NTQ4MkRBQjg3ODY4N0UzNzAxQ0I3RTI3MDFBOTJFMjQwMDAyMkQzMkJFMzQwNDAwMzgzNDdEMDIyRTA1MzA3QTA1MzA3QTM3MDFDQjdFMzcwMUM5N0Q0MzJENDJCRTQ0MjgyQzM4M0M3QTQ3MDFDOTdFMjQwMDAwMkUyNzAxQTkxQjM4MjAwQjM1N0E1MTJGMTI3MzM1MDI2QTYzNzUyRjk5MTI3MzM1MDlCMTAwMDQ1NEZBMTlCMTAwMDQzMDM4MEEwOUIxMDAxMDU0RkUxOUIxMDAxMEQyMTAyMjgwN0Y3QTUxMkYxMjczMzU5RTQ0MjgyRDlEMjQ3RTY0MDAwMDJFNjcwMUE5OUUyNDAwMDI0MDE3MUIzODYwMEIzNTEyNkE2MzdFMzQyNDJEN0QyNDJENDM3QTQ3MDFDOTAyNkE2MzdBMzlDMDdFMzQyNDJEN0EzOUQwMEIzNDFCNDQ4MEU1OUQzMjdDQjY1NDBGMjMyMzIzNDQwMDdBNjlCMDdBNzk3MDBCMzU3NTJGOTMxMjczMzU3QTcxMkYxMjczMzVCRDA0NjgyQjdBMDcwMUM5N0U0NzAxQ0IyRDQzN0E0NzAxQ0IyRTM1MzA3QTM1MzAyMkQyMDQwOUIxMDAxNDIwRTAxMzIyN0UwNDI0MkQ4MDI4N0UwNDI0MkQ4MDJBN0UwNDI0MkQ4MENGN0UwNzAxQ0I3RTI0MDNGRTlEMjAyODQwN0UwNzAxQzk3RTQ0MjgyRDdENjAwQjA0QkQwNDY4RDI3RDcwMEIwNEJEMDQ2OEQwN0Q1NDlENTBCRDI1NDAwMjdEMjU3RDMyMDlCMTAwMTRDQUI4NTQxRkI0MDEzMURBQjg3RTE5QjA3QTA5QjAwQjA0MUIyNDc4RTcwMjQ4MUU3NTJGOTkxMjczMzUwOUIxMDAwNDU0RkExOUIxMDAwNDMwMzgwQTA5QjEwMDEwNTRGRTE5QjEwMDEwRDIxMDIyREFCODMwRTBEOEJEMzI2ODA3Q0FCODEyNDgxRURBQjgwMjQ5NDUwOUIxMDAxODdFQTA4ODc1MkY5MDEyNzMzNUY1MkYxMjczMzVBNUZENUU1MDBBNjgxREE1RkQ1RTUwMjA2ODA0RDI1ODgwMDJDMjU4QTVGRDVFNTA4MDY4MDREMjUwODAwMkMyNTAxMjQyQkQwMjYxMTM3NTJGOTExMjczMzUwOUIxMDAxNDdBQjEyRjEyNzMzNTIwRTAwOEQyMDQ3RUEwODAwMjYxMTNEMjA0MzBFMTA2N0VBMDgwMTI2MTEzQ0FCODVFQjAxQ0RBQjg2ODEyN0VBMEMwMDk2MTAwMDAxMjYxMzYwOUIxMDAxNDIwRTBEQjIyMDI0ODcyNzUyRjk1MTI3MzM1MjI3NTJGOTYxMjczMzUyMjEwMDkwMTIyMjAyOTAzRDIwOTIyNzUyRkExMTI3MzM1N0UxNDgxMDA4MDA2MjAyOTAzRDIwOTIyMDlCMTAwMTRDQUI4NUVCMDFFREFCODY4MDMxMjRDNzIzMDMxMDYyMEU2NEZEMjA5MjIzMEU2MDJEMjYxN0UzNzAxN0I3RTI3MDE5QjlEMzI0MDMxN0QwMjJFMDUzNDdBMDUzNDdBMzcwMTdCN0UzNzAxNUI3RDQzMkQ0MkJFNDQwQzJDMzg2ODdBNDcwMTVCNzUyRjk0MTI3MzM1N0E1MTJGMTI3MzM1MTI2OUYwMTA2MUM0MjJDMjYxMkQyMzY4Nzg2RDMzODAxQTdFMjcwMTdCQkUyNDAwMDA2ODZBQkUyNzAxOUIyODA0N0UyNzAxOUI3RTM3MDE3QjlEMzI3RDAyMkUwNTM0N0EwNTM0N0EzNzAxN0I3RTM3MDE1QjdENDMyRDQyQkU0NDBDMkMzODEzN0E0NzAxNUI3NTJGOTQxMjczMzU3QTUxMkYxMjczMzUwMjY5RjA3NTJGOTQxMjczMzU3QTUxMkYxMjczMzU5RTQ0MEMyRDlEMjQxMjY5RjA3RTM0MDgyRDdEMjQyRDQzN0E0NzAxNUIxMjY5RjBCRTI1MjA3ODAzMDI0OUVGMjJEMjA5N0UwNDA4MkQ3QTA3MDE1QjdBMDcwMTZCNzUyRjk0MTI3MzM1NzUyRjAwMTI3MzM1MjI3NTJGOTIxMjczMzVEMjA0MDlCMTAwMTRDQUI4NTQ4MkRBQjg3ODY4N0UzNzAxQ0I3RTI3MDFBQjJFMjQwMDAyMkQzMkJFMzQwNDAwMzgzNDdEMDIyRTA1MzA3QTA1MzA3QTM3MDFDQjdFMzcwMUM5N0Q0MzJENDJCRTQ0MjgyQzM4M0M3QTQ3MDFDOTdFMjQwMTAwMkUyNzAxQUIxQjM4MjAwQjM1N0E1MTJGMTI3MzM1MDI2QTYzNzUyRjk5MTI3MzM1MDlCMTAwMDQ1NEZBMTlCMTAwMDQzMDM5MEEwOUIxMDAxMDU0RkUxOUIxMDAxMEQyMTEyMjgwN0Y3QTUxMkYxMjczMzU5RTQ0MjgyRDlEMjQ3RTY0MDEwMDJFNjcwMUFCOUUyNDAwMDI0MDE3MUIzODYwMEIzNTEyNkE2MzdFMzQyNDJEN0QyNDJENDM3QTQ3MDFDOTAyNkE2MzdBMzlDMDdFMzQyNDJEN0EzOUQwMEIzNDFCNDQ4MEU1OUQzMjdDQjY1NDBGMjMyMzIzNDQwMTdBNjlCMDdBNzk3MDBCMzU3NTJGOTMxMjczMzU3QTcxMkYxMjczMzVCRDA0NjgyQjdBMDcwMUM5N0U0NzAxQ0IyRDQzN0E0NzAxQ0IyRTM1MzA3QTM1MzAyMkQyMDQwOUIxMDAxNDIwRTAxMzIyN0UwNDI0MkQ4MDI4N0UwNDI0MkQ4MDJBN0UwNDI0MkQ4MENGN0UwNzAxQ0I3RTI0MDNGRTlEMjAyODQwN0UwNzAxQzk3RTQ0MjgyRDdENjAwQjA0QkQwNDY4RDI3RDcwMEIwNEJEMDQ2OEQwN0Q1NDlENTBCRDI1NDAwMjdEMjU3RDMyMDlCMTAwMTRDQUI4NTQxRkI0MDEzMURBQjg3RTE5QjA3QTA5QjAwQjA0MUIyNDc4RTcwMjRCNEI3NTJGOTkxMjczMzUwOUIxMDAwNDU0RkExOUIxMDAwNDMwMzkwQTA5QjEwMDEwNTRGRTE5QjEwMDEwRDIxMTIyREFCODMwRTBEOEJEMzI2ODA3Q0FCODEyNEI0QkRBQjgwMjRDNzIwOUIxMDAxODdFQTA4ODc1MkY5MDEyNzMzNUY1MkYxMjczMzVBNUZENUU1MDBBNjgxREE1RkQ1RTUwMjA2ODA0RDI1OTgwMDJDMjU5QTVGRDVFNTA4MDY4MDREMjUxODAwMkMyNTExMjQyRDQwMjYxMTM3NTJGOTExMjczMzUwOUIxMDAxNDdBQjEyRjEyNzMzNTIwRTAwOEQyMDQ3RUEwODAwMjYxMTNEMjA0MzBFMTA2N0VBMDgwMTI2MTEzQ0FCODVFQjAxQ0RBQjg2ODEyN0VBMEMwMDk2MTAwMDAxMjYxMzYwOUIxMDAxNDIwRTBEQjIyMDI0QjlGNzUyRjk1MTI3MzM1MjI3NTJGOTYxMjczMzUyMjEwMEEwMTIyMjAyQTAzRDIwQTIyNzUyRkEyMTI3MzM1N0UxNDgyMDA4MDA2MjAyQTAzRDIwQTIyMDlCMTAwMTRDQUI4NUVCMDFFREFCODY4MDMxMjRGOUYzMDMyMDYyMEU2NEZEMjBBMjIzMEU2MDJEMjYyN0UzNzAxN0Q3RTI3MDE5RDlEMzI0MDMxN0QwMjJFMDUzNjdBMDUzNjdBMzcwMTdEN0UzNzAxNUQ3RDQzMkQ0MkJFNDQxMDJDMzg2ODdBNDcwMTVENzUyRjk0MTI3MzM1N0E1MTJGMTI3MzM1MTI2OUYwMTA2MkM0MjJDMjYyMkQyMzY4Nzg2RDMzODAxQTdFMjcwMTdEQkUyNDAwMDA2ODZBQkUyNzAxOUQyODA0N0UyNzAxOUQ3RTM3MDE3RDlEMzI3RDAyMkUwNTM2N0EwNTM2N0EzNzAxN0Q3RTM3MDE1RDdENDMyRDQyQkU0NDEwMkMzODEzN0E0NzAxNUQ3NTJGOTQxMjczMzU3QTUxMkYxMjczMzUwMjY5RjA3NTJGOTQxMjczMzU3QTUxMkYxMjczMzU5RTQ0MTAyRDlEMjQxMjY5RjA3RTM0MEMyRDdEMjQyRDQzN0E0NzAxNUQxMjY5RjBCRTI1MjA3ODAzMDI0RDFDMjJEMjBBN0UwNDBDMkQ3QTA3MDE1RDdBMDcwMTZENzUyRjk0MTI3MzM1NzUyRjAwMTI3MzM1MjI3NTJGOTIxMjczMzVEMjA0MDlCMTAwMTRDQUI4NTQ4MkRBQjg3ODY4N0UzNzAxQ0I3RTI3MDFBRDJFMjQwMDAyMkQzMkJFMzQwNDAwMzgzNDdEMDIyRTA1MzA3QTA1MzA3QTM3MDFDQjdFMzcwMUM5N0Q0MzJENDJCRTQ0MjgyQzM4M0M3QTQ3MDFDOTdFMjQwMjAwMkUyNzAxQUQxQjM4MjAwQjM1N0E1MTJGMTI3MzM1MDI2QTYzNzUyRjk5MTI3MzM1MDlCMTAwMDQ1NEZBMTlCMTAwMDQzMDNBMEEwOUIxMDAxMDU0RkUxOUIxMDAxMEQyMTIyMjgwN0Y3QTUxMkYxMjczMzU5RTQ0MjgyRDlEMjQ3RTY0MDIwMDJFNjcwMUFEOUUyNDAwMDI0MDE3MUIzODYwMEIzNTEyNkE2MzdFMzQyNDJEN0QyNDJENDM3QTQ3MDFDOTAyNkE2MzdBMzlDMDdFMzQyNDJEN0EzOUQwMEIzNDFCNDQ4MEU1OUQzMjdDQjY1NDBGMjMyMzIzNDQwMjdBNjlCMDdBNzk3MDBCMzU3NTJGOTMxMjczMzU3QTcxMkYxMjczMzVCRDA0NjgyQjdBMDcwMUM5N0U0NzAxQ0IyRDQzN0E0NzAxQ0IyRTM1MzA3QTM1MzAyMkQyMDQwOUIxMDAxNDIwRTAxMzIyN0UwNDI0MkQ4MDI4N0UwNDI0MkQ4MDJBN0UwNDI0MkQ4MENGN0UwNzAxQ0I3RTI0MDNGRTlEMjAyODQwN0UwNzAxQzk3RTQ0MjgyRDdENjAwQjA0QkQwNDY4RDI3RDcwMEIwNEJEMDQ2OEQwN0Q1NDlENTBCRDI1NDAwMjdEMjU3RDMyMDlCMTAwMTRDQUI4NTQxRkI0MDEzMURBQjg3RTE5QjA3QTA5QjAwQjA0MUIyNDc4RTcwMjRFNzg3NTJGOTkxMjczMzUwOUIxMDAwNDU0RkExOUIxMDAwNDMwM0EwQTA5QjEwMDEwNTRGRTE5QjEwMDEwRDIxMjIyREFCODMwRTBEOEJEMzI2ODA3Q0FCODEyNEU3OERBQjgwMjRGOUYwOUIxMDAxODdFQTA4ODc1MkY5MDEyNzMzNUY1MkYxMjczMzVBNUZENUU1MDBBNjgxREE1RkQ1RTUwMjA2ODA0RDI1QTgwMDJDMjVBQTVGRDVFNTA4MDY4MDREMjUyODAwMkMyNTIxMjQyRUIwMjYxMTM3NTJGOTExMjczMzUwOUIxMDAxNDdBQjEyRjEyNzMzNTIwRTAwOEQyMDQ3RUEwODAwMjYxMTNEMjA0MzBFMTA2N0VBMDgwMTI2MTEzQ0FCODVFQjAxQ0RBQjg2ODEyN0VBMEMwMDk2MTAwMDAxMjYxMzYwOUIxMDAxNDIwRTBEQjIyMDI0RUNDNzUyRjk1MTI3MzM1MjI3NTJGOTYxMjczMzUyMjEwMEIwMTIyMjAyQjAzRDIwQjIyNzUyRkEzMTI3MzM1N0UxNDgzMDA4MDA2MjAyQjAzRDIwQjIyMDlCMTAwMTRDQUI4NUVCMDFFREFCODY4MDMxMjUyQ0MzMDMzMDYyMEU2NEZEMjBCMjIzMEU2MDJEMjYzN0UzNzAxN0Y3RTI3MDE5RjlEMzI0MDMxN0QwMjJFMDUzODdBMDUzODdBMzcwMTdGN0UzNzAxNUY3RDQzMkQ0MkJFNDQxNDJDMzg2ODdBNDcwMTVGNzUyRjk0MTI3MzM1N0E1MTJGMTI3MzM1MTI2OUYwMTA2M0M0MjJDMjYzMkQyMzY4Nzg2RDMzODAxQTdFMjcwMTdGQkUyNDAwMDA2ODZBQkUyNzAxOUYyODA0N0UyNzAxOUY3RTM3MDE3RjlEMzI3RDAyMkUwNTM4N0EwNTM4N0EzNzAxN0Y3RTM3MDE1RjdENDMyRDQyQkU0NDE0MkMzODEzN0E0NzAxNUY3NTJGOTQxMjczMzU3QTUxMkYxMjczMzUwMjY5RjA3NTJGOTQxMjczMzU3QTUxMkYxMjczMzU5RTQ0MTQyRDlEMjQxMjY5RjA3RTM0MTAyRDdEMjQyRDQzN0E0NzAxNUYxMjY5RjBCRTI1MjA3ODAzMDI1MDQ5MjJEMjBCN0UwNDEwMkQ3QTA3MDE1RjdBMDcwMTZGNzUyRjk0MTI3MzM1NzUyRjAwMTI3MzM1MjI3NTJGOTIxMjczMzVEMjA0MDlCMTAwMTRDQUI4NTQ4MkRBQjg3ODY4N0UzNzAxQ0I3RTI3MDFBRjJFMjQwMDAyMkQzMkJFMzQwNDAwMzgzNDdEMDIyRTA1MzA3QTA1MzA3QTM3MDFDQjdFMzcwMUM5N0Q0MzJENDJCRTQ0MjgyQzM4M0M3QTQ3MDFDOTdFMjQwMzAwMkUyNzAxQUYxQjM4MjAwQjM1N0E1MTJGMTI3MzM1MDI2QTYzNzUyRjk5MTI3MzM1MDlCMTAwMDQ1NEZBMTlCMTAwMDQzMDNCMEEwOUIxMDAxMDU0RkUxOUIxMDAxMEQyMTMyMjgwN0Y3QTUxMkYxMjczMzU5RTQ0MjgyRDlEMjQ3RTY0MDMwMDJFNjcwMUFGOUUyNDAwMDI0MDE3MUIzODYwMEIzNTEyNkE2MzdFMzQyNDJEN0QyNDJENDM3QTQ3MDFDOTAyNkE2MzdBMzlDMDdFMzQyNDJEN0EzOUQwMEIzNDFCNDQ4MEU1OUQzMjdDQjY1NDBGMjMyMzIzNDQwMzdBNjlCMDdBNzk3MDBCMzU3NTJGOTMxMjczMzU3QTcxMkYxMjczMzVCRDA0NjgyQjdBMDcwMUM5N0U0NzAxQ0IyRDQzN0E0NzAxQ0IyRTM1MzA3QTM1MzAyMkQyMDQwOUIxMDAxNDIwRTAxMzIyN0UwNDI0MkQ4MDI4N0UwNDI0MkQ4MDJBN0UwNDI0MkQ4MENGN0UwNzAxQ0I3RTI0MDNGRTlEMjAyODQwN0UwNzAxQzk3RTQ0MjgyRDdENjAwQjA0QkQwNDY4RDI3RDcwMEIwNEJEMDQ2OEQwN0Q1NDlENTBCRDI1NDAwMjdEMjU3RDMyMDlCMTAwMTRDQUI4NTQxRkI0MDEzMURBQjg3RTE5QjA3QTA5QjAwQjA0MUIyNDc4RTcwMjUxQTU3NTJGOTkxMjczMzUwOUIxMDAwNDU0RkExOUIxMDAwNDMwM0IwQTA5QjEwMDEwNTRGRTE5QjEwMDEwRDIxMzIyREFCODMwRTBEOEJEMzI2ODA3Q0FCODEyNTFBNURBQjgwMjUyQ0MwOUIxMDAxODdFQTA4ODc1MkY5MDEyNzMzNUY1MkYxMjczMzVBNUZENUU1MDBBNjgxREE1RkQ1RTUwMjA2ODA0RDI1QjgwMDJDMjVCQTVGRDVFNTA4MDY4MDREMjUzODAwMkMyNTMxMjQzMDIwMjYxMTM3NTJGOTExMjczMzUwOUIxMDAxNDdBQjEyRjEyNzMzNTIwRTAwOEQyMDQ3RUEwODAwMjYxMTNEMjA0MzBFMTA2N0VBMDgwMTI2MTEzQ0FCODVFQjAxQ0RBQjg2ODEyN0VBMEMwMDk2MTAwMDAxMjYxMzYwOUIxMDAxNDIwRTBEQjIyMDI1MUY5NzUyRjk1MTI3MzM1MjI3NTJGOTYxMjczMzUyMjEwMEMwMTIyMjAyQzAzRDIwQzIyNzUyRkE0MTI3MzM1N0UxNDg0MDA4MDA2MjAyQzAzRDIwQzIyMDlCMTAwMTRDQUI4NUVCMDFFREFCODY4MDMxMjU1RjkzMDM0MDYyMEU2NEZEMjBDMjIzMEU2MDJEMjY0N0UzNzAxODE3RTI3MDFBMTlEMzI0MDMxN0QwMjJFMDUzQTdBMDUzQTdBMzcwMTgxN0UzNzAxNjE3RDQzMkQ0MkJFNDQxODJDMzg2ODdBNDcwMTYxNzUyRjk0MTI3MzM1N0E1MTJGMTI3MzM1MTI2OUYwMTA2NEM0MjJDMjY0MkQyMzY4Nzg2RDMzODAxQTdFMjcwMTgxQkUyNDAwMDA2ODZBQkUyNzAxQTEyODA0N0UyNzAxQTE3RTM3MDE4MTlEMzI3RDAyMkUwNTNBN0EwNTNBN0EzNzAxODE3RTM3MDE2MTdENDMyRDQyQkU0NDE4MkMzODEzN0E0NzAxNjE3NTJGOTQxMjczMzU3QTUxMkYxMjczMzUwMjY5RjA3NTJGOTQxMjczMzU3QTUxMkYxMjczMzU5RTQ0MTgyRDlEMjQxMjY5RjA3RTM0MTQyRDdEMjQyRDQzN0E0NzAxNjExMjY5RjBCRTI1MjA3ODAzMDI1Mzc2MjJEMjBDN0UwNDE0MkQ3QTA3MDE2MTdBMDcwMTcxNzUyRjk0MTI3MzM1NzUyRjAwMTI3MzM1MjI3NTJGOTIxMjczMzVEMjA0MDlCMTAwMTRDQUI4NTQ4MkRBQjg3ODY4N0UzNzAxQ0I3RTI3MDFCMTJFMjQwMDAyMkQzMkJFMzQwNDAwMzgzNDdEMDIyRTA1MzA3QTA1MzA3QTM3MDFDQjdFMzcwMUM5N0Q0MzJENDJCRTQ0MjgyQzM4M0M3QTQ3MDFDOTdFMjQwNDAwMkUyNzAxQjExQjM4MjAwQjM1N0E1MTJGMTI3MzM1MDI2QTYzNzUyRjk5MTI3MzM1MDlCMTAwMDQ1NEZBMTlCMTAwMDQzMDNDMEEwOUIxMDAxMDU0RkUxOUIxMDAxMEQyMTQyMjgwN0Y3QTUxMkYxMjczMzU5RTQ0MjgyRDlEMjQ3RTY0MDQwMDJFNjcwMUIxOUUyNDAwMDI0MDE3MUIzODYwMEIzNTEyNkE2MzdFMzQyNDJEN0QyNDJENDM3QTQ3MDFDOTAyNkE2MzdBMzlDMDdFMzQyNDJEN0EzOUQwMEIzNDFCNDQ4MEU1OUQzMjdDQjY1NDBGMjMyMzIzNDQwNDdBNjlCMDdBNzk3MDBCMzU3NTJGOTMxMjczMzU3QTcxMkYxMjczMzVCRDA0NjgyQjdBMDcwMUM5N0U0NzAxQ0IyRDQzN0E0NzAxQ0IyRTM1MzA3QTM1MzAyMkQyMDQwOUIxMDAxNDIwRTAxMzIyN0UwNDI0MkQ4MDI4N0UwNDI0MkQ4MDJBN0UwNDI0MkQ4MENGN0UwNzAxQ0I3RTI0MDNGRTlEMjAyODQwN0UwNzAxQzk3RTQ0MjgyRDdENjAwQjA0QkQwNDY4RDI3RDcwMEIwNEJEMDQ2OEQwN0Q1NDlENTBCRDI1NDAwMjdEMjU3RDMyMDlCMTAwMTRDQUI4NTQxRkI0MDEzMURBQjg3RTE5QjA3QTA5QjAwQjA0MUIyNDc4RTcwMjU0RDI3NTJGOTkxMjczMzUwOUIxMDAwNDU0RkExOUIxMDAwNDMwM0MwQTA5QjEwMDEwNTRGRTE5QjEwMDEwRDIxNDIyREFCODMwRTBEOEJEMzI2ODA3Q0FCODEyNTREMkRBQjgwMjU1RjkwOUIxMDAxODdFQTA4ODc1MkY5MDEyNzMzNUY1MkYxMjczMzVBNUZENUU1MDBBNjgxREE1RkQ1RTUwMjA2ODA0RDI1QzgwMDJDMjVDQTVGRDVFNTA4MDY4MDREMjU0ODAwMkMyNTQxMjQzMTkwMjYxMTM3NTJGOTExMjczMzUwOUIxMDAxNDdBQjEyRjEyNzMzNTIwRTAwOEQyMDQ3RUEwODAwMjYxMTNEMjA0MzBFMTA2N0VBMDgwMTI2MTEzQ0FCODVFQjAxQ0RBQjg2ODEyN0VBMEMwMDk2MTAwMDAxMjYxMzYwOUIxMDAxNDIwRTBEQjIyMDI1NTI2NzUyRjk1MTI3MzM1MjI3NTJGOTYxMjczMzUyMjEwMEQwMTIyMjAyRDAzRDIwRDIyNzUyRkE1MTI3MzM1N0UxNDg1MDA4MDA2MjAyRDAzRDIwRDIyMDlCMTAwMTRDQUI4NUVCMDFFREFCODY4MDMxMjU5MjYzMDM1MDYyMEU2NEZEMjBEMjIzMEU2MDJEMjY1N0UzNzAxODM3RTI3MDFBMzlEMzI0MDMxN0QwMjJFMDUzQzdBMDUzQzdBMzcwMTgzN0UzNzAxNjM3RDQzMkQ0MkJFNDQxQzJDMzg2ODdBNDcwMTYzNzUyRjk0MTI3MzM1N0E1MTJGMTI3MzM1MTI2OUYwMTA2NUM0MjJDMjY1MkQyMzY4Nzg2RDMzODAxQTdFMjcwMTgzQkUyNDAwMDA2ODZBQkUyNzAxQTMyODA0N0UyNzAxQTM3RTM3MDE4MzlEMzI3RDAyMkUwNTNDN0EwNTNDN0EzNzAxODM3RTM3MDE2MzdENDMyRDQyQkU0NDFDMkMzODEzN0E0NzAxNjM3NTJGOTQxMjczMzU3QTUxMkYxMjczMzUwMjY5RjA3NTJGOTQxMjczMzU3QTUxMkYxMjczMzU5RTQ0MUMyRDlEMjQxMjY5RjA3RTM0MTgyRDdEMjQyRDQzN0E0NzAxNjMxMjY5RjBCRTI1MjA3ODAzMDI1NkEzMjJEMjBEN0UwNDE4MkQ3QTA3MDE2MzdBMDcwMTczNzUyRjk0MTI3MzM1NzUyRjAwMTI3MzM1MjI3NTJGOTIxMjczMzVEMjA0MDlCMTAwMTRDQUI4NTQ4MkRBQjg3ODY4N0UzNzAxQ0I3RTI3MDFCMzJFMjQwMDAyMkQzMkJFMzQwNDAwMzgzNDdEMDIyRTA1MzA3QTA1MzA3QTM3MDFDQjdFMzcwMUM5N0Q0MzJENDJCRTQ0MjgyQzM4M0M3QTQ3MDFDOTdFMjQwNTAwMkUyNzAxQjMxQjM4MjAwQjM1N0E1MTJGMTI3MzM1MDI2QTYzNzUyRjk5MTI3MzM1MDlCMTAwMDQ1NEZBMTlCMTAwMDQzMDNEMEEwOUIxMDAxMDU0RkUxOUIxMDAxMEQyMTUyMjgwN0Y3QTUxMkYxMjczMzU5RTQ0MjgyRDlEMjQ3RTY0MDUwMDJFNjcwMUIzOUUyNDAwMDI0MDE3MUIzODYwMEIzNTEyNkE2MzdFMzQyNDJEN0QyNDJENDM3QTQ3MDFDOTAyNkE2MzdBMzlDMDdFMzQyNDJEN0EzOUQwMEIzNDFCNDQ4MEU1OUQzMjdDQjY1NDBGMjMyMzIzNDQwNTdBNjlCMDdBNzk3MDBCMzU3NTJGOTMxMjczMzU3QTcxMkYxMjczMzVCRDA0NjgyQjdBMDcwMUM5N0U0NzAxQ0IyRDQzN0E0NzAxQ0IyRTM1MzA3QTM1MzAyMkQyMDQwOUIxMDAxNDIwRTAxMzIyN0UwNDI0MkQ4MDI4N0UwNDI0MkQ4MDJBN0UwNDI0MkQ4MENGN0UwNzAxQ0I3RTI0MDNGRTlEMjAyODQwN0UwNzAxQzk3RTQ0MjgyRDdENjAwQjA0QkQwNDY4RDI3RDcwMEIwNEJEMDQ2OEQwN0Q1NDlENTBCRDI1NDAwMjdEMjU3RDMyMDlCMTAwMTRDQUI4NTQxRkI0MDEzMURBQjg3RTE5QjA3QTA5QjAwQjA0MUIyNDc4RTcwMjU3RkY3NTJGOTkxMjczMzUwOUIxMDAwNDU0RkExOUIxMDAwNDMwM0QwQTA5QjEwMDEwNTRGRTE5QjEwMDEwRDIxNTIyREFCODMwRTBEOEJEMzI2ODA3Q0FCODEyNTdGRkRBQjgwMjU5MjYwOUIxMDAxODdFQTA4ODc1MkY5MDEyNzMzNUY1MkYxMjczMzVBNUZENUU1MDBBNjgxREE1RkQ1RTUwMjA2ODA0RDI1RDgwMDJDMjVEQTVGRDVFNTA4MDY4MDREMjU1ODAwMkMyNTUxMjQzMzAwMjYxMTM3NTJGOTExMjczMzUwOUIxMDAxNDdBQjEyRjEyNzMzNTIwRTAwOEQyMDQ3RUEwODAwMjYxMTNEMjA0MzBFMTA2N0VBMDgwMTI2MTEzQ0FCODVFQjAxQ0RBQjg2ODEyN0VBMEMwMDk2MTAwMDAxMjYxMzYwOUIxMDAxNDIwRTBEQjIyMDI1ODUzNzUyRjk1MTI3MzM1MjI3NTJGOTYxMjczMzUyMjEwMEUwMTIyMjAyRTAzRDIwRTIyNzUyRkE2MTI3MzM1N0UxNDg2MDA4MDA2MjAyRTAzRDIwRTIyMDlCMTAwMTRDQUI4NUVCMDFFREFCODY4MDMxMjVDNTMzMDM2MDYyMEU2NEZEMjBFMjIzMEU2MDJEMjY2N0UzNzAxODU3RTI3MDFBNTlEMzI0MDMxN0QwMjJFMDUzRTdBMDUzRTdBMzcwMTg1N0UzNzAxNjU3RDQzMkQ0MkJFNDQyMDJDMzg2ODdBNDcwMTY1NzUyRjk0MTI3MzM1N0E1MTJGMTI3MzM1MTI2OUYwMTA2NkM0MjJDMjY2MkQyMzY4Nzg2RDMzODAxQTdFMjcwMTg1QkUyNDAwMDA2ODZBQkUyNzAxQTUyODA0N0UyNzAxQTU3RTM3MDE4NTlEMzI3RDAyMkUwNTNFN0EwNTNFN0EzNzAxODU3RTM3MDE2NTdENDMyRDQyQkU0NDIwMkMzODEzN0E0NzAxNjU3NTJGOTQxMjczMzU3QTUxMkYxMjczMzUwMjY5RjA3NTJGOTQxMjczMzU3QTUxMkYxMjczMzU5RTQ0MjAyRDlEMjQxMjY5RjA3RTM0MUMyRDdEMjQyRDQzN0E0NzAxNjUxMjY5RjBCRTI1MjA3ODAzMDI1OUQwMjJEMjBFN0UwNDFDMkQ3QTA3MDE2NTdBMDcwMTc1NzUyRjk0MTI3MzM1NzUyRjAwMTI3MzM1MjI3NTJGOTIxMjczMzVEMjA0MDlCMTAwMTRDQUI4NTQ4MkRBQjg3ODY4N0UzNzAxQ0I3RTI3MDFCNTJFMjQwMDAyMkQzMkJFMzQwNDAwMzgzNDdEMDIyRTA1MzA3QTA1MzA3QTM3MDFDQjdFMzcwMUM5N0Q0MzJENDJCRTQ0MjgyQzM4M0M3QTQ3MDFDOTdFMjQwNjAwMkUyNzAxQjUxQjM4MjAwQjM1N0E1MTJGMTI3MzM1MDI2QTYzNzUyRjk5MTI3MzM1MDlCMTAwMDQ1NEZBMTlCMTAwMDQzMDNFMEEwOUIxMDAxMDU0RkUxOUIxMDAxMEQyMTYyMjgwN0Y3QTUxMkYxMjczMzU5RTQ0MjgyRDlEMjQ3RTY0MDYwMDJFNjcwMUI1OUUyNDAwMDI0MDE3MUIzODYwMEIzNTEyNkE2MzdFMzQyNDJEN0QyNDJENDM3QTQ3MDFDOTAyNkE2MzdBMzlDMDdFMzQyNDJEN0EzOUQwMEIzNDFCNDQ4MEU1OUQzMjdDQjY1NDBGMjMyMzIzNDQwNjdBNjlCMDdBNzk3MDBCMzU3NTJGOTMxMjczMzU3QTcxMkYxMjczMzVCRDA0NjgyQjdBMDcwMUM5N0U0NzAxQ0IyRDQzN0E0NzAxQ0IyRTM1MzA3QTM1MzAyMkQyMDQwOUIxMDAxNDIwRTAxMzIyN0UwNDI0MkQ4MDI4N0UwNDI0MkQ4MDJBN0UwNDI0MkQ4MENGN0UwNzAxQ0I3RTI0MDNGRTlEMjAyODQwN0UwNzAxQzk3RTQ0MjgyRDdENjAwQjA0QkQwNDY4RDI3RDcwMEIwNEJEMDQ2OEQwN0Q1NDlENTBCRDI1NDAwMjdEMjU3RDMyMDlCMTAwMTRDQUI4NTQxRkI0MDEzMURBQjg3RTE5QjA3QTA5QjAwQjA0MUIyNDc4RTcwMjVCMkM3NTJGOTkxMjczMzUwOUIxMDAwNDU0RkExOUIxMDAwNDMwM0UwQTA5QjEwMDEwNTRGRTE5QjEwMDEwRDIxNjIyREFCODMwRTBEOEJEMzI2ODA3Q0FCODEyNUIyQ0RBQjgwMjVDNTMwOUIxMDAxODdFQTA4ODc1MkY5MDEyNzMzNUY1MkYxMjczMzVBNUZENUU1MDBBNjgxREE1RkQ1RTUwMjA2ODA0RDI1RTgwMDJDMjVFQTVGRDVFNTA4MDY4MDREMjU2ODAwMkMyNTYxMjQzNDcwMjYxMTM3NTJGOTExMjczMzUwOUIxMDAxNDdBQjEyRjEyNzMzNTIwRTAwOEQyMDQ3RUEwODAwMjYxMTNEMjA0MzBFMTA2N0VBMDgwMTI2MTEzQ0FCODVFQjAxQ0RBQjg2ODEyN0VBMEMwMDk2MTAwMDAxMjYxMzYwOUIxMDAxNDIwRTBEQjIyMDI1QjgwNzUyRjk1MTI3MzM1MjI3NTJGOTYxMjczMzUyMjEwMEYwMTIyMjAyRjAzRDIwRjIyNzUyRkE3MTI3MzM1N0UxNDg3MDA4MDA2MjAyRjAzRDIwRjIyMDlCMTAwMTRDQUI4NUVCMDFFREFCODY4MDMxMjVGODAzMDM3MDYyMEU2NEZEMjBGMjIzMEU2MDJEMjY3N0UzNzAxODc3RTI3MDFBNzlEMzI0MDMxN0QwMjJFMDU0MDdBMDU0MDdBMzcwMTg3N0UzNzAxNjc3RDQzMkQ0MkJFNDQyNDJDMzg2ODdBNDcwMTY3NzUyRjk0MTI3MzM1N0E1MTJGMTI3MzM1MTI2OUYwMTA2N0M0MjJDMjY3MkQyMzY4Nzg2RDMzODAxQTdFMjcwMTg3QkUyNDAwMDA2ODZBQkUyNzAxQTcyODA0N0UyNzAxQTc3RTM3MDE4NzlEMzI3RDAyMkUwNTQwN0EwNTQwN0EzNzAxODc3RTM3MDE2NzdENDMyRDQyQkU0NDI0MkMzODEzN0E0NzAxNjc3NTJGOTQxMjczMzU3QTUxMkYxMjczMzUwMjY5RjA3NTJGOTQxMjczMzU3QTUxMkYxMjczMzU5RTQ0MjQyRDlEMjQxMjY5RjA3RTM0MjAyRDdEMjQyRDQzN0E0NzAxNjcxMjY5RjBCRTI1MjA3ODAzMDI1Q0ZEMjJEMjBGN0UwNDIwMkQ3QTA3MDE2NzdBMDcwMTc3NzUyRjk0MTI3MzM1NzUyRjAwMTI3MzM1MjI3NTJGOTIxMjczMzVEMjA0MDlCMTAwMTRDQUI4NTQ4MkRBQjg3ODY4N0UzNzAxQ0I3RTI3MDFCNzJFMjQwMDAyMkQzMkJFMzQwNDAwMzgzNDdEMDIyRTA1MzA3QTA1MzA3QTM3MDFDQjdFMzcwMUM5N0Q0MzJENDJCRTQ0MjgyQzM4M0M3QTQ3MDFDOTdFMjQwNzAwMkUyNzAxQjcxQjM4MjAwQjM1N0E1MTJGMTI3MzM1MDI2QTYzNzUyRjk5MTI3MzM1MDlCMTAwMDQ1NEZBMTlCMTAwMDQzMDNGMEEwOUIxMDAxMDU0RkUxOUIxMDAxMEQyMTcyMjgwN0Y3QTUxMkYxMjczMzU5RTQ0MjgyRDlEMjQ3RTY0MDcwMDJFNjcwMUI3OUUyNDAwMDI0MDE3MUIzODYwMEIzNTEyNkE2MzdFMzQyNDJEN0QyNDJENDM3QTQ3MDFDOTAyNkE2MzdBMzlDMDdFMzQyNDJEN0EzOUQwMEIzNDFCNDQ4MEU1OUQzMjdDQjY1NDBGMjMyMzIzNDQwNzdBNjlCMDdBNzk3MDBCMzU3NTJGOTMxMjczMzU3QTcxMkYxMjczMzVCRDA0NjgyQjdBMDcwMUM5N0U0NzAxQ0IyRDQzN0E0NzAxQ0IyRTM1MzA3QTM1MzAyMkQyMDQwOUIxMDAxNDIwRTAxMzIyN0UwNDI0MkQ4MDI4N0UwNDI0MkQ4MDJBN0UwNDI0MkQ4MENGN0UwNzAxQ0I3RTI0MDNGRTlEMjAyODQwN0UwNzAxQzk3RTQ0MjgyRDdENjAwQjA0QkQwNDY4RDI3RDcwMEIwNEJEMDQ2OEQwN0Q1NDlENTBCRDI1NDAwMjdEMjU3RDMyMDlCMTAwMTRDQUI4NTQxRkI0MDEzMURBQjg3RTE5QjA3QTA5QjAwQjA0MUIyNDc4RTcwMjVFNTk3NTJGOTkxMjczMzUwOUIxMDAwNDU0RkExOUIxMDAwNDMwM0YwQTA5QjEwMDEwNTRGRTE5QjEwMDEwRDIxNzIyREFCODMwRTBEOEJEMzI2ODA3Q0FCODEyNUU1OURBQjgwMjVGODAwOUIxMDAxODdFQTA4ODc1MkY5MDEyNzMzNUY1MkYxMjczMzVBNUZENUU1MDBBNjgxREE1RkQ1RTUwMjA2ODA0RDI1RjgwMDJDMjVGQTVGRDVFNTA4MDY4MDREMjU3ODAwMkMyNTcxMjQzNUUwMjYxMTM3NTJGOTExMjczMzUwOUIxMDAxNDdBQjEyRjEyNzMzNTIwRTAwOEQyMDQ3RUEwODAwMjYxMTNEMjA0MzBFMTA2N0VBMDgwMTI2MTEzQ0FCODVFQjAxQ0RBQjg2ODEyN0VBMEMwMDk2MTAwMDAxMjYxMzYwOUIxMDAxNDIwRTBEQjIyMDI1RUFENzUyRjk1MTI3MzM1MjI3NTJGOTYxMjczMzUyMjdDMDI3RTE0ODAwMDRDMjAwOUIxMDAxOEE1RkQ1RTUwMjA2ODA0RDI1ODgwMDJDMjU4QTVGRDVFNTA4MDY4MDREMjUwODAwMkMyNTAwMjYwRkY3QzAyN0UxNDgwMDA0QzIwMDlCMTAwMThBNUZENUU1MDIwNjgwNEQyNTk4MDAyQzI1OUE1RkQ1RTUwODA2ODA0RDI1MTgwMDJDMjUxMDI2MEZGN0MwMjdFMTQ4MDAwNEMyMDA5QjEwMDE4QTVGRDVFNTAyMDY4MDREMjVBODAwMkMyNUFBNUZENUU1MDgwNjgwNEQyNTI4MDAyQzI1MjAyNjBGRjdDMDI3RTE0ODAwMDRDMjAwOUIxMDAxOEE1RkQ1RTUwMjA2ODA0RDI1QjgwMDJDMjVCQTVGRDVFNTA4MDY4MDREMjUzODAwMkMyNTMwMjYwRkY3QzAyN0UxNDgwMDA0QzIwMDlCMTAwMThBNUZENUU1MDIwNjgwNEQyNUM4MDAyQzI1Q0E1RkQ1RTUwODA2ODA0RDI1NDgwMDJDMjU0MDI2MEZGN0MwMjdFMTQ4MDAwNEMyMDA5QjEwMDE4QTVGRDVFNTAyMDY4MDREMjVEODAwMkMyNURBNUZENUU1MDgwNjgwNEQyNTU4MDAyQzI1NTAyNjBGRjdDMDI3RTE0ODAwMDRDMjAwOUIxMDAxOEE1RkQ1RTUwMjA2ODA0RDI1RTgwMDJDMjVFQTVGRDVFNTA4MDY4MDREMjU2ODAwMkMyNTYwMjYwRkY3QzAyN0UxNDgwMDA0QzIwMDlCMTAwMThBNUZENUU1MDIwNjgwNEQyNUY4MDAyQzI1RkE1RkQ1RTUwODA2ODA0RDI1NzgwMDJDMjU3MDI2MEZGNTRGMEM0QTVGRkM0QTU0Rjc1MkY5MDEyNzMzNUY1MkYxMjczMzUyMkNBMTk1RTIwMDc0Q0EyN0U3NDJDMkRDQTc5N0E3OUEwMEI3NDdBNzlCMDBCNzREQTc5N0UzMDAyN0U2NDAwMDIwMjYxNUVDQTE5NUUyMDA3NENBMjdFNzQyQzJEQ0E3OTdBNzlBMDBCNzQ3QTc5QjAwQjc0N0E3OTYwMEI3NERBNzk3RTMwMDM3RTY0MDAwMzAyNjE1RUQyMDQ3RTI3MDFDQjJEMjZCRTI0MDQwMDM4MkU3RTA3MDFDOTdFNDQyODJEN0U3OUEwN0EwOUEwMEIwNDBCNzRCRDA0NjgyM0E1REJFRjdBMjcwMUNCN0UyNTMwMkQyNjdBMjUzMDdBMDcwMUM5REExOUMyRDcyMjc1MkY5QTEyNzMzNURBMTlEMkQ3MjI3RTA0MjQyRDgwRDc0OEYxNDY2NTQ3NUY0OTJBNDUyQTQ1MkE0ODU2NDUyQTQ5NkU0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDk3NTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTRDMUU0OTkyNEE4QzRDNTc0NTJBNDUyQTRCODM0NTJBNEM5QjQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0Q0EyNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNEY0QjRDQkY0REI5NEY4NDQ1MkE0NTJBNEVCMDQ1MkE0RkM4NDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTRGQ0Y0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE1Mjc4NEZFQzUwRTY1MkIxNDUyQTQ1MkE1MURENDUyQTUyRjU0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNTJGQzQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTU1QTU1MzE5NTQxMzU1REU0NTJBNDUyQTU1MEE0NTJBNTYyMjQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE1NjI5NDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNThEMjU2NDY1NzQwNTkwQjQ1MkE0NTJBNTgzNzQ1MkE1OTRGNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTU5NTY0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE1QkZGNTk3MzVBNkQ1QzM4NDUyQTQ1MkE1QjY0NDUyQTVDN0M0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNUM4MzQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTVGMkM1Q0EwNUQ5QTVGNjU0NTJBNDUyQTVFOTE0NTJBNUZBOTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE1RkIwNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBQ0FCODc1MkYwMjEyNzMzNTdFQjM5MTAzMjBFNTIwMzBFMDA1MTI2QjA1ODAzMDMwRTEwNTEyNjQ4NjgwMjgzMEUyMDUxMjYzRjU4MDIwMzBFMzFEMTI2NTYxODAxODdFQjM5MTA0MzBFMTAzMDI2NzVGMzBFNjA1MTI2QzZBODAwNjIwRTIwMzAyMDA4MERBQjgzMjc1MkYxMDEyNzMzNUNBMEJDQTM5Q0E1OTc0NDA3QUIzOTEwMDdFQjM5MTFBNkNBQUJFQjA0MDI4MEExMjY0MjREQTU5REEzOURBMEIyMjc0MjA3QUIzOTExNDgwRjE3RTM3MDFDNTJEMzVCRTM0MDQwMDM4MkY3QTM3MDFDNTdFMzcwMUMzN0Q0MzJENDVCRTQ0MkMyQzM4MjU3QTQ3MDFDMzc1MkYxMTEyNzMzNTdBQjEyRjEyNzMzNTEyNjc5Rjc0MjA3QUIzOTExNDEyNjYzMDIyNzUyRjE2MTI3MzM1ODBGNDc1MkYxMjEyNzMzNTdBQjEyRjEyNzMzNTlFNDQyQzJEOUQ1NDEyNjc5RjdFMzQyODJEN0Q1NDJENDM4MEJDNzUyRjE4MTI3MzM1Q0EwOUNBMzlDQTJCNzQyMDdBQjM5MTAwN0U2MzkxMUE3NDEwN0FCMzkxMTQ3RUIwODA5Q0I2NjAzODZDQUE3RTM3MDFDQjlEMzU0MDM3N0EzNzAxQ0I3RTM3MDFDNzdENDMyRDQ1QkU0NDI4MkMzODNCN0E0NzAxQzc3RDQ1MTI2OEQ0N0VCMzkxMUUyMEU1MTM3NTJGMTkxMjczMzU3QTkxMkYxMjczMzVEQTJCREEzOURBMDkyMjgwMzQyRDUzNkQzMzYwMDI4MEMxN0UwNDI0MkQ3QTA3MDFDOTdBMDcwMUM3ODBFMUNBNTk5RTQ0MjgyRDlENTQxMjY4RDQ3RTM0MjQyRDdENTQyRDQzN0E0NzAxQzcxMjY4RDREQTQ5ODBCMDdFMEYyQzNFMEIwQzdBMEYyQzNFNzQyMDdBQjM5MTFFNzQ2MDdBQjM5MTFDNzQwMjdBQjM5MTEyODBBNTdFMkYyQzVFMEIyQzdBMkYyQzVFNzQyMDdBQjM5MTFFNzQ2MDdBQjM5MTFDNzQwMjdBQjM5MTEyODAxRkRBMkJEQTFCREEwQjIyNzUyRjI4MTI3MzM1Q0EwQkNBMUJDQTJCNzQ2MDdBQjM5MTAwNzQxMDdBQjM5MTE0N0VCMzkxMUE3MERCN0UwRDMwN0UxRDM0N0UyRDM4N0UzRDNDN0U4NTQwN0Q5MDREOTE0RDkyNEQ5MzREOTQ0RDk1NEQ5NjREOTc0RDk4NjhCODdBMTM5MTE3N0EwMzkxMTc3QTMzOTExNzdBMjM5MTE3N0E1MzkxMTc3QTQzOTExNzdBNzM5MTE3N0E2MzkxMTc3QTkzOTExNzdBODM5MTE3MzA3MzIyN0FCMzkxMTc3QUEzOTExNzdBRDM5MTE3N0FDMzkxMTc3QUYzOTExNzdBRTM5MTE3N0Q3ODdBRjM5MTE3N0FFMzkxMTc3RUIzOTExRTMwRTUwMzAyNjUzQzc1MkYyOTEyNzMzNTIwNzMwODc1MkYwQTEyNzMzNTgwMDY3NTJGMTIxMjczMzU3NDgwN0FCMzkxMUU2RDAwN0QxMDdBMEQzMDdBMEQzNDdBMEQzODdBMEQzQzdBMDU0MERBMkJEQTFCREEwQjIyN0UzNzAxQzU0RDMzNjgzQjdFMDcwMUMxN0U1NDJDMkQ5RDUwQkQzNTQwMDI3RDM1Q0EzOTdFNjU0Qjk5NjREQTM5N0UwNzAxQzU5RDAzN0EwNzAxQzUyRTM3MDFDMTdBMzcwMUMxQkUzNDJDMkMyOEM3N0UzNDI4MkQ3QTM3MDFDMTgwQkQyMjc1MkY1MzEyNzMzNTdFMTU0RDgwMTE3NTJGNTExMjczMzUwQjA4MTAwQjA1OUUzNDAwMDIyODREN0NCMjIwRTcyNzU0MDcyMzBBMkI0OTIyMzkxRTdDQjI1NDc4MDMwMzAzN0MyQjlEMTM0MDFBNjgxMjdBMTU0RDdBMjU0RjdFNjQ2NzA5N0E2NTRCODkyNDAyNjcxNzdFNjQ2NjdGODBGMjJEMTM5RDMxQ0EzOTdEMzEyRDEwQ0ExOUNBMjk5OTI0REEyOURBMDlEQTM5ODBBMjdBMTU0RDdFNjQ2NkY1NEQzMzc4MDk3Q0IyMjBFNzJBN0U2NDY2NzQ3QTY1NEIyMjc1MkY1MjEyNzMzNTdFMjE0RDdFMDkzMDBCMDQxQjM0Nzg4OTgwRDQ3NTJGNTQxMjczMzU3RTE1NEQ3RTI1NEY4MDkwNUUyMDA3NTQ3ODdFNDQ2NzdEMzBFNjE2NEQzMzY4MjYxQjM0N0UwOTQwMEIwNDdFNDQzNEZBMjBFMzA0N0U0NDY3ODVDQTA5Q0EzOTk5NDREQTM5REEwOTdFNjQ2NjdGNEQzMzY4QTY4OTY0N0ExNTRERjU0RjdFNjQ2NzU4ODA5OTdFMTU0REU1NEY4MEM0QzBEMEMwRDFDMEUwQ0ExOTc1MkZGRTEyNzMzNTdFMTQwMDUzMDI0MDUyREExOUQwRTBEMEQxRDBEMDMyMDNBNUNCMTlCMTgwMDAyMjIyN0UyNDAwMDA3RkUxN0VBMDAyQTQ3RTA0NjhCMTlEMDU3RUIwMjg3QUIzOTUwMDg5MDRDQTI5QjQ4MEUyN0UyNDAwMDA3RkUxN0UwMDI4N0EwMzk1MDBFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBMzdFMDAwMDdBMDM5NTAwREEyOTIyN0UyNDAwMDA3RkUxN0VBMDAyQTQ3RTA0NjlFNjlEMDU3RUIwMzg3QUIzOTUwMDg5MDRDQTI5QjQ4MEUyN0UyNDAwMDA3RkUxN0UwMDM4N0EwMzk1MDBFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBMzdFMDAwMDdBMDM5NTAwREEyOTIyQ0EyOUNBMTlDQTU4N0UyNDAwMDA3RkUxREE1ODdFNTQwMjIwOUNCNUE0N0U1MDMwNUUyMDA3MkM1MjdBNTM5NTAwMkU1NDZBMTc4OTU0RTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTM3RTAwMDA3QTAzOTUwMERBMTlEQTI5MjJDQTE5Q0E1ODdFMjQwMDAwN0ZFMURBNTg3RTU0MDIzODlDQjVBNDdFNTAyMDVFMjAwNzJDNTI3QTUzOTUwMDJFNTQ2QTg4ODk1NEUwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzN0UwMDAwN0EwMzk1MDBEQTE5MjIwMjZCQThDQTBCQ0ExQkNBMkJDQTNCQ0E0QkNBNUJDQTZCQ0E3QkNBRUI3NDAwN0FCMzkxMDA3RUIzMkM3RkI0MDAwMjgwMUNCNDAxMTk3RUIzOTExNDU0MTQ2ODA1MTI2QjZDODAyMzdFQjM5MTE0MzBFNTFDMTI2Q0FBODAxNzdFQjM5MTE0MzBFNTA1MTI2Q0FBODAwQjdFQjM5MTE0NTQxNDY4MDMxMjZCNkNEQUVCREE3QkRBNkJEQTVCREE0QkRBM0JEQTJCREExQkRBMEIyMjIwRTQxOTc1MkYwQTEyNzMzNTdFQjMyQzdFNzAwQTdFQjMyQzdGQjQwMTFGMDI2QzA0MDI3MUYyNzUyRjBCMTI3MzM1NzQxNDdBQjM5MTE0N0VCMzJDN0ZCNDAyMEMxMjZCQjQwMjZCQTg3NDA0N0FCMzkxMTQyMjdFMDAwMDdBMDMyQzdGN0EwMzJDODAyMjdFQjMyQzc2NTQ2MDYwMDVCNDQwMUU4MDFDN0VCMzJDNzdCNDA1MTU3NTJGNzExMjczMzU3RUIzMkM3OTdFQTAwMTdBQTM5MTA2N0FCMzkxMDcyMjc0MDA3QUIzOTEwMDc0MTA3QUIzOTExMjIyQkU1NzJDN0MyODA0N0U1NzJDN0M3QTBGMkM4MjdBNTcyQzg2NzQxMDdBQjM5MTEyMjI3NDAwN0FCMzkxMDA3RUIzOTExQTcwNTM3RUIzOTExNDIwRTQ0QzdFRUYyQzgyN0VGNzJDODY3RTA3MkM4NjREMDA2ODIxN0UwMDAwRTA3QUIzOTExN0EzQTUwODFCRjQ2ODA2QTVCODEwRjA4MDE5N0VCMDAwN0FCMzJDN0ZCRTAwMTA2ODBEN0VCMDAwN0FCMzJDN0Y3NDgwN0FCMzkxMUU3QUVGMkM4MjdBRjcyQzg2NzUyRjA2MTI3MzM1NzQwNDdBQjM5MTE0MjJDQTBCQ0ExQkNBMkJDQTNCQ0E0QkNBNUJDQTZCQ0E3QkNBRUI3NTJGMDMxMjczMzU3NDAwN0FCMzJDN0U3NDAwN0FCMzkxMDA3NDAxN0FCMzkxMTIxMjZEMTlEQUVCREE3QkRBNkJEQTVCREE0QkRBM0JEQTJCREExQkRBMEIyMjc1MkYwMzEyNzMzNTdFQjMyQzgwQjQwMjExNzQwMDdBQjMyQzgwN0FCMzJDN0Y3NDIwN0FCMzkxMTQyMkI0MDE0NjdFQjM5MTA0MjBFNjQyN0UyMzkxMUE3QzMyN0UxMzJDODEyQzIxN0EyMzJDODE3RTAwMDAyRTA0MkM4ODdFQjM5MTE2N0EwOUIwMEIwNEE1REJGNDc0MjA3QUIzOTExNDc1MkY3MDEyNzMzNTdFQjMyQzgxN0VBMzJDN0RCQ0FCNzgwMzEyNkRCOTIyMDI3MUYyREE1OTAyNkM3Qzc0RTA3QUIzOTEwMDdFMDM5MTEwN0UxMzkxMTE3RTMzOTExMjdFMjM5MTEzN0U1MzkxMTQ3RTQzOTExNTdFNzM5MTE2N0U2MzkxMTc3QTBGMkM3NjdBMUYyQzdBNzUyRjA0MTI3MzM1N0EwMTJGMTI3MzM1N0ExMTJGMTI3MzM1N0EyMTJGMTI3MzM1N0EzMTJGMTI3MzM1N0E0MTJGMTI3MzM1N0E1MTJGMTI3MzM1N0E2MTJGMTI3MzM1N0E3MTJGMTI3MzM1NzQwMDdBQjM5MTAwNzQ0MDdBQjM5MTA0MTI2RDhEMjI2RDAwN0UxNDAxMDI3QTA3MkM4NjdBMDMyQzgxN0VCMzJDNzYyMEU3MEY3QTIzMkM4MDdBMzMyQzdGQkUwNzJDN0M2ODA5MjI3QTMzMkM4MDdBMjMyQzdGN0VCMzJDNzY1NEUzMjMyMzMwRTAwMkQyRTUzMEU3MDJEMkU0MzBFNTA2MzBFNDAzMDI3MUYyNTQzRUY1RjAwMzU0MUZDMzI1RjA5MDZERTU3NTg0RkY3MzAyNkZBMDAyNkUyRDAyNzAzOTAyNzA1NDAyNkYzNzAyNkVDMjAyNzA4NTAyNzA4NTAyNzA4ODAyNzA4ODAyNzA4ODAyNzA4ODAyNzA4ODAyNzA4ODAyNzA4ODAyNzA4ODAyNzA4RTAyNzE2MDAyNzA4QjAyNzA4QjAyNzA4QjAyNzA4QjAyNzA4QjAyNzA4Qjc0MDA3QUIzOTEwMDc0NjA3QUIzOTExQzdFQjMyQzc3QjQwNjJBN0VCMzJDNzg2MDc5N0MwQjdFMTMyQzc5N0UxNzJDN0E3NTJGNzIxMjczMzU3QTAxMkYxMjczMzU3QTExMkYxMjczMzUxMjcyMzc0MDU4MDI2QkVCQjQwODFDNzUyRjc0MTI3MzM1N0VCMzNGRjE3RTA4MkM4ODdBMEMwMDAwN0EwQkIwN0U1NDAwMDEwMjZCRUJCNDAwMzM3NTJGNzUxMjczMzU3RTA4MkM4ODdBMEMwMDAwQ0EwQjdFQjMzRkYyMzBFMDA3NzQwMjdBMEJCMDgwMDU3NDAwN0EwQkIwMEIxNDc0MDA3QTBCQjA3RTU0MDAwMkRBMEIwMjZCRUIwMjcxRjI3NDAwN0FCMzkxMDA3NDYwN0FCMzkxMUM3RUIzMkM3N0I0MDA1Rjc1MkY3NjEyNzMzNTdFQjMyQzdCNTQwRkI0MDIwNTdFQjA2MDgwMTdCNDAwMDU3RUIwMDA4MDBGN0VCMzJDN0IyMEU3MDU3RUIwNDA4MDAzN0VCMDIwN0FCMzkxMDA3RUIzOTExMTMwRTAwNDc0MDE4MDAyNzQwMDdFMDgyQzg4N0EwQzAwMDBDQTBCN0EwQkIwMEIxNDc0MDA3QTBCQjA3NDAwN0FCMzkxMDA3RTU0MDAwMkRBMEIwMjZCRUIwMjcxRjI3RUIzMkM3QjU0MEZCNDAyMDU3RUIwNjA4MDE3QjQwMDA1N0VCMDAwODAwRjdFQjMyQzdCMjBFNzA1N0VCMDQwODAwMzdFQjAyMDdBQjM5MTAwN0VCMzJDNzlCNDAwMjY3RUIzMkM3N0I0MDEwRTc1MkY3NzEyNzMzNTc0MDE3QUIzOTExMjgwMUJCNDAzMEU3NTJGNzgxMjczMzU3NDAxN0FCMzkxMTE4MDBBNzQwMDdBQjM5MTAwMTI3MUYyMjI3NDAwN0FCMzkxMDAwMjZCREU3RUIzMkM3N0I0MDkxRjc1MkY3OTEyNzMzNTdFQjMyQzc5QkVCMzNGRjE2ODBEQ0FCODEyNDM3OURBQjg1MDc2N0FCMzNGRjE4MDZEQjQwNTA4NzUyRjdBMTI3MzM1ODA2MkI0MDMxOTc1MkY3QjEyNzMzNTdFQjMyQzc5QjQwMTU1N0VCMzNGRjI0NDAxN0FCMzNGRjI4MDQ2QjQwMTE5NzUyRjdDMTI3MzM1N0VCMzJDNzlCNDAxMzk3RUIzM0ZGMjU0RkU3QUIzM0ZGMjgwMkFCNDA3MkE3RUIzMkM3ODYwMjQ3QzBCN0UxMzJDNzk3RTE3MkM3QTc1MkY3MzEyNzMzNTdBMDEyRjEyNzMzNTdBMTEyRjEyNzMzNTEyNzI3MTQwMDMwMjZCREUwMjcxRjI3RUIzMkM3N0I0MEJGNjc1MkY3RDEyNzMzNTdFQjMyQzc5N0VBMzJDN0I0Q0FCNzhFNDgwREY3NDAwN0FCMzkxMDA3NDYwN0FCMzkxMUM3RUIzMkM3N0I0MEFDRjc1MkY3RTEyNzMzNTdFQjMyQzc5NzBDMzdFMDgyQzg4N0EwQzAwMDA3QTBCQjA3RTU0MDAwMTAyNkJFQjAyNzFGMjAyNzFGMjAyNzFGMjdFQjMyQzc3QjQwNDIwNzUyRkMzMTI3MzM1N0UwNDAwMDE3RTE3MkM3ODdFMTgyQzg4N0ExQzAwMDA3RTQ3MkM3QzEyNzM0MTAyNzE1QUI0MDY0Mjc1MkZDMTEyNzMzNTdFNTgwMDAwN0E1QzAwRkU3RENBN0VENzJDNzg3RTc4MkM4ODdBN0MwMDAwN0U3NzJDN0M3NTJGQzExMjczMzVDMEE4QzJBRjdFNDAwMTdBNDM5NDAwMTI3MzdBN0U0MzJDMzU3QTQzOTQwMEQwQTg0MDY1ODA2MEI0MDAyNEMyQUY3RUIwMDE3QUIzOTQwMDdBQjMyQzM1MTI2QkRFRTQ4REVGOERFRjhERUZENUUwRjdDMEQxQ0EwMkZGQ0EwNjAwMDAzMkI0MDkyMDc0MDM3QUIzOTEwNjdFMjM5MTA3N0U1NzJDNzg0RDU1NjgwNTRFMjAwMjgwMDM1RTIwRkQ3QTIzOTEwNzgwMTZCNDA3MTZDMkFGN0UwNzJDN0E3RTE3MkM3OEMwRDFDQTE4Q0EzOENBMjgzMjAyNkJERTAyNzFGMjc0MDA3QUIzOTEwMDc0NjA3QUIzOTExQzdFQjMyQzc3QjQwMzE1NzUyRkMyMTI3MzM1N0UwNDAwMDE3RTE3MkM3ODdFNTcyQzdDMDI2QkVCQjQwNTQxNzUyRkMwMTI3MzM1QzBBOEMyQUY3RTQwMDE3QTQzOTQwMDdFMDgyQzg4N0EwQzAwMDA3RTI0MDBGRTdFMzcyQzc4N0U0NzJDN0MxMjczNDE3RTQzMkMzNTdBNDM5NDAwRDBBODdFMDgyQzg4N0EwQzAwMDA3RTU3MkM3QzAyNkJFQkI0MDEyMDdFMDAwMDdFMTAwMTc1MkY3MjEyNzMzNTdBMDEyRjEyNzMzNTdBMTEyRjEyNzMzNTEyNzIzNzQwMDMwMjZCRUIwMjcxRjI3NTJGMDcxMjczMzU3RUIwMDI3QUIzOTAwMDc0MDA3QUIzOTEwMDc0NDA3QUIzOTExNTc0MDE3QUIzOTExMTdFQjM5MTE1NTQ2MEJFQjA0MDY4MDg3NDIwN0FCMzkxMTU4MEVENzQwMTdBQjM5MTEyNzQwNDdBQjM5MTE0NzRGRjdBQjMyQzdFMjJDMEE4QzJBRjdFNDAwMTdBNDM5NDAwMTI3MkJFNDAxRjdFMDgyQzg4N0EwQzAwMDBDQTBCQ0E0OTEyNzM0MURBNTlEQTBCN0U0MzJDMzU3QTQzOTQwMEQwQThDMzIyN0U0MzJDMzU3QTQzOTQwMEQwQTgyMkMwQThDMkFGN0U0MDAxN0E0Mzk0MDAxMjcyQkU0MDMxN0U1ODAwMDA3QTVDMDBGRTdGNjE3RTc4MkM4ODdBN0MwMDAwN0U3NzJDN0NCRDc0NzgxNzc1MkZDMTEyNzMzNTEyNzM3QTQwMEM3RTQzMkMzNTdBNDM5NDAwRDBBOEMzMjI3RTQzMkMzNTdBNDM5NDAwRDBBOEQzMjI3RTI0MDBGRTdFMzQ3RkNBMEIxQTUwQzVGMDdENjI3RDc1N0Q4NzdFMzQ3RkMyN0UxQkIwN0UzNDdGMDNCNDAxMDQ3RTM0N0ZDQzdFMUJCMEJDMEI1MDQ5M0UwMDNFMDAwQTUwMkQ3NTBCM0EzMDY5NTMwMDAyQkQzODUwMDIyRDM4QkMxQjUwMzAzRTEwM0UxMDBBNTEyRDM1Njk0MTAwMDIwQjFBMzBCRDM4NTAwMjJEMzhCRTQ0RkZGRjc4MDU3RTFCOTAwQTQ5NEQ0NDY4MENCRTQ0MDBGRjI4MDQ3RTQ0MDBGRkMzMjJEMzIyNzQKKzowMDA0N0ZDNjAwMDIwMDAzMDBCMgorOjAxNDg3MzM1MDBDQTA4N0UwMTJGN0EwMzNGRjBEQTA4MjI3RTFCQzA3QTBCQzAwQjE0MEIzNDFCNDQ3OEYyMjI3RjZGN0ZGMDFCRkM3QzU0N0QzMjgwMDhDQTFCQ0ExQkNBMUJDQTFCOUU0NDAwMTA1MEYyMkU0NDAwMTA2ODA2Q0E0ODFCNDQ3OEZBN0ZGNjg5RTRDQTZCNUVENDAwM0Y2ODIwN0U4NDAwNDA5RDhEREE2QkJEODczODE2Q0E3OTdENzgxMjczQTREQTc5NDAwODlENzg2ODAyODAwNUMyRDcyMkRBNkI3RUMwMDM3RUQwMDA3QUQzOTAwMDc0QUEzOUI1NTU1NTc0NTUzOUI1MkFBQTc0QTAzOUI1NTU1NTdFMDQwMDQwOUQ3MDUwMDYyRDcwN0QwNzZENzc3QzMxN0U3QjAwN0E2QjAwMEI3QzBCNkNBNUQ5RjM3RjE2MUIxQzdFNTQyNzEwN0UxQjEwQkMxMDY4MDYxQjU0NzhGNTgwMkY2RDAwN0MyMDdGMTY5RjEwN0YyNzlGMjA3RTJCMDA3RTFCMTBCQzAxNzgxOTBCMkMwQjFDQTVEQkVGN0NCNjIwRTAwNjZDREM3QUQzOTAwMDRENzc3ODkwQzJENzIyRDJENzIyMDAwNDAwMDQwMDAwMDYwNDAyMDQwMDAyMDEwNDAxMDIwMDAwMDAwMDAwMDAwMDAwMDIwMjAyMDIwMjA0MDAwODEwMDIxMDA0MDIwODAwMDEwMTA4N0UxODdGQkQ3QTFDMDBGRTBCMUEwMDVFMTAxRkJFMTAxNDM4MUEwQTUxMjM3RTE4NzQyNDdBMUMwMEZGMkQzNTBCMUE1MDYwMDhBNUI4MDIwMzRFQTAwODIyODBGRUNCCis6MDAwMDAwMDAwMUZGCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisvLyogRWRnZXBvcnQvNCBCaW5hcnkgSW1hZ2UKKy8vKiBHZW5lcmF0ZWQgYnkgSEVYMkMgdjEuMDYKKy8vKiBDb3B5cmlnaHQgKEMpIDE5OTggSW5zaWRlIE91dCBOZXR3b3JrcywgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vKglUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorLy8qCWl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisvLyoJdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKy8vKgkoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUvZWRnZXBvcnQvZG93bjMuYmluLmloZXggYi9maXJtd2FyZS9lZGdlcG9ydC9kb3duMy5iaW4uaWhleApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43OTM1ZTUyCi0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUvZWRnZXBvcnQvZG93bjMuYmluLmloZXgKQEAgLTAsMCArMSw4MTUgQEAKKzoxMDAwMDAwMDA0NTAwMDAwODczMjlBMDIyN0JGMDIyMUIyMDAwMDAwOEMKKzoxMDAwMTAwMDAwMDAwMjAwMUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzAKKzoxMDAwMjAwMDAwMDAwMjAxMUE4NTNGOEM4NTQwOEFDMEUwQzBEMEMwMjQKKzoxMDAwMzAwMEYwQzA4MkMwODNDMDAwQzAwMUMwMDJDMDAzQzAwNEMwQzEKKzoxMDAwNDAwMDA1QzAwNkMwMDdFNTNFMjQwOEY4RTY2MDJCRTUzRTI0MUYKKzoxMDAwNTAwMDEwRjhBNjgxRTUzRTc1RjAyMUE0MjQwNUY1ODJFNDM0NkMKKzoxMDAwNjAwMEY4RjU4Mzc4OENFNTgxMDRDMzk4Rjk5NDIyNDAwMzAyNjMKKzoxMDAwNzAwMDExRENFNkYwMDhBM0Q5RkE3NDA4MjUzRUY4MDUzRTA4MUQKKzoxMDAwODAwMEU2NTQ4MDcwMENFNTNFQjQwN0YzNzgwODc1M0UwMDgwQjYKKzoxMDAwOTAwMEVGRTUzRTI0MTBGODg2ODFFNTNFNzVGMDIxQTQyNDA1QTUKKzoxMDAwQTAwMEY1ODJFNDM0RjhGNTgzNzg4Q0U1ODEwNEMzOThGOUUwQUYKKzoxMDAwQjAwMEY2MDhBM0Q5RkFEMDA3RDAwNkQwMDVEMDA0RDAwM0QwRDMKKzoxMDAwQzAwMDAyRDAwMUQwMDBEMDgzRDA4MkQwRjBEMEQwRDBFMDMyQTYKKzoxMDAwRDAwMDMwMDE0RDMwQjQ0ODEwMDA0NTkwRkYwOEUwNTQyMEY4M0UKKzoxMDAwRTAwMDkwRkY0OEUwNTQyMEY5OTBGRjEwRTA1NDIwRkE5MEZGNzAKKzoxMDAwRjAwMDUwRTA1NDIwRkI3NDAwRjU4Mjc0RjhGNTgzRTBDOEYwRkEKKzoxMDAxMDAwMDY4NjAwMjdFMDRBM0UwQzlGMDY5NjAwMjdFMDRBM0UwOTcKKzoxMDAxMTAwMENBRjA2QTYwMDI3RTA0QTNFMENCRjA2QjYwMDI3RTA0NEEKKzoxMDAxMjAwMDIyQzBFMEMwRDBDMEYwQzA4MkMwODNDMDAwQzAwMUMwMDcKKzoxMDAxMzAwMDAyQzAwM0MwMDRDMDA1QzAwNkMwMDc3NDE1RjU4Mjc0NzAKKzoxMDAxNDAwMEY5RjU4M0UwNjAyMzc0NjZGNTgyNzRGOUY1ODNFMDE0QjEKKzoxMDAxNTAwMEYwNzAxNjc0RkZGMDc0MUNGNTgyNzRGOUY1ODNFMDYwOUEKKzoxMDAxNjAwMDA0MTRGMDcwMDRDMjkwODBGQzkwRkY5Mzc0ODFGMEU1NTkKKzoxMDAxNzAwMDgxOTRGRDQwMDMwMjExREM4NTQxOEQ4NTQyOEI3NEIyNzAKKzoxMDAxODAwMEY1ODI3NEZBRjU4M0UwQjQwMTFCQzA4MkMwODM5MEZGNEUKKzoxMDAxOTAwMDRBRTAzMEU3MkM5MEZGNEVFMDMwRTcyNUQwODNEMDgyNTQKKzoxMDAxQTAwMDc0MDJGMDgwMjBCNDAyMURDMDgyQzA4MzkwRkY3QUUwMDgKKzoxMDAxQjAwMDMwRTcwNTEyMjg0RTgwMDlEMDgzRDA4Mjc0MDNGMDgwODYKKzoxMDAxQzAwMDA0RDA4M0QwODJBM0UwQjQwMTFCQzA4MkMwODM5MEZGMUYKKzoxMDAxRDAwMDUyRTAzMEU3MkM5MEZGNTZFMDMwRTcyNUQwODNEMDgyMDQKKzoxMDAxRTAwMDc0MDJGMDgwMjVCNDAyMjJDMDgyQzA4MzkwRkY3QUUwQkUKKzoxMDAxRjAwMDMwRTcwNTEyMjg0RTgwMDlEMDgzRDA4Mjc0MDNGMDgwNDYKKzoxMDAyMDAwMDA5RDA4M0QwODI4MDAzMDIwMjkwNzQxNkY1ODI3NEY5QkIKKzoxMDAyMTAwMEY1ODNFMDIwMDRGMTIwMDIwMzMwMDFFQjc0MTlGNTgyMkMKKzoxMDAyMjAwMDc0RjlGNTgzRTAxNEZDRjBBM0UwRkRBM0UwRkU2NDA0QTAKKzoxMDAyMzAwMDcwMEZFQzcwNjI3RTAxMTIwMEM5N0MwQTdERkEwMjAyMjYKKzoxMDAyNDAwMDYxMTIwMEM5RUU2NDA0NjAxREVDNzA0QjdDMEFFRDE0NzEKKzoxMDAyNTAwMEZENzAxNUVFNjQwMjYwMDc3RTAyN0QzMjAyMDI2MTdFNEYKKzoxMDAyNjAwMDAxN0RGQTAyMDI2MTdDMEE3NDE5RjU4Mjc0RjlGNTgzNDIKKzoxMDAyNzAwMEVDRjBBM0VERjBBM0VFRjAxNDYwMTgyMEUxMEYyMDAxRTQKKzoxMDAyODAwMDA2RDJCMUMyQjA4MDEwQzJCMUQyQjA4MDBBQzJCMUMyMkYKKzoxMDAyOTAwMEIwODAwNEQyQjBEMkIxNzgxOTc5MDk3QTA3RTc3MDA0MzYKKzoxMDAyQTAwMEE2MDA4MDBCRTY2MDA4MTZFNjcwMDRFNzQ0ODBGNzA4QjUKKzoxMDAyQjAwMDA5REFFQUU1M0Q2MDEzMTRGNTNENzAwRUU1M0UyNDA4QzkKKzoxMDAyQzAwMEY4NzYwMDEyMTE1N0QyOENEMjhERDAwN0QwMDZEMDA1MDcKKzoxMDAyRDAwMEQwMDREMDAzRDAwMkQwMDFEMDAwRDA4M0QwODJEMEYwOUYKKzoxMDAyRTAwMEQwRDBEMEUwMzI5MEZGMDRFMDkwRkFCOUYwOTBGRjA2NTEKKzoxMDAyRjAwMEUwRkNBM0UwRkFFQ0ZGRUFGRUVGQzM5NDA4RUU5NDAxMDEKKzoxMDAzMDAwMDUwMDI4MDA0N0UwMTdGMDg4RTNCOEYzQzkwRkYwMkUwMEMKKzoxMDAzMTAwMEZDQTNFMEZBRUNGRkVBOTBGQUJERjBFRkEzRjAxMjFDQTgKKzoxMDAzMjAwMEUwRTRGNTRERTU0REMzOTQwMjUwMEYxMjFDQzFFNDEyRjgKKzoxMDAzMzAwMDFBRTgwNTREMDQxMjFDQjI4MEVBMTIxQ0UwOTBGRjAwN0UKKzoxMDAzNDAwMEUwRkY1NDYwMjRDMDcwMDMwMjA4RjMyNDQwNjAwMzAyRkQKKzoxMDAzNTAwMDBGNkU5MEZBQjlFMEZFNTQwRkY1NERFRTMwRTcwM0QzN0YKKzoxMDAzNjAwMDgwMDFDMzkyMEE5MEZGMDFFMDEyMUJGQzAzODQwMDA0ODkKKzoxMDAzNzAwMDU3MDEwNTZBMDMwNjMxMDUwNjczMDYwN0Q1MDgwODFERUYKKzoxMDAzODAwMDA5MDg3OTBBMDhCOTBCMDAwMDBGNkVFNTM1MjBFNzAzNkMKKzoxMDAzOTAwMDAyMEY2RTkwRkFCREUwNzAwMkEzRTA2MDAzMDIwRjZFRTAKKzoxMDAzQTAwMEU1M0M2NDAyNDUzQjYwMDMwMjBGNkVFRjU0MUYxNDYwOEUKKzoxMDAzQjAwMDJCMTQ2MDQ3MjQwMjYwMDMwMjBGNkVFRTYwMDMwMjBGRUQKKzoxMDAzQzAwMDZFMTIxQ0MxNzQwMTEyMUFFODc4NjdFNjMwRTAwODEyNTgKKzoxMDAzRDAwMDFDQzE3NDAyMTIxQUU4N0YwMjAyMzI2RUU1MzUyMEUxNzgKKzoxMDAzRTAwMDA5OTBGQUI5RTA2MDAzMDIwRjZFOTBGQUI5RTBEMzk0NzUKKzoxMDAzRjAwMDAxNDAwMzAyMEY2RTdGMDIwMjMyNkVFNTM1MjBFMTBFRUUKKzoxMDA0MDAwMDkwRkFCOUUwRkY2MDA3NjQ4MDYwMDMwMjBGNkUxMjBGN0MKKzoxMDA0MTAwMEZBNDAwMzAyMEY2RUU1NEQ3MDE5MzAwQTBCOTBGRjgwMTEKKzoxMDA0MjAwMDEyMUNCRTEyMUFFODgwMjQ5MEZGODIxMjFDQkUxMjFBRkYKKzoxMDA0MzAwMEU4ODAxOTE1NEQzMDBBMEIxMjFENTUxMjFDQkMxMjFBRkEKKzoxMDA0NDAwMEU4ODAwOTEyMUQ2MzEyMUNCQzEyMUFFODEyMUNDMTEyQUEKKzoxMDA0NTAwMDFBQTI2MDA1NzQwMTEyMUFFODdGMDIwMjMyNkVFNTM1QjUKKzoxMDA0NjAwMDMwRTcwMzAyMEY2RUU1M0M0NTNCNjAwMzAyMEY2RTEyNUUKKzoxMDA0NzAwMDFENzkxNDYwMkQxNDYwNTkyNDAyNjAwMzAyMEY2RTkwRTAKKzoxMDA0ODAwMEZBQkRFMDcwMDRBM0UwNjQwMTYwMDMwMjBGNkU5MEZBMEQKKzoxMDA0OTAwMEI5RTA2MDAzMDIwRjZFNzg2N0U2NTRGRUY2RTRGRjAyRUYKKzoxMDA0QTAwMDMyNkVFNTM1MjBFMTA2MjBFMDAzMDIwRjZFRTUzNTMwQkYKKzoxMDA0QjAwMEUwMDk5MEZBQjlFMDYwMDMwMjBGNkVFNTM1MzBFMTBDMTcKKzoxMDA0QzAwMDkwRkFCOUUwRDM5NDAxNDAwMzAyMEY2RUU0RkYwMjMyQzgKKzoxMDA0RDAwMDZFOTBGQUJERTA3MDAyQTNFMDYwMDMwMjBGNkUxMjBGOEYKKzoxMDA0RTAwMEZBNDAwMzAyMEY2RUU1MzUyMEUxMDYyMEUwMDMwMjBGMUIKKzoxMDA0RjAwMDZFRTUzNTMwRTAwN0U1NEQ2MDAzMDIwRjZFRTU0RDcwQTcKKzoxMDA1MDAwMDBGOTBGRjgyRTA1NEY3RjA5MEZGODBFMDU0RjdGMDIyNjQKKzoxMDA1MTAwMEU1NEQyNEZFNjAyMDI0RkI2MDM0MjQwNjcwMzUzMDBBNEIKKzoxMDA1MjAwMDBDQTIwQUU0MzNGRDdGMDMxMjJFNzk4MDI2RTRGRDdGQkUKKzoxMDA1MzAwMDAzMTIyRTc5ODAxRDMwMEEwQ0EyMEFFNDMzRkQ3RjA0RDkKKzoxMDA1NDAwMDEyMkU3OTgwMEVFNEZEN0YwNDEyMkU3OTgwMDU3Rjg3QkMKKzoxMDA1NTAwMDEyMzFFRjE1NEQzMDBBMEIxMjFENTVGNTgzRTA1NEY3OUIKKzoxMDA1NjAwMEYwODAwOTEyMUQ2M0Y1ODNFMDU0RjdGMEU0RkYwMjMyRDYKKzoxMDA1NzAwMDZFRTUzNTMwRTcwMzAyMEY2RUU1M0M0NTNCNjAwMzAyNTQKKzoxMDA1ODAwMDBGNkUxMjFENzkxNDYwMkQxNDYwNTUyNDAyNjAwMzAyNTEKKzoxMDA1OTAwMDBGNkU5MEZBQkRFMDcwMDRBM0UwNjQwMTYwMDMwMjBGRTcKKzoxMDA1QTAwMDZFOTBGQUI5RTA2MDAzMDIwRjZFNzg2N0U2NDQwMUY2RDgKKzoxMDA1QjAwMEU0RkYwMjMyNkVFNTM1MjBFMTA2MjBFMDAzMDIwRjZFMTMKKzoxMDA1QzAwMEU1MzUzMEUwMDdFNTRENjAwMzAyMEY2RUU1MzUzMEUxQkIKKzoxMDA1RDAwMDBBRTU0REQzOTQwMTQwMDMwMjBGNkVFNEZGMDIzMjZFMzAKKzoxMDA1RTAwMDkwRkFCREUwNzAwMkEzRTA2MDAzMDIwRjZFOTBGQUI5Q0EKKzoxMDA1RjAwMEUwRkYxMjMyM0Y0MDAzMDIwRjZFRTUzNTIwRTEwNjIwOTYKKzoxMDA2MDAwMEUwMDMwMjBGNkVFNTRENzAwOTMwMEEwMzAyMUUxNDAyNkEKKzoxMDA2MTAwMDFEREZFNTM1MjBFMTAzMDIwRjZFMTU0RDMwMEEwQjEyODgKKzoxMDA2MjAwMDFENTVGNTgzRTA0NDA4RjA4MDA5MTIxRDYzRjU4M0UwNTEKKzoxMDA2MzAwMDQ0MDhGMEU0RkYwMjMyNkVFNTM1MzBFNzAzMDIwRjZFNDYKKzoxMDA2NDAwMEU1M0M0NTNCNjAwMzAyMEY2RTkwRkFCOUUwNjAwMzAyOUYKKzoxMDA2NTAwMDBGNkUxMjFENzk2MDAzMDIwRjZFRTUzNTMwRTEwMzAyNjMKKzoxMDA2NjAwMDBGNkU5MEZBQkVFMDkwRkZGRkYwRTA2MDA1NDMzNTAxQTkKKzoxMDA2NzAwMDgwMDM1MzM1RkVFNEZGMDIzMjZFRTUzNTIwRTcwMzAyQzYKKzoxMDA2ODAwMDBGNkVFNTNDNDUzQjcwMDMwMjBGNkUxMjFENzk2MDAzNEYKKzoxMDA2OTAwMDAyMEY2RTkwRkFCREUwRkNBM0UwRkRFQzI0RkU2MDNBOTAKKzoxMDA2QTAwMDE0NjA3NTI0MDI2MDAzMDIwRjZFRUQ2MDAzMDIwRjZFOEEKKzoxMDA2QjAwMDEyMUNFMDEyMUUwRDdEMDMxMjBGQjU2MDAzMDIwRjZFQjcKKzoxMDA2QzAwMDEyMEY3MjkwRkFCNkUwRkRBMzEyMUQyQjEyMEZEMTUwM0IKKzoxMDA2RDAwMDAyODAwNEFFM0JBRjNDMDIxMDAyMTIxQ0UwOTBGOTE2RkYKKzoxMDA2RTAwMEUwMzBFNDBEMTIxRTBEN0QxNDEyMEZCNTYwMTAwMjBGRTQKKzoxMDA2RjAwMDZFMTIxRTBEN0QwNDEyMTAwOTYwMDMwMjBGNkUxMjBGQTAKKzoxMDA3MDAwMDcyOTBGQUI2RTBGREEzMTIxRDJCMTIwRkQxNTAwMjgwOTkKKzoxMDA3MTAwMDA0QUUzQkFGM0MwMjEwMDIxMjFFMEQ3RDA1MTIxMDA5MDMKKzoxMDA3MjAwMDYwMDMwMjBGNkU3QjAxN0FGQTc5QjYxMjFEMjg3RDAxRjMKKzoxMDA3MzAwMDEyMjY5ODkwRkFCN0U0NzVGMDAzMTIxQjFDOTBGQUJFQ0IKKzoxMDA3NDAwMEUwOTBGQUI1RjBFNEY1NEM5MEZBQjVFMEZGRTU0Q0MzNjMKKzoxMDA3NTAwMDlGNTAyNDEyMUQyMjEyMTAxNEZGRkQ5MEZBQjdFNDhENTEKKzoxMDA3NjAwMEYwMTIxQjFDOTBGQUI2RTBDMzlGRjBEMzk0MDA1MDAzMjQKKzoxMDA3NzAwMDAyMEY2RTA1NEM4MEQxMTIxRDIyMTIxMDE0MjRGRUZGQjAKKzoxMDA3ODAwMDkwRkFCNkYwRkRBM0U0NzVGMDAyMTIxQjFDN0FGOTc5MTkKKzoxMDA3OTAwMDcyN0IwMThCMzY4QTM3ODkzOEU5MjQwMkY5RTQzQUZBMDgKKzoxMDA3QTAwMDEyMUQyODEyMjY5ODhGNEMwNTRDMDU0QzEyMUNDMUU1RDEKKzoxMDA3QjAwMDRDMTIxQUU4MTIxQ0MxOTAwMDAxNzQwMzEyMUFGQUFGMEQKKzoxMDA3QzAwMDRDN0UwMEMzRUY5NTNDRUU5NTNCNTAwMjgwMDRBRTNCNUYKKzoxMDA3RDAwMEFGM0M4RTM5OEYzQTAyMkNEODAyMEY2RUU1MzUyMEU3RjgKKzoxMDA3RTAwMDAzMDIwRjZFRTUzQzY0MDE0NTNCNjAwMzAyMEY2RTkwMEYKKzoxMDA3RjAwMEZBQjlFMDYwMDMwMjBGNkU5MEZBQkRFMDcwMDJBM0UwNjgKKzoxMDA4MDAwMDYwMDMwMjBGNkUxMjFENzk2MDAzMDIwRjZFRTUzNTIwNDIKKzoxMDA4MTAwMEUwMDYyMEUxMDMwMjBGNkU3NTM2MDA3NTM3MDA3NTM4NkIKKzoxMDA4MjAwMDMyMDIwRkYxRTUzNTMwRTcwMzAyMEY2RUU1M0M0NTNCNDAKKzoxMDA4MzAwMDYwMDMwMjBGNkU5MEZBQjlFMDYwMDMwMjBGNkVEMzkwNkUKKzoxMDA4NDAwMEZBQkVFMDk0MDE5MEZBQkRFMDk0MDA0MDAzMDIwRjZFRkUKKzoxMDA4NTAwMDEyMUQ3OTYwMDMwMjBGNkVFNTM1MjBFMDA2MjBFMTAzRUEKKzoxMDA4NjAwMDAyMEY2RTkwRkFCRUUwRjUzMkU1MzI3MDA4NDMzNTAxQjIKKzoxMDA4NzAwMDUzMzVGRDgwMDY1MzM1RkU0MzM1MDJFNEZGMDIzMjZFRTgKKzoxMDA4ODAwMEU1MzUyMEU3MDMwMjBGNkVFNTNDNjQwMTQ1M0I2MDAzNUMKKzoxMDA4OTAwMDAyMEY2RTkwRkFCOUUwNjAwMzAyMEY2RTkwRkFCREUwQUQKKzoxMDA4QTAwMDcwMDJBM0UwNjAwMzAyMEY2RTEyMUQ3OTY0MDE2MDAzMDEKKzoxMDA4QjAwMDAyMEY2RUU1MzUyMEUxMDMwMjBGNkU3RjAxMDIzMjZFRkEKKzoxMDA4QzAwMEU1MzUzMEU3MDMwMjBGNkVFNTNDNDUzQjYwMDMwMjBGNjAKKzoxMDA4RDAwMDZFRDM5MEZBQkVFMDk0MDA5MEZBQkRFMDk0MDA0MDAzMUQKKzoxMDA4RTAwMDAyMEY2RTEyMUQ3OTY0MDE2MDAzMDIwRjZFRTUzNTIwNjAKKzoxMDA4RjAwMEUxMDMwMjBGNkVFNEZGMDIzMjZFOTBGRjAxMTIxRTI0MkMKKzoxMDA5MDAwMEVGMTIxQUU4OTBGQUI5MTIxRTI0OTAwMDAxRUYxMjFBQTEKKzoxMDA5MTAwMEZBOTAwMDAyRTQxMjFBRkE3NDAzMTIxQ0IyOTBGQUJEQTMKKzoxMDA5MjAwMEUwRkZBM0UwODUzODgyODUzNzgzQ0ZGMEEzRUZGMDkwMTYKKzoxMDA5MzAwMEZGMDFFMDEyMUJGQzA5N0IwMjA5OUQwNDA5QkYwNTA5QTgKKzoxMDA5NDAwMEVCMDYwQTA5MDcwQTI3MDgwQTQ1MDkwQTYzMEIwQjE4NzAKKzoxMDA5NTAwMDgwMERCNzgxMERFODgyMEI1RjgzMEJBODg0MEJDNzg1RTAKKzoxMDA5NjAwMDBDMEM4NjBDNTc4NzBDRTg4ODBENzM4OTBBODE5MjBBNTMKKzoxMDA5NzAwMDgxOTMwREEwQjAwRTlCQzAwRUM3QzEwRUQ4QzIwMDAwNUYKKzoxMDA5ODAwMDBGNURFNTM1MjBFNzA1N0YwNTAyMzFBOTEyMUQ3MTYwNzUKKzoxMDA5OTAwMDAzMDQ3MDA5RUZGRDdDMDA3RjA3MDIxMTVFRTRGRDdGMTgKKzoxMDA5QTAwMDA3MDIyRkI0RTUzNTIwRTcwNTdGMDUwMjMxQTkxMjFEQTYKKzoxMDA5QjAwMDcxNjAwMzA0NzAwOUVGRkQ3QzAwN0YwQzAyMTE1RUU0OUUKKzoxMDA5QzAwMEZEN0YwNzAyMkZCNEU1MzUzMEU3MDMwMjBGNzExMjFFRDkKKzoxMDA5RDAwMDQyNTAwNkU1M0M0NTNCNzAwNTdGMDIwMjMxQTk5MEZBODIKKzoxMDA5RTAwMEI5RTAyNEZFMjRGRDUwMDI4MDAzMDIzMjJDN0YwNzAyNkUKKzoxMDA5RjAwMDMxQTlFNTM1MzBFNzAzMDIwRjcxMTIxRDcxNjAwMzA0NjAKKzoxMDBBMDAwMDcwMDlFRkZEN0MwMDdGMDgwMjExNUU3RjA3MDIzMUE5QUIKKzoxMDBBMTAwMEU1MzUzMEU3MDMwMjBGNzExMjFENzE2MDAzMDQ3MDA5QTAKKzoxMDBBMjAwMEVGRkQ3QzAwN0YwOTAyMTE1RTdGMDcwMjMxQTlFNTM1RTkKKzoxMDBBMzAwMDMwRTcwMzAyMEY3MTEyMUQ3MTYwMDMwNDcwMDlFRkZEQUUKKzoxMDBBNDAwMDdDMDA3RjBBMDIxMTVFN0YwNzAyMzFBOUU1MzUzMEU3OUQKKzoxMDBBNTAwMDAzMDIwRjcxMTIxRDcxNjAwMzA0NzAwOUVGRkQ3QzAwMjkKKzoxMDBBNjAwMDdGMEIwMjExNUU3RjA3MDIzMUE5RTUzNTMwRTcwMzAyRjMKKzoxMDBBNzAwMDBGNzExMjFENzE2MDAzMDQ3MDA5RUZGRDdDMDA3RjBFODEKKzoxMDBBODAwMDAyMTE1RTdGMDcwMjMxQTlFNTM1MzBFNzU2MTIxRDc5NjQKKzoxMDBBOTAwMDcwNEE5MEZGMDJFMEY1NENFNTRDQjQ4MjA1NzU0QzYxNUMKKzoxMDBBQTAwMDgwMTJFNTRDQjQ4MzA1NzU0QzYyODAwOEU1NENDNDU0NTMKKzoxMDBBQjAwMEYwMDRGNTRDMTIxQzIyMTIxRTNCMTIyNUZBMTIxRDg5NUQKKzoxMDBBQzAwMDEyMUFCQjYwMDUxMjMyN0E4MDA2ODUzMzM5ODUzNDNBQjIKKzoxMDBBRDAwMDc1MzYwMTc1MzdGOTc1Mzg3NTAyMkNEOEU0RkQ3RjA1MzgKKzoxMDBBRTAwMDAyMkZCNDEyMUQ3OTYwMDU3RjA1MDIzMUE5MTIxRTQyNDIKKzoxMDBBRjAwMDQwMDU3RjAzMDIzMUE5OTBGRjAyRTBGNTRDRTU0Q0I0QkMKKzoxMDBCMDAwMDgyMDU3NTRDNjE4MDEyRTU0Q0I0ODMwNTc1NEM2MjgwOUEKKzoxMDBCMTAwMDA4RTU0Q0M0NTRGMDA0RjU0QzEyMUMyMjAyMzIyQzEyOEQKKzoxMDBCMjAwMDFFNEMxMjJBQzcxMjFEMzNFMDU0N0ZGMDAwMDAwMEUwNzMKKzoxMDBCMzAwMDkwRkFCQUYwNzg2ODEyMUJEODkwMDAwMjEyMUFCQjMwRjMKKzoxMDBCNDAwMEU3RjI5MDAwMDJFNDEyMUFGQTkwRkFCQUUwNDQ4MEZGNDkKKzoxMDBCNTAwMEYwNzg3Q0U2RkMwOEU2OEM4MzEyMUQzQkVGRjAxMjMyNDUKKzoxMDBCNjAwMDg0RTRGRjAyMzFBOTkwRkFCOUUwNjQwMTcwMUY5MEZBQTEKKzoxMDBCNzAwMEJERTBGRjdFMDA3MDA2QTNFMEY1OTA4MDJEQzJBRkVGRDAKKzoxMDBCODAwMEY0NTI5MDkwRkFCRUUwNDI5MEQyQUY4MDFEOTBGQUJEMzAKKzoxMDBCOTAwMEUwRkY3RTAwNzAwNkEzRTBGNUIwODAwRUMyQUZFRkY0NzgKKzoxMDBCQTAwMDUyQjA5MEZBQkVFMDQyQjBEMkFGRTRGRjAyMzFBOTEyRDcKKzoxMDBCQjAwMDFDRTA5MEZBQjlFMEI0MDEwQTEyMUNDMUU1OTAxMjFBQzcKKzoxMDBCQzAwMEU4ODAwODEyMUNDMUU1QjAxMjFBRTgwMjBGRjE5MEZBOTEKKzoxMDBCRDAwMEI5RTBGRjI0MTMxMjFDRjEyMEUxMzMxMjFEODBFRjI0MzEKKzoxMDBCRTAwMEZDNjAxODA0NzAyODkwRkFCQUUwNjAwOTkwRkZBNEUwNTUKKzoxMDBCRjAwMDQ0MTBGMDgwMTkxMjFFNTZGMDgwMTM5MEZBQkFFMDYwOEIKKzoxMDBDMDAwMDA5OTBGRkI0RTA0NDEwRjA4MDA0MTIxRTVERjBFNEZGOTAKKzoxMDBDMTAwMDAyMzFBOTkwRkFCOUUwRkYyNDEzMTIxQ0YxMjBFMTM5NDYKKzoxMDBDMjAwMDEyMUQ4MEVGMjRGQzYwMUIwNDcwMkU5MEZBQkFFMDYwNjUKKzoxMDBDMzAwMDA5OTBGRkE0RTA0NDIwRjA4MDFGOTBGRkE0RTA1NERGNUYKKzoxMDBDNDAwMEYwODAxNjkwRkFCQUUwNjAwOTkwRkZCNEUwNDQyMEYwMUEKKzoxMDBDNTAwMDgwMDc5MEZGQjRFMDU0REZGMEU0RkYwMjMxQTkxMjFERDkKKzoxMDBDNjAwMDgwMTIxRDcxNjA0RDA0NjAwMzAyMENFMzkwRkFCQUUwM0IKKzoxMDBDNzAwMDYwMEY5MEZGQTQxMjFDRUEzMEUxNkYxMjFFMkMwMjBDRDAKKzoxMDBDODAwMEUzOTBGRkE0RTA1NEZCMTIxQ0VERkUzMEUxNUMzMEUyODcKKzoxMDBDOTAwMDExMzBCNDA1MTIxRTJDODA1MTkwRkZBNEUwNTRGREYwRDkKKzoxMDBDQTAwMDgwNDgzMDk1MDUxMjFFMkM4MDQwOTBGRkE0RTA1NEZEMzIKKzoxMDBDQjAwMEYwODAzNzkwRkFCQUUwNjAxMjkwRkZCNDEyMUNFQTMwNkMKKzoxMDBDQzAwMEUxMjg5MEZGQjRFMDQ0MDJGMDgwMUY5MEZGQjRFMDU0QUMKKzoxMDBDRDAwMEZCMTIxQ0VEMzBFMTEzMzA5MzA5OTBGRkI0RTA0NDAyQTUKKzoxMDBDRTAwMEYwODAwNzkwRkZCNEUwNTRGREYwRTRGRjAyMzFBOTEyNTgKKzoxMDBDRjAwMDFEODA5MEZBQjlFMDI0RkM2MDQwMDQ3MDc4OTBGQUJBNDQKKzoxMDBEMDAwMEUwNjAxRDkwRkZBMkUwNDQ0MEYwQTNFMEZGMzBFNzY1MDMKKzoxMDBEMTAwMEQyMDNBM0UwNTRERkYwOTBGRkEzRUY1NDdGRjA4MDU1OUYKKzoxMDBEMjAwMDMwMDMwRTkwRkZBM0UwNDQ4MEYwQzIwM0EzRTA0NDIwMTAKKzoxMDBEMzAwMEYwOTBGRkEyRTA1NEJGRjA4MDNCOTBGQUJBRTA2MDFENTMKKzoxMDBENDAwMDkwRkZCMkUwNDQ0MEYwQTNFMEZGMzBFNzI4RDIwNEEzRDQKKzoxMDBENTAwMEUwNTRERkYwOTBGRkIzRUY1NDdGRjA4MDE4MzAwNDBFQzIKKzoxMDBENjAwMDkwRkZCM0UwNDQ4MEYwQzIwNEEzRTA0NDIwRjA5MEZGODEKKzoxMDBENzAwMEIyRTA1NEJGRjBFNEZGMDIzMUE5MTIxQ0UwOTBGQUI5Q0UKKzoxMDBEODAwMEUwMjRGQzYwMEYwNDcwMTY5MEZGQTZFMDEyMUNDMTEyNTQKKzoxMDBEOTAwMDFBRTg4MDBBOTBGRkI2RTAxMjFDQzExMjFBRTg3NTM5RjEKKzoxMDBEQTAwMDAwNzUzQTAxMDIyQ0Q4OTBGOTE1NzQwMUYwOTBGOTFDRTUKKzoxMDBEQjAwMDc0MTlGMDkwRjk2Njc0RkZGMEU0RkYwMjMxQTlFNEZGQzIKKzoxMDBEQzAwMDEyMzFBOTEyMURFNzdGMDMxMjEyNjE5MEY5MTZFMDMwNkIKKzoxMDBERDAwMEU0MDg5MEZGOTM3NDgwRjA4MDEwOTBGRkZDRTA1NDdGNTMKKzoxMDBERTAwMEYwN0ZGRjdFMDAxMjMwRDNDMjkwQzJBRjAwODBGREU0REUKKzoxMDBERjAwMEY1NEVGNTRGOTBGQUJGNzQzRUYwQTNFNEYwOTBGQUI3QzkKKzoxMDBFMDAwMEYwQTM3NDE1RjBFMDU0M0ZGRkMzNzQ0MDlGOTBGQUJDMDgKKzoxMDBFMTAwMEYwRDM5NDAwRTQ5NDNFNDAwODkwRkFDMEUwOTBGQUJDMEQKKzoxMDBFMjAwMEYwMTIwRjk4RTUzMTQ1MzA3MDczMTIxQ0ZBOTBGQUJGM0EKKzoxMDBFMzAwMDEyMUUwNjYwMjdEM0VGOTQ0MEVFOTQwMDQwMDg5MEZBMEIKKzoxMDBFNDAwMEJDNzQ0MEYwODAwODkwRkFDMEUwOTBGQUJDRjAxMjBGMzkKKzoxMDBFNTAwMDk4RTUzMTQ1MzA3MDQ2MTIxQ0ZBODBEMTc1NEMwMjkwRUQKKzoxMDBFNjAwMEZBQkZFNEYwQTMwNEYwOTBGQUI3RTRGMEEzNzQwRkYwMzMKKzoxMDBFNzAwMDdCMDA3QTAwNzk0QzkwRkFDMEUwRjU0QTdEMEY3QzAwNDcKKzoxMDBFODAwMDEyMjk2MDc1MzAwMDhGMzE3QjAwN0EwMDc5NENFNEY1Q0YKKzoxMDBFOTAwMDJERjUyRTdEMDExMjI2OThFNEY1MzBGNTMxQUYzMTAyQTMKKzoxMDBFQTAwMDMxQTkxMjFEODAzMEU3MTBFMDU0MEY5MEY5NjdGMEQzOUMKKzoxMDBFQjAwMDk0MDA0MDE1QzI5NTgwMTE5MEZBQkFFMDU0MEY5MEY5NTEKKzoxMDBFQzAwMDY1RjBEMzk0MDA0MDAyQzI5NEU0RkYwMjMxQTkxMjFFREYKKzoxMDBFRDAwMDRDQkYwMTA0RDI5MzgwMDJDMjkzRTRGRjAyMzFBOTEyRjUKKzoxMDBFRTAwMDFEODA1NDAzMTQ2MDBBMTQ2MDBGMTQ2MDA4MjQwMzcwRkEKKzoxMDBFRjAwMDJCRDI5MTgwMjdDMjkxODAyMzEyMUU1NjEyMEZDMDYwMDAKKzoxMDBGMDAwMDA0RDI5MTgwMTc5MEZGQTRFMDQ0MTAxMjBGQzBGRkJGREQKKzoxMDBGMTAwMEEwMDRDMjkxODAwMkQyOTExMjFFNTZGMDkwRkFCQUUwNUIKKzoxMDBGMjAwMDU0MENGRjEzMTM1NDNGMTQ2MDBBMTQ2MDBGMTQ2MDA4MkMKKzoxMDBGMzAwMDI0MDM3MDJCRDI5MjgwMjdDMjkyODAyMzEyMUU1RDEyNEUKKzoxMDBGNDAwMDBGRTA2MDA0RDI5MjgwMTc5MEZGQjRFMDQ0MTAxMjBGQkIKKzoxMDBGNTAwMEUwRkZCRkEwMDRDMjkyODAwMkQyOTIxMjFFNURGMEU0QjQKKzoxMDBGNjAwMEZGMDIzMUE5RTUzNTMwRTcwN0U0RkQ3RjA1MDIyRkI0MjQKKzoxMDBGNzAwMDdGMDUwMjMxQTkxMjMyN0EyMjdCMDE3QUZBNzlCNjkwODIKKzoxMDBGODAwMEZBQjdFMEY1MkRBM0UwRjUyRTdEMDExMjI2OTg5MEZBMzAKKzoxMDBGOTAwMEI3RTQ3NUYwMDMxMjFCMUNBQjM2QUEzN0E5MzgyMkFBOTYKKzoxMDBGQTAwMDRFQTk0RjdCRkY5MEZBQjdFMEZDQTNFMEZEOTBGQUJDOUUKKzoxMDBGQjAwMEUwRjU0QTEyMjk2MDc1MzAwMDhGMzEyMjEyMjM2MTdFREMKKzoxMDBGQzAwMDAwOEUzMDhGMzFFRjIyRjA3RjAxMTIxMjYxOTBGRkE2NjgKKzoxMDBGRDAwMEUwOTBGQUJCRjA1NEEwMjIxMjI2OTg4RjRDN0UwMEMzRkEKKzoxMDBGRTAwMEVGOTUzQ0VFOTUzQjIyRjA3RjAxMTIxMjYxOTBGRkI2MjcKKzoxMDBGRjAwMEUwOTBGQUJCRjA1NEEwMjI3NTM5MDA3NTNBMDEwMjJDM0EKKzoxMDEwMDAwMEQ4OTBGQUI5RTBGRjAyMzIzRjhFMzk4RjNBMDIyQ0Q4REQKKzoxMDEwMTAwMDEyMjM2MTdFMDA4RTMwOEYzMUVGMjI3RDAxMTIyNjk4REYKKzoxMDEwMjAwMDkwRkFCNEUwMjJFRjkwRjgwNEYwMjJDMEE4QzJBRkVFMkMKKzoxMDEwMzAwMDYwMEFDMDA1N0Q3RkRERkVERUZBRDAwNUVGQzM5NDE1QTIKKzoxMDEwNDAwMDUwMDNEMEE4MjIxMzcwMDNEMEE4MjJGRkQ1MDdGREQwRUIKKzoxMDEwNTAwMEE4MjJDMDAwQzAwMUMwMDJDMDA0QzAwNUU1M0UyNDA4QUIKKzoxMDEwNjAwMEY4ODYwNTUzMDU3RjdDRkYxMjEwQzA3RjAwN0UwMEU1RTcKKzoxMDEwNzAwMDQzNjA0NkZDOTBGOTFERTA1NDdGNkQ3MDBGQzA4M0MwNDMKKzoxMDEwODAwMDgyQTNFMEZFQTNFMEZGQTMxNTQzODAwN0EzQTNBM0RDOTQKKzoxMDEwOTAwMEU2ODAyNkRDMDZEMDgyRDA4MzgwMUVFMEY4QTNFMEY5NEIKKzoxMDEwQTAwMEEzRTBGQUQwODJEMDgzRThGMEEzRTlGMEEzRUFGMEEzQUEKKzoxMDEwQjAwMEMwODNDMDgyQTNBM0EzODBEQTEyMTE1N0QwMDVEMDA0NDUKKzoxMDEwQzAwMEQwMDJEMDAxRDAwMDIyODVBODQ0NzVBODg4RUM3MDAyMTcKKzoxMDEwRDAwMDdDM0Y4QzNEMjJFNTNFMjQwOEY4NzYwMDEyMTFBRTgwNUMKKzoxMDEwRTAwMEZCQzAwMEMwMDFDMDAyQzAwNEMwMDY3Q0ZGMTIxMEMwREIKKzoxMDEwRjAwMEU1NDM2MDQyRkU5MEY5MURFMDU0N0Y2RjcwMEJDMDgzQTIKKzoxMDExMDAwMEMwODJBM0EzQTMxNTQzODAwN0EzQTNBM0RFRUE4MDI2N0UKKzoxMDExMTAwMERFMDZEMDgyRDA4MzgwRDhFMEY4QTNFMEY5QTNFMEZBMUQKKzoxMDExMjAwMEQwODJEMDgzRThGMEEzRTlGMEEzRUFGMEEzQzA4M0MwQTMKKzoxMDExMzAwMDgyQTNBM0EzODBEQTc4MDgwODc5MTgwOTdDMDFFNjU0MTEKKzoxMDExNDAwMDdGNkY3MDA2NzYwMDc3MDA4MDA2MDgwOTBDQkMwOEVFRjkKKzoxMDExNTAwMDEyMTE1N0QwMDZEMDA0RDAwMkQwMDFEMDAwMjI3NTNEMjQKKzoxMDExNjAwMDAwODU0NEE4MjJDMEYwQzA4MkMwODNDM0U1NDMyNEU4QzAKKzoxMDExNzAwMDUwMDUxMjExQUU4MEY0RUY2MDMxOTAzMTExRTQ5M0MzNDkKKzoxMDExODAwMDlGNDAyRkMwMDQ3Q0ZGMTIxMEMwRDAwNDQzMDc4MEU1QUQKKzoxMDExOTAwMDQzNzVGMDAzQTQyNDFERjU4MkU0MzRGOUY1ODNFRkYwRTAKKzoxMDExQTAwMEVDQTNGMEVEQTNGMDA1NDMxMjExNTdEMDgzRDA4MkQwMDkKKzoxMDExQjAwMEYwMjIwMjExRENDMDA0N0MyMEQyOENEMjhERDUwNEZEM0IKKzoxMDExQzAwMEQwMDQyMjc1QTgwMDc1ODgwMDc1QjgwMDc1RjAwMDc1MDgKKzoxMDExRDAwMEQwMDBFNEY4OTBGODA0RjA5MDAwMDBGNjA4QjgwMEZCQTYKKzoxMDExRTAwMDAyMDAwMEMyQUZFNDkwRkY0OEYwOTBGRjUwRjA5MEZGODMKKzoxMDExRjAwMDA4RjA5MEZGMTBGMDkwRkY4MEYwQTNBM0YwRDJCMUMyRUUKKzoxMDEyMDAwMEIwN0VGRjdGRkYxMjEwMjQ3RUZGN0ZGRjEyMTAyNDdFMkUKKzoxMDEyMTAwMEZGN0ZGRjEyMTAyNEQyQjBEMkIxN0VGRjdGRkYxMjEwRTkKKzoxMDEyMjAwMDI0N0VGRjdGRkYxMjEwMjQ3RUZGN0ZGRjEyMTAyNDgwOTgKKzoxMDEyMzAwMENDQzNFRTk0MDI1MDA0N0UwMzdGRThFRkY0RkZFRUY0OUIKKzoxMDEyNDAwMEZFMEZCRjAwMDEwRThGNDI4RTQxMjJDM0VGOTRCQ0VFMTEKKzoxMDEyNTAwMDk0MDI1MDA0N0UwNzdGRDBFRkY0RkZFRUY0RkUwRkJGNDAKKzoxMDEyNjAwMDAwMDEwRThGNDA4RTNGMjJFRjcwMDEyMkMwMDBDMEE4MDcKKzoxMDEyNzAwMEMyQUZFNTNFMjQxOEY4QTYwN0U1M0UyNDA4RjhDNjU0OTgKKzoxMDEyODAwMDdGRjZEMEE4RTYzMEU3MDNEMDAwMjIxMjExQUU4MEY0M0EKKzoxMDEyOTAwMEMwMDA3RjAxRUYyNDA4RjhFNjYwMDkwRkJGMDhGNTEyQ0YKKzoxMDEyQTAwMDExQUU4MEVFRDAwMDIyQzBGMEMwODJDMDgzQzAwMEMwNkEKKzoxMDEyQjAwMDA2QzAwNEVEMjQxMEY4NzY5QUVENzVGMDIxQTQyNDA1RkIKKzoxMDEyQzAwMEY1ODJFNDM0RjhGNTgzQzA4MkMwODNBM0EzRTQ3ODBERUIKKzoxMDEyRDAwMEYwQTNEOEZDRUY1NDdGNzVGMDAyQTQyNEYzRjU4MkU1NjcKKzoxMDEyRTAwMEYwMzQzMEY1ODNFNDkzRkU3NDAxOTNGQ0QwODNEMDgyMTQKKzoxMDEyRjAwMEVDRjBBM0VFRjBFRDI0MDhGOEVGNDQ4MEY2RDAwNEQwMzMKKzoxMDEzMDAwMDA2RDAwMEQwODNEMDgyRDBGMDIyNzUzRTAwNzU0MzAwMTUKKzoxMDEzMTAwMDdBMDg3OTE4NzgwODc2MDA3NzAwMDgwOURBRjg5MEY4RTIKKzoxMDEzMjAwMDA0RTBGQzkwMzExMUU0OTNDMzlDNTAwNUU0OTBGODA0NzAKKzoxMDEzMzAwMEYwNzgwODc0ODA0NDdGRjY3NDAxNDQxMEY1ODk3NUI4MUMKKzoxMDEzNDAwMDAwRDJBQkQyQTkyMjc1ODE4QkQyOEVEMjhDRDJBRkU1REUKKzoxMDEzNTAwMDQzNjAzNkZGOTBGOTFERTA1NDgwNjAyODc4MDg3OTA4RDIKKzoxMDEzNjAwMEUwNTQ3RkZBN0IwMEU2NTQ3RkI1MDIwMjdCRkYwOEQ5ODgKKzoxMDEzNzAwMEY1RUI3MDEwRUFGMEMwMDcxMjEyODlBRDA3QUYwMjEyNDgKKzoxMDEzODAwMDEyQTBEMDA3QTNBM0EzREZDRTEyMTFBRTgwQzE4RjI0NzkKKzoxMDEzOTAwMDEyMkFDNzEyMjJCNUEzQTNFMEEzMzBFNzI4Nzg3RTEyNTEKKzoxMDEzQTAwMDIyOTlFMDQ0MDFGMDEyMjJGQTEyMjI5REUwMjBFMEY2OTgKKzoxMDEzQjAwMDEyMjM1MDc0MDJGMDEyMjJEQUUwQTMzMEU1MDcxMjIzNjAKKzoxMDEzQzAwMDUwRTA0NDAxRjA3ODgwRTZGRTA4RTZGRjhFODMyNDA4QjIKKzoxMDEzRDAwMDEyMjJBMUUwRkQxMjIzMzk4QTgzMjQwQTEyMjJBMUVERjAKKzoxMDEzRTAwMEYwMTIyMzA2MjQwNzEyMjJBMUUwRkYxMjIzNUEyNDA5MzcKKzoxMDEzRjAwMDEyMjJBMUVGRjA5MEY5MTZFMDMwRTQyMDA4MTIyMkI3OTMKKzoxMDE0MDAwMEMwODNDMDgyQTNFMDI1RTBGRjA1ODJENTgyMDIxNTgzNTgKKzoxMDE0MTAwMDE1ODJFMDMzRDA4MkQwODNGMEEzRUZGMDEyMjJCNUUwNDIKKzoxMDE0MjAwMEZDQTNFMEZERUNGRjEyMjMzOThBODMyNDA4MTIyMkExRDkKKzoxMDE0MzAwMEVGRjBFRDEyMjM1QTI0MDcxMjIyQTFFREYwMTIyMkE5OTcKKzoxMDE0NDAwMEUwMzBFNjBBMTIyMzQxMjQwOTEyMjJBMUU0RjAxMjIyMUMKKzoxMDE0NTAwMEE5RTBGRjMwRTcxQjEyMjMxRTI0MDkxMjIyQTFFMDYwM0QKKzoxMDE0NjAwMDA5MTIyMkE5RUY0NDAyRjA4MDA3MTIyMkE5RUY1NEZEQ0QKKzoxMDE0NzAwMEYwNzg3RTEyMjJCN0EzQTNFMEZGNTMwN0M3MDhFNkZDNkIKKzoxMDE0ODAwMDA4RTZGRDEyMjJFMEEzRTAzMEUzMTI4RDgyOEM4M0U1QjIKKzoxMDE0OTAwMDgyMjQwNTEyMjJBMUUwOTAzMjUxOTM0MjA3NTMwN0ZCQTgKKzoxMDE0QTAwMDEyMjMxRTI0MDYxMjIyQTFFMDYwMDM0MzA3MDQ1MzA3RkYKKzoxMDE0QjAwMEZDNzg4MDEyMjMyOTI0MDQxMjIyQTFFMDQyMDc0MzA3NkEKKzoxMDE0QzAwMDgwMTIyMzM5RjU4MjhBODNBM0EzRUZGMDEyMjM1QTI0RDIKKzoxMDE0RDAwMDA0MTIyMkExRTBGRjhEODI4QzgzQTNBM0UwRkNBM0UwOTEKKzoxMDE0RTAwMEZEMzBFMTA1NTMwN0RGODAwMzQzMDcyMEVDMzBFNDA1QkUKKzoxMDE0RjAwMDUzMDdFRjgwMDM0MzA3MTAxMjIyQTlFMEZFNTQwMzYwNTQKKzoxMDE1MDAwMDczNTMwN0RGRUUzMEUxNjkxMjIzMUUyNDA5MTIyMkExNzIKKzoxMDE1MTAwMEUwMTIxQkZDMTUyQzAwMTU2MDAxMTU2NTAzMTU2MDA1MTQKKzoxMDE1MjAwMDE1NjUwNzE1NjAwOTE1NjUwQjE1NjAwRDE1NjUwRjAwMkMKKzoxMDE1MzAwMDAwMTU2REU1MjQ2NDAzNzAyMTkwRjkxNkUwMzBFMjBEOEEKKzoxMDE1NDAwMDMwQjQwNTQzMDcwMjgwMkM1MzA3RkQ4MDI3MzA5NTA1RjIKKzoxMDE1NTAwMDQzMDcwMjgwMUY1MzA3RkQ4MDFBMzA5MzA1NDMwNzAyOUIKKzoxMDE1NjAwMDgwMTI1MzA3RkQ4MDBENDMwNzAyODAwODUzMDdGRDgwNUEKKzoxMDE1NzAwMDAzNTMwN0ZEMTIyMzI3MjQwNDEyMjJBMUVGRjA4RDgyQ0EKKzoxMDE1ODAwMDhDODNBM0EzQTNFMEZGMTIyMkE5RTBGRTU0MDM3MDAzRkYKKzoxMDE1OTAwMDAyMTY2MEVFMjBFMTAzMDIxNjVEMDgxMjIzMjAyNDA5RTIKKzoxMDE1QTAwMDEyMjJBMUUwMTIxQkZDMTVCRjAwMTVGNTAxMTVGNTAzNzEKKzoxMDE1QjAwMDE2MjkwNTE2MjkwNzE2MEYwOTE2MEYwQjE2NDMwRDE2QzcKKzoxMDE1QzAwMDQzMEYwMDAwMTY2MEU1MjQ2NDAzNzAyMzkwRjkxNkUwRDEKKzoxMDE1RDAwMDMwRTIwRjMwQjEwNjUzMDc3RjAyMTY2MDQzMDc4MDAyRTYKKzoxMDE1RTAwMDE2NjAzMDk0MDU1MzA3N0Y4MDdENDMwNzgwODA3ODMwRjQKKzoxMDE1RjAwMDkyMDU1MzA3N0Y4MDcwNDMwNzgwODA2QkU1MjRCNDAzMTYKKzoxMDE2MDAwMDA5OTBGRjlFRTA1NEVGRjA4MDA3OTBGRjlFRTA1NERGQ0EKKzoxMDE2MTAwMEYwNTMwNzdGODA1MUU1MjRCNDAzMDk5MEZGOUVFMDQ0MTYKKzoxMDE2MjAwMDEwRjA4MDA3OTBGRjlFRTA0NDIwRjA1MzA3N0Y4MDM3NDIKKzoxMDE2MzAwMEU1MjRCNDAzMDk5MEZGOUVFMDU0RUZGMDgwMDc5MEZGOEIKKzoxMDE2NDAwMDlFRTA1NERGRjA0MzA3ODA4MDFERTUyNEI0MDMwOTkwMzkKKzoxMDE2NTAwMEZGOUVFMDQ0MTBGMDgwMDc5MEZGOUVFMDQ0MjBGMDQzOUUKKzoxMDE2NjAwMDA3ODA4MDAzNTMwNzdGMTIyMkRBRTBGQ0EzRTBGRDMwRkQKKzoxMDE2NzAwMEUwMDU0MzA3MjA4MDAzNTMwN0RGRUMzMEUzMDU0MzA3MTEKKzoxMDE2ODAwMDQwODAwMzUzMDdCRkVDMzBFMDA1NDMwNzEwODAwMzUzNEQKKzoxMDE2OTAwMDA3RUZFRDMwRTQwNTQzMDcwODgwMDM1MzA3RjdFRDMwMEIKKzoxMDE2QTAwMEU1MDU0MzA3MDQ4MDAzNTMwN0ZCRUQzMEU2MDU0MzA3RDgKKzoxMDE2QjAwMDAxODAwMzUzMDdGRUVEMzBFNzA1NDMwNzAyODAwMzUzMjMKKzoxMDE2QzAwMDA3RkQ3ODdFMTIyMkRDQTNFRkYwMTIzMjg0N0YwMDIyMjUKKzoxMDE2RDAwMDkwRkZGQTc0MDhGMEEzNzQxNkYwOTBGRkY5NzQwMkYwMEEKKzoxMDE2RTAwMDdCMDE3QUZBNzlDRkU0RkQxMjIzNjE5MEZBQ0ZFNDc1OTkKKzoxMDE2RjAwMEYwMDMxMjFCMUMxMjE5OTJFNTIzMzBFNzAyRDIwMjdCODEKKzoxMDE3MDAwMDAwN0EwMDc5MjQ5MEZBQ0ZFMEY1MkRBM0UwRjUyRTdENDQKKzoxMDE3MTAwMDAxMTIyNjk4OTBGQUNGRTRGMEEzNzQwQkYwN0IwMDdBQzQKKzoxMDE3MjAwMDAwNzkyMzc1MkQwMEY1MkU3RDAxMTIyNjk4RTUyMzI0REUKKzoxMDE3MzAwMDgwOTBGRkY4RjBFNTIzNjQwNzYwMUVFNTIzNjQwNjYwRUYKKzoxMDE3NDAwMDE4RTUyMzY0MTQ2MDEyRTUyMzY0NDE2MDBDRTUyMzY0MEEKKzoxMDE3NTAwMDFBNzA0NkU1MjQ2NDAyNzA0MEU1MjNCNDA3MTZEMjk0NUIKKzoxMDE3NjAwMEQyOTVEMjkyRDI5MzkwRjkxNkUwNDQwMkYwQTNFMDQ0Q0QKKzoxMDE3NzAwMDAyRjA4MDFFRTUyM0I0NDExMjkwRjkxNkUwNDQwNkYwMTEKKzoxMDE3ODAwMEEzRTA0NDA2RjBEMkIxRDJCNDgwMDc5MEY5MTZFMDQ0NDkKKzoxMDE3OTAwMDAxRjA5MEY5MTdFMDQ0MDFGMEU1MjM2NDQyNjAwQ0U1QTQKKzoxMDE3QTAwMDIzNjQ0MzYwMDZFNTIzNjQ0NDcwMkU5MEY5MTZFMEZGM0QKKzoxMDE3QjAwMEU1MjNCNDQ0MDQ3RTQwODAwMjdFMDBFRTI0ODA0RjkwRjYKKzoxMDE3QzAwMEY5MTZGMEEzRTBGRkU1MjNCNDQ0MDQ3RTQwODAwMjdFRDYKKzoxMDE3RDAwMDAwRUUyNDgwNEY5MEY5MTdGMDkwRkFDRkU0RjBBMzc0NTQKKzoxMDE3RTAwMDBERjAxMjE5OTI5MEZGRjVFNTIzRjBFNEY1MzVGNTMzOEQKKzoxMDE3RjAwMEY1MzRGNTMyMTIxRTM0MTIxQ0UwMTIxRTNCOTBGOTZBQzkKKzoxMDE4MDAwMDEyMUJGMzkwRjk2RjEyMUJGMzkwRkZGRkU0RjA5MEZGQUYKKzoxMDE4MTAwMDgzRTBFNEYwOTBGRjgxNzQ4MEYwQTM3NDg0RjA5MEZGODMKKzoxMDE4MjAwMDgwRjBFNEY1MjNFNTIzMTIxRDU3RjU4M0U0RjBFNTIzNkEKKzoxMDE4MzAwMDEyMUQ2NUY1ODNFNEYwMDUyM0U1MjNCNDA3RTc3ODdBMDQKKzoxMDE4NDAwMDc2RkUwODc2RjA5MDMyMEFFNDkzRkY3ODc4RjZGREFERTQKKzoxMDE4NTAwMDA3OTAzMjE3RTQ5M0ZGMDhGNkZGRUQ1NDBGRkQxMjFEQjkKKzoxMDE4NjAwMDQ3NzQ4NEYwRUQ3NUYwMDhBNDI0NDdGNTgyRTQzNEZGNTIKKzoxMDE4NzAwMEY1ODNFRkYwQzM3NEYwOUY3ODdCRjY3NEZFOTQwMDE4NDQKKzoxMDE4ODAwMDEyMUNEOENFQzMxM0NFMTNEOEY5RkZFRDEyMURBOEVGNEEKKzoxMDE4OTAwMEYwRUQxMjFEQ0VFNEY1MjNFNTIzOTAzMjA0OTNGRjc4OUEKKzoxMDE4QTAwMDc4RjZGREU1MjMyNUUwMjQwQkY1ODJFNDM0MzJGNTgzNTgKKzoxMDE4QjAwMEU0OTMwOEY2RUQzMEU3NTMxOEU2NTQwRkY5MTIxRDQ3OEMKKzoxMDE4QzAwMDEyMURCNjI0NDdGNTgyRTQzNEZGMTIxQ0M4Q0VDMzEzQTAKKzoxMDE4RDAwMENFMTNEOEY5RkZFOTEyMURBOEVGRjAxMjFDQ0ZDRUMzMkEKKzoxMDE4RTAwMDEzQ0UxM0Q4RjkxMjFEQkIyNDQ1RjU4MkU0MzRGRkY1NUQKKzoxMDE4RjAwMDgzRUZGMEU5MTIxRENFRTk3NUYwMDhBNDI0NDZGNTgyQzUKKzoxMDE5MDAwMEU0MzRGRkY1ODM3NDgwRjAwMjE5Njc3ODc4RTY1NDBGQTkKKzoxMDE5MTAwMEY5MTIxRDlBMTIxREI2MjQwN0Y1ODJFNDM0RkYxMjFDMzkKKzoxMDE5MjAwMEM4Q0VDMzEzQ0UxM0Q4RjkxMjFEQkIyNDAxRjU4MkU0MkYKKzoxMDE5MzAwMDM0RkZGNTgzRUZGMDEyMUNDRkNFQzMxM0NFMTNEOEY5Q0EKKzoxMDE5NDAwMDEyMURCQjI0MDVGNTgyRTQzNEZGRjU4M0VGRjBFOTc1NDEKKzoxMDE5NTAwMEYwMDhBNDI0MDJGNTgyRTQzNEZGRjU4M0U0RjBFOTc1OEQKKzoxMDE5NjAwMEYwMDhBNDI0MDZGNTgyRTQzNEZGRjU4M0U0RjAwNTIzQUYKKzoxMDE5NzAwMEU1MjM2NDA0NjAwMzAyMTg5MTkwMzIwOUU0OTNGRjc4MzAKKzoxMDE5ODAwMDc4RjYxMjFEOThFNEYwOTAzMjA4OTNGRkY2MTIxRDQ1ODgKKzoxMDE5OTAwMEU0RjA5MEZGRkQ3NDA1RjAyMjdCMDA3QTAwNzkyMzkwM0IKKzoxMDE5QTAwMEZBQ0ZFNDc1RjAwMTEyMUIzMjg1RjAyRUY1MkQ3RDAxODIKKzoxMDE5QjAwMDAyMjY5OEU3MDlGNjA4REZGQTgwNDZFNzA5RjIwOERGMTEKKzoxMDE5QzAwMEZBODAzRTg4ODI4QzgzRTcwOUYwQTNERkZBODAzMkUzNTUKKzoxMDE5RDAwMDA5RjYwOERGRkE4MDc4RTMwOUYyMDhERkZBODA3MDg4RjgKKzoxMDE5RTAwMDgyOEM4M0UzMDlGMEEzREZGQTgwNjQ4OTgyOEE4M0UwMzIKKzoxMDE5RjAwMEEzRjYwOERGRkE4MDU4ODk4MjhBODNFMEEzRjIwOERGMjEKKzoxMDFBMDAwMEZBODA0QzgwRDI4MEZBODBDNjgwRDQ4MDY5ODBGMjgwQ0YKKzoxMDFBMTAwMDMzODAxMDgwQTY4MEVBODA5QTgwQTg4MERBODBFMjgwRjUKKzoxMDFBMjAwMENBODAzMzg5ODI4QTgzRUNGQUU0OTNBM0M4QzU4MkM4NEEKKzoxMDFBMzAwMENDQzU4M0NDRjBBM0M4QzU4MkM4Q0NDNTgzQ0NERkU5QjQKKzoxMDFBNDAwMERFRTc4MDBEODk4MjhBODNFNDkzQTNGNjA4REZGOUVDNTAKKzoxMDFBNTAwMEZBQTlGMEVERkIyMjg5ODI4QTgzRUNGQUUwQTNDOEM1REIKKzoxMDFBNjAwMDgyQzhDQ0M1ODNDQ0YwQTNDOEM1ODJDOENDQzU4M0NDMDIKKzoxMDFBNzAwMERGRUFERUU4ODBEQjg5ODI4QTgzRTQ5M0EzRjIwOERGNzEKKzoxMDFBODAwMEY5ODBDQzg4RjBFRjYwMDEwRTRFNjBDMzg4RjBFRDI0NDEKKzoxMDFBOTAwMDAyQjQwNDAwNTBCOUY1ODJFQjI0MDJCNDA0MDA1MEFGNDQKKzoxMDFBQTAwMDIzMjM0NTgyMjM5MDE5RkM3M0JCMDEwNjg5ODI4QTgzMTQKKzoxMDFBQjAwMEUwMjI1MDAyRTcyMkJCRkUwMkUzMjI4OTgyOEE4M0U0MEQKKzoxMDFBQzAwMDkzMjJCQjAxMENFNTgyMjlGNTgyRTU4MzNBRjU4M0UwOTgKKzoxMDFBRDAwMDIyNTAwNkU5MjU4MkY4RTYyMkJCRkUwNkU5MjU4MkY4QjcKKzoxMDFBRTAwMEUyMjJFNTgyMjlGNTgyRTU4MzNBRjU4M0U0OTMyMkJCN0QKKzoxMDFBRjAwMDAxMDY4OTgyOEE4M0YwMjI1MDAyRjcyMkJCRkUwMUYzOUQKKzoxMDFCMDAwMDIyRjhCQjAxMERFNTgyMjlGNTgyRTU4MzNBRjU4M0U4RTkKKzoxMDFCMTAwMEYwMjI1MDA2RTkyNTgyQzhGNjIyQkJGRTA1RTkyNTgyOUYKKzoxMDFCMjAwMEM4RjIyMkM1RjBGOEEzRTAyOEYwQzVGMEY4RTU4MjE1NjgKKzoxMDFCMzAwMDgyNzAwMjE1ODNFMDM4RjAyMkEzRjhFMEM1RjAyNUYwQUEKKzoxMDFCNDAwMEYwRTU4MjE1ODI3MDAyMTU4M0UwQzgzOEYwRTgyMkJCMDgKKzoxMDFCNTAwMDAxMTBFNTgyMjlGNTgyRTU4MzNBRjU4M0UwRjVGMEEzRUIKKzoxMDFCNjAwMEUwMjI1MDA5RTkyNTgyRjg4NkYwMDhFNjIyQkJGRTBBNDkKKzoxMDFCNzAwMEU5MjU4MkY4RTJGNUYwMDhFMjIyRTU4MzJBRjU4M0U5MTcKKzoxMDFCODAwMDkzRjVGMEEzRTk5MzIyQkIwMTBBODk4MjhBODNGMEU1RTkKKzoxMDFCOTAwMEYwQTNGMDIyNTAwNkY3MDlBN0YwMTkyMkJCRkUwNkYzQzYKKzoxMDFCQTAwMEU1RjAwOUYzMTkyMkY4QkIwMTExRTU4MjI5RjU4MkU1NzgKKzoxMDFCQjAwMDgzM0FGNTgzRThGMEU1RjBBM0YwMjI1MDA5RTkyNTgyQTUKKzoxMDFCQzAwMEM4RjYwOEE2RjAyMkJCRkUwOUU5MjU4MkM4RjJFNUYwQjYKKzoxMDFCRDAwMDA4RjIyMkE0MjU4MkY1ODJFNUYwMzU4M0Y1ODMyMkU2MUEKKzoxMDFCRTAwMEZCMDhFNkZBMDhFNkY5MjJFQkY2MDhFQUY2MDhFOUY2NTkKKzoxMDFCRjAwMDIyRTBGQkEzRTBGQUEzRTBGOTIyRUJGMEEzRUFGMEEzRDIKKzoxMDFDMDAwMEU5RjAyMkQwODNEMDgyRjhFNDkzNzAxMjc0MDE5MzcwQ0IKKzoxMDFDMTAwMDBEQTNBMzkzRjg3NDAxOTNGNTgyODg4M0U0NzM3NDAyOEYKKzoxMDFDMjAwMDkzNjg2MEVGQTNBM0EzODBERkFCMzZBQTM3QTkzOEU1OUEKKzoxMDFDMzAwMDRDMTIxQUU4NzQwMTI1MzhGNTM4RTQzNTM3RjUzN0FCMUUKKzoxMDFDNDAwMDM2RkFBOTM4NzQxMTEyMUFFODc0MDEyNTM4RjUzOEU0MDcKKzoxMDFDNTAwMDM1MzdGNTM3OTBGRjA2RTBBQjM2QUEzN0E5MzgxMjFBQTgKKzoxMDFDNjAwMEU4NzQwMTI1MzhGNTM4RTQzNTM3RjUzN0FCMzZGQUE5OEQKKzoxMDFDNzAwMDM4RTQxMjFBRTgwNDI1MzhGNTM4RTQzNTM3RjUzN0FCN0YKKzoxMDFDODAwMDM2RkFBOTM4RTQxMjFBRTgwNDI1MzhGNTM4RTQzNTM3NkQKKzoxMDFDOTAwMEY1Mzc5MEZGMDRFMEFCMzZBQTM3QTkzODEyMUFFODc0N0EKKzoxMDFDQTAwMDAxMjUzOEY1MzhFNDM1MzdGNTM3OTBGRjA1RTBBQjM2RDgKKzoxMDFDQjAwMEFBMzdBOTM4MTIxQUU4NzQwMTI1MzhGNTM4RTQzNTM3RkYKKzoxMDFDQzAwMEY1MzcyMkY1ODNFMDU0MDhBQjM2QUEzN0E5MzgyMkY1NTgKKzoxMDFDRDAwMDgzRUZGMEZEN0MwMEMzNzg3QkU2OURGNjE4RTY5Q0Y2NkEKKzoxMDFDRTAwMEU2RkUwOEU2NzgwMzIyNzUzNjAxNzUzN0Y5NzUzODcyMTUKKzoxMDFDRjAwMDIyRTA0NDA0RjA3NDEzMkZGNTgyRTQzNEY5RjU4M0UwMTQKKzoxMDFEMDAwMDIyOTBGQUJDRTBGRjdFMDBDMzkwRkFDMEUwOUZGMDkwMDIKKzoxMDFEMTAwMEZBQkZFMDlFRjA5MEZBQjdFRThGRjAxMjFCMUNFRjI1OTEKKzoxMDFEMjAwMDRGRjU0RkVFMzU0RUY1NEUyMjdCMDE3QUZBNzlCNDkwOUQKKzoxMDFEMzAwMEZBQjdFMEY1MkRBM0UwRjUyRTIyNzg3Q0U2RkUwOEU2NjIKKzoxMDFENDAwMDhFODMyNDA0RjU4MkU0MzU4M0Y1ODMyMjU0MEY3NUYwRTUKKzoxMDFENTAwMDA4QTQyNDQwRjU4MkU0MzRGRkY1ODMyMkU1NEQ3NUYwQjQKKzoxMDFENjAwMDA4QTQyNDQ4RjU4MkU0MzRGRjIyRTU0RDc1RjAwOEE0NjgKKzoxMDFENzAwMDI0MDhGNTgyRTQzNEZGMjI5MEZBQjlFMEZGMjRGQzIyMjMKKzoxMDFEODAwMDkwRkYwMEUwNTQxRjIyOTBGQUJFRTA5MEZBQkFGMDIyRDEKKzoxMDFEOTAwMDc1MzMwMDhGMzQ5MEY5NkYxMjFCRUE5MDAwMDIyMjU0QzEKKzoxMDFEQTAwMDBGNzVGMDA4QTQyNDAwRjU4MkU0MzRGRkY1ODMyMjc1NTIKKzoxMDFEQjAwMEYwMDhBNDI0NDFGNTgyRTQzNEZGRjU4MzIyNzQ4MEYwMTYKKzoxMDFEQzAwMDA4RTZGRkU5NzVGMDA4QTQyMjc0QjIyNTIyRjU4MkU0NDIKKzoxMDFERDAwMDM0RkFGNTgzMjI3NUYwMDhBNDI0NDJGNTgyRTQzNEZGMzYKKzoxMDFERTAwMEY1ODM3NDgwRjAyMjkwRkY4MkUwNDQwOEYwMjI5MEZGOTcKKzoxMDFERjAwMEZFRTA0NDAzRjA5MEZGRkNFMDU0RkRGMDIyNzg2N0U2M0IKKzoxMDFFMDAwMDU0RkRGNjkwRkZGRDc0NjVGMDIyMTIxQkNDRTBGRUEzOUEKKzoxMDFFMTAwMEUwRkY0RTIyN0IwMTdBRkE3OUI3MjI5MEZGODBFMDQ0RkUKKzoxMDFFMjAwMDA4RjAyMjkwRkY4M0UwNTQ3RkYwMjJFMEZGOTBGOTZBRUYKKzoxMDFFMzAwMDAyMUJFQTkwRkZBNEUwNDQwMkYwMjI3NTM5MDE3NTNBRDIKKzoxMDFFNDAwMDA5MjI3QjAxN0FGOTc5NzIyMkQzRTUzQzk0MDhFNTNCQkIKKzoxMDFFNTAwMDk0MDEyMjkwRkFCRUUwRkY5MEZBQkFGMDIyOTBGRkE0MUIKKzoxMDFFNjAwMEUwNTRFRjIyOTBGRkI0RTA1NEVGMjIxMjEwNEI3ODg4MzgKKzoxMDFFNzAwMEVGRjYxMjJBQzcxMjIyRkE4RTgzMjQwOTEyMjJBMUUwNTkKKzoxMDFFODAwMEZEMTIyMkU4OTAwMDBBMTIyMzAyMjQwQTEyMjJBMUUwODUKKzoxMDFFOTAwMDkwMDAwQjEyMUFGQTEyMjJGQUY1ODI4RTgzQTNBM0EzRTIKKzoxMDFFQTAwMEUwRjU1MzEyMjMwNjI0MDQxMjIyQTFFMEY1NTQ4RjgyOTgKKzoxMDFFQjAwMDhFODNBM0EzRTBGNTU1RTU1M0M0MTMxMzEzNTQwMTc4OUYKKzoxMDFFQzAwMDg4RjZEMzk0MDA0MDA2RTU1NDMwRTEwMTA2Nzg4OEU2QjAKKzoxMDFFRDAwMDEyMjJFNzkwMDAwQ0VGMTIxQUZBMTIyMkI1QTNBM0UwMjcKKzoxMDFFRTAwMEZFQTNFMEZGNTMwNzBDNTMwNkU2RTU1MzMwRTUwMzQzM0EKKzoxMDFFRjAwMDA3MDFFNTU0MjBFNTBFRTU1MzU0N0Y3MDA4RTU1MzIwQjMKKzoxMDFGMDAwMEU3MDM0MzA3MDJFNTUzMzBFMzAzNDMwNzEwRTU1MzMwOEIKKzoxMDFGMTAwMEUyMDM0MzA3MjBFNTUzNTQwMzYwMDM0MzA3NDBFNTUzQkUKKzoxMDFGMjAwMDMwRTEwMzQzMDc4MEU1NTMzMEU0MDM0MzA2MDFFNTUzMDIKKzoxMDFGMzAwMDMwRTYwMzQzMDYwOEU1NTQyMEU0MEVFNTUzNTQ3RjcwNzEKKzoxMDFGNDAwMDA4RTU1MzIwRTcwMzQzMDYxMDUzMDdGQjUzMDY3OTkwMzcKKzoxMDFGNTAwMDAwMDVFRThGRjAxMjFCOUZFNTU1MzBFMzEyNTQzMEZGNjEKKzoxMDFGNjAwMEM0NTQwRjEyMjJFNzkwMDAwOEVGMTIxQUZBODAwQTEyRTYKKzoxMDFGNzAwMDIyRTg5MDAwMDhFNDEyMUFGQUU1NTU1NDAzMTIyMkU3MDkKKzoxMDFGODAwMDkwMDAwN0VGMTIxQUZBRTU1NTU0MDRGRkMzMTM5MDAwQUUKKzoxMDFGOTAwMDA5MTIxQUZBOTAwMDA3MTIxQUJCNzAxMzEyMjJFOEU5MEMKKzoxMDFGQTAwMDI0MDlGOUU0M0FGQTEyMUFBMkZGQzMxMzEyMUFFODEyMkEKKzoxMDFGQjAwMDIzMjcyNDA4MTIyMkExRTBGRThEODI4QzgzRTU4MjI0NEYKKzoxMDFGQzAwMDA3MTIyMkExRTBGREVFRUQxMjIyRTc5MDAwMDNFRThGNTIKKzoxMDFGRDAwMEYwMTIxQjlGMTIzMjg0N0QwQUU0RkYxMjJGQjQwMjEwMEMKKzoxMDFGRTAwMENFOTBGQUU2RTBCNDAzMDY3RTAwN0Y0MDgwMDQ3RTAwRDcKKzoxMDFGRjAwMDdGMDg5MEZBREFFRUYwQTNFRkYwOTAwMDA1MTIxQUJCMUEKKzoxMDIwMDAwMEZGN0UwMDkwRkFENkVFRjBBM0VGRjA3MDAzN0YwODIyNzcKKzoxMDIwMTAwMDkwMDAwODEyMUI0OEZGOTBGQUQ4RTVGMEYwQTNFRkYwMEIKKzoxMDIwMjAwMEFFMDJBRjAxOEU1MDhGNTE3NDBBMjU1MUY1NTFFNDM1M0YKKzoxMDIwMzAwMDUwRjU1MDkwRkFEQkUwRkYxNEZFOTBGQUQ5RTA1RUZFMTYKKzoxMDIwNDAwMEMzRUY5RUZGOTBGQURERjBDMzkwRkFEN0UwOUY5MEZBQkQKKzoxMDIwNTAwMEQ2RTA5NDAwNTAwNkEzRTA5MEZBRERGMDEyMjBBOTYwQ0IKKzoxMDIwNjAwMDAzRTBGRjIyMTIyRTJCOTBGQUQ2RTBGRUEzRTBGRjRFRjMKKzoxMDIwNzAwMDYwMkI5MEZBREFFMEZDQTNFMEZERDNFRjlERUU5QzQwRUMKKzoxMDIwODAwMDA3RTA5MEZBRERGMDgwMDg5MEZBRDdFMDkwRkFEREYwRjIKKzoxMDIwOTAwMDEyMjBBOTYwMDNFMEZGMjIxMjJFMkI4MENBN0IwMDdBNTcKKzoxMDIwQTAwMDAwNzk1MkU0RjUyREY1MkU3RDAxMTIyNjk4N0YwMDIyNEQKKzoxMDIwQjAwMEFBNTBBOTUxN0IwMTkwRkFEOEUwRkNBM0UwRkQ5MEZBNjgKKzoxMDIwQzAwMERERTBGNTRBMTIyOTYwOTBGQURDRUZGMDIyRUYyNEFFNTEKKzoxMDIwRDAwMDYwNTIyNEZFNjAyRTI0RkU3MDAzMDIyMTY5MjQwNjYwRjMKKzoxMDIwRTAwMDAzMDIyMUIxNzg3MUU2NTRGQkY2OTBGRkE1RTBGNTIyREEKKzoxMDIwRjAwMDQ0MEZGMDc0MzM5MEZBOTRGMEU1MjJBM0YwOTBGQUIyMTIKKzoxMDIxMDAwMDc0MDFGMDIyNzg3MkU2NTRGQkY2OTBGRkI1RTBGNTIyRjgKKzoxMDIxMTAwMDQ0MEZGMDc0NDM5MEZBOTZGMEU1MjJBM0YwOTBGQUIzREUKKzoxMDIxMjAwMDc0MDFGMDIyOTBGQUEwRTBBMzIwRTUwMzAyMjFCMTkwMEYKKzoxMDIxMzAwMEZGQTZFMDkwRkFDREYwQTNGMDkwRkFDREUwRkY1NDBGQTcKKzoxMDIxNDAwMEZFNjAxMDkwRkZBNjEyMjMwRDkwRkZBNkUwOTBGQUNEM0UKKzoxMDIxNTAwMEYwODBFNjkwRkFDRUUwRkY3NDM0RkUxMjJEODVFRjcwMjkKKzoxMDIxNjAwMDU3OTBGQUNFRTBGRjc0MzQ5MEZBOThGMEVGQTNGMDIyODMKKzoxMDIxNzAwMDkwRkFBQUUwQTMzMEU1NDA5MEZGQjZFMDkwRkFDREYwRTcKKzoxMDIxODAwMEEzRjA5MEZBQ0RFMEZGNTQwRkZFNjAxMDkwRkZCNjEyNUUKKzoxMDIxOTAwMDIzMEQ5MEZGQjZFMDkwRkFDREYwODBFNjkwRkFDRUUwMDUKKzoxMDIxQTAwMEZGNzQ0NEZFMTIyRDg1RUY3MDBFOTBGQUNFRTBGRjc0OUUKKzoxMDIxQjAwMDQ0OTBGQTlBRjBFRkEzRjAyMkMwRTBDMEYwQzA4M0MwRDAKKzoxMDIxQzAwMDgyQzBEMDc1RDAwMEMwMDBDMDAxQzAwMkMwMDNDMDA0RUUKKzoxMDIxRDAwMEMwMDVDMDA2QzAwNzkwRkY5MkUwRkY5MEZBQ0NGMDkwRDcKKzoxMDIxRTAwMEZGOTJFNEYwRUYxMjFCRkMyMjY5MjYyMjY5MkUyMjBDREEKKzoxMDIxRjAwMDMwMjIwQzMyMjIxQTM4MjIyQzNBMjI1RTNFMjI0OTQ0RTYKKzoxMDIyMDAwMDIyM0U0NjIyNTQ1MDIyNTQ1MjIyNTQ1NDIyNTQ1NjAwMDQKKzoxMDIyMTAwMDAwMjI2RTkwRkFDQ0UwRkQ3QzAwN0YwMTEyMTE1RTgwRkUKKzoxMDIyMjAwMDYyN0MwMDdEMDE3RjAzMTIxMTVFOTBGRkZFRTA0NDIwN0UKKzoxMDIyMzAwMEYwODA1MDdDMDA3RDAxN0YwMjEyMTE1RTkwRkZGRUUwNzUKKzoxMDIyNDAwMDQ0NDBGMDgwM0U3QzAwN0QwMTdGMDUxMjExNUU4MDMzQUEKKzoxMDIyNTAwMDdDMDA3RDAxN0YwNjEyMTE1RTgwMjg5MEZBQ0NFMEZGQTEKKzoxMDIyNjAwMDEyMjBDNjgwMUU3QzAwN0QwMTdGMDQxMjExNUU4MDEzNDcKKzoxMDIyNzAwMDEyMjg0RTgwMEU5MEZBQ0NFMDI0MDBGRkU0MzRGRkZFREEKKzoxMDIyODAwMDEyMkQ4NUQwMDdEMDA2RDAwNUQwMDREMDAzRDAwMkQwQkYKKzoxMDIyOTAwMDAxRDAwMEQwRDBEMDgyRDA4M0QwRjBEMEUwMzI3ODdDOTIKKzoxMDIyQTAwMEU2RkUwOEU2MjQwNDhFODNGNTgyRTQzNTgzRjU4MzIyNzYKKzoxMDIyQjAwMDc0MTMyNTI0RjU4MkU0MzRGOUY1ODMyMjc4ODBFNkZFNTAKKzoxMDIyQzAwMDA4RTZGNTgyOEU4MzIyNzg4MEU2RkUwOEU2QUEwNkY4MDQKKzoxMDIyRDAwMEFDMDI3RDAxN0JGRjdBMzI3OTU2N0UwMDdGMEEwMjFBQkEKKzoxMDIyRTAwMDdDNzg4MEU2RkMwOEU2RjU4MjhDODNBM0EzMjJGRjkwMkQKKzoxMDIyRjAwMEY5NkYwMjFCRUE5MEY5NkExMjFCRUE5MDAwMDQwMjFBQjUKKzoxMDIzMDAwMEJCNzg3RUU2RkUwOEU2RkYyMkVEMTIxQUZBOEY4MjhFNzcKKzoxMDIzMTAwMDgzRTU4MjIyRUZGMDkwRkFDRUUwNTQwRjRFRkVGMEVGMEMKKzoxMDIzMjAwMDU0RjA0RUYwMjI3ODgwRTZGQzA4RTY4QzgzMjI3ODdFMUEKKzoxMDIzMzAwMEU2RkMwOEU2RkQ4QzgzMjJBNjA3RTYyNDZFRjhFNjIyN0EKKzoxMDIzNDAwMDc4N0VFNkZBMDhFNkZCMjIwOEU2RkUwOEU2OEU4MzIyOUYKKzoxMDIzNTAwMDI2RjYxOEVFMzZGNjIyRUYyNDBCRjU4MkU0M0VGNTgzREUKKzoxMDIzNjAwMDIyOEI4MjhBODNFNTgyMjI4QjI1OEEyNjg5Mjc4RDI4RTMKKzoxMDIzNzAwMDkwRkFEMkU0RjBBMzc0MDJGMDdCMDE3QUZBNzlEMTkwNUEKKzoxMDIzODAwMEZBRDJFMEY1MkRBM0UwRjUyRTdEMDExMjI2OTg5MEZBMDEKKzoxMDIzOTAwMEQxRTA2NTI4NjA0NkEzRTBGRkEzRTBBM0NGRjBBM0VGNjAKKzoxMDIzQTAwMEYwMTIyM0YwOTBGQUQxRTBGRjkwRkFENEU0OEZGMDEyMEIKKzoxMDIzQjAwMDFCMUMxMjIzRjA5MEZBRDRFMEZGQTNFMDkwRkFEMkNGRDYKKzoxMDIzQzAwMEYwQTNFRkYwOTBGQUQxRTBBMzc1RjAwMDEyMUIxQzkwN0YKKzoxMDIzRDAwMEZBRDJFNDc1RjAwNDEyMUIxQzAyMjM3MjkwRkFEM0UwQzcKKzoxMDIzRTAwMDI0MDFGRjkwRkFEMkUwMzQwMEFCMjVBQTI2QTkyNzhGNUEKKzoxMDIzRjAwMEYwMTIxQjgwN0YwMDIyN0IwMTdBRkE3OUQxOTBGQUQyMDkKKzoxMDI0MDAwMEU0NzVGMDAxMTIxQjFDODVGMDJFRjUyRDdEMDEwMjI2Q0UKKzoxMDI0MTAwMDk4OEY2MjEyMkFDNzEyMjJGQThFODMyNDBCMTIyMkExRUQKKzoxMDI0MjAwMEUwNTRGQkYwNDQwMkYwMDgxMjIyRENFMEEzMzBFNTBDOUIKKzoxMDI0MzAwMDEyMjMwNjI0MEIxMjIyQTFFMDQ0MDFGMDc4N0NFNkZFNzAKKzoxMDI0NDAwMDA4RTZGRkY1ODI4RTgzRTA1NEI4RkRGMEU1NjIyNEZFRDUKKzoxMDI0NTAwMDQ0MjBGQzRERjBFNTgyMjQwNDEyMjJBMUUwNTRCOEYwOUYKKzoxMDI0NjAwMDRDRjA4RjgyOEU4M0EzNzQwM0YwMThFNkZFMDhFNkZGMUIKKzoxMDI0NzAwMDhFODMyNDA1MTIyMkExQzA4M0MwODJFMEZENzQ5OTI1QjkKKzoxMDI0ODAwMDYyRjU4MkU0MzRGQUY1ODNFMDU0RkM0NDAzRkNFRDRDM0QKKzoxMDI0OTAwMEQwODJEMDgzRjA4RjgyOEU4M0UwNDQ4MEYwRTU4MjI0NjYKKzoxMDI0QTAwMDA0MTIyMkExRTA0NDgwRjAxMjMyODQ3NDZFMjU2MkY4OTYKKzoxMDI0QjAwMDc0MDQ0NkY2N0YwMDIyMTIxMDRCN0YwMjEyMTI2MTc4REMKKzoxMDI0QzAwMDY3RTY0NDAyRjZEMkIwRDJCMTkwRjkxNkUwMzBFNzA3RTEKKzoxMDI0RDAwMDkwRkY5RUU0RjA4MDM2RDJCMzkwRkZBNEUwOTBGQTdFQTUKKzoxMDI0RTAwMEYwOTBGRkI0RTA5MEZBN0ZGMDkwRkZBMkUwOTBGQTdDQzkKKzoxMDI0RjAwMEYwOTBGRkIyRTA5MEZBN0RGMDkwRkZBNDc0MzBGMDkwN0QKKzoxMDI1MDAwMEZGQjRGMDkwRkZBMjc0NDBGMDkwRkZCMkYwOTBGQUU3QjEKKzoxMDI1MTAwMEU1QThGMDc1QTg4MTkwRkY5MkUwNjAwNEU0RjA4MEY2RjEKKzoxMDI1MjAwMDkwRkZGRDc0M0FGMDQzODcwMTAwMDAwMDkwRkE3RUUwQ0UKKzoxMDI1MzAwMDkwRkZBNEYwOTBGQTdGRTA5MEZGQjRGMDkwRkE3Q0UwNzYKKzoxMDI1NDAwMDkwRkZBMkYwOTBGQTdERTA5MEZGQjJGMDkwRjkxOEUwRDEKKzoxMDI1NTAwMDYwMDJDMkIzOTBGQUU3RTBGNUE4MDIxMENFOEI1QzhBNjUKKzoxMDI1NjAwMDVEODk1RTEyMkUwRDkwRkFDMzEyMUJGM0FBNURBOTVFNUYKKzoxMDI1NzAwMDkwRkFDNjEyMUJGMzkwRkFDN0U0NzVGMDBBMTIxQjFDRkUKKzoxMDI1ODAwMDkwRkFDNjEyMUJFQUU5MjQwMUY5RTQzQUZBOTBGQUM5NzIKKzoxMDI1OTAwMDEyMUJGM0FCNUNBQTVEQTk1RTEyMkUxOUUwRkZDMzEzRjgKKzoxMDI1QTAwMEYwRTQ3ODgyRjY5MEZBQzFFMEZGNzg4MkU2QzM5RjUwQUIKKzoxMDI1QjAwMDRBOTBGQUMzMTIyREVFRkY3ODgzRjY5MEZBQzYxMjJERDgKKzoxMDI1QzAwMEVFRkVGNDVGRkY3ODgzRjYxMjJERUI1RTRGRkY3ODgzMEIKKzoxMDI1RDAwMEY2MTIyREY0NzVGMDAyMTIxQjFDOTBGQUM3RTQ3NUYwODgKKzoxMDI1RTAwMDAyMTIxQjFDQUI1Q0FBNURBOTVFOTAwMDA0MTIxQUJCMTAKKzoxMDI1RjAwMDMwRTQwMzEyMkUwMzc4ODIwNjgwQUFFNDkwRkFDMkYwMzcKKzoxMDI2MDAwMDIyOEI1NjhBNTc4OTU4OTBGQUMyNzQwNkYwRTQ5MEZBRTEKKzoxMDI2MTAwMEMxRjAxMjFBQTIyNDZFNjAyNjE0NzA3MDEyMkREQTYwQjYKKzoxMDI2MjAwMDA5MjQzMDcwMTIxMjI1NTY4MDYyMTIyRTI0MTIxRkRBRUQKKzoxMDI2MzAwMDkwRkFDMkVGRjA4MDU1OTBGQUMyNzQ4MUYwODA0RDEyOEEKKzoxMDI2NDAwMDJEREE2MDA5MjQzMDcwM0UxMjJEMzA4MDNGRTU1ODI0ODkKKzoxMDI2NTAwMDAzRjlFNDM1NTdGQTdCMDFDMDAzQzAwMkMwMDExMjJFMTIKKzoxMDI2NjAwMDI0OTAwMDA1MTIxQUJCRkQ5MDAwMDgxMjFCNDhGNTJFOUQKKzoxMDI2NzAwMDg1RjAyREQwMDFEMDAyRDAwMzEyMjY5ODkwRkFDMUVGMzgKKzoxMDI2ODAwMEYwRTRBM0YwODAwNjkwRkFDMjc0ODFGMDkwRkFDMkUwMDAKKzoxMDI2OTAwMDEyMkUyNDkwMDAwMjEyMUFGQTkwRkFDMUUwRkYyMjhCNDcKKzoxMDI2QTAwMDI5OEEyQTg5MkI4RDJDRTUyQzcwMDNBRjJDMjIxMjJFMUYKKzoxMDI2QjAwMDUzNzAxNjEyMkU3MkU1MkQ5MEZGRjFGMDEyMzFEODUwQTIKKzoxMDI2QzAwMEYyMTIyNzI1NDAwQjdGMDAyMjEyMkU3MjEyMjcyNTUwNkUKKzoxMDI2RDAwMEY4OTBGRkYzNzRBMUYwRTUyQ0I0MDEwNzkwRkZGMEUwNEYKKzoxMDI2RTAwMDQ0MDJGMDkwRkZGMUU0RjBGNTJGRTUyQzE0RkZFNTJGMDQKKzoxMDI2RjAwMEMzOUY1MDJBMTIzMUMxNDAwM0FGMkYyMkMzRTUyQzk1NEUKKzoxMDI3MDAwMDJGRkZCRjAyMDc5MEZGRjBFMDQ0MDJGMDEyMkU2NTA1OTQKKzoxMDI3MTAwMDJGNzQwMTI1MkJGNTJCRTQzNTJBRjUyQTgwQ0MxMjMxQjQKKzoxMDI3MjAwMEMxNDAwMzdGMTgyMjEyMkU2NUFGMkMyMjkwRkZGMUU1RTUKKzoxMDI3MzAwMDJFRjAwMjMxRDgxMjEwNEI3ODg0MTIyMzMxMzBFMTA4ODgKKzoxMDI3NDAwMDdGMTMxMjMxQTkwMjI3QkM3ODg0RTZGOTI0MTMxMjIyRTAKKzoxMDI3NTAwMEFERTBGRjMwRTc0MDU0MDM2MDFFRTlCNDAzMEQ5MEZGODUKKzoxMDI3NjAwMDlFRTA1NEZFRjBFMDQ0MDRGMDgwNDY5MEZGOUVFMDU0NkEKKzoxMDI3NzAwMEZERjBFMDQ0MDhGMDgwMzlFOUI0MDMwRDkwRkY5RUUwREQKKzoxMDI3ODAwMDU0RkJGMEUwNDQwMUYwODAyODkwRkY5RUUwNTRGN0YwMDUKKzoxMDI3OTAwMEUwNDQwMkYwODAxQkVGNTQwMzYwMTRFOUI0MDMwOTkwOTUKKzoxMDI3QTAwMEZGQTRFMDU0REZGMDgwMDc5MEZGQjRFMDU0REZGMEMyRjQKKzoxMDI3QjAwMEIzOTBGOTE4RTAwNEYwQUYwMTEyMjJFRUZEMTIyRkU1RkMKKzoxMDI3QzAwMDEyMzFBOTAyMTBDRTc1QTg0MDc4N0ZFNEY2RDhGRDc1QzUKKzoxMDI3RDAwMDgxOEIwMjI4MDkwMjMxOENFNDkzQTNGOEU0OTNBMzQwOEYKKzoxMDI3RTAwMDAzRjY4MDAxRjIwOERGRjQ4MDI5RTQ5M0EzRjg1NDA3OEMKKzoxMDI3RjAwMDI0MENDOEMzMzNDNDU0MEY0NDIwQzg4MzQwMDRGNDU2ODcKKzoxMDI4MDAwMDgwMDE0NkY2REZFNDgwMEIwMTAyMDQwODEwMjA0MDgwQkUKKzoxMDI4MTAwMDkwMkJBOUU0N0UwMTkzNjBCQ0EzRkY1NDNGMzBFNTA5RUYKKzoxMDI4MjAwMDU0MUZGRUU0OTNBMzYwMDEwRUNGNTRDMDI1RTA2MEE4QkUKKzoxMDI4MzAwMDQwQjhFNDkzQTNGQUU0OTNBM0Y4RTQ5M0EzQzhDNTgyNTEKKzoxMDI4NDAwMEM4Q0FDNTgzQ0FGMEEzQzhDNTgyQzhDQUM1ODNDQURGQkYKKzoxMDI4NTAwMEU5REVFNzgwQkVFNEY1MjIxMjFEQzJFMEI0MDQwREU1MTYKKzoxMDI4NjAwMDIyMjQwM0ZGMTIzMDEzMTIxREMyRTRGMDA1MjJFNTIyRDgKKzoxMDI4NzAwMEMzOTQwMjQwRTNFNEY1MjI3NUYwMDJFNTIyOTBGQTk0NTUKKzoxMDI4ODAwMDEyMUUwMzYwMkMxMjJEODVFRjYwNTI3NUYwMDJFNTIyQjYKKzoxMDI4OTAwMDkwRkE5NDEyMUJDQ0U0RjBBM0YwNzVGMDBBRTUyMjkwQjQKKzoxMDI4QTAwMEZBQTAxMjFCQ0NFMEEzMzBFNjMzMTIxREMyNzQwNEYwNzAKKzoxMDI4QjAwMDIyNzVGMDAyRTUyMjkwRkE5ODEyMUUwMzYwMTYxMjJEN0UKKzoxMDI4QzAwMDg1RUY2MDE5NzVGMDAyRTUyMjkwRkE5ODEyMUJDQ0U0QUUKKzoxMDI4RDAwMEYwQTNGMDIyMDUyMkU1MjJDMzk0MDI0MDlCMjJFNEZGRUMKKzoxMDI4RTAwMDkwRkY4M0UwNTQwRkZFRUZDMzlFNTAxNzc0RjAyRkY1NTYKKzoxMDI4RjAwMDgyRTQzNEZFRjU4M0UwMTIxQ0MxMTIxQUU4MEYxMjFDQTgKKzoxMDI5MDAwMEIwODBEREVGRkRDM0U1M0E5REY1M0FFNTM5OTQwMEY1NzkKKzoxMDI5MTAwMDM5RDNFNTNBOTQwMEU1Mzk5NDAwNDAwNkU0OTBGRjgzMEEKKzoxMDI5MjAwMEYwMjIxMjFEREYxMjFFMzQxMjFFMjYxMjFBQTIyNDZFNkQKKzoxMDI5MzAwMDYwMUUxNDYwMUIyNDhFNzAyRDkwMDAwMTEyMUFCQkZGQzQKKzoxMDI5NDAwMDI0RkM2MDAzMDQ3MDFGRUZGRDdDMDA3RjBEMDIxMTVFMEMKKzoxMDI5NTAwMDEyMUUzQjEyMjVGQTEyMUQ4OTEyMUFCQjYwMDMwMjMyQTUKKzoxMDI5NjAwMDdBRTRGRjEyMzI2RTIyOEI0NThBNDY4OTQ3OEM0ODhENjUKKzoxMDI5NzAwMDQ5RDIwMDEyMkU1MzcwMTYxMjJFNzJFNTQ4OTBGRkYxQzQKKzoxMDI5ODAwMEYwMTIzMUQ4NTBGMjEyMjlENTQwMEI3RjE4MjIxMjJFQTYKKzoxMDI5OTAwMDcyMTIyOUQ1NTBGOEU0RjU0QkU1NEExNEZGRTU0QkMzMTQKKzoxMDI5QTAwMDlGNTAxNzEyMjlDNTQwMDM3RjE4MjIwNTRCNzQwMTI1M0IKKzoxMDI5QjAwMDQ3RjU0N0U0MzU0NkY1NDY4MERGOTBGRkYwRTA0NDAxRjcKKzoxMDI5QzAwMEYwMTIyOUM1NDAwMzdGMTgyMjdGMDAyMkFCNDVBQTQ2OUEKKzoxMDI5RDAwMEE5NDcxMjFBQTI5MEZGRjFGMDAyMzFEODkwRkZGMUU1NTkKKzoxMDI5RTAwMDQ5RjAwMjMxRDg3QjAxN0FGQTc5Q0ZFNEZEMTIyMzYxRjQKKzoxMDI5RjAwMDkwRkFDRkU0NzVGMDA5MTIxQjFDN0IwMDdBMDA3OTIzNTIKKzoxMDJBMDAwMDkwRkFDRkU0NzVGMDAxMTIxQjMyODVGMDJFRjUyRDdEODIKKzoxMDJBMTAwMDAxMTIyNjk4OTBGRkY3RTUyMzEyMkEzOTkwRkZGNkU1NzgKKzoxMDJBMjAwMDIzRjA5MEZBQ0ZFNEYwQTM3NDA2MTIyQTM5RTUyMzMwOUMKKzoxMDJBMzAwMEUwMDc5MEZGRkM3NDk0RjAyMjkwRkZGQzc0OTBGMDIyNjkKKzoxMDJBNDAwMEYwN0IwMDdBMDA3OTIzOTBGQUNGRTQ3NUYwMDExMjFCMzUKKzoxMDJBNTAwMDMyODVGMDJFRjUyRDdEMDEwMjI2OTg5MEZGOTM3NDgxMkEKKzoxMDJBNjAwMEYwOTBGRkZGRTA2MDA2OTBGRkZDNzQxMEYwOTBGRjkxODMKKzoxMDJBNzAwMEUwNDQ5MEYwRTQ5MEY5MTZGMEEzRjAxMjJCMzkxMjE2MEUKKzoxMDJBODAwMEM5MTIzMDY5N0UwNzdGRDAxMjEyMkE3RTBGN0ZBMDEyRjIKKzoxMDJBOTAwMDEyNDRFNDc4NzdGNjc4NzdFNkZGQzM5NDA2NTAwQjc0MTcKKzoxMDJBQTAwMDZFMkZGOEU0RjY3ODc3MDY4MEVDN0YwMzEyMzBCMjkwNTAKKzoxMDJBQjAwMEY5MTZFMDIwRTQwNTdGMDQxMjMwQjI5MEZGOUJFNEYwQTkKKzoxMDJBQzAwMDkwRkY5QUYwOTBGRkU4RTA1NDFGRjBEMkE4MjIxNTY1MUQKKzoxMDJBRDAwMEE4NjVBNjA3MzAwODA1MTIxMUFFODBGOEQyMDhBODY1Q0YKKzoxMDJBRTAwMEU2RkZCNDAzMEY3ODdDNzZGRjA4NzZFMDA4NzZGRjA4RUYKKzoxMDJBRjAwMDc2QTA4MDBENzg3Qzc2RkYwODc2RTIwODc2RkYwODc2NkYKKzoxMDJCMDAwMEIwNzg4MDc2RkEwODc2OUVFRjI0RkQ3NUYwMEFBNEFFQzAKKzoxMDJCMTAwMEYwMTIyMzQ5N0IwMTdBRkY3OTQ4Nzg2ODEyMUJFMUE4RkIKKzoxMDJCMjAwMDY1RTYyNEZENzVGMDA4QTRGRkFFRjA3ODZBMTIyMzQ5MkIKKzoxMDJCMzAwMDc5MDg3ODZCMTIxQkUxNzg2REVGMTIyMzQ5MDU2NTIyNDUKKzoxMDJCNDAwMDkwRkZGMEUwNTRBQkYwRTA0NDIwRjA5MEZBRTY3NDAyMUQKKzoxMDJCNTAwMEYwN0IwMTdBRkE3OUNGRTRGNTJERjUyRTdEMDExMjI2NkUKKzoxMDJCNjAwMDk4N0UwMDkwRkFFNEVFRjBBM0VGRjA2NDAxNzAxMDkwMEMKKzoxMDJCNzAwMEZBQ0ZFMEI0NTIwOTkwRjkxNkUwNTRFRkYwODAyOTkwQjIKKzoxMDJCODAwMEZBRTRFMDcwMDRBM0UwNjQwMTcwMTA5MEZBQ0ZFMEI0QkUKKzoxMDJCOTAwMDEwMDk5MEY5MTZFMDQ0MTBGMDgwMEQ5MEZBRTY3NDAzRTUKKzoxMDJCQTAwMEYwOTBGOTE2RTA1NEVGRjA5MEZGRjBFMDQ0MjBGMDIyQUUKKzoxMDJCQjAwMDAzNjgwMUZGNDgwMzZCMDFGRjA4MDI2NjAwMDA0NEZBNDYKKzoxMDJCQzAwMDk4MDAwMDAwMDA0NEZBOTQwMDAwMDAwMDQyRkFCMjAwQUQKKzoxMDJCRDAwMDAwNDJGQTdFMDAwMDQyRkE3QzAwMDA0MkY5NkRGRkZGREQKKzoxMDJCRTAwMDQyRkE3QTAwMDA0MUY5NjZGRjQxRjkxQzE5NDFGOTE1RDIKKzoxMDJCRjAwMDAwNDNGOTE5MEEzMjAyNDFGOTY4MjA0MUY5NjkyMDQxN0MKKzoxMDJDMDAwMEY5NjUwMDQxRjk2NzAwNDRGODAwMDAwMDAwMDA0MkY5NEUKKzoxMDJDMTAwMDE2MDAwMDQxRjkxODAwMDEyMDAwNDFGODA0MDAwMDEyREMKKzoxMDJDMjAwMDEwNEI3ODhBRUZGNjEyMkFDNzEyMjJFRTMwRTAyOTc4OEMKKzoxMDJDMzAwMDdDMTIyMkI3RTA1NDdGRjA3ODZCMTIxQkQ4OTAwMDAyMTAKKzoxMDJDNDAwMDEyMUFCQjMwRTcwOTkwMDAwMkU0MTIxQUZBODBFOTc4MDAKKzoxMDJDNTAwMDdDMTIyMkI3RTA0NDgwRjAxMjIyRUUzMEUxMUUxMjIyRjQKKzoxMDJDNjAwMDk3RTA1NDdGRjAxMjMyMTk3ODY4MTIxQkQ4OTAwMDAyNTYKKzoxMDJDNzAwMDc0ODAxMjFBRkExMjIyOTdFMDQ0ODBGMDEyMzI4NEU0MkYKKzoxMDJDODAwMEZGMTIzMUE5MDIxMENFMTIxMDRCNzg4NUVGRjYxMjMxRTcKKzoxMDJDOTAwMDUwMTIzMUE5Nzg4NUU2RkYyNDEzMTIyMkFERTBGRTMwRjAKKzoxMDJDQTAwMEU3MTZFRkI0MDMwOTkwRkY5RUUwNTRGQUYwODAyMjkwRkIKKzoxMDJDQjAwMEZGOUVFMDU0RjVGMDgwMTlFRTU0MDM2MDE0RUZCNDAzNjYKKzoxMDJDQzAwMDA5OTBGRkE0RTA0NDIwRjA4MDA3OTBGRkI0RTA0NDIwODYKKzoxMDJDRDAwMEYwOTBGOTE4RTAxNEYwRTA3MDAyRDJCMzAyMTBDRTEyQjYKKzoxMDJDRTAwMDFFMUNFNTNBNjQwOTcwMDRFNTM5NjQwMTYwNDhDM0U1RDcKKzoxMDJDRjAwMDNBOTQwOEU1Mzk5NDAwNDAxMTdGMDhFRkU1M0E5NDA4Q0EKKzoxMDJEMDAwMEY1M0FFNTM5OTQwMEY1Mzk4MDA1QUYzQTEyMUUzNEU0RkUKKzoxMDJEMTAwMEZFRUVDMzlGNTAxOTEyMUNDMTEyMUFBMkZENzRGODJFQTgKKzoxMDJEMjAwMEY1ODJFNDM0RkVGNTgzRURGMDBFMTIxQ0IwODBFMkVGODQKKzoxMDJEMzAwMDU0N0Y5MEZGODFGMDIyOEI1OThBNUE4OTVCMTIyRTE5OTkKKzoxMDJENDAwMDcwMDVBMzc0MDhGMDIyQUI1OUFBNUFBOTVCMTIyRTBEODQKKzoxMDJENTAwMDkwRkFDOTEyMUJGM0U1NUIyNDAzRjlFNDM1NUFGQTkwQTMKKzoxMDJENjAwMEZBQzMxMjFCRjNFNDkwRkFDMkYwNzg4QkY2OTBGQUMxMjIKKzoxMDJENzAwMEUwRkY3ODhCRTZDMzlGNTAxMjEyMkRFQkZGMTIyREY0NkIKKzoxMDJEODAwMDEyMkUwNzc4OEIwNjEyMkUwMzgwRTIyMkFEMDdBQzA2QzYKKzoxMDJEOTAwMDkwMzIwQUU0OTNGRjc4NzRGNjU0MEYxMjFEQThFMDA4RUQKKzoxMDJEQTAwMDc2MDAwOEY2MTgxMjFDRDlDMzMzQ0UzM0NFRDhGOUZGRkIKKzoxMDJEQjAwMDc4NzVFRUY2MDhFRkY2RUU0NEY4MThGNkVGMDhGNjkwQTAKKzoxMDJEQzAwMEZGN0FFMDIwRTcwMzdGMDAyMjc4NzVFNkZFMDhFNkY1NEIKKzoxMDJERDAwMDgyOEU4M0VDRjBBM0VERjA5MEZGN0E3NDAyRjA3RjAxMTUKKzoxMDJERTAwMDIyQUI1NkFBNTdBOTU4OTAwMDAzMTIxQUJCNTRGMDI0REMKKzoxMDJERjAwMEEwMjI5MEZBQzkxMjFCRUEwMjFBQTI5MEZBQzMxMjFCNkYKKzoxMDJFMDAwMEVBRUYxMjFBRTg5MEZBQ0FFNDIyOTBGQUM0RTQ3NUYwRTQKKzoxMDJFMTAwMDAxMDIxQjFDOTAwMDA4MTIxQjQ4QUFGMEY5N0IwMTIyM0EKKzoxMDJFMjAwMDkwMDAwNTEyMUFCQjkwRkFDMUYwMjJBQjU2QUE1N0E5MUUKKzoxMDJFMzAwMDU4MjI5MEZBRERFMEZGN0UwMEMzOTBGQUQ3RTA5RkYwQzEKKzoxMDJFNDAwMDkwRkFENkUwOUVGMDkwRkFEOEVFOEZGMDEyMUIxQ0VGQUQKKzoxMDJFNTAwMDI1NTFGNTUxRUUzNTUwRjU1MDIyOTBGRkYwRTA1NEZFMkIKKzoxMDJFNjAwMEYwRTA1NEZERjA5MEZBRTZFMDY0MDMyMjkwRkZGMkUwMTcKKzoxMDJFNzAwMEFCMjlBQTJBQTkyQjAyMUFFODkwRkZGMzc0QTBGMDIyMkEKKzoxMDJFODAwMDhGNjRFRDcwMEZFNTY0QjQwMzA1N0YwMTAyMzFFRjdGQkQKKzoxMDJFOTAwMDAyMDIzMUVGQUY2NDEyMkFDNzc0NkUyNTY0RjhFNjMwN0YKKzoxMDJFQTAwMEUyMEJEMjA5MTIxRDMzRTA1NDdGRjA4MDAyQzIwOUU1MjMKKzoxMDJFQjAwMDY0QjQwMzA3N0Y4MTEyMzFFRjgwMDU3RjgyMTIzMUVGMDYKKzoxMDJFQzAwMDMwMDkwNzEyMUQzM0UwNDQ4MEYwMTIzMjg0MjIxMjEwQzAKKzoxMDJFRDAwMDRCOTBGRkZERTA0NDYwRjBEMjAxOTBGRkZDRTA0NDAyMjMKKzoxMDJFRTAwMEYwOTBGRjAwRTAzMEU3MTM5MEZGODNFMDQ0ODBGMDQzNzAKKzoxMDJFRjAwMDM1ODA5MEZGRkNFMDQ0MDFGMDgwMEQxMjFEREY1MzM1NUEKKzoxMDJGMDAwMDdGOTBGRkZDRTA1NEZFRjA5MEZGODFFMDQ0ODBGMDEyREYKKzoxMDJGMTAwMDAyREUxMjFERTcwMjEwQ0UxMjEwNEI3ODg5RUZGNkQyQjYKKzoxMDJGMjAwMDAwMTIyQUM3OTBGOTZBMTIxQkVBRTkyNDAzRjlFNDNBNkQKKzoxMDJGMzAwMEZBQzAwMjc4ODBFNkZFMDhFNkFBMDZGOEFDMDI3RDAxMzcKKzoxMDJGNDAwMEQwMDIxMjIyRDMxMjMyODQ3ODg5RTZGRjEyMTM4NzEyM0MKKzoxMDJGNTAwMDMxQTkwMjEwQ0U4RjYzMTIyQUM3Nzg3QzEyMjJCN0UwMDMKKzoxMDJGNjAwMDU0M0ZGMEU1ODIyNDA0MTIyMkExRTA1NDNGRjAxMjIzRTIKKzoxMDJGNzAwMDQxMjQwQjEyMjJBMUUwNTRGOEYwMTIzMjg0NzQ2RTI1MjEKKzoxMDJGODAwMDYzRjg3NEZCNTZGNjdGMDAyMjEyMTA0QjEyMkFDNzEyMDgKKzoxMDJGOTAwMDIyRkEyNDA2MTIyMjlGRTBGRDEyMjJFODkwMDAwMzEyN0EKKzoxMDJGQTAwMDIzMDIyNDA1MTIyMkExRTA5MDAwMDQxMjFBRkExMjMyMjAKKzoxMDJGQjAwMDg0N0QwMkU0RkYxMjJGQjQwMjEwQ0VBRTA1MTIxRDhFRTYKKzoxMDJGQzAwMEVGMTIxQUZBMEUwRTBFRUVEMzk1M0NFNDk1M0I0MDAyM0EKKzoxMDJGRDAwMEFFM0NFRUQzOTQwODc0ODA5NDgxNDAwQTdFMDM5MDAwNDYKKzoxMDJGRTAwMDAyNzQwMjEyMUFGQUFGMDYxMjMyNkUyMkFFMDdFRDU0QzQKKzoxMDJGRjAwMDAzNjQwMTYwMDM3RjEwMjJFRDU0N0NDMzk0MDQ1MDAzRUEKKzoxMDMwMDAwMDdGMEIyMjc0NkUyRUY4NzQwMjQ2RjY3NDk5MkVGNTgyQTgKKzoxMDMwMTAwMEU0MzRGQUY1ODNFREYwN0YwMDIyQkYwMzA2N0NGRjdERTgKKzoxMDMwMjAwMEUwODAwNDdDRkY3REUyOEQ4MjhDODNFMDQ0ODBGMEU1Q0IKKzoxMDMwMzAwMDgyMjQwNDEyMjJBMUUwNDQ4MEYwNzQ2RTJGRjg3NDA0RkMKKzoxMDMwNDAwMDQ2RjY3RjAwMjIxMjEwNEJFNTNBNjQwOTcwMDRFNTM5MTgKKzoxMDMwNTAwMDY0MDE2MDE2OTBGRjgzRTA1NDBGRkZDM0U1M0E5RkU1REIKKzoxMDMwNjAwMDM5OTQwMDQwMDUxMjI4RDc4MDAzMTIzMjdBMDIxMENFMUMKKzoxMDMwNzAwMDkwRkZGQ0UwMjBFNzFGQzJBRjdERkZBQzA1MURFQzYwQjgKKzoxMDMwODAwMDE1N0UwNDdGMDBFRjFGQUEwNjcwMDExRTRBNjBFQzkwQjcKKzoxMDMwOTAwMEZGOTJFNEYwODBFRjIyMTIxMDRCNzg2NkU2RkUwOEU2MUQKKzoxMDMwQTAwMEZGMzBFMDEyMzBFMTBGOTBGRkZDRTA0NDIwRjA3RjA0OUQKKzoxMDMwQjAwMDEyMTI2MTEyMURGNjAyMTBDRThGMjNDMjA4MTIyQUM3MDcKKzoxMDMwQzAwMDEyMjJDMDc4N0UxMjIzNDIyNDBCMTIyMkExRTA1NEY4NkYKKzoxMDMwRDAwMEYwMTIzMjg0QUYyMzEyMTM4NzIyOEU1RjhGNjBFNTYwNzcKKzoxMDMwRTAwMDE1NjBBRTVGNzAwMjE1NUZEMzk0MDBFRTk0MDA0MDA5NDYKKzoxMDMwRjAwMDdFMDc3RkQwMTIxMDI0ODBFNTIyMTFEQzJFQzcyNEIwNzkKKzoxMDMxMDAwMDMyNjAzMDkwMzAzRTMxNkYyRjgyMjcyRTJDODAzMTEyNkEKKzoxMDMxMTAwMDMxMzExRTY0MkYxMTJDMTgwRTEyMTA0Qjc4ODYxMjIzOTkKKzoxMDMxMjAwMDMxMjBFMTA3N0YxMjEyMzFBOTgwMEE3ODg2RTZGRjEyNkEKKzoxMDMxMzAwMDI0MEExMjMxQTkwMjEwQ0UxMjEwNEI3ODg3MTIyMzMxQzMKKzoxMDMxNDAwMDIwRTIwNzdGMTExMjMxQTk4MDBBNzg4N0U2RkYxMjJGNEIKKzoxMDMxNTAwMDRFMTIzMUE5MDIxMENFOEY2MTEyMkY0RUFGNjExMjJBOEEKKzoxMDMxNjAwMEM3MTIyMkMwMTIzMjg0NzQ2RTI1NjFGODc0RkQ1NkY2QkYKKzoxMDMxNzAwMEFGNjExMjEzODcyMjEyMTA0QkU1M0E2NDA5NzAwNEU1MUYKKzoxMDMxODAwMDM5NjQwMTYwMDUxMjJDRDg4MDA2MTIxRTE0MTIxRTFDMTAKKzoxMDMxOTAwMDAyMTBDRTEyMkE1NDEyMTMwMzkwRjgwNEUwRkY2MDA1QzcKKzoxMDMxQTAwMDdEMDExMjEyQTAxMjI5REUxMjEzM0YxMjExQkM4MEUzMUUKKzoxMDMxQjAwMDEyMUQ4RUVGMTIxQUZBRTRGNTMzRjUzNEVGNjAwMzAyQjQKKzoxMDMxQzAwMDMyN0FFNEZGMTIzMjZFMjI5MEZGRjBFMEZGNTRBMDYwRUEKKzoxMDMxRDAwMEY3RUYzMEU1MDg5MEZGRjA0NDIwRjBDMzIyRDMyMjkwQUYKKzoxMDMxRTAwMEZGRjBFMEZGNTQyODYwRjdFRjMwRTUwODkwRkZGMDQ0NkYKKzoxMDMxRjAwMDIwRjBDMzIyRDMyMkVGMzBFNzA4MTIxRDQ1RTA1NERGNTAKKzoxMDMyMDAwMEYwMjJFRjEyMUQ5OEUwNTRERkYwMjI4MTAxODIwMjgzNDgKKzoxMDMyMTAwMDAzODc0MDAwNDAwMDQwMDA0MDAwNDAwMDQwMDAwODAwOUMKKzoxMDMyMjAwMDc4N0UxMjIyQjdBM0EzRTBGRjMwRTcwNjU0N0ZGMDQ0NzQKKzoxMDMyMzAwMDgwRjAyMjg1M0IzOTg1M0MzQTkwRkY4MkUwNTRGN0YwREMKKzoxMDMyNDAwMEEzRTA1NDdGRjAyMkU0RkVFRTkwMzIwNDkzQjUwNzAyMkYKKzoxMDMyNTAwMEQzMjIwRUJFMDdGMkMzMjIwMDA4MTgyODM4MDE4MTkwM0QKKzoxMDMyNjAwMDBBMDIwMDAwMTExMzAwMTIxMDRCN0YwMjEyMTBEQTEyMzIKKzoxMDMyNzAwMDFERjYwMjEwQ0U3NTM5MDA4RjNBMTIxQ0UwMTIyQ0Q4QzAKKzowRTMyODAwMDIyMTIxRTFDMTIxRERGMTIxRTE0MjJDMjA4MjI3MgorOjAwMDAwMDAxRkYKKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKy8vKiBFZGdlcG9ydCBCaW5hcnkgSW1hZ2UgKGZvciBUSSBiYXNlZCBwcm9kdWN0cykKKy8vKiBHZW5lcmF0ZWQgYnkgVElCaW4yQyB2Mi4wMCAod2F0Y2hwb3J0KQorLy8qIENvcHlyaWdodCAoQykgMjAwMSBJbnNpZGUgT3V0IE5ldHdvcmtzLCBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUvZW1pMjYvYml0c3RyZWFtLkhFWCBiL2Zpcm13YXJlL2VtaTI2L2JpdHN0cmVhbS5IRVgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDQ0ZDNmNgotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2VtaTI2L2JpdHN0cmVhbS5IRVgKQEAgLTAsMCArMSw0MzkxIEBACis6MTA4MDEwMDBGRkZGRkZGRkFBOTk1NTY2MzAwMDgwMDEwMDAwMDAwN0FFCis6MTA4MDIwMDAzMDAxNjAwMTAwMDAwMDBCMzAwMTIwMDEwMDgwM0YyRDc1Cis6MTA4MDMwMDAzMDAwQzAwMTAwMDAwMDAwMzAwMDgwMDEwMDAwMDAwOTk1Cis6MTA4MDQwMDAzMDAwMjAwMTAwMDAwMDAwMzAwMDgwMDEwMDAwMDAwMTJECis6MTA4MDUwMDAzMDAwNDAwMDUwMDAzRTA0MDgxMjEwMDAwMDAwMDAwMEY0Cis6MTA4MDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwCis6MTA4MDcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDAwNEJDCis6MTA4MDgwMDA4MDAwMDAwMDAwMDAwMDAwMDAxMjEwMDAwMDAwMDAwMDRFCis6MTA4MDkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUwCis6MTA4MEEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDA4NDBDCis6MTA4MEIwMDA4MDAwMDAwMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMDNFCis6MTA4MEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIwCis6MTA4MEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgwMDk4Cis6MTA4MEUwMDBDMDAwMDAwMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMENFCis6MTA4MEYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgwCis6MTA4MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZGCis6MTA4MTEwMDA4MDAwMDAwMDAwMDAwMDAwMDAxMjAwMDAwMDAwMDAwMENECis6MTA4MTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRGCis6MTA4MTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDNCCis6MTA4MTQwMDA4MDAwMDAwMDAwMDAwMDAwMDgxMzAwMDAwMDAwMDAwMDk0Cis6MTA4MTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFGCis6MTA4MTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGCis6MTA4MTcwMDA5MDAwMDAwMDAwMDAwMDAwMDAxMjAwMDAwMDAwMDAwMDVECis6MTA4MTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVGCis6MTA4MTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NDVCCis6MTA4MUEwMDA5MDAwMDAwMDAwMDAwMDAwRjcxMDAxMTQwMDI1MDAwNUY5Cis6MTA4MUIwMDA0MDAxNTAwMDk0MDAxNTAwMDc0MDAxRDAwMDk0MDAyNUI0Cis6MTA4MUMwMDA4MDAxNjAwMkQ4MDBGNjAwMkY4MDAyRTAwNEQ4Mzc0NDE2Cis6MTA4MUQwMDA5MDAwMDAwMDAwMDAwMDAwQzAwNUYyMDBDQzkwMzkyMEEzCis6MTA4MUUwMDAwRDk4MDNEMjAwRTc4MDM3MDQwRUYxODM3RTAwREY5MDA0Cis6MTA4MUYwMDAzMUU0OEY3OTAzN0MyMERGMjIzM0MwMENGMDIyMzAwMDgxCis6MTA4MjAwMDA3MDAwMDAwMDAwMDAwMDAwODAxMDYyMDA4MDI0MjIyMDI2Cis6MTA4MjEwMDAwODk4MTJFMjAwOEI4MTIwOTQwODc0MDIyRTAwOEEwMUQzCis6MTA4MjIwMDAyMkM4MDg5MjAyM0Q4MDhCNjAyMjgwMDhCMDAyMjAwNEEwCis6MTA4MjMwMDAzMDAwMDAwMDAwMDAwMDAwODgwNUM4MDBBMDAwMjAwMEY5Cis6MTA4MjQwMDAwQjEwMDJDMDAwQTEwMDI0MDk0QTMyMDI0ODAwQjEwMDBDCis6MTA4MjUwMDA2MkMwMDlBMDQ2Q0MyNDkzNDkyQTgwNDgzMDIyNjIwMTlBCis6MTA4MjYwMDA3MDAwMDAwMDAwMDAwMDAwQzAxNUE4MTJBODAwMjIwMDQ1Cis6MTA4MjcwMDAwODkwMDJFMDAwODk4MDIyNDQwOEIwMTJBODAwQTk0MEJBCis6MTA4MjgwMDAyMkMwMDg5MDgyQUMwMDlCMDQyQUM0MDhCMDAyNzAwNDhCCis6MTA4MjkwMDA2MDAwMDAwMDAwMDAwMDAwMDAxNDg0MDBFOTgwQjI2NDY3Cis6MTA4MkEwMDA0REEwMDNFQTIwRTlDMDM2NDAwRUIwMDM0NDAwRkI5MDI1Cis6MTA4MkIwMDBCMjg4MERCQzAzRUMwODVCMDAzODYwMkNCMDYzNDAwNDRFCis6MTA4MkMwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMUI0MjZERDkwMzc0MDlGCis6MTA4MkQwMDA0RkUwMTNGMjgwRkQwMDNEQTAwRDcwMDM3NTAwNUUwMEJECis6MTA4MkUwMDAzRkE0MERGOTAzNUMxMEVCMDAzNzIwMEYzMDAzQjgwMEZBCis6MTA4MkYwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMEFDMDBFOTgwMzI0MDQ3Cis6MTA4MzAwMDAwQ0ExODNFODAwRTkwMDMyNDIwRUIwMDNBQzQ4RTkwMDVBCis6MTA4MzEwMDAzQTgwMEVBNDAzRUMwMEVCMDBCMjAzMEVCMDBCMTAwNDg1Cis6MTA4MzIwMDAyMDAwMDAwMDAwMDAwMDAwQzgwNTJFODA4OUQxMjA0MEY4Cis6MTA4MzMwMDAwOEEwMDJDMDAwODE4MDIyNTgwOEY1MDIyRjQwOEIwMDVGCis6MTA4MzQwMDAyMEMwMDgzMDQzN0MwMDg3MDAyMjQwMDhGMDAyMzIwMDQxCis6MTA4MzUwMDA0MDAwMDAwMDAwMDAwMDAwRTAwNTQyMDE5QTQ0MjhBMjBECis6MTA4MzYwMDAwODE4MDJDMDgwQTE4MEEwMDAwODMwMDI4RTAwQUIwMDc3Cis6MTA4MzcwMDAyQzQwMEEzMDAyMEMwMEEzMDAyMDQ0MEEzMDAyMzgwMENFCis6MTA4MzgwMDA1MDAwMDAwMDAwMDAwMDAwNjAwMTMyMDA5NjgyMkJBMjI1Cis6MTA4MzkwMDA4ODVBMDJGMjAwMDU4MDI5QTAwODc4NDJCRTAwOEU4NDI3Cis6MTA4M0EwMDAyRjYxMEFEODAyNEUxMEE3ODAyMDI4MDg3ODAyMTgwMEYyCis6MTA4M0IwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODA4MDBGMjI0Mzg4MDU3Cis6MTA4M0MwMDAyQzFBMDNDNDAwRTA1OEEwODAyRTMwMDM4ODQxRTMwMjM5Cis6MTA4M0QwMDAzQzQwMDYyMDAzOEMwMEUzMDAxMDAwMEUzMTQzMTIwMkUzCis6MTA4M0UwMDAwMDAwMDAwMDAwMDAwMDAwNDAxRDk4MDBFRTAxMzc4NEVFCis6MTA4M0YwMDA5RkQ5MDNGMDQ4RkQxMDM3QzAwN0IwMDM1QzAwRjYxMEFBCis6MTA4NDAwMDAzM0MwMERFMTAzRUQyMERGMTAzRjQ4MEZGMDIzRDAwNjBECis6MTA4NDEwMDA2MDAwMDAwMDAwMDAwMDAwQTgwNUU0MDJDQjgwMzBDMDJFCis6MTA4NDIwMDAwQ0EwMDNFMjAyQzkwMDNBNDAwREI2MDM2NDAwRUIwMDYxCis6MTA4NDMwMDAzRUMwMEZCMDAzRUQwMEZCMDEzRUUwMENCMDAyRUEwMENECis6MTA4NDQwMDA3MDAwMDAwMDAwMDAwMDAwNDgxMTk0MDA4NzAwMjFDMDY3Cis6MTA4NDUwMDAyODYwMDJEMDAwODUwMDJEODA0OEYwODIxQzAwQjcwMDAzCis6MTA4NDYwMDAyRDAwMEI1MDAyREMwMEI3QTAyRjgwMjg3QTAyRDIwNDI2Cis6MTA4NDcwMDA2MDAwMDAwMDAwMDAwMDAwQzEwMEJFMDA4NzgwMjFFMDE1Cis6MTA4NDgwMDAyODY4MDJENzAwODQ4MDJERTA0OTc5MDY1MzA5QjU4MDE5Cis6MTA4NDkwMDAyREUyMEI3ODAyREU4MEI3OTAyREIwMDg3OTAyRjAwMDUzCis6MTA4NEEwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNENDMTA4MzAxMjhDODAwCis6MTA4NEIwMDAwODIwMDJDMjA2ODEwMDJDQzg4ODMwNjIwRTIxQjNBMEI5Cis6MTA4NEMwMDAyQ0MxMEJCNjAyQ0MwMEIzMDAyQ0UwMDgzMDAyRDIwNDYxCis6MTA4NEQwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUE4MDBDQTQwQjA4MDhECis6MTA4NEUwMDAwQzJDMDJGODAwQzYyMDNGOTAwREEwMDM3QjAxRUVFMEFCCis6MTA4NEYwMDAzRkI0MEZFQzAzRTgwMEZBMDAzRkEwMENBMDAzRkEwNDFECis6MTA4NTAwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEUzMDBGODA5MjYwMEI5Cis6MTA4NTEwMDAwRkMxODNFMDEwRjg0MDNDMDAwRjgwMDNFMDAxRjgwMDM5Cis6MTA4NTIwMDAzRTAwMEY4MTAzRTAwNEY4MDAzRTEwMEY4MDAzRDIwMEVDCis6MTA4NTMwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEU0MDJDOTAwM0U0MEM2Cis6MTA4NTQwMDA0RjkwNjMyNjg0MzkwMkIyNDAwQzkxMDMyNDAwRjkwMDU1Cis6MTA4NTUwMDAzRTQwMEY5MDAzMjQwMEYxMDAzQTQ0MEY5MDAzQzIwNDAwCis6MTA4NTYwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDQ1MDA4OTQwMkU0MERCCis6MTA4NTcwMDAwODkyMEEyNDAwQjkzMTIyNjA4ODk0OEEyNDIwQjkwMDI0Cis6MTA4NTgwMDAyRTQwMEI5MDAyMjQwMEI5MDAyMjY4MEI5MDAyRTAwMEZDCis6MTA4NTkwMDAxMDAwMDAwMDAwMDAwMDAwMTgwNTI0QTA4RDg0MkY0MDZBCis6MTA4NUEwMDAwQkQxMDIyNDAwQjkwMDIyNEEwODEwMDIyQzQwQjkwMDY1Cis6MTA4NUIwMDAyRTQwMEI5MDAyMjQwMEI5MDAyQTQwMEI5MDAyQzYwMDA2Cis6MTA4NUMwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDE0MDA4NTgwMkQ0MEQ5Cis6MTA4NUQwMDAwODUwMDIwNDBDQjkwMEEwNTAwODE0MjIwNDAwQjEwMDk1Cis6MTA4NUUwMDAyQzQwMEIxMDAyMDQwMEIxMjgyMDRBMEIxMzAyQzIwMUQ4Cis6MTA4NUYwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDYwMDBDMDUwM0U4MDg4Cis6MTA4NjAwMDAwRkMwNDMyMDAwRjgwMDMwMDAyQzgwMjMyMDAwRjg1MUQ4Cis6MTA4NjEwMDAzRTE0OEY4NTBCMjE0MEY4NzAzQTA4MEY4NDgzRUUwM0Q3Cis6MTA4NjIwMDA1MDAwMDAwMDAwMDAwMDAwOTgxREM0MDBGOTA0M0U0MDA2Cis6MTA4NjMwMDAwRjkwMjNENDAwRkQwMDNGNTAwRjk0MDNGNDA0RkQwMDdECis6MTA4NjQwMDAzRjQxOEZEMDQzRTUwQ0Y5MDIzRjRBMEY5MjAzRTYwMjA3Cis6MTA4NjUwMDA3MDAwMDAwMDAwMDAwMDAwODgwNUQ0MDFGRDAwM0Q0MENFCis6MTA4NjYwMDAwQ0QwMTNGNDAwRDUwMDMzNkExQ0RDODMzNDAwRDEwNDMxCis6MTA4NjcwMDAzRTUwMEM5MTAzRTZDMEREQjAzMzZBMkM5QzgzRTYwMENCCis6MTA4NjgwMDA3MDAwMDAwMDAwMDAwMDAwMzgxMEUwMDlGODgwMkUwMEEzCis6MTA4NjkwMDA4ODgwMDBFODAwQkEwMDIyQjAwODhFMDIyODAwODhBODZFCis6MTA4NkEwMDAyNjI4MDg4QTIyRTIwMDg4RTQyMjMwMDg4QzAyQ0UwNEMwCis6MTA4NkIwMDAzMDAwMDAwMDAwMDAwMDAwMDgwNUM0MDBCMTI4MkU0MDcyCis6MTA4NkMwMDAwODEwMDJDNDAwOTkwMDIwNDI0ODEwMDI2NDAxOTE4MDAxCis6MTA4NkQwMDAyQzQ4MDgxMDAyQzRDMDgxNDAyMDRBMDgxMjAyQzIwMTdFCis6MTA4NkUwMDA3MDAwMDAwMDAwMDAwMDAwMTgxNUE0OTRBOTAyMkU0MDlDCis6MTA4NkYwMDAwQTkwMDI2NDAwQjkwMDgyNjAwODkwMDI2NjAwODkxMDQ2Cis6MTA4NzAwMDAyNDYyMDg5MDAyRTQwMDg5MDIyMjQwMTg5MDAyQzYwNDA0Cis6MTA4NzEwMDA2MDAwMDAwMDAwMDAwMDAwQTAxNUU2MDBCOTA0M0U0MDIzCis6MTA4NzIwMDAwQzkwMTNFNDAwRDFDMDEyNTAyODkwMDM0NDAwRDkwMEVCCis6MTA4NzMwMDAzRTQwMjg5MjAzRTQwMkQ5MDAzMjQyOEM5MDEyRTgwNEIxCis6MTA4NzQwMDA3MDAwMDAwMDAwMDAwMDAwMjgwMUE2MjBGOTAwM0U0MTUyCis6MTA4NzUwMDAyRDkwMDNFNDAwRjkyMDNFNDA0RjkwMDFBNDAwRjkwMDYxCis6MTA4NzYwMDAzNjQwOEY5MjA3RTQwMEYxMDBCRTQwMEY5MDAzQ0EwMDJDCis6MTA4NzcwMDA2MDAwMDAwMDAwMDAwMDAwMjgxMEEwMDBDODAwM0UyMDlCCis6MTA4NzgwMDAwQzgwMDNFMDQwRjgwMDM2MTIyQzAwMDNFMEMwRjgwMDMzCis6MTA4NzkwMDAzMjEwMEQ4NDAzQTAwMEY4MDIzRTA4MEY4MDAwQ0EwNEM2Cis6MTA4N0EwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNTNBOTA4RTAwMkRBMDU3Cis6MTA4N0IwMDA4MEU4MDJGQTAwQkU0MDIzODAwOEU4MDJGQTAwOEEwMDNFCis6MTA4N0MwMDAzNjgwMDhBMDAyRTgwMEJBMDAyRjgwMEJBMDAzOEEwMEMwCis6MTA4N0QwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTQ2MDI4MzAwMkM4MEI1Cis6MTA4N0UwMDAwODIyNDJDNjgwQjE2MDJFRjQwODM4MjJDRTAwQTMwMEQxCis6MTA4N0YwMDAyMEMwMDgzMDAyQUMwMEIxMDAyRTQwMEIzMDAyQ0EwMDhECis6MTA4ODAwMDA1MDAwMDAwMDAwMDAwMDAwQTAwMTFFMDI4NTAxMkRDMkUyCis6MTA4ODEwMDBBODQ0MDJENDAwQkQwMTI5NDAxODY4RDJEQzAwOEY4MDMyCis6MTA4ODIwMDAyNUNDMjg3MzQyREM4MEI1MzAyREMwMUI3MjAyRTgwMEQ1Cis6MTA4ODMwMDA0MDAwMDAwMDAwMDAwMDAwQTgwODFFMDRDNjgyM0RFMEMxCis6MTA4ODQwMDAwQzQ4MTJENjEwRjU4MDNDQTAwQzcwMDNERTAwRTc5MEI3Cis6MTA4ODUwMDAyM0VBMDQ3QTAzOUUwMEY1ODAzREUwMEY3QTAzRUEwMkUyCis6MTA4ODYwMDAwMDAwMDAwMDAwMDAwMDAwMDgwREFDMDA5QzAwM0VDMEFECis6MTA4ODcwMDAwRjgwMDNFNDEwRjkwMDM2MDEwRkEwMDNDMDAwRUIwMEU1Cis6MTA4ODgwMDAzRUQ4NEVCMDgzRUMwMEY5MDAzRUMwMEZCNDQzODIwNkUwCis6MTA4ODkwMDA2MDAwMDAwMDAwMDAwMDAwQzAwNURFMDBDRjg0MzFFMDcxCis6MTA4OEEwMDAwRUM4NDNENjAwQ0Q4MDMzRTBDREQ5MDMzQTAwRkY4ODBGCis6MTA4OEIwMDAzM0UwMEZGOTEzRkUyNEZEODAzRjIwMENGNjgzMTAwMEY3Cis6MTA4OEMwMDA3MDAwMDAwMDAwMDAwMDAwQTgxMTlDMDA4NTAwMjFDNDc5Cis6MTA4OEQwMDAyODQwODJEMDAwRDUwMDIzODA0OEM5MDIxQzAwQjcwMDgwCis6MTA4OEUwMDAyMUMwMEI3MTAyREU4MEI1MTAyREMwMjhGMDAyMkEwNEQxCis6MTA4OEYwMDA2MDAwMDAwMDAwMDAwMDAwMTAwMDlDMDA5NjAwMjFDMEY1Cis6MTA4OTAwMDAwQTQxMDJGNTQwOEQwMDIxNDAwOTUyMDI5ODIwQjcwMDJCCis6MTA4OTEwMDAyMUMwMEI3MDA2REM4MEI1MDAyREMwMDg3MDAyMDQwMDc5Cis6MTA4OTIwMDAyMDAwMDAwMDAwMDAwMDAwNjAxNENDMTA5ODAwMDBDMDdGCis6MTA4OTMwMDA4ODA0ODJDMDAwOTEwNDIwMDMwOTAwMDI4QTAwQjMwQTVGCis6MTA4OTQwMDAyMEM0OEIzNDAyQ0MwMEI5MDAyQ0MwMDAzMDAyMTgwNEMzCis6MTA4OTUwMDAzMDAwMDAwMDAwMDAwMDAwRjgxNUFDMDBEQjAwQjBDMEUzCis6MTA4OTYwMDAwRTlDMDJDNTAwQzExMEIyQzAwREIwMEJBNzA4RkYwMERECis6MTA4OTcwMDBCM0MwMEZGQTAzRkMwMEZEMDAzRUQ0MENGMDBCMkUwNDM0Cis6MTA4OTgwMDA2MDAwMDAwMDAwMDAwMDAwODAwMEVDMDRFRDAwM0U0MEFDCis6MTA4OTkwMDAwRjg0MDNFNTQwRjk0MDNFNjBDRUI0NDM2NDAwRkI4MEExCis6MTA4OUEwMDAzRUMyMEZCMDEzRUMwMEY5MDIzRUMwNEZCMDAzRTEwMDJECis6MTA4OUIwMDAzMDAwMDAwMDAwMDAwMDAwOTAxMEZGMDBDRTAwMzNDMDI3Cis6MTA4OUMwMDAwRUMwMDc3NDA0RUMwMDExODAwQ0NBMDNGRTYwRkYwMEE3Cis6MTA4OUQwMDAzRkMwMEZGMDgzM0MwMEREMDBCMzUwMkNGMDAzMjAwNEI3Cis6MTA4OUUwMDAzMDAwMDAwMDAwMDAwMDAwODEwMDRDMDQ4QjBCMjI3MDVFCis6MTA4OUYwMDAwODA4MDM2NzIwOEE4OEEyMDAyODg0MDJFNzAwQkIwMEQ5Cis6MTA4QTAwMDAzRUMwMEJCMDAyMkMwMEI5MDAyMjYxMDhCMDAzNjA0MEU4Cis6MTA4QTEwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTJDMDA4QjIwMjJFMkU2Cis6MTA4QTIwMDAwQThDMDIyNjAwQTk4MDJBQzAwOEI0NDJFRDAwQkIwMENGCis6MTA4QTMwMDAyRUMwMEIzMDAyMkMwMEI5MDAyMDgwMDgzMDAyNjAwMEVDCis6MTA4QTQwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDBFMDE4MTAwQTBDMEVBCis6MTA4QTUwMDAwODgxMDI0NDAwODEwMDI4ODEwODMyMDJDQzAwQjMwMDYyCis6MTA4QTYwMDAyOEMwMEIzMDAyMEM4MEIxMDAyMEMwMDgzMDEyNDIwMTM3Cis6MTA4QTcwMDAwMDAwMDAwMDAwMDAwMDAwODAwRDZDMDBDMjAxMzJDMDQ4Cis6MTA4QTgwMDAyRTgwMTYyQzA4RTkwMDNBNDAwQzgwMDNFQzAwRjcwMDE5Cis6MTA4QTkwMDAyRkMwMEZGMDBCMkMwMEQ5MDAzMDQwMENGMDAzNjAwMzA2Cis6MTA4QUEwMDA1MDAwMDAwMDAwMDAwMDAwQTAwREY4MDhGRjAwM0ZDMENCCis6MTA4QUIwMDAwRkMyMTdGQzAwRjcwMDM3MDAwRjg0MDNGQzAwRkYwMDEzCis6MTA4QUMwMDAzRkMwMEZGMDAzRUQwMEZEMDAzRjQwMEZGMDAzRTgwNjRDCis6MTA4QUQwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUZDMDBDRjMwMTc0ODA3Cis6MTA4QUUwMDAwQzU5MDNCOTAwREYyODM1MjQwRDgyQTM3QzgwRkYwMEQ4Cis6MTA4QUYwMDAzRkM4MEZGMjAzRTRBMEVGODAzRkUxOENEODQzMzAwMDgxCis6MTA4QjAwMDA3MDAwMDAwMDAwMDAwMDAwODAxMEVENDg4OTM0QTM3MDYwCis6MTA4QjEwMDAyOEIwMjM2MDAwOEJDMDIyNDAwOEI0ODIyRjQwQkZEMTEwCis6MTA4QjIwMDA2RkY0OEVCRDAyRTcwMEJCODAzQUUwMDg5ODBBMjgwNDgzCis6MTA4QjMwMDAzMDAwMDAwMDAwMDAwMDAwODgwNUM0QjA5MTAwQTg1MDdCCis6MTA4QjQwMDAwOEIyMDJDODg0OTMwMDI0NDkwQjAyMDI0QzAwQjMwNDBCCis6MTA4QjUwMDAyQ0MwMEIzMDQyODQwMEIzMDAyRTAwMEFCMDEyMjIwMTU4Cis6MTA4QjYwMDA3MDAwMDAwMDAwMDAwMDAwQzAxMUFDMDI5OTE4MkE0NEY3Cis6MTA4QjcwMDAwOEI4ODJBMjAxQkIwMDI4NjAwQUEwMTI2QzAwQkIwMEVBCis6MTA4QjgwMDA2RUMwMEFCMDAyRTQwMEJCMDAyQTAwMkFCMDAyMzgwNDFBCis6MTA4QjkwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMUU0MDhEQUMwM0E2MDA0Cis6MTA4QkEwMDAwQzE4MEFFQjA0REIwMDM2RTAwNzg1ODM2QzAwRkIwMDQxCis6MTA4QkIwMDAyRUMwMEZCMDQzRTQwMEVCMDAzRTg4MEUxODAzMTAwNEYzCis6MTA4QkMwMDA3MDAwMDAwMDAwMDAwMDAwRTA0MTlDMTBFOTAwMzc2MEU4Cis6MTA4QkQwMDA4N0YwMTc3MDAwQ0YwMTM3QzA0Qzk4MDNCQzAwRkIwMDMyCis6MTA4QkUwMDAzRkMyMEZGMDAzRTQwMEZGNDAzRkU0MEREOTAzRjAwMDYzCis6MTA4QkYwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMEE0MDBGNDAwMzA0MEJECis6MTA4QzAwMDAwRkI0MDM5OTAwRkIwMDNFQzAwRDA0MjMyQzA4RkI4ODIxCis6MTA4QzEwMDAzMkMwMEZCMDAzRTYwMERCMTAzRTAyMEZCMDgzRDAwNDc5Cis6MTA4QzIwMDAyMDAwMDAwMDAwMDAwMDAwQzgwNTJDMDBCOTUwQTI0ODM4Cis6MTA4QzMwMDA4QkIwMDMyMDAwRDc4MDJFRDgwMDgwMDIzQzAwQkY4MDdDCis6MTA4QzQwMDAyM0U4OEJGMDAyRjQ0MDhCNDAwQzQyMDNCNjAyRjIwMEEyCis6MTA4QzUwMDA0MDAwMDAwMDAwMDAwMDAwRTAwNTRDMDBCMjQ0MDBDOEU1Cis6MTA4QzYwMDAwQjMwMTI4QzAwQTM4MDI0QzgwQjAwMEFDQzAwQjM0NDQ0Cis6MTA4QzcwMDAwNEMwMUIzNjAyQzUwMTgzMEMyQ0EwMEIzMDAyRjgwMDg3Cis6MTA4QzgwMDA1MDAwMDAwMDAwMDAwMDAwMjAwMTFFMDhCNzkwMjE2NDgxCis6MTA4QzkwMDAwQkY4MDI0QTA0OTc4MTJGRTQwQTc4MDI5RTAwQjc4MEZECis6MTA4Q0EwMDAyMUUwOEI3ODgyRDY4Njg3ODQyREEwMEI3ODAyQzAwMEM1Cis6MTA4Q0IwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODA0MDBGMjAwMzBDMDNFCis6MTA4Q0MwMDAwRjMwMDM4QzAwRTMwQTNDQzAwRjE4MDM4QzAwRjMwMjQyCis6MTA4Q0QwMDAzMEMwMUYzMDAxQzY4MEMzMDAzQ0MwMEYxMjAzREEwMjRGCis6MTA4Q0UwMDAwMDAwMDAwMDAwMDAwMDAwNDAwREJDMDBGRjAwM0Y0MUZDCis6MTA4Q0YwMDAwRkYwMDNCODA4RkYwODNGQzAwREYwMDMzQzIwRkYwODQ5Cis6MTA4RDAwMDAzQkQyMEZGMDAzRjQ0MEVGMDAzRkM0MEZEMDAzRDAwNjc2Cis6MTA4RDEwMDA2MDAwMDAwMDAwMDAwMDAwQTgwNUU0MDBGRTAwMzJDMjcwCis6MTA4RDIwMDAwQzMwMEIyNjAwRkI4MDM2QzAwREEwMDNFQzAwRkJFMEVFCis6MTA4RDMwMDAzMkQwMEZCODQzNjQ0NERCMDQzRTgwMEZCMDAzRTIwMDNFCis6MTA4RDQwMDA3MDAwMDAwMDAwMDAwMDAwNDgxMTlDMDBCNzAwQTFDMEE2Cis6MTA4RDUwMDA4ODcwMDMxMDAwQjcyMDIxQzAwODcwMDJEQzgwQjMzMDk3Cis6MTA4RDYwMDAzMUM4MEI3NDAyMTQwMDg3NDAyREMwNEI3MDAyRDIwMDMyCis6MTA4RDcwMDA2MDAwMDAwMDAwMDAwMDAwQzAwMDk2MjBCNjgwMjBFMEU3Cis6MTA4RDgwMDAyOEY4MDI5NDEwQjc4MTI3RTIwOTc4MDJERTAwQjdBMDI0Cis6MTA4RDkwMDBBOUU4MEIzODAyNzYwMDg3ODAyREEwMEI1ODAyRjAwMDVFCis6MTA4REEwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNENFMTBCMzAwMjBDNEQyCis6MTA4REIwMDAwODIwMDI4MDEwQjMwMDIyQzgwOEIwMDJDQzExQjMwMjEwCis6MTA4REMwMDAyOEMwMEIzMDAyMDQwMDkzODAyQ0QyMEIxMDAyRDIwNDc2Cis6MTA4REQwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUE4MDBGRTQwMzJBMEFFCis6MTA4REUwMDAwQ0U0MDM5ODgwRkEwMDM3QTAwREUwODNFODAwRkUwMDUxCis6MTA4REYwMDAzQTgwMEJBMDAzNjgwMEQ4QTAzRjkwMEZBMDAzRkEwNEFDCis6MTA4RTAwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEUwMDhGODA4M0UwMDk0Cis6MTA4RTEwMDAwRjgwMDMyMDAwRjg0MDNFMDAwRjgwMDNFMDAwRjgwNEJDCis6MTA4RTIwMDAzMDEwMEY4MDAzRTAwMkU4MDAzRTAwMEY4MDAzRDIwMDA0Cis6MTA4RTMwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEU0MDBGMTAwMzI0MEEzCis6MTA4RTQwMDAwRTkwODNBNDAwQzk4MDNFNDAwRTkwMDNBNDAwRjkwMDU4Cis6MTA4RTUwMDAzRTQwMEM5MDAzRTQwMEM4MDAzRTQwOEY5MDAzMDIwNEEzCis6MTA4RTYwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY0MDBCOTQwQTA2MkVGCis6MTA4RTcwMDAwODEwMDIyNDEwODkwMDJFNDAwODkwMDIyNDAwQjkwMDM2Cis6MTA4RTgwMDAyRTUyMDg5NDAyQzQwMDg5NDAyRTQwMEIxMDAzNjAxMDNCCis6MTA4RTkwMDAxMDAwMDAwMDAwMDAwMDAwMTgwNTI0MDBCOTE4MjI0NDRBCis6MTA4RUEwMDAwQTkwMDJBQzAwODkxMDJFQzAwQTkwMDJBNDAwQjk4MDdBCis6MTA4RUIwMDAyRTYwMDg5ODAyRTYwMjg5MDgyRTQwMEI5MDAyMDYwMEY4Cis6MTA4RUMwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA0ODBCMTIwQTA0ODE5Cis6MTA4RUQwMDAwODkwMDIyNDA4ODEyMzJDNTAwODEwMDIwNDgwQjEyMDNECis6MTA4RUUwMDAyQzQ4MjgxMjAyRTQ4MDgxMjAyQzQwMEI5ODAyNDIwNTc1Cis6MTA4RUYwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDYxNDBGODUwMzIwMDkyCis6MTA4RjAwMDAwRTg1MDNBMUUwQ0EwMDNFMDAwRTg1MDNBMDAwRjgwMDE0Cis6MTA4RjEwMDAyRTAwOUNBMDAzRTAwMEM4MjgzRTAwMEY4MDAzMkUwMTE1Cis6MTA4RjIwMDA1MDAwMDAwMDAwMDAwMDAwOTgxREY0NDBGNTEwM0Y0NDgwCis6MTA4RjMwMDAwRkQwMDNGNDAwRjExMDNENDA4RkQ0MDNFNDUwRjkxMDNBCis6MTA4RjQwMDAzRTQ1MEY5MTAzRDQ0MEZDMDAzRkMwOEZEMDIzRTYwNDgwCis6MTA4RjUwMDA3MDAwMDAwMDAwMDAwMDAwMTgwNUU2MjBDREE4MzM0MDk2Cis6MTA4RjYwMDA4REQwMDMyNjgwQ0QwMDNENTAwQzlBMDM2NDAwRjlBMEZCCis6MTA4RjcwMDA3QTZBMEY5QTYzRTY4MEM5ODAzRTQwMEY5MDAzMDYwMDJDCis6MTA4RjgwMDA3MDAwMDAwMDAwMDAwMDAwMzgxMEUxMDA4OEUwMzYwMEFBCis6MTA4RjkwMDAwODgwMEEyMTQyQzgwMDJFMjkwQ0E0NDIyMDAwQjg0MEIzCis6MTA4RkEwMDAyRTAwMEI4MTAyRTEwMDg4MDIzQTAxMEJDMDAyMEUwNDgwCis6MTA4RkIwMDAzMDAwMDAwMDAwMDAwMDAwMDgwNUM0MDI4MTA4MjQ0MEMxCis6MTA4RkMwMDAwOTEwMDIwNDAwOTEwMDJDNDA0QjE0MDI0NDAwQjUxMDFCCis6MTA4RkQwMDAyOTQwMEI1MDAyRjUwMEI1MDAyRDQwMEJEMDAyMDIwMUQ0Cis6MTA4RkUwMDA3MDAwMDAwMDAwMDAwMDAwMTgxMUE2MDE4OTAwMjY0MDUyCis6MTA4RkYwMDAwODk0MDIyNDAxODkwMDJFNDAxQTkwMDI2QzAwQkYwMkRFCis6MTA5MDAwMDAyRjQwMEJEMDAyRjQwMkJEODAyQjQwOEJEODNBMDYwNENGCis6MTA5MDEwMDA2MDAwMDAwMDAwMDAwMDAwQTAxNUU0MDBDOTA1MzY0MTEyCis6MTA5MDIwMDAwRDFDMDMyNDAwRDkwMDNFNDIyRjk0MDM2NDAwRjkwMDc0Cis6MTA5MDMwMDAzQTQwMEY5MDAzQzQwMEY5MDAzRTcwMEYxMDAzMjgwNDVCCis6MTA5MDQwMDA3MDAwMDAwMDAwMDAwMDAwMjgwMTg0MDhGOTI0M0U0MDYwCis6MTA5MDUwMDAwRjkxMDNFNDAwRjkwMDNFNDEwRDEwMDNBNDAwRjkwMDU0Cis6MTA5MDYwMDAzRTQwMEY5MDAzRTQwMEM5MDAzRTY0MEY5MDAzQ0EwMDI1Cis6MTA5MDcwMDA2MDAwMDAwMDAwMDAwMDAwMjgxMEEwMDhDODgwMzIwMjM0Cis6MTA5MDgwMDAwRjgwMDMwMDAwQzgwODNBMTBDRTg0MDNFMDAwRkMwMDAzCis6MTA5MDkwMDAzRjAwOEZDMDAzRjA4MEZDMDAzRjE4MEZDMDQzQ0EwNDlDCis6MTA5MEEwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNTI4MDA4RTAwQTE4MDlDCis6MTA5MEIwMDAwQkUwMDIyODAwREVDMjIzOTAwMEEwMDJFODAwQkEwMDA0Cis6MTA5MEMwMDAyRTgwMEJBMDAyRTgwMEZBMDAyRTgwMEJBMDAyQ0EwMDNFCis6MTA5MEQwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTRDMDA5OTgxNjBDMDlECis6MTA5MEUwMDAwQjEwMDIwQzAwOTAxMDJBRkMwQjMwMDJDQzAwQjMwMEQ1Cis6MTA5MEYwMDAyQ0MwMEIzMDAyQ0MwMEIzMDAyQ0MwMEIzMDAyQ0EwMEQ1Cis6MTA5MTAwMDA1MDAwMDAwMDAwMDAwMDAwQTAwMTFDODI5NTQwMjFDMDFBCis6MTA5MTEwMDAwQjUwMDIxQzgwOTA4MDIzMDEwOTcyMTJEQzAwQjYwMDAzCis6MTA5MTIwMDAyRDAwMEI0MDAyRDAwMEI0MDkyRDAwNEI0MDgyRTgwMDE2Cis6MTA5MTMwMDA0MDAwMDAwMDAwMDAwMDAwQTgwODNFODBERDgwQjFFMDkzCis6MTA5MTQwMDAwRkRBMDMwRjgwRDQ4MDM5RTAwQjdBMDNERTAwRjU4MDVDCis6MTA5MTUwMDAzRDIwMEY0ODAzRDYxMEY2ODEzREUwOEY2ODAzRUEwMkY4Cis6MTA5MTYwMDAwMDAwMDAwMDAwMDAwMDAwMDgxREFDMDBFRDAwM0UwMDAzCis6MTA5MTcwMDAwRjkxMEJFQzEwRjgwMDNFMDAwRUIwMDNFQzAwRjgwMDZECis6MTA5MTgwMDAzRUMwNEZCMDAzRTgwMEU5MDEzRTAwMEY5MDAzQzIwNjY1Cis6MTA5MTkwMDA2MDAwMDAwMDAwMDAwMDAwMDAwNUZFMjBCRjgxMzNBNDM1Cis6MTA5MUEwMDA4QzE5MDMzRTAwQ0Q4MDNGRTAwRkY4ODMzRTAwRUY4MDM2Cis6MTA5MUIwMDAzRkUwMEZGOTEzRkExMEZEODAzRkE0MEZEODAzQzAwMDYxCis6MTA5MUMwMDA3MDAwMDAwMDAwMDAwMDAwQTgxMTlDMDBCRjIwMzFDMjA4Cis6MTA5MUQwMDAwODVBMDIzQzAyODcwMDJEOTQwQjcwMEExQzQwODYxMDJFCis6MTA5MUUwMDAyRDAwMEI0MDAyRDQwMEY2MDAyRDQwNEI2MDAyRUEwNDMzCis6MTA5MUYwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDlDMDBCNzAxMjM4MDE4Cis6MTA5MjAwMDAyODUwMDIxQzAwODQwMDJEQzAwQjMwMDIxQzAwQjUwMDQ5Cis6MTA5MjEwMDAyRDAwMEI0MDA2RDA0MEI0MDgyRDgwMEI0ODAyQzAwMDQyCis6MTA5MjIwMDAyMDAwMDAwMDAwMDAwMDAwMjAxNENDMDBCMzA4QTAyMEEzCis6MTA5MjMwMDAwODExOEEwRTAwODAwMDJDOTAwQjM3MDIwQzAwOTAwMDYxCis6MTA5MjQwMDAyQ0MwMEIzMDQyQ0MwNEEzODAyQzUwMEIzMDAyQzgwNDNECis6MTA5MjUwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNUJDMDBGOTgwMzI2MDVBCis6MTA5MjYwMDAwQ0Q0MDMzQzgwODgwMDNFRDAwRkY4MDMyODAwRkEwMDlECis6MTA5MjcwMDAzRUMwMEZCMDA3RUMwMUJCODAzRTU0MEZCMDA2RUEwNEJECis6MTA5MjgwMDA2MDAwMDAwMDAwMDAwMDAwODAwMEVFMDhGOTgwM0FDMDk1Cis6MTA5MjkwMDAwRjkwMDNFQzAwRjg0MDNFNTgwRkIwNDNFOTAwRUI0NDU4Cis6MTA5MkEwMDAzRTAwMEY4MDAzRTAwREY4MDAzRTgwMEY4MDAzRTAwMEQ5Cis6MTA5MkIwMDAzMDAwMDAwMDAwMDAwMDAwMDExMERDMDBDRjAwMzM0MDRGCis6MTA5MkMwMDAwQ0QwMDMzQzMwQ0MwMDNCQzAyREYwMDNEODAyQ0MwMEM2Cis6MTA5MkQwMDAzRDAwMENDMDAzRjQwMEVFMDIzNzQwMENFMDAzQzA0NDM0Cis6MTA5MkUwMDAzMDAwMDAwMDAwMDAwMDAwODEwNDZDMTg4Mzg0MjAwMDFFCis6MTA5MkYwMDA0QTEwMDIwQzAwQTg0ODJFNjAwOEIwMDJFOTAwODk0MDFDCis6MTA5MzAwMDAyRUMwMDhCMDAyRTgxMEIxMDEyMDgwMEE5MDAzQTA0MEVFCis6MTA5MzEwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTJDMDA4QjgyMjIwODU1Cis6MTA5MzIwMDAwODkwMDIyQzE0ODgwNDJDMDgwOEIwMTJFODAwOEEwMDY3Cis6MTA5MzMwMDAyRUMwMEFCMDAyRTgwMUI5MDAyNjA0MDg5MDAyRTAwMDNECis6MTA5MzQwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDBDMDA4MzgwQTJDMDYwCis6MTA5MzUwMDAwQTkyMDIyQzAwQTIwMDJDMDAwODM0MDJDODAwODMwMEVDCis6MTA5MzYwMDAyQzAwMjgwMDAyQzQwMUJBMDAyMkMwMDIyMDA2QzIwMTVCCis6MTA5MzcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDZDMDBDQTAwQjIwMEY4Cis6MTA5MzgwMDAwQzkyMEIyQzA0QzgwNDNBMDAwQ0I0MDNFODAwQzgwMDhCCis6MTA5MzkwMDAyRTAwMEM4MDMzRTE0MEU4MDAzNjAwMEM4MDAzQzAwMzRGCis6MTA5M0EwMDA1MDAwMDAwMDAwMDAwMDAwQTAxREZDMDBGRjAwM0QwMDc4Cis6MTA5M0IwMDAwRkQxMEJGQzAxRkMwMDNGMDAwRkYwMDNEODAwRkQwMEIzCis6MTA5M0MwMDAzRkMwMEZGMDAzRkM4MEZGMDAzRkMwMEZGMDA3QTgwNjZFCis6MTA5M0QwMDA3MDAwMDAwMDAwMDAwMDAwQzAxNUYzMDBDRjgwMzU2MDcxCis6MTA5M0UwMDA0RTY4NDM1QzAwRTc4MDM5QzAwQ0MxMDM3RTAwQ0YzNDc3Cis6MTA5M0YwMDAzNUUxNERGMjAzN0MwMERGMzgzRkM4MEZGODAzRjAwMDgxCis6MTA5NDAwMDA3MDAwMDAwMDAwMDAwMDAwQzAxOEM4MDBEQjg0MjI2MDZCCis6MTA5NDEwMDAwOEFDMEEyQzAwOEI4MDIyMzAwODkxMjIyQzkwMjc2MTA2Cis6MTA5NDIwMDAyMkNBODhGQzIyQkYwMDhCNjIyRkQwMDlCODAzQjAwNDg3Cis6MTA5NDMwMDAzMDAwMDAwMDAwMDAwMDAwQzgwNUUyODBBOTAyMjQ0MEJFCis6MTA5NDQwMDA4MjM0NDIwNDAwQTkwMDI4QzU0ODMyMDI0QzIwODMzMEVGCis6MTA5NDUwMDAyMEMwMDgzMTAyMEQwMEIzMjAyQ0M0MEIzMDAyRjIwMUYxCis6MTA5NDYwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUFBMDJCOTA0MjI2MERDCis6MTA5NDcwMDAyOEIyMDIyNjAwODk4ODAyQzAwODMxMTJFQzAwOEIwMDU1Cis6MTA5NDgwMDAyQUQwMDhCMDAyQUMwMDJCMDAyRUMwMEJCMDAyQjAwNEYyCis6MTA5NDkwMDA2MDAwMDAwMDAwMDAwMDAwQzAwNUUyMDBFMzAwMzYyMDhDCis6MTA5NEEwMDAwRUE0NjM2RTAwRTFDMDFBQzEwQzgwMDM2ODcwQ0IwMDhCCis6MTA5NEIwMDAzNjgwMERCMDAzNEMwMEZCMDQzRUMxMEZCMDAzRDAwNDU2Cis6MTA5NEMwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMUI4MDRERjAwM0YwMDcxCis6MTA5NEQwMDAwRkU4MDNGQzAwRkQwMDNGMDAyQjk4MDMzQTAwNzcwMEUzCis6MTA5NEUwMDAyN0U0MEZGMDAzRkMwMERGMDAzRUMwMERGMDQzRjgwMDVFCis6MTA5NEYwMDA2MDAwMDAwMDAwMDAwMDAwNTAwMEE0NjhDQjIwM0E5MEZCCis6MTA5NTAwMDAwRjI0QTNBQzAwRTk1MDNBQzAwRUI0ODMyQzA4RUIwMDQyCis6MTA5NTEwMDAzQTkwMEVCMDhCRUM4MEZCMDAzRUMwMEVCMDAzOTAwNDdFCis6MTA5NTIwMDAyMDAwMDAwMDAwMDAwMDAwQzgwMTBBMDA4QkEwMjA4MDdECis6MTA5NTMwMDAwREE4MDIyQzA0ODk0MDI4RTgwOEIyMDIyQzAwQUYwMEQ0Cis6MTA5NTQwMDAwMjgwMDg3QzAzM0Q4MDNGMDAyRkMwMDhCMDAyMzYwMDM3Cis6MTA5NTUwMDA0MDAwMDAwMDAwMDAwMDAwRTAwNTQ5MDAwMzQwMjhDMDcyCis6MTA5NTYwMDAyQjI4NEEyODAwQTEwMDY4RDIwQTIwNDJBNDAxQTMwMEE3Cis6MTA5NTcwMDAwMjQwMEEzNDAyMEQwMDMzMDAyQ0MwMEEzMDAwQjgwMDRCCis6MTA5NTgwMDA1MDAwMDAwMDAwMDAwMDAwQjgwMTFBMDA4NzkwMjFFNDlDCis6MTA5NTkwMDAyQkM4MTIzQTAwODVDMDJCMjEyODY4MDJCNjAwQTc4NDg4Cis6MTA5NUEwMDAyMzYwMDgzODgwMUUwMEI3ODAyREUwMDg3ODAyMkUwMDY2Cis6MTA5NUIwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODA4MDBDMTAwMzg1NEM2Cis6MTA5NUMwMDAwRjI2ODM4MDAwRTAzNDI4QzgwRTJDMEI4QzAwRTMwMEFCCis6MTA5NUQwMDA3ODQ1MEUzMDAzOEU4MEYzMDAzQ0M4MEUzMDAzOTIwMkIzCis6MTA5NUUwMDAwMDAwMDAwMDAwMDAwMDAwNDAxREI4MDBGNTAyM0Y0NEVDCis6MTA5NUYwMDAwRDkwMDNGODAwQkQxNDFGQzAwRkUxMjM1QzQ0OUY0MjhGCis6MTA5NjAwMDAzRkMwMEZGNDgyN0Q0MEZGMTAzRkMwNEY3MDA3RDAwNjZGCis6MTA5NjEwMDA2MDAwMDAwMDAwMDAwMDAwQTgwNUU4MDJDQjAwMzhDMDkwCis6MTA5NjIwMDAzQ0EwMDNFQzAwRTkwMDNFQzAwQ0IwMDMyMDA0RkIyMTg5Cis6MTA5NjMwMDAzRTgwNEZCNDAzQ0YwMENCMDAzRUNDNEZCMDQzRUEwMDk2Cis6MTA5NjQwMDA3MDAwMDAwMDAwMDAwMDAwQzg5MTk4MDA4NzAwMjFDMDUxCis6MTA5NjUwMDAwODQwMDJEQzA0QjUwMDJEMDAyRDcwMDIxQzFDQjcwMjZFCis6MTA5NjYwMDAyREMwMEI3MjAyREMwMDg3NDAyRENBOEI3MDAyRjIwNDAxCis6MTA5NjcwMDA2MDAwMDAwMDAwMDAwMDAwODAwMEJBMDA4Nzg4MkJFMDM2Cis6MTA5NjgwMDAxODc4MjJENjExQTQ4MjJGRTAwODc4MDIxMjAwQjc5NDJECis6MTA5NjkwMDA2RDYwNEI3QTAyREU0MEI3QTAyREUwMEI3ODA2RTAwMDRCCis6MTA5NkEwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNEM5MTI4MzgyMjhENDYyCis6MTA5NkIwMDA5ODAwMDZFRjA1QjE5MDJDQzEwOUI0MDIwQzA0QjMwMTY3Cis6MTA5NkMwMDA2Q0YwMEIzMDAyQ0MwMEJCMDAyRUMwMEIzMDAyRDIwNDc5Cis6MTA5NkQwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUI4NDBDQTgwM0JBMDQwCis6MTA5NkUwMDA0Q0U1MDJGODgwRUUwMDNEODAyQ0UwMEYzODgwRkEwMDU3Cis6MTA5NkYwMDAzRkE5MEZBMDAzRTgwMEJBMDIzRTgwOEJBMDAzRkEwNDQyCis6MTA5NzAwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEUwMTBGODAwMjYwMkExCis6MTA5NzEwMDAwRjg0MDNFMDI0RjgwMDNFMDA0RjgwQTNFMDMwRjgwMEZGCis6MTA5NzIwMDAzNjAyMEY4MDIzRTAwNDA4MDAzRTAwMEY4MDAzRDIwMEMxCis6MTA5NzMwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEU0MDBEOTAwQjY0MTJECis6MTA5NzQwMDA0RTk5MEJBNDAwNjkxMDNFNDAwQzkwMDNBNDEwQzkwMDcwCis6MTA5NzUwMDAzRTQwMEQ5MjAzRTYwMEY5MDAzQTQwMEU5MDAzQzIwNDI5Cis6MTA5NzYwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY0MDA4MTAwMjA0MkZFCis6MTA5NzcwMDAwODE0OUEyNDAwODkwMDZFNTAwMDkwMDIyNDEwRDkwMjI3Cis6MTA5NzgwMDA2RTQwMEI5NDAzQTcwMEI5MDAyMjQwMDg5MDAzRTAwMDRDCis6MTA5NzkwMDAxMDAwMDAwMDAwMDAwMDAwMTgwNTA2MDA5OTAwQTY0MTE2Cis6MTA5N0EwMDAwQTkwMDYyQzAwQTkwOTZFNTAwODkxMDI4NDA0ODkwMEQxCis6MTA5N0IwMDAwRTQwMEI5NDAyRTU0OUI5MDAwQTQwMEE5MDAyQzYwMDI3Cis6MTA5N0MwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA2MDA4MTAwMjI0MDY0Cis6MTA5N0QwMDAwODEyMjIwNDgxQTEwMDJDNDAwODE2MDIwNDAwOTEyMEU2Cis6MTA5N0UwMDAyQzQwMEIxMjQyODQ4OUIxMjAyMDQ4MDgxMDAyQzIwMThCCis6MTA5N0YwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDYxNDBEODAwMzYwMEY1Cis6MTA5ODAwMDAwQTgwMDNBMTQwRTgwMDJFMDAwQzAwMjNBMTQwQzg1MEFDCis6MTA5ODEwMDAyRTE0MEQ4MDAzRTAwMEY4NTAzQTAwMEU4MDAzRUUwMzkyCis6MTA5ODIwMDA1MDAwMDAwMDAwMDAwMDAwODgxREQ0MDBGNTAwQkY0MDdCCis6MTA5ODMwMDAwRkQxMDNGNDQ0REQwMjNENTAyQkQxMjNGNDAwRjkxMDg1Cis6MTA5ODQwMDAzRjQwMEQ5MTAzQTQ0OEY5MTIzRTRFMUY5MDAzQTYwMjFCCis6MTA5ODUwMDA3MDAwMDAwMDAwMDAwMDAwMTgxNUY0MDBDNTA0M0I0MDMzCis6MTA5ODYwMDAwRkQ4MDNBNzgwRkQwMEIzNjgwREQ4NDNBNTEwQzlBMDg5Cis6MTA5ODcwMDAzMjUxNEY1QTQzMzYwMEM5QTA3QTY4MEJEMDAzQzYwMTUzCis6MTA5ODgwMDA3MDAwMDAwMDAwMDAwMDAwNzgxOENBODg4ODAyMDIwMEZBCis6MTA5ODkwMDA4RDg0MjIyMzQyRjgwMDIyMDQyODhBQTJBQTk0ODhFOTBGCis6MTA5OEEwMDAyMEE4MEE4MDBBMjE0MDgwRTIyRTI4MEI4MDAyQ0UwNEU0Cis6MTA5OEIwMDAzMDAwMDAwMDAwMDAwMDAwNDgwNUM0MjBBMTA0QThDMDNBCis6MTA5OEMwMDAwQjFDMkEyNDAwMzkwNDIwNDAyQTFFMDJFNDgwQjExMDE3Cis6MTA5OEQwMDAyQTQ4MDkxNDQ2MDQwMDgxMzgyQzVCMEIxMDAyRDIwMDgwCis6MTA5OEUwMDAzMDAwMDAwMDAwMDAwMDAwMTgwNUE0MTJBOTI0MjI0MDQ2Cis6MTA5OEYwMDAyOTkwMDIyNDAwMzkwMDAyNTgwODE4MTBFNjAxQjkwMDI2Cis6MTA5OTAwMDBBQTQ0MDg5MDAyMjQwMDg5MDAwRTQxMEI5MDAyQzYwNDZDCis6MTA5OTEwMDA2MDAwMDAwMDAwMDAwMDAwQTAwNUU0MDBFMTAxMkE2NEVFCis6MTA5OTIwMDAyRjk0MTMyNDAyNzE2MDEyNjA0RDkwMDBDNTAyRjkwMDVCCis6MTA5OTMwMDAzQTQwMEY5MDIzMjQwMkM5MDIzQTQwMEY5MDAyRTgwNEYzCis6MTA5OTQwMDA1MDAwMDAwMDAwMDAwMDAwNjgwMUE0MDBEOTAwM0U2MDQzCis6MTA5OTUwMDBBRjkwODM2NDg4RjkyMDNFNjIwMzkwODNBNDAwQzkwMDFECis6MTA5OTYwMDAzNjYwMEYxMDAzQzQwMEY5MDA3RTQwMEY5MDAzREEwMDQ4Cis6MTA5OTcwMDA2MDAwMDAwMDAwMDAwMDAwMjgwMEExMDBDODgyMzIwMDQyCis6MTA5OTgwMDA2RjAwMDNBMDAwRDg0MDMwMDAwRTgwMDM2MDA0RjgwMThGCis6MTA5OTkwMDAzRTEwNEY4MDhCMjIwMEY4MDAzMjAxMEU4MDAzQ0EwNDczCis6MTA5OUEwMDAyMDAwMDAwMDAwMDAwMDAwMjgwMTM4MDAwRTAwQTk5MEVGCis6MTA5OUIwMDAyRkU2MjA4ODAwOUU4MDIzODAwQUU4MDMyODAwQkEwMDUyCis6MTA5OUMwMDAxODgwMERFQzAyMzg4MEJBMDBBMjgwMDhBMDAzOEEwMDNCCis6MTA5OUQwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTZDMDI4MzgwMjBDOEMxCis6MTA5OUUwMDAwQjIwMDIwQzAxOTIxMDY4QzAzQTNDMDJDQzEwM0IwMkUyCis6MTA5OUYwMDAwQ0MwMjgzQzAyNEUwMEIzMDAyOEMwMjgzMDAyQ0EwMDI4Cis6MTA5QTAwMDA1MDAwMDAwMDAwMDAwMDAwQTAwMTE0MDA4NzQyMkJDMDlECis6MTA5QTEwMDAyOTcwMjI5QzAwQjYwMDJCQzIwQTYwODYxQzAwQjcyMTY4Cis6MTA5QTIwMDAyOUMwMDA3NDAyNUMwMDM3OTEwMUUwMDg3NDAyQTgwMEFDCis6MTA5QTMwMDA0MDAwMDAwMDAwMDAwMDAwQTgwODFFMDBDNzgwMjFFMEQwCis6MTA5QTQwMDAyRjc4MDI5RTAwOTY4MDM5RTAyRUY4MDNERTMwRjdEMEEyCis6MTA5QTUwMDAyREYyMDA3ODAzNTIwMEY3QTIzQkUwMEU3ODA3RUEwMkVECis6MTA5QTYwMDAwMDAwMDAwMDAwMDAwMDAwMDgxREI0MDBGQjAwMENDMDU2Cis6MTA5QTcwMDAwRjMwMDNFQzEwRDMwMEI0QzAyRjgwMDM2QzQ4RkIwMDAwCis6MTA5QTgwMDAzRUM4NEQ5MDAzQTQwMEZCMjAxRUMwMEZCMDAzQzIwNkM5Cis6MTA5QTkwMDA2MDAwMDAwMDAwMDAwMDAwMDAwNUZFMDBDQzgwMkIyQ0MwCis6MTA5QUEwMDAyRkY4MDM3RTAwNkU4MDNCQTEwREQ4NDMzRTAwRkY5MDRGCis6MTA5QUIwMDAzM0UwMEZFOTMzRkUwMENGQzAzRkUyMEZEODAzQzAwMDEwCis6MTA5QUMwMDA3MDAwMDAwMDAwMDAwMDAwQTgxMUI0NDA4NzAwMjEwNENECis6MTA5QUQwMDAwODc4MDIxQzAwODYwMDIxQzAyODkwMDJEQzAwQjcxMDI0Cis6MTA5QUUwMDAyMUMwMEY3MzAyQ0MwMDg3MDAyREMwMEI1MDAyRUEwMDhBCis6MTA5QUYwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDlEMDBBNDAwMjk0ODU0Cis6MTA5QjAwMDA2QUYwODI0QzAwQUUwMEExQzQyOTc0MDI1QzQwQTMxMDJDCis6MTA5QjEwMDA2MUMyMEI2MDA2QzgwMDg3MDAyREMwMEI1MDAyQzAwNDU0Cis6MTA5QjIwMDAyMDAwMDAwMDAwMDAwMDAwMjAxNEU2MDFBMzAyMjA0MEY1Cis6MTA5QjMwMDAyODNDMDIwQzAwODM0MjIwQzgwODEwMDJDRDAwQjMwMDZDCis6MTA5QjQwMDAyOEYwMEIzMDAyQ0MwMTgzMDQyQ0MwODMxMDAyQzgwNDFGCis6MTA5QjUwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNUFBODBFQjAwMzhDMDBCCis6MTA5QjYwMDAwQTkwMDM3QzIyQTI0MDMyNDgwREIwMEIzRTAwRkYwMDU5Cis6MTA5QjcwMDAzM0Y0MEY5MDAzRUMwMDhGMDIzRkMwMEY5MDAzRUEwNDEwCis6MTA5QjgwMDA2MDAwMDAwMDAwMDAwMDAwODAwMEUwMDBEOTAyM0VDMDNDCis6MTA5QjkwMDAwRUI2MDNFQzAwRkEyMDNFQzA0RjI0MjNBQzYwRkIwMDVECis6MTA5QkEwMDBBNkMwMEU5MDAzRTQwMEZCMDAzQ0MxMEY5MDAzRTAwMDUwCis6MTA5QkIwMDAzMDAwMDAwMDAwMDAwMDAwMDExMEY4MDJDRjAwMzNFMDg4Cis6MTA5QkMwMDAyQ0YwMTNCQzAwMkUxMEIxNjQyRUYwMDIzQzAwRkYwMkZBCis6MTA5QkQwMDAzRkMxNERFQzYzRkUwMEI3MDAzQkMwMENEODAzQzA0NDRFCis6MTA5QkUwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDZDMjg4MTgxMjJFMDI5Cis6MTA5QkYwMDAwQTM4MDIzQzA0QkFDOTMyRTAyMDg0MDIyQzAwQkIwMEJGCis6MTA5QzAwMDAyRUMwMEI5QzAyRTc4MUJCMDQyMkMwMEE5OTAyRTAwMDJGCis6MTA5QzEwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTI4NDA4ODgwMjI4ODk1Cis6MTA5QzIwMDAyOEJDNDJBQzAwQkEwMDJBODAwODg0MDJBQzAwQkIwMDA5Cis6MTA5QzMwMDAyRUMwMEJCMDgyRTg5MEFCMDA2MkMwMDhCMDEyRTAwMDBBCis6MTA5QzQwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDAwMDA4OTAwMkE4MDk1Cis6MTA5QzUwMDAyOEIyMDIwQzAwQkEwMDIwQzAwODAwMDI4QzAwQjMwMDM5Cis6MTA5QzYwMDAyQ0MwMEIzMDIwNEMxNEIzMDAyMEMwMDgzMDAyQzIwMUJECis6MTA5QzcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDY4MDBDODAwQjJDMDM1Cis6MTA5QzgwMDAyQ0IyMDNBQzAwRkEwMDNBQzA0RUE1MDNCQzAwRkYwMEEyCis6MTA5QzkwMDAzRkMwMDlBMDAzRTkwNEVGMDBCQUMwMENCMDAxQzAwMTQ1Cis6MTA5Q0EwMDAxMDAwMDAwMDAwMDAwMDAwQTAxOUZDMDBGNTAwMzVDMDA1Cis6MTA5Q0IwMDBBRjM0MDNGQzAwRjQwMDM5QzAwRkMyMDM3QzAwRkYwMTg1Cis6MTA5Q0MwMDAzRkMwMEZGMDAzRkNBMEZGMDAzRkMwMEZGMDAzRTgwNTBBCis6MTA5Q0QwMDA2MDAwMDAwMDAwMDAwMDAwQzAwNUZDMDBGRjI5M0QyMERFCis6MTA5Q0UwMDA4RUMxMDMzMjQ4REM4MDIzMjUwRUYyMDMzQ0MwREY4NEEyCis6MTA5Q0YwMDAzM0M5MEZGMjAzRkMwMENGODAzMzQwMENGMjAzMzAwMDc1Cis6MTA5RDAwMDA3MDAwMDAwMDAwMDAwMDAwODAxMEVDQzBCQjYwMkUwODU2Cis6MTA5RDEwMDAwODgxMDIyMDA0ODgyMDIwNDgwOEYxODIyREMwODMwMDk5Cis6MTA5RDIwMDAyMkQ0MDlGNTAyRkMwODhCMDEyMjQwMjhCNDAyMjAwNDQ5Cis6MTA5RDMwMDAzMDAwMDAwMDAwMDAwMDAwODgwNUNDMjBCMzA5MkM4MjEwCis6MTA5RDQwMDAwODEwMTZBMDEwOTAwODI4NDgwQTMyMDIwQzAwQkIwMDI4Cis6MTA5RDUwMDAyQ0MwMEIzMDAyQ0MwMjkzMDEyMDAwOEEzMTIyRTIwMTk4Cis6MTA5RDYwMDA3MDAwMDAwMDAwMDAwMDAwQzAxNUFDMDRCQjAwMkM4MDk3Cis6MTA5RDcwMDAwODg2MDJBMDIwQTAwMDJBNjAwQUIwMTAyQzAwQUIwQ0JDCis6MTA5RDgwMDA2RUMwMDlCMDAyQ0MwMDlCMDAyMjYwMEFCMDAyRjAwNDUxCis6MTA5RDkwMDA2MDAwMDAwMDAwMDAwMDAwMDAxNUVDMDBCQjAwM0UzNDM1Cis6MTA5REEwMDAwOEEwMEI4MzAwRDkwMjNBRTAyRUIwMEIyQzAwRjg4MEZCCis6MTA5REIwMDAzRUMwNEZCMDAzRUMwMENBNDBCMjcyMEVCMDBCQzAwNEZDCis6MTA5REMwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMUJDMTBGQjAwM0YwMDNDCis6MTA5REQwMDAwREY4MTM3MDQ4REQ0MDM3QzI4REYwMDNEQzAwRERDODlDCis6MTA5REUwMDAxM0MwMEZGMDAzRkMwMEVFNDA3RjQwMEQ3MDAzMzgwMEZECis6MTA5REYwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMEFDMDBGQjAxMzJDMDE5Cis6MTA5RTAwMDAwNDEwMDMyMDQwRTgxMDNBQzAwREIwMDNBQzA4Rjg0MDNECis6MTA5RTEwMDBCMkMwMkNCMDMzQTQ4MkRBNDBCQTQwMEZCMDAzRDAwNEYxCis6MTA5RTIwMDAyMDAwMDAwMDAwMDAwMDAwQzgwNTNDMDhCRjgwMjJDOEQ4Cis6MTA5RTMwMDAwOEI3MDAyMzQ0ODhEMDIyRDAwODcwODJGQzAwQjJFMDJBCis6MTA5RTQwMDAwM0Y0MDhGNTAyMzcwNDhCRDEyMjYwNEJGRDAyRjIwMEM3Cis6MTA5RTUwMDA0MDAwMDAwMDAwMDAwMDAwRTAwNTRDMDBCMzEwQTQ0MEVBCis6MTA5RTYwMDAwODAwMDI0ODAwQTA0MjJBRDAwMTMwMDI4QzAwQjM4MEQyCis6MTA5RTcwMDAyQ0MwMDkzMTAyQ0MwMDg5MDAyMkU4MDMzODAyRjgwMDI2Cis6MTA5RTgwMDA1MDAwMDAwMDAwMDAwMDAwNjAwMTFFMDBCNzgwMjc2NDQxCis6MTA5RTkwMDA2ODRBMDI1MjAwOEM4MDIxRTAwODc4MDJERTAwQjc4MDE4Cis6MTA5RUEwMDAyREUyMTkzOTAyNUUzMDg1OTgyMUU0MEI3OTAyRDgwMDQxCis6MTA5RUIwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODBDMDBGMzIwMzQwMEJGCis6MTA5RUMwMDAwQ0I4MDM0ODgwRTIyMjM4QzAwRDMwMDM4QzAwRjMwMDQ4Cis6MTA5RUQwMDAzRUMwMEQzMTAzRUMwMENCMDAzODA2MEYzMDgzRDIwMkI4Cis6MTA5RUUwMDAwMDAwMDAwMDAwMDAwMDAwNDAxREJDMDBGRjAwM0IwMTFFCis6MTA5RUYwMDAwRkQwMDM5MDAwRjYwMDNGQzAwRkY0MDFGQzAwRkYwMUZCCis6MTA5RjAwMDAzM0MyMEVGNTEzQkMwMEVEMDAzRkM0MEZGMDAzRDAwNkMyCis6MTA5RjEwMDA2MDAwMDAwMDAwMDAwMDAwQTgwNUVDMDBGQjAwM0NDMDUxCis6MTA5RjIwMDAwRUEwMDE2NDAxRDgwMDMyRTAyQ0I1MDMyQzAwRjIwMDMxCis6MTA5RjMwMDA3QUMwMERCNDAzMkQ4MEM5MDIzMkMwMENCMDAzMkEwMEQwCis6MTA5RjQwMDA3MDAwMDAwMDAwMDAwMDAwNDgxMTlDODBCNzAwMkRDMDg4Cis6MTA5RjUwMDAwRDYwMDJEMDAxODQwMDIxQzAwODMwMDIxRDAwQjcwMDRFCis6MTA5RjYwMDAyMUM4MEJGNDAzMUVDMDg2MDAyMUMwMDg3QzAzNTIwNEU0Cis6MTA5RjcwMDA2MDAwMDAwMDAwMDAwMDAwQzAwMDlFQzBCNzkwMkRFMDBGCis6MTA5RjgwMDAwODc4MDZENjAxQjQ4MjIxRTAwODc4MEExRTAwQjVDMDIwCis6MTA5RjkwMDAyOUU4MDk3ODAyMzZDMTk3ODAyOEIwMEE3QTAyMzAwMDkxCis6MTA5RkEwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNENDMDBCQjAwMkNFMEEyCis6MTA5RkIwMDAwOTM1ODJDMEMxQTA1MTIwRTQwODMwMDI4QzAwQkJDNDI2Cis6MTA5RkMwMDAyMEMwMEIzMDAyMDYwMDkzMThBQUIwMkEzMDBBNTIwNEFGCis6MTA5RkQwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUE4MDBGQTAxM0RBQ0M4Cis6MTA5RkUwMDA0Q0VDMTM3ODEwRjY4MEIzOTAwQ0EwMDMyODAwRkUwMDEwCis6MTA5RkYwMDAzQTgxMERBMDBGMkE4MERFMDQzQkEwMEVBMDAzM0EwNDk0Cis6MTBBMDAwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEUwMDBGODAwM0UwMDkyCis6MTBBMDEwMDAwRDgwMDJFMTAwRDg0ODNFMTIwRjgwMTM2MDAwRjg2MDA2Cis6MTBBMDIwMDAzRTAwMDc4MDAzQTAwMkU4MDQyNjA4MDU4MDAzOTIwMDkyCis6MTBBMDMwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEU0MDBGOTA0M0E0MDdECis6MTBBMDQwMDAwQzEyMDMyNDgyQzkwMDM2NDQwRjEwMDMyNDAwRjkwMEM3Cis6MTBBMDUwMDAzNjQwMDQ5MDAzMDQwMEM5MDAxMjQwMEM5MDAzMDIwNDJGCis6MTBBMDYwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY0MDBCOTgxMjI0MDNDCis6MTBBMDcwMDAwODkwMUEyNDAwODkwMDIyNjgwQjk5MDIyNDAwQjkwMDc0Cis6MTBBMDgwMDAyMjQwNjg5MDBBMjQwMDg5MDBBMjQwMDg5MDBBMjAwMDFCCis6MTBBMDkwMDAxMDAwMDAwMDAwMDAwMDAwMTgwNTI0MDBCOTEwMjJFMEE0Cis6MTBBMEEwMDAwODk0MDAwNDA0OEIwODI2QzAwQjkwMDIyNDA0QjkwQzA5Cis6MTBBMEIwMDAyNDQwMEExMDAyMjQwMDIzMDIyQTQwQTgxMDAyMDYwMEFECis6MTBBMEMwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA0OTBCMTIwMjI0MDdECis6MTBBMEQwMDAwODEyMDIwQzEwODEwMkEwNTAwQjEyMDIwNDgwQjEwNTdDCis6MTBBMEUwMDAwMDQ4MEExMDAyMDRBMEExMDAyODRBMDgxMjAwMDIwMTM4Cis6MTBBMEYwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDYxNDBGODUwQkExNEU0Cis6MTBBMTAwMDAwQzg1MDMwMTQyQzg1MDM0MDAwRjg1MDMyMTQwRjgwMDNDCis6MTBBMTEwMDAzNjAwMEU4MDEzMjA4MEUwMDAxQTA4MEMwMDAzMkUwMzg2Cis6MTBBMTIwMDA1MDAwMDAwMDAwMDAwMDAwOTgxREU0NDRGOTEwM0Y0MDdBCis6MTBBMTMwMDAyRkQxMTNGNDA0RjUwMDNGNDAwRjkxMEJFNDQwRkYyOEFBCis6MTBBMTQwMDBCRTRFMEQ5NjgzRDRBMkREMjgzNzRBMEY5MzgzRTYwNkQwCis6MTBBMTUwMDA3MDAwMDAwMDAwMDAwMDAwOTgwNUU0MTBDRDAwM0Y0MEIyCis6MTBBMTYwMDAwRkQwMDMzNTAyNUQwMTMxNDQwRkQwMDMyNDAwRjkwMDA0Cis6MTBBMTcwMDAzMjYwMEM5ODgzRTY0MEQ5MDAzNjZBMEM5RTgzMjYwMTMzCis6MTBBMTgwMDA2MDAwMDAwMDAwMDAwMDAwMzgxMEUwMDA4ODAwMkUwMDkxCis6MTBBMTkwMDAwQjgwNDIwMjgwOEEwMDIyMjA4ODgwMDMyMDA4Qjg4MjM3Cis6MTBBMUEwMDAyMjIxMDg4ODgyRTI0Mjg4QTgyMjIwMDhDRTAyMEUwNERBCis6MTBBMUIwMDAzMDAwMDAwMDAwMDAwMDAwMDgwNUM0MDI4MTAwNjg0MDczCis6MTBBMUMwMDAwQjEwMDI4NDAxQjkwMDIwNDA0OTEwMEEwNDAwQjUwOEIwCis6MTBBMUQwMDAyMTQ2MDg1MDAyRDQwMDhEMjAyNTRBMEI1MDAyNDIwMTJFCis6MTBBMUUwMDAzMDAwMDAwMDAwMDAwMDAwMTgxMUE0MDA4OTA0NkU1NDIzCis6MTBBMUYwMDAwQjEwMTJBNDAxQTkwMEEyNDAxODkwMTYyNDAwQjkwMDY3Cis6MTBBMjAwMDAyMzQwMThEMDAyRjQwMDhENDAyMTRBMEJEMDAyNDYwNEFFCis6MTBBMjEwMDA2MDAwMDAwMDAwMDAwMDAwQTAxNUU0MDBDOTAwM0E1MEYyCis6MTBBMjIwMDA4Rjk2MEI4NDAyRjEwMTMwNDg4RDkwMDMyNDEwRjkwMEMxCis6MTBBMjMwMDBCMjQwMkM5MDAzRTY0MEQxQzAzNjUwMkY5MDBCNjgwNEZBCis6MTBBMjQwMDA3MDAwMDAwMDAwMDAwMDAwMjgwMUE0MDBGOTAwM0U2MDNBCis6MTBBMjUwMDAwRjk5QzM2NDAwRDkyODNFNDAwRDkwMDNBNDAwRjk0MDMzCis6MTBBMjYwMDAzRTQwMEY5MDAzRTQyMEY5NDAzRTQwMEM5MDAzOEEwMEVBCis6MTBBMjcwMDA2MDAwMDAwMDAwMDAwMDAwMjgxMEEwMDBGODAxMzYwMDc3Cis6MTBBMjgwMDA4RjgwMDNFMDAyRjgwNDMyMDAwRDgwNDMyMDAyQ0MwMEVFCis6MTBBMjkwMDAzRjAwMEZDMDEzOTAwMkRDNDAzRjEwNENDMDIzMEEwNDYzCis6MTBBMkEwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNTI4MDBCQTAwMjI4MERECis6MTBBMkIwMDAwQkU4MjBGODAwNEVDMDIzQTAwOEEwMDM2ODAwOEEwMDI1Cis6MTBBMkMwMDAyRTgwMUZBMDAyMkEwNjhBMDAyRUEwMDI2MDAzMEEwMDI4Cis6MTBBMkQwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTZDMDBCMzAwMjBDMDEyCis6MTBBMkUwMDAwQjNEMDJDMDAzMjMwMDIwRTAwMUIwMDY0QzAwOEIwMEIwCis6MTBBMkYwMDAyRUMwNEIzMDAyOEUwODgzODAyQ0M0MDAzNDhFNEEwMDVFCis6MTBBMzAwMDA1MDAwMDAwMDAwMDAwMDAwQTAwMTFDODBCNTgwNjFDMDZBCis6MTBBMzEwMDAwQjQwMDJENDAwODQwODIzQzIwODUwMDI1RUMwODQwMUFFCis6MTBBMzIwMDAyRDAwOEEwODAyMTAyNDg0MDg2RDAwMEEwMzEyMjgwMEY4Cis6MTBBMzMwMDA0MDAwMDAwMDAwMDAwMDAwQTgwODFFMDBGNTgyMjE2MDE3Cis6MTBBMzQwMDAwRjc4MDNENjA0QUU4MDMxRTAwRDU4MjM3RTAwQzY4MDFFCis6MTBBMzUwMDAyREUwMEI3ODAzOEUwMEQ3ODIzREYwMEM3QTAzNkEwMjYxCis6MTBBMzYwMDAwMDAwMDAwMDAwMDAwMDAwMDgxREFDMDBGMTAwQkFEODk5Cis6MTBBMzcwMDAwRjgwMDNFNDEyRjgwMEJFODAwRTEwMDNFQzAwRjkwMDE5Cis6MTBBMzgwMDAzRTAwNUY4MDAzRTAwOEY4MDQzQzAwMEY4MDAzQzIwNjMzCis6MTBBMzkwMDA2MDAwMDAwMDAwMDAwMDAwNDAwNUZFMjBGRjgwM0ZGMDRDCis6MTBBM0EwMDAwRkY4MDNEMjAwRUY4NEIzNjEwQ0I5MDNGRTAwRkY4MDA1Cis6MTBBM0IwMDAzM0UwMENGODEzMjIxMUNEOTAzRjYwMENFODAzMTAwMDNECis6MTBBM0MwMDA3MDAwMDAwMDAwMDAwMDAwQTgxMTlDMDBGNTAwMkRDMEU2Cis6MTBBM0QwMDAwQjAwMDJENDA0ODQyMDIzNDAwODVBMDJEQzAwQjQwMDlECis6MTBBM0UwMDAyMTAwMjhDMjAyMUUwNDg2MDQyRDg4MDhEMDAyMkEwNEY3Cis6MTBBM0YwMDA2MDAwMDAwMDAwMDAwMDAwMTAwMDlDMDBCNTAwMkQ0MDJGCis6MTBBNDAwMDAwQjcwMDJGNDIwQTcwNDIxQzAwQTUwMDJEQzAwQkUwMDM5Cis6MTBBNDEwMDAyMUMwMDg3MDEyMDAwMDg1MDAyRDQwODg2ODBBMDQwMEUxCis6MTBBNDIwMDAyMDAwMDAwMDAwMDAwMDAwNjAxNENDMDBBMTAwMkVDMDNECis6MTBBNDMwMDAxQjA4MDZDNDIwODAwMDIwOTgxQTEwMDJDQzAwQjEwODI2Cis6MTBBNDQwMDAyMDAwMDgwMDAyMEMwMTgyQzAyQ0FDMjg5MDIyMTgwNEM1Cis6MTBBNDUwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNUJDMDBCMzAwM0U0MDIyCis6MTBBNDYwMDAwRkJBMDNFNTAyRTkwNDMyOTBBRUIwMDNGQzEwRkI0MEUyCis6MTBBNDcwMDBCMjAwMEM4MDBCMkMwMjgyMTgzRkEwMENEMDAzMkUwNERCCis6MTBBNDgwMDA2MDAwMDAwMDAwMDAwMDAwOTAwMEVDMDRGQjAxM0U0MDcyCis6MTBBNDkwMDAwRkI2NDNFNDAwRjgwMDNFODAwMTkwMDNFQzAwRjg4MTIxCis6MTBBNEEwMDAzRUQwMERCNDUzRTAwMEY5NDAzRTQwMEZBMDAzRTAwMDYxCis6MTBBNEIwMDAzMDAwMDAwMDAwMDAwMDAwODAxMERDMDJDRDgwMzM2MDFFCis6MTBBNEMwMDAyQ0RBMDNGQzAwRUMwMDMzNDAwRkYyMDM3QzA0RkUwMEE2Cis6MTBBNEQwMDAzMjAwMENDODAzM0MwMENFMDAzMTgwMENEMTAzMjQwNEIwCis6MTBBNEUwMDAzMDAwMDAwMDAwMDAwMDAwOTEwNDZDMDAwOTAwMkE2NEE0Cis6MTBBNEYwMDAwODhFMDJDMjEwQTAxMDNFMTAwQjk4MDJFQzAwQjkwMEFBCis6MTBBNTAwMDAwMkQ4MDhCRTIyMjAwMDg5MDAyMjUwMDhBMDAyMjA0MDY0Cis6MTBBNTEwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTJDMDAwQjIwMjI0MEVECis6MTBBNTIwMDAwOEEwMDJFNTQyQUIwNDIyMTgwQkIwMDI2QzAwQjMwMDk1Cis6MTBBNTMwMDAyMDA0MDgwMTAyMDAwNEE4NDAyMjEwMDg4MDAyMjAwMDI0Cis6MTBBNTQwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDBDMDg4MzAwMjg0MEMwCis6MTBBNTUwMDAwODA0MDJDNDAyQTgwMDJDMDAwQjEyMDJDQzAwQjAwMEI4Cis6MTBBNTYwMDAyMEMwNDAzMDAyMEMwMDhCMDBBOEMwMDgzMDAyMDIxMTRECis6MTBBNTcwMDAwMDAwMDAwMDAwMDAwMDAwODAwRDZDMDBDOTAwMzM0MEE2Cis6MTBBNTgwMDAwQ0IwMDNFQzAyRUIwMDMyNDAwRkIwMDM2QzAwRkEwMDk5Cis6MTBBNTkwMDAzMjAwMEM4MDAzMjA4MEM4MDAzMDAwMEM4MDAzMjAwM0IwCis6MTBBNUEwMDA1MDAwMDAwMDAwMDAwMDAwQTAxOUZDMDBGRDAwM0Y0MDJBCis6MTBBNUIwMDAwRkMyMTNGMDAwRjQwMDNGMDA0RkQ0MDNGQzAwRjUwMDdECis6MTBBNUMwMDAzRkMwOEZGMDAzRkM0MEZGMDAzN0MwMkZGMDAzRTgwNkM4Cis6MTBBNUQwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUYwMDBDQzAwMzMwMDU3Cis6MTBBNUUwMDAwRUQwMEIzMzAwQ0MwMDMzRTAwRkMwODM3QzAwQ0YyMEIzCis6MTBBNUYwMDA3QjA5OENGODAzRkU1MENGMzgzRkUxMERDMjAzRjAwMDE5Cis6MTBBNjAwMDA3MDAwMDAwMDAwMDAwMDAwODAxMEUyMDA5ODA4MjA4MDI4Cis6MTBBNjEwMDAwODk4MDIyMDAwODhEMDIyRTAwRUI0MjI3RDE5OUY2OTlDCis6MTBBNjIwMDAyRTkwMDgzMDkyMjg4MURCNjQyRUUxODgxNkEyRTAwNDg3Cis6MTBBNjMwMDAzMDAwMDAwMDAwMDAwMDAwODgwNUM4MDA5MDI0MjAwMUMwCis6MTBBNjQwMDAwODEwMTYwMDgyODMwMTI4QzEwQjAyODIwQ0UwQTMxMEJGCis6MTBBNjUwMDAyODBFMUI5MjAyODQ4NDkzMjAyRUMwMDgzMTAyRTIwMTRFCis6MTBBNjYwMDA3MDAwMDAwMDAwMDAwMDAwQzAxNUE4MTA5ODAwMjI4MEIzCis6MTBBNjcwMDAwODkwMDIwMDYwOEExMDJBQzAwQTIwMDI2QzE4QkIwMEYxCis6MTBBNjgwMDA2RTYwMkI5MDAyNDYyMDhCMDAyRUMyMDhCMTgyRjAwNDJGCis6MTBBNjkwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMUU0MDJDQjAwQjI0MDY2Cis6MTBBNkEwMDAyQzkyMDMyNzAwODgwMEJBQzAwRjg4MDMyQzAwRUIwNDBCCis6MTBBNkIwMDAzQUEwQ0YyQ0EzRUQwMDlCMDAzQ0YwMkQ4QzMzRDAwNEFFCis6MTBBNkMwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMUI0MDRFRjAwM0ZDMDkzCis6MTBBNkQwMDAwRDUxMDNGMDAwRjE4MTM3QzAwRUY0MDM5QzEwQ0YwMDQwCis6MTBBNkUwMDAzRDgwMENFQzA3QjgwOEZGMDIxRkM0MEZDODAzRjgwMDM4Cis6MTBBNkYwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMDlFMDBDMzAwMzg0MEQxCis6MTBBNzAwMDAwQzkyMDNBNDgwRkIyMDNBQzAwRDk0MDMyQzQwRkIwMDY0Cis6MTBBNzEwMDAzRTAxMEY4MDAzRTUwMEVCMDAzQUMwMEQ4NDBCMTAwNEVFCis6MTBBNzIwMDAyMDAwMDAwMDAwMDAwMDAwQzgwNTJDMDg4QjAyMjJDMDk5Cis6MTBBNzMwMDAwODkyMDMyMTAwOEI0ODIyQzAwQkI3MDIzRDQwM0YwMTI1Cis6MTBBNzQwMDAyMjc0MEI5MDAyMjgwNEJGMDBCMkMwMEI4NTAyMzIwMEI1Cis6MTBBNzUwMDA0MDAwMDAwMDAwMDAwMDAwRTAwNTQwMDE4MDAwMjgwMEVCCis6MTBBNzYwMDAwODJDMTI4ODQwQjA0MDA4QzAwQjE4MDIwRTAwQjMwMDNECis6MTBBNzcwMDAyODIwMTEzMDAyMEMwMEIzMDAyNDAwMDkwMDA2MzgwMDI0Cis6MTBBNzgwMDA1MDAwMDAwMDAwMDAwMDAwMjAwMTEyMDA4NDgwMjFBMDgxCis6MTBBNzkwMDAyODY4MTIzQTAwODQ4MDI1RTA4QjU4MDIxRTQwQjc4MjU4Cis6MTBBN0EwMDAyMUE2MEI3ODAyMUEwMEI3ODAyMTIwMEI1ODAyMDgwMDVFCis6MTBBN0IwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODA4MDBDODIxMzgwOUQ3Cis6MTBBN0MwMDAwQzI4MDM4MDAxRjEwMDM4QzAwRDg1MDIwQzAwRkIwMDRECis6MTBBN0QwMDAzODg1MEYxMDAzOEMwMEVCMTAzQ0M4MEQzMDAzMTIwMkJCCis6MTBBN0UwMDAwMDAwMDAwMDAwMDAwMDAwNDAxRDk4MDBGQzAxM0Y4MEI4Cis6MTBBN0YwMDAwRjY4MDNEMDQwRkMwMDNCQzAwREMwMDNGQzIwRkYwMEVECis6MTBBODAwMDAzQkM1MEZGMDBCQjQ0MEZGMTgzRjAwMEZGMTAzRDAwNjFCCis6MTBBODEwMDA2MDAwMDAwMDAwMDAwMDAwQTgwNUU0MDBFQjAwQjA0MTZCCis6MTBBODIwMDAwQ0EwMDNFMDA0Q0EwNEIwRTAwRUIwMDNFQzgwQ0IyMDFGCis6MTBBODMwMDAzMjgxMENBMDAzRUUwMERCMDAzRTAwMEVCMDAzMkEwMEM0Cis6MTBBODQwMDA3MDAwMDAwMDAwMDAwMDAwNDgxMTk0MDQ4NzAwMjFDMDNGCis6MTBBODUwMDA0ODYwMDJGMDAwODcwMDIxQzAwODcwMDJGQ0EwODMyODM1Cis6MTBBODYwMDBBMzgwMDg2MDAyREMwMDg3MjAyREMwMEI3MDAyMTIwNDU4Cis6MTBBODcwMDA2MDAwMDAwMDAwMDAwMDAwQzAwMDlDMDJBMzgwMjE2MDc2Cis6MTBBODgwMDAwODY4MDJEMjAwODc4MDIxRTAyOTc4MDJERTgwODc5MDY0Cis6MTBBODkwMDAyMUEwMTk0ODAyRkUwMDk3ODAyREUwMEEzODgyMzAwMDdFCis6MTBBOEEwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNENDMDE4MzgwMjBDMDdDCis6MTBBOEIwMDAwODIwNDJDMDMwODM3MEEwQzA4OTM0MDJDQzAyODMwMERCCis6MTBBOEMwMDA2MEMwMjkwMDAyQ0UwMDgzMDAyQ0M4MEJCQzAyMTIwNDE5Cis6MTBBOEQwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUE5MDBFQUUyMzI5MDE0Cis6MTBBOEUwMDAyQ0UwMDNGQjAyQ0VDMDMyODAwRkU0MDNFODAwOEEwMEI0Cis6MTBBOEYwMDAzMzg4MEQ2NEMzRkEwMERBMDAzRDkwMEVFMDBCM0EwNDkxCis6MTBBOTAwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEMwMjRGODA4M0UxMjZCCis6MTBBOTEwMDAwRkMwMDNFMDQ4RjAwMDNFMDAwRTgwOTNDMDAwRjgwMDM2Cis6MTBBOTIwMDA3RTAxMEU4MEMyRTA0MEY4MDA3RTAwOEY4NDAzRDIwMERBCis6MTBBOTMwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEU1MDBDMTAxMzI0OEFFCis6MTBBOTQwMDAwQzk4MDNFNjQwQzkwMDMyNDAwRjkwMDM2NjAwQzkwMDJFCis6MTBBOTUwMDAxODYxMEM5MDAzNjQyMEY5MDUzRTQwMEM5MDgzMDIwNEJBCis6MTBBOTYwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY2MjA4OTAwMjA1MkIyCis6MTBBOTcwMDAyODEwQzIyNjAyQTkwMDIyNDAwQjkwMEEyNzAwQTkwMDM1Cis6MTBBOTgwMDAyMjcwMDg5MDAyMjQwOEI5MDAyRTQwMEE5MDBBMjAwMDg0Cis6MTBBOTkwMDAxMDAwMDAwMDAwMDAwMDAwMTgwNTI0MDI4RDAwMjM0MDc0Cis6MTBBOUEwMDAwOEQxMDI4NDIwODkwMDIyNjAwQjExRjIyNEIwODEwMEJBCis6MTBBOUIwMDAyQTQ2MDg5MDQyNjQwOEI5MDAyRTQwMDg5MjAyMDYwMDE4Cis6MTBBOUMwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDE0ODA4NTIwMjM0ODk3Cis6MTBBOUQwMDAwODUyMDI4NDA4ODEwMDIwNDAwQjEyMDIwNDgwQTEyMDRBCis6MTBBOUUwMDAyODQ5Mjg5MDAyMDQwMDMxMjAyRTQwMDgzMjAyMDIwMTNBCis6MTBBOUYwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDYwMDBDODUwQjIxNDU0Cis6MTBBQTAwMDAwQ0MwMDNBMTQwQzgwMEIyMDAwNzg1MDMyMTQwQzg1MDE0Cis6MTBBQTEwMDAzQTE1MEM4NTAzNjE0MEY4NTEzRTAwMkM4NTAzMkUwMzQ2Cis6MTBBQTIwMDA1MDAwMDAwMDAwMDAwMDAwOTgxREM0NDhGOTEwM0U0NDhBCis6MTBBQTMwMDA0RjkxMDM3NDAwRjU0NDNFNDAwRkQxMDNFNDQwRjkxMEY4Cis6MTBBQTQwMDAzNzQ0MEZEMDAzRDQwMEY5MTAzRkMwMEZEMTAzRTYwNkZFCis6MTBBQTUwMDA3MDAwMDAwMDAwMDAwMDAwMTgxNUY2QTBERDhDMzM3OEFGCis6MTBBQTYwMDAwRURBMDMzNTAwQ0RBMDMzNDAwREY4MEIzNjgxRTk4MEI2Cis6MTBBQTcwMDAzMzcwMEM5MTAzRTQ0MEY5QzAzRUMwMEZEQzAzQzYwMDA0Cis6MTBBQTgwMDA3MDAwMDAwMDAwMDAwMDAwMzgxMEUxMDRCODQwMjAzQ0Q1Cis6MTBBQTkwMDAwQzg1MDIwMjg0OEE0MDIyMDAwODhGODIyMzAwQjhFOEQ1Cis6MTBBQUEwMDAyMjIwMDg4ODAyRTIwMEI4RDAyRTAwMEI4QzAyQ0UwNENGCis6MTBBQUIwMDAzMDAwMDAwMDAwMDAwMDAwMDgwNUM0MDA5MTAwNjA0ODVDCis6MTBBQUMwMDA0QjEwMDIwNDhBODE0MDYwNDA0OTEwMDI4REEwQTE0MUQwCis6MTBBQUQwMDAyMDUwMDkxMjIyQzQ4MEIxMjAyQzQwNEIzRTAyQzIwMUZBCis6MTBBQUUwMDA3MDAwMDAwMDAwMDAwMDAwMTgxNUE0MDhCOTA0QTA0MDgwCis6MTBBQUYwMDA0OEIwMDIyNDAwODkwMDgyNDAwODkwQTZBNDAwQjkwNDRFCis6MTBBQjAwMDAyMjU0Mjk5NTAyRTU0MEI5MDA2RTQwMEI5MjAyQzYwNDFBCis6MTBBQjEwMDA2MDAwMDAwMDAwMDAwMDAwQTAwNUU0MDA5MTAwMzI0MDQ5Cis6MTBBQjIwMDAwRjkwMDkyNDAwODk5MDMyNDAwRDk0MDNBNDAwRTkwMjlCCis6MTBBQjMwMDA3MjYwMEQ5NDAzRTQwMUY5MDEzRTYwMEY5MDAzRTgwNDk0Cis6MTBBQjQwMDA3MDAwMDAwMDAwMDAwMDAwMjgwMUE0NDBGOTAwM0U0MDExCis6MTBBQjUwMDA0RjkwMDNFNzEwRjk4MDNFNDAwRjEwMTM2NDAwRjEwMDlFCis6MTBBQjYwMDBCRTQwMEU5MDAzRTYwOEY5MDEzRTY0MEY5MDAzQ0EwMDUwCis6MTBBQjcwMDA2MDAwMDAwMDAwMDAwMDAwMjgwMEEwMDBGODAwMzIwODdCCis6MTBBQjgwMDAwQzAxMEIyMDQwQzg0MDMyMDAwRTg0ODMyMDAwRjgwNEUyCis6MTBBQjkwMDAzRTA0MEY4MDAzMjEwMEU4MDAzRTEwMEY4ODAzQ0EwNDIyCis6MTBBQkEwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNTM4MDAzRTA0MjM4MDNCCis6MTBBQkIwMDAwOEVDMTIzOTQ0QTYwMDI4ODEwOEUwMDAzODA4QkEwMEUxCis6MTBBQkMwMDAzRjgwMEJBMDAyQTgwMDhBMDIyRTgwMEJFMDAyQ0EwMDgwCis6MTBBQkQwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTQ4MDAzMTAwMjREMDlCCis6MTBBQkUwMDAwODNFMTJBRTA4ODFBMDJDQzAwQTM4MDA0QzAwQjMwMDA5Cis6MTBBQkYwMDA2RUMwMEEzMDAyMEMwMEEzMDA2Q0MwMEIzMDAyQ0EwMDA5Cis6MTBBQzAwMDA1MDAwMDAwMDAwMDAwMDAwQTAwMTE4MDBCNTEwMjVDMDkxCis6MTBBQzEwMDAyODYwMTI5MDEwQTUwODJEQzIwODY0MjI1ODE4QjcwMEE5Cis6MTBBQzIwMDAyRDgwMEI3OTAyQkVDMDg3MDE2REMwMEI2MDAyRTgwMDY5Cis6MTBBQzMwMDA0MDAwMDAwMDAwMDAwMDAwQTgwODFFMDBGNTg0MzUyMDM4Cis6MTBBQzQwMDA4QzE4MDI5MjEwQzU4MDNENjAwRUM4MEI1QTA4NzdGMzJECis6MTBBQzUwMDAzREEwMEZGODAzMUVCMEU3ODUzREUwMEY3ODAzRUEwMjQwCis6MTBBQzYwMDAwMDAwMDAwMDAwMDAwMDAwMDgxREFDMDBGMTA0QkEwMTYzCis6MTBBQzcwMDAwRkEwNDM2MDA5RTEwMDM4NDAwRUEwMDNBODE0RkIyMDk4Cis6MTBBQzgwMDAzQTgwMEZCNDFCNEM4MEZCMjkzRUMwMEZCMDIzQzIwNjk0Cis6MTBBQzkwMDA2MDAwMDAwMDAwMDAwMDAwMDAwNUZBMDBDRDgwM0JFMEVECis6MTBBQ0EwMDA0RUY4MDNGMjAyRDQ4MTNCRTA4RTk4MDczRTQ0RUY5MUM4Cis6MTBBQ0IwMDAzRkUwNEZGQzA3RUVEMENGOTgzM0U0MEZGODAzQzAwMDFECis6MTBBQ0MwMDA3MDAwMDAwMDAwMDAwMDAwQTgwMTk4MDA4NTEwMkRDNDRECis6MTBBQ0QwMDAwRDExMDJGMDAwODUyMDMxQzQwQjdCMDAzODQwRDcxMEU1Cis6MTBBQ0UwMDAyRDgwMEI3MDYyRkVFMTg3MTQzOUMwMEI2MDAyRUEwNDBDCis6MTBBQ0YwMDA2MDAwMDAwMDAwMDAwMDAwMDAxMEJDNDBBNTAwMjk0MERBCis6MTBBRDAwMDAwQjUwODJEQzQwODQwNDJEQzAwQjEwMDY1ODQ0QTcxMDYxCis6MTBBRDEwMDAyRDgwMEI3MTAyREMwMDg3MDQyMUMyMEI1MDAyQzAxMDkxCis6MTBBRDIwMDAyMDAwMDAwMDAwMDAwMDAwMjAxNENDMEFBMTAxMkM0MEVCCis6MTBBRDMwMDA4OTE4MDJDMTAwQTEwODIwQzAwQjM0MDY0MDAwOTMwNTA5Cis6MTBBRDQwMDAyQzE0MEIzQzg2Q0UxMDgzMDEyOEYxMEIxNDAyQzgwNDhFCis6MTBBRDUwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNUEwMDBFRDAwM0FDMDdGCis6MTBBRDYwMDAwN0JDNjNFRDAwODE0MDNFQzAwRTg4MDM2NDAwRUYwMDI1Cis6MTBBRDcwMDA3RTUwMEZGMDAyRkQ0MkNGMDA3MkMwMUZCNDAzRUEwNDAwCis6MTBBRDgwMDA2MDAwMDAwMDAwMDAwMDAwODAwMEU4MDA5OTAwM0VFMDQ0Cis6MTBBRDkwMDA0RkI0ODNFRDkwMDk0MDNFQzAwRkExODNBODAxRUIwMUExCis6MTBBREEwMDAzRTAwMEZCMTEzRUMwQ0ZCMDAzQUMwNUYyMDIzRTAwMDIzCis6MTBBREIwMDAzMDAwMDAwMDAwMDAwMDAwMDExMEY4MDBGRDA0M0ZCMDZBCis6MTBBREMwMDAwRDYwMDMzRTAwQ0QwMDMzRjAwRkYyMDFGMDAwRkYwM0YxCis6MTBBREQwMDAzRjAzMEZGMDAxRkMwMEZCMDIzM0MyMEZGMEUzMDA0NDFECis6MTBBREUwMDAzMDAwMDAwMDAwMDAwMDAwODEwNDZBMDBCOTAyMkVBMEJCCis6MTBBREYwMDA0QUFDMDIwRTgwRjlDMDM2RTEwQkEwMDIyQTA4QkIwMDYzCis6MTBBRTAwMDAyRTIwMEVCMDAyRUMwMEVCMDAyMkMwOEJCMDAyMjA0MERFCis6MTBBRTEwMDAxMDAwMDAwMDAwMDAwMDAwODAwMTIzMDBBOTAwMjhDMEVECis6MTBBRTIwMDAwOUIyMjI2QzQwODk4OTJBQzAwQjE0MDYyNjAwQUIwMkE1Cis6MTBBRTMwMDA2RUUwMDlCMDA2NkMwMEIzMDIyMkMwMEJCMDAyMjAwMDI1Cis6MTBBRTQwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA4MDBCMTAwMkNDMDExCis6MTBBRTUwMDAwQTMwMDIyQzAwQkIwMDY0QzAwQjMyMEEwODAwMzMwMDI5Cis6MTBBRTYwMDA2QzgwMDIzMDQ2Q0MxOEEzMDAyMEMwMEIyODAyMDIxMUNGCis6MTBBRTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTY4MDBFOTAwMzhDMTgzCis6MTBBRTgwMDAwREIxMEIyQzAwODkwMDNBQzAwQjkwMDM2MDAwRkYwMjRCCis6MTBBRTkwMDAzRTgwMEZGMDAzRkM4MEZGMDAzMkMwOEY4MDBCMDAwMzY4Cis6MTBBRUEwMDA1MDAwMDAwMDAwMDAwMDAwQTAxMUQ4MDBGRDA0M0ZDMEM5Cis6MTBBRUIwMDAyRkYyMDNGQzExRUYwMDNGQzAwRkY0NDM3MDAwRkYwMEJFCis6MTBBRUMwMDAzRjAwNDZGMDAzRkQwMEVGMDAzRkMwMEZDMDAzRTgwNjVGCis6MTBBRUQwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUZFMDBGRjgwM0RFMEEzCis6MTBBRUUwMDAwQ0Y5MTNERTAwN0Y4MEIzRTAwRkZDMDNCRTQwQ0Y4MDdGCis6MTBBRUYwMDAzM0YwMEZGODAzN0MwNENDODAzM0EwMENGMDBCMzAwMTRFCis6MTBBRjAwMDA3MDAwMDAwMDAwMDAwMDAwODAxMEUwMjA4ODAwMkUyMDZCCis6MTBBRjEwMDAwODgyMTJFMDgwQTg4MTIyMDIwQjgwMDIyMDgwQTg4MDkzCis6MTBBRjIwMDAyMjA4MEI4MDAyMkMwMjg4MDRBQTIwMDhCMDAyMjAwNDA4Cis6MTBBRjMwMDAyMDAwMDAwMDAwMDAwMDAwODgwNUVDMDBBMzA4MkM4MDIxCis6MTBBRjQwMDAwODMyMDJDNDIwQTMwMDI4NDAwQjkyMDI4NDAwQTkwMTA5Cis6MTBBRjUwMDAyOEM4MUIxMjgyQ0M0MEE4MDAyNEUwMEEzMDQyMjIwMUZCCis6MTBBRjYwMDAzMDAwMDAwMDAwMDAwMDAwQzAxMUE4ODBBODAyMkU0MEEwCis6MTBBRjcwMDA2ODgwMTBDODAwQjg0MDJBOTAwQkEwMDAyODAwQUEwOERBCis6MTBBRjgwMDAyQTAyMDMyMDAyOEMwMEE4ODgyRTIwMEFCMDAyMzAwNDc2Cis6MTBBRjkwMDA2MDAwMDAwMDAwMDAwMDAwNDAxNUU4MDRGQTAwM0M0MDlBCis6MTBBRkEwMDAwQ0EwMDNFODAwRUIwMDNBQzAwRjIwNTNBODAwRTM0MEQ4Cis6MTBBRkIwMDAyQTQwMEZBMDAzNkMwMEE4ODAzNDIwMUVCMDAzMTAwNEE4Cis6MTBBRkMwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMUI0MDA5RDkxM0Y4MDhGCis6MTBBRkQwMDAwRkRBMjNGNDAwQ0MyMDM3MDAwN0QwMTM3NDAwQkMwMDM0Cis6MTBBRkUwMDBCNzgwMEJEMDQzN0MwMERDMDQzQjAwNkRGMDAzRjgwMDFECis6MTBBRkYwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMEE4MDBGQTgwM0EwMDQ1Cis6MTBCMDAwMDAyQ0EwMEIyMDAyQ0I2MjNFNTAwRTg4MDMyMDAwRDkxMEVBCis6MTBCMDEwMDAzRTcwOEM4MDMzRUM4MEQ4NDAzQTAyMERCMDAzMTAwNEFGCis6MTBCMDIwMDAyMDAwMDAwMDAwMDAwMDAwQzgwMTBDMDAzOTgwMjJDMDkwCis6MTBCMDMwMDAwQzlEODIyQzEwRDA0MDJFQTAwOEI4MDM0RTAyOEE0MEVFCis6MTBCMDQwMDAwRUEwMERCMDAzM0QwMEQwOTAzNjEwMEJGMDAyQjIwMDAwCis6MTBCMDUwMDA0MDAwMDAwMDAwMDAwMDAwRTAwNTRDMDBCMTAwNjBDMEFFCis6MTBCMDYwMDA4QTE4MDI4QzA4ODA0MDBDQTAwMjMwMDJDRTAwODI0ODcwCis6MTBCMDcwMDAyQzgwMkIzMDA2OEMwMDgxMDIyMDkwMDlCMDAyMzgwMDExCis6MTBCMDgwMDA1MDAwMDAwMDAwMDAwMDAwMjAwMTEyMDBCNjkwQTMzMDI0Cis6MTBCMDkwMDAwOEU4MjJCMjE0ODc4MDJENjAwODQ5MTIxMjYxOTU5MDQ5Cis6MTBCMEEwMDAyRDYxMEE0ODE2MUU4MDk1ODAyNTIwMEI3ODAyODgwMEE1Cis6MTBCMEIwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODBDMDBGMTAwMjg4QzRGCis6MTBCMEMwMDA4RTEwMDM4NDgwODAwMDJDMDIwQTlBMDJFNDAwRDAwMEQzCis6MTBCMEQwMDAzRTgwMEI5MTAzOEU4MEMyMDgzODgwMERCMDAzMTIwMkFGCis6MTBCMEUwMDAwMDAwMDAwMDAwMDAwMDAwNDAxREIwMDBGNjAwM0Y0NERBCis6MTBCMEYwMDAwRjIxMTM3ODAwRkYwMDNEQzAwRkUwMDM3ODAwRUYwNDNDCis6MTBCMTAwMDAzRjQwOERFODAzREMwNEY2MDAzRjAwMEZGMDgzRDAwNkRCCis6MTBCMTEwMDA2MDAwMDAwMDAwMDAwMDAwQTgwNUU4MDBFODgwMzI0MDYwCis6MTBCMTIwMDAwRjg4MEIyODAwNzgwMjNFODAwRTI4MDMyODAwQ0E4MDcyCis6MTBCMTMwMDAzMjAwMEZBMDAzRUMwMEM5ODAzMjgwMEZCMDAzMkEwMDU4Cis6MTBCMTQwMDA3MDAwMDAwMDAwMDAwMDAwNDgxMThDMDA4RjAwQTE4MEZBCis6MTBCMTUwMDAwQjcwNDIxNDAwQjcwMDJENDEwQjUwNDIxNDAwQTUwMEEzCis6MTBCMTYwMDBBMUMwMEI1MDAyRkM4MEE1MDAyMTAwMEJGMjAyMTIwNENBCis6MTBCMTcwMDA2MDAwMDAwMDAwMDAwMDAwQzAwMEJBMDBBNDgwMjkzMDc4Cis6MTBCMTgwMDA0QjQ4MDY1MjA4QjQ4MDJEMjAwQjQ4NDIzMjAwODQ4MDgwCis6MTBCMTkwMDAyMTIwMEI0ODEyREU0MDg2ODEyOUEwMEI3ODBBMzAwMDVFCis6MTBCMUEwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNENDMDA4MzA1MjBFMENGCis6MTBCMUIwMDAwQjM0MDI2QzEwQjMwMDJDQzAwQjM2NEEwRDBEQTMwMEVCCis6MTBCMUMwMDAyMEMwMEIzNDgyQ0MwMkEyMDAyODAwMEIzMDAyMTIwNEYzCis6MTBCMUQwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUE5MjBFQTQwMzBBMDdGCis6MTBCMUUwMDAwN0EwNDM2OTQwRkEwMDNDODAwRkEwMDMwODQwQ0EwMDUyCis6MTBCMUYwMDAzMEEwMEZBNDAzRTgwMENFMDAzQjk4MEZBMDAzM0EwNDUwCis6MTBCMjAwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEQyMDBGQzA4M0YwMDgxCis6MTBCMjEwMDAwQkMyMDNCMDAwRkMwMDNGMDAwRkMwMDNGMDAwRkMwMEI1Cis6MTBCMjIwMDAzRjA0MEZDMDAzRTAwMEY4MDBCNjAyMEY4MDAzRDIwMDE1Cis6MTBCMjMwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEU0MDBEOTAwM0U2ODYzCis6MTBCMjQwMDA0QzkxMDFFNDA4QzkwMDNFNDAyQzkyMDNFNDAyQzlBMERECis6MTBCMjUwMDAzRTcwMEU5MDAzQzY0MkM5MDAzRTQwMEYxMDAzMDIwNDI4Cis6MTBCMjYwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY0MDA4OTg2MEU2MDQ5Cis6MTBCMjcwMDAwODk4MDJFNDA4ODkxMDJFNjAwODkwMDJFNDAwODkwQzA2Cis6MTBCMjgwMDAyRTYwMDg5MDAyRTY4ODg5MDAyRTQwMEI5MDAyQTAwMEY0Cis6MTBCMjkwMDAxMDAwMDAwMDAwMDAwMDAwMTgwNTI0MDA5RDEwMkY0MDQxCis6MTBCMkEwMDAyOEQwMDZGNDAyQUQwMDJGNjAwOEQwMDJGNDAwOEQwMDEzCis6MTBCMkIwMDAyRjQwMEFEMDAyRTQwMDg5MDAyRTYwMEI5MDAyMDYwMEE1Cis6MTBCMkMwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDM0MDA4NTAwMkQ0MDBDCis6MTBCMkQwMDAwODU4MDJENDAwQTUwMjJENDAwODUwMDBENDAwODUwMDczCis6MTBCMkUwMDAyRDQwMDg1NDAyQzQ4MDgxMDAyQzYwMEIxNDAyODIwMTlFCis6MTBCMkYwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDYxNDBEODUyM0UwMDgwCis6MTBCMzAwMDAwQzA1MDNFMTQwRTgwNDNFMTQwQzg1MDNFMTQwQzgwMDRECis6MTBCMzEwMDAzRTE0MEVDMDAzRTAwMEMwMDIzRTAwNEY4MDIzMkUwMzA3Cis6MTBCMzIwMDA1MDAwMDAwMDAwMDAwMDAwOTgxREY0MDBGOTAxM0U0MEFDCis6MTBCMzMwMDA0RjkwMTNFNDAwRDkwMDFFNDAwRjkwMDNDNDEwRjEwMDk5Cis6MTBCMzQwMDAxRTQwMEY5MDAzRTRFMEZEMjgzRjQwMEY5NDAzRTYwNjAzCis6MTBCMzUwMDA3MDAwMDAwMDAwMDAwMDAwMTgwNUE0MDBGRDAwM0Y0MDQwCis6MTBCMzYwMDA0RDUwMDJFNDAwOTUwNDMzNDAyOEQwMDNGNDAwRkQwMDYyCis6MTBCMzcwMDAzMzQwMEY5MTAzMzQwMENENDAzMzQwMEY5ODgxMDYwMEQ1Cis6MTBCMzgwMDA3MDAwMDAwMDAwMDAwMDAwMzgxMEUwMTBCODAwMkUwMDJGCis6MTBCMzkwMDAwQjgwMDJFMDEwQjgwMDIyMDAwODgwMDJFMDAwQjgwMDM0Cis6MTBCM0EwMDAyMjAwMEI4ODAzQzI4MDg4ODAyMjAwMEI4QzAyMEUwNENFCis6MTBCM0IwMDAzMDAwMDAwMDAwMDAwMDAwMDgwNEM0MDBCMTAwMkNDMEYwCis6MTBCM0MwMDAwQjEwMDJDNDAwQkIwMDIyNDAwODEwMDJDNDAxQjkwMEU3Cis6MTBCM0QwMDAyMDQwMUI5MDAyMDQyMjg5MDAyMDYwMEIxMjgyMDIwMThGCis6MTBCM0UwMDA3MDAwMDAwMDAwMDAwMDAwMTgxNUE0NDRCOTAwMkVDMDMxCis6MTBCM0YwMDA0QjkwMDJFNDEwQjkwMjAyNDAwODkxNDJFNDAwQjk4MDg3Cis6MTBCNDAwMDAyMjQwMEI5MjAyQzQwMDk5NDAyMjQwNEI5MDEyMDYwNDQ1Cis6MTBCNDEwMDA2MDAwMDAwMDAwMDAwMDAwQTAxNUU2MDBCOTAxM0U1OEUxCis6MTBCNDIwMDAwRDkwMDNFNjAwRDEwMDMyNjAwQzk4MDJFNjQwRjkwMDZFCis6MTBCNDMwMDBCMjQwMEYxODAzMjQwMEM5ODAzMjUwMEY5MDIzMjgwNDEzCis6MTBCNDQwMDA3MDAwMDAwMDAwMDAwMDAwMjgwMUE0MDBGOTAwM0U0MjQ2Cis6MTBCNDUwMDAwQjkwMDNFNzA4RjkwMEJFNDgwRjkwMDNFNDAwRjkwMEUxCis6MTBCNDYwMDAzRTQwMEY5ODAzQTQwMEU5QTBCRTQwMEYxMDBCNEEwMDE1Cis6MTBCNDcwMDA2MDAwMDAwMDAwMDAwMDAwMjgxMEEwMDBEODAxM0UwMDdECis6MTBCNDgwMDAwRjgwOEIyMDAwRjgyMDNFMDEwRjgxMDNFMDAwRjgwOEI4Cis6MTBCNDkwMDAzQTAwMEM4MDAzRTAwMEQ4NDAzMjAwMEY4MDEzMEEwNDA5Cis6MTBCNEEwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNTI4MDA4QTgwMkY5MTVECis6MTBCNEIwMDAwQkVFMDIyODAxQkUwMDIwODAwQkEwMDJFQTgwQjY0OEY1Cis6MTBCNEMwMDAyMjgwMERBMDAyRkEwMjg2NDFBM0E2MEJBMDAzMEEwMDY3Cis6MTBCNEQwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTRDMDA5MzgwMkNDMEI0Cis6MTBCNEUwMDAwQjMwMDIwQzEwQjMwMDI4QzAwQjM4MDJDQzAwQjMwMEE0Cis6MTBCNEYwMDAyOEMwMDkzMDAyQzYwMTgzNjAyMDcwMEIzMDBBNEEwMDYwCis6MTBCNTAwMDA1MDAwMDAwMDAwMDAwMDAwQTAwMTJFODg4NTA4MkQ4MDVBCis6MTBCNTEwMDA0QkY4MDYxQzgwQjcwMDIxQzAwQjUwMDJENDAwQjYwMEM3Cis6MTBCNTIwMDAyOTYwMDk3MDAyRDBBMDhEMDAyMTQwMEIzMjAyMjgwMDUyCis6MTBCNTMwMDA0MDAwMDAwMDAwMDAwMDAwQTgwODFFMDBENTgwM0RFMDhCCis6MTBCNTQwMDA4Rjc4MDMxRTg0Qjc4MjNENjAwRjU5MDNERTAwRjc4MEI5Cis6MTBCNTUwMDAyOTYwMTU3ODAzREUwMEM3ODAzMTYwMEY3QzAzNkEwMjIyCis6MTBCNTYwMDAwMDAwMDAwMDAwMDAwMDAwMDgxREFDNDBFOTAwM0U4MDIzCis6MTBCNTcwMDAwRkEwMDNFRDMwRkIwMDM2QzEwRjk2MDNFNDAwQjMwMENCCis6MTBCNTgwMDAzNDQwMEZCNzgzRUM0MDIxMDAzRTQwMEZCMDAzQzIwNkE5Cis6MTBCNTkwMDA2MDAwMDAwMDAwMDAwMDAwMDAwNUZFMDBGRjgxMzNFMEI1Cis6MTBCNUEwMDAwRkY5MDNERTIwQ0Y4MTNGRTAwNzc4MDMzRTAwRkY4MEU0Cis6MTBCNUIwMDAzRkUwMDRGODEzRkUwMkRFODAzMzYwMEZGODAzMDAwMDYyCis6MTBCNUMwMDA3MDAwMDAwMDAwMDAwMDAwQTgxMTlDMDBCNzAwMjFDNDFBCis6MTBCNUQwMDAwQjVBMDJEQzQ4ODY1MDJEQzAwQjMxMDI5NDYwQjQxODFGCis6MTBCNUUwMDAyRDQwNDg3MDAyRTgwMEE1MTAyMTQwMEI3MTAyMkEwNDhBCis6MTBCNUYwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDlDMDBCRDAwMjE0MjJGCis6MTBCNjAwMDAwQjcwMDJGQzAyODUwMDI1NDAwQjUwMDI5QzAwQjcwMDI1Cis6MTBCNjEwMDAyRjQwMjg3MTAyREMwMEE2MDAyMUMwMEI3MDAyMDAwMDQwCis6MTBCNjIwMDAyMDAwMDAwMDAwMDAwMDAwMjAxNDZEODBCMTIwQTA1MDE4Cis6MTBCNjMwMDAwQkIyMDZDRTAwQTAzNDJFRjAwQjE4MDI4NTIwQjM0QUMwCis6MTBCNjQwMDAyQzU0ODgzODAyQ0MxMEExMDAyMEIwMEIzMDAyMDgwNDIyCis6MTBCNjUwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNUJFODBGMzA4MTA1NDYwCis6MTBCNjYwMDAwQjg4MTNGRjAwQzA4MDNFNjQwRkI0ODMwNzAwRjlDMDRECis6MTBCNjcwMDAzRUYwMENGQzEzRjQwMEVBMDAzMjcwMEZGMDBCMkEwNEM5Cis6MTBCNjgwMDA2MDAwMDAwMDAwMDAwMDAwODAwMEVDMDBGOTAwM0UxMEE3Cis6MTBCNjkwMDAwNzkxMDNFQ0MwNTgwMDNFNDQwRjkyMDNFNDAwRjkwMDA4Cis6MTBCNkEwMDAzRUMwOEZCMzAzRTAwMEJCMDBCRTQ0MEZCMDAzRTAwMDE4Cis6MTBCNkIwMDAzMDAwMDAwMDAwMDAwMDAwMDExMEZDMDJDRDA0MzNFMDY3Cis6MTBCNkMwMDAwQ0MwMDMzQzA4RkUwMDMzNjAyQ0QwMDJCNDgwQ0YwMEQ1Cis6MTBCNkQwMDAzRjUyMDdGMDEzRkMwMENFMTAzMzQyMENCMDAzQzA0NEJECis6MTBCNkUwMDAzMDAwMDAwMDAwMDAwMDAwODEwNDZDMDA4OTAwMkFCMEQ2Cis6MTBCNkYwMDAwODg4MDIyQzAwQkEwMDM2NDQwODkwMDAyNjAwREJDMEZGCis6MTBCNzAwMDAyRTQwMEJCMDAyRUMwMDgzQzAyODQwMEFCMDAyRTA0MDlCCis6MTBCNzEwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTJDMDA4QjAwMjIwOEIzCis6MTBCNzIwMDAxQUEyMDIyQzEwQjkyMDIyNDAwODMwMDIyQzA0QUE1NDdDCis6MTBCNzMwMDAyRUMwMEJCMDEyQ0MwMDhCMDgyMjQwMDhCMDAyRTAwMEYzCis6MTBCNzQwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDBDMDA4MzA0MkEwMEYwCis6MTBCNzUwMDAwQTA4ODIwQzAwQjgwMDY0NDAwODMwMDJBNDAwQjAwMDVGCis6MTBCNzYwMDAyQ0MwOEIzMDEwQzgwMjhCMDAyQTQwMEEzMDAyQzIwMTY0Cis6MTBCNzcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDZDMDBDOTAwMzIwMDU1Cis6MTBCNzgwMDAxQTgyMDMzQzAwRjkwMDMyNDAwQ0QxMDNBQzAwRUIwMEZDCis6MTBCNzkwMDAzRTQwMEZGMDAzRUQwMEMzMDAzMkMwOENCMDAzQzAwMzg1Cis6MTBCN0EwMDA1MDAwMDAwMDAwMDAwMDAwQTAxOUZDMDBGNTAwM0YwMDYwCis6MTBCN0IwMDAwRDgwNEJGQzAwN0MwMDNGNDAwRkQyMEI3NDAwREYwMDdCCis6MTBCN0MwMDAxRDQwOEZGMDAzRkNBMEZGMDAzRjgwMEZGMDAzRTgwNjUwCis6MTBCN0QwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUZDMDBERjg0M0JFMEJBCis6MTBCN0UwMDAwRkY4MEIzRTAwRUM4MDMzRTEwQzMwMDMzQzgwQ0Y0ODc3Cis6MTBCN0YwMDAzN0MwMEU0MDAzRTBDMEM3OTFCMzA0MENGMDAzMzAwMDIzCis6MTBCODAwMDA3MDAwMDAwMDAwMDAwMDAwODAxMEVGMDQ4QjgwMjI0MUQ3Cis6MTBCODEwMDAwQkIwODIyRTAwODg4MEEyRTAwQUEyOTJBRDgwODc0MkZGCis6MTBCODIwMDAyM0Q4OEFBRDAyRTBDMDhCMDAyMDRDNDhBNDAyMjAwNDNCCis6MTBCODMwMDAzMDAwMDAwMDAwMDAwMDAwODgwNUNDNThCQjAwMjg4MEM0Cis6MTBCODQwMDAwQkIyNDIyNDAwQTgwMDJBQzAwQTEwMDIwNDYwQTMyMDAwCis6MTBCODUwMDAyNEQyMDgwMDQyOEM4MzlCMDEyMDQ5MDgzM0MyMjIwMTc0Cis6MTBCODYwMDA3MDAwMDAwMDAwMDAwMDAwQzAxNUFDMDBBQjg4MjJBMEYyCis6MTBCODcwMDAwQkI4MDIyNjBDQTgwMDJBQzAwQTkyMDJBNDAwQUIwNjRDCis6MTBCODgwMDAyMkMwMEFCMDAyRTgwMDlCMDAwMjQwMDhBMDQyMzAwNDM3Cis6MTBCODkwMDA2MDAwMDAwMDAwMDAwMDAwNDAxNUVDMDBEMzgwM0FFMDlBCis6MTBCOEEwMDAwRjE4MDEwNjAwRTgzMDM4NjYwRUI4MDMyQTQwRUIwMDk2Cis6MTBCOEIwMDAzNkMxMEU5NjAzRTI4MERBMDgzMjgwMkNCQjAzMTAwNEY2Cis6MTBCOEMwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMTlDMDBERjAwM0ZDMEFECis6MTBCOEQwMDAwRkQwMDNGNDAwREM4MDM3NjAwRkU4MDNGQTAwREYwMUNCCis6MTBCOEUwMDAzRkMwMEZDMDQzRTY0Q0VGQTAzRjQ0MEZBMDAzRjgwMDU5Cis6MTBCOEYwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMEFDNDBEQjAwMzY4MDFCCis6MTBCOTAwMDAwQzk4MDMyNjAwRjgwMDNFQzAwRTE4MDM4NDAyRTMwMUUxCis6MTBCOTEwMDAzOEMxMEVCNDAzQUM4MENBMTgzQUQwMkMzMDAzMTAwNERFCis6MTBCOTIwMDAyMDAwMDAwMDAwMDAwMDAwQzgwNTNGNDBCOTg4MkU4MEJDCis6MTBCOTMwMDAwOEJDMDJBMzAwQjAwMDBFQzAwOEIwMDYyMDAwOEYwNEFGCis6MTBCOTQwMDAyM0MxMDhCOTEyMkYwMDgzODAzNjQwMDhBRDAyMzIwMEFGCis6MTBCOTUwMDA0MDAwMDAwMDAwMDAwMDAwRTAwNTRDMDBCMjAwMkNDMEQ4Cis6MTBCOTYwMDAwOTMyMDI4NDAwMzMwMDJDQjIwQTM2MTI4QzA4OTMwNTg3Cis6MTBCOTcwMDAyMEMwMEIxODAyRUQwMDkxODA2QTAwMDgxMDAyMzgwMDA4Cis6MTBCOTgwMDA1MDAwMDAwMDAwMDAwMDAwMjAwMTFFMDBCNzgwMkRFMEU0Cis6MTBCOTkwMDAwOTc4MDI5NzQwQjQ4MDJGQTAwOEU4MDIwRTQwOTc4MkYxCis6MTBCOUEwMDAyMUUwOTg2ODgyMUExODlEOTAyREExMTg1ODAyMDgwMDZECis6MTBCOUIwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODBDQzBGMzAwM0VDMDNBCis6MTBCOUMwMDAwREIwNDM4NDQwRjAwMDNDODIwRTM4MTI4QzQ0RjMzMEJBCis6MTBCOUQwMDBCQUMxMUUxMDQ3OEUyMkQxMTAzODE4MEMzMDgzMTIwMkMzCis6MTBCOUUwMDAwMDAwMDAwMDAwMDAwMDAwNDAxREJDNDBGRjAwM0ZDMDAwCis6MTBCOUYwMDAwRUUwMDNGNDQwRkMwMDNEQzQwRkQwMDFGNDQxRUYxODA5Cis6MTBCQTAwMDAzRkM0MUZGMDAzRjg0OEVGMTQzMzgwMEZDMTAzRDAwNjgyCis6MTBCQTEwMDA2MDAwMDAwMDAwMDAwMDAwQTgwNUZDNDBGQjAwM0VDMEU0Cis6MTBCQTIwMDAwRjk4MDMyNDAwQ0IwMDNFNDAwRkIwMDNBODAwREIyODkyCis6MTBCQTMwMDAzRUM0MUY5MDIzRUMwMENBMDAzMkUwMEM5MDAzRUEwMEUxCis6MTBCQTQwMDA3MDAwMDAwMDAwMDAwMDAwNDgxMTlDODBCNzAwMkRDMDZECis6MTBCQTUwMDA0QjUwNTIxNDAwRDQwMTJEODAwQjYwMDJEODAwQTcyMDU3Cis6MTBCQTYwMDAyREM1MEI0MDE2REMwMDg0MDAyM0MwMDg0MDAyRDIwNDIwCis6MTBCQTcwMDA2MDAwMDAwMDAwMDAwMDAwQzAwMDlFODBCNzgwMkRFMDQ0Cis6MTBCQTgwMDAwQjc4MEE5NjAwOTQ4MDJENjAxQjc4MDZEMjAwQTc4MDYwCis6MTBCQTkwMDAyREUwMEI3ODIyREUwMDg3ODIyMUUwMDg1ODAyRjAwMEJBCis6MTBCQUEwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNENDMDBCM0U0MkNDMENCCis6MTBCQUIwMDAxQjIxMDI4MTAwOTAwMDJDQzgwQjM5MDJDRTAwQTMwMDhDCis6MTBCQUMwMDAyQ0MwMEIzMDAyQ0QwMDhCMjAyMEYwMDhCMjAyRDIwNDMzCis6MTBCQUQwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUE4MDBGRUEwM0Y4MjMyCis6MTBCQUUwMDAwRkU4MDM5ODMwRDYwMDNGQTAwRkUwMDNCQUMwRkEwMDc5Cis6MTBCQUYwMDAzRTgwMEZFQzMzRjgwMkNFMDBCM0I4MkNFQzgzRkEwNDhFCis6MTBCQjAwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEUwMThGODQwM0UwMDFGCis6MTBCQjEwMDAwRjgwMDI2MDg0RjgwNTJFMDQ4RjgwNDFFMDAwNzgwMkQ3Cis6MTBCQjIwMDAzRTAwMEY4MTgzRTAyMEY4MDBCRTAyMEY4MDAzRDIwMEE4Cis6MTBCQjMwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEU2MThGOTIwM0U0MDI4Cis6MTBCQjQwMDAwRjlDMDNFNDQwQzkwMDMyNjEwQzkwMTNDNDA4QzkwMTgyCis6MTBCQjUwMDAzRTQxMEYxODAzMjQwMEM5QTAzMjQwMEY5ODQzMDIwNDRECis6MTBCQjYwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY1MDBCMUMwMjI0MEU5Cis6MTBCQjcwMDAwQjlDMDJFNzEwODkwMDI4NDQwODk0MjJFNDEwODkwMEY1Cis6MTBCQjgwMDAyRTQwMEI5RjIyMjY2MDg5ODAyMjQwMEI5MTBBMjAwMEM0Cis6MTBCQjkwMDAxMDAwMDAwMDAwMDAwMDAwMTgwNTI0ODBCOTAwMkVDMDJECis6MTBCQkEwMDA0QkI0MDJFNDIwODkyMDIyNDAwODk0MDJFQzAwODkwMDcyCis6MTBCQkIwMDAyRTQxMEI5MDAyMDQwMDg5NDAyMjQwMEI5MDAyMDYwMEE3Cis6MTBCQkMwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA0MDBCMTA0MjA0MDEwCis6MTBCQkQwMDA4QjEwMDJFNDA1ODEwMDI4NDAyODEyMTJDNDgyODEyMEMzCis6MTBCQkUwMDAyQzQ4MEIxMjBBMDQ4MjgxMDAyMDQ4MEIxMjAyMDIwMTI5Cis6MTBCQkYwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDY4QTBGQTAyM0UxNDJBCis6MTBCQzAwMDAwRjg1MDNFMDAwQzgwMDMyMDAwQzg1MDNDMTQwQzg1MzEzCis6MTBCQzEwMDAzRTE0MEY4MDAzMDE0OEMwNTBCMjE0MEY4NTAzMkUwMzU5Cis6MTBCQzIwMDA1MDAwMDAwMDAwMDAwMDAwOTgxREU0MDBGRDAwQkY0MDJGCis6MTBCQzMwMDAwRjUwMTNENDAyRkQwMDJGQzAwRkQxMDNGNDQwRjkxMEIwCis6MTBCQzQwMDAzRTQ0MEZEMTAzRjQ0MEZGMDBCRjQ0MEZEMTAzRTYwNjhBCis6MTBCQzUwMDA3MDAwMDAwMDAwMDAwMDAwMTgwNUU2QTBGRDAxM0U0NDUxCis6MTBCQzYwMDAwRkQxMDNENDAwQzUwMDMzNDEwRkRCMDMyNzIwRDlFMEY3Cis6MTBCQzcwMDBCMjcwMEREQTgzRjY0MENGMTAzMjc4MkREQTAzMDYwMDY5Cis6MTBCQzgwMDA3MDAwMDAwMDAwMDAwMDAwMzgxMEUxMDBCODAwMkUyODBECis6MTBCQzkwMDAwQjg4NDJFMDEwRDgwMDIyMDAwQjhDMEEyMzAwODhDMEQ5Cis6MTBCQ0EwMDAyMjI4MDg4NDAyQzI4MDgwQTAyMjMwNDhBQTgyMEUwNDgyCis6MTBCQ0IwMDAzMDAwMDAwMDAwMDAwMDAwMDgwNUM0MDBCMTAwMkM0MDY2Cis6MTBCQ0MwMDA4QjEyMDJDNDAwOTkwMjI4NDA4QjE2MDI4NDgxOTEzMEE1Cis6MTBCQ0QwMDAyMDU4MDkxMDAyQzUwMDgxMDA2NDREMDgzNDAyMDIwMTk5Cis6MTBCQ0UwMDA3MDAwMDAwMDAwMDAwMDAwMTgxNUFDMENCOTA0MkU0OENDCis6MTBCQ0YwMDAwQjk0MDZFNDAwOTk0MEFBNDAwQjkyMjJBNDAwODkwMDBDCis6MTBCRDAwMDA2MDQwMDg5NDAyRTQwMDg5ODBBNjUwMDg5MjAyMDYwNDZDCis6MTBCRDEwMDA2MDAwMDAwMDAwMDAwMDAwQTAxNUU0MDBGOTk4M0U0ODEzCis6MTBCRDIwMDAwRjk4MDNFNTIwRDkwMDNBNjQwRjk0ODNBNEMwRDkwMjg4Cis6MTBCRDMwMDA3MjQwNEQ5MDQyRTQ4MkM5NDAzNjQwMEM5MDBCMjgwNDdBCis6MTBCRDQwMDA3MDAwMDAwMDAwMDAwMDAwMjgwMUFDMjhGOTg4M0U0MDg3Cis6MTBCRDUwMDAwRjk5MTNFNzAwRjlDMDM2NjAwRjkwMDM2NjAwRjEwMEY5Cis6MTBCRDYwMDA3RTQwMEY5OTA3RTQ2MEY5MDAzODQwMEY5ODAzQ0EwMDNECis6MTBCRDcwMDA2MDAwMDAwMDAwMDAwMDAwMjgxMEEwMDBGODEwMzIwMDUxCis6MTBCRDgwMDAwRjgyMEIyMTAwRTgwMDM2MDQwQzg2MDNFMTAwRDgwMDg2Cis6MTBCRDkwMDAzMjAwMEY4MDAzNjEwMEM4MDAzMjAwMEYwMDAzMEEwNDY0Cis6MTBCREEwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNTI4MjBCRTAwMjI4MDlFCis6MTBCREIwMDAyOEVDMDIxOTA0ODIwMDAzODAwREU0ODJFODAwOEEwMTY1Cis6MTBCREMwMDBBQTgwOEJFRDgyM0I4MDhFOTAzNjgwMEJFMDAzNEEwMDg4Cis6MTBCREQwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTQyMDBCMzgwMjBDMEExCis6MTBCREUwMDA2QjM0MTY0MEMwODMxMDI0NzI4OEIwMDJFQzAwODMwMENDCis6MTBCREYwMDAyNEMwMEIwNDAyNkYwOTlCMDAyNEMwMEIzMDAyMEEwMDEwCis6MTBCRTAwMDA1MDAwMDAwMDAwMDAwMDAwQTAwMTE0MDBCNzgwMjNFNEVGCis6MTBCRTEwMDAyODc4ODI3NDE0OEYwMDYxRTAwOTUwMTJEQzA0ODcyMkI0Cis6MTBCRTIwMDAyNUM4MUI3ODAyMTQwMDk0NDBBNUMwMEI2MDIyNjgwMDRFCis6MTBCRTMwMDA0MDAwMDAwMDAwMDAwMDAwQTgwODEyMjBCNzgwQjFFMDE4Cis6MTBCRTQwMDA4RkY4MDMxMjAyRTc4MDM1RTAwQzY4MDZDRkMyQ0ZCMDRFCis6MTBCRTUwMDAyNUY0MEY1ODAzNUEwMkQ1ODA3NUZBNEZGODAzMkEwMkM5Cis6MTBCRTYwMDAwMDAwMDAwMDAwMDAwMDAwMDgxREE1OTBGMzAwM0RDMDg4Cis6MTBCRTcwMDA0RkIwMTNBODA0RkIwMDNDQzAwRjgwNDNFQzgwRUI2MDg0Cis6MTBCRTgwMDAzQUM5MEYzMDAzRUMwMEU5MDAzRUM4MEZBMDAzQzIwNjE4Cis6MTBCRTkwMDA2MDAwMDAwMDAwMDAwMDAwMDAwNUY2MDBFRTgwM0ZFMEJBCis6MTBCRUEwMDAwRDg5MDNEMjQwRTU4MTM5RTAzQ0Y5MDdGRTAwQ0Y4OEQ3Cis6MTBCRUIwMDAzRkUwMEZFODAzRjIwOENFODAzM0UwMENGODAzMDAwMDA3Cis6MTBCRUMwMDA3MDAwMDAwMDAwMDAwMDAwQTgxMTk0NDRDNjAwMkZDMEJDCis6MTBCRUQwMDAwODU4MDJEMEM0ODUyNDIxOTAwODU0MTJEQzgyMDcwMDNGCis6MTBCRUUwMDAyREMwMEI3MDA2RDQwMDhFNDgyMUMwMEE2MDAyMkEwNEJGCis6MTBCRUYwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDlDMDBBNzQwMkRDMDcyCis6MTBCRjAwMDAwODQyMDJEMDAwQUQwMDI5QzAwODcwMjJEQzI4ODcwMDVBCis6MTBCRjEwMDAyREMwMEI0MDAyOTgwMDk3MDBBMEM0MDg3MDAyMDAwMERBCis6MTBCRjIwMDAyMDAwMDAwMDAwMDAwMDAwMjAxNENDMDg5MzAwMkNFMDRBCis6MTBCRjMwMDAwODNDMjJDMTAwODEwMDIwODA4ODE1MDJDRTMwODMwMDk5Cis6MTBCRjQwMDAyQ0MwMEIzQzAyQ0MwNDkzQzAyMEY0NEEwQzgyMDgwNEExCis6MTBCRjUwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNUEwMDBFM0MwMUZFMEIyCis6MTBCRjYwMDA2QzEwODNFMDA0RUIwMDNBNTI0Q0I0MDNGRTAyQ0YwMEE1Cis6MTBCRjcwMDAzRkMwMEY4NDQzRTEwMkQ4QzIzM0MwMEM4NDBCMkEwNEIzCis6MTBCRjgwMDA2MDAwMDAwMDAwMDAwMDAwODAwMEU5MDBFQjEwM0VDNEVCCis6MTBCRjkwMDAwRTk0MDNFNDAwRkIxODNFQzIwRkI2MDNFQzAwRkIwMTU1Cis6MTBCRkEwMDAzRUMwMEYzNTAzQzQyOEVBNDIzRUMwMEY4MTAzRTAwMEMzCis6MTBCRkIwMDAzMDAwMDAwMDAwMDAwMDAwMDExMEZDNDBGRjAwMzNDMDEyCis6MTBCRkMwMDAwQ0MwQTMzMDI4Q0RBMDMzQzAwQ0U4MDMwQzAwRUYwNTUzCis6MTBCRkQwMDAzREMwMENDQTgzM0MwMENEMDgzRkMyMENBMDAzQzA0NDQ2Cis6MTBCRkUwMDAzMDAwMDAwMDAwMDAwMDAwODEwNDY3MDBCQjgwMjBDMDFBCis6MTBCRkYwMDAwOEFBMDIwODAwQTEwMTM0RDEwOEE0MTIyQzAwOEIwMDY5Cis6MTBDMDAwMDA2RUMwODhCMjAyMkMwODg5ODAyRUMwMEFBODAzQTA0MDA2Cis6MTBDMDEwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTJDMDBCQTgwQTJDMEMzCis6MTBDMDIwMDAwOEE4MEFBMDAwOEIwMEEyQzA0ODExMDJBQzA0OEIwMDMzCis6MTBDMDMwMDAyRUMwMDA4MDEyMkEwODhCMTQyQ0MwMDg4ODAyRTAwMDUxCis6MTBDMDQwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDBDMDBCMjAwMjJDMDA0Cis6MTBDMDUwMDAwOEIyMTI4MDAwQUIwMTI0QzAwODAwMDIwQzA0ODMwMDY3Cis6MTBDMDYwMDAyQ0MwMDgzMDAyMDcwMDgyMDAyNEMwMDgwODAyODIwMUE4Cis6MTBDMDcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDZDMDBGQjAwMzJDMDVBCis6MTBDMDgwMDAwQ0EyMDNBMDAwQzkwMDMyQzAyNDk0MDMzQzAyQ0YwMERDCis6MTBDMDkwMDAyRkMwMDQ4MDBCMDkwMkNCMDEzRkMwMkNBMDAzQzAwM0JBCis6MTBDMEEwMDA1MDAwMDAwMDAwMDAwMDAwQTAxOURDMDBGRDAyM0ZDMEFECis6MTBDMEIwMDA0RkU0MTM3MDAwRkQwMDNGQzAwRkMyODNGQzAwRkYwMDdGCis6MTBDMEMwMDAzRkMwMEZGMDAzRkMwMEZGMDAzRkMwMEZDMDAzQTgwNkY1Cis6MTBDMEQwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUZDMjBFRjMwM0YwNEFECis6MTBDMEUwMDA2Qzg4MDMzQTQyRTQ5MTNGMEQwRDQ4MDMzQ0MwRkYwMkM3Cis6MTBDMEYwMDAzMzQ0MENGNDAzRkM4MkRGMzAzMzYwMERGMTAzMzAwMDc1Cis6MTBDMTAwMDA3MDAwMDAwMDAwMDAwMDAwQTAxMEVEMDA4QjcwMkUxOEUxCis6MTBDMTEwMDA4ODIyNEEyQzgyRUEyNjJFMEMwQkI4NDIzRDgwQkY5MDIyCis6MTBDMTIwMDAyQTU0MjhCNDAyQ0QwMERCNDAyQTRBNDgzMDAyQTAwNDM5Cis6MTBDMTMwMDAzMDAwMDAwMDAwMDAwMDAwODgwNUNDQjBBMzAwNkMxMEE3Cis6MTBDMTQwMDAwOTAwODIyMDgyQTAyMDJDODg0QjgwMDAwQzQwQjMwMTgzCis6MTBDMTUwMDAyMDQ4MEIzNjAyOENFMDgzNjQyNDQwMjgzMjAyMjIwMUZFCis6MTBDMTYwMDA3MDAwMDAwMDAwMDAwMDAwRTAxMUFDMDA4QjAwMkUwMDA5Cis6MTBDMTcwMDAwOTgwODBBNjAwQkExMTJFODgwQkIwMDAyQzAwQkIwMkVCCis6MTBDMTgwMDAwMjQwMDlCMDAyRUMwMDhCMDAyQ0M4MDhCODgyQjAwNDUxCis6MTBDMTkwMDA2MDAwMDAwMDAwMDAwMDAwNDAxNUVDMDBFQjAwM0U5MjQzCis6MTBDMUEwMDAwRDgwMDMwQTIwRTkwMDNFNTA0NTgwMDEyQzA0RjMwMDc1Cis6MTBDMUIwMDA5MDYwMDlCMDAzRUMwMDhCMDIyNjUwOERCQzAzMTAwNDg0Cis6MTBDMUMwMDA3MDAwMDAwMDAwMDAwMDAwQzAwMUJDMDBGRjAyM0Y4MEMyCis6MTBDMUQwMDAwRUY5MDI3QzIyQUYwMDNGNjAwM0MwMEJGQzEwRkYwMDkxCis6MTBDMUUwMDAzRjRBNEVGMDAzRkMwMEY3MDAyQjYwMEY3MDAzRjgwMDhECis6MTBDMUYwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMEFDMDBGQjAwQjAwMDM4Cis6MTBDMjAwMDAwRjgyMEJBOTAwQzkwMDMyRDIwRkEwODNBQzAwQ0IxMDYzCis6MTBDMjEwMDAzRTQwMENCMDAzRUMwMERCMDAzMjUwMkM5NTAzMTAwNEMwCis6MTBDMjIwMDAyMDAwMDAwMDAwMDAwMDAwQzgwNTNDMDRCRjAyMjI4MDdFCis6MTBDMjMwMDAwQjk4MDAyOTAwQ0I0MDIyQzAwQjI0MDIzQzA4OEY1MEYxCis6MTBDMjQwMDAyRTUwMERGMDAyRkQ0MjhGNTgyMkUwNDhCNTAyMzIwMDE4Cis6MTBDMjUwMDA0MDAwMDAwMDAwMDAwMDAwRTAwNTZDMDBCMzAwMjQ0MDM2Cis6MTBDMjYwMDA0Qjk0MDA0OTAwOTA4MDA0MzAwOTAwMEU0QzAwODM4MEZDCis6MTBDMjcwMDAyQ0MwMDkzMDIyNkU0MjgzODAyMDQ4MDgzODAyMzgwMEUyCis6MTBDMjgwMDA1MDAwMDAwMDAwMDAwMDAwMjAwMTFFMDBCNzgwNjUyMDYzCis6MTBDMjkwMDAwQjc4ODI3QTA4OENDMDI1QTM0Qjc4MDI1RTA0ODc4NEQxCis6MTBDMkEwMDAyRDYxODk3ODAyREUwNDg3ODBFOTYyMDg3ODAyMDgwMDNGCis6MTBDMkIwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODBDMDBGQjAwMzQ0ODZCCis6MTBDMkMwMDAwRjNCMDM0ODAwOTM0ODM0NTAwRDAwMDM2QzAwQzMxMDJCCis6MTBDMkQwMDAxQ0MyMDUzMDAzQ0M0MENCMDAzMjQwMEMyMDAzMTIwMkJDCis6MTBDMkUwMDAwMDAwMDAwMDAwMDAwMDAwNDAxREJDMjBGRjAxMDM0MEQyCis6MTBDMkYwMDAwRkYwMjMxQzAwRkYwMDNCODAwRkIwMjMzQzAyRkY1MEQ3Cis6MTBDMzAwMDAzREM0MEZGMTAzRUMwMEVGMDBCN0MwMEZFMTAzRDAwNjBFCis6MTBDMzEwMDA2MDAwMDAwMDAwMDAwMDAwODgwNUVDMDBGQjAyM0VFMDI5Cis6MTBDMzIwMDAwQzgwMDM0ODAyQzg4MTMyMDAwRjkwNDJFQ0EwRkIxMDQxCis6MTBDMzMwMDAzRUUwMENCMTAzRUM0MEZCMTAzMjQwMUZGMDAzMkEwMDNBCis6MTBDMzQwMDA3MDAwMDAwMDAwMDAwMDAwNDgxMTlDMDBCNzI0MkQ4MDAwCis6MTBDMzUwMDAwODcwNDJEODEwOEMwMjIxNDAwQjUwMDJERDAwRTcyMDBCCis6MTBDMzYwMDAyRjQwMDg3MDAyREMwNUI3MDAyMUMwMEJGMDAyMTIwNDU4Cis6MTBDMzcwMDA2MDAwMDAwMDAwMDAwMDAwQzAwMDlFMDBCNzkwMkY0MDQ5Cis6MTBDMzgwMDAwQTY4MDI3QTAwOTc4MDIxRTAwQjc4MDJERTAwQjc4MDBECis6MTBDMzkwMDAyREUwMDg3ODA2REUwMEI3QTAyMTYwMEI3ODQyMzAwMDVGCis6MTBDM0EwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNENDMDBCMzAwMkNDMEE2Cis6MTBDM0IwMDAwQTM0MDJDODAwODM0QTIwRjgwQjMxMDJDQzAwQTMwMEUzCis6MTBDM0MwMDAyQ0MwMDgzMDAyQ0MwMEIzMDAyMEIyMEIyMDQyMTIwNDczCis6MTBDM0QwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUE4MDBCQTAwM0Y4ODA3Cis6MTBDM0UwMDAyRUUwNDM1OTg4REUwMDMzQjAwRjZDMDNFODAwRkEwMEZBCis6MTBDM0YwMDAzRTgwMkNBMDAzRTgwNEZBMDAyM0I4MEZFMDhCM0EwNDM3Cis6MTBDNDAwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEUwMDRGODAxM0UwMDY5Cis6MTBDNDEwMDAwOTgyMjFFMDAwRjg0MEJFMTQwRjg0ODFFMDAwRTgwMEFBCis6MTBDNDIwMDAzRTAwMUY4MDAzRTAwMEY4MDBCRTAwMEY4ODAzRDIwMDJBCis6MTBDNDMwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEU0MDBFMTAwMzI0MDdECis6MTBDNDQwMDAwQzkwNDNFNDIwRDkwMDNDNDQwODkwMDMyNDAwRjkwMUY3Cis6MTBDNDUwMDAzRTQ4MEYxMDQzMjUwMEM5MDBCMjQwMEM5MDAzMDIwNDZGCis6MTBDNDYwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY0MDBCOTAwQTA0MDFCCis6MTBDNDcwMDAwODk4MDJFNjA4QTk2MDJFNDkwODk0MDIyNDAwQjkwMDMxCis6MTBDNDgwMDAyRTcwMEI5MDAyMjYwMjg5MDBBMDQwMEE5MDBBMjAwMDFDCis6MTBDNDkwMDAxMDAwMDAwMDAwMDAwMDAwMTgwNTI0MDBCOTAwMjI0MDMwCis6MTBDNEEwMDAwODk4MDRFNjAwOTk4MDJFNDAwQUIxMDIyNDAwQjkwMEUxCis6MTBDNEIwMDAwRTQwMEI5MDBBMDQwMDgxMDEyMkMwMDgxMDAyMDYwMDAxCis6MTBDNEMwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA0ODBCMTIwMjI0ODYxCis6MTBDNEQwMDAwODE4MDZDNDAwQTEwMDJDNDgyQTMwMDIwNDgwQjEyMkFBCis6MTBDNEUwMDAyQzQ4MEIxMjAyMDU4MDgxNjAyMjUwMEExNDAyMDIwMUJFCis6MTBDNEYwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDYxNDBGODUwMzIxNDQ4Cis6MTBDNTAwMDAwQzg1MDNFMTQwRDg1MDNFMTQwRTgwMEIyMTQwRkEwMDA4Cis6MTBDNTEwMDAzRTk0MEY4NTAzMjAwMEMwMDAzMjAwMEM4MDAzMkUwM0UwCis6MTBDNTIwMDA1MDAwMDAwMDAwMDAwMDAwOTgxREU0NDFGOTEwM0Q0NTU2Cis6MTBDNTMwMDAwRkQwMDNGNDAwRkYwMDNGNDUwREQwMDNFNDQwRjkxMDk1Cis6MTBDNTQwMDAzRjQ0MEY5MTAzRTQ0MkY5MTAzRjQwMEZENDAzRTYwNjQ1Cis6MTBDNTUwMDA3MDAwMDAwMDAwMDAwMDAwMTgwNUU0MDBGOTAwM0U0MEYzCis6MTBDNTYwMDAwQ0QwMDNGNDA4OEQwMjNGNDAwRkQwMDNFNDAwQ0QwMDRGCis6MTBDNTcwMDAzMzQwMEM5MDAzMjQwMEY5MDAzMjQwNEM5ODIzMDYwMDBECis6MTBDNTgwMDA3MDAwMDAwMDAwMDAwMDAwMzgxMEUwMDBFODAwMkUwMEZECis6MTBDNTkwMDA0ODgwMDJFODAwRDAwMDJFODAwQjgwMTJFMDAyODgwMDY0Cis6MTBDNUEwMDBBMjAwMEE4MDEyMjIwMEI4ODEyMjI4MDhDRjAyMEUwNEJECis6MTBDNUIwMDAzMDAwMDAwMDAwMDAwMDAwMDgwNUM0MDBCMTAwMkM0MDVECis6MTBDNUMwMDAyODEwMDJDNDAwODEwMDJDNDAwQjEwMDJDNDAwOTEwMDBFCis6MTBDNUQwMDAyNjQwMDkxMDAyNTRBMEI1MkNBNTQyMDg1MDgyMDIwMTQxCis6MTBDNUUwMDA3MDAwMDAwMDAwMDAwMDAwMTgxNUE0MDBBOTAwMkU1MEUzCis6MTBDNUYwMDA1ODkwMDJFNDgwOUIwMDJFNDU4QjkyMDJFNDAwOTkwMDQzCis6MTBDNjAwMDAyNjQ0MEI5MDAyNjQwOEI1MDAyNTRBMDg1MTAyMDYwNDJFCis6MTBDNjEwMDA2MDAwMDAwMDAwMDAwMDAwQTAxNUU0MDBGOTAwM0U1NDk2Cis6MTBDNjIwMDAwQzkwNDNDNDAwQzk5MDNFNzAwRjk4MDNFNDAwRDkwMEY5Cis6MTBDNjMwMDAzNDYwNEQ5MDBBNjQwMEY5MDAzNjQwMkM5RTAzMjgwNEIzCis6MTBDNjQwMDA3MDAwMDAwMDAwMDAwMDAwMjgwMUE0MDBGOTAwM0M0MDM4Cis6MTBDNjUwMDAwRjlDMDNFNjMwRjkwMDNFNjIwRjkwMDNFNDAwRTkwMDBFCis6MTBDNjYwMDAzQTQwNEU5MDAzQTQwMDc5MEMzQTQwMEY5MDFCQ0EwMDQ4Cis6MTBDNjcwMDA2MDAwMDAwMDAwMDAwMDAwMjgxMEEwMDBGODAwM0UwMDRDCis6MTBDNjgwMDAwQzgxMTNFMTA4Qzg0ODMyMDAzQzgwMDNDMDAwRjAxMDYwCis6MTBDNjkwMDAzRTA2MEM4MDAzRjAwOENDMDAzMzA0MENDMDAzMEEwNEVGCis6MTBDNkEwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNTI4MDBCQTAwMkU4MEFECis6MTBDNkIwMDAwOEVDNDJGQTIwOEUwMDIzQTAwOEU4NDJFODAwQkU4MDgxCis6MTBDNkMwMDAyRjgwMDhBMDAyRTgwMERBMDAyMjgwNDhFMDAyMEEwMDc5Cis6MTBDNkQwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTRDMDBCMzAwMkNDMDAyCis6MTBDNkUwMDAwOTM0ODJDOTAwODM4MDIwRjAwODMwODJDQzAwQjM4MEY2Cis6MTBDNkYwMDAyQ0YwMDhCMDAyQzEyMDgwMDBBMDMyMDgwMDAyMEEwMDFECis6MTBDNzAwMDA1MDAwMDAwMDAwMDAwMDAwQTAwMTFDQzBCNzAxMkZDOEFECis6MTBDNzEwMDA4OTUwMDJEODAyODdDNDIxRTI0ODcwODJEQzAwQjcwMDQ5Cis6MTBDNzIwMDAyQzQwMDg3MjAyQ0UwMDk3MDgyM0MwMDg3MDAyMjgwMDJGCis6MTBDNzMwMDA0MDAwMDAwMDAwMDAwMDAwQTgwODFFMDBGN0UxM0RFOEVFCis6MTBDNzQwMDAyRDY4MDNGMjAwQzc4MEIwRTAwODY4MDNERjgwRjY4MDQwCis6MTBDNzUwMDAzREUwOEM3RTAzREEwMENDODAzMTIwMENDODBCMkEwMjJECis6MTBDNzYwMDAwMDAwMDAwMDAwMDAwMDAwMDgxREFDMDhGQjAwM0NDMEY5Cis6MTBDNzcwMDAwRTgwMDNFMDA4RjkwMDNFNDAwRkIwMDJFQzAwRkEwMDIyCis6MTBDNzgwMDAzRTQwMkZCMDAzRTQwMEZCMDAzQ0MwMkZCMDAzQzIwNkM0Cis6MTBDNzkwMDA2MDAwMDAwMDAwMDAwMDAwMDAwNUZFMDBGRjkyN0ZFQTNDCis6MTBDN0EwMDAwQ0Y4MDNGRTAwQ0NBMDNGMjAwREY5MDMzRTAwQ0Y4MDIzCis6MTBDN0IwMDAzMzYwMEZGODAzRjYwMEVGODQzM0UwMkNDODAzMDAwMDY5Cis6MTBDN0MwMDA3MDAwMDAwMDAwMDAwMDAwQTgxMTlDMDBCNzAwMkZDOEY2Cis6MTBDN0QwMDAwODU0MDJEODAwRDYwNDJEMDEwODY5MDIxQzAwODUwMDA3Cis6MTBDN0UwMDAyMTQzMEI3MDAzOUFDMDhDMDBBMzAyMDhGMTAyMkEwNEIzCis6MTBDN0YwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDlDMDBCNzAxMkRDQzhDCis6MTBDODAwMDAwODcwMDJENDAwOTQyODJEQzIwOEMyMDI1QzAwODYwMDgxCis6MTBDODEwMDAyMTgwMEI3MTAyREMwMEE3MTAyMUMwMDg0ODAyNDAwMEYzCis6MTBDODIwMDAyMDAwMDAwMDAwMDAwMDAwMjAxNENDMDhCMzAwMkNGMDExCis6MTBDODMwMDAwODA1MDJDMDIwOTA4MDJFMDAwODAwODI0QzAyODAwMDczCis6MTBDODQwMDBBMDYxMEIzMDAyQTAwMDgwMDBBMDMwODhCMTBBNDgwNDJCCis6MTBDODUwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNUJDMDBGRjAwMkRDODNCCis6MTBDODYwMDAwQzNEMDNFNDAwREIwMjNFRjAyQzkwNEI3QzAwQzEwMDQ5Cis6MTBDODcwMDAzMjIwNEZGMDEzRTAwMEU4MDEzMjAwOENBQzAzNkEwNDcwCis6MTBDODgwMDA2MDAwMDAwMDAwMDAwMDAwODAwMEVDMDBGQjA0M0VDMkRECis6MTBDODkwMDA0RkIwMDNFMDA0RkE0MDNFQzI0RTk4MjNBQzEwRjgwMEJCCis6MTBDOEEwMDAzRTUwMDdCMDEzQUMwMEZCMDAzRUMyMEY5MjAzQTAwMDQ1Cis6MTBDOEIwMDAzMDAwMDAwMDAwMDAwMDAwMDExMERDMDBDRjAwM0ZDMDhECis6MTBDOEMwMDAwQ0M4MjMzNjgyQ0Y4MDNGODAwQ0UwMDNFQzAwRjkyMEI3Cis6MTBDOEQwMDAzM0MwMEVGMDAzRjgxMERDMDAzMzAwNENFODIxMDA0NEI0Cis6MTBDOEUwMDAzMDAwMDAwMDAwMDAwMDAwODEwNDZDMDBBQjAwMkVDMDhFCis6MTBDOEYwMDA0QThENDIyMTAwOEI0MjJFRDIwOEIwMDNFQzAwQjg4ODRBCis6MTBDOTAwMDAzNDYyMERCMDAyRTQwMDhCMDAyMkMwMDg5MDBBMjA0MDdGCis6MTBDOTEwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTJDMDA4QjAwMkVDMERECis6MTBDOTIwMDAwOEEwMDIwRDAwODkxMDJFMDgyODkyMDJFQzA0QkIwMDFBCis6MTBDOTMwMDAyMkEwMDhCMDAyNjQwMkIzMDIyMEMwMDhBMjAyQTAwMDM0Cis6MTBDOTQwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDBDMDBBMzAwMkVDMEZFCis6MTBDOTUwMDAwQTkwMjIwQzEwODAwMDJDMDAxODAyODJDQzAwQjAwMDNCCis6MTBDOTYwMDAyNjQwMDkzMDAyQzgyMDgwMDAyMDAwMDgxMDA2ODIwMUZECis6MTBDOTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDZDMDBDQjAwMkVDMDg1Cis6MTBDOTgwMDAwQ0ExMDIyNDAwODgwMDNDMDAwQzgwMDNFQzAwRkIwMDlBCis6MTBDOTkwMDAzMjgwMEVCMDAzQ0M4MERCMDAzMkMwMENBMDAzODAwM0Q5Cis6MTBDOUEwMDA1MDAwMDAwMDAwMDAwMDAwQTAxREZDMDBGRjAwM0ZDMDgwCis6MTBDOUIwMDA0RkMyMTNENDEwRkMwMDNGMDAwRjAwMDNCQzAwRkMwMDZBCis6MTBDOUMwMDAzRjQwMEZGMDIzRTAxMkZDMDFCRjAwMEZEMDAzNjgwMkNDCis6MTBDOUQwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUZDMDBDNzgwMzNDMEVDCis6MTBDOUUwMDA4QkI0MDNCMEMwQ0YyRTFGMEM0RkMzMDMzMDgwRkYwMUE4Cis6MTBDOUYwMDAzRjA4MEZGMDAwN0MwMEZGMjEzM0U0MENFMDAzMzAwMDFGCis6MTBDQTAwMDA3MDAwMDAwMDAwMDAwMDAwODAxMEVFMDA4QjgyMjNGMDE4Cis6MTBDQTEwMDAwQkI1MTIwRDg4ODhDMDBFOTgwQjg2MDIyMTAwQkJDMDkyCis6MTBDQTIwMDAyRUU0NEJGNzgzMkY0NEJGOTAyMkM4NDhBNjgyMjAwNEVGCis6MTBDQTMwMDAzMDAwMDAwMDAwMDAwMDAwODgwNUNDMDk4QTAwMjA1MDZBCis6MTBDQTQwMDA0QkIyMEE4MENDODMwMTBDOEMwQjIzMEEwNDYwQjMxNDE0Cis6MTBDQTUwMDAyNDQwNEIzMDAyQ0MxMEIzMDAyMEM4RTkxMTA2NjIwMTFCCis6MTBDQTYwMDA3MDAwMDAwMDAwMDAwMDAwQzAxNUFDMDE4QTgwQTI0NEU0Cis6MTBDQTcwMDAwQkIwMDJBMTA0ODg0MDJFQTAwQjIwMDIyODIwQkI0MDRFCis6MTBDQTgwMDAyRTQwMEJCMDAyMkMwOEJCMDAyMkMwMDlCMDAyNzAwNDdCCis6MTBDQTkwMDA2MDAwMDAwMDAwMDAwMDAwNDAxNUVDMDBDMzgzMzJFMDlECis6MTBDQUEwMDA4RjAwMDNBMDAyQ0JDNDNFMjgwNzhCMDMyMTAwRjlDMEVFCis6MTBDQUIwMDAzRTEwMEZCMDAzRUMwMDdCMDAzMkMwMERBMDAzNTAwNDA5Cis6MTBDQUMwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMTlDMDJGRjAwM0ZFMDU5Cis6MTBDQUQwMDAwRkY0NDM1RTgwRkM5NDNGMDAwRkMwMkJGMjUwRkQyMTA5Cis6MTBDQUUwMDA3RTg0OEZGMDAzNkMwQ0ZGMDAzRkMwMEU2MjAzQjgwMDIxCis6MTBDQUYwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMEFDMDBFQjAwMzI0MDdECis6MTBDQjAwMDAyQzgwMDM2OTAwQ0IzMEIyMDA0RkIzNDNFNTAwQ0I0MDJCCis6MTBDQjEwMDA3MjE4MkNCMDAzRUMyOEMzMjEzQUMxMEY5NDAzMTAwNEZGCis6MTBDQjIwMDAyMDAwMDAwMDAwMDAwMDAwQzgwNTNDMDA4QjIwMjI1MEJGCis6MTBDQjMwMDAwOEIwMDIyODAwODhDMDJBMDA4QkI0MDJFODAwREIwMDlECis6MTBDQjQwMDA2MjMwMDhGMDAyRkMwMDhGODAyMkMwMEI5NTQ3MzIwMDUzCis6MTBDQjUwMDA0MDAwMDAwMDAwMDAwMDAwRTAwNTRDMDBCMTAwMjBDMkQxCis6MTBDQjYwMDA0ODMwMDI0OTgwODM0MjYwMTIwQjMwMDJDODAwODIwMkMyCis6MTBDQjcwMDAyQzMwMDlCMDAyQ0YwMTgzNTAyQUMwMEIyMDAyQjgwMDJDCis6MTBDQjgwMDA1MDAwMDAwMDAwMDAwMDAwMjAwMTFFMDA5RDgwQTBFMDc5Cis6MTBDQjkwMDAwODc5MjI1RTYwODc5MDI5QTAwQjc4MDJDNjAwOTI4MUY2Cis6MTBDQkEwMDAwNUUwMDk3ODAyREU0MDg3ODAyMUUwMEIyOTAyMDgwMEI5Cis6MTBDQkIwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODBDNDBGMjAwMzBDMEI3Cis6MTBDQkMwMDAwODNBMDM0NDA0QzMxNDMwQzAwRjIyMDNDQzgwQzIwMENGCis6MTBDQkQwMDBBNEQyMEQzMDEzQ0MyMEMzMDAzOEM0NEYwNDQzMTIwMjNBCis6MTBDQkUwMDAwMDAwMDAwMDAwMDAwMDAwNDAxRDlDMDBFRTAwM0ZFMDNGCis6MTBDQkYwMDAwRjcwMDNCNDAyRjQxMDNGQzA4RkEwMDNGQzAwN0UwMDRFCis6MTBDQzAwMDAzQkMwMEVGMDgzRUMwMEY3MDAzRkMwMEZDMDAzRDAwNjFFCis6MTBDQzEwMDA2MDAwMDAwMDAwMDAwMDAwQTgwNUZDMDBGOTAwM0VDMDE0Cis6MTBDQzIwMDAwRkEwMDNBQTEyQ0IwMTMyODAwRkIwMTMyODE0Rjk4MDkxCis6MTBDQzMwMDAzQTQwMDNCNDAzRUM0MkNCMTgzRUMwMEZCMDAzMkEwMEM1Cis6MTBDQzQwMDA3MDAwMDAwMDAwMDAwMDAwNDgxMTlEMDBCNTAwMkRDNEQ4Cis6MTBDQzUwMDAwQjcwNEI3QzAwODQwMDIxODAwQjcwMDI5NDEwQjIwMDlBCis6MTBDQzYwMDAyOUMwMEI3MjgyREMwMDg3MjAyREMxMEU3MDAyMTIwNEQ1Cis6MTBDQzcwMDA2MDAwMDAwMDAwMDAwMDAwQzAwMDlFMDBCNzgwMkRFMEIyCis6MTBDQzgwMDAwQjY4MDI5RTAwODM4MDIxRTA1QjM4MDIxRTAwQjRDMDY2Cis6MTBDQzkwMDAyNUUwMDk3ODMyQ0UwMDk3ODAyREUwMEI1QzRFMzAwMDA1Cis6MTBDQ0EwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNENDMDBCMzQ0MkNDMDU5Cis6MTBDQ0IwMDAwQjNDMDJDQzQwOTMwODIwRTAwQjMwMDI4QzEwQjNDMDM4Cis6MTBDQ0MwMDAyOEQ4MUIzMDAyQ0MwODkzMDE2Q0MwMEFCODgyMTIwNDI5Cis6MTBDQ0QwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUE4MDBGNjEwM0U4MEJCCis6MTBDQ0UwMDA0QkVEODNCODAwQ0VFNEIzQTMwRkUwMDMzODAwRkUwMEExCis6MTBDQ0YwMDAzQjgwMERBMDAyRTgwMERBMDAzRTgwMEZFODAyM0EwNDEzCis6MTBDRDAwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEUwMTBGODQwM0UwMDE1Cis6MTBDRDEwMDAwRjgwMTM2MDAwRTAwMDNFMDA0MzA4MDNFMDAwRjgwOEM1Cis6MTBDRDIwMDAzQTAwMEY4MDAzRTAwMEU4NDAzRTAwMEU4MDIzRDIwMDZFCis6MTBDRDMwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEM0MDBEOUMwQkU0MDUwCis6MTBDRDQwMDAwRjkwMDNFNjAwRjkwMDMyNDAwMTlBMDMyNDAwRjkwMDM1Cis6MTBDRDUwMDAzRTQwMEY5MDAzQzQ0MDA5MTAwRTQwMEY5QTAzMDIwNDk2Cis6MTBDRDYwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY0MDQ4OTA0QTI2MDE4Cis6MTBDRDcwMDA4QjlEODBBNjAwQjk4MDIyNDA0ODk4MDIyNDAwQjkwMDBCCis6MTBDRDgwMDAyRTQwOEI5MDAyRTQ5NDg5NjAyRTQwMEI5NDBCMjAwMDdGCis6MTBDRDkwMDAxMDAwMDAwMDAwMDAwMDAwMTgwNTI0MDA5OTA4QUU0OEFCCis6MTBDREEwMDA0QjEwMDJFNTgxQjkxMDIwNDQxQjk0MDIyNDEwQjkwMEY1Cis6MTBDREIwMDA2RTYwMEI5MDAyRTQwMDg5MDAyRTQwMEI5NDAyMDYwMDg2Cis6MTBDREMwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA0ODA4OTAwQTA2ODAyCis6MTBDREQwMDAwQjEyMDI4NDg5QjEyMDIwNDgxQTEyMTIwNDgwQjEyMjU5Cis6MTBDREUwMDAwQzQ4MEIxMjAyQzQ4MUExMjAyQzQwMEIxMjAyMDIwMTNDCis6MTBDREYwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDYwMDBEODAwQkUwMDc4Cis6MTBDRTAwMDAwRjA1MEJFMTQwRjgwMDMyMTQwRjg1MDMyMTQwRjgwMEI0Cis6MTBDRTEwMDAyRTgwMEY4NTEzRTAwMkM4MDAzRTE0MEYwNTAxMkUwMzdCCis6MTBDRTIwMDA1MDAwMDAwMDAwMDAwMDAwOTgxREU0NDBGRDAwQkY0NEQ5Cis6MTBDRTMwMDAwRkQxMDNGNDQwN0QxMEJGNDQ0NUYxMkJGNDQwRkQxMEE5Cis6MTBDRTQwMDAzRjQ0MEY5MTAzRTQ0MEQ5MTAzRTQwMEZEMTAzQTYwNkEyCis6MTBDRTUwMDA3MDAwMDAwMDAwMDAwMDAwMTgwNUY2MDBGRDAwMUY2MkQxCis6MTBDRTYwMDAwRkQ4ODIzNjAwQkRBMDNCNjgwQ0RDODMyNkM4RDlBMDUxCis6MTBDRTcwMDAzMzYwMEQ5OTgzNTYyMEQ1QTgyRTQ0MENEODgzODYwNEEwCis6MTBDRTgwMDA3MDAwMDAwMDAwMDAwMDAwMzgxMEUxNDhCODAwMkUwMERCCis6MTBDRTkwMDAwQjBBODIyMjIwQjg1MDIyQkEwODhBMjIyMjgwODgwMEY3Cis6MTBDRUEwMDAyMjAxMDgwQzAyMjAwMDg4MDAyRTI4ODg4ODAyQ0UwNDY3Cis6MTBDRUIwMDAzMDAwMDAwMDAwMDAwMDAwMDgwNUM0MDBCMTAwMkM0MDU0Cis6MTBDRUMwMDAxQjEwMEE4NDQwQjEwMDI4NTgwQTMyMDIwNTAwOTk0MDFDCis6MTBDRUQwMDAyMDY1MDkxMDQyQzQwMDkxMDAyQzQwMEEzMDgyQzIwMTMyCis6MTBDRUUwMDA3MDAwMDAwMDAwMDAwMDAwMTgxMUE0MDBCOTAwMkU0MERFCis6MTBDRUYwMDAxQjkwMDJBNTgwQjkxMDIyNDgwODEwNDIwNDEwMDkwMEI2Cis6MTBDRjAwMDAyMjQwMDg5MDAyRTQwMDlCMDAyQzQwMEE5NDIyQzYwNEIwCis6MTBDRjEwMDA2MDAwMDAwMDAwMDAwMDAwQTAxNUU0MDBGOTIwM0U0MDgxCis6MTBDRjIwMDAwRjkwMTNBNzEwRjk2MEJBNTAyRTlDMEEyNTg0RDFGMEY3Cis6MTBDRjMwMDBCMjYwMEQ5MDAzRTQwMEQ5MDAzRTQwMEU5MDAzQTgwMEJCCis6MTBDRjQwMDA3MDAwMDAwMDAwMDAwMDAwMjgwMUE0MENGOTkwM0U2QTY3Cis6MTBDRjUwMDA4RjkwMjM2NjAwRjEwODNDNDAwRjlDNDNFNDQwRjk4MDI5Cis6MTBDRjYwMDAzQTQ0MEY5MDAzMjQwNEU5MDIzRTQwMkQ5MTEzQ0EwMDc1Cis6MTBDRjcwMDA2MDAwMDAwMDAwMDAwMDAwMjgxMEEwMDBFODIwM0UwMTMyCis6MTBDRjgwMDAwQzAwMDNBMTIwRTg1MDMyMTAyQzhDMDMyMTAwRTgwMDkzCis6MTBDRjkwMDAzMjAyMEYwMDEzMjA4OEM4MDgzMjAwMEY4QzAzQ0EwMDI5Cis6MTBDRkEwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNTI4MjA4RUUzMkY5MEJDCis6MTBDRkIwMDAwQUUwMDYzQjAwRUUwNDIzOTAwOEUwMDIyODA4OEEwMkZCCis6MTBDRkMwMDA3NTkwOEJBMDQxNTg5MDhFODAyQTgxMEJFMDAzOEExMEM3Cis6MTBDRkQwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTRFMDBBMzAwNkM2MDI3Cis6MTBDRkUwMDAwODM4MUE4RTQwQTA4MDIwQ0MwOTMwMDIwQzA1QTMwNDFBCis6MTBDRkYwMDAyOEM0MEIzMDAyMEQwMTgzQzAyMEMwMEIzMDAyQ0EwMEQwCis6MTBEMDAwMDA1MDAwMDAwMDAwMDAwMDAwQTAwMTFFMDg4NzAwMkQ2MkYzCis6MTBEMDEwMDAwQjcwOTIxQzA4QTAwMDYxQzAwOTYwMDYxQzgwQTcwMDZDCis6MTBEMDIwMDAyMUMwMEI3MjAyNTgwMTg3ODgyOUMwMEI2MDEyQTgwMDJBCis6MTBEMDMwMDA0MDAwMDAwMDAwMDAwMDAwQTgwODFFMDBFNjgwM0Q2MERGCis6MTBEMDQwMDAwQzc4NDI5NjAwRTQ4MEEzNjAwRDc4MDMzRjAwRTM4MEYzCis6MTBEMDUwMDAyMUUwMEY3QjAzMTYwOEM3ODAzMUUyNEY3ODQzRUEwMkQ0Cis6MTBEMDYwMDAwMDAwMDAwMDAwMDAwMDAwMDgxRDhDMDFGODAwM0M0MDlBCis6MTBEMDcwMDAwRUIwMDJFQzAwRjgwMTNFNDA0RTMwMzNFRDIwREIwMUYzCis6MTBEMDgwMDBCRUMwMEZCNDAzRUMwMEZCMDAzRUQ4MEZBMDAzQzIwNkU1Cis6MTBEMDkwMDA2MDAwMDAwMDAwMDAwMDAwMDAwNUZFMDBDNzg0MjM2MDVGCis6MTBEMEEwMDAwQzc4MEJCRTAwRkQ4MDNGRTAwRkVCMDMzRTAwQ0Y4MDBECis6MTBEMEIwMDAzQjI1MENGODgzN0U0MENEODAzM0UyMEJGOTAzMDAwMDYyCis6MTBEMEMwMDA3MDAwMDAwMDAwMDAwMDAwQTgxMTlDMDI4NzAwMTU0OEI1Cis6MTBEMEQwMDAwODcwMDIxNDIwQjYwMDM1OUE0OUM4MDM5Qzg0QTcwMDQyCis6MTBEMEUwMDAzOUQwMEE3MDAyMUEwOEE0MDAyMUMwMDk2MTQyMkEwNDNBCis6MTBEMEYwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDlDMDA4NzAwMjE0MDRDCis6MTBEMTAwMDAwODcxMDI5NDAwQjUwMDJENDAwQkYxMjI1QzAyMDcwODYzCis6MTBEMTEwMDAyQzUwMDg3MDAyNTAwMDg3MDAyREM0MEI1MDQyMDAwMEI0Cis6MTBEMTIwMDAyMDAwMDAwMDAwMDAwMDAwMjAxNENDMDA4MzAyMjQ0MEY2Cis6MTBEMTMwMDAxODNEMEEwMTAwQjA1ODI0MjAwOTMwMDI4RjQwODNFMEQ2Cis6MTBEMTQwMDAyQ0MxMEEzMDQyMDgwMEIzMDE2Q0MwMDkwODE2MDgwNDVCCis6MTBEMTUwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNThDMDA4QjAwMzI0MDU5Cis6MTBEMTYwMDAwQzI1MDNBODQ4Rjg4MTNFODAwRjgwNjM3QzAwQ0I4MEFCCis6MTBEMTcwMDAzQUMwMENGMDAzNkMwMENBMDJCRkMwMEY5ODhCMkEwNDlGCis6MTBEMTgwMDA2MDAwMDAwMDAwMDAwMDAwODAwMEVDMDBGOTAwM0U1MDRDCis6MTBEMTkwMDAyRkE0MEJDODAwRjA0MDNFRDAwRkEwMzNFQzIwRkIwNEJFCis6MTBEMUEwMDA3QUUwMEZCMDAzRUQwOEU5MDMzMkMwMEQ5MDAzRTAwMDEwCis6MTBEMUIwMDAzMDAwMDAwMDAwMDAwMDAwMDExMEVDNDBFRTAwM0VDMDE2Cis6MTBEMUMwMDAwQ0RBMDM3MDA0Q0MwMkIxQTAwRUYwMjNFQzAwRkYwMEQ3Cis6MTBEMUQwMDAzNzIwQ0RCMDczRUM4OEZCODAzRkMwMEYzMDAzMDA0NDk0Cis6MTBEMUUwMDAzMDAwMDAwMDAwMDAwMDAwODEwNDZFMDA4ODgwMkNFMTA3Cis6MTBEMUYwMDAwODk0MEFBOTAyODg0MDIyRDAwOEI5NDJFQzA0QkIwMDc2Cis6MTBEMjAwMDAyQ0Q0MERCMDAyRUQyMEJCRDAyRUMwMEJCMDAyQTA0MDNDCis6MTBEMjEwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTI0MDBBQjgwMkVGMDBDCis6MTBEMjIwMDAyOUEwODI2RDAwODgwODIyMDQwODkwNDJFQzAwQkIwMDBGCis6MTBEMjMwMDAyQTgxMDhCMDAyRTQwOUJBMDQyRUMxNEI5ODgyMjAwMDZBCis6MTBEMjQwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA0MDA4MzAwMkNDMDFGCis6MTBEMjUwMDAwQTIxMDI4NDEwODIwMEUwMDAxODBBMTJDQzAwQjMwMEY4Cis6MTBEMjYwMDAwQ0MwMDkzMDAyQ0M5MEIwMDAyQ0MwMEIxMDAyODIwMTFGCis6MTBEMjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDY0MDBFQjAwM0UwMDE0Cis6MTBEMjgwMDAyQ0I0MDM2NDA4ODgwMEIyMDAwQ0IyNDNGQzAwRkIwMDFECis6MTBEMjkwMDA1NjAwMENGMDAxRTQwMEZCMDAzRkMwMEY4MDBCMDAwM0MwCis6MTBEMkEwMDA1MDAwMDAwMDAwMDAwMDAwQTAxREY0MDBGRjAwM0Y0MEZGCis6MTBEMkIwMDAyREYwNjFGMDAwRjQwMDI3MDEwREIxMTFGQzAwRkYwMjE4Cis6MTBEMkMwMDAwN0MwMEZGMDAzRUM0MEZGMDAzRkMwMEZDMDAzNjgwNjJCCis6MTBEMkQwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUY2MDBFRjkwM0Q0QzFCCis6MTBEMkUwMDAyQ0MwMTNGNDA4RkQyMDM3NEM4RTgyODM3NDg0RENDMjdBCis6MTBEMkYwMDAzRkQ4MERGMjAzRUNDMEZGODEzRjAwMENGODAzRjAwMEIzCis6MTBEMzAwMDA3MDAwMDAwMDAwMDAwMDAwODAxMEU2MDA4QjI0MkU1Q0ZFCis6MTBEMzEwMDAwODhEMDJGRjQ4Qjk5MDJGNTQwQjg0ODIzRTQwQTA4MEI0Cis6MTBEMzIwMDAyRUM0MEFGQzQyRUQ4MEI5ODAyRTYwMEE5ODEyRTAwNEY3Cis6MTBEMzMwMDAzMDAwMDAwMDAwMDAwMDAwODgwNUU0MDFBMzAwMjg0ODM4Cis6MTBEMzQwMDAwQTAwNDJDNDAwQjEwMDJDNDkwQjBBNDIwNEEyOTEyMUY4Cis6MTBEMzUwMDAyQ0M5MDgzMTAyOENDMUEzMDAyQzQwMDgxODAyQTIwMTdDCis6MTBEMzYwMDA3MDAwMDAwMDAwMDAwMDAwQzAxNUEwMjA4QjgyMkU0NDM5Cis6MTBEMzcwMDA1ODgwMDJFNDAwQkIxMDJFNDAwQkExMTIwQzAxODkxMDUyCis6MTBEMzgwMDAyRUMwMEFCMDAyRUMwMUI4ODAyRUUyMEFBMTAyRjAwNDFECis6MTBEMzkwMDA2MDAwMDAwMDAwMDAwMDAwNDAxNUVCNDBFQjQwM0U2MEU0Cis6MTBEM0EwMDAwRTg3MzNFNDAwQjlBMTM2QzAwRUE4MEIyNjAwREFDMDAwCis6MTBEM0IwMDAzRUMwOERCMDAzRUMwMEZCODUzRUUxMDhCODAzOTAwNTRDCis6MTBEM0MwMDAyMDAwMDAwMDAwMDAwMDAwRTAwMUI4MDBGRjAyMkY2MDE0Cis6MTBEM0QwMDAwM0U4ODNGQzEwRkQ4MDFGNDAxRkQwMTNCRTQwRUUwNDA1Cis6MTBEM0UwMDAzRkMwMEZGMDQzRkMwOEZEMDAzQ0MwMEZEMDExRjgwMDE3Cis6MTBEM0YwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMEE0MDBEQjAwQjI0MDBDCis6MTBENDAwMDAwRTk0MDMyNDAwRDkwMEJBQzAwQzIwMDNFNDkwRkIwMDYyCis6MTBENDEwMDAzQUMwMENCMDAzRUMwMUZBMDAzRUQwMkM5ODAzOTAwNDAzCis6MTBENDIwMDAyMDAwMDAwMDAwMDAwMDAwQzgwNTAzMDA4QjAwMjI0ODE3Cis6MTBENDMwMDAwODg0MjIyQzAwQjkwMDIyQzAwOEEwMDJFRDAwOEJBMEI1Cis6MTBENDQwMDAyMUMwMDhGMDAyRkMwMEI5ODAyRUMwMDhBMDAyMzIwMDAyCis6MTBENDUwMDA0MDAwMDAwMDAwMDAwMDAwRTAwNTQ1MjA5MzAwMjJGODk1Cis6MTBENDYwMDAwQjMwMEE4NDQwQjIwMDIwNDAwODEwMDJDNDAwODA4MEMzCis6MTBENDcwMDAyOEMwMjgzOTAyNEMwMEIxMDAyQ0MwMDgzMDAyQjgwMDg2Cis6MTBENDgwMDA1MDAwMDAwMDAwMDAwMDAwMjAwMTM2MDA5RjgwMjE2MDU1Cis6MTBENDkwMDAwOTM4MDI5RTAwQjJDMDIwNjA0ODQ4MTJENkM2ODZEMDI1Cis6MTBENEEwMDAyMUUwMDg3ODAwREU4MEI3ODIyREUwMDhGODAyMDgwMDRECis6MTBENEIwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODBDMjBEMzEwMzBDOEQ1Cis6MTBENEMwMDAwRjMwMDM4NDAwRjEwMDMwNDAyNDE5MDNFNEMwRTA0MDMxCis6MTBENEQwMDAzQUMwMEMzMjAzQ0U4MEIxMjgzQ0MwMEMzMDEzOTIwMjBCCis6MTBENEUwMDAwMDAwMDAwMDAwMDAwMDAwNDAxRDlDMDBFNjAwN0ZDMDFFCis6MTBENEYwMDAwRUYwMjM3NDQwRkYxMDNGNDA0RkQwMDNGQ0QyQ0UwNDA3Cis6MTBENTAwMDAzRkMwMEZGNDAzRkMwMEZFMDAzRkMwMEY3MTAzRDAxMkI4Cis6MTBENTEwMDA2MDAwMDAwMDAwMDAwMDAwQTgwNUVFMDBDQjAwMTZDMDZGCis6MTBENTIwMDAwRDgwMDMyNzIwQ0IwMDNFQzIwQUIwNTNFNDI4QzE4MUZFCis6MTBENTMwMDAzMkMxMEVCOTAzMkMwMEYxODAzNUUwMENCODAzMkEwNDg3Cis6MTBENTQwMDA3MDAwMDAwMDAwMDAwMDAwNDgxMTlDMDI4NzEwMkQ0MDcwCis6MTBENTUwMDAwODcwMDM1QzAwQTcwMDJENDAyODcwMDJENDA0ODcwNEUzCis6MTBENTYwMDBBMUQwMEI3MjAyMUQwMEY3MDAyMUMwMEQ1MDAyMTIwNDYxCis6MTBENTcwMDA2MDAwMDAwMDAwMDAwMDAwQzAwMDlFMDA4NTgwMjVFMEUzCis6MTBENTgwMDAwOTc4MDIzNzAzODc4MDJGRTAwODc4MTJDNjEwOEQ4MDUzCis6MTBENTkwMDAyNUU4MEIzODAyMUU4MEJDODQyNUUwMDg1ODAyNzAwMDg0Cis6MTBENUEwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNENEODA4Mzg4MkNDMEJCCis6MTBENUIwMDAwODNDMDI0RTAxQTNEMjJFQzQwOEIxMDJDQzAwODM4MEU1Cis6MTBENUMwMDAyNEMxMEIzMDAyMEMwMEIzNDBBMEQyMDkzMDEyNTIwMDJCCis6MTBENUQwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUJBMDBDQUMwMzY4MDI0Cis6MTBENUUwMDAwRDY3MTMyODAwQ0UwMDNFQTAwQ0VEMDNFODAwQ0VFMDRFCis6MTBENUYwMDAzNjgwMUVBMDBCMjgwNEZFMDBCN0IyMENFMDBCN0EwMEE4Cis6MTBENjAwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEUwNDBGODEwMkUxMDBDCis6MTBENjEwMDAwRjgwMDNFMDAxRDgwQTNFMDAwRjgwMDNDMDAyRjgwODIzCis6MTBENjIwMDAzQTAwMEY4MDAzRTAxMEU4MjBCRTAwMEY4MDEzOTIwMDQ0Cis6MTBENjMwMDAyMDAwMDAwMDAwMDAwMDAwMDgxMEU1MDBGQjAwM0U0MDU0Cis6MTBENjQwMDAwQzkxMDMyNjAwNjE4MDMyNDAwQzkwMDMyNDAwQzkwMDM1Cis6MTBENjUwMDAxRTQwMEM5QzAzRTQwMUY5MDAzRTQwMEY5MDAzQzIwMDAxCis6MTBENjYwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY3MDBCOTAwMkM0MDdBCis6MTBENjcwMDAwMDlDMDJBNjAwNzkwMDIyNDAyODkwMDIyNDAwODkwMDI0Cis6MTBENjgwMDAyQzQ0MDg5ODAyRTQwMEI5ODAyRTQwMEI5MDAyRTAwMTdGCis6MTBENjkwMDAwMDAwMDAwMDAwMDAwMDAwMTgwMTI0MDBCQjAwMjY1MDFDCis6MTBENkEwMDAyODkwODIyNDg0OTkyMDIyNDA0OTkwMDIyNDAwODkwMEY1Cis6MTBENkIwMDAyRTQwMDg5MDAyRTQwMEI5NjAyRTQwMEI5MDAyQzYwNDkwCis6MTBENkMwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA2MDBCMTAwMkU0OEUxCis6MTBENkQwMDAwODEyMDI4NDgwQjEyMEEwNDgwOTEyMEEwNDgwODEwMDQ3Cis6MTBENkUwMDAyQzQ4MjgxMjQyQzQ4ODMxMDAyQzQwMEIxODAyQzIwMTc5Cis6MTBENkYwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDYwMDBGODUwMzYxNDczCis6MTBENzAwMDAwQzgwMDMyMDAwRTgwMDMyMTQwQzg1MDMyMTQwQzg1MDJGCis6MTBENzEwMDAzRTE0MEM4MDAzRTE0MDM4MDAzRTAwOEY4MDAzRUUwMzhFCis6MTBENzIwMDA1MDAwMDAwMDAwMDAwMDAwOTgxREQ0MDBGQjA0M0Q0NEEwCis6MTBENzMwMDAwRjUxMjNENDQ4RUQxMDNENDQ0RUQxMjNGNDQyRkQwMDU3Cis6MTBENzQwMDAzRTQ0OEY5MTAzRTQ1OEZEMDAzRjUwMEY1MDAzRTYwNjFFCis6MTBENzUwMDA3MDAwMDAwMDAwMDAwMDAwMTgwNUY0MDBGOTAwM0Q0MEQyCis6MTBENzYwMDAwQ0QwMDNGNDAwREQwMjNFNDAwQzkwMDNFNDQwQzkxMEVECis6MTBENzcwMDAzNzQwMDdEMDA3MjQwMEU1MDAyRjZBMEY3MDAzMDYwMDJBCis6MTBENzgwMDA3MDAwMDAwMDAwMDAwMDAwMzgxMEUwMDBCODAwM0EwMDBGCis6MTBENzkwMDA4MDgwMDJFMDAwODgwMDJFMDAwQTgwNTNBMjgwMkNBMDI2Cis6MTBEN0EwMDAyMjAwMEI4MDBBMjAwMEI4MDAyRTEwMDk4MDAzMEUwNDBFCis6MTBEN0IwMDAzMDAwMDAwMDAwMDAwMDAwMDgwNUM0MDBCMTAwNkM0MDBCCis6MTBEN0MwMDAyQTEwMDI4NDAxODE4MDJFNDAwOTEwMDJGNDAwOEQwNDg5Cis6MTBEN0QwMDAyMDQwMEIxMDAyODQwMEIxMDAyQzQwMEI5ODAyNDIwMTQzCis6MTBEN0UwMDA3MDAwMDAwMDAwMDAwMDAwMTgxMUE0MjBCOTAwMkE0MEI5Cis6MTBEN0YwMDA4OEI0MDJFNjAxQTkyMDJFNDgwQTkwMDBBNDQwQUQ0MDVBCis6MTBEODAwMDAyMjQwMEI5MDEyQTQwNEI5MDEyRTQxMEI5MDAyMDYwNDkxCis6MTBEODEwMDA2MDAwMDAwMDAwMDAwMDAwQTAxNUU0MDBGOUMwM0U2MEI4Cis6MTBEODIwMDAwQzk0MTNBNjAyRDk0MjFDNjAwQzlFMDFDNjA0QzEwMEQwCis6MTBEODMwMDBCMjQwMUY5MDAyQTQwMEU5MDgzRTY4NEY5ODBCNjgwNEFDCis6MTBEODQwMDA3MDAwMDAwMDAwMDAwMDAwMjgwMUE2NDBGOTIwMzg3MDk4Cis6MTBEODUwMDAwRjkxMDNFNDAwRDk4MDNFNDAwRjlDMTNBNDAwRjkwMDBGCis6MTBEODYwMDAzRTQwMEYxMDAzNjQxMEY5MEEzRTUwMEQ5QTAzQ0EwMDlGCis6MTBEODcwMDA2MDAwMDAwMDAwMDAwMDAwMjgxMEExMDBEODA0M0UwMDU1Cis6MTBEODgwMDAwQzgxMTNDMDAyRDgyMDNFMDAyRDg0MDNFMDAwQ0MwODk4Cis6MTBEODkwMDAzQTAwMEY4MDQzRTAwMEY4NDEzMjAwMDc4MThCMEEwNDEwCis6MTBEOEEwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNTNBNjA4QTAwMkZBODMwCis6MTBEOEIwMDAwQUUwMjJFODAyN0U0ODJFODAwOEEwNDJFODA0OEUwMDlBCis6MTBEOEMwMDAyM0E4MEJBODgyRTgwMEVFMDBBMjgwNEI2MDAyMEEwMEE5Cis6MTBEOEQwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTRDMDA5MzAwNkNDMEQwCis6MTBEOEUwMDAwODMwMDJDQzAwMTM4MTJDQzAwODMwMDJDRTQwODI0MEE4Cis6MTBEOEYwMDAyOEUwMEIzODAyQ0MwMEIzMTAyNEMwOEIzODAyMEEwMDk5Cis6MTBEOTAwMDA1MDAwMDAwMDAwMDAwMDAwQTAwMTFFMDA4NzIwMkZDMDcyCis6MTBEOTEwMDAwQTcwMDJEQzBBQjYwMDJDQzg4ODcyMDZEODAwODYwMDlECis6MTBEOTIwMDAyMUMwMEI3MDAyREM4NEFGODBBNUMwMEJEMDAyMjgwMEEwCis6MTBEOTMwMDA0MDAwMDAwMDAwMDAwMDAwQTgwODFFMDBENzgwM0RBMEE1Cis6MTBEOTQwMDAxQzc4MTNENjAyRDc4MDNERUMwODdFMjNGRTAwQ0U4MEUzCis6MTBEOTUwMDAzOTYwMEY3ODAzREYwMEY2ODA3NUUwMEY3ODAzMkEwMjQ0Cis6MTBEOTYwMDAwMDAwMDAwMDAwMDAwMDAwMDgxRDhDMDBGQjEwM0U4MDNECis6MTBEOTcwMDAxRkEwMjFDQzAwRkEwMDNFQzAwRUIwMDNFODAyRkEwMDVFCis6MTBEOTgwMDAzRTQwMEZCMDEzRUMwMEVBMDEzQUMwMEY5MDAzQzIwNjBDCis6MTBEOTkwMDA2MDAwMDAwMDAwMDAwMDAwMDAwNUZDMDBGRjgwM0Y2MDA4Cis6MTBEOUEwMDAwODk5MDc3RTAwREQ4MDNGRTIwQ0Y4MDNGNjAyREY4MDc1Cis6MTBEOUIwMDBCM0UwMENGODAzM0U0MUNDODAzM0U0MEZGODAzQzAwMDIxCis6MTBEOUMwMDA3MDAwMDAwMDAwMDAwMDAwQTgxMTlDNDBCNzAwMkRDMEFFCis6MTBEOUQwMDAwRDVBMjJEQzgwNzUwMDJEQzAwODcxMDJGMDIwODcwMEVFCis6MTBEOUUwMDAyMUMwMEE3MDAyMUMwMEQ0MjgyMUMwMEI3MjAyRUEwNDc0Cis6MTBEOUYwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDlDNDBCNzAwMkQwMDA3Cis6MTBEQTAwMDAwODcyMjJGNDAwODcwMDJEQzIwODcwMDJENDAwODc4MEJCCis6MTBEQTEwMDAyNTQwMDkzMDAyNUMwMUFEMDAyOUQwNEI3MDAyQzAwMEU2Cis6MTBEQTIwMDAyMDAwMDAwMDAwMDAwMDAwMjAxNENDMDBCQkM4MkNBMDg3Cis6MTBEQTMwMDAwOTIwMDJDRTAwQTMwMDJDRTBBODNENDJDMjAwOEI4MDRBCis6MTBEQTQwMDAyNDQwMEIzMDBBNkMwOEEzNDBBOEUwMEIzNDAyQzgwNDQxCis6MTBEQTUwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNUFEMDBGRjQ4M0MyODgxCis6MTBEQTYwMDAwQ0E5MjM2QzgwOEIwMDNGQzAwQ0ZDMDNFQzAwRDg4MDE5Cis6MTBEQTcwMDAzNDQwMEQzMDAzN0MwMkEzNDAzODY4MEYyNDAzRUEwNENECis6MTBEQTgwMDA2MDAwMDAwMDAwMDAwMDAwODAwMEVEODhGQjAwM0U1MEI4Cis6MTBEQTkwMDAwRkExMDNFQzA0M0FDMDNFQzAwRkIwODNFODAyRjgxMEI3Cis6MTBEQUEwMDAzQTQxMEU5MDAzQUMwMDlCMDhCNjQwMEY4MTAzRTAwMEEyCis6MTBEQUIwMDAzMDAwMDAwMDAwMDAwMDAwMDExMEZDMDBGRjAwQjMyMDU3Cis6MTBEQUMwMDAwQzUwMTMxQzA5Q0Q4MzMzQzA4MzcwMDAzQzAwREMxMDY0Cis6MTBEQUQwMDAzMjYwMEVGMTQzMkMwMENFMDQzQjcwMENGMDgzMDA0NDA2Cis6MTBEQUUwMDAzMDAwMDAwMDAwMDAwMDAwODEwNDY3ODBCQjAxNjIyMTVCCis6MTBEQUYwMDA4QTg5MjAyQzAwODBFMDIyQzAwQkIwMDNEODEwOEMwNDRGCis6MTBEQjAwMDAyMjQwMDU5MDAyQUMwMEQ4ODAzNjQwMEE5MDAyMjA0MEE2Cis6MTBEQjEwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTI2MDBCQjAwMjIwNjY3Cis6MTBEQjIwMDAwODgwMDIyRTAwODgyMDIyQzAwOUIwMDJBNDAwOTkwMEJCCis6MTBEQjMwMDA2MkM0MDhCMDA2MkMwMDg4ODAyMjQxMDhBMDAyMjAwMEEwCis6MTBEQjQwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDBDMDBCMzAwMjA0MDZBCis6MTBEQjUwMDAwQTAwODIwQzAwODAwMDIwQzAwQjMwMjJBMDAwODEwMDRGCis6MTBEQjYwMDBBMEMwMDkzMDAyOEMwMDkwMDAyNDQwMEEyODAyMDIwMTYzCis6MTBEQjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDYwMDBGQjAyMjAwMDFCCis6MTBEQjgwMDAyQzkyMDMyQzAyODgwMDMxQzAwQkI1MDJBNDAwRDEwNEYyCis6MTBEQjkwMDAzMjQwMEU5MDAzMkM0MEM5MDAzQTQwOENBMDAzMDAwMzkxCis6MTBEQkEwMDA1MDAwMDAwMDAwMDAwMDAwQTAxREY0MDBGRjAwMkYwMDQ2Cis6MTBEQkIwMDAwRkMwMDNEQzAwRkMwMDNGQzEwRkYwNDNGMDAwRkQwMDhDCis6MTBEQkMwMDAzRjQwNEZEMDAzRkMwMEY1MDAzRjQwMEZFMDAzRTgwNjY0Cis6MTBEQkQwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUQ4ODBDQzAwQjcwNDMxCis6MTBEQkUwMDA0RUUxMDMzQzIwREYxMDMxODAwNkYwMDM3RjAwRkZDMEQwCis6MTBEQkYwMDAzQkMwMEVGMjAzNUUwMEVGMTAzM0QwMkNGMjAzMzAwMDc2Cis6MTBEQzAwMDA3MDAwMDAwMDAwMDAwMDAwQzAxMEU5MDA4OEM2MjA1QzIxCis6MTBEQzEwMDAwOEE0NTc2NTAwOEY1MjJBRjAwOUZDMDIwNDAwQkIwMERCCis6MTBEQzIwMDAyREQ5MDk3NDgzNjQyODgzNDQyMjg0ODgwNjgyMzAwNEIxCis6MTBEQzMwMDAzMDAwMDAwMDAwMDAwMDAwQzgwNUM5MDA4MDEwMjAwODY2Cis6MTBEQzQwMDAwODMxMTIwNEIyQTMwMDIwODQxQjM0MDIwQzgwQjMyMERDCis6MTBEQzUwMDAyQ0M3MDkzNjAyOEM4MDkzNDBBQ0M4MDgzMTI4MzIwMUE5Cis6MTBEQzYwMDA3MDAwMDAwMDAwMDAwMDAwQzAxNUE5MDA4ODAwQTI1MDRDCis6MTBEQzcwMDAwODM1MDIyNDAwOEIwNDJFQzEwOUIwMDIyNDk0QkIwMDk1Cis6MTBEQzgwMDAyRUMwMEJCMDAyQ0M2MDhCMDAyRTgwMDg4MDAwMzAwNEM4Cis6MTBEQzkwMDA2MDAwMDAwMDAwMDAwMDAwMDAxNUU3MDJDQjE4QjI4MDExCis6MTBEQ0EwMDAyQ0FDMEEyRTA4RUIwMDMyMTI0RUIwMDMyQjgwRkIwMDg2Cis6MTBEQ0IwMDAzQUMwMEFCMDAzQUIwOEVCMDQyRTQ4MENCODgzMDAwNDRBCis6MTBEQ0MwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMUI2ODBGRjgwMzlDQTRCCis6MTBEQ0QwMDAwREU4MDNENjQwRTcwNDNCNjY0RTcwMDNCODAwRkYwMTMxCis6MTBEQ0UwMDAzRkMwNkNGMDAzNzAwNkU3MDAzMTA0MEZDMTQzRjgwMDM5Cis6MTBEQ0YwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMDg1MDBDQjQwMzI5MDIyCis6MTBERDAwMDAyRkIwMEI2NDgwRkIwOEJBMTAwREIwQTcyRDAwRkIwNEU4Cis6MTBERDEwMDAzRUMwOEVCMDAzNkQwMERCMDEzMjQwOEMzMzAzOTAwNEIzCis6MTBERDIwMDAyMDAwMDAwMDAwMDAwMDAwQzAwNTI0MDA4M0UwQTJEMDE1Cis6MTBERDMwMDA0MEIwMDIyNTA0QkY4MEEwNTAwOEY4MDIyMDAwOEIwMkVBCis6MTBERDQwMDAyRkQwMDhGMDAyMjQwMDhGODAzNjAxMDg4NDQyMzYwMDZDCis6MTBERDUwMDA0MDAwMDAwMDAwMDAwMDAwRTgwNTQ0MDA4MzQ4MjBDNEEzCis6MTBERDYwMDAwOTAwMDI0NjAwQjMwMUE4OTAxOTMwMTI4QzAwQTMwNEU4Cis6MTBERDcwMDAyRUUyMEFCMDAyMEMwMDgzNDkyOEMwMDkzQzAyMzgwMDk4Cis6MTBERDgwMDA1MDAwMDAwMDAwMDAwMDAwRjAwMTM2MDQ4MzgwMjFFMTEzCis6MTBERDkwMDAwODM4MTIxRTI4QjM5ODIxQTAxOTM4ODI5NjAwODc4MzZDCis6MTBEREEwMDAyREUyMDg3ODIyMzY4Qzg3ODAyREUwMDk3OTAyM0UwMDJBCis6MTBEREIwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODA0MDBDMzMwMzBDOEU0Cis6MTBEREMwMDA0RDAwMEI0QzgwRjMxMjM4QzAwRDNBMDI4QzgwRjMwMEVBCis6MTBEREQwMDAzQ0MwMEUzMDBCMEUwMEMzMEMzQUMwMEQzMDAzMTIwMkQzCis6MTBEREUwMDAwMDAwMDAwMDAwMDAwMDAwNDAxREI0MDZGRjEwM0ZDMDBFCis6MTBEREYwMDAwRkIwMTNCQzAwRkYxMDdGQzAwRUYxQTM3QzAwRkYxMjE4Cis6MTBERTAwMDAzRkMyMEZGNTIzQkM0MUVGMTgzNzgwQUVDMDAzNTAwNjY4Cis6MTBERTEwMDA2MDAwMDAwMDAwMDAwMDAwQTgwNUU0MDBEQjAwM0VEQTFFCis6MTBERTIwMDAwQzgwMDM2NjEwOEIwMDMyODA4Q0I2MDM0QTAwNEI4MDU2Cis6MTBERTMwMDAzMkM4MENCNDAzMEExMERCMDAzRUMxMENCMDQzMkEwMDA4Cis6MTBERTQwMDA3MDAwMDAwMDAwMDAwMDAwQzgxMUI0MDA4NzA0MkNDMDVFCis6MTBERTUwMDAwRDcwMDMxQzA4ODc0ODIwODEwRDcyODI1QzAwRDcwMDdBCis6MTBERTYwMDAyMUNDMjhGMDAyMUMxMDg3MjAyQzAwMDg0MDBBMzIwNDI0Cis6MTBERTcwMDA2MDAwMDAwMDAwMDAwMDAwODAwMDk2MDBCNzgxMkRFMEU3Cis6MTBERTgwMDAwODQ4MDIwRTA0ODc4MDIxRTAwODc4MDIzRTAxODc4MDVFCis6MTBERTkwMDAyMUUwMTg3OTAyM0EwMTk3QTAyRDYwMDgzODAyMjAwMDhECis6MTBERUEwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNEM2MDBBM0M2MkNDMERCCis6MTBERUIwMDAwOTMwMDIwQzAxODMwMDIwRTAwOTMwMDI0RTAwOTMwMDdCCis6MTBERUMwMDAyMEMwNDkzMDIyMEY2NDgzMDI2Q0Q0MjgzMDAyMTIwNDJGCis6MTBERUQwMDAzMDAwMDAwMDAwMDAwMDAwRTgxMUFCODBGQUUwM0M4ODUwCis6MTBERUUwMDAwQ0UwMDIyODAyQ0EwMEIzQTkwQ0EwMDMzQjEwQ0EwMDMwCis6MTBERUYwMDBBMjgwMENBMDBCMzgwMERBMDAzRkIwMENFNjAzM0EwNDE1Cis6MTBERjAwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEMwMjA5ODA4M0UwMEFCCis6MTBERjEwMDAwRjgwMEJFMTAwRjgwMTNDMTA0RjAwMDNBMDQwRjgwMDE3Cis6MTBERjIwMDAzRTEwMEU4MDAzRTAwMEY4MDAzQzAyMkYwNDkzRDIwMDY0Cis6MTBERjMwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEU0MDBDMUMxMzI0MEMxCis6MTBERjQwMDAwQzk4MDMyNjQwRjkwMDMyNDAwQzk4MDMyNDI0RjkwMDcxCis6MTBERjUwMDAzQzYwMEMxMDAzQTQwMEY5ODIzMjQwMEM5MDAzMDIwNEQwCis6MTBERjYwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY0MDA4OTAwMjI1MDlFCis6MTBERjcwMDAwRDk4MDIyNTgwQjkwMDIyNTIwRDlDMDIyNDAwQjkwMEEwCis6MTBERjgwMDAyRTYwMDg5MDQyMjQwMEI5NDAzNjQwMDg5MDBBMjAwMEQ0Cis6MTBERjkwMDAxMDAwMDAwMDAwMDAwMDAwMTgwNTI0MDA4RDAwMjM0MDQwCis6MTBERkEwMDAwODEyMDIyNDAwQTExMEEyNjAwODkyOEEyNDAwQjkwMTdDCis6MTBERkIwMDAyRTQ2MDg5MDAyQTQwMEIxNTAyMjQwMjg5MDgyMDYwMDBDCis6MTBERkMwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA0ODQ4NTIwQTFEODVGCis6MTBERkQwMDAwOTEwMDIwNDgwQjMyMDIwNDAyOTEyMDYwNDAwQjEwMTc4Cis6MTBERkUwMDAyQzQ4MjgxMjAyMDQwMEIxMjAyNDQ4MDgxMjAyMDIwMTIxCis6MTBERkYwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDYxNDI4QTAwQjMwMDdDCis6MTBFMDAwMDAwQzA1MDMyMTQwRTA1MEIyMDAyQzgwMDIyMTQwRjA1MDZBCis6MTBFMDEwMDAzQzE0MEM4NTEzQTE1MEY4NTAzMjE0MEM4NTIzMkUwM0E4Cis6MTBFMDIwMDA1MDAwMDAwMDAwMDAwMDAwOTgxREY0NDBGOTEwM0U0NDJDCis6MTBFMDMwMDAwRkQ0MEJGNDQ0RjkxMDNGNTA0RjExMDNGNDAwRjkwMEQyCis6MTBFMDQwMDAzRTQ0MEY5MTUzRjQxNEY5MTAzRjQ0MEZEMTAzRTYwMkZDCis6MTBFMDUwMDA3MDAwMDAwMDAwMDAwMDAwOTgwNUU2QTBERDg4QjM2NkFGCis6MTBFMDYwMDAwQ0RDODMzNjg4QkRBMDM3NkEwQ0RBMEIyNTAyQzk0MDY4Cis6MTBFMDcwMDAzRjc4NEY5OEIzRTUwNENEQTA3Mjc4MENEODhCMjYxNDY2Cis6MTBFMDgwMDA3MDAwMDAwMDAwMDAwMDAwMzgxMEUzMDA4ODQyMjIzMUQ4Cis6MTBFMDkwMDAwODBBMDIyMkEwQjhGOTIyMTAwRDg0MTI2QTgwODg4MDMyCis6MTBFMEEwMDAyRTIwMEIwODAyRTI4MEE4QThBMjM4NDhBODAyMEUwMDgxCis6MTBFMEIwMDAzMDAwMDAwMDAwMDAwMDAwNDgwNUM0QTI4MTAwMjA0ODk0Cis6MTBFMEMwMDAwODEyNDI0NTAwQjEwMDI0NDAwOTE0MDIyNDAwODEyMEI2Cis6MTBFMEQwMDAyQzU4MEIxMDgyQzQwNDkxNDA2NDZDMDgzMDgyMTIwNUU1Cis6MTBFMEUwMDA3MDAwMDAwMDAwMDAwMDAwMTgxNUE0MDA4OTAwMjI0MTAzCis6MTBFMEYwMDAwODkwOEE2NDgwQjkwMDIyNTAwOTkwMDY2NDA4OTkwMDRCCis6MTBFMTAwMDAyRTQwMEI5MDA2QzQwMUI5MDIyNjYxODg5MDAyMDYwNEQ1Cis6MTBFMTEwMDA2MDAwMDAwMDAwMDAwMDAwQTAxNUU0MDBDOTAwMjI0MERCCis6MTBFMTIwMDAyQzk0MjM2NDAwQjkwMDM2NDAwOTkwMTMwNTAwQzkwMEZGCis6MTBFMTMwMDAzRTQwNEY5MDEzRTVDMEQ5MDAyNjQwMkM5NDAzMjgwMEEwCis6MTBFMTQwMDA3MDAwMDAwMDAwMDAwMDAwNjgwMUE0MDJFOTA4M0M0MEUzCis6MTBFMTUwMDAwRjkwMEJBNDAwRjEwMDNFNDEwRjkwNDNBNDg4RTkwNDA2Cis6MTBFMTYwMDAzRTQwMEY5MDAzRTYwMEUxMDAzQTQwOUY5MjYzREEwMEUwCis6MTBFMTcwMDA2MDAwMDAwMDAwMDAwMDAwMjgxMDgwMTBFMDAxMzIwMDY0Cis6MTBFMTgwMDA4RjgwMDMyMDAwRDgwODMwMDE4QzAwMDNFMTAyQzgwNDBFCis6MTBFMTkwMDAzRTAwMEM4MDBCMjEwMEM4MDA3ODAwMEY4NjAzMEEwMEE3Cis6MTBFMUEwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNTI4MDA4RTQwMkI4MjdGCis6MTBFMUIwMDAwQkEwMDIzQTAwOEU4MDIzODIwOEUyMDIyODEwOEEwMDE3Cis6MTBFMUMwMDAyRjk4MjhBMDEyMjgwMDhFMjAyRTgwNEJFNDAyMEEwMEVGCis6MTBFMUQwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTRDMDJBMjQwMjA4MDAyCis6MTBFMUUwMDAwQkIwMDI0RTQwOTNDMEEwMjAwODM2MDI4QzAwOTMwMDcyCis6MTBFMUYwMDAyQ0UyMDgzMDA2NEMxMjkzMDgyOEMwMEJCMDAyMEEwMDJCCis6MTBFMjAwMDA1MDAwMDAwMDAwMDAwMDAwQTAwMTFDMDg4MjQwMjk0MENFCis6MTBFMjEwMDAwQjcwMDI1RTA4ODQwODIzNDAwODcwMDYxQzgwODcwMDhCCis6MTBFMjIwMDAyRDIwMDg3OTEyNUMwMDk0MDAyREMwMEIzMDQyMjgwMDhDCis6MTBFMjMwMDA0MDAwMDAwMDAwMDAwMDAwQTgwODNFMDBFNDgwMzFBMTdBCis6MTBFMjQwMDAwRjU4MTM3NjAwRDA4MDMxQzAwQzM4MDNCRTgwRDc4MUMwCis6MTBFMjUwMDAzRjIwOEM3OTAzN0YwMUQ2ODAzOUU4NEY2ODAzMkEwMDdDCis6MTBFMjYwMDAwMDAwMDAwMDAwMDAwMDAwMDgxREJFMDBGQTAwM0UwMDkzCis6MTBFMjcwMDA4Rjk2MEJBNDAwRUEwMDNDQzAwRjkwMDNBQzIwRkI0MDNCCis6MTBFMjgwMDAyRTAwMEZCMjAzQURBMEVBMDAzRUMwMEZBMDFCQzIwNEQ3Cis6MTBFMjkwMDA2MDAwMDAwMDAwMDAwMDAwNDAwNUZFMDhERTgxMzNBNDlECis6MTBFMkEwMDAwRUZDMTMzRTAwRkM4MDEzMjAwQzY4MDMzRTIwRkZDOEM4Cis6MTBFMkIwMDAzRjYwMURGODAzN0UwMEM3ODAzM0UyMENEODAzMTAwMEQ2Cis6MTBFMkMwMDA3MDAwMDAwMDAwMDAwMDAwQTgxMTlDMDA4NjQxMzFDNENECis6MTBFMkQwMDAwODc5NDI5QzAwQkMxMDIxNDA4NTM1MDM1QzAwQjcwMEUyCis6MTBFMkUwMDAyREMwMDg3MjAyMkMwMEE3MDEzN0MwMDg1MTQyMkEwMDM1Cis6MTBFMkYwMDA2MDAwMDAwMDAwMDAwMDAwMTAwMDhDNDA4MjAwMjQ4MUJCCis6MTBFMzAwMDAwOEQ4MDIxNDIwQjUwMDIwNDAwOTYwMDIxQzQwQjcwMDY0Cis6MTBFMzEwMDAyQzQwMEIzMDIyREMwMDk3MDAyMUM0MDg0MDAyNDQwMDRFCis6MTBFMzIwMDAyMDAwMDAwMDAwMDAwMDAwNjAxNEVDMDA5MjA2MjA5MDI1Cis6MTBFMzMwMDAzODE1MDI4NjAwQjgwMDYwNTAwOTMwMDI0RTAxQkIwMDVCCis6MTBFMzQwMDAyRTQwMEIzMDAyQ0UyMEIzMDAyNEYwNDgwMjBBNTgwNEJECis6MTBFMzUwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNUJDMDBDQTAwQTY5NDEwCis6MTBFMzYwMDAyQzkwMDMyRTAwRkIwNUIyODUwRDkwMDMzRjkwRkYwMDFCCis6MTBFMzcwMDA3RTgwMUZGMDQzRkMyMTlBMDAzM0M4M0NCMjAzNkEwNDNDCis6MTBFMzgwMDA2MDAwMDAwMDAwMDAwMDAwOTAwMEVDMDJFQTQwM0Q4MEM4Cis6MTBFMzkwMDAwRjEwOTNFRDAwRkI0MDNFOTA4RjMwMDNFQzgwRkIwMEFDCis6MTBFM0EwMDAzRTkxMUNCMDAzMkMxMEU4MDAzRUM4MUY5MDAzQTUxMDNFCis6MTBFM0IwMDAzMDAwMDAwMDAwMDAwMDAwODAxMEZDMDJFNDAwNzNBMEE4Cis6MTBFM0MwMDAwQ0ZDMDM3QzAyRkYxMDEzQzQxQ0MwMDMzQzAwRkYwMEM0Cis6MTBFM0QwMDAzN0UwMERGMDAzRkMwMEVEODAzMUMwMEMzMjYzMjAwNDA3Cis6MTBFM0UwMDAzMDAwMDAwMDAwMDAwMDAwODQwMDZDMDA4QUMwMjJCMUYwCis6MTBFM0YwMDA4QUI4NDM0QTEwREIyMDIwRjAwQTk0MDM2QzAwQkIwNzY0Cis6MTBFNDAwMDAyMkI4MDhCMDAyRUMxMUU4QzBCMkMwMkE5MjFBMjAwMDZCCis6MTBFNDEwMDAxMDAwMDAwMDAwMDAwMDAwODAwMTJDMDBBQTgwMjI5ODVCCis6MTBFNDIwMDAwODkwMDIyRjAzQkIwMTJBODMwOEIyNEUyQzA0QUIwMkQyCis6MTBFNDMwMDAyMkM0MjhCMDIyRUMwOUIzNTA2MkMwMDhCMDAyMjAwMDA4Cis6MTBFNDQwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDBDMDE4MzAwNjA4MDEwCis6MTBFNDUwMDAwODEyMEE0NDAwOTMwMDJBODA0QTMwMDIwQzAwQjMwMERDCis6MTBFNDYwMDA2MEMwMDgzMDAyQ0MwMEIzMDI2MEMwMDgwMDQ2MDIwMTYwCis6MTBFNDcwMDAwMDAwMDAwMDAwMDAwMDAwODAwRDZDMDBFODAyMjI4MDE3Cis6MTBFNDgwMDAyQ0YyNDMyQzAwRkIwMEJBQzAwOEE1MDIzQzAwRUYwMEIwCis6MTBFNDkwMDAzNkMwNERGMDEzRkQ1MUZCMDAzMkMwMENCMDAzMjAwMTFCCis6MTBFNEEwMDA1MDAwMDAwMDAwMDAwMDAwQTAxREZDMDA3RTA0M0Y4MDIyCis6MTBFNEIwMDAwRjMxNDNGMDAyRkYwMDM3QzAwRkYwMDNGQzA4RkYwMEVDCis6MTBFNEMwMDAzRkMwMEZGMDAzRkMwMEVGMDAzQkMwMEZDMDAzRTgxNjk1Cis6MTBFNEQwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUYyNDBGQzgwM0YyNEY2Cis6MTBFNEUwMDAwREQ4NTNENjA0REYzMjNGQ0M0Q0MwNDNGQzAwREY2MDc0Cis6MTBFNEYwMDAzN0MwMEZDNDAzN0NEMERGMjAzM0Q4MERGODQzRjAwMEMxCis6MTBFNTAwMDA3MDAwMDAwMDAwMDAwMDAwODAxOEU4ODBCMDAxMkUwOEI0Cis6MTBFNTEwMDA4ODkwMDJFQzIwOEI3MDJGQ0MwOEIzODJGREUwQkY0MEM2Cis6MTBFNTIwMDAyMkQ4MEI5MzAyRkRDMEFGMTAyOEYwMDhCQzEyRjAwNEYzCis6MTBFNTMwMDAzMDAwMDAwMDAwMDAwMDAwODgwNUM0MDBCMDAwMkUwMTdCCis6MTBFNTQwMDAwQTEyODJFQzgwQjMwMDJDQzgwQTAwMzI4QzAwQTMzMDdGCis6MTBFNTUwMDAyMEQyMDkwMDAyOEM4MDgzMDAyOEQ4MEIzNDEyRjIwMUVCCis6MTBFNTYwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUFDMDFCODAyMkUwMEUxCis6MTBFNTcwMDAwQTkwMTJFQzEwOEIwMDJFQzAwQUIwMDBFQzAwQjMwMDIxCis6MTBFNTgwMDAyMkMxMEI5MjAyQ0MwMUFCMDAyQUMwMDJCMDAyRjAwNEZGCis6MTBFNTkwMDA2MDAwMDAwMDAwMDAwMDAwNDAxNUUwMDBGQTBDM0VDMEUyCis6MTBFNUEwMDAwRkEwMTNFRTIwREIwMDNFQzAyRTg4NTNFQzAwRkIwMEQyCis6MTBFNUIwMDBCMkMwOEZBQzgzQUMwOERCMDAxQUMwNEZCMDAzQzAwNEZDCis6MTBFNUMwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMUI4MDBGRTAwM0ZDMDQ1Cis6MTBFNUQwMDAyREUwMDNGRTgwN0YwMDNGQzAwREQyMDNGQzAwQkYwMTkxCis6MTBFNUUwMDAzRUMwMERDODAzRkMwQ0ZGMDAzRkMwMDlGMDIzRjgwMDNCCis6MTBFNUYwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMEE0MDBGQTQwMzJDMTlBCis6MTBFNjAwMDAwRkEwMDMyOTA4REIwMDNFQzAwRTg1MDNFQzIwQ0IwMEUxCis6MTBFNjEwMDAzQUMwMEVBNDAzRUMwMEZCMDAzQUMyMEVCMDAzMTAwNDkzCis6MTBFNjIwMDAyMDAwMDAwMDAwMDAwMDAwQzgwNTJDMDBCQTYwMjBDMEQ3Cis6MTBFNjMwMDAwQkEwMDIwODAwQUYwMDJGRDAwQkI1MDJGRTAyOEYwMDI2Cis6MTBFNjQwMDAyRkMwMEQ4MDBBM0MwMEI3MDAyM0MyMDVGMDIyMzYwMDFGCis6MTBFNjUwMDA0MDAwMDAwMDAwMDAwMDAwQzAwNDQwMDBCMTg4MjAwMDFECis6MTBFNjYwMDAwQjEwMDIwQzAwODMwMDJFQzgwQjA4MDY0RDQwODMwMERGCis6MTBFNjcwMDAyMEMwMDgzMDA2MEMwODkzMjAwQUUwNEEzMDAyMzgwMDE3Cis6MTBFNjgwMDA1MDAwMDAwMDAwMDAwMDAwMjAxMDVBMDBCNTkwMjEyMDJBCis6MTBFNjkwMDAwQjU4NDIzRTAwQTc4MDJERTAwQjY5MDJERTQwODc5MkI2Cis6MTBFNkEwMDAyREUwMDkxODAyOUUwMUI3ODAyOUUwMDM3MDAyM0UwMEE4Cis6MTBFNkIwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODQ0MDBGMTAxMzAwMDY0Cis6MTBFNkMwMDA1RjE4MDMwQzEwODMwMDNDQzQwRTA0MDNFQzAwODMwMEFECis6MTBFNkQwMDAzMEM0MEMzMTAzOEMwMEYzMDAzOEM4MEUzMTAzMTIwMjMxCis6MTBFNkUwMDAwMDAwMDAwMDAwMDAwMDAwNDAxNUJDMDBGRDA0QkYwNDU1Cis6MTBFNkYwMDA0RjU4MDNGODA4RUYwODNGQzAwRkYwMDFGQzAwRkY0QzMzCis6MTBFNzAwMDAzRkMxMEZEMDAzM0MwMEY3MDAzN0MyMEQ3MjAzRDAwNkEzCis6MTBFNzEwMDA2MDAwMDAwMDAwMDAwMDAwMDgwNUUyMDBEQjAwMzJDMERECis6MTBFNzIwMDA0REE4MDMyQzA4RkIwMDdFQzg4RkIwMEI2RjQ1RUJDMkQxCis6MTBFNzMwMDAzNkMwMDdBMDAzRUYyMENCNTBCMkMwMEM3OTAzMkEwMEVCCis6MTBFNzQwMDA3MDAwMDAwMDAwMDAwMDAwNDgxOTk4MDA4RjAwMjFDMEYwCis6MTBFNzUwMDAwQjYwMDM1QzAwMzcwMDJERDIwQjMwMDIwQ0E4ODcyNDFECis6MTBFNzYwMDAyMUQwMDk3MDAyREQ4ODg3MkEyM0U4MDg3MDAyMzIwNDZDCis6MTBFNzcwMDA2MDAwMDAwMDAwMDAwMDAwMjAwMEI2MDA5NzgwMjFFMDRCCis6MTBFNzgwMDAwQjY4MDIxRTAwQjc4MDJERTg4QjQ4ODIxRTgwQTM4NDkwCis6MTBFNzkwMDAyNUU4MEI2ODAyQ0UwMjg3ODAyMUUwMDg3QTAyMjAwMDdCCis6MTBFN0EwMDAyMDAwMDAwMDAwMDAwMDAwNjgwNENDMDg4MzgyMjBFMDA0Cis6MTBFN0IwMDA4QjJBMDI0ODQwQjMwMDJDQzAwQjMwODIwQzAwODMwMDJGCis6MTBFN0MwMDAwMEMxMDkzMTAyQ0MwMDgzMDAyMEMwMDgzMDBBMTIwNEM1Cis6MTBFN0QwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUU4MDBEQUEwMzJBOEQwCis6MTBFN0UwMDA4REE4MDMzQjAwRkEwMDNFODAwRkU0MDM2ODAwRUEwMkI0Cis6MTBFN0YwMDAzNjgwMEZFNDAzRTgwMENBMDAzMjgwMkNBMDAzM0EwNEZDCis6MTBFODAwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMUEwMTBGODAwQkUyMEQ5Cis6MTBFODEwMDA4RkMxMDNFMDI0RjgwMDNFMTAwRjg0MDNFMDAwRjgwMUVDCis6MTBFODIwMDAzRTAwMEY4MDAzRTAwMEY4MDFCRTEwMEY4MDAzRDIwMDBECis6MTBFODMwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEE0MDBGOTQwMzI0MDQxCis6MTBFODQwMDBDRjkwMDNFNDAwQzkwMDBFNTAwRjFBMDMyNjAwRjkwMDEwCis6MTBFODUwMDAzRTQwMEY5MDgxRTQwMEY5ODAzMjQwMEM5MDAzQzIwNEU2Cis6MTBFODYwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY0MDRCMTA0MjI0MDc1Cis6MTBFODcwMDAwQjkwMDJFNDAwQTkwMDJFNTMwQjkyMEEyNjQ4QjkwNDFCCis6MTBFODgwMDAyRTQwMEI5MDAyRTQwMEI5ODAwMjUwMDg5MDAyRTAwMDk0Cis6MTBFODkwMDAxMDAwMDAwMDAwMDAwMDAwMzgwNTI0MDBCRDAwMjM0MEU3Cis6MTBFOEEwMDAwQkQwMTJDNDAwODkwMjJFNDAwQjkwMjIyNDAwQjkwMDI0Cis6MTBFOEIwMDAyRTQwMEI5MDAyRTQwMEIxMjAyMDQwNjg5MDIyQzYwMDU4Cis6MTBFOEMwMDA0MDAwMDAwMDAwMDAwMDAwMjgxNDE0MDBCRjEyQTE0MDA2Cis6MTBFOEQwMDAwQjUwMDJDNDAwQTEyMDJDNDgwQjEyMDIwNDEwQjExMUVECis6MTBFOEUwMDAyQzQ4MEIxMzIyQzQwMEIxNDAyMDVBMDgxMDAyQzIwMTY4Cis6MTBFOEYwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDYxNDBGODQwMzIxNDM0Cis6MTBFOTAwMDAwRjQ1MDNFMTQwQzg1MDNFMTU4Rjg1MDMyMUU4Rjg2OEE0Cis6MTBFOTEwMDAzRTE0MEY4NDAzRTFFMEYwMjgzMkE4Q0M4MDIzRUUwM0ZDCis6MTBFOTIwMDA1MDAwMDAwMDAwMDAwMDAwOTgxNUM0MTBGOTIwM0U0MDdGCis6MTBFOTMwMDAwRjkwMDNGNDAwRjkxMDNFNDQwRkQxMDNFNDAwRjkyMEQ2Cis6MTBFOTQwMDAzRTQ0MEZEMzAzRTQwMEY5MDBCRTQwMEY5NDAzRTYwNkYzCis6MTBFOTUwMDA3MDAwMDAwMDAwMDAwMDAwMTgxNUU0MDBGRDEwMzM0MEI2Cis6MTBFOTYwMDAwQ0QwMDMyNDAwRDkwMDNGNDA0Q0QwMDNGNjAwRkQ5MEFBCis6MTBFOTcwMDAzQTQwMEM5MDAzRTZBMEZEQTgzNzY4MENEODgzMjYwMDI3Cis6MTBFOTgwMDA3MDAwMDAwMDAwMDAwMDAwMzgxMEUwMDhDOEEwMjIwMDVECis6MTBFOTkwMDAwODgwMDIyMDAwODgwMDJFMDAwQzgwMTJFMDAwQjg4MDYxCis6MTBFOUEwMDAyMjAwMEQwQTAyRTM4MEIwQzAyMDM0MDg4NDAzNEUwNDI0Cis6MTBFOUIwMDAzMDAwMDAwMDAwMDAwMDAwNDgwMDg0MDlBMTAwMjA0MTUwCis6MTBFOUMwMDAwODkwMDIyNDAwOTEwMDJDNDAwODEwMDJDNTAwQjE2MDlDCis6MTBFOUQwMDAyMDQwMDgxMEEyQzQyMEIxMjgyNDRBMDgxMDAyNTIwMTg1Cis6MTBFOUUwMDA3MDAwMDAwMDAwMDAwMDAwMTgxNEE0MDE4MTAwQTI0MDgzCis6MTBFOUYwMDBBODkwMDAyNTQwODkwMTJDNDAwODk0MDJFNDAwQjkwMDQ5Cis6MTBFQTAwMDAyQTQwMDk5MDAyRTQwMUI5MDQyMjQxNDg5MDAyNDYwNEQ4Cis6MTBFQTEwMDA2MDAwMDAwMDAwMDAwMDAwQTAxNEE1MjBFOTAwMzI0MEMyCis6MTBFQTIwMDA0QzEwMEIyNjAwRDkwMDNFNDAyQzk4MDNFNDAwRjkwMDVFCis6MTBFQTMwMDBCMjQwMEM5MDAzRTQwMEY5MDAzNjQwMkM5MDAzNjgwNEM3Cis6MTBFQTQwMDA3MDAwMDAwMDAwMDAwMDAwNDgwMUE0MDBFOTAwM0U0MDAyCis6MTBFQTUwMDAwRjkwMDNFNjAwRjkwMDNFNDAwRTlBMDNFNDAwRjkwMDJGCis6MTBFQTYwMDAzNjQwMEY5MDAzRTQwMEY5MDAzQzQwMEY5MDAzREEwMEI5Cis6MTBFQTcwMDA2MDAwMDAwMDAwMDAwMDAwMDgxMEExMDBGODAwMzIwMDUzCis6MTBFQTgwMDAwRjgwMTNBMDAwQzgwMDMyMDQ4QzgwMDNBMEMwRjgwMERGCis6MTBFQTkwMDAzQTAwMEY4MDAzMjAwMEMwMDkzMjAwNEM4MDAxMEEwNEI0Cis6MTBFQUEwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNTI4MDBCRTAwMjA4MDkzCis6MTBFQUIwMDAwQkUwMDI4ODAwQUEwMDAzQTAwQUU2MDJGQTAwOEEwMDFFCis6MTBFQUMwMDAzMjgwMEJBMDAyMjgwMDhFODBBMzgwMjgyMDAyOEEwMEJBCis6MTBFQUQwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTZDMDBCMzQ4MjA0MDAyCis6MTBFQUUwMDAwQjEwMDIwQzAwODMwMDIwQzAwODM0ODI4RTA0OTkwMEIxCis6MTBFQUYwMDAwQUMwMUIzMDAyMEMwMjkwNTAyMDYwMDgzMDAyMEEwMDRECis6MTBFQjAwMDA1MDAwMDAwMDAwMDAwMDAwODAxMTFDODBCRDBBMjE0ODU4Cis6MTBFQjEwMDAwQjUyMDI5QzQwQTNBMDIwODAwQTYwMDJDRTAwODUyMEY4Cis6MTBFQjIwMDAyMUM0MEI3QTA2MUU4MDk1MjAyMTkwMDg3MDAyMjgwMENGCis6MTBFQjMwMDA0MDAwMDAwMDAwMDAwMDAwODgwODFFODBGNzgwQjE3OUM2Cis6MTBFQjQwMDAwRkRCMDIzRTIwQzdBMEIxNjBDQzc4MTM5NjAwRjFGMDM1Cis6MTBFQjUwMDAzOUUyMEY3QjEzMEYwMEQ0QTAzMTYwMkM3MDAzMkEwMjFFCis6MTBFQjYwMDAwMDAwMDAwMDAwMDAwMDAwMDgxNUFDMDBGNzAwM0U0MDY3Cis6MTBFQjcwMDAwRjkwMDNFRDgwRkIxMDNFNDAwQkIwMjNFQzAwRjkyMDFBCis6MTBFQjgwMDAzQUQ4MEZCMDBCRUQ4MUVEMTAzRTgwMEYzMDAzQzIwNjc2Cis6MTBFQjkwMDA2MDAwMDAwMDAwMDAwMDAwMDAwNEJFMjBFRTgwMzM2MDMyCis6MTBFQkEwMDAwQ0Q4ODMxRTAwNkY4MDMzRTAwRkI4MTEzMjA0RjU4MDVCCis6MTBFQkIwMDAzM0UwMEZGODgzMkY0MEZFODBCM0UwMENGODAzMTAwMDIxCis6MTBFQkMwMDA3MDAwMDAwMDAwMDAwMDAwQTgxODlDMDBCQzAwQTE0NEQ4Cis6MTBFQkQwMDAwODEwMDM1QzAwOEYwMDIxODAwQkVBMjIxQzgwQjUwMTI1Cis6MTBFQkUwMDAyMUMwMEJGMDAyMUU4MEJFMDAyMzgwMkE3MDAyMkEwNDdFCis6MTBFQkYwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDlDMjBBNzAwMjM0MEVGCis6MTBFQzAwMDAwQjUwMEEzQzAwQTcwMDI1QzAwQTQzMDIxMDAwQjUwMEMzCis6MTBFQzEwMDAyMUMwMEI3MDgyMUM4MEI0MDAyMUMwMDg3MDAyMDQwMDY3Cis6MTBFQzIwMDAyMDAwMDAwMDAwMDAwMDAwMjAwNDhFMDRCMzAwMjI0MEY5Cis6MTBFQzMwMDAwOTE0MDI0QzAwODMwMDIwQzAwQjI0ODIwNDAwQjEwMEEwCis6MTBFQzQwMDAyMEMwOEIzQTAyMkMwMUIwMDAyMDgwMEEzMDAyMUEwNDQ2Cis6MTBFQzUwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNTlFMDBFQjA0MzM0MEM3Cis6MTBFQzYwMDAyRERDMDMxRDYwRUYwMDMyMDBDRjlBMDMyODAwRkQwMDY5Cis6MTBFQzcwMDAzM0MxOEJGQzBCM0MwMEZDMDAzMjgwMEM5MDAzMkEwNDU3Cis6MTBFQzgwMDA2MDAwMDAwMDAwMDAwMDAwODAwMEFDMTBGODAwM0U0MDcyCis6MTBFQzkwMDAwRTk4MjNBQzA0RkIwMDNDMDAwRjg0MjBFRDAwRjkwMDJCCis6MTBFQ0EwMDAzRUMwNEZCMDAzRUMwMEZEMDAzRTgwMEY5MDAzRTQwMDM3Cis6MTBFQ0IwMDAzMDAwMDAwMDAwMDAwMDAwMjExMEZDMDBDRjgwMzM0MDM1Cis6MTBFQ0MwMDAwQ0QwODNGQzAwRUYwMDNGNDAwQ0YxNDEzMDEwQ0QwMDMwCis6MTBFQ0QwMDAzRkMwMDA3MDEzM0MwMEU0MDBCMUQwMEMxMDAzMjAwNENFCis6MTBFQ0UwMDAzMDAwMDAwMDAwMDAwMDAwQTEwNDJDMDA4QUU0MkE0MDRCCis6MTBFQ0YwMDAyODkwMDJFQzAwOEIwMDNFMDIwQTgwMDIyQzgyODkwNERDCis6MTBFRDAwMDAyRUMxMEFCMDBBMkMwMDg5MDIyMkYyMkE5ODAyMjAwMEExCis6MTBFRDEwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTJDMDI4MDE0MkE0MDMyCis6MTBFRDIwMDAwODkwMDJFQzA4QUIwNDJFODQwODEwODI4MDEwODkwMzNFCis6MTBFRDMwMDAyQ0MwNEFCMDIyMkMwMEFBMDAyMjgwMDg5MTAyMjAwMDk4Cis6MTBFRDQwMDA0MDAwMDAwMDAwMDAwMDAwMDgxNDJDMDA4MDAwMjg0MDUzCis6MTBFRDUwMDAwODExMDJFQzAwODMwMDJDODEwQTAwNUE4ODAwMDEwMDhGCis6MTBFRDYwMDAyQ0MwMEEzMDAyMEMwMDgyMDAyMDgwMEExMDAyMDIwMTJFCis6MTBFRDcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDZDMDBDOTAwM0E0MEQ3Cis6MTBFRDgwMDAwQ0Q0MDNGQzAwRUIwMDNFNDAwQzkyMDNBMDAwNEQwMEFECis6MTBFRDkwMDAzRkMwMEVGMDMzM0M4MEU4MDAzMkMwMEM5MDAzMjAwM0VCCis6MTBFREEwMDA1MDAwMDAwMDAwMDAwMDAwQTAxMUZDMDBGQzAwM0Q0MEVECis6MTBFREIwMDAwRjUwMDNGQzAyM0YwNDNCMDE0RkM0MTM3MDAwRkQwMEUxCis6MTBFREMwMDAzRkMwMUZGMDAxRkM0MEZDMDAzRkMwMEZEMDEzRTgwNjFECis6MTBFREQwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUY4RTBGRjgwM0RDMEFBCis6MTBFREUwMDAwREYzODJGMDgwRkY0MDMxQ0IwQ0YzMDNGRDA0RUZDMTQzCis6MTBFREYwMDAzM0UwMEY3OTAzRkUwMENGNDIzM0YwNENGODAzMzAwMENDCis6MTBFRTAwMDA3MDAwMDAwMDAwMDAwMDAwRTAxMEU5MDhCOTgxMkZGMDU4Cis6MTBFRTEwMDAwOEY0NTJFOTIwQkY0MDIzRjAwQUYzMDJGRDA4OEIwMEZBCis6MTBFRTIwMDAzNkUwMEI4MDIyRTg4MDhGNDAyMkMwMDhCMDgyMzAwNDk4Cis6MTBFRTMwMDAzMDAwMDAwMDAwMDAwMDAwQzgwNUNDMDBCMTgwMkNDNUU3Cis6MTBFRTQwMDAwOTMyNDJDOEMwQjMzMTIwQzEwODMyMDJDQ0Q0QkIyMDQxCis6MTBFRTUwMDA2OEMwMEIzMDAyQ0MyMDkzNjAyMDg4MDgzMjAyMzIwMTU3Cis6MTBFRTYwMDA3MDAwMDAwMDAwMDAwMDAwRTAxNUEwMDBCQjgwMkVDMDc0Cis6MTBFRTcwMDAwOEIwMDJFQTAwQkIwMDYyQzEwQUIwMDJDQzAwQUIwMERECis6MTBFRTgwMDAyRUMwMEJBMDAwRTgwMDgzMDAyMkMxMDgzMDAyMzAwNDJECis6MTBFRTkwMDA2MDAwMDAwMDAwMDAwMDAwMDAxNUU4OTBGQjgwM0VDMDBDCis6MTBFRUEwMDAwREIwMDNFMjEwRkIwMDMyQzA0Q0IwMTNFQzAwRTk1NDhCCis6MTBFRUIwMDAzQUMwMEZCMDAzRTYwMENCMDBCMjQwMENCMDAzMDQwNDJDCis6MTBFRUMwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMUI4MDBGRjAwM0ZDMDNCCis6MTBFRUQwMDA4RkYwMDNGMDAwRjcwMkJGQzEwRkYwMjNGQzAwREYwNjQ0Cis6MTBFRUUwMDAzN0MwOEZDOTA3RkE5MkZGMDQzRjUwMkZGMDAzRjgwMDk0Cis6MTBFRUYwMDA2MDAwMDAwMDAwMDAwMDAwNTAxMEFDMDBDOTAwM0VDMkRECis6MTBFRjAwMDAwRUIwMjNFNDAwRUIwMDNBQzgwRUIwMDNFQzAwRjkwMEE5Cis6MTBFRjEwMDAzRUMwMEZCNDAzQTQwMEZCMDAzRTgwMEZCMDgzRDAwNEJBCis6MTBFRjIwMDAyMDAwMDAwMDAwMDAwMDAwQzgwNTI4MDA4Qjc0MkRDMEUwCis6MTBFRjMwMDAwOEYwMDJFNDAwOEYwMDIxRjAwOEYwMDJGQzEwRDMwMDdBCis6MTBFRjQwMDAyRUMwMEI5MDEyMkMwMEVGMDAyRUMwMEJCNjAyRjYwMDY0Cis6MTBFRjUwMDA0MDAwMDAwMDAwMDAwMDAwRTgwNTQ4MDBBMzAwMkNDNEE5Cis6MTBFRjYwMDAwQTMwMDJDMDAwQTMwMDY4RjAwQTMwMTJDQzA0QTIwMEVDCis6MTBFRjcwMDAyQ0MwMEIzMDAyRUMwMEIzMDEyRUMwMEIzNDAyRjgwMEExCis6MTBFRjgwMDA1MDAwMDAwMDAwMDAwMDAwQjAwMTBDMDA4NzgwMkRFODU4Cis6MTBFRjkwMDAwODc4NDJEQTAwODc4MDI1RTAwODc5MDJDRTAwOTY4MDYyCis6MTBFRkEwMDAyREUwMEJEOTAyREUwMEE3ODAyREUwMEI3ODAyRkMwMERCCis6MTBFRkIwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODBDNDBFMzEwM0NDMDg2Cis6MTBFRkMwMDAwQTM4MDNFODAwRUIwMDM4QzIwQTMwMDNDQzAwRTM0MDAzCis6MTBFRkQwMDAzQ0MwMEYzNDAzQ0QwMEYzMjAzQzg4MEYzMDAzRDIwMjM1Cis6MTBFRkUwMDAwMDAwMDAwMDAwMDAwMDAwNDAxREI0ODBGRjA0M0ZDODg2Cis6MTBFRkYwMDAwRkYwODNGODQwRkYxODNCQzAwRkY0ODNGQzAwRUUwMkQzCis6MTBGMDAwMDAzRkMwMEZGMDAzM0MwMEVGMDgzRjgwMEZGMDEzRDAwNjI1Cis6MTBGMDEwMDA2MDAwMDAwMDAwMDAwMDAwODgwNUU4MDBDQjAwM0VGMjIwCis6MTBGMDIwMDA0REIyMTNFODA0Q0IwMTMyRjg0REIyMTM2RDIwRjgwMDU1Cis6MTBGMDMwMDAzRUMwMEYzMDAzMjQwMEZCMDAzRTQwOEZCODAzMkEwMDdGCis6MTBGMDQwMDA3MDAwMDAwMDAwMDAwMDAwQzgxMThDMDA4NjAwMkNDMDc5Cis6MTBGMDUwMDAwODczMDJEODEyODczMDIwQ0IwOEYyMDIxRDA1QjUwMEQ0Cis6MTBGMDYwMDAyREMwMEI2MDAzNTAxMEI3MDkyREMwMEJGMDAyMzIwNDA1Cis6MTBGMDcwMDA2MDAwMDAwMDAwMDAwMDAwODAwMDlFMDA4NzgwMkRFNEZBCis6MTBGMDgwMDAwOTdBMDJDRTAxODc4MDIxRUMwOTc4MDI1RTgwQjdDMDQwCis6MTBGMDkwMDAyREUwMEJGODAyMUUwMEI3QTAyRDYwMEI3ODAyMjAwMEI3Cis6MTBGMEEwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNEVFMDA4MjgwMkNDMDA4Cis6MTBGMEIwMDAwODMwMDJFQzAwODMwMEEwQzAwODMwMDIwQzAwQjM4MENFCis6MTBGMEMwMDAyQ0MxMEIzMDAyNEUwMEIzMDAyQ0YxMEIzMDBBMTIwNDlECis6MTBGMEQwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUJBODBDNjAwM0U4MDQ1Cis6MTBGMEUwMDAwREEwMDNGODQwQ0EwMDMyODAwREEwMTM2ODAwRkUwMjk0Cis6MTBGMEYwMDA3RTgwMEZFRDgzMzkxMEZBMDAzRjhDMEZBMDAzM0EwNDk1Cis6MTBGMTAwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEUwMTJGODkwM0UwMDlGCis6MTBGMTEwMDAwRjgwMDNFMDAwRjgwNTNFMDAwRTAwMDNFMDAwRjg4MEQ5Cis6MTBGMTIwMDAzRTAwMEY4MDAzRTA2MEY4MDA3RTAwMEY4MDAzRDIwMEY1Cis6MTBGMTMwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEU0MDBDOTgwMzI2NEM0Cis6MTBGMTQwMDAwRjkwNDNFNDA2QzEwNDNBNDAwRjkwMDNFNDAwRTkwMDQ1Cis6MTBGMTUwMDAzMjQwMEY5MDAzMjQwMEMxMDEzMjQwMEM5MDAzQzIwNERFCis6MTBGMTYwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY0MDA4OUMwMjI0MERDCis6MTBGMTcwMDAwQjkwMDIyNDAwODkwMDIyNTAxQjkwMjIyNDAwODEwMDYxCis6MTBGMTgwMDAyMjQwMEI5MDIyMjQwOEM5MDAyMDQwMDg5NDAyRTAwMDhECis6MTBGMTkwMDAxMDAwMDAwMDAwMDAwMDAwMTgwNTI0MDA5OTIwMjI0MDAzCis6MTBGMUEwMDAwQjEwMDJBNDAwODkwMDJBNTgwQjkwMDI4NDAwQTkwMEM5Cis6MTBGMUIwMDAyMjQwMEIxMDBBMDQwMDk5MDIyMkMxMDg5MDgyQzYwMDY2Cis6MTBGMUMwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA0MDA5MTAyQTBDOEY0Cis6MTBGMUQwMDAwQjEyMDIwNDgwODEyMjIwNDg5QjEyMDIwNDkwODkwMUI0Cis6MTBGMUUwMDAyMDQwMEIxMDAyMDQwMjgxMjIyMjQwMDgxMDAyQzIwMUJBCis6MTBGMUYwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDYxNDJEQTAxMzIwMTk5Cis6MTBGMjAwMDAwRjg1MDNBMTQwQzA1MDNBMDE4Qjg1MjNBMTQ0RTg1MEVCCis6MTBGMjEwMDBCMjAwMEY4NTAzMjE0OEQ4NTEzMjE0MkM4NTAzRUUwMzI4Cis6MTBGMjIwMDA1MDAwMDAwMDAwMDAwMDAwOTgxREY1MDBFRDAyM0U0NDczCis6MTBGMjMwMDAwRjkxMDNGNDQwRjkxMDNFNDQwRjkxMDNFNDQwRkQwMEE4Cis6MTBGMjQwMDAzRTQwMEZEMDAzRjQwMEU5MTBCRjQwMEY5MDAzNjYwNjY0Cis6MTBGMjUwMDA3MDAwMDAwMDAwMDAwMDAwMTgwNUU2MjFDNTAwMzM2OEJBCis6MTBGMjYwMDAwRjlBMDM2Rjg4QzlDMDMzNjgwQzlFMDMyNzgwRDk0MDZBCis6MTBGMjcwMDAzRTQwMEY5MDAzQzUxMEQ5RTgzNjUwMENEMDAzRTYwMDhECis6MTBGMjgwMDA3MDAwMDAwMDAwMDAwMDAwMzgxMEUxMDg4ODAwODIwMEQzCis6MTBGMjkwMDAwQjhFODJFQkM4ODhFMDIyMDAyODg4NDJBMjgwOEE4MEY4Cis6MTBGMkEwMDAyMjAwMEJBQTAyRTIwMDg4QzAyMkE5MDg4QTAzOEUwNDY5Cis6MTBGMkIwMDAzMDAwMDAwMDAwMDAwMDAwNDgwNUM0MDA4MTAwMjBEMDlDCis6MTBGMkMwMDAwQjExMzI4NDg0ODE2MDYwNTAwODE2MDYwNTAwOTEyMDdECis6MTBGMkQwMDAyMDQwMEIxMDgyRTQwOTkxMjAyNDQwMDgxMEMyRDIwMTgyCis6MTBGMkUwMDA3MDAwMDAwMDAwMDAwMDAwMTgxNUE0MDQ4OTA0MjI0MEVBCis6MTBGMkYwMDAwQjkwMDJDNDAwQTkwMDIyNDEwMDkwMDJBNDAwODEwMEVBCis6MTBGMzAwMDAyMjQwMEI5MjIyRTU4MDk5MDEyMjYxMDg5MDAyODYwNDM2Cis6MTBGMzEwMDA2MDAwMDAwMDAwMDAwMDAwQTAxNEE1ODI4MTkwMzI0MDJGCis6MTBGMzIwMDAwRjkwMTM2NzAyQzkwMDMyNDAwQzkwMjMyNDA0RDlDMDA3Cis6MTBGMzMwMDBCMjQwMEY5QzAzRTYwMEQ5MDAzNjUwMEM5MDAzRTgwNDVECis6MTBGMzQwMDA3MDAwMDAwMDAwMDAwMDAwNjgwMEE2ODBGOTAwM0U0MDQ4Cis6MTBGMzUwMDAwRjkwMDNFNzAwRDkwMEJDNDIwRjkwNTNFNDA0RjkxMDZBCis6MTBGMzYwMDAzRTQwMEY5ODAzRTYwNEUxMDAzRTQwMkY5MDAzREEwMDkwCis6MTBGMzcwMDA2MDAwMDAwMDAwMDAwMDAwMjgxMDgxMTA0ODEwMzIwOEQyCis6MTBGMzgwMDAwQzgwMEYyMTAyQzgwMDNBMDQwRjgwMDc2MDAwRjg0MDhCCis6MTBGMzkwMDBCMjAwMEY4NDBCMjAwMEQ4MDAzNjEwMEM4MDAzQ0EwNDgyCis6MTBGM0EwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNDI4MDQ4RTgwMjM4MDM0Cis6MTBGM0IwMDAwOEEwNDIyODAwOEEwMDIzQTA0QkEwMDJFODAwQkEwMDVGCis6MTBGM0MwMDA3NjgwMEJBMDAyMDgwMDhBMDAzMjgwMDhFMDAzQ0EwMEExCis6MTBGM0QwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTRDMDA4MjAwMjBEMDAyCis6MTBGM0UwMDAwODMwMDIwQzAwOUIwMDI4QzAxQUIwMDI2QzAwQjMwMjY3Cis6MTBGM0YwMDAyMEMwMEIzMDAyMEMwMEEzMDAyMkMwMjgzNDgyQ0EwMEI3Cis6MTBGNDAwMDA1MDAwMDAwMDAwMDAwMDAwMjAwMTFDMDA4NzAwMjBFMEU4Cis6MTBGNDEwMDAwODc4MDIwQzAwOTcyMDI1QzAwQjcxMDJEQzgxQjcyMDEwCis6MTBGNDIwMDAyMUMwMEI3QTQyM0M4MDg3MjAyMUMwMDg3MDAyRTgwMDhFCis6MTBGNDMwMDA0MDAwMDAwMDAwMDAwMDAwMjgwODBFODJDNzgwQjFFMEY0Cis6MTBGNDQwMDAyQ0ZBMDYxRTA4RDNCMTM5NjA0RTc4MTI1RUEwRkZGMDg4Cis6MTBGNDUwMDAyMUUwMEZGODAzMUYwOEUzQTAzM0UwMEM2ODAzRUEwMjgxCis6MTBGNDYwMDAwMDAwMDAwMDAwMDAwMDAwMDgxREFDNDBGQjAwM0VDMDkyCis6MTBGNDcwMDAwRkIyMDNFREE4RUIxMDNBODAwRkIwQzNFQzQwRkIwMEQ1Cis6MTBGNDgwMDAzRUMwMEZCMDgzRUM4MEVCNzBCRUM0MEZCMDAzODIwNkE5Cis6MTBGNDkwMDA2MDAwMDAwMDAwMDAwMDAwNDAwNUZFMDBDRTgwQjM2MDY4Cis6MTBGNEEwMDAwRkZDODM3RTIwRUZCMDNCRTAwRkI4MDMzRTAwQ0Y4MTFFCis6MTBGNEIwMDAzRkUwOEZGODgzRUY0MEZGQzIzM0UxMENGODAzRDAwMDQ4Cis6MTBGNEMwMDA3MDAwMDAwMDAwMDAwMDAwQTgxMTlDODI4NzE4MjE4MEI1Cis6MTBGNEQwMDAwQjMwMDIxQzYwRDcxMDIxRDAwQjdCMDIzQzAwRDcwMDAwCis6MTBGNEUwMDAyREMwMEI3MDAyREUwMEJGMDBBM0M0MDg3MDAzQUEwNDg1Cis6MTBGNEYwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMEJDMTE4NzAwMjFDMDc3Cis6MTBGNTAwMDAwQjMwMDIxQzAwOTMyMDY5QzAwQjcwMDIxQzAwODcwMEE2Cis6MTBGNTEwMDAyREMwMEI3MTAyREMyMEI3MTAyMUMwMDg2MDAyODQwMEVFCis6MTBGNTIwMDAyMDAwMDAwMDAwMDAwMDAwNjAxNENEMDA4MzQwMjBDMEQ3Cis6MTBGNTMwMDA0QjMwMDIwQzAxODMwMDIwQzAwQjMwMDIwQzAwOTM4MDgyCis6MTBGNTQwMDAyQ0MwMEIzMDAyQ0MwMUIzMDAyMEMwMDgzMDIyOTgwNDNDCis6MTBGNTUwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNUJGMjBDQUMwMzI4MEEzCis6MTBGNTYwMDAwRkYwMDMzRTAwOUYwMDNBODAwRkYwMEIzQzAwQ0Y5ODU1Cis6MTBGNTcwMDAzRUMwMEZGNjAzRkYwMEZGMDAzMUUwMkNCMDAzQUUwNEU1Cis6MTBGNTgwMDA2MDAwMDAwMDAwMDAwMDAwODAwMENDODBGQjAwM0U1MEM2Cis6MTBGNTkwMDAwRkIwMDNBQzAyRkIwMDdFNTAwRkIwMDNFQzAwRkIwMDg5Cis6MTBGNUEwMDAzRUMwMEZCMjAzRUMyMEYzMDAzRUM2MEY5MDAzQTAwMDU0Cis6MTBGNUIwMDAzMDAwMDAwMDAwMDAwMDAwMDExMEZDMDJDRjk4NzNDODZBCis6MTBGNUMwMDAwRjcwMDMzQzAwRkYwMDMzMjgwRkIwMDIxQzAwNEYwMEY3Cis6MTBGNUQwMDAzRkMwMEZGMDAzRkMwMEZGMDEzM0MwMENFNDAzRTQwNDYwCis6MTBGNUUwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDZDMDA4MzgwQTJGODVFCis6MTBGNUYwMDAwQkIwNDIyQzAwQkIwMDMyMTAwRkIwMDM2QzA0QUIwMDA4Cis6MTBGNjAwMDAyRUMwMEJCMDEyRUMwNEVCMDAyMkMwNEE5NDgyRTAwMDQyCis6MTBGNjEwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTZDMDA4QTAwMjIwMDNECis6MTBGNjIwMDAwQkIwMDIyQzAwQjMwMEEyQzAwQjMwMDJBQzAwQUIwNDQ0Cis6MTBGNjMwMDAyRUMwMEJCMDQyRUMwMEJCMDAyMkMwMDhCMDIyRTAwMDlDCis6MTBGNjQwMDA0MDAwMDAwMDAwMDAwMDAwMDgwMDBDMDA4QjAxMjAwMEJBCis6MTBGNjUwMDAwQjMwMDYwQzAwQjMwMDIwQzAwQTMyMEFDQzAwQTMwMDE1Cis6MTBGNjYwMDAyQ0MwMEIzMDAyQ0MwMEEzMDAyMkMwNEEwMDEyQzIwMTAxCis6MTBGNjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODZDMDA4QjA0MjJDMEE1Cis6MTBGNjgwMDAwRkYxMDMxQzAwRkYwNDMyQzAwQkYyMDNCQzAwRUYwMEJCCis6MTBGNjkwMDAzRUMwMDdGMDAzRkM4MEZGMDBCMkMwMENBMDAzRTAwM0YzCis6MTBGNkEwMDA1MDAwMDAwMDAwMDAwMDAwQTAxOURDMDBGNTAwM0ZDMDgxCis6MTBGNkIwMDAwRkYwMDNGQzAxRkYwMjNCQzAwRkYxMDM3QzAwRkYwMEQxCis6MTBGNkMwMDAzRkMwMEZGMDEzRkM0MEVGMDAzRkMwMEZDMDAzRTgwNjNGCis6MTBGNkQwMDA3MDAwMDAwMDAwMDAwMDAwQzAxNUYyNDBDQzgwMzcyMDEwCis6MTBGNkUwMDAwQ0Q4MDNCMDQ0RkMwODNGMEUwRkMxMDNGQzAwQ0M5NEJGCis6MTBGNkYwMDAzRjBBMkVDNDAzN0Q4MENGMTAzRkMwMEZDMDgzMzAwMDZGCis6MTBGNzAwMDA3MDAwMDAwMDAwMDAwMDAwODAwOEUwOTA4ODAyMjI4MTY0Cis6MTBGNzEwMDAwODkyMTNBNDQwM0I2MDIyMTgwQjgxMDJGQ0Q0ODEwMEE0Cis6MTBGNzIwMDAzQUIwMEE5NDAyM0Q0MEFGNjMyRkRGMEI5ODAwMjAwNEVCCis6MTBGNzMwMDAzMDAwMDAwMDAwMDAwMDAwODgwNUUwMDA4ODAwMjA0MDQ0Cis6MTBGNzQwMDA4ODMwODJDMDAwQjAwODI4ODAwQTEwMDJDQzIwODAwMUQ2Cis6MTBGNzUwMDAyQzQwMUIwNjAyOEM5MDkzNjA2OEMwNEEwMDQyMjIwMTM0Cis6MTBGNzYwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUEwMDI4ODAwMjJDMDU4Cis6MTBGNzcwMDAwOEIwMDJFNDIwQkI4ODI2OTgwQjgwNDJDQzE4OEEwMDhGCis6MTBGNzgwMDAyRUMyMUI5ODAyQUMwMEFCMDAyRUMwMEI5ODgyMzAwNDM2Cis6MTBGNzkwMDA2MDAwMDAwMDAwMDAwMDAwMDAxMUUzQzBDQjAyMzIwMDU2Cis6MTBGN0EwMDAyQzgwMDNBRTA4QjkwMDNFNzAwRkI5MDNFQzAyNDg0ODQ0Cis6MTBGN0IwMDAzQ0MwMEY4QzkzRUMwMERCMDAxQUMwMEVBQzAzMTAwNEFECis6MTBGN0MwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMUIyMDBGRjAwQkI4MEZDCis6MTBGN0QwMDAwRkMwNDNCNjQwQkQwMDNCNjAwRkU4MDNGQzAwRkY5NDQwCis6MTBGN0UwMDAzQkU0MEU2MDBGNkMwOEVGMDEzRkMwMEY2MDAzRjgwMEIwCis6MTBGN0YwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMEExMDBGQjAwM0U2MDFGCis6MTBGODAwMDAwRkEwMDNFRDAwRjk0MDNBMDAwRjkwMDNFQzAyQzkwNDg5Cis6MTBGODEwMDAzMkQwMEY5MDAzMkMwOERCMDBCNkMwMERCNDAzRDAwNDI3Cis6MTBGODIwMDAyMDAwMDAwMDAwMDAwMDAwQzgwNTAwMDBCMzg5MkVFMEExCis6MTBGODMwMDAwQkE0MDNBNDAxQjkwMDJFMDEwQjkwNDJGQzEwODk1MEM3Cis6MTBGODQwMDBBMkMwOERCNDAyM0M0NDhGMDAyM0MwMDhCMDAyRjIwMDc1Cis6MTBGODUwMDA0MDAwMDAwMDAwMDAwMDAwQzAwNDBDMDBCMDgwMkUwMDNBCis6MTBGODYwMDAwQjEyMDJDODAwQkEwMDJDQzAwQjIwMDJDQzAwQTIwMDcwCis6MTBGODcwMDAyMDAwMkIyRDlBMkU0MjgzMDAyOEMwMDgyMDAyRjgwMDc5Cis6MTBGODgwMDA1MDAwMDAwMDAwMDAwMDAwMjAwMDFFMDRCNDgwMkRBMEU1Cis6MTBGODkwMDAwQjU4MDI5MjAwQjY4MDJERTAwQjY4MDJERTQwQTY4MDc1Cis6MTBGOEEwMDAyMTI0Mjk0ODAyMUU4MDg3ODA2OUUwMDg2MTAyQzgwMDdGCis6MTBGOEIwMDA0MDAwMDAwMDAwMDAwMDAwNDgxODBDMDBGMDMwM0M0Q0Y0Cis6MTBGOEMwMDAwRjMyMDNDODgwQjIwMDM4ODAwRjFCMDNFQzAwRTAzMDE5Cis6MTBGOEQwMDAzMDA0MEZCMTAzMEU4NUNCMDAzQUMwMEMzMTAzRDIwMkM1Cis6MTBGOEUwMDAwMDAwMDAwMDAwMDAwMDAwNDAxQ0JDMDBGQzExM0ZDNEYwCis6MTBGOEYwMDAwRkI4MTNCMDA0RkUwMjNGODAwRkMwMDNGRDAwREYxMkZCCis6MTBGOTAwMDAxRDA0MEZEMDQzQkMwMUVGMTAzM0M0MEVGMzAzRDAwNjI3Cis6MTBGOTEwMDA2MDAwMDAwMDAwMDAwMDAwMDgwNUVFMDBDQjAwM0UwMDgzCis6MTBGOTIwMDAwRjgwMDMyODAwRjgwMDNFNDAzREIwMDNFRjA4QzkwMEY3Cis6MTBGOTMwMDAzQTAwMENBMDAzRUM5OEZCMjAzMkQyMENBODAzMkEwMjU4Cis6MTBGOTQwMDA3MDAwMDAwMDAwMDAwMDAwNDgxMTlDMDA4NzAxMkQ4MDFECis6MTBGOTUwMDAwQjQwNDIxQzA0MzcwMEExNDAwODYwMDJDQzgwODcwMEE1Cis6MTBGOTYwMDAyRDgwMkU3MDAyRENBOUI3MjgyMUQwMDg3MDAyMTIwMDY5Cis6MTBGOTcwMDA2MDAwMDAwMDAwMDAwMDAwMjAwMEJFMDI4NzgwMkQ2MEIzCis6MTBGOTgwMDA0QkU4MDI1QTAxQjQ4ODI4RTA4ODc4QzJERTUyODZDMDZCCis6MTBGOTkwMDAyOTYwMDg2ODAyREU0MEIzOTJFMUU4MjgyODAyNzAwMDdFCis6MTBGOUEwMDAyMDAwMDAwMDAwMDAwMDAwNjgxNENDMDA4QjgwMkVDMEY2Cis6MTBGOUIwMDAwQjIwMDI0RDgwOUIyMDIwRTAwODM4MDJDQzAwODM4MDgxCis6MTBGOUMwMDAyQ0MwMEFCMDAyQ0MwOEIzMDAyMEMwMDgzMTAyNTIwNDk3Cis6MTBGOUQwMDAzMDAwMDAwMDAwMDAwMDAwRTgwNUE4MDBDQUUwM0U4MEZBCis6MTBGOUUwMDAxRkE0MEI3OTAwRkUwMDNGODIxREUwMDNFODAwQ0U0MDFCCis6MTBGOUYwMDAzQjg4MkNFNDAzRTgwMUZBMDAzMjgwMENFODAzN0EwNDI3Cis6MTBGQTAwMDA2MDAwMDAwMDAwMDAwMDAwNDgxMUEwMDBGODA5M0UwMDVFCis6MTBGQTEwMDA4RkMwODNBMDE4RjgwMDNDMjAwRjg4MDNFMDAwRjgwODhFCis6MTBGQTIwMDAzRTIwMEU4MDgzRTEwMUYwMDAzQzAwMEY4MDBCOTIwMDJECis6MTBGQTMwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEE0MDBGOTQyMzI0MDJECis6MTBGQTQwMDA0Qzk4MDMwNDAwQzkwMDNBNDAwRjkwMjMyNDAwQjk4MTY4Cis6MTBGQTUwMDAzQzQwMEM5MjAzMjQwMEY5MDUzMjQwNkM5MEMzQzIwNDcwCis6MTBGQTYwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDI0MTRCOTAwQTI1NEZCCis6MTBGQTcwMDAwODlCMUEyNDAyODkwMDIyNDAyODkwMDJBNDAwQjk5MDExCis6MTBGQTgwMDAyRTQwMjg5QzgyMjUwNEI5MDAyMjQwMDg5ODEyRTAwMEVDCis6MTBGQTkwMDAxMDAwMDAwMDAwMDAwMDAwMTgwNTI0MDBBRDAwMjM0MDA1Cis6MTBGQUEwMDAwODUwMDI2NDAwODkwMDJBNDAwODEwMDI2NDAwQjkwMDZFCis6MTBGQUIwMDA2RTQwMDg5MDAyMjUwMEE5MDAyMjQwMDg5MTA2QzYwMDY5Cis6MTBGQUMwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDE0MDBCNTEwQTE0NDJDCis6MTBGQUQwMDAyODUwMDI0NDgwODEzMDIwNDgwODEyMDI4NDQwQjE4MEJFCis6MTBGQUUwMDA2Q0M4MDgxMjAyMDQ4MEIxMzQyMDQ4MDgxMjAyQzIwMTE2Cis6MTBGQUYwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDYxNDBFODQwMzI5MEI2Cis6MTBGQjAwMDAwQ0M1MDM2MTQwQzA0MDNBMTQwRjg1MDMyMUIwRjg1MDgyCis6MTBGQjEwMDAzRTAwMEM4NTAzMjE0MEY4NDBCMDE0MEM4MDAzRUUwMTM4Cis6MTBGQjIwMDA1MDAwMDAwMDAwMDAwMDAwQjgxREM0MDRGOTIyMEU0ODc3Cis6MTBGQjMwMDAwRjEwMTNCNDQwRkQzMDNGNDQ0RkQxMDBFNDg0RkYwMTY3Cis6MTBGQjQwMDAzRDQ0MEZEMTBCRTQ0MEY5MzAzRTQ0MEZEMTAzRTYwNEFECis6MTBGQjUwMDA3MDAwMDAwMDAwMDAwMDAwMzgwNUU0MDBERDQwM0Y1MDY4Cis6MTBGQjYwMDAwQ0QwMDMyQzAwQzkwMDM2NDAwRjkwMTMyNzA0RjUwMTc4Cis6MTBGQjcwMDAzNzQwMENGMDAzRjYyMEY5QTgzMjY4MENEMDAzQzYwMDE5Cis6MTBGQjgwMDA3MDAwMDAwMDAwMDAwMDAwMTgwMEUwMDA4OEEwMkUyODhGCis6MTBGQjkwMDAyODgwMDIyMDAwODhBMDIyMDAwQjgwMEE2MjgwQjgwMDIyCis6MTBGQkEwMDAyMjAwMDg4MDAyRTEwMEI4RTAyMjNBMDhBMDAyQ0UwNDU4Cis6MTBGQkIwMDAzMDAwMDAwMDAwMDAwMDAwNDgwMDg0MDI4MTAwMkU0MDU4Cis6MTBGQkMwMDAwODEwMEE0NDAyODEwODI0NDAwQTEwMDI0NTgwQjkwMDQ2Cis6MTBGQkQwMDAyNDQwMjkxMDAyQzQwMEIxMDgyNDQ0MDgxMDAyQzIwMUM0Cis6MTBGQkUwMDA3MDAwMDAwMDAwMDAwMDAwMTgxNEE0MDQ4OTAxMkU1MEM5Cis6MTBGQkYwMDA0OEIyMDI2NDAwOTEwMDIyNDYwQjkwMDI2NDAwQjkwMUYxCis6MTBGQzAwMDAyNkMwMDlCMDEyRTQwMEIxMDAyNjQwMDg5MDAyQzYwNEU0Cis6MTBGQzEwMDA2MDAwMDAwMDAwMDAwMDAwQTAwNEU0MDBDOTAwM0M0MEI3Cis6MTBGQzIwMDAwQzkwMDM2NDAwQzkwMjM2NTAwRTkzMDMyNDAwRjk5MDJGCis6MTBGQzMwMDAzNjQ4MEQ5NDgzRTQwOEY5MDBCNjQwMEM5NDAzRTgwNEI4Cis6MTBGQzQwMDA3MDAwMDAwMDAwMDAwMDAwNjgxMEE0MDBFOTAwM0U0MEMxCis6MTBGQzUwMDAwRjkwMTNBNDAwRTkwMjJFNjEwNTkwMDNBNDAwRjkwMDlGCis6MTBGQzYwMDAzQTQwMEU5MDQzRTQxMEY5MDAzODQwMkY5MDAzQ0EwMDQ4Cis6MTBGQzcwMDA2MDAwMDAwMDAwMDAwMDAwMjgxMEEwMDBEODAxMzIwNDNECis6MTBGQzgwMDAwRjgwNDNDMDAxQzgwMEIyMDEwQzgwMDMyMDAwQzg0MEFGCis6MTBGQzkwMDAzMDAwOEM4NDgzRTAwMEM4MDAzMjAwNkM4NDAzQ0EwNDA2Cis6MTBGQ0EwMDAyMDAwMDAwMDAwMDAwMDAwMDgwNDI4MDBCQTAwMjM4MEEzCis6MTBGQ0IwMDAwQkVBMDJFODAwQUEwMDIyODAwOEEwMDIyODAwODYyMEExCis6MTBGQ0MwMDAzN0EwOERFNDAyRjgwMERBMDAyMjgwMDhBMDAyQ0EwMDAyCis6MTBGQ0QwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNTZDMDBCMzAwMjBDMEQ4Cis6MTBGQ0UwMDAwQkI4MDI0QzA0ODMwMDIwQzAwOEIwMDIwQzAyODMwMDUxCis6MTBGQ0YwMDAyMDQwMjgzNDAyQ0U5MDgzMDBBMEMwMDgzMDAyQ0EwMDAxCis6MTBGRDAwMDA1MDAwMDAwMDAwMDAwMDAwMjAwMTFDQzBCNTg4MjE0MDA4Cis6MTBGRDEwMDAwQjcwMDJEQzgwQTMyMDIxRTA0ODMyNDIwRTkwOEUwMTVECis6MTBGRDIwMDA2NTUwMDk3MDAyREUyMDkzMjEyMUMwMDg3MDAyRTgwMEFFCis6MTBGRDMwMDA0MDAwMDAwMDAwMDAwMDAwMjgxODFFMDBGRjgwQjFBMDU1Cis6MTBGRDQwMDAwRjQ4MDI3RTAwODdBMDMzRTAyODdBMEIxRjAwQzQ4MDkyCis6MTBGRDUwMDAzMTYwOEM1ODAzRkUwMEM3QzgzM0U4MEM1ODAzRUEwMjMwCis6MTBGRDYwMDAwMDAwMDAwMDAwMDAwMDAwMDgxREFDMDBGRjAwM0UwMDg1Cis6MTBGRDcwMDAwRjkwMjNFQ0EwRkI0MDNFQzA4RkI1MDNFRDgwRjgwMDUwCis6MTBGRDgwMDAzQzQwMEZCMDAzRTgwMEZCMDIzRUQwMEY5MDAzQzIwNkQ4Cis6MTBGRDkwMDA2MDAwMDAwMDAwMDAwMDAwNjAwNEJFMDBGRjgwM0ZFMDQzCis6MTBGREEwMDAwRkQ5MDNGRTIwQ0ZDODMzRUE4RkZDMDMzRjAwRkQ4MDRDCis6MTBGREIwMDAzRjYwMEVFODAzRjIwMENGODAyRkZFMEM3ODAzMDAwMEI2Cis6MTBGREMwMDA3MDAwMDAwMDAwMDAwMDAwQTgwMDlDMDBCNTAyMkRDMERCCis6MTBGREQwMDAwQjU4NDJEQzgwQ0YwMDIxQzEwQjMwMTIxQzQwQjQwMjEyCis6MTBGREUwMDAyRDQ2MDg3MTEyQzgwMEU3MDAyREM0MDg3MDAzNkEwNDhDCis6MTBGREYwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDlDMDBCNzAwMkQwMjIxCis6MTBGRTAwMDAwQjQ2MDJEQzA4OTcwMDIxQzkwQTMwMjIxQzAwQjQwMDBFCis6MTBGRTEwMDAyRDQwMEE1MDgyQzQwMEI3MDAyQ0M4Mjg1MDAyNDAxMDYwCis6MTBGRTIwMDAyMDAwMDAwMDAwMDAwMDAwNDAxNDhDMThCMzAwMkUyMEI5Cis6MTBGRTMwMDAwQjE4MDJDRjRBODNDMjIwQzEwQjM0MjIwQzA0Qjg1OERECis6MTBGRTQwMDAyQzQwMEIyODAyQzgwMEEzMDAyQ0MwMDgxNDAyNDgwNDUwCis6MTBGRTUwMDAzMDAwMDAwMDAwMDAwMDAwQTgwNUJDMDBGQjAwM0U4MDUwCis6MTBGRTYwMDAwRkEwMDJGQzAwREZBMEIzQzAwRUYwMEIzQzAwRkJDMEYzCis6MTBGRTcwMDAzQ0EwMEVCRDAzRUMwMEZGMDAzRkMwMEMzMDAzNkEwNDQxCis6MTBGRTgwMDA2MDAwMDAwMDAwMDAwMDAwQTAxMEVDMDBGOTAwM0UwMTNFCis6MTBGRTkwMDA4RkIxNDNFQzAwRjMwMDNFQzA0RkIwMTNFQzAwRkIwMDA5Cis6MTBGRUEwMDAzRTgwMEM4NDAzRTEwMDczMDAzRUMxMEZCMjQzRTAwMENBCis6MTBGRUIwMDAzMDAwMDAwMDAwMDAwMDAwMDE1MEZDMTBGRjgwMzdDMDNGCis6MTBGRUMwMDAwQ0UwMDNGQzIwRkYwODMzQzAwRkYwODNCQzAwRkYwMEYwCis6MTBGRUQwMDAzM0MwMkU0MDAzMUMwMUNGMDAxMUMwNENEMDAzMDA0NDlFCis6MTBGRUUwMDAzMDAwMDAwMDAwMDAwMDAwODEwNDZDMDRCMzAyMjI3MkE0Cis6MTBGRUYwMDAwOEExMTZFQzAwQkIwNDIyQzAwQkIwNDJFQzAwQkExOUZBCis6MTBGRjAwMDBCNkQwMDg5QzRBMjY4MERCMDAyMkMwMDg5MDAzNjA0MERGCis6MTBGRjEwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTJDMDBCOTEwNjIyMEQ1Cis6MTBGRjIwMDA0OEEwMDJFQzAwQkIwMDIyQzAwQkIwMDJFQzEwQkIwMEVBCis6MTBGRjMwMDA2NjA4MEFBODEyMjYxMDlCMDAyQUMwMjhCMDI2MjAwMEI2Cis6MTBGRjQwMDA0MDAwMDAwMDAwMDAwMDAwMDgwMDBDMDBCOTAwMjAwMDg0Cis6MTBGRjUwMDAwODMyMDJDQzA0QjMwMDIwQzA0QjMwMDJDQzAwQjMwMDA2Cis6MTBGRjYwMDAyMDAwMDgwMDAyMDEwMDkzMDAyOEMwMDgzMDA2NDIxMTVBCis6MTBGRjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAxQzZDMDBGOTAwQjI0MDBFCis6MTBGRjgwMDAwQzgyMDJEQzAxRkYwMEIyQzAwQkYxMDNCQzAwRjkwMERGCis6MTBGRjkwMDAyNjQwMkU4MDAzMjEwNENGMDBCQkMwMEM5MDAzMDAwMzM5Cis6MTBGRkEwMDA1MDAwMDAwMDAwMDAwMDAwQTAxREZDMDBGRDAwM0Y0MENDCis6MTBGRkIwMDAwRjgxMDNGQzAwRkYwMDNGQzAwRkYwMjNGQzAwRkMwMDlBCis6MTBGRkMwMDAyRDQwMkZDMDAzRjA4OEZGMDAzN0MwOEZEMDAzRTgwMjE4Cis6MTBGRkQwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUZFNDBGRjgwMzNDMjNBCis6MTBGRkUwMDAwQ0Y4MDM3Q0EwRkY5MDNGQzQyQ0I0MDNCQzgwQ0Y0MDJFCis6MTBGRkYwMDAzN0UwMEZGMTkzNkU0NEJGMzAzRjIwMkNGODYzRjAwNERDCis6MTA4MDEwMDA3MDAwMDAwMDAwMDAwMDAwODAxMEVDMDBFQjIwMjNGMDU2Cis6MTA4MDIwMDAwOEI4NTIzRDAwQjMwMDJFREMwOEY0NDIxQzQyOEI0MERECis6MTA4MDMwMDAyMkM4MEJGNjAzNkM4OEJCMzAyRTAwMDhCMjAyRTAwNEE1Cis6MTA4MDQwMDAzMDAwMDAwMDAwMDAwMDAwODgwNUNDMDBCQjA4MjBDMDA0Cis6MTA4MDUwMDAwODMwMDI0Q0EwQjMyMDI2ODA4ODM2MDJDQ0EwOTM2MDYyCis6MTA4MDYwMDBBNEMyMEEzMjQyNEM5MEIzMjAyQzBCODgzMDgyRTIwMTI5Cis6MTA4MDcwMDA3MDAwMDAwMDAwMDAwMDAwQzAxNUFDMDhCQjIyQTJDMEM4Cis6MTA4MDgwMDAwOEIwMDIyQzAwQkIwMDJFOTAwOEIwMDJFQzAwOUIwMDUwCis6MTA4MDkwMDAyMkMwMEJCMDAyNkMwMEJCMDIyRTIwMDhCMDAyRjAwMDIwCis6MTA4MEEwMDA2MDAwMDAwMDAwMDAwMDAwNDAxNUVDMDBCMTgzMzJDMDA5Cis6MTA4MEIwMDAwQzFBMDM2QzEwRkIwMDM0QzAwQ0IwMDNFQzA4REEwMDlGCis6MTA4MEMwMDAzNkMwMEVCMDBCNkMwMEZCMDAzRTI4MENCMDAyRDAwMDk2Cis6MTA4MEQwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMUJDMDBFRDgwM0ZDMDI3Cis6MTA4MEUwMDAwRkQ0MDNFQzAwRkYwMDNGQzgwRkIwMDMzQzAwRUU0MDhDCis6MTA4MEYwMDAzRkMwMEY3MDAzRkMwMEZGMDAzRjgwMEZGMDAzRjgwMDRCCis6MTA4MTAwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMEFDMDBGQjIwQjBDMDg4Cis6MTA4MTEwMDAwRkI0MDNBQzAyQ0IwMDMyOTAwRUIwMDM2QzAwRUIwMDQ2Cis6MTA4MTIwMDAzQUMwMENCMDAyRUMwMEZCMDAzRTkxMEZCMDAzOTAwMDhGCis6MTA4MTMwMDAyMDAwMDAwMDAwMDAwMDAwQzgwNTJDMDBCQjgwMjNEN0YxCis6MTA4MTQwMDAwQjkwMDIzQzE0OEIwMDZBMDgyOEYwMDBCQzAwODMwMEVFCis6MTA4MTUwMDBCRUMwODhGMDEzMkMwMEVGMDAyRTgwMEJCMDA3QjIwMEQ5Cis6MTA4MTYwMDA0MDAwMDAwMDAwMDAwMDAwRTAwNTRDMDBCMzQwMjBEMEJCCis6MTA4MTcwMDAwQjI4MDI4QzAwODMwMTIwQzAxQUI4MDA2QzEwQTEwMEVCCis6MTA4MTgwMDA2OEMwMkEzMDAyOEMwMEIzMDIyRTAwNEIzMDAyRjgwNDgzCis6MTA4MTkwMDA1MDAwMDAwMDAwMDAwMDAwMjAwMTFFMDBCN0EwMjFFMEY4Cis6MTA4MUEwMDAwQkVDQzIxRTA0ODc4MDI5RTQwODc5ODI5RTQwQUY5MEMwCis6MTA4MUIwMDAyOUUwMEEzODAwMUUwMEE3OTAyRDI0MEI3ODAyODgwMEMxCis6MTA4MUMwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODBDNTBGQjA5MzBDMENGCis6MTA4MUQwMDAwRjIwMDI4QzQwQzMwMDIwQzAwQTM4MDM0QzQ0RTEwMDQ5Cis6MTA4MUUwMDBBQUMwMEUzMTQzOEUwMEYzMDAzQzAwMEYzMDAzRDIwMkQwCis6MTA4MUYwMDAwMDAwMDAwMDAwMDAwMDAwNDA0REJDMDBGRjIwM0ZEMDA4Cis6MTA4MjAwMDA0RjcwMDNGQzAwRkYwMDNEQzAwRkYzNDNGQzQwRDcwMDVDCis6MTA4MjEwMDBCRkMwMERGNEMzRkM0MEZGMDAzRjQwMEZGMDAzRDAwNjg5Cis6MTA4MjIwMDA2MDAwMDAwMDAwMDAwMDAwQTgwNUVDMDBGQjAwMzJEMDU4Cis6MTA4MjMwMDAwRDkwMDFFREMwRkIwMDNFQzAxRkJBMDNBQ0MwQzgwMEVBCis6MTA4MjQwMDAzMkUwOERCNDQzRUMwMEZCMDAzNkEwMENCMDAzNkEwMEIyCis6MTA4MjUwMDA3MDAwMDAwMDAwMDAwMDAwNDgxMTlDMDBCNzAwMjFDODE5Cis6MTA4MjYwMDAwODYwMDJEQzIwQjcwMDJEQzAwRjc0QTIxQzI4RDYwMEM1Cis6MTA4MjcwMDAzNUMwMDg3MjAyNUMwOEI3NDRBMTgwNDg3MDAyMTIwMDQxCis6MTA4MjgwMDA2MDAwMDAwMDAwMDAwMDAwQzAwMDlFMDBCNzgwMjBFNEY1Cis6MTA4MjkwMDAwOTc4MjZERTAwQjc4MDJERTIwQTcwMTI4Qzg4ODE4MDcyCis6MTA4MkEwMDAyMUUwMDk3ODAyREUwMEIzQTAyNUEwMjg3ODAyNzAwNDNFCis6MTA4MkIwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNENDMDFCQjgwMjBDMDVBCis6MTA4MkMwMDAwODMwNDJFQzAwQjMwMDJDQzAwQTMwMjIwQzAwOTMwMEFFCis6MTA4MkQwMDAyNEMxMDgzMDAyQ0MwMEIzMDAyMEUwMDhCMDAyMTIwNDMwCis6MTA4MkUwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUE4MDBGQTA4QjI4MDg1Cis6MTA4MkYwMDAwREUyMDNFODAwRkEwMDNGODAwQUEwMDNBODAwQ0U1MDc4Cis6MTA4MzAwMDAzMjgwMDVBMDAzRTgwMEZBMDAzN0E4MENBMDAzN0EwNDI1Cis6MTA4MzEwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMDYwMDhGODAwM0MwMDE5Cis6MTA4MzIwMDAwRjg4MDFFMDAwRjgwNDNDMDA0RjAwMTNDMDAwRjgwMDgzCis6MTA4MzMwMDAzRTAwMEY4MDAzNjAwMEY4MDIzRTAxMEY4MDAzRDIwMDcwCis6MTA4MzQwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEU0MDBGOTkwMTI0MDI2Cis6MTA4MzUwMDAwQzkwMDNBNDAwQzkwMDNFNzAwRTk0MzMyNDA4QzkwMDk5Cis6MTA4MzYwMDAyQTQwMEI5MDAzRTQwMEY5MDAzQTQwMEY5MDAzMDIwNDA2Cis6MTA4MzcwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY0MDBCOTQyMjI2MDY4Cis6MTA4MzgwMDAwODEwMDIyNDAwODkwMzJFNDAwODkwMDJBNDAxODEwNEYxCis6MTA4MzkwMDAzRTQwMEI5MDAyRTQwMEI5MDIyMjQwMEU5MDAyMjAwMDAxCis6MTA4M0EwMDAxMDAwMDAwMDAwMDAwMDAwMTgwNTI0MDBCOTQwMkE0QTBGCis6MTA4M0IwMDAwODkxMDJBNDAwODkwMDJFNDAxQTkwMEEyNDA0ODkwMDIyCis6MTA4M0MwMDAyQTQwMEI5MDAyRTQwMEIxMDAyQTQwMEI5MDAyMDYwMDA0Cis6MTA4M0QwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA0MDBCMTAxQTg0OEFCCis6MTA4M0UwMDA4ODkwMDIwNDgwODE0MDJDNTAxODE0MEE4NDEwODk0MDFGCis6MTA4M0YwMDAyQzQwMEIxMDAyQzQwMDMxMjAyMDQwMEExMDBBMDIwMTU4Cis6MTA4NDAwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDYxNDBGMDUwM0EwMDhDCis6MTA4NDEwMDAyQ0EwMDJBMTQyQzgwMDNFMDBERTAwMjMyMTQyODgwMEI5Cis6MTA4NDIwMDAzODE0MEY4NTAzRTE0MEY4NTAzODE0MEYwNTAzMkUwMTZFCis6MTA4NDMwMDA1MDAwMDAwMDAwMDAwMDAwOTgxREU0MDhGRDAwMzY0NEQ0Cis6MTA4NDQwMDAwRkQwMDM2NDQwRjkwMDNENTAwRjk0MDNFNTAwN0Q0MEQ4Cis6MTA4NDUwMDAzRTQwMEY5NDAzRTQwMEY5MTAzRjQwMEU5MDAzRTYwNDAxCis6MTA4NDYwMDA3MDAwMDAwMDAwMDAwMDAwMTgwNUU0MDBGRDQwMzM2OEMzCis6MTA4NDcwMDAwQ0QwMDNFNzgxRjkwMDMzNzgwREQ4MTMyNkEwQ0RBMEU2Cis6MTA4NDgwMDAzMjQwMEQ5QjAzMjQwMEY5QTAzQzQ0MkM5MDA3ODYwMDQ5Cis6MTA4NDkwMDA3MDAwMDAwMDAwMDAwMDAwMzgxMEUwMDBCOEEwQTIxMDNBCis6MTA4NEEwMDAxODgwMDM4Mjg0Qjg4MDM2MkMyRTBGMDJBM0EwRDhFMDU3Cis6MTA4NEIwMDAzNjIyOEIwODAzNDJBMEY4RTAyRTI4MDg4ODAyQ0UwNDVBCis6MTA4NEMwMDAzMDAwMDAwMDAwMDAwMDAwMDgwNUM0MDBCMTAwQTA1MDBBCis6MTA4NEQwMDAyODMwMDJDNTgwQjEwODIwNDAwOTEwQTI0NDA4ODE0ODE0Cis6MTA4NEUwMDAyMDQwMEIxNDAyMDQ4MEIxMzgyQzQ4MDgxMjgyODIwMTBCCis6MTA4NEYwMDA3MDAwMDAwMDAwMDAwMDAwMTgxMUE0MDBCMTAwMjI0MDJDCis6MTA4NTAwMDAwODkyMDJFNDAwQjkwMjI2NTg0QTkwMDJFNDA4OTk0MDExCis6MTA4NTEwMDAyNjQwMEI5MDAyNjQwOEI5MDEyQzQ4MDg5MDEyQzYwNDRBCis6MTA4NTIwMDA2MDAwMDAwMDAwMDAwMDAwQTAxNUU0MDBGOTgwMzI0MDY3Cis6MTA4NTMwMDAwODk4ODNFNDA0QjkwMTMwNDAwRDkwMEI2NDAyQzkwMDJGCis6MTA4NTQwMDAzMjQwMEY5MDAzMjQwMEY5MDAxRTU4MEM5MDAzQTgwNDM5Cis6MTA4NTUwMDA3MDAwMDAwMDAwMDAwMDAwMjgwMUE0MDBGOTIwM0M0MDQ5Cis6MTA4NTYwMDAwRjk4MDNBNDAwQjkwMDNFNDI4RTEwNEI4NDA0RjkwMDFBCis6MTA4NTcwMDAzRTQwOEY5MDAzRTQwMEU5MDAzRTQwMEY5MDAzQ0EwMEE0Cis6MTA4NTgwMDA2MDAwMDAwMDAwMDAwMDAwMjgxMEEwMDBEODAwMzIwOEExCis6MTA4NTkwMDAwRjg0ODNBMDA0QzgwNDNFMDA4MzgwMDEyMDAwQzAwMDMzCis6MTA4NUEwMDAzMjAwMEYwMDAzQTAwMEM4MDAzMjEwNEU4MDEzQ0EwNDJFCis6MTA4NUIwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNTI4MDA4RTkwQTM4MDA1Cis6MTA4NUMwMDAwQkU0MDIyODAwQ0EwMDJGODA0QUEwMTNBODAwQUEwMENBCis6MTA4NUQwMDAzNjgxMEJBMDAyMjgwMDhBMDAyMjgwMDhBMDAzOEEwMEFFCis6MTA4NUUwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTRDMDA5M0MwMjBEMDhGCis6MTA4NUYwMDAwQjM0MDI4QzAwOEIwMDJDRjA4QjE4MDI0QzAwODMwMDkzCis6MTA4NjAwMDA2MEMwMEIzMDAyOEMwMjgzMDAyOEMxMEEzMDAyQ0EwMDBECis6MTA4NjEwMDA1MDAwMDAwMDAwMDAwMDAwQTAwMTFFMDBCNDBCNjlDMDYzCis6MTA4NjIwMDAwOTU4MDYxRTgwOTcxMDJGQzI0ODcwODI5QzgwQTcwOEE4Cis6MTA4NjMwMDAyNUNDMEI3MDAyMUU4MTg3QTJBQkM0MDg3MzAyRTgwMDMwCis6MTA4NjQwMDA0MDAwMDAwMDAwMDAwMDAwQTgwODNFMTBEQzg0MjFFMDhCCis6MTA4NjUwMDAwRjc4NDI5RjAyQzc4ODNERTAyRjcxMDM0RTAwQ0Y4MDA0Cis6MTA4NjYwMDAyMUUyMEY3ODgzOUU0OUNGRDAzOUU4MEU3ODAzRUEwMkUxCis6MTA4NjcwMDAwMDAwMDAwMDAwMDAwMDAwMDg0REFDNDBDQTAwMzYwMEI5Cis6MTA4NjgwMDA4RjMwMjNFQ0E4RUI0MDNDQzAwRjk2NDNFRDgwRkIwMEZECis6MTA4NjkwMDAzRUQ4OEZCMTQzRUQ4MEZCMjAzNkNBMEZCMEEzODIwNkNGCis6MTA4NkEwMDA2MDAwMDAwMDAwMDAwMDAwMDAwNUZFODBGQzgwMzFFMDVBCis6MTA4NkIwMDAwNUFBMTBGRTQ0RkY5MDNGRTFDRkY5MTczRjIwRDc4MDc1Cis6MTA4NkMwMDA4QkU0MEZGODAzM0UzMEZGODAzN0UwMEZGODAwNDAwMEU2Cis6MTA4NkQwMDA3MDAwMDAwMDAwMDAwMDAwQTgxMTlDMDBCRDEwMjFDMDI3Cis6MTA4NkUwMDAwODRBMDJEQ0MwQjcwMDJEQzIwQ0QzMDIxQzgwODcwMEYwCis6MTA4NkYwMDAyOUMwNEI3MjAyMUMwMEI3MDEyMUMwMEJGMDEyMkEwNEUyCis6MTA4NzAwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDlDOTAzNDAwMjE4MDA4Cis6MTA4NzEwMDAwOTcwMDA1QzBDQjcwMDJEQzQwODUwMUEwQzAwOTcwMEJCCis6MTA4NzIwMDAyMUMwNEIzMDAyMUMwMEI3MDAyNUMwMEI3MDAyNDAwMDc2Cis6MTA4NzMwMDAyMDAwMDAwMDAwMDAwMDAwMjAxNENDMDBCMDAwNjAwMDA5Cis6MTA4NzQwMDAwODNFMDJDQzAwQjMwMjBDRTAyQkIwMDIwQzAwOTMwMEY4Cis6MTA4NzUwMDAyOEMwMEJCMDAyMkMxMEIzMDAyMEQ2MDMzMDAyMDgwNDRFCis6MTA4NzYwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNUJDMDBGQjAwQjIwMEIzCis6MTA4NzcwMDAwNUJFMDM3QzAwRkYwMDNFMjAwQ0IwMDMzQzAwRDk4MDA2Cis6MTA4NzgwMDAzM0MwOEJGMDAzM0MwMEZGMDAzN0UwMEZGMDAzNkEwNEI2Cis6MTA4NzkwMDA2MDAwMDAwMDAwMDAwMDAwODAwMEVDMDBGQjA0M0UwMEQwCis6MTA4N0EwMDAwRkE0MjNDQzAwRkIwMDNFODEwODkwMDNFQzAwRTkxNEU5Cis6MTA4N0IwMDAzRUMwMEZCMDAzRUMxMEZCMDAzRUMwMEZCMDAzRTAwMDYyCis6MTA4N0MwMDAzMDAwMDAwMDAwMDAwMDAwMDExMEZDMDBGRjAwMzc4MEI2Cis6MTA4N0QwMDAwRkZBMDNGQzAwQ0YwMDNGOTAwNkRDMjMzQzAwRkQxMEE1Cis6MTA4N0UwMDAzM0MwMEZGMDBCM0MwMDQzMDAzM0MwMEZGMDAzQzA0NDE0Cis6MTA4N0YwMDAzMDAwMDAwMDAwMDAwMDAwODEwMDZDMDlCQjE5MjIzMjJCCis6MTA4ODAwMDAwQkJFMDM2QzAwOEIwMDJDOTAwREI4MDJBQzAwQjEwMEM1Cis6MTA4ODEwMDBGMkMwMEJCMDEyQUMwMDhCMDAyMkMwMEJCMDAzQTA0MDIyCis6MTA4ODIwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTJDMTBCMzAwMjYyMDdFCis6MTA4ODMwMDAwQjkwMTJFQzAxOEIwMDJBQzIwQTkwMDIyQzAwQkIwMEE0Cis6MTA4ODQwMDBBMkMwMEJCMDAyMkMwMEFCMDAyQUMwMEJCMDAyRTAwMEFCCis6MTA4ODUwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDBDMDFCMzAwMjAwMEVDCis6MTA4ODYwMDAwQjAwMDI4QzAwODMwMDJFQzAwQjM0MDI4QzAwQkIwMDc2Cis6MTA4ODcwMDAyMEMwMEIzMDAyMEQwMEEzMDBBMEMwMEIzMDAyODIwMTBCCis6MTA4ODgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDZDMDBCQjA0MzY4MEZBCis6MTA4ODkwMDAwRkIyMDJGQzAyQ0YwMjM4QzAwRUYwMDMzQzAwRkIwMDE2Cis6MTA4OEEwMDAyM0MwMEZGMDAzM0QwMkVGMDAzM0MwMEZGMDQzQzAwM0JECis6MTA4OEIwMDA1MDAwMDAwMDAwMDAwMDAwQTAxREZDMDBGRjAwM0YwMDcxCis6MTA4OEMwMDAwRkY0MjM3QzAwRkYwMDNGQzAwREQwMDNGQzAwRkYwMDJECis6MTA4OEQwMDAzQkMwMEZGMDAzRkM4OERGMDAzRkMwMEZGMDAzQTgwNjg5Cis6MTA4OEUwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUYwNTBDRTEyMzNEMDMwCis6MTA4OEYwMDA0Qzg2ODMzMDgwNUY2ODMzQzQwRkYzODMzQ0MwQ0MzODMwCis6MTA4OTAwMDBCMzA4MENDNjAzRjFBMEZGMDAzMzI0MENDMjAzRjAwMDJGCis6MTA4OTEwMDA3MDAwMDAwMDAwMDAwMDAwODAxMEVDODBEMjIwMjNEOEZFCis6MTA4OTIwMDAwRDk2MDI4ODYwQUY0MDIzREMwQkY2MDIzQ0MyODg2MEUzCis6MTA4OTMwMDAyMjUyMDg5MTIyRTEwMEI3MjRBMjQ4OEE4NDgyNjAwNDZFCis6MTA4OTQwMDAzMDAwMDAwMDAwMDAwMDAwODgwNUM0MDA4MTAwRTBDNDgxCis6MTA4OTUwMDAwQTAwMDIwNDgwQTMyMEE4QzAxQjMwMEEwQzAwQTAwMDVCCis6MTA4OTYwMDAyODBDMDkwMjAyQzQ4MEIzMUMyMjA4MTkwMzAyRTIxMTc4Cis6MTA4OTcwMDA3MDAwMDAwMDAwMDAwMDAwQzAxNUE0MDA5OTgwNjJDMEQzCis6MTA4OTgwMDAwQkEwMzJBNDUxQUIwMDJBQzA4QkIwMDAwQzAwQTlDMEQwCis6MTA4OTkwMDAyQTIxMDhCODIyRTIwMEJCMDAyMjg0MUJBODQyNzAwNEVFCis6MTA4OUEwMDA2MDAwMDAwMDAwMDAwMDAwNDAxNUUyMDBDQkM5MzJDMEFBCis6MTA4OUIwMDAwRThCMTMyMjEwREIwMTMyQzAwRkIwMEIyQzAwNjg4MTJDCis6MTA4OUMwMDAzQTIyMkM4ODIzRTMwMEZCMDAzMDMwOEQ5QzgzRDAwNEI2Cis6MTA4OUQwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMUJBNDBGNzA0M0VDMjUxCis6MTA4OUUwMDAwREQ4MjNEODAwN0IwMDM3QzAwRjcwMzNGQzEwRDIwMEE1Cis6MTA4OUYwMDAzNUMwOEZDMDAzRjQwMEY3MDIzRkUwMEU4MDAzRjgwMDlCCis6MTA4QTAwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMDgxMjBDODA4MzBDMDU1Cis6MTA4QTEwMDAwQzAwODMyNDQwQzM4OTNBQzAwRUIwMEIyQzA4Qzk0ODBGCis6MTA4QTIwMDA3MjU0MEY5MTAzRUQwMkVCOEEzQTYyOEM4MDBCMTAwNEIyCis6MTA4QTMwMDAyMDAwMDAwMDAwMDAwMDAwQzgwNTJCMDQ4ODQwQTNDMkVECis6MTA4QTQwMDAwMkFFMTIyNzQyOEY0NDIzQzIwQkY0MDIzRDAwMEE0MEJCCis6MTA4QTUwMDAyMkUwMEJCNTAyRUMyMDhGNDRBMjQwOERCRDIzMzIwMEYyCis6MTA4QTYwMDA0MDAwMDAwMDAwMDAwMDAwRTAwNTQ5NDA4MzgxMjRDMTZGCis6MTA4QTcwMDAwODI4MDIwMTAwOTMwMEEwRTgwQTMwODI4RjYwQjM5MEJBCis6MTA4QTgwMDA2MEI4MEIyODEyNEEwMDkzMDAyMDkwMDkyMDAyNzgwMDU5Cis6MTA4QTkwMDA1MDAwMDAwMDAwMDAwMDAwMjAwMTFFMDI4N0E4MjVFMDExCis6MTA4QUEwMDAwQTdCMDIxQTA0ODc4MDIxRTQwQjc4ODI4RTAyOTY5MTU5Cis6MTA4QUIwMDAyMTIxMEI2OTQwREI0MDk3OTIyM0EwODk1ODgyMDgwMDRFCis6MTA4QUMwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODI1ODJDMzAwMzRDMEI4Cis6MTA4QUQwMDAwQzlCNDMwOEQwRDMyMDM4QzAwRUIwMDM4QzAwQjMwMEU5Cis6MTA4QUUwMDAyMDgwMDcxMDAzRTAwMEQzMTAzODE4MEQzMDAzNTIwMjI1Cis6MTA4QUYwMDAwMDAwMDAwMDAwMDAwMDAwNDAxREI0MDA3RjIwMUJEMERCCis6MTA4QjAwMDAwRkYxMDNGODQwRUYwMDNGQzAwRkI0MDM3QzIwQ0YwNDA3Cis6MTA4QjEwMDBCRjQwMEZGMDAzRTQxMEVGMTgzREMwMEZFMDAzRDAwNjk0Cis6MTA4QjIwMDA2MDAwMDAwMDAwMDAwMDAwQTgwNUU4MDBFMzAwQjJDNEY3Cis6MTA4QjMwMDAwQ0EwMDMyNDAwREI2ODMyQzgwQ0I0MDNFQzgwQzg4MEFFCis6MTA4QjQwMDBCNkUwMENBMDAzMkUwMENCRTBCMjYwMENCODBCMkEwMEZDCis6MTA4QjUwMDA3MDAwMDAwMDAwMDAwMDAwNDgxMTlDMDI4NzAwQTFDOEJFCis6MTA4QjYwMDAwODcwMDIxQzA4OTcwMjIxRDQwODc0MDJEQ0MwMDcwMEI4Cis6MTA4QjcwMDAyMUMwODg3MDAyMTgwMDgzMDgyMUMwMDg1MDAyMTIwNDI2Cis6MTA4QjgwMDA2MDAwMDAwMDAwMDAwMDAwQzAwMDlFMjBBRDgwMjlFMEQxCis6MTA4QjkwMDAwODU4MDIxRTAwOTdCMDIxRTgwODc4MDJERTEwMTU4MDAwCis6MTA4QkEwMDAyMUExMDg0ODAyNUUwMDg3QTQ2NUEwMDg3ODAyMzAwMDcxCis6MTA4QkIwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNENGMTA4MTcwQThDMDAxCis6MTA4QkMwMDAzODMwMEEwRDAwOTMwMEEwQzEyODMwMDJDQzAyODM4OEZGCis6MTA4QkQwMDAyMEUwMzgzNDBBNEQ3MjgzMDAyNEU4MjgzNDgyMTIwNERECis6MTA4QkUwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUJBNDBFRUMwQkE4MDc2Cis6MTA4QkYwMDAwQ0UwMDMzOTEwREEwMDMyODAwQ0EwMDNFODAwREVDODc0Cis6MTA4QzAwMDAzM0EwMENFMDAzN0IwMENBMDAzN0IxMENFNDIzM0EwNDI0Cis6MTA4QzEwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEMxMDBGODAwMzYwMEJECis6MTA4QzIwMDAwRjgwMDNDMDIwMzgwMDNFMDAwRjAwMDNFMDAwRjgwMjcwCis6MTA4QzMwMDAzQTI0MEY4MDgzQTAwMUY4MDQzQTA0MEQ4MDEzRDIwMDc3Cis6MTA4QzQwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEU0NDRDMTAwMzI0MDgxCis6MTA4QzUwMDAwQzkwMzIyNDBDQzEwNjM4NDAwRDkwMDkwNDAwRDkwMDU0Cis6MTA4QzYwMDAzRTQwMEYxODAzMjQwMEY5MDEzRTQwMEY5MDAzQzIwNDU4Cis6MTA4QzcwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY0MDY4OTAwMkE1MEQzCis6MTA4QzgwMDAwODk0MEEyNDAwODk0MjIyNTAwQTkwMTIyNTAwODkwMDgzCis6MTA4QzkwMDAyRTUwMEI5QzBBMjUxMEI5MDAyRTUwMEI5MDAyRTAwMEJDCis6MTA4Q0EwMDAxMDAwMDAwMDAwMDAwMDAwMTgwNTI0MjA4OTAwMjA0MjY4Cis6MTA4Q0IwMDAwODEwQzJBQzEwODkwODJBNDIwOTkwMDIyNDIwOTkwMEE5Cis6MTA4Q0MwMDAyRTQyMEFCMTgyMkMyMEI5MDA2RTQyMEI5MDAyQzYwMERGCis6MTA4Q0QwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA0MDA4MzAwMjg0ODUxCis6MTA4Q0UwMDAwODEyNjI4QzgwODEwMDIwNDAwMjEwMDI4NDgwODEyMDYyCis6MTA4Q0YwMDAyQzQ5MEIxMjA2MDQ4NEIzMDI2QzQwMEIxMjAyQzIwMTExCis6MTA4RDAwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDQxRTBDODc4MzAxNEY5Cis6MTA4RDEwMDA0QzA1MTNBMTQyQzA3ODM4MUUwRDg3ODMwMTQwRDA1MDA2Cis6MTA4RDIwMDAzQzE0MEUwNTAzMDE0MEY4NzgzQzE0MEYwNTAzRUUwM0Q0Cis6MTA4RDMwMDA1MDAwMDAwMDAwMDAwMDAwOTgxREZDMDBGRjAwMEU0NEUxCis6MTA4RDQwMDAyRkYxMDM3NDQwRjkwMDNFNDAwRDkwMDM2NDQwRkQxMDg0Cis6MTA4RDUwMDAzRjQ0MEZEMTAxRjQ0MEY5MDEzRkMwMEZEMTAzRTYwNkIzCis6MTA4RDYwMDA3MDAwMDAwMDAwMDAwMDAwMTgwNUU2MjJFOTg4QjI0MDBCCis6MTA4RDcwMDAwRjkwMDMyNDE2Qzk4QzM2N0I4RjlDODNBNzkwQzkwMDYzCis6MTA4RDgwMDAzRTUwMDQ5NDEzMjQ1MEM5RTAzRTUwMEY5MDAzMDYwMDU3Cis6MTA4RDkwMDA3MDAwMDAwMDAwMDAwMDAwMzgxMEUyODA4OEEwMjIyODQ3Cis6MTA4REEwMDAwQjhBMDIyQTgwODhBNDIyMzAwODhFMEEyMjAyODhBMDE4Cis6MTA4REIwMDAyRTI4ODhBQTEyMjI5MDg4RjQyRTIwMEJDODAyMEUwNEI2Cis6MTA4REMwMDAzMDAwMDAwMDAwMDAwMDAwMDgwNUQ0MjBBNTA4MjE0MjYyCis6MTA4REQwMDAwQjUwODIxNDMxODUwODI1NDAwQTUwMjI5NDQwODUwOEEyCis6MTA4REUwMDA2RDQwMDg1MDAyNTQwMjk1MDAyRDQ4MEI1MDgyNDIwMUZDCis6MTA4REYwMDA3MDAwMDAwMDAwMDAwMDAwMTgxNTg0MDA4RDEwMjM0MDUyCis6MTA4RTAwMDAwQkQwMDAzNDAxOEQwMDIzNDE1OEQwMDIzNDAwOEQwODZFCis6MTA4RTEwMDAyRjUwMDhEMjAyNzQ4MDlEMDAyRjQ4MEJEQzAyNDYwNEJDCis6MTA4RTIwMDA2MDAwMDAwMDAwMDAwMDAwQTAxNUU3NDBFOUMwMzI0MEVCCis6MTA4RTMwMDAwRjkwMDkyNjAwQzkwNDM2NDAxRjkwMjNBNDA4Qzk0MDlBCis6MTA4RTQwMDAzRTQwMEM5NDBCNjQyMEQ5MDIzRTQxMEY5NDAzNjgwNDA5Cis6MTA4RTUwMDA3MDAwMDAwMDAwMDAwMDAwMjgwMUE0MDBGOTgwM0U0MERFCis6MTA4RTYwMDAwRjE0MDNDNTA4RjkwMDNFNDAxRjkwMjNFNDAwRjkwMEU5Cis6MTA4RTcwMDAzQzQwQUY5ODAzODYwMEU5MDAzRTQwMEYxMDBCOEEwMDhCCis6MTA4RTgwMDA2MDAwMDAwMDAwMDAwMDAwMjgxMEIwMDBEQzQwQjMwMENCCis6MTA4RTkwMDAwRkMwMDMzMTAyQzQwNEIxMDAzQzQwMDMxMDAwRkM0MDg5Cis6MTA4RUEwMDAzMzAwMENDNDAzQjEwMENDMDBCMzAwMENDNDAzQ0EwNEVCCis6MTA4RUIwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNTI4MDA4QTgwMjJBMDcxCis6MTA4RUMwMDAwQkEwMDIyQTAwOEE4NDIyQTEwOEEwMDIyODA4QkEwMTY1Cis6MTA4RUQwMDAyMjgwMDhBMDJCMjgwMDhBODAyQTgwMDhFMDAyQ0EwMDhECis6MTA4RUUwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTRDMDI5QjgxMjBFMEFCCis6MTA4RUYwMDA4QjM4MDZDRTAwOTM4MDIwQzAwODM4MDIwQzAwQjM4MDY3Cis6MTA4RjAwMDA2Q0UwMEFCMDAyNEMwMDkzMDAyMEUwMDgzMDAyQ0EwMDc2Cis6MTA4RjEwMDA1MDAwMDAwMDAwMDAwMDAwQTAwMTEwMDQ4MDA4MjEwMkExCis6MTA4RjIwMDA0QjQ0MDZEMDIwOTAwODIxMDI4MDQ0MDIxMDAwQjRDMEI3Cis6MTA4RjMwMDAyRDEwNDg0MDAyMDAwMDk0ODkyOTMwMDg0MDAyRTgwMEMyCis6MTA4RjQwMDA0MDAwMDAwMDAwMDAwMDAwQTgwODMyMDBENjgwMzFBMEQ4Cis6MTA4RjUwMDAwRkU4MEJDQTAwRDY4MDIzQTAwNEY4MEIxQTAwRkY4MDhDCis6MTA4RjYwMDBCRkEwMkVDODEzREEwMjVFODA3M0EwMkM3ODAzRUEwMjM5Cis6MTA4RjcwMDAwMDAwMDAwMDAwMDAwMDAwMDgxREFDMDBGOTAwM0U0MEE5Cis6MTA4RjgwMDAwRjkwMDMyNDAwRTkwMDNFNDAwRTgwMDNFNDAwRjgwMDQ3Cis6MTA4RjkwMDAzMjQwMEZCMDAzRTQwMUU5MDQzNjQwMEY4MDAzQzIwNkZCCis6MTA4RkEwMDA2MDAwMDAwMDAwMDAwMDAwMDAwNUZFMDBDRDgwMzM2MDdFCis6MTA4RkIwMDAwQ0Q4NDMzNjAwQ0Q4MDMzNjAwQ0Q5MjNCRTAwNEQ4MEUxCis6MTA4RkMwMDAzMzYwMDhGODBCM0UwMEZEODQzRjYwMEZGOTAzQzAwMERBCis6MTA4RkQwMDA3MDAwMDAwMDAwMDAwMDAwQTgxMTkwMDRERTAwMjM4MDUzCis6MTA4RkUwMDAwODYwMDJCODIwOEUwNDIzODAwODY4MDIxMDAwOEUyMERBCis6MTA4RkYwMDAyMzgyMDg0MDAyMTIwMEY2MDAyRDgwMEI0MUEwRUEwNEYzCis6MTA5MDAwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDkwMDA4NDAwMjEwMENCCis6MTA5MDEwMDAwODQxMDI1MDQwOTQwMDIxMDAwQTUyMDJEODAwODUwMjAzCis6MTA5MDIwMDAyNTA0MDg0MDIyMTgwOEI0MDAyRDEwMEI3ODQwQzAwMDE5Cis6MTA5MDMwMDAyMDAwMDAwMDAwMDAwMDAwMjAxNEVFMjI5MzAwMjBDMDU5Cis6MTA5MDQwMDAwODM4MDJFQzAwOTMwMDIwQzEyQTIwMDI2NDAyODIxMDNBCis6MTA5MDUwMDAyNEYwMEEzQzQyMjQyOEIzMDAyQ0UwMEI4ODgyQzgwNDg4Cis6MTA5MDYwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNUFEMDBDQjAwQjJDMDI5Cis6MTA5MDcwMDBBQ0JFMDM2RTAyREIwMEIyQzAxRUEwMDNFNDAwQ0ExMTQ2Cis6MTA5MDgwMDBCNkQwQUNCQzAzMjQwMEZCMDAzRUMwQ0Y4NDAzRUEwNDhFCis6MTA5MDkwMDA2MDAwMDAwMDAwMDAwMDAwODAwMEUwNDBGODAwM0MwMDlDCis6MTA5MEEwMDAyRjgyMDNBMDAwRTgwMDNFMDAxRDkwMTNBODAwRjkwMEU1Cis6MTA5MEIwMDAzQTAwODE4MzQzRTgwMEU4MDMzRTA0MEZCMDAzRTAwMDc4Cis6MTA5MEMwMDAzMDAwMDAwMDAwMDAwMDAwMDExMEUwMDBENjAwMzc4MEYyCis6MTA5MEQwMDAwQ0EwMDNGODAwQ0UwMDMzODAwREEwMTMyMDA4Q0UwMEIyCis6MTA5MEUwMDAzMzgyMEM0MDczMzAxOENFMDAxRjgwNEZDMTQzMDA0NEMwCis6MTA5MEYwMDAzMDAwMDAwMDAwMDAwMDAwODEwNDdDMDA4RDAwMjM0MDRGCis6MTA5MTAwMDAwQUQwMDJGNDAwOEQwMDIzNDAwOEQ0ODAzRTQyOEQ0MEY2Cis6MTA5MTEwMDAyMzQwMDhGMDAyM0U0MDhEMDAwRjQwMEJGNDAyMjA0MDM3Cis6MTA5MTIwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTJDMDA5OTAwQTY0MEZGCis6MTA5MTMwMDAwODkwMDZFNDAwOTEwMDIwNDA4ODAwMDIyNDA4ODA0MDQ2Cis6MTA5MTQwMDAyMDQwMEFCMDAyMjQwMDg5MDAwRTQwMEI4NDAyMjAwMDU3Cis6MTA5MTUwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDAwMDA4MjAwMjA4MEExCis6MTA5MTYwMDAwQTIxMDZDODAxODIwMDIwODAwODMyODIwODA4ODMwMDk0Cis6MTA5MTcwMDA2MDgwMEEwMDEyMDg4MDgyMDAyQzgwMEIzMDBBMDIwMUY1Cis6MTA5MTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDYwMDBEODAwMzYwMDY0Cis6MTA5MTkwMDAwQzg0MjNFMDAwQzgwMDMyMDAwRDgyMEIyMDAyQzgwMEJFCis6MTA5MUEwMDAzMjAwMEUwMDAzMjAwMkM4MDAzRTAwMEY4MDAzMDAwM0JGCis6MTA5MUIwMDA1MDAwMDAwMDAwMDAwMDAwQTAxREZDMDBCRjAwM0ZDMEU4Cis6MTA5MUMwMDAwRkYwMDNGQzAwRkYwMEJGQzA4RkIwMDNGQzA4RkYwMkRDCis6MTA5MUQwMDAzRkMwMERGMDAzRUQwMEZGMDIzRkMwMEZGMDAzRTgwNkIzCis6MTA5MUUwMDA3MDAwMDAwMDAwMDAwMDAwQzAwMUYwOENGRjAwM0Q2MDM2Cis6MTA5MUYwMDAyQ0IyODM3QzkwREYzODMxRTAwRkY4MDMzQzAwRkYyMDc1Cis6MTA5MjAwMDAzRkM0MEVGNDAzN0MwMEY0ODAzMzAwMERGODAzRjAwMDNCCis6MTA5MjEwMDA3MDAwMDAwMDAwMDAwMDAwODAxMEUxMjBCQjYyMkU0MkMwCis6MTA5MjIwMDAyOEY0NDIzRTQwOEY0NDIyRTAwQkIwODM3RjQ0QkZDMTBDCis6MTA5MjMwMDAyRERDMkFGNjAyM0Y0NUI4ODAyMjYxODhCODAyRTAwNDlFCis6MTA5MjQwMDAzMDAwMDAwMDAwMDAwMDAwODgwNUM1ODBCMjE4MkVDODVDCis6MTA5MjUwMDAyOTMwMzIwQzA4QjMyMDIwQzA0QjkyMDIwQzAwQjM0MERFCis6MTA5MjYwMDAyQ0MwODkzNDEyNEMwMEIwMDAyNEMxNDkzMDAyRTIwMTA0Cis6MTA5MjcwMDA3MDAwMDAwMDAwMDAwMDAwQzAxMUE0MDBCQTBDMkVFMDM1Cis6MTA5MjgwMDBBOUIwMDYyQzAwOEIwMEEyQzAwQjkwMDA2QzAwQkIwMEE0Cis6MTA5MjkwMDAyRUMwMEIzMDAyNkMwMEJBODAyNkYwMDhCMDAyRjAwNDM5Cis6MTA5MkEwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMUVFMDBGQkM0M0U3OEFBCis6MTA5MkIwMDAyREIwMDM2QzA4RkIwMDMyQzA4QjI0ODMyQzAwRkIwMDE0Cis6MTA5MkMwMDAzRUMwOEZCMDBCNkMwOEIyRTAxNjYwOERCMDIzRDAwNEE2Cis6MTA5MkQwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMUJFOThGRjQwM0ZDMEE5Cis6MTA5MkUwMDAwRTcwMDNEQzAwRkYwMDNGQzAwRkUwMDNGQzAwRkYwMDM2Cis6MTA5MkYwMDAzRkMwMEVGMDAzQUMwMEZFMDBCOUMwMEZGMDAzRjgwMDUxCis6MTA5MzAwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMEFEMDBGQTQwM0VEMEI4Cis6MTA5MzEwMDAwRUIyMDNFQzAwQzMwMDNFQzAwQ0EwMDMyQzAxRkIwMDA2Cis6MTA5MzIwMDAzQ0MwMEVCODAzRUMwMERBMDAzQUQwNEZCMDIzRDAwNEIyCis6MTA5MzMwMDAyMDAwMDAwMDAwMDAwMDAwQzgwNTJDMDBCQTAwMkNDMDZFCis6MTA5MzQwMDAwOEY0MDdCQzE0REYwMDNFQzAxQUEwNTJCQzAwQkYwNEUyCis6MTA5MzUwMDAzRkMwOEFGMDAzQkMwMEZBMDAyMkM4MEZCMDAzRjIwMDNECis6MTA5MzYwMDA0MDAwMDAwMDAwMDAwMDAwRTAwNTQ4MDFCMTAwNkNDMkIwCis6MTA5MzcwMDAwQTMwNDJDQzAwODMwNTJDQzAwODMwMDI4QzAxQjMwNEIzCis6MTA5MzgwMDAyQ0MwMEEzMDIyOEMwMDgwODAyOEMwMEIzMDIyRjgwMENDCis6MTA5MzkwMDA1MDAwMDAwMDAwMDAwMDAwMjAwMTFFMDhCNzgwNkZFMEIwCis6MTA5M0EwMDAxODc4MDI4RTQwQjc4MDJERTAwQTc4MDI5RTAwQjc4MEMwCis6MTA5M0IwMDAyOUUxMEE3ODAyOUUwMUJDODAyOUU0MEI3ODAyQzgwMEVBCis6MTA5M0MwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODA5NDBGMTIwM0NDNEIzCis6MTA5M0QwMDAwRTM5MDJDQzAwQzMwMDJDQzQwODkyMDM4Qzg4QjMxMDUxCis6MTA5M0UwMDAyQ0M0MEVCMDA3OEMwMEMyMDgzOEMwMEYzMDQzRDIwMjI0Cis6MTA5M0YwMDAwMDAwMDAwMDAwMDAwMDAwNDAxREJDMTBGQzAwN0ZDMDA5Cis6MTA5NDAwMDAwRkYwODNGQzIxREYwODNCQzA4RjkwMDFGQzIxRkYwQzkzCis6MTA5NDEwMDAzRkMyMEZGMTAzRUMwMEVGMDA3N0MwMUVGMDAzOTAwNjhGCis6MTA5NDIwMDA2MDAwMDAwMDAwMDAwMDAwQTgwNUU4MDFGOTAwMzJDMDVCCis6MTA5NDMwMDAwRkIyMDNFRTkwREJFMTNBQzA0RDM4MTMyRDMwRkIwMDQ0Cis6MTA5NDQwMDAzRUUwNEZCQTQzMkM0MEZBMDAzRkMwOENCMDAzRUEwMDI0Cis6MTA5NDUwMDA3MDAwMDAwMDAwMDAwMDAwNDgxMTlDMDBCMTAwMjFDMDE1Cis6MTA5NDYwMDAwQjcxMDJDQzIwQTcyODIxQzAwQjcwMTM1QzA4QjcxMDI5Cis6MTA5NDcwMDAyREM0NEIzNDgzMUNDMUI3MDIyREMwMUE3MDAyRDIwNDE0Cis6MTA5NDgwMDA2MDAwMDAwMDAwMDAwMDAwQzAwMDlBMjBCNEM0MjVBMkMzCis6MTA5NDkwMDAwQjc4MDZERTAwODM4MDI5RTAxQkY4MDI1RTgwQTdBMDFGCis6MTA5NEEwMDAyREM4MEE3MjAyMUUwMEE2ODAyOEUwMDg3ODAyRjAwMDhCCis6MTA5NEIwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNEVEMDBCMzQwMjRDMzY5Cis6MTA5NEMwMDAwQjMwNDJDQzAwQTMwMDIwQzAxQjM0MDI0QzAwQjMwMDgwCis6MTA5NEQwMDAyQ0MwNEIzMDAyMEMwMEIzODgyQ0Q0MEEzMDAyRDIwNENBCis6MTA5NEUwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUI4MDBGRTQwQjdBMDAyCis6MTA5NEYwMDAwRkEwMDNFODAwREEwMDNBODAwRkUyMDM2ODAwRkEwMEU4Cis6MTA5NTAwMDAzRTgwMEZBMDBCMjgwMEVFRTAzRkIwMDRBMDAzRkEwNDU5Cis6MTA5NTEwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEUwMDRGMDA4M0ExMDdECis6MTA5NTIwMDAwRjg0MDNFMDEwRjgwMDNFMDA0RjgwODNFMDAwRjgwMDU1Cis6MTA5NTMwMDAzQzAwMEY4MDAzODAwMEY4NDAzRTA5MEY4MDAzRDIwMEZBCis6MTA5NTQwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEU0MjBFOTAwMzI0NDcwCis6MTA5NTUwMDAwQzkwMDMyNDAwRjkwMDNFNDAwRjkwMTNFNDAwQjkwMDgyCis6MTA5NTYwMDAxRTQwMEMxMDAzMjQwMEM5QTAzQzY0MEM5MDAzODIwNDJDCis6MTA5NTcwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY0MDA4OTAwMjI2OEMwCis6MTA5NTgwMDAwODEzMDIyNDA4RjkwMDJFNDgxQjkwMDJFNDAwQjkwMEQ5Cis6MTA5NTkwMDAzRTQwMEM5MDAyMjQwOEY5NDAyRTYwMEE5MDA2RTAwMDNDCis6MTA5NUEwMDAxMDAwMDAwMDAwMDAwMDAwMTgwMTI0MDBBOTAwMjA0MDY1Cis6MTA5NUIwMDAwODkwMDIyNDAwQjkwMTJFNDAwQjkwMDJFNDAwQjkwMDhCCis6MTA5NUMwMDAyRTQwMDg5MjIyMjQwMDg5MDAyRTQwMDg5MDAyQzYwMEY2Cis6MTA5NUQwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA0ODA4MTIxRTA1MEU5Cis6MTA5NUUwMDAyODE2MEEwNDgwQTE0MDJDNDA0QjE0MjJDNDAwQjEwMDZDCis6MTA5NUYwMDAyQzUwMDkxNDAyMDQwNEIxMDAyQzQwMEExMDAyQzIwMUNDCis6MTA5NjAwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDYxNDBFODUwMzIwMDhBCis6MTA5NjEwMDA4QzgwMDIyMDAwQjgwMDNFMDAwQjgwMzNFMDEwRjgwMDgwCis6MTA5NjIwMDAzRTAwMEM4MDAzMjAwOENBMDAzRTAwMEM4MDAzQUUwM0ZECis6MTA5NjMwMDA1MDAwMDAwMDAwMDAwMDAwOTgxREZDNDBGRDEwMkY0MTZDCis6MTA5NjQwMDA0RjkxMDNFNDQwRjk0MDNFNDA0RkQwNjNFNTAwRjk0MEJDCis6MTA5NjUwMDAzQTUwMkU5NDAzNjUwMEVEMDAzRjUwMEY5MDAzRTYwNjRDCis6MTA5NjYwMDA3MDAwMDAwMDAwMDAwMDAwMTgxNUU2MDBGOUUwMzM1MDFCCis6MTA5NjcwMDAwQ0RBMDNBNjAwRDk4MDNGNDAwRjkxMDNBNjAwRjk4OEI5Cis6MTA5NjgwMDAzRTY4MENERTAzNjYwMEVEMDAzQjY5MEM5MDAzQzYwMEVCCis6MTA5NjkwMDA3MDAwMDAwMDAwMDAwMDAwMzgxMEUxMDhCOEUwMjAyMDUxCis6MTA5NkEwMDAxODhFMjZFMTAwODBBMDJFMDA0Qjg4NDJFMTUwQjg0MDgxCis6MTA5NkIwMDAyRTJBMEQwQTAyMjAwOEI4MDAyRTE0MEQ4MDAyQ0UwNEI2Cis6MTA5NkMwMDAzMDAwMDAwMDAwMDAwMDAwMDgwNUM1MDBCMTYwMjA0MDI3Cis6MTA5NkQwMDAwODMxQTJDNTAwOTE0ODJDNDAxQjEyMDI4NDAwQjEwMDQxCis6MTA5NkUwMDAyQzUwMDkxNjAyMDUwMEEzMDQyODQwMDgxMDAyQzIwMUVDCis6MTA5NkYwMDA3MDAwMDAwMDAwMDAwMDAwMTgwNUE0MDBCOTA4MjA3MEU4Cis6MTA5NzAwMDAyODkwMDJFNDAwODkwMDJFNDAwQjkwMDJFNDA4QjkwMzdGCis6MTA5NzEwMDAyQzQwMjk5MDAyNjQwMEI5MDAyRTYyMDk5MDAyQzYwNDEwCis6MTA5NzIwMDA2MDAwMDAwMDAwMDAwMDAwQTAwNUU1MDBGOUQwQjI3MDY0Cis6MTA5NzMwMDAwODkwMDNFNDAwRDkwNDNFNDAwRjkwMDNBNDEwRjkwMkZFCis6MTA5NzQwMDAzRTQwMEQ5MDJCNjQwMEU5OEQzQTYwMEM5MDAzRTgwNEQ0Cis6MTA5NzUwMDA3MDAwMDAwMDAwMDAwMDAwMjgwMUE0MDBGOTgwM0U0MkQzCis6MTA5NzYwMDAwRjkwMDNFNDAwRjkwMDNFNDAwRjlBMDNFNDAwRjkwMDczCis6MTA5NzcwMDAzRTQwMkYxMDAzQTQwMEY5MjIzQzQwNEY5MDAzQ0EwMDQyCis6MTA5NzgwMDA2MDAwMDAwMDAwMDAwMDAwMjgwMEEwMDBGMDQwMzIwMDRGCis6MTA5NzkwMDAwQzgwMDNDMDAwRjgwMDMyMjAxRjgwMDNFMDAwQzgwMEU2Cis6MTA5N0EwMDAzMjAwMEM4MDAyMjAwMEM4QzAzRTAwMEM4MDAzQ0EwNEI2Cis6MTA5N0IwMDAyMDAwMDAwMDAwMDAwMDAwMjgxNTI4MTBCQTAwMjNBMDk3Cis6MTA5N0MwMDAwQUU0MDJFODAwQkEwMDJCQTEwQkEwMDJFODAwQUEwMEZDCis6MTA5N0QwMDAyQTgxMEFBMDAzRTgwOERFMDAyRTgwMEFBMDAyQ0EwMDNGCis6MTA5N0UwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTRDMDBCMzA0QTBCMUI4Cis6MTA5N0YwMDAwODM2MjJDQzAwQjMwMDIwRTQwQjMwMDJDQzAwODMwMEZBCis6MTA5ODAwMDAyMEMwMDgxODAyMEMwMDkxMDEyQ0MwMDgzMDA2Q0EwMEM0Cis6MTA5ODEwMDA1MDAwMDAwMDAwMDAwMDAwQTAwMTFDQzhCMzIxMjFDMkJDCis6MTA5ODIwMDAyQTcwMDJEQzAwQjdBMDI5QzAwQjcyMDJDRTAwQTc4MTBCCis6MTA5ODMwMDAyOUMwNEE3NDAyRkUwMDk3MDEyQ0MwMEE3MDEyRTgwMDg5Cis6MTA5ODQwMDA0MDAwMDAwMDAwMDAwMDAwQTgwODFFODBGN0MwMzFFMEMyCis6MTA5ODUwMDAwQzQ4MDNERTExRjc4MDIxRTAwQjdBMDNERTAwQzM4MEExCis6MTA5ODYwMDAzM0Q4NkM3ODAzM0UwMEQ2ODAzREUwMEM3ODAzRUEwMkUyCis6MTA5ODcwMDAwMDAwMDAwMDAwMDAwMDAwMDgwREFDMDhGQjgwM0VDMEE2Cis6MTA5ODgwMDAwRkQwMDNFQzA0RkIzQzNFQzAwRkI2MDc2QzAxRkIwMDlECis6MTA5ODkwMDAzRUQwMEY5NDA3RUMwMUVBMDAzRUMwMEZCMDAzQzIwNkIxCis6MTA5OEEwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMUZFMDBDRkE0M0I2MDRCCis6MTA5OEIwMDAwOEQ5MDM3RTAwQ0Y4MDNGMjU0RkZDODdCRTAwQ0Y4MEI0Cis6MTA5OEMwMDA3RkZDMENGQzAzN0MwMEY2OTAzM0UwMEZGODAzQzAwMDMzCis6MTA5OEQwMDA3MDAwMDAwMDAwMDAwMDAwQTgxMTlDMDg4RjI4MjE0MEEzCis6MTA5OEUwMDAwOEQwMDIxQzQwQTcyMDMxMDQxQjc4MDJEQzgwRDcwMDdFCis6MTA5OEYwMDAyRkM0MUFEMDAyMUU0OEI2MDA2MUMwMEI3MDA2RUEwNERECis6MTA5OTAwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDhDMDA4NzMwNjk0NDA3Cis6MTA5OTEwMDAwODUwMjIwQzAwODcwMTJENDQ4QjcwMDY4QzEwODcwMEE0Cis6MTA5OTIwMDAyOUM5MDg1MDAyMUM0NEE2MDA2MUMwMEI3MDAyQzAwMDg3Cis6MTA5OTMwMDAyMDAwMDAwMDAwMDAwMDAwMjAxNENEMDA4Mzg4NjA0MDVCCis6MTA5OTQwMDAwMDEwMDI0QzAwMkIwMDJDNDExQjMwMDJDQzAwOTMwMDc1Cis6MTA5OTUwMDAyQ0MwMEEzMDQyMEMwMEIyNDAyMEYxMEIzMDAyQzgwNDg3Cis6MTA5OTYwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNUJENDFDRkMwQkFGMEQzCis6MTA5OTcwMDAyODkwMUI2QzA4Q0YwMDJDQzAwRkYwMDNBQzAwOEIwMEFDCis6MTA5OTgwMDAzRkMwNkNCMDRCMkMwMUZCNDAyMkM4MEZCMDAzRUEwNDZGCis6MTA5OTkwMDA2MDAwMDAwMDAwMDAwMDAwODAwMEVDMDRGQjA0M0ZENEU1Cis6MTA5OUEwMDAwRjEwMDNBQzAwRkIwMDMyQzA1RkIwMDNFQzAwRkIwNEZGCis6MTA5OUIwMDAzRUMwNEYxMDEzRUMwMEZCODgzRUMwNEZCMDAzRTAwMEU4Cis6MTA5OUMwMDAzMDAwMDAwMDAwMDAwMDAwMDExMERDMDBDNzAwMzM2MjFFCis6MTA5OUQwMDAwQ0MwMEIzQzAwRUYwMDMzRTAxQ0YwMTMzQzA4RjcwMDE4Cis6MTA5OUUwMDAzMUMwMEVEODAzQkMwMEZFMDAzREM2MENGMDAzQzA0NERECis6MTA5OUYwMDAzMDAwMDAwMDAwMDAwMDAwODEwNDZDMDBDQjAzMjI0NzBGCis6MTA5QTAwMDAwODk4NDIyQzAwOUIwMDJBQzAwQUIwMDIyQzAwQkIwNDFDCis6MTA5QTEwMDAyQUMwMEFCMDAyQUMwOEZBMDAyRTYwMDhCMDAyRTA0MDhBCis6MTA5QTIwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTJDMDA5QjAwMjA0MDdBCis6MTA5QTMwMDAwODk4MDIyQzAwQkIwMDIyODgwODMwMDIyQzAwQkIwMEQyCis6MTA5QTQwMDAyMkMwOEE5MjAyQUMwMEFBODAyRUMwMDhCMDA2RTAwMEI0Cis6MTA5QTUwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDBDMDA4MzAwQTA0MDRCCis6MTA5QTYwMDAwODEwMDIwQzAwQjMwMDI4ODAwQTMyMTIwQzAwQjMwNDY0Cis6MTA5QTcwMDAyOEMwMEEzMDIyOEMyMEIyMDAyQ0MwMDgzMDAyQzIwMTVCCis6MTA5QTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDZDMDJDQjAwMzA0MDIwCis6MTA5QTkwMDAxQzk0MDMyQzAwRUYwMDMyQzA4OEYwOEIyQzAwRkIwMERDCis6MTA5QUEwMDAzM0MwQUVGMDAzQUM4MEVBMDEzRUMwMkNCMDAzQzAwMzZCCis6MTA5QUIwMDA1MDAwMDAwMDAwMDAwMDAwQTAxREZDMDBGRjAwMkY0MDJGCis6MTA5QUMwMDAwN0QyODNGQzAwREYwNDNGQzAwRkIwMDNGQzAwRkYwMDlGCis6MTA5QUQwMDAzRkMwMEZEMDBCRUMwMEVFMDAzRjQwMEZGMDAzRTgwNjU0Cis6MTA5QUUwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUY1MDBDRjA4M0Y0OEVFCis6MTA5QUYwMDAwRkMzOTM3MEQwREMzMDNGRDgwQ0IyMDMzQ0MwRkY0MEEyCis6MTA5QjAwMDAzM0M0MkNGMTAzNjI1MEZDMzQzMzAwMEY1QzAzRjAwMENCCis6MTA5QjEwMDA3MDAwMDAwMDAwMDAwMDAwODAxMEM0ODA4QjAwMkY1QUVECis6MTA5QjIwMDAwQkE2MTIyMUMwODk3MDJGREMwOEYyQzIzREQwQkY0MEM1Cis6MTA5QjMwMDAzN0RDODhGNTBBMjA4MEU4MTAyQTE2MEI5MDAyRTAwNDMyCis6MTA5QjQwMDAzMDAwMDAwMDAwMDAwMDAwODgwNUMwMDA4MzA4MkM0NDlECis6MTA5QjUwMDAwQjAyMDIwQzAwODAwMDJDQzgwODMzNDI4QzkwQjMzMEZBCis6MTA5QjYwMDAyOEM4NEEzMjEyODAwQ0IwQTAyODI4MEIxMjAyRTIwMTQ5Cis6MTA5QjcwMDA3MDAwMDAwMDAwMDAwMDAwQzAxNUEyMDA4QjAwMkU0OEZECis6MTA5QjgwMDAwQkEwMjIyMDIwODg4MDJFQzAyOEIwMEFBQzAwQkIwMDg5Cis6MTA5QjkwMDAyRUMwMEFCMDAyQTAwMEFCODIyQUEwMEJCMjAyRjAwNEQxCis6MTA5QkEwMDA2MDAwMDAwMDAwMDAwMDAwNDAxNUU3MDBDQjAwM0VDMDUwCis6MTA5QkIwMDBDRjlDMEIyMTAwRDg4ODNFQzAwQ0IwMDNBQzAwRkIwMDRBCis6MTA5QkMwMDAzQUMwMEVCMDQzRTg0MEY4ODAzQTYwMEY5ODAzRDAwNEUyCis6MTA5QkQwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMUI0MDBGRjAwMEZFMDkyCis6MTA5QkUwMDAwN0ExMDNFODAyRkIwMDNGQzAwRjcwMjM3QzAwRkYwMkM3Cis6MTA5QkYwMDAzNUMwNERCMDAzNzQyMEZDMDEzRjAwMEZGODAzRjgwMDlFCis6MTA5QzAwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMEE1MDBDQjAwQkE0MDNBCis6MTA5QzEwMDAwQzE0MEIyRjIyQzk0MDMyQzA4RUIwMDNBQzAwRkIwMEU1Cis6MTA5QzIwMDAzRUMwMEVCMDAzRTQwMEM5MDAzMjAwMkM5MDAzMTAwNEMzCis6MTA5QzMwMDAyMDAwMDAwMDAwMDAwMDAwQzgwMTI0MDA4RjAwMjI0MDI2Cis6MTA5QzQwMDAyQ0E1NDIyOTAwOEIwNEEzQzEwREYwMEEzQzAwQkYwMEUzCis6MTA5QzUwMDAzRkMwMDhGMDAxNjkwMERBMDUyMkQwMDg5NDAzNzIwMEMxCis6MTA5QzYwMDA0MDAwMDAwMDAwMDAwMDAwRTAwNTYwNDA4MzAxMjBDMENCCis6MTA5QzcwMDAwOTAwMDIyMDAwODI2MDIyQzAwODMwNDI0QzEwQkIwMjYyCis6MTA5QzgwMDAyQ0MwMDhCMDEyMDUwMDlCMDAyMDgyMDkzMjAyMzgwMDY3Cis6MTA5QzkwMDA1MDAwMDAwMDAwMDAwMDAwMjAwMTE2OTA4NzgwMjBFMEE2Cis6MTA5Q0EwMDAwODU4MDIxNjE0ODQ4MTIxRTAyOTM5MDI1RTAwQjc4MDI5Cis6MTA5Q0IwMDAyOEUwMDg3ODAyN0E4MDk2ODEyMUUwMDlGODAyNDgwMEJECis6MTA5Q0MwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODA4MDk4QjEwMzg0NERDCis6MTA5Q0QwMDA0RDI1MTIwQzAwQzIxMDIyQzgwQTM4MDNDQzAwRjMxMDI0Cis6MTA5Q0UwMDAyQ0MwMEMzMDAzOEFDMEQ5MTAzMjQwMkQxMDAzMTIwMjUwCis6MTA5Q0YwMDAwMDAwMDAwMDAwMDAwMDAwNDAxREJDODBGRjAwM0Y0MDRECis6MTA5RDAwMDAwRkYwMDNGNDQwRUQwMDNGQzAwRUYzMDNCQzA0RkYwMDZFCis6MTA5RDEwMDAzRkMyMEZGMDBCRDQwMEZGMTBCRjgwMEVGMDAzRDAwNjNGCis6MTA5RDIwMDA2MDAwMDAwMDAwMDAwMDAwQTgwNUZBMDBDQjAyM0VDMDYxCis6MTA5RDMwMDAwRjkwMDNBMDAwQ0IwMDNBQ0EwQ0IzMTNBRjI0Q0I0ODVBCis6MTA5RDQwMDAxRUM4MEZCNjAzMkMwMEZBMDAzRUMwMEY5MDAzRUEwMEI1Cis6MTA5RDUwMDA3MDAwMDAwMDAwMDAwMDAwNDgxMTlDMDg4NzIwMkRDNEZFCis6MTA5RDYwMDAwQjUwMTJEQzA0ODcwMDJDQzAwODcwQTIxRDAwQTc0MDE1Cis6MTA5RDcwMDAyNUNCOEI3NDgyMUMwMEI3MDAyREMxMEI3MDAyRDIwNDVFCis6MTA5RDgwMDA2MDAwMDAwMDAwMDAwMDAwQzAwMDlBMDE4NzkwMkRFMEY0Cis6MTA5RDkwMDAwQjc4MDJDRTAwODY4MDJERTQyOTdBMDI5RTgwODdBMDZGCis6MTA5REEwMDA2REU4MEI3ODAyMUUwMEI1ODAyRDYwMEI3ODAyRjAwMDg0Cis6MTA5REIwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNENEMDA4MzAyMkNFMEM5Cis6MTA5REMwMDAwQjMwMDJDQzAwODNFMDJDQzAwODMwMDIwQzAwQTMwMDUyCis6MTA5REQwMDAyNEMwMEJCMDAyMEUyMEIzMDgyQ0MwMEIzMDAyRDIwNEZBCis6MTA5REUwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUI4ODJDQTAwM0VBODVDCis6MTA5REYwMDAwRkUwMDNGODAyOEU4MDNFODAwREEwNUJBODAwQ0EwMDMxCis6MTA5RTAwMDAzRTgwMEZBMDAzM0I4MEZFNDIyRjgwMEZBODAzRkEwNDgwCis6MTA5RTEwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEUwMjBGODAwM0UwMDY0Cis6MTA5RTIwMDAwRjA2MDNDMDAwRjgxMTNFMDAwRjAwMDNFMDAwRjgwMDI5Cis6MTA5RTMwMDAzNjAwMEY4MDBCRTAwMEY4MDQzRTIwMEY4MTAzRDIwMEIzCis6MTA5RTQwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEU0MDBGOTAwM0U0MDZGCis6MTA5RTUwMDAwQzlBMDMyNDQwQzlDMDNFNDA0QzkwMDMyNDAwRjkwMEYyCis6MTA5RTYwMDAzNjQwMDc5MDAzMjQwMEM5MDQzMjYwMEY5MDAzQzIwNEY3Cis6MTA5RTcwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY0MDBCOTAyMkU0MEExCis6MTA5RTgwMDAwQTkyMDIyNTAyODlFMDJFNDA5ODkwMDIyNDAwQjkwMDJGCis6MTA5RTkwMDAyMjQwMDk5MDAyMDQwMEQ5MDAyMjQ0MEI5QzAyRTAwMEY5Cis6MTA5RUEwMDAxMDAwMDAwMDAwMDAwMDAwMTgwNTJDMDBCOTAwMkM0MDM0Cis6MTA5RUIwMDAwODkwMDIyNDI4ODkwMDJDNDA2ODkwNDIyNDBDQjEwNEE4Cis6MTA5RUMwMDAyNjQwMEI5MDBBMkM4MDgxMDAyMjQwQ0I5MjgyQzYwMDUzCis6MTA5RUQwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA0MDBCMTIwMkM0OEVECis6MTA5RUUwMDAwQTEyMDIwNDgwODEyMTJDNEMwODExMDIwNDA4QjExMENFCis6MTA5RUYwMDAyMDRDMDkxMjAyMjQwMTkxMjBBMDQ4MEIxMDAyQzIwMTNCCis6MTA5RjAwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDQxRTBGODUwM0UxNEQxCis6MTA5RjEwMDAwQzg1MDMyMTQwQzg1MDNFMTAwODA2ODMwMUYwRjg2ODA0Cis6MTA5RjIwMDAzNjEwMEYwNTAzMjk0MEM4NTAzMjk0MEY4NTAzRUUwMzA1Cis6MTA5RjMwMDA1MDAwMDAwMDAwMDAwMDAwOTgxREY0MDBGOTEwM0Y0NDlDCis6MTA5RjQwMDAwRkQxMEJGNDQwRkQxMjJFNEMwMzkyMEJFNDAwRjkyMENDCis6MTA5RjUwMDAzRTRDMEY5MTAzRkMwMEZEMTAzRjQ0MEZEMDAzRTYwNjdBCis6MTA5RjYwMDA3MDAwMDAwMDAwMDAwMDAwMTgwNUY2MjBDOTAxM0U0MDA2Cis6MTA5RjcwMDAwRkQwMDMzQzAwQkQwMDMyNjMwQzlFNDMyNzAwRTlDMEI0Cis6MTA5RjgwMDAzRTY4MEM5ODAzMzQwMEY5MTAzRjQwMEZEMDAzQzYwMDIwCis6MTA5RjkwMDA3MDAwMDAwMDAwMDAwMDAwMzgxMEMyMjBEODAwMkUwMDIxCis6MTA5RkEwMDAwQjgwNTIyODA0QjgwMDIyMzgwODg4MDM2MjAwODhGMDI5Cis6MTA5RkIwMDAyRTNBNDg4RjBBMjAwMEIwODAyRTAwMEI4MDAyQ0UwNDdCCis6MTA5RkMwMDAzMDAwMDAwMDAwMDAwMDAwMDgwNUM0ODA4MTAwMkM0MDIzCis6MTA5RkQwMDAwQjEwMDIwNDAwQjEwMDIwNDI0ODE0NDIwNTgwQTEyMDY5Cis6MTA5RkUwMDAyQzQ0MDgxMDgyMDQwMEIxMjAyQzQwMEIxMDAyQzIwMTQ2Cis6MTA5RkYwMDA3MDAwMDAwMDAwMDAwMDAwMTgxNUE1MDE5OTAwMkU0MDE3Cis6MTBBMDAwMDAwQjkwMDIyNDQwQkIwMTIyNDEwODkwMTIyNDAwQTkwMEI5Cis6MTBBMDEwMDAyQzQwMDgxMDQwMjQwOEI5NDA2RTUwMEI5MjAyQzYwNDMwCis6MTBBMDIwMDA2MDAwMDAwMDAwMDAwMDAwQTAxNUU3MTRDOTA1M0U0MUQzCis6MTBBMDMwMDAwRjkwMEIyNDA0RjkwOEIyNDAyQzkwMEEyNDAwRTkwMDg4Cis6MTBBMDQwMDAzRTQwMkM5MDAzMjcwMEY5ODAzRTYwMEY5MDAzRTgwNDA3Cis6MTBBMDUwMDA3MDAwMDAwMDAwMDAwMDAwMjgwMTg0ODhGOTAwM0U0OERDCis6MTBBMDYwMDAwRjk5MDNFNjAwRjkwMjNDNDBBRjEwMDNFNDEyRDkwNDUzCis6MTBBMDcwMDAzRTQwMEY5MDAzRTUwMEY5QzAzRTY0MEY5MDgzQ0EwMDk0Cis6MTBBMDgwMDA2MDAwMDAwMDAwMDAwMDAwMjgxMEExMDBDODAwM0UwMDkxCis6MTBBMDkwMDAwRjgwMDMyMTAwQzg0MEIyMDAwQzgwMDMyMDEwQzgwMENDCis6MTBBMEEwMDAzMjAwMEM4MDAzRTA4MEY4MDQzMjAwMkM4MDBCMEEwNDlDCis6MTBBMEIwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNTI4MDBDQTAwMkU4MEIzCis6MTBBMEMwMDAwQkU4MEEzODEwOEVDMDIyODAwREEwMDIyODAwMEEwNDc2Cis6MTBBMEQwMDAwMjgwMjhBMDAyRkIwMEJBMDAzN0IwNDhFQTAyMEEwMDVBCis6MTBBMEUwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTRDMDA5MzAxMkNDMDM3Cis6MTBBMEYwMDA4QkIwNDIwQzkwOUIyMDIwQzA0ODMwNDIyQzAwODMwMDQzCis6MTBBMTAwMDAyMEMwMDgzMDAyQ0Q0MEIzMDAyNEM4MDgzODAyMEEwMDNECis6MTBBMTEwMDA1MDAwMDAwMDAwMDAwMDAwQTAwMTE0MDA4NzAwMkRDMEM2Cis6MTBBMTIwMDAwQjI0MDYxNjAwOTMwODIxQzgwOTMxMDIwQzgwODdBMDcxCis6MTBBMTMwMDAyMUMwMTg3MjAyREMwMEI3QjQyNEUzMDg3ODAyMjgwMEJBCis6MTBBMTQwMDA0MDAwMDAwMDAwMDAwMDAwQTgwODFFMDI5N0EwM0RGMDlCCis6MTBBMTUwMDAwRjQ4MDMzRTAwRDY4MDMwRTAyQzdBMDIxRTgyQzNGMDA2Cis6MTBBMTYwMDAzM0VDMEM3QzAzRDYwMEY3ODAzNUUwMENEODAzMkEwMkQwCis6MTBBMTcwMDAwMDAwMDAwMDAwMDAwMDAwMDgxOUE1QTBGQjAwM0VDQTc2Cis6MTBBMTgwMDAwRjgwMDNFQzAyRUEwMDNFQzYwRkI0MEJFRDQwRkIwMDZCCis6MTBBMTkwMDBCRUMwMEZCNjQzRTAwMEZCMDIzRTgwMEY5MDAzQzIwNjM0Cis6MTBBMUEwMDA2MDAwMDAwMDAwMDAwMDAwMDAwNUZFMDJDRjg4M0ZFMEQ0Cis6MTBBMUIwMDAwQ0I5MDNGRTAwREQ4MTMzRTA4Q0ZDMDMzRjA0Q0Y4MDRCCis6MTBBMUMwMDAzM0UyNEZGQzAzM0UwMENGQzAzMzY0MENGODAzQzAwMDAxCis6MTBBMUQwMDA3MDAwMDAwMDAwMDAwMDAwQTgxMTk0NDA4NzAwMkZDMTBCCis6MTBBMUUwMDAwRDY5QTJEMDQwQkMwMDIzQzAwOEYwMDI5QzAwODcwMDhCCis6MTBBMUYwMDAyMUMwMEI3MDBBM0MwNDg3MTAyMTRDMDg2MDAyRUEwNDVECis6MTBBMjAwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDlFMDA4NzAwMkRDMERDCis6MTBBMjEwMDAwOTYyMDJEODAwOTcwMDIxQzQwODcwMDIwQzQwOTcwMDIwCis6MTBBMjIwMDAyMUM0MEIzMDAyNTgwMEE3MDgyMTgwMDg2MDgyQzAwMEJBCis6MTBBMjMwMDAyMDAwMDAwMDAwMDAwMDAwMjAxNEU0MjU4MzAwMkNDMDUyCis6MTBBMjQwMDAwOTIyMDJDQzIwQjIwMDIwQzAyOEIwMDI4QzAwOTMwMDZBCis6MTBBMjUwMDAyMEMwMEIzMDQyNkMyMDgzMDgyMEUyMDhCODAyQzgwNEZBCis6MTBBMjYwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNUE0MDBDRjAwM0ZDMDhGCis6MTBBMjcwMDAwRDlDMDNFODAwREI4MDMzQzAwQ0YwMEIzQzA2REYwMEQ0Cis6MTBBMjgwMDBCM0MwMEJGMDA3NjgwMEVGNDAzMkE4MENBODAzRUEwNDQzCis6MTBBMjkwMDA2MDAwMDAwMDAwMDAwMDAwODAwMEVDMDBGQjAwMkVDMDA5Cis6MTBBMkEwMDAwRjk0MDNDNTQwRkEzMDNFQzAwRkIwMDM2QzAwRUIwMEMyCis6MTBBMkIwMDAzRUMwMEYzMDEzQUQ0MEZCMDIzRUQwMEZCNDAzRTAwMEIwCis6MTBBMkMwMDAzMDAwMDAwMDAwMDAwMDAwMDExMEU0MDBDNzAwMzFDMUIwCis6MTBBMkQwMDA4Q0QwMDMzNDAwQ0QwMDNEQzAwQ0YwMDE3QzAwREIwMUNDCis6MTBBMkUwMDAzREMwNENGMDBCMzAwMkMzMDAzMjAwMEZEMDAzMDA0NERECis6MTBBMkYwMDAzMDAwMDAwMDAwMDAwMDAwODEwNDZFNDA4QjAwMkFDMDg2Cis6MTBBMzAwMDAyODg0NDIyMjgwODg4MDNBQzAwREIwMDJBQzA4OEIwMEJECis6MTBBMzEwMDAyRUMwMDhCMDAyMjMyMDhCMDAyMjMwOEI4QzAyMjA0MEZDCis6MTBBMzIwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTI0MDA4QjAwMjJDMDA3Cis6MTBBMzMwMDAwODM4ODYyQTAwODk4MDJBQzAwOEIwMDJDQzAwOUIwMDE5Cis6MTBBMzQwMDAyRUMwMDhCMDQyMjYwMDhCMDAyMjcxMEI4QzAyMjAwMDI4Cis6MTBBMzUwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDBDMDA4MzAwMjhDMDNBCis6MTBBMzYwMDAwODMyNDIwMDAwODEwMDI4QzAwOTMwNTI4QzA4ODMwMDY2Cis6MTBBMzcwMDAyQ0MwMTgzMDA2MDAwMDgzMDBBMDAwMEIwMDAyMDIwMTcwCis6MTBBMzgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDc0MDI4QjAwMzNDMENDCis6MTBBMzkwMDAwQzkyMEIyMDAyQzgwMDNCQzAwQ0Y1MDNGQzAwREYwMTRGCis6MTBBM0EwMDAzRkMxMDRGMDMzMjE0MENGMDAzMjAwMEY4MDBCMDAwMzg3Cis6MTBBM0IwMDA1MDAwMDAwMDAwMDAwMDAwQTAxOUZDMDBGRjAwM0ZDMDlBCis6MTBBM0MwMDAwRkM0MDNGMDAwOUMwMDNCQzAwRkYwMDNGQzAwRkYwMDMzCis6MTBBM0QwMDAyRkMwMEZGMDAzRjA4MEZGMDAzRjAwMEZDMDAzRTgwNjFFCis6MTBBM0UwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUYwQzBGRkEwMzEyNDk0Cis6MTBBM0YwMDAwRUYwNjMxMDA0RUY2NDNGQzA0Q0YzMDMxQzgwREYwOEQxCis6MTBBNDAwMDAzN0MwMEZGMDAzRjBBMEZDMDAzMTA4MkNEMjAzRjAwMDlECis6MTBBNDEwMDA3MDAwMDAwMDAwMDAwMDAwODAxMEUxMDBCQkMxMjI0ODc1Cis6MTBBNDIwMDAwOEZEMDIyRTAwOTcwMDJGQzI0ODcxMjM3RTQwQkYwMDE2Cis6MTBBNDMwMDAyMUM1NEJGNTAyRUYwMEJCNDAzNkUwMDhBODAyRTAwNDVFCis6MTBBNDQwMDAzMDAwMDAwMDAwMDAwMDAwODgwNUM1ODRCMzExQTJDOUQ3Cis6MTBBNDUwMDAwQTMwMDIwMDAxQjMzMDI4QzQwODMyNDIwQzAwQTMwOEJECis6MTBBNDYwMDBBMENBMEEzMjgyODAxMEIwNDEyNDExMDgzMTAyRTIwMUYwCis6MTBBNDcwMDA3MDAwMDAwMDAwMDAwMDAwQzAxNUE1MDBCQjAwMjJFMTM0Cis6MTBBNDgwMDAyOEIwMDIyQzgwOUIwMDJFQzAwOEIwMDI2QzAwQjMwMEU0Cis6MTBBNDkwMDAyMkMwMEJCMDAwRUMyMEJCMDAyNkMwMDg4MDAyRjAwNEY0Cis6MTBBNEEwMDA2MDAwMDAwMDAwMDAwMDAwNDAxNUUzNDBGNzA0MzJDMEU3Cis6MTBBNEIwMDA0RUIwMjMyRTIwRUIwMDFFQzAwQ0IwMDEyQzAwRkIwMDgwCis6MTBBNEMwMDAzNkMwMUZCMDAzRTE0MEZCMDAzNjk4MEM5MDAzRDAwNDY3Cis6MTBBNEQwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMUI2MDRGRjAyM0ZDMDcxCis6MTBBNEUwMDAwRkYwMDNGRTAwRUYwMjNEQzAwRkYwMjNGQzAwRkYwMDYxCis6MTBBNEYwMDAzRkMwNEZGMDAzRkMwMEY0MDAzQjQwMEZBMDEzRjgwMEY2Cis6MTBBNTAwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMEFBMjBFQjEwMzZDMEUwCis6MTBBNTEwMDAwREIwMDdFQzIwREIwMDMyQzAwQ0IwMDI2QzIwRUIwMDY5Cis6MTBBNTIwMDAzRUMxMERCMDAzRTAyMERCQTAzMjkwNENCMDBCMTAwNDE0Cis6MTBBNTMwMDAyMDAwMDAwMDAwMDAwMDAwQzgwNTJEMDA4RjgwMjBDMTExCis6MTBBNTQwMDAwODcwMTJDRjAwOEYwMEEzQzAwREYwMDIzQzAwOEYwMEY2Cis6MTBBNTUwMDAzN0MwODhGMDAyRUMwMDg4MDAyMDQwMDg4MDAyMzIwMEZBCis6MTBBNTYwMDA0MDAwMDAwMDAwMDAwMDAwRTAwNTRDMDBBMzgwMjQ4MUIyCis6MTBBNTcwMDAwOTMwMDZDQzQwOTMwMDI4QzEwOEIwMDJDRjQwQTMwMEE4Cis6MTBBNTgwMDAyQ0MwMDkzMDAyQ0QwMDkwNDA2MDQwMjgxMDAyMzgwMEY1Cis6MTBBNTkwMDA1MDAwMDAwMDAwMDAwMDAwMjAwMTBFMDA4NzgwMjNFMDMyCis6MTBBNUEwMDA0ODc5MDJERTQxOTc4MDI5RTAxOTc4MDY5RTAwODc4MDZECis6MTBBNUIwMDAyNUUwMDg3ODAyRDIwMzgzODAyMUEwMDg2ODAyMDgwMDAxCis6MTBBNUMwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODBDMDBBMzAwMzRDMDU4Cis6MTBBNUQwMDAwRDMwNDJDQzAxRDMxMDNBQzUwQzM5MDNDQzAwRTMwNDUyCis6MTBBNUUwMDAzQ0M0MEQzMDAzQ0UwMEQwMDAzMDQwMEMzMDAzMTIwMkNBCis6MTBBNUYwMDAwMDAwMDAwMDAwMDAwMDAwNDAxREJDMDBGNzAwM0ZDMDRDCis6MTBBNjAwMDAxRkYwNTNGQzAwRUYwODM3RDEwRkYwODM3QzAwRjc0MEI4Cis6MTBBNjEwMDAzRkMxMEZGMTAzRDAwMEZGMDBCRjg0MEZDODAzRDAwNjc1Cis6MTBBNjIwMDA2MDAwMDAwMDAwMDAwMDAwQTgwNUUwMDBGQjAwM0VFMDI0Cis6MTBBNjMwMDAyQ0JFODNFQzAwRUI0MDNFQzAwRkI0MDNFRDIwRkIxMEJBCis6MTBBNjQwMDBCNkQyMEZCNDgzRUMwMERCODAzNkMxMEM5MDIxMkEwMDE3Cis6MTBBNjUwMDA3MDAwMDAwMDAwMDAwMDAwNDgxMTk0MDBCNzAwMkZDMEY3Cis6MTBBNjYwMDAwODM2MDIwQzA4ODczMDJERDk4QjcyODZERDAwQjMyMEE2Cis6MTBBNjcwMDAyMUM4MEI3NDAyRDAwMjg0MDBBMDAwMjgyMDAyMTIwNDFBCis6MTBBNjgwMDA2MDAwMDAwMDAwMDAwMDAwQzAwMDlBMDBCNzgwMkRFMENDCis6MTBBNjkwMDAwODdBMDI5RDAwQTdBMDJERTAwQjc4MDI5RTgwQTc4MDdCCis6MTBBNkEwMDAyMUU0MDg3QTI2OUUxODgzMDQyMUUwMDg3ODBBNzAwMEM1Cis6MTBBNkIwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNENDMDBCMzAwMkNFMDkzCis6MTBBNkMwMDA1ODMwMTIwRTgyODMwMDJDQzAwQjMwMDJDQzAxQjMwMDM0Cis6MTBBNkQwMDAyMEMxMEIzMDAyQzAwODg4RDIyMDIwMDgwMDAyNTIwNDlBCis6MTBBNkUwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUI4NjBGQTAwM0Y4MjZBCis6MTBBNkYwMDAwQ0EwMDNGQTAwQUEwMDFFODA4RkEwMDNFODAwRjIwMDVECis6MTBBNzAwMDAzMjgwMUZBMDAzRTgwMERBMDAzNjg4QUNFMDAzN0EwNDQ4Cis6MTBBNzEwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEUxMDBGODAwM0UyMDVBCis6MTBBNzIwMDA0RjgwMDNFMTAwRjAwMDNDMDAwQjgwMDNFMDAwRjgwMkUyCis6MTBBNzMwMDAzQTAwMEY4MDQzRjEwMEZDMEEzRDAwMEZDMDAzOTIwMDc1Cis6MTBBNzQwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEU2MDBDOTkwM0U0MDA0Cis6MTBBNzUwMDAwRjkyMDNFNDAwRDkwMDMyNDAwNDkwMDdFNzAwRjkxMDlCCis6MTBBNzYwMDAzMDQwMEM5MDQzRTQwOUQ5ODAyMjQwMkMxMDBCMDIwNEE1Cis6MTBBNzcwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY0NjA4OUMwMkU0MEFBCis6MTBBNzgwMDAwQjk4MjZDNTgwODkwMDIyNDAyODkwMTJFNzEwQjkwMDU2Cis6MTBBNzkwMDAzNjQwMjg5MDEyQzU4M0M5ODBCNjQwMDg5MDAyMjAwMDM4Cis6MTBBN0EwMDAxMDAwMDAwMDAwMDAwMDAwMTgwNTA0MDA4OTQwMkU0MTQwCis6MTBBN0IwMDA0QjkwMDJFNDAwOTkwMEEyNDAwQTkwMDJFNTAwQjkwMDIzCis6MTBBN0MwMDBFMjQxMDg5MDQyRTQwMDlENTBBQjRBMDhEMDI2MDYwMEMyCis6MTBBN0QwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA0ODI4MTIwMkM1MDhBCis6MTBBN0UwMDAwQjEwMDJFNDAwODE0MDIwNTA0QTE0MzJDNDAwQjE0MEYyCis6MTBBN0YwMDAyNDUxMTgxNDEyRDQwMDg1NDAyRDQwMDg1MDA2MDIwMTNGCis6MTBBODAwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDYxNDBDODAwM0UwMERDCis6MTBBODEwMDAwRjgwMDJFMDAwRDgwMDMyMDAwQTgwMDJFMDEwRjgwMDQ5Cis6MTBBODIwMDAzMjAwMDQ4MDAzRTAwMEQ4MDAzQTAwMENDMDAzMkUwMzdECis6MTBBODMwMDA1MDAwMDAwMDAwMDAwMDAwOTgxREY0NDBGOTEwM0Y0MTU2Cis6MTBBODQwMDAwRjk0MDNGNTAwRjk0MDNFNTAwRDk0MDNFNTEwRjk0MEQ0Cis6MTBBODUwMDAzRTUwNEY5NDAzQzUwMEU5NDEzNjUwMEY5NDAzRTYwNjdECis6MTBBODYwMDA3MDAwMDAwMDAwMDAwMDAwMTgwNUY2MDBGREE4M0E0MDQ2Cis6MTBBODcwMDAwQ0Q4MjMzNjAwRTlBMDNFNzgwRjlFMDNCNjgwQ0RFMkM3Cis6MTBBODgwMDAzMjY4MEM5QjAzMzY4MjREQTAzNzY4OEM5ODAzMDYwMDEzCis6MTBBODkwMDA3MDAwMDAwMDAwMDAwMDAwMzgxMEVCQTBCODQwMjAyMDNECis6MTBBOEEwMDAwODg1MDIyMTUxODhDMDJFMjkwQjhFMDJFMTAwRDhFMEQ0Cis6MTBBOEIwMDAyMjMyMEQ4RDIzNjE0ODk4RDRBMjEwMjg4NDAyMEUwNDAwCis6MTBBOEMwMDAzMDAwMDAwMDAwMDAwMDAwMDgwNUM1MDBCMzAwMkE0QTVGCis6MTBBOEQwMDAyODEwNEVBNDA4QTE2ODI4NDQwQjE0MDJDNTAwODE0MDJBCis6MTBBOEUwMDBBMDUwMDgxMDAyMDQwMjkxMkEyMDQ0MjgxNDRBMDIwMUIwCis6MTBBOEYwMDA3MDAwMDAwMDAwMDAwMDAwMTgxNUFDODBCOTAwMjI0MDc0Cis6MTBBOTAwMDA0ODkwMDZBNDAwQTkwMDJFNDAwQjkwMjJFNDAwOTkwMDc0Cis6MTBBOTEwMDAyMjQwMDkxMDAyNjQwMjk5MDAyMjQwMDg5MDAyMDYwNEI1Cis6MTBBOTIwMDA2MDAwMDAwMDAwMDAwMDAwQTAxNUU0MDBGOTAwMzg1OEE1Cis6MTBBOTMwMDAwQzkwNTM4NDE0QTkwNDNFNDAwRjkwMDNFNDAwQzkwMDE2Cis6MTBBOTQwMDAzMjQwMEM5MDAzMjQwNEQ5MDBCNjQwNEM5MDBCMjgwNEVDCis6MTBBOTUwMDA3MDAwMDAwMDAwMDAwMDAwMjgwMUE0MDBGOTAyM0U0OTM4Cis6MTBBOTYwMDAwRjEwNDM2NDAwRDkwMDNFNDAwRjkwMDNDNDAwRjEwMjcxCis6MTBBOTcwMDAzRTQwMEY5MDAzQzQwMkU5MDQzQzQwMEYxQzAzQ0EwMDkwCis6MTBBOTgwMDA2MDAwMDAwMDAwMDAwMDAwMjgxMEExODBDODIwM0UwMEU4Cis6MTBBOTkwMDA4QzgwMEIyMDAwRTgwMjNFMDAwRjgwMDNBMDgyQzgwMERDCis6MTBBOUEwMDA2QzAwMEY4MDAzMjAxMEM4MDAzMjAyMEM4MDAzMEEwNEUwCis6MTBBOUIwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNTM4MDA4NjAwMkU4MERFCis6MTBBOUMwMDA2OEE4ODAzQTAwOEEwMDJFODAwQkEwMDJGODAwOEEwMDU2Cis6MTBBOUQwMDAyRTgwMEJBMDBBM0EwMDhFMTAyMzgwMDhBMDAzMEEwMEU0Cis6MTBBOUUwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTREMDA4MzAwMkNDMDNFCis6MTBBOUYwMDAwODM4MDAwQzYwMjMwMDJDQzAwQjMwMDJDQzQwODMwMEQwCis6MTBBQTAwMDAyQ0MwMEIzMDAyMEMwMjhBODBBMEUwMjgzMDBBNEEwMEQ5Cis6MTBBQTEwMDA1MDAwMDAwMDAwMDAwMDAwQTAwMTE2MjA4NzAyMkRDMTk4Cis6MTBBQTIwMDA0ODcwMTI3QzAwQTcyMDJEQzkwQjcyMDBEQzAwODcwODNCCis6MTBBQTMwMDAyREM0MUIzMjAyMUQwMTg3NDIyMUMyMDg3MDAyMjgwMDZBCis6MTBBQTQwMDA0MDAwMDAwMDAwMDAwMDAwQTgwODNFMDJDNzgwM0RFQzY2Cis6MTBBQTUwMDAwQzU4MDMxRTAwRTc4MDNERUMwRjdGMDM5NjAwQzc4MDczCis6MTBBQTYwMDAyREUyMDc3OTAzMEEwNkMzODAzMDIwOEMzODAzNkEwMjdFCis6MTBBQTcwMDAwMDAwMDAwMDAwMDAwMDAwMDgxREFDMDBGQjAwM0VDMDBDCis6MTBBQTgwMDAwRjEwNDM4QzAwREIzODNFRDgwRkIwMDNDQzA0RkI0NERFCis6MTBBQTkwMDAzRUMwOEZCNjEzRUMwMkZGMDIzRTAwMEZCMDAzQzIwNkE5Cis6MTBBQUEwMDA2MDAwMDAwMDAwMDAwMDAwMDAwNUZBMDBGRjgwMzFFM0I0Cis6MTBBQUIwMDAwRUY4MjNGRTAyREY4MEI3RTIwRUY4MDM3RTAwNkREMEIxCis6MTBBQUMwMDAzM0UwMENGODlCNzZDMERGODRCM0UwMDRGODAzQzAwMEU5Cis6MTBBQUQwMDA3MDAwMDAwMDAwMDAwMDAwQTgxMTkwNDBCNzAyMjFDNERGCis6MTBBQUUwMDAwODdCNDJEQzAwODcwMDIxQzQwQjMwMDAxMDgwOEQwMDAxCis6MTBBQUYwMDAyM0MwMERGMjAyMDQ0MjhGMDAyOUM4Mjg3MDAyRUEwNDI0Cis6MTBBQjAwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDk0MDBCNjAwMjNDMEI4Cis6MTBBQjEwMDAwQTcyMDI4QzAwODcwMDIxQzAwQTMwMDIwNDAxQTcwMkQ5Cis6MTBBQjIwMDAyMUMwMDg3MDQyMDA4QTg3MDAyMUMwMjg3MDAyQzAwMDNFCis6MTBBQjMwMDAyMDAwMDAwMDAwMDAwMDAwMjAxNEM1MDBCMDAwQTBEMERDCis6MTBBQjQwMDAwOEIwMDJDOTQyOEIwMDIwQzAwQjMwMjIwNDAwODMwMEYxCis6MTBBQjUwMDBBMEMwNDkzMDAyNDU0MDkzQzBBOEQ0MDAzNTAyQzgwNEMzCis6MTBBQjYwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNUFDMDBCQjAwMzFDMEEwCis6MTBBQjcwMDAwRUIwMjNDRDAwREYwMDM3QzAwRUYwMDE2ODAwRTMwMDA3Cis6MTBBQjgwMDAzM0MwMUNGMDAzNDUwMERBQzg5MkQ0MkNCNDAzRUEwNEE1Cis6MTBBQjkwMDA2MDAwMDAwMDAwMDAwMDAwODAwMEU1MjBGQjAwM0VDMEQ3Cis6MTBBQkEwMDAwRkIwMDNFQzAwRkIwMDNFQzA0RkIwMDNBRDAwRkIwMDU0Cis6MTBBQkIwMDA3RUMwMUYzMDAzQTQ4MEU5MjAzQ0MwMEYzMjAzRTAwMEI4Cis6MTBBQkMwMDAzMDAwMDAwMDAwMDAwMDAwMDExMERDMDBDNzAwMzNDMkFDCis6MTBBQkQwMDAyQ0YwMDMzRTIwREIwMDEzQzAwQzcwMDMzQzgwRUYwNDFDCis6MTBBQkUwMDA3M0MxMEZGMDIyMzAwMEM2MDBCMkMwMENGMDAzMDA0NDY1Cis6MTBBQkYwMDAzMDAwMDAwMDAwMDAwMDAwODEwMDY5MDA4QjQ0QTJDMTA5Cis6MTBBQzAwMDA4OEIwMDM2QzAwOEIwMDIyQzAyOEIwMEEyRDAwQkIwMDY2Cis6MTBBQzEwMDA2MkMwMEJCMDAyMjYwMjhCODAyMkMwMDhCMDAzMjA0MDI1Cis6MTBBQzIwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTI4MDE4QTA4MjJDMEYyCis6MTBBQzMwMDAwOEIyMDI2QzQwOUIwMDI4QzA0OEIwMTYyOTA0QjkwMTM0Cis6MTBBQzQwMDAyMkMwNDlCMDA2QUUwOThCODAyMkUwNDhCMDAyMjAwMDQ1Cis6MTBBQzUwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDAwMDI4MjAwMjJDMDQyCis6MTBBQzYwMDA4OEIwMDI0NDAwODMwMDI4QzAwODMwMDIwODAwQjEwMDA4Cis6MTBBQzcwMDAyMEMwMEIzMDAyOEMwMDgzODAyMEUwMDgzMDBBMDIwMUUzCis6MTBBQzgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDY0MDBDQTAwMzNDMDk2Cis6MTBBQzkwMDAwQ0IyMDMyQzAwREYwMDNCQzA0Q0Y1MTMyQzA0RUYwMDdBCis6MTBBQ0EwMDBBM0MwMERGMDAzQTg0MENCMDBCMjAwMkNCMDAzMDAwM0ZBCis6MTBBQ0IwMDA1MDAwMDAwMDAwMDAwMDAwQTAxREYwMDBGNDAwM0ZDMEE0Cis6MTBBQ0MwMDAwRkIxMDNGMDAwRkYwMDM3QzAwRkYwMDNGQzAwRkYwMERFCis6MTBBQ0QwMDAzRkMwMDdGMDBCN0MwOEZGMDEzRjAwMEZGMDAzQTgwNjAwCis6MTBBQ0UwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUYwQzVFRDMzM0JDQzUzCis6MTBBQ0YwMDAwQ0YwMDMzMDQwRkYyNTNGQ0MwQ0YzODMzQ0QwREY0ODAxCis6MTBBRDAwMDAzNzMwNENGMzAzRkQ4MENGMjgzM0Q4MENGMTAzMzAwMEVCCis6MTBBRDEwMDA3MDAwMDAwMDAwMDAwMDAwODAxMEVDRDBCQjMxMjBDQzlGCis6MTBBRDIwMDA4OEYzNDIyMDUwQkY5MDJGQzQwQUY2MDI3REMwOEY0MEE2Cis6MTBBRDMwMDAyNjQwOEZGNjAyRkQwMEZGMDgzOUM4MDhGNjAyQTAwNDdECis6MTBBRDQwMDAzMDAwMDAwMDAwMDAwMDAwODgwNUM0ODBBMTIwMjhDOTUwCis6MTBBRDUwMDAwODMwOUEwMDA5QjMwMDJDQzAyMDMwMDI0QzkwODMyMEE4Cis6MTBBRDYwMDAwMjA4MEIzMzEyQ0Q4MDkzMjAyNEQ4MDgzNDIyMjIwMTBDCis6MTBBRDcwMDA3MDAwMDAwMDAwMDAwMDAwQzAxMUFFMDBCQjEwMjJDMDM3Cis6MTBBRDgwMDAwOEIwMDIyNjAxM0IwMTZFQzAwOEIwMDI0QzA4OEIwMERGCis6MTBBRDkwMDBBMjg5MEJCMDAyRUMwMEFCMDA2QUMxMjhCMDAyQjAwNDdCCis6MTBBREEwMDA2MDAwMDAwMDAwMDAwMDAwNDAxNTZFMDBFOEMxM0FDMERECis6MTBBREIwMDAyQ0IwNDMyNjAwRkIwNjNFQzEwQ0IwMEIyQzAyQ0IwMDhFCis6MTBBREMwMDAzNDIyOUZCMDQzRUMwMDlCMDIzNkMxOENCMDAzMTAwNEM4Cis6MTBBREQwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMUJDMDBGQzgwM0REMERECis6MTBBREUwMDAyRkYwMDNGQzAwRkIwMDNEQzAwNzMwMDNCQzAwRUYwNDY0Cis6MTBBREYwMDAzRkUwNUVCMDAxRkMwMEZGMDAxQkMwMEZGMDAzRjgwMDU1Cis6MTBBRTAwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMEFDMDBDQjAxM0VDOTEzCis6MTBBRTEwMDAwQ0IwMTcyMDg0RUIwMEIyQzEwREIwMDM2QzAwQzMwMDZFCis6MTBBRTIwMDAzMjUwMEZCMDAzMEM0MEMzMDA3RUMwMEMzMDAzMTAwNDNFCis6MTBBRTMwMDAyMDAwMDAwMDAwMDAwMDAwQzgwNTJDMDA4QTU4MkVFMDA5Cis6MTBBRTQwMDA0OEYwMDIyRDAwRUYwMTIzQzAwOEYwMjIzQzA0OEY2MDdGCis6MTBBRTUwMDAzNjU0MEJGMDBBM0Q0MDhGMDAyRkMwMDhGMDAzNzIwMEZCCis6MTBBRTYwMDA0MDAwMDAwMDAwMDAwMDAwRTAwNTQwMDA4OTgwMkMxMDM4Cis6MTBBRTcwMDAwOEIwMDI0OTAwQTNBMDI0QzAwOTMwMDI0QzAwODNDOUQ1Cis6MTBBRTgwMDAyMDkwNDIzMDEyNEQwMDgzMDA2QUMwMDkzMDAyMzgwMDIxCis6MTBBRTkwMDA1MDAwMDAwMDAwMDAwMDAwMjAwMTE2MDA4NTgwNkQ2MjU3Cis6MTBBRUEwMDAwODdFMDI1NjQwMjc4MDI1RTAxOTc4MDYwRTAwODM4MDMwCis6MTBBRUIwMDA2MUEwMEI3ODAyNEUwMDg3ODI2REUwMDk3OTAyNDgwMDlDCis6MTBBRUMwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODJDMDJDMzYxM0M4OERDCis6MTBBRUQwMDAyQ0JBMTI0OTEwRTMyQzM2QzAwRDMwNTM0QzQ0QzMwMDM5Cis6MTBBRUUwMDAyMDAxMEYzMTAzNEMwMEMzMDEzQ0MwMkRCMTAzMTIwMkZECis6MTBBRUYwMDAwMDAwMDAwMDAwMDAwMDAwNDAxREJDMDBGRjAwM0YwMEZCCis6MTBBRjAwMDA0RkYxMDlCMDAwRkYwMDNCQzAwRUY0MDFGRDI0RkY0MEVCCis6MTBBRjEwMDBCRkMwMDdGMDAzQkMwMDZGMTAzRkM0MUVGMTgzRDAwNjEyCis6MTBBRjIwMDA2MDAwMDAwMDAwMDAwMDAwQTgwNUM0MDBFODA0MzIwMDMyCis6MTBBRjMwMDAwQ0I2MDNFODAyQ0IwMDM2Q0EwRkI1MDNBRDAwRkIyMDA4Cis6MTBBRjQwMDAzRTQwMEZCMzAzRUM4MEZCQTgzMkM2OENCNjAzMkEwMDQ4Cis6MTBBRjUwMDA3MDAwMDAwMDAwMDAwMDAwNDgxMTk0MDJFNjAwMjAwMDhDCis6MTBBRjYwMDAwODczMDJEQzAwODc3MDJERDAwQkYwMDIxQzg0QjcyMDIwCis6MTBBRjcwMDAyREMwMEI3MDgyREQyNEI3NDAzNEM5Mjg3MjgyOTIwNDQwCis6MTBBRjgwMDA2MDAwMDAwMDAwMDAwMDAwQzAwMEJFMDJBQzgwQTEyMEY0Cis6MTBBRjkwMDAwODc5MDBDRTA0ODc4MDY1RTAwQjdBMDI5RTAwQjc5MEE2Cis6MTBBRkEwMDA2REEwMEI3ODAyREUwMEI3ODAyMUUwMDg3ODAyMzAwMDQ3Cis6MTBBRkIwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNEVEODJBQkUwMjBFNDE3Cis6MTBBRkMwMDAwODMwMDJFRTA0ODMwMDJDQzExQjMwMDIwQzA4QjMwMEQxCis6MTBBRkQwMDA2NEY2MEJCMDAyQ0MwNEIzMDAyNkMwMDgzMDAyOTIwNDIxCis6MTBBRkUwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUJCODBFRTQ5MzFBMEYxCis6MTBBRkYwMDAyQ0EwMDNGQTAwQ0EwMjM2ODAwRkEwMDNBODAwRkEwMkIwCis6MTBCMDAwMDAzRjkwMEZBMDYzRTgwMEZBMDAzMjgwMENBMDIzM0EwNEJFCis6MTBCMDEwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEUwMEFFODAwM0UwODcwCis6MTBCMDIwMDAwRjgwMDNFMzUwRjAwMDNFMDAwRjgwMTNFMDAwRjgwMEIzCis6MTBCMDMwMDAzRTAwMEY4MDAzRTAwMUY4MDE3RTAwMEY4MDAzRDIwMDg0Cis6MTBCMDQwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEU0NDBDOUExMzI0MEI4Cis6MTBCMDUwMDAyMDExMDFBNjQwQzk4NDM2NDAwRDkwMDM0NDAwNDEwMEYwCis6MTBCMDYwMDAzMjQwMEY5MDBCMjQwMEY5MDAzRTQwNEMxMDAzMDIwNEM0Cis6MTBCMDcwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY0MDA4OTgyQTI0MENCCis6MTBCMDgwMDAwODlDMDIyNTAwODlDODIyNDAwODkwNDIyNDAwODkyMDlCCis6MTBCMDkwMDAyMjYwMEI5MDAyMjQxMEI5MDAyRTQwMDg5MDAzNjAwMDNCCis6MTBCMEEwMDAxMDAwMDAwMDAwMDAwMDAwMTgwNTI0MDA4OTA0MjJDQUQ2Cis6MTBCMEIwMDAwQTkwMEEyNTAyODkyMDIwNDAyODEwMDI2NDAxQTkwMDc0Cis6MTBCMEMwMDAyMjRCMEI5MDAyMjQwMUI5MDAyRTQxMjg5MDAyMDYwMDY5Cis6MTBCMEQwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA0OTA4MUEwMjA0ODA3Cis6MTBCMEUwMDAwQTMyMDIwNDgwODEwMDIwNDQwODExMDIwNEQwQTEyMDA5Cis6MTBCMEYwMDAyMDQwMEIxMTAyMDYwMEIxMzEyQzQ4MDgxNDAyNDIwMTE1Cis6MTBCMTAwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDYxNDJDODU0MzIxNDc1Cis6MTBCMTEwMDAwRTg1MDMyMTQ0QzgyOEIyMUE0Qzg2OTM2MTE0RTg1MDY2Cis6MTBCMTIwMDAyMjE0MEY4NjgzMjE0MEYwNDAxRTE0MEMwMDAzMkUwM0NFCis6MTBCMTMwMDA1MDAwMDAwMDAwMDAwMDAwOTgxRDc0NDRGNTEwM0Y0NENBCis6MTBCMTQwMDAwRDkxMDM3NDQwRjkwMDNFNDgwQjkyMDNFNEMyRDkxMEZDCis6MTBCMTUwMDBCRjQwMEY5MjAzRTUwNEY5MzAzRTQ0MEY5NDQzRTYwNkU2Cis6MTBCMTYwMDA3MDAwMDAwMDAwMDAwMDAwMTgwNUY2MjJDREExMzM2MTM4Cis6MTBCMTcwMDAwQ0Q4RDMzNDEwQ0RBODNFNjA4RTlDOTNBNzA4Q0Q4MDA4Cis6MTBCMTgwMDAzMzQwMEU5QUQzMzZBMEM5ODAzMjYwMEM5OTAzMDYwMDcyCis6MTBCMTkwMDA3MDAwMDAwMDAwMDAwMDAwMzgxMEUzODg4QUEwMjAyODFBCis6MTBCMUEwMDAwODgwMjIyMDEyODg0MDJDMjgwODhBMDIyMjAwODgwMDY5Cis6MTBCMUIwMDAyMjAwMEI4QzAzMjEwMDg4RDBBMjNFMjg4RDAyMEUwNEIxCis6MTBCMUMwMDAzMDAwMDAwMDAwMDAwMDAwMDgwNUNFMjBBMTQ4MjA1MkY5Cis6MTBCMUQwMDAyOTEwMDIyNDAzODEwMDJDNTIwQTEwMTI4NTEwOTE0MDdDCis6MTBCMUUwMDBBNDQwMEExMjgyNDQwMDkxMjgyNDQwMjgxMjAyMDIwMTNECis6MTBCMUYwMDA3MDAwMDAwMDAwMDAwMDAwMTgxNUE0MDBBOTE0MjI0MEVGCis6MTBCMjAwMDAwOTkwMDJBNDAxODkwNDJDNDAwODkwMDIyNDAwOTkwMEFFCis6MTBCMjEwMDAyMjQ0NEIxMDQyMjQxNDk5MDAyNjQwMDgxMDAyMDYwNEQwCis6MTBCMjIwMDA2MDAwMDAwMDAwMDAwMDAwQTAxNUU0NDBFOTQwQjI3ODkyCis6MTBCMjMwMDAwRDkwMEIyNDIyQzkwMzNFNDEwRTkwMDNBNDAyRDkwMEI1Cis6MTBCMjQwMDAxNjU4MDY5MDBCNjQwMkQ5MDAzNjQwMEM5MDBCMjgwNDY3Cis6MTBCMjUwMDA3MDAwMDAwMDAwMDAwMDAwMjgwMTg0MDBEOTgwM0U0QUYwCis6MTBCMjYwMDAwRTkwMDM2NDIwRjkwODNFNDEwRjkwMDNFNDAwRTEwOENBCis6MTBCMjcwMDAzRTQwMEY5MDAzQzQwMEUxMDAzODQwMEY5MDAzQ0EwMDI1Cis6MTBCMjgwMDA2MDAwMDAwMDAwMDAwMDAwMjgxMEEwMDlGMDQwQjAxMDhECis6MTBCMjkwMDA0QzAwMEIyMDAwRjgwMDNBMDAxQzAwMDNFMDAwQzgwMDNFCis6MTBCMkEwMDAzNjAwMEM4MDAzMjAwMEM4MDAzMjAwMEY4MDAzMEEwNDFGCis6MTBCMkIwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNTI4MDAzRTg4MjNBMjhFCis6MTBCMkMwMDA0OEUwMDAxOTgwQkU4ODJFODAwREEwNDJFODAwOEUwMDY0Cis6MTBCMkQwMDAyMzkwMDhBMDBBM0EwMERBMDAzNjgwMEJBMDBBMEEwMDgwCis6MTBCMkUwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTRDMDBCMzgwMjBFMDcyCis6MTBCMkYwMDAyODMwQzIwRjEwQjM0MDI4QzAwQjMwMDJFQzExODM0MDNECis6MTBCMzAwMDAyOEQyMEEzMDAyMENDMDgzMDAyMEMwMEIzMDAyMEEwMDkxCis6MTBCMzEwMDA1MDAwMDAwMDAwMDAwMDAwQTAwMTFDMDBCNjAwMjFDMDg5Cis6MTBCMzIwMDAwODIwQzIxQzEwQjUwMDJEQzgwQTcyMDJEQzQwODUwODM2Cis6MTBCMzMwMDAyOUEyMUE3MjIyMEMwMDkzMzAwNUM0MEIzMjIyMjgwMDc1Cis6MTBCMzQwMDA0MDAwMDAwMDAwMDAwMDAwQTgwODE2MDBCMjgwMzEyMDc0Cis6MTBCMzUwMDAwQzU4MDMxRTAwRjc4MDM5RjgwQjdDMjJDRTQwQ0Y4MEJBCis6MTBCMzYwMDA5QjYwMkUzQjAzMUEwMEM3QTgxMUUwMEY3ODAzMkEwMjQ2Cis6MTBCMzcwMDAwMDAwMDAwMDAwMDAwMDAwMDgxREE0MDBGQTAwM0VDMDBDCis6MTBCMzgwMDAwRjkwMjNFODAwRkIwMDNFRDAyREI2MDNFRDAyRjkwMDNDCis6MTBCMzkwMDAzMjQwMERCMDA3RUMwMEZCNjAzRUM4MEZCNTAzQzIwNjlCCis6MTBCM0EwMDA2MDAwMDAwMDAwMDAwMDAwMDAwNUZFMDBGRjgwMzNBMEU4Cis6MTBCM0IwMDAwQ0Y4MEIzMjQwQ0U4MTM3RjAwQ0JDMDNGRTAwRkY4NDRBCis6MTBCM0MwMDAzM0UwMkNGODgzRTYwMkNGODUzM0YwMENGQzAzMDAxNDQ1Cis6MTBCM0QwMDA3MDAwMDAwMDAwMDAwMDAwQTgxMTlDMDBCRTAwMzVDNkVGCis6MTBCM0UwMDAyODMwMDIzMDQwODcwMDIzQzAwODdBMDJEQzAwQkUwMDBCCis6MTBCM0YwMDAyM0MwMDg3MDEyRkUwMDg3MDAyMUMwMDhGMDAyMkEwNDUyCis6MTBCNDAwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDk1MjBCNjAwMjA4MEQxCis6MTBCNDEwMDAwODMxMDI1QzAxODcwMDI1QzAwODcyMDJEQzAwQjYwMDFBCis6MTBCNDIwMDAyMUQwMDk3MDAyRDQwODkzMDAyMEMwMDg3MDAyMDAwMEU3Cis6MTBCNDMwMDAyMDAwMDAwMDAwMDAwMDAwMjAxNEM0MDBCMEUwMjQ2MEUwCis6MTBCNDQwMDAwODIwMDY0ODAxODAwMDIwQzAwODMwMDJDQzA0QjMwMDY4Cis6MTBCNDUwMDAyMDg0MEIzMDAyRTgwMDlCMDAyMEMwMDgzMDAyMDgwNDYyCis6MTBCNDYwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNUFDMDBCOUUwMzI4MEY4Cis6MTBCNDcwMDA2Q0IwMjM2RjAwQzMwMDM3QzEzQ0YwMDNGQzAwRkEwMDNFCis6MTBCNDgwMDBCMEMwMDlGMDAzRUMxMERGMDA3M0MwMENGMDBCMkEwMDExCis6MTBCNDkwMDA2MDAwMDAwMDAwMDAwMDAwODAwMEVDMTBGODAwM0U0MjU4Cis6MTBCNEEwMDAwRjI0MDNBODYwRjgwMDNDQzEwRkIwMDNFQzAwRjk0MDgyCis6MTBCNEIwMDAzRTgwMDRCMDIzRTEwMEVCMDAzRUMwMEZCMDAzRTAwMDhCCis6MTBCNEMwMDAzMDAwMDAwMDAwMDAwMDAwMDExMEY0MDBFRTAwM0QzMEVDCis6MTBCNEQwMDAwQ0MwMDMxNDAwQ0NBMEIzQzA0QzcwMDM1QzEwREYwMEEwCis6MTBCNEUwMDAzRjAwMENGMDAzRjgwMENGMDAyM0MwMENGMDAzMDA0MDM1Cis6MTBCNEYwMDAzMDAwMDAwMDAwMDAwMDAwODEwNDY0MDBCQTgxMkU1ODcyCis6MTBCNTAwMDAwODg4MDIyNzgwODkyMDIyQzAyOEIwMDIyQzAwODg4MzY2Cis6MTBCNTEwMDAyRTIwMDVCMDYyRTMwMDhCMDAyQUMwMDhCMDAzNjA0MDEzCis6MTBCNTIwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTI2MDBCOTgxMkU0MEI4Cis6MTBCNTMwMDAwODhDMDYyNjAwODgwMDIyQzAwOEIwMTY2QzAwOTg4ODg3Cis6MTBCNTQwMDAyRTIwMDhCMDA0RTMwMTBCMDAyOEMwMDgzMDAyMjAwMEMwCis6MTBCNTUwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA0MDBCMDAwMkNDMEZGCis6MTBCNTYwMDAyODAwMEUwMDEwODAwMDIwQzAwODMyMDIwQzAwODAwNDY5Cis6MTBCNTcwMDAyRTIwMDkzMDAyQzQxMjgzMDAyOEMwMDgzMDAyNDIwMTg0Cis6MTBCNTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDZDMDBGQTAwM0UwMDBBCis6MTBCNTkwMDAyQzkxMDMyMDAwOEEwMDMzQzAwQ0YwMDM3QzAwRDgwMEZCCis6MTBCNUEwMDAyRTQwMENGMDAzRTA4MENGMDAzQkMwMENGMDAzMDAwMzAyCis6MTBCNUIwMDA1MDAwMDAwMDAwMDAwMDAwQTAxREZDMDBGQzAxM0Y0MDA2Cis6MTBCNUMwMDAwRkMwMTNGMDAwRjQwMDNGQzEwRkY0MjNGQzA4RkMwMDhGCis6MTBCNUQwMDAzRjAwMEZGMDAzRjA0MEZGMDAzRkMwMEZGMDAzRTgwNjBDCis6MTBCNUUwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUZDMjBDRDEwMzlDODJDCis6MTBCNUYwMDAwREMxMDMzQzgwRUY5MDIzRDgwRkY4MDBGRTAwQ0Y4MEYwCis6MTBCNjAwMDAxRkQwMEZGOTAzRkYwMEU3QzAzM0M0MEZGMDAzQjAwMEYxCis6MTBCNjEwMDA3MDAwMDAwMDAwMDAwMDAwQzAxMEZFMDI4OTQwMjNGMDBFCis6MTBCNjIwMDAwODg1MTAzQzAwOEIwMEEzREM0QkIyODJFQzIwOEIwMDIxCis6MTBCNjMwMDAyNkMwNEJCMDAyRUMxMEI5MDQyQUM5MEJCNTgwRjAwNDQ3Cis6MTBCNjQwMDAzMDAwMDAwMDAwMDAwMDAwQzgwNUNDMDA4MTY0MjhDNDYwCis6MTBCNjUwMDAwOUIyMEEwQ0YwQTMyMDIwQzgwQjMyMDJFQzAyODMwOEM2Cis6MTBCNjYwMDAyQ0M4MDkzMjAyQ0M4MEFCQTAyMEM4MEIzMjAwQjIwMTNBCis6MTBCNjcwMDA3MDAwMDAwMDAwMDAwMDAwQzAxNUFDMTA4OTAwMjJDMDVFCis6MTBCNjgwMDAwOEIyMTIyQzAyMEIwMDIyQzAwQkI4MDJFQzAwOEIwMDk3Cis6MTBCNjkwMDAyNkMwNEJCMDQ2RUMwMEI5MDAwQUMwMEJCMDAyRjAwNDYzCis6MTBCNkEwMDA2MDAwMDAwMDAwMDAwMDAwRDAxNUVDMTBDOUUwM0FDMEI2Cis6MTBCNkIwMDAwRDI4MDMyQzAwRUIxMDMyQzAwRjgyMDNDNDAwQ0IwMDE2Cis6MTBCNkMwMDAzRUMxMEZCMDA2RUMwOEU5MDBCMkMwMEZCMDEzOTAwNDAxCis6MTBCNkQwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMTlDMDBGNUEwM0ZDMEU5Cis6MTBCNkUwMDAwRkU4MDNGQzA4RkYwMDNGQzA4RkMwMDNGQzAwRkYwMDExCis6MTBCNkYwMDAzN0MwMEZGMDAzRkMwMEZGMDQzRUMwMEZGMDAzRjgwMDVBCis6MTBCNzAwMDA2MDAwMDAwMDAwMDAwMDAwNTAxMEFDMDBGOTQwMzRDMEEwCis6MTBCNzEwMDAwREI0MDMyQzAwREI0MDNFQzAyQzgwMDM2NDA4RkIxMEZBCis6MTBCNzIwMDAzRUM2OEZCMDAzRUMwMEY5ODAzMkMwMENCMDBCMTQwNDlECis6MTBCNzMwMDAyMDAwMDAwMDAwMDAwMDAwQzgwNTNFMjBFOUM4MzdENDAyCis6MTBCNzQwMDA0OEFBMjIxQzAwOEIwMDZGRTAwODg1ODJFRDQwQkI4NDc0Cis6MTBCNzUwMDAyRkMwNEJCODAzQUQ0MEIzMDAyM0Q0MDhGNzAyMzIwMDJBCis6MTBCNzYwMDA0MDAwMDAwMDAwMDAwMDAwRTAwMTRDMDBCMTY0QTRDMEYzCis6MTBCNzcwMDAwOTIwMEEwQzA0QjgwMDZDQzAwODM4MDJDODQwQjM4MDI1Cis6MTBCNzgwMDAyQ0QxMEIzMDAyQ0MwNEIzMDAyOEMwMDgzMDAyM0EwMEEwCis6MTBCNzkwMDA1MDAwMDAwMDAwMDAwMDAwQjAwMTFFMDBBNTgwMjVFMDYwCis6MTBCN0EwMDA4ODNBMTIxRTAwQTY5MDJERTIwODc5MDJEQTAwQjc4MkNDCis6MTBCN0IwMDAyREUwMDM3ODgyOUUwMEJDQzEyOUUwMDg3ODAyMkMxMDlECis6MTBCN0MwMDA0MDAwMDAwMDAwMDAwMDAwNDkwODBDMDBGMzAwMzRDMEY1Cis6MTBCN0QwMDAwRDNFMDMwQzAwRjA0MDJFQzAwQzMwNDNDODAwRjMwMEI3Cis6MTBCN0UwMDAzQ0MwMDczMDAzQ0M4MEYyMDAzOEMwMEMzMDAzMTIwMjlBCis6MTBCN0YwMDAwMDAwMDAwMDAwMDAwMDAwNDAxOUJEMjBGNzAwM0ZDMjFCCis6MTBCODAwMDAwRkYxMEJEQzIwREUwNDNGRDIwN0YwMTNGODQwRkYwMEZECis6MTBCODEwMDAzRkMwMDdGMDAzRkMwMEZEMDAzN0MwMEY3MDAzRDAwNkU3Cis6MTBCODIwMDA2MDAwMDAwMDAwMDAwMDAwQUEwNUNGMDBEQzAwM0VDQTU2Cis6MTBCODMwMDAwRkEwMDBBQzkyQzkwMDMyQzAwRkIwMTFBNDA4RkIwMEU5Cis6MTBCODQwMDAyRUMwNEZCMDIzRUMwMEY5MDAzRUM0MEZCMDAzRUEwMDU1Cis6MTBCODUwMDA3MDAwMDAwMDAwMDAwMDAwQzg5MTlDMDA4NDAwMDFDMDNFCis6MTBCODYwMDA0QjcwMjIxQ0MwODcwMDIxQzA0QjcwMDIxQzAwQjcwMTI2Cis6MTBCODcwMDAyNUQ4MEI3MDIyREMwMEI2MDAyREMwMEI3MjIyRjIwNDFBCis6MTBCODgwMDA2MDAwMDAwMDAwMDAwMDAwODAwMDlFODA5NzgwQTlFMDFBCis6MTBCODkwMDAwQkY4MDJDRTA4ODU4MDI5RTgwQkZDMDIxNzAwQjc4MDYwCis6MTBCOEEwMDAyREUwOEI3ODAyREUwMEI0QzAyREU4MEI3OTAyRTAwMEI5Cis6MTBCOEIwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNENDMDA4MzA4QTBDMDU1Cis6MTBCOEMwMDA4QjNDMDI0QzAwODMwMEEwQzAxQjNDMEEwRjI5QjMwMDM0Cis6MTBCOEQwMDAyNEMwMEIzMDAyQ0MwMEIzODAyQ0MwMEIzMDAyRDIwNDQ5Cis6MTBCOEUwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUE4MDBERTAwM0E4MEVCCis6MTBCOEYwMDAwRkVBMDJFODAwQ0UwMDNBODAwRkUwMDMzODAwRkEwMEI5Cis6MTBCOTAwMDAzRTgwMEZBMDAzRTgwMEZFMDAzRTgwMEJBMDAzRkEwNDc3Cis6MTBCOTEwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEUwMDBGODA0QkEwMUU4Cis6MTBCOTIwMDAwRjgyMEI4MDA0Rjg4MDNFMDAwRjg2MDM2MDAwRjgwMDUxCis6MTBCOTMwMDAzNjAwMEY4MDIzRTEwMEY4MDAzRTAwMEY4MDAzRDIwMEE0Cis6MTBCOTQwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEU0MDFGOTAwMzI0MDVGCis6MTBCOTUwMDAwRjkwMDNFNDAwNDkwMDMyNDAwQjkwMDMyNDAwNDkwMDlCCis6MTBCOTYwMDAzQzQwMEQ5MDAzRTQwOEM5MDAzRTYwMEM5MDAzMDIwNEMzCis6MTBCOTcwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY0MDBCOTQwQTI2NEIwCis6MTBCOTgwMDAwQjE4MDIyNTAwRDE1MDM2NTA0RTkwMEEyNDAyODk0MEVGCis6MTBCOTkwMDAzQTUxMDg5NDAyRTUyMjg5NDQyRTYwMjg5MDBBMjAwMDNBCis6MTBCOUEwMDAxMDAwMDAwMDAwMDAwMDAwMTgwMTI0MDBCMTA4MjI0MDJGCis6MTBCOUIwMDA0QjkyODJBNTAwQTkwODIyNTAwQTEwMDIwQzAwQTk0MDRGCis6MTBCOUMwMDA2RTUwMEI5NDAyQzQwNDg5NDQ2QzQ4ODgxMDAyNDYwMEVGCis6MTBCOUQwMDA0MDAwMDAwMDAwMDAwMDAwMDAwNDA0MDBCMTQwRTA0MDBFCis6MTBCOUUwMDAxQjE0MEEwNDAwQjkwMDI0NDAxQTEwMjIwNDAwQTEwMDBDCis6MTBCOUYwMDAyODQwMEExMDEyQzQwMDgxMDI2QzQwMDgxMjAyNDIwMTYxCis6MTBCQTAwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDYwMDhCMDAwMzIwMDI3Cis6MTBCQTEwMDA0RjgwMDJBMTUwRTA1MDMyMTQwRUE1MjMyMTQwRTg1MDdGCis6MTBCQTIwMDAzRTE0MEY4NTAzRTE0MEM4NTAxRTE0MEM4NTQzNkUwMzdECis6MTBCQTMwMDA1MDAwMDAwMDAwMDAwMDAwRDgxOUU1MDBGRDQwM0U1MDE1Cis6MTBCQTQwMDAwRjc0MDNBNTAwNUQwMDNFNTAwQTUwMTNGNDAwRDkwMEE2Cis6MTBCQTUwMDAzQTUwMEQ5MDEzRTQwMEZGMDAzRTUwMEY5MTAzQTYwNkVDCis6MTBCQTYwMDA3MDAwMDAwMDAwMDAwMDAwMTgwNUY2OTBCREU4MjM2QjkwCis6MTBCQTcwMDAwQkRBMEIzNjgwQzkwMDMyNjg0NjkwNDNFNDAwNDkwMDc3Cis6MTBCQTgwMDAzMjY4MEM5MDAzMjQ0MEY5MDAzMjYwMEM5QzAzQzYwMTFDCis6MTBCQTkwMDA2MDAwMDAwMDAwMDAwMDAwNzgxMEUxMDBCOEUwQTIxMTkyCis6MTBCQUEwMDAwQjhFMEEyMzIyODg4MDJBMzEyODg4MDI2MjAwODg4MDJGCis6MTBCQUIwMDBBMjMwMjg4ODhBMjIwMEI4QThBMjM5MDhDQTAyQ0UwNDc3Cis6MTBCQUMwMDAzMDAwMDAwMDAwMDAwMDAwNDgwNUM1MDgyMTAwMDA0MENCCis6MTBCQUQwMDAwMzE0ODI4NTgwQUQwODIxNTI5ODUwODIzNDIzODUwODUyCis6MTBCQUUwMDAyMTUyMDg1MDA2NTQwMEI1MjAyMTVBMDk1NDAyRDIwMUFGCis6MTBCQUYwMDAzMDAwMDAwMDAwMDAwMDAwMTgxMUE0MDBCOTYxMjI0MENECis6MTBCQjAwMDAwQjkwMDYwNDAwQUQwMDY5NDAwOEQwMDI3NDAwODUwMDY3Cis6MTBCQjEwMDAwMTQwMDA3MDA2NzQwNEI1MDAyMzQwMDlEMDAyQzYwNDM5Cis6MTBCQjIwMDA2MDAwMDAwMDAwMDAwMDAwQTAxNEE0MDBFOTAwMzI0MDAyCis6MTBCQjMwMDA0Rjk1MEJBNDAwRTkwMDMyNDA4QzkwMDMyNDAwQzkwMDBCCis6MTBCQjQwMDAzMjQwMEM5MDAzNjQwOEY5MDAzMjQwM0Q5MDAzRTgwNDUxCis6MTBCQjUwMDA3MDAwMDAwMDAwMDAwMDAwNjgwMUE0MDhGOTAwM0U0MEU5Cis6MTBCQjYwMDA0RjkwOEJFNDA0RDkwMTNFNDAwRDkwMDM2NDAwRDkwMTRECis6MTBCQjcwMDAzRTQwMEY5MDAzQTQwMEY5MDAzQzQwMEU5MDAzREEwMDExCis6MTBCQjgwMDA2MDAwMDAwMDAwMDAwMDAwMjgxMEEwMDBGODQwMzYyMEVGCis6MTBCQjkwMDAxNzg0MDMyMDIxQzgwMDdFMDIyQzgwNDMyMDAwRTgwMjg1Cis6MTBCQkEwMDAzRTAxMEY4MDAzRTAwMEM4NDAxRTAwMEY4MDAzQ0EwNDVFCis6MTBCQkIwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNTJBODhCNjAyMjNBMDBCCis6MTBCQkMwMDAwQkVDNDIyQjAwRDI4MDZFQjEwOEEwMjIwODAwRUEwNEUwCis6MTBCQkQwMDAzQTgwOUZBMDAzQTgwMDhBMDQyRTgwMEJBODAyQ0EwMDA2Cis6MTBCQkUwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTRDMDBCMjAwQTRFMTY1Cis6MTBCQkYwMDA4QkI0MzI0NzQ1ODM5MDJDRjQ0QjM4MTIwRTQ0QTMwMThBCis6MTBCQzAwMDAyQ0MwNEIzMDAyQ0UwMDkzMDA2Q0MwMEIzODAyQ0EwMDJGCis6MTBCQzEwMDA1MDAwMDAwMDAwMDAwMDAwQTAwMTFDMDBCNzQ0MjFDMjM5Cis6MTBCQzIwMDAwQjU0MDI1NDA1ODcwMDJDNDA5QjZDMDIxODEwQTcwNDhCCis6MTBCQzMwMDAyOUMwMEE3MDAyOUIwMDk3MDQwRDgwMEI2MDgyRTgwMDA3Cis6MTBCQzQwMDA0MDAwMDAwMDAwMDAwMDAwQTgwODFFMDBGMzgwMzVFMDVFCis6MTBCQzUwMDAwQjM4MDI1MjEwODQ4MDJEQTAwRkY4MEIxRTAwRTY4MEQ2Cis6MTBCQzYwMDAxREEwMEI2ODAzRkUwMkQ2ODAzREUwMEY3ODAzRUEwMkI4Cis6MTBCQzcwMDAwMDAwMDAwMDAwMDAwMDAwMEExREFDMDBGQjAwM0VDMUY3Cis6MTBCQzgwMDA4QjkwMEI4MDBBQjgwMTJFMDAwQ0IwMDNFODAwRkEwMDdDCis6MTBCQzkwMDAzRUMwMEZBMDQzRUMwMEVCMDAzRTgwMEZBNjIzQzIwMjgzCis6MTBCQ0EwMDA2MDAwMDAwMDAwMDAwMDAwMDAwNUZFMDBGRTgwMzMyMDYwCis6MTBCQ0IwMDA0RUM5MTJGNjUwRUY5MDNGRTAwQzE5MDBCNjQyQ0YyMTZBCis6MTBCQ0MwMDAzRkUwMEVGOTAyRTZDMEZGODAzRkUwNENEQzAzNDAwMDlECis6MTBCQ0QwMDA3MDAwMDAwMDAwMDAwMDAwQUExMTk0MDBCNzAwODE0MDJECis6MTBCQ0UwMDAwODAzMDIxNEM0ODcwMTJEQzgwODZBMTIzODQwODcwMjZECis6MTBCQ0YwMDAyREMwMDg3MTEyRDI4MEI3MDAyRDgwMDg2MDAyMkEwNDdFCis6MTBCRDAwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDlDMDBCNzEwMjE4MENGCis6MTBCRDEwMDAwOEY0MTI5NDA0QTYwMDJDQzAxOEQyMDIxNDQ4ODYxMDBECis6MTBCRDIwMDAyRDgwMEE2MTMyRDQwMEI2MTgyREM0MDg1ODAyMDAxMEM0Cis6MTBCRDMwMDAyMDAwMDAwMDAwMDAwMDAwMjAxNEM0MDBCMzAwMjBDMDU4Cis6MTBCRDQwMDA0MEIwMjIwNDAwODI4MTBDQzAwODMwMEEwQTAwOEEwMDM4Cis6MTBCRDUwMDAyRUMwMDhBMDAyQzQwMEJCMDAyRTgwMDgyMDAyMDgwNEU4Cis6MTBCRDYwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNUFDMDBGQjAwQTBDMERGCis6MTBCRDcwMDAyNDk0MjNBQzEwRUJBMDBFQzAwQ0IwMDIyRTIwQzkwMEZFCis6MTBCRDgwMDAyRTQwMEU5MDAzRUMwMEY5ODAzRTQwNkNBMDBCMkEwNDdDCis6MTBCRDkwMDA2MDAwMDAwMDAwMDAwMDAwODAwMENDMDBGQjAwM0VDMEZFCis6MTBCREEwMDA4OTkwMDMyQzAwRkIwMjNFNDA0RkEwMDM2RDAxRkI0MTM0Cis6MTBCREIwMDAzRUMwOEZCNDAzRTgwMEZCMjAzRTUwMEZBNDAzRTAwMDE4Cis6MTBCREMwMDAzMDAwMDAwMDAwMDAwMDAwMDExMEZDMDBDMzIwQjJDMEUxCis6MTBCREQwMDAwREQwMDMzODAwQ0QwMDNGODAwREYwMDNGQzAwRkQwMkM0Cis6MTBCREUwMDAzNjAwMENEMDAzM0YwOEZDMDQxMkMwMENBMDAzQzA0NDcyCis6MTBCREYwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDZDMDI4QkM4MjJDMEVDCis6MTBCRTAwMDAwODk4MEEyQTQwODkyMDJFMDE4RUIwMTJFQzgwQkJGMERGCis6MTBCRTEwMDAyMkU1MDhCRDAyMkUwMEJCOTAyMkVEMDhBMjAyRTAwMDQwCis6MTBCRTIwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTJDMDA4QjAxMjIwMEEzCis6MTBCRTMwMDA0OUE4MUUwNDAwOEIwMTJFQzA0OTkwMDJFNDAwQjkwMEZECis6MTBCRTQwMDAyMjQwMEE5MDAyMkMwMEI5MDAyQTQwMDg4MDAyRTAwMDNCCis6MTBCRTUwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA0MDA4MTAwMjA0MEIxCis6MTBCRTYwMDAwODIwMDIwNDAwODMwMDJDQzAwQTIwNDJDQzAwQjMwMDRBCis6MTBCRTcwMDAyMEMwMDIzMDAyMDg4NEIzMDQwODQwMDgyMDAyQzIxMTI2Cis6MTBCRTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDZDMDA4QjAwQjI4MDdDCis6MTBCRTkwMDAwREIxMDMyNDAyQ0IwMTNFQzA0RDkwNDNFNDAwRjkwMEY0Cis6MTBCRUEwMDBCMjAwMkU5MDBCMkM4MEY4MDBCQUMwMkM4MDAzQzAwMzg3Cis6MTBCRUIwMDA1MDAwMDAwMDAwMDAwMDAwQTAxREY0MDA3RDAwM0ZDMDA1Cis6MTBCRUMwMDAwRjcyMDNENDAwRkYwMDNGQzAwRUYxNDdGQzAwRkYwMERCCis6MTBCRUQwMDAzQkMwMERGMDEzRkM1MEZGMDAzN0MwMEZFMDAzRTgwNjM1Cis6MTBCRUUwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUYwQzRDQzMzM0YwNDI3Cis6MTBCRUYwMDAyQ0Y2MDMzODYwQ0M5MEIzMjAwRkYxMjNGMDYwRkYwMUUzCis6MTBCRjAwMDAyM0M4MENGMjhBM0M4MURGMzAzRjY0MENEODAzMzAwNDM0Cis6MTBCRjEwMDA3MDAwMDAwMDAwMDAwMDAwODAxMEUwQzI4QTMwMkUxODdGCis6MTBCRjIwMDAwOEY1MzBBNTk0NTgyMjIyMjE0QkYzMDJFMTAwOUY3MEJFCis6MTBCRjMwMDAyQkU0MEFGNDEyMUQ0MEFGNzIyQzQ5MkYzMDgyQTAwNjY4Cis6MTBCRjQwMDAzMDAwMDAwMDAwMDAwMDAwODgwNUM0ODA4MEEwMkM5ODBDCis6MTBCRjUwMDAwODMyMjIwODAwODIwMDI4MDAwMzMyMDJDMDg0QjMwQzk5Cis6MTBCRjYwMDAyMEMwNTgzMjkyOEMzMEEzMjAyRUMwNDgxMjQyNjIwMTY5Cis6MTBCRjcwMDA3MDAwMDAwMDAwMDAwMDAwQzAxNUE4MDA4QjAwMkUyMEZCCis6MTBCRjgwMDAwOEIwMEEyMDAxOTgwMDJBMjIwQkIwMDJFNjAwOUIwMEFDCis6MTBCRjkwMDAyMkMwMEFCMDEyQUMwNEFCMDAyRUMwMDNCMDAyRjAwMDA1Cis6MTBCRkEwMDA2MDAwMDAwMDAwMDAwMDAwMDAxNUU1MDBDODAwM0VCMDgxCis6MTBCRkIwMDAwQ0IwMDMyOTAwQzgwMDNBMjA0RkIwMDNFMjIwRkIwMTc3Cis6MTBCRkMwMDBCMEMwMENCMDAzMkMwMEZCMDIzQzQxMEM5MDQzNDgwNDcxCis6MTBCRkQwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMUEyODBGRTQwM0UwMDcyCis6MTBCRkUwMDAwRkYwNjNFQzAwQkZDNDE3NDIwRkYwMDNFQzAwRkYwMDNBCis6MTBCRkYwMDAxRkMxMEZCMDAzNUMwMEZCMDAzRjQwNEZGMDAwQjgwMEQyCis6MTBDMDAwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMEE1MDJDODAwM0U5MDQzCis6MTBDMDEwMDAyQ0IwMEIwMTA2Q0IwMTNFNTA1RkIwMTMyMTEwQ0IwMEJBCis6MTBDMDIwMDA3RUMwMENCMDBCMkMwMENCMDAzMkMwMEM5MDAzMTAwNDZGCis6MTBDMDMwMDAyMDAwMDAwMDAwMDAwMDAwQzgwNTI4MDE4QkQwMkMzNDJGCis6MTBDMDQwMDA0OEZGMDIzMDAwQUEwNDJFNjkwRkYwMDM2ODEwREYwMEQ5Cis6MTBDMDUwMDAyRkQ0MERGMDAyM0UwMDVGMDRCNkMwMDhCMDAzNzIwMDlBCis6MTBDMDYwMDA0MDAwMDAwMDAwMDAwMDAwRTAwNTY5OTA4MTgwMkMwMDg1Cis6MTBDMDcwMDA0OEI4MDIwODA5OTkwMDRDQjAwQjMwMDIwQzAwOEIwMDQ0Cis6MTBDMDgwMDAyQ0MwMDlCMDQwMEM0MDgzMDAwMDQwMEE5MDAyMzAwMEYwCis6MTBDMDkwMDA1MDAwMDAwMDAwMDAwMDAwMjAwMTE2MDA4NDg4MkRFNEZDCis6MTBDMEEwMDA0ODM5MDIxNjAwQjQ4MDJERTAwQTdCMDY1RTAwOTc4MEI2Cis6MTBDMEIwMDAyREUyMDk3ODAyMUU5MDk3ODAyNTY0OEE3ODAyNDgwMDU0Cis6MTBDMEMwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODBEMDA4MTEwMkM5NjgwCis6MTBDMEQwMDAwODMxMjMwQzAwOTAyMDNDQzQxQkI4MDIwODQwQzMwMDY4Cis6MTBDMEUwMDAyQ0M0MEQzMDAzMEU0MEMzMTAzMEMwNEUxMDA3MUExMjdFCis6MTBDMEYwMDAwMDAwMDAwMDAwMDAwMDAwNDAxREJDMDA3RDA1M0ZDNUExCis6MTBDMTAwMDAwRkIxMEJGNDAwRUYwMDFGNDUwRkYwNDNGQzAxRkY0MDlGCis6MTBDMTEwMDAzREM0MUZGMDA2RkMxMEZGMDAzQkMxMkRGMTAzRDAwNjBCCis6MTBDMTIwMDA2MDAwMDAwMDAwMDAwMDAwQTgwNUVDMDRDQjA0M0VBMDY1Cis6MTBDMTMwMDA0NEI2MDMyODA0Q0I4MDMyODAwRkIzOTM2MDA4RkIyMDAxCis6MTBDMTQwMDAzRUQyMUZCMzAzMkQ4MEZCNjE3RTQwOEM5ODAzMkEwMEYyCis6MTBDMTUwMDA3MDAwMDAwMDAwMDAwMDAwNDgxMTg0MEM4NjA1MkRDMDBFCis6MTBDMTYwMDAwOEY0ODI4QzkwODUwMEExQzAwQkYwMDI1QzAwMzcwMEJGCis6MTBDMTcwMDAyREQwMEI3MTAyMUNDOEI3NDgyRDQwMEE3MDAyMTIwNDYyCis6MTBDMTgwMDA2MDAwMDAwMDAwMDAwMDAwQzAwMDlFMDA4NzgwMkRBMTFDCis6MTBDMTkwMDA2MDc4NEExNkQwQTc4MDI5RTAwQjc4NTI5NjAxQjc5MEI0Cis6MTBDMUEwMDAyREU4MEI3QTIyNUU0MEI3QTAyRkUxNDg1MDIyMzAwMEU0Cis6MTBDMUIwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNENDMTA4Mzg0MkNDMDM0Cis6MTBDMUMwMDAwODMwMDJBNDEwODNDQjI4RTAwQjMwMkE0RjQwOTMwMEE0Cis6MTBDMUQwMDAyQ0MwMEIzMDAyNEMxMEIzMDIyQ0MwQUEzMDAyMTIwNDQ3Cis6MTBDMUUwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUI4MDBDRUEwM0Y4MDNECis6MTBDMUYwMDA0Q0EwMkIzQTAwQ0U0MDNCQjgwRkEwMDNCOTAwQkEwMEM4Cis6MTBDMjAwMDAzRTgwMEZBMDAzNjgwMEZBMDA3RTgwMUNBMDBCM0EwNDU5Cis6MTBDMjEwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEUwMDJGODAwM0UwNDVBCis6MTBDMjIwMDA4RjAwMDNFMDRBRjgxMDI2MTgwRjgwMDNBMDgwRjgwMjYwCis6MTBDMjMwMDAzRTAwOEYwMDBCQTAwMEY4MDIzRTAwMEY4MDEzRDIwMERBCis6MTBDMjQwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEU0MjBDOTAwMzI0MDY3Cis6MTBDMjUwMDA0RDk5MDMyNDAwQzkwMjNFNjgwRjkwMDIyNDAwRTkwMEIyCis6MTBDMjYwMDAzMDQwOEM5MDAzMDQ0MEM5MDAzRTQwMEM5MDAzMDIwNDBGCis6MTBDMjcwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY0MjA4OTA2MjI1MDg1Cis6MTBDMjgwMDA4QjlDQzIyNDAwRDkwMTJFNDAwQjkwNDIyNDA4QjkwMTk2Cis6MTBDMjkwMDAyMjQ2MEQ5MDBBMjYwMjg5MDAyQzQwMEExMDAyMjAwMDM2Cis6MTBDMkEwMDAxMDAwMDAwMDAwMDAwMDAwMTgwMTA2MDA5MTQwNDI3MERDCis6MTBDMkIwMDAwQjkwMTIyQzAyOEIwMDJFNDAwQjEwMjJFNDEwQjEwMEM4Cis6MTBDMkMwMDBBMjQwNDg5MDEyMjQwODk5MDIyRTQwMDg5MDAyMDYwMENECis6MTBDMkQwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA0OTI5MTIwRTA0OEEzCis6MTBDMkUwMDAwQjEyMDIwNDAyOTExMDJDQzAwQjEwMDY4NEMwQjExMDc2Cis6MTBDMkYwMDAyMDQ4ODkxMTAyMDU4MDkxNDAyRTQ0MkE5NDAyMDIwMUFGCis6MTBDMzAwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDYxNDBEODUwMzAxNDVCCis6MTBDMzEwMDAwRjg1MEIyMUUwODA0MDNFMDAwRjg3OEJFMTBDRjg2QzBECis6MTBDMzIwMDAzMjAwODQwNjgzMjAwNEQ4MjgzRTEwMEMwMDAzMkUwMzFDCis6MTBDMzMwMDA1MDAwMDAwMDAwMDAwMDAwOTgxREY0NDBBRDEwM0Y0NTgzCis6MTBDMzQwMDAwRjkxMDNGQzE4N0QyMDFGNDEwRjkwMDM3NEMwRjkyMTQ5Cis6MTBDMzUwMDAzRTQ0MEY5MjAxRTQ0MEU5MDAzRDQ4NEZEMDAzRTYwNjE5Cis6MTBDMzYwMDA3MDAwMDAwMDAwMDAwMDAwMTgwNUY3ODBGREUwMzM3MDQ5Cis6MTBDMzcwMDAwQ0RBMDMyNjIwQzk0MDMxNDAwRTlBMDMyNDAwRjk4MENDCis6MTBDMzgwMDAzQjYwMEY5QzgzMzZBMEY5QTFCMDQwMEY5MTAzQzYwMDFCCis6MTBDMzkwMDA3MDAwMDAwMDAwMDAwMDAwMzgxMEUyOTBCOEEwMjIyOEQxCis6MTBDM0EwMDAyODg4MEEyMjAyODhBMDIyMDAwODg4MDJDMjgwQjg4ODUxCis6MTBDM0IwMDAyMjA0MEI4RTAzMjI4MEI4RDAyQTIwMEI4ODAyQ0UwNEUwCis6MTBDM0MwMDAzMDAwMDAwMDAwMDAwMDAwMDgwNUM1ODBCMTYxMDA1ODgxCis6MTBDM0QwMDA0ODE2OEEwNEEwODkwMTIyNDAxQTE0ODgwNDIwQjE0MDFBCis6MTBDM0UwMDAyODQwMEIxMDBBMDQyMEIxMkMyMDRBMEIxMjAyQzIwMTczCis6MTBDM0YwMDA3MDAwMDAwMDAwMDAwMDAwMTgxNUE1OTBCQjQwMjA0MDEwCis6MTBDNDAwMDAwODkwMDIyNDQwODk0MjYyNTgwODEwMDJFNTAwQjkwM0VFCis6MTBDNDEwMDAyMkMwMEI5MDAyQTQxNDMxMDAyQTQ0MEI5MDAyQzYwNERGCis6MTBDNDIwMDA2MDAwMDAwMDAwMDAwMDAwQTAxMEE1MDBGOTAxMzI0MEVCCis6MTBDNDMwMDA4QzkwMDMyNzAwQzE5NDMwNDAwRTkwMDMyNDAwRjkwMDMzCis6MTBDNDQwMDAzQTQwMEY5MDAzMjQwMEY5MDAzMjYwMDc5MDI3RTgwNTc2Cis6MTBDNDUwMDAyMDAwMDAwMDAwMDAwMDAwMjgwMEE0MThGOTAwQkU0NERECis6MTBDNDYwMDAwRjkwMDNDNDAwRjkwMEJFNjE4RjkwMDNBNDAwRjEwMDk3Cis6MTBDNDcwMDAxRTQwMEYxMDAzMjQwOEY5MDA3RTQwMEY5MDAzQ0EwMEVECis6MTBDNDgwMDAyMDAwMDAwMDAwMDAwMDAwMjgxMEExODFGODAwMzIwNDA0Cis6MTBDNDkwMDAwQzAwRDMyMTAwRDgwNDNBMTQ5QzgwMDMyMTAxQzgwMDY5Cis6MTBDNEEwMDAzNjAwMEM4MDEzMjAxMEM4MDAzMjAwMkM4MDAzQ0EwNDEwCis6MTBDNEIwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNDNBMDBCRTg0MjM4NTBDCis6MTBDNEMwMDAwOEVDODM2ODA0OEEwMDJGOTA0REEwMDIyODAxREEwMDRFCis6MTBDNEQwMDAyM0IwMEFBMDAyMkEwOERBMDEyMjgwMEZBMDAyQ0EwMEIzCis6MTBDNEUwMDAwMDAwMDAwMDAwMDAwMDAwMjgwNTRDMDBCQkYwMjBDMDQ4Cis6MTBDNEYwMDAwODNDMEEwQzAwOTMwMTI4Qzg4OTMwMDY0QzAwODMwMkNFCis6MTBDNTAwMDAyQ0Y2MDgzMDAyMDQwMEEzMDAyMEMwMEEzMDAyQ0EwMDQyCis6MTBDNTEwMDA1MDAwMDAwMDAwMDAwMDAwMjAwMTFEMTFCMzAwQTBDMDY5Cis6MTBDNTIwMDAwODUwMDI1QzEwODcwMTZEODE0OTMyNTIxRUMzODcwMDlBCis6MTBDNTMwMDAyOEUwMEEzMjI2MUYwMDM3MDAyM0UwMEI3MjAyQzgwMEYxCis6MTBDNTQwMDA0MDAwMDAwMDAwMDAwMDAwMjgwODEyMDBCNzgyMzEyMERGCis6MTBDNTUwMDAwODA4MzcwRjA4RDdFMDM5NjAxOTdBMEI1RTBDODNCMkYwCis6MTBDNTYwMDA3REUwMEM3QTBCM0UwMkFGQTBCMUUwMEU3QTAzQ0EwMjY2Cis6MTBDNTcwMDAwMDAwMDAwMDAwMDAwMDAwMDgxREEwMTBGQjAwM0VDMEVECis6MTBDNTgwMDA2RkIwNDNFQzExRkIwMDNFNDAwRkI1MDNFQzIwRkI1MEI1Cis6MTBDNTkwMDAzNjAwMEZCNTQzRTVBMURCNzgzRUMwMEZCNDAzQzIwNkY5Cis6MTBDNUEwMDA2MDAwMDAwMDAwMDAwMDAwNDAwNUZFMDBGRkEwM0ZBMDZBCis6MTBDNUIwMDAwREM5MTMzRTAwQ0ZEMDNERTgwMkZGMTMzRTAwQ0Y4MkVECis6MTBDNUMwMDAzRjYwMENGQzIzM0UxMEVGODAzM0YyMENGQzgzMTAwMDI0Cis6MTBDNUQwMDA3MDAwMDAwMDAwMDAwMDAwQTgxMTlDNDBCNTAxMkREMEEzCis6MTBDNUUwMDAwODU4MDIxQzQwNTcxMDJENUEyODMxMDJCQzAxOTcxMEUwCis6MTBDNUYwMDAyRDAwMEE3MDAyODQwNENGMDAyOUMwMEFGMDAyMkEwNDI4Cis6MTBDNjAwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDkwMDBCNzJBMkQ4MkFBCis6MTBDNjEwMDAwODQyMjIzQzAwODcxMTBEQ0M4ODMyMDIxRDAwOTcwMDkxCis6MTBDNjIwMDAyQ0M0MDgzMDAyMTQwMEE3MDAyM0MwMDk3MDgyMDAwMDQ3Cis6MTBDNjMwMDAyMDAwMDAwMDAwMDAwMDAwNjAxNEMwMjBCMDIwMkM1MDNBCis6MTBDNjQwMDAwODEwMDIyREMwOTNFMjJDMjEwODMwMDIwRTA4OTMwMDNFCis6MTBDNjUwMDAyQzQwMEEzMDAyOEMwMDkzMDAyQUMwMEIzMDAyMTgwNEQwCis6MTBDNjYwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNUFDMDBGOEMwM0U4MEJCCis6MTBDNjcwMDAyQ0EwMEIzRjAwQzc2MDNFRDAwQ0YwMEIzQzAwQ0YwMDVECis6MTBDNjgwMDAzRTgwMENGMDBCMkMwMEVGMDAzM0MxMERGMDBCMkEwNEEwCis6MTBDNjkwMDA2MDAwMDAwMDAwMDAwMDAwODAwMEVDNDBGMzQwM0U1MENECis6MTBDNkEwMDA4RUI0MDNFQzEwRkIwMDNFMDkwRkIwMTNFQzQyRUIwMDFDCis6MTBDNkIwMDAzQzAwOEZCMDEzQzQxMUUzMDAzRUMwMEVCMDAzRTAwMDk1Cis6MTBDNkMwMDAzMDAwMDAwMDAwMDAwMDAwMDExMEZDMDBGQzgwMzEyMjVFCis6MTBDNkQwMDAwQ0E4MDMzQzAwQ0YwMDMzQTAwRUYwMDNEQzAwQ0YwMDE5Cis6MTBDNkUwMDAxRkYwMENGMDAzRjQwMENGMDIzM0MwMENGMDAyMDA1NDMyCis6MTBDNkYwMDAzMDAwMDAwMDAwMDAwMDAwODEwNDZGMDBCQkMwMjI3MDA5Cis6MTBDNzAwMDAwQUI5NDIyQzEwOEIwMDc2MTE4M0IwMDJFQzEwQUIwMEZBCis6MTBDNzEwMDAyRUIwMEFCMDAzRUMwNDhCMDBBMkMwMjhCMDAyMjA0MDY3Cis6MTBDNzIwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTY1NDBCODIwMjI0NDkxCis6MTBDNzMwMDA1ODM0MEEyQzAwOEIwMDIyODQ0QkIwMDJFQzAwOEIwMDkyCis6MTBDNzQwMDA2RUMwMDhCMDQyRTYwNDhCMDAwMkMwMDgzMDAyQTAwMUFGCis6MTBDNzUwMDA0MDAwMDAwMDAwMDAwMDAwMEMwMDAwMDBCMTAwMjBDMEZDCis6MTBDNzYwMDAwQTMwMEEwQzAwOEIwMzI0ODAwQjMwMDJDQzAwQTMwMDlCCis6MTBDNzcwMDA2QzAwMEEzMDAyOEQwMDgzMDAyMEMwMTgzMDAyODIwMDU1Cis6MTBDNzgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODY0MDBGODAwMzAwMDE1Cis6MTBDNzkwMDA0Q0EwMEIyQzAyQ0YwMDIyNDAwRUY1MDNGQzAwQ0YwMTcxCis6MTBDN0EwMDAzRTAwMENGMDEyREQwMkNGMDIzM0MwNENGMDBCODAwM0QwCis6MTBDN0IwMDAxMDAwMDAwMDAwMDAwMDAwQTQxOUYwMDBGQzAwM0Y0MDQxCis6MTBDN0MwMDAwRkIxMDNEQzAwQkYwMTNGMDAwRkYyMjNGQzEwRkYwMDlDCis6MTBDN0QwMDAzRjAwMEZGMDAxRjQ4NEZGMDAzREMwNEZGMDEzNjgwNkU2Cis6MTBDN0UwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUZFNDBERjgwMzNDODdDCis6MTBDN0YwMDAwQ0Y4MDMzQzBBOUZDMDNGRjAwOEI4MDIzRTAwRkY4MERGCis6MTBDODAwMDAzRkQ4MENGOTYxMkU0MDZGOTAzRkU0OEZGMTgzMzAwMEU4Cis6MTBDODEwMDA3MDAwMDAwMDAwMDAwMDAwODAxMEVDMDQ4QjgwMjNGMDBBCis6MTBDODIwMDAwOEI4MDIzRDQwQUIwMDBFMDg0ODIyODI2QzIwQkIwMEQ1Cis6MTBDODMwMDAyRkQwNDhCMDAyMkMwMEJCMDAyRUMxMEJCMDAyMzAwNDM4Cis6MTBDODQwMDAzMDAwMDAwMDAwMDAwMDAwODgwNUNDMDI4MzAxQTBDNTc0Cis6MTBDODUwMDAwOEIwNEE0Q0EwODAyNDI4QzgwOTMyMDI0QzAwQjMwODEyCis6MTBDODYwMDAyRUQxMjlCMjNBMEM4NEEzMjEyQ0M4NEJCMjBBMzIwMTMyCis6MTBDODcwMDA3MDAwMDAwMDAwMDAwMDAwQzAxNUFDMDg4QjAwMjJDMDUyCis6MTBDODgwMDAwOEIwMDI0QzAwODgyMTI0MjEwOUIwNDY2QzAwQkIwNjg4Cis6MTBDODkwMDAyRUMwMDlCMDAyMkMxMEJCMDAyRUMwMEJCMDAyMzAwNDE5Cis6MTBDOEEwMDA2MDAwMDAwMDAwMDAwMDAwNDAxNUVDMDBDQjAwMzJDMDJBCis6MTBDOEIwMDAwQ0I5MDI2QzAwQ0JDODNBQzAyRDkwMEIyQzA4RkIwMEMxCis6MTBDOEMwMDAzRUMwMEQzMDQyMkMwMEVCMDAzRUMwMEZCMDEzMDAwNDAwCis6MTBDOEQwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMUJDMDBFRjAwM0RDMDVGCis6MTBDOEUwMDAwRkYwMDNCQzA2RUY4MjNGNDA0RUM5ODNCQzAwRkYwMDNGCis6MTBDOEYwMDA3RkMwMUNGMDEzN0MwMEZGMDQzRkMwMEZGMDAzRjgwMDYyCis6MTBDOTAwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMEFDMDBGQjAyM0VDMEQwCis6MTBDOTEwMDAwRUIwMDNBQzIwRDg0MDNFQzA4QzkwMEIyQzAwRkIwMDI2Cis6MTBDOTIwMDAzRUM5MERCMDMzRUMwOEZCMDIzRUMwMEZCMDBCNTQwNEZGCis6MTBDOTMwMDAyMDAwMDAwMDAwMDAwMDAwQzgwNTJDMDBCMzAwMkZDMDNDCis6MTBDOTQwMDAwQjMwMTJGQzAwODhBMDJFNDAyODk0MDIyQzEwQkIwNDRGCis6MTBDOTUwMDAyREMwMjhCMDAyRUMwMEJCMDAyRUMwMEI3MjA2MzIwMEM2Cis6MTBDOTYwMDA0MDAwMDAwMDAwMDAwMDAwRTAwNTZDMDBCMzAwMkNFMDc3Cis6MTBDOTcwMDAwQTEwMDJDRDAwOTMwMDJDQzAwOEIwMDI0QzAwQjMwMDk2Cis6MTBDOTgwMDAyOEMwMDgzMDAyQ0MwMEIzMDAyQ0MwMEIzMDAyM0EwMEEzCis6MTBDOTkwMDA1MDAwMDAwMDAwMDAwMDAwMjAwMTFFNDBCNzgwMkRFMjgyCis6MTBDOUEwMDAwQjU4MDJERTAyOTc4MTJGQTAwODY4MDI1RTAwQjc4MTUzCis6MTBDOUIwMDAyRkUwMDg3OTAyREUwMEI3ODEyREUwMEI3ODAyM0MwMDAxCis6MTBDOUMwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODBDMDBGMzAwM0NDMERDCis6MTBDOUQwMDAwRTMyMDNDQzgwRDMwMDNDQzQwQzM5MDM0QzA4RjMxQTRDCis6MTBDOUUwMDAzQ0M2MEQzMDAzQ0UyMEYzMDgzQ0MwMEYzMDAzNTIwMjhBCis6MTBDOUYwMDAwMDAwMDAwMDAwMDAwMDAwNDAxREFDMDBGQjAwMkVDMDQ1Cis6MTBDQTAwMDAwQkIwMDNDQzIwRUIwMDNDODAwRkIwNDFBQzAwRkIwMDJFCis6MTBDQTEwMDAzQ0MyMEZCMDAzRUM0MEZCMDAzRUMwMEYzMDAzRDAwNjE5Cis6MTBDQTIwMDA2MDAwMDAwMDAwMDAwMDAwQTgwNUVFMDJDMzgwMzBDRUM4Cis6MTBDQTMwMDAwRDk4MDNBQ0EwQzM4MEIyQzAwRkIwMDNFQzAwRkIwMEE0Cis6MTBDQTQwMDAzRUQyNEZCMDA5MkUwODRCMDEzRUMwMjRCMDAzRUEwMDhECis6MTBDQTUwMDA3MDAwMDAwMDAwMDAwMDAwNDgxMTlDMDA4NzAxMjFDMDA4Cis6MTBDQTYwMDA0ODUwMTI0QzAwODcwMDM1QzA0QjYwMDJEQzA0QjcwMTBGCis6MTBDQTcwMDAyREMwMEI3MDAyMUMwMDg3MDAyREMxMEM3MjAyRjIwNDQ1Cis6MTBDQTgwMDA2MDAwMDAwMDAwMDAwMDAwQzAwMDlFMDA4NzgwMjNFMERFCis6MTBDQTkwMDAwOEY4MDJERTgwOEY4MTIxRTA0Qjc4MTJERTA0Mzc4MEI3Cis6MTBDQUEwMDAyREU4MEJGODAyM0UxODg3ODAyRkUwMDk3OTAyRTAwMDlDCis6MTBDQUIwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNENDMDA4MzAwQTBDMDRCCis6MTBDQUMwMDAyODMwNDI0QzAwODMwMDI0QzAwQjM4MDZDQzA0QjMwMDRECis6MTBDQUQwMDAyQ0MwMEIzMDAyMEMwMjgzMDAyQ0MwMDgzMDAyRDIwNEEwCis6MTBDQUUwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUE4MDBDQTAwMzE4MEY2Cis6MTBDQUYwMDAwOEUwMDI5ODAyQ0UwMDMzODQwQkVBMDNFODAwQkEwMDkzCis6MTBDQjAwMDAzRjgxMEZBMDAzMjgwMENBMDAzRTgwMERFMDAzRkEwNDE1Cis6MTBDQjEwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEUwMDBGODAwM0UwMDU3Cis6MTBDQjIwMDAwRTg0MjNBMDAwRjgwMDNBMTAwRjgwMDNFMDAwRjgwMDA0Cis6MTBDQjMwMDAzRTEwMEY4MDEzRTAwMEY4MDAzRTAwMEQ4MDAzRDIwMDhECis6MTBDQjQwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEU0MDFGOTAwM0U0MDQxCis6MTBDQjUwMDAwQzlBMTNFNDAwQzkwMDNFNDAwQzk4MjNFNDgwRjkwMENECis6MTBDQjYwMDAzRTQwMkM5ODAzNjQwMEY5MDAzRTQwMEM5MDAzQzIwNDQwCis6MTBDQjcwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY0MDRCOTAwMkU0MDcyCis6MTBDQjgwMDA2ODlDMjJFNDAyODkwMTdDNTA4RDk4MjJFNDgwQjkyMEJGCis6MTBDQjkwMDAyRTUwNDgxMDBCMjUwMEI5NDQyQzQwMjg5MDAwRTAwMDhFCis6MTBDQkEwMDAxMDAwMDAwMDAwMDAwMDAwMTgwNTI0MDBCOTAwMkU1MEZECis6MTBDQkIwMDAwODkwMDJFNDA0ODkwMDJFNTAwQTkyMDJFNDAwQjkwMEIxCis6MTBDQkMwMDAyQzQwMDg5MTAyMjQwMEI5MDAyRTQwMDg5MDAyQzYwMEIzCis6MTBDQkQwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA1MDBCMTAxMkM0MEU2Cis6MTBDQkUwMDA0ODMwMDJFNDAwODEwMDJBNDA0QjEwMDJDNDAwQjEwMDJBCis6MTBDQkYwMDAwQ0MwMDg5MDAyMEMwMEIzMDAyRTQwNDgxMjAyQzIwMTgzCis6MTBDQzAwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDYwMDBCODAxM0UwMDA4Cis6MTBDQzEwMDAxQzgwMDdFMTUwQzg1MDJFMTQxRTg1MDNFMTQxRjg1MEQ2Cis6MTBDQzIwMDAzRTE0MEM4NTEzMjE0OEY4NTAzRTE0MEM4NTQzRUUwMzQ2Cis6MTBDQzMwMDA1MDAwMDAwMDAwMDAwMDAwOTgxOUM0MDBGOTAwM0U1MUE3Cis6MTBDQzQwMDAwRjUwMDNFNTAwRkQwMDNGNDAxREQwMDNGNDEwRjkwMDM0Cis6MTBDQzUwMDAzRTUwMEY1MDAwOTQwMEY5MDAzRDQwMEY5MTAzRTYwNjRFCis6MTBDQzYwMDA3MDAwMDAwMDAwMDAwMDAwMTgwMUU0NTBDRDAwMzE2MEE5Cis6MTBDQzcwMDAwNEQwMDMzNjgwQzE0MjJFNTAxRjk0MDNFNTAwRTkwMjIwCis6MTBDQzgwMDAyRTcyMEE5MDIyMDUwOEU5NDAzRTUwNDA5QzAzMjYwMDdGCis6MTBDQzkwMDA3MDAwMDAwMDAwMDAwMDAwMzgxMEMyODI4ODAwMjIxNUQ5Cis6MTBDQ0EwMDAwODgwMDIyMzU4ODhBMDJFMjgwQkFBNDJFMjgyODg4MDlFCis6MTBDQ0IwMDAyRTM4Mjg4ODAyMjI4MEI4QTAzQTI4MDhDRDAyMEUwNDE3Cis6MTBDQ0MwMDAzMDAwMDAwMDAwMDAwMDAwMDgwNUM0MDA4MTAwQTY0MEZDCis6MTBDQ0QwMDAyODEwMEEyNDI2OTUwMDBENDAwQjUwMDI3NDAwODUwODg4Cis6MTBDQ0UwMDAyRjQwNzlEMkFBMTQwMEE1MDEyRjQwMzg1MDAyMTIwMTFBCis6MTBDQ0YwMDA3MDAwMDAwMDAwMDAwMDAwMTgxNUE0MDQ4OTAwMjY0MDAwCis6MTBDRDAwMDAwODkxMDIyNDEwOUQwODJGNDAwQkQwMDJGNDAwOEQwMkUwCis6MTBDRDEwMDAyRjQwMDlEMDAwMzQwMEJEMDAwQjQwMTg3MDAyMDYwNEZCCis6MTBDRDIwMDA2MDAwMDAwMDAwMDAwMDAwQTAxNUM0MDBDOTA1MzY0MUU1Cis6MTBDRDMwMDA0QzkwNjMyNDAwRDkwMDNFNDAwQjkwMDM0NDA4QzkwMDg2Cis6MTBDRDQwMDAzRTQwMTUxMDAzMjQwMEU5MDAzQzQwMEM5MDAzMjgwNEU5Cis6MTBDRDUwMDA3MDAwMDAwMDAwMDAwMDAwMjgwMUE0MDRGOTAwM0E0MDFGCis6MTBDRDYwMDA0Rjk4MDNFNDAwRTk5OTNFNDA0RjkwMDNFNDIwRjkwQTBDCis6MTBDRDcwMDAzRTQwMEU5MDQzNjQyNEY5MDgzQTQyMEY5MDhCREEwMDRCCis6MTBDRDgwMDA2MDAwMDAwMDAwMDAwMDAwMjgxMEEwMDBDODAwMTIwMDkxCis6MTBDRDkwMDAwQzgwNDNFMDAwQzg0MDMyMDAwRjg0NTNFMDEwRjgwMERDCis6MTBDREEwMDAzRTAwMEQ4MDIzMjAwMEQ4MDAzRTAwMEY4MDAzMEEwNEJGCis6MTBDREIwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNTM4MDI4MjAwQTE4ODQxCis6MTBDREMwMDAwODYwMjJDODAwOEE0MDM2QTEwQkEwMDJFOTEwQkE0NENDCis6MTBDREQwMDAyQzgwMENBNDEyMjkwMjhBNDQyRTk4MEJBNDAyMEEwMDZCCis6MTBDREUwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTRDMTA4MzAwMjBFMEY3Cis6MTBDREYwMDAxODMwOTJDNDA4OTM0MDIwRTAwQjMwMDJDRDAwQjM0MEJECis6MTBDRTAwMDAyQ0MwMEIzQTQyQ0QwMDgzNDAyQ0QwMEIzODAyNEEwMDk0Cis6MTBDRTEwMDA1MDAwMDAwMDAwMDAwMDAwQTA0MTFDMDA4NzAwMjFDMDVECis6MTBDRTIwMDAyODcwMDJEMTAwOUQ4MDI1QzI0QjYwMDJEQzA4QjcwMjQ5Cis6MTBDRTMwMDAyQ0MwMEE3NDAyRkUwMDg3MDAyREMwMEIzNDAyNjgwMDZCCis6MTBDRTQwMDA0MDAwMDAwMDAwMDAwMDAwQTgwODFFMDBDNzg0MzFFMDc4Cis6MTBDRTUwMDAwQzY4MDNENjAwOTc4MDMxQTAwRjU4MTNERTA4Rjc4MkM0Cis6MTBDRTYwMDAzREEwMEZGODBCREUwMEM3ODAzREUwMEY3ODhCNkEwMjEzCis6MTBDRTcwMDAwMDAwMDAwMDAwMDAwMDAwMDgxREFEODBGMzAwM0VDMTZFCis6MTBDRTgwMDAwRkEwMjNDMDAyRTkwMDNFODEwRjgwMDNFQzAwRkIwMEVECis6MTBDRTkwMDAzRUMwMERCMDEzMkMwMEVCMDAzRUMwMEZCMDAzODIwMjY5Cis6MTBDRUEwMDA2MDAwMDAwMDAwMDAwMDAwMDAwNUZGMzJDNzgwMzM2MDEyCis6MTBDRUIwMDAwRjc4MDMzRUM4NEU4MDIzNjQwQ0Y4MDMzQTAwQ0U4MEZFCis6MTBDRUMwMDAxM0VDMDZEODAzM0EwMERFODAzM0E0MENDODAzRDAwMDZDCis6MTBDRUQwMDA3MDAwMDAwMDAwMDAwMDAwQTgxMTlDMDA4NzEwMDFDMDM1Cis6MTBDRUUwMDAwQjcwMDIxODUwODQwMDJCNDQwODYwMTI5ODAwODYxM0JGCis6MTBDRUYwMDAyMUM0ODg1MDAyMTg4MDg2MDAyMTgwMDg2MTAyRUEwNDVCCis6MTBDRjAwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDlDMDA4NzAwMjE0MDNECis6MTBDRjEwMDAwQkYxMDI1QzgwMDYwMDIxMDA4OEQwMDI1QzAwODcwMEQzCis6MTBDRjIwMDAyMDg5OEFGMTAyMUMwODg3MTAyMTgxODg0ODAyQzYwMEU2Cis6MTBDRjMwMDAyMDAwMDAwMDAwMDAwMDAwMjAxNENDMTA4MzA0QTBDMUQ5Cis6MTBDRjQwMDAwQjMwMEE0ODBDODgwNjYwMzgwODA0NDJFQzAxOEIwNDU4Cis6MTBDRjUwMDAyMkMxMDgzMDBBMkMwMDhCMDAyMjgwMDAyMDAyRDgwNDU1Cis6MTBDRjYwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNUJDMDBDMzAwMjI4MEIzCis6MTBDRjcwMDA4RjkwMDM2NDBBQ0IwMkIyRjIyMDM1MTI2NDBBQzkwMDEyCis6MTBDRjgwMDBCMjQwMEVBMDAzMjQwQUM5MDBBMjQwMkNBMDAzRUUwNDY0Cis6MTBDRjkwMDA2MDAwMDAwMDAwMDAwMDAwODAwMEVDMDBGQjAwM0M4MDBFCis6MTBDRkEwMDAwRjkwMDNBNTAwREI0MDNFRDA0REI0MTNBNDA4RkIwMTU1Cis6MTBDRkIwMDAzRUMwMUNBMDAzNkMwMEZCMDQzRTUwNEZBNDAzRTAwMEU1Cis6MTBDRkMwMDAzMDAwMDAwMDAwMDAwMDAwMDExMEZDMDBGRjAwMzNDMDMyCis6MTBDRkQwMDAwQ0U4NDMyNjAwREY4MEIzRTAwRkY4MDM3QzAwQ0QwMEFGCis6MTBDRkUwMDAzMzA0MENFMDIzMzQ0MENEMDAyMzQwMENFMDAzRTAwNDg0Cis6MTBDRkYwMDAzMDAwMDAwMDAwMDAwMDAwODEwNDZDMTBCQjAwQTJEMkQxCis6MTBEMDAwMDAwODI4MDIwNDYwOEIxOTIyQzYwRUIxOEEyRTQwOEI5MDJDCis6MTBEMDEwMDAyMkMxMDhBNDgyMkMwMDhCOTAyMjY0NDhBNDAyRTAwMDY0Cis6MTBEMDIwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTJDMDBCQjAwMjIwMDYyCis6MTBEMDMwMDAwODkxMkUyNDAwOUIwMDIyQzA4QkIwMTIyMDA0ODgwMDhGCis6MTBEMDQwMDAyMjQwMDgxMDIyMjAwMDg4MDEyQUQwMDg4MDQyRTAwMEY3Cis6MTBEMDUwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDBDMDBCMzA0MjA4MDIxCis6MTBEMDYwMDAwODEwMDYwNDEwODMwMDIwQzA4QkIwMTIwMDAwODIwMDVDCis6MTBEMDcwMDAyMEMwMjgxMDQyMDkwNjgyMDAyOEMwMDgyMDAyQzIwMUYwCis6MTBEMDgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDdDMDBCQjAwMzI0MEVBCis6MTBEMDkwMDAyQ0IwMDMyNDAwRDMwMDMyQzA1RkI1MDMwQzAyQzEwMEUyCis6MTBEMEEwMDBCMjAwMENCMDBCMDUwMEMxMDBCOEMwMkM4MDEzRTAwMzI3Cis6MTBEMEIwMDA1MDAwMDAwMDAwMDAwMDAwQTAxRERDMDBGRjAwMUZDMEE5Cis6MTBEMEMwMDA4N0YwMDFGNDAwRkYwMDNGQzAwRTcwNDNGQzEwN0YwMEFBCis6MTBEMEQwMDAzRkMwMEY3MDAzRkMwMEZGMDAzN0MwMEZFMDAzRTgwNkZECis6MTBEMEUwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUYxODRGRTYxMzFEODJFCis6MTBEMEYwMDAwQ0IyQzNGQ0UwQ0M4MDdCQzAwRUYxMDM3Q0UwQ0M4MzlGCis6MTBEMTAwMDAzRjIwMEZGMENCMzI0NERDODQzRjI1NENGMjQzMzAwMDBCCis6MTBEMTEwMDA3MDAwMDAwMDAwMDAwMDAwODAxMEU0NDhCMDEwMjJEQzI1Cis6MTBEMTIwMDAwOEI2MDJGRDkyODg4NTIzRjQ0MEYxMDJFRDAwODgyREI3Cis6MTBEMTMwMDAwRTYwMEJCQzEyMkMxMEE4ODIyRTAwMEFGQzIyQTAwNDQ4Cis6MTBEMTQwMDAzMDAwMDAwMDAwMDAwMDAwODgwNUMwODBCMzIyMjhDMDI1Cis6MTBEMTUwMDAwODMwODJDQzAxODgwMDJDQzA0QTMyMDJDQzAwMDEwMTg4Cis6MTBEMTYwMDAyODAwNEJCMDAyQTAwMDgwMDAyQzA5MDgzNDAyNjIwMUE0Cis6MTBEMTcwMDA3MDAwMDAwMDAwMDAwMDAwQzAxNUFDMDRCMjEwMkFDMTBECis6MTBEMTgwMDAwOEIwMDJFQzEwODk4MDIyQzAwOEIwMDJFQzA4ODgwMEM4Cis6MTBEMTkwMDAyRTQwODNCMDAyQTA0MEI5ODAyQzIxMEFCMDAyRjAwNEQ2Cis6MTBEMUEwMDA2MDAwMDAwMDAwMDAwMDAwNDAxNUVDMDBGQTAwQkFDMDZBCis6MTBEMUIwMDAyQ0IwNDNFQzAwQzA4MDNFQzA4RUIwMDM0QzBDQzgxMEI1Cis6MTBEMUMwMDAzRTgwOEZCMDAzODIxMEQ4ODIzRTI4MENCMDBCNTAwNEYyCis6MTBEMUQwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMUI2ODBGRDAyMzdDMUQxCis6MTBEMUUwMDAwRkIwMDNGQzAwRkQwMDNFQzAwRkIwNTNGQzAyRkYwMTc2Cis6MTBEMUYwMDAyRkE0OEJGMDgzN0MwMEFEMDIyRjQwMDM3MDAzQjgwMDk2Cis6MTBEMjAwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMEFDMDBGQjA0MzJDMEQxCis6MTBEMjEwMDA0Q0IwMjMyQzAwRjg0MDNFQzIwQ0IwMDMyQzAwRkI0MTY0Cis6MTBEMjIwMDAzMkMyMEZCMDQzMkQwMEM4NTAzRTQwMENCMDBCMTAwNDZBCis6MTBEMjMwMDAyMDAwMDAwMDAwMDAwMDAwQzgwNTJGOTBCOTUwMDNDMDc2Cis6MTBEMjQwMDAxOEYwMUEzQzAwQjkzMjJERTAzOEYwNjAzQzA0RjkwMEM3Cis6MTBEMjUwMDAzRUYwMEI3QzgwMkMwMEQ5QzAyRTQwMERGMDAyMzIwMDM1Cis6MTBEMjYwMDA0MDAwMDAwMDAwMDAwMDAwRTAwNTRCMjRCMjEwMDJDMUE1Cis6MTBEMjcwMDAyODMwMDI2QzA0QjJDMTJDQzAwODMwMDAwQzAwQjIwMDhGCis6MTBEMjgwMDAyODI0MDMzQzBBMDAwMDgyQzgyQ0EwMDgzMDAyMzgwMDgxCis6MTBEMjkwMDA1MDAwMDAwMDAwMDAwMDAwMjAwMTE2MDBCNDgwMjFFNENFCis6MTBEMkEwMDA0ODdCMDI1RTAwQjY4MDZERTI0ODc5MjIxRTQwQUM4NDY1Cis6MTBEMkIwMDAyREUwMEJGQTAwNTI0MDk2ODAyREU4MTkzODAyMDgwMDQ0Cis6MTBEMkMwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODA4NDBGMzEwQjBDNDBGCis6MTBEMkQwMDAwODNBMDI0QzkwRjMxMDNDQ0MwODMxMDMwQzQ5QjA0MEEyCis6MTBEMkUwMDAzMDA1MEYzMDA3MjE0MDQzMDEzRUMyMUMzMDQzMTIwMjdCCis6MTBEMkYwMDAwMDAwMDAwMDAwMDAwMDAwNDAwREJDMTBGQzEwM0ZDNTA1Cis6MTBEMzAwMDAwRkYxMDFCQzA0RkYwNDNGQzQwRkIxNEJGQzY0RjcwMEY0Cis6MTBEMzEwMDAzN0MwMEY3MjUzQUM0NEZGMDEzRkM5MEZGNDAzRDAwNjZFCis6MTBEMzIwMDA2MDAwMDAwMDAwMDAwMDAwQTgwNUVDMDhGQTAwM0VFMEU0Cis6MTBEMzMwMDAwQ0IwMDMyQzAwQ0IwMjNFQ0EwRkIyMDcyRTAwREIwMjVBCis6MTBEMzQwMDAzMjA4MEYzMTAzMkMwMENCMDQzRTgwMEMzNTAzMkEwMDM5Cis6MTBEMzUwMDA3MDAwMDAwMDAwMDAwMDAwNDgxMTk0MDBCNTAwMkRDOEM2Cis6MTBEMzYwMDAwODcwMEExQzIyODcwMDJEQzkwQkYyODI5QzgwQTYwMDNGCis6MTBEMzcwMDAwOThCMEI3MDBBMUMwMjg1MDAyRDQwMDg3MDAyOTIwNDc0Cis6MTBEMzgwMDA2MDAwMDAwMDAwMDAwMDAwQzAwMDlFMDBCNzgwMkNFQzkwCis6MTBEMzkwMDAwODdCMDI1RTQwODU4OTJERUM4QjdCMDI0RTg0OEY4MDVBCis6MTBEM0EwMDAyNTY0MEJGQTAyMTIwODk3ODA2RkUxMDg3QTAyMzAwMEI4Cis6MTBEM0IwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNENDMjBCMzY0MkNDMDAyCis6MTBEM0MwMDAwODMwMDYwQzEwODM4QTZDQzA1QjMwNDJDQzAwQUIxMDc2Cis6MTBEM0QwMDAyQ0YyMEIzMDAyMEQwMDkzMDQyQ0Q1MDgzMDBBOTIwNDc1Cis6MTBEM0UwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUJCMDBGRUMwM0U4MEQ5Cis6MTBEM0YwMDAyQ0EwMDM2ODAwQzY0MDNGODAwRkEwMDI2ODAwQ0U0NDA2Cis6MTBENDAwMDAzNjkwNEY2MDAzMUI3MERFRDgzRkEwMEMyMDAzM0EwNDE3Cis6MTBENDEwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEUwNDBGODEwM0UwMEZFCis6MTBENDIwMDAwRjgwMDNBMDEwRjg0MjNFMTAxRjgwMDNBMDAwRTgwQ0ZDCis6MTBENDMwMDAzQTA0MUY4MDAzRTAwMEU4NDU3RTAyMkY4MDAzRDIwMEZCCis6MTBENDQwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMDY0MDBFOTgwMzI0MDU1Cis6MTBENDUwMDAwRjkwMEIwNDA4RDk4MDM2NDAwRjEwMTMyNDA4RjkwMEYwCis6MTBENDYwMDA3MjcwMEY5MTEzMjQxMEM5MTAzRTY5MEM5MDAzMDIwNENFCis6MTBENDcwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY0MDhCOTgwMjI0MEYxCis6MTBENDgwMDAwQjEwMDIyNDAwODlDNDIyNTIwQjkwNDIyNDAwQjkwMEUwCis6MTBENDkwMDAyMkUwMEI5MDEyMjQwNEQ5NEEyRTYwMDg5MDAzNjAwMDA5Cis6MTBENEEwMDAxMDAwMDAwMDAwMDAwMDAwMTgwNTI0MDBCMTE4MjI0MDAwCis6MTBENEIwMDAwQjkwMDIyNDAwOEIyMDI2NDkwQjkwMDI2NDAwQjkwMEQ3Cis6MTBENEMwMDBBMjQwMEI5MDhBMjQwMDhCMDAyQzQwQTg5MDAyMDYwMEZBCis6MTBENEQwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA0ODRCMTIwQTA0OEJGCis6MTBENEUwMDAwQjExMDYwNDAwODMwMDAwNDA0QjExMDIwNDQ5QjExMEU3Cis6MTBENEYwMDAyODQwMEIxMDAyMjQ0MTkxMDAyQzUwMDgxMDAyNDIwMUQ4Cis6MTBENTAwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDY5NDBFODUwMzIxNDJGCis6MTBENTEwMDAwRjg2OTMyMUUyQzgwMDM2MEEwQjg2OEI2MUE4Rjg0MDdCCis6MTBENTIwMDAyMjgwMEY4MkEzMjEwOEM4MDIzRTAwMEM4MDQzMkUwM0Y0Cis6MTBENTMwMDA1MDAwMDAwMDAwMDAwMDAwOTgxREY0NDhGRDEyM0U0NDE5Cis6MTBENTQwMDAwRjEyMDNDNDAwN0QwMTFFNDAwQjkyMDNFNDgwRjUyMEZFCis6MTBENTUwMDAzNjQwMEY5MDAzRDQ5MDdEMDAzRDQwMEY5NDAzRTYwNkMzCis6MTBENTYwMDA3MDAwMDAwMDAwMDAwMDAwMTgwMUY2QzFERDg4MzI3MjcyCis6MTBENTcwMDAwQzk4MDMyNjIyREQwMDNGNjIyQzk5ODM0NkEwQzk0MDA3Cis6MTBENTgwMDBCMjQwMEZEODAzMjQwMEZEMDAzMzUxMkNEODgzMDYwMDhECis6MTBENTkwMDA3MDAwMDAwMDAwMDAwMDAwMzgxMEUzQzI4OEMwMjIzMDk0Cis6MTBENUEwMDAwODhDNDIyMjExOEEwMTJFMDAwODg4NTIyMzAwODBBMzkxCis6MTBENUIwMDAyQTAwNEI4MDQyMjJBMEI4MDAyMjI4MDg4NDAyOEUwNDUwCis6MTBENUMwMDAzMDAwMDAwMDAwMDAwMDAwMDgwNUM0MDA4MTJEMjA0ODQ0Cis6MTBENUQwMDA2ODE0ODAwNDIwODEwMDJFNDAwQjEyMTIwNDI0ODEyMDQ0Cis6MTBENUUwMDAyMDQwMEI5NDMyMDQ5MEI5MDAyMDQwNDgxMDRBMDIwMUI4Cis6MTBENUYwMDA3MDAwMDAwMDAwMDAwMDAwMTgxNUE0MDA4OTIwMjI0MERGCis6MTBENjAwMDAwODkwMTIyNDAwODkwMDJFNDAwODkwMDIyNDA4ODk0MEM2Cis6MTBENjEwMDAyMjUwMEJCMDAyMjQyMEI5MDlBMjQ0MDg5MDAyODYwNENCCis6MTBENjIwMDA2MDAwMDAwMDAwMDAwMDAwQTAxNUU0MDBEOTA4QjI0MDJFCis6MTBENjMwMDA0QzEwMjMwNDA0RDlDMTNFNDA4RjkwMEIwNDA4QzE0MDE0Cis6MTBENjQwMDAxMjQwMEY5MDQzMjQwNEYxNDEzMDc4MEM5MDAzMjgwNEQ5Cis6MTBENjUwMDA3MDAwMDAwMDAwMDAwMDAwMjgwMTg2NjRGOTgwM0U0MDUwCis6MTBENjYwMDAwRjkwMEJFNDAwRjk5ODNFNDAyRjEwMDNBNDAyRjkxMDJDCis6MTBENjcwMDAzRTQwMEY5MDBCRTY0MEY5OTAzRTYwMEY5MDAzQ0EwMEM5Cis6MTBENjgwMDA2MDAwMDAwMDAwMDAwMDAwMjgxMEEwMDBDODQxMzIwMDI3Cis6MTBENjkwMDAwQzgwMDcyMDEwQzgxMDNFMEMwRTgwMDNFMDA0QzgwMDY4Cis6MTBENkEwMDBCQTAwMEY4MTQzMjAwMEY4NzAzRTAwMEYwMDBCMEEwNEZGCis6MTBENkIwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNTM5MDI4RTIwQTM4MDExCis6MTBENkMwMDAyOEUwMEEzODEwQUUwNDNEQTE4RUUwMDJGODAwOEUwMDdBCis6MTBENkQwMDA3NjgwMEI2MDAzNzgwMEJFNDAyRjgyMEJBMDAzQ0EwMDQ3Cis6MTBENkUwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTREMDA4Qjg4MjJDMDhCCis6MTBENkYwMDAxODMwMDIwQzAwODM0NDJDRDAxQjMwMTJDQzA2ODMwMDVGCis6MTBENzAwMDAyMEMxMEIzMDgyMEMwMUIzMDAyQzQwMEIzMDAyMEEwMDA4Cis6MTBENzEwMDA1MDAwMDAwMDAwMDAwMDAwQTAwMTFDMDA4NTAwMjBDQzhCCis6MTBENzIwMDAwODcwMDYxQzg0QTcwMTI5QzAwQjcyMjJEQzgwODczNDk0Cis6MTBENzMwMDA2MTgwMEIxMDAyNUMwMEI3MDAyREMwMEI3MDAyRTgwMDg2Cis6MTBENzQwMDA0MDAwMDAwMDAwMDAwMDAwQTgwODBFMDA4QzgwMzFFMEJFCis6MTBENzUwMDAwQ0ZFMDIzRjAwQzU4MDJERTAwRTc4MDNERkEwQzdBMEJECis6MTBENzYwMDAyMTYwMEY3ODAzMUU4MEY3ODAzREUwMEY3ODAzMkEwMkM2Cis6MTBENzcwMDAwMDAwMDAwMDAwMDAwMDAwMDgxREFDMDBGOTAwM0VDMEUxCis6MTBENzgwMDAwRkIwMDNFQzAwRkEwMDNFQzAwNkIwMDNFQzgwRkIyOEFCCis6MTBENzkwMDAzNkQ4NEZBMDAzRUMxMEZBMDAzRTUwMEYzMDAzQzIwNkZCCis6MTBEN0EwMDA2MDAwMDAwMDAwMDAwMDAwMDAwNUZBMDBDQzgwQjNFMDNCCis6MTBEN0IwMDAwRkY4MDMzRTAwQ0Y5MDNGNjA0RkY4QzMzRTAwRUY4MDZDCis6MTBEN0MwMDAzM0YwMEM3QTAzM0U3MEM1OTAzM0YxMEM3ODAzMDAwMEZGCis6MTBEN0QwMDA3MDAwMDAwMDAwMDAwMDAwQTgxMUI4MDA4NzAwMjFDMDAwCis6MTBEN0UwMDAwQjcwNEExQzAwODcxMDJEQzA0QjcxMEEzQzQ0OEYxMkVECis6MTBEN0YwMDAyMTg2MEQ3MjAyMUUwMDg3MDAyMzQwMDg3MDBBMkEwNDQ5Cis6MTBEODAwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDlDMDA4NDAwMjVDMEIzCis6MTBEODEwMDAwQjcxMEEwQzAwQTcxMjJEODQwQjcwMEExQzAwQjcwOEFDCis6MTBEODIwMDAyMzQwMDlGMzFBNUM4Njk3MDgyNTQwMDg3MDAyMDAwMDFGCis6MTBEODMwMDAyMDAwMDAwMDAwMDAwMDAwMjAxNENDMjA4MTIwMjZDMDIxCis6MTBEODQwMDAwQjMwMDIyQzAwODI0MjJDODAwQjMwMjIwQzA4OUI4MDczCis6MTBEODUwMDAyMEUwMDkyMDAyNEQwODkyMDAyNEU1MDgzMDBBMDgwNDVGCis6MTBEODYwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNUFFODJDQUUwQjdDMDdBCis6MTBEODcwMDAwRkYwMTMzQzBBQzlDODNFNDAwRkYwMDMzQzA0RkY4NDdDCis6MTBEODgwMDAzMkMwMEQ5MDEzN0MwMEQ5MDBGNkMwMkMxMDAzMkEwNDdFCis6MTBEODkwMDA2MDAwMDAwMDAwMDAwMDAwODAwMEU0MDBGMzAwM0FDMUQ2Cis6MTBEOEEwMDA0RkIwMDNFQzAwRjkwODNDMDAwRjMwMTNFQzAwRUIwNDIwCis6MTBEOEIwMDBCRTE4MEY5MDIzQUM2MEU5MDIzQTQwNEY5MDAzRTAwMDlECis6MTBEOEMwMDAzMDAwMDAwMDAwMDAwMDAwMDExMEZDMDBDQTAwMzNDMDVFCis6MTBEOEQwMDAwQ0YwMDNGQzAwQ0QwMjdGNDAwQ0YwNDIzQzAwQ0YwODZFCis6MTBEOEUwMDAzNzEwMEZEMDAzRkMxMENEMDgzRjY2MkNEOTAzMDA0NDNECis6MTBEOEYwMDAzMDAwMDAwMDAwMDAwMDAwODEwNDYzODA4QkUwMjJDMDQzCis6MTBEOTAwMDAwOEIwMjJFQzAwRDg4MDZFMjA2OEIwMUEyQzAxRkIwMDExCis6MTBEOTEwMDAyMjE4MEI4ODQzNEMwMDg4QTAyQ0MwMUQ5MDAyMjA0MDg4Cis6MTBEOTIwMDAxMDAwMDAwMDAwMDAwMDAwODAwMTA4ODA4QjIwMjJDMDUxCis6MTBEOTMwMDAwOEIwMjJFQzAwODg4ODJFNjI0OEIwMUFDQzAwOEIwMDE4Cis6MTBEOTQwMDAyNkMwNEE4ODAyRUMwMDA4ODQyRTQwMDk5MDAyMjAwMDdDCis6MTBEOTUwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDAwMDA4MzAwNjBDMEQ4Cis6MTBEOTYwMDAwODMwMDJDQzAwOTAwNjZDMDAwODMwMDI4QzAwQTMwNDQyCis6MTBEOTcwMDAyMDAwOEIwMDA2NEMyMTgwMDA2Q0MwNDkxMDBBMDIwMTc3Cis6MTBEOTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDZDMDBDQTAwQjJDMUUxCis6MTBEOTkwMDA4OEI0MDNFQzEwQzgwMDJFMDAwQ0IwMEJCQzA4OEYwMDNDCis6MTBEOUEwMDAzNjAwMDY4MDAzRUM4MEM4MDIzRkMxMEM5MDAzMDAwM0UwCis6MTBEOUIwMDA1MDAwMDAwMDAwMDAwMDAwQTAxREYwMDBGRjAwM0ZDMDZDCis6MTBEOUMwMDAwRjcyODNGQzE4RkMwMzNGMDA4RjcwMDM3QzAwRkYwMDg0Cis6MTBEOUQwMDAzRDAwMEZDMDIzOEMwNkZDMDAzRjQwMEVEMDAzRTgwNjNDCis6MTBEOUUwMDA3MDAwMDAwMDAwMDAwMDAwMDBDNTQxMDM3MDQwREMxMDIyCis6MTBEOUYwMDAzNzA0MERDMTAzNzA0MERDMTAzNzA0MERDMTAxNzA0MEM1Cis6MTBEQTAwMDA5QzEwMTcxNDA1QzEwMzcwNDBEQzEwMTcwNDBEQzAzMUMxCis6MTBEQTEwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNTQ0MDU3MTAxNUM0MEVBCis6MTBEQTIwMDA1NzEwMTVDNDA1MjEwMTVDNDA1NzEwMTVDNDAxNzEwMTQwCis6MTBEQTMwMDA1QzQwMTcxMDA1QzQwNTcxMDU1QzQxNTcxMDE1QzAxMUY1Cis6MTBEQTQwMDA1MDAwMDAwMDAwMDAwMDAwMDA4MDAyMDEyMDgwNDgyMEZCCis6MTBEQTUwMDAxMjA4MDQ4MjAxMjA4MDQ4MjAxMjA4MDQ4MjAxMjA4MERDCis6MTBEQTYwMDA0ODIwMTIwODA0ODIwMTIwODA0ODIwMTIwODA0ODAyMEU3Cis6MTBEQTcwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MDAwMDA2MDAwNTgwMDZFCis6MTBEQTgwMDAxNjAwMDU4MDAxNjAwMDU4MDAxNjAwMDU4MDA1NjAwMDQyCis6MTBEQTkwMDA1ODAwMTYxODAxODAwMTYwMDA1ODAwNTYwMDA1ODAyMENCCis6MTBEQUEwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNTQ4MDUyMjAxMUM4MEE1Cis6MTBEQUIwMDA0NzIwMTFDODA0NzIwMTVDODA1NzIwMTFDODA0NzI0MUNDCis6MTBEQUMwMDA1QzgwNTcyMDExQzgwNDcyMDExQzgwNDcyMDE1QzAzMUFBCis6MTBEQUQwMDA1MDAwMDAwMDAwMDAwMDAwMDBDNTQwMDA2MDAwMTgwMDc5Cis6MTBEQUUwMDAwNjAwMDE4MDAwNjAwMDE4MDAwNjAwMDE4MDAwNjAwMDUwCis6MTBEQUYwMDAxODAwMDYwMDAxODAwMDYwMDAxODAwMDYwMDAxODAzMTU3Cis6MTBEQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNTQ4MDQyMjAxMDg4MDU5Cis6MTBEQjEwMDA0MjIwMTA4ODA0MjIwMTA4ODA0MjIwMTA4MDA0MjMwMTQyCis6MTBEQjIwMDAwODgwNDIyMDEwODgwNDIyMDEwODAwNDIyMDEwODAyMTMxCis6MTBEQjMwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNTRBMDU0MjgxNTBBMDFFCis6MTBEQjQwMDA0NDJDMTEwQjA0NDI4MTEwRTA1NDI4MTEwMjAwNDI4MTQwCis6MTBEQjUwMDAxMEEwNDQzODExMEIwNTQyODExMDIxMTQyODE1MDAzMTAyCis6MTBEQjYwMDA1MDAwMDAwMDAwMDAwMDAwMDA4MDBDMDE1NzAwNTRDMDZECis6MTBEQjcwMDAxNTMwMDQ0QzAxMTMwMDU0QzAxNTcwMDU0QzAxNTMwMEJFCis6MTBEQjgwMDA1NEMwMTUzMDg1NEMwMTEzMDA1NEMwMTUzMDA1NDAyMTk4Cis6MTBEQjkwMDA0MDAwMDAwMDAwMDAwMDAwMDA4MDAwMDA0MDAwMTAwMDc1Cis6MTBEQkEwMDAwNDAwMDA0MDAwMTAwMDEwNjIwNDAwMDEwODA0NDEwMDVECis6MTBEQkIwMDAxMDAwNDQxODExMDAwMDEwMDAxMDgwMDQwMDAxMDEyMDIyCis6MTBEQkMwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NTYwMDIwODAwODIwMDI0Cis6MTBEQkQwMDAyMDgwMDg2MDAyMTgwMDgyMDAyMDgwMDgyMDAwMDgyMEIxCis6MTBEQkUwMDA4MjAwMDA4MDgwMjAwMjE4MDA4MjAwMjA4MDA4MDEzMTFECis6MTBEQkYwMDA1MDAwMDAwMDAwMDAwMDAwMDBDNTQwMDU2NDAxNTgwMDBFCis6MTBEQzAwMDA1NjAwMTU4MDA1NjAwMTU4MDA1NjQwMTU4MDA1NjAwMURBCis6MTBEQzEwMDA1ODAwNTYwMDE1ODAwNTYwMDE1ODAwNzYwMDE1ODAzMUM3Cis6MTBEQzIwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNTQwMDM2MDAwRDgwMEI0Cis6MTBEQzMwMDAzNjAwMEQ4MDAzNjAwMDk4MDAzNjAwMUQ4ODA1NjAwMEU2Cis6MTBEQzQwMDBEODAwMTYwMDBEODAwMzYwMDBEODgwNDYwMDBEODAzMTlBCis6MTBEQzUwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNTQyMDQzMDgxMEMyMERDCis6MTBEQzYwMDA0MzA4MTBDMjA0MzA4MTBDMjI0MTA4MThDMjA0MzA4OUQ0Cis6MTBEQzcwMDAwQzIwMDMwODEwQzIwNDMwODEwQzIwNDMwODEwQzAxMDhGCis6MTBEQzgwMDA1MDAwMDAwMDAwMDAwMDAwMDA4MDAwMDAzMDAwMEMwMDg4Cis6MTBEQzkwMDAwMzAwMDBDMDAwMzAwMDBDMDAwMzAwMDBDMDAwMzAwMDkyCis6MTBEQ0EwMDAwQzAwMDMwMDAwQzAwMDMwMDAwQzAwMDMwMDAwQzAwMUE1Cis6MTBEQ0IwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MDAyMDEzMDgwNEMyMEM1Cis6MTBEQ0MwMDAxMzA4MDRDMjAxMzA4MDRDMjAxMzA4MDRDMzAxMzA4MEMzCis6MTBEQ0QwMDA0QzIwMTMwODA0QzIwMTMwODA0QzMwMTMwODA0QzAyMUNBCis6MTBEQ0UwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNTQyMDU2MDgxNTgyMENGCis6MTBEQ0YwMDA1NjA4MTE4MjA1NjA4MTU4MjA1NjA4MTE4MzAwNjA4MTAyCis6MTBERDAwMDA1ODIwNDYwODExODIwNDYwODExODMwNTYwODE1ODAzMDZBCis6MTBERDEwMDA1MDAwMDAwMDAwMDAwMDAwMDBDNTQyMDAyMDgwMDgyMEU0Cis6MTBERDIwMDAwMjA4MDA4MjAwMjA4MDA4MjAwMjA4MDA4MjAwMzA4MDYzCis6MTBERDMwMDAwODIwMDIwMDAwODIwMDIwODAwODIwMDMwODAwODAzMUIzCis6MTBERDQwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNTQyMDQ2MDgxMTgyMEFGCis6MTBERDUwMDA0NjQ4MTE5MjA0NjA4MTE5MjA0NjI4MTE4MjAwMzQ4MUJFCis6MTBERDYwMDAxODIwNDY0ODExOTIwNDYwODExODIwNDMwODExODAxMTQwCis6MTBERDcwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNTYwMDQ1ODAxNTYwMENCCis6MTBERDgwMDA1NTgwMTU2MDA0NTgwMTE2MDA1NTgwMDE2MDA0MTgwMTgzCis6MTBERDkwMDA1NjAwNDU4MDExNjAwNDU4MDExNjAwNDE4MDExNDAzMTQxCis6MTBEREEwMDA1MDAwMDAwMDAwMDAwMDAwMDA4MDA2MDE0MTgwNTA2MDJCCis6MTBEREIwMDAxNDE4MDUwNjAxNDE4MDUwNjAwNDE4MDUwNjAwNDE4MEQyCis6MTBEREMwMDAxMDYwMTQxODA1MDYwMTQxODA1MDYwMTQxODA1MDAyMEU5Cis6MTBEREQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMDEwMDgwNDAyMDYwCis6MTBEREUwMDAxMDQ4MDQxMjAxMDA4MDQxMjAxMDA4MDQwMjAxMDQ4MDQwCis6MTBEREYwMDA0MDIwNTA0ODA0MTIwMTAwODQ0MDIwMTAwODA0MDAyMEY0Cis6MTBERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNTQ2MDM1MTgwRDQ2MEZGCis6MTBERTEwMDAzMDE4MEQ0NjAzNTE4MEQ1NjAzNTE4MEQ0NjAzMDU4MDM2Cis6MTBERTIwMDBENDYwMTUxODBENDYwMzExODBENDYwMzUxODBENDAzMUFCCis6MTBERTMwMDA1MDAwMDAwMDAwMDAwMDAwMDBDNTQ2MDU3MTgwNUM2MEQ1Cis6MTBERTQwMDA5NzE4MTVDNjA1NzE4MTVDMjA1NzE4MTVDNjAzNzA4MTk3Cis6MTBERTUwMDA1QzYwNTcxODExQzYwNTMxODE1QzYwNzcxODE1QzAzMUI4Cis6MTBERTYwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NTQ2MDM3MTgwREM2MEY3Cis6MTBERTcwMDAzNzE4MERDNjAzNzE4MERENjAzNzE4MDVDNjAxNzU4MTNFCis6MTBERTgwMDBEQzYwMzcxODBEQzYwMzcxODQ1QzYwMTcxODE5QzAxMTY3Cis6MTBERTkwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NTQ2MDU3MTgxNUM2MDQ0Cis6MTBERUEwMDA1NzE4MTQ4NjA1NzE4MTVDNjA1NzE4MDVDNjA0MzE4MUM2Cis6MTBERUIwMDA1QzYwNTcxODE1QzYwNTcxODA1QzYwNDMxODE1QzAxMTY5Cis6MTBERUMwMDA1MDAwMDAwMDAwMDAwMDAwMDAwMDAyMDEyMDgwNDgyMEY3Cis6MTBERUQwMDAxMjA4MDQ4MjAxMjA4MDQ4MjAxMjA4MDQ4MjAxNzA4MDA4Cis6MTBERUUwMDA0ODIwMTIwODA0ODIwMTIwODA0ODIwMTcwODA0ODAwMDdFCis6MTBERUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MDE2MTgwNTg2MDgyCis6MTBERjAwMDAxNjE4NDE4NjAxNjE4MDE4NjAwNjNDMDU4NjA0NjE4MDEwCis6MTBERjEwMDAxODYwMTYxODAxODYwMDYxODA1ODYwNTYxODE1ODAxMDI4Cis6MTBERjIwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NTQwMDU3MDAxNUMwMDlBCis6MTBERjMwMDA1NzAwMTVDMDA0NzAwMTVDMDA1NzAwMTBDMDA0NzAwMDQ5Cis6MTBERjQwMDAxQzAwNDcwMDExQzAwNDcwMDE1QzAwNDcwMDAxQzAxMUIzCis6MTBERjUwMDA1MDAwMDAwMDAwMDAwMDAwMDA0NTQyMDA2MDgwMTgyMEQyCis6MTBERjYwMDAwNjA4MDE4MjAwNjA4MDE4MjAwNjA4MDA4MjAwNjA4MDk4Cis6MTBERjcwMDAxODIwMDYwODAxODIwMDYwODAxODIwMDYwODAxODAxMTIwCis6MTBERjgwMDA0MDAwMDAwMDAwMDAwMDAwMDAwNTQyMDQyMDgxMDgyMDNECis6MTBERjkwMDA0MjA4MTA4MjA0MjA4MTA4MjA0MjA4MTE4MjA0MjA4MDU3Cis6MTBERkEwMDAwODIwNDIwODEwODIwNDIwODEwODIwNDIwODAwODAxMUM1Cis6MTBERkIwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NTQyMDU0MDgxNTAyMEE0Cis6MTBERkMwMDA1NDA4MTUwMjA1NDA4MTEwMjA1NDBDMTU0MjAwNDA4MTcwCis6MTBERkQwMDA1MDIwNDQwODExMDIwNTQwODExMDIwMTQwODA1MDAxMTRBCis6MTBERkUwMDA1MDAwMDAwMDAwMDAwMDAwMDAwMTAzMDE1MEMwNTQzMDQ4Cis6MTBERkYwMDAxNTA4MDU0MjAxNTBDMDU0MzAxNTBDMDU0MzAxNTBDMEFFCis6MTBFMDAwMDA1NDMwMTUwQzA1NDIwMTUwQzA1NDMwMTUwQzA1NDAxMDE5Cis6MTBFMDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MDA0MjAwMTA4MDI2Cis6MTBFMDIwMDAwNDIwMDE4ODAwNjIwMDEwODAwNDAwMTEwODAwNDIwMEYyCis6MTBFMDMwMDAxMDgwMDQyMDAxMDgwMDQyMDExMDgwMDQyMDAxMDAwMDJCCis6MTBFMDQwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NTQyMDIwMDgwODAyMDI3Cis6MTBFMDUwMDAyMDA4MDgwMjAyMjA4MDgwMjAyMDI4MDAwMjAyMDA4MDgwCis6MTBFMDYwMDA4MDIwMjAwQTA4MDIwMjAwODAwMDIwMjAwODA4MDAxMUY5Cis6MTBFMDcwMDA1MDAwMDAwMDAwMDAwMDAwMDA0NTQwMDU2MDAxNTgwMDBECis6MTBFMDgwMDA1NjAwMDU4MDA1NjAwMTU4MDg1NjAwMTU4MDA3NjAwMjlCCis6MTBFMDkwMDA1ODAwNTY0MDE1ODAwNTYwMDMxODAwNzYwMDE1ODAxMTYxCis6MTBFMEEwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNTQwMDM2MDAwRDgwMDMwCis6MTBFMEIwMDAzNjAwMEQ4MDAxNjAwMEQ4MEEzNjAwMEQ4MDA1NzAwOTE5Cis6MTBFMEMwMDBEODAxMzYwMDBEODAwMzYwMDBEODAwNTcwMDBEODAwMDk1Cis6MTBFMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQzMDAxMEMwMEZGCis6MTBFMEUwMDA0MzAwMTBDMDAwMzAwMTBDMDA0MzIwMTBDMDA0NjAwMTQ4Cis6MTBFMEYwMDAwQzAwNDM0MDUwQzEwNDMwMDEwQzAwNDYwMDEwQzAwMDI5Cis6MTBFMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMDAwMEMwMEQzCis6MTBFMTEwMDAwMTAwMDBDMDAwMzAwMDBDMDAwMzAwMDBEMDAwMjAwMDBGCis6MTBFMTIwMDAwQzAwMDM0MDAwQzAwMDMwMDAwRDAwMDIwMDAwQzAwMEUxCis6MTBFMTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MDEzMTQwNEM1MENDCis6MTBFMTQwMDAxMzEwMDRDNDAxMzE0MDRDNTAxMzE0MDRDNTExMzE0MTYzCis6MTBFMTUwMDA0QzUwMTMxNDA0QzUwMTMxNDA0QzUwMTMxNDA0QzAwMDNBCis6MTBFMTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIzMDU2OEMxNUEzMEQ0Cis6MTBFMTcwMDA1NjhDMTFBMzA0NjhDMTFBMzA1NjhDMTFBMzA1NjhDMENGCis6MTBFMTgwMDA1QTMwNDY4QzExQTMwNDY4QzE1QTMwMTY4QzE1ODAwMDkxCis6MTBFMTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMDAwMDgwMDU3Cis6MTBFMUEwMDAwMjAwMDA4MDAwMjAwMDA4MDAwMjIwMDA5MDAwMjAwMEYzCis6MTBFMUIwMDAwODAwMDI0MDAwODAwMDIwMDAwOTAwMDIwMDAwODAwMEVBCis6MTBFMUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NDQ2MjAxMTg4NDA0Cis6MTBFMUQwMDA0NjIxMTE4ODQ0NjIxMTE4ODQ0NjAxMTE4ODQ0NjIxMDU2Cis6MTBFMUUwMDAxODg0NDYyMTExODg0NDYyMTExODg0MDYyMTExODAwMDg4Cis6MTBFMUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDU1MDExNTQwNDIxCis6MTBFMjAwMDA1NTAxMTE0MDQ1NTAxMTE0MDA0NTAxMTE0MDQ0NTAwMDgyCis6MTBFMjEwMDAxNDA0NDUwMDE1NDA0NDUwMTExNDA0NTUwMTExNDAwMEU4Cis6MTBFMjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MjE0MjA4NTA4MkE5Cis6MTBFMjMwMDAxNDIwODUwODIxNDIwODUwODIwNDIwODUwODIxNDIwOEM0Cis6MTBFMjQwMDA1MDgyMTQyMDA1MDgyMTQyMDg1MDgyMTQyMDg1MDAwMEM1Cis6MTBFMjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMDEwMjgwNDBBMDUxCis6MTBFMjYwMDAxMDI4MDQwQTAxMDI4MDQwQTAxMDI4NDAwQTAxMDI4MDAwCis6MTBFMjcwMDA0MEEwMTAyODQ0MEEwMTAyODA0MEEwMTAyODA0MDAwMDk5Cis6MTBFMjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMDM1MzAwRDRDMDk4Cis6MTBFMjkwMDAzNTMwMEQ0QzAxNTMwMEQ0QzAzNTEwMEM0QzAzNTMwMEU1Cis6MTBFMkEwMDBENEMwMzUzMDBENEMwMzUzMDBENEMwMzUzMDBENDAwMDgwCis6MTBFMkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MDU3MjAxNUM4MDAyCis6MTBFMkMwMDAxNzIwMDVDODA2NzIwMTVDODA1NzIwMTVDODAyNzIwMTJDCis6MTBFMkQwMDA1QzgwNTcyMDE1QzgwNTcyMDE1QzgwMzcyMDExQzAwMDkyCis6MTBFMkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIzMTg0MEM2MTIzMUFBCis6MTBFMkYwMDA4NDhDMjEyMzA4NDhDNjEyMzA4NDBDNjEyMzEwNDhDMjQ0Cis6MTBFMzAwMDAxMjMxODQ4QzAxMjMwODQ4QzYxMjMxMDQ4QzYxMDAwMDRDCis6MTBFMzEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGRkY0RkZGRDNGRjlGCis6MTBFMzIwMDBGNEZGRkQzRkZGNEZGRkQzRkZGNEZGRkQzRkZGNEZGRjIzCis6MTBFMzMwMDBEM0ZGRjRGRkZEM0ZGRjRGRkZEM0ZGRjRGRkZEMDAwMENECis6MTBFMzQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENECis6MTBFMzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJECis6MTBFMzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFECis6MTBFMzcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJDREIwRkI2QzJDRDQyCis6MTBFMzgwMDBCMEIzNkMyQ0RCMEIzNkMyREZCMEIzNkMyQ0RCMEI3RTc2Cis6MTBFMzkwMDBDMkNEQjBCN0ZEMkNEQjBCMzZDMkNEQjBCMzZDMDAwMEU0Cis6MTBFM0EwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMzM0M0RkNGMTMzMzlBCis6MTBFM0IwMDBDNENDRjEzMzNDNENDRjEzM0ZDNENDRjEzMzNDNENGRkM1Cis6MTBFM0MwMDAxMzMzQzRDRkZEMzMzQzRDQ0YxMzMzQzRDQ0YxMDAwMDI2Cis6MTBFM0QwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNCN0U0RURGOTNCNzBECis6MTBFM0UwMDBFNEVDNzkzQjFFNEVERjkzQkZFNDhERjkzQjc4NEVGRkEyCis6MTBFM0YwMDA5M0I3RTRFREZEM0IxRTRFREY5M0I3ODRFREY5MDAwMENCCis6MTBFNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDI3MDQwOUMxMEFECis6MTBFNDEwMDAyNzFDMDlDMTAxMzA0MDFDMTA2NzA0MDlDMTAyNzA0MTZBCis6MTBFNDIwMDA5QzExMDcxNDAxQzEwMjcwNDA5QzUwMDcxQzAxQzAwMEUwCis6MTBFNDMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MDU3MTAxNUM0MEM1Cis6MTBFNDQwMDA1NzEwNTVDNDAxMzEwMDVDNDA1NzEwMTVDNDA1NzEwMUM3Cis6MTBFNDUwMDBEQzQwMTcxODFEQzQwNTcxMDU1QzQwNTcxMDFEQzAwMDM1Cis6MTBFNDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMDEyMDgwNDgyMEExCis6MTBFNDcwMDAxMjAwMDQ4MjAxMjA4MDQ4MjAxMjA4MDQ4MjAxMjA4MEJBCis6MTBFNDgwMDA0ODIwMTIwODA0ODIwMTIwODA0ODYwMTIwODA0ODAwMDlECis6MTBFNDkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MDAwMTgwMDA0Cis6MTBFNEEwMDAwNjAwNDE4MDAwNjAwMDE4MDA0NjAwMDE4MDAwNjAwMDA2Cis6MTBFNEIwMDAxMDAwMDYxMDAxODAwMDYwMDAxODIwNDYxMDAxODAwMDQ2Cis6MTBFNEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MDQ3MjAxMUM4MDMxCis6MTBFNEQwMDA0NzIwMTFDODA0NzIwMTFDODAwNzIwMTFDODA0NzMwMDcyCis6MTBFNEUwMDAxQzgwNDcyMDExQ0MwNDcyMDExQzgwNDcyMDExQzAwMDAxCis6MTBFNEYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MDAwMTgwMEE0Cis6MTBFNTAwMDAwNjAwMDE4NDAwNjAwMDE4MDAwNjAwMDE4MDAwNjA0MEUxCis6MTBFNTEwMDAxODAwMDYwNDAxODEwMDYwMDAxODAwMDYxNDAxODAwMDQ0Cis6MTBFNTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MDQyMjAxMDg4MDM0Cis6MTBFNTMwMDA0MjcwMTA4QzA0MjIwMTA4QzAwMjIwMTA4ODA0MjIwMEJFCis6MTBFNTQwMDAwODgwNDI1MDEwMDgwNDIyMDEwOTAwNDI0MDEwODAwMDU3Cis6MTBFNTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJFMDQ0QTgxMTJBMDBDCis6MTBFNTYwMDA0NEE4MTEyQTA0NEE4MTEyQTAwNEE4MTEyQTA0NEI4MDRECis6MTBFNTcwMDAxMkEwNDQ4ODAxMkUwNDRBODExMjIwMDQ5ODAxMDAwMDUwCis6MTBFNTgwMDAwMDAwMDAwMDAwMDAwMDAwMDhDMDBFMDA1MzAwMTRDMDhFCis6MTBFNTkwMDAwNTMwMDE0QzAwNTMwMDE0RTAwNTMwMDE0QzAwNTMwMERECis6MTBFNUEwMDAwNEMwMDUzMDAwNEMwMDAzMDAxNEMwMDUzMDAwNDAxMENBCis6MTBFNUIwMDAwMDAwMDAwMDAwMDAwMDAwMDhDMDA0MDA0MDAwMTAwMDNGCis6MTBFNUMwMDAwNDU4MDEwNDAwNDAwMDEwMDAwNDAwMDEwMDAwNDEwMDU0Cis6MTBFNUQwMDAwNDAwNDQ1ODEwNDQwMDAwMDAxMTgwMDQ1MDEwNDAzMEUyCis6MTBFNUUwMDAwMDAwMDAwMDAwMDAwMDAwMDhDMDQwMDIwMDAwODAwMEExCis6MTBFNUYwMDAyMDAwMDgwMDQwMDAwMDAwMDAyMDAwMDgwMDAyMDAwMDg5Cis6MTBFNjAwMDA4NDAwMDAwMDA4NDAwMjAwMDA4MDAwMjAwMDA4NDAzMDI0Cis6MTBFNjEwMDAwMDAwMDAwMDAwMDAwMDAwMDhDMDQwMDA2MDAxMTgwMDc5Cis6MTBFNjIwMDA0NjAwMDE4MDA2NjAwMTk4MDA0NjAwMTE4MDA0NjAwMUU4Cis6MTBFNjMwMDAxODAwNDYwMDExODAwNDIwMDExODAwNjYwMDExODAzMDg3Cis6MTBFNjQwMDAwMDAwMDAwMDAwMDAwMDAwMTAwMTQwMDA2MDAwOTgwMDgxCis6MTBFNjUwMDAyNjAwMDk4MDAyNjAwMTk4MDAwNjAwMEM4MDAyNjAwMDFDCis6MTBFNjYwMDAxODAwMDYwMDAxODAwMjYwMDA5ODgwMDYwMDAxODIwMDA4Cis6MTBFNjcwMDAwMDAwMDAwMDAwMDAwMDAwNDA0NTQyMDAzMDgxMEMyMEY2Cis6MTBFNjgwMDA0MzA4MTBDMjI0MzA4MThDMjAwMzA4MTBDMjA0MjA4MDZCCis6MTBFNjkwMDAwQzIwMDMwODE4QzIwNDMwODEwQzIwNDMwODE4QzAxMTU0Cis6MTBFNkEwMDA1MDAwMDAwMDAwMDAwMDAwNDAwMDAwMDAzMDAwMEMwMDlFCis6MTBFNkIwMDAwMzAwMDBDMDQwMzAwMDBDMDAwMzAwMDA4MDAwMzAwMDY4Cis6MTBFNkMwMDAwQzAwMDMyMDAwQzAwMDMwMDAwQzAwMDMyMDAwQzAwMDNDCis6MTBFNkQwMDAwMDAwMDAwMDAwMDAwMDAwNDAwMTAyMTAzMDgwMEMyMDBCCis6MTBFNkUwMDAwMzA4MDBDMjAwMzA4MDBDMjAwMzA4MDBDMjAxMjA4MDEzCis6MTBFNkYwMDAwQzIwMDMyQzAwQzIwMDMwODAwQzMwNDMyQzAwQzAwMEUyCis6MTBFNzAwMDA0MDAwMDAwMDAwMDAwMDAwNDA0NTQyMDQ2MDgxMTgyMEU1Cis6MTBFNzEwMDA0NjA4MTE4MjA0NjA4MDE4MjA0NjA4MTE4MjA0NjA4MTM2Cis6MTBFNzIwMDAxODIwNDYwQzExQzIwNDYwODExODMwNDYwQzExQzAxMTJCCis6MTBFNzMwMDA1MDAwMDAwMDAwMDAwMDAwNDAwMTQyMDAyMDgwMDgyMDNFCis6MTBFNzQwMDAwMjI4MDA4MjAwMjA4MDA4MjAwMjA4MDA4MjAwMjA4MDI5Cis6MTBFNzUwMDAwODIwMDIwODAxODIwMDIwODAwODIwMDMwODAxODAwMEIwCis6MTBFNzYwMDAwMDAwMDAwMDAwMDAwMDAwNTAwMTQyMDQ2MDgxMTgyMEY5Cis6MTBFNzcwMDA0NjI4MTE4MjA0NjA4MDE4MjA0NjA4MTE4MjA0NjA4MUI2Cis6MTBFNzgwMDAxODIwNDYwODEwODIwNDYwODExODIwNDMwODEwODAwMDc5Cis6MTBFNzkwMDAwMDAwMDAwMDAwMDAwMDAwNDA0NTQwMDQ1MDAxMTQwMDRCCis6MTBFN0EwMDA0NTAwMTE0MDI1MDAwMDE0MDA0NTAwMTE0MDA0NTAwMUFGCis6MTBFN0IwMDAxNDAwNDUwMDAwNDAwNDUwMDE0MDAwMDEwMDAwNDIxMUQ3Cis6MTBFN0MwMDA1MDAwMDAwMDAwMDAwMDAwNDgwMDA2MDA0MTgwMTA2MDdBCis6MTBFN0QwMDAwNDE4MDEwNjAwNDE4MDEwNjAwNDE4MDEwNjAwNDE4MDAxCis6MTBFN0UwMDAxMDYwMDQxODAxMDYwMDQxODAxMDYwMDQxODAxMDAwMDQ4Cis6MTBFN0YwMDAwMDAwMDAwMDAwMDAwMDAwNDgwMDAyMDUwMDgwNDAyMUU5Cis6MTBFODAwMDAxMDA4MDQwMDAxMDA4MDQwMjAxMDA4MDQwMjAxMDA4MDZDCis6MTBFODEwMDA0MDIwNTAwODE0MDIxMTAwODQ0MDIwMTAwODE0MDAwMDA5Cis6MTBFODIwMDAwMDAwMDAwMDAwMDAwMDAwNDA0NTQ2MDE1MTgwRDQ2MDE3Cis6MTBFODMwMDAzNTE4MEQ0NjAzNTE4MEQ0NjAxNTE4MEQ0NjAzNTE4MERDCis6MTBFODQwMDA1NDYwMTUxODBENDYwMzUxODBENDYwMzUxODBENDAxMUUxCis6MTBFODUwMDA1MDAwMDAwMDAwMDAwMDAwMDAwMTQ2MDQ3MTgxMUM2MEFGCis6MTBFODYwMDA0NTE4MTFENjA0NzE4MTFDNjA2NzE4MTFDNjA0NzE4MUE2Cis6MTBFODcwMDA5QzYwNDcxODExQzYwNDcxODExQzYwNjcxODExQzAwMEE0Cis6MTBFODgwMDAwMDAwMDAwMDAwMDAwMDAwNDAwNTQ2MDI3MTgwOUM2MDBFCis6MTBFODkwMDAyNzE4MDlDNjAwNzE4MDlDNjA2NzE4MDlDNjAyNzE4MDNDCis6MTBFOEEwMDA5QzYxMjcxODAxQzYwMjcxODA5QzYwMDcxODAxQzAwMDk2Cis6MTBFOEIwMDAwMDAwMDAwMDAwMDAwMDAwNTA0NTQ2MDU3MTgxNUM2MENBCis6MTBFOEMwMDA1NzE4NTVENjAxNzE4MTVDNjA1NzE4MTVDNjA1NzE4MUJFCis6MTBFOEQwMDA1QzYwNTcxODE4QzYwNTcxODE1QzYwNDMxODE4ODIxMTc2Cis6MTBFOEUwMDA1MDAwMDAwMDAwMDAwMDAwNDAwNDUyMDEyMDgwNDgyMDM5Cis6MTBFOEYwMDAxMjQ4MDQ5MDAxMjA4MDQ5MjAxMjA4MDQ4MjAxMjQ4MERCCis6MTBFOTAwMDA0ODIwMTI0ODAwOTIwMTIwODA0ODIwMTc0ODA0ODAwMUM2Cis6MTBFOTEwMDAwMDAwMDAwMDAwMDAwMDAwNDAwMDA2MDA2MTgwMTg2MDU4Cis6MTBFOTIwMDAwNjNDMDE4NjAwNjE4MDE4NjA0NjE4MDE4NjAwNjE4MEZGCis6MTBFOTMwMDAxODYwMDYxODAxODYwMDYxODAxODYwNDYxODAxODAwMTgxCis6MTBFOTQwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MTYwMDQ3ODAxMUUwMDhCCis6MTBFOTUwMDA0NzgwMTFFMDI0NzgwMTFFMDAwNzgwMTFFMDA0NzgwMTRGCis6MTBFOTYwMDAxRTAwNDc4MDExRTAwNDM4MDExRTAwNDc4MDExQzAxMUNECis6MTBFOTcwMDA1MDAwMDAwMDAwMDAwMDAwNDAwMTEyMDA2MDgwMTgyMERDCis6MTBFOTgwMDAwNjQ4MDE5MjAwNjA4MDE5MjAwNjA4MDE4MjAwNjQ4MDE4Cis6MTBFOTkwMDAxODIwMDY0ODAxOTMwMDIwODAxODIwMDY0ODAxODAwMEI2Cis6MTBFOUEwMDAwMDAwMDAwMDAwMDAwMDAwNDAwMTQyMDQyMDgxMDgyMDE3Cis6MTBFOUIwMDA0MjA4MTA4MjA0MjA4MTA4MjAwMjA4MTA4MjA0MjA4MTZECis6MTBFOUMwMDAwODIwNDIwODEwOEEwNDYwODEwODIwNDIwODEwODAwMDU0Cis6MTBFOUQwMDAwMDAwMDAwMDAwMDAwMDAwNDA0NTQyMDQ0MDgxMTAyMDdCCis6MTBFOUUwMDA0NDA4MTEwMjA0NDA4MTEwMjAwNDA4MTEwMjA0NDA4MUVGCis6MTBFOUYwMDAxMDIxNDQwODAxMDIwNDUwODExMDIwMDQwODAxMDAxMTc0Cis6MTBFQTAwMDA1MDAwMDAwMDAwMDAwMDAwNDAwMDAzMDA1MEMwMTQzMDFGCis6MTBFQTEwMDAwNTBDMDE0MzAwNTBDMDE0MzAwNTBDMDE0MzAwNTA4MDI4Cis6MTBFQTIwMDAxNDMwMDUwODAxNEEwMDUwQzAxNDMwMDUwODAxNDAwMEE4Cis6MTBFQTMwMDAwMDAwMDAwMDAwMDAwMDAwNDAwMDA4MDA0MjAwMTA4MEJDCis6MTBFQTQwMDAwNDIwMDEwODAwNDIwMDEwODAwNDIwMDEwODAwNDIwMDU4Cis6MTBFQTUwMDAxMDgwMDQyMDExMDAwMDQyMDAxMDgwMDQyMDExMDAxMERBCis6MTBFQTYwMDA0MDAwMDAwMDAwMDAwMDAwNDA0NTQyMDIwMDgwODAyMDdECis6MTBFQTcwMDAyMDA4MDgwMjAwMDA4MDgwMjAyMDA4MDgwMjAyMDA4MDkwCis6MTBFQTgwMDA4MDIwMjAwODA4MDIwMjAwODA4MDIwMjAwODA4MDAxMTUxCis6MTBFQTkwMDA1MDAwMDAwMDAwMDAwMDAwNDAwMTQwMDA2MDAxMTgwMDJDCis6MTBFQUEwMDA0NjAwMTE4MDA2NjAwMTE4MDA0NjAwMTE4MDA0NjAwMUQ0Cis6MTBFQUIwMDAxODAwNDYwMDExODAwNDYwMDExODAwNjYwMDExODAxMEUzCis6MTBFQUMwMDAwMDAwMDAwMDAwMDAwMDAwNDAwMTQwMDI2NDAwOTgwMEM3Cis6MTBFQUQwMDAyNjAwMDk5MDA2NjAwMTk4MDAyNjQwMDk4MDAyNjAwMDI3Cis6MTBFQUUwMDA5ODAwMjYwMDAwOTAwMjYwMDA5ODAwMDcwMDAxODAwMDU2Cis6MTBFQUYwMDAwMDAwMDAwMDAwMDAwMDAwNDA0NTYwMDQzODA1MEUwMEUyCis6MTBFQjAwMDA0MzgwMTBFMDQ0MzgwMTBFMDA0MzgwMTBFMDA0MzgwMUQ3Cis6MTBFQjEwMDAwRTAwNDM4MDE4QTAwNDM4MDEwRTAwNDY4MDE4ODAxMUIyCis6MTBFQjIwMDA1MDAwMDAwMDAwMDAwMDAwNTAwMDAxMDAzMDQwMEMxMEI4Cis6MTBFQjMwMDAwMzA0MDBDNTAwMzA0MDBDMTAwMzE0MDBDMTAwMzA0MDM1Cis6MTBFQjQwMDAwQzEwMDMwNDAwODc0MDMwNDAwQzEwMDIwNDAwODAwMEM5Cis6MTBFQjUwMDAwMDAwMDAwMDAwMDAwMDAwNDAwNDA1MDAzNTQwMEM1MDlCCis6MTBFQjYwMDAwMzE0MDBENTA0MzE0MTBDNTAwMzVDMDBDNTAwMzEwMDkyCis6MTBFQjcwMDAwQzUwMDMxMDAwOTQwMDMxNDAwQzUwNDMxMDAwQzIwMEIwCis6MTBFQjgwMDAwMDAwMDAwMDAwMDAwMDAwNDA0NTQzMDUyMEMxMTgzMDhGCis6MTBFQjkwMDA0NjBDMTE5NzAwNjBDMDE4MzA0NjFDMTE4MzA0NjBDMUY4Cis6MTBFQkEwMDAxODMwNTIwQzExODcwNDYwQzExODMwNDYwQzExODAxMUM2Cis6MTBFQkIwMDA1MDAwMDAwMDAwMDAwMDAwNDAwMTAwMDAyMTQwMDgwMDVCCis6MTBFQkMwMDAwMjAwMDA4MDAwMjAwMDA4MDAwMjAwMDA4MDAwMjAwMEY5Cis6MTBFQkQwMDAwODAwMDIwMDAwODAwMDIwMDAwODAwMDIwMDAwODAwMDAxCis6MTBFQkUwMDAwMDAwMDAwMDAwMDAwMDAwNDAwMTQ4NDQyMjAxMTg4NDk5Cis6MTBFQkYwMDA0NjIxMTE5ODAwNjIxMDE4ODQ0NDIwMTE4ODQ0NjIxMTQzCis6MTBFQzAwMDAxODg0NDIyMTExODA0NDYyMTExODg0NDYyMTExODAwMDI5Cis6MTBFQzEwMDAwMDAwMDAwMDAwMDAwMDAwNDA0NTQwMDQ1MDExMTQwNEIyCis6MTBFQzIwMDA0NTAwMTE0MTAwNTAxMDE0MDA0NTAxMTE0MDQ0NTAxMTlECis6MTBFQzMwMDAxNDA0NDUwMTAxNDA0NDUwMTExNDA0MDUwMTAxNDAxMTIwCis6MTBFQzQwMDA1MDAwMDAwMDAwMDAwMDAwNDAwMDA4MjA0MjA4MTA4MjMwCis6MTBFQzUwMDAwNDIwMDEwODIwNDIwODEwODIwNDIwODEwODIwNDIwODc0Cis6MTBFQzYwMDAxMDgyMDQyMjgxMDgyMDUyMDgxMDhBMDQyMjgxMDAwMEE4Cis6MTBFQzcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDBBMDEwMjg0NDBBMTFFCis6MTBFQzgwMDAxMDI4MDAwQTAxMDI4MDQwQTAxMDI4MDQwQTAxMDI4MDE2Cis6MTBFQzkwMDA0MEEwMTAyQzE0MEEwMDAyODA0MEIwMTAyQzE0MDAwMDc4Cis6MTBFQ0EwMDAwMDAwMDAwMDAwMDAwMDAwNDA0NTREMDM1MzQwRDREMDU4Cis6MTBFQ0IwMDAzNTMwMEM0RDAzNTM0MEQ0RDAzNTM0MEQ0RDAzNTM0MDAzCis6MTBFQ0MwMDBENEQwMzUzNDBENEQwMjEzNDBENEQwMzUzNDBENDAxMTFECis6MTBFQ0QwMDA1MDAwMDAwMDAwMDAwMDAwNDAwMTA4MDQ3MjAxMUM4MDg4Cis6MTBFQ0UwMDA0NzIwMTVDODA0NzIwMTFDODA0NzIwMTFDODA0NzIxMTA2Cis6MTBFQ0YwMDAxQzgwNDcyNjExQzg0NDcyMDExQzkwNjcyNjExQzAwMDcxCis6MTBFRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIzMDg0MEM2MTIzMThGCis6MTBFRDEwMDA4NDhDMDEwMzA4NDhDNjEyMzA4NDBDNjEyMzE4NDhDMjUxCis6MTBFRDIwMDAxMjMxODQ4QzAxMDMwODQ4QzYxMjMxMDQ4QzAxMDAwMEEyCis6MTBFRDMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGRkY0RkZGRDNGRjc1Cis6MTBFRDQwMDBGNEZGRkQzRkZGNEZGRkQzRkZGNEZGRkQzRkZGNEZGRkY5Cis6MTBFRDUwMDBEM0ZGRjRGRkZEM0ZGRjRGRkZEM0ZGRjRGRkZEMDAwMEEzCis6MTBFRDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEzCis6MTBFRDcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkzCis6MTBFRDgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgzCis6MTBFRDkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJERkIwRkI2QzJDREY3Cis6MTBFREEwMDBCMEI3RkQzRkZCMEIzNkMyREZCMEZCNkMyQ0RCMEI3RTNDCis6MTBFREIwMDBDMkNEQjBCN0ZEM0ZGQjBCMzZDMkNERjRCN0ZEMDAwMEFFCis6MTBFREMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMzRkM0RkNGMTMzM0IwCis6MTBFREQwMDBDNENGRkQzRkZDNENDRjEzM0ZDNEZDRjEzMzNDNENGRjkwCis6MTBFREUwMDAxMzMzQzRDRkZEM0ZGQzRDQ0YxMzMzRjRDRkZEMDAwMEYxCis6MTBFREYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNCN0U0RURGOTNCN0UzCis6MTBFRTAwMDBFNEVERjkzRkZFNEVERjkzQjdFNEVERjkzQjdFNEVDN0VDCis6MTBFRTEwMDA5M0I3RTRFQzYxMjMxRTRFREY5M0I3ODRFQzYxMDAwMEVFCis6MTBFRTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzUyNEExNEEyNEVBCis6MTBFRTMwMDA2MzAxMTQwMjQ0MDA4MTBCMjg3MTAyMTA4MjQwMzgxMUQyCis6MTBFRTQwMDA0MTA0NTAwODE4ODI4NzM4MzFDMzJDNTIwQTEwMDAwMDQwCis6MTBFRTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NDUxMjgxNDQ4MDBFCis6MTBFRTYwMDA3MTIxMUMwQTA3MUE4MTAyQTA1MjIwMTQ0ODA3MTI4MTNFCis6MTBFRTcwMDBDNjgwNjAyMDA4ODg0NzAyMDE0QTgwNzAyMDEwMDAwMDg4Cis6MTBFRTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyQzUyQzAxNEEwMDQ0Cis6MTBFRTkwMDA1MjA5MUM4MDA3MjQyMTA4MDg3MTAyMTA4MDQ1MjBBMTE2Cis6MTBFRUEwMDA0OTI4NTIwMTE0QzA0NTAwOTFDNDAwNzIwMjEwMDAwMEFDCis6MTBFRUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMDcyMDAxQzEwMDY3Cis6MTBFRUMwMDA3MTA5MTA4MDA3MDAwMTAxMDA3MDA4MTg4MDA3MDAwMTE3Cis6MTBFRUQwMDA4OTIwNTIwMTBDODA0NjMwODE0NTA0NjAwMDEwMDAwMEZBCis6MTBFRUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4QzIwMjIwMDA4OEFFCis6MTBFRUYwMDAyMDIyMDAwOEMyMjI4MDQwODgwMjIyMDAwODgyMEFBMDQ0Cis6MTBFRjAwMDAwQ0E4MDIyMjAwMDg4MDBBMDA4MDhDMDIyMjAwMDAwMDY3Cis6MTBFRjEwMDAwMDAwMDAwMDAwMDAwMDAwMDgwMDAyNDMwMDAwNDAyMDQ0Cis6MTBFRjIwMDAzMDA4MDQ0MDQxMzAxMEM4MDAwMDAwMDAwMjAzMDAxMDA3Cis6MTBFRjMwMDBDMDAwMTEwODAwQzI0MzEwODBDMDIwMDEwODAwMDIwMDc4Cis6MTBFRjQwMDAwMDAwMDAwMDAwMDAwMDAwMDgwMDA4QzMwQTIwQzE4Qzc3Cis6MTBFRjUwMDAxMjIyMDQ4ODAxMzYyMEMzMDgxMjI4MDQwODAxMDQwMDg0Cis6MTBFRjYwMDA0QUE4MjIwMTA0Qzg0MTI2MzBDMDg4MDIyMTAwMDIwMEJDCis6MTBFRjcwMDAwMDAwMDAwMDAwMDAwMDAwMDgwMDA4MDAwQTEwQzE4MDI2Cis6MTBFRjgwMDAzMjIxMEM4ODQzMDI4MDQ0ODAxMjI5MDQwODQyMEE5MEVFCis6MTBFRjkwMDA4QTgwMDAyMDA0NDgwMzBBMTA4MjgwMDAyMDAwMDIwMEJBCis6MTBFRkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBODcwMkExODBBQzAxCis6MTBFRkIwMDA0MzI5MTQ4QTg0MDJBMTAwQUM0MTIwMTAwODA2MjYzMTlFCis6MTBFRkMwMDA4MEE0NjAyMDE0NEE0NDMyODE4MUFDNjAyQTE4MDIwMDc3Cis6MTBFRkQwMDAwMDAwMDAwMDAwMDAwMDAwMDgwMDA4MDcyMjAxQzU4MEIyCis6MTBFRkUwMDA3MzIxMUNDODA3MkEwMTBDODA3MjIwMTA0ODQ3MjYxMTgzCis6MTBFRkYwMDBDNTgwNzMyMDFDODgwNzJBMTE0OTgwNzAyMDE0MDIwMEU0Cis6MTBGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgwMDAwNDUxMDMxQzkwQzlECis6MTBGMDEwMDA3MzAyMUNDMDQ3MDQwMTBBMEM1MTBBMTA4MjQ3MjAzMUI4Cis6MTBGMDIwMDBDODAwNzIwMjFDNDAwNTMwMTFDNDAwNzIwMTE4MDIwMEIxCis6MTBGMDMwMDAwMDAwMDAwMDAwMDAwMDAwMDgxMDEwMDYyNDAxNDUwNDM0Cis6MTBGMDQwMDA1MTgxMTg5MDQ3MTQwMTA0MDQ3MTg4MTAxMjA1MzQwMThECis6MTBGMDUwMDA0NDA0NTE0MDE4RDAwNzM4MDFDNDA0NTIwMTE0QzIwNEJBCis6MTBGMDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODcwMDIxODkwQzYzCis6MTBGMDcwMDA2MDAxMUNEMDQ1MjQwMUMxMEM0MjAxMDAwMEM1MjAzMUIzCis6MTBGMDgwMDA0MTA4NDAwMDE4ODA0NTAwMjE0MTBDNzA0MjFDQzIwMDFDCis6MTBGMDkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMDExQzgwQzQyMEVECis6MTBGMEEwMDAzMTA4MTA0MjQyMDg4MEM2MjAzMTA5MDAyMDAzMUM5MDFDCis6MTBGMEIwMDBDNDIwMDE0OTBDNDI0MzEwODA0NDIwMzEwODEwMDAwMDU0Cis6MTBGMEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMwODMyMDMwNDgwQ0U5Cis6MTBGMEQwMDAzMjQwMTA5MDgxMjQyMEM4MDQzMjQwMTAyMEMzMjA4MDg4Cis6MTBGMEUwMDBDODAwMDI0QTBDQTAwMTI0MTBDODA4MzI0MTEwMDAwMEQ4Cis6MTBGMEYwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDkwMDMwMDAwQzkwNEEwCis6MTBGMTAwMDAzMDQwMDA5MDAwMjAwMDgwMDAxMDQwMTAwMDQwMjAxMDhGCis6MTBGMTEwMDBDMjAwMDA4MDA4MjA0MzA4MTA4MTAwMzI0MDBDQzAwNDY3Cis6MTBGMTIwMDAyMDAwMDAwMDAwMDAwMDAwMDAwMDMwMDA0MDAwMDAwMDRGCis6MTBGMTMwMDAxMDAwMDBGMDEwMjAwMDAwMDAxMDAwMDBGMDEwODA0MENGCis6MTBGMTQwMDAwMDAwMDA0MDAwRjAxMDkwODAwMDAwMDAwMDAwQzAwMEFGCis6MTBGMTUwMDAwMDAwMDAwMDAwMDAwMDAwM0MzQzEwODA5MDQwMDAwMEQ3Cis6MTBGMTYwMDAwMDgwMTA5MEEwOTAwMDAwMDAwMDAwMTA5MDgwODAwMEFGCis6MTBGMTcwMDAwMDAwMDAwMDEwOTA4MDkwMDAwMDAwMDA0MDEwOEYwRkYxCis6MTBGMTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI0QzZCQTA2QzAxQ0Y5Cis6MTBGMTkwMDA0OTI4NjExNDJCMUMwRTQwM0ZEOUJGRDlBQUJDMUE1RjY1Cis6MTBGMUEwMDAwMDEwQTY1MDNCNjFCMzI1QkM0MDE5QkZGRkU5ODAwMEE5Cis6MTBGMUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwOTIxNDk0ODAwQzc5Cis6MTBGMUMwMDAwNzNGMkI5NDg2MTQ4NDgwMjgwMDAwNDkxNDA0ODYxMjdCCis6MTBGMUQwMDA4MDAwNDEyNzM0RDA5MDg0OTIwMDJEOEEyMTFFODAwMDI3Cis6MTBGMUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhBMjc1Cis6MTBGMUYwMDBCMTAxMDEwMDAwMDAwMDA4ODRCMTc4MjgwMDAwMDAwMDdGCis6MTBGMjAwMDAwOEIxMzIxNDE0MDAwMDAwMDAwOEE4MjM1NDIxNDAwMDYzCis6MTBGMjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGRkZGRkZGQzAwMEYyCis6MTBGMjIwMDAwMDAwMDAyRkZGRkVGN0MwMDAwMDAwMDAyRkQ3RkVFRjA4Cis6MTBGMjMwMDBDMDAwMDAwMDAwM0ZGRjdGRkZDMDAwMDAwMDAwMDAwMDkyCis6MTBGMjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGRkZGRkZGQzAwMEMyCis6MTBGMjUwMDAwMDAwMDAwRkVGNzdGRkMwMDAwMDAwMDAzRUZGRkVFRjUwCis6MTBGMjYwMDA0MDAwMDAwMDAwM0ZGRkJGRkY0MDAwMDAwMDAwMDAwMDIyCis6MTBGMjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGRkZGRkZGQzAwMDkyCis6MTBGMjgwMDAwMDAwMDAzRkZGREZGRkMwMDAwMDAwMDAzRkZGRkZGRjY2Cis6MTBGMjkwMDBDMDAwMDAwMDAwM0Y3RjJGRkZDMDAwMDAwMDAwMDAwMDAyCis6MTBGMkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGRkZGRkZGQzAwMDYyCis6MTBGMkIwMDAwMDAwMDAxRkZGRkZFRkMwMDAwMDAwMDAxRkVGRUZFRjk2Cis6MTBGMkMwMDBDMDAwMDAwMDAwMkZGRkZGRkZDMDAwMDAwMDAwMDAwMDkyCis6MTBGMkQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGRkZGRkZGQzAwMDMyCis6MTBGMkUwMDAwMDAwMDAzRkZGRUZGRkMwMDAwMDAwMDAyRkFGREZGRjc2Cis6MTBGMkYwMDBDMDAwMDAwMDAwM0ZFRkZGRjdDMDAwMDAwMDAwMDAwMDZBCis6MTBGMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGRkZGRkZGQzAwMDAxCis6MTBGMzEwMDAwMDAwMDAzRkRGREZGRkMwMDAwMDAwMDAzRkZGRkZGRkY1Cis6MTBGMzIwMDBDMDAwMDAwMDAwMUZGRkRGRkZDMDAwMDAwMDAwMDAwMDYxCis6MTBGMzMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyQzQyNEExMDAyQzE2Cis6MTBGMzQwMDA1MjBCMThDMjg2MkNBMTgwMzg2MjBBMDg0MEM0MkNBMTM2Cis6MTBGMzUwMDAwODI4NDIwQjE0MDA4NTE0QTEwODI4NDMwQTEwMDAwMDU1Cis6MTBGMzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MDQxMjAxMDM4MEZCCis6MTBGMzcwMDA2MTIwMTAwODA3MTI0MTQyODA3MDIwMUMwODA0MUEwMTA1Cis6MTBGMzgwMDA4NDgxNDAyMDE4MDg0NjM2ODEwNTgwNjMyMDEwMDAwMUUyCis6MTBGMzkwMDA4MDAwMDAwMDAwMDAwMDAwMDAwMDAwODQyNDIxMDAwQzE4Cis6MTBGM0EwMDA1MjAyMTQwMDg3MjgyMTgxMDg3MjA2MUM4Mjg0MjAyMUMxCis6MTBGM0IwMDA0ODE4NDIwMzU0ODA0NTMwMjU0QTE4NTMwMjEwMDAwMTcyCis6MTBGM0MwMDAyMDAwMDAwMDAwMDAwMDAwMDAwMDA4MDQyMjAxMDE4MDZECis6MTBGM0QwMDA0MjIwMThDODQ0MjIwMTgwODQ0MjIwMUM4ODA0MjIwMTUzCis6MTBGM0UwMDAwMDgwNDAyMDEwODg0NDM2MDE0MDgwNDEwMDEwMDAwMDE5Cis6MTBGM0YwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzAwODIwMDAwQzE5Cis6MTBGNDAwMDAyMjAzMDQ0MDgxMDAyMDg0MDgwMzAwMDA4MEMyMDAyMDAxCis6MTBGNDEwMDBDNDA4MDAwMzA4ODg4MjE2QTA0MDg4MzIyMjgwMDAwMEI5Cis6MTBGNDIwMDAwMDAwMDAwMDAwMDAwMDAwMDgwMDAyMDEwMDgwMDQyMDJECis6MTBGNDMwMDAxMDA4MENDMjEyMTA4NEM4MjIxMjA4MDQwMjAzMDA4OEFCCis6MTBGNDQwMDAwMDIxMDAwQzBDNDA0MTMwMDA4NDIwMTAwODAwMDIwMDE0Cis6MTBGNDUwMDAwMDAwMDAwMDAwMDAwMDAwMDgwMDA4ODIwNjIwMDg4QzYwCis6MTBGNDYwMDAzMjIyMEM4ODgxMjYyMDREODgyMzIyODA4ODgzMDYyMDIyCis6MTBGNDcwMDAwODg4MDAyMzA0OEE4MTM2MjA0Qjg4MzIyMjAwMDAwMDRECis6MTBGNDgwMDAwMDAwMDAwMDAwMDAwMDAwMDgwMDA4MDIwMjAwMDk4MERGCis6MTBGNDkwMDAzMjIwMDQ4ODYwMjIwMDg5ODQwMDIwMDg5ODAwMDIwMDNECis6MTBGNEEwMDAwMDgwMDAyMDAwMDgwMjNBODA0ODgwMzAyMDAwMDIwMERFCis6MTBGNEIwMDAwMDAwMDAwMDAwMDAwMDAwMDgwMDBBQzQxQUExODBBODkzCis6MTBGNEMwMDA0MTJBMTBDQUM3MUFBMTA0QUQ3MTJBMTg0QUQ0MDZCMTNDCis6MTBGNEQwMDAwMEE4NzEyQTEwMDg4NDI2MjkwNkFDNTIyQTEwMDIwMEJFCis6MTBGNEUwMDAwMDAwMDAwMDAwMDAwMDAwMDgwMDA4MDQyQTAxNDE4MDFDCis6MTBGNEYwMDA0MjIwMUMwMDA0MEEwMTA5ODQ1MTIwMUM4ODQ0MDIwMTk2Cis6MTBGNTAwMDAwODgwNDAyMDEwNEE0NzAyMDE0ODgwNjMyMDEwMDIwMDEyCis6MTBGNTEwMDA4MDAwMDAwMDAwMDAwMDAwMDgwMDAwQzQxMDIxODEwQ0UxCis6MTBGNTIwMDA0MTAyMEMwMEMwMjA2MTBEMEU3MjAyMUM0MEM0MDgzMTYzCis6MTBGNTMwMDAwNDE4NDIwMjEwODA4NzIwQjFDNDBDNTMwMjEwMDAwMDRFCis6MTBGNTQwMDAwMDAwMDAwMDAwMDAwMDAwMDgxMDIwMDcyNDAxQ0MwMDhCCis6MTBGNTUwMDA3MjQwMTQwMDA0MjQwMTA4MDA3MzQxMTBDMDA3MzAxMUU4Cis6MTBGNTYwMDBDQzAwNzEwMTEwMDIwNDIwODE0NjEwNDI0MDEwMDIwNEI4Cis6MTBGNTcwMDAwMDAwMDAwMDAwMDAwMDAwMDgwMDAwQzUxMDIxMDAwODg1Cis6MTBGNTgwMDA2MjAyMUM5MEM1MjQyMTAwMEM3MDgyMUMxMEM0MjAzMTIyCis6MTBGNTkwMDA4ODAyNDAwNjFDMDA4NTAwQTEwMDBDNDA0MjAwMDIwMEM5Cis6MTBGNUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIyMDUxNDgwMDEyMDdGCis6MTBGNUIwMDAzMDA4MEM0MjA2MDA4MDAxMjQ1MTA4MEMwMjQxMDA4MEYyCis6MTBGNUMwMDA0QzIwMDAwODBDMzA0MjA0MDAwNDIwMDAwODAwMDAwMDE5Cis6MTBGNUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwQzYyNDIwMDAwQzA1Cis6MTBGNUUwMDAzMkMyMDQ4MEM3MzAyMDAwMEM1M0MyMDQxMEMyMjg3MEZECis6MTBGNUYwMDAwQzA5MDIwMjRDODA4MTA0MzAwOTBDMDI0MjEwMDAwMDA4Cis6MTBGNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDgwMDEzODAwMDIwMDJGCis6MTBGNjEwMDAxMjQwMEMyMDA3MzQwNDAyMDA2MzAxMDgxMDAwMjQxMDdCCis6MTBGNjIwMDAwNDAwMDIwMTA0ODIwMTA4ODAwOTEwMDI0MDEwMDAwNDU1Cis6MTBGNjMwMDAzMDAwMDAwMDAwMDAwMDAwMDAwMDMwMjAxMDgwMDAwMEJBCis6MTBGNjQwMDAyMDgwMDBGMDIwMTA4MDAwMDAyMDgwMDBEMDgwMDAwMDhBCis6MTBGNjUwMDA0MDAwMDAwMDAwMzAxMDAwODAwMDAwMDAwMDAwQ0M0MDlFCis6MTBGNjYwMDAwMDAwMDAwMDAwMDAwMDAwM0MzQzEwODA4MDAwMDAwMDEyCis6MTBGNjcwMDAwMDAwMTA5MDgwODAwMDAwMDAwMDAwMTA5MDgwMDA5MDNBCis6MTBGNjgwMDA4MDAwMTAwMDAwMTBBMDgwMDAwMDAwMjAwMDEwOEMwOEY2Cis6MTBGNjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM0MUFCRTE3ODAwMEM3Cis6MTBGNkEwMDAzRTQwMjY2RkJBRTMyNDgwMDAxNjU5QkQ4MjgxODJEODdECis6MTBGNkIwMDA4MDAwMDAxOTk5ODY4MDY0ODBDMDNGRDk5OTgwMDAwMTNDCis6MTBGNkMwMDBGMDAwMDAwMDAwMDAwMDAwMDAwMDA2MTYwMjk0MDAxNjgyCis6MTBGNkQwMDBDMDE2OTQ4MjkwMTYxMDgwMjExODI4MjgwMjBBMDIwODY5Cis6MTBGNkUwMDA4MDAwMDAwMDAwMDI4MjgwMTQwMDAxMTQxMUEwNDAwMDdDCis6MTBGNkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg4NDdFCis6MTBGNzAwMDAwMjg0QTg4MDAwMDAwMDA4OTEyMjg0NDFBMjA4MjQwMUZDCis6MTBGNzEwMDAzMDAwMDAwMDAwMDAwMDAwMDAwODg0MDE0NDAxMDAwMEU3Cis6MTBGNzIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGRkZGRkZGQzAwMERECis6MTBGNzMwMDAwMDAwMDAzRUY3RkZGN0MwMDAwMDAwMDAyRkU3QjdGRjEyCis6MTBGNzQwMDBDMDAwMDAwMDAwMkZGRTdGRjdDMDAwMDAwMDAwMDAwMDk2Cis6MTBGNzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGRkZGRkZGQzAwMEFECis6MTBGNzYwMDAwMDAwMDAzNkJGRkVERkMwMDAwMDAwMDAwRkY3REZGRjIzCis6MTBGNzcwMDBDMDAwMDAwMDAwM0RCN0I3RUZDMDAwMDAwMDAwMDAwMDZGCis6MTBGNzgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGRkZGRkZGQzAwMDdECis6MTBGNzkwMDAwMDAwMDAxRkRGREZGRkMwMDAwMDAwMDAwRkRGREZGRjAxCis6MTBGN0EwMDBDMDAwMDAwMDAwM0ZFRkZGRkZDMDAwMDAwMDAwMDAwMEFECis6MTBGN0IwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGRkZGRkZGQzAwMDRECis6MTBGN0MwMDAwMDAwMDAzRkJGN0ZGRkMwMDAwMDAwMDAzRkZGN0ZGNzQ5Cis6MTBGN0QwMDBDMDAwMDAwMDAwM0ZERkZGRkZDMDAwMDAwMDAwMDAwMDhECis6MTBGN0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGRkZGRkZGQzAwMDFECis6MTBGN0YwMDAwMDAwMDAzRjdFRkZGRjQwMDAwMDAwMDAzRkZFRkZGRkQzCis6MTBGODAwMDBDMDAwMDAwMDAwM0ZGRkZGRkZDMDAwMDAwMDAwMDAwMDNDCis6MTBGODEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGRkZGRkZGQzAwMEVDCis6MTBGODIwMDAwMDAwMDAzN0ZGNkZGRkMwMDAwMDAwMDAzRkZGRkZGRjM4Cis6MTBGODMwMDBDMDAwMDAwMDAwM0ZGRkZGRkZDMDAwMDAwMDAwMDAwMDBDCis6MTBGODQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI4Cis6MTBGODUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE4Cis6MTBGODYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk4Cis6MTBGODcwMDAwMDAwMDAwMDAwMDAwMDAwMzAwMDIwMDEwMjAwMDAwMDM1Cis6MTBGODgwMDAzMDAwNDMwQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY5Cis6MTBGODkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY4Cis6MTBGOEEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU4Cis6MTBGOEIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ4Cis6MTBGOEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM4Cis6MTBGOEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI4Cis6MTBGOEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE4Cis6MTBGOEYwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMEMwMDAwMDAwMDAzMEU4Cis6MTBGOTAwMDBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM3Cis6MTBGOTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU3Cis6MTBGOTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ3Cis6MTBGOTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM3Cis6MTBGOTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI3Cis6MTBGOTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzBDMDMwQzAwMEM3Cis6MTBGOTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk3Cis6MTBGOTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg3Cis6MTBGOTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc3Cis6MTBGOTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY3Cis6MTBGOUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU3Cis6MTBGOUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMEMwMzBDMDMwQzAzMDQ3Cis6MTBGOUMwMDBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc3Cis6MTBGOUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI3Cis6MTBGOUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE3Cis6MTBGOUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3Cis6MTBGQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY2Cis6MTBGQTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjAwMDAwMDAwMDAwRkM4Cis6MTBGQTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ2Cis6MTBGQTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM2Cis6MTBGQTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI2Cis6MTBGQTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE2Cis6MTBGQTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk2Cis6MTBGQTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRkMwMDAwMDAwMDAzRjQ4Cis6MTBGQTgwMDBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI2Cis6MTBGQTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY2Cis6MTBGQUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU2Cis6MTBGQUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ2Cis6MTBGQUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM2Cis6MTBGQUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjAwMzBDMDMwQzAwRjI4Cis6MTBGQUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE2Cis6MTBGQUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2Cis6MTBGQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY1Cis6MTBGQjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU1Cis6MTBGQjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ1Cis6MTBGQjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMzZCMDBDMDAwQ0YyQzhDCis6MTBGQjQwMDA0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc1Cis6MTBGQjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE1Cis6MTBGQjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk1Cis6MTBGQjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg1Cis6MTBGQjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc1Cis6MTBGQjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYwMDBGMDAwMDQ3Cis6MTBGQkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU1Cis6MTBGQkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ1Cis6MTBGQkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM1Cis6MTBGQkQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI1Cis6MTBGQkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE1Cis6MTBGQkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMEMwMEYwMDBGMDAzMEM3Cis6MTBGQzAwMDBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM0Cis6MTBGQzEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU0Cis6MTBGQzIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ0Cis6MTBGQzMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM0Cis6MTBGQzQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI0Cis6MTBGQzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0ZDMDNGQzAwMEE2Cis6MTBGQzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk0Cis6MTBGQzcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg0Cis6MTBGQzgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc0Cis6MTBGQzkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY0Cis6MTBGQ0EwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU0Cis6MTBGQ0IwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMEMwM0ZDMDNGQzAzMDI2Cis6MTBGQ0MwMDBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc0Cis6MTBGQ0QwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI0Cis6MTBGQ0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE0Cis6MTBGQ0YwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0Cis6MTBGRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYzCis6MTBGRDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjAwMEYwMDBGMDAwRkE3Cis6MTBGRDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQzCis6MTBGRDMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMzCis6MTBGRDQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIzCis6MTBGRDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEzCis6MTBGRDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkzCis6MTBGRDcwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRkMwMEYwMDBGMDAzRjI3Cis6MTBGRDgwMDBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIzCis6MTBGRDkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYzCis6MTBGREEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUzCis6MTBGREIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQzCis6MTBGREMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMzCis6MTBGREQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjAwM0ZDMDNGQzAwRjA3Cis6MTBGREUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEzCis6MTBGREYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzCis6MTBGRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYyCis6MTBGRTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUyCis6MTBGRTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQyCis6MTBGRTMwMDAwMDAwMDAwMDAwMDAwMDAwMDYzMzVEODBDMDAwRkRBQzQzCis6MTBGRTQwMDAwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIwCis6MTBGRTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEyCis6MTBGRTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkyCis6MTBGRTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgyCis6MTBGRTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcyCis6MTBGRTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYyCis6MTBGRUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUyCis6MTBGRUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQyCis6MTBGRUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMyCis6MTBGRUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIyCis6MTBGRUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEyCis6MTBGRUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMEMwMDAwMDAwMDAzMEUyCis6MTBGRjAwMDBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMxCis6MTBGRjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUxCis6MTBGRjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQxCis6MTBGRjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMxCis6MTBGRjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIxCis6MTBGRjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzBDMDMwQzAwMEMxCis6MTBGRjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkxCis6MTBGRjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgxCis6MTBGRjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcxCis6MTBGRjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYxCis6MTBGRkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUxCis6MTBGRkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMEMwMzBDMDMwQzAzMDQxCis6MTBGRkMwMDBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcxCis6MTBGRkQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIxCis6MTBGRkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDExCis6MTBGRkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxCis6MTA4MDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYwCis6MTA4MDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjAwMDAwMDAwMDAwRjMyCis6MTA4MDMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQwCis6MTA4MDQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMwCis6MTA4MDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIwCis6MTA4MDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwCis6MTA4MDcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCis6MTA4MDgwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRkMwMDAwMDAwMDAzRkIyCis6MTA4MDkwMDBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIwCis6MTA4MEEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQwCis6MTA4MEIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMwCis6MTA4MEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIwCis6MTA4MEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEwCis6MTA4MEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjAwMzBDMDMwQzAwRjkyCis6MTA4MEYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgwCis6MTA4MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZGCis6MTA4MTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVGCis6MTA4MTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRGCis6MTA4MTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGCis6MTA4MTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMzc0QzBDMDAwRjBFQzRDCis6MTA4MTUwMDA0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERGCis6MTA4MTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGCis6MTA4MTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZGCis6MTA4MTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVGCis6MTA4MTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERGCis6MTA4MUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYwMDBGMDAwMEIxCis6MTA4MUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJGCis6MTA4MUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFGCis6MTA4MUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlGCis6MTA4MUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhGCis6MTA4MUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdGCis6MTA4MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMEMwMEYwMDBGMDAzMDMwCis6MTA4MjEwMDBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlFCis6MTA4MjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRFCis6MTA4MjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNFCis6MTA4MjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJFCis6MTA4MjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFFCis6MTA4MjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0ZDMDNGQzAwMDEwCis6MTA4MjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZFCis6MTA4MjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVFCis6MTA4MjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERFCis6MTA4MkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENFCis6MTA4MkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJFCis6MTA4MkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAxOTg2MTA4MDMwODIzRDkwCis6MTA4MkQwMDA4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFFCis6MTA4MkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhFCis6MTA4MkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdFCis6MTA4MzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZECis6MTA4MzEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVECis6MTA4MzIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjAwMEYwMDBGMDAwRjExCis6MTA4MzMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNECis6MTA4MzQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJECis6MTA4MzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFECis6MTA4MzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBECis6MTA4MzcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZECis6MTA4MzgwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRkMwMEYwMDBGMDAzRjkxCis6MTA4MzkwMDBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFECis6MTA4M0EwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENECis6MTA4M0IwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJECis6MTA4M0MwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFECis6MTA4M0QwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlECis6MTA4M0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjAwM0ZDMDNGQzAwRjcxCis6MTA4M0YwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdECis6MTA4NDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZDCis6MTA4NDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVDCis6MTA4NDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRDCis6MTA4NDMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNDCis6MTA4NDQwMDAwMDAwMDAwMDAwMDAwMDAwMzc2NTI1RTQ4MDAwQjA4OENGCis6MTA4NDUwMDBBQjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMxCis6MTA4NDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDCis6MTA4NDcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZDCis6MTA4NDgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVDCis6MTA4NDkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERDCis6MTA4NEEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENDCis6MTA4NEIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJDCis6MTA4NEMwMDAwMDAwMDAwMDMwMDAyMDAxMDIwMjAwMDAzMDAwNDMwMEU0Cis6MTA4NEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlDCis6MTA4NEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhDCis6MTA4NEYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdDCis6MTA4NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZCCis6MTA4NTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVCCis6MTA4NTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRCCis6MTA4NTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNCCis6MTA4NTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJCCis6MTA4NTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFCCis6MTA4NTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCCis6MTA4NTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZCCis6MTA4NTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVCCis6MTA4NTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERCCis6MTA4NUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENCCis6MTA4NUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJCCis6MTA4NUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFCCis6MTA4NUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlCCis6MTA4NUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhCCis6MTA4NUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdCCis6MTA4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZBCis6MTA4NjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVBCis6MTA4NjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRBCis6MTA4NjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNBCis6MTA4NjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJBCis6MTA4NjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFBCis6MTA4NjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBCis6MTA4NjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZBCis6MTA4NjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVBCis6MTA4NjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERBCis6MTA4NkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENBCis6MTA4NkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJBCis6MTA4NkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFBCis6MTA4NkQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlBCis6MTA4NkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhBCis6MTA4NkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdBCis6MTA4NzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY5Cis6MTA4NzEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU5Cis6MTA4NzIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ5Cis6MTA4NzMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM5Cis6MTA4NzQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI5Cis6MTA4NzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE5Cis6MTA4NzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5Cis6MTA4NzcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY5Cis6MTA4NzgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU5Cis6MTA4NzkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ5Cis6MTA4N0EwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM5Cis6MTA4N0IwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI5Cis6MTA4N0MwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE5Cis6MTA4N0QwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk5Cis6MTA4N0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg5Cis6MTA4N0YwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc5Cis6MTA4ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY4Cis6MTA4ODEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU4Cis6MTA4ODIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ4Cis6MTA4ODMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM4Cis6MTA4ODQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI4Cis6MTA4ODUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE4Cis6MTA4ODYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4Cis6MTA4ODcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY4Cis6MTA4ODgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU4Cis6MTA4ODkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ4Cis6MTA4OEEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM4Cis6MTA4OEIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI4Cis6MTA4OEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE4Cis6MTA4OEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk4Cis6MTA4OEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg4Cis6MTA4OEYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc4Cis6MTA4OTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY3Cis6MTA4OTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU3Cis6MTA4OTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ3Cis6MTA4OTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM3Cis6MTA4OTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI3Cis6MTA4OTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE3Cis6MTA4OTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3Cis6MTA4OTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY3Cis6MTA4OTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU3Cis6MTA4OTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ3Cis6MTA4OUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM3Cis6MTA4OUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI3Cis6MTA4OUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE3Cis6MTA4OUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk3Cis6MTA4OUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg3Cis6MTA4OUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc3Cis6MTA4QTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY2Cis6MTA4QTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU2Cis6MTA4QTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ2Cis6MTA4QTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM2Cis6MTA4QTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI2Cis6MTA4QTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE2Cis6MTA4QTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2Cis6MTA4QTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY2Cis6MTA4QTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU2Cis6MTA4QTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ2Cis6MTA4QUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM2Cis6MTA4QUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI2Cis6MTA4QUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE2Cis6MTA4QUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk2Cis6MTA4QUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg2Cis6MTA4QUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc2Cis6MTA4QjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY1Cis6MTA4QjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU1Cis6MTA4QjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ1Cis6MTA4QjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM1Cis6MTA4QjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI1Cis6MTA4QjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE1Cis6MTA4QjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1Cis6MTA4QjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY1Cis6MTA4QjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU1Cis6MTA4QjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ1Cis6MTA4QkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM1Cis6MTA4QkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI1Cis6MTA4QkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE1Cis6MTA4QkQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk1Cis6MTA4QkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg1Cis6MTA4QkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc1Cis6MTA4QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY0Cis6MTA4QzEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU0Cis6MTA4QzIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ0Cis6MTA4QzMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM0Cis6MTA4QzQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI0Cis6MTA4QzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE0Cis6MTA4QzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0Cis6MTA4QzcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY0Cis6MTA4QzgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU0Cis6MTA4QzkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ0Cis6MTA4Q0EwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM0Cis6MTA4Q0IwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI0Cis6MTA4Q0MwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE0Cis6MTA4Q0QwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk0Cis6MTA4Q0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg0Cis6MTA4Q0YwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc0Cis6MTA4RDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYzCis6MTA4RDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUzCis6MTA4RDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQzCis6MTA4RDMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMzCis6MTA4RDQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIzCis6MTA4RDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEzCis6MTA4RDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzCis6MTA4RDcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYzCis6MTA4RDgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUzCis6MTA4RDkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQzCis6MTA4REEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMzCis6MTA4REIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIzCis6MTA4REMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEzCis6MTA4REQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkzCis6MTA4REUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgzCis6MTA4REYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDczCis6MTA4RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYyCis6MTA4RTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUyCis6MTA4RTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQyCis6MTA4RTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMyCis6MTA4RTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIyCis6MTA4RTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEyCis6MTA4RTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyCis6MTA4RTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYyCis6MTA4RTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUyCis6MTA4RTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQyCis6MTA4RUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMyCis6MTA4RUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIyCis6MTA4RUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEyCis6MTA4RUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkyCis6MTA4RUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgyCis6MTA4RUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcyCis6MTA4RjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYxCis6MTA4RjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUxCis6MTA4RjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQxCis6MTA4RjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMxCis6MTA4RjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIxCis6MTA4RjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDExCis6MTA4RjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxCis6MTA4RjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYxCis6MTA4RjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUxCis6MTA4RjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQxCis6MTA4RkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMxCis6MTA4RkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIxCis6MTA4RkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEExCis6MTA4RkQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkxCis6MTA4RkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgxCis6MTA4RkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcxCis6MTA5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYwCis6MTA5MDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUwCis6MTA5MDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQwCis6MTA5MDMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMwCis6MTA5MDQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIwCis6MTA5MDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwCis6MTA5MDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCis6MTA5MDcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYwCis6MTA5MDgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUwCis6MTA5MDkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQwCis6MTA5MEEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMwCis6MTA5MEIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIwCis6MTA5MEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEwCis6MTA5MEQwMDAzMDAwMDAwMTAwMDA0NDcyMzAwMDgwMDEwMDAwMDAwM0Y1Cis6MTA5MEUwMDAzMDAwNDAwQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0Cis6MTA5MEYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcwCis6MTA5MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVGCis6MTA5MTEwMDAwMDAwMDAwMDMwMDA4MDAxMDAwMDAwMDUzMDAwQTAwMUM4Cis6MTA5MTIwMDAwMDAwMDAwMDMwMDAwMDAxMDAwMEUxNUEwMDAwMDAwMEQzCis6MEM5MTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMworOjAwMDAwMDAxRkYKKy8qCisgKiBUaGlzIGZpcm13YXJlIGlzIGZvciB0aGUgRW1hZ2ljIEVNSSAyfDYgQXVkaW8gSW50ZXJmYWNlCisgKgorICogVGhlIGZpcm13YXJlIGNvbnRhaW5lZCBoZXJlaW4gaXMgQ29weXJpZ2h0IChjKSAxOTk5LTIwMDIgRW1hZ2ljCisgKiBhcyBhbiB1bnB1Ymxpc2hlZCB3b3JrLiBUaGlzIG5vdGljZSBkb2VzIG5vdCBpbXBseSB1bnJlc3RyaWN0ZWQKKyAqIG9yIHB1YmxpYyBhY2Nlc3MgdG8gdGhpcyBmaXJtd2FyZSB3aGljaCBpcyBhIHRyYWRlIHNlY3JldCBvZiBFbWFnaWMsCisgKiBhbmQgd2hpY2ggbWF5IG5vdCBiZSByZXByb2R1Y2VkLCB1c2VkLCBzb2xkIG9yIHRyYW5zZmVycmVkIHRvCisgKiBhbnkgdGhpcmQgcGFydHkgd2l0aG91dCBFbWFnaWMncyB3cml0dGVuIGNvbnNlbnQuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCBmb3IgdGhlIGRpc3RyaWJ1dGlvbiBvZiB0aGlzIGZpcm13YXJlCisgKiBpbWFnZSBhcyBwYXJ0IG9mIGEgTGludXggb3Igb3RoZXIgT3BlbiBTb3VyY2Ugb3BlcmF0aW5nIHN5c3RlbSBrZXJuZWwKKyAqIGluIHRleHQgb3IgYmluYXJ5IGZvcm0gYXMgcmVxdWlyZWQuCisgKgorICogVGhpcyBmaXJtd2FyZSBtYXkgbm90IGJlIG1vZGlmaWVkIGFuZCBtYXkgb25seSBiZSB1c2VkIHdpdGggdGhlCisgKiBFbWFnaWMgRU1JIDJ8NiBBdWRpbyBJbnRlcmZhY2UuIERpc3RyaWJ1dGlvbiBhbmQvb3IgTW9kaWZpY2F0aW9uIG9mCisgKiBhbnkgZHJpdmVyIHdoaWNoIGluY2x1ZGVzIHRoaXMgZmlybXdhcmUsIGluIHdob2xlIG9yIGluIHBhcnQsCisgKiByZXF1aXJlcyB0aGUgaW5jbHVzaW9uIG9mIHRoaXMgc3RhdGVtZW50LgorICoKKy8vLyBWRVJTSU9OPTEuMS4xLjEzMQorLy8gREFURT0yMDAxZGVjMDYKKy8vIFBST0RVQ1Q9RU1JIDJ8NgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUvZW1pMjYvZmlybXdhcmUuSEVYIGIvZmlybXdhcmUvZW1pMjYvZmlybXdhcmUuSEVYCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFjYTQwMGUKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9lbWkyNi9maXJtd2FyZS5IRVgKQEAgLTAsMCArMSwxMjYxIEBACis6MDMwMDAwMDAwMjQzNTY2MgorOjAzMDAwMzAwMDI0QkNERTAKKzowMzAwMEIwMDAyNEJEMkQzCis6MDMwMDEzMDAwMjRCOTIwQgorOjAzMDAxQjAwMDI0QkQ1QzAKKzowMzAwMjMwMDAyMUIzOTg0Cis6MDMwMDJCMDAwMjQzRTJBQgorOjAzMDAzMzAwMDIzRkYzOTYKKzowMzAwM0IwMDAyNEJDMEI1Cis6MDMwMDQzMDAwMjQ3MDA3MQorOjAzMDA0QjAwMDIzRkZDNzUKKzowMzAwNTMwMDAyMzdGQTc3Cis6MDMwMDVCMDAwMjRCQzc4RQorOjAzMDA2MzAwMDI0NkZDNTYKKzoxMDA1MDAwMDEyMDExMDAxMDAwMDAwNDA2QTA4MDEwMTAwMDEwMTAyMEYKKzoxMDA1MTAwMDAwMDEwOTAyQjgwMTAzMDEwMDgwQTAwOTA0MDAwMDAwRTUKKzoxMDA1MjAwMDAxMDEwMDAwMEEyNDAxMDAwMTU2MDAwMjAxMDIwQzI0MEUKKzoxMDA1MzAwMDAyMDEwMTAxMDAwNjAwMDAwMDAwMTUyNDA2MDUwMTAyNjkKKzoxMDA1NDAwMDAzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5OUYKKzoxMDA1NTAwMDI0MDMwMjA0MDMwMDA1MDAwQzI0MDIwMzAxMDIwMDAyMkMKKzoxMDA1NjAwMDAwMDAwMDAwMEQyNDA2MDYwMzAyMDMwMDAwMDAwMDAwNDYKKzoxMDA1NzAwMDAwMDkyNDAzMDQwMTAxMDAwNjAwMDkwNDAxMDAwMDAxMzAKKzoxMDA1ODAwMDAyMDAwMDA5MDQwMTAxMDIwMTAyMDAwMDA3MjQwMTAxMjgKKzoxMDA1OTAwMDAwMDEwMDExMjQwMjAxMDIwMjEwMDM0NEFDMDA4MEJCRTAKKzoxMDA1QTAwMDAwMDA3NzAxMDkwNTBBMDU4NDAxMDEwMDhGMDcyNTAxNzQKKzoxMDA1QjAwMDAxMDAwMDAwMDkwNThGMDEwMzAwMDEwNjAwMDkwNDAxODQKKzoxMDA1QzAwMDAyMDIwMTAyMDAwMDA3MjQwMTAxMDAwMTAwMEUyNDAyQzIKKzoxMDA1RDAwMDAxMDYwMjEwMDI0NEFDMDA4MEJCMDAwOTA1MEEwNTRDNkMKKzoxMDA1RTAwMDAyMDEwMDhGMDcyNTAxMDEwMDAwMDAwOTA1OEYwMTAzQUEKKzoxMDA1RjAwMDAwMDEwNjAwMDkwNDAxMDMwMjAxMDIwMDAwMDcyNDAxQjIKKzoxMDA2MDAwMDAxMDAwMTAwMEUyNDAyMDEwNjAzMTgwMjQ0QUMwMDgwMjAKKzoxMDA2MTAwMEJCMDAwOTA1MEEwNTcyMDMwMTAwOEYwNzI1MDEwMTAwQ0YKKzoxMDA2MjAwMDAwMDAwOTA1OEYwMTAzMDAwMTA2MDAwOTA0MDEwNDAyMEUKKzoxMDA2MzAwMDAxMDIwMDAwMDcyNDAxMDEwMDAxMDAwQjI0MDIwMTAyNTUKKzoxMDA2NDAwMDAzMTgwMTAwNzcwMTA5MDUwQTA1NDYwMjAxMDA4RjA3MUEKKzoxMDA2NTAwMDI1MDEwMTAwMDAwMDA5MDU4RjAxMDMwMDAxMDYwMDA5QzIKKzoxMDA2NjAwMDA0MDIwMDAwMDEwMjAwMDAwOTA0MDIwMTAxMDEwMjAwNkQKKzoxMDA2NzAwMDAwMDcyNDAxMDQwMDAxMDAxMTI0MDIwMTAyMDIxMDAzRkEKKzoxMDA2ODAwMDQ0QUMwMDgwQkIwMDAwNzcwMTA5MDU4QzA1ODQwMTAxQTIKKzoxMDA2OTAwMDAwMDAwNzI1MDEwMTAyMDAwMDA5MDQwMjAyMDEwMTAyMTUKKzoxMDA2QTAwMDAwMDAwNzI0MDEwNDAwMDEwMDExMjQwMjAxMDIwMzE4QzQKKzoxMDA2QjAwMDAzNDRBQzAwODBCQjAwMDA3NzAxMDkwNThDMDU0NjAyQUQKKzoxMDA2QzAwMDAxMDAwMDA3MjUwMTAxMDIwMDAwMDUwQzA5MDFBMTAxM0MKKzoxMDA2RDAwMDA1MEMwOUU5MDUwQzA5RUExNTAwMjUwMTk1MDI3NTAxQ0IKKzoxMDA2RTAwMDgxNDI5NTAxNzUwNjgxMDEwNTBDMDkwMDA1MEMwOTAwODAKKzoxMDA2RjAwMDE1MDAyNTAxOTUwMjc1MDE5MTA2OTUwMTc1MDY5MTAzNzYKKzoxMDA3MDAwMEMwMDQwMzA5MDQxODAzNDUwMDREMDA0MTAwNDcwMDQ5OTcKKzoxMDA3MTAwMDAwNDMwMDIwMDA0NzAwNkQwMDYyMDA0ODAwMUUwMzQ1QjIKKzoxMDA3MjAwMDAwNkQwMDYxMDA2NzAwNjkwMDYzMDAyMDAwNDUwMDREMTYKKzoxMDA3MzAwMDAwNDkwMDIwMDAzMjAwN0MwMDM2MDAyQTAzNDMwMDZGOEQKKzoxMDA3NDAwMDAwNkUwMDY2MDA2OTAwNjcwMDc1MDA3MjAwNjEwMDc0NDkKKzoxMDA3NTAwMDAwNjkwMDZGMDA2RTAwMjAwMDUzMDA3NDAwNzIwMDY5OTEKKzoxMDA3NjAwMDAwNkUwMDY3MDAyMjAzNDkwMDZFMDA3NDAwNjUwMDcyOEQKKzoxMDA3NzAwMDAwNjYwMDYxMDA2MzAwNjUwMDIwMDA1MzAwNzQwMDcyOTEKKzowOTA3ODAwMDAwNjkwMDZFMDA2NzAwMDAwMDMyCis6MTAwNzg5MDA3NDAwRjU4NjkwRkRBNTdDMDVBM0U1ODI0NTgzNzBGOTgzCis6MDEwNzk5MDAyMjNECis6MTAwNzlBMDA5MDdGRDZFMDQ0ODBGMDQzODcwMTAwMDAwMDAwMDAyMkU5Cis6MTAwN0FBMDBDMEQwQzBFMDhGRTBDMEUwOEVFMEMwRTA4REUwQzBFMEU1Cis6MTAwN0JBMDA4Q0UwQzBFMEMwODJDMDgzMDU4NkMwODRDMDg1RTUxODhECis6MTAwN0NBMDBCNDAyMDMwMjA3RDlCNDAxMDMwMjA3REUwMjA3RkE3RDY1Cis6MTAwN0RBMDAwMTAyMDgxNkU1MTkxNEY1MTlDM0I1MTMwMzAyMDdGNTQyCis6MTAwN0VBMDA1MDA5QjQwMEVBNzUxOTBBMDIwN0Q5N0QwMDAyMDgxNkYxCis6MTAwN0ZBMDBFNTE5MTRGNTE5QzNCNTE0MDMwMjA4MTE1MDA5QjQwMDE4Cis6MTAwODBBMDBDRTc1MTkwQTAyMDdEOTdEMDIwMjA4MTY3QzA1OTA3RjY3Cis6MTAwODFBMDA5OUUwNTQ0MERDMDMwMjA4NDNCNDAwMUQ5MDdGRTM3NDVFCis6MTAwODJBMDA3QkYwQTM3NDgwRjA5MDdGRTI3NDQwRjA5MDdGRTVGMDUzCis6MTAwODNBMDA5MDdGRTI3NDAwRjAwMjA4MTgwNTg2OTA3RkUyNzQ4MEM3Cis6MTAwODRBMDBGMDkwNzk2NUUwQjQwMTAzMDIwODlFQjQwMjAzMDIwODNECis6MTAwODVBMDA5NkI0MDMwMzAyMDg4RUI0MDQwMzAyMDg4NkI0MDUwMzlGCis6MTAwODZBMDAwMjA4N0VCNDA2MDMwMjA4NzYwMjA4RjQwNTg2OTA3RjIxCis6MTAwODdBMDA2QzAyMDhFOTA1ODY5MDdGNkMwMjA4REQwNTg2OTA3Rjg4Cis6MTAwODhBMDA2QzAyMDhDRjA1ODY5MDdGNkMwMjA4QzAwNTg2OTA3RkFGCis6MTAwODlBMDA2QzAyMDhCMjA1ODY5MDdGNkNGMDAwRjAwMEYwMDBGMDYwCis6MTAwOEFBMDAwREVEQjQyREY0MDIwOEY0RjBGMEYwRjBGMEYwMERFREQ3Cis6MTAwOEJBMDBCNDJERjUwMjA4RjRGMDAwRjAwMEYwMDBGMDBERURCNEVDCis6MTAwOENBMDAzMUY0MDIwOEY0RjBGMEYwRjBGMEYwMERFREI0MzFGNTg3Cis6MTAwOERBMDAwMjA4RjRGMEYwRjBGMDBERURCNDYxRjcwMjA4RjRGMDVDCis6MTAwOEVBMDBGMEYwRjBGMEYwMERFREI0NjFGNTkwN0ZFMjc0MDBGMEY1Cis6MTAwOEZBMDBEMDg1RDA4NDA1ODZEMDgzRDA4MkQwRTBGQ0QwRTBGREJDCis6MDUwOTBBMDBEMEUwRkVEMEUwOEEKKzowNjA5MEYwMEZGRDBFMEQwRDAyMjcxCis6MTAwOTE1MDBDMEQwQzBFMEMwODJDMDgzOTA3RjZGRTUwQ0YwRTUwRENDCis6MEQwOTI1MDBGMEU1MEVGMEQwODNEMDgyRDBFMEQwRDAyMkRCCis6MTAwOTMyMDBDMEQwQzBFMDhGRTBDMEUwOEVFMEMwRTBDMDgyQzA4M0UzCis6MTAwOTQyMDAwNTg2QzA4NEMwODU5MDc5NzBFMEZGQkYwMDAzMDIwQTZCCis6MTAwOTUyMDBCODkwN0Y5NkUwNDQ4MEYwOTA3RkUyNzQ4MEYwOTA3RkMwCis6MTAwOTYyMDA2MkUwMDU4NjkwN0ZFMjc0MDBGMDkwN0Y5NkUwNTQ3RjBCCis6MTAwOTcyMDBGMDkwN0ZFMjc0ODBGMDkwNzk4OEUwQjQwMTAzMDIwOTdDCis6MTAwOTgyMDBCRUI0MDIwMzAyMDlDM0I0MDMwMzAyMDlBQ0I0MDQwM0Y0Cis6MTAwOTkyMDAwMjA5OUEwNTg2MDIwQUIyRUY1NDAzRkVFRjAzMDM1NERBCis6MTAwOUEyMDAzRkZGOTA3RjYzMDU4NjAyMDlDOUVGNTQwM0ZFRUYwMzAwCis6MTAwOUIyMDAwMzU0M0ZGRjkwN0Y2MzA1ODYwMjBBMzYwNTg2MDIwQUNBCis6MTAwOUMyMDBBNTA1ODYwMjBBOEVFMEUwRTBFMEUwRTAwNTg2RTBFMEQwCis6MTAwOUQyMDBFMDA1ODZFMEUwRTBFMEUwRTAwNTg2RTBFMEUwMDU4NkI0Cis6MTAwOUUyMDBFMEUwRTBFMEUwRTAwNTg2RTBFMEUwMDU4NkUwRTBFMDZGCis6MTAwOUYyMDBFMEUwRTAwNTg2RTBFMEUwMDU4NkRGQ0FFRUI0MDAwMzUxCis6MTAwQTAyMDAwMjBBQjJCNDAxMDMwMjBBMjVFMEUwRTBFMEUwRTAwNUY4Cis6MTAwQTEyMDA4NkUwRTBFMDA1ODZFMEUwRTBFMEUwRTAwNTg2RTBFMDk4Cis6MTAwQTIyMDBFMDA1ODZFMEUwRTBFMEUwRTAwNTg2RTBFMEUwMDU4NjYzCis6MTAwQTMyMDAwMjBBQjJFMEUwRTBFMDA1ODZFMEUwMDU4NkUwRTBFMDAwCis6MEQwQTQyMDBFMDA1ODZFMEUwMDU4NkUwRTBFMEUwMDU4NkU2Cis6MTAwQTRGMDBFMEUwMDU4NkUwRTBFMEUwMDU4NkUwRTAwNTg2REZENjQxCis6MTAwQTVGMDBFRUI0MDAwMzAyMEFCMkI0MDEwMzAyMEE4MEUwRTBFMDQwCis6MTAwQTZGMDBFMDA1ODZFMEUwMDU4NkUwRTBFMEUwMDU4NkUwRTAwNUYxCis6MTAwQTdGMDA4NkUwRTBFMEUwMDU4NkUwRTAwNTg2MDIwQUIyRTBFMDBECis6MTAwQThGMDBFMEUwRTBFMEUwRTBFMEUwRTBFMEUwRTBFMEUwRTBFMDU3Cis6MTAwQTlGMDBERkVDMDIwQUIyRTBFMEUwRTBFMEUwRTBFMEUwRTBFMDFFCis6MTAwQUFGMDBFMERGRjI5MDdGRTI3NDAwRjBEMDg1RDA4NDA1ODZEMDJECis6MEUwQUJGMDA4M0QwODJEMEUwRkVEMEUwRkZEMEUwRDBEMDIyODUKKzoxMDBBQ0QwMEMwODJDMDgzQzBFMEU4QzBFMDc4RDFFODE0Rjg3MEZCQzQKKzowQTBBREQwMEQwRTBGOEQwRTBEMDgzRDA4MjIyRjAKKzoxMDBBRTcwMEMwRDBDMEUwOEZFMEMwRTA4RUUwQzBFMDhERTBDMEUwQTUKKzoxMDBBRjcwMDhDRTBDMEUwNzU4NjAwQzA4MkMwODMwNTg2QzA4NEMwRDQKKzoxMDBCMDcwMDg1N0UwMDkwNzk4RUUwQjQwMDE2NzQwMUYwOTAwNkNBRDUKKzoxMDBCMTcwMEEzQTNBM0EzQTNBM0EzRTBGRjkwNzk4REYwMDIwQjM5QUUKKzoxMDBCMjcwMDkwNzk4REUwRkY5MDc5OEZFMEZEOTA3OTkwRTBGQzAyNUQKKzoxMDBCMzcwMDBCNDY5MDA2Q0EwNTg2OTA3RjAwMDU4NjAyMEI1MThERUQKKzoxMDBCNDcwMDg0OEM4NTA1ODY5MDdGMDAwNTg2RTBBMzA1ODZGMEEzNDMKKzoxMDBCNTcwMDBFRUVCNDQwMDMwMjBCNkMwNTg2REZFRTkwNzk4RTc0QkYKKzoxMDBCNjcwMDAwRjAwMjBCODIwNTg2QUQ4NEFDODU5MDc5OEZFREYwOUQKKzoxMDBCNzcwMDkwNzk5MEVDRjA5MDc5OEQxRkVGRjA5MDdGQjVFRUYwQzMKKzoxMDBCODcwMEQwODVEMDg0MDU4NkQwODNEMDgyRDBFMEZDRDBFMEZEMkMKKzowQjBCOTcwMEQwRTBGRUQwRTBGRkQwRTBEMEQwMjI4NAorOjEwMEJBMjAwQzBEMEMwRTBDMDgyQzA4MzkwN0ZBRUUwNTRFMEYwOTAzRAorOjEwMEJCMjAwN0Y5NkUwNDQwODU0RkJGMDkwN0Y5N0UwNTRCRkYwOTA5QQorOjEwMEJDMjAwN0ZFMzc0N0JGMDkwN0ZFNDc0NDBGMDkwNzk3OEUwOTA1QQorOjEwMEJEMjAwN0I0MEYwOTA3RkUyNzQ0OEYwOTA3RkU1RTA5MDdGRTIwNgorOjEwMEJFMjAwNzQwMEYwOTA3Rjk2RTA1NEY3NDQwNEYwOTA3RkUzNzQzMQorOjEwMEJGMjAwN0JGMDkwN0ZFNDc0NDBGMDkwNzk3OUUwOTA3QjQwRjA1NAorOjEwMEMwMjAwOTA3RkUyNzQ0OEYwOTA3RkU1RTA5MDdGRTI3NDAwRjAxQworOjEwMEMxMjAwOTA3Rjk2RTA1NEYzRjA5MDdGQUVFMDQ0MUZGMEQwODNEMworOjA3MEMyMjAwRDA4MkQwRTBEMEQwMjIwNworOjEwMEMyOTAwQzBEMEMwRTBDMDgzQzA4MjkwNzkyRkUwNjRGRkMzMjRBNAorOjBCMEMzOTAwMDFGMEQwODJEMDgzRDBFMEQwRDAyMkE4Cis6MTAwQzQ0MDBCQjAxMDY4OTgyOEE4M0UwMjI1MDAyRTcyMkJCRkUwMkFFCis6MDkwQzU0MDBFMzIyODk4MjhBODNFNDkzMjJFMQorOjEwMEM1RDAwQkIwMTBDRTU4MjI5RjU4MkU1ODMzQUY1ODNFMDIyNTA0QworOjEwMEM2RDAwMDZFOTI1ODJGOEU2MjJCQkZFMDZFOTI1ODJGOEUyMjI5NgorOjBEMEM3RDAwRTU4MjI5RjU4MkU1ODMzQUY1ODNFNDkzMjJCMAorOjEwMEM4QTAwQkIwMTA2ODk4MjhBODNGMDIyNTAwMkY3MjJCQkZFMDE0OQorOjAyMEM5QTAwRjMyMjQzCis6MTAwQzlDMDBGOEJCMDEwREU1ODIyOUY1ODJFNTgzM0FGNTgzRThGMDhFCis6MTAwQ0FDMDAyMjUwMDZFOTI1ODJDOEY2MjJCQkZFMDVFOTI1ODJDODNBCis6MDIwQ0JDMDBGMjIyMjIKKzoxMDBDQkUwMEMyRDVFQzMwRTcwOUIyRDVFNEMzOURGREU0OUNGQ0VFNTEKKzoxMDBDQ0UwMDMwRTcxNUIyRDVFNEMzOUZGRkU0OUVGRTEyMEU0MEMzN0IKKzoxMDBDREUwMEU0OURGREU0OUNGQzgwMDMxMjBFNDAzMEQ1MDdDM0U0NzYKKzowNjBDRUUwMDlGRkZFNDlFRkUyMkMwCis6MTAwQ0Y0MDBDNUYwRjhBM0UwMjhGMEM1RjBGOEU1ODIxNTgyNzAwMjhCCis6MDYwRDA0MDAxNTgzRTAzOEYwMjIyNworOjEwMEQwQTAwQkIwMTEwRTU4MjI5RjU4MkU1ODMzQUY1ODNFMEY1RjAyNworOjEwMEQxQTAwQTNFMDIyNTAwOUU5MjU4MkY4ODZGMDA4RTYyMkJCRkUwNAorOjEwMEQyQTAwMEFFOTI1ODJGOEUyRjVGMDA4RTIyMkU1ODMyQUY1ODM0QQorOjA4MEQzQTAwRTk5M0Y1RjBBM0U5OTMyMjBGCis6MTAwRDQyMDBFODhGRjBBNENDOEJGMEE0MkNGQ0U5OEVGMEE0MkNGQzUwCis6MTAwRDUyMDA4QUYwRURBNDJDRkNFQThFRjBBNENEQThGMDhCRjBBNENFCis6MTAwRDYyMDAyRENDMzgyNUYwRkRFOThGRjBBNDJDQ0QzNUYwRkNFQjJECis6MTAwRDcyMDA4RUYwQTRGRUE5RjBFQjhGRjBBNENGQzVGMDJFQ0QzOUYyCis6MEYwRDgyMDBGRUU0M0NGQ0VBQTQyRENFMzVGMEZERTQzQ0ZDMjI1RgorOjEwMEQ5MTAwRUI5RkY1RjBFQTlFNDJGMEU5OUQ0MkYwRTg5QzQ1RjBCOAorOjAxMERBMTAwMjIyRgorOjEwMERBMjAwQkIwMTBERTU4MjI5RjU4MkU1ODMzQUY1ODMwMjBFQTFBNgorOjEwMERCMjAwNTAwN0U5MjU4MkY4MDIwRTk1QkJGRTA3RTkyNTgyRjg2NQorOjEwMERDMjAwMDIwRUFERTU4MjI5RjU4MkU1ODMzQUY1ODMwMjBFQjk3QQorOjEwMEREMjAwQkIwMTBERTU4MjI5RjU4MkU1ODMzQUY1ODMwMjBFRDU0MgorOjEwMERFMjAwNTAwN0U5MjU4MkY4MDIwRUM5QkJGRTA3RTkyNTgyRjgwMQorOjA0MERGMjAwMDIwRUUxMjJFQQorOjEwMERGNjAwQkIwMTBERTU4MjI5RjU4MkU1ODMzQUY1ODMwMjBGMDZFQworOjEwMEUwNjAwNTAwN0U5MjU4MkY4MDIwRUVEQkJGRTA3RTkyNTgyRjhCOAorOjA0MEUxNjAwMDIwRjM3MjI2RQorOjEwMEUxQTAwRDA4M0QwODJGOEU0OTM3MDEyNzQwMTkzNzAwREEzQTM2NworOjEwMEUyQTAwOTNGODc0MDE5M0Y1ODI4ODgzRTQ3Mzc0MDI5MzY4NjA3QgorOjA2MEUzQTAwRUZBM0EzQTM4MERGN0IKKzoxMDBFNDAwMEJDMDAwQkJFMDAyOUVGOERGMDg0RkZBREYwMjJFNENDOTYKKzoxMDBFNTAwMEY4NzVGMDA4RUYyRkZGRUUzM0ZFRUMzM0ZDRUU5REVDNUYKKzoxMDBFNjAwMDk4NDAwNUZDRUU5REZFMEZENUYwRTlFNENFRkQyMkVEQTUKKzoxMDBFNzAwMEY4RjVGMEVFODQyMEQyMUNGRUFERjA3NUYwMDhFRjJGRUYKKzoxMDBFODAwMEZGRUQzM0ZENDAwNzk4NTAwNkQ1RjBGMjIyQzM5OEZERTAKKzowNTBFOTAwMDBGRDVGMEVBMjI3RAorOjBDMEU5NTAwRTZGQzA4RTZGRDA4RTZGRTA4RTZGRjIyODkKKzowQzBFQTEwMEUwRkNBM0UwRkRBM0UwRkVBM0UwRkYyMkM0Cis6MEMwRUFEMDBFMkZDMDhFMkZEMDhFMkZFMDhFMkZGMjI4MQorOjEwMEVCOTAwRTQ5M0ZDQTNFNDkzRkRBM0U0OTNGRUEzRTQ5M0ZGMjI0QworOjBDMEVDOTAwRUNGNjA4RURGNjA4RUVGNjA4RUZGNjIyNTUKKzowQzBFRDUwMEVDRjBBM0VERjBBM0VFRjBBM0VGRjAyMjkwCis6MEMwRUUxMDBFQ0YyMDhFREYyMDhFRUYyMDhFRkYyMjI0RAorOjEwMEVFRDAwRDA4M0QwODJFNDkzRjYwODc0MDE5M0Y2MDg3NDAyOTNDQworOjA5MEVGRDAwRjYwODc0MDM5M0Y2NzQwNDczMDMKKzoxMDBGMDYwMEE4ODI4NTgzRjBEMDgzRDA4MjEyMEYxRDEyMEYxRDEyODYKKzoxMDBGMTYwMDBGMUQxMjBGMURFNDczRTQ5M0EzQzU4M0M1RjBDNTgzQUIKKzoxMDBGMjYwMEM4QzU4MkM4RjBBM0M1ODNDNUYwQzU4M0M4QzU4MkM4MzUKKzowMTBGMzYwMDIyOTgKKzoxMDBGMzcwMEQwODNEMDgyRTQ5M0YyMDg3NDAxOTNGMjA4NzQwMjkzODkKKzowOTBGNDcwMEYyMDg3NDAzOTNGMjc0MDQ3M0MwCis6MTAwRjUwMDBDMkFGRDIyQzkwN0Y5Mzc0MzBGMDkwN0Y5Qzc0QkZGMDFFCis6MTAwRjYwMDA5MDdGOTZFMDU0MzBGMDkwN0Y5NDc0MzBGMDkwN0Y5REE1Cis6MTAwRjcwMDA3NENGRjA5MDdGOTc3NEEwRjA5MDdGOTU3NENDRjBFNERDCis6MTAwRjgwMDA5MDdGOUVGMEMyMkRDMjJBQzIyQkMyMkU5MDc5NzQwNDhCCis6MTAwRjkwMDBGMDEyMkU5NDEyNDlFMjEyNEJFNjEyMzIwRDEyM0IwRDYyCis6MTAwRkEwMDAxMjQxRkQxMjNFOTlFNTFGNzAxODc1MUYwMTEyMTdGRkJGCis6MTAwRkIwMDAxMjJGRkYxMjQ5QzgxMjRCRDgxMjRCREExMjQ5NkYxMjg2Cis6MTAwRkMwMDAxQjQwMTIzOThEOTA3RkFGRTA0NDAxRjA5MDdGQUVFMDdFCis6MTAwRkQwMDA0NDFGRjA5MDdGQUM3NEZGRjA5MDdGQURGMDkwN0ZERTA3Cis6MTAwRkUwMDBGMDkwN0ZERkYwOTA3RkFCRjA5MDdGQTlGMDkwN0ZBQTI4Cis6MTAwRkYwMDBGMDUzOTFFRjQzRDgyMEQyRTg0M0Q4MjA0M0E4ODAyMjcxCis6MTAxMDAwMDA5MDc5NjNFMDE0NjA0NDE0NzAwMjIxRDAxNDcwMDI0MTlFCis6MTAxMDEwMDBEOTE0NzAwMjYxRDcyNDA0NjAwMjgxNTZFNDkwNzk3ODczCis6MTAxMDIwMDBGMDkwNzk3QkUwOTA3OTc5RjA0NDAxRjA1NEZERjA5MEY0Cis6MTAxMDMwMDA3OTdCRjBFNDkwNzk4OEYwQTJBRjMzRjUxMkMyQUYxMjU5Cis6MTAxMDQwMDAwQkEyRTUxMjcwMDI4MTU2RDJBRjIyOTA3OTJERTA2NDk2Cis6MTAxMDUwMDAwMTcwNzk5MDdGRjJGMDkwN0ZGMzc0MzBGMDkwN0ZGRjExCis6MTAxMDYwMDA3NEZDRjBFNDkwNzk3OEYwOTA3OTdCRTA5MDc5NzlGMEY1Cis6MTAxMDcwMDA0NDAxRjA0NDAyRjA5MDc5N0JGMEEyQUZFNDMzRjUxMjIyCis6MTAxMDgwMDBDMkFGMTIwQkEyOTA3OTc4NzQwMkYwOTA3OTg0RTA5MDRDCis6MTAxMDkwMDA3OTc5RjA5MDc5N0ZFMEI0MDEwOTkwNzk3OUUwNTRGRTk0Cis6MTAxMEEwMDBGMDgwMDc5MDc5NzlFMDQ0MDFGMDkwNzk3OUUwNTRGRDdGCis6MTAxMEIwMDBGMDU0RkJGMDkwNzk4NEYwMTIwQkEyOTA3OTgyNzQwNEMyCis6MTAxMEMwMDBGMDkwNzk4ODE0RjBFNTEyNjAwMkQyQUY5MDc5MkRFMEFCCis6MTAxMEQwMDA2NDAyNzA3OTkwN0ZGMkYwOTA3RkYzNzQzNEYwOTA3RjI3Cis6MTAxMEUwMDBGRjc0RkNGMEU0OTA3OTc4RjA5MDc5N0JFMDkwNzk3OTY2Cis6MTAxMEYwMDBGMDQ0MDFGMDQ0MDJGMDkwNzk3QkYwQTJBRkU0MzNGNUM0Cis6MTAxMTAwMDAxMkMyQUYxMjBCQTI5MDc5Nzg3NDAyRjA5MDc5ODRFMDQ5Cis6MTAxMTEwMDA5MDc5NzlGMDkwNzk3RkUwQjQwMTA5OTA3OTc5RTA1NDgxCis6MTAxMTIwMDBGRUYwODAwNzkwNzk3OUUwNDQwMUYwOTA3OTc5RTA0NDBECis6MTAxMTMwMDAwMkYwNTRGQkYwOTA3OTg0RjAxMjBCQTI5MDc5ODI3NDQzCis6MTAxMTQwMDAwNEYwOTA3OTg4MTRGMEU1MTI2MDAyRDJBRjkwNzkyRDA2Cis6MTAxMTUwMDBFMDY0MDM2MDAyODE1NjkwN0ZGMkYwOTA3RkYzNzQ2NDQ0Cis6MTAxMTYwMDBGMDkwN0ZGRjc0RkNGMEU0OTA3OTc4RjA5MDc5N0JFMDY4Cis6MTAxMTcwMDA5MDc5NzlGMDQ0MDFGMDQ0MDJGMDkwNzk3QkYwQTJBRkNECis6MTAxMTgwMDBFNDMzRjUxMkMyQUYxMjBCQTI5MDc5Nzg3NDAyRjA5MDlBCis6MTAxMTkwMDA3OTg0RTA5MDc5NzlGMDkwNzk3RkUwQjQwMTA5OTA3OUQxCis6MTAxMUEwMDA3OUUwNTRGRUYwODAwNzkwNzk3OUUwNDQwMUYwOTA3OTdECis6MTAxMUIwMDA3OUUwNDQwNEYwOTA3OTg0RjAxMjBCQTI5MDc5ODI3NDYzCis6MTAxMUMwMDAwNEYwOTA3OTg4MTRGMEU1MTI3MDAyODE1NkQyQUYyMkIzCis6MTAxMUQwMDA5MDc5MkRFMDY0MDE3MDdBOTA3RkYyRjA5MDdGRjM3NDQzCis6MTAxMUUwMDA4OEYwOTA3RkZGNzRGQ0YwRTQ5MDc5NzhGMDkwNzk3QjQwCis6MTAxMUYwMDBFMDkwNzk3OUYwNDQwMUYwNTRGREYwOTA3OTdCRjBBMjExCis6MTAxMjAwMDBBRkU0MzNGNTEyQzJBRjEyMEJBMjkwNzk3ODc0MDJGMEZBCis6MTAxMjEwMDA5MDc5ODRFMDkwNzk3OUYwOTA3OTdGRTBCNDAxMDk5MDM5Cis6MTAxMjIwMDA3OTc5RTA1NEZFRjA4MDA3OTA3OTc5RTA0NDAxRjA5MEZDCis6MTAxMjMwMDA3OTc5RTA1NEZERjA1NEZCRjA5MDc5ODRGMDEyMEJBMjIwCis6MTAxMjQwMDA5MDc5ODI3NDBDRjA5MDc5ODg3NDAxRjBFNTEyNjAwMjU0Cis6MTAxMjUwMDBEMkFGOTA3OTJERTA2NDAyNjAwMjgxNTY5MDdGRjJGMDY3Cis6MTAxMjYwMDA5MDdGRjM3NDk0RjA5MDdGRkY3NEZDRjBFNDkwNzk3OEIxCis6MTAxMjcwMDBGMDkwNzk3QkUwOTA3OTc5RjA0NDAxRjA1NEZERjA5MEEyCis6MTAxMjgwMDA3OTdCRjBBMkFGRTQzM0Y1MTJDMkFGMTIwQkEyOTA3OUQyCis6MTAxMjkwMDA3ODc0MDJGMDkwNzk4NEUwOTA3OTc5RjA5MDc5N0ZFMDI5Cis6MTAxMkEwMDBCNDAxMDk5MDc5NzlFMDU0RkVGMDgwMDc5MDc5NzlFMEYzCis6MTAxMkIwMDA0NDAxRjA5MDc5NzlFMDQ0MDJGMDU0RkJGMDkwNzk4NDk1Cis6MTAxMkMwMDBGMDEyMEJBMjkwNzk4Mjc0MENGMDkwNzk4ODc0MDFGMDdFCis6MTAxMkQwMDBFNTEyNzAwMjgxNTZEMkFGMjI5MDc5MkRFMDY0MDE3MDQwCis6MTAxMkUwMDA3NzkwN0ZGMkYwOTA3RkYzNzRDQ0YwOTA3RkZGNzRGQ0U2Cis6MTAxMkYwMDBGMEU0OTA3OTc4RjA5MDc5N0JFMDkwNzk3OUYwNTRGQzgzCis6MTAxMzAwMDBGMDkwNzk3QkYwQTJBRkU0MzNGNTEyQzJBRjEyMEJBMkRBCis6MTAxMzEwMDA5MDc5Nzg3NDAyRjA5MDc5ODRFMDkwNzk3OUYwOTA3OUZFCis6MTAxMzIwMDA3RkUwQjQwMTA5OTA3OTc5RTA1NEZFRjA4MDA3OTA3OTZDCis6MTAxMzMwMDA3OUUwNDQwMUYwOTA3OTc5RTA1NEZERjA1NEZCRjA5MEFECis6MTAxMzQwMDA3OTg0RjAxMjBCQTI5MDc5ODI3NDEyRjA5MDc5ODg3NEVCCis6MTAxMzUwMDAwMkYwRTUxMjYwMDJEMkFGOTA3OTJERTA2NDAyNzA3NzVFCis6MTAxMzYwMDA5MDdGRjJGMDkwN0ZGMzc0RTBGMDkwN0ZGRjc0RkNGMEQ4Cis6MTAxMzcwMDBFNDkwNzk3OEYwOTA3OTdCRTA5MDc5NzlGMDU0RkNGMDAyCis6MTAxMzgwMDA5MDc5N0JGMEEyQUZFNDMzRjUxMkMyQUYxMjBCQTI5MEJBCis6MTAxMzkwMDA3OTc4NzQwMkYwOTA3OTg0RTA5MDc5NzlGMDkwNzk3RjhGCis6MTAxM0EwMDBFMEI0MDEwOTkwNzk3OUUwNTRGRUYwODAwNzkwNzk3OUYyCis6MTAxM0IwMDBFMDQ0MDFGMDkwNzk3OUUwNDQwMkYwNTRGQkYwOTA3OTM4Cis6MTAxM0MwMDA4NEYwMTIwQkEyOTA3OTgyNzQxMkYwOTA3OTg4NzQwMkUyCis6MTAxM0QwMDBGMEU1MTI2MDAyRDJBRjkwNzkyREUwNjQwMzcwNzc5MDRGCis6MTAxM0UwMDA3RkYyRjA5MDdGRjM3NDk0RjA5MDdGRkY3NEZDRjBFNDUwCis6MTAxM0YwMDA5MDc5NzhGMDkwNzk3QkUwOTA3OTc5RjA1NEZFRjA0NDIwCis6MTAxNDAwMDAwMkYwOTA3OTdCRjBBMkFGRTQzM0Y1MTJDMkFGMTIwQjc5Cis6MTAxNDEwMDBBMjkwNzk3ODc0MDJGMDkwNzk4NEUwOTA3OTc5RjA5MEQ0Cis6MTAxNDIwMDA3OTdGRTBCNDAxMDk5MDc5NzlFMDU0RkVGMDgwMDc5MDZCCis6MTAxNDMwMDA3OTc5RTA0NDAxRjA5MDc5NzlFMDQ0MDRGMDkwNzk4NDdFCis6MTAxNDQwMDBGMDEyMEJBMjkwNzk4Mjc0MDZGMDkwNzk4ODc0MDRGMEZGCis6MDcxNDUwMDBFNTEyNjAwMkQyQUYyMjk5Cis6MTAxNDU3MDBDMjI4QzIyOTkwN0ZFOEUwMTIwRTFBMTQ4NDAwMTRFMDEzCis6MTAxNDY3MDAwMTE0RjYwMjE2N0MyMTE2QkUyMjE1OTE4MDE1RDE4MTMyCis6MTAxNDc3MDAxNjJFODIxNkNGQTExNzA1QTIwMDAwMTcwQTkwN0ZFOTQyCis6MTAxNDg3MDBFMDE0NjAxMTI0RkU2MDI4MjRGRTYwM0IyNEZDNzA0MEI5Cis6MTAxNDk3MDAxMjRBMkFFMTE2MTI0QkUwNDAwMkUxMTY5MDdGRUFFMDc5Cis6MTAxNEE3MDBCNDAxMDRDMjJBRTExNjkwN0ZCNEUwNDQwMUYwRTExNkNBCis6MTAxNEI3MDAxMjRCRTI5MDdGRUFFMEI0MDEwNEQyMkFFMTE2OTA3RjUyCis6MTAxNEM3MDBCNEUwNDQwMUYwRTExNjkwN0ZCNEUwNDQwMUYwRTExNjg2Cis6MTAxNEQ3MDA5MDdGQjRFMDQ0MDFGMEUxMTY5MDdGRTlFMDI0RjU3MEQ1Cis6MTAxNEU3MDAwNTEyNDc5Q0UxMTY5MDdGQjRFMDQ0MDFGMEUxMTY5MEE1Cis6MTAxNEY3MDA3RkU5RTAyNEZENjA1NDI0MDI2MDAyQTE4ODEyNEJFMERBCis6MTAxNTA3MDA0MDAyRTExNjkwN0ZFQUUwNzAzODkwN0ZFQ0UwRjQ1NEY3Cis6MTAxNTE3MDA4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MjYxCis6MTAxNTI3MDBFNDM0N0ZGNTgzRTRGMDkwN0ZFQ0UwNTQ4MEZGMTMxM0ZECis6MTAxNTM3MDAxMzU0MUZGRkUwNTQwNzJGOTA3RkQ3RjBFMDQ0MjBGMEFCCis6MTAxNTQ3MDBFMTE2OTA3RkI0RTA0NDAxRjBFMTE2MTI0QkUyNDAwMjRECis6MTAxNTU3MDBFMTE2OTA3RkVBRTA3MDIwOTA3RkVDRTBGNDU0ODBGRjgyCis6MTAxNTY3MDBDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyRTQzNDc4Cis6MTAxNTc3MDA3RkY1ODM3NDAxRjBFMTE2OTA3RkI0RTA0NDAxRjBFMTU4Cis6MTAxNTg3MDAxNjkwN0ZCNEUwNDQwMUYwRTExNjkwN0ZFOUUwNjAxMjI1Cis6MTAxNTk3MDAyNEY4NjAwOTI0MDI3MDI5MTIxNzFFRTExNjEyNEJBMEM1Cis6MTAxNUE3MDBFMTE2MTI0QkRFQTIyQUU0MzNGRjI1RTBGRkEyMkJFNDZCCis6MTAxNUI3MDAzMzRGOTA3RjAwRjBFNEEzRjA5MDdGQjU3NDAyRjBFMTIxCis6MTAxNUM3MDAxNjkwN0ZCNEUwNDQwMUYwRTExNjkwN0ZFOUUwNjAzN0MwCis6MTAxNUQ3MDAyNEY2NjAyRTI0MDQ3MDQxOTA3RkVCRTAyNERFNjAwRTM5Cis6MTAxNUU3MDAwNDcwMTZEMjI5OTA3RkI0RTA0NDAxRjBFMTE2RDIyOUE1Cis6MTAxNUY3MDA5MDdGQjRFMDQ0MDFGMEUxMTY5MDdGQjRFMDQ0MDFGMDNECis6MTAxNjA3MDBFMTE2MTI0NDYzRTExNjEyNEJERUU0OTA3RjAwRjBBMzZCCis6MTAxNjE3MDBGMDkwN0ZCNTc0MDJGMEUxMTYyMDI5MDc5MDdGQjRFMEJGCis6MTAxNjI3MDA0NDAxRjBDMjI5RTExNjkwN0ZFOUUwMjRGNDYwMzQyNEY0Cis6MTAxNjM3MDAwQzcwMzkxMjRCREU5MDdGRUNFMEY0NTQ4MEZGQzQ1NEY5Cis6MTAxNjQ3MDAwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTNCCis6MTAxNjU3MDA4M0UwNTRGRDkwN0YwMEYwRTRBM0YwOTA3RkI1NzQwMjFGCis6MTAxNjY3MDBGMEUxMTY5MDdGQjRFMDQ0MDFGMEUxMTY5MDdGQjRFMDFBCis6MTAxNjc3MDA0NDAxRjBFMTE2OTA3RkU5RTAyNEY2NjAxMjE0NjAxQTQ1Cis6MTAxNjg3MDAyNDAyNzAxREQyMjg5MDdGQjRFMDQ0MDFGMDgwMTJEMjZBCis6MTAxNjk3MDAyODkwN0ZCNEUwNDQwMUYwODAwNzkwN0ZCNEUwNDQwMUQ0Cis6MTAxNkE3MDBGMDIwMjgwRjkwNzk4NTc0MDFGMDEyNDk2RjkwN0ZDNTVCCis6MTAxNkI3MDA3NDAyRjBDMjI4ODA1ODkwNzk4Njc0MDFGMDEyNDk2RjNECis6MTAxNkM3MDA5MDdGQzU3NDAyRjA4MDQ3OTA3RkU5RTAyNEZFNjAxMkE2Cis6MTAxNkQ3MDAxNDYwMUEyNDAyNzAxREQyMjg5MDdGQjRFMDQ0MDFGMEYwCis6MTAxNkU3MDA4MDEyRDIyODkwN0ZCNEUwNDQwMUYwODAwNzkwN0ZCNDQ1Cis6MTAxNkY3MDBFMDQ0MDFGMDIwMjgwMzEyMUE3QkMyMjg4MDExMTIyQzIzCis6MTAxNzA3MDAyQjgwMEMxMjRCRTQ1MDA3OTA3RkI0RTA0NDAxRjA5MDFCCis6MDcxNzE3MDA3RkI0RTA0NDAyRjAyMjYwCis6MTAxNzFFMDAxMjRCREM0MDAyRTFFMzkwN0ZFQkUwMjRGRTYwMUUxNEVFCis6MTAxNzJFMDA2MDQ2MTQ2MDZFMTQ3MDAyRTFENDI0MDQ2MDAyRTFEQ0ExCis6MTAxNzNFMDA3NDA1OTA3RkQ0RjA3NDAwOTA3RkQ1RjAyMjkwN0ZFQUVDCis6MTAxNzRFMDBFMEZGMTIzRkEyOEIzMzhBMzQ4OTM1RUE0OTYwMTFDRTBECis6MTAxNzVFMDBFQUNFRUU5MDdGRDRGMENGRTlDRkVGOTA3RkQ1RjAyMjk2Cis6MTAxNzZFMDA5MDdGQjRFMDQ0MDFGMDIyOTA3RkVBRTBGRjEyNDgwMDNGCis6MTAxNzdFMDA4QjMzOEEzNDg5MzVFQTQ5NjAxMUNFRUFDRUVFOTA3RkZBCis6MTAxNzhFMDBENEYwQ0ZFOUNGRUY5MDdGRDVGMDIyOTA3RkI0RTA0NDM0Cis6MTAxNzlFMDAwMUYwMjI5MDdGRUFFMEZGOTA3RUMwRTBGREEzRTBGQjI3Cis6MTAxN0FFMDAxMjQ0RDI4QjMzOEEzNDg5MzVFQTQ5NjAxMUNFRUFDRTlGCis6MTAxN0JFMDBFRTkwN0ZENEYwQ0ZFOUNGRUY5MDdGRDVGMDIyOTA3RkRGCis6MTAxN0NFMDBCNEUwNDQwMUYwMjI5MDdGQjRFMDQ0MDFGMDIyOTA3RjE3Cis6MDUxN0RFMDBCNEUwNDQwMUYwM0QKKzowMTE3RTMwMDIyRTMKKzoxMDE3RTQwMEMwRTBDMDgzQzA4MjkwN0ZDNEU0RjA1MzkxRUY5MDdGNDcKKzowQjE3RjQwMEFCNzQwNEYwRDA4MkQwODNEMEUwMzI1MAorOjAxMTdGRjAwMjJDNworOjEwMTgwMDAwRTQ5MDc4MTVGMDdCMDE5MDc4MTIwNEYwQTM3NDc4RjBERQorOjEwMTgxMDAwQTM3NDU4RjA5MDc4MTJFMEZCQTNFMEZBQTNFMEY5OTBFQgorOjEwMTgyMDAwMDAwMTEyMEM1REZGOTA3OTlBRTA2RjYwMTg5MDc4MTVCNgorOjEwMTgzMDAwRTBDMzk0MDY1MDBGRTAwNEYwOTA3ODEzRTQ3NUYwMEZDNQorOjEwMTg0MDAwMTIwQ0Y0ODBDRjkwNzgxNUUwQjQwNjA4OTA3RkI0RTBENQorOjEwMTg1MDAwNDQwMUYwMjI5MDc4MTJFMEZCQTNFMEZBQTNFMEY5MTIzMQorOjEwMTg2MDAwMEM0NEZGMjRCRjcwMDI0MTdBMjRFMDcwMDI0MTRDMjRGMgorOjEwMTg3MDAwMjE2MDAyNDE3MzkwNzk5N0UwMjRGRTcwMDIyMTlBMTQ0RQorOjEwMTg4MDAwNzAwMjIxRUYyNDAyNjAwMjQxNDQ5MDc5MkRFMEEzRjAyMAorOjEwMTg5MDAwOTA3OTIzRTBGRkU0RkNGREZFRkJGQTc5MDFGODEyMEREQworOjEwMThBMDAwNDJDOEVDQzhDOUVEQzlDQUVFQ0FDQkVGQ0I5MDc5MjJDOQorOjEwMThCMDAwRTBGRUU0RkNGRDJCRkJFQTNFRkFFRDM5RjlFQzM4RjhFQQorOjEwMThDMDAwOTA3OTIxRTBGRkU0RkVFQjJGRkZFRTNBRkVFRDM5RkRDQgorOjEwMThEMDAwRUMzOEZDOTA3ODEyRTBGQkEzRTBGQUEzRTBGOTkwMDA2QQorOjEwMThFMDAwMDIxMjBERDI5MDAwMDIxMjBEQTI3QjQ0N0FBQzc5MDA1NAorOjEwMThGMDAwNzgwMEMzMTIwRDkxNzAwNTkwNzkyRDA0RjA5MDc4MTI0NAorOjEwMTkwMDAwRTBGQkEzRTBGQUEzRTBGOTkwMDAwMjEyMERBMjdCODBCNQorOjEwMTkxMDAwN0FCQjc5MDA3ODAwQzMxMjBEOTE3MDA2OTA3OTJENzQwRQorOjEwMTkyMDAwMDJGMDkwNzgxMkUwRkJBM0UwRkFBM0UwRjk5MDAwMDI0NQorOjEwMTkzMDAwMTIwREEyN0IwMDdBNzc3OTAxNzgwMEMzMTIwRDkxNzBBNQorOjEwMTk0MDAwMDY5MDc5MkQ3NDAzRjA5MDc5MkRFMEZGQjQwMTA5NzVBQworOjEwMTk1MDAwMEM2Nzc1MEQwNjc1MEUwQkVGQjQwMjA4RTRGNTBDRjU3NworOjEwMTk2MDAwMEQ3NTBFMENFRkI0MDMwOEU0RjUwQ0Y1MEQ3NTBFMThBQgorOjEwMTk3MDAwRUZCNDAzMEQ5MDc5MkVFMDY0MDM2MDA1RDIyRjEyM0Q4MQorOjEwMTk4MDAwNzk5MDc5MkRFMDY0MDM2MDBBQTNFMEI0MDMwNUMyMkZDNworOjEwMTk5MDAwMTIzRDc5MTIxMDAwMTIyODAxMjI5MDc5MjNFMEZGRTQxMQorOjEwMTlBMDAwRkNGREZFRkJGQTc5MDFGODEyMEQ0MkM4RUNDOEM5RUQ0NgorOjEwMTlCMDAwQzlDQUVFQ0FDQkVGQ0I5MDc5MjJFMEZFRTRGQ0ZEMkI0NgorOjEwMTlDMDAwRkJFQTNFRkFFRDM5RjlFQzM4Rjg5MDc5MjFFMEZGRTREMgorOjEwMTlEMDAwRkVFQjJGRkZFRTNBRkVFRDM5RkRFQzM4RkM5MDc4MTI2RAorOjEwMTlFMDAwRTBGQkEzRTBGQUEzRTBGOTkwMDAwNjEyMEREMjIyOTBFQQorOjEwMTlGMDAwNzkyM0UwRkZFNEZDRkRGRUZCRkE3OTAxRjgxMjBENDJDOQorOjEwMUEwMDAwQzhFQ0M4QzlFREM5Q0FFRUNBQ0JFRkNCOTA3OTIyRTBDOQorOjEwMUExMDAwRkVFNEZDRkQyQkZCRUEzRUZBRUQzOUY5RUMzOEY4OTBEOAorOjEwMUEyMDAwNzkyMUUwRkZFNEZFRUIyRkZGRUUzQUZFRUQzOUZERUMwRAorOjEwMUEzMDAwMzhGQzkwNzgxMkUwRkJBM0UwRkFBM0UwRjk5MDAwMEFFQQorOjEwMUE0MDAwMTIwREQyMjI5MDdGQjRFMDQ0MDFGMDIyOTA3OTk3RTAwOQorOjEwMUE1MDAwMTQ3MDE4OTA3OTIxRTBGRjkwNzgxMkUwRkJBM0UwRkE2RgorOjEwMUE2MDAwQTNFMEY5OTAwMDBFRUYxMjBDOUMyMjkwN0ZCNEUwNDRBQQorOjBBMUE3MDAwMDFGMDIyOTA3RkI0RTA0NDAxRjA4MQorOjAxMUE3QTAwMjI0OQorOjEwMUE3QjAwRTRGRkZFN0IwMTkwNzgwRjA0RjBBMzc0NzhGMEEzNzQ1RAorOjEwMUE4QjAwMkJGMDkwNzgwRkUwRkJBM0UwRkFBM0UwRjk5MDAwMDJCMworOjEwMUE5QjAwMTIwQzVERkQ5MDdGRUNFMDZENjAxM0VGQzM5NDA1NTA2RAorOjEwMUFBQjAwMEQwRjkwNzgxMEU0NzVGMDAzMTIwQ0Y0ODBENDhEMzM4NQorOjEwMUFCQjAwOTA3ODBGRTBGQkEzRTBGQUEzRTBGOTkwMDAwMTEyMEM4MQorOjEwMUFDQjAwNURGRDkwN0ZFREUwNkQ2MDEzRUVDMzk0MEI1MDBEMEUzQQorOjEwMUFEQjAwOTA3ODEwRTQ3NUYwMDMxMjBDRjQ4MEQ0OTA3RkVERTA1NQorOjEwMUFFQjAwRjUzNEVGNjQwNTYwMDNCRTBCMDg5MDdGQjRFMDQ0MDE0RQorOjEwMUFGQjAwRjAyMjkwNzgwRkUwRkJBM0UwRkFBM0UwRjkxMjBDNDQ3QworOjEwMUIwQjAwRkYyNEYwNjAwODI0MEY3MDBFMTI0OTJBMjIxMjRCODMxNworOjBFMUIxQjAwOTA3OTIwRTUzNEYwMjI5MDdGQjRFMDQ0MDFGMDkwCis6MDExQjI5MDAyMjk5Cis6MEYxQjJBMDA5MDdGRUFFMEI0RkYwNDEyMzQxNjIyMTIzODAwMjIzMgorOjA3MUIzOTAwNTM5OEZFNTM5OEZEMzJBMgorOjEwMUI0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5NQorOjEwMUI1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NQorOjEwMUI2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3NQorOjEwMUI3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NQorOjEwMUI4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NQorOjEwMUI5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NQorOjEwMUJBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzNQorOjEwMUJCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNQorOjEwMUJDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNQorOjEwMUJEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNQorOjEwMUJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGNQorOjEwMUJGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNQorOjEwMUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENAorOjEwMUMxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNAorOjEwMUMyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCNAorOjEwMUMzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNAorOjEwMUM0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5NAorOjEwMUM1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NAorOjEwMUM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3NAorOjEwMUM3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NAorOjEwMUM4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NAorOjEwMUM5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NAorOjEwMUNBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzNAorOjEwMUNCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNAorOjEwMUNDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNAorOjEwMUNEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNAorOjEwMUNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGNAorOjEwMUNGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNAorOjEwMUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMworOjEwMUQxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMworOjEwMUQyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMworOjEwMUQzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMworOjEwMUQ0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MworOjEwMUQ1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MworOjEwMUQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MworOjEwMUQ3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MworOjEwMUQ4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MworOjEwMUQ5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MworOjEwMURBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMworOjEwMURCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMworOjEwMURDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMworOjEwMUREMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMworOjEwMURFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMworOjEwMURGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMworOjEwMUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMgorOjEwMUUxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMgorOjEwMUUyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMgorOjEwMUUzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMgorOjEwMUU0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MgorOjEwMUU1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MgorOjEwMUU2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MgorOjEwMUU3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MgorOjEwMUU4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MgorOjEwMUU5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MgorOjEwMUVBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMgorOjBFMUVCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI0Cis6MTAxRUJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE0Cis6MTAxRUNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0Cis6MTAxRURFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY0Cis6MTAxRUVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU0Cis6MTAxRUZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ0Cis6MTAxRjBFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMzCis6MTAxRjFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIzCis6MTAxRjJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEzCis6MDIxRjNFMDAwMDAwQTEKKzoxMDFGNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTEKKzoxMDFGNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODEKKzoxMDFGNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzEKKzoxMDFGNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjEKKzoxMDFGODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTEKKzoxMDFGOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDEKKzoxMDFGQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzEKKzoxMDFGQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjEKKzoxMDFGQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTEKKzoxMDFGRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEKKzoxMDFGRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjEKKzoxMDFGRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTEKKzoxMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDAKKzoxMDIwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzAKKzoxMDIwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjAKKzoxMDIwMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTAKKzoxMDIwNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTAKKzoxMDIwNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODAKKzoxMDIwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzAKKzoxMDIwNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjAKKzoxMDIwODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTAKKzoxMDIwOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDAKKzoxMDIwQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzAKKzoxMDIwQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjAKKzoxMDIwQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAKKzoxMDIwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKKzoxMDIwRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjAKKzoxMDIwRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTAKKzoxMDIxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0YKKzoxMDIxMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkYKKzoxMDIxMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUYKKzoxMDIxMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUYKKzoxMDIxNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEYKKzoxMDIxNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0YKKzoxMDIxNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkYKKzoxMDIxNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUYKKzoxMDIxODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEYKKzoxMDIxOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0YKKzoxMDIxQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkYKKzoxMDIxQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUYKKzoxMDIxQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYKKzoxMDIxRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkYKKzoxMDIxRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUYKKzoxMDIxRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREYKKzoxMDIyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0UKKzoxMDIyMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkUKKzoxMDIyMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUUKKzoxMDIyMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUUKKzoxMDIyNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEUKKzoxMDIyNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0UKKzoxMDIyNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkUKKzoxMDIyNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUUKKzoxMDIyODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEUKKzoxMDIyOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0UKKzoxMDIyQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkUKKzoxMDIyQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUUKKzoxMDIyQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUKKzoxMDIyRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkUKKzoxMDIyRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUUKKzoxMDIyRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREUKKzoxMDIzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0QKKzoxMDIzMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkQKKzoxMDIzMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUQKKzoxMDIzMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUQKKzoxMDIzNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEQKKzoxMDIzNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0QKKzoxMDIzNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkQKKzowRTIzNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RgorOjEwMjM3RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RgorOjEwMjM4RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRgorOjEwMjM5RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRgorOjEwMjNBRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRgorOjEwMjNCRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRgorOjEwMjNDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRgorOjEwMjNERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRgorOjEwMjNFRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERgorOjEwMjNGRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRgorOjEwMjQwRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRQorOjEwMjQxRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRQorOjEwMjQyRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RQorOjEwMjQzRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RQorOjEwMjQ0RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RQorOjEwMjQ1RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2RQorOjEwMjQ2RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RQorOjEwMjQ3RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RQorOjEwMjQ4RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRQorOjEwMjQ5RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRQorOjEwMjRBRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRQorOjEwMjRCRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRQorOjEwMjRDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRQorOjEwMjRERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRQorOjEwMjRFRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERQorOjEwMjRGRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRQorOjEwMjUwRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRAorOjEwMjUxRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRAorOjEwMjUyRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RAorOjEwMjUzRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RAorOjEwMjU0RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RAorOjEwMjU1RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2RAorOjEwMjU2RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RAorOjEwMjU3RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RAorOjEwMjU4RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRAorOjEwMjU5RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRAorOjEwMjVBRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRAorOjEwMjVCRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRAorOjEwMjVDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRAorOjEwMjVERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRAorOjEwMjVFRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERAorOjEwMjVGRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRAorOjEwMjYwRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCQworOjEwMjYxRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBQworOjEwMjYyRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5QworOjEwMjYzRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4QworOjEwMjY0RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3QworOjEwMjY1RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2QworOjEwMjY2RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1QworOjEwMjY3RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0QworOjEwMjY4RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzQworOjEwMjY5RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyQworOjEwMjZBRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxQworOjEwMjZCRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQworOjEwMjZDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGQworOjEwMjZERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFQworOjBFMjZFRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERFCis6MTAyNkZDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENFCis6MTAyNzBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJECis6MTAyNzFDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFECis6MTAyNzJDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlECis6MTAyNzNDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhECis6MTAyNzRDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdECis6MTAyNzVDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZECis6MTAyNzZDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVECis6MTAyNzdDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRECis6MTAyNzhDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNECis6MTAyNzlDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJECis6MTAyN0FDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFECis6MTAyN0JDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBECis6MTAyN0NDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZECis6MTAyN0RDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVECis6MTAyN0VDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERECis6MDUyN0ZDMDAwMDAwMDAwMDIyQjYKKzoxMDI4MDEwMDkwNzk2NEUwMTQ2MDQ2MTQ3MDAyNDEzQzI0MDI2MDAyMzUKKzoxMDI4MTEwMDgxMkE5MDdGRkM3NENDRjA5MDdGRkY3NEZDRjA5MDc5NUEKKzoxMDI4MjEwMDc4NzQwMUYwOTA3OTdDRTA5MDc5NzlGMDU0RkRGMDQ0NkUKKzoxMDI4MzEwMDAxRjA5MDc5N0NGMEEyQUZFNDMzRjUxMkMyQUYxMjBCMzQKKzoxMDI4NDEwMEEyRTUxMjYwMDJEMkFGRTQ5MDc5N0FGMDIyOTA3OTJENUMKKzoxMDI4NTEwMEUwNjQwMTYwMDIwMUYxOTA3RkZDNzRDQ0YwOTA3RkZGOTUKKzoxMDI4NjEwMDc0RkNGMDkwNzk3ODc0MDFGMDkwNzk3Q0UwOTA3OTc5M0EKKzoxMDI4NzEwMEYwNDQwMUYwNDQwMkYwOTA3OTdFRTBCNDAxMDk5MDc5Q0UKKzoxMDI4ODEwMDc5RTA0NDA0RjA4MDA3OTA3OTc5RTA1NEZCRjA5MDc5ODUKKzoxMDI4OTEwMDc5RTA5MDc5N0NGMEEyQUZFNDMzRjUxMkMyQUYxMjBCNkMKKzoxMDI4QTEwMEEyOTA3OTc4NzQwMkYwOTA3OTg0RTA5MDc5NzlGMDkwMkYKKzoxMDI4QjEwMDc5N0ZFMEI0MDEwOTkwNzk3OUUwNTRGRUYwODAwNzkwQzYKKzoxMDI4QzEwMDc5NzlFMDQ0MDFGMDkwNzk3OUUwNTRGREYwNTRGQkYwMUUKKzoxMDI4RDEwMDkwNzk4NEYwMTIwQkEyOTA3OTdBNzQwMUYwOTA3OTY1NjUKKzoxMDI4RTEwMEYwRTUxMjYwMDJEMkFGRTQ5MDc5OENGMDkwNzk4QkYwMzAKKzoxMDI4RjEwMDkwNzkyREUwNjQwMjYwMDIyMTk2OTA3RkZDNzRDOEYwMEIKKzoxMDI5MDEwMDkwN0ZGRjc0RkNGMDkwNzk3ODc0MDFGMDkwNzk3Q0UwMEQKKzoxMDI5MTEwMDkwNzk3OUYwNDQwMUYwNDQwMkYwOTA3OTdFRTBCNDAxQkQKKzoxMDI5MjEwMDA5OTA3OTc5RTA0NDA0RjA4MDA3OTA3OTc5RTA1NEZCQ0IKKzoxMDI5MzEwMEYwOTA3OTc5RTA5MDc5N0NGMEEyQUZFNDMzRjUxMkMyOUUKKzoxMDI5NDEwMEFGMTIwQkEyOTA3OTc4NzQwMkYwOTA3OTg0RTA5MDc5QkIKKzoxMDI5NTEwMDc5RjA5MDc5N0ZFMEI0MDEwOTkwNzk3OUUwNTRGRUYwNDMKKzoxMDI5NjEwMDgwMDc5MDc5NzlFMDQ0MDFGMDkwNzk3OUUwNDQwMkYwQjAKKzoxMDI5NzEwMDU0RkJGMDkwNzk4NEYwMTIwQkEyOTA3OTdBNzQwMUYwRjMKKzoxMDI5ODEwMDkwNzk2NTc0MDNGMEU1MTI2MDAyRDJBRkU0OTA3OThDMUUKKzoxMDI5OTEwMEYwOTA3OThCRjA5MDc5MkRFMDY0MDM2MDAyODEyQTkwQTgKKzoxMDI5QTEwMDdGRkM3NDk4RjA5MDdGRkY3NEZDRjA5MDc5Nzg3NDAxNEIKKzoxMDI5QjEwMEYwOTA3OTdDRTA5MDc5NzlGMDQ0MDFGMDQ0MDJGMDkwNTQKKzoxMDI5QzEwMDc5N0VFMEI0MDEwOTkwNzk3OUUwNDQwNEYwODAwNzkwQzAKKzoxMDI5RDEwMDc5NzlFMDU0RkJGMDkwNzk3OUUwOTA3OTdDRjBBMkFGQkQKKzoxMDI5RTEwMEU0MzNGNTEyQzJBRjEyMEJBMjkwNzk3ODc0MDJGMDkwMjEKKzoxMDI5RjEwMDc5ODRFMDkwNzk3OUYwOTA3OTdGRTBCNDAxMDk5MDc5NTgKKzoxMDJBMDEwMDc5RTA1NEZFRjA4MDA3OTA3OTc5RTA0NDAxRjA5MDc5MDMKKzoxMDJBMTEwMDc5RTA1NEZERjA0NDA0RjA5MDc5ODRGMDEyMEJBMjkwMTcKKzoxMDJBMjEwMDc5N0E3NDAxRjA5MDc5NjU3NDA1RjBFNTEyNjAwMkQyNEIKKzoxMDJBMzEwMEFGRTQ5MDc5OENGMDkwNzk4QkYwMjI5MDc5MkRFMDY0NUQKKzoxMDJBNDEwMDAxNjAwMjQxRTA5MDdGRkM3NEI0RjA5MDdGRkY3NEZDNjAKKzoxMDJBNTEwMEYwOTA3OTc4NzQwMUYwOTA3OTdDRTA5MDc5NzlGMDU0NzQKKzoxMDJBNjEwMEZFRjA0NDAyRjA5MDc5N0VFMEI0MDEwOTkwNzk3OUUwQkEKKzoxMDJBNzEwMDQ0MDRGMDgwMDc5MDc5NzlFMDU0RkJGMDkwNzk3OUUwOTMKKzoxMDJBODEwMDkwNzk3Q0YwQTJBRkU0MzNGNTEyQzJBRjEyMEJBMjkwQTEKKzoxMDJBOTEwMDc5Nzg3NDAyRjA5MDc5ODRFMDkwNzk3OUYwOTA3OTdGNzcKKzoxMDJBQTEwMEUwQjQwMTA5OTA3OTc5RTA1NEZFRjA4MDA3OTA3OTc5REEKKzoxMDJBQjEwMEUwNDQwMUYwOTA3OTc5RTA1NEZERjA1NEZCRjA5MDc5MTUKKzoxMDJBQzEwMDg0RjAxMjBCQTI5MDc5N0E3NDAxRjA5MDc5NjUwNEYwODgKKzoxMDJBRDEwMEU1MTI2MDAyRDJBRkU0OTA3OThDRjA5MDc5OEJGMDkwOUUKKzoxMDJBRTEwMDc5MkRFMDY0MDI2MDAyNjE4NTkwN0ZGQzc0QjBGMDkwMDIKKzoxMDJBRjEwMDdGRkY3NEZDRjA5MDc5Nzg3NDAxRjA5MDc5N0NFMDkwMUMKKzoxMDJCMDEwMDc5NzlGMDU0RkVGMDQ0MDJGMDkwNzk3RUUwQjQwMTA5NDUKKzoxMDJCMTEwMDkwNzk3OUUwNDQwNEYwODAwNzkwNzk3OUUwNTRGQkYwRjIKKzoxMDJCMjEwMDkwNzk3OUUwOTA3OTdDRjBBMkFGRTQzM0Y1MTJDMkFGRUQKKzoxMDJCMzEwMDEyMEJBMjkwNzk3ODc0MDJGMDkwNzk4NEUwOTA3OTc5RkYKKzoxMDJCNDEwMEYwOTA3OTdGRTBCNDAxMDk5MDc5NzlFMDU0RkVGMDgwNEEKKzoxMDJCNTEwMDA3OTA3OTc5RTA0NDAxRjA5MDc5NzlFMDQ0MDJGMDU0RUEKKzoxMDJCNjEwMEZCRjA5MDc5ODRGMDEyMEJBMjkwNzk3QTc0MDFGMDkwQzUKKzoxMDJCNzEwMDc5NjU3NDA0RjBFNTEyNjAwMkQyQUZFNDkwNzk4Q0YwQ0IKKzoxMDJCODEwMDkwNzk4QkYwOTA3OTJERTA2NDAzNjAwMjgxMkE5MDdGMjcKKzoxMDJCOTEwMEZDNzQ2OEYwOTA3RkZGNzRGQ0YwOTA3OTc4NzQwMUYwMTgKKzoxMDJCQTEwMDkwNzk3Q0UwOTA3OTc5RjA1NEZFRjA0NDAyRjA5MDc5Q0MKKzoxMDJCQjEwMDdFRTBCNDAxMDk5MDc5NzlFMDQ0MDRGMDgwMDc5MDc5Q0UKKzoxMDJCQzEwMDc5RTA1NEZCRjA5MDc5NzlFMDkwNzk3Q0YwQTJBRkU0NjAKKzoxMDJCRDEwMDMzRjUxMkMyQUYxMjBCQTI5MDc5Nzg3NDAyRjA5MDc5OUEKKzoxMDJCRTEwMDg0RTA5MDc5NzlGMDkwNzk3RkUwQjQwMTA5OTA3OTc5NjYKKzoxMDJCRjEwMEUwNTRGRUYwODAwNzkwNzk3OUUwNDQwMUYwOTA3OTc5MTIKKzoxMDJDMDEwMEUwNTRGREYwNDQwNEYwOTA3OTg0RjAxMjBCQTI5MDc5MjUKKzoxMDJDMTEwMDdBNzQwMUYwOTA3OTY1NzQwNkYwRTUxMjYwMDJEMkFGMjIKKzowQTJDMjEwMEU0OTA3OThDRjA5MDc5OEJGMDIyOUEKKzoxMDJDMkIwMEU0RkY3QjAxOTA3ODE2MDRGMEEzNzQ3OEYwQTM3NDU4M0EKKzoxMDJDM0IwMEYwOTA3ODE2RTBGQkEzRTBGQUEzRTBGOTkwMDAwMTEyMDQKKzoxMDJDNEIwMDBDNURGRTkwN0ZFQ0UwNkU2MDEzRUZDMzk0MDY1MDBEQUQKKzoxMDJDNUIwMDBGOTA3ODE3RTQ3NUYwMEYxMjBDRjQ4MEQ0QkYwNjA4QjAKKzoxMDJDNkIwMDkwN0ZCNEUwNDQwMUYwMjI5MDc4MTZFMEZCQTNFMEZBRTkKKzoxMDJDN0IwMEEzRTBGOTEyMEM0NEZGMjQ5RjcwMDJDMTY2MjQyMTYwNkIKKzoxMDJDOEIwMDAyQzE4QzkwN0ZFOUUwMjQ3RTcwMDJBMTMwMTQ3MDAyQTcKKzoxMDJDOUIwMEExQzgyNDAyNjAwMkMxNUU5MDAwMDIxMjBEQTI3QjQ0MDcKKzoxMDJDQUIwMDdBQUM3OTAwNzgwMEMzMTIwRDkxNzAxMzkwN0YwMDc0ODkKKzoxMDJDQkIwMDQ0RjBBMzc0QUNGMEU0QTNGMDkwN0ZCNTc0MDNGMDkwRjAKKzoxMDJDQ0IwMDc4MTZFMEZCQTNFMEZBQTNFMEY5OTAwMDAyMTIwREEyNDQKKzoxMDJDREIwMDdCODA3QUJCNzkwMDc4MDBDMzEyMEQ5MTcwMTM5MDdGQzMKKzoxMDJDRUIwMDAwNzQ4MEYwQTM3NEJCRjBFNEEzRjA5MDdGQjU3NDAzODEKKzoxMDJDRkIwMEYwOTA3ODE2RTBGQkEzRTBGQUEzRTBGOTkwMDAwMjEyNDMKKzoxMDJEMEIwMDBEQTI3QjAwN0E3Nzc5MDE3ODAwQzMxMjBEOTE2MDAyRDYKKzoxMDJEMUIwMEMxOTM5MDdGMDBGMEEzNzQ3N0YwQTM3NDAxRjA5MDdGQzAKKzoxMDJEMkIwMEI1NzQwM0YwMjI5MDc4MTZFMEZCQTNFMEZBQTNFMEY5NjgKKzoxMDJEM0IwMDkwMDAwNjEyMERBMjdCNDQ3QUFDNzkwMDc4MDBDMzEyODYKKzoxMDJENEIwMDBEOTE3MDEzOTA3RjAwNzQ0NEYwQTM3NEFDRjBFNEEzNjYKKzoxMDJENUIwMEYwOTA3RkI1NzQwM0YwOTA3ODE2RTBGQkEzRTBGQUEzMzQKKzoxMDJENkIwMEUwRjk5MDAwMDYxMjBEQTI3QjgwN0FCQjc5MDA3ODAwMDcKKzoxMDJEN0IwMEMzMTIwRDkxNzAxMzkwN0YwMDc0ODBGMEEzNzRCQkYwOUQKKzoxMDJEOEIwMEU0QTNGMDkwN0ZCNTc0MDNGMDkwNzgxNkUwRkJBM0UwMUEKKzoxMDJEOUIwMEZBQTNFMEY5OTAwMDA2MTIwREEyN0IwMDdBNzc3OTAxNzUKKzoxMDJEQUIwMDc4MDBDMzEyMEQ5MTYwMDJDMTkzOTA3RjAwRjBBMzc0NjEKKzoxMDJEQkIwMDc3RjBBMzc0MDFGMDkwN0ZCNTc0MDNGMDIyOTA3ODE2MkUKKzoxMDJEQ0IwMEUwRkJBM0UwRkFBM0UwRjk5MDAwMEExMjBEQTI3QjQ0MEEKKzoxMDJEREIwMDdBQUM3OTAwNzgwMEMzMTIwRDkxNzAxMzkwN0YwMDc0NTgKKzoxMDJERUIwMDQ0RjBBMzc0QUNGMEU0QTNGMDkwN0ZCNTc0MDNGMDkwQkYKKzoxMDJERkIwMDc4MTZFMEZCQTNFMEZBQTNFMEY5OTAwMDBBMTIwREEyMEIKKzoxMDJFMEIwMDdCODA3QUJCNzkwMDc4MDBDMzEyMEQ5MTcwMTM5MDdGOTEKKzoxMDJFMUIwMDAwNzQ4MEYwQTM3NEJCRjBFNEEzRjA5MDdGQjU3NDAzNEYKKzoxMDJFMkIwMEYwOTA3ODE2RTBGQkEzRTBGQUEzRTBGOTkwMDAwQTEyMDkKKzoxMDJFM0IwMDBEQTI3QjAwN0E3Nzc5MDE3ODAwQzMxMjBEOTE3MDQ4NEYKKzoxMDJFNEIwMDkwN0YwMEYwQTM3NDc3RjBBMzc0MDFGMDkwN0ZCNTc0QkEKKzoxMDJFNUIwMDAzRjAyMjkwN0ZCNEUwNDQwMUYwMjI5MDdGRTlFMDI0NUMKKzoxMDJFNkIwMDdGNzAxNjkwNzgxNkUwRkJBM0UwRkFBM0UwRjk5MDAwRDAKKzoxMDJFN0IwMDBFMTIwQzVEOTA3RjAwRjAyMjkwN0ZCNEUwNDQwMUYwQzUKKzowODJFOEIwMDIyOTA3RkI0RTA0NDAxRjA0NQorOjAxMkU5MzAwMjIxQworOjEwMkU5NDAwNzUzNjI1NzUzNzI0OTA3OTc0RTA2NDAxNzA1NEYwRjUyMworOjEwMkVBNDAwMzU3NTIyMDFFNTIyNjQwMTcwNDg5MDdGQTVFMDQ0ODBENQorOjEwMkVCNDAwRjA5MDdGQTZFNTM2RjAxMjQ2QzA3NDRGMjUzNUY1ODJCMgorOjEwMkVDNDAwRTQzNDc5RjU4M0UwOTA3RkE2RjAxMjQ2QzA3NDM1MjU4QQorOjEwMkVENDAwMzVGNTgyRTQzNDc5RjU4M0UwOTA3RkE2RjAxMjQ2QzA5QworOjEwMkVFNDAwOTA3RkE1NzQ0MEYwMTIwQUNEMDUzNUU1MzVDMzk0MERFNQorOjEwMkVGNDAwNDBCMjkwNzk3NUUwNjQwMTYwMDJFMURFRjA5MDc5MjBERgorOjEwMkYwNDAwRTA2NDA1NjAwMkUxOEQ3QjAxOTA3OTVDMDRGMEEzNzRCOAorOjEwMkYxNDAwNzhGMEEzNzRCMkYwNzUzMzA3OTA3OTVDRTBGQkEzRTAxQQorOjEwMkYyNDAwRkFBM0UwRjk5MDAwMDExMjBDNUQ3MDBGOTAwMDA0MTJGNgorOjEwMkYzNDAwMEM1RDkwNzkyRkYwMTIwQzI5ODAwNjkwNzkyRjc0RkY4NAorOjEwMkY0NDAwRjBFNEY1MzU3NTIyMDE3NTM0MDJFNTIyNjQwMTcwMzkyNworOjEwMkY1NDAwOTA3RkE1RTA0NDgwRjA5MDdGQTZFNTM2RjAxMjQ2QzA0RAorOjEwMkY2NDAwQUYzNDA1MzQ5MDdGQTZFRkYwMTI0NkMwOTA3OTJGRTA3RAorOjEwMkY3NDAwOTA3RkE2RjAxMjQ2QzA5MDdGQTU3NDQwRjAxMjBBQ0Q0RgorOjEwMkY4NDAwMDUzNUU1MzVDMzk0MDY0MEMxOTA3OTIwRTA2NDA2NzBBOAorOjEwMkY5NDAwNDk3QjAxOTA3OTVGMDRGMEEzNzQ3OEYwQTM3NEZGRjA4NworOjEwMkZBNDAwNzUzMzAzOTA3OTVGRTBGQkEzRTBGQUEzRTBGOTkwMDBBNgorOjEwMkZCNDAwMDExMjBDNUQ3MDFDOTAwMDA0MTIwQzVEOTA3OTMzRjBDQQorOjEwMkZDNDAwNzAwMzc0RkZGMDkwNzkzM0UwNTQ3RkZGRjAyNUUwRjA1NAorOjBBMkZENDAwODAwNUU0OTA3OTMzRjAxMjQ3REYyNgorOjAxMkZERTAwMjJEMAorOjEwMkZERjAwOTA3OTc4NzQwM0YwOTA3OTgzRTA5MDc5NzlGMEEyQUZDQgorOjEwMkZFRjAwRTQzM0Y1MTJDMkFGMTIwQkEyRTUxMjYwMDJEMkFGMjI4OAorOjAxMkZGRjAwMjJBRgorOjEwMzAwMDAwRTRGRTkwNzkyMEUwRkRCNDA1MTE5MDc4MjU3NDAxRjA3QworOjEwMzAxMDAwQTM3NDc4RjBBMzc0QjJGMDc1MzUwN0VEQjQwNjExOTA3RgorOjEwMzAyMDAwNzgyNTc0MDFGMEEzNzQ3OEYwQTM3NEZGRjA3NTM1MDM2QworOjEwMzAzMDAwOTA3RkVCRTAxNDYwMTExNDYwNUIyNDAyNjAwMjQxMDU5NAorOjEwMzA0MDAwOTA3RkI0RTA0NDAxRjAyMjkwN0ZFOUUwMjQ3RjcwM0Q1RQorOjEwMzA1MDAwRTRGRkVGQzM5NTM1NTAyRjkwNzgyNUUwRkJBM0UwRkEwRAorOjEwMzA2MDAwQTNFMEY5OTAwMDAxMTIwQzVERkRDQ0VFQ0MwRTc0MDBEMworOjEwMzA3MDAwMkNGNTgyRTQzNDdGRjU4M0VERjA5MDc4MjZFNDc1RjA0QQorOjEwMzA4MDAwMEIxMjBDRjQwRjgwQ0I5MDdGQjVFRUYwMjI5MDdGQjQ0MgorOjEwMzA5MDAwRTA0NDAxRjAyMjkwN0ZFOUUwMjQ3RTYwNjQxNDcwMDIzNQorOjEwMzBBMDAwMjE1NTE0NzAwMjIxQTkyNDAzNjAwMjIxRkRFNEZGRUZFMQorOjEwMzBCMDAwQzM5NTM1NTA0NjkwNzgyNUUwRkJBM0UwRkFBM0UwRjlFQworOjEwMzBDMDAwOTAwMDAzMTIwQzVERkRDQ0VFQ0MwRTc0MDAyQ0Y1ODI0QQorOjEwMzBEMDAwRTQzNDdGRjU4M0VERjA5MDAwMDQxMjBDNURGRENDRUUzRQorOjEwMzBFMDAwQ0MwRTc0MDAyQ0Y1ODJFNDM0N0ZGNTgzRURGMDkwNzhGQgorOjEwMzBGMDAwMjZFNDc1RjAwQjEyMENGNDBGODBCNDkwN0ZCNUVFRjA1RgorOjEwMzEwMDAwMjJFNEZGRUZDMzk1MzU1MDQ2OTA3ODI1RTBGQkEzRTAxRAorOjEwMzExMDAwRkFBM0UwRjk5MDAwMDUxMjBDNURGRENDRUVDQzBFNzQyNAorOjEwMzEyMDAwMDAyQ0Y1ODJFNDM0N0ZGNTgzRURGMDkwMDAwNjEyMEM1QworOjEwMzEzMDAwNURGRENDRUVDQzBFNzQwMDJDRjU4MkU0MzQ3RkY1ODM3QgorOjEwMzE0MDAwRURGMDkwNzgyNkU0NzVGMDBCMTIwQ0Y0MEY4MEI0OTAzQgorOjEwMzE1MDAwN0ZCNUVFRjAyMkU0RkZFRkMzOTUzNTUwNDY5MDc4MjUxOQorOjEwMzE2MDAwRTBGQkEzRTBGQUEzRTBGOTkwMDAwNzEyMEM1REZEQ0NCMAorOjEwMzE3MDAwRUVDQzBFNzQwMDJDRjU4MkU0MzQ3RkY1ODNFREYwOTBGNAorOjEwMzE4MDAwMDAwODEyMEM1REZEQ0NFRUNDMEU3NDAwMkNGNTgyRTQzMAorOjEwMzE5MDAwMzQ3RkY1ODNFREYwOTA3ODI2RTQ3NUYwMEIxMjBDRjQ5MworOjEwMzFBMDAwMEY4MEI0OTA3RkI1RUVGMDIyRTRGRkVGQzM5NTM1NTA2OQorOjEwMzFCMDAwNDY5MDc4MjVFMEZCQTNFMEZBQTNFMEY5OTAwMDA5MTIxRAorOjEwMzFDMDAwMEM1REZEQ0NFRUNDMEU3NDAwMkNGNTgyRTQzNDdGRjU2MgorOjEwMzFEMDAwODNFREYwOTAwMDBBMTIwQzVERkRDQ0VFQ0MwRTc0MDA3NQorOjEwMzFFMDAwMkNGNTgyRTQzNDdGRjU4M0VERjA5MDc4MjZFNDc1RjBEOQorOjEwMzFGMDAwMEIxMjBDRjQwRjgwQjQ5MDdGQjVFRUYwMjI5MDdGQjRFOAorOjBDMzIwMDAwRTA0NDAxRjAyMjkwN0ZCNEUwNDQwMUYwQjMKKzowMTMyMEMwMDIyOUYKKzoxMDMyMEQwMDdCMDE3QTc4NzkyQjkwNzgwMEVCRjBBM0VBRjBBM0U5QjMKKzoxMDMyMUQwMEYwNzQwMTEyMEM4QTkwNzgwMEUwRkJBM0UwRkFBM0UwQjEKKzoxMDMyMkQwMEY5OTAwMDAxNzQwMTEyMEM5QzkwMDAwMkU0MTIwQzlDQTgKKzoxMDMyM0QwMDkwNzgwMUU0NzVGMDAzMTIwQ0Y0OTA3ODAwRTBGQkEzOTQKKzoxMDMyNEQwMEUwRkFBM0UwRjk3NDEwMTIwQzhBOTA3ODAwRTBGQkEzNjkKKzoxMDMyNUQwMEUwRkFBM0UwRjk5MDAwMDE3NDA1MTIwQzlDOTAwMDAyQjUKKzoxMDMyNkQwMEU0MTIwQzlDOTA3ODAxRTQ3NUYwMDMxMjBDRjQ5MDc4NDQKKzoxMDMyN0QwMDAwRTBGQkEzRTBGQUEzRTBGOTc0MDIxMjBDOEE5MDc4NDcKKzoxMDMyOEQwMDAwRTBGQkEzRTBGQUEzRTBGOTkwMDAwMTc0MDIxMjBDMzgKKzoxMDMyOUQwMDlDOTAwMDAyRTQxMjBDOUM5MDc4MDFFNDc1RjAwMzEyRUUKKzoxMDMyQUQwMDBDRjQ5MDc4MDBFMEZCQTNFMEZBQTNFMEY5NzQwMTEyQUUKKzoxMDMyQkQwMDBDOEE5MDc4MDBFMEZCQTNFMEZBQTNFMEY5OTAwMDAxRkUKKzoxMDMyQ0QwMDc0MDMxMjBDOUM5MDAwMDJFNDEyMEM5QzkwNzgwMUU0QTMKKzoxMDMyREQwMDc1RjAwMzEyMENGNDkwNzgwMEUwRkJBM0UwRkFBM0UwODQKKzoxMDMyRUQwMEY5NzQxMDEyMEM4QTkwNzgwMEUwRkJBM0UwRkFBM0UwQzkKKzoxMDMyRkQwMEY5OTAwMDAxNzQwNjEyMEM5QzkwMDAwMkU0MTIwQzlDRDMKKzoxMDMzMEQwMDkwNzgwMUU0NzVGMDAzMTIwQ0Y0OTA3ODAwRTBGQkEzQzMKKzoxMDMzMUQwMEUwRkFBM0UwRjk3NDAyMTIwQzhBOTA3ODAwRTBGQkEzQTYKKzoxMDMzMkQwMEUwRkFBM0UwRjk5MDAwMDE3NDA0MTIwQzlDOTAwMDAyRTUKKzoxMDMzM0QwMEU0MTIwQzlDOTA3ODAxRTQ3NUYwMDMxMjBDRjQ5MDc4NzMKKzoxMDMzNEQwMDAwRTBGQkEzRTBGQUEzRTBGOTc0MDIxMjBDOEE5MDc4NzYKKzoxMDMzNUQwMDAwRTBGQkEzRTBGQUEzRTBGOTkwMDAwMTc0MDQxMjBDNjUKKzoxMDMzNkQwMDlDOTAwMDAyNzQwNDEyMEM5QzkwNzgwMUU0NzVGMDAzOUIKKzoxMDMzN0QwMDEyMENGNDkwNzgwMEUwRkJBM0UwRkFBM0UwRjk3NDAyREMKKzoxMDMzOEQwMDEyMEM4QTkwNzgwMEUwRkJBM0UwRkFBM0UwRjk5MDAwMUMKKzoxMDMzOUQwMDAxNzQwMzEyMEM5QzkwMDAwMjc0MDQxMjBDOUM5MDc4MjIKKzoxMDMzQUQwMDAxRTQ3NUYwMDMxMjBDRjQ5MDc4MDBFMEZCQTNFMEZBNTEKKzoxMDMzQkQwMEEzRTBGOTc0MDIxMjBDOEE5MDc4MDBFMEZCQTNFMEZBMDYKKzoxMDMzQ0QwMEEzRTBGOTkwMDAwMTc0MDIxMjBDOUM5MDAwMDI3NDA0QTkKKzoxMDMzREQwMDEyMEM5QzkwNzgwMUU0NzVGMDAzMTIwQ0Y0OTA3ODAwQjcKKzoxMDMzRUQwMEUwRkJBM0UwRkFBM0UwRjk3NDAyMTIwQzhBOTA3ODAwRDYKKzoxMDMzRkQwMEUwRkJBM0UwRkFBM0UwRjk5MDAwMDE3NDAxMTIwQzlDMkMKKzowODM0MEQwMDkwMDAwMjc0MDQxMjBDOUNGMworOjAxMzQxNTAwMjI5NAorOjEwMzQxNjAwRTRGRTkwNzkyMEUwRkRCNDA1MTE5MDc4MUY3NDAxRjA2OAorOjEwMzQyNjAwQTM3NDc4RjBBMzc0QjJGMDc1MzUwN0VEQjQwNjExOTA2NQorOjEwMzQzNjAwNzgxRjc0MDFGMEEzNzQ3OEYwQTM3NEZGRjA3NTM1MDM1OAorOjEwMzQ0NjAwOTA3OTk5RTAxNDYwMTExNDYwNUIyNDAyNjAwMkMxMDY1MQorOjEwMzQ1NjAwOTA3RkI0RTA0NDAxRjAyMjkwNzk5N0UwMTQ3MDNFRTQ0NgorOjEwMzQ2NjAwRkZFRkMzOTUzNTUwMkZDREVFQ0QwRTc0MjEyREY1ODI4RAorOjEwMzQ3NjAwRTQzNDc5RjU4M0UwRkQ5MDc4MUZFMEZCQTNFMEZBQTMzRQorOjEwMzQ4NjAwRTBGOTkwMDAwMUVEMTIwQzlDOTA3ODIwRTQ3NUYwMEJBOQorOjEwMzQ5NjAwMTIwQ0Y0MEY4MENCOTA3OTc1NzQwMUYwMjI5MDdGQjRGMgorOjEwMzRBNjAwRTA0NDAxRjAyMjkwNzk5N0UwMjRGRTYwNjMxNDcwMDJGNAorOjEwMzRCNjAwQTE2NDE0NzAwMkExQjIyNDAzNjAwMkExRkVFNEZGRUYyRQorOjEwMzRDNjAwQzM5NTM1NTA0NENERUVDRDBFNzQyMTJERjU4MkU0MzRFRQorOjEwMzRENjAwNzlGNTgzRTBGRDkwNzgxRkUwRkJBM0UwRkFBM0UwRjkxRAorOjEwMzRFNjAwOTAwMDAzRUQxMjBDOUNDREVFQ0QwRTc0MjEyREY1ODJDRAorOjEwMzRGNjAwRTQzNDc5RjU4M0UwOTAwMDA0MTIwQzlDOTA3ODIwRTQ4MworOjEwMzUwNjAwNzVGMDBCMTIwQ0Y0MEY4MEI2OTA3OTc1NzQwMUYwMjJFOQorOjEwMzUxNjAwRTRGRkVGQzM5NTM1NDAwMkMxMERDREVFQ0QwRTc0MjEwQgorOjEwMzUyNjAwMkRGNTgyRTQzNDc5RjU4M0UwRkQ5MDc4MUZFMEZCQTM2NgorOjEwMzUzNjAwRTBGQUEzRTBGOTkwMDAwNUVEMTIwQzlDQ0RFRUNEMEU1RAorOjEwMzU0NjAwNzQyMTJERjU4MkU0MzQ3OUY1ODNFMDkwMDAwNjEyMEM5RgorOjEwMzU1NjAwOUM5MDc4MjBFNDc1RjAwQjEyMENGNDBGODBCNEU0RkYxNQorOjEwMzU2NjAwRUZDMzk1MzU0MDAyQzEwRENERUVDRDBFNzQyMTJERjU3QworOjEwMzU3NjAwODJFNDM0NzlGNTgzRTBGRDkwNzgxRkUwRkJBM0UwRkE1RQorOjEwMzU4NjAwQTNFMEY5OTAwMDA3RUQxMjBDOUNDREVFQ0QwRTc0MjE1MAorOjEwMzU5NjAwMkRGNTgyRTQzNDc5RjU4M0UwOTAwMDA4MTIwQzlDOTBCNgorOjEwMzVBNjAwNzgyMEU0NzVGMDBCMTIwQ0Y0MEY4MEI0RTRGRkVGQzMzRgorOjEwMzVCNjAwOTUzNTUwNTNDREVFQ0QwRTc0MjEyREY1ODJFNDM0NzkzOAorOjEwMzVDNjAwRjU4M0UwRkQ5MDc4MUZFMEZCQTNFMEZBQTNFMEY5OTAxNQorOjEwMzVENjAwMDAwOUVEMTIwQzlDQ0RFRUNEMEU3NDIxMkRGNTgyRTQ4MgorOjEwMzVFNjAwMzQ3OUY1ODNFMDkwMDAwQTEyMEM5QzkwNzgyMEU0NzVGQgorOjEwMzVGNjAwRjAwQjEyMENGNDBGODBCNjkwN0ZCNEUwNDQwMUYwMjI3OQorOjA3MzYwNjAwOTA3RkI0RTA0NDAxRjBFNQorOjAxMzYwRDAwMjI5QQorOjEwMzYwRTAwRTRGRTkwNzkyMEUwRkRCNDA1MTA5MDc4Mjg3NDAxRjA2NgorOjEwMzYxRTAwQTM3NDc4RjBBMzc0QjJGMDdGMDdFREI0MDYxMDkwNzgxRgorOjEwMzYyRTAwMjg3NDAxRjBBMzc0NzhGMEEzNzRGRkYwN0YwMzkwNzhGMAorOjEwMzYzRTAwMjhFMEZCQTNFMEZBQTNFMEY5MTIwQzQ0RkQ5MDdGRUEyOAorOjEwMzY0RTAwRTA2RDYwMTJFRUMzOUY1MDBEOTA3ODI5RTQ3NUYwMEI3QgorOjEwMzY1RTAwMTIwQ0Y0MEU4MEQ4OTA3RkVCRTAxNDYwMTExNDYwNDZDQgorOjEwMzY2RTAwMjQwMjYwMDJFMTlBOTA3RkI0RTA0NDAxRjAyMjkwN0Y0MAorOjEwMzY3RTAwRTlFMDI0N0Y3MDI4RUU2RjcwMDg5MDdGQjRFMDQ0MDE3QgorOjEwMzY4RTAwRjAyMjkwNzgyOEUwRkJBM0UwRkFBM0UwRjk5MDAwMDE4NQorOjEwMzY5RTAwMTIwQzVEOTA3RjAwRjA5MDdGQjU3NDAxRjAyMjkwN0Y0OAorOjEwMzZBRTAwQjRFMDQ0MDFGMDIyOTA3RkU5RTAyNDdFNjA0MDE0NjA5MworOjEwMzZCRTAwNkYxNDcwMDJFMTYwMjQwMzYwMDJFMTkyRUU2RjcwMDhGNQorOjEwMzZDRTAwOTA3RkI0RTA0NDAxRjAyMjkwNzgyOEUwRkJBM0UwRkE2QQorOjEwMzZERTAwQTNFMEY5OTAwMDAzMTIwQzVEOTA3RjAwRjA5MDAwMDRCRgorOjEwMzZFRTAwMTIwQzVEOTA3RjAxRjA5MDdGQjU3NDAyRjAyMkVFNkZBOAorOjEwMzZGRTAwNzAwODkwN0ZCNEUwNDQwMUYwMjI5MDc4MjhFMEZCQTM5QworOjEwMzcwRTAwRTBGQUEzRTBGOTkwMDAwNTEyMEM1RDkwN0YwMEYwOTBCNgorOjEwMzcxRTAwMDAwNjEyMEM1RDkwN0YwMUYwOTA3RkI1NzQwMkYwMjJDRQorOjEwMzcyRTAwRUU2RjcwMDg5MDdGQjRFMDQ0MDFGMDIyOTA3ODI4RTBBQworOjEwMzczRTAwRkJBM0UwRkFBM0UwRjk5MDAwMDcxMjBDNUQ5MDdGMDA2NgorOjEwMzc0RTAwRjA5MDAwMDgxMjBDNUQ5MDdGMDFGMDkwN0ZCNTc0MDIyRQorOjEwMzc1RTAwRjAyMkVFNkY3MDA4OTA3RkI0RTA0NDAxRjAyMjkwNzg3MgorOjEwMzc2RTAwMjhFMEZCQTNFMEZBQTNFMEY5OTAwMDA5MTIwQzVEOTBBQgorOjEwMzc3RTAwN0YwMEYwOTAwMDBBMTIwQzVEOTA3RjAxRjA5MDdGQjVGMworOjEwMzc4RTAwNzQwMkYwMjI5MDdGQjRFMDQ0MDFGMDIyOTA3RkI0RTAwNgorOjAzMzc5RTAwNDQwMUYwRjMKKzowMTM3QTEwMDIyMDUKKzoxMDM3QTIwMEMwRTBDMEYwQzA4M0MwODJDMEQwRThDMEUwRTlDMEUwQTEKKzoxMDM3QjIwMEVBQzBFMEVCQzBFMEVDQzBFMEVEQzBFMEVFQzBFMEVGNUMKKzoxMDM3QzIwMEMwRTA1MzkxRUY5MDdGQUI3NDEwRjA5MDc5ODNFMDU0OTYKKzoxMDM3RDIwMEZERjAxMjJGREZEMEUwRkZEMEUwRkVEMEUwRkREMEUwMjAKKzoxMDM3RTIwMEZDRDBFMEZCRDBFMEZBRDBFMEY5RDBFMEY4RDBEMEQwQzUKKzowODM3RjIwMDgyRDA4M0QwRjBEMEUwMzI1OAorOjA2MzdGQTAwNTM5MUJGRDIyNjMyRkMKKzoxMDM4MDAwMEU0RkU5MDc5MjBFMEZEQjQwNTEwOTA3ODIyNzQwMUYwNzgKKzoxMDM4MTAwMEEzNzQ3OEYwQTM3NEIyRjA3RjA3RURCNDA2MTA5MDc4MkIKKzoxMDM4MjAwMDIyNzQwMUYwQTM3NDc4RjBBMzc0RkZGMDdGMDM5MDc4MDIKKzoxMDM4MzAwMDIyRTBGQkEzRTBGQUEzRTBGOTEyMEM0NEZEOTA3OTk4OTIKKzoxMDM4NDAwMEUwNkQ2MDEyRUVDMzlGNTAwRDkwNzgyM0U0NzVGMDBCOEQKKzoxMDM4NTAwMDEyMENGNDBFODBEODkwNzk5OUUwMTQ2MDExMTQ2MDQ4MkQKKzoxMDM4NjAwMDI0MDI2MDAyMjE4NTkwN0ZCNEUwNDQwMUYwMjI5MDc5MjcKKzoxMDM4NzAwMDk3RTAxNDcwMkJFRTZGNzAwOTkwN0ZCNEUwNDQwMUYwNzQKKzoxMDM4ODAwMDgwMTc5MDc5MjFFMEZEOTA3ODIyRTBGQkEzRTBGQUEzNzUKKzoxMDM4OTAwMEUwRjk5MDAwMDFFRDEyMEM5QzkwNzk3NTc0MDFGMDIyMTIKKzoxMDM4QTAwMDkwN0ZCNEUwNDQwMUYwMjI5MDc5OTdFMDI0RkU2MDQzRDkKKzoxMDM4QjAwMDE0NjA2RTE0NzAwMjIxNEYyNDAzNjAwMjIxN0RFRTZGQUMKKzoxMDM4QzAwMDcwMDk5MDdGQjRFMDQ0MDFGMDgwMjE5MDc5MjFFMEZERkYKKzoxMDM4RDAwMDkwNzgyMkUwRkJBM0UwRkFBM0UwRjk5MDAwMDNFRDEyNTgKKzoxMDM4RTAwMDBDOUM5MDc5MjJFMDkwMDAwNDEyMEM5QzkwNzk3NTc0RTUKKzoxMDM4RjAwMDAxRjAyMkVFNkY3MDA4OTA3RkI0RTA0NDAxRjAyMjkwNTYKKzoxMDM5MDAwMDc5MjFFMEZEOTA3ODIyRTBGQkEzRTBGQUEzRTBGOTkwQjIKKzoxMDM5MTAwMDAwMDVFRDEyMEM5QzkwNzkyMkUwOTAwMDA2MTIwQzlDQTAKKzoxMDM5MjAwMDIyRUU2RjcwMDg5MDdGQjRFMDQ0MDFGMDIyOTA3OTIxN0MKKzoxMDM5MzAwMEUwRkQ5MDc4MjJFMEZCQTNFMEZBQTNFMEY5OTAwMDA3MTUKKzoxMDM5NDAwMEVEMTIwQzlDOTA3OTIyRTA5MDAwMDgxMjBDOUMyMkVFNjMKKzoxMDM5NTAwMDZGNzAwODkwN0ZCNEUwNDQwMUYwMjI5MDc5MjFFMEZFN0UKKzoxMDM5NjAwMDkwNzgyMkUwRkJBM0UwRkFBM0UwRjk5MDAwMDlFRTEyQzAKKzoxMDM5NzAwMDBDOUM5MDc5MjJFMDkwMDAwQTEyMEM5QzIyOTA3RkI0NUIKKzowQzM5ODAwMEUwNDQwMUYwMjI5MDdGQjRFMDQ0MDFGMDJDCis6MDEzOThDMDAyMjE4Cis6MTAzOThEMDBBMkFGRTQzM0Y1MTJFNDkwNzk4M0YwMTIyRkRGOTA3RjJDCis6MTAzOTlEMDBFMDc0OTBGMDkwN0ZFMTc0MDRGMEU0OTA3RkRERjA5MDlFCis6MTAzOUFEMDA3RkExRjA1MzhFRjg3NTg4MDU3NUI4MjA3NUY4MDE0MzIxCis6MTAzOUJEMDA4RTMwRjVDODc1Q0E3Rjc1Q0JGODQzQTgyMDkwNzk3NDAxCis6MTAzOUNEMDAwNEYwQzIyMkU0RjUwRjkwNzk3OEYwQTNGMDkwNzk2MkJCCis6MTAzOUREMDBGMEEzRjBBM0YwOTA3OTY2RjBBM0YwOTA3OTdCRjBBM0JCCis6MTAzOUVEMDBGMDkwNzk4NEYwOTA3OTdERjA5MDc5NzVGMEEzRjBBMzQzCis6MTAzOUZEMDBGMEMyMjNDMjI0QzIyNUMyMjZDMjIwOTA3RjlCRTBGNUNGCis6MTAzQTBEMDAwQTU0MjBGNTBBNzAwNjkwNzk3RUYwODAwNjkwNzk3RTMyCis6MTAzQTFEMDA3NDAxRjA5MDdGOUJFMEY1MEE1NDAyRjUwQTcwMDY5MDUwCis6MTAzQTJEMDA3OTdGRjA4MDA2OTA3OTdGNzQwMUYwOTA3OTc4NzQwMjM3Cis6MTAzQTNEMDBGMDkwNzk4NEUwOTA3OTc5RjA5MDc5N0ZFMEI0MDEwOTg0Cis6MTAzQTREMDA5MDc5NzlFMDU0RkVGMDgwMDc5MDc5NzlFMDQ0MDFGMEE3Cis6MTAzQTVEMDA5MDc5NzlFMDkwNzk4NEYwMTIwQkEyOTA3OTc4NzQwMUM1Cis6MTAzQTZEMDBGMDkwNzk3Q0UwOTA3OTc5RjA5MDc5N0VFMEI0MDEwOTVECis6MTAzQTdEMDA5MDc5NzlFMDQ0MDRGMDgwMDc5MDc5NzlFMDU0RkJGMDc3Cis6MTAzQThEMDA5MDc5NzlFMDkwNzk3Q0YwMTIwQkEyRTQ5MDc5NzhGMDNFCis6MTAzQTlEMDBBMzA0RjBFNDkwNzk4OEYwMTIwQkEyOTA3RkZDNzRERDAyCis6MTAzQUFEMDBGMDkwN0ZGRjc0RkZGMDkwNzk3ODc0MDFGMEEzRjAxMjFECis6MTAzQUJEMDAwQkEyRTQ5MDc5N0FGMDkwNzk4MzA0RjAxMjJGREZFNDcxCis6MTAzQUNEMDA5MDc5MzBGMDkwNzk4NUYwQTNGMEEzRjAxMjJFOTQ5MEI4Cis6MTAzQUREMDA3OTJENzQwMkYwOTA3OTg4MTRGMEMyMkZFNDkwNzk2OEYyCis6MTAzQUVEMDBGMDkwNzk4QUYwOTA3OTZBRjBBM0YwNzUxMzA4NzUxNDQ3Cis6MTAzQUZEMDAwOEY1MTZGNTE1RjUxNzkwNzk4Q0YwOTA3OThCRjAyMjY1Cis6MTAzQjBEMDA3QjAxN0E3ODc5NTg5MDc4MDNFQkYwQTNFQUYwQTNFOTdBCis6MTAzQjFEMDBGMDc0NDAxMjBDOEE5MDc4MDNFMEZCQTNFMEZBQTNFMDY2Cis6MTAzQjJEMDBGOTkwMDAwMTc0MEExMjBDOUM5MDAwMDIxMjBERjYwMDFGCis6MTAzQjNEMDAwMEJCODA5MDAwMDYxMjBERjYwMDAwQUM0NDkwMDAwQTA4Cis6MTAzQjREMDAxMjBERjYwMDAxNzcwMDkwNzgwNEU0NzVGMDBGMTIwQzU5Cis6MTAzQjVEMDBGNDkwNzgwM0UwRkJBM0UwRkFBM0UwRjk3NDQwMTIwQ0IzCis6MTAzQjZEMDA4QTkwNzgwM0UwRkJBM0UwRkFBM0UwRjk5MDAwMDE3NERBCis6MTAzQjdEMDA4QzEyMEM5QzkwMDAwMjEyMERGNjAwMDBCQjgwOTAwMDgwCis6MTAzQjhEMDAwNjEyMERGNjAwMDBBQzQ0OTAwMDBBMTIwREY2MDAwMTZECis6MTAzQjlEMDA3NzAwOTA3ODA0RTQ3NUYwMEYxMjBDRjQ5MDc4MDNFMDQwCis6MTAzQkFEMDBGQkEzRTBGQUEzRTBGOTc0NDAxMjBDOEE5MDc4MDNFMENECis6MTAzQkJEMDBGQkEzRTBGQUEzRTBGOTkwMDAwMTc0OEYxMjBDOUM5MDI2Cis6MTAzQkNEMDA3ODA0RTQ3NUYwMEYxMjBDRjQ5MDc4MDNFMEZCQTNFMDk5Cis6MTAzQkREMDBGQUEzRTBGOTc0NDExMjBDOEE5MDc4MDNFMEZCQTNFMDlDCis6MTAzQkVEMDBGQUEzRTBGOTkwMDAwMTc0ODQxMjBDOUM5MDc4MDRFNDFGCis6MTAzQkZEMDA3NUYwMEYxMjBDRjQ5MDc4MDNFMEZCQTNFMEZBQTNFMDRDCis6MTAzQzBEMDBGOTc0NjExMjBDOEE5MDc4MDNFMEZCQTNFMEZBQTNFMDRCCis6MTAzQzFEMDBGOTkwMDAwMTc0ODExMjBDOUM5MDc4MDRFNDc1RjAwRkZBCis6MTAzQzJEMDAxMjBDRjQ5MDc4MDNFMEZCQTNFMEZBQTNFMEY5NzQ2MUMxCis6MTAzQzNEMDAxMjBDOEE5MDc4MDNFMEZCQTNFMEZBQTNFMEY5OTAwMDYwCis6MDYzQzREMDAwMTc0MDExMjBDOUM0MQorOjAxM0M1MzAwMjI0RQorOjEwM0M1NDAwQzBFMEMwRjBDMDgzQzA4MkMwRDBFOEMwRTBFOUMwRTBFQQorOjEwM0M2NDAwRUFDMEUwRUJDMEUwRUNDMEUwRURDMEUwRUVDMEUwRUZBNQorOjAyM0M3NDAwQzBFMEFFCis6MTAzQzc2MDA5MDdGQTJFMEY1MEI5MDdGNzRFMDkwNzk3MEYwOTA3RkQyCis6MTAzQzg2MDA3NUUwOTA3OTcxRjA5MDc5ODNFMEZGRkU1NDAyRkU3MDQyCis6MTAzQzk2MDAwREVGNDQwMkYwMTIyRkRGOTA3OTc0NzQwMUYwRTUwQkZBCis6MTAzQ0E2MDAyMEUyMjg5MDc5NzBFMEZFQTNFMDdDMDAyNDAwRjUxMTY0Cis6MTAzQ0I2MDBFQzNFRjUxMDkwNzk4MkUwRkRBRTEwQUYxMTEyMENCRTBECis6MTAzQ0M2MDA5MDc5NzBFRkYwOTA3OTg5NzQwMUYwMTI0ODQzMTI0OEE4Cis6MTAzQ0Q2MDA3NjkwNzk4OUUwNjQwMTcwMzIxMjQxMDg5MDc5ODlFNDFFCis6MTAzQ0U2MDBGMDkwN0Y5OEUwNDQ0MEYwOTA3RjlFRTA0NDQwRjA5MDUyCis6MTAzQ0Y2MDA3Rjk1NzQ4MEYwNzVFODAxMTIwOTMyNzVFODBEOTA3RkEyCis6MTAzRDA2MDA5NTc0QzBGMDc1RTgwREQyMjA4MDA1NzVFODAxQzIyMEQzCis6MTAzRDE2MDAyMDIwMkI5MDc5MkRFMEZGQjQwMTA5NzUwQzY3NzUwREY1Cis6MTAzRDI2MDAwNjc1MEUwQkVGQjQwMjA5NzUwQzAwNzUwRDAwNzUwRUM1Cis6MTAzRDM2MDAwQ0VGQjQwMzA5NzUwQzAwNzUwRDAwNzUwRTE4NzVDQUU1Cis6MTAzRDQ2MDA2Rjc1Q0JGRUQyQ0E1MzkxRUY5MDdGQUI3NDAyRjBGMDQxCis6MTAzRDU2MDBEMEUwRkZEMEUwRkVEMEUwRkREMEUwRkNEMEUwRkJEMDJDCis6MTAzRDY2MDBFMEZBRDBFMEY5RDBFMEY4RDBEMEQwODJEMDgzRDBGMDFECis6MDMzRDc2MDBEMEUwMzI2OAorOjEwM0Q3OTAwNzUzMzI1NzUzNDI0OTA3OTVDNzQwMUYwQTM3NDc4RjA1NworOjEwM0Q4OTAwQTM3NEIyRjAyMDJGMDJDMTE3RTRGNTM1NzUyMjAxOTAxMgorOjEwM0Q5OTAwNzk1Q0UwRkJBM0UwRkFBM0UwRjk5MDAwMDQxMjBDNUQ2MgorOjEwM0RBOTAwRjUzNjc1MzUwNjc0NDIyNTM1RjU4MkU0MzQ3OUY1ODM5RgorOjEwM0RCOTAwRTUzNkYwMDUzNUU1MzVCNDBDRUJFNTM1QzM5NDBENDAzMgorOjEwM0RDOTAwMDJDMTk4RTUyMjY0MDE2MDAyQzE5ODkwN0ZBNUUwNDQ5MAorOjEwM0REOTAwODBGMDkwN0ZBNkU1MzNGMDEyNDZDMDc0NEYyNTM1RjU4MworOjEwM0RFOTAwODJFNDM0NzlGNTgzRTA5MDdGQTZGMDEyNDZDMDc0NDJFQworOjEwM0RGOTAwMjUzNUY1ODJFNDM0NzlGNTgzRTA5MDdGQTZGMDEyNDYwMworOjEwM0UwOTAwQzA5MDdGQTU3NDQwRjAxMjBBQ0QwNTM1ODBBQ0U0RjU2OQorOjEwM0UxOTAwMzU3NTIyMDE5MDc5NUNFMEZCQTNFMEZBQTNFMEY5OTAwMworOjEwM0UyOTAwMDAwNDEyMEM1REY1MzY3NTM1MDY3NDM1MjUzNUY1ODJCNQorOjEwM0UzOTAwRTQzNDc5RjU4M0U1MzZGMDA1MzVFNTM1QjQwQ0VCRTU4MQorOjEwM0U0OTAwMzVDMzk0MEQ1MDQ5RTUyMjY0MDE3MDQzOTA3RkE1RTA4NAorOjEwM0U1OTAwNDQ4MEYwOTA3RkE2RTUzM0YwMTI0NkMwNzQ0RjI1MzVCMworOjEwM0U2OTAwRjU4MkU0MzQ3OUY1ODNFMDkwN0ZBNkYwMTI0NkMwNzRCOAorOjEwM0U3OTAwMzUyNTM1RjU4MkU0MzQ3OUY1ODNFMDkwN0ZBNkYwMTI5MworOjBGM0U4OTAwNDZDMDkwN0ZBNTc0NDBGMDEyMEFDRDA1MzU4MEIwNzkKKzowMTNFOTgwMDIyMDcKKzoxMDNFOTkwMDkwNzgwOTc0MDFGMEEzNzQ3OEYwQTM3NEIyRjBFNEZGODgKKzoxMDNFQTkwMEZFOTA3ODA5RTBGQkEzRTBGQUEzRTBGOUVGMTIwQzhBOEYKKzoxMDNFQjkwMDkwNzgwOUUwRkJBM0UwRkFBM0UwRjk5MDAwMDFFNDEyOEQKKzoxMDNFQzkwMDBDOUM5MDAwMDI3NDE1MTIwQzlDOTAwMDAzRTQxMjBDRDcKKzoxMDNFRDkwMDlDOTAwMDA0NzRGRjEyMEM5QzkwMDAwNUU0MTIwQzlDNDkKKzoxMDNFRTkwMDkwMDAwNjc0QzMxMjBDOUM5MDAwMDdFNDEyMEM5QzkwN0QKKzoxMDNFRjkwMDAwMDhFNDEyMEM5QzkwMDAwOUU0MTIwQzlDOTAwMDBBNDIKKzoxMDNGMDkwMDc0MDExMjBDOUM5MDc4MEFFNDc1RjAwQjEyMENGNDBGRjIKKzoxMDNGMTkwMDBFQkUwNzhEOTA3ODA5NzQwMUYwQTM3NDc4RjBBMzc0MkMKKzoxMDNGMjkwMEZGRjBFNEZGRkU5MDc4MDlFMEZCQTNFMEZBQTNFMEY5RDMKKzoxMDNGMzkwMEVGMTIwQzhBOTA3ODA5RTBGQkEzRTBGQUEzRTBGOTkwNkMKKzoxMDNGNDkwMDAwMDFFNDEyMEM5QzkwMDAwMjc0MTUxMjBDOUM5MDAwNjQKKzoxMDNGNTkwMDAzRTQxMjBDOUM5MDAwMDQ3NDgwMTIwQzlDOTAwMDA1RTAKKzoxMDNGNjkwMEU0MTIwQzlDOTAwMDA2NzRDMzEyMEM5QzkwMDAwN0U0QTgKKzoxMDNGNzkwMDEyMEM5QzkwMDAwOEU0MTIwQzlDOTAwMDA5RTQxMjBDQUQKKzoxMDNGODkwMDlDOTAwMDBBNzQwMTEyMEM5QzkwNzgwQUU0NzVGMDBCNUQKKzowODNGOTkwMDEyMENGNDBGMEVCRTAzOERBMworOjAxM0ZBMTAwMjJGRAorOjEwM0ZBMjAwRTRGRTc1M0RGRjc1M0UwNTc1M0YxMkFCM0RBQTNFQTk4NQorOjEwM0ZCMjAwM0Y5MDAwMDExMjBDNUQ2NDAyNzAyRkNERUVDRDBFRUQyQworOjEwM0ZDMjAwNkY3MDAxMjI5MDAwMDIxMjBEMEE4NUYwM0JGNTNDNjJFRgorOjEwM0ZEMjAwM0JFNTNCNjIzQ0U1M0M2MjNCMjlGREU1M0IzQUM5RURGMgorOjEwM0ZFMjAwQzk3NTNERkZGNTNFODkzRjgwQzE3QjAwN0EwMDc5MDBBQgorOjAxM0ZGMjAwMjJBQworOjA5M0ZGMzAwNTNEOEVGNDNEODIwQzIyRDMyNEYKKzowNDNGRkMwMDUzOTFERjMyQ0MKKzoxMDQwMDAwMDkwNzk4N0UwQjQwMTFEOTA3OTg1RTBCNDAxMDMxMjQyRjQKKzoxMDQwMTAwMEFBOTA3OTg2RTBCNDAxMDMxMjE4MDBFNDkwNzk4NUYwNDMKKzoxMDQwMjAwMEEzRjBBM0YwMTIyRTk0OTA3RjlCRTBGNTBBNTQwMkY1QzIKKzoxMDQwMzAwMDBBNzAwNDkwNzk3RkYwOTA3RjlCRTBGNTBBNTQwMkZGQUMKKzoxMDQwNDAwMEY1MEFCRjAyMDY5MDc5N0Y3NDAxRjA5MDdGOUJFMEY1M0UKKzoxMDQwNTAwMDBBNTQyMEY1MEE3MDA0OTA3OTdFRjA5MDdGOUJFMEY1NzkKKzoxMDQwNjAwMDBBNTQyMEZGRjUwQUJGMjAwNjkwNzk3RTc0MDFGMDkwNzMKKzoxMDQwNzAwMDc5N0ZFMEZGOTA3OTgxRTA2RjYwMzg5MDc5Nzg3NDAyMDEKKzoxMDQwODAwMEYwOTA3OTg0RTA5MDc5NzlGMEVGQjQwMTA2RTA1NEZFODUKKzoxMDQwOTAwMEYwODAwNzkwNzk3OUUwNDQwMUYwOTA3OTc5RTA5MDc5QTcKKzoxMDQwQTAwMDg0RjBBMkFGRTQzM0Y1MTJDMkFGMTIwQkEyRTUxMjYwQTYKKzoxMDQwQjAwMDAyRDJBRjkwNzk3RUUwRkY5MDc5ODBFMDZGNjAzODkwMTcKKzoxMDQwQzAwMDc5Nzg3NDAxRjA5MDc5N0NFMDkwNzk3OUYwRUZCNDAxMUYKKzoxMDQwRDAwMDA2RTA0NDA0RjA4MDA3OTA3OTc5RTA1NEZCRjA5MDc5OTEKKzoxMDQwRTAwMDc5RTA5MDc5N0NGMEEyQUZFNDMzRjUxMkMyQUYxMjBCMDUKKzoxMDQwRjAwMEEyRTUxMjYwMDJEMkFGOTA3OTdGRTA5MDc5ODFGMDkwRDIKKzowODQxMDAwMDc5N0VFMDkwNzk4MEYwMjI0NQorOjEwNDEwODAwOTA3OTJERTA2NDAxNzAzNTkwNzk3MEUwRkZEMzk0MkQ5QgorOjEwNDExODAwNDAyQjkwNzk2OTc0MDFGMDkwNzk2OEUwMDRGMEUwRDM1RAorOjEwNDEyODAwOTQwRjQwMTlFNEYwRUZEMzk0MzE0MDA4OTA3OTJENzQzRQorOjEwNDEzODAwMDNGMDgwMDY5MDc5MkQ3NDAyRjAxMjEwMDA5MDc5MkQwQQorOjEwNDE0ODAwRTBCNDAyMkM5MDc5NzBFMEZGQzM5NDJGNTAyMkVGRDM5MworOjEwNDE1ODAwOTQyQTQwMUM5MDc5Njk3NDAxRjA5MDc5NjhFMDA0RjAyMQorOjEwNDE2ODAwRTBEMzk0MEY0MDBBRTRGMDkwNzkyRDA0RjAxMjEwMDA4NworOjEwNDE3ODAwOTA3OTJERTBCNDAyMjY5MDc5NzBFMEQzOTQzMTQwMURGNworOjEwNDE4ODAwOTA3OTY5NzQwMUYwOTA3OTY4RTAwNEYwRTBEMzk0MEZCNQorOjEwNDE5ODAwNDAwQkU0RjA5MDc5MkQ3NDAzRjAxMjEwMDA5MDc5MkQwMworOjEwNDFBODAwRTA2NDAzNzAzRjkwNzk3MEUwRkZDMzk0NUY1MDM1OTBFRQorOjEwNDFCODAwNzk2OTc0MDFGMDkwNzk2OEUwMDRGMEUwRDM5NDBGNDBENQorOjEwNDFDODAwMjNFNEYwRUZDMzk0MkY1MDBDRUZEMzk0MkE0MDA2OTBDOQorOjEwNDFEODAwNzkyRDc0MDFGMEVGRDM5NDJGNDAwNjkwNzkyRDc0MDI1NQorOjEwNDFFODAwRjAxMjEwMDA5MDc5NjlFMDcwMDU5MDc5NjhGMDIyRTQ4NworOjA1NDFGODAwOTA3OTY5RjAyMjNFCis6MTA0MUZEMDA3QjAxN0E3ODc5NEM5MDc4MDZFQkYwQTNFQUYwQTNFOThECis6MTA0MjBEMDBGMEU0MTIwQzhBOTA3ODA2RTBGQkEzRTBGQUEzRTBGOTQzCis6MTA0MjFEMDA5MDAwMDE3NDAxMTIwQzlDOTA3ODA3RTQ3NUYwMDMxMjY0Cis6MTA0MjJEMDAwQ0Y0OTA3ODA2RTBGQkEzRTBGQUEzRTBGOUU0MTIwQzlECis6MTA0MjNEMDA4QTkwNzgwNkUwRkJBM0UwRkFBM0UwRjk5MDAwMDE3NDAwCis6MTA0MjREMDAwMjEyMEM5QzkwNzgwN0U0NzVGMDAzMTIwQ0Y0OTA3ODMwCis6MTA0MjVEMDAwNkUwRkJBM0UwRkFBM0UwRjlFNDEyMEM4QTkwNzgwNkRECis6MTA0MjZEMDBFMEZCQTNFMEZBQTNFMEY5OTAwMDAxNzQwMzEyMEM5Q0FCCis6MTA0MjdEMDA5MDc4MDdFNDc1RjAwMzEyMENGNDkwNzgwNkUwRkJBMzM4Cis6MTA0MjhEMDBFMEZBQTNFMEY5RTQxMjBDOEE5MDc4MDZFMEZCQTNFMEQzCis6MEM0MjlEMDBGQUEzRTBGOTkwMDAwMTc0MDQxMjBDOUNEQworOjAxNDJBOTAwMjJGMgorOjEwNDJBQTAwRTRGRkZFN0IwMTkwNzgwQzA0RjBBMzc0NzhGMEEzNzQwOQorOjEwNDJCQTAwMkJGMDkwNzgwQ0UwRkJBM0UwRkFBM0UwRjk5MDAwMDI1RgorOjEwNDJDQTAwMTIwQzVERkQ5MDc5OUFFMDZENjAxM0VGQzM5NDA1NTA2RQorOjEwNDJEQTAwMEQwRjkwNzgwREU0NzVGMDAzMTIwQ0Y0ODBENDhEMzMzMQorOjEwNDJFQTAwOTA3ODBDRTBGQkEzRTBGQUEzRTBGOTkwMDAwMTEyMEMyRAorOjEwNDJGQTAwNURGRDkwNzk5QkUwRkM2RDYwMTNFRUMzOTQwQjUwMEQ0RAorOjEwNDMwQTAwMEU5MDc4MERFNDc1RjAwMzEyMENGNDgwRDM4QzM0RUYyMAorOjEwNDMxQTAwNjQwNTYwMDNCRTBCMDg5MDdGQjRFMDQ0MDFGMDIyOTA2QworOjEwNDMyQTAwNzgwQ0UwRkJBM0UwRkFBM0UwRjkxMjBDNDRGRjI0RjBCNgorOjEwNDMzQTAwNjAwODI0MEU3MDBFMTI0OTREMjI5MDc5MjBFNTM0RjA1RgorOjBCNDM0QTAwMTIxQjJBMjI5MDdGQjRFMDQ0MDFGMDE3Cis6MDE0MzU1MDAyMjQ1Cis6MEM0MzU2MDA3ODdGRTRGNkQ4RkQ3NTgxM0YwMjQzOUQ5RQorOjEwNDM2MjAwMDI0OEE5RTQ5M0EzRjhFNDkzQTM0MDAzRjY4MDAxRjI4MAorOjEwNDM3MjAwMDhERkY0ODAyOUU0OTNBM0Y4NTQwNzI0MENDOEMzMzM1QworOjEwNDM4MjAwQzQ1NDBGNDQyMEM4ODM0MDA0RjQ1NjgwMDE0NkY2REYyQgorOjEwNDM5MjAwRTQ4MDBCMDEwMjA0MDgxMDIwNDA4MDkwNDY2MUU0N0UxNAorOjEwNDNBMjAwMDE5MzYwQkNBM0ZGNTQzRjMwRTUwOTU0MUZGRUU0OTMyMAorOjEwNDNCMjAwQTM2MDAxMEVDRjU0QzAyNUUwNjBBODQwQjhFNDkzQTNFNworOjEwNDNDMjAwRkFFNDkzQTNGOEU0OTNBM0M4QzU4MkM4Q0FDNTgzQ0ExMgorOjEwNDNEMjAwRjBBM0M4QzU4MkM4Q0FDNTgzQ0FERkU5REVFNzgwQkVDQQorOjEwNDNFMjAwQzBFMEMwRjBDMDgzQzA4MkMwRDBFOEMwRTBFOUMwRTA1NQorOjEwNDNGMjAwRUFDMEUwRUJDMEUwRUNDMEUwRURDMEUwRUVDMEUwRUYxMAorOjEwNDQwMjAwQzBFMEMyQ0FDMkNGOTA3OTdBRTBCNDAxMUYxMjRCQUVBQgorOjEwNDQxMjAwMTI0NzU4NTNBOEEwOTA3RkFFRTRGMDEyMDdBQTEyNEI5RAorOjEwNDQyMjAwQjc5MDdGQUU3NDFGRjA0M0E4MDU4MDAzNTNBOEEwNTMzMgorOjEwNDQzMjAwQThGQTc1RTgwMTEyMDkxNTc1RTgwRDQzQTgwNUQwRTA0MAorOjEwNDQ0MjAwRkZEMEUwRkVEMEUwRkREMEUwRkNEMEUwRkJEMEUwRkEwRgorOjEwNDQ1MjAwRDBFMEY5RDBFMEY4RDBEMEQwODJEMDgzRDBGMEQwRTA1NAorOjAxNDQ2MjAwMzIyNworOjEwNDQ2MzAwOTA3RkVDRTBGNTA5MTQ2MDFEMTQ2MDJBMTQ2MDM3MTQ4MgorOjEwNDQ3MzAwNjA0NDI0MDQ3MDUwOTA3OTYyRTA5MDdGMDBGMDkwN0Y1NAorOjEwNDQ4MzAwQjU3NDAxRjA4MDQ3OTA3OTYzRTA5MDdGMDBGMDkwN0ZFRQorOjEwNDQ5MzAwQjU3NDAxRjA4MDM3OTA3OTY0RTA5MDdGMDBGMDkwN0ZFRAorOjEwNDRBMzAwQjU3NDAxRjA4MDI3OTA3OTY2RTA5MDdGMDBGMDkwN0ZFQgorOjEwNDRCMzAwQjU3NDAxRjA4MDE3OTA3OTY3RTA5MDdGMDBGMDkwN0ZFQQorOjBGNDRDMzAwQjU3NDAxRjA4MDA3OTA3RkI0RTA0NDAxRjBEMzIyN0MKKzowNDQ0RDIwMDhEMzY4QjM3NjEKKzoxMDQ0RDYwMDEyM0ZBMkVBNDk2MDU3MTIwQzQ0N0UwMDI5RkZFRTNBQzkKKzoxMDQ0RTYwMEM5RUZDOTc1MzhGRkY1Mzk4OTNBQUIzOEFBMzlBOTNBRkYKKzoxMDQ0RjYwMDkwMDAwMTEyMEM1REZGNjQwNDYwMDVFRjY0MDU3MDJFRTgKKzoxMDQ1MDYwMEVGQjQwNDE1OTAwMDAyMTIwQzVENjUzNjcwMEI5MDAwMzYKKzoxMDQ1MTYwMDAzMTIwQzVENjUzNzcwMDEyMjEyMEM0NDdFMDAyOUZGRTAKKzoxMDQ1MjYwMEVFM0FDOUVGQzk3NTM4RkZGNTM5ODkzQTgwQkM3QjAwODgKKzowNDQ1MzYwMDdBMDA3OTAwOEUKKzowMTQ1M0EwMDIyNUUKKzoxMDQ1M0IwMEU0RkY3QjAxOTA3ODFDMDRGMEEzNzQ3OEYwQTM3NDRDMTcKKzoxMDQ1NEIwMEYwOTA3ODFDRTBGQkEzRTBGQUEzRTBGOTkwMDAwMjEyRDQKKzoxMDQ1NUIwMDBDNURGRTkwN0ZFQ0UwNkU2MDEzRUZDMzk0MDQ1MDBEODYKKzoxMDQ1NkIwMDkwNzgxREU0NzVGMDAzMTIwQ0Y0MEY4MEQ0QkYwNDA5OEUKKzoxMDQ1N0IwMDkwN0ZCNEUwNDQwMUYwODAxNDkwNzkyMUUwRkY5MDc4QjMKKzoxMDQ1OEIwMDFDRTBGQkEzRTBGQUEzRTBGOUVGMTIwQzhBOTA3RkM1QzUKKzowMzQ1OUIwMDc0MDFGMEI4Cis6MDE0NTlFMDAyMkZBCis6MEU0NTlGMDBDMEUwQzA4M0MwODJDMEQwRUVDMEUwRUZDMEUwM0MKKzoxMDQ1QUQwMDkwNzk4NUUwNjQwMTYwMDVBM0UwQjQwMTJEOTA3OTg3RDEKKzoxMDQ1QkQwMDc0MDFGMEU0RkY5MDdGQzVFMEZFRUZDMzlFNTAxQjc0QzUKKzoxMDQ1Q0QwMEMwMkZGNTgyRTQzNDdFRjU4M0UwRkU3NDIxMkZGNTgyNTEKKzoxMDQ1REQwMEU0MzQ3OUY1ODNFRUYwMEY4MERCNTM5MUVGOTA3RkFBRjEKKzowNDQ1RUQwMEUwNDQwMUYwQjUKKzowRjQ1RjEwMEQwRTBGRkQwRTBGRUQwRDBEMDgyRDA4M0QwRTAzMjM3Cis6MTA0NjAwMDBFNEZGN0IwMTkwNzgxOTA0RjBBMzc0NzhGMEEzNzQ0QzU0Cis6MTA0NjEwMDBGMDkwNzgxOUUwRkJBM0UwRkFBM0UwRjk5MDAwMDIxMjExCis6MTA0NjIwMDAwQzVERkU5MDdGRUNFMDZFNjAxM0VGQzM5NDA0NTAwREMwCis6MTA0NjMwMDA5MDc4MUFFNDc1RjAwMzEyMENGNDBGODBENEJGMDQwOENDCis6MTA0NjQwMDA5MDdGQjRFMDQ0MDFGMDIyOTA3ODE5RTBGQkEzRTBGQUY3Cis6MTA0NjUwMDBBM0UwRjkxMjBDNDQ5MDdGMDBGMDkwN0ZCNTc0MDFGMDU0Cis6MDE0NjYwMDAyMjM3Cis6MTA0NjYxMDAwMTE4MDIwMTE5MEEwMTFDMDBDMTI4QzEyOTAxMUYwMUY5Cis6MEY0NjcxMDA0NDc5OUYwMDAwMDAwMDQxNzlBMzAwNDE3OUE0MDAyMworOjA0NDY4MDAwNDE3OTg5MDBGMworOjEwNDY4NDAwMDEyMjAxNDE3OTMxRkY0MTc5MzQwMDRENzkzNTNGM0ZCMQorOjEwNDY5NDAwMDAwODAwMDEwMDAwMDAwMDAwMDAxNTRENzk0MjNGM0Y3MgorOjEwNDZBNDAwMDYwODA0MDcwMDAwMDAwMDAwMDAxNTRENzk0RjBBMEFBRgorOjBCNDZCNDAwMDkwMDAxMDkwMjAzMDQwNTA2MDcwOEM1Cis6MDE0NkJGMDAwMEZBCis6MTA0NkMwMDAxMjBBQ0Q5MDdGQTVFMEY1MjFFNTIxNTQwMUY1MjE2NDgyCis6MTA0NkQwMDAwMTYwMjhFNTIyNjQwMTcwMjI5MDdGQTVFMEY1MjE1NDU1Cis6MTA0NkUwMDAwMkY1MjE3MDAzNzUyMjAxOTA3RkE1RTBGNTIxNTQwNEE1Cis6MEM0NkYwMDBGRkY1MjFCRjA0RDM3NTIyMDE4MENFMjIwQgorOjA0NDZGQzAwNTNEOEY3MzI2NgorOjEwNDcwMDAwMDI0OUZBMDAwMjNDNTQwMDAyMTdFNDAwMDI0QTEyMDA3NworOjEwNDcxMDAwMDIzN0EyMDAwMjQ3RkYwMDAyNEE0MTAwMDI0NTlGMDAwMworOjEwNDcyMDAwMDI0OThFMDAwMjQ5QUIwMDAyNEE1ODAwMDI0QTZGMDA1QgorOjEwNDczMDAwMDI0QTg2MDAwMjRBOUQwMDAyNEFCNDAwMDI0QUNCMDBBNworOjEwNDc0MDAwMDI0QUUyMDAwMjRBRjkwMDAyNEIxMDAwMDI0QjI3MDAyNQorOjA4NDc1MDAwMDI0QjNFMDAwMjRCNTUwMDM0Cis6MTA0NzU4MDBFNTE4NzAxNDkwNzk4Q0UwMDRGMDkwNzk4QkUwQzM5NDlDCis6MTA0NzY4MDAwMDQwMTVFMDE0RjA4MDEwOTA3OThCRTAwNEYwQTNFMDhECis6MTA0Nzc4MDBDMzk0MDA0MDAzRTAxNEYwOTA3OThCRTBEMzk0MTQ0MDg0Cis6MTA0Nzg4MDAwNEU0RjUxOEYwOTA3OThDRTBEMzk0MTQ0MDA1NzUxODdBCis6MDQ0Nzk4MDAwMUU0RjAyMjI2Cis6MTA0NzlDMDA5MDdGRDdFMEY1MzM5MDdGRUNFMEY1MDkxNDYwMTExNEFECis6MTA0N0FDMDA2MDFCMjQwMjcwMjQ5MDdGRUFFMDkwNzk2MkYwODAyMUYzCis6MTA0N0JDMDA5MDdGRUFFMDkwNzk2M0YwMTIxMDAwODAxNDkwN0ZFQTA5Cis6MTA0N0NDMDBFMDkwNzk2NEYwMTIyODAxODAwNzkwN0ZCNEUwNDQwMUY2Cis6MDI0N0RDMDBGMEQzMTgKKzowMTQ3REUwMDIyQjgKKzoxMDQ3REYwMDkwNzk3ODc0MDRGMDkwNzkzM0UwOTA3OTc5RjBBMkFGMDIKKzoxMDQ3RUYwMEU0MzNGNTEyQzJBRjEyMEJBMkU1MTI2MDAyRDJBRjIyNzAKKzowMTQ3RkYwMDMyODcKKzowMjQ4MDAwMDhGMzZGMQorOjEwNDgwMjAwRTRGNTM3NzUzOEZGNzUzOTA3NzUzQTAxQUIzOEFBMzlCRgorOjEwNDgxMjAwQTkzQTkwMDAwMTEyMEM1REI0MDMxRkFGMzcwNTM3RUZDMAorOjEwNDgyMjAwNjUzNjcwMDEyMjEyMEM0NDdFMDAyOUZGRUUzQUM5RUY3MAorOjEwNDgzMjAwQzk3NTM4RkZGNTM5ODkzQTgwRDI3QjAwN0EwMDc5MDA1MAorOjAxNDg0MjAwMjI1MworOjEwNDg0MzAwMzAyNjJGQzIyNjkwNzkyREUwRkZCNDAxMDlFNEY1MEM0MAorOjEwNDg1MzAwNzUwREY4NzUwRTBBRUZCNDAyMDlFNEY1MEM3NTBERjA0OQorOjEwNDg2MzAwNzUwRTBCRUZCNDAzMDlFNEY1MEM3NTBERjg3NTBFMTcwRgorOjAzNDg3MzAwRDIyMjIyMkMKKzoxMDQ4NzYwMDMwMjUyRkMyMjU5MDc5MkRFMEZGQjQwMTA5NzUwQ0MwQjMKKzoxMDQ4ODYwMDc1MEQxNDc1MEUwQkVGQjQwMjA5RTRGNTBDNzUwRDEwRDkKKzoxMDQ4OTYwMDc1MEUwQ0VGQjQwMzA5RTRGNTBDNzUwRDE4NzUwRTE4QkEKKzowMzQ4QTYwMEQyMjIyMkY5Cis6MTA0OEE5MDBFNEY1MzIxMjBGNTAyMDJFMTBFNTMyQzM5NDAyNTAwOTVDCis6MTA0OEI5MDAwNTMyRDIzMDEyNDkwNTgwRUQzMDJFMDUxMjE0NTdDMjQ3Cis6MEY0OEM5MDAyRTMwMkQwNjEyMDc5QTEyNDhEOTEyNDAwMDgwRUFBRAorOjAxNDhEODAwMjJCRAorOjEwNDhEOTAwOTA3RkQ2RTBGNTFENTQ4MEY1MUQ2NDgwNzAxREMyQUYzMAorOjEwNDhFOTAwRTA0NDgwRjBFMDQ0MDFGMDdGMEM3RTAwMTI0QjZDOTBCNAorOjBDNDhGOTAwN0ZENkUwNTRGRUYwNTM4N0ZFRDJBRjIyQzEKKzoxMDQ5MDUwMDkwN0ZENkUwNTRGQkYwRTA0NDA4RjAzMDMwMDRFMDQ0RkEKKzoxMDQ5MTUwMDAyRjA3RkRDN0UwNTEyNEI2QzkwN0ZENkUwNTRGN0YwRjkKKzowNTQ5MjUwMEUwNDQwNEYwMjI1MworOjEwNDkyQTAwOTA3RkVCRTAxNDcwMTQ5MDdGRTlFMDI0N0Y3MDA0MTIwQQorOjEwNDkzQTAwNDYwMDIyOTA3RkI0RTA0NDAxRjAyMjkwN0ZCNEUwNDQyNAorOjAzNDk0QTAwMDFGMDIyNTcKKzoxMDQ5NEQwMDkwN0ZFQkUwMTQ3MDEzOTA3RkU5RTAxNDcwMDQxMjQ1MzIKKzoxMDQ5NUQwMDNCMjI5MDdGQjRFMDQ0MDFGMDIyOTA3RkI0RTA0NDAxMEIKKzowMjQ5NkQwMEYwMjIzNgorOjEwNDk2RjAwRTRGRjc0RTgyRkY1ODJFNDM0N0ZGNTgzRTBGRTc0OTY1QworOjBFNDk3RjAwMkZGNTgyRTQzNDc5RjU4M0VFRjAwRkJGMDhFNEUzCis6MDE0OThEMDAyMjA3Cis6MTA0OThFMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0MDJGMDUzCis6MEQ0OTlFMDA5MDdGQjc3NDAzRjBEMDgyRDA4M0QwRTAzMjU4Cis6MTA0OUFCMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUFFMDQ0MDJGMDM1Cis6MEQ0OUJCMDA5MDdGQzc3NDAzRjBEMDgyRDA4M0QwRTAzMjJCCis6MTA0OUM4MDA5MDdGRDZFMDMwRTcxMkUwNDQwMUYwN0YxNDdFMDAxMkI5Cis6MEE0OUQ4MDA0QjZDOTA3RkQ2RTA1NEZFRjAyMkY1Cis6MTA0OUUyMDBFNEY1MUE3NTFCMDE5MDc5OTEwNEYwQTNGMEU0QTNGMEE5Cis6MDg0OUYyMDBBMzc0MEFGMEU0QTNGMDIyMTMKKzoxMDQ5RkEwMEMwRTBDMDgzQzA4MkQyMkU1MzkxRUY5MDdGQUI3NDAxODYKKzowODRBMEEwMEYwRDA4MkQwODNEMEUwMzIyRAorOjEwNEExMjAwQzBFMEMwODNDMDgyRDIyRDUzOTFFRjkwN0ZBQjc0MDg2NworOjA4NEEyMjAwRjBEMDgyRDA4M0QwRTAzMjE1Cis6MTA0QTJBMDA5MDdGRUFFMEY1MDhFNDkwNzk2MkYwQTNGMEEzRjA5MEIxCis6MDc0QTNBMDA3OTY2RjBBM0YwRDMyMjFFCis6MTA0QTQxMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0MDFGMEEwCis6MDc0QTUxMDBEMDgyRDA4M0QwRTAzMkQ3Cis6MTA0QTU4MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0MDRGMDg2Cis6MDc0QTY4MDBEMDgyRDA4M0QwRTAzMkMwCis6MTA0QTZGMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUFFMDQ0MDRGMDZFCis6MDc0QTdGMDBEMDgyRDA4M0QwRTAzMkE5Cis6MTA0QTg2MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0MDhGMDU0Cis6MDc0QTk2MDBEMDgyRDA4M0QwRTAzMjkyCis6MTA0QTlEMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUFFMDQ0MDhGMDNDCis6MDc0QUFEMDBEMDgyRDA4M0QwRTAzMjdCCis6MTA0QUI0MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0MTBGMDFFCis6MDc0QUM0MDBEMDgyRDA4M0QwRTAzMjY0Cis6MTA0QUNCMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUFFMDQ0MTBGMDA2Cis6MDc0QURCMDBEMDgyRDA4M0QwRTAzMjRECis6MTA0QUUyMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0MjBGMEUwCis6MDc0QUYyMDBEMDgyRDA4M0QwRTAzMjM2Cis6MTA0QUY5MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUFFMDQ0MjBGMEM4Cis6MDc0QjA5MDBEMDgyRDA4M0QwRTAzMjFFCis6MTA0QjEwMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0NDBGMDkxCis6MDc0QjIwMDBEMDgyRDA4M0QwRTAzMjA3Cis6MTA0QjI3MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUFFMDQ0NDBGMDc5Cis6MDc0QjM3MDBEMDgyRDA4M0QwRTAzMkYwCis6MTA0QjNFMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0ODBGMDIzCis6MDc0QjRFMDBEMDgyRDA4M0QwRTAzMkQ5Cis6MTA0QjU1MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUFFMDQ0ODBGMDBCCis6MDc0QjY1MDBEMDgyRDA4M0QwRTAzMkMyCis6MTA0QjZDMDA4RTMzOEYzNEU1MzQxNTM0QUUzMzcwMDIxNTMzNEU2MDBBCis6MDc0QjdDMDAwNTEyMDc4OTgwRUUyMkZCCis6MEY0QjgzMDA5MDdGRUFFMEI0RkYwNDEyMzAwMDIyMTIzNjBFMjJCNworOjBFNEI5MjAwQzBFMEMyOEJEMjI0MzAyMzAyQzIyM0QwRTAzMjE2Cis6MEU0QkEwMDA5MDdGMDBFNTA4RjA5MDdGQjU3NDAxRjBEMzIyRkQKKzowOTRCQUUwMDMwMjQwNUMyMjQ3NTE4MDEyMjBGCis6MDk0QkI3MDAzMDIzMDVDMjIzRTRGNTE4MjJBNQorOjA3NEJDMDAwNTNDMEZFNTNDMEZEMzI5QgorOjA2NEJDNzAwNTM5MTdGRDIyNTMyNUMKKzowNTRCQ0QwMEMyODlEMjIzMzI3MQorOjAzNEJEMjAwQzI4RDMyNUYKKzowMzRCRDUwMEMyOEYzMjVBCis6MDI0QkQ4MDBEMzIyRTYKKzowMjRCREEwMEQzMjJFNAorOjAyNEJEQzAwRDMyMkUyCis6MDI0QkRFMDBEMzIyRTAKKzowMjRCRTAwMEQzMjJERQorOjAyNEJFMjAwRDMyMkRDCis6MDI0QkU0MDBDMzIyRUEKKzowMTRCRTYwMDIyQUMKKzowMDAwMDAwMUZGCisvKgorICogVGhpcyBmaXJtd2FyZSBpcyBmb3IgdGhlIEVtYWdpYyBFTUkgMnw2IEF1ZGlvIEludGVyZmFjZQorICoKKyAqIFRoZSBmaXJtd2FyZSBjb250YWluZWQgaGVyZWluIGlzIENvcHlyaWdodCAoYykgMTk5OS0yMDAyIEVtYWdpYworICogYXMgYW4gdW5wdWJsaXNoZWQgd29yay4gVGhpcyBub3RpY2UgZG9lcyBub3QgaW1wbHkgdW5yZXN0cmljdGVkCisgKiBvciBwdWJsaWMgYWNjZXNzIHRvIHRoaXMgZmlybXdhcmUgd2hpY2ggaXMgYSB0cmFkZSBzZWNyZXQgb2YgRW1hZ2ljLAorICogYW5kIHdoaWNoIG1heSBub3QgYmUgcmVwcm9kdWNlZCwgdXNlZCwgc29sZCBvciB0cmFuc2ZlcnJlZCB0bworICogYW55IHRoaXJkIHBhcnR5IHdpdGhvdXQgRW1hZ2ljJ3Mgd3JpdHRlbiBjb25zZW50LiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFRoaXMgZmlybXdhcmUgbWF5IG5vdCBiZSBtb2RpZmllZCBhbmQgbWF5IG9ubHkgYmUgdXNlZCB3aXRoIHRoZQorICogRW1hZ2ljIEVNSSAyfDYgQXVkaW8gSW50ZXJmYWNlLiBEaXN0cmlidXRpb24gYW5kL29yIE1vZGlmaWNhdGlvbiBvZgorICogYW55IGRyaXZlciB3aGljaCBpbmNsdWRlcyB0aGlzIGZpcm13YXJlLCBpbiB3aG9sZSBvciBpbiBwYXJ0LAorICogcmVxdWlyZXMgdGhlIGluY2x1c2lvbiBvZiB0aGlzIHN0YXRlbWVudC4KKyAqLworLyoKK1ZFUlNJT049MS4wLjIuOTE2CitEQVRFPTEyLjAyLjIwMDIKKyovCmRpZmYgLS1naXQgYS9maXJtd2FyZS9lbWkyNi9sb2FkZXIuSEVYIGIvZmlybXdhcmUvZW1pMjYvbG9hZGVyLkhFWApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43N2M0MzlmCi0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUvZW1pMjYvbG9hZGVyLkhFWApAQCAtMCwwICsxLDExNiBAQAorOjAzMDAwMDAwMDIwMzFDREMKKzowMzAwNDMwMDAyMDQwMEI0Cis6MTAwMTAwMDA5MDdGRTlFMDI0NUI2MDYwMjQwMjYwMDMwMjAxQkU5MEZFCis6MTAwMTEwMDA3RkVBRTA3NTBBMDBGNTBCQTNFMEZFRTRFRTQyMEE5MEU4Cis6MTAwMTIwMDA3RkVFRTA3NTE1MDBGNTE2QTNFMEZFRTRFRTQyMTVFNTVFCis6MTAwMTMwMDAxNjQ1MTU3MDAzMDIwMUJFRTQ5MDdGQzVGMDkwN0ZCNEIwCis6MTAwMTQwMDBFMDIwRTNGOTkwN0ZDNUUwRjUwQzEyMDI3N0FGMEM3RTVBCis6MTAwMTUwMDAwMEVGMjUwQkY1MEJFRTM1MEFGNTBBQzNFNTE2OUZGNTAyCis6MTAwMTYwMDAxNkU1MTU5RUY1MTU4MEM3OTA3RkVBRTA3NTBBMDBGNTQzCis6MTAwMTcwMDAwQkEzRTBGRUU0RUU0MjBBOTA3RkVFRTA3NTE1MDBGNTc5Cis6MTAwMTgwMDAxNkEzRTBGRUU0RUU0MjE1RTUxNjQ1MTU2MDMwRTQ5MDU2Cis6MTAwMTkwMDA3RkM1RjA5MDdGQjRFMDIwRTNGOTkwN0ZDNUUwRjUwQ0Q3Cis6MTAwMUEwMDAxMjAyOEZBRjBDN0UwMEVGMjUwQkY1MEJFRTM1MEFGNTMyCis6MEYwMUIwMDAwQUMzRTUxNjlGRjUxNkU1MTU5RUY1MTU4MENBQzMxRgorOjAxMDFCRjAwMjIxRAorOjEwMDFDMDAwQzIyMEQyRTg0M0Q4MjA5MDdGQUI3NEZGRjA5MDdGQTk4MworOjEwMDFEMDAwRjA5MDdGQUFGMDUzOTFFRjkwN0Y5NUUwNDRDMEYwOTBBQgorOjEwMDFFMDAwN0Y5OEUwNDRDMEYwOTA3RjlFRTA0NEMwRjBFNDkwN0ZCMAorOjEwMDFGMDAwOTRGMDkwN0Y5REUwNDQwRkYwOTA3Rjk3RTA1NEYwRjBGMgorOjEwMDIwMDAwOTA3RkFGRTA0NDAxRjA5MDdGQUVFMDQ0MERGMEQyQUZCQworOjEwMDIxMDAwOTA3Rjk3RTA1NEYwRjAyMDIwNDI3NTE0MDA3NTEzMDA5MQorOjEwMDIyMDAwNzUxMjAwNzUxMTAwN0Y0ODdFOTI3RDAwN0MwMEFCMTQzMgorOjEwMDIzMDAwQUExM0E5MTJBODExQzMxMjA0OUE1MERCMjAyMEQ4N0E1RAorOjEwMDI0MDAwMDA3OTAwNzgwMEU1MTQyNDAxRjUxNEVBMzUxM0Y1MTM1QworOjEwMDI1MDAwRTkzNTEyRjUxMkU4MzUxMUY1MTE4MENBMzAyMEZEMTI4QQorOjEwMDI2MDAwMDEwMDUwMDc5MDdGQjRFMDQ0MDFGMDkwN0ZCNEUwNDQ3NworOjA2MDI3MDAwMDJGMEMyMjA4MEU2NEUKKzowMTAyNzYwMDIyNjUKKzoxMDAyNzcwMEU1MENGRkU1MEJGNTgyRTUwQUY1ODM3NTkyN0U3NEMwMDAKKzowODAyODcwMEY4RTIwOEYwQTNERkZBMjJGRgorOjEwMDI4RjAwOTA3Rjk2ODU4MzkyQTg4Mjc5MDI5MDAwMDBFMEI0MDA1NworOjEwMDI5RjAwMzc3NDAxRjA5MDdGOTNFMDU0RkNGMDkwN0Y5NkUwNTQxOAorOjEwMDJBRjAwRkNGMDkwN0Y5Q0UwNDQwM0YwOTA3Rjk0RTA1NDdGRjA0QgorOjEwMDJCRjAwOTA3Rjk3RTA0NDgwRjA5MDdGOURFMDQ0ODBGMDkwN0ZBNgorOjEwMDJDRjAwOTdFMDU0N0ZGMDQ0ODBGMEU1MENGRjkwN0VDMEUwRjU5RQorOjEwMDJERjAwMjhFNEEyNDczM0YyNjlGMkU0QTI0NjMzRjI2OUYyRTQ2QQorOjEwMDJFRjAwQTI0NTMzRjI2OUYyRTRBMjQ0MzNGMjY5RjJFNEEyNDM4NQorOjEwMDJGRjAwMzNGMjY5RjJFNEEyNDIzM0YyNjlGMkU0QTI0MTMzRjIzQgorOjBEMDMwRjAwNjlGMkU0QTI0MDMzRjI2OUYyQTNERkMyMjJEQQorOjBDMDMxQzAwNzg3RkU0RjZEOEZENzU4MTI5MDIwMzYzQTgKKzoxMDAzMjgwMDAyMDFDMEU0OTNBM0Y4RTQ5M0EzNDAwM0Y2ODAwMUYyMkEKKzoxMDAzMzgwMDA4REZGNDgwMjlFNDkzQTNGODU0MDcyNDBDQzhDMzMzRDYKKzoxMDAzNDgwMEM0NTQwRjQ0MjBDODgzNDAwNEY0NTY4MDAxNDZGNkRGQTUKKzoxMDAzNTgwMEU0ODAwQjAxMDIwNDA4MTAyMDQwODA5MDA0ODRFNDdFQUQKKzoxMDAzNjgwMDAxOTM2MEJDQTNGRjU0M0YzMEU1MDk1NDFGRkVFNDkzOUEKKzoxMDAzNzgwMEEzNjAwMTBFQ0Y1NEMwMjVFMDYwQTg0MEI4RTQ5M0EzNjEKKzoxMDAzODgwMEZBRTQ5M0EzRjhFNDkzQTNDOEM1ODJDOENBQzU4M0NBOEMKKzoxMDAzOTgwMEYwQTNDOEM1ODJDOENBQzU4M0NBREZFOURFRTc4MEJFNDQKKzoxMDAzQTgwMEMwRTBDMDgzQzA4MjkwN0ZDNEU0RjA1MzkxRUY5MDdGOTcKKzowQjAzQjgwMEFCNzQwNEYwRDA4MkQwODNEMEUwMzJBMAorOjEwMDNDMzAwQzBFMEMwODNDMDgyRDIyMDUzOTFFRjkwN0ZBQjc0MDExMQorOjA4MDNEMzAwRjBEMDgyRDA4M0QwRTAzMkFCCis6MTAwM0RCMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUI3NDAyRjBEMDJBCis6MDYwM0VCMDA4MkQwODNEMEUwMzI1NQorOjAxMDNGMTAwMzJEOQorOjAxMDNGMjAwMzJEOAorOjAxMDNGMzAwMzJENworOjAxMDNGNDAwMzJENgorOjAxMDNGNTAwMzJENQorOjAxMDNGNjAwMzJENAorOjAxMDNGNzAwMzJEMworOjAxMDNGODAwMzJEMgorOjAxMDNGOTAwMzJEMQorOjAxMDNGQTAwMzJEMAorOjAxMDNGQjAwMzJDRgorOjAxMDNGQzAwMzJDRQorOjAxMDNGRDAwMzJDRAorOjAxMDNGRTAwMzJDQworOjAxMDNGRjAwMzJDQgorOjEwMDQwMDAwMDIwM0MzMDAwMjAzREIwMDAyMDNBODAwMDIwNDZFMDAyMworOjEwMDQxMDAwMDIwNDU4MDAwMjAzRjEwMDAyMDNGMjAwMDIwM0YzMDA5OQorOjEwMDQyMDAwMDIwM0Y0MDAwMjAzRjUwMDAyMDNGNjAwMDIwM0Y3MDBFMgorOjEwMDQzMDAwMDIwM0Y4MDAwMjAzRjkwMDAyMDNGQTAwMDIwM0ZCMDBDMgorOjEwMDQ0MDAwMDIwM0ZDMDAwMjAzRkQwMDAyMDNGRTAwMDIwM0ZGMDBBMgorOjA4MDQ1MDAwMDIwNEFCMDAwMjA0QUMwMDQxCis6MTAwNDU4MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUI3NDEwRjBEMDlFCis6MDYwNDY4MDA4MkQwODNEMEUwMzJENworOjEwMDQ2RTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFCNzQwOEYwRDA5MAorOjA2MDQ3RTAwODJEMDgzRDBFMDMyQzEKKzoxMDA0ODQwMDAyMEEwMDBGMDEwQzExMDQwRDAwMDAwMDAwNDEwMDAwREQKKzowMTA0OTQwMDAwNjcKKzowNDA0OTUwMDAyMTcwMDAwNEEKKzowMTA0OTkwMDAwNjIKKzoxMDA0OUEwMEVCOUZGNUYwRUE5RTQyRjBFOTlENDJGMEU4OUM0NUYwQjgKKzowMTA0QUEwMDIyMkYKKzowMTA0QUIwMDMyMUUKKzowMTA0QUMwMDMyMUQKKzoxMDExMDAwMDEyMDExMDAxMDAwMDAwNDA2QTA4MDEwMTAwMDEwMTAyMDMKKzoxMDExMTAwMDAwMDEwOTAyMjAwMDAxMDEwM0EwMDAwOTA0MDAwMDAyRUYKKzoxMDExMjAwMEZGMDAwMDA0MDcwNTgyMDI0MDAwMDAwNzA1MDIwMjQwOUMKKzoxMDExMzAwMDAwMDAwNDAzMDkwNDI2MDM0MTAwNkUwMDYzMDA2ODAwRjgKKzoxMDExNDAwMDZGMDA3MjAwMjAwMDQzMDA2ODAwNjkwMDcwMDA3MzAwQTcKKzoxMDExNTAwMDJDMDAyMDAwNDkwMDZFMDA2MzAwMkUwMDI4MDM0NjAwOEEKKzoxMDExNjAwMDY5MDA3MjAwNkQwMDc3MDA2MTAwNzIwMDY1MDAyMDAwNjgKKzoxMDExNzAwMDQ2MDA3MjAwNjEwMDZEMDA2NTAwNTcwMDZGMDA3MjAwNEMKKzoxMDExODAwMDZCMDA3MzAwMkEwMzQzMDA2RjAwNkUwMDY2MDA2OTAwNjUKKzoxMDExOTAwMDY3MDA3NTAwNzIwMDYxMDA3NDAwNjkwMDZGMDA2RTAwRTYKKzoxMDExQTAwMDIwMDA1MzAwNzQwMDcyMDA2OTAwNkUwMDY3MDAyMjAzODMKKzoxMDExQjAwMDQ5MDA2RTAwNzQwMDY1MDA3MjAwNjYwMDYxMDA2MzAwMDMKKzoxMDExQzAwMDY1MDAyMDAwNTMwMDc0MDA3MjAwNjkwMDZFMDA2NzAwMjMKKzowMjExRDAwMDAwMDAxRAorOjAwMDAwMDAxRkYKKy8qCisgKiBUaGlzIGZpcm13YXJlIGlzIGZvciB0aGUgRW1hZ2ljIEVNSSAyfDYgQXVkaW8gSW50ZXJmYWNlCisgKgorICogVGhlIGZpcm13YXJlIGNvbnRhaW5lZCBoZXJlaW4gaXMgQ29weXJpZ2h0IChjKSAxOTk5LTIwMDIgRW1hZ2ljCisgKiBhcyBhbiB1bnB1Ymxpc2hlZCB3b3JrLiBUaGlzIG5vdGljZSBkb2VzIG5vdCBpbXBseSB1bnJlc3RyaWN0ZWQKKyAqIG9yIHB1YmxpYyBhY2Nlc3MgdG8gdGhpcyBmaXJtd2FyZSB3aGljaCBpcyBhIHRyYWRlIHNlY3JldCBvZiBFbWFnaWMsCisgKiBhbmQgd2hpY2ggbWF5IG5vdCBiZSByZXByb2R1Y2VkLCB1c2VkLCBzb2xkIG9yIHRyYW5zZmVycmVkIHRvCisgKiBhbnkgdGhpcmQgcGFydHkgd2l0aG91dCBFbWFnaWMncyB3cml0dGVuIGNvbnNlbnQuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogVGhpcyBmaXJtd2FyZSBtYXkgbm90IGJlIG1vZGlmaWVkIGFuZCBtYXkgb25seSBiZSB1c2VkIHdpdGggdGhlCisgKiBFbWFnaWMgRU1JIDJ8NiBBdWRpbyBJbnRlcmZhY2UuIERpc3RyaWJ1dGlvbiBhbmQvb3IgTW9kaWZpY2F0aW9uIG9mCisgKiBhbnkgZHJpdmVyIHdoaWNoIGluY2x1ZGVzIHRoaXMgZmlybXdhcmUsIGluIHdob2xlIG9yIGluIHBhcnQsCisgKiByZXF1aXJlcyB0aGUgaW5jbHVzaW9uIG9mIHRoaXMgc3RhdGVtZW50LgorICovCmRpZmYgLS1naXQgYS9maXJtd2FyZS9lbWk2Mi9iaXRzdHJlYW0uSEVYIGIvZmlybXdhcmUvZW1pNjIvYml0c3RyZWFtLkhFWApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYzZlY2MzCi0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUvZW1pNjIvYml0c3RyZWFtLkhFWApAQCAtMCwwICsxLDQzNzIgQEAKKzoxMDgwMTAwMEZGRkZGRkZGQUE5OTU1NjYzMDAwODAwMTAwMDAwMDA3QUUKKzoxMDgwMjAwMDMwMDE2MDAxMDAwMDAwMEIzMDAxMjAwMTAwODAzRjJENzUKKzoxMDgwMzAwMDMwMDBDMDAxMDAwMDAwMDAzMDAwODAwMTAwMDAwMDA5OTUKKzoxMDgwNDAwMDMwMDAyMDAxMDAwMDAwMDAzMDAwODAwMTAwMDAwMDAxMkQKKzoxMDgwNTAwMDMwMDA0MDAwNTAwMDNFMDQwODEyMTAwMDAwMDAwMDAwRjQKKzoxMDgwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAKKzoxMDgwNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MDA0QkMKKzoxMDgwODAwMDgwMDAwMDAwMDAwMDAwMDAwMDEyMTAwMDAwMDAwMDAwNEUKKzoxMDgwOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTAKKzoxMDgwQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MDg0MEMKKzoxMDgwQjAwMDgwMDAwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwM0UKKzoxMDgwQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjAKKzoxMDgwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODAwOTgKKzoxMDgwRTAwMEMwMDAwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwQ0UKKzoxMDgwRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODAKKzoxMDgxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkYKKzoxMDgxMTAwMDgwMDAwMDAwMDAwMDAwMDAwMDEyMDAwMDAwMDAwMDAwQ0QKKzoxMDgxMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEYKKzoxMDgxMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0M0IKKzoxMDgxNDAwMDgwMDAwMDAwMDAwMDAwMDAwODEzMDAwMDAwMDAwMDAwOTQKKzoxMDgxNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUYKKzoxMDgxNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYKKzoxMDgxNzAwMDkwMDAwMDAwMDAwMDAwMDAwMDEyMDAwMDAwMDAwMDAwNUQKKzoxMDgxODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUYKKzoxMDgxOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg0NUIKKzoxMDgxQTAwMDkwMDAwMDAwMDAwMDAwMDBGNzEwMDExNDAwMjUwMDA1RjkKKzoxMDgxQjAwMDQwMDE1MDAwOTQwMDE1MDAwNzQwMDFEMDAwOTQwMDI1QjQKKzoxMDgxQzAwMDgwMDE2MDAyRDgwMEY2MDAyRjgwMDJFMDA0RDgzNzQ0MTYKKzoxMDgxRDAwMDkwMDAwMDAwMDAwMDAwMDBDMDA1RjIwMENDOTAzOTIwQTMKKzoxMDgxRTAwMDBEOTgwM0QyMDBFNzgwMzcwNDBFRjE4MzdFMDBERjkwMDQKKzoxMDgxRjAwMDMxRTQ4Rjc5MDM3QzIwREYyMjMzQzAwQ0YwMjIzMDAwODEKKzoxMDgyMDAwMDcwMDAwMDAwMDAwMDAwMDA4MDEwNjIwMDgwMjQyMjIwMjYKKzoxMDgyMTAwMDA4OTgxMkUyMDA4QjgxMjA5NDA4NzQwMjJFMDA4QTAxRDMKKzoxMDgyMjAwMDIyQzgwODkyMDIzRDgwOEI2MDIyODAwOEIwMDIyMDA0QTAKKzoxMDgyMzAwMDMwMDAwMDAwMDAwMDAwMDA4ODA1QzgwMEEwMDAyMDAwRjkKKzoxMDgyNDAwMDBCMTAwMkMwMDBBMTAwMjQwOTRBMzIwMjQ4MDBCMTAwMEMKKzoxMDgyNTAwMDYyQzAwOUEwNDZDQzI0OTM0OTJBODA0ODMwMjI2MjAxOUEKKzoxMDgyNjAwMDcwMDAwMDAwMDAwMDAwMDBDMDE1QTgxMkE4MDAyMjAwNDUKKzoxMDgyNzAwMDA4OTAwMkUwMDA4OTgwMjI0NDA4QjAxMkE4MDBBOTQwQkEKKzoxMDgyODAwMDIyQzAwODkwODJBQzAwOUIwNDJBQzQwOEIwMDI3MDA0OEIKKzoxMDgyOTAwMDYwMDAwMDAwMDAwMDAwMDAwMDE0ODQwMEU5ODBCMjY0NjcKKzoxMDgyQTAwMDREQTAwM0VBMjBFOUMwMzY0MDBFQjAwMzQ0MDBGQjkwMjUKKzoxMDgyQjAwMEIyODgwREJDMDNFQzA4NUIwMDM4NjAyQ0IwNjM0MDA0NEUKKzoxMDgyQzAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxQjQyNkREOTAzNzQwOUYKKzoxMDgyRDAwMDRGRTAxM0YyODBGRDAwM0RBMDBENzAwMzc1MDA1RTAwQkQKKzoxMDgyRTAwMDNGQTQwREY5MDM1QzEwRUIwMDM3MjAwRjMwMDNCODAwRkEKKzoxMDgyRjAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwQUMwMEU5ODAzMjQwNDcKKzoxMDgzMDAwMDBDQTE4M0U4MDBFOTAwMzI0MjBFQjAwM0FDNDhFOTAwNUEKKzoxMDgzMTAwMDNBODAwRUE0MDNFQzAwRUIwMEIyMDMwRUIwMEIxMDA0ODUKKzoxMDgzMjAwMDIwMDAwMDAwMDAwMDAwMDBDODA1MkU4MDg5RDEyMDQwRjgKKzoxMDgzMzAwMDA4QTAwMkMwMDA4MTgwMjI1ODA4RjUwMjJGNDA4QjAwNUYKKzoxMDgzNDAwMDIwQzAwODMwNDM3QzAwODcwMDIyNDAwOEYwMDIzMjAwNDEKKzoxMDgzNTAwMDQwMDAwMDAwMDAwMDAwMDBFMDA1NDIwMTlBNDQyOEEyMEQKKzoxMDgzNjAwMDA4MTgwMkMwODBBMTgwQTAwMDA4MzAwMjhFMDBBQjAwNzcKKzoxMDgzNzAwMDJDNDAwQTMwMDIwQzAwQTMwMDIwNDQwQTMwMDIzODAwQ0UKKzoxMDgzODAwMDUwMDAwMDAwMDAwMDAwMDA2MDAxMzIwMDk2ODIyQkEyMjUKKzoxMDgzOTAwMDg4NUEwMkYyMDAwNTgwMjlBMDA4Nzg0MkJFMDA4RTg0MjcKKzoxMDgzQTAwMDJGNjEwQUQ4MDI0RTEwQTc4MDIwMjgwODc4MDIxODAwRjIKKzoxMDgzQjAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MDgwMEYyMjQzODgwNTcKKzoxMDgzQzAwMDJDMUEwM0M0MDBFMDU4QTA4MDJFMzAwMzg4NDFFMzAyMzkKKzoxMDgzRDAwMDNDNDAwNjIwMDM4QzAwRTMwMDEwMDAwRTMxNDMxMjAyRTMKKzoxMDgzRTAwMDAwMDAwMDAwMDAwMDAwMDA0MDFEOTgwMEVFMDEzNzg0RUUKKzoxMDgzRjAwMDlGRDkwM0YwNDhGRDEwMzdDMDA3QjAwMzVDMDBGNjEwQUEKKzoxMDg0MDAwMDMzQzAwREUxMDNFRDIwREYxMDNGNDgwRkYwMjNEMDA2MEQKKzoxMDg0MTAwMDYwMDAwMDAwMDAwMDAwMDBBODA1RTQwMkNCODAzMEMwMkUKKzoxMDg0MjAwMDBDQTAwM0UyMDJDOTAwM0E0MDBEQjYwMzY0MDBFQjAwNjEKKzoxMDg0MzAwMDNFQzAwRkIwMDNFRDAwRkIwMTNFRTAwQ0IwMDJFQTAwQ0QKKzoxMDg0NDAwMDcwMDAwMDAwMDAwMDAwMDA0ODExOTQwMDg3MDAyMUMwNjcKKzoxMDg0NTAwMDI4NjAwMkQwMDA4NTAwMkQ4MDQ4RjA4MjFDMDBCNzAwMDMKKzoxMDg0NjAwMDJEMDAwQjUwMDJEQzAwQjdBMDJGODAyODdBMDJEMjA0MjYKKzoxMDg0NzAwMDYwMDAwMDAwMDAwMDAwMDBDMTAwQkUwMDg3ODAyMUUwMTUKKzoxMDg0ODAwMDI4NjgwMkQ3MDA4NDgwMkRFMDQ5NzkwNjUzMDlCNTgwMTkKKzoxMDg0OTAwMDJERTIwQjc4MDJERTgwQjc5MDJEQjAwODc5MDJGMDAwNTMKKzoxMDg0QTAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0Q0MxMDgzMDEyOEM4MDAKKzoxMDg0QjAwMDA4MjAwMkMyMDY4MTAwMkNDODg4MzA2MjBFMjFCM0EwQjkKKzoxMDg0QzAwMDJDQzEwQkI2MDJDQzAwQjMwMDJDRTAwODMwMDJEMjA0NjEKKzoxMDg0RDAwMDMwMDAwMDAwMDAwMDAwMDBFODE1QTgwMENBNDBCMDgwOEQKKzoxMDg0RTAwMDBDMkMwMkY4MDBDNjIwM0Y5MDBEQTAwMzdCMDFFRUUwQUIKKzoxMDg0RjAwMDNGQjQwRkVDMDNFODAwRkEwMDNGQTAwQ0EwMDNGQTA0MUQKKzoxMDg1MDAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwRTMwMEY4MDkyNjAwQjkKKzoxMDg1MTAwMDBGQzE4M0UwMTBGODQwM0MwMDBGODAwM0UwMDFGODAwMzkKKzoxMDg1MjAwMDNFMDAwRjgxMDNFMDA0RjgwMDNFMTAwRjgwMDNEMjAwRUMKKzoxMDg1MzAwMDMwMDAwMDAwMDAwMDAwMDAwODEwRTQwMkM5MDAzRTQwQzYKKzoxMDg1NDAwMDRGOTA2MzI2ODQzOTAyQjI0MDBDOTEwMzI0MDBGOTAwNTUKKzoxMDg1NTAwMDNFNDAwRjkwMDMyNDAwRjEwMDNBNDQwRjkwMDNDMjA0MDAKKzoxMDg1NjAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NDUwMDg5NDAyRTQwREIKKzoxMDg1NzAwMDA4OTIwQTI0MDBCOTMxMjI2MDg4OTQ4QTI0MjBCOTAwMjQKKzoxMDg1ODAwMDJFNDAwQjkwMDIyNDAwQjkwMDIyNjgwQjkwMDJFMDAwRkMKKzoxMDg1OTAwMDEwMDAwMDAwMDAwMDAwMDAxODA1MjRBMDhEODQyRjQwNkEKKzoxMDg1QTAwMDBCRDEwMjI0MDBCOTAwMjI0QTA4MTAwMjJDNDBCOTAwNjUKKzoxMDg1QjAwMDJFNDAwQjkwMDIyNDAwQjkwMDJBNDAwQjkwMDJDNjAwMDYKKzoxMDg1QzAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MTQwMDg1ODAyRDQwRDkKKzoxMDg1RDAwMDA4NTAwMjA0MENCOTAwQTA1MDA4MTQyMjA0MDBCMTAwOTUKKzoxMDg1RTAwMDJDNDAwQjEwMDIwNDAwQjEyODIwNEEwQjEzMDJDMjAxRDgKKzoxMDg1RjAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjAwMEMwNTAzRTgwODgKKzoxMDg2MDAwMDBGQzA0MzIwMDBGODAwMzAwMDJDODAyMzIwMDBGODUxRDgKKzoxMDg2MTAwMDNFMTQ4Rjg1MEIyMTQwRjg3MDNBMDgwRjg0ODNFRTAzRDcKKzoxMDg2MjAwMDUwMDAwMDAwMDAwMDAwMDA5ODFEQzQwMEY5MDQzRTQwMDYKKzoxMDg2MzAwMDBGOTAyM0Q0MDBGRDAwM0Y1MDBGOTQwM0Y0MDRGRDAwN0QKKzoxMDg2NDAwMDNGNDE4RkQwNDNFNTBDRjkwMjNGNEEwRjkyMDNFNjAyMDcKKzoxMDg2NTAwMDcwMDAwMDAwMDAwMDAwMDA4ODA1RDQwMUZEMDAzRDQwQ0UKKzoxMDg2NjAwMDBDRDAxM0Y0MDBENTAwMzM2QTFDREM4MzM0MDBEMTA0MzEKKzoxMDg2NzAwMDNFNTAwQzkxMDNFNkMwRERCMDMzNkEyQzlDODNFNjAwQ0IKKzoxMDg2ODAwMDcwMDAwMDAwMDAwMDAwMDAzODEwRTAwOUY4ODAyRTAwQTMKKzoxMDg2OTAwMDg4ODAwMEU4MDBCQTAwMjJCMDA4OEUwMjI4MDA4OEE4NkUKKzoxMDg2QTAwMDI2MjgwODhBMjJFMjAwODhFNDIyMzAwODhDMDJDRTA0QzAKKzoxMDg2QjAwMDMwMDAwMDAwMDAwMDAwMDAwODA1QzQwMEIxMjgyRTQwNzIKKzoxMDg2QzAwMDA4MTAwMkM0MDA5OTAwMjA0MjQ4MTAwMjY0MDE5MTgwMDEKKzoxMDg2RDAwMDJDNDgwODEwMDJDNEMwODE0MDIwNEEwODEyMDJDMjAxN0UKKzoxMDg2RTAwMDcwMDAwMDAwMDAwMDAwMDAxODE1QTQ5NEE5MDIyRTQwOUMKKzoxMDg2RjAwMDBBOTAwMjY0MDBCOTAwODI2MDA4OTAwMjY2MDA4OTEwNDYKKzoxMDg3MDAwMDI0NjIwODkwMDJFNDAwODkwMjIyNDAxODkwMDJDNjA0MDQKKzoxMDg3MTAwMDYwMDAwMDAwMDAwMDAwMDBBMDE1RTYwMEI5MDQzRTQwMjMKKzoxMDg3MjAwMDBDOTAxM0U0MDBEMUMwMTI1MDI4OTAwMzQ0MDBEOTAwRUIKKzoxMDg3MzAwMDNFNDAyODkyMDNFNDAyRDkwMDMyNDI4QzkwMTJFODA0QjEKKzoxMDg3NDAwMDcwMDAwMDAwMDAwMDAwMDAyODAxQTYyMEY5MDAzRTQxNTIKKzoxMDg3NTAwMDJEOTAwM0U0MDBGOTIwM0U0MDRGOTAwMUE0MDBGOTAwNjEKKzoxMDg3NjAwMDM2NDA4RjkyMDdFNDAwRjEwMEJFNDAwRjkwMDNDQTAwMkMKKzoxMDg3NzAwMDYwMDAwMDAwMDAwMDAwMDAyODEwQTAwMEM4MDAzRTIwOUIKKzoxMDg3ODAwMDBDODAwM0UwNDBGODAwMzYxMjJDMDAwM0UwQzBGODAwMzMKKzoxMDg3OTAwMDMyMTAwRDg0MDNBMDAwRjgwMjNFMDgwRjgwMDBDQTA0QzYKKzoxMDg3QTAwMDIwMDAwMDAwMDAwMDAwMDAyODA1M0E5MDhFMDAyREEwNTcKKzoxMDg3QjAwMDgwRTgwMkZBMDBCRTQwMjM4MDA4RTgwMkZBMDA4QTAwM0UKKzoxMDg3QzAwMDM2ODAwOEEwMDJFODAwQkEwMDJGODAwQkEwMDM4QTAwQzAKKzoxMDg3RDAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NDYwMjgzMDAyQzgwQjUKKzoxMDg3RTAwMDA4MjI0MkM2ODBCMTYwMkVGNDA4MzgyMkNFMDBBMzAwRDEKKzoxMDg3RjAwMDIwQzAwODMwMDJBQzAwQjEwMDJFNDAwQjMwMDJDQTAwOEQKKzoxMDg4MDAwMDUwMDAwMDAwMDAwMDAwMDBBMDAxMUUwMjg1MDEyREMyRTIKKzoxMDg4MTAwMEE4NDQwMkQ0MDBCRDAxMjk0MDE4NjhEMkRDMDA4RjgwMzIKKzoxMDg4MjAwMDI1Q0MyODczNDJEQzgwQjUzMDJEQzAxQjcyMDJFODAwRDUKKzoxMDg4MzAwMDQwMDAwMDAwMDAwMDAwMDBBODA4MUUwNEM2ODIzREUwQzEKKzoxMDg4NDAwMDBDNDgxMkQ2MTBGNTgwM0NBMDBDNzAwM0RFMDBFNzkwQjcKKzoxMDg4NTAwMDIzRUEwNDdBMDM5RTAwRjU4MDNERTAwRjdBMDNFQTAyRTIKKzoxMDg4NjAwMDAwMDAwMDAwMDAwMDAwMDAwODBEQUMwMDlDMDAzRUMwQUQKKzoxMDg4NzAwMDBGODAwM0U0MTBGOTAwMzYwMTBGQTAwM0MwMDBFQjAwRTUKKzoxMDg4ODAwMDNFRDg0RUIwODNFQzAwRjkwMDNFQzAwRkI0NDM4MjA2RTAKKzoxMDg4OTAwMDYwMDAwMDAwMDAwMDAwMDBDMDA1REUwMENGODQzMUUwNzEKKzoxMDg4QTAwMDBFQzg0M0Q2MDBDRDgwMzNFMENERDkwMzNBMDBGRjg4MEYKKzoxMDg4QjAwMDMzRTAwRkY5MTNGRTI0RkQ4MDNGMjAwQ0Y2ODMxMDAwRjcKKzoxMDg4QzAwMDcwMDAwMDAwMDAwMDAwMDBBODExOUMwMDg1MDAyMUM0NzkKKzoxMDg4RDAwMDI4NDA4MkQwMDBENTAwMjM4MDQ4QzkwMjFDMDBCNzAwODAKKzoxMDg4RTAwMDIxQzAwQjcxMDJERTgwQjUxMDJEQzAyOEYwMDIyQTA0RDEKKzoxMDg4RjAwMDYwMDAwMDAwMDAwMDAwMDAxMDAwOUMwMDk2MDAyMUMwRjUKKzoxMDg5MDAwMDBBNDEwMkY1NDA4RDAwMjE0MDA5NTIwMjk4MjBCNzAwMkIKKzoxMDg5MTAwMDIxQzAwQjcwMDZEQzgwQjUwMDJEQzAwODcwMDIwNDAwNzkKKzoxMDg5MjAwMDIwMDAwMDAwMDAwMDAwMDA2MDE0Q0MxMDk4MDAwMEMwN0YKKzoxMDg5MzAwMDg4MDQ4MkMwMDA5MTA0MjAwMzA5MDAwMjhBMDBCMzBBNUYKKzoxMDg5NDAwMDIwQzQ4QjM0MDJDQzAwQjkwMDJDQzAwMDMwMDIxODA0QzMKKzoxMDg5NTAwMDMwMDAwMDAwMDAwMDAwMDBGODE1QUMwMERCMDBCMEMwRTMKKzoxMDg5NjAwMDBFOUMwMkM1MDBDMTEwQjJDMDBEQjAwQkE3MDhGRjAwREQKKzoxMDg5NzAwMEIzQzAwRkZBMDNGQzAwRkQwMDNFRDQwQ0YwMEIyRTA0MzQKKzoxMDg5ODAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwRUMwNEVEMDAzRTQwQUMKKzoxMDg5OTAwMDBGODQwM0U1NDBGOTQwM0U2MENFQjQ0MzY0MDBGQjgwQTEKKzoxMDg5QTAwMDNFQzIwRkIwMTNFQzAwRjkwMjNFQzA0RkIwMDNFMTAwMkQKKzoxMDg5QjAwMDMwMDAwMDAwMDAwMDAwMDA5MDEwRkYwMENFMDAzM0MwMjcKKzoxMDg5QzAwMDBFQzAwNzc0MDRFQzAwMTE4MDBDQ0EwM0ZFNjBGRjAwQTcKKzoxMDg5RDAwMDNGQzAwRkYwODMzQzAwREQwMEIzNTAyQ0YwMDMyMDA0QjcKKzoxMDg5RTAwMDMwMDAwMDAwMDAwMDAwMDA4MTAwNEMwNDhCMEIyMjcwNUUKKzoxMDg5RjAwMDA4MDgwMzY3MjA4QTg4QTIwMDI4ODQwMkU3MDBCQjAwRDkKKzoxMDhBMDAwMDNFQzAwQkIwMDIyQzAwQjkwMDIyNjEwOEIwMDM2MDQwRTgKKzoxMDhBMTAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1MkMwMDhCMjAyMkUyRTYKKzoxMDhBMjAwMDBBOEMwMjI2MDBBOTgwMkFDMDA4QjQ0MkVEMDBCQjAwQ0YKKzoxMDhBMzAwMDJFQzAwQjMwMDIyQzAwQjkwMDIwODAwODMwMDI2MDAwRUMKKzoxMDhBNDAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MEUwMTgxMDBBMEMwRUEKKzoxMDhBNTAwMDA4ODEwMjQ0MDA4MTAwMjg4MTA4MzIwMkNDMDBCMzAwNjIKKzoxMDhBNjAwMDI4QzAwQjMwMDIwQzgwQjEwMDIwQzAwODMwMTI0MjAxMzcKKzoxMDhBNzAwMDAwMDAwMDAwMDAwMDAwMDA4MDBENkMwMEMyMDEzMkMwNDgKKzoxMDhBODAwMDJFODAxNjJDMDhFOTAwM0E0MDBDODAwM0VDMDBGNzAwMTkKKzoxMDhBOTAwMDJGQzAwRkYwMEIyQzAwRDkwMDMwNDAwQ0YwMDM2MDAzMDYKKzoxMDhBQTAwMDUwMDAwMDAwMDAwMDAwMDBBMDBERjgwOEZGMDAzRkMwQ0IKKzoxMDhBQjAwMDBGQzIxN0ZDMDBGNzAwMzcwMDBGODQwM0ZDMDBGRjAwMTMKKzoxMDhBQzAwMDNGQzAwRkYwMDNFRDAwRkQwMDNGNDAwRkYwMDNFODA2NEMKKzoxMDhBRDAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1RkMwMENGMzAxNzQ4MDcKKzoxMDhBRTAwMDBDNTkwM0I5MDBERjI4MzUyNDBEODJBMzdDODBGRjAwRDgKKzoxMDhBRjAwMDNGQzgwRkYyMDNFNEEwRUY4MDNGRTE4Q0Q4NDMzMDAwODEKKzoxMDhCMDAwMDcwMDAwMDAwMDAwMDAwMDA4MDEwRUQ0ODg5MzRBMzcwNjAKKzoxMDhCMTAwMDI4QjAyMzYwMDA4QkMwMjI0MDA4QjQ4MjJGNDBCRkQxMTAKKzoxMDhCMjAwMDZGRjQ4RUJEMDJFNzAwQkI4MDNBRTAwODk4MEEyODA0ODMKKzoxMDhCMzAwMDMwMDAwMDAwMDAwMDAwMDA4ODA1QzRCMDkxMDBBODUwN0IKKzoxMDhCNDAwMDA4QjIwMkM4ODQ5MzAwMjQ0OTBCMDIwMjRDMDBCMzA0MEIKKzoxMDhCNTAwMDJDQzAwQjMwNDI4NDAwQjMwMDJFMDAwQUIwMTIyMjAxNTgKKzoxMDhCNjAwMDcwMDAwMDAwMDAwMDAwMDBDMDExQUMwMjk5MTgyQTQ0RjcKKzoxMDhCNzAwMDA4Qjg4MkEyMDFCQjAwMjg2MDBBQTAxMjZDMDBCQjAwRUEKKzoxMDhCODAwMDZFQzAwQUIwMDJFNDAwQkIwMDJBMDAyQUIwMDIzODA0MUEKKzoxMDhCOTAwMDYwMDAwMDAwMDAwMDAwMDA0MDExRTQwOERBQzAzQTYwMDQKKzoxMDhCQTAwMDBDMTgwQUVCMDREQjAwMzZFMDA3ODU4MzZDMDBGQjAwNDEKKzoxMDhCQjAwMDJFQzAwRkIwNDNFNDAwRUIwMDNFODgwRTE4MDMxMDA0RjMKKzoxMDhCQzAwMDcwMDAwMDAwMDAwMDAwMDBFMDQxOUMxMEU5MDAzNzYwRTgKKzoxMDhCRDAwMDg3RjAxNzcwMDBDRjAxMzdDMDRDOTgwM0JDMDBGQjAwMzIKKzoxMDhCRTAwMDNGQzIwRkYwMDNFNDAwRkY0MDNGRTQwREQ5MDNGMDAwNjMKKzoxMDhCRjAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwQTQwMEY0MDAzMDQwQkQKKzoxMDhDMDAwMDBGQjQwMzk5MDBGQjAwM0VDMDBEMDQyMzJDMDhGQjg4MjEKKzoxMDhDMTAwMDMyQzAwRkIwMDNFNjAwREIxMDNFMDIwRkIwODNEMDA0NzkKKzoxMDhDMjAwMDIwMDAwMDAwMDAwMDAwMDBDODA1MkMwMEI5NTBBMjQ4MzgKKzoxMDhDMzAwMDhCQjAwMzIwMDBENzgwMkVEODAwODAwMjNDMDBCRjgwN0MKKzoxMDhDNDAwMDIzRTg4QkYwMDJGNDQwOEI0MDBDNDIwM0I2MDJGMjAwQTIKKzoxMDhDNTAwMDQwMDAwMDAwMDAwMDAwMDBFMDA1NEMwMEIyNDQwMEM4RTUKKzoxMDhDNjAwMDBCMzAxMjhDMDBBMzgwMjRDODBCMDAwQUNDMDBCMzQ0NDQKKzoxMDhDNzAwMDA0QzAxQjM2MDJDNTAxODMwQzJDQTAwQjMwMDJGODAwODcKKzoxMDhDODAwMDUwMDAwMDAwMDAwMDAwMDAyMDAxMUUwOEI3OTAyMTY0ODEKKzoxMDhDOTAwMDBCRjgwMjRBMDQ5NzgxMkZFNDBBNzgwMjlFMDBCNzgwRkQKKzoxMDhDQTAwMDIxRTA4Qjc4ODJENjg2ODc4NDJEQTAwQjc4MDJDMDAwQzUKKzoxMDhDQjAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MDQwMEYyMDAzMEMwM0UKKzoxMDhDQzAwMDBGMzAwMzhDMDBFMzBBM0NDMDBGMTgwMzhDMDBGMzAyNDIKKzoxMDhDRDAwMDMwQzAxRjMwMDFDNjgwQzMwMDNDQzAwRjEyMDNEQTAyNEYKKzoxMDhDRTAwMDAwMDAwMDAwMDAwMDAwMDA0MDBEQkMwMEZGMDAzRjQxRkMKKzoxMDhDRjAwMDBGRjAwM0I4MDhGRjA4M0ZDMDBERjAwMzNDMjBGRjA4NDkKKzoxMDhEMDAwMDNCRDIwRkYwMDNGNDQwRUYwMDNGQzQwRkQwMDNEMDA2NzYKKzoxMDhEMTAwMDYwMDAwMDAwMDAwMDAwMDBBODA1RTQwMEZFMDAzMkMyNzAKKzoxMDhEMjAwMDBDMzAwQjI2MDBGQjgwMzZDMDBEQTAwM0VDMDBGQkUwRUUKKzoxMDhEMzAwMDMyRDAwRkI4NDM2NDQ0REIwNDNFODAwRkIwMDNFMjAwM0UKKzoxMDhENDAwMDcwMDAwMDAwMDAwMDAwMDA0ODExOUMwMEI3MDBBMUMwQTYKKzoxMDhENTAwMDg4NzAwMzEwMDBCNzIwMjFDMDA4NzAwMkRDODBCMzMwOTcKKzoxMDhENjAwMDMxQzgwQjc0MDIxNDAwODc0MDJEQzA0QjcwMDJEMjAwMzIKKzoxMDhENzAwMDYwMDAwMDAwMDAwMDAwMDBDMDAwOTYyMEI2ODAyMEUwRTcKKzoxMDhEODAwMDI4RjgwMjk0MTBCNzgxMjdFMjA5NzgwMkRFMDBCN0EwMjQKKzoxMDhEOTAwMEE5RTgwQjM4MDI3NjAwODc4MDJEQTAwQjU4MDJGMDAwNUUKKzoxMDhEQTAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0Q0UxMEIzMDAyMEM0RDIKKzoxMDhEQjAwMDA4MjAwMjgwMTBCMzAwMjJDODA4QjAwMkNDMTFCMzAyMTAKKzoxMDhEQzAwMDI4QzAwQjMwMDIwNDAwOTM4MDJDRDIwQjEwMDJEMjA0NzYKKzoxMDhERDAwMDMwMDAwMDAwMDAwMDAwMDBFODE1QTgwMEZFNDAzMkEwQUUKKzoxMDhERTAwMDBDRTQwMzk4ODBGQTAwMzdBMDBERTA4M0U4MDBGRTAwNTEKKzoxMDhERjAwMDNBODAwQkEwMDM2ODAwRDhBMDNGOTAwRkEwMDNGQTA0QUMKKzoxMDhFMDAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwRTAwOEY4MDgzRTAwOTQKKzoxMDhFMTAwMDBGODAwMzIwMDBGODQwM0UwMDBGODAwM0UwMDBGODA0QkMKKzoxMDhFMjAwMDMwMTAwRjgwMDNFMDAyRTgwMDNFMDAwRjgwMDNEMjAwMDQKKzoxMDhFMzAwMDMwMDAwMDAwMDAwMDAwMDAwODEwRTQwMEYxMDAzMjQwQTMKKzoxMDhFNDAwMDBFOTA4M0E0MDBDOTgwM0U0MDBFOTAwM0E0MDBGOTAwNTgKKzoxMDhFNTAwMDNFNDAwQzkwMDNFNDAwQzgwMDNFNDA4RjkwMDMwMjA0QTMKKzoxMDhFNjAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjQwMEI5NDBBMDYyRUYKKzoxMDhFNzAwMDA4MTAwMjI0MTA4OTAwMkU0MDA4OTAwMjI0MDBCOTAwMzYKKzoxMDhFODAwMDJFNTIwODk0MDJDNDAwODk0MDJFNDAwQjEwMDM2MDEwM0IKKzoxMDhFOTAwMDEwMDAwMDAwMDAwMDAwMDAxODA1MjQwMEI5MTgyMjQ0NEEKKzoxMDhFQTAwMDBBOTAwMkFDMDA4OTEwMkVDMDBBOTAwMkE0MDBCOTgwN0EKKzoxMDhFQjAwMDJFNjAwODk4MDJFNjAyODkwODJFNDAwQjkwMDIwNjAwRjgKKzoxMDhFQzAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDQ4MEIxMjBBMDQ4MTkKKzoxMDhFRDAwMDA4OTAwMjI0MDg4MTIzMkM1MDA4MTAwMjA0ODBCMTIwM0QKKzoxMDhFRTAwMDJDNDgyODEyMDJFNDgwODEyMDJDNDAwQjk4MDI0MjA1NzUKKzoxMDhFRjAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjE0MEY4NTAzMjAwOTIKKzoxMDhGMDAwMDBFODUwM0ExRTBDQTAwM0UwMDBFODUwM0EwMDBGODAwMTQKKzoxMDhGMTAwMDJFMDA5Q0EwMDNFMDAwQzgyODNFMDAwRjgwMDMyRTAxMTUKKzoxMDhGMjAwMDUwMDAwMDAwMDAwMDAwMDA5ODFERjQ0MEY1MTAzRjQ0ODAKKzoxMDhGMzAwMDBGRDAwM0Y0MDBGMTEwM0Q0MDhGRDQwM0U0NTBGOTEwM0EKKzoxMDhGNDAwMDNFNDUwRjkxMDNENDQwRkMwMDNGQzA4RkQwMjNFNjA0ODAKKzoxMDhGNTAwMDcwMDAwMDAwMDAwMDAwMDAxODA1RTYyMENEQTgzMzQwOTYKKzoxMDhGNjAwMDhERDAwMzI2ODBDRDAwM0Q1MDBDOUEwMzY0MDBGOUEwRkIKKzoxMDhGNzAwMDdBNkEwRjlBNjNFNjgwQzk4MDNFNDAwRjkwMDMwNjAwMkMKKzoxMDhGODAwMDcwMDAwMDAwMDAwMDAwMDAzODEwRTEwMDg4RTAzNjAwQUEKKzoxMDhGOTAwMDA4ODAwQTIxNDJDODAwMkUyOTBDQTQ0MjIwMDBCODQwQjMKKzoxMDhGQTAwMDJFMDAwQjgxMDJFMTAwODgwMjNBMDEwQkMwMDIwRTA0ODAKKzoxMDhGQjAwMDMwMDAwMDAwMDAwMDAwMDAwODA1QzQwMjgxMDgyNDQwQzEKKzoxMDhGQzAwMDA5MTAwMjA0MDA5MTAwMkM0MDRCMTQwMjQ0MDBCNTEwMUIKKzoxMDhGRDAwMDI5NDAwQjUwMDJGNTAwQjUwMDJENDAwQkQwMDIwMjAxRDQKKzoxMDhGRTAwMDcwMDAwMDAwMDAwMDAwMDAxODExQTYwMTg5MDAyNjQwNTIKKzoxMDhGRjAwMDA4OTQwMjI0MDE4OTAwMkU0MDFBOTAwMjZDMDBCRjAyREUKKzoxMDkwMDAwMDJGNDAwQkQwMDJGNDAyQkQ4MDJCNDA4QkQ4M0EwNjA0Q0YKKzoxMDkwMTAwMDYwMDAwMDAwMDAwMDAwMDBBMDE1RTQwMEM5MDUzNjQxMTIKKzoxMDkwMjAwMDBEMUMwMzI0MDBEOTAwM0U0MjJGOTQwMzY0MDBGOTAwNzQKKzoxMDkwMzAwMDNBNDAwRjkwMDNDNDAwRjkwMDNFNzAwRjEwMDMyODA0NUIKKzoxMDkwNDAwMDcwMDAwMDAwMDAwMDAwMDAyODAxODQwOEY5MjQzRTQwNjAKKzoxMDkwNTAwMDBGOTEwM0U0MDBGOTAwM0U0MTBEMTAwM0E0MDBGOTAwNTQKKzoxMDkwNjAwMDNFNDAwRjkwMDNFNDAwQzkwMDNFNjQwRjkwMDNDQTAwMjUKKzoxMDkwNzAwMDYwMDAwMDAwMDAwMDAwMDAyODEwQTAwOEM4ODAzMjAyMzQKKzoxMDkwODAwMDBGODAwMzAwMDBDODA4M0ExMENFODQwM0UwMDBGQzAwMDMKKzoxMDkwOTAwMDNGMDA4RkMwMDNGMDgwRkMwMDNGMTgwRkMwNDNDQTA0OUMKKzoxMDkwQTAwMDIwMDAwMDAwMDAwMDAwMDAyODA1MjgwMDhFMDBBMTgwOUMKKzoxMDkwQjAwMDBCRTAwMjI4MDBERUMyMjM5MDAwQTAwMkU4MDBCQTAwMDQKKzoxMDkwQzAwMDJFODAwQkEwMDJFODAwRkEwMDJFODAwQkEwMDJDQTAwM0UKKzoxMDkwRDAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NEMwMDk5ODE2MEMwOUQKKzoxMDkwRTAwMDBCMTAwMjBDMDA5MDEwMkFGQzBCMzAwMkNDMDBCMzAwRDUKKzoxMDkwRjAwMDJDQzAwQjMwMDJDQzAwQjMwMDJDQzAwQjMwMDJDQTAwRDUKKzoxMDkxMDAwMDUwMDAwMDAwMDAwMDAwMDBBMDAxMUM4Mjk1NDAyMUMwMUEKKzoxMDkxMTAwMDBCNTAwMjFDODA5MDgwMjMwMTA5NzIxMkRDMDBCNjAwMDMKKzoxMDkxMjAwMDJEMDAwQjQwMDJEMDAwQjQwOTJEMDA0QjQwODJFODAwMTYKKzoxMDkxMzAwMDQwMDAwMDAwMDAwMDAwMDBBODA4M0U4MEREODBCMUUwOTMKKzoxMDkxNDAwMDBGREEwMzBGODBENDgwMzlFMDBCN0EwM0RFMDBGNTgwNUMKKzoxMDkxNTAwMDNEMjAwRjQ4MDNENjEwRjY4MTNERTA4RjY4MDNFQTAyRjgKKzoxMDkxNjAwMDAwMDAwMDAwMDAwMDAwMDAwODFEQUMwMEVEMDAzRTAwMDMKKzoxMDkxNzAwMDBGOTEwQkVDMTBGODAwM0UwMDBFQjAwM0VDMDBGODAwNkQKKzoxMDkxODAwMDNFQzA0RkIwMDNFODAwRTkwMTNFMDAwRjkwMDNDMjA2NjUKKzoxMDkxOTAwMDYwMDAwMDAwMDAwMDAwMDAwMDA1RkUyMEJGODEzM0E0MzUKKzoxMDkxQTAwMDhDMTkwMzNFMDBDRDgwM0ZFMDBGRjg4MzNFMDBFRjgwMzYKKzoxMDkxQjAwMDNGRTAwRkY5MTNGQTEwRkQ4MDNGQTQwRkQ4MDNDMDAwNjEKKzoxMDkxQzAwMDcwMDAwMDAwMDAwMDAwMDBBODExOUMwMEJGMjAzMUMyMDgKKzoxMDkxRDAwMDA4NUEwMjNDMDI4NzAwMkQ5NDBCNzAwQTFDNDA4NjEwMkUKKzoxMDkxRTAwMDJEMDAwQjQwMDJENDAwRjYwMDJENDA0QjYwMDJFQTA0MzMKKzoxMDkxRjAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwOUMwMEI3MDEyMzgwMTgKKzoxMDkyMDAwMDI4NTAwMjFDMDA4NDAwMkRDMDBCMzAwMjFDMDBCNTAwNDkKKzoxMDkyMTAwMDJEMDAwQjQwMDZEMDQwQjQwODJEODAwQjQ4MDJDMDAwNDIKKzoxMDkyMjAwMDIwMDAwMDAwMDAwMDAwMDAyMDE0Q0MwMEIzMDhBMDIwQTMKKzoxMDkyMzAwMDA4MTE4QTBFMDA4MDAwMkM5MDBCMzcwMjBDMDA5MDAwNjEKKzoxMDkyNDAwMDJDQzAwQjMwNDJDQzA0QTM4MDJDNTAwQjMwMDJDODA0M0QKKzoxMDkyNTAwMDMwMDAwMDAwMDAwMDAwMDBBODE1QkMwMEY5ODAzMjYwNUEKKzoxMDkyNjAwMDBDRDQwMzNDODA4ODAwM0VEMDBGRjgwMzI4MDBGQTAwOUQKKzoxMDkyNzAwMDNFQzAwRkIwMDdFQzAxQkI4MDNFNTQwRkIwMDZFQTA0QkQKKzoxMDkyODAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwRUUwOEY5ODAzQUMwOTUKKzoxMDkyOTAwMDBGOTAwM0VDMDBGODQwM0U1ODBGQjA0M0U5MDBFQjQ0NTgKKzoxMDkyQTAwMDNFMDAwRjgwMDNFMDBERjgwMDNFODAwRjgwMDNFMDAwRDkKKzoxMDkyQjAwMDMwMDAwMDAwMDAwMDAwMDAwMTEwREMwMENGMDAzMzQwNEYKKzoxMDkyQzAwMDBDRDAwMzNDMzBDQzAwM0JDMDJERjAwM0Q4MDJDQzAwQzYKKzoxMDkyRDAwMDNEMDAwQ0MwMDNGNDAwRUUwMjM3NDAwQ0UwMDNDMDQ0MzQKKzoxMDkyRTAwMDMwMDAwMDAwMDAwMDAwMDA4MTA0NkMxODgzODQyMDAwMUUKKzoxMDkyRjAwMDRBMTAwMjBDMDBBODQ4MkU2MDA4QjAwMkU5MDA4OTQwMUMKKzoxMDkzMDAwMDJFQzAwOEIwMDJFODEwQjEwMTIwODAwQTkwMDNBMDQwRUUKKzoxMDkzMTAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1MkMwMDhCODIyMjA4NTUKKzoxMDkzMjAwMDA4OTAwMjJDMTQ4ODA0MkMwODA4QjAxMkU4MDA4QTAwNjcKKzoxMDkzMzAwMDJFQzAwQUIwMDJFODAxQjkwMDI2MDQwODkwMDJFMDAwM0QKKzoxMDkzNDAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MEMwMDgzODBBMkMwNjAKKzoxMDkzNTAwMDBBOTIwMjJDMDBBMjAwMkMwMDA4MzQwMkM4MDA4MzAwRUMKKzoxMDkzNjAwMDJDMDAyODAwMDJDNDAxQkEwMDIyQzAwMjIwMDZDMjAxNUIKKzoxMDkzNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENkMwMENBMDBCMjAwRjgKKzoxMDkzODAwMDBDOTIwQjJDMDRDODA0M0EwMDBDQjQwM0U4MDBDODAwOEIKKzoxMDkzOTAwMDJFMDAwQzgwMzNFMTQwRTgwMDM2MDAwQzgwMDNDMDAzNEYKKzoxMDkzQTAwMDUwMDAwMDAwMDAwMDAwMDBBMDFERkMwMEZGMDAzRDAwNzgKKzoxMDkzQjAwMDBGRDEwQkZDMDFGQzAwM0YwMDBGRjAwM0Q4MDBGRDAwQjMKKzoxMDkzQzAwMDNGQzAwRkYwMDNGQzgwRkYwMDNGQzAwRkYwMDdBODA2NkUKKzoxMDkzRDAwMDcwMDAwMDAwMDAwMDAwMDBDMDE1RjMwMENGODAzNTYwNzEKKzoxMDkzRTAwMDRFNjg0MzVDMDBFNzgwMzlDMDBDQzEwMzdFMDBDRjM0NzcKKzoxMDkzRjAwMDM1RTE0REYyMDM3QzAwREYzODNGQzgwRkY4MDNGMDAwODEKKzoxMDk0MDAwMDcwMDAwMDAwMDAwMDAwMDBDMDE4QzgwMERCODQyMjYwNkIKKzoxMDk0MTAwMDA4QUMwQTJDMDA4QjgwMjIzMDA4OTEyMjJDOTAyNzYxMDYKKzoxMDk0MjAwMDIyQ0E4OEZDMjJCRjAwOEI2MjJGRDAwOUI4MDNCMDA0ODcKKzoxMDk0MzAwMDMwMDAwMDAwMDAwMDAwMDBDODA1RTI4MEE5MDIyNDQwQkUKKzoxMDk0NDAwMDgyMzQ0MjA0MDBBOTAwMjhDNTQ4MzIwMjRDMjA4MzMwRUYKKzoxMDk0NTAwMDIwQzAwODMxMDIwRDAwQjMyMDJDQzQwQjMwMDJGMjAxRjEKKzoxMDk0NjAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1QUEwMkI5MDQyMjYwREMKKzoxMDk0NzAwMDI4QjIwMjI2MDA4OTg4MDJDMDA4MzExMkVDMDA4QjAwNTUKKzoxMDk0ODAwMDJBRDAwOEIwMDJBQzAwMkIwMDJFQzAwQkIwMDJCMDA0RjIKKzoxMDk0OTAwMDYwMDAwMDAwMDAwMDAwMDBDMDA1RTIwMEUzMDAzNjIwOEMKKzoxMDk0QTAwMDBFQTQ2MzZFMDBFMUMwMUFDMTBDODAwMzY4NzBDQjAwOEIKKzoxMDk0QjAwMDM2ODAwREIwMDM0QzAwRkIwNDNFQzEwRkIwMDNEMDA0NTYKKzoxMDk0QzAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxQjgwNERGMDAzRjAwNzEKKzoxMDk0RDAwMDBGRTgwM0ZDMDBGRDAwM0YwMDJCOTgwMzNBMDA3NzAwRTMKKzoxMDk0RTAwMDI3RTQwRkYwMDNGQzAwREYwMDNFQzAwREYwNDNGODAwNUUKKzoxMDk0RjAwMDYwMDAwMDAwMDAwMDAwMDA1MDAwQTQ2OENCMjAzQTkwRkIKKzoxMDk1MDAwMDBGMjRBM0FDMDBFOTUwM0FDMDBFQjQ4MzJDMDhFQjAwNDIKKzoxMDk1MTAwMDNBOTAwRUIwOEJFQzgwRkIwMDNFQzAwRUIwMDM5MDA0N0UKKzoxMDk1MjAwMDIwMDAwMDAwMDAwMDAwMDBDODAxMEEwMDhCQTAyMDgwN0QKKzoxMDk1MzAwMDBEQTgwMjJDMDQ4OTQwMjhFODA4QjIwMjJDMDBBRjAwRDQKKzoxMDk1NDAwMDAyODAwODdDMDMzRDgwM0YwMDJGQzAwOEIwMDIzNjAwMzcKKzoxMDk1NTAwMDQwMDAwMDAwMDAwMDAwMDBFMDA1NDkwMDAzNDAyOEMwNzIKKzoxMDk1NjAwMDJCMjg0QTI4MDBBMTAwNjhEMjBBMjA0MkE0MDFBMzAwQTcKKzoxMDk1NzAwMDAyNDAwQTM0MDIwRDAwMzMwMDJDQzAwQTMwMDBCODAwNEIKKzoxMDk1ODAwMDUwMDAwMDAwMDAwMDAwMDBCODAxMUEwMDg3OTAyMUU0OUMKKzoxMDk1OTAwMDJCQzgxMjNBMDA4NUMwMkIyMTI4NjgwMkI2MDBBNzg0ODgKKzoxMDk1QTAwMDIzNjAwODM4ODAxRTAwQjc4MDJERTAwODc4MDIyRTAwNjYKKzoxMDk1QjAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MDgwMEMxMDAzODU0QzYKKzoxMDk1QzAwMDBGMjY4MzgwMDBFMDM0MjhDODBFMkMwQjhDMDBFMzAwQUIKKzoxMDk1RDAwMDc4NDUwRTMwMDM4RTgwRjMwMDNDQzgwRTMwMDM5MjAyQjMKKzoxMDk1RTAwMDAwMDAwMDAwMDAwMDAwMDA0MDFEQjgwMEY1MDIzRjQ0RUMKKzoxMDk1RjAwMDBEOTAwM0Y4MDBCRDE0MUZDMDBGRTEyMzVDNDQ5RjQyOEYKKzoxMDk2MDAwMDNGQzAwRkY0ODI3RDQwRkYxMDNGQzA0RjcwMDdEMDA2NkYKKzoxMDk2MTAwMDYwMDAwMDAwMDAwMDAwMDBBODA1RTgwMkNCMDAzOEMwOTAKKzoxMDk2MjAwMDNDQTAwM0VDMDBFOTAwM0VDMDBDQjAwMzIwMDRGQjIxODkKKzoxMDk2MzAwMDNFODA0RkI0MDNDRjAwQ0IwMDNFQ0M0RkIwNDNFQTAwOTYKKzoxMDk2NDAwMDcwMDAwMDAwMDAwMDAwMDBDODkxOTgwMDg3MDAyMUMwNTEKKzoxMDk2NTAwMDA4NDAwMkRDMDRCNTAwMkQwMDJENzAwMjFDMUNCNzAyNkUKKzoxMDk2NjAwMDJEQzAwQjcyMDJEQzAwODc0MDJEQ0E4QjcwMDJGMjA0MDEKKzoxMDk2NzAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwQkEwMDg3ODgyQkUwMzYKKzoxMDk2ODAwMDE4NzgyMkQ2MTFBNDgyMkZFMDA4NzgwMjEyMDBCNzk0MkQKKzoxMDk2OTAwMDZENjA0QjdBMDJERTQwQjdBMDJERTAwQjc4MDZFMDAwNEIKKzoxMDk2QTAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0QzkxMjgzODIyOEQ0NjIKKzoxMDk2QjAwMDk4MDAwNkVGMDVCMTkwMkNDMTA5QjQwMjBDMDRCMzAxNjcKKzoxMDk2QzAwMDZDRjAwQjMwMDJDQzAwQkIwMDJFQzAwQjMwMDJEMjA0NzkKKzoxMDk2RDAwMDMwMDAwMDAwMDAwMDAwMDBFODE1Qjg0MENBODAzQkEwNDAKKzoxMDk2RTAwMDRDRTUwMkY4ODBFRTAwM0Q4MDJDRTAwRjM4ODBGQTAwNTcKKzoxMDk2RjAwMDNGQTkwRkEwMDNFODAwQkEwMjNFODA4QkEwMDNGQTA0NDIKKzoxMDk3MDAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwRTAxMEY4MDAyNjAyQTEKKzoxMDk3MTAwMDBGODQwM0UwMjRGODAwM0UwMDRGODBBM0UwMzBGODAwRkYKKzoxMDk3MjAwMDM2MDIwRjgwMjNFMDA0MDgwMDNFMDAwRjgwMDNEMjAwQzEKKzoxMDk3MzAwMDMwMDAwMDAwMDAwMDAwMDAwODEwRTQwMEQ5MDBCNjQxMkQKKzoxMDk3NDAwMDRFOTkwQkE0MDA2OTEwM0U0MDBDOTAwM0E0MTBDOTAwNzAKKzoxMDk3NTAwMDNFNDAwRDkyMDNFNjAwRjkwMDNBNDAwRTkwMDNDMjA0MjkKKzoxMDk3NjAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjQwMDgxMDAyMDQyRkUKKzoxMDk3NzAwMDA4MTQ5QTI0MDA4OTAwNkU1MDAwOTAwMjI0MTBEOTAyMjcKKzoxMDk3ODAwMDZFNDAwQjk0MDNBNzAwQjkwMDIyNDAwODkwMDNFMDAwNEMKKzoxMDk3OTAwMDEwMDAwMDAwMDAwMDAwMDAxODA1MDYwMDk5MDBBNjQxMTYKKzoxMDk3QTAwMDBBOTAwNjJDMDBBOTA5NkU1MDA4OTEwMjg0MDQ4OTAwRDEKKzoxMDk3QjAwMDBFNDAwQjk0MDJFNTQ5QjkwMDBBNDAwQTkwMDJDNjAwMjcKKzoxMDk3QzAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDYwMDgxMDAyMjQwNjQKKzoxMDk3RDAwMDA4MTIyMjA0ODFBMTAwMkM0MDA4MTYwMjA0MDA5MTIwRTYKKzoxMDk3RTAwMDJDNDAwQjEyNDI4NDg5QjEyMDIwNDgwODEwMDJDMjAxOEIKKzoxMDk3RjAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjE0MEQ4MDAzNjAwRjUKKzoxMDk4MDAwMDBBODAwM0ExNDBFODAwMkUwMDBDMDAyM0ExNDBDODUwQUMKKzoxMDk4MTAwMDJFMTQwRDgwMDNFMDAwRjg1MDNBMDAwRTgwMDNFRTAzOTIKKzoxMDk4MjAwMDUwMDAwMDAwMDAwMDAwMDA4ODFERDQwMEY1MDBCRjQwN0IKKzoxMDk4MzAwMDBGRDEwM0Y0NDRERDAyM0Q1MDJCRDEyM0Y0MDBGOTEwODUKKzoxMDk4NDAwMDNGNDAwRDkxMDNBNDQ4RjkxMjNFNEUxRjkwMDNBNjAyMUIKKzoxMDk4NTAwMDcwMDAwMDAwMDAwMDAwMDAxODE1RjQwMEM1MDQzQjQwMzMKKzoxMDk4NjAwMDBGRDgwM0E3ODBGRDAwQjM2ODBERDg0M0E1MTBDOUEwODkKKzoxMDk4NzAwMDMyNTE0RjVBNDMzNjAwQzlBMDdBNjgwQkQwMDNDNjAxNTMKKzoxMDk4ODAwMDcwMDAwMDAwMDAwMDAwMDA3ODE4Q0E4ODg4MDIwMjAwRkEKKzoxMDk4OTAwMDhEODQyMjIzNDJGODAwMjIwNDI4OEFBMkFBOTQ4OEU5MEYKKzoxMDk4QTAwMDIwQTgwQTgwMEEyMTQwODBFMjJFMjgwQjgwMDJDRTA0RTQKKzoxMDk4QjAwMDMwMDAwMDAwMDAwMDAwMDA0ODA1QzQyMEExMDRBOEMwM0EKKzoxMDk4QzAwMDBCMUMyQTI0MDAzOTA0MjA0MDJBMUUwMkU0ODBCMTEwMTcKKzoxMDk4RDAwMDJBNDgwOTE0NDYwNDAwODEzODJDNUIwQjEwMDJEMjAwODAKKzoxMDk4RTAwMDMwMDAwMDAwMDAwMDAwMDAxODA1QTQxMkE5MjQyMjQwNDYKKzoxMDk4RjAwMDI5OTAwMjI0MDAzOTAwMDI1ODA4MTgxMEU2MDFCOTAwMjYKKzoxMDk5MDAwMEFBNDQwODkwMDIyNDAwODkwMDBFNDEwQjkwMDJDNjA0NkMKKzoxMDk5MTAwMDYwMDAwMDAwMDAwMDAwMDBBMDA1RTQwMEUxMDEyQTY0RUUKKzoxMDk5MjAwMDJGOTQxMzI0MDI3MTYwMTI2MDREOTAwMEM1MDJGOTAwNUIKKzoxMDk5MzAwMDNBNDAwRjkwMjMyNDAyQzkwMjNBNDAwRjkwMDJFODA0RjMKKzoxMDk5NDAwMDUwMDAwMDAwMDAwMDAwMDA2ODAxQTQwMEQ5MDAzRTYwNDMKKzoxMDk5NTAwMEFGOTA4MzY0ODhGOTIwM0U2MjAzOTA4M0E0MDBDOTAwMUQKKzoxMDk5NjAwMDM2NjAwRjEwMDNDNDAwRjkwMDdFNDAwRjkwMDNEQTAwNDgKKzoxMDk5NzAwMDYwMDAwMDAwMDAwMDAwMDAyODAwQTEwMEM4ODIzMjAwNDIKKzoxMDk5ODAwMDZGMDAwM0EwMDBEODQwMzAwMDBFODAwMzYwMDRGODAxOEYKKzoxMDk5OTAwMDNFMTA0RjgwOEIyMjAwRjgwMDMyMDEwRTgwMDNDQTA0NzMKKzoxMDk5QTAwMDIwMDAwMDAwMDAwMDAwMDAyODAxMzgwMDBFMDBBOTkwRUYKKzoxMDk5QjAwMDJGRTYyMDg4MDA5RTgwMjM4MDBBRTgwMzI4MDBCQTAwNTIKKzoxMDk5QzAwMDE4ODAwREVDMDIzODgwQkEwMEEyODAwOEEwMDM4QTAwM0IKKzoxMDk5RDAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NkMwMjgzODAyMEM4QzEKKzoxMDk5RTAwMDBCMjAwMjBDMDE5MjEwNjhDMDNBM0MwMkNDMTAzQjAyRTIKKzoxMDk5RjAwMDBDQzAyODNDMDI0RTAwQjMwMDI4QzAyODMwMDJDQTAwMjgKKzoxMDlBMDAwMDUwMDAwMDAwMDAwMDAwMDBBMDAxMTQwMDg3NDIyQkMwOUQKKzoxMDlBMTAwMDI5NzAyMjlDMDBCNjAwMkJDMjBBNjA4NjFDMDBCNzIxNjgKKzoxMDlBMjAwMDI5QzAwMDc0MDI1QzAwMzc5MTAxRTAwODc0MDJBODAwQUMKKzoxMDlBMzAwMDQwMDAwMDAwMDAwMDAwMDBBODA4MUUwMEM3ODAyMUUwRDAKKzoxMDlBNDAwMDJGNzgwMjlFMDA5NjgwMzlFMDJFRjgwM0RFMzBGN0QwQTIKKzoxMDlBNTAwMDJERjIwMDc4MDM1MjAwRjdBMjNCRTAwRTc4MDdFQTAyRUQKKzoxMDlBNjAwMDAwMDAwMDAwMDAwMDAwMDAwODFEQjQwMEZCMDAwQ0MwNTYKKzoxMDlBNzAwMDBGMzAwM0VDMTBEMzAwQjRDMDJGODAwMzZDNDhGQjAwMDAKKzoxMDlBODAwMDNFQzg0RDkwMDNBNDAwRkIyMDFFQzAwRkIwMDNDMjA2QzkKKzoxMDlBOTAwMDYwMDAwMDAwMDAwMDAwMDAwMDA1RkUwMENDODAyQjJDQzAKKzoxMDlBQTAwMDJGRjgwMzdFMDA2RTgwM0JBMTBERDg0MzNFMDBGRjkwNEYKKzoxMDlBQjAwMDMzRTAwRkU5MzNGRTAwQ0ZDMDNGRTIwRkQ4MDNDMDAwMTAKKzoxMDlBQzAwMDcwMDAwMDAwMDAwMDAwMDBBODExQjQ0MDg3MDAyMTA0Q0QKKzoxMDlBRDAwMDA4NzgwMjFDMDA4NjAwMjFDMDI4OTAwMkRDMDBCNzEwMjQKKzoxMDlBRTAwMDIxQzAwRjczMDJDQzAwODcwMDJEQzAwQjUwMDJFQTAwOEEKKzoxMDlBRjAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwOUQwMEE0MDAyOTQ4NTQKKzoxMDlCMDAwMDZBRjA4MjRDMDBBRTAwQTFDNDI5NzQwMjVDNDBBMzEwMkMKKzoxMDlCMTAwMDYxQzIwQjYwMDZDODAwODcwMDJEQzAwQjUwMDJDMDA0NTQKKzoxMDlCMjAwMDIwMDAwMDAwMDAwMDAwMDAyMDE0RTYwMUEzMDIyMDQwRjUKKzoxMDlCMzAwMDI4M0MwMjBDMDA4MzQyMjBDODA4MTAwMkNEMDBCMzAwNkMKKzoxMDlCNDAwMDI4RjAwQjMwMDJDQzAxODMwNDJDQzA4MzEwMDJDODA0MUYKKzoxMDlCNTAwMDMwMDAwMDAwMDAwMDAwMDBBODE1QUE4MEVCMDAzOEMwMEIKKzoxMDlCNjAwMDBBOTAwMzdDMjJBMjQwMzI0ODBEQjAwQjNFMDBGRjAwNTkKKzoxMDlCNzAwMDMzRjQwRjkwMDNFQzAwOEYwMjNGQzAwRjkwMDNFQTA0MTAKKzoxMDlCODAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwRTAwMEQ5MDIzRUMwM0MKKzoxMDlCOTAwMDBFQjYwM0VDMDBGQTIwM0VDMDRGMjQyM0FDNjBGQjAwNUQKKzoxMDlCQTAwMEE2QzAwRTkwMDNFNDAwRkIwMDNDQzEwRjkwMDNFMDAwNTAKKzoxMDlCQjAwMDMwMDAwMDAwMDAwMDAwMDAwMTEwRjgwMkNGMDAzM0UwODgKKzoxMDlCQzAwMDJDRjAxM0JDMDAyRTEwQjE2NDJFRjAwMjNDMDBGRjAyRkEKKzoxMDlCRDAwMDNGQzE0REVDNjNGRTAwQjcwMDNCQzAwQ0Q4MDNDMDQ0NEUKKzoxMDlCRTAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NkMyODgxODEyMkUwMjkKKzoxMDlCRjAwMDBBMzgwMjNDMDRCQUM5MzJFMDIwODQwMjJDMDBCQjAwQkYKKzoxMDlDMDAwMDJFQzAwQjlDMDJFNzgxQkIwNDIyQzAwQTk5MDJFMDAwMkYKKzoxMDlDMTAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1Mjg0MDg4ODAyMjg4OTUKKzoxMDlDMjAwMDI4QkM0MkFDMDBCQTAwMkE4MDA4ODQwMkFDMDBCQjAwMDkKKzoxMDlDMzAwMDJFQzAwQkIwODJFODkwQUIwMDYyQzAwOEIwMTJFMDAwMEEKKzoxMDlDNDAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDAwMDg5MDAyQTgwOTUKKzoxMDlDNTAwMDI4QjIwMjBDMDBCQTAwMjBDMDA4MDAwMjhDMDBCMzAwMzkKKzoxMDlDNjAwMDJDQzAwQjMwMjA0QzE0QjMwMDIwQzAwODMwMDJDMjAxQkQKKzoxMDlDNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENjgwMEM4MDBCMkMwMzUKKzoxMDlDODAwMDJDQjIwM0FDMDBGQTAwM0FDMDRFQTUwM0JDMDBGRjAwQTIKKzoxMDlDOTAwMDNGQzAwOUEwMDNFOTA0RUYwMEJBQzAwQ0IwMDFDMDAxNDUKKzoxMDlDQTAwMDEwMDAwMDAwMDAwMDAwMDBBMDE5RkMwMEY1MDAzNUMwMDUKKzoxMDlDQjAwMEFGMzQwM0ZDMDBGNDAwMzlDMDBGQzIwMzdDMDBGRjAxODUKKzoxMDlDQzAwMDNGQzAwRkYwMDNGQ0EwRkYwMDNGQzAwRkYwMDNFODA1MEEKKzoxMDlDRDAwMDYwMDAwMDAwMDAwMDAwMDBDMDA1RkMwMEZGMjkzRDIwREUKKzoxMDlDRTAwMDhFQzEwMzMyNDhEQzgwMjMyNTBFRjIwMzNDQzBERjg0QTIKKzoxMDlDRjAwMDMzQzkwRkYyMDNGQzAwQ0Y4MDMzNDAwQ0YyMDMzMDAwNzUKKzoxMDlEMDAwMDcwMDAwMDAwMDAwMDAwMDA4MDEwRUNDMEJCNjAyRTA4NTYKKzoxMDlEMTAwMDA4ODEwMjIwMDQ4ODIwMjA0ODA4RjE4MjJEQzA4MzAwOTkKKzoxMDlEMjAwMDIyRDQwOUY1MDJGQzA4OEIwMTIyNDAyOEI0MDIyMDA0NDkKKzoxMDlEMzAwMDMwMDAwMDAwMDAwMDAwMDA4ODA1Q0MyMEIzMDkyQzgyMTAKKzoxMDlENDAwMDA4MTAxNkEwMTA5MDA4Mjg0ODBBMzIwMjBDMDBCQjAwMjgKKzoxMDlENTAwMDJDQzAwQjMwMDJDQzAyOTMwMTIwMDA4QTMxMjJFMjAxOTgKKzoxMDlENjAwMDcwMDAwMDAwMDAwMDAwMDBDMDE1QUMwNEJCMDAyQzgwOTcKKzoxMDlENzAwMDA4ODYwMkEwMjBBMDAwMkE2MDBBQjAxMDJDMDBBQjBDQkMKKzoxMDlEODAwMDZFQzAwOUIwMDJDQzAwOUIwMDIyNjAwQUIwMDJGMDA0NTEKKzoxMDlEOTAwMDYwMDAwMDAwMDAwMDAwMDAwMDE1RUMwMEJCMDAzRTM0MzUKKzoxMDlEQTAwMDA4QTAwQjgzMDBEOTAyM0FFMDJFQjAwQjJDMDBGODgwRkIKKzoxMDlEQjAwMDNFQzA0RkIwMDNFQzAwQ0E0MEIyNzIwRUIwMEJDMDA0RkMKKzoxMDlEQzAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxQkMxMEZCMDAzRjAwM0MKKzoxMDlERDAwMDBERjgxMzcwNDhERDQwMzdDMjhERjAwM0RDMDBEREM4OUMKKzoxMDlERTAwMDEzQzAwRkYwMDNGQzAwRUU0MDdGNDAwRDcwMDMzODAwRkQKKzoxMDlERjAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwQUMwMEZCMDEzMkMwMTkKKzoxMDlFMDAwMDA0MTAwMzIwNDBFODEwM0FDMDBEQjAwM0FDMDhGODQwM0QKKzoxMDlFMTAwMEIyQzAyQ0IwMzNBNDgyREE0MEJBNDAwRkIwMDNEMDA0RjEKKzoxMDlFMjAwMDIwMDAwMDAwMDAwMDAwMDBDODA1M0MwOEJGODAyMkM4RDgKKzoxMDlFMzAwMDA4QjcwMDIzNDQ4OEQwMjJEMDA4NzA4MkZDMDBCMkUwMkEKKzoxMDlFNDAwMDAzRjQwOEY1MDIzNzA0OEJEMTIyNjA0QkZEMDJGMjAwQzcKKzoxMDlFNTAwMDQwMDAwMDAwMDAwMDAwMDBFMDA1NEMwMEIzMTBBNDQwRUEKKzoxMDlFNjAwMDA4MDAwMjQ4MDBBMDQyMkFEMDAxMzAwMjhDMDBCMzgwRDIKKzoxMDlFNzAwMDJDQzAwOTMxMDJDQzAwODkwMDIyRTgwMzM4MDJGODAwMjYKKzoxMDlFODAwMDUwMDAwMDAwMDAwMDAwMDA2MDAxMUUwMEI3ODAyNzY0NDEKKzoxMDlFOTAwMDY4NEEwMjUyMDA4QzgwMjFFMDA4NzgwMkRFMDBCNzgwMTgKKzoxMDlFQTAwMDJERTIxOTM5MDI1RTMwODU5ODIxRTQwQjc5MDJEODAwNDEKKzoxMDlFQjAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MEMwMEYzMjAzNDAwQkYKKzoxMDlFQzAwMDBDQjgwMzQ4ODBFMjIyMzhDMDBEMzAwMzhDMDBGMzAwNDgKKzoxMDlFRDAwMDNFQzAwRDMxMDNFQzAwQ0IwMDM4MDYwRjMwODNEMjAyQjgKKzoxMDlFRTAwMDAwMDAwMDAwMDAwMDAwMDA0MDFEQkMwMEZGMDAzQjAxMUUKKzoxMDlFRjAwMDBGRDAwMzkwMDBGNjAwM0ZDMDBGRjQwMUZDMDBGRjAxRkIKKzoxMDlGMDAwMDMzQzIwRUY1MTNCQzAwRUQwMDNGQzQwRkYwMDNEMDA2QzIKKzoxMDlGMTAwMDYwMDAwMDAwMDAwMDAwMDBBODA1RUMwMEZCMDAzQ0MwNTEKKzoxMDlGMjAwMDBFQTAwMTY0MDFEODAwMzJFMDJDQjUwMzJDMDBGMjAwMzEKKzoxMDlGMzAwMDdBQzAwREI0MDMyRDgwQzkwMjMyQzAwQ0IwMDMyQTAwRDAKKzoxMDlGNDAwMDcwMDAwMDAwMDAwMDAwMDA0ODExOUM4MEI3MDAyREMwODgKKzoxMDlGNTAwMDBENjAwMkQwMDE4NDAwMjFDMDA4MzAwMjFEMDBCNzAwNEUKKzoxMDlGNjAwMDIxQzgwQkY0MDMxRUMwODYwMDIxQzAwODdDMDM1MjA0RTQKKzoxMDlGNzAwMDYwMDAwMDAwMDAwMDAwMDBDMDAwOUVDMEI3OTAyREUwMEYKKzoxMDlGODAwMDA4NzgwNkQ2MDFCNDgyMjFFMDA4NzgwQTFFMDBCNUMwMjAKKzoxMDlGOTAwMDI5RTgwOTc4MDIzNkMxOTc4MDI4QjAwQTdBMDIzMDAwOTEKKzoxMDlGQTAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0Q0MwMEJCMDAyQ0UwQTIKKzoxMDlGQjAwMDA5MzU4MkMwQzFBMDUxMjBFNDA4MzAwMjhDMDBCQkM0MjYKKzoxMDlGQzAwMDIwQzAwQjMwMDIwNjAwOTMxOEFBQjAyQTMwMEE1MjA0QUYKKzoxMDlGRDAwMDMwMDAwMDAwMDAwMDAwMDBFODE1QTgwMEZBMDEzREFDQzgKKzoxMDlGRTAwMDRDRUMxMzc4MTBGNjgwQjM5MDBDQTAwMzI4MDBGRTAwMTAKKzoxMDlGRjAwMDNBODEwREEwMEYyQTgwREUwNDNCQTAwRUEwMDMzQTA0OTQKKzoxMEEwMDAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwRTAwMEY4MDAzRTAwOTIKKzoxMEEwMTAwMDBEODAwMkUxMDBEODQ4M0UxMjBGODAxMzYwMDBGODYwMDYKKzoxMEEwMjAwMDNFMDAwNzgwMDNBMDAyRTgwNDI2MDgwNTgwMDM5MjAwOTIKKzoxMEEwMzAwMDMwMDAwMDAwMDAwMDAwMDAwODEwRTQwMEY5MDQzQTQwN0QKKzoxMEEwNDAwMDBDMTIwMzI0ODJDOTAwMzY0NDBGMTAwMzI0MDBGOTAwQzcKKzoxMEEwNTAwMDM2NDAwNDkwMDMwNDAwQzkwMDEyNDAwQzkwMDMwMjA0MkYKKzoxMEEwNjAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjQwMEI5ODEyMjQwM0MKKzoxMEEwNzAwMDA4OTAxQTI0MDA4OTAwMjI2ODBCOTkwMjI0MDBCOTAwNzQKKzoxMEEwODAwMDIyNDA2ODkwMEEyNDAwODkwMEEyNDAwODkwMEEyMDAwMUIKKzoxMEEwOTAwMDEwMDAwMDAwMDAwMDAwMDAxODA1MjQwMEI5MTAyMkUwQTQKKzoxMEEwQTAwMDA4OTQwMDA0MDQ4QjA4MjZDMDBCOTAwMjI0MDRCOTBDMDkKKzoxMEEwQjAwMDI0NDAwQTEwMDIyNDAwMjMwMjJBNDBBODEwMDIwNjAwQUQKKzoxMEEwQzAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDQ5MEIxMjAyMjQwN0QKKzoxMEEwRDAwMDA4MTIwMjBDMTA4MTAyQTA1MDBCMTIwMjA0ODBCMTA1N0MKKzoxMEEwRTAwMDAwNDgwQTEwMDIwNEEwQTEwMDI4NEEwODEyMDAwMjAxMzgKKzoxMEEwRjAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjE0MEY4NTBCQTE0RTQKKzoxMEExMDAwMDBDODUwMzAxNDJDODUwMzQwMDBGODUwMzIxNDBGODAwM0MKKzoxMEExMTAwMDM2MDAwRTgwMTMyMDgwRTAwMDFBMDgwQzAwMDMyRTAzODYKKzoxMEExMjAwMDUwMDAwMDAwMDAwMDAwMDA5ODFERTQ0NEY5MTAzRjQwN0EKKzoxMEExMzAwMDJGRDExM0Y0MDRGNTAwM0Y0MDBGOTEwQkU0NDBGRjI4QUEKKzoxMEExNDAwMEJFNEUwRDk2ODNENEEyREQyODM3NEEwRjkzODNFNjA2RDAKKzoxMEExNTAwMDcwMDAwMDAwMDAwMDAwMDA5ODA1RTQxMENEMDAzRjQwQjIKKzoxMEExNjAwMDBGRDAwMzM1MDI1RDAxMzE0NDBGRDAwMzI0MDBGOTAwMDQKKzoxMEExNzAwMDMyNjAwQzk4ODNFNjQwRDkwMDM2NkEwQzlFODMyNjAxMzMKKzoxMEExODAwMDYwMDAwMDAwMDAwMDAwMDAzODEwRTAwMDg4MDAyRTAwOTEKKzoxMEExOTAwMDBCODA0MjAyODA4QTAwMjIyMDg4ODAwMzIwMDhCODgyMzcKKzoxMEExQTAwMDIyMjEwODg4ODJFMjQyODhBODIyMjAwOENFMDIwRTA0REEKKzoxMEExQjAwMDMwMDAwMDAwMDAwMDAwMDAwODA1QzQwMjgxMDA2ODQwNzMKKzoxMEExQzAwMDBCMTAwMjg0MDFCOTAwMjA0MDQ5MTAwQTA0MDBCNTA4QjAKKzoxMEExRDAwMDIxNDYwODUwMDJENDAwOEQyMDI1NEEwQjUwMDI0MjAxMkUKKzoxMEExRTAwMDMwMDAwMDAwMDAwMDAwMDAxODExQTQwMDg5MDQ2RTU0MjMKKzoxMEExRjAwMDBCMTAxMkE0MDFBOTAwQTI0MDE4OTAxNjI0MDBCOTAwNjcKKzoxMEEyMDAwMDIzNDAxOEQwMDJGNDAwOEQ0MDIxNEEwQkQwMDI0NjA0QUUKKzoxMEEyMTAwMDYwMDAwMDAwMDAwMDAwMDBBMDE1RTQwMEM5MDAzQTUwRjIKKzoxMEEyMjAwMDhGOTYwQjg0MDJGMTAxMzA0ODhEOTAwMzI0MTBGOTAwQzEKKzoxMEEyMzAwMEIyNDAyQzkwMDNFNjQwRDFDMDM2NTAyRjkwMEI2ODA0RkEKKzoxMEEyNDAwMDcwMDAwMDAwMDAwMDAwMDAyODAxQTQwMEY5MDAzRTYwM0EKKzoxMEEyNTAwMDBGOTlDMzY0MDBEOTI4M0U0MDBEOTAwM0E0MDBGOTQwMzMKKzoxMEEyNjAwMDNFNDAwRjkwMDNFNDIwRjk0MDNFNDAwQzkwMDM4QTAwRUEKKzoxMEEyNzAwMDYwMDAwMDAwMDAwMDAwMDAyODEwQTAwMEY4MDEzNjAwNzcKKzoxMEEyODAwMDhGODAwM0UwMDJGODA0MzIwMDBEODA0MzIwMDJDQzAwRUUKKzoxMEEyOTAwMDNGMDAwRkMwMTM5MDAyREM0MDNGMTA0Q0MwMjMwQTA0NjMKKzoxMEEyQTAwMDIwMDAwMDAwMDAwMDAwMDAyODA1MjgwMEJBMDAyMjgwREQKKzoxMEEyQjAwMDBCRTgyMEY4MDA0RUMwMjNBMDA4QTAwMzY4MDA4QTAwMjUKKzoxMEEyQzAwMDJFODAxRkEwMDIyQTA2OEEwMDJFQTAwMjYwMDMwQTAwMjgKKzoxMEEyRDAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NkMwMEIzMDAyMEMwMTIKKzoxMEEyRTAwMDBCM0QwMkMwMDMyMzAwMjBFMDAxQjAwNjRDMDA4QjAwQjAKKzoxMEEyRjAwMDJFQzA0QjMwMDI4RTA4ODM4MDJDQzQwMDM0OEU0QTAwNUUKKzoxMEEzMDAwMDUwMDAwMDAwMDAwMDAwMDBBMDAxMUM4MEI1ODA2MUMwNkEKKzoxMEEzMTAwMDBCNDAwMkQ0MDA4NDA4MjNDMjA4NTAwMjVFQzA4NDAxQUUKKzoxMEEzMjAwMDJEMDA4QTA4MDIxMDI0ODQwODZEMDAwQTAzMTIyODAwRjgKKzoxMEEzMzAwMDQwMDAwMDAwMDAwMDAwMDBBODA4MUUwMEY1ODIyMTYwMTcKKzoxMEEzNDAwMDBGNzgwM0Q2MDRBRTgwMzFFMDBENTgyMzdFMDBDNjgwMUUKKzoxMEEzNTAwMDJERTAwQjc4MDM4RTAwRDc4MjNERjAwQzdBMDM2QTAyNjEKKzoxMEEzNjAwMDAwMDAwMDAwMDAwMDAwMDAwODFEQUMwMEYxMDBCQUQ4OTkKKzoxMEEzNzAwMDBGODAwM0U0MTJGODAwQkU4MDBFMTAwM0VDMDBGOTAwMTkKKzoxMEEzODAwMDNFMDA1RjgwMDNFMDA4RjgwNDNDMDAwRjgwMDNDMjA2MzMKKzoxMEEzOTAwMDYwMDAwMDAwMDAwMDAwMDA0MDA1RkUyMEZGODAzRkYwNEMKKzoxMEEzQTAwMDBGRjgwM0QyMDBFRjg0QjM2MTBDQjkwM0ZFMDBGRjgwMDUKKzoxMEEzQjAwMDMzRTAwQ0Y4MTMyMjExQ0Q5MDNGNjAwQ0U4MDMxMDAwM0QKKzoxMEEzQzAwMDcwMDAwMDAwMDAwMDAwMDBBODExOUMwMEY1MDAyREMwRTYKKzoxMEEzRDAwMDBCMDAwMkQ0MDQ4NDIwMjM0MDA4NUEwMkRDMDBCNDAwOUQKKzoxMEEzRTAwMDIxMDAyOEMyMDIxRTA0ODYwNDJEODgwOEQwMDIyQTA0RjcKKzoxMEEzRjAwMDYwMDAwMDAwMDAwMDAwMDAxMDAwOUMwMEI1MDAyRDQwMkYKKzoxMEE0MDAwMDBCNzAwMkY0MjBBNzA0MjFDMDBBNTAwMkRDMDBCRTAwMzkKKzoxMEE0MTAwMDIxQzAwODcwMTIwMDAwODUwMDJENDA4ODY4MEEwNDAwRTEKKzoxMEE0MjAwMDIwMDAwMDAwMDAwMDAwMDA2MDE0Q0MwMEExMDAyRUMwM0QKKzoxMEE0MzAwMDFCMDgwNkM0MjA4MDAwMjA5ODFBMTAwMkNDMDBCMTA4MjYKKzoxMEE0NDAwMDIwMDAwODAwMDIwQzAxODJDMDJDQUMyODkwMjIxODA0QzUKKzoxMEE0NTAwMDMwMDAwMDAwMDAwMDAwMDBBODE1QkMwMEIzMDAzRTQwMjIKKzoxMEE0NjAwMDBGQkEwM0U1MDJFOTA0MzI5MEFFQjAwM0ZDMTBGQjQwRTIKKzoxMEE0NzAwMEIyMDAwQzgwMEIyQzAyODIxODNGQTAwQ0QwMDMyRTA0REIKKzoxMEE0ODAwMDYwMDAwMDAwMDAwMDAwMDA5MDAwRUMwNEZCMDEzRTQwNzIKKzoxMEE0OTAwMDBGQjY0M0U0MDBGODAwM0U4MDAxOTAwM0VDMDBGODgxMjEKKzoxMEE0QTAwMDNFRDAwREI0NTNFMDAwRjk0MDNFNDAwRkEwMDNFMDAwNjEKKzoxMEE0QjAwMDMwMDAwMDAwMDAwMDAwMDA4MDEwREMwMkNEODAzMzYwMUUKKzoxMEE0QzAwMDJDREEwM0ZDMDBFQzAwMzM0MDBGRjIwMzdDMDRGRTAwQTYKKzoxMEE0RDAwMDMyMDAwQ0M4MDMzQzAwQ0UwMDMxODAwQ0QxMDMyNDA0QjAKKzoxMEE0RTAwMDMwMDAwMDAwMDAwMDAwMDA5MTA0NkMwMDA5MDAyQTY0QTQKKzoxMEE0RjAwMDA4OEUwMkMyMTBBMDEwM0UxMDBCOTgwMkVDMDBCOTAwQUEKKzoxMEE1MDAwMDAyRDgwOEJFMjIyMDAwODkwMDIyNTAwOEEwMDIyMDQwNjQKKzoxMEE1MTAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1MkMwMDBCMjAyMjQwRUQKKzoxMEE1MjAwMDA4QTAwMkU1NDJBQjA0MjIxODBCQjAwMjZDMDBCMzAwOTUKKzoxMEE1MzAwMDIwMDQwODAxMDIwMDA0QTg0MDIyMTAwODgwMDIyMDAwMjQKKzoxMEE1NDAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MEMwODgzMDAyODQwQzAKKzoxMEE1NTAwMDA4MDQwMkM0MDJBODAwMkMwMDBCMTIwMkNDMDBCMDAwQjgKKzoxMEE1NjAwMDIwQzA0MDMwMDIwQzAwOEIwMEE4QzAwODMwMDIwMjExNEQKKzoxMEE1NzAwMDAwMDAwMDAwMDAwMDAwMDA4MDBENkMwMEM5MDAzMzQwQTYKKzoxMEE1ODAwMDBDQjAwM0VDMDJFQjAwMzI0MDBGQjAwMzZDMDBGQTAwOTkKKzoxMEE1OTAwMDMyMDAwQzgwMDMyMDgwQzgwMDMwMDAwQzgwMDMyMDAzQjAKKzoxMEE1QTAwMDUwMDAwMDAwMDAwMDAwMDBBMDE5RkMwMEZEMDAzRjQwMkEKKzoxMEE1QjAwMDBGQzIxM0YwMDBGNDAwM0YwMDRGRDQwM0ZDMDBGNTAwN0QKKzoxMEE1QzAwMDNGQzA4RkYwMDNGQzQwRkYwMDM3QzAyRkYwMDNFODA2QzgKKzoxMEE1RDAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1RjAwMENDMDAzMzAwNTcKKzoxMEE1RTAwMDBFRDAwQjMzMDBDQzAwMzNFMDBGQzA4MzdDMDBDRjIwQjMKKzoxMEE1RjAwMDdCMDk4Q0Y4MDNGRTUwQ0YzODNGRTEwREMyMDNGMDAwMTkKKzoxMEE2MDAwMDcwMDAwMDAwMDAwMDAwMDA4MDEwRTIwMDk4MDgyMDgwMjgKKzoxMEE2MTAwMDA4OTgwMjIwMDA4OEQwMjJFMDBFQjQyMjdEMTk5RjY5OUMKKzoxMEE2MjAwMDJFOTAwODMwOTIyODgxREI2NDJFRTE4ODE2QTJFMDA0ODcKKzoxMEE2MzAwMDMwMDAwMDAwMDAwMDAwMDA4ODA1QzgwMDkwMjQyMDAxQzAKKzoxMEE2NDAwMDA4MTAxNjAwODI4MzAxMjhDMTBCMDI4MjBDRTBBMzEwQkYKKzoxMEE2NTAwMDI4MEUxQjkyMDI4NDg0OTMyMDJFQzAwODMxMDJFMjAxNEUKKzoxMEE2NjAwMDcwMDAwMDAwMDAwMDAwMDBDMDE1QTgxMDk4MDAyMjgwQjMKKzoxMEE2NzAwMDA4OTAwMjAwNjA4QTEwMkFDMDBBMjAwMjZDMThCQjAwRjEKKzoxMEE2ODAwMDZFNjAyQjkwMDI0NjIwOEIwMDJFQzIwOEIxODJGMDA0MkYKKzoxMEE2OTAwMDYwMDAwMDAwMDAwMDAwMDA0MDExRTQwMkNCMDBCMjQwNjYKKzoxMEE2QTAwMDJDOTIwMzI3MDA4ODAwQkFDMDBGODgwMzJDMDBFQjA0MEIKKzoxMEE2QjAwMDNBQTBDRjJDQTNFRDAwOUIwMDNDRjAyRDhDMzNEMDA0QUUKKzoxMEE2QzAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxQjQwNEVGMDAzRkMwOTMKKzoxMEE2RDAwMDBENTEwM0YwMDBGMTgxMzdDMDBFRjQwMzlDMTBDRjAwNDAKKzoxMEE2RTAwMDNEODAwQ0VDMDdCODA4RkYwMjFGQzQwRkM4MDNGODAwMzgKKzoxMEE2RjAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwOUUwMEMzMDAzODQwRDEKKzoxMEE3MDAwMDBDOTIwM0E0ODBGQjIwM0FDMDBEOTQwMzJDNDBGQjAwNjQKKzoxMEE3MTAwMDNFMDEwRjgwMDNFNTAwRUIwMDNBQzAwRDg0MEIxMDA0RUUKKzoxMEE3MjAwMDIwMDAwMDAwMDAwMDAwMDBDODA1MkMwODhCMDIyMkMwOTkKKzoxMEE3MzAwMDA4OTIwMzIxMDA4QjQ4MjJDMDBCQjcwMjNENDAzRjAxMjUKKzoxMEE3NDAwMDIyNzQwQjkwMDIyODA0QkYwMEIyQzAwQjg1MDIzMjAwQjUKKzoxMEE3NTAwMDQwMDAwMDAwMDAwMDAwMDBFMDA1NDAwMTgwMDAyODAwRUIKKzoxMEE3NjAwMDA4MkMxMjg4NDBCMDQwMDhDMDBCMTgwMjBFMDBCMzAwM0QKKzoxMEE3NzAwMDI4MjAxMTMwMDIwQzAwQjMwMDI0MDAwOTAwMDYzODAwMjQKKzoxMEE3ODAwMDUwMDAwMDAwMDAwMDAwMDAyMDAxMTIwMDg0ODAyMUEwODEKKzoxMEE3OTAwMDI4NjgxMjNBMDA4NDgwMjVFMDhCNTgwMjFFNDBCNzgyNTgKKzoxMEE3QTAwMDIxQTYwQjc4MDIxQTAwQjc4MDIxMjAwQjU4MDIwODAwNUUKKzoxMEE3QjAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MDgwMEM4MjEzODA5RDcKKzoxMEE3QzAwMDBDMjgwMzgwMDFGMTAwMzhDMDBEODUwMjBDMDBGQjAwNEQKKzoxMEE3RDAwMDM4ODUwRjEwMDM4QzAwRUIxMDNDQzgwRDMwMDMxMjAyQkIKKzoxMEE3RTAwMDAwMDAwMDAwMDAwMDAwMDA0MDFEOTgwMEZDMDEzRjgwQjgKKzoxMEE3RjAwMDBGNjgwM0QwNDBGQzAwM0JDMDBEQzAwM0ZDMjBGRjAwRUQKKzoxMEE4MDAwMDNCQzUwRkYwMEJCNDQwRkYxODNGMDAwRkYxMDNEMDA2MUIKKzoxMEE4MTAwMDYwMDAwMDAwMDAwMDAwMDBBODA1RTQwMEVCMDBCMDQxNkIKKzoxMEE4MjAwMDBDQTAwM0UwMDRDQTA0QjBFMDBFQjAwM0VDODBDQjIwMUYKKzoxMEE4MzAwMDMyODEwQ0EwMDNFRTAwREIwMDNFMDAwRUIwMDMyQTAwQzQKKzoxMEE4NDAwMDcwMDAwMDAwMDAwMDAwMDA0ODExOTQwNDg3MDAyMUMwM0YKKzoxMEE4NTAwMDQ4NjAwMkYwMDA4NzAwMjFDMDA4NzAwMkZDQTA4MzI4MzUKKzoxMEE4NjAwMEEzODAwODYwMDJEQzAwODcyMDJEQzAwQjcwMDIxMjA0NTgKKzoxMEE4NzAwMDYwMDAwMDAwMDAwMDAwMDBDMDAwOUMwMkEzODAyMTYwNzYKKzoxMEE4ODAwMDA4NjgwMkQyMDA4NzgwMjFFMDI5NzgwMkRFODA4NzkwNjQKKzoxMEE4OTAwMDIxQTAxOTQ4MDJGRTAwOTc4MDJERTAwQTM4ODIzMDAwN0UKKzoxMEE4QTAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0Q0MwMTgzODAyMEMwN0MKKzoxMEE4QjAwMDA4MjA0MkMwMzA4MzcwQTBDMDg5MzQwMkNDMDI4MzAwREIKKzoxMEE4QzAwMDYwQzAyOTAwMDJDRTAwODMwMDJDQzgwQkJDMDIxMjA0MTkKKzoxMEE4RDAwMDMwMDAwMDAwMDAwMDAwMDBFODE1QTkwMEVBRTIzMjkwMTQKKzoxMEE4RTAwMDJDRTAwM0ZCMDJDRUMwMzI4MDBGRTQwM0U4MDA4QTAwQjQKKzoxMEE4RjAwMDMzODgwRDY0QzNGQTAwREEwMDNEOTAwRUUwMEIzQTA0OTEKKzoxMEE5MDAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwQzAyNEY4MDgzRTEyNkIKKzoxMEE5MTAwMDBGQzAwM0UwNDhGMDAwM0UwMDBFODA5M0MwMDBGODAwMzYKKzoxMEE5MjAwMDdFMDEwRTgwQzJFMDQwRjgwMDdFMDA4Rjg0MDNEMjAwREEKKzoxMEE5MzAwMDMwMDAwMDAwMDAwMDAwMDAwODEwRTUwMEMxMDEzMjQ4QUUKKzoxMEE5NDAwMDBDOTgwM0U2NDBDOTAwMzI0MDBGOTAwMzY2MDBDOTAwMkUKKzoxMEE5NTAwMDE4NjEwQzkwMDM2NDIwRjkwNTNFNDAwQzkwODMwMjA0QkEKKzoxMEE5NjAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjYyMDg5MDAyMDUyQjIKKzoxMEE5NzAwMDI4MTBDMjI2MDJBOTAwMjI0MDBCOTAwQTI3MDBBOTAwMzUKKzoxMEE5ODAwMDIyNzAwODkwMDIyNDA4QjkwMDJFNDAwQTkwMEEyMDAwODQKKzoxMEE5OTAwMDEwMDAwMDAwMDAwMDAwMDAxODA1MjQwMjhEMDAyMzQwNzQKKzoxMEE5QTAwMDA4RDEwMjg0MjA4OTAwMjI2MDBCMTFGMjI0QjA4MTAwQkEKKzoxMEE5QjAwMDJBNDYwODkwNDI2NDA4QjkwMDJFNDAwODkyMDIwNjAwMTgKKzoxMEE5QzAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MTQ4MDg1MjAyMzQ4OTcKKzoxMEE5RDAwMDA4NTIwMjg0MDg4MTAwMjA0MDBCMTIwMjA0ODBBMTIwNEEKKzoxMEE5RTAwMDI4NDkyODkwMDIwNDAwMzEyMDJFNDAwODMyMDIwMjAxM0EKKzoxMEE5RjAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjAwMEM4NTBCMjE0NTQKKzoxMEFBMDAwMDBDQzAwM0ExNDBDODAwQjIwMDA3ODUwMzIxNDBDODUwMTQKKzoxMEFBMTAwMDNBMTUwQzg1MDM2MTQwRjg1MTNFMDAyQzg1MDMyRTAzNDYKKzoxMEFBMjAwMDUwMDAwMDAwMDAwMDAwMDA5ODFEQzQ0OEY5MTAzRTQ0OEEKKzoxMEFBMzAwMDRGOTEwMzc0MDBGNTQ0M0U0MDBGRDEwM0U0NDBGOTEwRjgKKzoxMEFBNDAwMDM3NDQwRkQwMDNENDAwRjkxMDNGQzAwRkQxMDNFNjA2RkUKKzoxMEFBNTAwMDcwMDAwMDAwMDAwMDAwMDAxODE1RjZBMEREOEMzMzc4QUYKKzoxMEFBNjAwMDBFREEwMzM1MDBDREEwMzM0MDBERjgwQjM2ODFFOTgwQjYKKzoxMEFBNzAwMDMzNzAwQzkxMDNFNDQwRjlDMDNFQzAwRkRDMDNDNjAwMDQKKzoxMEFBODAwMDcwMDAwMDAwMDAwMDAwMDAzODEwRTEwNEI4NDAyMDNDRDUKKzoxMEFBOTAwMDBDODUwMjAyODQ4QTQwMjIwMDA4OEY4MjIzMDBCOEU4RDUKKzoxMEFBQTAwMDIyMjAwODg4MDJFMjAwQjhEMDJFMDAwQjhDMDJDRTA0Q0YKKzoxMEFBQjAwMDMwMDAwMDAwMDAwMDAwMDAwODA1QzQwMDkxMDA2MDQ4NUMKKzoxMEFBQzAwMDRCMTAwMjA0OEE4MTQwNjA0MDQ5MTAwMjhEQTBBMTQxRDAKKzoxMEFBRDAwMDIwNTAwOTEyMjJDNDgwQjEyMDJDNDA0QjNFMDJDMjAxRkEKKzoxMEFBRTAwMDcwMDAwMDAwMDAwMDAwMDAxODE1QTQwOEI5MDRBMDQwODAKKzoxMEFBRjAwMDQ4QjAwMjI0MDA4OTAwODI0MDA4OTBBNkE0MDBCOTA0NEUKKzoxMEFCMDAwMDIyNTQyOTk1MDJFNTQwQjkwMDZFNDAwQjkyMDJDNjA0MUEKKzoxMEFCMTAwMDYwMDAwMDAwMDAwMDAwMDBBMDA1RTQwMDkxMDAzMjQwNDkKKzoxMEFCMjAwMDBGOTAwOTI0MDA4OTkwMzI0MDBEOTQwM0E0MDBFOTAyOUIKKzoxMEFCMzAwMDcyNjAwRDk0MDNFNDAxRjkwMTNFNjAwRjkwMDNFODA0OTQKKzoxMEFCNDAwMDcwMDAwMDAwMDAwMDAwMDAyODAxQTQ0MEY5MDAzRTQwMTEKKzoxMEFCNTAwMDRGOTAwM0U3MTBGOTgwM0U0MDBGMTAxMzY0MDBGMTAwOUUKKzoxMEFCNjAwMEJFNDAwRTkwMDNFNjA4RjkwMTNFNjQwRjkwMDNDQTAwNTAKKzoxMEFCNzAwMDYwMDAwMDAwMDAwMDAwMDAyODAwQTAwMEY4MDAzMjA4N0IKKzoxMEFCODAwMDBDMDEwQjIwNDBDODQwMzIwMDBFODQ4MzIwMDBGODA0RTIKKzoxMEFCOTAwMDNFMDQwRjgwMDMyMTAwRTgwMDNFMTAwRjg4MDNDQTA0MjIKKzoxMEFCQTAwMDIwMDAwMDAwMDAwMDAwMDAyODA1MzgwMDNFMDQyMzgwM0IKKzoxMEFCQjAwMDA4RUMxMjM5NDRBNjAwMjg4MTA4RTAwMDM4MDhCQTAwRTEKKzoxMEFCQzAwMDNGODAwQkEwMDJBODAwOEEwMjJFODAwQkUwMDJDQTAwODAKKzoxMEFCRDAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NDgwMDMxMDAyNEQwOUIKKzoxMEFCRTAwMDA4M0UxMkFFMDg4MUEwMkNDMDBBMzgwMDRDMDBCMzAwMDkKKzoxMEFCRjAwMDZFQzAwQTMwMDIwQzAwQTMwMDZDQzAwQjMwMDJDQTAwMDkKKzoxMEFDMDAwMDUwMDAwMDAwMDAwMDAwMDBBMDAxMTgwMEI1MTAyNUMwOTEKKzoxMEFDMTAwMDI4NjAxMjkwMTBBNTA4MkRDMjA4NjQyMjU4MThCNzAwQTkKKzoxMEFDMjAwMDJEODAwQjc5MDJCRUMwODcwMTZEQzAwQjYwMDJFODAwNjkKKzoxMEFDMzAwMDQwMDAwMDAwMDAwMDAwMDBBODA4MUUwMEY1ODQzNTIwMzgKKzoxMEFDNDAwMDhDMTgwMjkyMTBDNTgwM0Q2MDBFQzgwQjVBMDg3N0YzMkQKKzoxMEFDNTAwMDNEQTAwRkY4MDMxRUIwRTc4NTNERTAwRjc4MDNFQTAyNDAKKzoxMEFDNjAwMDAwMDAwMDAwMDAwMDAwMDAwODFEQUMwMEYxMDRCQTAxNjMKKzoxMEFDNzAwMDBGQTA0MzYwMDlFMTAwMzg0MDBFQTAwM0E4MTRGQjIwOTgKKzoxMEFDODAwMDNBODAwRkI0MUI0QzgwRkIyOTNFQzAwRkIwMjNDMjA2OTQKKzoxMEFDOTAwMDYwMDAwMDAwMDAwMDAwMDAwMDA1RkEwMENEODAzQkUwRUQKKzoxMEFDQTAwMDRFRjgwM0YyMDJENDgxM0JFMDhFOTgwNzNFNDRFRjkxQzgKKzoxMEFDQjAwMDNGRTA0RkZDMDdFRUQwQ0Y5ODMzRTQwRkY4MDNDMDAwMUQKKzoxMEFDQzAwMDcwMDAwMDAwMDAwMDAwMDBBODAxOTgwMDg1MTAyREM0NEQKKzoxMEFDRDAwMDBEMTEwMkYwMDA4NTIwMzFDNDBCN0IwMDM4NDBENzEwRTUKKzoxMEFDRTAwMDJEODAwQjcwNjJGRUUxODcxNDM5QzAwQjYwMDJFQTA0MEMKKzoxMEFDRjAwMDYwMDAwMDAwMDAwMDAwMDAwMDEwQkM0MEE1MDAyOTQwREEKKzoxMEFEMDAwMDBCNTA4MkRDNDA4NDA0MkRDMDBCMTAwNjU4NDRBNzEwNjEKKzoxMEFEMTAwMDJEODAwQjcxMDJEQzAwODcwNDIxQzIwQjUwMDJDMDEwOTEKKzoxMEFEMjAwMDIwMDAwMDAwMDAwMDAwMDAyMDE0Q0MwQUExMDEyQzQwRUIKKzoxMEFEMzAwMDg5MTgwMkMxMDBBMTA4MjBDMDBCMzQwNjQwMDA5MzA1MDkKKzoxMEFENDAwMDJDMTQwQjNDODZDRTEwODMwMTI4RjEwQjE0MDJDODA0OEUKKzoxMEFENTAwMDMwMDAwMDAwMDAwMDAwMDBBODE1QTAwMEVEMDAzQUMwN0YKKzoxMEFENjAwMDA3QkM2M0VEMDA4MTQwM0VDMDBFODgwMzY0MDBFRjAwMjUKKzoxMEFENzAwMDdFNTAwRkYwMDJGRDQyQ0YwMDcyQzAxRkI0MDNFQTA0MDAKKzoxMEFEODAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwRTgwMDk5MDAzRUUwNDQKKzoxMEFEOTAwMDRGQjQ4M0VEOTAwOTQwM0VDMDBGQTE4M0E4MDFFQjAxQTEKKzoxMEFEQTAwMDNFMDAwRkIxMTNFQzBDRkIwMDNBQzA1RjIwMjNFMDAwMjMKKzoxMEFEQjAwMDMwMDAwMDAwMDAwMDAwMDAwMTEwRjgwMEZEMDQzRkIwNkEKKzoxMEFEQzAwMDBENjAwMzNFMDBDRDAwMzNGMDBGRjIwMUYwMDBGRjAzRjEKKzoxMEFERDAwMDNGMDMwRkYwMDFGQzAwRkIwMjMzQzIwRkYwRTMwMDQ0MUQKKzoxMEFERTAwMDMwMDAwMDAwMDAwMDAwMDA4MTA0NkEwMEI5MDIyRUEwQkIKKzoxMEFERjAwMDRBQUMwMjBFODBGOUMwMzZFMTBCQTAwMjJBMDhCQjAwNjMKKzoxMEFFMDAwMDJFMjAwRUIwMDJFQzAwRUIwMDIyQzA4QkIwMDIyMDQwREUKKzoxMEFFMTAwMDEwMDAwMDAwMDAwMDAwMDA4MDAxMjMwMEE5MDAyOEMwRUQKKzoxMEFFMjAwMDA5QjIyMjZDNDA4OTg5MkFDMDBCMTQwNjI2MDBBQjAyQTUKKzoxMEFFMzAwMDZFRTAwOUIwMDY2QzAwQjMwMjIyQzAwQkIwMDIyMDAwMjUKKzoxMEFFNDAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDgwMEIxMDAyQ0MwMTEKKzoxMEFFNTAwMDBBMzAwMjJDMDBCQjAwNjRDMDBCMzIwQTA4MDAzMzAwMjkKKzoxMEFFNjAwMDZDODAwMjMwNDZDQzE4QTMwMDIwQzAwQjI4MDIwMjExQ0YKKzoxMEFFNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NjgwMEU5MDAzOEMxODMKKzoxMEFFODAwMDBEQjEwQjJDMDA4OTAwM0FDMDBCOTAwMzYwMDBGRjAyNEIKKzoxMEFFOTAwMDNFODAwRkYwMDNGQzgwRkYwMDMyQzA4RjgwMEIwMDAzNjgKKzoxMEFFQTAwMDUwMDAwMDAwMDAwMDAwMDBBMDExRDgwMEZEMDQzRkMwQzkKKzoxMEFFQjAwMDJGRjIwM0ZDMTFFRjAwM0ZDMDBGRjQ0MzcwMDBGRjAwQkUKKzoxMEFFQzAwMDNGMDA0NkYwMDNGRDAwRUYwMDNGQzAwRkMwMDNFODA2NUYKKzoxMEFFRDAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1RkUwMEZGODAzREUwQTMKKzoxMEFFRTAwMDBDRjkxM0RFMDA3RjgwQjNFMDBGRkMwM0JFNDBDRjgwN0YKKzoxMEFFRjAwMDMzRjAwRkY4MDM3QzA0Q0M4MDMzQTAwQ0YwMEIzMDAxNEUKKzoxMEFGMDAwMDcwMDAwMDAwMDAwMDAwMDA4MDEwRTAyMDg4MDAyRTIwNkIKKzoxMEFGMTAwMDA4ODIxMkUwODBBODgxMjIwMjBCODAwMjIwODBBODgwOTMKKzoxMEFGMjAwMDIyMDgwQjgwMDIyQzAyODgwNEFBMjAwOEIwMDIyMDA0MDgKKzoxMEFGMzAwMDIwMDAwMDAwMDAwMDAwMDA4ODA1RUMwMEEzMDgyQzgwMjEKKzoxMEFGNDAwMDA4MzIwMkM0MjBBMzAwMjg0MDBCOTIwMjg0MDBBOTAxMDkKKzoxMEFGNTAwMDI4QzgxQjEyODJDQzQwQTgwMDI0RTAwQTMwNDIyMjAxRkIKKzoxMEFGNjAwMDMwMDAwMDAwMDAwMDAwMDBDMDExQTg4MEE4MDIyRTQwQTAKKzoxMEFGNzAwMDY4ODAxMEM4MDBCODQwMkE5MDBCQTAwMDI4MDBBQTA4REEKKzoxMEFGODAwMDJBMDIwMzIwMDI4QzAwQTg4ODJFMjAwQUIwMDIzMDA0NzYKKzoxMEFGOTAwMDYwMDAwMDAwMDAwMDAwMDA0MDE1RTgwNEZBMDAzQzQwOUEKKzoxMEFGQTAwMDBDQTAwM0U4MDBFQjAwM0FDMDBGMjA1M0E4MDBFMzQwRDgKKzoxMEFGQjAwMDJBNDAwRkEwMDM2QzAwQTg4MDM0MjAxRUIwMDMxMDA0QTgKKzoxMEFGQzAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxQjQwMDlEOTEzRjgwOEYKKzoxMEFGRDAwMDBGREEyM0Y0MDBDQzIwMzcwMDA3RDAxMzc0MDBCQzAwMzQKKzoxMEFGRTAwMEI3ODAwQkQwNDM3QzAwREMwNDNCMDA2REYwMDNGODAwMUQKKzoxMEFGRjAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwQTgwMEZBODAzQTAwNDUKKzoxMEIwMDAwMDJDQTAwQjIwMDJDQjYyM0U1MDBFODgwMzIwMDBEOTEwRUEKKzoxMEIwMTAwMDNFNzA4QzgwMzNFQzgwRDg0MDNBMDIwREIwMDMxMDA0QUYKKzoxMEIwMjAwMDIwMDAwMDAwMDAwMDAwMDBDODAxMEMwMDM5ODAyMkMwOTAKKzoxMEIwMzAwMDBDOUQ4MjJDMTBEMDQwMkVBMDA4QjgwMzRFMDI4QTQwRUUKKzoxMEIwNDAwMDBFQTAwREIwMDMzRDAwRDA5MDM2MTAwQkYwMDJCMjAwMDAKKzoxMEIwNTAwMDQwMDAwMDAwMDAwMDAwMDBFMDA1NEMwMEIxMDA2MEMwQUUKKzoxMEIwNjAwMDhBMTgwMjhDMDg4MDQwMENBMDAyMzAwMkNFMDA4MjQ4NzAKKzoxMEIwNzAwMDJDODAyQjMwMDY4QzAwODEwMjIwOTAwOUIwMDIzODAwMTEKKzoxMEIwODAwMDUwMDAwMDAwMDAwMDAwMDAyMDAxMTIwMEI2OTBBMzMwMjQKKzoxMEIwOTAwMDA4RTgyMkIyMTQ4NzgwMkQ2MDA4NDkxMjEyNjE5NTkwNDkKKzoxMEIwQTAwMDJENjEwQTQ4MTYxRTgwOTU4MDI1MjAwQjc4MDI4ODAwQTUKKzoxMEIwQjAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MEMwMEYxMDAyODhDNEYKKzoxMEIwQzAwMDhFMTAwMzg0ODA4MDAwMkMwMjBBOUEwMkU0MDBEMDAwRDMKKzoxMEIwRDAwMDNFODAwQjkxMDM4RTgwQzIwODM4ODAwREIwMDMxMjAyQUYKKzoxMEIwRTAwMDAwMDAwMDAwMDAwMDAwMDA0MDFEQjAwMEY2MDAzRjQ0REEKKzoxMEIwRjAwMDBGMjExMzc4MDBGRjAwM0RDMDBGRTAwMzc4MDBFRjA0M0MKKzoxMEIxMDAwMDNGNDA4REU4MDNEQzA0RjYwMDNGMDAwRkYwODNEMDA2REIKKzoxMEIxMTAwMDYwMDAwMDAwMDAwMDAwMDBBODA1RTgwMEU4ODAzMjQwNjAKKzoxMEIxMjAwMDBGODgwQjI4MDA3ODAyM0U4MDBFMjgwMzI4MDBDQTgwNzIKKzoxMEIxMzAwMDMyMDAwRkEwMDNFQzAwQzk4MDMyODAwRkIwMDMyQTAwNTgKKzoxMEIxNDAwMDcwMDAwMDAwMDAwMDAwMDA0ODExOEMwMDhGMDBBMTgwRkEKKzoxMEIxNTAwMDBCNzA0MjE0MDBCNzAwMkQ0MTBCNTA0MjE0MDBBNTAwQTMKKzoxMEIxNjAwMEExQzAwQjUwMDJGQzgwQTUwMDIxMDAwQkYyMDIxMjA0Q0EKKzoxMEIxNzAwMDYwMDAwMDAwMDAwMDAwMDBDMDAwQkEwMEE0ODAyOTMwNzgKKzoxMEIxODAwMDRCNDgwNjUyMDhCNDgwMkQyMDBCNDg0MjMyMDA4NDgwODAKKzoxMEIxOTAwMDIxMjAwQjQ4MTJERTQwODY4MTI5QTAwQjc4MEEzMDAwNUUKKzoxMEIxQTAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0Q0MwMDgzMDUyMEUwQ0YKKzoxMEIxQjAwMDBCMzQwMjZDMTBCMzAwMkNDMDBCMzY0QTBEMERBMzAwRUIKKzoxMEIxQzAwMDIwQzAwQjM0ODJDQzAyQTIwMDI4MDAwQjMwMDIxMjA0RjMKKzoxMEIxRDAwMDMwMDAwMDAwMDAwMDAwMDBFODE1QTkyMEVBNDAzMEEwN0YKKzoxMEIxRTAwMDA3QTA0MzY5NDBGQTAwM0M4MDBGQTAwMzA4NDBDQTAwNTIKKzoxMEIxRjAwMDMwQTAwRkE0MDNFODAwQ0UwMDNCOTgwRkEwMDMzQTA0NTAKKzoxMEIyMDAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwRDIwMEZDMDgzRjAwODEKKzoxMEIyMTAwMDBCQzIwM0IwMDBGQzAwM0YwMDBGQzAwM0YwMDBGQzAwQjUKKzoxMEIyMjAwMDNGMDQwRkMwMDNFMDAwRjgwMEI2MDIwRjgwMDNEMjAwMTUKKzoxMEIyMzAwMDMwMDAwMDAwMDAwMDAwMDAwODEwRTQwMEQ5MDAzRTY4NjMKKzoxMEIyNDAwMDRDOTEwMUU0MDhDOTAwM0U0MDJDOTIwM0U0MDJDOUEwREQKKzoxMEIyNTAwMDNFNzAwRTkwMDNDNjQyQzkwMDNFNDAwRjEwMDMwMjA0MjgKKzoxMEIyNjAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjQwMDg5ODYwRTYwNDkKKzoxMEIyNzAwMDA4OTgwMkU0MDg4OTEwMkU2MDA4OTAwMkU0MDA4OTBDMDYKKzoxMEIyODAwMDJFNjAwODkwMDJFNjg4ODkwMDJFNDAwQjkwMDJBMDAwRjQKKzoxMEIyOTAwMDEwMDAwMDAwMDAwMDAwMDAxODA1MjQwMDlEMTAyRjQwNDEKKzoxMEIyQTAwMDI4RDAwNkY0MDJBRDAwMkY2MDA4RDAwMkY0MDA4RDAwMTMKKzoxMEIyQjAwMDJGNDAwQUQwMDJFNDAwODkwMDJFNjAwQjkwMDIwNjAwQTUKKzoxMEIyQzAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MzQwMDg1MDAyRDQwMEMKKzoxMEIyRDAwMDA4NTgwMkQ0MDBBNTAyMkQ0MDA4NTAwMEQ0MDA4NTAwNzMKKzoxMEIyRTAwMDJENDAwODU0MDJDNDgwODEwMDJDNjAwQjE0MDI4MjAxOUUKKzoxMEIyRjAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjE0MEQ4NTIzRTAwODAKKzoxMEIzMDAwMDBDMDUwM0UxNDBFODA0M0UxNDBDODUwM0UxNDBDODAwNEQKKzoxMEIzMTAwMDNFMTQwRUMwMDNFMDAwQzAwMjNFMDA0RjgwMjMyRTAzMDcKKzoxMEIzMjAwMDUwMDAwMDAwMDAwMDAwMDA5ODFERjQwMEY5MDEzRTQwQUMKKzoxMEIzMzAwMDRGOTAxM0U0MDBEOTAwMUU0MDBGOTAwM0M0MTBGMTAwOTkKKzoxMEIzNDAwMDFFNDAwRjkwMDNFNEUwRkQyODNGNDAwRjk0MDNFNjA2MDMKKzoxMEIzNTAwMDcwMDAwMDAwMDAwMDAwMDAxODA1QTQwMEZEMDAzRjQwNDAKKzoxMEIzNjAwMDRENTAwMkU0MDA5NTA0MzM0MDI4RDAwM0Y0MDBGRDAwNjIKKzoxMEIzNzAwMDMzNDAwRjkxMDMzNDAwQ0Q0MDMzNDAwRjk4ODEwNjAwRDUKKzoxMEIzODAwMDcwMDAwMDAwMDAwMDAwMDAzODEwRTAxMEI4MDAyRTAwMkYKKzoxMEIzOTAwMDBCODAwMkUwMTBCODAwMjIwMDA4ODAwMkUwMDBCODAwMzQKKzoxMEIzQTAwMDIyMDAwQjg4MDNDMjgwODg4MDIyMDAwQjhDMDIwRTA0Q0UKKzoxMEIzQjAwMDMwMDAwMDAwMDAwMDAwMDAwODA0QzQwMEIxMDAyQ0MwRjAKKzoxMEIzQzAwMDBCMTAwMkM0MDBCQjAwMjI0MDA4MTAwMkM0MDFCOTAwRTcKKzoxMEIzRDAwMDIwNDAxQjkwMDIwNDIyODkwMDIwNjAwQjEyODIwMjAxOEYKKzoxMEIzRTAwMDcwMDAwMDAwMDAwMDAwMDAxODE1QTQ0NEI5MDAyRUMwMzEKKzoxMEIzRjAwMDRCOTAwMkU0MTBCOTAyMDI0MDA4OTE0MkU0MDBCOTgwODcKKzoxMEI0MDAwMDIyNDAwQjkyMDJDNDAwOTk0MDIyNDA0QjkwMTIwNjA0NDUKKzoxMEI0MTAwMDYwMDAwMDAwMDAwMDAwMDBBMDE1RTYwMEI5MDEzRTU4RTEKKzoxMEI0MjAwMDBEOTAwM0U2MDBEMTAwMzI2MDBDOTgwMkU2NDBGOTAwNkUKKzoxMEI0MzAwMEIyNDAwRjE4MDMyNDAwQzk4MDMyNTAwRjkwMjMyODA0MTMKKzoxMEI0NDAwMDcwMDAwMDAwMDAwMDAwMDAyODAxQTQwMEY5MDAzRTQyNDYKKzoxMEI0NTAwMDBCOTAwM0U3MDhGOTAwQkU0ODBGOTAwM0U0MDBGOTAwRTEKKzoxMEI0NjAwMDNFNDAwRjk4MDNBNDAwRTlBMEJFNDAwRjEwMEI0QTAwMTUKKzoxMEI0NzAwMDYwMDAwMDAwMDAwMDAwMDAyODEwQTAwMEQ4MDEzRTAwN0QKKzoxMEI0ODAwMDBGODA4QjIwMDBGODIwM0UwMTBGODEwM0UwMDBGODA4QjgKKzoxMEI0OTAwMDNBMDAwQzgwMDNFMDAwRDg0MDMyMDAwRjgwMTMwQTA0MDkKKzoxMEI0QTAwMDIwMDAwMDAwMDAwMDAwMDAyODA1MjgwMDhBODAyRjkxNUQKKzoxMEI0QjAwMDBCRUUwMjI4MDFCRTAwMjA4MDBCQTAwMkVBODBCNjQ4RjUKKzoxMEI0QzAwMDIyODAwREEwMDJGQTAyODY0MUEzQTYwQkEwMDMwQTAwNjcKKzoxMEI0RDAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NEMwMDkzODAyQ0MwQjQKKzoxMEI0RTAwMDBCMzAwMjBDMTBCMzAwMjhDMDBCMzgwMkNDMDBCMzAwQTQKKzoxMEI0RjAwMDI4QzAwOTMwMDJDNjAxODM2MDIwNzAwQjMwMEE0QTAwNjAKKzoxMEI1MDAwMDUwMDAwMDAwMDAwMDAwMDBBMDAxMkU4ODg1MDgyRDgwNUEKKzoxMEI1MTAwMDRCRjgwNjFDODBCNzAwMjFDMDBCNTAwMkQ0MDBCNjAwQzcKKzoxMEI1MjAwMDI5NjAwOTcwMDJEMEEwOEQwMDIxNDAwQjMyMDIyODAwNTIKKzoxMEI1MzAwMDQwMDAwMDAwMDAwMDAwMDBBODA4MUUwMEQ1ODAzREUwOEIKKzoxMEI1NDAwMDhGNzgwMzFFODRCNzgyM0Q2MDBGNTkwM0RFMDBGNzgwQjkKKzoxMEI1NTAwMDI5NjAxNTc4MDNERTAwQzc4MDMxNjAwRjdDMDM2QTAyMjIKKzoxMEI1NjAwMDAwMDAwMDAwMDAwMDAwMDAwODFEQUM0MEU5MDAzRTgwMjMKKzoxMEI1NzAwMDBGQTAwM0VEMzBGQjAwMzZDMTBGOTYwM0U0MDBCMzAwQ0IKKzoxMEI1ODAwMDM0NDAwRkI3ODNFQzQwMjEwMDNFNDAwRkIwMDNDMjA2QTkKKzoxMEI1OTAwMDYwMDAwMDAwMDAwMDAwMDAwMDA1RkUwMEZGODEzM0UwQjUKKzoxMEI1QTAwMDBGRjkwM0RFMjBDRjgxM0ZFMDA3NzgwMzNFMDBGRjgwRTQKKzoxMEI1QjAwMDNGRTAwNEY4MTNGRTAyREU4MDMzNjAwRkY4MDMwMDAwNjIKKzoxMEI1QzAwMDcwMDAwMDAwMDAwMDAwMDBBODExOUMwMEI3MDAyMUM0MUEKKzoxMEI1RDAwMDBCNUEwMkRDNDg4NjUwMkRDMDBCMzEwMjk0NjBCNDE4MUYKKzoxMEI1RTAwMDJENDA0ODcwMDJFODAwQTUxMDIxNDAwQjcxMDIyQTA0OEEKKzoxMEI1RjAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwOUMwMEJEMDAyMTQyMkYKKzoxMEI2MDAwMDBCNzAwMkZDMDI4NTAwMjU0MDBCNTAwMjlDMDBCNzAwMjUKKzoxMEI2MTAwMDJGNDAyODcxMDJEQzAwQTYwMDIxQzAwQjcwMDIwMDAwNDAKKzoxMEI2MjAwMDIwMDAwMDAwMDAwMDAwMDAyMDE0NkQ4MEIxMjBBMDUwMTgKKzoxMEI2MzAwMDBCQjIwNkNFMDBBMDM0MkVGMDBCMTgwMjg1MjBCMzRBQzAKKzoxMEI2NDAwMDJDNTQ4ODM4MDJDQzEwQTEwMDIwQjAwQjMwMDIwODA0MjIKKzoxMEI2NTAwMDMwMDAwMDAwMDAwMDAwMDBBODE1QkU4MEYzMDgxMDU0NjAKKzoxMEI2NjAwMDBCODgxM0ZGMDBDMDgwM0U2NDBGQjQ4MzA3MDBGOUMwNEQKKzoxMEI2NzAwMDNFRjAwQ0ZDMTNGNDAwRUEwMDMyNzAwRkYwMEIyQTA0QzkKKzoxMEI2ODAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwRUMwMEY5MDAzRTEwQTcKKzoxMEI2OTAwMDA3OTEwM0VDQzA1ODAwM0U0NDBGOTIwM0U0MDBGOTAwMDgKKzoxMEI2QTAwMDNFQzA4RkIzMDNFMDAwQkIwMEJFNDQwRkIwMDNFMDAwMTgKKzoxMEI2QjAwMDMwMDAwMDAwMDAwMDAwMDAwMTEwRkMwMkNEMDQzM0UwNjcKKzoxMEI2QzAwMDBDQzAwMzNDMDhGRTAwMzM2MDJDRDAwMkI0ODBDRjAwRDUKKzoxMEI2RDAwMDNGNTIwN0YwMTNGQzAwQ0UxMDMzNDIwQ0IwMDNDMDQ0QkQKKzoxMEI2RTAwMDMwMDAwMDAwMDAwMDAwMDA4MTA0NkMwMDg5MDAyQUIwRDYKKzoxMEI2RjAwMDA4ODgwMjJDMDBCQTAwMzY0NDA4OTAwMDI2MDBEQkMwRkYKKzoxMEI3MDAwMDJFNDAwQkIwMDJFQzAwODNDMDI4NDAwQUIwMDJFMDQwOUIKKzoxMEI3MTAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1MkMwMDhCMDAyMjA4QjMKKzoxMEI3MjAwMDFBQTIwMjJDMTBCOTIwMjI0MDA4MzAwMjJDMDRBQTU0N0MKKzoxMEI3MzAwMDJFQzAwQkIwMTJDQzAwOEIwODIyNDAwOEIwMDJFMDAwRjMKKzoxMEI3NDAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MEMwMDgzMDQyQTAwRjAKKzoxMEI3NTAwMDBBMDg4MjBDMDBCODAwNjQ0MDA4MzAwMkE0MDBCMDAwNUYKKzoxMEI3NjAwMDJDQzA4QjMwMTBDODAyOEIwMDJBNDAwQTMwMDJDMjAxNjQKKzoxMEI3NzAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENkMwMEM5MDAzMjAwNTUKKzoxMEI3ODAwMDFBODIwMzNDMDBGOTAwMzI0MDBDRDEwM0FDMDBFQjAwRkMKKzoxMEI3OTAwMDNFNDAwRkYwMDNFRDAwQzMwMDMyQzA4Q0IwMDNDMDAzODUKKzoxMEI3QTAwMDUwMDAwMDAwMDAwMDAwMDBBMDE5RkMwMEY1MDAzRjAwNjAKKzoxMEI3QjAwMDBEODA0QkZDMDA3QzAwM0Y0MDBGRDIwQjc0MDBERjAwN0IKKzoxMEI3QzAwMDFENDA4RkYwMDNGQ0EwRkYwMDNGODAwRkYwMDNFODA2NTAKKzoxMEI3RDAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1RkMwMERGODQzQkUwQkEKKzoxMEI3RTAwMDBGRjgwQjNFMDBFQzgwMzNFMTBDMzAwMzNDODBDRjQ4NzcKKzoxMEI3RjAwMDM3QzAwRTQwMDNFMEMwQzc5MUIzMDQwQ0YwMDMzMDAwMjMKKzoxMEI4MDAwMDcwMDAwMDAwMDAwMDAwMDA4MDEwRUYwNDhCODAyMjQxRDcKKzoxMEI4MTAwMDBCQjA4MjJFMDA4ODgwQTJFMDBBQTI5MkFEODA4NzQyRkYKKzoxMEI4MjAwMDIzRDg4QUFEMDJFMEMwOEIwMDIwNEM0OEE0MDIyMDA0M0IKKzoxMEI4MzAwMDMwMDAwMDAwMDAwMDAwMDA4ODA1Q0M1OEJCMDAyODgwQzQKKzoxMEI4NDAwMDBCQjI0MjI0MDBBODAwMkFDMDBBMTAwMjA0NjBBMzIwMDAKKzoxMEI4NTAwMDI0RDIwODAwNDI4QzgzOUIwMTIwNDkwODMzQzIyMjAxNzQKKzoxMEI4NjAwMDcwMDAwMDAwMDAwMDAwMDBDMDE1QUMwMEFCODgyMkEwRjIKKzoxMEI4NzAwMDBCQjgwMjI2MENBODAwMkFDMDBBOTIwMkE0MDBBQjA2NEMKKzoxMEI4ODAwMDIyQzAwQUIwMDJFODAwOUIwMDAyNDAwOEEwNDIzMDA0MzcKKzoxMEI4OTAwMDYwMDAwMDAwMDAwMDAwMDA0MDE1RUMwMEQzODAzQUUwOUEKKzoxMEI4QTAwMDBGMTgwMTA2MDBFODMwMzg2NjBFQjgwMzJBNDBFQjAwOTYKKzoxMEI4QjAwMDM2QzEwRTk2MDNFMjgwREEwODMyODAyQ0JCMDMxMDA0RjYKKzoxMEI4QzAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxOUMwMERGMDAzRkMwQUQKKzoxMEI4RDAwMDBGRDAwM0Y0MDBEQzgwMzc2MDBGRTgwM0ZBMDBERjAxQ0IKKzoxMEI4RTAwMDNGQzAwRkMwNDNFNjRDRUZBMDNGNDQwRkEwMDNGODAwNTkKKzoxMEI4RjAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwQUM0MERCMDAzNjgwMUIKKzoxMEI5MDAwMDBDOTgwMzI2MDBGODAwM0VDMDBFMTgwMzg0MDJFMzAxRTEKKzoxMEI5MTAwMDM4QzEwRUI0MDNBQzgwQ0ExODNBRDAyQzMwMDMxMDA0REUKKzoxMEI5MjAwMDIwMDAwMDAwMDAwMDAwMDBDODA1M0Y0MEI5ODgyRTgwQkMKKzoxMEI5MzAwMDA4QkMwMkEzMDBCMDAwMEVDMDA4QjAwNjIwMDA4RjA0QUYKKzoxMEI5NDAwMDIzQzEwOEI5MTIyRjAwODM4MDM2NDAwOEFEMDIzMjAwQUYKKzoxMEI5NTAwMDQwMDAwMDAwMDAwMDAwMDBFMDA1NEMwMEIyMDAyQ0MwRDgKKzoxMEI5NjAwMDA5MzIwMjg0MDAzMzAwMkNCMjBBMzYxMjhDMDg5MzA1ODcKKzoxMEI5NzAwMDIwQzAwQjE4MDJFRDAwOTE4MDZBMDAwODEwMDIzODAwMDgKKzoxMEI5ODAwMDUwMDAwMDAwMDAwMDAwMDAyMDAxMUUwMEI3ODAyREUwRTQKKzoxMEI5OTAwMDA5NzgwMjk3NDBCNDgwMkZBMDA4RTgwMjBFNDA5NzgyRjEKKzoxMEI5QTAwMDIxRTA5ODY4ODIxQTE4OUQ5MDJEQTExODU4MDIwODAwNkQKKzoxMEI5QjAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MENDMEYzMDAzRUMwM0EKKzoxMEI5QzAwMDBEQjA0Mzg0NDBGMDAwM0M4MjBFMzgxMjhDNDRGMzMwQkEKKzoxMEI5RDAwMEJBQzExRTEwNDc4RTIyRDExMDM4MTgwQzMwODMxMjAyQzMKKzoxMEI5RTAwMDAwMDAwMDAwMDAwMDAwMDA0MDFEQkM0MEZGMDAzRkMwMDAKKzoxMEI5RjAwMDBFRTAwM0Y0NDBGQzAwM0RDNDBGRDAwMUY0NDFFRjE4MDkKKzoxMEJBMDAwMDNGQzQxRkYwMDNGODQ4RUYxNDMzODAwRkMxMDNEMDA2ODIKKzoxMEJBMTAwMDYwMDAwMDAwMDAwMDAwMDBBODA1RkM0MEZCMDAzRUMwRTQKKzoxMEJBMjAwMDBGOTgwMzI0MDBDQjAwM0U0MDBGQjAwM0E4MDBEQjI4OTIKKzoxMEJBMzAwMDNFQzQxRjkwMjNFQzAwQ0EwMDMyRTAwQzkwMDNFQTAwRTEKKzoxMEJBNDAwMDcwMDAwMDAwMDAwMDAwMDA0ODExOUM4MEI3MDAyREMwNkQKKzoxMEJBNTAwMDRCNTA1MjE0MDBENDAxMkQ4MDBCNjAwMkQ4MDBBNzIwNTcKKzoxMEJBNjAwMDJEQzUwQjQwMTZEQzAwODQwMDIzQzAwODQwMDJEMjA0MjAKKzoxMEJBNzAwMDYwMDAwMDAwMDAwMDAwMDBDMDAwOUU4MEI3ODAyREUwNDQKKzoxMEJBODAwMDBCNzgwQTk2MDA5NDgwMkQ2MDFCNzgwNkQyMDBBNzgwNjAKKzoxMEJBOTAwMDJERTAwQjc4MjJERTAwODc4MjIxRTAwODU4MDJGMDAwQkEKKzoxMEJBQTAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0Q0MwMEIzRTQyQ0MwQ0IKKzoxMEJBQjAwMDFCMjEwMjgxMDA5MDAwMkNDODBCMzkwMkNFMDBBMzAwOEMKKzoxMEJBQzAwMDJDQzAwQjMwMDJDRDAwOEIyMDIwRjAwOEIyMDJEMjA0MzMKKzoxMEJBRDAwMDMwMDAwMDAwMDAwMDAwMDBFODE1QTgwMEZFQTAzRjgyMzIKKzoxMEJBRTAwMDBGRTgwMzk4MzBENjAwM0ZBMDBGRTAwM0JBQzBGQTAwNzkKKzoxMEJBRjAwMDNFODAwRkVDMzNGODAyQ0UwMEIzQjgyQ0VDODNGQTA0OEUKKzoxMEJCMDAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwRTAxOEY4NDAzRTAwMUYKKzoxMEJCMTAwMDBGODAwMjYwODRGODA1MkUwNDhGODA0MUUwMDA3ODAyRDcKKzoxMEJCMjAwMDNFMDAwRjgxODNFMDIwRjgwMEJFMDIwRjgwMDNEMjAwQTgKKzoxMEJCMzAwMDMwMDAwMDAwMDAwMDAwMDAwODEwRTYxOEY5MjAzRTQwMjgKKzoxMEJCNDAwMDBGOUMwM0U0NDBDOTAwMzI2MTBDOTAxM0M0MDhDOTAxODIKKzoxMEJCNTAwMDNFNDEwRjE4MDMyNDAwQzlBMDMyNDAwRjk4NDMwMjA0NEQKKzoxMEJCNjAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjUwMEIxQzAyMjQwRTkKKzoxMEJCNzAwMDBCOUMwMkU3MTA4OTAwMjg0NDA4OTQyMkU0MTA4OTAwRjUKKzoxMEJCODAwMDJFNDAwQjlGMjIyNjYwODk4MDIyNDAwQjkxMEEyMDAwQzQKKzoxMEJCOTAwMDEwMDAwMDAwMDAwMDAwMDAxODA1MjQ4MEI5MDAyRUMwMkQKKzoxMEJCQTAwMDRCQjQwMkU0MjA4OTIwMjI0MDA4OTQwMkVDMDA4OTAwNzIKKzoxMEJCQjAwMDJFNDEwQjkwMDIwNDAwODk0MDIyNDAwQjkwMDIwNjAwQTcKKzoxMEJCQzAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDQwMEIxMDQyMDQwMTAKKzoxMEJCRDAwMDhCMTAwMkU0MDU4MTAwMjg0MDI4MTIxMkM0ODI4MTIwQzMKKzoxMEJCRTAwMDJDNDgwQjEyMEEwNDgyODEwMDIwNDgwQjEyMDIwMjAxMjkKKzoxMEJCRjAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjhBMEZBMDIzRTE0MkEKKzoxMEJDMDAwMDBGODUwM0UwMDBDODAwMzIwMDBDODUwM0MxNDBDODUzMTMKKzoxMEJDMTAwMDNFMTQwRjgwMDMwMTQ4QzA1MEIyMTQwRjg1MDMyRTAzNTkKKzoxMEJDMjAwMDUwMDAwMDAwMDAwMDAwMDA5ODFERTQwMEZEMDBCRjQwMkYKKzoxMEJDMzAwMDBGNTAxM0Q0MDJGRDAwMkZDMDBGRDEwM0Y0NDBGOTEwQjAKKzoxMEJDNDAwMDNFNDQwRkQxMDNGNDQwRkYwMEJGNDQwRkQxMDNFNjA2OEEKKzoxMEJDNTAwMDcwMDAwMDAwMDAwMDAwMDAxODA1RTZBMEZEMDEzRTQ0NTEKKzoxMEJDNjAwMDBGRDEwM0Q0MDBDNTAwMzM0MTBGREIwMzI3MjBEOUUwRjcKKzoxMEJDNzAwMEIyNzAwRERBODNGNjQwQ0YxMDMyNzgyRERBMDMwNjAwNjkKKzoxMEJDODAwMDcwMDAwMDAwMDAwMDAwMDAzODEwRTEwMEI4MDAyRTI4MEQKKzoxMEJDOTAwMDBCODg0MkUwMTBEODAwMjIwMDBCOEMwQTIzMDA4OEMwRDkKKzoxMEJDQTAwMDIyMjgwODg0MDJDMjgwODBBMDIyMzA0OEFBODIwRTA0ODIKKzoxMEJDQjAwMDMwMDAwMDAwMDAwMDAwMDAwODA1QzQwMEIxMDAyQzQwNjYKKzoxMEJDQzAwMDhCMTIwMkM0MDA5OTAyMjg0MDhCMTYwMjg0ODE5MTMwQTUKKzoxMEJDRDAwMDIwNTgwOTEwMDJDNTAwODEwMDY0NEQwODM0MDIwMjAxOTkKKzoxMEJDRTAwMDcwMDAwMDAwMDAwMDAwMDAxODE1QUMwQ0I5MDQyRTQ4Q0MKKzoxMEJDRjAwMDBCOTQwNkU0MDA5OTQwQUE0MDBCOTIyMkE0MDA4OTAwMEMKKzoxMEJEMDAwMDYwNDAwODk0MDJFNDAwODk4MEE2NTAwODkyMDIwNjA0NkMKKzoxMEJEMTAwMDYwMDAwMDAwMDAwMDAwMDBBMDE1RTQwMEY5OTgzRTQ4MTMKKzoxMEJEMjAwMDBGOTgwM0U1MjBEOTAwM0E2NDBGOTQ4M0E0QzBEOTAyODgKKzoxMEJEMzAwMDcyNDA0RDkwNDJFNDgyQzk0MDM2NDAwQzkwMEIyODA0N0EKKzoxMEJENDAwMDcwMDAwMDAwMDAwMDAwMDAyODAxQUMyOEY5ODgzRTQwODcKKzoxMEJENTAwMDBGOTkxM0U3MDBGOUMwMzY2MDBGOTAwMzY2MDBGMTAwRjkKKzoxMEJENjAwMDdFNDAwRjk5MDdFNDYwRjkwMDM4NDAwRjk4MDNDQTAwM0QKKzoxMEJENzAwMDYwMDAwMDAwMDAwMDAwMDAyODEwQTAwMEY4MTAzMjAwNTEKKzoxMEJEODAwMDBGODIwQjIxMDBFODAwMzYwNDBDODYwM0UxMDBEODAwODYKKzoxMEJEOTAwMDMyMDAwRjgwMDM2MTAwQzgwMDMyMDAwRjAwMDMwQTA0NjQKKzoxMEJEQTAwMDIwMDAwMDAwMDAwMDAwMDAyODA1MjgyMEJFMDAyMjgwOUUKKzoxMEJEQjAwMDI4RUMwMjE5MDQ4MjAwMDM4MDBERTQ4MkU4MDA4QTAxNjUKKzoxMEJEQzAwMEFBODA4QkVEODIzQjgwOEU5MDM2ODAwQkUwMDM0QTAwODgKKzoxMEJERDAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NDIwMEIzODAyMEMwQTEKKzoxMEJERTAwMDZCMzQxNjQwQzA4MzEwMjQ3Mjg4QjAwMkVDMDA4MzAwQ0MKKzoxMEJERjAwMDI0QzAwQjA0MDI2RjA5OUIwMDI0QzAwQjMwMDIwQTAwMTAKKzoxMEJFMDAwMDUwMDAwMDAwMDAwMDAwMDBBMDAxMTQwMEI3ODAyM0U0RUYKKzoxMEJFMTAwMDI4Nzg4Mjc0MTQ4RjAwNjFFMDA5NTAxMkRDMDQ4NzIyQjQKKzoxMEJFMjAwMDI1QzgxQjc4MDIxNDAwOTQ0MEE1QzAwQjYwMjI2ODAwNEUKKzoxMEJFMzAwMDQwMDAwMDAwMDAwMDAwMDBBODA4MTIyMEI3ODBCMUUwMTgKKzoxMEJFNDAwMDhGRjgwMzEyMDJFNzgwMzVFMDBDNjgwNkNGQzJDRkIwNEUKKzoxMEJFNTAwMDI1RjQwRjU4MDM1QTAyRDU4MDc1RkE0RkY4MDMyQTAyQzkKKzoxMEJFNjAwMDAwMDAwMDAwMDAwMDAwMDAwODFEQTU5MEYzMDAzREMwODgKKzoxMEJFNzAwMDRGQjAxM0E4MDRGQjAwM0NDMDBGODA0M0VDODBFQjYwODQKKzoxMEJFODAwMDNBQzkwRjMwMDNFQzAwRTkwMDNFQzgwRkEwMDNDMjA2MTgKKzoxMEJFOTAwMDYwMDAwMDAwMDAwMDAwMDAwMDA1RjYwMEVFODAzRkUwQkEKKzoxMEJFQTAwMDBEODkwM0QyNDBFNTgxMzlFMDNDRjkwN0ZFMDBDRjg4RDcKKzoxMEJFQjAwMDNGRTAwRkU4MDNGMjA4Q0U4MDMzRTAwQ0Y4MDMwMDAwMDcKKzoxMEJFQzAwMDcwMDAwMDAwMDAwMDAwMDBBODExOTQ0NEM2MDAyRkMwQkMKKzoxMEJFRDAwMDA4NTgwMkQwQzQ4NTI0MjE5MDA4NTQxMkRDODIwNzAwM0YKKzoxMEJFRTAwMDJEQzAwQjcwMDZENDAwOEU0ODIxQzAwQTYwMDIyQTA0QkYKKzoxMEJFRjAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwOUMwMEE3NDAyREMwNzIKKzoxMEJGMDAwMDA4NDIwMkQwMDBBRDAwMjlDMDA4NzAyMkRDMjg4NzAwNUEKKzoxMEJGMTAwMDJEQzAwQjQwMDI5ODAwOTcwMEEwQzQwODcwMDIwMDAwREEKKzoxMEJGMjAwMDIwMDAwMDAwMDAwMDAwMDAyMDE0Q0MwODkzMDAyQ0UwNEEKKzoxMEJGMzAwMDA4M0MyMkMxMDA4MTAwMjA4MDg4MTUwMkNFMzA4MzAwOTkKKzoxMEJGNDAwMDJDQzAwQjNDMDJDQzA0OTNDMDIwRjQ0QTBDODIwODA0QTEKKzoxMEJGNTAwMDMwMDAwMDAwMDAwMDAwMDBBODE1QTAwMEUzQzAxRkUwQjIKKzoxMEJGNjAwMDZDMTA4M0UwMDRFQjAwM0E1MjRDQjQwM0ZFMDJDRjAwQTUKKzoxMEJGNzAwMDNGQzAwRjg0NDNFMTAyRDhDMjMzQzAwQzg0MEIyQTA0QjMKKzoxMEJGODAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwRTkwMEVCMTAzRUM0RUIKKzoxMEJGOTAwMDBFOTQwM0U0MDBGQjE4M0VDMjBGQjYwM0VDMDBGQjAxNTUKKzoxMEJGQTAwMDNFQzAwRjM1MDNDNDI4RUE0MjNFQzAwRjgxMDNFMDAwQzMKKzoxMEJGQjAwMDMwMDAwMDAwMDAwMDAwMDAwMTEwRkM0MEZGMDAzM0MwMTIKKzoxMEJGQzAwMDBDQzBBMzMwMjhDREEwMzNDMDBDRTgwMzBDMDBFRjA1NTMKKzoxMEJGRDAwMDNEQzAwQ0NBODMzQzAwQ0QwODNGQzIwQ0EwMDNDMDQ0NDYKKzoxMEJGRTAwMDMwMDAwMDAwMDAwMDAwMDA4MTA0NjcwMEJCODAyMEMwMUEKKzoxMEJGRjAwMDA4QUEwMjA4MDBBMTAxMzREMTA4QTQxMjJDMDA4QjAwNjkKKzoxMEMwMDAwMDZFQzA4OEIyMDIyQzA4ODk4MDJFQzAwQUE4MDNBMDQwMDYKKzoxMEMwMTAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1MkMwMEJBODBBMkMwQzMKKzoxMEMwMjAwMDA4QTgwQUEwMDA4QjAwQTJDMDQ4MTEwMkFDMDQ4QjAwMzMKKzoxMEMwMzAwMDJFQzAwMDgwMTIyQTA4OEIxNDJDQzAwODg4MDJFMDAwNTEKKzoxMEMwNDAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MEMwMEIyMDAyMkMwMDQKKzoxMEMwNTAwMDA4QjIxMjgwMDBBQjAxMjRDMDA4MDAwMjBDMDQ4MzAwNjcKKzoxMEMwNjAwMDJDQzAwODMwMDIwNzAwODIwMDI0QzAwODA4MDI4MjAxQTgKKzoxMEMwNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENkMwMEZCMDAzMkMwNUEKKzoxMEMwODAwMDBDQTIwM0EwMDBDOTAwMzJDMDI0OTQwMzNDMDJDRjAwREMKKzoxMEMwOTAwMDJGQzAwNDgwMEIwOTAyQ0IwMTNGQzAyQ0EwMDNDMDAzQkEKKzoxMEMwQTAwMDUwMDAwMDAwMDAwMDAwMDBBMDE5REMwMEZEMDIzRkMwQUQKKzoxMEMwQjAwMDRGRTQxMzcwMDBGRDAwM0ZDMDBGQzI4M0ZDMDBGRjAwN0YKKzoxMEMwQzAwMDNGQzAwRkYwMDNGQzAwRkYwMDNGQzAwRkMwMDNBODA2RjUKKzoxMEMwRDAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1RkMyMEVGMzAzRjA0QUQKKzoxMEMwRTAwMDZDODgwMzNBNDJFNDkxM0YwRDBENDgwMzNDQzBGRjAyQzcKKzoxMEMwRjAwMDMzNDQwQ0Y0MDNGQzgyREYzMDMzNjAwREYxMDMzMDAwNzUKKzoxMEMxMDAwMDcwMDAwMDAwMDAwMDAwMDBBMDEwRUQwMDhCNzAyRTE4RTEKKzoxMEMxMTAwMDg4MjI0QTJDODJFQTI2MkUwQzBCQjg0MjNEODBCRjkwMjIKKzoxMEMxMjAwMDJBNTQyOEI0MDJDRDAwREI0MDJBNEE0ODMwMDJBMDA0MzkKKzoxMEMxMzAwMDMwMDAwMDAwMDAwMDAwMDA4ODA1Q0NCMEEzMDA2QzEwQTcKKzoxMEMxNDAwMDA5MDA4MjIwODJBMDIwMkM4ODRCODAwMDBDNDBCMzAxODMKKzoxMEMxNTAwMDIwNDgwQjM2MDI4Q0UwODM2NDI0NDAyODMyMDIyMjAxRkUKKzoxMEMxNjAwMDcwMDAwMDAwMDAwMDAwMDBFMDExQUMwMDhCMDAyRTAwMDkKKzoxMEMxNzAwMDA5ODA4MEE2MDBCQTExMkU4ODBCQjAwMDJDMDBCQjAyRUIKKzoxMEMxODAwMDAyNDAwOUIwMDJFQzAwOEIwMDJDQzgwOEI4ODJCMDA0NTEKKzoxMEMxOTAwMDYwMDAwMDAwMDAwMDAwMDA0MDE1RUMwMEVCMDAzRTkyNDMKKzoxMEMxQTAwMDBEODAwMzBBMjBFOTAwM0U1MDQ1ODAwMTJDMDRGMzAwNzUKKzoxMEMxQjAwMDkwNjAwOUIwMDNFQzAwOEIwMjI2NTA4REJDMDMxMDA0ODQKKzoxMEMxQzAwMDcwMDAwMDAwMDAwMDAwMDBDMDAxQkMwMEZGMDIzRjgwQzIKKzoxMEMxRDAwMDBFRjkwMjdDMjJBRjAwM0Y2MDAzQzAwQkZDMTBGRjAwOTEKKzoxMEMxRTAwMDNGNEE0RUYwMDNGQzAwRjcwMDJCNjAwRjcwMDNGODAwOEQKKzoxMEMxRjAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwQUMwMEZCMDBCMDAwMzgKKzoxMEMyMDAwMDBGODIwQkE5MDBDOTAwMzJEMjBGQTA4M0FDMDBDQjEwNjMKKzoxMEMyMTAwMDNFNDAwQ0IwMDNFQzAwREIwMDMyNTAyQzk1MDMxMDA0QzAKKzoxMEMyMjAwMDIwMDAwMDAwMDAwMDAwMDBDODA1M0MwNEJGMDIyMjgwN0UKKzoxMEMyMzAwMDBCOTgwMDI5MDBDQjQwMjJDMDBCMjQwMjNDMDg4RjUwRjEKKzoxMEMyNDAwMDJFNTAwREYwMDJGRDQyOEY1ODIyRTA0OEI1MDIzMjAwMTgKKzoxMEMyNTAwMDQwMDAwMDAwMDAwMDAwMDBFMDA1NkMwMEIzMDAyNDQwMzYKKzoxMEMyNjAwMDRCOTQwMDQ5MDA5MDgwMDQzMDA5MDAwRTRDMDA4MzgwRkMKKzoxMEMyNzAwMDJDQzAwOTMwMjI2RTQyODM4MDIwNDgwODM4MDIzODAwRTIKKzoxMEMyODAwMDUwMDAwMDAwMDAwMDAwMDAyMDAxMUUwMEI3ODA2NTIwNjMKKzoxMEMyOTAwMDBCNzg4MjdBMDg4Q0MwMjVBMzRCNzgwMjVFMDQ4Nzg0RDEKKzoxMEMyQTAwMDJENjE4OTc4MDJERTA0ODc4MEU5NjIwODc4MDIwODAwM0YKKzoxMEMyQjAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MEMwMEZCMDAzNDQ4NkIKKzoxMEMyQzAwMDBGM0IwMzQ4MDA5MzQ4MzQ1MDBEMDAwMzZDMDBDMzEwMkIKKzoxMEMyRDAwMDFDQzIwNTMwMDNDQzQwQ0IwMDMyNDAwQzIwMDMxMjAyQkMKKzoxMEMyRTAwMDAwMDAwMDAwMDAwMDAwMDA0MDFEQkMyMEZGMDEwMzQwRDIKKzoxMEMyRjAwMDBGRjAyMzFDMDBGRjAwM0I4MDBGQjAyMzNDMDJGRjUwRDcKKzoxMEMzMDAwMDNEQzQwRkYxMDNFQzAwRUYwMEI3QzAwRkUxMDNEMDA2MEUKKzoxMEMzMTAwMDYwMDAwMDAwMDAwMDAwMDA4ODA1RUMwMEZCMDIzRUUwMjkKKzoxMEMzMjAwMDBDODAwMzQ4MDJDODgxMzIwMDBGOTA0MkVDQTBGQjEwNDEKKzoxMEMzMzAwMDNFRTAwQ0IxMDNFQzQwRkIxMDMyNDAxRkYwMDMyQTAwM0EKKzoxMEMzNDAwMDcwMDAwMDAwMDAwMDAwMDA0ODExOUMwMEI3MjQyRDgwMDAKKzoxMEMzNTAwMDA4NzA0MkQ4MTA4QzAyMjE0MDBCNTAwMkREMDBFNzIwMEIKKzoxMEMzNjAwMDJGNDAwODcwMDJEQzA1QjcwMDIxQzAwQkYwMDIxMjA0NTgKKzoxMEMzNzAwMDYwMDAwMDAwMDAwMDAwMDBDMDAwOUUwMEI3OTAyRjQwNDkKKzoxMEMzODAwMDBBNjgwMjdBMDA5NzgwMjFFMDBCNzgwMkRFMDBCNzgwMEQKKzoxMEMzOTAwMDJERTAwODc4MDZERTAwQjdBMDIxNjAwQjc4NDIzMDAwNUYKKzoxMEMzQTAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0Q0MwMEIzMDAyQ0MwQTYKKzoxMEMzQjAwMDBBMzQwMkM4MDA4MzRBMjBGODBCMzEwMkNDMDBBMzAwRTMKKzoxMEMzQzAwMDJDQzAwODMwMDJDQzAwQjMwMDIwQjIwQjIwNDIxMjA0NzMKKzoxMEMzRDAwMDMwMDAwMDAwMDAwMDAwMDBFODE1QTgwMEJBMDAzRjg4MDcKKzoxMEMzRTAwMDJFRTA0MzU5ODhERTAwMzNCMDBGNkMwM0U4MDBGQTAwRkEKKzoxMEMzRjAwMDNFODAyQ0EwMDNFODA0RkEwMDIzQjgwRkUwOEIzQTA0MzcKKzoxMEM0MDAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwRTAwNEY4MDEzRTAwNjkKKzoxMEM0MTAwMDA5ODIyMUUwMDBGODQwQkUxNDBGODQ4MUUwMDBFODAwQUEKKzoxMEM0MjAwMDNFMDAxRjgwMDNFMDAwRjgwMEJFMDAwRjg4MDNEMjAwMkEKKzoxMEM0MzAwMDMwMDAwMDAwMDAwMDAwMDAwODEwRTQwMEUxMDAzMjQwN0QKKzoxMEM0NDAwMDBDOTA0M0U0MjBEOTAwM0M0NDA4OTAwMzI0MDBGOTAxRjcKKzoxMEM0NTAwMDNFNDgwRjEwNDMyNTAwQzkwMEIyNDAwQzkwMDMwMjA0NkYKKzoxMEM0NjAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjQwMEI5MDBBMDQwMUIKKzoxMEM0NzAwMDA4OTgwMkU2MDhBOTYwMkU0OTA4OTQwMjI0MDBCOTAwMzEKKzoxMEM0ODAwMDJFNzAwQjkwMDIyNjAyODkwMEEwNDAwQTkwMEEyMDAwMUMKKzoxMEM0OTAwMDEwMDAwMDAwMDAwMDAwMDAxODA1MjQwMEI5MDAyMjQwMzAKKzoxMEM0QTAwMDA4OTgwNEU2MDA5OTgwMkU0MDBBQjEwMjI0MDBCOTAwRTEKKzoxMEM0QjAwMDBFNDAwQjkwMEEwNDAwODEwMTIyQzAwODEwMDIwNjAwMDEKKzoxMEM0QzAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDQ4MEIxMjAyMjQ4NjEKKzoxMEM0RDAwMDA4MTgwNkM0MDBBMTAwMkM0ODJBMzAwMjA0ODBCMTIyQUEKKzoxMEM0RTAwMDJDNDgwQjEyMDIwNTgwODE2MDIyNTAwQTE0MDIwMjAxQkUKKzoxMEM0RjAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjE0MEY4NTAzMjE0NDgKKzoxMEM1MDAwMDBDODUwM0UxNDBEODUwM0UxNDBFODAwQjIxNDBGQTAwMDgKKzoxMEM1MTAwMDNFOTQwRjg1MDMyMDAwQzAwMDMyMDAwQzgwMDMyRTAzRTAKKzoxMEM1MjAwMDUwMDAwMDAwMDAwMDAwMDA5ODFERTQ0MUY5MTAzRDQ1NTYKKzoxMEM1MzAwMDBGRDAwM0Y0MDBGRjAwM0Y0NTBERDAwM0U0NDBGOTEwOTUKKzoxMEM1NDAwMDNGNDQwRjkxMDNFNDQyRjkxMDNGNDAwRkQ0MDNFNjA2NDUKKzoxMEM1NTAwMDcwMDAwMDAwMDAwMDAwMDAxODA1RTQwMEY5MDAzRTQwRjMKKzoxMEM1NjAwMDBDRDAwM0Y0MDg4RDAyM0Y0MDBGRDAwM0U0MDBDRDAwNEYKKzoxMEM1NzAwMDMzNDAwQzkwMDMyNDAwRjkwMDMyNDA0Qzk4MjMwNjAwMEQKKzoxMEM1ODAwMDcwMDAwMDAwMDAwMDAwMDAzODEwRTAwMEU4MDAyRTAwRkQKKzoxMEM1OTAwMDQ4ODAwMkU4MDBEMDAwMkU4MDBCODAxMkUwMDI4ODAwNjQKKzoxMEM1QTAwMEEyMDAwQTgwMTIyMjAwQjg4MTIyMjgwOENGMDIwRTA0QkQKKzoxMEM1QjAwMDMwMDAwMDAwMDAwMDAwMDAwODA1QzQwMEIxMDAyQzQwNUQKKzoxMEM1QzAwMDI4MTAwMkM0MDA4MTAwMkM0MDBCMTAwMkM0MDA5MTAwMEUKKzoxMEM1RDAwMDI2NDAwOTEwMDI1NEEwQjUyQ0E1NDIwODUwODIwMjAxNDEKKzoxMEM1RTAwMDcwMDAwMDAwMDAwMDAwMDAxODE1QTQwMEE5MDAyRTUwRTMKKzoxMEM1RjAwMDU4OTAwMkU0ODA5QjAwMkU0NThCOTIwMkU0MDA5OTAwNDMKKzoxMEM2MDAwMDI2NDQwQjkwMDI2NDA4QjUwMDI1NEEwODUxMDIwNjA0MkUKKzoxMEM2MTAwMDYwMDAwMDAwMDAwMDAwMDBBMDE1RTQwMEY5MDAzRTU0OTYKKzoxMEM2MjAwMDBDOTA0M0M0MDBDOTkwM0U3MDBGOTgwM0U0MDBEOTAwRjkKKzoxMEM2MzAwMDM0NjA0RDkwMEE2NDAwRjkwMDM2NDAyQzlFMDMyODA0QjMKKzoxMEM2NDAwMDcwMDAwMDAwMDAwMDAwMDAyODAxQTQwMEY5MDAzQzQwMzgKKzoxMEM2NTAwMDBGOUMwM0U2MzBGOTAwM0U2MjBGOTAwM0U0MDBFOTAwMEUKKzoxMEM2NjAwMDNBNDA0RTkwMDNBNDAwNzkwQzNBNDAwRjkwMUJDQTAwNDgKKzoxMEM2NzAwMDYwMDAwMDAwMDAwMDAwMDAyODEwQTAwMEY4MDAzRTAwNEMKKzoxMEM2ODAwMDBDODExM0UxMDhDODQ4MzIwMDNDODAwM0MwMDBGMDEwNjAKKzoxMEM2OTAwMDNFMDYwQzgwMDNGMDA4Q0MwMDMzMDQwQ0MwMDMwQTA0RUYKKzoxMEM2QTAwMDIwMDAwMDAwMDAwMDAwMDAyODA1MjgwMEJBMDAyRTgwQUQKKzoxMEM2QjAwMDA4RUM0MkZBMjA4RTAwMjNBMDA4RTg0MkU4MDBCRTgwODEKKzoxMEM2QzAwMDJGODAwOEEwMDJFODAwREEwMDIyODA0OEUwMDIwQTAwNzkKKzoxMEM2RDAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NEMwMEIzMDAyQ0MwMDIKKzoxMEM2RTAwMDA5MzQ4MkM5MDA4MzgwMjBGMDA4MzA4MkNDMDBCMzgwRjYKKzoxMEM2RjAwMDJDRjAwOEIwMDJDMTIwODAwMEEwMzIwODAwMDIwQTAwMUQKKzoxMEM3MDAwMDUwMDAwMDAwMDAwMDAwMDBBMDAxMUNDMEI3MDEyRkM4QUQKKzoxMEM3MTAwMDg5NTAwMkQ4MDI4N0M0MjFFMjQ4NzA4MkRDMDBCNzAwNDkKKzoxMEM3MjAwMDJDNDAwODcyMDJDRTAwOTcwODIzQzAwODcwMDIyODAwMkYKKzoxMEM3MzAwMDQwMDAwMDAwMDAwMDAwMDBBODA4MUUwMEY3RTEzREU4RUUKKzoxMEM3NDAwMDJENjgwM0YyMDBDNzgwQjBFMDA4NjgwM0RGODBGNjgwNDAKKzoxMEM3NTAwMDNERTA4QzdFMDNEQTAwQ0M4MDMxMjAwQ0M4MEIyQTAyMkQKKzoxMEM3NjAwMDAwMDAwMDAwMDAwMDAwMDAwODFEQUMwOEZCMDAzQ0MwRjkKKzoxMEM3NzAwMDBFODAwM0UwMDhGOTAwM0U0MDBGQjAwMkVDMDBGQTAwMjIKKzoxMEM3ODAwMDNFNDAyRkIwMDNFNDAwRkIwMDNDQzAyRkIwMDNDMjA2QzQKKzoxMEM3OTAwMDYwMDAwMDAwMDAwMDAwMDAwMDA1RkUwMEZGOTI3RkVBM0MKKzoxMEM3QTAwMDBDRjgwM0ZFMDBDQ0EwM0YyMDBERjkwMzNFMDBDRjgwMjMKKzoxMEM3QjAwMDMzNjAwRkY4MDNGNjAwRUY4NDMzRTAyQ0M4MDMwMDAwNjkKKzoxMEM3QzAwMDcwMDAwMDAwMDAwMDAwMDBBODExOUMwMEI3MDAyRkM4RjYKKzoxMEM3RDAwMDA4NTQwMkQ4MDBENjA0MkQwMTA4NjkwMjFDMDA4NTAwMDcKKzoxMEM3RTAwMDIxNDMwQjcwMDM5QUMwOEMwMEEzMDIwOEYxMDIyQTA0QjMKKzoxMEM3RjAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwOUMwMEI3MDEyRENDOEMKKzoxMEM4MDAwMDA4NzAwMkQ0MDA5NDI4MkRDMjA4QzIwMjVDMDA4NjAwODEKKzoxMEM4MTAwMDIxODAwQjcxMDJEQzAwQTcxMDIxQzAwODQ4MDI0MDAwRjMKKzoxMEM4MjAwMDIwMDAwMDAwMDAwMDAwMDAyMDE0Q0MwOEIzMDAyQ0YwMTEKKzoxMEM4MzAwMDA4MDUwMkMwMjA5MDgwMkUwMDA4MDA4MjRDMDI4MDAwNzMKKzoxMEM4NDAwMEEwNjEwQjMwMDJBMDAwODAwMEEwMzA4OEIxMEE0ODA0MkIKKzoxMEM4NTAwMDMwMDAwMDAwMDAwMDAwMDBBODE1QkMwMEZGMDAyREM4M0IKKzoxMEM4NjAwMDBDM0QwM0U0MDBEQjAyM0VGMDJDOTA0QjdDMDBDMTAwNDkKKzoxMEM4NzAwMDMyMjA0RkYwMTNFMDAwRTgwMTMyMDA4Q0FDMDM2QTA0NzAKKzoxMEM4ODAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwRUMwMEZCMDQzRUMyREQKKzoxMEM4OTAwMDRGQjAwM0UwMDRGQTQwM0VDMjRFOTgyM0FDMTBGODAwQkIKKzoxMEM4QTAwMDNFNTAwN0IwMTNBQzAwRkIwMDNFQzIwRjkyMDNBMDAwNDUKKzoxMEM4QjAwMDMwMDAwMDAwMDAwMDAwMDAwMTEwREMwMENGMDAzRkMwOEQKKzoxMEM4QzAwMDBDQzgyMzM2ODJDRjgwM0Y4MDBDRTAwM0VDMDBGOTIwQjcKKzoxMEM4RDAwMDMzQzAwRUYwMDNGODEwREMwMDMzMDA0Q0U4MjEwMDQ0QjQKKzoxMEM4RTAwMDMwMDAwMDAwMDAwMDAwMDA4MTA0NkMwMEFCMDAyRUMwOEUKKzoxMEM4RjAwMDRBOEQ0MjIxMDA4QjQyMkVEMjA4QjAwM0VDMDBCODg4NEEKKzoxMEM5MDAwMDM0NjIwREIwMDJFNDAwOEIwMDIyQzAwODkwMEEyMDQwN0YKKzoxMEM5MTAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1MkMwMDhCMDAyRUMwREQKKzoxMEM5MjAwMDA4QTAwMjBEMDA4OTEwMkUwODI4OTIwMkVDMDRCQjAwMUEKKzoxMEM5MzAwMDIyQTAwOEIwMDI2NDAyQjMwMjIwQzAwOEEyMDJBMDAwMzQKKzoxMEM5NDAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MEMwMEEzMDAyRUMwRkUKKzoxMEM5NTAwMDBBOTAyMjBDMTA4MDAwMkMwMDE4MDI4MkNDMDBCMDAwM0IKKzoxMEM5NjAwMDI2NDAwOTMwMDJDODIwODAwMDIwMDAwODEwMDY4MjAxRkQKKzoxMEM5NzAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENkMwMENCMDAyRUMwODUKKzoxMEM5ODAwMDBDQTEwMjI0MDA4ODAwM0MwMDBDODAwM0VDMDBGQjAwOUEKKzoxMEM5OTAwMDMyODAwRUIwMDNDQzgwREIwMDMyQzAwQ0EwMDM4MDAzRDkKKzoxMEM5QTAwMDUwMDAwMDAwMDAwMDAwMDBBMDFERkMwMEZGMDAzRkMwODAKKzoxMEM5QjAwMDRGQzIxM0Q0MTBGQzAwM0YwMDBGMDAwM0JDMDBGQzAwNkEKKzoxMEM5QzAwMDNGNDAwRkYwMjNFMDEyRkMwMUJGMDAwRkQwMDM2ODAyQ0MKKzoxMEM5RDAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1RkMwMEM3ODAzM0MwRUMKKzoxMEM5RTAwMDhCQjQwM0IwQzBDRjJFMUYwQzRGQzMwMzMwODBGRjAxQTgKKzoxMEM5RjAwMDNGMDgwRkYwMDA3QzAwRkYyMTMzRTQwQ0UwMDMzMDAwMUYKKzoxMENBMDAwMDcwMDAwMDAwMDAwMDAwMDA4MDEwRUUwMDhCODIyM0YwMTgKKzoxMENBMTAwMDBCQjUxMjBEODg4OEMwMEU5ODBCODYwMjIxMDBCQkMwOTIKKzoxMENBMjAwMDJFRTQ0QkY3ODMyRjQ0QkY5MDIyQzg0OEE2ODIyMDA0RUYKKzoxMENBMzAwMDMwMDAwMDAwMDAwMDAwMDA4ODA1Q0MwOThBMDAyMDUwNkEKKzoxMENBNDAwMDRCQjIwQTgwQ0M4MzAxMEM4QzBCMjMwQTA0NjBCMzE0MTQKKzoxMENBNTAwMDI0NDA0QjMwMDJDQzEwQjMwMDIwQzhFOTExMDY2MjAxMUIKKzoxMENBNjAwMDcwMDAwMDAwMDAwMDAwMDBDMDE1QUMwMThBODBBMjQ0RTQKKzoxMENBNzAwMDBCQjAwMkExMDQ4ODQwMkVBMDBCMjAwMjI4MjBCQjQwNEUKKzoxMENBODAwMDJFNDAwQkIwMDIyQzA4QkIwMDIyQzAwOUIwMDI3MDA0N0IKKzoxMENBOTAwMDYwMDAwMDAwMDAwMDAwMDA0MDE1RUMwMEMzODMzMkUwOUQKKzoxMENBQTAwMDhGMDAwM0EwMDJDQkM0M0UyODA3OEIwMzIxMDBGOUMwRUUKKzoxMENBQjAwMDNFMTAwRkIwMDNFQzAwN0IwMDMyQzAwREEwMDM1MDA0MDkKKzoxMENBQzAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxOUMwMkZGMDAzRkUwNTkKKzoxMENBRDAwMDBGRjQ0MzVFODBGQzk0M0YwMDBGQzAyQkYyNTBGRDIxMDkKKzoxMENBRTAwMDdFODQ4RkYwMDM2QzBDRkYwMDNGQzAwRTYyMDNCODAwMjEKKzoxMENBRjAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwQUMwMEVCMDAzMjQwN0QKKzoxMENCMDAwMDJDODAwMzY5MDBDQjMwQjIwMDRGQjM0M0U1MDBDQjQwMkIKKzoxMENCMTAwMDcyMTgyQ0IwMDNFQzI4QzMyMTNBQzEwRjk0MDMxMDA0RkYKKzoxMENCMjAwMDIwMDAwMDAwMDAwMDAwMDBDODA1M0MwMDhCMjAyMjUwQkYKKzoxMENCMzAwMDA4QjAwMjI4MDA4OEMwMkEwMDhCQjQwMkU4MDBEQjAwOUQKKzoxMENCNDAwMDYyMzAwOEYwMDJGQzAwOEY4MDIyQzAwQjk1NDczMjAwNTMKKzoxMENCNTAwMDQwMDAwMDAwMDAwMDAwMDBFMDA1NEMwMEIxMDAyMEMyRDEKKzoxMENCNjAwMDQ4MzAwMjQ5ODA4MzQyNjAxMjBCMzAwMkM4MDA4MjAyQzIKKzoxMENCNzAwMDJDMzAwOUIwMDJDRjAxODM1MDJBQzAwQjIwMDJCODAwMkMKKzoxMENCODAwMDUwMDAwMDAwMDAwMDAwMDAyMDAxMUUwMDlEODBBMEUwNzkKKzoxMENCOTAwMDA4NzkyMjVFNjA4NzkwMjlBMDBCNzgwMkM2MDA5MjgxRjYKKzoxMENCQTAwMDA1RTAwOTc4MDJERTQwODc4MDIxRTAwQjI5MDIwODAwQjkKKzoxMENCQjAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MEM0MEYyMDAzMEMwQjcKKzoxMENCQzAwMDA4M0EwMzQ0MDRDMzE0MzBDMDBGMjIwM0NDODBDMjAwQ0YKKzoxMENCRDAwMEE0RDIwRDMwMTNDQzIwQzMwMDM4QzQ0RjA0NDMxMjAyM0EKKzoxMENCRTAwMDAwMDAwMDAwMDAwMDAwMDA0MDFEOUMwMEVFMDAzRkUwM0YKKzoxMENCRjAwMDBGNzAwM0I0MDJGNDEwM0ZDMDhGQTAwM0ZDMDA3RTAwNEUKKzoxMENDMDAwMDNCQzAwRUYwODNFQzAwRjcwMDNGQzAwRkMwMDNEMDA2MUUKKzoxMENDMTAwMDYwMDAwMDAwMDAwMDAwMDBBODA1RkMwMEY5MDAzRUMwMTQKKzoxMENDMjAwMDBGQTAwM0FBMTJDQjAxMzI4MDBGQjAxMzI4MTRGOTgwOTEKKzoxMENDMzAwMDNBNDAwM0I0MDNFQzQyQ0IxODNFQzAwRkIwMDMyQTAwQzUKKzoxMENDNDAwMDcwMDAwMDAwMDAwMDAwMDA0ODExOUQwMEI1MDAyREM0RDgKKzoxMENDNTAwMDBCNzA0QjdDMDA4NDAwMjE4MDBCNzAwMjk0MTBCMjAwOUEKKzoxMENDNjAwMDI5QzAwQjcyODJEQzAwODcyMDJEQzEwRTcwMDIxMjA0RDUKKzoxMENDNzAwMDYwMDAwMDAwMDAwMDAwMDBDMDAwOUUwMEI3ODAyREUwQjIKKzoxMENDODAwMDBCNjgwMjlFMDA4MzgwMjFFMDVCMzgwMjFFMDBCNEMwNjYKKzoxMENDOTAwMDI1RTAwOTc4MzJDRTAwOTc4MDJERTAwQjVDNEUzMDAwMDUKKzoxMENDQTAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0Q0MwMEIzNDQyQ0MwNTkKKzoxMENDQjAwMDBCM0MwMkNDNDA5MzA4MjBFMDBCMzAwMjhDMTBCM0MwMzgKKzoxMENDQzAwMDI4RDgxQjMwMDJDQzA4OTMwMTZDQzAwQUI4ODIxMjA0MjkKKzoxMENDRDAwMDMwMDAwMDAwMDAwMDAwMDBFODE1QTgwMEY2MTAzRTgwQkIKKzoxMENDRTAwMDRCRUQ4M0I4MDBDRUU0QjNBMzBGRTAwMzM4MDBGRTAwQTEKKzoxMENDRjAwMDNCODAwREEwMDJFODAwREEwMDNFODAwRkU4MDIzQTA0MTMKKzoxMENEMDAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwRTAxMEY4NDAzRTAwMTUKKzoxMENEMTAwMDBGODAxMzYwMDBFMDAwM0UwMDQzMDgwM0UwMDBGODA4QzUKKzoxMENEMjAwMDNBMDAwRjgwMDNFMDAwRTg0MDNFMDAwRTgwMjNEMjAwNkUKKzoxMENEMzAwMDMwMDAwMDAwMDAwMDAwMDAwODEwQzQwMEQ5QzBCRTQwNTAKKzoxMENENDAwMDBGOTAwM0U2MDBGOTAwMzI0MDAxOUEwMzI0MDBGOTAwMzUKKzoxMENENTAwMDNFNDAwRjkwMDNDNDQwMDkxMDBFNDAwRjlBMDMwMjA0OTYKKzoxMENENjAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjQwNDg5MDRBMjYwMTgKKzoxMENENzAwMDhCOUQ4MEE2MDBCOTgwMjI0MDQ4OTgwMjI0MDBCOTAwMEIKKzoxMENEODAwMDJFNDA4QjkwMDJFNDk0ODk2MDJFNDAwQjk0MEIyMDAwN0YKKzoxMENEOTAwMDEwMDAwMDAwMDAwMDAwMDAxODA1MjQwMDk5MDhBRTQ4QUIKKzoxMENEQTAwMDRCMTAwMkU1ODFCOTEwMjA0NDFCOTQwMjI0MTBCOTAwRjUKKzoxMENEQjAwMDZFNjAwQjkwMDJFNDAwODkwMDJFNDAwQjk0MDIwNjAwODYKKzoxMENEQzAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDQ4MDg5MDBBMDY4MDIKKzoxMENERDAwMDBCMTIwMjg0ODlCMTIwMjA0ODFBMTIxMjA0ODBCMTIyNTkKKzoxMENERTAwMDBDNDgwQjEyMDJDNDgxQTEyMDJDNDAwQjEyMDIwMjAxM0MKKzoxMENERjAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjAwMEQ4MDBCRTAwNzgKKzoxMENFMDAwMDBGMDUwQkUxNDBGODAwMzIxNDBGODUwMzIxNDBGODAwQjQKKzoxMENFMTAwMDJFODAwRjg1MTNFMDAyQzgwMDNFMTQwRjA1MDEyRTAzN0IKKzoxMENFMjAwMDUwMDAwMDAwMDAwMDAwMDA5ODFERTQ0MEZEMDBCRjQ0RDkKKzoxMENFMzAwMDBGRDEwM0Y0NDA3RDEwQkY0NDQ1RjEyQkY0NDBGRDEwQTkKKzoxMENFNDAwMDNGNDQwRjkxMDNFNDQwRDkxMDNFNDAwRkQxMDNBNjA2QTIKKzoxMENFNTAwMDcwMDAwMDAwMDAwMDAwMDAxODA1RjYwMEZEMDAxRjYyRDEKKzoxMENFNjAwMDBGRDg4MjM2MDBCREEwM0I2ODBDREM4MzI2QzhEOUEwNTEKKzoxMENFNzAwMDMzNjAwRDk5ODM1NjIwRDVBODJFNDQwQ0Q4ODM4NjA0QTAKKzoxMENFODAwMDcwMDAwMDAwMDAwMDAwMDAzODEwRTE0OEI4MDAyRTAwREIKKzoxMENFOTAwMDBCMEE4MjIyMjBCODUwMjJCQTA4OEEyMjIyODA4ODAwRjcKKzoxMENFQTAwMDIyMDEwODBDMDIyMDAwODgwMDJFMjg4ODg4MDJDRTA0NjcKKzoxMENFQjAwMDMwMDAwMDAwMDAwMDAwMDAwODA1QzQwMEIxMDAyQzQwNTQKKzoxMENFQzAwMDFCMTAwQTg0NDBCMTAwMjg1ODBBMzIwMjA1MDA5OTQwMUMKKzoxMENFRDAwMDIwNjUwOTEwNDJDNDAwOTEwMDJDNDAwQTMwODJDMjAxMzIKKzoxMENFRTAwMDcwMDAwMDAwMDAwMDAwMDAxODExQTQwMEI5MDAyRTQwREUKKzoxMENFRjAwMDFCOTAwMkE1ODBCOTEwMjI0ODA4MTA0MjA0MTAwOTAwQjYKKzoxMENGMDAwMDIyNDAwODkwMDJFNDAwOUIwMDJDNDAwQTk0MjJDNjA0QjAKKzoxMENGMTAwMDYwMDAwMDAwMDAwMDAwMDBBMDE1RTQwMEY5MjAzRTQwODEKKzoxMENGMjAwMDBGOTAxM0E3MTBGOTYwQkE1MDJFOUMwQTI1ODREMUYwRjcKKzoxMENGMzAwMEIyNjAwRDkwMDNFNDAwRDkwMDNFNDAwRTkwMDNBODAwQkIKKzoxMENGNDAwMDcwMDAwMDAwMDAwMDAwMDAyODAxQTQwQ0Y5OTAzRTZBNjcKKzoxMENGNTAwMDhGOTAyMzY2MDBGMTA4M0M0MDBGOUM0M0U0NDBGOTgwMjkKKzoxMENGNjAwMDNBNDQwRjkwMDMyNDA0RTkwMjNFNDAyRDkxMTNDQTAwNzUKKzoxMENGNzAwMDYwMDAwMDAwMDAwMDAwMDAyODEwQTAwMEU4MjAzRTAxMzIKKzoxMENGODAwMDBDMDAwM0ExMjBFODUwMzIxMDJDOEMwMzIxMDBFODAwOTMKKzoxMENGOTAwMDMyMDIwRjAwMTMyMDg4QzgwODMyMDAwRjhDMDNDQTAwMjkKKzoxMENGQTAwMDIwMDAwMDAwMDAwMDAwMDAyODA1MjgyMDhFRTMyRjkwQkMKKzoxMENGQjAwMDBBRTAwNjNCMDBFRTA0MjM5MDA4RTAwMjI4MDg4QTAyRkIKKzoxMENGQzAwMDc1OTA4QkEwNDE1ODkwOEU4MDJBODEwQkUwMDM4QTEwQzcKKzoxMENGRDAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NEUwMEEzMDA2QzYwMjcKKzoxMENGRTAwMDA4MzgxQThFNDBBMDgwMjBDQzA5MzAwMjBDMDVBMzA0MUEKKzoxMENGRjAwMDI4QzQwQjMwMDIwRDAxODNDMDIwQzAwQjMwMDJDQTAwRDAKKzoxMEQwMDAwMDUwMDAwMDAwMDAwMDAwMDBBMDAxMUUwODg3MDAyRDYyRjMKKzoxMEQwMTAwMDBCNzA5MjFDMDhBMDAwNjFDMDA5NjAwNjFDODBBNzAwNkMKKzoxMEQwMjAwMDIxQzAwQjcyMDI1ODAxODc4ODI5QzAwQjYwMTJBODAwMkEKKzoxMEQwMzAwMDQwMDAwMDAwMDAwMDAwMDBBODA4MUUwMEU2ODAzRDYwREYKKzoxMEQwNDAwMDBDNzg0Mjk2MDBFNDgwQTM2MDBENzgwMzNGMDBFMzgwRjMKKzoxMEQwNTAwMDIxRTAwRjdCMDMxNjA4Qzc4MDMxRTI0Rjc4NDNFQTAyRDQKKzoxMEQwNjAwMDAwMDAwMDAwMDAwMDAwMDAwODFEOEMwMUY4MDAzQzQwOUEKKzoxMEQwNzAwMDBFQjAwMkVDMDBGODAxM0U0MDRFMzAzM0VEMjBEQjAxRjMKKzoxMEQwODAwMEJFQzAwRkI0MDNFQzAwRkIwMDNFRDgwRkEwMDNDMjA2RTUKKzoxMEQwOTAwMDYwMDAwMDAwMDAwMDAwMDAwMDA1RkUwMEM3ODQyMzYwNUYKKzoxMEQwQTAwMDBDNzgwQkJFMDBGRDgwM0ZFMDBGRUIwMzNFMDBDRjgwMEQKKzoxMEQwQjAwMDNCMjUwQ0Y4ODM3RTQwQ0Q4MDMzRTIwQkY5MDMwMDAwNjIKKzoxMEQwQzAwMDcwMDAwMDAwMDAwMDAwMDBBODExOUMwMjg3MDAxNTQ4QjUKKzoxMEQwRDAwMDA4NzAwMjE0MjBCNjAwMzU5QTQ5QzgwMzlDODRBNzAwNDIKKzoxMEQwRTAwMDM5RDAwQTcwMDIxQTA4QTQwMDIxQzAwOTYxNDIyQTA0M0EKKzoxMEQwRjAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwOUMwMDg3MDAyMTQwNEMKKzoxMEQxMDAwMDA4NzEwMjk0MDBCNTAwMkQ0MDBCRjEyMjVDMDIwNzA4NjMKKzoxMEQxMTAwMDJDNTAwODcwMDI1MDAwODcwMDJEQzQwQjUwNDIwMDAwQjQKKzoxMEQxMjAwMDIwMDAwMDAwMDAwMDAwMDAyMDE0Q0MwMDgzMDIyNDQwRjYKKzoxMEQxMzAwMDE4M0QwQTAxMDBCMDU4MjQyMDA5MzAwMjhGNDA4M0UwRDYKKzoxMEQxNDAwMDJDQzEwQTMwNDIwODAwQjMwMTZDQzAwOTA4MTYwODA0NUIKKzoxMEQxNTAwMDMwMDAwMDAwMDAwMDAwMDBBODE1OEMwMDhCMDAzMjQwNTkKKzoxMEQxNjAwMDBDMjUwM0E4NDhGODgxM0U4MDBGODA2MzdDMDBDQjgwQUIKKzoxMEQxNzAwMDNBQzAwQ0YwMDM2QzAwQ0EwMkJGQzAwRjk4OEIyQTA0OUYKKzoxMEQxODAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwRUMwMEY5MDAzRTUwNEMKKzoxMEQxOTAwMDJGQTQwQkM4MDBGMDQwM0VEMDBGQTAzM0VDMjBGQjA0QkUKKzoxMEQxQTAwMDdBRTAwRkIwMDNFRDA4RTkwMzMyQzAwRDkwMDNFMDAwMTAKKzoxMEQxQjAwMDMwMDAwMDAwMDAwMDAwMDAwMTEwRUM0MEVFMDAzRUMwMTYKKzoxMEQxQzAwMDBDREEwMzcwMDRDQzAyQjFBMDBFRjAyM0VDMDBGRjAwRDcKKzoxMEQxRDAwMDM3MjBDREIwNzNFQzg4RkI4MDNGQzAwRjMwMDMwMDQ0OTQKKzoxMEQxRTAwMDMwMDAwMDAwMDAwMDAwMDA4MTA0NkUwMDg4ODAyQ0UxMDcKKzoxMEQxRjAwMDA4OTQwQUE5MDI4ODQwMjJEMDA4Qjk0MkVDMDRCQjAwNzYKKzoxMEQyMDAwMDJDRDQwREIwMDJFRDIwQkJEMDJFQzAwQkIwMDJBMDQwM0MKKzoxMEQyMTAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1MjQwMEFCODAyRUYwMEMKKzoxMEQyMjAwMDI5QTA4MjZEMDA4ODA4MjIwNDA4OTA0MkVDMDBCQjAwMEYKKzoxMEQyMzAwMDJBODEwOEIwMDJFNDA5QkEwNDJFQzE0Qjk4ODIyMDAwNkEKKzoxMEQyNDAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDQwMDgzMDAyQ0MwMUYKKzoxMEQyNTAwMDBBMjEwMjg0MTA4MjAwRTAwMDE4MEExMkNDMDBCMzAwRjgKKzoxMEQyNjAwMDBDQzAwOTMwMDJDQzkwQjAwMDJDQzAwQjEwMDI4MjAxMUYKKzoxMEQyNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENjQwMEVCMDAzRTAwMTQKKzoxMEQyODAwMDJDQjQwMzY0MDg4ODAwQjIwMDBDQjI0M0ZDMDBGQjAwMUQKKzoxMEQyOTAwMDU2MDAwQ0YwMDFFNDAwRkIwMDNGQzAwRjgwMEIwMDAzQzAKKzoxMEQyQTAwMDUwMDAwMDAwMDAwMDAwMDBBMDFERjQwMEZGMDAzRjQwRkYKKzoxMEQyQjAwMDJERjA2MUYwMDBGNDAwMjcwMTBEQjExMUZDMDBGRjAyMTgKKzoxMEQyQzAwMDA3QzAwRkYwMDNFQzQwRkYwMDNGQzAwRkMwMDM2ODA2MkIKKzoxMEQyRDAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1RjYwMEVGOTAzRDRDMUIKKzoxMEQyRTAwMDJDQzAxM0Y0MDhGRDIwMzc0QzhFODI4Mzc0ODREQ0MyN0EKKzoxMEQyRjAwMDNGRDgwREYyMDNFQ0MwRkY4MTNGMDAwQ0Y4MDNGMDAwQjMKKzoxMEQzMDAwMDcwMDAwMDAwMDAwMDAwMDA4MDEwRTYwMDhCMjQyRTVDRkUKKzoxMEQzMTAwMDA4OEQwMkZGNDhCOTkwMkY1NDBCODQ4MjNFNDBBMDgwQjQKKzoxMEQzMjAwMDJFQzQwQUZDNDJFRDgwQjk4MDJFNjAwQTk4MTJFMDA0RjcKKzoxMEQzMzAwMDMwMDAwMDAwMDAwMDAwMDA4ODA1RTQwMUEzMDAyODQ4MzgKKzoxMEQzNDAwMDBBMDA0MkM0MDBCMTAwMkM0OTBCMEE0MjA0QTI5MTIxRjgKKzoxMEQzNTAwMDJDQzkwODMxMDI4Q0MxQTMwMDJDNDAwODE4MDJBMjAxN0MKKzoxMEQzNjAwMDcwMDAwMDAwMDAwMDAwMDBDMDE1QTAyMDhCODIyRTQ0MzkKKzoxMEQzNzAwMDU4ODAwMkU0MDBCQjEwMkU0MDBCQTExMjBDMDE4OTEwNTIKKzoxMEQzODAwMDJFQzAwQUIwMDJFQzAxQjg4MDJFRTIwQUExMDJGMDA0MUQKKzoxMEQzOTAwMDYwMDAwMDAwMDAwMDAwMDA0MDE1RUI0MEVCNDAzRTYwRTQKKzoxMEQzQTAwMDBFODczM0U0MDBCOUExMzZDMDBFQTgwQjI2MDBEQUMwMDAKKzoxMEQzQjAwMDNFQzA4REIwMDNFQzAwRkI4NTNFRTEwOEI4MDM5MDA1NEMKKzoxMEQzQzAwMDIwMDAwMDAwMDAwMDAwMDBFMDAxQjgwMEZGMDIyRjYwMTQKKzoxMEQzRDAwMDAzRTg4M0ZDMTBGRDgwMUY0MDFGRDAxM0JFNDBFRTA0MDUKKzoxMEQzRTAwMDNGQzAwRkYwNDNGQzA4RkQwMDNDQzAwRkQwMTFGODAwMTcKKzoxMEQzRjAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwQTQwMERCMDBCMjQwMEMKKzoxMEQ0MDAwMDBFOTQwMzI0MDBEOTAwQkFDMDBDMjAwM0U0OTBGQjAwNjIKKzoxMEQ0MTAwMDNBQzAwQ0IwMDNFQzAxRkEwMDNFRDAyQzk4MDM5MDA0MDMKKzoxMEQ0MjAwMDIwMDAwMDAwMDAwMDAwMDBDODA1MDMwMDhCMDAyMjQ4MTcKKzoxMEQ0MzAwMDA4ODQyMjJDMDBCOTAwMjJDMDA4QTAwMkVEMDA4QkEwQjUKKzoxMEQ0NDAwMDIxQzAwOEYwMDJGQzAwQjk4MDJFQzAwOEEwMDIzMjAwMDIKKzoxMEQ0NTAwMDQwMDAwMDAwMDAwMDAwMDBFMDA1NDUyMDkzMDAyMkY4OTUKKzoxMEQ0NjAwMDBCMzAwQTg0NDBCMjAwMjA0MDA4MTAwMkM0MDA4MDgwQzMKKzoxMEQ0NzAwMDI4QzAyODM5MDI0QzAwQjEwMDJDQzAwODMwMDJCODAwODYKKzoxMEQ0ODAwMDUwMDAwMDAwMDAwMDAwMDAyMDAxMzYwMDlGODAyMTYwNTUKKzoxMEQ0OTAwMDA5MzgwMjlFMDBCMkMwMjA2MDQ4NDgxMkQ2QzY4NkQwMjUKKzoxMEQ0QTAwMDIxRTAwODc4MDBERTgwQjc4MjJERTAwOEY4MDIwODAwNEQKKzoxMEQ0QjAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MEMyMEQzMTAzMEM4RDUKKzoxMEQ0QzAwMDBGMzAwMzg0MDBGMTAwMzA0MDI0MTkwM0U0QzBFMDQwMzEKKzoxMEQ0RDAwMDNBQzAwQzMyMDNDRTgwQjEyODNDQzAwQzMwMTM5MjAyMEIKKzoxMEQ0RTAwMDAwMDAwMDAwMDAwMDAwMDA0MDFEOUMwMEU2MDA3RkMwMUUKKzoxMEQ0RjAwMDBFRjAyMzc0NDBGRjEwM0Y0MDRGRDAwM0ZDRDJDRTA0MDcKKzoxMEQ1MDAwMDNGQzAwRkY0MDNGQzAwRkUwMDNGQzAwRjcxMDNEMDEyQjgKKzoxMEQ1MTAwMDYwMDAwMDAwMDAwMDAwMDBBODA1RUUwMENCMDAxNkMwNkYKKzoxMEQ1MjAwMDBEODAwMzI3MjBDQjAwM0VDMjBBQjA1M0U0MjhDMTgxRkUKKzoxMEQ1MzAwMDMyQzEwRUI5MDMyQzAwRjE4MDM1RTAwQ0I4MDMyQTA0ODcKKzoxMEQ1NDAwMDcwMDAwMDAwMDAwMDAwMDA0ODExOUMwMjg3MTAyRDQwNzAKKzoxMEQ1NTAwMDA4NzAwMzVDMDBBNzAwMkQ0MDI4NzAwMkQ0MDQ4NzA0RTMKKzoxMEQ1NjAwMEExRDAwQjcyMDIxRDAwRjcwMDIxQzAwRDUwMDIxMjA0NjEKKzoxMEQ1NzAwMDYwMDAwMDAwMDAwMDAwMDBDMDAwOUUwMDg1ODAyNUUwRTMKKzoxMEQ1ODAwMDA5NzgwMjM3MDM4NzgwMkZFMDA4NzgxMkM2MTA4RDgwNTMKKzoxMEQ1OTAwMDI1RTgwQjM4MDIxRTgwQkM4NDI1RTAwODU4MDI3MDAwODQKKzoxMEQ1QTAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0Q0Q4MDgzODgyQ0MwQkIKKzoxMEQ1QjAwMDA4M0MwMjRFMDFBM0QyMkVDNDA4QjEwMkNDMDA4MzgwRTUKKzoxMEQ1QzAwMDI0QzEwQjMwMDIwQzAwQjM0MEEwRDIwOTMwMTI1MjAwMkIKKzoxMEQ1RDAwMDMwMDAwMDAwMDAwMDAwMDBFODE1QkEwMENBQzAzNjgwMjQKKzoxMEQ1RTAwMDBENjcxMzI4MDBDRTAwM0VBMDBDRUQwM0U4MDBDRUUwNEUKKzoxMEQ1RjAwMDM2ODAxRUEwMEIyODA0RkUwMEI3QjIwQ0UwMEI3QTAwQTgKKzoxMEQ2MDAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwRTA0MEY4MTAyRTEwMEMKKzoxMEQ2MTAwMDBGODAwM0UwMDFEODBBM0UwMDBGODAwM0MwMDJGODA4MjMKKzoxMEQ2MjAwMDNBMDAwRjgwMDNFMDEwRTgyMEJFMDAwRjgwMTM5MjAwNDQKKzoxMEQ2MzAwMDIwMDAwMDAwMDAwMDAwMDAwODEwRTUwMEZCMDAzRTQwNTQKKzoxMEQ2NDAwMDBDOTEwMzI2MDA2MTgwMzI0MDBDOTAwMzI0MDBDOTAwMzUKKzoxMEQ2NTAwMDFFNDAwQzlDMDNFNDAxRjkwMDNFNDAwRjkwMDNDMjAwMDEKKzoxMEQ2NjAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjcwMEI5MDAyQzQwN0EKKzoxMEQ2NzAwMDAwOUMwMkE2MDA3OTAwMjI0MDI4OTAwMjI0MDA4OTAwMjQKKzoxMEQ2ODAwMDJDNDQwODk4MDJFNDAwQjk4MDJFNDAwQjkwMDJFMDAxN0YKKzoxMEQ2OTAwMDAwMDAwMDAwMDAwMDAwMDAxODAxMjQwMEJCMDAyNjUwMUMKKzoxMEQ2QTAwMDI4OTA4MjI0ODQ5OTIwMjI0MDQ5OTAwMjI0MDA4OTAwRjUKKzoxMEQ2QjAwMDJFNDAwODkwMDJFNDAwQjk2MDJFNDAwQjkwMDJDNjA0OTAKKzoxMEQ2QzAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDYwMEIxMDAyRTQ4RTEKKzoxMEQ2RDAwMDA4MTIwMjg0ODBCMTIwQTA0ODA5MTIwQTA0ODA4MTAwNDcKKzoxMEQ2RTAwMDJDNDgyODEyNDJDNDg4MzEwMDJDNDAwQjE4MDJDMjAxNzkKKzoxMEQ2RjAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjAwMEY4NTAzNjE0NzMKKzoxMEQ3MDAwMDBDODAwMzIwMDBFODAwMzIxNDBDODUwMzIxNDBDODUwMkYKKzoxMEQ3MTAwMDNFMTQwQzgwMDNFMTQwMzgwMDNFMDA4RjgwMDNFRTAzOEUKKzoxMEQ3MjAwMDUwMDAwMDAwMDAwMDAwMDA5ODFERDQwMEZCMDQzRDQ0QTAKKzoxMEQ3MzAwMDBGNTEyM0Q0NDhFRDEwM0Q0NDRFRDEyM0Y0NDJGRDAwNTcKKzoxMEQ3NDAwMDNFNDQ4RjkxMDNFNDU4RkQwMDNGNTAwRjUwMDNFNjA2MUUKKzoxMEQ3NTAwMDcwMDAwMDAwMDAwMDAwMDAxODA1RjQwMEY5MDAzRDQwRDIKKzoxMEQ3NjAwMDBDRDAwM0Y0MDBERDAyM0U0MDBDOTAwM0U0NDBDOTEwRUQKKzoxMEQ3NzAwMDM3NDAwN0QwMDcyNDAwRTUwMDJGNkEwRjcwMDMwNjAwMkEKKzoxMEQ3ODAwMDcwMDAwMDAwMDAwMDAwMDAzODEwRTAwMEI4MDAzQTAwMEYKKzoxMEQ3OTAwMDgwODAwMkUwMDA4ODAwMkUwMDBBODA1M0EyODAyQ0EwMjYKKzoxMEQ3QTAwMDIyMDAwQjgwMEEyMDAwQjgwMDJFMTAwOTgwMDMwRTA0MEUKKzoxMEQ3QjAwMDMwMDAwMDAwMDAwMDAwMDAwODA1QzQwMEIxMDA2QzQwMEIKKzoxMEQ3QzAwMDJBMTAwMjg0MDE4MTgwMkU0MDA5MTAwMkY0MDA4RDA0ODkKKzoxMEQ3RDAwMDIwNDAwQjEwMDI4NDAwQjEwMDJDNDAwQjk4MDI0MjAxNDMKKzoxMEQ3RTAwMDcwMDAwMDAwMDAwMDAwMDAxODExQTQyMEI5MDAyQTQwQjkKKzoxMEQ3RjAwMDg4QjQwMkU2MDFBOTIwMkU0ODBBOTAwMEE0NDBBRDQwNUEKKzoxMEQ4MDAwMDIyNDAwQjkwMTJBNDA0QjkwMTJFNDEwQjkwMDIwNjA0OTEKKzoxMEQ4MTAwMDYwMDAwMDAwMDAwMDAwMDBBMDE1RTQwMEY5QzAzRTYwQjgKKzoxMEQ4MjAwMDBDOTQxM0E2MDJEOTQyMUM2MDBDOUUwMUM2MDRDMTAwRDAKKzoxMEQ4MzAwMEIyNDAxRjkwMDJBNDAwRTkwODNFNjg0Rjk4MEI2ODA0QUMKKzoxMEQ4NDAwMDcwMDAwMDAwMDAwMDAwMDAyODAxQTY0MEY5MjAzODcwOTgKKzoxMEQ4NTAwMDBGOTEwM0U0MDBEOTgwM0U0MDBGOUMxM0E0MDBGOTAwMEYKKzoxMEQ4NjAwMDNFNDAwRjEwMDM2NDEwRjkwQTNFNTAwRDlBMDNDQTAwOUYKKzoxMEQ4NzAwMDYwMDAwMDAwMDAwMDAwMDAyODEwQTEwMEQ4MDQzRTAwNTUKKzoxMEQ4ODAwMDBDODExM0MwMDJEODIwM0UwMDJEODQwM0UwMDBDQzA4OTgKKzoxMEQ4OTAwMDNBMDAwRjgwNDNFMDAwRjg0MTMyMDAwNzgxOEIwQTA0MTAKKzoxMEQ4QTAwMDIwMDAwMDAwMDAwMDAwMDAyODA1M0E2MDhBMDAyRkE4MzAKKzoxMEQ4QjAwMDBBRTAyMkU4MDI3RTQ4MkU4MDA4QTA0MkU4MDQ4RTAwOUEKKzoxMEQ4QzAwMDIzQTgwQkE4ODJFODAwRUUwMEEyODA0QjYwMDIwQTAwQTkKKzoxMEQ4RDAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NEMwMDkzMDA2Q0MwRDAKKzoxMEQ4RTAwMDA4MzAwMkNDMDAxMzgxMkNDMDA4MzAwMkNFNDA4MjQwQTgKKzoxMEQ4RjAwMDI4RTAwQjM4MDJDQzAwQjMxMDI0QzA4QjM4MDIwQTAwOTkKKzoxMEQ5MDAwMDUwMDAwMDAwMDAwMDAwMDBBMDAxMUUwMDg3MjAyRkMwNzIKKzoxMEQ5MTAwMDBBNzAwMkRDMEFCNjAwMkNDODg4NzIwNkQ4MDA4NjAwOUQKKzoxMEQ5MjAwMDIxQzAwQjcwMDJEQzg0QUY4MEE1QzAwQkQwMDIyODAwQTAKKzoxMEQ5MzAwMDQwMDAwMDAwMDAwMDAwMDBBODA4MUUwMEQ3ODAzREEwQTUKKzoxMEQ5NDAwMDFDNzgxM0Q2MDJENzgwM0RFQzA4N0UyM0ZFMDBDRTgwRTMKKzoxMEQ5NTAwMDM5NjAwRjc4MDNERjAwRjY4MDc1RTAwRjc4MDMyQTAyNDQKKzoxMEQ5NjAwMDAwMDAwMDAwMDAwMDAwMDAwODFEOEMwMEZCMTAzRTgwM0QKKzoxMEQ5NzAwMDFGQTAyMUNDMDBGQTAwM0VDMDBFQjAwM0U4MDJGQTAwNUUKKzoxMEQ5ODAwMDNFNDAwRkIwMTNFQzAwRUEwMTNBQzAwRjkwMDNDMjA2MEMKKzoxMEQ5OTAwMDYwMDAwMDAwMDAwMDAwMDAwMDA1RkMwMEZGODAzRjYwMDgKKzoxMEQ5QTAwMDA4OTkwNzdFMDBERDgwM0ZFMjBDRjgwM0Y2MDJERjgwNzUKKzoxMEQ5QjAwMEIzRTAwQ0Y4MDMzRTQxQ0M4MDMzRTQwRkY4MDNDMDAwMjEKKzoxMEQ5QzAwMDcwMDAwMDAwMDAwMDAwMDBBODExOUM0MEI3MDAyREMwQUUKKzoxMEQ5RDAwMDBENUEyMkRDODA3NTAwMkRDMDA4NzEwMkYwMjA4NzAwRUUKKzoxMEQ5RTAwMDIxQzAwQTcwMDIxQzAwRDQyODIxQzAwQjcyMDJFQTA0NzQKKzoxMEQ5RjAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwOUM0MEI3MDAyRDAwMDcKKzoxMERBMDAwMDA4NzIyMkY0MDA4NzAwMkRDMjA4NzAwMkQ0MDA4NzgwQkIKKzoxMERBMTAwMDI1NDAwOTMwMDI1QzAxQUQwMDI5RDA0QjcwMDJDMDAwRTYKKzoxMERBMjAwMDIwMDAwMDAwMDAwMDAwMDAyMDE0Q0MwMEJCQzgyQ0EwODcKKzoxMERBMzAwMDA5MjAwMkNFMDBBMzAwMkNFMEE4M0Q0MkMyMDA4QjgwNEEKKzoxMERBNDAwMDI0NDAwQjMwMEE2QzA4QTM0MEE4RTAwQjM0MDJDODA0NDEKKzoxMERBNTAwMDMwMDAwMDAwMDAwMDAwMDBBODE1QUQwMEZGNDgzQzI4ODEKKzoxMERBNjAwMDBDQTkyMzZDODA4QjAwM0ZDMDBDRkMwM0VDMDBEODgwMTkKKzoxMERBNzAwMDM0NDAwRDMwMDM3QzAyQTM0MDM4NjgwRjI0MDNFQTA0Q0QKKzoxMERBODAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwRUQ4OEZCMDAzRTUwQjgKKzoxMERBOTAwMDBGQTEwM0VDMDQzQUMwM0VDMDBGQjA4M0U4MDJGODEwQjcKKzoxMERBQTAwMDNBNDEwRTkwMDNBQzAwOUIwOEI2NDAwRjgxMDNFMDAwQTIKKzoxMERBQjAwMDMwMDAwMDAwMDAwMDAwMDAwMTEwRkMwMEZGMDBCMzIwNTcKKzoxMERBQzAwMDBDNTAxMzFDMDlDRDgzMzNDMDgzNzAwMDNDMDBEQzEwNjQKKzoxMERBRDAwMDMyNjAwRUYxNDMyQzAwQ0UwNDNCNzAwQ0YwODMwMDQ0MDYKKzoxMERBRTAwMDMwMDAwMDAwMDAwMDAwMDA4MTA0Njc4MEJCMDE2MjIxNUIKKzoxMERBRjAwMDhBODkyMDJDMDA4MEUwMjJDMDBCQjAwM0Q4MTA4QzA0NEYKKzoxMERCMDAwMDIyNDAwNTkwMDJBQzAwRDg4MDM2NDAwQTkwMDIyMDQwQTYKKzoxMERCMTAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1MjYwMEJCMDAyMjA2NjcKKzoxMERCMjAwMDA4ODAwMjJFMDA4ODIwMjJDMDA5QjAwMkE0MDA5OTAwQkIKKzoxMERCMzAwMDYyQzQwOEIwMDYyQzAwODg4MDIyNDEwOEEwMDIyMDAwQTAKKzoxMERCNDAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MEMwMEIzMDAyMDQwNkEKKzoxMERCNTAwMDBBMDA4MjBDMDA4MDAwMjBDMDBCMzAyMkEwMDA4MTAwNEYKKzoxMERCNjAwMEEwQzAwOTMwMDI4QzAwOTAwMDI0NDAwQTI4MDIwMjAxNjMKKzoxMERCNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENjAwMEZCMDIyMDAwMUIKKzoxMERCODAwMDJDOTIwMzJDMDI4ODAwMzFDMDBCQjUwMkE0MDBEMTA0RjIKKzoxMERCOTAwMDMyNDAwRTkwMDMyQzQwQzkwMDNBNDA4Q0EwMDMwMDAzOTEKKzoxMERCQTAwMDUwMDAwMDAwMDAwMDAwMDBBMDFERjQwMEZGMDAyRjAwNDYKKzoxMERCQjAwMDBGQzAwM0RDMDBGQzAwM0ZDMTBGRjA0M0YwMDBGRDAwOEMKKzoxMERCQzAwMDNGNDA0RkQwMDNGQzAwRjUwMDNGNDAwRkUwMDNFODA2NjQKKzoxMERCRDAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1RDg4MENDMDBCNzA0MzEKKzoxMERCRTAwMDRFRTEwMzNDMjBERjEwMzE4MDA2RjAwMzdGMDBGRkMwRDAKKzoxMERCRjAwMDNCQzAwRUYyMDM1RTAwRUYxMDMzRDAyQ0YyMDMzMDAwNzYKKzoxMERDMDAwMDcwMDAwMDAwMDAwMDAwMDBDMDEwRTkwMDg4QzYyMDVDMjEKKzoxMERDMTAwMDA4QTQ1NzY1MDA4RjUyMkFGMDA5RkMwMjA0MDBCQjAwREIKKzoxMERDMjAwMDJERDkwOTc0ODM2NDI4ODM0NDIyODQ4ODA2ODIzMDA0QjEKKzoxMERDMzAwMDMwMDAwMDAwMDAwMDAwMDBDODA1QzkwMDgwMTAyMDA4NjYKKzoxMERDNDAwMDA4MzExMjA0QjJBMzAwMjA4NDFCMzQwMjBDODBCMzIwREMKKzoxMERDNTAwMDJDQzcwOTM2MDI4QzgwOTM0MEFDQzgwODMxMjgzMjAxQTkKKzoxMERDNjAwMDcwMDAwMDAwMDAwMDAwMDBDMDE1QTkwMDg4MDBBMjUwNEMKKzoxMERDNzAwMDA4MzUwMjI0MDA4QjA0MkVDMTA5QjAwMjI0OTRCQjAwOTUKKzoxMERDODAwMDJFQzAwQkIwMDJDQzYwOEIwMDJFODAwODgwMDAzMDA0QzgKKzoxMERDOTAwMDYwMDAwMDAwMDAwMDAwMDAwMDE1RTcwMkNCMThCMjgwMTEKKzoxMERDQTAwMDJDQUMwQTJFMDhFQjAwMzIxMjRFQjAwMzJCODBGQjAwODYKKzoxMERDQjAwMDNBQzAwQUIwMDNBQjA4RUIwNDJFNDgwQ0I4ODMwMDA0NEEKKzoxMERDQzAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxQjY4MEZGODAzOUNBNEIKKzoxMERDRDAwMDBERTgwM0Q2NDBFNzA0M0I2NjRFNzAwM0I4MDBGRjAxMzEKKzoxMERDRTAwMDNGQzA2Q0YwMDM3MDA2RTcwMDMxMDQwRkMxNDNGODAwMzkKKzoxMERDRjAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwODUwMENCNDAzMjkwMjIKKzoxMEREMDAwMDJGQjAwQjY0ODBGQjA4QkExMDBEQjBBNzJEMDBGQjA0RTgKKzoxMEREMTAwMDNFQzA4RUIwMDM2RDAwREIwMTMyNDA4QzMzMDM5MDA0QjMKKzoxMEREMjAwMDIwMDAwMDAwMDAwMDAwMDBDMDA1MjQwMDgzRTBBMkQwMTUKKzoxMEREMzAwMDQwQjAwMjI1MDRCRjgwQTA1MDA4RjgwMjIwMDA4QjAyRUEKKzoxMERENDAwMDJGRDAwOEYwMDIyNDAwOEY4MDM2MDEwODg0NDIzNjAwNkMKKzoxMERENTAwMDQwMDAwMDAwMDAwMDAwMDBFODA1NDQwMDgzNDgyMEM0QTMKKzoxMERENjAwMDA5MDAwMjQ2MDBCMzAxQTg5MDE5MzAxMjhDMDBBMzA0RTgKKzoxMERENzAwMDJFRTIwQUIwMDIwQzAwODM0OTI4QzAwOTNDMDIzODAwOTgKKzoxMEREODAwMDUwMDAwMDAwMDAwMDAwMDBGMDAxMzYwNDgzODAyMUUxMTMKKzoxMEREOTAwMDA4MzgxMjFFMjhCMzk4MjFBMDE5Mzg4Mjk2MDA4NzgzNkMKKzoxMEREQTAwMDJERTIwODc4MjIzNjhDODc4MDJERTAwOTc5MDIzRTAwMkEKKzoxMEREQjAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MDQwMEMzMzAzMEM4RTQKKzoxMEREQzAwMDREMDAwQjRDODBGMzEyMzhDMDBEM0EwMjhDODBGMzAwRUEKKzoxMERERDAwMDNDQzAwRTMwMEIwRTAwQzMwQzNBQzAwRDMwMDMxMjAyRDMKKzoxMERERTAwMDAwMDAwMDAwMDAwMDAwMDA0MDFEQjQwNkZGMTAzRkMwMEUKKzoxMERERjAwMDBGQjAxM0JDMDBGRjEwN0ZDMDBFRjFBMzdDMDBGRjEyMTgKKzoxMERFMDAwMDNGQzIwRkY1MjNCQzQxRUYxODM3ODBBRUMwMDM1MDA2NjgKKzoxMERFMTAwMDYwMDAwMDAwMDAwMDAwMDBBODA1RTQwMERCMDAzRURBMUUKKzoxMERFMjAwMDBDODAwMzY2MTA4QjAwMzI4MDhDQjYwMzRBMDA0QjgwNTYKKzoxMERFMzAwMDMyQzgwQ0I0MDMwQTEwREIwMDNFQzEwQ0IwNDMyQTAwMDgKKzoxMERFNDAwMDcwMDAwMDAwMDAwMDAwMDBDODExQjQwMDg3MDQyQ0MwNUUKKzoxMERFNTAwMDBENzAwMzFDMDg4NzQ4MjA4MTBENzI4MjVDMDBENzAwN0EKKzoxMERFNjAwMDIxQ0MyOEYwMDIxQzEwODcyMDJDMDAwODQwMEEzMjA0MjQKKzoxMERFNzAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwOTYwMEI3ODEyREUwRTcKKzoxMERFODAwMDA4NDgwMjBFMDQ4NzgwMjFFMDA4NzgwMjNFMDE4NzgwNUUKKzoxMERFOTAwMDIxRTAxODc5MDIzQTAxOTdBMDJENjAwODM4MDIyMDAwOEQKKzoxMERFQTAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0QzYwMEEzQzYyQ0MwREIKKzoxMERFQjAwMDA5MzAwMjBDMDE4MzAwMjBFMDA5MzAwMjRFMDA5MzAwN0IKKzoxMERFQzAwMDIwQzA0OTMwMjIwRjY0ODMwMjZDRDQyODMwMDIxMjA0MkYKKzoxMERFRDAwMDMwMDAwMDAwMDAwMDAwMDBFODExQUI4MEZBRTAzQzg4NTAKKzoxMERFRTAwMDBDRTAwMjI4MDJDQTAwQjNBOTBDQTAwMzNCMTBDQTAwMzAKKzoxMERFRjAwMEEyODAwQ0EwMEIzODAwREEwMDNGQjAwQ0U2MDMzQTA0MTUKKzoxMERGMDAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwQzAyMDk4MDgzRTAwQUIKKzoxMERGMTAwMDBGODAwQkUxMDBGODAxM0MxMDRGMDAwM0EwNDBGODAwMTcKKzoxMERGMjAwMDNFMTAwRTgwMDNFMDAwRjgwMDNDMDIyRjA0OTNEMjAwNjQKKzoxMERGMzAwMDMwMDAwMDAwMDAwMDAwMDAwODEwRTQwMEMxQzEzMjQwQzEKKzoxMERGNDAwMDBDOTgwMzI2NDBGOTAwMzI0MDBDOTgwMzI0MjRGOTAwNzEKKzoxMERGNTAwMDNDNjAwQzEwMDNBNDAwRjk4MjMyNDAwQzkwMDMwMjA0RDAKKzoxMERGNjAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjQwMDg5MDAyMjUwOUUKKzoxMERGNzAwMDBEOTgwMjI1ODBCOTAwMjI1MjBEOUMwMjI0MDBCOTAwQTAKKzoxMERGODAwMDJFNjAwODkwNDIyNDAwQjk0MDM2NDAwODkwMEEyMDAwRDQKKzoxMERGOTAwMDEwMDAwMDAwMDAwMDAwMDAxODA1MjQwMDhEMDAyMzQwNDAKKzoxMERGQTAwMDA4MTIwMjI0MDBBMTEwQTI2MDA4OTI4QTI0MDBCOTAxN0MKKzoxMERGQjAwMDJFNDYwODkwMDJBNDAwQjE1MDIyNDAyODkwODIwNjAwMEMKKzoxMERGQzAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDQ4NDg1MjBBMUQ4NUYKKzoxMERGRDAwMDA5MTAwMjA0ODBCMzIwMjA0MDI5MTIwNjA0MDBCMTAxNzgKKzoxMERGRTAwMDJDNDgyODEyMDIwNDAwQjEyMDI0NDgwODEyMDIwMjAxMjEKKzoxMERGRjAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjE0MjhBMDBCMzAwN0MKKzoxMEUwMDAwMDBDMDUwMzIxNDBFMDUwQjIwMDJDODAwMjIxNDBGMDUwNkEKKzoxMEUwMTAwMDNDMTQwQzg1MTNBMTUwRjg1MDMyMTQwQzg1MjMyRTAzQTgKKzoxMEUwMjAwMDUwMDAwMDAwMDAwMDAwMDA5ODFERjQ0MEY5MTAzRTQ0MkMKKzoxMEUwMzAwMDBGRDQwQkY0NDRGOTEwM0Y1MDRGMTEwM0Y0MDBGOTAwRDIKKzoxMEUwNDAwMDNFNDQwRjkxNTNGNDE0RjkxMDNGNDQwRkQxMDNFNjAyRkMKKzoxMEUwNTAwMDcwMDAwMDAwMDAwMDAwMDA5ODA1RTZBMEREODhCMzY2QUYKKzoxMEUwNjAwMDBDREM4MzM2ODhCREEwMzc2QTBDREEwQjI1MDJDOTQwNjgKKzoxMEUwNzAwMDNGNzg0Rjk4QjNFNTA0Q0RBMDcyNzgwQ0Q4OEIyNjE0NjYKKzoxMEUwODAwMDcwMDAwMDAwMDAwMDAwMDAzODEwRTMwMDg4NDIyMjMxRDgKKzoxMEUwOTAwMDA4MEEwMjIyQTBCOEY5MjIxMDBEODQxMjZBODA4ODgwMzIKKzoxMEUwQTAwMDJFMjAwQjA4MDJFMjgwQThBOEEyMzg0OEE4MDIwRTAwODEKKzoxMEUwQjAwMDMwMDAwMDAwMDAwMDAwMDA0ODA1QzRBMjgxMDAyMDQ4OTQKKzoxMEUwQzAwMDA4MTI0MjQ1MDBCMTAwMjQ0MDA5MTQwMjI0MDA4MTIwQjYKKzoxMEUwRDAwMDJDNTgwQjEwODJDNDA0OTE0MDY0NkMwODMwODIxMjA1RTUKKzoxMEUwRTAwMDcwMDAwMDAwMDAwMDAwMDAxODE1QTQwMDg5MDAyMjQxMDMKKzoxMEUwRjAwMDA4OTA4QTY0ODBCOTAwMjI1MDA5OTAwNjY0MDg5OTAwNEIKKzoxMEUxMDAwMDJFNDAwQjkwMDZDNDAxQjkwMjI2NjE4ODkwMDIwNjA0RDUKKzoxMEUxMTAwMDYwMDAwMDAwMDAwMDAwMDBBMDE1RTQwMEM5MDAyMjQwREIKKzoxMEUxMjAwMDJDOTQyMzY0MDBCOTAwMzY0MDA5OTAxMzA1MDBDOTAwRkYKKzoxMEUxMzAwMDNFNDA0RjkwMTNFNUMwRDkwMDI2NDAyQzk0MDMyODAwQTAKKzoxMEUxNDAwMDcwMDAwMDAwMDAwMDAwMDA2ODAxQTQwMkU5MDgzQzQwRTMKKzoxMEUxNTAwMDBGOTAwQkE0MDBGMTAwM0U0MTBGOTA0M0E0ODhFOTA0MDYKKzoxMEUxNjAwMDNFNDAwRjkwMDNFNjAwRTEwMDNBNDA5RjkyNjNEQTAwRTAKKzoxMEUxNzAwMDYwMDAwMDAwMDAwMDAwMDAyODEwODAxMEUwMDEzMjAwNjQKKzoxMEUxODAwMDhGODAwMzIwMDBEODA4MzAwMThDMDAwM0UxMDJDODA0MEUKKzoxMEUxOTAwMDNFMDAwQzgwMEIyMTAwQzgwMDc4MDAwRjg2MDMwQTAwQTcKKzoxMEUxQTAwMDIwMDAwMDAwMDAwMDAwMDAyODA1MjgwMDhFNDAyQjgyN0YKKzoxMEUxQjAwMDBCQTAwMjNBMDA4RTgwMjM4MjA4RTIwMjI4MTA4QTAwMTcKKzoxMEUxQzAwMDJGOTgyOEEwMTIyODAwOEUyMDJFODA0QkU0MDIwQTAwRUYKKzoxMEUxRDAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NEMwMkEyNDAyMDgwMDIKKzoxMEUxRTAwMDBCQjAwMjRFNDA5M0MwQTAyMDA4MzYwMjhDMDA5MzAwNzIKKzoxMEUxRjAwMDJDRTIwODMwMDY0QzEyOTMwODI4QzAwQkIwMDIwQTAwMkIKKzoxMEUyMDAwMDUwMDAwMDAwMDAwMDAwMDBBMDAxMUMwODgyNDAyOTQwQ0UKKzoxMEUyMTAwMDBCNzAwMjVFMDg4NDA4MjM0MDA4NzAwNjFDODA4NzAwOEIKKzoxMEUyMjAwMDJEMjAwODc5MTI1QzAwOTQwMDJEQzAwQjMwNDIyODAwOEMKKzoxMEUyMzAwMDQwMDAwMDAwMDAwMDAwMDBBODA4M0UwMEU0ODAzMUExN0EKKzoxMEUyNDAwMDBGNTgxMzc2MDBEMDgwMzFDMDBDMzgwM0JFODBENzgxQzAKKzoxMEUyNTAwMDNGMjA4Qzc5MDM3RjAxRDY4MDM5RTg0RjY4MDMyQTAwN0MKKzoxMEUyNjAwMDAwMDAwMDAwMDAwMDAwMDAwODFEQkUwMEZBMDAzRTAwOTMKKzoxMEUyNzAwMDhGOTYwQkE0MDBFQTAwM0NDMDBGOTAwM0FDMjBGQjQwM0IKKzoxMEUyODAwMDJFMDAwRkIyMDNBREEwRUEwMDNFQzAwRkEwMUJDMjA0RDcKKzoxMEUyOTAwMDYwMDAwMDAwMDAwMDAwMDA0MDA1RkUwOERFODEzM0E0OUQKKzoxMEUyQTAwMDBFRkMxMzNFMDBGQzgwMTMyMDBDNjgwMzNFMjBGRkM4QzgKKzoxMEUyQjAwMDNGNjAxREY4MDM3RTAwQzc4MDMzRTIwQ0Q4MDMxMDAwRDYKKzoxMEUyQzAwMDcwMDAwMDAwMDAwMDAwMDBBODExOUMwMDg2NDEzMUM0Q0QKKzoxMEUyRDAwMDA4Nzk0MjlDMDBCQzEwMjE0MDg1MzUwMzVDMDBCNzAwRTIKKzoxMEUyRTAwMDJEQzAwODcyMDIyQzAwQTcwMTM3QzAwODUxNDIyQTAwMzUKKzoxMEUyRjAwMDYwMDAwMDAwMDAwMDAwMDAxMDAwOEM0MDgyMDAyNDgxQkIKKzoxMEUzMDAwMDA4RDgwMjE0MjBCNTAwMjA0MDA5NjAwMjFDNDBCNzAwNjQKKzoxMEUzMTAwMDJDNDAwQjMwMjJEQzAwOTcwMDIxQzQwODQwMDI0NDAwNEUKKzoxMEUzMjAwMDIwMDAwMDAwMDAwMDAwMDA2MDE0RUMwMDkyMDYyMDkwMjUKKzoxMEUzMzAwMDM4MTUwMjg2MDBCODAwNjA1MDA5MzAwMjRFMDFCQjAwNUIKKzoxMEUzNDAwMDJFNDAwQjMwMDJDRTIwQjMwMDI0RjA0ODAyMEE1ODA0QkQKKzoxMEUzNTAwMDMwMDAwMDAwMDAwMDAwMDBBODE1QkMwMENBMDBBNjk0MTAKKzoxMEUzNjAwMDJDOTAwMzJFMDBGQjA1QjI4NTBEOTAwMzNGOTBGRjAwMUIKKzoxMEUzNzAwMDdFODAxRkYwNDNGQzIxOUEwMDMzQzgzQ0IyMDM2QTA0M0MKKzoxMEUzODAwMDYwMDAwMDAwMDAwMDAwMDA5MDAwRUMwMkVBNDAzRDgwQzgKKzoxMEUzOTAwMDBGMTA5M0VEMDBGQjQwM0U5MDhGMzAwM0VDODBGQjAwQUMKKzoxMEUzQTAwMDNFOTExQ0IwMDMyQzEwRTgwMDNFQzgxRjkwMDNBNTEwM0UKKzoxMEUzQjAwMDMwMDAwMDAwMDAwMDAwMDA4MDEwRkMwMkU0MDA3M0EwQTgKKzoxMEUzQzAwMDBDRkMwMzdDMDJGRjEwMTNDNDFDQzAwMzNDMDBGRjAwQzQKKzoxMEUzRDAwMDM3RTAwREYwMDNGQzAwRUQ4MDMxQzAwQzMyNjMyMDA0MDcKKzoxMEUzRTAwMDMwMDAwMDAwMDAwMDAwMDA4NDAwNkMwMDhBQzAyMkIxRjAKKzoxMEUzRjAwMDhBQjg0MzRBMTBEQjIwMjBGMDBBOTQwMzZDMDBCQjA3NjQKKzoxMEU0MDAwMDIyQjgwOEIwMDJFQzExRThDMEIyQzAyQTkyMUEyMDAwNkIKKzoxMEU0MTAwMDEwMDAwMDAwMDAwMDAwMDA4MDAxMkMwMEFBODAyMjk4NUIKKzoxMEU0MjAwMDA4OTAwMjJGMDNCQjAxMkE4MzA4QjI0RTJDMDRBQjAyRDIKKzoxMEU0MzAwMDIyQzQyOEIwMjJFQzA5QjM1MDYyQzAwOEIwMDIyMDAwMDgKKzoxMEU0NDAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MEMwMTgzMDA2MDgwMTAKKzoxMEU0NTAwMDA4MTIwQTQ0MDA5MzAwMkE4MDRBMzAwMjBDMDBCMzAwREMKKzoxMEU0NjAwMDYwQzAwODMwMDJDQzAwQjMwMjYwQzAwODAwNDYwMjAxNjAKKzoxMEU0NzAwMDAwMDAwMDAwMDAwMDAwMDA4MDBENkMwMEU4MDIyMjgwMTcKKzoxMEU0ODAwMDJDRjI0MzJDMDBGQjAwQkFDMDA4QTUwMjNDMDBFRjAwQjAKKzoxMEU0OTAwMDM2QzA0REYwMTNGRDUxRkIwMDMyQzAwQ0IwMDMyMDAxMUIKKzoxMEU0QTAwMDUwMDAwMDAwMDAwMDAwMDBBMDFERkMwMDdFMDQzRjgwMjIKKzoxMEU0QjAwMDBGMzE0M0YwMDJGRjAwMzdDMDBGRjAwM0ZDMDhGRjAwRUMKKzoxMEU0QzAwMDNGQzAwRkYwMDNGQzAwRUYwMDNCQzAwRkMwMDNFODE2OTUKKzoxMEU0RDAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1RjI0MEZDODAzRjI0RjYKKzoxMEU0RTAwMDBERDg1M0Q2MDRERjMyM0ZDQzRDQzA0M0ZDMDBERjYwNzQKKzoxMEU0RjAwMDM3QzAwRkM0MDM3Q0QwREYyMDMzRDgwREY4NDNGMDAwQzEKKzoxMEU1MDAwMDcwMDAwMDAwMDAwMDAwMDA4MDE4RTg4MEIwMDEyRTA4QjQKKzoxMEU1MTAwMDg4OTAwMkVDMjA4QjcwMkZDQzA4QjM4MkZERTBCRjQwQzYKKzoxMEU1MjAwMDIyRDgwQjkzMDJGREMwQUYxMDI4RjAwOEJDMTJGMDA0RjMKKzoxMEU1MzAwMDMwMDAwMDAwMDAwMDAwMDA4ODA1QzQwMEIwMDAyRTAxN0IKKzoxMEU1NDAwMDBBMTI4MkVDODBCMzAwMkNDODBBMDAzMjhDMDBBMzMwN0YKKzoxMEU1NTAwMDIwRDIwOTAwMDI4QzgwODMwMDI4RDgwQjM0MTJGMjAxRUIKKzoxMEU1NjAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1QUMwMUI4MDIyRTAwRTEKKzoxMEU1NzAwMDBBOTAxMkVDMTA4QjAwMkVDMDBBQjAwMEVDMDBCMzAwMjEKKzoxMEU1ODAwMDIyQzEwQjkyMDJDQzAxQUIwMDJBQzAwMkIwMDJGMDA0RkYKKzoxMEU1OTAwMDYwMDAwMDAwMDAwMDAwMDA0MDE1RTAwMEZBMEMzRUMwRTIKKzoxMEU1QTAwMDBGQTAxM0VFMjBEQjAwM0VDMDJFODg1M0VDMDBGQjAwRDIKKzoxMEU1QjAwMEIyQzA4RkFDODNBQzA4REIwMDFBQzA0RkIwMDNDMDA0RkMKKzoxMEU1QzAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxQjgwMEZFMDAzRkMwNDUKKzoxMEU1RDAwMDJERTAwM0ZFODA3RjAwM0ZDMDBERDIwM0ZDMDBCRjAxOTEKKzoxMEU1RTAwMDNFQzAwREM4MDNGQzBDRkYwMDNGQzAwOUYwMjNGODAwM0IKKzoxMEU1RjAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwQTQwMEZBNDAzMkMxOUEKKzoxMEU2MDAwMDBGQTAwMzI5MDhEQjAwM0VDMDBFODUwM0VDMjBDQjAwRTEKKzoxMEU2MTAwMDNBQzAwRUE0MDNFQzAwRkIwMDNBQzIwRUIwMDMxMDA0OTMKKzoxMEU2MjAwMDIwMDAwMDAwMDAwMDAwMDBDODA1MkMwMEJBNjAyMEMwRDcKKzoxMEU2MzAwMDBCQTAwMjA4MDBBRjAwMkZEMDBCQjUwMkZFMDI4RjAwMjYKKzoxMEU2NDAwMDJGQzAwRDgwMEEzQzAwQjcwMDIzQzIwNUYwMjIzNjAwMUYKKzoxMEU2NTAwMDQwMDAwMDAwMDAwMDAwMDBDMDA0NDAwMEIxODgyMDAwMUQKKzoxMEU2NjAwMDBCMTAwMjBDMDA4MzAwMkVDODBCMDgwNjRENDA4MzAwREYKKzoxMEU2NzAwMDIwQzAwODMwMDYwQzA4OTMyMDBBRTA0QTMwMDIzODAwMTcKKzoxMEU2ODAwMDUwMDAwMDAwMDAwMDAwMDAyMDEwNUEwMEI1OTAyMTIwMkEKKzoxMEU2OTAwMDBCNTg0MjNFMDBBNzgwMkRFMDBCNjkwMkRFNDA4NzkyQjYKKzoxMEU2QTAwMDJERTAwOTE4MDI5RTAxQjc4MDI5RTAwMzcwMDIzRTAwQTgKKzoxMEU2QjAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4NDQwMEYxMDEzMDAwNjQKKzoxMEU2QzAwMDVGMTgwMzBDMTA4MzAwM0NDNDBFMDQwM0VDMDA4MzAwQUQKKzoxMEU2RDAwMDMwQzQwQzMxMDM4QzAwRjMwMDM4QzgwRTMxMDMxMjAyMzEKKzoxMEU2RTAwMDAwMDAwMDAwMDAwMDAwMDA0MDE1QkMwMEZEMDRCRjA0NTUKKzoxMEU2RjAwMDRGNTgwM0Y4MDhFRjA4M0ZDMDBGRjAwMUZDMDBGRjRDMzMKKzoxMEU3MDAwMDNGQzEwRkQwMDMzQzAwRjcwMDM3QzIwRDcyMDNEMDA2QTMKKzoxMEU3MTAwMDYwMDAwMDAwMDAwMDAwMDAwODA1RTIwMERCMDAzMkMwREQKKzoxMEU3MjAwMDREQTgwMzJDMDhGQjAwN0VDODhGQjAwQjZGNDVFQkMyRDEKKzoxMEU3MzAwMDM2QzAwN0EwMDNFRjIwQ0I1MEIyQzAwQzc5MDMyQTAwRUIKKzoxMEU3NDAwMDcwMDAwMDAwMDAwMDAwMDA0ODE5OTgwMDhGMDAyMUMwRjAKKzoxMEU3NTAwMDBCNjAwMzVDMDAzNzAwMkREMjBCMzAwMjBDQTg4NzI0MUQKKzoxMEU3NjAwMDIxRDAwOTcwMDJERDg4ODcyQTIzRTgwODcwMDIzMjA0NkMKKzoxMEU3NzAwMDYwMDAwMDAwMDAwMDAwMDAyMDAwQjYwMDk3ODAyMUUwNEIKKzoxMEU3ODAwMDBCNjgwMjFFMDBCNzgwMkRFODhCNDg4MjFFODBBMzg0OTAKKzoxMEU3OTAwMDI1RTgwQjY4MDJDRTAyODc4MDIxRTAwODdBMDIyMDAwN0IKKzoxMEU3QTAwMDIwMDAwMDAwMDAwMDAwMDA2ODA0Q0MwODgzODIyMEUwMDQKKzoxMEU3QjAwMDhCMkEwMjQ4NDBCMzAwMkNDMDBCMzA4MjBDMDA4MzAwMkYKKzoxMEU3QzAwMDAwQzEwOTMxMDJDQzAwODMwMDIwQzAwODMwMEExMjA0QzUKKzoxMEU3RDAwMDMwMDAwMDAwMDAwMDAwMDBFODE1RTgwMERBQTAzMkE4RDAKKzoxMEU3RTAwMDhEQTgwMzNCMDBGQTAwM0U4MDBGRTQwMzY4MDBFQTAyQjQKKzoxMEU3RjAwMDM2ODAwRkU0MDNFODAwQ0EwMDMyODAyQ0EwMDMzQTA0RkMKKzoxMEU4MDAwMDYwMDAwMDAwMDAwMDAwMDA0ODAxQTAxMEY4MDBCRTIwRDkKKzoxMEU4MTAwMDhGQzEwM0UwMjRGODAwM0UxMDBGODQwM0UwMDBGODAxRUMKKzoxMEU4MjAwMDNFMDAwRjgwMDNFMDAwRjgwMUJFMTAwRjgwMDNEMjAwMEQKKzoxMEU4MzAwMDMwMDAwMDAwMDAwMDAwMDAwODEwQTQwMEY5NDAzMjQwNDEKKzoxMEU4NDAwMENGOTAwM0U0MDBDOTAwMEU1MDBGMUEwMzI2MDBGOTAwMTAKKzoxMEU4NTAwMDNFNDAwRjkwODFFNDAwRjk4MDMyNDAwQzkwMDNDMjA0RTYKKzoxMEU4NjAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjQwNEIxMDQyMjQwNzUKKzoxMEU4NzAwMDBCOTAwMkU0MDBBOTAwMkU1MzBCOTIwQTI2NDhCOTA0MUIKKzoxMEU4ODAwMDJFNDAwQjkwMDJFNDAwQjk4MDAyNTAwODkwMDJFMDAwOTQKKzoxMEU4OTAwMDEwMDAwMDAwMDAwMDAwMDAzODA1MjQwMEJEMDAyMzQwRTcKKzoxMEU4QTAwMDBCRDAxMkM0MDA4OTAyMkU0MDBCOTAyMjI0MDBCOTAwMjQKKzoxMEU4QjAwMDJFNDAwQjkwMDJFNDAwQjEyMDIwNDA2ODkwMjJDNjAwNTgKKzoxMEU4QzAwMDQwMDAwMDAwMDAwMDAwMDAyODE0MTQwMEJGMTJBMTQwMDYKKzoxMEU4RDAwMDBCNTAwMkM0MDBBMTIwMkM0ODBCMTIwMjA0MTBCMTExRUQKKzoxMEU4RTAwMDJDNDgwQjEzMjJDNDAwQjE0MDIwNUEwODEwMDJDMjAxNjgKKzoxMEU4RjAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjE0MEY4NDAzMjE0MzQKKzoxMEU5MDAwMDBGNDUwM0UxNDBDODUwM0UxNThGODUwMzIxRThGODY4QTQKKzoxMEU5MTAwMDNFMTQwRjg0MDNFMUUwRjAyODMyQThDQzgwMjNFRTAzRkMKKzoxMEU5MjAwMDUwMDAwMDAwMDAwMDAwMDA5ODE1QzQxMEY5MjAzRTQwN0YKKzoxMEU5MzAwMDBGOTAwM0Y0MDBGOTEwM0U0NDBGRDEwM0U0MDBGOTIwRDYKKzoxMEU5NDAwMDNFNDQwRkQzMDNFNDAwRjkwMEJFNDAwRjk0MDNFNjA2RjMKKzoxMEU5NTAwMDcwMDAwMDAwMDAwMDAwMDAxODE1RTQwMEZEMTAzMzQwQjYKKzoxMEU5NjAwMDBDRDAwMzI0MDBEOTAwM0Y0MDRDRDAwM0Y2MDBGRDkwQUEKKzoxMEU5NzAwMDNBNDAwQzkwMDNFNkEwRkRBODM3NjgwQ0Q4ODMyNjAwMjcKKzoxMEU5ODAwMDcwMDAwMDAwMDAwMDAwMDAzODEwRTAwOEM4QTAyMjAwNUQKKzoxMEU5OTAwMDA4ODAwMjIwMDA4ODAwMkUwMDBDODAxMkUwMDBCODgwNjEKKzoxMEU5QTAwMDIyMDAwRDBBMDJFMzgwQjBDMDIwMzQwODg0MDM0RTA0MjQKKzoxMEU5QjAwMDMwMDAwMDAwMDAwMDAwMDA0ODAwODQwOUExMDAyMDQxNTAKKzoxMEU5QzAwMDA4OTAwMjI0MDA5MTAwMkM0MDA4MTAwMkM1MDBCMTYwOUMKKzoxMEU5RDAwMDIwNDAwODEwQTJDNDIwQjEyODI0NEEwODEwMDI1MjAxODUKKzoxMEU5RTAwMDcwMDAwMDAwMDAwMDAwMDAxODE0QTQwMTgxMDBBMjQwODMKKzoxMEU5RjAwMEE4OTAwMDI1NDA4OTAxMkM0MDA4OTQwMkU0MDBCOTAwNDkKKzoxMEVBMDAwMDJBNDAwOTkwMDJFNDAxQjkwNDIyNDE0ODkwMDI0NjA0RDgKKzoxMEVBMTAwMDYwMDAwMDAwMDAwMDAwMDBBMDE0QTUyMEU5MDAzMjQwQzIKKzoxMEVBMjAwMDRDMTAwQjI2MDBEOTAwM0U0MDJDOTgwM0U0MDBGOTAwNUUKKzoxMEVBMzAwMEIyNDAwQzkwMDNFNDAwRjkwMDM2NDAyQzkwMDM2ODA0QzcKKzoxMEVBNDAwMDcwMDAwMDAwMDAwMDAwMDA0ODAxQTQwMEU5MDAzRTQwMDIKKzoxMEVBNTAwMDBGOTAwM0U2MDBGOTAwM0U0MDBFOUEwM0U0MDBGOTAwMkYKKzoxMEVBNjAwMDM2NDAwRjkwMDNFNDAwRjkwMDNDNDAwRjkwMDNEQTAwQjkKKzoxMEVBNzAwMDYwMDAwMDAwMDAwMDAwMDAwODEwQTEwMEY4MDAzMjAwNTMKKzoxMEVBODAwMDBGODAxM0EwMDBDODAwMzIwNDhDODAwM0EwQzBGODAwREYKKzoxMEVBOTAwMDNBMDAwRjgwMDMyMDAwQzAwOTMyMDA0QzgwMDEwQTA0QjQKKzoxMEVBQTAwMDIwMDAwMDAwMDAwMDAwMDAyODA1MjgwMEJFMDAyMDgwOTMKKzoxMEVBQjAwMDBCRTAwMjg4MDBBQTAwMDNBMDBBRTYwMkZBMDA4QTAwMUUKKzoxMEVBQzAwMDMyODAwQkEwMDIyODAwOEU4MEEzODAyODIwMDI4QTAwQkEKKzoxMEVBRDAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NkMwMEIzNDgyMDQwMDIKKzoxMEVBRTAwMDBCMTAwMjBDMDA4MzAwMjBDMDA4MzQ4MjhFMDQ5OTAwQjEKKzoxMEVBRjAwMDBBQzAxQjMwMDIwQzAyOTA1MDIwNjAwODMwMDIwQTAwNEQKKzoxMEVCMDAwMDUwMDAwMDAwMDAwMDAwMDA4MDExMUM4MEJEMEEyMTQ4NTgKKzoxMEVCMTAwMDBCNTIwMjlDNDBBM0EwMjA4MDBBNjAwMkNFMDA4NTIwRjgKKzoxMEVCMjAwMDIxQzQwQjdBMDYxRTgwOTUyMDIxOTAwODcwMDIyODAwQ0YKKzoxMEVCMzAwMDQwMDAwMDAwMDAwMDAwMDA4ODA4MUU4MEY3ODBCMTc5QzYKKzoxMEVCNDAwMDBGREIwMjNFMjBDN0EwQjE2MENDNzgxMzk2MDBGMUYwMzUKKzoxMEVCNTAwMDM5RTIwRjdCMTMwRjAwRDRBMDMxNjAyQzcwMDMyQTAyMUUKKzoxMEVCNjAwMDAwMDAwMDAwMDAwMDAwMDAwODE1QUMwMEY3MDAzRTQwNjcKKzoxMEVCNzAwMDBGOTAwM0VEODBGQjEwM0U0MDBCQjAyM0VDMDBGOTIwMUEKKzoxMEVCODAwMDNBRDgwRkIwMEJFRDgxRUQxMDNFODAwRjMwMDNDMjA2NzYKKzoxMEVCOTAwMDYwMDAwMDAwMDAwMDAwMDAwMDA0QkUyMEVFODAzMzYwMzIKKzoxMEVCQTAwMDBDRDg4MzFFMDA2RjgwMzNFMDBGQjgxMTMyMDRGNTgwNUIKKzoxMEVCQjAwMDMzRTAwRkY4ODMyRjQwRkU4MEIzRTAwQ0Y4MDMxMDAwMjEKKzoxMEVCQzAwMDcwMDAwMDAwMDAwMDAwMDBBODE4OUMwMEJDMDBBMTQ0RDgKKzoxMEVCRDAwMDA4MTAwMzVDMDA4RjAwMjE4MDBCRUEyMjFDODBCNTAxMjUKKzoxMEVCRTAwMDIxQzAwQkYwMDIxRTgwQkUwMDIzODAyQTcwMDIyQTA0N0UKKzoxMEVCRjAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwOUMyMEE3MDAyMzQwRUYKKzoxMEVDMDAwMDBCNTAwQTNDMDBBNzAwMjVDMDBBNDMwMjEwMDBCNTAwQzMKKzoxMEVDMTAwMDIxQzAwQjcwODIxQzgwQjQwMDIxQzAwODcwMDIwNDAwNjcKKzoxMEVDMjAwMDIwMDAwMDAwMDAwMDAwMDAyMDA0OEUwNEIzMDAyMjQwRjkKKzoxMEVDMzAwMDA5MTQwMjRDMDA4MzAwMjBDMDBCMjQ4MjA0MDBCMTAwQTAKKzoxMEVDNDAwMDIwQzA4QjNBMDIyQzAxQjAwMDIwODAwQTMwMDIxQTA0NDYKKzoxMEVDNTAwMDMwMDAwMDAwMDAwMDAwMDBBODE1OUUwMEVCMDQzMzQwQzcKKzoxMEVDNjAwMDJEREMwMzFENjBFRjAwMzIwMENGOUEwMzI4MDBGRDAwNjkKKzoxMEVDNzAwMDMzQzE4QkZDMEIzQzAwRkMwMDMyODAwQzkwMDMyQTA0NTcKKzoxMEVDODAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwQUMxMEY4MDAzRTQwNzIKKzoxMEVDOTAwMDBFOTgyM0FDMDRGQjAwM0MwMDBGODQyMEVEMDBGOTAwMkIKKzoxMEVDQTAwMDNFQzA0RkIwMDNFQzAwRkQwMDNFODAwRjkwMDNFNDAwMzcKKzoxMEVDQjAwMDMwMDAwMDAwMDAwMDAwMDAyMTEwRkMwMENGODAzMzQwMzUKKzoxMEVDQzAwMDBDRDA4M0ZDMDBFRjAwM0Y0MDBDRjE0MTMwMTBDRDAwMzAKKzoxMEVDRDAwMDNGQzAwMDcwMTMzQzAwRTQwMEIxRDAwQzEwMDMyMDA0Q0UKKzoxMEVDRTAwMDMwMDAwMDAwMDAwMDAwMDBBMTA0MkMwMDhBRTQyQTQwNEIKKzoxMEVDRjAwMDI4OTAwMkVDMDA4QjAwM0UwMjBBODAwMjJDODI4OTA0REMKKzoxMEVEMDAwMDJFQzEwQUIwMEEyQzAwODkwMjIyRjIyQTk4MDIyMDAwQTEKKzoxMEVEMTAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1MkMwMjgwMTQyQTQwMzIKKzoxMEVEMjAwMDA4OTAwMkVDMDhBQjA0MkU4NDA4MTA4MjgwMTA4OTAzM0UKKzoxMEVEMzAwMDJDQzA0QUIwMjIyQzAwQUEwMDIyODAwODkxMDIyMDAwOTgKKzoxMEVENDAwMDQwMDAwMDAwMDAwMDAwMDAwODE0MkMwMDgwMDAyODQwNTMKKzoxMEVENTAwMDA4MTEwMkVDMDA4MzAwMkM4MTBBMDA1QTg4MDAwMTAwOEYKKzoxMEVENjAwMDJDQzAwQTMwMDIwQzAwODIwMDIwODAwQTEwMDIwMjAxMkUKKzoxMEVENzAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENkMwMEM5MDAzQTQwRDcKKzoxMEVEODAwMDBDRDQwM0ZDMDBFQjAwM0U0MDBDOTIwM0EwMDA0RDAwQUQKKzoxMEVEOTAwMDNGQzAwRUYwMzMzQzgwRTgwMDMyQzAwQzkwMDMyMDAzRUIKKzoxMEVEQTAwMDUwMDAwMDAwMDAwMDAwMDBBMDExRkMwMEZDMDAzRDQwRUQKKzoxMEVEQjAwMDBGNTAwM0ZDMDIzRjA0M0IwMTRGQzQxMzcwMDBGRDAwRTEKKzoxMEVEQzAwMDNGQzAxRkYwMDFGQzQwRkMwMDNGQzAwRkQwMTNFODA2MUQKKzoxMEVERDAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1RjhFMEZGODAzREMwQUEKKzoxMEVERTAwMDBERjM4MkYwODBGRjQwMzFDQjBDRjMwM0ZEMDRFRkMxNDMKKzoxMEVERjAwMDMzRTAwRjc5MDNGRTAwQ0Y0MjMzRjA0Q0Y4MDMzMDAwQ0MKKzoxMEVFMDAwMDcwMDAwMDAwMDAwMDAwMDBFMDEwRTkwOEI5ODEyRkYwNTgKKzoxMEVFMTAwMDA4RjQ1MkU5MjBCRjQwMjNGMDBBRjMwMkZEMDg4QjAwRkEKKzoxMEVFMjAwMDM2RTAwQjgwMjJFODgwOEY0MDIyQzAwOEIwODIzMDA0OTgKKzoxMEVFMzAwMDMwMDAwMDAwMDAwMDAwMDBDODA1Q0MwMEIxODAyQ0M1RTcKKzoxMEVFNDAwMDA5MzI0MkM4QzBCMzMxMjBDMTA4MzIwMkNDRDRCQjIwNDEKKzoxMEVFNTAwMDY4QzAwQjMwMDJDQzIwOTM2MDIwODgwODMyMDIzMjAxNTcKKzoxMEVFNjAwMDcwMDAwMDAwMDAwMDAwMDBFMDE1QTAwMEJCODAyRUMwNzQKKzoxMEVFNzAwMDA4QjAwMkVBMDBCQjAwNjJDMTBBQjAwMkNDMDBBQjAwREQKKzoxMEVFODAwMDJFQzAwQkEwMDBFODAwODMwMDIyQzEwODMwMDIzMDA0MkQKKzoxMEVFOTAwMDYwMDAwMDAwMDAwMDAwMDAwMDE1RTg5MEZCODAzRUMwMEMKKzoxMEVFQTAwMDBEQjAwM0UyMTBGQjAwMzJDMDRDQjAxM0VDMDBFOTU0OEIKKzoxMEVFQjAwMDNBQzAwRkIwMDNFNjAwQ0IwMEIyNDAwQ0IwMDMwNDA0MkMKKzoxMEVFQzAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxQjgwMEZGMDAzRkMwM0IKKzoxMEVFRDAwMDhGRjAwM0YwMDBGNzAyQkZDMTBGRjAyM0ZDMDBERjA2NDQKKzoxMEVFRTAwMDM3QzA4RkM5MDdGQTkyRkYwNDNGNTAyRkYwMDNGODAwOTQKKzoxMEVFRjAwMDYwMDAwMDAwMDAwMDAwMDA1MDEwQUMwMEM5MDAzRUMyREQKKzoxMEVGMDAwMDBFQjAyM0U0MDBFQjAwM0FDODBFQjAwM0VDMDBGOTAwQTkKKzoxMEVGMTAwMDNFQzAwRkI0MDNBNDAwRkIwMDNFODAwRkIwODNEMDA0QkEKKzoxMEVGMjAwMDIwMDAwMDAwMDAwMDAwMDBDODA1MjgwMDhCNzQyREMwRTAKKzoxMEVGMzAwMDA4RjAwMkU0MDA4RjAwMjFGMDA4RjAwMkZDMTBEMzAwN0EKKzoxMEVGNDAwMDJFQzAwQjkwMTIyQzAwRUYwMDJFQzAwQkI2MDJGNjAwNjQKKzoxMEVGNTAwMDQwMDAwMDAwMDAwMDAwMDBFODA1NDgwMEEzMDAyQ0M0QTkKKzoxMEVGNjAwMDBBMzAwMkMwMDBBMzAwNjhGMDBBMzAxMkNDMDRBMjAwRUMKKzoxMEVGNzAwMDJDQzAwQjMwMDJFQzAwQjMwMTJFQzAwQjM0MDJGODAwQTEKKzoxMEVGODAwMDUwMDAwMDAwMDAwMDAwMDBCMDAxMEMwMDg3ODAyREU4NTgKKzoxMEVGOTAwMDA4Nzg0MkRBMDA4NzgwMjVFMDA4NzkwMkNFMDA5NjgwNjIKKzoxMEVGQTAwMDJERTAwQkQ5MDJERTAwQTc4MDJERTAwQjc4MDJGQzAwREIKKzoxMEVGQjAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MEM0MEUzMTAzQ0MwODYKKzoxMEVGQzAwMDBBMzgwM0U4MDBFQjAwMzhDMjBBMzAwM0NDMDBFMzQwMDMKKzoxMEVGRDAwMDNDQzAwRjM0MDNDRDAwRjMyMDNDODgwRjMwMDNEMjAyMzUKKzoxMEVGRTAwMDAwMDAwMDAwMDAwMDAwMDA0MDFEQjQ4MEZGMDQzRkM4ODYKKzoxMEVGRjAwMDBGRjA4M0Y4NDBGRjE4M0JDMDBGRjQ4M0ZDMDBFRTAyRDMKKzoxMEYwMDAwMDNGQzAwRkYwMDMzQzAwRUYwODNGODAwRkYwMTNEMDA2MjUKKzoxMEYwMTAwMDYwMDAwMDAwMDAwMDAwMDA4ODA1RTgwMENCMDAzRUYyMjAKKzoxMEYwMjAwMDREQjIxM0U4MDRDQjAxMzJGODREQjIxMzZEMjBGODAwNTUKKzoxMEYwMzAwMDNFQzAwRjMwMDMyNDAwRkIwMDNFNDA4RkI4MDMyQTAwN0YKKzoxMEYwNDAwMDcwMDAwMDAwMDAwMDAwMDBDODExOEMwMDg2MDAyQ0MwNzkKKzoxMEYwNTAwMDA4NzMwMkQ4MTI4NzMwMjBDQjA4RjIwMjFEMDVCNTAwRDQKKzoxMEYwNjAwMDJEQzAwQjYwMDM1MDEwQjcwOTJEQzAwQkYwMDIzMjA0MDUKKzoxMEYwNzAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwOUUwMDg3ODAyREU0RkEKKzoxMEYwODAwMDA5N0EwMkNFMDE4NzgwMjFFQzA5NzgwMjVFODBCN0MwNDAKKzoxMEYwOTAwMDJERTAwQkY4MDIxRTAwQjdBMDJENjAwQjc4MDIyMDAwQjcKKzoxMEYwQTAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0RUUwMDgyODAyQ0MwMDgKKzoxMEYwQjAwMDA4MzAwMkVDMDA4MzAwQTBDMDA4MzAwMjBDMDBCMzgwQ0UKKzoxMEYwQzAwMDJDQzEwQjMwMDI0RTAwQjMwMDJDRjEwQjMwMEExMjA0OUQKKzoxMEYwRDAwMDMwMDAwMDAwMDAwMDAwMDBFODE1QkE4MEM2MDAzRTgwNDUKKzoxMEYwRTAwMDBEQTAwM0Y4NDBDQTAwMzI4MDBEQTAxMzY4MDBGRTAyOTQKKzoxMEYwRjAwMDdFODAwRkVEODMzOTEwRkEwMDNGOEMwRkEwMDMzQTA0OTUKKzoxMEYxMDAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwRTAxMkY4OTAzRTAwOUYKKzoxMEYxMTAwMDBGODAwM0UwMDBGODA1M0UwMDBFMDAwM0UwMDBGODgwRDkKKzoxMEYxMjAwMDNFMDAwRjgwMDNFMDYwRjgwMDdFMDAwRjgwMDNEMjAwRjUKKzoxMEYxMzAwMDMwMDAwMDAwMDAwMDAwMDAwODEwRTQwMEM5ODAzMjY0QzQKKzoxMEYxNDAwMDBGOTA0M0U0MDZDMTA0M0E0MDBGOTAwM0U0MDBFOTAwNDUKKzoxMEYxNTAwMDMyNDAwRjkwMDMyNDAwQzEwMTMyNDAwQzkwMDNDMjA0REUKKzoxMEYxNjAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjQwMDg5QzAyMjQwREMKKzoxMEYxNzAwMDBCOTAwMjI0MDA4OTAwMjI1MDFCOTAyMjI0MDA4MTAwNjEKKzoxMEYxODAwMDIyNDAwQjkwMjIyNDA4QzkwMDIwNDAwODk0MDJFMDAwOEQKKzoxMEYxOTAwMDEwMDAwMDAwMDAwMDAwMDAxODA1MjQwMDk5MjAyMjQwMDMKKzoxMEYxQTAwMDBCMTAwMkE0MDA4OTAwMkE1ODBCOTAwMjg0MDBBOTAwQzkKKzoxMEYxQjAwMDIyNDAwQjEwMEEwNDAwOTkwMjIyQzEwODkwODJDNjAwNjYKKzoxMEYxQzAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDQwMDkxMDJBMEM4RjQKKzoxMEYxRDAwMDBCMTIwMjA0ODA4MTIyMjA0ODlCMTIwMjA0OTA4OTAxQjQKKzoxMEYxRTAwMDIwNDAwQjEwMDIwNDAyODEyMjIyNDAwODEwMDJDMjAxQkEKKzoxMEYxRjAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjE0MkRBMDEzMjAxOTkKKzoxMEYyMDAwMDBGODUwM0ExNDBDMDUwM0EwMThCODUyM0ExNDRFODUwRUIKKzoxMEYyMTAwMEIyMDAwRjg1MDMyMTQ4RDg1MTMyMTQyQzg1MDNFRTAzMjgKKzoxMEYyMjAwMDUwMDAwMDAwMDAwMDAwMDA5ODFERjUwMEVEMDIzRTQ0NzMKKzoxMEYyMzAwMDBGOTEwM0Y0NDBGOTEwM0U0NDBGOTEwM0U0NDBGRDAwQTgKKzoxMEYyNDAwMDNFNDAwRkQwMDNGNDAwRTkxMEJGNDAwRjkwMDM2NjA2NjQKKzoxMEYyNTAwMDcwMDAwMDAwMDAwMDAwMDAxODA1RTYyMUM1MDAzMzY4QkEKKzoxMEYyNjAwMDBGOUEwMzZGODhDOUMwMzM2ODBDOUUwMzI3ODBEOTQwNkEKKzoxMEYyNzAwMDNFNDAwRjkwMDNDNTEwRDlFODM2NTAwQ0QwMDNFNjAwOEQKKzoxMEYyODAwMDcwMDAwMDAwMDAwMDAwMDAzODEwRTEwODg4MDA4MjAwRDMKKzoxMEYyOTAwMDBCOEU4MkVCQzg4OEUwMjIwMDI4ODg0MkEyODA4QTgwRjgKKzoxMEYyQTAwMDIyMDAwQkFBMDJFMjAwODhDMDIyQTkwODhBMDM4RTA0NjkKKzoxMEYyQjAwMDMwMDAwMDAwMDAwMDAwMDA0ODA1QzQwMDgxMDAyMEQwOUMKKzoxMEYyQzAwMDBCMTEzMjg0ODQ4MTYwNjA1MDA4MTYwNjA1MDA5MTIwN0QKKzoxMEYyRDAwMDIwNDAwQjEwODJFNDA5OTEyMDI0NDAwODEwQzJEMjAxODIKKzoxMEYyRTAwMDcwMDAwMDAwMDAwMDAwMDAxODE1QTQwNDg5MDQyMjQwRUEKKzoxMEYyRjAwMDBCOTAwMkM0MDBBOTAwMjI0MTAwOTAwMkE0MDA4MTAwRUEKKzoxMEYzMDAwMDIyNDAwQjkyMjJFNTgwOTkwMTIyNjEwODkwMDI4NjA0MzYKKzoxMEYzMTAwMDYwMDAwMDAwMDAwMDAwMDBBMDE0QTU4MjgxOTAzMjQwMkYKKzoxMEYzMjAwMDBGOTAxMzY3MDJDOTAwMzI0MDBDOTAyMzI0MDREOUMwMDcKKzoxMEYzMzAwMEIyNDAwRjlDMDNFNjAwRDkwMDM2NTAwQzkwMDNFODA0NUQKKzoxMEYzNDAwMDcwMDAwMDAwMDAwMDAwMDA2ODAwQTY4MEY5MDAzRTQwNDgKKzoxMEYzNTAwMDBGOTAwM0U3MDBEOTAwQkM0MjBGOTA1M0U0MDRGOTEwNkEKKzoxMEYzNjAwMDNFNDAwRjk4MDNFNjA0RTEwMDNFNDAyRjkwMDNEQTAwOTAKKzoxMEYzNzAwMDYwMDAwMDAwMDAwMDAwMDAyODEwODExMDQ4MTAzMjA4RDIKKzoxMEYzODAwMDBDODAwRjIxMDJDODAwM0EwNDBGODAwNzYwMDBGODQwOEIKKzoxMEYzOTAwMEIyMDAwRjg0MEIyMDAwRDgwMDM2MTAwQzgwMDNDQTA0ODIKKzoxMEYzQTAwMDIwMDAwMDAwMDAwMDAwMDAyODA0MjgwNDhFODAyMzgwMzQKKzoxMEYzQjAwMDA4QTA0MjI4MDA4QTAwMjNBMDRCQTAwMkU4MDBCQTAwNUYKKzoxMEYzQzAwMDc2ODAwQkEwMDIwODAwOEEwMDMyODAwOEUwMDNDQTAwQTEKKzoxMEYzRDAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NEMwMDgyMDAyMEQwMDIKKzoxMEYzRTAwMDA4MzAwMjBDMDA5QjAwMjhDMDFBQjAwMjZDMDBCMzAyNjcKKzoxMEYzRjAwMDIwQzAwQjMwMDIwQzAwQTMwMDIyQzAyODM0ODJDQTAwQjcKKzoxMEY0MDAwMDUwMDAwMDAwMDAwMDAwMDAyMDAxMUMwMDg3MDAyMEUwRTgKKzoxMEY0MTAwMDA4NzgwMjBDMDA5NzIwMjVDMDBCNzEwMkRDODFCNzIwMTAKKzoxMEY0MjAwMDIxQzAwQjdBNDIzQzgwODcyMDIxQzAwODcwMDJFODAwOEUKKzoxMEY0MzAwMDQwMDAwMDAwMDAwMDAwMDAyODA4MEU4MkM3ODBCMUUwRjQKKzoxMEY0NDAwMDJDRkEwNjFFMDhEM0IxMzk2MDRFNzgxMjVFQTBGRkYwODgKKzoxMEY0NTAwMDIxRTAwRkY4MDMxRjA4RTNBMDMzRTAwQzY4MDNFQTAyODEKKzoxMEY0NjAwMDAwMDAwMDAwMDAwMDAwMDAwODFEQUM0MEZCMDAzRUMwOTIKKzoxMEY0NzAwMDBGQjIwM0VEQThFQjEwM0E4MDBGQjBDM0VDNDBGQjAwRDUKKzoxMEY0ODAwMDNFQzAwRkIwODNFQzgwRUI3MEJFQzQwRkIwMDM4MjA2QTkKKzoxMEY0OTAwMDYwMDAwMDAwMDAwMDAwMDA0MDA1RkUwMENFODBCMzYwNjgKKzoxMEY0QTAwMDBGRkM4MzdFMjBFRkIwM0JFMDBGQjgwMzNFMDBDRjgxMUUKKzoxMEY0QjAwMDNGRTA4RkY4ODNFRjQwRkZDMjMzRTEwQ0Y4MDNEMDAwNDgKKzoxMEY0QzAwMDcwMDAwMDAwMDAwMDAwMDBBODExOUM4Mjg3MTgyMTgwQjUKKzoxMEY0RDAwMDBCMzAwMjFDNjBENzEwMjFEMDBCN0IwMjNDMDBENzAwMDAKKzoxMEY0RTAwMDJEQzAwQjcwMDJERTAwQkYwMEEzQzQwODcwMDNBQTA0ODUKKzoxMEY0RjAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwQkMxMTg3MDAyMUMwNzcKKzoxMEY1MDAwMDBCMzAwMjFDMDA5MzIwNjlDMDBCNzAwMjFDMDA4NzAwQTYKKzoxMEY1MTAwMDJEQzAwQjcxMDJEQzIwQjcxMDIxQzAwODYwMDI4NDAwRUUKKzoxMEY1MjAwMDIwMDAwMDAwMDAwMDAwMDA2MDE0Q0QwMDgzNDAyMEMwRDcKKzoxMEY1MzAwMDRCMzAwMjBDMDE4MzAwMjBDMDBCMzAwMjBDMDA5MzgwODIKKzoxMEY1NDAwMDJDQzAwQjMwMDJDQzAxQjMwMDIwQzAwODMwMjI5ODA0M0MKKzoxMEY1NTAwMDMwMDAwMDAwMDAwMDAwMDBBODE1QkYyMENBQzAzMjgwQTMKKzoxMEY1NjAwMDBGRjAwMzNFMDA5RjAwM0E4MDBGRjAwQjNDMDBDRjk4NTUKKzoxMEY1NzAwMDNFQzAwRkY2MDNGRjAwRkYwMDMxRTAyQ0IwMDNBRTA0RTUKKzoxMEY1ODAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwQ0M4MEZCMDAzRTUwQzYKKzoxMEY1OTAwMDBGQjAwM0FDMDJGQjAwN0U1MDBGQjAwM0VDMDBGQjAwODkKKzoxMEY1QTAwMDNFQzAwRkIyMDNFQzIwRjMwMDNFQzYwRjkwMDNBMDAwNTQKKzoxMEY1QjAwMDMwMDAwMDAwMDAwMDAwMDAwMTEwRkMwMkNGOTg3M0M4NkEKKzoxMEY1QzAwMDBGNzAwMzNDMDBGRjAwMzMyODBGQjAwMjFDMDA0RjAwRjcKKzoxMEY1RDAwMDNGQzAwRkYwMDNGQzAwRkYwMTMzQzAwQ0U0MDNFNDA0NjAKKzoxMEY1RTAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NkMwMDgzODBBMkY4NUUKKzoxMEY1RjAwMDBCQjA0MjJDMDBCQjAwMzIxMDBGQjAwMzZDMDRBQjAwMDgKKzoxMEY2MDAwMDJFQzAwQkIwMTJFQzA0RUIwMDIyQzA0QTk0ODJFMDAwNDIKKzoxMEY2MTAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1NkMwMDhBMDAyMjAwM0QKKzoxMEY2MjAwMDBCQjAwMjJDMDBCMzAwQTJDMDBCMzAwMkFDMDBBQjA0NDQKKzoxMEY2MzAwMDJFQzAwQkIwNDJFQzAwQkIwMDIyQzAwOEIwMjJFMDAwOUMKKzoxMEY2NDAwMDQwMDAwMDAwMDAwMDAwMDAwODAwMEMwMDhCMDEyMDAwQkEKKzoxMEY2NTAwMDBCMzAwNjBDMDBCMzAwMjBDMDBBMzIwQUNDMDBBMzAwMTUKKzoxMEY2NjAwMDJDQzAwQjMwMDJDQzAwQTMwMDIyQzA0QTAwMTJDMjAxMDEKKzoxMEY2NzAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NkMwMDhCMDQyMkMwQTUKKzoxMEY2ODAwMDBGRjEwMzFDMDBGRjA0MzJDMDBCRjIwM0JDMDBFRjAwQkIKKzoxMEY2OTAwMDNFQzAwN0YwMDNGQzgwRkYwMEIyQzAwQ0EwMDNFMDAzRjMKKzoxMEY2QTAwMDUwMDAwMDAwMDAwMDAwMDBBMDE5REMwMEY1MDAzRkMwODEKKzoxMEY2QjAwMDBGRjAwM0ZDMDFGRjAyM0JDMDBGRjEwMzdDMDBGRjAwRDEKKzoxMEY2QzAwMDNGQzAwRkYwMTNGQzQwRUYwMDNGQzAwRkMwMDNFODA2M0YKKzoxMEY2RDAwMDcwMDAwMDAwMDAwMDAwMDBDMDE1RjI0MENDODAzNzIwMTAKKzoxMEY2RTAwMDBDRDgwM0IwNDRGQzA4M0YwRTBGQzEwM0ZDMDBDQzk0QkYKKzoxMEY2RjAwMDNGMEEyRUM0MDM3RDgwQ0YxMDNGQzAwRkMwODMzMDAwNkYKKzoxMEY3MDAwMDcwMDAwMDAwMDAwMDAwMDA4MDA4RTA5MDg4MDIyMjgxNjQKKzoxMEY3MTAwMDA4OTIxM0E0NDAzQjYwMjIxODBCODEwMkZDRDQ4MTAwQTQKKzoxMEY3MjAwMDNBQjAwQTk0MDIzRDQwQUY2MzJGREYwQjk4MDAyMDA0RUIKKzoxMEY3MzAwMDMwMDAwMDAwMDAwMDAwMDA4ODA1RTAwMDg4MDAyMDQwNDQKKzoxMEY3NDAwMDg4MzA4MkMwMDBCMDA4Mjg4MDBBMTAwMkNDMjA4MDAxRDYKKzoxMEY3NTAwMDJDNDAxQjA2MDI4QzkwOTM2MDY4QzA0QTAwNDIyMjAxMzQKKzoxMEY3NjAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1QTAwMjg4MDAyMkMwNTgKKzoxMEY3NzAwMDA4QjAwMkU0MjBCQjg4MjY5ODBCODA0MkNDMTg4QTAwOEYKKzoxMEY3ODAwMDJFQzIxQjk4MDJBQzAwQUIwMDJFQzAwQjk4ODIzMDA0MzYKKzoxMEY3OTAwMDYwMDAwMDAwMDAwMDAwMDAwMDExRTNDMENCMDIzMjAwNTYKKzoxMEY3QTAwMDJDODAwM0FFMDhCOTAwM0U3MDBGQjkwM0VDMDI0ODQ4NDQKKzoxMEY3QjAwMDNDQzAwRjhDOTNFQzAwREIwMDFBQzAwRUFDMDMxMDA0QUQKKzoxMEY3QzAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxQjIwMEZGMDBCQjgwRkMKKzoxMEY3RDAwMDBGQzA0M0I2NDBCRDAwM0I2MDBGRTgwM0ZDMDBGRjk0NDAKKzoxMEY3RTAwMDNCRTQwRTYwMEY2QzA4RUYwMTNGQzAwRjYwMDNGODAwQjAKKzoxMEY3RjAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwQTEwMEZCMDAzRTYwMUYKKzoxMEY4MDAwMDBGQTAwM0VEMDBGOTQwM0EwMDBGOTAwM0VDMDJDOTA0ODkKKzoxMEY4MTAwMDMyRDAwRjkwMDMyQzA4REIwMEI2QzAwREI0MDNEMDA0MjcKKzoxMEY4MjAwMDIwMDAwMDAwMDAwMDAwMDBDODA1MDAwMEIzODkyRUUwQTEKKzoxMEY4MzAwMDBCQTQwM0E0MDFCOTAwMkUwMTBCOTA0MkZDMTA4OTUwQzcKKzoxMEY4NDAwMEEyQzA4REI0MDIzQzQ0OEYwMDIzQzAwOEIwMDJGMjAwNzUKKzoxMEY4NTAwMDQwMDAwMDAwMDAwMDAwMDBDMDA0MEMwMEIwODAyRTAwM0EKKzoxMEY4NjAwMDBCMTIwMkM4MDBCQTAwMkNDMDBCMjAwMkNDMDBBMjAwNzAKKzoxMEY4NzAwMDIwMDAyQjJEOUEyRTQyODMwMDI4QzAwODIwMDJGODAwNzkKKzoxMEY4ODAwMDUwMDAwMDAwMDAwMDAwMDAyMDAwMUUwNEI0ODAyREEwRTUKKzoxMEY4OTAwMDBCNTgwMjkyMDBCNjgwMkRFMDBCNjgwMkRFNDBBNjgwNzUKKzoxMEY4QTAwMDIxMjQyOTQ4MDIxRTgwODc4MDY5RTAwODYxMDJDODAwN0YKKzoxMEY4QjAwMDQwMDAwMDAwMDAwMDAwMDA0ODE4MEMwMEYwMzAzQzRDRjQKKzoxMEY4QzAwMDBGMzIwM0M4ODBCMjAwMzg4MDBGMUIwM0VDMDBFMDMwMTkKKzoxMEY4RDAwMDMwMDQwRkIxMDMwRTg1Q0IwMDNBQzAwQzMxMDNEMjAyQzUKKzoxMEY4RTAwMDAwMDAwMDAwMDAwMDAwMDA0MDFDQkMwMEZDMTEzRkM0RjAKKzoxMEY4RjAwMDBGQjgxM0IwMDRGRTAyM0Y4MDBGQzAwM0ZEMDBERjEyRkIKKzoxMEY5MDAwMDFEMDQwRkQwNDNCQzAxRUYxMDMzQzQwRUYzMDNEMDA2MjcKKzoxMEY5MTAwMDYwMDAwMDAwMDAwMDAwMDAwODA1RUUwMENCMDAzRTAwODMKKzoxMEY5MjAwMDBGODAwMzI4MDBGODAwM0U0MDNEQjAwM0VGMDhDOTAwRjcKKzoxMEY5MzAwMDNBMDAwQ0EwMDNFQzk4RkIyMDMyRDIwQ0E4MDMyQTAyNTgKKzoxMEY5NDAwMDcwMDAwMDAwMDAwMDAwMDA0ODExOUMwMDg3MDEyRDgwMUQKKzoxMEY5NTAwMDBCNDA0MjFDMDQzNzAwQTE0MDA4NjAwMkNDODA4NzAwQTUKKzoxMEY5NjAwMDJEODAyRTcwMDJEQ0E5QjcyODIxRDAwODcwMDIxMjAwNjkKKzoxMEY5NzAwMDYwMDAwMDAwMDAwMDAwMDAyMDAwQkUwMjg3ODAyRDYwQjMKKzoxMEY5ODAwMDRCRTgwMjVBMDFCNDg4MjhFMDg4NzhDMkRFNTI4NkMwNkIKKzoxMEY5OTAwMDI5NjAwODY4MDJERTQwQjM5MkUxRTgyODI4MDI3MDAwN0UKKzoxMEY5QTAwMDIwMDAwMDAwMDAwMDAwMDA2ODE0Q0MwMDhCODAyRUMwRjYKKzoxMEY5QjAwMDBCMjAwMjREODA5QjIwMjBFMDA4MzgwMkNDMDA4MzgwODEKKzoxMEY5QzAwMDJDQzAwQUIwMDJDQzA4QjMwMDIwQzAwODMxMDI1MjA0OTcKKzoxMEY5RDAwMDMwMDAwMDAwMDAwMDAwMDBFODA1QTgwMENBRTAzRTgwRkEKKzoxMEY5RTAwMDFGQTQwQjc5MDBGRTAwM0Y4MjFERTAwM0U4MDBDRTQwMUIKKzoxMEY5RjAwMDNCODgyQ0U0MDNFODAxRkEwMDMyODAwQ0U4MDM3QTA0MjcKKzoxMEZBMDAwMDYwMDAwMDAwMDAwMDAwMDA0ODExQTAwMEY4MDkzRTAwNUUKKzoxMEZBMTAwMDhGQzA4M0EwMThGODAwM0MyMDBGODgwM0UwMDBGODA4OEUKKzoxMEZBMjAwMDNFMjAwRTgwODNFMTAxRjAwMDNDMDAwRjgwMEI5MjAwMkQKKzoxMEZBMzAwMDMwMDAwMDAwMDAwMDAwMDAwODEwQTQwMEY5NDIzMjQwMkQKKzoxMEZBNDAwMDRDOTgwMzA0MDBDOTAwM0E0MDBGOTAyMzI0MDBCOTgxNjgKKzoxMEZBNTAwMDNDNDAwQzkyMDMyNDAwRjkwNTMyNDA2QzkwQzNDMjA0NzAKKzoxMEZBNjAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0MjQxNEI5MDBBMjU0RkIKKzoxMEZBNzAwMDA4OUIxQTI0MDI4OTAwMjI0MDI4OTAwMkE0MDBCOTkwMTEKKzoxMEZBODAwMDJFNDAyODlDODIyNTA0QjkwMDIyNDAwODk4MTJFMDAwRUMKKzoxMEZBOTAwMDEwMDAwMDAwMDAwMDAwMDAxODA1MjQwMEFEMDAyMzQwMDUKKzoxMEZBQTAwMDA4NTAwMjY0MDA4OTAwMkE0MDA4MTAwMjY0MDBCOTAwNkUKKzoxMEZBQjAwMDZFNDAwODkwMDIyNTAwQTkwMDIyNDAwODkxMDZDNjAwNjkKKzoxMEZBQzAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MTQwMEI1MTBBMTQ0MkMKKzoxMEZBRDAwMDI4NTAwMjQ0ODA4MTMwMjA0ODA4MTIwMjg0NDBCMTgwQkUKKzoxMEZBRTAwMDZDQzgwODEyMDIwNDgwQjEzNDIwNDgwODEyMDJDMjAxMTYKKzoxMEZBRjAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjE0MEU4NDAzMjkwQjYKKzoxMEZCMDAwMDBDQzUwMzYxNDBDMDQwM0ExNDBGODUwMzIxQjBGODUwODIKKzoxMEZCMTAwMDNFMDAwQzg1MDMyMTQwRjg0MEIwMTQwQzgwMDNFRTAxMzgKKzoxMEZCMjAwMDUwMDAwMDAwMDAwMDAwMDBCODFEQzQwNEY5MjIwRTQ4NzcKKzoxMEZCMzAwMDBGMTAxM0I0NDBGRDMwM0Y0NDRGRDEwMEU0ODRGRjAxNjcKKzoxMEZCNDAwMDNENDQwRkQxMEJFNDQwRjkzMDNFNDQwRkQxMDNFNjA0QUQKKzoxMEZCNTAwMDcwMDAwMDAwMDAwMDAwMDAzODA1RTQwMERENDAzRjUwNjgKKzoxMEZCNjAwMDBDRDAwMzJDMDBDOTAwMzY0MDBGOTAxMzI3MDRGNTAxNzgKKzoxMEZCNzAwMDM3NDAwQ0YwMDNGNjIwRjlBODMyNjgwQ0QwMDNDNjAwMTkKKzoxMEZCODAwMDcwMDAwMDAwMDAwMDAwMDAxODAwRTAwMDg4QTAyRTI4OEYKKzoxMEZCOTAwMDI4ODAwMjIwMDA4OEEwMjIwMDBCODAwQTYyODBCODAwMjIKKzoxMEZCQTAwMDIyMDAwODgwMDJFMTAwQjhFMDIyM0EwOEEwMDJDRTA0NTgKKzoxMEZCQjAwMDMwMDAwMDAwMDAwMDAwMDA0ODAwODQwMjgxMDAyRTQwNTgKKzoxMEZCQzAwMDA4MTAwQTQ0MDI4MTA4MjQ0MDBBMTAwMjQ1ODBCOTAwNDYKKzoxMEZCRDAwMDI0NDAyOTEwMDJDNDAwQjEwODI0NDQwODEwMDJDMjAxQzQKKzoxMEZCRTAwMDcwMDAwMDAwMDAwMDAwMDAxODE0QTQwNDg5MDEyRTUwQzkKKzoxMEZCRjAwMDQ4QjIwMjY0MDA5MTAwMjI0NjBCOTAwMjY0MDBCOTAxRjEKKzoxMEZDMDAwMDI2QzAwOUIwMTJFNDAwQjEwMDI2NDAwODkwMDJDNjA0RTQKKzoxMEZDMTAwMDYwMDAwMDAwMDAwMDAwMDBBMDA0RTQwMEM5MDAzQzQwQjcKKzoxMEZDMjAwMDBDOTAwMzY0MDBDOTAyMzY1MDBFOTMwMzI0MDBGOTkwMkYKKzoxMEZDMzAwMDM2NDgwRDk0ODNFNDA4RjkwMEI2NDAwQzk0MDNFODA0QjgKKzoxMEZDNDAwMDcwMDAwMDAwMDAwMDAwMDA2ODEwQTQwMEU5MDAzRTQwQzEKKzoxMEZDNTAwMDBGOTAxM0E0MDBFOTAyMkU2MTA1OTAwM0E0MDBGOTAwOUYKKzoxMEZDNjAwMDNBNDAwRTkwNDNFNDEwRjkwMDM4NDAyRjkwMDNDQTAwNDgKKzoxMEZDNzAwMDYwMDAwMDAwMDAwMDAwMDAyODEwQTAwMEQ4MDEzMjA0M0QKKzoxMEZDODAwMDBGODA0M0MwMDFDODAwQjIwMTBDODAwMzIwMDBDODQwQUYKKzoxMEZDOTAwMDMwMDA4Qzg0ODNFMDAwQzgwMDMyMDA2Qzg0MDNDQTA0MDYKKzoxMEZDQTAwMDIwMDAwMDAwMDAwMDAwMDAwODA0MjgwMEJBMDAyMzgwQTMKKzoxMEZDQjAwMDBCRUEwMkU4MDBBQTAwMjI4MDA4QTAwMjI4MDA4NjIwQTEKKzoxMEZDQzAwMDM3QTA4REU0MDJGODAwREEwMDIyODAwOEEwMDJDQTAwMDIKKzoxMEZDRDAwMDQwMDAwMDAwMDAwMDAwMDAwODA1NkMwMEIzMDAyMEMwRDgKKzoxMEZDRTAwMDBCQjgwMjRDMDQ4MzAwMjBDMDA4QjAwMjBDMDI4MzAwNTEKKzoxMEZDRjAwMDIwNDAyODM0MDJDRTkwODMwMEEwQzAwODMwMDJDQTAwMDEKKzoxMEZEMDAwMDUwMDAwMDAwMDAwMDAwMDAyMDAxMUNDMEI1ODgyMTQwMDgKKzoxMEZEMTAwMDBCNzAwMkRDODBBMzIwMjFFMDQ4MzI0MjBFOTA4RTAxNUQKKzoxMEZEMjAwMDY1NTAwOTcwMDJERTIwOTMyMTIxQzAwODcwMDJFODAwQUUKKzoxMEZEMzAwMDQwMDAwMDAwMDAwMDAwMDAyODE4MUUwMEZGODBCMUEwNTUKKzoxMEZENDAwMDBGNDgwMjdFMDA4N0EwMzNFMDI4N0EwQjFGMDBDNDgwOTIKKzoxMEZENTAwMDMxNjA4QzU4MDNGRTAwQzdDODMzRTgwQzU4MDNFQTAyMzAKKzoxMEZENjAwMDAwMDAwMDAwMDAwMDAwMDAwODFEQUMwMEZGMDAzRTAwODUKKzoxMEZENzAwMDBGOTAyM0VDQTBGQjQwM0VDMDhGQjUwM0VEODBGODAwNTAKKzoxMEZEODAwMDNDNDAwRkIwMDNFODAwRkIwMjNFRDAwRjkwMDNDMjA2RDgKKzoxMEZEOTAwMDYwMDAwMDAwMDAwMDAwMDA2MDA0QkUwMEZGODAzRkUwNDMKKzoxMEZEQTAwMDBGRDkwM0ZFMjBDRkM4MzNFQThGRkMwMzNGMDBGRDgwNEMKKzoxMEZEQjAwMDNGNjAwRUU4MDNGMjAwQ0Y4MDJGRkUwQzc4MDMwMDAwQjYKKzoxMEZEQzAwMDcwMDAwMDAwMDAwMDAwMDBBODAwOUMwMEI1MDIyREMwREIKKzoxMEZERDAwMDBCNTg0MkRDODBDRjAwMjFDMTBCMzAxMjFDNDBCNDAyMTIKKzoxMEZERTAwMDJENDYwODcxMTJDODAwRTcwMDJEQzQwODcwMDM2QTA0OEMKKzoxMEZERjAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwOUMwMEI3MDAyRDAyMjEKKzoxMEZFMDAwMDBCNDYwMkRDMDg5NzAwMjFDOTBBMzAyMjFDMDBCNDAwMEUKKzoxMEZFMTAwMDJENDAwQTUwODJDNDAwQjcwMDJDQzgyODUwMDI0MDEwNjAKKzoxMEZFMjAwMDIwMDAwMDAwMDAwMDAwMDA0MDE0OEMxOEIzMDAyRTIwQjkKKzoxMEZFMzAwMDBCMTgwMkNGNEE4M0MyMjBDMTBCMzQyMjBDMDRCODU4REQKKzoxMEZFNDAwMDJDNDAwQjI4MDJDODAwQTMwMDJDQzAwODE0MDI0ODA0NTAKKzoxMEZFNTAwMDMwMDAwMDAwMDAwMDAwMDBBODA1QkMwMEZCMDAzRTgwNTAKKzoxMEZFNjAwMDBGQTAwMkZDMDBERkEwQjNDMDBFRjAwQjNDMDBGQkMwRjMKKzoxMEZFNzAwMDNDQTAwRUJEMDNFQzAwRkYwMDNGQzAwQzMwMDM2QTA0NDEKKzoxMEZFODAwMDYwMDAwMDAwMDAwMDAwMDBBMDEwRUMwMEY5MDAzRTAxM0UKKzoxMEZFOTAwMDhGQjE0M0VDMDBGMzAwM0VDMDRGQjAxM0VDMDBGQjAwMDkKKzoxMEZFQTAwMDNFODAwQzg0MDNFMTAwNzMwMDNFQzEwRkIyNDNFMDAwQ0EKKzoxMEZFQjAwMDMwMDAwMDAwMDAwMDAwMDAwMTUwRkMxMEZGODAzN0MwM0YKKzoxMEZFQzAwMDBDRTAwM0ZDMjBGRjA4MzNDMDBGRjA4M0JDMDBGRjAwRjAKKzoxMEZFRDAwMDMzQzAyRTQwMDMxQzAxQ0YwMDExQzA0Q0QwMDMwMDQ0OUUKKzoxMEZFRTAwMDMwMDAwMDAwMDAwMDAwMDA4MTA0NkMwNEIzMDIyMjcyQTQKKzoxMEZFRjAwMDA4QTExNkVDMDBCQjA0MjJDMDBCQjA0MkVDMDBCQTE5RkEKKzoxMEZGMDAwMEI2RDAwODlDNEEyNjgwREIwMDIyQzAwODkwMDM2MDQwREYKKzoxMEZGMTAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1MkMwMEI5MTA2MjIwRDUKKzoxMEZGMjAwMDQ4QTAwMkVDMDBCQjAwMjJDMDBCQjAwMkVDMTBCQjAwRUEKKzoxMEZGMzAwMDY2MDgwQUE4MTIyNjEwOUIwMDJBQzAyOEIwMjYyMDAwQjYKKzoxMEZGNDAwMDQwMDAwMDAwMDAwMDAwMDAwODAwMEMwMEI5MDAyMDAwODQKKzoxMEZGNTAwMDA4MzIwMkNDMDRCMzAwMjBDMDRCMzAwMkNDMDBCMzAwMDYKKzoxMEZGNjAwMDIwMDAwODAwMDIwMTAwOTMwMDI4QzAwODMwMDY0MjExNUEKKzoxMEZGNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDFDNkMwMEY5MDBCMjQwMEUKKzoxMEZGODAwMDBDODIwMkRDMDFGRjAwQjJDMDBCRjEwM0JDMDBGOTAwREYKKzoxMEZGOTAwMDI2NDAyRTgwMDMyMTA0Q0YwMEJCQzAwQzkwMDMwMDAzMzkKKzoxMEZGQTAwMDUwMDAwMDAwMDAwMDAwMDBBMDFERkMwMEZEMDAzRjQwQ0MKKzoxMEZGQjAwMDBGODEwM0ZDMDBGRjAwM0ZDMDBGRjAyM0ZDMDBGQzAwOUEKKzoxMEZGQzAwMDJENDAyRkMwMDNGMDg4RkYwMDM3QzA4RkQwMDNFODAyMTgKKzoxMEZGRDAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1RkU0MEZGODAzM0MyM0EKKzoxMEZGRTAwMDBDRjgwMzdDQTBGRjkwM0ZDNDJDQjQwM0JDODBDRjQwMkUKKzoxMEZGRjAwMDM3RTAwRkYxOTM2RTQ0QkYzMDNGMjAyQ0Y4NjNGMDA0REMKKzoxMDgwMTAwMDcwMDAwMDAwMDAwMDAwMDA4MDEwRUMwMEVCMjAyM0YwNTYKKzoxMDgwMjAwMDA4Qjg1MjNEMDBCMzAwMkVEQzA4RjQ0MjFDNDI4QjQwREQKKzoxMDgwMzAwMDIyQzgwQkY2MDM2Qzg4QkIzMDJFMDAwOEIyMDJFMDA0QTUKKzoxMDgwNDAwMDMwMDAwMDAwMDAwMDAwMDA4ODA1Q0MwMEJCMDgyMEMwMDQKKzoxMDgwNTAwMDA4MzAwMjRDQTBCMzIwMjY4MDg4MzYwMkNDQTA5MzYwNjIKKzoxMDgwNjAwMEE0QzIwQTMyNDI0QzkwQjMyMDJDMEI4ODMwODJFMjAxMjkKKzoxMDgwNzAwMDcwMDAwMDAwMDAwMDAwMDBDMDE1QUMwOEJCMjJBMkMwQzgKKzoxMDgwODAwMDA4QjAwMjJDMDBCQjAwMkU5MDA4QjAwMkVDMDA5QjAwNTAKKzoxMDgwOTAwMDIyQzAwQkIwMDI2QzAwQkIwMjJFMjAwOEIwMDJGMDAwMjAKKzoxMDgwQTAwMDYwMDAwMDAwMDAwMDAwMDA0MDE1RUMwMEIxODMzMkMwMDkKKzoxMDgwQjAwMDBDMUEwMzZDMTBGQjAwMzRDMDBDQjAwM0VDMDhEQTAwOUYKKzoxMDgwQzAwMDM2QzAwRUIwMEI2QzAwRkIwMDNFMjgwQ0IwMDJEMDAwOTYKKzoxMDgwRDAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxQkMwMEVEODAzRkMwMjcKKzoxMDgwRTAwMDBGRDQwM0VDMDBGRjAwM0ZDODBGQjAwMzNDMDBFRTQwOEMKKzoxMDgwRjAwMDNGQzAwRjcwMDNGQzAwRkYwMDNGODAwRkYwMDNGODAwNEIKKzoxMDgxMDAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwQUMwMEZCMjBCMEMwODgKKzoxMDgxMTAwMDBGQjQwM0FDMDJDQjAwMzI5MDBFQjAwMzZDMDBFQjAwNDYKKzoxMDgxMjAwMDNBQzAwQ0IwMDJFQzAwRkIwMDNFOTEwRkIwMDM5MDAwOEYKKzoxMDgxMzAwMDIwMDAwMDAwMDAwMDAwMDBDODA1MkMwMEJCODAyM0Q3RjEKKzoxMDgxNDAwMDBCOTAwMjNDMTQ4QjAwNkEwODI4RjAwMEJDMDA4MzAwRUUKKzoxMDgxNTAwMEJFQzA4OEYwMTMyQzAwRUYwMDJFODAwQkIwMDdCMjAwRDkKKzoxMDgxNjAwMDQwMDAwMDAwMDAwMDAwMDBFMDA1NEMwMEIzNDAyMEQwQkIKKzoxMDgxNzAwMDBCMjgwMjhDMDA4MzAxMjBDMDFBQjgwMDZDMTBBMTAwRUIKKzoxMDgxODAwMDY4QzAyQTMwMDI4QzAwQjMwMjJFMDA0QjMwMDJGODA0ODMKKzoxMDgxOTAwMDUwMDAwMDAwMDAwMDAwMDAyMDAxMUUwMEI3QTAyMUUwRjgKKzoxMDgxQTAwMDBCRUNDMjFFMDQ4NzgwMjlFNDA4Nzk4MjlFNDBBRjkwQzAKKzoxMDgxQjAwMDI5RTAwQTM4MDAxRTAwQTc5MDJEMjQwQjc4MDI4ODAwQzEKKzoxMDgxQzAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MEM1MEZCMDkzMEMwQ0YKKzoxMDgxRDAwMDBGMjAwMjhDNDBDMzAwMjBDMDBBMzgwMzRDNDRFMTAwNDkKKzoxMDgxRTAwMEFBQzAwRTMxNDM4RTAwRjMwMDNDMDAwRjMwMDNEMjAyRDAKKzoxMDgxRjAwMDAwMDAwMDAwMDAwMDAwMDA0MDREQkMwMEZGMjAzRkQwMDgKKzoxMDgyMDAwMDRGNzAwM0ZDMDBGRjAwM0RDMDBGRjM0M0ZDNDBENzAwNUMKKzoxMDgyMTAwMEJGQzAwREY0QzNGQzQwRkYwMDNGNDAwRkYwMDNEMDA2ODkKKzoxMDgyMjAwMDYwMDAwMDAwMDAwMDAwMDBBODA1RUMwMEZCMDAzMkQwNTgKKzoxMDgyMzAwMDBEOTAwMUVEQzBGQjAwM0VDMDFGQkEwM0FDQzBDODAwRUEKKzoxMDgyNDAwMDMyRTA4REI0NDNFQzAwRkIwMDM2QTAwQ0IwMDM2QTAwQjIKKzoxMDgyNTAwMDcwMDAwMDAwMDAwMDAwMDA0ODExOUMwMEI3MDAyMUM4MTkKKzoxMDgyNjAwMDA4NjAwMkRDMjBCNzAwMkRDMDBGNzRBMjFDMjhENjAwQzUKKzoxMDgyNzAwMDM1QzAwODcyMDI1QzA4Qjc0NEExODA0ODcwMDIxMjAwNDEKKzoxMDgyODAwMDYwMDAwMDAwMDAwMDAwMDBDMDAwOUUwMEI3ODAyMEU0RjUKKzoxMDgyOTAwMDA5NzgyNkRFMDBCNzgwMkRFMjBBNzAxMjhDODg4MTgwNzIKKzoxMDgyQTAwMDIxRTAwOTc4MDJERTAwQjNBMDI1QTAyODc4MDI3MDA0M0UKKzoxMDgyQjAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0Q0MwMUJCODAyMEMwNUEKKzoxMDgyQzAwMDA4MzA0MkVDMDBCMzAwMkNDMDBBMzAyMjBDMDA5MzAwQUUKKzoxMDgyRDAwMDI0QzEwODMwMDJDQzAwQjMwMDIwRTAwOEIwMDIxMjA0MzAKKzoxMDgyRTAwMDMwMDAwMDAwMDAwMDAwMDBFODE1QTgwMEZBMDhCMjgwODUKKzoxMDgyRjAwMDBERTIwM0U4MDBGQTAwM0Y4MDBBQTAwM0E4MDBDRTUwNzgKKzoxMDgzMDAwMDMyODAwNUEwMDNFODAwRkEwMDM3QTgwQ0EwMDM3QTA0MjUKKzoxMDgzMTAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwNjAwOEY4MDAzQzAwMTkKKzoxMDgzMjAwMDBGODgwMUUwMDBGODA0M0MwMDRGMDAxM0MwMDBGODAwODMKKzoxMDgzMzAwMDNFMDAwRjgwMDM2MDAwRjgwMjNFMDEwRjgwMDNEMjAwNzAKKzoxMDgzNDAwMDMwMDAwMDAwMDAwMDAwMDAwODEwRTQwMEY5OTAxMjQwMjYKKzoxMDgzNTAwMDBDOTAwM0E0MDBDOTAwM0U3MDBFOTQzMzI0MDhDOTAwOTkKKzoxMDgzNjAwMDJBNDAwQjkwMDNFNDAwRjkwMDNBNDAwRjkwMDMwMjA0MDYKKzoxMDgzNzAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjQwMEI5NDIyMjYwNjgKKzoxMDgzODAwMDA4MTAwMjI0MDA4OTAzMkU0MDA4OTAwMkE0MDE4MTA0RjEKKzoxMDgzOTAwMDNFNDAwQjkwMDJFNDAwQjkwMjIyNDAwRTkwMDIyMDAwMDEKKzoxMDgzQTAwMDEwMDAwMDAwMDAwMDAwMDAxODA1MjQwMEI5NDAyQTRBMEYKKzoxMDgzQjAwMDA4OTEwMkE0MDA4OTAwMkU0MDFBOTAwQTI0MDQ4OTAwMjIKKzoxMDgzQzAwMDJBNDAwQjkwMDJFNDAwQjEwMDJBNDAwQjkwMDIwNjAwMDQKKzoxMDgzRDAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDQwMEIxMDFBODQ4QUIKKzoxMDgzRTAwMDg4OTAwMjA0ODA4MTQwMkM1MDE4MTQwQTg0MTA4OTQwMUYKKzoxMDgzRjAwMDJDNDAwQjEwMDJDNDAwMzEyMDIwNDAwQTEwMEEwMjAxNTgKKzoxMDg0MDAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjE0MEYwNTAzQTAwOEMKKzoxMDg0MTAwMDJDQTAwMkExNDJDODAwM0UwMERFMDAyMzIxNDI4ODAwQjkKKzoxMDg0MjAwMDM4MTQwRjg1MDNFMTQwRjg1MDM4MTQwRjA1MDMyRTAxNkUKKzoxMDg0MzAwMDUwMDAwMDAwMDAwMDAwMDA5ODFERTQwOEZEMDAzNjQ0RDQKKzoxMDg0NDAwMDBGRDAwMzY0NDBGOTAwM0Q1MDBGOTQwM0U1MDA3RDQwRDgKKzoxMDg0NTAwMDNFNDAwRjk0MDNFNDAwRjkxMDNGNDAwRTkwMDNFNjA0MDEKKzoxMDg0NjAwMDcwMDAwMDAwMDAwMDAwMDAxODA1RTQwMEZENDAzMzY4QzMKKzoxMDg0NzAwMDBDRDAwM0U3ODFGOTAwMzM3ODBERDgxMzI2QTBDREEwRTYKKzoxMDg0ODAwMDMyNDAwRDlCMDMyNDAwRjlBMDNDNDQyQzkwMDc4NjAwNDkKKzoxMDg0OTAwMDcwMDAwMDAwMDAwMDAwMDAzODEwRTAwMEI4QTBBMjEwM0EKKzoxMDg0QTAwMDE4ODAwMzgyODRCODgwMzYyQzJFMEYwMkEzQTBEOEUwNTcKKzoxMDg0QjAwMDM2MjI4QjA4MDM0MkEwRjhFMDJFMjgwODg4MDJDRTA0NUEKKzoxMDg0QzAwMDMwMDAwMDAwMDAwMDAwMDAwODA1QzQwMEIxMDBBMDUwMEEKKzoxMDg0RDAwMDI4MzAwMkM1ODBCMTA4MjA0MDA5MTBBMjQ0MDg4MTQ4MTQKKzoxMDg0RTAwMDIwNDAwQjE0MDIwNDgwQjEzODJDNDgwODEyODI4MjAxMEIKKzoxMDg0RjAwMDcwMDAwMDAwMDAwMDAwMDAxODExQTQwMEIxMDAyMjQwMkMKKzoxMDg1MDAwMDA4OTIwMkU0MDBCOTAyMjY1ODRBOTAwMkU0MDg5OTQwMTEKKzoxMDg1MTAwMDI2NDAwQjkwMDI2NDA4QjkwMTJDNDgwODkwMTJDNjA0NEEKKzoxMDg1MjAwMDYwMDAwMDAwMDAwMDAwMDBBMDE1RTQwMEY5ODAzMjQwNjcKKzoxMDg1MzAwMDA4OTg4M0U0MDRCOTAxMzA0MDBEOTAwQjY0MDJDOTAwMkYKKzoxMDg1NDAwMDMyNDAwRjkwMDMyNDAwRjkwMDFFNTgwQzkwMDNBODA0MzkKKzoxMDg1NTAwMDcwMDAwMDAwMDAwMDAwMDAyODAxQTQwMEY5MjAzQzQwNDkKKzoxMDg1NjAwMDBGOTgwM0E0MDBCOTAwM0U0MjhFMTA0Qjg0MDRGOTAwMUEKKzoxMDg1NzAwMDNFNDA4RjkwMDNFNDAwRTkwMDNFNDAwRjkwMDNDQTAwQTQKKzoxMDg1ODAwMDYwMDAwMDAwMDAwMDAwMDAyODEwQTAwMEQ4MDAzMjA4QTEKKzoxMDg1OTAwMDBGODQ4M0EwMDRDODA0M0UwMDgzODAwMTIwMDBDMDAwMzMKKzoxMDg1QTAwMDMyMDAwRjAwMDNBMDAwQzgwMDMyMTA0RTgwMTNDQTA0MkUKKzoxMDg1QjAwMDIwMDAwMDAwMDAwMDAwMDAyODA1MjgwMDhFOTBBMzgwMDUKKzoxMDg1QzAwMDBCRTQwMjI4MDBDQTAwMkY4MDRBQTAxM0E4MDBBQTAwQ0EKKzoxMDg1RDAwMDM2ODEwQkEwMDIyODAwOEEwMDIyODAwOEEwMDM4QTAwQUUKKzoxMDg1RTAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NEMwMDkzQzAyMEQwOEYKKzoxMDg1RjAwMDBCMzQwMjhDMDA4QjAwMkNGMDhCMTgwMjRDMDA4MzAwOTMKKzoxMDg2MDAwMDYwQzAwQjMwMDI4QzAyODMwMDI4QzEwQTMwMDJDQTAwMEQKKzoxMDg2MTAwMDUwMDAwMDAwMDAwMDAwMDBBMDAxMUUwMEI0MEI2OUMwNjMKKzoxMDg2MjAwMDA5NTgwNjFFODA5NzEwMkZDMjQ4NzA4MjlDODBBNzA4QTgKKzoxMDg2MzAwMDI1Q0MwQjcwMDIxRTgxODdBMkFCQzQwODczMDJFODAwMzAKKzoxMDg2NDAwMDQwMDAwMDAwMDAwMDAwMDBBODA4M0UxMERDODQyMUUwOEIKKzoxMDg2NTAwMDBGNzg0MjlGMDJDNzg4M0RFMDJGNzEwMzRFMDBDRjgwMDQKKzoxMDg2NjAwMDIxRTIwRjc4ODM5RTQ5Q0ZEMDM5RTgwRTc4MDNFQTAyRTEKKzoxMDg2NzAwMDAwMDAwMDAwMDAwMDAwMDAwODREQUM0MENBMDAzNjAwQjkKKzoxMDg2ODAwMDhGMzAyM0VDQThFQjQwM0NDMDBGOTY0M0VEODBGQjAwRkQKKzoxMDg2OTAwMDNFRDg4RkIxNDNFRDgwRkIyMDM2Q0EwRkIwQTM4MjA2Q0YKKzoxMDg2QTAwMDYwMDAwMDAwMDAwMDAwMDAwMDA1RkU4MEZDODAzMUUwNUEKKzoxMDg2QjAwMDA1QUExMEZFNDRGRjkwM0ZFMUNGRjkxNzNGMjBENzgwNzUKKzoxMDg2QzAwMDhCRTQwRkY4MDMzRTMwRkY4MDM3RTAwRkY4MDA0MDAwRTYKKzoxMDg2RDAwMDcwMDAwMDAwMDAwMDAwMDBBODExOUMwMEJEMTAyMUMwMjcKKzoxMDg2RTAwMDA4NEEwMkRDQzBCNzAwMkRDMjBDRDMwMjFDODA4NzAwRjAKKzoxMDg2RjAwMDI5QzA0QjcyMDIxQzAwQjcwMTIxQzAwQkYwMTIyQTA0RTIKKzoxMDg3MDAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwOUM5MDM0MDAyMTgwMDgKKzoxMDg3MTAwMDA5NzAwMDVDMENCNzAwMkRDNDA4NTAxQTBDMDA5NzAwQkIKKzoxMDg3MjAwMDIxQzA0QjMwMDIxQzAwQjcwMDI1QzAwQjcwMDI0MDAwNzYKKzoxMDg3MzAwMDIwMDAwMDAwMDAwMDAwMDAyMDE0Q0MwMEIwMDA2MDAwMDkKKzoxMDg3NDAwMDA4M0UwMkNDMDBCMzAyMENFMDJCQjAwMjBDMDA5MzAwRjgKKzoxMDg3NTAwMDI4QzAwQkIwMDIyQzEwQjMwMDIwRDYwMzMwMDIwODA0NEUKKzoxMDg3NjAwMDMwMDAwMDAwMDAwMDAwMDBBODE1QkMwMEZCMDBCMjAwQjMKKzoxMDg3NzAwMDA1QkUwMzdDMDBGRjAwM0UyMDBDQjAwMzNDMDBEOTgwMDYKKzoxMDg3ODAwMDMzQzA4QkYwMDMzQzAwRkYwMDM3RTAwRkYwMDM2QTA0QjYKKzoxMDg3OTAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwRUMwMEZCMDQzRTAwRDAKKzoxMDg3QTAwMDBGQTQyM0NDMDBGQjAwM0U4MTA4OTAwM0VDMDBFOTE0RTkKKzoxMDg3QjAwMDNFQzAwRkIwMDNFQzEwRkIwMDNFQzAwRkIwMDNFMDAwNjIKKzoxMDg3QzAwMDMwMDAwMDAwMDAwMDAwMDAwMTEwRkMwMEZGMDAzNzgwQjYKKzoxMDg3RDAwMDBGRkEwM0ZDMDBDRjAwM0Y5MDA2REMyMzNDMDBGRDEwQTUKKzoxMDg3RTAwMDMzQzAwRkYwMEIzQzAwNDMwMDMzQzAwRkYwMDNDMDQ0MTQKKzoxMDg3RjAwMDMwMDAwMDAwMDAwMDAwMDA4MTAwNkMwOUJCMTkyMjMyMkIKKzoxMDg4MDAwMDBCQkUwMzZDMDA4QjAwMkM5MDBEQjgwMkFDMDBCMTAwQzUKKzoxMDg4MTAwMEYyQzAwQkIwMTJBQzAwOEIwMDIyQzAwQkIwMDNBMDQwMjIKKzoxMDg4MjAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1MkMxMEIzMDAyNjIwN0UKKzoxMDg4MzAwMDBCOTAxMkVDMDE4QjAwMkFDMjBBOTAwMjJDMDBCQjAwQTQKKzoxMDg4NDAwMEEyQzAwQkIwMDIyQzAwQUIwMDJBQzAwQkIwMDJFMDAwQUIKKzoxMDg4NTAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MEMwMUIzMDAyMDAwRUMKKzoxMDg4NjAwMDBCMDAwMjhDMDA4MzAwMkVDMDBCMzQwMjhDMDBCQjAwNzYKKzoxMDg4NzAwMDIwQzAwQjMwMDIwRDAwQTMwMEEwQzAwQjMwMDI4MjAxMEIKKzoxMDg4ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENkMwMEJCMDQzNjgwRkEKKzoxMDg4OTAwMDBGQjIwMkZDMDJDRjAyMzhDMDBFRjAwMzNDMDBGQjAwMTYKKzoxMDg4QTAwMDIzQzAwRkYwMDMzRDAyRUYwMDMzQzAwRkYwNDNDMDAzQkQKKzoxMDg4QjAwMDUwMDAwMDAwMDAwMDAwMDBBMDFERkMwMEZGMDAzRjAwNzEKKzoxMDg4QzAwMDBGRjQyMzdDMDBGRjAwM0ZDMDBERDAwM0ZDMDBGRjAwMkQKKzoxMDg4RDAwMDNCQzAwRkYwMDNGQzg4REYwMDNGQzAwRkYwMDNBODA2ODkKKzoxMDg4RTAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1RjA1MENFMTIzM0QwMzAKKzoxMDg4RjAwMDRDODY4MzMwODA1RjY4MzNDNDBGRjM4MzNDQzBDQzM4MzAKKzoxMDg5MDAwMEIzMDgwQ0M2MDNGMUEwRkYwMDMzMjQwQ0MyMDNGMDAwMkYKKzoxMDg5MTAwMDcwMDAwMDAwMDAwMDAwMDA4MDEwRUM4MEQyMjAyM0Q4RkUKKzoxMDg5MjAwMDBEOTYwMjg4NjBBRjQwMjNEQzBCRjYwMjNDQzI4ODYwRTMKKzoxMDg5MzAwMDIyNTIwODkxMjJFMTAwQjcyNEEyNDg4QTg0ODI2MDA0NkUKKzoxMDg5NDAwMDMwMDAwMDAwMDAwMDAwMDA4ODA1QzQwMDgxMDBFMEM0ODEKKzoxMDg5NTAwMDBBMDAwMjA0ODBBMzIwQThDMDFCMzAwQTBDMDBBMDAwNUIKKzoxMDg5NjAwMDI4MEMwOTAyMDJDNDgwQjMxQzIyMDgxOTAzMDJFMjExNzgKKzoxMDg5NzAwMDcwMDAwMDAwMDAwMDAwMDBDMDE1QTQwMDk5ODA2MkMwRDMKKzoxMDg5ODAwMDBCQTAzMkE0NTFBQjAwMkFDMDhCQjAwMDBDMDBBOUMwRDAKKzoxMDg5OTAwMDJBMjEwOEI4MjJFMjAwQkIwMDIyODQxQkE4NDI3MDA0RUUKKzoxMDg5QTAwMDYwMDAwMDAwMDAwMDAwMDA0MDE1RTIwMENCQzkzMkMwQUEKKzoxMDg5QjAwMDBFOEIxMzIyMTBEQjAxMzJDMDBGQjAwQjJDMDA2ODgxMkMKKzoxMDg5QzAwMDNBMjIyQzg4MjNFMzAwRkIwMDMwMzA4RDlDODNEMDA0QjYKKzoxMDg5RDAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxQkE0MEY3MDQzRUMyNTEKKzoxMDg5RTAwMDBERDgyM0Q4MDA3QjAwMzdDMDBGNzAzM0ZDMTBEMjAwQTUKKzoxMDg5RjAwMDM1QzA4RkMwMDNGNDAwRjcwMjNGRTAwRTgwMDNGODAwOUIKKzoxMDhBMDAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwODEyMEM4MDgzMEMwNTUKKzoxMDhBMTAwMDBDMDA4MzI0NDBDMzg5M0FDMDBFQjAwQjJDMDhDOTQ4MEYKKzoxMDhBMjAwMDcyNTQwRjkxMDNFRDAyRUI4QTNBNjI4QzgwMEIxMDA0QjIKKzoxMDhBMzAwMDIwMDAwMDAwMDAwMDAwMDBDODA1MkIwNDg4NDBBM0MyRUQKKzoxMDhBNDAwMDAyQUUxMjI3NDI4RjQ0MjNDMjBCRjQwMjNEMDAwQTQwQkIKKzoxMDhBNTAwMDIyRTAwQkI1MDJFQzIwOEY0NEEyNDA4REJEMjMzMjAwRjIKKzoxMDhBNjAwMDQwMDAwMDAwMDAwMDAwMDBFMDA1NDk0MDgzODEyNEMxNkYKKzoxMDhBNzAwMDA4MjgwMjAxMDA5MzAwQTBFODBBMzA4MjhGNjBCMzkwQkEKKzoxMDhBODAwMDYwQjgwQjI4MTI0QTAwOTMwMDIwOTAwOTIwMDI3ODAwNTkKKzoxMDhBOTAwMDUwMDAwMDAwMDAwMDAwMDAyMDAxMUUwMjg3QTgyNUUwMTEKKzoxMDhBQTAwMDBBN0IwMjFBMDQ4NzgwMjFFNDBCNzg4MjhFMDI5NjkxNTkKKzoxMDhBQjAwMDIxMjEwQjY5NDBEQjQwOTc5MjIzQTA4OTU4ODIwODAwNEUKKzoxMDhBQzAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MjU4MkMzMDAzNEMwQjgKKzoxMDhBRDAwMDBDOUI0MzA4RDBEMzIwMzhDMDBFQjAwMzhDMDBCMzAwRTkKKzoxMDhBRTAwMDIwODAwNzEwMDNFMDAwRDMxMDM4MTgwRDMwMDM1MjAyMjUKKzoxMDhBRjAwMDAwMDAwMDAwMDAwMDAwMDA0MDFEQjQwMDdGMjAxQkQwREIKKzoxMDhCMDAwMDBGRjEwM0Y4NDBFRjAwM0ZDMDBGQjQwMzdDMjBDRjA0MDcKKzoxMDhCMTAwMEJGNDAwRkYwMDNFNDEwRUYxODNEQzAwRkUwMDNEMDA2OTQKKzoxMDhCMjAwMDYwMDAwMDAwMDAwMDAwMDBBODA1RTgwMEUzMDBCMkM0RjcKKzoxMDhCMzAwMDBDQTAwMzI0MDBEQjY4MzJDODBDQjQwM0VDODBDODgwQUUKKzoxMDhCNDAwMEI2RTAwQ0EwMDMyRTAwQ0JFMEIyNjAwQ0I4MEIyQTAwRkMKKzoxMDhCNTAwMDcwMDAwMDAwMDAwMDAwMDA0ODExOUMwMjg3MDBBMUM4QkUKKzoxMDhCNjAwMDA4NzAwMjFDMDg5NzAyMjFENDA4NzQwMkRDQzAwNzAwQjgKKzoxMDhCNzAwMDIxQzA4ODcwMDIxODAwODMwODIxQzAwODUwMDIxMjA0MjYKKzoxMDhCODAwMDYwMDAwMDAwMDAwMDAwMDBDMDAwOUUyMEFEODAyOUUwRDEKKzoxMDhCOTAwMDA4NTgwMjFFMDA5N0IwMjFFODA4NzgwMkRFMTAxNTgwMDAKKzoxMDhCQTAwMDIxQTEwODQ4MDI1RTAwODdBNDY1QTAwODc4MDIzMDAwNzEKKzoxMDhCQjAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0Q0YxMDgxNzBBOEMwMDEKKzoxMDhCQzAwMDM4MzAwQTBEMDA5MzAwQTBDMTI4MzAwMkNDMDI4Mzg4RkYKKzoxMDhCRDAwMDIwRTAzODM0MEE0RDcyODMwMDI0RTgyODM0ODIxMjA0REQKKzoxMDhCRTAwMDMwMDAwMDAwMDAwMDAwMDBFODE1QkE0MEVFQzBCQTgwNzYKKzoxMDhCRjAwMDBDRTAwMzM5MTBEQTAwMzI4MDBDQTAwM0U4MDBERUM4NzQKKzoxMDhDMDAwMDMzQTAwQ0UwMDM3QjAwQ0EwMDM3QjEwQ0U0MjMzQTA0MjQKKzoxMDhDMTAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwQzEwMEY4MDAzNjAwQkQKKzoxMDhDMjAwMDBGODAwM0MwMjAzODAwM0UwMDBGMDAwM0UwMDBGODAyNzAKKzoxMDhDMzAwMDNBMjQwRjgwODNBMDAxRjgwNDNBMDQwRDgwMTNEMjAwNzcKKzoxMDhDNDAwMDMwMDAwMDAwMDAwMDAwMDAwODEwRTQ0NEMxMDAzMjQwODEKKzoxMDhDNTAwMDBDOTAzMjI0MENDMTA2Mzg0MDBEOTAwOTA0MDBEOTAwNTQKKzoxMDhDNjAwMDNFNDAwRjE4MDMyNDAwRjkwMTNFNDAwRjkwMDNDMjA0NTgKKzoxMDhDNzAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjQwNjg5MDAyQTUwRDMKKzoxMDhDODAwMDA4OTQwQTI0MDA4OTQyMjI1MDBBOTAxMjI1MDA4OTAwODMKKzoxMDhDOTAwMDJFNTAwQjlDMEEyNTEwQjkwMDJFNTAwQjkwMDJFMDAwQkMKKzoxMDhDQTAwMDEwMDAwMDAwMDAwMDAwMDAxODA1MjQyMDg5MDAyMDQyNjgKKzoxMDhDQjAwMDA4MTBDMkFDMTA4OTA4MkE0MjA5OTAwMjI0MjA5OTAwQTkKKzoxMDhDQzAwMDJFNDIwQUIxODIyQzIwQjkwMDZFNDIwQjkwMDJDNjAwREYKKzoxMDhDRDAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDQwMDgzMDAyODQ4NTEKKzoxMDhDRTAwMDA4MTI2MjhDODA4MTAwMjA0MDAyMTAwMjg0ODA4MTIwNjIKKzoxMDhDRjAwMDJDNDkwQjEyMDYwNDg0QjMwMjZDNDAwQjEyMDJDMjAxMTEKKzoxMDhEMDAwMDAwMDAwMDAwMDAwMDAwMDBCODBENDFFMEM4NzgzMDE0RjkKKzoxMDhEMTAwMDRDMDUxM0ExNDJDMDc4MzgxRTBEODc4MzAxNDBEMDUwMDYKKzoxMDhEMjAwMDNDMTQwRTA1MDMwMTQwRjg3ODNDMTQwRjA1MDNFRTAzRDQKKzoxMDhEMzAwMDUwMDAwMDAwMDAwMDAwMDA5ODFERkMwMEZGMDAwRTQ0RTEKKzoxMDhENDAwMDJGRjEwMzc0NDBGOTAwM0U0MDBEOTAwMzY0NDBGRDEwODQKKzoxMDhENTAwMDNGNDQwRkQxMDFGNDQwRjkwMTNGQzAwRkQxMDNFNjA2QjMKKzoxMDhENjAwMDcwMDAwMDAwMDAwMDAwMDAxODA1RTYyMkU5ODhCMjQwMEIKKzoxMDhENzAwMDBGOTAwMzI0MTZDOThDMzY3QjhGOUM4M0E3OTBDOTAwNjMKKzoxMDhEODAwMDNFNTAwNDk0MTMyNDUwQzlFMDNFNTAwRjkwMDMwNjAwNTcKKzoxMDhEOTAwMDcwMDAwMDAwMDAwMDAwMDAzODEwRTI4MDg4QTAyMjI4NDcKKzoxMDhEQTAwMDBCOEEwMjJBODA4OEE0MjIzMDA4OEUwQTIyMDI4OEEwMTgKKzoxMDhEQjAwMDJFMjg4OEFBMTIyMjkwODhGNDJFMjAwQkM4MDIwRTA0QjYKKzoxMDhEQzAwMDMwMDAwMDAwMDAwMDAwMDAwODA1RDQyMEE1MDgyMTQyNjIKKzoxMDhERDAwMDBCNTA4MjE0MzE4NTA4MjU0MDBBNTAyMjk0NDA4NTA4QTIKKzoxMDhERTAwMDZENDAwODUwMDI1NDAyOTUwMDJENDgwQjUwODI0MjAxRkMKKzoxMDhERjAwMDcwMDAwMDAwMDAwMDAwMDAxODE1ODQwMDhEMTAyMzQwNTIKKzoxMDhFMDAwMDBCRDAwMDM0MDE4RDAwMjM0MTU4RDAwMjM0MDA4RDA4NkUKKzoxMDhFMTAwMDJGNTAwOEQyMDI3NDgwOUQwMDJGNDgwQkRDMDI0NjA0QkMKKzoxMDhFMjAwMDYwMDAwMDAwMDAwMDAwMDBBMDE1RTc0MEU5QzAzMjQwRUIKKzoxMDhFMzAwMDBGOTAwOTI2MDBDOTA0MzY0MDFGOTAyM0E0MDhDOTQwOUEKKzoxMDhFNDAwMDNFNDAwQzk0MEI2NDIwRDkwMjNFNDEwRjk0MDM2ODA0MDkKKzoxMDhFNTAwMDcwMDAwMDAwMDAwMDAwMDAyODAxQTQwMEY5ODAzRTQwREUKKzoxMDhFNjAwMDBGMTQwM0M1MDhGOTAwM0U0MDFGOTAyM0U0MDBGOTAwRTkKKzoxMDhFNzAwMDNDNDBBRjk4MDM4NjAwRTkwMDNFNDAwRjEwMEI4QTAwOEIKKzoxMDhFODAwMDYwMDAwMDAwMDAwMDAwMDAyODEwQjAwMERDNDBCMzAwQ0IKKzoxMDhFOTAwMDBGQzAwMzMxMDJDNDA0QjEwMDNDNDAwMzEwMDBGQzQwODkKKzoxMDhFQTAwMDMzMDAwQ0M0MDNCMTAwQ0MwMEIzMDAwQ0M0MDNDQTA0RUIKKzoxMDhFQjAwMDIwMDAwMDAwMDAwMDAwMDAyODA1MjgwMDhBODAyMkEwNzEKKzoxMDhFQzAwMDBCQTAwMjJBMDA4QTg0MjJBMTA4QTAwMjI4MDhCQTAxNjUKKzoxMDhFRDAwMDIyODAwOEEwMkIyODAwOEE4MDJBODAwOEUwMDJDQTAwOEQKKzoxMDhFRTAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NEMwMjlCODEyMEUwQUIKKzoxMDhFRjAwMDhCMzgwNkNFMDA5MzgwMjBDMDA4MzgwMjBDMDBCMzgwNjcKKzoxMDhGMDAwMDZDRTAwQUIwMDI0QzAwOTMwMDIwRTAwODMwMDJDQTAwNzYKKzoxMDhGMTAwMDUwMDAwMDAwMDAwMDAwMDBBMDAxMTAwNDgwMDgyMTAyQTEKKzoxMDhGMjAwMDRCNDQwNkQwMjA5MDA4MjEwMjgwNDQwMjEwMDBCNEMwQjcKKzoxMDhGMzAwMDJEMTA0ODQwMDIwMDAwOTQ4OTI5MzAwODQwMDJFODAwQzIKKzoxMDhGNDAwMDQwMDAwMDAwMDAwMDAwMDBBODA4MzIwMEQ2ODAzMUEwRDgKKzoxMDhGNTAwMDBGRTgwQkNBMDBENjgwMjNBMDA0RjgwQjFBMDBGRjgwOEMKKzoxMDhGNjAwMEJGQTAyRUM4MTNEQTAyNUU4MDczQTAyQzc4MDNFQTAyMzkKKzoxMDhGNzAwMDAwMDAwMDAwMDAwMDAwMDAwODFEQUMwMEY5MDAzRTQwQTkKKzoxMDhGODAwMDBGOTAwMzI0MDBFOTAwM0U0MDBFODAwM0U0MDBGODAwNDcKKzoxMDhGOTAwMDMyNDAwRkIwMDNFNDAxRTkwNDM2NDAwRjgwMDNDMjA2RkIKKzoxMDhGQTAwMDYwMDAwMDAwMDAwMDAwMDAwMDA1RkUwMENEODAzMzYwN0UKKzoxMDhGQjAwMDBDRDg0MzM2MDBDRDgwMzM2MDBDRDkyM0JFMDA0RDgwRTEKKzoxMDhGQzAwMDMzNjAwOEY4MEIzRTAwRkQ4NDNGNjAwRkY5MDNDMDAwREEKKzoxMDhGRDAwMDcwMDAwMDAwMDAwMDAwMDBBODExOTAwNERFMDAyMzgwNTMKKzoxMDhGRTAwMDA4NjAwMkI4MjA4RTA0MjM4MDA4NjgwMjEwMDA4RTIwREEKKzoxMDhGRjAwMDIzODIwODQwMDIxMjAwRjYwMDJEODAwQjQxQTBFQTA0RjMKKzoxMDkwMDAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwOTAwMDg0MDAyMTAwQ0IKKzoxMDkwMTAwMDA4NDEwMjUwNDA5NDAwMjEwMDBBNTIwMkQ4MDA4NTAyMDMKKzoxMDkwMjAwMDI1MDQwODQwMjIxODA4QjQwMDJEMTAwQjc4NDBDMDAwMTkKKzoxMDkwMzAwMDIwMDAwMDAwMDAwMDAwMDAyMDE0RUUyMjkzMDAyMEMwNTkKKzoxMDkwNDAwMDA4MzgwMkVDMDA5MzAwMjBDMTJBMjAwMjY0MDI4MjEwM0EKKzoxMDkwNTAwMDI0RjAwQTNDNDIyNDI4QjMwMDJDRTAwQjg4ODJDODA0ODgKKzoxMDkwNjAwMDMwMDAwMDAwMDAwMDAwMDBBODE1QUQwMENCMDBCMkMwMjkKKzoxMDkwNzAwMEFDQkUwMzZFMDJEQjAwQjJDMDFFQTAwM0U0MDBDQTExNDYKKzoxMDkwODAwMEI2RDBBQ0JDMDMyNDAwRkIwMDNFQzBDRjg0MDNFQTA0OEUKKzoxMDkwOTAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwRTA0MEY4MDAzQzAwOUMKKzoxMDkwQTAwMDJGODIwM0EwMDBFODAwM0UwMDFEOTAxM0E4MDBGOTAwRTUKKzoxMDkwQjAwMDNBMDA4MTgzNDNFODAwRTgwMzNFMDQwRkIwMDNFMDAwNzgKKzoxMDkwQzAwMDMwMDAwMDAwMDAwMDAwMDAwMTEwRTAwMEQ2MDAzNzgwRjIKKzoxMDkwRDAwMDBDQTAwM0Y4MDBDRTAwMzM4MDBEQTAxMzIwMDhDRTAwQjIKKzoxMDkwRTAwMDMzODIwQzQwNzMzMDE4Q0UwMDFGODA0RkMxNDMwMDQ0QzAKKzoxMDkwRjAwMDMwMDAwMDAwMDAwMDAwMDA4MTA0N0MwMDhEMDAyMzQwNEYKKzoxMDkxMDAwMDBBRDAwMkY0MDA4RDAwMjM0MDA4RDQ4MDNFNDI4RDQwRjYKKzoxMDkxMTAwMDIzNDAwOEYwMDIzRTQwOEQwMDBGNDAwQkY0MDIyMDQwMzcKKzoxMDkxMjAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1MkMwMDk5MDBBNjQwRkYKKzoxMDkxMzAwMDA4OTAwNkU0MDA5MTAwMjA0MDg4MDAwMjI0MDg4MDQwNDYKKzoxMDkxNDAwMDIwNDAwQUIwMDIyNDAwODkwMDBFNDAwQjg0MDIyMDAwNTcKKzoxMDkxNTAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDAwMDgyMDAyMDgwQTEKKzoxMDkxNjAwMDBBMjEwNkM4MDE4MjAwMjA4MDA4MzI4MjA4MDg4MzAwOTQKKzoxMDkxNzAwMDYwODAwQTAwMTIwODgwODIwMDJDODAwQjMwMEEwMjAxRjUKKzoxMDkxODAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENjAwMEQ4MDAzNjAwNjQKKzoxMDkxOTAwMDBDODQyM0UwMDBDODAwMzIwMDBEODIwQjIwMDJDODAwQkUKKzoxMDkxQTAwMDMyMDAwRTAwMDMyMDAyQzgwMDNFMDAwRjgwMDMwMDAzQkYKKzoxMDkxQjAwMDUwMDAwMDAwMDAwMDAwMDBBMDFERkMwMEJGMDAzRkMwRTgKKzoxMDkxQzAwMDBGRjAwM0ZDMDBGRjAwQkZDMDhGQjAwM0ZDMDhGRjAyREMKKzoxMDkxRDAwMDNGQzAwREYwMDNFRDAwRkYwMjNGQzAwRkYwMDNFODA2QjMKKzoxMDkxRTAwMDcwMDAwMDAwMDAwMDAwMDBDMDAxRjA4Q0ZGMDAzRDYwMzYKKzoxMDkxRjAwMDJDQjI4MzdDOTBERjM4MzFFMDBGRjgwMzNDMDBGRjIwNzUKKzoxMDkyMDAwMDNGQzQwRUY0MDM3QzAwRjQ4MDMzMDAwREY4MDNGMDAwM0IKKzoxMDkyMTAwMDcwMDAwMDAwMDAwMDAwMDA4MDEwRTEyMEJCNjIyRTQyQzAKKzoxMDkyMjAwMDI4RjQ0MjNFNDA4RjQ0MjJFMDBCQjA4MzdGNDRCRkMxMEMKKzoxMDkyMzAwMDJEREMyQUY2MDIzRjQ1Qjg4MDIyNjE4OEI4MDJFMDA0OUUKKzoxMDkyNDAwMDMwMDAwMDAwMDAwMDAwMDA4ODA1QzU4MEIyMTgyRUM4NUMKKzoxMDkyNTAwMDI5MzAzMjBDMDhCMzIwMjBDMDRCOTIwMjBDMDBCMzQwREUKKzoxMDkyNjAwMDJDQzA4OTM0MTI0QzAwQjAwMDI0QzE0OTMwMDJFMjAxMDQKKzoxMDkyNzAwMDcwMDAwMDAwMDAwMDAwMDBDMDExQTQwMEJBMEMyRUUwMzUKKzoxMDkyODAwMEE5QjAwNjJDMDA4QjAwQTJDMDBCOTAwMDZDMDBCQjAwQTQKKzoxMDkyOTAwMDJFQzAwQjMwMDI2QzAwQkE4MDI2RjAwOEIwMDJGMDA0MzkKKzoxMDkyQTAwMDYwMDAwMDAwMDAwMDAwMDA0MDExRUUwMEZCQzQzRTc4QUEKKzoxMDkyQjAwMDJEQjAwMzZDMDhGQjAwMzJDMDhCMjQ4MzJDMDBGQjAwMTQKKzoxMDkyQzAwMDNFQzA4RkIwMEI2QzA4QjJFMDE2NjA4REIwMjNEMDA0QTYKKzoxMDkyRDAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxQkU5OEZGNDAzRkMwQTkKKzoxMDkyRTAwMDBFNzAwM0RDMDBGRjAwM0ZDMDBGRTAwM0ZDMDBGRjAwMzYKKzoxMDkyRjAwMDNGQzAwRUYwMDNBQzAwRkUwMEI5QzAwRkYwMDNGODAwNTEKKzoxMDkzMDAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwQUQwMEZBNDAzRUQwQjgKKzoxMDkzMTAwMDBFQjIwM0VDMDBDMzAwM0VDMDBDQTAwMzJDMDFGQjAwMDYKKzoxMDkzMjAwMDNDQzAwRUI4MDNFQzAwREEwMDNBRDA0RkIwMjNEMDA0QjIKKzoxMDkzMzAwMDIwMDAwMDAwMDAwMDAwMDBDODA1MkMwMEJBMDAyQ0MwNkUKKzoxMDkzNDAwMDA4RjQwN0JDMTRERjAwM0VDMDFBQTA1MkJDMDBCRjA0RTIKKzoxMDkzNTAwMDNGQzA4QUYwMDNCQzAwRkEwMDIyQzgwRkIwMDNGMjAwM0QKKzoxMDkzNjAwMDQwMDAwMDAwMDAwMDAwMDBFMDA1NDgwMUIxMDA2Q0MyQjAKKzoxMDkzNzAwMDBBMzA0MkNDMDA4MzA1MkNDMDA4MzAwMjhDMDFCMzA0QjMKKzoxMDkzODAwMDJDQzAwQTMwMjI4QzAwODA4MDI4QzAwQjMwMjJGODAwQ0MKKzoxMDkzOTAwMDUwMDAwMDAwMDAwMDAwMDAyMDAxMUUwOEI3ODA2RkUwQjAKKzoxMDkzQTAwMDE4NzgwMjhFNDBCNzgwMkRFMDBBNzgwMjlFMDBCNzgwQzAKKzoxMDkzQjAwMDI5RTEwQTc4MDI5RTAxQkM4MDI5RTQwQjc4MDJDODAwRUEKKzoxMDkzQzAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MDk0MEYxMjAzQ0M0QjMKKzoxMDkzRDAwMDBFMzkwMkNDMDBDMzAwMkNDNDA4OTIwMzhDODhCMzEwNTEKKzoxMDkzRTAwMDJDQzQwRUIwMDc4QzAwQzIwODM4QzAwRjMwNDNEMjAyMjQKKzoxMDkzRjAwMDAwMDAwMDAwMDAwMDAwMDA0MDFEQkMxMEZDMDA3RkMwMDkKKzoxMDk0MDAwMDBGRjA4M0ZDMjFERjA4M0JDMDhGOTAwMUZDMjFGRjBDOTMKKzoxMDk0MTAwMDNGQzIwRkYxMDNFQzAwRUYwMDc3QzAxRUYwMDM5MDA2OEYKKzoxMDk0MjAwMDYwMDAwMDAwMDAwMDAwMDBBODA1RTgwMUY5MDAzMkMwNUIKKzoxMDk0MzAwMDBGQjIwM0VFOTBEQkUxM0FDMDREMzgxMzJEMzBGQjAwNDQKKzoxMDk0NDAwMDNFRTA0RkJBNDMyQzQwRkEwMDNGQzA4Q0IwMDNFQTAwMjQKKzoxMDk0NTAwMDcwMDAwMDAwMDAwMDAwMDA0ODExOUMwMEIxMDAyMUMwMTUKKzoxMDk0NjAwMDBCNzEwMkNDMjBBNzI4MjFDMDBCNzAxMzVDMDhCNzEwMjkKKzoxMDk0NzAwMDJEQzQ0QjM0ODMxQ0MxQjcwMjJEQzAxQTcwMDJEMjA0MTQKKzoxMDk0ODAwMDYwMDAwMDAwMDAwMDAwMDBDMDAwOUEyMEI0QzQyNUEyQzMKKzoxMDk0OTAwMDBCNzgwNkRFMDA4MzgwMjlFMDFCRjgwMjVFODBBN0EwMUYKKzoxMDk0QTAwMDJEQzgwQTcyMDIxRTAwQTY4MDI4RTAwODc4MDJGMDAwOEIKKzoxMDk0QjAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0RUQwMEIzNDAyNEMzNjkKKzoxMDk0QzAwMDBCMzA0MkNDMDBBMzAwMjBDMDFCMzQwMjRDMDBCMzAwODAKKzoxMDk0RDAwMDJDQzA0QjMwMDIwQzAwQjM4ODJDRDQwQTMwMDJEMjA0Q0EKKzoxMDk0RTAwMDMwMDAwMDAwMDAwMDAwMDBFODE1QjgwMEZFNDBCN0EwMDIKKzoxMDk0RjAwMDBGQTAwM0U4MDBEQTAwM0E4MDBGRTIwMzY4MDBGQTAwRTgKKzoxMDk1MDAwMDNFODAwRkEwMEIyODAwRUVFMDNGQjAwNEEwMDNGQTA0NTkKKzoxMDk1MTAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwRTAwNEYwMDgzQTEwN0QKKzoxMDk1MjAwMDBGODQwM0UwMTBGODAwM0UwMDRGODA4M0UwMDBGODAwNTUKKzoxMDk1MzAwMDNDMDAwRjgwMDM4MDAwRjg0MDNFMDkwRjgwMDNEMjAwRkEKKzoxMDk1NDAwMDMwMDAwMDAwMDAwMDAwMDAwODEwRTQyMEU5MDAzMjQ0NzAKKzoxMDk1NTAwMDBDOTAwMzI0MDBGOTAwM0U0MDBGOTAxM0U0MDBCOTAwODIKKzoxMDk1NjAwMDFFNDAwQzEwMDMyNDAwQzlBMDNDNjQwQzkwMDM4MjA0MkMKKzoxMDk1NzAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjQwMDg5MDAyMjY4QzAKKzoxMDk1ODAwMDA4MTMwMjI0MDhGOTAwMkU0ODFCOTAwMkU0MDBCOTAwRDkKKzoxMDk1OTAwMDNFNDAwQzkwMDIyNDA4Rjk0MDJFNjAwQTkwMDZFMDAwM0MKKzoxMDk1QTAwMDEwMDAwMDAwMDAwMDAwMDAxODAxMjQwMEE5MDAyMDQwNjUKKzoxMDk1QjAwMDA4OTAwMjI0MDBCOTAxMkU0MDBCOTAwMkU0MDBCOTAwOEIKKzoxMDk1QzAwMDJFNDAwODkyMjIyNDAwODkwMDJFNDAwODkwMDJDNjAwRjYKKzoxMDk1RDAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDQ4MDgxMjFFMDUwRTkKKzoxMDk1RTAwMDI4MTYwQTA0ODBBMTQwMkM0MDRCMTQyMkM0MDBCMTAwNkMKKzoxMDk1RjAwMDJDNTAwOTE0MDIwNDA0QjEwMDJDNDAwQTEwMDJDMjAxQ0MKKzoxMDk2MDAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjE0MEU4NTAzMjAwOEEKKzoxMDk2MTAwMDhDODAwMjIwMDBCODAwM0UwMDBCODAzM0UwMTBGODAwODAKKzoxMDk2MjAwMDNFMDAwQzgwMDMyMDA4Q0EwMDNFMDAwQzgwMDNBRTAzRkQKKzoxMDk2MzAwMDUwMDAwMDAwMDAwMDAwMDA5ODFERkM0MEZEMTAyRjQxNkMKKzoxMDk2NDAwMDRGOTEwM0U0NDBGOTQwM0U0MDRGRDA2M0U1MDBGOTQwQkMKKzoxMDk2NTAwMDNBNTAyRTk0MDM2NTAwRUQwMDNGNTAwRjkwMDNFNjA2NEMKKzoxMDk2NjAwMDcwMDAwMDAwMDAwMDAwMDAxODE1RTYwMEY5RTAzMzUwMUIKKzoxMDk2NzAwMDBDREEwM0E2MDBEOTgwM0Y0MDBGOTEwM0E2MDBGOTg4QjkKKzoxMDk2ODAwMDNFNjgwQ0RFMDM2NjAwRUQwMDNCNjkwQzkwMDNDNjAwRUIKKzoxMDk2OTAwMDcwMDAwMDAwMDAwMDAwMDAzODEwRTEwOEI4RTAyMDIwNTEKKzoxMDk2QTAwMDE4OEUyNkUxMDA4MEEwMkUwMDRCODg0MkUxNTBCODQwODEKKzoxMDk2QjAwMDJFMkEwRDBBMDIyMDA4QjgwMDJFMTQwRDgwMDJDRTA0QjYKKzoxMDk2QzAwMDMwMDAwMDAwMDAwMDAwMDAwODA1QzUwMEIxNjAyMDQwMjcKKzoxMDk2RDAwMDA4MzFBMkM1MDA5MTQ4MkM0MDFCMTIwMjg0MDBCMTAwNDEKKzoxMDk2RTAwMDJDNTAwOTE2MDIwNTAwQTMwNDI4NDAwODEwMDJDMjAxRUMKKzoxMDk2RjAwMDcwMDAwMDAwMDAwMDAwMDAxODA1QTQwMEI5MDgyMDcwRTgKKzoxMDk3MDAwMDI4OTAwMkU0MDA4OTAwMkU0MDBCOTAwMkU0MDhCOTAzN0YKKzoxMDk3MTAwMDJDNDAyOTkwMDI2NDAwQjkwMDJFNjIwOTkwMDJDNjA0MTAKKzoxMDk3MjAwMDYwMDAwMDAwMDAwMDAwMDBBMDA1RTUwMEY5RDBCMjcwNjQKKzoxMDk3MzAwMDA4OTAwM0U0MDBEOTA0M0U0MDBGOTAwM0E0MTBGOTAyRkUKKzoxMDk3NDAwMDNFNDAwRDkwMkI2NDAwRTk4RDNBNjAwQzkwMDNFODA0RDQKKzoxMDk3NTAwMDcwMDAwMDAwMDAwMDAwMDAyODAxQTQwMEY5ODAzRTQyRDMKKzoxMDk3NjAwMDBGOTAwM0U0MDBGOTAwM0U0MDBGOUEwM0U0MDBGOTAwNzMKKzoxMDk3NzAwMDNFNDAyRjEwMDNBNDAwRjkyMjNDNDA0RjkwMDNDQTAwNDIKKzoxMDk3ODAwMDYwMDAwMDAwMDAwMDAwMDAyODAwQTAwMEYwNDAzMjAwNEYKKzoxMDk3OTAwMDBDODAwM0MwMDBGODAwMzIyMDFGODAwM0UwMDBDODAwRTYKKzoxMDk3QTAwMDMyMDAwQzgwMDIyMDAwQzhDMDNFMDAwQzgwMDNDQTA0QjYKKzoxMDk3QjAwMDIwMDAwMDAwMDAwMDAwMDAyODE1MjgxMEJBMDAyM0EwOTcKKzoxMDk3QzAwMDBBRTQwMkU4MDBCQTAwMkJBMTBCQTAwMkU4MDBBQTAwRkMKKzoxMDk3RDAwMDJBODEwQUEwMDNFODA4REUwMDJFODAwQUEwMDJDQTAwM0YKKzoxMDk3RTAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NEMwMEIzMDRBMEIxQjgKKzoxMDk3RjAwMDA4MzYyMkNDMDBCMzAwMjBFNDBCMzAwMkNDMDA4MzAwRkEKKzoxMDk4MDAwMDIwQzAwODE4MDIwQzAwOTEwMTJDQzAwODMwMDZDQTAwQzQKKzoxMDk4MTAwMDUwMDAwMDAwMDAwMDAwMDBBMDAxMUNDOEIzMjEyMUMyQkMKKzoxMDk4MjAwMDJBNzAwMkRDMDBCN0EwMjlDMDBCNzIwMkNFMDBBNzgxMEIKKzoxMDk4MzAwMDI5QzA0QTc0MDJGRTAwOTcwMTJDQzAwQTcwMTJFODAwODkKKzoxMDk4NDAwMDQwMDAwMDAwMDAwMDAwMDBBODA4MUU4MEY3QzAzMUUwQzIKKzoxMDk4NTAwMDBDNDgwM0RFMTFGNzgwMjFFMDBCN0EwM0RFMDBDMzgwQTEKKzoxMDk4NjAwMDMzRDg2Qzc4MDMzRTAwRDY4MDNERTAwQzc4MDNFQTAyRTIKKzoxMDk4NzAwMDAwMDAwMDAwMDAwMDAwMDAwODBEQUMwOEZCODAzRUMwQTYKKzoxMDk4ODAwMDBGRDAwM0VDMDRGQjNDM0VDMDBGQjYwNzZDMDFGQjAwOUQKKzoxMDk4OTAwMDNFRDAwRjk0MDdFQzAxRUEwMDNFQzAwRkIwMDNDMjA2QjEKKzoxMDk4QTAwMDYwMDAwMDAwMDAwMDAwMDAwMDAxRkUwMENGQTQzQjYwNEIKKzoxMDk4QjAwMDA4RDkwMzdFMDBDRjgwM0YyNTRGRkM4N0JFMDBDRjgwQjQKKzoxMDk4QzAwMDdGRkMwQ0ZDMDM3QzAwRjY5MDMzRTAwRkY4MDNDMDAwMzMKKzoxMDk4RDAwMDcwMDAwMDAwMDAwMDAwMDBBODExOUMwODhGMjgyMTQwQTMKKzoxMDk4RTAwMDA4RDAwMjFDNDBBNzIwMzEwNDFCNzgwMkRDODBENzAwN0UKKzoxMDk4RjAwMDJGQzQxQUQwMDIxRTQ4QjYwMDYxQzAwQjcwMDZFQTA0REQKKzoxMDk5MDAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwOEMwMDg3MzA2OTQ0MDcKKzoxMDk5MTAwMDA4NTAyMjBDMDA4NzAxMkQ0NDhCNzAwNjhDMTA4NzAwQTQKKzoxMDk5MjAwMDI5QzkwODUwMDIxQzQ0QTYwMDYxQzAwQjcwMDJDMDAwODcKKzoxMDk5MzAwMDIwMDAwMDAwMDAwMDAwMDAyMDE0Q0QwMDgzODg2MDQwNUIKKzoxMDk5NDAwMDAwMTAwMjRDMDAyQjAwMkM0MTFCMzAwMkNDMDA5MzAwNzUKKzoxMDk5NTAwMDJDQzAwQTMwNDIwQzAwQjI0MDIwRjEwQjMwMDJDODA0ODcKKzoxMDk5NjAwMDMwMDAwMDAwMDAwMDAwMDBBODE1QkQ0MUNGQzBCQUYwRDMKKzoxMDk5NzAwMDI4OTAxQjZDMDhDRjAwMkNDMDBGRjAwM0FDMDA4QjAwQUMKKzoxMDk5ODAwMDNGQzA2Q0IwNEIyQzAxRkI0MDIyQzgwRkIwMDNFQTA0NkYKKzoxMDk5OTAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwRUMwNEZCMDQzRkQ0RTUKKzoxMDk5QTAwMDBGMTAwM0FDMDBGQjAwMzJDMDVGQjAwM0VDMDBGQjA0RkYKKzoxMDk5QjAwMDNFQzA0RjEwMTNFQzAwRkI4ODNFQzA0RkIwMDNFMDAwRTgKKzoxMDk5QzAwMDMwMDAwMDAwMDAwMDAwMDAwMTEwREMwMEM3MDAzMzYyMUUKKzoxMDk5RDAwMDBDQzAwQjNDMDBFRjAwMzNFMDFDRjAxMzNDMDhGNzAwMTgKKzoxMDk5RTAwMDMxQzAwRUQ4MDNCQzAwRkUwMDNEQzYwQ0YwMDNDMDQ0REQKKzoxMDk5RjAwMDMwMDAwMDAwMDAwMDAwMDA4MTA0NkMwMENCMDMyMjQ3MEYKKzoxMDlBMDAwMDA4OTg0MjJDMDA5QjAwMkFDMDBBQjAwMjJDMDBCQjA0MUMKKzoxMDlBMTAwMDJBQzAwQUIwMDJBQzA4RkEwMDJFNjAwOEIwMDJFMDQwOEEKKzoxMDlBMjAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1MkMwMDlCMDAyMDQwN0EKKzoxMDlBMzAwMDA4OTgwMjJDMDBCQjAwMjI4ODA4MzAwMjJDMDBCQjAwRDIKKzoxMDlBNDAwMDIyQzA4QTkyMDJBQzAwQUE4MDJFQzAwOEIwMDZFMDAwQjQKKzoxMDlBNTAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MEMwMDgzMDBBMDQwNEIKKzoxMDlBNjAwMDA4MTAwMjBDMDBCMzAwMjg4MDBBMzIxMjBDMDBCMzA0NjQKKzoxMDlBNzAwMDI4QzAwQTMwMjI4QzIwQjIwMDJDQzAwODMwMDJDMjAxNUIKKzoxMDlBODAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENkMwMkNCMDAzMDQwMjAKKzoxMDlBOTAwMDFDOTQwMzJDMDBFRjAwMzJDMDg4RjA4QjJDMDBGQjAwREMKKzoxMDlBQTAwMDMzQzBBRUYwMDNBQzgwRUEwMTNFQzAyQ0IwMDNDMDAzNkIKKzoxMDlBQjAwMDUwMDAwMDAwMDAwMDAwMDBBMDFERkMwMEZGMDAyRjQwMkYKKzoxMDlBQzAwMDA3RDI4M0ZDMDBERjA0M0ZDMDBGQjAwM0ZDMDBGRjAwOUYKKzoxMDlBRDAwMDNGQzAwRkQwMEJFQzAwRUUwMDNGNDAwRkYwMDNFODA2NTQKKzoxMDlBRTAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1RjUwMENGMDgzRjQ4RUUKKzoxMDlBRjAwMDBGQzM5MzcwRDBEQzMwM0ZEODBDQjIwMzNDQzBGRjQwQTIKKzoxMDlCMDAwMDMzQzQyQ0YxMDM2MjUwRkMzNDMzMDAwRjVDMDNGMDAwQ0IKKzoxMDlCMTAwMDcwMDAwMDAwMDAwMDAwMDA4MDEwQzQ4MDhCMDAyRjVBRUQKKzoxMDlCMjAwMDBCQTYxMjIxQzA4OTcwMkZEQzA4RjJDMjNERDBCRjQwQzUKKzoxMDlCMzAwMDM3REM4OEY1MEEyMDgwRTgxMDJBMTYwQjkwMDJFMDA0MzIKKzoxMDlCNDAwMDMwMDAwMDAwMDAwMDAwMDA4ODA1QzAwMDgzMDgyQzQ0OUQKKzoxMDlCNTAwMDBCMDIwMjBDMDA4MDAwMkNDODA4MzM0MjhDOTBCMzMwRkEKKzoxMDlCNjAwMDI4Qzg0QTMyMTI4MDBDQjBBMDI4MjgwQjEyMDJFMjAxNDkKKzoxMDlCNzAwMDcwMDAwMDAwMDAwMDAwMDBDMDE1QTIwMDhCMDAyRTQ4RkQKKzoxMDlCODAwMDBCQTAyMjIwMjA4ODgwMkVDMDI4QjAwQUFDMDBCQjAwODkKKzoxMDlCOTAwMDJFQzAwQUIwMDJBMDAwQUI4MjJBQTAwQkIyMDJGMDA0RDEKKzoxMDlCQTAwMDYwMDAwMDAwMDAwMDAwMDA0MDE1RTcwMENCMDAzRUMwNTAKKzoxMDlCQjAwMENGOUMwQjIxMDBEODg4M0VDMDBDQjAwM0FDMDBGQjAwNEEKKzoxMDlCQzAwMDNBQzAwRUIwNDNFODQwRjg4MDNBNjAwRjk4MDNEMDA0RTIKKzoxMDlCRDAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxQjQwMEZGMDAwRkUwOTIKKzoxMDlCRTAwMDA3QTEwM0U4MDJGQjAwM0ZDMDBGNzAyMzdDMDBGRjAyQzcKKzoxMDlCRjAwMDM1QzA0REIwMDM3NDIwRkMwMTNGMDAwRkY4MDNGODAwOUUKKzoxMDlDMDAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwQTUwMENCMDBCQTQwM0EKKzoxMDlDMTAwMDBDMTQwQjJGMjJDOTQwMzJDMDhFQjAwM0FDMDBGQjAwRTUKKzoxMDlDMjAwMDNFQzAwRUIwMDNFNDAwQzkwMDMyMDAyQzkwMDMxMDA0QzMKKzoxMDlDMzAwMDIwMDAwMDAwMDAwMDAwMDBDODAxMjQwMDhGMDAyMjQwMjYKKzoxMDlDNDAwMDJDQTU0MjI5MDA4QjA0QTNDMTBERjAwQTNDMDBCRjAwRTMKKzoxMDlDNTAwMDNGQzAwOEYwMDE2OTAwREEwNTIyRDAwODk0MDM3MjAwQzEKKzoxMDlDNjAwMDQwMDAwMDAwMDAwMDAwMDBFMDA1NjA0MDgzMDEyMEMwQ0IKKzoxMDlDNzAwMDA5MDAwMjIwMDA4MjYwMjJDMDA4MzA0MjRDMTBCQjAyNjIKKzoxMDlDODAwMDJDQzAwOEIwMTIwNTAwOUIwMDIwODIwOTMyMDIzODAwNjcKKzoxMDlDOTAwMDUwMDAwMDAwMDAwMDAwMDAyMDAxMTY5MDg3ODAyMEUwQTYKKzoxMDlDQTAwMDA4NTgwMjE2MTQ4NDgxMjFFMDI5MzkwMjVFMDBCNzgwMjkKKzoxMDlDQjAwMDI4RTAwODc4MDI3QTgwOTY4MTIxRTAwOUY4MDI0ODAwQkQKKzoxMDlDQzAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MDgwOThCMTAzODQ0REMKKzoxMDlDRDAwMDREMjUxMjBDMDBDMjEwMjJDODBBMzgwM0NDMDBGMzEwMjQKKzoxMDlDRTAwMDJDQzAwQzMwMDM4QUMwRDkxMDMyNDAyRDEwMDMxMjAyNTAKKzoxMDlDRjAwMDAwMDAwMDAwMDAwMDAwMDA0MDFEQkM4MEZGMDAzRjQwNEQKKzoxMDlEMDAwMDBGRjAwM0Y0NDBFRDAwM0ZDMDBFRjMwM0JDMDRGRjAwNkUKKzoxMDlEMTAwMDNGQzIwRkYwMEJENDAwRkYxMEJGODAwRUYwMDNEMDA2M0YKKzoxMDlEMjAwMDYwMDAwMDAwMDAwMDAwMDBBODA1RkEwMENCMDIzRUMwNjEKKzoxMDlEMzAwMDBGOTAwM0EwMDBDQjAwM0FDQTBDQjMxM0FGMjRDQjQ4NUEKKzoxMDlENDAwMDFFQzgwRkI2MDMyQzAwRkEwMDNFQzAwRjkwMDNFQTAwQjUKKzoxMDlENTAwMDcwMDAwMDAwMDAwMDAwMDA0ODExOUMwODg3MjAyREM0RkUKKzoxMDlENjAwMDBCNTAxMkRDMDQ4NzAwMkNDMDA4NzBBMjFEMDBBNzQwMTUKKzoxMDlENzAwMDI1Q0I4Qjc0ODIxQzAwQjcwMDJEQzEwQjcwMDJEMjA0NUUKKzoxMDlEODAwMDYwMDAwMDAwMDAwMDAwMDBDMDAwOUEwMTg3OTAyREUwRjQKKzoxMDlEOTAwMDBCNzgwMkNFMDA4NjgwMkRFNDI5N0EwMjlFODA4N0EwNkYKKzoxMDlEQTAwMDZERTgwQjc4MDIxRTAwQjU4MDJENjAwQjc4MDJGMDAwODQKKzoxMDlEQjAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0Q0QwMDgzMDIyQ0UwQzkKKzoxMDlEQzAwMDBCMzAwMkNDMDA4M0UwMkNDMDA4MzAwMjBDMDBBMzAwNTIKKzoxMDlERDAwMDI0QzAwQkIwMDIwRTIwQjMwODJDQzAwQjMwMDJEMjA0RkEKKzoxMDlERTAwMDMwMDAwMDAwMDAwMDAwMDBFODE1Qjg4MkNBMDAzRUE4NUMKKzoxMDlERjAwMDBGRTAwM0Y4MDI4RTgwM0U4MDBEQTA1QkE4MDBDQTAwMzEKKzoxMDlFMDAwMDNFODAwRkEwMDMzQjgwRkU0MjJGODAwRkE4MDNGQTA0ODAKKzoxMDlFMTAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwRTAyMEY4MDAzRTAwNjQKKzoxMDlFMjAwMDBGMDYwM0MwMDBGODExM0UwMDBGMDAwM0UwMDBGODAwMjkKKzoxMDlFMzAwMDM2MDAwRjgwMEJFMDAwRjgwNDNFMjAwRjgxMDNEMjAwQjMKKzoxMDlFNDAwMDMwMDAwMDAwMDAwMDAwMDAwODEwRTQwMEY5MDAzRTQwNkYKKzoxMDlFNTAwMDBDOUEwMzI0NDBDOUMwM0U0MDRDOTAwMzI0MDBGOTAwRjIKKzoxMDlFNjAwMDM2NDAwNzkwMDMyNDAwQzkwNDMyNjAwRjkwMDNDMjA0RjcKKzoxMDlFNzAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjQwMEI5MDIyRTQwQTEKKzoxMDlFODAwMDBBOTIwMjI1MDI4OUUwMkU0MDk4OTAwMjI0MDBCOTAwMkYKKzoxMDlFOTAwMDIyNDAwOTkwMDIwNDAwRDkwMDIyNDQwQjlDMDJFMDAwRjkKKzoxMDlFQTAwMDEwMDAwMDAwMDAwMDAwMDAxODA1MkMwMEI5MDAyQzQwMzQKKzoxMDlFQjAwMDA4OTAwMjI0Mjg4OTAwMkM0MDY4OTA0MjI0MENCMTA0QTgKKzoxMDlFQzAwMDI2NDAwQjkwMEEyQzgwODEwMDIyNDBDQjkyODJDNjAwNTMKKzoxMDlFRDAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDQwMEIxMjAyQzQ4RUQKKzoxMDlFRTAwMDBBMTIwMjA0ODA4MTIxMkM0QzA4MTEwMjA0MDhCMTEwQ0UKKzoxMDlFRjAwMDIwNEMwOTEyMDIyNDAxOTEyMEEwNDgwQjEwMDJDMjAxM0IKKzoxMDlGMDAwMDAwMDAwMDAwMDAwMDAwMDBCODBENDFFMEY4NTAzRTE0RDEKKzoxMDlGMTAwMDBDODUwMzIxNDBDODUwM0UxMDA4MDY4MzAxRjBGODY4MDQKKzoxMDlGMjAwMDM2MTAwRjA1MDMyOTQwQzg1MDMyOTQwRjg1MDNFRTAzMDUKKzoxMDlGMzAwMDUwMDAwMDAwMDAwMDAwMDA5ODFERjQwMEY5MTAzRjQ0OUMKKzoxMDlGNDAwMDBGRDEwQkY0NDBGRDEyMkU0QzAzOTIwQkU0MDBGOTIwQ0MKKzoxMDlGNTAwMDNFNEMwRjkxMDNGQzAwRkQxMDNGNDQwRkQwMDNFNjA2N0EKKzoxMDlGNjAwMDcwMDAwMDAwMDAwMDAwMDAxODA1RjYyMEM5MDEzRTQwMDYKKzoxMDlGNzAwMDBGRDAwMzNDMDBCRDAwMzI2MzBDOUU0MzI3MDBFOUMwQjQKKzoxMDlGODAwMDNFNjgwQzk4MDMzNDAwRjkxMDNGNDAwRkQwMDNDNjAwMjAKKzoxMDlGOTAwMDcwMDAwMDAwMDAwMDAwMDAzODEwQzIyMEQ4MDAyRTAwMjEKKzoxMDlGQTAwMDBCODA1MjI4MDRCODAwMjIzODA4ODgwMzYyMDA4OEYwMjkKKzoxMDlGQjAwMDJFM0E0ODhGMEEyMDAwQjA4MDJFMDAwQjgwMDJDRTA0N0IKKzoxMDlGQzAwMDMwMDAwMDAwMDAwMDAwMDAwODA1QzQ4MDgxMDAyQzQwMjMKKzoxMDlGRDAwMDBCMTAwMjA0MDBCMTAwMjA0MjQ4MTQ0MjA1ODBBMTIwNjkKKzoxMDlGRTAwMDJDNDQwODEwODIwNDAwQjEyMDJDNDAwQjEwMDJDMjAxNDYKKzoxMDlGRjAwMDcwMDAwMDAwMDAwMDAwMDAxODE1QTUwMTk5MDAyRTQwMTcKKzoxMEEwMDAwMDBCOTAwMjI0NDBCQjAxMjI0MTA4OTAxMjI0MDBBOTAwQjkKKzoxMEEwMTAwMDJDNDAwODEwNDAyNDA4Qjk0MDZFNTAwQjkyMDJDNjA0MzAKKzoxMEEwMjAwMDYwMDAwMDAwMDAwMDAwMDBBMDE1RTcxNEM5MDUzRTQxRDMKKzoxMEEwMzAwMDBGOTAwQjI0MDRGOTA4QjI0MDJDOTAwQTI0MDBFOTAwODgKKzoxMEEwNDAwMDNFNDAyQzkwMDMyNzAwRjk4MDNFNjAwRjkwMDNFODA0MDcKKzoxMEEwNTAwMDcwMDAwMDAwMDAwMDAwMDAyODAxODQ4OEY5MDAzRTQ4REMKKzoxMEEwNjAwMDBGOTkwM0U2MDBGOTAyM0M0MEFGMTAwM0U0MTJEOTA0NTMKKzoxMEEwNzAwMDNFNDAwRjkwMDNFNTAwRjlDMDNFNjQwRjkwODNDQTAwOTQKKzoxMEEwODAwMDYwMDAwMDAwMDAwMDAwMDAyODEwQTEwMEM4MDAzRTAwOTEKKzoxMEEwOTAwMDBGODAwMzIxMDBDODQwQjIwMDBDODAwMzIwMTBDODAwQ0MKKzoxMEEwQTAwMDMyMDAwQzgwMDNFMDgwRjgwNDMyMDAyQzgwMEIwQTA0OUMKKzoxMEEwQjAwMDIwMDAwMDAwMDAwMDAwMDAyODA1MjgwMENBMDAyRTgwQjMKKzoxMEEwQzAwMDBCRTgwQTM4MTA4RUMwMjI4MDBEQTAwMjI4MDAwQTA0NzYKKzoxMEEwRDAwMDAyODAyOEEwMDJGQjAwQkEwMDM3QjA0OEVBMDIwQTAwNUEKKzoxMEEwRTAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NEMwMDkzMDEyQ0MwMzcKKzoxMEEwRjAwMDhCQjA0MjBDOTA5QjIwMjBDMDQ4MzA0MjJDMDA4MzAwNDMKKzoxMEExMDAwMDIwQzAwODMwMDJDRDQwQjMwMDI0QzgwODM4MDIwQTAwM0QKKzoxMEExMTAwMDUwMDAwMDAwMDAwMDAwMDBBMDAxMTQwMDg3MDAyREMwQzYKKzoxMEExMjAwMDBCMjQwNjE2MDA5MzA4MjFDODA5MzEwMjBDODA4N0EwNzEKKzoxMEExMzAwMDIxQzAxODcyMDJEQzAwQjdCNDI0RTMwODc4MDIyODAwQkEKKzoxMEExNDAwMDQwMDAwMDAwMDAwMDAwMDBBODA4MUUwMjk3QTAzREYwOUIKKzoxMEExNTAwMDBGNDgwMzNFMDBENjgwMzBFMDJDN0EwMjFFODJDM0YwMDYKKzoxMEExNjAwMDMzRUMwQzdDMDNENjAwRjc4MDM1RTAwQ0Q4MDMyQTAyRDAKKzoxMEExNzAwMDAwMDAwMDAwMDAwMDAwMDAwODE5QTVBMEZCMDAzRUNBNzYKKzoxMEExODAwMDBGODAwM0VDMDJFQTAwM0VDNjBGQjQwQkVENDBGQjAwNkIKKzoxMEExOTAwMEJFQzAwRkI2NDNFMDAwRkIwMjNFODAwRjkwMDNDMjA2MzQKKzoxMEExQTAwMDYwMDAwMDAwMDAwMDAwMDAwMDA1RkUwMkNGODgzRkUwRDQKKzoxMEExQjAwMDBDQjkwM0ZFMDBERDgxMzNFMDhDRkMwMzNGMDRDRjgwNEIKKzoxMEExQzAwMDMzRTI0RkZDMDMzRTAwQ0ZDMDMzNjQwQ0Y4MDNDMDAwMDEKKzoxMEExRDAwMDcwMDAwMDAwMDAwMDAwMDBBODExOTQ0MDg3MDAyRkMxMEIKKzoxMEExRTAwMDBENjlBMkQwNDBCQzAwMjNDMDA4RjAwMjlDMDA4NzAwOEIKKzoxMEExRjAwMDIxQzAwQjcwMEEzQzA0ODcxMDIxNEMwODYwMDJFQTA0NUQKKzoxMEEyMDAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwOUUwMDg3MDAyREMwREMKKzoxMEEyMTAwMDA5NjIwMkQ4MDA5NzAwMjFDNDA4NzAwMjBDNDA5NzAwMjAKKzoxMEEyMjAwMDIxQzQwQjMwMDI1ODAwQTcwODIxODAwODYwODJDMDAwQkEKKzoxMEEyMzAwMDIwMDAwMDAwMDAwMDAwMDAyMDE0RTQyNTgzMDAyQ0MwNTIKKzoxMEEyNDAwMDA5MjIwMkNDMjBCMjAwMjBDMDI4QjAwMjhDMDA5MzAwNkEKKzoxMEEyNTAwMDIwQzAwQjMwNDI2QzIwODMwODIwRTIwOEI4MDJDODA0RkEKKzoxMEEyNjAwMDMwMDAwMDAwMDAwMDAwMDBBODE1QTQwMENGMDAzRkMwOEYKKzoxMEEyNzAwMDBEOUMwM0U4MDBEQjgwMzNDMDBDRjAwQjNDMDZERjAwRDQKKzoxMEEyODAwMEIzQzAwQkYwMDc2ODAwRUY0MDMyQTgwQ0E4MDNFQTA0NDMKKzoxMEEyOTAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwRUMwMEZCMDAyRUMwMDkKKzoxMEEyQTAwMDBGOTQwM0M1NDBGQTMwM0VDMDBGQjAwMzZDMDBFQjAwQzIKKzoxMEEyQjAwMDNFQzAwRjMwMTNBRDQwRkIwMjNFRDAwRkI0MDNFMDAwQjAKKzoxMEEyQzAwMDMwMDAwMDAwMDAwMDAwMDAwMTEwRTQwMEM3MDAzMUMxQjAKKzoxMEEyRDAwMDhDRDAwMzM0MDBDRDAwM0RDMDBDRjAwMTdDMDBEQjAxQ0MKKzoxMEEyRTAwMDNEQzA0Q0YwMEIzMDAyQzMwMDMyMDAwRkQwMDMwMDQ0REQKKzoxMEEyRjAwMDMwMDAwMDAwMDAwMDAwMDA4MTA0NkU0MDhCMDAyQUMwODYKKzoxMEEzMDAwMDI4ODQ0MjIyODA4ODgwM0FDMDBEQjAwMkFDMDg4QjAwQkQKKzoxMEEzMTAwMDJFQzAwOEIwMDIyMzIwOEIwMDIyMzA4QjhDMDIyMDQwRkMKKzoxMEEzMjAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1MjQwMDhCMDAyMkMwMDcKKzoxMEEzMzAwMDA4Mzg4NjJBMDA4OTgwMkFDMDA4QjAwMkNDMDA5QjAwMTkKKzoxMEEzNDAwMDJFQzAwOEIwNDIyNjAwOEIwMDIyNzEwQjhDMDIyMDAwMjgKKzoxMEEzNTAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MEMwMDgzMDAyOEMwM0EKKzoxMEEzNjAwMDA4MzI0MjAwMDA4MTAwMjhDMDA5MzA1MjhDMDg4MzAwNjYKKzoxMEEzNzAwMDJDQzAxODMwMDYwMDAwODMwMEEwMDAwQjAwMDIwMjAxNzAKKzoxMEEzODAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENzQwMjhCMDAzM0MwQ0MKKzoxMEEzOTAwMDBDOTIwQjIwMDJDODAwM0JDMDBDRjUwM0ZDMDBERjAxNEYKKzoxMEEzQTAwMDNGQzEwNEYwMzMyMTQwQ0YwMDMyMDAwRjgwMEIwMDAzODcKKzoxMEEzQjAwMDUwMDAwMDAwMDAwMDAwMDBBMDE5RkMwMEZGMDAzRkMwOUEKKzoxMEEzQzAwMDBGQzQwM0YwMDA5QzAwM0JDMDBGRjAwM0ZDMDBGRjAwMzMKKzoxMEEzRDAwMDJGQzAwRkYwMDNGMDgwRkYwMDNGMDAwRkMwMDNFODA2MUUKKzoxMEEzRTAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1RjBDMEZGQTAzMTI0OTQKKzoxMEEzRjAwMDBFRjA2MzEwMDRFRjY0M0ZDMDRDRjMwMzFDODBERjA4RDEKKzoxMEE0MDAwMDM3QzAwRkYwMDNGMEEwRkMwMDMxMDgyQ0QyMDNGMDAwOUQKKzoxMEE0MTAwMDcwMDAwMDAwMDAwMDAwMDA4MDEwRTEwMEJCQzEyMjQ4NzUKKzoxMEE0MjAwMDA4RkQwMjJFMDA5NzAwMkZDMjQ4NzEyMzdFNDBCRjAwMTYKKzoxMEE0MzAwMDIxQzU0QkY1MDJFRjAwQkI0MDM2RTAwOEE4MDJFMDA0NUUKKzoxMEE0NDAwMDMwMDAwMDAwMDAwMDAwMDA4ODA1QzU4NEIzMTFBMkM5RDcKKzoxMEE0NTAwMDBBMzAwMjAwMDFCMzMwMjhDNDA4MzI0MjBDMDBBMzA4QkQKKzoxMEE0NjAwMEEwQ0EwQTMyODI4MDEwQjA0MTI0MTEwODMxMDJFMjAxRjAKKzoxMEE0NzAwMDcwMDAwMDAwMDAwMDAwMDBDMDE1QTUwMEJCMDAyMkUxMzQKKzoxMEE0ODAwMDI4QjAwMjJDODA5QjAwMkVDMDA4QjAwMjZDMDBCMzAwRTQKKzoxMEE0OTAwMDIyQzAwQkIwMDBFQzIwQkIwMDI2QzAwODgwMDJGMDA0RjQKKzoxMEE0QTAwMDYwMDAwMDAwMDAwMDAwMDA0MDE1RTM0MEY3MDQzMkMwRTcKKzoxMEE0QjAwMDRFQjAyMzJFMjBFQjAwMUVDMDBDQjAwMTJDMDBGQjAwODAKKzoxMEE0QzAwMDM2QzAxRkIwMDNFMTQwRkIwMDM2OTgwQzkwMDNEMDA0NjcKKzoxMEE0RDAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxQjYwNEZGMDIzRkMwNzEKKzoxMEE0RTAwMDBGRjAwM0ZFMDBFRjAyM0RDMDBGRjAyM0ZDMDBGRjAwNjEKKzoxMEE0RjAwMDNGQzA0RkYwMDNGQzAwRjQwMDNCNDAwRkEwMTNGODAwRjYKKzoxMEE1MDAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwQUEyMEVCMTAzNkMwRTAKKzoxMEE1MTAwMDBEQjAwN0VDMjBEQjAwMzJDMDBDQjAwMjZDMjBFQjAwNjkKKzoxMEE1MjAwMDNFQzEwREIwMDNFMDIwREJBMDMyOTA0Q0IwMEIxMDA0MTQKKzoxMEE1MzAwMDIwMDAwMDAwMDAwMDAwMDBDODA1MkQwMDhGODAyMEMxMTEKKzoxMEE1NDAwMDA4NzAxMkNGMDA4RjAwQTNDMDBERjAwMjNDMDA4RjAwRjYKKzoxMEE1NTAwMDM3QzA4OEYwMDJFQzAwODgwMDIwNDAwODgwMDIzMjAwRkEKKzoxMEE1NjAwMDQwMDAwMDAwMDAwMDAwMDBFMDA1NEMwMEEzODAyNDgxQjIKKzoxMEE1NzAwMDA5MzAwNkNDNDA5MzAwMjhDMTA4QjAwMkNGNDBBMzAwQTgKKzoxMEE1ODAwMDJDQzAwOTMwMDJDRDAwOTA0MDYwNDAyODEwMDIzODAwRjUKKzoxMEE1OTAwMDUwMDAwMDAwMDAwMDAwMDAyMDAxMEUwMDg3ODAyM0UwMzIKKzoxMEE1QTAwMDQ4NzkwMkRFNDE5NzgwMjlFMDE5NzgwNjlFMDA4NzgwNkQKKzoxMEE1QjAwMDI1RTAwODc4MDJEMjAzODM4MDIxQTAwODY4MDIwODAwMDEKKzoxMEE1QzAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MEMwMEEzMDAzNEMwNTgKKzoxMEE1RDAwMDBEMzA0MkNDMDFEMzEwM0FDNTBDMzkwM0NDMDBFMzA0NTIKKzoxMEE1RTAwMDNDQzQwRDMwMDNDRTAwRDAwMDMwNDAwQzMwMDMxMjAyQ0EKKzoxMEE1RjAwMDAwMDAwMDAwMDAwMDAwMDA0MDFEQkMwMEY3MDAzRkMwNEMKKzoxMEE2MDAwMDFGRjA1M0ZDMDBFRjA4MzdEMTBGRjA4MzdDMDBGNzQwQjgKKzoxMEE2MTAwMDNGQzEwRkYxMDNEMDAwRkYwMEJGODQwRkM4MDNEMDA2NzUKKzoxMEE2MjAwMDYwMDAwMDAwMDAwMDAwMDBBODA1RTAwMEZCMDAzRUUwMjQKKzoxMEE2MzAwMDJDQkU4M0VDMDBFQjQwM0VDMDBGQjQwM0VEMjBGQjEwQkEKKzoxMEE2NDAwMEI2RDIwRkI0ODNFQzAwREI4MDM2QzEwQzkwMjEyQTAwMTcKKzoxMEE2NTAwMDcwMDAwMDAwMDAwMDAwMDA0ODExOTQwMEI3MDAyRkMwRjcKKzoxMEE2NjAwMDA4MzYwMjBDMDg4NzMwMkREOThCNzI4NkREMDBCMzIwQTYKKzoxMEE2NzAwMDIxQzgwQjc0MDJEMDAyODQwMEEwMDAyODIwMDIxMjA0MUEKKzoxMEE2ODAwMDYwMDAwMDAwMDAwMDAwMDBDMDAwOUEwMEI3ODAyREUwQ0MKKzoxMEE2OTAwMDA4N0EwMjlEMDBBN0EwMkRFMDBCNzgwMjlFODBBNzgwN0IKKzoxMEE2QTAwMDIxRTQwODdBMjY5RTE4ODMwNDIxRTAwODc4MEE3MDAwQzUKKzoxMEE2QjAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0Q0MwMEIzMDAyQ0UwOTMKKzoxMEE2QzAwMDU4MzAxMjBFODI4MzAwMkNDMDBCMzAwMkNDMDFCMzAwMzQKKzoxMEE2RDAwMDIwQzEwQjMwMDJDMDA4ODhEMjIwMjAwODAwMDI1MjA0OUEKKzoxMEE2RTAwMDMwMDAwMDAwMDAwMDAwMDBFODE1Qjg2MEZBMDAzRjgyNkEKKzoxMEE2RjAwMDBDQTAwM0ZBMDBBQTAwMUU4MDhGQTAwM0U4MDBGMjAwNUQKKzoxMEE3MDAwMDMyODAxRkEwMDNFODAwREEwMDM2ODhBQ0UwMDM3QTA0NDgKKzoxMEE3MTAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwRTEwMEY4MDAzRTIwNUEKKzoxMEE3MjAwMDRGODAwM0UxMDBGMDAwM0MwMDBCODAwM0UwMDBGODAyRTIKKzoxMEE3MzAwMDNBMDAwRjgwNDNGMTAwRkMwQTNEMDAwRkMwMDM5MjAwNzUKKzoxMEE3NDAwMDMwMDAwMDAwMDAwMDAwMDAwODEwRTYwMEM5OTAzRTQwMDQKKzoxMEE3NTAwMDBGOTIwM0U0MDBEOTAwMzI0MDA0OTAwN0U3MDBGOTEwOUIKKzoxMEE3NjAwMDMwNDAwQzkwNDNFNDA5RDk4MDIyNDAyQzEwMEIwMjA0QTUKKzoxMEE3NzAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjQ2MDg5QzAyRTQwQUEKKzoxMEE3ODAwMDBCOTgyNkM1ODA4OTAwMjI0MDI4OTAxMkU3MTBCOTAwNTYKKzoxMEE3OTAwMDM2NDAyODkwMTJDNTgzQzk4MEI2NDAwODkwMDIyMDAwMzgKKzoxMEE3QTAwMDEwMDAwMDAwMDAwMDAwMDAxODA1MDQwMDg5NDAyRTQxNDAKKzoxMEE3QjAwMDRCOTAwMkU0MDA5OTAwQTI0MDBBOTAwMkU1MDBCOTAwMjMKKzoxMEE3QzAwMEUyNDEwODkwNDJFNDAwOUQ1MEFCNEEwOEQwMjYwNjAwQzIKKzoxMEE3RDAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDQ4MjgxMjAyQzUwOEEKKzoxMEE3RTAwMDBCMTAwMkU0MDA4MTQwMjA1MDRBMTQzMkM0MDBCMTQwRjIKKzoxMEE3RjAwMDI0NTExODE0MTJENDAwODU0MDJENDAwODUwMDYwMjAxM0YKKzoxMEE4MDAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjE0MEM4MDAzRTAwREMKKzoxMEE4MTAwMDBGODAwMkUwMDBEODAwMzIwMDBBODAwMkUwMTBGODAwNDkKKzoxMEE4MjAwMDMyMDAwNDgwMDNFMDAwRDgwMDNBMDAwQ0MwMDMyRTAzN0QKKzoxMEE4MzAwMDUwMDAwMDAwMDAwMDAwMDA5ODFERjQ0MEY5MTAzRjQxNTYKKzoxMEE4NDAwMDBGOTQwM0Y1MDBGOTQwM0U1MDBEOTQwM0U1MTBGOTQwRDQKKzoxMEE4NTAwMDNFNTA0Rjk0MDNDNTAwRTk0MTM2NTAwRjk0MDNFNjA2N0QKKzoxMEE4NjAwMDcwMDAwMDAwMDAwMDAwMDAxODA1RjYwMEZEQTgzQTQwNDYKKzoxMEE4NzAwMDBDRDgyMzM2MDBFOUEwM0U3ODBGOUUwM0I2ODBDREUyQzcKKzoxMEE4ODAwMDMyNjgwQzlCMDMzNjgyNERBMDM3Njg4Qzk4MDMwNjAwMTMKKzoxMEE4OTAwMDcwMDAwMDAwMDAwMDAwMDAzODEwRUJBMEI4NDAyMDIwM0QKKzoxMEE4QTAwMDA4ODUwMjIxNTE4OEMwMkUyOTBCOEUwMkUxMDBEOEUwRDQKKzoxMEE4QjAwMDIyMzIwRDhEMjM2MTQ4OThENEEyMTAyODg0MDIwRTA0MDAKKzoxMEE4QzAwMDMwMDAwMDAwMDAwMDAwMDAwODA1QzUwMEIzMDAyQTRBNUYKKzoxMEE4RDAwMDI4MTA0RUE0MDhBMTY4Mjg0NDBCMTQwMkM1MDA4MTQwMkEKKzoxMEE4RTAwMEEwNTAwODEwMDIwNDAyOTEyQTIwNDQyODE0NEEwMjAxQjAKKzoxMEE4RjAwMDcwMDAwMDAwMDAwMDAwMDAxODE1QUM4MEI5MDAyMjQwNzQKKzoxMEE5MDAwMDQ4OTAwNkE0MDBBOTAwMkU0MDBCOTAyMkU0MDA5OTAwNzQKKzoxMEE5MTAwMDIyNDAwOTEwMDI2NDAyOTkwMDIyNDAwODkwMDIwNjA0QjUKKzoxMEE5MjAwMDYwMDAwMDAwMDAwMDAwMDBBMDE1RTQwMEY5MDAzODU4QTUKKzoxMEE5MzAwMDBDOTA1Mzg0MTRBOTA0M0U0MDBGOTAwM0U0MDBDOTAwMTYKKzoxMEE5NDAwMDMyNDAwQzkwMDMyNDA0RDkwMEI2NDA0QzkwMEIyODA0RUMKKzoxMEE5NTAwMDcwMDAwMDAwMDAwMDAwMDAyODAxQTQwMEY5MDIzRTQ5MzgKKzoxMEE5NjAwMDBGMTA0MzY0MDBEOTAwM0U0MDBGOTAwM0M0MDBGMTAyNzEKKzoxMEE5NzAwMDNFNDAwRjkwMDNDNDAyRTkwNDNDNDAwRjFDMDNDQTAwOTAKKzoxMEE5ODAwMDYwMDAwMDAwMDAwMDAwMDAyODEwQTE4MEM4MjAzRTAwRTgKKzoxMEE5OTAwMDhDODAwQjIwMDBFODAyM0UwMDBGODAwM0EwODJDODAwREMKKzoxMEE5QTAwMDZDMDAwRjgwMDMyMDEwQzgwMDMyMDIwQzgwMDMwQTA0RTAKKzoxMEE5QjAwMDIwMDAwMDAwMDAwMDAwMDAyODA1MzgwMDg2MDAyRTgwREUKKzoxMEE5QzAwMDY4QTg4MDNBMDA4QTAwMkU4MDBCQTAwMkY4MDA4QTAwNTYKKzoxMEE5RDAwMDJFODAwQkEwMEEzQTAwOEUxMDIzODAwOEEwMDMwQTAwRTQKKzoxMEE5RTAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NEQwMDgzMDAyQ0MwM0UKKzoxMEE5RjAwMDA4MzgwMDBDNjAyMzAwMkNDMDBCMzAwMkNDNDA4MzAwRDAKKzoxMEFBMDAwMDJDQzAwQjMwMDIwQzAyOEE4MEEwRTAyODMwMEE0QTAwRDkKKzoxMEFBMTAwMDUwMDAwMDAwMDAwMDAwMDBBMDAxMTYyMDg3MDIyREMxOTgKKzoxMEFBMjAwMDQ4NzAxMjdDMDBBNzIwMkRDOTBCNzIwMERDMDA4NzA4M0IKKzoxMEFBMzAwMDJEQzQxQjMyMDIxRDAxODc0MjIxQzIwODcwMDIyODAwNkEKKzoxMEFBNDAwMDQwMDAwMDAwMDAwMDAwMDBBODA4M0UwMkM3ODAzREVDNjYKKzoxMEFBNTAwMDBDNTgwMzFFMDBFNzgwM0RFQzBGN0YwMzk2MDBDNzgwNzMKKzoxMEFBNjAwMDJERTIwNzc5MDMwQTA2QzM4MDMwMjA4QzM4MDM2QTAyN0UKKzoxMEFBNzAwMDAwMDAwMDAwMDAwMDAwMDAwODFEQUMwMEZCMDAzRUMwMEMKKzoxMEFBODAwMDBGMTA0MzhDMDBEQjM4M0VEODBGQjAwM0NDMDRGQjQ0REUKKzoxMEFBOTAwMDNFQzA4RkI2MTNFQzAyRkYwMjNFMDAwRkIwMDNDMjA2QTkKKzoxMEFBQTAwMDYwMDAwMDAwMDAwMDAwMDAwMDA1RkEwMEZGODAzMUUzQjQKKzoxMEFBQjAwMDBFRjgyM0ZFMDJERjgwQjdFMjBFRjgwMzdFMDA2REQwQjEKKzoxMEFBQzAwMDMzRTAwQ0Y4OUI3NkMwREY4NEIzRTAwNEY4MDNDMDAwRTkKKzoxMEFBRDAwMDcwMDAwMDAwMDAwMDAwMDBBODExOTA0MEI3MDIyMUM0REYKKzoxMEFBRTAwMDA4N0I0MkRDMDA4NzAwMjFDNDBCMzAwMDEwODA4RDAwMDEKKzoxMEFBRjAwMDIzQzAwREYyMDIwNDQyOEYwMDI5QzgyODcwMDJFQTA0MjQKKzoxMEFCMDAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwOTQwMEI2MDAyM0MwQjgKKzoxMEFCMTAwMDBBNzIwMjhDMDA4NzAwMjFDMDBBMzAwMjA0MDFBNzAyRDkKKzoxMEFCMjAwMDIxQzAwODcwNDIwMDhBODcwMDIxQzAyODcwMDJDMDAwM0UKKzoxMEFCMzAwMDIwMDAwMDAwMDAwMDAwMDAyMDE0QzUwMEIwMDBBMEQwREMKKzoxMEFCNDAwMDA4QjAwMkM5NDI4QjAwMjBDMDBCMzAyMjA0MDA4MzAwRjEKKzoxMEFCNTAwMEEwQzA0OTMwMDI0NTQwOTNDMEE4RDQwMDM1MDJDODA0QzMKKzoxMEFCNjAwMDMwMDAwMDAwMDAwMDAwMDBBODE1QUMwMEJCMDAzMUMwQTAKKzoxMEFCNzAwMDBFQjAyM0NEMDBERjAwMzdDMDBFRjAwMTY4MDBFMzAwMDcKKzoxMEFCODAwMDMzQzAxQ0YwMDM0NTAwREFDODkyRDQyQ0I0MDNFQTA0QTUKKzoxMEFCOTAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwRTUyMEZCMDAzRUMwRDcKKzoxMEFCQTAwMDBGQjAwM0VDMDBGQjAwM0VDMDRGQjAwM0FEMDBGQjAwNTQKKzoxMEFCQjAwMDdFQzAxRjMwMDNBNDgwRTkyMDNDQzAwRjMyMDNFMDAwQjgKKzoxMEFCQzAwMDMwMDAwMDAwMDAwMDAwMDAwMTEwREMwMEM3MDAzM0MyQUMKKzoxMEFCRDAwMDJDRjAwMzNFMjBEQjAwMTNDMDBDNzAwMzNDODBFRjA0MUMKKzoxMEFCRTAwMDczQzEwRkYwMjIzMDAwQzYwMEIyQzAwQ0YwMDMwMDQ0NjUKKzoxMEFCRjAwMDMwMDAwMDAwMDAwMDAwMDA4MTAwNjkwMDhCNDRBMkMxMDkKKzoxMEFDMDAwMDg4QjAwMzZDMDA4QjAwMjJDMDI4QjAwQTJEMDBCQjAwNjYKKzoxMEFDMTAwMDYyQzAwQkIwMDIyNjAyOEI4MDIyQzAwOEIwMDMyMDQwMjUKKzoxMEFDMjAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1MjgwMThBMDgyMkMwRjIKKzoxMEFDMzAwMDA4QjIwMjZDNDA5QjAwMjhDMDQ4QjAxNjI5MDRCOTAxMzQKKzoxMEFDNDAwMDIyQzA0OUIwMDZBRTA5OEI4MDIyRTA0OEIwMDIyMDAwNDUKKzoxMEFDNTAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDAwMjgyMDAyMkMwNDIKKzoxMEFDNjAwMDg4QjAwMjQ0MDA4MzAwMjhDMDA4MzAwMjA4MDBCMTAwMDgKKzoxMEFDNzAwMDIwQzAwQjMwMDI4QzAwODM4MDIwRTAwODMwMEEwMjAxRTMKKzoxMEFDODAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENjQwMENBMDAzM0MwOTYKKzoxMEFDOTAwMDBDQjIwMzJDMDBERjAwM0JDMDRDRjUxMzJDMDRFRjAwN0EKKzoxMEFDQTAwMEEzQzAwREYwMDNBODQwQ0IwMEIyMDAyQ0IwMDMwMDAzRkEKKzoxMEFDQjAwMDUwMDAwMDAwMDAwMDAwMDBBMDFERjAwMEY0MDAzRkMwQTQKKzoxMEFDQzAwMDBGQjEwM0YwMDBGRjAwMzdDMDBGRjAwM0ZDMDBGRjAwREUKKzoxMEFDRDAwMDNGQzAwN0YwMEI3QzA4RkYwMTNGMDAwRkYwMDNBODA2MDAKKzoxMEFDRTAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1RjBDNUVEMzMzQkNDNTMKKzoxMEFDRjAwMDBDRjAwMzMwNDBGRjI1M0ZDQzBDRjM4MzNDRDBERjQ4MDEKKzoxMEFEMDAwMDM3MzA0Q0YzMDNGRDgwQ0YyODMzRDgwQ0YxMDMzMDAwRUIKKzoxMEFEMTAwMDcwMDAwMDAwMDAwMDAwMDA4MDEwRUNEMEJCMzEyMENDOUYKKzoxMEFEMjAwMDg4RjM0MjIwNTBCRjkwMkZDNDBBRjYwMjdEQzA4RjQwQTYKKzoxMEFEMzAwMDI2NDA4RkY2MDJGRDAwRkYwODM5QzgwOEY2MDJBMDA0N0QKKzoxMEFENDAwMDMwMDAwMDAwMDAwMDAwMDA4ODA1QzQ4MEExMjAyOEM5NTAKKzoxMEFENTAwMDA4MzA5QTAwMDlCMzAwMkNDMDIwMzAwMjRDOTA4MzIwQTgKKzoxMEFENjAwMDAyMDgwQjMzMTJDRDgwOTMyMDI0RDgwODM0MjIyMjAxMEMKKzoxMEFENzAwMDcwMDAwMDAwMDAwMDAwMDBDMDExQUUwMEJCMTAyMkMwMzcKKzoxMEFEODAwMDA4QjAwMjI2MDEzQjAxNkVDMDA4QjAwMjRDMDg4QjAwREYKKzoxMEFEOTAwMEEyODkwQkIwMDJFQzAwQUIwMDZBQzEyOEIwMDJCMDA0N0IKKzoxMEFEQTAwMDYwMDAwMDAwMDAwMDAwMDA0MDE1NkUwMEU4QzEzQUMwREQKKzoxMEFEQjAwMDJDQjA0MzI2MDBGQjA2M0VDMTBDQjAwQjJDMDJDQjAwOEUKKzoxMEFEQzAwMDM0MjI5RkIwNDNFQzAwOUIwMjM2QzE4Q0IwMDMxMDA0QzgKKzoxMEFERDAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxQkMwMEZDODAzREQwREQKKzoxMEFERTAwMDJGRjAwM0ZDMDBGQjAwM0RDMDA3MzAwM0JDMDBFRjA0NjQKKzoxMEFERjAwMDNGRTA1RUIwMDFGQzAwRkYwMDFCQzAwRkYwMDNGODAwNTUKKzoxMEFFMDAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwQUMwMENCMDEzRUM5MTMKKzoxMEFFMTAwMDBDQjAxNzIwODRFQjAwQjJDMTBEQjAwMzZDMDBDMzAwNkUKKzoxMEFFMjAwMDMyNTAwRkIwMDMwQzQwQzMwMDdFQzAwQzMwMDMxMDA0M0UKKzoxMEFFMzAwMDIwMDAwMDAwMDAwMDAwMDBDODA1MkMwMDhBNTgyRUUwMDkKKzoxMEFFNDAwMDQ4RjAwMjJEMDBFRjAxMjNDMDA4RjAyMjNDMDQ4RjYwN0YKKzoxMEFFNTAwMDM2NTQwQkYwMEEzRDQwOEYwMDJGQzAwOEYwMDM3MjAwRkIKKzoxMEFFNjAwMDQwMDAwMDAwMDAwMDAwMDBFMDA1NDAwMDg5ODAyQzEwMzgKKzoxMEFFNzAwMDA4QjAwMjQ5MDBBM0EwMjRDMDA5MzAwMjRDMDA4M0M5RDUKKzoxMEFFODAwMDIwOTA0MjMwMTI0RDAwODMwMDZBQzAwOTMwMDIzODAwMjEKKzoxMEFFOTAwMDUwMDAwMDAwMDAwMDAwMDAyMDAxMTYwMDg1ODA2RDYyNTcKKzoxMEFFQTAwMDA4N0UwMjU2NDAyNzgwMjVFMDE5NzgwNjBFMDA4MzgwMzAKKzoxMEFFQjAwMDYxQTAwQjc4MDI0RTAwODc4MjZERTAwOTc5MDI0ODAwOUMKKzoxMEFFQzAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MkMwMkMzNjEzQzg4REMKKzoxMEFFRDAwMDJDQkExMjQ5MTBFMzJDMzZDMDBEMzA1MzRDNDRDMzAwMzkKKzoxMEFFRTAwMDIwMDEwRjMxMDM0QzAwQzMwMTNDQzAyREIxMDMxMjAyRkQKKzoxMEFFRjAwMDAwMDAwMDAwMDAwMDAwMDA0MDFEQkMwMEZGMDAzRjAwRkIKKzoxMEFGMDAwMDRGRjEwOUIwMDBGRjAwM0JDMDBFRjQwMUZEMjRGRjQwRUIKKzoxMEFGMTAwMEJGQzAwN0YwMDNCQzAwNkYxMDNGQzQxRUYxODNEMDA2MTIKKzoxMEFGMjAwMDYwMDAwMDAwMDAwMDAwMDBBODA1QzQwMEU4MDQzMjAwMzIKKzoxMEFGMzAwMDBDQjYwM0U4MDJDQjAwMzZDQTBGQjUwM0FEMDBGQjIwMDgKKzoxMEFGNDAwMDNFNDAwRkIzMDNFQzgwRkJBODMyQzY4Q0I2MDMyQTAwNDgKKzoxMEFGNTAwMDcwMDAwMDAwMDAwMDAwMDA0ODExOTQwMkU2MDAyMDAwOEMKKzoxMEFGNjAwMDA4NzMwMkRDMDA4NzcwMkREMDBCRjAwMjFDODRCNzIwMjAKKzoxMEFGNzAwMDJEQzAwQjcwODJERDI0Qjc0MDM0QzkyODcyODI5MjA0NDAKKzoxMEFGODAwMDYwMDAwMDAwMDAwMDAwMDBDMDAwQkUwMkFDODBBMTIwRjQKKzoxMEFGOTAwMDA4NzkwMENFMDQ4NzgwNjVFMDBCN0EwMjlFMDBCNzkwQTYKKzoxMEFGQTAwMDZEQTAwQjc4MDJERTAwQjc4MDIxRTAwODc4MDIzMDAwNDcKKzoxMEFGQjAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0RUQ4MkFCRTAyMEU0MTcKKzoxMEFGQzAwMDA4MzAwMkVFMDQ4MzAwMkNDMTFCMzAwMjBDMDhCMzAwRDEKKzoxMEFGRDAwMDY0RjYwQkIwMDJDQzA0QjMwMDI2QzAwODMwMDI5MjA0MjEKKzoxMEFGRTAwMDMwMDAwMDAwMDAwMDAwMDBFODE1QkI4MEVFNDkzMUEwRjEKKzoxMEFGRjAwMDJDQTAwM0ZBMDBDQTAyMzY4MDBGQTAwM0E4MDBGQTAyQjAKKzoxMEIwMDAwMDNGOTAwRkEwNjNFODAwRkEwMDMyODAwQ0EwMjMzQTA0QkUKKzoxMEIwMTAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwRTAwQUU4MDAzRTA4NzAKKzoxMEIwMjAwMDBGODAwM0UzNTBGMDAwM0UwMDBGODAxM0UwMDBGODAwQjMKKzoxMEIwMzAwMDNFMDAwRjgwMDNFMDAxRjgwMTdFMDAwRjgwMDNEMjAwODQKKzoxMEIwNDAwMDMwMDAwMDAwMDAwMDAwMDAwODEwRTQ0MEM5QTEzMjQwQjgKKzoxMEIwNTAwMDIwMTEwMUE2NDBDOTg0MzY0MDBEOTAwMzQ0MDA0MTAwRjAKKzoxMEIwNjAwMDMyNDAwRjkwMEIyNDAwRjkwMDNFNDA0QzEwMDMwMjA0QzQKKzoxMEIwNzAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjQwMDg5ODJBMjQwQ0IKKzoxMEIwODAwMDA4OUMwMjI1MDA4OUM4MjI0MDA4OTA0MjI0MDA4OTIwOUIKKzoxMEIwOTAwMDIyNjAwQjkwMDIyNDEwQjkwMDJFNDAwODkwMDM2MDAwM0IKKzoxMEIwQTAwMDEwMDAwMDAwMDAwMDAwMDAxODA1MjQwMDg5MDQyMkNBRDYKKzoxMEIwQjAwMDBBOTAwQTI1MDI4OTIwMjA0MDI4MTAwMjY0MDFBOTAwNzQKKzoxMEIwQzAwMDIyNEIwQjkwMDIyNDAxQjkwMDJFNDEyODkwMDIwNjAwNjkKKzoxMEIwRDAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDQ5MDgxQTAyMDQ4MDcKKzoxMEIwRTAwMDBBMzIwMjA0ODA4MTAwMjA0NDA4MTEwMjA0RDBBMTIwMDkKKzoxMEIwRjAwMDIwNDAwQjExMDIwNjAwQjEzMTJDNDgwODE0MDI0MjAxMTUKKzoxMEIxMDAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjE0MkM4NTQzMjE0NzUKKzoxMEIxMTAwMDBFODUwMzIxNDRDODI4QjIxQTRDODY5MzYxMTRFODUwNjYKKzoxMEIxMjAwMDIyMTQwRjg2ODMyMTQwRjA0MDFFMTQwQzAwMDMyRTAzQ0UKKzoxMEIxMzAwMDUwMDAwMDAwMDAwMDAwMDA5ODFENzQ0NEY1MTAzRjQ0Q0EKKzoxMEIxNDAwMDBEOTEwMzc0NDBGOTAwM0U0ODBCOTIwM0U0QzJEOTEwRkMKKzoxMEIxNTAwMEJGNDAwRjkyMDNFNTA0RjkzMDNFNDQwRjk0NDNFNjA2RTYKKzoxMEIxNjAwMDcwMDAwMDAwMDAwMDAwMDAxODA1RjYyMkNEQTEzMzYxMzgKKzoxMEIxNzAwMDBDRDhEMzM0MTBDREE4M0U2MDhFOUM5M0E3MDhDRDgwMDgKKzoxMEIxODAwMDMzNDAwRTlBRDMzNkEwQzk4MDMyNjAwQzk5MDMwNjAwNzIKKzoxMEIxOTAwMDcwMDAwMDAwMDAwMDAwMDAzODEwRTM4ODhBQTAyMDI4MUEKKzoxMEIxQTAwMDA4ODAyMjIwMTI4ODQwMkMyODA4OEEwMjIyMDA4ODAwNjkKKzoxMEIxQjAwMDIyMDAwQjhDMDMyMTAwODhEMEEyM0UyODhEMDIwRTA0QjEKKzoxMEIxQzAwMDMwMDAwMDAwMDAwMDAwMDAwODA1Q0UyMEExNDgyMDUyRjkKKzoxMEIxRDAwMDI5MTAwMjI0MDM4MTAwMkM1MjBBMTAxMjg1MTA5MTQwN0MKKzoxMEIxRTAwMEE0NDAwQTEyODI0NDAwOTEyODI0NDAyODEyMDIwMjAxM0QKKzoxMEIxRjAwMDcwMDAwMDAwMDAwMDAwMDAxODE1QTQwMEE5MTQyMjQwRUYKKzoxMEIyMDAwMDA5OTAwMkE0MDE4OTA0MkM0MDA4OTAwMjI0MDA5OTAwQUUKKzoxMEIyMTAwMDIyNDQ0QjEwNDIyNDE0OTkwMDI2NDAwODEwMDIwNjA0RDAKKzoxMEIyMjAwMDYwMDAwMDAwMDAwMDAwMDBBMDE1RTQ0MEU5NDBCMjc4OTIKKzoxMEIyMzAwMDBEOTAwQjI0MjJDOTAzM0U0MTBFOTAwM0E0MDJEOTAwQjUKKzoxMEIyNDAwMDE2NTgwNjkwMEI2NDAyRDkwMDM2NDAwQzkwMEIyODA0NjcKKzoxMEIyNTAwMDcwMDAwMDAwMDAwMDAwMDAyODAxODQwMEQ5ODAzRTRBRjAKKzoxMEIyNjAwMDBFOTAwMzY0MjBGOTA4M0U0MTBGOTAwM0U0MDBFMTA4Q0EKKzoxMEIyNzAwMDNFNDAwRjkwMDNDNDAwRTEwMDM4NDAwRjkwMDNDQTAwMjUKKzoxMEIyODAwMDYwMDAwMDAwMDAwMDAwMDAyODEwQTAwOUYwNDBCMDEwOEQKKzoxMEIyOTAwMDRDMDAwQjIwMDBGODAwM0EwMDFDMDAwM0UwMDBDODAwM0UKKzoxMEIyQTAwMDM2MDAwQzgwMDMyMDAwQzgwMDMyMDAwRjgwMDMwQTA0MUYKKzoxMEIyQjAwMDIwMDAwMDAwMDAwMDAwMDAyODA1MjgwMDNFODgyM0EyOEUKKzoxMEIyQzAwMDQ4RTAwMDE5ODBCRTg4MkU4MDBEQTA0MkU4MDA4RTAwNjQKKzoxMEIyRDAwMDIzOTAwOEEwMEEzQTAwREEwMDM2ODAwQkEwMEEwQTAwODAKKzoxMEIyRTAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NEMwMEIzODAyMEUwNzIKKzoxMEIyRjAwMDI4MzBDMjBGMTBCMzQwMjhDMDBCMzAwMkVDMTE4MzQwM0QKKzoxMEIzMDAwMDI4RDIwQTMwMDIwQ0MwODMwMDIwQzAwQjMwMDIwQTAwOTEKKzoxMEIzMTAwMDUwMDAwMDAwMDAwMDAwMDBBMDAxMUMwMEI2MDAyMUMwODkKKzoxMEIzMjAwMDA4MjBDMjFDMTBCNTAwMkRDODBBNzIwMkRDNDA4NTA4MzYKKzoxMEIzMzAwMDI5QTIxQTcyMjIwQzAwOTMzMDA1QzQwQjMyMjIyODAwNzUKKzoxMEIzNDAwMDQwMDAwMDAwMDAwMDAwMDBBODA4MTYwMEIyODAzMTIwNzQKKzoxMEIzNTAwMDBDNTgwMzFFMDBGNzgwMzlGODBCN0MyMkNFNDBDRjgwQkEKKzoxMEIzNjAwMDlCNjAyRTNCMDMxQTAwQzdBODExRTAwRjc4MDMyQTAyNDYKKzoxMEIzNzAwMDAwMDAwMDAwMDAwMDAwMDAwODFEQTQwMEZBMDAzRUMwMEMKKzoxMEIzODAwMDBGOTAyM0U4MDBGQjAwM0VEMDJEQjYwM0VEMDJGOTAwM0MKKzoxMEIzOTAwMDMyNDAwREIwMDdFQzAwRkI2MDNFQzgwRkI1MDNDMjA2OUIKKzoxMEIzQTAwMDYwMDAwMDAwMDAwMDAwMDAwMDA1RkUwMEZGODAzM0EwRTgKKzoxMEIzQjAwMDBDRjgwQjMyNDBDRTgxMzdGMDBDQkMwM0ZFMDBGRjg0NEEKKzoxMEIzQzAwMDMzRTAyQ0Y4ODNFNjAyQ0Y4NTMzRjAwQ0ZDMDMwMDE0NDUKKzoxMEIzRDAwMDcwMDAwMDAwMDAwMDAwMDBBODExOUMwMEJFMDAzNUM2RUYKKzoxMEIzRTAwMDI4MzAwMjMwNDA4NzAwMjNDMDA4N0EwMkRDMDBCRTAwMEIKKzoxMEIzRjAwMDIzQzAwODcwMTJGRTAwODcwMDIxQzAwOEYwMDIyQTA0NTIKKzoxMEI0MDAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwOTUyMEI2MDAyMDgwRDEKKzoxMEI0MTAwMDA4MzEwMjVDMDE4NzAwMjVDMDA4NzIwMkRDMDBCNjAwMUEKKzoxMEI0MjAwMDIxRDAwOTcwMDJENDA4OTMwMDIwQzAwODcwMDIwMDAwRTcKKzoxMEI0MzAwMDIwMDAwMDAwMDAwMDAwMDAyMDE0QzQwMEIwRTAyNDYwRTAKKzoxMEI0NDAwMDA4MjAwNjQ4MDE4MDAwMjBDMDA4MzAwMkNDMDRCMzAwNjgKKzoxMEI0NTAwMDIwODQwQjMwMDJFODAwOUIwMDIwQzAwODMwMDIwODA0NjIKKzoxMEI0NjAwMDMwMDAwMDAwMDAwMDAwMDBBODE1QUMwMEI5RTAzMjgwRjgKKzoxMEI0NzAwMDZDQjAyMzZGMDBDMzAwMzdDMTNDRjAwM0ZDMDBGQTAwM0UKKzoxMEI0ODAwMEIwQzAwOUYwMDNFQzEwREYwMDczQzAwQ0YwMEIyQTAwMTEKKzoxMEI0OTAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwRUMxMEY4MDAzRTQyNTgKKzoxMEI0QTAwMDBGMjQwM0E4NjBGODAwM0NDMTBGQjAwM0VDMDBGOTQwODIKKzoxMEI0QjAwMDNFODAwNEIwMjNFMTAwRUIwMDNFQzAwRkIwMDNFMDAwOEIKKzoxMEI0QzAwMDMwMDAwMDAwMDAwMDAwMDAwMTEwRjQwMEVFMDAzRDMwRUMKKzoxMEI0RDAwMDBDQzAwMzE0MDBDQ0EwQjNDMDRDNzAwMzVDMTBERjAwQTAKKzoxMEI0RTAwMDNGMDAwQ0YwMDNGODAwQ0YwMDIzQzAwQ0YwMDMwMDQwMzUKKzoxMEI0RjAwMDMwMDAwMDAwMDAwMDAwMDA4MTA0NjQwMEJBODEyRTU4NzIKKzoxMEI1MDAwMDA4ODgwMjI3ODA4OTIwMjJDMDI4QjAwMjJDMDA4ODgzNjYKKzoxMEI1MTAwMDJFMjAwNUIwNjJFMzAwOEIwMDJBQzAwOEIwMDM2MDQwMTMKKzoxMEI1MjAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1MjYwMEI5ODEyRTQwQjgKKzoxMEI1MzAwMDA4OEMwNjI2MDA4ODAwMjJDMDA4QjAxNjZDMDA5ODg4ODcKKzoxMEI1NDAwMDJFMjAwOEIwMDRFMzAxMEIwMDI4QzAwODMwMDIyMDAwQzAKKzoxMEI1NTAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDQwMEIwMDAyQ0MwRkYKKzoxMEI1NjAwMDI4MDAwRTAwMTA4MDAwMjBDMDA4MzIwMjBDMDA4MDA0NjkKKzoxMEI1NzAwMDJFMjAwOTMwMDJDNDEyODMwMDI4QzAwODMwMDI0MjAxODQKKzoxMEI1ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENkMwMEZBMDAzRTAwMEEKKzoxMEI1OTAwMDJDOTEwMzIwMDA4QTAwMzNDMDBDRjAwMzdDMDBEODAwRkIKKzoxMEI1QTAwMDJFNDAwQ0YwMDNFMDgwQ0YwMDNCQzAwQ0YwMDMwMDAzMDIKKzoxMEI1QjAwMDUwMDAwMDAwMDAwMDAwMDBBMDFERkMwMEZDMDEzRjQwMDYKKzoxMEI1QzAwMDBGQzAxM0YwMDBGNDAwM0ZDMTBGRjQyM0ZDMDhGQzAwOEYKKzoxMEI1RDAwMDNGMDAwRkYwMDNGMDQwRkYwMDNGQzAwRkYwMDNFODA2MEMKKzoxMEI1RTAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1RkMyMENEMTAzOUM4MkMKKzoxMEI1RjAwMDBEQzEwMzNDODBFRjkwMjNEODBGRjgwMEZFMDBDRjgwRjAKKzoxMEI2MDAwMDFGRDAwRkY5MDNGRjAwRTdDMDMzQzQwRkYwMDNCMDAwRjEKKzoxMEI2MTAwMDcwMDAwMDAwMDAwMDAwMDBDMDEwRkUwMjg5NDAyM0YwMEUKKzoxMEI2MjAwMDA4ODUxMDNDMDA4QjAwQTNEQzRCQjI4MkVDMjA4QjAwMjEKKzoxMEI2MzAwMDI2QzA0QkIwMDJFQzEwQjkwNDJBQzkwQkI1ODBGMDA0NDcKKzoxMEI2NDAwMDMwMDAwMDAwMDAwMDAwMDBDODA1Q0MwMDgxNjQyOEM0NjAKKzoxMEI2NTAwMDA5QjIwQTBDRjBBMzIwMjBDODBCMzIwMkVDMDI4MzA4QzYKKzoxMEI2NjAwMDJDQzgwOTMyMDJDQzgwQUJBMDIwQzgwQjMyMDBCMjAxM0EKKzoxMEI2NzAwMDcwMDAwMDAwMDAwMDAwMDBDMDE1QUMxMDg5MDAyMkMwNUUKKzoxMEI2ODAwMDA4QjIxMjJDMDIwQjAwMjJDMDBCQjgwMkVDMDA4QjAwOTcKKzoxMEI2OTAwMDI2QzA0QkIwNDZFQzAwQjkwMDBBQzAwQkIwMDJGMDA0NjMKKzoxMEI2QTAwMDYwMDAwMDAwMDAwMDAwMDBEMDE1RUMxMEM5RTAzQUMwQjYKKzoxMEI2QjAwMDBEMjgwMzJDMDBFQjEwMzJDMDBGODIwM0M0MDBDQjAwMTYKKzoxMEI2QzAwMDNFQzEwRkIwMDZFQzA4RTkwMEIyQzAwRkIwMTM5MDA0MDEKKzoxMEI2RDAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxOUMwMEY1QTAzRkMwRTkKKzoxMEI2RTAwMDBGRTgwM0ZDMDhGRjAwM0ZDMDhGQzAwM0ZDMDBGRjAwMTEKKzoxMEI2RjAwMDM3QzAwRkYwMDNGQzAwRkYwNDNFQzAwRkYwMDNGODAwNUEKKzoxMEI3MDAwMDYwMDAwMDAwMDAwMDAwMDA1MDEwQUMwMEY5NDAzNEMwQTAKKzoxMEI3MTAwMDBEQjQwMzJDMDBEQjQwM0VDMDJDODAwMzY0MDhGQjEwRkEKKzoxMEI3MjAwMDNFQzY4RkIwMDNFQzAwRjk4MDMyQzAwQ0IwMEIxNDA0OUQKKzoxMEI3MzAwMDIwMDAwMDAwMDAwMDAwMDBDODA1M0UyMEU5QzgzN0Q0MDIKKzoxMEI3NDAwMDQ4QUEyMjFDMDA4QjAwNkZFMDA4ODU4MkVENDBCQjg0NzQKKzoxMEI3NTAwMDJGQzA0QkI4MDNBRDQwQjMwMDIzRDQwOEY3MDIzMjAwMkEKKzoxMEI3NjAwMDQwMDAwMDAwMDAwMDAwMDBFMDAxNEMwMEIxNjRBNEMwRjMKKzoxMEI3NzAwMDA5MjAwQTBDMDRCODAwNkNDMDA4MzgwMkM4NDBCMzgwMjUKKzoxMEI3ODAwMDJDRDEwQjMwMDJDQzA0QjMwMDI4QzAwODMwMDIzQTAwQTAKKzoxMEI3OTAwMDUwMDAwMDAwMDAwMDAwMDBCMDAxMUUwMEE1ODAyNUUwNjAKKzoxMEI3QTAwMDg4M0ExMjFFMDBBNjkwMkRFMjA4NzkwMkRBMDBCNzgyQ0MKKzoxMEI3QjAwMDJERTAwMzc4ODI5RTAwQkNDMTI5RTAwODc4MDIyQzEwOUQKKzoxMEI3QzAwMDQwMDAwMDAwMDAwMDAwMDA0OTA4MEMwMEYzMDAzNEMwRjUKKzoxMEI3RDAwMDBEM0UwMzBDMDBGMDQwMkVDMDBDMzA0M0M4MDBGMzAwQjcKKzoxMEI3RTAwMDNDQzAwNzMwMDNDQzgwRjIwMDM4QzAwQzMwMDMxMjAyOUEKKzoxMEI3RjAwMDAwMDAwMDAwMDAwMDAwMDA0MDE5QkQyMEY3MDAzRkMyMUIKKzoxMEI4MDAwMDBGRjEwQkRDMjBERTA0M0ZEMjA3RjAxM0Y4NDBGRjAwRkQKKzoxMEI4MTAwMDNGQzAwN0YwMDNGQzAwRkQwMDM3QzAwRjcwMDNEMDA2RTcKKzoxMEI4MjAwMDYwMDAwMDAwMDAwMDAwMDBBQTA1Q0YwMERDMDAzRUNBNTYKKzoxMEI4MzAwMDBGQTAwMEFDOTJDOTAwMzJDMDBGQjAxMUE0MDhGQjAwRTkKKzoxMEI4NDAwMDJFQzA0RkIwMjNFQzAwRjkwMDNFQzQwRkIwMDNFQTAwNTUKKzoxMEI4NTAwMDcwMDAwMDAwMDAwMDAwMDBDODkxOUMwMDg0MDAwMUMwM0UKKzoxMEI4NjAwMDRCNzAyMjFDQzA4NzAwMjFDMDRCNzAwMjFDMDBCNzAxMjYKKzoxMEI4NzAwMDI1RDgwQjcwMjJEQzAwQjYwMDJEQzAwQjcyMjJGMjA0MUEKKzoxMEI4ODAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwOUU4MDk3ODBBOUUwMUEKKzoxMEI4OTAwMDBCRjgwMkNFMDg4NTgwMjlFODBCRkMwMjE3MDBCNzgwNjAKKzoxMEI4QTAwMDJERTA4Qjc4MDJERTAwQjRDMDJERTgwQjc5MDJFMDAwQjkKKzoxMEI4QjAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0Q0MwMDgzMDhBMEMwNTUKKzoxMEI4QzAwMDhCM0MwMjRDMDA4MzAwQTBDMDFCM0MwQTBGMjlCMzAwMzQKKzoxMEI4RDAwMDI0QzAwQjMwMDJDQzAwQjM4MDJDQzAwQjMwMDJEMjA0NDkKKzoxMEI4RTAwMDMwMDAwMDAwMDAwMDAwMDBFODE1QTgwMERFMDAzQTgwRUIKKzoxMEI4RjAwMDBGRUEwMkU4MDBDRTAwM0E4MDBGRTAwMzM4MDBGQTAwQjkKKzoxMEI5MDAwMDNFODAwRkEwMDNFODAwRkUwMDNFODAwQkEwMDNGQTA0NzcKKzoxMEI5MTAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwRTAwMEY4MDRCQTAxRTgKKzoxMEI5MjAwMDBGODIwQjgwMDRGODgwM0UwMDBGODYwMzYwMDBGODAwNTEKKzoxMEI5MzAwMDM2MDAwRjgwMjNFMTAwRjgwMDNFMDAwRjgwMDNEMjAwQTQKKzoxMEI5NDAwMDMwMDAwMDAwMDAwMDAwMDAwODEwRTQwMUY5MDAzMjQwNUYKKzoxMEI5NTAwMDBGOTAwM0U0MDA0OTAwMzI0MDBCOTAwMzI0MDA0OTAwOUIKKzoxMEI5NjAwMDNDNDAwRDkwMDNFNDA4QzkwMDNFNjAwQzkwMDMwMjA0QzMKKzoxMEI5NzAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjQwMEI5NDBBMjY0QjAKKzoxMEI5ODAwMDBCMTgwMjI1MDBEMTUwMzY1MDRFOTAwQTI0MDI4OTQwRUYKKzoxMEI5OTAwMDNBNTEwODk0MDJFNTIyODk0NDJFNjAyODkwMEEyMDAwM0EKKzoxMEI5QTAwMDEwMDAwMDAwMDAwMDAwMDAxODAxMjQwMEIxMDgyMjQwMkYKKzoxMEI5QjAwMDRCOTI4MkE1MDBBOTA4MjI1MDBBMTAwMjBDMDBBOTQwNEYKKzoxMEI5QzAwMDZFNTAwQjk0MDJDNDA0ODk0NDZDNDg4ODEwMDI0NjAwRUYKKzoxMEI5RDAwMDQwMDAwMDAwMDAwMDAwMDAwMDA0MDQwMEIxNDBFMDQwMEUKKzoxMEI5RTAwMDFCMTQwQTA0MDBCOTAwMjQ0MDFBMTAyMjA0MDBBMTAwMEMKKzoxMEI5RjAwMDI4NDAwQTEwMTJDNDAwODEwMjZDNDAwODEyMDI0MjAxNjEKKzoxMEJBMDAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjAwOEIwMDAzMjAwMjcKKzoxMEJBMTAwMDRGODAwMkExNTBFMDUwMzIxNDBFQTUyMzIxNDBFODUwN0YKKzoxMEJBMjAwMDNFMTQwRjg1MDNFMTQwQzg1MDFFMTQwQzg1NDM2RTAzN0QKKzoxMEJBMzAwMDUwMDAwMDAwMDAwMDAwMDBEODE5RTUwMEZENDAzRTUwMTUKKzoxMEJBNDAwMDBGNzQwM0E1MDA1RDAwM0U1MDBBNTAxM0Y0MDBEOTAwQTYKKzoxMEJBNTAwMDNBNTAwRDkwMTNFNDAwRkYwMDNFNTAwRjkxMDNBNjA2RUMKKzoxMEJBNjAwMDcwMDAwMDAwMDAwMDAwMDAxODA1RjY5MEJERTgyMzZCOTAKKzoxMEJBNzAwMDBCREEwQjM2ODBDOTAwMzI2ODQ2OTA0M0U0MDA0OTAwNzcKKzoxMEJBODAwMDMyNjgwQzkwMDMyNDQwRjkwMDMyNjAwQzlDMDNDNjAxMUMKKzoxMEJBOTAwMDYwMDAwMDAwMDAwMDAwMDA3ODEwRTEwMEI4RTBBMjExOTIKKzoxMEJBQTAwMDBCOEUwQTIzMjI4ODgwMkEzMTI4ODgwMjYyMDA4ODgwMkYKKzoxMEJBQjAwMEEyMzAyODg4OEEyMjAwQjhBOEEyMzkwOENBMDJDRTA0NzcKKzoxMEJBQzAwMDMwMDAwMDAwMDAwMDAwMDA0ODA1QzUwODIxMDAwMDQwQ0IKKzoxMEJBRDAwMDAzMTQ4Mjg1ODBBRDA4MjE1Mjk4NTA4MjM0MjM4NTA4NTIKKzoxMEJBRTAwMDIxNTIwODUwMDY1NDAwQjUyMDIxNUEwOTU0MDJEMjAxQUYKKzoxMEJBRjAwMDMwMDAwMDAwMDAwMDAwMDAxODExQTQwMEI5NjEyMjQwQ0QKKzoxMEJCMDAwMDBCOTAwNjA0MDBBRDAwNjk0MDA4RDAwMjc0MDA4NTAwNjcKKzoxMEJCMTAwMDAxNDAwMDcwMDY3NDA0QjUwMDIzNDAwOUQwMDJDNjA0MzkKKzoxMEJCMjAwMDYwMDAwMDAwMDAwMDAwMDBBMDE0QTQwMEU5MDAzMjQwMDIKKzoxMEJCMzAwMDRGOTUwQkE0MDBFOTAwMzI0MDhDOTAwMzI0MDBDOTAwMEIKKzoxMEJCNDAwMDMyNDAwQzkwMDM2NDA4RjkwMDMyNDAzRDkwMDNFODA0NTEKKzoxMEJCNTAwMDcwMDAwMDAwMDAwMDAwMDA2ODAxQTQwOEY5MDAzRTQwRTkKKzoxMEJCNjAwMDRGOTA4QkU0MDREOTAxM0U0MDBEOTAwMzY0MDBEOTAxNEQKKzoxMEJCNzAwMDNFNDAwRjkwMDNBNDAwRjkwMDNDNDAwRTkwMDNEQTAwMTEKKzoxMEJCODAwMDYwMDAwMDAwMDAwMDAwMDAyODEwQTAwMEY4NDAzNjIwRUYKKzoxMEJCOTAwMDE3ODQwMzIwMjFDODAwN0UwMjJDODA0MzIwMDBFODAyODUKKzoxMEJCQTAwMDNFMDEwRjgwMDNFMDAwQzg0MDFFMDAwRjgwMDNDQTA0NUUKKzoxMEJCQjAwMDIwMDAwMDAwMDAwMDAwMDAyODA1MkE4OEI2MDIyM0EwMEIKKzoxMEJCQzAwMDBCRUM0MjJCMDBEMjgwNkVCMTA4QTAyMjA4MDBFQTA0RTAKKzoxMEJCRDAwMDNBODA5RkEwMDNBODAwOEEwNDJFODAwQkE4MDJDQTAwMDYKKzoxMEJCRTAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NEMwMEIyMDBBNEUxNjUKKzoxMEJCRjAwMDhCQjQzMjQ3NDU4MzkwMkNGNDRCMzgxMjBFNDRBMzAxOEEKKzoxMEJDMDAwMDJDQzA0QjMwMDJDRTAwOTMwMDZDQzAwQjM4MDJDQTAwMkYKKzoxMEJDMTAwMDUwMDAwMDAwMDAwMDAwMDBBMDAxMUMwMEI3NDQyMUMyMzkKKzoxMEJDMjAwMDBCNTQwMjU0MDU4NzAwMkM0MDlCNkMwMjE4MTBBNzA0OEIKKzoxMEJDMzAwMDI5QzAwQTcwMDI5QjAwOTcwNDBEODAwQjYwODJFODAwMDcKKzoxMEJDNDAwMDQwMDAwMDAwMDAwMDAwMDBBODA4MUUwMEYzODAzNUUwNUUKKzoxMEJDNTAwMDBCMzgwMjUyMTA4NDgwMkRBMDBGRjgwQjFFMDBFNjgwRDYKKzoxMEJDNjAwMDFEQTAwQjY4MDNGRTAyRDY4MDNERTAwRjc4MDNFQTAyQjgKKzoxMEJDNzAwMDAwMDAwMDAwMDAwMDAwMDAwQTFEQUMwMEZCMDAzRUMxRjcKKzoxMEJDODAwMDhCOTAwQjgwMEFCODAxMkUwMDBDQjAwM0U4MDBGQTAwN0MKKzoxMEJDOTAwMDNFQzAwRkEwNDNFQzAwRUIwMDNFODAwRkE2MjNDMjAyODMKKzoxMEJDQTAwMDYwMDAwMDAwMDAwMDAwMDAwMDA1RkUwMEZFODAzMzIwNjAKKzoxMEJDQjAwMDRFQzkxMkY2NTBFRjkwM0ZFMDBDMTkwMEI2NDJDRjIxNkEKKzoxMEJDQzAwMDNGRTAwRUY5MDJFNkMwRkY4MDNGRTA0Q0RDMDM0MDAwOUQKKzoxMEJDRDAwMDcwMDAwMDAwMDAwMDAwMDBBQTExOTQwMEI3MDA4MTQwMkQKKzoxMEJDRTAwMDA4MDMwMjE0QzQ4NzAxMkRDODA4NkExMjM4NDA4NzAyNkQKKzoxMEJDRjAwMDJEQzAwODcxMTJEMjgwQjcwMDJEODAwODYwMDIyQTA0N0UKKzoxMEJEMDAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwOUMwMEI3MTAyMTgwQ0YKKzoxMEJEMTAwMDA4RjQxMjk0MDRBNjAwMkNDMDE4RDIwMjE0NDg4NjEwMEQKKzoxMEJEMjAwMDJEODAwQTYxMzJENDAwQjYxODJEQzQwODU4MDIwMDEwQzQKKzoxMEJEMzAwMDIwMDAwMDAwMDAwMDAwMDAyMDE0QzQwMEIzMDAyMEMwNTgKKzoxMEJENDAwMDQwQjAyMjA0MDA4MjgxMENDMDA4MzAwQTBBMDA4QTAwMzgKKzoxMEJENTAwMDJFQzAwOEEwMDJDNDAwQkIwMDJFODAwODIwMDIwODA0RTgKKzoxMEJENjAwMDMwMDAwMDAwMDAwMDAwMDBBODE1QUMwMEZCMDBBMEMwREYKKzoxMEJENzAwMDI0OTQyM0FDMTBFQkEwMEVDMDBDQjAwMjJFMjBDOTAwRkUKKzoxMEJEODAwMDJFNDAwRTkwMDNFQzAwRjk4MDNFNDA2Q0EwMEIyQTA0N0MKKzoxMEJEOTAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwQ0MwMEZCMDAzRUMwRkUKKzoxMEJEQTAwMDg5OTAwMzJDMDBGQjAyM0U0MDRGQTAwMzZEMDFGQjQxMzQKKzoxMEJEQjAwMDNFQzA4RkI0MDNFODAwRkIyMDNFNTAwRkE0MDNFMDAwMTgKKzoxMEJEQzAwMDMwMDAwMDAwMDAwMDAwMDAwMTEwRkMwMEMzMjBCMkMwRTEKKzoxMEJERDAwMDBERDAwMzM4MDBDRDAwM0Y4MDBERjAwM0ZDMDBGRDAyQzQKKzoxMEJERTAwMDM2MDAwQ0QwMDMzRjA4RkMwNDEyQzAwQ0EwMDNDMDQ0NzIKKzoxMEJERjAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NkMwMjhCQzgyMkMwRUMKKzoxMEJFMDAwMDA4OTgwQTJBNDA4OTIwMkUwMThFQjAxMkVDODBCQkYwREYKKzoxMEJFMTAwMDIyRTUwOEJEMDIyRTAwQkI5MDIyRUQwOEEyMDJFMDAwNDAKKzoxMEJFMjAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1MkMwMDhCMDEyMjAwQTMKKzoxMEJFMzAwMDQ5QTgxRTA0MDA4QjAxMkVDMDQ5OTAwMkU0MDBCOTAwRkQKKzoxMEJFNDAwMDIyNDAwQTkwMDIyQzAwQjkwMDJBNDAwODgwMDJFMDAwM0IKKzoxMEJFNTAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDQwMDgxMDAyMDQwQjEKKzoxMEJFNjAwMDA4MjAwMjA0MDA4MzAwMkNDMDBBMjA0MkNDMDBCMzAwNEEKKzoxMEJFNzAwMDIwQzAwMjMwMDIwODg0QjMwNDA4NDAwODIwMDJDMjExMjYKKzoxMEJFODAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENkMwMDhCMDBCMjgwN0MKKzoxMEJFOTAwMDBEQjEwMzI0MDJDQjAxM0VDMDREOTA0M0U0MDBGOTAwRjQKKzoxMEJFQTAwMEIyMDAyRTkwMEIyQzgwRjgwMEJBQzAyQzgwMDNDMDAzODcKKzoxMEJFQjAwMDUwMDAwMDAwMDAwMDAwMDBBMDFERjQwMDdEMDAzRkMwMDUKKzoxMEJFQzAwMDBGNzIwM0Q0MDBGRjAwM0ZDMDBFRjE0N0ZDMDBGRjAwREIKKzoxMEJFRDAwMDNCQzAwREYwMTNGQzUwRkYwMDM3QzAwRkUwMDNFODA2MzUKKzoxMEJFRTAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1RjBDNENDMzMzRjA0MjcKKzoxMEJFRjAwMDJDRjYwMzM4NjBDQzkwQjMyMDBGRjEyM0YwNjBGRjAxRTMKKzoxMEJGMDAwMDIzQzgwQ0YyOEEzQzgxREYzMDNGNjQwQ0Q4MDMzMDA0MzQKKzoxMEJGMTAwMDcwMDAwMDAwMDAwMDAwMDA4MDEwRTBDMjhBMzAyRTE4N0YKKzoxMEJGMjAwMDA4RjUzMEE1OTQ1ODIyMjIyMTRCRjMwMkUxMDA5RjcwQkUKKzoxMEJGMzAwMDJCRTQwQUY0MTIxRDQwQUY3MjJDNDkyRjMwODJBMDA2NjgKKzoxMEJGNDAwMDMwMDAwMDAwMDAwMDAwMDA4ODA1QzQ4MDgwQTAyQzk4MEMKKzoxMEJGNTAwMDA4MzIyMjA4MDA4MjAwMjgwMDAzMzIwMkMwODRCMzBDOTkKKzoxMEJGNjAwMDIwQzA1ODMyOTI4QzMwQTMyMDJFQzA0ODEyNDI2MjAxNjkKKzoxMEJGNzAwMDcwMDAwMDAwMDAwMDAwMDBDMDE1QTgwMDhCMDAyRTIwRkIKKzoxMEJGODAwMDA4QjAwQTIwMDE5ODAwMkEyMjBCQjAwMkU2MDA5QjAwQUMKKzoxMEJGOTAwMDIyQzAwQUIwMTJBQzA0QUIwMDJFQzAwM0IwMDJGMDAwMDUKKzoxMEJGQTAwMDYwMDAwMDAwMDAwMDAwMDAwMDE1RTUwMEM4MDAzRUIwODEKKzoxMEJGQjAwMDBDQjAwMzI5MDBDODAwM0EyMDRGQjAwM0UyMjBGQjAxNzcKKzoxMEJGQzAwMEIwQzAwQ0IwMDMyQzAwRkIwMjNDNDEwQzkwNDM0ODA0NzEKKzoxMEJGRDAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxQTI4MEZFNDAzRTAwNzIKKzoxMEJGRTAwMDBGRjA2M0VDMDBCRkM0MTc0MjBGRjAwM0VDMDBGRjAwM0EKKzoxMEJGRjAwMDFGQzEwRkIwMDM1QzAwRkIwMDNGNDA0RkYwMDBCODAwRDIKKzoxMEMwMDAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwQTUwMkM4MDAzRTkwNDMKKzoxMEMwMTAwMDJDQjAwQjAxMDZDQjAxM0U1MDVGQjAxMzIxMTBDQjAwQkEKKzoxMEMwMjAwMDdFQzAwQ0IwMEIyQzAwQ0IwMDMyQzAwQzkwMDMxMDA0NkYKKzoxMEMwMzAwMDIwMDAwMDAwMDAwMDAwMDBDODA1MjgwMThCRDAyQzM0MkYKKzoxMEMwNDAwMDQ4RkYwMjMwMDBBQTA0MkU2OTBGRjAwMzY4MTBERjAwRDkKKzoxMEMwNTAwMDJGRDQwREYwMDIzRTAwNUYwNEI2QzAwOEIwMDM3MjAwOUEKKzoxMEMwNjAwMDQwMDAwMDAwMDAwMDAwMDBFMDA1Njk5MDgxODAyQzAwODUKKzoxMEMwNzAwMDQ4QjgwMjA4MDk5OTAwNENCMDBCMzAwMjBDMDA4QjAwNDQKKzoxMEMwODAwMDJDQzAwOUIwNDAwQzQwODMwMDAwNDAwQTkwMDIzMDAwRjAKKzoxMEMwOTAwMDUwMDAwMDAwMDAwMDAwMDAyMDAxMTYwMDg0ODgyREU0RkMKKzoxMEMwQTAwMDQ4MzkwMjE2MDBCNDgwMkRFMDBBN0IwNjVFMDA5NzgwQjYKKzoxMEMwQjAwMDJERTIwOTc4MDIxRTkwOTc4MDI1NjQ4QTc4MDI0ODAwNTQKKzoxMEMwQzAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MEQwMDgxMTAyQzk2ODAKKzoxMEMwRDAwMDA4MzEyMzBDMDA5MDIwM0NDNDFCQjgwMjA4NDBDMzAwNjgKKzoxMEMwRTAwMDJDQzQwRDMwMDMwRTQwQzMxMDMwQzA0RTEwMDcxQTEyN0UKKzoxMEMwRjAwMDAwMDAwMDAwMDAwMDAwMDA0MDFEQkMwMDdEMDUzRkM1QTEKKzoxMEMxMDAwMDBGQjEwQkY0MDBFRjAwMUY0NTBGRjA0M0ZDMDFGRjQwOUYKKzoxMEMxMTAwMDNEQzQxRkYwMDZGQzEwRkYwMDNCQzEyREYxMDNEMDA2MEIKKzoxMEMxMjAwMDYwMDAwMDAwMDAwMDAwMDBBODA1RUMwNENCMDQzRUEwNjUKKzoxMEMxMzAwMDQ0QjYwMzI4MDRDQjgwMzI4MDBGQjM5MzYwMDhGQjIwMDEKKzoxMEMxNDAwMDNFRDIxRkIzMDMyRDgwRkI2MTdFNDA4Qzk4MDMyQTAwRjIKKzoxMEMxNTAwMDcwMDAwMDAwMDAwMDAwMDA0ODExODQwQzg2MDUyREMwMEUKKzoxMEMxNjAwMDA4RjQ4MjhDOTA4NTAwQTFDMDBCRjAwMjVDMDAzNzAwQkYKKzoxMEMxNzAwMDJERDAwQjcxMDIxQ0M4Qjc0ODJENDAwQTcwMDIxMjA0NjIKKzoxMEMxODAwMDYwMDAwMDAwMDAwMDAwMDBDMDAwOUUwMDg3ODAyREExMUMKKzoxMEMxOTAwMDYwNzg0QTE2RDBBNzgwMjlFMDBCNzg1Mjk2MDFCNzkwQjQKKzoxMEMxQTAwMDJERTgwQjdBMjI1RTQwQjdBMDJGRTE0ODUwMjIzMDAwRTQKKzoxMEMxQjAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0Q0MxMDgzODQyQ0MwMzQKKzoxMEMxQzAwMDA4MzAwMkE0MTA4M0NCMjhFMDBCMzAyQTRGNDA5MzAwQTQKKzoxMEMxRDAwMDJDQzAwQjMwMDI0QzEwQjMwMjJDQzBBQTMwMDIxMjA0NDcKKzoxMEMxRTAwMDMwMDAwMDAwMDAwMDAwMDBFODE1QjgwMENFQTAzRjgwM0QKKzoxMEMxRjAwMDRDQTAyQjNBMDBDRTQwM0JCODBGQTAwM0I5MDBCQTAwQzgKKzoxMEMyMDAwMDNFODAwRkEwMDM2ODAwRkEwMDdFODAxQ0EwMEIzQTA0NTkKKzoxMEMyMTAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwRTAwMkY4MDAzRTA0NUEKKzoxMEMyMjAwMDhGMDAwM0UwNEFGODEwMjYxODBGODAwM0EwODBGODAyNjAKKzoxMEMyMzAwMDNFMDA4RjAwMEJBMDAwRjgwMjNFMDAwRjgwMTNEMjAwREEKKzoxMEMyNDAwMDMwMDAwMDAwMDAwMDAwMDAwODEwRTQyMEM5MDAzMjQwNjcKKzoxMEMyNTAwMDREOTkwMzI0MDBDOTAyM0U2ODBGOTAwMjI0MDBFOTAwQjIKKzoxMEMyNjAwMDMwNDA4QzkwMDMwNDQwQzkwMDNFNDAwQzkwMDMwMjA0MEYKKzoxMEMyNzAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjQyMDg5MDYyMjUwODUKKzoxMEMyODAwMDhCOUNDMjI0MDBEOTAxMkU0MDBCOTA0MjI0MDhCOTAxOTYKKzoxMEMyOTAwMDIyNDYwRDkwMEEyNjAyODkwMDJDNDAwQTEwMDIyMDAwMzYKKzoxMEMyQTAwMDEwMDAwMDAwMDAwMDAwMDAxODAxMDYwMDkxNDA0MjcwREMKKzoxMEMyQjAwMDBCOTAxMjJDMDI4QjAwMkU0MDBCMTAyMkU0MTBCMTAwQzgKKzoxMEMyQzAwMEEyNDA0ODkwMTIyNDA4OTkwMjJFNDAwODkwMDIwNjAwQ0QKKzoxMEMyRDAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDQ5MjkxMjBFMDQ4QTMKKzoxMEMyRTAwMDBCMTIwMjA0MDI5MTEwMkNDMDBCMTAwNjg0QzBCMTEwNzYKKzoxMEMyRjAwMDIwNDg4OTExMDIwNTgwOTE0MDJFNDQyQTk0MDIwMjAxQUYKKzoxMEMzMDAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjE0MEQ4NTAzMDE0NUIKKzoxMEMzMTAwMDBGODUwQjIxRTA4MDQwM0UwMDBGODc4QkUxMENGODZDMEQKKzoxMEMzMjAwMDMyMDA4NDA2ODMyMDA0RDgyODNFMTAwQzAwMDMyRTAzMUMKKzoxMEMzMzAwMDUwMDAwMDAwMDAwMDAwMDA5ODFERjQ0MEFEMTAzRjQ1ODMKKzoxMEMzNDAwMDBGOTEwM0ZDMTg3RDIwMUY0MTBGOTAwMzc0QzBGOTIxNDkKKzoxMEMzNTAwMDNFNDQwRjkyMDFFNDQwRTkwMDNENDg0RkQwMDNFNjA2MTkKKzoxMEMzNjAwMDcwMDAwMDAwMDAwMDAwMDAxODA1Rjc4MEZERTAzMzcwNDkKKzoxMEMzNzAwMDBDREEwMzI2MjBDOTQwMzE0MDBFOUEwMzI0MDBGOTgwQ0MKKzoxMEMzODAwMDNCNjAwRjlDODMzNkEwRjlBMUIwNDAwRjkxMDNDNjAwMUIKKzoxMEMzOTAwMDcwMDAwMDAwMDAwMDAwMDAzODEwRTI5MEI4QTAyMjI4RDEKKzoxMEMzQTAwMDI4ODgwQTIyMDI4OEEwMjIwMDA4ODgwMkMyODBCODg4NTEKKzoxMEMzQjAwMDIyMDQwQjhFMDMyMjgwQjhEMDJBMjAwQjg4MDJDRTA0RTAKKzoxMEMzQzAwMDMwMDAwMDAwMDAwMDAwMDAwODA1QzU4MEIxNjEwMDU4ODEKKzoxMEMzRDAwMDQ4MTY4QTA0QTA4OTAxMjI0MDFBMTQ4ODA0MjBCMTQwMUEKKzoxMEMzRTAwMDI4NDAwQjEwMEEwNDIwQjEyQzIwNEEwQjEyMDJDMjAxNzMKKzoxMEMzRjAwMDcwMDAwMDAwMDAwMDAwMDAxODE1QTU5MEJCNDAyMDQwMTAKKzoxMEM0MDAwMDA4OTAwMjI0NDA4OTQyNjI1ODA4MTAwMkU1MDBCOTAzRUUKKzoxMEM0MTAwMDIyQzAwQjkwMDJBNDE0MzEwMDJBNDQwQjkwMDJDNjA0REYKKzoxMEM0MjAwMDYwMDAwMDAwMDAwMDAwMDBBMDEwQTUwMEY5MDEzMjQwRUIKKzoxMEM0MzAwMDhDOTAwMzI3MDBDMTk0MzA0MDBFOTAwMzI0MDBGOTAwMzMKKzoxMEM0NDAwMDNBNDAwRjkwMDMyNDAwRjkwMDMyNjAwNzkwMjdFODA1NzYKKzoxMEM0NTAwMDIwMDAwMDAwMDAwMDAwMDAyODAwQTQxOEY5MDBCRTQ0REQKKzoxMEM0NjAwMDBGOTAwM0M0MDBGOTAwQkU2MThGOTAwM0E0MDBGMTAwOTcKKzoxMEM0NzAwMDFFNDAwRjEwMDMyNDA4RjkwMDdFNDAwRjkwMDNDQTAwRUQKKzoxMEM0ODAwMDIwMDAwMDAwMDAwMDAwMDAyODEwQTE4MUY4MDAzMjA0MDQKKzoxMEM0OTAwMDBDMDBEMzIxMDBEODA0M0ExNDlDODAwMzIxMDFDODAwNjkKKzoxMEM0QTAwMDM2MDAwQzgwMTMyMDEwQzgwMDMyMDAyQzgwMDNDQTA0MTAKKzoxMEM0QjAwMDIwMDAwMDAwMDAwMDAwMDAyODA0M0EwMEJFODQyMzg1MEMKKzoxMEM0QzAwMDA4RUM4MzY4MDQ4QTAwMkY5MDREQTAwMjI4MDFEQTAwNEUKKzoxMEM0RDAwMDIzQjAwQUEwMDIyQTA4REEwMTIyODAwRkEwMDJDQTAwQjMKKzoxMEM0RTAwMDAwMDAwMDAwMDAwMDAwMDAyODA1NEMwMEJCRjAyMEMwNDgKKzoxMEM0RjAwMDA4M0MwQTBDMDA5MzAxMjhDODg5MzAwNjRDMDA4MzAyQ0UKKzoxMEM1MDAwMDJDRjYwODMwMDIwNDAwQTMwMDIwQzAwQTMwMDJDQTAwNDIKKzoxMEM1MTAwMDUwMDAwMDAwMDAwMDAwMDAyMDAxMUQxMUIzMDBBMEMwNjkKKzoxMEM1MjAwMDA4NTAwMjVDMTA4NzAxNkQ4MTQ5MzI1MjFFQzM4NzAwOUEKKzoxMEM1MzAwMDI4RTAwQTMyMjYxRjAwMzcwMDIzRTAwQjcyMDJDODAwRjEKKzoxMEM1NDAwMDQwMDAwMDAwMDAwMDAwMDAyODA4MTIwMEI3ODIzMTIwREYKKzoxMEM1NTAwMDA4MDgzNzBGMDhEN0UwMzk2MDE5N0EwQjVFMEM4M0IyRjAKKzoxMEM1NjAwMDdERTAwQzdBMEIzRTAyQUZBMEIxRTAwRTdBMDNDQTAyNjYKKzoxMEM1NzAwMDAwMDAwMDAwMDAwMDAwMDAwODFEQTAxMEZCMDAzRUMwRUQKKzoxMEM1ODAwMDZGQjA0M0VDMTFGQjAwM0U0MDBGQjUwM0VDMjBGQjUwQjUKKzoxMEM1OTAwMDM2MDAwRkI1NDNFNUExREI3ODNFQzAwRkI0MDNDMjA2RjkKKzoxMEM1QTAwMDYwMDAwMDAwMDAwMDAwMDA0MDA1RkUwMEZGQTAzRkEwNkEKKzoxMEM1QjAwMDBEQzkxMzNFMDBDRkQwM0RFODAyRkYxMzNFMDBDRjgyRUQKKzoxMEM1QzAwMDNGNjAwQ0ZDMjMzRTEwRUY4MDMzRjIwQ0ZDODMxMDAwMjQKKzoxMEM1RDAwMDcwMDAwMDAwMDAwMDAwMDBBODExOUM0MEI1MDEyREQwQTMKKzoxMEM1RTAwMDA4NTgwMjFDNDA1NzEwMkQ1QTI4MzEwMkJDMDE5NzEwRTAKKzoxMEM1RjAwMDJEMDAwQTcwMDI4NDA0Q0YwMDI5QzAwQUYwMDIyQTA0MjgKKzoxMEM2MDAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwOTAwMEI3MkEyRDgyQUEKKzoxMEM2MTAwMDA4NDIyMjNDMDA4NzExMERDQzg4MzIwMjFEMDA5NzAwOTEKKzoxMEM2MjAwMDJDQzQwODMwMDIxNDAwQTcwMDIzQzAwOTcwODIwMDAwNDcKKzoxMEM2MzAwMDIwMDAwMDAwMDAwMDAwMDA2MDE0QzAyMEIwMjAyQzUwM0EKKzoxMEM2NDAwMDA4MTAwMjJEQzA5M0UyMkMyMTA4MzAwMjBFMDg5MzAwM0UKKzoxMEM2NTAwMDJDNDAwQTMwMDI4QzAwOTMwMDJBQzAwQjMwMDIxODA0RDAKKzoxMEM2NjAwMDMwMDAwMDAwMDAwMDAwMDBBODE1QUMwMEY4QzAzRTgwQkIKKzoxMEM2NzAwMDJDQTAwQjNGMDBDNzYwM0VEMDBDRjAwQjNDMDBDRjAwNUQKKzoxMEM2ODAwMDNFODAwQ0YwMEIyQzAwRUYwMDMzQzEwREYwMEIyQTA0QTAKKzoxMEM2OTAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwRUM0MEYzNDAzRTUwQ0QKKzoxMEM2QTAwMDhFQjQwM0VDMTBGQjAwM0UwOTBGQjAxM0VDNDJFQjAwMUMKKzoxMEM2QjAwMDNDMDA4RkIwMTNDNDExRTMwMDNFQzAwRUIwMDNFMDAwOTUKKzoxMEM2QzAwMDMwMDAwMDAwMDAwMDAwMDAwMTEwRkMwMEZDODAzMTIyNUUKKzoxMEM2RDAwMDBDQTgwMzNDMDBDRjAwMzNBMDBFRjAwM0RDMDBDRjAwMTkKKzoxMEM2RTAwMDFGRjAwQ0YwMDNGNDAwQ0YwMjMzQzAwQ0YwMDIwMDU0MzIKKzoxMEM2RjAwMDMwMDAwMDAwMDAwMDAwMDA4MTA0NkYwMEJCQzAyMjcwMDkKKzoxMEM3MDAwMDBBQjk0MjJDMTA4QjAwNzYxMTgzQjAwMkVDMTBBQjAwRkEKKzoxMEM3MTAwMDJFQjAwQUIwMDNFQzA0OEIwMEEyQzAyOEIwMDIyMDQwNjcKKzoxMEM3MjAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1NjU0MEI4MjAyMjQ0OTEKKzoxMEM3MzAwMDU4MzQwQTJDMDA4QjAwMjI4NDRCQjAwMkVDMDA4QjAwOTIKKzoxMEM3NDAwMDZFQzAwOEIwNDJFNjA0OEIwMDAyQzAwODMwMDJBMDAxQUYKKzoxMEM3NTAwMDQwMDAwMDAwMDAwMDAwMDAwQzAwMDAwMEIxMDAyMEMwRkMKKzoxMEM3NjAwMDBBMzAwQTBDMDA4QjAzMjQ4MDBCMzAwMkNDMDBBMzAwOUIKKzoxMEM3NzAwMDZDMDAwQTMwMDI4RDAwODMwMDIwQzAxODMwMDI4MjAwNTUKKzoxMEM3ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NjQwMEY4MDAzMDAwMTUKKzoxMEM3OTAwMDRDQTAwQjJDMDJDRjAwMjI0MDBFRjUwM0ZDMDBDRjAxNzEKKzoxMEM3QTAwMDNFMDAwQ0YwMTJERDAyQ0YwMjMzQzA0Q0YwMEI4MDAzRDAKKzoxMEM3QjAwMDEwMDAwMDAwMDAwMDAwMDBBNDE5RjAwMEZDMDAzRjQwNDEKKzoxMEM3QzAwMDBGQjEwM0RDMDBCRjAxM0YwMDBGRjIyM0ZDMTBGRjAwOUMKKzoxMEM3RDAwMDNGMDAwRkYwMDFGNDg0RkYwMDNEQzA0RkYwMTM2ODA2RTYKKzoxMEM3RTAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1RkU0MERGODAzM0M4N0MKKzoxMEM3RjAwMDBDRjgwMzNDMEE5RkMwM0ZGMDA4QjgwMjNFMDBGRjgwREYKKzoxMEM4MDAwMDNGRDgwQ0Y5NjEyRTQwNkY5MDNGRTQ4RkYxODMzMDAwRTgKKzoxMEM4MTAwMDcwMDAwMDAwMDAwMDAwMDA4MDEwRUMwNDhCODAyM0YwMEEKKzoxMEM4MjAwMDA4QjgwMjNENDBBQjAwMEUwODQ4MjI4MjZDMjBCQjAwRDUKKzoxMEM4MzAwMDJGRDA0OEIwMDIyQzAwQkIwMDJFQzEwQkIwMDIzMDA0MzgKKzoxMEM4NDAwMDMwMDAwMDAwMDAwMDAwMDA4ODA1Q0MwMjgzMDFBMEM1NzQKKzoxMEM4NTAwMDA4QjA0QTRDQTA4MDI0MjhDODA5MzIwMjRDMDBCMzA4MTIKKzoxMEM4NjAwMDJFRDEyOUIyM0EwQzg0QTMyMTJDQzg0QkIyMEEzMjAxMzIKKzoxMEM4NzAwMDcwMDAwMDAwMDAwMDAwMDBDMDE1QUMwODhCMDAyMkMwNTIKKzoxMEM4ODAwMDA4QjAwMjRDMDA4ODIxMjQyMTA5QjA0NjZDMDBCQjA2ODgKKzoxMEM4OTAwMDJFQzAwOUIwMDIyQzEwQkIwMDJFQzAwQkIwMDIzMDA0MTkKKzoxMEM4QTAwMDYwMDAwMDAwMDAwMDAwMDA0MDE1RUMwMENCMDAzMkMwMkEKKzoxMEM4QjAwMDBDQjkwMjZDMDBDQkM4M0FDMDJEOTAwQjJDMDhGQjAwQzEKKzoxMEM4QzAwMDNFQzAwRDMwNDIyQzAwRUIwMDNFQzAwRkIwMTMwMDA0MDAKKzoxMEM4RDAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxQkMwMEVGMDAzREMwNUYKKzoxMEM4RTAwMDBGRjAwM0JDMDZFRjgyM0Y0MDRFQzk4M0JDMDBGRjAwM0YKKzoxMEM4RjAwMDdGQzAxQ0YwMTM3QzAwRkYwNDNGQzAwRkYwMDNGODAwNjIKKzoxMEM5MDAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwQUMwMEZCMDIzRUMwRDAKKzoxMEM5MTAwMDBFQjAwM0FDMjBEODQwM0VDMDhDOTAwQjJDMDBGQjAwMjYKKzoxMEM5MjAwMDNFQzkwREIwMzNFQzA4RkIwMjNFQzAwRkIwMEI1NDA0RkYKKzoxMEM5MzAwMDIwMDAwMDAwMDAwMDAwMDBDODA1MkMwMEIzMDAyRkMwM0MKKzoxMEM5NDAwMDBCMzAxMkZDMDA4OEEwMkU0MDI4OTQwMjJDMTBCQjA0NEYKKzoxMEM5NTAwMDJEQzAyOEIwMDJFQzAwQkIwMDJFQzAwQjcyMDYzMjAwQzYKKzoxMEM5NjAwMDQwMDAwMDAwMDAwMDAwMDBFMDA1NkMwMEIzMDAyQ0UwNzcKKzoxMEM5NzAwMDBBMTAwMkNEMDA5MzAwMkNDMDA4QjAwMjRDMDBCMzAwOTYKKzoxMEM5ODAwMDI4QzAwODMwMDJDQzAwQjMwMDJDQzAwQjMwMDIzQTAwQTMKKzoxMEM5OTAwMDUwMDAwMDAwMDAwMDAwMDAyMDAxMUU0MEI3ODAyREUyODIKKzoxMEM5QTAwMDBCNTgwMkRFMDI5NzgxMkZBMDA4NjgwMjVFMDBCNzgxNTMKKzoxMEM5QjAwMDJGRTAwODc5MDJERTAwQjc4MTJERTAwQjc4MDIzQzAwMDEKKzoxMEM5QzAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MEMwMEYzMDAzQ0MwREMKKzoxMEM5RDAwMDBFMzIwM0NDODBEMzAwM0NDNDBDMzkwMzRDMDhGMzFBNEMKKzoxMEM5RTAwMDNDQzYwRDMwMDNDRTIwRjMwODNDQzAwRjMwMDM1MjAyOEEKKzoxMEM5RjAwMDAwMDAwMDAwMDAwMDAwMDA0MDFEQUMwMEZCMDAyRUMwNDUKKzoxMENBMDAwMDBCQjAwM0NDMjBFQjAwM0M4MDBGQjA0MUFDMDBGQjAwMkUKKzoxMENBMTAwMDNDQzIwRkIwMDNFQzQwRkIwMDNFQzAwRjMwMDNEMDA2MTkKKzoxMENBMjAwMDYwMDAwMDAwMDAwMDAwMDBBODA1RUUwMkMzODAzMENFQzgKKzoxMENBMzAwMDBEOTgwM0FDQTBDMzgwQjJDMDBGQjAwM0VDMDBGQjAwQTQKKzoxMENBNDAwMDNFRDI0RkIwMDkyRTA4NEIwMTNFQzAyNEIwMDNFQTAwOEQKKzoxMENBNTAwMDcwMDAwMDAwMDAwMDAwMDA0ODExOUMwMDg3MDEyMUMwMDgKKzoxMENBNjAwMDQ4NTAxMjRDMDA4NzAwMzVDMDRCNjAwMkRDMDRCNzAxMEYKKzoxMENBNzAwMDJEQzAwQjcwMDIxQzAwODcwMDJEQzEwQzcyMDJGMjA0NDUKKzoxMENBODAwMDYwMDAwMDAwMDAwMDAwMDBDMDAwOUUwMDg3ODAyM0UwREUKKzoxMENBOTAwMDA4RjgwMkRFODA4RjgxMjFFMDRCNzgxMkRFMDQzNzgwQjcKKzoxMENBQTAwMDJERTgwQkY4MDIzRTE4ODc4MDJGRTAwOTc5MDJFMDAwOUMKKzoxMENBQjAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0Q0MwMDgzMDBBMEMwNEIKKzoxMENBQzAwMDI4MzA0MjRDMDA4MzAwMjRDMDBCMzgwNkNDMDRCMzAwNEQKKzoxMENBRDAwMDJDQzAwQjMwMDIwQzAyODMwMDJDQzAwODMwMDJEMjA0QTAKKzoxMENBRTAwMDMwMDAwMDAwMDAwMDAwMDBFODE1QTgwMENBMDAzMTgwRjYKKzoxMENBRjAwMDA4RTAwMjk4MDJDRTAwMzM4NDBCRUEwM0U4MDBCQTAwOTMKKzoxMENCMDAwMDNGODEwRkEwMDMyODAwQ0EwMDNFODAwREUwMDNGQTA0MTUKKzoxMENCMTAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwRTAwMEY4MDAzRTAwNTcKKzoxMENCMjAwMDBFODQyM0EwMDBGODAwM0ExMDBGODAwM0UwMDBGODAwMDQKKzoxMENCMzAwMDNFMTAwRjgwMTNFMDAwRjgwMDNFMDAwRDgwMDNEMjAwOEQKKzoxMENCNDAwMDMwMDAwMDAwMDAwMDAwMDAwODEwRTQwMUY5MDAzRTQwNDEKKzoxMENCNTAwMDBDOUExM0U0MDBDOTAwM0U0MDBDOTgyM0U0ODBGOTAwQ0QKKzoxMENCNjAwMDNFNDAyQzk4MDM2NDAwRjkwMDNFNDAwQzkwMDNDMjA0NDAKKzoxMENCNzAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjQwNEI5MDAyRTQwNzIKKzoxMENCODAwMDY4OUMyMkU0MDI4OTAxN0M1MDhEOTgyMkU0ODBCOTIwQkYKKzoxMENCOTAwMDJFNTA0ODEwMEIyNTAwQjk0NDJDNDAyODkwMDBFMDAwOEUKKzoxMENCQTAwMDEwMDAwMDAwMDAwMDAwMDAxODA1MjQwMEI5MDAyRTUwRkQKKzoxMENCQjAwMDA4OTAwMkU0MDQ4OTAwMkU1MDBBOTIwMkU0MDBCOTAwQjEKKzoxMENCQzAwMDJDNDAwODkxMDIyNDAwQjkwMDJFNDAwODkwMDJDNjAwQjMKKzoxMENCRDAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDUwMEIxMDEyQzQwRTYKKzoxMENCRTAwMDQ4MzAwMkU0MDA4MTAwMkE0MDRCMTAwMkM0MDBCMTAwMkEKKzoxMENCRjAwMDBDQzAwODkwMDIwQzAwQjMwMDJFNDA0ODEyMDJDMjAxODMKKzoxMENDMDAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjAwMEI4MDEzRTAwMDgKKzoxMENDMTAwMDFDODAwN0UxNTBDODUwMkUxNDFFODUwM0UxNDFGODUwRDYKKzoxMENDMjAwMDNFMTQwQzg1MTMyMTQ4Rjg1MDNFMTQwQzg1NDNFRTAzNDYKKzoxMENDMzAwMDUwMDAwMDAwMDAwMDAwMDA5ODE5QzQwMEY5MDAzRTUxQTcKKzoxMENDNDAwMDBGNTAwM0U1MDBGRDAwM0Y0MDFERDAwM0Y0MTBGOTAwMzQKKzoxMENDNTAwMDNFNTAwRjUwMDA5NDAwRjkwMDNENDAwRjkxMDNFNjA2NEUKKzoxMENDNjAwMDcwMDAwMDAwMDAwMDAwMDAxODAxRTQ1MENEMDAzMTYwQTkKKzoxMENDNzAwMDA0RDAwMzM2ODBDMTQyMkU1MDFGOTQwM0U1MDBFOTAyMjAKKzoxMENDODAwMDJFNzIwQTkwMjIwNTA4RTk0MDNFNTA0MDlDMDMyNjAwN0YKKzoxMENDOTAwMDcwMDAwMDAwMDAwMDAwMDAzODEwQzI4Mjg4MDAyMjE1RDkKKzoxMENDQTAwMDA4ODAwMjIzNTg4OEEwMkUyODBCQUE0MkUyODI4ODgwOUUKKzoxMENDQjAwMDJFMzgyODg4MDIyMjgwQjhBMDNBMjgwOENEMDIwRTA0MTcKKzoxMENDQzAwMDMwMDAwMDAwMDAwMDAwMDAwODA1QzQwMDgxMDBBNjQwRkMKKzoxMENDRDAwMDI4MTAwQTI0MjY5NTAwMEQ0MDBCNTAwMjc0MDA4NTA4ODgKKzoxMENDRTAwMDJGNDA3OUQyQUExNDAwQTUwMTJGNDAzODUwMDIxMjAxMUEKKzoxMENDRjAwMDcwMDAwMDAwMDAwMDAwMDAxODE1QTQwNDg5MDAyNjQwMDAKKzoxMENEMDAwMDA4OTEwMjI0MTA5RDA4MkY0MDBCRDAwMkY0MDA4RDAyRTAKKzoxMENEMTAwMDJGNDAwOUQwMDAzNDAwQkQwMDBCNDAxODcwMDIwNjA0RkIKKzoxMENEMjAwMDYwMDAwMDAwMDAwMDAwMDBBMDE1QzQwMEM5MDUzNjQxRTUKKzoxMENEMzAwMDRDOTA2MzI0MDBEOTAwM0U0MDBCOTAwMzQ0MDhDOTAwODYKKzoxMENENDAwMDNFNDAxNTEwMDMyNDAwRTkwMDNDNDAwQzkwMDMyODA0RTkKKzoxMENENTAwMDcwMDAwMDAwMDAwMDAwMDAyODAxQTQwNEY5MDAzQTQwMUYKKzoxMENENjAwMDRGOTgwM0U0MDBFOTk5M0U0MDRGOTAwM0U0MjBGOTBBMEMKKzoxMENENzAwMDNFNDAwRTkwNDM2NDI0RjkwODNBNDIwRjkwOEJEQTAwNEIKKzoxMENEODAwMDYwMDAwMDAwMDAwMDAwMDAyODEwQTAwMEM4MDAxMjAwOTEKKzoxMENEOTAwMDBDODA0M0UwMDBDODQwMzIwMDBGODQ1M0UwMTBGODAwREMKKzoxMENEQTAwMDNFMDAwRDgwMjMyMDAwRDgwMDNFMDAwRjgwMDMwQTA0QkYKKzoxMENEQjAwMDIwMDAwMDAwMDAwMDAwMDAyODA1MzgwMjgyMDBBMTg4NDEKKzoxMENEQzAwMDA4NjAyMkM4MDA4QTQwMzZBMTBCQTAwMkU5MTBCQTQ0Q0MKKzoxMENERDAwMDJDODAwQ0E0MTIyOTAyOEE0NDJFOTgwQkE0MDIwQTAwNkIKKzoxMENERTAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NEMxMDgzMDAyMEUwRjcKKzoxMENERjAwMDE4MzA5MkM0MDg5MzQwMjBFMDBCMzAwMkNEMDBCMzQwQkQKKzoxMENFMDAwMDJDQzAwQjNBNDJDRDAwODM0MDJDRDAwQjM4MDI0QTAwOTQKKzoxMENFMTAwMDUwMDAwMDAwMDAwMDAwMDBBMDQxMUMwMDg3MDAyMUMwNUQKKzoxMENFMjAwMDI4NzAwMkQxMDA5RDgwMjVDMjRCNjAwMkRDMDhCNzAyNDkKKzoxMENFMzAwMDJDQzAwQTc0MDJGRTAwODcwMDJEQzAwQjM0MDI2ODAwNkIKKzoxMENFNDAwMDQwMDAwMDAwMDAwMDAwMDBBODA4MUUwMEM3ODQzMUUwNzgKKzoxMENFNTAwMDBDNjgwM0Q2MDA5NzgwMzFBMDBGNTgxM0RFMDhGNzgyQzQKKzoxMENFNjAwMDNEQTAwRkY4MEJERTAwQzc4MDNERTAwRjc4OEI2QTAyMTMKKzoxMENFNzAwMDAwMDAwMDAwMDAwMDAwMDAwODFEQUQ4MEYzMDAzRUMxNkUKKzoxMENFODAwMDBGQTAyM0MwMDJFOTAwM0U4MTBGODAwM0VDMDBGQjAwRUQKKzoxMENFOTAwMDNFQzAwREIwMTMyQzAwRUIwMDNFQzAwRkIwMDM4MjAyNjkKKzoxMENFQTAwMDYwMDAwMDAwMDAwMDAwMDAwMDA1RkYzMkM3ODAzMzYwMTIKKzoxMENFQjAwMDBGNzgwMzNFQzg0RTgwMjM2NDBDRjgwMzNBMDBDRTgwRkUKKzoxMENFQzAwMDEzRUMwNkQ4MDMzQTAwREU4MDMzQTQwQ0M4MDNEMDAwNkMKKzoxMENFRDAwMDcwMDAwMDAwMDAwMDAwMDBBODExOUMwMDg3MTAwMUMwMzUKKzoxMENFRTAwMDBCNzAwMjE4NTA4NDAwMkI0NDA4NjAxMjk4MDA4NjEzQkYKKzoxMENFRjAwMDIxQzQ4ODUwMDIxODgwODYwMDIxODAwODYxMDJFQTA0NUIKKzoxMENGMDAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwOUMwMDg3MDAyMTQwM0QKKzoxMENGMTAwMDBCRjEwMjVDODAwNjAwMjEwMDg4RDAwMjVDMDA4NzAwRDMKKzoxMENGMjAwMDIwODk4QUYxMDIxQzA4ODcxMDIxODE4ODQ4MDJDNjAwRTYKKzoxMENGMzAwMDIwMDAwMDAwMDAwMDAwMDAyMDE0Q0MxMDgzMDRBMEMxRDkKKzoxMENGNDAwMDBCMzAwQTQ4MEM4ODA2NjAzODA4MDQ0MkVDMDE4QjA0NTgKKzoxMENGNTAwMDIyQzEwODMwMEEyQzAwOEIwMDIyODAwMDIwMDJEODA0NTUKKzoxMENGNjAwMDMwMDAwMDAwMDAwMDAwMDBBODE1QkMwMEMzMDAyMjgwQjMKKzoxMENGNzAwMDhGOTAwMzY0MEFDQjAyQjJGMjIwMzUxMjY0MEFDOTAwMTIKKzoxMENGODAwMEIyNDAwRUEwMDMyNDBBQzkwMEEyNDAyQ0EwMDNFRTA0NjQKKzoxMENGOTAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwRUMwMEZCMDAzQzgwMEUKKzoxMENGQTAwMDBGOTAwM0E1MDBEQjQwM0VEMDREQjQxM0E0MDhGQjAxNTUKKzoxMENGQjAwMDNFQzAxQ0EwMDM2QzAwRkIwNDNFNTA0RkE0MDNFMDAwRTUKKzoxMENGQzAwMDMwMDAwMDAwMDAwMDAwMDAwMTEwRkMwMEZGMDAzM0MwMzIKKzoxMENGRDAwMDBDRTg0MzI2MDBERjgwQjNFMDBGRjgwMzdDMDBDRDAwQUYKKzoxMENGRTAwMDMzMDQwQ0UwMjMzNDQwQ0QwMDIzNDAwQ0UwMDNFMDA0ODQKKzoxMENGRjAwMDMwMDAwMDAwMDAwMDAwMDA4MTA0NkMxMEJCMDBBMkQyRDEKKzoxMEQwMDAwMDA4MjgwMjA0NjA4QjE5MjJDNjBFQjE4QTJFNDA4QjkwMkMKKzoxMEQwMTAwMDIyQzEwOEE0ODIyQzAwOEI5MDIyNjQ0OEE0MDJFMDAwNjQKKzoxMEQwMjAwMDEwMDAwMDAwMDAwMDAwMDA4MDA1MkMwMEJCMDAyMjAwNjIKKzoxMEQwMzAwMDA4OTEyRTI0MDA5QjAwMjJDMDhCQjAxMjIwMDQ4ODAwOEYKKzoxMEQwNDAwMDIyNDAwODEwMjIyMDAwODgwMTJBRDAwODgwNDJFMDAwRjcKKzoxMEQwNTAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MEMwMEIzMDQyMDgwMjEKKzoxMEQwNjAwMDA4MTAwNjA0MTA4MzAwMjBDMDhCQjAxMjAwMDA4MjAwNUMKKzoxMEQwNzAwMDIwQzAyODEwNDIwOTA2ODIwMDI4QzAwODIwMDJDMjAxRjAKKzoxMEQwODAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEN0MwMEJCMDAzMjQwRUEKKzoxMEQwOTAwMDJDQjAwMzI0MDBEMzAwMzJDMDVGQjUwMzBDMDJDMTAwRTIKKzoxMEQwQTAwMEIyMDAwQ0IwMEIwNTAwQzEwMEI4QzAyQzgwMTNFMDAzMjcKKzoxMEQwQjAwMDUwMDAwMDAwMDAwMDAwMDBBMDFEREMwMEZGMDAxRkMwQTkKKzoxMEQwQzAwMDg3RjAwMUY0MDBGRjAwM0ZDMDBFNzA0M0ZDMTA3RjAwQUEKKzoxMEQwRDAwMDNGQzAwRjcwMDNGQzAwRkYwMDM3QzAwRkUwMDNFODA2RkQKKzoxMEQwRTAwMDcwMDAwMDAwMDAwMDAwMDBDMDA1RjE4NEZFNjEzMUQ4MkUKKzoxMEQwRjAwMDBDQjJDM0ZDRTBDQzgwN0JDMDBFRjEwMzdDRTBDQzgzOUYKKzoxMEQxMDAwMDNGMjAwRkYwQ0IzMjQ0REM4NDNGMjU0Q0YyNDMzMDAwMEIKKzoxMEQxMTAwMDcwMDAwMDAwMDAwMDAwMDA4MDEwRTQ0OEIwMTAyMkRDMjUKKzoxMEQxMjAwMDA4QjYwMkZEOTI4ODg1MjNGNDQwRjEwMkVEMDA4ODJEQjcKKzoxMEQxMzAwMDBFNjAwQkJDMTIyQzEwQTg4MjJFMDAwQUZDMjJBMDA0NDgKKzoxMEQxNDAwMDMwMDAwMDAwMDAwMDAwMDA4ODA1QzA4MEIzMjIyOEMwMjUKKzoxMEQxNTAwMDA4MzA4MkNDMDE4ODAwMkNDMDRBMzIwMkNDMDAwMTAxODgKKzoxMEQxNjAwMDI4MDA0QkIwMDJBMDAwODAwMDJDMDkwODM0MDI2MjAxQTQKKzoxMEQxNzAwMDcwMDAwMDAwMDAwMDAwMDBDMDE1QUMwNEIyMTAyQUMxMEQKKzoxMEQxODAwMDA4QjAwMkVDMTA4OTgwMjJDMDA4QjAwMkVDMDg4ODAwQzgKKzoxMEQxOTAwMDJFNDA4M0IwMDJBMDQwQjk4MDJDMjEwQUIwMDJGMDA0RDYKKzoxMEQxQTAwMDYwMDAwMDAwMDAwMDAwMDA0MDE1RUMwMEZBMDBCQUMwNkEKKzoxMEQxQjAwMDJDQjA0M0VDMDBDMDgwM0VDMDhFQjAwMzRDMENDODEwQjUKKzoxMEQxQzAwMDNFODA4RkIwMDM4MjEwRDg4MjNFMjgwQ0IwMEI1MDA0RjIKKzoxMEQxRDAwMDcwMDAwMDAwMDAwMDAwMDBFMDAxQjY4MEZEMDIzN0MxRDEKKzoxMEQxRTAwMDBGQjAwM0ZDMDBGRDAwM0VDMDBGQjA1M0ZDMDJGRjAxNzYKKzoxMEQxRjAwMDJGQTQ4QkYwODM3QzAwQUQwMjJGNDAwMzcwMDNCODAwOTYKKzoxMEQyMDAwMDYwMDAwMDAwMDAwMDAwMDA0MDEwQUMwMEZCMDQzMkMwRDEKKzoxMEQyMTAwMDRDQjAyMzJDMDBGODQwM0VDMjBDQjAwMzJDMDBGQjQxNjQKKzoxMEQyMjAwMDMyQzIwRkIwNDMyRDAwQzg1MDNFNDAwQ0IwMEIxMDA0NkEKKzoxMEQyMzAwMDIwMDAwMDAwMDAwMDAwMDBDODA1MkY5MEI5NTAwM0MwNzYKKzoxMEQyNDAwMDE4RjAxQTNDMDBCOTMyMkRFMDM4RjA2MDNDMDRGOTAwQzcKKzoxMEQyNTAwMDNFRjAwQjdDODAyQzAwRDlDMDJFNDAwREYwMDIzMjAwMzUKKzoxMEQyNjAwMDQwMDAwMDAwMDAwMDAwMDBFMDA1NEIyNEIyMTAwMkMxQTUKKzoxMEQyNzAwMDI4MzAwMjZDMDRCMkMxMkNDMDA4MzAwMDBDMDBCMjAwOEYKKzoxMEQyODAwMDI4MjQwMzNDMEEwMDAwODJDODJDQTAwODMwMDIzODAwODEKKzoxMEQyOTAwMDUwMDAwMDAwMDAwMDAwMDAyMDAxMTYwMEI0ODAyMUU0Q0UKKzoxMEQyQTAwMDQ4N0IwMjVFMDBCNjgwNkRFMjQ4NzkyMjFFNDBBQzg0NjUKKzoxMEQyQjAwMDJERTAwQkZBMDA1MjQwOTY4MDJERTgxOTM4MDIwODAwNDQKKzoxMEQyQzAwMDQwMDAwMDAwMDAwMDAwMDA0ODA4MDg0MEYzMTBCMEM0MEYKKzoxMEQyRDAwMDA4M0EwMjRDOTBGMzEwM0NDQzA4MzEwMzBDNDlCMDQwQTIKKzoxMEQyRTAwMDMwMDUwRjMwMDcyMTQwNDMwMTNFQzIxQzMwNDMxMjAyN0IKKzoxMEQyRjAwMDAwMDAwMDAwMDAwMDAwMDA0MDBEQkMxMEZDMTAzRkM1MDUKKzoxMEQzMDAwMDBGRjEwMUJDMDRGRjA0M0ZDNDBGQjE0QkZDNjRGNzAwRjQKKzoxMEQzMTAwMDM3QzAwRjcyNTNBQzQ0RkYwMTNGQzkwRkY0MDNEMDA2NkUKKzoxMEQzMjAwMDYwMDAwMDAwMDAwMDAwMDBBODA1RUMwOEZBMDAzRUUwRTQKKzoxMEQzMzAwMDBDQjAwMzJDMDBDQjAyM0VDQTBGQjIwNzJFMDBEQjAyNUEKKzoxMEQzNDAwMDMyMDgwRjMxMDMyQzAwQ0IwNDNFODAwQzM1MDMyQTAwMzkKKzoxMEQzNTAwMDcwMDAwMDAwMDAwMDAwMDA0ODExOTQwMEI1MDAyREM4QzYKKzoxMEQzNjAwMDA4NzAwQTFDMjI4NzAwMkRDOTBCRjI4MjlDODBBNjAwM0YKKzoxMEQzNzAwMDA5OEIwQjcwMEExQzAyODUwMDJENDAwODcwMDI5MjA0NzQKKzoxMEQzODAwMDYwMDAwMDAwMDAwMDAwMDBDMDAwOUUwMEI3ODAyQ0VDOTAKKzoxMEQzOTAwMDA4N0IwMjVFNDA4NTg5MkRFQzhCN0IwMjRFODQ4RjgwNUEKKzoxMEQzQTAwMDI1NjQwQkZBMDIxMjA4OTc4MDZGRTEwODdBMDIzMDAwQjgKKzoxMEQzQjAwMDIwMDAwMDAwMDAwMDAwMDA0ODE0Q0MyMEIzNjQyQ0MwMDIKKzoxMEQzQzAwMDA4MzAwNjBDMTA4MzhBNkNDMDVCMzA0MkNDMDBBQjEwNzYKKzoxMEQzRDAwMDJDRjIwQjMwMDIwRDAwOTMwNDJDRDUwODMwMEE5MjA0NzUKKzoxMEQzRTAwMDMwMDAwMDAwMDAwMDAwMDBFODE1QkIwMEZFQzAzRTgwRDkKKzoxMEQzRjAwMDJDQTAwMzY4MDBDNjQwM0Y4MDBGQTAwMjY4MDBDRTQ0MDYKKzoxMEQ0MDAwMDM2OTA0RjYwMDMxQjcwREVEODNGQTAwQzIwMDMzQTA0MTcKKzoxMEQ0MTAwMDYwMDAwMDAwMDAwMDAwMDA0ODAwRTA0MEY4MTAzRTAwRkUKKzoxMEQ0MjAwMDBGODAwM0EwMTBGODQyM0UxMDFGODAwM0EwMDBFODBDRkMKKzoxMEQ0MzAwMDNBMDQxRjgwMDNFMDAwRTg0NTdFMDIyRjgwMDNEMjAwRkIKKzoxMEQ0NDAwMDMwMDAwMDAwMDAwMDAwMDAwODEwNjQwMEU5ODAzMjQwNTUKKzoxMEQ0NTAwMDBGOTAwQjA0MDhEOTgwMzY0MDBGMTAxMzI0MDhGOTAwRjAKKzoxMEQ0NjAwMDcyNzAwRjkxMTMyNDEwQzkxMDNFNjkwQzkwMDMwMjA0Q0UKKzoxMEQ0NzAwMDMwMDAwMDAwMDAwMDAwMDA4MDA0NjQwOEI5ODAyMjQwRjEKKzoxMEQ0ODAwMDBCMTAwMjI0MDA4OUM0MjI1MjBCOTA0MjI0MDBCOTAwRTAKKzoxMEQ0OTAwMDIyRTAwQjkwMTIyNDA0RDk0QTJFNjAwODkwMDM2MDAwMDkKKzoxMEQ0QTAwMDEwMDAwMDAwMDAwMDAwMDAxODA1MjQwMEIxMTgyMjQwMDAKKzoxMEQ0QjAwMDBCOTAwMjI0MDA4QjIwMjY0OTBCOTAwMjY0MDBCOTAwRDcKKzoxMEQ0QzAwMEEyNDAwQjkwOEEyNDAwOEIwMDJDNDBBODkwMDIwNjAwRkEKKzoxMEQ0RDAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDQ4NEIxMjBBMDQ4QkYKKzoxMEQ0RTAwMDBCMTEwNjA0MDA4MzAwMDA0MDRCMTEwMjA0NDlCMTEwRTcKKzoxMEQ0RjAwMDI4NDAwQjEwMDIyNDQxOTEwMDJDNTAwODEwMDI0MjAxRDgKKzoxMEQ1MDAwMDAwMDAwMDAwMDAwMDAwMDBCODBENjk0MEU4NTAzMjE0MkYKKzoxMEQ1MTAwMDBGODY5MzIxRTJDODAwMzYwQTBCODY4QjYxQThGODQwN0IKKzoxMEQ1MjAwMDIyODAwRjgyQTMyMTA4QzgwMjNFMDAwQzgwNDMyRTAzRjQKKzoxMEQ1MzAwMDUwMDAwMDAwMDAwMDAwMDA5ODFERjQ0OEZEMTIzRTQ0MTkKKzoxMEQ1NDAwMDBGMTIwM0M0MDA3RDAxMUU0MDBCOTIwM0U0ODBGNTIwRkUKKzoxMEQ1NTAwMDM2NDAwRjkwMDNENDkwN0QwMDNENDAwRjk0MDNFNjA2QzMKKzoxMEQ1NjAwMDcwMDAwMDAwMDAwMDAwMDAxODAxRjZDMUREODgzMjcyNzIKKzoxMEQ1NzAwMDBDOTgwMzI2MjJERDAwM0Y2MjJDOTk4MzQ2QTBDOTQwMDcKKzoxMEQ1ODAwMEIyNDAwRkQ4MDMyNDAwRkQwMDMzNTEyQ0Q4ODMwNjAwOEQKKzoxMEQ1OTAwMDcwMDAwMDAwMDAwMDAwMDAzODEwRTNDMjg4QzAyMjMwOTQKKzoxMEQ1QTAwMDA4OEM0MjIyMTE4QTAxMkUwMDA4ODg1MjIzMDA4MEEzOTEKKzoxMEQ1QjAwMDJBMDA0QjgwNDIyMkEwQjgwMDIyMjgwODg0MDI4RTA0NTAKKzoxMEQ1QzAwMDMwMDAwMDAwMDAwMDAwMDAwODA1QzQwMDgxMkQyMDQ4NDQKKzoxMEQ1RDAwMDY4MTQ4MDA0MjA4MTAwMkU0MDBCMTIxMjA0MjQ4MTIwNDQKKzoxMEQ1RTAwMDIwNDAwQjk0MzIwNDkwQjkwMDIwNDA0ODEwNEEwMjAxQjgKKzoxMEQ1RjAwMDcwMDAwMDAwMDAwMDAwMDAxODE1QTQwMDg5MjAyMjQwREYKKzoxMEQ2MDAwMDA4OTAxMjI0MDA4OTAwMkU0MDA4OTAwMjI0MDg4OTQwQzYKKzoxMEQ2MTAwMDIyNTAwQkIwMDIyNDIwQjkwOUEyNDQwODkwMDI4NjA0Q0IKKzoxMEQ2MjAwMDYwMDAwMDAwMDAwMDAwMDBBMDE1RTQwMEQ5MDhCMjQwMkUKKzoxMEQ2MzAwMDRDMTAyMzA0MDREOUMxM0U0MDhGOTAwQjA0MDhDMTQwMTQKKzoxMEQ2NDAwMDEyNDAwRjkwNDMyNDA0RjE0MTMwNzgwQzkwMDMyODA0RDkKKzoxMEQ2NTAwMDcwMDAwMDAwMDAwMDAwMDAyODAxODY2NEY5ODAzRTQwNTAKKzoxMEQ2NjAwMDBGOTAwQkU0MDBGOTk4M0U0MDJGMTAwM0E0MDJGOTEwMkMKKzoxMEQ2NzAwMDNFNDAwRjkwMEJFNjQwRjk5MDNFNjAwRjkwMDNDQTAwQzkKKzoxMEQ2ODAwMDYwMDAwMDAwMDAwMDAwMDAyODEwQTAwMEM4NDEzMjAwMjcKKzoxMEQ2OTAwMDBDODAwNzIwMTBDODEwM0UwQzBFODAwM0UwMDRDODAwNjgKKzoxMEQ2QTAwMEJBMDAwRjgxNDMyMDAwRjg3MDNFMDAwRjAwMEIwQTA0RkYKKzoxMEQ2QjAwMDIwMDAwMDAwMDAwMDAwMDAyODA1MzkwMjhFMjBBMzgwMTEKKzoxMEQ2QzAwMDI4RTAwQTM4MTBBRTA0M0RBMThFRTAwMkY4MDA4RTAwN0EKKzoxMEQ2RDAwMDc2ODAwQjYwMDM3ODAwQkU0MDJGODIwQkEwMDNDQTAwNDcKKzoxMEQ2RTAwMDQwMDAwMDAwMDAwMDAwMDAyODA1NEQwMDhCODgyMkMwOEIKKzoxMEQ2RjAwMDE4MzAwMjBDMDA4MzQ0MkNEMDFCMzAxMkNDMDY4MzAwNUYKKzoxMEQ3MDAwMDIwQzEwQjMwODIwQzAxQjMwMDJDNDAwQjMwMDIwQTAwMDgKKzoxMEQ3MTAwMDUwMDAwMDAwMDAwMDAwMDBBMDAxMUMwMDg1MDAyMENDOEIKKzoxMEQ3MjAwMDA4NzAwNjFDODRBNzAxMjlDMDBCNzIyMkRDODA4NzM0OTQKKzoxMEQ3MzAwMDYxODAwQjEwMDI1QzAwQjcwMDJEQzAwQjcwMDJFODAwODYKKzoxMEQ3NDAwMDQwMDAwMDAwMDAwMDAwMDBBODA4MEUwMDhDODAzMUUwQkUKKzoxMEQ3NTAwMDBDRkUwMjNGMDBDNTgwMkRFMDBFNzgwM0RGQTBDN0EwQkQKKzoxMEQ3NjAwMDIxNjAwRjc4MDMxRTgwRjc4MDNERTAwRjc4MDMyQTAyQzYKKzoxMEQ3NzAwMDAwMDAwMDAwMDAwMDAwMDAwODFEQUMwMEY5MDAzRUMwRTEKKzoxMEQ3ODAwMDBGQjAwM0VDMDBGQTAwM0VDMDA2QjAwM0VDODBGQjI4QUIKKzoxMEQ3OTAwMDM2RDg0RkEwMDNFQzEwRkEwMDNFNTAwRjMwMDNDMjA2RkIKKzoxMEQ3QTAwMDYwMDAwMDAwMDAwMDAwMDAwMDA1RkEwMENDODBCM0UwM0IKKzoxMEQ3QjAwMDBGRjgwMzNFMDBDRjkwM0Y2MDRGRjhDMzNFMDBFRjgwNkMKKzoxMEQ3QzAwMDMzRjAwQzdBMDMzRTcwQzU5MDMzRjEwQzc4MDMwMDAwRkYKKzoxMEQ3RDAwMDcwMDAwMDAwMDAwMDAwMDBBODExQjgwMDg3MDAyMUMwMDAKKzoxMEQ3RTAwMDBCNzA0QTFDMDA4NzEwMkRDMDRCNzEwQTNDNDQ4RjEyRUQKKzoxMEQ3RjAwMDIxODYwRDcyMDIxRTAwODcwMDIzNDAwODcwMEEyQTA0NDkKKzoxMEQ4MDAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwOUMwMDg0MDAyNUMwQjMKKzoxMEQ4MTAwMDBCNzEwQTBDMDBBNzEyMkQ4NDBCNzAwQTFDMDBCNzA4QUMKKzoxMEQ4MjAwMDIzNDAwOUYzMUE1Qzg2OTcwODI1NDAwODcwMDIwMDAwMUYKKzoxMEQ4MzAwMDIwMDAwMDAwMDAwMDAwMDAyMDE0Q0MyMDgxMjAyNkMwMjEKKzoxMEQ4NDAwMDBCMzAwMjJDMDA4MjQyMkM4MDBCMzAyMjBDMDg5QjgwNzMKKzoxMEQ4NTAwMDIwRTAwOTIwMDI0RDA4OTIwMDI0RTUwODMwMEEwODA0NUYKKzoxMEQ4NjAwMDMwMDAwMDAwMDAwMDAwMDBBODE1QUU4MkNBRTBCN0MwN0EKKzoxMEQ4NzAwMDBGRjAxMzNDMEFDOUM4M0U0MDBGRjAwMzNDMDRGRjg0N0MKKzoxMEQ4ODAwMDMyQzAwRDkwMTM3QzAwRDkwMEY2QzAyQzEwMDMyQTA0N0UKKzoxMEQ4OTAwMDYwMDAwMDAwMDAwMDAwMDA4MDAwRTQwMEYzMDAzQUMxRDYKKzoxMEQ4QTAwMDRGQjAwM0VDMDBGOTA4M0MwMDBGMzAxM0VDMDBFQjA0MjAKKzoxMEQ4QjAwMEJFMTgwRjkwMjNBQzYwRTkwMjNBNDA0RjkwMDNFMDAwOUQKKzoxMEQ4QzAwMDMwMDAwMDAwMDAwMDAwMDAwMTEwRkMwMENBMDAzM0MwNUUKKzoxMEQ4RDAwMDBDRjAwM0ZDMDBDRDAyN0Y0MDBDRjA0MjNDMDBDRjA4NkUKKzoxMEQ4RTAwMDM3MTAwRkQwMDNGQzEwQ0QwODNGNjYyQ0Q5MDMwMDQ0M0QKKzoxMEQ4RjAwMDMwMDAwMDAwMDAwMDAwMDA4MTA0NjM4MDhCRTAyMkMwNDMKKzoxMEQ5MDAwMDA4QjAyMkVDMDBEODgwNkUyMDY4QjAxQTJDMDFGQjAwMTEKKzoxMEQ5MTAwMDIyMTgwQjg4NDM0QzAwODhBMDJDQzAxRDkwMDIyMDQwODgKKzoxMEQ5MjAwMDEwMDAwMDAwMDAwMDAwMDA4MDAxMDg4MDhCMjAyMkMwNTEKKzoxMEQ5MzAwMDA4QjAyMkVDMDA4ODg4MkU2MjQ4QjAxQUNDMDA4QjAwMTgKKzoxMEQ5NDAwMDI2QzA0QTg4MDJFQzAwMDg4NDJFNDAwOTkwMDIyMDAwN0MKKzoxMEQ5NTAwMDQwMDAwMDAwMDAwMDAwMDAwODA0MDAwMDgzMDA2MEMwRDgKKzoxMEQ5NjAwMDA4MzAwMkNDMDA5MDA2NkMwMDA4MzAwMjhDMDBBMzA0NDIKKzoxMEQ5NzAwMDIwMDA4QjAwMDY0QzIxODAwMDZDQzA0OTEwMEEwMjAxNzcKKzoxMEQ5ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENkMwMENBMDBCMkMxRTEKKzoxMEQ5OTAwMDg4QjQwM0VDMTBDODAwMkUwMDBDQjAwQkJDMDg4RjAwM0MKKzoxMEQ5QTAwMDM2MDAwNjgwMDNFQzgwQzgwMjNGQzEwQzkwMDMwMDAzRTAKKzoxMEQ5QjAwMDUwMDAwMDAwMDAwMDAwMDBBMDFERjAwMEZGMDAzRkMwNkMKKzoxMEQ5QzAwMDBGNzI4M0ZDMThGQzAzM0YwMDhGNzAwMzdDMDBGRjAwODQKKzoxMEQ5RDAwMDNEMDAwRkMwMjM4QzA2RkMwMDNGNDAwRUQwMDNFODA2M0MKKzoxMEQ5RTAwMDcwMDAwMDAwMDAwMDAwMDAwMEM1NDEwMzcwNDBEQzEwMjIKKzoxMEQ5RjAwMDM3MDQwREMxMDM3MDQwREMxMDM3MDQwREMxMDE3MDQwQzUKKzoxMERBMDAwMDlDMTAxNzE0MDVDMTAzNzA0MERDMTAxNzA0MERDMDMxQzEKKzoxMERBMTAwMDAwMDAwMDAwMDAwMDAwMDAwMEM1NDQwNTcxMDE1QzQwRUEKKzoxMERBMjAwMDU3MTAxNUM0MDUyMTAxNUM0MDU3MTAxNUM0MDE3MTAxNDAKKzoxMERBMzAwMDVDNDAxNzEwMDVDNDA1NzEwNTVDNDE1NzEwMTVDMDExRjUKKzoxMERBNDAwMDUwMDAwMDAwMDAwMDAwMDAwMDgwMDIwMTIwODA0ODIwRkIKKzoxMERBNTAwMDEyMDgwNDgyMDEyMDgwNDgyMDEyMDgwNDgyMDEyMDgwREMKKzoxMERBNjAwMDQ4MjAxMjA4MDQ4MjAxMjA4MDQ4MjAxMjA4MDQ4MDIwRTcKKzoxMERBNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDgwMDAwMDYwMDA1ODAwNkUKKzoxMERBODAwMDE2MDAwNTgwMDE2MDAwNTgwMDE2MDAwNTgwMDU2MDAwNDIKKzoxMERBOTAwMDU4MDAxNjE4MDE4MDAxNjAwMDU4MDA1NjAwMDU4MDIwQ0IKKzoxMERBQTAwMDAwMDAwMDAwMDAwMDAwMDAwMEM1NDgwNTIyMDExQzgwQTUKKzoxMERBQjAwMDQ3MjAxMUM4MDQ3MjAxNUM4MDU3MjAxMUM4MDQ3MjQxQ0MKKzoxMERBQzAwMDVDODA1NzIwMTFDODA0NzIwMTFDODA0NzIwMTVDMDMxQUEKKzoxMERBRDAwMDUwMDAwMDAwMDAwMDAwMDAwMEM1NDAwMDYwMDAxODAwNzkKKzoxMERBRTAwMDA2MDAwMTgwMDA2MDAwMTgwMDA2MDAwMTgwMDA2MDAwNTAKKzoxMERBRjAwMDE4MDAwNjAwMDE4MDAwNjAwMDE4MDAwNjAwMDE4MDMxNTcKKzoxMERCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM1NDgwNDIyMDEwODgwNTkKKzoxMERCMTAwMDQyMjAxMDg4MDQyMjAxMDg4MDQyMjAxMDgwMDQyMzAxNDIKKzoxMERCMjAwMDA4ODA0MjIwMTA4ODA0MjIwMTA4MDA0MjIwMTA4MDIxMzEKKzoxMERCMzAwMDAwMDAwMDAwMDAwMDAwMDAwMEM1NEEwNTQyODE1MEEwMUUKKzoxMERCNDAwMDQ0MkMxMTBCMDQ0MjgxMTBFMDU0MjgxMTAyMDA0MjgxNDAKKzoxMERCNTAwMDEwQTA0NDM4MTEwQjA1NDI4MTEwMjExNDI4MTUwMDMxMDIKKzoxMERCNjAwMDUwMDAwMDAwMDAwMDAwMDAwMDgwMEMwMTU3MDA1NEMwNkQKKzoxMERCNzAwMDE1MzAwNDRDMDExMzAwNTRDMDE1NzAwNTRDMDE1MzAwQkUKKzoxMERCODAwMDU0QzAxNTMwODU0QzAxMTMwMDU0QzAxNTMwMDU0MDIxOTgKKzoxMERCOTAwMDQwMDAwMDAwMDAwMDAwMDAwMDgwMDAwMDQwMDAxMDAwNzUKKzoxMERCQTAwMDA0MDAwMDQwMDAxMDAwMTA2MjA0MDAwMTA4MDQ0MTAwNUQKKzoxMERCQjAwMDEwMDA0NDE4MTEwMDAwMTAwMDEwODAwNDAwMDEwMTIwMjIKKzoxMERCQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ1NjAwMjA4MDA4MjAwMjQKKzoxMERCRDAwMDIwODAwODYwMDIxODAwODIwMDIwODAwODIwMDAwODIwQjEKKzoxMERCRTAwMDgyMDAwMDgwODAyMDAyMTgwMDgyMDAyMDgwMDgwMTMxMUQKKzoxMERCRjAwMDUwMDAwMDAwMDAwMDAwMDAwMEM1NDAwNTY0MDE1ODAwMEUKKzoxMERDMDAwMDU2MDAxNTgwMDU2MDAxNTgwMDU2NDAxNTgwMDU2MDAxREEKKzoxMERDMTAwMDU4MDA1NjAwMTU4MDA1NjAwMTU4MDA3NjAwMTU4MDMxQzcKKzoxMERDMjAwMDAwMDAwMDAwMDAwMDAwMDAwMEM1NDAwMzYwMDBEODAwQjQKKzoxMERDMzAwMDM2MDAwRDgwMDM2MDAwOTgwMDM2MDAxRDg4MDU2MDAwRTYKKzoxMERDNDAwMEQ4MDAxNjAwMEQ4MDAzNjAwMEQ4ODA0NjAwMEQ4MDMxOUEKKzoxMERDNTAwMDAwMDAwMDAwMDAwMDAwMDAwMEM1NDIwNDMwODEwQzIwREMKKzoxMERDNjAwMDQzMDgxMEMyMDQzMDgxMEMyMjQxMDgxOEMyMDQzMDg5RDQKKzoxMERDNzAwMDBDMjAwMzA4MTBDMjA0MzA4MTBDMjA0MzA4MTBDMDEwOEYKKzoxMERDODAwMDUwMDAwMDAwMDAwMDAwMDAwMDgwMDAwMDMwMDAwQzAwODgKKzoxMERDOTAwMDAzMDAwMEMwMDAzMDAwMEMwMDAzMDAwMEMwMDAzMDAwOTIKKzoxMERDQTAwMDBDMDAwMzAwMDBDMDAwMzAwMDBDMDAwMzAwMDBDMDAxQTUKKzoxMERDQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDgwMDIwMTMwODA0QzIwQzUKKzoxMERDQzAwMDEzMDgwNEMyMDEzMDgwNEMyMDEzMDgwNEMzMDEzMDgwQzMKKzoxMERDRDAwMDRDMjAxMzA4MDRDMjAxMzA4MDRDMzAxMzA4MDRDMDIxQ0EKKzoxMERDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMEM1NDIwNTYwODE1ODIwQ0YKKzoxMERDRjAwMDU2MDgxMTgyMDU2MDgxNTgyMDU2MDgxMTgzMDA2MDgxMDIKKzoxMEREMDAwMDU4MjA0NjA4MTE4MjA0NjA4MTE4MzA1NjA4MTU4MDMwNkEKKzoxMEREMTAwMDUwMDAwMDAwMDAwMDAwMDAwMEM1NDIwMDIwODAwODIwRTQKKzoxMEREMjAwMDAyMDgwMDgyMDAyMDgwMDgyMDAyMDgwMDgyMDAzMDgwNjMKKzoxMEREMzAwMDA4MjAwMjAwMDA4MjAwMjA4MDA4MjAwMzA4MDA4MDMxQjMKKzoxMERENDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM1NDIwNDYwODExODIwQUYKKzoxMERENTAwMDQ2NDgxMTkyMDQ2MDgxMTkyMDQ2MjgxMTgyMDAzNDgxQkUKKzoxMERENjAwMDE4MjA0NjQ4MTE5MjA0NjA4MTE4MjA0MzA4MTE4MDExNDAKKzoxMERENzAwMDAwMDAwMDAwMDAwMDAwMDAwMEM1NjAwNDU4MDE1NjAwQ0IKKzoxMEREODAwMDU1ODAxNTYwMDQ1ODAxMTYwMDU1ODAwMTYwMDQxODAxODMKKzoxMEREOTAwMDU2MDA0NTgwMTE2MDA0NTgwMTE2MDA0MTgwMTE0MDMxNDEKKzoxMEREQTAwMDUwMDAwMDAwMDAwMDAwMDAwMDgwMDYwMTQxODA1MDYwMkIKKzoxMEREQjAwMDE0MTgwNTA2MDE0MTgwNTA2MDA0MTgwNTA2MDA0MTgwRDIKKzoxMEREQzAwMDEwNjAxNDE4MDUwNjAxNDE4MDUwNjAxNDE4MDUwMDIwRTkKKzoxMERERDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIwMTAwODA0MDIwNjAKKzoxMERERTAwMDEwNDgwNDEyMDEwMDgwNDEyMDEwMDgwNDAyMDEwNDgwNDAKKzoxMERERjAwMDQwMjA1MDQ4MDQxMjAxMDA4NDQwMjAxMDA4MDQwMDIwRjQKKzoxMERFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM1NDYwMzUxODBENDYwRkYKKzoxMERFMTAwMDMwMTgwRDQ2MDM1MTgwRDU2MDM1MTgwRDQ2MDMwNTgwMzYKKzoxMERFMjAwMEQ0NjAxNTE4MEQ0NjAzMTE4MEQ0NjAzNTE4MEQ0MDMxQUIKKzoxMERFMzAwMDUwMDAwMDAwMDAwMDAwMDAwMEM1NDYwNTcxODA1QzYwRDUKKzoxMERFNDAwMDk3MTgxNUM2MDU3MTgxNUMyMDU3MTgxNUM2MDM3MDgxOTcKKzoxMERFNTAwMDVDNjA1NzE4MTFDNjA1MzE4MTVDNjA3NzE4MTVDMDMxQjgKKzoxMERFNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ1NDYwMzcxODBEQzYwRjcKKzoxMERFNzAwMDM3MTgwREM2MDM3MTgwREQ2MDM3MTgwNUM2MDE3NTgxM0UKKzoxMERFODAwMERDNjAzNzE4MERDNjAzNzE4NDVDNjAxNzE4MTlDMDExNjcKKzoxMERFOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ1NDYwNTcxODE1QzYwNDQKKzoxMERFQTAwMDU3MTgxNDg2MDU3MTgxNUM2MDU3MTgwNUM2MDQzMTgxQzYKKzoxMERFQjAwMDVDNjA1NzE4MTVDNjA1NzE4MDVDNjA0MzE4MTVDMDExNjkKKzoxMERFQzAwMDUwMDAwMDAwMDAwMDAwMDAwMDAwMDIwMTIwODA0ODIwRjcKKzoxMERFRDAwMDEyMDgwNDgyMDEyMDgwNDgyMDEyMDgwNDgyMDE3MDgwMDgKKzoxMERFRTAwMDQ4MjAxMjA4MDQ4MjAxMjA4MDQ4MjAxNzA4MDQ4MDAwN0UKKzoxMERFRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYwMTYxODA1ODYwODIKKzoxMERGMDAwMDE2MTg0MTg2MDE2MTgwMTg2MDA2M0MwNTg2MDQ2MTgwMTAKKzoxMERGMTAwMDE4NjAxNjE4MDE4NjAwNjE4MDU4NjA1NjE4MTU4MDEwMjgKKzoxMERGMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ1NDAwNTcwMDE1QzAwOUEKKzoxMERGMzAwMDU3MDAxNUMwMDQ3MDAxNUMwMDU3MDAxMEMwMDQ3MDAwNDkKKzoxMERGNDAwMDFDMDA0NzAwMTFDMDA0NzAwMTVDMDA0NzAwMDFDMDExQjMKKzoxMERGNTAwMDUwMDAwMDAwMDAwMDAwMDAwMDQ1NDIwMDYwODAxODIwRDIKKzoxMERGNjAwMDA2MDgwMTgyMDA2MDgwMTgyMDA2MDgwMDgyMDA2MDgwOTgKKzoxMERGNzAwMDE4MjAwNjA4MDE4MjAwNjA4MDE4MjAwNjA4MDE4MDExMjAKKzoxMERGODAwMDQwMDAwMDAwMDAwMDAwMDAwMDA1NDIwNDIwODEwODIwM0QKKzoxMERGOTAwMDQyMDgxMDgyMDQyMDgxMDgyMDQyMDgxMTgyMDQyMDgwNTcKKzoxMERGQTAwMDA4MjA0MjA4MTA4MjA0MjA4MTA4MjA0MjA4MDA4MDExQzUKKzoxMERGQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ1NDIwNTQwODE1MDIwQTQKKzoxMERGQzAwMDU0MDgxNTAyMDU0MDgxMTAyMDU0MEMxNTQyMDA0MDgxNzAKKzoxMERGRDAwMDUwMjA0NDA4MTEwMjA1NDA4MTEwMjAxNDA4MDUwMDExNEEKKzoxMERGRTAwMDUwMDAwMDAwMDAwMDAwMDAwMDAxMDMwMTUwQzA1NDMwNDgKKzoxMERGRjAwMDE1MDgwNTQyMDE1MEMwNTQzMDE1MEMwNTQzMDE1MEMwQUUKKzoxMEUwMDAwMDU0MzAxNTBDMDU0MjAxNTBDMDU0MzAxNTBDMDU0MDEwMTkKKzoxMEUwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgwMDQyMDAxMDgwMjYKKzoxMEUwMjAwMDA0MjAwMTg4MDA2MjAwMTA4MDA0MDAxMTA4MDA0MjAwRjIKKzoxMEUwMzAwMDEwODAwNDIwMDEwODAwNDIwMTEwODAwNDIwMDEwMDAwMkIKKzoxMEUwNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ1NDIwMjAwODA4MDIwMjcKKzoxMEUwNTAwMDIwMDgwODAyMDIyMDgwODAyMDIwMjgwMDAyMDIwMDgwODAKKzoxMEUwNjAwMDgwMjAyMDBBMDgwMjAyMDA4MDAwMjAyMDA4MDgwMDExRjkKKzoxMEUwNzAwMDUwMDAwMDAwMDAwMDAwMDAwMDQ1NDAwNTYwMDE1ODAwMEQKKzoxMEUwODAwMDU2MDAwNTgwMDU2MDAxNTgwODU2MDAxNTgwMDc2MDAyOUIKKzoxMEUwOTAwMDU4MDA1NjQwMTU4MDA1NjAwMzE4MDA3NjAwMTU4MDExNjEKKzoxMEUwQTAwMDAwMDAwMDAwMDAwMDAwMDAwMEM1NDAwMzYwMDBEODAwMzAKKzoxMEUwQjAwMDM2MDAwRDgwMDE2MDAwRDgwQTM2MDAwRDgwMDU3MDA5MTkKKzoxMEUwQzAwMEQ4MDEzNjAwMEQ4MDAzNjAwMEQ4MDA1NzAwMEQ4MDAwOTUKKzoxMEUwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDMwMDEwQzAwRkYKKzoxMEUwRTAwMDQzMDAxMEMwMDAzMDAxMEMwMDQzMjAxMEMwMDQ2MDAxNDgKKzoxMEUwRjAwMDBDMDA0MzQwNTBDMTA0MzAwMTBDMDA0NjAwMTBDMDAwMjkKKzoxMEUxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMwMDAwQzAwRDMKKzoxMEUxMTAwMDAxMDAwMEMwMDAzMDAwMEMwMDAzMDAwMEQwMDAyMDAwMEYKKzoxMEUxMjAwMDBDMDAwMzQwMDBDMDAwMzAwMDBEMDAwMjAwMDBDMDAwRTEKKzoxMEUxMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUwMTMxNDA0QzUwQ0MKKzoxMEUxNDAwMDEzMTAwNEM0MDEzMTQwNEM1MDEzMTQwNEM1MTEzMTQxNjMKKzoxMEUxNTAwMDRDNTAxMzE0MDRDNTAxMzE0MDRDNTAxMzE0MDRDMDAwM0EKKzoxMEUxNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjMwNTY4QzE1QTMwRDQKKzoxMEUxNzAwMDU2OEMxMUEzMDQ2OEMxMUEzMDU2OEMxMUEzMDU2OEMwQ0YKKzoxMEUxODAwMDVBMzA0NjhDMTFBMzA0NjhDMTVBMzAxNjhDMTU4MDAwOTEKKzoxMEUxOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIwMDAwODAwNTcKKzoxMEUxQTAwMDAyMDAwMDgwMDAyMDAwMDgwMDAyMjAwMDkwMDAyMDAwRjMKKzoxMEUxQjAwMDA4MDAwMjQwMDA4MDAwMjAwMDA5MDAwMjAwMDA4MDAwRUEKKzoxMEUxQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg0NDYyMDExODg0MDQKKzoxMEUxRDAwMDQ2MjExMTg4NDQ2MjExMTg4NDQ2MDExMTg4NDQ2MjEwNTYKKzoxMEUxRTAwMDE4ODQ0NjIxMTE4ODQ0NjIxMTE4ODQwNjIxMTE4MDAwODgKKzoxMEUxRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NTUwMTE1NDA0MjEKKzoxMEUyMDAwMDU1MDExMTQwNDU1MDExMTQwMDQ1MDExMTQwNDQ1MDAwODIKKzoxMEUyMTAwMDE0MDQ0NTAwMTU0MDQ0NTAxMTE0MDQ1NTAxMTE0MDAwRTgKKzoxMEUyMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgyMTQyMDg1MDgyQTkKKzoxMEUyMzAwMDE0MjA4NTA4MjE0MjA4NTA4MjA0MjA4NTA4MjE0MjA4QzQKKzoxMEUyNDAwMDUwODIxNDIwMDUwODIxNDIwODUwODIxNDIwODUwMDAwQzUKKzoxMEUyNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEwMTAyODA0MEEwNTEKKzoxMEUyNjAwMDEwMjgwNDBBMDEwMjgwNDBBMDEwMjg0MDBBMDEwMjgwMDAKKzoxMEUyNzAwMDQwQTAxMDI4NDQwQTAxMDI4MDQwQTAxMDI4MDQwMDAwOTkKKzoxMEUyODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMwMzUzMDBENEMwOTgKKzoxMEUyOTAwMDM1MzAwRDRDMDE1MzAwRDRDMDM1MTAwQzRDMDM1MzAwRTUKKzoxMEUyQTAwMEQ0QzAzNTMwMEQ0QzAzNTMwMEQ0QzAzNTMwMEQ0MDAwODAKKzoxMEUyQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgwNTcyMDE1QzgwMDIKKzoxMEUyQzAwMDE3MjAwNUM4MDY3MjAxNUM4MDU3MjAxNUM4MDI3MjAxMkMKKzoxMEUyRDAwMDVDODA1NzIwMTVDODA1NzIwMTVDODAzNzIwMTFDMDAwOTIKKzoxMEUyRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjMxODQwQzYxMjMxQUEKKzoxMEUyRjAwMDg0OEMyMTIzMDg0OEM2MTIzMDg0MEM2MTIzMTA0OEMyNDQKKzoxMEUzMDAwMDEyMzE4NDhDMDEyMzA4NDhDNjEyMzEwNDhDNjEwMDAwNEMKKzoxMEUzMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0ZGRjRGRkZEM0ZGOUYKKzoxMEUzMjAwMEY0RkZGRDNGRkY0RkZGRDNGRkY0RkZGRDNGRkY0RkZGMjMKKzoxMEUzMzAwMEQzRkZGNEZGRkQzRkZGNEZGRkQzRkZGNEZGRkQwMDAwQ0QKKzoxMEUzNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0QKKzoxMEUzNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkQKKzoxMEUzNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUQKKzoxMEUzNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkNEQjBGQjZDMkNENDIKKzoxMEUzODAwMEIwQjM2QzJDREIwQjM2QzJERkIwQjM2QzJDREIwQjdFNzYKKzoxMEUzOTAwMEMyQ0RCMEI3RkQyQ0RCMEIzNkMyQ0RCMEIzNkMwMDAwRTQKKzoxMEUzQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzMzQzRGQ0YxMzMzOUEKKzoxMEUzQjAwMEM0Q0NGMTMzM0M0Q0NGMTMzRkM0Q0NGMTMzM0M0Q0ZGQzUKKzoxMEUzQzAwMDEzMzNDNENGRkQzMzNDNENDRjEzMzNDNENDRjEwMDAwMjYKKzoxMEUzRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0I3RTRFREY5M0I3MEQKKzoxMEUzRTAwMEU0RUM3OTNCMUU0RURGOTNCRkU0OERGOTNCNzg0RUZGQTIKKzoxMEUzRjAwMDkzQjdFNEVERkQzQjFFNEVERjkzQjc4NEVERjkwMDAwQ0IKKzoxMEU0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMjcwNDA5QzEwQUQKKzoxMEU0MTAwMDI3MUMwOUMxMDEzMDQwMUMxMDY3MDQwOUMxMDI3MDQxNkEKKzoxMEU0MjAwMDlDMTEwNzE0MDFDMTAyNzA0MDlDNTAwNzFDMDFDMDAwRTAKKzoxMEU0MzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQwNTcxMDE1QzQwQzUKKzoxMEU0NDAwMDU3MTA1NUM0MDEzMTAwNUM0MDU3MTAxNUM0MDU3MTAxQzcKKzoxMEU0NTAwMERDNDAxNzE4MURDNDA1NzEwNTVDNDA1NzEwMURDMDAwMzUKKzoxMEU0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIwMTIwODA0ODIwQTEKKzoxMEU0NzAwMDEyMDAwNDgyMDEyMDgwNDgyMDEyMDgwNDgyMDEyMDgwQkEKKzoxMEU0ODAwMDQ4MjAxMjA4MDQ4MjAxMjA4MDQ4NjAxMjA4MDQ4MDAwOUQKKzoxMEU0OTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYwMDAxODAwMDQKKzoxMEU0QTAwMDA2MDA0MTgwMDA2MDAwMTgwMDQ2MDAwMTgwMDA2MDAwMDYKKzoxMEU0QjAwMDEwMDAwNjEwMDE4MDAwNjAwMDE4MjA0NjEwMDE4MDAwNDYKKzoxMEU0QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgwNDcyMDExQzgwMzEKKzoxMEU0RDAwMDQ3MjAxMUM4MDQ3MjAxMUM4MDA3MjAxMUM4MDQ3MzAwNzIKKzoxMEU0RTAwMDFDODA0NzIwMTFDQzA0NzIwMTFDODA0NzIwMTFDMDAwMDEKKzoxMEU0RjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYwMDAxODAwQTQKKzoxMEU1MDAwMDA2MDAwMTg0MDA2MDAwMTgwMDA2MDAwMTgwMDA2MDQwRTEKKzoxMEU1MTAwMDE4MDAwNjA0MDE4MTAwNjAwMDE4MDAwNjE0MDE4MDAwNDQKKzoxMEU1MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgwNDIyMDEwODgwMzQKKzoxMEU1MzAwMDQyNzAxMDhDMDQyMjAxMDhDMDAyMjAxMDg4MDQyMjAwQkUKKzoxMEU1NDAwMDA4ODA0MjUwMTAwODA0MjIwMTA5MDA0MjQwMTA4MDAwNTcKKzoxMEU1NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkUwNDRBODExMkEwMEMKKzoxMEU1NjAwMDQ0QTgxMTJBMDQ0QTgxMTJBMDA0QTgxMTJBMDQ0QjgwNEQKKzoxMEU1NzAwMDEyQTA0NDg4MDEyRTA0NEE4MTEyMjAwNDk4MDEwMDAwNTAKKzoxMEU1ODAwMDAwMDAwMDAwMDAwMDAwMDAwOEMwMEUwMDUzMDAxNEMwOEUKKzoxMEU1OTAwMDA1MzAwMTRDMDA1MzAwMTRFMDA1MzAwMTRDMDA1MzAwREQKKzoxMEU1QTAwMDA0QzAwNTMwMDA0QzAwMDMwMDE0QzAwNTMwMDA0MDEwQ0EKKzoxMEU1QjAwMDAwMDAwMDAwMDAwMDAwMDAwOEMwMDQwMDQwMDAxMDAwM0YKKzoxMEU1QzAwMDA0NTgwMTA0MDA0MDAwMTAwMDA0MDAwMTAwMDA0MTAwNTQKKzoxMEU1RDAwMDA0MDA0NDU4MTA0NDAwMDAwMDExODAwNDUwMTA0MDMwRTIKKzoxMEU1RTAwMDAwMDAwMDAwMDAwMDAwMDAwOEMwNDAwMjAwMDA4MDAwQTEKKzoxMEU1RjAwMDIwMDAwODAwNDAwMDAwMDAwMDIwMDAwODAwMDIwMDAwODkKKzoxMEU2MDAwMDg0MDAwMDAwMDg0MDAyMDAwMDgwMDAyMDAwMDg0MDMwMjQKKzoxMEU2MTAwMDAwMDAwMDAwMDAwMDAwMDAwOEMwNDAwMDYwMDExODAwNzkKKzoxMEU2MjAwMDQ2MDAwMTgwMDY2MDAxOTgwMDQ2MDAxMTgwMDQ2MDAxRTgKKzoxMEU2MzAwMDE4MDA0NjAwMTE4MDA0MjAwMTE4MDA2NjAwMTE4MDMwODcKKzoxMEU2NDAwMDAwMDAwMDAwMDAwMDAwMDAxMDAxNDAwMDYwMDA5ODAwODEKKzoxMEU2NTAwMDI2MDAwOTgwMDI2MDAxOTgwMDA2MDAwQzgwMDI2MDAwMUMKKzoxMEU2NjAwMDE4MDAwNjAwMDE4MDAyNjAwMDk4ODAwNjAwMDE4MjAwMDgKKzoxMEU2NzAwMDAwMDAwMDAwMDAwMDAwMDA0MDQ1NDIwMDMwODEwQzIwRjYKKzoxMEU2ODAwMDQzMDgxMEMyMjQzMDgxOEMyMDAzMDgxMEMyMDQyMDgwNkIKKzoxMEU2OTAwMDBDMjAwMzA4MThDMjA0MzA4MTBDMjA0MzA4MThDMDExNTQKKzoxMEU2QTAwMDUwMDAwMDAwMDAwMDAwMDA0MDAwMDAwMDMwMDAwQzAwOUUKKzoxMEU2QjAwMDAzMDAwMEMwNDAzMDAwMEMwMDAzMDAwMDgwMDAzMDAwNjgKKzoxMEU2QzAwMDBDMDAwMzIwMDBDMDAwMzAwMDBDMDAwMzIwMDBDMDAwM0MKKzoxMEU2RDAwMDAwMDAwMDAwMDAwMDAwMDA0MDAxMDIxMDMwODAwQzIwMEIKKzoxMEU2RTAwMDAzMDgwMEMyMDAzMDgwMEMyMDAzMDgwMEMyMDEyMDgwMTMKKzoxMEU2RjAwMDBDMjAwMzJDMDBDMjAwMzA4MDBDMzA0MzJDMDBDMDAwRTIKKzoxMEU3MDAwMDQwMDAwMDAwMDAwMDAwMDA0MDQ1NDIwNDYwODExODIwRTUKKzoxMEU3MTAwMDQ2MDgxMTgyMDQ2MDgwMTgyMDQ2MDgxMTgyMDQ2MDgxMzYKKzoxMEU3MjAwMDE4MjA0NjBDMTFDMjA0NjA4MTE4MzA0NjBDMTFDMDExMkIKKzoxMEU3MzAwMDUwMDAwMDAwMDAwMDAwMDA0MDAxNDIwMDIwODAwODIwM0UKKzoxMEU3NDAwMDAyMjgwMDgyMDAyMDgwMDgyMDAyMDgwMDgyMDAyMDgwMjkKKzoxMEU3NTAwMDA4MjAwMjA4MDE4MjAwMjA4MDA4MjAwMzA4MDE4MDAwQjAKKzoxMEU3NjAwMDAwMDAwMDAwMDAwMDAwMDA1MDAxNDIwNDYwODExODIwRjkKKzoxMEU3NzAwMDQ2MjgxMTgyMDQ2MDgwMTgyMDQ2MDgxMTgyMDQ2MDgxQjYKKzoxMEU3ODAwMDE4MjA0NjA4MTA4MjA0NjA4MTE4MjA0MzA4MTA4MDAwNzkKKzoxMEU3OTAwMDAwMDAwMDAwMDAwMDAwMDA0MDQ1NDAwNDUwMDExNDAwNEIKKzoxMEU3QTAwMDQ1MDAxMTQwMjUwMDAwMTQwMDQ1MDAxMTQwMDQ1MDAxQUYKKzoxMEU3QjAwMDE0MDA0NTAwMDA0MDA0NTAwMTQwMDAwMTAwMDA0MjExRDcKKzoxMEU3QzAwMDUwMDAwMDAwMDAwMDAwMDA0ODAwMDYwMDQxODAxMDYwN0EKKzoxMEU3RDAwMDA0MTgwMTA2MDA0MTgwMTA2MDA0MTgwMTA2MDA0MTgwMDEKKzoxMEU3RTAwMDEwNjAwNDE4MDEwNjAwNDE4MDEwNjAwNDE4MDEwMDAwNDgKKzoxMEU3RjAwMDAwMDAwMDAwMDAwMDAwMDA0ODAwMDIwNTAwODA0MDIxRTkKKzoxMEU4MDAwMDEwMDgwNDAwMDEwMDgwNDAyMDEwMDgwNDAyMDEwMDgwNkMKKzoxMEU4MTAwMDQwMjA1MDA4MTQwMjExMDA4NDQwMjAxMDA4MTQwMDAwMDkKKzoxMEU4MjAwMDAwMDAwMDAwMDAwMDAwMDA0MDQ1NDYwMTUxODBENDYwMTcKKzoxMEU4MzAwMDM1MTgwRDQ2MDM1MTgwRDQ2MDE1MTgwRDQ2MDM1MTgwREMKKzoxMEU4NDAwMDU0NjAxNTE4MEQ0NjAzNTE4MEQ0NjAzNTE4MEQ0MDExRTEKKzoxMEU4NTAwMDUwMDAwMDAwMDAwMDAwMDAwMDAxNDYwNDcxODExQzYwQUYKKzoxMEU4NjAwMDQ1MTgxMUQ2MDQ3MTgxMUM2MDY3MTgxMUM2MDQ3MTgxQTYKKzoxMEU4NzAwMDlDNjA0NzE4MTFDNjA0NzE4MTFDNjA2NzE4MTFDMDAwQTQKKzoxMEU4ODAwMDAwMDAwMDAwMDAwMDAwMDA0MDA1NDYwMjcxODA5QzYwMEUKKzoxMEU4OTAwMDI3MTgwOUM2MDA3MTgwOUM2MDY3MTgwOUM2MDI3MTgwM0MKKzoxMEU4QTAwMDlDNjEyNzE4MDFDNjAyNzE4MDlDNjAwNzE4MDFDMDAwOTYKKzoxMEU4QjAwMDAwMDAwMDAwMDAwMDAwMDA1MDQ1NDYwNTcxODE1QzYwQ0EKKzoxMEU4QzAwMDU3MTg1NUQ2MDE3MTgxNUM2MDU3MTgxNUM2MDU3MTgxQkUKKzoxMEU4RDAwMDVDNjA1NzE4MThDNjA1NzE4MTVDNjA0MzE4MTg4MjExNzYKKzoxMEU4RTAwMDUwMDAwMDAwMDAwMDAwMDA0MDA0NTIwMTIwODA0ODIwMzkKKzoxMEU4RjAwMDEyNDgwNDkwMDEyMDgwNDkyMDEyMDgwNDgyMDEyNDgwREIKKzoxMEU5MDAwMDQ4MjAxMjQ4MDA5MjAxMjA4MDQ4MjAxNzQ4MDQ4MDAxQzYKKzoxMEU5MTAwMDAwMDAwMDAwMDAwMDAwMDA0MDAwMDYwMDYxODAxODYwNTgKKzoxMEU5MjAwMDA2M0MwMTg2MDA2MTgwMTg2MDQ2MTgwMTg2MDA2MTgwRkYKKzoxMEU5MzAwMDE4NjAwNjE4MDE4NjAwNjE4MDE4NjA0NjE4MDE4MDAxODEKKzoxMEU5NDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQxNjAwNDc4MDExRTAwOEIKKzoxMEU5NTAwMDQ3ODAxMUUwMjQ3ODAxMUUwMDA3ODAxMUUwMDQ3ODAxNEYKKzoxMEU5NjAwMDFFMDA0NzgwMTFFMDA0MzgwMTFFMDA0NzgwMTFDMDExQ0QKKzoxMEU5NzAwMDUwMDAwMDAwMDAwMDAwMDA0MDAxMTIwMDYwODAxODIwREMKKzoxMEU5ODAwMDA2NDgwMTkyMDA2MDgwMTkyMDA2MDgwMTgyMDA2NDgwMTgKKzoxMEU5OTAwMDE4MjAwNjQ4MDE5MzAwMjA4MDE4MjAwNjQ4MDE4MDAwQjYKKzoxMEU5QTAwMDAwMDAwMDAwMDAwMDAwMDA0MDAxNDIwNDIwODEwODIwMTcKKzoxMEU5QjAwMDQyMDgxMDgyMDQyMDgxMDgyMDAyMDgxMDgyMDQyMDgxNkQKKzoxMEU5QzAwMDA4MjA0MjA4MTA4QTA0NjA4MTA4MjA0MjA4MTA4MDAwNTQKKzoxMEU5RDAwMDAwMDAwMDAwMDAwMDAwMDA0MDQ1NDIwNDQwODExMDIwN0IKKzoxMEU5RTAwMDQ0MDgxMTAyMDQ0MDgxMTAyMDA0MDgxMTAyMDQ0MDgxRUYKKzoxMEU5RjAwMDEwMjE0NDA4MDEwMjA0NTA4MTEwMjAwNDA4MDEwMDExNzQKKzoxMEVBMDAwMDUwMDAwMDAwMDAwMDAwMDA0MDAwMDMwMDUwQzAxNDMwMUYKKzoxMEVBMTAwMDA1MEMwMTQzMDA1MEMwMTQzMDA1MEMwMTQzMDA1MDgwMjgKKzoxMEVBMjAwMDE0MzAwNTA4MDE0QTAwNTBDMDE0MzAwNTA4MDE0MDAwQTgKKzoxMEVBMzAwMDAwMDAwMDAwMDAwMDAwMDA0MDAwMDgwMDQyMDAxMDgwQkMKKzoxMEVBNDAwMDA0MjAwMTA4MDA0MjAwMTA4MDA0MjAwMTA4MDA0MjAwNTgKKzoxMEVBNTAwMDEwODAwNDIwMTEwMDAwNDIwMDEwODAwNDIwMTEwMDEwREEKKzoxMEVBNjAwMDQwMDAwMDAwMDAwMDAwMDA0MDQ1NDIwMjAwODA4MDIwN0QKKzoxMEVBNzAwMDIwMDgwODAyMDAwMDgwODAyMDIwMDgwODAyMDIwMDgwOTAKKzoxMEVBODAwMDgwMjAyMDA4MDgwMjAyMDA4MDgwMjAyMDA4MDgwMDExNTEKKzoxMEVBOTAwMDUwMDAwMDAwMDAwMDAwMDA0MDAxNDAwMDYwMDExODAwMkMKKzoxMEVBQTAwMDQ2MDAxMTgwMDY2MDAxMTgwMDQ2MDAxMTgwMDQ2MDAxRDQKKzoxMEVBQjAwMDE4MDA0NjAwMTE4MDA0NjAwMTE4MDA2NjAwMTE4MDEwRTMKKzoxMEVBQzAwMDAwMDAwMDAwMDAwMDAwMDA0MDAxNDAwMjY0MDA5ODAwQzcKKzoxMEVBRDAwMDI2MDAwOTkwMDY2MDAxOTgwMDI2NDAwOTgwMDI2MDAwMjcKKzoxMEVBRTAwMDk4MDAyNjAwMDA5MDAyNjAwMDk4MDAwNzAwMDE4MDAwNTYKKzoxMEVBRjAwMDAwMDAwMDAwMDAwMDAwMDA0MDQ1NjAwNDM4MDUwRTAwRTIKKzoxMEVCMDAwMDQzODAxMEUwNDQzODAxMEUwMDQzODAxMEUwMDQzODAxRDcKKzoxMEVCMTAwMDBFMDA0MzgwMThBMDA0MzgwMTBFMDA0NjgwMTg4MDExQjIKKzoxMEVCMjAwMDUwMDAwMDAwMDAwMDAwMDA1MDAwMDEwMDMwNDAwQzEwQjgKKzoxMEVCMzAwMDAzMDQwMEM1MDAzMDQwMEMxMDAzMTQwMEMxMDAzMDQwMzUKKzoxMEVCNDAwMDBDMTAwMzA0MDA4NzQwMzA0MDBDMTAwMjA0MDA4MDAwQzkKKzoxMEVCNTAwMDAwMDAwMDAwMDAwMDAwMDA0MDA0MDUwMDM1NDAwQzUwOUIKKzoxMEVCNjAwMDAzMTQwMEQ1MDQzMTQxMEM1MDAzNUMwMEM1MDAzMTAwOTIKKzoxMEVCNzAwMDBDNTAwMzEwMDA5NDAwMzE0MDBDNTA0MzEwMDBDMjAwQjAKKzoxMEVCODAwMDAwMDAwMDAwMDAwMDAwMDA0MDQ1NDMwNTIwQzExODMwOEYKKzoxMEVCOTAwMDQ2MEMxMTk3MDA2MEMwMTgzMDQ2MUMxMTgzMDQ2MEMxRjgKKzoxMEVCQTAwMDE4MzA1MjBDMTE4NzA0NjBDMTE4MzA0NjBDMTE4MDExQzYKKzoxMEVCQjAwMDUwMDAwMDAwMDAwMDAwMDA0MDAxMDAwMDIxNDAwODAwNUIKKzoxMEVCQzAwMDAyMDAwMDgwMDAyMDAwMDgwMDAyMDAwMDgwMDAyMDAwRjkKKzoxMEVCRDAwMDA4MDAwMjAwMDA4MDAwMjAwMDA4MDAwMjAwMDA4MDAwMDEKKzoxMEVCRTAwMDAwMDAwMDAwMDAwMDAwMDA0MDAxNDg0NDIyMDExODg0OTkKKzoxMEVCRjAwMDQ2MjExMTk4MDA2MjEwMTg4NDQ0MjAxMTg4NDQ2MjExNDMKKzoxMEVDMDAwMDE4ODQ0MjIxMTE4MDQ0NjIxMTE4ODQ0NjIxMTE4MDAwMjkKKzoxMEVDMTAwMDAwMDAwMDAwMDAwMDAwMDA0MDQ1NDAwNDUwMTExNDA0QjIKKzoxMEVDMjAwMDQ1MDAxMTQxMDA1MDEwMTQwMDQ1MDExMTQwNDQ1MDExOUQKKzoxMEVDMzAwMDE0MDQ0NTAxMDE0MDQ0NTAxMTE0MDQwNTAxMDE0MDExMjAKKzoxMEVDNDAwMDUwMDAwMDAwMDAwMDAwMDA0MDAwMDgyMDQyMDgxMDgyMzAKKzoxMEVDNTAwMDA0MjAwMTA4MjA0MjA4MTA4MjA0MjA4MTA4MjA0MjA4NzQKKzoxMEVDNjAwMDEwODIwNDIyODEwODIwNTIwODEwOEEwNDIyODEwMDAwQTgKKzoxMEVDNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MEEwMTAyODQ0MEExMUUKKzoxMEVDODAwMDEwMjgwMDBBMDEwMjgwNDBBMDEwMjgwNDBBMDEwMjgwMTYKKzoxMEVDOTAwMDQwQTAxMDJDMTQwQTAwMDI4MDQwQjAxMDJDMTQwMDAwNzgKKzoxMEVDQTAwMDAwMDAwMDAwMDAwMDAwMDA0MDQ1NEQwMzUzNDBENEQwNTgKKzoxMEVDQjAwMDM1MzAwQzREMDM1MzQwRDREMDM1MzQwRDREMDM1MzQwMDMKKzoxMEVDQzAwMEQ0RDAzNTM0MEQ0RDAyMTM0MEQ0RDAzNTM0MEQ0MDExMUQKKzoxMEVDRDAwMDUwMDAwMDAwMDAwMDAwMDA0MDAxMDgwNDcyMDExQzgwODgKKzoxMEVDRTAwMDQ3MjAxNUM4MDQ3MjAxMUM4MDQ3MjAxMUM4MDQ3MjExMDYKKzoxMEVDRjAwMDFDODA0NzI2MTFDODQ0NzIwMTFDOTA2NzI2MTFDMDAwNzEKKzoxMEVEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjMwODQwQzYxMjMxOEYKKzoxMEVEMTAwMDg0OEMwMTAzMDg0OEM2MTIzMDg0MEM2MTIzMTg0OEMyNTEKKzoxMEVEMjAwMDEyMzE4NDhDMDEwMzA4NDhDNjEyMzEwNDhDMDEwMDAwQTIKKzoxMEVEMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0ZGRjRGRkZEM0ZGNzUKKzoxMEVENDAwMEY0RkZGRDNGRkY0RkZGRDNGRkY0RkZGRDNGRkY0RkZGRjkKKzoxMEVENTAwMEQzRkZGNEZGRkQzRkZGNEZGRkQzRkZGNEZGRkQwMDAwQTMKKzoxMEVENjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTMKKzoxMEVENzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTMKKzoxMEVEODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODMKKzoxMEVEOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkRGQjBGQjZDMkNERjcKKzoxMEVEQTAwMEIwQjdGRDNGRkIwQjM2QzJERkIwRkI2QzJDREIwQjdFM0MKKzoxMEVEQjAwMEMyQ0RCMEI3RkQzRkZCMEIzNkMyQ0RGNEI3RkQwMDAwQUUKKzoxMEVEQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzNGQzRGQ0YxMzMzQjAKKzoxMEVERDAwMEM0Q0ZGRDNGRkM0Q0NGMTMzRkM0RkNGMTMzM0M0Q0ZGOTAKKzoxMEVERTAwMDEzMzNDNENGRkQzRkZDNENDRjEzMzNGNENGRkQwMDAwRjEKKzoxMEVERjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0I3RTRFREY5M0I3RTMKKzoxMEVFMDAwMEU0RURGOTNGRkU0RURGOTNCN0U0RURGOTNCN0U0RUM3RUMKKzoxMEVFMTAwMDkzQjdFNEVDNjEyMzFFNEVERjkzQjc4NEVDNjEwMDAwRUUKKzoxMEVFMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNTI0QTE0QTI0RUEKKzoxMEVFMzAwMDYzMDExNDAyNDQwMDgxMEIyODcxMDIxMDgyNDAzODExRDIKKzoxMEVFNDAwMDQxMDQ1MDA4MTg4Mjg3MzgzMUMzMkM1MjBBMTAwMDAwNDAKKzoxMEVFNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg0NTEyODE0NDgwMEUKKzoxMEVFNjAwMDcxMjExQzBBMDcxQTgxMDJBMDUyMjAxNDQ4MDcxMjgxM0UKKzoxMEVFNzAwMEM2ODA2MDIwMDg4ODQ3MDIwMTRBODA3MDIwMTAwMDAwODgKKzoxMEVFODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJDNTJDMDE0QTAwNDQKKzoxMEVFOTAwMDUyMDkxQzgwMDcyNDIxMDgwODcxMDIxMDgwNDUyMEExMTYKKzoxMEVFQTAwMDQ5Mjg1MjAxMTRDMDQ1MDA5MUM0MDA3MjAyMTAwMDAwQUMKKzoxMEVFQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIwNzIwMDFDMTAwNjcKKzoxMEVFQzAwMDcxMDkxMDgwMDcwMDAxMDEwMDcwMDgxODgwMDcwMDAxMTcKKzoxMEVFRDAwMDg5MjA1MjAxMEM4MDQ2MzA4MTQ1MDQ2MDAwMTAwMDAwRkEKKzoxMEVFRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhDMjAyMjAwMDg4QUUKKzoxMEVFRjAwMDIwMjIwMDA4QzIyMjgwNDA4ODAyMjIwMDA4ODIwQUEwNDQKKzoxMEVGMDAwMDBDQTgwMjIyMDAwODgwMEEwMDgwOEMwMjIyMDAwMDAwNjcKKzoxMEVGMTAwMDAwMDAwMDAwMDAwMDAwMDAwODAwMDI0MzAwMDA0MDIwNDQKKzoxMEVGMjAwMDMwMDgwNDQwNDEzMDEwQzgwMDAwMDAwMDAyMDMwMDEwMDcKKzoxMEVGMzAwMEMwMDAxMTA4MDBDMjQzMTA4MEMwMjAwMTA4MDAwMjAwNzgKKzoxMEVGNDAwMDAwMDAwMDAwMDAwMDAwMDAwODAwMDhDMzBBMjBDMThDNzcKKzoxMEVGNTAwMDEyMjIwNDg4MDEzNjIwQzMwODEyMjgwNDA4MDEwNDAwODQKKzoxMEVGNjAwMDRBQTgyMjAxMDRDODQxMjYzMEMwODgwMjIxMDAwMjAwQkMKKzoxMEVGNzAwMDAwMDAwMDAwMDAwMDAwMDAwODAwMDgwMDBBMTBDMTgwMjYKKzoxMEVGODAwMDMyMjEwQzg4NDMwMjgwNDQ4MDEyMjkwNDA4NDIwQTkwRUUKKzoxMEVGOTAwMDhBODAwMDIwMDQ0ODAzMEExMDgyODAwMDIwMDAwMjAwQkEKKzoxMEVGQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE4NzAyQTE4MEFDMDEKKzoxMEVGQjAwMDQzMjkxNDhBODQwMkExMDBBQzQxMjAxMDA4MDYyNjMxOUUKKzoxMEVGQzAwMDgwQTQ2MDIwMTQ0QTQ0MzI4MTgxQUM2MDJBMTgwMjAwNzcKKzoxMEVGRDAwMDAwMDAwMDAwMDAwMDAwMDAwODAwMDgwNzIyMDFDNTgwQjIKKzoxMEVGRTAwMDczMjExQ0M4MDcyQTAxMEM4MDcyMjAxMDQ4NDcyNjExODMKKzoxMEVGRjAwMEM1ODA3MzIwMUM4ODA3MkExMTQ5ODA3MDIwMTQwMjAwRTQKKzoxMEYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODAwMDA0NTEwMzFDOTBDOUQKKzoxMEYwMTAwMDczMDIxQ0MwNDcwNDAxMEEwQzUxMEExMDgyNDcyMDMxQjgKKzoxMEYwMjAwMEM4MDA3MjAyMUM0MDA1MzAxMUM0MDA3MjAxMTgwMjAwQjEKKzoxMEYwMzAwMDAwMDAwMDAwMDAwMDAwMDAwODEwMTAwNjI0MDE0NTA0MzQKKzoxMEYwNDAwMDUxODExODkwNDcxNDAxMDQwNDcxODgxMDEyMDUzNDAxOEQKKzoxMEYwNTAwMDQ0MDQ1MTQwMThEMDA3MzgwMUM0MDQ1MjAxMTRDMjA0QkEKKzoxMEYwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NzAwMjE4OTBDNjMKKzoxMEYwNzAwMDYwMDExQ0QwNDUyNDAxQzEwQzQyMDEwMDAwQzUyMDMxQjMKKzoxMEYwODAwMDQxMDg0MDAwMTg4MDQ1MDAyMTQxMEM3MDQyMUNDMjAwMUMKKzoxMEYwOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIwMTFDODBDNDIwRUQKKzoxMEYwQTAwMDMxMDgxMDQyNDIwODgwQzYyMDMxMDkwMDIwMDMxQzkwMUMKKzoxMEYwQjAwMEM0MjAwMTQ5MEM0MjQzMTA4MDQ0MjAzMTA4MTAwMDAwNTQKKzoxMEYwQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzA4MzIwMzA0ODBDRTkKKzoxMEYwRDAwMDMyNDAxMDkwODEyNDIwQzgwNDMyNDAxMDIwQzMyMDgwODgKKzoxMEYwRTAwMEM4MDAwMjRBMENBMDAxMjQxMEM4MDgzMjQxMTAwMDAwRDgKKzoxMEYwRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwOTAwMzAwMDBDOTA0QTAKKzoxMEYxMDAwMDMwNDAwMDkwMDAyMDAwODAwMDEwNDAxMDAwNDAyMDEwOEYKKzoxMEYxMTAwMEMyMDAwMDgwMDgyMDQzMDgxMDgxMDAzMjQwMENDMDA0NjcKKzoxMEYxMjAwMDIwMDAwMDAwMDAwMDAwMDAwMDAwMzAwMDQwMDAwMDAwNEYKKzoxMEYxMzAwMDEwMDAwMEYwMTAyMDAwMDAwMDEwMDAwMEYwMTA4MDQwQ0YKKzoxMEYxNDAwMDAwMDAwMDQwMDBGMDEwOTA4MDAwMDAwMDAwMDBDMDAwQUYKKzoxMEYxNTAwMDAwMDAwMDAwMDAwMDAwMDAzQzNDMTA4MDkwNDAwMDAwRDcKKzoxMEYxNjAwMDAwODAxMDkwQTA5MDAwMDAwMDAwMDAxMDkwODA4MDAwQUYKKzoxMEYxNzAwMDAwMDAwMDAwMTA5MDgwOTAwMDAwMDAwMDQwMTA4RjBGRjEKKzoxMEYxODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjRDNkJBMDZDMDFDRjkKKzoxMEYxOTAwMDQ5Mjg2MTE0MkIxQzBFNDAzRkQ5QkZEOUFBQkMxQTVGNjUKKzoxMEYxQTAwMDAwMTBBNjUwM0I2MUIzMjVCQzQwMTlCRkZGRTk4MDAwQTkKKzoxMEYxQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTA5MjE0OTQ4MDBDNzkKKzoxMEYxQzAwMDA3M0YyQjk0ODYxNDg0ODAyODAwMDA0OTE0MDQ4NjEyN0IKKzoxMEYxRDAwMDgwMDA0MTI3MzREMDkwODQ5MjAwMkQ4QTIxMUU4MDAwMjcKKzoxMEYxRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEEyNzUKKzoxMEYxRjAwMEIxMDEwMTAwMDAwMDAwMDg4NEIxNzgyODAwMDAwMDAwN0YKKzoxMEYyMDAwMDA4QjEzMjE0MTQwMDAwMDAwMDA4QTgyMzU0MjE0MDAwNjMKKzoxMEYyMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0ZGRkZGRkZDMDAwRjIKKzoxMEYyMjAwMDAwMDAwMDJGRkZGRUY3QzAwMDAwMDAwMDJGRDdGRUVGMDgKKzoxMEYyMzAwMEMwMDAwMDAwMDAzRkZGN0ZGRkMwMDAwMDAwMDAwMDAwOTIKKzoxMEYyNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0ZGRkZGRkZDMDAwQzIKKzoxMEYyNTAwMDAwMDAwMDBGRUY3N0ZGQzAwMDAwMDAwMDNFRkZGRUVGNTAKKzoxMEYyNjAwMDQwMDAwMDAwMDAzRkZGQkZGRjQwMDAwMDAwMDAwMDAwMjIKKzoxMEYyNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0ZGRkZGRkZDMDAwOTIKKzoxMEYyODAwMDAwMDAwMDNGRkZERkZGQzAwMDAwMDAwMDNGRkZGRkZGNjYKKzoxMEYyOTAwMEMwMDAwMDAwMDAzRjdGMkZGRkMwMDAwMDAwMDAwMDAwMDIKKzoxMEYyQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0ZGRkZGRkZDMDAwNjIKKzoxMEYyQjAwMDAwMDAwMDFGRkZGRkVGQzAwMDAwMDAwMDFGRUZFRkVGOTYKKzoxMEYyQzAwMEMwMDAwMDAwMDAyRkZGRkZGRkMwMDAwMDAwMDAwMDAwOTIKKzoxMEYyRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0ZGRkZGRkZDMDAwMzIKKzoxMEYyRTAwMDAwMDAwMDNGRkZFRkZGQzAwMDAwMDAwMDJGQUZERkZGNzYKKzoxMEYyRjAwMEMwMDAwMDAwMDAzRkVGRkZGN0MwMDAwMDAwMDAwMDAwNkEKKzoxMEYzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0ZGRkZGRkZDMDAwMDEKKzoxMEYzMTAwMDAwMDAwMDNGREZERkZGQzAwMDAwMDAwMDNGRkZGRkZGRjUKKzoxMEYzMjAwMEMwMDAwMDAwMDAxRkZGREZGRkMwMDAwMDAwMDAwMDAwNjEKKzoxMEYzMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJDNDI0QTEwMDJDMTYKKzoxMEYzNDAwMDUyMEIxOEMyODYyQ0ExODAzODYyMEEwODQwQzQyQ0ExMzYKKzoxMEYzNTAwMDA4Mjg0MjBCMTQwMDg1MTRBMTA4Mjg0MzBBMTAwMDAwNTUKKzoxMEYzNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgwNDEyMDEwMzgwRkIKKzoxMEYzNzAwMDYxMjAxMDA4MDcxMjQxNDI4MDcwMjAxQzA4MDQxQTAxMDUKKzoxMEYzODAwMDg0ODE0MDIwMTgwODQ2MzY4MTA1ODA2MzIwMTAwMDAxRTIKKzoxMEYzOTAwMDgwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NDI0MjEwMDBDMTgKKzoxMEYzQTAwMDUyMDIxNDAwODcyODIxODEwODcyMDYxQzgyODQyMDIxQzEKKzoxMEYzQjAwMDQ4MTg0MjAzNTQ4MDQ1MzAyNTRBMTg1MzAyMTAwMDAxNzIKKzoxMEYzQzAwMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDgwNDIyMDEwMTgwNkQKKzoxMEYzRDAwMDQyMjAxOEM4NDQyMjAxODA4NDQyMjAxQzg4MDQyMjAxNTMKKzoxMEYzRTAwMDAwODA0MDIwMTA4ODQ0MzYwMTQwODA0MTAwMTAwMDAwMTkKKzoxMEYzRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMDA4MjAwMDBDMTkKKzoxMEY0MDAwMDIyMDMwNDQwODEwMDIwODQwODAzMDAwMDgwQzIwMDIwMDEKKzoxMEY0MTAwMEM0MDgwMDAzMDg4ODgyMTZBMDQwODgzMjIyODAwMDAwQjkKKzoxMEY0MjAwMDAwMDAwMDAwMDAwMDAwMDAwODAwMDIwMTAwODAwNDIwMkQKKzoxMEY0MzAwMDEwMDgwQ0MyMTIxMDg0QzgyMjEyMDgwNDAyMDMwMDg4QUIKKzoxMEY0NDAwMDAwMjEwMDBDMEM0MDQxMzAwMDg0MjAxMDA4MDAwMjAwMTQKKzoxMEY0NTAwMDAwMDAwMDAwMDAwMDAwMDAwODAwMDg4MjA2MjAwODhDNjAKKzoxMEY0NjAwMDMyMjIwQzg4ODEyNjIwNEQ4ODIzMjI4MDg4ODMwNjIwMjIKKzoxMEY0NzAwMDA4ODgwMDIzMDQ4QTgxMzYyMDRCODgzMjIyMDAwMDAwNEQKKzoxMEY0ODAwMDAwMDAwMDAwMDAwMDAwMDAwODAwMDgwMjAyMDAwOTgwREYKKzoxMEY0OTAwMDMyMjAwNDg4NjAyMjAwODk4NDAwMjAwODk4MDAwMjAwM0QKKzoxMEY0QTAwMDAwODAwMDIwMDAwODAyM0E4MDQ4ODAzMDIwMDAwMjAwREUKKzoxMEY0QjAwMDAwMDAwMDAwMDAwMDAwMDAwODAwMEFDNDFBQTE4MEE4OTMKKzoxMEY0QzAwMDQxMkExMENBQzcxQUExMDRBRDcxMkExODRBRDQwNkIxM0MKKzoxMEY0RDAwMDAwQTg3MTJBMTAwODg0MjYyOTA2QUM1MjJBMTAwMjAwQkUKKzoxMEY0RTAwMDAwMDAwMDAwMDAwMDAwMDAwODAwMDgwNDJBMDE0MTgwMUMKKzoxMEY0RjAwMDQyMjAxQzAwMDQwQTAxMDk4NDUxMjAxQzg4NDQwMjAxOTYKKzoxMEY1MDAwMDA4ODA0MDIwMTA0QTQ3MDIwMTQ4ODA2MzIwMTAwMjAwMTIKKzoxMEY1MTAwMDgwMDAwMDAwMDAwMDAwMDAwODAwMDBDNDEwMjE4MTBDRTEKKzoxMEY1MjAwMDQxMDIwQzAwQzAyMDYxMEQwRTcyMDIxQzQwQzQwODMxNjMKKzoxMEY1MzAwMDA0MTg0MjAyMTA4MDg3MjBCMUM0MEM1MzAyMTAwMDAwNEUKKzoxMEY1NDAwMDAwMDAwMDAwMDAwMDAwMDAwODEwMjAwNzI0MDFDQzAwOEIKKzoxMEY1NTAwMDcyNDAxNDAwMDQyNDAxMDgwMDczNDExMEMwMDczMDExRTgKKzoxMEY1NjAwMENDMDA3MTAxMTAwMjA0MjA4MTQ2MTA0MjQwMTAwMjA0QjgKKzoxMEY1NzAwMDAwMDAwMDAwMDAwMDAwMDAwODAwMDBDNTEwMjEwMDA4ODUKKzoxMEY1ODAwMDYyMDIxQzkwQzUyNDIxMDAwQzcwODIxQzEwQzQyMDMxMjIKKzoxMEY1OTAwMDg4MDI0MDA2MUMwMDg1MDBBMTAwMEM0MDQyMDAwMjAwQzkKKzoxMEY1QTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjIwNTE0ODAwMTIwN0YKKzoxMEY1QjAwMDMwMDgwQzQyMDYwMDgwMDEyNDUxMDgwQzAyNDEwMDgwRjIKKzoxMEY1QzAwMDRDMjAwMDA4MEMzMDQyMDQwMDA0MjAwMDA4MDAwMDAwMTkKKzoxMEY1RDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTBDNjI0MjAwMDBDMDUKKzoxMEY1RTAwMDMyQzIwNDgwQzczMDIwMDAwQzUzQzIwNDEwQzIyODcwRkQKKzoxMEY1RjAwMDBDMDkwMjAyNEM4MDgxMDQzMDA5MEMwMjQyMTAwMDAwMDgKKzoxMEY2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwODAwMTM4MDAwMjAwMkYKKzoxMEY2MTAwMDEyNDAwQzIwMDczNDA0MDIwMDYzMDEwODEwMDAyNDEwN0IKKzoxMEY2MjAwMDA0MDAwMjAxMDQ4MjAxMDg4MDA5MTAwMjQwMTAwMDA0NTUKKzoxMEY2MzAwMDMwMDAwMDAwMDAwMDAwMDAwMDAwMzAyMDEwODAwMDAwQkEKKzoxMEY2NDAwMDIwODAwMEYwMjAxMDgwMDAwMDIwODAwMEQwODAwMDAwOEEKKzoxMEY2NTAwMDQwMDAwMDAwMDAzMDEwMDA4MDAwMDAwMDAwMDBDQzQwOUUKKzoxMEY2NjAwMDAwMDAwMDAwMDAwMDAwMDAzQzNDMTA4MDgwMDAwMDAwMTIKKzoxMEY2NzAwMDAwMDAxMDkwODA4MDAwMDAwMDAwMDAxMDkwODAwMDkwM0EKKzoxMEY2ODAwMDgwMDAxMDAwMDAxMEEwODAwMDAwMDAyMDAwMTA4QzA4RjYKKzoxMEY2OTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzQxQUJFMTc4MDAwQzcKKzoxMEY2QTAwMDNFNDAyNjZGQkFFMzI0ODAwMDE2NTlCRDgyODE4MkQ4N0QKKzoxMEY2QjAwMDgwMDAwMDE5OTk4NjgwNjQ4MEMwM0ZEOTk5ODAwMDAxM0MKKzoxMEY2QzAwMEYwMDAwMDAwMDAwMDAwMDAwMDAwMDYxNjAyOTQwMDE2ODIKKzoxMEY2RDAwMEMwMTY5NDgyOTAxNjEwODAyMTE4MjgyODAyMEEwMjA4NjkKKzoxMEY2RTAwMDgwMDAwMDAwMDAwMjgyODAxNDAwMDExNDExQTA0MDAwN0MKKzoxMEY2RjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODg0N0UKKzoxMEY3MDAwMDAyODRBODgwMDAwMDAwMDg5MTIyODQ0MUEyMDgyNDAxRkMKKzoxMEY3MTAwMDMwMDAwMDAwMDAwMDAwMDAwMDA4ODQwMTQ0MDEwMDAwRTcKKzoxMEY3MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0ZGRkZGRkZDMDAwREQKKzoxMEY3MzAwMDAwMDAwMDNFRjdGRkY3QzAwMDAwMDAwMDJGRTdCN0ZGMTIKKzoxMEY3NDAwMEMwMDAwMDAwMDAyRkZFN0ZGN0MwMDAwMDAwMDAwMDAwOTYKKzoxMEY3NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0ZGRkZGRkZDMDAwQUQKKzoxMEY3NjAwMDAwMDAwMDM2QkZGRURGQzAwMDAwMDAwMDBGRjdERkZGMjMKKzoxMEY3NzAwMEMwMDAwMDAwMDAzREI3QjdFRkMwMDAwMDAwMDAwMDAwNkYKKzoxMEY3ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0ZGRkZGRkZDMDAwN0QKKzoxMEY3OTAwMDAwMDAwMDFGREZERkZGQzAwMDAwMDAwMDBGREZERkZGMDEKKzoxMEY3QTAwMEMwMDAwMDAwMDAzRkVGRkZGRkMwMDAwMDAwMDAwMDAwQUQKKzoxMEY3QjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0ZGRkZGRkZDMDAwNEQKKzoxMEY3QzAwMDAwMDAwMDNGQkY3RkZGQzAwMDAwMDAwMDNGRkY3RkY3NDkKKzoxMEY3RDAwMEMwMDAwMDAwMDAzRkRGRkZGRkMwMDAwMDAwMDAwMDAwOEQKKzoxMEY3RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0ZGRkZGRkZDMDAwMUQKKzoxMEY3RjAwMDAwMDAwMDNGN0VGRkZGNDAwMDAwMDAwMDNGRkVGRkZGRDMKKzoxMEY4MDAwMEMwMDAwMDAwMDAzRkZGRkZGRkMwMDAwMDAwMDAwMDAwM0MKKzoxMEY4MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0ZGRkZGRkZDMDAwRUMKKzoxMEY4MjAwMDAwMDAwMDM3RkY2RkZGQzAwMDAwMDAwMDNGRkZGRkZGMzgKKzoxMEY4MzAwMEMwMDAwMDAwMDAzRkZGRkZGRkMwMDAwMDAwMDAwMDAwMEMKKzoxMEY4NDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjgKKzoxMEY4NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTgKKzoxMEY4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTgKKzoxMEY4NzAwMDAwMDAwMDAwMDAwMDAwMDAzMDAwMjAwMTAyMDAwMDAwMzUKKzoxMEY4ODAwMDMwMDA0MzBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjkKKzoxMEY4OTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjgKKzoxMEY4QTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTgKKzoxMEY4QjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDgKKzoxMEY4QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzgKKzoxMEY4RDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjgKKzoxMEY4RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTgKKzoxMEY4RjAwMDAwMDAwMDAwMDAwMDAwMDAwMDMwQzAwMDAwMDAwMDMwRTgKKzoxMEY5MDAwMEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzcKKzoxMEY5MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTcKKzoxMEY5MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDcKKzoxMEY5MzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzcKKzoxMEY5NDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjcKKzoxMEY5NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMEMwMzBDMDAwQzcKKzoxMEY5NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTcKKzoxMEY5NzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODcKKzoxMEY5ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzcKKzoxMEY5OTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjcKKzoxMEY5QTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTcKKzoxMEY5QjAwMDAwMDAwMDAwMDAwMDAwMDAwMDMwQzAzMEMwMzBDMDMwNDcKKzoxMEY5QzAwMEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzcKKzoxMEY5RDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjcKKzoxMEY5RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTcKKzoxMEY5RjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcKKzoxMEZBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjYKKzoxMEZBMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMDAwMDAwMDAwMDBGQzgKKzoxMEZBMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDYKKzoxMEZBMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzYKKzoxMEZBNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjYKKzoxMEZBNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTYKKzoxMEZBNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTYKKzoxMEZBNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGQzAwMDAwMDAwMDNGNDgKKzoxMEZBODAwMEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjYKKzoxMEZBOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjYKKzoxMEZBQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTYKKzoxMEZBQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDYKKzoxMEZBQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzYKKzoxMEZBRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMDAzMEMwMzBDMDBGMjgKKzoxMEZBRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTYKKzoxMEZBRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYKKzoxMEZCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjUKKzoxMEZCMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTUKKzoxMEZCMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDUKKzoxMEZCMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDEzNkIwMEMwMDBDRjJDOEMKKzoxMEZCNDAwMDQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzUKKzoxMEZCNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTUKKzoxMEZCNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTUKKzoxMEZCNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODUKKzoxMEZCODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzUKKzoxMEZCOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjAwMEYwMDAwNDcKKzoxMEZCQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTUKKzoxMEZCQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDUKKzoxMEZCQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzUKKzoxMEZCRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjUKKzoxMEZCRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTUKKzoxMEZCRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDMwQzAwRjAwMEYwMDMwQzcKKzoxMEZDMDAwMEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzQKKzoxMEZDMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTQKKzoxMEZDMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDQKKzoxMEZDMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzQKKzoxMEZDNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjQKKzoxMEZDNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRkMwM0ZDMDAwQTYKKzoxMEZDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTQKKzoxMEZDNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODQKKzoxMEZDODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzQKKzoxMEZDOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjQKKzoxMEZDQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTQKKzoxMEZDQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDMwQzAzRkMwM0ZDMDMwMjYKKzoxMEZDQzAwMEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzQKKzoxMEZDRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjQKKzoxMEZDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTQKKzoxMEZDRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQKKzoxMEZEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjMKKzoxMEZEMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMDAwRjAwMEYwMDBGQTcKKzoxMEZEMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDMKKzoxMEZEMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzMKKzoxMEZENDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjMKKzoxMEZENTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTMKKzoxMEZENjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTMKKzoxMEZENzAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGQzAwRjAwMEYwMDNGMjcKKzoxMEZEODAwMEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjMKKzoxMEZEOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjMKKzoxMEZEQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTMKKzoxMEZEQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDMKKzoxMEZEQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzMKKzoxMEZERDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMDAzRkMwM0ZDMDBGMDcKKzoxMEZERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTMKKzoxMEZERjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMKKzoxMEZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjIKKzoxMEZFMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTIKKzoxMEZFMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDIKKzoxMEZFMzAwMDAwMDAwMDAwMDAwMDAwMDAwNjMzNUQ4MEMwMDBGREFDNDMKKzoxMEZFNDAwMDAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjAKKzoxMEZFNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTIKKzoxMEZFNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTIKKzoxMEZFNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODIKKzoxMEZFODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzIKKzoxMEZFOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjIKKzoxMEZFQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTIKKzoxMEZFQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDIKKzoxMEZFQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzIKKzoxMEZFRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjIKKzoxMEZFRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTIKKzoxMEZFRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDMwQzAwMDAwMDAwMDMwRTIKKzoxMEZGMDAwMEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzEKKzoxMEZGMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTEKKzoxMEZGMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDEKKzoxMEZGMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzEKKzoxMEZGNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjEKKzoxMEZGNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMEMwMzBDMDAwQzEKKzoxMEZGNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTEKKzoxMEZGNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODEKKzoxMEZGODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzEKKzoxMEZGOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjEKKzoxMEZGQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTEKKzoxMEZGQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDMwQzAzMEMwMzBDMDMwNDEKKzoxMEZGQzAwMEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzEKKzoxMEZGRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjEKKzoxMEZGRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTEKKzoxMEZGRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEKKzoxMDgwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjAKKzoxMDgwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMDAwMDAwMDAwMDBGMzIKKzoxMDgwMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDAKKzoxMDgwNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzAKKzoxMDgwNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjAKKzoxMDgwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAKKzoxMDgwNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKKzoxMDgwODAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGQzAwMDAwMDAwMDNGQjIKKzoxMDgwOTAwMEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjAKKzoxMDgwQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDAKKzoxMDgwQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzAKKzoxMDgwQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjAKKzoxMDgwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTAKKzoxMDgwRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMDAzMEMwMzBDMDBGOTIKKzoxMDgwRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODAKKzoxMDgxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkYKKzoxMDgxMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUYKKzoxMDgxMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEYKKzoxMDgxMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0YKKzoxMDgxNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEzNzRDMEMwMDBGMEVDNEMKKzoxMDgxNTAwMDQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREYKKzoxMDgxNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYKKzoxMDgxNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkYKKzoxMDgxODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUYKKzoxMDgxOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREYKKzoxMDgxQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjAwMEYwMDAwQjEKKzoxMDgxQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkYKKzoxMDgxQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUYKKzoxMDgxRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUYKKzoxMDgxRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEYKKzoxMDgxRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0YKKzoxMDgyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMwQzAwRjAwMEYwMDMwMzAKKzoxMDgyMTAwMEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUUKKzoxMDgyMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEUKKzoxMDgyMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0UKKzoxMDgyNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkUKKzoxMDgyNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUUKKzoxMDgyNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRkMwM0ZDMDAwMTAKKzoxMDgyNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkUKKzoxMDgyODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUUKKzoxMDgyOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREUKKzoxMDgyQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0UKKzoxMDgyQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkUKKzoxMDgyQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDE5ODYxMDgwMzA4MjNEOTAKKzoxMDgyRDAwMDgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUUKKzoxMDgyRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEUKKzoxMDgyRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0UKKzoxMDgzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkQKKzoxMDgzMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUQKKzoxMDgzMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMDAwRjAwMEYwMDBGMTEKKzoxMDgzMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0QKKzoxMDgzNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkQKKzoxMDgzNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUQKKzoxMDgzNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQKKzoxMDgzNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkQKKzoxMDgzODAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGQzAwRjAwMEYwMDNGOTEKKzoxMDgzOTAwMEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUQKKzoxMDgzQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0QKKzoxMDgzQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkQKKzoxMDgzQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUQKKzoxMDgzRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUQKKzoxMDgzRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMDAzRkMwM0ZDMDBGNzEKKzoxMDgzRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0QKKzoxMDg0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkMKKzoxMDg0MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUMKKzoxMDg0MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEMKKzoxMDg0MzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0MKKzoxMDg0NDAwMDAwMDAwMDAwMDAwMDAwMDAzNzY1MjVFNDgwMDBCMDg4Q0YKKzoxMDg0NTAwMEFCNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzEKKzoxMDg0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMKKzoxMDg0NzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkMKKzoxMDg0ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUMKKzoxMDg0OTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREMKKzoxMDg0QTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0MKKzoxMDg0QjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkMKKzoxMDg0QzAwMDAwMDAwMDAwMzAwMDIwMDEwMjAyMDAwMDMwMDA0MzAwRTQKKzoxMDg0RDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUMKKzoxMDg0RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEMKKzoxMDg0RjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0MKKzoxMDg1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkIKKzoxMDg1MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUIKKzoxMDg1MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEIKKzoxMDg1MzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0IKKzoxMDg1NDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkIKKzoxMDg1NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUIKKzoxMDg1NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIKKzoxMDg1NzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkIKKzoxMDg1ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUIKKzoxMDg1OTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREIKKzoxMDg1QTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0IKKzoxMDg1QjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkIKKzoxMDg1QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUIKKzoxMDg1RDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUIKKzoxMDg1RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEIKKzoxMDg1RjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0IKKzoxMDg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkEKKzoxMDg2MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUEKKzoxMDg2MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEEKKzoxMDg2MzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0EKKzoxMDg2NDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkEKKzoxMDg2NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUEKKzoxMDg2NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEKKzoxMDg2NzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkEKKzoxMDg2ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUEKKzoxMDg2OTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREEKKzoxMDg2QTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0EKKzoxMDg2QjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkEKKzoxMDg2QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUEKKzoxMDg2RDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUEKKzoxMDg2RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEEKKzoxMDg2RjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0EKKzoxMDg3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjkKKzoxMDg3MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTkKKzoxMDg3MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDkKKzoxMDg3MzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzkKKzoxMDg3NDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjkKKzoxMDg3NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTkKKzoxMDg3NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkKKzoxMDg3NzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjkKKzoxMDg3ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTkKKzoxMDg3OTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDkKKzoxMDg3QTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzkKKzoxMDg3QjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjkKKzoxMDg3QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTkKKzoxMDg3RDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTkKKzoxMDg3RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODkKKzoxMDg3RjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzkKKzoxMDg4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjgKKzoxMDg4MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTgKKzoxMDg4MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDgKKzoxMDg4MzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzgKKzoxMDg4NDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjgKKzoxMDg4NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTgKKzoxMDg4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgKKzoxMDg4NzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjgKKzoxMDg4ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTgKKzoxMDg4OTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDgKKzoxMDg4QTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzgKKzoxMDg4QjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjgKKzoxMDg4QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTgKKzoxMDg4RDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTgKKzoxMDg4RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODgKKzoxMDg4RjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzgKKzoxMDg5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjcKKzoxMDg5MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTcKKzoxMDg5MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDcKKzoxMDg5MzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzcKKzoxMDg5NDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjcKKzoxMDg5NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTcKKzoxMDg5NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcKKzoxMDg5NzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjcKKzoxMDg5ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTcKKzoxMDg5OTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDcKKzoxMDg5QTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzcKKzoxMDg5QjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjcKKzoxMDg5QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTcKKzoxMDg5RDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTcKKzoxMDg5RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODcKKzoxMDg5RjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzcKKzoxMDhBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjYKKzoxMDhBMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTYKKzoxMDhBMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDYKKzoxMDhBMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzYKKzoxMDhBNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjYKKzoxMDhBNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTYKKzoxMDhBNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYKKzoxMDhBNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjYKKzoxMDhBODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTYKKzoxMDhBOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDYKKzoxMDhBQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzYKKzoxMDhBQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjYKKzoxMDhBQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTYKKzoxMDhBRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTYKKzoxMDhBRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODYKKzoxMDhBRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzYKKzoxMDhCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjUKKzoxMDhCMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTUKKzoxMDhCMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDUKKzoxMDhCMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzUKKzoxMDhCNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjUKKzoxMDhCNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTUKKzoxMDhCNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUKKzoxMDhCNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjUKKzoxMDhCODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTUKKzoxMDhCOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDUKKzoxMDhCQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzUKKzoxMDhCQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjUKKzoxMDhCQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTUKKzoxMDhCRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTUKKzoxMDhCRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODUKKzoxMDhCRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzUKKzoxMDhDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjQKKzoxMDhDMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTQKKzoxMDhDMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDQKKzoxMDhDMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzQKKzoxMDhDNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjQKKzoxMDhDNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTQKKzoxMDhDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQKKzoxMDhDNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjQKKzoxMDhDODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTQKKzoxMDhDOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDQKKzoxMDhDQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzQKKzoxMDhDQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjQKKzoxMDhDQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTQKKzoxMDhDRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTQKKzoxMDhDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODQKKzoxMDhDRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzQKKzoxMDhEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjMKKzoxMDhEMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTMKKzoxMDhEMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDMKKzoxMDhEMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzMKKzoxMDhENDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjMKKzoxMDhENTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTMKKzoxMDhENjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMKKzoxMDhENzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjMKKzoxMDhEODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTMKKzoxMDhEOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDMKKzoxMDhEQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzMKKzoxMDhEQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjMKKzoxMDhEQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTMKKzoxMDhERDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTMKKzoxMDhERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODMKKzoxMDhERjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzMKKzoxMDhFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjIKKzoxMDhFMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTIKKzoxMDhFMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDIKKzoxMDhFMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzIKKzoxMDhFNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjIKKzoxMDhFNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTIKKzoxMDhFNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIKKzoxMDhFNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjIKKzoxMDhFODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTIKKzoxMDhFOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDIKKzoxMDhFQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzIKKzoxMDhFQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjIKKzoxMDhFQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTIKKzoxMDhFRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTIKKzoxMDhFRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODIKKzoxMDhFRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzIKKzoxMDhGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjEKKzoxMDhGMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTEKKzoxMDhGMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDEKKzoxMDhGMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzEKKzoxMDhGNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjEKKzoxMDhGNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTEKKzoxMDhGNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEKKzoxMDhGNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjEKKzoxMDhGODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTEKKzoxMDhGOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDEKKzoxMDhGQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzEKKzoxMDhGQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjEKKzoxMDhGQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTEKKzoxMDhGRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTEKKzoxMDhGRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODEKKzoxMDhGRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzEKKzoxMDkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjAKKzoxMDkwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTAKKzoxMDkwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDAKKzoxMDkwMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzAKKzoxMDkwNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjAKKzoxMDkwNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAKKzoxMDkwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKKzoxMDkwNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjAKKzoxMDkwODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTAKKzoxMDkwOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDAKKzoxMDkwQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzAKKzoxMDkwQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjAKKzoxMDkwQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTAKKzoxMDkwRDAwMDMwMDAwMDAxMDAwMDQ0NzIzMDAwODAwMTAwMDAwMDAzRjUKKzoxMDkwRTAwMDMwMDA0MDBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQKKzoxMDkwRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzAKKzoxMDkxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUYKKzoxMDkxMTAwMDAwMDAwMDAwMzAwMDgwMDEwMDAwMDAwNTMwMDBBMDAxQzgKKzoxMDkxMjAwMDAwMDAwMDAwMzAwMDAwMDEwMDAwRTE1QTAwMDAwMDAwRDMKKzowQzkxMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMzCis6MDAwMDAwMDFGRgorLy8gVkVSU0lPTj0gMS4wLjAuMTkxCisvLyBEQVRFPSAyMDAyb2N0MjgKZGlmZiAtLWdpdCBhL2Zpcm13YXJlL2VtaTYyL2xvYWRlci5IRVggYi9maXJtd2FyZS9lbWk2Mi9sb2FkZXIuSEVYCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBlZGIyZGMKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9lbWk2Mi9sb2FkZXIuSEVYCkBAIC0wLDAgKzEsMTA3IEBACis6MDMwMDAwMDAwMjAyODc3MgorOjAzMDA0MzAwMDIwNDAwQjQKKzoxMDAxMDAwMEU0RkZGRUMyMjBEMkU4NDNEODIwOTA3RkFCNzRGRkYwMUEKKzoxMDAxMTAwMDkwN0ZBOUYwOTA3RkFBRjA1MzkxRUY5MDdGOTU3NEMwRTMKKzoxMDAxMjAwMEYwOTA3RjlFRjA5MDdGOThGMEU0OTA3Rjk0RjA5MDdGMjUKKzoxMDAxMzAwMDlENzRGRkYwOTA3Rjk3NzRBMEYwOTA3RjkzRTA1NEZDNDMKKzoxMDAxNDAwMEYwOTA3RjlDNzQwM0YwRTQ5MDdGOTZGMDkwN0ZBRkUwOTYKKzoxMDAxNTAwMDQ0MDFGMDkwN0ZBRUUwNDQwREYwRDJBRjBGQkYwMDAxM0MKKzoxMDAxNjAwMDBFQkUwN0Y4QkYwOEY1MjAyMDQyNzUxNDAwNzUxMzAwNzUKKzoxMDAxNzAwMDc1MTIwMDc1MTEwMDdGNDg3RTkyN0QwMDdDMDBBQjE0RTMKKzoxMDAxODAwMEFBMTNBOTEyQTgxMUMzMTIwM0VENTBEQjIwMjBEODdBQkMKKzoxMDAxOTAwMDAwNzkwMDc4MDBFNTE0MjQwMUY1MTRFQTM1MTNGNTEzMEQKKzoxMDAxQTAwMEU5MzUxMkY1MTJFODM1MTFGNTExODBDQTMwMjBGRDEyM0IKKzoxMDAxQjAwMDAxQzc1MDA3OTA3RkI0RTA0NDAxRjA5MDdGQjRFMDQ0NjEKKzowNjAxQzAwMDAyRjBDMjIwODBFNkZGCis6MDEwMUM2MDAyMjE2Cis6MTAwMUM3MDA5MDdGRTlFMDI0NUI2MDYwMjQwMjYwMDMwMjAyODU5MDZGCis6MTAwMUQ3MDA3RkVBRTA3NTBBMDBGNTBCQTNFMEZFRTRFRTQyMEE5MDIxCis6MTAwMUU3MDA3RkVFRTA3NTE1MDBGNTE2QTNFMEZFRTRFRTQyMTVFNTk3Cis6MTAwMUY3MDAxNjQ1MTU3MDAzMDIwMjg1RTQ5MDdGQzVGMDkwN0ZCNDIxCis6MTAwMjA3MDBFMDIwRTNGOTkwN0ZDNUUwRjUwQzEyMDMxM0FGMEM3RUY1Cis6MTAwMjE3MDAwMEVGMjUwQkY1MEJFRTM1MEFGNTBBQzNFNTE2OUZGNTNBCis6MTAwMjI3MDAxNkU1MTU5RUY1MTU4MEM3OTA3RkVBRTA3NTBBMDBGNTdCCis6MTAwMjM3MDAwQkEzRTBGRUU0RUU0MjBBOTA3RkVFRTA3NTE1MDBGNUIxCis6MTAwMjQ3MDAxNkEzRTBGRUU0RUU0MjE1RTUxNjQ1MTU2MDMwRTQ5MDhFCis6MTAwMjU3MDA3RkM1RjA5MDdGQjRFMDIwRTNGOTkwN0ZDNUUwRjUwQzBGCis6MTAwMjY3MDAxMjAzMkJBRjBDN0UwMEVGMjUwQkY1MEJFRTM1MEFGNUNECis6MEYwMjc3MDAwQUMzRTUxNjlGRjUxNkU1MTU5RUY1MTU4MENBQzM1NworOjAxMDI4NjAwMjI1NQorOjBDMDI4NzAwNzg3RkU0RjZEOEZENzU4MTI5MDIwMkNFRDQKKzoxMDAyOTMwMDAyMDEwMEU0OTNBM0Y4RTQ5M0EzNDAwM0Y2ODAwMUYyODAKKzoxMDAyQTMwMDA4REZGNDgwMjlFNDkzQTNGODU0MDcyNDBDQzhDMzMzNkMKKzoxMDAyQjMwMEM0NTQwRjQ0MjBDODgzNDAwNEY0NTY4MDAxNDZGNkRGM0IKKzoxMDAyQzMwMEU0ODAwQjAxMDIwNDA4MTAyMDQwODA5MDA0NkVFNDdFNTkKKzoxMDAyRDMwMDAxOTM2MEJDQTNGRjU0M0YzMEU1MDk1NDFGRkVFNDkzMzAKKzoxMDAyRTMwMEEzNjAwMTBFQ0Y1NEMwMjVFMDYwQTg0MEI4RTQ5M0EzRjcKKzoxMDAyRjMwMEZBRTQ5M0EzRjhFNDkzQTNDOEM1ODJDOENBQzU4M0NBMjIKKzoxMDAzMDMwMEYwQTNDOEM1ODJDOENBQzU4M0NBREZFOURFRTc4MEJFRDkKKzoxMDAzMTMwMEU1MENGRkU1MEJGNTgyRTUwQUY1ODM3NTkyN0U3NEMwNjMKKzowODAzMjMwMEY4RTIwOEYwQTNERkZBMjI2MgorOjEwMDMyQjAwOTA3Rjk2ODU4MzkyQTg4Mjc5MDI5MDAwMDBFMEI0MDBCQQorOjEwMDMzQjAwMEQ3NDAxRjA5MDdGOTdFMDU0N0ZGMDQ0ODBGMEU1MEM1MgorOjEwMDM0QjAwRkY5MDdFQzBFMEY1MjhFNEEyNDczM0YyNjlGMkU0QTIwNQorOjEwMDM1QjAwNDYzM0YyNjlGMkU0QTI0NTMzRjI2OUYyRTRBMjQ0MzM4NAorOjEwMDM2QjAwRjI2OUYyRTRBMjQzMzNGMjY5RjJFNEEyNDIzM0YyNjk5NgorOjEwMDM3QjAwRjJFNEEyNDEzM0YyNjlGMkU0QTI0MDMzRjI2OUYyQTM1MAorOjAzMDM4QjAwREZDMjIyQUMKKzoxMDAzOEUwMEMwRTBDMDgzQzA4MjkwN0ZDNEU0RjA1MzkxRUY5MDdGQjEKKzowQjAzOUUwMEFCNzQwNEYwRDA4MkQwODNEMEUwMzJCQQorOjEwMDNBOTAwQzBFMEMwODNDMDgyRDIyMDUzOTFFRjkwN0ZBQjc0MDEyQgorOjA4MDNCOTAwRjBEMDgyRDA4M0QwRTAzMkM1Cis6MTAwM0MxMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUI3NDAyRjBEMDQ0Cis6MDYwM0QxMDA4MkQwODNEMEUwMzI2RgorOjEwMDNENzAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFCNzQxMEYwRDAyMAorOjA2MDNFNzAwODJEMDgzRDBFMDMyNTkKKzoxMDAzRUQwMEVCOUZGNUYwRUE5RTQyRjBFOTlENDJGMEU4OUM0NUYwNjYKKzowMTAzRkQwMDIyREQKKzowMTAzRkUwMDMyQ0MKKzowMTAzRkYwMDMyQ0IKKzoxMDA0MDAwMDAyMDNBOTAwMDIwM0MxMDAwMjAzOEUwMDAyMDQ1ODAwODcKKzoxMDA0MTAwMDAyMDNENzAwMDIwM0ZFMDAwMjAzRkYwMDAyMDQ4NDAwNkYKKzoxMDA0MjAwMDAyMDQ4NTAwMDIwNDg2MDAwMjA0ODcwMDAyMDQ4ODAwOUEKKzoxMDA0MzAwMDAyMDQ4OTAwMDIwNDhBMDAwMjA0OEIwMDAyMDQ4QzAwN0EKKzoxMDA0NDAwMDAyMDQ4RDAwMDIwNDhFMDAwMjA0OEYwMDAyMDQ5MDAwNUEKKzowODA0NTAwMDAyMDQ5MTAwMDIwNDkyMDA3NQorOjEwMDQ1ODAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFCNzQwOEYwRDBBNgorOjA2MDQ2ODAwODJEMDgzRDBFMDMyRDcKKzoxMDA0NkUwMDAyMEEwMDBGMDEwQzExMDQwRDAwMDAwMDAwNDEwMDAwRjMKKzowMTA0N0UwMDAwN0QKKzowNDA0N0YwMDAyMTcwMDAwNjAKKzowMTA0ODMwMDAwNzgKKzowMTA0ODQwMDMyNDUKKzowMTA0ODUwMDMyNDQKKzowMTA0ODYwMDMyNDMKKzowMTA0ODcwMDMyNDIKKzowMTA0ODgwMDMyNDEKKzowMTA0ODkwMDMyNDAKKzowMTA0OEEwMDMyM0YKKzowMTA0OEIwMDMyM0UKKzowMTA0OEMwMDMyM0QKKzowMTA0OEQwMDMyM0MKKzowMTA0OEUwMDMyM0IKKzowMTA0OEYwMDMyM0EKKzowMTA0OTAwMDMyMzkKKzowMTA0OTEwMDMyMzgKKzowMTA0OTIwMDMyMzcKKzoxMDExMDAwMDEyMDExMDAxMDAwMDAwNDA2QTA4MDEwMTAwMDEwMTAyMDMKKzoxMDExMTAwMDAwMDEwOTAyMjAwMDAxMDEwM0EwMDAwOTA0MDAwMDAyRUYKKzoxMDExMjAwMEZGMDAwMDA0MDcwNTgyMDI0MDAwMDAwNzA1MDIwMjQwOUMKKzoxMDExMzAwMDAwMDAwNDAzMDkwNDI2MDM0MTAwNkUwMDYzMDA2ODAwRjgKKzoxMDExNDAwMDZGMDA3MjAwMjAwMDQzMDA2ODAwNjkwMDcwMDA3MzAwQTcKKzoxMDExNTAwMDJDMDAyMDAwNDkwMDZFMDA2MzAwMkUwMDI4MDM0NjAwOEEKKzoxMDExNjAwMDY5MDA3MjAwNkQwMDc3MDA2MTAwNzIwMDY1MDAyMDAwNjgKKzoxMDExNzAwMDQ2MDA3MjAwNjEwMDZEMDA2NTAwNTcwMDZGMDA3MjAwNEMKKzoxMDExODAwMDZCMDA3MzAwMkEwMzQzMDA2RjAwNkUwMDY2MDA2OTAwNjUKKzoxMDExOTAwMDY3MDA3NTAwNzIwMDYxMDA3NDAwNjkwMDZGMDA2RTAwRTYKKzoxMDExQTAwMDIwMDA1MzAwNzQwMDcyMDA2OTAwNkUwMDY3MDAyMjAzODMKKzoxMDExQjAwMDQ5MDA2RTAwNzQwMDY1MDA3MjAwNjYwMDYxMDA2MzAwMDMKKzoxMDExQzAwMDY1MDAyMDAwNTMwMDc0MDA3MjAwNjkwMDZFMDA2NzAwMjMKKzowMjExRDAwMDAwMDAxRAorOjAwMDAwMDAxRkYKKy8qCitTb3VyY2U6IEVNSUxPQUQuSEVYCitWRVJTSU9OPTEuMC4yLjAwMgorREFURT0xMC4wMS4yMDAyCitFTUkyNl82MgorKi8KZGlmZiAtLWdpdCBhL2Zpcm13YXJlL2VtaTYyL21pZGkuSEVYIGIvZmlybXdhcmUvZW1pNjIvbWlkaS5IRVgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzJhMGQ2NQotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2VtaTYyL21pZGkuSEVYCkBAIC0wLDAgKzEsMTI2NiBAQAorOjAzMDAwMDAwMDI0NkI5RkMKKzowMzAwMDMwMDAyMEZGREVDCis6MDMwMDBCMDAwMjRFMEY5MworOjAzMDAxMzAwMDIxN0ZERDQKKzowMzAwMUIwMDAyNEUxMjgwCis6MDMwMDIzMDAwMjRERUY5QworOjAzMDAyQjAwMDI0ODAwODgKKzowMzAwMzMwMDAyNERFNjk1Cis6MDMwMDNCMDAwMjRERjY3RAorOjAzMDA0MzAwMDI0OTAwNkYKKzowMzAwNEIwMDAyNEUwMzVGCis6MDMwMDUzMDAwMjQ4RkE2NgorOjAzMDA1QjAwMDI0REZENTYKKzowMzAwNjMwMDAyNEUwNzQzCis6MTAwNTAwMDAxMjAxMTAwMTAwMDAwMDQwNkEwODExMDEwMDAxMDEwMkZGCis6MTAwNTEwMDAwMDAxMDkwMjA4MDIwNTAxMDA4MDMyMDkwNDAwMDAwMDAwCis6MTAwNTIwMDAwMTAxMDAwMDBBMjQwMTAwMDE1NjAwMDIwMTAyMEMyNDBFCis6MTAwNTMwMDAwMjAxMDEwMTAwMDIwMDAwMDAwMDBEMjQwNjA1MDEwMjc1Cis6MTAwNTQwMDAwMzAwMDAwMDAwMDAwMDA5MjQwMzAyMDQwMzAwMDUwMDZBCis6MTAwNTUwMDAwQzI0MDIwMzA1MDIwMDA2MDAwMDAwMDAxNTI0MDYwNjE0Cis6MTAwNTYwMDAwMzAyMDAwMDAzMDAwMzAwMDMwMDAzMDAwMzAwMDMwMDc0Cis6MTAwNTcwMDAwMDA5MjQwMzA0MDEwMTAwMDYwMDA5MDQwMTAwMDAwMTMwCis6MTAwNTgwMDAwMjAwMDAwOTA0MDEwMTAyMDEwMjAwMDAwNzI0MDEwMTI4Cis6MTAwNTkwMDAwMDAxMDAxMTI0MDIwMTAyMDIxMDAzNDRBQzAwODBCQkUwCis6MTAwNUEwMDAwMDAwNzcwMTA5MDUwQTA1ODQwMTAxMDA4RjA3MjUwMTc0Cis6MTAwNUIwMDAwMTAwMDAwMDA5MDU4RjAxMDMwMDAxMDUwMDA5MDQwMTg1Cis6MTAwNUMwMDAwMjAyMDEwMjAwMDAwNzI0MDEwMTAwMDEwMDExMjQwMkJGCis6MTAwNUQwMDAwMTAyMDMxODAzNDRBQzAwODBCQjAwMDA3NzAxMDkwNTQ5Cis6MTAwNUUwMDAwQTA1NDYwMjAxMDA4RjA3MjUwMTAxMDAwMDAwMDkwNUU4Cis6MTAwNUYwMDA4RjAxMDMwMDAxMDUwMDA5MDQwMjAwMDAwMTAyMDAwMDUwCis6MTAwNjAwMDAwOTA0MDIwMTAxMDEwMjAwMDAwNzI0MDEwNDAwMDEwMEE1Cis6MTAwNjEwMDAwRTI0MDIwMTA2MDIxMDAyNDRBQzAwODBCQjAwMDkwNTUyCis6MTAwNjIwMDA4QzA1NEMwMjAxMDAwMDA3MjUwMTAwMDIwMDAwMDkwNEFFCis6MTAwNjMwMDAwMjAyMDEwMTAyMDAwMDA3MjQwMTA0MDAwMTAwMEUyNDRGCis6MTAwNjQwMDAwMjAxMDYwMzE4MDI0NEFDMDA4MEJCMDAwOTA1OEMwNUJBCis6MTAwNjUwMDA3MjAzMDEwMDAwMDcyNTAxMDAwMjAwMDAwOTA0MDIwM0UzCis6MTAwNjYwMDAwMTAxMDIwMDAwMDcyNDAxMDQwMDAxMDAxMTI0MDIwMTFECis6MTAwNjcwMDAwMjAyMTAwMzQ0QUMwMDgwQkIwMDAwNzcwMTA5MDU4QzI2Cis6MTAwNjgwMDAwNTg0MDEwMTAwMDAwNzI1MDEwMDAyMDAwMDA5MDQwMkExCis6MTAwNjkwMDAwNDAxMDEwMjAwMDAwNzI0MDEwNDAwMDEwMDExMjQwMkVBCis6MTAwNkEwMDAwMTAyMDMxODAzNDRBQzAwODBCQjAwMDA3NzAxMDkwNTc4Cis6MTAwNkIwMDA4QzA1NDYwMjAxMDAwMDA3MjUwMTAwMDIwMDAwMDkwNDI0Cis6MTAwNkMwMDAwMzAwMDAwMTAxMDAwMDA5MjQwMTAwMDEwOTAwMDEwNEU4Cis6MTAwNkQwMDAwOTA0MDQwMDAyMDEwMzAwMDAwNzI0MDEwMDAxMjQwMEIyCis6MTAwNkUwMDAwNjI0MDIwMTA3MDAwOTI0MDMwMjA4MDEwNzAxMDAwNjhECis6MTAwNkYwMDAyNDAyMDIwOTAwMDkyNDAzMDEwQTAxMDkwMTAwMDkwNTc1Cis6MTAwNzAwMDAwMTAyMDQwMDAwMDAwMDA1MjUwMTAxMDcwOTA1ODEwMjFFCis6MTAwNzEwMDAwNDAwMDAwMDAwMDUyNTAxMDEwQTA0MDMwOTA0MTgwMzcwCis6MTAwNzIwMDA0NTAwNkQwMDYxMDA2NzAwNjkwMDYzMDAyMDAwNDcwMDFDCis6MTAwNzMwMDA2RDAwNjIwMDQ4MDAyMjAzNDUwMDZEMDA2MTAwNjcwMDAzCis6MTAwNzQwMDA2OTAwNjMwMDIwMDA0NTAwNEQwMDQ5MDAyMDAwMzYwMDhDCis6MTAwNzUwMDA3QzAwMzIwMDIwMDA2RDAwMkEwMzQzMDA2RjAwNkUwMDExCis6MTAwNzYwMDA2NjAwNjkwMDY3MDA3NTAwNzIwMDYxMDA3NDAwNjkwMDJFCis6MTAwNzcwMDA2RjAwNkUwMDIwMDA1MzAwNzQwMDcyMDA2OTAwNkUwMDZDCis6MTAwNzgwMDA2NzAwMjIwMzQ5MDA2RTAwNzQwMDY1MDA3MjAwNjYwMDc1Cis6MTAwNzkwMDA2MTAwNjMwMDY1MDAyMDAwNTMwMDc0MDA3MjAwNjkwMDZFCis6MDYwN0EwMDA2RTAwNjcwMDAwMDA3RQorOjEwMDdBNjAwRTQ5MDc2NjZGMDEyNDRBRDIwMjYxMzkwNzY2NkUwQzM5OAorOjEwMDdCNjAwOTQwMjUwMEFFMDA0RjBEMjQyMTI0QjdGODBFQTMwMjZCRgorOjEwMDdDNjAwMDUxMjI4MDFDMjI2MzAyNTJCOTA3Njk2RTA1NEZDRjBCRgorOjEwMDdENjAwOTA4MDAzRjAxMjE0OTY5MDc2OTZFMDQ0MDNGMDkwODA5MQorOjEwMDdFNjAwMDNGMEU0OTA3NjY3RjA5MDc2NjdFMDA0RjBFMEI0NEJBRgorOjBBMDdGNjAwRjYxMjQ3RkExMjQxMUI4MEM1MjJEQgorOjEwMDgwMDAwRTQ5MDc2MzFGMDkwNzYzMUUwRkY3NUYwMDNBNDI0MEY4OAorOjEwMDgxMDAwRjU4MkU0MzQ3NUY1ODNFMEZFOTA3RkVERTBGREVFNkQ0QQorOjEwMDgyMDAwNjAwRUVGQzM5NDBCNTAwODkwNzYzMUUwMDRGMDgwRDU1MQorOjEwMDgzMDAwRUZCNDBCMDg5MDdGQjRFMDQ0MDFGMDIyRUY3NUYwMDNCMQorOjEwMDg0MDAwQTQyNDBFRjU4MkU0MzQ3NUY1ODNFMDkwNzYzM0YwMjQyOQorOjEwMDg1MDAwRjA2MDBBMjQwRTYwMDI4MTg3MTI0QkM3MjI5MDdGRUQ2MAorOjEwMDg2MDAwRTA2NDA1NzA1MTkwNzYxODc0MDVGMDkwNzYzNzc0MDE0NQorOjEwMDg3MDAwRjA5MDc2Mzk3NDAzRjA5MDc2MjFGMEU0OTA3NjIwRjBEMQorOjEwMDg4MDAwOTA3RkVBRTBGNDYwMkY5MDc2MjBFMEZGNzVGMDBBQTRGNAorOjEwMDg5MDAwMjRBQUY1ODJFNDM0NzVGNTgzRTBGRTkwN0ZFQUUwRkQ1QQorOjEwMDhBMDAwRUU2RDYwMTI5MDc2MjFFMEZFRUZDMzlFNTAwODkwNzZDOAorOjEwMDhCMDAwMjBFMDA0RjA4MEQxOTA3RkVERTA2NDA2NzA1MjkwNzZFNQorOjEwMDhDMDAwMTg3NDA2RjA5MDc2Mzc3NDA0RjA5MDc2Mzk3NDBBRjA1NAorOjEwMDhEMDAwOTA3NjIxRjA5MDc2MjA3NDAzRjA5MDdGRUFFMEY0NjA0NworOjEwMDhFMDAwMkY5MDc2MjBFMEZGNzVGMDBBQTQyNEFBRjU4MkU0MzQ2NAorOjEwMDhGMDAwNzVGNTgzRTBGRTkwN0ZFQUUwRkRFRTZENjAxMjkwNzY4NAorOjEwMDkwMDAwMjFFMEZFRUZDMzlFNTAwODkwNzYyMEUwMDRGMDgwRDFGNQorOjEwMDkxMDAwOTA3NjIwRTBGRjc1RjAwQUE0MjRBQUY1ODJFNDM0NzVFRAorOjEwMDkyMDAwRjU4M0UwOTA3MjI5RjBFNDkwNzYzQkYwOTA3NjIxRTAzOAorOjEwMDkzMDAwRkVFRjZFNzAwODkwN0ZCNEUwNDQwMUYwMjI5MDdGRUJGMAorOjEwMDk0MDAwRTAxNDYwMTMxNDcwMDIyMUUyMjQwMjYwMDI4MTdGOTA5RgorOjEwMDk1MDAwN0ZCNEUwNDQwMUYwMjI5MDdGRTlFMDE0NzA3QzkwN0Y0NgorOjEwMDk2MDAwRUFFMEY0NzA0ODkwNzYzN0UwOTA3NjIwRjA5MDc2Mzk5RgorOjEwMDk3MDAwRTBGRTkwNzYyMEUwRkRDMzlFNTAyQjkwNzYzQkUwRkU5QgorOjEwMDk4MDAwMDRGMDc0QzAyRUY1ODJFNDM0N0VGNTgzRTBGRUVENzU0QworOjEwMDk5MDAwRjAwQUE0MjRBQkY1ODJFNDM0NzVGNTgzRUVGMDkwNzY4QQorOjEwMDlBMDAwMjBFMDA0RjA4MEM3OTA3NjNGNzQwMUYwMjI5MDdFQzA3MgorOjEwMDlCMDAwRTBGRUVGNzVGMDBBQTQyNEFCRjU4MkU0MzQ3NUY1ODMwQworOjEwMDlDMDAwRUVGMEUwQjQwMTA4OTA3NjNFNzQwMUYwODAwNUU0OTAwQQorOjEwMDlEMDAwNzYzRUYwOTA3NjNGNzQwMUYwMjI5MDdGQjRFMDQ0MDFCRgorOjEwMDlFMDAwRjAyMjkwN0ZFOUUwMjRGRTcwMDI0MUEzMTQ3MDAyNjFCRQorOjEwMDlGMDAwM0YxNDcwMDI2MURCMjQwMzYwMDI4MTc3OTA3RkVBRTA5QworOjEwMEEwMDAwRjQ3MDZCOTA3NjM3RTA5MDc2MjBGMDkwNzYzOUUwRkZDNgorOjEwMEExMDAwOTA3NjIwRTBGRUMzOUY1MDRFOTA3NjNCRTBGRjA0RjBCRQorOjEwMEEyMDAwNzRDMDJGRjU4MkU0MzQ3RUY1ODNFMEZGRUU3NUYwMEFBMgorOjEwMEEzMDAwQTQyNEFDRjU4MkU0MzQ3NUY1ODNFRkYwOTA3NjNCRTBDNgorOjEwMEE0MDAwRkYwNEYwNzRDMDJGRjU4MkU0MzQ3RUY1ODNFMEZGRUVGRQorOjEwMEE1MDAwNzVGMDBBQTQyNEFERjU4MkU0MzQ3NUY1ODNFRkYwOTBDNworOjEwMEE2MDAwNzYyMEUwMDRGMDgwQTQ5MDc2NDA3NDAxRjAyMjkwN0UxRAorOjEwMEE3MDAwQzBFMEZGOTA3NjIwRTBGRTc1RjAwQUE0MjRBQ0Y1ODI3OQorOjEwMEE4MDAwRTQzNDc1RjU4M0VGRjA5MDdFQzFFMEZGRUU3NUYwMEE3NworOjEwMEE5MDAwQTQyNEFERjU4MkU0MzQ3NUY1ODNFRkYwOTA3NjQxNzRDQgorOjEwMEFBMDAwMDFGMDIyOTA3RkVBRTBGNDcwNjY5MDc2MzdFMDkwNzY2RAorOjEwMEFCMDAwMjBGMDkwNzYzOUUwRkY5MDc2MjBFMEZFQzM5RjQwMDI2MAorOjEwMEFDMDAwODE4RTkwNzYzQkUwRkYwNEYwNzRDMDJGRjU4MkU0MzQxMQorOjEwMEFEMDAwN0VGNTgzRTBGRkVFNzVGMDBBQTQyNEFFRjU4MkU0MzRERgorOjEwMEFFMDAwNzVGNTgzRUZGMDkwNzYzQkUwRkYwNEYwNzRDMDJGRjVDRQorOjEwMEFGMDAwODJFNDM0N0VGNTgzRTBGRkVFNzVGMDBBQTQyNEFGRjVCRQorOjEwMEIwMDAwODJFNDM0NzVGNTgzRUZGMDkwNzYyMEUwMDRGMDgwQTI2MworOjEwMEIxMDAwOTA3RUMwRTBGRjkwNzYyMEUwRkU3NUYwMEFBNDI0QUUzRgorOjEwMEIyMDAwRjU4MkU0MzQ3NUY1ODNFRkYwOTA3RUMxRTBGRkVFNzU1OQorOjEwMEIzMDAwRjAwQUE0MjRBRkY1ODJFNDM0NzVGNTgzRUZGMDIyOTAzNworOjEwMEI0MDAwN0ZFQUUwRjQ3MDY2OTA3NjM3RTA5MDc2MjBGMDkwNzY1OQorOjEwMEI1MDAwMzlFMEZGOTA3NjIwRTBGRUMzOUY0MDAyODE4RTkwNzZDMAorOjEwMEI2MDAwM0JFMEZGMDRGMDc0QzAyRkY1ODJFNDM0N0VGNTgzRTBBRgorOjEwMEI3MDAwRkZFRTc1RjAwQUE0MjRCMEY1ODJFNDM0NzVGNTgzRUYzNgorOjEwMEI4MDAwRjA5MDc2M0JFMEZGMDRGMDc0QzAyRkY1ODJFNDM0N0VGMQorOjEwMEI5MDAwRjU4M0UwRkZFRTc1RjAwQUE0MjRCMUY1ODJFNDM0NzUyNAorOjEwMEJBMDAwRjU4M0VGRjA5MDc2MjBFMDA0RjA4MEEyOTA3RUMwRTAyNAorOjEwMEJCMDAwRkY5MDc2MjBFMEZFNzVGMDBBQTQyNEIwRjU4MkU0MzRCQworOjEwMEJDMDAwNzVGNTgzRUZGMDkwN0VDMUUwRkZFRTc1RjAwQUE0MjQ4NgorOjEwMEJEMDAwQjFGNTgyRTQzNDc1RjU4M0VGRjAyMjkwN0ZFQUUwRjQxQQorOjEwMEJFMDAwNzA2NjkwNzYzN0UwOTA3NjIwRjA5MDc2MzlFMEZGOTA0RQorOjEwMEJGMDAwNzYyMEUwRkVDMzlGNDAwMjgxOEU5MDc2M0JFMEZGMDRBQQorOjEwMEMwMDAwRjA3NEMwMkZGNTgyRTQzNDdFRjU4M0UwRkZFRTc1RjBEQQorOjEwMEMxMDAwMEFBNDI0QjJGNTgyRTQzNDc1RjU4M0VGRjA5MDc2M0JCNAorOjEwMEMyMDAwRTBGRjA0RjA3NEMwMkZGNTgyRTQzNDdFRjU4M0UwRkYyQQorOjEwMEMzMDAwRUU3NUYwMEFBNDI0QjNGNTgyRTQzNDc1RjU4M0VGRjA4MQorOjEwMEM0MDAwOTA3NjIwRTAwNEYwODBBMjkwN0VDMEUwRkY5MDc2MjBCNQorOjEwMEM1MDAwRTBGRTc1RjAwQUE0MjRCMkY1ODJFNDM0NzVGNTgzRUY2MgorOjEwMEM2MDAwRjA5MDdFQzFFMEZGRUU3NUYwMEFBNDI0QjNGNTgyRTRCMworOjEwMEM3MDAwMzQ3NUY1ODNFRkYwMjI5MDdGQjRFMDQ0MDFGMDIyOTBDOAorOjBGMEM4MDAwN0ZCNEUwNDQwMUYwMjI5MDdGQjRFMDQ0MDFGMDIyMDEKKzoxMDBDOEYwMDQxNzY2ODAxNDE3NjZBMDI0MTc2NkIwQUMxMjBDMTIxMjMKKzowMjBDOUYwMEMxMkY2MworOjA0MENBMTAwNDE3NjIzMDA3NQorOjEwMENBNTAwNDE3MjAxMDE0NTcyMDUwMDAyQzkwMDAwNDU3MjBBMDA0MgorOjEwMENCNTAwMDEwMjAzMDQ0RDcyMEZEMTAwRDEwMDAwMDAwMDAwMDBCNQorOjEwMENDNTAwMjgyODA5MDA0RDcyMUMwMTAwMDEwMjAzMDQwNTA2MDdDRQorOjEwMENENTAwMDgwOTBBMEI0MTcyMkUyMjQxNzIyRjIzNDE3MjMwMjBERQorOjEwMENFNTAwNDE3MjMxMjE2MkQyNzIzQTAwMDAwMDAwMDAwMDAwMDAxQQorOjEwMENGNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRgorOjEwMEQwNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERQorOjEwMEQxNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRQorOjEwMEQyNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRQorOjEwMEQzNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRQorOjEwMEQ0NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RQorOjEwMEQ1NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RQorOjEwMEQ2NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RQorOjEwMEQ3NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAxMDEwMTAxMDE2OAorOjEwMEQ4NTAwMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDE0RQorOjEwMEQ5NTAwMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEzRQorOjEwMERBNTAwMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEyRQorOjEwMERCNTAwMDEwMTAxMDEwMTAxMDEwMTAyMDIwMjAyMDIwMjAyMDIxNgorOjEwMERDNTAwMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDJGRQorOjEwMERENTAwMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDJFRQorOjEwMERFNTAwMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDJERQorOjEwMERGNTAwMDIwMjAyMDIwMjAzMDMwMzAzMDMwMzAzMDMwMzAzMDNDMworOjEwMEUwNTAwMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDNBRAorOjEwMEUxNTAwMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDM5RAorOjEwMEUyNTAwMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDM4RAorOjEwMEUzNTAwMDMwMzA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQ2RgorOjEwMEU0NTAwMDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQ1RAorOjEwMEU1NTAwMDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQ0RAorOjEwMEU2NTAwMDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQzRAorOjEwMEU3NTAwMDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUxRAorOjEwMEU4NTAwMDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwRAorOjEwMEU5NTAwMDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDVGRAorOjEwMEVBNTAwMDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA2MDZFQgorOjEwMEVCNTAwMDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDZDRAorOjEwMEVDNTAwMDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDZCRAorOjEwMEVENTAwMDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDZBRAorOjEwMEVFNTAwMDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA3MDcwNzA4MDg5NgorOjEwMEVGNTAwMDgwOTA5MDkwQTBBMEEwQjBCMEIwQzBDMEMwRDBEMEQ0MAorOjEwMEYwNTAwMEUwRTBFMEYwRjBGMTAxMDEwMTExMTExMTIxMjEyMTNEOQorOjEwMEYxNTAwMTMxMzE0MTQxNDE1MTUxNTE2MTYxNjE3MTcxNzE4MTg3NAorOjEwMEYyNTAwMTgxOTE5MTkxOTFBMUExQTFBMUIxQjFCMUIxQzFDMUMxOAorOjEwMEYzNTAwMUMxRDFEMUQxRDFFMUUxRTFFMUYxRjFGMUYyMDIwMjBDOAorOjEwMEY0NTAwMjEyMTIxMjIyMjIyMjMyMzI0MjQyNTI1MjYyNjI3Mjc2MQorOjEwMEY1NTAwMjgyODI5MjkyQTJBMkIyQjJDMkMyRDJEMkUyRTJGMkZENAorOjEwMEY2NTAwMzAzMDMxMzEzMjMyMzMzMzM0MzQzNTM1MzYzNjM3Mzc0NAorOjEwMEY3NTAwMzgzODM5MzkzQTNBM0IzQzNEM0UzRjQwNDE0MjQzNDQ5QgorOjEwMEY4NTAwNDU0NjQ3NDg0OTQ5NEE0QjRCNEM0RDRFNEY1MDUxNTJBNworOjEwMEY5NTAwNTM1NDU1NTU1NjU2NTc1NzU4NUE1QjVENUU1RjYxNjJCNworOjEwMEZBNTAwNjM2NDY1NjY2NzY4Njk2QTZCNkM2RDZGNzE3MjczNzQ4QgorOjEwMEZCNTAwNzU3Njc3Nzg3OTdBN0I3QzdFODAwMTM3MDEwMTM4MDBGOAorOjAxMEZDNTAwMDAyQgorOjEwMEZDNjAwRTRGRjc0NDYyRkY1ODJFNDM0NzZGNTgzRTBGRTc0MjA2MAorOjEwMEZENjAwMkZGNTgyRTQzNDgwRjU4M0VFRjA3NDRFMkZGNTgyRTQyQgorOjEwMEZFNjAwMzQ3NkY1ODNFMEZFNzQzMDJGRjU4MkU0MzQ4MEY1ODNBMQorOjA2MEZGNjAwRUVGMDBGQkYwOENDNzUKKzowMTBGRkMwMDIyRDIKKzowMzBGRkQwMEMyODkzMjc0Cis6MTAxMDAwMDBFNDkwNzYyQ0YwOTA3NjJDRTBGRjc1RjAwM0E0MjQwRjhBCis6MTAxMDEwMDBGNTgyRTQzNDc1RjU4M0UwRkU5MDdGRURFMEZERUU2RDQyCis6MTAxMDIwMDA2MDBFRUZDMzk0MEI1MDA4OTA3NjJDRTAwNEYwODBENTRFCis6MTAxMDMwMDBFRkI0MEIwODkwN0ZCNEUwNDQwMUYwMjJFRjc1RjAwM0E5Cis6MTAxMDQwMDBBNDI0MEVGNTgyRTQzNDc1RjU4M0UwOTA3NjJFRjAyNDI2Cis6MTAxMDUwMDBGMDYwMEEyNDBGNjAwMjgxN0QxMjRCQTQyMjkwN0ZFRDg0Cis6MTAxMDYwMDBFMDY0MDU3MDUxOTA3NjE4NzQwNUYwOTA3NjM4NzQwMTNDCis6MTAxMDcwMDBGMDkwNzYzQTc0MDNGMDkwNzYxQ0YwRTQ5MDc2MUJGMEQyCis6MTAxMDgwMDA5MDdGRUFFMEY0NjAyRjkwNzYxQkUwRkY3NUYwMEFBNEYxCis6MTAxMDkwMDAyNEFBRjU4MkU0MzQ3NUY1ODNFMEZFOTA3RkVBRTBGRDUyCis6MTAxMEEwMDBFRTZENjAxMjkwNzYxQ0UwRkVFRkMzOUU1MDA4OTA3NkM1Cis6MTAxMEIwMDAxQkUwMDRGMDgwRDE5MDdGRURFMDY0MDY3MDUyOTA3NkUyCis6MTAxMEMwMDAxODc0MDZGMDkwNzYzODc0MDRGMDkwNzYzQTc0MEFGMDRBCis6MTAxMEQwMDA5MDc2MUNGMDkwNzYxQjc0MDNGMDkwN0ZFQUUwRjQ2MDQ5Cis6MTAxMEUwMDAyRjkwNzYxQkUwRkY3NUYwMEFBNDI0QUFGNTgyRTQzNDYxCis6MTAxMEYwMDA3NUY1ODNFMEZFOTA3RkVBRTBGREVFNkQ2MDEyOTA3NjdDCis6MTAxMTAwMDAxQ0UwRkVFRkMzOUU1MDA4OTA3NjFCRTAwNEYwODBEMUY3Cis6MTAxMTEwMDBFNDkwNzYxRUYwOTA3NjFDRTBGRjkwNzYxQkUwRkU2RjY4Cis6MTAxMTIwMDA3MDA4OTA3RkI0RTA0NDAxRjAyMjkwN0ZFQkUwMTQ2MEZGCis6MTAxMTMwMDAxMzE0NzAwMjIxQkYyNDAyNjAwMjgxNzU5MDdGQjRFMDE1Cis6MTAxMTQwMDA0NDAxRjAyMjkwN0ZFOUUwMjQ3RjcwNkI5MDdGRUFFMDE5Cis6MTAxMTUwMDBGNDcwNEE5MDc2MzhFMDkwNzYxQkYwOTA3NjNBRTBGRjkzCis6MTAxMTYwMDA5MDc2MUJFMEZEQzM5RjUwMkJFRDc1RjAwQUE0MjRBQkQ1Cis6MTAxMTcwMDBGNTgyRTQzNDc1RjU4M0UwRkY5MDc2MUVFMEZEMDRGMDFGCis6MTAxMTgwMDA3NDAwMkRGNTgyRTQzNDdGRjU4M0VGRjA5MDc2MUJFMDU4Cis6MTAxMTkwMDAwNEYwODBDNzkwNzYxRUUwOTA3RkI1RjAyMkVFNzVGMEU3Cis6MTAxMUEwMDAwQUE0MjRBQkY1ODJFNDM0NzVGNTgzRTA5MDdGMDBGMDY3Cis6MTAxMUIwMDA5MDdGQjU3NDAxRjAyMjkwN0ZCNEUwNDQwMUYwMjI5MDVBCis6MTAxMUMwMDA3RkU5RTAyNDdFNzAwMjQxN0UxNDcwMDI2MTIzMTQ3MDc2Cis6MTAxMUQwMDAwMjYxQzgyNDAzNjAwMjgxNkQ5MDdGRUFFMEY0NzA2REMzCis6MTAxMUUwMDA5MDc2MzhFMDkwNzYxQkYwOTA3NjNBRTBGRjkwNzYxQjkwCis6MTAxMUYwMDBFMEMzOUY1MDRGRTBGRjc1RjAwQUE0MjRBQ0Y1ODJFNEYxCis6MTAxMjAwMDAzNDc1RjU4M0UwRkU5MDc2MUVFMEZEMDRGMDc0MDAyRDQ5Cis6MTAxMjEwMDBGNTgyRTQzNDdGRjU4M0VFRjBFRjc1RjAwQUE0MjRBRDk3Cis6MTAxMjIwMDBGNTgyRTQzNDc1RjU4M0UwRkY5MDc2MUVFMEZFMDRGMDZECis6MTAxMjMwMDA3NDAwMkVGNTgyRTQzNDdGRjU4M0VGRjA5MDc2MUJFMEE2Cis6MTAxMjQwMDAwNEYwODBBNDkwNzYxRUUwOTA3RkI1RjAyMjkwNzYxQjhCCis6MTAxMjUwMDBFMEZGNzVGMDBBQTQyNEFDRjU4MkU0MzQ3NUY1ODNFMDcwCis6MTAxMjYwMDA5MDdGMDBGMEVGNzVGMDBBQTQyNEFERjU4MkU0MzQ3NUE4Cis6MTAxMjcwMDBGNTgzRTA5MDdGMDFGMDkwN0ZCNTc0MDJGMDIyOTA3RkJCCis6MTAxMjgwMDBFQUUwRjQ3MDZEOTA3NjM4RTA5MDc2MUJGMDkwNzYzQTU0Cis6MTAxMjkwMDBFMEZGOTA3NjFCRTBDMzlGNTA0RkUwRkY3NUYwMEFBNDdCCis6MTAxMkEwMDAyNEFFRjU4MkU0MzQ3NUY1ODNFMEZFOTA3NjFFRTBGRDExCis6MTAxMkIwMDAwNEYwNzQwMDJERjU4MkU0MzQ3RkY1ODNFRUYwRUY3NUQxCis6MTAxMkMwMDBGMDBBQTQyNEFGRjU4MkU0MzQ3NUY1ODNFMEZGOTA3NjRDCis6MTAxMkQwMDAxRUUwRkUwNEYwNzQwMDJFRjU4MkU0MzQ3RkY1ODNFRjA3Cis6MTAxMkUwMDBGMDkwNzYxQkUwMDRGMDgwQTQ5MDc2MUVFMDkwN0ZCNTJECis6MTAxMkYwMDBGMDIyOTA3NjFCRTBGRjc1RjAwQUE0MjRBRUY1ODJFNDlDCis6MTAxMzAwMDAzNDc1RjU4M0UwOTA3RjAwRjBFRjc1RjAwQUE0MjRBRjA4Cis6MTAxMzEwMDBGNTgyRTQzNDc1RjU4M0UwOTA3RjAxRjA5MDdGQjU3NDM5Cis6MTAxMzIwMDAwMkYwMjI5MDdGRUFFMEY0NzA2RDkwNzYzOEUwOTA3NkRCCis6MTAxMzMwMDAxQkYwOTA3NjNBRTBGRjkwNzYxQkUwQzM5RjUwNEZFMEExCis6MTAxMzQwMDBGRjc1RjAwQUE0MjRCMEY1ODJFNDM0NzVGNTgzRTBGRTVECis6MTAxMzUwMDA5MDc2MUVFMEZEMDRGMDc0MDAyREY1ODJFNDM0N0ZGNUY0Cis6MTAxMzYwMDA4M0VFRjBFRjc1RjAwQUE0MjRCMUY1ODJFNDM0NzVGNTRDCis6MTAxMzcwMDA4M0UwRkY5MDc2MUVFMEZFMDRGMDc0MDAyRUY1ODJFNDE4Cis6MTAxMzgwMDAzNDdGRjU4M0VGRjA5MDc2MUJFMDA0RjA4MEE0OTA3NjM0Cis6MTAxMzkwMDAxRUUwOTA3RkI1RjAyMjkwNzYxQkUwRkY3NUYwMEFBNDY2Cis6MTAxM0EwMDAyNEIwRjU4MkU0MzQ3NUY1ODNFMDkwN0YwMEYwRUY3NUFBCis6MTAxM0IwMDBGMDBBQTQyNEIxRjU4MkU0MzQ3NUY1ODNFMDkwN0YwMTRFCis6MTAxM0MwMDBGMDkwN0ZCNTc0MDJGMDIyOTA3RkVBRTBGNDcwNkQ5MEE3Cis6MTAxM0QwMDA3NjM4RTA5MDc2MUJGMDkwNzYzQUUwRkY5MDc2MUJFMDRFCis6MTAxM0UwMDBDMzlGNTA0RkUwRkY3NUYwMEFBNDI0QjJGNTgyRTQzNEE1Cis6MTAxM0YwMDA3NUY1ODNFMEZFOTA3NjFFRTBGRDA0RjA3NDAwMkRGNTk3Cis6MTAxNDAwMDA4MkU0MzQ3RkY1ODNFRUYwRUY3NUYwMEFBNDI0QjNGNTlGCis6MTAxNDEwMDA4MkU0MzQ3NUY1ODNFMEZGOTA3NjFFRTBGRTA0RjA3NEZDCis6MTAxNDIwMDAwMDJFRjU4MkU0MzQ3RkY1ODNFRkYwOTA3NjFCRTAwNDI0Cis6MTAxNDMwMDBGMDgwQTQ5MDc2MUVFMDkwN0ZCNUYwMjI5MDc2MUJFMEJECis6MTAxNDQwMDBGRjc1RjAwQUE0MjRCMkY1ODJFNDM0NzVGNTgzRTA5MEM4Cis6MTAxNDUwMDA3RjAwRjBFRjc1RjAwQUE0MjRCM0Y1ODJFNDM0NzVGNTRCCis6MTAxNDYwMDA4M0UwOTA3RjAxRjA5MDdGQjU3NDAyRjAyMjkwN0ZCNDBBCis6MTAxNDcwMDBFMDQ0MDFGMDIyOTA3RkI0RTA0NDAxRjAyMjkwN0ZCNDc4Cis6MDUxNDgwMDBFMDQ0MDFGMDIyMzAKKzoxMDE0ODUwMDc0MDBGNTg2OTBGREE1N0MwNUEzRTU4MjQ1ODM3MEY5N0EKKzowMTE0OTUwMDIyMzQKKzoxMDE0OTYwMDkwN0ZENkUwNDQ4MEYwNDM4NzAxMDAwMDAwMDAwMDIyRTAKKzoxMDE0QTYwMEMwRDBDMEUwOEZFMEMwRTA4RUUwQzBFMDhERTBDMEUwREMKKzoxMDE0QjYwMDhDRTBDMEUwQzA4MkMwODMwNTg2QzA4NEMwODU3RDAwMDQKKzoxMDE0QzYwMDkwN0ZFMzc0N0JGMEEzNzQ4MEYwN0MxMTkwN0Y5OUUwQTkKKzoxMDE0RDYwMDU0NDBEQzAzMDIxNEYzQjQwMDEzOTA3RkUyNzQ0MEYwMkUKKzoxMDE0RTYwMDkwN0ZFNUYwOTA3RkUyNzQwMEYwMDIxNEQyOTA3NjkwM0YKKzoxMDE0RjYwMEUwQjQwMTEyOTA3NjhGRTAyREZEOTA3RkUyNzQ4MEYwQ0IKKzoxMDE1MDYwMDkwN0Y2QzAyMTU1N0I0MDIxMjkwNzY4RkUwMkRGRDkwRjUKKzoxMDE1MTYwMDdGRTI3NDgwRjA5MDdGNkMwMjE1OTZCNDAzMTI5MDc2ODkKKzoxMDE1MjYwMDhGRTAyREZEOTA3RkUyNzQ4MEYwOTA3RjZDMDIxNUUxRDQKKzoxMDE1MzYwMEI0MDQxMjkwNzY4RkUwMkRGRDkwN0ZFMjc0ODBGMDkwRDcKKzoxMDE1NDYwMDdGNkMwMjE2MTA5MDdGRTI3NDgwRjA5MDdGNkMwMjE2MUEKKzoxMDE1NTYwMDQwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRERGMjdEQjkKKzoxMDE1NjYwMDAyMDU4NjkwN0ZFMjc0MDBGMDkwN0Y5QkUwNTQwNEI0RkQKKzoxMDE1NzYwMDAwMDUwNTg2MDIxNjQwOTA3RkUyNzQ4MEYwMDU4NkYwMkQKKzoxMDE1ODYwMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBEREQ0MDIxNjQwRkMKKzoxMDE1OTYwMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwNDUKKzoxMDE1QTYwMEYwRjBEREVDN0QwMjA1ODY5MDdGRTI3NDAwRjA5MDdGMUUKKzoxMDE1QjYwMDlCRTA1NDA0QjQwMDA1MDU4NjAyMTY0MDkwN0ZFMjc0NTEKKzoxMDE1QzYwMDgwRjAwNTg2RjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwREEKKzowNjE1RDYwMEYwRjBGMEYwRjBGMDZGCis6MTAxNURDMDBERENFMDIxNjQwRjBGMEYwRjBEREZBN0QwMjA1ODY5MENCCis6MTAxNUVDMDA3RkUyNzQwMEYwOTA3RjlCRTA1NDA0QjQwMDA1MDU4NjA0Cis6MTAxNUZDMDAwMjE2NDA5MDdGRTI3NDgwRjAwNTg2RjBGMEYwRjBERDhBCis6MTAxNjBDMDBEQzAyMTY0MEYwRjBGMEYwRjBGMERERjg3RDAyMDU4NjFCCis6MTAxNjFDMDA5MDdGRTI3NDAwRjA5MDdGOUJFMDU0MDRCNDAwMDUwNUM5Cis6MTAxNjJDMDA4NjAyMTY0MDkwN0ZFMjc0ODBGMDA1ODZGMEYwRjBGMEIwCis6MTAxNjNDMDBGMEYwREREQTkwN0ZFMjc0MDBGMEQwODVEMDg0MDU4NjdFCis6MTAxNjRDMDBEMDgzRDA4MkQwRTBGQ0QwRTBGREQwRTBGRUQwRTBGRjMzCis6MDUxNjVDMDBEMEUwRDBEMDIyMTcKKzoxMDE2NjEwMEMwRDBDMEUwQzA4MkMwODM5MDc2N0NFMDkwN0Y2RkYwRjQKKzoxMDE2NzEwMDkwNzY3REUwOTA3RjZGRjA5MDc2N0VFMDkwN0Y2RkYwQzYKKzowOTE2ODEwMEQwODNEMDgyRDBFMEQwRDAyMjQ5Cis6MTAxNjhBMDBDMEQwQzBFMDhGRTBDMEUwOEVFMEMwRTBDMDgyQzA4MzdFCis6MTAxNjlBMDAwNTg2QzA4NEMwODU5MDc2ODdFMEZGQkYwMDAzMDIxN0U1Cis6MTAxNkFBMDAwMTkwN0Y5NkUwNDQ4MEYwOTA3RkUyNzQ4MEYwOTA3RjEyCis6MTAxNkJBMDA2MkUwMDU4NjkwN0ZFMjc0MDBGMDkwN0Y5NkUwNTQ3RkE2Cis6MTAxNkNBMDBGMDkwN0ZFMjc0ODBGMDkwNzY4RUUwQjQwMTA1MDU4NjkyCis6MTAxNkRBMDAwMjE2RjZCNDAyMDUwNTg2MDIxNkVCMDU4NjAyMTZGQjBCCis6MTAxNkVBMDBFMEUwRTBFMEUwRTBERkY4MDIxNkZCRTBFMEUwRTBERjY3Cis6MTAxNkZBMDBGQTkwN0ZFMjc0MDBGMEQwODVEMDg0MDU4NkQwODNEMDNBCis6MEMxNzBBMDA4MkQwRTBGRUQwRTBGRkQwRTBEMEQwMjI4MgorOjEwMTcxNjAwQzA4MkMwODNDMEUwRThDMEUwNzhEMUU4MTRGODcwRkI2RQorOjBBMTcyNjAwRDBFMEY4RDBFMEQwODNEMDgyMjI5QQorOjEwMTczMDAwQzA4MkMwODNDMEUwRThDMEUwNzg3OEU4MTRGODcwRkJBRAorOjBBMTc0MDAwRDBFMEY4RDBFMEQwODNEMDgyMjI4MAorOjA3MTc0QTAwOTA3RkM1NzQwMkYwMjIzQworOjEwMTc1MTAwOTA3RUMwRTA5MDc2NDVGMDkwN0VDMUUwOTA3NjQ0RjBCNgorOjEwMTc2MTAwOTA3RUMyRTA5MDc2NDNGMEI0MDAwMzAyMTc3ODkwNzY0MQorOjEwMTc3MTAwMTk3NDAzRjAwMjE3OEU5MDc2NDRFMEI0QkIwOTkwNzY5OQorOjEwMTc4MTAwMTk3NDAyRjAwMjE3OEU5MDc2MTk3NDAxRjA5MDc2NDI2NgorOjAzMTc5MTAwRTRGMDIyNUYKKzowNDE3OTQwMDhEMjk4QjJBRTYKKzoxMDE3OTgwMDEyNEE1NUVBNDk2MDU3MTIzNjkyN0UwMDI5RkZFRTNBRkUKKzoxMDE3QTgwMEM5RUZDOTc1MkJGRkY1MkM4OTJEQUIyQkFBMkNBOTJEQjgKKzoxMDE3QjgwMDkwMDAwMTEyMzZBQkZGNjQwNDYwMDVFRjY0MDU3MDJFREIKKzoxMDE3QzgwMEVGQjQwNDE1OTAwMDAyMTIzNkFCNjUyOTcwMEI5MDAwMzcKKzoxMDE3RDgwMDAzMTIzNkFCNjUyQTcwMDEyMjEyMzY5MjdFMDAyOUZGNjkKKzoxMDE3RTgwMEVFM0FDOUVGQzk3NTJCRkZGNTJDODkyRDgwQkM3QjAwMUIKKzowNDE3RjgwMDdBMDA3OTAwRkEKKzowMTE3RkMwMDIyQ0EKKzowMzE3RkQwMEMyOEIzMjZBCis6MTAxODAwMDA5MDc2OTBFMDE0NjAzNzE0NzAwMjAxRDgxNDcwMDIyMUIxCis6MTAxODEwMDA3MjE0NzAwMjQxM0IyNDA0NjAwMjYxMDM5MDdGRkM3NEU3Cis6MTAxODIwMDBDQ0YwOTA3RkZGNzRGQ0YwOTA3Njk1RTA0NDAxRjA1NDhBCis6MTAxODMwMDAwNUYwOTA4MDAxRjBFNDkwNzYxQUYwQzIyRTIyOTA3NkE2Cis6MTAxODQwMDA5NUUwNDQwMUYwNDQwMkYwMzAzRTA2RTA0NDA0RjA4MEFDCis6MTAxODUwMDAwNzkwNzY5NUUwNTRGQkYwOTA3NjFBRTBCNDAxMDg5MDdBCis6MTAxODYwMDA3Njk1RTA5MDgwMDFGMDkwNzYxOUUwRkZCNDAxMjI5MDI3Cis6MTAxODcwMDA3RkZDNzQ3NEYwOTA3RkZGNzRGQ0YwOTA3NjhGNzQyQjczCis6MTAxODgwMDBGMDkwNzY5N0UwNTRGREYwRTQ5MDc2ODFGMDkwNzY4MEM5Cis6MTAxODkwMDBGMEVGQjQwMjIyOTA3RkZDNzQ2OEYwOTA3RkZGNzRGQzNDCis6MTAxOEEwMDBGMDkwNzY4Rjc0MkZGMDkwNzY5N0UwNDQwMkYwRTQ5MEY5Cis6MTAxOEIwMDA3NjgxRjA5MDc2ODBGMDMwM0YwOTkwNzY5N0UwNTRGRTg0Cis6MTAxOEMwMDBGMDgwMDc5MDc2OTdFMDQ0MDFGMDkwNzY5N0UwNTRGQjIzCis6MTAxOEQwMDBGMDkwODAwMkYwRDIyRTIyOTA3Njk1RTA1NEZFRjA0NEYzCis6MTAxOEUwMDAwMkYwMzAzRTA2RTA0NDA0RjA4MDA3OTA3Njk1RTA1NDI0Cis6MTAxOEYwMDBGQkYwOTA3NjFBRTBCNDAxMDg5MDc2OTVFMDkwODAwMUI0Cis6MTAxOTAwMDBGMDkwNzYxOUUwRkZCNDAxMjI5MDdGRkM3NDMwRjA5MEUzCis6MTAxOTEwMDA3RkZGNzRGQ0YwOTA3NjhGNzQyQkYwOTA3Njk3RTA1NEY0Cis6MTAxOTIwMDBGREYwRTQ5MDc2ODFGMDkwNzY4MEYwRUZCNDAyMjI5MEEyCis6MTAxOTMwMDA3RkZDNzQxQ0YwOTA3RkZGNzRGQ0YwOTA3NjhGNzQyRjA2Cis6MTAxOTQwMDBGMDkwNzY5N0UwNDQwMkYwRTQ5MDc2ODFGMDkwNzY4MDEzCis6MTAxOTUwMDBGMDMwM0YwOTkwNzY5N0UwNTRGRUYwODAwNzkwNzY5NzNDCis6MTAxOTYwMDBFMDQ0MDFGMDkwNzY5N0UwNTRGQkYwOTA4MDAyRjBEMkQyCis6MTAxOTcwMDAyRTIyOTA3Njk1RTA0NDAxRjA0NDAyRjA0NDA4RjAzMEM1Cis6MTAxOTgwMDAzRTA2RTA0NDA0RjA4MDA3OTA3Njk1RTA1NEZCRjA5MDJBCis6MTAxOTkwMDA3NjFBRTBCNDAxMDg5MDc2OTVFMDkwODAwMUYwOTA3Njk4Cis6MTAxOUEwMDAxOUUwRkZCNDAxMjU5MDdGRkM3NENDRjA5MDdGRkY3NEE4Cis6MTAxOUIwMDBGQ0YwOTA3NjhGNzQyQkYwOTA3Njk3RTA1NEZERjA1NDA1Cis6MTAxOUMwMDBGQkYwRTQ5MDc2ODFGMDkwNzY4MEYwRUZCNDAyMjU5MDAxCis6MTAxOUQwMDA3RkZDNzRDOEYwOTA3RkZGNzRGQ0YwOTA3NjhGNzQyRkJBCis6MTAxOUUwMDBGMDkwNzY5N0UwNDQwMkYwNTRGQkYwRTQ5MDc2ODFGMEJBCis6MTAxOUYwMDA5MDc2ODBGMEVGQjQwMzI1OTA3RkZDNzQ5OEYwOTA3RjkwCis6MTAxQTAwMDBGRjc0RkNGMDkwNzY4Rjc0NUZGMDkwNzY5N0UwNTRGRDUxCis6MTAxQTEwMDBGMDQ0MDRGMEU0OTA3NjgxRjA5MDc2ODBGMDMwM0YwOTU1Cis6MTAxQTIwMDA5MDc2OTdFMDU0RkVGMDgwMDc5MDc2OTdFMDQ0MDFGMEJFCis6MTAxQTMwMDA5MDc2OTdFMDkwODAwMkYwRDIyRTIyOTA3Njk1RTA1NDM2Cis6MTAxQTQwMDBGRUYwNDQwMkYwNDQwOEYwMzAzRTA2RTA0NDA0RjA4MDJBCis6MTAxQTUwMDAwNzkwNzY5NUUwNTRGQkYwOTA3NjFBRTBCNDAxMDg5MDc4Cis6MTAxQTYwMDA3Njk1RTA5MDgwMDFGMDkwNzYxOUUwRkZCNDAxMjU5MDIyCis6MTAxQTcwMDA3RkZDNzRCNEYwOTA3RkZGNzRGQ0YwOTA3NjhGNzQyQjMxCis6MTAxQTgwMDBGMDkwNzY5N0UwNTRGREYwNTRGQkYwRTQ5MDc2ODFGMDBFCis6MTAxQTkwMDA5MDc2ODBGMEVGQjQwMjI1OTA3RkZDNzRCMEYwOTA3RkQ4Cis6MTAxQUEwMDBGRjc0RkNGMDkwNzY4Rjc0MkZGMDkwNzY5N0UwNDQwMkVDCis6MTAxQUIwMDBGMDU0RkJGMEU0OTA3NjgxRjA5MDc2ODBGMEVGQjQwMzgwCis6MTAxQUMwMDAyNTkwN0ZGQzc0NjhGMDkwN0ZGRjc0RkNGMDkwNzY4RjE3Cis6MTAxQUQwMDA3NDVGRjA5MDc2OTdFMDU0RkRGMDQ0MDRGMEU0OTA3NjYzCis6MTAxQUUwMDA4MUYwOTA3NjgwRjAzMDNGMDk5MDc2OTdFMDU0RkVGMEQ4Cis6MTAxQUYwMDA4MDA3OTA3Njk3RTA0NDAxRjA5MDc2OTdFMDkwODAwMjFFCis6MDQxQjAwMDBGMEQyMkUyMkNGCis6MTAxQjA0MDAzMDJDMzhDMjJDOTA3NjE5RTBGRkI0MDEwRTkwNzY3QzBDCis6MTAxQjE0MDA3NEMwRjBBMzc0MTRGMEEzNzQwQkYwRUZCNDAyMERFNERBCis6MTAxQjI0MDA5MDc2N0NGMEEzNzQxMEYwQTM3NDBDRjBFRkI0MDMwQjY0Cis6MEMxQjM0MDBFNDkwNzY3Q0YwQTM3NDE4RjBBM0YwMjI3QgorOjEwMUI0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5NQorOjEwMUI1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NQorOjEwMUI2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3NQorOjEwMUI3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NQorOjEwMUI4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NQorOjEwMUI5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NQorOjEwMUJBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzNQorOjEwMUJCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNQorOjEwMUJDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNQorOjEwMUJEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNQorOjEwMUJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGNQorOjEwMUJGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNQorOjEwMUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENAorOjEwMUMxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNAorOjEwMUMyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCNAorOjEwMUMzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNAorOjEwMUM0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5NAorOjEwMUM1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NAorOjEwMUM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3NAorOjEwMUM3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NAorOjEwMUM4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NAorOjEwMUM5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NAorOjEwMUNBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzNAorOjEwMUNCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNAorOjEwMUNDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNAorOjEwMUNEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNAorOjEwMUNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGNAorOjEwMUNGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNAorOjEwMUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMworOjEwMUQxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMworOjEwMUQyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMworOjEwMUQzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMworOjEwMUQ0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MworOjEwMUQ1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MworOjEwMUQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MworOjEwMUQ3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MworOjEwMUQ4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MworOjEwMUQ5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MworOjEwMURBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMworOjEwMURCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMworOjEwMURDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMworOjEwMUREMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMworOjEwMURFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMworOjEwMURGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMworOjEwMUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMgorOjEwMUUxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMgorOjEwMUUyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMgorOjEwMUUzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMgorOjEwMUU0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MgorOjEwMUU1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MgorOjEwMUU2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MgorOjEwMUU3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MgorOjEwMUU4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MgorOjEwMUU5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MgorOjEwMUVBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMgorOjBFMUVCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI0Cis6MTAxRUJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE0Cis6MTAxRUNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0Cis6MTAxRURFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY0Cis6MTAxRUVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU0Cis6MTAxRUZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ0Cis6MTAxRjBFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMzCis6MTAxRjFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIzCis6MTAxRjJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEzCis6MDIxRjNFMDAwMDAwQTEKKzoxMDFGNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTEKKzoxMDFGNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODEKKzoxMDFGNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzEKKzoxMDFGNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjEKKzoxMDFGODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTEKKzoxMDFGOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDEKKzoxMDFGQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzEKKzoxMDFGQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjEKKzoxMDFGQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTEKKzoxMDFGRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEKKzoxMDFGRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjEKKzoxMDFGRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTEKKzoxMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDAKKzoxMDIwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzAKKzoxMDIwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjAKKzoxMDIwMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTAKKzoxMDIwNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTAKKzoxMDIwNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODAKKzoxMDIwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzAKKzoxMDIwNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjAKKzoxMDIwODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTAKKzoxMDIwOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDAKKzoxMDIwQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzAKKzoxMDIwQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjAKKzoxMDIwQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAKKzoxMDIwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKKzoxMDIwRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjAKKzoxMDIwRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTAKKzoxMDIxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0YKKzoxMDIxMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkYKKzoxMDIxMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUYKKzoxMDIxMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUYKKzoxMDIxNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEYKKzoxMDIxNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0YKKzoxMDIxNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkYKKzoxMDIxNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUYKKzoxMDIxODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEYKKzoxMDIxOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0YKKzoxMDIxQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkYKKzoxMDIxQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUYKKzoxMDIxQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYKKzoxMDIxRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkYKKzoxMDIxRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUYKKzoxMDIxRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREYKKzoxMDIyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0UKKzoxMDIyMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkUKKzoxMDIyMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUUKKzoxMDIyMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUUKKzoxMDIyNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEUKKzoxMDIyNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0UKKzoxMDIyNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkUKKzoxMDIyNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUUKKzoxMDIyODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEUKKzoxMDIyOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0UKKzoxMDIyQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkUKKzoxMDIyQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUUKKzoxMDIyQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUKKzoxMDIyRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkUKKzoxMDIyRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUUKKzoxMDIyRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREUKKzoxMDIzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0QKKzoxMDIzMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkQKKzoxMDIzMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUQKKzoxMDIzMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUQKKzoxMDIzNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEQKKzoxMDIzNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0QKKzoxMDIzNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkQKKzowRTIzNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RgorOjEwMjM3RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RgorOjEwMjM4RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRgorOjEwMjM5RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRgorOjEwMjNBRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRgorOjEwMjNCRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRgorOjEwMjNDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRgorOjEwMjNERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRgorOjEwMjNFRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERgorOjEwMjNGRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRgorOjEwMjQwRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRQorOjEwMjQxRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRQorOjEwMjQyRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RQorOjEwMjQzRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RQorOjEwMjQ0RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RQorOjEwMjQ1RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2RQorOjEwMjQ2RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RQorOjEwMjQ3RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RQorOjEwMjQ4RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRQorOjEwMjQ5RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRQorOjEwMjRBRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRQorOjEwMjRCRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRQorOjEwMjRDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRQorOjEwMjRERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRQorOjEwMjRFRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERQorOjEwMjRGRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRQorOjEwMjUwRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRAorOjEwMjUxRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRAorOjEwMjUyRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RAorOjEwMjUzRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RAorOjEwMjU0RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RAorOjEwMjU1RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2RAorOjEwMjU2RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RAorOjEwMjU3RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RAorOjEwMjU4RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRAorOjEwMjU5RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRAorOjEwMjVBRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRAorOjEwMjVCRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRAorOjEwMjVDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRAorOjEwMjVERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRAorOjEwMjVFRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERAorOjEwMjVGRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRAorOjEwMjYwRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCQworOjEwMjYxRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBQworOjEwMjYyRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5QworOjEwMjYzRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4QworOjEwMjY0RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3QworOjEwMjY1RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2QworOjEwMjY2RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1QworOjEwMjY3RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0QworOjEwMjY4RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzQworOjEwMjY5RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyQworOjEwMjZBRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxQworOjEwMjZCRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQworOjEwMjZDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGQworOjEwMjZERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFQworOjBFMjZFRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERFCis6MTAyNkZDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENFCis6MTAyNzBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJECis6MTAyNzFDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFECis6MTAyNzJDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlECis6MTAyNzNDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhECis6MTAyNzRDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdECis6MTAyNzVDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZECis6MTAyNzZDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVECis6MTAyNzdDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRECis6MTAyNzhDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNECis6MTAyNzlDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJECis6MTAyN0FDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFECis6MTAyN0JDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBECis6MTAyN0NDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZECis6MTAyN0RDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVECis6MTAyN0VDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERECis6MDUyN0ZDMDAwMDAwMDAwMDIyQjYKKzoxMDI4MDEwMEMyMjBDMjIxQzIyQTkwN0ZFOEUwMTIzN0Y5MjgzMDAwQTUKKzoxMDI4MTEwMDI4OEMwMTI4QTIwMjJBMUYyMTJBNkEyMjI5M0Q4MDI5MDcKKzoxMDI4MjEwMDdEODEyOUQxODIyQTg0QTEyQUJBQTIwMDAwMkFCRjkwREYKKzoxMDI4MzEwMDdGRTlFMDE0NjAxMTI0RkU2MDI4MjRGRTYwM0IyNEZDNDMKKzoxMDI4NDEwMDcwNDAxMjNGRTU0MUNCMTI0RTFENDAwMjQxQ0I5MDdGQkIKKzoxMDI4NTEwMEVBRTBCNDAxMDRDMjIyNDFDQjkwN0ZCNEUwNDQwMUYwMkMKKzoxMDI4NjEwMDQxQ0IxMjRFMUY5MDdGRUFFMEI0MDEwNEQyMjI0MUNCNEEKKzoxMDI4NzEwMDkwN0ZCNEUwNDQwMUYwNDFDQjkwN0ZCNEUwNDQwMUYwOUIKKzoxMDI4ODEwMDQxQ0I5MDdGQjRFMDQ0MDFGMDQxQ0I5MDdGRTlFMDI0NUIKKzoxMDI4OTEwMEY1NzAwNTEyNDg2MzQxQ0I5MDdGQjRFMDQ0MDFGMDQxRUIKKzoxMDI4QTEwMENCOTA3RkU5RTAyNEZENjA1NDI0MDI2MDAyMjEzNDEyQzAKKzoxMDI4QjEwMDRFMUQ0MDAyNDFDQjkwN0ZFQUUwNzAzODkwN0ZFQ0UwMDIKKzoxMDI4QzEwMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RDMKKzoxMDI4RDEwMEY1ODJFNDM0N0ZGNTgzRTRGMDkwN0ZFQ0UwNTQ4MEZGRUYKKzoxMDI4RTEwMDEzMTMxMzU0MUZGRkUwNTQwNzJGOTA3RkQ3RjBFMDQ0RDgKKzoxMDI4RjEwMDIwRjA0MUNCOTA3RkI0RTA0NDAxRjA0MUNCMTI0RTFGNTgKKzoxMDI5MDEwMDQwMDI0MUNCOTA3RkVBRTA3MDIwOTA3RkVDRTBGNDU0RUMKKzoxMDI5MTEwMDgwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyNTMKKzoxMDI5MjEwMEU0MzQ3RkY1ODM3NDAxRjA0MUNCOTA3RkI0RTA0NDAxM0UKKzoxMDI5MzEwMEYwNDFDQjkwN0ZCNEUwNDQwMUYwNDFDQjkwN0ZFOUUwREUKKzoxMDI5NDEwMDYwMTIyNEY4NjAwOTI0MDI3MDI5MTI0M0U3NDFDQjEyNzYKKzoxMDI5NTEwMDREQ0E0MUNCMTI0RTFCQTIyMkU0MzNGRjI1RTBGRkEyNTgKKzoxMDI5NjEwMDIzRTQzMzRGOTA3RjAwRjBFNEEzRjA5MDdGQjU3NDAyMkQKKzoxMDI5NzEwMEYwNDFDQjkwN0ZCNEUwNDQwMUYwNDFDQjkwN0ZFOUUwOUUKKzoxMDI5ODEwMDYwMzMyNEY2NjAyQTI0MDQ3MDNEOTA3RkVCRTAyNERFNUUKKzoxMDI5OTEwMDYwMEMwNDcwMTI5MDdGQjRFMDQ0MDFGMDQxQ0I5MDdGNTEKKzoxMDI5QTEwMEI0RTA0NDAxRjA0MUNCOTA3RkI0RTA0NDAxRjA0MUNCNkQKKzoxMDI5QjEwMDEyNDc0NTQxQ0IxMjRFMUJFNDkwN0YwMEYwQTNGMDkwRUIKKzoxMDI5QzEwMDdGQjU3NDAyRjA0MUNCOTA3RkI0RTA0NDAxRjA0MUNCN0MKKzoxMDI5RDEwMDkwN0ZFOUUwMjRGNDYwMzQyNDBDNzAzOTEyNEUxQjkwOEUKKzoxMDI5RTEwMDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1MUYKKzoxMDI5RjEwMEUwMjRCNEY1ODJFNDM0N0ZGNTgzRTA1NEZEOTA3RjAwNTgKKzoxMDJBMDEwMEYwRTRBM0YwOTA3RkI1NzQwMkYwNDFDQjkwN0ZCNEUwODUKKzoxMDJBMTEwMDQ0MDFGMDQxQ0I5MDdGQjRFMDQ0MDFGMDQxQ0I5MDdGODEKKzoxMDJBMjEwMEU5RTAyNEY2NjAxMjE0NjAxQTI0MDI3MDFERDIyMDkwOEQKKzoxMDJBMzEwMDdGQjRFMDQ0MDFGMDgwMTJEMjIwOTA3RkI0RTA0NDAxRTEKKzoxMDJBNDEwMEYwODAwNzkwN0ZCNEUwNDQwMUYwMjAyMDE4OTA3RkVFRTEKKzoxMDJBNTEwMEUwNzAwNEEzRTA2MDBCRDIyOUQyMjcxMjE3NEFEMjJBRDAKKzoxMDJBNjEwMDgwMDMxMjA4MDBDMjIwODA2MTkwN0ZFRUUwNzAwNEEzMTEKKzoxMDJBNzEwMEUwNjAwQkQyMjlEMjI4MTIxNzRBRDIyQTgwNEMxMjM4OTAKKzoxMDJBODEwMDc0ODA0NzkwN0ZFOUUwMjRGRTYwMTIxNDYwMUEyNDAyRUEKKzoxMDJBOTEwMDcwMUREMjIxOTA3RkI0RTA0NDAxRjA4MDEyRDIyMTkwQzgKKzoxMDJBQTEwMDdGQjRFMDQ0MDFGMDgwMDc5MDdGQjRFMDQ0MDFGMDIwNUUKKzoxMDJBQjEwMDIxMDMxMjEwMDBDMjIxODAxMTEyMkFENjgwMEMxMjRFNUQKKzoxMDJBQzEwMDIxNTAwNzkwN0ZCNEUwNDQwMUYwMjAyQTA3OTA3RkI0QTEKKzowNTJBRDEwMEUwNDQwMkYwMjJDOAorOjEwMkFENjAwRTQ5MDc2MjdGMDkwNzYyN0UwRkY3NUYwMEZBNDI0NDI2NQorOjEwMkFFNjAwRjU4MkU0MzQ3NUY1ODNFMEZFOTA3RkVDRTBGREVFNkQ1MworOjEwMkFGNjAwNjAwRUVGQzM5NDA2NTAwODkwNzYyN0UwMDRGMDgwRDU2OAorOjEwMkIwNjAwRUZCNDA2MDg5MDdGQjRFMDQ0MDFGMDIyRUY3NUYwMEZCMQorOjEwMkIxNjAwQTQyNDQxRjU4MkU0MzQ3NUY1ODNFMDkwNzYyOEYwMjQwOAorOjEwMkIyNjAwOUY3MDAyQTE3NDI0MjE2MDAyQTFBMTkwN0ZFOUUwMjQ5NAorOjEwMkIzNjAwN0U3MDAyNjFGQzE0NzAwMjgxQjUyNDAyNjAwMkExNkNGMQorOjEwMkI0NjAwRUY3NUYwMEZBNDI0NDNGNTgyRTQzNDc1RjU4M0UwRkNCOQorOjEwMkI1NjAwQTNFMEZEQTNFMEZFQTNFMEZGN0I0NDdBQUM3OTAwNzgxNgorOjEwMkI2NjAwMDBDMzEyMzdBQjcwMTM5MDdGMDA3NDQ0RjBBMzc0QUNBQgorOjEwMkI3NjAwRjBFNEEzRjA5MDdGQjU3NDAzRjA5MDc2MjdFMDc1RjA0QgorOjEwMkI4NjAwMEZBNDI0NDNGNTgyRTQzNDc1RjU4M0UwRkNBM0UwRkQ0RAorOjEwMkI5NjAwQTNFMEZFQTNFMEZGN0I4MDdBQkI3OTAwNzgwMEMzMTIzNgorOjEwMkJBNjAwMzdBQjcwMTM5MDdGMDA3NDgwRjBBMzc0QkJGMEU0QTM3RQorOjEwMkJCNjAwRjA5MDdGQjU3NDAzRjA5MDc2MjdFMDc1RjAwRkE0MjRBQgorOjEwMkJDNjAwNDNGNTgyRTQzNDc1RjU4M0UwRkNBM0UwRkRBM0UwRkU2MworOjEwMkJENjAwQTNFMEZGN0IwMDdBNzc3OTAxNzgwMEMzMTIzN0FCNjBGOAorOjEwMkJFNjAwMDJBMUE4OTA3RjAwRjBBMzc0NzdGMEEzNzQwMUYwOTA3RgorOjEwMkJGNjAwN0ZCNTc0MDNGMDIyOTA3NjI3RTA3NUYwMEZBNDI0NDc4MgorOjEwMkMwNjAwRjU4MkU0MzQ3NUY1ODNFMEZDQTNFMEZEQTNFMEZFQTNDMgorOjEwMkMxNjAwRTBGRjdCNDQ3QUFDNzkwMDc4MDBDMzEyMzdBQjcwMTNCRgorOjEwMkMyNjAwOTA3RjAwNzQ0NEYwQTM3NEFDRjBFNEEzRjA5MDdGQjVGOQorOjEwMkMzNjAwNzQwM0YwOTA3NjI3RTA3NUYwMEZBNDI0NDdGNTgyRTQzQworOjEwMkM0NjAwMzQ3NUY1ODNFMEZDQTNFMEZEQTNFMEZFQTNFMEZGN0I4MworOjEwMkM1NjAwODA3QUJCNzkwMDc4MDBDMzEyMzdBQjcwMTM5MDdGMDA3RgorOjEwMkM2NjAwNzQ4MEYwQTM3NEJCRjBFNEEzRjA5MDdGQjU3NDAzRjAxNgorOjEwMkM3NjAwOTA3NjI3RTA3NUYwMEZBNDI0NDdGNTgyRTQzNDc1RjVDNQorOjEwMkM4NjAwODNFMEZDQTNFMEZEQTNFMEZFQTNFMEZGN0IwMDdBNzdGMAorOjEwMkM5NjAwNzkwMTc4MDBDMzEyMzdBQjYwMDJBMUE4OTA3RjAwRjBEQgorOjEwMkNBNjAwQTM3NDc3RjBBMzc0MDFGMDkwN0ZCNTc0MDNGMDIyOTBCQgorOjEwMkNCNjAwNzYyN0UwNzVGMDBGQTQyNDRCRjU4MkU0MzQ3NUY1ODM4RQorOjEwMkNDNjAwRTBGQ0EzRTBGREEzRTBGRUEzRTBGRjdCNDQ3QUFDNzk0MQorOjEwMkNENjAwMDA3ODAwQzMxMjM3QUI3MDEzOTA3RjAwNzQ0NEYwQTNFMgorOjEwMkNFNjAwNzRBQ0YwRTRBM0YwOTA3RkI1NzQwM0YwOTA3NjI3RTAxRgorOjEwMkNGNjAwNzVGMDBGQTQyNDRCRjU4MkU0MzQ3NUY1ODNFMEZDQTM0QworOjEwMkQwNjAwRTBGREEzRTBGRUEzRTBGRjdCODA3QUJCNzkwMDc4MDBCQworOjEwMkQxNjAwQzMxMjM3QUI3MDEzOTA3RjAwNzQ4MEYwQTM3NEJCRjBCRQorOjEwMkQyNjAwRTRBM0YwOTA3RkI1NzQwM0YwOTA3NjI3RTA3NUYwMEY3QQorOjEwMkQzNjAwQTQyNDRCRjU4MkU0MzQ3NUY1ODNFMEZDQTNFMEZEQTNGRgorOjEwMkQ0NjAwRTBGRUEzRTBGRjdCMDA3QTc3NzkwMTc4MDBDMzEyMzdCMworOjEwMkQ1NjAwQUI3MDRGOTA3RjAwRjBBMzc0NzdGMEEzNzQwMUYwOTBFRQorOjEwMkQ2NjAwN0ZCNTc0MDNGMDIyOTA3RkI0RTA0NDAxRjAyMjkwN0Y5NworOjEwMkQ3NjAwRTlFMDI0N0Y3MDFFOTA3NjI3RTA3NUYwMEZBNDI0NEZCQgorOjEwMkQ4NjAwRjU4MkU0MzQ3NUY1ODNFMDkwN0YwMEYwOTA3RkI1NzRBQQorOjEwMkQ5NjAwMDFGMDgwMDc5MDdGQjRFMDQ0MDFGMDkwN0ZCNEUwNDRGNgorOjAzMkRBNjAwMDFGMDIyMTcKKzoxMDJEQTkwMEU0OTA3NjM2RjBFMEZGNzVGMDAzQTQyNDBFRjU4MkU0OTIKKzoxMDJEQjkwMDM0NzVGNTgzNzQwMUYwRUY3NUYwMDNBNDI0MEZGNTgyREYKKzoxMDJEQzkwMEU0MzQ3NUY1ODM3NDAxRjBFRjc1RjAwM0E0MjQxMEY1NkMKKzoxMDJERDkwMDgyRTQzNDc1RjU4M0U0RjA5MDc2MzZFMDA0RjBFMEZGQTAKKzoxMDJERTkwMDc1RjAwM0E0MjQwRUY1ODJFNDM0NzVGNTgzNzQxMEYwQUMKKzoxMDJERjkwMEVGNzVGMDAzQTQyNDBGRjU4MkU0MzQ3NUY1ODM3NDA1QTcKKzoxMDJFMDkwMEYwRUY3NUYwMDNBNDI0MTBGNTgyRTQzNDc1RjU4M0U0M0EKKzoxMDJFMTkwMEYwOTA3NjM2RTAwNEYwRTBGRjc1RjAwM0E0MjQwRUY1OTcKKzoxMDJFMjkwMDgyRTQzNDc1RjU4Mzc0MDJGMEVGNzVGMDAzQTQyNDBGN0UKKzoxMDJFMzkwMEY1ODJFNDM0NzVGNTgzNzQwMkYwRUY3NUYwMDNBNDI0ODgKKzoxMDJFNDkwMDEwRjU4MkU0MzQ3NUY1ODNFNEYwOTA3NjM2RTAwNEYwMDkKKzoxMDJFNTkwMEUwRkY3NUYwMDNBNDI0MEVGNTgyRTQzNDc1RjU4Mzc0NUMKKzoxMDJFNjkwMDAxRjBFRjc1RjAwM0E0MjQwRkY1ODJFNDM0NzVGNTgzQkUKKzoxMDJFNzkwMDc0MDNGMEVGNzVGMDAzQTQyNDEwRjU4MkU0MzQ3NUY1QkEKKzoxMDJFODkwMDgzRTRGMDkwNzYzNkUwMDRGMEUwRkY3NUYwMDNBNDI0QzMKKzoxMDJFOTkwMDBFRjU4MkU0MzQ3NUY1ODM3NDEwRjBFRjc1RjAwM0E0MzAKKzoxMDJFQTkwMDI0MEZGNTgyRTQzNDc1RjU4Mzc0MDZGMEVGNzVGMDAzQTkKKzoxMDJFQjkwMEE0MjQxMEY1ODJFNDM0NzVGNTgzRTRGMDkwNzYzNkUwQzUKKzoxMDJFQzkwMDA0RjBFMEZGNzVGMDAzQTQyNDBFRjU4MkU0MzQ3NUY1RUYKKzoxMDJFRDkwMDgzNzQwMkYwRUY3NUYwMDNBNDI0MEZGNTgyRTQzNDc1Q0UKKzoxMDJFRTkwMEY1ODM3NDA0RjBFRjc1RjAwM0E0MjQxMEY1ODJFNDM0M0IKKzoxMDJFRjkwMDc1RjU4M0U0RjA5MDc2MzZFMDA0RjBFMEZGNzVGMDAzQjEKKzoxMDJGMDkwMEE0MjQwRUY1ODJFNDM0NzVGNTgzNzQwMkYwRUY3NUYwQUMKKzoxMDJGMTkwMDAzQTQyNDBGRjU4MkU0MzQ3NUY1ODM3NDA4RjBFRjc1ODIKKzoxMDJGMjkwMEYwMDNBNDI0MTBGNTgyRTQzNDc1RjU4Mzc0MDRGMDkwNTkKKzoxMDJGMzkwMDc2MzZFMDA0RjBFMEZGNzVGMDAzQTQyNDBFRjU4MkU0OTAKKzoxMDJGNDkwMDM0NzVGNTgzNzQwMkYwRUY3NUYwMDNBNDI0MEZGNTgyNEMKKzoxMDJGNTkwMEU0MzQ3NUY1ODM3NDBBRjBFRjc1RjAwM0E0MjQxMEY1RDEKKzoxMDJGNjkwMDgyRTQzNDc1RjU4Mzc0MDRGMDkwNzYzNkUwMDRGMEUwNzkKKzoxMDJGNzkwMEZGNzVGMDAzQTQyNDBFRjU4MkU0MzQ3NUY1ODM3NDAyMTkKKzoxMDJGODkwMEYwRUY3NUYwMDNBNDI0MEZGNTgyRTQzNDc1RjU4Mzc0MkEKKzoxMDJGOTkwMDA5RjBFRjc1RjAwM0E0MjQxMEY1ODJFNDM0NzVGNTgzODQKKzoxMDJGQTkwMDc0MDRGMDkwNzYzNkUwMDRGMEUwRkY3NUYwMDNBNDI0OTEKKzoxMDJGQjkwMDBFRjU4MkU0MzQ3NUY1ODM3NDAyRjBFRjc1RjAwM0E0MUQKKzoxMDJGQzkwMDI0MEZGNTgyRTQzNDc1RjU4Mzc0MDdGMEVGNzVGMDAzODcKKzowRTJGRDkwMEE0MjQxMEY1ODJFNDM0NzVGNTgzNzQwNEYwMjIwQworOjEwMkZFNzAwQzBFMEMwODNDMDgyRDIyNjUzOTFFRjkwN0ZBQjc0MDFCQgorOjA4MkZGNzAwRjBEMDgyRDA4M0QwRTAzMjVCCis6MDEyRkZGMDAzMjlGCis6MTAzMDAwMDA5MDdGQjZFMDIwRTEwMkMyM0REMjM2MjAzNjAyNDE2RTBBCis6MTAzMDEwMDAzMDNEMDI0MTZFOTA4MDA3RTA2MDA0RDIzNjgwMDJDMkVCCis6MTAzMDIwMDAzNjIwMzYwMjQxMkVEMjM1RTRGNTFBOTA4MDA0RTBGNUMwCis6MTAzMDMwMDAxOTc0MDgyNTBFRjhBNjE5ODUxOTE4RTUxODIwRTcwNDUzCis6MTAzMDQwMDBEMjM4ODAwMkMyMzgzMDM4MDIyMUQ0RTRGNTE2RTUxOUFFCis6MTAzMDUwMDBCNEYwMENEMjM5NzUwODA0NzUwOUYwMDUwRTgwMDIwNTJDCis6MTAzMDYwMDAxNkU1MTk2NEY3NzAzREMyMzlFNTBFMjRGRTYwMTcxNEE5Cis6MTAzMDcwMDA2MDIyMjQwMzcwMjk3NTA4MDU3NTA5RjdFNEY1MEFGNTNGCis6MTAzMDgwMDAwQjc1MEUwNDgwMjA3NTA4MDY3NTBBRjdFNEY1MEI3NUJDCis6MTAzMDkwMDAwRTA0ODAxMjc1MDgwNzc1MEJGNzc1MEUwNDgwMDcxMjcxCis6MTAzMEEwMDA0RERBODAwMjA1MTZFNTE5NTRGODY0Rjg3MDNCQzIzNTE0Cis6MTAzMEIwMDBFNTE5MjQwNzYwMEMyNEZDNjAwODI0MDUyNEY4NTAwNjU4Cis6MTAzMEMwMDA4MDA4RDIzQTgwMDZDMjNBODAwMkQyM0E3NTFBMDEyMEFDCis6MTAzMEQwMDAzQTE5OTA3RTgwNzQwRkYwQTNFNTE5RjBFNEEzRjBBM0YxCis6MTAzMEUwMDBGMDkwN0ZCNzc0MDRGMDgwMDIwNTE2MjAzOTZERTUxOTYxCis6MTAzMEYwMDA2NEY3NjA2N0U1MUE3MDYzRTUxODU0RjA2NEYwNzA1OTdFCis6MTAzMTAwMDA4NTE4MTlGNTBFRTUxOTI0MEY2MDFCMjRGRTYwMTcyNDlECis6MTAzMTEwMDBGRDYwMjIxNDYwMUYyNDA1NzAyRjc1MDgwMzA1MEU4NUJECis6MTAzMTIwMDAxODA5RDIzNzgwMjg3NTA4MDIwNTBFODUxODA5NzUxNDBDCis6MTAzMTMwMDAwMUQyMzc4MDE5NzUwODA1MDUwRTg1MTgwOUU0RjUwQUNFCis6MTAzMTQwMDBGNTBCNzUwRTAzRDIzNzgwMDUxMjREREFDMjM1MzAzNUQ2Cis6MTAzMTUwMDAwQTg1MDgxMzg1MTgxMjgwMDIwNTE2ODUxODE5RTUxNkM4Cis6MTAzMTYwMDA2NDA0NzA2MkY1MEVFNTE5NTRGMEY1MTlGNTE1ODUxODJCCis6MTAzMTcwMDAxOUU1MTUyNDcwNjAxODI0RjA2MDE0MjRGMDYwMTAyNDAwCis6MTAzMTgwMDBGMDYwMUUyNEYwNjAxQTI0RjA2MDA0MjQ2MDcwMjdFNUNCCis6MTAzMTkwMDAxNUM0NTQwRkY1MTlGNTA4MDUwRTg1MTgwOUQyMzc4MEE2Cis6MTAzMUEwMDAxQUU1MTVDNDU0MEZGNTE5RjUwODA1MEU4NTE4MDk3NUFCCis6MTAzMUIwMDAxNDAxRDIzNzgwMDUxMjREREFDMjM1MzAzNTBBODUxOTJGCis6MTAzMUMwMDAxMzg1MTgxMjgwMDIwNTE2RTUxNkQzOTQwNTQwNTcxMjkwCis6MTAzMUQwMDA0RERBODA1MjMwMzkxN0U1MEU3MDBBODUwODA5NzUwOEY2Cis6MTAzMUUwMDAwNDA1MEU4MDQxNzQwODI1MEVGOEE2MTk4MDM4MjAzNzkyCis6MTAzMUYwMDAyQUU1MEVCNDAxMEY4NTA4MEE4NTA5MEI4NTEzMDg4NTk5Cis6MTAzMjAwMDAxMjA5NzUwRTA0RTUxNEI0MDExQzg1MDgwQUU0RjUwQkQ3Cis6MTAzMjEwMDA4NTEzMDg4NTEyMDk3NTBFMDQ4MDBCRTUxNEI0MDEwNkE4Cis6MTAzMjIwMDBFNEY1MEI3NTBFMDRFNEY1MUEzMDM1MDIwNTBFRTUwRUQzCis6MTAzMjMwMDBEMzk0MDM1MDAyMDEwQkMyMzdFNEY1MEVGNTEwQzIzNkU5Cis6MTAzMjQwMDBEMjNERjUxNDc0MDgyNTEwRjhFNkZGNzQ4MDI1MTBGNUJBCis6MTAzMjUwMDA4MkU0MzQ3RUY1ODNFRkYwNzQwODI1MTBGOEU0RjYwNTc3Cis6MEYzMjYwMDAxMEU1MTBCNDA0REU5MDdGQjc3NDA0RjAwMTBCMjI2OAorOjEwMzI2RjAwOTA3NjE4RTBGRjY0MDU3MDQyOTA3NUFCRTBCNDAxMTlEOQorOjEwMzI3RjAwOTA3MjM3NzQwMUYwRTQ5MDgwMjBGMDkwODAzMUYwOTBEQworOjEwMzI4RjAwODAyOEYwOTA4MDM5RjA4MDIyRTQ5MDcyMzdGMDkwNzVBQQorOjEwMzI5RjAwQURFMDkwNzIyQkYwRTAyNDgwRjBFMDkwODAyMEYwOTA3MQorOjEwMzJBRjAwODAzMUYwOTA4MDI4RjA5MDgwMzlGMEVGNjQwNjYwMDI1MgorOjEwMzJCRjAwODE5OTkwNzIzOTc0MDRGMDkwNzIzOUUwRkYyNEZFOTA3NgorOjEwMzJDRjAwNzIwNEYwRUY3NUYwMEFBNDI0QUJGNTgyRTQzNDc1RjVCRgorOjEwMzJERjAwODNFMDY0MDE3MDU0OTA3MjM2MDRGMDkwNzIwNEUwRkY0MgorOjEwMzJFRjAwMjRGRDYwMjgyNEZFNjAyNDI0MDMyNEZCNTAwNDYwMUM2QQorOjEwMzJGRjAwODE4Qzc0MjAyRkY1ODJFNDM0ODBGNTgzRTRGMDc0MjhGOAorOjEwMzMwRjAwMkZGNTgyRTQzNDgwRjU4M0U0RjA4MThDOTA3MjA0RTAzMQorOjEwMzMxRjAwRkYyNDMwRjU4MkU0MzQ4MEY1ODNFNEYwNzQzODJGRjUyMAorOjEwMzMyRjAwODJFNDM0ODBGNTgzRTRGMDgxOENFNDkwNzIzNkYwOTA3RgorOjEwMzMzRjAwNzIzOUUwNzVGMDBBQTQyNEFERjU4MkU0MzQ3NUY1ODM5MworOjEwMzM0RjAwRTBGRjdFMDA5MDc1MENFRUYwQTNFRkYwNzAwNjkwNzIyOAorOjEwMzM1RjAwMDI3NDNCRjA5MDc1MENFMEZFQTNFMEZGNjQ4MDRFNzBBQQorOjEwMzM2RjAwMDQ5MDcyMDJGMEVGNEU3MDAyODEzNUVGNjQ4MDRFNzA2MAorOjEwMzM3RjAwMDI4MTM1RUZGOEU0OTA3NTBERjBFODkwNzUwQ0YwOTA0MAorOjEwMzM4RjAwNzIzNEUwNzVGMDBBQTQyNEFDRjU4MkU0MzQ3NUY1ODM0OQorOjEwMzM5RjAwRTBGRjkwNzIwMkYwOTA3NTBERTAyRkYwOTA3NTBDRTA0OQorOjEwMzNBRjAwMzQwMEYwRTBGRUEzRTBGRkU0RkNGRDdCRDY3QUE1Rjk0NAorOjEwMzNCRjAwRjhEMzEyMzc5NTQwMEE5MDc1MEM3NEE1RjBBMzc0RDYwNAorOjEwMzNDRjAwRjA5MDc1MERFMDI0MkFGMDkwNzUwQ0UwMzQ1QUYwRTA3RgorOjEwMzNERjAwRkVBM0UwNzgwNUNFQTJFNzEzQ0UxM0Q4RjhGRjkwNzVDMQorOjEwMzNFRjAwMENFRUYwQTNFRkYwOTA3MjJDRUVGMEEzRUZGMEQzOTQ2RAorOjEwMzNGRjAwRDJFRTY0ODA5NDgyNDAwQTkwNzIyQzc0MDJGMEEzNzQwRgorOjEwMzQwRjAwRDJGMEMzOTA3MjJDRTA2NDgwOTQ4MDUwMDRFNEYwQTM1NworOjEwMzQxRjAwRjA5MDcyMkNFMEZFQTNFMDI0M0FGNTgyRUUzNDcyRjVDMAorOjEwMzQyRjAwODNFMDkwNzIwMkYwOTA3MjA0RTBGRjI0RkQ2MDJEMjQ3RgorOjEwMzQzRjAwRkU2MDI5MjQwMzI0RkI1MDA0NjAyMTgwNDA5MDcyMDIxNworOjEwMzQ0RjAwRTBGRTc0MjAyRkY1ODJFNDM0ODBGNTgzRUVGMDc0MjhDQgorOjEwMzQ1RjAwMkZGNTgyRTQzNDgwRjU4M0VFRjA4MDIxOTA3MjAyRTA0NAorOjEwMzQ2RjAwRkY5MDcyMDRFMEZFMjQzMEY1ODJFNDM0ODBGNTgzRUZBMAorOjEwMzQ3RjAwRjA3NDM4MkVGNTgyRTQzNDgwRjU4M0VGRjA5MDcyMzlEMgorOjBCMzQ4RjAwRTAwNEYwRTA2NDBBNjAwMjQxQzcyMjg0Cis6MTAzNDlBMDA5MDc2MThFMEZGQjQwNTIzOTA3MjM3RTA3MDFEOTA3NTlFCis6MTAzNEFBMDBBREUwOTA3MjJCRjBFMDI0ODBGMEUwOTA4MDIwRjA5MDY0Cis6MTAzNEJBMDA4MDMxRjA5MDgwMjhGMDkwODAzOUYwRUY2NDA2NjAwMjQ1Cis6MTAzNENBMDBDMTkxOTA3MjM2RTA2MDAyQzE5MTkwNzY0MEUwNzAzMTBECis6MTAzNERBMDA5MDcyMDM3NDAzRjA5MDcyMDNFMEZGNzVGMDBBQTQyNDVCCis6MTAzNEVBMDBBQUY1ODJFNDM0NzVGNTgzRTBGRTkwNzIyOUUwRkRFRUQ4Cis6MTAzNEZBMDA2RDYwMEVFRkMzOTQwQTUwMDg5MDcyMDNFMDA0RjA4MEU2Cis6MTAzNTBBMDBENTkwNzIzOTc0MDRGMDkwNzY0MEUwNzAwODkwNzIwMzk2Cis6MTAzNTFBMDBFMDkwNzIzOUYwOTA3MjM5RTBGRDI0RkU5MDcyMkFGMDQwCis6MTAzNTJBMDBFRDc1RjAwQUE0MjRBREY1ODJFNDM0NzVGNTgzRTBGRjY1Cis6MTAzNTNBMDA3RTAwOTA3NTBDRUVGMEEzRUZGMDcwMDY5MDcyMDI3NEE0Cis6MTAzNTRBMDA4MEYwOTA3NTBDRTBGRUEzRTBGRjY0ODA0RTcwMDQ5MDVBCis6MTAzNTVBMDA3MjAyRjBFRjRFNzAwMkMxMUJFRjY0ODA0RTcwMDJDMTFFCis6MTAzNTZBMDAxQkVGRjhFNDkwNzUwREYwRTg5MDc1MENGMEVENzVGMDJFCis6MTAzNTdBMDAwQUE0MjRBQ0Y1ODJFNDM0NzVGNTgzRTBGRjkwNzIwMjY0Cis6MTAzNThBMDBGMDkwNzUwREUwMkZGMDkwNzUwQ0UwMzQwMEYwRTBGRTNECis6MTAzNTlBMDBBM0UwRkZFNEZDRkQ3QkQ2N0FBNUY5RjhEMzEyMzc5NUIwCis6MTAzNUFBMDA0MDBBOTA3NTBDNzRBNUYwQTM3NEQ2RjA5MDc1MERFMERFCis6MTAzNUJBMDAyNDJBRjA5MDc1MENFMDM0NUFGMEUwRkVBM0UwNzgwNTc2Cis6MTAzNUNBMDBDRUEyRTcxM0NFMTNEOEY4RkY5MDc1MENFRUYwQTNFRjU2Cis6MTAzNURBMDBGMDkwNzIyQ0VFRjBBM0VGRjBEMzk0RDJFRTY0ODA5NEM0Cis6MTAzNUVBMDA4MjQwMEE5MDcyMkM3NDAyRjBBMzc0RDJGMEMzOTA3MkQzCis6MTAzNUZBMDAyQ0UwNjQ4MDk0ODA1MDA0RTRGMEEzRjA5MDcyMkNFMEY0Cis6MTAzNjBBMDBGRUEzRTAyNDNBRjU4MkVFMzQ3MkY1ODNFMDkwNzIwMjZBCis6MTAzNjFBMDBGMDkwNzIyQUUwRkYyNEZENjAyRDI0RkU2MDI5MjQwMzI1Cis6MTAzNjJBMDAyNEZCNTAwNDYwMjE4MDQwOTA3MjAyRTBGRTc0MjAyRjM3Cis6MTAzNjNBMDBGNTgyRTQzNDgwRjU4M0VFRjA3NDI4MkZGNTgyRTQzNEMxCis6MTAzNjRBMDA4MEY1ODNFRUYwODAyMTkwNzIwMkUwRkY5MDcyMkFFMDBBCis6MTAzNjVBMDBGRTI0MzBGNTgyRTQzNDgwRjU4M0VGRjA3NDM4MkVGNUQ5Cis6MTAzNjZBMDA4MkU0MzQ4MEY1ODNFRkYwOTA3NjQwRTA3MDA2OTA3MjQxCis6MTAzNjdBMDAzOTc0MEFGMDkwNzIzOUUwMDRGMEUwQzM5NDBBNTAwMkY3Cis6MDgzNjhBMDBBMTExRTQ5MDc2NDBGMDIyNEEKKzoxMDM2OTIwMEJCMDEwNjg5ODI4QTgzRTAyMjUwMDJFNzIyQkJGRTAyMzYKKzowOTM2QTIwMEUzMjI4OTgyOEE4M0U0OTMyMjY5Cis6MTAzNkFCMDBCQjAxMENFNTgyMjlGNTgyRTU4MzNBRjU4M0UwMjI1MEQ0Cis6MTAzNkJCMDAwNkU5MjU4MkY4RTYyMkJCRkUwNkU5MjU4MkY4RTIyMjFFCis6MEQzNkNCMDBFNTgyMjlGNTgyRTU4MzNBRjU4M0U0OTMyMjM4Cis6MTAzNkQ4MDBDMkQ1RUMzMEU3MDlCMkQ1RTRDMzlERkRFNDlDRkNFRTBECis6MTAzNkU4MDAzMEU3MTVCMkQ1RTRDMzlGRkZFNDlFRkUxMjM4MUZDMzJFCis6MTAzNkY4MDBFNDlERkRFNDlDRkM4MDAzMTIzODFGMzBENTA3QzNFNDI5Cis6MDYzNzA4MDA5RkZGRTQ5RUZFMjI3QgorOjEwMzcwRTAwQkIwMTEwRTU4MjI5RjU4MkU1ODMzQUY1ODNFMEY1RjBGOQorOjEwMzcxRTAwQTNFMDIyNTAwOUU5MjU4MkY4ODZGMDA4RTYyMkJCRkVENgorOjEwMzcyRTAwMEFFOTI1ODJGOEUyRjVGMDA4RTIyMkU1ODMyQUY1ODMxQworOjA4MzczRTAwRTk5M0Y1RjBBM0U5OTMyMkUxCis6MTAzNzQ2MDBFODhGRjBBNENDOEJGMEE0MkNGQ0U5OEVGMEE0MkNGQzIyCis6MTAzNzU2MDA4QUYwRURBNDJDRkNFQThFRjBBNENEQThGMDhCRjBBNEEwCis6MTAzNzY2MDAyRENDMzgyNUYwRkRFOThGRjBBNDJDQ0QzNUYwRkNFQkZGCis6MTAzNzc2MDA4RUYwQTRGRUE5RjBFQjhGRjBBNENGQzVGMDJFQ0QzOUM0Cis6MEYzNzg2MDBGRUU0M0NGQ0VBQTQyRENFMzVGMEZERTQzQ0ZDMjIzMQorOjEwMzc5NTAwRUI5RkY1RjBFQTlFNDJGMEU5OUQ0MkYwRUM2NDgwQzhBQgorOjA2MzdBNTAwNjQ4MDk4NDVGMDIyNEIKKzoxMDM3QUIwMEVCOUZGNUYwRUE5RTQyRjBFOTlENDJGMEU4OUM0NUYwNzQKKzowMTM3QkIwMDIyRUIKKzowQzM3QkMwMEVDRjBBM0VERjBBM0VFRjBBM0VGRjAyMjgwCis6MTAzN0M4MDBBODgyODU4M0YwRDA4M0QwODIxMjM3REYxMjM3REYxMkM4Cis6MTAzN0Q4MDAzN0RGMTIzN0RGRTQ3M0U0OTNBM0M1ODNDNUYwQzU4M0VECis6MTAzN0U4MDBDOEM1ODJDOEYwQTNDNTgzQzVGMEM1ODNDOEM1ODJDODRCCis6MDEzN0Y4MDAyMkFFCis6MTAzN0Y5MDBEMDgzRDA4MkY4RTQ5MzcwMTI3NDAxOTM3MDBEQTNBMzVGCis6MTAzODA5MDA5M0Y4NzQwMTkzRjU4Mjg4ODNFNDczNzQwMjkzNjg2MDcyCis6MDYzODE5MDBFRkEzQTNBMzgwREY3MgorOjEwMzgxRjAwQkMwMDBCQkUwMDI5RUY4REYwODRGRkFERjAyMkU0Q0M4RAorOjEwMzgyRjAwRjg3NUYwMDhFRjJGRkZFRTMzRkVFQzMzRkNFRTlERUM1NgorOjEwMzgzRjAwOTg0MDA1RkNFRTlERkUwRkQ1RjBFOUU0Q0VGRDIyRUQ5QworOjEwMzg0RjAwRjhGNUYwRUU4NDIwRDIxQ0ZFQURGMDc1RjAwOEVGMkZFNgorOjEwMzg1RjAwRkZFRDMzRkQ0MDA3OTg1MDA2RDVGMEYyMjJDMzk4RkRENworOjA1Mzg2RjAwMEZENUYwRUEyMjc0Cis6MTAzODc0MDBFNDkwNzYyOUYwOTA3NjI5RTBGRjc1RjAwRkE0MjQ0MkI1Cis6MTAzODg0MDBGNTgyRTQzNDc1RjU4M0UwRkU5MDdGRUNFMEZERUU2REE3Cis6MTAzODk0MDA2MDBFRUZDMzk0MDY1MDA4OTA3NjI5RTAwNEYwODBENUJBCis6MTAzOEE0MDBFRkI0MDYwODkwN0ZCNEUwNDQwMUYwMjJFRjc1RjAwRjA2Cis6MTAzOEI0MDBBNDI0NDFGNTgyRTQzNDc1RjU4M0UwOTA3NjJBRjAyNDVCCis6MTAzOEM0MDBCRjcwMDI0MTQxMjRFMDcwMDI0MTEyMjQyMTYwMDI0MTkwCis6MTAzOEQ0MDAzQTkwN0ZFOUUwMjRGRTYwN0QxNDcwMDIyMUIyMjQwMjU0Cis6MTAzOEU0MDA2MDAyNDEwQTEyMTc1MTkwNzY0MkUwRkNBM0UwRkRBMzY2Cis6MTAzOEY0MDBFMEZFQTNFMEZGOTA3NjI5RTA3NUYwMEZBNDI0NDNGNUUxCis6MTAzOTA0MDA4MkU0MzQ3NUY1ODMxMjM3QkM5MDc2MTlFMEZGQjQwMTc0Cis6MTAzOTE0MDAxMjkwNzY3Qzc0NjdGMDkwNzY3RDc0MDZGMDkwNzY3RUQzCis6MTAzOTI0MDA3NDBCRjBFRkI0MDIwRkU0OTA3NjdDRjA5MDc2N0RGMEE3Cis6MTAzOTM0MDA5MDc2N0U3NDBDRjBFRkI0MDMwRkU0OTA3NjdDRjA5MEY0Cis6MTAzOTQ0MDA3NjdERjA5MDc2N0U3NDE4RjA5MDc2MUE3NDAxRjAxMkY5Cis6MTAzOTU0MDAzRTlGMTIxODAwMjI5MDdFQzJFMEZGRTRGQ0ZERkVGQkI1Cis6MTAzOTY0MDBGQTc5MDFGODEyMzc0NkM4RUNDOEM5RURDOUNBRUVDQURCCis6MTAzOTc0MDBDQkVGQ0I5MDdFQzFFMEZFRTRGQ0ZEMkJGQkVBM0VGQUVDCis6MTAzOTg0MDBFRDM5RjlFQzM4Rjg5MDdFQzBFMEZGRTRGRUVCMkZGRjUwCis6MTAzOTk0MDBFRTNBRkVFRDM5RkRFQzM4RkM5MDc2MjlFMDc1RjAwRjM3Cis6MTAzOUE0MDBBNDI0NDdGNTgyRTQzNDc1RjU4MzEyMzdCQzIyOTA3RTUzCis6MTAzOUI0MDBDMkUwRkZFNEZDRkRGRUZCRkE3OTAxRjgxMjM3NDZDOEM5Cis6MTAzOUM0MDBFQ0M4QzlFREM5Q0FFRUNBQ0JFRkNCOTA3RUMxRTBGRTBDCis6MTAzOUQ0MDBFNEZDRkQyQkZCRUEzRUZBRUQzOUY5RUMzOEY4OTA3RTc1Cis6MTAzOUU0MDBDMEUwRkZFNEZFRUIyRkZGRUUzQUZFRUQzOUZERUMzOENDCis6MTAzOUY0MDBGQzkwNzYyOUUwNzVGMDBGQTQyNDRCRjU4MkU0MzQ3NTJECis6MTAzQTA0MDBGNTgzMTIzN0JDMjI5MDdGQjRFMDQ0MDFGMDIyOTA3RjBBCis6MTAzQTE0MDBFOUUwMTQ3MDE5OTA3RUMwRTBGRjkwNzYyOUUwNzVGMDFCCis6MTAzQTI0MDAwRkE0MjQ0RkY1ODJFNDM0NzVGNTgzRUZGMDIyOTA3RkUwCis6MEUzQTM0MDBCNEUwNDQwMUYwMjI5MDdGQjRFMDQ0MDFGMDIyOUYKKzoxMDNBNDIwMEU0OTA3NjM1RjA5MDc2MzVFMEZGQzM5NDAzNDAwMjQxNkUKKzoxMDNBNTIwMEZGRUY3NUYwMEFBNDI0QUFGNTgyRTQzNDc1RjU4M0VGMkEKKzoxMDNBNjIwMEYwRUY3NUYwMEFBNDI0QUJGNTgyRTQzNDc1RjU4M0U0MzMKKzoxMDNBNzIwMEYwRUY3NUYwMEFBNDI0QUNGNTgyRTQzNDc1RjU4Mzc0OTIKKzoxMDNBODIwMEYwRjBFRjc1RjAwQUE0MjRBREY1ODJFNDM0NzVGNTgzMDUKKzoxMDNBOTIwMDc0RkZGMEVGNzVGMDBBQTQyNEFFRjU4MkU0MzQ3NUY1RjQKKzoxMDNBQTIwMDgzRTRGMEVGNzVGMDBBQTQyNEFGRjU4MkU0MzQ3NUY1RUYKKzoxMDNBQjIwMDgzNzQ4MEYwRUY3NUYwMEFBNDI0QjBGNTgyRTQzNDc1QzMKKzoxMDNBQzIwMEY1ODNFNEYwRUY3NUYwMEFBNDI0QjFGNTgyRTQzNDc1Q0QKKzoxMDNBRDIwMEY1ODNFNEYwRUY3NUYwMEFBNDI0QjJGNTgyRTQzNDc1QkMKKzoxMDNBRTIwMEY1ODNFNEYwRUY3NUYwMEFBNDI0QjNGNTgyRTQzNDc1QUIKKzoxMDNBRjIwMEY1ODM3NDAxRjA5MDc2MzVFMDA0RjA0MTQ3OTA3NjNDMEUKKzoxMDNCMDIwMDc0MEFGMEU0QTNGMDkwNzYzNTc0MDNGMDkwNzYzQ0UwMEEKKzoxMDNCMTIwMEZGOTA3NjM1RTBGRUMzOUY0MDAyNjFEMjkwNzYzREUwOTEKKzoxMDNCMjIwMEZGMDRGMEVFNzVGMDBBQTQyNEFBRjU4MkU0MzQ3NUY1RDgKKzoxMDNCMzIwMDgzRUZGMEVFNzVGMDBBQTQyNEFCRjU4MkU0MzQ3NUY1NTgKKzoxMDNCNDIwMDgzRTRGMEVFNzVGMDBBQTQyNEFDRjU4MkU0MzQ3NUY1NTIKKzoxMDNCNTIwMDgzNzQ1RUYwRUU3NUYwMEFBNDI0QURGNTgyRTQzNDc1NDgKKzoxMDNCNjIwMEY1ODM3NEJBRjBFRTc1RjAwQUE0MjRBRUY1ODJFNDM0NUIKKzoxMDNCNzIwMDc1RjU4Mzc0MDVGMEVFNzVGMDBBQTQyNEFGRjU4MkU0QkUKKzoxMDNCODIwMDM0NzVGNTgzNzQ4MEYwRUU3NUYwMEFBNDI0QjBGNTgyRTIKKzoxMDNCOTIwMEU0MzQ3NUY1ODNFNEYwRUU3NUYwMEFBNDI0QjFGNTgyRkQKKzoxMDNCQTIwMEU0MzQ3NUY1ODNFNEYwRUU3NUYwMEFBNDI0QjJGNTgyRUMKKzoxMDNCQjIwMEU0MzQ3NUY1ODM3NDE1RjBFRTc1RjAwQUE0MjRCM0Y1QjgKKzoxMDNCQzIwMDgyRTQzNDc1RjU4M0U0RjA5MDc2MzVFMDA0RjA2MTBFMUEKKzowMTNCRDIwMDIyRDAKKzoxMDNCRDMwMEU0OTA3NjM2RjBFMEZCNzVGMDBGQTQyNDQxRjU4MkU0MUYKKzoxMDNCRTMwMDM0NzVGNTgzNzQ0MEYwRUI3NUYwMEZBNDI0NDJGNTgyMkQKKzoxMDNCRjMwMEU0MzQ3NUY1ODM3NDBBRjBFQjc1RjAwRkE0MjQ0M0Y1RjAKKzoxMDNDMDMwMDgyRTQzNDc1RjU4MzEyMzdDODAwMDBBQzQ0RUI3NUYwRDkKKzoxMDNDMTMwMDBGQTQyNDQ3RjU4MkU0MzQ3NUY1ODMxMjM3QzgwMDAwRjYKKzoxMDNDMjMwMEFDNDRFQjc1RjAwRkE0MjQ0QkY1ODJFNDM0NzVGNTgzQjMKKzoxMDNDMzMwMDEyMzdDODAwMDE3NzAwOTA3NjM2RTAwNEYwRTBGQjc1OTgKKzoxMDNDNDMwMEYwMEZBNDI0NDFGNTgyRTQzNDc1RjU4Mzc0NDBGMEVCNUUKKzoxMDNDNTMwMDc1RjAwRkE0MjQ0MkY1ODJFNDM0NzVGNTgzNzQ4Q0YwNzcKKzoxMDNDNjMwMEVCNzVGMDBGQTQyNDQzRjU4MkU0MzQ3NUY1ODMxMjM3MjIKKzoxMDNDNzMwMEM4MDAwMEFDNDRFQjc1RjAwRkE0MjQ0N0Y1ODJFNDM0OEMKKzoxMDNDODMwMDc1RjU4MzEyMzdDODAwMDBBQzQ0RUI3NUYwMEZBNDI0MUMKKzoxMDNDOTMwMDRCRjU4MkU0MzQ3NUY1ODMxMjM3QzgwMDAxNzcwMDkwNDEKKzoxMDNDQTMwMDc2MzZFMDA0RjBFMEZGNzVGMDBGQTQyNDQxRjU4MkU0REEKKzoxMDNDQjMwMDM0NzVGNTgzNzQ0MEYwRUY3NUYwMEZBNDI0NDJGNTgyNTgKKzoxMDNDQzMwMEU0MzQ3NUY1ODM3NDhGRjA5MDc2MzZFMDA0RjBFMEZGMEEKKzoxMDNDRDMwMDc1RjAwRkE0MjQ0MUY1ODJFNDM0NzVGNTgzNzQ0MUYwNDMKKzoxMDNDRTMwMEVGNzVGMDBGQTQyNDQyRjU4MkU0MzQ3NUY1ODM3NDg0RjAKKzoxMDNDRjMwMEYwOTA3NjM2RTAwNEYwRTBGRjc1RjAwRkE0MjQ0MUY1NzAKKzoxMDNEMDMwMDgyRTQzNDc1RjU4Mzc0NjFGMEVGNzVGMDBGQTQyNDQyRjcKKzoxMDNEMTMwMEY1ODJFNDM0NzVGNTgzNzQ4MUYwOTA3NjM2RTAwNEYwMkYKKzoxMDNEMjMwMEUwRkY3NUYwMEZBNDI0NDFGNTgyRTQzNDc1RjU4Mzc0NDQKKzoxMDNEMzMwMDYxRjBFRjc1RjAwRkE0MjQ0MkY1ODJFNDM0NzVGNTgzNDYKKzowNDNENDMwMDc0MDFGMDIyRjUKKzoxMDNENDcwMEMwRTBDMEYwQzA4M0MwODJDMEQwRThDMEUwRTlDMEUwRjYKKzoxMDNENTcwMEVBQzBFMEVCQzBFMEVDQzBFMEVEQzBFMEVFQzBFMEVGQjEKKzoxMDNENjcwMEMwRTA5MDdGQTJFMDkwNzY3RkYwOTA3Rjc0RTA5MDc2M0QKKzoxMDNENzcwMDg3RjA5MDdGNzVFMDkwNzY4OEYwOTA3Rjk4RTA0NDAyMTYKKzoxMDNEODcwMEYwOTA3Njk2RTBGRjIwRTEwQzQ0MDJGMDkwODAwM0YwN0IKKzoxMDNEOTcwMEQyMzIxMjRCMjg5MDc2N0ZFMDIwRTI1MDkwNzY4N0UwNkYKKzoxMDNEQTcwMEZFQTNFMDdDMDAyNDAwRjUzNEVDM0VGNTMzOTA3Njk4RDIKKzoxMDNEQjcwMEUwRkRBRTMzQUYzNDEyMzZEODkwNzY4N0VGRjBEMjJGQ0UKKzoxMDNEQzcwMDMwMzEyOTIwM0YyNkMyMzE5MDdGOTRFMDU0Q0ZGMDkwQzQKKzoxMDNERDcwMDdGOUFFMDMwRTQwNEQyMkRDMjJDOTA3RjlBRTAyMEU1NTAKKzoxMDNERTcwMDA0QzIyREQyMkM5MDdGOTRFMDQ0MzBGMDEyNDhCRDEyQ0IKKzoxMDNERjcwMDFCMDQzMDJGMTIxMjQyMUZDMjJGNzVFODAxMTIxNjhBQjgKKzoxMDNFMDcwMDc1RTgwREQyMkI4MDA1NzVFODAxQzIyQjIwMkIzNDkwNjUKKzoxMDNFMTcwMDc2MTlFMEZGQjQwMTBFOTA3NjdDNzQ2N0YwQTM3NDA2MDAKKzoxMDNFMjcwMEYwQTM3NDBCRjBFRkI0MDIwQjkwNzY3Q0U0RjBBM0YwRjAKKzoxMDNFMzcwMEEzNzQwQ0YwRUZCNDAzMEI5MDc2N0NFNEYwQTNGMEEzMkIKKzoxMDNFNDcwMDc0MThGMDc1Q0FEMzc1Q0JGRUQyQ0EzMDM0MDRDMjM0QTUKKzoxMDNFNTcwMDgwMDJEMjM0MzAzNDBEOTA3Njg5RTBDMzk0MDM0MDA0NTUKKzoxMDNFNjcwMEUwMjRGREYwNTM5MUVGOTA3RkFCNzQwMkYwRjA5MDdGNjgKKzoxMDNFNzcwMDk4RTA1NEZERjBEMEUwRkZEMEUwRkVEMEUwRkREMEUwQzgKKzoxMDNFODcwMEZDRDBFMEZCRDBFMEZBRDBFMEY5RDBFMEY4RDBEMEQwMTkKKzowODNFOTcwMDgyRDA4M0QwRjBEMEUwMzJBQworOjEwM0U5RjAwOTA3NjkyRTAxNDYwMUQxNDcwMDJFMTU0MjQwMjYwMDJDNworOjEwM0VBRjAwRTFFNDkwNzY5NDc0MDFGMDkwODAwMEYwRTQ5MDc2OEVDNworOjEwM0VCRjAwRjBEMjMxMjI5MDc2MTlFMEZGQjQwMTFCRTQ5MDdGRjIyQgorOjEwM0VDRjAwRjA5MDdGRjM3NDMwRjA5MDdGRkY3NEZDRjA5MDc2OTc1MgorOjEwM0VERjAwRTA1NEZERjA1NEZCRjBFRkI0MDIxQkU0OTA3RkYyRjBERQorOjEwM0VFRjAwOTA3RkYzNzQzNEYwOTA3RkZGNzRGQ0YwOTA3Njk3RTAzRQorOjEwM0VGRjAwNDQwMkYwNTRGQkYwRUZCNDAzMThFNDkwN0ZGMkYwOTAxQgorOjEwM0YwRjAwN0ZGMzc0NjRGMDkwN0ZGRjc0RkNGMDkwNzY5N0UwNDQzOQorOjEwM0YxRjAwMDRGMDkwNzY5NEUwNDQwMUYwOTA4MDAwRjAzMDNGMDk3NworOjEwM0YyRjAwOTA3Njk3RTA1NEZFRjA4MDA3OTA3Njk3RTA0NDAxRjA4QQorOjEwM0YzRjAwOTA3Njk3RTA5MDgwMDJGMDkwNzY5ODc0MDRGMDkwNzZFNworOjEwM0Y0RjAwOEU3NDAxRjAyMjkwNzYxOUUwRkZCNDAxMUJFNDkwN0Y4QworOjEwM0Y1RjAwRjJGMDkwN0ZGMzc0NDRGMDkwN0ZGRjc0RkNGMDkwNzY1MgorOjEwM0Y2RjAwOTdFMDU0RkRGMDU0RkJGMEVGQjQwMjFCRTQ5MDdGRjJBNgorOjEwM0Y3RjAwRjA5MDdGRjM3NDRDRjA5MDdGRkY3NEZDRjA5MDc2OTc4NQorOjEwM0Y4RjAwRTA0NDAyRjA1NEZCRjBFRkI0MDMxOEU0OTA3RkYyRjAzQQorOjEwM0Y5RjAwOTA3RkYzNzQ5NEYwOTA3RkZGNzRGQ0YwOTA3Njk3RTAyRAorOjEwM0ZBRjAwNDQwNEYwOTA3Njk0RTA1NEZFRjA5MDgwMDBGMDMwM0Y5RgorOjEwM0ZCRjAwMDk5MDc2OTdFMDU0RkVGMDgwMDc5MDc2OTdFMDQ0MDFFMQorOjEwM0ZDRjAwRjA5MDc2OTdFMDkwODAwMkYwOTA3Njk4NzQwNkYwOTBEQgorOjA2M0ZERjAwNzY4RTc0MDJGMDIyNTAKKzoxMDNGRTUwMDkwN0ZFQUUwOTA3NjgyRjBFNDkwNzY5MUYwOTA3NjkyNzgKKzowQjNGRjUwMEYwOTA3NjkwRjA5MDc2OTNGMEQzMjJDRAorOjEwNDAwMDAwRTUxMUQzOTQwMDUwMDIyMTA2OTA3Njg5RTBDMzk0MDgwQworOjEwNDAxMDAwNDAwMjIxMDY3NDQwMjUwRkY1ODJFNDM0N0VGNTgzRTBFQQorOjEwNDAyMDAwRjUxN0U1MEQ2MDBFOTA4MDA1RTUxN0YwOTA3Njg5RTBCNAorOjEwNDAzMDAwMDRGMDAxREFFNTE3MTIzN0Y5NDBDMTAyNDA2NzA1NDA4NAorOjEwNDA0MDAwN0EwNjQwOTgwNzQwQzEwQzQwQzEwRDQwQzcwRjQwQ0JENQorOjEwNDA1MDAwRjY0MENCRjg0MENCRkE0MENCRkI0MENCRkM0MENCRkU0QworOjEwNDA2MDAwNDBDQkZGMDAwMDQwREE5MDdFNDFFMDkwODAwNUYwOTA2OAorOjEwNDA3MDAwNzY4OUUwMDRGMDc1MTEwMTgwNjA5MDdFNDFFMDkwODBDNworOjEwNDA4MDAwMDVGMDkwN0U0MkUwOTA4MDA1RjA5MDc2ODlFMDA0RjBBMworOjEwNDA5MDAwRTAwNEYwNzUxMTAxODA0MjkwN0U0MUUwOTA4MDA1RjBDRgorOjEwNDBBMDAwOTA3RTQyRTA5MDgwMDVGMDkwN0U0M0UwOTA4MDA1RjBBNQorOjEwNDBCMDAwOTA3Njg5RTAwNEYwRTAwNEYwRTAwNEYwNzUxMTAxODBFRQorOjEwNDBDMDAwMTlEMjNCRDIzQzgwMTNEMjNCODAwRjkwODAwNUU1MTc3QworOjEwNDBEMDAwRjA5MDc2ODlFMDA0RjA3NTExMDEyMDNCMDQwNTBEODAxNQorOjEwNDBFMDAwMUYzMDNDMUM5MDdFNDFFMDkwODAwNUYwOTA3RTQyRTBDNQorOjEwNDBGMDAwOTA4MDA1RjA5MDc2ODlFMDA0RjBFMDA0RjA3NTExMDFGRAorOjEwNDEwMDAwMDUwRjE1MTEwMTAwRTUxMTcwMTBDMjMzRjUwREY1MEYwMworOjBCNDExMDAwOTA3RkM3NzQwNEYwQzIzQkMyM0MyMjQ5Cis6MTA0MTFCMDA5MDc2OERFMDY0MDE3MDI3MzAyNzA4QzIyNzEyMDgwMEMzCis6MTA0MTJCMDAxMjE3NEEzMDI4MDhDMjI4MTIzODc0MTIxNzRBMzAyQTNDCis6MTA0MTNCMDAwRUU0OTA3NjhERjBDMjJBOTA3RkI0RTA0NDAyRjA5MEFBCis6MTA0MTRCMDA3NjNGRTBCNDAxMDVFNEYwMTIzMjZGOTA3NjQxRTBCNEIzCis6MTA0MTVCMDAwMTA1RTRGMDEyMzQ5QTkwNzY0MEUwQjQwMTAzMTIzNDc2Cis6MTA0MTZCMDA5QTEyMzAwMDMwMzMwMzEyNDAwMDkwN0Y5QkUwMjBFNDIyCis6MTA0MTdCMDAwMkMyM0Y5MDdGOUJFMDMwRTQwMkQyM0Y5MDdGOUJFMEY2Cis6MTA0MThCMDAyMEU1MDJDMjNFOTA3RjlCRTAzMEU1MDJEMjNFQTI0MTg5Cis6MTA0MTlCMDAzMDNGMDFCMzUwMUZBMjNGOTI0MTMwM0YwOTkwNzY5N0I5Cis6MTA0MUFCMDBFMDU0RkVGMDgwMDc5MDc2OTdFMDQ0MDFGMDkwNzY5NzBDCis6MTA0MUJCMDBFMDkwODAwMkYwMzAzRjM0OTA3NjE5RTBGRkI0MDEwRUFFCis6MTA0MUNCMDA5MDc2N0M3NDY3RjBBMzc0MDZGMEEzNzQwQkYwRUZCNEQ1Cis6MTA0MURCMDAwMjBCRTQ5MDc2N0NGMEEzRjBBMzc0MENGMEVGQjQwMzI1Cis6MTA0MUVCMDAwQkU0OTA3NjdDRjBBM0YwQTM3NDE4RjBBMjQwMzAzRTYxCis6MTA0MUZCMDAwMUIzNTAxRkEyM0U5MjQwMzAzRTA5OTA3Njk1RTA0NEE5Cis6MTA0MjBCMDAwNEYwODAwNzkwNzY5NUUwNTRGQkYwOTA3Njk1RTA5MDYzCis6MDQ0MjFCMDA4MDAxRjAyMjBDCis6MTA0MjFGMDA5MDc2MTlFMDY0MDE3MDM1OTA3Njg3RTBGRkQzOTQyRDg2Cis6MTA0MjJGMDA0MDJCOTA3Njg2NzQwMUYwOTA3Njg1RTAwNEYwRTBEMzExCis6MTA0MjNGMDA5NDBGNDAxOUU0RjBFRkQzOTQzMTQwMDg5MDc2MTk3NDNECis6MTA0MjRGMDAwM0YwODAwNjkwNzYxOTc0MDJGMDEyM0U5RjkwNzYxOTUzCis6MTA0MjVGMDBFMEI0MDIyQzkwNzY4N0UwRkZDMzk0MkY1MDIyRUZEMzY3Cis6MTA0MjZGMDA5NDJBNDAxQzkwNzY4Njc0MDFGMDkwNzY4NUUwMDRGMEQ1Cis6MTA0MjdGMDBFMEQzOTQwRjQwMEFFNEYwOTA3NjE5MDRGMDEyM0U5RkI5Cis6MTA0MjhGMDA5MDc2MTlFMEI0MDIyNjkwNzY4N0UwRDM5NDMxNDAxREUyCis6MTA0MjlGMDA5MDc2ODY3NDAxRjA5MDc2ODVFMDA0RjBFMEQzOTQwRjY5Cis6MTA0MkFGMDA0MDBCRTRGMDkwNzYxOTc0MDNGMDEyM0U5RjkwNzYxOTRDCis6MTA0MkJGMDBFMDY0MDM3MDNGOTA3Njg3RTBGRkMzOTQ1RjUwMzU5MEMyCis6MTA0MkNGMDA3Njg2NzQwMUYwOTA3Njg1RTAwNEYwRTBEMzk0MEY0MDg5Cis6MTA0MkRGMDAyM0U0RjBFRkMzOTQyRjUwMENFRkQzOTQyQTQwMDY5MEIxCis6MTA0MkVGMDA3NjE5NzQwMUYwRUZEMzk0MkY0MDA2OTA3NjE5NzQwMjZCCis6MTA0MkZGMDBGMDEyM0U5RjkwNzY4NkUwNzAwNTkwNzY4NUYwMjJFNDZFCis6MDU0MzBGMDA5MDc2ODZGMDIyMEIKKzoxMDQzMTQwMEU0OTA3Njk2RjA5MDgwMDNGMDkwN0ZFMDc0OTBGMDkwQjMKKzoxMDQzMjQwMDdGRTE3NDA0RjBFNDkwN0ZEREYwOTA3RkExRjA1MzhFODAKKzoxMDQzMzQwMEY4NzU4ODA1NzVCODIwNzVGODAxNDM4RTMwRjVDODc1OTEKKzoxMDQzNDQwMENBN0Y3NUNCRjg0M0E4MjAxMjQ1NjVDMjJDQzIyREMyODIKKzoxMDQzNTQwMDJCQzIyRjkwN0ZGQzc0RERGMDkwN0ZGRjc0RkZGMDkwRjAKKzoxMDQzNjQwMDdGOTdFMDQ0MDFGMDkwNzYxOTc0MDFGMEU0OTA3Njg1MkIKKzoxMDQzNzQwMEYwQTNGMDkwNzY4MUYwOTA3NjgwRjAxMjQ5QUUxMjBGOUYKKzoxMDQzODQwMEM2MTI0QUYxOTA3Rjk3RTA0NDA4RjBFMDU0QjlGMEQyQTUKKzoxMDQzOTQwMDMwMjAzMDE4MTI0QUE2MTIzMDAwMTI0MDAwMTI0MjFGNzgKKzoxMDQzQTQwMDEyNDhCRDEyMUIwNDEyMTY2MTEyNDIxRjEyNEFBNkMyMDEKKzoxMDQzQjQwMDJGQzIzMUMyMzJDMjM0QzIzM0MyMjlDMjI3QzIyOEU0NTYKKzoxMDQzQzQwMEY1MTE5MDc2ODlGMDkwNzYzRkYwOTA3NjQxRjA5MDc2RjIKKzoxMDQzRDQwMDQwRjA5MDc2OEFGMEEzRjBBMzA0RjBFNEEzRjA5MDc2ODIKKzowMzQzRTQwMDk5RjAyMjJCCis6MTA0M0U3MDAxMjRFMTk0MDAyODFBQzkwN0ZFQkUwMjRGRTYwMUUxNDUwCis6MTA0M0Y3MDA2MDQ2MTQ2MDZFMTQ3MDAyODE5RDI0MDQ2MDAyODFBNURBCis6MTA0NDA3MDA3NDA1OTA3RkQ0RjA3NDAwOTA3RkQ1RjAyMjkwN0ZFQUY2Cis6MTA0NDE3MDBFMEZGMTI0QTU1OEIyMDhBMjE4OTIyRUE0OTYwMTFDRTkyCis6MTA0NDI3MDBFQUNFRUU5MDdGRDRGMENGRTlDRkVGOTA3RkQ1RjAyMkEwCis6MTA0NDM3MDA5MDdGQjRFMDQ0MDFGMDIyOTA3RkVBRTBGRjEyNDdCNzkzCis6MTA0NDQ3MDA4QjIwOEEyMTg5MjJFQTQ5NjAxMUNFRUFDRUVFOTA3RjNECis6MTA0NDU3MDBENEYwQ0ZFOUNGRUY5MDdGRDVGMDIyOTA3RkI0RTA0NDNFCis6MTA0NDY3MDAwMUYwMjI5MDdGRUFFMEZGOTA3RUMwRTBGREEzRTBGQjMxCis6MTA0NDc3MDAxMjE3OTQ4QjIwOEEyMTg5MjJFQTQ5NjAxMUNFRUFDRTRECis6MTA0NDg3MDBFRTkwN0ZENEYwQ0ZFOUNGRUY5MDdGRDVGMDIyOTA3RkU5Cis6MTA0NDk3MDBCNEUwNDQwMUYwMjI5MDdGQjRFMDQ0MDFGMDIyOTA3RjIxCis6MDU0NEE3MDBCNEUwNDQwMUYwNDcKKzowMTQ0QUMwMDIyRUQKKzoxMDQ0QUQwMEMyQUZEMjI0OTA3RjkzNzQzMEYwOTA3RjlDNzRCQkYwOTgKKzoxMDQ0QkQwMDkwN0Y5NkUwNDQzMEYwRTA1NDMwRjA5MDdGOTQ3NDMwNkIKKzoxMDQ0Q0QwMEYwOTA3RjlENzRDRkYwOTA3Rjk3NzRBMEYwOTA3Rjk1QzIKKzoxMDQ0REQwMDc0QzBGMDkwN0Y5RTc0MDNGMDkwN0Y5OUUwMzBFMjA5RjQKKzoxMDQ0RUQwMDkwMDUxOTc0QTBGMEU0QTNGMEMyMjVDMjIyQzIyM0MyMjQKKzoxMDQ0RkQwMDI2MTI0QjI4MTIyREE5MTIzQkQzMTI0NjE5MTIzQTQyRkQKKzoxMDQ1MEQwMDkwNzY2ODc0MDFGMDcwMEYxMjRDMjkxMjRFMTUxMjRFRjAKKzoxMDQ1MUQwMDE3MTIxQjQwMTIxNDk2MTI0MzE0OTA3RkFGRTA0NDAxMDIKKzoxMDQ1MkQwMEYwOTA3RkFFRTA0NDFGRjA5MDdGQUM3NEZGRjA5MDdGNzEKKzoxMDQ1M0QwMEFERjA5MDdGREVGMDkwN0ZERkYwOTA3RkFCRjA5MDdGNUQKKzoxMDQ1NEQwMEE5RjA5MDdGQUFGMDUzOTFFRjQzRDgyMEQyRTg0M0Q4MzkKKzowODQ1NUQwMDIwNTNBOEEwNDNBODgwMjIwRQorOjEwNDU2NTAwOTA3NjlBNzQwMkYwRTQ5MDc2OTFGMEEzRjA5MDc2OTBBQworOjEwNDU3NTAwRjA5MDc2OTNGMDkwNzY5Njc0MDNGMDkwODAwM0YwRTREMworOjEwNDU4NTAwOTA3Njk3RjA5MDgwMDJGMDkwNzY5NDA0RjA5MDgwMDBGOQorOjEwNDU5NTAwRjBFNDkwNzY4RUYwOTA3NjFBRjA5MDc2OTUwNEYwQzI1RAorOjEwNDVBNTAwMkU5MDdGOUJFMEZGNTQxMEZGNzAwMkMyM0Y5MDdGOUJDRgorOjEwNDVCNTAwRTBGRjU0MTBGRUZGQkUxMDAyRDIzRjkwN0Y5QkUwRkY0QworOjEwNDVDNTAwNTQyMEZGNzAwMkMyM0U5MDdGOUJFMEZGNTQyMEZFRkYwNworOjEwNDVENTAwQkUyMDAyRDIzRTMwM0YwOTkwNzY5N0UwNTRGRUYwODAyRgorOjEwNDVFNTAwMDc5MDc2OTdFMDQ0MDFGMDkwNzY5N0UwOTA4MDAyRjA4RQorOjEwNDVGNTAwMzAzRTA5OTA3Njk1RTA0NDA0RjA4MDA3OTA3Njk1RTA4QQorOjEwNDYwNTAwNTRGQkYwOTA3Njk1RTA5MDgwMDFGMEEyM0U5MjQwQTI5NgorOjAzNDYxNTAwM0Y5MjQxOTAKKzowMTQ2MTgwMDIyN0YKKzoxMDQ2MTkwMEU0OTA3NjM2RjBFMEZGNzVGMDAzQTQyNDMyRjU4MkU0RTUKKzoxMDQ2MjkwMDM0NzVGNTgzRTRGMEVGNzVGMDAzQTQyNDMzRjU4MkU0REYKKzoxMDQ2MzkwMDM0NzVGNTgzNzQwMUYwOTA3NjM2RTAwNEYwRTBGRjc1ODcKKzoxMDQ2NDkwMEYwMDNBNDI0MzJGNTgyRTQzNDc1RjU4M0U0RjBFRjc1QzAKKzoxMDQ2NTkwMEYwMDNBNDI0MzNGNTgyRTQzNDc1RjU4Mzc0MDJGMDkwRjEKKzoxMDQ2NjkwMDc2MzZFMDA0RjBFMEZGNzVGMDAzQTQyNDMyRjU4MkU0MjUKKzoxMDQ2NzkwMDM0NzVGNTgzRTRGMEVGNzVGMDAzQTQyNDMzRjU4MkU0OEYKKzoxMDQ2ODkwMDM0NzVGNTgzNzQwM0YwOTA3NjM2RTAwNEYwRTBGRjc1MzUKKzoxMDQ2OTkwMEYwMDNBNDI0MzJGNTgyRTQzNDc1RjU4M0U0RjBFRjc1NzAKKzoxMDQ2QTkwMEYwMDNBNDI0MzNGNTgyRTQzNDc1RjU4Mzc0MDRGMDIyMEQKKzowQzQ2QjkwMDc4N0ZFNEY2RDhGRDc1ODEzODAyNDcwMEQ4Cis6MTA0NkM1MDAwMjA3QTZFNDkzQTNGOEU0OTNBMzQwMDNGNjgwMDFGMjVFCis6MTA0NkQ1MDAwOERGRjQ4MDI5RTQ5M0EzRjg1NDA3MjQwQ0M4QzMzM0Y2Cis6MTA0NkU1MDBDNDU0MEY0NDIwQzg4MzQwMDRGNDU2ODAwMTQ2RjZERkM1Cis6MTA0NkY1MDBFNDgwMEIwMTAyMDQwODEwMjA0MDgwOTAwQzhGRTQ3RUJBCis6MTA0NzA1MDAwMTkzNjBCQ0EzRkY1NDNGMzBFNTA5NTQxRkZFRTQ5M0I5Cis6MTA0NzE1MDBBMzYwMDEwRUNGNTRDMDI1RTA2MEE4NDBCOEU0OTNBMzgwCis6MTA0NzI1MDBGQUU0OTNBM0Y4RTQ5M0EzQzhDNTgyQzhDQUM1ODNDQUFCCis6MTA0NzM1MDBGMEEzQzhDNTgyQzhDQUM1ODNDQURGRTlERUU3ODBCRTYzCis6MTA0NzQ1MDA5MDdGRUNFMDkwNzY4M0YwRTAxNDYwMUQxNDYwMkExNEVECis6MTA0NzU1MDA2MDM3MTQ2MDQ0MjQwNDcwNTA5MDc2OTFFMDkwN0YwMDk3Cis6MTA0NzY1MDBGMDkwN0ZCNTc0MDFGMDgwNDc5MDc2OTJFMDkwN0YwMERECis6MTA0Nzc1MDBGMDkwN0ZCNTc0MDFGMDgwMzc5MDc2OTBFMDkwN0YwMERGCis6MTA0Nzg1MDBGMDkwN0ZCNTc0MDFGMDgwMjc5MDc2ODRFMDkwN0YwMEVCCis6MTA0Nzk1MDBGMDkwN0ZCNTc0MDFGMDgwMTc5MDc2OTNFMDkwN0YwMERDCis6MTA0N0E1MDBGMDkwN0ZCNTc0MDFGMDgwMDc5MDdGQjRFMDQ0MDFGMDhDCis6MDI0N0I1MDBEMzIyMEQKKzowMjQ3QjcwMDhGMkU0MworOjEwNDdCOTAwRTRGNTJGNzUzMEZGNzUzMTA3NzUzMjFBQUIzMEFBMzEyMAorOjEwNDdDOTAwQTkzMjkwMDAwMTEyMzZBQkI0MDMxRkFGMkYwNTJGRUZBQQorOjEwNDdEOTAwNjUyRTcwMDEyMjEyMzY5MjdFMDAyOUZGRUUzQUM5RUY0QQorOjEwNDdFOTAwQzk3NTMwRkZGNTMxODkzMjgwRDI3QjAwN0EwMDc5MDBCMgorOjAxNDdGOTAwMjI5RAorOjA2NDdGQTAwMTI0QjI4QzIzMTIyMUYKKzoxMDQ4MDAwMEMwRTBDMEYwQzA4M0MwODJDMEQwRThDMEUwRTlDMEUwMzIKKzoxMDQ4MTAwMEVBQzBFMEVCQzBFMEVDQzBFMEVEQzBFMEVFQzBFMEVGRUQKKzoxMDQ4MjAwMEMwRTBDMkNBQzJDRjkwN0Y5OEUwNDQwMUYwMzAyRTAzQUUKKzoxMDQ4MzAwMDEyMTRBNjkwN0Y5OEUwNTRGRUYwNTNBOEZBMTIxNjYxNjUKKzoxMDQ4NDAwMEQwRTBGRkQwRTBGRUQwRTBGREQwRTBGQ0QwRTBGQkQwMzcKKzoxMDQ4NTAwMEUwRkFEMEUwRjlEMEUwRjhEMEQwRDA4MkQwODNEMEYwMjgKKzowMzQ4NjAwMEQwRTAzMjczCis6MTA0ODYzMDA5MDdGRUNFMDkwNzY4M0YwRTAxNDYwMTcxNDYwMjExNERECis6MTA0ODczMDA2MDJCMTQ2MDMyMjQwNDcwMzg5MDdGRUFFMDkwNzY5MUM0Cis6MTA0ODgzMDBGMDgwMzU5MDdGRUFFMDkwNzY5MkYwMTIzRTlGODAyODg4Cis6MTA0ODkzMDA5MDdGRUFFMDkwNzY5MEYwMTIxODAwODAxQjkwN0ZFQUY4Cis6MTA0OEEzMDBFMDkwNzY4NEYwODAxMTkwN0ZFQUUwOTA3NjkzRjA4MDM4Cis6MEE0OEIzMDAwNzkwN0ZCNEUwNDQwMUYwRDMyMjI3Cis6MTA0OEJEMDAzMDJEMzlDMjJEOTA3NjE5RTBGRkI0MDEwREU0OTA3NkJDCis6MTA0OENEMDA3Q0YwQTM3NEY4RjBBMzc0MEFGMEVGQjQwMjBERTQ5MDM5Cis6MTA0OEREMDA3NjdDRjBBMzc0RjBGMEEzNzQwQkYwRUZCNDAzMERFNDQ5Cis6MEQ0OEVEMDA5MDc2N0NGMEEzNzRGOEYwQTM3NDE3RjAyMjBECis6MDY0OEZBMDA1MzkxQkZEMjJEMzJFNAorOjEwNDkwMDAwMDIyRkU3MDAwMjNENDcwMDAyNERCNDAwMDI0QzQzMDA3NQorOjEwNDkxMDAwMDI0QkU5MDAwMjJGRkYwMDAyNEM1QjAwMDI0QzBBMDAzMAorOjEwNDkyMDAwMDI0QzcyMDAwMjRCNUEwMDAyNEM4OTAwMDI0Q0EwMDA1QgorOjEwNDkzMDAwMDI0Q0I3MDAwMjRDQ0UwMDAyNENFNTAwMDI0Q0ZDMDBEOQorOjEwNDk0MDAwMDI0RDEzMDAwMjREMkEwMDAyNEQ0MTAwMDI0RDU4MDA1NQorOjA4NDk1MDAwMDI0RDZGMDAwMjREODYwMENDCis6MTA0OTU4MDBFNDkwNzYyNkYwOTA3NjI2RTBGRjc1RjAwM0E0MjQzNEUwCis6MTA0OTY4MDBGNTgyRTQzNDc1RjU4M0UwRkU5MDdGRUNFMEZERUU2REIyCis6MTA0OTc4MDA2MDBFRUZDMzk0MDQ1MDA4OTA3NjI2RTAwNEYwODBENUNBCis6MTA0OTg4MDBFRkI0MDQwODkwN0ZCNEUwNDQwMUYwMjJFRjc1RjAwMzFGCis6MTA0OTk4MDBBNDI0MzJGNTgyRTQzNDc1RjU4M0UwOTA3RjAwRjA5MDJBCis6MDY0OUE4MDA3RkI1NzQwMUYwMjI0RQorOjEwNDlBRTAwOTA3NjQ2NzQ4MEYwRTRBM0YwQTNGMEEzRjBBM0YwQTNGNgorOjEwNDlCRTAwRjBBM0YwQTNGMEEzRjBBMzc0ODBGMEU0QTNGMEEzRjBBRgorOjEwNDlDRTAwQTNGMEEzRjBBM0YwQTNGMEEzNzQ0MEYwRTRBM0YwQTMyQworOjEwNDlERTAwNzQ0MEYwRTRBM0YwQTNGMEEzRjBBM0YwQTNGMEEzRjBDRgorOjEwNDlFRTAwQTM3NDQwRjBFNEEzRjBBMzc0NDBGMEU0QTNGMEEzRjBBQQorOjA1NDlGRTAwQTNGMEEzRjAyMjZDCis6MTA0QTAzMDBFNDkwNzYyNUYwOTA3NjI1RTBGRjc1RjAwM0E0MjQzNDM2Cis6MTA0QTEzMDBGNTgyRTQzNDc1RjU4M0UwRkU5MDdGRUNFMEZERUU2RDA2Cis6MTA0QTIzMDA2MDBFRUZDMzk0MDQ1MDA4OTA3NjI1RTAwNEYwODBENTFGCis6MTA0QTMzMDBFRkI0MDQwODkwN0ZCNEUwNDQwMUYwMjI5MDdFQzBFMDFDCis6MTA0QTQzMDBGRUVGNzVGMDAzQTQyNDMyRjU4MkU0MzQ3NUY1ODNFRUFBCis6MDI0QTUzMDBGMDIyNEYKKzoxMDRBNTUwMEU0RkU3NTFERkY3NTFFMDU3NTFGMTJBQjFEQUExRUE5NjcKKzoxMDRBNjUwMDFGOTAwMDAxMTIzNkFCNjQwMjcwMkZDREVFQ0QwRUVEMTYKKzoxMDRBNzUwMDZGNzAwMTIyOTAwMDAyMTIzNzBFODVGMDFCRjUxQzYyNDMKKzoxMDRBODUwMDFCRTUxQjYyMUNFNTFDNjIxQjI5RkRFNTFCM0FDOUVERjQKKzoxMDRBOTUwMEM5NzUxREZGRjUxRTg5MUY4MEMxN0IwMDdBMDA3OTAwNEQKKzowMTRBQTUwMDIyRUUKKzoxMDRBQTYwMEU0OTA3NjlCRjA5MDc2OUJFMEZGMDRGMEVGNjAwOEUwRTAKKzoxMDRBQjYwMDI0MDhGOEU0RjY4MEVFOTA3Njk2RTA0NDA0RjA0NDA4ODQKKzoxMDRBQzYwMEYwOTA4MDAzRjBFNEY1MThEMjM1RjUwRUY1MTBEMjM2RTUKKzoxMDRBRDYwMDc1MTIxMTc1MTMyMkMyMzdDMjM5QzIzOEY1MTZGNTE0OEMKKzowQjRBRTYwMEY1MUFGNTBEQzIzQkMyM0NDMjNEMjI5OAorOjEwNEFGMTAwRTRGRjc0NTYyRkY1ODJFNDM0NzZGNTgzRTBGRTc0MjhFMgorOjEwNEIwMTAwMkZGNTgyRTQzNDgwRjU4M0VFRjA3NDVFMkZGNTgyRTRCNAorOjEwNEIxMTAwMzQ3NkY1ODNFMEZFNzQzODJGRjU4MkU0MzQ4MEY1ODMzMgorOjA2NEIyMTAwRUVGMDBGQkYwOENDMEUKKzowMTRCMjcwMDIyNkIKKzoxMDRCMjgwMEU0OTA3MjM2RjBBM0YwOTA3Rjk3RTA1NEZCRjBFNDkwQTUKKzoxMDRCMzgwMDcyMzNGMDkwNzIzMkYwOTA3MjAxMDRGMEU0OTA3MjMzQTQKKzoxMDRCNDgwMEYwOTA3MjMyRjA5MDcyMDEwNEYwOTA3Rjk3RTA0NDA0ODQKKzowMjRCNTgwMEYwMjI0OQorOjEwNEI1QTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFBRTA0NDAyRjA4NAorOjEwNEI2QTAwOTA3RkM3RTBGNTExNzUwRjAwNzUwRDAwRDIzM0QwODIyMgorOjA1NEI3QTAwRDA4M0QwRTAzMjAxCis6MTA0QjdGMDA5MDdGRDZFMDU0RkJGMEUwNDQwOEYwMzA0MjA0RTA0NDZDCis6MTA0QjhGMDAwMkYwN0ZEQzdFMDUxMjREOUQ5MDdGRDZFMDU0RjdGMDRBCis6MDU0QjlGMDBFMDQ0MDRGMDIyRDcKKzoxMDRCQTQwMDkwN0ZFQkUwMTQ3MDE0OTA3RkU5RTAyNDdGNzAwNDEyOEUKKzoxMDRCQjQwMDQ5NTgyMjkwN0ZCNEUwNDQwMUYwMjI5MDdGQjRFMDQ0NEQKKzowMzRCQzQwMDAxRjAyMkRCCis6MTA0QkM3MDA5MDdGRUJFMDE0NzAxMzkwN0ZFOUUwMTQ3MDA0MTI0QUIxCis6MTA0QkQ3MDAwMzIyOTA3RkI0RTA0NDAxRjAyMjkwN0ZCNEUwNDQwMUM3Cis6MDI0QkU3MDBGMDIyQkEKKzoxMDRCRTkwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQjc0MTBGMDkwMDYKKzoxMDRCRjkwMDc2OTZFMDU0RkRGMDkwODAwM0YwRDA4MkQwODNEMEUwMjcKKzowMTRDMDkwMDMyNzgKKzoxMDRDMEEwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQUUwNDQwMUYwRDQKKzowRjRDMUEwMEMyMjk5MDc2OEQ3NDAxRjBEMDgyRDA4M0QwRTAzMjIxCis6MTA0QzI5MDA5MDdGRDZFMDMwRTcxMkUwNDQwMUYwN0YxNDdFMDAxMjU1Cis6MEE0QzM5MDA0RDlEOTA3RkQ2RTA1NEZFRjAyMjVFCis6MTA0QzQzMDBDMEUwQzA4M0MwODJEMjI1NTM5MUVGOTA3RkFCNzQwODNDCis6MDg0QzUzMDBGMEQwODJEMDgzRDBFMDMyRTIKKzoxMDRDNUIwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBOUUwNDQwMUYwODQKKzowNzRDNkIwMEQwODJEMDgzRDBFMDMyQkIKKzoxMDRDNzIwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBOUUwNDQwMkYwNkMKKzowNzRDODIwMEQwODJEMDgzRDBFMDMyQTQKKzoxMDRDODkwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBOUUwNDQwNEYwNTMKKzowNzRDOTkwMEQwODJEMDgzRDBFMDMyOEQKKzoxMDRDQTAwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQUUwNDQwNEYwM0IKKzowNzRDQjAwMEQwODJEMDgzRDBFMDMyNzYKKzoxMDRDQjcwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBOUUwNDQwOEYwMjEKKzowNzRDQzcwMEQwODJEMDgzRDBFMDMyNUYKKzoxMDRDQ0UwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQUUwNDQwOEYwMDkKKzowNzRDREUwMEQwODJEMDgzRDBFMDMyNDgKKzoxMDRDRTUwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBOUUwNDQxMEYwRUIKKzowNzRDRjUwMEQwODJEMDgzRDBFMDMyMzEKKzoxMDRDRkMwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQUUwNDQxMEYwRDMKKzowNzREMEMwMEQwODJEMDgzRDBFMDMyMTkKKzoxMDREMTMwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBOUUwNDQyMEYwQUMKKzowNzREMjMwMEQwODJEMDgzRDBFMDMyMDIKKzoxMDREMkEwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQUUwNDQyMEYwOTQKKzowNzREM0EwMEQwODJEMDgzRDBFMDMyRUIKKzoxMDRENDEwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBOUUwNDQ0MEYwNUUKKzowNzRENTEwMEQwODJEMDgzRDBFMDMyRDQKKzoxMDRENTgwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQUUwNDQ0MEYwNDYKKzowNzRENjgwMEQwODJEMDgzRDBFMDMyQkQKKzoxMDRENkYwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBOUUwNDQ4MEYwRjAKKzowNzREN0YwMEQwODJEMDgzRDBFMDMyQTYKKzoxMDREODYwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQUUwNDQ4MEYwRDgKKzowNzREOTYwMEQwODJEMDgzRDBFMDMyOEYKKzoxMDREOUQwMDhFMzU4RjM2RTUzNjE1MzZBRTM1NzAwMjE1MzU0RTYwQ0IKKzowNzREQUQwMDA1MTIxNDg1ODBFRTIyQkYKKzoxMDREQjQwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQjc0MDRGMEQwMDUKKzowNjREQzQwMDgyRDA4M0QwRTAzMjMyCis6MTA0RENBMDA5MDc2ODJFMDkwN0YwMEYwOTA3RkI1NzQwMUYwRDMyMjU0Cis6MEM0RERBMDBDMjM3RTRGNTBFRjUxMEMyMzZGNTE0MjJDNQorOjA5NERFNjAwQzIyNTUzRDhFRjQzRDgyMDMyNTYKKzowNzRERUYwMDUzOThGRTUzOThGRDMyQkEKKzowNzRERjYwMDUzQzBGRTUzQzBGRDMyNjMKKzowNjRERkQwMDUzOTE3RkQyMkMzMjFECis6MDQ0RTAzMDA1MzkxREYzMkI2Cis6MDQ0RTA3MDA1M0Q4RjczMjUzCis6MDQ0RTBCMDAxMjE3MzAyMjI4Cis6MDM0RTBGMDBDMjhEMzIxRgorOjAzNEUxMjAwQzI4RjMyMUEKKzowMjRFMTUwMEQzMjJBNgorOjAyNEUxNzAwRDMyMkE0Cis6MDI0RTE5MDBEMzIyQTIKKzowMjRFMUIwMEQzMjJBMAorOjAyNEUxRDAwRDMyMjlFCis6MDI0RTFGMDBEMzIyOUMKKzowMjRFMjEwMEMzMjJBQQorOjAwMDAwMDAxRkYKKy8qCitTb3VyY2U6IEVNSTYyTUZXLkhFWAorVkVSU0lPTj0xLjA0LjA2MgorREFURT0xNi4xMC4yMDAyCisqLwpkaWZmIC0tZ2l0IGEvZmlybXdhcmUvZW1pNjIvc3BkaWYuSEVYIGIvZmlybXdhcmUvZW1pNjIvc3BkaWYuSEVYCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMyMmQ1MGMKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9lbWk2Mi9zcGRpZi5IRVgKQEAgLTAsMCArMSwxMjU3IEBACis6MDMwMDAwMDAwMjQ1RjlCRAorOjAzMDAwMzAwMDIwRkZERUMKKzowMzAwMEIwMDAyNEQ5QjA4Cis6MDMwMDEzMDAwMjE3RkRENAorOjAzMDAxQjAwMDI0RDlFRjUKKzowMzAwMjMwMDAyNEQ3NTE2Cis6MDMwMDJCMDAwMjQ2Rjc5MworOjAzMDAzMzAwMDI0RDZDMEYKKzowMzAwM0IwMDAyNEQ3Q0Y3Cis6MDMwMDQzMDAwMjQ5MDA2RgorOjAzMDA0QjAwMDI0RDhGRDQKKzowMzAwNTMwMDAyNEQ4M0Q4Cis6MDMwMDVCMDAwMjREODlDQQorOjAzMDA2MzAwMDI0RDkzQjgKKzoxMDA1MDAwMDEyMDExMDAxMDAwMDAwNDA2QTA4MTEwMTAwMDEwMTAyRkYKKzoxMDA1MTAwMDAwMDEwOTAyQUMwMTAzMDEwMDgwMzIwOTA0MDAwMDAwNUYKKzoxMDA1MjAwMDAxMDEwMDAwMEEyNDAxMDAwMTU2MDAwMjAxMDIwQzI0MEUKKzoxMDA1MzAwMDAyMDEwMTAxMDAwMjAwMDAwMDAwMEQyNDA2MDUwMTAyNzUKKzoxMDA1NDAwMDAzMDAwMDAwMDAwMDAwMDkyNDAzMDIwNDAzMDAwNTAwNkEKKzoxMDA1NTAwMDBDMjQwMjAzMDUwMjAwMDYwMDAwMDAwMDE1MjQwNjA2MTQKKzoxMDA1NjAwMDAzMDIwMDAwMDMwMDAzMDAwMzAwMDMwMDAzMDAwMzAwNzQKKzoxMDA1NzAwMDAwMDkyNDAzMDQwMTAxMDAwNjAwMDkwNDAxMDAwMDAxMzAKKzoxMDA1ODAwMDAyMDAwMDA5MDQwMTAxMDIwMTAyMDAwMDA3MjQwMTAxMjgKKzoxMDA1OTAwMDAwMDEwMDExMjQwMjAxMDIwMjEwMDM0NEFDMDA4MEJCRTAKKzoxMDA1QTAwMDAwMDA3NzAxMDkwNTBBMDU4NDAxMDEwMDhGMDcyNTAxNzQKKzoxMDA1QjAwMDAxMDAwMDAwMDkwNThGMDEwMzAwMDEwNTAwMDkwNDAxODUKKzoxMDA1QzAwMDAyMDIwMTAyMDAwMDA3MjQwMTAxMDAwMTAwMTEyNDAyQkYKKzoxMDA1RDAwMDAxMDIwMzE4MDM0NEFDMDA4MEJCMDAwMDc3MDEwOTA1NDkKKzoxMDA1RTAwMDBBMDU0NjAyMDEwMDhGMDcyNTAxMDEwMDAwMDAwOTA1RTgKKzoxMDA1RjAwMDhGMDEwMzAwMDEwNTAwMDkwNDAyMDAwMDAxMDIwMDAwNTAKKzoxMDA2MDAwMDA5MDQwMjAxMDEwMTAyMDAwMDA3MjQwMTA0MDAwMTAwQTUKKzoxMDA2MTAwMDBFMjQwMjAxMDYwMjEwMDI0NEFDMDA4MEJCMDAwOTA1NTIKKzoxMDA2MjAwMDhDMDU0QzAyMDEwMDAwMDcyNTAxMDAwMjAwMDAwOTA0QUUKKzoxMDA2MzAwMDAyMDIwMTAxMDIwMDAwMDcyNDAxMDQwMDAxMDAwRTI0NEYKKzoxMDA2NDAwMDAyMDEwNjAzMTgwMjQ0QUMwMDgwQkIwMDA5MDU4QzA1QkEKKzoxMDA2NTAwMDcyMDMwMTAwMDAwNzI1MDEwMDAyMDAwMDA5MDQwMjAzRTMKKzoxMDA2NjAwMDAxMDEwMjAwMDAwNzI0MDEwNDAwMDEwMDExMjQwMjAxMUQKKzoxMDA2NzAwMDAyMDIxMDAzNDRBQzAwODBCQjAwMDA3NzAxMDkwNThDMjYKKzoxMDA2ODAwMDA1ODQwMTAxMDAwMDA3MjUwMTAwMDIwMDAwMDkwNDAyQTEKKzoxMDA2OTAwMDA0MDEwMTAyMDAwMDA3MjQwMTA0MDAwMTAwMTEyNDAyRUEKKzoxMDA2QTAwMDAxMDIwMzE4MDM0NEFDMDA4MEJCMDAwMDc3MDEwOTA1NzgKKzoxMDA2QjAwMDhDMDU0NjAyMDEwMDAwMDcyNTAxMDAwMjAwMDAwNDAzMkEKKzoxMDA2QzAwMDA5MDQxODAzNDUwMDZEMDA2MTAwNjcwMDY5MDA2MzAwQkMKKzoxMDA2RDAwMDIwMDA0NzAwNkQwMDYyMDA0ODAwMjIwMzQ1MDA2RDAwQzUKKzoxMDA2RTAwMDYxMDA2NzAwNjkwMDYzMDAyMDAwNDUwMDREMDA0OTAwN0IKKzoxMDA2RjAwMDIwMDAzNjAwN0MwMDMyMDAyMDAwNkQwMDJBMDM0MzAwRjkKKzoxMDA3MDAwMDZGMDA2RTAwNjYwMDY5MDA2NzAwNzUwMDcyMDA2MTAwOEUKKzoxMDA3MTAwMDc0MDA2OTAwNkYwMDZFMDAyMDAwNTMwMDc0MDA3MjAwQzYKKzoxMDA3MjAwMDY5MDA2RTAwNjcwMDIyMDM0OTAwNkUwMDc0MDA2NTAwRDYKKzoxMDA3MzAwMDcyMDA2NjAwNjEwMDYzMDA2NTAwMjAwMDUzMDA3NDAwRDEKKzowQTA3NDAwMDcyMDA2OTAwNkUwMDY3MDAwMDAwRkYKKzoxMDA3NEEwMDkwNzY5QTc0MDJGMEU0OTA3NjkxRjBBM0YwOTA3NjkwMDUKKzoxMDA3NUEwMEYwOTA3NjkzRjA5MDc2OTY3NDAzRjA5MDgwMDNGMEU0MkMKKzoxMDA3NkEwMDkwNzY5N0YwOTA4MDAyRjA5MDc2OTQwNEYwOTA4MDAwNTIKKzoxMDA3N0EwMEYwRTQ5MDc2OEVGMDkwNzYxQUYwOTA3Njk1MDRGMEMyQjYKKzoxMDA3OEEwMDJFOTA3RjlCRTBGRjU0MTBGRjcwMDJDMjNGOTA3RjlCMjgKKzoxMDA3OUEwMEUwRkY1NDEwRkVGRkJFMTAwMkQyM0Y5MDdGOUJFMEZGQTUKKzoxMDA3QUEwMDU0MjBGRjcwMDJDMjNFOTA3RjlCRTBGRjU0MjBGRUZGNjAKKzoxMDA3QkEwMEJFMjAwMkQyM0UzMDNGMDk5MDc2OTdFMDU0RkVGMDgwODgKKzoxMDA3Q0EwMDA3OTA3Njk3RTA0NDAxRjA5MDc2OTdFMDkwODAwMkYwRTcKKzoxMDA3REEwMDMwM0UwOTkwNzY5NUUwNDQwNEYwODAwNzkwNzY5NUUwRTMKKzoxMDA3RUEwMDU0RkJGMDkwNzY5NUUwOTA4MDAxRjBBMjNFOTI0MEEyRjAKKzowMzA3RkEwMDNGOTI0MUVBCis6MDEwN0ZEMDAyMkQ5Cis6MDIwN0ZFMDBEMzIyMDQKKzoxMDA4MDAwMEU0OTA3NjMxRjA5MDc2MzFFMEZGNzVGMDAzQTQyNDBGODgKKzoxMDA4MTAwMEY1ODJFNDM0NzVGNTgzRTBGRTkwN0ZFREUwRkRFRTZENEEKKzoxMDA4MjAwMDYwMEVFRkMzOTQwQjUwMDg5MDc2MzFFMDA0RjA4MEQ1NTEKKzoxMDA4MzAwMEVGQjQwQjA4OTA3RkI0RTA0NDAxRjAyMkVGNzVGMDAzQjEKKzoxMDA4NDAwMEE0MjQwRUY1ODJFNDM0NzVGNTgzRTA5MDc2MzNGMDI0MjkKKzoxMDA4NTAwMEYwNjAwQTI0MEU2MDAyODE4NzEyNEIzRTIyOTA3RkVERTkKKzoxMDA4NjAwMEUwNjQwNTcwNTE5MDc2MTg3NDA1RjA5MDc2Mzc3NDAxNDUKKzoxMDA4NzAwMEYwOTA3NjM5NzQwM0YwOTA3NjIxRjBFNDkwNzYyMEYwRDEKKzoxMDA4ODAwMDkwN0ZFQUUwRjQ2MDJGOTA3NjIwRTBGRjc1RjAwQUE0RjQKKzoxMDA4OTAwMDI0QUFGNTgyRTQzNDc1RjU4M0UwRkU5MDdGRUFFMEZENUEKKzoxMDA4QTAwMEVFNkQ2MDEyOTA3NjIxRTBGRUVGQzM5RTUwMDg5MDc2QzgKKzoxMDA4QjAwMDIwRTAwNEYwODBEMTkwN0ZFREUwNjQwNjcwNTI5MDc2RTUKKzoxMDA4QzAwMDE4NzQwNkYwOTA3NjM3NzQwNEYwOTA3NjM5NzQwQUYwNTQKKzoxMDA4RDAwMDkwNzYyMUYwOTA3NjIwNzQwM0YwOTA3RkVBRTBGNDYwNDcKKzoxMDA4RTAwMDJGOTA3NjIwRTBGRjc1RjAwQUE0MjRBQUY1ODJFNDM0NjQKKzoxMDA4RjAwMDc1RjU4M0UwRkU5MDdGRUFFMEZERUU2RDYwMTI5MDc2ODQKKzoxMDA5MDAwMDIxRTBGRUVGQzM5RTUwMDg5MDc2MjBFMDA0RjA4MEQxRjUKKzoxMDA5MTAwMDkwNzYyMEUwRkY3NUYwMEFBNDI0QUFGNTgyRTQzNDc1RUQKKzoxMDA5MjAwMEY1ODNFMDkwNzIyOUYwRTQ5MDc2M0JGMDkwNzYyMUUwMzgKKzoxMDA5MzAwMEZFRUY2RTcwMDg5MDdGQjRFMDQ0MDFGMDIyOTA3RkVCRjAKKzoxMDA5NDAwMEUwMTQ2MDEzMTQ3MDAyMjFFMjI0MDI2MDAyODE3RjkwOUYKKzoxMDA5NTAwMDdGQjRFMDQ0MDFGMDIyOTA3RkU5RTAxNDcwN0M5MDdGNDYKKzoxMDA5NjAwMEVBRTBGNDcwNDg5MDc2MzdFMDkwNzYyMEYwOTA3NjM5OUYKKzoxMDA5NzAwMEUwRkU5MDc2MjBFMEZEQzM5RTUwMkI5MDc2M0JFMEZFOUIKKzoxMDA5ODAwMDA0RjA3NEMwMkVGNTgyRTQzNDdFRjU4M0UwRkVFRDc1NEMKKzoxMDA5OTAwMEYwMEFBNDI0QUJGNTgyRTQzNDc1RjU4M0VFRjA5MDc2OEEKKzoxMDA5QTAwMDIwRTAwNEYwODBDNzkwNzYzRjc0MDFGMDIyOTA3RUMwNzIKKzoxMDA5QjAwMEUwRkVFRjc1RjAwQUE0MjRBQkY1ODJFNDM0NzVGNTgzMEMKKzoxMDA5QzAwMEVFRjBFMEI0MDEwODkwNzYzRTc0MDFGMDgwMDVFNDkwMEEKKzoxMDA5RDAwMDc2M0VGMDkwNzYzRjc0MDFGMDIyOTA3RkI0RTA0NDAxQkYKKzoxMDA5RTAwMEYwMjI5MDdGRTlFMDI0RkU3MDAyNDFBMzE0NzAwMjYxQkUKKzoxMDA5RjAwMDNGMTQ3MDAyNjFEQjI0MDM2MDAyODE3NzkwN0ZFQUUwOUMKKzoxMDBBMDAwMEY0NzA2QjkwNzYzN0UwOTA3NjIwRjA5MDc2MzlFMEZGQzYKKzoxMDBBMTAwMDkwNzYyMEUwRkVDMzlGNTA0RTkwNzYzQkUwRkYwNEYwQkUKKzoxMDBBMjAwMDc0QzAyRkY1ODJFNDM0N0VGNTgzRTBGRkVFNzVGMDBBQTIKKzoxMDBBMzAwMEE0MjRBQ0Y1ODJFNDM0NzVGNTgzRUZGMDkwNzYzQkUwQzYKKzoxMDBBNDAwMEZGMDRGMDc0QzAyRkY1ODJFNDM0N0VGNTgzRTBGRkVFRkUKKzoxMDBBNTAwMDc1RjAwQUE0MjRBREY1ODJFNDM0NzVGNTgzRUZGMDkwQzcKKzoxMDBBNjAwMDc2MjBFMDA0RjA4MEE0OTA3NjQwNzQwMUYwMjI5MDdFMUQKKzoxMDBBNzAwMEMwRTBGRjkwNzYyMEUwRkU3NUYwMEFBNDI0QUNGNTgyNzkKKzoxMDBBODAwMEU0MzQ3NUY1ODNFRkYwOTA3RUMxRTBGRkVFNzVGMDBBNzcKKzoxMDBBOTAwMEE0MjRBREY1ODJFNDM0NzVGNTgzRUZGMDkwNzY0MTc0Q0IKKzoxMDBBQTAwMDAxRjAyMjkwN0ZFQUUwRjQ3MDY2OTA3NjM3RTA5MDc2NkQKKzoxMDBBQjAwMDIwRjA5MDc2MzlFMEZGOTA3NjIwRTBGRUMzOUY0MDAyNjAKKzoxMDBBQzAwMDgxOEU5MDc2M0JFMEZGMDRGMDc0QzAyRkY1ODJFNDM0MTEKKzoxMDBBRDAwMDdFRjU4M0UwRkZFRTc1RjAwQUE0MjRBRUY1ODJFNDM0REYKKzoxMDBBRTAwMDc1RjU4M0VGRjA5MDc2M0JFMEZGMDRGMDc0QzAyRkY1Q0UKKzoxMDBBRjAwMDgyRTQzNDdFRjU4M0UwRkZFRTc1RjAwQUE0MjRBRkY1QkUKKzoxMDBCMDAwMDgyRTQzNDc1RjU4M0VGRjA5MDc2MjBFMDA0RjA4MEEyNjMKKzoxMDBCMTAwMDkwN0VDMEUwRkY5MDc2MjBFMEZFNzVGMDBBQTQyNEFFM0YKKzoxMDBCMjAwMEY1ODJFNDM0NzVGNTgzRUZGMDkwN0VDMUUwRkZFRTc1NTkKKzoxMDBCMzAwMEYwMEFBNDI0QUZGNTgyRTQzNDc1RjU4M0VGRjAyMjkwMzcKKzoxMDBCNDAwMDdGRUFFMEY0NzA2NjkwNzYzN0UwOTA3NjIwRjA5MDc2NTkKKzoxMDBCNTAwMDM5RTBGRjkwNzYyMEUwRkVDMzlGNDAwMjgxOEU5MDc2QzAKKzoxMDBCNjAwMDNCRTBGRjA0RjA3NEMwMkZGNTgyRTQzNDdFRjU4M0UwQUYKKzoxMDBCNzAwMEZGRUU3NUYwMEFBNDI0QjBGNTgyRTQzNDc1RjU4M0VGMzYKKzoxMDBCODAwMEYwOTA3NjNCRTBGRjA0RjA3NEMwMkZGNTgyRTQzNDdFRjEKKzoxMDBCOTAwMEY1ODNFMEZGRUU3NUYwMEFBNDI0QjFGNTgyRTQzNDc1MjQKKzoxMDBCQTAwMEY1ODNFRkYwOTA3NjIwRTAwNEYwODBBMjkwN0VDMEUwMjQKKzoxMDBCQjAwMEZGOTA3NjIwRTBGRTc1RjAwQUE0MjRCMEY1ODJFNDM0QkMKKzoxMDBCQzAwMDc1RjU4M0VGRjA5MDdFQzFFMEZGRUU3NUYwMEFBNDI0ODYKKzoxMDBCRDAwMEIxRjU4MkU0MzQ3NUY1ODNFRkYwMjI5MDdGRUFFMEY0MUEKKzoxMDBCRTAwMDcwNjY5MDc2MzdFMDkwNzYyMEYwOTA3NjM5RTBGRjkwNEUKKzoxMDBCRjAwMDc2MjBFMEZFQzM5RjQwMDI4MThFOTA3NjNCRTBGRjA0QUEKKzoxMDBDMDAwMEYwNzRDMDJGRjU4MkU0MzQ3RUY1ODNFMEZGRUU3NUYwREEKKzoxMDBDMTAwMDBBQTQyNEIyRjU4MkU0MzQ3NUY1ODNFRkYwOTA3NjNCQjQKKzoxMDBDMjAwMEUwRkYwNEYwNzRDMDJGRjU4MkU0MzQ3RUY1ODNFMEZGMkEKKzoxMDBDMzAwMEVFNzVGMDBBQTQyNEIzRjU4MkU0MzQ3NUY1ODNFRkYwODEKKzoxMDBDNDAwMDkwNzYyMEUwMDRGMDgwQTI5MDdFQzBFMEZGOTA3NjIwQjUKKzoxMDBDNTAwMEUwRkU3NUYwMEFBNDI0QjJGNTgyRTQzNDc1RjU4M0VGNjIKKzoxMDBDNjAwMEYwOTA3RUMxRTBGRkVFNzVGMDBBQTQyNEIzRjU4MkU0QjMKKzoxMDBDNzAwMDM0NzVGNTgzRUZGMDIyOTA3RkI0RTA0NDAxRjAyMjkwQzgKKzowRjBDODAwMDdGQjRFMDQ0MDFGMDIyOTA3RkI0RTA0NDAxRjAyMjAxCis6MTAwQzhGMDA0MTc2NjgwMTQxNzY2QTAyNDE3NjZCMEFDMTIwQzEyMTIzCis6MDIwQzlGMDBDMTJGNjMKKzowNDBDQTEwMDQxNzYyMzAwNzUKKzoxMDBDQTUwMDQxNzIwMTAxNDU3MjA1MDAwMkM5MDAwMDQ1NzIwQTAwNDIKKzoxMDBDQjUwMDAxMDIwMzA0NEQ3MjBGRDEwMEQxMDAwMDAwMDAwMDAwQjUKKzoxMDBDQzUwMDI4MjgwOTAwNEQ3MjFDMDEwMDAxMDIwMzA0MDUwNjA3Q0UKKzoxMDBDRDUwMDA4MDkwQTBCNDE3MjJFMjI0MTcyMkYyMzQxNzIzMDIwREUKKzoxMDBDRTUwMDQxNzIzMTIxNjJEMjcyM0EwMDAwMDAwMDAwMDAwMDAwMUEKKzoxMDBDRjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUYKKzoxMDBEMDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREUKKzoxMDBEMTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0UKKzoxMDBEMjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkUKKzoxMDBEMzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUUKKzoxMDBENDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUUKKzoxMDBENTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEUKKzoxMDBENjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0UKKzoxMDBENzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMTAxMDEwMTAxNjgKKzoxMDBEODUwMDAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxNEUKKzoxMDBEOTUwMDAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxM0UKKzoxMDBEQTUwMDAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMkUKKzoxMDBEQjUwMDAxMDEwMTAxMDEwMTAxMDEwMjAyMDIwMjAyMDIwMjAyMTYKKzoxMDBEQzUwMDAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyRkUKKzoxMDBERDUwMDAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyRUUKKzoxMDBERTUwMDAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyREUKKzoxMDBERjUwMDAyMDIwMjAyMDIwMzAzMDMwMzAzMDMwMzAzMDMwMzAzQzMKKzoxMDBFMDUwMDAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzQUQKKzoxMDBFMTUwMDAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzOUQKKzoxMDBFMjUwMDAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzOEQKKzoxMDBFMzUwMDAzMDMwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0NkYKKzoxMDBFNDUwMDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0NUQKKzoxMDBFNTUwMDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0NEQKKzoxMDBFNjUwMDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0M0QKKzoxMDBFNzUwMDA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MUQKKzoxMDBFODUwMDA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MEQKKzoxMDBFOTUwMDA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1RkQKKzoxMDBFQTUwMDA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNjA2RUIKKzoxMDBFQjUwMDA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2Q0QKKzoxMDBFQzUwMDA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2QkQKKzoxMDBFRDUwMDA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2QUQKKzoxMDBFRTUwMDA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNzA3MDcwODA4OTYKKzoxMDBFRjUwMDA4MDkwOTA5MEEwQTBBMEIwQjBCMEMwQzBDMEQwRDBENDAKKzoxMDBGMDUwMDBFMEUwRTBGMEYwRjEwMTAxMDExMTExMTEyMTIxMjEzRDkKKzoxMDBGMTUwMDEzMTMxNDE0MTQxNTE1MTUxNjE2MTYxNzE3MTcxODE4NzQKKzoxMDBGMjUwMDE4MTkxOTE5MTkxQTFBMUExQTFCMUIxQjFCMUMxQzFDMTgKKzoxMDBGMzUwMDFDMUQxRDFEMUQxRTFFMUUxRTFGMUYxRjFGMjAyMDIwQzgKKzoxMDBGNDUwMDIxMjEyMTIyMjIyMjIzMjMyNDI0MjUyNTI2MjYyNzI3NjEKKzoxMDBGNTUwMDI4MjgyOTI5MkEyQTJCMkIyQzJDMkQyRDJFMkUyRjJGRDQKKzoxMDBGNjUwMDMwMzAzMTMxMzIzMjMzMzMzNDM0MzUzNTM2MzYzNzM3NDQKKzoxMDBGNzUwMDM4MzgzOTM5M0EzQTNCM0MzRDNFM0Y0MDQxNDI0MzQ0OUIKKzoxMDBGODUwMDQ1NDY0NzQ4NDk0OTRBNEI0QjRDNEQ0RTRGNTA1MTUyQTcKKzoxMDBGOTUwMDUzNTQ1NTU1NTY1NjU3NTc1ODVBNUI1RDVFNUY2MTYyQjcKKzoxMDBGQTUwMDYzNjQ2NTY2Njc2ODY5NkE2QjZDNkQ2RjcxNzI3Mzc0OEIKKzoxMDBGQjUwMDc1NzY3Nzc4Nzk3QTdCN0M3RTgwMDEzNzAxMDEzODAwRjgKKzowMTBGQzUwMDAwMkIKKzoxMDBGQzYwMEU0RkY3NDQ2MkZGNTgyRTQzNDc2RjU4M0UwRkU3NDIwNjAKKzoxMDBGRDYwMDJGRjU4MkU0MzQ4MEY1ODNFRUYwNzQ0RTJGRjU4MkU0MkIKKzoxMDBGRTYwMDM0NzZGNTgzRTBGRTc0MzAyRkY1ODJFNDM0ODBGNTgzQTEKKzowNjBGRjYwMEVFRjAwRkJGMDhDQzc1Cis6MDEwRkZDMDAyMkQyCis6MDMwRkZEMDBDMjg5MzI3NAorOjEwMTAwMDAwRTQ5MDc2MkNGMDkwNzYyQ0UwRkY3NUYwMDNBNDI0MEY4QQorOjEwMTAxMDAwRjU4MkU0MzQ3NUY1ODNFMEZFOTA3RkVERTBGREVFNkQ0MgorOjEwMTAyMDAwNjAwRUVGQzM5NDBCNTAwODkwNzYyQ0UwMDRGMDgwRDU0RQorOjEwMTAzMDAwRUZCNDBCMDg5MDdGQjRFMDQ0MDFGMDIyRUY3NUYwMDNBOQorOjEwMTA0MDAwQTQyNDBFRjU4MkU0MzQ3NUY1ODNFMDkwNzYyRUYwMjQyNgorOjEwMTA1MDAwRjA2MDBBMjQwRjYwMDI4MTdEMTI0QjFCMjI5MDdGRUQwRAorOjEwMTA2MDAwRTA2NDA1NzA1MTkwNzYxODc0MDVGMDkwNzYzODc0MDEzQworOjEwMTA3MDAwRjA5MDc2M0E3NDAzRjA5MDc2MUNGMEU0OTA3NjFCRjBEMgorOjEwMTA4MDAwOTA3RkVBRTBGNDYwMkY5MDc2MUJFMEZGNzVGMDBBQTRGMQorOjEwMTA5MDAwMjRBQUY1ODJFNDM0NzVGNTgzRTBGRTkwN0ZFQUUwRkQ1MgorOjEwMTBBMDAwRUU2RDYwMTI5MDc2MUNFMEZFRUZDMzlFNTAwODkwNzZDNQorOjEwMTBCMDAwMUJFMDA0RjA4MEQxOTA3RkVERTA2NDA2NzA1MjkwNzZFMgorOjEwMTBDMDAwMTg3NDA2RjA5MDc2Mzg3NDA0RjA5MDc2M0E3NDBBRjA0QQorOjEwMTBEMDAwOTA3NjFDRjA5MDc2MUI3NDAzRjA5MDdGRUFFMEY0NjA0OQorOjEwMTBFMDAwMkY5MDc2MUJFMEZGNzVGMDBBQTQyNEFBRjU4MkU0MzQ2MQorOjEwMTBGMDAwNzVGNTgzRTBGRTkwN0ZFQUUwRkRFRTZENjAxMjkwNzY3QworOjEwMTEwMDAwMUNFMEZFRUZDMzlFNTAwODkwNzYxQkUwMDRGMDgwRDFGNworOjEwMTExMDAwRTQ5MDc2MUVGMDkwNzYxQ0UwRkY5MDc2MUJFMEZFNkY2OAorOjEwMTEyMDAwNzAwODkwN0ZCNEUwNDQwMUYwMjI5MDdGRUJFMDE0NjBGRgorOjEwMTEzMDAwMTMxNDcwMDIyMUJGMjQwMjYwMDI4MTc1OTA3RkI0RTAxNQorOjEwMTE0MDAwNDQwMUYwMjI5MDdGRTlFMDI0N0Y3MDZCOTA3RkVBRTAxOQorOjEwMTE1MDAwRjQ3MDRBOTA3NjM4RTA5MDc2MUJGMDkwNzYzQUUwRkY5MworOjEwMTE2MDAwOTA3NjFCRTBGREMzOUY1MDJCRUQ3NUYwMEFBNDI0QUJENQorOjEwMTE3MDAwRjU4MkU0MzQ3NUY1ODNFMEZGOTA3NjFFRTBGRDA0RjAxRgorOjEwMTE4MDAwNzQwMDJERjU4MkU0MzQ3RkY1ODNFRkYwOTA3NjFCRTA1OAorOjEwMTE5MDAwMDRGMDgwQzc5MDc2MUVFMDkwN0ZCNUYwMjJFRTc1RjBFNworOjEwMTFBMDAwMEFBNDI0QUJGNTgyRTQzNDc1RjU4M0UwOTA3RjAwRjA2NworOjEwMTFCMDAwOTA3RkI1NzQwMUYwMjI5MDdGQjRFMDQ0MDFGMDIyOTA1QQorOjEwMTFDMDAwN0ZFOUUwMjQ3RTcwMDI0MTdFMTQ3MDAyNjEyMzE0NzA3NgorOjEwMTFEMDAwMDI2MUM4MjQwMzYwMDI4MTZEOTA3RkVBRTBGNDcwNkRDMworOjEwMTFFMDAwOTA3NjM4RTA5MDc2MUJGMDkwNzYzQUUwRkY5MDc2MUI5MAorOjEwMTFGMDAwRTBDMzlGNTA0RkUwRkY3NUYwMEFBNDI0QUNGNTgyRTRGMQorOjEwMTIwMDAwMzQ3NUY1ODNFMEZFOTA3NjFFRTBGRDA0RjA3NDAwMkQ0OQorOjEwMTIxMDAwRjU4MkU0MzQ3RkY1ODNFRUYwRUY3NUYwMEFBNDI0QUQ5NworOjEwMTIyMDAwRjU4MkU0MzQ3NUY1ODNFMEZGOTA3NjFFRTBGRTA0RjA2RAorOjEwMTIzMDAwNzQwMDJFRjU4MkU0MzQ3RkY1ODNFRkYwOTA3NjFCRTBBNgorOjEwMTI0MDAwMDRGMDgwQTQ5MDc2MUVFMDkwN0ZCNUYwMjI5MDc2MUI4QgorOjEwMTI1MDAwRTBGRjc1RjAwQUE0MjRBQ0Y1ODJFNDM0NzVGNTgzRTA3MAorOjEwMTI2MDAwOTA3RjAwRjBFRjc1RjAwQUE0MjRBREY1ODJFNDM0NzVBOAorOjEwMTI3MDAwRjU4M0UwOTA3RjAxRjA5MDdGQjU3NDAyRjAyMjkwN0ZCQgorOjEwMTI4MDAwRUFFMEY0NzA2RDkwNzYzOEUwOTA3NjFCRjA5MDc2M0E1NAorOjEwMTI5MDAwRTBGRjkwNzYxQkUwQzM5RjUwNEZFMEZGNzVGMDBBQTQ3QgorOjEwMTJBMDAwMjRBRUY1ODJFNDM0NzVGNTgzRTBGRTkwNzYxRUUwRkQxMQorOjEwMTJCMDAwMDRGMDc0MDAyREY1ODJFNDM0N0ZGNTgzRUVGMEVGNzVEMQorOjEwMTJDMDAwRjAwQUE0MjRBRkY1ODJFNDM0NzVGNTgzRTBGRjkwNzY0QworOjEwMTJEMDAwMUVFMEZFMDRGMDc0MDAyRUY1ODJFNDM0N0ZGNTgzRUYwNworOjEwMTJFMDAwRjA5MDc2MUJFMDA0RjA4MEE0OTA3NjFFRTA5MDdGQjUyRAorOjEwMTJGMDAwRjAyMjkwNzYxQkUwRkY3NUYwMEFBNDI0QUVGNTgyRTQ5QworOjEwMTMwMDAwMzQ3NUY1ODNFMDkwN0YwMEYwRUY3NUYwMEFBNDI0QUYwOAorOjEwMTMxMDAwRjU4MkU0MzQ3NUY1ODNFMDkwN0YwMUYwOTA3RkI1NzQzOQorOjEwMTMyMDAwMDJGMDIyOTA3RkVBRTBGNDcwNkQ5MDc2MzhFMDkwNzZEQgorOjEwMTMzMDAwMUJGMDkwNzYzQUUwRkY5MDc2MUJFMEMzOUY1MDRGRTBBMQorOjEwMTM0MDAwRkY3NUYwMEFBNDI0QjBGNTgyRTQzNDc1RjU4M0UwRkU1RAorOjEwMTM1MDAwOTA3NjFFRTBGRDA0RjA3NDAwMkRGNTgyRTQzNDdGRjVGNAorOjEwMTM2MDAwODNFRUYwRUY3NUYwMEFBNDI0QjFGNTgyRTQzNDc1RjU0QworOjEwMTM3MDAwODNFMEZGOTA3NjFFRTBGRTA0RjA3NDAwMkVGNTgyRTQxOAorOjEwMTM4MDAwMzQ3RkY1ODNFRkYwOTA3NjFCRTAwNEYwODBBNDkwNzYzNAorOjEwMTM5MDAwMUVFMDkwN0ZCNUYwMjI5MDc2MUJFMEZGNzVGMDBBQTQ2NgorOjEwMTNBMDAwMjRCMEY1ODJFNDM0NzVGNTgzRTA5MDdGMDBGMEVGNzVBQQorOjEwMTNCMDAwRjAwQUE0MjRCMUY1ODJFNDM0NzVGNTgzRTA5MDdGMDE0RQorOjEwMTNDMDAwRjA5MDdGQjU3NDAyRjAyMjkwN0ZFQUUwRjQ3MDZEOTBBNworOjEwMTNEMDAwNzYzOEUwOTA3NjFCRjA5MDc2M0FFMEZGOTA3NjFCRTA0RQorOjEwMTNFMDAwQzM5RjUwNEZFMEZGNzVGMDBBQTQyNEIyRjU4MkU0MzRBNQorOjEwMTNGMDAwNzVGNTgzRTBGRTkwNzYxRUUwRkQwNEYwNzQwMDJERjU5NworOjEwMTQwMDAwODJFNDM0N0ZGNTgzRUVGMEVGNzVGMDBBQTQyNEIzRjU5RgorOjEwMTQxMDAwODJFNDM0NzVGNTgzRTBGRjkwNzYxRUUwRkUwNEYwNzRGQworOjEwMTQyMDAwMDAyRUY1ODJFNDM0N0ZGNTgzRUZGMDkwNzYxQkUwMDQyNAorOjEwMTQzMDAwRjA4MEE0OTA3NjFFRTA5MDdGQjVGMDIyOTA3NjFCRTBCRAorOjEwMTQ0MDAwRkY3NUYwMEFBNDI0QjJGNTgyRTQzNDc1RjU4M0UwOTBDOAorOjEwMTQ1MDAwN0YwMEYwRUY3NUYwMEFBNDI0QjNGNTgyRTQzNDc1RjU0QgorOjEwMTQ2MDAwODNFMDkwN0YwMUYwOTA3RkI1NzQwMkYwMjI5MDdGQjQwQQorOjEwMTQ3MDAwRTA0NDAxRjAyMjkwN0ZCNEUwNDQwMUYwMjI5MDdGQjQ3OAorOjA1MTQ4MDAwRTA0NDAxRjAyMjMwCis6MTAxNDg1MDA3NDAwRjU4NjkwRkRBNTdDMDVBM0U1ODI0NTgzNzBGOTdBCis6MDExNDk1MDAyMjM0Cis6MTAxNDk2MDA5MDdGRDZFMDQ0ODBGMDQzODcwMTAwMDAwMDAwMDAyMkUwCis6MTAxNEE2MDBDMEQwQzBFMDhGRTBDMEUwOEVFMEMwRTA4REUwQzBFMERDCis6MTAxNEI2MDA4Q0UwQzBFMEMwODJDMDgzMDU4NkMwODRDMDg1N0QwMDA0Cis6MTAxNEM2MDA5MDdGRTM3NDdCRjBBMzc0ODBGMDdDMTE5MDdGOTlFMEE5Cis6MTAxNEQ2MDA1NDQwREMwMzAyMTRGM0I0MDAxMzkwN0ZFMjc0NDBGMDJFCis6MTAxNEU2MDA5MDdGRTVGMDkwN0ZFMjc0MDBGMDAyMTREMjkwNzY5MDNGCis6MTAxNEY2MDBFMEI0MDExMjkwNzY4RkUwMkRGRDkwN0ZFMjc0ODBGMENCCis6MTAxNTA2MDA5MDdGNkMwMjE1NTdCNDAyMTI5MDc2OEZFMDJERkQ5MEY1Cis6MTAxNTE2MDA3RkUyNzQ4MEYwOTA3RjZDMDIxNTk2QjQwMzEyOTA3Njg5Cis6MTAxNTI2MDA4RkUwMkRGRDkwN0ZFMjc0ODBGMDkwN0Y2QzAyMTVFMUQ0Cis6MTAxNTM2MDBCNDA0MTI5MDc2OEZFMDJERkQ5MDdGRTI3NDgwRjA5MEQ3Cis6MTAxNTQ2MDA3RjZDMDIxNjEwOTA3RkUyNzQ4MEYwOTA3RjZDMDIxNjFBCis6MTAxNTU2MDA0MEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMERERjI3REI5Cis6MTAxNTY2MDAwMjA1ODY5MDdGRTI3NDAwRjA5MDdGOUJFMDU0MDRCNEZECis6MTAxNTc2MDAwMDA1MDU4NjAyMTY0MDkwN0ZFMjc0ODBGMDA1ODZGMDJECis6MTAxNTg2MDBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRERENDAyMTY0MEZDCis6MTAxNTk2MDBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMDQ1Cis6MTAxNUE2MDBGMEYwRERFQzdEMDIwNTg2OTA3RkUyNzQwMEYwOTA3RjFFCis6MTAxNUI2MDA5QkUwNTQwNEI0MDAwNTA1ODYwMjE2NDA5MDdGRTI3NDUxCis6MTAxNUM2MDA4MEYwMDU4NkYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMERBCis6MDYxNUQ2MDBGMEYwRjBGMEYwRjA2RgorOjEwMTVEQzAwRERDRTAyMTY0MEYwRjBGMEYwRERGQTdEMDIwNTg2OTBDQgorOjEwMTVFQzAwN0ZFMjc0MDBGMDkwN0Y5QkUwNTQwNEI0MDAwNTA1ODYwNAorOjEwMTVGQzAwMDIxNjQwOTA3RkUyNzQ4MEYwMDU4NkYwRjBGMEYwREQ4QQorOjEwMTYwQzAwREMwMjE2NDBGMEYwRjBGMEYwRjBEREY4N0QwMjA1ODYxQgorOjEwMTYxQzAwOTA3RkUyNzQwMEYwOTA3RjlCRTA1NDA0QjQwMDA1MDVDOQorOjEwMTYyQzAwODYwMjE2NDA5MDdGRTI3NDgwRjAwNTg2RjBGMEYwRjBCMAorOjEwMTYzQzAwRjBGMEREREE5MDdGRTI3NDAwRjBEMDg1RDA4NDA1ODY3RQorOjEwMTY0QzAwRDA4M0QwODJEMEUwRkNEMEUwRkREMEUwRkVEMEUwRkYzMworOjA1MTY1QzAwRDBFMEQwRDAyMjE3Cis6MTAxNjYxMDBDMEQwQzBFMEMwODJDMDgzOTA3NjdDRTA5MDdGNkZGMEY0Cis6MTAxNjcxMDA5MDc2N0RFMDkwN0Y2RkYwOTA3NjdFRTA5MDdGNkZGMEM2Cis6MDkxNjgxMDBEMDgzRDA4MkQwRTBEMEQwMjI0OQorOjEwMTY4QTAwQzBEMEMwRTA4RkUwQzBFMDhFRTBDMEUwQzA4MkMwODM3RQorOjEwMTY5QTAwMDU4NkMwODRDMDg1OTA3Njg3RTBGRkJGMDAwMzAyMTdFNQorOjEwMTZBQTAwMDE5MDdGOTZFMDQ0ODBGMDkwN0ZFMjc0ODBGMDkwN0YxMgorOjEwMTZCQTAwNjJFMDA1ODY5MDdGRTI3NDAwRjA5MDdGOTZFMDU0N0ZBNgorOjEwMTZDQTAwRjA5MDdGRTI3NDgwRjA5MDc2OEVFMEI0MDEwNTA1ODY5MgorOjEwMTZEQTAwMDIxNkY2QjQwMjA1MDU4NjAyMTZFQjA1ODYwMjE2RkIwQgorOjEwMTZFQTAwRTBFMEUwRTBFMEUwREZGODAyMTZGQkUwRTBFMEUwREY2NworOjEwMTZGQTAwRkE5MDdGRTI3NDAwRjBEMDg1RDA4NDA1ODZEMDgzRDAzQQorOjBDMTcwQTAwODJEMEUwRkVEMEUwRkZEMEUwRDBEMDIyODIKKzoxMDE3MTYwMEMwODJDMDgzQzBFMEU4QzBFMDc4RDFFODE0Rjg3MEZCNkUKKzowQTE3MjYwMEQwRTBGOEQwRTBEMDgzRDA4MjIyOUEKKzoxMDE3MzAwMEMwODJDMDgzQzBFMEU4QzBFMDc4NzhFODE0Rjg3MEZCQUQKKzowQTE3NDAwMEQwRTBGOEQwRTBEMDgzRDA4MjIyODAKKzowNzE3NEEwMDkwN0ZDNTc0MDJGMDIyM0MKKzoxMDE3NTEwMDkwN0VDMEUwOTA3NjQ1RjA5MDdFQzFFMDkwNzY0NEYwQjYKKzoxMDE3NjEwMDkwN0VDMkUwOTA3NjQzRjBCNDAwMDMwMjE3Nzg5MDc2NDEKKzoxMDE3NzEwMDE5NzQwM0YwMDIxNzhFOTA3NjQ0RTBCNEJCMDk5MDc2OTkKKzoxMDE3ODEwMDE5NzQwMkYwMDIxNzhFOTA3NjE5NzQwMUYwOTA3NjQyNjYKKzowMzE3OTEwMEU0RjAyMjVGCis6MDQxNzk0MDA4RDI5OEIyQUU2Cis6MTAxNzk4MDAxMjQ5RkZFQTQ5NjA1NzEyMzY5MjdFMDAyOUZGRUUzQTU1Cis6MTAxN0E4MDBDOUVGQzk3NTJCRkZGNTJDODkyREFCMkJBQTJDQTkyREI4Cis6MTAxN0I4MDA5MDAwMDExMjM2QUJGRjY0MDQ2MDA1RUY2NDA1NzAyRURCCis6MTAxN0M4MDBFRkI0MDQxNTkwMDAwMjEyMzZBQjY1Mjk3MDBCOTAwMDM3Cis6MTAxN0Q4MDAwMzEyMzZBQjY1MkE3MDAxMjIxMjM2OTI3RTAwMjlGRjY5Cis6MTAxN0U4MDBFRTNBQzlFRkM5NzUyQkZGRjUyQzg5MkQ4MEJDN0IwMDFCCis6MDQxN0Y4MDA3QTAwNzkwMEZBCis6MDExN0ZDMDAyMkNBCis6MDMxN0ZEMDBDMjhCMzI2QQorOjEwMTgwMDAwOTA3NjkwRTAxNDYwMzcxNDcwMDIwMUQ4MTQ3MDAyMjFCMQorOjEwMTgxMDAwNzIxNDcwMDI0MTNCMjQwNDYwMDI2MTAzOTA3RkZDNzRFNworOjEwMTgyMDAwQ0NGMDkwN0ZGRjc0RkNGMDkwNzY5NUUwNDQwMUYwNTQ4QQorOjEwMTgzMDAwMDVGMDkwODAwMUYwRTQ5MDc2MUFGMEMyMkUyMjkwNzZBNgorOjEwMTg0MDAwOTVFMDQ0MDFGMDQ0MDJGMDMwM0UwNkUwNDQwNEYwODBBQworOjEwMTg1MDAwMDc5MDc2OTVFMDU0RkJGMDkwNzYxQUUwQjQwMTA4OTA3QQorOjEwMTg2MDAwNzY5NUUwOTA4MDAxRjA5MDc2MTlFMEZGQjQwMTIyOTAyNworOjEwMTg3MDAwN0ZGQzc0NzRGMDkwN0ZGRjc0RkNGMDkwNzY4Rjc0MkI3MworOjEwMTg4MDAwRjA5MDc2OTdFMDU0RkRGMEU0OTA3NjgxRjA5MDc2ODBDOQorOjEwMTg5MDAwRjBFRkI0MDIyMjkwN0ZGQzc0NjhGMDkwN0ZGRjc0RkMzQworOjEwMThBMDAwRjA5MDc2OEY3NDJGRjA5MDc2OTdFMDQ0MDJGMEU0OTBGOQorOjEwMThCMDAwNzY4MUYwOTA3NjgwRjAzMDNGMDk5MDc2OTdFMDU0RkU4NAorOjEwMThDMDAwRjA4MDA3OTA3Njk3RTA0NDAxRjA5MDc2OTdFMDU0RkIyMworOjEwMThEMDAwRjA5MDgwMDJGMEQyMkUyMjkwNzY5NUUwNTRGRUYwNDRGMworOjEwMThFMDAwMDJGMDMwM0UwNkUwNDQwNEYwODAwNzkwNzY5NUUwNTQyNAorOjEwMThGMDAwRkJGMDkwNzYxQUUwQjQwMTA4OTA3Njk1RTA5MDgwMDFCNAorOjEwMTkwMDAwRjA5MDc2MTlFMEZGQjQwMTIyOTA3RkZDNzQzMEYwOTBFMworOjEwMTkxMDAwN0ZGRjc0RkNGMDkwNzY4Rjc0MkJGMDkwNzY5N0UwNTRGNAorOjEwMTkyMDAwRkRGMEU0OTA3NjgxRjA5MDc2ODBGMEVGQjQwMjIyOTBBMgorOjEwMTkzMDAwN0ZGQzc0MUNGMDkwN0ZGRjc0RkNGMDkwNzY4Rjc0MkYwNgorOjEwMTk0MDAwRjA5MDc2OTdFMDQ0MDJGMEU0OTA3NjgxRjA5MDc2ODAxMworOjEwMTk1MDAwRjAzMDNGMDk5MDc2OTdFMDU0RkVGMDgwMDc5MDc2OTczQworOjEwMTk2MDAwRTA0NDAxRjA5MDc2OTdFMDU0RkJGMDkwODAwMkYwRDJEMgorOjEwMTk3MDAwMkUyMjkwNzY5NUUwNDQwMUYwNDQwMkYwNDQwOEYwMzBDNQorOjEwMTk4MDAwM0UwNkUwNDQwNEYwODAwNzkwNzY5NUUwNTRGQkYwOTAyQQorOjEwMTk5MDAwNzYxQUUwQjQwMTA4OTA3Njk1RTA5MDgwMDFGMDkwNzY5OAorOjEwMTlBMDAwMTlFMEZGQjQwMTI1OTA3RkZDNzRDQ0YwOTA3RkZGNzRBOAorOjEwMTlCMDAwRkNGMDkwNzY4Rjc0MkJGMDkwNzY5N0UwNTRGREYwNTQwNQorOjEwMTlDMDAwRkJGMEU0OTA3NjgxRjA5MDc2ODBGMEVGQjQwMjI1OTAwMQorOjEwMTlEMDAwN0ZGQzc0QzhGMDkwN0ZGRjc0RkNGMDkwNzY4Rjc0MkZCQQorOjEwMTlFMDAwRjA5MDc2OTdFMDQ0MDJGMDU0RkJGMEU0OTA3NjgxRjBCQQorOjEwMTlGMDAwOTA3NjgwRjBFRkI0MDMyNTkwN0ZGQzc0OThGMDkwN0Y5MAorOjEwMUEwMDAwRkY3NEZDRjA5MDc2OEY3NDVGRjA5MDc2OTdFMDU0RkQ1MQorOjEwMUExMDAwRjA0NDA0RjBFNDkwNzY4MUYwOTA3NjgwRjAzMDNGMDk1NQorOjEwMUEyMDAwOTA3Njk3RTA1NEZFRjA4MDA3OTA3Njk3RTA0NDAxRjBCRQorOjEwMUEzMDAwOTA3Njk3RTA5MDgwMDJGMEQyMkUyMjkwNzY5NUUwNTQzNgorOjEwMUE0MDAwRkVGMDQ0MDJGMDQ0MDhGMDMwM0UwNkUwNDQwNEYwODAyQQorOjEwMUE1MDAwMDc5MDc2OTVFMDU0RkJGMDkwNzYxQUUwQjQwMTA4OTA3OAorOjEwMUE2MDAwNzY5NUUwOTA4MDAxRjA5MDc2MTlFMEZGQjQwMTI1OTAyMgorOjEwMUE3MDAwN0ZGQzc0QjRGMDkwN0ZGRjc0RkNGMDkwNzY4Rjc0MkIzMQorOjEwMUE4MDAwRjA5MDc2OTdFMDU0RkRGMDU0RkJGMEU0OTA3NjgxRjAwRQorOjEwMUE5MDAwOTA3NjgwRjBFRkI0MDIyNTkwN0ZGQzc0QjBGMDkwN0ZEOAorOjEwMUFBMDAwRkY3NEZDRjA5MDc2OEY3NDJGRjA5MDc2OTdFMDQ0MDJFQworOjEwMUFCMDAwRjA1NEZCRjBFNDkwNzY4MUYwOTA3NjgwRjBFRkI0MDM4MAorOjEwMUFDMDAwMjU5MDdGRkM3NDY4RjA5MDdGRkY3NEZDRjA5MDc2OEYxNworOjEwMUFEMDAwNzQ1RkYwOTA3Njk3RTA1NEZERjA0NDA0RjBFNDkwNzY2MworOjEwMUFFMDAwODFGMDkwNzY4MEYwMzAzRjA5OTA3Njk3RTA1NEZFRjBEOAorOjEwMUFGMDAwODAwNzkwNzY5N0UwNDQwMUYwOTA3Njk3RTA5MDgwMDIxRQorOjA0MUIwMDAwRjBEMjJFMjJDRgorOjEwMUIwNDAwMzAyQzM4QzIyQzkwNzYxOUUwRkZCNDAxMEU5MDc2N0MwQworOjEwMUIxNDAwNzRDMEYwQTM3NDE0RjBBMzc0MEJGMEVGQjQwMjBERTREQQorOjEwMUIyNDAwOTA3NjdDRjBBMzc0MTBGMEEzNzQwQ0YwRUZCNDAzMEI2NAorOjBDMUIzNDAwRTQ5MDc2N0NGMEEzNzQxOEYwQTNGMDIyN0IKKzoxMDFCNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTUKKzoxMDFCNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODUKKzoxMDFCNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzUKKzoxMDFCNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjUKKzoxMDFCODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTUKKzoxMDFCOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDUKKzoxMDFCQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzUKKzoxMDFCQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjUKKzoxMDFCQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTUKKzoxMDFCRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUKKzoxMDFCRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjUKKzoxMDFCRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTUKKzoxMDFDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDQKKzoxMDFDMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzQKKzoxMDFDMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjQKKzoxMDFDMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTQKKzoxMDFDNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTQKKzoxMDFDNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODQKKzoxMDFDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzQKKzoxMDFDNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjQKKzoxMDFDODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTQKKzoxMDFDOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDQKKzoxMDFDQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzQKKzoxMDFDQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjQKKzoxMDFDQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTQKKzoxMDFDRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQKKzoxMDFDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjQKKzoxMDFDRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTQKKzoxMDFEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDMKKzoxMDFEMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzMKKzoxMDFEMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjMKKzoxMDFEMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTMKKzoxMDFENDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTMKKzoxMDFENTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODMKKzoxMDFENjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzMKKzoxMDFENzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjMKKzoxMDFEODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTMKKzoxMDFEOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDMKKzoxMDFEQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzMKKzoxMDFEQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjMKKzoxMDFEQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTMKKzoxMDFERDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMKKzoxMDFERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjMKKzoxMDFERjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTMKKzoxMDFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDIKKzoxMDFFMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzIKKzoxMDFFMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjIKKzoxMDFFMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTIKKzoxMDFFNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTIKKzoxMDFFNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODIKKzoxMDFFNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzIKKzoxMDFFNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjIKKzoxMDFFODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTIKKzoxMDFFOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDIKKzoxMDFFQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzIKKzowRTFFQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNAorOjEwMUVCRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNAorOjEwMUVDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNAorOjEwMUVERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGNAorOjEwMUVFRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNAorOjEwMUVGRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENAorOjEwMUYwRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMworOjEwMUYxRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMworOjEwMUYyRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMworOjAyMUYzRTAwMDAwMEExCis6MTAxRjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkxCis6MTAxRjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgxCis6MTAxRjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcxCis6MTAxRjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYxCis6MTAxRjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUxCis6MTAxRjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQxCis6MTAxRkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMxCis6MTAxRkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIxCis6MTAxRkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDExCis6MTAxRkQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxCis6MTAxRkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYxCis6MTAxRkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUxCis6MTAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQwCis6MTAyMDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMwCis6MTAyMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIwCis6MTAyMDMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEwCis6MTAyMDQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkwCis6MTAyMDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgwCis6MTAyMDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcwCis6MTAyMDcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYwCis6MTAyMDgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUwCis6MTAyMDkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQwCis6MTAyMEEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMwCis6MTAyMEIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIwCis6MTAyMEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwCis6MTAyMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCis6MTAyMEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYwCis6MTAyMEYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUwCis6MTAyMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENGCis6MTAyMTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJGCis6MTAyMTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFGCis6MTAyMTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlGCis6MTAyMTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhGCis6MTAyMTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdGCis6MTAyMTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZGCis6MTAyMTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVGCis6MTAyMTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRGCis6MTAyMTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGCis6MTAyMUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJGCis6MTAyMUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFGCis6MTAyMUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGCis6MTAyMUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZGCis6MTAyMUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVGCis6MTAyMUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERGCis6MTAyMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENFCis6MTAyMjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJFCis6MTAyMjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFFCis6MTAyMjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlFCis6MTAyMjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhFCis6MTAyMjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdFCis6MTAyMjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZFCis6MTAyMjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVFCis6MTAyMjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRFCis6MTAyMjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNFCis6MTAyMkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJFCis6MTAyMkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFFCis6MTAyMkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFCis6MTAyMkQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZFCis6MTAyMkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVFCis6MTAyMkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERFCis6MTAyMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENECis6MTAyMzEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJECis6MTAyMzIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFECis6MTAyMzMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlECis6MTAyMzQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhECis6MTAyMzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdECis6MTAyMzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZECis6MEUyMzcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUYKKzoxMDIzN0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEYKKzoxMDIzOEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0YKKzoxMDIzOUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkYKKzoxMDIzQUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUYKKzoxMDIzQkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYKKzoxMDIzQ0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkYKKzoxMDIzREUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUYKKzoxMDIzRUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREYKKzoxMDIzRkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0YKKzoxMDI0MEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkUKKzoxMDI0MUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUUKKzoxMDI0MkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUUKKzoxMDI0M0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEUKKzoxMDI0NEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0UKKzoxMDI0NUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkUKKzoxMDI0NkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUUKKzoxMDI0N0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEUKKzoxMDI0OEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0UKKzoxMDI0OUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkUKKzoxMDI0QUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUUKKzoxMDI0QkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUKKzoxMDI0Q0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkUKKzoxMDI0REUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUUKKzoxMDI0RUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREUKKzoxMDI0RkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0UKKzoxMDI1MEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkQKKzoxMDI1MUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUQKKzoxMDI1MkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUQKKzoxMDI1M0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEQKKzoxMDI1NEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0QKKzoxMDI1NUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkQKKzoxMDI1NkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUQKKzoxMDI1N0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEQKKzoxMDI1OEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0QKKzoxMDI1OUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkQKKzoxMDI1QUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUQKKzoxMDI1QkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQKKzoxMDI1Q0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkQKKzoxMDI1REUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUQKKzoxMDI1RUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREQKKzoxMDI1RkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0QKKzoxMDI2MEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkMKKzoxMDI2MUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUMKKzoxMDI2MkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUMKKzoxMDI2M0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEMKKzoxMDI2NEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0MKKzoxMDI2NUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkMKKzoxMDI2NkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUMKKzoxMDI2N0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEMKKzoxMDI2OEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0MKKzoxMDI2OUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkMKKzoxMDI2QUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUMKKzoxMDI2QkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMKKzoxMDI2Q0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkMKKzoxMDI2REUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUMKKzowRTI2RUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERQorOjEwMjZGQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRQorOjEwMjcwQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRAorOjEwMjcxQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRAorOjEwMjcyQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RAorOjEwMjczQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RAorOjEwMjc0QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RAorOjEwMjc1QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2RAorOjEwMjc2QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RAorOjEwMjc3QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RAorOjEwMjc4QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRAorOjEwMjc5QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRAorOjEwMjdBQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRAorOjEwMjdCQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRAorOjEwMjdDQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRAorOjEwMjdEQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRAorOjEwMjdFQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERAorOjA1MjdGQzAwMDAwMDAwMDAyMkI2Cis6MTAyODAxMDBDMjIwQzIyMUMyMkE5MDdGRThFMDEyMzdGOTI4MzAwMEE1Cis6MTAyODExMDAyODhDMDEyOEEyMDIyQTFGMjEyQTZBMjIyOTNEODAyOTA3Cis6MTAyODIxMDA3RDgxMjlEMTgyMkE4NEExMkFCQUEyMDAwMDJBQkY5MERGCis6MTAyODMxMDA3RkU5RTAxNDYwMTEyNEZFNjAyODI0RkU2MDNCMjRGQzQzCis6MTAyODQxMDA3MDQwMTI0QkEwNDFDQjEyNERBNzQwMDI0MUNCOTA3RjZCCis6MTAyODUxMDBFQUUwQjQwMTA0QzIyMjQxQ0I5MDdGQjRFMDQ0MDFGMDJDCis6MTAyODYxMDA0MUNCMTI0REE5OTA3RkVBRTBCNDAxMDREMjIyNDFDQkMxCis6MTAyODcxMDA5MDdGQjRFMDQ0MDFGMDQxQ0I5MDdGQjRFMDQ0MDFGMDlCCis6MTAyODgxMDA0MUNCOTA3RkI0RTA0NDAxRjA0MUNCOTA3RkU5RTAyNDVCCis6MTAyODkxMDBGNTcwMDUxMjQ4MDA0MUNCOTA3RkI0RTA0NDAxRjA0MTRFCis6MTAyOEExMDBDQjkwN0ZFOUUwMjRGRDYwNTQyNDAyNjAwMjIxMzQxMkMwCis6MTAyOEIxMDA0REE3NDAwMjQxQ0I5MDdGRUFFMDcwMzg5MDdGRUNFMDc5Cis6MTAyOEMxMDBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEQzCis6MTAyOEQxMDBGNTgyRTQzNDdGRjU4M0U0RjA5MDdGRUNFMDU0ODBGRkVGCis6MTAyOEUxMDAxMzEzMTM1NDFGRkZFMDU0MDcyRjkwN0ZEN0YwRTA0NEQ4Cis6MTAyOEYxMDAyMEYwNDFDQjkwN0ZCNEUwNDQwMUYwNDFDQjEyNERBOUNGCis6MTAyOTAxMDA0MDAyNDFDQjkwN0ZFQUUwNzAyMDkwN0ZFQ0UwRjQ1NEVDCis6MTAyOTExMDA4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MjUzCis6MTAyOTIxMDBFNDM0N0ZGNTgzNzQwMUYwNDFDQjkwN0ZCNEUwNDQwMTNFCis6MTAyOTMxMDBGMDQxQ0I5MDdGQjRFMDQ0MDFGMDQxQ0I5MDdGRTlFMERFCis6MTAyOTQxMDA2MDEyMjRGODYwMDkyNDAyNzAyOTEyNDNEQjQxQ0IxMjgyCis6MTAyOTUxMDA0RDVDNDFDQjEyNERBNUEyMjJFNDMzRkYyNUUwRkZBMjNECis6MTAyOTYxMDAyM0U0MzM0RjkwN0YwMEYwRTRBM0YwOTA3RkI1NzQwMjJECis6MTAyOTcxMDBGMDQxQ0I5MDdGQjRFMDQ0MDFGMDQxQ0I5MDdGRTlFMDlFCis6MTAyOTgxMDA2MDMzMjRGNjYwMkEyNDA0NzAzRDkwN0ZFQkUwMjRERTVFCis6MTAyOTkxMDA2MDBDMDQ3MDEyOTA3RkI0RTA0NDAxRjA0MUNCOTA3RjUxCis6MTAyOUExMDBCNEUwNDQwMUYwNDFDQjkwN0ZCNEUwNDQwMUYwNDFDQjZECis6MTAyOUIxMDAxMjQ2ODU0MUNCMTI0REE1RTQ5MDdGMDBGMEEzRjA5MDIzCis6MTAyOUMxMDA3RkI1NzQwMkYwNDFDQjkwN0ZCNEUwNDQwMUYwNDFDQjdDCis6MTAyOUQxMDA5MDdGRTlFMDI0RjQ2MDM0MjQwQzcwMzkxMjREQTU5MDA1Cis6MTAyOUUxMDA3RkVDRTBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNTFGCis6MTAyOUYxMDBFMDI0QjRGNTgyRTQzNDdGRjU4M0UwNTRGRDkwN0YwMDU4Cis6MTAyQTAxMDBGMEU0QTNGMDkwN0ZCNTc0MDJGMDQxQ0I5MDdGQjRFMDg1Cis6MTAyQTExMDA0NDAxRjA0MUNCOTA3RkI0RTA0NDAxRjA0MUNCOTA3RjgxCis6MTAyQTIxMDBFOUUwMjRGNjYwMTIxNDYwMUEyNDAyNzAxREQyMjA5MDhECis6MTAyQTMxMDA3RkI0RTA0NDAxRjA4MDEyRDIyMDkwN0ZCNEUwNDQwMUUxCis6MTAyQTQxMDBGMDgwMDc5MDdGQjRFMDQ0MDFGMDIwMjAxODkwN0ZFRUUxCis6MTAyQTUxMDBFMDcwMDRBM0UwNjAwQkQyMjlEMjI3MTIxNzRBRDIyQUQwCis6MTAyQTYxMDA4MDAzMTIwODAwQzIyMDgwNjE5MDdGRUVFMDcwMDRBMzExCis6MTAyQTcxMDBFMDYwMEJEMjI5RDIyODEyMTc0QUQyMkE4MDRDMTIzODkwCis6MTAyQTgxMDA3NDgwNDc5MDdGRTlFMDI0RkU2MDEyMTQ2MDFBMjQwMkVBCis6MTAyQTkxMDA3MDFERDIyMTkwN0ZCNEUwNDQwMUYwODAxMkQyMjE5MEM4Cis6MTAyQUExMDA3RkI0RTA0NDAxRjA4MDA3OTA3RkI0RTA0NDAxRjAyMDVFCis6MTAyQUIxMDAyMTAzMTIxMDAwQzIyMTgwMTExMjJBRDY4MDBDMTI0RDVFCis6MTAyQUMxMDBBQjUwMDc5MDdGQjRFMDQ0MDFGMDIwMkEwNzkwN0ZCNDE3Cis6MDUyQUQxMDBFMDQ0MDJGMDIyQzgKKzoxMDJBRDYwMEU0OTA3NjI3RjA5MDc2MjdFMEZGNzVGMDBGQTQyNDQyNjUKKzoxMDJBRTYwMEY1ODJFNDM0NzVGNTgzRTBGRTkwN0ZFQ0UwRkRFRTZENTMKKzoxMDJBRjYwMDYwMEVFRkMzOTQwNjUwMDg5MDc2MjdFMDA0RjA4MEQ1NjgKKzoxMDJCMDYwMEVGQjQwNjA4OTA3RkI0RTA0NDAxRjAyMkVGNzVGMDBGQjEKKzoxMDJCMTYwMEE0MjQ0MUY1ODJFNDM0NzVGNTgzRTA5MDc2MjhGMDI0MDgKKzoxMDJCMjYwMDlGNzAwMkExNzQyNDIxNjAwMkExQTE5MDdGRTlFMDI0OTQKKzoxMDJCMzYwMDdFNzAwMjYxRkMxNDcwMDI4MUI1MjQwMjYwMDJBMTZDRjEKKzoxMDJCNDYwMEVGNzVGMDBGQTQyNDQzRjU4MkU0MzQ3NUY1ODNFMEZDQjkKKzoxMDJCNTYwMEEzRTBGREEzRTBGRUEzRTBGRjdCNDQ3QUFDNzkwMDc4MTYKKzoxMDJCNjYwMDAwQzMxMjM3QUI3MDEzOTA3RjAwNzQ0NEYwQTM3NEFDQUIKKzoxMDJCNzYwMEYwRTRBM0YwOTA3RkI1NzQwM0YwOTA3NjI3RTA3NUYwNEIKKzoxMDJCODYwMDBGQTQyNDQzRjU4MkU0MzQ3NUY1ODNFMEZDQTNFMEZENEQKKzoxMDJCOTYwMEEzRTBGRUEzRTBGRjdCODA3QUJCNzkwMDc4MDBDMzEyMzYKKzoxMDJCQTYwMDM3QUI3MDEzOTA3RjAwNzQ4MEYwQTM3NEJCRjBFNEEzN0UKKzoxMDJCQjYwMEYwOTA3RkI1NzQwM0YwOTA3NjI3RTA3NUYwMEZBNDI0QUIKKzoxMDJCQzYwMDQzRjU4MkU0MzQ3NUY1ODNFMEZDQTNFMEZEQTNFMEZFNjMKKzoxMDJCRDYwMEEzRTBGRjdCMDA3QTc3NzkwMTc4MDBDMzEyMzdBQjYwRjgKKzoxMDJCRTYwMDAyQTFBODkwN0YwMEYwQTM3NDc3RjBBMzc0MDFGMDkwN0YKKzoxMDJCRjYwMDdGQjU3NDAzRjAyMjkwNzYyN0UwNzVGMDBGQTQyNDQ3ODIKKzoxMDJDMDYwMEY1ODJFNDM0NzVGNTgzRTBGQ0EzRTBGREEzRTBGRUEzQzIKKzoxMDJDMTYwMEUwRkY3QjQ0N0FBQzc5MDA3ODAwQzMxMjM3QUI3MDEzQkYKKzoxMDJDMjYwMDkwN0YwMDc0NDRGMEEzNzRBQ0YwRTRBM0YwOTA3RkI1RjkKKzoxMDJDMzYwMDc0MDNGMDkwNzYyN0UwNzVGMDBGQTQyNDQ3RjU4MkU0M0MKKzoxMDJDNDYwMDM0NzVGNTgzRTBGQ0EzRTBGREEzRTBGRUEzRTBGRjdCODMKKzoxMDJDNTYwMDgwN0FCQjc5MDA3ODAwQzMxMjM3QUI3MDEzOTA3RjAwN0YKKzoxMDJDNjYwMDc0ODBGMEEzNzRCQkYwRTRBM0YwOTA3RkI1NzQwM0YwMTYKKzoxMDJDNzYwMDkwNzYyN0UwNzVGMDBGQTQyNDQ3RjU4MkU0MzQ3NUY1QzUKKzoxMDJDODYwMDgzRTBGQ0EzRTBGREEzRTBGRUEzRTBGRjdCMDA3QTc3RjAKKzoxMDJDOTYwMDc5MDE3ODAwQzMxMjM3QUI2MDAyQTFBODkwN0YwMEYwREIKKzoxMDJDQTYwMEEzNzQ3N0YwQTM3NDAxRjA5MDdGQjU3NDAzRjAyMjkwQkIKKzoxMDJDQjYwMDc2MjdFMDc1RjAwRkE0MjQ0QkY1ODJFNDM0NzVGNTgzOEUKKzoxMDJDQzYwMEUwRkNBM0UwRkRBM0UwRkVBM0UwRkY3QjQ0N0FBQzc5NDEKKzoxMDJDRDYwMDAwNzgwMEMzMTIzN0FCNzAxMzkwN0YwMDc0NDRGMEEzRTIKKzoxMDJDRTYwMDc0QUNGMEU0QTNGMDkwN0ZCNTc0MDNGMDkwNzYyN0UwMUYKKzoxMDJDRjYwMDc1RjAwRkE0MjQ0QkY1ODJFNDM0NzVGNTgzRTBGQ0EzNEMKKzoxMDJEMDYwMEUwRkRBM0UwRkVBM0UwRkY3QjgwN0FCQjc5MDA3ODAwQkMKKzoxMDJEMTYwMEMzMTIzN0FCNzAxMzkwN0YwMDc0ODBGMEEzNzRCQkYwQkUKKzoxMDJEMjYwMEU0QTNGMDkwN0ZCNTc0MDNGMDkwNzYyN0UwNzVGMDBGN0EKKzoxMDJEMzYwMEE0MjQ0QkY1ODJFNDM0NzVGNTgzRTBGQ0EzRTBGREEzRkYKKzoxMDJENDYwMEUwRkVBM0UwRkY3QjAwN0E3Nzc5MDE3ODAwQzMxMjM3QjMKKzoxMDJENTYwMEFCNzA0RjkwN0YwMEYwQTM3NDc3RjBBMzc0MDFGMDkwRUUKKzoxMDJENjYwMDdGQjU3NDAzRjAyMjkwN0ZCNEUwNDQwMUYwMjI5MDdGOTcKKzoxMDJENzYwMEU5RTAyNDdGNzAxRTkwNzYyN0UwNzVGMDBGQTQyNDRGQkIKKzoxMDJEODYwMEY1ODJFNDM0NzVGNTgzRTA5MDdGMDBGMDkwN0ZCNTc0QUEKKzoxMDJEOTYwMDAxRjA4MDA3OTA3RkI0RTA0NDAxRjA5MDdGQjRFMDQ0RjYKKzowMzJEQTYwMDAxRjAyMjE3Cis6MTAyREE5MDBFNDkwNzYzNkYwRTBGRjc1RjAwM0E0MjQwRUY1ODJFNDkyCis6MTAyREI5MDAzNDc1RjU4Mzc0MDFGMEVGNzVGMDAzQTQyNDBGRjU4MkRGCis6MTAyREM5MDBFNDM0NzVGNTgzNzQwMUYwRUY3NUYwMDNBNDI0MTBGNTZDCis6MTAyREQ5MDA4MkU0MzQ3NUY1ODNFNEYwOTA3NjM2RTAwNEYwRTBGRkEwCis6MTAyREU5MDA3NUYwMDNBNDI0MEVGNTgyRTQzNDc1RjU4Mzc0MTBGMEFDCis6MTAyREY5MDBFRjc1RjAwM0E0MjQwRkY1ODJFNDM0NzVGNTgzNzQwNUE3Cis6MTAyRTA5MDBGMEVGNzVGMDAzQTQyNDEwRjU4MkU0MzQ3NUY1ODNFNDNBCis6MTAyRTE5MDBGMDkwNzYzNkUwMDRGMEUwRkY3NUYwMDNBNDI0MEVGNTk3Cis6MTAyRTI5MDA4MkU0MzQ3NUY1ODM3NDAyRjBFRjc1RjAwM0E0MjQwRjdFCis6MTAyRTM5MDBGNTgyRTQzNDc1RjU4Mzc0MDJGMEVGNzVGMDAzQTQyNDg4Cis6MTAyRTQ5MDAxMEY1ODJFNDM0NzVGNTgzRTRGMDkwNzYzNkUwMDRGMDA5Cis6MTAyRTU5MDBFMEZGNzVGMDAzQTQyNDBFRjU4MkU0MzQ3NUY1ODM3NDVDCis6MTAyRTY5MDAwMUYwRUY3NUYwMDNBNDI0MEZGNTgyRTQzNDc1RjU4M0JFCis6MTAyRTc5MDA3NDAzRjBFRjc1RjAwM0E0MjQxMEY1ODJFNDM0NzVGNUJBCis6MTAyRTg5MDA4M0U0RjA5MDc2MzZFMDA0RjBFMEZGNzVGMDAzQTQyNEMzCis6MTAyRTk5MDAwRUY1ODJFNDM0NzVGNTgzNzQxMEYwRUY3NUYwMDNBNDMwCis6MTAyRUE5MDAyNDBGRjU4MkU0MzQ3NUY1ODM3NDA2RjBFRjc1RjAwM0E5Cis6MTAyRUI5MDBBNDI0MTBGNTgyRTQzNDc1RjU4M0U0RjA5MDc2MzZFMEM1Cis6MTAyRUM5MDAwNEYwRTBGRjc1RjAwM0E0MjQwRUY1ODJFNDM0NzVGNUVGCis6MTAyRUQ5MDA4Mzc0MDJGMEVGNzVGMDAzQTQyNDBGRjU4MkU0MzQ3NUNFCis6MTAyRUU5MDBGNTgzNzQwNEYwRUY3NUYwMDNBNDI0MTBGNTgyRTQzNDNCCis6MTAyRUY5MDA3NUY1ODNFNEYwOTA3NjM2RTAwNEYwRTBGRjc1RjAwM0IxCis6MTAyRjA5MDBBNDI0MEVGNTgyRTQzNDc1RjU4Mzc0MDJGMEVGNzVGMEFDCis6MTAyRjE5MDAwM0E0MjQwRkY1ODJFNDM0NzVGNTgzNzQwOEYwRUY3NTgyCis6MTAyRjI5MDBGMDAzQTQyNDEwRjU4MkU0MzQ3NUY1ODM3NDA0RjA5MDU5Cis6MTAyRjM5MDA3NjM2RTAwNEYwRTBGRjc1RjAwM0E0MjQwRUY1ODJFNDkwCis6MTAyRjQ5MDAzNDc1RjU4Mzc0MDJGMEVGNzVGMDAzQTQyNDBGRjU4MjRDCis6MTAyRjU5MDBFNDM0NzVGNTgzNzQwQUYwRUY3NUYwMDNBNDI0MTBGNUQxCis6MTAyRjY5MDA4MkU0MzQ3NUY1ODM3NDA0RjA5MDc2MzZFMDA0RjBFMDc5Cis6MTAyRjc5MDBGRjc1RjAwM0E0MjQwRUY1ODJFNDM0NzVGNTgzNzQwMjE5Cis6MTAyRjg5MDBGMEVGNzVGMDAzQTQyNDBGRjU4MkU0MzQ3NUY1ODM3NDJBCis6MTAyRjk5MDAwOUYwRUY3NUYwMDNBNDI0MTBGNTgyRTQzNDc1RjU4Mzg0Cis6MTAyRkE5MDA3NDA0RjA5MDc2MzZFMDA0RjBFMEZGNzVGMDAzQTQyNDkxCis6MTAyRkI5MDAwRUY1ODJFNDM0NzVGNTgzNzQwMkYwRUY3NUYwMDNBNDFECis6MTAyRkM5MDAyNDBGRjU4MkU0MzQ3NUY1ODM3NDA3RjBFRjc1RjAwMzg3Cis6MEUyRkQ5MDBBNDI0MTBGNTgyRTQzNDc1RjU4Mzc0MDRGMDIyMEMKKzoxMDJGRTcwMEMwRTBDMDgzQzA4MkQyMjY1MzkxRUY5MDdGQUI3NDAxQkIKKzowODJGRjcwMEYwRDA4MkQwODNEMEUwMzI1QgorOjAxMkZGRjAwMzI5RgorOjEwMzAwMDAwOTA3RkI2RTAyMEUxMDJDMjNERDIzNjIwMzYwMjQxNkUwQQorOjEwMzAxMDAwMzAzRDAyNDE2RTkwODAwN0UwNjAwNEQyMzY4MDAyQzJFQgorOjEwMzAyMDAwMzYyMDM2MDI0MTJFRDIzNUU0RjUxQTkwODAwNEUwRjVDMAorOjEwMzAzMDAwMTk3NDA4MjUwRUY4QTYxOTg1MTkxOEU1MTgyMEU3MDQ1MworOjEwMzA0MDAwRDIzODgwMDJDMjM4MzAzODAyMjFENEU0RjUxNkU1MTlBRQorOjEwMzA1MDAwQjRGMDBDRDIzOTc1MDgwNDc1MDlGMDA1MEU4MDAyMDUyQworOjEwMzA2MDAwMTZFNTE5NjRGNzcwM0RDMjM5RTUwRTI0RkU2MDE3MTRBOQorOjEwMzA3MDAwNjAyMjI0MDM3MDI5NzUwODA1NzUwOUY3RTRGNTBBRjUzRgorOjEwMzA4MDAwMEI3NTBFMDQ4MDIwNzUwODA2NzUwQUY3RTRGNTBCNzVCQworOjEwMzA5MDAwMEUwNDgwMTI3NTA4MDc3NTBCRjc3NTBFMDQ4MDA3MTI3MQorOjEwMzBBMDAwNDhGMzgwMDIwNTE2RTUxOTU0Rjg2NEY4NzAzQkMyMzUwMAorOjEwMzBCMDAwRTUxOTI0MDc2MDBDMjRGQzYwMDgyNDA1MjRGODUwMDY1OAorOjEwMzBDMDAwODAwOEQyM0E4MDA2QzIzQTgwMDJEMjNBNzUxQTAxMjBBQworOjEwMzBEMDAwM0ExOTkwN0U4MDc0MEZGMEEzRTUxOUYwRTRBM0YwQTNGMQorOjEwMzBFMDAwRjA5MDdGQjc3NDA0RjA4MDAyMDUxNjIwMzk2REU1MTk2MQorOjEwMzBGMDAwNjRGNzYwNjdFNTFBNzA2M0U1MTg1NEYwNjRGMDcwNTk3RQorOjEwMzEwMDAwODUxODE5RjUwRUU1MTkyNDBGNjAxQjI0RkU2MDE3MjQ5RAorOjEwMzExMDAwRkQ2MDIyMTQ2MDFGMjQwNTcwMkY3NTA4MDMwNTBFODVCRAorOjEwMzEyMDAwMTgwOUQyMzc4MDI4NzUwODAyMDUwRTg1MTgwOTc1MTQwQworOjEwMzEzMDAwMDFEMjM3ODAxOTc1MDgwNTA1MEU4NTE4MDlFNEY1MEFDRQorOjEwMzE0MDAwRjUwQjc1MEUwM0QyMzc4MDA1MTI0OEYzQzIzNTMwMzVDMgorOjEwMzE1MDAwMEE4NTA4MTM4NTE4MTI4MDAyMDUxNjg1MTgxOUU1MTZDOAorOjEwMzE2MDAwNjQwNDcwNjJGNTBFRTUxOTU0RjBGNTE5RjUxNTg1MTgyQgorOjEwMzE3MDAwMTlFNTE1MjQ3MDYwMTgyNEYwNjAxNDI0RjA2MDEwMjQwMAorOjEwMzE4MDAwRjA2MDFFMjRGMDYwMUEyNEYwNjAwNDI0NjA3MDI3RTVDQgorOjEwMzE5MDAwMTVDNDU0MEZGNTE5RjUwODA1MEU4NTE4MDlEMjM3ODBBNgorOjEwMzFBMDAwMUFFNTE1QzQ1NDBGRjUxOUY1MDgwNTBFODUxODA5NzVBQgorOjEwMzFCMDAwMTQwMUQyMzc4MDA1MTI0OEYzQzIzNTMwMzUwQTg1MTkxQgorOjEwMzFDMDAwMTM4NTE4MTI4MDAyMDUxNkU1MTZEMzk0MDU0MDU3MTI5MAorOjEwMzFEMDAwNDhGMzgwNTIzMDM5MTdFNTBFNzAwQTg1MDgwOTc1MDhFMgorOjEwMzFFMDAwMDQwNTBFODA0MTc0MDgyNTBFRjhBNjE5ODAzODIwMzc5MgorOjEwMzFGMDAwMkFFNTBFQjQwMTBGODUwODBBODUwOTBCODUxMzA4ODU5OQorOjEwMzIwMDAwMTIwOTc1MEUwNEU1MTRCNDAxMUM4NTA4MEFFNEY1MEJENworOjEwMzIxMDAwODUxMzA4ODUxMjA5NzUwRTA0ODAwQkU1MTRCNDAxMDZBOAorOjEwMzIyMDAwRTRGNTBCNzUwRTA0RTRGNTFBMzAzNTAyMDUwRUU1MEVEMworOjEwMzIzMDAwRDM5NDAzNTAwMjAxMEJDMjM3RTRGNTBFRjUxMEMyMzZFOQorOjEwMzI0MDAwRDIzREY1MTQ3NDA4MjUxMEY4RTZGRjc0ODAyNTEwRjVCQQorOjEwMzI1MDAwODJFNDM0N0VGNTgzRUZGMDc0MDgyNTEwRjhFNEY2MDU3NworOjBGMzI2MDAwMTBFNTEwQjQwNERFOTA3RkI3NzQwNEYwMDEwQjIyNjgKKzoxMDMyNkYwMDkwNzYxOEUwRkY2NDA1NzA0MjkwNzVBQkUwQjQwMTE5RDkKKzoxMDMyN0YwMDkwNzIzNzc0MDFGMEU0OTA4MDIwRjA5MDgwMzFGMDkwREMKKzoxMDMyOEYwMDgwMjhGMDkwODAzOUYwODAyMkU0OTA3MjM3RjA5MDc1QUEKKzoxMDMyOUYwMEFERTA5MDcyMkJGMEUwMjQ4MEYwRTA5MDgwMjBGMDkwNzEKKzoxMDMyQUYwMDgwMzFGMDkwODAyOEYwOTA4MDM5RjBFRjY0MDY2MDAyNTIKKzoxMDMyQkYwMDgxOTk5MDcyMzk3NDA0RjA5MDcyMzlFMEZGMjRGRTkwNzYKKzoxMDMyQ0YwMDcyMDRGMEVGNzVGMDBBQTQyNEFCRjU4MkU0MzQ3NUY1QkYKKzoxMDMyREYwMDgzRTA2NDAxNzA1NDkwNzIzNjA0RjA5MDcyMDRFMEZGNDIKKzoxMDMyRUYwMDI0RkQ2MDI4MjRGRTYwMjQyNDAzMjRGQjUwMDQ2MDFDNkEKKzoxMDMyRkYwMDgxOEM3NDIwMkZGNTgyRTQzNDgwRjU4M0U0RjA3NDI4RjgKKzoxMDMzMEYwMDJGRjU4MkU0MzQ4MEY1ODNFNEYwODE4QzkwNzIwNEUwMzEKKzoxMDMzMUYwMEZGMjQzMEY1ODJFNDM0ODBGNTgzRTRGMDc0MzgyRkY1MjAKKzoxMDMzMkYwMDgyRTQzNDgwRjU4M0U0RjA4MThDRTQ5MDcyMzZGMDkwN0YKKzoxMDMzM0YwMDcyMzlFMDc1RjAwQUE0MjRBREY1ODJFNDM0NzVGNTgzOTMKKzoxMDMzNEYwMEUwRkY3RTAwOTA3NTBDRUVGMEEzRUZGMDcwMDY5MDcyMjgKKzoxMDMzNUYwMDAyNzQzQkYwOTA3NTBDRTBGRUEzRTBGRjY0ODA0RTcwQUEKKzoxMDMzNkYwMDA0OTA3MjAyRjBFRjRFNzAwMjgxMzVFRjY0ODA0RTcwNjAKKzoxMDMzN0YwMDAyODEzNUVGRjhFNDkwNzUwREYwRTg5MDc1MENGMDkwNDAKKzoxMDMzOEYwMDcyMzRFMDc1RjAwQUE0MjRBQ0Y1ODJFNDM0NzVGNTgzNDkKKzoxMDMzOUYwMEUwRkY5MDcyMDJGMDkwNzUwREUwMkZGMDkwNzUwQ0UwNDkKKzoxMDMzQUYwMDM0MDBGMEUwRkVBM0UwRkZFNEZDRkQ3QkQ2N0FBNUY5NDQKKzoxMDMzQkYwMEY4RDMxMjM3OTU0MDBBOTA3NTBDNzRBNUYwQTM3NEQ2MDQKKzoxMDMzQ0YwMEYwOTA3NTBERTAyNDJBRjA5MDc1MENFMDM0NUFGMEUwN0YKKzoxMDMzREYwMEZFQTNFMDc4MDVDRUEyRTcxM0NFMTNEOEY4RkY5MDc1QzEKKzoxMDMzRUYwMDBDRUVGMEEzRUZGMDkwNzIyQ0VFRjBBM0VGRjBEMzk0NkQKKzoxMDMzRkYwMEQyRUU2NDgwOTQ4MjQwMEE5MDcyMkM3NDAyRjBBMzc0MEYKKzoxMDM0MEYwMEQyRjBDMzkwNzIyQ0UwNjQ4MDk0ODA1MDA0RTRGMEEzNTcKKzoxMDM0MUYwMEYwOTA3MjJDRTBGRUEzRTAyNDNBRjU4MkVFMzQ3MkY1QzAKKzoxMDM0MkYwMDgzRTA5MDcyMDJGMDkwNzIwNEUwRkYyNEZENjAyRDI0N0YKKzoxMDM0M0YwMEZFNjAyOTI0MDMyNEZCNTAwNDYwMjE4MDQwOTA3MjAyMTcKKzoxMDM0NEYwMEUwRkU3NDIwMkZGNTgyRTQzNDgwRjU4M0VFRjA3NDI4Q0IKKzoxMDM0NUYwMDJGRjU4MkU0MzQ4MEY1ODNFRUYwODAyMTkwNzIwMkUwNDQKKzoxMDM0NkYwMEZGOTA3MjA0RTBGRTI0MzBGNTgyRTQzNDgwRjU4M0VGQTAKKzoxMDM0N0YwMEYwNzQzODJFRjU4MkU0MzQ4MEY1ODNFRkYwOTA3MjM5RDIKKzowQjM0OEYwMEUwMDRGMEUwNjQwQTYwMDI0MUM3MjI4NAorOjEwMzQ5QTAwOTA3NjE4RTBGRkI0MDUyMzkwNzIzN0UwNzAxRDkwNzU5RQorOjEwMzRBQTAwQURFMDkwNzIyQkYwRTAyNDgwRjBFMDkwODAyMEYwOTA2NAorOjEwMzRCQTAwODAzMUYwOTA4MDI4RjA5MDgwMzlGMEVGNjQwNjYwMDI0NQorOjEwMzRDQTAwQzE5MTkwNzIzNkUwNjAwMkMxOTE5MDc2NDBFMDcwMzEwRAorOjEwMzREQTAwOTA3MjAzNzQwM0YwOTA3MjAzRTBGRjc1RjAwQUE0MjQ1QgorOjEwMzRFQTAwQUFGNTgyRTQzNDc1RjU4M0UwRkU5MDcyMjlFMEZERUVEOAorOjEwMzRGQTAwNkQ2MDBFRUZDMzk0MEE1MDA4OTA3MjAzRTAwNEYwODBFNgorOjEwMzUwQTAwRDU5MDcyMzk3NDA0RjA5MDc2NDBFMDcwMDg5MDcyMDM5NgorOjEwMzUxQTAwRTA5MDcyMzlGMDkwNzIzOUUwRkQyNEZFOTA3MjJBRjA0MAorOjEwMzUyQTAwRUQ3NUYwMEFBNDI0QURGNTgyRTQzNDc1RjU4M0UwRkY2NQorOjEwMzUzQTAwN0UwMDkwNzUwQ0VFRjBBM0VGRjA3MDA2OTA3MjAyNzRBNAorOjEwMzU0QTAwODBGMDkwNzUwQ0UwRkVBM0UwRkY2NDgwNEU3MDA0OTA1QQorOjEwMzU1QTAwNzIwMkYwRUY0RTcwMDJDMTFCRUY2NDgwNEU3MDAyQzExRQorOjEwMzU2QTAwMUJFRkY4RTQ5MDc1MERGMEU4OTA3NTBDRjBFRDc1RjAyRQorOjEwMzU3QTAwMEFBNDI0QUNGNTgyRTQzNDc1RjU4M0UwRkY5MDcyMDI2NAorOjEwMzU4QTAwRjA5MDc1MERFMDJGRjA5MDc1MENFMDM0MDBGMEUwRkUzRAorOjEwMzU5QTAwQTNFMEZGRTRGQ0ZEN0JENjdBQTVGOUY4RDMxMjM3OTVCMAorOjEwMzVBQTAwNDAwQTkwNzUwQzc0QTVGMEEzNzRENkYwOTA3NTBERTBERQorOjEwMzVCQTAwMjQyQUYwOTA3NTBDRTAzNDVBRjBFMEZFQTNFMDc4MDU3NgorOjEwMzVDQTAwQ0VBMkU3MTNDRTEzRDhGOEZGOTA3NTBDRUVGMEEzRUY1NgorOjEwMzVEQTAwRjA5MDcyMkNFRUYwQTNFRkYwRDM5NEQyRUU2NDgwOTRDNAorOjEwMzVFQTAwODI0MDBBOTA3MjJDNzQwMkYwQTM3NEQyRjBDMzkwNzJEMworOjEwMzVGQTAwMkNFMDY0ODA5NDgwNTAwNEU0RjBBM0YwOTA3MjJDRTBGNAorOjEwMzYwQTAwRkVBM0UwMjQzQUY1ODJFRTM0NzJGNTgzRTA5MDcyMDI2QQorOjEwMzYxQTAwRjA5MDcyMkFFMEZGMjRGRDYwMkQyNEZFNjAyOTI0MDMyNQorOjEwMzYyQTAwMjRGQjUwMDQ2MDIxODA0MDkwNzIwMkUwRkU3NDIwMkYzNworOjEwMzYzQTAwRjU4MkU0MzQ4MEY1ODNFRUYwNzQyODJGRjU4MkU0MzRDMQorOjEwMzY0QTAwODBGNTgzRUVGMDgwMjE5MDcyMDJFMEZGOTA3MjJBRTAwQQorOjEwMzY1QTAwRkUyNDMwRjU4MkU0MzQ4MEY1ODNFRkYwNzQzODJFRjVEOQorOjEwMzY2QTAwODJFNDM0ODBGNTgzRUZGMDkwNzY0MEUwNzAwNjkwNzI0MQorOjEwMzY3QTAwMzk3NDBBRjA5MDcyMzlFMDA0RjBFMEMzOTQwQTUwMDJGNworOjA4MzY4QTAwQTExMUU0OTA3NjQwRjAyMjRBCis6MTAzNjkyMDBCQjAxMDY4OTgyOEE4M0UwMjI1MDAyRTcyMkJCRkUwMjM2Cis6MDkzNkEyMDBFMzIyODk4MjhBODNFNDkzMjI2OQorOjEwMzZBQjAwQkIwMTBDRTU4MjI5RjU4MkU1ODMzQUY1ODNFMDIyNTBENAorOjEwMzZCQjAwMDZFOTI1ODJGOEU2MjJCQkZFMDZFOTI1ODJGOEUyMjIxRQorOjBEMzZDQjAwRTU4MjI5RjU4MkU1ODMzQUY1ODNFNDkzMjIzOAorOjEwMzZEODAwQzJENUVDMzBFNzA5QjJENUU0QzM5REZERTQ5Q0ZDRUUwRAorOjEwMzZFODAwMzBFNzE1QjJENUU0QzM5RkZGRTQ5RUZFMTIzODFGQzMyRQorOjEwMzZGODAwRTQ5REZERTQ5Q0ZDODAwMzEyMzgxRjMwRDUwN0MzRTQyOQorOjA2MzcwODAwOUZGRkU0OUVGRTIyN0IKKzoxMDM3MEUwMEJCMDExMEU1ODIyOUY1ODJFNTgzM0FGNTgzRTBGNUYwRjkKKzoxMDM3MUUwMEEzRTAyMjUwMDlFOTI1ODJGODg2RjAwOEU2MjJCQkZFRDYKKzoxMDM3MkUwMDBBRTkyNTgyRjhFMkY1RjAwOEUyMjJFNTgzMkFGNTgzMUMKKzowODM3M0UwMEU5OTNGNUYwQTNFOTkzMjJFMQorOjEwMzc0NjAwRTg4RkYwQTRDQzhCRjBBNDJDRkNFOThFRjBBNDJDRkMyMgorOjEwMzc1NjAwOEFGMEVEQTQyQ0ZDRUE4RUYwQTRDREE4RjA4QkYwQTRBMAorOjEwMzc2NjAwMkRDQzM4MjVGMEZERTk4RkYwQTQyQ0NEMzVGMEZDRUJGRgorOjEwMzc3NjAwOEVGMEE0RkVBOUYwRUI4RkYwQTRDRkM1RjAyRUNEMzlDNAorOjBGMzc4NjAwRkVFNDNDRkNFQUE0MkRDRTM1RjBGREU0M0NGQzIyMzEKKzoxMDM3OTUwMEVCOUZGNUYwRUE5RTQyRjBFOTlENDJGMEVDNjQ4MEM4QUIKKzowNjM3QTUwMDY0ODA5ODQ1RjAyMjRCCis6MTAzN0FCMDBFQjlGRjVGMEVBOUU0MkYwRTk5RDQyRjBFODlDNDVGMDc0Cis6MDEzN0JCMDAyMkVCCis6MEMzN0JDMDBFQ0YwQTNFREYwQTNFRUYwQTNFRkYwMjI4MAorOjEwMzdDODAwQTg4Mjg1ODNGMEQwODNEMDgyMTIzN0RGMTIzN0RGMTJDOAorOjEwMzdEODAwMzdERjEyMzdERkU0NzNFNDkzQTNDNTgzQzVGMEM1ODNFRAorOjEwMzdFODAwQzhDNTgyQzhGMEEzQzU4M0M1RjBDNTgzQzhDNTgyQzg0QgorOjAxMzdGODAwMjJBRQorOjEwMzdGOTAwRDA4M0QwODJGOEU0OTM3MDEyNzQwMTkzNzAwREEzQTM1RgorOjEwMzgwOTAwOTNGODc0MDE5M0Y1ODI4ODgzRTQ3Mzc0MDI5MzY4NjA3MgorOjA2MzgxOTAwRUZBM0EzQTM4MERGNzIKKzoxMDM4MUYwMEJDMDAwQkJFMDAyOUVGOERGMDg0RkZBREYwMjJFNENDOEQKKzoxMDM4MkYwMEY4NzVGMDA4RUYyRkZGRUUzM0ZFRUMzM0ZDRUU5REVDNTYKKzoxMDM4M0YwMDk4NDAwNUZDRUU5REZFMEZENUYwRTlFNENFRkQyMkVEOUMKKzoxMDM4NEYwMEY4RjVGMEVFODQyMEQyMUNGRUFERjA3NUYwMDhFRjJGRTYKKzoxMDM4NUYwMEZGRUQzM0ZENDAwNzk4NTAwNkQ1RjBGMjIyQzM5OEZERDcKKzowNTM4NkYwMDBGRDVGMEVBMjI3NAorOjEwMzg3NDAwRTQ5MDc2MjlGMDkwNzYyOUUwRkY3NUYwMEZBNDI0NDJCNQorOjEwMzg4NDAwRjU4MkU0MzQ3NUY1ODNFMEZFOTA3RkVDRTBGREVFNkRBNworOjEwMzg5NDAwNjAwRUVGQzM5NDA2NTAwODkwNzYyOUUwMDRGMDgwRDVCQQorOjEwMzhBNDAwRUZCNDA2MDg5MDdGQjRFMDQ0MDFGMDIyRUY3NUYwMEYwNgorOjEwMzhCNDAwQTQyNDQxRjU4MkU0MzQ3NUY1ODNFMDkwNzYyQUYwMjQ1QgorOjEwMzhDNDAwQkY3MDAyNDE0MTI0RTA3MDAyNDExMjI0MjE2MDAyNDE5MAorOjEwMzhENDAwM0E5MDdGRTlFMDI0RkU2MDdEMTQ3MDAyMjFCMjI0MDI1NAorOjEwMzhFNDAwNjAwMjQxMEExMjE3NTE5MDc2NDJFMEZDQTNFMEZEQTM2NgorOjEwMzhGNDAwRTBGRUEzRTBGRjkwNzYyOUUwNzVGMDBGQTQyNDQzRjVFMQorOjEwMzkwNDAwODJFNDM0NzVGNTgzMTIzN0JDOTA3NjE5RTBGRkI0MDE3NAorOjEwMzkxNDAwMTI5MDc2N0M3NDY3RjA5MDc2N0Q3NDA2RjA5MDc2N0VEMworOjEwMzkyNDAwNzQwQkYwRUZCNDAyMEZFNDkwNzY3Q0YwOTA3NjdERjBBNworOjEwMzkzNDAwOTA3NjdFNzQwQ0YwRUZCNDAzMEZFNDkwNzY3Q0YwOTBGNAorOjEwMzk0NDAwNzY3REYwOTA3NjdFNzQxOEYwOTA3NjFBNzQwMUYwMTJGOQorOjEwMzk1NDAwM0U4RjEyMTgwMDIyOTA3RUMyRTBGRkU0RkNGREZFRkJDNQorOjEwMzk2NDAwRkE3OTAxRjgxMjM3NDZDOEVDQzhDOUVEQzlDQUVFQ0FEQgorOjEwMzk3NDAwQ0JFRkNCOTA3RUMxRTBGRUU0RkNGRDJCRkJFQTNFRkFFQworOjEwMzk4NDAwRUQzOUY5RUMzOEY4OTA3RUMwRTBGRkU0RkVFQjJGRkY1MAorOjEwMzk5NDAwRUUzQUZFRUQzOUZERUMzOEZDOTA3NjI5RTA3NUYwMEYzNworOjEwMzlBNDAwQTQyNDQ3RjU4MkU0MzQ3NUY1ODMxMjM3QkMyMjkwN0U1MworOjEwMzlCNDAwQzJFMEZGRTRGQ0ZERkVGQkZBNzkwMUY4MTIzNzQ2QzhDOQorOjEwMzlDNDAwRUNDOEM5RURDOUNBRUVDQUNCRUZDQjkwN0VDMUUwRkUwQworOjEwMzlENDAwRTRGQ0ZEMkJGQkVBM0VGQUVEMzlGOUVDMzhGODkwN0U3NQorOjEwMzlFNDAwQzBFMEZGRTRGRUVCMkZGRkVFM0FGRUVEMzlGREVDMzhDQworOjEwMzlGNDAwRkM5MDc2MjlFMDc1RjAwRkE0MjQ0QkY1ODJFNDM0NzUyRAorOjEwM0EwNDAwRjU4MzEyMzdCQzIyOTA3RkI0RTA0NDAxRjAyMjkwN0YwQQorOjEwM0ExNDAwRTlFMDE0NzAxOTkwN0VDMEUwRkY5MDc2MjlFMDc1RjAxQgorOjEwM0EyNDAwMEZBNDI0NEZGNTgyRTQzNDc1RjU4M0VGRjAyMjkwN0ZFMAorOjBFM0EzNDAwQjRFMDQ0MDFGMDIyOTA3RkI0RTA0NDAxRjAyMjlGCis6MTAzQTQyMDBFNDkwNzYzNUYwOTA3NjM1RTBGRkMzOTQwMzQwMDI0MTZFCis6MTAzQTUyMDBGRkVGNzVGMDBBQTQyNEFBRjU4MkU0MzQ3NUY1ODNFRjJBCis6MTAzQTYyMDBGMEVGNzVGMDBBQTQyNEFCRjU4MkU0MzQ3NUY1ODNFNDMzCis6MTAzQTcyMDBGMEVGNzVGMDBBQTQyNEFDRjU4MkU0MzQ3NUY1ODM3NDkyCis6MTAzQTgyMDBGMEYwRUY3NUYwMEFBNDI0QURGNTgyRTQzNDc1RjU4MzA1Cis6MTAzQTkyMDA3NEZGRjBFRjc1RjAwQUE0MjRBRUY1ODJFNDM0NzVGNUY0Cis6MTAzQUEyMDA4M0U0RjBFRjc1RjAwQUE0MjRBRkY1ODJFNDM0NzVGNUVGCis6MTAzQUIyMDA4Mzc0ODBGMEVGNzVGMDBBQTQyNEIwRjU4MkU0MzQ3NUMzCis6MTAzQUMyMDBGNTgzRTRGMEVGNzVGMDBBQTQyNEIxRjU4MkU0MzQ3NUNECis6MTAzQUQyMDBGNTgzRTRGMEVGNzVGMDBBQTQyNEIyRjU4MkU0MzQ3NUJDCis6MTAzQUUyMDBGNTgzRTRGMEVGNzVGMDBBQTQyNEIzRjU4MkU0MzQ3NUFCCis6MTAzQUYyMDBGNTgzNzQwMUYwOTA3NjM1RTAwNEYwNDE0NzkwNzYzQzBFCis6MTAzQjAyMDA3NDBBRjBFNEEzRjA5MDc2MzU3NDAzRjA5MDc2M0NFMDBBCis6MTAzQjEyMDBGRjkwNzYzNUUwRkVDMzlGNDAwMjYxRDI5MDc2M0RFMDkxCis6MTAzQjIyMDBGRjA0RjBFRTc1RjAwQUE0MjRBQUY1ODJFNDM0NzVGNUQ4Cis6MTAzQjMyMDA4M0VGRjBFRTc1RjAwQUE0MjRBQkY1ODJFNDM0NzVGNTU4Cis6MTAzQjQyMDA4M0U0RjBFRTc1RjAwQUE0MjRBQ0Y1ODJFNDM0NzVGNTUyCis6MTAzQjUyMDA4Mzc0NUVGMEVFNzVGMDBBQTQyNEFERjU4MkU0MzQ3NTQ4Cis6MTAzQjYyMDBGNTgzNzRCQUYwRUU3NUYwMEFBNDI0QUVGNTgyRTQzNDVCCis6MTAzQjcyMDA3NUY1ODM3NDA1RjBFRTc1RjAwQUE0MjRBRkY1ODJFNEJFCis6MTAzQjgyMDAzNDc1RjU4Mzc0ODBGMEVFNzVGMDBBQTQyNEIwRjU4MkUyCis6MTAzQjkyMDBFNDM0NzVGNTgzRTRGMEVFNzVGMDBBQTQyNEIxRjU4MkZECis6MTAzQkEyMDBFNDM0NzVGNTgzRTRGMEVFNzVGMDBBQTQyNEIyRjU4MkVDCis6MTAzQkIyMDBFNDM0NzVGNTgzNzQxNUYwRUU3NUYwMEFBNDI0QjNGNUI4Cis6MTAzQkMyMDA4MkU0MzQ3NUY1ODNFNEYwOTA3NjM1RTAwNEYwNjEwRTFBCis6MDEzQkQyMDAyMkQwCis6MTAzQkQzMDBFNDkwNzYzNkYwRTBGQjc1RjAwRkE0MjQ0MUY1ODJFNDFGCis6MTAzQkUzMDAzNDc1RjU4Mzc0NDBGMEVCNzVGMDBGQTQyNDQyRjU4MjJECis6MTAzQkYzMDBFNDM0NzVGNTgzNzQwQUYwRUI3NUYwMEZBNDI0NDNGNUYwCis6MTAzQzAzMDA4MkU0MzQ3NUY1ODMxMjM3QzgwMDAwQUM0NEVCNzVGMEQ5Cis6MTAzQzEzMDAwRkE0MjQ0N0Y1ODJFNDM0NzVGNTgzMTIzN0M4MDAwMEY2Cis6MTAzQzIzMDBBQzQ0RUI3NUYwMEZBNDI0NEJGNTgyRTQzNDc1RjU4M0IzCis6MTAzQzMzMDAxMjM3QzgwMDAxNzcwMDkwNzYzNkUwMDRGMEUwRkI3NTk4Cis6MTAzQzQzMDBGMDBGQTQyNDQxRjU4MkU0MzQ3NUY1ODM3NDQwRjBFQjVFCis6MTAzQzUzMDA3NUYwMEZBNDI0NDJGNTgyRTQzNDc1RjU4Mzc0OENGMDc3Cis6MTAzQzYzMDBFQjc1RjAwRkE0MjQ0M0Y1ODJFNDM0NzVGNTgzMTIzNzIyCis6MTAzQzczMDBDODAwMDBBQzQ0RUI3NUYwMEZBNDI0NDdGNTgyRTQzNDhDCis6MTAzQzgzMDA3NUY1ODMxMjM3QzgwMDAwQUM0NEVCNzVGMDBGQTQyNDFDCis6MTAzQzkzMDA0QkY1ODJFNDM0NzVGNTgzMTIzN0M4MDAwMTc3MDA5MDQxCis6MTAzQ0EzMDA3NjM2RTAwNEYwRTBGRjc1RjAwRkE0MjQ0MUY1ODJFNERBCis6MTAzQ0IzMDAzNDc1RjU4Mzc0NDBGMEVGNzVGMDBGQTQyNDQyRjU4MjU4Cis6MTAzQ0MzMDBFNDM0NzVGNTgzNzQ4RkYwOTA3NjM2RTAwNEYwRTBGRjBBCis6MTAzQ0QzMDA3NUYwMEZBNDI0NDFGNTgyRTQzNDc1RjU4Mzc0NDFGMDQzCis6MTAzQ0UzMDBFRjc1RjAwRkE0MjQ0MkY1ODJFNDM0NzVGNTgzNzQ4NEYwCis6MTAzQ0YzMDBGMDkwNzYzNkUwMDRGMEUwRkY3NUYwMEZBNDI0NDFGNTcwCis6MTAzRDAzMDA4MkU0MzQ3NUY1ODM3NDYxRjBFRjc1RjAwRkE0MjQ0MkY3Cis6MTAzRDEzMDBGNTgyRTQzNDc1RjU4Mzc0ODFGMDkwNzYzNkUwMDRGMDJGCis6MTAzRDIzMDBFMEZGNzVGMDBGQTQyNDQxRjU4MkU0MzQ3NUY1ODM3NDQ0Cis6MTAzRDMzMDA2MUYwRUY3NUYwMEZBNDI0NDJGNTgyRTQzNDc1RjU4MzQ2Cis6MDQzRDQzMDA3NDAxRjAyMkY1Cis6MTAzRDQ3MDBDMEUwQzBGMEMwODNDMDgyQzBEMEU4QzBFMEU5QzBFMEY2Cis6MTAzRDU3MDBFQUMwRTBFQkMwRTBFQ0MwRTBFREMwRTBFRUMwRTBFRkIxCis6MTAzRDY3MDBDMEUwOTA3RkEyRTA5MDc2N0ZGMDkwN0Y3NEUwOTA3NjNECis6MTAzRDc3MDA4N0YwOTA3Rjc1RTA5MDc2ODhGMDkwN0Y5OEUwNDQwMjE2Cis6MTAzRDg3MDBGMDkwNzY5NkUwRkYyMEUxMEM0NDAyRjA5MDgwMDNGMDdCCis6MTAzRDk3MDBEMjMyMTI0QUM0OTA3NjdGRTAyMEUyNTA5MDc2ODdFMEQ0Cis6MTAzREE3MDBGRUEzRTA3QzAwMjQwMEY1MzRFQzNFRjUzMzkwNzY5OEQyCis6MTAzREI3MDBFMEZEQUUzM0FGMzQxMjM2RDg5MDc2ODdFRkYwRDIyRkNFCis6MTAzREM3MDAzMDMxMjkyMDNGMjZDMjMxOTA3Rjk0RTA1NENGRjA5MEM0Cis6MTAzREQ3MDA3RjlBRTAzMEU0MDREMjJEQzIyQzkwN0Y5QUUwMjBFNTUwCis6MTAzREU3MDAwNEMyMkREMjJDOTA3Rjk0RTA0NDMwRjAxMjRBNTAxMjM2Cis6MTAzREY3MDAxQjA0MzAyRjEyMTI0MjE2QzIyRjc1RTgwMTEyMTY4QUMxCis6MTAzRTA3MDA3NUU4MEREMjJCODAwNTc1RTgwMUMyMkIyMDJCMzQ5MDY1Cis6MTAzRTE3MDA3NjE5RTBGRkI0MDEwRTkwNzY3Qzc0NjdGMEEzNzQwNjAwCis6MTAzRTI3MDBGMEEzNzQwQkYwRUZCNDAyMEI5MDc2N0NFNEYwQTNGMEYwCis6MTAzRTM3MDBBMzc0MENGMEVGQjQwMzBCOTA3NjdDRTRGMEEzRjBBMzJCCis6MTAzRTQ3MDA3NDE4RjA3NUNBRDM3NUNCRkVEMkNBMzAzNDA0QzIzNEE1Cis6MTAzRTU3MDA4MDAyRDIzNDUzOTFFRjkwN0ZBQjc0MDJGMEYwOTA3RkUxCis6MTAzRTY3MDA5OEUwNTRGREYwRDBFMEZGRDBFMEZFRDBFMEZERDBFMEQ4Cis6MTAzRTc3MDBGQ0QwRTBGQkQwRTBGQUQwRTBGOUQwRTBGOEQwRDBEMDI5Cis6MDgzRTg3MDA4MkQwODNEMEYwRDBFMDMyQkMKKzoxMDNFOEYwMDkwNzY5MkUwMTQ2MDFEMTQ3MDAyRTE0NDI0MDI2MDAyRTcKKzoxMDNFOUYwMEUxRDQ5MDc2OTQ3NDAxRjA5MDgwMDBGMEU0OTA3NjhFRTcKKzoxMDNFQUYwMEYwRDIzMTIyOTA3NjE5RTBGRkI0MDExQkU0OTA3RkYyM0IKKzoxMDNFQkYwMEYwOTA3RkYzNzQzMEYwOTA3RkZGNzRGQ0YwOTA3Njk3NjIKKzoxMDNFQ0YwMEUwNTRGREYwNTRGQkYwRUZCNDAyMUJFNDkwN0ZGMkYwRUUKKzoxMDNFREYwMDkwN0ZGMzc0MzRGMDkwN0ZGRjc0RkNGMDkwNzY5N0UwNEUKKzoxMDNFRUYwMDQ0MDJGMDU0RkJGMEVGQjQwMzE4RTQ5MDdGRjJGMDkwMkIKKzoxMDNFRkYwMDdGRjM3NDY0RjA5MDdGRkY3NEZDRjA5MDc2OTdFMDQ0NEEKKzoxMDNGMEYwMDA0RjA5MDc2OTRFMDQ0MDFGMDkwODAwMEYwMzAzRjA5ODcKKzoxMDNGMUYwMDkwNzY5N0UwNTRGRUYwODAwNzkwNzY5N0UwNDQwMUYwOUEKKzoxMDNGMkYwMDkwNzY5N0UwOTA4MDAyRjA5MDc2OTg3NDA0RjA5MDc2RjcKKzoxMDNGM0YwMDhFNzQwMUYwMjI5MDc2MTlFMEZGQjQwMTFCRTQ5MDdGOUMKKzoxMDNGNEYwMEYyRjA5MDdGRjM3NDQ0RjA5MDdGRkY3NEZDRjA5MDc2NjIKKzoxMDNGNUYwMDk3RTA1NEZERjA1NEZCRjBFRkI0MDIxQkU0OTA3RkYyQjYKKzoxMDNGNkYwMEYwOTA3RkYzNzQ0Q0YwOTA3RkZGNzRGQ0YwOTA3Njk3OTUKKzoxMDNGN0YwMEUwNDQwMkYwNTRGQkYwRUZCNDAzMThFNDkwN0ZGMkYwNEEKKzoxMDNGOEYwMDkwN0ZGMzc0OTRGMDkwN0ZGRjc0RkNGMDkwNzY5N0UwM0QKKzoxMDNGOUYwMDQ0MDRGMDkwNzY5NEUwNTRGRUYwOTA4MDAwRjAzMDNGQUYKKzoxMDNGQUYwMDA5OTA3Njk3RTA1NEZFRjA4MDA3OTA3Njk3RTA0NDAxRjEKKzoxMDNGQkYwMEYwOTA3Njk3RTA5MDgwMDJGMDkwNzY5ODc0MDZGMDkwRUIKKzowNjNGQ0YwMDc2OEU3NDAyRjAyMjYwCis6MTAzRkQ1MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUFFMDQ0MDJGMDE1Cis6MTAzRkU1MDA5MDdGQzdFMEY1MTE3NTBGMDA3NTBEMDBEMjMzRDA4MkIzCis6MDUzRkY1MDBEMDgzRDBFMDMyOTIKKzowNjNGRkEwMDEyNEFDNEMyMzEyMjhDCis6MTA0MDAwMDBFNTExRDM5NDAwNTAwMjIxMDY5MDc2ODlFMEMzOTQwODBDCis6MTA0MDEwMDA0MDAyMjEwNjc0NDAyNTBGRjU4MkU0MzQ3RUY1ODNFMEVBCis6MTA0MDIwMDBGNTE3RTUwRDYwMEU5MDgwMDVFNTE3RjA5MDc2ODlFMEI0Cis6MTA0MDMwMDAwNEYwMDFEQUU1MTcxMjM3Rjk0MEMxMDI0MDY3MDU0MDg0Cis6MTA0MDQwMDA3QTA2NDA5ODA3NDBDMTBDNDBDMTBENDBDNzBGNDBDQkQ1Cis6MTA0MDUwMDBGNjQwQ0JGODQwQ0JGQTQwQ0JGQjQwQ0JGQzQwQ0JGRTRDCis6MTA0MDYwMDA0MENCRkYwMDAwNDBEQTkwN0U0MUUwOTA4MDA1RjA5MDY4Cis6MTA0MDcwMDA3Njg5RTAwNEYwNzUxMTAxODA2MDkwN0U0MUUwOTA4MEM3Cis6MTA0MDgwMDAwNUYwOTA3RTQyRTA5MDgwMDVGMDkwNzY4OUUwMDRGMEEzCis6MTA0MDkwMDBFMDA0RjA3NTExMDE4MDQyOTA3RTQxRTA5MDgwMDVGMENGCis6MTA0MEEwMDA5MDdFNDJFMDkwODAwNUYwOTA3RTQzRTA5MDgwMDVGMEE1Cis6MTA0MEIwMDA5MDc2ODlFMDA0RjBFMDA0RjBFMDA0RjA3NTExMDE4MEVFCis6MTA0MEMwMDAxOUQyM0JEMjNDODAxM0QyM0I4MDBGOTA4MDA1RTUxNzdDCis6MTA0MEQwMDBGMDkwNzY4OUUwMDRGMDc1MTEwMTIwM0IwNDA1MEQ4MDE1Cis6MTA0MEUwMDAxRjMwM0MxQzkwN0U0MUUwOTA4MDA1RjA5MDdFNDJFMEM1Cis6MTA0MEYwMDA5MDgwMDVGMDkwNzY4OUUwMDRGMEUwMDRGMDc1MTEwMUZECis6MTA0MTAwMDAwNTBGMTUxMTAxMDBFNTExNzAxMEMyMzNGNTBERjUwRjAzCis6MEI0MTEwMDA5MDdGQzc3NDA0RjBDMjNCQzIzQzIyNDkKKzoxMDQxMUIwMDkwNzY4REUwNjQwMTcwMjczMDI3MDhDMjI3MTIwODAwQzMKKzoxMDQxMkIwMDEyMTc0QTMwMjgwOEMyMjgxMjM4NzQxMjE3NEEzMDJBM0MKKzoxMDQxM0IwMDBFRTQ5MDc2OERGMEMyMkE5MDdGQjRFMDQ0MDJGMDkwQUEKKzoxMDQxNEIwMDc2M0ZFMEI0MDEwNUU0RjAxMjMyNkY5MDc2NDFFMEI0QjMKKzoxMDQxNUIwMDAxMDVFNEYwMTIzNDlBOTA3NjQwRTBCNDAxMDMxMjM0NzYKKzoxMDQxNkIwMDlBOTA3RjlCRTAyMEU0MDJDMjNGOTA3RjlCRTAzMEU0N0IKKzoxMDQxN0IwMDAyRDIzRjkwN0Y5QkUwMjBFNTAyQzIzRTkwN0Y5QkUwMDYKKzoxMDQxOEIwMDMwRTUwMkQyM0VBMjQxMzAzRjAxQjM1MDFGQTIzRjkyMTUKKzoxMDQxOUIwMDQxMzAzRjA5OTA3Njk3RTA1NEZFRjA4MDA3OTA3Njk3NzgKKzoxMDQxQUIwMEUwNDQwMUYwOTA3Njk3RTA5MDgwMDJGMDMwM0YzNDkwM0QKKzoxMDQxQkIwMDc2MTlFMEZGQjQwMTBFOTA3NjdDNzQ2N0YwQTM3NDA2NTkKKzoxMDQxQ0IwMEYwQTM3NDBCRjBFRkI0MDIwQkU0OTA3NjdDRjBBM0YwNDkKKzoxMDQxREIwMEEzNzQwQ0YwRUZCNDAzMEJFNDkwNzY3Q0YwQTNGMEEzODQKKzoxMDQxRUIwMDc0MThGMEEyNDAzMDNFMDFCMzUwMUZBMjNFOTI0MDMwRjMKKzoxMDQxRkIwMDNFMDk5MDc2OTVFMDQ0MDRGMDgwMDc5MDc2OTVFMDU0NjQKKzowQjQyMEIwMEZCRjA5MDc2OTVFMDkwODAwMUYwMjIxRgorOjEwNDIxNjAwOTA3NjE5RTA2NDAxNzAzNTkwNzY4N0UwRkZEMzk0MkQ4RgorOjEwNDIyNjAwNDAyQjkwNzY4Njc0MDFGMDkwNzY4NUUwMDRGMEUwRDMxQQorOjEwNDIzNjAwOTQwRjQwMTlFNEYwRUZEMzk0MzE0MDA4OTA3NjE5NzQ0NgorOjEwNDI0NjAwMDNGMDgwMDY5MDc2MTk3NDAyRjAxMjNFOEY5MDc2MTk2QworOjEwNDI1NjAwRTBCNDAyMkM5MDc2ODdFMEZGQzM5NDJGNTAyMkVGRDM3MAorOjEwNDI2NjAwOTQyQTQwMUM5MDc2ODY3NDAxRjA5MDc2ODVFMDA0RjBERQorOjEwNDI3NjAwRTBEMzk0MEY0MDBBRTRGMDkwNzYxOTA0RjAxMjNFOEZEMgorOjEwNDI4NjAwOTA3NjE5RTBCNDAyMjY5MDc2ODdFMEQzOTQzMTQwMURFQgorOjEwNDI5NjAwOTA3Njg2NzQwMUYwOTA3Njg1RTAwNEYwRTBEMzk0MEY3MgorOjEwNDJBNjAwNDAwQkU0RjA5MDc2MTk3NDAzRjAxMjNFOEY5MDc2MTk2NQorOjEwNDJCNjAwRTA2NDAzNzAzRjkwNzY4N0UwRkZDMzk0NUY1MDM1OTBDQgorOjEwNDJDNjAwNzY4Njc0MDFGMDkwNzY4NUUwMDRGMEUwRDM5NDBGNDA5MgorOjEwNDJENjAwMjNFNEYwRUZDMzk0MkY1MDBDRUZEMzk0MkE0MDA2OTBCQQorOjEwNDJFNjAwNzYxOTc0MDFGMEVGRDM5NDJGNDAwNjkwNzYxOTc0MDI3NAorOjEwNDJGNjAwRjAxMjNFOEY5MDc2ODZFMDcwMDU5MDc2ODVGMDIyRTQ4NworOjA1NDMwNjAwOTA3Njg2RjAyMjE0Cis6MTA0MzBCMDBFNDkwNzY5NkYwOTA4MDAzRjA5MDdGRTA3NDkwRjA5MEJDCis6MTA0MzFCMDA3RkUxNzQwNEYwRTQ5MDdGRERGMDkwN0ZBMUYwNTM4RTg5Cis6MTA0MzJCMDBGODc1ODgwNTc1QjgyMDc1RjgwMTQzOEUzMEY1Qzg3NTlBCis6MTA0MzNCMDBDQTdGNzVDQkY4NDNBODIwMTIwNzRBQzIyQ0MyMkRDMkU0Cis6MTA0MzRCMDAyQkMyMkY5MDdGRkM3NERERjA5MDdGRkY3NEZGRjA5MEY5Cis6MTA0MzVCMDA3Rjk3RTA0NDAxRjA5MDc2MTk3NDAxRjBFNDkwNzY4NTM0Cis6MTA0MzZCMDBGMEEzRjA5MDc2ODFGMDkwNzY4MEYwMTI0OTU4MTIwRkZFCis6MTA0MzdCMDBDNjEyNEE4RDkwN0Y5N0UwNDQwOEYwRTA1NEI5RjBEMjEyCis6MTA0MzhCMDAzMDIwMzAxODEyNDdCNDEyMzAwMDEyNDAwMDEyNDIxNjdGCis6MTA0MzlCMDAxMjRBNTAxMjFCMDQxMjE2NjExMjQyMTZDMjJGQzIzMTVFCis6MTA0M0FCMDBDMjMyQzIzNEMyMzNDMjI5QzIyN0MyMjhFNEY1MTE5MEVCCis6MTA0M0JCMDA3Njg5RjA5MDc2M0ZGMDkwNzY0MUYwOTA3NjQwRjA5MEQxCis6MTA0M0NCMDA3NjhBRjBBM0YwQTMwNEYwRTRBM0YwOTA3Njk5RjAyMkEwCis6MTA0M0RCMDAxMjREQTM0MDAyODFBMDkwN0ZFQkUwMjRGRTYwMUUxNERGCis6MTA0M0VCMDA2MDQ2MTQ2MDZFMTQ3MDAyODE5MTI0MDQ2MDAyODE5OUZFCis6MTA0M0ZCMDA3NDA1OTA3RkQ0RjA3NDAwOTA3RkQ1RjAyMjkwN0ZFQTAzCis6MTA0NDBCMDBFMEZGMTI0OUZGOEIyMDhBMjE4OTIyRUE0OTYwMTFDRUY1Cis6MTA0NDFCMDBFQUNFRUU5MDdGRDRGMENGRTlDRkVGOTA3RkQ1RjAyMkFDCis6MTA0NDJCMDA5MDdGQjRFMDQ0MDFGMDIyOTA3RkVBRTBGRjEyNDhCMEE1Cis6MTA0NDNCMDA4QjIwOEEyMTg5MjJFQTQ5NjAxMUNFRUFDRUVFOTA3RjQ5Cis6MTA0NDRCMDBENEYwQ0ZFOUNGRUY5MDdGRDVGMDIyOTA3RkI0RTA0NDRBCis6MTA0NDVCMDAwMUYwMjI5MDdGRUFFMEZGOTA3RUMwRTBGREEzRTBGQjNECis6MTA0NDZCMDAxMjE3OTQ4QjIwOEEyMTg5MjJFQTQ5NjAxMUNFRUFDRTU5Cis6MTA0NDdCMDBFRTkwN0ZENEYwQ0ZFOUNGRUY5MDdGRDVGMDIyOTA3RkY1Cis6MTA0NDhCMDBCNEUwNDQwMUYwMjI5MDdGQjRFMDQ0MDFGMDIyOTA3RjJECis6MDU0NDlCMDBCNEUwNDQwMUYwNTMKKzowMTQ0QTAwMDIyRjkKKzoxMDQ0QTEwMEMyQUZEMjI0OTA3RjkzNzQzMEYwOTA3RjlDNzRCQkYwQTQKKzoxMDQ0QjEwMDkwN0Y5NkUwNDQzMEYwRTA1NDMwRjA5MDdGOTQ3NDMwNzcKKzoxMDQ0QzEwMEYwOTA3RjlENzRDRkYwOTA3Rjk3NzRBMEYwOTA3Rjk1Q0UKKzoxMDQ0RDEwMDc0QzBGMDkwN0Y5RTc0MDNGMDkwN0Y5OUUwMzBFMjA5MDAKKzoxMDQ0RTEwMDkwMDUxOTc0QTBGMEU0QTNGMEMyMjVDMjIyQzIyM0MyMzAKKzoxMDQ0RjEwMDI2MTI0QUM0MTIyREE5MTIzQkQzMTI0NTU5MTIzQTQyMkYKKzoxMDQ1MDEwMDkwNzY2ODc0MDFGMDcwMEYxMjRCQkIxMjA3RkUxMjREQ0EKKzoxMDQ1MTEwMEExMTIxQjQwMTIxNDk2MTI0MzBCOTA3RkFGRTA0NDAxOEQKKzoxMDQ1MjEwMEYwOTA3RkFFRTA0NDFGRjA5MDdGQUM3NEZGRjA5MDdGN0QKKzoxMDQ1MzEwMEFERjA5MDdGREVGMDkwN0ZERkYwOTA3RkFCRjA5MDdGNjkKKzoxMDQ1NDEwMEE5RjA5MDdGQUFGMDUzOTFFRjQzRDgyMEQyRTg0M0Q4NDUKKzowODQ1NTEwMDIwNTNBOEEwNDNBODgwMjIxQQorOjEwNDU1OTAwRTQ5MDc2MzZGMEUwRkY3NUYwMDNBNDI0MzJGNTgyRTRBNgorOjEwNDU2OTAwMzQ3NUY1ODNFNEYwRUY3NUYwMDNBNDI0MzNGNTgyRTRBMAorOjEwNDU3OTAwMzQ3NUY1ODM3NDAxRjA5MDc2MzZFMDA0RjBFMEZGNzU0OAorOjEwNDU4OTAwRjAwM0E0MjQzMkY1ODJFNDM0NzVGNTgzRTRGMEVGNzU4MQorOjEwNDU5OTAwRjAwM0E0MjQzM0Y1ODJFNDM0NzVGNTgzNzQwMkYwOTBCMgorOjEwNDVBOTAwNzYzNkUwMDRGMEUwRkY3NUYwMDNBNDI0MzJGNTgyRTRFNgorOjEwNDVCOTAwMzQ3NUY1ODNFNEYwRUY3NUYwMDNBNDI0MzNGNTgyRTQ1MAorOjEwNDVDOTAwMzQ3NUY1ODM3NDAzRjA5MDc2MzZFMDA0RjBFMEZGNzVGNgorOjEwNDVEOTAwRjAwM0E0MjQzMkY1ODJFNDM0NzVGNTgzRTRGMEVGNzUzMQorOjEwNDVFOTAwRjAwM0E0MjQzM0Y1ODJFNDM0NzVGNTgzNzQwNEYwMjJDRQorOjBDNDVGOTAwNzg3RkU0RjZEOEZENzU4MTM4MDI0NjQwNUEKKzoxMDQ2MDUwMDAyNDc1QUU0OTNBM0Y4RTQ5M0EzNDAwM0Y2ODAwMUYyMkEKKzoxMDQ2MTUwMDA4REZGNDgwMjlFNDkzQTNGODU0MDcyNDBDQzhDMzMzQjYKKzoxMDQ2MjUwMEM0NTQwRjQ0MjBDODgzNDAwNEY0NTY4MDAxNDZGNkRGODUKKzoxMDQ2MzUwMEU0ODAwQjAxMDIwNDA4MTAyMDQwODA5MDBDOEZFNDdFN0EKKzoxMDQ2NDUwMDAxOTM2MEJDQTNGRjU0M0YzMEU1MDk1NDFGRkVFNDkzN0EKKzoxMDQ2NTUwMEEzNjAwMTBFQ0Y1NEMwMjVFMDYwQTg0MEI4RTQ5M0EzNDEKKzoxMDQ2NjUwMEZBRTQ5M0EzRjhFNDkzQTNDOEM1ODJDOENBQzU4M0NBNkMKKzoxMDQ2NzUwMEYwQTNDOEM1ODJDOENBQzU4M0NBREZFOURFRTc4MEJFMjQKKzoxMDQ2ODUwMDkwN0ZFQ0UwOTA3NjgzRjBFMDE0NjAxRDE0NjAyQTE0QUUKKzoxMDQ2OTUwMDYwMzcxNDYwNDQyNDA0NzA1MDkwNzY5MUUwOTA3RjAwNTgKKzoxMDQ2QTUwMEYwOTA3RkI1NzQwMUYwODA0NzkwNzY5MkUwOTA3RjAwOUUKKzoxMDQ2QjUwMEYwOTA3RkI1NzQwMUYwODAzNzkwNzY5MEUwOTA3RjAwQTAKKzoxMDQ2QzUwMEYwOTA3RkI1NzQwMUYwODAyNzkwNzY4NEUwOTA3RjAwQUMKKzoxMDQ2RDUwMEYwOTA3RkI1NzQwMUYwODAxNzkwNzY5M0UwOTA3RjAwOUQKKzoxMDQ2RTUwMEYwOTA3RkI1NzQwMUYwODAwNzkwN0ZCNEUwNDQwMUYwNEQKKzowMjQ2RjUwMEQzMjJDRQorOjEwNDZGNzAwQzBFMEMwRjBDMDgzQzA4MkMwRDBFOEMwRTBFOUMwRTAzRAorOjEwNDcwNzAwRUFDMEUwRUJDMEUwRUNDMEUwRURDMEUwRUVDMEUwRUZGNworOjEwNDcxNzAwQzBFMEMyQ0FDMkNGOTA3Rjk4RTA0NDAxRjAzMDJFMDNCOAorOjEwNDcyNzAwMTIxNEE2OTA3Rjk4RTA1NEZFRjA1M0E4RkExMjE2NjE2RgorOjEwNDczNzAwRDBFMEZGRDBFMEZFRDBFMEZERDBFMEZDRDBFMEZCRDA0MQorOjEwNDc0NzAwRTBGQUQwRTBGOUQwRTBGOEQwRDBEMDgyRDA4M0QwRjAzMgorOjAzNDc1NzAwRDBFMDMyN0QKKzoxMDQ3NUEwMEU0OTA3NjY2RjAxMjQ0QTEyMDI2MTM5MDc2NjZFMEMzQjAKKzoxMDQ3NkEwMDk0MDI1MDBBRTAwNEYwRDI0MjEyNEFGNjgwRUEzMDI2NTUKKzoxMDQ3N0EwMDA1MTIyODAxQzIyNjMwMjUyQjkwNzY5NkUwNTRGQ0YwQ0IKKzoxMDQ3OEEwMDkwODAwM0YwMTIxNDk2OTA3Njk2RTA0NDAzRjA5MDgwOUQKKzoxMDQ3OUEwMDAzRjBFNDkwNzY2N0YwOTA3NjY3RTAwNEYwRTBCNDRCQkIKKzowQTQ3QUEwMEY2MTIzRkZBMTI0MTFCODBDNTIyRUYKKzoxMDQ3QjQwMEU0OTA3NjlCRjA5MDc2OUJFMEZGMDRGMEVGNjAwOEUwRDUKKzoxMDQ3QzQwMDI0MDhGOEU0RjY4MEVFOTA3Njk2RTA1NEZCRjA1NEY3NzMKKzoxMDQ3RDQwMEYwOTA4MDAzRjBFNEY1MThEMjM1RjUwRUY1MTBEMjM2REEKKzoxMDQ3RTQwMDc1MTIxMTc1MTMyMkMyMzdDMjM5QzIzOEY1MTZGNTE0ODEKKzowQjQ3RjQwMEY1MUFGNTBEQzIzQkMyM0NDMjNEMjI4RAorOjEwNDgwMDAwOTA3RkVDRTA5MDc2ODNGMEUwMTQ2MDE3MTQ2MDIxMTQ0MAorOjEwNDgxMDAwNjAyQjE0NjAzMjI0MDQ3MDM4OTA3RkVBRTA5MDc2OTEyNworOjEwNDgyMDAwRjA4MDM1OTA3RkVBRTA5MDc2OTJGMDEyM0U4RjgwMjhGQgorOjEwNDgzMDAwOTA3RkVBRTA5MDc2OTBGMDEyMTgwMDgwMUI5MDdGRUE1QgorOjEwNDg0MDAwRTA5MDc2ODRGMDgwMTE5MDdGRUFFMDkwNzY5M0YwODA5QgorOjBBNDg1MDAwMDc5MDdGQjRFMDQ0MDFGMEQzMjI4QQorOjEwNDg1QTAwRTQ5MDc2MjZGMDkwNzYyNkUwRkY3NUYwMDNBNDI0MzRERgorOjEwNDg2QTAwRjU4MkU0MzQ3NUY1ODNFMEZFOTA3RkVDRTBGREVFNkRCMQorOjEwNDg3QTAwNjAwRUVGQzM5NDA0NTAwODkwNzYyNkUwMDRGMDgwRDVDOQorOjEwNDg4QTAwRUZCNDA0MDg5MDdGQjRFMDQ0MDFGMDIyRUY3NUYwMDMxRQorOjEwNDg5QTAwQTQyNDMyRjU4MkU0MzQ3NUY1ODNFMDkwN0YwMEYwOTAyOQorOjA2NDhBQTAwN0ZCNTc0MDFGMDIyNEQKKzowMjQ4QjAwMDhGMkU0OQorOjEwNDhCMjAwRTRGNTJGNzUzMEZGNzUzMTA2NzUzMkJFQUIzMEFBMzE4MworOjEwNDhDMjAwQTkzMjkwMDAwMTEyMzZBQkI0MDMxRkFGMkYwNTJGRUZCMAorOjEwNDhEMjAwNjUyRTcwMDEyMjEyMzY5MjdFMDAyOUZGRUUzQUM5RUY1MAorOjEwNDhFMjAwQzk3NTMwRkZGNTMxODkzMjgwRDI3QjAwN0EwMDc5MDBCOAorOjAxNDhGMjAwMjJBMworOjBDNDhGMzAwQzIzN0U0RjUwRUY1MTBDMjM2RjUxNDIyQjEKKzoxMDQ5MDAwMDAyMkZFNzAwMDIzRDQ3MDAwMjRENDYwMDAyNEJENTAwNTIKKzoxMDQ5MTAwMDAyNEI2MDAwMDIyRkZGMDAwMjRCRUQwMDAyNEI4MTAwQjIKKzoxMDQ5MjAwMDAyNEMwNDAwMDIzRkQ1MDAwMjRDMUIwMDAyNEMzMjAwMzYKKzoxMDQ5MzAwMDAyNEM0OTAwMDI0QzYwMDAwMjRDNzcwMDAyNEM4RTAwOTEKKzoxMDQ5NDAwMDAyNENBNTAwMDI0Q0JDMDAwMjRDRDMwMDAyNENFQTAwMTEKKzowODQ5NTAwMDAyNEQwMTAwMDI0RDE4MDBBOAorOjEwNDk1ODAwOTA3NjQ2NzQ4MEYwRTRBM0YwQTNGMEEzRjBBM0YwQTM0QworOjEwNDk2ODAwRjBBM0YwQTNGMEEzRjBBMzc0ODBGMEU0QTNGMEEzRjAwNQorOjEwNDk3ODAwQTNGMEEzRjBBM0YwQTNGMEEzNzQ0MEYwRTRBM0YwQTM4MgorOjEwNDk4ODAwNzQ0MEYwRTRBM0YwQTNGMEEzRjBBM0YwQTNGMEEzRjAyNQorOjEwNDk5ODAwQTM3NDQwRjBFNEEzRjBBMzc0NDBGMEU0QTNGMEEzRjAwMAorOjA1NDlBODAwQTNGMEEzRjAyMkMyCis6MTA0OUFEMDBFNDkwNzYyNUYwOTA3NjI1RTBGRjc1RjAwM0E0MjQzNDhECis6MTA0OUJEMDBGNTgyRTQzNDc1RjU4M0UwRkU5MDdGRUNFMEZERUU2RDVECis6MTA0OUNEMDA2MDBFRUZDMzk0MDQ1MDA4OTA3NjI1RTAwNEYwODBENTc2Cis6MTA0OUREMDBFRkI0MDQwODkwN0ZCNEUwNDQwMUYwMjI5MDdFQzBFMDczCis6MTA0OUVEMDBGRUVGNzVGMDAzQTQyNDMyRjU4MkU0MzQ3NUY1ODNFRTAxCis6MDI0OUZEMDBGMDIyQTYKKzoxMDQ5RkYwMEU0RkU3NTFERkY3NTFFMDU3NTFGMTJBQjFEQUExRUE5QkUKKzoxMDRBMEYwMDFGOTAwMDAxMTIzNkFCNjQwMjcwMkZDREVFQ0QwRUVENkMKKzoxMDRBMUYwMDZGNzAwMTIyOTAwMDAyMTIzNzBFODVGMDFCRjUxQzYyOTkKKzoxMDRBMkYwMDFCRTUxQjYyMUNFNTFDNjIxQjI5RkRFNTFCM0FDOUVENEEKKzoxMDRBM0YwMEM5NzUxREZGRjUxRTg5MUY4MEMxN0IwMDdBMDA3OTAwQTMKKzowMTRBNEYwMDIyNDQKKzoxMDRBNTAwMDMwMkQzOUMyMkQ5MDc2MTlFMEZGQjQwMTBERTQ5MDc2MjcKKzoxMDRBNjAwMDdDRjBBMzc0RjhGMEEzNzQwQUYwRUZCNDAyMERFNDkwQTQKKzoxMDRBNzAwMDc2N0NGMEEzNzRGMEYwQTM3NDBCRjBFRkI0MDMwREU0QjQKKzowRDRBODAwMDkwNzY3Q0YwQTM3NEY4RjBBMzc0MTdGMDIyNzgKKzoxMDRBOEQwMEU0RkY3NDU2MkZGNTgyRTQzNDc2RjU4M0UwRkU3NDI4NDYKKzoxMDRBOUQwMDJGRjU4MkU0MzQ4MEY1ODNFRUYwNzQ1RTJGRjU4MkU0MTkKKzoxMDRBQUQwMDM0NzZGNTgzRTBGRTc0MzgyRkY1ODJFNDM0ODBGNTgzOTcKKzowNjRBQkQwMEVFRjAwRkJGMDhDQzczCis6MDE0QUMzMDAyMkQwCis6MTA0QUM0MDBFNDkwNzIzNkYwQTNGMDkwN0Y5N0UwNTRGQkYwRTQ5MDBBCis6MTA0QUQ0MDA3MjMzRjA5MDcyMzJGMDkwNzIwMTA0RjBFNDkwNzIzMzA5Cis6MTA0QUU0MDBGMDkwNzIzMkYwOTA3MjAxMDRGMDkwN0Y5N0UwNDQwNEU5Cis6MDI0QUY0MDBGMDIyQUUKKzoxMDRBRjYwMDkwN0ZENkUwNTRGQkYwRTA0NDA4RjAzMDQyMDRFMDQ0RjYKKzoxMDRCMDYwMDAyRjA3RkRDN0UwNTEyNEQyRjkwN0ZENkUwNTRGN0YwNDEKKzowNTRCMTYwMEUwNDQwNEYwMjI2MAorOjEwNEIxQjAwOTA3RkVCRTAxNDcwMTQ5MDdGRTlFMDI0N0Y3MDA0MTIxNworOjEwNEIyQjAwNDg1QTIyOTA3RkI0RTA0NDAxRjAyMjkwN0ZCNEUwNDRENQorOjAzNEIzQjAwMDFGMDIyNjQKKzoxMDRCM0UwMDkwN0ZFQkUwMTQ3MDEzOTA3RkU5RTAxNDcwMDQxMjQ5M0IKKzoxMDRCNEUwMEFEMjI5MDdGQjRFMDQ0MDFGMDIyOTA3RkI0RTA0NDAxQTYKKzowMjRCNUUwMEYwMjI0MworOjEwNEI2MDAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFCNzQxMEYwOTA4RgorOjEwNEI3MDAwNzY5NkUwNTRGREYwOTA4MDAzRjBEMDgyRDA4M0QwRTBCMAorOjAxNEI4MDAwMzIwMgorOjEwNEI4MTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFBRTA0NDAxRjA1RQorOjBGNEI5MTAwQzIyOTkwNzY4RDc0MDFGMEQwODJEMDgzRDBFMDMyQUIKKzoxMDRCQTAwMDkwN0ZFQUUwOTA3NjgyRjBFNDkwNzY5MUYwOTA3NjkyQjEKKzowQjRCQjAwMEYwOTA3NjkwRjA5MDc2OTNGMEQzMjIwNgorOjEwNEJCQjAwOTA3RkQ2RTAzMEU3MTJFMDQ0MDFGMDdGMTQ3RTAwMTJDNAorOjBBNEJDQjAwNEQyRjkwN0ZENkUwNTRGRUYwMjIzQgorOjEwNEJENTAwQzBFMEMwODNDMDgyRDIyNTUzOTFFRjkwN0ZBQjc0MDhBQgorOjA4NEJFNTAwRjBEMDgyRDA4M0QwRTAzMjUxCis6MTA0QkVEMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0MDFGMEYzCis6MDc0QkZEMDBEMDgyRDA4M0QwRTAzMjJBCis6MTA0QzA0MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0MDJGMERBCis6MDc0QzE0MDBEMDgyRDA4M0QwRTAzMjEyCis6MTA0QzFCMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0MDRGMEMxCis6MDc0QzJCMDBEMDgyRDA4M0QwRTAzMkZCCis6MTA0QzMyMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUFFMDQ0MDRGMEE5Cis6MDc0QzQyMDBEMDgyRDA4M0QwRTAzMkU0Cis6MTA0QzQ5MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0MDhGMDhGCis6MDc0QzU5MDBEMDgyRDA4M0QwRTAzMkNECis6MTA0QzYwMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUFFMDQ0MDhGMDc3Cis6MDc0QzcwMDBEMDgyRDA4M0QwRTAzMkI2Cis6MTA0Qzc3MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0MTBGMDU5Cis6MDc0Qzg3MDBEMDgyRDA4M0QwRTAzMjlGCis6MTA0QzhFMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUFFMDQ0MTBGMDQxCis6MDc0QzlFMDBEMDgyRDA4M0QwRTAzMjg4Cis6MTA0Q0E1MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0MjBGMDFCCis6MDc0Q0I1MDBEMDgyRDA4M0QwRTAzMjcxCis6MTA0Q0JDMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUFFMDQ0MjBGMDAzCis6MDc0Q0NDMDBEMDgyRDA4M0QwRTAzMjVBCis6MTA0Q0QzMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0NDBGMENECis6MDc0Q0UzMDBEMDgyRDA4M0QwRTAzMjQzCis6MTA0Q0VBMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUFFMDQ0NDBGMEI1Cis6MDc0Q0ZBMDBEMDgyRDA4M0QwRTAzMjJDCis6MTA0RDAxMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0ODBGMDVFCis6MDc0RDExMDBEMDgyRDA4M0QwRTAzMjE0Cis6MTA0RDE4MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUFFMDQ0ODBGMDQ2Cis6MDc0RDI4MDBEMDgyRDA4M0QwRTAzMkZECis6MTA0RDJGMDA4RTM1OEYzNkU1MzYxNTM2QUUzNTcwMDIxNTM1NEU2MDM5Cis6MDc0RDNGMDAwNTEyMTQ4NTgwRUUyMjJECis6MTA0RDQ2MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUI3NDA0RjBEMDczCis6MDY0RDU2MDA4MkQwODNEMEUwMzJBMAorOjEwNEQ1QzAwOTA3NjgyRTA5MDdGMDBGMDkwN0ZCNTc0MDFGMEQzMjJDMgorOjA5NEQ2QzAwQzIyNTUzRDhFRjQzRDgyMDMyRDAKKzowNzRENzUwMDUzOThGRTUzOThGRDMyMzQKKzowNzREN0MwMDUzQzBGRTUzQzBGRDMyREQKKzowNjREODMwMDUzOTFCRkQyMkQzMjU2Cis6MDY0RDg5MDA1MzkxN0ZEMjJDMzI5MQorOjA0NEQ4RjAwNTM5MURGMzIyQgorOjA0NEQ5MzAwNTNEOEY3MzJDOAorOjA0NEQ5NzAwMTIxNzMwMjI5RAorOjAzNEQ5QjAwQzI4RDMyOTQKKzowMzREOUUwMEMyOEYzMjhGCis6MDI0REExMDBEMzIyMUIKKzowMjREQTMwMEQzMjIxOQorOjAyNERBNTAwRDMyMjE3Cis6MDI0REE3MDBEMzIyMTUKKzowMjREQTkwMEQzMjIxMworOjAyNERBQjAwQzMyMjIxCis6MDAwMDAwMDFGRgorLyoKK1NvdXJjZTogRU1JNjJTRlcuSEVYCitWRVJTSU9OPTEuMDQuMDYyCitEQVRFPTE2LjEwLjIwMDIKKyovCmRpZmYgLS1naXQgYS9maXJtd2FyZS9lc3MvbWFlc3RybzNfYXNzcF9rZXJuZWwuZncuaWhleCBiL2Zpcm13YXJlL2Vzcy9tYWVzdHJvM19hc3NwX2tlcm5lbC5mdy5paGV4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkzM2M0YzMKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9lc3MvbWFlc3RybzNfYXNzcF9rZXJuZWwuZncuaWhleApAQCAtMCwwICsxLDEyMCBAQAorOjEwMDAwMDAwODA3OTMwMDA4MDc5QjQwMzgwNzlCNDAzODA3OUZCMDA3MworOjEwMDAxMDAwODA3OUREMDA4MDc5QjQwMzgwNzkzMjAzODA3OTg3MDJBQQorOjEwMDAyMDAwODA3OUI0MDM4MDc5QjQwMzgwNzlCNDAzODA3OUI0MDMxMAorOjEwMDAzMDAwODA3OTFBMDM4MDc5QjQwMzgwNzkyRjAyODA3OUI0MDMyMAorOjEwMDA0MDAwODA3OUI0MDM4MDc5QjQwMzgwNzlCNDAzODA3OUI0MDNGMAorOjEwMDA1MDAwODA3OTYzMDA4MDc5NkIwMDgwNzlCNDAzODA3OUI0MDM4MAorOjEwMDA2MDAwODBCRjdDMkMwNjg4MDQ4ODQwQkUyMEJDMDlBRTAwMTBFRQorOjEwMDA3MDAwMEFBRTAxMDAzODY5MDhFQjUzMDA1QTY5MDhFQkQ2MDA1NAorOjEwMDA4MDAwMDkwMDg4OEI4MDY5ODhFMzM2MDAzMEJFMjBCQzA5Njk4RQorOjEwMDA5MDAwMDFCODA5OTA0MUJFNDFCRTI4Njk4OEVCNzgwMDQxQkU5NQorOjEwMDBBMDAwNDBCRTgwNzkzODAwNDFCRTQxQkUzQTkwMzg2OTA4RTNDRAorOjEwMDBCMDAwNTYwMDNBOTA0MUJFNDBCRTAwRUYzQTkwMzk2OTA4RTNERAorOjEwMDBDMDAwNUUwMDNBOTAwMEVGMEI2OTBDNjY4Q0VGMEE2OTBDNjZEMworOjEwMDBEMDAwMEI2MjA5NjYwMEVGMTA2OTBGNjYwNEVGODhFMzc1MDA5NAorOjEwMDBFMDAwMEU2OTBGNjYxMDYyMEQ2NjAwRUYwRTY5MEQ2NjAwRUY3NworOjEwMDBGMDAwNzBBRTAxMDAyMEJDMjdBRTAxMDAzOTY5MDhFQjVEMDAzRAorOjEwMDEwMDAwMjY2OTAxQjgyNjkwMjYwMDg4OEI4MDY5ODhFM0NCMDA5OQorOjEwMDExMDAwMjg5MDI4MEQxMTQyMDBFMTdBMDAxMTQ3MDBFMUEwMDA2QgorOjEwMDEyMDAwODA3QTYzMDAxMUI4MEE2NjA5NjIwNEUzN0EwMDBCMEM1NgorOjEwMDEzMDAwMDU0MDBBMTAwMUJBMTI5MDEyMEMwMjQwODA3OUFGMDBGQgorOjEwMDE0MDAwODA3QTZCMDAwMkJFMEU2MjBENjYxMEJBNDRFMzdBMDAzQworOjEwMDE1MDAwMTAwQzA1NDAwRTEwMDFCQTEyOTAxMjBDMDI0MDAzMTA1MAorOjEwMDE2MDAwMDJCQTEyOTAxMjBDMDA0MDAzMTA4OEUzQkEwMDA0MTA4NworOjEwMDE3MDAwODA3OUJDMDAwNDEwMDFCQTEyOTAxMjBDMDE0MDA1MENFOQorOjEwMDE4MDAwMDM0MDA2MEMwNDQwMTExMEIwQkZGRjAxMTI5MDEyMEM4NgorOjEwMDE5MDAwMDY0MDIwQkMwMEVGMjZBRTI4MTA3MDY5RDBCRjAxMDBEOQorOjEwMDFBMDAwNzA5MDg4RTM3QTAwMjhBRTAwMDAwMEVGNzBBRTAwMDM4NAorOjEwMDFCMDAwNzAwQzBDQjA1QUFFMDAwMDAwRUY4MDdBOEEwMzdGNjlBMQorOjEwMDFDMDAwMDFCODdGOTA1NjAwODg4QkEwMEMwOEIwNzFBRjAwQjBDQQorOjEwMDFEMDAwNzE0RTAwRTJGMzAwNTZBRTU3MTA1NjAwQTAwQzA4QjA2NgorOjEwMDFFMDAwNTY4MDgwNzlBMTAzMTAwOEEwQkY1OTEwMDRFM0ExMDMzMQorOjEwMDFGMDAwNTY4MDgwNzlBMTAzODA3QThBMDMwMUJGNDNCRTU5QkUyRAorOjEwMDIwMDAwN0M5MDM3Njk4OEUzMEQwMTAxQkEwOEUzMEMwMTcxQUVGNworOjEwMDIxMDAwMDQwMDcxMEMwMDUwMzY2OTM3OTAwQUJGOUUxMDhBOEIxQgorOjEwMDIyMDAwODBBRjE0ODA4MDRDMEFCRjYwMDUwMEY1MEFCRjIwMDUyRQorOjEwMDIzMDAwMDBCOTE3QkJBMDkwMTc2OTg4RTM0ODAxMTcwRDAwRTFDQQorOjEwMDI0MDAwMjcwMTBDQkY3ODA1MERCRjdDMDU4MDc5MkIwMTBDQkYwMQorOjEwMDI1MDAwMzgwNTBEQkYzQzA1MDA2OTA4RTMzNTAxOEM4QjU5QkU5QworOjEwMDI2MDAwMDdCQkEwOTAyMEJDODA3OTU3MDEwQzAzOEI4QjAzQjk4RQorOjEwMDI3MDAwMDk4OEM2QkUzRTAxQUM2OUFCOTBBRDY5QUI5MDEzMDg2RQorOjEwMDI4MDAwMEE2NjQ0RTM0NDAxMDkwMzBDODMyMEJDODA3OTU3MDFDQQorOjEwMDI5MDAwNTU2OTg4RTM1NzAxMzg3QzBCQkY3ODA1MDBGNTBCQkYyMworOjEwMDJBMDAwMzgwNTA3QjkwOTg4QzZCRTU2MDFBQjEwQUE5MDc0NjkxMworOjEwMDJCMDAwODhFMzYzMDE3MkFFNDAwNTAwRjU3MkFFMDAwNTYxQUVFMQorOjEwMDJDMDAwM0IxMDgwN0FGNjAyNzg2OTg4RTM4MjAxOEM4QjBDQkY0MAorOjEwMDJEMDAwNjAwNTAwRTU0MDdDMTQwODIwQkExMjg4M0Q3MzgwN0FERQorOjEwMDJFMDAwODAwMzNFNzM4MDdBODAwMzhDOEIwQ0JGNkMwNTAwRTUyNQorOjEwMDJGMDAwNDA3QzE0MDgyQ0JBMTI4ODNGNzM4MDdBODAwMzQwNzNDNAorOjEwMDMwMDAwODA3QTgwMDM3NTY5ODhFMzhFMDE3MkFFNDgwNTAwRjUzNgorOjEwMDMxMDAwNzJBRTA4MDU2MUFFNDExMDgwN0FGNjAyNzk2OTg4RTMxMQorOjEwMDMyMDAwQUQwMThDOEIwQ0JGNjAwNTAwRTU0MDdDMTQwODE4QkE0OQorOjEwMDMzMDAwMTI4ODQzNzM4MDdBODAwMzQ0NzM4MDdBODAwMzhDOEJBNQorOjEwMDM0MDAwMENCRjZDMDUwMEU1NDA3QzE0MDgyNEJBMTI4ODQ1NzM4NAorOjEwMDM1MDAwODA3QTgwMDM0NjczODA3QTgwMDM3NjY5ODhFM0I5MDFFNgorOjEwMDM2MDAwNzJBRTU4MDUwMEY1NzJBRTE4MDU2MUFFNDcxMDgwN0E3RQorOjEwMDM3MDAwRjYwMjdBNjk4OEUzRDgwMThDOEIwQ0JGNjAwNTAwRTUzMgorOjEwMDM4MDAwNDA3QzE0MDgwOEJBMTI4ODQ5NzM4MDdBODAwMzRBNzM0MworOjEwMDM5MDAwODA3QTgwMDM4QzhCMENCRjZDMDUwMEU1NDA3QzE0MDhEMAorOjEwMDNBMDAwMTRCQTEyODg0QjczODA3QTgwMDM0QzczODA3QTgwMDM2RQorOjEwMDNCMDAwMjFCQzFDQUU5MDEwOEE4QjBBQkY2MDA1MDBFNTQwN0MxMgorOjEwMDNDMDAwMTIwODA0QjgxMzg4OEQ4QjBEQkY2QzA1MDBFNTQwN0NDNgorOjEwMDNEMDAwMTUwODA0QjgxMTg4ODA3QTRBMDM4QThCMEFCRjYwMDUyMQorOjEwMDNFMDAwMDBFNTQwN0MxRjczMDNCOTA5ODhDNkJFRjkwMThBNTQzMQorOjEwMDNGMDAwMDNCRUEwOTgyMDczMDNCOTA5ODhDNkJFMDEwMjhBNTRCRgorOjEwMDQwMDAwMDNCRUEwOTgyMDFGMUYyRjI2OTgyMEJDMzU2OTg4RTNDMworOjEwMDQxMDAwQTEwMzMzNjkwMUI4MzM5MEEwQkZFRTAyMDhFM0ExMDM0MgorOjEwMDQyMDAwMzM5MDAwQkY1MTY5ODhFMzFGMDIzNDczODBCRTYwNTc2OAorOjEwMDQzMDAwMDNCRTdFOUY1OUJFMzQ5MDdFNjk1MTBEMTM5MDIwQkMzRgorOjEwMDQ0MDAwNUM2OTg4RTNBMTAzNUU3MzgwQkU2MDU3MDNCRTdFOUYzNAorOjEwMDQ1MDAwNTlCRTVFOTA3RTY5NUMwRDEzOTA4MDc5QTEwMzgwN0EwRAorOjEwMDQ2MDAwOEEwMzAxQkY0M0JFNzc2OTg4RTM0RTAyNjFBRTREMTAzNworOjEwMDQ3MDAwNjEwMDg4OEI4MDY5ODhFMzRFMDI3MTkwNzEwRDBCMDBEQQorOjEwMDQ4MDAwQTBBRjEwODBBMEFGMTA4MDEwMDgwQTY2MDhFMzQ5MDJGMAorOjEwMDQ5MDAwMDkwMDEwMDgwQzY2ODhFMzRFMDIwQjgwMjBCQzdCNjlDMworOjEwMDRBMDAwODhFM0ExMDMwQUJGOUUxMDhBOEI4MEFGMTQ4MDgwNEMyMgorOjEwMDRCMDAwMDBFMTY2MDI3QzY5OTBCRjYwMDU3MjkwNzIwMzdDNjlGRQorOjEwMDRDMDAwOTBCRjY0MDU3MzkwNzMwNDgwNzk3MDAyN0M2OTkwQkY1QgorOjEwMDREMDAwMjAwNTcyOTA3MjAzN0M2OTkwQkYyNDA1NzM5MDczMDRBOQorOjEwMDRFMDAwN0M2OTAxQjg3QzkwMEFCRkZEMTA4QThCODBBRjEwODBCOAorOjEwMDRGMDAwNEY3MzhBNTQwM0JFODA5ODIxQkMyNjczOEI1NDAzQkU2RAorOjEwMDUwMDAwOEI2MThDOTgwM0JFODA2MTgwOTg4MDc5QTEwMzgwN0E4QQorOjEwMDUxMDAwOEEwMzI4MEQxMTQ3MDBFMUJFMDIxMkFGMDY0MDEyNjk5RQorOjEwMDUyMDAwQjBCRjAwMEM4OEUzQjYwMkEwQkYwMDA4ODhFM0IyMDJBNworOjEwMDUzMDAwMTI2OUIwQkYwMDBDQTBCRjAwMDQ4OEUzQTMwMjA5NjlFMAorOjEwMDU0MDAwMEI5MDgwNzlBNTAyMEJBRjA1NDAwMTY5MDU5MDAyNjkwNworOjEwMDU1MDAwMDY5MDExNDMwMEUxRUQwMjExNjlDMEJGMDAyMDExOTAyNworOjEwMDU2MDAwODA3OUVEMDIwOTY5MEI5MDgwNzlCODAyMEJBRjA1NDBFNAorOjEwMDU3MDAwMDVBRjAzNDAwNkFGMDQ0MDgwNzlFRDAyMTJBRjA2NDA5QworOjEwMDU4MDAwMTI2OUIwQkYwMDBDODhFM0U3MDJBMEJGMDAwODg4RTM0RgorOjEwMDU5MDAwRTMwMjEyNjlCMEJGMDAwQ0EwQkYwMDA0ODhFM0Q0MDJEQworOjEwMDVBMDAwMEQ2OTEwOTA4MDc5RDYwMjEwQUYwNTQwMDE2OTA1OTA2MQorOjEwMDVCMDAwMDI2OTA2OTAxMTQzMDBFMUVEMDIxMTY5QzBCRjAwMjBGRAorOjEwMDVDMDAwMTE5MDgwNzlFRDAyMEQ2OTEwOTA4MDc5RTkwMjEwQUZFOQorOjEwMDVEMDAwMDU0MDA1QUYwMzQwMDZBRjA0NDAyMEJDNzA2OTcxOTAzMAorOjEwMDVFMDAwODA3QTc4MDA3MTY5NzA5MDgwNzlBMTAzMjBCQzYxMDNFMgorOjEwMDVGMDAwOEI4QjgwNjk4OEVGNzIwMjcyMDMwNDc4NzE5MDcxMERBMQorOjEwMDYwMDAwOEE4QjBCMDAwM0I5MDk4OEM2QkUwOTAzQTg2OUFCOTBBMQorOjEwMDYxMDAwQTg2OUFBOTAxMDA4MEE2NjQ0RTMwRjAzMDkwMDEwMDhBRAorOjEwMDYyMDAwMEM2Njg4RTMxNDAzMEI4MDIwQkM2MTY5MDFCODYxOTBGQgorOjEwMDYzMDAwODA3OUY3MDI4MDdBOEEwMzM1NUQwMTAwMzQ2OTAxQjg1OAorOjEwMDY0MDAwMzQ5MDBBQkY5RTEwOEE4QjgwQUYxNDgwODA0ODcyQUVBRgorOjEwMDY1MDAwNTAwNTAwRjU3MkFFMTAwNTYxQUU1MTEwODA3QUY2MDJCOQorOjEwMDY2MDAwODA3OUExMDM4MDdBOEEwMzM1NUQwMjAwNUU2OTAxQjg1MgorOjEwMDY3MDAwNUU5MDBBQkY5RTEwOEE4QjgwQUYxNDgwODA0NzcyQUU1NgorOjEwMDY4MDAwNTgwNTAwRjU3MkFFMTgwNTYxQUU1QzEwODA3QUY2MDI2RQorOjEwMDY5MDAwODA3OUExMDMxQzAwODg4QjgwNjk4OEVGMUQ5MDFEMEQ1NworOjEwMDZBMDAwMEYxMDEwNjY4Q0UzNTgwMzBFNjkxMDY2MEY2MjBENjYxQQorOjEwMDZCMDAwMEZCQTAxRTM3QTAzMTAwNDhBOEIwM0I5MDk4OEM2QkUxNgorOjEwMDZDMDAwNkMwMzhDNkFBQTYxQUI5ODhDNkFBQjYxQUQ5ODhDNkEzQQorOjEwMDZEMDAwQUQ2MUE5OTg4QzZBQTk2MUFBOTgwNDdDOEI4QjA0N0M3MworOjEwMDZFMDAwOEQ4QjA0N0M4OThCMDQ3QzE0MDgwRTY2MDhFMzc5MDNFNworOjEwMDZGMDAwMEQwNDEwODQyMUJDMUM2OTAxQjgxQzkwODA3OTRBMDM0OAorOjEwMDcwMDAwMDNCOTA5ODg4QThCQzZCRTg4MDNBQzU0MDNCRThDNjFDQQorOjEwMDcxMDAwQUE5ODAwRUYyMEJDNDZCRTA5MDg2QjkwMEEwODZDOTBBRQorOjEwMDcyMDAwMEIwODZEOTAxQTA4NjI5MDFCMDg2MzkwMUUwODY0OTA3NQorOjEwMDczMDAwNTlCRTFFODg2NTgwNjY4MTY3ODI2ODgzNjk4NDZBODU4MAorOjEwMDc0MDAwMDBFRjIwQkM2QjY5MDk4ODZDNjkwQTg4NkQ2OTBCODhBOQorOjEwMDc1MDAwNjI2OTFBODg2MzY5MUI4ODY0NjkxRTg4NjUwMDY2MDE3RQorOjBBMDc2MDAwNjcwMjY4MDM2OTA0NkEwNTNBQkVFNworOjAwMDAwMDAxRkYKZGlmZiAtLWdpdCBhL2Zpcm13YXJlL2Vzcy9tYWVzdHJvM19hc3NwX21pbmlzcmMuZncuaWhleCBiL2Zpcm13YXJlL2Vzcy9tYWVzdHJvM19hc3NwX21pbmlzcmMuZncuaWhleApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMmMwMDMxCi0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUvZXNzL21hZXN0cm8zX2Fzc3BfbWluaXNyYy5mdy5paGV4CkBAIC0wLDAgKzEsNTEgQEAKKzoxMDAwMDAwMDgwQkYxRTEwNkU5MDZFMDA4ODhCODA2OTg4RUY2RjkwQTUKKzoxMDAwMTAwMDZGMEQwMDY5MDhFQjEyMDQyMEJDNkU2OTAxQjg2RTkwODgKKzoxMDAwMjAwMDgwNzkwMzA0MEVCOTA3ODg0M0JFMDFCRjQ3QkU0MUJFQjUKKzoxMDAwMzAwMDgwN0EyQTAwNDBCRTI5MzBDQ0VGNDFCRTgwN0EyODAwNjkKKzoxMDAwNDAwMDQwQkUyODMwQ0NFRjA3NjkwOEUzMkEwNDA5NjkyQzkwRTgKKzoxMDAwNTAwMDgwNzkyQzA0MEQ2OTJDOTAwOTEwMUE4ODBBMTAwMUJBQjUKKzoxMDAwNjAwMDFCODgwRDEwMUM4ODBFMTAwMUJBMUQ4ODgwQkZFRDAwODIKKzoxMDAwNzAwMDFFODgwQzA1MjQwMTA0QjkyNzkwMTg2OTA4RTNCMzA0MEQKKzoxMDAwODAwMDJEOTAxMzY5QTBCRjk4NzUwNEY3MkRBRUZGMDA4RDhCREUKKzoxMDAwOTAwMDE5NjkwOEUzNjMwNDFBNjkwOEUzNTYwNDA3QjkwOTg4NzMKKzoxMDAwQTAwMEM2QkU1MzA0QTkxMEFEOTA4MDc5N0MwNDAzQjkwOTg4QjkKKzoxMDAwQjAwMEM2QkU2MDA0ODkxODIyNkNBRDkwQTkxMDIzNkUyMjZDMTQKKzoxMDAwQzAwMEFEOTA4MDc5N0MwNDFBMTAwOEUzNkYwNDAzQjkwOTg4QTUKKzoxMDAwRDAwMEM2QkU2QzA0QTkxMEEwOTBBRDkwODA3OTdDMDQwMUI5RDMKKzoxMDAwRTAwMDA5ODhDNkJFN0IwNDg5MTgyMjZDQTA5MEFEOTBBOTEwMjcKKzoxMDAwRjAwMDIzNkUyMjZDQTA5MEFEOTAyRDY5MDhFMzlDMDQyNDAxMkUKKzoxMDAxMDAwMDAzQjcwMkI5MTg4ODg5OEIyQzAyOEExMDA0N0NBMDkwNEUKKzoxMDAxMTAwMDJCNjkxRjg4ODA3RTVCMDUyQTY5MDk4ODg5OEJBMDk5RDUKKzoxMDAxMjAwMDhBMTBBMDkwMkI2OTFGODg4MDdFNUIwNTJBNjkwOTg4NDgKKzoxMDAxMzAwMDg5OEJBRjk5OTk3Qjg0MDQyNDAxMEYwNjFCMTAxMzIwMkYKKzoxMDAxNDAwMDFCOTBBMEJGRkY3RjQ0RTNBQzA0MUI5MDg5OEI4MDdBOTcKKzoxMDAxNTAwMDFBMDUyNzY5MDFCQTI3OTA4MDdBMjMwNTI3NjkwOEUzRTEKKzoxMDAxNjAwMDlFMDQ4MDc5MEYwNTI0MDYyNjEwMTMyMDI2OTBBMEJGMzgKKzoxMDAxNzAwMEZGN0YwNEUzQzAwNDhEOEI4MDdBMUEwNTgwNzlCNDA0NzQKKzoxMDAxODAwMDI2OTAxMzEwMjYzMDFCOTA4RDhCODA3QTFBMDU4MDdBNkEKKzoxMDAxOTAwMDIzMDUyNzEwMDFCQTI3OTAwOEUzQjQwNDI0MDEwRjA2QjEKKzoxMDAxQTAwMDg5OEIxQTY5MDhFM0VBMDQxOTY5ODhFM0UwMDQwM0I5NTIKKzoxMDAxQjAwMDA5ODhDNkJFREQwNEEwMUZBRTJGQTk5ODgwNzkwRjA1NUYKKzoxMDAxQzAwMDAxQjkxODg4MDdCOTA5ODhDNkJFRTcwNEVFMTBBOTkwREUKKzoxMDAxRDAwMDgwNzkwRjA1MTk2OTA4RTNGRTA0MDNCOTA5ODg0NkJFNTIKKzoxMDAxRTAwMEM2QkVGQTA0QTAxNzFFQkVBRTFGQkZCRjAwRkYxM0JFREYKKzoxMDAxRjAwMERGQkY4MDgwQTk5OTQ3QkU4MDc5MEYwNTAxQjkwOTg4QzIKKzoxMDAyMDAwMEM2QkUwRTA1QTAxNkEwMjZCN0JGMDBGRjFFQkVBMDFFQ0MKKzoxMDAyMTAwMEFFMkVCRkJGMDBGRjEzQkVERkJGODA4MEE5OTkwQzg1NDMKKzoxMDAyMjAwMDBGODYwNzY5ODhFMzE2MDUwNzBEMTA4NTU5QkUxRTg4REQKKzoxMDAyMzAwMDRBQkUwMEVGMUUxMDFDOTAxRjEwMUQ5MEEwMTAxRTkwQjMKKzoxMDAyNDAwMEEwMTAxRjkwMDBFRjFFMTAxQzMwMjA5MDFCNzMyMDU0MzQKKzoxMDAyNTAwMDAzQkUyNTk4MjUxMDFDMjAyNTkwMjU3MzE0NTQwM0JFMzkKKzoxMDAyNjAwMDhFOEI4MDk4MkY2OTg4RTMzOTA1NTlCRTA3QkI4MDYxNjIKKzoxMDAyNzAwMDgwOThBMDhCMUYxMDFEMzAyMTkwMUI3MzIxNTQwM0JFNEEKKzoxMDAyODAwMDJFOTgyRTEwMUQyMDJFOTAyRTczMTU1NDAzQkU4MDk4OEMKKzoxMDAyOTAwMDJGNjk4OEUzNEYwNTU5QkUwN0JCODA2MTgwOThBMDhCMEEKKzoxMDAyQTAwMDE4NjkwOEVGMjU3MzE2NTQwM0JFQTA5ODJFNzMxNzU0Q0YKKzoxMDAyQjAwMDAzQkVBMDk4MDBFRkEwOEJDNkJFNkIwNTU5QkUwNEJCNjEKKzoxMDAyQzAwMDkwQUEwNEJFMUVCRUUwOTlFMDhCQTA2OUQwOTBBMDY5MDAKKzoxMDAyRDAwMEQwOTAxRjA4MDVCODFGODg5MDhCQTA2OUQwOTBBMDY5QTYKKzoxMDAyRTAwMDkwOTBEMDhCRDg4QjFGQkUwMEVGMDAwMDAwMDAwMDAwNjQKKzoxMDAyRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkUKKzoxMDAzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUQKKzowMjAzMTAwMDAwMDBFQgorOjAwMDAwMDAxRkYKZGlmZiAtLWdpdCBhL2Zpcm13YXJlL2loZXgyZncuYyBiL2Zpcm13YXJlL2loZXgyZncuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NjBiMTkxCi0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUvaWhleDJmdy5jCkBAIC0wLDAgKzEsMjY4IEBACisvKgorICogUGFyc2VyL2xvYWRlciBmb3IgSUhFWCBmb3JtYXR0ZWQgZGF0YS4KKyAqCisgKiBDb3B5cmlnaHQgwqkgMjAwOCBEYXZpZCBXb29kaG91c2UgPGR3bXcyQGluZnJhZGVhZC5vcmc+CisgKiBDb3B5cmlnaHQgwqkgMjAwNSBKYW4gSGFya2VzIDxqYWhhcmtlc0Bjcy5jbXUuZWR1PgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKi8KKworI2luY2x1ZGUgPHN0ZGludC5oPgorI2luY2x1ZGUgPGFycGEvaW5ldC5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPHN5cy9tbWFuLmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNkZWZpbmUgX0dOVV9TT1VSQ0UKKyNpbmNsdWRlIDxnZXRvcHQuaD4KKworCitzdHJ1Y3QgaWhleF9iaW5yZWMgeworCXN0cnVjdCBpaGV4X2JpbnJlYyAqbmV4dDsgLyogbm90IHBhcnQgb2YgdGhlIHJlYWwgZGF0YSBzdHJ1Y3R1cmUgKi8KKyAgICAgICAgdWludDMyX3QgYWRkcjsKKyAgICAgICAgdWludDE2X3QgbGVuOworICAgICAgICB1aW50OF90IGRhdGFbXTsKK307CisKKy8qKgorICogbnliYmxlL2hleCBhcmUgbGl0dGxlIGhlbHBlcnMgdG8gcGFyc2UgaGV4YWRlY2ltYWwgbnVtYmVycyB0byBhIGJ5dGUgdmFsdWUKKyAqKi8KK3N0YXRpYyB1aW50OF90IG55YmJsZShjb25zdCB1aW50OF90IG4pCit7CisgICAgICAgaWYgICAgICAobiA+PSAnMCcgJiYgbiA8PSAnOScpIHJldHVybiBuIC0gJzAnOworICAgICAgIGVsc2UgaWYgKG4gPj0gJ0EnICYmIG4gPD0gJ0YnKSByZXR1cm4gbiAtICgnQScgLSAxMCk7CisgICAgICAgZWxzZSBpZiAobiA+PSAnYScgJiYgbiA8PSAnZicpIHJldHVybiBuIC0gKCdhJyAtIDEwKTsKKyAgICAgICByZXR1cm4gMDsKK30KKworc3RhdGljIHVpbnQ4X3QgaGV4KGNvbnN0IHVpbnQ4X3QgKmRhdGEsIHVpbnQ4X3QgKmNyYykKK3sKKyAgICAgICB1aW50OF90IHZhbCA9IChueWJibGUoZGF0YVswXSkgPDwgNCkgfCBueWJibGUoZGF0YVsxXSk7CisgICAgICAgKmNyYyArPSB2YWw7CisgICAgICAgcmV0dXJuIHZhbDsKK30KKworc3RhdGljIGludCBwcm9jZXNzX2loZXgodWludDhfdCAqZGF0YSwgc3NpemVfdCBzaXplKTsKK3N0YXRpYyB2b2lkIGZpbGVfcmVjb3JkKHN0cnVjdCBpaGV4X2JpbnJlYyAqcmVjb3JkKTsKK3N0YXRpYyBpbnQgb3V0cHV0X3JlY29yZHMoaW50IG91dGZkKTsKKworc3RhdGljIGludCBzb3J0X3JlY29yZHMgPSAwOworc3RhdGljIGludCB3aWRlX3JlY29yZHMgPSAwOworCitpbnQgdXNhZ2Uodm9pZCkKK3sKKwlmcHJpbnRmKHN0ZGVyciwgImloZXgyZnc6IENvbnZlcnQgaWhleCBmaWxlcyBpbnRvIGJpbmFyeSAiCisJCSJyZXByZXNlbnRhdGlvbiBmb3IgdXNlIGJ5IExpbnV4IGtlcm5lbFxuIik7CisJZnByaW50ZihzdGRlcnIsICJ1c2FnZTogaWhleDJmdyBbPG9wdGlvbnM+XSA8c3JjLkhFWD4gPGRzdC5mdz5cbiIpOworCWZwcmludGYoc3RkZXJyLCAiICAgICAgIC13OiB3aWRlIHJlY29yZHMgKDE2LWJpdCBsZW5ndGgpXG4iKTsKKwlmcHJpbnRmKHN0ZGVyciwgIiAgICAgICAtczogc29ydCByZWNvcmRzIGJ5IGFkZHJlc3NcbiIpOworCXJldHVybiAxOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJaW50IGluZmQsIG91dGZkOworCXN0cnVjdCBzdGF0IHN0OworCXVpbnQ4X3QgKmRhdGE7CisJaW50IG9wdDsKKworCXdoaWxlICgob3B0ID0gZ2V0b3B0KGFyZ2MsIGFyZ3YsICJ3cyIpKSAhPSAtMSkgeworCQlzd2l0Y2ggKG9wdCkgeworCQljYXNlICd3JzoKKwkJCXdpZGVfcmVjb3JkcyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAncyc6CisJCQlzb3J0X3JlY29yZHMgPSAxOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQlyZXR1cm4gdXNhZ2UoKTsKKwkJfQorCX0KKworCWlmIChvcHRpbmQgKyAyICE9IGFyZ2MpCisJCXJldHVybiB1c2FnZSgpOworCisJaWYgKCFzdHJjbXAoYXJndltvcHRpbmRdLCAiLSIpKQorCSAgICBpbmZkID0gMDsKKwllbHNlCisJCWluZmQgPSBvcGVuKGFyZ3Zbb3B0aW5kXSwgT19SRE9OTFkpOworCWlmIChpbmZkID09IC0xKSB7CisJCWZwcmludGYoc3RkZXJyLCAiRmFpbGVkIHRvIG9wZW4gc291cmNlIGZpbGU6ICVzIiwKKwkJCXN0cmVycm9yKGVycm5vKSk7CisJCXJldHVybiB1c2FnZSgpOworCX0KKwlpZiAoZnN0YXQoaW5mZCwgJnN0KSkgeworCQlwZXJyb3IoInN0YXQiKTsKKwkJcmV0dXJuIDE7CisJfQorCWRhdGEgPSBtbWFwKE5VTEwsIHN0LnN0X3NpemUsIFBST1RfUkVBRCwgTUFQX1NIQVJFRCwgaW5mZCwgMCk7CisJaWYgKGRhdGEgPT0gTUFQX0ZBSUxFRCkgeworCQlwZXJyb3IoIm1tYXAiKTsKKwkJcmV0dXJuIDE7CisJfQorCisJaWYgKCFzdHJjbXAoYXJndltvcHRpbmQrMV0sICItIikpCisJICAgIG91dGZkID0gMTsKKwllbHNlCisJCW91dGZkID0gb3Blbihhcmd2W29wdGluZCsxXSwgT19UUlVOQ3xPX0NSRUFUfE9fV1JPTkxZLCAwNjQ0KTsKKwlpZiAob3V0ZmQgPT0gLTEpIHsKKwkJZnByaW50ZihzdGRlcnIsICJGYWlsZWQgdG8gb3BlbiBkZXN0aW5hdGlvbiBmaWxlOiAlcyIsCisJCQlzdHJlcnJvcihlcnJubykpOworCQlyZXR1cm4gdXNhZ2UoKTsKKwl9CisJaWYgKHByb2Nlc3NfaWhleChkYXRhLCBzdC5zdF9zaXplKSkKKwkJcmV0dXJuIDE7CisKKwlvdXRwdXRfcmVjb3JkcyhvdXRmZCk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgcHJvY2Vzc19paGV4KHVpbnQ4X3QgKmRhdGEsIHNzaXplX3Qgc2l6ZSkKK3sKKwlzdHJ1Y3QgaWhleF9iaW5yZWMgKnJlY29yZDsKKwl1aW50MzJfdCBvZmZzZXQgPSAwOworCXVpbnQ4X3QgdHlwZSwgY3JjID0gMCwgY3JjYnl0ZSA9IDA7CisJaW50IGksIGo7CisJaW50IGxpbmUgPSAxOworCWludCBsZW47CisKKwlpID0gMDsKK25leHRfcmVjb3JkOgorCS8qIHNlYXJjaCBmb3IgdGhlIHN0YXJ0IG9mIHJlY29yZCBjaGFyYWN0ZXIgKi8KKwl3aGlsZSAoaSA8IHNpemUpIHsKKwkJaWYgKGRhdGFbaV0gPT0gJ1xuJykgbGluZSsrOworCQlpZiAoZGF0YVtpKytdID09ICc6JykgYnJlYWs7CisJfQorCisJLyogTWluaW11bSByZWNvcmQgbGVuZ3RoIHdvdWxkIGJlIGFib3V0IDEwIGNoYXJhY3RlcnMgKi8KKwlpZiAoaSArIDEwID4gc2l6ZSkgeworCQlmcHJpbnRmKHN0ZGVyciwgIkNhbid0IGZpbmQgdmFsaWQgcmVjb3JkIGF0IGxpbmUgJWRcbiIsIGxpbmUpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwlsZW4gPSBoZXgoZGF0YSArIGksICZjcmMpOyBpICs9IDI7CisJaWYgKHdpZGVfcmVjb3JkcykgeworCQlsZW4gPDw9IDg7CisJCWxlbiArPSBoZXgoZGF0YSArIGksICZjcmMpOyBpICs9IDI7CisJfQorCXJlY29yZCA9IG1hbGxvYygoc2l6ZW9mICgqcmVjb3JkKSArIGxlbiArIDMpICYgfjMpOworCWlmICghcmVjb3JkKSB7CisJCWZwcmludGYoc3RkZXJyLCAib3V0IG9mIG1lbW9yeSBmb3IgcmVjb3Jkc1xuIik7CisJCXJldHVybiAtRU5PTUVNOworCX0KKwltZW1zZXQocmVjb3JkLCAwLCAoc2l6ZW9mKCpyZWNvcmQpICsgbGVuICsgMykgJiB+Myk7CisJcmVjb3JkLT5sZW4gPSBsZW47CisKKwkvKiBub3cgY2hlY2sgaWYgd2UgaGF2ZSBlbm91Z2ggZGF0YSB0byByZWFkIGV2ZXJ5dGhpbmcgKi8KKwlpZiAoaSArIDggKyAocmVjb3JkLT5sZW4gKiAyKSA+IHNpemUpIHsKKwkJZnByaW50ZihzdGRlcnIsICJOb3QgZW5vdWdoIGRhdGEgdG8gcmVhZCBjb21wbGV0ZSByZWNvcmQgYXQgbGluZSAlZFxuIiwKKwkJCWxpbmUpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwlyZWNvcmQtPmFkZHIgID0gaGV4KGRhdGEgKyBpLCAmY3JjKSA8PCA4OyBpICs9IDI7CisJcmVjb3JkLT5hZGRyIHw9IGhleChkYXRhICsgaSwgJmNyYyk7IGkgKz0gMjsKKwl0eXBlID0gaGV4KGRhdGEgKyBpLCAmY3JjKTsgaSArPSAyOworCisJZm9yIChqID0gMDsgaiA8IHJlY29yZC0+bGVuOyBqKyssIGkgKz0gMikKKwkJcmVjb3JkLT5kYXRhW2pdID0gaGV4KGRhdGEgKyBpLCAmY3JjKTsKKworCS8qIGNoZWNrIENSQyAqLworCWNyY2J5dGUgPSBoZXgoZGF0YSArIGksICZjcmMpOyBpICs9IDI7CisJaWYgKGNyYyAhPSAwKSB7CisJCWZwcmludGYoc3RkZXJyLCAiQ1JDIGZhaWx1cmUgYXQgbGluZSAlZDogZ290IDB4JVgsIGV4cGVjdGVkIDB4JVhcbiIsCisJCQlsaW5lLCBjcmNieXRlLCAodW5zaWduZWQgY2hhcikoY3JjYnl0ZS1jcmMpKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJLyogRG9uZSByZWFkaW5nIHRoZSByZWNvcmQgKi8KKwlzd2l0Y2ggKHR5cGUpIHsKKwljYXNlIDA6CisJCS8qIG9sZCBzdHlsZSBFT0YgcmVjb3JkPyAqLworCQlpZiAoIXJlY29yZC0+bGVuKQorCQkJYnJlYWs7CisKKwkJcmVjb3JkLT5hZGRyICs9IG9mZnNldDsKKwkJZmlsZV9yZWNvcmQocmVjb3JkKTsKKwkJZ290byBuZXh0X3JlY29yZDsKKworCWNhc2UgMTogLyogRW5kLU9mLUZpbGUgUmVjb3JkICovCisJCWlmIChyZWNvcmQtPmFkZHIgfHwgcmVjb3JkLT5sZW4pIHsKKwkJCWZwcmludGYoc3RkZXJyLCAiQmFkIEVPRiByZWNvcmQgKHR5cGUgMDEpIGZvcm1hdCBhdCBsaW5lICVkIiwKKwkJCQlsaW5lKTsKKwkJCXJldHVybiAtRUlOVkFMOworCQl9CisJCWJyZWFrOworCisJY2FzZSAyOiAvKiBFeHRlbmRlZCBTZWdtZW50IEFkZHJlc3MgUmVjb3JkIChIRVg4NikgKi8KKwljYXNlIDQ6IC8qIEV4dGVuZGVkIExpbmVhciBBZGRyZXNzIFJlY29yZCAoSEVYMzg2KSAqLworCQlpZiAocmVjb3JkLT5hZGRyIHx8IHJlY29yZC0+bGVuICE9IDIpIHsKKwkJCWZwcmludGYoc3RkZXJyLCAiQmFkIEhFWDg2L0hFWDM4NiByZWNvcmQgKHR5cGUgJTAyWCkgYXQgbGluZSAlZFxuIiwKKwkJCQl0eXBlLCBsaW5lKTsKKwkJCXJldHVybiAtRUlOVkFMOworCQl9CisKKwkJLyogV2Ugc2hvdWxkbid0IHJlYWxseSBiZSB1c2luZyB0aGUgb2Zmc2V0IGZvciBIRVg4NiBiZWNhdXNlCisJCSAqIHRoZSB3cmFwYXJvdW5kIGNhc2UgaXMgc3BlY2lmaWVkIHF1aXRlIGRpZmZlcmVudGx5LiAqLworCQlvZmZzZXQgPSByZWNvcmQtPmRhdGFbMF0gPDwgOCB8IHJlY29yZC0+ZGF0YVsxXTsKKwkJb2Zmc2V0IDw8PSAodHlwZSA9PSAyID8gNCA6IDE2KTsKKwkJZ290byBuZXh0X3JlY29yZDsKKworCWNhc2UgMzogLyogU3RhcnQgU2VnbWVudCBBZGRyZXNzIFJlY29yZCAqLworCWNhc2UgNTogLyogU3RhcnQgTGluZWFyIEFkZHJlc3MgUmVjb3JkICovCisJCWlmIChyZWNvcmQtPmFkZHIgfHwgcmVjb3JkLT5sZW4gIT0gNCkgeworCQkJZnByaW50ZihzdGRlcnIsICJCYWQgU3RhcnQgQWRkcmVzcyByZWNvcmQgKHR5cGUgJTAyWCkgYXQgbGluZSAlZFxuIiwKKwkJCQl0eXBlLCBsaW5lKTsKKwkJCXJldHVybiAtRUlOVkFMOworCQl9CisKKwkJLyogVGhlc2UgcmVjb3JkcyBjb250YWluIHRoZSBDUy9JUCBvciBFSVAgd2hlcmUgZXhlY3V0aW9uCisJCSAqIHN0YXJ0cy4gRG9uJ3QgcmVhbGx5IGtub3cgd2hhdCB0byBkbyB3aXRoIHRoZW0uICovCisJCWdvdG8gbmV4dF9yZWNvcmQ7CisKKwlkZWZhdWx0OgorCQlmcHJpbnRmKHN0ZGVyciwgIlVua25vd24gcmVjb3JkICh0eXBlICUwMlgpXG4iLCB0eXBlKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgaWhleF9iaW5yZWMgKnJlY29yZHM7CisKK3N0YXRpYyB2b2lkIGZpbGVfcmVjb3JkKHN0cnVjdCBpaGV4X2JpbnJlYyAqcmVjb3JkKQoreworCXN0cnVjdCBpaGV4X2JpbnJlYyAqKnAgPSAmcmVjb3JkczsKKworCXdoaWxlICgoKnApICYmICghc29ydF9yZWNvcmRzIHx8ICgqcCktPmFkZHIgPCByZWNvcmQtPmFkZHIpKQorCQlwID0gJigoKnApLT5uZXh0KTsKKworCXJlY29yZC0+bmV4dCA9ICpwOworCSpwID0gcmVjb3JkOworfQorCitzdGF0aWMgaW50IG91dHB1dF9yZWNvcmRzKGludCBvdXRmZCkKK3sKKwl1bnNpZ25lZCBjaGFyIHplcm9lc1s1XSA9IHswLCAwLCAwLCAwLCAwfTsKKwlzdHJ1Y3QgaWhleF9iaW5yZWMgKnAgPSByZWNvcmRzOworCisJd2hpbGUgKHApIHsKKwkJdWludDE2X3Qgd3JpdGVsZW4gPSAocC0+bGVuICsgOSkgJiB+MzsKKworCQlwLT5hZGRyID0gaHRvbmwocC0+YWRkcik7CisJCXAtPmxlbiA9IGh0b25sKHAtPmxlbik7CisJCXdyaXRlKG91dGZkLCAmcC0+YWRkciwgd3JpdGVsZW4pOworCQlwID0gcC0+bmV4dDsKKwl9CisJLyogRU9GIHJlY29yZCBpcyB6ZXJvIGxlbmd0aCwgc2luY2Ugd2UgZG9uJ3QgYm90aGVyIHRvIHJlcHJlc2VudAorCSAgIHRoZSB0eXBlIGZpZWxkIGluIHRoZSBiaW5hcnkgdmVyc2lvbiAqLworCXdyaXRlKG91dGZkLCB6ZXJvZXMsIDUpOworCXJldHVybiAwOworfQpkaWZmIC0tZ2l0IGEvZmlybXdhcmUvaW50ZWxsaXBvcnQyLmJpbi5paGV4IGIvZmlybXdhcmUvaW50ZWxsaXBvcnQyLmJpbi5paGV4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU5Y2ZlOGMKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9pbnRlbGxpcG9ydDIuYmluLmloZXgKQEAgLTAsMCArMSwyMTQ3IEBACis6MTAwMDAwMDAzQzQyMzcxODAyMDEwMzAwMDAwMDAwMDAwMDAwMDAwMDFECis6MTAwMDEwMDA1NzY1NjQyMDQ0NjU2MzIwMzAzMTIwMzEzMjNBMzIzNEYwCis6MTAwMDIwMDAzQTMzMzAyMDMxMzkzOTM5MDAwMDAwMDAwMDAwMDAwMDM3Cis6MTAwMDMwMDBFOTZDMEY0MjY1NDc2OTRFNkU0OTZFNDcyMDZGNDYyMDU2Cis6MTAwMDQwMDA2MzRGNjQ0NUNDMTM1QTE1RTgxNjc2MTgwNDFBOTIxQkIwCis6MTAwMDUwMDAyMDFEQUUxRTNDMjBDQTIxNTgyM0U2MjQ3NDI2MDIyODA3Cis6MTAwMDYwMDA5MDI5MUUyQkFDMkMzQTJFQzgyRjU2MzFFNDMyNzIzNDE0Cis6MTAwMDcwMDAwMDM2OEUzNzFDMzlBQTNBMzgzQ0M2M0Q1NDNGRTI0MDIwCis6MTAwMDgwMDA3MDQyRkU0MzhDNDUxQTQ3QTg0ODM2NEFDNDRCNTI0RDJECis6MTAwMDkwMDBFMDRFNkU1MEZDNTE4QTUzMTg1NUE2NTYzNDU4QzI1OTNBCis6MTAwMEEwMDA1MDVCREU1QzZDNUVGQTVGODg2MTE2NjNBNDY0MzI2NjQ2Cis6MTAwMEIwMDBDMDY3NEU2OURDNkE2QTZDRjg2RDg2NkYxNDcxQTI3MjUzCis6MTAwMEMwMDAzMDc0QkU3NTRDNzc2Qzc3OEM3N0FDNzczM0RCOEFEQzE5Cis6MTAwMEQwMDA1MzMzREIyNTA3MDA3NTBBOEExRTA4MDE4M0UzMENFQjA2Cis6MTAwMEUwMDAyMDkwM0MwMTc1MEE4QTFFMDgwMTgwRTNDMEVCMTI5MDQzCis6MTAwMEYwMDA4QTFFMEQwMTNDMDI3NTA2ODBFMzBDRUIwNDkwODBFMzQwCis6MTAwMTAwMDBDMDUzNTA4QjFFQkExMzhFREJFODZBNjU1NThCRUM1M0Q3Cis6MTAwMTEwMDAxRTJCQzA4RUQ4OEI1RTA0QzFFMzA0MDM1RTA2RDFFM0MwCis6MTAwMTIwMDAyRThCOUY0NDAwOEQ0NzJBMUU1QTFGNUI1REMzNTU4QjQzCis6MTAwMTMwMDBFQzUzMUUyQkMwOEVEODhCNUUwNEMxRTMwNDAzNUUwNjE1Cis6MTAwMTQwMDBEMUUzMkU4QjlGNDQwMDhENDczNDFFNUExRjVCNURDMzQ1Cis6MTAwMTUwMDBGQjU1OEJFQzUzNTE1MjU2NTcxRTA2MUUwNzMzQzA4RTZCCis6MTAwMTYwMDBEODhCNUUwNDI2OEE0NzU5MjUwMzAwOEJGMEQxRTYyRUYyCis6MTAwMTcwMDA4QkI0QzQwMEMxRTAwNDI2MDI0NzFBRDFFMDhCRTgyRUZDCis6MTAwMTgwMDA4QkFFNDQwMDg5MkMyNjhBNDcxQzg4NDQwRjI2OEE0NzU4Cis6MTAwMTkwMDAxRDg4NDQxMDI2OEE0NzFFODg0NDExMjY4QTQ3MUY4OEQ2Cis6MTAwMUEwMDA0NDEyMjY4QTQ3MjA4ODQ0MTMyNjhBNDcyMzg4NDQxNDA5Cis6MTAwMUIwMDAyNjhBNDcyNDg4NDQxNTI2OEE0NzVBODg0NDBFMzNDMDI1Cis6MTAwMUMwMDA4OTQ0MDY4OTQ0MDg4ODQ0MEI4ODQ0MEFCMDIxQjQ2NEYxCis6MTAwMUQwMDA4OTQ0MDQ4OTQ0MDJCMDU1ODg0NDBEODg0NDBDRTg2QTc3Cis6MTAwMUUwMDAwMDcyNUJFOEM5MDBFOEMxMTA4OTQ0MDg4MDdDMEYwMUY3Cis6MTAwMUYwMDA3NDI5RTgyQjAyRTg3RjAyODA3QzBGMDM3NDFERThBOUI0Cis6MTAwMjAwMDAxMDhCRjgyQjQ0MDgzREEwMEY3MjEwODk3QzA4MzNDMDc2Cis6MTAwMjEwMDA4NzQ0MDY4NUMwNzUwNEM2NDQwQUZGOEE0NDBBODRDMDIwCis6MTAwMjIwMDA3NTBCQjgwODAwRTg2QTRBRThBOTAxNzNCRkU4NEYwMUY2Cis6MTAwMjMwMDA4MTY2NDg3RkZGODM2NjdBQkZCMDAyRTgwNDBFOEE0NDc1Cis6MTAwMjQwMDAwQTk4MDcxRjVGNUU1QTU5NUI1REMzODE0RTQ4ODAwMDY0Cis6MTAwMjUwMDBCMDQwRTgzRDRBRTg4OTQwNzMyQUU4NEQxMDhCRDhCMDk5Cis6MTAwMjYwMDAwNUU4MkU0QUY2NDYyNzAyNzUxQUU4M0QxMDJCQzMzREQ1Cis6MTAwMjcwMDA1ODFCNzJFQjgxNjY0ODdGRkZCMDAyRThDNDBEQzY0NDhDCis6MTAwMjgwMDAwQTAxRjlDMzgzNEU3QTQwRjhDM0ZCQjAwMUU4MDI0QTgxCis6MTAwMjkwMDBGQUU4OTkxRUU0MEE4NEMwNzVGMEIwNEVFNjBBRkJCMDk1Cis6MTAwMkEwMDAwMUU4RUU0OUZBRTg4NTFFRTQwQTg0QzA3NUYwQzNGQTU1Cis6MTAwMkIwMDBFODdBMUVFNEVDODg0NDE2RTRFNDg4NDQxN0U0Rjg4OEZECis6MTAwMkMwMDA0NDE4RTRGMDg4NDQxOUU0MTA4ODQ0MUFFNDEyODg0NDdECis6MTAwMkQwMDAxQkU0MTQ4ODQ0MUNFNDM0ODg0NDFERTQzNjg4NDQxRTFFCis6MTAwMkUwMDBFNEQ4MjQwMThBRTBFNERBMjQwMjBBQzQ4ODQ0MUY4QTlDCis6MTAwMkYwMDA0NDEwRThDRDFGOEE0NDExRTgzNTIxOEE0NDEyRTg4OTY4Cis6MTAwMzAwMDAyMThBNDQxM0U4NDMyMUM2ODZBMTAwMDBFNDE0MjQxMDg2Cis6MTAwMzEwMDBFNjE0RTQxMjI0M0RFNjEyOEE0NDE1M0MwMTcyMUU3NzZECis6MTAwMzIwMDAxNkIwMTFFNjM0QjAxM0U2MzZFNDE0MEMxMEU2MTRFNDBCCis6MTAwMzMwMDAxMjBDNDBFNjEyRUIwNkU0MTIwQzAyRTYxMjhBNDQwRjlECis6MTAwMzQwMDAzQzAxNzQwNjNDMDI3NDBBRUIwRUU0MTIwQzA4RTYxMjNGCis6MTAwMzUwMDBFQjA2RTQxMjBDMTBFNjEyRTgyRkZGOEE0NDE0M0MwMjZDCis6MTAwMzYwMDA3NTA4QjA1NTg4NDQwQzg4NDQwREIwMjFCNDY0ODk0NEE0Cis6MTAwMzcwMDAwNDg5NDQwMkU0MEMwQzEwRTYwQ0U4RUQzOUZCQzNFOEY4Cis6MTAwMzgwMDA1RjNGNzMwOEZCQjAwQUU4MDg0OUVCRjNGQUU4OUQxREVDCis6MTAwMzkwMDA4QTY0MTY4QTQ0MTc4OTg2OTQwMEU2RTQ4QUM0RTZFQ0U3Cis6MTAwM0EwMDA4QTY0MTg4QTQ0MTk4OTg2OTYwMEU2RjA4QUM0RTZGOEI5Cis6MTAwM0IwMDA4QTQ0MUFFNjEwOEE0NDFCRTYxMjhBNDQxQ0U2MTQ4QTEwCis6MTAwM0MwMDA0NDFERTYzNDhBNDQxRUU2MzY4QTQ0MUZFNkQ4RTZEQTNGCis6MTAwM0QwMDBFOUI3RkU5MEZBOEE0NDBFRTZGRUU0MDJBODAxNzUwNTJDCis6MTAwM0UwMDAzM0MwRkJGOEMzMzNDMEU0MDBGQkY5QzM4QTY0MTQ4MDU0Cis6MTAwM0YwMDBGQzAyNzQyQkZFQzBGRUM3ODBGRjRFNzIxQzc0MDk4MDg1Cis6MTAwNDAwMDBGRjUwNzMwOEIwMEFFQjE3QjAwREVCMTMwMkRDMzJGRjlDCis6MTAwNDEwMDA4MEZCN0Y3QzAyQjMyMThBQzMzQzdGN0MwMkIwMjFDMzc2Cis6MTAwNDIwMDBGQTgwN0MwQjA0NzYwMkZCQzM4QjQ2MjQzRDA4MDA3MkU1Cis6MTAwNDMwMDBGNjhFNDYwMjhCN0UyMjhBNDQwQzhCNUMwMkFBRThBQkM1Cis6MTAwNDQwMDBGRkFBRThBN0ZGQUFFOEEzRkZBQUU4OUZGRjg4NDQwQzM5Cis6MTAwNDUwMDA4OTVDMDI4MDQ0MEIwNDg5N0UyMjgzNkUyNDA0ODM0NkQ3Cis6MTAwNDYwMDAxQTA0ODA3RTI2MDI3NDA2ODA2NjI2RkRGQkMzNjBCMEY3Cis6MTAwNDcwMDBGREU4MDIzRjYxRkJDM0ZBODA3QzBGMDM3NTA5QzY0NEE3Cis6MTAwNDgwMDAwQjAwRThFNTM4RkJDM0M0N0UxNDhCNEUzQTg1Qzk3NTcyCis6MTAwNDkwMDAzNTI2OEIwRDQ3NDdFM0VBM0I3RTA0NzYyMkI4MDIwMEZGCis6MTAwNEEwMDAzOTQ2MkU3NzA3Qzc0NjJFMDAwMEVCMTM4QjVFMkM4OTRBCis6MTAwNEIwMDA1RTA0MjZDNzA3MDAwMDQzNDM4OTVFMkMyOTQ2MkU4NTJCCis6MTAwNEMwMDBDOTc4Q0U4OTRFM0E4QTQ0MEQ4QjVDMDQyNjhBMjU0NzJBCis6MTAwNEQwMDAzQUM0NzUxNkZFNEMwQkZGNDQwNkU4MEZGRkUyRUQ4OEE4Cis6MTAwNEUwMDA0NDBEODk1QzA0ODk0RTNBRUJBN0M2NDQwQUZFRTg3OUJDCis6MTAwNEYwMDAzOEZCQzM5MEU4QjMwRDhBRTg4QTBFQ0IxM0IzMDc4QUEyCis6MTAwNTAwMDBDMUVFRUIwMEVDM0FDMTc1MDkwMkNERkVDQjc1RjBFQjA0Cis6MTAwNTEwMDAwQzkwODgwRUNCMTM4QUU4QkJGRkZGRjlDMzg4MEVDQjgzCis6MTAwNTIwMDAxM0Y4QzM5MEJCM0YzRjhBOEU5RTAwQkFGRTAwRUM4QTUwCis6MTAwNTMwMDBFODMyQzEyMkMzNzUwMkY4QzNGOUMzOTBFOEU1RkY3MzNFCis6MTAwNTQwMDAwMUMzQkFEMDAwQkIwMzAzOEE4RTlGMDBFQzhBRTgzMjU1Cis6MTAwNTUwMDBDMTIyQzM3NTAyRjhDM0Y5QzM5MDMzQzA4RUQ4OEVDMEQwCis6MTAwNTYwMDA4MDNFQzgxMzAwNzUwN0IwMEFFODI2NDdFQkYyRkIzMzVDCis6MTAwNTcwMDBEQjhBMUVDOTEzNDM0MzgzRkI3RTc2MDczM0RCQjAwMjVECis6MTAwNTgwMDBFODBGNDcyRThCQUY0NDAwODM3RTA4MDA3NEU3ODgxRTc3Cis6MTAwNTkwMDBDOTEzQjAwMkU4RkI0NkZBRjc0NjM4NDAwMDc0MTRFODg1Cis6MTAwNUEwMDA5NjFCRTg3RkZGNzIxQzMzRDI4QTk2OUYwMDgzQzIwRThGCis6MTAwNUIwMDBFQjBDOTBFODc3MUJFODgzRkY3MjA4QkE0ODAwRTgzMzM5Cis6MTAwNUMwMDBGRjczQUIyM0NCODk4RTlBMDA4OTk2OUMwMEZFODZCNTdCCis6MTAwNUQwMDAwMEM2MDZDODEzMDBCMDBBRTg2NzBBRkJFQjg5MTAxOENBCis6MTAwNUUwMDAwODI4MzNDMEEwMDUwMThBQzgyNDQwNzUyNEM3MDY3Q0FBCis6MTAwNUYwMDAxMjhFNDVDNzA2NDIxMjAxMDBDNjA2NTQxMjAyQjAwODA4Cis6MTAwNjAwMDBGNkMxMDE3NDAyQjAwNEEzNDYxMkEyNEMxMkEyOTQxMkM1Cis6MTAwNjEwMDBDM0M3MDY3QzEyQjY0NUEwMEYwMTg0QzA3NTBFNkEwMEUwCis6MTAwNjIwMDAxRkM2MDY5MzEyMUU5QzBFRThCMTBDOTBDNzA2NDQxMjFBCis6MTAwNjMwMDAwMTAwQTM0MjEyOEJEOEMxRTMwNDg4MUU5NDEyQkVFMkNCCis6MTAwNjQwMDAwNTJCRjA4QkM4MzNEQjhCRkIyRUFDODg4NTQ4MTI4QUQ4Cis6MTAwNjUwMDBEODBDMDVFNkZFOEFFMEVCMDBFNEZFMzJDNEE4M0Y3NDQ1Cis6MTAwNjYwMDAwM0U5OUUwMEU0MDA4ODg1NTAxMjhBRTAyNDMwQkExMDI1Cis6MTAwNjcwMDBGRjNDMzA3NDEyODBGQzA0NzQwQUJBMDQwM0Y2MDYwOEM2Cis6MTAwNjgwMDAwMUZFNzQwM0JBMDgwRjg4OTU0QzEyMDJGQTMyQzBGNkM0Cis6MTAwNjkwMDBDNDA4NzQwMkIwMDE4ODg1NTgxMjhBQzQzQzM1NzQ1QjYyCis6MTAwNkEwMDAzQzM2NzQ1NzNDMzQ3NDUzM0MwNDc0NEYzQzE0NzQ0QkM0Cis6MTAwNkIwMDAzQzE1NzQ0N0E4NDA3NDI1QzY4NTU0MTIwNEQxRTdCNDhDCis6MTAwNkMwMDAwMzhBQzM4OTg1NUMxMjhBQzM4QUUzODBDQzAxODk4NTQ5Cis6MTAwNkQwMDA2NDEyRDFFRjQ3RTIwM0VCMUE5MEU5NkNGRkM2ODU1NDMwCis6MTAwNkUwMDAxMjAyRDFFNzhBRTY4QUMzMEMwNDg5ODU1QzEyRDFFRjM1Cis6MTAwNkYwMDA0N0UyRTczM0MwOEFDN0EzNDYxMkMzQzY4NTU0MTIwNjMxCis6MTAwNzAwMDBFQkJCQzY4NTU0MTIwMDMzQzA4ODg1NTAxMjg4ODU0Q0Q3Cis6MTAwNzEwMDAxMjg4ODU1ODEyRUJBNkM3NDYyNjAyMTI4QjQ2MUU4OTAwCis6MTAwNzIwMDA0NjAwODk0NjIyOEI0NjIwODk0NjI0Qzc0NjFBMDAwMDg3Cis6MTAwNzMwMDBDM0M3NDYzQzgwMDBDNzQ2MzgwMTAwMUU1NjhCNzYzMDQyCis6MTAwNzQwMDA4OTc2MDQ4OTc2MTQ4RTVFMDYzM0MwODkwNDQ2NDY4OTBDCis6MTAwNzUwMDA3NjJDODk0NjNBOEI0NjMyNDg0ODg5NDYyRTVFMUZDMzFFCis6MTAwNzYwMDAzM0MwODk0NjQ4ODk0NjRBQzc0NjQ2QUUwMTg5NDY0RTQ3Cis6MTAwNzcwMDA4QjQ2NDQ4OTQ2NTA4QjQ2NDI4OTQ2NDA4OTQ2MDhDMzg5Cis6MTAwNzgwMDAzM0MwODk0Njc2ODk0Njc4Qzc0NjdBMTAwMDU2MUU4QjU0Cis6MTAwNzkwMDA3NjcwODk3NjEwODk3NjBDOEU1RTEyQzcwNDAwMDA4QjA1Cis6MTAwN0EwMDA0NjcyODk0Njc0MUY1RUMzODk1NjE4ODk1NjAyODk1NjU3Cis6MTAwN0IwMDAwNjg5NTYwQTg5NTYwRTg5NTYxMjg5NTYxNjhCRDg0QkM5Cis6MTAwN0MwMDA0QkMxRTMwMkJGMDIwMDg5N0UxRTAzRkI4OTdFMzAwMzFBCis6MTAwN0QwMDBGQjg5N0U0MjAzRkI4OTdFNzA4M0VCMDg4OTVFMjA4OTVBCis6MTAwN0UwMDA1RTMyODk1RTQ0ODk1RTcyNTBFODJCRkZFODcxRkZFODUzCis6MTAwN0YwMDAzRkZGRTg4QkZGNThDM0I4MzA3NUMxRTgwNDBFNUIwM0I4Cis6MTAwODAwMDBDM0EzQkExMzgzM0U0MjEyMDA3NDA3ODAzRTk0MTIwMEMxCis6MTAwODEwMDA3NTBFNkEwMDFGQzYwNjkzMTIxRTlDMEVFOEJEMEE5MDU0Cis6MTAwODIwMDBCODMwN0FDMUU4MDQ0MEEzQzAxMzJCMDYxMjAxRjdEOEYwCis6MTAwODMwMDAzM0QyOEJDQThBMEU5NDEyRjdGMTNEODAwMDc3MEU2QThDCis6MTAwODQwMDAwMDFGQzYwNjkzMTIyNTlDMEVFODkwMEE5MDQ4M0RGRkIzCis6MTAwODUwMDAwNzcyMDNCOEZGMDdBM0MyMTMzM0M5OEEwRTk0MTIzMzc5Cis6MTAwODYwMDBGNkI4MDAwOTJFOEJBQzQ0MDA4OTQ2NEM0MDQ2NDZFMjVGCis6MTAwODcwMDBGMzhBMEU5NDEyMzNGNjhCMTZDMDEzQTFDMjEzMkU4QjdCCis6MTAwODgwMDBBQzQ0MDBFODIyRkYwM0QwNDY0NkUyRjJDMzMzQzAyRTU4Cis6MTAwODkwMDA4QkFENDQwMDg5NDYwODQ3NDdFMkY0QzM1MTMzQzAwQTkwCis6MTAwOEEwMDBDMjJFOEJBRDQ0MDA4OTg2OUUwMDgxNEUzODAwMjA0N0MxCis6MTAwOEIwMDA0N0ZFQzQ4MEZDMDQ3MjA0MzJFNEZFQzBFMkUzNTk4M0M0Cis6MTAwOEMwMDBFOTEwNzQwNUY3RDlFOEM0RkZDMzUxMzNDMDBBQzIyRTNBCis6MTAwOEQwMDA4QkFENDQwMDg5ODY5RTAwODM0RTM4NDA0NzQ3ODBDNEQ0Cis6MTAwOEUwMDAxMDc5MDQzMkU0RkVDMEUyRTY1OTgzRTkxMDc0MDVGNzlBCis6MTAwOEYwMDBEOUU4OTlGRkMzRThEMkZGQzM4RDA4OUMwOENBMDhGNTYwCis6MTAwOTAwMDAwODhCMEU0MjEyMzNGNjUxNTYzM0RCOEJDQjhBOTQ0ODU4Cis6MTAwOTEwMDAxMjhBOEM0QzEyOEE5QzU0MTI4QkZFQzFFNzA1ODVEQjJGCis6MTAwOTIwMDA3NTAyQjExMDJFRkY5N0Y5MDg1RTU5NDZFMkQ5QzMwMTRFCis6MTAwOTMwMDBDQzAzRDAwMEU4MDJEMDAwRTgwMUQwMDBFODAwRDAwMEVECis6MTAwOTQwMDBFODA0RDBBOERBMDBEQzAwREUwMUQ4MDNDQzAzQ0MwMzM1Cis6MTAwOTUwMDBDQzA0RDBBOERBMjBEQzAwREUwM0NDMDNDQzAzQ0MwMDJFCis6MTAwOTYwMDBEODAzQ0MwM0NDMDNDQzAzQ0MwM0NDMDNDQzAzQ0MwMzAzCis6MTAwOTcwMDBDQzAzQ0MwM0NDMDNDQzAzQ0MwM0NDMDNDQzAzQ0MwM0ZGCis6MTAwOTgwMDBDQzA0RDAwMERBMjBEQzAzREUwMUQ4MDNDQzAzQ0MwMzk2Cis6MTAwOTkwMDBDQzAzQ0MwMEQ4MDBDQzAwRDAwMDAwNTY1MjFFMEUxRjU1Cis6MTAwOUEwMDBCRTJGMDkzM0QyRkNBRDg1QzA3NDBEOEFENEVFQUQ4NTVGCis6MTAwOUIwMDBDMDc0MDU4QUQ0RUVFQkVFMUY1QTVFQzNFNDgwODRDMDk3Cis6MTAwOUMwMDA3NDE2NzgxNEIwMjdFNkZDQjAxMUU2MzRFNEZDM0MyNzNBCis6MTAwOUQwMDA3NTA2RTQxMTc1MDJGOEMzRjlDMzgzQzIwNkIwQkZFRTExCis6MTAwOUUwMDA4M0VBMDJCMDEwRUU4ODg2QUYwMEIwMTE4M0MyMDRFRTM1Cis6MTAwOUYwMDA4M0MyMDJFRUIwMTM4M0MyMDJFRTgzQzIwMkVFMkVBMUM2Cis6MTAwQTAwMDA0QzJEODk4Njk0MDA4M0VBMEVFRTgzQzIwMjhBQzRFRURFCis6MTAwQTEwMDA4M0MyMDRCMDAzRUU4ODg2QTgwMDgzRUEwNDMyQzBFRUU1Cis6MTAwQTIwMDA4M0MyMDJCMDg5RUU4ODg2QTYwMDBDMDZFRUIwNDBCNDAwCis6MTAwQTMwMDAzODg5NDYxQ0M3NDYzNjM4MDA4M0MyMDQzMkMwRUU4ODY3Cis6MTAwQTQwMDA4NkE3MDBDMzgzQzIwNkIwQkZFRTgzRUEwMkVDM0E4NkYzCis6MTAwQTUwMDBBRjAwNzUyNDgzQzIwNEVDM0MxMTc1MUM4M0MyMDZFQzA0Cis6MTAwQTYwMDAzQzEzNzUxNDgzRUEwODhBODZBODAwRUU4M0VBMDJFQzM4Cis6MTAwQTcwMDAyNEMwM0NDMDc1MDJGOEMzRjlDMzMzQzk4QkQxOEJGMUQ0Cis6MTAwQTgwMDA4QTBFOTQxMkMxRTkwMjJFOEJBQzQ0MDBGNzQ2MzgwMDVFCis6MTAwQTkwMDAyMDc0MEU4QTg2OUUwMEU2RkUzMkMwRTY4MDQyRThGQUE2Cis6MTAwQUEwMDBGRTgzQzYwOEUyRTE4NUQyNzQwM0U4MDUwOEMzMzNDOUIyCis6MTAwQUIwMDA4QkYxOEEwRTk0MTIyRThCQUM0NDAwRjc0NjM4NDAwMDFFCis6MTAwQUMwMDA3NDA2RTg3MzE2RTgxMkZGNDY0NkUyRUFDMzMzQzk4QkEwCis6MTAwQUQwMDBGMThBMEU5NDEyQzFFOTAyMkU4QkFDNDQwMEY3NDYzODFECis6MTAwQUUwMDAwMDIwNzQxNkU4NDYxNkU4RDJGRTczMEU2QTAwMUZDNjkwCis6MTAwQUYwMDAwNjkzMTIxQzlDMEVFOEUzMDc5MDgzQzYwOEUyRDlDMzU0Cis6MTAwQjAwMDAzM0M5OEJGMThBMEU5NDEyMkU4QkFDNDQwMEY3NDYzODExCis6MTAwQjEwMDA0MDAwNzQxNkU4MjExNkU4MkFGRjczMEU2QTAwMUZDNjBCCis6MTAwQjIwMDAwNjkzMTIxQzlDMEVFOEIzMDc5MDQ2NDZFMkRBQzMwQzBCCis6MTAwQjMwMDAwMDAwMTAwMDEzMTIwMDAwMTQwMDI4M0MwMDFCM0UwMEFGCis6MTAwQjQwMDAwMDJBMDAwMDJDMDAwMDQyMDAxNEQ4MDAwMERBMDAwMDQ3Cis6MTAwQjUwMDAzNDAwMTEzNjAwMTMzODAwMTEzQTAwMTMwMDAwNTY1MENCCis6MTAwQjYwMDA1MkJFMkYwQjJFQUQ4NUMwNzQwNjkyMkVBQ0VFRUJGNDY4Cis6MTAwQjcwMDA1QTU4NUVDMzUzMkVBMTYwMjJFNkU0RTZGMDhBQzRFNjJBCis6MTAwQjgwMDBFQ0U2RjhFOEQ4RkZCMDRCRTYxMEIwNTBFNjEyQjAzODBCCis6MTAwQjkwMDBFNjE0RThBRTE1QjA0NkU2MEFFOEE3MTVCMDFBRTYwQTZDCis6MTAwQkEwMDBFOEEwMTVCMDIyRTYwQUU4OTkxNUU4RkQwNjhCRDhFNDFFCis6MTAwQkIwMDAxNkE4MDQ3NTE4RThGMjA2MkJDMzNEMzIwMDcyRjA2QURECis6MTAwQkMwMDAwMDFGQzYwNjkzMTIyMzlDMEVFODEwMDc5MEU4REEwNjcxCis6MTAwQkQwMDAyQkMzM0QyNDAwNzcxQkIwMzFFNkZDNTY1MTU1QjkxMEFDCis6MTAwQkUwMDAwMDJFOEJBQzQ0MDA4MTRFMzg4MDAwNDY0NkUyRjI1RDE4Cis6MTAwQkYwMDA1OTVFRTg2OUZGRTg0QjE1QjA0NkU2MEFFODQ0MTU1QjI0Cis6MTAwQzAwMDBDMzMzRjY4QjBFNDIxMjJFOEJBQzQ0MDBGNzQ2MzgwMEVECis6MTAwQzEwMDAyMDc0MDZFODE3MTVFODVCRkY4M0M2MjBFMkU5QzM4QjYyCis6MTAwQzIwMDBDMjA1MDQwMDg5NDYyODJFQTE0QzJEODk4NjhFMDA4OTk0Cis6MTAwQzMwMDA4NjkwMDA4OTg2OTIwMEM2ODZBMzAwMEFDNjg2QzMwMEY1Cis6MTAwQzQwMDAwMzUyODNDMjA0OEE4NkE2MDAwQzA2RUU1QTgzQzIwMkFGCis6MTAwQzUwMDBCMDA1RUU4ODg2QTUwMEMzRTgwM0ZGRThFNTE0QjA0MkJFCis6MTAwQzYwMDBFNjBBRjc0NjM4ODAwMDc0MDYyRUExOUMyMkVCMDQyRTdCCis6MTAwQzcwMDBBMTZDMjJDNzQ2MUMwQzAwODk4Njk0MDA4OTg2OTYwMEM4Cis6MTAwQzgwMDA4OTg2OEUwMDg5ODY5MDAwODk4NjkyMDBFNkYwRTZFNEU3Cis6MTAwQzkwMDA4QUM0RTZGOEU2RUNDNjg2QzMwMDAzRThBNTE0QjAxQUQ5Cis6MTAwQ0EwMDBFNjBBQjAxMDg4ODZBNTAwRTYwQ0MzMzNDOThCRjE4QTJBCis6MTAwQ0IwMDAwRTk0MTIyRThCQUM0NDAwRjc0NjM4NDAwMDc0MDZFOEMwCis6MTAwQ0MwMDA3NjE0RTg1QUZGNDY0NkUyRUFDMzMzQzk4QkYxOEEwRTJFCis6MTAwQ0QwMDA5NDEyMkU4QkFDNDQwMEY3NDYzODAwMjA3NDA2RTg0QzgyCis6MTAwQ0UwMDAxNEU4NzRGRjQ2NDZFMkVBQzM5MDgzM0U0NDEyMDA3NTVFCis6MTAwQ0YwMDAxNEIwMDFCQTA2MDFFRTJBQzBFRUIwMDJFRUIwMDRFRTY2Cis6MTAwRDAwMDBCODAwMDJFQjBGQkEwNjAxQjA0MEVFQjgwMTAwOEEwRTNGCis6MTAwRDEwMDAwRTAxRDNFMEEzODgxMkMzQTE4ODEyQTM4NDEyMkQyMDUwCis6MTAwRDIwMDAwMEEzOEExMjJEMjAwMEEzODIxMkM3MDY4NjEyMjAwMDdCCis6MTAwRDMwMDBDNzA2ODAxMjMyMDBDMzgzM0U0NDEyMDA3NDc2OEIwRUM1Cis6MTAwRDQwMDA0MjEyMzNGNjhBQTQ1NDEyODRFNDc0NUY4QTg0NDgxMkVGCis6MTAwRDUwMDAwQzA0RTZGRUY2QzQwNDc0MjVCMDFCQkEwMDAwRUVFQkVBCis6MTAwRDYwMDAwMDJBQzBCQTAyMDBFRUVCMDBCMDAzRUVFQjAwMzJDMDg2Cis6MTAwRDcwMDBCQTAyMDBFRUVCMDBCQTAwMDBCMDAwRUVFQjJEQjAxRjlGCis6MTAwRDgwMDBCQTAwMDBFRUVCMDAyQUMwQkEwMjAwRUVFQjAwQjAwMzlFCis6MTAwRDkwMDBFRUVCMDBEMUU2OEE4NDVEMTJEMUVFRjZEMEJBMDIwMDA1Cis6MTAwREEwMDBFRUVCMDBCQTAwMDBCMDBBRUVFQjAwRTQwNEVCMDBFNDY2Cis6MTAwREIwMDAwNDQ2RTI5MEMzOTBCODE0MDBCQTNFRkZFRkI4MDYwMEI0Cis6MTAwREMwMDBCQTMyRkZFRkI4MEYwMEJBMzRGRkVGQkEzNkZGRUY4MzQ1Cis6MTAwREQwMDAzRTQ0MTIwMDc1MTZCODExMDBCQTM4RkZFRkI4MTIwMDgxCis6MTAwREUwMDBCQTNBRkZFRkI4MUIwMEJBM0NGRkVGQzNCODExMDBCQTI0Cis6MTAwREYwMDAzOEZGRUZCODEyMDBCQTNBRkZFRkI4MUIwMEJBM0NGRjU5Cis6MTAwRTAwMDBFRkMzQjhGQzAwQkEyOEZGRUZGQjgzM0U0NDEyMDA3NDI2Cis6MTAwRTEwMDAwN0I4Q0MwMEJBMjhGRkVGQzMwMEZGRkYyMDI0MjhGRjRCCis6MTAwRTIwMDAyQ0ZGRkYzMDM0MzhGRkZGM0M5MDNDMEY3NzBFQkIxOThFCis6MTAwRTMwMDAwRTJFRDczQ0ZGNzQwNThBRDhGOEMzOTAyQURCRjlDMzdECis6MTAwRTQwMDA4MzNFNDQxMjAwNzQyN0EwMDYwMTgwMjYwNjAxMzA4MEVDCis6MTAwRTUwMDAzRTA2MDEzMDc1MThCOTAyMDBCRkM0MTNCQTA2MDFFQzkyCis6MTAwRTYwMDBBODIwNzVGOEJBMDQwMUVEQUJFMkYxRUIxNjkwQjkwNEQ1Cis6MTAwRTcwMDAwMEJGQzQxM0JBMDYwMUVDQTgyMDc1RjhCQTA0MDFFQzRGCis6MTAwRTgwMDBBQUUyRjFGQTkwQkVDNDEzQUQ4MEU0M0Y4MEZDMDI3NDg0Cis6MTAwRTkwMDAwRTZBMDAxRkM2MDY5MzEyMEE5QzBFRTgzRTA0OTBBRDJGCis6MTAwRUEwMDAzQzBGNzVFRDhBQzRFODgxRkY3MkU2ODgxRTFBMDFDNjAwCis6MTAwRUIwMDAwNjhFMTIwMEIwMDAwQTA2MUEwMUJBMDAwMUVFQzYwNjNDCis6MTAwRUMwMDA4RjEyNDA4MzNFNDQxMjAwNzUwNkI4MEMwMEVCMDQ5MDZDCis6MTAwRUQwMDBCODRDMDBCQTI4RkZFRkMzODMzRTQ0MTIwMDc1MDFDMzJCCis6MTAwRUUwMDBBMTUwMTIwQjA2NTIxMjBBQzRBODA4NzRGMkEwMEYwMUY2Cis6MTAwRUYwMDAyQUU0NTBGRjM2QkExMzFGRTg1MDU2ODNDNDAyNkEwMDMyCis6MTAwRjAwMDAxRjMzQzBBM0JDMTNBMDBGMDFBM0JFMTM4QjFFQkMxM0MxCis6MTAwRjEwMDA4QTg3NTAxMkY2ODc1MDEyMDg3NDBEMjQwNzhBRTBCRUEzCis6MTAwRjIwMDBDQzAwQTBCQzEzRTg5NDNERkYwNkJDMTNGRjBFQkUxMzFCCis6MTAwRjMwMDA3NURBQzM5MDFFMzNDMDhFRDhCMDAxRTg1NDNEMUZDMzhDCis6MTAwRjQwMDAzM0M5OEJGMThBMEU5NDEyMkU4QkFDNDQwMEM3NDY2MkQzCis6MTAwRjUwMDAzODQ0Qzc0NjdDRkMzQkM3NDY3RUUyM0JDNzg2ODAwMEUwCis6MTAwRjYwMDBFQzNDRThBQjE2QzY4NkMwMDAxMTgzN0UwODAwNzQwNzBGCis6MTAwRjcwMDA1MTU2RTgzMzMzNUU1OTQ2NDZFMkNEQzMzM0M5OEJGMTRGCis6MTAwRjgwMDA4QkY5OEEwRTk0MTJDMUU5MDJFMzEzMkU4QkFDNDQwMDU0Cis6MTAwRjkwMDA4QTg2OUUwMDg4ODU2QzEyODNDNjA4NDdFMkVEQzNGQUY0Cis6MTAwRkEwMDBGQ0IwQzBCQTAwMDFFRTMzQzA4RUQ4OEVDMDhFRDBCRjY4Cis6MTAwRkIwMDAxNjAxQjlDQzc3MkJDRkQxRTlGM0FCQkM0MDEyRThEOUZECis6MTAwRkMwMDAwMkU4NzAzQ0JFQ0MwRkU4RjIzQ0Y0OTAzM0MwOEVEOEZGCis6MTAwRkQwMDA4RUMwOEVEMEY2MDYwQTAxODA3NDBCQkUzNTU1RThEQjU0Cis6MTAwRkUwMDAzQ0IwMDFFOEFDM0NFOEIzMDBFOEY2RjVFODA4RjhFODA2Cis6MTAwRkYwMDAwRkY5RTg4NUZBRThCNkZBRThFRkZDRThDMjEwRTgwMzcyCis6MTAxMDAwMDAzQ0U4QjJGREU4MzBGREU4NTQwMkM2MDY4RjEyQzBFOEE1Cis6MTAxMDEwMDBCQkZBRThFQkZBRThFOUZCRThBRkZDRTg4REZDRTgxRjc3Cis6MTAxMDIwMDBGRkU4NThGRkU4REJGREU4MTZGRTMzQzBCRTVBMDVFOENFCis6MTAxMDMwMDA4QTNDRThBM0ZFRThFMEZDRkJCRUE0NDRFODdEM0NFOTcyCis6MTAxMDQwMDBDQTJENTY5ODhCRjA4QjQyNTI4NUMwNzUyN0M3NDI1MkU1Cis6MTAxMDUwMDAwMTAwNTMzNjhCOUMyQzAxRjZDMzAxNzUwQzM2ODk2ODUwCis6MTAxMDYwMDA1MjM2ODlBQzJDMDE1QjVFQzMzNjg5QUMyQzAxMzY4OUMzCis6MTAxMDcwMDBBQzFDMDE1QjVFQzM1Njk4OEJGMDMzRUQzNjhCODQxQzQxCis6MTAxMDgwMDAwMUE4MDE3NTE1OEJFODMzQzA4NzQyNTIzNjg5ODQxQzRDCis6MTAxMDkwMDAwMUE4MDE3NDA1MzY4OTg0MkMwMTVFQzM1NjUxMzNGNkNDCis6MTAxMEEwMDBCODAxMDBCOTA4MDA4OTg0MUMwMTg5ODQyQzAxNDY0NkQ2Cis6MTAxMEIwMDBFMkY0NTk1RUMzOTBCQjAxMDA4QkU4RkY0RTZFNzQwQUU4Cis6MTAxMEMwMDA4QkREOEI0NjU4QTgwMTc0RjBDMzhCNDY0OEE5MDgwMEY1Cis6MTAxMEQwMDA3NDQ1Rjc0NjM4NDAwMDc0MjdFODVDMTA4MEMyMDY4QUUxCis6MTAxMEUwMDA4NkE4MDAyNEJGODg4NkE4MDBFRTYwQjBGRUU4ODYzMjlECis6MTAxMEYwMDA2MUIwMDJFODRDRkY4QjQ2NDgyNEY3ODk0NjQ4RUIxNzVECis6MTAxMTAwMDBFODJBMTA4MTRFMjYwMDQwOEE4NkE1MDAwQzAyODg4NkI3Cis6MTAxMTEwMDBBNTAwRTYwQzhCNDY0OEE5MDQwMDc0MTRCMDAyRTgyMTJGCis6MTAxMTIwMDBGRjhCNDY0ODI0RkI4OTQ2NDg2MEIwREZFODQ3MzI2MUMwCis6MTAxMTMwMDAzM0MwODc0NjU4RjZDMzAxNzUwQjM2ODk0NzU4QTgwMTU2Cis6MTAxMTQwMDA3NTBERTk3NEZGQTMyMjAxQTgwMTc1MDNFOTZBRkY4OUZGCis6MTAxMTUwMDAxRTMyMDFDM0JCMDEwMDhCRThGNzQ2Mzg0MDAwNzQxNTBFCis6MTAxMTYwMDBFOEQ1MEY4MEMyMEFFQ0E4NDA3NTBBOEJERDhCNDY1Njg1Cis6MTAxMTcwMDBBODAxNzRFM0MzOEI0NjI2ODBFNEZFODBDQzAyODk0NjM2Cis6MTAxMTgwMDAyNkIwMDJFOEJDRkUzM0MwODc0NjU2RjZDMzAxNzUwQTk2Cis6MTAxMTkwMDAzNjg5NDc1NkE4MDE3NTBCRUJCREEzMjAwMUE4MDE3NTQwCis6MTAxMUEwMDAwMkVCQjQ4OTFFMzAwMUMzNjAxRTA2MkJDMDhFRDhBMDhFCis6MTAxMUIwMDA5MDEyODRDMDc1NDlBMTIyMDFBODAxNzUwM0U4RjZGRUNBCis6MTAxMUMwMDBBMTIwMDFBODAxNzUwM0U4OEFGRkExQUMxMzQ4NzgwNUE2Cis6MTAxMUQwMDA3NDQ1QTNBQzEzQTFBRTEzNDg3ODA1NzQ1MUEzQUUxM0E0Cis6MTAxMUUwMDBBMUIwMTM0ODc4MDU3NDYzQTNCMDEzQTE3RTEyNDA3OEIwCis6MTAxMUYwMDAwM0EzN0UxMkI4MDA4MEJBMjJGRkVGMDcxRjYxQ0ZBMEMxCis6MTAxMjAwMDA5MTEyNDAzQzAyNzIwQjMzQzBBMjkxMTJGRjE2N0MxMjY1Cis6MTAxMjEwMDBFQkE0QTI5MTEyRUI5RkEwOEUxMjMyMDY4RjEyQTI4RTI3Cis6MTAxMjIwMDAxMjBBMDYxQTAxQkEwMDAxRUVCODJDMDFFQkE0ODMzRUEzCis6MTAxMjMwMDA4NDEyMTA3MjExQkEyOEZGRUQwQzgxRUZFODUzMzdCQTBGCis6MTAxMjQwMDAyOEZGRUQyNDdFRUZCODA0MDBFQjkyQzYwNjhEMTIwMTU0Cis6MTAxMjUwMDBFODNGMzdDNjA2OEQxMjAwQTFCMjEzRUI4QjkwOEExRUIxCis6MTAxMjYwMDAwQjAxMkFGRjZCQzMxOUJBNjJGRkVGQjgwQTAwQkE2MDFDCis6MTAxMjcwMDBGRkVGQjgwMUUwQkE2NkZGRUZCOEZGRkZCQTUyRkZFRjI5Cis6MTAxMjgwMDBCODA5QzBCQTU2RkZFRkM3MDZBQzEzMkMwMUM3MDZBRUFCCis6MTAxMjkwMDAxMzA0MDBDNjA2OTExMjAwQzM5MDhBMUUwQjAxMkFGRjk4Cis6MTAxMkEwMDA2QkMzMDVEMUU4QTMxODAxQzM5MDUyQkE1MEZGRUQ1QUExCis6MTAxMkIwMDBDMzkwNTM1MThCMUUxODAxQjkzMjA1OTBFMkZFNEI3NTU1Cis6MTAxMkMwMDBGNzU5NUJDM0IwODBCQTAwMDEwQTA2MUEwMUVFQzM5MDU5Cis6MTAxMkQwMDBCMDQwRUJGMkIwQzBFQkVFQjAwMEVCRUFGQTYwMDYxRUY1Cis6MTAxMkUwMDAxNjJCREI4RURCMkVBMUJBNEMyRUEzOTI0Q0EwOTMxMkIwCis6MTAxMkYwMDA5ODhCRTg4OTI2MkQ3QTgwM0VDQTEzMDA3NDAzRTk2QjI3Cis6MTAxMzAwMDA0MkU4QzBGRkU4QUJGRkU4QThGRkIwMjBDNjA2OTAxMjk1Cis6MTAxMzEwMDAwMEZGMTY3QzEyOEJGRDgzRkYwQTcyMTFFOEI5RkZFODBCCis6MTAxMzIwMDA5MEZGRThBQkZGRTg4QUZGODNFRjBBRUJFQTBCRkY3NDVDCis6MTAxMzMwMDAwRkU4QTRGRkU4N0JGRkU4OUFGRkU4NzVGRjRGNzVGMTFGCis6MTAxMzQwMDBFODk1RkZFODZDRkZFQkI5OEE4NkE1MDAyNEZERUU4OERFCis6MTAxMzUwMDA4NkE1MDBDMzhBODZBNjAwMEMwMkVFQzM4Qjc2MzhGN0ZBCis6MTAxMzYwMDBDNjAxMDA3NEVGOEI0RTM2OEI0NjJFM0JDMTczMDI4QjQ5Cis6MTAxMzcwMDBDODJCQzE4OTQ2MkUwMTRFMzRDNDdFMDQyNjAxMEQ4QjM0Cis6MTAxMzgwMDA3RTJDODNFQTA0RjM2QzhFQzE4OTdFMkMzQjQ2M0M3MjMyCis6MTAxMzkwMDAxMkY3QzYyMDAwNzUwQjgzQ0UyMDg5NzYzOEIwMDBFODlFCis6MTAxM0EwMDBBMEZDQzNGN0M2MDQwMDc0MUI4QkQ4ODNDRTEwODk3NkNCCis6MTAxM0IwMDAzODhBODZBNzAwMjRGRTg4ODZBNzAwODNDMjA4RUU4M0E5Cis6MTAxM0MwMDBFQTA4OEJDMzNENDAwMDcyMDFDMzgxNEUzODAwMDQ4MzlDCis6MTAxM0QwMDBDMjAyOEE4NkE1MDAyNEZBODg4NkE1MDBFRUMzOEE4NjAyCis6MTAxM0UwMDBBNjAwMEMwMkVFQzNGNzQ2MzgwMTAwNzRGMThCNEUyRUI2Cis6MTAxM0YwMDAzMkRCOEFCRUEzMDA4M0MyMDZDNDc2MDQ4QjdFMkM4M0I0Cis6MTAxNDAwMDBGOTA4NzIyQ0VDQTgwMTc0MTY4QUUwODNFQTBBRUM4M0NFCis6MTAxNDEwMDBDMjBBODRFNzc1NTFBQUZFQzM0OTgzRjkwODczRTUzMjBECis6MTAxNDIwMDBGRjI2MDExQzAxNUUzNDg5NzYwNDg5NEUyRTg5N0UyQ0FDCis6MTAxNDMwMDAzQjRFM0M3MjExRjY0NjM4MjA3NDAxQzM4MzRFMzgyMDZGCis6MTAxNDQwMDBCMDAwRThGREZCQzNGNjQ2MzgwNDc0MTU4MzRFMzgxMDJGCis6MTAxNDUwMDA4QTg2QTcwMDI0RkU4ODg2QTcwMDgzRUEwMkVFODNDMjVDCis6MTAxNDYwMDAwMjNENDAwMDcyNURDMzMyRkYyNjAzMUM4NURCNzQwOTE4Cis6MTAxNDcwMDAyNjg5MUM4QkY3NDc0NzQ5NDk4MEU0MUU4MENDQzAyNjRCCis6MTAxNDgwMDA4OTA0RjZDNDEwNzQyNzhCNzYzOEY3QzYwMDEwNzQwQkU1Cis6MTAxNDkwMDA1MEZFODZCMjAwQjAwQUU4QThGQjU4RjdDNjAwMDE3NEY3Cis6MTAxNEEwMDAwREU4ODIyNjhCNzYzODhCNEUyRThCN0UwNEFCOEJGNzI1Cis6MTAxNEIwMDAzM0MwQUIzMkRCOEFCRUEzMDA0OTQ5ODNGOTA4NzIxN0Y3Cis6MTAxNEMwMDBFOTQxRkY4MTRFMzgwMDA0ODNDMkY4OEE4NkE1MDAyNEQyCis6MTAxNEQwMDBGQTg4ODZBNTAwRUVDM0U5NDVGRjgzQzIwOEVDODg4NjNBCis6MTAxNEUwMDBBQTAwQzBFODA0OEFFMDhBQzg4Njg2QTkwMDMyRTA4Qjk4Cis6MTAxNEYwMDA1RTNFODRFMzc0NEY4QUMxOEI0RTI2RjZDNTA0NzQwQzlECis6MTAxNTAwMDBBODA4NzQwNTgwRTFCRkVCMDM4MEM5NDBGNkM1MDg3NEU0Cis6MTAxNTEwMDAwQ0E4MDI3NDA1ODBFMTdGRUIwMzgwQzk4MDg4NEUyNjA5Cis6MTAxNTIwMDA4QkYwOEE4NkE1MDA4NEM5NzQwOEE4MDI3NDE1MjRGRDZFCis6MTAxNTMwMDBFQjA2QTgwMjc1MEQwQzAyODg4NkE1MDA4M0VBMEFFRTY4Cis6MTAxNTQwMDA4M0MyMEE4QkM2ODRFNzc1MDFDM0M2ODZCQTAwMDFCMEEwCis6MTAxNTUwMDAwRUU4RUVGQUY3NDYzODAwMDI3NEVFODM3RTJFMDY3MjJECis6MTAxNTYwMDBFODhBQTZBQTAwQzQ1RTA0OEI3RTJDQjBGRkFBQjAwMjUzCis6MTAxNTcwMDBBQjI2ODMwNzAzODM2RTJFMDM4OTdFMkNGNjQ2MzgyMDI0Cis6MTAxNTgwMDA3NDAxQzM4MzRFMzgyMEIwMDBFOEI2RkFDMzkwODNFQUYyCis6MTAxNTkwMDAwOEU5QjRGRDgzQzIwNjhCNUUyNkY2QzNDMDc1RUY4QkU3Cis6MTAxNUEwMDA0RTFDRUM4ODg2QTQwMDgzRUEwQUE4MjA3NTAyOEFDRDI2Cis6MTAxNUIwMDAzMkVEOEI0NjFBM0JDODczMTgwMTRFMkEyQkMxODk0NjVGCis6MTAxNUMwMDAxQUM1NzYwMEYzNkU4RUQ5ODk3NjAwM0QyMDAwNzIzMDAwCis6MTAxNUQwMDBDMzg1QzA3NDMxOEJDODAxNDYyQUM1NzYwMEYzNkU4RTcwCis6MTAxNUUwMDBEOTgwQ0IwMjg5NUUyNkU4MzJGMUY2QzcwMTc1MTY4M0YxCis6MTAxNUYwMDBDMjAyRTg1M0ZERjZDNzEwNzUwQkIwMDJFODQzRkFDMzA4Cis6MTAxNjAwMDBGNkM3MDE3NEYwQzM4MENCMDI4OTVFMjZGNkM3MDE3NDY5Cis6MTAxNjEwMDBERTgzQzIwMkU4MzFGREY2ODZBNDAwNDA3NDBCODBFNzQ5Cis6MTAxNjIwMDBGRTgwQ0YwMjg5NUUyNkVCQ0NCMDA0RTgxNEZBQzNDMDdBCis6MTAxNjMwMDBDMkM4Q0FDNEM2Q0NDRUQwRDJEOERBRDRENkRDREU5MEVBCis6MTAxNjQwMDBFOTBFMDFFNEM0OEFFMEU0QzQ4QkQwODNGOTA4NzJGMEE3Cis6MTAxNjUwMDAyNjgzM0YwMDc0MDQ4QkRGNDk0OThCRkI4QURFODNFM0RBCis6MTAxNjYwMDAwRjJFOEFBNzJGMTZBQkY2QzQxMDc0MjRGN0M2MDAxMEVECis6MTAxNjcwMDA3NDBCNTBGRTg2QjIwMEIwMEFFOEM2Rjk1OEY3QzYwMEVGCis6MTAxNjgwMDAwMTc0MERFOEEwMjQ4Qjc2Mzg4QjRFMkU4QjdFMDRBQjM0Cis6MTAxNjkwMDA4OTdFMDQzM0MwQUI0OTQ5ODk0RTJFODk3RTJDOEJDMThCCis6MTAxNkEwMDBFQjRFOTBFQjlFOTBFNEQ2ODRDMDc5NjNFNkQwOEFDODc2Cis6MTAxNkIwMDAyNTAzMDAwM0Q4RDFFMzJFOEJBRjQ0MDA4ODhFQUUwMDAzCis6MTAxNkMwMDA4QjRFMkVDNDVFMDQ4QjdFMkM4Qjc2MzhFNDg2MjQwN0VBCis6MTAxNkQwMDAzQzAzNzVDRkU0MUM5MTNCQzE3MzAyOEJDODJCQzE4OUJECis6MTAxNkUwMDA0NjJFMDE0RTM0MjYwMTBGQkFDNDAwRjM2Qzg5N0UyQ0JECis6MTAxNkYwMDAzQjQ2M0M3MjFDRjdDNjIwMDA3NTBCODNDRTIwODk3NkQyCis6MTAxNzAwMDAzOEIwMDBFODNDRjk4QTg2QUUwMDI0M0ZFNkQ2QzNGOTNCCis6MTAxNzEwMDBDM0Y3QzYwQTAwNzQzNUY3QzYxMDAwNzUyRjgzQ0UxMEM0Cis6MTAxNzIwMDA4OTc2MzhGN0M2MDIwMDc0MEU1MEU0RDgyNEZFRTZEODU1Cis6MTAxNzMwMDA1OEY3QzYwODAwNzQxNTUwNTFCOUU4MDNFNDBBODRDMDhDCis6MTAxNzQwMDBFMEZBODRDMDc1MDRCMDI0RTYwQTU5NTgzRDQwMDA3MzlECis6MTAxNzUwMDBCNThBODZBNTAwMjRFRjg4ODZBNTAwRTYwQzgxQ0UxMDA4Cis6MTAxNzYwMDAwNDg5NzYzOEVCQTAwMDA4MDQwQzAxMDkwNTBEMDIwQTczCis6MTAxNzcwMDAwNjBFMDMwQjA3MEYwMDQwODBDMDIwNjBBMEUwMTA1MDUxCis6MTAxNzgwMDA5MEQwMzA3MEIwRjBFNEQyRTZEMDhBQzgyNTAzMDAwM0QwCis6MTAxNzkwMDBEOEQxRTMyRThCQUY0NDAwODg4RUFFMDBFNEQ4QzBFOEU5Cis6MTAxN0EwMDAwNDhCRDgyRThBODc2NjE3OEFFMDhBQzg4Njg2QTkwMEE1Cis6MTAxN0IwMDAzMkUwRTQ5ODhCNUUzRTg0RTM3NDU0OEFDMThCNEUyNkZCCis6MTAxN0MwMDBGNkM1MDQ3NDBDQTgwODc0MDU4MEUxQkZFQjAzODBDOTVBCis6MTAxN0QwMDA0MEY2QzUwODc0MENBODAyNzQwNTgwRTE3RkVCMDM4MDE1Cis6MTAxN0UwMDBDOTgwODg0RTI2OEJGMDhBODZBNTAwRjZDMUZENzQwODU0Cis6MTAxN0YwMDBBODA2NzQxOTI0RjlFQjBGQTgwNjc1MTFGNkM1MDE3NTMyCis6MTAxODAwMDAwNDBDMDRFQjAyMEMwMjg4ODZBNTAwRTYwQzhCQzY4NDRGCis6MTAxODEwMDBFNzc1MDk4QTg2QUUwMDI0M0ZFNkQyQzNDNjg2QkEwMEMxCis6MTAxODIwMDAwMUIwMEVFODFDRjhGNzQ2MzgwMDAyNzRFNjgzN0UyRUZECis6MTAxODMwMDAwNjcyRTA4QTg2QTkwMDhBRTA4Njg2QUEwMDhBQzgzMkYzCis6MTAxODQwMDBDNDgwQzkwQjIyQzFDMEU0MDQwQUUwQzQ1RTA0OEI3RURDCis6MTAxODUwMDAyQ0IwRkZBQUIwMDJBQjI2ODMwNzAzODM2RTJFMDM4OTQ4Cis6MTAxODYwMDA3RTJDRjY0NjM4MjA3NUFCODM0RTM4MjBCMDAwRThEMTg4Cis6MTAxODcwMDBGN0VCQTA5MEU0MTIyNERGRTYxMjgxRTNGRTlGODk1RTdECis6MTAxODgwMDAyNjgzNjY0OEY3RUI3MzkwRjZDNzIwNzVFN0U0MTIwQ0UxCis6MTAxODkwMDAyMEU2MTIzMkMwRTZDNkIwODNFNkM2ODBDRjIwODk1RTVECis6MTAxOEEwMDAyNjhBODZBNTAwMEMwMjg4ODZBNTAwRTYwQ0VCNzQ5MEJCCis6MTAxOEIwMDBGNkM3NDA3NUQzRTQxMjBDMjBFNjEyMzJDMEU2QzZCMDdCCis6MTAxOEMwMDA4MUU2QzY4MEU3REY4MENCMDE4OTVFMjZCMDA2RTg3MTNECis6MTAxOEQwMDBGNzkwOEE4NkE1MDAyNEY5RTYwQzg4ODZBNTAwRUI0M0RDCis6MTAxOEUwMDBFNEQ0RTZEMDhCRjgyNTAzMDAwM0Q4RDFFMzJFOEJBRkU4Cis6MTAxOEYwMDA0NDAwOEI1RTI2RjZDNzYwNzVCNkY2QzNDMDc1RDNCQUQyCis6MTAxOTAwMDBDNjAwOEI0RTFDOEI0NjFBM0JDODczMUUwMTRFMkEyQkY5Cis6MTAxOTEwMDBDMTg5NDYxQUM1NzYwMEYzNkU4RUQ5ODk3NjAwM0QyMEJFCis6MTAxOTIwMDAwMDcyM0Q4QkM3MjQzRkU2RDRDMzg1QzA3NDM5OEJDODkxCis6MTAxOTMwMDAwMTQ2MkFDNTc2MDBGMzZFOEVEOTgzQ0IwMjg5NUUyNkQ2Cis6MTAxOTQwMDBFOEQ5RURGNkM3MDE3NTM5OEE4NkE1MDAyNEY5RTYwQ0I5Cis6MTAxOTUwMDA4ODg2QTUwMEY2QzcxMDc1Q0FCMDAyRThFNEY2RUJDM0E2Cis6MTAxOTYwMDBGNkM3MDE3NEVGRUJCQ0Y2QzcwMTc0REM4QTg2QTUwMEVDCis6MTAxOTcwMDBBODAyNzQxMTgxRTNGRkZFODFDQjAwMDI4OTVFMjZFQjkxCis6MTAxOTgwMDBDNzhBODZBNTAwMjRGQjBDMDJFNjBDODg4NkE1MDBFQjFFCis6MTAxOTkwMDA5MjkwRkRGN0RGN0ZGRUZCRUZCRjAwMDQwMDA0MDUwNDFCCis6MTAxOUEwMDAwNTA0MDEwNDAwMDQwNTA0MDUwNDA2MDQwNjA0MDUwNEY2Cis6MTAxOUIwMDAwNTA0MDYwNDA2MDQwNTA0MDUwNDAyMDQwMDA0MDUwNEU1Cis6MTAxOUMwMDAwNTA0MDEwNDAwMDQwNTA0MDUwNDA2MDQwNjA0MDUwNEQ2Cis6MTAxOUQwMDAwNTA0MDYwNDA2MDQwNTA0MDUwNDA3MDQwNzA0MDUwNEI5Cis6MTAxOUUwMDAwNTA0MDcwNDA3MDQwNTA0MDUwNDA2MDQwNjA0MDUwNEE5Cis6MTAxOUYwMDAwNTA0MDYwNDA2MDQwNTA0MDUwNDA3MDQwNzA0MDUwNDk5Cis6MTAxQTAwMDAwNTA0MDcwNDA3MDQwNTA0MDUwNDA2MDQwNjA0MDUwNDg4Cis6MTAxQTEwMDAwNTA0MDYwNDA2MDQwNTA0MDUwNDAzMDQwMDA0MDUwNDgzCis6MTAxQTIwMDAwNTA0MDEwNDAwMDQwNTA0MDUwNDA2MDQwNjA0MDUwNDc1Cis6MTAxQTMwMDAwNTA0MDYwNDA2MDQwNTA0MDUwNDAyMDQwMDA0MDUwNDY0Cis6MTAxQTQwMDAwNTA0MDEwNDAwMDQwNTA0MDUwNDA2MDQwNjA0MDUwNDU1Cis6MTAxQTUwMDAwNTA0MDYwNDA2MDQwNTA0MDUwNDA3MDQwNzA0MDUwNDM4Cis6MTAxQTYwMDAwNTA0MDcwNDA3MDQwNTA0MDUwNDA2MDQwNjA0MDUwNDI4Cis6MTAxQTcwMDAwNTA0MDYwNDA2MDQwNTA0MDUwNDA3MDQwNzA0MDUwNDE4Cis6MTAxQTgwMDAwNTA0MDcwNDA3MDQwNTA0MDUwNDA2MDQwNjA0MDUwNDA4Cis6MTAxQTkwMDAwNTA0MDYwNDA2MDQwNTA0MDUwNDMzREI4QUQ4OEE4Nzk2Cis6MTAxQUEwMDA2QzEyRTZGRUMxRTMwMkU0Q0VBODA0NzUwOUE4MDI3NDM0Cis6MTAxQUIwMDAwM0U5MkNGRUY5QzM1MDUzRThDQkZDNUI1OEE4MDI3NDMxCis6MTAxQUMwMDAwM0U5MUNGRUY4QzMzM0RCOEFEODhBODc2QzEyRTZGRTcyCis6MTAxQUQwMDBDMUUzMDJFOUQwRkI5QTFBQzYxQTAwMDAwMjAwMDQwMDEyCis6MTAxQUUwMDAwMjAwMDYwMDAyMDAwNDAwMDIwMDA4MDAwMjAwMDQwMEQ4Cis6MTAxQUYwMDAwMjAwMDYwMDAyMDAwNDAwMDIwMDBBMDAwMjAwMDQwMEM2Cis6MTAxQjAwMDAwMjAwMDYwMDAyMDAwNDAwMDIwMDA4MDAwMjAwMDQwMEI3Cis6MTAxQjEwMDAwMjAwMDYwMDAyMDAwNDAwMDIwMDBDMDAwMjAwMDQwMEEzCis6MTAxQjIwMDAwMjAwMDYwMDAyMDAwNDAwMDIwMDA4MDAwMjAwMDQwMDk3Cis6MTAxQjMwMDAwMjAwMDYwMDAyMDAwNDAwMDIwMDBBMDAwMjAwMDQwMDg1Cis6MTAxQjQwMDAwMjAwMDYwMDAyMDAwNDAwMDIwMDA4MDAwMjAwMDQwMDc3Cis6MTAxQjUwMDAwMjAwMDYwMDAyMDAwNDAwMDIwMDBFMDAwMjAwMDQwMDYxCis6MTAxQjYwMDAwMjAwMDYwMDAyMDAwNDAwMDIwMDA4MDAwMjAwMDQwMDU3Cis6MTAxQjcwMDAwMjAwMDYwMDAyMDAwNDAwMDIwMDBBMDAwMjAwMDQwMDQ1Cis6MTAxQjgwMDAwMjAwMDYwMDAyMDAwNDAwMDIwMDA4MDAwMjAwMDQwMDM3Cis6MTAxQjkwMDAwMjAwMDYwMDAyMDAwNDAwMDIwMDBDMDAwMjAwMDQwMDIzCis6MTAxQkEwMDAwMjAwMDYwMDAyMDAwNDAwMDIwMDA4MDAwMjAwMDQwMDE3Cis6MTAxQkIwMDAwMjAwMDYwMDAyMDAwNDAwMDIwMDBBMDAwMjAwMDQwMDA1Cis6MTAxQkMwMDAwMjAwMDYwMDAyMDAwNDAwMDIwMDA4MDAwMjAwMDQwMEY3Cis6MTAxQkQwMDAwMjAwMDYwMDAyMDAwNDAwMDIwMEMzOTBEQTE0OTQxNTBCCis6MTAxQkUwMDA1QzEzRTYxM0RBMUJEQTFCRTYxM0RBMUI4Qjk0NjQxMjIwCis6MTAxQkYwMDBDMUU2MDRBODAxNzQzNTUwMzNDMDhBQzJFNkZFRTRBMEYxCis6MTAxQzAwMDA4NUMwNzQyNzhCRDgyRThBOUZEQTFBNTI1NjJFOEJBODNECis6MTAxQzEwMDA0NDAwOEI1NjI4RUNBODAxNzUwRDg4ODZBRDAwMjQwRTczCis6MTAxQzIwMDA4QUQ4MkVGRjk3REMxQjVFNUFFQkNENThBODAyNzQzNjdCCis6MTAxQzMwMDA4M0M2MTAzM0MwOEFDNkU2RkVFNEEwODVDMDc0Mjc4QjM1Cis6MTAxQzQwMDBEODJFOEE5RkRBMUE1MjU2MkU4QkE4NDQwMDhCNTYyODFCCis6MTAxQzUwMDBFQ0E4MDE3NTBEODg4NkFEMDAyNDBFOEFEODJFRkY5NzVBCis6MTAxQzYwMDBEQzFCNUU1QUVCQ0RDMzkwMzJFNDhCRDg4QkQwMkU4QTJFCis6MTAxQzcwMDA5RjlBMTkyRTIyOTc5MjE5NTY1MjhBQzMyNDAzMDNDNjlCCis6MTAxQzgwMDA4MEUzMDREMEVCMkVGRjk3RDYxQTU4NUVBOTU1MDA3NTU1Cis6MTAxQzkwMDBEOUMzNjAxRTA2MkJDMDhFRDhBMTVDMTJFNkZFRTQwMEZDCis6MTAxQ0EwMDAyMkM0NzQwODMzRjZFOEJGRkZFQkVFOTBFNDA0MDdFNEM3Cis6MTAxQ0IwMDAwNDFGQjgwMDgwQkEyMkZGRUY2MUNGOTA2MDFFMDYyQjkwCis6MTAxQ0MwMDBDMDhFRDhBMTVFMTJFNkZFRTQwMDIyQzQ3NDA4QkUwNEYxCis6MTAxQ0QwMDAwMEU4OTRGRkVCRURFNDA0MDdFNDA0MUZCODAwODBCQUM5Cis6MTAxQ0UwMDAyMkZGRUY2MUNGOTA2MDFFMDYyQkMwOEVEOEExNUMxMjQwCis6MTAxQ0YwMDBFNkZFRTQwMDIyQzQ3NDE4MzNGNkU4NkJGRkExNjAxMjFDCis6MTAxRDAwMDBFNkZFRTQwMDIyQzQ3NEU1QkUwODAwRTg1QUZGRUJEREZECis6MTAxRDEwMDBBMTYwMTJFNkZFRTQwMDIyQzQ3NUVERTQwNDA3RTQwNEM5Cis6MTAxRDIwMDBBMTVDMTJFNkZFRTQwNDFGRTQwNEI4MDA4MEJBMjJGRkJFCis6MTAxRDMwMDBFRjYxQ0Y5MDYwMUUwNjJCQzA4RUQ4QTE1RTEyRTZGRTJBCis6MTAxRDQwMDBFNDAwMjJDNDc0MTlCRTA0MDBFODFDRkZBMTYyMTJFNjdDCis6MTAxRDUwMDBGRUU0MDAyMkM0NzRFNEJFMEMwMEU4MEJGRkVCRENBMTNGCis6MTAxRDYwMDA2MjEyRTZGRUU0MDAyMkM0NzVFREU0MDQwN0U0MDRBMTc3Cis6MTAxRDcwMDA1RTEyRTZGRUU0MDQxRkU0MDRCODAwODBCQTIyRkZFRjFFCis6MTAxRDgwMDA2MUNGNjAxRTA2MkJDMDhFRDhBMTVDMTJFNkZFRTQ4MEY3Cis6MTAxRDkwMDA4NEM0NzQwODMzRjZFODUzRkVFQkVFOTBCODAwODBCQUMyCis6MTAxREEwMDAyMkZGRUYwNzFGNjFDRjkwNjAxRTA2MkJDMDhFRDhBMUM3Cis6MTAxREIwMDA1RTEyRTZGRUU0ODA4NEM0NzQwOEJFMDIwMEU4MkNGRUQ1Cis6MTAxREMwMDBFQkVEQjgwMDgwQkEyMkZGRUYwNzFGNjFDRjkwNjAxRUQ1Cis6MTAxREQwMDAwNjJCQzA4RUQ4QTE2MDEyRTZGRUU0ODA4NEM0NzQwODhECis6MTAxREUwMDBCRTA0MDBFODA2RkVFQkVEQjgwMDgwQkEyMkZGRUYwNzY0Cis6MTAxREYwMDAxRjYxQ0Y5MDYwMUUwNjJCQzA4RUQ4QTE2MjEyRTZGRTM2Cis6MTAxRTAwMDBFNDgwODRDNDc0MDhCRTA2MDBFOEUwRkRFQkVEQjgwMDkxCis6MTAxRTEwMDA4MEJBMjJGRkVGMDcxRjYxQ0Y5MDYwMUUwNjJCQzA4RTk1Cis6MTAxRTIwMDBEOEExNUMxMkU2RkVFNDAwMjJDNDc0MTgzM0Y2RTgzNzQ5Cis6MTAxRTMwMDBGRUExNjAxMkU2RkVFNDgwODRDNDc0RTVCRTA0MDBFOEZFCis6MTAxRTQwMDBBQUZERUJEREExNjAxMkU2RkVFNDgwODRDNDc1RURBMTdECis6MTAxRTUwMDA1QzEyRTZGRUU0MDQwN0U0MDQxRkI4MDA4MEJBMjJGRjI3Cis6MTAxRTYwMDBFRjYxQ0Y5MDYwMUUwNjJCQzA4RUQ4QTE1RTEyRTZGRUY5Cis6MTAxRTcwMDBFNDAwMjJDNDc0MTlCRTA0MDBFOEVDRkRBMTYyMTJFNjdECis6MTAxRTgwMDBGRUU0ODA4NEM0NzRFNEJFMDYwMEU4NUZGREVCRENBMUUwCis6MTAxRTkwMDA2MjEyRTZGRUU0ODA4NEM0NzVFREExNUUxMkU2RkVFNDAzCis6MTAxRUEwMDAwNDA3RTQwNDFGQjgwMDgwQkEyMkZGRUY2MUNGNjAxRTcwCis6MTAxRUIwMDAwNjJCQzA4RUQ4QTE1QzEyRTZGRUU0ODA4NEM0NzQxOEEwCis6MTAxRUMwMDAzM0Y2RTgyN0ZEQTE2MDEyRTZGRUU0MDAyMkM0NzRFNUMzCis6MTAxRUQwMDBCRTA4MDBFODkyRkRFQkREQTE2MDEyRTZGRUU0MDAyMjAwCis6MTAxRUUwMDBDNDc1RURFNDA0MDdFNDA0MUZCODAwODBCQTIyRkZFRkQ0Cis6MTAxRUYwMDA2MUNGNjAxRTA2MkJDMDhFRDhBMTVFMTJFNkZFRTQ4MDg0Cis6MTAxRjAwMDA4NEM0NzQxOUJFMDIwMEU4RTJGQ0ExNjIxMkU2RkVFNDk5Cis6MTAxRjEwMDAwMDIyQzQ3NEU0QkUwQzAwRTg0REZERUJEQ0ExNjIxMkFCCis6MTAxRjIwMDBFNkZFRTQwMDIyQzQ3NUVERTQwNDA3RTQwNDFGQjgwMEYzCis6MTAxRjMwMDA4MEJBMjJGRkVGNjFDRjkwNjAxRTA2MkJDMDhFRDhBMTIxCis6MTAxRjQwMDA1QzEyRTZGRUU0ODA4NEM0NzQxODMzRjZFODlERkNBMUJDCis6MTAxRjUwMDA2MDEyRTZGRUU0ODA4NEM0NzRFNUJFMDQwMEU4OENGQ0Y0Cis6MTAxRjYwMDBFQkREQTE2MDEyRTZGRUU0ODA4NEM0NzVFRDA3MUZCOEM2Cis6MTAxRjcwMDAwMDgwQkEyMkZGRUY2MUNGNjAxRTA2MkJDMDhFRDhBMTcxCis6MTAxRjgwMDA1RTEyRTZGRUU0ODA4NEM0NzQxOUJFMDIwMEU4NUNGQ0M0Cis6MTAxRjkwMDBBMTYyMTJFNkZFRTQ4MDg0QzQ3NEU0QkUwNjAwRTg0QjRECis6MTAxRkEwMDBGQ0VCRENBMTYyMTJFNkZFRTQ4MDg0QzQ3NUVEMDcxRjQxCis6MTAxRkIwMDBCODAwODBCQTIyRkZFRjYxQ0Y5MDYwMUUwNjJCQzA4RTYyCis6MTAxRkMwMDBEODkwMkFDMEU2RkVFNENFQTgwMTc0MTQzM0RCRThENTJECis6MTAxRkQwMDBGNkVCRUY5MEI4MDA4MEJBMjJGRkVGMDcxRjYxQ0Y5MEI5Cis6MTAxRkUwMDBGNjA2MDUwMTAxNzVFREIwMDFFNkZFRTRDRUE4MDE3NDI4Cis6MTAxRkYwMDBFM0JCMDQwMEU4QUZGNkVCQzk5MDYwMUUwNjJCQzA4RTcxCis6MTAyMDAwMDBEODkwRkI5MEZBMkFDMEU2RkVFNENFQTgwMjc0MTMzM0ZGCis6MTAyMDEwMDBEQkU4Q0NGOEVCRUNCODAwODBCQTIyRkZFRjA3MUY2MUQ5Cis6MTAyMDIwMDBDRjkwQTgwNDc0RjAzM0RCRTg1QkY3RUJENTkwNjAxRTJCCis6MTAyMDMwMDAwNjJCQzA4RUQ4OTBGQjkwRkFCMDAxRTZGRUU0Q0VBODQ1Cis6MTAyMDQwMDAwMjc0MTVCQjA0MDBFODk3RjhFQkVCOTBCODAwODBCQTc3Cis6MTAyMDUwMDAyMkZGRUYwNzFGNjFDRjkwQTgwNDc0RjBCQjA0MDBFOEQzCis6MTAyMDYwMDAyNEY3RUJEMjZBMDAxRkM2MDY5MzEyMDk5QzBFRTg2Qjk4Cis6MTAyMDcwMDBGMjkwNkEwMDFGQzYwNjkzMTIyOTlDMEVFODVERjI5MDRBCis6MTAyMDgwMDA3MjIwNzIyMDcyMjBDRTFEOTIxQ0U2MUMxQTFFNzIyMDM1Cis6MTAyMDkwMDA4MjFEQUUxRTM4MUY3MjIwODIxRDcyMjA3MjIwMzgxRkQyCis6MTAyMEEwMDA3MjIwNzIyMDcyMjBGNDFEQkMxQzM0MUQ2NDFFNzIyMDJDCis6MTAyMEIwMDBBODFERjIxRTc4MUY3MjIwQTgxRDcyMjA3MjIwNzgxRkEyCis6MTAyMEMwMDBGQ0I5NDAwMDhDQ0JCODY0MjAyQkZGQUI5M0FCOTNFMjAwCis6MTAyMEQwMDBGQUM3MDY0QzAwQTgxMTgzM0U0NDEyMDA3NTIwQzcwNkJCCis6MTAyMEUwMDAzQzAwMDg0QkM3MDYzMDAwQkExRkM3MDYzNDAwRkExRjcxCis6MTAyMEYwMDBGNjA2MDUwMTAxNzUwNkM3MDYzODAwMkUyMEMzQzcwNjdGCis6MTAyMTAwMDAzQzAwNTY0QjMzREI4QTFFNTQxMkMxRTMwMjAyMUU1NkJBCis6MTAyMTEwMDAxMjJFOEI4NzgwMjBBMzMwMDA4QTFFNTUxMkMxRTMwMjQ1Cis6MTAyMTIwMDAwMjFFNTcxMjJFOEI4N0EwMjBBMzM0MDBDMzhCODY5RURECis6MTAyMTMwMDAwMEU2RkU4NkM0RTZEMEMzOEI4NjlFMDBFNkZFMzNEMjYwCis6MTAyMTQwMDA4QUQ0QzM1MUI5MTAyN0U0MEE5MDkwODRDMDc0MDVFMjgwCis6MTAyMTUwMDBGNjU5RjlDMzU5RjhDMzg0QzA3ODFFNTE4QUU4OEFDODcxCis6MTAyMTYwMDBCODAxMDBEM0UwMDk4Njk4MDAzQUFFQTAwMDU5NzUxMDc2Cis6MTAyMTcwMDBFOEE5RTU4MzRFMjYwMkY5QzM5ODg5ODY5ODAwRUJGMDFBCis6MTAyMTgwMDBGOEMzODRDMDc4MTI1MThBRTA4QUM4QjgwMTAwRDNFMDRECis6MTAyMTkwMDA1OUY3RDAyMTg2OTgwMEMzQzc4Njk4MDAwMDAwQzM4M0YyCis6MTAyMUEwMDBDMjA0OEE4NkE2MDAwQzA0RUU4M0VBMDRDM0U4OTNGRjA3Cis6MTAyMUIwMDA3MjA0QjA4MkU2MEFDMzhCNDYyNkE4RkQ3NDExOEE4NjkzCis6MTAyMUMwMDBBNTAwQTgwNjc0MDgyNEY5ODg4NkE1MDBFNjBDQzNGNkM1Cis6MTAyMUQwMDBDNDAxNzQwQThBODZBNTAwMjRGQjBDMDJFQjBDQTgwMjM5Cis6MTAyMUUwMDA3NTBGOEE4NkE1MDAyNEZEMEMwNDNBODZBNTAwNzVEOEQzCis6MTAyMUYwMDBDMzhBODZBNTAwRUJDRkU0RDgzM0RCOEFEOEMwRUIwNEQyCis6MTAyMjAwMDAyRThBOUY2NjE3ODg5RUE5MDA4QjVFMjY4MEUzM0ZGNjg0Cis6MTAyMjEwMDBDNzA0NzQwN0E4MTA3NTAzODBDQjQwRjZDNzA4NzQwNzdECis6MTAyMjIwMDBBODgwNzUwMzgwQ0I0MDg4NUUyNjhBODZBNTAwRjZDMzA5Cis6MTAyMjMwMDBGRDc0MERBODA2NzQwODI0Rjk4ODg2QTUwMEU2MENDMzcxCis6MTAyMjQwMDBGNkM3MDE3NDA0MEMwMkVCRjBGNkMzMDI3NUU5MEMwNDQ2Cis6MTAyMjUwMDBFQkU3QzQwNEM0MDQ4NTA0NTkwNDQ4MDQ0MTA0QzMwM0RGCis6MTAyMjYwMDA4MjAzNDEwMzgyMDI1NzAyNDEwMjgyMDE0MTAxODIwMDNFCis6MTAyMjcwMDA0MTAwNEUwMkFEMDE1NzAxMkQwMDJCMDAyNzAwMjEwMDI3Cis6MTAyMjgwMDAxNjAwRjQwNEY0MDRBMzA0NkYwNDVCMDQ1MTA0RjQwMzgzCis6MTAyMjkwMDBBMzAzNTEwM0EzMDI2RDAyNTEwMkEzMDE1MTAxQTMwMDQ0Cis6MTAyMkEwMDA1MTAwNjIwMkQ5MDE2RDAxMzgwMDM2MDAzMTAwMjkwMDY5Cis6MTAyMkIwMDAxQjAwNTE1N0JGMDIwMEVCMEY5MDUxNTZCRjAxMDBFQkJFCis6MTAyMkMwMDAwNzkwNTE1NkJGMDMwMDkwM0MxOTc2MDJCMDE3OTg4QkM3Cis6MTAyMkQwMDBGMDhBODJDNDAwMkFFNDhCRjA4M0ZFMTg3MzQ2RDFFNkFDCis6MTAyMkUwMDAyRThCOEM1MjIyRjc0NjM4ODAwMDc0MDUyRThCOEM4MjAwCis6MTAyMkYwMDAyMkY3QzcwMjAwNzQxMjNCOEU5NDAwNzQwQzg5OEU5NEVFCis6MTAyMzAwMDAwMDhBQzVFNkVDOEFDMUU2RTRGN0M3MDEwMDc0MTIzQjE3Cis6MTAyMzEwMDA4RTk2MDA3NDBDODk4RTk2MDA4QUM1RTZGODhBQzFFNjBFCis6MTAyMzIwMDBGMDVFNTlDMzc3MDY4QjhFOEUwMEVCQzU4QjhFOTAwMEM2Cis6MTAyMzMwMDBFQkJGRDUwM0Y2MDAzRTAwMTAwMDA0MDBDQTA0MzMwMUQxCis6MTAyMzQwMDA0RDAwMTQwMDA1MDAwMTAzMDUwNzA5MDAwMTAyMDMwNDA0Cis6MTAyMzUwMDA4MDg0MUUwMEEwMjUyNjAwMDAwMDYwOEJGMDMzRkYyRTM1Cis6MTAyMzYwMDBBMTUwMjMyRThCMTY1MjIzQkIzMjIzRjc0NjM4ODAwMDEwCis6MTAyMzcwMDA3NDBDMkVBMTU0MjMyRThCMTY1NjIzQkIzQzIzQjkwNTc3Cis6MTAyMzgwMDAwMDJFM0IzMTczMEE0NzQ3RTJGN0I4RkZGRkVCMUQ5MDgxCis6MTAyMzkwMDBEMUVGMkU4QThENDYyMzJBRUREMUVBRDFEOEUyRkFGNzgxCis6MTAyM0EwMDBGNjA1MDIwMEMxRTgwMjJFOEFBNTRCMjMyRUEzNTgyMzZFCis6MTAyM0IwMDA2MTJFQTE1ODIzQzMwODAwMjAwMDgwMDAwMDAyNjAwOTlDCis6MTAyM0MwMDAwODAwMjAwMDgwMDAwMDAyMDAwODAwMDAwMTAwMDIwMDU4Cis6MTAyM0QwMDAwMzAwMDQwMDUyNTY1Nzg1QzA3NDA1M0QwMTA5NzYwMzc5Cis6MTAyM0UwMDBCODAxMDlCRjVCMDFGNzQ2Mzg4MDAwNzQwM0JGQjIwMTMyCis6MTAyM0YwMDAzM0Y2MkUzQjg0QjYyMzc2MDQ0NjQ2RUJGNUY3RTcyRUZDCis6MTAyNDAwMDA4QkJDQzAyMzAzQzc4M0QyMDBEMUU3RjdGNzJFOEFBNDgxCis6MTAyNDEwMDBDQTIzNUY1RTVBQzNFNDNFODBCRUMzMDAwMzc1MENGNzU3Cis6MTAyNDIwMDA0NjdBMjAwMDc0MDUwQzgwRTYzRUMzMjQ3RkU2M0VDMzU2Cis6MTAyNDMwMDAyNDAzODg4NkMzMDA4QUUwRTQxMDI0RkMwQUM0RTYxMDYyCis6MTAyNDQwMDA4MDhFQTEwMDQyRThDRUZGQzM5MDU2OEJGMDgzRTYwNzUyCis6MTAyNDUwMDBEMUU2MkVGRkE0NTgyNDkwNjgyNDZDMjQ3MDI0NzQyNEEwCis6MTAyNDYwMDA3ODI0ODcyNDg3MjQ4NzI0QjQwMEVCMEVCNEMwRUIwQUI5Cis6MTAyNDcwMDBCNDQwRUIwNkI0MjBFQjAyQjRBMEU0MTAyNDFGMEFDNDVECis6MTAyNDgwMDBFNjEwODA4RUExMDA0MjVFQzM5MDNDMDI3NzEyOEFFMDgzCis6MTAyNDkwMDBFNDEwMjRGM0MwRTQwMjBBQzRFNjEwODA4RUExMDA0MkQ2Cis6MTAyNEEwMDBDMzkwOEI1RTM4ODRDMDc0MUYzQzAyNzQyMDgzQ0IwOEI5Cis6MTAyNEIwMDA4QjQ2MkUzQjQ2M0M3NzBDRTg4OEZDNzIwN0IwMjRFNjNFCis6MTAyNEMwMDAwQTgzQ0IxMDg5NUUzOEMzODNFM0Y3RUJGN0Y3QzMxMEI5Cis6MTAyNEQwMDAwMDc0RjVFODZERkM3MkVDOEE4NkMwMDBFNjM4QjAyMzIzCis6MTAyNEUwMDBFNjBBRUJFMDhCNUUzODhCNDYyRTNCNDYzQ0U0RDg3NzIxCis6MTAyNEYwMDAwQjI0RkU4MENCMTJFNkQ4ODk1RTM4QzMwQzAxODBDQjVBCis6MTAyNTAwMDAwMkVCRjM1MDMzREJDMUU4MDQyNTBGMEY4QUQ4MkU4QTgzCis6MTAyNTEwMDA4NzY2MTc4QURDMkU4QUE3NjYxNzA5NDYzRTU4QzM1MDdECis6MTAyNTIwMDAzM0RCQzFFODA0MjUwRjBGOEFEODJFOEE4NzY2MTc4QTA1Cis6MTAyNTMwMDBEQzJFOEFBNzY2MTdGN0QwMjE0NjNFNThDMzhCNDYzRTRECis6MTAyNTQwMDAzM0RCOEFEODBBREMyRThBODc3NjE3RTYyQzhBRTBFNDA5Cis6MTAyNTUwMDAyQTI0MEYwQUM0RTYyQThBODZBNTAwODRFNDc1MERBOEY5Cis6MTAyNTYwMDA4MDc0MTEyNDdGODg4NkE1MDBFNjBDQzNBODgwNzUwNEJBCis6MTAyNTcwMDAwQzgwRUJGMUMzMUU2MDMzQzkzM0QyMzNGNjhFRDk4RDk0Cis6MTAyNTgwMDBCRUZEMDA1NzhCMDU4NEMwNzQxNjhCRDE0MjhCRkU0RjY1Cis6MTAyNTkwMDA3ODA5MzhBM0U0MDA3NDA4NEY3OUY3ODhBMkU0MDA0NjZDCis6MTAyNUEwMDA1RjgzQzcwOTQxODNGOTEwNzJEOTg5QjY4NjAwODk5NjdECis6MTAyNUIwMDA4NDAwNjExRkMzNTNDNzQ2NjYwMDAwOEI0NjY0QTk0MDcwCis6MTAyNUMwMDAwMDc0MERCMzAwQTk4MDAwNzQwMkIzN0Y4ODlFQzEwMDFGCis6MTAyNUQwMDAzMkRCQTkwMjAwNzQwMzgwQ0I0MEE5MDA0MDc0MDM4MDYxCis6MTAyNUUwMDBDQjAyQTkwMDgwNzQwMzgwQ0IwMUE5MzAxRTc0MDM4MDQ0Cis6MTAyNUYwMDBDQkJDQTkwMDIwNzQwMzgwQ0IwOEE5MDQwMTc0MDM4MDFDCis6MTAyNjAwMDBDQjEwQTkwODAwNzQwMzgwQ0IyMDg4OUVDMjAwNUJDMzU2Cis6MTAyNjEwMDAwNjUxNTc1MDE2MDc4REJFQzQwMEI5MUYwMDMzQzBBQTFCCis6MTAyNjIwMDA0MEUyRkM4Qjg2OTIwMDg5ODY4RTAwODk4NjkwMDA1ODU1Cis6MTAyNjMwMDA1RjU5MDdDM0U0RDhDMEU4MDQ1MzI1MEYwMDhCRDgyRTk4Cis6MTAyNjQwMDA4QTg3NjYxNzg4ODZBOTAwNUFDMzA4ODZBQzAwQzY4NkEyCis6MTAyNjUwMDBCQTAwMDFCMDBFRThFQUU5QzNBRDM2QTNCNDEzQUQzNjUzCis6MTAyNjYwMDBBM0I2MTNBRDM2QTNCODEzODNFOTA2MzZGNzA2QjYxMzNGCis6MTAyNjcwMDAwRjAwQzM4QTQ2MjZGNzQ2NDg4MDAwNzQwMjBDMTA4ODczCis6MTAyNjgwMDA4NkJEMDAzMkMwODM3RTFBMDA3NTBFOEI1RTQwNDM4MDhCCis6MTAyNjkwMDBFM0ZFM0I1RTA4NzUwMjBDMDE4MzdFM0EwMDc1MEQxRTU5Cis6MTAyNkEwMDBDNTVFMTQ4QjFGMUY4NURCNzUwMjBDMDJGNzQ2MzgxMEMwCis6MTAyNkIwMDAwMDc0MDIwQzA0OEI1RTdBRjdDMzAyMDA3NDAyMEMwOEVCCis6MTAyNkMwMDBGN0MzMDQwMDc0MDIwQzEwRjdDMzA4MDA3NDAyMEMyMDU2Cis6MTAyNkQwMDBGN0MzNDAwMDc0MDIwQzQwODg4NkJGMDBDMzkwNkEwMEI0Cis6MTAyNkUwMDAxRkM2MDY5MzEyMEQ5QzBFRThGMUVCOTBCMDAyRTZEQURECis6MTAyNkYwMDBGOEMzMzNDMEU2REFGOEMzQjAwMUU2RDhGOEMzMzNDMDk0Cis6MTAyNzAwMDBFNkQ4RjhDM0IwRkZFODRFRkFFOEExRkFGOEMzQUM0OTNFCis6MTAyNzEwMDBFOEFGRkJGOEMzOTBBQzQ5RTgxNUZERjhDMzkwQUM0OUFECis6MTAyNzIwMDBFODY3RkRGOEMzOTBBQzQ5RTgxRkZERjhDMzkwQUM0OUQ5Cis6MTAyNzMwMDBFNjM0RjhDM0FDNDlFNjM2RjhDM0FDNDkzQzAyNzcxRjJGCis6MTAyNzQwMDA4NEMwNzUxREU0MTQyNEVGRTYxNEU0MTIyNDNGRTYxMjVECis6MTAyNzUwMDBFNDE2QTgwNDc0MDlFOEVBRjk3MjA0QjAxOEU2MEFGODY1Cis6MTAyNzYwMDBDMzhBRTBFNDE0MEMxMEU2MTRFNDEyMENDMEY2QzQwMUIxCis6MTAyNzcwMDA3NDAyMjQ3RkU2MTJGOEMzQUM0OUU4MjVGREY4QzM5MDQzCis6MTAyNzgwMDBCODAwNDBFODdERkRFOEI0RkRFOEE4RkVCMDAxRThCOTc2Cis6MTAyNzkwMDBGRUY4QzM5MEI4MDA0MEU4ODVGREU4QTBGREY4QzM5MEJFCis6MTAyN0EwMDBCODAwMTBFODVERkRFODk0RkRFODg4RkVCMDA4RTg5OUZGCis6MTAyN0IwMDBGRUY4QzM5MEI4MDAxMEU4NjVGREU4ODBGREY4QzM5MDBFCis6MTAyN0MwMDBCODAwODBFODNERkRFODc0RkRFODY4RkVCMDAyRTg3OUY1Cis6MTAyN0QwMDBGRUY4QzM5MEI4MDA4MEU4NDVGREU4NjBGREY4QzM5MEJFCis6MTAyN0UwMDBCODAwMjBFODFERkRFODU0RkRFODQ4RkVCMDA0RTg1OUIzCis6MTAyN0YwMDBGRUY4QzM5MEI4MDAyMEU4MjVGREU4NDBGREY4QzM5MDNFCis6MTAyODAwMDBBQzQ5RTg0ODE0RTQzQzI0RTcwQUM0RTYzQ0Y4QzM5MDI5Cis6MTAyODEwMDBCOEZDM0I4OTQ2N0NFNDNDMEMxOEU2M0NGOEMzRTQxMjY3Cis6MTAyODIwMDAwQzAyRTYxMkY4QzNFNDEyMjRGREVCRjZFOEI1RkNGODVFCis6MTAyODMwMDBDMzkwODM2NjM4RkRGOEMzQUM0OUE4MDE3NDA2ODM0RTgzCis6MTAyODQwMDA3QTIwRUIwNDgzNjY3QURGRThDQkZCRjhDMzkwOEE4NkI0Cis6MTAyODUwMDBBNTAwMEMwMjI0RkI4ODg2QTUwMEU2MEM4MTRFMjYwMTBCCis6MTAyODYwMDAyMEFDNDkzMkU0ODk0NjZFODM0RTQ4MDg0OTQ2RjlDMzk0Cis6MTAyODcwMDA4QTg2QTUwMDBDMDIyNEZCODg4NkE1MDBFNjBDODE0RTAyCis6MTAyODgwMDAyNjAxMjBBQ0I0MEFGNkU0RUJEOEU4RkExM0U0M0MyNEMxCis6MTAyODkwMDBGODBBQzRFNjNDRjhDMzkwQUQ0OTQ5ODk0NjY0QTkwMUU5Cis6MTAyOEEwMDAwMDc0MUI4QkQ4ODNFM0ZBNzUxQUE5MDQwMDc0MEZFNDMzCis6MTAyOEIwMDAzRTBDMDJFNjNFQjgzODQ0ODk0NjYyRjhDMzkwRTQzRUQ2Cis6MTAyOEMwMDAyNEZDRUJFRkU0M0UyNEZDRTYzRUU4RThGQ0I4QUE0MDNBCis6MTAyOEQwMDBFQkU2RTg2RUY4NzIwNUIwMThFNjBBRjhDMzkwQUM0OTZBCis6MTAyOEUwMDBFOENGRjlGOEMzOTBBQzQ5RThDRkY5RjhDMzkwRTg2OEFECis6MTAyOEYwMDBGRDc1MDYzMkMwRTZEQUY4QzNCMDAyRTZEQTM2QTBCNEY3Cis6MTAyOTAwMDAxMzI0MTAzNDEwRTgxNjAxMzZBMUI0MTNBOTAxMDA3NDgxCis6MTAyOTEwMDAwNUU4RkNGRUVCMEVBOTAyMDA3NDA0MzJDMEVCMDJCMDI1Cis6MTAyOTIwMDAwMUU4REVGRTM2QTFCNDEzRThCNTEzRTQzQzI0RjgwQTRFCis6MTAyOTMwMDBDNEU2M0MzNkExQjQxM0MxRTgwNTI1MDEwMEU4RkFGRTVGCis6MTAyOTQwMDAzNkEwQjUxMzI0MTBFODU5RkIzMkMwMzY4QTI2QjUxM0Q5Cis6MTAyOTUwMDBGNkM0MDQ3NDA5RkVDMEY2QzQwODc0MDJGRUMwRThEQkM1Cis6MTAyOTYwMDBGRDM2QTFCNjEzMjUwRjAwRTg1N0Y5MzZBMUI2MTNDMUZECis6MTAyOTcwMDBFODA0MjUwMzAwRThCOEZBMzZBMUI2MTNDMUU4MDUyNTM2Cis6MTAyOTgwMDAwMjAwRTgwNUZCMzZBMUI2MTNGNkM0MDE3NTA0MzJDMDk3Cis6MTAyOTkwMDBFQjA5ODBFNDAyRDBFQ0IwMDIyQUM0RThBQ0ZBMzZGNkM3Cis6MTAyOUEwMDAwNkI3MTM0MDc0MDVFODgzRkVFQjAzRTg4NEZFMzZGNkIxCis6MTAyOUIwMDAwNkI3MTMyMDc0MDVFODY1RkVFQjAzRTg2OEZFRjhDMzZDCis6MTAyOUMwMDBFNDEyMEMwMUU2MTJGOEMzRTQxMjI0RkVFQkY2RTQxNDYwCis6MTAyOUQwMDAyNEYwMEMwNUU2MTRFNDJBMjRGMDBDMDZFNjJBRjhDM0Q5Cis6MTAyOUUwMDBFNDJBMjRGMEU2MkFFNDE0MjRGMDBDMDdFNjE0RjhDM0UxCis6MTAyOUYwMDBBRDQ5NDlFODY0Rjk4OTg2OEUwMEY4QzNBRDQ5NDlFOEQ0Cis6MTAyQTAwMDA1OEY5ODk4NjkwMDBGOEMzODM0RTI2MDRFOEE4RjdGOEExCis6MTAyQTEwMDBDMzkwODM2NjI2RkJFODlFRjdGOEMzOTBBQzQ5ODRDMDU4Cis6MTAyQTIwMDA3NTBERTQxMDI0RUZFNjEwODA4RUExMDA0MkY4QzNFNDk3Cis6MTAyQTMwMDAxMDBDMTBFQkYxOTBBQzQ5M0MwMjc2MDIzMkMwQzBFMEMxCis6MTAyQTQwMDAwNEE4MjA3NDAyMEMwODI0MTg4QUUwRTQxMjI0RTcwQTdGCis6MTAyQTUwMDBDNEU2MTI4MDhFQTEwMDQ0RjhDM0FDNDk4ODg2QzAwMDQ5Cis6MTAyQTYwMDBGOEMzQUM0OUU2M0FGOEMzQUM0OTg0QzA3NDA4RTQxMjMwCis6MTAyQTcwMDAwQzA0RTYxMkY4QzNFNDEyMjRGQkVCRjZBQzQ5RThENkVBCis6MTAyQTgwMDBGNjczMDNFODI3RjdGOEMzRTQxMkE4MDI3NDA0MjRGREUwCis6MTAyQTkwMDBFNjEyQjhGMDAwRTg4N0ZBODE2NjI2RkZGM0U4NTdGN0Y4Cis6MTAyQUEwMDBFODlBRkFGOEMzOTBCODgwMDBFODU3RkE4MDRFMjcwOEYxCis6MTAyQUIwMDBFODQ0RjdFODg3RkFGOEMzQjg4MDAwRTg2MUZBODE2NjZECis6MTAyQUMwMDAyNkZGRjdFODMxRjdFODc0RkFGOEMzOTBCODEwMDBFODg5Cis6MTAyQUQwMDAzMUZBODA0RTI3MDRFODFFRjdFODYxRkFGOEMzQjgxMDBGCis6MTAyQUUwMDAwMEU4M0JGQTgxNjYyNkZGRkJFODBCRjdFODRFRkFGOEIwCis6MTAyQUYwMDBDMzkwMzNDMEFDNDkzQzAxNzMwNEIwMDFFQjA2M0MwQ0ZECis6MTAyQjAwMDA3NjAyQjAwQzg5NDYxQ0Y4QzM5MDgxNEUyNjAwMjA4QUJDCis6MTAyQjEwMDA4NkE1MDAwQzAyMjRGQjg4ODZBNTAwRTYwQzgzNEUyNkMxCis6MTAyQjIwMDAwMUY4QzM5MDgxNEUyNjAwNDA4QTg2QTUwMDBDMDI4OEQ5Cis6MTAyQjMwMDA4NkE1MDBFNjBDRjhDMzkwQUM0OTUwRTgwNUY2NTg3MjNCCis6MTAyQjQwMDAwOEU2MzhCMDIzRTYwQUY4QzNGOUMzOTBBQzUwQURFODA0Cis6MTAyQjUwMDA4MkY4NUFGNkMyMDE3NDEyMzk4Njk2MDA3NDBDODk4NjdFCis6MTAyQjYwMDA5NjAwRTZGMDg2RTBFNkY4ODZFMEY2QzIwMjc0MTAzOUQ4Cis6MTAyQjcwMDA4Njk0MDA3NDBBODk4Njk0MDBFNkU0ODZFMEU2RUM4Mzk1Cis6MTAyQjgwMDBFOTAzQzM5MEU0MTY4ODg2QkMwMEU4RTZGQTMzREJFNDg4Cis6MTAyQjkwMDAwQ0E4MDY3NDAzODBDQjAxQTgxMDc0MDM4MENCMDJBODk0Cis6MTAyQkEwMDA4MDc0MDM4MENCMDRFNDEyOEFFMDI0MTgwQUQ4RTREQUEzCis6MTAyQkIwMDBGNkM0MDI3NDA3QTg0MDc1MDM4MENCMjBBODAyNzUwOUVCCis6MTAyQkMwMDBFNDJBQTgwRjc0MDM4MENCNDBGNzQ2MzgwMjAwNzQwOTRBCis6MTAyQkQwMDBFNEQ4QTgwMTc1MDM4MENCODA4ODlFQkUwMEZFODZCNDMxCis6MTAyQkUwMDAwMEIwMEFFODVDRTRGOEMzQUM0OTNDMDI3NDQxNzcxRkNBCis6MTAyQkYwMDA1MEU4NEZGNTU4NzIwQzg0QzA3NDBBQjAxMkU2MEE4MDhGCis6MTAyQzAwMDA0RTM4MDFGOEMzQjAxMUU2MEE4MDY2MzhGRUY4QzM4QjZGCis6MTAyQzEwMDA0NjM4MjVGRkY3ODk0NjM4QTkwMDA0NzVFNjhBODZBNTU3Cis6MTAyQzIwMDAwMEE4MTA3NURFMEMxMDg4ODZBNTAwRTYwQ0Y4QzM4MTlDCis6MTAyQzMwMDA0RTM4MDAwODhBODZBNTAwQTgxMDc0QzcyNEVGRUJFNzc5Cis6MTAyQzQwMDBBRDQ5NDkzQzAxNzIxMTNDMEM3NzBENTA4QUUwRTQxNDA3Cis6MTAyQzUwMDAyNUYwMEYwQUM0RTYxNDU4OEFDNDg0QzA3NDAyRTY0MjAwCis6MTAyQzYwMDBGOEMzRThDRkY5RkU4NkI5MDBCMDBFRThENEUzRjhDM0E0Cis6MTAyQzcwMDAzQTg2QUYwMDc0MUY4ODg2QUYwMDhBRTA4MEMyMDZCMDMzCis6MTAyQzgwMDBCRkVFODBFQTAyOEFDNEVFOEE4NkE4MDA4MEMyMDJFRTA1Cis6MTAyQzkwMDA4MEVBMDY4QUM0QzM4QjQ2M0U4NUMwOEE4NkE1MDA3NDM2Cis6MTAyQ0EwMDAxMkE4MDg3NTBEMEMwODg4ODZBNTAwODBDMjAyRUU4MDY3Cis6MTAyQ0IwMDBFQTAyQzNBODA4NzRGQjI0RjdFQkVDOEI0NjI2ODRDMDE5Cis6MTAyQ0MwMDA3NDE2OEE4NkE1MDBBODAyNzQwRDI0RkQ4ODg2QTUwMEM2Cis6MTAyQ0QwMDA4M0MyMDJFRTgzRUEwMkMzOEE4NkE1MDBBODAyNzVGN0MyCis6MTAyQ0UwMDAwQzAyRUJFODUyODNDMjBDRUNDMEU4MDQ4ODg2QTkwMDExCis6MTAyQ0YwMDA4QjVFMjY4MEUzM0ZGNkM3MDQ3NDA3QTgwODc1MDM4MDNGCis6MTAyRDAwMDBDQjQwRjZDNzA4NzQwN0E4MDI3NTAzODBDQjgwODg1RUE1Cis6MTAyRDEwMDAyNjhBODZBNTAwODREQjc0MTBBODAyNzQwQTI0RkQ4ODI0Cis6MTAyRDIwMDA4NkE1MDA4M0VBMEFFRTVBQzNBODAyNzVGQTBDMDJFQkU0Cis6MTAyRDMwMDBFRTkwRkZGRjAwNDgwMDMwQkEyMEM0MUEwMDE4MDAxMkJECis6MTAyRDQwMDAwMDBDMDAwNjAwMDMwMDAyODAwMUMwMDA2MDAwMzAwMDlCCis6MTAyRDUwMDAxODAwQ0QwMTAwMDE4MDAwMTAwMDEwMDAwRTAwMEMwMEQyCis6MTAyRDYwMDAwODAwMDAwMDAwMDAwNjAwMDQwMDAzMDAwMjAwMDEwMDRCCis6MTAyRDcwMDA1MjUxNTYzQzFFNzc0Nzk4OEJGMDhBODJDNDAwMzJFNDQ5Cis6MTAyRDgwMDA4M0ZFMTg3NDNEODNGRTE5NzQzRTgzRkUxRTc3MkZEMTk3Cis6MTAyRDkwMDBFNjJFOEI4QzMyMkQzQjhFOTQwMDc0MjI4OThFOTQwMDBCCis6MTAyREEwMDA4M0MyMDY4QTg2QTgwMDhBRTAwQzgwRUU4M0VBMDY4QTNGCis6MTAyREIwMDBDMUVFODNDMjAyOEFDNUVFODNDMjA0OEFDNEVFNUU1OUE0Cis6MTAyREMwMDA1QUMzOEI4RThFMDBFQkNFOEI4RTkwMDBFQkM4NTI1MTg3Cis6MTAyREQwMDAzRDA1MDA3NzAzQjgwNTAwOEJDOEJBMDIwMEI4MDBEMEUzCis6MTAyREUwMDBGN0YxMDUwMTAwRDFFODU5NUFDMzhCNDY3QUE4MjA3NDNGCis6MTAyREYwMDAwQjgwQkVDMzAwMDM3NTA0MEMwMUVCMDIyNEZFODk0NjYwCis6MTAyRTAwMDA3QUMzMjQwMzg4ODZDMzAwOEFBNkE4MDA4QURDODBFNEVCCis6MTAyRTEwMDBGQzBBQzQzQUMzNzQwQjg4ODZBODAwODNDMjA2RUU4M0ZBCis6MTAyRTIwMDBFQTA2RThDNUZGQzMwMDA4MTgzODI4OTAzQzA0NzcyMzU5Cis6MTAyRTMwMDAzMkU0OEJEODJFOEE4NzI2MkU4QUE2QTgwMDhBREM4MEM4Cis6MTAyRTQwMDBFNEM3MEFDNDNBQzM3NDBCODg4NkE4MDA4M0MyMDZFRTlFCis6MTAyRTUwMDA4M0VBMDZDMzg0QzA3NDAyQjAwNDhBQTZBODAwOEFEQzkwCis6MTAyRTYwMDA4MEU0RkIwQUM0M0FDMzc0MEI4ODg2QTgwMDgzQzIwNkI4Cis6MTAyRTcwMDBFRTgzRUEwNkMzOTA4QjVFMzg4NEMwNzQzNDNDMDI3NERGCis6MTAyRTgwMDAzQjhBODZBRjAwMEMwNEU4RTZGRDhCNDYyRTNCNDYzQ0IxCis6MTAyRTkwMDA3NzFCRjdDMzAwMDQ3NTE1ODFDQjAwMDQ4M0MyMDI4QTM3Cis6MTAyRUEwMDA4NkE1MDAyNEZBODg4NkE1MDBFRTgzRUEwMjg5NUUzOEFBCis6MTAyRUIwMDBDMzhBODZBRjAwMjRGQkU4QjZGREVCRjFGN0MzMTAwMDMwCis6MTAyRUMwMDA3NEVGRUJFRDgzQzIwQ0VDODNFQTBDQzBFODA0ODg4NjU3Cis6MTAyRUQwMDBBOTAwQzM5MDhBODZBNzAwMEMwMTg4ODZBNzAwOEJEQTE4Cis6MTAyRUUwMDA4MEMyMDhFRThCRDNGOEMzOEE4NkE3MDAyNEZFRUJFQUUzCis6MTAyRUYwMDA4QTg2QTcwMDBDMDJFQkUyOEE4NkE3MDAyNEZERUJEQUEzCis6MTAyRjAwMDBCMEZGRTg1MkYyRTg5N0YyRjhDM0FDNDlFODYxRkVGODg2Cis6MTAyRjEwMDBDMzkwQUM0OUU4RUJGRUY4QzM5MEFDNDlFODM1RkZGODQ0Cis6MTAyRjIwMDBDMzkwQUM0OUU4MDVGRkY4QzM5MDUyODNDMjA2QjBCRjE2Cis6MTAyRjMwMDBFRTUyODNDMjAyQUM0OUVFNUE4QTg2QTgwMEVFNUFGOEQ1Cis6MTAyRjQwMDBDMzkwNTI4M0MyMDZCMEJGRUU1MjgzQzIwNkVCRTY5MDM2Cis6MTAyRjUwMDBBQzQ5M0MwMjc3MEQ4NEMwNzUwQjhBODZBRjAwMjRGRDE2Cis6MTAyRjYwMDBFODBERkRGOEMzNTA4QTg2QUYwMDBDMDJFODAxRkQ1QjU2Cis6MTAyRjcwMDA4M0MyMDg4QTg2QTcwMEY2QzMwMTc0MEMyNERGODg4NjAyCis6MTAyRjgwMDBBNzAwRUU4M0VBMDhGOEMzMEMyMEVCRjJBQzQ5RThFNUIxCis6MTAyRjkwMDBGRUY4QzM5MEI4MDA0MEU4NjlGNUU4RjlGQ0U4MjRGRkMyCis6MTAyRkEwMDBCMDAxRThBNUY2RjhDMzkwQjgwMDQwRTg3MUY1RThFNThGCis6MTAyRkIwMDBGQ0Y4QzM5MEI4MDAxMEU4NDlGNUU4RDlGQ0U4MDRGRjM0Cis6MTAyRkMwMDBCMDA4RTg4NUY2RjhDMzkwQjgwMDEwRTg1MUY1RThDNUY4Cis6MTAyRkQwMDBGQ0Y4QzM5MEI4MDA4MEU4MjlGNUU4QjlGQ0U4RTRGRTA1Cis6MTAyRkUwMDBCMDAyRTg2NUY2RjhDMzkwQjgwMDgwRTgzMUY1RThBNUNFCis6MTAyRkYwMDBGQ0Y4QzM5MEI4MDAyMEU4MDlGNUU4OTlGQ0U4QzRGRUE1Cis6MTAzMDAwMDBCMDA0RTg0NUY2RjhDMzkwQjgwMDIwRTgxMUY1RTg4NTZCCis6MTAzMDEwMDBGQ0Y4QzM5MEFDNDlFODM0MENGOEMzOTBCOEZDM0I4OTg5Cis6MTAzMDIwMDA0NjdDRjhDMzhBODZBRjAwMEM4MEU4NDNGQ0Y4QzM5MDY2Cis6MTAzMDMwMDA4QTg2QUYwMDI0N0ZFQkYyOEE4NkFGMDAwQzQwRTgyRjJGCis6MTAzMDQwMDBGQ0Y4QzM5MDhBODZBRjAwMjRCRkVCRjJBQzQ5QTgwMTFDCis6MTAzMDUwMDA3NDA3ODM0RTdBMjBFQjA1OTA4MzY2N0FERkU4OEFGRDU5Cis6MTAzMDYwMDBGOEMzODNDMjA2OEE4NkE4MDAwQzQwODg4NkE4MDBFRUIyCis6MTAzMDcwMDA4M0VBMDZBQzQ5MzJFNDg5NDY2RTgzNEUyNjAxODM0RUNDCis6MTAzMDgwMDA0ODA4QjAwNkU4QkJERjQ5NDZGOUMzOTA4M0MyMDY4QTA4Cis6MTAzMDkwMDA4NkE4MDAwQzQwODg4NkE4MDBFRTgzRUEwNkFDQjQwQTM1Cis6MTAzMEEwMDBGNkU0RUJEMEU4RTAwQkY4QzM5MEFENDk0OTg5NDY2NEZCCis6MTAzMEIwMDBBOTAxMDA3NDE5OEJEODgzRTNGQTc1MEFBOTA0MDA3NDc2Cis6MTAzMEMwMDAwREI4RTIzRkVCMEJFOEVDRjRCOEFBNDBFQjAzQjgzOERDCis6MTAzMEQwMDA0NDg5NDY2MkY4QzM4QTg2QUYwMEE4MDI3NDBBMjRGREI4Cis6MTAzMEUwMDBFODhERkIwQzAyRTg4OEZCRjhDM0FDNDlFODgxRkNGOEVBCis6MTAzMEYwMDBDMzkwQUM0OUU4NzlGQ0Y4QzM5MEU4NUNGNTc1MDVFODQ1Cis6MTAzMTAwMDBFNkZERjhDM0U4Q0RGRDM2QTBCNDEzMjQxMDM0MTBFODcyCis6MTAzMTEwMDAyNjAxMzZBMUI0MTNBOTAxMDA3NDA1RThGRUZFRUIwRUVBCis6MTAzMTIwMDBBOTAyMDA3NDA0MzJDMEVCMDJCMDAxRThFOEZFMzZBMTQ3Cis6MTAzMTMwMDBCNDEzRThBQjBCMzZBMUI0MTNDMUU4MDUyNTAxMDBFOEQwCis6MTAzMTQwMDAwQ0ZGMzZBMEI1MTMyNDEwRTgyQkZEMzJDMDM2OEEyNkJBCis6MTAzMTUwMDBCNTEzRjZDNDA0NzQwOUZFQzBGNkM0MDg3NDAyRkVDMEI4Cis6MTAzMTYwMDBFOEVGRkQzNkExQjYxMzI1MEYwMEU4MDNGQzM2QTFCNjQzCis6MTAzMTcwMDAxM0MxRTgwNDI1MDMwMEU4ODhGQzM2QTFCNjEzQzFFOEIyCis6MTAzMTgwMDAwNTI1MDIwMEU4Q0RGQzM2QTFCNjEzRjZDNDAxNzUwNDhFCis6MTAzMTkwMDAzMkMwRUIwOTgwRTQwMkQwRUNCMDAyMkFDNEU4OENGQzE3Cis6MTAzMUEwMDAzNkY2MDZCNzEzNDA3NDA1RTg4REZFRUIwM0U4OTRGRThGCis6MTAzMUIwMDAzNkY2MDZCNzEzMjA3NDA1RTg2OUZFRUIwM0U4NzBGRUU3Cis6MTAzMUMwMDBGOEMzRjhDMzhCNDYzOEE5MDQwMDc1MjMwRDA0MDA4OUExCis6MTAzMUQwMDA0NjM4ODNDMjA4OEI0NjJFM0I0NjNDNzMxNDgzNEUzOEQ4Cis6MTAzMUUwMDAxMDhBODZBNzAwMjRGRTg4ODZBNzAwRUU4M0VBMDhGOEU2Cis6MTAzMUYwMDBDMzhBODZBNzAwMEMwMUVCRUU5MDhCNDYzOEE5MDQwMDI5Cis6MTAzMjAwMDA3NDA2MjVGQkZGODk0NjM4RjhDM0FENDk0OUU4QkVGQjgzCis6MTAzMjEwMDA4OTg2OEUwMEY4QzNBRDQ5NDlFOEIyRkI4OTg2OTAwMEUzCis6MTAzMjIwMDBGOEMzODM0RTI2MDRFODkyRkFGOEMzOTA4MzY2MjZGQjFGCis6MTAzMjMwMDBFODg4RkFGOEMzOTBBQzQ5ODRDMDc1MDc4MDhFQTMwMDczCis6MTAzMjQwMDAwNEY4QzM4MEE2QTMwMEZCRjhDM0FDNDk4M0MyMDgzQ0MyCis6MTAzMjUwMDAwMjc2MDIzMkMwM0MwMTc0MTI3NzBCOEE4NkE3MDAyNEUyCis6MTAzMjYwMDBFRjg4ODZBNzAwRUU4M0VBMDhGOEMzOEE4NkE3MDAwQ0Q5Cis6MTAzMjcwMDAxMEVCRUU5MDUyODNDMjA2QjBCRkVFNTI4M0MyMDRBQzk0Cis6MTAzMjgwMDA0OUVFNUE4QTg2QTgwMEVFNUFGOEMzOTA1MjgzQzIwNkM1Cis6MTAzMjkwMDBCMEJGRUU1MjgzQzIwOEVCRTY5MEFDNDlGOEMzQUM0OTJDCis6MTAzMkEwMDBFOEI0RUU3MzAzRThGN0VFRjhDMzhBODZBRjAwMjQ3RjM0Cis6MTAzMkIwMDBFOEJERjlCOEYwMDBFODY2RjI4MTY2MjZGRkYzRTgyMzdFCis6MTAzMkMwMDBGQUU4RDJGOUY4QzNCODgwMDBFODM3RjI4MDRFMjcwODUwCis6MTAzMkQwMDBFODExRkFFOEMwRjlGOEMzQjg4MDAwRTg0MUYyODE2NjY1Cis6MTAzMkUwMDAyNkZGRjdFOEZFRjlFOEFERjlGOEMzOTBCODEwMDBFODVBCis6MTAzMkYwMDAxMUYyODA0RTI3MDRFOEVCRjlFODlBRjlGOEMzQjgxMDA4Cis6MTAzMzAwMDAwMEU4RkZGMTgxNjYyNkZGRkJFOEQ4RjlGOEMzQUM0OTc1Cis6MTAzMzEwMDBGOEMzODNDMjA2OEE4NkE4MDAwQzQwODg4NkE4MDBFRUZGCis6MTAzMzIwMDA4M0VBMDZGOEMzOTA4M0MyMDY4QTg2QTgwMDI0QkZFQjBFCis6MTAzMzMwMDBFQTkwQUM0OThBRTA4MEMyMEFFQzgwRUEwQUE4MjA3NENDCis6MTAzMzQwMDAwNThBQzRFRUY4QzMwNjUxNTc4QjRFMjRFMzM0NDk4OUVECis6MTAzMzUwMDA0RTI0RkY0NjFBOEU0NjAyOEI3RTIyOEFDNEFBODk3RTlDCis6MTAzMzYwMDAyMjhCNDYyNjI0RkQ4OTQ2MjY3NTI5OEE4NkE1MDBBODMzCis6MTAzMzcwMDAwMjc1MjE4MEMyMDIwQzAyODg4NkE1MDBFRTgwRUEwMjU2Cis6MTAzMzgwMDBFQjEyQzQ3RTAwM0I3RTFFNzYwQTRGMjY4ODI1ODk3RTdFCis6MTAzMzkwMDAwMEZGNDYxQTVGNTkwN0Y4QzM5MEFDQUQ4M0U5MDM4NTc3Cis6MTAzM0EwMDBDMDc0MDUzRDAwMjA3MjA1QjhGRkZGRUIwM0MxRTAwM0M4Cis6MTAzM0IwMDAzQjg2OTQwMDc0MjY4OTg2OTQwMDhCRDg1MjgzQzIwNjdCCis6MTAzM0MwMDA4QTg2QTgwMDhBRTAwQzgwRUU4M0VBMDY4QUMzRUU4MzMwCis6MTAzM0QwMDBDMjAyOEFDN0VFODNDMjA0OEFDNEVFNUFGOEMzQjA4ODE4Cis6MTAzM0UwMDA4ODg2QkMwMEU4OENGMjMzREI4QTg2QTUwMEE4MDI3NENDCis6MTAzM0YwMDAwMzgwQ0IwMUE4MDU3NDAzODBDQjAyQTgwODc0MDM4MDY2Cis6MTAzNDAwMDBDQjA0RjY4NkE3MDAxMDc0MDM4MENCMTA4QTg2QTkwMDJGCis6MTAzNDEwMDBGNkMzMDQ3NTBBODNDMjBDRUM4M0VBMENDMEU4MDQ4QTg0Cis6MTAzNDIwMDBFMDhBODZBRjAwQTg4MDc0MDhGNkM0MDE3NTAzODBDQkRCCis6MTAzNDMwMDAyMEY2ODZBNzAwMDI3NTBBRjc0NjM4MDQwMDc0MDM4MDU4Cis6MTAzNDQwMDBDQjQwODg5RUJFMDBGRTg2QjQwMEIwMEFFOEYzREJGOEVECis6MTAzNDUwMDBDM0ZFODZCNDAwQjAwQUU4RThEQkY4QzNBQzQ5M0MwMjFFCis6MTAzNDYwMDA3NDM3NzcxMDg0QzA3NDA2ODA0RTM4MDFGOEMzODA2NkM0Cis6MTAzNDcwMDAzOEZFRjhDMzhCNDYzODI1RkZGNzg5NDYzOEE5MDAwNDgzCis6MTAzNDgwMDA3NUVBOEE4NkE1MDBBODAxNzVFMjBDMDU4M0MyMDI4ODQ4Cis6MTAzNDkwMDA4NkE1MDBFRTgzRUEwMkY4QzM4MTRFMzgwMDA4OEE4NkNBCis6MTAzNEEwMDBBNTAwQTgwMTc0QzYyNEZBRUJFMkFENDk0OUY4QzM5MDFGCis6MTAzNEIwMDBFODExRkFGRTg2QjkwMEIwMEVFODg2REJGOEMzQjBGRjZCCis6MTAzNEMwMDBFOEJGRUNGOEMzOTA4MzY2N0FGQkIwMDBFODczREJGOEUyCis6MTAzNEQwMDBDMzkwQUM0OUU4NTNEOTcyMTEzNjg4MUUxQTAxMzZBMDQwCis6MTAzNEUwMDA4RTEyMEFDMzUyQkEwMDAxRUU1QUY4QzNBQzQ5MzJFNDU0Cis6MTAzNEYwMDAzNkEzODYxMjA1MDYwMDM2OEIxRTg4MTIyQkQ4MzY4OTE1Cis6MTAzNTAwMDAxRThBMTJGOEMzOTBBRDhCRDhBRDgzRTkwNDAzQzMyQjk4Cis6MTAzNTEwMDA0Njc2ODk0Njc4Rjc0NjdBMDIwMDc0MEE4MzY2N0FGRDExCis6MTAzNTIwMDBCODAwMDBFODFDREJGOEMzMDYxNjA3QUM0OTI1MEYwMEZECis6MTAzNTMwMDA2QkMwMDk4REJFRkQwMDAzRjhBQzQ5MjUwRjAwQUE4NUJDCis6MTAzNTQwMDBDMDc0MDgyQkM4NTE4QkM4RjNBNDU5RTgyN0YwRTg0NDhECis6MTAzNTUwMDAwMzA3RjhDMzMzQzBBQzQ5MzZBM0IyMTMzNkEzQjAxMzg0Cis6MTAzNTYwMDBGOEMzODM2NjdBRUZFODJDMDNGOEMzOTA4MzRFN0ExMDkxCis6MTAzNTcwMDBFQkY0RTg5QkYwRjhDMzkwQUQzQzE5NzcwRTNDMTk3NzVCCis6MTAzNTgwMDAwQThCRjg4MUU3RkYwMDg4QTZDNDAwRjhDMzkwODM0RTM5Cis6MTAzNTkwMDAyNjIwQUM0OTMyRTREMUUwOEJEOEMxRTMwMjAzQzM4OUQxCis6MTAzNUEwMDA0NjZFODM0RTQ4MDRCMDA2RTg5N0RBNDk0NkY5QzM5MDYwCis6MTAzNUIwMDBGRTg2QjMwMEIwMEFFODg5REFGOEMzOTAzM0MwQUM0OTlDCis6MTAzNUMwMDA2QkMwMEE4OTg2OEEwMEY4QzM5MEFDNDkzMkU0M0QwQTkwCis6MTAzNUQwMDAwMDc3MDVCODBBMDBFQjA4M0Q1QTAwNzIwM0I4NUEwMDlDCis6MTAzNUUwMDA1MUY3RDgwNTY0MDA4QkM4OEI0NjQ0RjdFMUI5NjQwMEY1Cis6MTAzNUYwMDBGN0YxODk0NjQ2NTlGOEMzQUM0OUU4ODVFQkY4QzM5MDIyCis6MTAzNjAwMDBBQzQ5ODRDMDc1MDc4MTY2MzhGRkZERjhDMzgxNEUzODI4Cis6MTAzNjEwMDAwMDAyRjc0NjM4NDAwMDc1MDg4QTg2QTkwMDg4ODZBQTA1Cis6MTAzNjIwMDAwMEY4QzM5MDUxNTZFODdGMEM1RTU5RjhDMzkwRkU4NkFGCis6MTAzNjMwMDBCNjAwQjAwQUU4MEJEQUY4QzM5MEZFODZCNzAwQjAwQTBECis6MTAzNjQwMDBFOEZGRDlGOEMzOTBGRTg2QjgwMEIwMEFFOEYzRDlGOENECis6MTAzNjUwMDBDMzkwMDA5MDUxNTVBQzJFQTI1MjM2MzNDOUFEOEJGOUIwCis6MTAzNjYwMDBDMUU3MDVBOTAxMDA3NDIzMkU4QkFENDQwMDgzN0UwOEI5Cis6MTAzNjcwMDAwMDc0MTgyRTgwM0U1MjM2MDE3NDA5NjBCMDA0RThCQjE1Cis6MTAzNjgwMDAwQzYxRUIwNzYwQjBGQkU4RUMwQzYxNDc0N0QxRTg3NUQzCis6MTAzNjkwMDBEMjQxODNGOTA0NzJDNjVENTk4M0U5MDVGNzQ2Mzg0MDgzCis6MTAzNkEwMDAwMDc0MDVFODg3RUFGOEMzRTg4REVBRjhDMzkwMzZDNkU3Cis6MTAzNkIwMDAwNkM4MTMwMUY4QzMzM0MwQUM0OTM2QTM4MDEyQUM0OTI1Cis6MTAzNkMwMDAzNjJCMDY4ODEyRjdEODM2QTM4MjEyRjhDMzkwREUyNjZFCis6MTAzNkQwMDBERTI2RUMyNkYyMjZGODI2RkUyNjA0MjcwRTI3MTYyN0RECis6MTAzNkUwMDAxRTI3MjYyNzJFMjczNDI3QkUzNEM2MzREMjM0M0EyNzQ1Cis6MTAzNkYwMDA3ODI3ODAyNzk0MjdBMDI3QjQyN0MwMjdENDI3RTAyNzNFCis6MTAzNzAwMDBGNDI3MDAyODEwMjhFQzM0REUyNjFFMjgyNjI4MkMyODMyCis6MTAzNzEwMDAzMjI4MzgyODRFMjg4QTI4MDYzNTI4MzU5ODI4QkUyODg5Cis6MTAzNzIwMDBEMjI4REUyOEU2Mjg1NDM1NjIzNTZDMzVFRTI4QzAyOUNCCis6MTAzNzMwMDBDODI5Q0UyOUUwMjk3MjM1NzgzNUYwMjlGQzI5OEUzNTQzCis6MTAzNzQwMDAwODJBMTIyQTFDMkFCMDM1MzYyQUJDMzU1QTJBNjIyQTdGCis6MTAzNzUwMDA2ODJBQ0EzNTdDMkFGODM1ODgyQUE2MkFCODJBQ0MyQUFCCis6MTAzNzYwMDBERTJBRjIyQTAwMzYwQTJCMjQyQjI0MzYzODJCNEMyQjQ3Cis6MTAzNzcwMDA4NDJCMkUzNjNBMzY0NjM2NTQzNkU4MkJBRTM2NDAyQzVECis6MTAzNzgwMDA2MjJDQjYzNjcwMjhERTI2REUyNkQ0MkVFODJFRjAyRUU5Cis6MTAzNzkwMDBGODJFMDAyRjBBMkYxMjJGMUEyRjIyMkYyQTJGNDIyRkY2Cis6MTAzN0EwMDBCRTM0QzYzNEQyMzQ1MDJGOEMyRjk0MkZBODJGQjQyRjcwCis6MTAzN0IwMDBDODJGRDQyRkU4MkZGNDJGMDgzMDE0MzAxQzMwRUMzNEVECis6MTAzN0MwMDBERTI2MjQzMDMwMzAzODMwNDQzMDRDMzA2MjMwQTQzMDgzCis6MTAzN0QwMDAwNjM1MjgzNUFBMzBDRTMwRDYzMEVBMzBGMjMwNTQzNUFFCis6MTAzN0UwMDA2MjM1NkMzNUZBMzBDMjMxQzIzMUM0MzFGQTMxNzIzNUNBCis6MTAzN0YwMDA3ODM1MEEzMjE2MzI4RTM1MjIzMjJDMzIzNjMyQjAzNUQ2Cis6MTAzODAwMDA0QTMyQkMzNTc0MzI4QzMyOUEzMkNBMzU5RTMyRjgzNTFGCis6MTAzODEwMDBBQTMyQzYzMkQ4MzJFQzMyRkUzMjBFMzMwMDM2MTIzM0MwCis6MTAzODIwMDAyNjMzMjQzNjMyMzM5QTMzREUzMzJFMzYzQTM2NDYzNjUyCis6MTAzODMwMDA1NDM2NUMzNEFFMzZBQTM0QjAzNEI2MzY4QzMwRTMyODE1Cis6MTAzODQwMDBGNzQ2Mzg0MDAwNzUzMkU4RTNFODMzQzBBQzQ5M0Q1QkU5Cis6MTAzODUwMDAwMDc3MTk4QkQ4RDFFMzJFRkY5N0NFMzY3MjBCODVDOTJFCis6MTAzODYwMDA3NUU4OEI0NjQ4RTgxQTBDQzM0RTQxQzM2QTAwMUZDNjcwCis6MTAzODcwMDAwNjkzMTIwQzlDMEVFODYzREFFOEJDRTgzM0MwQUM0OTRFCis6MTAzODgwMDAzRDVCMDA3N0U3OEJEOEQxRTMyRUZGOTc4NjM3NzJEOTVGCis6MTAzODkwMDA4NUM5NzVFOEMzRjc0NjdBMTAwMDc1MEY4M0JFODQwMEFBCis6MTAzOEEwMDAwMDc0MDhCODQ4M0E4OTg2ODAwMEMzODFCRTgwMDBFQzY1Cis6MTAzOEIwMDAzQzc0Rjc4M0JFODgwMDAwNzUwNUI4RUMzQ0VCRTdGNzc1Cis6MTAzOEMwMDA0NjdBMDgwMDc1NDAxRTYwOEI4RTg4MDAzQjRFNzQ3N0U4Cis6MTAzOEQwMDAzMzNCNEU3ODc3MkVDNDdFMTA4QkRGMjYwMzNENDc0NzVGCis6MTAzOEUwMDAzM0MwOEVEODhEQjZGNDAwOEJDMUY3NDY3QTAxMDA3NUNGCis6MTAzOEYwMDAxREYzQTQyNjAxMDcyOTQ2NzgwMTQ2NzYyOTQ2NzRCMEFGCis6MTAzOTAwMDAwQ0U4M0VENzYxMUZDNzg2ODgwMDAwMDBFQkFDRTNFM0ZDCis6MTAzOTEwMDA1MDkwQUMyNDdGQUFFMkZBNThFQkQ4OTA4QjhFODgwMEE2Cis6MTAzOTIwMDBFMzQ2OEI5RThBMDA4NURCNzQzRUJBNTBGRkVEMkI4NjAyCis6MTAzOTMwMDA4MjAwM0JDMzcyMzc4REI2RjQwMEM0N0UxMDhCREYyNjQ1Cis6MTAzOTQwMDAwMzNENDc0NzhCQzExNjFGRjc0NjdBMDEwMDc1MjRGM0U0Cis6MTAzOTUwMDBBNDI2MDEwNzI5NDY3ODAxNDY3NjI5NDY3NEM3ODY4ODM5Cis6MTAzOTYwMDAwMDAwMDBCMDBDRThEQUQ2ODM2NjdBRjdDM0IwMDBFODRFCis6MTAzOTcwMDBEMEQ2QzNFM0RDNTBBQzI0N0ZBQUUyRkE1OEVCRDI5MDU1Cis6MTAzOTgwMDAxRTYwMzNDMDhFRDg4REI2RkQwMDhCODY4ODAwOEI5NjY2Cis6MTAzOTkwMDA4NDAwM0EwNDc1MTA4QkRFNDY4QkM4OERCRUY0MDBGM0FDCis6MTAzOUEwMDBBNjc0NjY4QkYzOTA4M0M2MDk0QTc1RTY4REI2RkQwMDUyCis6MTAzOUIwMDA4Qjk2ODQwMDNBMDQ3MzEwOEJERTQ2OEJDODhEQkVGNDYwCis6MTAzOUMwMDAwMEYzQTY3NDc2OEJGMzkwODNDNjA5NEE3NUU2OERCNjJDCis6MTAzOUQwMDBGNDAwQUNGNzQ2N0EwMTAwNzQwMjI0N0YxRUM1NUUxMDI1Cis6MTAzOUUwMDA4QjM3ODg0MDAyNDY4OTM3RkY0RTc4RkY0Njc2RkY0RTc4Cis6MTAzOUYwMDA3NDFGOEI4RTg4MDA0OTg5OEU4ODAwRTM0MzhEQjZGNDRFCis6MTAzQTAwMDAwMDhCRkU0NkYzQTRFOTdERkZDNTc2MTA4QjFDODVEQjk5Cis6MTAzQTEwMDA3NDA4MDNGMzgzQzYwMzgzRTZGRThCODY4NDAwMkJDMkZGCis6MTAzQTIwMDBCNDgwODkwNDQ2NDZDNzA0MDAwMDg5NzYxMDgzNEU3QTI0Cis6MTAzQTMwMDAwNEM3ODY4ODAwMDAwMDYxMUZGOUMzMzNDMDYxMUZDMzNCCis6MTAzQTQwMDBCMDgwODRDMDYxMUZDMzkwOEI0RTc4MkI4RTg4MDA3NjI3Cis6MTAzQTUwMDAyNzg5QjY4QzAwOEI1RTc0M0JDQjcyMDI4QkNCM0JDODQ0Cis6MTAzQTYwMDA3MjAyOEJDODhCQzFFMzQ0MzNEMjhFQzI4QkQxODNCRTJBCis6MTAzQTcwMDA4ODAwMDA3NDA2RTk4RTAwMzNDMEMzOEI1RTEwMDMxRkZDCis6MTAzQTgwMDA0MzQzNTJGNzQ2N0EwMTAwNzUyQUFDOERCRUU0MDA4QkExCis6MTAzQTkwMDA4RTg2MDBGMkFFNzQzNDg4MDc0MzRBNzVFRDU4OEI1RTBCCis6MTAzQUEwMDAxMDAxMDcyOTQ2NzgwMTQ2NzYyOTQ2NzQ4QkM2MkI4Njc1Cis6MTAzQUIwMDA4QzAwQzM5MEFDOERCRUU0MDA4QjhFODYwMEYyQUU3NDk5Cis6MTAzQUMwMDAwQTI0N0Y4ODA3NDM0QTc1RUJFQkQyODg4NkY0MDBDNzQ3Cis6MTAzQUQwMDA4Njg4MDAwMTAwNTgyQkMyNzQwRThCNUUxMDAxMDcyOUU2Cis6MTAzQUUwMDA0Njc4MDE0Njc2Mjk0Njc0NDBFODk0RkU3MkJFNEE3NUNGCis6MTAzQUYwMDAxNTgzQkU4QTAwMDA3NEI0QkE1MEZGRUQ4OTg2ODIwMDM3Cis6MTAzQjAwMDA4MzRFN0EwOEVCQTY4REJFRjQwMDAzQkU4ODAwQTRGRkE2Cis6MTAzQjEwMDA4Njg4MDBFODZBRkU3Mjk0NzkwNjRBNzQ4RkU5NUJGRjMyCis6MTAzQjIwMDA0QTc0Q0VFQkUxOTA1MEU4MTFDQzhCNDY3NDM5NDY3MjYyCis6MTAzQjMwMDA3NDI3MUU1NjUxMzNDOUM1NzYwQ0FENzQxMDc4MDkwMzJECis6MTAzQjQwMDBDODA1MDEwMDI0RkUwM0YwM0I3NjEwNzZFRDI5NEU3NjgxCis6MTAzQjUwMDAwMTRFNzhFODM3Q0M1OTVFMUY1OEMzOTBDNDdFMTAyNkJBCis6MTAzQjYwMDA4QjFEODNDMzAzMjY4OTFENEIwM0ZCQUI5MUFBQjgwM0FFCis6MTAzQjcwMDAwMDI5NDY3ODAxNDY3NjI5NDY3NEMzOTBDNDdFMTAyNkYzCis6MTAzQjgwMDA4QjFENDMyNjg5MUQ0MzAzRkJBQUZGNEU3OEZGNDY3NjEzCis6MTAzQjkwMDBGRjRFNzRDM0U4RTVGRkMzODA4MTg0ODU4MjgzODY4N0Y2Cis6MTAzQkEwMDA1MDUzOEFEQzgzRTMwRUQxRUIyRThBODc5ODNCMDg4NjNDCis6MTAzQkIwMDBCMDAwRkU4NkIxMDBCMDBBRTg4N0Q0NUI1OEMzNTA4QUQzCis6MTAzQkMwMDBDOEI4RkYwMEU4OTVGRjU4QzM5MDhBODZCQjAwRThBQkYxCis6MTAzQkQwMDBGRkMzRThDQkZGRThGMkZGQzM5MEU4QzNGRkU4QjRGRjAwCis6MTAzQkUwMDBDMzkwMzNDMEU4OTVGRkMzQjhGRjAwMzNDOUU4NkNGRjRBCis6MTAzQkYwMDBDMzkwQjhGRjAxQjExMEU4NjJGRkMzOTBDM0ZDM0JFMjgxCis6MTAzQzAwMDAzQkYyM0JGMjNCRkMzQkUyM0JFODNCRTgzQkZDM0JFMjZDCis6MTAzQzEwMDAzQkU4M0JFODNCRkMzQkUyM0JFMjNCRTIzQjAwMTAwMDg1Cis6MTAzQzIwMDAwMDAwMTAwMDAwMDAxMDAwMDAwMDEwMDAwMDAwMTAwMDU0Cis6MTAzQzMwMDAwMDAwMTAwMDAwMDAxMDAwMDAwMDEwMDAwMDAwMDgwMDRDCis6MTAzQzQwMDAwMDAwMDgwMDAwMDAwODAwMDAwMDA4MDAwMDUxNTM4QjJECis6MTAzQzUwMDA0RTM4ODFFMUZGRUVBODA0NzQwNDgxQzkwMDAxOEFFMEI2Cis6MTAzQzYwMDA4MEU0MDMyNDE4RDBFNDBBQzQzM0RCOEFEODJFOEI4NzdGCis6MTAzQzcwMDBGRDNCODk0NjdDMkUwQjhGMUQzQzg5NEUzOEQxRUIyRUE3Cis6MTAzQzgwMDA4QUE3M0QzQzVCNTlDM0FDNDkzQzAxNzIxRDc0MjAzQzgyCis6MTAzQzkwMDAwMzcyMjM3NDI4M0MwODcyMkI3NDMwM0MyMDcyMzc3NEYyCis6MTAzQ0EwMDAzQUJCREEzQjMyRTQ4OTVFN0VDM0JCQTAzQkVCRjVCQjlCCis6MTAzQ0IwMDA5NDNCQjQwMUVCRjBCQkZDM0JCNDAyRUJFOUJCRTIzQjUxCis6MTAzQ0MwMDBCNDAzRUJFMkJCQkUzQkI0MDRFQkRCQkJDQTNCQUM0OTg5Cis6MTAzQ0QwMDA4ODg2QkIwMEVCQ0VCQkQyM0JFQkYzQkJGQzNCRUJDNDFCCis6MTAzQ0UwMDBBOTA0MDA3NUQxQTkwODAwNzVEQUVCRDE4QjVFNzQ4QjNECis6MTAzQ0YwMDA0RTc4M0JDQjcyMDI4QkNCM0JDODcyMDI4QkM4OEJDMTE4Cis6MTAzRDAwMDBFMzJDQzQ3RTEwOEJERjI2MDMzRDQ3NDdGNzQ2N0EwMTNDCis6MTAzRDEwMDAwMDc1MUNGN0M3MDEwMDc0MDI0OUE0RDFFOUYzQTU3MzJCCis6MTAzRDIwMDAwMUE0MjYwMTA3Mjk0Njc4MDE0Njc2Mjk0Njc0QzM1MDI2Cis6MTAzRDMwMDA1M0JCN0Y3RkY3QzcwMTAwNzQwNTQ5QUMyMkMzQUFEMUVBCis6MTAzRDQwMDBFOUUzMUQ5Q0FEMjNDM0FCNDk3NDE0QUQyM0MzQUI0OTU4Cis6MTAzRDUwMDA3NDBEQUQyM0MzQUI0OTc0MDZBRDIzQzNBQkUyRTU5RDNGCis6MTAzRDYwMDA3MzA0QUMyMkMzQUI1QjU4RUJCOEU4Q0VDOThCNUUzOEFBCis6MTAzRDcwMDBGN0MzMTAwNDc1MDFDM0Y3QzM0MDAwNzQwNUU4QjhFMzQ2Cis6MTAzRDgwMDBFQjAzRThBOEUzODE2NjM4RUZGQkY2QzMxMDc0M0NGNjVBCis6MTAzRDkwMDBDMzAyNzQwNkU0RDgwQzAxRTZEOEY2QzMwNDc0MTE4Mzk4Cis6MTAzREEwMDBDMjA4OEE4NkE3MDAwQzAxRUU4ODg2QTcwMDgzRUEwODZECis6MTAzREIwMDBGNkMzMDg3NDBGRTg4QkUzNzIwQThBODZDMDAwRTYzOEZGCis6MTAzREMwMDBCMDIzRTYwQUY3QzMwMDA0NzUwMUMzRjdDMzAwMDg3NTAyCis6MTAzREQwMDBGOThBODZBNTAwRjZDMzQwNzUwREE4MTA3NUVDMEMxMDg1Cis6MTAzREUwMDA4ODg2QTUwMEU2MENDM0E4MDE3NURGODNDMjAyMEMwNTE2Cis6MTAzREYwMDBFRTg4ODZBNTAwQzNCMDAwRTg0N0QyRUIwRkIwMDJFODFBCis6MTAzRTAwMDA5MDBFRUIwODgzNjYzOERGODM0RTdBMDIzM0MwOEVEODdCCis6MTAzRTEwMDBGQUEwOTIxMjQwQTI5MjEyM0MwNTcyMUVDNjA2OTIxMjlECis6MTAzRTIwMDAwMEZCQjAwMUU4NkIwRUZBQTEyNjAxMjMwNjJBMDFBOEM3Cis6MTAzRTMwMDAwMTc1MDdFOEUyMDdFODYxMDk5MEIwMDBFODM3RDJGQkI2Cis6MTAzRTQwMDA4NUVENzRCOUZBRjc0NjdBNDYwMDc1QzA4QjQ2NzgzRDIxCis6MTAzRTUwMDAwQTAwNzJCMDhCNEU3NDgzRjk1MDcyOUE4MzY2MzhERjExCis6MTAzRTYwMDBDNTc2MTQ4QjQ2M0E4NUMwNzU1OEFEODVDMDc1MEZFODg4Cis6MTAzRTcwMDBGOEZFRjc0NjdBMDgwMDc0OTNFOEEwRkFFQjhFM0I3NkRBCis6MTAzRTgwMDAwNDc2MjFCOTAyMDAzOTRFMkU3NzA1Qzc0NjJFMDAwMDcwCis6MTAzRTkwMDA1NjhCNzYyQzg5NzYwNEM3MDQwMDAwNDY0Njg5NzYyQzFBCis6MTAzRUEwMDAyOTRFMkU1RTg1QzA3OTE3RjZDNDEwNzQwNUZGNTY3QzI2Cis6MTAzRUIwMDBFQjAzRkY1NjdFODk3NjE0QjAwQ0U4ODVEMUVCODY4OTNBCis6MTAzRUMwMDA0NjNBRkY5NjgwMDAyOTQ2M0E4OTc2MTRCMDBDRTg3MThDCis6MTAzRUQwMDBEMUU5NzFGRjAwMDAwMDAwMDAwMDAwMDAwODA0MTAwMjlBCis6MTAzRUUwMDAwMTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIxCis6MTAzRUYwMDAwMDAwMDAwMDgwODA4MDgwODA4MDgwODA4MDgwODA4MEMyCis6MTAzRjAwMDA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MEIxCis6MTAzRjEwMDA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MEExCis6MTAzRjIwMDA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDkxCis6MTAzRjMwMDA4MDgwODA4MDgwQzBDMEMwQzBDMEMwQzBDMEMwQzBDMEMxCis6MTAzRjQwMDBDMEMwQzBDMEMwQzBDMEMwQzBDMEMwQzBDMEMwQzA4MEIxCis6MTAzRjUwMDA4MDgwODAwMDgwODA4MDgwODA4MDgwODA4MDgwODA4MEUxCis6MTAzRjYwMDA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDUxCis6MTAzRjcwMDA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDQxCis6MTAzRjgwMDA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDMxCis6MTAzRjkwMDA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDIxCis6MTAzRkEwMDA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDExCis6MTAzRkIwMDA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDAxCis6MTAzRkMwMDA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MEYxCis6MTAzRkQwMDA4MDgwODA4MDRFNDE3ODQxRDA0MUY0NDEwNjQyMTg0MkIxCis6MTAzRkUwMDBDMzkwOEU0NjAyOEI3RTIyODk3RTZDODA2NjI3RkQ4Qjc1Cis6MTAzRkYwMDA1NjI0ODNGQTA0NzJFOTgzRUEwMjhCRDkzQkNBNzYwMjFCCis6MTA0MDAwMDA4QkNBQjAwQTU3NTE4QkZFRjJBRThCQzE1OTVGNzUxRTM5Cis6MTA0MDEwMDA1MDQwMkJDODc0MDYyQkQxMkJEOUYzQTQ1OTRCNEE0QUQ0Cis6MTA0MDIwMDBCMDBEQUFBNDNCQ0E3NjAyOEJDQUUzMTNFQkQ0MkJEOUZBCis6MTA0MDMwMDBGN0M2MDEwMDc0MDJBNDQ5RDFFOUYzQTU3MzAxQTQ4OTZDCis6MTA0MDQwMDA3RTIyMkI3RTZDMjk3RTI0MDE3RTFBOEJDQjgwN0UyNkRECis6MTA0MDUwMDAwMjc0MDU4MDY2MjZGREMzNjBCMEZERTgxODAzNjFDM0U1Cis6MTA0MDYwMDBDMzkwRTg3QzAyNzJGOTkwODM0RTI2MjA4QjQ2NkE4OUMxCis6MTA0MDcwMDA0NjZFOEI0NjQ4MEQwNDAwMjVCRkZGODk0NjQ4QjAwNkIyCis6MTA0MDgwMDBFOEJGQ0ZDMzg5N0UyMjJCN0U2QzAxN0UxQTI5N0UyNDU1Cis6MTA0MDkwMDA4MDdFMjYwMjc0MDU4MzY2MjZGREMzNjBCMEZERThENUU4Cis6MTA0MEEwMDAwMjYxQzM5MDhBQkVDMjAwRUIyNEY3NDY0ODQwMDA3NTA3Cis6MTA0MEIwMDBCMThFNDYwMjhCN0UyMjg5N0U2QzhCNTYyNDgzRUEwQTVGCis6MTA0MEMwMDA3ODlFMDNENzgwNjYyN0ZEMzNDMDhBQkVDMjAwRTNCNDYyCis6MTA0MEQwMDAzQkZBNzdCMEFDNDk5MzJFOEE4N0Q0M0U5MzIyREY3NUEyCis6MTA0MEUwMDAxN0FBRTNBMDNCRkE3NzlDQUM0OTkzMkU4QTg3RDQzRTZCCis6MTA0MEYwMDA5MzIyREY3NTAzQUFFQkQ2RjZDMzdGNzUwNUZGNDY2NkVDCis6MTA0MTAwMDBFQkRGRjZDMzQwNzUwQzhCRDg4M0VCMDhEMUUzMkVGRkIxCis6MTA0MTEwMDBBN0Q0M0ZGRjQ2NjYyQzIwRUJDNzg1QzA3NDJDODk0Njg4Cis6MTA0MTIwMDA2QTgzNEU0ODQwODk3RTIyMkI3RTZDMDE3RTFBMjk3RTRFCis6MTA0MTMwMDAyNDgwN0UyNjAyNzQwODgzNjYyNkZERThBMzAxQzM2MEZFCis6MTA0MTQwMDBCMEZERTgzMTAyNjFFODk4MDFDM0U5NTdGRjkwOEI1RTRBCis6MTA0MTUwMDA2NjRCNzgwMzg5NUU2NkFBOEI1RTY0RjdDMzAwMjA3NUEwCis6MTA0MTYwMDAwM0U5NDBGRkY3QzM0MDAwNzQwODhBODZDMTAwQUFFOTRBCis6MTA0MTcwMDAzMkZGQjgzMjAwRUJBMzkwOEI1RTY2ODk1RTY4ODNDMzIyCis6MTA0MTgwMDAwODgwRTNGODg5NUU2NjhCNUU2NDgxRTMwMDE4ODFGQjNBCis6MTA0MTkwMDAwMDE4NzQyREFBODVEQjc0MjVGNzQ2NjQ0MDAwNzUxODU1Cis6MTA0MUEwMDA4MUZCMDAxMDc0MEM4QjQ2NjYyQjQ2NjhDMUUwMDRFOTY1Cis6MTA0MUIwMDA2OEZGQjg2NDAwRTk2MkZGOEE4NkMxMDBBQUFBRTlFMzQxCis6MTA0MUMwMDBGRTUxOEI0RTY2MkI0RTY4QjAyMEYzQUE1OUU5RDRGRUZGCis6MTA0MUQwMDA4QjVFNjY4OTVFNjg4QjVFNjRGN0MzMjQwMDc0MTBDN0NCCis6MTA0MUUwMDA0NjY2MDAwMEY3QzMwNDAwNzQwNUIwMERBQUIwMEFBQTIxCis6MTA0MUYwMDBFQjQ4OTA5MEFBRjc0NjY0MDA0MDc0MDZCOEQwMDdFOUVGCis6MTA0MjAwMDAxOEZGRTk5RkZFOTBBQUY3NDY2NDAwODA3NDA2QjhEMEI0Cis6MTA0MjEwMDAwN0U5MDZGRkU5OERGRTkwOEI1RTY2ODk1RTY4ODVEQkE3Cis6MTA0MjIwMDA3NTBDOEI1RTY0RjdDMzEwMDA3NDA2RTk3NkZFOEI1RTM2Cis6MTA0MjMwMDA2NEY3QzMwODAwNzQyN0IwMEFBQUY3QzMyMDAwNzUxRkVCCis6MTA0MjQwMDBGN0MzMDAwMTc1MDNFOTVCRkVGN0MzNDAwMDc1MDZCOENDCis6MTA0MjUwMDA2NDAwRTlDNUZFOEE4NkMxMDBBQUFBRTk0NkZFQUFDNzhCCis6MTA0MjYwMDA0NjY2MDAwMEY3QzMwMDA2NzRGMUY3QzM0MDAwNzQxOUY2Cis6MTA0MjcwMDA4QTg2QzEwMDgxRTMwMDA2ODFGQjAwMDQ3MjA2NzYwMjkzCis6MTA0MjgwMDBBQUFBQUFBQUFBQUFFOTFCRkU4MUUzMDAwNjgxRkIwMDRBCis6MTA0MjkwMDAwNDcyMEU3NjA2Qjg5NjAwRTk3RkZFQjg2NDAwRTk3OUVDCis6MTA0MkEwMDBGRThCNDY2OEU5NzNGRTkwMzY4QjBFREExMjgzRjkzMjg0Cis6MTA0MkIwMDA3MzFEMUUwNjMzQzA4RUQ4OEVDMDhENzY0Q0JGREMxMkE3Cis6MTA0MkMwMDAwM0Y5QTVBNUE1ODNDMTA2ODkwRURBMTIwNzFGQzNCMDlECis6MTA0MkQwMDAwOEU4NkVDREMzOTA4MzY2NDhGRUU4OTNDNEU4QzhGRjQzCis6MTA0MkUwMDBDM0Y2NDYyNzAyNzUwRjlDRkE4MzdFMUEwMDc0MDk4MDc0Cis6MTA0MkYwMDA0RTI3MDE5REY5QzNGOEMzNTA1MkY3NDYzODQwMDA3NDY5Cis6MTA0MzAwMDAxREU4MzRERTgzQzIwQUVDQTg0MDc1Mjc4M0VBMDg4QUQ4Cis6MTA0MzEwMDA4NkE1MDAwQzAyODg4NkE1MDBFRTVBNThFQkQxRTgwQzYxCis6MTA0MzIwMDBERThBODZBNTAwMjRGQjBDMDI4ODg2QTUwMEU2MEM1QUNFCis6MTA0MzMwMDA1OEVCQkM4MDRFMjcwMjVBNTg5REY4QzMwODQ2MjY5QzZECis6MTA0MzQwMDBGQThBOEVBNTAwRjc0NjM4NDAwMDc1MTRGNkMxMDY3NDQ3Cis6MTA0MzUwMDAyM0U4RDlERDhBQzEyNEY5ODg4NkE1MDBFNjBDOURDMzJGCis6MTA0MzYwMDBGNkMxMDI3NDBGRThEMEREODNDMjAyOEFDMTI0RkQ4ODQxCis6MTA0MzcwMDA4NkE1MDBFRTlEQzM4QjVFMjYyMkMzODg0NjI2NzQwMTY3Cis6MTA0MzgwMDBDMzgwNjYyN0ZEOUNGQThBOEVBNTAwRjc0NjM4NDAwMDU4Cis6MTA0MzkwMDA3NTE2RjZDMTA0NzUwRkU4OTNERDhBQzEyNEZEMEMwNDdGCis6MTA0M0EwMDA4ODg2QTUwMEU2MEM5REMzRjZDMTAyNzVGOUU4ODhERDk0Cis6MTA0M0IwMDA4M0MyMEFFQ0E4MjA3NTBFODNFQTA4OEFDMTBDMDI4ODIxCis6MTA0M0MwMDA4NkE1MDBFRTlEQzM4M0VBMEEzM0M5OEE0RTFDOEI0NjNDCis6MTA0M0QwMDAxQTNCQzg3MzFCMDE0RTJBMkJDMTg5NDYxQTFFQzU3NjhCCis6MTA0M0UwMDAwMEYzNkUxRjg5NzYwMDgzQzIwMjhBODZBNTAwRUJDRDlBCis6MTA0M0YwMDA4NUMwNzQxMjAxNDYyQThCQzgxRUM1NzYwMEYzNkUxRjU1Cis6MTA0NDAwMDA4OTc2MDA4OTRFMUFGNkM3MDE3NTIzODBDQjAyODk1RTMyCis6MTA0NDEwMDAyNkU4MDhDMzgzQzIwMjhBODZBNTAwMjRGREVFODg4NkFBCis6MTA0NDIwMDBBNTAwRjZDNzEwNzUwNUIwMDJFODE2Q0M5REMzODNDMjdGCis6MTA0NDMwMDAwMjhBODZBNTAwRUI4NjkwOEJEMThCNDYyNDNCQzg3NkZBCis6MTA0NDQwMDAwMjhCQzgyQkQxMkJDMThCRDlFMzIyODA2NjI3RkQ4RTJFCis6MTA0NDUwMDA0NjAyOEI3RTIyRjdDNjAxMDA3NDAyQTQ0OUQxRTlGMzFCCis6MTA0NDYwMDBBNTczMDFBNDg5N0UyMjg5NDYyNDAxNUUxQThCQ0E4MDI1Cis6MTA0NDcwMDA3RTI2MDI3NDA1ODA2NjI2RkRDMzYwQjBGREU4RjZGRTY4Cis6MTA0NDgwMDA2MUMzNTBFNDBBODRDMDc1MEE4Njg2QTEwMDg0QzA3NEEyCis6MTA0NDkwMDAwQUU2MEE1ODBDMjA4OTQ2NDhGOUMzNTgyNERGODk0NkExCis6MTA0NEEwMDA0OEY4QzM5MEZCQjAwMkU4RTgwN0ZBRTgyRTAxRkJCMDM5Cis6MTA0NEIwMDAwMUU4REUwN0ZBQjAwMkU4QkNDQkZCODVFRDc0RTVGQTUzCis6MTA0NEMwMDA4RTVFMEFGQjkwRkE4QjQ2NDg4Qjc2NDBBODhDNzVERTkwCis6MTA0NEQwMDBBODIwNzQxQTUwRTg1NURDNThFOEE2RkY3MzEwQjAwMjAzCis6MTA0NEUwMDBFODVGQ0JFQkM5OTAyNUZGMDA4QkM4RUIzNjkwQTgwMUE1Cis6MTA0NEYwMDA3NTIyNDY4M0U2RkUzQjc2MDg3NDc5QUQ4QUZDQjNGMEZDCis6MTA0NTAwMDAyMkZCM0FGQjc0RTAzQUJFQTAwMDc0MkVFOEQyRkQ3M0ExCis6MTA0NTEwMDA3N0VCOUI5MDhBRTAyNEZDODg0NjQ4OEI0RTRBRjZDNDkxCis6MTA0NTIwMDAwMjc0MURFOEJCRkQ3Mjg2RTgxM0YzODk3NjQwRTM5M0JECis6MTA0NTMwMDA4MzRFNDgwMzg5NEU0QUU5NzRGRjI1RkYwRjhCQzg5MENDCis6MTA0NTQwMDA4Qjg2OTgwMDg1QzA3NDFBNTE4QThFQTAwMEMwRTkwNDM5Cis6MTA0NTUwMDBCQTAxMDBEM0UyNTkyM0MyNzQwODAzRjE4OTc2NDBFOTE1Cis6MTA0NTYwMDA2MUZGRkY1NjYyRTNGNTgzNEU0ODAxODk0RTRBODk3NjIyCis6MTA0NTcwMDA0MEU5M0FGRjgxNEUyNjAwMTA4QjQ2NTAzQjQ2NDY3Nzc1Cis6MTA0NTgwMDAwM0U4NTJGREU5MjdGRjkwODhCRUEwMDBFQkFDMEEwNkM1Cis6MTA0NTkwMDA5MDEyOEFFMEJBMDYwMUIwMDRFRUVDODRDMDc1MTJCMDQ1Cis6MTA0NUEwMDAwNEVFOEFDNEVFMzJFNEE4ODA3NDA2QzcwNjg0MTIwMEMyCis6MTA0NUIwMDAwMDg4MjY5MDEyQzMwQTA2OTAxMjhBRTBCQTA2MDFFQzFGCis6MTA0NUMwMDBBODAxNzVFREJBMDgwMThBQzRFRTMyRTRBODgwNzRFMTRFCis6MTA0NUQwMDBDNzA2ODQxMjAwMDA4ODI2OTAxMkMzOTAzNkY3MDYyNDdFCis6MTA0NUUwMDAwMTAxMDA3NTMwMzY4QjBFREExMjgwRjkzNjczMjYzM0VFCis6MTA0NUYwMDBDMDhFQzA4RUQ4QkZEQzEyMDNGOUIwMDhFODc3Q0E4NTM4Cis6MTA0NjAwMDBFRDc0MEU4RDc2NENBNUE1QTU4MEMxMDY4MEY5MzY3Mjk1Cis6MTA0NjEwMDBFOTg5MEVEQTEyQzNDMzkwRjcwNjI2MDEwMTAwNzVGNjg4Cis6MTA0NjIwMDA4QjBFMjAxMzg1Qzk3NUVFMzNDMDhFQzA4RUQ4QkYyNDgzCis6MTA0NjMwMDAxM0I5MzYwMEIwMEFFODNEQ0E4NUVENzUwNkU5MTIwMUU2Cis6MTA0NjQwMDBFOTBBMDEzM0RCOEE0NjRDOEFBNkIzMDBGRUNDNzgwRTE5Cis6MTA0NjUwMDA4OEE2QjMwMDBBRENCNDBBQUI4M0U5MDI3NkUyOEFBNjM0Cis6MTA0NjYwMDBCMjAwRkVDQzc4MEU4OEE2QjIwMDBBRENCNDA4QUI4Mzk4Cis6MTA0NjcwMDBFOTAyNzZDQzhBQTZCMTAwRkVDQzc4MTg4QUJFQjAwMERBCis6MTA0NjgwMDA3NTA0ODhBNkIwMDA4OEE2QjEwMDBBREM4QUU3QUI4MzZGCis6MTA0NjkwMDBFOTAyNzZBQzhBQTZCNDAwRkVDQzc4MUY4OEE2QjQwMEU2Cis6MTA0NkEwMDAwQURDQjQwQkFCOEE4NkJDMDA4QUE2QkQwMEFCOEI4NjQ1Cis6MTA0NkIwMDBCRTAwQUI4M0U5MDY3Njg4OEE0NjRDOEFBNkI2MDBGRTIxCis6MTA0NkMwMDBDQzc4MTk4OEE2QjYwMDBBRENCNDBDQUJFOERCQ0JBQjFGCis6MTA0NkQwMDA4QjQ2MkFBQjgzRTkwNjc2NzQ4QTQ2NEM4QUE2QjcwMEQ1Cis6MTA0NkUwMDBGRUNDNzgxOTg4QTZCNzAwMEFEQ0I0MERBQkU4QkFDQkNCCis6MTA0NkYwMDBBQjhCNDYzNEFCODNFOTA2NzY1MzhBNDY0QzhBQTZCODIwCis6MTA0NzAwMDAwMEZFQ0M3ODE5ODhBNkI4MDAwQURDQjQwRUFCQTE1MDI0Cis6MTA0NzEwMDAxMkFCQTE1MjEyQUI4M0U5MDY3NjMyOEE0NjRDOEFBNkM2Cis6MTA0NzIwMDBCNTAwRkVDQzc4MTg4OEE2QjUwMDBBRENCNDBGQUI4QkI4Cis6MTA0NzMwMDA4NjlBMDBBQjhCODY5QzAwQUI4M0U5MDY3NjBGODREQjAwCis6MTA0NzQwMDA3NTAzRTlFRkZFQjAwQUU4RjhDOEU5RTdGRUIwMEFFODQ5Cis6MTA0NzUwMDBGMEM4RjdEOTgzQzEzNjhCQzEwRDgwMDA4NkM0QTMyMjZGCis6MTA0NzYwMDAxMzQxNDE4OTBFMjAxM0MzQTE4NDEyMkJDMTcyMTFBM0RFCis6MTA0NzcwMDA4NDEyQkUyMjEzRDFFOUYzNkY5MDg5MEUyMDEzRjhDMzdGCis6MTA0NzgwMDBGOUMzQzM4MUVGNkExMzc0Rjk4QkM3MEQ4MDAwODZDNDI3Cis6MTA0NzkwMDBBMzY4MTM0NzQ3ODkzRTY2MTNDM0Y3MDYyQTAxMDEwMDQxCis6MTA0N0EwMDA3NUUwOEIwRTY2MTNFMzA3ODBGOTIwNzdENTQ5NDkzMzBFCis6MTA0N0IwMDBDMDhFQzA4RUQ4QkY2QTEzOEJGNzAzRjk4M0M2MzQzQjEzCis6MTA0N0MwMDBGRTc3QzBCMDBFRThBRUM4ODVFRDc0Qjc4QTQ2NEM4QTU1Cis6MTA0N0QwMDBCNkI5MDBGRUNFNzgxNTg4QjZCOTAwOEFBNkE5MDA4MEMxCis6MTA0N0UwMDBDQ0MwQUI4NEY2NzQwNUIwMEVFODU2Qzg4QUI2QkEwMEUxCis6MTA0N0YwMDBGRUNFNzhDQjhBOUVBOTAwOEFCRUFCMDA4QTU2M0Y4QTNECis6MTA0ODAwMDBGMzMyRjcwQUI2QUMwMEM2ODZBQzAwMDAyMkYyNzQ0QjU1Cis6MTA0ODEwMDBGNkM2MDg3NDBGQjQwMkY2QzMwODc1MDJCNDAzQUI4MDgxCis6MTA0ODIwMDBFNkY3NzQzN0Y2QzYwMTc0MEZCNDAwRjZDMzAxNzUwMkRCCis6MTA0ODMwMDBCNDAxQUI4MEU2RkU3NDIzRjZDNjAyNzQwRkI0MDRGNjJFCis6MTA0ODQwMDBDMzAyNzUwMkI0MDVBQjgwRTZGRDc0MEZGNkM2MDQ3NEFFCis6MTA0ODUwMDAwQUI0MDZGNkMzMDQ3NTAyQjQwN0FCQzY4NkJBMDAwMEY0Cis6MTA0ODYwMDA4ODlFQUIwMEU5NThGRjkwQTE4NDEyMkJDMTcyMTFBMzVFCis6MTA0ODcwMDA4NDEyQkU2ODEzRDFFOUYzNkY5MDg5MEU2NjEzRjhDM0YyCis6MTA0ODgwMDBGOUMzQTE4NDEyNDE0MTJCQzE3MjIzQTM4NDEyOEJDMUFECis6MTA0ODkwMDA0ODQ4MzJFNDBDODA4NkM0RUY5MDkwOTA5MDkwQkVEQzQzCis6MTA0OEEwMDAxMjQ5NDlEMUU5RjM2RjkwODkwRURBMTJGOEMzRjlDM0JFCis6MTA0OEIwMDA4QUM4OEE0NjRDQjQwMTgzRUIwNkVGOTA5MDkwOTA5MEEyCis6MTA0OEMwMDBCODAxMDBFRjkwOTA5MDkwOTA4QUMxRUY5MDkwOTA5MEY2Cis6MTA0OEQwMDA5MEU5OTcwMEU5QUMwMDMzQzA4RUQ4ODkxRTg0MTJDM0RBCis6MTA0OEUwMDAzNjhCMUU4NDEyRkI5MEZBQjAwQ0U4ODlDNzg1RUQ3NEY0Cis6MTA0OEYwMDBFNkM1NzYwQzgzRkIxNDcyREJGQjkwRkFBRDg1QzA3OEJECis6MTA0OTAwMDBBRjc0RTI4QkZFMDNGODM2OEIwRTg2MTIzQkMxNzcwMjQyCis6MTA0OTEwMDA4QkM4ODNFQjA0M0JEOTc3MDI4QkNCMzNDMDhBNDY0Q0UwCis6MTA0OTIwMDBFRjkwOTA5MDkwOTA4QkMxRUY5MDkwOTA5MDkwNDE4MEZDCis6MTA0OTMwMDBFMUZFMkJEOTUxRDFFOUYzNkY5MDU5OEJDNzQwMjRGRThBCis6MTA0OTQwMDAzQkM2NzQyNzJCRkU0RTRFNTM4QjVFMTAzQkYzNzIxMzA3Cis6MTA0OTUwMDAwMzFGODNDMzAzODBFM0ZFQzcwNzAwMDA4MzZFNzQwMjU2Cis6MTA0OTYwMDA4OTVFMTA1Qjg5M0M4OTc2MENFQjg5ODk3NjBDMzk3NkY3Cis6MTA0OTcwMDAxMDc3ODE3MjA4ODMzQzAwNzQwM0U5NzdGRkU4MERCRTZECis6MTA0OTgwMDBFOTYyRkYzNjg5MUU4NDEyQjAwQ0U4QjVDNjMzQzA4RUNBCis6MTA0OTkwMDBEOEMzQTE4NDEyM0QxMDAwNzI3N0JBMDQwMTNCMDY4ODg3Cis6MTA0OUEwMDAxMjc1MDZDNzA2N0UxMjAwMDA4QjBFREExMkUzMEJFOEMyCis6MTA0OUIwMDBEMEZFNzI1N0M3MDY3RTEyRkY3RjhCMEUyMDEzRTMwQkNCCis6MTA0OUMwMDBFOEE1RkQ3MjQ2QzcwNjdFMTJGRjdGOEIwRTY2MTNFM0Q1Cis6MTA0OUQwMDAwQkU4OTRGRTcyMzVDNzA2N0UxMkZGN0ZBMTI4MDFBOTVECis6MTA0OUUwMDAwMTAwNzUwM0U4RjlGRTgwM0U4RDEyMDA3NTFEQTE4NDVCCis6MTA0OUYwMDAxMjNEMjAwMDc2MTUzQjA2ODIxMjc2MDlBMTdFMTIzQkZECis6MTA0QTAwMDAwNjgwMTI3MjBDODAwRTkwMTI4MEMzQjA4MEZGMTY3QzVDCis6MTA0QTEwMDAxMkMzODAwRTkwMTI0MEMzNkEwMDFGQzYwNjkzMTIxNzdECis6MTA0QTIwMDA5QzBFRThCN0M4NkEwMDFGQzYwNjkzMTIyMDlDMEVFOEM5Cis6MTA0QTMwMDBBQUM4NkEwMDFGQzYwNjkzMTIxNjlDMEVFODlEQzg5MDZECis6MTA0QTQwMDBCQTA2MDFFQ0E4MjA3NUNBRkI5MEZBQkEwNDAxRUQ5MEYxCis6MTA0QTUwMDA5MDkwOTA5MDNBMDY5NDEyNzdCRTMzREI4QUQ4RDFFM0Q3Cis6MTA0QTYwMDAyRThCQUY0NDAwQzQ3RTA4ODVGRjc0QjlGNkM0QzA3NUIwCis6MTA0QTcwMDA1NTMyQzBDMUUwMDI4MEU0RjA4QkYwRUQ5MDkwOTA5MDUwCis6MTA0QTgwMDA5MDg1QzA3NEJCOEJDODQxODBFMUZFMEJDNjhCNUU1MDI1Cis6MTA0QTkwMDA0QjRCMkJEOTc4OUNBQjhCQzE0MDQwMDE0NjRFRDFFOUEyCis6MTA0QUEwMDBGMzZEOTA4OTVFNTA4OTdFMDg4QjQ2MjY4MEU0RUY4OUZECis6MTA0QUIwMDA0NjI2RjZDNDAxNzUwQ0Y3NDY0ODBDMDA3NTA1QjAwMjkxCis6MTA0QUMwMDBFODdGQzVFOTdBRkY4NkM0OEJDODgzRTEzRjQxODBFMTc2Cis6MTA0QUQwMDBGRUUzMEEzQzgwNzIwOTI0M0ZCNEYwRUJCMEU5NjBGRkNBCis6MTA0QUUwMDAyNTNGMDAzM0ZGOEVDN0JGOTYxMjhCRjdEMUU5RjM2REQ4Cis6MTA0QUYwMDA5MDhCQzhFODQ4RURFOTQ3RkY5MDZBMDAxRkM2MDY5MzBGCis6MTA0QjAwMDAxMjFCOUMwRUU4RDVDNzkwNjAxRTA2MzNDMDhFRDg4RTRGCis6MTA0QjEwMDBDMEJBMDYwMUVDQTgwNDc0RTFCMDA2RUVFQ0EyOEMxMjU3Cis6MTA0QjIwMDBBODQwNzQxMUExODgxMkEzODQxMkM2MDY4RDEyMDBFODUxCis6MTA0QjMwMDA2MEZFQTA4QzEyQTg4MDc0MDNFODA0RkZCODAwODBCQTVECis6MTA0QjQwMDAyMkZGRUYwNzFGNjFDRjkwNkEwMDFGQzYwNjkzMTIxQjVBCis6MTA0QjUwMDA5QzBFRTg4N0M3OTA2MDFFMDYzM0MwOEVEODhFQzBCQTAwCis6MTA0QjYwMDAwNjAxRUNBODA0NzRFMUJBMDgwMUVDQTI4QzEyQTg0MDdBCis6MTA0QjcwMDA3NDExQTE4ODEyQTM4NDEyQzYwNjhEMTIwMEU4MTJGRUQ5Cis6MTA0QjgwMDBBMDhDMTJBODgwNzQwM0U4QjZGRUI4MDA4MEJBMjJGRjk5Cis6MTA0QjkwMDBFRjA3MUY2MUNGOTBFRTg2RTBFRTg2RTBFQzg2RTBFQzVBCis6MTA0QkEwMDA4NkUwODBFMUZFRjM2QzkwODBFMUZFRjM2RTkwMDUwMEZDCis6MTA0QkIwMDA3NTQ3QTg0QjA1MDA3NTQ4QTg0QjA1MDBBMzQ4QTg0QkFFCis6MTA0QkMwMDAwNTAwMzU0OUE4NEIwNjAwOTg0ODk2NEIwNjAwQkE0OEEwCis6MTA0QkQwMDA5NjRCMDYwMEMzNDg5NjRCMDYwMENCNDg5NjRCMDYwMDAyCis6MTA0QkUwMDAyMDQ5OTY0QjA2MDAyODQ5OTY0QjA2MDA0RTRBOUM0QjlFCis6MTA0QkYwMDAwNjAwN0I0QTlDNEIwNTAwOUU0QUEyNEIwNTAwRUM0QUVFCis6MTA0QzAwMDBBMjRCMDAwMDFFMDY4MzNFNDQxMjAwNzQwOUEwMDYwMTU4Cis6MTA0QzEwMDAyNDMwM0MzMDc0MUE4Q0M4OEVEODhFQzBCQkFFNEI4QkZGCis6MTA0QzIwMDAwRkUzMEQ4QjdGMDI4Qjc3MDRGM0E0ODNDMzA2RUJFRkI2Cis6MTA0QzMwMDAwNzFGQzM5MDMzQzBBMzNFMDFCOTBDMDFCRTQwMDE4QkQ2Cis6MTA0QzQwMDBGRTgxQzZCNDBGODkwNDhCQzYyQkYxM0JDNzc3RjZBMzUwCis6MTA0QzUwMDAzQzAxQzM5MDFFMDY2MDM2OEIyRTNFMDE4QjVFMDAzQkVFCis6MTA0QzYwMDBFQjc0MkI4Qjc2MDI4OTFDODk3NzAyMzZBMTNDMDE4OTczCis6MTA0QzcwMDA0NjAwMzY4OTJFM0MwMThCRUJGRjRFMDY3NDA4OEI2RTg2Cis6MTA0QzgwMDAwMEZGNEUwNjc1RjgzNjg5MkUzRTAxOEI2NjA0NjEwN0RCCis6MTA0QzkwMDAxRkMzMUUwNjYwMzY4QjJFM0UwMTk4ODk0NjA2ODk2NjI0Cis6MTA0Q0EwMDAwNDNCNkUwMDc0MTA4QjZFMDBGRjRFMDY3NUY4MzY4OTVCCis6MTA0Q0IwMDAyRTNFMDE4QjY2MDQ2MTA3MUZDM0MzOTAxRTA2NjA5Q0Q1Cis6MTA0Q0MwMDBGQTMzRUQ4RUREOEIyRTNDMDE4NUVENzQzRDhCNEUwMDZECis6MTA0Q0QwMDA4OTBFM0MwMThCQ0M4REE2MEEwMTU2MUUwNjYwODk2NkEyCis6MTA0Q0UwMDAwNEM3NDYwODBGMUFDNzQ2MDYwMTAwOEIxRTNFMDE4NTAxCis6MTA0Q0YwMDBEQjc0MUQ4QkM1ODcwNzg5NDYwMDg5NUUwMjhCRDg4OUM2Cis6MTA0RDAwMDA2RjAyOEJFMTlENjEwNzFGRjhDMzlENjEwNzFGRjlDMzA3Cis6MTA0RDEwMDA4OTJFM0UwMTg5NkUwMDg5NkUwMjg3RTE5RDhCRTFFQjUxCis6MTA0RDIwMDBFNDAwMEQwQTU0NjU3MjZENjk2RTYxNkM3MzIwNzM3NUQxCis6MTA0RDMwMDA3MDcwNkY3Mjc0NjU2NDNBMEQwQTMxMjkyMDQxNEU1M0M4Cis6MTA0RDQwMDA0OTIwNjM2RjZENzA2MTc0Njk2MjZDNjUwRDBBMzIyOTY4Cis6MTA0RDUwMDAyMDU3Nzk3MzY1MjAzMzMwMEQwQTUwNkM2NTYxNzM2NTk3Cis6MTA0RDYwMDAyMDczNjU2QzY1NjM3NDNBMjAwMDBEMEE2MzZGNjQ2NTk3Cis6MTA0RDcwMDAyMDczNjU2NzZENjU2RTc0M0QwMDBEMEE0RDZGNkU2OTM5Cis6MTA0RDgwMDA3NDZGNzIyMDc2MzIyRTM1MEEwRDBBM0UwMDBEMEE1MERECis6MTA0RDkwMDA2MTcyNjQ2RjZFM0YwMDBEMEE0RTZGMjA2MTY0NjQ3MjMxCis6MTA0REEwMDA2NTczNzMyMDczNzA2NTYzNjk2NjY5NjU2NDAwMEQwQUQ1Cis6MTA0REIwMDAzQTAwMEQwQTAwNEM2RjYzM0QwMDBEMEE0NjQxNTQ0MTE0Cis6MTA0REMwMDA0QzIwNDU1MjUyNEY1MjNEMDAwRDBBNEQ2RjZFNjk3NDkyCis6MTA0REQwMDA2RjcyMjA2MzZGNkQ2RDYxNkU2NDczM0EyRDBEMEEyMEUyCis6MTA0REUwMDAyMDIwNDQyQzY0NUI1Qjc4Nzg3ODc4M0E1RDc4Nzg3ODFBCis6MTA0REYwMDA3ODVEMjAyRDIwNjQ3NTZENzAyMDZENjU2RDZGNzI3OTAyCis6MTA0RTAwMDAwRDBBMjAyMDIwNEMyQzZDNUI1Qjc4Nzg3ODc4M0E1RDFBCis6MTA0RTEwMDA3ODc4Nzg3ODVEMjAyRDIwNjQ3NTZENzAyMDczNjk2RUM4Cis6MTA0RTIwMDA2NzZDNjUyMDZDNjk2RTY1MEQwQTIwMjAyMDQ1MkM2NTM1Cis6MTA0RTMwMDA1QjVCNzg3ODc4NzgzQTVENzg3ODc4Nzg1RDIwMkQyMDlCCis6MTA0RTQwMDA2NTY0Njk3NDIwNkQ2NTZENkY3Mjc5MEQwQTIwMjAyMDhDCis6MTA0RTUwMDA0NjJDNjY1QjVCNzg3ODc4NzgyMDVENzg3ODc4Nzg1RDJBCis6MTA0RTYwMDAyMDJEMjA2NjY5NkM2QzIwNkQ2NTZENkY3Mjc5MjA3MEU1Cis6MTA0RTcwMDA2MTcyNjE2NzcyNjE3MDY4NzMwRDBBMjAyMDIwNDk1QjVFCis6MTA0RTgwMDA3ODc4Nzg3ODVEMjAyMDIwMjAyMDIwMjAyMDIwMjAyRDc4Cis6MTA0RTkwMDAyMDc3NkY3MjY0MjA2OTZFNzA3NTc0MjA2NjcyNkY2RDEyCis6MTA0RUEwMDAyMDcwNkY3Mjc0MEQwQTIwMjAyMDY5NUI3ODc4Nzg3ODAyCis6MTA0RUIwMDA1RDIwMjAyMDIwMjAyMDIwMjAyMDIwMkQyMDYyNzk3NEI5Cis6MTA0RUMwMDA2NTIwNjk2RTcwNzU3NDIwNjY3MjZGNkQyMDcwNkY3MkU4Cis6MTA0RUQwMDA3NDBEMEEyMDIwMjA0Rjc4Nzg3ODc4MjA3ODc4MjAyMDY4Cis6MTA0RUUwMDAyMDIwMjAyMDIwMjAyMDJEMjA2Rjc1NzQ3MDc1NzQyMEM0Cis6MTA0RUYwMDA3NzZGNzI2NDIwNzQ2RjIwNzA2RjcyNzQwRDBBMjAyMEI3Cis6MTA0RjAwMDAyMDZGNzg3ODc4NzgyMDc4NzgyMDIwMjAyMDIwMjAyMDQyCis6MTA0RjEwMDAyMDIwMkQyMDZGNzU3NDcwNzU3NDIwNjI3OTc0NjUyMDVGCis6MTA0RjIwMDA3NDZGMjA3MDZGNzI3NDBEMEEyMDIwMjA0NzVCNUI3OENECis6MTA0RjMwMDA3ODc4NzgzQTVENzg3ODc4Nzg1RDIwMjAyMDJEMjA2NzIxCis6MTA0RjQwMDA2Rjc0NkYyMDYxNjQ2NDcyNjU3MzczMEQwQTIwMjAyMDkyCis6MTA0RjUwMDA1NzVCNUI3ODc4Nzg3ODNBNUQ3ODc4Nzg3ODVEMjAyMDUwCis6MTA0RjYwMDAyMDJEMjA3NzYxNzQ2MzY4MjA2MTIwNzc2RjcyNjQwRDUzCis6MTA0RjcwMDAwQTIwMjAyMDQzMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDI0Cis6MTA0RjgwMDAyMDIwMjAyMDIwMkQyMDY5NkU3NDY1NzI3Mjc1NzA3NDQ3Cis6MTA0RjkwMDA3MzIwNkY2NjY2MEQwQTIwMjAyMDUzMjAyMDIwMjAyMEQ5Cis6MTA0RkEwMDAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMkQyMDY5NkU3NDA5Cis6MTA0RkIwMDA2NTcyNzI3NTcwNzQ3MzIwNkY2RTBEMEEyMDIwMjA3M0Y1Cis6MTA0RkMwMDAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMEUxCis6MTA0RkQwMDAyRDIwNzM2OTZFNjc2QzY1MjA3Mzc0NjU3MDBEMEEyMEVGCis6MTA0RkUwMDAyMDIwNDI3ODc4Nzg3ODIwMjAyMDIwMjAyMDIwMjAyMDNGCis6MTA0RkYwMDAyMDIwMjAyRDIwNjI3MjY1NjE2QjcwNkY2OTZFNzQyMEI1Cis6MTA1MDAwMDA3MzY1NzQwRDBBMjAyMDIwNjIyMDIwMjAyMDIwMjAyMDlCCis6MTA1MDEwMDAyMDIwMjAyMDIwMjAyMDIwMjAyRDIwNjI3MjY1NjE2QjFFCis6MTA1MDIwMDA3MDZGNjk2RTc0MjA2MzZDNjU2MTcyMEQwQTIwMjAyMEI4Cis6MTA1MDMwMDA1MjIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDNFCis6MTA1MDQwMDAyMDJEMjA3MjY1NzM3NDYxNzI3NDIwNjI3MjY1NjE2QkM5Cis6MTA1MDUwMDA3MDZGNjk2RTc0MEQwQTIwMjAyMDcyMjAyMDIwMjAyMDlECis6MTA1MDYwMDAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMkQyMDcyNjU2NzU1Cis6MTA1MDcwMDA2OTczNzQ2NTcyNzMyMDYxNzQyMDYyNzI2QjcwNzQwRDUxCis6MTA1MDgwMDAwQTIwMjAyMDU4MkM3ODIwNkUyMDIwMjAyMDIwMjAyMDRDCis6MTA1MDkwMDAyMDIwMjAyMDIwMkQyMDY1Nzg2MTZENjk2RTY1MjA2M0I5Cis6MTA1MEEwMDA2ODYxNkU2RTY1NkMyMDZFMEQwQTIwMjAyMDQ4MkMzRkQyCis6MTA1MEIwMDAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMkQyMEUzCis6MTA1MEMwMDA3NDY4Njk3MzIwNkQ2NTczNzM2MTY3NjUwMDFCNUIzMjdCCis6MTA1MEQwMDA0QTFCNUIzMTNCMzE0ODQxNEU1MzQ5MjA1NDY1NzI2RDQ4Cis6MTA1MEUwMDA2OTZFNjE2QzBEMEEwQTAwMUI1QjRCMDAxQjVCNEEwMDdBCis6MTA1MEYwMDAxQjVCMzI0QTFCNUIzMTNCMzE0ODAwMUI1QjQ0MjAxQjZFCis6MTA1MTAwMDA1QjQ0MDAxQjVCMzEzQjM3MzI0ODAwMUI1QjAwM0IwMEJDCis6MTA1MTEwMDA0ODAwMUI1QjczMDAxQjVCNzUwMDFCN0EyQjBCN0YxQjBFCis6MTA1MTIwMDA3QTJFMEM3RjFCN0EyRDA4N0YxQjdBMkMwQTdGMUI3QTI0Cis6MTA1MTMwMDAyMjA4N0YxQTU3Nzk3MzY1MjAzMzMwMjA1NDY1NzI2REM5Cis6MTA1MTQwMDA2OTZFNjE2QzBEMEEwMDFCNTQwMDFCNTkwMDFBMDAxRTg5Cis6MTA1MTUwMDAwMDA4MjAwODAwMDAxQjNEMDAwMDAwMUI0NjAwMEQwMDU5Cis6MTA1MTYwMDAzRjQ0NjQ0NTY1NDY2NjQ3Njc0ODY4NDk2OTRGNkY0M0YxCis6MTA1MTcwMDA2MzUzNzM0MjYyNTI3MjU3Nzc1ODc4NEM2QzNDNjBENEQ4Cis6MTA1MTgwMDA1N0Q0NTc1MDU4NTA1OEQ2NTlENjU5QjQ1OUI0NTkzQzk5Cis6MTA1MTkwMDA2MDNDNjA2QzU3NDg1NzI2NTcwNjU3OTA1NzkwNTc5ODcxCis6MTA1MUEwMDA1NzQ4NUYwQzVGNTg1RjMzNUY0MDVGQTA1N0EwNTdGRUMyCis6MTA1MUIwMDA1OUZFNTlEQzU3REM1Nzg4NjE5ODYxQzA2MUNDNjFEOEQxCis6MTA1MUMwMDA2MUY2NjEwMjYyMjI2MkY4NTY0QTYyNTg2MjYwNTkyMEIyCis6MTA1MUQwMDAyMDY2NkM2MTY3NzMzRDAwMjAyMDYxNzgzRDAwMjAyMENGCis6MTA1MUUwMDA2Mjc4M0QwMDIwMjA2Mzc4M0QwMDIwMjA2NDc4M0QwMEY3Cis6MTA1MUYwMDAyMDIwNjM3MzNEMDAyMDIwNjQ3MzNEMDAyMDIwNjU3M0YwCis6MTA1MjAwMDAzRDAwMjAyMDczNzMzRDAwMjAyMDY0NjkzRDAwMjAyMDc0Cis6MTA1MjEwMDA3MzY5M0QwMDIwMjA2MjcwM0QwMDIwMjA3MzcwM0QwMEM2Cis6MTA1MjIwMDAyMDIwNjk3MDNEMDAyMDYzNjg2MTZFNjU2QzNEMDAyMDQwCis6MTA1MjMwMDAyMDIwMjA3MzY1NjczRDAwMjA3NDY5NUY3Mzc0NzIzREEwCis6MTA1MjQwMDAwMDIwNzQ2OTVGNzQ2RjczM0QwMDIwNzQ2OTVGNkQ2MTQ1Cis6MTA1MjUwMDA3ODNEMDAyMDc0Njk1RjYyNjE3MzNEMDAyMDc0Njk1RjZFCis6MTA1MjYwMDA3MzY5N0EzRDAwMjA3NDY5NUY3Mzc0NjYzRDAwMjA3NDMxCis6MTA1MjcwMDA2OTVGNzI2RjZGM0QwMDIwNzQ2OTVGNjY2QzY3M0QwMDA3Cis6MTA1MjgwMDAyMDc0Njk1Rjc0NkY3NDNEMDAyMDcyNjk1RjcwNjM2RTkzCis6MTA1MjkwMDAzRDAwMjA3MjY5NUY3Mzc0NzIzRDAwMjA3MjY5NUY3MzE0Cis6MTA1MkEwMDA3NDY2M0QwMDIwNzI2OTVGNzI2RjZGM0QwMDIwNzI2OTA1Cis6MTA1MkIwMDA1RjYyNjE3MzNEMDAyMDcyNjk1RjczNjk3QTNEMDAyMDBGCis6MTA1MkMwMDA3MjY5NUY3NDZGNzQzRDAwMjA3MjY5NUY2RDY5NkUzRDM1Cis6MTA1MkQwMDAwMDIwNzI2OTVGNjY2QzY3M0QwMDIwNzI2OTVGNzQ2RkMxCis6MTA1MkUwMDA3MzNEMDAyMDcyNjk1Rjc0Njg3MjNEMDAyMDc0Njg1RkNFCis6MTA1MkYwMDA3Mzc0NjYzRDAwMjA3NDY4NUY3Mzc0NzIzRDAwMjA3NDlGCis6MTA1MzAwMDA2ODVGNjI2MTczM0QwMDIwNzQ2ODVGNzM2OTdBM0QwMDc1Cis6MTA1MzEwMDAyMDc0Njg1Rjc0NzI2NzNEMDAyMDc0Njg1RjY2NkM2NzE0Cis6MTA1MzIwMDAzRDAwMjA3NDY4NUY2MzZFNzQzRDAwMjA3MjY4NUY3Mzk3Cis6MTA1MzMwMDA3NDcyM0QwMDIwNzI2ODVGNzM3NDY2M0QwMDIwNzI2ODZECis6MTA1MzQwMDA1RjYyNjE3MzNEMDAyMDcyNjg1RjczNjk3QTNEMDAyMDdGCis6MTA1MzUwMDA3MjY4NUY3MzcwNjEzRDAwMjA3MjY4NUY2MTczNkYzREJBCis6MTA1MzYwMDAwMDIwNzI2ODVGNzI2RjZGM0QwMDIwNzI2ODVGNjY2QzJDCis6MTA1MzcwMDA2NzNEMDAyMDZENUY2MzYxNzI2NTNEMDAyMDcwNzQ1RjYyCis6MTA1MzgwMDA2NjZDNkYzRDAwMjA2MTczNUY2NjZDNkYzRDAwMjA3MjNDCis6MTA1MzkwMDA2RDVGNjY2QzZGM0QwMDIwMjAyMDcxNUY2OTZFM0QwMDdGCis6MTA1M0EwMDAyMDIwNzE1RjZGNzU3NDNEMDAyMDcxNUY2NDcyNjE2RUMzCis6MTA1M0IwMDAzRDAwMjAyMDcxNUY3NDY5NkQzRDAwMjAyMDIwNzE1RkU5Cis6MTA1M0MwMDA2NjYzM0QwMDIwNzE1RjczNzQ2MTc0M0QwMDIwNzE1RkZFCis6MTA1M0QwMDA2NDYxNzQ2MTNEMDAyMDcxNUY2RDZGNjQ2RDNEMDAyMEZDCis6MTA1M0UwMDA2ODYxNkU2NDVGNkYzRDAwMjA2ODYxNkU2NDVGNjIzRDVFCis6MTA1M0YwMDAwMDIwNjg2MTZFNjQ1RjY1M0QwMDIwNjg2MTZFNjQ1RkQ3Cis6MTA1NDAwMDA2OTNEMDAyMDIwNkY3MDZGNzM3NDNEMDAyMDIwNzQ2OTI3Cis6MTA1NDEwMDA2RDY1NkYzRDAwMjA2Mzc1NzM3NDZEMzEzRDAwMjA2M0QxCis6MTA1NDIwMDA3NTczNzQ2RDMyM0QwMDIwNjM3NTczNzQ2RDY0M0QwMDU3Cis6MTA1NDMwMDAyMDc0Nzg3MjYxNzQ2NTNEMDAyMDcyNzg3MjYxNzQ2NUMxCis6MTA1NDQwMDAzRDAwMjAyMDYzNUY2RDYxNzAzRDAwMjA2MzVGNjE2NEZCCis6MTA1NDUwMDA2NDcyM0QwMDIwNjM1RjYxNjk3MzcyM0QwMDIwNjM1Rjg5Cis6MTA1NDYwMDA3ODc0NjE2NzNEMDAyMDYzNUY2NDY1NjY3MjNEMDAyMDZCCis6MTA1NDcwMDA2MzVGNjY2QzczNjgzRDAwMjA3NDc4NkQ2MTc4NzMzRDdFCis6MTA1NDgwMDAwMDIwNzI2OTVGNjU2RDczM0QwMDIwMjA2MzVGNkM3MzVGCis6MTA1NDkwMDA3MjNEMDAyMDIwNjM1RjY5NjU3MjNEMDAyMDIwNjM1RkRDCis6MTA1NEEwMDA2NjYzNzIzRDAwMjAyMDYzNUY2RDYzNzIzRDAwMjAyMEMzCis6MTA1NEIwMDA2MzVGNkM2MzcyM0QwMDIwMjA2MzVGNjQ3MzczM0QwMDIzCis6MTA1NEMwMDAyMDYzNUY2NDczNzM2OTNEMDAyMDYzNUY2NDczNzM3MjZDCis6MTA1NEQwMDAzRDAwMjAyMDYzNUY2OTczNzIzRDAwMjAyMDYzNUY2MzlECis6MTA1NEUwMDA2MTcyM0QwMDIwMjA2MzVGNjU2NjcyM0QwMDIwNjM1RjRFCis6MTA1NEYwMDA2NTcyNzM3NDNEMDAyMDYzNUY2NTYzNkU3NDNEMDAyMEM4Cis6MTA1NTAwMDA2MzVGNjI3MjZCNjMzRDAwMjA2MzVGNjI2RjZCNjMzRDNDCis6MTA1NTEwMDAwMDIwNjM1RjcyNjU3MDZDM0QwMDIwNjM1RjYzNjM3MzlFCis6MTA1NTIwMDA3MjNEMDAyMDYzNUY3Mzc0NzQzMTNEMDAyMDYzNUY3M0NDCis6MTA1NTMwMDA3NDc0MzIzRDAwMkJDMDhFRDg4RUMwRThDMjAwRThFNUZFCis6MTA1NTQwMDAwMEZBQkY4NDAwQzcwNURDNTY4QzREMDJCRjBDMDBDN0IzCis6MTA1NTUwMDAwNTZFNUU4QzREMDJCRjA0MDBDNzA1QkE1RThDNEQwMjFECis6MTA1NTYwMDBFOEYxMDA5MEU4NDkwMUU4MTYwMEY0OTBFOEU1MDBCRTkzCis6MTA1NTcwMDBCQTRERTgwOTBDQTA5MzEyRTg1RDBDRThDMjA5RUJFNDBGCis6MTA1NTgwMDBFOEQ1MENFOEM0MEMwQUMwNzRGNjhCMUVGODc5M0MwRDAzCis6MTA1NTkwMDA3NDJFM0MwODc0MTczQzdGNzQxMzgzRkIyMDdGRTE4OEQyCis6MTA1NUEwMDA4N0Q2Nzk0Mzg5MUVGODc5RTg3NzBDRUJEMzBCREI3NDQ3Cis6MTA1NUIwMDBDRjRCODkxRUY4Nzk4QjM2MTY3QUU4QzEwQkVCQzE5MDc4Cis6MTA1NUMwMDBFODAyMDBFQkJCQzY4N0Q2NzkwMDBCREI3NDFFQTBENkMxCis6MTA1NUQwMDA3OUJGNjA1MUI5MUQwMDhCRDkwNjBFMDdGMkFFMDc3NTcxCis6MTA1NUUwMDAxNzQxMkJEOUQxRTMyRUZGOTc3RDUxOTAzM0MwQTNGOEZCCis6MTA1NUYwMDA3OUJFODk0REU4ODcwQkMzQkU4RDRERTg4MDBCRUJFQzdGCis6MTA1NjAwMDBCQTAwMDJCMDkzRUVCMDU1RUVCQTEwMDJCMDkzRUVCMDBECis6MTA1NjEwMDBBQUVFQkEwMDAyRUMzQzU1NzUwOEJBMTAwMkVDM0NBQTlFCis6MTA1NjIwMDA3NDAzRTgyRkY2QzNCQTA0MDJCMDFBRUVCMDIwRUVCMDRECis6MTA1NjMwMDAzMEVFQjA0MEVFQjA4MEVFQkEwMDAyQjAxM0VFQjAwNzJDCis6MTA1NjQwMDBFRUJBMDgwMkIwODBFRUJBMDIwMkIwQkJFRUJBMDQwMkIzCis6MTA1NjUwMDBCMDA1RUVDM0M2MDZDQTEzMDFDNzA2Rjg3OTAwMDBDNjM2Cis6MTA1NjYwMDAwNkY2NzkwMUM3MDZEMDc5MDAwMEM3MDZEMjc5MDAwMDk2Cis6MTA1NjcwMDBDNzA2RDQ3OTAwMDBDNzA2RkE3OTAwMDBDNzA2RkM3OThFCis6MTA1NjgwMDAwMDAwQzcwNkZFNzkwMDAwQzcwNjAwN0EwMDAwQzcwNkMyCis6MTA1NjkwMDAwMjdBQ0U1OThDMEUwNDdBQzcwNjA2N0EwMDAwQzcwNjM1Cis6MTA1NkEwMDAyNzdBMDAwMEM2MDYyOTdBMDBDNjA2MkE3QTAwQzM5MDI3Cis6MTA1NkIwMDBCRTIyNERFOEM4MEFFODNGMDAyQzMxM0MwMTc3RjdFOEVDCis6MTA1NkMwMDA4MTA5OEIzNjBDN0FFOEI1MEFCRTZBNERFOEFGMEEwRTNFCis6MTA1NkQwMDA1OEU4RjgwQUJFN0E0REU4QTQwQUMzOTA2MEQxRTM4MzgzCis6MTA1NkUwMDBGQjE4NzMxMTFFQkEwMDAwOEVEQTJFRkY5N0I3NTE4QjhDCis6MTA1NkYwMDBFQzg5NDYxMDFGNjFDRjkwRTg0RjBCMEFDMDc1MDVFODkyCis6MTA1NzAwMDA1NjBCRUJGNEMzOTA4MzNFRjg3OTAxNzQxNkJFRDc3OTNCCis6MTA1NzEwMDBFODMxMEE4QkQwQUMzQzJDNzQwNDNDMjA3NTA1RTgyMzlFCis6MTA1NzIwMDAwQUVFQzNFOUQyRkU4MzNFRjg3OTAxNzRGNkJFRDc3OTVBCis6MTA1NzMwMDBFODExMEE4QkQwQUMzQzJDNzQwODNDMjA3NDA0RTlCNzA3Cis6MTA1NzQwMDBGRTkwRThGRjA5RUZDMzkwOEIxNjA2N0E4MzNFRjg3OTQ2Cis6MTA1NzUwMDAwMTc0MEJCRUQ3NzlFOEVCMDk4QkQwQTMwNjdBQjAyMDkxCis6MTA1NzYwMDBFODU3MEI4QjE2MDY3QUVDRTg2RjBCQzM4QjE2MDY3QTlDCis6MTA1NzcwMDA4MzNFRjg3OTAxNzQwQkJFRDc3OUU4QzcwOThCRDBBM0IzCis6MTA1NzgwMDAwNjdBQjAyMEU4MzMwQjhCMTYwNjdBRURFODY3MEJDMzc4Cis6MTA1NzkwMDBGQUM2MDZGNjc5MDBDMzkwQzYwNkY2NzkwMUZCQzM5MEY3Cis6MTA1N0EwMDAwNkU4NTgwOUIwMjBFODExMEIyNjhCMDVFODQ3MEJCMDM2Cis6MTA1N0IwMDAwOEU4MDYwQkU4MDMwQkU4MDAwQkU4RkQwQUI4MDEwMDU3Cis6MTA1N0MwMDBFOENGRjRCQTAyMDJFQzI0MDE3NTAyRUJEQ0JBMDYwMjVGCis6MTA1N0QwMDBFQzA3QzM5MEM3MDYwODdBMTAwMEVCMDZDNzA2MDg3QUU0Cis6MTA1N0UwMDAwMTAwMDY4RTA2RkM3OThCM0VGQTc5RTgwRTA5RTgwQjdCCis6MTA1N0YwMDAwMDg5M0VGQTc5OEMwNkZDNzkwN0MzOTBCRUIyNERFODY5Cis6MTA1ODAwMDA3QzA5OEIxNjA4N0E1MkU4MkEwOUU4MEYwQUU4MEMwQTg0Cis6MTA1ODEwMDAzM0RCQjkxMDAwOTAyNjhBMDFFOEJDMDlFOEZEMDk0MzkyCis6MTA1ODIwMDBFMkY0RThGNzA5RThGNDA5MzNEQkI5MTAwMDkwMjY4QUJFCis6MTA1ODMwMDAwMTNDMjA3MjA1M0M3RTc2MDM5MEIwMkVFOEUzMDk0M0RDCis6MTA1ODQwMDBFMkVDQkVCMjRERTgzNjA5ODNDNzEwNUE0QTc1QjdDM0I5Cis6MTA1ODUwMDAwNjhFMDYwMDdBOEIzRUZFNzlFOEEwMDg4OTNFRkU3OTI2Cis6MTA1ODYwMDA4QzA2MDA3QTU3OEIzNjBFN0FFODEyMDlDNzA2MDg3QTNBCis6MTA1ODcwMDAxMDAwQkEwMDAyRThFODAwRTg4MUZGNUZCQTAwMDBFODIzCis6MTA1ODgwMDBERTAwQkVCNTRERThGNjA4OENDMEU4M0YwOUIwM0FFODQ2Cis6MTA1ODkwMDA5MDA5OEJDN0U4MzUwOUU4N0UwOEU4QzMwMDkwRThCN0FGCis6MTA1OEEwMDAwOUU4QTYwOTBBQzA3NEY2M0MwQjc1MDY4M0VGMTBFQkY1Cis6MTA1OEIwMDAxOTkwM0MwQTc1MDY4M0M3MTBFQjBGOTAzQzBDNzUwNEQ5Cis6MTA1OEMwMDA0N0VCMDc5MDNDMDg3NTI0NEY5MDhCMzZGRTc5OEJDN0M5Cis6MTA1OEQwMDAyQkM2M0QwMDAxNzJBNTNEMTAwMTcyMDQ4M0VFMjA5MDlECis6MTA1OEUwMDA4M0M2MTA4OTM2RkU3OTU3OEJGRUVCODAzQzJFNzUwOEY3Cis6MTA1OEYwMDBCQTAxMTNFODZBMDAwN0MzQzYwNjBBN0EwMjMyQzk5MEUxCis6MTA1OTAwMDAzQzMwNzI0QzNDMzk3NjBDMjQ1RjNDNDE3MjQyM0M0NjQwCis6MTA1OTEwMDA3NzNFMkMwNzJDMzA1MEU4Q0MwODU4MDJDOEZFMEUwQUZGCis6MTA1OTIwMDA3QTc0MEZDMEUxMDRFODJGMDlFODFFMDkwQUMwNzRGNjcyCis6MTA1OTMwMDBFQkNFMjY4ODBERThFMDA3OEFEMEU4MjMwMDhBQzEzQzM4Cis6MTA1OTQwMDAyMDcyMDUzQzdFNzYwMzkwQjAyRUU4RDUwOEU5NzBGRjAyCis6MTA1OTUwMDBFOEM1MDdFODBBMDAyNjhBMDVFODdDMDhFOTFERkY5MEVCCis6MTA1OTYwMDBGNjA2MjY3QTAyNzUwMjg2RjI1MjhCMzYxQTdBRTgwRDBFCis6MTA1OTcwMDAwODVBNTI4QUM2MDIwNjI0N0FGNjA2MjY3QTAxNzUwNjY1Cis6MTA1OTgwMDBFODlGMDhFQjBEOTAzMkU0RTgwRDA4OEIzNjFDN0FFOEFFCis6MTA1OTkwMDBFQzA3NUE4QUMyMDIwNjI1N0FGNjA2MjY3QTAxNzUwNkFGCis6MTA1OUEwMDBFODdGMDhFQjA2OTAzMkU0RThFRDA3OEIzNjFFN0FFOEQ0Cis6MTA1OUIwMDBDQzA3QzM5MDA2OEUwNjA0N0E4QjNFMDI3QUU4M0MwNzM5Cis6MTA1OUMwMDA4OTNFMDI3QThDMDYwNDdBMDdGRjFFMDI3QUMzQkU5N0NDCis6MTA1OUQwMDA0REU4QUEwN0NCOTAwNjU3QkVENzc5RTg2NjA3OEJEODYzCis6MTA1OUUwMDBFODYxMDc4QkM4MkJDQjc4MTE4RUMzQkYwMDAwQjhGRkNFCis6MTA1OUYwMDBGRjUxQjkwODAwRjNBQjU5RTJGNzVGMDdDMzkwMDZCRTQ5Cis6MTA1QTAwMDBENzc5RTgzRjA3OEJEOEQxRTMyRThCOUY0NDAwQkUyNjgxCis6MTA1QTEwMDA1MkU4RjEwODhCQzNFOEREMDhCODAxMDBFODczRjJFODRBCis6MTA1QTIwMDBFMDA4QkUyRjUyRThERDA4OEI0NzE4RThDODA4QkU3N0FCCis6MTA1QTMwMDA1MkU4RDEwODhCNDcyNkU4QkMwOEJFNTM1MkU4QzUwODk3Cis6MTA1QTQwMDA4QjQ3MUVFOEIwMDhCRTVDNTJFOEI5MDg4QjQ3MjBFOEQ3Cis6MTA1QTUwMDBBNDA4QkU2RTUyRThBRDA4OEI0NzI0RTg5ODA4QkU4MEMzCis6MTA1QTYwMDA1MkU4QTEwODhCNDcyQUU4OEMwOEU4OTUwOEJFMzg1MjBFCis6MTA1QTcwMDBFODkyMDg4QjA3RTg3RTA4QkU0MTUyRTg4NzA4OEI0NzBBCis6MTA1QTgwMDAxQUU4NzIwOEJFNEE1MkU4N0IwODhCNDcxQ0U4NjYwODkxCis6MTA1QTkwMDBCRTY1NTJFODZGMDg4QjQ3MjJFODVBMDhFODYzMDhCRUUzCis6MTA1QUEwMDBEMTUyRTg2MDA4OEI0NzM4RTg0QjA4QkVBRDUyRTg1NDQ1Cis6MTA1QUIwMDAwODhCNDczMEU4M0YwOEJFQjY1MkU4NDgwODhCNDczMkFCCis6MTA1QUMwMDBFODMzMDhCRUE0NTJFODNDMDg4QjQ3MkVFODI3MDhCRUZFCis6MTA1QUQwMDBCRjUyRTgzMDA4OEI0NzM0RTgxQjA4RTgyNDA4QkU4OTI5Cis6MTA1QUUwMDA1MkU4MjEwODhCNDcwNEU4MEMwOEJFOTI1MkU4MTUwOERBCis6MTA1QUYwMDA4QjQ3MTRFODAwMDhCRTlCNTJFODA5MDg4QjQ3MkNFODQ2Cis6MTA1QjAwMDBGNDA3QkVDODUyRThGRDA3OEI0NzM2RThFODA3QkVEQTVGCis6MTA1QjEwMDA1MkU4RjEwNzhCNDczQUU4REMwN0JFRTM1MkU4RTUwN0I1Cis6MTA1QjIwMDA4QjQ3M0NFOEQwMDdFOEQ5MDdCRTE5NTNFOEQ2MDc4QjY2Cis6MTA1QjMwMDA0NzQ4RThDMTA3QkVGRTUyRThDQTA3OEI0NzQyRThCNUFFCis6MTA1QjQwMDAwN0JFMDc1M0U4QkUwNzhCNDc0NEU4QTkwN0JFN0M1MzRFCis6MTA1QjUwMDBFOEIyMDc4QjQ3NENFODlEMDdCRTg1NTNFOEE2MDc4QjQ0Cis6MTA1QjYwMDA0NzRFRTg5MTA3QkU4RTUzRTg5QTA3OEI0NzUwRTg4NTY5Cis6MTA1QjcwMDAwN0U4OEUwN0JFMjI1M0U4OEIwNzhCNDc0QUU4NzYwNzczCis6MTA1QjgwMDBCRUVDNTJFODdGMDc4QjQ3MDhFODZBMDdCRUY1NTJFODhCCis6MTA1QjkwMDA3MzA3OEI0NzQwRTg1RTA3QkUxMDUzRTg2NzA3OEI0N0UzCis6MTA1QkEwMDA0NkU4NTIwN0U4NUIwN0JFNkE1M0U4NTgwNzhCNDc3QTE2Cis6MTA1QkIwMDBFODQzMDdCRTNENTNFODRDMDc4QjQ3NzBFODM3MDdCRTA0Cis6MTA1QkMwMDA0NjUzRTg0MDA3OEI0NzcyRTgyQjA3QkU0RjUzRTgzNDMzCis6MTA1QkQwMDAwNzhCNDc3NEU4MUYwN0U4MjgwN0JFMkI1M0U4MjUwNzAzCis6MTA1QkUwMDA4QjQ3MENFODEwMDdCRTM0NTNFODE5MDc4QjQ3MTBFOEMxCis6MTA1QkYwMDAwNDA3QkU1ODUzRTgwRDA3OEI0Nzc2RThGODA2QkU2MUU4Cis6MTA1QzAwMDA1M0U4MDEwNzhCNDc3OEU4RUMwNkJFNzM1M0U4RjUwNkM2Cis6MTA1QzEwMDA4QjQ3M0VFOEUwMDZFOEU5MDZCRTk3NTNFOEU2MDY4QkM4Cis6MTA1QzIwMDA0NzUyRThEMTA2QkVBMDUzRThEQTA2OEI0NzU0RThDNUQwCis6MTA1QzMwMDAwNkJFQTk1M0U4Q0UwNjhCNDc1NkU4QjkwNkJFQjI1MzU2Cis6MTA1QzQwMDBFOEMyMDY4QjQ3NThFOEFEMDZCRUJCNTNFOEI2MDY4QkU0Cis6MTA1QzUwMDA0NzVBRThBMTA2QkVDNDUzRThBQTA2OEI0NzVDRTg5NUZDCis6MTA1QzYwMDAwNkU4OUUwNkJFQ0Q1M0U4OUIwNjhCNDc1RUU4ODYwNjk3Cis6MTA1QzcwMDBCRUQ2NTNFODhGMDY4QjQ3NjBFODdBMDZCRURGNTNFODRFCis6MTA1QzgwMDA4MzA2OEI0NzYyRTg2RTA2QkVFODUzRTg3NzA2OEI0N0NCCis6MTA1QzkwMDA3Q0U4NjIwNkJFRjE1M0U4NkIwNjhCNDc3RUU4NTYwNjQ5Cis6MTA1Q0EwMDBCRUZBNTNFODVGMDY4Qjg3ODAwMEU4NDkwNkU4NTIwNjkzCis6MTA1Q0IwMDBCRTQyNTRFODRGMDY4Qjg3OUUwMEU4MzkwNkJFMDM1NDY3Cis6MTA1Q0MwMDBFODQyMDY4QjQ3NjRFODJEMDZCRTBDNTRFODM2MDY4Qjg2Cis6MTA1Q0QwMDA0NzZFRTgyMTA2QkUxNTU0RTgyQTA2OEI4NzhFMDBFODM5Cis6MTA1Q0UwMDAxNDA2QkUxRTU0RTgxRDA2OEI4NzkwMDBFODA3MDZCRTBBCis6MTA1Q0YwMDAyNzU0RTgxMDA2OEI4NzkyMDBFOEZBMDVFODAzMDZCRUYxCis6MTA1RDAwMDAzMDU0RTgwMDA2OEI4Nzk0MDBFOEVBMDVCRTM5NTRFODcxCis6MTA1RDEwMDBGMzA1OEI4Nzk2MDBFOEREMDVCRTZGNTRFOEU2MDU4QjNBCis6MTA1RDIwMDA4Nzk4MDBFOEQwMDVCRTVENTRFOEQ5MDU4QTg3QTAwMEIxCis6MTA1RDMwMDBFOEE3MDVCRTU0NTRFOENDMDU4QTQ3MjhFODlCMDVCRTcxCis6MTA1RDQwMDA2NjU0RThDMDA1OEE4N0ExMDBFODhFMDVFOEIzMDVCRTYxCis6MTA1RDUwMDA3ODU0RThCMDA1OEE4N0EyMDBFODdFMDVCRTgxNTRFODQxCis6MTA1RDYwMDBBMzA1OEE4N0EzMDBFODcxMDVCRThBNTRFODk2MDU4QUQwCis6MTA1RDcwMDA4N0E0MDBFODY0MDVCRTkzNTRFODg5MDU4QTg3QTUwMEQ2Cis6MTA1RDgwMDBFODU3MDVCRTlDNTRFODdDMDU4QTg3QTYwMEU4NEEwNUNBCis6MTA1RDkwMDBCRUE1NTRFODZGMDU4QTg3QTcwMEU4M0QwNUJFQUU1NDRFCis6MTA1REEwMDBFODYyMDU4QTg3QTgwMEU4MzAwNUU4NTUwNUJFQjc1NEMzCis6MTA1REIwMDBFODUyMDU4QTg3QTkwMEU4MjAwNUJFQzA1NEU4NDUwNUQ5Cis6MTA1REMwMDA4QTg3QUEwMEU4MTMwNUJFQzk1NEU4MzgwNThBODdBQjVDCis6MTA1REQwMDAwMEU4MDYwNUJFRDI1NEU4MkIwNThBODdBRDAwRThGOTM1Cis6MTA1REUwMDAwNEJFREI1NEU4MUUwNThBODdBRTAwRThFQzA0QkVFNDdFCis6MTA1REYwMDA1NEU4MTEwNThBODdBRjAwRThERjA0QkVFRDU0RTgwNERCCis6MTA1RTAwMDAwNThBODdCMDAwRThEMjA0RThGNzA0QkVGNjU0RThGNDQ3Cis6MTA1RTEwMDAwNDhBODdCMTAwRThDMjA0QkVGRjU0RThFNzA0OEE4NzE5Cis6MTA1RTIwMDBCMjAwRThCNTA0QkUwODU1RThEQTA0OEE4N0IzMDBFODkyCis6MTA1RTMwMDBBODA0QkUxMTU1RThDRDA0OEE4N0JCMDBFODlCMDRFODlFCis6MTA1RTQwMDBDMDA0QkUxQTU1RThCRDA0OEE4N0JDMDBFODhCMDRCRUI2Cis6MTA1RTUwMDAyMzU1RThCMDA0OEE4N0JFMDBFODdFMDRCRTJDNTVFOENFCis6MTA1RTYwMDBBMzA0OEE4N0JGMDBFODcxMDRFODk2MDQwN0MzNjAwNkFDCis6MTA1RTcwMDAxRTE2OEJFQ0ZGNEUxNkY3NDYxQTAwMDI3NDAxRkJCODkzCis6MTA1RTgwMDAwMDAwOEVEODhFQzA4OTJFMkQ3QUU4Q0IwMDgxNjYxQTRDCis6MTA1RTkwMDBGRkZFQzYwNjJBN0EwMEU4RDgwMEI4MDA1RkEzMkI3QTc2Cis6MTA1RUEwMDBFODVEMDA4MDNFMkE3QTAwNzQwQTgxNEUxQTAwMDFDNjFECis6MTA1RUIwMDAwNjJBN0EwMDE3MUYwNzYxQ0Y5MDYwMDYxRTE2OEJFQzJBCis6MTA1RUMwMDBGNzQ2MUEwMDAyNzQwMUZCQjgwMDAwOEVEODhFQzA4OTE0Cis6MTA1RUQwMDAyRTJEN0E4MTY2MUFGRkZFQzYwNjJBN0EwMEU4OTIwMDA1Cis6MTA1RUUwMDBCODAwNUZBMzJCN0FFODE3MDA4MDNFMkE3QTAwNzQwQTc0Cis6MTA1RUYwMDA4MTRFMUEwMDAxQzYwNjJBN0EwMDE3MUYwNzYxQ0Y5MDRCCis6MTA1RjAwMDBCOEYwMDBFODhDRURGRjI2MkI3QUMzOTAwNjUzNTY4MDNDCis6MTA1RjEwMDAzRTI5N0EwMDc0MDNFODNGMDBCRUQ3NzlFODI1MDI4QjVBCis6MTA1RjIwMDBEOEEzMjc3QTJFOEEwN0EyMjk3QUIwQ0MyRTg4MDc1RUJBCis6MTA1RjMwMDA1QjA3QzNDNjA2MkE3QTAwQjgwQTVGQTMyQjdBQzM5MDEwCis6MTA1RjQwMDA4QjJFMkQ3QUU4MkIwMEMzQzYwNjJBN0EwMUU4MDgwMEJBCis6MTA1RjUwMDBCODBBNUZBMzJCN0FDMzkwNTc4MDNFMjk3QTAwNzQwRjRBCis6MTA1RjYwMDA4QjNFMjc3QUEwMjk3QTJFODgwNUM2MDYyOTdBMDA1RkZCCis6MTA1RjcwMDBDMzkwQkVCMjRERTgwNjAyQkVEODUxRTgwMDAyRkY3NkRCCis6MTA1RjgwMDAxNDU4RTg0NzAyQkVERTUxRThGMzAxRkY3NjBFNThFOEU4Cis6MTA1RjkwMDAzQTAyQkVFNDUxRThFNjAxRkY3NjEyNThFODJEMDJCRTRGCis6MTA1RkEwMDBFQTUxRThEOTAxRkY3NjEwNThFODIwMDJCRTE0NTJFODAxCis6MTA1RkIwMDBDQzAxRkY3NjBBNThFODEzMDJCRTFBNTJFOEJGMDFGRjZGCis6MTA1RkMwMDA3NjBDNThFODA2MDJCRUNGNTFFOEIyMDFGRjc2MUE1OEE3Cis6MTA1RkQwMDBFOEY5MDFCRUIyNERFOEE1MDFCRUYwNTFFODlGMDFGRjBFCis6MTA1RkUwMDA3NjE4NThFOEU2MDFCRUY2NTFFODkyMDFGRjc2MDI1OEFECis6MTA1RkYwMDBFOEQ5MDFCRUZDNTFFODg1MDFGRjc2MDQ1OEU4Q0MwMUUwCis6MTA2MDAwMDBCRTAyNTJFODc4MDFGRjc2MDA1OEU4QkYwMUJFMDg1MjkwCis6MTA2MDEwMDBFODZCMDFGRjc2MDY1OEU4QjIwMUJFMEU1MkU4NUUwMTU5Cis6MTA2MDIwMDBGRjc2MDg1OEU4QTUwMUJFMjA1MkU4NTEwMUZGNzYxNjE4Cis6MTA2MDMwMDA1OEU4OTgwMUJFODk0REU4NDQwMUMzOTBCRUM5NERFOEI3Cis6MTA2MDQwMDAzQzAxQzMzQzAwNzQwNTNDMDE3NDU5QzNDNzA2MEM3QTdCCis6MTA2MDUwMDBDRDUwQzcwNjBFN0FGMDUwQzcwNjEwN0FFODUwQzcwNjMyCis6MTA2MDYwMDAxMjdBRUM1MEM3MDYxNDdBRjQ1MEM3MDYxNjdBRkI1MDIxCis6MTA2MDcwMDBDNzA2MTg3QTAzNTFDNzA2MUE3QTBCNTFDNzA2MUM3QTRECis6MTA2MDgwMDAwRTUxQzcwNjFFN0ExMDUxQzcwNjIwN0ExMjUxQzcwNjU0Cis6MTA2MDkwMDAyMjdBMTY1MUM2MDYyNDdBMDFDNjA2MjU3QTAxQzYwNjVBCis6MTA2MEEwMDAyNjdBMDNDM0M3MDYwQzdBMUE1MUM3MDYwRTdBNEQ1MUQ5Cis6MTA2MEIwMDBDNzA2MTA3QTQ3NTFDNzA2MTI3QTRBNTFDNzA2MTQ3QUEyCis6MTA2MEMwMDA0RjUxQzcwNjE2N0E1MTUxQzcwNjE4N0E1NTUxQzcwNjVGCis6MTA2MEQwMDAxQTdBNTY1MUM3MDYxQzdBNTk1MUM3MDYxRTdBNUE1MTY4Cis6MTA2MEUwMDBDNzA2MjA3QTVCNTFDNzA2MjI3QTVFNTFDNjA2MjQ3QTFCCis6MTA2MEYwMDAyMEM2MDYyNTdBMjBDNjA2MjY3QTAyQzNBMUY4Nzk0ODZBCis6MTA2MTAwMDA3NDE0QkVENzc5RTgzQzAwOEJGOEFDM0MzQTc1MDc4RTI2Cis6MTA2MTEwMDBDN0U4MzAwMDhCRjhDMzkwOEJDNzJCMDZGRTc5OEFGMDU2Cis6MTA2MTIwMDAyNDBGOEFEMDAyRDAwMkQwODBDMjBCQzBFRTA0ODBDNkY5Cis6MTA2MTMwMDAwMzA0M0RDMzhDQzBFODkzMDBCMDNBRThFNDAwOEJDNzg5Cis6MTA2MTQwMDBFODg5MDBDMzUxMzNDOTkwQUMzQzIwNzRGQjkwMEFDMDZECis6MTA2MTUwMDA3NDI2MkMzMDcyMjIzQzA5NzYxNDNDMTE3MjFBMkMwN0RBCis6MTA2MTYwMDAzQzBGNzYwQTNDMkE3MjEwMkMyMDNDMEY3NzBBOThDMTBCCis6MTA2MTcwMDBFMTA0MDNDOEFDRUJENzkwNEU4QkMxNTlDMzkwMDY4Qzk5Cis6MTA2MTgwMDBDODhFQzBFODAyMDAwN0MzMjY4QTA0NDYwQUMwNzQwNjA3Cis6MTA2MTkwMDBFODhGMDBFQkYzOTBDMzkwMEJDMDc0N0E1MTMzRDJCOUZGCis6MTA2MUEwMDBFODAzRjdGMThCQ0FFODAzMDA4QkMxNTlCQTY0MDBGNjIzCis6MTA2MUIwMDBGMkU4MEMwMDhBQzQ5OEIyMEFGNkYyRTgwMjAwOEFDNDM3Cis6MTA2MUMwMDA1MDBBRjA3NDA1MDQzMEU4NTgwMDU4QzM4NkM0RTgwNzQ0Cis6MTA2MUQwMDAwMDg2QzRFODAyMDBDMzkwQzFDODA0RTgwODAwQzFDMDNBCis6MTA2MUUwMDAwNEU4MDIwMEMzOTA1MzUwMjQwRkJCQ0E2MjJFRDdFOEM0Cis6MTA2MUYwMDAzMDAwNTg1QkMzOTA4NkM0RTgwNzAwODZDNEU4MDIwMEZDCis6MTA2MjAwMDBDMzkwNTBCOTA4MDA4QUUwMzJDMEQxQzAwNDMwRTgxMTEwCis6MTA2MjEwMDAwMEUyRjU1OEMzOTBCMDMwRTgwNzAwQzNCMDIwRTgwMUIxCis6MTA2MjIwMDAwMEMzNTY4QjM2RDA3OTg4ODREMDc3NDY4MUU2RkYwMTRCCis6MTA2MjMwMDBGRjA2RDQ3OTg5MzZEMDc5ODEzRUQ0NzlGRTAxNzUwODdDCis6MTA2MjQwMDA1NkU4MTQwMDVFRUJGMTkwNUVDM0JBMDIwMkVDMjQwMTQyCis6MTA2MjUwMDA3NDA0QkEwNjAyRUNDMzkwODAzRUY2NzkwMDc0MDk2MEJCCis6MTA2MjYwMDBCODAxMDBFODJDRUE2MTkwQkEwMjAyRUNBODA0NzQyODk0Cis6MTA2MjcwMDA4QjM2RDI3OTgzM0VENDc5MDA3NDFEOEE4NEQwNzc0NkQ4Cis6MTA2MjgwMDA4MUU2RkYwMTg5MzZEMjc5RkYwRUQ0NzlCQTA2MDJFRTkzCis6MTA2MjkwMDBCQTAyMDJFQ0E4MDQ3NURDQTFENDc5QzM1MkJBMDYwMjkyCis6MTA2MkEwMDBFRTVBQzM5MDUyNTBCQTAyMDJFQ0E4MDQ3NDA4NTg1QTJECis6MTA2MkIwMDBFOEU5RkZGOUMzOTA1ODVBRjhDMzUyNTBCQTAyMDJFQzA5Cis6MTA2MkMwMDBBODA0NzRGQjU4NUFFOEQzRkZDMzMwMzEzMjMzMzQzNTU1Cis6MTA2MkQwMDAzNjM3MzgzOTQxNDI0MzQ0NDU0NjUzNTA4QUUwODBFNERBCis6MTA2MkUwMDAwRkJCQ0E2MkMwRTgwNDJFRDdFOENFRkY4QUM0MkVEN0ZGCis6MTA2MkYwMDBFOEM3RkY1ODVCQzM4NkUwRThERkZGODZFMEU4REFGRjI3Cis6MTA2MzAwMDBDMzkwQkVCMjRENTAyRUFDM0MwMDc0MDVFOEFCRkZFQjIxCis6MTA2MzEwMDBGNTU4QzM5MEM4MDgwMDAwNTY1NzhCNzYwNEJGMDQwMDk4Cis6MTA2MzIwMDBDNzQ2RkMwMDAwQzc0NkZBMDAwMEM3NDZGODAwMDA4M0Q1Cis6MTA2MzMwMDA3RTA2MDA3NTBFNTZFOEI2MEU1OTBCQzA3NTA1OEJDNzY0Cis6MTA2MzQwMDBFOTVCMDE4QjQ2RkM4OTQ2RkUwQkZGNzUwNUI4MDEwMDMxCis6MTA2MzUwMDBFQjAyMzNDMDUwNTZFOEE0MEQ1OTU5QjQwMDg5NDZGQ0VECis6MTA2MzYwMDA4QjVFRkM4M0ZCMDg3NjAzRTkyQjAxRDFFMzJFRkZBN0FDCis6MTA2MzcwMDBCMjY0QjgwMzAwRTkyNjAxODM3RUZBMDA3NDE0Qzc0NkFDCis6MTA2MzgwMDBGQTAwMDA4QTQ0NTg5ODUwOEE0NDU5OTg1MEU4QzIwRjNECis6MTA2MzkwMDA1OTU5ODM3RUY4MDA3NDBBQzc0NkY4MDAwMDU2RTg5QkY2Cis6MTA2M0EwMDAwODU5ODM3RTA2MDA3NTA1OEJDN0U5RjEwMDgzRkYwNDU5Cis6MTA2M0IwMDA3NTAzRTlFNjAwOEJDN0U5RTQwMDgzN0VGRTAwNzUwMzAwCis6MTA2M0MwMDBCRjAyMDBFOUQ1MDA4MzdFRkUwMDc1MDNCRjAxMDBFOTJFCis6MTA2M0QwMDBDOTAwOEI1RUZFODNGQjA3NzYwM0U5ODYwMEQxRTMyRUJFCis6MTA2M0UwMDBGRkE3QTI2NDMzRkZFOTdGMDBCRjA0MDA4MDdDNTgwRjQxCis6MTA2M0YwMDA3NDIyODM3RUY4MDA3NTFDRkU0NDU4NkEwODU2RTg3RUI1Cis6MTA2NDAwMDAwQzU5NTk4QTQ0NTgwNDgwNTA1NkU4NzIwQzU5NTlDNzlGCis6MTA2NDEwMDA0NkZBMDEwMDgzN0VGODAwNzQwQUM3NDZGODAwMDA1NjY5Cis6MTA2NDIwMDBFODE5MDg1OUVCNDJCRjA0MDA4MDdDNTgwMDc0MjI4M0FECis6MTA2NDMwMDA3RUY4MDA3NTFDRkU0QzU4NkEwODU2RTg0MTBDNTk1OTA0Cis6MTA2NDQwMDA4QTQ0NTgwNDgwNTA1NkU4MzUwQzU5NTlDNzQ2RkEwMTE5Cis6MTA2NDUwMDAwMDgzN0VGODAwNzQwQUM3NDZGODAwMDA1NkU4REMwNzlGCis6MTA2NDYwMDA1OUVCMDVCRjA0MDBFQjAwRUIzMUJGMDQwMEVCMkNDNzc4Cis6MTA2NDcwMDA0NkY4MDEwMDZBMDg1NkU4MDUwQzU5NTk4MDdDNTgwOTBECis6MTA2NDgwMDA3RDA0QjAwRkVCMDJCMDAwMDQ4MDUwNTZFOEYwMEI1OUM5Cis6MTA2NDkwMDA1OUJGMDQwMEVCMDVCRjA0MDBFQjAwRTlBNUZFNUY1RUY5Cis6MTA2NEEwMDBDOUMzRTQ2MzYzNjQ2MzY0NjM2NDYzNjRFOTYzMjY2NDI3Cis6MTA2NEIwMDA1MTY0Nzg2M0JBNjNDNjYzOTY2NEQyNjM2QTY0NkE2NDNCCis6MTA2NEMwMDA2RjY0NzI2M0M4MDgwMDAwNTY1NzhCNzYwNDhCN0UwODkxCis6MTA2NEQwMDA2QTAxNTZFOEE5MEI1OTU5OEE0NjA2QzBFMDA2MDQ4MEFECis6MTA2NEUwMDA1MDU2RTg5QTBCNTk1OUM3NDZGRTAwMDA4OTdFRjhFQkQyCis6MTA2NEYwMDAwM0ZGNDZGRThCNUVGOEZGNDZGODgwM0YwMDc1RjI4MzhGCis6MTA2NTAwMDA3RUZFMTA3RDI1QjgxMDAwMkI0NkZFRDFGODg5NDZGQzkyCis6MTA2NTEwMDBDNzQ2RkEwMDAwRUIwQjZBMjA1NkU4NjIwQjU5NTlGRjk4Cis6MTA2NTIwMDA0NkZBOEI0NkZBM0I0NkZDN0NFREVCMEM4QkRGNDc4QTQ4Cis6MTA2NTMwMDAwNzUwNTZFODQ5MEI1OTU5ODAzRDAwNzVFRjZBMDI1NkRECis6MTA2NTQwMDBFODNDMEI1OTU5RUIwMDVGNUVDOUMzQzgwNDAwMDA1NjE0Cis6MTA2NTUwMDA1NzhCN0UwNEM3NDZGRTAwMDBCRTE0MDBFOTA5MDE4QjdDCis6MTA2NTYwMDA1RUZFODNDMzA0MkJERjhBODdBQzBCODg0NDVBQzY0NDgzCis6MTA2NTcwMDA1ODA4OEE0NkZFODg0NDU5Qzc0NDA2MDAwMEM2NDQxOTk0Cis6MTA2NTgwMDAwMEM2NDQxQTAwQzY0NDFCMDBDNjQ0MUQwREM2NDQxRTY2Cis6MTA2NTkwMDAwM0M2NDQxRjAwQzY0NDIwMDBDNjQ0MjEwMEM2NDQ1QjE1Cis6MTA2NUEwMDAwMEM2NDQ1RDAwQzY0NDVFMDBDNjQ0NUYwMEM2NDQ2MDQ5Cis6MTA2NUIwMDAwMEM3NDZGQzAwMDBFQjBEOEI1RUZDRDFFM0M3NDAzMDBBCis6MTA2NUMwMDAwMDAwRkY0NkZDODM3RUZDMTA3Q0VEQzc0NkZDMDAwMDBCCis6MTA2NUQwMDBFQjBBOEI1RUZDQzY0MDUwMDBGRjQ2RkM4MzdFRkMwNDQ5Cis6MTA2NUUwMDA3Q0YwQzc0NDU0MDAwMEM3NDQ1NjAwMDA4QTQ0NUE5OEJGCis6MTA2NUYwMDBCQUY4MDAyM0QwQjgwNTAwMEJDMjg5NDZGQzlDRkE4QTgxCis6MTA2NjAwMDA0NkZDQkFGRTAwRUVCQTAwMDBFQzlEMjQwODg4NDZGQzY5Cis6MTA2NjEwMDA4MzdFRkMwMDc1MDJFQjRBRkY3NkZFRTg3QTBDNTk2ODJGCis6MTA2NjIwMDAzNTAyNTZFODMyMEE1OTU5MEJDMDc1MzQ2ODM4MDI1NjlCCis6MTA2NjMwMDBFODI1MEE1OTU5MEJDMDc1Mjc2ODQyMDI1NkU4MTgwQTFFCis6MTA2NjQwMDA1OTU5MEJDMDc1MUE2ODRDMDI1NkU4MEIwQTU5NTkwQjc4Cis6MTA2NjUwMDBDMDc1MEQ2ODU2MDI1NkU4RkUwOTU5NTkwQkMwNzQwMjAwCis6MTA2NjYwMDBFQjAwRkY0NkZFODNDNjYyMzk3RUZFN0QwM0U5RUZGRTQ2Cis6MTA2NjcwMDBFQjAwNUY1RUM5QzNDODA4MDAwMDU2NTc4QjQ2MDRCQURBCis6MTA2NjgwMDA2MjAwRjdFQTA1MTQwMDhCRjA4MzdFMDYwMDc0MDVCOEZCCis6MTA2NjkwMDAxMDAwRUIwM0I4MDgwMDg5NDQwNDhBNDYwODg4NDQ1QzZCCis6MTA2NkEwMDA1NkU4NTkwNDU5OEJGODhCQzc4OTQ0NTY4OTQ0NTQ4QTUzCis6MTA2NkIwMDA0NDVEODg0NDJGMEJGRjc1MUQ2OEMyMEY2QTAxNTZFOEMwCis6MTA2NkMwMDAwMkZFODNDNDA2RUIwMDZBMDE1NkU4NDdGQzU5NTkwQkU5Cis6MTA2NkQwMDBDMDc1RjRCRjAxMDA4OTdFRkFCOTA1MDBCQkU5NkEyRUQ2Cis6MTA2NkUwMDA4QjA3M0I0NkZBNzQwNzQzNDNFMkY0RTlBNDAzMkVGRjA5Cis6MTA2NkYwMDA2NzBBQzc0NDA2MDIwMEM3NDQwOEY0MDg4QjVFMDREMTQ5Cis6MTA2NzAwMDBFMzhCODdGQzA4ODk0NDBBMzNDMDhCRjg4OTQ0NTRFOTM5Cis6MTA2NzEwMDA4MDAzNTZFOEJCMDU1OUJGMDEwMDhBNDQ1RDg4NDQ2MDg4Cis6MTA2NzIwMDBFOTZGMDM4MzdDMDQwODc1MzA4MDdDNUMwMTc1MTU4QUYxCis6MTA2NzMwMDA0NDVEQjQwMEQxRTA4QkQ4RkZCN0U0MDg1NkU4RjcwODExCis6MTA2NzQwMDA1OTU5RUIxMzhBNDQ1REI0MDBEMUUwOEJEOEZGQjdDNDJDCis6MTA2NzUwMDAwODU2RThFMjA4NTk1OUVCMkU4MDdDNUMwMTc1MTU4QUQxCis6MTA2NzYwMDA0NDVEQjQwMEQxRTA4QkQ4RkZCN0Q0MDg1NkU4QzcwODIxCis6MTA2NzcwMDA1OTU5RUIxMzhBNDQ1REI0MDBEMUUwOEJEOEZGQjdCNDBDCis6MTA2NzgwMDAwODU2RThCMjA4NTk1OTZBMDE1NkU4ODdGQjU5NTk4QkVGCis6MTA2NzkwMDBEODgzRkIwMzc3MkFEMUUzMkVGRkE3RTE2QUJGMDEwMDZDCis6MTA2N0EwMDA4QTQ0NUQ4ODQ0NUVFQjE4OEE0NDVEMDRGRjI0MDc4OEIwCis6MTA2N0IwMDA0NDVERUIwQzhBNDQ1REZFQzAyNDA3ODg0NDVERUIwMDE5Cis6MTA2N0MwMDBFOUNGMDI4QTQ0NURCNDAwRDFFMDhCRDhGRkI3RkQwMjY3Cis6MTA2N0QwMDA1NkU4NjMwODU5NTk2ODFEMDM1NkU4NUEwODU5NTk2QTFBCis6MTA2N0UwMDAwMTU2RTgyRkZCNTk1OThCRDg4M0ZCMDM3NzM2RDFFMzQ5Cis6MTA2N0YwMDAyRUZGQTdEOTZBQkYwMTAwOEE0NDVEODg0NDVGRUIyNDVECis6MTA2ODAwMDA4QTQ0NUQwNEZGOEE1NDA0ODBDMkZGMjJDMjg4NDQ1RDJBCis6MTA2ODEwMDBFQjEyOEE0NDVERkVDMDhBNTQwNDgwQzJGRjIyQzI4ODAzCis6MTA2ODIwMDA0NDVERUIwMEU5NkIwMjhCNUMwNjgzQzNGRUQxRTM4QjE2Cis6MTA2ODMwMDA0MDA4ODkwNDhCMUNGRjc3MDY2QTAwNTZFODg1RkM4M0I0Cis6MTA2ODQwMDBDNDA2OEI1QzA2NEJEMUUzOEI0MDA4ODk0NDAyOEI1QzA5Cis6MTA2ODUwMDAwMkZGNzcwNjZBMDE1NkU4NkFGQzgzQzQwNjZBMDE1NjlECis6MTA2ODYwMDBFOEIxRkE1OTU5OEJEODgzRkIwMzc2MDNFOTFGMDJEMUFCCis6MTA2ODcwMDBFMzJFRkZBN0QxNkE4QjVDMDI4QjQ3MDQ4OTQ0MDI4QjBECis6MTA2ODgwMDA1QzAyODAzRjQ0NzUwRDhCNUMwMjhBNDcwMUI0MDAzQjdCCis6MTA2ODkwMDA0NDA0N0RFMjhCNDYwNEQxRTA4QjFDMDNEODhCNDQwMjc4Cis6MTA2OEEwMDA4OTQ3MDg4QjVDMDY0QkQxRTM4QjQ0MDI4OTQwMDhFOTk5Cis6MTA2OEIwMDBERTAxOEI1QzAyOEI0NzAyODk0NDAyOEI1QzAyODAzRkM1Cis6MTA2OEMwMDA0NDc1MEQ4QjVDMDI4QTQ3MDFCNDAwM0I0NDA0N0RFMkIxCis6MTA2OEQwMDA4QjQ2MDREMUUwOEIxQzAzRDg4QjQ0MDI4OTQ3MDg4QjdDCis6MTA2OEUwMDA1QzA2NEJEMUUzOEI0NDAyODk0MDA4RTlBMjAxQkYwMTU5Cis6MTA2OEYwMDAwMEU5OUMwMThCNUMwMjhBMDdCNDAwODk0NkY4QjkwQzU4Cis6MTA2OTAwMDAwMEJCQTE2QTJFOEIwNzNCNDZGODc0MDc0MzQzRTJGNEIxCis6MTA2OTEwMDBFOTc3MDEyRUZGNjcxODhCNDYwNEQxRTA4QjVDMDIwM0Y4Cis6MTA2OTIwMDBEODhCNDcwODhCNUMwNkZGNDQwNkQxRTM4OTQwMDg4QjZGCis6MTA2OTMwMDAxQzgwN0YwMTAwNzQxMjhCNUMwMjhBNDcwMThCMUM4QUM5Cis6MTA2OTQwMDA1NzAxQjYwMDhCREE4ODQwMThFOTQwMDFGRjRDMDZFOTkwCis6MTA2OTUwMDAzQTAxOEI1QzAyOEE0NzAxOEIxQzhBNTcwMUI2MDA4Qjc3Cis6MTA2OTYwMDBEQTg4NDAxOEU5MjUwMThCNUMwMjhBNDcwMThCMUM4QTcyCis6MTA2OTcwMDA1NzAxQjYwMDhCREE4ODQwMThGRjRDMDZFOTBEMDE4QkYxCis6MTA2OTgwMDA1QzAyOEE0NzAxOEIxQzhBNTcwMUI2MDA4QkRBMzA0MEMzCis6MTA2OTkwMDAxOEU5RjgwMEI4RjAxMDhCRjg4OTQ0NTQ4QTQ0NUY4OEVECis6MTA2OUEwMDA0NDVERTlFNzAwOEE0NDFDOTgzRDAyMDA3NDA3M0QwM0ZBCis6MTA2OUIwMDAwMDc0MDJFQjA3Qzc0NkZFMDAwMEVCMkI4QTQ0MUM5OENDCis6MTA2OUMwMDBEMUUwOEJEOEZGQjc2OTAyNTZFODZCMDY1OTU5NkEwMUM2Cis6MTA2OUQwMDA1NkU4NDBGOTU5NTk4OTQ2RkU4MzdFRkUwMDc0MDY4M0M1Cis6MTA2OUUwMDA3RUZFMDM3NUU5RUIwMDgzN0VGRTAzNzQ2MjhBNDQxQzFECis6MTA2OUYwMDA5OEQxRTA4QkQ4RkZCNzZEMDI1NkU4M0EwNjU5NTk1NjQwCis6MTA2QTAwMDBFODREOTc1OTg5NDZGQzhCNUVGQzgzRUJGRTgzRkIwM0M0Cis6MTA2QTEwMDA3NzMzRDFFMzJFRkZBNzk5NkE2OEFDMDI1NkU4MTcwNkQwCis6MTA2QTIwMDA1OTU5RUIyMzY4OEYwMjU2RTgwQzA2NTk1OUVCMTg2ODQwCis6MTA2QTMwMDA3NTAyNTZFODAxMDY1OTU5RUIwRDY4QzYwMjU2RThGNjhDCis6MTA2QTQwMDAwNTU5NTlFQjAyRUIwMDZBMDE1NkU4QzdGODU5NTlCRkRFCis6MTA2QTUwMDAwMTAwRUIzODY4REQwMjU2RThEQzA1NTk1OTZBMDE1NjM5Cis6MTA2QTYwMDBFOEIxRjg1OTU5QkYwMTAwRUIyMkI4RDAzMDhCRjg4OTUyCis6MTA2QTcwMDA0NDU0OEE0NDYwODg0NDVERUIxMkI4RTAyMDhCRjg4OTY2Cis6MTA2QTgwMDA0NDU0OEE0NDVFODg0NDVERUIwMkVCMDBFQjAyRUIwMDY5Cis6MTA2QTkwMDBFQjAwRTk0MUZDNUY1RUM5QzMxOTZBMjQ2QTJGNkEzQUI4Cis6MTA2QUEwMDA2QTAwMDAwMTAwMDIwMDA0MDA0MTAwNDIwMDQzMDA0NDZCCis6MTA2QUIwMDAwMDgwMDA4MTAwODIwMEZGMDAxNzY5NTQ2QTdBNkFBNThECis6MTA2QUMwMDA2OTUyNjk5NDY5NkE2QTY3Njk1MjY5N0Y2OTY3Njk0QzQyCis6MTA2QUQwMDA2OUY0Njg3NjY4QjI2OEVFNjhGNTY3MDA2ODEyNjhGNTcwCis6MTA2QUUwMDA2NzlENjdBODY3QjQ2NzlENjcwMDAwMDEwMEYwMTBFMDJDCis6MTA2QUYwMDAyMEQwMzAyNzY4RjI2NkMzNjcyMzY3MTI2N0M4MDQwMDk2Cis6MTA2QjAwMDAwMDU2NTc4Qjc2MDQ4QTQ0NTk5ODg5NDZGQzZBMDk4QjRCCis6MTA2QjEwMDA0NkZDMDU4NDAxNTBFODkzMDg1OTU5OEJGODhCQzcyNTJBCis6MTA2QjIwMDAwMEYwM0QwMDEwNzU1NThCQzcyNUYwMDAzREYwMDA3NTU1Cis6MTA2QjMwMDA0QjhCQzcyNTAwMEZDMUY4MDg4OTQ2RkU4QjQ0MDQzQkU4Cis6MTA2QjQwMDA0NkZFN0QwNTMzQzBFOUVGMDA4QkM3MjUwRjAwQkEwRjY1Cis6MTA2QjUwMDAwMDJCRDAzQjU2RkU3NDA1MzNDMEU5REIwMEM3NDQwMjZFCis6MTA2QjYwMDAwNDA5OEE0NkZFODg0NDVGODg0NDVEOEI1RUZDRDFFMzVECis6MTA2QjcwMDBDNzg3RkMwODA0MDlCOEYwMTBFOUJDMDA4QkM3MjUwMEUyCis6MTA2QjgwMDBGMDNEMDAyMDc1NTI4QkM3MjVGMDAwM0RFMDAwNzU0OEIwCis6MTA2QjkwMDA4QkM3MjUwMDBGQzFGODA4ODk0NkZFODM3RUZFMDg3RTVDCis6MTA2QkEwMDAwNTMzQzBFOTkyMDA4QkM3MjUwRjAwQkEwRjAwMkJEMDI4Cis6MTA2QkIwMDAzQjU2RkU3NDA1MzNDMEVCN0Y5MEM3NDQwMjBDMDk4QTM0Cis6MTA2QkMwMDA0NkZFODg0NDVFODg0NDVEOEI1RUZDRDFFM0M3ODdGQzRCCis6MTA2QkQwMDAwODBDMDlCOEUwMjBFQjYwOEJDNzI1MDBGMDNEMDAzMEMxCis6MTA2QkUwMDA3NTUyOEJDNzI1RjAwMDNERDAwMDc1NDg4QkM3MjUwMDM2Cis6MTA2QkYwMDAwRkMxRjgwODg5NDZGRThCNDQwNDNCNDZGRTdEMDQzM0YyCis6MTA2QzAwMDBDMEVCMzU4QkM3MjUwRjAwQkEwRjAwMkJEMDNCNTZGRUNCCis6MTA2QzEwMDA3NDA0MzNDMEVCMjJDNzQ0MDIxNDA5OEE0NkZFODg0NDM4Cis6MTA2QzIwMDA2MDg4NDQ1RDhCNUVGQ0QxRTNDNzg3RkMwODE0MDlCODFCCis6MTA2QzMwMDBEMDMwRUIwNDMzQzBFQjAwNUY1RUM5QzNDODA2MDAwMDcwCis6MTA2QzQwMDA1NjhCNzYwNDZBMDg1NkU4MzUwNDU5NTk4QTQ0NTgwNDI0Cis6MTA2QzUwMDA4MDUwNTZFODI5MDQ1OTU5OEI0NDU0M0I0NDU2NzUwQUQwCis6MTA2QzYwMDA4QTQ0NUQzQTQ0MkY3NTAyRUI2NDhCNDQ1NDg5NDQ1NjQwCis6MTA2QzcwMDA4QjVDMDI4QTQ3MDE4ODQ0MkY4QTQ0NURCNDAwQzFFMERFCis6MTA2QzgwMDAwODhCNTQ1NDBCRDA4QTQ0NURCNDAwQkIwRjAwMkJEODQyCis6MTA2QzkwMDAwQkQzODk1NkZFNkExMDhBNDQ1OTk4MDUwNDAwOTkwNTU5Cis6MTA2Q0EwMDA0MDAxODNEMjAwNTI1MEU4NTQwODgzQzQwNjg5NTZGQzQwCis6MTA2Q0IwMDA4OTQ2RkE4QjQ2RkUwOTQ2RkE4MzRFRkMwMDZBMTlGRkE0Cis6MTA2Q0MwMDA3NkZDRkY3NkZBRTg3MzA3ODNDNDA2RThGRTA3NUVDOTIwCis6MTA2Q0QwMDBDM0M4MUMwMDAwNTY1NzhCNUUwNDhBNDc1OTk4OEJGMDM2Cis6MTA2Q0UwMDA4QjVFMDQ4QTQ3NURCNDAwODk0NkU2ODM3RUU2MDA3REJDCis6MTA2Q0YwMDAwQThCNUUwNDhCNDcwNDQ4ODk0NkU2OEI1RTA0OEI0NzBCCis6MTA2RDAwMDAwNDNCNDZFNjdGMDVDNzQ2RTYwMDAwOEI1RTA0OEE0NkU0Cis6MTA2RDEwMDBFNjg4NDc1RDhCREVEMUUzOEI5RjU5MDJDNjQ3MDIyMDkwCis6MTA2RDIwMDA4QkRFRDFFMzhCOUY1OTAyQzY0NzAzMzA4QkRFRDFFMzY0Cis6MTA2RDMwMDA4QjlGNjEwMkM2NDcwMjIwOEJERUQxRTM4QjlGNjEwMkVECis6MTA2RDQwMDBDNjQ3MDMzMDhCNDZFNjg5NDZGQTgzN0VGQTAwNzQxOEZDCis6MTA2RDUwMDA4QjQ2RkFCQjBBMDAzM0QyRjdGMzgwQzIzMDhCREVEMTA4Cis6MTA2RDYwMDBFMzhCOUY1OTAyODg1NzAzQkIwQTAwOEI0NkZBMzNEMjQ0Cis6MTA2RDcwMDBGN0YzODk0NkZBODM3RUZBMDA3NDE4OEI0NkZBQkIwQTQ5Cis6MTA2RDgwMDAwMDMzRDJGN0YzODBDMjMwOEJERUQxRTM4QjlGNTkwMjAwCis6MTA2RDkwMDA4ODU3MDI4QjQ2RTY4OTQ2RkE4MzdFRkEwMDc0MTg4QjgwCis6MTA2REEwMDA0NkZBQkIwQTAwMzNEMkY3RjM4MEMyMzA4QkRFRDFFMzYwCis6MTA2REIwMDA4QjlGNjEwMjg4NTcwM0JCMEEwMDhCNDZGQTMzRDJGN0Q4Cis6MTA2REMwMDBGMzg5NDZGQTgzN0VGQTAwNzQxODhCNDZGQUJCMEEwMEYwCis6MTA2REQwMDAzM0QyRjdGMzgwQzIzMDhCREVEMUUzOEI5RjYxMDI4ODIwCis6MTA2REUwMDA1NzAyOEI1RUU2RDFFM0ZGQjcxMjAyNkEwMEZGNzYwNDFBCis6MTA2REYwMDBFOEQxRjY4M0M0MDY2OEQzMEY2QTAxRkY3NjA0RThDM0JFCis6MTA2RTAwMDBGNjgzQzQwNkZGNzZFNjU2RTgwMTkzNTk1OTg5NTZGMjhGCis6MTA2RTEwMDA4OTQ2RjBGRjc2RTY1NkU4MTQ5MzU5NTk4OTU2RUU4OTZCCis6MTA2RTIwMDA0NkVDOUNGQUM0NUVGMDI2OEIwNzg5NDZFQUM0NUVFQzA5Cis6MTA2RTMwMDAyNjhCMDc4OTQ2RThCQTUwRkZFRDg5NDZGRTlEQzc0Njc2Cis6MTA2RTQwMDBFNDAxMDBFOEVFQTBCQTUwRkZFRDg5NDZGQzhCNDZGQzU5Cis6MTA2RTUwMDAyQjQ2RkUzREU4MDM3MzAzRTk4MDAxOUNGQUJBNTBGRjFDCis6MTA2RTYwMDBFRDg5NDZGQzhCNDZGQzJCNDZGRTg5NDZGOEM0NUVGMDU1Cis6MTA2RTcwMDAyNjhCMDcyQjQ2RUE4OTQ2RjZDNDVFRjAyNjhCMDc4OUU3Cis6MTA2RTgwMDA0NkVBQzQ1RUVDMjY4QjA3MkI0NkU4ODk0NkY0QzQ1RUNFCis6MTA2RTkwMDBFQzI2OEIwNzg5NDZFOEJBNTBGRkVEODk0NkZFOUQ4MUI2Cis6MTA2RUEwMDA3RUY4RTgwMzc2MUNGRjc2RjhGRjc2RjZFODc2MDE1OTVGCis6MTA2RUIwMDA1OTg5NDZGNkZGNzZGOEZGNzZGNEU4NjgwMTU5NTk4OTUyCis6MTA2RUMwMDA0NkY0QkYwRTAwRUIxNzhCREVEMUUzOEI5RjU5MDJDNjUxCis6MTA2RUQwMDAwMTIwOEJERUQxRTM4QjlGNjEwMkM2MDEyMDQ3ODNGRjM3Cis6MTA2RUUwMDAxMTc2RTQ4QkRFRDFFMzhCOUY1OTAyQzY0NzBEMzA4QkMwCis6MTA2RUYwMDBERUQxRTM4QjlGNjEwMkM2NDcwRDMwODM3RUY2MDk3N0IyCis6MTA2RjAwMDAwNUI4MEQwMEVCMjY4MzdFRjY2Mzc3MDVCODBFMDBFQjFGCis6MTA2RjEwMDAxQjgxN0VGNkU3MDM3NzA1QjgwRjAwRUIwRjgxN0VGNjQ1Cis6MTA2RjIwMDAwRjI3NzcwNUI4MTAwMEVCMDNCODExMDA4QkY4RUIyNTlECis6MTA2RjMwMDA4QjQ2RjZCQjBBMDAzM0QyRjdGMzgwQzIzMDhCREVEMTJBCis6MTA2RjQwMDBFMzhCOUY1OTAyODgxMTRGQkIwQTAwOEI0NkY2MzNEMjYwCis6MTA2RjUwMDBGN0YzODk0NkY2ODM3RUY2MDA3NUQ1ODM3RUY0MDk3N0NDCis6MTA2RjYwMDAwNUI4MEQwMEVCMjY4MzdFRjQ2Mzc3MDVCODBFMDBFQkMxCis6MTA2RjcwMDAxQjgxN0VGNEU3MDM3NzA1QjgwRjAwRUIwRjgxN0VGNEU5Cis6MTA2RjgwMDAwRjI3NzcwNUI4MTAwMEVCMDNCODExMDA4QkY4RUIyNTNECis6MTA2RjkwMDA4QjQ2RjRCQjBBMDAzM0QyRjdGMzgwQzIzMDhCREVEMUNDCis6MTA2RkEwMDBFMzhCOUY2MTAyODgxMTRGQkIwQTAwOEI0NkY0MzNEMkZBCis6MTA2RkIwMDBGN0YzODk0NkY0ODM3RUY0MDA3NUQ1OEJERUQxRTNGRkM5Cis6MTA2RkMwMDBCNzU5MDJGRjc2MDRFODZFMDA1OTU5OEJERUQxRTNGRjEyCis6MTA2RkQwMDBCNzYxMDJGRjc2MDRFODVFMDA1OTU5NkEwMEZGNzYwNDQzCis6MTA2RkUwMDBFODMxRjM1OTU5OEJEODgzRkIwNDc3MUZEMUUzMkVGRjg3Cis6MTA2RkYwMDBBNzFCNzBFQjIyQzc0NkU0MDAwMEZGNEVFNkVCMENDNzcwCis6MTA3MDAwMDA0NkU0MDAwMEZGNDZFNkVCMDJFQjAwODM3RUU0MDA3NEZBCis6MTA3MDEwMDAwM0U5MkFGRUU5RDRGQzVGNUVDOUMzRjM2RkY1NkZGRjk1Cis6MTA3MDIwMDA2RkYzNkYwOTcwNTU4QkVDOEI0NjA0QjlFODAzRjdFMUY5Cis6MTA3MDMwMDA4QjRFMDZGN0YxNURDMzU1OEJFQzU2OEI3NjA2RUIwRTQ3Cis6MTA3MDQwMDA4QkRFNDY4QTA3NTBGRjc2MDRFODMzMDA1OTU5ODAzQ0FFCis6MTA3MDUwMDAwMDc1RURFQjAwNUU1REMzNTU4QkVDNTY4Qjc2MDZFQjUxCis6MTA3MDYwMDAxNDhCREU0NjhBMDc1MEZGNzYwNEU4NDUwMDU5NTkwQjE5Cis6MTA3MDcwMDBDMDc0MDJFQjA3ODAzQzAwNzVFN0VCMDA1RTVEQzNDODlGCis6MTA3MDgwMDAwMjAwMDA1NjhCNzYwNDhBNDQ1QTk4ODk0NkZFOUNGQTgwCis6MTA3MDkwMDA4QTQ2RkVCQUZFMDBFRUJBMDIwMEVDQTgwMjc0MDY5RDEzCis6MTA3MEEwMDBFODkxOUVFQkU5QkEwMDAwOEE0NjA2RUU5REVCMDA1RTkxCis6MTA3MEIwMDBDOUMzQzgwNDAwMDA1NjhCNzYwNDhBNDQ1QTk4ODk0NjhFCis6MTA3MEMwMDBGRUU4RTZBMTg5NDZGQ0U4RTBBMTJCNDZGQzNEQjgwQkIyCis6MTA3MEQwMDA3NjA1QjgwMTAwRUIyMzlDRkE4QTQ2RkVCQUZFMDBFRTY0Cis6MTA3MEUwMDBCQTAyMDBFQ0E4MDI3NDA2OURFODQ4OUVFQkQ5QkEwMEVCCis6MTA3MEYwMDAwMDhBNDYwNkVFOUQzM0MwRUIwMDVFQzlDM0M4MDQwMDlCCis6MTA3MTAwMDAwMDU2NTc4Qjc2MDQ4MzdFMDYwMDc0MDc1NkU4MDMwMTA5Cis6MTA3MTEwMDA1OUVCMDU1NkU4QTIwMDU5ODg0NkZGODA3RUZGMDg3N0E0Cis6MTA3MTIwMDAwNjhBNDZGRkU5ODQwMDgwN0VGRjBGNzYwM0VCNzk5MEE0Cis6MTA3MTMwMDA4QTQ2RkZCNDAwMkQwQTAwOEJEODgzRkIwNDc3NjdEMTAxCis6MTA3MTQwMDBFMzJFRkZBN0FGNzFCMDAwRUI2MTU2RTg2QjAwNTlCNEI2Cis6MTA3MTUwMDAwMDI1MEYwMDg5NDZGQzU2RTg1RTAwNTlCNDAwOEJGODA0Cis6MTA3MTYwMDA1NkU4NTUwMDU5QjQwMEMxRTAwODhCRDcwM0QwOEJGQTFDCis6MTA3MTcwMDA4QjVFRkNEMUUzODk3ODMwRUIyRTU2RTgzQjAwNTk4OEQyCis6MTA3MTgwMDA0NDVCRUIyNDU2RTgzMTAwNTk4ODQ0NTA1NkU4MjkwMDA2Cis6MTA3MTkwMDA1OTg4NDQ1MTU2RTgyMTAwNTk4ODQ0NTI1NkU4MTkwMDRDCis6MTA3MUEwMDA1OTg4NDQ1M0VCMDJFQjAwRTk1QkZGNUY1RUM5QzM0NkJECis6MTA3MUIwMDA3MUE2NzE0QTcxN0E3MTg0NzFDODA0MDAwMDU2OEI3Njg5Cis6MTA3MUMwMDAwNDhBNDQ1QTk4ODk0NkZFOUNGQThBNDZGRUJBRkUwMDEyCis6MTA3MUQwMDBFRUJBMDIwMEVDQTgwMTc1MDY5REU4NTc5REVCRTlCQUVFCis6MTA3MUUwMDAwMDAwRUM4ODQ2RkQ5RDhBNDZGREVCMDA1RUM5QzNDOEUxCis6MTA3MUYwMDAwMjAwMDA1NjhCNzYwNDhBNDQ1QTk4ODk0NkZFOUNGQTBGCis6MTA3MjAwMDA4QTQ2RkVCQUZFMDBFRUJBMDIwMEVDMzJFNDI0MDE5RDhBCis6MTA3MjEwMDA1RUM5QzNDODA2MDAwMDU2OEI3NjA0OEE0NDVBOTg4OTEyCis6MTA3MjIwMDA0NkZFRTg4NUEwODk0NkZBRTg3RkEwMkI0NkZBM0RCOERECis6MTA3MjMwMDAwQjc2MDRCMDA4RUIyNDlDRkE4QTQ2RkVCQUZFMDBFRUY4Cis6MTA3MjQwMDBCQTAyMDBFQ0E4MDE3NTA2OURFOEU4OUNFQkRBQkEwMEVBCis6MTA3MjUwMDAwMEVDODg0NkZEOUQ4QTQ2RkRFQjAwNUVDOUMzNTU4QjU4Cis6MTA3MjYwMDBFQzU2OEI1NjA0OEE0NjA2RUUzM0Y2RUIwMzUwNTg0NjJFCis6MTA3MjcwMDA4M0ZFMTQ3Q0Y4NUU1REMzQzgwMjAwMDA1NjhCNTYwNDgyCis6MTA3MjgwMDBFQzg4NDZGRjMzRjZFQjAzNTA1ODQ2ODNGRTE0N0NGODM3Cis6MTA3MjkwMDA4QTQ2RkZFQjAwNUVDOUMzQzgwMjAwMDA1NjU3OEI3NkQyCis6MTA3MkEwMDAwNDgzM0VCMDBCMDA3NTFGQkE4ODAxQjAwMEVFQkE4NkE5Cis6MTA3MkIwMDAwMUIwMDBFRTZBMDk2QTAwNjgzMDAxRTg3RDAxODNDNDBDCis6MTA3MkMwMDAwNkM3MDZCMDBCMDEwMDZBMDk4QkM2MDU4MDAxNTBFOEFECis6MTA3MkQwMDBEQTAwNTk1OThCRjg4QkM3QzFFODBDMjUwRjAwODk0Njk1Cis6MTA3MkUwMDBGRThCQzdDMUU4MDgyNTBGMDA4QjU2RkU4M0YyMEMzQkNFCis6MTA3MkYwMDBDMjc1MjE4QkM3QzFFODA0MjUwRjAwOEI1NkZFODNGMkFGCis6MTA3MzAwMDAwNjNCQzI3NTBGOEJDNzI1MEYwMDhCNTZGRTgzRjIwOTEzCis6MTA3MzEwMDAzQkMyNzQwRDZBMDc1NkU4MzgwMDU5NTlDNzQ2RkUwNzQ0Cis6MTA3MzIwMDAwMDhBNDZGRTA0ODBBMjMzMDI4QkM2QkE2MjAwRjdFQUU2Cis6MTA3MzMwMDA4QTU2RkU4QkQ4ODg5NzZDMDA2ODMyMDI4QkM2QkE2Mjc4Cis6MTA3MzQwMDAwMEY3RUEwNTE0MDA1MEU4MEVGRDU5NTlFQjAwNUY1RUE2Cis6MTA3MzUwMDBDOUMzQzgwMjAwMDA1NjhCNzYwNjgzRTYwRjhCQzZDMUYwCis6MTA3MzYwMDBFMDBDOEJENjgzRjIwQ0MxRTIwODBCQzI4QkQ2ODNGMjAxCis6MTA3MzcwMDAwNkMxRTIwNDBCQzI4QkQ2ODNGMjA5MEJDMjg5NDZGRTFBCis6MTA3MzgwMDA2QTE5NkExMDhCNDYwNDk5MDU0MDAxODNEMjAwNTI1MDU1Cis6MTA3MzkwMDBFODZCMDE4M0M0MDYwQjQ2RkU4M0NBMDA1MjUwRTg5QThDCis6MTA3M0EwMDAwMDgzQzQwNkU4MjUwMUVCMDA1RUM5QzM1NThCRUM1NjhCCis6MTA3M0IwMDA1NzMzRkY2QTAxNjg4NjAxRThBM0ZFNTk1OUIxMTAyQUM0Cis6MTA3M0MwMDA0RTA2RDM2NjA0MzNGNkVCMkU4MTdFMDQwMDgwNzIwNEYxCis6MTA3M0QwMDBCMDAxRUIwMkIwMDA1MDY4ODgwMUU4ODFGRTU5NTk2QTlCCis6MTA3M0UwMDAwMzY4ODYwMUU4NzdGRTU5NTk2QTAxNjg4NjAxRTg2REVECis6MTA3M0YwMDBGRTU5NTlEMTY2MDQ0NjNCNzYwNjdDQ0QzM0Y2RUIyNDI0Cis6MTA3NDAwMDBEMUU3NkEwMzY4ODYwMUU4NTRGRTU5NTk2QTAxNjg4NjIzCis6MTA3NDEwMDAwMUU4NEFGRTU5NTk2ODg4MDFFODVDRkU1OTk4MjUwMTNGCis6MTA3NDIwMDAwMDBCRjg0NjgzRkUxMDdDRDc2QTAwNjg4NjAxRTgyREMxCis6MTA3NDMwMDBGRTU5NTk4QkM3RUIwMDVGNUU1REMzNTU4QkVDNTY1NzA5Cis6MTA3NDQwMDA4QjdFMDg2QTAxNjg4NjAxRTgxM0ZFNTk1OUI4MjAwMDRFCis6MTA3NDUwMDAyQkM3NTBGRjc2MDZGRjc2MDRFOEEyMDA4M0M0MDY4OTk2Cis6MTA3NDYwMDA1NjA2ODk0NjA0MzNGNkVCNDc4MTdFMDYwMDgwNzIwQzhGCis6MTA3NDcwMDA3NTA2ODM3RTA0MDA3MjA0QjAwMUVCMDJCMDAwNTA2ODEwCis6MTA3NDgwMDA4ODAxRThEOUZENTk1OTZBMDM2ODg2MDFFOENGRkQ1OTlBCis6MTA3NDkwMDA1OTZBMDE2ODg2MDFFOEM1RkQ1OTU5NkEwMUZGNzYwNkY3Cis6MTA3NEEwMDBGRjc2MDRFODU4MDA4M0M0MDY4OTU2MDY4OTQ2MDQ0NkQ4Cis6MTA3NEIwMDAzQkY3N0NCNTZBMDA2ODg2MDFFOEEyRkQ1OTU5NkEwMDZECis6MTA3NEMwMDA2ODg2MDFFODk4RkQ1OTU5NUY1RTVEQzM1NThCRUM1NjlGCis6MTA3NEQwMDA2QTAxNjg4NjAxRTg4NkZENTk1OTMzRjZFQjAwNjg4ODMxCis6MTA3NEUwMDAwMUU4OTRGRDU5QTgwMTc1MDg4QkM2NDYzRDY0MDA3Q0VGCis6MTA3NEYwMDBFRDZBMDA2ODg2MDFFODY1RkQ1OTU5NUU1REMzQzgwNDAwCis6MTA3NTAwMDAwMDAwOEI0NjA0OEI1NjA2OEI0RTA4RTMwNkQxRTBEMTczCis6MTA3NTEwMDBEMkUyRkE4OTQ2RkM4OTU2RkU4QjU2RkU4QjQ2RkNFQjdFCis6MTA3NTIwMDAwMEM5QzMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENGCis6MTA3NTMwMDA1MDcyNjU3NjY5NkY3NTczMjA0RDY1NkU3NTAwNDI2NTkyCis6MTA3NTQwMDA2NzY5NkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZECis6MTA3NTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJCCis6MTA3NTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFCCis6MTA3NTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCCis6MTA3NTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZCCis6MTA3NTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVCCis6MTA3NUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERCCis6MTA3NUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENCCis6MTA3NUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJCCis6MTA3NUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFCCis6MTA3NUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlCCis6MTA3NUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhCCis6MTA3NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdBCis6MTA3NjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZBCis6MTA3NjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVBCis6MTA3NjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRBCis6MTA3NjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNBCis6MTA3NjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJBCis6MTA3NjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFBCis6MTA3NjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBCis6MTA3NjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZBCis6MTA3NjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVBCis6MTA3NkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERBCis6MTA3NkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENBCis6MTA3NkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MDZGNzI3NDE1Cis6MTA3NkQwMDAyMDMwMDA1MDZGNzI3NDIwMzEwMDUwNkY3Mjc0MjAzMjZECis6MTA3NkUwMDAwMDUwNkY3Mjc0MjAzMzAwNTA2RjcyNzQyMDM0MDA1MDU5Cis6MTA3NkYwMDA2RjcyNzQyMDM1MDA1MDZGNzI3NDIwMzYwMDUwNkY3MkI0Cis6MTA3NzAwMDA3NDIwMzcwMDUwNkY3Mjc0MjAzODAwNTA2RjcyNzQyMEVDCis6MTA3NzEwMDAzOTAwNTA2RjcyNzQyMDMxMzAwMDUwNkY3Mjc0MjAzMTE0Cis6MTA3NzIwMDAzMTAwNTA2RjcyNzQyMDMxMzIwMDUwNkY3Mjc0MjAzMTBBCis6MTA3NzMwMDAzMzAwNTA2RjcyNzQyMDMxMzQwMDUwNkY3Mjc0MjAzMUY2Cis6MTA3NzQwMDAzNTAwOUMwMUEzMDFBQTAxQjEwMUI4MDFCRjAxQzYwMTI2Cis6MTA3NzUwMDBDRDAxRDQwMURCMDFFMjAxRUEwMUYyMDFGQTAxMDIwMkVBCis6MTA3NzYwMDAwQTAyMDgwMDAwMDc4MTAwMDM4MDgwODA5RjkxOTU5MUE0Cis6MTA3NzcwMDA5RjAwMDM4MTg0OEU5NTg0ODQ4NDg0MDAwMzgyODQ4NEEyCis6MTA3NzgwMDA4NDg0OTU4RTg0MDAwNDg4MDBCMjBCQzYwQkRBMEJFRTVECis6MTA3NzkwMDAwQjAyMEMxNjBDMkEwQzNFMEM1MjBDNzcwQzlDMENCRUU3Cis6MTA3N0EwMDAwQ0UwMEMwMjBEMDE4MDIwNTQ2NTczNzQyMDUwNjE3MzRECis6MTA3N0IwMDA3MzY1NjQyMDFGMjA1MDcyNjU3MzczMjA4MDAyMDAwMTdFCis6MTA3N0MwMDA4MDIwNEQ2OTczNzM2OTZFNjcyMDUyNzgyMDQ0NjE3NDFDCis6MTA3N0QwMDA2MTFGMjA1MDcyNjU3MzczMjA4MDAyMDAwMTgwMjA0Mjc3Cis6MTA3N0UwMDA2MTY0MjA1Mjc4MjA0NDYxNzQ2MTIwMUYyMDUwNzI2NUNBCis6MTA3N0YwMDA3MzczMjA4MDAyMDAwMTgwMjA1ODZENzQ3MjIwNDI3NURFCis6MTA3ODAwMDA3Mzc5MUYyMDUwNzI2NTczNzMyMDgwMDIwMDAxODAyMEZECis6MTA3ODEwMDA2RTZGNzQyMDYzNzU3MjcyNjU2RTc0NkM3OTFGMjAyMEIwCis6MTA3ODIwMDA2OTZENzA2QzY1NkQ2NTZFNzQ2NTY0MDIwMDI0MEQyRjYyCis6MTA3ODMwMDAwRDNBMEQ0NTBENTAwRDVCMEQ2NjBENzEwRDdDMEQ4N0RDCis6MTA3ODQwMDAwRDkyMEQ5RDBEQTgwREIzMERCRTBEQzkwRDUzODAyQ0NECis6MTA3ODUwMDAzMjU0NDQyMDUzODYyQzMzNDQ1NDUyMjA1MzgyMkMzM0M4Cis6MTA3ODYwMDA1MjU0NTMyMDFGNTM4MTJDMzI1MjQ0MjA1Mzg1MkMzMkMyCis6MTA3ODcwMDA0MzQ0MjA1MzgzMkMzMzQzNTQ1MzIwNTM4NDJDMzM0NEE4Cis6MTA3ODgwMDA1MzUyMjA1Mzg3MkMzMjUyNDkyNzAyMDAwMTgwMjAyMDc2Cis6MTA3ODkwMDA0NDQzNDQyMDJEMjA3MDY5NkUyMDMyMzAxRjI3NTM4NUM5Cis6MTA3OEEwMDAyRTMxODE4MjYzOTA4MDgxODI4Mzg0ODU4Njg3ODg4OTU2Cis6MTA3OEIwMDA4QThCOEM4RDhFOEYyNzAyMDAwMTgwMjAyMDQ0NTM1MkFBCis6MTA3OEMwMDAyMDJEMjA3MDY5NkUyMDMxMzExRjI3NTM4NDJFMzE4MTg1Cis6MTA3OEQwMDA4MjYzOTA4MDgxODI4Mzg0ODU4Njg3ODg4OThBOEI4QzY1Cis6MTA3OEUwMDA4RDhFOEYyNzAyMDAwMTgwMjAyMDQzNTQ1MzIwMkQyMEFECis6MTA3OEYwMDA3MDY5NkUyMDM0MUYyNzUzODMyRTMxODE4MjYzOTA4MEZDCis6MTA3OTAwMDA4MTgyODM4NDg1ODY4Nzg4ODk4QThCOEM4RDhFOEYyNzU4Cis6MTA3OTEwMDAwMjAwMDE4MDIwMjA1MjQ5MjAyRDIwNzA2OTZFMjAzMjAzCis6MTA3OTIwMDAzMjFGMjc1Mzg3MkUzMTgxODI2MzkwODA4MTgyODM4NDI2Cis6MTA3OTMwMDA4NTg2ODc4ODg5OEE4QjhDOEQ4RThGMjcwMjAwMDE4MEFGCis6MTA3OTQwMDAyMDIwNDQ1NDUyMjAyRDIwNzA2OTZFMjAzNjJGMzgxRjdECis6MTA3OTUwMDAyNzUzODYyRTMxODE4MjYzOTA4MDgxODI4Mzg0ODU4NjNECis6MTA3OTYwMDA4Nzg4ODk4QThCOEM4RDhFOEYyNzAyMDAwMTgwMjAyMDRBCis6MTA3OTcwMDA1MjU0NTMyMDJEMjA3MDY5NkUyMDM1MUYyNzUzODIyRUJDCis6MTA3OTgwMDAzMTgxODI2MzkwODA4MTgyODM4NDg1ODY4Nzg4ODk4QTE5Cis6MTA3OTkwMDA4QjhDOEQ4RThGMjcwMjAwMDE4MDIwMjA1Mjc4NDQyMDBFCis6MTA3OUEwMDAyRDIwNzA2OTZFMjAzMjFGMjc1MzgxMkUzMDUzNEQ4MTU4Cis6MTA3OUIwMDA4MjYzOTA4MDgxODI4Mzg0ODU4Njg3ODg4OThBOEI4Qzg0Cis6MTA3OUMwMDA4RDhFOEYyNzAyMDAwMTgwMjAyMDU0Nzg0NDIwMkQyMEE2Cis6MTA3OUQwMDA3MDY5NkUyMDMzMUYyNzUzODAyRTMwNTM0RDgxODI2MzkwCis6MTA3OUUwMDA5MDgwODE4MjgzODQ4NTg2ODc4ODg5OEE4QjhDOEQ4RTFFCis6MTA3OUYwMDA4RjI3MDIwMDAxODAyMDIwNDQ0MzQ0MjAyRDIwNzA2OUZECis6MTA3QTAwMDA2RTIwMzUxRjI3NTM4NTJFMzE4MTgyNjM5MDgwODE4MkJECis6MTA3QTEwMDA4Mzg0ODU4Njg3ODg4OThBOEI4QzhEOEU4RjI3MDIwMDQ4Cis6MTA3QTIwMDAwMTgwMjAyMDQ0NTM1MjIwMkQyMDcwNjk2RTIwMzUxRjg0Cis6MTA3QTMwMDAyNzUzODQyRTMxODE4MjYzOTA4MDgxODI4Mzg0ODU4NjVFCis6MTA3QTQwMDA4Nzg4ODk4QThCOEM4RDhFOEYyNzAyMDAwMTgwMjAyMDY5Cis6MTA3QTUwMDA0MzU0NTMyMDJEMjA3MDY5NkUyMDMxMUYyNzUzODMyRUVECis6MTA3QTYwMDAzMTgxODI2MzkwODA4MTgyODM4NDg1ODY4Nzg4ODk4QTM4Cis6MTA3QTcwMDA4QjhDOEQ4RThGMjcwMjAwMDE4MDIwMjA1MjQ5MjAyRDczCis6MTA3QTgwMDAyMDI4NkUyRTYzMkUyOTFGMjc1Mzg3MkUzMTgxODI2MzczCis6MTA3QTkwMDA5MDgwODE4MjgzODQ4NTg2ODc4ODg5OEE4QjhDOEQ4RTZECis6MTA3QUEwMDA4RjI3MDIwMDAxODAyMDIwNDQ1NDUyMjAyRDIwNzA2OTJECis6MTA3QUIwMDA2RTIwMzIxRjI3NTM4NjJFMzE4MTgyNjM5MDgwODE4MjBGCis6MTA3QUMwMDA4Mzg0ODU4Njg3ODg4OThBOEI4QzhEOEU4RjI3MDIwMDk4Cis6MTA3QUQwMDAwMTgwMjAyMDUyNTQ1MzIwMkQyMDcwNjk2RTIwMzcxRkMyCis6MTA3QUUwMDAyNzUzODIyRTMxODE4MjYzOTA4MDgxODI4Mzg0ODU4NkIwCis6MTA3QUYwMDA4Nzg4ODk4QThCOEM4RDhFOEYyNzAyMDAwMTgwMjAyMEI5Cis6MTA3QjAwMDA1Mjc4NDQyMDJEMjA3MDY5NkUyMDM2MUYyNzUzODEyRTE1Cis6MTA3QjEwMDAzMDUzNEQ4MTgyNjM5MDgwODE4MjgzODQ4NTg2ODc4OEZCCis6MTA3QjIwMDA4OThBOEI4QzhEOEU4RjI3MDIwMDAxODAyMDIwNTQ3OENCCis6MTA3QjMwMDA0NDIwMkQyMDcwNjk2RTIwMzMxRjI3NTM4MDJFMzA1MzMwCis6MTA3QjQwMDA0RDgxODI2MzkwODA4MTgyODM4NDg1ODY4Nzg4ODk4QTNCCis6MTA3QjUwMDA4QjhDOEQ4RThGMjcwMjAwMDE4MDIwMjA0NDQzNDQyMDhGCis6MTA3QjYwMDAyRDIwNzA2OTZFMjAzNTFGMjAyMDIwMjAyNzUzODUyRTYwCis6MTA3QjcwMDAzMTgxODI2Mzg4ODA4MTgyODM4NDg1ODY4NzI3MDIwMEExCis6MTA3QjgwMDAwMTgwMjAyMDQ0NTM1MjIwMkQyMDcwNjk2RTIwMzUxRjIzCis6MTA3QjkwMDAyMDIwMjAyMDI3NTM4NDJFMzE4MTgyNjM4ODgwODE4Mjk3Cis6MTA3QkEwMDA4Mzg0ODU4Njg3MjcwMjAwMDE4MDIwMjA0MzU0NTMyMDQ4Cis6MTA3QkIwMDAyRDIwNzA2OTZFMjAzMTFGMjAyMDIwMjAyNzUzODMyRTE2Cis6MTA3QkMwMDAzMTgxODI2Mzg4ODA4MTgyODM4NDg1ODY4NzI3MDIwMDUxCis6MTA3QkQwMDAwMTgwMjAyMDUyNDkyMDJEMjAyODZFMkU2MzJFMjkxRjNGCis6MTA3QkUwMDAyMDIwMjAyMDI3NTM4NzJFMzE4MTgyNjM4ODgwODE4MjQ0Cis6MTA3QkYwMDA4Mzg0ODU4Njg3MjcwMjAwMDE4MDIwMjA0NDU0NTIyMEY4Cis6MTA3QzAwMDAyRDIwNzA2OTZFMjAzMjFGMjAyMDIwMjAyNzUzODYyRUMxCis6MTA3QzEwMDAzMTgxODI2Mzg4ODA4MTgyODM4NDg1ODY4NzI3MDIwMDAwCis6MTA3QzIwMDAwMTgwMjAyMDUyNTQ1MzIwMkQyMDcwNjk2RTIwMzcxRjcwCis6MTA3QzMwMDAyMDIwMjAyMDI3NTM4MjJFMzE4MTgyNjM4ODgwODE4MkY4Cis6MTA3QzQwMDA4Mzg0ODU4Njg3MjcwMjAwMDE4MDIwMjA1Mjc4NDQyMDgzCis6MTA3QzUwMDAyRDIwNzA2OTZFMjAzNjFGMjAyMDIwMjAyNzUzODEyRTcyCis6MTA3QzYwMDAzMDUzNEQ4MTgyNjM4ODgwODE4MjgzODQ4NTg2ODcyNzEzCis6MTA3QzcwMDAwMjAwMDE4MDIwMjA1NDc4NDQyMDJEMjA3MDY5NkUyMDVECis6MTA3QzgwMDAzMzFGMjAyMDIwMjAyNzUzODAyRTMwNTM0RDgxODI2M0M0Cis6MTA3QzkwMDA4ODgwODE4MjgzODQ4NTg2ODcyNzAyMDAwMTgwMjAyMDU2Cis6MTA3Q0EwMDA0NDQzNDQyMDJEMjA3MDY5NkUyMDMyMzAxRjIwMjAyMDU0Cis6MTA3Q0IwMDAyMDI3NTM4NTJFMzE4MTgyNjM4ODgwODE4MjgzODQ4NTQ5Cis6MTA3Q0MwMDA4Njg3MjcwMjAwMDE4MDIwMjA0NDUzNTIyMDJEMjA3MEY3Cis6MTA3Q0QwMDA2OTZFMjAzMTMxMUYyMDIwMjAyMDI3NTM4NDJFMzE4MUNFCis6MTA3Q0UwMDA4MjYzODg4MDgxODI4Mzg0ODU4Njg3MjcwMjAwMDE4MDYxCis6MTA3Q0YwMDAyMDIwNDM1NDUzMjAyRDIwNzA2OTZFMjAzNDFGMjAyMEYzCis6MTA3RDAwMDAyMDIwMjc1MzgzMkUzMTgxODI2Mzg4ODA4MTgyODM4NDVGCis6MTA3RDEwMDA4NTg2ODcyNzAyMDAwMTgwMjAyMDUyNDkyMDJEMjA3MDZGCis6MTA3RDIwMDA2OTZFMjAzMjMyMUYyMDIwMjAyMDI3NTM4NzJFMzE4MTc4Cis6MTA3RDMwMDA4MjYzODg4MDgxODI4Mzg0ODU4Njg3MjcwMjAwMDE4MDEwCis6MTA3RDQwMDAyMDIwNDQ1NDUyMjAyRDIwNzA2OTZFMjAzNjJGMzgxRjc5Cis6MTA3RDUwMDAyMDIwMjAyMDI3NTM4NjJFMzE4MTgyNjM4ODgwODE4MkQzCis6MTA3RDYwMDA4Mzg0ODU4Njg3MjcwMjAwMDE4MDIwMjA1MjU0NTMyMDc3Cis6MTA3RDcwMDAyRDIwNzA2OTZFMjAzNTFGMjAyMDIwMjAyNzUzODIyRTUxCis6MTA3RDgwMDAzMTgxODI2Mzg4ODA4MTgyODM4NDg1ODY4NzI3MDIwMDhGCis6MTA3RDkwMDAwMTgwMjAyMDUyNzg0NDIwMkQyMDcwNjk2RTIwMzIxRkVGCis6MTA3REEwMDAyMDIwMjAyMDI3NTM4MTJFMzA1MzREODE4MjYzODg4MEVDCis6MTA3REIwMDA4MTgyODM4NDg1ODY4NzI3MDIwMDAxODAyMDIwNTQ3ODcxCis6MTA3REMwMDA0NDIwMkQyMDcwNjk2RTIwMzMxRjIwMjAyMDIwMjc1MzRGCis6MTA3REQwMDA4MDJFMzA1MzREODE4MjYzODg4MDgxODI4Mzg0ODU4NkEyCis6MTA3REUwMDA4NzI3MDIwMDY4MDQ5NjA0QjYwMzNDMDQwRTA0ODkwMzQ2Cis6MTA3REYwMDA1QzAzRTIwMzYwMDg4QTA4QkUwNzM4MDgwRTA4OTUwNzhFCis6MTA3RTAwMDA2QzA3RTYwNzFDMDU3NDA1RkEwNUM0MDRGMDA0Q0MwNUVDCis6MTA3RTEwMDBBMDA1NDgwNTc4MDZDODA2NDIwNzI4MDY1MDA2MTgwNzM4Cis6MTA3RTIwMDBGMDA2QTAwNjAwMDBGNDA4RjQwOEQ0MEQwNDA5MDQwOUMzCis6MTA3RTMwMDAwNDA5MDQwOTQyMDAwQzA5MUMwOUU1MEQwMjAwMTQwOTlCCis6MTA3RTQwMDAwNDA5RjQwRDQzMDAxQzA5MEMwOTA1MEUwMDA0MDQwOTgzCis6MTA3RTUwMDAxNDA5MTIwRTJDMDkyQzA5MkMwOTJDMDkwMDAwM0MwOUNDCis6MTA3RTYwMDA2QzA5MUUwRTc0MDk3NDA5NzQwOTc0MDkwMDAxNEMwOTI3Cis6MTA3RTcwMDAyQzA5MkQwRTc0MDk3NDA5NzQwOTc0MDkwMDAyNUMwOTM3Cis6MTA3RTgwMDAzQzA5M0QwRTc0MDk3NDA5NzQwOTc0MDkwMDAzNkMwOUY2Cis6MTA3RTkwMDA0QzA5NEQwRTc0MDk3NDA5NzQwOTc0MDlGRjAwMkMwOTBBCis6MTA3RUEwMDA1QzA5MDAwMDAwMDU4NDA5RUMwOTVFMEVGNDA5RjQwOTgwCis6MTA3RUIwMDBGNDA5RjQwOTAwMDY5NDA5NzQwOTY4MEVBQzBBQUMwQUM2Cis6MTA3RUMwMDBBQzBBQUMwQTAwMDdBNDA5ODQwOTcyMEVCQzBBQkMwQUY5Cis6MTA3RUQwMDBCQzBBQkMwQTAwMDhCNDA5OTQwOTdDMEVENDBBRDQwQTZFCis6MTA3RUUwMDBENDBBRDQwQTAwMEJDNDA5QTQwOTgzMEVGQzBBRkMwQUI0Cis6MTA3RUYwMDBGQzBBRkMwQTAwMENENDA5QjQwOTkwMEUxNDBCMTQwQkY0Cis6MTA3RjAwMDAxNDBCMTQwQjAwMDJFNDA5QzQwOUEwMEUyQzBCMkMwQjVCCis6MTA3RjEwMDAyQzBCMkMwQjA0MDBFQzA5RDQwOTBFMDBGRjAwNzQwOTkzCis6MTA3RjIwMDBFNDA5MDAwMDgyMDFGQzA5QTQwQUFDMEU4MjAyMDQwQUUyCis6MTA3RjMwMDBGNDA5QUYwRTgyMDMwQzBBRkMwOUIyMEU4MjA0MTQwQTgzCis6MTA3RjQwMDAwNDBBQjYwRTgyMDUxQzBBMEMwQUJDMEU4MjA2MjQwQTFDCis6MTA3RjUwMDAxNDBBQzAwRTgyMDcyQzBBMUMwQUM0MEU4MjA4MzQwQUI2Cis6MTA3RjYwMDAyNDBBQzgwRTgyMDkzQzBBMkMwQUNDMEU4MjBBNDQwQTUyCis6MTA3RjcwMDAzNDBBRDEwRTgyMTA0QzBBM0MwQUQ2MEU4MjBCNTQwQUU3Cis6MTA3RjgwMDA0NDBBREIwRTgyMTE1QzBBNEMwQUUwMEU4MjBDNjQwQTgxCis6MTA3RjkwMDA1NDBBRTUwRTgyMTI2QzBBNUMwQUVBMEU4MjBENzQwQTFCCis6MTA3RkEwMDA2NDBBRUYwRTgyMEU3QzBBNkMwQUY0MEU4MjBGODQwQUI5Cis6MTA3RkIwMDA3NDBBRkIwRTgyMTM4QzBBN0MwQTAyMEY4MjE0OTQwQTQ0Cis6MTA3RkMwMDA4NDBBMDkwRjgyMTU5QzBBOEMwQTEwMEY4MjE2QTQwQUQzCis6MTA3RkQwMDA5NDBBMTcwRjgyMTdGNDA5OUMwQTFFMEY4MjAyQjQwQTMyCis6MTA3RkUwMDBCNDBBMjYwRjgyMDNBQzBBQUMwQTJEMEY4MjAwQzQwQTIxCis6MTA3RkYwMDBDQzBBMzQwRjgyMDFDQzBBQkMwQTNGMEY4MjAyQkMwQUIxCis6MTA4MDAwMDBDNDBBNEQwRjgyMDBEQzBBRjQwQTU5MEY4MjAxRTQwQTA3Cis6MTA4MDEwMDBENDBBNjMwRjgyMDJFQzBBREMwQTZFMEY4MjAzRjQwQUIwCis6MTA4MDIwMDBFNDBBN0EwRjgyMDRENDBBRUMwQTg3MEY4MjAwMDQwQjU4Cis6MTA4MDMwMDAwQzBCOTMwRjgyMDEwQzBCRkMwQTlCMEY4MjAyRkMwQUIzCis6MTA4MDQwMDAwNDBCQTcwRjgyMDAxQzBCMjQwQkIwMEY4MjAxMjQwQjIyCis6MTA4MDUwMDAxNDBCQjUwRjgyMDIxNDBCMUMwQkJFMEY0NDAwMzQwQjIzCis6MTA4MDYwMDBBNDBCOUMwMTQ0MDEzQzBCMkMwQkEzMDE0NDAyNDQwQkM4Cis6MTA4MDcwMDAzNDBCQUEwMTQ0MDM0QzBCM0MwQkIxMDE0NDA0NTQwQkQ4Cis6MTA4MDgwMDA0NDBCQjgwMTQ0MDU1QzBCNEMwQkJGMDE0NDA2NjQwQjY4Cis6MTA4MDkwMDA1NDBCQzYwMTQ0MDc2QzBCNUMwQkNEMDE0NDA4NzQwQkY4Cis6MTA4MEEwMDA2NDBCRDQwMTQ0MDk3QzBCNkMwQkRCMDE0NDBBODQwQjg4Cis6MTA4MEIwMDA3NDBCRTIwMTQ0MEI4QzBCN0MwQkVBMDE0NDBDOTQwQjE3Cis6MTA4MEMwMDA4NDBCRjIwMTQ0MEQ5QzBCOEMwQkZBMDE0NDBFQTQwQkEzCis6MTA4MEQwMDA5NDBCMDIwMjQ0MEYyQzBCOUMwQjBBMDIxNzFGMEYyRjRDCis6MTA4MEUwMDAwMDAwMDE4MDc4NzgzQTIwNzQ3ODIwNjM3MDczMjAyQTI5Cis6MTA4MEYwMDAyQTJBMkEyQTAyMDAwMTgwNzg3ODNBMjA3NDc4MjA2MzlDCis6MTA4MTAwMDA3MDczMjAyQTJBMkEyQTJBMDIwMDAxODA3ODc4M0EyMENECis6MTA4MTEwMDA3NDc4MjA2MzcwNzMyMDJBMkEyQTJBMkEwMjAwMDE4MDk4Cis6MTA4MTIwMDA3ODc4M0EyMDc0NzgyMDYzNzA3MzIwMkEyQTJBMkEyQUMxCis6MTA4MTMwMDAwMjAwMDFDMDc4NzgzQTIwNzI2MzIwNjM3MDczMjAyQUFECis6MTA4MTQwMDAyQTJBMkEyQTAyMDAwMUMwNzg3ODNBMjA3MjYzMjA2MzIyCis6MTA4MTUwMDA3MDczMjAyQTJBMkEyQTJBMDIwMDAxQzA3ODc4M0EyMDNECis6MTA4MTYwMDA3MjYzMjA2MzcwNzMyMDJBMkEyQTJBMkEwMjAwMDFDMDFGCis6MTA4MTcwMDA3ODc4M0EyMDcyNjMyMDYzNzA3MzIwMkEyQTJBMkEyQTg4Cis6MTA4MTgwMDAwMjAwMDE4MDQ5NkU3Mzc0NjE2QzZDMjA0QzZGNkY3MERCCis6MTA4MTkwMDA2MjYxNjM2QjFGNTA3MjY1NzM3MzIwODAyMDc0NkYyMDVGCis6MTA4MUEwMDA3Mzc0NjE3Mjc0MDIwMDAxODAyMDQzNjE2MjZDNjUyMDA3Cis6MTA4MUIwMDA3NDZGMjA1MjY1NkQ2Rjc0NjUxRjUwNzI2NTczNzMyMDA0Cis6MTA4MUMwMDA4MDIwNzQ2RjIwNzM3NDYxNzI3NDAyMDAwMTgwMjA0Q0VGCis6MTA4MUQwMDA2RjYzNjE2QzIwNEM2RjZGNzA2MjYxNjM2QjIwMUYyMDU2Cis6MTA4MUUwMDAyMDUyNzU2RTZFNjk2RTY3MjAyRTJFMkUwMjAwMDE4MDYxCis6MTA4MUYwMDA1MjY1NkQ2Rjc0NjUyMDRDNkY2RjcwNjI2MTYzNkIyMEE4Cis6MTA4MjAwMDAxRjIwMjA1Mjc1NkU2RTY5NkU2NzIwMkUyRTJFMDIwMDgyCis6MTA4MjEwMDAwMTgwMjA0OTZFNzQ3MjZFNkMyMDRDNkY2RjcwNjI2MUM5Cis6MTA4MjIwMDA2MzZCMUYyMDIwNTI3NTZFNkU2OTZFNjcyMDJFMkUyRTk2Cis6MTA4MjMwMDAwMjAwMDE4MDU0NzI2MTZFNzM2RDY5NzQyMDUwNjE3NDI0Cis6MTA4MjQwMDA3NDY1NzI2RTFGMjAyMDUyNzU2RTZFNjk2RTY3MjAyRUU3Cis6MTA4MjUwMDAyRTJFMDIwMDAxODAyMDIwMzAzQTIwMjc0MzgwMDAwMThBCis6MTA4MjYwMDA4MDIwMjAzMTNBMjAyNzQzODEwMDAxODAyMDIwMzIzQUFCCis6MTA4MjcwMDAyMDI3NDM4MjAwMDE4MDIwMjAzMzNBMjAyNzQzODMwMEI3Cis6MTA4MjgwMDAwMTgwMjAyMDM0M0EyMDI3NDM4NDAwMDE4MDIwMjAzNUJCCis6MTA4MjkwMDAzQTIwMjc0Mzg1MDAwMTgwMjAyMDM2M0EyMDI3NDM4NjU0Cis6MTA4MkEwMDAwMDAxODAyMDIwMzczQTIwMjc0Mzg3MDAwMTgwMjAyMENBCis6MTA4MkIwMDAzODNBMjAyNzQzODgwMDAxODAyMDIwMzkzQTIwMjc0MzdDCis6MTA4MkMwMDA4OTAwMDE4MDIwMzEzMDNBMjAyNzQzOEEwMDAxODAyMDM0Cis6MTA4MkQwMDAzMTMxM0EyMDI3NDM4QjAwMDE4MDIwMzEzMjNBMjAyNzY4Cis6MTA4MkUwMDA0MzhDMDAwMTgwMjAzMTMzM0EyMDI3NDM4RDAwMDE4MEU4Cis6MTA4MkYwMDAyMDMxMzQzQTIwMjc0MzhFMDAwMTgwMjAzMTM1M0EyMDQ2Cis6MTA4MzAwMDAyNzQzOEYwMDJBMkEyMDRENjE2OTZFMjAyMDRENjU2RTFCCis6MTA4MzEwMDA3NTIwMkEyQTAwNEQ2RjZFNjk3NDZGNzIyMDYxMjA1MDlCCis6MTA4MzIwMDA2RjcyNzQwMDRENkY2RTY5NzQ2RjcyMjA2MTIwNTM2OUIzCis6MTA4MzMwMDA2NzZFNjE2QzAwNDU3Mzc0Njk2RDYxNzQ2NTIwNDM1MEFDCis6MTA4MzQwMDA1MzAwNDQ2OTYxNjc2RTZGNzM3NDY5NjM3MzAwNEM2RkE3Cis6MTA4MzUwMDA2MzYxNkMyMDRDNkY2RjcwNjI2MTYzNkIwMDUyNjU2RDdFCis6MTA4MzYwMDA2Rjc0NjUyMDRDNkY2RjcwNjI2MTYzNkIwMDQ5NkU3NDRGCis6MTA4MzcwMDA3MjZFNkMyMDRDNkY2RjcwNjI2MTYzNkIwMDU0NzI2MTNGCis6MTA4MzgwMDA2RTczNkQ2OTc0MjA1MDYxNzQ3NDY1NzI2RTAwNDI2MTIxCis6MTA4MzkwMDA3NTY0MjA1MjYxNzQ2NTAwNDQ2MTc0NjEyMDQyNjk3NDlGCis6MTA4M0EwMDA3MzAwNTM3NDZGNzAyMDQyNjk3NDczMDA1MDYxNzI2OTc2Cis6MTA4M0IwMDA3NDc5MDA0NDYxNzQ2MTIwNTA2MTc0NzQ2NTcyNkUwMDU4Cis6MTA4M0MwMDA1NDc4MjA0NjZDNkY3NzIwNDM2RjZFNzQ3MjZGNkMwMDI4Cis6MTA4M0QwMDA1MDZGNzI3NDIwNEU3NTZENjI2NTcyMDAzNTMwMDAzN0QzCis6MTA4M0UwMDAzNTAwMzEzMTMwMDAzMTMzMzQyRTM1MDAzMTM1MzAwMDM1Cis6MTA4M0YwMDAzMjMwMzAwMDMzMzAzMDAwMzYzMDMwMDAzMTMyMzAzMEZGCis6MTA4NDAwMDAwMDMxMzgzMDMwMDAzMjMwMzAzMDAwMzIzNDMwMzAwMDFCCis6MTA4NDEwMDAzMzM2MzAzMDAwMzQzODMwMzAwMDM3MzIzMDMwMDAzOUM1Cis6MTA4NDIwMDAzNjMwMzAwMDMxMzkyQzMyMzAzMDAwMzMzODJDMzQzMDkzCis6MTA4NDMwMDAzMDAwMzUzNjJDMzAzMDMwMDAzNTM3MkMzNjMwMzAwMEI3Cis6MTA4NDQwMDAzNjM0MkMzMDMwMzAwMDM3MzYyQzM4MzAzMDAwMzEzMTczCis6MTA4NDUwMDAzNTJDMzIzMDMwMDAzNzIwNjI2OTc0NzMwMDM4MjA2MjY2Cis6MTA4NDYwMDA2OTc0NzMwMDMxMjA3Mzc0NkY3MDIwNjI2OTc0MDAzMTE1Cis6MTA4NDcwMDAyRTM1MjA3Mzc0NkY3MDIwNjI2OTc0NzMwMDMyMjA3MzFDCis6MTA4NDgwMDA3NDZGNzAyMDYyNjk3NDczMDA2RTZGMjA3MDYxNzI2OTFFCis6MTA4NDkwMDA3NDc5MDA2RjY0NjQyMDcwNjE3MjY5NzQ3OTAwNjU3NjI0Cis6MTA4NEEwMDA2NTZFMjA3MDYxNzI2OTc0NzkwMDczNzA2MTYzNjUyMDE0Cis6MTA4NEIwMDA3MDYxNzI2OTc0NzkwMDZENjE3MjZCMjA3MDYxNzI2OUFDCis6MTA4NEMwMDA3NDc5MDA0MzZGNkM3NTZENkU3MzAwNDI2MTcyNjI2NTAyCis6MTA4NEQwMDA3MjIwNTA2RjZDNjUwMDU1NTU1NTU1NTUyRTJFMkUwMDQ3Cis6MTA4NEUwMDA0RTZGNkU2NTAwNTg2RjZFMkY1ODZGNjY2NjAwNDM1NDZFCis6MTA4NEYwMDA1MzAwNTA3MjY1NzM3MzIwODAyMDY2NkY3MjIwNkQ2NTIzCis6MTA4NTAwMDA2RTc1MDAyODYzNkY3NTZFNzQ2OTZFNjcyRTJFMkUyOTQ2Cis6MTA4NTEwMDAwMDAwNjU0RTY0MjA0RjY2MjA0MzZGNDQ2NTAwMDAwMEY0Cis6MTA4NTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRCCis6MTA4NTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNCCis6MTA4NTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJCCis6MTA4NTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFCCis6MTA4NTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCCis6MTA4NTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZCCis6MTA4NTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVCCis6MTA4NTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERCCis6MTA4NUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENCCis6MTA4NUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJCCis6MTA4NUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFCCis6MTA4NUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlCCis6MTA4NUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhCCis6MTA4NUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdCCis6MDAwMDAwMDFGRgorLyogIEludGVsbGlwb3J0IElJIGxvYWR3YXJlICovCisvKiAtMzEyMzIgYnl0ZXMgcmVhZCBmcm9tIGZmLmxvZCAqLwpkaWZmIC0tZ2l0IGEvZmlybXdhcmUva2F3ZXRoL25ld19jb2RlLmJpbi5paGV4IGIvZmlybXdhcmUva2F3ZXRoL25ld19jb2RlLmJpbi5paGV4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI5MmQ0MGYKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9rYXdldGgvbmV3X2NvZGUuYmluLmloZXgKQEAgLTAsMCArMSwyMDYgQEAKKzoxMDAwMDAwMEI2QzNBQUJCQ0NERDlGQ0ZERTA2RTc1NzAwMDBDNDA2MEYKKzoxMDAwMTAwMDk3QzFFNzY3RkYxRjI4QzBFNzg3MDAwNDI0QzBFNzY3OTAKKzoxMDAwMjAwMEZGRjkyMkMwOTdDRkQ3MDkwMEMwRTcwOUEyQzBCRTA2REEKKzoxMDAwMzAwMDlGQUYzNjAwRTcwNTAwQzBBN0NGQkMwNjk3Q0ZFNzU3QjQKKzoxMDAwNDAwMDAwMDBCODA2QTdBMUI4MDY5N0NGRTc1NzAwMDAxNDA4MkMKKzoxMDAwNTAwMDBBQzBFNzU3MDAwMEE0QzBBN0MwN0EwNjlGQUY5MjA3NjYKKzoxMDAwNjAwMEU3MDcwMDAwMTQwOEU3NTdGRkZGQkEwNjlGQTAzODAwMTMKKzoxMDAwNzAwMEU3NTlCQTA2QkUwNjlGQTAzODAwQzgwOUNBMDYwODYyM0EKKzoxMDAwODAwMDlGQTEzNjA4QzAwOTc2MDYwMDYwQTdDMDdBMDY5RkFGMTgKKzoxMDAwOTAwMENDMDJFNzU3MDAwMEI4MDZBN0MxN0EwNjlGQUYwNDAwNUMKKzoxMDAwQTAwMEU3NTcwMDAwOEUwNjBBQzFFNzA5MjBDMDEwMDhFN0QwMTQKKzoxMDAwQjAwMDEwMDhFNzY3NDAwMDEwMDg5RkFGOTIwQ0MwMDlEMDA2RjcKKzoxMDAwQzAwMDAwNjAwNUM0QzA1OUJFMDYwMkMwOUZBRkVDMDA5RkFGRTAKKzoxMDAwRDAwMDM0MDJFNzU3MDAwMEE2MDY5RkEwN0EwMkE3Q0Y3QTA2NEYKKzoxMDAwRTAwMDQ4MDJFNzA5QkUwNkQwMDZDODM3MDQwMDlGQUYwODAzRTAKKzoxMDAwRjAwMDk3Q0ZFNzU3MDAwMENFMDY5N0MwRDcwOTAwQzBDMURGRjEKKzoxMDAxMDAwMEM4MDlDNjA2MDg2MjE0QzAyNzA0QzYwNjEwOTRGMDA3ODIKKzoxMDAxMTAwMDEwMDgwMjAwQzEwNzAxMDA3MDAwMDQwMEYwMDczMDAxNjAKKzoxMDAxMjAwMDA2MDA1MEFGRTcwN0ZGRkZEMDA2RTcwNzAwMDBDRTA2NDYKKzoxMDAxMzAwMEU3MDUwMEMwOTdDRkQ3MDkwMEMwQzFERjQ4MDJEMDA5NEEKKzoxMDAxNDAwMEM2MDYyNzAyQzYwNkU3MDUwMEMwOTdDRjQ4MDJDODM3OTMKKzoxMDAxNTAwMDA0MDAwMDBDMEMwMDAwNjAyMUMwQzAzNzNFMDAyM0M5MjEKKzoxMDAxNjAwMEMwNTdCNDA1MUJDOEMwMTczRjAwQzA2N0MwRkYzMDAwQjAKKzoxMDAxNzAwMDA4MDBGMDA3MDAwMDA0MDAwMDAyQzAxNzRDMDAzMDAwMjcKKzoxMDAxODAwMDA2MDBGMDA3QTAwMTBBMDA0ODAyQzEwNzAyMDBENzA5RDMKKzoxMDAxOTAwMDAwQzBDMURGNTFBRkU3MDUwMEMwOTdDRjlGQUYwODAzOTQKKzoxMDAxQTAwMDlGQUY3QTAyOTdDRjlGQUY3QTAyQzkzNzA0MDBDMURGQjEKKzoxMDAxQjAwMEM4MDlBMjA2NTAwMjY3MDJBMjA2RDEwNzAwMDAyN0Q4OEMKKzoxMDAxQzAwMEFBMDZDMERGOUZBRkM0MDE5N0NGRTc1NzAwMDBEMjA2NTEKKzoxMDAxRDAwMDk3QzFFNzU3MDEwMEE4MDY5N0MwQzgwOUEwMDYwODYyQTIKKzoxMDAxRTAwMDk3QzAwMDAyQzAxNzBFMDAyNzAwMzQwMTI3MEMwQzAwMzYKKzoxMDAxRjAwMDM2MDFFNzA3NTBDMzEyQzBFNzA3Q0MwQjAyMDBFNzA3NDAKKzoxMDAyMDAwMDAxMDBBODA2RTcwNzA1MDA5MEMwOTdDRkM4MDlBNDA2MUIKKzoxMDAyMTAwMDA4NjIwMkMwMTA2NDA3QzFFNzA3MDAwMDlFMDZFNzA3RjYKKzoxMDAyMjAwMDcyMDQyNDAwOTdDRjI3MDRBNDA2QzgxNzBFMDAyNzAyRTMKKzoxMDAyMzAwMDlFMDZFNzA3ODAwNDI0MDA5N0NGRDcwOTAwQzBDMURGREUKKzoxMDAyNDAwMEU3NTcwMDAwOTAwNjEzQzE5RkFGMDYwMkU3NTcwMDAwNzIKKzoxMDAyNTAwMDlFMDYxM0MwRTcwOTlFMDYzMDAxRTcwN0YyMDUzMjAxNEEKKzoxMDAyNjAwMEU3MDcxMDAwOTZDMEU3MDk5RTA2OTAwNjA0Q0ZFNzU3RkYKKzoxMDAyNzAwMDAwMDA5RTA2MDJDMTlGQUYwNjAyRTcwNTAwQzA5N0NGQUYKKzoxMDAyODAwMEQ3MDkwMEMwQzFERjA4OTJFNzU3MDIwMEFBMDYwMkMzREYKKzoxMDAyOTAwMEM4MDlBNDA2MjcwMkE2MDYwODYyMDNDMUU3MDUwMEMwMzQKKzoxMDAyQTAwMDk3Q0YyNzA0QTQwNkU3MDUwMEMwRjAwNzQwMDAwODAwMjgKKzoxMDAyQjAwMEYwMDcwMDAwMDQwMDAwMDJDMDE3MEMwMDMwMDAwNjAwMjgKKzoxMDAyQzAwMEYwMDc0NjAxMEEwMEM4MTcwNDAwQzEwNzAyMDA1MUFGMzkKKzoxMDAyRDAwMDk3Q0ZFNzU3MDAwMDk2MDY5N0MwQzFERkM4MDk5NjA2N0EKKzoxMDAyRTAwMDI3MDQ5NjA2Mjc1Mjk4MDYwM0MxRTcwNzk2MDY5ODA2NDQKKzoxMDAyRjAwMEMwREYxNzAyQzgxNzBFMDA5RkFGQkEwM0M4MDUwMDYwMjEKKzoxMDAzMDAwMDAzQzA5RkFGMjQwMzk3Q0Y5RkFGMDgwMzk3Q0Y1NzAyMzcKKzoxMDAzMTAwMEM5MDdBNDA2RDcwOTAwQzBDMURGMDg2MjFCQzA1MDA0OEEKKzoxMDAzMjAwMDExMDJFNzA1MDBDMEM5MDU5N0NGOTcwMkNBMDlENjA2OTIKKzoxMDAzMzAwMEYyMTcwMTAwMDQwMEYyMjcwMDAwMDYwMENBMTcyQzAwODMKKzoxMDAzNDAwMEY4NzcwMTAwMEUwMDA2QzBDQUQ5Rjg1N0ZGMDAwRTAwNkEKKzoxMDAzNTAwMDAxQzFDQUQ5MjIxQzBDMDBFMjI3MDAwMEUyMTcwMTAwRUIKKzoxMDAzNjAwMEUyMjcwMDAwQ0EwNTAwMEMwQzAwQzAxNzQxMDBDMDY3NUUKKzoxMDAzNzAwMEMwRkYzMDAwMDgwMDAwMDJDMDE3MEMwMDMwMDAwNjAwNkIKKzoxMDAzODAwMEYwMDdEQTAwMEEwMEYwMDcwMDAwMDQwMDAwMEMwODAwODMKKzoxMDAzOTAwMDQwRDEwMTAwQzAxOUNFMDZDMDU5QzIwNjA0Qzk0OUFGRjgKKzoxMDAzQTAwMDlGQUZFQzAwNEFBRjY3MTBDRTA2QzgxNzA0MDBDMTA3MjQKKzoxMDAzQjAwMDAxMDBENzA5MDBDMEMxREY1MEFGRTcwNTAwQzA5N0NGRUIKKzoxMDAzQzAwMEMwMDcwMTAwQzEwOUFDMDZDMTc3MDEwMDk3QzFEODc3MDkKKzoxMDAzRDAwMDAxMDAxMkMwQzkwNzZBMDY5RkFGMDgwNDA0QzFDMTc3QjMKKzoxMDAzRTAwMDA4MDAxM0MwOTdDRkMxNzcwMjAwOTdDMUMxNzcxMDAwRjIKKzoxMDAzRjAwMDBDQzA5RkFGMkMwNDk3Q0ZDMTc3MDQwMDA2QzBDOTA3N0IKKzoxMDA0MDAwMDcwMDY5RkFGMDgwNDk3QzAwMENGMDA5MDk3Q0Y1MDU0NUMKKzoxMDA0MTAwMDk3QzE3MDVDMDIwMDAyMDA5N0MxNzA1QzA0MDAwNDAwODgKKzoxMDA0MjAwMDk3Q0Y4MDAxQzAwMDYwMDAzMDAwMTgwMDBDMDAwNjAwNkIKKzoxMDA0MzAwMDAwMDBDQjA5QjIwNkNDMDlCNDA2MEI1MzExQzBDOTAyQTcKKzoxMDA0NDAwMENBMDcxQzA0OUZBRjA4MDQ5N0MwMEFDODgyMDgwQUNGRDUKKzoxMDA0NTAwMDgyMDg5RkFGMDgwNDk3QzAwNUMyODkzMDgyNjA3OEMxQzYKKzoxMDA0NjAwMDAwOTA5N0NGODkxMDA5NTM3OUMyODkzMDgyMDg3QUNGREEKKzoxMDA0NzAwMEMwREY5N0NGQzBERjk3Q0ZFNzA5OTZDMDkyMDZFNzA5QTQKKzoxMDA0ODAwMDk4QzA5NDA2MEZDRkU3MDk5NkMwOTIwNkU3MDk5OEMwNzYKKzoxMDA0OTAwMDk0MDZFNzA5OUUwNjMwMDFFNzA3RjIwNTMyMDFFNzA3RjcKKzoxMDA0QTAwMDEwMDA5NkMwRDcwOTAwQzAxNzAyQzgwOTkwMDZDODM3QzcKKzoxMDA0QjAwMDBFMDBFNzc3MkEwMDkyMDYzMEMwOTcwMkNBMDlENjA2RDYKKzoxMDA0QzAwMEU3NzcyMDAwOTIwNjBFQzBGMjE3MDEwMDEwMDBGMjI3MTUKKzoxMDA0RDAwMDAwMDAxMjAwRTc3NzBBMDA5MjA2Q0EwNTFFQzA5NzAyQzQKKzoxMDA0RTAwMENBMDlENjA2RjIxNzAxMDAwQzAwRjIyNzAwMDAwRTAwMjAKKzoxMDA0RjAwMEU3NzcwMjAwOTIwNjA3QzBGMjE3MDEwMDQ0MDBGMjI3RDYKKzoxMDA1MDAwMDAwMDA0NjAwMDZDRkYyMTcwMTAwNjAwMEYyMjcwMDAwNEQKKzoxMDA1MTAwMDYyMDBDQTA1OUZBRjA4MDMwRkNGNTcwMjA5MDJGMTA5MTUKKzoxMDA1MjAwMDk0MDYwQzAwRjFEQTBDMDBDODA5OTgwNjUwMDI2NzAyMjQKKzoxMDA1MzAwMDk4MDZEMTA3MDAwMEM5MDVFNzA5OUUwNjkwMDZFNzU3MEYKKzoxMDA1NDAwMDAwMDA5MDA2MDJDMDlGQUYwNjAyQzgwNUU3MDUwMEMwODQKKzoxMDA1NTAwMEMwREY5N0NGRDcwOTAwQzAxNzAwMTcwMjk3MDJDMDA5NjQKKzoxMDA1NjAwMDkyQzBFNzA3MDQwMDkwQzBDQTA5RDYwNkU3MDcwMDAwNUEKKzoxMDA1NzAwMEE4MDZFNzA3NkEwNDAyMDBDMDc3MDIwMDA4QzBGMjE3NjUKKzoxMDA1ODAwMDAxMDA1MDAwRjIyNzAwMDA1MjAwOUZDRjI0MDZDMDc3RTAKKzoxMDA1OTAwMDEwMDAwNkMwRjIxNzAxMDA1ODAwRjIyNzAwMDA1QTAwQjAKKzoxMDA1QTAwMEMwNzc4MDAwMDZDMEYyMTcwMTAwNzAwMEYyMjcwMDAwM0IKKzoxMDA1QjAwMDcyMDBDMDc3MDgwMDFEQzFGMjE3MDEwMDA4MDBGMjI3ODEKKzoxMDA1QzAwMDAwMDAwQTAwQzA3NzAwMDIwNkMwRjIxNzAxMDA2NDAwQjQKKzoxMDA1RDAwMEYyMjcwMDAwNjYwMEMwNzc0MDAwMDZDMEYyMTcwMTAwNTUKKzoxMDA1RTAwMDVDMDBGMjI3MDAwMDVFMDBDMDc3MDEwMDAxQzAxQkNGNTUKKzoxMDA1RjAwMDFBQ0ZGMjE3MDEwMDAwMDBGMjI3MDAwMDAyMDBDODA5MUMKKzoxMDA2MDAwMDM0MDFDQTE3MTQwMEQ4NzcwMTAwMDVDMENBRDlEODU3RDkKKzoxMDA2MTAwMEZGMDAwMUMwQ0FEOUUyMTk5NEMwRTIyNzAwMDBFMjE3MjYKKzoxMDA2MjAwMDAxMDBFMjI3MDAwMDlGQUY0MDA2OUZBRkM0MDFFNzU3REIKKzoxMDA2MzAwMDAwMDBEMjA2OUZBMTBFMEFDQTA1QzgwNUMwMDVFNzA1M0QKKzoxMDA2NDAwMDAwQzBDMERGOTdDRkM4MDlBMDA2MDg2Mjk3QzAyNzA0ODIKKzoxMDA2NTAwMEEwMDYyNzUyQTIwNjAzQzFFNzA3QTAwNkEyMDY5RkFGODUKKzoxMDA2NjAwMDA4MDNFNzU3MDAwMEFBMDYwMkMwMjdEQUFBMDY5N0NGQjgKKzoxMDA2NzAwMEZGRkZGRkZGRkZGRjAwMDAwMDAwMDAwMDAwMDAwMDAwODAKKzoxMDA2ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkEKKzoxMDA2OTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUEKKzoxMDA2QTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEEKKzoxMDA2QjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0EKKzoxMDA2QzAwMDAwMDAwMDAwMDAwMDAwMDAzRjAwMDAwMDAwMDAwMDAwRUIKKzoxMDA2RDAwMDAwMDAwMDAwMDAwMEZGRkYwMTAwMDAwMDAwMDAwMDAwMUIKKzoxMDA2RTAwMEZGRkZGQjEzRTc1NzAwODBCMjAwMDZDMkU3MDdFRTBCREYKKzoxMDA2RjAwMDEyMDBFNzA3MzQwQ0IyMDBFNzA3QzYwN0YyMDJDODA5ODgKKzoxMDA3MDAwMEI0MDBGODA3MDIwMDBEMDBENzA5MEVDMEU3MDcwMDAwOEIKKzoxMDA3MTAwMDBFQzBDODA5REUwMEM4MTcwOTAwQzkwN0RBMDZDMDA3RkQKKzoxMDA3MjAwMDA0MDA2ODBBMDBEQTdEQzFFNzA5QzAwMDdDMDZFNzA5MTkKKzoxMDA3MzAwMEJFMDA3ODA2RTcwOTEwMDBCQzA2QzgwN0Q2MDc5RkFGQzEKKzoxMDA3NDAwMEFFMDc5RkFGMDAwQUM4MDlERTAwMDAwRTBGMDA0MTkwRkYKKzoxMDA3NTAwMDlGREUwNjAwNDRBRjI3MDBCMjA2MjcwMEI0MDYyNzAwM0MKKzoxMDA3NjAwMEI2MDZDMDA3NzQwMDQ0QUYyNzAwRDYwNjA4MDAwMDkwMDQKKzoxMDA3NzAwMEMxMDczQTAwMjAwMDAxREE3REMxOUZBRkJBMDlDMDA3NjYKKzoxMDA3ODAwMDQ0MDA0OEFGMjcwMDdBMDY5RkFGOTYwQUU3MDcwMTAwQUEKKzoxMDA3OTAwMEMwMDZFNzA1MEVDMDk3Q0Y0OUFGRTc4NzQzMDAwRUMwRkMKKzoxMDA3QTAwMEU3MDdGRkZGQkUwNjlGQUZBRTBBQzAwNzAxMDA2MEFGQkMKKzoxMDA3QjAwMDRBQUY5N0NGMDAwODA5MDgxMTA4MDBEQTdDQzE5N0NGMkIKKzoxMDA3QzAwMDY3MDRDQzAyQzBERjUxOTRCMUFGMDYwMEMxREZDOTA5OTQKKzoxMDA3RDAwMENDMDI0OTYyNzVDMUMwREZBN0NGRDYwMjBFMDAyNDAwNEIKKzoxMDA3RTAwMDgwMDQyMjAwNEUwNUQwMDAwRTBBQUEwMDMwMDhCRTAwODgKKzoxMDA3RjAwMDRBMEExMDAwMjAwMDA0MDA2RTA0MDIwMDZBMDQwNjAwODkKKzoxMDA4MDAwMDAwMDAyNEMwMDQwNDI4QzBGRUZCMUVDMDAwMDQyMkMwNTcKKzoxMDA4MTAwMEZGRjRDMDAwOTAwOTAwMDAwMDAwRkZGRjU2MDg2MDA4QzgKKzoxMDA4MjAwMEQwMDhEQTA4MDAwOTA0MDkwODA5MzIwOTQyMDk1MDA5MDgKKzoxMDA4MzAwMDUyMDk1QTA5NUEwOTI3MDJDQTA2OTdDRkU3MDcwMDAwNEEKKzoxMDA4NDAwMENBMDYwQTBFMDEwMENBNTcwRTAwOUZDMzVBMDlDQTM3Q0EKKzoxMDA4NTAwMDAwMDA5RkMyNUEwOTBBRDJCMkNGMTYwOEM4MDlERTAwQUEKKzoxMDA4NjAwMDA3MDY5RkNGNkMwOTE3MDJDODA5REUwMDAwMEUwRjAwQjMKKzoxMDA4NzAwMDQxOTA5RkRFMDYwMEM4MDUzMDUwMDYwMDlGQzg1QTA5MDcKKzoxMDA4ODAwMDI3MEMwMjAwQjAwNkMwMDlCMjA2MjcwMEI0MDZFNzA3MkQKKzoxMDA4OTAwMDAwMDBBRTA2MjcwMDgwMDYwMDFDMDYwMDI3MDBCNjA2RjIKKzoxMDA4QTAwMDQxOTA2NzUwQjAwNjBEQzA2NzAwN0UwNjI3MEMwNjAwMTkKKzoxMDA4QjAwMDgyMDZFNzA3QkMwODg0MDZDODA3N0UwNjQxOTA1MUFGNTAKKzoxMDA4QzAwMDk3Q0Y5RkFGNDgwQ0U3MDlCNjA2QjQwNkU3MDlCMDA2MTQKKzoxMDA4RDAwMEFFMDY1OUFGOTdDRjI3MEMwMjAwQUMwNjU5QUY5N0NGQTEKKzoxMDA4RTAwMDA5MEMwMjAwMDlEQTQ5RDJDOTE5RDYwNkM4MDc3RTA2RTIKKzoxMDA4RjAwMEUwMDcwMDAwNjAwMkUwMDcwNDAwRDAwN0NDMDg0OERCRjYKKzoxMDA5MDAwMDQxOTA1MEFGOTdDRjU5QUY5N0NGNTlBRjk3Q0ZGMDU3OEUKKzoxMDA5MTAwMDA2MDAwNjAwMjVDMUU3MDc3MDA2ODAwNjQxOTA2NzAwQzMKKzoxMDA5MjAwMDdFMDYyNzBDMDYwMDgyMDZFNzA3OEMwOTg0MDZDODA3QTYKKzoxMDA5MzAwMDdFMDY0MTkwNTFBRjk3Q0YwNzBDMDYwMEM3NTcwNjAwQkYKKzoxMDA5NDAwMDBGQzFDODA3NzAwNjE1Q0YwMDBDMDIwMDAwREE0MEQxQjUKKzoxMDA5NTAwMDI3MDBDMjA2MUVDRjFEQ0YyNzBDMDIwMENDMDYxOUNGRTAKKzoxMDA5NjAwMDI3MDIyMDAxRTcwNzA4MDAyMjAxRTcwNzEzMDBCMEMwQjMKKzoxMDA5NzAwMDk3Q0Y0MTkwNjcwMDdFMDZFNzAxODIwNjI3MDI4MDA2MzYKKzoxMDA5ODAwMEU3MDc4QzA5ODQwNkM4MDc3RTA2QzEwNzAwODA1MEFGQzAKKzoxMDA5OTAwMDk3Q0Y1OUFGOTdDRjAwNjAwNUMwRTcwNzAwMDBDNDA2QTYKKzoxMDA5QTAwMEE3Q0Y3QzA2OUZBRjAwMEFFNzA3MDEwMEM0MDY0OUFGNDYKKzoxMDA5QjAwMEQ3MDkwMEMwMDdBRkU3MDUwMEMwNEFBRkE3Q0Y3QzA2NDQKKzoxMDA5QzAwMEMwMDdGRTdGNDRBRjQwMDBDMDM3MDAwMTQxOTBDMDM3RjAKKzoxMDA5RDAwMDA4MDBERkRFNTAwNkMwNTcxMDAwMDJDMkMwMDcxMDAwM0EKKzoxMDA5RTAwMDI3MDA5QTA2NDE5MDlGREU0MDA2NDRBRjI3MDA5QzA2RjAKKzoxMDA5RjAwMEMwMDk5QTA2NDE5MDAwRDIwMEQ4OUZERTA4MDA0NEFGOUIKKzoxMDBBMDAwMDI3MDBDODA2OTdDRkU3ODcwMDg0MjhDMEU3NjdGRkZCNjkKKzoxMDBBMTAwMDI0QzA5N0NGRTc4NzAxMDBEMjA2RTc1NzAwMDBBODA2NTkKKzoxMDBBMjAwMDk3QzE5RkFGMDAwQUU3ODcwMDA2MjJDMEU3MDcwMDAwRDIKKzoxMDBBMzAwMDkwQzBFNzY3RkVGRjNFQzBFNzA3MjYwMDBBQzBFNzg3RDEKKzoxMDBBNDAwMDAxMDAzRUMwRTcwN0ZGRkZCRTA2OUZBRjEwMEI5N0NGMjgKKzoxMDBBNTAwMDE3MDBBN0FGNzgwNkMwMDUyNzAwNzYwNkU3ODcwMTAwRDQKKzoxMDBBNjAwMEQyMDY5RkFGMDAwQUU3MDcwQzAwNDBDMDlGQUYxMDBCRjMKKzoxMDBBNzAwMDAwOTAyNzAwQTYwNjI3MDBBQTA2RTcwOUIyMDZCNDA2REEKKzoxMDBBODAwMDI3MDBBRTA2MjcwMEFDMDY5RkFGQUUwQUMwMDcwMDAwRTUKKzoxMDBBOTAwMDI3MDBCMjAyMjcwMEI0MDIyNzAwOEUwNkMwMDcwNjAwMTYKKzoxMDBBQTAwMEM4MDlERTAwQzgxNzAzMDBDOTA3NzAwNjI5MEEwMERBNjIKKzoxMDBBQjAwMDdEQzE5N0NGRDcwOTAwQzBDMURGMDA5MDI3MDA5NjA2RkYKKzoxMDBBQzAwMEU3MDc5NjA2OTgwNjI3MDBBMDA2RTcwN0EwMDZBMjA2RjUKKzoxMDBBRDAwMDI3MDBBNjA2MjcwMDkwMDYyNzAwOUUwNkM4MDk5QzA2NDgKKzoxMDBBRTAwMEMxMDk5QTA2QzkwN0E0MDYxMTAyMDkwMkM4MTc0MDA2REYKKzoxMDBBRjAwMDAxREE3QUMxNTE5NEM4MDlDODA2QzkwN0M2MDZDMTA5RjYKKzoxMDBCMDAwMDlBMDYxMTAyMDkwMkM4MTcwODAwMDFEQTdBQzE1MTk0NDUKKzoxMDBCMTAwMEU3MDUwMEMwOTdDRkU3NTcwMDAwNzYwNjk3QzA5RkFGNjQKKzoxMDBCMjAwMDA0MDBFNzA5QkUwNkJBMDZFNzU3RkZGRkJBMDYwNEMxOEMKKzoxMDBCMzAwMEU3MDcxMDBCQjgwNjk3Q0ZFNzE3MzIwMEJBMDZFNzY3NEEKKzoxMDBCNDAwMEZGMDdCQTA2RTcwNzQ2MEJCODA2OTdDRkU3NTcwMDAwM0UKKzoxMDBCNTAwMEMwMDYyM0MwRTcwNzA0MDA5MEMwRTcwNzAwODA4MEMwRkMKKzoxMDBCNjAwMEU3MDcwMDAwODBDMEU3MDcwMDgwODBDMEMwMDcwMDAwRTIKKzoxMDBCNzAwMEMwMDcwMDAwQzAwNzAwMDBFNzA3MDAwMDgwQzBFNzA3Q0IKKzoxMDBCODAwMDAwODA4MEMwRTcwNzAwODA0MEMwQzAwNzAwMDBFNzA3ODIKKzoxMDBCOTAwMDAwMDA0MEMwRTcwNzAwMDA4MEMwRTcwNzA0MDA5MEMwRTUKKzoxMDBCQTAwMEU3MDcwMDAyNDBDMEU3MDcwQzAyNDBDMEU3MDcwMDAwNkIKKzoxMDBCQjAwMEMwMDZFNzA3MDAwMEI4MDZFNzA3MDAwMEQyMDZENzA5MUQKKzoxMDBCQzAwMDAwQzBDMURGOUZBRjM0MDJFNzA1MDBDMDlGQUZDNDAxODIKKzoxMDBCRDAwMDk3Q0ZENzA5MDBDMDE3MDAxNzAyOTcwMkU3NTcwMDAwMDgKKzoxMDBCRTAwMEE4MDYwNkMwQzAwOTkyQzBDMDc3MDkwMjlGQzE1QzA1NzMKKzoxMDBCRjAwMDlGQ0YzMjA2RDcwOTBFQzBFNzA3MDAwMDBFQzA5RkFGOTcKKzoxMDBDMDAwMDAyMENFNzA1MEVDMDk3Q0ZENzA5MDBDMDE3MDJDODA5MkMKKzoxMDBDMTAwMEIwQzBFNzY3RkU3RkIwQzBDODc3MDAyMDlGQzE2NEVCMUIKKzoxMDBDMjAwMEU3NTcwMDAwQzgwMjlGQzE4MEVCQzg5OUNBMDJDODY3OTUKKzoxMDBDMzAwMDA0MDA5RkMxOTZFQjlGQ0Y0Q0VCRTcwNzAwMDBBNkMwRDYKKzoxMDBDNDAwMEU3MDlCMEMwQzgwMkU3MDcwMzAwQjBDMDk3Q0ZDMDA5RUEKKzoxMDBDNTAwMEIwMDZDMDM3MDEwMDk3QzlDOTA5QjIwNjAyMDA0MTkwMjkKKzoxMDBDNjAwMDQ4MDJDOTE3MDYwMDlGQUYwODA0OUZBMjcyMEMwMkRBNUYKKzoxMDBDNzAwMDc3QzE0MTYwNzFDMTk3Q0YxNzAyNTcwMjQzMDQyMTA0MjUKKzoxMDBDODAwMEUwMDA0MzA0MjEwNEUwMDA0MzA0MjEwNEUwMDBDMTA3MjQKKzoxMDBDOTAwMDAxMDBDOTA1QzgwNTk3Q0ZFNzA3MDEwMDhFMDZDODA3MDAKKzoxMDBDQTAwMDg2MDZFNzA3MDAwMDg2MDZFNzA3MTAwODg4MDZFNzA3QkMKKzoxMDBDQjAwMDA0MDA4QTA2RTcwN0JDMEM4QzA2QzEwNzAzODA1MEFGMEUKKzowQzBDQzAwMDk3Q0ZFNzA3MDAwMDhFMDY5N0NGMDAwMERBCis6MDAwMDAwMDFGRgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUva2F3ZXRoL25ld19jb2RlX2ZpeC5iaW4uaWhleCBiL2Zpcm13YXJlL2thd2V0aC9uZXdfY29kZV9maXguYmluLmloZXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmIzNWQzZAotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2thd2V0aC9uZXdfY29kZV9maXguYmluLmloZXgKQEAgLTAsMCArMSw0MCBAQAorOjEwMDAwMDAwQjZDM0FBQkJDQ0REMDIwMDA4MDAyODAwMkMwMDM0MDBENworOjEwMDAxMDAwM0MwMDQwMDA0ODAwNTQwMDU4MDA1RTAwNjQwMDY4MDA0NgorOjEwMDAyMDAwNkUwMDZDMDA3MjAwNzYwMDdDMDA4MDAwODYwMDhBMDAwMgorOjEwMDAzMDAwOTAwMDk0MDA5ODAwOUUwMEE2MDBBQTAwQjAwMEI0MDBCMgorOjEwMDA0MDAwQjgwMEMwMDBDNjAwQ0EwMEQwMDBENDAwRDgwMEUwMDA0QworOjEwMDA1MDAwREUwMEU4MDBGMDAwRkMwMDA0MDEwQTAxMTgwMTIyMDFBMgorOjEwMDA2MDAwMjgwMTNBMDEzRTAxN0UwMTk4MDE5QzAxQTIwMUFDMDFFOAorOjEwMDA3MDAwQjIwMUJBMDFDMDAxQzgwMUQwMDFENjAxRjQwMUZDMDFFRQorOjEwMDA4MDAwMDgwMjE2MDIxQTAyMjIwMjJBMDIyRTAyM0UwMjQ0MDIyQworOjEwMDA5MDAwNEEwMjUwMDI2NDAyNjIwMjZDMDI3MjAyODYwMjhDMDIwMAorOjEwMDBBMDAwOTAwMjlFMDJCQzAyRDAwMkQ4MDJEQzAyRTAwMkU4MDIwQQorOjEwMDBCMDAwRTYwMkY0MDJGRTAyMDQwMzBDMDMyODAzN0MwMzkwMDMwRgorOjEwMDBDMDAwOTQwMzlDMDNBMjAzQzAwM0QwMDNENDAzRUUwM0ZBMDNGQQorOjEwMDBEMDAwRkUwMzJFMDQzMjA0M0MwNDQwMDQ0RTA0NzYwNDdDMDRFNworOjEwMDBFMDAwODQwNDhBMDQ4RTA0QTYwNEIwMDRCODA0QkUwNEQyMDRCNgorOjEwMDBGMDAwREMwNEVFMDQxMDA1MUEwNTI0MDUyQTA1MzYwNTM0MDUyRQorOjEwMDEwMDAwM0MwNTQyMDU2NDA1NkEwNTZFMDU4NjA1MjIwNjI2MDYzRAorOjEwMDExMDAwMkMwNjMwMDY0MjA2NEEwNjRFMDY1NjA2NTQwNjVBMDY3NQorOjEwMDEyMDAwNjAwNjY2MDZFODA2RUUwNkY0MDYxNjA3MjYwNzJDMDdBNAorOjEwMDEzMDAwMzIwNzM2MDczQTA3M0UwNzUyMDc1NjA3NUEwNzY0MDc0MQorOjEwMDE0MDAwNzYwNzdBMDc4MDA3ODQwNzhBMDc5RTA3QTIwN0RBMDdERgorOjEwMDE1MDAwREUwN0UyMDdFNjA3RUEwN0VFMDdGMjA3RjYwNzBFMDhGMgorOjEwMDE2MDAwMTYwODE4MDgxQTA4MUMwODFFMDgyMDA4MjIwODI0MDg2NworOjEwMDE3MDAwMjYwODI4MDgyQTA4MkMwODJFMDgzMjA4M0EwODQ2MDhCQgorOjEwMDE4MDAwNEUwODU0MDg1RTA4NzgwODdFMDg4MjA4ODYwODhDMDhBNQorOjEwMDE5MDAwOTAwODk4MDg5RTA4QTQwOEFBMDhCMDA4QUUwOEI0MDhGOQorOjEwMDFBMDAwQkUwOEM0MDhDMjA4Q0EwOEM4MDhENDA4RTQwOEU4MDg5OQorOjEwMDFCMDAwRjYwODE0MDkxMjA5MUEwOTIwMDkyNjA5MjQwOTJBMDkyRQorOjEwMDFDMDAwM0UwOTRDMDk1NjA5NzAwOTc0MDk3ODA5N0UwOTdDMDlCMQorOjEwMDFEMDAwODIwOTk4MDk5QzA5QTAwOUE2MDlCODA5REMwOUU4MDk1RgorOjEwMDFFMDAwRUMwOUZDMDkxMjBBMTgwQTFFMEE0MjBBNDYwQTRFMEFCQgorOjEwMDFGMDAwNTQwQTVBMEE1RTBBNjgwQTZFMEE3MjBBNzgwQTc2MEE2RAorOjEwMDIwMDAwN0MwQTgwMEE4NDBBOTQwQUE0MEFCODBBQkUwQUJDMEFCNAorOjEwMDIxMDAwQzIwQUM4MEFDNjBBQ0MwQUQwMEFENDBBRDgwQURDMEExQQorOjEwMDIyMDAwRTAwQUYyMEFGNjBBRkEwQTE0MEIxQTBCMjAwQjFFMEI0QworOjEwMDIzMDAwMjYwQjJFMEIyQzBCMzYwQjNDMEI0MjBCNDAwQjRBMEJBOAorOjEwMDI0MDAwQUEwQkIwMEJCNjBCQzAwQkM4MEJEQTBCRTgwQkVDMEIxMAorOjEwMDI1MDAwRkEwQjRBMEM1NDBDNjIwQzY2MEM5NjBDOUEwQ0EwMEMwRgorOjBFMDI2MDAwQTYwQ0E0MENBQzBDQjIwQ0IwMENDMDBDMDAwMDMwCis6MDAwMDAwMDFGRgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUva2F3ZXRoL3RyaWdnZXJfY29kZS5iaW4uaWhleCBiL2Zpcm13YXJlL2thd2V0aC90cmlnZ2VyX2NvZGUuYmluLmloZXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzNlMTY1OAotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2thd2V0aC90cmlnZ2VyX2NvZGUuYmluLmloZXgKQEAgLTAsMCArMSwxMyBAQAorOjEwMDAwMDAwQjZDM0FBQkJDQ0REQzgwN0EwMDBGMDA3NUUwMDA2MDA5RgorOjEwMDAxMDAwRjAwNzBBMDAwODAwRjAwOTAwMDAwMjAwRTcwNzM2MDBCOAorOjEwMDAyMDAwMDAwMEYwMDcwMDAwMDQwMEU3MDc1MEMzMTBDMEYwMDkwQgorOjEwMDAzMDAwMEVDMDAwMDBFNzg3MDEwMDBFQzA5N0NGRDcwOTAwQzBBRgorOjEwMDA0MDAwMTcwMkM4MDdBMDAwRTcxNzUwQzMxMEMwMzBEODA0MDAzQgorOjEwMDA1MDAwMzA1QzA4MDAwNDAwQjBDMDA2MDBDODA1RTcwNTAwQzAxOQorOjEwMDA2MDAwQzBERjk3Q0Y0OUFGQzAwNzAwMDA2MEFGNEFBRjAwMENCOAorOjEwMDA3MDAwMEMwMDQwRDIwMDFDMEMwMDQwRDIzMDAwMDgwMEYwMDdGOQorOjEwMDA4MDAwMDAwMDA0MDBGMDA3ODYwMDA2MDA2N0NGMjcwQzAyMDA3RQorOjEwMDA5MDAwMDAwMDI3MEMwMDAwMEVDMDQ5QUY2NEFGQzAwNzAwMDA4RAorOjEwMDBBMDAwNEJBRjRBQUY1QUNGMDAwMDAwMDAwMDAwMDAwMDAwMDAzNAorOjA2MDBCMDAwOTQwMDA1MDAwMDAwQjEKKzowMDAwMDAwMUZGCmRpZmYgLS1naXQgYS9maXJtd2FyZS9rYXdldGgvdHJpZ2dlcl9jb2RlX2ZpeC5iaW4uaWhleCBiL2Zpcm13YXJlL2thd2V0aC90cmlnZ2VyX2NvZGVfZml4LmJpbi5paGV4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc3MTJmNzMKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9rYXdldGgvdHJpZ2dlcl9jb2RlX2ZpeC5iaW4uaWhleApAQCAtMCwwICsxLDMgQEAKKzoxMDAwMDAwMEI2QzNBQUJCQ0NERDAyMDAwNjAwMTgwMDNFMDA4MDAwOEIKKzowNjAwMTAwMDk4MDBBQTAwMDAwMEE4Cis6MDAwMDAwMDFGRgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUva2V5c3Bhbi9tcHIuSEVYIGIvZmlybXdhcmUva2V5c3Bhbi9tcHIuSEVYCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE1M2JhMTAKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9rZXlzcGFuL21wci5IRVgKQEAgLTAsMCArMSwxMDQgQEAKKzowMzAwMzMwMDAyMDAxQUFFCis6MDQwMDFBMDA1M0Q4RUYzMjk2Cis6MTAwMDAzMDA4RTU2OEY1N0U1NTcxNTU3QUU1NjcwMDIxNTU2NEU2MEVDCis6MDcwMDEzMDAwNTEyMEZBMjgwRUUyMjhFCis6MDMwMDIzMDAwMjAwNDY5MgorOjEwMDA0NjAwQzBFMEMwODNDMDgyQzA4Njc1ODYwMEMwRDA3NUQwMDg2NworOjEwMDA1NjAwMzA5OTBFMzAwQjA3QTIwRTkyOUI4NTM2OTlDMjk5RDIyMworOjEwMDA2NjAwMTIyMDEyMDMwMjAyRjlDMjEyMzAwMzE5N0U3RTdGNDA2QgorOjEwMDA3NjAwNzUxQTdFNzUxQjQwNzUxNzAwN0U3RDdGQzA3NTE4N0RDRAorOjEwMDA4NjAwNzUxOUMwODAxNzdFN0Q3RkMwNzUxQTdENzUxQkMwNzU3QQorOjEwMDA5NjAwMTcwMTdFN0U3RjQwNzUxODdFNzUxOTQwMjAwQjAzMDI3RQorOjEwMDBBNjAwMDE4NEU1M0FDMzk1NTM1MDNDMjAwQzM0MjAwOTMxOTAyNQorOjEwMDBCNjAwN0Y5QkUwNTUzODcwMjkzMDEwMTJBRjNBMDUzQUU1MUJBMAorOjEwMDBDNjAwMkZGNTgyRTQzNTFBRjU4M0UwMTM5MjBFQUYzQTA1M0ExRQorOjEwMDBENjAwRTUxQjJGRjU4MkU0MzUxQUY1ODNFMEY1MzYwMjAyRjdDMworOjEwMDBFNjAwQzIwQjAyMDJGNzMwMDMxMTkwN0ZDN0U0RjBBM0UwNTQ3RAorOjEwMDBGNjAwMDJGNTFEQTNFMEY1MUM4MDExOTA3RkM5RTRGMDkwN0YwNgorOjAzMDA0MzAwMDIwRjAwQTkKKzowMzAwMDAwMDAyMDAyNkQ1Cis6MEMwMDI2MDA3ODdGRTRGNkQ4RkQ3NTgxNUEwMjBBMzM5OQorOjQwMDEwNjAwQzZFMDU0MDJGNTFEQTNFMEY1MUNFNTE3MjRGRjkyMDMzMDBEMERDMjBEOTA3RkJCNzQwMUYwQzIwQjAyMDJGN0U1MUQ2MDA1QzIwQjAyMDJGNzg1MUM1Mzg1MTk4Mjg1MTg4M0UwMTM5MjBENzUxMkZGMjAwQzNBMjAwOTM3OTA4MgorOjQwMDE0NjAwN0Y5QkUwNTUzODcwMkYzMDEwMUM4NTE5ODI4NTE4ODNBM0UwMTM5MjBFODUxOTgyODUxODgzQTNBM0UwRjUzNjc1M0EwMzAyMDJGNzc1M0EwMjg1MTk4Mjg1MTg4M0EzRTBGNTM2MDIwMkY3NzUzQTAxQzIwQjAyMDJGNzMwMDNGRQorOjQwMDE4NjAwMEU5MDdGQzZFMDU0MDJGNTFEQTNFMEY1MUM4MDBDOTA3RkM4RTA1NDAyRjUxREEzRTBGNTFDRTUzQUMzOTU1MzUwMDMwMjAyNjhFNTFENjAwN0MyMTRDMjA1MDIwMkY3ODUxQzUzODUxQjgyODUxQTgzRTAxMzkyMEQ3NTEyRkY2MQorOjQwMDFDNjAwMzAwQzAzMDIwMjYwMzAwOTAzMDIwMjYwOTA3RjlCRTA1NTM4NjAwMzAyMDI2MDMwMTAxQjg1MUI4Mjg1MUE4M0EzRTAxMzkyOUI4NTFCODI4NTFBODNBM0EzRTBGNTk5NzUzQTAzODAwRDg1MUI4Mjg1MUE4M0EzRTBGNTk5NzU3NQorOjQwMDIwNjAwM0EwMkU1M0FDMzk1NTM0MDI2MzAwMzA3OTA3RkM3RTRGMDgwMDU5MDdGQzlFNEYwRTUxNzI0RkY5MjAzMjAwRDAzMDIwMkY3QzIwRDkwN0ZCQjc0MDFGMDAyMDJGNzMwMTAxMkFGM0EwNTNBRTUxQjJGRjU4MkU0MzUxQUY1ODM5NAorOjQwMDI0NjAwRTAxMzkyMEVBRjNBMDUzQUU1MUIyRkY1ODJFNDM1MUFGNTgzRTBGNTM2RDIwQjAyMDJGNzc1M0EwMUMyMTQwMjAyRjczMDBDMDMwMjAyRjUzMDA5MDMwMjAyRjU5MDdGOUJFMDU1Mzg3MDc5MzAxMDEyQUYzQTA1M0FFNTFCMkZGMgorOjQwMDI4NjAwRjU4MkU0MzUxQUY1ODNFMDEzOTI5QkFGM0EwNTNBRTUxQjJGRjU4MkU0MzUxQUY1ODNFMEY1OTlFNTNBQzM5NTUzNDAyMjMwMDMwNzkwN0ZDN0U0RjA4MDA1OTA3RkM5RTRGMEU1MTcyNEZGOTIwMzMwMEQzNkMyMEQ5MDdGQkIwRQorOjQwMDJDNjAwNzQwMUYwODAyQzMwMTAxMkFGM0EwNTNBRTUxQjJGRjU4MkU0MzUxQUY1ODNFMDEzOTIwRUFGM0EwNTNBRTUxQjJGRjU4MkU0MzUxQUY1ODNFMEY1MzZEMjBCODAwMkMyMTREMjAxMjA5ODAzMDIwNDM1QzI5ODIwMDIwMzAyMDM4MworOjQwMDMwNjAwQTIyMDE1MjdBRjM5MDUzOTc0ODAyRkY1ODJFNDM0N0VGNTgzRTU5OUYwMzAxMDREQUYzOTA1Mzk3NDgwMkZGNTgyRTQzNDdFRjU4M0U1OThGMDgwM0E4NTk5NTVFNTU1QjU0NzA0RDIwOTgwMkVFNTU1QjU0NjA0QzIwOTgwMjUxQworOjQwMDM0NjAwQUYzOTA1Mzk3NDgwMkZGNTgyRTQzNDdFRjU4M0U1NTVGMDMwMTAxMUFGMzkwNTM5NzQ4MDJGRjU4MkU0MzQ3RUY1ODNFNTk4RjBEMjBGRTUzOUMzOTU0MzUwMDMwMjA0MzM5MDdGQjhFMDMwRTExNkU1MzlDMzk0NDA1MDAzMDJGNQorOjQwMDM4NjAwMDQzMzE1MzkxNTM5MDUyQjQzMzQwMTAyMDQzMzkwN0ZCN0U1MzlGMDc1MzkwMEMyMDIwMjA0MzMyMDE1MjdBRjM5MDUzOTc0MDAyRkY1ODJFNDM0N0VGNTgzRTU5OUYwMzAxMDREQUYzOTA1Mzk3NDAwMkZGNTgyRTQzNDdFRjU5NAorOjQwMDNDNjAwODNFNTk4RjA4MDNBODU5OTU1RTU1NUI1NDcwNEQyMDk4MDJFRTU1NUI1NDYwNEMyMDk4MDI1QUYzOTA1Mzk3NDAwMkZGNTgyRTQzNDdFRjU4M0U1NTVGMDMwMTAxMUFGMzkwNTM5NzQwMDJGRjU4MkU0MzQ3RUY1ODNFNTk4RjBFQQorOjQwMDQwNjAwRDIwRkU1MzlDMzk1NDM0MDI0OTA3RkI2RTAzMEUxMTJFNTM5QzM5NDQwNDAxNjE1MzkxNTM5MDUyQjQzMzQwMTgwMEI5MDdGQjlFNTM5RjA3NTM5MDBEMjAyRDIwMTMwMDEwNUMyMDEwMjAwNTZEMEQwRDA4NkQwODJEMDgzRDAyRgorOjQwMDQ0NjAwRTAzMjkwN0ZCQ0UwMjBFMTU0RTUzNDYwNTBFNTMxNzA0Q0U1MzQzMEUxMEJFNEY1MkY3NTM0MDE3NTMxMDI4MDBFQTIwOEU0MzNGNTJGQzIwOEU0RjUzNDc1MzExMEU0RjU1NjdFMDA3QjAwNzQyNDI1NTZGOUVFMzQwMEZBMTJEOAorOjQwMDQ4NjAwMEM3OUZGNzQwMDI1NTZGNTgyRTQzNDdERjU4M0VGRjAwNTU2RTU1NkI0MENEQjkwN0ZCRDc0MENGMDkwN0ZDQUUwMzBFMTAzMDIwNUQxRTRGNTU2NzQ0MDI1NTZGNTgyRTQzNDdERjU4M0UwRkZFNTU2N0MwMDdCMDAyNDNCRjkwMworOjQwMDRDNjAwRUMzNDAwRkFFRjEyMEM5MjA1NTZFNTU2QjQxOERCRTUzQjYwMTE3NUM5MjA3NUM4MzY4NTNDQ0E4NTNEQ0JFNDkwN0Y5RkYwRTUzRTEzOTIxMDkyOUY4NTNGMzhFNTQwMTM5MjE1RTU0MTYwMDk5MDdGOThFMDU0RkJGMDgwMDc0NAorOjQwMDUwNjAwOTA3Rjk4RTA0NDA0RjBFNTQyNjAwOTkwN0Y5OEUwNTQ3RkYwODAwNzkwN0Y5OEUwNDQ4MEYwRTU0ODYwMEJDMjBDQzIwOTkwN0Y5NUUwNDQwMkYwRTU0OTYwMENEMjA5NDMzNDAxOTA3Rjk1RTA0NDAyRjBFNTRBNjAwREMyQUZCQgorOjQwMDU0NjAwQzIwQkQyMDBFNEY1NTNGNTNBRDJBRkU1NEI2MDA1MzAxNTAyRDIwOUU1NEM2MDE1OTA3Rjk1RTA1NEZERjA5MDdGOUVFMDQ0MDJGMDkwN0Y5OEUwNTRGREYwRTU0RDYwMEFEMjlDQzI5ODc1MkMwMTc1MzExRUU1NEU2MDA3QzIyNworOjQwMDU4NjAwOUNFNEY1MzlGNTJDRTU0RjYwMDNFNEY1MzlFNTUwNjAwMkQyMDdFNTUxNjAwQUU1NEQ3MDAyRjUzMUU1NTE0MjM0RTU1MjYwMUY5MDdGRDc3NDExRjA3NDMxRjA3NDEyRjA3NDMyRjA3NDEzRjA3NDMzRjA3NDE0RjA3NDM0RjA2NworOjQwMDVDNjAwRDIwM0QyMDJEMjA4RTQ5MDdGQ0JGMEEyMENFNDMzRkY2NTI5NjAwNThGMjk0MzM0MDFBMjA5RTQzM0ZGNjUyQTYwMDU4RjJBNDMzNDAxOTA3RjlCRTBGRjU0MDg2NDA4RjU1NzY1MjU2MDA2ODU1NzI1NDMzNDAxRUY1NDEwNjQzQQorOjQwMDYwNjAwMTBGNTU3NjUyNjYwMDY4NTU3MjY0MzM0MDFFRjU0NDA2NDQwRjU1NzY1Mjc2MDA2ODU1NzI3NDMzNDAxRUY1NDIwNjQyMEY1NTc2NTI4NjAwNjg1NTcyODQzMzQwMTkwN0Y5QUUwNTQ0MDY0NDBGNTU3NjUyRTYwMDY4NTU3MkU1QgorOjQwMDY0NjAwNDMzNDAxMzAwNzM1QzJBRjMwMDIxODkwN0ZCOEUwMjBFMTI3RTUzOTYwMDk5MDdGQjdGMEU0RjUzOUMyMDJDMjA3ODAxNjkwN0ZCNkUwMjBFMTBGRTUzOTYwMDk5MDdGQjlGMEU0RjUzOUQyMDJDMjA3RDJBRjIwMDUzRDMwMDNEQgorOjQwMDY4NjAwMUU5MDdGQzZFMDIwRTEzMzkwN0U0MEUwMTM5MjBENzUzQTAxOTA3RkM3RTBGNTUzRDIwNTc1MTJGRjgwMUM5MDdGQzhFMDIwRTExNTkwN0RDMEUwMTM5MjBENzUzQTAxOTA3RkM5RTBGNTUzRDIwNTc1MTJGRjIwMTQzMzIwMDBFNgorOjQwMDZDNjAwMDZFNTNBNjU1MzcwMkEzMDA1MUEzMDAzMDlFNDkwN0ZDN0YwQzIwMzgwMDdFNDkwN0ZDOUYwRDIwM0MyMDVFNEY1NTNGNTNBMzAwRDBBQzIwREMyMDA5MDdGQkI3NDAxRjAzMDE0MDMwMjA3QkYyMDA1MDMwMjA3QkYzMDBDMDMxNAorOjQwMDcwNjAwMDIwN0JGMzAwOTAzMDIwN0JGOTA3RjlCRTA1NTM4NjAwMzAyMDdCRjMwMDMwQzdFN0U3RjQwNzU1ODdFNzU1OTQwODAwQTdFN0Q3RkMwNzU1ODdENzU1OUMwMzAxMDEyQUYzQTA1M0FFNTU5MkZGNTgyRTQzNTU4RjU4M0UwMTM3QworOjQwMDc0NjAwOTIxQUFGM0EwNTNBRTU1OTJGRjU4MkU0MzU1OEY1ODNFMEY1NTdFNTNBQzM5NTUzNTAyQTMwMTAxMkFGM0EwNTNBRTU1OTJGRjU4MkU0MzU1OEY1ODNFMDEzOTIwRUFGM0EwNTNBRTU1OTJGRjU4MkU0MzU1OEY1ODNFMEY1MzY4OAorOjQwMDc4NjAwRDIwQjgwMTVDMjBCMzAwMzA5RTQ5MDdGQzdGMEMyMDM4MDA3RTQ5MDdGQzlGMEQyMDMzMDEwMDRBMjFBOTI5QkQyMTRDMkFGODU1Nzk5MjAwQjBEMzAwRDBBQzIwREMyMDA5MDdGQkI3NDAxRjBEMkFGMjI5MDdGRTlFMDEyMEM3MAorOjQwMDdDNjAwQTQwOTFDMDAwOTg5MDEwOUU2MDMwN0UzMDYwOTBEMDgwOTAxMDkwOEU5MEEwOEY4MEIwMDAwMEEyNDkwN0ZFQkUwMjRGRTYwMUMxNDcwMDMwMjA4NzkyNDAyNjAwMzAyMEEyNDc0MEQ5MDdGRDRGMDc0ODc5MDdGRDVGMDAyMEFFNgorOjQwMDgwNjAwMkI5MDdGRUFFMEI0MDEwNDdGMDI4MDAyN0YwMzc1ODJEODc1ODMwREVGRjA3NTgyRDE3NTgzMERGMDc1ODJDQTc1ODMwREYwNzU4MkMzNzU4MzBERjA5MDdGRUFFMDA0NzU4MjlFNzU4MzBERjA5MDdGRUZFMEZFOTA3RkVFRTA3QgorOjQwMDg0NjAwN0MwMDI0MDBGNTVBRUMzRUY1NTk3NTE1MEQ3NTE2OTk3NTgyOUI3NTgzMERFMDc1MTMwMEY1MTREM0U1MTQ5NTVBRTUxMzk1NTk0MDA2ODU1OTEzODU1QTE0MTIwQkJBMDIwQTJCOTA3RkVBRTA3MDBCNzU1NkZGNzU1NzBENzUwMworOjQwMDg4NjAwNThEQzgwMkQ5MDdGRUFFMEI0MDEwQjc1NTZGRjc1NTcwRDc1NThFMDgwMUI5MDdGRUFFMEI0MDIwQjc1NTZGRjc1NTcwRDc1NThGMDgwMDk3NTU2RkY3NTU3MEU3NTU4MUU5MDdGRUVFMDc1NTkwMEY1NUFBRTU3QUY1ODhFMTUxMgorOjQwMDhDNjAwOEYxNjhGODI4RTgzRTBGRUEzRTA4RTEzRjUxNEQzOTU1QUU1MTM5NTU5NDAwNjg1NTkxMzg1NUExNDEyMEJCQTAyMEEyQjkwN0YwMEU1MTFGMDkwN0ZCNTc0MDFGMDAyMEEyQjkwN0ZFQUUwRjUxMTAyMEEyQjEyMEMyNDkwN0Y4NAorOjQwMDkwNjAwRUFFMEY1MTAwMjBBMkI5MDdGMDBFNTEwRjA5MDdGQjU3NDAxRjAwMjBBMkI5MDdGRThFMDI0N0Y2MDI3MTQ2MDM0MjQwMjYwMDMwMjBBMjRBMjE2RTQzM0ZGMjVFMEZGQTIxOEU0MzM0RjkwN0YwMEYwRTRBM0YwOTA3RkI1NzQ1NQorOjQwMDk0NjAwMDJGMDAyMEEyQkU0OTA3RjAwRjBBM0YwOTA3RkI1NzQwMkYwMDIwQTJCOTA3RkVDRTBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTgzRTA1NEZEOTA3RjAwRjBFNEEzRjA5MDdGQjU3NDAyRjAwQgorOjQwMDk4NjAwMDIwQTJCOTA3RkU4RTAyNEZFNjAxNzI0MDI2MDAzMDIwQTJCOTA3RkVBRTA2NDAxNjAwMzAyMEEyNEMyMTYwMjBBMkI5MDdGRUFFMDcwNzY5MDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ4RAorOjQwMDlDNjAwN0ZGNTgzRTRGMDkwN0ZFQ0UwNTQ4MEZGMTMxMzEzNTQxRkZGRTA1NDA3MkY5MDdGRDdGMEUwNDQyMEYwODA0NTkwN0ZFOEUwMjRGRTYwMTAyNDAyNzAzOTkwN0ZFQUUwNjQwMTcwMkFEMjE2ODAyRDkwN0ZFQUUwNzAyMDkwN0Y3NworOjQwMEEwNjAwRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODM3NDAxRjA4MDA3OTA3RkI0RTA0NDAxRjA5MDdGQjRFMDQ0MDJGMDIyQzIxMEU0RjUxMEY1MzRDMjA5QzIwQ0MyMEJDMjE0QzIwREMyMTVBNQorOjQwMEE0NjAwQzIxMUMyMDdDMjEyQzIwRkMyMDhGNTM1RjUzOUY1NTNGNTNBRjUzM0Y1MzBGNTJGRjUyRUY1MkRGNTJDRjUyQkY1MkFGNTI5RjUyOEY1MjdGNTI2RjUyNUY1MjRDMjA1QzIxN0MyMTlDMjE2QzIxOEMyMDREMjEzQzIwNkMyMDE3OAorOjQwMEE4NjAwOTA3RjkyRTA1NEZERjBEMkU4NDNEODIwOTA3RkRFNzQwMUYwOTA3RkRGRjA5MDdGQUI3NEZGRjA5MDdGQTlGMDkwN0ZBQUYwNTM5MUVGOTA3RkFGRTA0NDAxRjA5MDdGQUVFMDQ0MEZGMDkwN0ZBQzc0MEVGMEQyQUZEMkJDRDI0NworOjQwMEFDNjAwMUExMjBGN0RDMjE3MzAwNDAzMTIwNDQ4MzAwNDJBMzAwNjI3QzIwNkU1MTI2MDE2MTUxMjkwN0ZEOEUwMzBFNjA0N0YwMDgwMDI3RjIwOTA3Rjk2RUZGMDgwMDY5MDdGOTY3NDIwRjAxMjBCMTQ4MENEMzAxNzA3QzIxNzEyMDc0MQorOjQwMEIwNjAwQzA4MEMzMzAxOUMwQzIxOTEyMEVEQzgwQjkyMkU1MzE2MDAyMTUzMUU1Mzk2MDU1NjUzNTcwNEJFNTMzRjQ2MDAyMDUzM0U1MzNDMzk1NDQ0MDQzQzJBRjMwMDIxQjkwN0ZCOEUwMjBFMTJEOTA3RkI3RTUzOUYwQzIwMkU0RjVBQQorOjQwMEI0NjAwMzlGNTMzRjUzNTc1MTJGRjgwMTk5MDdGQjZFMDIwRTExMjkwN0ZCOUU1MzlGMEQyMDJFNEY1MzlGNTMzRjUzNTc1MTJGRkQyQUY4MDA2ODUzOTM1RTRGNTMzRTUyQzYwMzAyMDBGMDc5MDdGOUJFMDMwRTAwRkU1MkQ2MDA2RTQ5NworOjQwMEI4NjAwRjUyRDQzMzQwMUU0RjUzMDgwMTRFNTMwRDM5NTQ1NTAwREU1MzBCNTQ1MDY3NTJEMDE0MzM0MDEwNTMwQzIwRjIyOTA3RkQ5RTAzMEUyMDQ3RjAwODAwMjdGMjA5MDdGOTZFRkYwMjJFNTE0NDUxMzYwNTdBRTEzQUYxNEQzRUYwRgorOjQwMEJDNjAwOTQ0MEVFOTQwMDQwMDQ3RTAwN0Y0MEMzRTUxNDlGRjUxNEU1MTM5RUY1MTNFNEZERURDMzlGRTQ5RTUwMUY4NTE2ODI4NTE1ODNFMEZDNzQwMDJERjU4MkU0MzQ3RkY1ODNFQ0YwMEQwNTE2RTUxNjcwMDIwNTE1ODBEQTkwN0ZDNAorOjQwMEMwNjAwQTk3NDAxRjA5MDdGQUNFMDQ0MDFGMDkwN0ZCNUVGRjAyMjkwN0ZBQ0UwNTRGRUYwRTQ5MDdGQjVGMDIyRTQ5MDdGOTNGMDkwN0Y5Qzc0MzBGMDkwN0Y5Njc0MjBGMDkwN0Y5NDc0MDFGMDkwN0Y5RDc0RkZGMDkwN0Y5Nzc0ODZERgorOjQwMEM0NjAwRjA5MDdGOTU3NDAzRjA5MDdGOUU3NDg0RjA5MDdGOThGMEU0OTA3RkM3RjA5MDdGQzlGMDkwN0ZDQkYwNzU5ODQwNDNBODEwOTA3RkRFNzQxRkYwOTA3RkRGNzQwRkYwRDIwNDIyQkIwMTA2ODk4MjhBODNFMDIyNTAwMkU3MjJDMworOjQwMEM4NjAwQkJGRTAyRTMyMjg5ODI4QTgzRTQ5MzIyQkIwMTA2ODk4MjhBODNGMDIyNTAwMkY3MjJCQkZFMDFGMzIyRDA4M0QwODJGOEU0OTM3MDEyNzQwMTkzNzAwREEzQTM5M0Y4NzQwMTkzRjU4Mjg4ODNFNDczNzQwMjkzNjg2MEVGQTM2NworOjQwMENDNjAwQTNBMzgwREZFNDkwN0Y5NUYwOTA3Rjk0RjA5MDdGOTNGMDkwN0Y5REUwNDQwMkYwOTA3Rjk3RTA0NDQyRjA5MDdGOUM3NDEwRjBFNDkwN0Y5NkYwOTA3RjlENzRCRUYwMzAxNjA0N0Y4MDgwMDI3RjAwOTA3Rjk3RUZGMEU0OTA0NQorOjQwMEQwNjAwN0Y5NUYwOTA3RjlFRjA5MDdGOThGMDIyQzBFMEMwRjBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMEMwRDA3NUQwMDg1MzkxRUY5MDdGQTk3NDAxRjAxMjBCQkFEMEQwRDA4NkQwODREMDg1RDA4MkQwODNEMEYwRDBFMDMyQzA2QQorOjQwMEQ0NjAwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMDkwN0ZDNEU0RjA1MzkxRUY5MDdGQUI3NDA0RjBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxQworOjQwMEQ4NjAwMDAxMjAxMTAwMUZGRkZGRjQwQ0QwNjFDMDEwMTAwMDEwMjAwMDIwOTAyNDMwMDAxMDEwMDgwMzIwOTA0MDAwMDA3RkYwMDAwMDAwNzA1MDEwMjQwMDAwMDA3MDUwMjAyNDAwMDAwMDcwNTAzMDI0MDAwMDAwNzA1ODEwMjQwMDAwMgorOjQwMERDNjAwMDEwNzA1ODIwMjQwMDAwMTA3MDU4MzAyNDAwMDAxMDcwNTg0MDI0MDAwMDEwNDAzMDkwNDEwMDM0QjAwNjUwMDc5MDA3MzAwNzAwMDYxMDA2RTAwMkUwMzRCMDA2NTAwNzkwMDczMDA3MDAwNjEwMDZFMDAyMDAwNTUwMDUwMDBBMworOjQwMEUwNjAwNTMwMDQ4MDAzMTAwMzEwMDMyMDAyRDAwNTMwMDY1MDA3MjAwNjkwMDYxMDA2QzAwMjIwMzU1MDA1MzAwNDEwMDJEMDAzNTAwMzMwMDIwMDAzMjAwMzAwMDMwMDAzMjAwNjEwMDcwMDA3MjAwMzIwMDM2MDAwMDAwQzBFMEMwODNEQgorOjQwMEU0NjAwQzA4MkMwODVDMDg0QzA4Njc1ODYwMDUzOTFFRjkwN0ZBQjc0MDJGMEQyMDZEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMkMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMEQyMTc1MzkxRUY5MDdGQUI3NDAxRjBEMDg2RDAxRgorOjQwMEU4NjAwODREMDg1RDA4MkQwODNEMEUwMzJDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDBEMjE5NTM5MUVGOTA3RkFCNzQwOEYwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzJDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDA4NAorOjQwMEVDNjAwNTM5MUVGOTA3RkE5NzQwMkYwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzIxMjBDQ0ExMjBGQjM5MDdGRDZFMDMwRTcxMkUwNDQwMUYwN0YwRDdFMDAxMjAwMDM5MDdGRDZFMDU0RkVGMDEyMEMyNDIyMDAwMjBFNjkwMDAyMEVBMworOjQwMEYwNjAwNDIwMDAyMEQ0NTAwMDIwRTkwMDAwMjBGMTAwMDAyMEYxNDAwMDIwRDEyMDAwMjBGMUMwMDAyMEVCNzAwMDIwRjI0MDAwMjBGMzMwMDAyMEYyQzAwMDIwRjU4QzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwNTM5MUVGOTBBOQorOjQwMEY0NjAwN0ZBOTc0MDRGMEQwODZEMDg0RDA4NUQwODJEMDgzRDBFMDMyQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwNTM5MUVGOTA3RkE5NzQwOEYwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzI5MDdGRDZFMDU0RkJGMEUwNDRDMQorOjNEMEY4NjAwMDhGMDMwMUEwNEUwNDQwMkYwN0ZGNDdFMDExMjAwMDM5MDdGRDZFMDU0RjdGMEUwNDQwNEYwMjI3NDAwRjU4NjkwRkRBNTdDMDVBM0U1ODI0NTgzNzBGOTIyOTA3RkQ2RTA0NDgwRjA0Mzg3MDEwMDAwMDAwMDAwMjIyQworOjAwMDAwMDAxRkYKKworCVRoZSBmaXJtd2FyZSBjb250YWluZWQgaGVyZWluIGlzCisKKwkJQ29weXJpZ2h0IChDKSAxOTk5LTIwMDEKKwkJS2V5c3BhbiwgQSBkaXZpc2lvbiBvZiBJbm5vU3lzIEluY29ycG9yYXRlZCAoIktleXNwYW4iKQorCisJYXMgYW4gdW5wdWJsaXNoZWQgd29yay4gVGhpcyBub3RpY2UgZG9lcyBub3QgaW1wbHkgdW5yZXN0cmljdGVkIG9yCisJcHVibGljIGFjY2VzcyB0byB0aGUgc291cmNlIGNvZGUgZnJvbSB3aGljaCB0aGlzIGZpcm13YXJlIGltYWdlIGlzCisJZGVyaXZlZC4gIEV4Y2VwdCBhcyBub3RlZCBiZWxvdyB0aGlzIGZpcm13YXJlIGltYWdlIG1heSBub3QgYmUKKwlyZXByb2R1Y2VkLCB1c2VkLCBzb2xkIG9yIHRyYW5zZmVycmVkIHRvIGFueSB0aGlyZCBwYXJ0eSB3aXRob3V0CisJS2V5c3BhbidzIHByaW9yIHdyaXR0ZW4gY29uc2VudC4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisKKwlQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkIGZvciB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmlybXdhcmUKKwlpbWFnZSBhcyBwYXJ0IG9mIGEgTGludXggb3Igb3RoZXIgT3BlbiBTb3VyY2Ugb3BlcmF0aW5nIHN5c3RlbSBrZXJuZWwKKwlpbiB0ZXh0IG9yIGJpbmFyeSBmb3JtIGFzIHJlcXVpcmVkLgorCisJVGhpcyBmaXJtd2FyZSBtYXkgbm90IGJlIG1vZGlmaWVkIGFuZCBtYXkgb25seSBiZSB1c2VkIHdpdGgKKwlLZXlzcGFuIGhhcmR3YXJlLiAgRGlzdHJpYnV0aW9uIGFuZC9vciBNb2RpZmljYXRpb24gb2YgdGhlCisJa2V5c3Bhbi5jIGRyaXZlciB3aGljaCBpbmNsdWRlcyB0aGlzIGZpcm13YXJlLCBpbiB3aG9sZSBvciBpbgorCXBhcnQsIHJlcXVpcmVzIHRoZSBpbmNsdXNpb24gb2YgdGhpcyBzdGF0ZW1lbnQuIgorCitzdGF0aWMgY2hhciB0aGVGaXJtd2FyZURhdGU1M1tdID0KKwkiMDQvMjYvMjAwMiAgMDI6NDdwICAgICAgICAgICAgICAxMSw1NzAgVVNBNTMiOworCmRpZmYgLS1naXQgYS9maXJtd2FyZS9rZXlzcGFuL3VzYTE4eC5IRVggYi9maXJtd2FyZS9rZXlzcGFuL3VzYTE4eC5IRVgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTlmZjcwZQotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2tleXNwYW4vdXNhMTh4LkhFWApAQCAtMCwwICsxLDE0MSBAQAorOjAzMDAzMzAwMDIxMkY3QkYKKzoxMDAwMDMwMEU0OTA3RjkzRjA5MDdGOUM3NDMwRjBFNDkwN0Y5NkYwQkYKKzoxMDAwMTMwMDkwN0Y5NEYwOTA3RjlENzRGRkYwRTQ5MDdGOTdGMDkwMzEKKzowRjAwMjMwMDdGOTVGMDkwN0Y5RTc0MDdGMEU0OTA3Rjk4RjAyMjE1Cis6MTAwMDQ2MDAzMDA5MTgxMjEzMUJFRkMzOTUzQzQwMDMwMjAwRDg5MEU5Cis6MTAwMDU2MDA3RkJGNzQwMUYwQzIwOUMyMDA4MDc3MzAwMzNCOTA3RkY2Cis6MTAwMDY2MDBDNkUwMjBFMTZEMTIxMzFCRUZDMzk0NDA1MDY0OTA3RUVFCis6MTAwMDc2MDA0MEUwMTM5MjA5OTA3RkM3RTAxNEY1MTkyMDAwMTE2MDQzCis6MTAwMDg2MDAwRkY1MDg3RTdFN0Y0MTc1MEM3RTc1MEQ0MTEyMENCQTA4Cis6MTAwMDk2MDBDMjAzRTQ5MDdGQzdGMDgwMzk5MDdGQzhFMDIwRTEzMjQ4Cis6MTAwMEE2MDAxMjEzMUJFRkMzOTQ0MDUwMjk5MDdEQzBFMDEzOTIwOUIwCis6MTAwMEI2MDA5MDdGQzlFMDE0RjUxOTIwMDAxMTYwMEZGNTA4N0U3REM4Cis6MTAwMEM2MDA3RkMxNzUwQzdENzUwREMxMTIwQ0JBRDIwM0U0OTA3RjA5Cis6MTAwMEQ2MDBDOUYwOTA3RkI2RTAzMEUxMDMwMjAxNjAxMjExRDY4RkJECis6MTAwMEU2MDAxOTEyMTMyNzhGMzZFNTE5QzM5NTNBNTAwRjEyMTJFQkUyCis6MTAwMEY2MDBFRjMwRTAwOEU1MzYyMEU3MDMzMDBCNUVDMjBCRTUxOTZBCis6MEMwMDM2MDA5MDdGOTg3NDEwRjA5MEMwMDBFMEZGMjI1MgorOjAzMDA0MzAwMDIxMzAwQTUKKzowMzAwMDAwMDAyMEUwMEVECis6NDAwMTA2MDA2MDU4QjQ4MDAzNDMzNjAyRTUzNjMwRTcyNkU1MTlEMzk0MjA0MDAzNzUxOTIwODUxOTA4N0U3RTdGODA3NTBDN0U3NTBEODBBRjM2MTIwRjRCRTUxOTI1RTA5MDdGQjdGMDgwMjdFNTE5RDM5NDNGNDAwMzc1MTkzRjg1MTkwOEQ0Cis6NDAwMTQ2MDA5MDdFODBFNTM2RjA3RTdFN0Y4MTc1MEM3RTc1MEQ4MTEyMENERkU1MTkwNDkwN0ZCN0YwOTA3RkNFRTAzMEUxMDYyMDA1MDMwMjAzQzFDMjA1RTRGNTE4NzQ0MDI1MThGNTgyRTQzNDdDRjU4M0UwRkZFNTE4N0MwMDdCMDE3QUYxCis6NDAwMTg2MDA3RTc5MDAyNDAwRjlFQzM0N0VGQUVGMTIwRUQyMDUxOEU1MThCNDIwRDc5MDdFMDBFMDYwNjg5MDdFMDNFMDYwMjQ3RjAxRTRGRDEyMTFCMTdGMDM3RENEMTIxMUIxNDM0NjgwOTA3Rjk4NzQxNEYwOTBDMDAwRTU0NkYwRTQ5MEUwCis6NDAwMUM2MDA3RTEzRjA4MDMwOTA3RTAxRTBGRjEyMTAzNTkwN0UwMkUwRkYxMjEwNUI3RjAxOTA3RTExRTBGRDEyMTFCMTdGMDM3RDA3MTIxMUIxNDM0NjgwOTA3Rjk4NzQxNEYwOTBDMDAwRTU0NkYwOTA3Rjk4NzQxMkYwRTU0MDQ0MDY5MDNFCis6NDAwMjA2MDBDMDAwRjA5MDdFMDNFMDcwMDY5MDdFMTNFMDcwMDhFNDkwN0UxM0YwNzUyNUZGOTA3RTA1RTA2MDEyQTNFMDU0M0ZGNTQ0OTA3Rjk4NzQxM0YwOTBDMDAwRTU0NEYwOTA3RTA3RTA2MDJCQTNFMDYwMDU0MzQyODA4MDAzNTM0MkRBCis6NDAwMjQ2MDA3RjUzNDJGQzkwN0UwOUUwNjAxMTQzNDIwMkEzRTBGRjEyMTBBNzkwN0UwQkUwRkYxMjEwQ0RBRjQyMTIxMDgxOTA3RTAzRTA2MDA4NTM0MjdGQUY0MjEyMTA4MTkwN0UwQ0UwNjAxOEEzRTA2MDA1NDM0NjAyODAwMzUzNDZGREI0Cis6NDAwMjg2MDA5MDdGOTg3NDE0RjA5MEMwMDBFNTQ2RjA5MDdFMEVFMDYwMThBM0UwNjAwNTQzNDYwMTgwMDM1MzQ2RkU5MDdGOTg3NDE0RjA5MEMwMDBFNTQ2RjA5MDdFMTJFMEY1M0FBM0UwMTM5MjBEQTNFMEY1M0NBM0UwNjAwNTQzNDYxMDhCCis6NDAwMkM2MDA4MDAzNTM0NkVGOTA3Rjk4NzQxNEYwOTBDMDAwRTU0NkYwOTA3RTE2RTA2MDMyNTM0NEJGOTA3Rjk4NzQxM0YwRTU0NDU0N0Y5MEMwMDBGMDkwN0Y5ODc0MTFGMDEyMTJERkVGNTRGRTkwQzAwMEYwNTMzRUZERTRGRkFEM0UxMjBGCis6NDAwMzA2MDAxMUIxRTRGNTJBRjUyOUQyMDc5MDdFMTdFMDYwMEY0MzNFMDJFNEZGQUQzRTEyMTFCMTc1MjkwMUQyMDc5MDdFMThFMDYwMTA5MDdGOTg3NDEyRjBFNTQwNDQwNDkwQzAwMEYwRDIwMDkwN0UxOUUwNjAxMTQzNDQ0MDkwN0Y5OEYyCis6NDAwMzQ2MDA3NDEzRjBFNTQ0NTQ3RjkwQzAwMEYwOTA3RTFBRTA2MDBGNTMzRUZFRTRGRkFEM0UxMjExQjE3NTJCMDFEMjA3OTA3RTFCRTA2MDBGNDMzRTAxRTRGRkFEM0UxMjExQjFFNEY1MkJEMjA3OTA3RTFDRTA2MDBFOTA3Rjk4NzQxMjg0Cis6NDAwMzg2MDBGMEU1NDA0NDAyOTBDMDAwRjA5MDdFMURFMDYwMDJEMjBCOTA3RTFFRTA2MDA4NzUyQzAxRTRGNTM4RDIwNzkwN0UxRkUwNjAxMTkwN0ZENzc0MTFGMDc0MzFGMDc0MTVGMDc0MzVGMEQyMDNFNDkwN0ZDRkYwMzAxQTUyRTUzODkyCis6NDAwM0M2MDA2MDAyMTUzODIwMTM0OUU1MTNEMzk0MDA0MDA0MTUxMzgwM0U3NTEzMEEzMDFCMDJEMjEzMTIxMkRGRUY1NDAxRjUxOTY1MkE2MDA1ODUxOTJBRDIwNzEyMTMzM0VGNTQ4MEY1MTk2NTI2NjAwNTg1MTkyNkQyMDczMDBEMTExMjdGCis6NDAwNDA2MDAxMzMzRUY1NDEwRjUxOTY1MjU2MDA1ODUxOTI1RDIwNzIwMUIwMzAyMDdFQzMwMEExODEyMTM2RkVGQzM5NTNENDAwMzAyMDRBRTkwN0ZDMTc0MDFGMEMyMEFDMjAwODA3NzMwMDQzQjkwN0ZDQUUwMjBFMTZEMTIxMzZGRUZDMzVBCis6NDAwNDQ2MDA5NDQwNTA2NDkwN0Q0MEUwMTM5MjBBOTA3RkNCRTAxNEY1MTkyMDAwMTE2MDBGRjUwODdFN0Q3RjQxNzUwQzdENzUwRDQxMTIwRDA0QzIwNEU0OTA3RkNCRjA4MDM5OTA3RkNDRTAyMEUxMzIxMjEzNkZFRkMzOTQ0MDUwMjk5MEJDCis6NDAwNDg2MDA3Q0MwRTAxMzkyMEE5MDdGQ0RFMDE0RjUxOTIwMDAxMTYwMEZGNTA4N0U3QzdGQzE3NTBDN0M3NTBEQzExMjBEMDREMjA0RTQ5MDdGQ0RGMDkwN0ZCQUUwMzBFMTAzMDIwNTM2MTIxMjIwOEYxOTEyMTM3QjhGMzdFNTE5QzM5NTJCCis6NDAwNEM2MDAzQjUwMEYxMjEzNTdFRjMwRTAwOEU1MzcyMEU3MDMzMDBDNUVDMjBDRTUxOTYwNThCNDgwMDM0MzM3MDJFNTM3MzBFNzI2RTUxOUQzOTQyMDQwMDM3NTE5MjA4NTE5MDg3RTdEN0Y4MDc1MEM3RDc1MEQ4MEFGMzcxMjBGODRFNTAzCis6NDAwNTA2MDAxOTI1RTA5MDdGQkJGMDgwMjdFNTE5RDM5NDNGNDAwMzc1MTkzRjg1MTkwODkwN0Q4MEU1MzdGMDdFN0Q3RjgxNzUwQzdENzUwRDgxMTIwRDI5RTUxOTA0OTA3RkJCRjA5MDdGRDBFMDMwRTEwNjIwMDYwMzAyMDc5N0MyMDZFNEY4Cis6NDAwNTQ2MDBGNTE4NzRDMDI1MThGNTgyRTQzNDdCRjU4M0UwRkZFNTE4N0MwMDdCMDE3QTdFNzkyMDI0MjBGOUVDMzQ3RUZBRUYxMjBFRDIwNTE4RTUxOEI0MjBENzkwN0UyMEUwNjA2ODkwN0UyM0UwNjAyNDdGMDFFNEZEMTIxMUZCN0YwMzI5Cis6NDAwNTg2MDA3RENEMTIxMUZCNDM0NzgwOTA3Rjk4NzQwQ0YwOTBDMDAwRTU0N0YwRTQ5MDdFMzNGMDgwMzA5MDdFMjFFMEZGMTIxMTE5OTA3RTIyRTBGRjEyMTEzRjdGMDE5MDdFMzFFMEZEMTIxMUZCN0YwMzdEMDcxMjExRkI0MzQ3ODA5MDQ4Cis6NDAwNUM2MDA3Rjk4NzQwQ0YwOTBDMDAwRTU0N0YwOTA3Rjk4NzQwQUYwRTU0MTQ0MDY5MEMwMDBGMDkwN0UyM0UwNzAwNjkwN0UzM0UwNzAwOEU0OTA3RTMzRjA3NTJFRkY5MDdFMjVFMDYwMTJBM0UwNTQzRkY1NDU5MDdGOTg3NDBCRjA5MEVCCis6NDAwNjA2MDBDMDAwRTU0NUYwOTA3RTI3RTA2MDJCQTNFMDYwMDU0MzQzODA4MDAzNTM0MzdGNTM0M0ZDOTA3RTI5RTA2MDExNDM0MzAyQTNFMEZGMTIxMTY1OTA3RTJCRTBGRjEyMTE4QkFGNDMxMjEwRjM5MDdFMjNFMDYwMDg1MzQzN0ZBRkZFCis6NDAwNjQ2MDA0MzEyMTBGMzkwN0UyQ0UwNjAxOEEzRTA2MDA1NDM0NzAyODAwMzUzNDdGRDkwN0Y5ODc0MENGMDkwQzAwMEU1NDdGMDkwN0UyRUUwNjAxOEEzRTA2MDA1NDM0NzAxODAwMzUzNDdGRTkwN0Y5ODc0MENGMDkwQzAwMEU1NDdGMEQ0Cis6NDAwNjg2MDA5MDdFMzJFMEY1M0JBM0UwMTM5MjBFQTNFMEY1M0RBM0UwNjAwNTQzNDcxMDgwMDM1MzQ3RUY5MDdGOTg3NDBDRjA5MEMwMDBFNTQ3RjA5MDdFMzZFMDYwMzI1MzQ1QkY5MDdGOTg3NDBCRjBFNTQ1NTQ3RjkwQzAwMEYwOTA3Rjc5Cis6NDAwNkM2MDA5ODc0MDlGMDEyMTM0QkVGNTRGRTkwQzAwMEYwNTMzRkZERTRGRkFEM0YxMjExRkJFNEY1MzNGNTMyRDIwODkwN0UzN0UwNjAwRjQzM0YwMkU0RkZBRDNGMTIxMUZCNzUzMjAxRDIwODkwN0UzOEUwNjAxMDkwN0Y5ODc0MEFGMDQzCis6NDAwNzA2MDBFNTQxNDQwNDkwQzAwMEYwRDIwMDkwN0UzOUUwNjAxMTQzNDU0MDkwN0Y5ODc0MEJGMEU1NDU1NDdGOTBDMDAwRjA5MDdFM0FFMDYwMEY1MzNGRkVFNEZGQUQzRjEyMTFGQjc1MzQwMUQyMDg5MDdFM0JFMDYwMEY0MzNGMDFFNEU5Cis6NDAwNzQ2MDBGRkFEM0YxMjExRkJFNEY1MzREMjA4OTA3RTNDRTA2MDBFOTA3Rjk4NzQwQUYwRTU0MTQ0MDI5MEMwMDBGMDkwN0UzREUwNjAwMkQyMEM5MDdFM0VFMDYwMDg3NTM1MDFFNEY1MzlEMjA4OTA3RTNGRTA2MDExOTA3RkQ3NzQxMzg5Cis6NDAwNzg2MDBGMDc0MzNGMDc0MTZGMDc0MzZGMEQyMDRFNDkwN0ZEMUYwMzAxQTUyRTUzOTYwMDIxNTM5MzAxMzQ5RTUxM0QzOTQwMDQwMDQxNTEzODAzRTc1MTMwQTMwMUIwMkMyMTMxMjEzNEJFRjU0MDFGNTE5NjUzMzYwMDU4NTE5MzNEMjc5Cis6NDAwN0M2MDAwODEyMTM4N0VGNTQ4MEY1MTk2NTJGNjAwNTg1MTkyRkQyMDgzMDBFMTExMjEzODdFRjU0MTBGNTE5NjUyRTYwMDU4NTE5MkVEMjA4MzAxQTJBOTA3RkQyRTAyMEUxMjM5MDdCNDBFMDYwMDlFMEY1MTU5MDdCNDJFMEY1MTY5MDM1Cis6NDAwODA2MDA3QjQxRTA2MDA5OTA3RkQ3NzQxN0YwNzQzN0YwRTQ5MDdGRDNGMDkwN0ZDMkUwMzBFMTAzMDIwOTIwRTUwQTcwNDAzMDA3MzlFNTM4NzAzNUMyMDdGNTE4N0UwMDdCMDA3NDI0MjUxOEY5RUUzNDAwRkExMjBFOENGRjc0ODAyNUJECis6NDAwODQ2MDAxOEY1ODJFNDM0N0JGNTgzRUZGMDA1MThFNTE4QjQwOURCOTA3RkMzNzQwOUYwNzUzODEwRTRGNTJDNzUwQTAxMjJFNTBBNjQwMTcwNDAzMDA4MzlFNTM5NzAzNUMyMDhGNTE4N0UwMDdCMDA3NDJEMjUxOEY5RUUzNDAwRkExMjk3Cis6NDAwODg2MDAwRThDRkY3NDgwMjUxOEY1ODJFNDM0N0JGNTgzRUZGMDA1MThFNTE4QjQwOURCOTA3RkMzNzQwOUYwNzUzOTEwRTRGNTM1NzUwQTAyMjJFNTBBNjQwMjcwMzYzMDE0MkZDMjE0RjUxODdFMDA3QjAwNzQwRTI1MThGOUVFMzQwMDgzCis6NDAwOEM2MDBGQTEyMEU4Q0ZGNzQ4MDI1MThGNTgyRTQzNDdCRjU4M0VGRjAwNTE4RTUxOEI0MDVEQjkwN0ZDMzc0MDVGMDc1MEEwMzIyRTUxNTYwMzAxNTE1RTRGNTE4N0UwMDdCMDA3NDE0MjUxOEY5RUUzNDAwRkExMjBFOENGRjc0ODAyNUYyCis6NDAwOTA2MDAxOEY1ODJFNDM0N0JGNTgzRUZGMDA1MThFNTE4QjQwM0RCOTA3RkMzNzQwM0YwRTRGNTBBMjI5MDdGRTlFMDEyMEVFNDBBMDgwMDBBN0MwMTBBRTgwMzA5NDQwNjA5RkIwODA5RjUwOTA5REQwQTA5RUMwQjAwMDAwQjM3OTA3RjNECis6NDAwOTQ2MDBFQkUwMjRGRTYwMTkxNDYwNjEyNDAyNjAwMzAyMDlEMzc0MTk5MDdGRDRGMDc0MDA5MDdGRDVGMDAyMEIzRTkwN0ZFQUUwNzAwNDdGMDI4MDAyN0YwMzc1ODI4Mjc1ODMxOUVGRjA3NTgyN0I3NTgzMTlGMDc1ODI3NDc1ODMxOUIyCis6NDAwOTg2MDBGMDc1ODI2Njc1ODMxOUYwNzU4MjU4NzU4MzE5RjA5MDdGRUFFMDA0NzU4MjE3NzU4MzE5RjA3NDE5OTA3RkQ0RjA3NDEyOTA3RkQ1RjAwMjBCM0U5MDdGRUFFMEZGMTIwRjBBRUE0OTYwMERFQTkwN0ZENEYwRTk5MDdGRDVGMDg1Cis6NDAwOUM2MDAwMjBCM0U5MDdGQjRFMDQ0MDFGMDAyMEIzRTkwN0ZCNEUwNDQwMUYwMDIwQjNFOTA3RjAwRTUwOUYwOTA3RkI1NzQwMUYwMDIwQjNFOTA3RkVBRTBGNTA5MDIwQjNFMTIwQjQ2MDIwQjNFOTA3RjAwNzQwMUYwOTA3RkI1RjAwMjA1Cis6NDAwQTA2MDAwQjNFOTA3RkU4RTAyNDdGNjAyNDE0NjAzMTI0MDI3MDVCQTIxMEU0MzNGRjI1RTBGRkEyMTZFNDMzNEY5MDdGMDBGMEU0QTNGMDkwN0ZCNTc0MDJGMDAyMEIzRUU0OTA3RjAwRjBBM0YwOTA3RkI1NzQwMkYwMDIwQjNFOTA3RjA0Cis6NDAwQTQ2MDBFQ0UwRjQ1NDgwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyRTQzNDdGRjU4M0UwNTRGRDkwN0YwMEYwRTRBM0YwOTA3RkI1NzQwMkYwMDIwQjNFOTA3RkI0RTA0NDAxRjAwMjBCM0U5MDdGRThFMDI0RkU2MDFEMjQwMjBGCis6NDAwQTg2MDA2MDAzMDIwQjNFOTA3RkVBRTBCNDAxMDVDMjEwMDIwQjNFOTA3RkI0RTA0NDAxRjAwMjBCM0U5MDdGRUFFMDcwMzg5MDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODNFNEYwOTA3RkI2Cis6NDAwQUM2MDBFQ0UwNTQ4MEZGMTMxMzEzNTQxRkZGRTA1NDA3MkY5MDdGRDdGMEUwNDQyMEYwODA1RjkwN0ZCNEUwNDQwMUYwODA1NjkwN0ZFOEUwMjRGRTYwMTgyNDAyNzA0QTkwN0ZFQUUwQjQwMTA0RDIxMDgwM0Y5MDdGQjRFMDQ0MDFGMDQ5Cis6NDAwQjA2MDA4MDM2OTA3RkVBRTA3MDIwOTA3RkVDRTBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTgzNzQwMUYwODAxMDkwN0ZCNEUwNDQwMUYwODAwNzkwN0ZCNEUwNDQwMUYwOTA3RkI0RTA0NDAyRjAyMkQ0Cis6NDAwQjQ2MDBFNDkwN0Y5M0YwOTA3RjlDNzQzMEYwRTQ5MDdGOTZGMDkwN0Y5NTc0QzBGMDkwN0Y5RTc0M0ZGMDkwN0Y5ODc0MThGMEU0RjU4RTkwN0ZERjc0RkZGMDkwN0ZERUYwRTRGNTI0NzUxODAxN0IwMDc0MjQyNTE4RjlFNDM0MDBGQThCCis6NDAwQjg2MDBFNDEyMEVEMjA1MThFNTE4QjQwOUVBNzUzQTAxRTRGNTM4RjUxM0Y1MzZDMjA3QzIwQkMyMDVDMjAwQzIwOUMyMTM5MDdGOTg3NDEzRjA3NTQ0MDM5MEMwMDA3NDAzRjA3RjBDRTRGRDEyMTFCMTdGMTA4RjQyMTIxMDgxOTA3RjAyCis6NDAwQkM2MDA5ODc0MTJGMDdGMDE4RjQwRUY0NDA2OTBDMDAwRjA5MDdGOTg3NDE0RjA3NTQ2ODA5MEMwMDA3NDgwRjAwRkU0RkQxMjExQjFFNEZGN0VBM0FEMDY4RDNFMTIxMUIxOTA3Rjk4NzQxMUYwOTBDMDAwRTRGMDdGMDU3RDdGMTIxMThFCis6NDAwQzA2MDBCMTdGMDExMjEyNkE3RjAzN0QwNzEyMTFCMTIwMUIwMzAyMENCNzc1MkQwMTc1MTgwMTdCMDA3NDJEMjUxOEY5RTQzNDAwRkFFNDEyMEVEMjA1MThFNTE4QjQwOUVBNzUzQjAxRTRGNTM5RjUxM0Y1MzdDMjA4QzIwQ0MyMDZDMkNECis6NDAwQzQ2MDAwMEMyMEFDMjEzOTA3Rjk4NzQwQkYwNzU0NTAzOTBDMDAwNzQwM0YwN0YwQ0U0RkQxMjExRkI3RjEwOEY0MzEyMTBGMzkwN0Y5ODc0MEFGMDdGMDE4RjQxRUY0NDA2OTBDMDAwRjA5MDdGOTg3NDBDRjA3NTQ3ODA5MEMwMDA3NDRFCis6NDAwQzg2MDA4MEYwMEZFNEZEMTIxMUZCRTRGRjdFQTNBRDA2OEQzRjEyMTFGQjkwN0Y5ODc0MDlGMDkwQzAwMEU0RjA3RjA1N0Q3RjEyMTFGQjdGMDExMjEyOEI3RjAzN0QwNzEyMTFGQkQyMTIyMjkwN0Y5ODc0MTBGMEFGMDhFNTBERjU4MkE1Cis6NDAwQ0M2MDBFNTBDRjU4M0MyQUYwNTg2OTBDMDAwMDU4NkUwQTMwNTg2RjAwNTg2REZGN0QyQUYyMjkwN0Y5ODc0MTBGMEFGMDhFNTBERjU4MkU1MENGNTgzQzJBRjA1ODY5MEMwMDBFMDA1ODZGMEEzMDU4NkRGRjcwNTg2RDJBRjIyOTA3RjIwCis6NDAwRDA2MDA5ODc0MDhGMEFGMDhFNTBERjU4MkU1MENGNTgzQzJBRjA1ODY5MEMwMDAwNTg2RTBBMzA1ODZGMDA1ODZERkY3RDJBRjIyOTA3Rjk4NzQwOEYwQUYwOEU1MERGNTgyRTUwQ0Y1ODNDMkFGMDU4NjkwQzAwMEUwMDU4NkYwQTMwNTVDCis6NDAwRDQ2MDA4NkRGRjcwNTg2RDJBRjIyNzQwMEY1ODY5MEZEQTU3QzA1QTNFNTgyNDU4MzcwRjkyMjkwN0ZENkUwNDQ4MEYwNDM4NzAxMDAwMDAwMDAwMDIyRDIxOTkwN0Y5MkUwNDQwMkYwOTA3RkFFRTBGRkQzOTIxMEU0MzNGRUVGNEVGMDg5Cis6NDAwRDg2MDBEMkU4NDNEODIwOTA3RkRFNzQwMUYwOTA3RkRGRjA5MDdGQUI3NEZGRjA5MDdGQTlGMDkwN0ZBQUYwNTM5MUVGOTA3RkFGRTA0NDAxRjA5MDdGQUVFMDQ0MERGMEQyQUZEMjFBMTIxMjQ1QzIxMUU0RjUwQkY1MTNDMjE3QzIxMkQ0Cis6NDAwREM2MDA5MDdGQTEwNEYwOTA3RkQ4RTA2NTE3NjAxMDMwMTIwNUQyMUExMjAwNDY5MDdGRDhFMEY1MTc4MDA4MzAxMjA1QzIxQTEyMDA0NjMwMTEwN0MyMTExMjA5MjE4MEQ2MzAxOEQzQzIxODEyMTM5MzgwQ0MyMjc4N0ZFNEY2RDhGREM3Cis6NDAwRTA2MDA3NTgxNDcwMjBFNDcwMjBENkZFNDkzQTNGOEU0OTNBMzQwMDNGNjgwMDFGMjA4REZGNDgwMjlFNDkzQTNGODU0MDcyNDBDQzhDMzMzQzQ1NDBGNDQyMEM4ODM0MDA0RjQ1NjgwMDE0NkY2REZFNDgwMEIwMTAyMDQwODEwMjA0MEY1Cis6NDAwRTQ2MDA4MDkwMTJBQ0U0N0UwMTkzNjBCQ0EzRkY1NDNGMzBFNTA5NTQxRkZFRTQ5M0EzNjAwMTBFQ0Y1NEMwMjVFMDYwQTg0MEI4RTQ5M0EzRkFFNDkzQTNGOEU0OTNBM0M4QzU4MkM4Q0FDNTgzQ0FGMEEzQzhDNTgyQzhDQUM1ODNDQTFFCis6NDAwRTg2MDBERkU5REVFNzgwQkVCQjAxMDY4OTgyOEE4M0UwMjI1MDAyRTcyMkJCRkUwMkUzMjI4OTgyOEE4M0U0OTMyMkJCMDEwQ0U1ODIyOUY1ODJFNTgzM0FGNTgzRTAyMjUwMDZFOTI1ODJGOEU2MjJCQkZFMDZFOTI1ODJGOEUyMjJFNUI4Cis6NDAwRUM2MDA4MjI5RjU4MkU1ODMzQUY1ODNFNDkzMjJCQjAxMDY4OTgyOEE4M0YwMjI1MDAyRjcyMkJCRkUwMUYzMjJEMDgzRDA4MkY4RTQ5MzcwMTI3NDAxOTM3MDBEQTNBMzkzRjg3NDAxOTNGNTgyODg4M0U0NzM3NDAyOTM2ODYwRUZBM0MxCis6NDAwRjA2MDBBM0EzODBERjhGMThFNEY1MTk3NTFBRkY3NTFCMTk3NTFDODZBQjFBQUExQkE5MUM5MDAwMDExMjBFQTVCNDAzMURBRjE5MDUxOUVGQjUxODAxMjIxMjBFOEM3RTAwMjlGRkVFM0FBOTA3NzUxQUZGRjUxQjg5MUM4MEQ0N0IwMEE1Cis6NDAwRjQ2MDA3QTAwNzkwMDIyOEYxQTA1MERFNTBEQUUwQzcwMDIwNTBDMTRGNTgyOEU4M0U1MUFGMDEyMDAzNjA1MERFNTBEQUMwQzcwMDIwNTBDMTRGNTgyOEM4M0VGRjAxNTA4RTUwODYwMEExMjEzMjc4RjFBRUY0MjM2ODBDQTIyOEYxQUZDCis6NDAwRjg2MDAwNTBERTUwREFFMEM3MDAyMDUwQzE0RjU4MjhFODNFNTFBRjAxMjEzM0YwNTBERTUwREFDMEM3MDAyMDUwQzE0RjU4MjhDODNFRkYwMTUwOEU1MDg2MDBBMTIxMzdCOEYxQUVGNDIzNzgwQ0EyMkMwRTBDMDgzQzA4MkMwODVDMDg4Cis6NDAwRkM2MDA4NEMwODY3NTg2MDA5MDdGQzRFNEYwNTM5MUVGOTA3RkFCNzQwNEYwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzJDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDBEMjExNTM5MUVGOTA3RkFCNzQwMUYwRDA4NkQwODREMEM2Cis6NDAxMDA2MDA4NUQwODJEMDgzRDBFMDMyQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwRDIxODUzOTFFRjkwN0ZBQjc0MDhGMEQwODZEMDg0RDA4NUQwODJEMDgzRDBFMDMyOTA3Rjk4NzQxM0YwOTBDMDAwNzRCRkYwOTA3Rjk4NzQxMDhBCis6NDAxMDQ2MDBGMDkwQzAwMEVGRjA5MDdGOTg3NDEzRjBFNTQ0NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDEzRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDExRjA5MEMwMDBFRkYwOTA3Rjk4NzQxM0YwRTU0NDU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQxMzQ5Cis6NDAxMDg2MDBGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MTJGMDkwQzAwMEVGRjA5MDdGOTg3NDEzRjBFNTQ0NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDEzRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDE0RjA5MEMwMDBFRkYwOTA3Rjk4NzQxM0YwRTU0NEQ5Cis6NDAxMEM2MDA1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MTNGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MTZGMDkwQzAwMEVGRjA5MDdGOTg3NDEzRjBFNTQ0NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDBCRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDBBRjA5MDJBCis6NDAxMTA2MDBDMDAwRUZGMDkwN0Y5ODc0MEJGMEU1NDU1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MEJGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MDhGMDkwQzAwMEVGRjA5MDdGOTg3NDBCRjBFNTQ1NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDBCRjA5MEFGCis6NDAxMTQ2MDBDMDAwNzRCRkYwOTA3Rjk4NzQwOUYwOTBDMDAwRUZGMDkwN0Y5ODc0MEJGMEU1NDU1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MEJGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MENGMDkwQzAwMEVGRjA5MDdGOTg3NDBCRjBFNTQ1NTQ3RkVDCis6NDAxMTg2MDA5MEMwMDBGMDIyOTA3Rjk4NzQwQkYwOTBDMDAwNzRCRkYwOTA3Rjk4NzQwRUYwOTBDMDAwRUZGMDkwN0Y5ODc0MEJGMEU1NDU1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MTNGMEU1NDQ1NDdGOTBDMDAwRjA5MDdGOTg3NDE3RjA5MDc1Cis6NDAxMUM2MDBDMDAwRUZGMDkwN0Y5ODc0MTVGMDkwQzAwMEVERjAyMjEyMTMwRjhGMUExMjEzMEY4RjFCRTUxQTY1MUI2MDEyMTIxMzBGOEYxQUU1MUE2NTFCNjAwNzEyMTMwRjhGMUI4MEU4QUYxQTIyOTA3Rjk4NzQwQkYwRTU0NTU0N0Y5MDk4Cis6NDAxMjA2MDBDMDAwRjA5MDdGOTg3NDBGRjA5MEMwMDBFRkYwOTA3Rjk4NzQwREYwOTBDMDAwRURGMDIyMTIxMzYzOEYxQTEyMTM2MzhGMUJFNTFBNjUxQjYwMTIxMjEzNjM4RjFBRTUxQTY1MUI2MDA3MTIxMzYzOEYxQjgwRThBRjFBMjI5MEM4Cis6NDAxMjQ2MDA3RkQ2RTA1NEZCRjBFMDQ0MDhGMDMwMUEwNEUwNDQwMkYwN0ZGNDdFMDExMjEyQzg5MDdGRDZFMDU0RjdGMEUwNDQwNEYwMjJBRTA3RTRGRkU1M0U1NDdGRkQxMjExQjE5MDdGOTg3NDExRjA5MEMwMDBFRUYwRTRFNTNFNDQ4MEU4Cis6NDAxMjg2MDBGRDEyMTFCMTIyQUUwN0U0RkZFNTNGNTQ3RkZEMTIxMUZCOTA3Rjk4NzQwOUYwOTBDMDAwRUVGMEU0RTUzRjQ0ODBGRDEyMTFGQjIyMDUwRTAyMDAwMDAwMDAwMzE0MDMwMDAwQzExMUMxMThDMTk1QzExMEMxMTYwMTBBMDBDMTlDCis6NDAxMkM2MDAxQjAwOEUxODhGMTlFNTE5MTUxOUFFMTg3MDAyMTUxODRFNjAwNTEyMEQ0RTgwRUUyMjkwN0Y5ODc0MTFGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MTJGMDkwQzAwMEUwRkYyMjUzRDhFRjMyMDAwMDAwMDAwMDAyMEZFNzAwMDIxMzBBCis6NDAxMzA2MDAwNDAwMDIwRkJEMDAwMjEwMEU5MDdGOTg3NDEzRjA5MEMwMDBFMEZGMjI5MDdGOTg3NDE0RjA5MEMwMDBFMEZGMjI5MDdGOTg3NDE1RjA5MEMwMDBFMEZGMjI5MDdGOTg3NDE2RjA5MEMwMDBFMEZGMjI5MDdGOTg3NDA4RjA5MDUwCis6NDAxMzQ2MDBDMDAwRTBGRjIyOTA3Rjk4NzQwOUYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQwQUYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQwQkYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQwQ0YwOTBDMDAwRTBGRjIyOTA3Rjk4NzQwREYwOTBDMDAwRTBGRkM1Cis6NDAxMzg2MDAyMjkwN0Y5ODc0MEVGMDkwQzAwMEUwRkYyMjEyMDAwMzEyMEQ1RjEyMEI0NjIyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgzCis6NDAxM0M2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU3Cis6NDAxNDA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE2Cis6NDAxNDQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY2Cis6NDAxNDg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI2Cis6NDAxNEM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU2Cis6NDAxNTA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE1Cis6NDAxNTQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY1Cis6NDAxNTg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI1Cis6NDAxNUM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU1Cis6NDAxNjA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE0Cis6NDAxNjQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY0Cis6NDAxNjg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI0Cis6NDAxNkM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU0Cis6NDAxNzA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEzCis6NDAxNzQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYzCis6NDAxNzg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIzCis6NDAxN0M2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUzCis6NDAxODA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEyCis6NDAxODQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYyCis6NDAxODg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIyCis6NDAxOEM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEyMDExMDAxRkYwMEJGCis6NDAxOTA2MDAwMDQwQ0QwNjEyMDEwMDAwMDEwMjAwMDIwOTAyNzQwMDAxMDEwMEEwMzIwOTA0MDAwMDBFRkYwMDAwMDAwNzA1MDEwMjQwMDAwMDA3MDUwMjAyNDAwMDAwMDcwNTAzMDI0MDAwMDAwNzA1MDQwMjQwMDAwMDA3MDUwNTAyNDAwMDc0Cis6NDAxOTQ2MDAwMDA3MDUwNjAyNDAwMDAwMDcwNTA3MDI0MDAwMDAwNzA1ODEwMjQwMDAwMTA3MDU4MjAyNDAwMDAxMDcwNTgzMDI0MDAwMDEwNzA1ODQwMjQwMDAwMTA3MDU4NTAyNDAwMDAxMDcwNTg2MDI0MDAwMDEwNzA1ODcwMjQwMDAwMUYzCis6NDAxOTg2MDAwNDAzMDkwNDQ4MDM0QjAwNjUwMDc5MDA3MzAwNzAwMDYxMDA2RTAwMkMwMDIwMDA2MTAwMjAwMDY0MDA2OTAwNzYwMDY5MDA3MzAwNjkwMDZGMDA2RTAwMjAwMDZGMDA2NjAwMjAwMDQ5MDA2RTAwNkUwMDZGMDA1MzAwNzkwMDQwCis6NDAxOUM2MDA3MzAwMjAwMDQ5MDA2RTAwNjMwMDJFMDAzNjAzNEIwMDY1MDA3OTAwNzMwMDcwMDA2MTAwNkUwMDIwMDA1NTAwNTMwMDQyMDAyMDAwNTMwMDY1MDA3MjAwNjkwMDYxMDA2QzAwMjAwMDQxMDA2NDAwNjEwMDcwMDA3NDAwNjUwMEY5Cis6MTQxQTA2MDA3MjAwMTAwMzMwMDAzMDAwMzAwMDMwMDAzMDAwMzAwMDMwMDAwMDAwRjcKKzowMDAwMDAwMUZGCisKKwlUaGUgZmlybXdhcmUgY29udGFpbmVkIGhlcmVpbiBpcworCisJCUNvcHlyaWdodCAoQykgMTk5OS0yMDAxCisJCUtleXNwYW4sIEEgZGl2aXNpb24gb2YgSW5ub1N5cyBJbmNvcnBvcmF0ZWQgKCJLZXlzcGFuIikKKworCWFzIGFuIHVucHVibGlzaGVkIHdvcmsuIFRoaXMgbm90aWNlIGRvZXMgbm90IGltcGx5IHVucmVzdHJpY3RlZCBvcgorCXB1YmxpYyBhY2Nlc3MgdG8gdGhlIHNvdXJjZSBjb2RlIGZyb20gd2hpY2ggdGhpcyBmaXJtd2FyZSBpbWFnZSBpcworCWRlcml2ZWQuICBFeGNlcHQgYXMgbm90ZWQgYmVsb3cgdGhpcyBmaXJtd2FyZSBpbWFnZSBtYXkgbm90IGJlCisJcmVwcm9kdWNlZCwgdXNlZCwgc29sZCBvciB0cmFuc2ZlcnJlZCB0byBhbnkgdGhpcmQgcGFydHkgd2l0aG91dAorCUtleXNwYW4ncyBwcmlvciB3cml0dGVuIGNvbnNlbnQuICBBbGwgUmlnaHRzIFJlc2VydmVkLgorCisJUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCBmb3IgdGhlIGRpc3RyaWJ1dGlvbiBvZiB0aGlzIGZpcm13YXJlCisJaW1hZ2UgYXMgcGFydCBvZiBhIExpbnV4IG9yIG90aGVyIE9wZW4gU291cmNlIG9wZXJhdGluZyBzeXN0ZW0ga2VybmVsCisJaW4gdGV4dCBvciBiaW5hcnkgZm9ybSBhcyByZXF1aXJlZC4KKworCVRoaXMgZmlybXdhcmUgbWF5IG5vdCBiZSBtb2RpZmllZCBhbmQgbWF5IG9ubHkgYmUgdXNlZCB3aXRoCisJS2V5c3BhbiBoYXJkd2FyZS4gIERpc3RyaWJ1dGlvbiBhbmQvb3IgTW9kaWZpY2F0aW9uIG9mIHRoZQorCWtleXNwYW4uYyBkcml2ZXIgd2hpY2ggaW5jbHVkZXMgdGhpcyBmaXJtd2FyZSwgaW4gd2hvbGUgb3IgaW4KKwlwYXJ0LCByZXF1aXJlcyB0aGUgaW5jbHVzaW9uIG9mIHRoaXMgc3RhdGVtZW50LiIKZGlmZiAtLWdpdCBhL2Zpcm13YXJlL2tleXNwYW4vdXNhMTkuSEVYIGIvZmlybXdhcmUva2V5c3Bhbi91c2ExOS5IRVgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzVkMTQ5NgotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2tleXNwYW4vdXNhMTkuSEVYCkBAIC0wLDAgKzEsMTAxIEBACis6MEEwMDI2MDAxMjBEQkYxMjBGNDcxMjBENkIyMkRFCis6MDMwMDMzMDAwMjAwMUFBRQorOjA0MDAxQTAwNTNEOEVGMzI5NgorOjEwMDAwMzAwOEUxMzhGMTRFNTE0MTUxNEFFMTM3MDAyMTUxMzRFNjA3RQorOjA3MDAxMzAwMDUxMjBGMzY4MEVFMjJGQQorOjAzMDAyMzAwMDIwMDQ2OTIKKzoxMDAwNDYwMEMwRTBDMDgzQzA4MkMwODY3NTg2MDBDMEQwNzVEMDA4NjcKKzoxMDAwNTYwMDMwOTkwRTMwMDgwN0EyMEI5MjlCODUzNTk5QzI5OUQyMkEKKzoxMDAwNjYwMDBGMjAwRjAzMDIwNDMxQzIwRjIwMDIwMzAyMDI1NjIwQTIKKzoxMDAwNzYwMDA4MDMwMjAxMjdFNTM3QzM5NTUwNTAzRTIwMDkzNjIwNzQKKzoxMDAwODYwMDA2MzM5MDdGOUJFMDMwRTMwMzIwMEUyOTMwMEQxMkFGM0MKKzoxMDAwOTYwMDM3MDUzNzc0NDAyRkY1ODJFNDM0N0VGNTgzRTAxMzkyRkEKKzoxMDAwQTYwMDBCQUYzNzA1Mzc3NDQwMkZGNTgyRTQzNDdFRjU4M0UwRDUKKzoxMDAwQjYwMEY1MzUwMjA0MkZDMjA4MDIwNDJGOTA3RkM3RTRGMEMyNzAKKzoxMDAwQzYwMDAyMzAwQTBDQzIwQTkwN0ZCQjA0RjBDMjA4MDIwNDJGNTkKKzoxMDAwRDYwMDkwN0ZDOEUwMzBFMTA1QzIwODAyMDQyRjkwN0ZDOUUwOTYKKzoxMDAwRTYwMEY1NTA5MDdEQzBFMDEzOTIwQTIwMDkyRDIwMDYyQTkwMzMKKzoxMDAwRjYwMDdGOUJFMDMwRTMwMzIwMEUyMDMwMEQxMTkwN0RDMUUwQTAKKzowMzAwNDMwMDAyMEYwMEE5Cis6MDMwMDAwMDAwMjBDNjE4RQorOjQwMDEwNjAwMTM5MjBCQTNFMEY1MzU3NTM3MDMwMjA0MkY3NTM3MDI5MDdEQzFFMEY1MzUwMjA0MkY3NTM3MDFDMjA4MDIwNDJGRTUzN0MzOTU1MDUwMDMwMjAxQ0Y5MDdGQzZFMDMwRTEwN0MyMTBDMjAzMDIwNDJGOTA3RkM3RTBGNTUwOTAwNAorOjQwMDE0NjAwN0U0MEUwMTM5MjBBMzAwOTAzMDIwMUM3MjAwNjcyMjAwMDZGOTA3RjlCRTAzMEUzMDMyMDBFNjUzMDBEMTA5MDdFNDFFMDEzOTI5QkEzRTBGNTk5NzUzNzAzODAwOTkwN0U0MUUwRjU5OTc1MzcwMkU1MzdDMzk1NTA0MDE3OTBCMQorOjQwMDE4NjAwN0ZDN0U0RjBDMjAyMjAwQTAzMDIwNDJGQzIwQTkwN0ZCQjA0RjAwMjA0MkYzMDBEMTJBRjM3MDUzNzc0NDAyRkY1ODJFNDM0N0VGNTgzRTAxMzkyMEJBRjM3MDUzNzc0NDAyRkY1ODJFNDM0N0VGNTgzRTBGNTM1RDIwODAyMDQ1RAorOjQwMDFDNjAwMkY3NTM3MDFDMjEwMDIwNDJGMzAwOTAzMDIwMjUxMjAwNjc5OTA3RjlCRTAzMEUzMDMyMDBFNkYzMDBEMTJBRjM3MDUzNzc0NDAyRkY1ODJFNDM0N0VGNTgzRTAxMzkyOUJBRjM3MDUzNzc0NDAyRkY1ODJFNDM0N0VGNTgzRTA0NgorOjQwMDIwNjAwRjU5OUU1MzdDMzk1NTA0MDE3OTA3RkM3RTRGMEMyMDIyMDBBMDMwMjA0MkZDMjBBOTA3RkJCMDRGMDAyMDQyRjMwMEQxMkFGMzcwNTM3NzQ0MDJGRjU4MkU0MzQ3RUY1ODNFMDEzOTIwQkFGMzcwNTM3NzQ0MDJGRjU4MkU0MzQ4MworOjQwMDI0NjAwN0VGNTgzRTBGNTM1RDIwODAyMDQyRkMyMTAwMjA0MkYyMDA4MDMwMjAzMDhFNTM3QzM5NTUwNTAzRTIwMDkzNjIwMDYzMzkwN0Y5QkUwMzBFMzAzMjAwRTI5MzAwRDEyQUYzNzA1Mzc3NEMwMkZGNTgyRTQzNDdERjU4M0UwMTNERQorOjQwMDI4NjAwOTIwQkFGMzcwNTM3NzRDMDJGRjU4MkU0MzQ3REY1ODNFMEY1MzUwMjA0MkZDMjA4MDIwNDJGOTA3RkM5RTRGMEQyMDIzMDBBMENDMjBBOTA3RkJCMDRGMEMyMDgwMjA0MkY5MDdGQzZFMDMwRTEwNUMyMDgwMjA0MkY5MDdGQzc2NQorOjQwMDJDNjAwRTBGNTUwOTA3RTQwRTAxMzkyMEEyMDA5MkQyMDA2MkE5MDdGOUJFMDMwRTMwMzIwMEUyMDMwMEQxMTkwN0U0MUUwMTM5MjBCQTNFMEY1MzU3NTM3MDMwMjA0MkY3NTM3MDI5MDdFNDFFMEY1MzUwMjA0MkY3NTM3MDFDMjA4MDJFRgorOjQwMDMwNjAwMDQyRkU1MzdDMzk1NTA1MDAzMDIwM0IwOTA3RkM4RTAzMEUxMDdDMjEwQzIwMzAyMDQyRjkwN0ZDOUUwRjU1MDkwN0RDMEUwMTM5MjBBMzAwOTAzMDIwM0E4MjAwNjcyMjAwMDZGOTA3RjlCRTAzMEUzMDMyMDBFNjUzMDBEMTAzNAorOjQwMDM0NjAwOTA3REMxRTAxMzkyOUJBM0UwRjU5OTc1MzcwMzgwMDk5MDdEQzFFMEY1OTk3NTM3MDJFNTM3QzM5NTUwNDAxNzkwN0ZDOUU0RjBEMjAyMjAwQTAzMDIwNDJGQzIwQTkwN0ZCQjA0RjAwMjA0MkYzMDBEMTJBRjM3MDUzNzc0QzBGNQorOjQwMDM4NjAwMkZGNTgyRTQzNDdERjU4M0UwMTM5MjBCQUYzNzA1Mzc3NEMwMkZGNTgyRTQzNDdERjU4M0UwRjUzNUQyMDgwMjA0MkY3NTM3MDFDMjEwMDIwNDJGMzAwOTAzMDIwNDJEMjAwNjc0OTA3RjlCRTAzMEUzMDMyMDBFNkEzMDBEMTI4RQorOjQwMDNDNjAwQUYzNzA1Mzc3NEMwMkZGNTgyRTQzNDdERjU4M0UwMTM5MjlCQUYzNzA1Mzc3NEMwMkZGNTgyRTQzNDdERjU4M0UwRjU5OUU1MzdDMzk1NTA0MDEzOTA3RkM5RTRGMEQyMDIzMDBBMzVDMjBBOTA3RkJCMDRGMDgwMkMzMDBEMTJDQworOjQwMDQwNjAwQUYzNzA1Mzc3NEMwMkZGNTgyRTQzNDdERjU4M0UwMTM5MjBCQUYzNzA1Mzc3NEMwMkZGNTgyRTQzNDdERjU4M0UwRjUzNUQyMDg4MDAyQzIxMEQyMTIyMDk4MDMwMjA1NkRDMjk4MjAwMTAzMDIwNERBMjAxMTI3QUYzNjA1MzZGMworOjQwMDQ0NjAwNzQ4MDJGRjU4MkU0MzQ3RUY1ODNFNTk5RjAzMDBENERBRjM2MDUzNjc0ODAyRkY1ODJFNDM0N0VGNTgzRTU5OEYwODAzQTg1OTkxMEU1MTBCNTQ0MDREMjA2ODAyRUU1MTBCNTQzMDRDMjA2ODAyNUFGMzYwNTM2NzQ4MDJGRjVBQgorOjQwMDQ4NjAwODJFNDM0N0VGNTgzRTUxMEYwMzAwRDExQUYzNjA1MzY3NDgwMkZGNTgyRTQzNDdFRjU4M0U1OThGMEQyMENFNTM2QzM5NTQwNTAwMzAyMDU2QjkwN0ZCOEUwMzBFMTE2RTUzNkMzOTQ0MDUwMDMwMjA1NkIxNTM2MTUzNjA1MkJERAorOjQwMDRDNjAwNDMzMzAxMDIwNTZCOTA3RkI3RTUzNkYwNzUzNjAwQzIwMTAyMDU2QjIwMTEyN0FGMzYwNTM2NzQwMDJGRjU4MkU0MzQ3RUY1ODNFNTk5RjAzMDBENERBRjM2MDUzNjc0MDAyRkY1ODJFNDM0N0VGNTgzRTU5OEYwODAzQTg1OTkzNworOjQwMDUwNjAwMTBFNTEwQjU0NDA0RDIwNjgwMkVFNTEwQjU0MzA0QzIwNjgwMjVBRjM2MDUzNjc0MDAyRkY1ODJFNDM0N0VGNTgzRTUxMEYwMzAwRDExQUYzNjA1MzY3NDAwMkZGNTgyRTQzNDdFRjU4M0U1OThGMEQyMENFNTM2QzM5NTQwNDBDRQorOjQwMDU0NjAwMjQ5MDdGQjZFMDMwRTExMkU1MzZDMzk0NDA0MDE2MTUzNjE1MzYwNTJCNDMzMzAxODAwQjkwN0ZCOUU1MzZGMDc1MzYwMEQyMDFEMjEyMzAxMjA1QzIxMjAyMDA1NkQwRDBEMDg2RDA4MkQwODNEMEUwMzI5MDdGQ0FFMDMwRTFDQQorOjQwMDU4NjAwMDMwMjA2QUJFNEY1MTM3NDQwMjUxM0Y1ODJFNDM0N0RGNTgzRTBGRkU1MTM3QzAwN0IwMDI0MzhGOUVDMzQwMEZBRUYxMjBEMzMwNTEzRTUxM0I0MThEQkU1Mzg2MDBDNzVDOTIwNzVDODM0ODUzOUNBODUzQUNCRTUzQjEzOTJCRgorOjQwMDVDNjAwMEQ5MjlGRTUzQzEzOTIwRUU1M0QxMzkyMTFFNTNFNjAwOTkwN0Y5OEUwNTRGQkYwODAwNzkwN0Y5OEUwNDQwNEYwRTUzRjYwMDk5MDdGOThFMDU0N0ZGMDgwMDc5MDdGOThFMDQ0ODBGMEU1NDU2MDBCQzIwOUMyMDY5MDdGOTUwRQorOjQwMDYwNjAwRTA0NDAyRjBFNTQ2NjAwQ0QyMDY0MzMzMDE5MDdGOTVFMDQ0MDJGMEU1NDc2MDBEQzJBRkMyMDhEMjAwRTRGNTUwRjUzN0QyQUZFNTQ4NjAwNTMwMTEwMkQyMDZFNTQ5NjAxNTkwN0Y5NUUwNTRGREYwOTA3RjlFRTA0NDAyRjBBQQorOjQwMDY0NjAwOTA3Rjk4RTA1NEZERjBFNTRBNjAwQUQyOUNDMjk4NzUyQzAxNzUzMTFFRTU0QjYwMDdDMjlDRTRGNTM2RjUyQ0U1NEM2MDAzRTRGNTM2RTU0RDYwMDJEMjA0RTU0RTYwMEFFNTRBNzAwMkY1MzFFNTRFNDIzM0U1NEY2MDFGOTA2NAorOjQwMDY4NjAwN0ZENzc0MTFGMDc0MzFGMDc0MTJGMDc0MzJGMDc0MTNGMDc0MzNGMDc0MTRGMDc0MzRGMEQyMDJEMjAxRDIwNUU0OTA3RkNCRjBBMjA5RTQzM0ZGNjUyOTYwMDU4RjI5NDMzMzAxQTIwNkU0MzNGRjY1MkE2MDA1OEYyQTQzMzNCQQorOjQwMDZDNjAwMDE5MDdGOUJFMDU0MDhCNTI1MEFFMDU0MDg2NDA4RjUyNTQzMzMwMTkwN0Y5QkUwNTQxMEI1MjYwQUUwNTQxMDY0MTBGNTI2NDMzMzAxOTA3RjlCRTA1NDQwQjUyNzBBRTA1NDQwNjQ0MEY1Mjc0MzMzMDE5MDdGOUJFMDU0MjAyNgorOjQwMDcwNjAwQjUyODBBRTA1NDIwNjQyMEY1Mjg0MzMzMDEzMDA0MzVDMkFGMzAwMTE4OTA3RkI4RTAyMEUxMjdFNTM2NjAwOTkwN0ZCN0YwRTRGNTM2QzIwMUMyMDQ4MDE2OTA3RkI2RTAyMEUxMEZFNTM2NjAwOTkwN0ZCOUYwRTRGNTM2RDIzNAorOjQwMDc0NjAwMDFDMjA0RDJBRjIwMDMzNzMwMDIxQjkwN0ZDNkUwMjBFMTJEOTA3RTQwRTAxMzkyMEE3NTM3MDE5MDdGQzdFMEY1NTBEMjAzODAxOTkwN0ZDOEUwMjBFMTEyOTA3REMwRTAxMzkyMEE3NTM3MDE5MDdGQzlFMEY1NTBEMjAzMjBFOQorOjQwMDc4NjAwMTAzMzIwMDAwNkU1Mzc2NTUwNzAyQTMwMDMxQTMwMDIwOUU0OTA3RkM3RjBDMjAyODAwN0U0OTA3RkM5RjBEMjAyQzIwM0U0RjU1MEY1MzczMDBBMEFDMjBBQzIwMDkwN0ZCQjc0MDFGMDMwMTAwMzAyMDhDNTIwMDMwMzAyMDgwNQorOjQwMDdDNjAwQzUzMDBFMEE5MDdGOUJFMDMwRTMwMzAyMDhDNTMwMDYwMzAyMDhDNTMwMDkwMzAyMDhDNTMwMDI2MjMwMEQxMkFGMzcwNTM3NzQ0MDJGRjU4MkU0MzQ3RUY1ODNFMDEzOTIxOUFGMzcwNTM3NzQ0MDJGRjU4MkU0MzQ3RUY1ODNDRgorOjQwMDgwNjAwRTBGNTE0RTUzN0MzOTU1MDUwMkEzMDBEMTJBRjM3MDUzNzc0NDAyRkY1ODJFNDM0N0VGNTgzRTAxMzkyMEJBRjM3MDUzNzc0NDAyRkY1ODJFNDM0N0VGNTgzRTBGNTM1RDIwODgwNkJDMjA4RTQ5MDdGQzdGMEMyMDI4MDYwMzA4MQorOjQwMDg0NjAwMEQxMkFGMzcwNTM3NzRDMDJGRjU4MkU0MzQ3REY1ODNFMDEzOTIxOUFGMzcwNTM3NzRDMDJGRjU4MkU0MzQ3REY1ODNFMEY1MTRFNTM3QzM5NTUwNTAyQTMwMEQxMkFGMzcwNTM3NzRDMDJGRjU4MkU0MzQ3REY1ODNFMDEzOTI5RgorOjQwMDg4NjAwMEJBRjM3MDUzNzc0QzAyRkY1ODJFNDM0N0RGNTgzRTBGNTM1RDIwODgwMDlDMjA4RTQ5MDdGQzlGMEQyMDIzMDBEMDRBMjE5OTI5QkQyMTBDMkFGODUxNDk5MjAwODBEMzAwQTBBQzIwQUMyMDA5MDdGQkI3NDAxRjBEMkFGOTA3MgorOjQwMDhDNjAwN0ZCQ0UwMjBFMTUxRTUzMzYwNERFNTMxNzA0OUU1MzMzMEUxMDhFNEY1MkY3NTMzMDE4MDBCQTIwNUU0MzNGNTJGQzIwNUU0RjUzM0U0RjUxMzdFMDA3QjAwNzQyNDI1MTNGOUVFMzQwMEZBMTIwQ0VERkY3NDAwMjUxM0Y1ODJEOAorOjQwMDkwNjAwRTQzNDdERjU4M0VGRjAwNTEzRTUxM0I0MENEQjkwN0ZCRDc0MENGMDc1MzExMDIyOTA3RkU5RTAxMjBENDUwQTAzMDAwQTc3MDEwQUUzMDMwOTQxMDYwOUY0MDgwOUU4MDkwOUQwMEEwOURGMEIwMDAwMEIzMjkwN0ZFQkUwMjRFQgorOjQwMDk0NjAwRkU2MDE2MTQ2MDU3MjQwMjcwNzY3NDBGOTA3RkQ0RjA3NDY0OTA3RkQ1RjAwMjBCMzk5MDdGRUFFMDcwMDQ3RjAyODAwMjdGMDM3NTgyQjU3NTgzMEZFRkYwNzU4MkFFNzU4MzBGRjA3NTgyQTc3NTgzMEZGMDc1ODJBMDc1ODNCQQorOjQwMDk4NjAwMEZGMDkwN0ZFQUUwMDQ3NTgyN0I3NTgzMEZGMDc0MEY5MDdGRDRGMDc0NzY5MDdGRDVGMDAyMEIzOTkwN0ZFQUUwRkYxMjBFNDhFQTQ5NjAwREVBOTA3RkQ0RjBFOTkwN0ZENUYwMDIwQjM5OTA3RkI0RTA0NDAxRjAwMjBCMzlENAorOjQwMDlDNjAwOTA3RkI0RTA0NDAxRjAwMjBCMzk5MDdGMDBFNTE5RjA5MDdGQjU3NDAxRjAwMjBCMzk5MDdGRUFFMEY1MTkwMjBCMzk5MDdGRUFFMEY1MTgxMjBENkIwMjBCMzk5MDdGMDBFNTE4RjA5MDdGQjU3NDAxRjAwMjBCMzk5MDdGRTgyMgorOjQwMEEwNjAwRTAyNDdGNjAyNDE0NjAzMTI0MDI3MDVCQTIxM0U0MzNGRjI1RTBGRkEyMTdFNDMzNEY5MDdGMDBGMEU0QTNGMDkwN0ZCNTc0MDJGMDAyMEIzOUU0OTA3RjAwRjBBM0YwOTA3RkI1NzQwMkYwMDIwQjM5OTA3RkVDRTBGNDU0ODBCNgorOjQwMEE0NjAwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyRTQzNDdGRjU4M0UwNTRGRDkwN0YwMEYwRTRBM0YwOTA3RkI1NzQwMkYwMDIwQjM5OTA3RkI0RTA0NDAxRjAwMjBCMzk5MDdGRThFMDI0RkU2MDFEMjQwMjYwMDMwMjBCMzkwNAorOjQwMEE4NjAwOTA3RkVBRTBCNDAxMDVDMjEzMDIwQjM5OTA3RkI0RTA0NDAxRjAwMjBCMzk5MDdGRUFFMDcwMzg5MDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODNFNEYwOTA3RkVDRTA1NDgwRkZDQworOjQwMEFDNjAwMTMxMzEzNTQxRkZGRTA1NDA3MkY5MDdGRDdGMEUwNDQyMEYwODA1RjkwN0ZCNEUwNDQwMUYwODA1NjkwN0ZFOEUwMjRGRTYwMTgyNDAyNzA0QTkwN0ZFQUUwQjQwMTA0RDIxMzgwM0Y5MDdGQjRFMDQ0MDFGMDgwMzY5MDdGRUEzNgorOjQwMEIwNjAwRTA3MDIwOTA3RkVDRTBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTgzNzQwMUYwODAxMDkwN0ZCNEUwNDQwMUYwODAwNzkwN0ZCNEUwNDQwMUYwOTA3RkI0RTA0NDAyRjAyMjIwMTUwMzAyMEIzRQorOjQwMEI0NjAwRDNFNTMxNjAwMjE1MzFFNTM2NjA0RjY1MzQ3MDQ1RTUzMkY0NjAwMjA1MzJFNTMyQzM5NTQxNDAzREMyQUYzMDAxMTg5MDdGQjhFMDIwRTEyNzkwN0ZCN0U1MzZGMEMyMDFFNEY1MzZGNTMyRjUzNDgwMTY5MDdGQjZFMDIwRTEzRAorOjQwMEI4NjAwMEY5MDdGQjlFNTM2RjBEMjAxRTRGNTM2RjUzMkY1MzREMkFGODAwNjg1MzYzNEU0RjUzMkU1MkM2MDJGMjAwQzA3OTA3RjlCRTAzMEUwMEZFNTJENjAwNkU0RjUyRDQzMzMwMUU0RjUzMDgwMTRFNTMwRDM5NTQyNTAwREU1MzBEQgorOjQwMEJDNjAwQjU0MjA2NzUyRDAxNDMzMzAxMDUzMEMyMEMyMjc1MTIwMUMyMTRDMjE4QzIxM0MyMTdDMjE1QzIxMkQyMTZFNEY1MTg5MDdGOTJFMDU0RkRGMDkwN0ZBRUUwRkZEMzkyMTNFNDMzRkVFRjRFRjBEMkU4NDNEODIwOTA3RkRFNzREQgorOjQwMEMwNjAwMDFGMDkwN0ZERkYwOTA3RkFCNzRGRkYwOTA3RkE5RjA5MDdGQUFGMDUzOTFFRjkwN0ZBRkUwNDQwMUYwOTA3RkFFRTA0NDBERjBEMkFGRDJCQ0QyMTkxMjBFREFDMjE0MzAxNTAzMTIwNTgwOTA3RkQ4RTA2NTExNjAwOEUwRjVDQQorOjQwMEM0NjAwMTExMjBCNDE4MEVBMzAxNDA3QzIxNDEyMDkxRTgwRTAzMDE4RERDMjE4MTIwMDI2ODBENjIyNzg3RkU0RjZEOEZENzU4MTUwMDIwQ0E4MDIwQkQ0RTQ5M0EzRjhFNDkzQTM0MDAzRjY4MDAxRjIwOERGRjQ4MDI5RTQ5M0EzRjgzQgorOjQwMEM4NjAwNTQwNzI0MENDOEMzMzNDNDU0MEY0NDIwQzg4MzQwMDRGNDU2ODAwMTQ2RjZERkU0ODAwQjAxMDIwNDA4MTAyMDQwODA5MDBFMDRFNDdFMDE5MzYwQkNBM0ZGNTQzRjMwRTUwOTU0MUZGRUU0OTNBMzYwMDEwRUNGNTRDMDI1RTA4RQorOjQwMENDNjAwNjBBODQwQjhFNDkzQTNGQUU0OTNBM0Y4RTQ5M0EzQzhDNTgyQzhDQUM1ODNDQUYwQTNDOEM1ODJDOENBQzU4M0NBREZFOURFRTc4MEJFQkIwMTA2ODk4MjhBODNFMDIyNTAwMkU3MjJCQkZFMDJFMzIyODk4MjhBODNFNDkzMjI0MgorOjQwMEQwNjAwQkIwMTBDRTU4MjI5RjU4MkU1ODMzQUY1ODNFMDIyNTAwNkU5MjU4MkY4RTYyMkJCRkUwNkU5MjU4MkY4RTIyMkU1ODIyOUY1ODJFNTgzM0FGNTgzRTQ5MzIyQkIwMTA2ODk4MjhBODNGMDIyNTAwMkY3MjJCQkZFMDFGMzIyRDBFMQorOjQwMEQ0NjAwODNEMDgyRjhFNDkzNzAxMjc0MDE5MzcwMERBM0EzOTNGODc0MDE5M0Y1ODI4ODgzRTQ3Mzc0MDI5MzY4NjBFRkEzQTNBMzgwREZFNDkwN0Y5M0YwOTA3RjlDNzQzMEYwOTA3Rjk2NzQxMEYwOTA3Rjk0NzQwMUYwOTA3RjlEMDRFMgorOjQwMEQ4NjAwRjA5MDdGOTc3NDIwRjA5MDdGOTU3NDAzRjA5MDdGOUU3NDg0RjBFNDkwN0Y5OEYwOTA3RkM3RjA5MDdGQzlGMDkwN0ZDQkYwNzU5ODQwNDNBODEwOTA3RkRFNzQxRkYwOTA3RkRGNzQwRkYwRDIxNTIyRTQ5MDdGOTVGMDkwN0ZGNworOjQwMERDNjAwOTRGMDkwN0Y5M0YwOTA3RjlERTA0NDAyRjA5MDdGOTdFMDQ0MDJGMDkwN0Y5REUwNTRGREYwOTA3RjlDNzQyMEYwRTQ5MDdGOTZGMDkwN0Y5REUwNDRGREYwRTQ5MDdGOTdGMDkwN0Y5RTc0RkZGMEU0OTA3Rjk4RjAyMjBDMjREMAorOjQwMEUwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEzMDAwMDEzMzAxMDEzMjAwMDEzNzAwMDE1MDAwMDEzNjAwMDEzNDAwQzEwNUMxMENDMTAzQzEwRkMxMDRDMTBFQzExMUMxMEFDMTEwQzEwOEMxMDlDMTA2QzEwMEMxMERDMTgxQzEwOQorOjQwMEU0NjAwODIwMDhGMTNFNEY1MTQ3NTE1RkY3NTE2MEY3NTE3QjlBQjE1QUExNkE5MTc5MDAwMDExMjBEMDZCNDAzMURBRjE0MDUxNEVGQjUxMzAxMjIxMjBDRUQ3RTAwMjlGRkVFM0FBOTA3NzUxNUZGRjUxNjg5MTc4MEQ0N0IwMDdBMDA2RAorOjQwMEU4NjAwNzkwMDIyQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwOTA3RkM0RTRGMDUzOTFFRjkwN0ZBQjc0MDRGMEQwODZEMDg0RDA4NUQwODJEMDgzRDBFMDMyQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwRDIxNDUzOTFDNworOjQwMEVDNjAwRUY5MDdGQUI3NDAxRjBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMjkwN0ZENkUwNTRGQkYwRTA0NDA4RjAzMDE5MDRFMDQ0MDJGMDdGRjQ3RTAxMTIwMDAzOTA3RkQ2RTA1NEY3RjBFMDQ0MDRGMDIyMDAwMjBFQjMwMDAyMEZDMAorOjQwMEYwNjAwMDQwMDAyMEU4OTAwMDIwRjBGQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwRDIxODUzOTFFRjkwN0ZBQjc0MDhGMEQwODZEMDg0RDA4NUQwODJEMDgzRDBFMDMyNzQwMEY1ODY5MEZEQTU3QzA1QTNFNTgyNDU4MzcwRjlCOQorOjQwMEY0NjAwMjI5MDdGRDZFMDQ0ODBGMDQzODcwMTAwMDAwMDAwMDAyMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTIwMTEwMDFGRjAwMDA0MENEMDYwNzAxMDEwMDAxMDIwMDAyMDkwMjQzMDAwMTAxMDA4MDMyMDkwNDAwMDAwN0ZGMDA4QQorOjQwMEY4NjAwMDAwMDA3MDUwMTAyNDAwMDAwMDcwNTAyMDI0MDAwMDAwNzA1MDMwMjQwMDAwMDA3MDU4MTAyNDAwMDAxMDcwNTgyMDI0MDAwMDEwNzA1ODMwMjQwMDAwMTA3MDU4NDAyNDAwMDAxMDQwMzA5MDQxMDAzNEIwMDY1MDA3OTAwNzMzMgorOjE3MEZDNjAwMDA3MDAwNjEwMDZFMDAwRTAzNTMwMDY1MDA3MjAwNjkwMDYxMDA2QzAwMDAwMDY0Cis6MDAwMDAwMDFGRgorCisJVGhlIGZpcm13YXJlIGNvbnRhaW5lZCBoZXJlaW4gaXMKKworCQlDb3B5cmlnaHQgKEMpIDE5OTktMjAwMQorCQlLZXlzcGFuLCBBIGRpdmlzaW9uIG9mIElubm9TeXMgSW5jb3Jwb3JhdGVkICgiS2V5c3BhbiIpCisKKwlhcyBhbiB1bnB1Ymxpc2hlZCB3b3JrLiBUaGlzIG5vdGljZSBkb2VzIG5vdCBpbXBseSB1bnJlc3RyaWN0ZWQgb3IKKwlwdWJsaWMgYWNjZXNzIHRvIHRoZSBzb3VyY2UgY29kZSBmcm9tIHdoaWNoIHRoaXMgZmlybXdhcmUgaW1hZ2UgaXMKKwlkZXJpdmVkLiAgRXhjZXB0IGFzIG5vdGVkIGJlbG93IHRoaXMgZmlybXdhcmUgaW1hZ2UgbWF5IG5vdCBiZQorCXJlcHJvZHVjZWQsIHVzZWQsIHNvbGQgb3IgdHJhbnNmZXJyZWQgdG8gYW55IHRoaXJkIHBhcnR5IHdpdGhvdXQKKwlLZXlzcGFuJ3MgcHJpb3Igd3JpdHRlbiBjb25zZW50LiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKworCVBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQgZm9yIHRoZSBkaXN0cmlidXRpb24gb2YgdGhpcyBmaXJtd2FyZQorCWltYWdlIGFzIHBhcnQgb2YgYSBMaW51eCBvciBvdGhlciBPcGVuIFNvdXJjZSBvcGVyYXRpbmcgc3lzdGVtIGtlcm5lbAorCWluIHRleHQgb3IgYmluYXJ5IGZvcm0gYXMgcmVxdWlyZWQuCisKKwlUaGlzIGZpcm13YXJlIG1heSBub3QgYmUgbW9kaWZpZWQgYW5kIG1heSBvbmx5IGJlIHVzZWQgd2l0aAorCUtleXNwYW4gaGFyZHdhcmUuICBEaXN0cmlidXRpb24gYW5kL29yIE1vZGlmaWNhdGlvbiBvZiB0aGUKKwlrZXlzcGFuLmMgZHJpdmVyIHdoaWNoIGluY2x1ZGVzIHRoaXMgZmlybXdhcmUsIGluIHdob2xlIG9yIGluCisJcGFydCwgcmVxdWlyZXMgdGhlIGluY2x1c2lvbiBvZiB0aGlzIHN0YXRlbWVudC4iCmRpZmYgLS1naXQgYS9maXJtd2FyZS9rZXlzcGFuL3VzYTE5cWkuSEVYIGIvZmlybXdhcmUva2V5c3Bhbi91c2ExOXFpLkhFWApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNTNiZmNmCi0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUva2V5c3Bhbi91c2ExOXFpLkhFWApAQCAtMCwwICsxLDEwMSBAQAorOjAzMDAzMzAwMDIwMDFBQUUKKzowNDAwMUEwMDUzRDhFRjMyOTYKKzoxMDAwMDMwMDhFMTE4RjEyRTUxMjE1MTJBRTExNzAwMjE1MTE0RTYwOEEKKzowNzAwMTMwMDA1MTIwRjg0ODBFRTIyQUMKKzowMzAwMjMwMDAyMDA0NjkyCis6MTAwMDQ2MDBDMEUwQzA4M0MwODJDMDg2NzU4NjAwQzBEMDc1RDAwODY3Cis6MTAwMDU2MDAzMDk5MEUzMDBCMDdBMjBFOTI5Qjg1MzY5OUMyOTlEMjIzCis6MTAwMDY2MDAxMjIwMTIwMzAyMDQxRUMyMTIyMDAzMDMwMjAyNEUyMEIzCis6MTAwMDc2MDAwQjAzMDIwMTI2RTUzQUMzOTU1MzUwM0MyMDBDMzQyMDZECis6MTAwMDg2MDAwOTMxOTA3RjlCRTA1NTM4NzAyOTMwMTAxMkFGM0EwNTQwCis6MTAwMDk2MDAzQTc0NDAyRkY1ODJFNDM0N0VGNTgzRTAxMzkyMEVBRjc2Cis6MTAwMEE2MDAzQTA1M0E3NDQwMkZGNTgyRTQzNDdFRjU4M0UwRjUzNjVFCis6MTAwMEI2MDAwMjA0MUNDMjBCMDIwNDFDOTA3RkM3RTRGMEMyMDMzMDhBCis6MTAwMEM2MDAwRDBDQzIwRDkwN0ZCQjA0RjBDMjBCMDIwNDFDOTA3Rjg2Cis6MTAwMEQ2MDBDOEUwMzBFMTA1QzIwQjAyMDQxQzkwN0ZDOUUwRjU1MzZECis6MTAwMEU2MDA5MDdEQzBFMDEzOTIwRDc1MTZGRjIwMEMyQjIwMDkyODc5Cis6MTAwMEY2MDA5MDdGOUJFMDU1Mzg3MDIwMzAxMDExOTA3REMxRTAxMzQxCis6MDMwMDQzMDAwMjBFMDBBQQorOjAzMDAwMDAwMDIwMDI2RDUKKzowQzAwMjYwMDc4N0ZFNEY2RDhGRDc1ODE1NDAyMEIyOEE5Cis6NDAwMTA2MDA5MjBFQTNFMEY1MzY3NTNBMDMwMjA0MUM3NTNBMDI5MDdEQzFFMEY1MzYwMjA0MUM3NTNBMDFDMjBCMDIwNDFDRTUzQUMzOTU1MzUwMDMwMjAxQzk5MDdGQzZFMDMwRTEwN0MyMTRDMjA1MDIwNDFDOTA3RkM3RTBGNTUzOTA3RUNCCis6NDAwMTQ2MDA0MEUwMTM5MjBENzUxNkZGMjAwQzcwMjAwOTZEOTA3RjlCRTA1NTM4NzA2NTMwMTAxMDkwN0U0MUUwMTM5MjlCQTNFMEY1OTk3NTNBMDM4MDA5OTA3RTQxRTBGNTk5NzUzQTAyRTUzQUMzOTU1MzQwMTc5MDdGQzdFNEYwQzIwM0Y2Cis6NDAwMTg2MDAyMDBEMDMwMjA0MUNDMjBEOTA3RkJCMDRGMDAyMDQxQzMwMTAxMkFGM0EwNTNBNzQ0MDJGRjU4MkU0MzQ3RUY1ODNFMDEzOTIwRUFGM0EwNTNBNzQ0MDJGRjU4MkU0MzQ3RUY1ODNFMEY1MzZEMjBCMDIwNDFDNzUzQTAxQzIxNEEzCis6NDAwMUM2MDAwMjA0MUMzMDBDMDMwMjAyNDkyMDA5Nzc5MDdGOUJFMDU1Mzg3MDZGMzAxMDEyQUYzQTA1M0E3NDQwMkZGNTgyRTQzNDdFRjU4M0UwMTM5MjlCQUYzQTA1M0E3NDQwMkZGNTgyRTQzNDdFRjU4M0UwRjU5OUU1M0FDMzk1NTM0MEFCCis6NDAwMjA2MDAxNzkwN0ZDN0U0RjBDMjAzMjAwRDAzMDIwNDFDQzIwRDkwN0ZCQjA0RjAwMjA0MUMzMDEwMTJBRjNBMDUzQTc0NDAyRkY1ODJFNDM0N0VGNTgzRTAxMzkyMEVBRjNBMDUzQTc0NDAyRkY1ODJFNDM0N0VGNTgzRTBGNTM2RDIwQjQ0Cis6NDAwMjQ2MDAwMjA0MUNDMjE0MDIwNDFDMjAwQjAzMDIwMkZGRTUzQUMzOTU1MzUwM0MyMDBDMzQyMDA5MzE5MDdGOUJFMDU1Mzg3MDI5MzAxMDEyQUYzQTA1M0E3NEMwMkZGNTgyRTQzNDdERjU4M0UwMTM5MjBFQUYzQTA1M0E3NEMwMkZGNUY5Cis6NDAwMjg2MDA4MkU0MzQ3REY1ODNFMEY1MzYwMjA0MUNDMjBCMDIwNDFDOTA3RkM5RTRGMEQyMDMzMDBEMENDMjBEOTA3RkJCMDRGMEMyMEIwMjA0MUM5MDdGQzZFMDMwRTEwNUMyMEIwMjA0MUM5MDdGQzdFMEY1NTM5MDdFNDBFMDEzOTIwREFGCis6NDAwMkM2MDA3NTE2RkYyMDBDMkIyMDA5Mjg5MDdGOUJFMDU1Mzg3MDIwMzAxMDExOTA3RTQxRTAxMzkyMEVBM0UwRjUzNjc1M0EwMzAyMDQxQzc1M0EwMjkwN0U0MUUwRjUzNjAyMDQxQzc1M0EwMUMyMEIwMjA0MUNFNTNBQzM5NTUzNTAwMzgxCis6NDAwMzA2MDAwMjAzQTI5MDdGQzhFMDMwRTEwN0MyMTRDMjA1MDIwNDFDOTA3RkM5RTBGNTUzOTA3REMwRTAxMzkyMEQ3NTE2RkYyMDBDNzAyMDA5NkQ5MDdGOUJFMDU1Mzg3MDY1MzAxMDEwOTA3REMxRTAxMzkyOUJBM0UwRjU5OTc1M0EwMzdBCis6NDAwMzQ2MDA4MDA5OTA3REMxRTBGNTk5NzUzQTAyRTUzQUMzOTU1MzQwMTc5MDdGQzlFNEYwRDIwMzIwMEQwMzAyMDQxQ0MyMEQ5MDdGQkIwNEYwMDIwNDFDMzAxMDEyQUYzQTA1M0E3NEMwMkZGNTgyRTQzNDdERjU4M0UwMTM5MjBFQUYzQTgxCis6NDAwMzg2MDAwNTNBNzRDMDJGRjU4MkU0MzQ3REY1ODNFMEY1MzZEMjBCMDIwNDFDNzUzQTAxQzIxNDAyMDQxQzIwMEM3NTIwMDk3MjkwN0Y5QkUwNTUzODcwNkEzMDEwMTJBRjNBMDUzQTc0QzAyRkY1ODJFNDM0N0RGNTgzRTAxMzkyOUJBRjAyCis6NDAwM0M2MDAzQTA1M0E3NEMwMkZGNTgyRTQzNDdERjU4M0UwRjU5OUU1M0FDMzk1NTM0MDEzOTA3RkM5RTRGMEQyMDMzMDBEMzVDMjBEOTA3RkJCMDRGMDgwMkMzMDEwMTJBRjNBMDUzQTc0QzAyRkY1ODJFNDM0N0RGNTgzRTAxMzkyMEVBRjNECis6NDAwNDA2MDAzQTA1M0E3NEMwMkZGNTgyRTQzNDdERjU4M0UwRjUzNkQyMEI4MDAyQzIxNEQyMDEyMDk4MDMwMjA1NUFDMjk4MjAwMjAzMDIwNEM3MjAxNjI3QUYzOTA1Mzk3NDgwMkZGNTgyRTQzNDdFRjU4M0U1OTlGMDMwMTA0REFGMzkwNUM4Cis6NDAwNDQ2MDAzOTc0ODAyRkY1ODJFNDM0N0VGNTgzRTU5OEYwODAzQTg1OTkxMEU1MTBCNTQ3MDREMjA5ODAyRUU1MTBCNTQ2MDRDMjA5ODAyNUFGMzkwNTM5NzQ4MDJGRjU4MkU0MzQ3RUY1ODNFNTEwRjAzMDEwMTFBRjM5MDUzOTc0ODAyRjExCis6NDAwNDg2MDBGNTgyRTQzNDdFRjU4M0U1OThGMEQyMEZFNTM5QzM5NTQzNTAwMzAyMDU1ODkwN0ZCOEUwMzBFMTE2RTUzOUMzOTQ0MDUwMDMwMjA1NTgxNTM5MTUzOTA1MkI0MzM0MDEwMjA1NTg5MDdGQjdFNTM5RjA3NTM5MDBDMjAyMDIwNUQzCis6NDAwNEM2MDA1ODIwMTYyN0FGMzkwNTM5NzQwMDJGRjU4MkU0MzQ3RUY1ODNFNTk5RjAzMDEwNERBRjM5MDUzOTc0MDAyRkY1ODJFNDM0N0VGNTgzRTU5OEYwODAzQTg1OTkxMEU1MTBCNTQ3MDREMjA5ODAyRUU1MTBCNTQ2MDRDMjA5ODAyNTczCis6NDAwNTA2MDBBRjM5MDUzOTc0MDAyRkY1ODJFNDM0N0VGNTgzRTUxMEYwMzAxMDExQUYzOTA1Mzk3NDAwMkZGNTgyRTQzNDdFRjU4M0U1OThGMEQyMEZFNTM5QzM5NTQzNDAyNDkwN0ZCNkUwMzBFMTEyRTUzOUMzOTQ0MDQwMTYxNTM5MTUzOTA5Cis6NDAwNTQ2MDAwNTJCNDMzNDAxODAwQjkwN0ZCOUU1MzlGMDc1MzkwMEQyMDJEMjAxMzAwMTA1QzIwMTAyMDA1NkQwRDBEMDg2RDA4MkQwODNEMEUwMzI5MDdGQkNFMDIwRTE1MUU1MzQ2MDRERTUzMTcwNDlFNTM0MzBFMTA4RTRGNTJGNzUzNEQ0Cis6NDAwNTg2MDAwMTgwMEJBMjA4RTQzM0Y1MkZDMjA4RTRGNTM0RTRGNTExN0UwMDdCMDA3NDI0MjUxMUY5RUUzNDAwRkExMjBEMDZGRjc0MDAyNTExRjU4MkU0MzQ3REY1ODNFRkYwMDUxMUU1MTFCNDBDREI5MDdGQkQ3NDBDRjA3NTMxMTA5MENECis6NDAwNUM2MDA3RkNBRTAzMEUxMDMwMjA2RjNFNEY1MTE3NDQwMjUxMUY1ODJFNDM0N0RGNTgzRTBGRkU1MTE3QzAwN0IwMDI0M0JGOUVDMzQwMEZBRUYxMjBEMUYwNTExRTUxMUI0MThEQkU1M0I2MDExNzVDOTIwNzVDODM2ODUzQ0NBODUzRDk4Cis6NDAwNjA2MDBDQkU0OTA3RjlGRjBFNTNFMTM5MjEwOTI5Rjg1M0YzOEU1NDAxMzkyMTZFNTQxNjAwOTkwN0Y5OEUwNTRGQkYwODAwNzkwN0Y5OEUwNDQwNEYwRTU0MjYwMDk5MDdGOThFMDU0N0ZGMDgwMDc5MDdGOThFMDQ0ODBGMEU1NDg2MEJFCis6NDAwNjQ2MDAwQkMyMENDMjA5OTA3Rjk1RTA0NDAyRjBFNTQ5NjAwQ0QyMDk0MzM0MDE5MDdGOTVFMDQ0MDJGMEU1NEE2MDBEQzJBRkMyMEJEMjAwRTRGNTUzRjUzQUQyQUZFNTRCNjAwNTMwMTYwMkQyMDlFNTRDNjAxNTkwN0Y5NUUwNTRGREI0Cis6NDAwNjg2MDBGMDkwN0Y5RUUwNDQwMkYwOTA3Rjk4RTA1NEZERjBFNTRENjAwQUQyOUNDMjk4NzUyQzAxNzUzMTFFRTU0RTYwMDdDMjlDRTRGNTM5RjUyQ0U1NEY2MDAzRTRGNTM5RTU1MDYwMDJEMjA3RTU1MTYwMEFFNTRENzAwMkY1MzFFNTVDCis6NDAwNkM2MDA1MTQyMzRFNTUyNjAxRjkwN0ZENzc0MTFGMDc0MzFGMDc0MTJGMDc0MzJGMDc0MTNGMDc0MzNGMDc0MTRGMDc0MzRGMEQyMDNEMjAyRDIwOEU0OTA3RkNCRjBBMjBDRTQzM0ZGNjUyOTYwMDU4RjI5NDMzNDAxQTIwOUU0MzNGRjg0Cis6NDAwNzA2MDA2NTJBNjAwNThGMkE0MzM0MDE5MDdGOUJFMEZGNTQwODY0MDhGRTY1MjU2MDA1OEUyNTQzMzQwMUVGNTQxMDY0MTBGRTY1MjY2MDA1OEUyNjQzMzQwMUVGNTQ0MDY0NDBGRTY1Mjc2MDA1OEUyNzQzMzQwMUVGNTQyMDY0MjBGRTFDCis6NDAwNzQ2MDA2NTI4NjAwNThFMjg0MzM0MDE5MDdGOUFFMDU0NDA2NDQwRkU2NTJFNjAwNThFMkU0MzM0MDEzMDA3MzVDMkFGMzAwMjE4OTA3RkI4RTAyMEUxMjdFNTM5NjAwOTkwN0ZCN0YwRTRGNTM5QzIwMkMyMDc4MDE2OTA3RkI2RTAyMDNCCis6NDAwNzg2MDBFMTBGRTUzOTYwMDk5MDdGQjlGMEU0RjUzOUQyMDJDMjA3RDJBRjIwMDUzRDMwMDMxRTkwN0ZDNkUwMjBFMTMzOTA3RTQwRTAxMzkyMEQ3NTNBMDE5MDdGQzdFMEY1NTNEMjA1NzUxNkZGODAxQzkwN0ZDOEUwMjBFMTE1OTA3REQzCis6NDAwN0M2MDBDMEUwMTM5MjBENzUzQTAxOTA3RkM5RTBGNTUzRDIwNTc1MTZGRjIwMTQzMzIwMDAwNkU1M0E2NTUzNzAyQTMwMDUxQTMwMDMwOUU0OTA3RkM3RjBDMjAzODAwN0U0OTA3RkM5RjBEMjAzQzIwNUU0RjU1M0Y1M0EzMDBEMEFDMjY1Cis6NDAwODA2MDAwREMyMDA5MDdGQkI3NDAxRjAzMDE0MDMwMjA5MTQyMDA1MDMwMjA5MTQzMDBDMDMwMjA5MTQzMDA5MDMwMjA5MTQ5MDdGOUJFMDU1Mzg2MDAzMDIwOTE0MzAwMzYxMzAxMDEyQUYzQTA1M0E3NDQwMkZGNTgyRTQzNDdFRjU4MzNGCis6NDAwODQ2MDBFMDEzOTIxQkFGM0EwNTNBNzQ0MDJGRjU4MkU0MzQ3RUY1ODNFMEZFRTUzQUMzOTU1MzUwMkEzMDEwMTJBRjNBMDUzQTc0NDAyRkY1ODJFNDM0N0VGNTgzRTAxMzkyMEVBRjNBMDUzQTc0NDAyRkY1ODJFNDM0N0VGNTgzRTBGNTQ2Cis6NDAwODg2MDAzNkQyMEI4MDZBQzIwQkU0OTA3RkM3RjBDMjAzODA1RjMwMTAxMkFGM0EwNTNBNzRDMDJGRjU4MkU0MzQ3REY1ODNFMDEzOTIxQkFGM0EwNTNBNzRDMDJGRjU4MkU0MzQ3REY1ODNFMEZFRTUzQUMzOTU1MzUwMkEzMDEwMTJBRkU3Cis6NDAwOEM2MDAzQTA1M0E3NEMwMkZGNTgyRTQzNDdERjU4M0UwMTM5MjBFQUYzQTA1M0E3NEMwMkZGNTgyRTQzNDdERjU4M0UwRjUzNkQyMEI4MDA5QzIwQkU0OTA3RkM5RjBEMjAzMzAxMDA0QTIxQjkyOUJEMjE0QzJBRjhFOTkyMDBCMEQzMDFECis6NDAwOTA2MDAwRDBBQzIwREMyMDA5MDdGQkI3NDAxRjBEMkFGMjI5MDdGRTlFMDEyMEQzMTBBMTEwMDBBN0UwMTBBREIwMzA5MzgwNjBBMDIwODA5RjYwOTA5REUwQTA5RUQwQjAwMDAwQjE5OTA3RkVCRTAyNEZFNjAxOTE0NjA1QTI0MDI2MDQxCis6NDAwOTQ2MDAwMzAyMEIxOTc0MEQ5MDdGRDRGMDc0ODc5MDdGRDVGMDAyMEIyMDkwN0ZFQUUwNzAwNDdGMDI4MDAyN0YwMzc1ODJEODc1ODMwREVGRjA3NTgyRDE3NTgzMERGMDc1ODJDQTc1ODMwREYwNzU4MkMzNzU4MzBERjA5MDdGRUFFMDc4Cis6NDAwOTg2MDAwNDc1ODI5RTc1ODMwREYwNzQwRDkwN0ZENEYwNzQ5OTkwN0ZENUYwMDIwQjIwOTA3RkVBRTA3MDBCNzUxMUZGNzUxMjBENzUxM0RDODAxQjkwN0ZFQUUwQjQwMTBCNzUxMUZGNzUxMjBENzUxM0UwODAwOTc1MTFGRjc1MTIwRDE5Cis6NDAwOUM2MDA3NTEzRjBBQTEyQTkxM0FFMDJFRTkwN0ZENEYwQUYwMUVGOTA3RkQ1RjAwMjBCMjA5MDdGMDBFNTE1RjA5MDdGQjU3NDAxRjAwMjBCMjA5MDdGRUFFMEY1MTUwMjBCMjAxMjBDQjE5MDdGRUFFMEY1MTQwMjBCMjA5MDdGMDBFNUJGCis6NDAwQTA2MDAxNEYwOTA3RkI1NzQwMUYwMDIwQjIwOTA3RkU4RTAyNDdGNjAyNzE0NjAzNDI0MDI2MDAzMDIwQjE5QTIxN0U0MzNGRjI1RTBGRkEyMTlFNDMzNEY5MDdGMDBGMEU0QTNGMDkwN0ZCNTc0MDJGMDAyMEIyMEU0OTA3RjAwRjBBM0I3Cis6NDAwQTQ2MDBGMDkwN0ZCNTc0MDJGMDAyMEIyMDkwN0ZFQ0UwRjQ1NDgwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyRTQzNDdGRjU4M0UwNTRGRDkwN0YwMEYwRTRBM0YwOTA3RkI1NzQwMkYwMDIwQjIwOTA3RkU4RTAyNEZFNjAxNzI2Cis6NDAwQTg2MDAyNDAyNjAwMzAyMEIyMDkwN0ZFQUUwNjQwMTYwMDMwMjBCMTlDMjE3MDIwQjIwOTA3RkVBRTA3MDc2OTA3RkVDRTBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTgzRTRGMDkwN0ZFQ0UwNTQ4MEQ2Cis6NDAwQUM2MDBGRjEzMTMxMzU0MUZGRkUwNTQwNzJGOTA3RkQ3RjBFMDQ0MjBGMDgwNDU5MDdGRThFMDI0RkU2MDEwMjQwMjcwMzk5MDdGRUFFMDY0MDE3MDJBRDIxNzgwMkQ5MDdGRUFFMDcwMjA5MDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU2Cis6NDAwQjA2MDA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTgzNzQwMUYwODAwNzkwN0ZCNEUwNDQwMUYwOTA3RkI0RTA0NDAyRjAyMkMyMTBFNEY1MTRGNTM0QzIwOUMyMENDMjBCQzIxNEMyMERDMjE2QzIxMUMyMDdDMjEyQzIwRkMyMDhGNTM4Cis6NDAwQjQ2MDAzNUY1MzlGNTUzRjUzQUY1MzNGNTMwRjUyRkY1MkVGNTJERjUyQ0Y1MkJGNTJBRjUyOUY1MjhGNTI3RjUyNkY1MjVGNTI0QzIwNUMyMThDMjFBQzIxN0MyMTlDMjE1QzIwNEQyMTNDMjA2QzIwMTkwN0Y5MkUwNTRGREYwRDJFODIwCis6NDAwQjg2MDA0M0Q4MjA5MDdGREU3NDAxRjA5MDdGREZGMDkwN0ZBQjc0RkZGMDkwN0ZBOUYwOTA3RkFBRjA1MzkxRUY5MDdGQUZFMDQ0MDFGMDkwN0ZBRUUwNDQwRkYwOTA3RkFDNzQwRUYwRDJBRkQyQkNEMjFCMTIwRjVGQzIxODMwMDQwMzE2Cis6NDAwQkM2MDAxMjA1NkQzMDA0MkEzMDA2MjdDMjA2RTUxNjYwMTYxNTE2OTA3RkQ4RTAzMEU2MDQ3RjAwODAwMjdGMjA5MDdGOTZFRkYwODAwNjkwN0Y5Njc0MjBGMDEyMEMwQjgwQ0QzMDE4MDdDMjE4MTIwOTE1ODBDMzMwMUFDMEMyMUExMjhFCis6NDAwQzA2MDAwRkJCODBCOTIyRTUzMTYwMDIxNTMxRTUzOTYwNTU2NTM1NzA0QkU1MzNGNDYwMDIwNTMzRTUzM0MzOTU0NDQwNDNDMkFGMzAwMjFCOTA3RkI4RTAyMEUxMkQ5MDdGQjdFNTM5RjBDMjAyRTRGNTM5RjUzM0Y1MzU3NTE2RkY4MDJECis6NDAwQzQ2MDAxOTkwN0ZCNkUwMjBFMTEyOTA3RkI5RTUzOUYwRDIwMkU0RjUzOUY1MzNGNTM1NzUxNkZGRDJBRjgwMDY4NTM5MzVFNEY1MzNFNTJDNjAzMDIwMEYwNzkwN0Y5QkUwMzBFMDBGRTUyRDYwMDZFNEY1MkQ0MzM0MDFFNEY1MzA4MDAwCis6NDAwQzg2MDAxNEU1MzBEMzk1NDU1MDBERTUzMEI1NDUwNjc1MkQwMTQzMzQwMTA1MzBDMjBGMjI5MDdGRDlFMDMwRTIwNDdGMDA4MDAyN0YyMDkwN0Y5NkVGRjAyMkU0OTA3RjkzRjA5MDdGOUM3NDMwRjA5MDdGOTY3NDIwRjA5MDdGOTQ3NDhBCis6NDAwQ0M2MDAwMUYwOTA3RjlENzRCRkYwOTA3Rjk3NzQ4NkYwOTA3Rjk1NzQwM0YwOTA3RjlFNzQ4NEYwOTA3Rjk4RjBFNDkwN0ZDN0YwOTA3RkM5RjA5MDdGQ0JGMDc1OTg0MDQzQTgxMDkwN0ZERTc0MUZGMDkwN0ZERjc0MEZGMEQyMDQyMjFBCis6NDAwRDA2MDBCQjAxMDY4OTgyOEE4M0UwMjI1MDAyRTcyMkJCRkUwMkUzMjI4OTgyOEE4M0U0OTMyMkJCMDEwNjg5ODI4QTgzRjAyMjUwMDJGNzIyQkJGRTAxRjMyMkQwODNEMDgyRjhFNDkzNzAxMjc0MDE5MzcwMERBM0EzOTNGODc0MDE5M0VCCis6NDAwRDQ2MDBGNTgyODg4M0U0NzM3NDAyOTM2ODYwRUZBM0EzQTM4MERGQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwOTA3RkM0RTRGMDUzOTFFRjkwN0ZBQjc0MDRGMEQwODZEMDg0RDA4NUQwODJEMDgzRDBFMDMyMDAwMDAwMDAwMDdCCis6NDAwRDg2MDAwMDEyMDExMDAxRkYwMDAwNDBDRDA2MEMwMTAxMDAwMTAyMDAwMjA5MDI0MzAwMDEwMTAwODAzMjA5MDQwMDAwMDdGRjAwMDAwMDA3MDUwMTAyNDAwMDAwMDcwNTAyMDI0MDAwMDAwNzA1MDMwMjQwMDAwMDA3MDU4MTAyNDAwMDEwCis6NDAwREM2MDAwMTA3MDU4MjAyNDAwMDAxMDcwNTgzMDI0MDAwMDEwNzA1ODQwMjQwMDAwMTA0MDMwOTA0MTAwMzRCMDA2NTAwNzkwMDczMDA3MDAwNjEwMDZFMDAwRTAzNTMwMDY1MDA3MjAwNjkwMDYxMDA2QzAwMDAwMDAyMEVBMjAwMDIwRTQxCis6NDAwRTA2MDA3QjAwMDIwRDU3MDAwMjBFQzkwMDAyMEUxMDAwMDIwRTE0MDAwMjBFMTgwMDAyMEUxQzAwMDIwRUYwMDAwMjBFMjQwMDAyMEYxNTAwMDIwRTJDMDAwMjBGM0FFNDkwN0Y5NUYwOTA3Rjk0RjA5MDdGOTNGMDkwN0Y5REUwNDQwMjBBCis6NDAwRTQ2MDBGMDkwN0Y5N0UwNDQwMkYwOTA3RjlDNzQxMEYwRTQ5MDdGOTZGMDkwN0Y5RDc0RkVGMDMwMTcwNDdGODA4MDAyN0YwMDkwN0Y5N0VGRjBFNDkwN0Y5NUYwOTA3RjlFRjA5MDdGOThGMDIyQzBFMEMwODNDMDgyQzA4NUMwODRDMDBFCis6NDAwRTg2MDA4Njc1ODYwMDUzOTFFRjkwN0ZBQjc0MDJGMEQyMDZEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMkMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMEQyMTg1MzkxRUY5MDdGQUI3NDAxRjBEMDg2RDA4NEQwODVEMDgyRDA4M0VCCis6NDAwRUM2MDBEMEUwMzJDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDBEMjFBNTM5MUVGOTA3RkFCNzQwOEYwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzJDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDA1MzkxRUY5MDdGQTk3NEMyCis6NDAwRjA2MDAwMkYwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzJDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDA1MzkxRUY5MDdGQTk3NDA0RjBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMkMwRTBDMDgzQzA4MkMwODVDMDg0QzA4NkQ3Cis6NDAwRjQ2MDA3NTg2MDA1MzkxRUY5MDdGQTk3NDA4RjBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMjkwN0ZENkUwNTRGQkYwRTA0NDA4RjAzMDFCMDRFMDQ0MDJGMDdGRjQ3RTAxMTIwMDAzOTA3RkQ2RTA1NEY3RjBFMDQ0MDRGMDIyNzQwMEI5Cis6NDAwRjg2MDBGNTg2OTBGREE1N0MwNUEzRTU4MjQ1ODM3MEY5MjI5MDdGRDZFMDQ0ODBGMDQzODcwMTAwMDAwMDAwMDAyMjkwN0ZENkUwNDQwMUYwN0YwRDdFMDAxMjAwMDM5MDdGRDZFMDU0RkVGMDIyMTIwRTMzMTIwRjk1OTA3RkQ2RTAzMEZBCis6MDkwRkM2MDBFNzAzMTIwRkE1MTIwQ0IxMjI4MQorOjAwMDAwMDAxRkYKKworCVRoZSBmaXJtd2FyZSBjb250YWluZWQgaGVyZWluIGlzCisKKwkJQ29weXJpZ2h0IChDKSAxOTk5LTIwMDEKKwkJS2V5c3BhbiwgQSBkaXZpc2lvbiBvZiBJbm5vU3lzIEluY29ycG9yYXRlZCAoIktleXNwYW4iKQorCisJYXMgYW4gdW5wdWJsaXNoZWQgd29yay4gVGhpcyBub3RpY2UgZG9lcyBub3QgaW1wbHkgdW5yZXN0cmljdGVkIG9yCisJcHVibGljIGFjY2VzcyB0byB0aGUgc291cmNlIGNvZGUgZnJvbSB3aGljaCB0aGlzIGZpcm13YXJlIGltYWdlIGlzCisJZGVyaXZlZC4gIEV4Y2VwdCBhcyBub3RlZCBiZWxvdyB0aGlzIGZpcm13YXJlIGltYWdlIG1heSBub3QgYmUKKwlyZXByb2R1Y2VkLCB1c2VkLCBzb2xkIG9yIHRyYW5zZmVycmVkIHRvIGFueSB0aGlyZCBwYXJ0eSB3aXRob3V0CisJS2V5c3BhbidzIHByaW9yIHdyaXR0ZW4gY29uc2VudC4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisKKwlQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkIGZvciB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmlybXdhcmUKKwlpbWFnZSBhcyBwYXJ0IG9mIGEgTGludXggb3Igb3RoZXIgT3BlbiBTb3VyY2Ugb3BlcmF0aW5nIHN5c3RlbSBrZXJuZWwKKwlpbiB0ZXh0IG9yIGJpbmFyeSBmb3JtIGFzIHJlcXVpcmVkLgorCisJVGhpcyBmaXJtd2FyZSBtYXkgbm90IGJlIG1vZGlmaWVkIGFuZCBtYXkgb25seSBiZSB1c2VkIHdpdGgKKwlLZXlzcGFuIGhhcmR3YXJlLiAgRGlzdHJpYnV0aW9uIGFuZC9vciBNb2RpZmljYXRpb24gb2YgdGhlCisJa2V5c3Bhbi5jIGRyaXZlciB3aGljaCBpbmNsdWRlcyB0aGlzIGZpcm13YXJlLCBpbiB3aG9sZSBvciBpbgorCXBhcnQsIHJlcXVpcmVzIHRoZSBpbmNsdXNpb24gb2YgdGhpcyBzdGF0ZW1lbnQuIgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUva2V5c3Bhbi91c2ExOXF3LkhFWCBiL2Zpcm13YXJlL2tleXNwYW4vdXNhMTlxdy5IRVgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGE4OTEwMjMKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9rZXlzcGFuL3VzYTE5cXcuSEVYCkBAIC0wLDAgKzEsMTQyIEBACis6MDMwMDMzMDAwMjAwMkQ5QgorOjA0MDAyRDAwNTNEOEVGMzI4MworOjEwMDA0NjAwMzAxMDE5MTIwRTBGRUZDMzk1MTQ0MDAzMDIwMERGOTAxMworOjEwMDA1NjAwN0ZCRjc0MDFGMEMyMTBDMjBCMDIwMERGMzAwRDNFOTA2QworOjEwMDA2NjAwN0ZDNkUwMjBFMTczMTIwRTBGRUZDMzk0NDA1MDZBOTBGMgorOjEwMDA3NjAwN0U0MEUwMTM5MjEwOTA3RkM3RTAxNEY1MzYyMDBCMTFGNgorOjEwMDA4NjAwNjAwRkY1MjQ3RTdFN0Y0MTc1Mjk3RTc1MkE0MTEyMDkwRgorOjEwMDA5NjAwMTBDMjBERTQ5MDdGQzdGMDc1MjZGRjgwM0M5MDdGQzhBNAorOjEwMDBBNjAwRTAyMEUxMzUxMjBFMEZFRkMzOTQ0MDUwMkM5MDdEQzAzNgorOjEwMDBCNjAwRTAxMzkyMTA5MDdGQzlFMDE0RjUzNjIwMEIxMTYwMEYwMworOjEwMDBDNjAwRjUyNDdFN0Q3RkMxNzUyOTdENzUyQUMxMTIwOTEwRDI1RQorOjEwMDBENjAwMERFNDkwN0ZDOUYwNzUyNkZGOTA3RkI2RTAzMEUxMDMwRQorOjEwMDBFNjAwMDIwMTY4MTIwQ0ZGOEYzNjEyMEUxQjhGMTFFNTM2QzMwNAorOjEwMDBGNjAwOTUxMzUwMEYxMjBEREVFRjMwRTAwOEU1MTEyMEU3MDNFRgorOjBDMDAzNjAwOTA3Rjk4NzQxMEYwOTBDMDAwRTBGRjIyNTIKKzowMzAwNDMwMDAyMEUwMEFBCis6MTAwMDAzMDBDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDA5MDZFCis6MTAwMDEzMDA3RkM0RTRGMDUzOTFFRjkwN0ZBQjc0MDRGMEQwODZEMEFCCis6MEEwMDIzMDA4NEQwODVEMDgyRDA4M0QwRTAzMjczCis6MDMwMDAwMDAwMjA5QzUyRAorOjQwMDEwNjAwMzAxMzVGQzIxM0U1MzY2MDU5QjQ4MDAzNDMxMTAyRTUxMTMwRTcyNEU1MzZEMzk0MjA0MDAzNzUzNjIwODUzNjI0N0U3RTdGODA3NTI5N0U3NTJBODAxMjBCOUFFNTM2MjVFMDkwN0ZCN0YwODAyQUU1MzZEMzk0M0Y0MDAzNzUzQgorOjQwMDE0NjAwMzYzRjg1MzYyNDkwN0U4MEU1MTFGMDdFN0U3RjgxNzUyOTdFNzUyQTgxMTIwOTM1RTUzNjA0OTA3RkI3RjA3NTI2RkY5MDdGQ0VFMDMwRTEwNjIwMEUwMzAyMDNDNEU0RjUzNTc0NDAyNTM1RjU4MkU0MzQ3Q0Y1ODNFMEZGRTU4OQorOjQwMDE4NjAwMzU3QzAwN0IwMTdBN0U3OTAwMjQwMEY5RUMzNDdFRkFFRjEyMEE5NzA1MzVFNTM1QjQyMEQ3OTA3RTAwRTA2MDZFN0YwMTkwN0UxMUUwRkQxMjBDREE5MDdFMDFFMEZGMTIwQzFDOTA3RTAyRTBGRjEyMEM0MkQyMTFEMjEyNzU2MgorOjQwMDFDNjAwMzYwNDkwN0UwM0UwNjAwNUMyMTI0MzM2QzA5MDdFMDRFMEI0MDEwN0MyMTI0MzM2MEI4MDEwOTA3RTA0RTA2MDA3QzIxMTQzMzYwOTgwMDM0MzM2MDI3RjAzQUQzNjEyMENEQTQzMUE4MDkwN0Y5ODc0MTRGMDkwQzAwMEU1MUE3MgorOjQwMDIwNjAwRjA5MDdGOTg3NDEyRjBFNTE3NDQwNjkwQzAwMEYwOTA3RTA1RTA2MDEyQTNFMDU0M0ZGNTE5OTA3Rjk4NzQxM0YwOTBDMDAwRTUxOUYwOTA3RTA3RTA2MDQyOTA3RTEzRTA2MDA1NDMxNjA0ODAwMzUzMTZGQkU0RkZBRDE2MTI0NworOjQwMDI0NjAwMENEQTkwN0UwOEUwNjAwNTQzMTg4MDgwMDM1MzE4N0Y1MzE4RkM5MDdFMDlFMDYwMTE0MzE4MDJBM0UwRkYxMjBDOEU5MDdFMEJFMEZGMTIwQ0I0QUYxODEyMEM2ODkwN0UwRUUwNjAxOEEzRTA2MDA1NDMxQTAxODAwMzUzMUFENAorOjQwMDI4NjAwRkU5MDdGOTg3NDE0RjA5MEMwMDBFNTFBRjA5MDdFMENFMDYwMThBM0UwNjAwNTQzMUEwMjgwMDM1MzFBRkQ5MDdGOTg3NDE0RjA5MEMwMDBFNTFBRjA5MDdFMTJFMEY1MTNBM0UwMTM5MjE0QTNFMEY1MTRBM0UwNjAwNTQzMUFDMworOjQwMDJDNjAwMTA4MDAzNTMxQUVGOTA3Rjk4NzQxNEYwOTBDMDAwRTUxQUYwOTA3RTE2RTA2MDMyNTMxOUJGOTA3Rjk4NzQxM0YwRTUxOTU0N0Y5MEMwMDBGMDkwN0Y5ODc0MTFGMDEyMEREMkVGNTRGRTkwQzAwMEYwNTMxNkZERTRGRkFEMTYyMQorOjQwMDMwNjAwMTIwQ0RBRTRGNTBFRjUwREQyMEY5MDdFMTdFMDYwMEY0MzE2MDJFNEZGQUQxNjEyMENEQTc1MEQwMUQyMEY5MDdFMThFMDYwMTA5MDdGOTg3NDEyRjBFNTE3NDQwNDkwQzAwMEYwRDIwQjkwN0UxOUUwNjAxMTQzMTk0MDkwN0YwRAorOjQwMDM0NjAwOTg3NDEzRjBFNTE5NTQ3RjkwQzAwMEYwOTA3RTFBRTA2MDBGNTMxNkZFRTRGRkFEMTYxMjBDREE3NTBGMDFEMjBGOTA3RTFCRTA2MDBGNDMxNjAxRTRGRkFEMTYxMjBDREFFNEY1MEZEMjBGOTA3RTFDRTA2MDBFOTA3Rjk4NzRBOQorOjQwMDM4NjAwMTJGMEU1MTc0NDAyOTBDMDAwRjA5MDdFMURFMDYwMDJEMjEzOTA3RTFFRTA2MDA4NzUxMDAxRTRGNTEyRDIwRjkwN0UxRkUwNjAxMTkwN0ZENzc0MTFGMDc0MzFGMDc0MTVGMDc0MzVGMEQyMERDMjBFRTQ5MDdGQ0ZGMDMwMTY3NAorOjQwMDNDNjAwNzFFNTEyNjAwMjE1MTJFNTMwRDM5NDAwNDAwNDE1MzA4MDYwNzUzMDBBMTIwREQyRUY1NDAxRjUzNjY1MEU2MDA3ODUzNjBFRDIwRjgwMTExMjBFMjdFRjU0MTBGNTM2NjUwOTYwMDU4NTM2MDlEMjBGMTIwRTI3RUY1NDgwRjVDMQorOjQwMDQwNjAwMzY2NTBBNjAwNTg1MzYwQUQyMEYxMjBFMjdFRjU0MjBGNTM2NjUwQjYwMDg4NTM2MEIzMDExMDJEMjBGMTIwRTI3RUY1NDQwRjUzNjY1MEM2MDA4ODUzNjBDMzAxMjAyRDIwRjMwMTYyQTkwN0ZEMkUwMjBFMTIzOTA3QjQwRTAzNQorOjQwMDQ0NjAwNjAwOUUwRjUzMjkwN0I0MkUwRjUzMzkwN0I0MUUwNjAwOTkwN0ZENzc0MTdGMDc0MzdGMEU0OTA3RkQzRjA5MDdGQzJFMDMwRTEwMzAyMDUyOUU1Mjc3MDQwMzAwRjM5RTUxMjcwMzVDMjBGRjUzNTdFMDA3QjAwNzQwODI1MzVEQgorOjQwMDQ4NjAwRjlFRTM0MDBGQTEyMEE1MUZGNzQ4MDI1MzVGNTgyRTQzNDdCRjU4M0VGRjAwNTM1RTUzNUI0MDlEQjkwN0ZDMzc0MDlGMDc1MTIxMEU0RjUxMDc1MjcwMjIyRTUyNzY0MDI3MDM2MzAwNTJGQzIwNUY1MzU3RTAwN0IwMDc0MkI5NgorOjQwMDRDNjAwMjUzNUY5RUUzNDAwRkExMjBBNTFGRjc0ODAyNTM1RjU4MkU0MzQ3QkY1ODNFRkYwMDUzNUU1MzVCNDA1REI5MDdGQzM3NDA1RjA3NTI3MDMyMkU1MzI2MDMzNzUzMTAzMTUzMkU0RjUzNTdFMDA3QjAwNzQzMTI1MzVGOUVFMzRDRAorOjQwMDUwNjAwMDBGQTEyMEE1MUZGNzQ4MDI1MzVGNTgyRTQzNDdCRjU4M0VGRjAwNTM1RTUzNUI0MDNEQjkwN0ZDMzc0MDNGMEU0RjUyNzIyOTA3RkU5RTAxMjBBQTkwNjA4MDAwNjdDMDEwNkU5MDMwNTREMDYwNUY5MDgwNUVEMDkwNUQ1MEEwMgorOjQwMDU0NjAwMDVFNDBCMDAwMDA3Mzk5MDdGRUJFMDI0RkU2MDE2MTQ2MDUwMjQwMjcwNkY3NDE5OTA3RkQ0RjA3NDAwOTA3RkQ1RjAwMjA3NDA5MDdGRUFFMDcwMDQ3RjAyODAwMjdGMDM3NTgyODI3NTgzMTlFRkYwNzU4Mjc0NzU4MzE5RjA2RQorOjQwMDU4NjAwNzU4MjU4NzU4MzE5RjA5MDdGRUFFMDA0NzU4MjE3NzU4MzE5RjA3NDE5OTA3RkQ0RjA3NDEyOTA3RkQ1RjAwMjA3NDA5MDdGRUFFMEZGMTIwQjFDRUE0OTYwMERFQTkwN0ZENEYwRTk5MDdGRDVGMDAyMDc0MDkwN0ZCNEUwNDQ5QgorOjQwMDVDNjAwMDFGMDAyMDc0MDkwN0ZCNEUwNDQwMUYwMDIwNzQwOTA3RjAwRTUyNUYwOTA3RkI1NzQwMUYwMDIwNzQwOTA3RkVBRTBGNTI1MDIwNzQwMTIwNzQ4OTA3RkVBRTBGNTIzMDIwNzQwOTA3RjAwRTUyM0YwOTA3RkI1NzQwMUYwMDIxNgorOjQwMDYwNjAwMDc0MDkwN0ZFOEUwMjQ3RjYwMjQxNDYwMzEyNDAyNzA1QkEyMDFFNDMzRkYyNUUwRkZBMjA3RTQzMzRGOTA3RjAwRjBFNEEzRjA5MDdGQjU3NDAyRjAwMjA3NDBFNDkwN0YwMEYwQTNGMDkwN0ZCNTc0MDJGMDAyMDc0MDkwN0YyQworOjQwMDY0NjAwRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODNFMDU0RkQ5MDdGMDBGMEU0QTNGMDkwN0ZCNTc0MDJGMDAyMDc0MDkwN0ZCNEUwNDQwMUYwMDIwNzQwOTA3RkU4RTAyNEZFNjAxRTI0MDIxNgorOjQwMDY4NjAwNjAwMzAyMDc0MDkwN0ZFQUUwQjQwMTA2MTIwREY5MDIwNzQwOTA3RkI0RTA0NDAxRjAwMjA3NDA5MDdGRUFFMDcwMzg5MDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODNFNEYwOTBGOAorOjQwMDZDNjAwN0ZFQ0UwNTQ4MEZGMTMxMzEzNTQxRkZGRTA1NDA3MkY5MDdGRDdGMEUwNDQyMEYwODA2MDkwN0ZCNEUwNDQwMUYwODA1NzkwN0ZFOEUwMjRGRTYwMTkyNDAyNzA0QjkwN0ZFQUUwQjQwMTA1MTIwREY2ODAzRjkwN0ZCNEUwNDQ4NworOjQwMDcwNjAwMDFGMDgwMzY5MDdGRUFFMDcwMjA5MDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODM3NDAxRjA4MDEwOTA3RkI0RTA0NDAxRjA4MDA3OTA3RkI0RTA0NDAxRjA5MDdGQjRFMDQ0MDJGOQorOjQwMDc0NjAwRjAyMkU0OTA3RjkzRjA5MDdGOUM3NDMwRjA5MDdGOTY3NDIwRjA5MDdGOTU3NEMwRjA5MDdGOUU3NDNGRjA5MDdGOTg3NDEwRjBFNEY1OEU5MDdGREY3NEZGRjA5MDdGREVGMEU0RjUwODdGMDE3QjAwNzQwODJGRjlFNDM0MDAyMworOjQwMDc4NjAwRkFFNDEyMEE5NzBGQkYwOUVFNzUxMzAxRTRGNTEyRjUzMEY1MTFDMjBGQzIxM0MyMEVDMjBCQzIxMEMyMDQ5MDdGOTg3NDEzRjA3NTE5MDM5MEMwMDA3NDAzRjA3RjBDRTRGRDEyMENEQTdGMTA4RjE4MTIwQzY4OTA3Rjk4NzRDMgorOjQwMDdDNjAwMTJGMDdGMDE4RjE3RUY0NDA2OTBDMDAwRjAwRkU0RkQxMjBDREFFNEZGN0VBM0FEMDY4RDE2MTIwQ0RBOTA3Rjk4NzQxMUYwOTBDMDAwRTRGMDdGMDU3RDdGMTIwQ0RBN0YwMTEyMEQ2QTdGMDM3RDA3MTIwQ0RBRTRGRkU1MTY3QgorOjQwMDgwNjAwNTQ3RkZEMTIwQ0RBMTIwRTBGOEYxNUU0RkZFNTE2NDQ4MEZEMTIwQ0RBRTUxNTMwRTcwNEMyMDg4MDAyRDIwODkwN0Y5ODc0MTRGMDc1MUE4MDkwQzAwMDc0ODBGMEQyMDMyMkQyMTU5MDdGOTJFMDQ0MDJGMDEyMERGOUQyRTg3QworOjQwMDg0NjAwNDNEODIwOTA3RkRFNzQwMUYwOTA3RkRGRjA5MDdGQUI3NEZGRjA5MDdGQTlGMDkwN0ZBQUYwNTM5MUVGOTA3RkFGRTA0NDAxRjA5MDdGQUU3NDBERjBEMkFGRDIxNjEyMEQyNEMyMDJFNEY1MjhGNTMwQzIwOUY1MjNDMjAzOTBGNworOjQwMDg4NjAwN0ZBMTA0RjA5MDdGRDhFMDY1MzQ2MDQ4MzAwMzA1RDIxNjEyMDA0NkU1MEY2MDIyRTUyNjYwMTYxNTI2OTA3RkQ4RTAzMEU2MDQ3RjIwODAwMjdGMzA5MDdGOTZFRkYwODAxQTkwN0Y5Njc0MzBGMDgwMTI5MDdGRDlFMDMwRTJGOAorOjQwMDhDNjAwMDQ3RjMwODAwMjdGMjA5MDdGOTZFRkYwOTA3RkQ4RTBGNTM0ODAyMDMwMDMwN0MyMTYxMjAwNDY4MDE2RTUwRjcwMTI5MDdGRDlFMDMwRTIwNDdGMzA4MDAyN0YyMDkwN0Y5NkVGRjAzMDAyMDdDMjAyMTIwNTJBODA4NjMwMEFFNAorOjQwMDkwNjAwODNDMjBBMTIwQjVEMDIwODhBMjI5MDdGOTg3NDEwRjBBRjI0RTUyQUY1ODJFNTI5RjU4M0MyQUYwNTg2OTBDMDAwMDU4NkUwQTMwNTg2RjAwNTg2REZGN0QyQUYyMjkwN0Y5ODc0MTBGMEFGMjRFNTJBRjU4MkU1MjlGNTgzQzJBMworOjQwMDk0NjAwQUYwNTg2OTBDMDAwRTAwNTg2RjBBMzA1ODZERkY3MDU4NkQyQUYyMjkwN0Y5ODc0MDhGMEFGMjRFNTJBRjU4MkU1MjlGNTgzQzJBRjA1ODY5MEMwMDAwNTg2RTBBMzA1ODZGMDA1ODZERkY3RDJBRjIyOTA3Rjk4NzQwOEYwQUZDRAorOjQwMDk4NjAwMjRFNTJBRjU4MkU1MjlGNTgzQzJBRjA1ODY5MEMwMDBFMDA1ODZGMEEzMDU4NkRGRjcwNTg2RDJBRjIyNzQwMEY1ODY5MEZEQTU3QzA1QTNFNTgyNDU4MzcwRjkyMjkwN0ZENkUwNDQ4MEYwNDM4NzAxMDAwMDAwMDAwMDIyNzg0QgorOjQwMDlDNjAwN0ZFNEY2RDhGRDc1ODEzOTAyMEEwQzAyMDgzOEU0OTNBM0Y4RTQ5M0EzNDAwM0Y2ODAwMUYyMDhERkY0ODAyOUU0OTNBM0Y4NTQwNzI0MENDOEMzMzNDNDU0MEY0NDIwQzg4MzQwMDRGNDU2ODAwMTQ2RjZERkU0ODAwQjAxMDIxMQorOjQwMEEwNjAwMDQwODEwMjA0MDgwOTAwRDhCRTQ3RTAxOTM2MEJDQTNGRjU0M0YzMEU1MDk1NDFGRkVFNDkzQTM2MDAxMEVDRjU0QzAyNUUwNjBBODQwQjhFNDkzQTNGQUU0OTNBM0Y4RTQ5M0EzQzhDNTgyQzhDQUM1ODNDQUYwQTNDOEM1ODJCMAorOjQwMEE0NjAwQzhDQUM1ODNDQURGRTlERUU3ODBCRUJCMDEwNjg5ODI4QTgzRTAyMjUwMDJFNzIyQkJGRTAyRTMyMjg5ODI4QTgzRTQ5MzIyQkIwMTBDRTU4MjI5RjU4MkU1ODMzQUY1ODNFMDIyNTAwNkU5MjU4MkY4RTYyMkJCRkUwNkU5MjVCQgorOjQwMEE4NjAwODJGOEUyMjJFNTgyMjlGNTgyRTU4MzNBRjU4M0U0OTMyMkJCMDEwNjg5ODI4QTgzRjAyMjUwMDJGNzIyQkJGRTAxRjMyMkQwODNEMDgyRjhFNDkzNzAxMjc0MDE5MzcwMERBM0EzOTNGODc0MDE5M0Y1ODI4ODgzRTQ3Mzc0MDI4RgorOjQwMEFDNjAwOTM2ODYwRUZBM0EzQTM4MERGRTQ5MDdGOTNGMDkwN0Y5Qzc0MjBGMDMwMDEwM0ZGODAwMjdGMDA5MDdGOTZFRkYwRTQ5MDdGOTRGMDkwN0Y5RDc0RkZGMEU0OTA3Rjk3RjAzMDA4MTE5MDdGOTVGMDkwN0Y5RTc0RkZGMDkwN0YwNQorOjQwMEIwNjAwOTg3NDIwRjAyMkU0OTA3Rjk1RjA5MDdGOUU3NERGRjBFNDkwN0Y5OEYwMjI4RjM1RTRGNTM2NzUzN0ZGNzUzODE5NzUzOTg2QUIzN0FBMzhBOTM5OTAwMDAxMTIwQTZBQjQwMzFEQUYzNjA1MzZFRkI1MzUwMTIyMTIwQTUxN0U1QworOjQwMEI0NjAwMDAyOUZGRUUzQUE5MDc3NTM3RkZGNTM4ODkzOTgwRDQ3QjAwN0EwMDc5MDAyMjkwN0ZEOEUwRjUzNTEyMEFDRjIwMDgwNzkwN0Y5MkUwNTRGREYwOTA3RkQ2RTA0NDgwRjAxMjA5QjU5MDdGRDZFMDMwRTcwRTMwMDEwNTEyMEQ5QworOjQwMEI4NjAwQkM4MDA2MTIwRDQ5RUY2MEUxOTA3RjkyRTA0NDAyRjAxMjA3NDgyMjA1MkFFNTJBQUUyOTcwMDIwNTI5MTRGNTgyOEU4M0U1MTFGMDEyMDAzNjA1MkFFNTJBQUMyOTcwMDIwNTI5MTRGNTgyOEM4M0VGRjAxNTI0RTUyNDYwMDdDNworOjQwMEJDNjAwMTIwRTFCOEYxMTgwQ0QyMkMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMEQyMDI1MzkxRUY5MDdGQUI3NDAxRjBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMkMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMEQyMEE5RgorOjQwMEMwNjAwNTM5MUVGOTA3RkFCNzQwOEYwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzI5MDdGOTg3NDEzRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDEwRjA5MEMwMDBFRkYwOTA3Rjk4NzQxM0YwRTUxOTU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzRFOAorOjQwMEM0NjAwMTNGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MTFGMDkwQzAwMEVGRjA5MDdGOTg3NDEzRjBFNTE5NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDEzRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDEyRjA5MEMwMDBFRkYwOTA3Rjk4NzQxM0YwRTU3QworOjQwMEM4NjAwMTk1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MTNGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MTRGMDkwQzAwMEVGRjA5MDdGOTg3NDEzRjBFNTE5NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDEzRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDE2RjBGRQorOjQwMENDNjAwOTBDMDAwRUZGMDkwN0Y5ODc0MTNGMEU1MTk1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MTNGMEU1MTk1NDdGOTBDMDAwRjA5MDdGOTg3NDE3RjA5MEMwMDBFRkYwOTA3Rjk4NzQxNUYwOTBDMDAwRURGMDIyMTIwREVBOEYzNzEyMEQ5MQorOjQwMEQwNjAwRUE4RjM4RTUzNzY1Mzg2MDEyMTIwREVBOEYzN0U1Mzc2NTM4NjAwNzEyMERFQThGMzg4MEU4QUYzNzIyOTA3RkQ2RTA1NEZCRjBFMDQ0MDhGMDMwMTYwNEUwNDQwMkYwN0ZGNDdFMDExMjBEQTU5MDdGRDZFMDU0RjdGMEUwNDQ0OAorOjQwMEQ0NjAwMDRGMDIyOTA3RkQ4RTBGNTM2MTIwNzQ4MTIwRTI3RUYzMEU2MEI5MDdGRDhFMDY1MzY2MEYxN0YwMTIyMTIwQUNGN0YwMDIyQUUwN0U0RkZFNTE2NTQ3RkZEMTIwQ0RBOTA3Rjk4NzQxMUYwOTBDMDAwRUVGMEU0RTUxNjQ0ODA4NAorOjQwMEQ4NjAwRkQxMjBDREEyMjA1MkIwMjAwMDAwMDAwMDMzMTAzMDAwMEMxODZDMTAyQzEwQUMxMDFDMTA3MDEyNzAwMDA4RTM2OEYzN0U1MzcxNTM3QUUzNjcwMDIxNTM2NEU2MDA1MTIwOUE0ODBFRTIyOTA3RkQ2RTA0NDAxRjA3RjBEN0U4RAorOjQwMERDNjAwMDAxMjBEQTU5MDdGRDZFMDU0RkVGMDIyOTA3Rjk4NzQxMUYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQxMkYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQxM0YwOTBDMDAwRTBGRjIyRDIwMTIyQzIwMTIyMDAwMDAwMDAwMjBCQ0UwMDAyMEVGMQorOjQwMEUwNjAwMDQwMDAyMDAwMzAwMDIwQkY1OTA3Rjk4NzQxNEYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQxNUYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQxNkYwOTBDMDAwRTBGRjIyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RQorOjQwMEU0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2QworOjQwMEU4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyQworOjQwMEVDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFQworOjQwMEYwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBQgorOjQwMEY0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2QgorOjQwMEY4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyQgorOjQwMEZDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFQgorOjQwMTAwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBQQorOjQwMTA0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2QQorOjQwMTA4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyQQorOjQwMTBDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFQQorOjQwMTEwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBOQorOjQwMTE0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2OQorOjQwMTE4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyOQorOjQwMTFDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFOQorOjQwMTIwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBOAorOjQwMTI0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2OAorOjQwMTI4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyOAorOjQwMTJDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFOAorOjQwMTMwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNworOjQwMTM0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NworOjQwMTM4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNworOjQwMTNDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNworOjQwMTQwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNgorOjQwMTQ0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NgorOjQwMTQ4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNgorOjQwMTRDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNgorOjQwMTUwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNQorOjQwMTU0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NQorOjQwMTU4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNQorOjQwMTVDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNQorOjQwMTYwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNAorOjQwMTY0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NAorOjQwMTY4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNAorOjQwMTZDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNAorOjQwMTcwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMworOjQwMTc0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MworOjQwMTc4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMworOjQwMTdDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMworOjQwMTgwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMgorOjQwMTg0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MgorOjQwMTg4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMgorOjQwMThDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMjAxMTAwMUZGMDBCRgorOjQwMTkwNjAwMDA0MENEMDYxOTAxMDAwMDAxMDIwMDAyMDkwMjc0MDAwMTAxMDBBMDMyMDkwNDAwMDAwRUZGMDAwMDAwMDcwNTAxMDI0MDAwMDAwNzA1MDIwMjQwMDAwMDA3MDUwMzAyNDAwMDAwMDcwNTA0MDI0MDAwMDAwNzA1MDUwMjQwMDA2RAorOjQwMTk0NjAwMDAwNzA1MDYwMjQwMDAwMDA3MDUwNzAyNDAwMDAwMDcwNTgxMDI0MDAwMDEwNzA1ODIwMjQwMDAwMTA3MDU4MzAyNDAwMDAxMDcwNTg0MDI0MDAwMDEwNzA1ODUwMjQwMDAwMTA3MDU4NjAyNDAwMDAxMDcwNTg3MDI0MDAwMDFGMworOjQwMTk4NjAwMDQwMzA5MDQ0ODAzNEIwMDY1MDA3OTAwNzMwMDcwMDA2MTAwNkUwMDJDMDAyMDAwNjEwMDIwMDA2NDAwNjkwMDc2MDA2OTAwNzMwMDY5MDA2RjAwNkUwMDIwMDA2RjAwNjYwMDIwMDA0OTAwNkUwMDZFMDA2RjAwNTMwMDc5MDA0MAorOjQwMTlDNjAwNzMwMDIwMDA0OTAwNkUwMDYzMDAyRTAwMzYwMzRCMDA2NTAwNzkwMDczMDA3MDAwNjEwMDZFMDAyMDAwNTUwMDUzMDA0MjAwMjAwMDUzMDA2NTAwNzIwMDY5MDA2MTAwNkMwMDIwMDA0MTAwNjQwMDYxMDA3MDAwNzQwMDY1MDBGOQorOjA0MUEwNjAwNzIwMDAwMDA2QQorOjAwMDAwMDAxRkYKKworCVRoZSBmaXJtd2FyZSBjb250YWluZWQgaGVyZWluIGlzCisKKwkJQ29weXJpZ2h0IChDKSAxOTk5LTIwMDEKKwkJS2V5c3BhbiwgQSBkaXZpc2lvbiBvZiBJbm5vU3lzIEluY29ycG9yYXRlZCAoIktleXNwYW4iKQorCisJYXMgYW4gdW5wdWJsaXNoZWQgd29yay4gVGhpcyBub3RpY2UgZG9lcyBub3QgaW1wbHkgdW5yZXN0cmljdGVkIG9yCisJcHVibGljIGFjY2VzcyB0byB0aGUgc291cmNlIGNvZGUgZnJvbSB3aGljaCB0aGlzIGZpcm13YXJlIGltYWdlIGlzCisJZGVyaXZlZC4gIEV4Y2VwdCBhcyBub3RlZCBiZWxvdyB0aGlzIGZpcm13YXJlIGltYWdlIG1heSBub3QgYmUKKwlyZXByb2R1Y2VkLCB1c2VkLCBzb2xkIG9yIHRyYW5zZmVycmVkIHRvIGFueSB0aGlyZCBwYXJ0eSB3aXRob3V0CisJS2V5c3BhbidzIHByaW9yIHdyaXR0ZW4gY29uc2VudC4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisKKwlQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkIGZvciB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmlybXdhcmUKKwlpbWFnZSBhcyBwYXJ0IG9mIGEgTGludXggb3Igb3RoZXIgT3BlbiBTb3VyY2Ugb3BlcmF0aW5nIHN5c3RlbSBrZXJuZWwKKwlpbiB0ZXh0IG9yIGJpbmFyeSBmb3JtIGFzIHJlcXVpcmVkLgorCisJVGhpcyBmaXJtd2FyZSBtYXkgbm90IGJlIG1vZGlmaWVkIGFuZCBtYXkgb25seSBiZSB1c2VkIHdpdGgKKwlLZXlzcGFuIGhhcmR3YXJlLiAgRGlzdHJpYnV0aW9uIGFuZC9vciBNb2RpZmljYXRpb24gb2YgdGhlCisJa2V5c3Bhbi5jIGRyaXZlciB3aGljaCBpbmNsdWRlcyB0aGlzIGZpcm13YXJlLCBpbiB3aG9sZSBvciBpbgorCXBhcnQsIHJlcXVpcmVzIHRoZSBpbmNsdXNpb24gb2YgdGhpcyBzdGF0ZW1lbnQuIgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUva2V5c3Bhbi91c2ExOXcuSEVYIGIvZmlybXdhcmUva2V5c3Bhbi91c2ExOXcuSEVYCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEzYjg0MzEKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9rZXlzcGFuL3VzYTE5dy5IRVgKQEAgLTAsMCArMSwxNDEgQEAKKzowMzAwMzMwMDAyMEQ1QzVGCis6MTAwMDAzMDBFNDkwN0Y5M0YwOTA3RjlDNzQzMEYwRTQ5MDdGOTZGMEJGCis6MTAwMDEzMDA5MDdGOTRGMDkwN0Y5RDc0RkZGMEU0OTA3Rjk3RjA5MDMxCis6MEYwMDIzMDA3Rjk1RjA5MDdGOUU3NDE3RjBFNDkwN0Y5OEYwMjIwNQorOjEwMDA0NjAwMzAwRjE4MTIwRDM4RUZDMzk1MTQ0MDAzMDIwMEQ4OTBGNAorOjEwMDA1NjAwN0ZCRjc0MDFGMEMyMEZDMjBBODA3NzMwMEMzQjkwN0ZERAorOjEwMDA2NjAwQzZFMDIwRTE2RDEyMEQzOEVGQzM5NDQwNTA2NDkwN0VENworOjEwMDA3NjAwNDBFMDEzOTIwRjkwN0ZDN0UwMTRGNTFDMjAwQTExNjAzMAorOjEwMDA4NjAwMEZGNTIzN0U3RTdGNDE3NTI3N0U3NTI4NDExMjA4MDE3NAorOjEwMDA5NjAwQzIwQ0U0OTA3RkM3RjA4MDM5OTA3RkM4RTAyMEUxMzIzRgorOjEwMDBBNjAwMTIwRDM4RUZDMzk0NDA1MDI5OTA3REMwRTAxMzkyMEY5MworOjEwMDBCNjAwOTA3RkM5RTAxNEY1MUMyMDBBMTE2MDBGRjUyMzdFN0RBMAorOjEwMDBDNjAwN0ZDMTc1Mjc3RDc1MjhDMTEyMDgwMUQyMENFNDkwN0Y4NworOjEwMDBENjAwQzlGMDkwN0ZCNkUwMzBFMTAzMDIwMTVFMTIwQzQxOEY1OQorOjEwMDBFNjAwMUMxMjBENDQ4RjExRTUxQ0MzOTUxMzUwMEYxMjBEMjBFMQorOjEwMDBGNjAwRUYzMEUwMDhFNTExMjBFNzAzMzAxMjVDQzIxMkU1MUM4MAorOjBDMDAzNjAwOTA3Rjk4NzQxMEYwOTBDMDAwRTBGRjIyNTIKKzowMzAwNDMwMDAyMEUwMEFBCis6MDMwMDAwMDAwMjA4QjYzRAorOjQwMDEwNjAwNjA1NkI0ODAwMzQzMTEwMkU1MTEzMEU3MjRFNTFDRDM5NDIwNDAwMzc1MUMyMDg1MUMyMzdFN0U3RjgwNzUyNzdFNzUyODgwMTIwQTg2RTUxQzI1MUM5MDdGQjdGMDgwMjdFNTFDRDM5NDNGNDAwMzc1MUMzRjg1MUMyMzkwN0UwNgorOjQwMDE0NjAwODBFNTExRjA3RTdFN0Y4MTc1Mjc3RTc1Mjg4MTEyMDgyNkU1MUMwNDkwN0ZCN0YwOTA3RkNFRTAzMEUxMDYyMDBEMDMwMjAzQkFFNEY1MUI3NDQwMjUxQkY1ODJFNDM0N0NGNTgzRTBGRkU1MUI3QzAwN0IwMTdBN0U3OTAwMjQ0QQorOjQwMDE4NjAwMDBGOUVDMzQ3RUZBRUYxMjBBMEQwNTFCRTUxQkI0MjBENzkwN0UwMEUwNjA2RTdGMDE5MDdFMTFFMEZEMTIwQzFDOTA3RTAxRTBGRjEyMEI1RTkwN0UwMkUwRkYxMjBCODREMjEwRDIxMTc1MUMwNDkwN0UwM0UwNjAwNUMyMTFENworOjQwMDFDNjAwNDMxQ0MwOTA3RTA0RTBCNDAxMDdDMjExNDMxQzBCODAxMDkwN0UwNEUwNjAwN0MyMTA0MzFDMDk4MDAzNDMxQzAyN0YwM0FEMUMxMjBDMUM0MzE5ODA5MDdGOTg3NDE0RjA5MEMwMDBFNTE5RjA5MDdGOTg3NDEyRjBFNTE2NDRDRQorOjQwMDIwNjAwMDY5MEMwMDBGMDkwN0UwNUUwNjAxMkEzRTA1NDNGRjUxODkwN0Y5ODc0MTNGMDkwQzAwMEU1MThGMDkwN0UwN0UwNjA0MjkwN0UxM0UwNjAwNTQzMTUwNDgwMDM1MzE1RkJFNEZGQUQxNTEyMEMxQzkwN0UwOEUwNjAwNTQzMTdCQworOjQwMDI0NjAwODA4MDAzNTMxNzdGNTMxN0ZDOTA3RTA5RTA2MDExNDMxNzAyQTNFMEZGMTIwQkQwOTA3RTBCRTBGRjEyMEJGNkFGMTcxMjBCQUE5MDdFMEVFMDYwMThBM0UwNjAwNTQzMTkwMTgwMDM1MzE5RkU5MDdGOTg3NDE0RjA5MEMwMDA0NgorOjQwMDI4NjAwRTUxOUYwOTA3RTBDRTA2MDE4QTNFMDYwMDU0MzE5MDI4MDAzNTMxOUZEOTA3Rjk4NzQxNEYwOTBDMDAwRTUxOUYwOTA3RTEyRTBGNTEzQTNFMDEzOTIxM0EzRTBGNTE0QTNFMDYwMDU0MzE5MTA4MDAzNTMxOUVGOTA3Rjk4NzQyRAorOjQwMDJDNjAwMTRGMDkwQzAwMEU1MTlGMDkwN0UxNkUwNjAzMjUzMThCRjkwN0Y5ODc0MTNGMEU1MTg1NDdGOTBDMDAwRjA5MDdGOTg3NDExRjAxMjBEMTRFRjU0RkU5MEMwMDBGMDUzMTVGREU0RkZBRDE1MTIwQzFDRTRGNTBFRjUwREQyMEVFQgorOjQwMDMwNjAwOTA3RTE3RTA2MDBGNDMxNTAyRTRGRkFEMTUxMjBDMUM3NTBEMDFEMjBFOTA3RTE4RTA2MDEwOTA3Rjk4NzQxMkYwRTUxNjQ0MDQ5MEMwMDBGMEQyMEE5MDdFMTlFMDYwMTE0MzE4NDA5MDdGOTg3NDEzRjBFNTE4NTQ3RjkwQzA2NAorOjQwMDM0NjAwMDBGMDkwN0UxQUUwNjAwRjUzMTVGRUU0RkZBRDE1MTIwQzFDNzUwRjAxRDIwRTkwN0UxQkUwNjAwRjQzMTUwMUU0RkZBRDE1MTIwQzFDRTRGNTBGRDIwRTkwN0UxQ0UwNjAwRTkwN0Y5ODc0MTJGMEU1MTY0NDAyOTBDMDAwRjBEOAorOjQwMDM4NjAwOTA3RTFERTA2MDAyRDIxMjkwN0UxRUUwNjAwODc1MTAwMUU0RjUxMkQyMEU5MDdFMUZFMDYwMTE5MDdGRDc3NDExRjA3NDMxRjA3NDE1RjA3NDM1RjBEMjBDQzIwREU0OTA3RkNGRjAzMDE1NzFFNTEyNjAwMjE1MTJFNTJFRDMyNgorOjQwMDNDNjAwOTQwMDQwMDQxNTJFODA2MDc1MkUwQTEyMEQxNEVGNTQwMUY1MUM2NTBFNjAwNzg1MUMwRUQyMEU4MDExMTIwRDUwRUY1NDEwRjUxQzY1MDk2MDA1ODUxQzA5RDIwRTEyMEQ1MEVGNTQ4MEY1MUM2NTBBNjAwNTg1MUMwQUQyMEVGQgorOjQwMDQwNjAwMTIwRDUwRUY1NDIwRjUxQzY1MEI2MDA4ODUxQzBCMzAxMDAyRDIwRTEyMEQ1MEVGNTQ0MEY1MUM2NTBDNjAwODg1MUMwQzMwMTEwMkQyMEUzMDE1MkE5MDdGRDJFMDIwRTEyMzkwN0I0MEUwNjAwOUUwRjUzMDkwN0I0MkUwRjU3MgorOjQwMDQ0NjAwMzE5MDdCNDFFMDYwMDk5MDdGRDc3NDE3RjA3NDM3RjBFNDkwN0ZEM0YwOTA3RkMyRTAzMEUxMDMwMjA1MUZFNTI1NzA0MDMwMEUzOUU1MTI3MDM1QzIwRUY1MUI3RTAwN0IwMDc0MDgyNTFCRjlFRTM0MDBGQTEyMDlDN0ZGNzQ0NworOjQwMDQ4NjAwODAyNTFCRjU4MkU0MzQ3QkY1ODNFRkYwMDUxQkU1MUJCNDA5REI5MDdGQzM3NDA5RjA3NTEyMTBFNEY1MTA3NTI1MDIyMkU1MjU2NDAyNzAzNjMwMDUyRkMyMDVGNTFCN0UwMDdCMDA3NDI5MjUxQkY5RUUzNDAwRkExMjA5QzdDMgorOjQwMDRDNjAwRkY3NDgwMjUxQkY1ODJFNDM0N0JGNTgzRUZGMDA1MUJFNTFCQjQwNURCOTA3RkMzNzQwNUYwNzUyNTAzMjJFNTMwNjAzMzc1MkYwMzE1MzBFNEY1MUI3RTAwN0IwMDc0MkYyNTFCRjlFRTM0MDBGQTEyMDlDN0ZGNzQ4MDI1MUIyNgorOjQwMDUwNjAwRjU4MkU0MzQ3QkY1ODNFRkYwMDUxQkU1MUJCNDAzREI5MDdGQzM3NDAzRjBFNEY1MjUyMjkwN0ZFOUUwMTIwQTFGMDVGNjAwMDY2QTAxMDZENzAzMDU0MzA2MDVFOTA4MDVFMzA5MDVDQjBBMDVEQTBCMDAwMDA3Mjc5MDdGRUJDOQorOjQwMDU0NjAwRTAyNEZFNjAxNjE0NjA1MDI0MDI3MDZGNzQxOTkwN0ZENEYwNzQwMDkwN0ZENUYwMDIwNzJFOTA3RkVBRTA3MDA0N0YwMjgwMDI3RjAzNzU4MjgyNzU4MzE5RUZGMDc1ODI3NDc1ODMxOUYwNzU4MjU4NzU4MzE5RjA5MDdGRUE2NQorOjQwMDU4NjAwRTAwNDc1ODIxNzc1ODMxOUYwNzQxOTkwN0ZENEYwNzQxMjkwN0ZENUYwMDIwNzJFOTA3RkVBRTBGRjEyMEE0NUVBNDk2MDBERUE5MDdGRDRGMEU5OTA3RkQ1RjAwMjA3MkU5MDdGQjRFMDQ0MDFGMDAyMDcyRTkwN0ZCNEUwNDREMQorOjQwMDVDNjAwMDFGMDAyMDcyRTkwN0YwMEU1MjRGMDkwN0ZCNTc0MDFGMDAyMDcyRTkwN0ZFQUUwRjUyNDAyMDcyRTEyMDczNjAyMDcyRTkwN0YwMDc0MDFGMDkwN0ZCNUYwMDIwNzJFOTA3RkU4RTAyNDdGNjAyNDE0NjAzMTI0MDI3MDVCQTIyMQorOjQwMDYwNjAwMDFFNDMzRkYyNUUwRkZBMjA3RTQzMzRGOTA3RjAwRjBFNEEzRjA5MDdGQjU3NDAyRjAwMjA3MkVFNDkwN0YwMEYwQTNGMDkwN0ZCNTc0MDJGMDAyMDcyRTkwN0ZFQ0UwRjQ1NDgwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRDRAorOjQwMDY0NjAwRjU4MkU0MzQ3RkY1ODNFMDU0RkQ5MDdGMDBGMEU0QTNGMDkwN0ZCNTc0MDJGMDAyMDcyRTkwN0ZCNEUwNDQwMUYwMDIwNzJFOTA3RkU4RTAyNEZFNjAxRTI0MDI2MDAzMDIwNzJFOTA3RkVBRTBCNDAxMDYxMjBENjMwMjA3MkU1MworOjQwMDY4NjAwOTA3RkI0RTA0NDAxRjAwMjA3MkU5MDdGRUFFMDcwMzg5MDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODNFNEYwOTA3RkVDRTA1NDgwRkYxMzEzMTM1NDFGRkZFMDU0MDcyRjkwN0Y2OQorOjQwMDZDNjAwRDdGMEUwNDQyMEYwODA2MDkwN0ZCNEUwNDQwMUYwODA1NzkwN0ZFOEUwMjRGRTYwMTkyNDAyNzA0QjkwN0ZFQUUwQjQwMTA1MTIwRDYwODAzRjkwN0ZCNEUwNDQwMUYwODAzNjkwN0ZFQUUwNzAyMDkwN0ZFQ0UwRjQ1NDgwRkZBRAorOjQwMDcwNjAwQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODM3NDAxRjA4MDEwOTA3RkI0RTA0NDAxRjA4MDA3OTA3RkI0RTA0NDAxRjA5MDdGQjRFMDQ0MDJGMDIyRTQ5MDdGOTNGMDkwN0Y5Qzc0MzBGMEU0OTA3Rjk2RjA2QgorOjQwMDc0NjAwOTA3Rjk1NzRDMEYwOTA3RjlFNzQzRkYwOTA3Rjk4NzQxOEYwRTRGNThFOTA3RkRGNzRGRkYwOTA3RkRFRjBFNEY1MDg3RjAxN0IwMDc0MDgyRkY5RTQzNDAwRkFFNDEyMEEwRDBGQkYwOUVFNzUxMzAxRTRGNTEyRjUyRUY1MTFBMgorOjQwMDc4NjAwQzIwRUMyMTJDMjBEQzIwQUMyMEZDMjA0OTA3Rjk4NzQxM0YwNzUxODAzOTBDMDAwNzQwM0YwN0YwQ0U0RkQxMjBDMUM3RjEwOEYxNzEyMEJBQTkwN0Y5ODc0MTJGMDdGMDE4RjE2RUY0NDA2OTBDMDAwRjAwRkU0RkQxMjBDMUM3MQorOjQwMDdDNjAwRTRGRjdFQTNBRDA2OEQxNTEyMEMxQzkwN0Y5ODc0MTFGMDkwQzAwMEU0RjA3RjA1N0Q3RjEyMEMxQzdGMDExMjBDQUM3RjAzN0QwNzEyMEMxQzkwN0Y5ODc0MTRGMDc1MTk4MDkwQzAwMDc0ODBGMEQyMDMyMjkwN0Y5ODc0MTA1OQorOjQwMDgwNjAwRjBBRjIzRTUyOEY1ODJFNTI3RjU4M0MyQUYwNTg2OTBDMDAwMDU4NkUwQTMwNTg2RjAwNTg2REZGN0QyQUYyMjkwN0Y5ODc0MTBGMEFGMjNFNTI4RjU4MkU1MjdGNTgzQzJBRjA1ODY5MEMwMDBFMDA1ODZGMEEzMDU4NkRGRjc2RgorOjQwMDg0NjAwMDU4NkQyQUYyMjkwN0Y5ODc0MDhGMEFGMjNFNTI4RjU4MkU1MjdGNTgzQzJBRjA1ODY5MEMwMDAwNTg2RTBBMzA1ODZGMDA1ODZERkY3RDJBRjIyOTA3Rjk4NzQwOEYwQUYyM0U1MjhGNTgyRTUyN0Y1ODNDMkFGMDU4NjkwQzA0NQorOjQwMDg4NjAwMDBFMDA1ODZGMEEzMDU4NkRGRjcwNTg2RDJBRjIyNzQwMEY1ODY5MEZEQTU3QzA1QTNFNTgyNDU4MzcwRjkyMjkwN0ZENkUwNDQ4MEYwNDM4NzAxMDAwMDAwMDAwMDIyNzg3RkU0RjZEOEZENzU4MTMxMDIwOEZEMDIwOTQyRTQzQgorOjQwMDhDNjAwOTNBM0Y4RTQ5M0EzNDAwM0Y2ODAwMUYyMDhERkY0ODAyOUU0OTNBM0Y4NTQwNzI0MENDOEMzMzNDNDU0MEY0NDIwQzg4MzQwMDRGNDU2ODAwMTQ2RjZERkU0ODAwQjAxMDIwNDA4MTAyMDQwODA5MDBDQ0RFNDdFMDE5MzYwQkMzNgorOjQwMDkwNjAwQTNGRjU0M0YzMEU1MDk1NDFGRkVFNDkzQTM2MDAxMEVDRjU0QzAyNUUwNjBBODQwQjhFNDkzQTNGQUU0OTNBM0Y4RTQ5M0EzQzhDNTgyQzhDQUM1ODNDQUYwQTNDOEM1ODJDOENBQzU4M0NBREZFOURFRTc4MEJFRDIxNDkwN0Y4MworOjQwMDk0NjAwOTJFMDQ0MDJGMDEyMEQ2M0QyRTg0M0Q4MjA5MDdGREU3NDAxRjA5MDdGREZGMDkwN0ZBQjc0RkZGMDkwN0ZBOUYwOTA3RkFBRjA1MzkxRUY5MDdGQUZFMDQ0MDFGMDkwN0ZBRTc0MERGMEQyQUZEMjE1MTIwQzY2QzIwMkU0RjU1NworOjQwMDk4NjAwMjZGNTJFQzIwOEMyMDM5MDdGQTEwNEYwOTA3RkQ4RTA2NTFBNjAxMDMwMDMwNUQyMTUxMjAwNDY5MDdGRDhFMEY1MUE4MDA4MzAwMzA1QzIxNTEyMDA0NjMwMDIwN0MyMDIxMjA1MjA4MEQ2MzAwOUQzQzIwOTEyMEFCQTgwQ0M0MAorOjQwMDlDNjAwMjJCQjAxMDY4OTgyOEE4M0UwMjI1MDAyRTcyMkJCRkUwMkUzMjI4OTgyOEE4M0U0OTMyMkJCMDEwQ0U1ODIyOUY1ODJFNTgzM0FGNTgzRTAyMjUwMDZFOTI1ODJGOEU2MjJCQkZFMDZFOTI1ODJGOEUyMjJFNTgyMjlGNTgyRTUxRgorOjQwMEEwNjAwODMzQUY1ODNFNDkzMjJCQjAxMDY4OTgyOEE4M0YwMjI1MDAyRjcyMkJCRkUwMUYzMjJEMDgzRDA4MkY4RTQ5MzcwMTI3NDAxOTM3MDBEQTNBMzkzRjg3NDAxOTNGNTgyODg4M0U0NzM3NDAyOTM2ODYwRUZBM0EzQTM4MERGOEY1OAorOjQwMEE0NjAwMUJFNEY1MUM3NTFERkY3NTFFMTk3NTFGODZBQjFEQUExRUE5MUY5MDAwMDExMjA5RTBCNDAzMURBRjFDMDUxQ0VGQjUxQjAxMjIxMjA5Qzc3RTAwMjlGRkVFM0FBOTA3NzUxREZGRjUxRTg5MUY4MEQ0N0IwMDdBMDA3OTAwMjJGMworOjQwMEE4NjAwMDUyOEU1MjhBRTI3NzAwMjA1MjcxNEY1ODI4RTgzRTUxMUYwMTIwMDM2MDUyOEU1MjhBQzI3NzAwMjA1MjcxNEY1ODI4QzgzRUZGMDE1MjNFNTIzNjAwNzEyMEQ0NDhGMTE4MENEMjI5MDdGRDhFMEY1MUIxMjAwMDM5MDdGRDZBQgorOjQwMEFDNjAwRTA0NDgwRjAxMjA4QTY5MDdGRDZFMDMwRTcwRTMwMDEwNTEyMENGRTgwMDYxMjBDOEJFRjYwRTExMjA3MzYyMkMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMDkwN0ZDNEU0RjA1MzkxRUY5MDdGQUI3NDA0RjBEMDg2RDBERgorOjQwMEIwNjAwODREMDg1RDA4MkQwODNEMEUwMzJDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDBEMjAyNTM5MUVGOTA3RkFCNzQwMUYwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzJDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDAyNQorOjQwMEI0NjAwRDIwOTUzOTFFRjkwN0ZBQjc0MDhGMEQwODZEMDg0RDA4NUQwODJEMDgzRDBFMDMyOTA3Rjk4NzQxM0YwOTBDMDAwNzRCRkYwOTA3Rjk4NzQxMEYwOTBDMDAwRUZGMDkwN0Y5ODc0MTNGMEU1MTg1NDdGOTBDMDAwRjAyMjkwN0ZEQgorOjQwMEI4NjAwOTg3NDEzRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDExRjA5MEMwMDBFRkYwOTA3Rjk4NzQxM0YwRTUxODU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQxM0YwOTBDMDAwNzRCRkYwOTA3Rjk4NzQxMkYwOTBDMDAwRUZGMDkwN0Y5ODc0MTMwNworOjQwMEJDNjAwRjBFNTE4NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDEzRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDE0RjA5MEMwMDBFRkYwOTA3Rjk4NzQxM0YwRTUxODU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQxM0YwOTBDMDAwNzRCRkYwOTA3Rjk4NzRGMgorOjQwMEMwNjAwMTZGMDkwQzAwMEVGRjA5MDdGOTg3NDEzRjBFNTE4NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDEzRjBFNTE4NTQ3RjkwQzAwMEYwOTA3Rjk4NzQxN0YwOTBDMDAwRUZGMDkwN0Y5ODc0MTVGMDkwQzAwMEVERjAyMjEyMEQyQzhGMUQ0NAorOjQwMEM0NjAwMTIwRDJDOEYxRUU1MUQ2NTFFNjAxMjEyMEQyQzhGMURFNTFENjUxRTYwMDcxMjBEMkM4RjFFODBFOEFGMUQyMjkwN0ZENkUwNTRGQkYwRTA0NDA4RjAzMDE1MDRFMDQ0MDJGMDdGRjQ3RTAxMTIwQ0U3OTA3RkQ2RTA1NEY3RjBEOAorOjQwMEM4NjAwRTA0NDA0RjAyMjkwN0ZEOEUwRjUxQzEyMDczNjEyMEQ1MEVGMzBFNjBCOTA3RkQ4RTA2NTFDNjBGMTdGMDEyMjEyMDAwMzdGMDAyMkFFMDdFNEZGRTUxNTU0N0ZGRDEyMEMxQzkwN0Y5ODc0MTFGMDkwQzAwMEVFRjBFNEU1MTU5OQorOjQwMENDNjAwNDQ4MEZEMTIwQzFDMjIwNTI5MDIwMDAwMDAwMDAzMkYwMzAwMDBDMTg2QzEwMkMxMDlDMTAxQzEwNzAxMjUwMDAwOEUxQzhGMURFNTFEMTUxREFFMUM3MDAyMTUxQzRFNjAwNTEyMDg5NTgwRUUyMjkwN0ZENkUwNDQwMUYwN0Y4NgorOjQwMEQwNjAwMEQ3RTAwMTIwQ0U3OTA3RkQ2RTA1NEZFRjAyMjkwN0Y5ODc0MTFGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MTJGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MTNGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MTRGMDkwQzAwMEUwRkYyMjkwN0YyQgorOjQwMEQ0NjAwOTg3NDE1RjA5MEMwMDBFMEZGMjI5MDdGOTg3NDE2RjA5MEMwMDBFMEZGMjI1M0Q4RUYzMkQyMDEyMkMyMDEyMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MworOjQwMEQ4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRAorOjQwMERDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjBCMTAwMDAyMEVDMAorOjQwMEUwNjAwMDQwMDAyMEFFNjAwMDIwQjM3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MgorOjQwMEU0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2QworOjQwMEU4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyQworOjQwMEVDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFQworOjQwMEYwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBQgorOjQwMEY0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2QgorOjQwMEY4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyQgorOjQwMEZDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFQgorOjQwMTAwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBQQorOjQwMTA0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2QQorOjQwMTA4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyQQorOjQwMTBDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFQQorOjQwMTEwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBOQorOjQwMTE0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2OQorOjQwMTE4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyOQorOjQwMTFDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFOQorOjQwMTIwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBOAorOjQwMTI0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2OAorOjQwMTI4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyOAorOjQwMTJDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFOAorOjQwMTMwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNworOjQwMTM0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NworOjQwMTM4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNworOjQwMTNDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNworOjQwMTQwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNgorOjQwMTQ0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NgorOjQwMTQ4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNgorOjQwMTRDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNgorOjQwMTUwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNQorOjQwMTU0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NQorOjQwMTU4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNQorOjQwMTVDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNQorOjQwMTYwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNAorOjQwMTY0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NAorOjQwMTY4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNAorOjQwMTZDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNAorOjQwMTcwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMworOjQwMTc0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MworOjQwMTc4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMworOjQwMTdDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMworOjQwMTgwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMgorOjQwMTg0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MgorOjQwMTg4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMgorOjQwMThDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMjAxMTAwMUZGMDBCRgorOjQwMTkwNjAwMDA0MENEMDYwODAxMDAwMDAxMDIwMDAyMDkwMjc0MDAwMTAxMDBBMDMyMDkwNDAwMDAwRUZGMDAwMDAwMDcwNTAxMDI0MDAwMDAwNzA1MDIwMjQwMDAwMDA3MDUwMzAyNDAwMDAwMDcwNTA0MDI0MDAwMDAwNzA1MDUwMjQwMDA3RQorOjQwMTk0NjAwMDAwNzA1MDYwMjQwMDAwMDA3MDUwNzAyNDAwMDAwMDcwNTgxMDI0MDAwMDEwNzA1ODIwMjQwMDAwMTA3MDU4MzAyNDAwMDAxMDcwNTg0MDI0MDAwMDEwNzA1ODUwMjQwMDAwMTA3MDU4NjAyNDAwMDAxMDcwNTg3MDI0MDAwMDFGMworOjQwMTk4NjAwMDQwMzA5MDQ0ODAzNEIwMDY1MDA3OTAwNzMwMDcwMDA2MTAwNkUwMDJDMDAyMDAwNjEwMDIwMDA2NDAwNjkwMDc2MDA2OTAwNzMwMDY5MDA2RjAwNkUwMDIwMDA2RjAwNjYwMDIwMDA0OTAwNkUwMDZFMDA2RjAwNTMwMDc5MDA0MAorOjQwMTlDNjAwNzMwMDIwMDA0OTAwNkUwMDYzMDAyRTAwMzYwMzRCMDA2NTAwNzkwMDczMDA3MDAwNjEwMDZFMDAyMDAwNTUwMDUzMDA0MjAwMjAwMDUzMDA2NTAwNzIwMDY5MDA2MTAwNkMwMDIwMDA0MTAwNjQwMDYxMDA3MDAwNzQwMDY1MDBGOQorOjA0MUEwNjAwNzIwMDAwMDA2QQorOjAwMDAwMDAxRkYKKworCVRoZSBmaXJtd2FyZSBjb250YWluZWQgaGVyZWluIGlzCisKKwkJQ29weXJpZ2h0IChDKSAxOTk5LTIwMDEKKwkJS2V5c3BhbiwgQSBkaXZpc2lvbiBvZiBJbm5vU3lzIEluY29ycG9yYXRlZCAoIktleXNwYW4iKQorCisJYXMgYW4gdW5wdWJsaXNoZWQgd29yay4gVGhpcyBub3RpY2UgZG9lcyBub3QgaW1wbHkgdW5yZXN0cmljdGVkIG9yCisJcHVibGljIGFjY2VzcyB0byB0aGUgc291cmNlIGNvZGUgZnJvbSB3aGljaCB0aGlzIGZpcm13YXJlIGltYWdlIGlzCisJZGVyaXZlZC4gIEV4Y2VwdCBhcyBub3RlZCBiZWxvdyB0aGlzIGZpcm13YXJlIGltYWdlIG1heSBub3QgYmUKKwlyZXByb2R1Y2VkLCB1c2VkLCBzb2xkIG9yIHRyYW5zZmVycmVkIHRvIGFueSB0aGlyZCBwYXJ0eSB3aXRob3V0CisJS2V5c3BhbidzIHByaW9yIHdyaXR0ZW4gY29uc2VudC4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisKKwlQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkIGZvciB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmlybXdhcmUKKwlpbWFnZSBhcyBwYXJ0IG9mIGEgTGludXggb3Igb3RoZXIgT3BlbiBTb3VyY2Ugb3BlcmF0aW5nIHN5c3RlbSBrZXJuZWwKKwlpbiB0ZXh0IG9yIGJpbmFyeSBmb3JtIGFzIHJlcXVpcmVkLgorCisJVGhpcyBmaXJtd2FyZSBtYXkgbm90IGJlIG1vZGlmaWVkIGFuZCBtYXkgb25seSBiZSB1c2VkIHdpdGgKKwlLZXlzcGFuIGhhcmR3YXJlLiAgRGlzdHJpYnV0aW9uIGFuZC9vciBNb2RpZmljYXRpb24gb2YgdGhlCisJa2V5c3Bhbi5jIGRyaXZlciB3aGljaCBpbmNsdWRlcyB0aGlzIGZpcm13YXJlLCBpbiB3aG9sZSBvciBpbgorCXBhcnQsIHJlcXVpcmVzIHRoZSBpbmNsdXNpb24gb2YgdGhpcyBzdGF0ZW1lbnQuIgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUva2V5c3Bhbi91c2EyOC5IRVggYi9maXJtd2FyZS9rZXlzcGFuL3VzYTI4LkhFWApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMDBjOTc4NgotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2tleXNwYW4vdXNhMjguSEVYCkBAIC0wLDAgKzEsMTQ4IEBACis6MEEwMDI2MDAxMjE3REIxMjE4QjUxMjE0QzMyMkUyCis6MDMwMDMzMDAwMjAwMURBQgorOjA0MDAxRDAwNTNEOEVGMzI5MworOjEwMDAwNjAwOEUxMjhGMTNFNTEzMTUxM0FFMTI3MDAyMTUxMjRFNjA4MQorOjA3MDAxNjAwMDUxMjE4QTQ4MEVFMjI4MAorOjAzMDAwMzAwMDIwMDQ2QjIKKzoxMDAwNDYwMEMwRTBDMDgzQzA4MkMwODY3NTg2MDBDMEQwNzVEMDA4NjcKKzoxMDAwNTYwMDMwOTkwRTMwMTEwN0EyMTc5MjlCODU0Njk5QzI5OUQyMDQKKzoxMDAwNjYwMDFGMzBDMTBFMzAxMjA3QTIxODkyQzM4NTQ3QzFDMkMxMDQKKzoxMDAwNzYwMEQyMjAyMDFGMDMwMjA0NDJDMjFGMjAwMzAzMDIwMjY3OEMKKzoxMDAwODYwMDIwMTEwMzAyMDEzOEU1NEFDMzk1N0M1MDNFMjAxMzM2MDEKKzoxMDAwOTYwMDIwMEIzMzkwN0Y5QkUwMjBFMzAzMjAxQzI5MzAxQjEyQUEKKzoxMDAwQTYwMEFFNEEwNTRBNzQ0MDJFRjU4MkU0MzQ3RUY1ODNFMDEzQTkKKzoxMDAwQjYwMDkyMTdBRTRBMDU0QTc0NDAyRUY1ODJFNDM0N0VGNTgzRTMKKzoxMDAwQzYwMEUwRjU0NjAyMDQ0MEMyMTEwMjA0NDA5MDdGQzdFNEYwMDYKKzoxMDAwRDYwMEMyMDMzMDE1MENDMjE1OTA3RkJGMDRGMEMyMTEwMjA0OTIKKzoxMDAwRTYwMDQwOTA3RkM4RTAzMEUxMDVDMjExMDIwNDQwOTA3RkM5MEMKKzoxMDAwRjYwMEUwRjU3QzkwN0RDMEUwMTM5MjE1MjAxMzJEMjAwQjJBOEQKKzowMzAwNDMwMDAyMUIwMDlECis6MDMwMDIzMDAwMjAwNDY5MgorOjAzMDAzQjAwMDIwMDQ2N0EKKzowMzAwMDAwMDAyMTYzREE4Cis6NDAwMTA2MDA5MDdGOUJFMDIwRTMwMzIwMUMyMDMwMUIxMTkwN0RDMUUwMTM5MjE3QTNFMEY1NDY3NTRBMDMwMjA0NDA3NTRBMDI5MDdEQzFFMEY1NDYwMjA0NDA3NTRBMDFDMjExMDIwNDQwRTU0QUMzOTU3QzUwMDMwMjAxRTA5MDdGQzZFMDhBCis6NDAwMTQ2MDAzMEUxMDdDMjIxQzIwNTAyMDQ0MDkwN0ZDN0UwRjU3QzkwN0U0MEUwMTM5MjE1MzAxMzAzMDIwMUQ4MjAwQjcyMjAwMDZGOTA3RjlCRTAyMEUzMDMyMDFDNjUzMDFCMTA5MDdFNDFFMDEzOTI5QkEzRTBGNTk5NzU0QTAzODAwOUJFCis6NDAwMTg2MDA5MDdFNDFFMEY1OTk3NTRBMDJFNTRBQzM5NTdDNDAxNzkwN0ZDN0U0RjBDMjAzMjAxNTAzMDIwNDQwQzIxNTkwN0ZCRjA0RjAwMjA0NDAzMDFCMTJBRTRBMDU0QTc0NDAyRUY1ODJFNDM0N0VGNTgzRTAxMzkyMTdBRTRBMDU0QUE3Cis6NDAwMUM2MDA3NDQwMkVGNTgyRTQzNDdFRjU4M0UwRjU0NkQyMTEwMjA0NDA3NTRBMDFDMjIxMDIwNDQwMzAxMzAzMDIwMjYyMjAwQjc5OTA3RjlCRTAyMEUzMDMyMDFDNkYzMDFCMTJBRTRBMDU0QTc0NDAyRUY1ODJFNDM0N0VGNTgzRTAxM0RDCis6NDAwMjA2MDA5MjlCQUU0QTA1NEE3NDQwMkVGNTgyRTQzNDdFRjU4M0UwRjU5OUU1NEFDMzk1N0M0MDE3OTA3RkM3RTRGMEMyMDMyMDE1MDMwMjA0NDBDMjE1OTA3RkJGMDRGMDAyMDQ0MDMwMUIxMkFFNEEwNTRBNzQ0MDJFRjU4MkU0MzQ3RUI2Cis6NDAwMjQ2MDBGNTgzRTAxMzkyMTdBRTRBMDU0QTc0NDAyRUY1ODJFNDM0N0VGNTgzRTBGNTQ2RDIxMTAyMDQ0MEMyMjEwMjA0NDAyMDExMDMwMjAzMTlFNTRBQzM5NTdDNTAzRTIwMTMzNjIwMEIzMzkwN0Y5QkUwMjBFMzAzMjAxQzI5MzAxQjVGCis6NDAwMjg2MDAxMkFFNEEwNTRBNzRDMDJFRjU4MkU0MzQ3REY1ODNFMDEzOTIxN0FFNEEwNTRBNzRDMDJFRjU4MkU0MzQ3REY1ODNFMEY1NDYwMjA0NDBDMjExMDIwNDQwOTA3RkM5RTRGMEQyMDMzMDE1MENDMjE1OTA3RkJGMDRGMEMyMTEwMjc2Cis6NDAwMkM2MDAwNDQwOTA3RkM2RTAzMEUxMDVDMjExMDIwNDQwOTA3RkM3RTBGNTdDOTA3RTQwRTAxMzkyMTUyMDEzMkQyMDBCMkE5MDdGOUJFMDIwRTMwMzIwMUMyMDMwMUIxMTkwN0U0MUUwMTM5MjE3QTNFMEY1NDY3NTRBMDMwMjA0NDA3NTlFCis6NDAwMzA2MDA0QTAyOTA3RTQxRTBGNTQ2MDIwNDQwNzU0QTAxQzIxMTAyMDQ0MEU1NEFDMzk1N0M1MDAzMDIwM0MxOTA3RkM4RTAzMEUxMDdDMjIxQzIwNTAyMDQ0MDkwN0ZDOUUwRjU3QzkwN0RDMEUwMTM5MjE1MzAxMzAzMDIwM0I5MjAwQjQ4Cis6NDAwMzQ2MDA3MjIwMDA2RjkwN0Y5QkUwMjBFMzAzMjAxQzY1MzAxQjEwOTA3REMxRTAxMzkyOUJBM0UwRjU5OTc1NEEwMzgwMDk5MDdEQzFFMEY1OTk3NTRBMDJFNTRBQzM5NTdDNDAxNzkwN0ZDOUU0RjBEMjAzMjAxNTAzMDIwNDQwQzIxNTczCis6NDAwMzg2MDA5MDdGQkYwNEYwMDIwNDQwMzAxQjEyQUU0QTA1NEE3NEMwMkVGNTgyRTQzNDdERjU4M0UwMTM5MjE3QUU0QTA1NEE3NEMwMkVGNTgyRTQzNDdERjU4M0UwRjU0NkQyMTEwMjA0NDA3NTRBMDFDMjIxMDIwNDQwMzAxMzAzMDIwNDYzCis6NDAwM0M2MDAzRTIwMEI3NDkwN0Y5QkUwMjBFMzAzMjAxQzZBMzAxQjEyQUU0QTA1NEE3NEMwMkVGNTgyRTQzNDdERjU4M0UwMTM5MjlCQUU0QTA1NEE3NEMwMkVGNTgyRTQzNDdERjU4M0UwRjU5OUU1NEFDMzk1N0M0MDEzOTA3RkM5RTRGMDlECis6NDAwNDA2MDBEMjAzMzAxNTM1QzIxNTkwN0ZCRjA0RjA4MDJDMzAxQjEyQUU0QTA1NEE3NEMwMkVGNTgyRTQzNDdERjU4M0UwMTM5MjE3QUU0QTA1NEE3NEMwMkVGNTgyRTQzNDdERjU4M0UwRjU0NkQyMTE4MDAyQzIyMUQyMjUyMDIwMDMwMjMwCis6NDAwNDQ2MDAwODBDQzIyMDIwMDQwMzAyMDYzMTIwMTIwMzAyMDUwMkU1NEJDMzk1N0Q1MDNFMjAxNDM2MjAwRDMzOTA3RjlBRTAyMEU1MDMyMDFFMjkzMDFEMTJBRTRCMDU0Qjc0NDAyRUY1ODJFNDM0N0RGNTgzRTAxMzkyMThBRTRCMDU0Qjk5Cis6NDAwNDg2MDA3NDQwMkVGNTgyRTQzNDdERjU4M0UwRjU0NzAyMDgwQUMyMTIwMjA4MEE5MDdGQ0JFNEYwQzIwNDMwMTYwQ0MyMTY5MDdGQzEwNEYwQzIxMjAyMDgwQTkwN0ZDQ0UwMzBFMTA1QzIxMjAyMDgwQTkwN0ZDREUwRjU3RDkwN0NDMEJCCis6NDAwNEM2MDBFMDEzOTIxNjIwMTQyRDIwMEQyQTkwN0Y5QUUwMjBFNTAzMjAxRTIwMzAxRDExOTA3Q0MxRTAxMzkyMThBM0UwRjU0Nzc1NEIwMzAyMDgwQTc1NEIwMjkwN0NDMUUwRjU0NzAyMDgwQTc1NEIwMUMyMTIwMjA4MEFFNTRCQzM5NTY2Cis6NDAwNTA2MDA3RDUwMDMwMjA1QUE5MDdGQ0FFMDMwRTEwN0MyMjJDMjA2MDIwODBBOTA3RkNCRTBGNTdEOTA3RDQwRTAxMzkyMTYzMDE0MDMwMjA1QTIyMDBENzIyMDAwNkY5MDdGOUFFMDIwRTUwMzIwMUU2NTMwMUQxMDkwN0Q0MUUwMTM5MjBECis6NDAwNTQ2MDBDM0EzRTBGNUMxNzU0QjAzODAwOTkwN0Q0MUUwRjVDMTc1NEIwMkU1NEJDMzk1N0Q0MDE3OTA3RkNCRTRGMEMyMDQyMDE2MDMwMjA4MEFDMjE2OTA3RkMxMDRGMDAyMDgwQTMwMUQxMkFFNEIwNTRCNzQ0MDJFRjU4MkU0MzQ3RDI0Cis6NDAwNTg2MDBGNTgzRTAxMzkyMThBRTRCMDU0Qjc0NDAyRUY1ODJFNDM0N0RGNTgzRTBGNTQ3RDIxMjAyMDgwQTc1NEIwMUMyMjIwMjA4MEEzMDE0MDMwMjA2MkMyMDBENzk5MDdGOUFFMDIwRTUwMzIwMUU2RjMwMUQxMkFFNEIwNTRCNzQ0MEU5Cis6NDAwNUM2MDAyRUY1ODJFNDM0N0RGNTgzRTAxMzkyQzNBRTRCMDU0Qjc0NDAyRUY1ODJFNDM0N0RGNTgzRTBGNUMxRTU0QkMzOTU3RDQwMTc5MDdGQ0JFNEYwQzIwNDIwMTYwMzAyMDgwQUMyMTY5MDdGQzEwNEYwMDIwODBBMzAxRDEyQUU0QjkxCis6NDAwNjA2MDAwNTRCNzQ0MDJFRjU4MkU0MzQ3REY1ODNFMDEzOTIxOEFFNEIwNTRCNzQ0MDJFRjU4MkU0MzQ3REY1ODNFMEY1NDdEMjEyMDIwODBBQzIyMjAyMDgwQTIwMTIwMzAyMDZFM0U1NEJDMzk1N0Q1MDNFMjAxNDM2MjAwRDMzOTA3RjFBCis6NDAwNjQ2MDA5QUUwMjBFNTAzMjAxRTI5MzAxRDEyQUU0QjA1NEI3NEMwMkVGNTgyRTQzNDdDRjU4M0UwMTM5MjE4QUU0QjA1NEI3NEMwMkVGNTgyRTQzNDdDRjU4M0UwRjU0NzAyMDgwQUMyMTIwMjA4MEE5MDdGQ0RFNEYwRDIwNDMwMTYwQzQzCis6NDAwNjg2MDBDMjE2OTA3RkMxMDRGMEMyMTIwMjA4MEE5MDdGQ0FFMDMwRTEwNUMyMTIwMjA4MEE5MDdGQ0JFMEY1N0Q5MDdENDBFMDEzOTIxNjIwMTQyRDIwMEQyQTkwN0Y5QUUwMjBFNTAzMjAxRTIwMzAxRDExOTA3RDQxRTAxMzkyMThBMzUyCis6NDAwNkM2MDBFMEY1NDc3NTRCMDMwMjA4MEE3NTRCMDI5MDdENDFFMEY1NDcwMjA4MEE3NTRCMDFDMjEyMDIwODBBRTU0QkMzOTU3RDUwMDMwMjA3OEI5MDdGQ0NFMDMwRTEwN0MyMjJDMjA2MDIwODBBOTA3RkNERTBGNTdEOTA3Q0MwRTAxM0FDCis6NDAwNzA2MDA5MjE2MzAxNDAzMDIwNzgzMjAwRDcyMjAwMDZGOTA3RjlBRTAyMEU1MDMyMDFFNjUzMDFEMTA5MDdDQzFFMDEzOTJDM0EzRTBGNUMxNzU0QjAzODAwOTkwN0NDMUUwRjVDMTc1NEIwMkU1NEJDMzk1N0Q0MDE3OTA3RkNERTRGMEFFCis6NDAwNzQ2MDBEMjA0MjAxNjAzMDIwODBBQzIxNjkwN0ZDMTA0RjAwMjA4MEEzMDFEMTJBRTRCMDU0Qjc0QzAyRUY1ODJFNDM0N0NGNTgzRTAxMzkyMThBRTRCMDU0Qjc0QzAyRUY1ODJFNDM0N0NGNTgzRTBGNTQ3RDIxMjAyMDgwQTc1NEIwMTczCis6NDAwNzg2MDBDMjIyMDIwODBBMzAxNDAzMDIwODA4MjAwRDc0OTA3RjlBRTAyMEU1MDMyMDFFNkEzMDFEMTJBRTRCMDU0Qjc0QzAyRUY1ODJFNDM0N0NGNTgzRTAxMzkyQzNBRTRCMDU0Qjc0QzAyRUY1ODJFNDM0N0NGNTgzRTBGNUMxRTU0QjNGCis6NDAwN0M2MDBDMzk1N0Q0MDEzOTA3RkNERTRGMEQyMDQzMDE2MzVDMjE2OTA3RkMxMDRGMDgwMkMzMDFEMTJBRTRCMDU0Qjc0QzAyRUY1ODJFNDM0N0NGNTgzRTAxMzkyMThBRTRCMDU0Qjc0QzAyRUY1ODJFNDM0N0NGNTgzRTBGNTQ3RDIxMjJBCis6NDAwODA2MDA4MDAyQzIyMkQyMjUyMDk4MDMwMjA5M0VDMjk4MjAwMTAzMDIwOEIwMjAyMzI3QUU0ODA1NDg3NDgwMkVGNTgyRTQzNDdFRjU4M0U1OTlGMDMwMUI0OUFFNDgwNTQ4NzQ4MDJFRjU4MkU0MzQ3RUY1ODNFNTk4RjA4MDM2QUY5OTZFCis6NDAwODQ2MDBFRkI1NTgwNEQyMEI4MDJDRUZCNTU3MDRDMjBCODAyNEFFNDgwNTQ4NzQ4MDJFRjU4MkU0MzQ3RUY1ODNFRkYwMzAxQjExQUU0ODA1NDg3NDgwMkVGNTgyRTQzNDdFRjU4M0U1OThGMEQyMTlFNTQ4QzM5NTU0NTAwMzAyMDkzQzlGCis6NDAwODg2MDA5MDdGQjhFMDMwRTExNUU1NDhDMzk0NDA1MDAzMDIwOTNDMTU0ODE1NDgwNTJERDIwQzAyMDkzQzkwN0ZCN0U1NDhGMDc1NDgwMEMyMDEwMjA5M0MyMDIzMjdBRTQ4MDU0ODc0MDAyRUY1ODJFNDM0N0VGNTgzRTU5OUYwMzAxQkJGCis6NDAwOEM2MDA0OUFFNDgwNTQ4NzQwMDJFRjU4MkU0MzQ3RUY1ODNFNTk4RjA4MDM2QUY5OUVGQjU1ODA0RDIwQjgwMkNFRkI1NTcwNEMyMEI4MDI0QUU0ODA1NDg3NDAwMkVGNTgyRTQzNDdFRjU4M0VGRjAzMDFCMTFBRTQ4MDU0ODc0MDAyRTUxCis6NDAwOTA2MDBGNTgyRTQzNDdFRjU4M0U1OThGMEQyMTlFNTQ4QzM5NTU0NDAyMzkwN0ZCNkUwMzBFMTExRTU0OEMzOTQ0MDQwMTUxNTQ4MTU0ODA1MkREMjBDODAwQjkwN0ZCOUU1NDhGMDc1NDgwMEQyMDFEMjI1MjBDMDAzMDIwQTcwQzJDMDE2Cis6NDAwOTQ2MDAyMDAyMDMwMjA5RTIyMDI0MjdBRTQ5MDU0OTc0ODAyRUY1ODJFNDM0N0RGNTgzRTVDMUYwMzAxRDQ5QUU0OTA1NDk3NDgwMkVGNTgyRTQzNDdERjU4M0U1QzBGMDgwMzZBRkMxRUZCNTcwMDREMjBEODAyQ0VGQjU2RjA0QzIwREFFCis6NDAwOTg2MDA4MDI0QUU0OTA1NDk3NDgwMkVGNTgyRTQzNDdERjU4M0VGRjAzMDFEMTFBRTQ5MDU0OTc0ODAyRUY1ODJFNDM0N0RGNTgzRTVDMEYwRDIxQUU1NDlDMzk1NkM1MDAzMDIwQTZFOTA3RkJDRTAzMEUxMTVFNTQ5QzM5NDQwNTAwMzUxCis6NDAwOUM2MDAwMjBBNkUxNTQ5MTU0OTA1MzlEMjBFMDIwQTZFOTA3RkJCRTU0OUYwNzU0OTAwQzIwMjAyMEE2RTIwMjQyN0FFNDkwNTQ5NzQwMDJFRjU4MkU0MzQ3REY1ODNFNUMxRjAzMDFENDlBRTQ5MDU0OTc0MDAyRUY1ODJFNDM0N0RGNTU1Cis6NDAwQTA2MDA4M0U1QzBGMDgwMzZBRkMxRUZCNTcwMDREMjBEODAyQ0VGQjU2RjA0QzIwRDgwMjRBRTQ5MDU0OTc0MDAyRUY1ODJFNDM0N0RGNTgzRUZGMDMwMUQxMUFFNDkwNTQ5NzQwMDJFRjU4MkU0MzQ3REY1ODNFNUMwRjBEMjFBRTU0OTgzCis6NDAwQTQ2MDBDMzk1NkM0MDIzOTA3RkJBRTAzMEUxMTFFNTQ5QzM5NDQwNDAxNTE1NDkxNTQ5MDUzOUQyMEU4MDBCOTA3RkJERTU0OUYwNzU0OTAwRDIwMkQyMjUzMDI1MDVDMjI1MDIwMDU2RDBEMEQwODZEMDgyRDA4M0QwRTAzMjkwN0ZDRTk5Cis6NDAwQTg2MDBFMDMwRTEwMzAyMEJBNUU0RjUxMjc0NDAyNTEyRjU4MkU0MzQ3Q0Y1ODNFMEZGRTUxMjdDMDA3QjAwMjQ0Q0Y5RUMzNDAwRkFFRjEyMTVDRDA1MTJFNTEyQjQxOERCRTU0QzYwMEM3NUM5MjA3NUM4MzY4NTREQ0E4NTRFQ0JFNUJDCis6NDAwQUM2MDA0RjEzOTIxQjkyOUZFNTUwMTM5MjFDRTU1MTEzOTIyM0U1NTI2MDA5OTA3Rjk4RTA1NEZCRjA4MDA3OTA3Rjk4RTA0NDA0RjBFNTUzNjAwOTkwN0Y5OEUwNTQ3RkYwODAwNzkwN0Y5OEUwNDQ4MEYwRTU1OTYwMEJDMjEzQzIwQjE4Cis6NDAwQjA2MDA5MDdGOTVFMDQ0MDJGMEU1NUE2MDBCRDIwQkQyMEM5MDdGOTVFMDQ0MDJGMEU1NUI2MDBEQzJBRkMyMTFEMjAwRTRGNTdDRjU0QUQyQUZFNTVDNjAwNTMwMjMwMkQyMEJFNTVENjAxNTkwN0Y5NUUwNTRGREYwOTA3RjlFRTA0NEQ5Cis6NDAwQjQ2MDAwMkYwOTA3Rjk4RTA1NEZERjBFNTVFNjAwQUQyOUNDMjk4NzUyRTAxNzU0MDI4RTU1RjYwMDdDMjlDRTRGNTQ4RjUyRUU1NjA2MDAzRTRGNTQ4RTU2MTYwMDJEMjA3RTU2MjYwMDhFNTVFNzAwMkY1NDBEMjBDRTU2MzYwMTk5MDYwCis6NDAwQjg2MDA3RkQ3NzQxMUYwNzQzMUYwNzQxMkYwNzQzMkYwNzQxNUYwNzQzNUYwRDIwM0QyMDFEMjA5RTQ5MDdGQ0ZGMEEyMTNFNDMzRkY2NTJCNjAwNDhGMkJEMjBDQTIwQkU0MzNGRjY1MkM2MDA0OEYyQ0QyMEM5MDdGOUJFMDU0MDg2NTg5Cis6NDAwQkM2MDAyNzYwMDdFMDU0MDhGNTI3RDIwQzkwN0Y5QkUwNTQ0MEI1MjkwOUUwNTQ0MDY0NDBGNTI5RDIwQzMwMDczNUMyQUYzMDAxMTg5MDdGQjhFMDIwRTEyN0U1NDg2MDA5OTA3RkI3RjBFNEY1NDhDMjAxQzIwNzgwMTY5MDdGQjZFMEU5Cis6NDAwQzA2MDAyMEUxMEZFNTQ4NjAwOTkwN0ZCOUYwRTRGNTQ4RDIwMUMyMDdEMkFGMjAwNTM3MzAwMzFCOTA3RkM2RTAyMEUxMkQ5MDdFNDBFMDEzOTIxNTc1NEEwMTkwN0ZDN0UwRjU3Q0QyMDU4MDE5OTA3RkM4RTAyMEUxMTI5MDdEQzBFMENGCis6NDAwQzQ2MDAxMzkyMTU3NTRBMDE5MDdGQzlFMEY1N0NEMjA1MjAyMTMzMjAwMDA2RTU0QTY1N0M3MDJBMzAwNTFBMzAwMzA5RTQ5MDdGQzdGMEMyMDM4MDA3RTQ5MDdGQzlGMEQyMDNDMjA1RTRGNTdDRjU0QTMwMTUwQUMyMTVDMjAwOTA3RjVDCis6NDAwQzg2MDBCRjc0MDFGMDMwMjEwMzAyMEQ5NDIwMDUwMzAyMEQ5NDMwMUMwQTkwN0Y5QkUwMjBFMzAzMDIwRDk0MzAwQjAzMDIwRDk0MzAxMzAzMDIwRDk0MzAwMzYyMzAxQjEyQUY0QTA1NEE3NDQwMkZGNTgyRTQzNDdFRjU4M0UwMTM5MkNFCis6NDAwQ0M2MDAyREFGNEEwNTRBNzQ0MDJGRjU4MkU0MzQ3RUY1ODNFMEY1MTNFNTRBQzM5NTdDNTAyQTMwMUIxMkFGNEEwNTRBNzQ0MDJGRjU4MkU0MzQ3RUY1ODNFMDEzOTIxN0FGNEEwNTRBNzQ0MDJGRjU4MkU0MzQ3RUY1ODNFMEY1NDZEMjY2Cis6NDAwRDA2MDAxMTgwNkJDMjExRTQ5MDdGQzdGMEMyMDM4MDYwMzAxQjEyQUY0QTA1NEE3NEMwMkZGNTgyRTQzNDdERjU4M0UwMTM5MjJEQUY0QTA1NEE3NEMwMkZGNTgyRTQzNDdERjU4M0UwRjUxM0U1NEFDMzk1N0M1MDJBMzAxQjEyQUY0QTY3Cis6NDAwRDQ2MDAwNTRBNzRDMDJGRjU4MkU0MzQ3REY1ODNFMDEzOTIxN0FGNEEwNTRBNzRDMDJGRjU4MkU0MzQ3REY1ODNFMEY1NDZEMjExODAwOUMyMTFFNDkwN0ZDOUYwRDIwMzMwMUIwNEEyMkQ5MjlCRDIyMUMyQUY4NTEzOTkyMDExMEQzMDQzCis6NDAwRDg2MDAxNTBBQzIxNUMyMDA5MDdGQkY3NDAxRjBEMkFGOTA3RkQwRTAzMEUxMDMwMjBFQjVFNEY1MTI3NEMwMjUxMkY1ODJFNDM0N0JGNTgzRTBGRkU1MTI3QzAwN0IwMDI0NjRGOUVDMzQwMEZBRUYxMjE1Q0QwNTEyRTUxMkI0MThEQjUxCis6NDAwREM2MDBFNTY0NjAwQjc1ODk2MDc1ODg0MEQyREY4NTY1OERFNTY3MTM5MjFEOTJDN0U1NjgxMzkyMUVFNTY5MTM5MjI0RTU2QTYwMDk5MDdGOTdFMDU0RUZGMDgwMDc5MDdGOTdFMDQ0MTBGMEU1NkI2MDA5OTA3Rjk3RTA1NDdGRjA4MEE0Cis6NDAwRTA2MDAwNzkwN0Y5N0UwNDQ4MEYwRTU3MTYwMEJDMjE0QzIwRDkwN0Y5NEUwNDQwOEYwRTU3MjYwMEJEMjBERDIwRTkwN0Y5NEUwNDQwOEYwRTU3MzYwMERDMkFGQzIxMkQyMDBFNEY1N0RGNTRCRDJBRkU1NzQ2MDA1MzAyNDAyRDIwRDIwCis6NDAwRTQ2MDBFNTc1NjAxNTkwN0Y5NEUwNTRGN0YwOTA3RjlERTA0NDA4RjA5MDdGOTdFMDU0RjdGMEU1NzY2MDBBRDJDNEMyQzA3NTNBMDE3NTQxMjhFNTc3NjAwN0MyQzRFNEY1NDlGNTNBRTU3ODYwMDNFNEY1NDlFNTc5NjAwMkQyMDhFNUYwCis6NDAwRTg2MDA3QTYwMDhFNTc2NzAwMkY1NDFEMjBFRTU3QjYwMTk5MDdGRDc3NDEzRjA3NDMzRjA3NDE0RjA3NDM0RjA3NDE2RjA3NDM2RjBEMjA0RDIwMkQyMEFFNDkwN0ZEMUYwQTIxNEU0MzNGRjY1Mzc2MDA0OEYzN0QyMEVBMjBERTQzMzA0Cis6NDAwRUM2MDBGRjY1Mzg2MDA0OEYzOEQyMEU5MDdGOUFFMDU0MjA2NTMzNjAwN0UwNTQyMEY1MzNEMjBFOTA3RjlBRTA1NDQwQjUzNTA5RTA1NDQwNjQ0MEY1MzVEMjBFMzAwODM1QzJBRjMwMDIxODkwN0ZCQ0UwMjBFMTI3RTU0OTYwMDk5MDk5Cis6NDAwRjA2MDA3RkJCRjBFNEY1NDlDMjAyQzIwODgwMTY5MDdGQkFFMDIwRTEwRkU1NDk2MDA5OTA3RkJERjBFNEY1NDlEMjAyQzIwOEQyQUYyMDA2MzczMDA0MUI5MDdGQ0FFMDIwRTEyRDkwN0Q0MEUwMTM5MjE2NzU0QjAxOTA3RkNCRTBGNTAzCis6NDAwRjQ2MDA3REQyMDY4MDE5OTA3RkNDRTAyMEUxMTI5MDdDQzBFMDEzOTIxNjc1NEIwMTkwN0ZDREUwRjU3REQyMDYyMDIyMzMyMDAwMDZFNTRCNjU3RDcwMkEzMDA2MUEzMDA0MDlFNDkwN0ZDQkYwQzIwNDgwMDdFNDkwN0ZDREYwRDIwNDJDCis6NDAwRjg2MDBDMjA2RTRGNTdERjU0QjMwMTYwQUMyMTZDMjAwOTA3RkMxNzQwMUYwMzAyMjAzMDIxMEE0MjAwNjAzMDIxMEE0MzAxRTBBOTA3RjlBRTAyMEU1MDMwMjEwQTQzMDBEMDMwMjEwQTQzMDE0MDMwMjEwQTQzMDA0NjIzMDFEMTJBRjhFCis6NDAwRkM2MDA0QjA1NEI3NDQwMkZGNTgyRTQzNDdERjU4M0UwMTM5MjJEQUY0QjA1NEI3NDQwMkZGNTgyRTQzNDdERjU4M0UwRjUxM0U1NEJDMzk1N0Q1MDJBMzAxRDEyQUY0QjA1NEI3NDQwMkZGNTgyRTQzNDdERjU4M0UwMTM5MjE4QUY0Qjc4Cis6NDAxMDA2MDAwNTRCNzQ0MDJGRjU4MkU0MzQ3REY1ODNFMEY1NDdEMjEyODA2QkMyMTJFNDkwN0ZDQkYwQzIwNDgwNjAzMDFEMTJBRjRCMDU0Qjc0QzAyRkY1ODJFNDM0N0NGNTgzRTAxMzkyMkRBRjRCMDU0Qjc0QzAyRkY1ODJFNDM0N0NGNUYyCis6NDAxMDQ2MDA4M0UwRjUxM0U1NEJDMzk1N0Q1MDJBMzAxRDEyQUY0QjA1NEI3NEMwMkZGNTgyRTQzNDdDRjU4M0UwMTM5MjE4QUY0QjA1NEI3NEMwMkZGNTgyRTQzNDdDRjU4M0UwRjU0N0QyMTI4MDA5QzIxMkU0OTA3RkNERjBEMjA0MzAxREY0Cis6NDAxMDg2MDAwNEEyMkQ5MkMzRDIyMkMyQUY4NTEzQzEyMDEyMEQzMDE2MEFDMjE2QzIwMDkwN0ZDMTc0MDFGMEQyQUY5MDdGQzJFMDMwRTEwMzAyMTE3QUU1MUE3MDQ2MzAwQzNGRTU0MDcwM0JBMjA5MzNGNTMxQzIwOUMyMENFNEY1MTI3RTBECis6NDAxMEM2MDAwMDdCMDA3NDI2MjUxMkY5RUUzNDAwRkExMjE1ODdGRjc0ODAyNTEyRjU4MkU0MzQ3QkY1ODNFRkYwMDUxMkU1MTJCNDBDREI5MDdGQzM3NDBDRjA3NTQwMTAyMjc1MUEwMTIyRTUxQTY0MDE3MDQ1MzAwRTNFRTU0MTcwM0FBMkM1Cis6NDAxMTA2MDAwQTMzRjUzREMyMEFDMjBFRTRGNTEyN0UwMDdCMDA3NDMyMjUxMkY5RUUzNDAwRkExMjE1ODdGRjc0ODAyNTEyRjU4MkU0MzQ3QkY1ODNFRkYwMDUxMkU1MTJCNDBDREI5MDdGQzM3NDBDRjA3NTQxMTA3NTFBMDIyMkU1MUM2MENBCis6NDAxMTQ2MDAzMDE1MUNFNEY1MTI3RTAwN0IwMDc0MUIyNTEyRjlFRTM0MDBGQTEyMTU4N0ZGNzQ4MDI1MTJGNTgyRTQzNDdCRjU4M0VGRjAwNTEyRTUxMkI0MDNEQjkwN0ZDMzc0MDNGMEU0RjUxQTIyOTA3RkU5RTAxMjE2MTcxMjQwMDAxMkE3Cis6NDAxMTg2MDBCNDAxMTMyMDAzMTE5RTA2MTIzMzA4MTIyRDA5MTIyMDBBMTM3NjBCMDAwMDEzNkY5MDdGRUJFMDI0RkU2MDE2MTQ2MDQwMjQwMjcwNjk3NDE5OTA3RkQ0RjA3NDAwOTA3RkQ1RjAwMjEzNzY5MDdGRUFFMEZGMTIxNzRCOEIxMjYxCis6NDAxMUM2MDA4QTEzODkxNEVBNDk2MDExQUUwMkVFOTA3RkQ0RjBBRjAxRUY5MDdGRDVGMDAyMTM3NjkwN0ZCNEUwNDQwMUYwMDIxMzc2OTA3RkVBRTBGRjEyMTc5QThCMTI4QTEzODkxNEVBNDk2MDExQUUwMkVFOTA3RkQ0RjBBRjAxRUY5MDgzCis6NDAxMjA2MDA3RkQ1RjAwMjEzNzY5MDdGQjRFMDQ0MDFGMDAyMTM3NjkwN0ZCNEUwNDQwMUYwMDIxMzc2OTA3RjAwNzQwMUYwOTA3RkI1RjAwMjEzNzYxMjE0QzMwMjEzNzY5MDdGMDA3NDAxRjA5MDdGQjVGMDAyMTM3NjkwN0ZFOEUwMjQ3RkJGCis6NDAxMjQ2MDA2MDI0MTQ2MDMxMjQwMjcwNUJBMjI2RTQzM0ZGMjVFMEZGQTIyQkU0MzM0RjkwN0YwMEYwRTRBM0YwOTA3RkI1NzQwMkYwMDIxMzc2RTQ5MDdGMDBGMEEzRjA5MDdGQjU3NDAyRjAwMjEzNzY5MDdGRUNFMEY0NTQ4MEZGQzQ1NDI5Cis6NDAxMjg2MDAwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTgzRTA1NEZEOTA3RjAwRjBFNEEzRjA5MDdGQjU3NDAyRjAwMjEzNzY5MDdGQjRFMDQ0MDFGMDAyMTM3NjkwN0ZFOEUwMjRGRTYwMUQyNDAyNjAwMzAyMTM3NjkwN0ZFQTBCCis6NDAxMkM2MDBFMEI0MDEwNUMyMjYwMjEzNzY5MDdGQjRFMDQ0MDFGMDAyMTM3NjkwN0ZFQUUwNzAzODkwN0ZFQ0UwRjQ1NDgwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyRTQzNDdGRjU4M0U0RjA5MDdGRUNFMDU0ODBGRjEzMTMxM0E3Cis6NDAxMzA2MDA1NDFGRkZFMDU0MDcyRjkwN0ZEN0YwRTA0NDIwRjA4MDVGOTA3RkI0RTA0NDAxRjA4MDU2OTA3RkU4RTAyNEZFNjAxODI0MDI3MDRBOTA3RkVBRTBCNDAxMDREMjI2ODAzRjkwN0ZCNEUwNDQwMUYwODAzNjkwN0ZFQUUwNzAyMEEzCis6NDAxMzQ2MDA5MDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODM3NDAxRjA4MDEwOTA3RkI0RTA0NDAxRjA4MDA3OTA3RkI0RTA0NDAxRjA5MDdGQjRFMDQ0MDJGMDIyMjAyODAzMDIxNEMyRTU0MDYzCis6NDAxMzg2MDA2MDAyMTU0MEU1NDg2MDRGNjU0NDcwNDVFNTQyRjQ2MDAyMDU0MkU1NDJDMzk1NTU0MDNEQzJBRjMwMDExODkwN0ZCOEUwMjBFMTI3OTA3RkI3RTU0OEYwQzIwMUU0RjU0OEY1NDJGNTQ0ODAxNjkwN0ZCNkUwMjBFMTBGOTA3RjA3Cis6NDAxM0M2MDBCOUU1NDhGMEQyMDFFNEY1NDhGNTQyRjU0NEQyQUY4MDA2ODU0ODQ0RTRGNTQyRTUyRTYwMkQyMDE5MDc5MDdGOUJFMDMwRTAwRUU1MkY2MDA1RTRGNTJGRDIwQ0U0RjUzRTgwMTNFNTNFRDM5NTU2NTAwQ0U1M0VCNTU2MDU3NTA0Cis6NDAxNDA2MDAyRjAxRDIwQzA1M0VDMjE5RTU0MTYwMDIxNTQxRTU0OTYwNEY2NTQ1NzA0NUU1NDNGNDYwMDIwNTQzRTU0M0MzOTU2RDQwM0RDMkFGMzAwMjE4OTA3RkJDRTAyMEUxMjc5MDdGQkJFNTQ5RjBDMjAyRTRGNTQ5RjU0M0Y1NDU4MEUyCis6NDAxNDQ2MDAxNjkwN0ZCQUUwMjBFMTBGOTA3RkJERTU0OUYwRDIwMkU0RjU0OUY1NDNGNTQ1RDJBRjgwMDY4NTQ5NDVFNEY1NDNFNTNBNjAyRDIwMUEwNzkwN0Y5QUUwMzBFMjBFRTUzQjYwMDVFNEY1M0JEMjBFRTRGNTNGODAxM0U1M0ZEMzVFCis6NDAxNDg2MDA5NTZFNTAwQ0U1M0ZCNTZFMDU3NTNCMDFEMjBFMDUzRkMyMUE5MDdGRDJFMDIwRTEyMzkwN0I0MEUwNjAwOUUwRjUxQzkwN0I0MkUwRjUxRDkwN0I0MUUwNjAwOTkwN0ZENzc0MTdGMDc0MzdGMEU0OTA3RkQzRjAyMkU0OTA3RkM1Cis6NDAxNEM2MDA5M0YwOTA3RjlDNzQzMEYwOTA3Rjk2RTA0NDEwRjA5MDdGOTQ3NDBERjA5MDdGOUQ3NDlBRjA5MDdGOTdFMDU0RkRGMDkwN0Y5NTc0MjNGMDkwN0Y5RTc0ODRGMEU0OTA3RkM3RjA5MDdGQzlGMDkwN0ZDRkYwNzU5ODQwNDNBODlFCis6NDAxNTA2MDAxMEMyMUJDMjA1QzIyMUMyMEJDMjEzRjU3Q0Y1NEFDMjExQzIxNUY1NDJDMjE5RjU0NEY1NDhDMjIzQzIxQ0Y1MkRGNTJGQzIwN0MyMDBDMjFGRjUzRUMyMDlEMjBDRjUyNjkwN0ZDQkYwOTA3RkNERjA5MDdGRDFGMDc1QzA0MDQzCis6NDAxNTQ2MDA0M0E4NDBDMjFEQzIwNkMyMjJDMjBEQzIxNEY1N0RGNTRCQzIxMkMyMTZGNTQzQzIxQUY1NDVGNTQ5QzIyNEMyMUVGNTM5RjUzQkMyMDhDMjAwQzIyMEY1M0ZDMjBBRDIwRTc1MzIwMTkwN0ZERjc0RkZGMDkwN0ZERUYwRDIyOERFCis6NDAxNTg2MDAyMkJCMDEwNjg5ODI4QTgzRTAyMjUwMDJFNzIyQkJGRTAyRTMyMjg5ODI4QTgzRTQ5MzIyQkIwMTBDRTU4MjI5RjU4MkU1ODMzQUY1ODNFMDIyNTAwNkU5MjU4MkY4RTYyMkJCRkUwNkU5MjU4MkY4RTIyMkU1ODIyOUY1ODJFNTUzCis6NDAxNUM2MDA4MzNBRjU4M0U0OTMyMkJCMDEwNjg5ODI4QTgzRjAyMjUwMDJGNzIyQkJGRTAxRjMyMkJCMDExMEU1ODIyOUY1ODJFNTgzM0FGNTgzRTBGNUYwQTNFMDIyNTAwOUU5MjU4MkY4ODZGMDA4RTYyMkJCRkUwQUU5MjU4MkY4RTJGNTExCis6NDAxNjA2MDBGMDA4RTIyMkU1ODMyQUY1ODNFOTkzRjVGMEEzRTk5MzIyRDA4M0QwODJGOEU0OTM3MDEyNzQwMTkzNzAwREEzQTM5M0Y4NzQwMTkzRjU4Mjg4ODNFNDczNzQwMjkzNjg2MEVGQTNBM0EzODBERjc4N0ZFNEY2RDhGRDc1ODE3RDBFCis6NDAxNjQ2MDAwMjE2ODQwMjE2QzlFNDkzQTNGOEU0OTNBMzQwMDNGNjgwMDFGMjA4REZGNDgwMjlFNDkzQTNGODU0MDcyNDBDQzhDMzMzQzQ1NDBGNDQyMEM4ODM0MDA0RjQ1NjgwMDE0NkY2REZFNDgwMEIwMTAyMDQwODEwMjA0MDgwOTAxODFBCis6NDAxNjg2MDBDNUU0N0UwMTkzNjBCQ0EzRkY1NDNGMzBFNTA5NTQxRkZFRTQ5M0EzNjAwMTBFQ0Y1NEMwMjVFMDYwQTg0MEI4RTQ5M0EzRkFFNDkzQTNGOEU0OTNBM0M4QzU4MkM4Q0FDNTgzQ0FGMEEzQzhDNTgyQzhDQUM1ODNDQURGRTlERTM5Cis6NDAxNkM2MDBFNzgwQkU3NTExMDE5MDdGOTJFMDU0RkRGMDkwN0ZBRUUwRkZEMzkyMjZFNDMzRkVFRjRFRjBEMkU4NDNEODIwOTA3RkRFNzQwMUYwOTA3RkRGRjA5MDdGQUI3NEZGRjA5MDdGQTlGMDkwN0ZBQUYwNTM5MUVGOTA3RkFGRTA0NEM1Cis6NDAxNzA2MDAwMUYwOTA3RkFFRTA0NDBERjBEMkFGRDJCQ0QyQkVEMjJEMTIxODdGQzIyN0MyMjVDMjI4MzAyODAzMTIwQTgzOTA3RkQ4RTA2NTEwNjAwOEUwRjUxMDEyMTM3RTgwRUEzMDI3MDdDMjI3MTIxMTdCODBFMDMwMkNEREMyMkMxMkM1Cis6NDAxNzQ2MDAwMDI2ODBENjIyRTRGRTc1MTdGRjc1MTgxOTc1MTkxMkFCMTdBQTE4QTkxOTkwMDAwMTEyMTVBMDY0MDI3MDJEQUQwNjBFRURCNTA3MDEyMjkwMDAwMjEyMTVERjg1RjAxNUY1MTY2MjE1RTUxNTYyMTZFNTE2NjIxNTI5RkRFNTUxCis6NDAxNzg2MDAxNTNBQTkwNTc1MTdGRkY1MTg4OTE5ODBDMzdCMDA3QTAwNzkwMDIyOEYxNUU0RjUxNjc1MTdGRjc1MTgxOTc1MTk4NkFCMTdBQTE4QTkxOTkwMDAwMTEyMTVBMEI0MDMxREFGMTYwNTE2RUZCNTE1MDEyMjEyMTU4NzdFMDAyOUJFCis6NDAxN0M2MDBGRkVFM0FBOTA3NzUxN0ZGRjUxODg5MTk4MEQ0N0IwMDdBMDA3OTAwMjJFNDkwN0Y5M0YwOTA3RjlDRjA5MDdGOTRGMDkwN0Y5RDc0MDJGMDkwN0Y5N0YwRTQ5MDdGOTVGMDkwN0Y5RTc0RkZGMEU0OTA3Rjk4RjA5MDdGOURGMDAzCis6NDAxODA2MDAyMkMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMDkwN0ZDNEU0RjA1MzkxRUY5MDdGQUI3NDA0RjBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMkMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMEQyMjc1MzkxRUY5MDI0Cis6NDAxODQ2MDA3RkFCNzQwMUYwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzJDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDBEMjJDNTM5MUVGOTA3RkFCNzQwOEYwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzI5MDdGRDZFMDU0RkJGMERECis6NDAxODg2MDBFMDQ0MDhGMDMwMkQwNEUwNDQwMkYwN0ZGNDdFMDExMjAwMDY5MDdGRDZFMDU0RjdGMEUwNDQwNEYwMjI3NDAwRjU4NjkwRkRBNTdDMDVBM0U1ODI0NTgzNzBGOTIyOTA3RkQ2RTA0NDgwRjA0Mzg3MDEwMDAwMDAwMDAwMjJDMTI1Cis6NDAxOEM2MDBBQTAxMUEwMDAzMUIwMzAwMDBDMTI3QzEyQ0MxMjZDMTJCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEyMDExMDAxRkYwMDMxCis6NDAxOTA2MDAwMDQwQ0QwNjBGMDEwMDAwMDEwMjAwMDEwOTAyNzQwMDAxMDEwMEEwMzIwOTA0MDAwMDBFRkYwMDAwMDAwNzA1MDEwMjQwMDAwMDA3MDUwMjAyNDAwMDAwMDcwNTAzMDI0MDAwMDAwNzA1MDQwMjQwMDAwMDA3MDUwNTAyNDAwMDc4Cis6NDAxOTQ2MDAwMDA3MDUwNjAyNDAwMDAwMDcwNTA3MDI0MDAwMDAwNzA1ODEwMjQwMDAwMTA3MDU4MjAyNDAwMDAxMDcwNTgzMDI0MDAwMDEwNzA1ODQwMjQwMDAwMTA3MDU4NTAyNDAwMDAxMDcwNTg2MDI0MDAwMDEwNzA1ODcwMjQwMDAwMUYzCis6NDAxOTg2MDAwNDAzMDkwNDQ4MDM0QjAwNjUwMDc5MDA3MzAwNzAwMDYxMDA2RTAwMkMwMDIwMDA2MTAwMjAwMDY0MDA2OTAwNzYwMDY5MDA3MzAwNjkwMDZGMDA2RTAwMjAwMDZGMDA2NjAwMjAwMDQ5MDA2RTAwNkUwMDZGMDA1MzAwNzkwMDQwCis6NDAxOUM2MDA3MzAwMjAwMDQ5MDA2RTAwNjMwMDJFMDAzNjAzNEIwMDY1MDA3OTAwNzMwMDcwMDA2MTAwNkUwMDIwMDA1NTAwNTMwMDQyMDAyMDAwNTMwMDY1MDA3MjAwNjkwMDYxMDA2QzAwMjAwMDQxMDA2NDAwNjEwMDcwMDA3NDAwNjUwMEY5Cis6NDAxQTA2MDA3MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJFCis6NDAxQTQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYwCis6NDAxQTg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIwCis6NDAxQUM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMTgzMTAwMDIxQjc4Cis6MDkxQjA2MDAwNDAwMDIxODA3MDAwMjE4NTgzRgorOjAwMDAwMDAxRkYKKworCVRoZSBmaXJtd2FyZSBjb250YWluZWQgaGVyZWluIGlzCisKKwkJQ29weXJpZ2h0IChDKSAxOTk5LTIwMDEKKwkJS2V5c3BhbiwgQSBkaXZpc2lvbiBvZiBJbm5vU3lzIEluY29ycG9yYXRlZCAoIktleXNwYW4iKQorCisJYXMgYW4gdW5wdWJsaXNoZWQgd29yay4gVGhpcyBub3RpY2UgZG9lcyBub3QgaW1wbHkgdW5yZXN0cmljdGVkIG9yCisJcHVibGljIGFjY2VzcyB0byB0aGUgc291cmNlIGNvZGUgZnJvbSB3aGljaCB0aGlzIGZpcm13YXJlIGltYWdlIGlzCisJZGVyaXZlZC4gIEV4Y2VwdCBhcyBub3RlZCBiZWxvdyB0aGlzIGZpcm13YXJlIGltYWdlIG1heSBub3QgYmUKKwlyZXByb2R1Y2VkLCB1c2VkLCBzb2xkIG9yIHRyYW5zZmVycmVkIHRvIGFueSB0aGlyZCBwYXJ0eSB3aXRob3V0CisJS2V5c3BhbidzIHByaW9yIHdyaXR0ZW4gY29uc2VudC4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisKKwlQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkIGZvciB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmlybXdhcmUKKwlpbWFnZSBhcyBwYXJ0IG9mIGEgTGludXggb3Igb3RoZXIgT3BlbiBTb3VyY2Ugb3BlcmF0aW5nIHN5c3RlbSBrZXJuZWwKKwlpbiB0ZXh0IG9yIGJpbmFyeSBmb3JtIGFzIHJlcXVpcmVkLgorCisJVGhpcyBmaXJtd2FyZSBtYXkgbm90IGJlIG1vZGlmaWVkIGFuZCBtYXkgb25seSBiZSB1c2VkIHdpdGgKKwlLZXlzcGFuIGhhcmR3YXJlLiAgRGlzdHJpYnV0aW9uIGFuZC9vciBNb2RpZmljYXRpb24gb2YgdGhlCisJa2V5c3Bhbi5jIGRyaXZlciB3aGljaCBpbmNsdWRlcyB0aGlzIGZpcm13YXJlLCBpbiB3aG9sZSBvciBpbgorCXBhcnQsIHJlcXVpcmVzIHRoZSBpbmNsdXNpb24gb2YgdGhpcyBzdGF0ZW1lbnQuIgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUva2V5c3Bhbi91c2EyOHguSEVYIGIvZmlybXdhcmUva2V5c3Bhbi91c2EyOHguSEVYCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlmMGY3ZmEKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9rZXlzcGFuL3VzYTI4eC5IRVgKQEAgLTAsMCArMSwxNDEgQEAKKzowMzAwMzMwMDAyMTJGN0JGCis6MTAwMDAzMDBFNDkwN0Y5M0YwOTA3RjlDNzQzMEYwRTQ5MDdGOTZGMEJGCis6MTAwMDEzMDA5MDdGOTRGMDkwN0Y5RDc0RkZGMEU0OTA3Rjk3RjA5MDMxCis6MEYwMDIzMDA3Rjk1RjA5MDdGOUU3NDA3RjBFNDkwN0Y5OEYwMjIxNQorOjEwMDA0NjAwMzAwOTE4MTIxMzFCRUZDMzk1M0M0MDAzMDIwMEQ4OTBFOQorOjEwMDA1NjAwN0ZCRjc0MDFGMEMyMDlDMjAwODA3NzMwMDMzQjkwN0ZGNgorOjEwMDA2NjAwQzZFMDIwRTE2RDEyMTMxQkVGQzM5NDQwNTA2NDkwN0VFRQorOjEwMDA3NjAwNDBFMDEzOTIwOTkwN0ZDN0UwMTRGNTE5MjAwMDExNjA0MworOjEwMDA4NjAwMEZGNTA4N0U3RTdGNDE3NTBDN0U3NTBENDExMjBDQkEwOAorOjEwMDA5NjAwQzIwM0U0OTA3RkM3RjA4MDM5OTA3RkM4RTAyMEUxMzI0OAorOjEwMDBBNjAwMTIxMzFCRUZDMzk0NDA1MDI5OTA3REMwRTAxMzkyMDlCMAorOjEwMDBCNjAwOTA3RkM5RTAxNEY1MTkyMDAwMTE2MDBGRjUwODdFN0RDOAorOjEwMDBDNjAwN0ZDMTc1MEM3RDc1MERDMTEyMENCQUQyMDNFNDkwN0YwOQorOjEwMDBENjAwQzlGMDkwN0ZCNkUwMzBFMTAzMDIwMTYwMTIxMUQ2OEZCRAorOjEwMDBFNjAwMTkxMjEzMjc4RjM2RTUxOUMzOTUzQTUwMEYxMjEyRUJFMgorOjEwMDBGNjAwRUYzMEUwMDhFNTM2MjBFNzAzMzAwQjVFQzIwQkU1MTk2QQorOjBDMDAzNjAwOTA3Rjk4NzQxMEYwOTBDMDAwRTBGRjIyNTIKKzowMzAwNDMwMDAyMTMwMEE1Cis6MDMwMDAwMDAwMjBFMDBFRAorOjQwMDEwNjAwNjA1OEI0ODAwMzQzMzYwMkU1MzYzMEU3MjZFNTE5RDM5NDIwNDAwMzc1MTkyMDg1MTkwODdFN0U3RjgwNzUwQzdFNzUwRDgwQUYzNjEyMEY0QkU1MTkyNUUwOTA3RkI3RjA4MDI3RTUxOUQzOTQzRjQwMDM3NTE5M0Y4NTE5MDhENAorOjQwMDE0NjAwOTA3RTgwRTUzNkYwN0U3RTdGODE3NTBDN0U3NTBEODExMjBDREZFNTE5MDQ5MDdGQjdGMDkwN0ZDRUUwMzBFMTA2MjAwNTAzMDIwM0MxQzIwNUU0RjUxODc0NDAyNTE4RjU4MkU0MzQ3Q0Y1ODNFMEZGRTUxODdDMDA3QjAxN0FGMQorOjQwMDE4NjAwN0U3OTAwMjQwMEY5RUMzNDdFRkFFRjEyMEVEMjA1MThFNTE4QjQyMEQ3OTA3RTAwRTA2MDY4OTA3RTAzRTA2MDI0N0YwMUU0RkQxMjExQjE3RjAzN0RDRDEyMTFCMTQzNDY4MDkwN0Y5ODc0MTRGMDkwQzAwMEU1NDZGMEU0OTBFMAorOjQwMDFDNjAwN0UxM0YwODAzMDkwN0UwMUUwRkYxMjEwMzU5MDdFMDJFMEZGMTIxMDVCN0YwMTkwN0UxMUUwRkQxMjExQjE3RjAzN0QwNzEyMTFCMTQzNDY4MDkwN0Y5ODc0MTRGMDkwQzAwMEU1NDZGMDkwN0Y5ODc0MTJGMEU1NDA0NDA2OTAzRQorOjQwMDIwNjAwQzAwMEYwOTA3RTAzRTA3MDA2OTA3RTEzRTA3MDA4RTQ5MDdFMTNGMDc1MjVGRjkwN0UwNUUwNjAxMkEzRTA1NDNGRjU0NDkwN0Y5ODc0MTNGMDkwQzAwMEU1NDRGMDkwN0UwN0UwNjAyQkEzRTA2MDA1NDM0MjgwODAwMzUzNDJEQQorOjQwMDI0NjAwN0Y1MzQyRkM5MDdFMDlFMDYwMTE0MzQyMDJBM0UwRkYxMjEwQTc5MDdFMEJFMEZGMTIxMENEQUY0MjEyMTA4MTkwN0UwM0UwNjAwODUzNDI3RkFGNDIxMjEwODE5MDdFMENFMDYwMThBM0UwNjAwNTQzNDYwMjgwMDM1MzQ2RkRCNAorOjQwMDI4NjAwOTA3Rjk4NzQxNEYwOTBDMDAwRTU0NkYwOTA3RTBFRTA2MDE4QTNFMDYwMDU0MzQ2MDE4MDAzNTM0NkZFOTA3Rjk4NzQxNEYwOTBDMDAwRTU0NkYwOTA3RTEyRTBGNTNBQTNFMDEzOTIwREEzRTBGNTNDQTNFMDYwMDU0MzQ2MTA4QgorOjQwMDJDNjAwODAwMzUzNDZFRjkwN0Y5ODc0MTRGMDkwQzAwMEU1NDZGMDkwN0UxNkUwNjAzMjUzNDRCRjkwN0Y5ODc0MTNGMEU1NDQ1NDdGOTBDMDAwRjA5MDdGOTg3NDExRjAxMjEyREZFRjU0RkU5MEMwMDBGMDUzM0VGREU0RkZBRDNFMTIwRgorOjQwMDMwNjAwMTFCMUU0RjUyQUY1MjlEMjA3OTA3RTE3RTA2MDBGNDMzRTAyRTRGRkFEM0UxMjExQjE3NTI5MDFEMjA3OTA3RTE4RTA2MDEwOTA3Rjk4NzQxMkYwRTU0MDQ0MDQ5MEMwMDBGMEQyMDA5MDdFMTlFMDYwMTE0MzQ0NDA5MDdGOThGMgorOjQwMDM0NjAwNzQxM0YwRTU0NDU0N0Y5MEMwMDBGMDkwN0UxQUUwNjAwRjUzM0VGRUU0RkZBRDNFMTIxMUIxNzUyQjAxRDIwNzkwN0UxQkUwNjAwRjQzM0UwMUU0RkZBRDNFMTIxMUIxRTRGNTJCRDIwNzkwN0UxQ0UwNjAwRTkwN0Y5ODc0MTI4NAorOjQwMDM4NjAwRjBFNTQwNDQwMjkwQzAwMEYwOTA3RTFERTA2MDAyRDIwQjkwN0UxRUUwNjAwODc1MkMwMUU0RjUzOEQyMDc5MDdFMUZFMDYwMTE5MDdGRDc3NDExRjA3NDMxRjA3NDE1RjA3NDM1RjBEMjAzRTQ5MDdGQ0ZGMDMwMUE1MkU1Mzg5MgorOjQwMDNDNjAwNjAwMjE1MzgyMDEzNDlFNTEzRDM5NDAwNDAwNDE1MTM4MDNFNzUxMzBBMzAxQjAyRDIxMzEyMTJERkVGNTQwMUY1MTk2NTJBNjAwNTg1MTkyQUQyMDcxMjEzMzNFRjU0ODBGNTE5NjUyNjYwMDU4NTE5MjZEMjA3MzAwRDExMTI3RgorOjQwMDQwNjAwMTMzM0VGNTQxMEY1MTk2NTI1NjAwNTg1MTkyNUQyMDcyMDFCMDMwMjA3RUMzMDBBMTgxMjEzNkZFRkMzOTUzRDQwMDMwMjA0QUU5MDdGQzE3NDAxRjBDMjBBQzIwMDgwNzczMDA0M0I5MDdGQ0FFMDIwRTE2RDEyMTM2RkVGQzM1QQorOjQwMDQ0NjAwOTQ0MDUwNjQ5MDdENDBFMDEzOTIwQTkwN0ZDQkUwMTRGNTE5MjAwMDExNjAwRkY1MDg3RTdEN0Y0MTc1MEM3RDc1MEQ0MTEyMEQwNEMyMDRFNDkwN0ZDQkYwODAzOTkwN0ZDQ0UwMjBFMTMyMTIxMzZGRUZDMzk0NDA1MDI5OTBCQworOjQwMDQ4NjAwN0NDMEUwMTM5MjBBOTA3RkNERTAxNEY1MTkyMDAwMTE2MDBGRjUwODdFN0M3RkMxNzUwQzdDNzUwREMxMTIwRDA0RDIwNEU0OTA3RkNERjA5MDdGQkFFMDMwRTEwMzAyMDUzNjEyMTIyMDhGMTkxMjEzN0I4RjM3RTUxOUMzOTUyQgorOjQwMDRDNjAwM0I1MDBGMTIxMzU3RUYzMEUwMDhFNTM3MjBFNzAzMzAwQzVFQzIwQ0U1MTk2MDU4QjQ4MDAzNDMzNzAyRTUzNzMwRTcyNkU1MTlEMzk0MjA0MDAzNzUxOTIwODUxOTA4N0U3RDdGODA3NTBDN0Q3NTBEODBBRjM3MTIwRjg0RTUwMworOjQwMDUwNjAwMTkyNUUwOTA3RkJCRjA4MDI3RTUxOUQzOTQzRjQwMDM3NTE5M0Y4NTE5MDg5MDdEODBFNTM3RjA3RTdEN0Y4MTc1MEM3RDc1MEQ4MTEyMEQyOUU1MTkwNDkwN0ZCQkYwOTA3RkQwRTAzMEUxMDYyMDA2MDMwMjA3OTdDMjA2RTRGOAorOjQwMDU0NjAwRjUxODc0QzAyNTE4RjU4MkU0MzQ3QkY1ODNFMEZGRTUxODdDMDA3QjAxN0E3RTc5MjAyNDIwRjlFQzM0N0VGQUVGMTIwRUQyMDUxOEU1MThCNDIwRDc5MDdFMjBFMDYwNjg5MDdFMjNFMDYwMjQ3RjAxRTRGRDEyMTFGQjdGMDMyOQorOjQwMDU4NjAwN0RDRDEyMTFGQjQzNDc4MDkwN0Y5ODc0MENGMDkwQzAwMEU1NDdGMEU0OTA3RTMzRjA4MDMwOTA3RTIxRTBGRjEyMTExOTkwN0UyMkUwRkYxMjExM0Y3RjAxOTA3RTMxRTBGRDEyMTFGQjdGMDM3RDA3MTIxMUZCNDM0NzgwOTA0OAorOjQwMDVDNjAwN0Y5ODc0MENGMDkwQzAwMEU1NDdGMDkwN0Y5ODc0MEFGMEU1NDE0NDA2OTBDMDAwRjA5MDdFMjNFMDcwMDY5MDdFMzNFMDcwMDhFNDkwN0UzM0YwNzUyRUZGOTA3RTI1RTA2MDEyQTNFMDU0M0ZGNTQ1OTA3Rjk4NzQwQkYwOTBFQgorOjQwMDYwNjAwQzAwMEU1NDVGMDkwN0UyN0UwNjAyQkEzRTA2MDA1NDM0MzgwODAwMzUzNDM3RjUzNDNGQzkwN0UyOUUwNjAxMTQzNDMwMkEzRTBGRjEyMTE2NTkwN0UyQkUwRkYxMjExOEJBRjQzMTIxMEYzOTA3RTIzRTA2MDA4NTM0MzdGQUZGRQorOjQwMDY0NjAwNDMxMjEwRjM5MDdFMkNFMDYwMThBM0UwNjAwNTQzNDcwMjgwMDM1MzQ3RkQ5MDdGOTg3NDBDRjA5MEMwMDBFNTQ3RjA5MDdFMkVFMDYwMThBM0UwNjAwNTQzNDcwMTgwMDM1MzQ3RkU5MDdGOTg3NDBDRjA5MEMwMDBFNTQ3RjBENAorOjQwMDY4NjAwOTA3RTMyRTBGNTNCQTNFMDEzOTIwRUEzRTBGNTNEQTNFMDYwMDU0MzQ3MTA4MDAzNTM0N0VGOTA3Rjk4NzQwQ0YwOTBDMDAwRTU0N0YwOTA3RTM2RTA2MDMyNTM0NUJGOTA3Rjk4NzQwQkYwRTU0NTU0N0Y5MEMwMDBGMDkwN0Y3OQorOjQwMDZDNjAwOTg3NDA5RjAxMjEzNEJFRjU0RkU5MEMwMDBGMDUzM0ZGREU0RkZBRDNGMTIxMUZCRTRGNTMzRjUzMkQyMDg5MDdFMzdFMDYwMEY0MzNGMDJFNEZGQUQzRjEyMTFGQjc1MzIwMUQyMDg5MDdFMzhFMDYwMTA5MDdGOTg3NDBBRjA0MworOjQwMDcwNjAwRTU0MTQ0MDQ5MEMwMDBGMEQyMDA5MDdFMzlFMDYwMTE0MzQ1NDA5MDdGOTg3NDBCRjBFNTQ1NTQ3RjkwQzAwMEYwOTA3RTNBRTA2MDBGNTMzRkZFRTRGRkFEM0YxMjExRkI3NTM0MDFEMjA4OTA3RTNCRTA2MDBGNDMzRjAxRTRFOQorOjQwMDc0NjAwRkZBRDNGMTIxMUZCRTRGNTM0RDIwODkwN0UzQ0UwNjAwRTkwN0Y5ODc0MEFGMEU1NDE0NDAyOTBDMDAwRjA5MDdFM0RFMDYwMDJEMjBDOTA3RTNFRTA2MDA4NzUzNTAxRTRGNTM5RDIwODkwN0UzRkUwNjAxMTkwN0ZENzc0MTM4OQorOjQwMDc4NjAwRjA3NDMzRjA3NDE2RjA3NDM2RjBEMjA0RTQ5MDdGRDFGMDMwMUE1MkU1Mzk2MDAyMTUzOTMwMTM0OUU1MTNEMzk0MDA0MDA0MTUxMzgwM0U3NTEzMEEzMDFCMDJDMjEzMTIxMzRCRUY1NDAxRjUxOTY1MzM2MDA1ODUxOTMzRDI3OQorOjQwMDdDNjAwMDgxMjEzODdFRjU0ODBGNTE5NjUyRjYwMDU4NTE5MkZEMjA4MzAwRTExMTIxMzg3RUY1NDEwRjUxOTY1MkU2MDA1ODUxOTJFRDIwODMwMUEyQTkwN0ZEMkUwMjBFMTIzOTA3QjQwRTA2MDA5RTBGNTE1OTA3QjQyRTBGNTE2OTAzNQorOjQwMDgwNjAwN0I0MUUwNjAwOTkwN0ZENzc0MTdGMDc0MzdGMEU0OTA3RkQzRjA5MDdGQzJFMDMwRTEwMzAyMDkyMEU1MEE3MDQwMzAwNzM5RTUzODcwMzVDMjA3RjUxODdFMDA3QjAwNzQyNDI1MThGOUVFMzQwMEZBMTIwRThDRkY3NDgwMjVCRAorOjQwMDg0NjAwMThGNTgyRTQzNDdCRjU4M0VGRjAwNTE4RTUxOEI0MDlEQjkwN0ZDMzc0MDlGMDc1MzgxMEU0RjUyQzc1MEEwMTIyRTUwQTY0MDE3MDQwMzAwODM5RTUzOTcwMzVDMjA4RjUxODdFMDA3QjAwNzQyRDI1MThGOUVFMzQwMEZBMTI5NworOjQwMDg4NjAwMEU4Q0ZGNzQ4MDI1MThGNTgyRTQzNDdCRjU4M0VGRjAwNTE4RTUxOEI0MDlEQjkwN0ZDMzc0MDlGMDc1MzkxMEU0RjUzNTc1MEEwMjIyRTUwQTY0MDI3MDM2MzAxNDJGQzIxNEY1MTg3RTAwN0IwMDc0MEUyNTE4RjlFRTM0MDA4MworOjQwMDhDNjAwRkExMjBFOENGRjc0ODAyNTE4RjU4MkU0MzQ3QkY1ODNFRkYwMDUxOEU1MThCNDA1REI5MDdGQzM3NDA1RjA3NTBBMDMyMkU1MTU2MDMwMTUxNUU0RjUxODdFMDA3QjAwNzQxNDI1MThGOUVFMzQwMEZBMTIwRThDRkY3NDgwMjVGMgorOjQwMDkwNjAwMThGNTgyRTQzNDdCRjU4M0VGRjAwNTE4RTUxOEI0MDNEQjkwN0ZDMzc0MDNGMEU0RjUwQTIyOTA3RkU5RTAxMjBFRTQwQTA4MDAwQTdDMDEwQUU4MDMwOTQ0MDYwOUZCMDgwOUY1MDkwOUREMEEwOUVDMEIwMDAwMEIzNzkwN0YzRAorOjQwMDk0NjAwRUJFMDI0RkU2MDE5MTQ2MDYxMjQwMjYwMDMwMjA5RDM3NDE5OTA3RkQ0RjA3NDAwOTA3RkQ1RjAwMjBCM0U5MDdGRUFFMDcwMDQ3RjAyODAwMjdGMDM3NTgyODI3NTgzMTlFRkYwNzU4MjdCNzU4MzE5RjA3NTgyNzQ3NTgzMTlCMgorOjQwMDk4NjAwRjA3NTgyNjY3NTgzMTlGMDc1ODI1ODc1ODMxOUYwOTA3RkVBRTAwNDc1ODIxNzc1ODMxOUYwNzQxOTkwN0ZENEYwNzQxMjkwN0ZENUYwMDIwQjNFOTA3RkVBRTBGRjEyMEYwQUVBNDk2MDBERUE5MDdGRDRGMEU5OTA3RkQ1RjA4NQorOjQwMDlDNjAwMDIwQjNFOTA3RkI0RTA0NDAxRjAwMjBCM0U5MDdGQjRFMDQ0MDFGMDAyMEIzRTkwN0YwMEU1MDlGMDkwN0ZCNTc0MDFGMDAyMEIzRTkwN0ZFQUUwRjUwOTAyMEIzRTEyMEI0NjAyMEIzRTkwN0YwMDc0MDFGMDkwN0ZCNUYwMDIwNQorOjQwMEEwNjAwMEIzRTkwN0ZFOEUwMjQ3RjYwMjQxNDYwMzEyNDAyNzA1QkEyMTBFNDMzRkYyNUUwRkZBMjE2RTQzMzRGOTA3RjAwRjBFNEEzRjA5MDdGQjU3NDAyRjAwMjBCM0VFNDkwN0YwMEYwQTNGMDkwN0ZCNTc0MDJGMDAyMEIzRTkwN0YwNAorOjQwMEE0NjAwRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODNFMDU0RkQ5MDdGMDBGMEU0QTNGMDkwN0ZCNTc0MDJGMDAyMEIzRTkwN0ZCNEUwNDQwMUYwMDIwQjNFOTA3RkU4RTAyNEZFNjAxRDI0MDIwRgorOjQwMEE4NjAwNjAwMzAyMEIzRTkwN0ZFQUUwQjQwMTA1QzIxMDAyMEIzRTkwN0ZCNEUwNDQwMUYwMDIwQjNFOTA3RkVBRTA3MDM4OTA3RkVDRTBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTgzRTRGMDkwN0ZCNgorOjQwMEFDNjAwRUNFMDU0ODBGRjEzMTMxMzU0MUZGRkUwNTQwNzJGOTA3RkQ3RjBFMDQ0MjBGMDgwNUY5MDdGQjRFMDQ0MDFGMDgwNTY5MDdGRThFMDI0RkU2MDE4MjQwMjcwNEE5MDdGRUFFMEI0MDEwNEQyMTA4MDNGOTA3RkI0RTA0NDAxRjA0OQorOjQwMEIwNjAwODAzNjkwN0ZFQUUwNzAyMDkwN0ZFQ0UwRjQ1NDgwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyRTQzNDdGRjU4Mzc0MDFGMDgwMTA5MDdGQjRFMDQ0MDFGMDgwMDc5MDdGQjRFMDQ0MDFGMDkwN0ZCNEUwNDQwMkYwMjJENAorOjQwMEI0NjAwRTQ5MDdGOTNGMDkwN0Y5Qzc0MzBGMEU0OTA3Rjk2RjA5MDdGOTU3NEMwRjA5MDdGOUU3NDNGRjA5MDdGOTg3NDE4RjBFNEY1OEU5MDdGREY3NEZGRjA5MDdGREVGMEU0RjUyNDc1MTgwMTdCMDA3NDI0MjUxOEY5RTQzNDAwRkE4QgorOjQwMEI4NjAwRTQxMjBFRDIwNTE4RTUxOEI0MDlFQTc1M0EwMUU0RjUzOEY1MTNGNTM2QzIwN0MyMEJDMjA1QzIwMEMyMDlDMjEzOTA3Rjk4NzQxM0YwNzU0NDAzOTBDMDAwNzQwM0YwN0YwQ0U0RkQxMjExQjE3RjEwOEY0MjEyMTA4MTkwN0YwMgorOjQwMEJDNjAwOTg3NDEyRjA3RjAxOEY0MEVGNDQwNjkwQzAwMEYwOTA3Rjk4NzQxNEYwNzU0NjgwOTBDMDAwNzQ4MEYwMEZFNEZEMTIxMUIxRTRGRjdFQTNBRDA2OEQzRTEyMTFCMTkwN0Y5ODc0MTFGMDkwQzAwMEU0RjA3RjA1N0Q3RjEyMTE4RQorOjQwMEMwNjAwQjE3RjAxMTIxMjZBN0YwMzdEMDcxMjExQjEyMDFCMDMwMjBDQjc3NTJEMDE3NTE4MDE3QjAwNzQyRDI1MThGOUU0MzQwMEZBRTQxMjBFRDIwNTE4RTUxOEI0MDlFQTc1M0IwMUU0RjUzOUY1MTNGNTM3QzIwOEMyMENDMjA2QzJDRAorOjQwMEM0NjAwMDBDMjBBQzIxMzkwN0Y5ODc0MEJGMDc1NDUwMzkwQzAwMDc0MDNGMDdGMENFNEZEMTIxMUZCN0YxMDhGNDMxMjEwRjM5MDdGOTg3NDBBRjA3RjAxOEY0MUVGNDQwNjkwQzAwMEYwOTA3Rjk4NzQwQ0YwNzU0NzgwOTBDMDAwNzQ0RQorOjQwMEM4NjAwODBGMDBGRTRGRDEyMTFGQkU0RkY3RUEzQUQwNjhEM0YxMjExRkI5MDdGOTg3NDA5RjA5MEMwMDBFNEYwN0YwNTdEN0YxMjExRkI3RjAxMTIxMjhCN0YwMzdEMDcxMjExRkJEMjEyMjI5MDdGOTg3NDEwRjBBRjA4RTUwREY1ODJBNQorOjQwMENDNjAwRTUwQ0Y1ODNDMkFGMDU4NjkwQzAwMDA1ODZFMEEzMDU4NkYwMDU4NkRGRjdEMkFGMjI5MDdGOTg3NDEwRjBBRjA4RTUwREY1ODJFNTBDRjU4M0MyQUYwNTg2OTBDMDAwRTAwNTg2RjBBMzA1ODZERkY3MDU4NkQyQUYyMjkwN0YyMAorOjQwMEQwNjAwOTg3NDA4RjBBRjA4RTUwREY1ODJFNTBDRjU4M0MyQUYwNTg2OTBDMDAwMDU4NkUwQTMwNTg2RjAwNTg2REZGN0QyQUYyMjkwN0Y5ODc0MDhGMEFGMDhFNTBERjU4MkU1MENGNTgzQzJBRjA1ODY5MEMwMDBFMDA1ODZGMEEzMDU1QworOjQwMEQ0NjAwODZERkY3MDU4NkQyQUYyMjc0MDBGNTg2OTBGREE1N0MwNUEzRTU4MjQ1ODM3MEY5MjI5MDdGRDZFMDQ0ODBGMDQzODcwMTAwMDAwMDAwMDAyMkQyMTk5MDdGOTJFMDQ0MDJGMDkwN0ZBRUUwRkZEMzkyMTBFNDMzRkVFRjRFRjA4OQorOjQwMEQ4NjAwRDJFODQzRDgyMDkwN0ZERTc0MDFGMDkwN0ZERkYwOTA3RkFCNzRGRkYwOTA3RkE5RjA5MDdGQUFGMDUzOTFFRjkwN0ZBRkUwNDQwMUYwOTA3RkFFRTA0NDBERjBEMkFGRDIxQTEyMTI0NUMyMTFFNEY1MEJGNTEzQzIxN0MyMTJENAorOjQwMERDNjAwOTA3RkExMDRGMDkwN0ZEOEUwNjUxNzYwMTAzMDEyMDVEMjFBMTIwMDQ2OTA3RkQ4RTBGNTE3ODAwODMwMTIwNUMyMUExMjAwNDYzMDExMDdDMjExMTIwOTIxODBENjMwMThEM0MyMTgxMjEzOTM4MENDMjI3ODdGRTRGNkQ4RkRDNworOjQwMEUwNjAwNzU4MTQ3MDIwRTQ3MDIwRDZGRTQ5M0EzRjhFNDkzQTM0MDAzRjY4MDAxRjIwOERGRjQ4MDI5RTQ5M0EzRjg1NDA3MjQwQ0M4QzMzM0M0NTQwRjQ0MjBDODgzNDAwNEY0NTY4MDAxNDZGNkRGRTQ4MDBCMDEwMjA0MDgxMDIwNDBGNQorOjQwMEU0NjAwODA5MDEyQUNFNDdFMDE5MzYwQkNBM0ZGNTQzRjMwRTUwOTU0MUZGRUU0OTNBMzYwMDEwRUNGNTRDMDI1RTA2MEE4NDBCOEU0OTNBM0ZBRTQ5M0EzRjhFNDkzQTNDOEM1ODJDOENBQzU4M0NBRjBBM0M4QzU4MkM4Q0FDNTgzQ0ExRQorOjQwMEU4NjAwREZFOURFRTc4MEJFQkIwMTA2ODk4MjhBODNFMDIyNTAwMkU3MjJCQkZFMDJFMzIyODk4MjhBODNFNDkzMjJCQjAxMENFNTgyMjlGNTgyRTU4MzNBRjU4M0UwMjI1MDA2RTkyNTgyRjhFNjIyQkJGRTA2RTkyNTgyRjhFMjIyRTVCOAorOjQwMEVDNjAwODIyOUY1ODJFNTgzM0FGNTgzRTQ5MzIyQkIwMTA2ODk4MjhBODNGMDIyNTAwMkY3MjJCQkZFMDFGMzIyRDA4M0QwODJGOEU0OTM3MDEyNzQwMTkzNzAwREEzQTM5M0Y4NzQwMTkzRjU4Mjg4ODNFNDczNzQwMjkzNjg2MEVGQTNDMQorOjQwMEYwNjAwQTNBMzgwREY4RjE4RTRGNTE5NzUxQUZGNzUxQjE5NzUxQzg2QUIxQUFBMUJBOTFDOTAwMDAxMTIwRUE1QjQwMzFEQUYxOTA1MTlFRkI1MTgwMTIyMTIwRThDN0UwMDI5RkZFRTNBQTkwNzc1MUFGRkY1MUI4OTFDODBENDdCMDBBNQorOjQwMEY0NjAwN0EwMDc5MDAyMjhGMUEwNTBERTUwREFFMEM3MDAyMDUwQzE0RjU4MjhFODNFNTFBRjAxMjAwMzYwNTBERTUwREFDMEM3MDAyMDUwQzE0RjU4MjhDODNFRkYwMTUwOEU1MDg2MDBBMTIxMzI3OEYxQUVGNDIzNjgwQ0EyMjhGMUFGQworOjQwMEY4NjAwMDUwREU1MERBRTBDNzAwMjA1MEMxNEY1ODI4RTgzRTUxQUYwMTIxMzNGMDUwREU1MERBQzBDNzAwMjA1MEMxNEY1ODI4QzgzRUZGMDE1MDhFNTA4NjAwQTEyMTM3QjhGMUFFRjQyMzc4MENBMjJDMEUwQzA4M0MwODJDMDg1QzA4OAorOjQwMEZDNjAwODRDMDg2NzU4NjAwOTA3RkM0RTRGMDUzOTFFRjkwN0ZBQjc0MDRGMEQwODZEMDg0RDA4NUQwODJEMDgzRDBFMDMyQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwRDIxMTUzOTFFRjkwN0ZBQjc0MDFGMEQwODZEMDg0RDBDNgorOjQwMTAwNjAwODVEMDgyRDA4M0QwRTAzMkMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMEQyMTg1MzkxRUY5MDdGQUI3NDA4RjBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMjkwN0Y5ODc0MTNGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MTA4QQorOjQwMTA0NjAwRjA5MEMwMDBFRkYwOTA3Rjk4NzQxM0YwRTU0NDU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQxM0YwOTBDMDAwNzRCRkYwOTA3Rjk4NzQxMUYwOTBDMDAwRUZGMDkwN0Y5ODc0MTNGMEU1NDQ1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MTM0OQorOjQwMTA4NjAwRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDEyRjA5MEMwMDBFRkYwOTA3Rjk4NzQxM0YwRTU0NDU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQxM0YwOTBDMDAwNzRCRkYwOTA3Rjk4NzQxNEYwOTBDMDAwRUZGMDkwN0Y5ODc0MTNGMEU1NDREOQorOjQwMTBDNjAwNTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDEzRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDE2RjA5MEMwMDBFRkYwOTA3Rjk4NzQxM0YwRTU0NDU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQwQkYwOTBDMDAwNzRCRkYwOTA3Rjk4NzQwQUYwOTAyQQorOjQwMTEwNjAwQzAwMEVGRjA5MDdGOTg3NDBCRjBFNTQ1NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDBCRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDA4RjA5MEMwMDBFRkYwOTA3Rjk4NzQwQkYwRTU0NTU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQwQkYwOTBBRgorOjQwMTE0NjAwQzAwMDc0QkZGMDkwN0Y5ODc0MDlGMDkwQzAwMEVGRjA5MDdGOTg3NDBCRjBFNTQ1NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDBCRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDBDRjA5MEMwMDBFRkYwOTA3Rjk4NzQwQkYwRTU0NTU0N0ZFQworOjQwMTE4NjAwOTBDMDAwRjAyMjkwN0Y5ODc0MEJGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MEVGMDkwQzAwMEVGRjA5MDdGOTg3NDBCRjBFNTQ1NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDEzRjBFNTQ0NTQ3RjkwQzAwMEYwOTA3Rjk4NzQxN0YwOTA3NQorOjQwMTFDNjAwQzAwMEVGRjA5MDdGOTg3NDE1RjA5MEMwMDBFREYwMjIxMjEzMEY4RjFBMTIxMzBGOEYxQkU1MUE2NTFCNjAxMjEyMTMwRjhGMUFFNTFBNjUxQjYwMDcxMjEzMEY4RjFCODBFOEFGMUEyMjkwN0Y5ODc0MEJGMEU1NDU1NDdGOTA5OAorOjQwMTIwNjAwQzAwMEYwOTA3Rjk4NzQwRkYwOTBDMDAwRUZGMDkwN0Y5ODc0MERGMDkwQzAwMEVERjAyMjEyMTM2MzhGMUExMjEzNjM4RjFCRTUxQTY1MUI2MDEyMTIxMzYzOEYxQUU1MUE2NTFCNjAwNzEyMTM2MzhGMUI4MEU4QUYxQTIyOTBDOAorOjQwMTI0NjAwN0ZENkUwNTRGQkYwRTA0NDA4RjAzMDFBMDRFMDQ0MDJGMDdGRjQ3RTAxMTIxMkM4OTA3RkQ2RTA1NEY3RjBFMDQ0MDRGMDIyQUUwN0U0RkZFNTNFNTQ3RkZEMTIxMUIxOTA3Rjk4NzQxMUYwOTBDMDAwRUVGMEU0RTUzRTQ0ODBFOAorOjQwMTI4NjAwRkQxMjExQjEyMkFFMDdFNEZGRTUzRjU0N0ZGRDEyMTFGQjkwN0Y5ODc0MDlGMDkwQzAwMEVFRjBFNEU1M0Y0NDgwRkQxMjExRkIyMjA1MEUwMjAwMDAwMDAwMDMxNDAzMDAwMEMxMTFDMTE4QzE5NUMxMTBDMTE2MDEwQTAwQzE5QworOjQwMTJDNjAwOUIwMDhFMTg4RjE5RTUxOTE1MTlBRTE4NzAwMjE1MTg0RTYwMDUxMjBENEU4MEVFMjI5MDdGOTg3NDExRjA5MEMwMDBFMEZGMjI5MDdGOTg3NDEyRjA5MEMwMDBFMEZGMjI1M0Q4RUYzMjAwMDAwMDAwMDAwMjBGRTcwMDAyMTM4QQorOjQwMTMwNjAwMDQwMDAyMEZCRDAwMDIxMDBFOTA3Rjk4NzQxM0YwOTBDMDAwRTBGRjIyOTA3Rjk4NzQxNEYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQxNUYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQxNkYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQwOEYwOTA1MAorOjQwMTM0NjAwQzAwMEUwRkYyMjkwN0Y5ODc0MDlGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MEFGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MEJGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MENGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MERGMDkwQzAwMEUwRkZDNQorOjQwMTM4NjAwMjI5MDdGOTg3NDBFRjA5MEMwMDBFMEZGMjIxMjAwMDMxMjBENUYxMjBCNDYyMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MworOjQwMTNDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNworOjQwMTQwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNgorOjQwMTQ0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NgorOjQwMTQ4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNgorOjQwMTRDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNgorOjQwMTUwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNQorOjQwMTU0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NQorOjQwMTU4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNQorOjQwMTVDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNQorOjQwMTYwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNAorOjQwMTY0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NAorOjQwMTY4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNAorOjQwMTZDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNAorOjQwMTcwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMworOjQwMTc0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MworOjQwMTc4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMworOjQwMTdDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMworOjQwMTgwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMgorOjQwMTg0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MgorOjQwMTg4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMgorOjQwMThDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMjAxMTAwMUZGMDBCRgorOjQwMTkwNjAwMDA0MENEMDYxMDAxMDAwMDAxMDIwMDAyMDkwMjc0MDAwMTAxMDBBMDMyMDkwNDAwMDAwRUZGMDAwMDAwMDcwNTAxMDI0MDAwMDAwNzA1MDIwMjQwMDAwMDA3MDUwMzAyNDAwMDAwMDcwNTA0MDI0MDAwMDAwNzA1MDUwMjQwMDA3NgorOjQwMTk0NjAwMDAwNzA1MDYwMjQwMDAwMDA3MDUwNzAyNDAwMDAwMDcwNTgxMDI0MDAwMDEwNzA1ODIwMjQwMDAwMDA3MDU4MzAyNDAwMDAxMDcwNTg0MDI0MDAwMDEwNzA1ODUwMjQwMDAwMTA3MDU4NjAyNDAwMDAxMDcwNTg3MDI0MDAwMDFGNAorOjQwMTk4NjAwMDQwMzA5MDQ0ODAzNEIwMDY1MDA3OTAwNzMwMDcwMDA2MTAwNkUwMDJDMDAyMDAwNjEwMDIwMDA2NDAwNjkwMDc2MDA2OTAwNzMwMDY5MDA2RjAwNkUwMDIwMDA2RjAwNjYwMDIwMDA0OTAwNkUwMDZFMDA2RjAwNTMwMDc5MDA0MAorOjQwMTlDNjAwNzMwMDIwMDA0OTAwNkUwMDYzMDAyRTAwMzYwMzRCMDA2NTAwNzkwMDczMDA3MDAwNjEwMDZFMDAyMDAwNTUwMDUzMDA0MjAwMjAwMDUzMDA2NTAwNzIwMDY5MDA2MTAwNkMwMDIwMDA0MTAwNjQwMDYxMDA3MDAwNzQwMDY1MDBGOQorOjA0MUEwNjAwNzIwMDAwMDA2QQorOjAwMDAwMDAxRkYKKworCVRoZSBmaXJtd2FyZSBjb250YWluZWQgaGVyZWluIGlzCisKKwkJQ29weXJpZ2h0IChDKSAxOTk5LTIwMDEKKwkJS2V5c3BhbiwgQSBkaXZpc2lvbiBvZiBJbm5vU3lzIEluY29ycG9yYXRlZCAoIktleXNwYW4iKQorCisJYXMgYW4gdW5wdWJsaXNoZWQgd29yay4gVGhpcyBub3RpY2UgZG9lcyBub3QgaW1wbHkgdW5yZXN0cmljdGVkIG9yCisJcHVibGljIGFjY2VzcyB0byB0aGUgc291cmNlIGNvZGUgZnJvbSB3aGljaCB0aGlzIGZpcm13YXJlIGltYWdlIGlzCisJZGVyaXZlZC4gIEV4Y2VwdCBhcyBub3RlZCBiZWxvdyB0aGlzIGZpcm13YXJlIGltYWdlIG1heSBub3QgYmUKKwlyZXByb2R1Y2VkLCB1c2VkLCBzb2xkIG9yIHRyYW5zZmVycmVkIHRvIGFueSB0aGlyZCBwYXJ0eSB3aXRob3V0CisJS2V5c3BhbidzIHByaW9yIHdyaXR0ZW4gY29uc2VudC4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisKKwlQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkIGZvciB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmlybXdhcmUKKwlpbWFnZSBhcyBwYXJ0IG9mIGEgTGludXggb3Igb3RoZXIgT3BlbiBTb3VyY2Ugb3BlcmF0aW5nIHN5c3RlbSBrZXJuZWwKKwlpbiB0ZXh0IG9yIGJpbmFyeSBmb3JtIGFzIHJlcXVpcmVkLgorCisJVGhpcyBmaXJtd2FyZSBtYXkgbm90IGJlIG1vZGlmaWVkIGFuZCBtYXkgb25seSBiZSB1c2VkIHdpdGgKKwlLZXlzcGFuIGhhcmR3YXJlLiAgRGlzdHJpYnV0aW9uIGFuZC9vciBNb2RpZmljYXRpb24gb2YgdGhlCisJa2V5c3Bhbi5jIGRyaXZlciB3aGljaCBpbmNsdWRlcyB0aGlzIGZpcm13YXJlLCBpbiB3aG9sZSBvciBpbgorCXBhcnQsIHJlcXVpcmVzIHRoZSBpbmNsdXNpb24gb2YgdGhpcyBzdGF0ZW1lbnQuIgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUva2V5c3Bhbi91c2EyOHhhLkhFWCBiL2Zpcm13YXJlL2tleXNwYW4vdXNhMjh4YS5IRVgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjE0OTMyZQotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2tleXNwYW4vdXNhMjh4YS5IRVgKQEAgLTAsMCArMSwxNDEgQEAKKzowMzAwMzMwMDAyMTJGOUJECis6MTAwMDAzMDBFNDkwN0Y5M0YwOTA3RjlDNzQzMEYwRTQ5MDdGOTZGMEJGCis6MTAwMDEzMDA5MDdGOTRGMDkwN0Y5RDc0RkZGMEU0OTA3Rjk3RjA5MDMxCis6MEYwMDIzMDA3Rjk1RjA5MDdGOUU3NDA3RjBFNDkwN0Y5OEYwMjIxNQorOjEwMDA0NjAwMzAwOTE4MTIxMzI3RUZDMzk1M0M0MDAzMDIwMEQ4OTBERAorOjEwMDA1NjAwN0ZCRjc0MDFGMEMyMDlDMjAwODA3NzMwMDMzQjkwN0ZGNgorOjEwMDA2NjAwQzZFMDIwRTE2RDEyMTMyN0VGQzM5NDQwNTA2NDkwN0VFMgorOjEwMDA3NjAwNDBFMDEzOTIwOTkwN0ZDN0UwMTRGNTE5MjAwMDExNjA0MworOjEwMDA4NjAwMEZGNTA4N0U3RTdGNDE3NTBDN0U3NTBENDExMjBDQzhGQQorOjEwMDA5NjAwQzIwM0U0OTA3RkM3RjA4MDM5OTA3RkM4RTAyMEUxMzI0OAorOjEwMDBBNjAwMTIxMzI3RUZDMzk0NDA1MDI5OTA3REMwRTAxMzkyMDlBNAorOjEwMDBCNjAwOTA3RkM5RTAxNEY1MTkyMDAwMTE2MDBGRjUwODdFN0RDOAorOjEwMDBDNjAwN0ZDMTc1MEM3RDc1MERDMTEyMENDOEQyMDNFNDkwN0ZGQgorOjEwMDBENjAwQzlGMDkwN0ZCNkUwMzBFMTAzMDIwMTYwMTIxMUU0OEZBRgorOjEwMDBFNjAwMTkxMjEzMzM4RjM2RTUxOUMzOTUzQTUwMEYxMjEzMEZCMQorOjEwMDBGNjAwRUYzMEUwMDhFNTM2MjBFNzAzMzAwQjVFQzIwQkU1MTk2QQorOjBDMDAzNjAwOTA3Rjk4NzQxMEYwOTBDMDAwRTBGRjIyNTIKKzowMzAwNDMwMDAyMTMwMEE1Cis6MDMwMDAwMDAwMjBFMEVERgorOjQwMDEwNjAwNjA1OEI0ODAwMzQzMzYwMkU1MzYzMEU3MjZFNTE5RDM5NDIwNDAwMzc1MTkyMDg1MTkwODdFN0U3RjgwNzUwQzdFNzUwRDgwQUYzNjEyMEY1OUU1MTkyNUUwOTA3RkI3RjA4MDI3RTUxOUQzOTQzRjQwMDM3NTE5M0Y4NTE5MDhDNgorOjQwMDE0NjAwOTA3RTgwRTUzNkYwN0U3RTdGODE3NTBDN0U3NTBEODExMjBDRURFNTE5MDQ5MDdGQjdGMDkwN0ZDRUUwMzBFMTA2MjAwNTAzMDIwM0MxQzIwNUU0RjUxODc0NDAyNTE4RjU4MkU0MzQ3Q0Y1ODNFMEZGRTUxODdDMDA3QjAxN0FFMworOjQwMDE4NjAwN0U3OTAwMjQwMEY5RUMzNDdFRkFFRjEyMEVFMDA1MThFNTE4QjQyMEQ3OTA3RTAwRTA2MDY4OTA3RTAzRTA2MDI0N0YwMUU0RkQxMjExQkY3RjAzN0RDRDEyMTFCRjQzNDY4MDkwN0Y5ODc0MTRGMDkwQzAwMEU1NDZGMEU0OTBCNgorOjQwMDFDNjAwN0UxM0YwODAzMDkwN0UwMUUwRkYxMjEwNDM5MDdFMDJFMEZGMTIxMDY5N0YwMTkwN0UxMUUwRkQxMjExQkY3RjAzN0QwNzEyMTFCRjQzNDY4MDkwN0Y5ODc0MTRGMDkwQzAwMEU1NDZGMDkwN0Y5ODc0MTJGMEU1NDA0NDA2OTAwNgorOjQwMDIwNjAwQzAwMEYwOTA3RTAzRTA3MDA2OTA3RTEzRTA3MDA4RTQ5MDdFMTNGMDc1MjVGRjkwN0UwNUUwNjAxMkEzRTA1NDNGRjU0NDkwN0Y5ODc0MTNGMDkwQzAwMEU1NDRGMDkwN0UwN0UwNjAyQkEzRTA2MDA1NDM0MjgwODAwMzUzNDJEQQorOjQwMDI0NjAwN0Y1MzQyRkM5MDdFMDlFMDYwMTE0MzQyMDJBM0UwRkYxMjEwQjU5MDdFMEJFMEZGMTIxMERCQUY0MjEyMTA4RjkwN0UwM0UwNjAwODUzNDI3RkFGNDIxMjEwOEY5MDdFMENFMDYwMThBM0UwNjAwNTQzNDYwMjgwMDM1MzQ2RkQ3QworOjQwMDI4NjAwOTA3Rjk4NzQxNEYwOTBDMDAwRTU0NkYwOTA3RTBFRTA2MDE4QTNFMDYwMDU0MzQ2MDE4MDAzNTM0NkZFOTA3Rjk4NzQxNEYwOTBDMDAwRTU0NkYwOTA3RTEyRTBGNTNBQTNFMDEzOTIwREEzRTBGNTNDQTNFMDYwMDU0MzQ2MTA4QgorOjQwMDJDNjAwODAwMzUzNDZFRjkwN0Y5ODc0MTRGMDkwQzAwMEU1NDZGMDkwN0UxNkUwNjAzMjUzNDRCRjkwN0Y5ODc0MTNGMEU1NDQ1NDdGOTBDMDAwRjA5MDdGOTg3NDExRjAxMjEyRURFRjU0RkU5MEMwMDBGMDUzM0VGREU0RkZBRDNFMTIwMQorOjQwMDMwNjAwMTFCRkU0RjUyQUY1MjlEMjA3OTA3RTE3RTA2MDBGNDMzRTAyRTRGRkFEM0UxMjExQkY3NTI5MDFEMjA3OTA3RTE4RTA2MDEwOTA3Rjk4NzQxMkYwRTU0MDQ0MDQ5MEMwMDBGMEQyMDA5MDdFMTlFMDYwMTE0MzQ0NDA5MDdGOThENgorOjQwMDM0NjAwNzQxM0YwRTU0NDU0N0Y5MEMwMDBGMDkwN0UxQUUwNjAwRjUzM0VGRUU0RkZBRDNFMTIxMUJGNzUyQjAxRDIwNzkwN0UxQkUwNjAwRjQzM0UwMUU0RkZBRDNFMTIxMUJGRTRGNTJCRDIwNzkwN0UxQ0UwNjAwRTkwN0Y5ODc0MTI2OAorOjQwMDM4NjAwRjBFNTQwNDQwMjkwQzAwMEYwOTA3RTFERTA2MDAyRDIwQjkwN0UxRUUwNjAwODc1MkMwMUU0RjUzOEQyMDc5MDdFMUZFMDYwMTE5MDdGRDc3NDExRjA3NDMxRjA3NDE1RjA3NDM1RjBEMjAzRTQ5MDdGQ0ZGMDMwMUE1MkU1Mzg5MgorOjQwMDNDNjAwNjAwMjE1MzgyMDEzNDlFNTEzRDM5NDAwNDAwNDE1MTM4MDNFNzUxMzBBMzAxQjAyRDIxMzEyMTJFREVGNTQwMUY1MTk2NTJBNjAwNTg1MTkyQUQyMDcxMjEzM0ZFRjU0ODBGNTE5NjUyNjYwMDU4NTE5MjZEMjA3MzAwRDExMTI2NQorOjQwMDQwNjAwMTMzRkVGNTQxMEY1MTk2NTI1NjAwNTg1MTkyNUQyMDcyMDFCMDMwMjA3RUMzMDBBMTgxMjEzN0JFRkMzOTUzRDQwMDMwMjA0QUU5MDdGQzE3NDAxRjBDMjBBQzIwMDgwNzczMDA0M0I5MDdGQ0FFMDIwRTE2RDEyMTM3QkVGQzMzNgorOjQwMDQ0NjAwOTQ0MDUwNjQ5MDdENDBFMDEzOTIwQTkwN0ZDQkUwMTRGNTE5MjAwMDExNjAwRkY1MDg3RTdEN0Y0MTc1MEM3RDc1MEQ0MTEyMEQxMkMyMDRFNDkwN0ZDQkYwODAzOTkwN0ZDQ0UwMjBFMTMyMTIxMzdCRUZDMzk0NDA1MDI5OTBBMgorOjQwMDQ4NjAwN0NDMEUwMTM5MjBBOTA3RkNERTAxNEY1MTkyMDAwMTE2MDBGRjUwODdFN0M3RkMxNzUwQzdDNzUwREMxMTIwRDEyRDIwNEU0OTA3RkNERjA5MDdGQkFFMDMwRTEwMzAyMDUzNjEyMTIyRThGMTkxMjEzODc4RjM3RTUxOUMzOTUwMworOjQwMDRDNjAwM0I1MDBGMTIxMzYzRUYzMEUwMDhFNTM3MjBFNzAzMzAwQzVFQzIwQ0U1MTk2MDU4QjQ4MDAzNDMzNzAyRTUzNzMwRTcyNkU1MTlEMzk0MjA0MDAzNzUxOTIwODUxOTA4N0U3RDdGODA3NTBDN0Q3NTBEODBBRjM3MTIwRjkyRTVFOQorOjQwMDUwNjAwMTkyNUUwOTA3RkJCRjA4MDI3RTUxOUQzOTQzRjQwMDM3NTE5M0Y4NTE5MDg5MDdEODBFNTM3RjA3RTdEN0Y4MTc1MEM3RDc1MEQ4MTEyMEQzN0U1MTkwNDkwN0ZCQkYwOTA3RkQwRTAzMEUxMDYyMDA2MDMwMjA3OTdDMjA2RTRFQQorOjQwMDU0NjAwRjUxODc0QzAyNTE4RjU4MkU0MzQ3QkY1ODNFMEZGRTUxODdDMDA3QjAxN0E3RTc5MjAyNDIwRjlFQzM0N0VGQUVGMTIwRUUwMDUxOEU1MThCNDIwRDc5MDdFMjBFMDYwNjg5MDdFMjNFMDYwMjQ3RjAxRTRGRDEyMTIwOTdGMDMwQworOjQwMDU4NjAwN0RDRDEyMTIwOTQzNDc4MDkwN0Y5ODc0MENGMDkwQzAwMEU1NDdGMEU0OTA3RTMzRjA4MDMwOTA3RTIxRTBGRjEyMTEyNzkwN0UyMkUwRkYxMjExNEQ3RjAxOTA3RTMxRTBGRDEyMTIwOTdGMDM3RDA3MTIxMjA5NDM0NzgwOTBGRgorOjQwMDVDNjAwN0Y5ODc0MENGMDkwQzAwMEU1NDdGMDkwN0Y5ODc0MEFGMEU1NDE0NDA2OTBDMDAwRjA5MDdFMjNFMDcwMDY5MDdFMzNFMDcwMDhFNDkwN0UzM0YwNzUyRUZGOTA3RTI1RTA2MDEyQTNFMDU0M0ZGNTQ1OTA3Rjk4NzQwQkYwOTBFQgorOjQwMDYwNjAwQzAwMEU1NDVGMDkwN0UyN0UwNjAyQkEzRTA2MDA1NDM0MzgwODAwMzUzNDM3RjUzNDNGQzkwN0UyOUUwNjAxMTQzNDMwMkEzRTBGRjEyMTE3MzkwN0UyQkUwRkYxMjExOTlBRjQzMTIxMTAxOTA3RTIzRTA2MDA4NTM0MzdGQUZEMworOjQwMDY0NjAwNDMxMjExMDE5MDdFMkNFMDYwMThBM0UwNjAwNTQzNDcwMjgwMDM1MzQ3RkQ5MDdGOTg3NDBDRjA5MEMwMDBFNTQ3RjA5MDdFMkVFMDYwMThBM0UwNjAwNTQzNDcwMTgwMDM1MzQ3RkU5MDdGOTg3NDBDRjA5MEMwMDBFNTQ3RjBDNQorOjQwMDY4NjAwOTA3RTMyRTBGNTNCQTNFMDEzOTIwRUEzRTBGNTNEQTNFMDYwMDU0MzQ3MTA4MDAzNTM0N0VGOTA3Rjk4NzQwQ0YwOTBDMDAwRTU0N0YwOTA3RTM2RTA2MDMyNTM0NUJGOTA3Rjk4NzQwQkYwRTU0NTU0N0Y5MEMwMDBGMDkwN0Y3OQorOjQwMDZDNjAwOTg3NDA5RjAxMjEzNTdFRjU0RkU5MEMwMDBGMDUzM0ZGREU0RkZBRDNGMTIxMjA5RTRGNTMzRjUzMkQyMDg5MDdFMzdFMDYwMEY0MzNGMDJFNEZGQUQzRjEyMTIwOTc1MzIwMUQyMDg5MDdFMzhFMDYwMTA5MDdGOTg3NDBBRjAxOQorOjQwMDcwNjAwRTU0MTQ0MDQ5MEMwMDBGMEQyMDA5MDdFMzlFMDYwMTE0MzQ1NDA5MDdGOTg3NDBCRjBFNTQ1NTQ3RjkwQzAwMEYwOTA3RTNBRTA2MDBGNTMzRkZFRTRGRkFEM0YxMjEyMDk3NTM0MDFEMjA4OTA3RTNCRTA2MDBGNDMzRjAxRTREQQorOjQwMDc0NjAwRkZBRDNGMTIxMjA5RTRGNTM0RDIwODkwN0UzQ0UwNjAwRTkwN0Y5ODc0MEFGMEU1NDE0NDAyOTBDMDAwRjA5MDdFM0RFMDYwMDJEMjBDOTA3RTNFRTA2MDA4NzUzNTAxRTRGNTM5RDIwODkwN0UzRkUwNjAxMTkwN0ZENzc0MTM3QQorOjQwMDc4NjAwRjA3NDMzRjA3NDE2RjA3NDM2RjBEMjA0RTQ5MDdGRDFGMDMwMUE1MkU1Mzk2MDAyMTUzOTMwMTM0OUU1MTNEMzk0MDA0MDA0MTUxMzgwM0U3NTEzMEEzMDFCMDJDMjEzMTIxMzU3RUY1NDAxRjUxOTY1MzM2MDA1ODUxOTMzRDI2RAorOjQwMDdDNjAwMDgxMjEzOTNFRjU0ODBGNTE5NjUyRjYwMDU4NTE5MkZEMjA4MzAwRTExMTIxMzkzRUY1NDEwRjUxOTY1MkU2MDA1ODUxOTJFRDIwODMwMUEyQTkwN0ZEMkUwMjBFMTIzOTA3QjQwRTA2MDA5RTBGNTE1OTA3QjQyRTBGNTE2OTAxRAorOjQwMDgwNjAwN0I0MUUwNjAwOTkwN0ZENzc0MTdGMDc0MzdGMEU0OTA3RkQzRjA5MDdGQzJFMDMwRTEwMzAyMDkyMEU1MEE3MDQwMzAwNzM5RTUzODcwMzVDMjA3RjUxODdFMDA3QjAwNzQyNDI1MThGOUVFMzQwMEZBMTIwRTlBRkY3NDgwMjVBRgorOjQwMDg0NjAwMThGNTgyRTQzNDdCRjU4M0VGRjAwNTE4RTUxOEI0MDlEQjkwN0ZDMzc0MDlGMDc1MzgxMEU0RjUyQzc1MEEwMTIyRTUwQTY0MDE3MDQwMzAwODM5RTUzOTcwMzVDMjA4RjUxODdFMDA3QjAwNzQyRDI1MThGOUVFMzQwMEZBMTI5NworOjQwMDg4NjAwMEU5QUZGNzQ4MDI1MThGNTgyRTQzNDdCRjU4M0VGRjAwNTE4RTUxOEI0MDlEQjkwN0ZDMzc0MDlGMDc1MzkxMEU0RjUzNTc1MEEwMjIyRTUwQTY0MDI3MDM2MzAxNDJGQzIxNEY1MTg3RTAwN0IwMDc0MEUyNTE4RjlFRTM0MDA3NQorOjQwMDhDNjAwRkExMjBFOUFGRjc0ODAyNTE4RjU4MkU0MzQ3QkY1ODNFRkYwMDUxOEU1MThCNDA1REI5MDdGQzM3NDA1RjA3NTBBMDMyMkU1MTU2MDMwMTUxNUU0RjUxODdFMDA3QjAwNzQxNDI1MThGOUVFMzQwMEZBMTIwRTlBRkY3NDgwMjVENgorOjQwMDkwNjAwMThGNTgyRTQzNDdCRjU4M0VGRjAwNTE4RTUxOEI0MDNEQjkwN0ZDMzc0MDNGMEU0RjUwQTIyOTA3RkU5RTAxMjBFRjIwQTA4MDAwQTdDMDEwQUU4MDMwOTQ0MDYwOUZCMDgwOUY1MDkwOUREMEEwOUVDMEIwMDAwMEIzNzkwN0YyRgorOjQwMDk0NjAwRUJFMDI0RkU2MDE5MTQ2MDYxMjQwMjYwMDMwMjA5RDM3NDE5OTA3RkQ0RjA3NDAwOTA3RkQ1RjAwMjBCM0U5MDdGRUFFMDcwMDQ3RjAyODAwMjdGMDM3NTgyODI3NTgzMTlFRkYwNzU4MjdCNzU4MzE5RjA3NTgyNzQ3NTgzMTlCMgorOjQwMDk4NjAwRjA3NTgyNjY3NTgzMTlGMDc1ODI1ODc1ODMxOUYwOTA3RkVBRTAwNDc1ODIxNzc1ODMxOUYwNzQxOTkwN0ZENEYwNzQxMjkwN0ZENUYwMDIwQjNFOTA3RkVBRTBGRjEyMEYxOEVBNDk2MDBERUE5MDdGRDRGMEU5OTA3RkQ1RjA3NworOjQwMDlDNjAwMDIwQjNFOTA3RkI0RTA0NDAxRjAwMjBCM0U5MDdGQjRFMDQ0MDFGMDAyMEIzRTkwN0YwMEU1MDlGMDkwN0ZCNTc0MDFGMDAyMEIzRTkwN0ZFQUUwRjUwOTAyMEIzRTEyMEI0NjAyMEIzRTkwN0YwMDc0MDFGMDkwN0ZCNUYwMDIwNQorOjQwMEEwNjAwMEIzRTkwN0ZFOEUwMjQ3RjYwMjQxNDYwMzEyNDAyNzA1QkEyMTBFNDMzRkYyNUUwRkZBMjE2RTQzMzRGOTA3RjAwRjBFNEEzRjA5MDdGQjU3NDAyRjAwMjBCM0VFNDkwN0YwMEYwQTNGMDkwN0ZCNTc0MDJGMDAyMEIzRTkwN0YwNAorOjQwMEE0NjAwRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODNFMDU0RkQ5MDdGMDBGMEU0QTNGMDkwN0ZCNTc0MDJGMDAyMEIzRTkwN0ZCNEUwNDQwMUYwMDIwQjNFOTA3RkU4RTAyNEZFNjAxRDI0MDIwRgorOjQwMEE4NjAwNjAwMzAyMEIzRTkwN0ZFQUUwQjQwMTA1QzIxMDAyMEIzRTkwN0ZCNEUwNDQwMUYwMDIwQjNFOTA3RkVBRTA3MDM4OTA3RkVDRTBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTgzRTRGMDkwN0ZCNgorOjQwMEFDNjAwRUNFMDU0ODBGRjEzMTMxMzU0MUZGRkUwNTQwNzJGOTA3RkQ3RjBFMDQ0MjBGMDgwNUY5MDdGQjRFMDQ0MDFGMDgwNTY5MDdGRThFMDI0RkU2MDE4MjQwMjcwNEE5MDdGRUFFMEI0MDEwNEQyMTA4MDNGOTA3RkI0RTA0NDAxRjA0OQorOjQwMEIwNjAwODAzNjkwN0ZFQUUwNzAyMDkwN0ZFQ0UwRjQ1NDgwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyRTQzNDdGRjU4Mzc0MDFGMDgwMTA5MDdGQjRFMDQ0MDFGMDgwMDc5MDdGQjRFMDQ0MDFGMDkwN0ZCNEUwNDQwMkYwMjJENAorOjQwMEI0NjAwRTQ5MDdGOTNGMDkwN0Y5Qzc0MzBGMEU0OTA3Rjk2RjA5MDdGOTU3NEMwRjA5MDdGOUU3NDNGRjA5MDdGOTg3NDE4RjBFNEY1OEU5MDdGREY3NEZGRjA5MDdGREVGMEU0RjUyNDc1MTgwMTdCMDA3NDI0MjUxOEY5RTQzNDAwRkE4QgorOjQwMEI4NjAwRTQxMjBFRTAwNTE4RTUxOEI0MDlFQTc1M0EwMUU0RjUzOEY1MTNGNTM2QzIwN0MyMEJDMjA1QzIwMEMyMDlDMjEzOTA3Rjk4NzQxM0YwNzU0NDAzOTBDMDAwNzQwM0YwN0YwQ0U0RkQxMjExQkY3RjEwOEY0MjEyMTA4RjkwN0ZEOAorOjQwMEJDNjAwOTg3NDEyRjA3RjAxOEY0MEVGNDQwNjkwQzAwMEYwOTA3Rjk4NzQxNEYwNzU0NjgwOTBDMDAwNzQ4MEYwMEZFNEZEMTIxMUJGRTRGRjdFQTNBRDA2OEQzRTEyMTFCRjkwN0Y5ODc0MTFGMDkwQzAwMEU0RjA3RjA1N0Q3RjEyMTE3MgorOjQwMEMwNjAwQkY3RjAxMTIxMjc4N0YwMzdEMDcxMjExQkY3RjEzN0QwMTEyMTFCRjIwMUIwMzAyMENDNTc1MkQwMTc1MTgwMTdCMDA3NDJEMjUxOEY5RTQzNDAwRkFFNDEyMEVFMDA1MThFNTE4QjQwOUVBNzUzQjAxRTRGNTM5RjUxM0Y1MzdCNworOjQwMEM0NjAwQzIwOEMyMENDMjA2QzIwMEMyMEFDMjEzOTA3Rjk4NzQwQkYwNzU0NTAzOTBDMDAwNzQwM0YwN0YwQ0U0RkQxMjEyMDk3RjEwOEY0MzEyMTEwMTkwN0Y5ODc0MEFGMDdGMDE4RjQxRUY0NDA2OTBDMDAwRjA5MDdGOTg3NDBDRjAwRQorOjQwMEM4NjAwNzU0NzgwOTBDMDAwNzQ4MEYwMEZFNEZEMTIxMjA5RTRGRjdFQTNBRDA2OEQzRjEyMTIwOTkwN0Y5ODc0MDlGMDkwQzAwMEU0RjA3RjA1N0Q3RjEyMTIwOTdGMDExMjEyOTk3RjAzN0QwNzEyMTIwOTdGMTM3RDAxMTIxMjA5RDI4RAorOjQwMENDNjAwMTIyMjkwN0Y5ODc0MTBGMEFGMDhFNTBERjU4MkU1MENGNTgzQzJBRjA1ODY5MEMwMDAwNTg2RTBBMzA1ODZGMDA1ODZERkY3RDJBRjIyOTA3Rjk4NzQxMEYwQUYwOEU1MERGNTgyRTUwQ0Y1ODNDMkFGMDU4NjkwQzAwMEUwMDU2OAorOjQwMEQwNjAwODZGMEEzMDU4NkRGRjcwNTg2RDJBRjIyOTA3Rjk4NzQwOEYwQUYwOEU1MERGNTgyRTUwQ0Y1ODNDMkFGMDU4NjkwQzAwMDA1ODZFMEEzMDU4NkYwMDU4NkRGRjdEMkFGMjI5MDdGOTg3NDA4RjBBRjA4RTUwREY1ODJFNTBDRjU3NworOjQwMEQ0NjAwODNDMkFGMDU4NjkwQzAwMEUwMDU4NkYwQTMwNTg2REZGNzA1ODZEMkFGMjI3NDAwRjU4NjkwRkRBNTdDMDVBM0U1ODI0NTgzNzBGOTIyOTA3RkQ2RTA0NDgwRjA0Mzg3MDEwMDAwMDAwMDAwMjJEMjE5OTA3RjkyRTA0NDAyRjAwQQorOjQwMEQ4NjAwOTA3RkFFRTBGRkQzOTIxMEU0MzNGRUVGNEVGMEQyRTg0M0Q4MjA5MDdGREU3NDAxRjA5MDdGREZGMDkwN0ZBQjc0RkZGMDkwN0ZBOUYwOTA3RkFBRjA1MzkxRUY5MDdGQUZFMDQ0MDFGMDkwN0ZBRUUwNDQwREYwRDJBRkQyMUE1NgorOjQwMERDNjAwMTIxMjUzQzIxMUU0RjUwQkY1MTNDMjE3QzIxMjkwN0ZBMTA0RjA5MDdGRDhFMDY1MTc2MDEwMzAxMjA1RDIxQTEyMDA0NjkwN0ZEOEUwRjUxNzgwMDgzMDEyMDVDMjFBMTIwMDQ2MzAxMTA3QzIxMTEyMDkyMTgwRDYzMDE4RDM4QQorOjQwMEUwNjAwQzIxODEyMTM5RjgwQ0MyMjc4N0ZFNEY2RDhGRDc1ODE0NzAyMEU1NTAyMEQ3REU0OTNBM0Y4RTQ5M0EzNDAwM0Y2ODAwMUYyMDhERkY0ODAyOUU0OTNBM0Y4NTQwNzI0MENDOEMzMzNDNDU0MEY0NDIwQzg4MzQwMDRGNDU2ODAzMQorOjQwMEU0NjAwMDE0NkY2REZFNDgwMEIwMTAyMDQwODEwMjA0MDgwOTAxMkJBRTQ3RTAxOTM2MEJDQTNGRjU0M0YzMEU1MDk1NDFGRkVFNDkzQTM2MDAxMEVDRjU0QzAyNUUwNjBBODQwQjhFNDkzQTNGQUU0OTNBM0Y4RTQ5M0EzQzhDNTgyQzgyOAorOjQwMEU4NjAwQ0FDNTgzQ0FGMEEzQzhDNTgyQzhDQUM1ODNDQURGRTlERUU3ODBCRUJCMDEwNjg5ODI4QTgzRTAyMjUwMDJFNzIyQkJGRTAyRTMyMjg5ODI4QTgzRTQ5MzIyQkIwMTBDRTU4MjI5RjU4MkU1ODMzQUY1ODNFMDIyNTAwNkU5MjU0OAorOjQwMEVDNjAwODJGOEU2MjJCQkZFMDZFOTI1ODJGOEUyMjJFNTgyMjlGNTgyRTU4MzNBRjU4M0U0OTMyMkJCMDEwNjg5ODI4QTgzRjAyMjUwMDJGNzIyQkJGRTAxRjMyMkQwODNEMDgyRjhFNDkzNzAxMjc0MDE5MzcwMERBM0EzOTNGODc0MDFERQorOjQwMEYwNjAwOTNGNTgyODg4M0U0NzM3NDAyOTM2ODYwRUZBM0EzQTM4MERGOEYxOEU0RjUxOTc1MUFGRjc1MUIxOTc1MUM4NkFCMUFBQTFCQTkxQzkwMDAwMTEyMEVCM0I0MDMxREFGMTkwNTE5RUZCNTE4MDEyMjEyMEU5QTdFMDAyOUZGRUVCNgorOjQwMEY0NjAwM0FBOTA3NzUxQUZGRjUxQjg5MUM4MEQ0N0IwMDdBMDA3OTAwMjI4RjFBMDUwREU1MERBRTBDNzAwMjA1MEMxNEY1ODI4RTgzRTUxQUYwMTIwMDM2MDUwREU1MERBQzBDNzAwMjA1MEMxNEY1ODI4QzgzRUZGMDE1MDhFNTA4NjA3QgorOjQwMEY4NjAwMEExMjEzMzM4RjFBRUY0MjM2ODBDQTIyOEYxQTA1MERFNTBEQUUwQzcwMDIwNTBDMTRGNTgyOEU4M0U1MUFGMDEyMTM0QjA1MERFNTBEQUMwQzcwMDIwNTBDMTRGNTgyOEM4M0VGRjAxNTA4RTUwODYwMEExMjEzODc4RjFBRUZGOAorOjQwMEZDNjAwNDIzNzgwQ0EyMkMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMDkwN0ZDNEU0RjA1MzkxRUY5MDdGQUI3NDA0RjBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMkMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMEQyMTEyMworOjQwMTAwNjAwNTM5MUVGOTA3RkFCNzQwMUYwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzJDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDBEMjE4NTM5MUVGOTA3RkFCNzQwOEYwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzI5MDdGOTgzMworOjQwMTA0NjAwNzQxM0YwOTBDMDAwNzRCRkYwOTA3Rjk4NzQxMEYwOTBDMDAwRUZGMDkwN0Y5ODc0MTNGMEU1NDQ1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MTNGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MTFGMDkwQzAwMEVGRjA5MDdGOTg3NDEzRjBDMAorOjQwMTA4NjAwRTU0NDU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQxM0YwOTBDMDAwNzRCRkYwOTA3Rjk4NzQxMkYwOTBDMDAwRUZGMDkwN0Y5ODc0MTNGMEU1NDQ1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MTNGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MTRCMworOjQwMTBDNjAwRjA5MEMwMDBFRkYwOTA3Rjk4NzQxM0YwRTU0NDU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQxM0YwOTBDMDAwNzRCRkYwOTA3Rjk4NzQxNkYwOTBDMDAwRUZGMDkwN0Y5ODc0MTNGMEU1NDQ1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MEJDQworOjQwMTEwNjAwRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDBBRjA5MEMwMDBFRkYwOTA3Rjk4NzQwQkYwRTU0NTU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQwQkYwOTBDMDAwNzRCRkYwOTA3Rjk4NzQwOEYwOTBDMDAwRUZGMDkwN0Y5ODc0MEJGMEU1NDU4MgorOjQwMTE0NjAwNTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDBCRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDA5RjA5MEMwMDBFRkYwOTA3Rjk4NzQwQkYwRTU0NTU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQwQkYwOTBDMDAwNzRCRkYwOTA3Rjk4NzQwQ0YwOTBDMworOjQwMTE4NjAwQzAwMEVGRjA5MDdGOTg3NDBCRjBFNTQ1NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDBCRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDBFRjA5MEMwMDBFRkYwOTA3Rjk4NzQwQkYwRTU0NTU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQxM0YwRTVDQworOjQwMTFDNjAwNDQ1NDdGOTBDMDAwRjA5MDdGOTg3NDE3RjA5MEMwMDBFRkYwOTA3Rjk4NzQxNUYwOTBDMDAwRURGMDIyMTIxMzFCOEYxQTEyMTMxQjhGMUJFNTFBNjUxQjYwMTIxMjEzMUI4RjFBRTUxQTY1MUI2MDA3MTIxMzFCOEYxQjgwRThFRAorOjQwMTIwNjAwQUYxQTIyOTA3Rjk4NzQwQkYwRTU0NTU0N0Y5MEMwMDBGMDkwN0Y5ODc0MEZGMDkwQzAwMEVGRjA5MDdGOTg3NDBERjA5MEMwMDBFREYwMjIxMjEzNkY4RjFBMTIxMzZGOEYxQkU1MUE2NTFCNjAxMjEyMTM2RjhGMUFFNTFBNjVBRAorOjQwMTI0NjAwMUI2MDA3MTIxMzZGOEYxQjgwRThBRjFBMjI5MDdGRDZFMDU0RkJGMEUwNDQwOEYwMzAxQTA0RTA0NDAyRjA3RkY0N0UwMTEyMTJENjkwN0ZENkUwNTRGN0YwRTA0NDA0RjAyMkFFMDdFNEZGRTUzRTU0N0ZGRDEyMTFCRjkwN0YyRgorOjQwMTI4NjAwOTg3NDExRjA5MEMwMDBFRUYwRTRFNTNFNDQ4MEZEMTIxMUJGMjJBRTA3RTRGRkU1M0Y1NDdGRkQxMjEyMDk5MDdGOTg3NDA5RjA5MEMwMDBFRUYwRTRFNTNGNDQ4MEZEMTIxMjA5MjIwNTBFMDIwMDAwMDAwMDAzMTQwMzAwMDBERgorOjQwMTJDNjAwQzExMUMxMThDMTk1QzExMEMxMTYwMTBBMDBDMTlCMDA4RTE4OEYxOUU1MTkxNTE5QUUxODcwMDIxNTE4NEU2MDA1MTIwRDVDODBFRTIyOTA3Rjk4NzQxMUYwOTBDMDAwRTBGRjIyNTNEOEVGMzIwMDAwMDAwMjBGRjUwMDAyMTM2NworOjQwMTMwNjAwMDQwMDAyMEZDQjAwMDIxMDFDOTA3Rjk4NzQxMkYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQxM0YwOTBDMDAwRTBGRjIyOTA3Rjk4NzQxNEYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQxNUYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQxNkYwOTAyQQorOjQwMTM0NjAwQzAwMEUwRkYyMjkwN0Y5ODc0MDhGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MDlGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MEFGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MEJGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MENGMDkwQzAwMEUwRkZDQQorOjQwMTM4NjAwMjI5MDdGOTg3NDBERjA5MEMwMDBFMEZGMjI5MDdGOTg3NDBFRjA5MEMwMDBFMEZGMjIxMjAwMDMxMjBENkQxMjBCNDYyMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQworOjQwMTNDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNworOjQwMTQwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNgorOjQwMTQ0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NgorOjQwMTQ4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNgorOjQwMTRDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNgorOjQwMTUwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNQorOjQwMTU0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NQorOjQwMTU4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNQorOjQwMTVDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNQorOjQwMTYwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNAorOjQwMTY0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NAorOjQwMTY4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNAorOjQwMTZDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNAorOjQwMTcwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMworOjQwMTc0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MworOjQwMTc4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMworOjQwMTdDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMworOjQwMTgwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMgorOjQwMTg0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MgorOjQwMTg4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMgorOjQwMThDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMjAxMTAwMUZGMDBCRgorOjQwMTkwNjAwMDA0MENEMDYxNTAxMDAwMDAxMDIwMDAyMDkwMjc0MDAwMTAxMDBBMDMyMDkwNDAwMDAwRUZGMDAwMDAwMDcwNTAxMDI0MDAwMDAwNzA1MDIwMjQwMDAwMDA3MDUwMzAyNDAwMDAwMDcwNTA0MDI0MDAwMDAwNzA1MDUwMjQwMDA3MQorOjQwMTk0NjAwMDAwNzA1MDYwMjQwMDAwMDA3MDUwNzAyNDAwMDAwMDcwNTgxMDI0MDAwMDEwNzA1ODIwMjQwMDAwMTA3MDU4MzAyNDAwMDAxMDcwNTg0MDI0MDAwMDEwNzA1ODUwMjQwMDAwMTA3MDU4NjAyNDAwMDAxMDcwNTg3MDI0MDAwMDFGMworOjQwMTk4NjAwMDQwMzA5MDQ0ODAzNEIwMDY1MDA3OTAwNzMwMDcwMDA2MTAwNkUwMDJDMDAyMDAwNjEwMDIwMDA2NDAwNjkwMDc2MDA2OTAwNzMwMDY5MDA2RjAwNkUwMDIwMDA2RjAwNjYwMDIwMDA0OTAwNkUwMDZFMDA2RjAwNTMwMDc5MDA0MAorOjQwMTlDNjAwNzMwMDIwMDA0OTAwNkUwMDYzMDAyRTAwMzYwMzRCMDA2NTAwNzkwMDczMDA3MDAwNjEwMDZFMDAyMDAwNTUwMDUzMDA0MjAwMjAwMDUzMDA2NTAwNzIwMDY5MDA2MTAwNkMwMDIwMDA0MTAwNjQwMDYxMDA3MDAwNzQwMDY1MDBGOQorOjA0MUEwNjAwNzIwMDAwMDA2QQorOjAwMDAwMDAxRkYKKworCVRoZSBmaXJtd2FyZSBjb250YWluZWQgaGVyZWluIGlzCisKKwkJQ29weXJpZ2h0IChDKSAxOTk5LTIwMDEKKwkJS2V5c3BhbiwgQSBkaXZpc2lvbiBvZiBJbm5vU3lzIEluY29ycG9yYXRlZCAoIktleXNwYW4iKQorCisJYXMgYW4gdW5wdWJsaXNoZWQgd29yay4gVGhpcyBub3RpY2UgZG9lcyBub3QgaW1wbHkgdW5yZXN0cmljdGVkIG9yCisJcHVibGljIGFjY2VzcyB0byB0aGUgc291cmNlIGNvZGUgZnJvbSB3aGljaCB0aGlzIGZpcm13YXJlIGltYWdlIGlzCisJZGVyaXZlZC4gIEV4Y2VwdCBhcyBub3RlZCBiZWxvdyB0aGlzIGZpcm13YXJlIGltYWdlIG1heSBub3QgYmUKKwlyZXByb2R1Y2VkLCB1c2VkLCBzb2xkIG9yIHRyYW5zZmVycmVkIHRvIGFueSB0aGlyZCBwYXJ0eSB3aXRob3V0CisJS2V5c3BhbidzIHByaW9yIHdyaXR0ZW4gY29uc2VudC4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisKKwlQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkIGZvciB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmlybXdhcmUKKwlpbWFnZSBhcyBwYXJ0IG9mIGEgTGludXggb3Igb3RoZXIgT3BlbiBTb3VyY2Ugb3BlcmF0aW5nIHN5c3RlbSBrZXJuZWwKKwlpbiB0ZXh0IG9yIGJpbmFyeSBmb3JtIGFzIHJlcXVpcmVkLgorCisJVGhpcyBmaXJtd2FyZSBtYXkgbm90IGJlIG1vZGlmaWVkIGFuZCBtYXkgb25seSBiZSB1c2VkIHdpdGgKKwlLZXlzcGFuIGhhcmR3YXJlLiAgRGlzdHJpYnV0aW9uIGFuZC9vciBNb2RpZmljYXRpb24gb2YgdGhlCisJa2V5c3Bhbi5jIGRyaXZlciB3aGljaCBpbmNsdWRlcyB0aGlzIGZpcm13YXJlLCBpbiB3aG9sZSBvciBpbgorCXBhcnQsIHJlcXVpcmVzIHRoZSBpbmNsdXNpb24gb2YgdGhpcyBzdGF0ZW1lbnQuIgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUva2V5c3Bhbi91c2EyOHhiLkhFWCBiL2Zpcm13YXJlL2tleXNwYW4vdXNhMjh4Yi5IRVgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDdjYjcwOAotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2tleXNwYW4vdXNhMjh4Yi5IRVgKQEAgLTAsMCArMSwxNDIgQEAKKzowMzAwMzMwMDAyMDAyRDlCCis6MDQwMDJEMDA1M0Q4RUYzMjgzCis6MTAwMDQ2MDAzMDA5MTgxMjEzMzNFRkMzOTUzQzQwMDMwMjAwRDg5MEQxCis6MTAwMDU2MDA3RkJGNzQwMUYwQzIwOUMyMDA4MDc3MzAwMzNCOTA3RkY2Cis6MTAwMDY2MDBDNkUwMjBFMTZEMTIxMzMzRUZDMzk0NDA1MDY0OTA3RUQ2Cis6MTAwMDc2MDA0MEUwMTM5MjA5OTA3RkM3RTAxNEY1MTkyMDAwMTE2MDQzCis6MTAwMDg2MDAwRkY1MDg3RTdFN0Y0MTc1MEM3RTc1MEQ0MTEyMENDQ0Y2Cis6MTAwMDk2MDBDMjAzRTQ5MDdGQzdGMDgwMzk5MDdGQzhFMDIwRTEzMjQ4Cis6MTAwMEE2MDAxMjEzMzNFRkMzOTQ0MDUwMjk5MDdEQzBFMDEzOTIwOTk4Cis6MTAwMEI2MDA5MDdGQzlFMDE0RjUxOTIwMDAxMTYwMEZGNTA4N0U3REM4Cis6MTAwMEM2MDA3RkMxNzUwQzdENzUwREMxMTIwQ0NDRDIwM0U0OTA3RkY3Cis6MTAwMEQ2MDBDOUYwOTA3RkI2RTAzMEUxMDMwMjAxNjAxMjExRjU4RjlFCis6MTAwMEU2MDAxOTEyMTMzRjhGMzZFNTE5QzM5NTNBNTAwRjEyMTMxQjk5Cis6MTAwMEY2MDBFRjMwRTAwOEU1MzYyMEU3MDMzMDBCNUVDMjBCRTUxOTZBCis6MEMwMDM2MDA5MDdGOTg3NDEwRjA5MEMwMDBFMEZGMjI1MgorOjAzMDA0MzAwMDIxMzAwQTUKKzoxMDAwMDMwMEMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMDkwNkUKKzoxMDAwMTMwMDdGQzRFNEYwNTM5MUVGOTA3RkFCNzQwNEYwRDA4NkQwQUIKKzowQTAwMjMwMDg0RDA4NUQwODJEMDgzRDBFMDMyNzMKKzowMzAwMDAwMDAyMEUxMkRCCis6NDAwMTA2MDA2MDU4QjQ4MDAzNDMzNjAyRTUzNjMwRTcyNkU1MTlEMzk0MjA0MDAzNzUxOTIwODUxOTA4N0U3RTdGODA3NTBDN0U3NTBEODBBRjM2MTIwRjVERTUxOTI1RTA5MDdGQjdGMDgwMjdFNTE5RDM5NDNGNDAwMzc1MTkzRjg1MTkwOEMyCis6NDAwMTQ2MDA5MDdFODBFNTM2RjA3RTdFN0Y4MTc1MEM3RTc1MEQ4MTEyMENGMUU1MTkwNDkwN0ZCN0YwOTA3RkNFRTAzMEUxMDYyMDA1MDMwMjAzQzFFNEY1MTg3NDQwMjUxOEY1ODJFNDM0N0NGNTgzRTBGRkU1MTg3QzAwN0IwMTdBN0U3OUFGCis6NDAwMTg2MDAwMDI0MDBGOUVDMzQ3RUZBRUYxMjBFRTQwNTE4RTUxOEI0MjBENzkwN0UwMEUwNjA2ODkwN0UwM0UwNjAyNDdGMDFFNEZEMTIxMUQwN0YwMzdEQ0QxMjExRDA0MzQ2ODA5MDdGOTg3NDE0RjA5MEMwMDBFNTQ2RjBFNDkwN0UxM0Y2Cis6NDAwMUM2MDBGMDgwMzA5MDdFMDFFMEZGMTIxMDU0OTA3RTAyRTBGRjEyMTA3QTdGMDE5MDdFMTFFMEZEMTIxMUQwN0YwMzdEMDcxMjExRDA0MzQ2ODA5MDdGOTg3NDE0RjA5MEMwMDBFNTQ2RjA5MDdGOTg3NDEyRjBFNTQwNDQwNjkwQzAwMDkzCis6NDAwMjA2MDBGMDkwN0UwM0UwNzAwNjkwN0UxM0UwNzAwOEU0OTA3RTEzRjA3NTI1RkY5MDdFMDVFMDYwMTJBM0UwNTQzRkY1NDQ5MDdGOTg3NDEzRjA5MEMwMDBFNTQ0RjA5MDdFMDdFMDYwMkJBM0UwNjAwNTQzNDI4MDgwMDM1MzQyN0Y1M0M4Cis6NDAwMjQ2MDA0MkZDOTA3RTA5RTA2MDExNDM0MjAyQTNFMEZGMTIxMEM2OTA3RTBCRTBGRjEyMTBFQ0FGNDIxMjEwQTA5MDdFMDNFMDYwMDg1MzQyN0ZBRjQyMTIxMEEwOTA3RTBDRTA2MDE4QTNFMDYwMDU0MzQ2MDI4MDAzNTM0NkZEOTA3RkZCCis6NDAwMjg2MDA5ODc0MTRGMDkwQzAwMEU1NDZGMDkwN0UwRUUwNjAxOEEzRTA2MDA1NDM0NjAxODAwMzUzNDZGRTkwN0Y5ODc0MTRGMDkwQzAwMEU1NDZGMDkwN0UxMkUwRjUzQUEzRTAxMzkyMERBM0UwRjUzQ0EzRTA2MDA1NDM0NjEwODAwMzE3Cis6NDAwMkM2MDA1MzQ2RUY5MDdGOTg3NDE0RjA5MEMwMDBFNTQ2RjA5MDdFMTZFMDYwMzI1MzQ0QkY5MDdGOTg3NDEzRjBFNTQ0NTQ3RjkwQzAwMEYwOTA3Rjk4NzQxMUYwMTIxMzBGRUY1NEZFOTBDMDAwRjA1MzNFRkRFNEZGQUQzRTEyMTFEMDgwCis6NDAwMzA2MDBFNEY1MkFGNTI5RDIwNzkwN0UxN0UwNjAwRjQzM0UwMkU0RkZBRDNFMTIxMUQwNzUyOTAxRDIwNzkwN0UxOEUwNjAxMDkwN0Y5ODc0MTJGMEU1NDA0NDA0OTBDMDAwRjBEMjAwOTA3RTE5RTA2MDExNDM0NDQwOTA3Rjk4NzQxMzBFCis6NDAwMzQ2MDBGMEU1NDQ1NDdGOTBDMDAwRjA5MDdFMUFFMDYwMEY1MzNFRkVFNEZGQUQzRTEyMTFEMDc1MkIwMUQyMDc5MDdFMUJFMDYwMEY0MzNFMDFFNEZGQUQzRTEyMTFEMEU0RjUyQkQyMDc5MDdFMUNFMDYwMEU5MDdGOTg3NDEyRjBFNUY4Cis6NDAwMzg2MDA0MDQ0MDI5MEMwMDBGMDkwN0UxREUwNjAwMkQyMEI5MDdFMUVFMDYwMDg3NTJDMDFFNEY1MzhEMjA3OTA3RTFGRTA2MDExOTA3RkQ3NzQxMUYwNzQzMUYwNzQxNUYwNzQzNUYwRDIwM0MyMDVFNDkwN0ZDRkYwMzAxQTU0RTUzODlFCis6NDAwM0M2MDA2MDAyMTUzODIwMTM0QkU1MTNEMzk0MDA0MDA0MTUxMzgwNDA3NTEzMEEzMDFCMDJEMjEzMTIxMzBGRUY1NDAxRjUxOTY1MkE2MDA1ODUxOTJBRDIwNzEyMTM0QkVGNTQ4MDY0ODBGNTE5NjUyNjYwMDU4NTE5MjZEMjA3MzAwRDcxCis6NDAwNDA2MDAxMTEyMTM0QkVGNTQxMEY1MTk2NTI1NjAwNTg1MTkyNUQyMDcyMDFCMDMwMjA3RjAzMDBBMTgxMjEzODdFRkMzOTUzRDQwMDMwMjA0QjA5MDdGQzE3NDAxRjBDMjBBQzIwMDgwNzczMDA0M0I5MDdGQ0FFMDIwRTE2RDEyMTM4NzlCCis6NDAwNDQ2MDBFRkMzOTQ0MDUwNjQ5MDdENDBFMDEzOTIwQTkwN0ZDQkUwMTRGNTE5MjAwMDExNjAwRkY1MDg3RTdEN0Y0MTc1MEM3RDc1MEQ0MTEyMEQxNkMyMDRFNDkwN0ZDQkYwODAzOTkwN0ZDQ0UwMjBFMTMyMTIxMzg3RUZDMzk0NDA1MDk5Cis6NDAwNDg2MDAyOTkwN0NDMEUwMTM5MjBBOTA3RkNERTAxNEY1MTkyMDAwMTE2MDBGRjUwODdFN0M3RkMxNzUwQzdDNzUwREMxMTIwRDE2RDIwNEU0OTA3RkNERjA5MDdGQkFFMDMwRTEwMzAyMDUzODEyMTIzRjhGMTkxMjEzOTM4RjM3RTUxOTdGCis6NDAwNEM2MDBDMzk1M0I1MDBGMTIxMzZGRUYzMEUwMDhFNTM3MjBFNzAzMzAwQzVFQzIwQ0U1MTk2MDU4QjQ4MDAzNDMzNzAyRTUzNzMwRTcyNkU1MTlEMzk0MjA0MDAzNzUxOTIwODUxOTA4N0U3RDdGODA3NTBDN0Q3NTBEODBBRjM3MTIwRkZDCis6NDAwNTA2MDA5NkU1MTkyNUUwOTA3RkJCRjA4MDI3RTUxOUQzOTQzRjQwMDM3NTE5M0Y4NTE5MDg5MDdEODBFNTM3RjA3RTdEN0Y4MTc1MEM3RDc1MEQ4MTEyMEQzQkU1MTkwNDkwN0ZCQkYwOTA3RkQwRTAzMEUxMDYyMDA2MDMwMjA3OTlFNDMxCis6NDAwNTQ2MDBGNTE4NzRDMDI1MThGNTgyRTQzNDdCRjU4M0UwRkZFNTE4N0MwMDdCMDE3QTdFNzkyMDI0MjBGOUVDMzQ3RUZBRUYxMjBFRTQwNTE4RTUxOEI0MjBENzkwN0UyMEUwNjA2ODkwN0UyM0UwNjAyNDdGMDFFNEZEMTIxMjFBN0YwM0Y3Cis6NDAwNTg2MDA3RENEMTIxMjFBNDM0NzgwOTA3Rjk4NzQwQ0YwOTBDMDAwRTU0N0YwRTQ5MDdFMzNGMDgwMzA5MDdFMjFFMEZGMTIxMTM4OTA3RTIyRTBGRjEyMTE1RTdGMDE5MDdFMzFFMEZEMTIxMjFBN0YwMzdEMDcxMjEyMUE0MzQ3ODA5MEFBCis6NDAwNUM2MDA3Rjk4NzQwQ0YwOTBDMDAwRTU0N0YwOTA3Rjk4NzQwQUYwRTU0MTQ0MDY5MEMwMDBGMDkwN0UyM0UwNzAwNjkwN0UzM0UwNzAwOEU0OTA3RTMzRjA3NTJFRkY5MDdFMjVFMDYwMTJBM0UwNTQzRkY1NDU5MDdGOTg3NDBCRjA5MEVCCis6NDAwNjA2MDBDMDAwRTU0NUYwOTA3RTI3RTA2MDJCQTNFMDYwMDU0MzQzODA4MDAzNTM0MzdGNTM0M0ZDOTA3RTI5RTA2MDExNDM0MzAyQTNFMEZGMTIxMTg0OTA3RTJCRTBGRjEyMTFBQUFGNDMxMjExMTI5MDdFMjNFMDYwMDg1MzQzN0ZBRkEwCis6NDAwNjQ2MDA0MzEyMTExMjkwN0UyQ0UwNjAxOEEzRTA2MDA1NDM0NzAyODAwMzUzNDdGRDkwN0Y5ODc0MENGMDkwQzAwMEU1NDdGMDkwN0UyRUUwNjAxOEEzRTA2MDA1NDM0NzAxODAwMzUzNDdGRTkwN0Y5ODc0MENGMDkwQzAwMEU1NDdGMEI0Cis6NDAwNjg2MDA5MDdFMzJFMEY1M0JBM0UwMTM5MjBFQTNFMEY1M0RBM0UwNjAwNTQzNDcxMDgwMDM1MzQ3RUY5MDdGOTg3NDBDRjA5MEMwMDBFNTQ3RjA5MDdFMzZFMDYwMzI1MzQ1QkY5MDdGOTg3NDBCRjBFNTQ1NTQ3RjkwQzAwMEYwOTA3Rjc5Cis6NDAwNkM2MDA5ODc0MDlGMDEyMTM2M0VGNTRGRTkwQzAwMEYwNTMzRkZERTRGRkFEM0YxMjEyMUFFNEY1MzNGNTMyRDIwODkwN0UzN0UwNjAwRjQzM0YwMkU0RkZBRDNGMTIxMjFBNzUzMjAxRDIwODkwN0UzOEUwNjAxMDkwN0Y5ODc0MEFGMEVCCis6NDAwNzA2MDBFNTQxNDQwNDkwQzAwMEYwRDIwMDkwN0UzOUUwNjAxMTQzNDU0MDkwN0Y5ODc0MEJGMEU1NDU1NDdGOTBDMDAwRjA5MDdFM0FFMDYwMEY1MzNGRkVFNEZGQUQzRjEyMTIxQTc1MzQwMUQyMDg5MDdFM0JFMDYwMEY0MzNGMDFFNEM5Cis6NDAwNzQ2MDBGRkFEM0YxMjEyMUFFNEY1MzREMjA4OTA3RTNDRTA2MDBFOTA3Rjk4NzQwQUYwRTU0MTQ0MDI5MEMwMDBGMDkwN0UzREUwNjAwMkQyMEM5MDdFM0VFMDYwMDg3NTM1MDFFNEY1MzlEMjA4OTA3RTNGRTA2MDExOTA3RkQ3NzQxMzY5Cis6NDAwNzg2MDBGMDc0MzNGMDc0MTZGMDc0MzZGMEQyMDRDMjA2RTQ5MDdGRDFGMDMwMUE1NEU1Mzk2MDAyMTUzOTMwMTM0QkU1MTNEMzk0MDA0MDA0MTUxMzgwNDA3NTEzMEEzMDFCMDJDMjEzMTIxMzYzRUY1NDAxRjUxOTY1MzM2MDA1ODUxOTk4Cis6NDAwN0M2MDAzM0QyMDgxMjEzOUZFRjU0ODA2NDgwRjUxOTY1MkY2MDA1ODUxOTJGRDIwODMwMEUxMTEyMTM5RkVGNTQxMEY1MTk2NTJFNjAwNTg1MTkyRUQyMDgzMDFBMkE5MDdGRDJFMDIwRTEyMzkwN0I0MEUwNjAwOUUwRjUxNTkwN0I0Mjk3Cis6NDAwODA2MDBFMEY1MTY5MDdCNDFFMDYwMDk5MDdGRDc3NDE3RjA3NDM3RjBFNDkwN0ZEM0YwOTA3RkMyRTAzMEUxMDMwMjA5MjRFNTBBNzA0MDMwMDczOUU1Mzg3MDM1QzIwN0Y1MTg3RTAwN0IwMDc0MjQyNTE4RjlFRTM0MDBGQTEyMEU5RTQ0Cis6NDAwODQ2MDBGRjc0ODAyNTE4RjU4MkU0MzQ3QkY1ODNFRkYwMDUxOEU1MThCNDA5REI5MDdGQzM3NDA5RjA3NTM4MTBFNEY1MkM3NTBBMDEyMkU1MEE2NDAxNzA0MDMwMDgzOUU1Mzk3MDM1QzIwOEY1MTg3RTAwN0IwMDc0MkQyNTE4RjlFRUJGCis6NDAwODg2MDAzNDAwRkExMjBFOUVGRjc0ODAyNTE4RjU4MkU0MzQ3QkY1ODNFRkYwMDUxOEU1MThCNDA5REI5MDdGQzM3NDA5RjA3NTM5MTBFNEY1MzU3NTBBMDIyMkU1MEE2NDAyNzAzNjMwMTQyRkMyMTRGNTE4N0UwMDdCMDA3NDBFMjUxODRDCis6NDAwOEM2MDBGOUVFMzQwMEZBMTIwRTlFRkY3NDgwMjUxOEY1ODJFNDM0N0JGNTgzRUZGMDA1MThFNTE4QjQwNURCOTA3RkMzNzQwNUYwNzUwQTAzMjJFNTE1NjAzMDE1MTVFNEY1MTg3RTAwN0IwMDc0MTQyNTE4RjlFRTM0MDBGQTEyMEU5RUNCCis6NDAwOTA2MDBGRjc0ODAyNTE4RjU4MkU0MzQ3QkY1ODNFRkYwMDUxOEU1MThCNDAzREI5MDdGQzM3NDAzRjBFNEY1MEEyMjkwN0ZFOUUwMTIwRUY2MEEwQzAwMEE4MDAxMEFFQzAzMDk0ODA2MDlGRjA4MDlGOTA5MDlFMTBBMDlGMDBCMDAwMDQ0Cis6NDAwOTQ2MDAwQjNCOTA3RkVCRTAyNEZFNjAxOTE0NjA2MTI0MDI2MDAzMDIwOUQ3NzQxOTkwN0ZENEYwNzQwMDkwN0ZENUYwMDIwQjQyOTA3RkVBRTA3MDA0N0YwMjgwMDI3RjAzNzU4MjgyNzU4MzE5RUZGMDc1ODI3Qjc1ODMxOUYwNzU4MkRBCis6NDAwOTg2MDA3NDc1ODMxOUYwNzU4MjY2NzU4MzE5RjA3NTgyNTg3NTgzMTlGMDkwN0ZFQUUwMDQ3NTgyMTc3NTgzMTlGMDc0MTk5MDdGRDRGMDc0MTI5MDdGRDVGMDAyMEI0MjkwN0ZFQUUwRkYxMjBGMUNFQTQ5NjAwREVBOTA3RkQ0RjBFOUJFCis6NDAwOUM2MDA5MDdGRDVGMDAyMEI0MjkwN0ZCNEUwNDQwMUYwMDIwQjQyOTA3RkI0RTA0NDAxRjAwMjBCNDI5MDdGMDBFNTA5RjA5MDdGQjU3NDAxRjAwMjBCNDI5MDdGRUFFMEY1MDkwMjBCNDIxMjBCNEEwMjBCNDI5MDdGMDA3NDAxRjA5MDNCCis6NDAwQTA2MDA3RkI1RjAwMjBCNDI5MDdGRThFMDI0N0Y2MDI0MTQ2MDMxMjQwMjcwNUJBMjEwRTQzM0ZGMjVFMEZGQTIxNkU0MzM0RjkwN0YwMEYwRTRBM0YwOTA3RkI1NzQwMkYwMDIwQjQyRTQ5MDdGMDBGMEEzRjA5MDdGQjU3NDAyRjAwMjJFCis6NDAwQTQ2MDAwQjQyOTA3RkVDRTBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTgzRTA1NEZEOTA3RjAwRjBFNEEzRjA5MDdGQjU3NDAyRjAwMjBCNDI5MDdGQjRFMDQ0MDFGMDAyMEI0MjkwN0ZFOEUwMjRGRTRFCis6NDAwQTg2MDA2MDFEMjQwMjYwMDMwMjBCNDI5MDdGRUFFMEI0MDEwNUMyMTAwMjBCNDI5MDdGQjRFMDQ0MDFGMDAyMEI0MjkwN0ZFQUUwNzAzODkwN0ZFQ0UwRjQ1NDgwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyRTQzNDdGRjU4M0VBCis6NDAwQUM2MDBFNEYwOTA3RkVDRTA1NDgwRkYxMzEzMTM1NDFGRkZFMDU0MDcyRjkwN0ZEN0YwRTA0NDIwRjA4MDVGOTA3RkI0RTA0NDAxRjA4MDU2OTA3RkU4RTAyNEZFNjAxODI0MDI3MDRBOTA3RkVBRTBCNDAxMDREMjEwODAzRjkwN0ZCNDdCCis6NDAwQjA2MDBFMDQ0MDFGMDgwMzY5MDdGRUFFMDcwMjA5MDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODM3NDAxRjA4MDEwOTA3RkI0RTA0NDAxRjA4MDA3OTA3RkI0RTA0NDAxRjA5MDdGQjRFMDE3Cis6NDAwQjQ2MDA0NDAyRjAyMkU0OTA3RjkzRjA5MDdGOUM3NDMwRjBFNDkwN0Y5NkYwOTA3Rjk1NzRDMEYwOTA3RjlFNzQzRkYwOTA3Rjk4NzQxOEYwRTRGNThFOTA3RkRGNzRGRkYwOTA3RkRFRjBFNEY1MjQ3NTE4MDE3QjAwNzQyNDI1MThGOTQ1Cis6NDAwQjg2MDBFNDM0MDBGQUU0MTIwRUU0MDUxOEU1MThCNDA5RUE3NTNBMDFFNEY1MzhGNTEzRjUzNkMyMDdDMjBCQzIwNUMyMDBDMjA5QzIxMzkwN0Y5ODc0MTNGMDc1NDQwMzkwQzAwMDc0MDNGMDdGMENFNEZEMTIxMUQwN0YxMDhGNDIxMjVGCis6NDAwQkM2MDAxMEEwOTA3Rjk4NzQxMkYwN0YwMThGNDBFRjQ0MDY5MEMwMDBGMDkwN0Y5ODc0MTRGMDc1NDY4MDkwQzAwMDc0ODBGMDBGRTRGRDEyMTFEMEU0RkY3RUEzQUQwNjhEM0UxMjExRDA5MDdGOTg3NDExRjA5MEMwMDBFNEYwN0YwNUIwCis6NDAwQzA2MDA3RDdGMTIxMUQwN0YwMTEyMTI4OTdGMDM3RDA3MTIxMUQwN0YxMzdEMDkxMjExRDAyMDFCMDMwMjBDQzk3NTJEMDE3NTE4MDE3QjAwNzQyRDI1MThGOUU0MzQwMEZBRTQxMjBFRTQwNTE4RTUxOEI0MDlFQTc1M0IwMUU0RjUzOTc4Cis6NDAwQzQ2MDBGNTEzRjUzN0MyMDhDMjBDQzIwNkMyMDBDMjBBQzIxMzkwN0Y5ODc0MEJGMDc1NDUwMzkwQzAwMDc0MDNGMDdGMENFNEZEMTIxMjFBN0YxMDhGNDMxMjExMTI5MDdGOTg3NDBBRjA3RjAxOEY0MUVGNDQwNjkwQzAwMEYwOTA3RkMwCis6NDAwQzg2MDA5ODc0MENGMDc1NDc4MDkwQzAwMDc0ODBGMDBGRTRGRDEyMTIxQUU0RkY3RUEzQUQwNjhEM0YxMjEyMUE5MDdGOTg3NDA5RjA5MEMwMDBFNEYwN0YwNTdEN0YxMjEyMUE3RjAxMTIxMkFBN0YwMzdEMDcxMjEyMUE3RjEzN0QwOTI3Cis6NDAwQ0M2MDAxMjEyMUFEMjEyMjI5MDdGOTg3NDEwRjBBRjA4RTUwREY1ODJFNTBDRjU4M0MyQUYwNTg2OTBDMDAwMDU4NkUwQTMwNTg2RjAwNTg2REZGN0QyQUYyMjkwN0Y5ODc0MTBGMEFGMDhFNTBERjU4MkU1MENGNTgzQzJBRjA1ODY5MEZECis6NDAwRDA2MDBDMDAwRTAwNTg2RjBBMzA1ODZERkY3MDU4NkQyQUYyMjkwN0Y5ODc0MDhGMEFGMDhFNTBERjU4MkU1MENGNTgzQzJBRjA1ODY5MEMwMDAwNTg2RTBBMzA1ODZGMDA1ODZERkY3RDJBRjIyOTA3Rjk4NzQwOEYwQUYwOEU1MERGNTNBCis6NDAwRDQ2MDA4MkU1MENGNTgzQzJBRjA1ODY5MEMwMDBFMDA1ODZGMEEzMDU4NkRGRjcwNTg2RDJBRjIyNzQwMEY1ODY5MEZEQTU3QzA1QTNFNTgyNDU4MzcwRjkyMjkwN0ZENkUwNDQ4MEYwNDM4NzAxMDAwMDAwMDAwMDIyRDIxOTkwN0Y5MkI4Cis6NDAwRDg2MDBFMDQ0MDJGMDkwN0ZBRUUwRkZEMzkyMTBFNDMzRkVFRjRFRjBEMkU4NDNEODIwOTA3RkRFNzQwMUYwOTA3RkRGRjA5MDdGQUI3NEZGRjA5MDdGQTlGMDkwN0ZBQUYwNTM5MUVGOTA3RkFGRTA0NDAxRjA5MDdGQUVFMDQ0MERGMEFECis6NDAwREM2MDBEMkFGRDIxQTEyMTI2NEMyMTFFNEY1MEJGNTEzQzIxN0MyMTI5MDdGQTEwNEYwOTA3RkQ4RTA2NTE3NjAxMDMwMTIwNUQyMUExMjAwNDY5MDdGRDhFMEY1MTc4MDA4MzAxMjA1QzIxQTEyMDA0NjMwMTEwN0MyMTExMjA5MjU4MEY5Cis6NDAwRTA2MDBENjMwMThEM0MyMTgxMjEzQUI4MENDMjI3ODdGRTRGNkQ4RkQ3NTgxNDcwMjBFNTkwMjBEODFFNDkzQTNGOEU0OTNBMzQwMDNGNjgwMDFGMjA4REZGNDgwMjlFNDkzQTNGODU0MDcyNDBDQzhDMzMzQzQ1NDBGNDQyMEM4ODM0MEZBCis6NDAwRTQ2MDAwNEY0NTY4MDAxNDZGNkRGRTQ4MDBCMDEwMjA0MDgxMDIwNDA4MDkwMTJDQkU0N0UwMTkzNjBCQ0EzRkY1NDNGMzBFNTA5NTQxRkZFRTQ5M0EzNjAwMTBFQ0Y1NEMwMjVFMDYwQTg0MEI4RTQ5M0EzRkFFNDkzQTNGOEU0OTNBMzIwCis6NDAwRTg2MDBDOEM1ODJDOENBQzU4M0NBRjBBM0M4QzU4MkM4Q0FDNTgzQ0FERkU5REVFNzgwQkVCQjAxMDY4OTgyOEE4M0UwMjI1MDAyRTcyMkJCRkUwMkUzMjI4OTgyOEE4M0U0OTMyMkJCMDEwQ0U1ODIyOUY1ODJFNTgzM0FGNTgzRTAyMkQ1Cis6NDAwRUM2MDA1MDA2RTkyNTgyRjhFNjIyQkJGRTA2RTkyNTgyRjhFMjIyRTU4MjI5RjU4MkU1ODMzQUY1ODNFNDkzMjJCQjAxMDY4OTgyOEE4M0YwMjI1MDAyRjcyMkJCRkUwMUYzMjJEMDgzRDA4MkY4RTQ5MzcwMTI3NDAxOTM3MDBEQTNBMzdBCis6NDAwRjA2MDA5M0Y4NzQwMTkzRjU4Mjg4ODNFNDczNzQwMjkzNjg2MEVGQTNBM0EzODBERjhGMThFNEY1MTk3NTFBRkY3NTFCMTk3NTFDODZBQjFBQUExQkE5MUM5MDAwMDExMjBFQjdCNDAzMURBRjE5MDUxOUVGQjUxODAxMjIxMjBFOUU3RUM0Cis6NDAwRjQ2MDAwMDI5RkZFRTNBQTkwNzc1MUFGRkY1MUI4OTFDODBENDdCMDA3QTAwNzkwMDIyOEYxQTA1MERFNTBEQUUwQzcwMDIwNTBDMTRGNTgyOEU4M0U1MUFGMDEyMDAzNjA1MERFNTBEQUMwQzcwMDIwNTBDMTRGNTgyOEM4M0VGRjAxNUJBCis6NDAwRjg2MDAwOEU1MDg2MDBBMTIxMzNGOEYxQUVGNDIzNjgwQ0EyMjhGMUEwNTBERTUwREFFMEM3MDAyMDUwQzE0RjU4MjhFODNFNTFBRjAxMjEzNTcwNTBERTUwREFDMEM3MDAyMDUwQzE0RjU4MjhDODNFRkYwMTUwOEU1MDg2MDBBMTIxM0FBCis6NDAwRkM2MDA5MzhGMUFFRjQyMzc4MENBMjJFNDkwN0Y5M0YwOTA3RjlDNzQzMEYwRTQ5MDdGOTZGMDkwN0Y5NUYwOTA3RjlFNzQyN0YwOTA3Rjk4NzQyMEYwOTA3RjlFNzQwN0YwRTQ5MDdGOTRGMDkwN0Y5RDc0RkZGMEU0OTA3Rjk3RjAyMjdDCis6NDAxMDA2MDBDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDBEMjExNTM5MUVGOTA3RkFCNzQwMUYwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzJDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDBEMjE4NTM5MUVGOTA3RkFCNzQwODdFCis6NDAxMDQ2MDBGMEQwODZEMDg0RDA4NUQwODJEMDgzRDBFMDMyOTA3Rjk4NzQxM0YwOTBDMDAwNzRCRkYwOTA3Rjk4NzQxMEYwOTBDMDAwRUZGMDkwN0Y5ODc0MTNGMEU1NDQ1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MTNGMDkwQzAwMDc0QkZGMDBDCis6NDAxMDg2MDA5MDdGOTg3NDExRjA5MEMwMDBFRkYwOTA3Rjk4NzQxM0YwRTU0NDU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQxM0YwOTBDMDAwNzRCRkYwOTA3Rjk4NzQxMkYwOTBDMDAwRUZGMDkwN0Y5ODc0MTNGMEU1NDQ1NDdGOTBDMDAwRjAyMjBBCis6NDAxMEM2MDA5MDdGOTg3NDEzRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDE0RjA5MEMwMDBFRkYwOTA3Rjk4NzQxM0YwRTU0NDU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQxM0YwOTBDMDAwNzRCRkYwOTA3Rjk4NzQxNkYwOTBDMDAwRUZGMDkwN0Y5ODA3Cis6NDAxMTA2MDA3NDEzRjBFNTQ0NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDBCRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDBBRjA5MEMwMDBFRkYwOTA3Rjk4NzQwQkYwRTU0NTU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQwQkYwOTBDMDAwNzRCRkYwOTA3RkZBCis6NDAxMTQ2MDA5ODc0MDhGMDkwQzAwMEVGRjA5MDdGOTg3NDBCRjBFNTQ1NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDBCRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDA5RjA5MEMwMDBFRkYwOTA3Rjk4NzQwQkYwRTU0NTU0N0Y5MEMwMDBGMDIyOTA3RjcxCis6NDAxMTg2MDA5ODc0MEJGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MENGMDkwQzAwMEVGRjA5MDdGOTg3NDBCRjBFNTQ1NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDBCRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDBFRjA5MEMwMDBFRkYwOTA3Rjk4NzQwQkZECis6NDAxMUM2MDBGMEU1NDU1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MTNGMEU1NDQ1NDdGOTBDMDAwRjA5MDdGOTg3NDE3RjA5MEMwMDBFRkYwOTA3Rjk4NzQxNUYwOTBDMDAwRURGMDIyMTIxMzI3OEYxQTEyMTMyNzhGMUJFNTFBNjUxQjYwMTIxMjkyCis6NDAxMjA2MDAxMzI3OEYxQUU1MUE2NTFCNjAwNzEyMTMyNzhGMUI4MEU4QUYxQTIyOTA3Rjk4NzQwQkYwRTU0NTU0N0Y5MEMwMDBGMDkwN0Y5ODc0MEZGMDkwQzAwMEVGRjA5MDdGOTg3NDBERjA5MEMwMDBFREYwMjIxMjEzN0I4RjFBMTIxMzI1Cis6NDAxMjQ2MDA3QjhGMUJFNTFBNjUxQjYwMTIxMjEzN0I4RjFBRTUxQTY1MUI2MDA3MTIxMzdCOEYxQjgwRThBRjFBMjI5MDdGRDZFMDU0RkJGMEUwNDQwOEYwMzAxQTA0RTA0NDAyRjA3RkY0N0UwMTEyMTJFNzkwN0ZENkUwNTRGN0YwRTA0NEUxCis6NDAxMjg2MDAwNEYwMjJBRTA3RTRGRkU1M0U1NDdGRkQxMjExRDA5MDdGOTg3NDExRjA5MEMwMDBFRUYwRTRFNTNFNDQ4MEZEMTIxMUQwMjJBRTA3RTRGRkU1M0Y1NDdGRkQxMjEyMUE5MDdGOTg3NDA5RjA5MEMwMDBFRUYwRTRFNTNGNDQ4MDk1Cis6NDAxMkM2MDBGRDEyMTIxQTIyMDUwRTAyMDAwMDAwMDAwMzE0MDMwMDAwQzExMUMxMThDMTk1QzExMEMxMTYwMTBBMDBDMTlCMDA4RTE4OEYxOUU1MTkxNTE5QUUxODcwMDIxNTE4NEU2MDA1MTIwRDYwODBFRTIyMDAwMDAyMTAwNjAwMDIxMzdFCis6NDAxMzA2MDAwNDAwMDIwMDAzMDAwMjEwMkQ5MDdGOTg3NDExRjA5MEMwMDBFMEZGMjI5MDdGOTg3NDEyRjA5MEMwMDBFMEZGMjI5MDdGOTg3NDEzRjA5MEMwMDBFMEZGMjI5MDdGOTg3NDE0RjA5MEMwMDBFMEZGMjI5MDdGOTg3NDE1RjA5MEY1Cis6NDAxMzQ2MDBDMDAwRTBGRjIyOTA3Rjk4NzQxNkYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQwOEYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQwOUYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQwQUYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQwQkYwOTBDMDAwRTBGRkMwCis6NDAxMzg2MDAyMjkwN0Y5ODc0MENGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MERGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MEVGMDkwQzAwMEUwRkYyMjEyMEZDRjEyMEQ3MTEyMEI0QTIyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMxCis6NDAxM0M2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU3Cis6NDAxNDA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE2Cis6NDAxNDQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY2Cis6NDAxNDg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI2Cis6NDAxNEM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU2Cis6NDAxNTA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE1Cis6NDAxNTQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY1Cis6NDAxNTg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI1Cis6NDAxNUM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU1Cis6NDAxNjA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE0Cis6NDAxNjQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY0Cis6NDAxNjg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI0Cis6NDAxNkM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU0Cis6NDAxNzA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEzCis6NDAxNzQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYzCis6NDAxNzg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIzCis6NDAxN0M2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUzCis6NDAxODA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEyCis6NDAxODQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYyCis6NDAxODg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIyCis6NDAxOEM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEyMDExMDAxRkYwMEJGCis6NDAxOTA2MDAwMDQwQ0QwNjEwMDEwMDAwMDEwMjAwMDIwOTAyNzQwMDAxMDEwMEEwMzIwOTA0MDAwMDBFRkYwMDAwMDAwNzA1MDEwMjQwMDAwMDA3MDUwMjAyNDAwMDAwMDcwNTAzMDI0MDAwMDAwNzA1MDQwMjQwMDAwMDA3MDUwNTAyNDAwMDc2Cis6NDAxOTQ2MDAwMDA3MDUwNjAyNDAwMDAwMDcwNTA3MDI0MDAwMDAwNzA1ODEwMjQwMDAwMTA3MDU4MjAyNDAwMDAwMDcwNTgzMDI0MDAwMDEwNzA1ODQwMjQwMDAwMTA3MDU4NTAyNDAwMDAxMDcwNTg2MDI0MDAwMDEwNzA1ODcwMjQwMDAwMUY0Cis6NDAxOTg2MDAwNDAzMDkwNDQ4MDM0QjAwNjUwMDc5MDA3MzAwNzAwMDYxMDA2RTAwMkMwMDIwMDA2MTAwMjAwMDY0MDA2OTAwNzYwMDY5MDA3MzAwNjkwMDZGMDA2RTAwMjAwMDZGMDA2NjAwMjAwMDQ5MDA2RTAwNkUwMDZGMDA1MzAwNzkwMDQwCis6NDAxOUM2MDA3MzAwMjAwMDQ5MDA2RTAwNjMwMDJFMDAzNjAzNEIwMDY1MDA3OTAwNzMwMDcwMDA2MTAwNkUwMDIwMDA1NTAwNTMwMDQyMDAyMDAwNTMwMDY1MDA3MjAwNjkwMDYxMDA2QzAwMjAwMDQxMDA2NDAwNjEwMDcwMDA3NDAwNjUwMEY5Cis6MDQxQTA2MDA3MjAwMDAwMDZBCis6MDAwMDAwMDFGRgorCisJVGhlIGZpcm13YXJlIGNvbnRhaW5lZCBoZXJlaW4gaXMKKworCQlDb3B5cmlnaHQgKEMpIDE5OTktMjAwMQorCQlLZXlzcGFuLCBBIGRpdmlzaW9uIG9mIElubm9TeXMgSW5jb3Jwb3JhdGVkICgiS2V5c3BhbiIpCisKKwlhcyBhbiB1bnB1Ymxpc2hlZCB3b3JrLiBUaGlzIG5vdGljZSBkb2VzIG5vdCBpbXBseSB1bnJlc3RyaWN0ZWQgb3IKKwlwdWJsaWMgYWNjZXNzIHRvIHRoZSBzb3VyY2UgY29kZSBmcm9tIHdoaWNoIHRoaXMgZmlybXdhcmUgaW1hZ2UgaXMKKwlkZXJpdmVkLiAgRXhjZXB0IGFzIG5vdGVkIGJlbG93IHRoaXMgZmlybXdhcmUgaW1hZ2UgbWF5IG5vdCBiZQorCXJlcHJvZHVjZWQsIHVzZWQsIHNvbGQgb3IgdHJhbnNmZXJyZWQgdG8gYW55IHRoaXJkIHBhcnR5IHdpdGhvdXQKKwlLZXlzcGFuJ3MgcHJpb3Igd3JpdHRlbiBjb25zZW50LiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKworCVBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQgZm9yIHRoZSBkaXN0cmlidXRpb24gb2YgdGhpcyBmaXJtd2FyZQorCWltYWdlIGFzIHBhcnQgb2YgYSBMaW51eCBvciBvdGhlciBPcGVuIFNvdXJjZSBvcGVyYXRpbmcgc3lzdGVtIGtlcm5lbAorCWluIHRleHQgb3IgYmluYXJ5IGZvcm0gYXMgcmVxdWlyZWQuCisKKwlUaGlzIGZpcm13YXJlIG1heSBub3QgYmUgbW9kaWZpZWQgYW5kIG1heSBvbmx5IGJlIHVzZWQgd2l0aAorCUtleXNwYW4gaGFyZHdhcmUuICBEaXN0cmlidXRpb24gYW5kL29yIE1vZGlmaWNhdGlvbiBvZiB0aGUKKwlrZXlzcGFuLmMgZHJpdmVyIHdoaWNoIGluY2x1ZGVzIHRoaXMgZmlybXdhcmUsIGluIHdob2xlIG9yIGluCisJcGFydCwgcmVxdWlyZXMgdGhlIGluY2x1c2lvbiBvZiB0aGlzIHN0YXRlbWVudC4iCmRpZmYgLS1naXQgYS9maXJtd2FyZS9rZXlzcGFuL3VzYTQ5dy5IRVggYi9maXJtd2FyZS9rZXlzcGFuL3VzYTQ5dy5IRVgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWU1YjNkMQotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2tleXNwYW4vdXNhNDl3LkhFWApAQCAtMCwwICsxLDE0NSBAQAorOjAzMDAzMzAwMDIxOEZCQjUKKzowQzAwMzYwMDkwNzg0MTc0MDFGMDkwQzAwMEUwRkYyMkJGCis6MTAwMDQ2MDBFNEZGNzQ0MDJGRjU4MkU0MzQ3QkY1ODNFMEZFRTUxNThBCis6MTAwMDU2MDAyNDA0RkRFNDM1MTRGQUE5MDU3QjAxRUY3QzAwMjlGOTk3Cis6MTAwMDY2MDBFQzNBRkFFRTEyMTFGMTBGQkYyMkQ3RTUxNTI0MDVGNTg5Cis6MTAwMDc2MDA4MkU0MzUxNEY1ODNFMDcwMDMwMjAxMzRFNTE1MjQwOUEyCis6MTAwMDg2MDBGNTgyRTQzNTE0RjU4M0UwNzAwRUU1MTUyNDBBRjU4MjUxCis6MTAwMDk2MDBFNDM1MTRGNTgzRTA2MDE4N0YwMUU0RkQxMjE2NDdFNUE4Cis6MTAwMEE2MDAxNTI0MzFGNTgyRTQzNTE0RjU4M0UwNTRDRkYwODA0MTEwCis6MTAwMEI2MDBFNTE1MjQwNkY1ODJFNDM1MTRGNTgzRTBGRjEyMTY3NjdECis6MTAwMEM2MDBFNTE1MjQwN0Y1ODJFNDM1MTRGNTgzRTBGRjEyMDAwM0Y1Cis6MTAwMEQ2MDA3RjAxRTUxNTI0MDhGNTgyRTQzNTE0RjU4M0UwRkQxMjY5Cis6MTAwMEU2MDAxNjQ3RTUxNTI0MzFGNTgyRTQzNTE0RjU4M0UwNDQzMEVFCis6MTAwMEY2MDBGMEU1MTUyNDM5RjU4MkU0MzUxNEY1ODNFMDQ0ODBGMDAzCis6MTAwMDAzMDA5MDc4NDE3NDAzRjA5MEMwMDA3NEJGRjA5MDc4NDE3NDBECis6MTAwMDEzMDAwMUYwOTBDMDAwRUZGMDkwNzg0MTc0MDNGMEU1MTUyNEVGCis6MTAwMDIzMDAzN0Y1ODJFNDM1MTRGNTgzRTA1NDdGOTBDMDAwRjAyMjY1Cis6MDMwMDQzMDAwMjFCMDA5RAorOjAzMDAwMDAwMDIxMDk1NTYKKzo0MDAxMDYwMDkwNzg0MTc0MDRGMEU1MTUyNDM5RjU4MkU0MzUxNEY1ODNFMDkwQzAwMEYwOTA3ODQxNzQwMkYwRTUxNTI0MzZGNTgyRTQzNTE0RjU4M0UwNDQwNjkwQzAwMEYwRTUxNTI0MEJGNTgyRTQzNTE0RjU4M0UwNjAzMkU1MTUyNDBDMEIKKzo0MDAxNDYwMEY1ODJFNDM1MTRGNTgzRTA1NDNGRkZFNTE1MjQzN0Y1ODJFNDM1MTRGNTgzRUZGMDkwNzg0MTc0MDNGMEU1MTUyNDM3RjU4MkU0MzUxNEY1ODNFMDkwQzAwMEYwRTUxNTI0MERGNTgyRTQzNTE0RjU4M0UwNzAwMzAyMDI0RkU1ODgKKzo0MDAxODYwMDE1MjQxN0Y1ODJFNDM1MTRGNTgzRTA2MDExRTUxNTI0MzJGNTgyRTQzNTE0RjU4M0UwNDQwNEYwODAwRkU1MTUyNDMyRjU4MkU0MzUxNEY1ODNFMDU0RkJGMEU0RkZFNTE1MjQzMkY1ODJFNDM1MTRGNTgzRTBGRDEyMTY0N0U1NUUKKzo0MDAxQzYwMDE1MjQwRUY1ODJFNDM1MTRGNTgzRTA2MDExRTUxNTI0MzNGNTgyRTQzNTE0RjU4M0UwNDQ4MEYwODAwRkU1MTUyNDMzRjU4MkU0MzUxNEY1ODNFMDU0N0ZGMEU1MTUyNDMzRjU4MkU0MzUxNEY1ODNFMDU0RkNGMEU1MTUyNDBGRUIKKzo0MDAyMDYwMEY1ODJFNDM1MTRGNTgzRTA2MDJGRTUxNTI0MzNGNTgyRTQzNTE0RjU4M0UwNDQwMkYwRTUxNTI0MTBGNTgyRTQzNTE0RjU4M0UwRkYxMjE1RTdFNTE1MjQxMUY1ODJFNDM1MTRGNTgzRTBGRjEyMTYxN0U1MTUyNDMzRjU4MkU0NUUKKzo0MDAyNDYwMDM1MTRGNTgzRTBGRjEyMTVCN0U1MTUyNDE0RjU4MkU0MzUxNEY1ODNFMDYwNDRFNTE1MjQxNUY1ODJFNDM1MTRGNTgzRTA2MDExRTUxNTI0MzlGNTgyRTQzNTE0RjU4M0UwNDQwMUYwODAwRkU1MTUyNDM5RjU4MkU0MzUxNEY1ODEKKzo0MDAyODYwMDgzRTA1NEZFRjA5MDc4NDE3NDA0RjBFNTE1MjQzOUY1ODJFNDM1MTRGNTgzRTA5MEMwMDBGMEU1MTUyNDEyRjU4MkU0MzUxNEY1ODNFMDYwNDRFNTE1MjQxM0Y1ODJFNDM1MTRGNTgzRTA2MDExRTUxNTI0MzlGNTgyRTQzNTE0RTYKKzo0MDAyQzYwMEY1ODNFMDQ0MDJGMDgwMEZFNTE1MjQzOUY1ODJFNDM1MTRGNTgzRTA1NEZERjA5MDc4NDE3NDA0RjBFNTE1MjQzOUY1ODJFNDM1MTRGNTgzRTA5MEMwMDBGMEU1MTUyNDE2RjU4MkU0MzUxNEY1ODNFMEZGRTUxNTI0MzVGNTgyMEEKKzo0MDAzMDYwMEU0MzUxNEY1ODNFRkYwRTUxNTI0MTdGNTgyRTQzNTE0RjU4M0UwMzBFMDExRTUxNTI0MzFGNTgyRTQzNTE0RjU4M0UwNDQ0MEYwODAwRkU1MTUyNDMxRjU4MkU0MzUxNEY1ODNFMDU0QkZGMEU1MTUyNDE4RjU4MkU0MzUxNEY1NzYKKzo0MDAzNDYwMDgzRTBGRkU1MTUyNDNCRjU4MkU0MzUxNEY1ODNFRkYwRTUxNTI0MTlGNTgyRTQzNTE0RjU4M0UwNjAxMUU1MTUyNDM5RjU4MkU0MzUxNEY1ODNFMDQ0MTBGMDgwMEZFNTE1MjQzOUY1ODJFNDM1MTRGNTgzRTA1NEVGRjA5MDc4NjkKKzo0MDAzODYwMDQxNzQwNEYwRTUxNTI0MzlGNTgyRTQzNTE0RjU4M0UwOTBDMDAwRjBFNTE1MjQxQUY1ODJFNDM1MTRGNTgzRTA2MDZCRTUxNTI0MzdGNTgyRTQzNTE0RjU4M0UwNTRCRkYwOTA3ODQxNzQwM0YwRTUxNTI0MzdGNTgyRTQzNTE0RkYKKzo0MDAzQzYwMEY1ODNFMDU0N0Y5MEMwMDBGMDkwNzg0MTc0MDFGMDEyMDAzNkVGNTRGRTkwQzAwMEYwRTUxNTI0MzJGNTgyRTQzNTE0RjU4M0UwNTRGREZGRjBGREU0RkYxMjE2NDdFNTE1MjQyQ0Y1ODJFNDM1MTRGNTgzRTRGMEU1MTUyNDJCQjcKKzo0MDA0MDYwMEY1ODJFNDM1MTRGNTgzRTRGMEU1MTY0MjEzRTUxNTI0MUJGNTgyRTQzNTE0RjU4M0UwNzAwRUU1MTUyNDI1RjU4MkU0MzUxNEY1ODNFMDYwMjhFNTE1MjQzMkY1ODJFNDM1MTRGNTgzRTA0NDAyRkZGMEZERTRGRjEyMTY0N0U1NDcKKzo0MDA0NDYwMDE1MjQyQkY1ODJFNDM1MTRGNTgzNzQwMUYwRTUxNjQyMTNFNTE1MjQxQ0Y1ODJFNDM1MTRGNTgzRTBGRjcwMEVFNTE1MjQyNUY1ODJFNDM1MTRGNTgzRTA2MDJBOTA3ODQxNzQwMkYwRTUxNTI0MzZGNTgyRTQzNTE0RjU4M0UwQzYKKzo0MDA0ODYwMDQ0MDQ5MEMwMDBGMEVGNjAwRkU1MTUyNDMxRjU4MkU0MzUxNEY1ODNFMDQ0MDRGMEU1MTUyNDFERjU4MkU0MzUxNEY1ODNFMDYwMjdFNTE1MjQzN0Y1ODJFNDM1MTRGNTgzRTA0NDQwRjA5MDc4NDE3NDAzRjBFNTE1MjQzN0Y1NTAKKzo0MDA0QzYwMDgyRTQzNTE0RjU4M0UwNTQ3RjkwQzAwMEYwRTUxNTI0MUVGNTgyRTQzNTE0RjU4M0UwNjAyOEU1MTUyNDMyRjU4MkU0MzUxNEY1ODNFMDU0RkVGRkYwRkRFNEZGMTIxNjQ3RTUxNTI0MkRGNTgyRTQzNTE0RjU4Mzc0MDFGMEU1OEYKKzo0MDA1MDYwMDE2NDIxM0U1MTUyNDFGRjU4MkU0MzUxNEY1ODNFMDcwMEVFNTE1MjQyNUY1ODJFNDM1MTRGNTgzRTA2MDI3RTUxNTI0MzJGNTgyRTQzNTE0RjU4M0UwNDQwMUZGRjBGREU0RkYxMjE2NDdFNTE1MjQyREY1ODJFNDM1MTRGNTgzOTcKKzo0MDA1NDYwMEU0RjBFNTE2NDIxM0U1MTUyNDIwRjU4MkU0MzUxNEY1ODNFMDcwMEVFNTE1MjQyNUY1ODJFNDM1MTRGNTgzRTA2MDE4OTA3ODQxNzQwMkYwRTUxNTI0MzZGNTgyRTQzNTE0RjU4M0UwNDQwMjkwQzAwMEYwRTUxNTI0MjFGNTgyQTcKKzo0MDA1ODYwMEU0MzUxNEY1ODNFMDYwMEZFNTE1MjQzMUY1ODJFNDM1MTRGNTgzRTA0NDAyRjBFNTE1MjQyMkY1ODJFNDM1MTRGNTgzRTA2MDFGRTUxNTI0MkVGNTgyRTQzNTE0RjU4Mzc0MDFGMEU1MTUyNDNBRjU4MkU0MzUxNEY1ODNFNEYwRjAKKzo0MDA1QzYwMEU1MTY0MjEzRTUxNTI0MjNGNTgyRTQzNTE0RjU4M0UwNjAwMzEyMTg4NUU1MTUyNDI0RjU4MkU0MzUxNEY1ODNFMDYwMUJFNTE1MjQzMUY1ODJFNDM1MTRGNTgzRTA0NDA4RjA5MDdGOThFMEZGRTUxNkY0RkVFRjVFRjBFNTE1NkMKKzo0MDA2MDYwMDI0MjVGNTgyRTQzNTE0RjU4M0UwNjAxNkU1MTUyNDMxRjU4MkU0MzUxNEY1ODNFMDU0RjdGMDkwN0Y5OEUwNDUxNkYwMjI5MDdGRTlFMDEyMTIwMzA3ODMwMDA3RjcwMTA4NjMwMzA2NEMwNjA3NzQwODA3NjgwOTA3NTAwQTA3Q0UKKzo0MDA2NDYwMDVGMEIwMDAwMDhCMjkwN0ZFQkUwMjRGRTYwMUMxNDcwMDMwMjA2RkUyNDAyNjAwMzAyMDc0Njc0MTk5MDdGRDRGMDc0MDA5MDdGRDVGMDAyMDhCOTkwN0ZFQUUwMDQ3NTgyMTc3NTgzMTlGMDkwN0ZFQUUwMzBFMDA0N0YwMzgwMkQKKzo0MDA2ODYwMDAyN0YwMjc1ODI4Mjc1ODMxOUVGRjA3NTgyNkQ3NTgzMTlGMDc1ODI2Njc1ODMxOUYwNzU4MjVGNzU4MzE5RjA3NTgyNTg3NTgzMTlGMDkwN0ZFQUUwMzBFMTA0N0Y2NDgwMDI3RjMyNzU4MjFBNzU4MzE5RUZGMDkwN0ZFRkUwRkIKKzo0MDA2QzYwMEZFOTA3RkVFRTA3QzAwMjQwMEY1MTlFQzNFRjUxODc1MzMxOTc1MzQxMjc1ODIxNDc1ODMxOUUwNzUyNzAwRjUyOEQzRTUyODk1MTlFNTI3OTUxODQwMDY4NTE4Mjc4NTE5MjgxMjEzMTIwMjA4Qjk5MDdGRUFFMEZGMTIxNDJCQzkKKzo0MDA3MDYwMEVBNDk2MDMyOTA3RkVFRTA3NTE4MDBGNTE5QUUwMkFGMDE4RTMzOEYzNDhGODI4RTgzRTBGRUEzRTA4RTI3RjUyOEQzOTUxOUU1Mjc5NTE4NDAwNjg1MTgyNzg1MTkyODEyMTMxMjAyMDhCOTkwN0ZCNEUwNDQwMUYwMDIwOEI5OUUKKzo0MDA3NDYwMDkwN0ZCNEUwNDQwMUYwMDIwOEI5OTA3RjAwRTUyNUYwOTA3RkI1NzQwMUYwMDIwOEI5OTA3RkVBRTBGNTI1MDIwOEI5OTA3RkVBRTBGNTIyMTIwQUI4MDIwOEI5OTA3RjAwRTUyMkYwOTA3RkI1NzQwMUYwMDIwOEI5OTA3RkU4QkQKKzo0MDA3ODYwMEUwMjQ3RjYwMjQxNDYwMzEyNDAyNzA1QkEyMDBFNDMzRkYyNUUwRkZBMjA2RTQzMzRGOTA3RjAwRjBFNEEzRjA5MDdGQjU3NDAyRjAwMjA4QjlFNDkwN0YwMEYwQTNGMDkwN0ZCNTc0MDJGMDAyMDhCOTkwN0ZFQ0UwRjQ1NDgwNjMKKzo0MDA3QzYwMEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODNFMDU0RkQ5MDdGMDBGMEU0QTNGMDkwN0ZCNTc0MDJGMDAyMDhCOTkwN0ZCNEUwNDQwMUYwMDIwOEI5OTA3RkU4RTAyNEZFNjAxRDI0MDI2MDAzMDIwOEI5MTAKKzo0MDA4MDYwMDkwN0ZFQUUwQjQwMTA1QzIwMDAyMDhCOTkwN0ZCNEUwNDQwMUYwMDIwOEI5OTA3RkVBRTA3MDM4OTA3RkVDRTBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTgzRTRGMDkwN0ZFQ0UwNTQ4MEZGNjcKKzo0MDA4NDYwMDEzMTMxMzU0MUZGRkUwNTQwNzJGOTA3RkQ3RjBFMDQ0MjBGMDgwNUY5MDdGQjRFMDQ0MDFGMDgwNTY5MDdGRThFMDI0RkU2MDE4MjQwMjcwNEE5MDdGRUFFMEI0MDEwNEQyMDA4MDNGOTA3RkI0RTA0NDAxRjA4MDM2OTA3RkVBQ0IKKzo0MDA4ODYwMEUwNzAyMDkwN0ZFQ0UwRjQ1NDgwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyRTQzNDdGRjU4Mzc0MDFGMDgwMTA5MDdGQjRFMDQ0MDFGMDgwMDc5MDdGQjRFMDQ0MDFGMDkwN0ZCNEUwNDQwMkYwMjJFNTExNTQwRjcwM0QKKzo0MDA4QzYwMDAzMDIwOUIyMTIxNkE1RUYyMEUxNzUxMjE3MDNFRjE0RjUxOTEyMThDQ0VGMjUxOUZGRTQzM0ZFQzNFRjk0ODBFRTY0ODA5NDgwNTA1OTg1MTU4Mjg1MTQ4M0UwRkVBM0UwRkZGNTgyOEU4M0UwMzBFMDExRTUxNTI0MzFGNTgyNTAKKzo0MDA5MDYwMEU0MzUxNEY1ODNFMDQ0ODBGMDgwMEZFNTE1MjQzMUY1ODJFNDM1MTRGNTgzRTA1NDdGRjBFNTE1MjQzMUY1ODJFNDM1MTRGNTgzRTAyMEUyMTJFNTE5NjAwRUY1MjNFRjI0MDFGNTJERTQzRUY1MkMxMjE0QURFNEZGMTIxNEUzQzAKKzo0MDA5NDYwMEU1MTUyNDMxRjU4MkU0MzUxNEY1ODNFMDMwRTc1RDEyMThDQ0U1MTUyNDNCRjU4MkU0MzUxNEY1ODNFMEZFRUZDMzlFNTA0OEU1MTUyNDJGRjU4MkU0MzUxNEY1ODM3NDAxRjBFNTE1MjQzMUY1ODJFNDM1MTRGNTgzRTA1NDdCOTkKKzo0MDA5ODYwMEYwRTUxNTI0M0FGNTgyRTQzNTE0RjU4M0U0RjBFNTE2NDIxMzkwN0ZDMkUwMzBFMTEwRTUxNTI0MjZGNTgyRTQzNTE0RjU4M0UwRjUyNDgwMDMxMjEyQTExMjE2RDRFRjMwRTEwMzAyMEFCNzEyMTdEMjhGMTkxMjE4RDhFNTE1RDUKKzo0MDA5QzYwMDI0MzhGNTgyRTQzNTE0RjU4M0VGRjBFNTE1MjQzNUY1ODJFNDM1MTRGNTgzRTBGRkU1MTlDMzlGNTAyODEyMThCNEVGMzBFMDIxRTUxNTI0MzhGNTgyRTQzNTE0RjU4M0UwMjBFNzEyRTUxNTI0MzFGNTgyRTQzNTE0RjU4M0UwQzAKKzo0MDBBMDYwMDIwRTEwMzAyMEFCN0U1MTUyNDMxRjU4MkU0MzUxNEY1ODNFMDU0RkRGMEU1MTk3MDAzMDIwQUI3QjQ4MDBGRTUxNTI0MzhGNTgyRTQzNTE0RjU4M0UwNDQwMkYwRTUxNTI0MzhGNTgyRTQzNTE0RjU4M0UwRkYzMEU3MjlFNTE5Q0YKKzo0MDBBNDYwMEQzOTQyMDQwMDM3NTE5MjA4NTE5MjM4NTE1ODI4NTE0ODNBM0EzRTBGQ0EzRTA4QzJDRjUyRDEyMTNEREU1MTkyNUUwRkYxMjE1MTkyMkU1MTlEMzk0M0Y0MDAzNzUxOTNGODUxOTIzRTUxNTI0MzhGNTgyRTQzNTE0RjU4M0UwNTMKKzo0MDBBODYwMEZGODUxNTgyODUxNDgzQTNBM0UwRkNBM0UwRjU4MjhDODNFRkYwODUxNTgyODUxNDgzQTNBM0UwRkVBM0UwMjQwMUY1MkRFNDNFRjUyQzEyMTQ2Q0U1MTkwNEZGMTIxNTE5MjJFNDkwN0Y5M0YwOTA3RjlDNzRGMEYwOTA3Rjk2NzcKKzo0MDBBQzYwMEYwRTQ5MDdGOTRGMDkwNzg0QTA0RjBGNThFOTA3Rjk1NzRDMEYwOTA3RjlFNzQzRkYwOTA3Rjk4NzQxRkYwOTA3ODQzNzRGRkYwRTQ5MDc4NDFGMDkwN0ZERjc0OUZGMDkwN0ZERUYwOTA3RjkyRTA0NDAyRjA3RTdCN0ZDMDc1ODEKKzo0MDBCMDYwMDE0N0I3NTE1QzA5MDdGOTY3NEVGRjA3NTE2MDExMjBGMTI3RTdCN0ZDMDc1MTQ3Qjc1MTVDMDkwN0Y5Njc0RUZGMDc1MTYwMUU1MTUyNDI2RjU4MkU0MzUxNEY1ODNFNEYwN0U3RTdGNDA4NTE1ODI4NTE0ODM3NDdFRjBBMzc0RjUKKzo0MDBCNDYwMDQwRjA3RTdFN0Y4MDg1MTU4Mjg1MTQ4M0EzQTM3NDdFRjBBMzc0ODBGMDdFN0M3RjAwNzUxNDdDNzUxNTAwOTA3Rjk2NzRERkYwNzUxNjAyMTIwRjEyN0U3QzdGMDA3NTE0N0M3NTE1MDA5MDdGOTY3NERGRjA3NTE2MDJFNTE1MzYKKzo0MDBCODYwMDI0MjZGNTgyRTQzNTE0RjU4Mzc0MDFGMDdFN0Q3RkMwODUxNTgyODUxNDgzNzQ3REYwQTM3NEMwRjA3RTdFN0YwMDg1MTU4Mjg1MTQ4M0EzQTM3NDdFRjBBMzc0MDBGMDdFN0M3RjQwNzUxNDdDNzUxNTQwOTA3Rjk2NzRCRkYwMTgKKzo0MDBCQzYwMDc1MTYwNDEyMEYxMjdFN0M3RjQwNzUxNDdDNzUxNTQwOTA3Rjk2NzRCRkYwNzUxNjA0RTUxNTI0MjZGNTgyRTQzNTE0RjU4Mzc0MDJGMDdFN0Q3RjQwODUxNTgyODUxNDgzNzQ3REYwQTM3NDQwRjA3RTdEN0Y4MDg1MTU4Mjg1RDMKKzo0MDBDMDYwMDE0ODNBM0EzNzQ3REYwQTM3NDgwRjA3RTdDN0Y4MDc1MTQ3Qzc1MTU4MDkwN0Y5Njc0N0ZGMDc1MTYwODEyMEYxMjdFN0M3RjgwNzUxNDdDNzUxNTgwOTA3Rjk2NzQ3RkYwNzUxNjA4RTUxNTI0MjZGNTgyRTQzNTE0RjU4Mzc0MUMKKzo0MDBDNDYwMDAzRjA3RTdDN0ZDMDg1MTU4Mjg1MTQ4Mzc0N0NGMEEzNzRDMEYwN0U3RDdGMDA4NTE1ODI4NTE0ODNBM0EzNzQ3REYwQTM3NDAwRjBDMjBBQzIwOUQyMDIyMkU1MTAwNDU0MDNGNTEwMTQ2MDFGMTQ2MDMxMTQ2MDQzMjQwMzcwMUIKKzo0MDBDODYwMDUyN0U3QjdGQzA3NTE0N0I3NTE1QzA5MDdGOTY3NEVGRjA3NTE2MDE4MDNEN0U3QzdGMDA3NTE0N0M3NTE1MDA5MDdGOTY3NERGRjA3NTE2MDI4MDI4N0U3QzdGNDA3NTE0N0M3NTE1NDA5MDdGOTY3NEJGRjA3NTE2MDQ4MDEzN0UKKzo0MDBDQzYwMDdFN0M3RjgwNzUxNDdDNzUxNTgwOTA3Rjk2NzQ3RkYwNzUxNjA4RTUzMjU1MTY3MDAzMDIwRTExRTUxNkY0RkY1MjMyRTUyNjU0N0ZGRTcwMEZFNTJBNTUxNjYwMjQ5MDdGOThFMDQ1MTZGMDgwMUJCRTIwMThFNTE1MjQzMUY1NDMKKzo0MDBEMDYwMDgyRTQzNTE0RjU4M0UwMzBFMzA5RTRGNTJBOTA3Rjk4RTA1RkYwRTUxNTI0M0FGNTgyRTQzNTE0RjU4M0UwNjAwM0UwMTRGMEU1MTUyNDM0RjU4MkU0MzUxNEY1ODNFMDYwMDNFMDE0RjBFMDYwMDMwMjBFMTE3NDBBRjAxMjAwOUQKKzo0MDBENDYwMDM2RUY1NDAxRkZGNTE5RTUxNTI0MkNGNTgyRTQzNTE0RjU4M0UwNkY2MDA3RTUxOUYwRTUxNjQyMTMxMjE4RTQ4RjE5RTUxNTI0MjdGNTgyRTQzNTE0RjU4M0UwRkZFNTE5NTQxMEZFNkY2MDA2RUVGMEU1MTY0MjEzRTUxNTI0MTUKKzo0MDBEODYwMDI4RjU4MkU0MzUxNEY1ODNFMEZGRTUxOTU0ODBGRTZGNjAwNkVFRjBFNTE2NDIxM0U1MTUyNDI5RjU4MkU0MzUxNEY1ODNFMEZGRTUxOTU0MjBGRTZGNjAxNUVFRjBFNTE1MjQzMUY1ODJFNDM1MTRGNTgzRTAzMEU0MDRFNTE2NjUKKzo0MDBEQzYwMDQyMTNFNTEyNTUxNkZGRjUxOUU1MTUyNDJBRjU4MkU0MzUxNEY1ODNFMDZGNjAxNkU1MTlGMEU1MTUyNDMxRjU4MkU0MzUxNEY1ODNFMDMwRTUwNEU1MTY0MjEzRTUxNzU1MTZGRkY1MTlFNTE1MjQzMEY1ODJFNDM1MTRGNTgzODAKKzo0MDBFMDYwMEUwNkY2MDA3RTUxOUYwRTUxNjQyMTMyMjMwMDkwMzAyMEYxMUU1MjQxNDYwMkExNDYwNDExNDYwNTgxNDYwNkYyNDA0NjAwMzAyMEVDRjdFN0I3RkMwNzUxNDdCNzUxNUMwOTA3Rjk2NzRFRkYwNzUxNjAxMTIxMkExNzUyNDAxNUEKKzo0MDBFNDYwMDIyN0U3QzdGMDA3NTE0N0M3NTE1MDA5MDdGOTY3NERGRjA3NTE2MDIxMjEyQTE3NTI0MDIyMjdFN0M3RjQwNzUxNDdDNzUxNTQwOTA3Rjk2NzRCRkYwNzUxNjA0MTIxMkExNzUyNDAzMjI3RTdDN0Y4MDc1MTQ3Qzc1MTU4MDkwNTEKKzo0MDBFODYwMDdGOTY3NDdGRjA3NTE2MDgxMjEyQTE3NTI0MDQyMjMwMDQzM0MyMDQ1MzEzREZFNEY1MTk3RTAwN0IwMDc0MkUyNTE5RjlFRTM0MDBGQTEyMTFBQkZGNzQ4MDI1MTlGNTgyRTQzNDdCRjU4M0VGRjAwNTE5RTUxOUI0MDNEQjkwMkQKKzo0MDBFQzYwMDdGQzM3NDAzRjA3NTI0MDUyMkU1MzY2MDNCRDUzNjBBNTMxM0VGMzAwQTA0RDIwOUMyMEFFNEY1MTk3RTAwN0IwMDc0MzUyNTE5RjlFRTM0MDBGQTEyMTFBQkZGNzQ4MDI1MTlGNTgyRTQzNDdCRjU4M0VGRjAwNTE5RTUxOUI0NjcKKzo0MDBGMDYwMDAzREI5MDdGQzM3NDAzRjBFNEY1MjQyMkU0RjUxQTdFMDA3QjAxRTUxNTI1MUFGOUVFMzUxNEZBRTQxMjExRjEwNTFBRTUxQUI0M0NFOEU1MTUyNDM1RjU4MkU0MzUxNEY1ODM3NDAxRjA5MDc4NDE3NDAzRjBFNTE1MjQzN0Y1NjkKKzo0MDBGNDYwMDgyRTQzNTE0RjU4Mzc0MDNGMDkwQzAwMEYwN0YwQ0U0RkQxMjE2NDc3RjEwRTUxNTI0MzNGNTgyRTQzNTE0RjU4M0VGRjAxMjE1Qjc5MDc4NDE3NDAyRjA3RjAxRTUxNTI0MzZGNTgyRTQzNTE0RjU4M0VGRjA0NDA2OTBDMDAwRjEKKzo0MDBGODYwMEYwOTA3ODQxNzQwNEYwRTUxNTI0MzlGNTgyRTQzNTE0RjU4Mzc0ODBGMDkwQzAwMEYwMEZFNEZEMTIxNjQ3RTRGRjdFQTNFNTE1MjQzMkY1ODJFNDM1MTRGNTgzRUVGMEZEMTIxNjQ3OTA3ODQxNzQwMUYwOTBDMDAwRTRGMDdGODkKKzo0MDBGQzYwMDA1N0Q3RjEyMTY0NzdGMDExMjE1NEY3RjAzN0QwNzEyMTY0NzIyNTMxMzNGOTA3QkYxRTAzMEUzMTY3RTdCN0ZDMDc1MTQ3Qjc1MTVDMDkwN0Y5Njc0RUZGMDc1MTYwMTEyMDhDMTkwN0MzMUUwMzBFMzE2N0U3QzdGMDA3NTE0MTcKKzo0MDEwMDYwMDdDNzUxNTAwOTA3Rjk2NzRERkYwNzUxNjAyMTIwOEMxOTA3QzcxRTAzMEUzMTY3RTdDN0Y0MDc1MTQ3Qzc1MTU0MDkwN0Y5Njc0QkZGMDc1MTYwNDEyMDhDMTkwN0NCMUUwMzBFMzE2N0U3QzdGODA3NTE0N0M3NTE1ODA5MDdGMzcKKzo0MDEwNDYwMDk2NzQ3RkYwNzUxNjA4MTIwOEMxMDUxMUU1MTE1NDBGRjUxODcwMUY5MDc4NDFFMDU0RjdGMDkwN0Y5OUUwRjUxNzkwNzg0MUUwNDQwOEYwOTA3Rjk5RTBGNEY1MTIxMjExMjEyMkU1MThCNDAxMDQxMjBDNzMyMjkwN0ZDMkUwMTgKKzo0MDEwODYwMDIwRTEwOEU1MTM2MDA0MTIwRTEyMjIxMjBDNzMyMjc4N0ZFNEY2RDhGRDc1ODEzNzAyMTBEQzAyMTIyOUU0OTNBM0Y4RTQ5M0EzNDAwM0Y2ODAwMUYyMDhERkY0ODAyOUU0OTNBM0Y4NTQwNzI0MENDOEMzMzNDNDU0MEY0NDIwN0UKKzo0MDEwQzYwMEM4ODM0MDA0RjQ1NjgwMDE0NkY2REZFNDgwMEIwMTAyMDQwODEwMjA0MDgwOTAxODUwRTQ3RTAxOTM2MEJDQTNGRjU0M0YzMEU1MDk1NDFGRkVFNDkzQTM2MDAxMEVDRjU0QzAyNUUwNjBBODQwQjhFNDkzQTNGQUU0OTNBM0Y4QTIKKzo0MDExMDYwMEU0OTNBM0M4QzU4MkM4Q0FDNTgzQ0FGMEEzQzhDNTgyQzhDQUM1ODNDQURGRTlERUU3ODBCRTkwN0ZEMkUwMzBFMTAzMDIxMUFBQzIwOTkwN0I0MEUwMTQ2MDI2MTQ2MDNCMTQ2MDUwMjQ4MzYwNjQyNDgwNzA2MzdFN0I3RkMwMUMKKzo0MDExNDYwMDc1MTQ3Qjc1MTVDMDkwN0Y5Njc0RUZGMDc1MTYwMTEyMDA0NjgwNEI3RTdDN0YwMDc1MTQ3Qzc1MTUwMDkwN0Y5Njc0REZGMDc1MTYwMjEyMDA0NjgwMzM3RTdDN0Y0MDc1MTQ3Qzc1MTU0MDkwN0Y5Njc0QkZGMDc1MTYwNDEyRkIKKzo0MDExODYwMDAwNDY4MDFCN0U3QzdGODA3NTE0N0M3NTE1ODA5MDdGOTY3NDdGRjA3NTE2MDgxMjAwNDY4MDAzMTIxNzVDRTQ5MDdGRDNGMDIyQkIwMTA2ODk4MjhBODNFMDIyNTAwMkU3MjJCQkZFMDJFMzIyODk4MjhBODNFNDkzMjJCQjAxODkKKzo0MDExQzYwMDBDRTU4MjI5RjU4MkU1ODMzQUY1ODNFMDIyNTAwNkU5MjU4MkY4RTYyMkJCRkUwNkU5MjU4MkY4RTIyMkU1ODIyOUY1ODJFNTgzM0FGNTgzRTQ5MzIyQkIwMTA2ODk4MjhBODNGMDIyNTAwMkY3MjJCQkZFMDFGMzIyRDA4M0QwODYKKzo0MDEyMDYwMDgyRjhFNDkzNzAxMjc0MDE5MzcwMERBM0EzOTNGODc0MDE5M0Y1ODI4ODgzRTQ3Mzc0MDI5MzY4NjBFRkEzQTNBMzgwREY5MDdGQUVFMEZGRDM5MjAwRTQzM0ZFRUY0RUYwRDJFODQzRDgyMDkwN0ZERTc0MDFGMDkwN0ZERkYwOEUKKzo0MDEyNDYwMDkwN0ZBQjc0RkZGMDkwN0ZBOUYwOTA3RkFBRjA1MzkxRUY5MDdGQUY3NDAxRjA5MDdGQUU3NDBERjBEMkFGRDIwQjEyMTgxNEMyMDFFNEY1MkJGNTMxQzIwN0MyMDI3NTI5RjA5MDdGRDhFMDY1MjY2MDA2NzUzMjBGRTBGNTI2QzkKKzo0MDEyODYwMDMwMDIwMzEyMEZEOTMwMDEwN0MyMDExMjA2Mjk4MEUyMzAwOERGQzIwODEyMTgzNTgwRDgyMkU1MTM1NTE2NjA2QUU1MTUyNDNBRjU4MkU0MzUxNEY1ODNFMDcwNUNFNTE2RjQ1MjEzRTUxNTI0MjZGRkU0MzUxNEZFRTRGRDBGQTIKKzo0MDEyQzYwMEVGQUEwNjcwMDEwRTE0RjU4MjhBODNFMEZDNzQ4MDJERjU4MkU0MzQ3QkY1ODNFQ0YwMERCRDBCRTI5MDdGQzM3NDBCRjBFNTE1MjQzQUY1ODJFNDM1MTRGNTgzNzQxMEYwRTUxNTI0MkVGNTgyRTQzNTE0RjU4M0U0RjBFNTE1QzEKKzo0MDEzMDYwMDI0MkZGNTgyRTQzNTE0RjU4M0U0RjAyMkU1Mjg0NTI3NjA1N0FFMjdBRjI4RDNFRjk0NDBFRTk0MDA0MDA0N0UwMDdGNDBDM0U1Mjg5RkY1MjhFNTI3OUVGNTI3RTRGREVEQzM5RkU0OUU1MDFGODUzNDgyODUzMzgzRTBGQzc0OTQKKzo0MDEzNDYwMDAwMkRGNTgyRTQzNDdGRjU4M0VDRjAwRDA1MzRFNTM0NzAwMjA1MzM4MERBOTA3RkE5NzQwMUYwOTA3RkFDRTA0NDAxRjA5MDdGQjVFRkYwMjI5MDdGQUNFMDU0RkVGMEU0OTA3RkI1RjAyMkU0OTA3RjkzRjA5MDdGOUM3NEYwQTcKKzo0MDEzODYwMEYwOTA3Rjk2RjBFNDkwNzg0QUYwOTA3Rjk0RjA5MDdGOUQ3NEZGRjBFNDkwN0Y5N0YwMzAwMDA3RTUyOTU0RjBGRjgwMDI3RjAwRUY0NDA4OTA3ODQxRjBFNDkwN0Y5OEYwOTA3Rjk1RjA5MDdGOUU3NEZGRjBFNDkwN0Y5OEYwQzkKKzo0MDEzQzYwMDkwN0Y5M0YwOTA3RjlDNzRGMEYwRTQ5MDdGOTZGMDkwN0Y5MkUwNTRGREYwMjI4RjFBMDUyREU1MkRBRTJDNzAwMjA1MkMxNEY1ODI4RTgzRTUxQUYwMTIxOEYwMDUyREU1MkRBQzJDNzAwMjA1MkMxNEY1ODI4QzgzRUZGMDE1OUQKKzo0MDE0MDYwMDIzRTUyMzYwMUZFNTE1MjQzOEY1ODJFNDM1MTRGNTgzQzA4M0MwODJFMEZFMTIxOEQ4OEYxQUVFNEZEMDgyRDA4M0YwODBCNTIyOEYxQUU0RjUxQjc1MUNGRjc1MUQxOTc1MUU4NkFCMUNBQTFEQTkxRTkwMDAwMTEyMTFDNEI0RTEKKzo0MDE0NDYwMDAzMURBRjFCMDUxQkVGQjUxQTAxMjIxMjExQUI3RTAwMjlGRkVFM0FBOTA3NzUxQ0ZGRjUxRDg5MUU4MEQ0N0IwMDdBMDA3OTAwMjJFNDkwNzg0MUYwOTA3ODRGNzRDMEYwRTQ5MDc4NTBGMEU1MkM5MDc4NTFGMEFFMkNFNTJERjgKKzo0MDE0ODYwMDkwNzg1MkYwOTA3ODU0RTUyM0YwOTA3ODU3NzQwNEYwOTA3RkUyRTA0NDEwRjBFMDU0RjdGMEU0OTA3ODU1RjA5MDc4NTVFMDYwRkEyMkU0OTA3ODQxRjBFNTJDOTA3ODRGRjBBRTJDRTUyRDkwNzg1MEYwOTA3ODUxNzRDMEYwODEKKzo0MDE0QzYwMEU0OTA3ODUyRjA5MDc4NTRFNTIzRjA5MDc4NTc3NDA0RjBFNDkwNzg1NUYwOTA3ODU1RTA2MEZBMjJFNTE1MjQwNEY1ODJFNDM1MTRGNTgzRTAxNDYwMEYxNDYwMTMxNDYwMTc4MDAwOTA3RkM3RUZGMDgwMTM5MDdGQzlFRkYwODEKKzo0MDE1MDYwMDgwMEM5MDdGQ0JFRkYwODAwNTkwN0ZDREVGRjBFNTE2NDIyQTIyRTUxNTI0MDRGNTgyRTQzNTE0RjU4M0UwMTQ2MDBGMTQ2MDEzMTQ2MDE3ODAwMDkwN0ZCN0VGRjA4MDEzOTA3RkI5RUZGMDgwMEM5MDdGQkJFRkYwODAwNTkwM0IKKzo0MDE1NDYwMDdGQkRFRkYwRTUxNjQyMkEyMkFFMDdFNEZGRTUxNTI0MzJGNTgyRTQzNTE0RjU4M0UwNTQ3RkZEMTIxNjQ3OTA3ODQxNzQwMUYwOTBDMDAwRUVGMEU0RTUxNTI0MzJGNTgyRTQzNTE0RjU4M0UwNDQ4MEZEMTIxNjQ3MjJDMEUwQTAKKzo0MDE1ODYwMEMwRjBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMEMwRDA3NUQwMDg1MzkxRUY5MDdGQTk3NDAxRjAxMjEzMTJEMEQwRDA4NkQwODREMDg1RDA4MkQwODNEMEYwRDBFMDMyOTA3ODQxNzQwM0YwOTBDMDAwNzRCRkYwOTA3ODQxRDAKKzo0MDE1QzYwMDc0MDJGMDkwQzAwMEVGRjA5MDc4NDE3NDAzRjBFNTE1MjQzN0Y1ODJFNDM1MTRGNTgzRTA1NDdGOTBDMDAwRjAyMjkwNzg0MTc0MDNGMDkwQzAwMDc0QkZGMDkwNzg0MTc0MDRGMDkwQzAwMEVGRjA5MDc4NDE3NDAzRjBFNTE1NkQKKzo0MDE2MDYwMDI0MzdGNTgyRTQzNTE0RjU4M0UwNTQ3RjkwQzAwMEYwMjI5MDc4NDE3NDAzRjA5MEMwMDA3NEJGRjA5MDc4NDE3NDA2RjA5MEMwMDBFRkYwOTA3ODQxNzQwM0YwRTUxNTI0MzdGNTgyRTQzNTE0RjU4M0UwNTQ3RjkwQzAwMEYwRkYKKzo0MDE2NDYwMDIyOTA3ODQxNzQwM0YwRTUxNTI0MzdGNTgyRTQzNTE0RjU4M0UwNTQ3RjkwQzAwMEYwOTA3ODQxNzQwN0YwOTBDMDAwRUZGMDkwNzg0MTc0MDVGMDkwQzAwMEVERjAyMjkwNzg0MTc0MDNGMDkwQzAwMDc0QkZGMEU0OTA3ODQxRkEKKzo0MDE2ODYwMEYwOTBDMDAwRUZGMDkwNzg0MTc0MDNGMEU1MTUyNDM3RjU4MkU0MzUxNEY1ODNFMDU0N0Y5MEMwMDBGMDIyRTUxNTI0MDRGNTgyRTQzNTE0RjU4M0UwMTQ2MDBFMTQ2MDExMTQ2MDE0ODAwMDkwN0ZDNkUwRkYyMjkwN0ZDOEUwMTUKKzo0MDE2QzYwMEZGMjI5MDdGQ0FFMEZGMjI5MDdGQ0NFMEZGMjJFNTE1MjQwNEY1ODJFNDM1MTRGNTgzRTAxNDYwMEUxNDYwMTExNDYwMTQ4MDAwOTA3RkI2RTBGRjIyOTA3RkI4RTBGRjIyOTA3RkJBRTBGRjIyOTA3RkJDRTBGRjIyRTUxNTI0OUUKKzo0MDE3MDYwMDA0RjU4MkU0MzUxNEY1ODNFMDE0NjAwRTE0NjAxMTE0NjAxNDgwMDA5MDdGQzdFMEZGMjI5MDdGQzlFMEZGMjI5MDdGQ0JFMEZGMjI5MDdGQ0RFMEZGMjJDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDA5MDdGQzRFNEYwOTYKKzo0MDE3NDYwMDUzOTFFRjkwN0ZBQjc0MDRGMEQwODZEMDg0RDA4NUQwODJEMDgzRDBFMDMyOTA3QjQxRTBGNTM2NDMxMzEwQTNFMDYwMDk5MDdGRDc3NDE3RjA3NDM3RjA5MDdCNDNFMEY1MzdBM0UwNTRGMEY1MjlFMDYwMDJEMjBBMjJDMEUwMjQKKzo0MDE3ODYwMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwRDIwMTUzOTFFRjkwN0ZBQjc0MDFGMEQwODZEMDg0RDA4NUQwODJEMDgzRDBFMDMyQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwRDIwODUzOTFFRjkwN0ZBQjc0MDhGMEQwRjcKKzo0MDE3QzYwMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMjEyMThDMEFFMDcxMjE4QzBBRDA3RUU2RDYwMTAxMjE4QzBBRTA3RUU2RDYwMDcxMjE4QzBBRDA3ODBFQ0FGMDYyMjc0MDBGNTg2OTBGREE1N0MwNUEzRTU4MjQ1ODM3MEY5MjI5MDdGRDUKKzo0MDE4MDYwMEQ2RTA0NDgwRjA0Mzg3MDEwMDAwMDAwMDAwMjI5MDdGRDZFMDQ0MDRGMEUwNDQwOEYwMzAwQjA0RTA0NDAyRjA3RkY0N0UwMTEyMTg2QjkwN0ZENkUwNTRGN0YwMjIxMjEzN0MxMjE4MDQ5MDdGRDZFMDMwRTcwQTdGMDU3RTAwN0QKKzo0MDE4NDYwMDEyMTg2QjEyMTg5RTEyMEFCODIyMDMzNTgwMDAwMDAzMkU4MTAwMDBDMTg1QzE4MUMxMDhDMTAwQzEwNjAxMjIwMDAxMjQwMDAwOEUxODhGMTlFNTE5MTUxOUFFMTg3MDAyMTUxODRFNjAwODEyMTdGMzEyMTdGMzgwRUIyMkU1NDUKKzo0MDE4ODYwMDE1MjQwNEY1ODJFNDM1MTRGNTgzRTAwNEZGNDQxMDkwN0ZEN0YwRUY0NDMwRjAyMjkwN0ZENkUwNDQwMUYwN0YwRDdFMDAxMjE4NkI5MDdGRDZFMDU0RkVGMDIyOTA3ODQxNzQwMkYwOTBDMDAwRTBGRjIyOTA3ODQxNzQwM0YwRDUKKzo0MDE4QzYwMDkwQzAwMEUwRkYyMjkwNzg0MTc0MDRGMDkwQzAwMEUwRkYyMjkwNzg0MTc0MDVGMDkwQzAwMEUwRkYyMjkwNzg0MTc0MDZGMDkwQzAwMEUwRkYyMkU0OTA3ODQxRjA5MEMwMDBFMEZGMjI1M0Q4RUYzMjAwMTIwMTEwMDFGRjAwQUIKKzo0MDE5MDYwMDAwNDBDRDA2MEEwMTAwMDAwMTAyMDAwNDA5MDI3NDAwMDEwMTAwQTAzMjA5MDQwMDAwMEVGRjAwMDAwMDA3MDUwMTAyNDAwMDAwMDcwNTAyMDI0MDAwMDAwNzA1MDMwMjQwMDAwMDA3MDUwNDAyNDAwMDAwMDcwNTA1MDI0MDAwN0EKKzo0MDE5NDYwMDAwMDcwNTA2MDI0MDAwMDAwNzA1MDcwMjQwMDAwMDA3MDU4MTAyNDAwMDAxMDcwNTgyMDI0MDAwMDEwNzA1ODMwMjQwMDAwMTA3MDU4NDAyNDAwMDAxMDcwNTg1MDI0MDAwMDEwNzA1ODYwMjQwMDAwMTA3MDU4NzAyNDAwMDAxRjMKKzo0MDE5ODYwMDA0MDMwOTA0NDgwMzRCMDA2NTAwNzkwMDczMDA3MDAwNjEwMDZFMDAyQzAwMjAwMDYxMDAyMDAwNjQwMDY5MDA3NjAwNjkwMDczMDA2OTAwNkYwMDZFMDAyMDAwNkYwMDY2MDAyMDAwNDkwMDZFMDA2RTAwNkYwMDUzMDA3OTAwNDAKKzo0MDE5QzYwMDczMDAyMDAwNDkwMDZFMDA2MzAwMkUwMDM2MDM1NTAwNTMwMDQyMDAyMDAwMzQwMDJEMDA3MDAwNkYwMDcyMDA3NDAwMjAwMDUzMDA2NTAwNzIwMDY5MDA2MTAwNkMwMDIwMDA0MTAwNjQwMDYxMDA3MDAwNzQwMDY1MDA3MjAwM0MKKzo0MDFBMDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTAKKzo0MDFBNDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjAKKzo0MDFBODYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjAKKzo0MDFBQzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIxNzg0MDAwMjFCMjYKKzoxNTFCMDYwMDA0MDAwMjE3MzIwMDAyMTdBQjAwMDIxQjEwMDAwMjFCMTQwMDAyMTU4NEJFCis6MDAwMDAwMDFGRgorCisJVGhlIGZpcm13YXJlIGNvbnRhaW5lZCBoZXJlaW4gaXMKKworCQlDb3B5cmlnaHQgKEMpIDE5OTktMjAwMQorCQlLZXlzcGFuLCBBIGRpdmlzaW9uIG9mIElubm9TeXMgSW5jb3Jwb3JhdGVkICgiS2V5c3BhbiIpCisKKwlhcyBhbiB1bnB1Ymxpc2hlZCB3b3JrLiBUaGlzIG5vdGljZSBkb2VzIG5vdCBpbXBseSB1bnJlc3RyaWN0ZWQgb3IKKwlwdWJsaWMgYWNjZXNzIHRvIHRoZSBzb3VyY2UgY29kZSBmcm9tIHdoaWNoIHRoaXMgZmlybXdhcmUgaW1hZ2UgaXMKKwlkZXJpdmVkLiAgRXhjZXB0IGFzIG5vdGVkIGJlbG93IHRoaXMgZmlybXdhcmUgaW1hZ2UgbWF5IG5vdCBiZQorCXJlcHJvZHVjZWQsIHVzZWQsIHNvbGQgb3IgdHJhbnNmZXJyZWQgdG8gYW55IHRoaXJkIHBhcnR5IHdpdGhvdXQKKwlLZXlzcGFuJ3MgcHJpb3Igd3JpdHRlbiBjb25zZW50LiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKworCVBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQgZm9yIHRoZSBkaXN0cmlidXRpb24gb2YgdGhpcyBmaXJtd2FyZQorCWltYWdlIGFzIHBhcnQgb2YgYSBMaW51eCBvciBvdGhlciBPcGVuIFNvdXJjZSBvcGVyYXRpbmcgc3lzdGVtIGtlcm5lbAorCWluIHRleHQgb3IgYmluYXJ5IGZvcm0gYXMgcmVxdWlyZWQuCisKKwlUaGlzIGZpcm13YXJlIG1heSBub3QgYmUgbW9kaWZpZWQgYW5kIG1heSBvbmx5IGJlIHVzZWQgd2l0aAorCUtleXNwYW4gaGFyZHdhcmUuICBEaXN0cmlidXRpb24gYW5kL29yIE1vZGlmaWNhdGlvbiBvZiB0aGUKKwlrZXlzcGFuLmMgZHJpdmVyIHdoaWNoIGluY2x1ZGVzIHRoaXMgZmlybXdhcmUsIGluIHdob2xlIG9yIGluCisJcGFydCwgcmVxdWlyZXMgdGhlIGluY2x1c2lvbiBvZiB0aGlzIHN0YXRlbWVudC4iCmRpZmYgLS1naXQgYS9maXJtd2FyZS9rZXlzcGFuL3VzYTQ5d2xjLkhFWCBiL2Zpcm13YXJlL2tleXNwYW4vdXNhNDl3bGMuSEVYCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg0MDZlYjEKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9rZXlzcGFuL3VzYTQ5d2xjLkhFWApAQCAtMCwwICsxLDE1MyBAQAorOjAxN0Y5MjAwMDFFRAorOjAzMDAzMzAwMDIxOEZCQjUKKzowRDAwMzYwMEU1MTEwNDkwNzg0MUYwOTBDMDAwRTBGRjIyMzkKKzoxMDAwNDYwMEU0RkY3NDQwMkZGNTgyRTQzNDdCRjU4M0UwRkVFNTE1OEEKKzoxMDAwNTYwMDI0MDRGREU0MzUxNEZBQTkwNTdCMDFFRjdDMDAyOUY5OTcKKzoxMDAwNjYwMEVDM0FGQUVFMTIxMUVDMEZCRjIyRDdFNTE1MjQwNUY1OEUKKzoxMDAwNzYwMDgyRTQzNTE0RjU4M0UwNzAwMzAyMDEzNEU1MTUyNDA5QTIKKzoxMDAwODYwMEY1ODJFNDM1MTRGNTgzRTA3MDBFRTUxNTI0MEFGNTgyNTEKKzoxMDAwOTYwMEU0MzUxNEY1ODNFMDYwMTg3RjAxRTRGRDEyMTY2QkU1ODQKKzoxMDAwQTYwMDE1MjQzMUY1ODJFNDM1MTRGNTgzRTA1NENGRjA4MDQxMTAKKzoxMDAwQjYwMEU1MTUyNDA2RjU4MkU0MzUxNEY1ODNFMEZGMTIwMDAzMDYKKzoxMDAwQzYwMEU1MTUyNDA3RjU4MkU0MzUxNEY1ODNFMEZGMTIxNUFCMzgKKzoxMDAwRDYwMDdGMDFFNTE1MjQwOEY1ODJFNDM1MTRGNTgzRTBGRDEyNjkKKzoxMDAwRTYwMDE2NkJFNTE1MjQzMUY1ODJFNDM1MTRGNTgzRTA0NDMwQ0EKKzoxMDAwRjYwMEYwRTUxNTI0MzlGNTgyRTQzNTE0RjU4M0UwNDQ4MEYwMDMKKzoxMDAwMDMwMDkwNzg0MTc0RjNGMDkwQzAwMDc0QkZGMDkwNzg0MTc0MUQKKzoxMDAwMTMwMEYwRjA5MEMwMDBFRkYwOTA3ODQxNzRGM0YwRTUxNTI0MTAKKzoxMDAwMjMwMDM3RjU4MkU0MzUxNEY1ODNFMDU0N0Y5MEMwMDBGMDIyNjUKKzowMzAwNDMwMDAyMUIwMDlECis6MDMwMDAwMDAwMjEwOTA1QgorOjQwMDEwNjAwOTA3ODQxNzRGNEYwRTUxNTI0MzlGNTgyRTQzNTE0RjU4M0UwOTBDMDAwRjA5MDc4NDE3NEYyRjBFNTE1MjQzNkY1ODJFNDM1MTRGNTgzRTA0NDA2OTBDMDAwRjBFNTE1MjQwQkY1ODJFNDM1MTRGNTgzRTA2MDMyRTUxNTI0MEMyQgorOjQwMDE0NjAwRjU4MkU0MzUxNEY1ODNFMDU0M0ZGRkU1MTUyNDM3RjU4MkU0MzUxNEY1ODNFRkYwOTA3ODQxNzRGM0YwRTUxNTI0MzdGNTgyRTQzNTE0RjU4M0UwOTBDMDAwRjBFNTE1MjQwREY1ODJFNDM1MTRGNTgzRTA3MDAzMDIwMjRGRTU5OAorOjQwMDE4NjAwMTUyNDE3RjU4MkU0MzUxNEY1ODNFMDYwMTFFNTE1MjQzMkY1ODJFNDM1MTRGNTgzRTA0NDA0RjA4MDBGRTUxNTI0MzJGNTgyRTQzNTE0RjU4M0UwNTRGQkYwRTRGRkU1MTUyNDMyRjU4MkU0MzUxNEY1ODNFMEZEMTIxNjZCRTUzQQorOjQwMDFDNjAwMTUyNDBFRjU4MkU0MzUxNEY1ODNFMDYwMTFFNTE1MjQzM0Y1ODJFNDM1MTRGNTgzRTA0NDgwRjA4MDBGRTUxNTI0MzNGNTgyRTQzNTE0RjU4M0UwNTQ3RkYwRTUxNTI0MzNGNTgyRTQzNTE0RjU4M0UwNTRGQ0YwRTUxNTI0MEZFQgorOjQwMDIwNjAwRjU4MkU0MzUxNEY1ODNFMDYwMkZFNTE1MjQzM0Y1ODJFNDM1MTRGNTgzRTA0NDAyRjBFNTE1MjQxMEY1ODJFNDM1MTRGNTgzRTBGRjEyMTYwQkU1MTUyNDExRjU4MkU0MzUxNEY1ODNFMEZGMTIxNjNCRTUxNTI0MzNGNTgyRTQxNQorOjQwMDI0NjAwMzUxNEY1ODNFMEZGMTIxNURCRTUxNTI0MTRGNTgyRTQzNTE0RjU4M0UwNjA0NEU1MTUyNDE1RjU4MkU0MzUxNEY1ODNFMDYwMTFFNTE1MjQzOUY1ODJFNDM1MTRGNTgzRTA0NDAxRjA4MDBGRTUxNTI0MzlGNTgyRTQzNTE0RjU1RAorOjQwMDI4NjAwODNFMDU0RkVGMDkwNzg0MTc0RjRGMEU1MTUyNDM5RjU4MkU0MzUxNEY1ODNFMDkwQzAwMEYwRTUxNTI0MTJGNTgyRTQzNTE0RjU4M0UwNjA0NEU1MTUyNDEzRjU4MkU0MzUxNEY1ODNFMDYwMTFFNTE1MjQzOUY1ODJFNDM1MTRGNgorOjQwMDJDNjAwRjU4M0UwNDQwMkYwODAwRkU1MTUyNDM5RjU4MkU0MzUxNEY1ODNFMDU0RkRGMDkwNzg0MTc0RjRGMEU1MTUyNDM5RjU4MkU0MzUxNEY1ODNFMDkwQzAwMEYwRTUxNTI0MTZGNTgyRTQzNTE0RjU4M0UwRkZFNTE1MjQzNUY1ODIxQQorOjQwMDMwNjAwRTQzNTE0RjU4M0VGRjBFNTE1MjQxN0Y1ODJFNDM1MTRGNTgzRTAzMEUwMTFFNTE1MjQzMUY1ODJFNDM1MTRGNTgzRTA0NDQwRjA4MDBGRTUxNTI0MzFGNTgyRTQzNTE0RjU4M0UwNTRCRkYwRTUxNTI0MThGNTgyRTQzNTE0RjU3NgorOjQwMDM0NjAwODNFMEZGRTUxNTI0M0JGNTgyRTQzNTE0RjU4M0VGRjBFNTE1MjQxOUY1ODJFNDM1MTRGNTgzRTA2MDExRTUxNTI0MzlGNTgyRTQzNTE0RjU4M0UwNDQxMEYwODAwRkU1MTUyNDM5RjU4MkU0MzUxNEY1ODNFMDU0RUZGMDkwNzg2OQorOjQwMDM4NjAwNDE3NEY0RjBFNTE1MjQzOUY1ODJFNDM1MTRGNTgzRTA5MEMwMDBGMEU1MTUyNDFBRjU4MkU0MzUxNEY1ODNFMDYwNkJFNTE1MjQzN0Y1ODJFNDM1MTRGNTgzRTA1NEJGRjA5MDc4NDE3NEYzRjBFNTE1MjQzN0Y1ODJFNDM1MTQxRgorOjQwMDNDNjAwRjU4M0UwNTQ3RjkwQzAwMEYwOTA3ODQxNzRGMUYwMTIwMDM2RUY1NEZFOTBDMDAwRjBFNTE1MjQzMkY1ODJFNDM1MTRGNTgzRTA1NEZERkZGMEZERTRGRjEyMTY2QkU1MTUyNDJDRjU4MkU0MzUxNEY1ODNFNEYwRTUxNTI0MkJBMworOjQwMDQwNjAwRjU4MkU0MzUxNEY1ODNFNEYwRTUxNjQyMTNFNTE1MjQxQkY1ODJFNDM1MTRGNTgzRTA3MDBFRTUxNTI0MjVGNTgyRTQzNTE0RjU4M0UwNjAyOEU1MTUyNDMyRjU4MkU0MzUxNEY1ODNFMDQ0MDJGRkYwRkRFNEZGMTIxNjZCRTUyMworOjQwMDQ0NjAwMTUyNDJCRjU4MkU0MzUxNEY1ODM3NDAxRjBFNTE2NDIxM0U1MTUyNDFDRjU4MkU0MzUxNEY1ODNFMEZGNzAwRUU1MTUyNDI1RjU4MkU0MzUxNEY1ODNFMDYwMkE5MDc4NDE3NEYyRjBFNTE1MjQzNkY1ODJFNDM1MTRGNTgzRTBENgorOjQwMDQ4NjAwNDQwNDkwQzAwMEYwRUY2MDBGRTUxNTI0MzFGNTgyRTQzNTE0RjU4M0UwNDQwNEYwRTUxNTI0MURGNTgyRTQzNTE0RjU4M0UwNjAyN0U1MTUyNDM3RjU4MkU0MzUxNEY1ODNFMDQ0NDBGMDkwNzg0MTc0RjNGMEU1MTUyNDM3RjU2MAorOjQwMDRDNjAwODJFNDM1MTRGNTgzRTA1NDdGOTBDMDAwRjBFNTE1MjQxRUY1ODJFNDM1MTRGNTgzRTA2MDI4RTUxNTI0MzJGNTgyRTQzNTE0RjU4M0UwNTRGRUZGRjBGREU0RkYxMjE2NkJFNTE1MjQyREY1ODJFNDM1MTRGNTgzNzQwMUYwRTU2QgorOjQwMDUwNjAwMTY0MjEzRTUxNTI0MUZGNTgyRTQzNTE0RjU4M0UwNzAwRUU1MTUyNDI1RjU4MkU0MzUxNEY1ODNFMDYwMjdFNTE1MjQzMkY1ODJFNDM1MTRGNTgzRTA0NDAxRkZGMEZERTRGRjEyMTY2QkU1MTUyNDJERjU4MkU0MzUxNEY1ODM3MworOjQwMDU0NjAwRTRGMEU1MTY0MjEzRTUxNTI0MjBGNTgyRTQzNTE0RjU4M0UwNzAwRUU1MTUyNDI1RjU4MkU0MzUxNEY1ODNFMDYwMTg5MDc4NDE3NEYyRjBFNTE1MjQzNkY1ODJFNDM1MTRGNTgzRTA0NDAyOTBDMDAwRjBFNTE1MjQyMUY1ODJCNworOjQwMDU4NjAwRTQzNTE0RjU4M0UwNjAwRkU1MTUyNDMxRjU4MkU0MzUxNEY1ODNFMDQ0MDJGMEU1MTUyNDIyRjU4MkU0MzUxNEY1ODNFMDYwMUZFNTE1MjQyRUY1ODJFNDM1MTRGNTgzNzQwMUYwRTUxNTI0M0FGNTgyRTQzNTE0RjU4M0U0RjBGMAorOjQwMDVDNjAwRTUxNjQyMTNFNTE1MjQyM0Y1ODJFNDM1MTRGNTgzRTA2MDAzMTIxODdBRTUxNTI0MjRGNTgyRTQzNTE0RjU4M0UwNjAyM0U1MTUyNDMxRjU4MkU0MzUxNEY1ODNFMDQ0MDhGMEU1MTZDNDU0RjBGRjQyMTE5MDdGOTZFMDRGRjAwMAorOjQwMDYwNjAwOTA3ODQxRTA0RkYwRTUxNTI0MjVGNTgyRTQzNTE0RjU4M0UwNjAyNEU1MTUyNDMxRjU4MkU0MzUxNEY1ODNFMDU0RjdGMEU1MTZDNDU0RjBGNEZGNTIxMTkwN0Y5NkUwNUZGMDkwNzg0MUUwNUZGMDIyOTA3RkU5RTAxMjExRkU0MworOjQwMDY0NjAwMDc5OTAwMDgwRDAxMDg3OTAzMDY2MjA2MDc4QTA4MDc3RTA5MDc2NjBBMDc3NTBCMDAwMDA4Qzg5MDdGRUJFMDI0RkU2MDFDMTQ3MDAzMDIwNzE0MjQwMjYwMDMwMjA3NUM3NDE5OTA3RkQ0RjA3NDAwOTA3RkQ1RjAwMjA4Q0Y0QworOjQwMDY4NjAwOTA3RkVBRTAwNDc1ODIxNzc1ODMxOUYwOTA3RkVBRTAzMEUwMDQ3RjAyODAwMjdGMDM3NTgyODI3NTgzMTlFRkYwNzU4MjZENzU4MzE5RjA3NTgyNjY3NTgzMTlGMDc1ODI1Rjc1ODMxOUYwNzU4MjU4NzU4MzE5RjA5MDdGRUEwQQorOjQwMDZDNjAwRTAzMEUxMDQ3RjY0ODAwMjdGMzI3NTgyMUE3NTgzMTlFRkYwOTA3RkVGRTBGRTkwN0ZFRUUwN0MwMDI0MDBGNTE4RUMzRUY1MTc3NTMzMTk3NTM0MTI3NTgyMTQ3NTgzMTlFMDc1MjcwMEY1MjhEM0U1Mjg5NTE4RTUyNzk1MTdENgorOjQwMDcwNjAwNDAwNjg1MTcyNzg1MTgyODEyMTMwRDAyMDhDRjkwN0ZFQUUwRkYxMjE0NUZFQTQ5NjAzMjkwN0ZFRUUwNzUxNzAwRjUxOEFFMDJBRjAxOEUzMzhGMzQ4RjgyOEU4M0UwRkVBM0UwOEUyN0Y1MjhEMzk1MThFNTI3OTUxNzQwMDY4QgorOjQwMDc0NjAwODUxNzI3ODUxODI4MTIxMzBEMDIwOENGOTA3RkI0RTA0NDAxRjAwMjA4Q0Y5MDdGQjRFMDQ0MDFGMDAyMDhDRjkwN0YwMEU1MjVGMDkwN0ZCNTc0MDFGMDAyMDhDRjkwN0ZFQUUwRjUyNTAyMDhDRjkwN0ZFQUUwRjUyMjEyMEE5QgorOjQwMDc4NjAwQ0UwMjA4Q0Y5MDdGMDBFNTIyRjA5MDdGQjU3NDAxRjAwMjA4Q0Y5MDdGRThFMDI0N0Y2MDI0MTQ2MDMxMjQwMjcwNUJBMjAwRTQzM0ZGMjVFMEZGQTIwNkU0MzM0RjkwN0YwMEYwRTRBM0YwOTA3RkI1NzQwMkYwMDIwOENGRTRDOQorOjQwMDdDNjAwOTA3RjAwRjBBM0YwOTA3RkI1NzQwMkYwMDIwOENGOTA3RkVDRTBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTgzRTA1NEZEOTA3RjAwRjBFNEEzRjA5MDdGQjU3NDAyRjAwMjA4Q0Y5MDdGQjQ1QworOjQwMDgwNjAwRTA0NDAxRjAwMjA4Q0Y5MDdGRThFMDI0RkU2MDFEMjQwMjYwMDMwMjA4Q0Y5MDdGRUFFMEI0MDEwNUMyMDAwMjA4Q0Y5MDdGQjRFMDQ0MDFGMDAyMDhDRjkwN0ZFQUUwNzAzODkwN0ZFQ0UwRjQ1NDgwRkZDNDU0MEZGRkUwNTQ5MAorOjQwMDg0NjAwMDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODNFNEYwOTA3RkVDRTA1NDgwRkYxMzEzMTM1NDFGRkZFMDU0MDcyRjkwN0ZEN0YwRTA0NDIwRjA4MDVGOTA3RkI0RTA0NDAxRjA4MDU2OTA3RkU4RTAyNEZFNjAxODI0MDI3MDRBOTBDQQorOjQwMDg4NjAwN0ZFQUUwQjQwMTA0RDIwMDgwM0Y5MDdGQjRFMDQ0MDFGMDgwMzY5MDdGRUFFMDcwMjA5MDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODM3NDAxRjA4MDEwOTA3RkI0RTA0NDAxRjA0NgorOjQwMDhDNjAwODAwNzkwN0ZCNEUwNDQwMUYwOTA3RkI0RTA0NDAyRjAyMkU1MTI1NDBGNzAwMzAyMDlDODEyMTY5QUVGMjBFMTc1MTIxNkY4RUYxNEY1MTgxMjE4QzVFRjI1MThGRkU0MzNGRUMzRUY5NDgwRUU2NDgwOTQ4MDUwNTk4NTE1ODIwMQorOjQwMDkwNjAwODUxNDgzRTBGRUEzRTBGRkY1ODI4RTgzRTAzMEUwMTFFNTE1MjQzMUY1ODJFNDM1MTRGNTgzRTA0NDgwRjA4MDBGRTUxNTI0MzFGNTgyRTQzNTE0RjU4M0UwNTQ3RkYwRTUxNTI0MzFGNTgyRTQzNTE0RjU4M0UwMjBFMjEyRTVDQworOjQwMDk0NjAwMTg2MDBFRjUyM0VGMjQwMUY1MkRFNDNFRjUyQzEyMTRBMEU0RkYxMjE0RDdFNTE1MjQzMUY1ODJFNDM1MTRGNTgzRTAzMEU3NUQxMjE4QzVFNTE1MjQzQkY1ODJFNDM1MTRGNTgzRTBGRUVGQzM5RTUwNDhFNTE1MjQyRkY1ODIwNworOjQwMDk4NjAwRTQzNTE0RjU4Mzc0MDFGMEU1MTUyNDMxRjU4MkU0MzUxNEY1ODNFMDU0N0JGMEU1MTUyNDNBRjU4MkU0MzUxNEY1ODNFNEYwRTUxNjQyMTM5MDdGQzJFMDMwRTExMEU1MTUyNDI2RjU4MkU0MzUxNEY1ODNFMEY1MjQ4MDAzMTJDNQorOjQwMDlDNjAwMTI5QzEyMTZDOUVGMzBFMTAzMDIwQUNEMTIxN0M3OEYxODEyMThEM0U1MTUyNDM4RjU4MkU0MzUxNEY1ODNFRkYwRTUxNTI0MzVGNTgyRTQzNTE0RjU4M0UwRkZFNTE4QzM5RjUwMjgxMjE4QTlFRjMwRTAyMUU1MTUyNDM4RjUyRQorOjQwMEEwNjAwODJFNDM1MTRGNTgzRTAyMEU3MTJFNTE1MjQzMUY1ODJFNDM1MTRGNTgzRTAyMEUxMDMwMjBBQ0RFNTE1MjQzMUY1ODJFNDM1MTRGNTgzRTA1NEZERjBFNTE4NzAwMzAyMEFDREI0ODAwRkU1MTUyNDM4RjU4MkU0MzUxNEY1ODNERQorOjQwMEE0NjAwRTA0NDAyRjBFNTE1MjQzOEY1ODJFNDM1MTRGNTgzRTBGRjMwRTcyOUU1MThEMzk0MjA0MDAzNzUxODIwODUxODIzODUxNTgyODUxNDgzQTNBM0UwRkNBM0UwOEMyQ0Y1MkQxMjEzQ0ZFNTE4MjVFMEZGMTIxNTBEMjJFNTE4RDNDMworOjQwMEE4NjAwOTQzRjQwMDM3NTE4M0Y4NTE4MjNFNTE1MjQzOEY1ODJFNDM1MTRGNTgzRTBGRjg1MTU4Mjg1MTQ4M0EzQTNFMEZDQTNFMEY1ODI4QzgzRUZGMDg1MTU4Mjg1MTQ4M0EzQTNFMEZFQTNFMDI0MDFGNTJERTQzRUY1MkMxMjE0MUQ0RgorOjQwMEFDNjAwRTUxODA0RkYxMjE1MEQyMkU0OTA3RjkzRjA5MDdGOUM3NEZGRjBFNDkwN0Y5NkYwOTA3Rjk0RjA5MDc4NEEwNEYwRjU4RTkwN0Y5NTc0QzBGMDkwN0Y5RTc0M0ZGMDkwN0Y5ODc0MkZGMDkwNzg0Mzc0RjdGMEU0OTA3ODQxRjAyQworOjQwMEIwNjAwOTA3RkRGNzQ5RkYwOTA3RkRFRjA5MDdGOTJFMDQ0MDJGMDdFN0I3RkMwNzUxNDdCNzUxNUMwOTA3Rjk4NzQyRUYwNzUxNjAxMTIwRjI4N0U3QjdGQzA3NTE0N0I3NTE1QzA5MDdGOTg3NDJFRjA3NTE2MDFFNTE1MjQyNkY1ODI5MAorOjQwMEI0NjAwRTQzNTE0RjU4M0U0RjA3RTdFN0Y0MDg1MTU4Mjg1MTQ4Mzc0N0VGMEEzNzQ0MEYwN0U3RTdGODA4NTE1ODI4NTE0ODNBM0EzNzQ3RUYwQTM3NDgwRjA3RTdDN0YwMDc1MTQ3Qzc1MTUwMDkwN0Y5ODc0MkRGMDc1MTYwMjEyMEYwQQorOjQwMEI4NjAwMjg3RTdDN0YwMDc1MTQ3Qzc1MTUwMDkwN0Y5ODc0MkRGMDc1MTYwMkU1MTUyNDI2RjU4MkU0MzUxNEY1ODM3NDAxRjA3RTdEN0ZDMDg1MTU4Mjg1MTQ4Mzc0N0RGMEEzNzRDMEYwN0U3RTdGMDA4NTE1ODI4NTE0ODNBM0EzNzRFRQorOjQwMEJDNjAwN0VGMEEzNzQwMEYwN0U3QzdGNDA3NTE0N0M3NTE1NDA5MDdGOTg3NDJCRjA3NTE2MDQxMjBGMjg3RTdDN0Y0MDc1MTQ3Qzc1MTU0MDkwN0Y5ODc0MkJGMDc1MTYwNEU1MTUyNDI2RjU4MkU0MzUxNEY1ODM3NDAyRjA3RTdEN0Y1NworOjQwMEMwNjAwNDA4NTE1ODI4NTE0ODM3NDdERjBBMzc0NDBGMDdFN0Q3RjgwODUxNTgyODUxNDgzQTNBMzc0N0RGMEEzNzQ4MEYwN0U3QzdGODA3NTE0N0M3NTE1ODA5MDdGOTg3NDI3RjA3NTE2MDgxMjBGMjg3RTdDN0Y4MDc1MTQ3Qzc1MTU5MAorOjQwMEM0NjAwODA5MDdGOTg3NDI3RjA3NTE2MDhFNTE1MjQyNkY1ODJFNDM1MTRGNTgzNzQwM0YwN0U3QzdGQzA4NTE1ODI4NTE0ODM3NDdDRjBBMzc0QzBGMDdFN0Q3RjAwODUxNTgyODUxNDgzQTNBMzc0N0RGMEEzNzQwMEYwQzIwQUMyMDlEMworOjQwMEM4NjAwRTRGNTExRDIwMjIyRTUxMDA0NTQwM0Y1MTAxNDYwMUYxNDYwMzExNDYwNDMyNDAzNzA1MjdFN0I3RkMwNzUxNDdCNzUxNUMwOTA3Rjk4NzQyRUYwNzUxNjAxODAzRDdFN0M3RjAwNzUxNDdDNzUxNTAwOTA3Rjk4NzQyREYwNzU2NAorOjQwMENDNjAwMTYwMjgwMjg3RTdDN0Y0MDc1MTQ3Qzc1MTU0MDkwN0Y5ODc0MkJGMDc1MTYwNDgwMTM3RTdDN0Y4MDc1MTQ3Qzc1MTU4MDkwN0Y5ODc0MjdGMDc1MTYwOEU1MzI1NTE2NzAwMzAyMEUyN0U1MTZGNDUyMzJFNTI2NTQ3RkZGNzA5NQorOjQwMEQwNjAwMTdFNTJBNTUxNjYwMzQ5MDdGOTZFMEZFRTUxNkM0NTRGMEY0RkRFRTVERjA4MDIzQkYyMDIwRTUxNTI0MzFGNTgyRTQzNTE0RjU4M0UwMzBFMzExRTRGNTJBOTA3Rjk2RTBGRkU1MTZDNDU0RjBGRUVGNEVGMEU1MTUyNDNBRjVDMworOjQwMEQ0NjAwODJFNDM1MTRGNTgzRTA2MDAzRTAxNEYwRTUxNTI0MzRGNTgyRTQzNTE0RjU4M0UwNjAwM0UwMTRGMEUwNjAwMzAyMEUyNzc0MEFGMDEyMDAzNkVGNTQwMUZGRjUxOEU1MTUyNDJDRjU4MkU0MzUxNEY1ODNFMDZGNjAwN0U1MThGMQorOjQwMEQ4NjAwRjBFNTE2NDIxMzEyMThFMThGMThFNTE1MjQyN0Y1ODJFNDM1MTRGNTgzRTBGRkU1MTg1NDEwRkU2RjYwMDZFRUYwRTUxNjQyMTNFNTE1MjQyOEY1ODJFNDM1MTRGNTgzRTBGRkU1MTg1NDgwRkU2RjYwMDZFRUYwRTUxNjQyMTM4NgorOjQwMERDNjAwRTUxNTI0MjlGNTgyRTQzNTE0RjU4M0UwRkZFNTE4NTQyMEZFNkY2MDE1RUVGMEU1MTUyNDMxRjU4MkU0MzUxNEY1ODNFMDMwRTQwNEU1MTY0MjEzRTUxNTI0MkFGNTgyRTQzNTE0RjU4M0UwRkZFNTE4NTQ0MEZFNkY2MDE1RUUyMworOjQwMEUwNjAwRjBFNTE1MjQzMUY1ODJFNDM1MTRGNTgzRTAzMEU1MDRFNTE2NDIxM0U1MTUyNDMwRjU4MkU0MzUxNEY1ODNFNEYwMjIzMDA5MDMwMjBGMjdFNTI0MTQ2MDJBMTQ2MDQxMTQ2MDU4MTQ2MDZGMjQwNDYwMDMwMjBFRTU3RTdCN0YzMQorOjQwMEU0NjAwQzA3NTE0N0I3NTE1QzA5MDdGOTg3NDJFRjA3NTE2MDExMjEyOUM3NTI0MDEyMjdFN0M3RjAwNzUxNDdDNzUxNTAwOTA3Rjk4NzQyREYwNzUxNjAyMTIxMjlDNzUyNDAyMjI3RTdDN0Y0MDc1MTQ3Qzc1MTU0MDkwN0Y5ODc0MkIwNQorOjQwMEU4NjAwRjA3NTE2MDQxMjEyOUM3NTI0MDMyMjdFN0M3RjgwNzUxNDdDNzUxNTgwOTA3Rjk4NzQyN0YwNzUxNjA4MTIxMjlDNzUyNDA0MjIzMDA0MzNDMjA0NTMxM0RGRTRGNTE4N0UwMDdCMDA3NDJFMjUxOEY5RUUzNDAwRkExMjExQTZDQQorOjQwMEVDNjAwRkY3NDgwMjUxOEY1ODJFNDM0N0JGNTgzRUZGMDA1MThFNTE4QjQwM0RCOTA3RkMzNzQwM0YwNzUyNDA1MjJFNTM2NjAzQkQ1MzYwQTUzMTNFRjMwMEEwNEQyMDlDMjBBRTRGNTE4N0UwMDdCMDA3NDM1MjUxOEY5RUUzNDAwRkFDQworOjQwMEYwNjAwMTIxMUE2RkY3NDgwMjUxOEY1ODJFNDM0N0JGNTgzRUZGMDA1MThFNTE4QjQwM0RCOTA3RkMzNzQwM0YwRTRGNTI0MjJFNEY1MTk3RTAwN0IwMUU1MTUyNTE5RjlFRTM1MTRGQUU0MTIxMUVDMDUxOUU1MTlCNDNDRThFNTE1MjRGQQorOjQwMEY0NjAwMzVGNTgyRTQzNTE0RjU4Mzc0MDFGMDkwNzg0MTc0RjNGMEU1MTUyNDM3RjU4MkU0MzUxNEY1ODM3NDAzRjA5MEMwMDBGMDdGMENFNEZEMTIxNjZCN0YxMEU1MTUyNDMzRjU4MkU0MzUxNEY1ODNFRkYwMTIxNURCOTA3ODQxNzQ2NAorOjQwMEY4NjAwRjJGMDdGMDFFNTE1MjQzNkY1ODJFNDM1MTRGNTgzRUZGMDQ0MDY5MEMwMDBGMDkwNzg0MTc0RjRGMEU1MTUyNDM5RjU4MkU0MzUxNEY1ODM3NDgwRjA5MEMwMDBGMDBGRTRGRDEyMTY2QkU0RkY3RUEzRTUxNTI0MzJGNTgyRTQ4NgorOjQwMEZDNjAwMzUxNEY1ODNFRUYwRkQxMjE2NkI5MDc4NDE3NEYxRjA5MEMwMDBFNEYwN0YwNTdEN0YxMjE2NkI3RjAxMTIxNTQzN0YwMzdEMDcxMjE2NkIyMjUzMTMzRjkwN0JGMUUwMzBFMzE2N0U3QjdGQzA3NTE0N0I3NTE1QzA5MDdGOTg2QgorOjQwMTAwNjAwNzQyRUYwNzUxNjAxMTIwOEQ3OTA3QzMxRTAzMEUzMTY3RTdDN0YwMDc1MTQ3Qzc1MTUwMDkwN0Y5ODc0MkRGMDc1MTYwMjEyMDhENzkwN0M3MUUwMzBFMzE2N0U3QzdGNDA3NTE0N0M3NTE1NDA5MDdGOTg3NDJCRjA3NTE2MDRDNAorOjQwMTA0NjAwMTIwOEQ3OTA3Q0IxRTAzMEUzMTY3RTdDN0Y4MDc1MTQ3Qzc1MTU4MDkwN0Y5ODc0MjdGMDc1MTYwODEyMDhENzA1MTJFNTEyNTQwRkY1MTc3MDA0MTIxMTFDMjJFNTE3QjQwMTA0MTIwQzhDMjI5MDdGQzJFMDIwRTEwOEU1MTM3MAorOjQwMTA4NjAwNjAwNDEyMEUyODIyMTIwQzhDMjI3ODdGRTRGNkQ4RkQ3NTgxMzcwMjEwRDcwMjEyMjRFNDkzQTNGOEU0OTNBMzQwMDNGNjgwMDFGMjA4REZGNDgwMjlFNDkzQTNGODU0MDcyNDBDQzhDMzMzQzQ1NDBGNDQyMEM4ODM0MDA0RjRENworOjQwMTBDNjAwNTY4MDAxNDZGNkRGRTQ4MDBCMDEwMjA0MDgxMDIwNDA4MDkwMTg0NUU0N0UwMTkzNjBCQ0EzRkY1NDNGMzBFNTA5NTQxRkZFRTQ5M0EzNjAwMTBFQ0Y1NEMwMjVFMDYwQTg0MEI4RTQ5M0EzRkFFNDkzQTNGOEU0OTNBM0M4QzU4OQorOjQwMTEwNjAwODJDOENBQzU4M0NBRjBBM0M4QzU4MkM4Q0FDNTgzQ0FERkU5REVFNzgwQkU5MDdGRDJFMDMwRTEwMzAyMTFBNUMyMDk5MDdCNDBFMDE0NjAyNjE0NjAzQjE0NjA1MDI0ODM2MDY0MjQ4MDcwNjM3RTdCN0ZDMDc1MTQ3Qjc1MTUzQQorOjQwMTE0NjAwQzA5MDdGOTg3NDJFRjA3NTE2MDExMjAwNDY4MDRCN0U3QzdGMDA3NTE0N0M3NTE1MDA5MDdGOTg3NDJERjA3NTE2MDIxMjAwNDY4MDMzN0U3QzdGNDA3NTE0N0M3NTE1NDA5MDdGOTg3NDJCRjA3NTE2MDQxMjAwNDY4MDFCN0UyQgorOjQwMTE4NjAwN0M3RjgwNzUxNDdDNzUxNTgwOTA3Rjk4NzQyN0YwNzUxNjA4MTIwMDQ2ODAwMzEyMTc1MUU0OTA3RkQzRjAyMkJCMDEwNjg5ODI4QTgzRTAyMjUwMDJFNzIyQkJGRTAyRTMyMjg5ODI4QTgzRTQ5MzIyQkIwMTBDRTU4MjI5RjVCOAorOjQwMTFDNjAwODJFNTgzM0FGNTgzRTAyMjUwMDZFOTI1ODJGOEU2MjJCQkZFMDZFOTI1ODJGOEUyMjJFNTgyMjlGNTgyRTU4MzNBRjU4M0U0OTMyMkJCMDEwNjg5ODI4QTgzRjAyMjUwMDJGNzIyQkJGRTAxRjMyMkQwODNEMDgyRjhFNDkzNzBCNgorOjQwMTIwNjAwMTI3NDAxOTM3MDBEQTNBMzkzRjg3NDAxOTNGNTgyODg4M0U0NzM3NDAyOTM2ODYwRUZBM0EzQTM4MERGOTA3RkFFRTBGRkQzOTIwMEU0MzNGRUVGNEVGMEQyRTg0M0Q4MjA5MDdGREU3NDAxRjA5MDdGREZGMDkwN0ZBQjc0RkZDMgorOjQwMTI0NjAwRjA5MDdGQTlGMDkwN0ZBQUYwNTM5MUVGOTA3RkFGNzQwMUYwOTA3RkFFNzQwREYwRDJBRkQyMEIxMjE4MDlDMjAxRTRGNTJCRjUzMUMyMDdDMjAyNzUyOTBGOTA3RkQ4RTA2NTI2NjAwNjc1MzIwRkUwRjUyNjMwMDIwMzEyMEY4QworOjQwMTI4NjAwRUYzMDAxMDdDMjAxMTIwNjNGODBFMjMwMDhERkMyMDgxMjE4MkE4MEQ4MjJFNTEzNTUxNjYwNkFFNTE1MjQzQUY1ODJFNDM1MTRGNTgzRTA3MDVDRTUxNkY0NTIxM0U1MTUyNDI2RkZFNDM1MTRGRUU0RkQwRkVGQUEwNjcwMDFDNworOjQwMTJDNjAwMEUxNEY1ODI4QTgzRTBGQzc0ODAyREY1ODJFNDM0N0JGNTgzRUNGMDBEQkQwQkUyOTA3RkMzNzQwQkYwRTUxNTI0M0FGNTgyRTQzNTE0RjU4Mzc0MTBGMEU1MTUyNDJFRjU4MkU0MzUxNEY1ODNFNEYwRTUxNTI0MkZGNTgyRTQyMworOjQwMTMwNjAwMzUxNEY1ODNFNEYwMjJFNTI4NDUyNzYwNTdBRTI3QUYyOEQzRUY5NDQwRUU5NDAwNDAwNDdFMDA3RjQwQzNFNTI4OUZGNTI4RTUyNzlFRjUyN0U0RkRFREMzOUZFNDlFNTAxRjg1MzQ4Mjg1MzM4M0UwRkM3NDAwMkRGNTgyRTRCQQorOjQwMTM0NjAwMzQ3RkY1ODNFQ0YwMEQwNTM0RTUzNDcwMDIwNTMzODBEQTkwN0ZBOTc0MDFGMDkwN0ZBQ0UwNDQwMUYwOTA3RkI1RUZGMDIyOTA3RkFDRTA1NEZFRjBFNDkwN0ZCNUYwMjI5MDdGOTg3NDBGRjBFNDkwNzg0QUYwOTA3Rjk0RjBFMQorOjQwMTM4NjAwOTA3RjlENzRGRkYwRTQ5MDdGOTdGMDkwNzg0MUYwOTA3RjkzRjA5MDdGOUM3NEZGRjAzMDAwMDdFNTI5NTQwRkZGODAwMjdGMDA5MDdGOTZFRkYwOTA3Rjk4NzQxRkYwRTQ5MDdGOTVGMDkwN0Y5RTc0M0ZGMDkwN0Y5ODc0REZBRAorOjQwMTNDNjAwRjA5MDdGOTJFMDU0RkRGMDIyOEYxOTA1MkRFNTJEQUUyQzcwMDIwNTJDMTRGNTgyOEU4M0U1MTlGMDEyMThFRjA1MkRFNTJEQUMyQzcwMDIwNTJDMTRGNTgyOEM4M0VGRjAxNTIzRTUyMzYwMUZFNTE1MjQzOEY1ODJFNDM1MTQxNgorOjQwMTQwNjAwRjU4M0MwODNDMDgyRTBGRTEyMThEMzhGMTlFRTRGRDA4MkQwODNGMDgwQjUyMjkwNzg0MUU1MTFGMDkwNzg0Rjc0QzBGMEU0OTA3ODUwRjBFNTJDOTA3ODUxRjBBRTJDRTUyRDkwNzg1MkYwOTA3ODU0RTUyM0YwOTA3ODU3NzQ3MAorOjQwMTQ0NjAwMDRGMDkwN0ZFMkUwNDQxMEYwRTA1NEY3RjBFNDkwNzg1NUYwOTA3ODU1RTA2MEZBMjI4RjE5RTRGNTFBNzUxQkZGNzUxQzE5NzUxRDg2QUIxQkFBMUNBOTFEOTAwMDAxMTIxMUJGQjQwMzFEQUYxQTA1MUFFRkI1MTkwMTIyMTJGOQorOjQwMTQ4NjAwMTFBNjdFMDAyOUZGRUUzQUE5MDc3NTFCRkZGNTFDODkxRDgwRDQ3QjAwN0EwMDc5MDAyMjkwNzg0MUU1MTFGMEU1MkM5MDc4NEZGMEFFMkNFNTJEOTA3ODUwRjA5MDc4NTE3NEMwRjBFNDkwNzg1MkYwOTA3ODU0RTUyM0YwOTA3RAorOjQwMTRDNjAwNzg1Nzc0MDRGMEU0OTA3ODU1RjA5MDc4NTVFMDYwRkEyMkU1MTUyNDA0RjU4MkU0MzUxNEY1ODNFMDE0NjAwRjE0NjAxMzE0NjAxNzgwMDA5MDdGQzdFRkYwODAxMzkwN0ZDOUVGRjA4MDBDOTA3RkNCRUZGMDgwMDU5MDdGQ0RFRAorOjQwMTUwNjAwRUZGMEU1MTY0MjJBMjJFNTE1MjQwNEY1ODJFNDM1MTRGNTgzRTAxNDYwMEYxNDYwMTMxNDYwMTc4MDAwOTA3RkI3RUZGMDgwMTM5MDdGQjlFRkYwODAwQzkwN0ZCQkVGRjA4MDA1OTA3RkJERUZGMEU1MTY0MjJBMjJBRTA3RTRBNAorOjQwMTU0NjAwRkZFNTE1MjQzMkY1ODJFNDM1MTRGNTgzRTA1NDdGRkQxMjE2NkI5MDc4NDE3NEYxRjA5MEMwMDBFRUYwRTRFNTE1MjQzMkY1ODJFNDM1MTRGNTgzRTA0NDgwRkQxMjE2NkIyMkMwRTBDMEYwQzA4M0MwODJDMDg1QzA4NEMwODZBMQorOjQwMTU4NjAwNzU4NjAwQzBEMDc1RDAwODUzOTFFRjkwN0ZBOTc0MDFGMDEyMTMwREQwRDBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRjBEMEUwMzI5MDc4NDE3NEYzRjA5MEMwMDA3NEJGRjA5MDc4NDE3NEYxRjA5MEMwMDBFRkYwOTA3ODQxNzRBOAorOjQwMTVDNjAwRjNGMEU1MTUyNDM3RjU4MkU0MzUxNEY1ODNFMDU0N0Y5MEMwMDBGMDIyOTA3ODQxNzRGM0YwOTBDMDAwNzRCRkYwOTA3ODQxNzRGMkYwOTBDMDAwRUZGMDkwNzg0MTc0RjNGMEU1MTUyNDM3RjU4MkU0MzUxNEY1ODNFMDU0N0ZENworOjQwMTYwNjAwOTBDMDAwRjAyMjkwNzg0MTc0RjNGMDkwQzAwMDc0QkZGMDkwNzg0MTc0RjRGMDkwQzAwMEVGRjA5MDc4NDE3NEYzRjBFNTE1MjQzN0Y1ODJFNDM1MTRGNTgzRTA1NDdGOTBDMDAwRjAyMjkwNzg0MTc0RjNGMDkwQzAwMDc0QkYxNgorOjQwMTY0NjAwRjA5MDc4NDE3NEY2RjA5MEMwMDBFRkYwOTA3ODQxNzRGM0YwRTUxNTI0MzdGNTgyRTQzNTE0RjU4M0UwNTQ3RjkwQzAwMEYwMjI5MDc4NDE3NEYzRjBFNTE1MjQzN0Y1ODJFNDM1MTRGNTgzRTA1NDdGOTBDMDAwRjA5MDc4NDEyRgorOjQwMTY4NjAwNzRGN0YwOTBDMDAwRUZGMDkwNzg0MTc0RjVGMDkwQzAwMEVERjAyMkU1MTUyNDA0RjU4MkU0MzUxNEY1ODNFMDE0NjAwRTE0NjAxMTE0NjAxNDgwMDA5MDdGQzZFMEZGMjI5MDdGQzhFMEZGMjI5MDdGQ0FFMEZGMjI5MDdGQ0MxOQorOjQwMTZDNjAwRTBGRjIyRTUxNTI0MDRGNTgyRTQzNTE0RjU4M0UwMTQ2MDBFMTQ2MDExMTQ2MDE0ODAwMDkwN0ZCNkUwRkYyMjkwN0ZCOEUwRkYyMjkwN0ZCQUUwRkYyMjkwN0ZCQ0UwRkYyMkU1MTUyNDA0RjU4MkU0MzUxNEY1ODNFMDE0NjAwMAorOjQwMTcwNjAwMEUxNDYwMTExNDYwMTQ4MDAwOTA3RkM3RTBGRjIyOTA3RkM5RTBGRjIyOTA3RkNCRTBGRjIyOTA3RkNERTBGRjIyQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwOTA3RkM0RTRGMDUzOTFFRjkwN0ZBQjc0MDRGMEQwODZCRgorOjQwMTc0NjAwRDA4NEQwODVEMDgyRDA4M0QwRTAzMjkwN0I0MUUwRjUzNjQzMTMxMEEzRTA2MDA5OTA3RkQ3NzQxN0YwNzQzN0YwOTA3QjQzRTBGNTM3QTNFMDU0RjBGNTI5RTA2MDAyRDIwQTIyQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzVBNgorOjQwMTc4NjAwODYwMEQyMDE1MzkxRUY5MDdGQUI3NDAxRjBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMkMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMEQyMDg1MzkxRUY5MDdGQUI3NDA4RjBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzQworOjQwMTdDNjAwMzIxMjE4QjdBRTA3MTIxOEI3QUQwN0VFNkQ2MDEwMTIxOEI3QUUwN0VFNkQ2MDA3MTIxOEI3QUQwNzgwRUNBRjA2MjI3NDAwRjU4NjkwRkRBNTdDMDVBM0U1ODI0NTgzNzBGOTIyOTA3RkQ2RTA0NDgwRjA0Mzg3MDEwMDAwMDA0OAorOjQwMTgwNjAwMDAwMDIyOTA3RkQ2RTA0NDA0RjBFMDQ0MDhGMDMwMEIwNEUwNDQwMkYwN0ZGNDdFMDExMjE4NjA5MDdGRDZFMDU0RjdGMDIyMTIxMzc3MTIxN0Y5OTA3RkQ2RTAzMEU3MEE3RjA1N0UwMDEyMTg2MDEyMTg5MzEyMEFDRTIyMDM3OAorOjQwMTg0NjAwMzU4MDAwMDAwMzJFODEwMDAwQzE4NUMxODFDMTA4QzEwMEMxMDYwMTIyMDAwMTI0MDAwMDhFMTc4RjE4RTUxODE1MThBRTE3NzAwMjE1MTc0RTYwMDgxMjE3RTgxMjE3RTg4MEVCMjJFNTE1MjQwNEY1ODJFNDM1MTRGNTgzRTA3RQorOjQwMTg4NjAwMDRGRjQ0MTA5MDdGRDdGMEVGNDQzMEYwMjI5MDdGRDZFMDQ0MDFGMDdGMEQ3RTAwMTIxODYwOTA3RkQ2RTA1NEZFRjAyMkU1MTEyNDAyOTA3ODQxRjA5MEMwMDBFMEZGMjJFNTExMjQwMzkwNzg0MUYwOTBDMDAwRTBGRjIyRTU5NworOjQwMThDNjAwMTEyNDA0OTA3ODQxRjA5MEMwMDBFMEZGMjJFNTExMjQwNTkwNzg0MUYwOTBDMDAwRTBGRjIyRTUxMTI0MDY5MDc4NDFGMDkwQzAwMEUwRkYyMjkwNzg0MUU1MTFGMDkwQzAwMEUwRkYyMjUzRDhFRjMyMDAxMjAxMTAwMUZGRkZERQorOjQwMTkwNjAwRkY0MENEMDYyQTAxMDAwMDAxMDIwMDA0MDkwMjc0MDAwMTAxMDBBMDMyMDkwNDAwMDAwRUZGMDAwMDAwMDcwNTAxMDI0MDAwMDAwNzA1MDIwMjQwMDAwMDA3MDUwMzAyNDAwMDAwMDcwNTA0MDI0MDAwMDAwNzA1MDUwMjQwMDA1QgorOjQwMTk0NjAwMDAwNzA1MDYwMjQwMDAwMDA3MDUwNzAyNDAwMDAwMDcwNTgxMDI0MDAwMDEwNzA1ODIwMjQwMDAwMTA3MDU4MzAyNDAwMDAxMDcwNTg0MDI0MDAwMDEwNzA1ODUwMjQwMDAwMTA3MDU4NjAyNDAwMDAxMDcwNTg3MDI0MDAwMDFGMworOjQwMTk4NjAwMDQwMzA5MDQ0ODAzNEIwMDY1MDA3OTAwNzMwMDcwMDA2MTAwNkUwMDJDMDAyMDAwNjEwMDIwMDA2NDAwNjkwMDc2MDA2OTAwNzMwMDY5MDA2RjAwNkUwMDIwMDA2RjAwNjYwMDIwMDA0OTAwNkUwMDZFMDA2RjAwNTMwMDc5MDA0MAorOjQwMTlDNjAwNzMwMDIwMDA0OTAwNkUwMDYzMDAyRTAwMjQwMzRCMDA2NTAwNzkwMDczMDA3MDAwNjEwMDZFMDAyMDAwNTUwMDUzMDA0MTAwMkQwMDM0MDAzOTAwNTcwMDRDMDA0MzAwMjIwMzU1MDA1MzAwNDEwMDJEMDAzNjAwMzUwMDIwMDBCNQorOjQwMUEwNjAwMzIwMDMwMDAzMDAwMzMwMDZBMDA2MTAwNkUwMDMzMDAzMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRQorOjQwMUE0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MAorOjQwMUE4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMAorOjQwMUFDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjE3NzkwMDAyMUIzMQorOjE1MUIwNjAwMDQwMDAyMTcyNzAwMDIxN0EwMDAwMjFCMTAwMDAyMUIxNDAwMDIxNTc4RTAKKzowMDAwMDAwMUZGCisKKwlUaGUgZmlybXdhcmUgY29udGFpbmVkIGhlcmVpbiBpcworCisJCUNvcHlyaWdodCAoQykgMTk5OS0yMDAzCisJCUtleXNwYW4sIEEgZGl2aXNpb24gb2YgSW5ub1N5cyBJbmNvcnBvcmF0ZWQgKCJLZXlzcGFuIikKKworCWFzIGFuIHVucHVibGlzaGVkIHdvcmsuIFRoaXMgbm90aWNlIGRvZXMgbm90IGltcGx5IHVucmVzdHJpY3RlZCBvcgorCXB1YmxpYyBhY2Nlc3MgdG8gdGhlIHNvdXJjZSBjb2RlIGZyb20gd2hpY2ggdGhpcyBmaXJtd2FyZSBpbWFnZSBpcworCWRlcml2ZWQuICBFeGNlcHQgYXMgbm90ZWQgYmVsb3cgdGhpcyBmaXJtd2FyZSBpbWFnZSBtYXkgbm90IGJlCisJcmVwcm9kdWNlZCwgdXNlZCwgc29sZCBvciB0cmFuc2ZlcnJlZCB0byBhbnkgdGhpcmQgcGFydHkgd2l0aG91dAorCUtleXNwYW4ncyBwcmlvciB3cml0dGVuIGNvbnNlbnQuICBBbGwgUmlnaHRzIFJlc2VydmVkLgorCisJUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCBmb3IgdGhlIGRpc3RyaWJ1dGlvbiBvZiB0aGlzIGZpcm13YXJlCisJaW1hZ2UgYXMgcGFydCBvZiBhIExpbnV4IG9yIG90aGVyIE9wZW4gU291cmNlIG9wZXJhdGluZyBzeXN0ZW0ga2VybmVsCisJaW4gdGV4dCBvciBiaW5hcnkgZm9ybSBhcyByZXF1aXJlZC4KKworCVRoaXMgZmlybXdhcmUgbWF5IG5vdCBiZSBtb2RpZmllZCBhbmQgbWF5IG9ubHkgYmUgdXNlZCB3aXRoCisJS2V5c3BhbiBoYXJkd2FyZS4gIERpc3RyaWJ1dGlvbiBhbmQvb3IgTW9kaWZpY2F0aW9uIG9mIHRoZQorCWtleXNwYW4uYyBkcml2ZXIgd2hpY2ggaW5jbHVkZXMgdGhpcyBmaXJtd2FyZSwgaW4gd2hvbGUgb3IgaW4KKwlwYXJ0LCByZXF1aXJlcyB0aGUgaW5jbHVzaW9uIG9mIHRoaXMgc3RhdGVtZW50LiIKKworc3RhdGljIGNoYXIgdGhlRmlybXdhcmVEYXRlNDlbXSA9CisgICAgICAgICIwMi8xNC8yMDAyICAwMjozN3AgICAgICAgICAgICAgIDE5LDM0NyBVU0E0OSI7CisKK3N0YXRpYyBjaGFyIHRoZUZpcm13YXJlRGF0ZTY1W10gPQorICAgICAgICAiMDEvMzEvMjAwMyAgMDk6MzRhICAgICAgICAgICAgICAxOSwzMzEgVVNBNjUiOworCmRpZmYgLS1naXQgYS9maXJtd2FyZS9rZXlzcGFuX3BkYS9rZXlzcGFuX3BkYS5IRVggYi9maXJtd2FyZS9rZXlzcGFuX3BkYS9rZXlzcGFuX3BkYS5IRVgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmZjZjAyYgotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2tleXNwYW5fcGRhL2tleXNwYW5fcGRhLkhFWApAQCAtMCwwICsxLDgzIEBACis6MDMwMDAwMDAwMjAyMDBGOQorOjA0MDAyMzAwMDIwNTVGMDA3MworOjA0MDA0MzAwMDIwMTAwMDBCNgorOjA1MDAzMDAwMDAwMDAwMDAwMENCCis6MTAwMTAwMDAwMjAyOTYwMDAyMDAwMDAwMDIwMDAwMDAwMjAwMDAwMDRGCis6MTAwMTEwMDAwMjAwMDAwMDAyMDAwMDAwMDIwMDAwMDAwMjAwMDAwMEQ3Cis6MTAwMTIwMDAwMjAwMDAwMDAyMDAwMDAwMDIwNDYxMDAwMjA0ODkwMEQ1Cis6MTAwMjAwMDA3NTgxNUVFNEY1MzJGNTMzRjUzMEY1MzFGNTM0QzIwMDMxCis6MTAwMjEwMDBDMjAxQTkwMDc0RkU5MDEwMDBGMEEzRDlGQzc0RkQ5MEY3Cis6MTAwMjIwMDAxMTAwRjBBM0Q5RkM3NDAyOTA3RjlERjA3NDAwOTA3RkMwCis6MTAwMjMwMDA5N0YwNzQ4NjkwN0Y5RUYwOTA3Rjk1NzQwM0YwOTA3Rjg2Cis6MTAwMjQwMDBBRkUwRDJFMEYwNzQwMTkwN0ZBQkYwOTA3RkFFRjA5MDIxCis6MTAwMjUwMDA3RkFDNzQwNEYwOTA3RkFENzQwNEYwOTA3RkM5RjA3NEFCCis6MTAwMjYwMDA4NDkwN0Y5OEYwNzQwMEY1OTg3NUM4MzA3QjA1OTEyMEQ0Cis6MTAwMjcwMDBEMkNBNzU5ODUwRDJFOEQyQUZEMkFDNzQwMEY1ODY5MDRECis6MTAwMjgwMDA3RkQ2NzQwMkYwNzkyRTdBMDA3QjAwREJGRURBRkFEOTkxCis6MTAwMjkwMDBGNjc0MDZGMDgwRkVDMDg2QzA4MkMwODNDMDg0QzA4NTJDCis6MTAwMkEwMDBDMEUwRTU5MUMyRTRGNTkxOTA3RkFCNzQwMUYwOTA3RkRFCis6MTAwMkIwMDBFOEUwRjlBM0UwRkFBM0UwRkJBM0UwRkNFOTU0NjBCNEIyCis6MTAwMkMwMDAwMDAzMDIwMzM5QjQ0MDZFQkEwMDBCMTIwNDIwNDAwMzRECis6MTAwMkQwMDAwMjA0MDIwMjA0MEFCQTAxMDMwMjA0MEFCQTAyMDMwMjc3Cis6MTAwMkUwMDAwNDBBQkEwMzAzMDIwNDQ0QkEwNDFFQkIwMDBBOTA3RjQ2Cis6MTAwMkYwMDA5NUUwNDQwMkYwMDIwNDAyOTA3Rjk4RTA1NEZERjA5MEYzCis6MTAwMzAwMDA3Rjk1RTA1NEZERjAwMjA0MDJCQTA1MDMwMjA0MEFCQTI0Cis6MTAwMzEwMDAwNjE5QkIwMDA4RTUzM0QzOTUzMjAyMDNERUJCMDEwOEEyCis6MTAwMzIwMDBFNTMyQzM5NTMzMDIwM0RFMDIwNDBBQkEwNzA1OEIzNEIzCis6MTAwMzMwMDAwMjA0MDIwMjA0MEEwMjA0MEFCQTAwMjBCOTgwMTA5MEUyCis6MTAwMzQwMDA3RjAwRTRGMEEzRjA5MDdGQjU3NDAyRjAwMjA0MDJCOURDCis6MTAwMzUwMDA4MjAyODBFQkI5ODEwMjgwRTYwMjA0MEFCQTAxMEZCQjc3Cis6MTAwMzYwMDAwMDAzMDIwNDBBQkIwMTAzMDIwNDAyMDIwNDBBQkEwM0U2Cis6MTAwMzcwMDAwRkJCMDAwMzAyMDQwQUJCMDEwMzAyMDQwMjAyMDQwQUM5Cis6MTAwMzgwMDBCQTA2NTZCQzAxMEY5MDdGRDQ3NDA2RjA5MDdGRDU3NEU2Cis6MTAwMzkwMDAxMkYwMDIwNDAyQkMwMjEyQkIwMDZGOTA3RkQ0NzQwNkZDCis6MTAwM0EwMDBGMDkwN0ZENTc0MjRGMDAyMDQwMkJDMDMyOTc0MDRDM0M2Cis6MTAwM0IwMDA5QjQwNTc2MDU1RUIyQjkwMDY0NDI1ODJGNTgyNzQwMEQ0Cis6MTAwM0MwMDAzNTgzRjU4M0UwRjlBM0UwRkE5MDdGRDRFOUYwOTA3RkRDCis6MTAwM0QwMDBENUVBRjAwMjA0MDIwMjA0MEFCQTA4MEY3NDAxOTA3RjAxCis6MTAwM0UwMDAwMEYwNzQwMTkwN0ZCNUYwMDIwNDAyQkEwOTAzMDIwNDIwCis6MTAwM0YwMDAwMkJBMEEwNTc0MDAwMjAzREVCQTBCMDMwMjA0MDIwMjA5Cis6MTAwNDAwMDAwNDBBOTA3RkI0NzQwMkYwODAwOTkwN0ZCNEUwNDQwMTQ0Cis6MTAwNDEwMDBGMDgwMDBEMEUwRDA4NUQwODREMDgzRDA4MkQwODYzMkU2Cis6MTAwNDIwMDBFQjIwRTcxRUMzOTQwQTUwMTlFQjIzMjRGRUY1ODI3NEQ3Cis6MTAwNDMwMDAwNTM0MDBGNTgzRTBGNUNCRjVDREEzRTBGNUNBRjVDQ0E2Cis6MTAwNDQwMDBDMzIyRDMyMkI5NDExMUVCNjRGRjU0ODRGQjkwN0Y5OEZGCis6MTAwNDUwMDBFMDU0N0I0QkYwMDIwNDAyOTA3RjlCRTA2NEZGMDIwM0I4Cis6MTAwNDYwMDBERUMwODZDMDgyQzA4M0MwODRDMDg1QzBFMEU1OTFDMjgyCis6MTAwNDcwMDBFNEY1OTE5MDdGQTk3NDA0RjAxMjA1QTBEMEUwRDA4NTM2Cis6MTAwNDgwMDBEMDg0RDA4M0QwODJEMDg2MzJDMDg2QzA4MkMwODNDMDYwCis6MTAwNDkwMDA4NEMwODVDMEUwRTU5MUMyRTRGNTkxOTA3RkFBNzQwNDIwCis6MTAwNEEwMDBGMDkwN0ZDOUUwRjlFNEY1ODY5MDdEQzA3NTg1MTA4NUYwCis6MTAwNEIwMDAzMjg0RTAwNTg2MDU4NEYwRTU4NEI1MzMwMjgwMDkwNUMxCis6MTAwNEMwMDAzMjA1ODZBM0Q5RUM4MDAwOTA3RkM5RjBCMTMxRDBFMDJECis6MTAwNEQwMDBEMDg1RDA4NEQwODNEMDgyRDA4NjMyRTRGNTg2OTA3RkQ4Cis6MTAwNEUwMDBCQ0UwMjBFMTRCOTA3RDAwRTUzMkYwQTNFNTMzRjBBM0MyCis6MTAwNEYwMDBFNTMwRjBBM0U1MzFGMEEzRTQzMDAwMDEwNEYwQTMwNUZBCis6MTAwNTAwMDA4NjkwMTAwMDc5MTBFMEEzMDU4NkYwQTMwNTg2RDlGNjQxCis6MTAwNTEwMDAwNTg2NzRGQ0YwQTMwNTg2OTAxMTAwNzkxMEUwQTMwNTEwCis6MTAwNTIwMDA4NkYwQTMwNTg2RDlGNkU0RjU4NjkwN0ZCRDc0MjZGMEEzCis6MTAwNTMwMDAyMjIwMDAxM0U1MzJCNTMzMDEyMjA1MzM3NTgzMTA4NTdGCis6MTAwNTQwMDAzMzgyRTBGNTk5RDIwMDc0MDBCNTM0MDEyMkU1MzNEMzRCCis6MTAwNTUwMDA5NTMyQzM5NTM0NDBGNTc1MzQwMEQyMDEwMjA1QTBDMDMwCis6MTAwNTYwMDA4NkMwODJDMDgzQzA4NEMwODVDMEUwMzA5OTA3QzI5OTJDCis6MTAwNTcwMDBDMjAwMTIwNTM0MzA5ODA1MTIwNThBQzI5OEQwRTBEMDI2Cis6MTAwNTgwMDA4NUQwODREMDgzRDA4MkQwODYzMjc1ODMxMTg1MzA4MjI1Cis6MTAwNTkwMDAwNTgyRTU5OUYwRTU4MkI1MzEwMTIyMDUzMEIxQTAyMjRFCis6MTAwNUEwMDA5MDdGQjhFMDIwRTEzODIwMDEzNkU1MzBCNTMxMDEyMkY2Cis6MTAwNUIwMDBFNEY1ODY3NTgzMTEwNTg2OTA3RTAwRjBBMzA1ODY3OUEzCis6MTAwNUMwMDAwMUU1MzBCNTMxMDI4MDEwMDUzMTg1MzE4MkUwMDU4NkM0Cis6MTAwNUQwMDBGMEEzMDU4NjA5Qjk0MEU5OTA3RkI5RTk2MDAxRjAyMkVFCis6MTAwNUUwMDBDMjAxRTRGNTg2OTA3RTAwNzQwMUYwQTM3NDAyRjA5MERECis6MTAwNUYwMDA3RkI5RjAyMkMyOTlGNTk5MzA5OUZEQzI5OTIyRTU1RTQyCis6MTAwNjAwMDBGNjNDRkQ4RkZFQzhGRjY0RkZCMkZGRDlGRkVERkZGMzlDCis6MTAwNjEwMDBGRkZBMTIwMTAwMDFGRkZGRkY0MENEMDYwNDAxODlBQjg0Cis6MTAwNjIwMDAwMTAyMDMwMTA5MDIyMDAwMDEwMTAwODAzMjA5MDQwMEQ3Cis6MTAwNjMwMDAwMDAyRkZGRkZGMDAwNzA1ODIwMzQwMDAwMTA3MDUwMkRCCis6MTAwNjQwMDAwMjQwMDAwMDA2NEMwNjUwMDY3MjA2QTAwNDAzMDAwMDlCCis6MTAwNjUwMDAyMjAzNDEwMDQzMDA0RDAwNDUwMDIwMDA3NTAwNzMwMDU3Cis6MTAwNjYwMDA2MjAwMjAwMDc3MDA2OTAwNjQwMDY3MDA2NTAwNzQwMDg0Cis6MTAwNjcwMDA3MzAwMkUwMzQxMDA0MzAwNEQwMDQ1MDAyMDAwNTUwMDRCCis6MTAwNjgwMDA1MzAwNDIwMDIwMDA3MzAwNjUwMDcyMDA2OTAwNjEwMEExCis6MTAwNjkwMDA2QzAwMjAwMDc3MDA2OTAwNjQwMDY3MDA2NTAwNzQwMDRBCis6MDYwNkEwMDAwNjAzMzQwMDM3MDBFMAorOjAwMDAwMDAxRkYKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3BkYS5TIGIvZmlybXdhcmUva2V5c3Bhbl9wZGEva2V5c3Bhbl9wZGEuUwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fcGRhLlMKcmVuYW1lIHRvIGZpcm13YXJlL2tleXNwYW5fcGRhL2tleXNwYW5fcGRhLlMKZGlmZiAtLWdpdCBhL2Zpcm13YXJlL2tleXNwYW5fcGRhL3hpcmNvbV9wZ3MuSEVYIGIvZmlybXdhcmUva2V5c3Bhbl9wZGEveGlyY29tX3Bncy5IRVgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTliMDBkNwotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2tleXNwYW5fcGRhL3hpcmNvbV9wZ3MuSEVYCkBAIC0wLDAgKzEsODcgQEAKKzowMzAwMDAwMDAyMDIwMEY5Cis6MDQwMDIzMDAwMjA1OUIwMDM3Cis6MDUwMDMwMDAwMDAwMDAwMDAwQ0IKKzowNDAwNDMwMDAyMDEwMDAwQjYKKzoxMDAxMDAwMDAyMDJCQTAwMDIwMDAwMDAwMjAwMDAwMDAyMDAwMDAwMkIKKzoxMDAxMTAwMDAyMDAwMDAwMDIwMDAwMDAwMjAwMDAwMDAyMDAwMDAwRDcKKzoxMDAxMjAwMDAyMDAwMDAwMDIwMDAwMDAwMjA0ODUwMDAyMDRCOTAwODEKKzoxMDAyMDAwMDc1ODE1RUU0RjUzMkY1MzNGNTMwRjUzMUY1MzRDMjAwMzEKKzoxMDAyMTAwMEMyMDFBOTAwNzRGRTkwMTAwMEYwQTNEOUZDNzRGRDkwRjcKKzoxMDAyMjAwMDExMDBGMEEzRDlGQzkwN0Y5NDc0QkZGMDkwN0Y5NTc0NzcKKzoxMDAyMzAwMEVGRjA3NDEwOTA3RjlFRjA3NDAwOTA3Rjk4RjA3NDQwRkYKKzoxMDAyNDAwMDkwN0Y5REYwNzQwMDkwN0Y5N0YwNzQ4MjkwN0Y5RUYwNzUKKzoxMDAyNTAwMDkwN0Y5NTc0MDNGMDkwN0ZBRkUwRDJFMEYwNzQwMTkwNEUKKzoxMDAyNjAwMDdGQUJGMDkwN0ZBRUYwOTA3RkFDNzQwNEYwOTA3RkFERTgKKzoxMDAyNzAwMDc0MDRGMDkwN0ZDOUYwNzQwNzkwN0ZBRkYwNzQyMDkwMDEKKzoxMDAyODAwMDdGOUNGMDc0ODA5MDdGOThGMDc0NTNGNTk4NzVDODMwMTcKKzoxMDAyOTAwMDdCMDU5MTQ0RDJDQTc1OTg1MEQyRThEMkFGRDJBQzc0RTMKKzoxMDAyQTAwMDAwRjU4NjkwN0ZENjc0MDJGMDc5MkU3QTAwN0IwMERCMTEKKzoxMDAyQjAwMEZFREFGQUQ5RjY3NDA2RjA4MEZFQzA4NkMwODJDMDgzRUEKKzoxMDAyQzAwMEMwODRDMDg1QzBFMEU1OTFDMkU0RjU5MTkwN0ZBQjc0MzUKKzoxMDAyRDAwMDAxRjA5MDdGRThFMEY5QTNFMEZBQTNFMEZCQTNFMEZDRTMKKzoxMDAyRTAwMEU5NTQ2MEI0MDAwMzAyMDM1REI0NDA2RUJBMDAwQjEyMUYKKzoxMDAyRjAwMDA0NDQ0MDAzMDIwNDI2MDIwNDJFQkEwMTAzMDIwNDJFMjEKKzoxMDAzMDAwMEJBMDIwMzAyMDQyRUJBMDMwMzAyMDQ2OEJBMDQxRUJCMzUKKzoxMDAzMTAwMDAwMEE5MDdGOTVFMDQ0MDJGMDAyMDQyNjkwN0Y5OEUwNjYKKzoxMDAzMjAwMDU0RkRGMDkwN0Y5NUUwNTRGREYwMDIwNDI2QkEwNTAzRDkKKzoxMDAzMzAwMDAyMDQyRUJBMDYxOUJCMDAwOEU1MzNEMzk1MzIwMjA0MzUKKzoxMDAzNDAwMDAyQkIwMTA4RTUzMkMzOTUzMzAyMDQwMjAyMDQyRUJBNEYKKzoxMDAzNTAwMDA3MDU4QjM0MDIwNDI2MDIwNDJFMDIwNDJFQkEwMDIwNjQKKzoxMDAzNjAwMEI5ODAxMDkwN0YwMEU0RjBBM0YwOTA3RkI1NzQwMkYwQTQKKzoxMDAzNzAwMDAyMDQyNkI5ODIwMjgwRUJCOTgxMDI4MEU2MDIwNDJFRDMKKzoxMDAzODAwMEJBMDEwRkJCMDAwMzAyMDQyRUJCMDEwMzAyMDQyNjAyQzQKKzoxMDAzOTAwMDA0MkVCQTAzMEZCQjAwMDMwMjA0MkVCQjAxMDMwMjA0QTgKKzoxMDAzQTAwMDI2MDIwNDJFQkEwNjU2QkMwMTBGOTA3RkQ0NzQwNkYwQzQKKzoxMDAzQjAwMDkwN0ZENTc0NUFGMDAyMDQyNkJDMDIxMkJCMDA2RjkwRTUKKzoxMDAzQzAwMDdGRDQ3NDA2RjA5MDdGRDU3NDZDRjAwMjA0MjZCQzAzRDEKKzoxMDAzRDAwMDI5NzQwNEMzOUI0MDU3NjA1NUVCMkI5MDA2OEMyNTgyRjMKKzoxMDAzRTAwMEY1ODI3NDAwMzU4M0Y1ODNFMEY5QTNFMEZBOTA3RkQ0QjkKKzoxMDAzRjAwMEU5RjA5MDdGRDVFQUYwMDIwNDI2MDIwNDJFQkEwODBGMzUKKzoxMDA0MDAwMDc0MDE5MDdGMDBGMDc0MDE5MDdGQjVGMDAyMDQyNkJBNjkKKzoxMDA0MTAwMDA5MDMwMjA0MjZCQTBBMDU3NDAwMDIwNDAyQkEwQjAzOTcKKzoxMDA0MjAwMDAyMDQyNjAyMDQyRTkwN0ZCNDc0MDJGMDgwMDk5MDdGQUIKKzoxMDA0MzAwMEI0RTA0NDAxRjA4MDAwRDBFMEQwODVEMDg0RDA4M0QwRjcKKzoxMDA0NDAwMDgyRDA4NjMyRUIyMEU3MUVDMzk0MEE1MDE5RUIyMzI0OTYKKzoxMDA0NTAwMDQ2RjU4Mjc0MDYzNDAwRjU4M0UwRjVDQkY1Q0RBM0UwRDQKKzoxMDA0NjAwMEY1Q0FGNUNDQzMyMkQzMjJCOTQxMTFFQjY0RkY1NDgwMDUKKzoxMDA0NzAwMEZCOTA3Rjk4RTA1NDdGNEJGMDAyMDQyNjkwN0Y5QkUwMzYKKzoxMDA0ODAwMDY0RkYwMjA0MDJDMDg2QzA4MkMwODNDMDg0QzA4NUMwRUQKKzoxMDA0OTAwMEUwRTU5MUMyRTRGNTkxOTA3RkE5NzQwNEYwNzQyMDkwOTYKKzoxMDA0QTAwMDdGOUNGMDEyMDVEQzc0MjA5MDdGOUNGMEQwRTBEMDg1MUEKKzoxMDA0QjAwMEQwODREMDgzRDA4MkQwODYzMkMwODZDMDgyQzA4M0MwMzAKKzoxMDA0QzAwMDg0QzA4NUMwRTA3NDEwOTA3RjlDRjBFNTkxQzJFNEY1OTMKKzoxMDA0RDAwMDkxOTA3RkFBNzQwNEYwOTA3RkM5RTBGOUU0RjU4NjkwQ0EKKzoxMDA0RTAwMDdEQzA3NTg1MTA4NTMyODRFMDA1ODYwNTg0RjBFNTg0M0QKKzoxMDA0RjAwMEI1MzMwMjgwMDkwNTMyMDU4NkEzRDlFQzgwMDA5MDdGRDAKKzoxMDA1MDAwMEM5RjBCMTZENzQyMDkwN0Y5Q0YwRDBFMEQwODVEMDg0OEMKKzoxMDA1MTAwMEQwODNEMDgyRDA4NjMyRTRGNTg2OTA3RkJDRTAyMEUxQTMKKzoxMDA1MjAwMDRCOTA3RDAwRTUzMkYwQTNFNTMzRjBBM0U1MzBGMEEzNzYKKzoxMDA1MzAwMEU1MzFGMEEzRTQzMDAwMDEwNEYwQTMwNTg2OTAxMDAwM0IKKzoxMDA1NDAwMDc5MTBFMEEzMDU4NkYwQTMwNTg2RDlGNjA1ODY3NEZDMkMKKzoxMDA1NTAwMEYwQTMwNTg2OTAxMTAwNzkxMEUwQTMwNTg2RjBBMzA1QUQKKzoxMDA1NjAwMDg2RDlGNkU0RjU4NjkwN0ZCRDc0MjZGMDIyMjAwMDEzMkMKKzoxMDA1NzAwMEU1MzJCNTMzMDEyMjA1MzM3NTgzMTA4NTMzODJFMEY1MEEKKzoxMDA1ODAwMDk5RDIwMDc0MDBCNTM0MDEyMkU1MzNEMzk1MzJDMzk1NzYKKzoxMDA1OTAwMDM0NDBGNTc1MzQwMEQyMDEwMjA1RENDMDg2QzA4MkMwNEIKKzoxMDA1QTAwMDgzQzA4NEMwODVDMEUwMzA5OTA3QzI5OUMyMDAxMjA1OUIKKzoxMDA1QjAwMDcwMzA5ODA1MTIwNUM2QzI5OEQwRTBEMDg1RDA4NEQwOUUKKzoxMDA1QzAwMDgzRDA4MkQwODYzMjc1ODMxMTg1MzA4MjA1ODJFNTk5ODkKKzoxMDA1RDAwMEYwRTU4MkI1MzEwMTIyMDUzMEIxREMyMjc0MTA5MDdGNDQKKzoxMDA1RTAwMDlDRjA5MDdGQjhFMDIwRTEzRTIwMDEzQ0U1MzBCNTMxNDEKKzoxMDA1RjAwMDAxMjJFNEY1ODY3NTgzMTEwNTg2OTA3RTAwRjBBMzA1M0YKKzoxMDA2MDAwMDg2NzkwMUU1MzBCNTMxMDI4MDEwMDUzMTg1MzE4MkUwMEYKKzoxMDA2MTAwMDA1ODZGMEEzMDU4NjA5Qjk0MEU5NzQxMDkwN0Y5Q0YwMjcKKzoxMDA2MjAwMDkwN0ZCOUU5NjAwMUYwMjJDMjAxRTRGNTg2OTA3RTAwNzYKKzoxMDA2MzAwMDc0MDFGMEEzNzQwMkYwOTA3RkI5RjAyMkMyOTlGNTk5ODkKKzoxMDA2NDAwMDMwOTlGREMyOTkyMkU1NUVGNjNDRkQ4RkZFQzhGRjY0M0QKKzoxMDA2NTAwMEZGQjJGRkQ5RkZFREZGRjNGRkZBMTIwMTAwMDFGRkZGMjgKKzoxMDA2NjAwMEZGNDBDRDA2MDQwMTg5QUIwMTAyMDMwMTA5MDIyMDAwMEQKKzoxMDA2NzAwMDAxMDEwMDgwMzIwOTA0MDAwMDAyRkZGRkZGMDAwNzA1QUUKKzoxMDA2ODAwMDgyMDM0MDAwMDEwNzA1MDIwMjQwMDAwMDA2OTQwNjk4MUMKKzoxMDA2OTAwMDA2QkEwNkU4MDQwMzAwMDAyMjAzNDEwMDQzMDA0RDAwQUYKKzoxMDA2QTAwMDQ1MDAyMDAwNzUwMDczMDA2MjAwMjAwMDc3MDA2OTAwOUIKKzoxMDA2QjAwMDY0MDA2NzAwNjUwMDc0MDA3MzAwMkUwMzQxMDA0MzAwNkUKKzoxMDA2QzAwMDREMDA0NTAwMjAwMDU1MDA1MzAwNDIwMDIwMDA3MzAwRkIKKzoxMDA2RDAwMDY1MDA3MjAwNjkwMDYxMDA2QzAwMjAwMDc3MDA2OTAwMEQKKzowRTA2RTAwMDY0MDA2NzAwNjUwMDc0MDAwNjAzMzQwMDM3MDBGNAorOjAwMDAwMDAxRkYKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC94aXJjb21fcGdzLlMgYi9maXJtd2FyZS9rZXlzcGFuX3BkYS94aXJjb21fcGdzLlMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvdXNiL3NlcmlhbC94aXJjb21fcGdzLlMKcmVuYW1lIHRvIGZpcm13YXJlL2tleXNwYW5fcGRhL3hpcmNvbV9wZ3MuUwpkaWZmIC0tZ2l0IGEvZmlybXdhcmUva29yZy9rMTIxMi5kc3AuaWhleCBiL2Zpcm13YXJlL2tvcmcvazEyMTIuZHNwLmloZXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjE1MTk5NwotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2tvcmcvazEyMTIuZHNwLmloZXgKQEAgLTAsMCArMSw5ODcgQEAKKzoxMDAwMDAwMDAxRkYxOEZGRjVGRkNGRkYwMEZGMDBGRkZGRkYwMEZGMUMKKzoxMDAwMTAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGRUEKKzoxMDAwMjAwMDI2RkYxOEZGRkZGRjBGRkYwMEZGMDBGRkZGRkYwMEZGOEQKKzoxMDAwMzAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGQ0EKKzoxMDAwNDAwMDAwRkYwQUZGRkZGRjFGRkYwMEZGMDBGRkZGRkYwMEZGOTEKKzoxMDAwNTAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGQUEKKzoxMDAwNjAwMDAwRkYwQUZGRkZGRjFGRkYwMEZGMDBGRkZGRkYwMEZGNzEKKzoxMDAwNzAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGOEEKKzoxMDAwODAwMDAwRkYwQUZGRkZGRjFGRkYwMEZGMDBGRkZGRkYwMEZGNTEKKzoxMDAwOTAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGNkEKKzoxMDAwQTAwMDM4RkYxOEZGRkZGRkRGRkYwMEZGMDBGRkZGRkYwMEZGMkIKKzoxMDAwQjAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGNEEKKzoxMDAwQzAwMDAwRkYwQUZGRkZGRjFGRkYwMEZGMDBGRkZGRkYwMEZGMTEKKzoxMDAwRDAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGMkEKKzoxMDAwRTAwMDAzRkYzQ0ZGRkZGRkZDRkY2N0ZGNDBGRkZGRkZDMEZGNzgKKzoxMDAwRjAwMEZGRkY5M0ZGRkZGRkUwRkYwMEZGMENGRkZGRkYwQ0ZGODAKKzoxMDAxMDAwMDBDRkYwQ0ZGRkZGRjAwRkYzMEZGMENGRkZGRkYwMEZGQTUKKzoxMDAxMTAwMDBGRkY0MEZGRkZGRkY0RkY0N0ZGODBGRkZGRkYwQUZGRDUKKzoxMDAxMjAwMDgyRkYyM0ZGRkZGRjBGRkY4REZGOTNGRkZGRkY3QUZGOEIKKzoxMDAxMzAwMDhERkY4M0ZGRkZGRjcwRkY0N0ZGOTBGRkZGRkYwMEZGNzIKKzoxMDAxNDAwMDAwRkY0OEZGRkZGRjA0RkZBMEZGMjNGRkZGRkYwRkZGOUIKKzoxMDAxNTAwMDQ2RkY5MEZGRkZGRjZBRkYwMEZGMENGRkZGRkYyMEZGM0QKKzoxMDAxNjAwMDAwRkYwNEZGRkZGRjFDRkYwMEZGMDRGRkZGRkYxQ0ZGNTkKKzoxMDAxNzAwMDAwRkYwNEZGRkZGRjFDRkYwMEZGMDRGRkZGRkYxQ0ZGNDkKKzoxMDAxODAwMDAwRkYwNEZGRkZGRjEwRkYwMEZGMDRGRkZGRkYxMEZGNTEKKzoxMDAxOTAwMDAwRkYwNEZGRkZGRjEwRkYwMEZGMDRGRkZGRkYxMEZGNDEKKzoxMDAxQTAwMDAwRkYwNEZGRkZGRjEwRkYwMEZGMDRGRkZGRkYxMEZGMzEKKzoxMDAxQjAwMDAwRkYwNEZGRkZGRjEwRkYwMEZGMDRGRkZGRkYxMEZGMjEKKzoxMDAxQzAwMDAwRkYwNEZGRkZGRjEwRkYwMEZGMDRGRkZGRkYxMEZGMTEKKzoxMDAxRDAwMDAwRkYwNEZGRkZGRjEwRkYwMEZGMDRGRkZGRkYxMEZGMDEKKzoxMDAxRTAwMDcyRkYxQ0ZGRkZGRjVGRkYwMkZGNDBGRkZGRkY0MEZGQUEKKzoxMDAxRjAwMDExRkY5MEZGRkZGRjIwRkYwMEZGNDhGRkZGRkYwMEZGMDAKKzoxMDAyMDAwMDhCRkY5M0ZGRkZGRjIwRkYwMEZGNDBGRkZGRkYwMEZGN0EKKzoxMDAyMTAwMDg2RkY5M0ZGRkZGRjcwRkY4QkZGOTNGRkZGRkYzMEZGMTEKKzoxMDAyMjAwMDhERkY5M0ZGRkZGRjQwRkYwMkZGOTFGRkZGRkY4MEZGNjUKKzoxMDAyMzAwMDAyRkY5MUZGRkZGRjkwRkY4REZGOTNGRkZGRkZDMEZGQzUKKzoxMDAyNDAwMDQ2RkY5MEZGRkZGRjIwRkY4REZGOTNGRkZGRkZEMEZGRDIKKzoxMDAyNTAwMDAwRkY0OEZGRkZGRjAwRkY4QkZGOTNGRkZGRkY0MEZGMDIKKzoxMDAyNjAwMEZGRkY0N0ZGRkZGRkYwRkY4REZGOTNGRkZGRkZFMEZGNjIKKzoxMDAyNzAwMDAwRkYzNEZGRkZGRjE3RkYwMEZGMzhGRkZGRkYxN0ZGRUUKKzoxMDAyODAwMDgwRkYzN0ZGRkZGRjAyRkY4NEZGM0JGRkZGRkYwMkZGRkUKKzoxMDAyOTAwMDAyRkYzNEZGRkZGRjRBRkYwMkZGMzhGRkZGRkY0QUZGNjQKKzoxMDAyQTAwMDAxRkYzNEZGRkZGRjJCRkYwMUZGMzhGRkZGRkYyQkZGOTQKKzoxMDAyQjAwMDgwRkY0M0ZGRkZGRjAwRkY4MkZGOTNGRkZGRkY1MEZGMjAKKzoxMDAyQzAwMDgxRkY0M0ZGRkZGRjIwRkY4MkZGOTNGRkZGRkY2MEZGREYKKzoxMDAyRDAwMDg0RkY0M0ZGRkZGRjAwRkY4MkZGOTNGRkZGRkY3MEZGREMKKzoxMDAyRTAwMDg1RkY0M0ZGRkZGRjIwRkY4M0ZGOTNGRkZGRkZDMEZGNUEKKzoxMDAyRjAwMDgyRkYzN0ZGRkZGRjgxRkYwMEZGMzRGRkZGRkY4OUZGMTEKKzoxMDAzMDAwMDg4RkY0M0ZGRkZGRjAwRkYwMEZGNjhGRkZGRkYwN0ZGQkQKKzoxMDAzMTAwMDgyRkY4M0ZGRkZGRjYwRkYwMEZGNjhGRkZGRkYwN0ZGMTMKKzoxMDAzMjAwMDhDRkY0M0ZGRkZGRjAwRkYwMEZGNjhGRkZGRkYwN0ZGOTkKKzoxMDAzMzAwMDgzRkY4M0ZGRkZGRkMwRkYwMEZGNjhGRkZGRkYwN0ZGOTIKKzoxMDAzNDAwMDhBRkY0M0ZGRkZGRjAwRkYwMEZGNjhGRkZGRkYwN0ZGN0IKKzoxMDAzNTAwMDgyRkY4M0ZGRkZGRjUwRkYwMEZGNjhGRkZGRkYwN0ZGRTMKKzoxMDAzNjAwMDhFRkY0M0ZGRkZGRjAwRkYwMEZGNjhGRkZGRkYwN0ZGNTcKKzoxMDAzNzAwMDgyRkY4M0ZGRkZGRjcwRkYwMEZGNjhGRkZGRkYwN0ZGQTMKKzoxMDAzODAwMDgzRkYzN0ZGRkZGRjAxRkYwMEZGMzRGRkZGRkY4OUZGRkYKKzoxMDAzOTAwMDAwRkYzNEZGRkZGRjI2RkYzMEZGMENGRkZGRkYwMEZGRDEKKzoxMDAzQTAwMDAwRkY0MEZGRkZGRjI2RkYyMEZGNDBGRkZGRkYwNEZGOEQKKzoxMDAzQjAwMDgwRkY0MUZGRkZGRjAyRkZFMEZGMjBGRkZGRkYwRkZGNzUKKzoxMDAzQzAwMDAwRkY2OEZGRkZGRkI2RkY2M0ZGMjJGRkZGRkYwRkZGODUKKzoxMDAzRDAwMDYyRkY2QUZGRkZGRkE2RkY2MkZGNkFGRkZGRkZBNkZGNDMKKzoxMDAzRTAwMDAwRkY2OEZGRkZGRkE2RkYwMEZGMDlGRkZGRkYwN0ZGRjkKKzoxMDAzRjAwMDQwRkY0MUZGRkZGRjAyRkZFMEZGMjBGRkZGRkYwRkZGNzUKKzoxMDA0MDAwMDAwRkY2OEZGRkZGRkI2RkY2M0ZGMjJGRkZGRkYwRkZGNDQKKzoxMDA0MTAwMDYyRkY2QUZGRkZGRkE2RkY2MkZGNkFGRkZGRkZBNkZGMDIKKzoxMDA0MjAwMDAwRkY2OEZGRkZGRkE2RkYwNUZGNDFGRkZGRkYwMkZGODAKKzoxMDA0MzAwMEUwRkYyMEZGRkZGRjBGRkY4QkZGOTNGRkZGRkZCQkZGREUKKzoxMDA0NDAwMDAyRkY0MUZGRkZGRjgyRkZFMEZGMjBGRkZGRkYwRkZGRTIKKzoxMDA0NTAwMDhCRkY5M0ZGRkZGRkNCRkYwNUZGNDFGRkZGRkZFMkZGOTUKKzoxMDA0NjAwMEUwRkYyMEZGRkZGRjBGRkY4QkZGOTNGRkZGRkZEQkZGOEUKKzoxMDA0NzAwMDIwRkYwQ0ZGRkZGRjAwRkYzMEZGMENGRkZGRkYwMEZGMUUKKzoxMDA0ODAwMDAwRkY0MEZGRkZGRjI2RkYwMEZGNDFGRkZGRkYwMkZGQ0QKKzoxMDA0OTAwMEUwRkYyMEZGRkZGRjBGRkY4M0ZGOTNGRkZGRkY4MkZGQkYKKzoxMDA0QTAwMDgzRkY5M0ZGRkZGRjlCRkYwM0ZGNDFGRkZGRkYwMkZGNUYKKzoxMDA0QjAwMEUwRkYyMEZGRkZGRjBGRkY4M0ZGOTNGRkZGRkZBMkZGN0YKKzoxMDA0QzAwMDgzRkY5M0ZGRkZGRkJCRkYyMEZGMENGRkZGRkYwMEZGMzkKKzoxMDA0RDAwMDAwRkY0MEZGRkZGRjAwRkY0NEZGOTBGRkZGRkY2MEZGQjIKKzoxMDA0RTAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGMTYKKzoxMDA0RjAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGMDYKKzoxMDA1MDAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGRjUKKzoxMDA1MTAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGRTUKKzoxMDA1MjAwMDIxRkY0MEZGRkZGRjYwRkY0MEZGOTBGRkZGRkYyMEZGMjQKKzoxMDA1MzAwMDAyRkYzNUZGRkZGRjAwRkYwMEZGMzRGRkZGRkYwOEZGNTIKKzoxMDA1NDAwMDAwRkYzQ0ZGRkZGRjg1RkYwQUZGMTRGRkZGRkZBRUZGMjgKKzoxMDA1NTAwMDAwRkZBMEZGRkZGRjAzRkYwMEZGMzVGRkZGRkYwMEZGQ0QKKzoxMDA1NjAwMDAwRkYzNEZGRkZGRjA4RkYwMkZGM0NGRkZGRkYwNUZGMTYKKzoxMDA1NzAwMDBBRkYxNEZGRkZGRkZFRkYwMEZGQTBGRkZGRkYwM0ZGQzYKKzoxMDA1ODAwMDAzRkYzNUZGRkZGRjAwRkYwMEZGMzRGRkZGRkYwOEZGMDEKKzoxMDA1OTAwMDAyRkYzQ0ZGRkZGRjA1RkYwQkZGMTRGRkZGRkY0RUZGQjUKKzoxMDA1QTAwMDAwRkZBMEZGRkZGRjAzRkYwMEZGMzVGRkZGRkYwMUZGN0MKKzoxMDA1QjAwMDc4RkYxQ0ZGRkZGRjVGRkYwM0ZGMzVGRkZGRkYwMUZGMTkKKzoxMDA1QzAwMDc4RkYxQ0ZGRkZGRjVGRkY1QkZGNDBGRkZGRkZGMEZGQjcKKzoxMDA1RDAwMEZGRkY5M0ZGRkZGRjMwRkY4MEZGNDJGRkZGRkY3MEZGMzEKKzoxMDA1RTAwMEZGRkY5M0ZGRkZGRjYwRkZERkZGNDBGRkZGRkZGMEZGMTQKKzoxMDA1RjAwMEZFRkY5M0ZGRkZGRkYwRkY4MEZGNDJGRkZGRkY3MEZGNTIKKzoxMDA2MDAwMEZGRkY5M0ZGRkZGRjIwRkZDMUZGNDFGRkZGRkY4MEZGQzAKKzoxMDA2MTAwMEZGRkY5M0ZGRkZGRkYwRkYwM0ZGM0NGRkZGRkZGQ0ZGMjcKKzoxMDA2MjAwMDAwRkYzQ0ZGRkZGRjA0RkYwMkZGM0NGRkZGRkYyM0ZGMzMKKzoxMDA2MzAwMDAwRkY0OEZGRkZGRjAwRkY4QkZGOTNGRkZGRkYyMEZGM0UKKzoxMDA2NDAwMDU5RkYxOEZGRkZGRkRGRkYwMEZGNDhGRkZGRkYwMEZGMUMKKzoxMDA2NTAwMDhCRkY5M0ZGRkZGRjIwRkYxOEZGMjNGRkZGRkYwRkZGMUMKKzoxMDA2NjAwMDBDRkYxNEZGRkZGRkU0RkY4QkZGODNGRkZGRkYyNEZGNUUKKzoxMDA2NzAwMDAwRkYyMkZGRkZGRjBGRkYwREZGMThGRkZGRkYwRkZGMUYKKzoxMDA2ODAwMDhCRkY4M0ZGRkZGRjIwRkYwMEZGNDBGRkZGRkYxNEZGRjIKKzoxMDA2OTAwMEUwRkYyMkZGRkZGRjBGRkYxMEZGMThGRkZGRkZEMEZGNUIKKzoxMDA2QTAwMDhCRkY4M0ZGRkZGRjIwRkYwMEZGNDBGRkZGRkYyNEZGQzIKKzoxMDA2QjAwMEUwRkYyMkZGRkZGRjBGRkYxMEZGMThGRkZGRkYzMEZGREIKKzoxMDA2QzAwMDhCRkY4M0ZGRkZGRjIwRkYwMEZGNDBGRkZGRkY0NEZGODIKKzoxMDA2RDAwMEUwRkYyMkZGRkZGRjBGRkYyMkZGMThGRkZGRkY5MEZGNDkKKzoxMDA2RTAwMDhCRkY4M0ZGRkZGRjIwRkYwMEZGNDBGRkZGRkY4NEZGMjIKKzoxMDA2RjAwMEUwRkYyMkZGRkZGRjBGRkYyMkZGMThGRkZGRkY5MEZGMjkKKzoxMDA3MDAwMDBDRkYxOEZGRkZGRjZGRkYwMEZGNDBGRkZGRkYwMEZGMjAKKzoxMDA3MTAwMDg2RkY5M0ZGRkZGRjcwRkY3NkZGMUNGRkZGRkY5RkZGMjkKKzoxMDA3MjAwMDg2RkY4M0ZGRkZGRjUwRkY4NkZGODNGRkZGRkY2NEZGMEQKKzoxMDA3MzAwMDYwRkYyMkZGRkZGRjBGRkY3NEZGMThGRkZGRkY4MUZGMjUKKzoxMDA3NDAwMDAwRkYzNUZGRkZGRjAwRkY2MEZGMUNGRkZGRkY3RkZGODMKKzoxMDA3NTAwMDYxRkYxQ0ZGRkZGRkFGRkY3N0ZGMUNGRkZGRkZBRkZGMzUKKzoxMDA3NjAwMDYzRkYxQ0ZGRkZGRjRGRkYwNUZGMzVGRkZGRkYwMEZGOEIKKzoxMDA3NzAwMDkyRkYzQkZGRkZGRjAwRkYwMEZGMzRGRkZGRkYwOEZGN0EKKzoxMDA3ODAwMDAwRkYzOEZGRkZGRjA4RkYwMEZGM0NGRkZGRkY2NUZGOTIKKzoxMDA3OTAwMDBGRkYxNEZGRkZGRjZFRkYwMEZGNjBGRkZGRkYwM0ZGNkYKKzoxMDA3QTAwMDAwRkY2MEZGRkZGRjEzRkYwMEZGNzhGRkZGRkYxM0ZGNTUKKzoxMDA3QjAwMDAwRkY3OEZGRkZGRjAzRkYwNUZGMzVGRkZGRkZFMEZGQUUKKzoxMDA3QzAwMDdGRkYzOEZGRkZGRjAwRkYwMEZGMzRGRkZGRkYwOEZGNDAKKzoxMDA3RDAwMDAwRkYzOEZGRkZGRjA4RkYwMEZGM0NGRkZGRkY2NUZGNDIKKzoxMDA3RTAwMDEwRkYxNEZGRkZGRjBFRkYwMEZGNjBGRkZGRkYwM0ZGN0UKKzoxMDA3RjAwMDAwRkY2MEZGRkZGRjEzRkYwMEZGNThGRkZGRkYxM0ZGMjUKKzoxMDA4MDAwMDAwRkY1OEZGRkZGRjAzRkY3OUZGMUNGRkZGRkZGRkZGMDMKKzoxMDA4MTAwMDAwRkYwQUZGRkZGRjBGRkYwRUZGMUNGRkZGRkYxRkZGODAKKzoxMDA4MjAwMDhERkY4M0ZGRkZGRkUwRkY3OEZGMjJGRkZGRkYwRkZGMzkKKzoxMDA4MzAwMDE1RkYxQ0ZGRkZGRjg1RkY3NUZGMUNGRkZGRkY4RkZGRUMKKzoxMDA4NDAwMDAwRkY0MEZGRkZGRjQwRkY4QkZGOTNGRkZGRkY4MEZGOTQKKzoxMDA4NTAwMDAyRkY0MEZGRkZGRjYwRkYxMUZGOTBGRkZGRkYyMEZGM0YKKzoxMDA4NjAwMDE2RkYxOEZGRkZGRjFGRkYwRUZGMUNGRkZGRkYxRkZGRkMKKzoxMDA4NzAwMDc1RkYxQ0ZGRkZGRjhGRkY4MEZGMzVGRkZGRkYwMEZGQUQKKzoxMDA4ODAwMDAwRkYzNEZGRkZGRjA4RkYwMEZGNDBGRkZGRkYwMEZGRjYKKzoxMDA4OTAwMDQwRkYzQ0ZGRkZGRjA1RkYxMUZGMTRGRkZGRkY0RUZGNkUKKzoxMDA4QTAwMDAwRkY2OEZGRkZGRjAzRkY4N0ZGODNGRkZGRkZGMEZGRUQKKzoxMDA4QjAwMDg2RkY5M0ZGRkZGRjgwRkY5MEZGMzdGRkZGRkYwMEZGRTIKKzoxMDA4QzAwMDAyRkYzNEZGRkZGRjA4RkYwMEZGNjBGRkZGRkYwM0ZGOTEKKzoxMDA4RDAwMDg5RkY5M0ZGRkZGRjIwRkYwMEZGNjBGRkZGRkYwM0ZGODMKKzoxMDA4RTAwMDg5RkY5M0ZGRkZGRjMwRkYwMEZGNjBGRkZGRkYwM0ZGNjMKKzoxMDA4RjAwMDg5RkY5M0ZGRkZGRjQwRkYwMEZGNjBGRkZGRkYwM0ZGNDMKKzoxMDA5MDAwMDg5RkY5M0ZGRkZGRjUwRkY4NkZGOTdGRkZGRkY5MEZGRDgKKzoxMDA5MTAwMDAzRkYzNUZGRkZGRjAwRkY2MEZGMUNGRkZGRkY3RkZGQUUKKzoxMDA5MjAwMDYzRkYxQ0ZGRkZGRjdGRkYwMEZGNDBGRkZGRkYwMEZGOTMKKzoxMDA5MzAwMDhERkY5M0ZGRkZGRjYwRkY4MkZGOTNGRkZGRkY0MEZGRUMKKzoxMDA5NDAwMDg2RkY5M0ZGRkZGRkEwRkY4M0ZGMzdGRkZGRkY4MEZGQkUKKzoxMDA5NTAwMDc1RkYxQ0ZGRkZGRjFGRkY4M0ZGNDNGRkZGRkYwMEZGMkIKKzoxMDA5NjAwMDg3RkY5M0ZGRkZGRkUwRkY2QUZGMUNGRkZGRkYwRkZGMDIKKzoxMDA5NzAwMDQwRkY0MUZGRkZGRjAwRkY4QkZGOTNGRkZGRkY5MEZGNTIKKzoxMDA5ODAwMDgwRkY0MUZGRkZGRjAwRkY4QkZGOTNGRkZGRkZBMEZGRjIKKzoxMDA5OTAwMDhCRkY4N0ZGRkZGRjkwRkY3RUZGMzhGRkZGRkYwMEZGMDkKKzoxMDA5QTAwMDQwRkYzNEZGRkZGRjA4RkYwMEZGMzhGRkZGRkYwOEZGOTUKKzoxMDA5QjAwMDAwRkYzQ0ZGRkZGRjU1RkYxM0ZGMTRGRkZGRkZCRUZGQ0IKKzoxMDA5QzAwMDAwRkY2MEZGRkZGRjAzRkYwMEZGNjBGRkZGRkYxM0ZGNUIKKzoxMDA5RDAwMDAwRkY1OEZGRkZGRjEzRkYwMEZGNThGRkZGRkYwM0ZGNUIKKzoxMDA5RTAwMDAwRkY2MEZGRkZGRjAzRkYwMEZGNjBGRkZGRkYxM0ZGM0IKKzoxMDA5RjAwMDAwRkY1OEZGRkZGRjEzRkYwMEZGNThGRkZGRkYwM0ZGM0IKKzoxMDBBMDAwMDAwRkY2MEZGRkZGRjAzRkYwMEZGNjBGRkZGRkYxM0ZGMUEKKzoxMDBBMTAwMDAwRkY1OEZGRkZGRjEzRkYwMEZGNThGRkZGRkYwM0ZGMUEKKzoxMDBBMjAwMDAwRkY2MEZGRkZGRjAzRkYwMEZGNjBGRkZGRkYwM0ZGMEEKKzoxMDBBMzAwMDhCRkY5N0ZGRkZGRjkwRkYwNUZGNDFGRkZGRkYwMEZGQzgKKzoxMDBBNDAwMDkyRkY0M0ZGRkZGRjAxRkY4NkZGOTNGRkZGRkZGMEZGRDEKKzoxMDBBNTAwMDg2RkY5M0ZGRkZGRkUxRkY4REZGODNGRkZGRkZFMEZGQjYKKzoxMDBBNjAwMDc4RkYyMkZGRkZGRjBGRkYxNUZGMUNGRkZGRkY4NUZGMzEKKzoxMDBBNzAwMDc1RkYxQ0ZGRkZGRjhGRkY4REZGODNGRkZGRkY0MEZGMTAKKzoxMDBBODAwMDc4RkYyMkZGRkZGRjBGRkY1M0ZGMThGRkZGRkZCNEZGQTgKKzoxMDBBOTAwMDcyRkYxQ0ZGRkZGRjBGRkYwMEZGNDBGRkZGRkYwMEZGODMKKzoxMDBBQTAwMDhCRkY5M0ZGRkZGRjMwRkYwMkZGNDBGRkZGRkY2MEZGNjAKKzoxMDBBQjAwMDExRkY5MEZGRkZGRjIwRkYxNkZGMThGRkZGRkY0RkZGMDIKKzoxMDBBQzAwMDM4RkY0MkZGRkZGRjUwRkY0OEZGOTBGRkZGRkZBMEZGRUUKKzoxMDBBRDAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGMjAKKzoxMDBBRTAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGMTAKKzoxMDBBRjAwMDMwRkY0MEZGRkZGRjAwRkY0N0ZGOTBGRkZGRkY1MEZGNjkKKzoxMDBCMDAwMDAwRkYwQUZGRkZGRjBGRkYxRUZGMUNGRkZGRkYwRkZGOEQKKzoxMDBCMTAwMDIwRkYxQ0ZGRkZGRkNGRkYxNkZGMThGRkZGRkYxRkZGODcKKzoxMDBCMjAwMDAwRkY0MEZGRkZGRjAwRkY0NkZGOTBGRkZGRkY3MEZGNDkKKzoxMDBCMzAwMDE4RkYxQ0ZGRkZGRkVGRkY2QUZGMUNGRkZGRkZCRkZGNTcKKzoxMDBCNDAwMDVDRkYxQ0ZGRkZGRjdGRkYxOEZGMUNGRkZGRkZFRkZGOTUKKzoxMDBCNTAwMDY3RkYxQ0ZGRkZGRjNGRkY1Q0ZGMUNGRkZGRkY3RkZGRTYKKzoxMDBCNjAwMDA4RkY0MEZGRkZGRjAwRkY0NkZGOTBGRkZGRkY3MEZGMDEKKzoxMDBCNzAwMDE4RkYxQ0ZGRkZGRkVGRkY2OUZGMUNGRkZGRkYwRkZGQzgKKzoxMDBCODAwMDVERkYxQ0ZGRkZGRjJGRkYxOEZGMUNGRkZGRkZFRkZGQTQKKzoxMDBCOTAwMDc5RkYxQ0ZGRkZGRjFGRkY1Q0ZGMUNGRkZGRkY3RkZGQjQKKzoxMDBCQTAwMDE4RkYxQ0ZGRkZGRkVGRkY1Q0ZGMUNGRkZGRkY3RkZGMzUKKzoxMDBCQjAwMDE4RkYxQ0ZGRkZGRkVGRkY1Q0ZGMUNGRkZGRkY3RkZGMjUKKzoxMDBCQzAwMDE4RkYxQ0ZGRkZGRkVGRkY1REZGMUNGRkZGRkYyRkZGNjQKKzoxMDBCRDAwMDE4RkYxQ0ZGRkZGRkVGRkY1Q0ZGMUNGRkZGRkY3RkZGMDUKKzoxMDBCRTAwMDE4RkYxQ0ZGRkZGRkVGRkY1Q0ZGMUNGRkZGRkY3RkZGRjUKKzoxMDBCRjAwMDE4RkYxQ0ZGRkZGRkVGRkY1Q0ZGMUNGRkZGRkY3RkZGRTUKKzoxMDBDMDAwMDE4RkYxQ0ZGRkZGRkVGRkY1REZGMUNGRkZGRkYyRkZGMjMKKzoxMDBDMTAwMDE4RkYxQ0ZGRkZGRkVGRkY1Q0ZGMUNGRkZGRkY3RkZGQzQKKzoxMDBDMjAwMDE4RkYxQ0ZGRkZGRkVGRkY1Q0ZGMUNGRkZGRkY3RkZGQjQKKzoxMDBDMzAwMDE4RkYxQ0ZGRkZGRkVGRkY1Q0ZGMUNGRkZGRkY3RkZGQTQKKzoxMDBDNDAwMDE4RkYxQ0ZGRkZGRkVGRkY1REZGMUNGRkZGRkYyRkZGRTMKKzoxMDBDNTAwMDE4RkYxQ0ZGRkZGRkVGRkY2NkZGMUNGRkZGRkYxRkZGREEKKzoxMDBDNjAwMDVDRkYxQ0ZGRkZGRjdGRkYxNkZGMThGRkZGRkY0RkZGMUEKKzoxMDBDNzAwMDhCRkY4N0ZGRkZGRjYxRkYwMEZGMzRGRkZGRkY4OUZGNEUKKzoxMDBDODAwMDAwRkYzNEZGRkZGRjI2RkYwMEZGNjBGRkZGRkYwNkZGQUUKKzoxMDBDOTAwMDgzRkY5M0ZGRkZGRkQwRkYwMEZGNjBGRkZGRkYwNkZGMTIKKzoxMDBDQTAwMDgzRkY5M0ZGRkZGRkUwRkYzOEZGMjJGRkZGRkYwRkZGRUYKKzoxMDBDQjAwMDE5RkYxNEZGRkZGRjg1RkY4QkZGODNGRkZGRkY1MEZGMkUKKzoxMDBDQzAwMDc4RkYyMkZGRkZGRjBGRkYwMEZGNjBGRkZGRkYwN0ZGMUUKKzoxMDBDRDAwMDA0RkYwREZGRkZGRjMwRkYwMEZGNjBGRkZGRkYwN0ZGNzYKKzoxMDBDRTAwMDgzRkY5M0ZGRkZGRkYwRkYwMEZGNjBGRkZGRkYwN0ZGQTEKKzoxMDBDRjAwMDA4RkYwREZGRkZGRjMwRkYwMEZGNjBGRkZGRkYwN0ZGNTIKKzoxMDBEMDAwMDg2RkY5M0ZGRkZGRjQwRkYwMEZGNDBGRkZGRkYwMUZGNTMKKzoxMDBEMTAwMDhCRkY5M0ZGRkZGRjUxRkYwMEZGMzRGRkZGRkY0NkZGRjQKKzoxMDBEMjAwMDAwRkYwOUZGRkZGRjA2RkY4QkZGOTdGRkZGRkY2MUZGM0IKKzoxMDBEMzAwMDgzRkY4QkZGRkZGRkQwRkY4M0ZGOEJGRkZGRkZFMUZGRjAKKzoxMDBENDAwMDg3RkYzN0ZGRkZGRjAxRkY2RUZGMUNGRkZGRkZCRkZGQTUKKzoxMDBENTAwMDg3RkYzN0ZGRkZGRjAwRkY5MkZGMzdGRkZGRkYwMUZGMTUKKzoxMDBENjAwMDdGRkYzOEZGRkZGRjAwRkY3RUZGMzhGRkZGRkYwMUZGMUYKKzoxMDBENzAwMDIzRkYxQ0ZGRkZGRkZGRkY3RUZGMzhGRkZGRkYwMEZGODkKKzoxMDBEODAwMDgzRkY4N0ZGRkZGRkYxRkY4NkZGOEJGRkZGRkY0MUZGMjAKKzoxMDBEOTAwMDZDRkYxQ0ZGRkZGRjJGRkY4N0ZGMzdGRkZGRkYwMEZGRTgKKzoxMDBEQTAwMDhCRkY4QkZGRkZGRkEwRkYwMEZGMzRGRkZGRkYwOEZGNUIKKzoxMDBEQjAwMDQwRkYzOEZGRkZGRjA4RkYwMEZGM0NGRkZGRkY1NUZGMkMKKzoxMDBEQzAwMDFCRkYxNEZGRkZGRkNFRkYwMEZGNjBGRkZGRkYwM0ZGQ0QKKzoxMDBERDAwMDAwRkY2MEZGRkZGRjEzRkYwMEZGNzhGRkZGRkYxM0ZGMUYKKzoxMDBERTAwMDAwRkY3OEZGRkZGRjAzRkYwMEZGNjBGRkZGRkYwM0ZGMkYKKzoxMDBERjAwMDAwRkY2MEZGRkZGRjEzRkYwMEZGNzhGRkZGRkYxM0ZGRkYKKzoxMDBFMDAwMDAwRkY3OEZGRkZGRjAzRkYwMEZGNjBGRkZGRkYwM0ZGMEUKKzoxMDBFMTAwMDAwRkY2MEZGRkZGRjEzRkYwMEZGNzhGRkZGRkYxM0ZGREUKKzoxMDBFMjAwMDAwRkY3OEZGRkZGRjAzRkY4QkZGODNGRkZGRkZFMUZGNjIKKzoxMDBFMzAwMDhCRkY4M0ZGRkZGRkYwRkYwMEZGNzhGRkZGRkYxM0ZGMzMKKzoxMDBFNDAwMDAwRkY3OEZGRkZGRjAzRkY4QkZGOUJGRkZGRkZBMEZGNkIKKzoxMDBFNTAwMDhCRkY4N0ZGRkZGRjkwRkY3RUZGMzhGRkZGRkYwMEZGNDQKKzoxMDBFNjAwMDQwRkYzNEZGRkZGRjA4RkYwMEZGMzhGRkZGRkYwOEZGRDAKKzoxMDBFNzAwMDAwRkYzQ0ZGRkZGRjU1RkYxREZGMTRGRkZGRkYzRUZGN0MKKzoxMDBFODAwMDAwRkY2MEZGRkZGRjAzRkYwMEZGNjBGRkZGRkYxM0ZGOTYKKzoxMDBFOTAwMDAwRkY1OEZGRkZGRjEzRkYwMEZGNThGRkZGRkYwM0ZGOTYKKzoxMDBFQTAwMDAwRkY2MEZGRkZGRjAzRkYwMEZGNjBGRkZGRkYxM0ZGNzYKKzoxMDBFQjAwMDAwRkY1OEZGRkZGRjEzRkYwMEZGNThGRkZGRkYwM0ZGNzYKKzoxMDBFQzAwMDAwRkY2MEZGRkZGRjAzRkYwMEZGNjBGRkZGRkYxM0ZGNTYKKzoxMDBFRDAwMDAwRkY1OEZGRkZGRjEzRkYwMEZGNThGRkZGRkYwM0ZGNTYKKzoxMDBFRTAwMDAwRkY2MEZGRkZGRjAzRkYwMEZGNjBGRkZGRkYwM0ZGNDYKKzoxMDBFRjAwMDhCRkY5N0ZGRkZGRjkwRkYwMEZGMEFGRkZGRkYwRkZGMzEKKzoxMDBGMDAwMDhCRkY4N0ZGRkZGRjYxRkYwMEZGMzRGRkZGRkY4OUZGQkIKKzoxMDBGMTAwMDAwRkYzNEZGRkZGRjI2RkYwMEZGNjBGRkZGRkYwNkZGMUIKKzoxMDBGMjAwMDgzRkY5M0ZGRkZGRkQwRkYwMEZGNjBGRkZGRkYwNkZGN0YKKzoxMDBGMzAwMDgzRkY5M0ZGRkZGRkUwRkY4QkZGODNGRkZGRkY1MUZGNjYKKzoxMDBGNDAwMDc5RkYyMkZGRkZGRjBGRkY3NEZGMThGRkZGRkZCNEZGQzEKKzoxMDBGNTAwMDM4RkYyMkZGRkZGRjBGRkYxRUZGMTRGRkZGRkZENUZGMkIKKzoxMDBGNjAwMDhCRkY4M0ZGRkZGRjUwRkY3OEZGMjJGRkZGRkYwRkZGODQKKzoxMDBGNzAwMDAwRkY2MEZGRkZGRjA3RkYwNEZGMERGRkZGRkYzMEZGRDMKKzoxMDBGODAwMDAwRkY2MEZGRkZGRjA3RkY4M0ZGOTNGRkZGRkZGMEZGRkUKKzoxMDBGOTAwMDAwRkY2MEZGRkZGRjA3RkYwOEZGMERGRkZGRkYzMEZGQUYKKzoxMDBGQTAwMDAwRkY2MEZGRkZGRjA3RkY4NkZGOTNGRkZGRkY0MEZGOEIKKzoxMDBGQjAwMDAwRkY0MEZGRkZGRjAxRkY4QkZGOTNGRkZGRkY1MUZGOEIKKzoxMDBGQzAwMDAwRkYzNEZGRkZGRjQ2RkYwMEZGMDlGRkZGRkYwNkZGQTIKKzoxMDBGRDAwMDhCRkY5N0ZGRkZGRjYxRkY4M0ZGOEJGRkZGRkZEMEZGQkEKKzoxMDBGRTAwMDgzRkY4QkZGRkZGRkUxRkY4N0ZGMzdGRkZGRkYwMUZGNUQKKzoxMDBGRjAwMDZFRkYxQ0ZGRkZGRkJGRkY4N0ZGMzdGRkZGRkYwMEZGRjQKKzoxMDEwMDAwMDkyRkYzN0ZGRkZGRjAxRkY3RkZGMzhGRkZGRkYwMEZGNjkKKzoxMDEwMTAwMDIzRkYxQ0ZGRkZGRkZGRkY3RUZGMzhGRkZGRkYwMEZGRTYKKzoxMDEwMjAwMDgzRkY4N0ZGRkZGRkYxRkY4NkZGOEJGRkZGRkY0MUZGN0QKKzoxMDEwMzAwMDZDRkYxQ0ZGRkZGRjJGRkYwMEZGMEFGRkZGRkYwRkZGRUEKKzoxMDEwNDAwMDhERkY4RkZGRkZGRkM1RkYyMEZGMTRGRkZGRkZBRUZGRTcKKzoxMDEwNTAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMEFGRkZGRkYwRkZGODEKKzoxMDEwNjAwMDhCRkY4M0ZGRkZGRjg0RkYwMEZGMjNGRkZGRkYwRkZGQzYKKzoxMDEwNzAwMDhCRkY5M0ZGRkZGRjhBRkY2NEZGMUNGRkZGRkZFMEZGNzIKKzoxMDEwODAwMDdFRkYzOEZGRkZGRjAwRkYwMEZGMzhGRkZGRkYwOEZGNzQKKzoxMDEwOTAwMDAwRkYzQ0ZGRkZGRkU1RkYyMUZGMTRGRkZGRkY1RUZGQTYKKzoxMDEwQTAwMDAwRkY0MEZGRkZGRjAwRkYwMEZGNThGRkZGRkYwM0ZGQUYKKzoxMDEwQjAwMDAwRkYwQUZGRkZGRjBGRkYwOEZGNDBGRkZGRkYxMEZGQzkKKzoxMDEwQzAwMDQ3RkY5MEZGRkZGRjIwRkYwMEZGMDRGRkZGRkYxQ0ZGMTMKKzoxMDEwRDAwMDAwRkYwNEZGRkZGRjFDRkYwMEZGMDRGRkZGRkYxQ0ZGREEKKzoxMDEwRTAwMDAwRkYwNEZGRkZGRjFDRkYwMEZGMDRGRkZGRkYxMEZGRDYKKzoxMDEwRjAwMDAwRkYwNEZGRkZGRjEwRkYwMEZGMDRGRkZGRkYxMEZGRDIKKzoxMDExMDAwMDAwRkYwNEZGRkZGRjEwRkYwMEZGMDRGRkZGRkYxMEZGQzEKKzoxMDExMTAwMDAwRkYwNEZGRkZGRjEwRkYwMEZGMDRGRkZGRkYxMEZGQjEKKzoxMDExMjAwMDAwRkYwNEZGRkZGRjEwRkYwMEZGMDRGRkZGRkYxMEZGQTEKKzoxMDExMzAwMDAwRkYwNEZGRkZGRjEwRkYwMEZGMDRGRkZGRkYxMEZGOTEKKzoxMDExNDAwMDAwRkYwNEZGRkZGRjEwRkYwMkZGNDBGRkZGRkY0MEZGMTMKKzoxMDExNTAwMDExRkY5MEZGRkZGRjIwRkY3OEZGNDJGRkZGRkY1MEZGQ0UKKzoxMDExNjAwMDQ4RkY5MEZGRkZGRkEwRkYwMEZGMDBGRkZGRkYwMEZGMTEKKzoxMDExNzAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGNzkKKzoxMDExODAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGNjkKKzoxMDExOTAwMEIwRkY0MEZGRkZGRjAwRkY0N0ZGOTBGRkZGRkY1MEZGNDIKKzoxMDExQTAwMDAwRkY0MEZGRkZGRjAwRkY4REZGOTNGRkZGRkY0MEZGQTkKKzoxMDExQjAwMDhERkY5M0ZGRkZGRjUwRkYwMEZGNDBGRkZGRkYwMUZGODgKKzoxMDExQzAwMDhCRkY5M0ZGRkZGRjUxRkYwMEZGNDBGRkZGRkYwMEZGN0EKKzoxMDExRDAwMDQ2RkY5MEZGRkZGRjcwRkY4REZGODNGRkZGRkZEMEZGRjMKKzoxMDExRTAwMDc4RkYyMkZGRkZGRjBGRkYwQ0ZGMThGRkZGRkY5MEZGQUMKKzoxMDExRjAwMDBDRkYxOEZGRkZGRjZGRkYyMEZGMENGRkZGRkYwMEZGM0EKKzoxMDEyMDAwMDAwRkYzNEZGRkZGRjA5RkYwMEZGMzRGRkZGRkYwOEZGNkYKKzoxMDEyMTAwMDAwRkYzOEZGRkZGRjA4RkYwMEZGMzhGRkZGRkYwOUZGNTcKKzoxMDEyMjAwMDAwRkYzOEZGRkZGRjA2RkYwMEZGMzRGRkZGRkYyNkZGMzAKKzoxMDEyMzAwMDk4RkZDQ0ZGRkZGRjM3RkYwMEZGM0NGRkZGRkZBNUZGM0MKKzoxMDEyNDAwMDI0RkYxNEZGRkZGRkZFRkYwMEZGNjBGRkZGRkY3M0ZGOUYKKzoxMDEyNTAwMDA4RkYwREZGRkZGRjE0RkY5OEZGMjBGRkZGRkYwRkZGQTgKKzoxMDEyNjAwMDAwRkY1MEZGRkZGRkM2RkY2OUZGQ0NGRkZGRkYzN0ZGMDYKKzoxMDEyNzAwMDAwRkYwNUZGRkZGRjAwRkYwMEZGNThGRkZGRkZDNkZGNTUKKzoxMDEyODAwMDk4RkYyMEZGRkZGRjBGRkYwMEZGNjBGRkZGRkY3MkZGQ0YKKzoxMDEyOTAwMDA4RkYwREZGRkZGRjE0RkYwMEZGNTBGRkZGRkZDNkZGMTkKKzoxMDEyQTAwMDY5RkZDQ0ZGRkZGRjM3RkYwMEZGMDVGRkZGRkYwMEZGRDcKKzoxMDEyQjAwMDAwRkY1OEZGRkZGRkM2RkY5OEZGMjBGRkZGRkYwRkZGNTMKKzoxMDEyQzAwMDAwRkY2MEZGRkZGRjczRkYwOEZGMERGRkZGRkYxNEZGMkMKKzoxMDEyRDAwMDAwRkY1MEZGRkZGRkM2RkY2OUZGMjBGRkZGRkYwRkZGNkEKKzoxMDEyRTAwMDAwRkYwNUZGRkZGRjAwRkYwMEZGNThGRkZGRkZDNkZGRTUKKzoxMDEyRjAwMDMwRkYwQ0ZGRkZGRjAwRkYwMEZGMEFGRkZGRkYwRkZGQTMKKzoxMDEzMDAwMDAwRkYwQ0ZGRkZGRjMwRkY0N0ZGODBGRkZGRkY1OEZGOEMKKzoxMDEzMTAwMDEwRkYwRkZGRkZGRjAxRkY2NkZGMjNGRkZGRkYwRkZGMUYKKzoxMDEzMjAwMDI2RkYxOEZGRkZGRjk0RkYwMEZGNDhGRkZGRkYwMEZGQUQKKzoxMDEzMzAwMDhCRkY5M0ZGRkZGRjQwRkY4MEZGNDBGRkZGRkYwMEZGOTkKKzoxMDEzNDAwMDQ5RkY5MEZGRkZGRjQwRkYxNkZGMEZGRkZGRkYwMkZGNjcKKzoxMDEzNTAwMDY2RkYyM0ZGRkZGRjBGRkYzOEZGMThGRkZGRkZCNEZGRkIKKzoxMDEzNjAwMDBGRkY0MEZGRkZGRkY0RkY0N0ZGODBGRkZGRkYwQUZGNzMKKzoxMDEzNzAwMDgyRkYyM0ZGRkZGRjBGRkY4REZGOTNGRkZGRkY3QUZGMjkKKzoxMDEzODAwMDdBRkYyNkZGRkZGRjBGRkYxMEZGMjdGRkZGRkYwRkZGNzIKKzoxMDEzOTAwMDM4RkYxOEZGRkZGRkI0RkYyN0ZGMThGRkZGRkZEMkZGNDIKKzoxMDEzQTAwMDAwRkY0OEZGRkZGRjAwRkY4QkZGOTNGRkZGRkYzMEZGQjEKKzoxMDEzQjAwMDhERkY4M0ZGRkZGRjcwRkY0N0ZGOTBGRkZGRkYwMEZGRTAKKzoxMDEzQzAwMDAwRkY0OEZGRkZGRjA0RkZBMEZGMjNGRkZGRkYwRkZGMDkKKzoxMDEzRDAwMDQ2RkY5MEZGRkZGRjZBRkYwMEZGMENGRkZGRkYyMEZGQUIKKzoxMDEzRTAwMDAwRkYwQUZGRkZGRjFGRkYxMEZGMjdGRkZGRkYwRkZGOTgKKzoxMDEzRjAwMDI5RkYxOEZGRkZGRjkyRkY0NkZGODBGRkZGRkYwMEZGNUUKKzoxMDE0MDAwMDhCRkY5M0ZGRkZGRjIwRkY4REZGODNGRkZGRkY3MEZGMjgKKzoxMDE0MTAwMDQ3RkY5MEZGRkZGRjAwRkYwMEZGNDhGRkZGRkYwNEZGQjMKKzoxMDE0MjAwMEEwRkYyM0ZGRkZGRjBGRkY0NkZGOTBGRkZGRkY2QUZGQjQKKzoxMDE0MzAwMDAwRkYwQ0ZGRkZGRjIwRkYwMEZGMDRGRkZGRkYxQ0ZGNkEKKzoxMDE0NDAwMDAwRkYwNEZGRkZGRjFDRkYwMEZGMDRGRkZGRkYxQ0ZGNjYKKzoxMDE0NTAwMDAwRkYwNEZGRkZGRjFDRkYwMEZGMDRGRkZGRkYxMEZGNjIKKzoxMDE0NjAwMDAwRkYwNEZGRkZGRjEwRkYwMEZGMDRGRkZGRkYxMEZGNUUKKzoxMDE0NzAwMDAwRkYwNEZGRkZGRjEwRkYwMEZGMDRGRkZGRkYxMEZGNEUKKzoxMDE0ODAwMDAwRkYwNEZGRkZGRjEwRkYwMEZGMDRGRkZGRkYxMEZGM0UKKzoxMDE0OTAwMDAwRkYwNEZGRkZGRjEwRkYwMEZGMDRGRkZGRkYxMEZGMkUKKzoxMDE0QTAwMDAwRkYwNEZGRkZGRjEwRkYwMEZGMDRGRkZGRkYxMEZGMUUKKzoxMDE0QjAwMDAwRkYwNEZGRkZGRjEwRkYwMEZGMDRGRkZGRkYwM0ZGMUIKKzoxMDE0QzAwMDBERkYxOEZGRkZGRjBGRkYxMEZGMjdGRkZGRkYwRkZGQUMKKzoxMDE0RDAwMDMxRkYxOEZGRkZGRjEyRkYzMEZGMENGRkZGRkYwMEZGN0YKKzoxMDE0RTAwMDA4RkYwQ0ZGRkZGRjAwRkZGRkZGNEZGRkZGRkY4OUZGMUIKKzoxMDE0RjAwMDkwRkYzN0ZGRkZGRjAwRkYwMkZGMzRGRkZGRkYwOEZGRjEKKzoxMDE1MDAwMDAwRkYzNEZGRkZGRjM0RkYwMEZGMzRGRkZGRkY1NUZGRjQKKzoxMDE1MTAwMDQ2RkY4MEZGRkZGRjA4RkYwMEZGMEVGRkZGRkYwRkZGRUEKKzoxMDE1MjAwMDAwRkYwREZGRkZGRjRFRkZBN0ZGMjNGRkZGRkYwRkZGOTEKKzoxMDE1MzAwMDAwRkY2OEZGRkZGRkEzRkYwMEZGMERGRkZGRkY0QUZGNTMKKzoxMDE1NDAwMDQ2RkY4MEZGRkZGRjE4RkYwMEZGMEVGRkZGRkYwRkZGQUEKKzoxMDE1NTAwMDAwRkYwREZGRkZGRjVFRkZBRkZGMjNGRkZGRkYwRkZGNDkKKzoxMDE1NjAwMDAwRkY2OEZGRkZGRkEwRkYwMEZGMERGRkZGRkY1QUZGMTYKKzoxMDE1NzAwMDQ2RkY4MEZGRkZGRjQ4RkYxMEZGMEZGRkZGRkZGRUZGNEEKKzoxMDE1ODAwMDg3RkY5M0ZGRkZGRkZFRkYwMEZGMERGRkZGRkYyRUZGMTIKKzoxMDE1OTAwMDAyRkY0MEZGRkZGRjA2RkZFMEZGMjBGRkZGRkYwRkZGRkUKKzoxMDE1QTAwMDAwRkY0MEZGRkZGRjAxRkY2M0ZGMjJGRkZGRkYwRkZGNzAKKzoxMDE1QjAwMDAwRkYwREZGRkZGRjRBRkY0OUZGNkFGRkZGRkZBM0ZGODgKKzoxMDE1QzAwMDAwRkYwREZGRkZGRjVBRkYwMEZGNjhGRkZGRkZBMEZGQjYKKzoxMDE1RDAwMDAwRkYwREZGRkZGRjVBRkY2M0ZGMjJGRkZGRkYwRkZGMUEKKzoxMDE1RTAwMDAwRkYwREZGRkZGRjRBRkY0OUZGNkFGRkZGRkZBM0ZGNTgKKzoxMDE1RjAwMDAwRkYwREZGRkZGRjVBRkYwMEZGNjhGRkZGRkZBMEZGODYKKzoxMDE2MDAwMDYzRkYyMkZGRkZGRjBGRkYwMEZGMERGRkZGRkY0QUZGRjkKKzoxMDE2MTAwMDQ5RkY2QUZGRkZGRkEzRkYwMEZGMERGRkZGRkY1QUZGMTcKKzoxMDE2MjAwMDAwRkY2OEZGRkZGRkEwRkY2M0ZGMjJGRkZGRkYwRkZGMjgKKzoxMDE2MzAwMDAwRkYwREZGRkZGRjRBRkY0OUZGNkFGRkZGRkZBM0ZGMDcKKzoxMDE2NDAwMDAwRkYwREZGRkZGRjVBRkYwMEZGNjhGRkZGRkZBMEZGMzUKKzoxMDE2NTAwMDYzRkYyMkZGRkZGRjBGRkYwMEZGMERGRkZGRkY0QUZGQTkKKzoxMDE2NjAwMDQ5RkY2QUZGRkZGRkEzRkYwMEZGMERGRkZGRkY1QUZGQzcKKzoxMDE2NzAwMDAwRkY2OEZGRkZGRkEwRkY2M0ZGMjJGRkZGRkYwRkZGRDgKKzoxMDE2ODAwMDAwRkYwREZGRkZGRjRBRkY0OUZGNkFGRkZGRkZBM0ZGQjcKKzoxMDE2OTAwMDAwRkYwREZGRkZGRjVBRkYwMEZGNjhGRkZGRkZBMEZGRTUKKzoxMDE2QTAwMDYzRkYyMkZGRkZGRjBGRkYwMEZGMERGRkZGRkY0QUZGNTkKKzoxMDE2QjAwMDQ5RkY2QUZGRkZGRkEzRkYwMEZGMERGRkZGRkY1QUZGNzcKKzoxMDE2QzAwMDAwRkY2OEZGRkZGRkExRkY0NkZGODBGRkZGRkYyOEZGMkQKKzoxMDE2RDAwMDAwRkYwRUZGRkZGRjBGRkYwMEZGMERGRkZGRkY0RUZGOUMKKzoxMDE2RTAwMEE3RkYyM0ZGRkZGRjBGRkYwMEZGNjhGRkZGRkZBM0ZGMjAKKzoxMDE2RjAwMDAwRkYwREZGRkZGRjRBRkY0NkZGODBGRkZGRkYzOEZGOUYKKzoxMDE3MDAwMDAwRkYwRUZGRkZGRjBGRkYwMEZGMERGRkZGRkY1RUZGNUIKKzoxMDE3MTAwMEFGRkYyM0ZGRkZGRjBGRkYwMEZGNjhGRkZGRkZBMEZGRUEKKzoxMDE3MjAwMDAwRkYwREZGRkZGRjVBRkY2M0ZGMjJGRkZGRkYwRkZGQzgKKzoxMDE3MzAwMDAwRkYwREZGRkZGRjRBRkY0OUZGNkFGRkZGRkZBM0ZGMDYKKzoxMDE3NDAwMDAwRkYwREZGRkZGRjVBRkYwMEZGNjhGRkZGRkZBMEZGMzQKKzoxMDE3NTAwMDYzRkYyMkZGRkZGRjBGRkYwMEZGMERGRkZGRkY0QUZGQTgKKzoxMDE3NjAwMDQ5RkY2QUZGRkZGRkEzRkYwMEZGMERGRkZGRkY1QUZGQzYKKzoxMDE3NzAwMDAwRkY2OEZGRkZGRkEwRkY2M0ZGMjJGRkZGRkYwRkZGRDcKKzoxMDE3ODAwMDAwRkYwREZGRkZGRjRBRkY0OUZGNkFGRkZGRkZBM0ZGQjYKKzoxMDE3OTAwMDAwRkYwREZGRkZGRjVBRkYwMEZGNjhGRkZGRkZBMEZGRTQKKzoxMDE3QTAwMDYzRkYyMkZGRkZGRjBGRkYwMEZGMERGRkZGRkY0QUZGNTgKKzoxMDE3QjAwMDQ5RkY2QUZGRkZGRkEzRkYwMEZGMERGRkZGRkY1QUZGNzYKKzoxMDE3QzAwMDAwRkY2OEZGRkZGRkEwRkY2M0ZGMjJGRkZGRkYwRkZGODcKKzoxMDE3RDAwMDAwRkYwREZGRkZGRjRBRkY0OUZGNkFGRkZGRkZBM0ZGNjYKKzoxMDE3RTAwMDAwRkYwREZGRkZGRjVBRkYwMEZGNjhGRkZGRkZBMEZGOTQKKzoxMDE3RjAwMDYzRkYyMkZGRkZGRjBGRkYwMEZGMERGRkZGRkY0QUZGMDgKKzoxMDE4MDAwMDQ5RkY2QUZGRkZGRkEzRkYwMEZGMERGRkZGRkY1QUZGMjUKKzoxMDE4MTAwMDAwRkY2OEZGRkZGRkEwRkY2M0ZGMjJGRkZGRkYwRkZGMzYKKzoxMDE4MjAwMDAwRkYwREZGRkZGRjRBRkY0OUZGNkFGRkZGRkZBM0ZGMTUKKzoxMDE4MzAwMDAwRkYwREZGRkZGRjVBRkYwMEZGNjhGRkZGRkZBM0ZGNDAKKzoxMDE4NDAwMEZGRkY0RkZGRkZGRkYwRkY4NkZGOTNGRkZGRkY1MEZGRkIKKzoxMDE4NTAwMDhERkY4M0ZGRkZGRjcwRkY0N0ZGOTBGRkZGRkYwMEZGM0IKKzoxMDE4NjAwMDAwRkY0OEZGRkZGRjA0RkZBMEZGMjNGRkZGRkYwRkZGNjQKKzoxMDE4NzAwMDQ2RkY5MEZGRkZGRjZBRkYwMEZGMENGRkZGRkYyMEZGMDYKKzoxMDE4ODAwMDAwRkYwQUZGRkZGRjFGRkYxMEZGMjdGRkZGRkYwRkZGRjMKKzoxMDE4OTAwMDMyRkYxOEZGRkZGRjQyRkY4QkZGODNGRkZGRkZFNEZGRDQKKzoxMDE4QTAwMDhCRkY4M0ZGRkZGRkY1RkY0NkZGOTBGRkZGRkY0NEZGMjUKKzoxMDE4QjAwMDA4RkYyMkZGRkZGRjBGRkZGRkZGNEZGRkZGRkY4OUZGMjIKKzoxMDE4QzAwMDAwRkYwREZGRkZGRjhBRkYwMEZGMEVGRkZGRkYwRkZGNkUKKzoxMDE4RDAwMDAwRkYwREZGRkZGRjRFRkZBN0ZGMjNGRkZGRkYwRkZGREUKKzoxMDE4RTAwMDQ2RkY5MEZGRkZGRjVBRkY4REZGODNGRkZGRkY3MEZGNTIKKzoxMDE4RjAwMDQ3RkY5MEZGRkZGRjAwRkYwMEZGNDhGRkZGRkYwNEZGQ0YKKzoxMDE5MDAwMEEwRkYyM0ZGRkZGRjBGRkY0NkZGOTBGRkZGRkY2QUZGQ0YKKzoxMDE5MTAwMDAwRkYwQ0ZGRkZGRjIwRkYwMEZGMEFGRkZGRkYxRkZGN0MKKzoxMDE5MjAwMDEwRkYyN0ZGRkZGRjBGRkYzNUZGMThGRkZGRkZEMkZGNUMKKzoxMDE5MzAwMDAwRkY0Q0ZGRkZGRjAwRkYwMEZGOTNGRkZGRkYwMEZGRDIKKzoxMDE5NDAwMDBCRkY0MEZGRkZGRjgwRkYxMUZGOTBGRkZGRkZGMEZGNDUKKzoxMDE5NTAwMDAwRkY0MEZGRkZGRjEwRkYxMUZGOTBGRkZGRkZFMEZGQzAKKzoxMDE5NjAwMDQ2RkY4MEZGRkZGRjBBRkY3QUZGMjZGRkZGRkYwRkZGMDIKKzoxMDE5NzAwMDM1RkYxQ0ZGRkZGRjI0RkYxMEZGMjdGRkZGRkYwRkZGQjYKKzoxMDE5ODAwMDMzRkYxOEZGRkZGRkM1RkYwMEZGNDBGRkZGRkZDMEZGNTEKKzoxMDE5OTAwMDExRkY5MEZGRkZGRjYwRkY4REZGOTNGRkZGRkZEMEZGNjAKKzoxMDE5QTAwMDAwRkY0OEZGRkZGRjAwRkY4REZGODNGRkZGRkY3MEZGNzkKKzoxMDE5QjAwMDQ3RkY5MEZGRkZGRjAwRkYwMEZGNDhGRkZGRkYwNEZGMEUKKzoxMDE5QzAwMEEwRkYyM0ZGRkZGRjBGRkY0NkZGOTBGRkZGRkY2QUZGMEYKKzoxMDE5RDAwMDAwRkYwQ0ZGRkZGRjIwRkYwMEZGMEFGRkZGRkYxRkZGQkMKKzoxMDE5RTAwMDEwRkYyN0ZGRkZGRjBGRkYzNEZGMThGRkZGRkY4NUZGRUEKKzoxMDE5RjAwMDAwRkY0MEZGRkZGRjQwRkYxMUZGOTBGRkZGRkY2MEZGNzAKKzoxMDFBMDAwMDhERkY5M0ZGRkZGRkQwRkY4REZGODNGRkZGRkY3MEZGNzAKKzoxMDFBMTAwMDQ3RkY5MEZGRkZGRjAwRkYwMEZGNDhGRkZGRkYwNEZGQUQKKzoxMDFBMjAwMEEwRkYyM0ZGRkZGRjBGRkY0NkZGOTBGRkZGRkY2QUZGQUUKKzoxMDFBMzAwMDAwRkYwQ0ZGRkZGRjIwRkYwMEZGMEFGRkZGRkYxRkZGNUIKKzoxMDFBNDAwMDAwRkY0MEZGRkZGRjAwRkYxMUZGOTBGRkZGRkY2MEZGNUYKKzoxMDFBNTAwMDhERkY5M0ZGRkZGRkQwRkY4REZGODNGRkZGRkY3MEZGMjAKKzoxMDFBNjAwMDQ3RkY5MEZGRkZGRjAwRkYwMEZGNDhGRkZGRkYwNEZGNUQKKzoxMDFBNzAwMEEwRkYyM0ZGRkZGRjBGRkY0NkZGOTBGRkZGRkY2QUZGNUUKKzoxMDFBODAwMDAwRkYwQ0ZGRkZGRjIwRkYwMEZGMEFGRkZGRkYxRkZGMEIKKzoxMDFBOTAwMDAwRkY0OEZGRkZGRjAwRkY4REZGOTNGRkZGRkY4MEZGNjgKKzoxMDFBQTAwMDAwRkY0OEZGRkZGRjAwRkYwMEZGOTNGRkZGRkYwMEZGNjUKKzoxMDFBQjAwMDBERkY0MEZGRkZGRkYwRkYxMUZGOTBGRkZGRkZGMEZGNjIKKzoxMDFBQzAwMDAwRkY0MEZGRkZGRjEwRkYxMUZGOTBGRkZGRkZFMEZGNEYKKzoxMDFBRDAwMEZGRkY0MEZGRkZGRkYwRkY5MEZGMjdGRkZGRkYwRkZGMUIKKzoxMDFBRTAwMDAwRkYwQUZGRkZGRjBGRkYxMEZGMjdGRkZGRkYwRkZGQTEKKzoxMDFBRjAwMDM3RkYxOEZGRkZGRjQyRkY0NkZGODBGRkZGRkYwMEZGOTkKKzoxMDFCMDAwMDg5RkY5M0ZGRkZGRkEwRkY0NkZGODBGRkZGRkYxMEZGNEQKKzoxMDFCMTAwMDg5RkY5M0ZGRkZGRkIwRkY0NkZGODBGRkZGRkYyMEZGMUQKKzoxMDFCMjAwMDg5RkY5M0ZGRkZGRkMwRkY0NkZGODBGRkZGRkYzMEZGRUQKKzoxMDFCMzAwMDg5RkY5M0ZGRkZGRkQwRkY0NkZGODBGRkZGRkY0MEZGQkQKKzoxMDFCNDAwMDg5RkY5M0ZGRkZGRkUwRkY0NkZGODBGRkZGRkY1MEZGOEQKKzoxMDFCNTAwMDg5RkY5M0ZGRkZGRkYwRkYwMEZGNDBGRkZGRkYxMEZGMzMKKzoxMDFCNjAwMDg2RkY5M0ZGRkZGRjYwRkY4REZGODNGRkZGRkY3MEZGODYKKzoxMDFCNzAwMDQ3RkY5MEZGRkZGRjAwRkYwMEZGNDhGRkZGRkYwNEZGNEMKKzoxMDFCODAwMEEwRkYyM0ZGRkZGRjBGRkY0NkZGOTBGRkZGRkY2QUZGNEQKKzoxMDFCOTAwMDAwRkYwQ0ZGRkZGRjIwRkYwMEZGMEFGRkZGRkYxRkZGRkEKKzoxMDFCQTAwMDEwRkYyN0ZGRkZGRjBGRkYzOUZGMThGRkZGRkYyMkZGODYKKzoxMDFCQjAwMDQ2RkY4MEZGRkZGRjAwRkY4REZGOTNGRkZGRkYyMEZGMjkKKzoxMDFCQzAwMDQ2RkY4MEZGRkZGRjEwRkY4REZGOTNGRkZGRkYzMEZGRjkKKzoxMDFCRDAwMDQ2RkY4MEZGRkZGRjIwRkY3OEZGMjJGRkZGRkYwRkZGODAKKzoxMDFCRTAwMDM4RkYxQ0ZGRkZGRjg0RkYwMEZGNDBGRkZGRkYwMEZGRTcKKzoxMDFCRjAwMDQ2RkY5MEZGRkZGRjIwRkYwMEZGNDhGRkZGRkYwMEZGQjEKKzoxMDFDMDAwMDhERkY5M0ZGRkZGRjQwRkY4REZGODNGRkZGRkY3MEZGRkUKKzoxMDFDMTAwMDQ3RkY5MEZGRkZGRjAwRkYwMEZGNDhGRkZGRkYwNEZGQUIKKzoxMDFDMjAwMEEwRkYyM0ZGRkZGRjBGRkY0NkZGOTBGRkZGRkY2QUZGQUMKKzoxMDFDMzAwMDAwRkYwQ0ZGRkZGRjIwRkYwMEZGMEFGRkZGRkYxRkZGNTkKKzoxMDFDNDAwMDAwRkY0OEZGRkZGRjAwRkY4REZGOTNGRkZGRkY1MEZGRTYKKzoxMDFDNTAwMDAwRkYwQUZGRkZGRjBGRkYwMEZGMENGRkZGRkYyMEZGNDkKKzoxMDFDNjAwMDAwRkYwQUZGRkZGRjFGRkYwMEZGMENGRkZGRkYzMEZGMTkKKzoxMDFDNzAwMDAwRkY0OEZGRkZGRjAwRkY4QkZGOTNGRkZGRkY1MEZGQjgKKzoxMDFDODAwMDAwRkYwQ0ZGRkZGRjIwRkYwMEZGMEFGRkZGRkYxRkZGMDkKKzoxMDFDOTAwMDhERkY4M0ZGRkZGRjcwRkYwRkZGNDBGRkZGRkZGNEZGOEIKKzoxMDFDQTAwMEUwRkYyMkZGRkZGRjBGRkY0MUZGMThGRkZGRkYzMEZGQTQKKzoxMDFDQjAwMDhERkY4M0ZGRkZGRjcwRkYwRkZGNDBGRkZGRkZFNEZGN0IKKzoxMDFDQzAwMEUwRkYyMkZGRkZGRjBGRkY0MkZGMThGRkZGRkY0MEZGNzMKKzoxMDFDRDAwMDhERkY4M0ZGRkZGRjcwRkYwRkZGNDBGRkZGRkZENEZGNkIKKzoxMDFDRTAwMEUwRkYyMkZGRkZGRjBGRkY0N0ZGMThGRkZGRkZBMEZGRUUKKzoxMDFDRjAwMDhERkY4M0ZGRkZGRjcwRkYwRkZGNDBGRkZGRkZDNEZGNUIKKzoxMDFEMDAwMEUwRkYyMkZGRkZGRjBGRkY0NkZGMThGRkZGRkZEMEZGOUUKKzoxMDFEMTAwMDhERkY4M0ZGRkZGRjcwRkYwRkZGNDBGRkZGRkZCNEZGNEEKKzoxMDFEMjAwMEUwRkYyMkZGRkZGRjBGRkY0OEZGMThGRkZGRkZFMEZGNkMKKzoxMDFEMzAwMDhERkY4M0ZGRkZGRjcwRkYwRkZGNDBGRkZGRkZBNEZGM0EKKzoxMDFENDAwMEUwRkYyMkZGRkZGRjBGRkY0QUZGMThGRkZGRkY2MEZGQ0EKKzoxMDFENTAwMDhERkY4M0ZGRkZGRjcwRkYwRkZGNDBGRkZGRkY5NEZGMkEKKzoxMDFENjAwMEUwRkYyMkZGRkZGRjBGRkY0Q0ZGMThGRkZGRkYwMEZGMDgKKzoxMDFENzAwMDhERkY4M0ZGRkZGRjcwRkYwRkZGNDBGRkZGRkY4NEZGMUEKKzoxMDFEODAwMEUwRkYyMkZGRkZGRjBGRkY0REZGMThGRkZGRkZFMEZGMDcKKzoxMDFEOTAwMDhERkY4M0ZGRkZGRjcwRkYwRkZGNDBGRkZGRkY3NEZGMEEKKzoxMDFEQTAwMEUwRkYyMkZGRkZGRjBGRkY0RkZGMThGRkZGRkYyMEZGQTUKKzoxMDFEQjAwMDhERkY4M0ZGRkZGRjcwRkYwRkZGNDBGRkZGRkY2NEZGRkEKKzoxMDFEQzAwMEUwRkYyMkZGRkZGRjBGRkY0RkZGMThGRkZGRkZGMEZGQjUKKzoxMDFERDAwMDhERkY4M0ZGRkZGRjcwRkYwRUZGNDBGRkZGRkZGNEZGNEIKKzoxMDFERTAwMEUwRkYyMkZGRkZGRjBGRkY0NEZGMThGRkZGRkY0MEZGNTAKKzoxMDFERjAwMDhERkY4M0ZGRkZGRjcwRkYwRUZGNDBGRkZGRkZFNEZGM0IKKzoxMDFFMDAwMEUwRkYyMkZGRkZGRjBGRkY0NUZGMThGRkZGRkY1MEZGMUUKKzoxMDFFMTAwMDhERkY4M0ZGRkZGRjcwRkYwQUZGNDBGRkZGRkYwNEZGRkUKKzoxMDFFMjAwMEUwRkYyMkZGRkZGRjBGRkYzREZGMThGRkZGRkZEMEZGODYKKzoxMDFFMzAwMDhERkY4M0ZGRkZGRjcwRkYwQUZGNDBGRkZGRkYxNEZGQ0UKKzoxMDFFNDAwMEUwRkYyMkZGRkZGRjBGRkYzRkZGMThGRkZGRkYxMEZGMjQKKzoxMDFFNTAwMDhERkY4M0ZGRkZGRjcwRkYwQUZGNDBGRkZGRkYyNEZGOUUKKzoxMDFFNjAwMEUwRkYyMkZGRkZGRjBGRkYzRkZGMThGRkZGRkY4MEZGOTQKKzoxMDFFNzAwMDhERkY4M0ZGRkZGRjcwRkYwQUZGNDBGRkZGRkYzNEZGNkUKKzoxMDFFODAwMEUwRkYyMkZGRkZGRjBGRkYzRkZGMThGRkZGRkZGMEZGMDQKKzoxMDFFOTAwMDhERkY4M0ZGRkZGRjcwRkYwQUZGNDBGRkZGRkY0NEZGM0UKKzoxMDFFQTAwMEUwRkYyMkZGRkZGRjBGRkY0MEZGMThGRkZGRkY2MEZGNzMKKzoxMDFFQjAwMDhERkY4M0ZGRkZGRjcwRkY0N0ZGOTBGRkZGRkYwMEZGRDUKKzoxMDFFQzAwMDAwRkY0OEZGRkZGRjA0RkZBMEZGMjNGRkZGRkYwRkZGRkUKKzoxMDFFRDAwMDQ2RkY5MEZGRkZGRjZBRkYwMEZGMENGRkZGRkYyMEZGQTAKKzoxMDFFRTAwMDAwRkYwQUZGRkZGRjFGRkY4REZGODNGRkZGRkY3MEZGNTMKKzoxMDFFRjAwMDQ3RkY5MEZGRkZGRjAwRkYwMEZGNDhGRkZGRkYwNEZGQzkKKzoxMDFGMDAwMEEwRkYyM0ZGRkZGRjBGRkY0NkZGOTBGRkZGRkY2QUZGQzkKKzoxMDFGMTAwMDAwRkYwQ0ZGRkZGRjA4RkYwMEZGNDBGRkZGRkYwMEZGNzcKKzoxMDFGMjAwMEZGRkY5M0ZGRkZGRkYwRkYwMEZGNDBGRkZGRkYwMEZGRjkKKzoxMDFGMzAwMDQ0RkY5MEZGRkZGRjYwRkYwMEZGMDBGRkZGRkYwMEZGNzcKKzoxMDFGNDAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGOUIKKzoxMDFGNTAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGOEIKKzoxMDFGNjAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGN0IKKzoxMDFGNzAwMDAwRkYwMEZGRkZGRjAwRkYyMUZGNDBGRkZGRkY4MEZGOEEKKzoxMDFGODAwMEZGRkY5M0ZGRkZGRkYwRkY4REZGODNGRkZGRkY3MEZGNTkKKzoxMDFGOTAwMDQ3RkY5MEZGRkZGRjAwRkYwMEZGNDhGRkZGRkYwNEZGMjgKKzoxMDFGQTAwMEEwRkYyM0ZGRkZGRjBGRkY0NkZGOTBGRkZGRkY2QUZGMjkKKzoxMDFGQjAwMDI1RkY0MEZGRkZGRjgwRkZGRkZGOTNGRkZGRkZGMEZGQzQKKzoxMDFGQzAwMDhERkY4M0ZGRkZGRjcwRkY0N0ZGOTBGRkZGRkYwMEZGQzQKKzoxMDFGRDAwMDAwRkY0OEZGRkZGRjA0RkZBMEZGMjNGRkZGRkYwRkZGRUQKKzoxMDFGRTAwMDQ2RkY5MEZGRkZGRjZBRkZFOUZGNDFGRkZGRkY4MEZGMTEKKzoxMDFGRjAwMEZGRkY5M0ZGRkZGRkYwRkY4REZGODNGRkZGRkY3MEZGRTkKKzoxMDIwMDAwMDQ3RkY5MEZGRkZGRjAwRkYwMEZGNDhGRkZGRkYwNEZGQjcKKzoxMDIwMTAwMEEwRkYyM0ZGRkZGRjBGRkY0NkZGOTBGRkZGRkY2QUZGQjgKKzoxMDIwMjAwMEVERkY0MUZGRkZGRjgwRkZGRkZGOTNGRkZGRkZGMEZGOEEKKzoxMDIwMzAwMDhERkY4M0ZGRkZGRjcwRkY0N0ZGOTBGRkZGRkYwMEZGNTMKKzoxMDIwNDAwMDAwRkY0OEZGRkZGRjA0RkZBMEZGMjNGRkZGRkYwRkZGN0MKKzoxMDIwNTAwMDQ2RkY5MEZGRkZGRjZBRkYwMEZGNDBGRkZGRkYwMEZGMEEKKzoxMDIwNjAwMDQ0RkY5MEZGRkZGRjYwRkYwMEZGMDBGRkZGRkYwMEZGNDYKKzoxMDIwNzAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGNkEKKzoxMDIwODAwMDAwRkYwMEZGRkZGRjAwRkZGMUZGNDFGRkZGRkY4MEZGQTgKKzoxMDIwOTAwMEZGRkY5M0ZGRkZGRkYwRkY0NkZGODRGRkZGRkYwMEZGRkUKKzoxMDIwQTAwMDAwRkYzNEZGRkZGRjA4RkYwMEZGNjBGRkZGRkYwM0ZGOUIKKzoxMDIwQjAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGMkEKKzoxMDIwQzAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGMUEKKzoxMDIwRDAwMDQ2RkY5MEZGRkZGRjYwRkZGN0ZGNEZGRkZGRkZGNEZGOUEKKzoxMDIwRTAwMDQ2RkY5MEZGRkZGRjc0RkY4REZGODNGRkZGRkY3MEZGMzAKKzoxMDIwRjAwMDQ3RkY5MEZGRkZGRjAwRkYwMEZGNDhGRkZGRkYwNEZGQzcKKzoxMDIxMDAwMEEwRkYyM0ZGRkZGRjBGRkY0NkZGOTBGRkZGRkY2QUZGQzcKKzoxMDIxMTAwMDAwRkYwQ0ZGRkZGRjIwRkYwMEZGMEFGRkZGRkYxRkZGNzQKKzoxMDIxMjAwMDQ2RkY4NEZGRkZGRjAwRkYwMEZGMzRGRkZGRkYwOEZGQjMKKzoxMDIxMzAwMDAwRkYzNEZGRkZGRjA2RkYwMEZGMDBGRkZGRkYwMEZGNkYKKzoxMDIxNDAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGOTkKKzoxMDIxNTAwMDAwRkYwMEZGRkZGRjAwRkY0NkZGODBGRkZGRkYxMEZGQjMKKzoxMDIxNjAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGNzkKKzoxMDIxNzAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGNjkKKzoxMDIxODAwMDAwRkY2OEZGRkZGRjAyRkYwMEZGMDBGRkZGRkYwMEZGRUYKKzoxMDIxOTAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGNDkKKzoxMDIxQTAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGNjBGRkZGRkYyMkZGQjcKKzoxMDIxQjAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGMjkKKzoxMDIxQzAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGMTkKKzoxMDIxRDAwMDQ2RkY5MEZGRkZGRjYyRkZGN0ZGNEZGRkZGRkZGNEZGOTcKKzoxMDIxRTAwMDQ2RkY5MEZGRkZGRjc0RkY4REZGODNGRkZGRkY3MEZGMkYKKzoxMDIxRjAwMDQ3RkY5MEZGRkZGRjAwRkYwMEZGNDhGRkZGRkYwNEZGQzYKKzoxMDIyMDAwMEEwRkYyM0ZGRkZGRjBGRkY0NkZGOTBGRkZGRkY2QUZGQzYKKzoxMDIyMTAwMDAwRkYwQ0ZGRkZGRjIwRkYwMEZGMEFGRkZGRkYxRkZGNzMKKzoxMDIyMjAwMDQ2RkY4OEZGRkZGRjAwRkYwMEZGMzhGRkZGRkYwOEZGQUEKKzoxMDIyMzAwMDAwRkY1MEZGRkZGRjAzRkYwMEZGMDBGRkZGRkYwMEZGNTUKKzoxMDIyNDAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGOTgKKzoxMDIyNTAwMDAwRkYwMEZGRkZGRjAwRkY0NkZGOTBGRkZGRkY2MEZGNTIKKzoxMDIyNjAwMEY3RkY0RkZGRkZGRkY0RkY0NkZGOTBGRkZGRkY3NEZGRjQKKzoxMDIyNzAwMDhERkY4M0ZGRkZGRjcwRkY0N0ZGOTBGRkZGRkYwMEZGMTEKKzoxMDIyODAwMDAwRkY0OEZGRkZGRjA0RkZBMEZGMjNGRkZGRkYwRkZGM0EKKzoxMDIyOTAwMDQ2RkY5MEZGRkZGRjZBRkYwMEZGMENGRkZGRkYyMEZGREMKKzoxMDIyQTAwMDAwRkYwQUZGRkZGRjFGRkY0NkZGODhGRkZGRkYwMEZGNDEKKzoxMDIyQjAwMDAwRkYzOEZGRkZGRjA4RkYwMEZGMzhGRkZGRkYwNEZGQUMKKzoxMDIyQzAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGMTgKKzoxMDIyRDAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGMDgKKzoxMDIyRTAwMDQ2RkY4MEZGRkZGRjEwRkYwMEZGNThGRkZGRkYwM0ZGQzcKKzoxMDIyRjAwMDAwRkY1MEZGRkZGRjIzRkYwMEZGMDBGRkZGRkYwMEZGNzUKKzoxMDIzMDAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGRDcKKzoxMDIzMTAwMDAwRkYwMEZGRkZGRjAwRkY0NkZGOTBGRkZGRkY2MkZGOEYKKzoxMDIzMjAwMEY3RkY0RkZGRkZGRkY0RkY0NkZGOTBGRkZGRkY3NEZGMzMKKzoxMDIzMzAwMDhERkY4M0ZGRkZGRjcwRkY0N0ZGOTBGRkZGRkYwMEZGNTAKKzoxMDIzNDAwMDAwRkY0OEZGRkZGRjA0RkZBMEZGMjNGRkZGRkYwRkZGNzkKKzoxMDIzNTAwMDQ2RkY5MEZGRkZGRjZBRkYwMEZGMENGRkZGRkYyMEZGMUIKKzoxMDIzNjAwMDAwRkYwQUZGRkZGRjFGRkY0NkZGODBGRkZGRkYwMEZGODgKKzoxMDIzNzAwMEZGRkY5M0ZGRkZGRkUwRkZGRkZGODNGRkZGRkZFMkZGOTEKKzoxMDIzODAwMDQ2RkY5MEZGRkZGRjYyRkZGN0ZGNEZGRkZGRkZGNEZGRTUKKzoxMDIzOTAwMDQ2RkY5MEZGRkZGRjc0RkY4REZGODNGRkZGRkY3MEZGN0QKKzoxMDIzQTAwMDQ3RkY5MEZGRkZGRjAwRkYwMEZGNDhGRkZGRkYwNEZGMTQKKzoxMDIzQjAwMEEwRkYyM0ZGRkZGRjBGRkY0NkZGOTBGRkZGRkY2QUZGMTUKKzoxMDIzQzAwMDAwRkYwQ0ZGRkZGRjIwRkYwMEZGMEFGRkZGRkYxRkZGQzIKKzoxMDIzRDAwMDAzRkYwREZGRkZGRjBGRkYwMEZGMDBGRkZGRkYwMEZGRTgKKzoxMDIzRTAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGRjcKKzoxMDIzRjAwMDAwRkYwMEZGRkZGRjAwRkY0NkZGOTBGRkZGRkY2MEZGQjEKKzoxMDI0MDAwMDBDRkYwREZGRkZGRkYwRkYwMEZGMDBGRkZGRkYwMEZGQ0QKKzoxMDI0MTAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGQzYKKzoxMDI0MjAwMDAwRkYwMEZGRkZGRjAwRkZGN0ZGNEZGRkZGRkZGNEZGN0MKKzoxMDI0MzAwMDQ2RkY5MEZGRkZGRjc0RkY4REZGODNGRkZGRkY3MEZGREMKKzoxMDI0NDAwMDQ3RkY5MEZGRkZGRjAwRkYwMEZGNDhGRkZGRkYwNEZGNzMKKzoxMDI0NTAwMEEwRkYyM0ZGRkZGRjBGRkY0NkZGOTBGRkZGRkY2QUZGNzQKKzoxMDI0NjAwMDAwRkYwQ0ZGRkZGRjIwRkYwMEZGMEFGRkZGRkYxRkZGMjEKKzoxMDI0NzAwMDQ2RkY4MEZGRkZGRjAyRkYwMEZGMDBGRkZGRkYwMEZGOUUKKzoxMDI0ODAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGNTYKKzoxMDI0OTAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGNDYKKzoxMDI0QTAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGMzYKKzoxMDI0QjAwMDAwRkYwMEZGRkZGRjAwRkY0NkZGODBGRkZGRkYxM0ZGNEQKKzoxMDI0QzAwMDAwRkY0MEZGRkZGRjAwRkYxMUZGOTBGRkZGRkY2MEZGRDUKKzoxMDI0RDAwMDhERkY5M0ZGRkZGRkQwRkYxMUZGOTBGRkZGRkZGMkZGODMKKzoxMDI0RTAwMDExRkY5MEZGRkZGRkUzRkZGN0ZGNEZGRkZGRkZGNEZGMzgKKzoxMDI0RjAwMDQ2RkY5MEZGRkZGRjc0RkY4REZGODNGRkZGRkY3MEZGMUMKKzoxMDI1MDAwMDQ3RkY5MEZGRkZGRjAwRkYwMEZGNDhGRkZGRkYwNEZGQjIKKzoxMDI1MTAwMEEwRkYyM0ZGRkZGRjBGRkY0NkZGOTBGRkZGRkY2QUZGQjMKKzoxMDI1MjAwMDAwRkYwQ0ZGRkZGRjIwRkYwMEZGMEFGRkZGRkYxRkZGNjAKKzoxMDI1MzAwMDQ2RkY4NEZGRkZGRjAwRkYwMEZGMzRGRkZGRkYwOEZGOUYKKzoxMDI1NDAwMDAwRkYzNEZGRkZGRjA2RkYwMEZGMDBGRkZGRkYwMEZGNUIKKzoxMDI1NTAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGODUKKzoxMDI1NjAwMDAwRkYwMEZGRkZGRjAwRkY0NkZGODBGRkZGRkYxMEZGOUYKKzoxMDI1NzAwMEZGRkY5M0ZGRkZGRkUwRkYwMEZGNjBGRkZGRkYyMkZGNzEKKzoxMDI1ODAwMDY3RkY0MEZGRkZGRjQwRkZGRkZGOTNGRkZGRkZFMEZGRkMKKzoxMDI1OTAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGNDUKKzoxMDI1QTAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGMzUKKzoxMDI1QjAwMDQ2RkY5MEZGRkZGRjYyRkZGN0ZGNEZGRkZGRkZGNEZGQjMKKzoxMDI1QzAwMDQ2RkY5MEZGRkZGRjc0RkY4REZGODNGRkZGRkY3MEZGNEIKKzoxMDI1RDAwMDQ3RkY5MEZGRkZGRjAwRkYwMEZGNDhGRkZGRkYwNEZGRTIKKzoxMDI1RTAwMEEwRkYyM0ZGRkZGRjBGRkY0NkZGOTBGRkZGRkY2QUZGRTMKKzoxMDI1RjAwMDAwRkYwQ0ZGRkZGRjIwRkYwMEZGMEFGRkZGRkYxRkZGOTAKKzoxMDI2MDAwMDQ2RkY4NEZGRkZGRjAwRkYwMEZGMzRGRkZGRkYwOEZGQ0UKKzoxMDI2MTAwMDAwRkYzNEZGRkZGRjA2RkYwMEZGMDBGRkZGRkYwMEZGOEEKKzoxMDI2MjAwMDAwRkYwMEZGRkZGRjAwRkY0NkZGODBGRkZGRkYxMEZGREUKKzoxMDI2MzAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGQTQKKzoxMDI2NDAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGOTQKKzoxMDI2NTAwMDQ2RkY4MEZGRkZGRjIzRkZGRkZGOTNGRkZGRkZFMEZGMjkKKzoxMDI2NjAwMDAwRkY2OEZGRkZGRjMyRkYwMEZGNjBGRkZGRkY3MkZGMDgKKzoxMDI2NzAwMDY3RkY0MEZGRkZGRjQwRkZGRkZGOTNGRkZGRkZFMEZGMEIKKzoxMDI2ODAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGNTQKKzoxMDI2OTAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGNDQKKzoxMDI2QTAwMDQ2RkY5MEZGRkZGRjY3RkZGN0ZGNEZGRkZGRkZGNEZGQkQKKzoxMDI2QjAwMDQ2RkY5MEZGRkZGRjc0RkY4REZGODNGRkZGRkY3MEZGNUEKKzoxMDI2QzAwMDQ3RkY5MEZGRkZGRjAwRkYwMEZGNDhGRkZGRkYwNEZGRjEKKzoxMDI2RDAwMEEwRkYyM0ZGRkZGRjBGRkY0NkZGOTBGRkZGRkY2QUZGRjIKKzoxMDI2RTAwMDAwRkYwQ0ZGRkZGRjIwRkYwMEZGMEFGRkZGRkYxRkZGOUYKKzoxMDI2RjAwMDQ2RkY4MEZGRkZGRjA1RkYwM0ZGMERGRkZGRkYwRkZGRkEKKzoxMDI3MDAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGRDMKKzoxMDI3MTAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGQzMKKzoxMDI3MjAwMDBDRkYwREZGRkZGRkY1RkYwMEZGMDBGRkZGRkYwMEZGQTUKKzoxMDI3MzAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGQTMKKzoxMDI3NDAwMDAwRkYwMEZGRkZGRjAwRkZGN0ZGNEZGRkZGRkZGNEZGNTkKKzoxMDI3NTAwMDQ2RkY5MEZGRkZGRjc0RkY4REZGODNGRkZGRkY3MEZGQjkKKzoxMDI3NjAwMDQ3RkY5MEZGRkZGRjAwRkYwMEZGNDhGRkZGRkYwNEZGNTAKKzoxMDI3NzAwMEEwRkYyM0ZGRkZGRjBGRkY0NkZGOTBGRkZGRkY2QUZGNTEKKzoxMDI3ODAwMDAwRkYwQ0ZGRkZGRjIwRkYwMEZGMEFGRkZGRkYxRkZGRkUKKzoxMDI3OTAwMDQ2RkY4MEZGRkZGRjAwRkY4REZGOTNGRkZGRkZDMEZGOUQKKzoxMDI3QTAwMDhERkY4M0ZGRkZGRkM3RkY0NkZGOTBGRkZGRkY2N0ZGMUYKKzoxMDI3QjAwMEY3RkY0RkZGRkZGRkY0RkY0NkZGOTBGRkZGRkY3NEZGOUYKKzoxMDI3QzAwMDhERkY4M0ZGRkZGRjcwRkY0N0ZGOTBGRkZGRkYwMEZGQkMKKzoxMDI3RDAwMDAwRkY0OEZGRkZGRjA0RkZBMEZGMjNGRkZGRkYwRkZGRTUKKzoxMDI3RTAwMDQ2RkY5MEZGRkZGRjZBRkYwMEZGMENGRkZGRkYyMEZGODcKKzoxMDI3RjAwMDAwRkYwQUZGRkZGRjFGRkY0NkZGODBGRkZGRkYwMEZGRjQKKzoxMDI4MDAwMDhERkY5M0ZGRkZGRkUwRkY4REZGODNGRkZGRkZFN0ZGREIKKzoxMDI4MTAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGQzIKKzoxMDI4MjAwMDAwRkYwMEZGRkZGRjAwRkYwMEZGMDBGRkZGRkYwMEZGQjIKKzoxMDI4MzAwMDQ2RkY5MEZGRkZGRjY3RkZGN0ZGNEZGRkZGRkZGNEZGMkIKKzoxMDI4NDAwMDQ2RkY5MEZGRkZGRjc0RkY4REZGODNGRkZGRkY3MEZGQzgKKzoxMDI4NTAwMDQ3RkY5MEZGRkZGRjAwRkYwMEZGNDhGRkZGRkYwNEZGNUYKKzoxMDI4NjAwMEEwRkYyM0ZGRkZGRjBGRkY0NkZGOTBGRkZGRkY2QUZGNjAKKzoxMDI4NzAwMDAwRkYwQ0ZGRkZGRjIwRkYwMEZGMEFGRkZGRkYxRkZGMEQKKzoxMDI4ODAwMDhERkY4M0ZGRkZGRkQwRkYwMEZGNDBGRkZGRkYyNEZGMEUKKzoxMDI4OTAwMEEwRkYyM0ZGRkZGRjBGRkYxMUZGOTBGRkZGRkY2QUZGNjUKKzoxMDI4QTAwMDAwRkY0MEZGRkZGRjE0RkYxOEZGMjNGRkZGRkYwRkZGOTQKKzoxMDI4QjAwMDUxRkYxNEZGRkZGRjgxRkY5MEZGODBGRkZGRkY2MEZGQ0MKKzoxMDI4QzAwMDgwRkYyM0ZGRkZGRjBGRkY4REZGODNGRkZGRkZEMEZGODAKKzoxMDI4RDAwMDAwRkY0MEZGRkZGRjE0RkZBMEZGMjNGRkZGRkYwRkZGREMKKzoxMDI4RTAwMDExRkY5MEZGRkZGRjZBRkYzMEZGMENGRkZGRkYwMEZGQUIKKzoxMDI4RjAwMDAwRkY0MEZGRkZGRjE2RkYxMEZGNDBGRkZGRkYwN0ZGMzUKKzoxMDI5MDAwMDkwRkYzNEZGRkZGRjcxRkYwMEZGMzRGRkZGRkYwOUZGNUYKKzoxMDI5MTAwMDBGRkY0MEZGRkZGRkY1RkYwMEZGNjBGRkZGRkYwN0ZGMTYKKzoxMDI5MjAwMDg4RkY2M0ZGRkZGRjI3RkZFOEZGNjBGRkZGRkYwN0ZGNTAKKzoxMDI5MzAwMDYyRkY2MUZGRkZGRjI3RkY4OEZGMkJGRkZGRkY4QkZGNzkKKzoxMDI5NDAwMEU4RkY2MEZGRkZGRjA3RkY2MkZGNjFGRkZGRkYxN0ZGNjgKKzoxMDI5NTAwMDg4RkYyRkZGRkZGRkZCRkY4OUZGMjNGRkZGRkYwRkZGMTQKKzoxMDI5NjAwMDk4RkYyMEZGRkZGRjBGRkZFQUZGMjBGRkZGRkYwRkZGOTEKKzoxMDI5NzAwMDAwRkYwREZGRkZGRkFCRkYwMEZGMERGRkZGRkZCOEZGRTQKKzoxMDI5ODAwMDAwRkYwREZGRkZGRkNGRkY2MkZGMjFGRkZGRkYwRkZGRTMKKzoxMDI5OTAwMDEwRkYyMkZGRkZGRjBGRkY2MkZGMjFGRkZGRkYwRkZGNkUKKzoxMDI5QTAwMDAwRkY0MEZGRkZGRjI0RkY5MEZGODBGRkZGRkY2MEZGNUQKKzoxMDI5QjAwMDgwRkYyM0ZGRkZGRjBGRkY1MUZGMThGRkZGRkYwMEZGMDYKKzoxMDI5QzAwMDhCRkY5M0ZGRkZGRkVCRkY4QkZGOTNGRkZGRkZGQ0ZGRUUKKzoxMDI5RDAwMDAwRkYwQUZGRkZGRjBGRkY1MUZGMUNGRkZGRkYwRkZGNkMKKzoxMDI5RTAwMDhERkY5M0ZGRkZGRkFDRkY4MkZGM0NGRkZGRkY0NUZGMjIKKzoxMDI5RjAwMDU0RkYxNEZGRkZGRjJFRkZGRkZGM0ZGRkZGRkZGNUZGMTgKKzoxMDJBMDAwMDU0RkYxNEZGRkZGRjFFRkYwMEZGMDBGRkZGRkYwMEZGNEEKKzoxMDJBMTAwMDAwRkYwMEZGRkZGRjAwRkY1MUZGMUNGRkZGRkYwRkZGNDQKKzoxMDJBMjAwMDAwRkYwREZGRkZGRjBDRkY4REZGODNGRkZGRkZBNEZGRTMKKzoxMDJBMzAwMEUwRkYyMkZGRkZGRjBGRkY1M0ZGMThGRkZGRkZCM0ZGNzEKKzoxMDJBNDAwMDhERkY4M0ZGRkZGRkQwRkYwMEZGNDBGRkZGRkYyNEZGNEMKKzoxMDJBNTAwMEEwRkYyM0ZGRkZGRjBGRkYwMEZGMERGRkZGRkZCQUZGRTcKKzoxMDJBNjAwMDhCRkY4M0ZGRkZGRkY1RkYxMUZGOTBGRkZGRkY2QkZGNjEKKzoxMDJBNzAwMDAwRkY0MEZGRkZGRjE0RkYxOEZGMjNGRkZGRkYwRkZGQzIKKzoxMDJBODAwMDU1RkYxNEZGRkZGRjIxRkY5MEZGODBGRkZGRkY2MEZGNTYKKzoxMDJBOTAwMDgwRkYyM0ZGRkZGRjBGRkYwMEZGNDBGRkZGRkYyMEZGMkUKKzoxMDJBQTAwMDAwRkY0MEZGRkZGRjAxRkY4QkZGODNGRkZGRkZFNEZGRkQKKzoxMDJBQjAwMDhCRkY4M0ZGRkZGRkY1RkYwOEZGMENGRkZGRkYwMEZGMDkKKzoxMDJBQzAwMDYwRkYyMkZGRkZGRjBGRkY0OUZGMkFGRkZGRkZFQUZGMjIKKzoxMDJBRDAwMDAwRkYwREZGRkZGRjRFRkY4QkZGOTNGRkZGRkZFRUZGOTkKKzoxMDJBRTAwMDAwRkYwREZGRkZGRjVBRkY4QkZGOTNGRkZGRkZGQUZGNzEKKzoxMDJBRjAwMDhERkY4M0ZGRkZGRjIwRkY4REZGODNGRkZGRkYzMUZGNkYKKzoxMDJCMDAwMEUwRkYyMkZGRkZGRjBGRkZDOUZGMkFGRkZGRkZFQUZGRTEKKzoxMDJCMTAwMDU0RkYxOEZGRkZGRkQ1RkYwMEZGMERGRkZGRkY0RUZGMjMKKzoxMDJCMjAwMDAwRkYwREZGRkZGRjVBRkY4MkZGNEZGRkZGRkZGMEZGODcKKzoxMDJCMzAwMEZGRkY0RkZGRkZGRkYxRkZFMEZGMjJGRkZGRkYwRkZGNEYKKzoxMDJCNDAwMEM5RkYyQUZGRkZGRkVBRkY1NkZGMThGRkZGRkZCNEZGOTAKKzoxMDJCNTAwMDU0RkYxOEZGRkZGRkRGRkYwMEZGNDBGRkZGRkYyMEZGRDQKKzoxMDJCNjAwMDQ3RkY5MEZGRkZGRjIwRkYwQ0ZGMENGRkZGRkYwMEZGNjAKKzoxMDJCNzAwMDAyRkY0MEZGRkZGRjYwRkYxMUZGOTBGRkZGRkYyMEZGRkMKKzoxMDJCODAwMDE2RkYxOEZGRkZGRjRGRkY4REZGODNGRkZGRkZEMEZGRjIKKzoxMDJCOTAwMDAwRkY0MEZGRkZGRjI0RkZBMEZGMjNGRkZGRkYwRkZGMDkKKzoxMDJCQTAwMDExRkY5MEZGRkZGRjZBRkYwMEZGNDBGRkZGRkYxNEZGRDAKKzoxMDJCQjAwMDE4RkYyM0ZGRkZGRjBGRkY1N0ZGMTRGRkZGRkY5MUZGRDkKKzoxMDJCQzAwMDkwRkY4MEZGRkZGRjYwRkY4MEZGMjNGRkZGRkYwRkZGRUQKKzoxMDJCRDAwMDhERkY4M0ZGRkZGRkQwRkYwMEZGNDBGRkZGRkYxNEZGQ0IKKzoxMDJCRTAwMEEwRkYyM0ZGRkZGRjBGRkYxMUZGOTBGRkZGRkY2QUZGMTIKKzoxMDJCRjAwMDMwRkYwQ0ZGRkZGRjAwRkYwMEZGNDBGRkZGRkYxNkZGNEQKKzoxMDJDMDAwMDEwRkY0MEZGRkZGRjA3RkY5MEZGMzRGRkZGRkY3MUZGNDIKKzoxMDJDMTAwMDAwRkYzNEZGRkZGRjA5RkYwRkZGNDBGRkZGRkZGNUZGM0QKKzoxMDJDMjAwMDAwRkY2MEZGRkZGRjA3RkY4OEZGNjNGRkZGRkYyN0ZGMzUKKzoxMDJDMzAwMEU4RkY2MEZGRkZGRjA3RkY2MkZGNjFGRkZGRkYyN0ZGNjUKKzoxMDJDNDAwMDg4RkYyQkZGRkZGRjhCRkZFOEZGNjBGRkZGRkYwN0ZGMDEKKzoxMDJDNTAwMDYyRkY2MUZGRkZGRjE3RkY4OEZGMkZGRkZGRkZGQkZGRjIKKzoxMDJDNjAwMDg5RkYyM0ZGRkZGRjBGRkY5OEZGMjBGRkZGRkYwRkZGRUMKKzoxMDJDNzAwMEVBRkYyMEZGRkZGRjBGRkYwMEZGMERGRkZGRkZBQkZGOEQKKzoxMDJDODAwMDAwRkYwREZGRkZGRkI4RkYwMEZGMERGRkZGRkZDRkZGQUQKKzoxMDJDOTAwMDYyRkYyMUZGRkZGRjBGRkYxMEZGMjJGRkZGRkYwRkZGNkIKKzoxMDJDQTAwMDYyRkYyMUZGRkZGRjBGRkYwMEZGNDBGRkZGRkYyNEZGMzgKKzoxMDJDQjAwMDkwRkY4MEZGRkZGRjYwRkY4MEZGMjNGRkZGRkYwRkZGRkMKKzoxMDJDQzAwMDU3RkYxOEZGRkZGRjEwRkY4QkZGOTNGRkZGRkZFQkZGODYKKzoxMDJDRDAwMDhCRkY5M0ZGRkZGRkZDRkY1Q0ZGMUNGRkZGRkYzRkZGMkQKKzoxMDJDRTAwMDAwRkYwQUZGRkZGRjBGRkY1N0ZGMUNGRkZGRkYxRkZGNDMKKzoxMDJDRjAwMDhERkY5M0ZGRkZGRkFDRkY4MkZGM0NGRkZGRkY0NUZGMEYKKzoxMDJEMDAwMDVBRkYxNEZGRkZGRjRFRkZGRkZGM0ZGRkZGRkZGNUZGREUKKzoxMDJEMTAwMDVBRkYxNEZGRkZGRjNFRkYwMEZGMDBGRkZGRkYwMEZGMTEKKzoxMDJEMjAwMDAwRkYwMEZGRkZGRjAwRkY1N0ZGMUNGRkZGRkYxRkZGMUIKKzoxMDJEMzAwMDAwRkYwREZGRkZGRjBDRkY4REZGODNGRkZGRkZBNEZGRDAKKzoxMDJENDAwMEUwRkYyMkZGRkZGRjBGRkY1OUZGMThGRkZGRkZEM0ZGMzgKKzoxMDJENTAwMDVDRkYxQ0ZGRkZGRjNGRkY4REZGODNGRkZGRkZEMEZGRTYKKzoxMDJENjAwMDAwRkY0MEZGRkZGRjI0RkZBMEZGMjNGRkZGRkYwRkZGMzcKKzoxMDJENzAwMDAwRkYwREZGRkZGRkJBRkY4QkZGODNGRkZGRkZGNUZGOTMKKzoxMDJEODAwMDVDRkYxQ0ZGRkZGRjNGRkYxMUZGOTBGRkZGRkY2QkZGOEEKKzoxMDJEOTAwMDAwRkY0MEZGRkZGRjE0RkYxOEZGMjNGRkZGRkYwRkZGOUYKKzoxMDJEQTAwMDVCRkYxNEZGRkZGRjYxRkY5MEZGODBGRkZGRkY2MEZGRUQKKzoxMDJEQjAwMDgwRkYyM0ZGRkZGRjBGRkYwMEZGNDBGRkZGRkYyMEZGMEIKKzoxMDJEQzAwMDAwRkY0MEZGRkZGRjAxRkY4QkZGODNGRkZGRkZFNEZGREEKKzoxMDJERDAwMDhCRkY4M0ZGRkZGRkY1RkYwOEZGMENGRkZGRkYwMEZGRTYKKzoxMDJERTAwMDYwRkYyMkZGRkZGRjBGRkY0OUZGMkFGRkZGRkZFQUZGRkYKKzoxMDJERjAwMDAwRkYwREZGRkZGRjRFRkY4QkZGOTNGRkZGRkZFRUZGNzYKKzoxMDJFMDAwMDhCRkY5M0ZGRkZGRkZBRkY1RUZGMUNGRkZGRkYwRkZGMkIKKzoxMDJFMTAwMDVCRkYxOEZGRkZGRjBGRkY4QkZGODNGRkZGRkYyMEZGMEMKKzoxMDJFMjAwMDc4RkYyMkZGRkZGRjBGRkYwREZGMThGRkZGRkYwNUZGRDkKKzoxMDJFMzAwMDAwRkYwQUZGRkZGRjBGRkYwOEZGMENGRkZGRkYwMEZGNkYKKzoxMDJFNDAwMDAwRkY0MEZGRkZGRjE0RkYwMEZGNDBGRkZGRkYwNUZGRjMKKzoxMDJFNTAwMDhCRkY4M0ZGRkZGRkUwRkY4QkZGODNGRkZGRkZGMUZGOEYKKzoxMDJFNjAwMDYwRkYyMkZGRkZGRjBGRkY0OUZGMkFGRkZGRkZFQUZGN0UKKzoxMDJFNzAwMDhCRkY5M0ZGRkZGRkZBRkY4QkZGOTNGRkZGRkZFRUZGMzgKKzoxMDJFODAwMDBDRkYwQ0ZGRkZGRjAwRkYwMEZGMEFGRkZGRkYwRkZGMUIKKzoxMDJFOTAwMDA4RkYwQ0ZGRkZGRjAwRkYwMEZGNDBGRkZGRkYxNEZGRDQKKzoxMDJFQTAwMDAwRkY0MEZGRkZGRjA1RkY4QkZGODNGRkZGRkZFMEZGRjkKKzoxMDJFQjAwMDhCRkY4M0ZGRkZGRkYxRkY2MEZGMjJGRkZGRkYwRkZGOEMKKzoxMDJFQzAwMDQ5RkYyQUZGRkZGRkVBRkY4QkZGOTNGRkZGRkZGQUZGOTcKKzoxMDJFRDAwMDhCRkY5M0ZGRkZGRkVFRkYwQ0ZGMENGRkZGRkYwMEZGRDgKKzoxMDJFRTAwMDhERkY4M0ZGRkZGRjQwRkY3OEZGMjJGRkZGRkYwRkZGRjMKKzoxMDJFRjAwMDVFRkYxQ0ZGRkZGRjA0RkYwMEZGMEFGRkZGRkYwRkZGNDUKKzoxMDJGMDAwMDA4RkYwQ0ZGRkZGRjAwRkY4REZGODNGRkZGRkY1MEZGNTcKKzoxMDJGMTAwMDc4RkYyMkZGRkZGRjBGRkY1RkZGMUNGRkZGRkY1NEZGNDMKKzoxMDJGMjAwMDBGRkY0MEZGRkZGRkY1RkY5MEZGODBGRkZGRkZBOEZGQUYKKzoxMDJGMzAwMDEwRkYwRkZGRkZGRjA4RkY5MEZGODBGRkZGRkY5MEZGRDQKKzoxMDJGNDAwMDg4RkYyN0ZGRkZGRjBGRkZCNkZGMjdGRkZGRkYwRkZGRTEKKzoxMDJGNTAwMDhCRkY4M0ZGRkZGRkZBRkZGMkZGMjJGRkZGRkYwRkZGNTAKKzoxMDJGNjAwMDAwRkYwREZGRkZGRjBBRkYwMEZGNDBGRkZGRkYxNEZGMDAKKzoxMDJGNzAwMEUyRkYyMkZGRkZGRjBGRkY3NEZGMThGRkZGRkZFMkZGREEKKzoxMDJGODAwMDM4RkYyM0ZGRkZGRjBGRkYwMEZGNDBGRkZGRkYyNEZGN0QKKzoxMDJGOTAwMEUyRkYyMkZGRkZGRjBGRkY3NEZGMThGRkZGRkZFMkZGQkEKKzoxMDJGQTAwMDAwRkYwQUZGRkZGRjBGRkYwRkZGNDBGRkZGRkZGNUZGQ0UKKzoxMDJGQjAwMDkwRkY4MEZGRkZGRjgwRkY4QkZGODNGRkZGRkZFMkZGOUIKKzoxMDJGQzAwMDg4RkYyN0ZGRkZGRjBGRkY5OEZGMjBGRkZGRkYwRkZGODYKKzoxMDJGRDAwMDEwRkY0MEZGRkZGRjA3RkZFOEZGMjBGRkZGRkYwRkZGOEQKKzoxMDJGRTAwMDAwRkYwREZGRkZGRkFDRkZGMkZGMjJGRkZGRkYwRkZGMEYKKzoxMDJGRjAwMDAwRkYwREZGRkZGRjBBRkYwMUZGNDBGRkZGRkYwNEZGN0YKKzoxMDMwMDAwMEUyRkYyMkZGRkZGRjBGRkY3NEZGMThGRkZGRkZFMkZGNDkKKzoxMDMwMTAwMDM4RkYyM0ZGRkZGRjBGRkYwMkZGNDBGRkZGRkYwNEZGMEEKKzoxMDMwMjAwMEUyRkYyMkZGRkZGRjBGRkY3NEZGMThGRkZGRkZFMkZGMjkKKzoxMDMwMzAwMDAwRkYwQUZGRkZGRjBGRkYwMEZGMzRGRkZGRkYwOEZGNDUKKzoxMDMwNDAwMDAwRkYzNEZGRkZGRkQ0RkYwMEZGMzRGRkZGRkY4NUZGQzkKKzoxMDMwNTAwMEZGRkY0RkZGRkZGRjg5RkYwMEZGMDlGRkZGRkYwMUZGOTkKKzoxMDMwNjAwMDg5RkY4M0ZGRkZGRkI4RkYwMEZGMEVGRkZGRkYwRkZGODkKKzoxMDMwNzAwMDAwRkYwREZGRkZGRjRFRkZBN0ZGMjNGRkZGRkYwRkZGMjYKKzoxMDMwODAwMDAwRkY2OEZGRkZGRkEzRkY4OUZGODNGRkZGRkZBOEZGOEIKKzoxMDMwOTAwMDAwRkYwRUZGRkZGRjBGRkYwMEZGMERGRkZGRkY0RUZGQzIKKzoxMDMwQTAwMEE3RkYyM0ZGRkZGRjBGRkYwMEZGNjhGRkZGRkZBM0ZGNDYKKzoxMDMwQjAwMDAwRkYwOUZGRkZGRjAzRkY4QkZGODNGRkZGRkZCMEZGNTAKKzoxMDMwQzAwMDAwRkY2OEZGRkZGRjAwRkYwMEZGMEFGRkZGRkYwRkZGODkKKzoxMDMwRDAwMDAyRkYzNUZGRkZGRjAwRkYwMEZGMzRGRkZGRkYwOEZGODcKKzoxMDMwRTAwMDAwRkYzNEZGRkZGRjI2RkY4OUZGODNGRkZGRkZEOEZGQUMKKzoxMDMwRjAwMDAwRkYwRUZGRkZGRjBGRkYwMEZGMERGRkZGRkY0RUZGNjIKKzoxMDMxMDAwMEE3RkYyM0ZGRkZGRjBGRkYwMEZGNjhGRkZGRkZBM0ZGRTUKKzoxMDMxMTAwMDg5RkY4M0ZGRkZGRkM4RkYwMEZGMEVGRkZGRkYwRkZGQzgKKzoxMDMxMjAwMDAwRkYwREZGRkZGRjRFRkZBN0ZGMjNGRkZGRkYwRkZGNzUKKzoxMDMxMzAwMDAwRkY2OEZGRkZGRkEzRkYwMEZGMDlGRkZGRkYwM0ZGODIKKzoxMDMxNDAwMDhCRkY4M0ZGRkZGRkQwRkYwMEZGNjhGRkZGRkYwMkZGNDEKKzoxMDMxNTAwMDAxRkY0MEZGRkZGRjgwRkYwMEZGNjhGRkZGRkYwMkZGNEUKKzoxMDMxNjAwMDAwRkY0MEZGRkZGRjIwRkYwMEZGNjhGRkZGRkYwM0ZGOUUKKzoxMDMxNzAwMDAwRkYwQUZGRkZGRjBGRkYwMEZGNDBGRkZGRkYxMEZGRjAKKzoxMDMxODAwMDhCRkY5M0ZGRkZGRjQwRkYzMEZGNDBGRkZGRkYwMEZGN0IKKzoxMDMxOTAwMDQ5RkY5MEZGRkZGRjQwRkYwMEZGMEFGRkZGRkYwRkZGMDcKKzoxMDMxQTAwMDAwRkY0MEZGRkZGRjYwRkYwMEZGOTFGRkZGRkZGMEZGMDgKKzoxMDMxQjAwMDAwRkYwQUZGRkZGRjBGRkYwMUZGNDJGRkZGRkY4MEZGM0QKKzoxMDMxQzAwMDAwRkY5MUZGRkZGRjcwRkYwN0ZGNDJGRkZGRkY4MEZGM0YKKzoxMDMxRDAwMDAzRkY5MUZGRkZGRjcwRkYwMkZGNDJGRkZGRkYwMEZGQjEKKzoxMDMxRTAwMDAwRkY5MUZGRkZGRkYwRkYwOEZGNDJGRkZGRkYwMEZGMUUKKzoxMDMxRjAwMDAzRkY5MUZGRkZGRkYwRkYwMEZGNDBGRkZGRkYyMEZGRjUKKzoxMDMyMDAwMDAxRkY5MUZGRkZGRjcwRkYwMEZGNDBGRkZGRkYyMEZGNjYKKzoxMDMyMTAwMDA0RkY5MUZGRkZGRjcwRkYwMEZGMEFGRkZGRkYwRkZGOUEKKzoxMDMyMjAwMDA0RkY0MkZGRkZGRjAwRkY0OUZGOTBGRkZGRkYyMEZGNjkKKzoxMDMyMzAwMDYyRkYxQ0ZGRkZGRkZGRkYwMEZGMEFGRkZGRkYwRkZGMDIKKzoxMDMyNDAwMDAwRkY0MEZGRkZGRjIwRkYwMEZGOTFGRkZGRkZGMEZGQTcKKzoxMDMyNTAwMDAxRkY0MkZGRkZGRjAwRkY0OUZGOTBGRkZGRkYyMEZGM0MKKzoxMDMyNjAwMDYyRkYxQ0ZGRkZGRkZGRkYwMEZGMEFGRkZGRkYwRkZGRDIKKzoxMDMyNzAwMDAwRkY0MEZGRkZGRjQwRkY4QkZGOTNGRkZGRkY4MEZGM0EKKzoxMDMyODAwMDA1RkYzNUZGRkZGRjAwRkY5MkZGM0JGRkZGRkYwMEZGNDEKKzoxMDMyOTAwMDAwRkYzNEZGRkZGRjA4RkYwMEZGMzhGRkZGRkYwOEZGQkMKKzoxMDMyQTAwMDAwRkYzQ0ZGRkZGRjY1RkY2NUZGMTRGRkZGRkY5RUZGNzAKKzoxMDMyQjAwMDAwRkY2MEZGRkZGRjAzRkYwMEZGNjBGRkZGRkYxM0ZGNDIKKzoxMDMyQzAwMDAwRkY3OEZGRkZGRjEzRkYwMEZGNzhGRkZGRkYwM0ZGMDIKKzoxMDMyRDAwMDAxRkY0MkZGRkZGRjAwRkY0OUZGOTBGRkZGRkYyMEZGQkMKKzoxMDMyRTAwMDYyRkYxQ0ZGRkZGRkZGRkYwNUZGODFGRkZGRkZDMEZGMjUKKzoxMDMyRjAwMDc4RkYyMkZGRkZGRjBGRkYyMUZGMThGRkZGRkY3MUZGODUKKzoxMDMzMDAwMDAwRkYwQUZGRkZGRjBGRkY0OUZGODBGRkZGRkY0OEZGOUQKKzoxMDMzMTAwMDEwRkYwRkZGRkZGRjAzRkY2NkZGMjNGRkZGRkYwRkZGRkQKKzoxMDMzMjAwMDc0RkYxOEZGRkZGRjU0RkY4NkZGODNGRkZGRkZDMEZGRkUKKzoxMDMzMzAwMDQ5RkY5MEZGRkZGRjIwRkY2MkZGMUNGRkZGRkZGRkZGMjEKKzoxMDMzNDAwMDg2RkY4M0ZGRkZGRjgwRkYwMUZGNDBGRkZGRkYwNEZGQjkKKzoxMDMzNTAwMEUwRkYyMkZGRkZGRjBGRkY4NkZGOTNGRkZGRkY4QUZGQzMKKzoxMDMzNjAwMDY3RkYxQ0ZGRkZGRjAwRkY4NkZGODdGRkZGRkZEMEZGMDcKKzoxMDMzNzAwMDc1RkYxQ0ZGRkZGRjFGRkYwMEZGMEFGRkZGRkYwRkZGOEUKKzoxMDMzODAwMDAwRkY0OEZGRkZGRjAwRkY4MkZGOTNGRkZGRkY0MEZGQUEKKzoxMDMzOTAwMDAwRkYwQUZGRkZGRjBGRkYwOEZGMENGRkZGRkYwMEZGMEEKKzoxMDMzQTAwMDg2RkY4QkZGRkZGRkIwRkYwMEZGMzhGRkZGRkYwOEZGMjYKKzoxMDMzQjAwMDAwRkYzOEZGRkZGRkY0RkZGRkZGNEZGRkZGRkY4OUZGMTQKKzoxMDMzQzAwMDhERkY4M0ZGRkZGRjYwRkY4OUZGODNGRkZGRkY0NEZGNDcKKzoxMDMzRDAwMDAwRkY0MEZGRkZGRjAxRkY4OUZGODNGRkZGRkY1NUZGNTUKKzoxMDMzRTAwMDYwRkYyNkZGRkZGRjBGRkY0OUZGMjJGRkZGRkYwRkZGRDgKKzoxMDMzRjAwMDAwRkY3OEZGRkZGRkEzRkYxMEZGMjJGRkZGRkYwRkZGN0IKKzoxMDM0MDAwMDAwRkY3OEZGRkZGRkEwRkY4REZGODNGRkZGRkY2MEZGM0UKKzoxMDM0MTAwMDg5RkY4M0ZGRkZGRjI0RkYwMEZGNDBGRkZGRkYwMUZGNDUKKzoxMDM0MjAwMDg5RkY4M0ZGRkZGRjM1RkY2MEZGMjZGRkZGRkYwRkZGRDAKKzoxMDM0MzAwMDQ5RkYyMkZGRkZGRjBGRkYwMEZGNzhGRkZGRkZBM0ZGMDEKKzoxMDM0NDAwMDEwRkYyMkZGRkZGRjBGRkYwMEZGNzhGRkZGRkZBM0ZGMkEKKzoxMDM0NTAwMDhERkY4M0ZGRkZGRjYwRkYyMEZGNDBGRkZGRkYwNEZGQTIKKzoxMDM0NjAwMDYwRkYyMkZGRkZGRjBGRkY4REZGOTNGRkZGRkY2QUZGNEIKKzoxMDM0NzAwMDBDRkYwQ0ZGRkZGRjAwRkYwMEZGMEFGRkZGRkYwRkZGMjUKKzoxMDM0ODAwMDA4RkYwQ0ZGRkZGRjAwRkY4NkZGODdGRkZGRkZCMEZGNzUKKzoxMDM0OTAwMDAwRkYzNEZGRkZGRjA4RkYwMUZGMzRGRkZGRkYwNEZGQzEKKzoxMDM0QTAwMDAwRkYzNEZGRkZGRjM1RkZGRkZGNEZGRkZGRkY4OUZGRTYKKzoxMDM0QjAwMDAwRkYwOUZGRkZGRjAxRkY4N0ZGOEJGRkZGRkZFMEZGMUEKKzoxMDM0QzAwMDAwRkYzOEZGRkZGRjg4RkYwMEZGNzBGRkZGRkYwM0ZGRDMKKzoxMDM0RDAwMDAwRkY2OEZGRkZGRjAwRkYwMEZGNzBGRkZGRkYwM0ZGMUIKKzoxMDM0RTAwMDAwRkY2OEZGRkZGRjAzRkY4N0ZGOUJGRkZGRkZFMEZGNzkKKzoxMDM0RjAwMDBDRkYwQ0ZGRkZGRjAwRkYwMEZGMEFGRkZGRkYwRkZGQTUKKzoxMDM1MDAwMDAxRkYzQ0ZGRkZGRjA1RkY2QUZGMTRGRkZGRkY5RUZGNjcKKzoxMDM1MTAwMDY3RkYxQ0ZGRkZGRjNGRkY2OUZGMUNGRkZGRkYwRkZGNUYKKzoxMDM1MjAwMDY2RkYxQ0ZGRkZGRjFGRkYzOEZGMjJGRkZGRkYwRkZGOUIKKzoxMDM1MzAwMDZBRkYxNEZGRkZGRjg1RkY4QkZGODNGRkZGRkY0MEZGNDQKKzoxMDM1NDAwMDc4RkYyMkZGRkZGRjBGRkYwMEZGMDBGRkZGRkYwMEZGREMKKzoxMDM1NTAwMDAwRkYwQUZGRkZGRjBGRkY4MkZGODNGRkZGRkY0MEZGMTcKKzoxMDM1NjAwMDc4RkYyMkZGRkZGRjBGRkY2QUZGMUNGRkZGRkZGNEZGNDIKKzoxMDM1NzAwMDAwRkYwQUZGRkZGRjBGRkYwMEZGNDBGRkZGRkYxMEZGRUMKKzoxMDM1ODAwMDQ3RkY5MEZGRkZGRjIwRkY4N0ZGODNGRkZGRkZGMEZGNTQKKzoxMDM1OTAwMDg2RkY5M0ZGRkZGRjgwRkYwMEZGNDBGRkZGRkYwMEZGNUMKKzoxMDM1QTAwMDhERkY5M0ZGRkZGRjYwRkY4MkZGOTNGRkZGRkY0MEZGNTAKKzoxMDM1QjAwMDg2RkY4N0ZGRkZGRjkwRkYwMkZGMzRGRkZGRkYwOEZGM0EKKzoxMDM1QzAwMDAwRkY2MEZGRkZGRjAzRkY4OUZGOTNGRkZGRkYyMEZGNjYKKzoxMDM1RDAwMDAwRkY2MEZGRkZGRjAzRkY4OUZGOTNGRkZGRkYzMEZGNDYKKzoxMDM1RTAwMDAwRkY2MEZGRkZGRjAzRkY4OUZGOTNGRkZGRkY0MEZGMjYKKzoxMDM1RjAwMDAwRkY2MEZGRkZGRjAzRkY4OUZGOTNGRkZGRkY1MEZGMDYKKzoxMDM2MDAwMDg2RkY5N0ZGRkZGRjkwRkYwMEZGMEFGRkZGRkYwRkZGRkUKKzoxMDM2MTAwMDAwRkYzNEZGRkZGRjY0RkYwMEZGMzRGRkZGRkYzNUZGQjMKKzoxMDM2MjAwMDAxRkYzNEZGRkZGRjk2RkYwMEZGMzhGRkZGRkYzNEZGNkQKKzoxMDM2MzAwMDAwRkYzOEZGRkZGRjY1RkYwMUZGMzhGRkZGRkY5NkZGMjgKKzoxMDM2NDAwMDAwRkYzOEZGRkZGRjA4RkYwMkZGMzRGRkZGRkY0OUZGQzUKKzoxMDM2NTAwMDAyRkYzOEZGRkZGRjQ5RkYxMEZGNDBGRkZGRkYwNkZGOUIKKzoxMDM2NjAwMDEwRkY0MEZGRkZGRjAyRkYzMEZGMENGRkZGRkYwMEZGRDYKKzoxMDM2NzAwMDAwRkYzQ0ZGRkZGRjI1RkY2REZGMTRGRkZGRkZCRUZGQjQKKzoxMDM2ODAwMDk4RkY1MEZGRkZGRjczRkY4OEZGNTBGRkZGRkY3M0ZGOUUKKzoxMDM2OTAwMDgzRkY2OEZGRkZGRkM1RkY4OEZGNjhGRkZGRkZDNEZGRDAKKzoxMDM2QTAwMDgzRkY2OEZGRkZGRkM1RkYwMEZGNjhGRkZGRkZDNkZGNDYKKzoxMDM2QjAwMDk4RkY1MEZGRkZGRjczRkY4OEZGNTBGRkZGRkY3M0ZGNkUKKzoxMDM2QzAwMDgzRkY3OEZGRkZGRkM0RkY4OEZGNzhGRkZGRkZDNUZGODAKKzoxMDM2RDAwMDgzRkY3OEZGRkZGRkM0RkYwMEZGNzhGRkZGRkZDNkZGRjcKKzoxMDM2RTAwMDk4RkY1MEZGRkZGRjczRkY4OEZGNTBGRkZGRkY3M0ZGM0UKKzoxMDM2RjAwMDgzRkY2OEZGRkZGRkM1RkY4OEZGNjhGRkZGRkZDNEZGNzAKKzoxMDM3MDAwMDgzRkY2OEZGRkZGRkM1RkYwMEZGNjhGRkZGRkZDNkZGRTUKKzoxMDM3MTAwMDAwRkYzQ0ZGRkZGRjI1RkY2RUZGMTRGRkZGRkY4RUZGNDIKKzoxMDM3MjAwMDk4RkY1MEZGRkZGRjczRkY4OEZGNTBGRkZGRkY3M0ZGRkQKKzoxMDM3MzAwMDgzRkY3OEZGRkZGRkM0RkY4OEZGNzhGRkZGRkZDNEZGMTAKKzoxMDM3NDAwMDAwRkY3OEZGRkZGRkM0RkYyMEZGMENGRkZGRkYwMEZGMUIKKzoxMDM3NTAwMDAwRkYwQUZGRkZGRjBGRkYwMEZGMzRGRkZGRkZFOUZGM0QKKzoxMDM3NjAwMDAxRkYzOEZGRkZGRjI4RkYwMUZGMzhGRkZGRkYyOUZGQTAKKzoxMDM3NzAwMDAwRkYzOEZGRkZGRjY2RkYwMEZGMzhGRkZGRkYzNEZGNDkKKzoxMDM3ODAwMDAwRkYzOEZGRkZGRjc1RkYxMEZGNDBGRkZGRkYwNkZGNDAKKzoxMDM3OTAwMDAwRkY0MUZGRkZGRjA3RkYzMEZGMENGRkZGRkYwMEZGQUYKKzoxMDM3QTAwMDk4RkY3MEZGRkZGRjIwRkYwMEZGM0NGRkZGRkYyNUZGOUEKKzoxMDM3QjAwMDcwRkYxNEZGRkZGRjJFRkY4MEZGNzBGRkZGRkY0MkZGMkYKKzoxMDM3QzAwMDYzRkY3MkZGRkZGRjIwRkY4MEZGNjhGRkZGRkZBN0ZGN0YKKzoxMDM3RDAwMDAwRkY3MEZGRkZGRjQxRkY2M0ZGNzJGRkZGRkYyNEZGNDkKKzoxMDM3RTAwMDgwRkY2OEZGRkZGRkE3RkYwMEZGNzBGRkZGRkY0NkZGOUUKKzoxMDM3RjAwMDYzRkY3MkZGRkZGRjI0RkY4MEZGNjhGRkZGRkZBN0ZGNEIKKzoxMDM4MDAwMDAwRkY3MEZGRkZGRjQ1RkY2M0ZGNzJGRkZGRkYyMEZGMTgKKzoxMDM4MTAwMDAwRkY2OEZGRkZGRkE3RkY4MEZGNzBGRkZGRkY0MkZGNzEKKzoxMDM4MjAwMDYzRkY3MkZGRkZGRjIwRkY4MEZGNzBGRkZGRkY0MUZGN0MKKzoxMDM4MzAwMDYzRkY2QUZGRkZGRkE3RkYwMEZGNzBGRkZGRkYyNEZGOEEKKzoxMDM4NDAwMDgwRkY2OEZGRkZGRkE3RkYwMEZGNzBGRkZGRkY0NEZGM0YKKzoxMDM4NTAwMDYzRkY3MkZGRkZGRjI0RkY4MEZGNjhGRkZGRkZBN0ZGRUEKKzoxMDM4NjAwMEYwRkY0MEZGRkZGRjA1RkYwMEZGNEZGRkZGRkYwNEZGREEKKzoxMDM4NzAwMDAwRkYwREZGRkZGRjBCRkY4MEZGMjdGRkZGRkYwRkZGODQKKzoxMDM4ODAwMDg4RkYyM0ZGRkZGRjBGRkZFQUZGMjBGRkZGRkYwRkZGNkYKKzoxMDM4OTAwMDc0RkYyMkZGRkZGRjBGRkYwMEZGNjhGRkZGRkZBN0ZGN0UKKzoxMDM4QTAwMDAwRkY3MEZGRkZGRjI0RkY4MEZGNzBGRkZGRkY0NEZGNUEKKzoxMDM4QjAwMDYzRkY3MkZGRkZGRjI0RkY4MEZGNjhGRkZGRkZBN0ZGOEEKKzoxMDM4QzAwMDAwRkY0RkZGRkZGRjA0RkYwMEZGMERGRkZGRkYwQkZGOTcKKzoxMDM4RDAwMDgwRkYyN0ZGRkZGRjBGRkY4OEZGMjNGRkZGRkYwRkZGODIKKzoxMDM4RTAwMEVBRkYyMEZGRkZGRjBGRkY3NEZGMjJGRkZGRkYwRkZGMjQKKzoxMDM4RjAwMDAwRkY2OEZGRkZGRkE3RkYwMEZGMEFGRkZGRkYwRkZGQUEKKzoxMDM5MDAwMDM4RkYyMkZGRkZGRjBGRkY3MkZGMTRGRkZGRkYzNUZGOUQKKzoxMDM5MTAwMDhCRkY4M0ZGRkZGRjMwRkY3OEZGMjJGRkZGRkYwRkZGQ0EKKzoxMDM5MjAwMDAwRkYwQUZGRkZGRjBGRkYwRUZGNDBGRkZGRkYwMEZGM0EKKzoxMDM5MzAwMDEwRkY5MEZGRkZGRjEwRkYwOEZGNDBGRkZGRkYwMEZGOTkKKzoxMDM5NDAwMDEwRkY5MEZGRkZGRjkwRkYwMkZGNDBGRkZGRkY0MEZGQ0YKKzoxMDM5NTAwMDExRkY5MEZGRkZGRjIwRkYwMEZGNDBGRkZGRkYwMEZGNzAKKzoxMDM5NjAwMDEwRkY5MEZGRkZGRkIwRkZCMEZGNDBGRkZGRkYwMEZGMjEKKzoxMDM5NzAwMDQ3RkY5MEZGRkZGRjUwRkYzMEZGNDBGRkZGRkYwMEZGQkEKKzoxMDM5ODAwMDQ3RkY5MEZGRkZGRjQwRkY3OEZGNDJGRkZGRkY1MEZGMjAKKzoxMDM5OTAwMDQ4RkY5MEZGRkZGRkEwRkY0MEZGNDBGRkZGRkYwMEZGMzkKKzoxMDM5QTAwMDQ5RkY5MEZGRkZGRjcwRkYxOEZGNDBGRkZGRkYwMEZGODAKKzoxMDM5QjAwMDQ3RkY5MEZGRkZGRjcwRkYxOEZGNDBGRkZGRkYxMEZGNjIKKzoxMDM5QzAwMDQ3RkY5MEZGRkZGRjcwRkYxOEZGNDBGRkZGRkYwMEZGNjIKKzoxMDM5RDAwMDQ3RkY5MEZGRkZGRjcwRkYwMEZGNDBGRkZGRkYwMEZGNkEKKzoxMDM5RTAwMDExRkY5MEZGRkZGRjYwRkY4REZGOTNGRkZGRkZEMEZGRjAKKzoxMDM5RjAwMDBCRkY0MEZGRkZGRjgwRkYxMUZGOTBGRkZGRkZGMEZGNzUKKzoxMDNBMDAwMDAwRkY0MEZGRkZGRjEwRkYxMUZGOTBGRkZGRkZFMEZGRUYKKzoxMDNBMTAwMDAwRkY0OEZGRkZGRjAwRkYwMEZGOTNGRkZGRkYwMEZGRDUKKzoxMDNBMjAwMDAwRkYwQUZGRkZGRjBGRkYwOEZGNDBGRkZGRkYwMEZGM0YKKzoxMDNBMzAwMDQ3RkY5MEZGRkZGRjIwRkYyMkZGMThGRkZGRkY5RkZGQzAKKzoxMDNBNDAwMDAwRkY0OEZGRkZGRjEwRkY4NkZGOTNGRkZGRkY3MEZGOUYKKzoxMDNBNTAwMDIyRkYxOEZGRkZGRjlGRkYwMEZGNDhGRkZGRkYwMEZGNEYKKzoxMDNBNjAwMDg2RkY5M0ZGRkZGRjcwRkYyMkZGMThGRkZGRkY5RkZGRkUKKzoxMDNBNzAwMDAwRkY0OEZGRkZGRjIwRkY4NkZGOTNGRkZGRkY3MEZGNUYKKzoxMDNBODAwMDIyRkYxOEZGRkZGRjlGRkYwMEZGMzRGRkZGRkY0OEZGRUIKKzoxMDNBOTAwMDAwRkY2MEZGRkZGRjAzRkY4NkZGOTNGRkZGRkZCMEZGMDQKKzoxMDNBQTAwMDAwRkY2MEZGRkZGRjAzRkY4NkZGOTNGRkZGRkZDMEZGRTQKKzoxMDNBQjAwMDg2RkY5N0ZGRkZGRkQwRkYwMEZGMEFGRkZGRkYwRkZGMEEKKzoxMDNBQzAwMDgwRkYzN0ZGRkZGRjAyRkY4NEZGM0JGRkZGRkYwMkZGODYKKzoxMDNBRDAwMDAwRkY2MEZGRkZGRjBCRkYwQ0ZGMERGRkZGRkY5MEZGREMKKzoxMDNBRTAwMDAwRkY3MEZGRkZGRjBCRkYwQ0ZGMERGRkZGRkZCMEZGOUMKKzoxMDNBRjAwMDg4RkYzN0ZGRkZGRjAzRkY4Q0ZGM0JGRkZGRkYwM0ZGNDQKKzoxMDNCMDAwMDAwRkY0MEZGRkZGRjAxRkY4QkZGOTNGRkZGRkY1MUZGMEYKKzoxMDNCMTAwMDgyRkY0M0ZGRkZGRjgwRkY4QkZGOTNGRkZGRkY2MEZGRUMKKzoxMDNCMjAwMDAwRkYzNEZGRkZGRjg5RkYwMEZGNDBGRkZGRkYwMEZGQTIKKzoxMDNCMzAwMDBDRkYwREZGRkZGRjgwRkYwQ0ZGMERGRkZGRkZBMEZGM0QKKzoxMDNCNDAwMDAwRkYwQUZGRkZGRjBGRkY4MEZGMzdGRkZGRkYwMEZGQUYKKzoxMDNCNTAwMDAwRkYzNEZGRkZGRjA4RkYwMkZGM0NGRkZGRkY0NUZGQjAKKzoxMDNCNjAwMDc2RkYxNEZGRkZGRkRFRkYwMEZGQTBGRkZGRkYwM0ZGNTQKKzoxMDNCNzAwMDg0RkYzN0ZGRkZGRjAwRkYwMEZGMzRGRkZGRkYwOEZGNTgKKzoxMDNCODAwMDAyRkYzQ0ZGRkZGRjQ1RkY3N0ZGMTRGRkZGRkYyRUZGMDMKKzoxMDNCOTAwMDAwRkZBMEZGRkZGRjAzRkY3RUZGMzhGRkZGRkYwMEZGRDYKKzoxMDNCQTAwMDAwRkYzOEZGRkZGRjA4RkYwMEZGM0NGRkZGRkZFNUZGQkUKKzoxMDNCQjAwMDc3RkYxNEZGRkZGRjhFRkYwMEZGNDBGRkZGRkYwMEZGQjYKKzoxMDNCQzAwMDAwRkY1OEZGRkZGRjAzRkYwMEZGMEFGRkZGRkYwRkZGOEIKKzoxMDNCRDAwMDY0RkYxQ0ZGRkZGRjRGRkYzOEZGMjJGRkZGRkYwRkZGQjcKKzoxMDNCRTAwMDc3RkYxNEZGRkZGRkU1RkY4QkZGODNGRkZGRkY0MEZGMjEKKzoxMDNCRjAwMDc4RkYyMkZGRkZGRjBGRkY2NEZGMUNGRkZGRkY4RkZGMTcKKzoxMDNDMDAwMDM4RkYyMkZGRkZGRjBGRkY3OEZGMTRGRkZGRkYzNUZGOTQKKzoxMDNDMTAwMDhCRkY4M0ZGRkZGRjQwRkY3OEZGMjJGRkZGRkYwRkZGQjcKKzoxMDNDMjAwMDAwRkYwQUZGRkZGRjBGRkYwMEZGMzRGRkZGRkYwOUZGNDgKKzoxMDNDMzAwMDAwRkYzNEZGRkZGRjg1RkYwMEZGMzRGRkZGRkY1NkZGNEIKKzoxMDNDNDAwMDAwRkYwOUZGRkZGRjA2RkYyMEZGNDBGRkZGRkYwMEZGMEYKKzoxMDNDNTAwMDAxRkY0MEZGRkZGRkMxRkYwMEZGNDBGRkZGRkY0NEZGRTgKKzoxMDNDNjAwMDAwRkY2OEZGRkZGRjA1RkYwMEZGNjhGRkZGRkYxNUZGNzQKKzoxMDNDNzAwMDAwRkY2OEZGRkZGRjA1RkYwMEZGNjhGRkZGRkY0NUZGMzQKKzoxMDNDODAwMDAwRkYwQUZGRkZGRjBGRkY4NkZGODdGRkZGRkZGMEZGMjgKKzoxMDNDOTAwMDg2RkY4QkZGRkZGRkUwRkYwMEZGMzRGRkZGRkZDOEZGNDEKKzoxMDNDQTAwMDAwRkYzOEZGRkZGRkM4RkYwMEZGNjBGRkZGRkYwM0ZGQkIKKzoxMDNDQjAwMDAwRkY2MEZGRkZGRjEzRkYwMEZGNzhGRkZGRkYxM0ZGMTAKKzoxMDNDQzAwMDAwRkY3OEZGRkZGRjAzRkY4NkZGOTdGRkZGRkZGMEZGNzYKKzoxMDNDRDAwMDg2RkY5QkZGRkZGRkUwRkYwNUZGODFGRkZGRkZDMEZGQTcKKzoxMDNDRTAwMDc4RkYyMkZGRkZGRjBGRkYyMUZGMThGRkZGRkY3MUZGOEIKKzoxMDNDRjAwMDAwRkYwQUZGRkZGRjBGRkY3RkZGMzhGRkZGRkYwMUZGRkQKKzoxMDNEMDAwMDAwRkYzOEZGRkZGRjA5RkYwMEZGMzhGRkZGRkYwNkZGM0UKKzoxMDNEMTAwMDdFRkY0MEZGRkZGRjAwRkYwMEZGNDBGRkZGRkZCMUZGRkUKKzoxMDNEMjAwMDA4RkYwQ0ZGRkZGRjAwRkYwMEZGM0NGRkZGRkZDNUZGODgKKzoxMDNEMzAwMDdBRkYxNEZGRkZGRkJFRkYwMEZGNTBGRkZGRkY0NkZGQUIKKzoxMDNENDAwMEUxRkYyMkZGRkZGRjBGRkY3QUZGMUNGRkZGRkZFMEZGRjUKKzoxMDNENTAwMDYwRkYyMkZGRkZGRjBGRkYwMEZGNThGRkZGRkZBN0ZGREQKKzoxMDNENjAwMDBDRkYwQ0ZGRkZGRjAwRkYwMEZGMEFGRkZGRkYwRkZGMkMKKzoxMDNENzAwMDAwRkY0MEZGRkZGRkM0RkYwMEZGMEFGRkZGRkYwRkZGMzAKKzoxMDNEODAwMEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGNDMKKzowNDNEOTAwMEZGRkZGRkZGMzMKKzowMDAwMDAwMUZGCmRpZmYgLS1naXQgYS9maXJtd2FyZS9zYjE2L2FsYXdfbWFpbi5jc3AuaWhleCBiL2Zpcm13YXJlL3NiMTYvYWxhd19tYWluLmNzcC5paGV4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA0NTAyNzAKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9zYjE2L2FsYXdfbWFpbi5jc3AuaWhleApAQCAtMCwwICsxLDg3IEBACis6MTAwMDAwMDAwMDEwMDA0NDA4MDAwMDQ0MDBCMTAwNDQwMDYxMDA0NEI2Cis6MTAwMDEwMDAwODUwMDA0NDBERjI2MUE4NDQwNDA0MTkwMDAwNDA0NTUyCis6MTAwMDIwMDA0MDQ5MzlBQzU1NTU3MThCNTAwNTYzODAwMDAwMDYzOTQ1Cis6MTAwMDMwMDBGRjJFMjE0OUZGMEZENDQ5MjAwMTA5MEUyMDAwNzE4QkFBCis6MTAwMDQwMDBBODAxQTg4MDg4MDFBODgwQTgwMDAwODBEMjAwNzE4QjM4Cis6MTAwMDUwMDA4ODAwQTg4MEE4MDRCMzgwMjAwN0IzODA4ODAzQjE4MEZCCis6MTAwMDYwMDBDMDAwMDk1Q0MyMDEwMDgyQTEwMDcxOEJDRDAwMDQxOTlGCis6MTAwMDcwMDAyMTIwNzE4QkNGMDAwNDE5MDAwMEIxODBDMjAwMDQxOTQ3Cis6MTAwMDgwMDAwMDQwMDAxNDA4NDAwNDI0MDAwMDM0NDkwQzQwMDA0NDlGCis6MTAwMDkwMDA0NDA0MDQzOTAwMDA0MDQ1MzIwMDA5NUMwMDAwMEMzOTdBCis6MTAwMEEwMDAwMDAwNDA0NTQwNDAwOUVGRkYyMDA5Q0YwMDA0NjNBMTU0Cis6MTAwMEIwMDA1MDAzMzM4MDAwMDRBMzgwMDBGRkMyOEIwMEQwMDQ1NDlGCis6MTAwMEMwMDAwNEUwMDBDNDIwMDM4MEMwMzAwMDAwODgwMDAwN0EwQUU5Cis6MTAwMEQwMDBEMDAxMDA4MjAwNjAwMDQ0QzAwMDAwOTkwMDYwMDA0NDJDCis6MTAwMEUwMDAwMEZGQzI4QjIwMDAwMDgwMDAwRDQyOEIwODMyMDBDNDRDCis6MTAwMEYwMDAwMDBFNDI4QjAwQTIwMEM0MDAxRTQyOEIwQ0IyMDBDNDUyCis6MTAwMTAwMDAwMDhFNDI4QjAwNjIwMEM0MDA5RTQyOEIwODUyMDBDNEU1Cis6MTAwMTEwMDAwMEJFNDI4QjA4NTIwMEM0MDAwNDQyOEIwNDcyMDBDNDJCCis6MTAwMTIwMDAwMDI0NDI4QjAwRDIwMEM0MDA1NTQyOEIwMDYwMDBDNDAyCis6MTAwMTMwMDAwMDAwNDA0NTIwMDE3OTgwMDAzMDQyOEIwODgyMDBDNEQ1Cis6MTAwMTQwMDAwMDAwNDA0NTAwMDA3MThCNDAwMTAwODAwMDYwMDA0NEM5Cis6MTAwMTUwMDBGRjAwRTJBQjAwQjIwMEM0MEZGMkE4QTgyMDAwQjE4OEYzCis6MTAwMTYwMDAwMDAwNDEwMjRERjIwMDM5QzAwMTAwODIwMDYwMDA0NEVECis6MTAwMTcwMDAwREYyQTNBODRERjIwMDM5MDA2MDAwNDRGRjAwRTJBQjhECis6MTAwMTgwMDAyMDAwMDA4ODAwMDA2MTAyNERGMjA0MTkwMDYwMDA0NDY0Cis6MTAwMTkwMDBGRjAwRTJBQkEwMDAwMDg4MDAwMDYxMTA0REYyMDQxOURFCis6MTAwMUEwMDAwMDYwMDA0NEZGMjBFMkFCNjAwMDAwODgwMDAwNzFDMEU2Cis6MTAwMUIwMDA0REYyMDQxOTAwNjAwMDQ0MDAwMDc5ODAwMEUyMDA4NEUwCis6MTAwMUMwMDAwMzAzMDQ0OTA0QzIwMDU0MDA2MDA0NjQwMDYwMDA0NDU2Cis6MTAwMUQwMDAwMDAwNjM4MDAwMDAwNjE5MDMwMDA0NDkwMDYwMDA0NDI5Cis6MTAwMUUwMDAyMDAxNjM4MDAwMDAwNjE5MDAyMEUyOEIwQ0YyMDA4NERECis6MTAwMUYwMDBCRTAwNTE4QkMwMjAwMDM5MDgwMTAwNDRFQzAwNTE4QjM3Cis6MTAwMjAwMDBDMDIwMDAzOTAwMDJFMjhCMDQyMTAwODQzRjAwNTE4QkEyCis6MTAwMjEwMDBDMjIwMDAzOTAwMTEwMDQ0M0QwMDUxOEJDMjIwMDAzOTNBCis6MTAwMjIwMDBFNTAwNzE4QkNEMDAwMDM5MDAwMEIxODBDOTIwMDQxOUIwCis6MTAwMjMwMDBDQjIwMDQxOUMxMjAwNDE5QzMyMDA0MTkxMDAwNzE4QkFDCis6MTAwMjQwMDBDNzIwMDQxOURFMDA1MThCQ0YwMDAwMzkwMDAxQjE4MEI2Cis6MTAwMjUwMDBDNDIwMDQxOUM2MjAwNDE5QzgyMDA0MTlDQTIwMDQxOThFCis6MTAwMjYwMDAyMDAwNzE4QkNDMjAwNDE5MDMwMDA0NDkwMDYwMDA0NDc1Cis6MTAwMjcwMDAwOTA0NjFBOEMxMDAwNDE5MEIwNDYxQThDQTAwMDQxOThCCis6MTAwMjgwMDAwNDYwMDBENDBEMDA2MTBBOTA0MDA5OEYwMDAxMDA0NTEwCis6MTAwMjkwMDAwRjAwNjEwQTAwNDAwOThGMDAwMTAwNDU4MjAwMDkyRTBECis6MTAwMkEwMDA4MDQwMDlDRjAyMDA2MTIyNDMyNTYxMjI0MDMzMDA4MDUzCis6MTAwMkIwMDAwODQ4MDA0NDIwQjE0OTVDOTIwMDA5NEUwMjAzMDkyRTBGCis6MTAwMkMwMDAwMDAwQTMwMkMwMDA3MUMwMjAwMEVCODAwMDA0QzI4QkJDCis6MTAwMkQwMDAyMDA0NjE4MDAwMDQ3QTAyQzAwMDAwODIwQ0MzMDg0OTM3Cis6MTAwMkUwMDBCMDAxRjM4MDAwMDAxMDM5MjAwMDBDODkwQzg4MDg0OTA3Cis6MTAwMkYwMDAwMzAwQTgxODAwMDAxMDM5QkRGRjYyOEIyMDAxMDA4MEE4Cis6MTAwMzAwMDAwMDAwNjNDQjAwMDA3QTAyNDAwMDAxNUIyMDAwMDA4MDA3Cis6MTAwMzEwMDAwMDAwNEFDQjIwMDAxMzgwMjAwMDdBODBFMDIxMDBDMDNBCis6MTAwMzIwMDAwODAwMDg0OTEwNDEwOThFQUVBRTYyOEIwMDA0NjEyMkJDCis6MTAwMzMwMDAwMDAzMDA0NTIyMDEzMzgwMjAwMUEzMDIwMDAwN0E4MERGCis6MTAwMzQwMDBDMDAwMDA4MjA3MjA0MDBBMDhBMzAwODQ0MDIxMDA4MEVBCis6MTAwMzUwMDA0MDA1OTMxMEM3MjAwMDM5MDAwMDQwNDUwNzIwNDAwQTlGCis6MTAwMzYwMDAwQzkzMDA4NDA4MDAwMDgyMEMyNDYxNTA0MDAxMDA4MDNFCis6MTAwMzcwMDBDNzIwMDAzOTAwMDA0MDQ1MDAwNDYzODAwMDAwMDYzOUIyCis6MTAwMzgwMDA0MjAxMDkwRTAyMjA2MTBBMDAwMTAwNDUwQzIwNjAwQUFBCis6MTAwMzkwMDAwMEMzMDA4NDAwMDRCMTgwMDAwMDA2MzkwQzYxMDRENDVECis6MTAwM0EwMDAwMDI0NzFDMDIwMzMzM0MwRTAwMUEzODIyMjAzN0EwMjBCCis6MTAwM0IwMDBDMzAxQTM4MjIwMDEzMzgwMDAwMDdBODBDMjAxQjM1MEMwCis6MTAwM0MwMDBDQzIwMDAzOTAwMDA3MTgwMDAwODAwNDQwQzIwNjAwQTM1Cis6MTAwM0QwMDAwMEYzMDA4NDAwMDRCMTgwMDAwMDA2MzkwQzYxMDRENEVECis6MTAwM0UwMDAwMDAwNzFDMDAwMDA5MzEwQ0MyMDAwMzkwMDA4MDA0NEM4Cis6MTAwM0YwMDBDQzIwMDAzOTAwMjAwMEMwMDAzMDcxQzAwMDA4MDA0NDRCCis6MTAwNDAwMDAyMDAxMDA4MEFFQUU2MjhCMjAwMTMzODAwMDAwODM4MDJCCis6MTAwNDEwMDAyMDAwN0E4MDIwQTE0OTVDODIwMDA5NkU4MDRBMDk4RTAyCis6MTAwNDIwMDBFMDAxQjM4MjIwMDRBMzgwMDAwMDdBQ0IyODA0RUExMDA0Cis6MTAwNDMwMDAwQzA0N0ExMDcwMDBDMDhCMDAwMDEwMzk5MDAzMDA4MDBCCis6MTAwNDQwMDA0MDAwMjE1QjkwMDA2MTgwMEM4QTA4NDkwMDAwMUMxOTYzCis6MTAwNDUwMDA0MDAwMDg1QjA4MDAwODQ5MjAwMjAwODAwMzAwQTgxODNCCis6MTAwNDYwMDAwMDAwMTQxOTQwMDAyMUNCMDAwMDQxMDIwMDAwRUI4MDg1Cis6MTAwNDcwMDBGMjAxMDA4MjQwMjEzMzAyMDgyMDYxMEFDNDAwMDQxOUZECis6MTAwNDgwMDBDNzAwMDA5OTAyMDA2MTBBMEMwQTA0MTQwMTAwNjEwQTA1Cis6MTAwNDkwMDAwMzAwNDgwQTAwNTgwNDU0QzMwMDA0MTkwQzU4MDA0NENGCis6MTAwNEEwMDAwODAwQzgwQTBDNTgwNDU0QzgwMDA0MTkwQTAwNjEwQTVDCis6MTAwNEIwMDAwOTAwNDgwQTAwQzgwNDU0QzkwMDA0MTkwQ0M4MDA0NEMzCis6MTAwNEMwMDAwQjAwQzgwQTBDQzgwNDU0Q0IwMDA0MTkwNDAwNjEwQUNDCis6MTAwNEQwMDAwNjAwNDgwQTAwRDgwNDU0QzYwMDA0MTkwQ0Q4MDA0NDg5Cis6MTAwNEUwMDAwNTAwQzgwQTBDRDgwNDU0QzUwMDA0MTkwNzAwNjEwQUE1Cis6MTAwNEYwMDAwQzAwNDgwQTAwMEEwNDU0Q0MwMDA0MTkwQzBBMDA0NEY5Cis6MTAwNTAwMDAwRTAwQzgwQTBDMEEwNDU0Q0UwMDA0MTkwMDAwNDA0NTJECis6MDgwNTEwMDAyMDEwNzE4QjA4NDIwNjAwNjcKKzowMDAwMDAwMUZGCisvKgorICogIENvcHlyaWdodCAoYykgMTk5NCBDcmVhdGl2ZSBUZWNobm9sb2d5IEx0ZC4KKyAqICBNaWNyb2NvZGUgZmlsZXMgZm9yIFNCMTYgQWR2YW5jZWQgU2lnbmFsIFByb2Nlc3NvcgorICovCmRpZmYgLS1naXQgYS9maXJtd2FyZS9zYjE2L2ltYV9hZHBjbV9jYXB0dXJlLmNzcC5paGV4IGIvZmlybXdhcmUvc2IxNi9pbWFfYWRwY21fY2FwdHVyZS5jc3AuaWhleApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YTUwYTU4Ci0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUvc2IxNi9pbWFfYWRwY21fY2FwdHVyZS5jc3AuaWhleApAQCAtMCwwICsxLDEyMSBAQAorOjEwMDAwMDAwMDAxMDAwNDQwODAwMDA0NDAwNzAwMDQ0MDhEMDAwNDQ4MAorOjEwMDAxMDAwMDBGMDAwNDQwREYyNjFBODQ0MDQwNDE5MDAwMDQwNDVCQQorOjEwMDAyMDAwMDAwNDYzODAwMDAwMDYzOUZGMkUyMTQ5RkYwQ0Q0NDlFQgorOjEwMDAzMDAwNDA0OTM5QUM1NTU1NzE4QjUwMDFCMTgwMDAwMDcxOEIyRQorOjEwMDA0MDAwQzIzMDA0MTlDMEEwMDQxOUMyQTAwNDE5ODkwMDcxOEIyMAorOjEwMDA1MDAwQzgzMDA0MTk3MTAwNzE4QkNEMDAwNDE5Q0YwMDA0MTk0OAorOjEwMDA2MDAwODAwMDcxOEJDQjIwMDQxOTIwMDA3MThCQzQyMDA0MTlFRgorOjEwMDA3MDAwNDcwMDUxOEJDMDIwMDAzOTAwMDA2MzgwQzFBMDA0MTlFMworOjEwMDA4MDAwOTMwMDAxNEZDRDMwMDAwOUNGMzAwMDA5MEM0MDAwMTQxRgorOjEwMDA5MDAwMDA2MDAwMTQwMDA0NjFBODAyMDQ2MUE4MEM2MDA0MjQzQworOjEwMDBBMDAwMDAwMDM0NDkwODUwMDA0NDQ0MDQwNDM5MDAwMDQwNDUyRAorOjEwMDBCMDAwMDgzMDYxMEEwNUIwRTgxODBDQzAwNDU0QzgzMDA0MTlBRgorOjEwMDBDMDAwMDkwNDAwQTgwQjA0MDBBODAwMDA0MDQ1MDkwNDYxQTgyOQorOjEwMDBEMDAwQzEwMDA0MTkwQjA0NjFBOENBMDAwNDE5MEQwMDYxMEFDQgorOjEwMDBFMDAwMDAwMTAwNDUwRjAwNjEwQTAwNDAwOThGMDAwMTAwNDUzMgorOjEwMDBGMDAwNDA0MDA5RUZGRjIwMDlDRjAwMDQ2M0ExNTAwMzMzODA4MworOjEwMDEwMDAwMDAwNEEzODAwMEZGQzI4QjBDMTIwNDU0MDgxMjAwQzQyOAorOjEwMDExMDAwMjAwMzgwQzAzMDAwMDA4ODAwMDA3QTBBRDAwMTAwODJFRAorOjEwMDEyMDAwMDQ1MDAwNDRDMDAwMDA5OTA0NTAwMDQ0MDBGRkMyOEJGQQorOjEwMDEzMDAwMjAwMDAwODAwMDBENDI4QjA0NDIwMEM0MDAwRTQyOEI2MAorOjEwMDE0MDAwMDg1MjAwQzQwMDFFNDI4QjAwRTIwMEM0MDA4RTQyOEJBNQorOjEwMDE1MDAwMDhEMjAwQzQwMDlFNDI4QjA0RjIwMEM0MDBCRTQyOEI1MQorOjEwMDE2MDAwMDRGMjAwQzQwMDA0NDI4QjA0MTEwMEM0MDAyNDQyOEIzQQorOjEwMDE3MDAwMEM2MTAwQzQwMDU1NDI4QjA0NTAwMEM0MDAzRjQyOEIwOAorOjEwMDE4MDAwMEMwMTAwQzQwMDAwNDA0NTIwMDE3OTgwMDAzMDQyOEIwMgorOjEwMDE5MDAwMDQ2MjAwQzQwMDAwNDA0NTAwMDA3MThCNDAwMTAwODBGMworOjEwMDFBMDAwMDQ1MDAwNDRGRjAwRTJBQjA4QzIwMEM0MEZGMkE4QTg0QworOjEwMDFCMDAwMjAwMEIxODgwMDAwNDEwMjRERjIwMDM5QzAwMTAwODJFOAorOjEwMDFDMDAwMDQ1MDAwNDQwREYyQTNBODRERjIwMDM5MDQ1MDAwNDQzRAorOjEwMDFEMDAwRkYwMEUyQUIyMDAwMDA4ODAwMDA2MTAyNERGMjA0MTkyQworOjEwMDFFMDAwMDQ1MDAwNDRGRjAwRTJBQkEwMDAwMDg4MDAwMDYxMTA1MgorOjEwMDFGMDAwNERGMjA0MTkwNDUwMDA0NEZGMjBFMkFCNjAwMDAwODg3NworOjEwMDIwMDAwMDAwMDcxQzA0REYyMDQxOTA0NTAwMDQ0MDAwMDdBMEE0NQorOjEwMDIxMDAwMjAwMUYwODAwMUEwNDEwQTAwMTEwMEM0MjAwMUYwODBGQgorOjEwMDIyMDAwQzEzMDA0MTkwNDUwMDA0NDAwMDA3OTgwMEM0MTAwODQ1RQorOjEwMDIzMDAwODkwMDcxOEJDODMwMDQxOTk3MDA3MThCQ0QwMDAwMzk4QgorOjEwMDI0MDAwMDAwMUIxODA4MDAwMDQxOTgyMDAwNDE5QzEyMDA0MTk0MgorOjEwMDI1MDAwQzMyMDA0MTlDMjMwMDQxOUNEMTAwNDE5Q0YxMDA0MTk5OQorOjEwMDI2MDAwQjAwMDcxOEI4NDAwMDQxOTg2MDAwNDE5ODAwMDcxOEIyMgorOjEwMDI3MDAwQ0IyMDA0MTk5MzAwMDE0RkNEMzAwMDA5Q0YzMDAwMDk4NQorOjEwMDI4MDAwMDMwMjA0NDkwODQxMDAxNDA0NTAwMDQ0MDAwMDYzODA0NAorOjEwMDI5MDAwMDAwMDA2MTkwMzAwMDQ0OTA0NTAwMDQ0MjAwMTYzODA1MworOjEwMDJBMDAwMDAwMDA2MTkwMDIwRTI4QjAwQzEwMDg0NDcwMDUxOEIzQQorOjEwMDJCMDAwQzAyMDAwMzkwMDAwNjM4MEMxQTAwNDE5MDBFMTAwNDQ5RgorOjEwMDJDMDAwQkQwMDUxOEJDMDIwMDAzOTAwMDBCMTgwQzFBMDA0MTlDRAorOjEwMDJEMDAwMDMwMDA0NDkwNDUwMDA0NDAwMjA2MTBBMDAwMTAwNDU2NQorOjEwMDJFMDAwMDIzMDYxMEEwQzgzMDBDNDBDNzgwODQ0MDQ1QTA4NDRBNAorOjEwMDJGMDAwQjIwMDA5NEYxMDQyMDk4RTA1QjBFMDE4MDQyMzAwODRCMworOjEwMDMwMDAwMEMwMTAwMTEwODA1NjExMDAwNDkwODQ0MDA0ODA4NDQyOAorOjEwMDMxMDAwQjIwMDA5NEY4MDAwNzE4QkMwMDAwMDgyMEMwMTMzMTBDNQorOjEwMDMyMDAwMjgwMUEzMTAwMDAxN0E4MDhDMDEwMDgwMDIzMDYxMEE0QworOjEwMDMzMDAwMjAwMDA0MTkwQzgzMDBDNDA1QjBDODE4MDg0MzAwQzQ4OQorOjEwMDM0MDAwMDEzMEM4MEEwQzM4MDBDNDA4ODgwMDQ0MEM3ODA4NDRGRQorOjEwMDM1MDAwMDQ1QTA4NDQwMDAwQTMxODgwMDAwNDE5MEIwNDYxQTg4MworOjEwMDM2MDAwQzMyMDAwMzlDMzMwMDQxOTBGMTA2MTBBQ0EzMDA0MTlDMAorOjEwMDM3MDAwMDkwNDQxQThFMTIwMDAzOUQxMDAwOTRGMDAwNDYxMDJCRAorOjEwMDM4MDAwMDg2MzAwNDQwMzMwNDEwQTIwMDAwMDM5QTMwMDA5NEZFQworOjEwMDM5MDAwMDAwNDYxMDIwMDQ4MDg0NDA4ODgwMDQ0MDIzMDYxMEFGMQorOjEwMDNBMDAwMDAwODAwQzQwQzc4MDg0NDA0NUEwODQ0QjIwMDA5MEYzRAorOjEwMDNCMDAwMTA0MDA5OEUwMDAwNjg1QjIwMDRCMTgwMDIwMDYxNUI4MAorOjEwMDNDMDAwODgwMzdBODBBQzAxMDA4MDA1QjBFMDE4MDBEMzAwODQ3NworOjEwMDNEMDAwMDA0OTA4NDQwMDQ4MDg0NEIyMDAwOTBGODAwMDcxOEJBRQorOjEwMDNFMDAwQzAwMDAwODIwMjMwNjEwQTAwMDgwMEM0MDVCMEM4MThDRAorOjEwMDNGMDAwMEMxODAwQzQwMTMwQzgwQTBDMzgwMEM0MDg4ODAwNDQzNgorOjEwMDQwMDAwMEM3ODA4NDQwMDAwNjExODIwMDVCMTgwMDAwMDY4Q0IxQQorOjEwMDQxMDAwODAwMDA0MTkwRDEwNjEwQUMzMzAwNDE5MEIwNDQxQThBRgorOjEwMDQyMDAwMDkwNDQxQThFMTIwMDAzOTA4MzgwMDQ0MDMzMDQxMEE5QQorOjEwMDQzMDAwMjAwNEIxODAwMDQ4MDg0NDA4ODgwMDQ0MDAwMEIxODBDRQorOjEwMDQ0MDAwQzIzMDA0MTkwQ0I4MDBENDBGMzA2MTBBMEQzMEM4MEE0QworOjEwMDQ1MDAwMENCODAwQzQ5MzAwMDE0RkU3MDAwMTZGMEYzMDYxMEEzMAorOjEwMDQ2MDAwMjAwMDAwODgwMjAwNjEwMjQxMDQwNDE5MDIwNDYxMDJCNAorOjEwMDQ3MDAwNDMwNDA0MzlDRjMwMDAwOTIwMDAwOTQ5MDA1OTAwNDRFMQorOjEwMDQ4MDAwOTMwMDAxNEZFNzAwMDE2RjBEMzA2MTBBMjAwMDYxODg4MQorOjEwMDQ5MDAwQzIwMDAwODJDMjAzMDA4MkNEMzAwMDA5MjAwMDA5NDk1OQorOjEwMDRBMDAwMEYzMDYxMEEwRDMwQzgwQTBDNTgwMDg0MDIzMDYxMEEwRQorOjEwMDRCMDAwMDVCMEE4MThDMjMwMDQxOTAwMDAwMDQ2OTA0MDA5OEYwQQorOjEwMDRDMDAwMTIwNDA5NkUwMzAwMDkwRTAwMDE3MTgyMjAwMTAwODBGMAorOjEwMDREMDAwMDAwMDYxQ0I4MDA0QjE4MDAwMDFFMDYwMENEODA0MTRGRQorOjEwMDRFMDAwMDAwMUVCODA0MDAwNTIxQjgwMDA3OTgwQzAwMTcxQzI4NgorOjEwMDRGMDAwMjAwMEMwODAwODBBMDQ1NEMwMDRBODgyODAwMDcyMUIzNworOjEwMDUwMDAwODAwMDAwODAwMDAxRjA4MDIwMDBDMDgwMEMyQTA0NTQ4QworOjEwMDUxMDAwQzAwNEE4ODIxMDAwNzIxQjgwMDAwMDgwMDAwMUYwODBERgorOjEwMDUyMDAwMjAwMEMwODAwODNBMDQ1NEMwMDRBODgyMjAwMDcyMUIzNgorOjEwMDUzMDAwODAwMDAwODBDMDAzRjA4MjIwMDBBMDgwMDAwMTAwMTEzNAorOjEwMDU0MDAwNDAwMEMyOEIwMEFBMDBDNDAwMDBFOTgwMDVCMEE4MThEMgorOjEwMDU1MDAwMDAwMUE4MjJEMDAxMDA4MkYwMDBFMjFCMDYyMEE4MEFCOAorOjEwMDU2MDAwMkQxMDYxMEFEMTAwMDkyRTAwMDFBODAyMEUxMEM4MEE0MAorOjEwMDU3MDAwMENCQTA0MTQwRTEwNjEwQTA0NEEwMDQ0MEMxMEM4MEE5NAorOjEwMDU4MDAwMDQ0QTA0NTQwQzEwNjEwQUQwMDEwMDgyMDAxMEE4MTgxQgorOjEwMDU5MDAwQTAwMDAwODgwMDAxNzE4MjAzMDAwOTBFOUEwMTAwNjAyQQorOjEwMDVBMDAwMzIwMDA5MkUwMDAwMDA0NjAwMDE3MTgyMjAwMTAwODAwNworOjEwMDVCMDAwMDAwMDYxQ0I4MDI0QjFDMDAwMzFFMDYwMENDQTA0MTQ5QgorOjEwMDVDMDAwMDAwMUVCODA0MDAwNTIxQjgwMDA3OTgwQzAwMTcxQzJBNQorOjEwMDVEMDAwMjAwMEMwODAwOERBMDQ1NEMwMDRBODgyODAwMDcyMUI4NgorOjEwMDVFMDAwODAwMDAwODAwMDAxRjA4MDIwMDBDMDgwMENGQTA0NTREQworOjEwMDVGMDAwQzAwNEE4ODIxMDAwNzIxQjgwMDAwMDgwMDAwMUYwODBGRgorOjEwMDYwMDAwMjAwMEMwODAwODI5MDQ1NEMwMDRBODgyMjAwMDcyMUI2NgorOjEwMDYxMDAwODAwMDAwODBDMDAzRjA4MjIwMDBBMDgwMDAwMTAwMTE1MworOjEwMDYyMDAwNDAwMEMyOEIwMDM5MDBDNDAwMDBFOTgwMDVCMEE4MTg2MgorOjEwMDYzMDAwMDAwMUE4MjJEMDAxMDA4MkIwMDBFMjFCMDYyMEE4MEExNworOjEwMDY0MDAwMkYxMDYxMEFGMTAwMDkyRTAwMDFBODAyMEUxMEM4MEEzRAorOjEwMDY1MDAwMENBOTA0MTQwRTEwNjEwQTA0OTkwMDQ0MEMxMEM4MEE3NQorOjEwMDY2MDAwMDQ5OTA0NTQwQzEwNjEwQUQwMDEwMDgyMDAxMEE4MThFQgorOjEwMDY3MDAwQTAwMDAwODgwMDAxNzE4MjlGMDEwMDYwMDAwMDAwNDYxOAorOjEwMDY4MDAwMDAwMDMzODAwMDAwODM4MDIwMDA3QTgwMjAwNzMzODBDMAorOjEwMDY5MDAwMDAwMDgzODAyMDA0N0E4MDIwMDEwMDgwMDAwMDAwNDY1MgorOjEwMDZBMDAwMDIwMDYxMEEwNDFCMDQxNDAxMDA2MTBBMDMwMDQ4MEFFNQorOjEwMDZCMDAwMEM3OTA0NTRDMzAwMDQxOTA0QzkwMDQ0MDgwMEM4MEE5MgorOjEwMDZDMDAwMDRDOTA0NTRDODAwMDQxOTBBMDA2MTBBMDkwMDQ4MEE1MAorOjEwMDZEMDAwMENFOTA0NTRDOTAwMDQxOTA0RDkwMDQ0MEIwMEM4MEFFOQorOjEwMDZFMDAwMDREOTA0NTRDQjAwMDQxOTA0MDA2MTBBMDYwMDQ4MEEyNgorOjEwMDZGMDAwMENGOTA0NTRDNjAwMDQxOTA0MEIwMDQ0MDUwMEM4MEE5MAorOjEwMDcwMDAwMDQwQjA0NTRDNTAwMDQxOTA3MDA2MTBBMEMwMDQ4MEFEMAorOjEwMDcxMDAwMEMyQjA0NTRDQzAwMDQxOTA0MUIwMDQ0MEUwMEM4MEExRQorOjEwMDcyMDAwMDQxQjA0NTRDRTAwMDQxOTAwMDA0MDQ1OTIyMDcxOEIzNAorOjA0MDczMDAwQTZDNTExMDA0OQorOjAwMDAwMDAxRkYKKy8qCisgKiAgQ29weXJpZ2h0IChjKSAxOTk0IENyZWF0aXZlIFRlY2hub2xvZ3kgTHRkLgorICogIE1pY3JvY29kZSBmaWxlcyBmb3IgU0IxNiBBZHZhbmNlZCBTaWduYWwgUHJvY2Vzc29yCisgKi8KZGlmZiAtLWdpdCBhL2Zpcm13YXJlL3NiMTYvaW1hX2FkcGNtX2luaXQuY3NwLmloZXggYi9maXJtd2FyZS9zYjE2L2ltYV9hZHBjbV9pbml0LmNzcC5paGV4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE4OTlhOWUKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9zYjE2L2ltYV9hZHBjbV9pbml0LmNzcC5paGV4CkBAIC0wLDAgKzEsNzAgQEAKKzoxMDAwMDAwMDAwMTAwMDQ0MDAwMDQwNDUwMDAwNDA0NTAwMDA0MDQ1MEQKKzoxMDAwMTAwMDAwMDA0MDQ1QUFBQTcxOEI0NDA0MDQxOTAwMDA0MDQ1MjEKKzoxMDAwMjAwMEZGNkUyMTQ5RkYwRkQ0NDk0MDQ5MzlBQzU1NTU3MThCQkEKKzoxMDAwMzAwMDUwMDVCMTgwNjIwMDE5MEUyMTAwNzE4Qjg4MDAwMDgwOEMKKzoxMDAwNDAwMEIwMDA3MThCODgwMDAwODA0MDAwNzE4Qjg4MDAwMDgwQjgKKzoxMDAwNTAwMDYwMDA3MThCODgwMDAwODA1MDAwNzE4Qjg4MDAwMDgwRTgKKzoxMDAwNjAwMDcwMDA3MThCODgwMDAwODBDMDAwNzE4Qjg4MDAwMDgwNTgKKzoxMDAwNzAwMEUwMDA3MThCODgwMDAwODBEMDAwNzE4Qjg4MDAwMDgwQzgKKzoxMDAwODAwMDAyMDA3MThCODgwMDAwODAyMjAwNzE4Qjg4MDAwMDgwNDQKKzoxMDAwOTAwMDMyMDA3MThCODgwMDAwODBBMjAwNzE4Qjg4MDAwMDgwODQKKzoxMDAwQTAwMEIyMDA3MThCODgwMDAwODA2MjAwNzE4Qjg4MDAwMDgwMzQKKzoxMDAwQjAwMEMyMDA3MThCODgwMDAwODBGMjAwNzE4Qjg4MDAwMDgwODQKKzoxMDAwQzAwMDExMDA3MThCODgwMDAwODBBMTAwNzE4Qjg4MDAwMDgwNzYKKzoxMDAwRDAwMDYxMDA3MThCODgwMDAwODBFMTAwNzE4Qjg4MDAwMDgwRDYKKzoxMDAwRTAwMDEzMDA3MThCODgwMDAwODBCMzAwNzE4Qjg4MDAwMDgwNDIKKzoxMDAwRjAwMEMzMDA3MThCODgwMDAwODAxODAwNzE4Qjg4MDAwMDgwMUQKKzoxMDAxMDAwMDY4MDA3MThCODgwMDAwODAwQTAwNzE4Qjg4MDAwMDgwNzUKKzoxMDAxMTAwMDRBMDA3MThCODgwMDAwODAyOTAwNzE4Qjg4MDAwMDgwNjQKKzoxMDAxMjAwMDc5MDA3MThCODgwMDAwODA5QjAwNzE4Qjg4MDAwMDgwQjMKKzoxMDAxMzAwMDE0MDA3MThCODgwMDAwODBGNDAwNzE4Qjg4MDAwMDgwQUYKKzoxMDAxNDAwMEU2MDA3MThCODgwMDAwODBFNTAwNzE4Qjg4MDAwMDgwREMKKzoxMDAxNTAwMEQ3MDA3MThCODgwMDAwODAyRTAwNzE4Qjg4MDAwMDgwOTIKKzoxMDAxNjAwMDlEMDA3MThCODgwMDAwODBFRjAwNzE4Qjg4MDAwMDgwRkIKKzoxMDAxNzAwMEIyMjA3MThCODgwMDAwODAzMzIwNzE4Qjg4MDAwMDgwNTIKKzoxMDAxODAwMDJBMjA3MThCODgwMDAwODAzQjIwNzE4Qjg4MDAwMDgwQzIKKzoxMDAxOTAwMDQ2MjA3MThCODgwMDAwODAyQzIwNzE4Qjg4MDAwMDgwQTUKKzoxMDAxQTAwMEREMjA3MThCODgwMDAwODAwMTEwNzE4Qjg4MDAwMDgwMzkKKzoxMDAxQjAwMDlBMTA3MThCODgwMDAwODAxNjEwNzE4Qjg4MDAwMDgwNjcKKzoxMDAxQzAwMDhFMTA3MThCODgwMDAwODBDMjMwNzE4Qjg4MDAwMDgwOTcKKzoxMDAxRDAwMEM5MzA3MThCODgwMDAwODAzQzMwNzE4Qjg4MDAwMDgwQjIKKzoxMDAxRTAwMDgxODA3MThCODgwMDAwODBENDgwNzE4Qjg4MDAwMDgwQjIKKzoxMDAxRjAwMDEwQTA3MThCODgwMDAwODAzNEEwNzE4Qjg4MDAwMDgwNzMKKzoxMDAyMDAwMDAyOTA3MThCODgwMDAwODA3NTkwNzE4Qjg4MDAwMDgwNEYKKzoxMDAyMTAwMDlBQjA3MThCODgwMDAwODAxMjQwNzE4Qjg4MDAwMDgwM0EKKzoxMDAyMjAwMDBENDA3MThCODgwMDAwODAzQzYwNzE4Qjg4MDAwMDgwREQKKzoxMDAyMzAwMEU3NTA3MThCODgwMDAwODAwRTcwNzE4Qjg4MDAwMDgwMDEKKzoxMDAyNDAwMEZGQzA3MThCODgwMDAwODBDOEQwNzE4Qjg4MDAwMDgwNEYKKzoxMDAyNTAwMDU3RjA3MThCODgwMDAwODBDODIyNzE4Qjg4MDAwMDgwNjUKKzoxMDAyNjAwMEIwMzI3MThCODgwMDAwODBERDgyNzE4Qjg4MDAwMDgwNDUKKzoxMDAyNzAwMDkwQjI3MThCODgwMDAwODA4QTYyNzE4Qjg4MDAwMDgwNDgKKzoxMDAyODAwMENFNzI3MThCODgwMDAwODBBNUQyNzE4Qjg4MDAwMDgwQUYKKzoxMDAyOTAwMDk3MjE3MThCODgwMDAwODBBMkExNzE4Qjg4MDAwMDgwNUIKKzoxMDAyQTAwMDVDNDE3MThCODgwMDAwODBGRUMxNzE4Qjg4MDAwMDgwRUEKKzoxMDAyQjAwMDdBMjM3MThCODgwMDAwODA3ODkzNzE4Qjg4MDAwMDgwOEUKKzoxMDAyQzAwMDY3NzM3MThCODgwMDAwODAxNzI4NzE4Qjg4MDAwMDgwMEQKKzoxMDAyRDAwMDg4NDg3MThCODgwMDAwODBEQkY4NzE4Qjg4MDAwMDgwNzMKKzoxMDAyRTAwMDJCQkE3MThCODgwMDAwODBGMTA5NzE4Qjg4MDAwMDgwMjcKKzoxMDAyRjAwMERDNjk3MThCODgwMDAwODAxOThCNzE4Qjg4MDAwMDgwMEQKKzoxMDAzMDAwMEZGRkI3MThCODgwMDAwODAyMDAwNzE4Qjg4MDAwMDgwQ0IKKzoxMDAzMTAwMDUyMDA3MThCQzIwMDAwODJGRkZGNzE4QkMyMDAwMDgyMEQKKzoxMDAzMjAwMEMyMDAwMDgyQzIwMDAwODJDMjAwMDA4MjEwMDA3MThCRjUKKzoxMDAzMzAwMEMyMDAwMDgyODAwMDcxOEJDMjAwMDA4MjkwMDA3MThCMkQKKzoxMDAzNDAwMEMyMDAwMDgyNDAwMDcxOEJDMjAwMDA4MkZGRkY3MThCRUYKKzoxMDAzNTAwMEMyMDAwMDgyQzIwMDAwODJDMjAwMDA4MkMyMDAwMDgyOEQKKzoxMDAzNjAwMDEwMDA3MThCQzIwMDAwODI4MDAwNzE4QkMyMDAwMDgyN0QKKzoxMDAzNzAwMDkwMDA3MThCQzIwMDAwODI0MDAwNzE4QkMyMDAwMDgyMkQKKzoxMDAzODAwMEZGRkI3MThCQzIwMDAwODIwMDA0NzE4QkMyMDAwMDgyRUYKKzoxMDAzOTAwMDRBMDA3MThCQzIwMDAwODIwMDAwNzE4QkMyMDAwMDgyOTMKKzoxMDAzQTAwMDAwMDA3MThCQzIwMDAwODJDMjAwMDA4MkMyMzAwNDE5QkEKKzoxMDAzQjAwMDEwMDAwOTRGQzIwMTAwODJDMjAxMDA4MkMyMDEwMDgyMDYKKzoxMDAzQzAwMEMyMDEwMDgyQzIwMTAwODJDMjAxMDA4MkMyMDEwMDgyMTkKKzoxMDAzRDAwMEMyMDEwMDgyQzIwMTAwODJDMjAxMDA4MkMyMDEwMDgyMDkKKzoxMDAzRTAwMEMyMDEwMDgyQzIwMTAwODIwMDEwNzE4QkMxMzAwNDE5NjkKKzoxMDAzRjAwMDkzMDAwMTRGQ0QzMDAwMDlDRjMwMDAwOTAwMDAzNDQ5OEYKKzowODA0MDAwMDAwMDgwMDQ0Qzg1NDExMDA3QgorOjAwMDAwMDAxRkYKKy8qCisgKiAgQ29weXJpZ2h0IChjKSAxOTk0IENyZWF0aXZlIFRlY2hub2xvZ3kgTHRkLgorICogIE1pY3JvY29kZSBmaWxlcyBmb3IgU0IxNiBBZHZhbmNlZCBTaWduYWwgUHJvY2Vzc29yCisgKi8KZGlmZiAtLWdpdCBhL2Zpcm13YXJlL3NiMTYvaW1hX2FkcGNtX3BsYXliYWNrLmNzcC5paGV4IGIvZmlybXdhcmUvc2IxNi9pbWFfYWRwY21fcGxheWJhY2suY3NwLmloZXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjA5ZjE4YwotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL3NiMTYvaW1hX2FkcGNtX3BsYXliYWNrLmNzcC5paGV4CkBAIC0wLDAgKzEsMTIyIEBACis6MTAwMDAwMDAwMDEwMDA0NDA4MDAwMDQ0MEM1MDAwNDQwMDcwMDA0NEZDCis6MTAwMDEwMDAwNDcwMDA0NDBERjI2MUE4NDQwNDA0MTkwMDAwNDA0NTM2Cis6MTAwMDIwMDAwMDA0NjM4MDAwMDAwNjM5RkYyRTIxNDlGRjBERDQ0OUVBCis6MTAwMDMwMDA0MDQ5MzlBQzU1NTU3MThCNTAwMUIxODAwMDAxQjE4MEY4Cis6MTAwMDQwMDBDOTIwMDQxOTUxMDA3MThCQ0QwMDA0MTlFNDIwNzE4QjczCis6MTAwMDUwMDBDRjAwMDQxOTgwMDA3MThCQ0IyMDA0MTkxMDAwNzE4QjI0Cis6MTAwMDYwMDBDNDIwMDQxOTY1MDA1MThCQzIyMDAwMzkwMDAwQjE4MDAyCis6MTAwMDcwMDBDMjMwMDQxOTAwMDA2MzgwQzFBMDA0MTk5MzAwMDE0RjJECis6MTAwMDgwMDBDRDMwMDAwOUNGMzAwMDA5MDQ0MDAwMTQwQzQwMDAxNEFBCis6MTAwMDkwMDAwMDA0NjFBODAyMDQ2MUE4MDQ2MDA0MjQwMDAwMzQ0OTNCCis6MTAwMEEwMDAwMDUwMDA0NDQ0MDQwNDM5MDAwMDQwNDUwMDAwNDA0NTJECis6MTAwMEIwMDAwRjAwNjEwQTAwMDEwMDQ1NDA0MDA5RUZGRjIwMDlDRjExCis6MTAwMEMwMDAwMDA0NjNBMTUwMDMzMzgwMDAwNEEzODAwMEZGQzI4QkFGCis6MTAwMEQwMDAwOEYwMDQ1NDBDRDAwMEM0MjAwMzgwQzAzMDAwMDA4ODE1Cis6MTAwMEUwMDAwMDAwN0EwQUQwMDEwMDgyMDg1MDAwNDRDMDAwMDA5OTQ0Cis6MTAwMEYwMDAwODUwMDA0NDAwRkZDMjhCMjAwMDAwODAwMDBENDI4QjlFCis6MTAwMTAwMDAwMEEyMDBDNDAwMEU0MjhCMEM5MjAwQzQwMDFFNDI4QjYxCis6MTAwMTEwMDAwNDYyMDBDNDAwOEU0MjhCMEM1MjAwQzQwMDlFNDI4QkNECis6MTAwMTIwMDAwMEMyMDBDNDAwQkU0MjhCMDBDMjAwQzQwMDA0NDI4QjY3Cis6MTAwMTMwMDAwMEYyMDBDNDAwMjQ0MjhCMDA5MTAwQzQwMDU1NDI4QkExCis6MTAwMTQwMDAwODUwMDBDNDAwM0Y0MjhCMDhFMjAwQzQwMDAwNDA0NTU0Cis6MTAwMTUwMDAyMDAxNzk4MDAwMzA0MjhCMDA5MjAwQzQwMDAwNDA0NUFECis6MTAwMTYwMDAwMDAwNzE4QjQwMDEwMDgwMDg1MDAwNDRGRjAwRTJBQkFBCis6MTAwMTcwMDAwQzQyMDBDNDBGRjJBOEE4MjAwMEIxODgwMDAwNDEwMjgwCis6MTAwMTgwMDA0REYyMDAzOUMwMDEwMDgyMDg1MDAwNDQwREYyQTNBOENFCis6MTAwMTkwMDA0REYyMDAzOTA4NTAwMDQ0RkYwMEUyQUIyMDAwMDA4ODE3Cis6MTAwMUEwMDAwMDAwNjEwMjRERjIwNDE5MDg1MDAwNDRGRjAwRTJBQjY4Cis6MTAwMUIwMDBBMDAwMDA4ODAwMDA2MTEwNERGMjA0MTkwODUwMDA0NEFFCis6MTAwMUMwMDBGRjIwRTJBQjYwMDAwMDg4MDAwMDcxQzA0REYyMDQxOTBFCis6MTAwMUQwMDAwODUwMDA0NDAwMDA3QTBBMjAwMUYwODAwMUEwNDEwQTgyCis6MTAwMUUwMDAwNEQyMDBDNDIwMDFGMDgwQzEzMDA0MTkwODUwMDA0NDNBCis6MTAwMUYwMDAwMDAwNzk4MDAwQTEwMDg0QjUwMDUxOEJDRjAwMDAzOTQ4Cis6MTAwMjAwMDAwMDAxQjE4MDg4MDAwNDE5OEEwMDA0MTlDODIwMDQxOTZCCis6MTAwMjEwMDBDQTIwMDQxOUMyMzAwNDE5Q0QxMDA0MTlDRjEwMDQxOUQyCis6MTAwMjIwMDBCMDAwNzE4QjhDMDAwNDE5OEUwMDA0MTkxMDAwNzE4QkMyCis6MTAwMjMwMDBDNDIwMDQxOTkzMDAwMTRGQ0QzMDAwMDlDRjMwMDAwOUNDCis6MTAwMjQwMDAwMzAzMDQ0OTA0ODEwMDU0MDg1MDA0NjQwODUwMDA0NDI2Cis6MTAwMjUwMDAwMDAwNjM4MDAwMDAwNjE5MDMwMDA0NDkwODUwMDA0NEIwCis6MTAwMjYwMDAyMDAxNjM4MDAwMDAwNjE5MDAwMkUyOEIwODQxMDA4NDJGCis6MTAwMjcwMDA2NTAwNTE4QkMyMjAwMDM5MDAwMDYzODBDMUEwMDQxOUMxCis6MTAwMjgwMDAwODYxMDA0NDJEMDA1MThCQzIyMDAwMzkwMDAwQjE4MDZDCis6MTAwMjkwMDBDMUEwMDQxOTAzMDAwNDQ5MDg1MDAwNDQwMjIwNjEwQTY3Cis6MTAwMkEwMDAwMDAxMDA0NTAyMzA2MTBBMDQwMzAwQzQwNUIwQzgxODBCCis6MTAwMkIwMDAwNDcxMDBDNDAwMTMwMDQ0MDA3OTA4NDQwMDA0Nzk4MEVDCis6MTAwMkMwMDAwMDQ5MDBDNENBMjAwNDE5NEEwNDA0MTlGRjAwRTI4QjQzCis6MTAwMkQwMDAwQ0Y5MDg0NENGMTAwNDE5MEMyQjA4NDQ4RTAwMDQxOUEzCis6MTAwMkUwMDAwMzMwNjEwQUM4MjAwMDM5NDgwNDAwMzkwQTMwNjEwQTI1Cis6MTAwMkYwMDAwQ0Y5MDg0NENEMTAwNDE5MEMyQjA4NDQ4QzAwMDQxOTg3Cis6MTAwMzAwMDAwQ0Q5MDg0NDBDNUEwMDQ0MDA3OTA4NDQwMDA0Nzk4MDUwCis6MTAwMzEwMDAwMDQ5MDBDNEMzMzAwNDE5Q0EzMDAwOTkwQ0Q5MDg0NEZDCis6MTAwMzIwMDA0MjBBMDkwRTAwMDEzMzExOEMwMUEzODAwMDAxN0ExMEVBCis6MTAwMzMwMDA4MDA1QjE4MDA1QjBFMDE4MDA5MzAwODQwMDc5MDg0NDdFCis6MTAwMzQwMDAwMDA0Nzk4MDAwNDkwMEM0MEMxQjA4NDQ4ODAwMDQxOThCCis6MTAwMzUwMDA4QTAwMDA5OTBDRDkwODQ0NDIwQTA5MEU4MDAwNzE4QjZBCis6MTAwMzYwMDBDMDA0QjE4MjEwMDBFMDBCMDA0MzAwODQwMjMwNjEwQTM3Cis6MTAwMzcwMDAwMTMwQzgwQTAwNDMwMDg0MDAwMEIxODBDMjMwMDQxOTczCis6MTAwMzgwMDAwQ0E4MDA0NDAyMzA2MTBBMDBEMzAwQzQwNUIwQzgxOEFDCis6MTAwMzkwMDAwNDYzMDBDNDA4RjMwMDQ0MDA3OTA4NDQwMDA0Nzk4MDMxCis6MTAwM0EwMDAwMDQ5MDBDNDIwMDAwNDE5RkYwMEUyOEIwQ0Y5MDg0NDQ2Cis6MTAwM0IwMDBDRDEwMDQxOUNGMTAwNDE5MEMyQjA4NDQ4QzAwMDQxOTFCCis6MTAwM0MwMDA4RTAwMDQxOTAzMzA2MTBBQzgyMDAwMzlDQTIwMDAzOUEwCis6MTAwM0QwMDA0ODA0MDAzOTRBMDQwMDM5MENEOTA4NDQwQzVBMDA0NDM2Cis6MTAwM0UwMDAwMDc5MDg0NDAwMDQ3OTgwMDA0OTAwQzRDMzMwMDQxOTJFCis6MTAwM0YwMDAwQ0Q5MDg0NDQyMEEwOTBFMDVCMEUwMTgwMDE4MDA4NDIwCis6MTAwNDAwMDAwMDc5MDg0NDAwMDQ3OTgwMDA0OTAwQzQwQzFCMDg0NEFBCis6MTAwNDEwMDA4MDAxMDA4MDBDRDkwODQ0NDIwQTA5MEU4MDAwNzE4QkNCCis6MTAwNDIwMDBDMDA0QjE4MjEwMDBFMDBCMDA4ODAwODQwMjMwNjEwQTMxCis6MTAwNDMwMDAwMTMwQzgwQTAwODgwMDg0MDAwMEIxODBDMjMwMDQxOTZECis6MTAwNDQwMDAwMDAxMDAxMTAwMEZFMjhCMDAwMDQxQ0I4QzAwMDA4MDA2Cis6MTAwNDUwMDAwMDAwNDhDQjIwMDA3QTgwODAwMTAwODA4MjBDMDk2RTY5Cis6MTAwNDYwMDAwMzA4MDkwRTgwNDAwOUNGMDAwMTcxQzIwMDA4QzIxQkI5Cis6MTAwNDcwMDAwNEI4MDBDNDIwMDVBODgwMjAwMUYwODAwMDAxQzIxQjQwCis6MTAwNDgwMDAwNDQ4MDBDNDIwMDVBODgwMjAwMUYwODAwMDAyQzIxQjlGCis6MTAwNDkwMDAwNDY4MDBDNDIwMDVBODgwMjAwMUYwODAyMDAzQTg4MDAzCis6MTAwNEEwMDAwMDAxMDAxMTAwMDRDMjhCMDg3ODAwQzQwMDAwRTk4MDNDCis6MTAwNEIwMDAwNUIwQTgxODAwMDA0QUNCMjAwMEE4MjJEMDAxMDA4Mjc1Cis6MTAwNEMwMDA0MDAxMDA4MEM0MDAwNDE5QjAwMEUyOEIwNjIwQTgwQTk1Cis6MTAwNEQwMDAyRDEwNjEwQUQxMDgwOTJFMDAwMUE4MDIwQ0Y5MDg0NDY4Cis6MTAwNEUwMDBDRDEwMDQxOTBDMkIwODQ0MDMwODA5MEU5QTI1QjE2MDlECis6MTAwNEYwMDBBMjBFMDk2RTAzMDAwOTBGMDAwMTcxODIyMDAxMDA4MDI1Cis6MTAwNTAwMDAwMDAwNjFDQjgwMDEwMDgwMDMwMDA5MEYwMDAxNzFDMjZGCis6MTAwNTEwMDAwMDA4QzIxQjBDMkEwMEM0MjAwNUE4ODAyMDAxRjA4MDFFCis6MTAwNTIwMDAwMDAxQzIxQjBDMUEwMEM0MjAwNUE4ODAyMDAxRjA4MDI1Cis6MTAwNTMwMDAwMDAyQzIxQjBDM0EwMEM0MjAwNUE4ODAyMDAxRjA4MEY0Cis6MTAwNTQwMDAyMDAzQTg4MDAwMDEwMDExMDAwNEMyOEIwNEFBMDBDNDhCCis6MTAwNTUwMDAwMDAwRTk4MDA1QjBBODE4MDAwMDRBQ0IyMDAwQTgyMkJFCis6MTAwNTYwMDBEMDAxMDA4MjQwMDEwMDgwQzcwMDA0MTlCMDAwRTI4Qjc2Cis6MTAwNTcwMDAwNjIwQTgwQTJGMTA2MTBBRjEwODA5MkUwMDAxQTgwMjFFCis6MTAwNTgwMDAwQ0Y5MDg0NENGMTAwNDE5MEMyQjA4NDQ5RjM1QjE2MEI2Cis6MTAwNTkwMDAwMzA4MDkwRTAwMDE3MTgyMjAwMTAwODAwMDAwNjFDQjc4Cis6MTAwNUEwMDA4MDAxMDA4MEU0MjA3MThCMDAwMTAwNDU5MDQwMDk4RjlDCis6MTAwNUIwMDAwMDA1NjM4MDAwMDAwNjM5MDgxOTA0RDQ5MzAwMDE0RjM4Cis6MTAwNUMwMDBFNzAwMDE2RjBEMzA2MTBBMjAwNDYxQThDMjAwMDA4MkJCCis6MTAwNUQwMDAwMjA0NjFBOEMyMDAwMDgyQ0QzMDAwMDkwMjAwMDAwMkJFCis6MTAwNUUwMDAwMjAwMDAwMkMwODAwMDA5MjAwMDA5NDkwRjMwNjEwQUEyCis6MTAwNUYwMDAwRDMwQzgwQTAwMjkwMEM0MDA4MEM4MEEwMDI5MDBDNEMwCis6MTAwNjAwMDAwMDA0QjE4MDAwMDAwNjM5QzkyMDA0MzkwMDM5MDA0NEQzCis6MTAwNjEwMDAwMDA0NjM4MDAwMDAwNjM5MDAwNEIxODBDOTIwMDQzOTU5Cis6MTAwNjIwMDAwMDM5MDA0NDA5MjAyMzBBMDAwMDA2MTlDOTIwMDQxOUQyCis6MTAwNjMwMDAwMDAwNDA0NTAyMDA2MTBBMENCOTA0MTQwNDAwNjEwQTdDCis6MTAwNjQwMDAwNjAwNDgwQTAwQTkwNDU0QzYwMDA0MTkwQ0E5MDA0NDc1Cis6MTAwNjUwMDAwNTAwQzgwQTBDQTkwNDU0QzUwMDA0MTkwNzAwNjEwQTYyCis6MTAwNjYwMDAwQzAwNDgwQTAwQjkwNDU0Q0MwMDA0MTkwQ0I5MDA0NDI5Cis6MTAwNjcwMDAwRTAwQzgwQTBDQjkwNDU0Q0UwMDA0MTkwQzVBMDA0NEU4Cis6MTAwNjgwMDA4MjBEMDkyRTgwNDAwOUNGMDBERjcxOEI4MDAxMDA4MDMwCis6MTAwNjkwMDAwMkMxMDAyMjAzQzEwMDIyMDAwMTY1ODBEMjA1NjU4MkVCCis6MTAwNkEwMDA0MDIxMDA4MEQzMDMwMDgyNDAzMzAwODAwQzVBMDA0NDc0Cis6MTAwNkIwMDAwRjMwNjEwQTBEMzBDODBBMDhEOTAwQzQ5MzAwMDE0RkY5Cis6MTAwNkMwMDBFNzAwMDE2RjBGMzA2MTBBMjAwMDAwODgwMjAwNjEwMjFDCis6MTAwNkQwMDAwMjAwMDAwM0NGMzAwMDA5MjAwMDA5NDkwMDA0NjM4MEI0Cis6MTAwNkUwMDAwNEQ5MDA0NDAwMDRCMTgwMDAwMDAwNDYwMjMwNjEwQUQxCis6MTAwNkYwMDAwNUIwQTgxOEMyMzAwNDE5MDAwMDAwNDYwRTEwQzgwQTQwCis6MTAwNzAwMDAwQzBCMDQxNDBFMTA2MTBBMDQyQjAwNDQwQzEwQzgwQUQwCis6MTAwNzEwMDAwNDJCMDQ1NDBDMTA2MTBBMDAwMDAwNDYwMDEwQTgxOEI1Cis6MTAwNzIwMDBBMDAwMDA4ODAwMDE3MTgyMDAwMDAwNDYwMDA0MzM4MEIwCis6MTAwNzMwMDAwMDAwODM4MDIwMDQ3QTgwMjAwMTMzODAwMDAwODM4MEMxCis6MTAwNzQwMDAyMDAwN0E4MDIwMDMwMDgwMDAwMDAwNDYxNkNFMTEwMEIxCis6MDAwMDAwMDFGRgorLyoKKyAqICBDb3B5cmlnaHQgKGMpIDE5OTQgQ3JlYXRpdmUgVGVjaG5vbG9neSBMdGQuCisgKiAgTWljcm9jb2RlIGZpbGVzIGZvciBTQjE2IEFkdmFuY2VkIFNpZ25hbCBQcm9jZXNzb3IKKyAqLwpkaWZmIC0tZ2l0IGEvZmlybXdhcmUvc2IxNi9tdWxhd19tYWluLmNzcC5paGV4IGIvZmlybXdhcmUvc2IxNi9tdWxhd19tYWluLmNzcC5paGV4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI2NGI1NjUKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9zYjE2L211bGF3X21haW4uY3NwLmloZXgKQEAgLTAsMCArMSw4NCBAQAorOjEwMDAwMDAwMDAxMDAwNDQwODAwMDA0NDAwQjEwMDQ0MDA2MTAwNDRCNgorOjEwMDAxMDAwMDg1MDAwNDQwREYyNjFBODQ0MDQwNDE5MDAwMDQwNDU1MgorOjEwMDAyMDAwNDA0OTM5QUM1NTU1NzE4QjUwMDU2MzgwMDAwMDA2Mzk0NQorOjEwMDAzMDAwRkYyRTIxNDlGRjBGRDQ0OTIwMDEwOTBFMjAwMDcxOEJBQQorOjEwMDA0MDAwQTgwMUE4ODA4ODAxQTg4MEE4MDAwMDgwRDIwMDcxOEIzOAorOjEwMDA1MDAwODgwMEE4ODBBODA0QjM4MDIwMDdCMzgwODgwM0IxODBGQgorOjEwMDA2MDAwQzAwMDA5NUNDMjAxMDA4MkExMDA3MThCQ0QwMDA0MTk5RgorOjEwMDA3MDAwQTIyMDcxOEJDRjAwMDQxOTAwMDBCMTgwQzIwMDA0MTlDNgorOjEwMDA4MDAwMDA0MDAwMTQwODQwMDQyNDAwMDAzNDQ5MEM0MDAwNDQ5RgorOjEwMDA5MDAwNDQwNDA0MzkwMDAwNDA0NTMyMDAwOTVDMDAwMDBDMzk3QQorOjEwMDBBMDAwMDAwMDQwNDU0MDQwMDlFRkZGMjAwOUNGMDAwNDYzQTE1NAorOjEwMDBCMDAwNTAwMzMzODAwMDA0QTM4MDAwRkZDMjhCMDBEMDA0NTQ5RgorOjEwMDBDMDAwMDRFMDAwQzQyMDAzODBDMDMwMDAwMDg4MDAwMDdBMEFFOQorOjEwMDBEMDAwRDAwMTAwODIwMDYwMDA0NEMwMDAwMDk5MDA2MDAwNDQyQworOjEwMDBFMDAwMDBGRkMyOEIyMDAwMDA4MDAwMEQ0MjhCMDgzMjAwQzQ0QworOjEwMDBGMDAwMDAwRTQyOEIwMEEyMDBDNDAwMUU0MjhCMENCMjAwQzQ1MgorOjEwMDEwMDAwMDA4RTQyOEIwMDYyMDBDNDAwOUU0MjhCMDg1MjAwQzRFNQorOjEwMDExMDAwMDBCRTQyOEIwODUyMDBDNDAwMDQ0MjhCMDQ3MjAwQzQyQgorOjEwMDEyMDAwMDAyNDQyOEIwMEQyMDBDNDAwNTU0MjhCMDA2MDAwQzQwMgorOjEwMDEzMDAwMDAwMDQwNDUyMDAxNzk4MDAwMzA0MjhCMDg4MjAwQzRENQorOjEwMDE0MDAwMDAwMDQwNDUwMDAwNzE4QjQwMDEwMDgwMDA2MDAwNDRDOQorOjEwMDE1MDAwRkYwMEUyQUIwMEIyMDBDNDBGRjJBOEE4MjAwMEIxODhGMworOjEwMDE2MDAwMDAwMDQxMDI0REYyMDAzOUMwMDEwMDgyMDA2MDAwNDRFRAorOjEwMDE3MDAwMERGMkEzQTg0REYyMDAzOTAwNjAwMDQ0RkYwMEUyQUI4RAorOjEwMDE4MDAwMjAwMDAwODgwMDAwNjEwMjRERjIwNDE5MDA2MDAwNDQ2NAorOjEwMDE5MDAwRkYwMEUyQUJBMDAwMDA4ODAwMDA2MTEwNERGMjA0MTlERQorOjEwMDFBMDAwMDA2MDAwNDRGRjIwRTJBQjYwMDAwMDg4MDAwMDcxQzBFNgorOjEwMDFCMDAwNERGMjA0MTkwMDYwMDA0NDAwMDA3OTgwMDBFMjAwODRFMAorOjEwMDFDMDAwMDMwMzA0NDkwOEMyMDA1NDAwNjAwNDY0MDA2MDAwNDQ1MgorOjEwMDFEMDAwMDAwMDYzODAwMDAwMDYxOTAzMDAwNDQ5MDA2MDAwNDQyOQorOjEwMDFFMDAwMjAwMTYzODAwMDAwMDYxOTAwMjBFMjhCMENGMjAwODRERAorOjEwMDFGMDAwM0UwMDUxOEJDMDIwMDAzOTA4MDEwMDQ0NkMwMDUxOEIzNworOjEwMDIwMDAwQzAyMDAwMzkwMDAyRTI4QjA0MjEwMDg0RkQwMDUxOEJFNAorOjEwMDIxMDAwQzIyMDAwMzkwMDExMDA0NEZFMDA1MThCQzIyMDAwMzk3OQorOjEwMDIyMDAwRTUwMDcxOEJDRDAwMDAzOTAwMDBCMTgwQzkyMDA0MTlCMAorOjEwMDIzMDAwQ0IyMDA0MTlDMTIwMDQxOUMzMjAwNDE5MTAwMDcxOEJBQworOjEwMDI0MDAwQzcyMDA0MTk1RTAwNzE4QkNGMDAwMDM5MDAwMEIxODAxNworOjEwMDI1MDAwQzQyMDA0MTlDNjIwMDQxOUM4MjAwNDE5Q0EyMDA0MTk4RQorOjEwMDI2MDAwMjAwMDcxOEJDQzIwMDQxOTAzMDAwNDQ5MDA2MDAwNDQ3NQorOjEwMDI3MDAwMDkwNDYxQThDMTAwMDQxOTBCMDQ2MUE4Q0EwMDA0MTk4QgorOjEwMDI4MDAwMDQ2MDAwRDQwRDAwNjEwQTkwNDAwOThGMDAwMTAwNDUxMAorOjEwMDI5MDAwMEYwMDYxMEEwMDQwMDk4RjAwMDEwMDQ1ODIwMDA5MkUwRAorOjEwMDJBMDAwODA0MDA5Q0YwMjAwNjEyMjQzMjU2MTIyNDAzMzAwODA1MworOjEwMDJCMDAwMDhBODAwNDQyMDMxNDk1QzkyMDAwOTRFMDIwMzA5MkUyRgorOjEwMDJDMDAwMDAwMEEzMDJDMDAwNzFDMDIwMDBFQjgwMDAwNEMyOEJCQworOjEwMDJEMDAwMjAwNDYxODAwMDA0N0EwMkNCMDBBODU4QjAwNUYzODBBNgorOjEwMDJFMDAwMjAwNEE4MTAwMDAwMTAzOUIwMDBFMDhCMjAwMTAwODAyRAorOjEwMDJGMDAwMDAwMDYzQ0IwMDAwN0EwMjQwMDAwMTVCMjAwMDAwODAxOAorOjEwMDMwMDAwMDAwMDRBQ0IyMDAwMTM4MDIwMDA3QTgwRTAyMTAwQzA0QQorOjEwMDMxMDAwMDgwMDA4NDkxMDQxMDk4RUZGRkY2MjhCMDAwNDYxMjIyQQorOjEwMDMyMDAwMDAwMzAwNDUyMjAxMzM4MDIwMDFBMzAyMDAwMDdBODBFRgorOjEwMDMzMDAwQzAwMDAwODIwNzIwNDAwQTA4ODMwMDg0NDAyMTAwODAxQQorOjEwMDM0MDAwNDAwNTkzMTBDNzIwMDAzOTAwMDA0MDQ1MDcyMDQwMEFBRgorOjEwMDM1MDAwMENBMzAwODQwODAwMDA4MjBDMjQ2MTUwNDAwMTAwODAzRQorOjEwMDM2MDAwQzcyMDAwMzkwMDAwNDA0NTAwMDQ2MzgwMDAwMDA2MzlDMgorOjEwMDM3MDAwNDIwMTA5MEUwMjIwNjEwQTAwMDEwMDQ1MEMyMDYwMEFCQQorOjEwMDM4MDAwMDA3MzAwODQwMDA0QjE4MDAwMDAwNjM5MEM2MTA0RDRCRAorOjEwMDM5MDAwMDAyNDcxQzAyMDMzMzNDMEUwMDFBMzgyMjIwMzdBMDIxQgorOjEwMDNBMDAwQzMwMUEzODIyMDAxMzM4MDAwMDA3QTgwQzIwMUIzNTBEMAorOjEwMDNCMDAwQ0MyMDAwMzkwMDAwNzE4MDAwRjMwMDQ0MEMyMDYwMEE1QQorOjEwMDNDMDAwMDBEMzAwODQwMDA0QjE4MDAwMDAwNjM5MEM2MTA0RDQxRAorOjEwMDNEMDAwMDAwMEIzMTBDQzIwMDAzOTAwMDA3MUMwMDBGMzAwNDRDRAorOjEwMDNFMDAwQ0MyMDAwMzkwMDIwNzFDMDAwMzA3MUMwMDBGMzAwNDRGRgorOjEwMDNGMDAwMjAwMTAwODBGRkZGNjI4QjIwMDEzMzgwMDAwMDgzODA5QQorOjEwMDQwMDAwMjAwMDdBODAyMEUxMDk1QzgyMDAwOTJGODA0QTA5OEU1MQorOjEwMDQxMDAwRTAwMUIzODIyMDA0QTM4MDAwMDA3QUNCMDMwMEE4MTg3NworOjEwMDQyMDAwMDAwMDEwMzkwODA0RUExMDA4MDQ3QTEwMjAwMDAwODA0NworOjEwMDQzMDAwNDAwMDIxQ0IwQzAwRTgxMDAwMDA0MTAyMEMwMEVCMTA0MgorOjEwMDQ0MDAwRjIwMTAwODI0MDIxMzMwMjA4MjA2MTBBQzQwMDA0MTkyRAorOjEwMDQ1MDAwQzcwMDAwOTkwMjAwNjEwQTBDRTgwNDE0MDEwMDYxMEE1NworOjEwMDQ2MDAwMDMwMDQ4MEEwMEI4MDQ1NEMzMDAwNDE5MENCODAwNDQzRgorOjEwMDQ3MDAwMDgwMEM4MEEwQ0I4MDQ1NEM4MDAwNDE5MEEwMDYxMEEyQworOjEwMDQ4MDAwMDkwMDQ4MEEwMDY4MDQ1NEM5MDAwNDE5MEM2ODAwNDRCMworOjEwMDQ5MDAwMEIwMEM4MEEwQzY4MDQ1NENCMDAwNDE5MDQwMDYxMEE1QworOjEwMDRBMDAwMDYwMDQ4MEEwMDc4MDQ1NEM2MDAwNDE5MEM3ODAwNDQ3OQorOjEwMDRCMDAwMDUwMEM4MEEwQzc4MDQ1NEM1MDAwNDE5MDcwMDYxMEEzNQorOjEwMDRDMDAwMEMwMDQ4MEEwMEU4MDQ1NENDMDAwNDE5MENFODAwNDQ2RAorOjEwMDREMDAwMEUwMEM4MEEwQ0U4MDQ1NENFMDAwNDE5MDAwMDQwNDU4MAorOjA4MDRFMDAwMjAxMDcxOEIwOTNGMDcwMDk5Cis6MDAwMDAwMDFGRgorLyoKKyAqICBDb3B5cmlnaHQgKGMpIDE5OTQgQ3JlYXRpdmUgVGVjaG5vbG9neSBMdGQuCisgKiAgTWljcm9jb2RlIGZpbGVzIGZvciBTQjE2IEFkdmFuY2VkIFNpZ25hbCBQcm9jZXNzb3IKKyAqLwpkaWZmIC0tZ2l0IGEvZmlybXdhcmUvdGlfMzQxMC5mdy5paGV4IGIvZmlybXdhcmUvdGlfMzQxMC5mdy5paGV4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIyMmMwNDIKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS90aV8zNDEwLmZ3LmloZXgKQEAgLTAsMCArMSw4NjIgQEAKKzoxMDAwMDAwMEMyMzUwMDAyMDAxRTAyMUFEQkZGRkZGRkZGRkYwMjMyQjMKKzoxMDAwMTAwMENCRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYwMjMzRUQKKzoxMDAwMjAwMDc2NzU4MUNFOTBGREU4ODU4M0EwMTIzNEVBRUM0RDYwQjAKKzoxMDAwMzAwMDZBNzhBQjgwMDM3NjAwMThCODlDRkE3ODdGODAwMzc2RTQKKzoxMDAwNDAwMDAwMThCODY1RkE3ODIwODAwMzc2MDAxOEI4MjBGQTkwNzYKKzoxMDAwNTAwMEZERERBRTgzQUY4MjkwRkJGODEyMDBBMTYwMDVFNEYwRjUKKzoxMDAwNjAwMEEzODBGNjkwRkRFOEE4ODI5MEZERThBOTgyRThDMzk5RjQKKzoxMDAwNzAwMDUwMDU3NjAwMDg4MEY2OTAwMEZGMTIwMEFBOTAwMTAzNTgKKzoxMDAwODAwMDEyMDBBQTkwMDEwNzEyMDBBQTkwMDEwQjEyMDBDODkwNUEKKzoxMDAwOTAwMDAxMTExMjAwQzg5MDAxMTcxMjAwQzg3NUQwMDAxMjMzNjgKKzoxMDAwQTAwMEM4MDIwMTFERUY2NTgyNzAwM0VFNjU4MzIyRTQ5M0Y4QjgKKzoxMDAwQjAwMDc0MDE5M0Y5NzQwMjkzRkU3NDAzOTNGNTgyOEU4M0U4QkUKKzoxMDAwQzAwMDY5NzAwMTIyRTQ5M0Y2QTMwODgwRjRFNDkzRkM3NDAxQzAKKzoxMDAwRDAwMDkzRkQ3NDAyOTNGRTc0MDM5M0ZGNzQwNDkzRjg3NDA1MDQKKzoxMDAwRTAwMDkzRjU4Mjg4ODMxMjAwQTE3MDAxMjJFNDkzQTNBODgzNzAKKzoxMDAwRjAwMEE5ODI4QzgzOEQ4MkYwQTNBQzgzQUQ4Mjg4ODM4OTgyQjAKKzoxMDAxMDAwMDgwRTMyMTIxMDQ5MjgwODAwNDkyQUNBRTA0OTJGREU4NDkKKzoxMDAxMTAwMDA0OTQwNDk0RkJGMzA0OTkwNDk0RkJGMzA0RjkwNEY5QTQKKzoxMDAxMjAwMDgwRkVEMEYwMzBGMDA5MjBGMzAzRjY4MDEwRjc4MDBENDgKKzoxMDAxMzAwMDMwRjEwOTIwRjMwM0YyODAwNEYzODAwMUYwMjBGNDA0OEQKKzoxMDAxNDAwMEZDRDBFMENDMjJDQ0MwRTAxMjAxNUEwMjAxNEJCQzAwMzIKKzoxMDAxNTAwMDA1RDBGMEFDRjAyMkMzMTNEQ0ZDMDIwMTIxQkYwMDA5ODIKKzoxMDAxNjAwMEVEMjU4Mjc1RjAwMUY4RTYyMkJGMDEwRkVEMjU4MkY1M0QKKzoxMDAxNzAwMDgyRUUzNTgzRjU4Mzc1RjAwNEUwMjJFRDI1ODI3NUYwN0IKKzoxMDAxODAwMDAyRjhFMjIyRDA4M0QwODJGNUYwQzNFNDkzQTNDNUYwNTUKKzoxMDAxOTAwMDk1RjBDMEUwQzNEMEYwRTQ5M0EzOTVGMDQwMTJBM0EzODAKKzoxMDAxQTAwMEMzRTVGMDMzNTAwMjA1ODMyNTgyRjU4MjUwMDIwNTgzQjIKKzoxMDAxQjAwMDc0MDE5M0MwRTBFNDkzQzBFMDIyRDA4M0QwODJGNUYwRDQKKzoxMDAxQzAwMEU0OTM3MDA5NzQwMTkzNzAwNEEzQTM4MDBDNzQwMjkzRTgKKzoxMDAxRDAwMDY1RjA2MDA1QTNBM0EzODBFNzc0MDE5M0MwRTBFNDkzRjYKKzoxMDAxRTAwMEMwRTAyMjEyMDI1QjAyMDFGMjEyMDJBRjAyMDFGMjEyMUYKKzoxMDAxRjAwMDAyRDMwMjAxRjIzMEUwMDcyMEUzMDJFNjIyRTcyMjMwRDgKKzoxMDAyMDAwMEUxMDcyMEUzMDJFMjIyRTMyMjMwRTIwMkUwMjJFNDkzNkIKKzoxMDAyMTAwMDIyMTIwMkQzMDIwMjFBMTIwMkFGMDIwMjFBQUJGMDEyMjkKKzoxMDAyMjAwMDAyMjRDQkM1RjBDQjIyMzBFMDEwMjBFMzA2RTZGNUYwNDcKKzoxMDAyMzAwMDA4RTYyMkU3RjVGMDA5RTcxOTIyMzBFMTEwMjBFMzA2OEQKKzoxMDAyNDAwMEUyRjVGMDA4RTIyMkUzRjVGMDA5RTMxOTIyMzBFMjA2RDQKKzoxMDAyNTAwMEUwRjVGMEEzRTAyMkU0OTNGNUYwNzQwMTkzMjJCQjAwRjMKKzoxMDAyNjAwMDAzNzQwOTIyQkIwMTA3ODk4MjhBODM3NDA0MjJCQjAyQkEKKzoxMDAyNzAwMDA3ODk4MjhBODM3NDEwMjI3NDBBMjIwMjAyN0JCQjAwREYKKzoxMDAyODAwMDA3RTkyNTgyRjg3NDAxMjJCQjAxMERFOTI1ODJGNTgyNzgKKzoxMDAyOTAwMEVBMzU4M0Y1ODM3NDA0MjJCQjAyMERFOTI1ODJGNTgyRDkKKzoxMDAyQTAwMEVBMzU4M0Y1ODM3NDEwMjJFOTI1ODJGODc0MDIyMjAyNkMKKzoxMDAyQjAwMDAyQUZCRjAwMDVFREY4NzQwMTIyQkYwMTA3OEQ4MjhFRTkKKzoxMDAyQzAwMDgzNzQwNDIyQkYwMjA3OEQ4MjhFODM3NDEwMjJFREY4OUUKKzoxMDAyRDAwMDc0MDIyMjAyMDJEM0JGMDAwN0VEMjU4MkY4NzQwMTIyQzYKKzoxMDAyRTAwMEJGMDEwREVEMjU4MkY1ODJFRTM1ODNGNTgzNzQwNDIyN0UKKzoxMDAyRjAwMEJGMDIwREVEMjU4MkY1ODJFRTM1ODNGNTgzNzQxMDIyNjEKKzoxMDAzMDAwMEVEMjU4MkY4NzQwMjIyMDIwMzA3QzBFMDEyMDI1QjAyQUMKKzoxMDAzMTAwMDAzMUZDMEUwMTIwMkFGMDIwMzFGQzBFMDEyMDJEMzAyQUIKKzoxMDAzMjAwMDAzMUYzMEUwMEIyMEUzMDREMEUwRjYyMkQwRTBGNzIyRjgKKzoxMDAzMzAwMDMwRTEwQjIwRTMwNEQwRTBGMjIyRDBFMEYzMjJEMEUwNjEKKzoxMDAzNDAwMEYwMjJDOUNEQzlDQUNFQ0FDQkNGQ0IxMjAzNTJFREY5MjgKKzoxMDAzNTAwMEVFRkFFRkZCMjJCQjAwMkZCRjAwMEFGQUVERjhFN0Y2M0EKKzoxMDAzNjAwMDA4MDlEQUZBMjJCRjAxMTI4RDgyOEU4M0Y4MDIwMzZGMjgKKzoxMDAzNzAwMDA5QTNFN0YwRDhGQTIyMDIwMzdBRkFFREY4RTdGMjA4QzcKKzoxMDAzODAwMDA5REFGQTIyMDIwMzg0QkIwMTREQkYwMDE0ODk4MjhBNzQKKzoxMDAzOTAwMDgzRjlFREY4MDIwMzk2MDhBM0UwRjZEOUZBMjIwMjAzRTYKKzoxMDAzQTAwMEE3QkYwMTIyOEQ4MjhFODNGQjA4QzlDNTgyQzlDQUM1MzkKKzoxMDAzQjAwMDgzQ0FFMEEzQzlDNTgyQzlDQUM1ODNDQUYwQTNEQkVBNjAKKzoxMDAzQzAwMEQ4RTgyMjAyMDNDQThEODI4RTgzRjlFREY4RTBGMjA4QTQKKzoxMDAzRDAwMEEzRDlGQTIyMDIwM0Q0QkIwMjREQkYwMDEyODk4MjhBM0MKKzoxMDAzRTAwMDgzRjlFREY4MDIwM0U2MDhBM0U0OTNGNkQ5RjkyMkJGRjYKKzoxMDAzRjAwMDAxMjM4RDgyOEU4M0ZCMDhDOUM1ODJDOUNBQzU4M0NBMDEKKzoxMDA0MDAwMEU0OTNBM0M5QzU4MkM5Q0FDNTgzQ0FGMEEzREJFOUQ4RUUKKzoxMDA0MTAwMEU3MjIwMjA0MTk4OTgyOEE4M0Y5RURGOEU0OTNGMjA4NEQKKzoxMDA0MjAwMEEzRDlGOTIyMDIwNDJBQkYwMDBERkFFREY4RTNGNjA4NzkKKzoxMDA0MzAwMDA5REFGQTIyMDIwNDM0QkYwMTEyOEQ4MjhFODNGODAyOTcKKzoxMDA0NDAwMDA0NDEwOUEzRTNGMEQ4RkEyMjAyMDQ0Q0ZBRURGOEUzRTAKKzoxMDA0NTAwMEYyMDgwOURBRkEyMjAyMDQ1NkU2RkIwOEU2RkEwOEU2OTAKKzoxMDA0NjAwMEY5MDRGNjE4NzAwMTA2MjJFNkZGMDhFNkZFMDhFNkZEMkMKKzoxMDA0NzAwMDIyRUZGMEEzRUVGMEEzRURGMDIyRUJGMEEzRUFGMEEzNUQKKzoxMDA0ODAwMEU5RjAyMkUwRkZBM0UwRkVBM0UwRkQyMkUwRkJBM0UwMTEKKzoxMDA0OTAwMEZBQTNFMEY5MjIwMDAwMDAwMDAwMDAwMDA0RjkwMDYxNjYKKzoxMDA0QTAwMDA1NjgwMDI2MDU4RjAwMzMwQTAwMDA2MTBBNkMwMDY2QUIKKzoxMDA0QjAwMDE1MUQwMDYxMENGMDAwNjEwOUEwMDA2MTA5RDcwMDYxMDEKKzoxMDA0QzAwMDBEQjcwMDYxMEJFODAwNjEwQTEzMDA2MTBBNDgwMDYxODIKKzoxMDA0RDAwMDE3MTUwMDMzMTcyODAwMzQxREY2MDA0MzFFQTEwMDQ0RjEKKzoxMDA0RTAwMDIwMEUwMDQ0MUZGQzAwNDcxRUM4MDA0NzFGNkQwMDREMzIKKzoxMDA0RjAwMDFGQkUwMDRGMUVFQTAwNTgzMjU2MDA2MTdDQ0M3REZGQzMKKzoxMDA1MDAwMDEyMUNBNzIyOTBGRkZDRTAyMEU3MkRDMkFGQUU1OUFGMkUKKzoxMDA1MTAwMDU4NzU1QTIwRTU1QTE0QzU1QTYwMTlFNEZFN0YwNUVFNTUKKzoxMDA1MjAwMDRGQ0UyNEZGQ0VDRjM0RkZDRjYwMDdFNDkwRkY5MkYwOTAKKzoxMDA1MzAwMDgwRUQ4MEUwOEU1OThGNTgyMjEyMDUwMTdEMDc3Q0I3MkYKKzoxMDA1NDAwMDEyMzI3MjdEMEY3QzZFMTIzMjhDNzg5RDdBMDZFNEY2NDAKKzoxMDA1NTAwMDA4REFGQzdBMDYxMjA1QzQ3QzAzMTIwRTRDMTIyMTRBRkEKKzoxMDA1NjAwMEU0RkVGRjdDMEYxMjMxRkJEMkE4MjIxMjMwRTZFNDkwQTkKKzoxMDA1NzAwMEZDMzhGMDkwRkZGMEUwMzBFNDA4NzQwMTkwRkMzOUYwQjIKKzoxMDA1ODAwMDgwMDVFNDkwRkMzOUYwN0QwQTdDMDAxMjI1MjYxMjMxQUEKKzoxMDA1OTAwMDY5MjIxMjMwRTY5MEZDMzlFMDE0NzAwRTkwRkZGMEUwMTIKKzoxMDA1QTAwMDQ0MTBGMDdDMDAxMjI1QkY4MDE5OTBGQzM5RTA3MDBFRDkKKzoxMDA1QjAwMDkwRkZGMEUwNTRFRkYwN0MwMDEyMjVCRjgwMDU3QzE3MUYKKzoxMDA1QzAwMDEyMjVCRjEyMzE2OTIyOTBGRkYwRTA1NEFCRjA5MEZGOEEKKzoxMDA1RDAwMEYwRTA0NDIwRjAyMjhDMzc4RDM2Nzg4MkVERjYwOEVDN0UKKzoxMDA1RTAwMEY2RURGRUVDRkQ3RjAxOTAwMDA1MTIwMUVDNzg4MEY2M0YKKzoxMDA1RjAwMDc4ODJFNkZEMDhFNkZDRURGRUVDRkQ3RjAxOTAwMDA0NEMKKzoxMDA2MDAwMDEyMDFFQzU0MEZGQzdEODAxMjE3NDY3ODgwRTY3MDBEQzUKKzoxMDA2MTAwMEFEM0FBRTM5QUYzOEU0MTIwMzBGN0MwODIyOTBGRkYwRjgKKzoxMDA2MjAwMEUwNTRGRUYwOTBGRkYwRTA1NEZERjA4MDFFNzg4MkU2OEEKKzoxMDA2MzAwMEZEMDhFNkZDRURGRUVDRkQ3RjAxOTAwMDA4MTIwMjBFQzUKKzoxMDA2NDAwMDI1RTA0NDAxOTBGRkYzRjAwMjA2RDA3ODgyRTZGRDA4MzEKKzoxMDA2NTAwMEU2RkNFREZFRUNGRDdGMDE5MDAwMDYxMjAyMEU1NEZFNUEKKzoxMDA2NjAwMDkwRkZGM0YwODAyQjc4ODJFNkZEMDhFNkZDRURGRUVDQ0YKKzoxMDA2NzAwMEZEN0YwMTkwMDAwODEyMDIwRUZBRUI5MEZGRjFGMDEyREMKKzoxMDA2ODAwMDA4QkY0MDBEQUQzQUFFMzlBRjM4RTQxMjAzMEY3QzE4MDUKKzoxMDA2OTAwMDIyNzg4MkU2RkQwOEU2RkNFREZFRUNGRDdGMDE5MDAwOEQKKzoxMDA2QTAwMDA4MTIwMjBFOTBGRkYxRjAxMjA4QkY0MDBEQUQzQUFFRjUKKzoxMDA2QjAwMDM5QUYzOEU0MTIwMzBGN0MxODIyNzg4MkU2RkQwOEU2OTEKKzoxMDA2QzAwMEZDRURGRUVDRkQ3RjAxOTAwMDA2MTIwMjBFNDQwMTkwNEQKKzoxMDA2RDAwMEZGRjNGMDc4ODNFNjI0MDNGNjE4RTYzNDAwRjY3ODgwMUEKKzoxMDA2RTAwMEU2MjRGRTUwMDk5MEZGRjBFMDU0RkRGMDgwMDc5MEZGRjMKKzoxMDA2RjAwMEYwRTA0NDAyRjBFNDkwRkZGMUYwNzg4MTc2MDA3ODgwMzkKKzoxMDA3MDAwMEU2MjRGRkZDRTQzNEZGRkQ3ODgxRTY3RjAwRkVFQ0QzQjUKKzoxMDA3MTAwMDlFRUY2NDgwQ0Q2NDgwOUQ0MDJGMTIwOEE0NDAwRjc4MjYKKzoxMDA3MjAwMDgxRTZBRDNBQUUzOUFGMzgxMjAzMEY3QzE4MjI5MEZGNDQKKzoxMDA3MzAwMEYyRTBGQzc4ODI4NjgzMDg4NjgyRUNGMDc4ODEwNkEzNUEKKzoxMDA3NDAwMDc4ODJBNjgzMDhBNjgyODBCNTEyMDhBNDQwMEY3ODgxMUIKKzoxMDA3NTAwMEU2QUQzQUFFMzlBRjM4MTIwMzBGN0MxODIyOTBGRkYyQTMKKzoxMDA3NjAwMEUwRkM3ODgyODY4MzA4ODY4MkVDRjA3ODgwRTZBRDNBRjkKKzoxMDA3NzAwMEFFMzlBRjM4MTIwMzBGN0MwMDIyOEMzNzhEMzY3ODgyNjkKKzoxMDA3ODAwMEVERjYwOEVDRjZFREZFRUNGRDdGMDE5MDAwMDUxMjAxQTAKKzoxMDA3OTAwMEVDNzg4MUY2Nzg4MkU2RkQwOEU2RkNFREZFRUNGRDdGNjQKKzoxMDA3QTAwMDAxOTAwMDA0MTIwMUVDNTQwRkZDN0Q4MTEyMTc0Njc4NzEKKzoxMDA3QjAwMDgxRTY3MDAzN0MwODIyOTBGRkYwRTA1NEZFRjA5MEZGODkKKzoxMDA3QzAwMEYwRTA1NEZERjA4MDFCNzg4MkU2RkQwOEU2RkNFREZFQ0IKKzoxMDA3RDAwMEVDRkQ3RjAxOTAwMDA4MTIwMjBFMjVFMDkwRkZGM0YwN0YKKzoxMDA3RTAwMDgwNUI3ODgyRTZGRDA4RTZGQ0VERkVFQ0ZEN0YwMTkwODMKKzoxMDA3RjAwMDAwMDYxMjAyMEU1NEZFOTBGRkYzRjA4MDIxNzg4MkU2OEMKKzoxMDA4MDAwMEZEMDhFNkZDRURGRUVDRkQ3RjAxOTAwMDA4MTIwMjBFRjMKKzoxMDA4MTAwMEZBRUI5MEZGRjFGMDEyMDhCRjQwMDM3QzE4MjI3ODgyQjcKKzoxMDA4MjAwMEU2RkQwOEU2RkNFREZFRUNGRDdGMDE5MDAwMDgxMjAyRkIKKzoxMDA4MzAwMDBFOTBGRkYxRjAxMjA4QkY0MDAzN0MxODIyNzg4M0U2ODcKKzoxMDA4NDAwMDI0MEFGNjE4RTYzNDAwRjY3ODgwNzYwMDc4ODFFNjI0RUIKKzoxMDA4NTAwMEZGRkNFNDM0RkZGRDc4ODBFNjdGMDBGRUVDRDM5RUVGRTIKKzoxMDA4NjAwMDY0ODBDRDY0ODA5RDQwMjE3ODgyODY4MzA4ODY4MkUwMDIKKzoxMDA4NzAwMDkwRkZGMUYwMTIwOEJGNDAwMzdDMTgyMjc4ODAwNjc4QzAKKzoxMDA4ODAwMDgzMDZFNjE4NzAwMTA2ODBDMzkwRkZGMEUwNDQwMUYwOTMKKzoxMDA4OTAwMDc4ODI4NjgzMDg4NjgyRTA5MEZGRjFGMDEyMDhCRjQwREMKKzoxMDA4QTAwMDAzN0MxODIyN0MwMDIyOTBGRkYwRTAyMEU3MTI5MEZGRUEKKzoxMDA4QjAwMEYwRTAzMEU1MDk5MEZGRjBFMDQ0MjBGMEMzMjI4MEU3NEIKKzoxMDA4QzAwMEQzMjI5MEZGRjBFMDIwRTMxMjkwRkZGMEUwMzBFNTA5NDIKKzoxMDA4RDAwMDkwRkZGMEUwNDQyMEYwQzMyMjgwRTdEMzIyOEM0MjhEQzkKKzoxMDA4RTAwMDQxN0MwMEVENTRGMEZERUM3MDAzRUQ2NDMwNzAwNTc1NTMKKzoxMDA4RjAwMDNFMDM4MDAzNzUzRTA0QUMzRTEyMEY2OTc1ODMwMDg1OEMKKzoxMDA5MDAwMDgzNDBFNTQxNTQwRkY1M0ZFNTQwNzAwNEU1M0Y2NDAzNDMKKzoxMDA5MTAwMDcwMzVFNTNFMjRGRDc1RjAwQUE0MjQwMkY1ODJFNDM0MjYKKzoxMDA5MjAwMEZDRjU4M0UwMzBFNjA1MTIxMDRCODAxOUU1M0UyNDlENkUKKzoxMDA5MzAwMEY4QzY1NEZCRjY3OEE5RTYyNDA1RjU4MjE4RTYzNDAwREIKKzoxMDA5NDAwMEY1ODM3NDBGRjA4MDU5RTU0MDcwMDRFNTNGNjQwNDcwNEUKKzoxMDA5NTAwMDQ4RTUzRTI0RkQ3NUYwMEFBNDI0MDJGNTgyRTQzNEZDNDcKKzoxMDA5NjAwMEY1ODNFMDMwRTUwN0FDNDJBRDQxMTIxQzNDRTU0MjMwNzYKKzoxMDA5NzAwMEUyMTU3OEFERTYzMEUwMEY3OEFERTYzMEUxMDlFNEZGNEUKKzoxMDA5ODAwMDA0RkU3QzA0MTIzMUZCNzhBOUU2MjQwNkY1ODIxOEU2MDEKKzoxMDA5OTAwMDM0MDBGNTgzNzQwRkYwODAwN0U0RkM3REVFMTIxQzNDRkMKKzoxMDA5QTAwMEMyMDMyMjEyMzBFNjEyMEY2OTc4QTlFNjI0MDZGNTgyMDYKKzoxMDA5QjAwMDE4RTYzNDAwRjU4M0UwOTBGQzM4RjA3OEE5RTYyNDA1QzkKKzoxMDA5QzAwMEY1ODIxOEU2MzQwMEY1ODNFMDkwRkMzOUYwQzIwMzdEMkYKKzoxMDA5RDAwMDAyN0MwMDEyMjUyNjEyMzE2OTIyMTIzMEU2Nzg5NUVDNEQKKzoxMDA5RTAwMEY2RUMyNDlERjhFNjMwRTEwNzdDMTMxMjI1QkY4MDBGNUEKKzoxMDA5RjAwMDkwRkMzOUUwRkQ3ODk1RTZGQzEyMTNDODEyMjVCRjEyNzEKKzoxMDBBMDAwMDMxNjkyMjEyMzBFNjc4OTVFQ0Y2N0QwMDEyMEYwOTEyNUEKKzoxMDBBMTAwMDI1QkYxMjMxNjkyMjEyMzBFNjc4OTVFQ0Y2RUMyNDlENjAKKzoxMDBBMjAwMEY4RTYzMEUyMDc3QzEzMTIyNUJGODAxQjc4OTVFNjI0OTgKKzoxMDBBMzAwMDlERjhFNjIwRTEwNzdDMTIxMjI1QkY4MDBBNzg5NUU2MzIKKzoxMDBBNDAwMEZDMTIxM0VDMTIyNUJGMTIzMTY5MjIxMjMwRTY3ODk1QTAKKzoxMDBBNTAwMEVDRjZFQzI0OURGOEU2MjBFMjA3N0MxMTEyMjVCRjgwMUQKKzoxMDBBNjAwMDBBNzg5NUU2RkMxMjE0RUQxMjI1QkYxMjMxNjkyMjEyQTQKKzoxMDBBNzAwMDMwRTY3ODk1RUNGNjEyMEY2OTc4QTlFNjI0MDlGNTgyM0MKKzoxMDBBODAwMDE4RTYzNDAwRjU4M0UwOTBGQzNGRjA3OEE5RTYyNDBBRUMKKzoxMDBBOTAwMEY1ODIxOEU2MzQwMEY1ODNFMDkwRkM0MEYwNzhBOUU2OTIKKzoxMDBBQTAwMDI0MDNGNTgyMThFNjM0MDBGNTgzRTBGQzc4QTlFNjI0RjcKKzoxMDBBQjAwMDA0RjU4MjE4RTYzNDAwRjU4M0UwRjU2Mjc4QTlFNjI0QUYKKzoxMDBBQzAwMDAyRjU4MjE4RTYzNDAwRjU4M0UwRjU2MzhDNjFFNEVDMEUKKzoxMDBBRDAwMDMzMzM1NDAxNzg5NUY2NjAwOEU1NjIzMEUxMDM3ODk1ODgKKzoxMDBBRTAwMDA2Nzg5NUU2OTBGQzQxRjA3OEE3RTYyNDAyRjU4MjE4OTYKKzoxMDBBRjAwMEU2MzQwMEY1ODNFMEZEQTNFMDU0MENGQ0VENTRFNjhDRjUKKzoxMDBCMDAwMDY1RjU2NEU1NjEzMEU1MDM0MzY1MDFFNTYyMjBFNTBFQzYKKzoxMDBCMTAwMEU1NjE1NDdGNzAwOEU1NjEyMEU3MDM0MzY1MDJFNTYxMDQKKzoxMDBCMjAwMDMwRTMwMzQzNjUxMEU1NjEzMEUyMDM0MzY1MjBFNTYxOEUKKzoxMDBCMzAwMDU0MDM2MDAzNDM2NTQwRTU2MTMwRTEwMzQzNjU4MEU1QUMKKzoxMDBCNDAwMDYxMzBFNDAzNDM2NDAxRTU2MTMwRTYwMzQzNjQwOEU1OTIKKzoxMDBCNTAwMDYyMjBFNDBFRTU2MTU0N0Y3MDA4RTU2MTIwRTcwMzQzRkQKKzoxMDBCNjAwMDY0MTA1MzY1RkI1MzY0NzlBRDY0RTU2NTkwRkMzQUNENDAKKzoxMDBCNzAwMEYwQTNDREYwRTU2MzMwRTMwREU1NjM1NDMwQzQ1NDBGQ0EKKzoxMDBCODAwMDkwRkMzREYwODAwNUU0OTBGQzNERjBFNTYzNTQwMzkwNUIKKzoxMDBCOTAwMEZDM0NGMEU1NjM1NDA0QzMxMzkwRkMzRUYwOTBGQzNDMzUKKzoxMDBCQTAwMEUwNzAwRTdEMzU3RUZDN0YwMTc0MDE5MDAwMDkxMjAxMUEKKzoxMDBCQjAwMDQyNzhBOUU2MjQwOEY1ODIxOEU2MzQwMEY1ODNFMDdDNDMKKzoxMDBCQzAwMDAwRkQ3OEE5RTYyNDA3RjU4MjE4RTYzNDAwRjU4M0UwRjUKKzoxMDBCRDAwMDdGMDA0Q0ZFRUY0RDkwRkMzOEYwQTNDRUYwQ0VDMjAzNjgKKzoxMDBCRTAwMDdEMEE3QzAwMTIyNTI2MTIzMTY5MjIxMjMwRTY3ODk1QTIKKzoxMDBCRjAwMEVDRjY3ODlBNzYwMTA4NzZGQzA4NzYzODc4OTc3NjBDQzkKKzoxMDBDMDAwMDc4OUExMjA0NjUxMjAyMTQ3ODk4Q0JGNkNCMDhGNjdGMTYKKzoxMDBDMTAwMDAwRUYyNEVBNDAxRkU0RUYyNUUwOTAzNTJDRkQ5M0NENTIKKzoxMDBDMjAwMDA0OTM3ODk5NjY3MDAzRUQxODY2NzAwNjc4OTc3NjAwREQKKzoxMDBDMzAwMDgwMDMwRjgwREM3ODk2RUZGNjc4OUExMjA0NjU5MDAwQjYKKzoxMDBDNDAwMDAyMTIwMjBFNzg5OENCRjZDQjA4RjY1NDA0Q0I1NDg2RTkKKzoxMDBDNTAwMDRCNjAwNDc4OTc3NjBCNzg5OUU2MzBFMzEzNzg5QTEyMTQKKzoxMDBDNjAwMDA0NjU5MDAwMDUxMjAxRUMyNEZCNTAwNDc4OTc3NjBEODIKKzoxMDBDNzAwMDc4OTlFNjU0QzA3RDAwNjRDMDRENzAwNDc4OTc3NjBCNzcKKzoxMDBDODAwMDc4OUExMjA0NjU5MDAwMDQxMjAxRUMyNEZDNTAwNDc4NTgKKzoxMDBDOTAwMDk3NzYwRjc4OUExMjA0NjU5MDAwMDYxMjAxRUMyNEZERjUKKzoxMDBDQTAwMDUwMDQ3ODk3NzYwRTc4OUExMjA0NjU5MDAwMDkxMjAxMjQKKzoxMDBDQjAwMEVDMjRGRDUwMDQ3ODk3NzYwQTc4OTdFNjcwMkE3ODk1QTgKKzoxMDBDQzAwMEU2RkMxMjBGNjk3ODlBMTIwNDY1NzhBN0U2Rjk3OEE2MEYKKzoxMDBDRDAwMEU2RkE3QjAxNzQwQTc4MDAxMjAzM0ZDMjAzNzg5NUU2QjYKKzoxMDBDRTAwMEZDMTIxMTA3Nzg5N0VDRjY3ODk3RTZGQzEyMjVCRjEyRjQKKzoxMDBDRjAwMDMxNjkyMjEyMzBFNjc4OTVFQ0Y2MTIwRjY5Nzg5NUU2QTQKKzoxMDBEMDAwMDI0RkQ3NUYwMEFBNDI0MTRGNTgyRTQzNEZDRjU4M0FDQzgKKzoxMDBEMTAwMDgyQUQ4Mzc4QTY4NjgzMDg4NjgyRUNGOUVERkE3QjBBOTkKKzoxMDBEMjAwMDc4MDExMjAzQTdDMjAzNzg5NUU2RkMxMjExMDcxMjMxNkQKKzoxMDBEMzAwMDY5MjI4RDJCOEMyQUVENjA0MDc1MjcwMTc1Mjk0ODc1MzUKKzoxMDBENDAwMDI4RkZFNTJBMjRGREZDRTQzNEZGRkRFQzdDMDMyNUUwQ0MKKzoxMDBENTAwMENEMzNDRERDRjlGQ0U1MjkyQ0Y1MjlFNTI4M0RGNTI4MzYKKzoxMDBENjAwMEFEMjlBRTI4QUYyNzc0ODA5MDAwMDYxMjAzMTc3NDgwNTcKKzoxMDBENzAwMDkwMDAwMjEyMDMxNzEyMEZCN0U1MkIxNDYwM0I3NTI3ODIKKzoxMDBEODAwMDAxNzUyOTA4NzUyOEZGRTUyQTI0RkRGQ0U0MzRGRkZERTAKKzoxMDBEOTAwMEVDN0MwMzI1RTBDRDMzQ0REQ0Y5RkNFNTI5MkNGNTI5RUQKKzoxMDBEQTAwMEU1MjgzREY1MjhBRDI5QUUyOEFGMjdFNDkwMDAwNjEyQ0UKKzoxMDBEQjAwMDAzMTdFNDkwMDAwMjEyMDMxNzIyMTIzMEU2Nzg5NUVDMzQKKzoxMDBEQzAwMEY2RUMyNDlERjhFNjMwRTIwOTc4OTVFNkZDMTIxNEVEODUKKzoxMDBERDAwMEQyMDA3ODk1RTZGQzEyMEY2OTc4OTY3NjAwOTBGQzM5N0YKKzoxMDBERTAwMEUwMzBFNzA0Nzg5Njc2MDE3ODk2RTZGRDc4OTVFNkZDQTMKKzoxMDBERjAwMDEyMEQyRkMyMDMzMDAwMDc3ODk1RTZGQzEyMTNFQzdDMkQKKzoxMDBFMDAwMDAwMTIyNUJGMTIzMTY5MjI3OEE5RTYyNDA0RjU4MjE4NjAKKzoxMDBFMTAwMEU2MzQwMEY1ODNFMDQ0MDFGMDc4QTlFNjI0MDRGNTgyODUKKzoxMDBFMjAwMDE4RTYzNDAwRjU4M0UwMzBFMDAyODBFRDc4QTlFNjI0OEUKKzoxMDBFMzAwMDBCRjU4MjE4RTYzNDAwRjU4M0UwNTRGOEYwNzhBOUU2NjMKKzoxMDBFNDAwMDI0MDJGNTgyMThFNjM0MDBGNTgzRTA0NDgwRjAyMkMyRTMKKzoxMDBFNTAwMDAzOEM1ODEyMEY2OTc4QTY4NjgzMDg4NjgyNzk1RDdBOUEKKzoxMDBFNjAwMDM1N0IwQTc4MDExMjAzRjUxMjBFMDVBQzU4N0QwMjEyOEIKKzoxMDBFNzAwMDBEMkZDMjAzQUM1ODEyMTEwNzIyOEQ1MzhFNTI4RjUxODEKKzoxMDBFODAwMDhDNTAxMjBGNjk3NTRGMDA3OEE5RTYyNDA1RjU4MjE4NzkKKzoxMDBFOTAwMEU2MzQwMEY1ODNFMDIwRTQxRkU1NEYyNEY2NDAxOTA1MTEKKzoxMDBFQTAwMDRGQzIwMzdDMTgxMjMyQTk5MEZGOTNFMDQ0MDFGMEIyQzQKKzoxMDBFQjAwMEIzQUM1MDEyMEY2OTgwRDA3OEE5RTYyNDA1RjU4MjE4RUEKKzoxMDBFQzAwMEU2MzQwMEY1ODNFMDIwRTQwNUMyMDM3QzAyMjI3OEE5MjEKKzoxMDBFRDAwMEU2MjQwNUY1ODIxOEU2MzQwMEY1ODNFMDU0MEY2MDE2MjkKKzoxMDBFRTAwMDc4QTlFNjI0MDVGNTgyMThFNjM0MDBGNTgzRTA1NDBGNkUKKzoxMDBFRjAwMEYwQzIwMzdDMDEyMjc4QTg4NjgzMDg4NjgyRTBBRDUzODUKKzoxMDBGMDAwMEFFNTJBRjUxMTIwMzBGQzIwMzdDMDAyMjhEMzE4QzMwRTAKKzoxMDBGMTAwMDEyMTRFREU1MzE2MDBGRTUzMEI0MDMwQTdDMDExMjI0QjAKKzoxMDBGMjAwMEVFN0M4MTEyMjRFRUFDMzAxMjBGNjlFNTMxNjAxQTc4NDQKKzoxMDBGMzAwMEFBODY4MzA4ODY4MkUwNTRFN0YwQTNBM0EzQTNFMDU0MjMKKzoxMDBGNDAwMEU3RjBBQzMwN0QwMjEyMEQyRjc4QTY4NjgzMDg4NjgyRUEKKzoxMDBGNTAwMDc5Njc3QTM1N0IwQTc4MDExMjAzRjVDMjAzRTUzMDI0RkMKKzoxMDBGNjAwMDlERjhDNjU0RkRGNkFDMzAxMjExMDcyMjhDMjYzMDAzRDIKKzoxMDBGNzAwMDA1MTIzMjQ4ODBGODdDMEExMjMxNUJEMjAzRTUyNjI0NDAKKzoxMDBGODAwMEZENzhBM0Y2NzAwNzc4QUE3NkZGMDg3NkUwNzhBM0U2RTYKKzoxMDBGOTAwMDc1RjAxMEE0QURGMEZDMjRBMDc4QTlGNkVEMzRGRjE4OEMKKzoxMDBGQTAwMEY2NzhBM0U2NzVGMDBBQTQyNDAwRkNFNDM0RkNGRDc4OEUKKzoxMDBGQjAwMEE2RURGNjA4RUNGNjEyMzFGNDIyNzhBOUU2MjQwMkY1NDMKKzoxMDBGQzAwMDgyMThFNjM0MDBGNTgzRTAzMEU3MjI3OEE5RTYyNDAyQUYKKzoxMDBGRDAwMEY1ODIxOEU2MzQwMEY1ODNFMDU0N0ZGMDc4QTlFNjI0MjIKKzoxMDBGRTAwMDAyRjU4MjE4RTYzNDAwRjU4M0UwNDQ4MEYwMjI3OEFBMDYKKzoxMDBGRjAwMDg2ODMwODg2ODJFMDU0N0ZGMEFEODNFNTgyMjQwNEZDN0EKKzoxMDEwMDAwMEU0M0Q4QzgyRjU4M0UwNTQ3RkYwNzhBOUU2MjQwQkY1NkIKKzoxMDEwMTAwMDgyMThFNjM0MDBGNTgzRTA1NEY4RjA3OEFCRTYyNDAxNUEKKzoxMDEwMjAwMEY1ODIxOEU2MzQwMEY1ODNFMDQ0MDNGMDc4QUJFNjI0NUIKKzoxMDEwMzAwMDA1RjU4MjE4RTYzNDAwRjU4M0UwNDQwM0YwNzhBOUU2NkMKKzoxMDEwNDAwMDI0MDVGNTgyMThFNjM0MDBGNTgzNzQwRkYwMjI3OEFBOUYKKzoxMDEwNTAwMDg2ODMwODg2ODJFMDU0M0ZGMEFEODNFNTgyMjQwNEZDNTkKKzoxMDEwNjAwMEU0M0Q4QzgyRjU4M0UwNTQzRkYwNzhBM0U2MjRBNEY4QjUKKzoxMDEwNzAwMEU2RkM3OEFCRTYyNDAxRjU4MjE4RTYzNDAwRjU4M0VDNTMKKzoxMDEwODAwMEYwNzhBM0U2MjRBNEY4RTZGQzc4QUJFNjI0MDVGNTgyMjQKKzoxMDEwOTAwMDE4RTYzNDAwRjU4M0VDRjA3OEE5RTYyNDBCRjU4MjE4MDUKKzoxMDEwQTAwMEU2MzQwMEY1ODNFMDU0RkI0NDAyRjUyNjc4QTdFNjI0RjUKKzoxMDEwQjAwMDAyRjU4MjE4RTYzNDAwRjU4M0UwMzBFNTAzNDMyNjAxQUIKKzoxMDEwQzAwMDc4QTlFNjI0MDVGNTgyMThFNjM0MDBGNTgzRTAzMEUwREYKKzoxMDEwRDAwMDAzMTIwRkI3RTUyNkZDNzhBOUU2MjQwQkY1ODIxOEU2ODMKKzoxMDEwRTAwMDM0MDBGNTgzRUNGMDc4QTlFNjI0MDVGNTgyMThFNjM0OUYKKzoxMDEwRjAwMDAwRjU4Mzc0MEZGMDc4QUE4NjgzMDg4NjgyRTA0NDgwMjYKKzoxMDExMDAwMEYwQTNBM0EzQTNFMDQ0ODBGMDIyOEMyQTEyMEY2OTc4RjUKKzoxMDExMTAwMEE3RTYyNDA4RjU4MjE4RTYzNDAwRjU4M0UwRkM3OEE5RjgKKzoxMDExMjAwMEU2MjQwQUY1ODIxOEU2MzQwMEY1ODNFQ0YwNzhBN0U2QTkKKzoxMDExMzAwMDI0MDdGNTgyMThFNjM0MDBGNTgzRTBGQzc4QTlFNjI0NUMKKzoxMDExNDAwMDA5RjU4MjE4RTYzNDAwRjU4M0VDRjA3OEE2ODY4MzA4NkEKKzoxMDExNTAwMDg2ODJFMEZEQTNFMEZDRURGRTc4QTlFNjI0MDhGNTgyOTYKKzoxMDExNjAwMDE4RTYzNDAwRjU4M0VFRjBFQ0ZFNzhBOUU2MjQwN0Y1RTYKKzoxMDExNzAwMDgyMThFNjM0MDBGNTgzRUVGMDhDMjk4RDI4QzNFQzk0QjgKKzoxMDExODAwMDA1RUQ5NDBDNDAwNTc1Mjc3QzgwMzNEM0U1Mjk5NDAxNDcKKzoxMDExOTAwMEU1Mjg5NDAzNDAwNTc1MjczQzgwMjNEM0U1Mjk5NDgxRjUKKzoxMDExQTAwMEU1Mjg5NDAxNDAwNTc1MjcxODgwMTNEM0U1Mjk5NDYwM0MKKzoxMDExQjAwMEU1Mjg5NDAwNDAwNTc1MjcwQzgwMDM3NTI3MDhBRjI3QTQKKzoxMDExQzAwMEU0RUY1NDdDNDQ4M0ZGOEYyN0U1MjdGQzc4QUJFNjI0Q0IKKzoxMDExRDAwMDAxRjU4MjE4RTYzNDAwRjU4M0VDRjBFNTI3RkM3OEFCRTYKKzoxMDExRTAwMEU2MjQwNUY1ODIxOEU2MzQwMEY1ODNFQ0YwRTUyN0ZDRUIKKzoxMDExRjAwMDc4QTNFNjI0QTRGOEVDRjY3OEE5RTYyNDAyRjU4MjE4OTAKKzoxMDEyMDAwMEU2MzQwMEY1ODNFMEY1Mjc3OEE3RTYyNDAyRjU4MjE4OTYKKzoxMDEyMTAwMEU2MzQwMEY1ODNBM0UwMzBFMzE3NTMyN0M3NzhBN0U2NDkKKzoxMDEyMjAwMDI0MDVGNTgyMThFNjM0MDBGNTgzRTA5MDM1NTg5MzQyQTIKKzoxMDEyMzAwMDI3NTMyN0ZCNzhBN0U2MjQwNkY1ODIxOEU2MzQwMEY1NDUKKzoxMDEyNDAwMDgzRTA2MDAzNDMyNzA0NTMyN0ZDNzhBN0U2MjQwNEY1RDIKKzoxMDEyNTAwMDgyMThFNjM0MDBGNTgzRTA0MjI3NDMyNzgwRTUyN0ZDMjcKKzoxMDEyNjAwMDc4QTlFNjI0MDJGNTgyMThFNjM0MDBGNTgzRUNGMDc4REMKKzoxMDEyNzAwMEE5RTYyNDA0RjU4MjE4RTYzNDAwRjU4M0UwRjUyNzc4MjIKKzoxMDEyODAwMEE3RTYyNDAyRjU4MjE4RTYzNDAwRjU4M0EzRTAzMEUxRjYKKzoxMDEyOTAwMDA1NTMyN0RGODAwMzQzMjcyMDc4QTdFNjI0MDJGNTgyNDEKKzoxMDEyQTAwMDE4RTYzNDAwRjU4M0UwMzBFNDA1NTMyN0VGODAwMzQzNkMKKzoxMDEyQjAwMDI3MTA3OEE3RTYyNDA5RjU4MjE4RTYzNDAwRjU4M0UwQzQKKzoxMDEyQzAwMEI0MDIwMzQzMjcwMkU1MjdGQzc4QTlFNjI0MDRGNTgyNEIKKzoxMDEyRDAwMDE4RTYzNDAwRjU4M0VDRjA3OEE5RTYyNDAzRjU4MjE4Q0IKKzoxMDEyRTAwMEU2MzQwMEY1ODNFMEY1Mjc3OEE3RTYyNDA5RjU4MjE4QUYKKzoxMDEyRjAwMEU2MzQwMEY1ODNFMDcwMDU1MzI3N0Y4MDAzNDMyNzgwQTEKKzoxMDEzMDAwMDc4QTdFNjI0MDJGNTgyMThFNjM0MDBGNTgzQTNFMDMwREUKKzoxMDEzMTAwMEUwMDU0MzI3MjA4MDAzNTMyN0RGNzhBN0U2MjQwMkY1NjIKKzoxMDEzMjAwMDgyMThFNjM0MDBGNTgzRTAzMEUzMDU0MzI3NDA4MDAzNkMKKzoxMDEzMzAwMDUzMjdCRjc4QTdFNjI0MDJGNTgyMThFNjM0MDBGNTgzMjgKKzoxMDEzNDAwMEUwMzBFMDA1NDMyNzEwODAwMzUzMjdFRjc4QTdFNjI0MTkKKzoxMDEzNTAwMDAyRjU4MjE4RTYzNDAwRjU4M0EzRTAzMEU0MDU0MzI3NjQKKzoxMDEzNjAwMDA4ODAwMzUzMjdGNzc4QTdFNjI0MDJGNTgyMThFNjM0QUQKKzoxMDEzNzAwMDAwRjU4M0EzRTAzMEU1MDU0MzI3MDQ4MDAzNTMyN0ZCRjIKKzoxMDEzODAwMDc4QTdFNjI0MDJGNTgyMThFNjM0MDBGNTgzQTNFMDMwNUUKKzoxMDEzOTAwMEU2MDU0MzI3MDE4MDAzNTMyN0ZFNzhBN0U2MjQwMkY1REMKKzoxMDEzQTAwMDgyMThFNjM0MDBGNTgzQTNFMDMwRTcwNTQzMjcwMjgwODYKKzoxMDEzQjAwMDAzNTMyN0ZERTUyN0ZDNzhBOUU2MjQwM0Y1ODIxOEU2MDgKKzoxMDEzQzAwMDM0MDBGNTgzRUNGMEMyMDM3QzAwMjI4RDI3OEMyNkVEREYKKzoxMDEzRDAwMDU0MDMxNDYwMDM3QzEwMjJFNTI3NTQ3QzI0RkM0MDAzNTIKKzoxMDEzRTAwMDdDMEIyMkU1MjYyNDlERjhDNjQ0MDJGNjdDMDAyMjhDNjQKKzoxMDEzRjAwMDMwMTIwRjY5RTUzMDI0OURGOEU2MjBFMjRGQUMzMDdERDUKKzoxMDE0MDAwMDAyMTIwRDJGRTUzMDI0RkU0NDI4RkM3OEFBODY4MzA4QkEKKzoxMDE0MTAwMDg2ODJFQ0YwQUY4M0U1ODIyNDA0RkVFNDNGRkZFQzhFOEQKKzoxMDE0MjAwMDgyOEY4M0YwN0MwMzhDMkNFNTJDRkM3OEFCRTYyNDAxQzYKKzoxMDE0MzAwMEY1ODIxOEU2MzQwMEY1ODNFQ0YwRTUyQ0ZDNzhBQkU2OTkKKzoxMDE0NDAwMDI0MDVGNTgyMThFNjM0MDBGNTgzRUNGMDc1MkQwMTc1NUUKKzoxMDE0NTAwMDJGNDg3NTJFRkZFNTMwMjRGREZDRTQzNEZGRkRFQzdDQzUKKzoxMDE0NjAwMDAzMjVFMENEMzNDRERDRjlGQ0U1MkYyQ0Y1MkZFNTJFNUYKKzoxMDE0NzAwMDNERjUyRTc4QUJFNjI0MDRGNTgyMThFNjM0MDBGNTgzQkEKKzoxMDE0ODAwMEUwNTRFN0Y1MkNBRDJGQUUyRUFGMkRFNDkwMDAwMjEyMDQKKzoxMDE0OTAwMDAzMTdFNDkwMDAwNjEyMDMxNzEyMDFFNjMwRTUwMzQzMzgKKzoxMDE0QTAwMDJDMTBFNTJDRkM3OEFCRTYyNDA0RjU4MjE4RTYzNDAwMTkKKzoxMDE0QjAwMEY1ODNFQ0YwMTIxMDRCNzhBOUU2MjQwNkY1ODIxOEU2QzUKKzoxMDE0QzAwMDM0MDBGNTgzRTBDMjAzRkNFNTMwMjQ5REY4QzY0NDA0RjMKKzoxMDE0RDAwMEY2OEMyQ0U1MzA1NDBGQzQ1NEYwN0UwMEZGRUVFRjQ0NDAKKzoxMDE0RTAwMDA0N0QwMEZGRUM0RUZDRUQ0RkZEMTIxQ0E3N0MwMDIyOUEKKzoxMDE0RjAwMDhDMkYxMjBGNjkxMjBGRUI3OEFBODY4MzA4ODY4MkUwODAKKzoxMDE1MDAwMDU0MDhGMEEzQTNBM0EzRTA1NDA4RjBBQzJGN0QwMjEyNkIKKzoxMDE1MTAwMDBEMkZDMjAzRTUyRjI0OURGOEM2NTRGQkY2N0MwMDIyNTQKKzoxMDE1MjAwMDEyMzBFNjc4OTZFQ0Y2RUMyNDlERjhFNjMwRTEwQTdEODAKKzoxMDE1MzAwMDAwN0MxMzEyMjUyNjEyMzE2OTc4OTZFNjI0OURGOEM2QTAKKzoxMDE1NDAwMDQ0MDFGNjc4OTZFNkZDMTIwRjY5Nzg5NkU2MjRGRDc1NUMKKzoxMDE1NTAwMEYwMEFBNDI0MTRGNTgyRTQzNEZDRjU4Mzc4QTZFNkZBQjQKKzoxMDE1NjAwMDA4RTZGOTdCMEE3ODAxMTIwM0E3NzhBNjg2ODMwODg2MjUKKzoxMDE1NzAwMDgyNzk2NzdBMzU3QjBBNzgwMTEyMDNGNTEyMEZCN0MyQjgKKzoxMDE1ODAwMDAzNzg5NkU2RkMxMjExMDc3ODk1RUNGNkVDNjAwQTdEN0MKKzoxMDE1OTAwMDAwN0MwODEyMjUyNjEyMzE2OTc4OTZFNkZDMTIwRjY5NDQKKzoxMDE1QTAwMDc4QTlFNjI0MDRGNTgyMThFNjM0MDBGNTgzRTA0NDEwQjcKKzoxMDE1QjAwMDU0REZGQzc4QTlFNjI0MDRGNTgyMThFNjM0MDBGNTgzQUMKKzoxMDE1QzAwMEVDRjA3ODk1RUNGNkMyMDM3Q0M4MTIzMkE5Nzg5NkU2NjYKKzoxMDE1RDAwMEZDMTIwRjY5NzhBOUU2MjQwNEY1ODIxOEU2MzQwMEY1QjgKKzoxMDE1RTAwMDgzRTA1NEVGRjBDMjAzN0NDODEyMzJBOTc4OTZFNkZDN0YKKzoxMDE1RjAwMDEyMEY2OTc4QTlFNjI0MDRGNTgyMThFNjM0MDBGNTgzMTEKKzoxMDE2MDAwMEUwNDQxMEYwQzIwMzdDQzgxMjMyQTk3ODk2RTZGQzEyQkUKKzoxMDE2MTAwMDBGNjk3OEE5RTYyNDA0RjU4MjE4RTYzNDAwRjU4M0UwMjIKKzoxMDE2MjAwMDQ0MjBGMEMyMDM3Q0YwMTIzMkE5Nzg5NkU2RkMxMjBGMzcKKzoxMDE2MzAwMDY5NzhBOUU2MjQwNUY1ODIxOEU2MzQwMEY1ODNFMDMwRTAKKzoxMDE2NDAwMEU0MTVDMjAzNzg5NkU2NDQxMDdGMDBGRTdDMDcxMjMxNTEKKzoxMDE2NTAwMEZCMTIzMTY5MDIxNzE0NzhBOUU2MjQwNEY1ODIxOEU2MTIKKzoxMDE2NjAwMDM0MDBGNTgzRTA1NENGRjBDMjAzN0NDODEyMzJBOTc4NkQKKzoxMDE2NzAwMDk2RTZGQzEyMEY2OTc4QTlFNjI0MDRGNTgyMThFNjM0OTAKKzoxMDE2ODAwMDAwRjU4M0UwNDQzMEYwQzIwMzdDRjAxMjMyQTk3ODk2NzIKKzoxMDE2OTAwMEU2RkMxMjBGNjk3OEE5RTYyNDA1RjU4MjE4RTYzNDAwMDUKKzoxMDE2QTAwMEY1ODNFMDMwRTQxNEMyMDM3ODk2RTY0NDEwN0YwMEZFMzAKKzoxMDE2QjAwMDdDMDcxMjMxRkIxMjMxNjk4MDVENzhBOUU2MjQwNEY1QkMKKzoxMDE2QzAwMDgyMThFNjM0MDBGNTgzRTA1NEVGRjA3OEE5RTYyNDA0QUMKKzoxMDE2RDAwMEY1ODIxOEU2MzQwMEY1ODNFMDU0REZGMDc4OTZFNjI0Q0UKKzoxMDE2RTAwMEZENzVGMDBBQTQyNDE0RjU4MkU0MzRGQ0Y1ODNBQzgyODEKKzoxMDE2RjAwMEFEODM3OEE2ODY4MzA4ODY4MkVDRjlFREZBN0IwQTc4QkEKKzoxMDE3MDAwMDAxMTIwM0E3QzIwMzc4OTZFNkZDMTIxMTA3N0QwMDdDNDQKKzoxMDE3MTAwMDBCMTIyNTI2MTIzMTY5MjIxMjMwRTZFNDkwRkMzOUYwRDIKKzoxMDE3MjAwMDdEMDI3QzAwMTIyNTI2MTIzMTY5MjIxMjMwRTY3QzAwRUYKKzoxMDE3MzAwMDEyMjVCRjEyMzE2OTIyNzQzQzkwRkJFMEYwNzQzRTkwOTgKKzoxMDE3NDAwMEZCRTBGMEU0OTBGQzI4RjAyMjhEMzU4QzM0RUNCNDAxMDEKKzoxMDE3NTAwMDAyODAwM0QzNDAwMjgwMjhCNDAyMDI4MDAzRDM0MDA4RjEKKzoxMDE3NjAwMEE4MzVDNjI1RTBGNjgwMThCNDA0MDI4MDAzRDM0MDBBRTkKKzoxMDE3NzAwMEE4MzVDNjI1RTAyNUUwRjY4MDA2QTgzNTc2MDA4MDAwNkQKKzoxMDE3ODAwMDIyOEMzQzhEM0JFREZFRUNGRDdGMDE3NTY2MDY3NTY3OTYKKzoxMDE3OTAwMDAwOTBGQzI5MTIwNDZFMTIwMUU2QjQ4MDAyODAwNkQzODgKKzoxMDE3QTAwMDUwMDMwMjE4NDc5MEZDMjkxMjA0ODA5MDAwMDMxMjAxOTQKKzoxMDE3QjAwMEVDNTRGMEI0MzAwMjgwMDNEMzQwNUY5MEZDMjkxMjA0NTMKKzoxMDE3QzAwMDgwOTAwMDA4MTIwMjBFRkFGREVCRkU3RjAxOTBGQzJDQzcKKzoxMDE3RDAwMDEyMDQ2RUVFQ0Q5MDM1NzFGQ0U0OTNGRjc0MDE5M0ZFMUMKKzoxMDE3RTAwMEY5RUZGQTdCMDFFQUZGRTlGRUVDQzM5RUVEOUY0MDI1OEQKKzoxMDE3RjAwMDkwMzU3M0U0OTNGRDc0MDE5M0ZDRURGRUVDRkQ3RjAxRTUKKzoxMDE4MDAwMEVFQ0RGQzkwRkMyRUUwRDM5QzkwRkMyREUwOUQ1MDA1OEQKKzoxMDE4MTAwMDc1NjY4MDgwMzMxMjE5NjU4MDJFQjQ2MDAyODAwM0QzMTAKKzoxMDE4MjAwMDQwMEJBQzNDQUQzQjEyMDc3NzhDNjY4MDFCQjQxMDAzQjkKKzoxMDE4MzAwMEIzNDAxMEMzQjQyMDAzQjM0MDA5QzNCNDQwMDI4MDAzRDMKKzoxMDE4NDAwMEQzNDAwMDc1NjY4MTgwMDA4MDc1QjQ4MTAyODAwM0QzMjcKKzoxMDE4NTAwMDQwNkI5MEZDMjkxMjA0ODA5MDAwMDMxMjAxRUM1NEYwQkMKKzoxMDE4NjAwMEI0MzAwMjgwMDNEMzQwMUQ5MEZDMjkxMjA0ODA5MDAwMDQKKzoxMDE4NzAwMDA4MTIwMjBFRkFGREVCRkU3RjAxOTBGQzJGMTIwNDZFOUYKKzoxMDE4ODAwMDEyMThDRjgwMzZCNDYwMDI4MDAzRDM0MDEzNzUzQTY3RDQKKzoxMDE4OTAwMEU0RjUzOUY1MzhBQzNDQUQzQjEyMDVEMzhDNjY4MDFCQzIKKzoxMDE4QTAwMEI0MTAwM0IzNDAxMEMzQjQyMDAzQjM0MDA5QzNCNDQwMjEKKzoxMDE4QjAwMDAyODAwM0QzNDAwMDc1NjY4MTgwMDA4MDAyODAwMEU1Q0QKKzoxMDE4QzAwMDY2RkM5MEZDMjkxMjA0ODBFQzkwMDAwMjEyMDMxN0FDMTUKKzoxMDE4RDAwMDY3MjI5MEZDMjkxMjA0ODA5MDAwMDQxMjAxRUM2MDA0M0QKKzoxMDE4RTAwMDc0MDE4MDAxRTRBMkUwOTIwMTkwRkMyOTEyMDQ4MEVERDEKKzoxMDE4RjAwMDI0MDNGRDUwMDEwRTkwRkMyQzEyMDQ2RTkwRkMyOTEyNjIKKzoxMDE5MDAwMDA0ODA5MDAwMDUxMjAxRUNGNTY3OTAwMDA0MTIwMUVDRDAKKzoxMDE5MTAwMDU0MEZGQzdENjcxMjE3NDZFNTY3NzAwNDc1NjYwODIyNTAKKzoxMDE5MjAwMDc1NjYwMDc4ODQ3NjAwNzg4NEU2QzM5NTY3NTAzODkwQjEKKzoxMDE5MzAwMEZDMkYxMjA0ODAxMjAxRTZGQzkwRkMyQzEyMDQ4MEVDQjcKKzoxMDE5NDAwMDEyMDMwRjMwMDEwRTkwRkMzMUUwMDRGMDkwRkMzMDcwNzcKKzoxMDE5NTAwMDAzRTAwNEYwNzg4NDA2OTBGQzJFRTAwNEYwOTBGQzJENjcKKzoxMDE5NjAwMDcwMDNFMDA0RjA4MEMwMjI5MEZDMkFFMEZEQTNFMEZDQkMKKzoxMDE5NzAwMEVERkVFQ0ZEN0YwMUVEMjQwQUZENTAwMTBFOTBGQzMyREUKKzoxMDE5ODAwMDEyMDQ2RTkwRkMyOTEyMDQ4MDkwMDAwNDEyMDFFQzU0QTEKKzoxMDE5OTAwMDBGQjQwMTAyODAwM0QzNDAxNzkwRkMzMjEyMDQ4MDBENzMKKzoxMDE5QTAwMEVENzAwMTBFOTBGQzJGMTIwNDZFNzg4ODc2MDE4MDRFNDcKKzoxMDE5QjAwMEI0MDIwMjgwMDNEMzQwMTk5MEZDMzIxMjA0ODBFRDI0NUIKKzoxMDE5QzAwMDAyRkQ1MDAxMEU5MEZDMkYxMjA0NkU3ODg4NzYwMjgwODIKKzoxMDE5RDAwMDJEQjQwNDAyODAwM0QzNDAxOTkwRkMzMjEyMDQ4MEVEMzAKKzoxMDE5RTAwMDI0MDRGRDUwMDEwRTkwRkMyRjEyMDQ2RTc4ODg3NjA0QkEKKzoxMDE5RjAwMDgwMENCNDAwMDI4MDAzRDM0MDAwNzU2NjA4MjI5MEZDN0UKKzoxMDFBMDAwMDI5MTIwNDgwOTAwMDA1MTIwMUVDRjU2Nzc4ODU3NjAwQjQKKzoxMDFBMTAwMDc4ODVFNkMzOTU2NzQwMDMwMjFBQ0Q3ODg2NzYwMDc4MEMKKzoxMDFBMjAwMDg2RTZDMzc4ODg5NjUwNzY5MEZDMkMxMjA0ODAxMjAxQ0EKKzoxMDFBMzAwMEU2RkM5MEZDMzIxMjA0ODkxMjAxRTBGNDVDRkMxMjAxMTUKKzoxMDFBNDAwMEUwRjg5MEZDMkYxMjA0ODBFOEMwRTAxMjAxRTZDOEQwNTQKKzoxMDFBNTAwMEUwQzg1ODRDRkM5MEZDMkMxMjA0ODBFQzEyMDMwRjc4NjgKKzoxMDFBNjAwMDg3RUNGNjkwRkMzMUUwMDRGMDkwRkMzMDcwMDNFMDA0NjkKKzoxMDFBNzAwMEYwMDlFOTcwMDEwQTkwRkMzMjEyMDQ3NzkwRkMyOTEyRjcKKzoxMDFBODAwMDA0ODA5MDAwMDQxMjAxRUMzMEU0MEU5MEZDMkVFMDA0N0YKKzoxMDFBOTAwMEYwOTBGQzJENzAwM0UwMDRGMDc4ODYwNjgwODE3ODg4NTEKKzoxMDFBQTAwMEU2RkRFNEZFRkZFRUNERkM5MEZDMzFFMDJDRjA5MEZDNzYKKzoxMDFBQjAwMDMwRTAzREYwNzg4OEU2RkRFNEZFRkZFRUNERkM5MEZDRTIKKzoxMDFBQzAwMDM0RTAyQ0YwOTBGQzMzRTAzREYwNzg4NTA2MDIxQTBERUUKKzoxMDFBRDAwMDc1NjYwMDIyRTUzRDA1M0QwNDcwMDJCMkIwMjJDMEUwMEIKKzoxMDFBRTAwMEMwRjBDMDgyQzA4M0MwRDBFOEMwRTBFOUMwRTBFQUMwNzYKKzoxMDFBRjAwMEUwRUJDMEUwRUNDMEUwRURDMEUwRUVDMEUwRUZDMEUwNDUKKzoxMDFCMDAwMDkwRkY5MkUwMTIwMUI3MUIyOTMwMUIyOTMyMUIzODM4OTUKKzoxMDFCMTAwMDFCNEEzQTFCNUMzRTFCNzQ0NDFCNjg0NjFCODA1MDFCQ0YKKzoxMDFCMjAwMEMyNTIxQkExNTQxQkUzNTYwMDAwMUMwNDkwRkY5MkUwMUMKKzoxMDFCMzAwMDdGMDBGRTdDMDExMjMxRkIwMjFDMTRFNEZGMDRGRTdDREEKKzoxMDFCNDAwMDAzMTIzMUZCNzQyMDkwRkZGRUYwMDIxQzE0RTRGRjA0MkEKKzoxMDFCNTAwMEZFN0MwMjEyMzFGQjc0NDA5MEZGRkVGMDAyMUMxNEU0ODQKKzoxMDFCNjAwMEZGMDRGRTdDMDQxMjMxRkIwMjFDMTRFNEZGMDRGRTdDMjMKKzoxMDFCNzAwMDA1MTIzMUZCMDIxQzE0RTRGRjA0RkU3QzA2MTIzMUZCNEIKKzoxMDFCODAwMDAyMUMxNDkwRkZBNUUwN0QwMDkwRkJGOENERjBBM0NERTIKKzoxMDFCOTAwMEYwOTBGQkY5RTBGQ0Y1ODM5MEZCRjhFMDQ0MzNGRDEyOTQKKzoxMDFCQTAwMDFDQTc4MDczOTBGRkI1RTA3RDAwOTBGQkZBQ0RGMEEzRjkKKzoxMDFCQjAwMENERjA5MEZCRkJFMEZDRjU4MzkwRkJGQUUwNDQ0M0ZEQTUKKzoxMDFCQzAwMDEyMUNBNzgwNTI5MEZGQTZFMDdEMDA5MEZCRkNDREYwOTgKKzoxMDFCRDAwMEEzQ0RGMDkwRkJGREUwRkNGNTgzOTBGQkZDRTA0NDM0RUEKKzoxMDFCRTAwMEZEMTIxQ0E3ODAzMTkwRkZCNkUwN0QwMDkwRkJGRUNEN0EKKzoxMDFCRjAwMEYwQTNDREYwOTBGQkZGRTBGQ0Y1ODM5MEZCRkVFMDQ0MEEKKzoxMDFDMDAwMDQ0RkQxMjFDQTc4MDEwOTBGRjkyRTA3RDAwRkNFRDQ0ODMKKzoxMDFDMTAwMEFBRkQxMjFDQTc4MDAwRTQ5MEZGOTJGMEQwRTBGRkQwNTQKKzoxMDFDMjAwMEUwRkVEMEUwRkREMEUwRkNEMEUwRkJEMEUwRkFEMEUwNzgKKzoxMDFDMzAwMEY5RDBFMEY4RDBEMEQwODNEMDgyRDBGMEQwRTAzMjA1MTcKKzoxMDFDNDAwMDgxMDU4MTA1ODEwNTgxQTg4MTE4MTgxOEVERjYwOEVDMzkKKzoxMDFDNTAwMEY2OTBGRjVBRTAyMEU3MDI4MEY3OTBGRjU5RTA3RDAwMDAKKzoxMDFDNjAwMEE4ODExOENERjZDRDA4RjY3RDAzQTg4MUU2MThGQ0U2MUMKKzoxMDFDNzAwMENDMjVFMENDMzNDQ0RERjlDQ0Y2Q0MwOEY2QTg4MTE4MjUKKzoxMDFDODAwMEU2NDRGOEY2QTg4MTE4MTgxOEU2RkQwOEU2RkNBODgxRDUKKzoxMDFDOTAwMDE4ODY4MzA4ODY4MkVERjBBM0VDRjA3NDAyOTBGRjVBNTgKKzoxMDFDQTAwMEYwMTU4MTE1ODExNTgxMTU4MTIyRTU4MTI0MDVGNTgxQzUKKzoxMDFDQjAwMEU0QTg4MTE4RjZBODgxMTgxODE4MThFREY2MDhFQ0Y2QjMKKzoxMDFDQzAwMDkwRkJGNUUwMjRGODUwMDMwMjFEQzhFNEE4ODExODE4MjEKKzoxMDFDRDAwMEY2QTg4MTE4RTZGRUE4ODExODE4MTgxOEU2RkQwOEU2OEYKKzoxMDFDRTAwMEZDN0YwMEVGMjRGODQwNERFNEVGMjVFMDI0N0RGNTgyRjEKKzoxMDFDRjAwMEU0MzRGQ0Y1ODNFMEZCQTNFMDZDNzAwM0ZBRUI2RDcwNTkKKzoxMDFEMDAwMDA5NzQwMUE4ODExODE4RjY4MDJCRTRFRjI1RTAyNDdERTIKKzoxMDFEMTAwMEY1ODJFNDM0RkNGNTgzN0EwMEUwNTRGMENDRjhDQ0NEQzUKKzoxMDFEMjAwMEY5Q0RGQjc4MDBFOTU0RjBGOUVBNjg3MDAyRUI2OTcwQ0MKKzoxMDFEMzAwMDAxMEUwRjgwQUVBODgxMThFRUY2QTg4MTE4MTgxODE4QTkKKzoxMDFENDAwMEVERjYwOEVDRjZBODgxRUZGNkE4ODExODE4RTY3MDc5OTAKKzoxMDFENTAwMEE4ODExOEU2MjRGNzQwNzFBODgxMTgxODE4MThFNjU0Q0QKKzoxMDFENjAwMDBGQTg4MUY2NjQwNDYwMTdBODgxRTY2NDAzNjAxMEE4RDgKKzoxMDFENzAwMDgxMTgxODE4MThFNkZEMDhFNkZDMTIxQzNDODA0QTdDMDUKKzoxMDFEODAwMDBBMTIzMTVCQTg4MTE4MTgxODE4RTZGRDA4RTZGQzkwQzUKKzoxMDFEOTAwMEZCRjRFMDI1RTAyNDdERjU4MkU0MzRGQ0Y1ODNFREYwRUUKKzoxMDFEQTAwMEEzRUNGMDkwRkJGNEUwRkZFNEVGMDQ1NDA3RkY5MEZCOUEKKzoxMDFEQjAwMEY0RjA5MEZCRjVFMDA0RjAxMjMxRjQ5MEZCRjZFMDcwRTMKKzoxMDFEQzAwMDA4RTRGRUZGN0MwRjEyMzFGQjgwMjc5MEZCRjdFMDA0NTQKKzoxMDFERDAwMEYwNTQzRjcwMUQ5MEZCRjdFMDQ0RkU3RDAwRkM5MEZCNEIKKzoxMDFERTAwMEY0RTAyNUUwMjQ3REY1ODJFNDM0RkNGNTgzRURGMEEzRjYKKzoxMDFERjAwMEVDRjBFNTgxMjRGQkY1ODEyMjc4OEI3NjAwNzg4Qzc2RjcKKzoxMDFFMDAwMDAwNzQwMTkwRkJGNkYwMTIzMEU2OTBGQkY1RTA2MDU3QUQKKzoxMDFFMTAwMDdDMEExMjMxNUI5MEZCRjNFMDI1RTAyNDdERjU4MkU0M0YKKzoxMDFFMjAwMDM0RkNGNTgzRTBGREEzRTBGQzkwRkJGM0UwMjVFMDI0MjcKKzoxMDFFMzAwMDdERjU4MkU0MzRGQ0Y1ODNFNEYwQTNGMDkwRkJGM0UwNUQKKzoxMDFFNDAwMEZGRTRFRjA0NTQwN0ZGOTBGQkYzRjA5MEZCRjVFMDE0ODAKKzoxMDFFNTAwMEYwNzg4OUVERjYwOEVDRjYxMjMxRjQ3ODg5RTZGRDA4QTEKKzoxMDFFNjAwMEU2RkMxMjA4REE4MEEzMTIzMjQ4OTBGRjkzRTA0NDAxQTYKKzoxMDFFNzAwMEYwQjJCMzc4OEIwNkI2MDAxMTc4OEI3NjAwNzg4Q0U2REEKKzoxMDFFODAwMEY0MDQwNEEyRTA5MkI0Nzg4Q0Y2MDIxRTA3RTQ5MEZCRkUKKzoxMDFFOTAwMEY2RjA5MEZCRjVFMDdEMDBGQ0VENDRDRkZEMTIxQzNDMUMKKzoxMDFFQTAwMDEyMzE2OTIyMTIzMEU2RTU3MDY0NDk0NTZGNjAxNTkwODEKKzoxMDFFQjAwMEZGODNFMDU0MEY3RDAwRDM5NTcwRUQ5NTZGNTAwNTEyQjAKKzoxMDFFQzAwMDJGMkY4MDAzMTIyRkZGMTIzMTY5MjIxMjMwRTZFNTcwQTYKKzoxMDFFRDAwMDY0NDk0NTZGNjAwNTEyMzAzOTgwMEU5MEZGODBFMDQ0MDAKKzoxMDFFRTAwMDA4RjA5MEZGODNFMDU0N0ZGMDEyMzE2OTIyMTIzMEU2NEYKKzoxMDFFRjAwMDhDNTRFQzU0RjBCNDEwMTU3NTZBMzU3NTY5RkM3NTY4MkUKKzoxMDFGMDAwMDAxRTU2QTI0MDNGNTZBRTU2OTM0MDBGNTY5RTRGNTU3RUIKKzoxMDFGMTAwMEY1NTZFNTU2QzM5NDAxNTAyN0U1NTQ1NDBGRkNBRDZBQkQKKzoxMDFGMjAwMEFFNjlBRjY4MTIwRTc3OEM1NUVDNjAwMjgwMTIwNTZBQkMKKzoxMDFGMzAwMEU1NkE3MDAyMDU2OTA1NTdFNTU3NzAwMjA1NTY4MEQyQkIKKzoxMDFGNDAwMEU1NTQ1NDBGMjQ5REY4QzY1NEZFRjZFNTU0NTQwRjdGMTMKKzoxMDFGNTAwMDAwRkU3QzEyMTIzMUZCRTU1NTE0NzAwOTdEMDA3QzA5RUUKKzoxMDFGNjAwMDEyMjUyNjgwMDdBRDU3N0MwMDEyMjUyNjEyMzE2OTIyRTIKKzoxMDFGNzAwMDEyMzBFNjkwRkZGQ0UwNDQwMkYwOTBGRjAwRTAzMEU3MTIKKzoxMDFGODAwMDEzOTBGRjgzRTA0NDgwRjA0MzZEODA5MEZGRkNFMDQ0QjkKKzoxMDFGOTAwMDAxRjA4MDExOTBGRjgyRTA0NDA4RjA1MzZEN0Y5MEZGQzQKKzoxMDFGQTAwMEZDRTA1NEZFRjA5MEZGODFFMDQ0ODBGMDEyMjVEOTkwQ0YKKzoxMDFGQjAwMEZGRkVFMDQ0MDVGMDkwRkZGQ0UwNTRGREYwMTIzMTY5QjMKKzoxMDFGQzAwMDIyMTIzMEU2N0MwMTEyMzJBOTc4QURFNjQ0MDJGNjc0QTIKKzoxMDFGRDAwMEZFRkMwNEZEMTIxQ0E3OTBGRjVBRTAzMEU3MDI4MEY3RDgKKzoxMDFGRTAwMEU0RjU0RTc1NEQxMEFDNEVBRDRERTU0RTE1NEU3MDAyRkMKKzoxMDFGRjAwMDE1NERFQzRENjAwMjgwRUU0Mzg3MDExMjMxNjkyMjEyQ0IKKzoxMDIwMDAwMDMwRTY3QzAyMTIzMTc1NzhBREU2NTRGREY2MTIzMTY5ODYKKzoxMDIwMTAwMDIyMTIzMEU2NzhBREU2MzBFMDJDNzhBREU2MzBFMTI2RUQKKzoxMDIwMjAwMDc4QURFNkZDRjU4MzE4RTY0NEYwRkQxMjFDM0M5MEZGMDkKKzoxMDIwMzAwMEZDRTA0NDIwRjA3QzAyMTIzMkE5NzhBREU2NTRGREY2QjMKKzoxMDIwNDAwMDc0MUE5MEZGRkVGMDc4QURFNkZDRjU4MzE4RTY0NEYxRDMKKzoxMDIwNTAwMEZEMTIxQzNDMTIzMTY5MjI3NTZEMDA5MEZGRkZFMDYwOUIKKzoxMDIwNjAwMDAzNDM2RDAxNzU2RTAwRTRGNTZDRjU2QkU0RjU2Rjc1NzcKKzoxMDIwNzAwMDcwNDk3NDg0OTBGRjgyRjA3NDg0OTBGRjgwRjA3NDgwQzMKKzoxMDIwODAwMDkwRkY1OEYwNzQ4MDkwRkY1QUYwQUQ0NkFGNDU3RTAwNDcKKzoxMDIwOTAwMEVFMjRGRTUwMDMwMjIxMjRFNEVFNzVGMDA3QTQyNDdGMTEKKzoxMDIwQTAwMEY1ODJFNDM0RjhGNTgzRTBGRkU0RUY1NDgwRkRFNEVGREIKKzoxMDIwQjAwMDU0MEYxNEZGRUQ2MDM4RTRFRjc1RjAwOEE0MjQ0OEY1RTAKKzoxMDIwQzAwMDgyRTQzNEZGRjU4Mzc0OTBGMEU0RUY3NUYwMDhBNDI0MDMKKzoxMDIwRDAwMDRBRjU4MkU0MzRGRkY1ODM3NDgwRjBFNEVGNzVGMDA4OEMKKzoxMDIwRTAwMEE0MjQ0RUY1ODJFNDM0RkZGNTgzNzQ4MEYwODAzNEU0NTgKKzoxMDIwRjAwMEVGNzVGMDA4QTQyNDA4RjU4MkU0MzRGRkY1ODM3NDkwQUEKKzoxMDIxMDAwMEYwRTRFRjc1RjAwOEE0MjQwQUY1ODJFNDM0RkZGNTgzQzcKKzoxMDIxMTAwMEU0RjBFNEVGNzVGMDA4QTQyNDBFRjU4MkU0MzRGRkY1NTIKKzoxMDIxMjAwMDgzRTRGMDBFMDIyMDhEOEQ0NjhFNDQ4RjQ1NzQ3RjkwOUYKKzoxMDIxMzAwMEZGRkRGMDc0OTA5MEZGRkNGMDIyOEM1OEVDMjRGNjUwRDgKKzoxMDIxNDAwMDA2RTU1ODI0MzdGQzIyRTU1ODI0MzBGQzIyMTIyNTIzQ0EKKzoxMDIxNTAwMEVDNzAwMzAyMjI1RTc1NUMwM0FFNUI3RjAwRTU1QzE1RUMKKzoxMDIxNjAwMDVDNjQ4MDI0N0Y1MDM1RUYyNDAwRjU4MkU0MzRGQkY1NzUKKzoxMDIxNzAwMDgzRTBGRTI0RkU1MDFFRUY3RDAwRkNFNEZCNzQ3NEMzN0MKKzoxMDIxODAwMDlDRkFFQjlERkJFRTdEMDBGQ0VBQzM5Q0VENjQ4MENCRUEKKzoxMDIxOTAwMDY0ODA5QjUwMDI4MDA1RUYyRUZGODBDMThFNUI4RjVBQkEKKzoxMDIxQTAwMEU1NUM2NDgwMjQ3RjUwMDMwMjIyNUVFNTVBMjQ4RTUwNTEKKzoxMDIxQjAwMDAzMDIyMjVFODU1QTVENzU1QjAwQUU1QUFGNUI5MDM1QjcKKzoxMDIxQzAwMDlDRTQ5M0Y1NUNFNTVDMTU1QzY0ODAyNDdGNTAxOEVFMUMKKzoxMDIxRDAwMDI0MDBGNTgyRTQzNEZCRjU4M0UwRkNFRjkwMzU5QzkzMUEKKzoxMDIxRTAwMDZDNzAwNDBFMEY4MERFOEU1QThGNUJFNTVDNjQ4MDI0NzkKKzoxMDIxRjAwMDdGNDA2RTc1NUUwMTc1NjBFODc1NUZGRkU1NUQyNDAyRTYKKzoxMDIyMDAwMEY1NUE3NTVDMDdFNTVDMzM0MDU3QUQ2MEFFNUZBRjVFNzUKKzoxMDIyMTAwMEU1NUNGNTgyMzM5NUUwRjU4MzEyMDFFQ0M0NTQwRkZDQzQKKzoxMDIyMjAwMDEyMjEzN0U1NUEyNDAwRjU4MkU0MzRGQkY1ODNFQ0YwMDMKKzoxMDIyMzAwMDA1NUEwNTVBQUQ2MEFFNUZBRjVFRTU1Q0Y1ODIzMzk1MzkKKzoxMDIyNDAwMEUwRjU4MzEyMDFFQzU0MEZGQzEyMjEzN0U1NUEyNDAwMEIKKzoxMDIyNTAwMEY1ODJFNDM0RkJGNTgzRUNGMDA1NUEwNTVBMTU1QzgwRjEKKzoxMDIyNjAwMEE0NzQwMjkwRjg1MUYwOTBGODZCNzk3NTdBMzU3QjI3NTkKKzoxMDIyNzAwMDc4MDExMjAzRjU3NTZBMzU3NTY5RkM3NTY4MDFFNDkwOUIKKzoxMDIyODAwMEZGODNGMDc0ODA5MEZGODFGMDc1NTkwMkU1NTk3NUYwNzUKKzoxMDIyOTAwMDA3QTQyNDdGRjU4MkU0MzRGOEY1ODNFMDc4OEZGNkZDMTgKKzoxMDIyQTAwMDU0MEYxNEZDNzg4RkVDRjZFNTU5NzVGMDA3QTQyNDgxREYKKzoxMDIyQjAwMEY1ODJFNDM0RjhGNTgzRTA3ODkyNzZGRDA4NzZFOEZDNjAKKzoxMDIyQzAwMDc4OEZFNjc1RjAwOEE0MjQ0OEY1ODJFNDM0RkZGNTgzOUUKKzoxMDIyRDAwMEU0RjA3ODhGRTY3NUYwMDhBNDI0NEZGNTgyRTQzNEZGMkIKKzoxMDIyRTAwMEY1ODNFQ0YwNzg5MkU2RkYwOEU2N0UwM0NGQzMxM0NGQzgKKzoxMDIyRjAwMDEzREVGOUZFNzg4RkU2NzVGMDA4QTQyNDQ5RjU4MkU0MzAKKzoxMDIzMDAwMDM0RkZGNTgzRUVGMDc4OEZFNjc1RjAwOEE0MjQ0QUY1RTMKKzoxMDIzMTAwMDgyRTQzNEZGRjU4Mzc0ODBGMDc4OTBFQ0Y2N0QwMDc4RTkKKzoxMDIzMjAwMDkzRTYyQ0Y2MThFNjNERjY3ODkyRTZGRDA4RTY3QzAzODcKKzoxMDIzMzAwMENEQzMxM0NEMTNEQ0Y5RkM3ODhGRTY3NUYwMDhBNDI0MjcKKzoxMDIzNDAwMDRERjU4MkU0MzRGRkY1ODNFQ0YwNzg4RkU2NzVGMDA4MDQKKzoxMDIzNTAwMEE0MjQ0RUY1ODJFNDM0RkZGNTgzRTRGMDc4OTJFNkZEQTAKKzoxMDIzNjAwMDA4RTZGQzc4OEZFNkZGN0UwMEVFMjRGRTUwMDMwMjI0OTAKKzoxMDIzNzAwMERERTRFRTc1RjAwN0E0MjQ3RkY1ODJFNDM0RjhGNTgzRkMKKzoxMDIzODAwMEUwRkZFNEVGNTQ4MEZBRTRFRjU0MEYxNEZGRTRFRTc1M0QKKzoxMDIzOTAwMEYwMDdBNDI0ODFGNTgyRTQzNEY4RjU4M0UwNzg5MEY2MjAKKzoxMDIzQTAwMEU0RUUxMzEzNTQ4MDI0RjBGOEU0MzRGREY5RThGQ0U5N0EKKzoxMDIzQjAwMEZEOEE1QUVBNzAwMzAyMjQ0QUU0RUY3NUYwMDhBNDI0NjcKKzoxMDIzQzAwMDQ4RjU4MkU0MzRGRkY1ODNFNEYwNzg5MEU2RkFFNEVGMzAKKzoxMDIzRDAwMDc1RjAwOEE0MjQ0RkY1ODJFNDM0RkZGNTgzRUFGMEVEQUMKKzoxMDIzRTAwMEZCRUM3QTAzQ0JDMzEzQ0IxM0RBRjlGQUU0RUY3NUYwMDUKKzoxMDIzRjAwMDA4QTQyNDQ5RjU4MkU0MzRGRkY1ODNFQUYwNzg5MEU2RjYKKzoxMDI0MDAwMDdCMDBGQUVDMkFGQ0VEM0JGREZCRUM3QTAzQ0JDMzEzMUIKKzoxMDI0MTAwMENCMTNEQUY5RkFFNEVGNzVGMDA4QTQyNDRERjU4MkU0NjEKKzoxMDI0MjAwMDM0RkZGNTgzRUFGMEU0RUY3NUYwMDhBNDI0NEFGNTgyNUUKKzoxMDI0MzAwMEU0MzRGRkY1ODM3NDgwRjBFNEVGNzVGMDA4QTQyNDRFRDMKKzoxMDI0NDAwMEY1ODJFNDM0RkZGNTgzNzQ4MEYwMDIyNEQ5RTRFRjc1NUIKKzoxMDI0NTAwMEYwMDhBNDI0MDhGNTgyRTQzNEZGRjU4M0U0RjA3ODkwRDIKKzoxMDI0NjAwMEU2RkFFNEVGNzVGMDA4QTQyNDBGRjU4MkU0MzRGRkY1RjIKKzoxMDI0NzAwMDgzRUFGMEVERkJFQzdBMDNDQkMzMTNDQjEzREFGOUZBNjIKKzoxMDI0ODAwMEU0RUY3NUYwMDhBNDI0MDlGNTgyRTQzNEZGRjU4M0VBNEIKKzoxMDI0OTAwMEYwNzg5MEU2N0IwMEZBRUMyQUZDRUQzQkZERkJFQzdBNTEKKzoxMDI0QTAwMDAzQ0JDMzEzQ0IxM0RBRjlGQUU0RUY3NUYwMDhBNDI0RDUKKzoxMDI0QjAwMDBERjU4MkU0MzRGRkY1ODNFQUYwRTRFRjc1RjAwOEE0NEIKKzoxMDI0QzAwMDI0MEFGNTgyRTQzNEZGRjU4M0U0RjBFNEVGNzVGMDA4QzQKKzoxMDI0RDAwMEE0MjQwRUY1ODJFNDM0RkZGNTgzRTRGMDBFMDIyMzY2QjMKKzoxMDI0RTAwMDhFNTk3ODkyRURGNjA4RUNGNjc4OEZFRkY2MTIyMDU1QkIKKzoxMDI0RjAwMDIyOEMyNkVDMzBFNzE4RTUyNjU0MEYxNDc1RjAwOEE0NUEKKzoxMDI1MDAwMDI0NDhGNTgyRTQzNEZGRjU4M0UwNTRERkYwODAxNkU1REIKKzoxMDI1MTAwMDI2NTQwRjE0NzVGMDA4QTQyNDA4RjU4MkU0MzRGRkY1NUUKKzoxMDI1MjAwMDgzRTA1NERGRjAyMjdDMDAyMkVDOTBGQzM3RjA4QzI0MTYKKzoxMDI1MzAwMEVEMjQwM0Y1MjU3RDAwRDM5NTcyRUQ5NTcxNDAwMzg1NUIKKzoxMDI1NDAwMDcyMjVFNTI1MjRCNzUwMDk3NTI1MDM3NDAyOTBGQzM3RTAKKzoxMDI1NTAwMEYwQUMyNTEyMzAyNDIyRTRGNTZDRjU2QjEyMjU1RDIyRDcKKzoxMDI1NjAwMDkwRkMzNUUwNjU3MzYwMEU3NDA0OTBGQzM3RjBFNEY1ODAKKzoxMDI1NzAwMDZCNzU2QzAzODA0NjdENzNFNEZFRkY3OTM1N0FGQzdCRDYKKzoxMDI1ODAwMDAxNzQwNTc4MDAxMjAzM0ZFNTZDMjQwM0Y1NkNFNTZCREMKKzoxMDI1OTAwMDM0MDBGNTZCRTU2Q0QzOTU3MkU1NkI5NTcxNDAwNjg1NUIKKzoxMDI1QTAwMDcyNkM4NTcxNkJEM0U1NkM5NDQ4RTU2Qjk0MDA0MDBDQkMKKzoxMDI1QjAwMDc0MDI5MEZDMzdGMEU0RjU2Qjc1NkMwM0FDNkMxMjMwNzAKKzoxMDI1QzAwMDI0MjJFQzkwRkMzN0YwRTRGNTZDRjU2QjhDMzJFQzYwNzcKKzoxMDI1RDAwMDA1MTIzMDE1ODAwNTdDMDAxMjMwMjQyMjkwRkY5M0UwMTQKKzoxMDI1RTAwMDQ0MDFGMEIyQjM5MEZGMDRFMEY1NEE5MEZGMDZFMEZEMkQKKzoxMDI1RjAwMEEzRTBFRDdEMDBGQzdEMDBGQzkwRkYwNkUwRkZBM0UwODIKKzoxMDI2MDAwMDdFMDBGRkU0RkVFQzRFRkNFRDRGRkRDM0VDOTQ0OEVEODQKKzoxMDI2MTAwMDk0MDA1MDIyOTBGRjA2RTBGREEzRTBFRDdEMDBGQzdEREMKKzoxMDI2MjAwMDAwRkM5MEZGMDZFMEZGQTNFMDdFMDBGRkU0RkVFQzRFMUUKKzoxMDI2MzAwMEZDRUQ0RkZEODAwNEU0RkQ3QzQ4OEM3MjhENzE5MEZGQjEKKzoxMDI2NDAwMDAyRTBGREEzRTBFRDdEMDBGQzdEMDBGQzkwRkYwMkUwRDgKKzoxMDI2NTAwMEZGQTNFMDdFMDBGRkU0RkVFQzRFRjU0Q0VENEZGNTRCQTIKKzoxMDI2NjAwMDc1NkEzNTc1NjlGQzc1NjgwMTdEMzU3RUZDN0YwMTc5NzkKKzoxMDI2NzAwMDczRTRGQUZCNzQwNTc4MDAxMjAzM0Y3NTQ5MDBFNTQ5REQKKzoxMDI2ODAwMDI0RkU0MDE5QUQ2QUFFNjlBRjY4RTQxMjAzMEYwNTQ5MzQKKzoxMDI2OTAwMDBERUQ3MDAxMEU4RDZBOEU2OThGNjg4MEUxNzU2QTM1NjcKKzoxMDI2QTAwMDc1NjlGQzc1NjgwMTkwRkYwMEUwNTQ2MEI0MDAwMjgwMTkKKzoxMDI2QjAwMDA2RDM1MDAzMDIyQzZERTU0QTU0MEZGNTQ5RTU0QTU0MDAKKzoxMDI2QzAwMDgwQTJFMDkyMDI5MEZGMDFFMDEyMDE4MTAwMEIyQzY4RDEKKzoxMDI2RDAwMDI2RTUyODAzMkM2ODI5MEYyQzY4MjlGMjJBMjYyQjhENDEKKzoxMDI2RTAwMDJCOTAyQkQwMkMxMTJDM0ZFNTZEMzBFNzBFRTU0QzQ1OUYKKzoxMDI2RjAwMDRCNzAwOEU1NzI2NDAyNDU3MTYwMDMwMjJDNkE5MEZGMUEKKzoxMDI3MDAwMDAwRTA1NDFGQjQwMDAyODAwM0QzNDAyOUU1NEE2MDAzNkYKKzoxMDI3MTAwMDAyMjgwMEFENkFBRTY5QUY2ODc0MDExMjAzMEY3OEFEOEMKKzoxMDI3MjAwMEU2MzBFMDBCQUQ2QUFFNjlBRjY4NzQwMjEyMDMwRjdDNEQKKzoxMDI3MzAwMDAyMTIzMDI0MjJCNDAxMDI4MDAzRDM0MDFCRTU2RDIwMzUKKzoxMDI3NDAwMEUxMDdFNTRBNjAwMzAyMjgwMEU1NEEyNEZFNTAwMzAyM0YKKzoxMDI3NTAwMDI4MDA3QzAyMTIzMDI0MjJCNDAyMDI4MDA2RDM1MDAzRTcKKzoxMDI3NjAwMDAyMjdGRUU1NkQyMEUxMERFNTRBNjAwOUU1NEE2NDgwMzcKKzoxMDI3NzAwMDYwMDMwMjI4MDBBQzRBMTIzMEFCNDAwMzAyMjgwMEU1OTcKKzoxMDI3ODAwMDQ5NzAyNTMwMDIxMTkwRkY4MEUwNTQwOEFENkFBRTY5QUYKKzoxMDI3OTAwMEFGNjgxMjAzMEY4MDBGOTBGRjgyRTA1NDA4QUQ2QUFFNUQKKzoxMDI3QTAwMDY5QUY2ODEyMDMwRjgwM0QxNTQ5MzAwMjFERTU0OTc1NzgKKzoxMDI3QjAwMEYwMDhBNDI0NDhGNTgyRTQzNEZGRjU4M0UwNTQwOEFEMjIKKzoxMDI3QzAwMDZBQUU2OUFGNjgxMjAzMEY4MDFCRTU0OTc1RjAwOEE0NzMKKzoxMDI3RDAwMDI0MDhGNTgyRTQzNEZGRjU4M0UwNTQwOEFENkFBRTY5NUQKKzoxMDI3RTAwMEFGNjgxMjAzMEZBRDZBQUU2OUFGNjgxMjAxRTY2MDBCMDUKKzoxMDI3RjAwMEFENkFBRTY5QUY2ODc0MDExMjAzMEY3QzAyMTIzMDI0MTcKKzoxMDI4MDAwMDIyODAwMDAyMkM2QUU1NkQyMEU3MDZFNTcyNDU3MTYwQzIKKzoxMDI4MTAwMDAzMDIyQzZBOTBGRjAwRTA1NDFGQjQwMDAyODAwM0QzMkYKKzoxMDI4MjAwMDQwMUFFNTRDMTQ0NTRCNzAwNEU1NEE2MDAzMDIyOTBDM0MKKzoxMDI4MzAwMDc4QURFNjU0RkVGNjdDMDAxMjMwMjQyMkI0MDEwMjgwMEEKKzoxMDI4NDAwMDAzRDM0MDJBRTU2RDIwRTEwOEU1NkQyMEUwMDMwMjI5NkQKKzoxMDI4NTAwMDBDRTU2RDMwRTAwNEU1NEE3MDBCRTU2RDMwRTEwOUU1MEIKKzoxMDI4NjAwMDRBMjRGRTUwMDMwMjI5MEM3QzAwMTIzMDI0MjJCNDAyQjgKKzoxMDI4NzAwMDAyODAwNkQzNTAwMzAyMjkwQUU1NEM0NTRCNjAwMzAyNEYKKzoxMDI4ODAwMDI5MENBQzRBMTIzMEFCNDAwMzAyMjkwQ0U1NkQyMEUxNjMKKzoxMDI4OTAwMDA3RTU2RDIwRTAwMjgwNzdFNTZEMzBFMDA2RTU0OTYwRjAKKzoxMDI4QTAwMDAyODA2Q0U1NDk3MDBGOTBGRjgyRTA1NEY3RjA5MEZGRDIKKzoxMDI4QjAwMDgwRTA1NEY3RjAyMkU1NDlCNDAxMDI4MDAzRDM0MDA5RDcKKzoxMDI4QzAwMDdEMDE3QzAzMTIwRjA5ODAxMUI0MDIwMjgwMDNEMzQwMDIKKzoxMDI4RDAwMDA5N0QwMTdDMDQxMjBGMDk4MDAwMTU0OTMwMDIxNUU1QkQKKzoxMDI4RTAwMDQ5NzVGMDA4QTQyNDQ4RjU4MkU0MzRGRkY1ODNFMDU0RTgKKzoxMDI4RjAwMEY3RjA4MDEzRTU0OTc1RjAwOEE0MjQwOEY1ODJFNDM0NjQKKzoxMDI5MDAwMEZGRjU4M0UwNTRGN0YwN0MwMDEyMzAyNDIyODAwMDAyQUYKKzoxMDI5MTAwMDJDNkFFNTZEMjBFNzA2RTU3MjQ1NzE2MDAzMDIyQzZBQkEKKzoxMDI5MjAwMDkwRkYwMEUwNTQxRkI0MDAwMjgwMDNEMzQwMUFFNTRDMkUKKzoxMDI5MzAwMDE0NDU0QjcwMDRFNTRBNjAwMzAyMjlFRjc4QURFNjQ0ODQKKzoxMDI5NDAwMDAxRjY3QzAwMTIzMDI0MjJCNDAxMDI4MDAzRDM0MDI5MTYKKzoxMDI5NTAwMEU1NkQyMEUxMDhFNTZEMjBFMDAzMDIyOUVGRTU2RDMwMkIKKzoxMDI5NjAwMEUwMDRFNTQ5NzAwQkU1NkQzMEUxMDhFNTQ5MjRGRTUwQ0YKKzoxMDI5NzAwMDAyODA3RjdDMDAxMjMwMjQyMkI0MDIwMjgwMDNEMzQwMDQKKzoxMDI5ODAwMDZGRTU0QzQ1NEI2MDAyODA2OUFDNEExMjMwQUI0MDAyQTcKKzoxMDI5OTAwMDgwNjBFNTZEMjBFMTA3RTU2RDIwRTAwMjgwNTRFNTQ5QTcKKzoxMDI5QTAwMDcwMTQzMDAyMDk5MEZGODBFMDQ0MDhGMDgwMDc5MEZGMjcKKzoxMDI5QjAwMDgyRTA0NDA4RjAyMkU1NkQzMEUxMzMxNTQ5MzAwMjE1MUMKKzoxMDI5QzAwMEU1NDk3NUYwMDhBNDI0NDhGNTgyRTQzNEZGRjU4M0UwNzYKKzoxMDI5RDAwMDQ0MDhGMDgwMTNFNTQ5NzVGMDA4QTQyNDA4RjU4MkU0NjIKKzoxMDI5RTAwMDM0RkZGNTgzRTA0NDA4RjA3QzAwMTIzMDI0MjI4MDAyOUEKKzoxMDI5RjAwMDgwMDAwMjJDNkFFNTZEMjBFNzEyRTU3MjQ1NzE3MDBDQ0IKKzoxMDJBMDAwMEU1NEE3MDA4OTBGRjAwRTA1NDFGNjAwMzAyMkM2QUU1NUQKKzoxMDJBMTAwMDRDOTBGRkZGRjA5MEZGRkZFMDYwMDU0MzZEMDE4MDAzRTUKKzoxMDJBMjAwMDUzNkRGRTdDMDAxMjMwMjQyMkU1NkQzMEU3MEVFNTcyMTYKKzoxMDJBMzAwMDQ1NzE2MDA4OTBGRjAwRTA1NDFGNjAwMzAyMkM2QUFERUUKKzoxMDJBNDAwMDRCRTU0Q0VEN0QwMEZDN0QwMEZDQkQwMDAyODAwMzAyRTcKKzoxMDJBNTAwMDJCODhCNDAxMDI4MDAzRDM0MDMyRTU0QTcwMDVFNTRDNkYKKzoxMDJBNjAwMEZDNjAwMzAyMkI4QTc1NkE0MDc1NjlGODc1NjgwMUQzQUEKKzoxMDJBNzAwMEU1NzI5NDEyRTU3MTk0MDA0MDA2RTRGRDdDMTI4MDA0MzYKKzoxMDJBODAwMEFDNzJBRDcxOEM3MDhENkYxMjMwMzkyMkI0MDIwMjgwM0QKKzoxMDJBOTAwMDAzRDM0MDU5RTU0QTYwMDMwMjJCOEFFNTRDRkM3MDI3QkEKKzoxMDJBQTAwMDc1NkE1Mjc1NjlGODc1NjgwMUQzRTU3Mjk0MTlFNTcxMTQKKzoxMDJBQjAwMDk0MDA0MDA2RTRGRDdDMTk4MDA0QUM3MkFENzE4QzcwMEEKKzoxMDJBQzAwMDhENkYxMjMwMzk4MDI1NzU2QTZCNzU2OUY4NzU2ODAxRUMKKzoxMDJBRDAwMEQzRTU3Mjk0MjdFNTcxOTQwMDQwMDZFNEZEN0MyNzgwREQKKzoxMDJBRTAwMDA0QUM3MkFENzE4QzcwOEQ2RjEyMzAzOTIyQjQwMzAyNTgKKzoxMDJBRjAwMDgwMDZEMzUwMDMwMjJCODhFNTRDRjU0OTcwMEY5MEZGRjgKKzoxMDJCMDAwMDA0RTBGREEzRTA0RDYwMDMwMjJCOEE4MDE4OTBGQjAyRDUKKzoxMDJCMTAwMEUwRkRBM0UwRkM5MEZGMDVFMDZDNzAwNzkwRkYwNEUwOEYKKzoxMDJCMjAwMDZENjAwMjgwNjhFNEY1NzBGNTZGN0YwMEU1NDkxNEM1QkIKKzoxMDJCMzAwMDQ5NjAwRkVGMjQwMEY1ODJFNDM0RkJGNTgzRTAyRkZGQkEKKzoxMDJCNDAwMDgwRUE4RjRBRTU0QTI0MDBGNTgyRTQzNEZCRjU4M0UwMEQKKzoxMDJCNTAwMDdEMDBEMzk1NzJFRDk1NzE0MDA2QUM3MkFENzE4MDBGMUEKKzoxMDJCNjAwMEU1NEEyNDAwRjU4MkU0MzRGQkY1ODNFMDdEMDBGQzhDMkIKKzoxMDJCNzAwMDcwOEQ2RkU1NEEyNDAwRkNFNDM0RkJGREZFRUNGRDdGMjQKKzoxMDJCODAwMDAxOEQ2QThFNjk4RjY4MTIzMDM5MjI4MDAwMDIyQzZBQUEKKzoxMDJCOTAwMDAyMkM2QUU1NkQzMEU3MTlFNTcyMTQ0NTcxNzAxMkU1OTMKKzoxMDJCQTAwMDRBNzAwRUU1NEM0NTRCNzAwODkwRkYwMEUwNTQxRjYwRTIKKzoxMDJCQjAwMDAzMDIyQzZBRTU2RDIwRTAwOEU1NkQyMEUxMDMwMjJDOUMKKzoxMDJCQzAwMDZBNzU2QTZFRTRGNTY5RjU2OEU0RjU2RjA0RjU3MDEyRUMKKzoxMDJCRDAwMDMwMzkyMkU1NkQyMEU3MTJFNTcyNDU3MTcwMENFNTRBNDcKKzoxMDJCRTAwMDcwMDg5MEZGMDBFMDU0MUY2MDAzMDIyQzZBRTU2RDIwMUUKKzoxMDJCRjAwMEUwMDdFNTZEMjBFMTAyODA3NDg1NEM2RUU1NkU3MDA4OUIKKzoxMDJDMDAwMDQzNkQwMTUzNkRGRDgwMDY1MzZERkU0MzZEMDI3QzAwRTQKKzoxMDJDMTAwMDEyMzAyNDIyRTU2RDMwRTcxQUU1NzIxNDQ1NzE3MDEzMDUKKzoxMDJDMjAwMEU1NEE3MDBGRTU0QzQ1NEI3MDA5OTBGRjAwRTA1NDFGREEKKzoxMDJDMzAwMDE0NjAwMjgwMzhFNTZEMjBFMTAyODAzMTdDMDExMjMwQTEKKzoxMDJDNDAwMDI0MjJFNTZEMjBFNzE1RTU3MjQ1NzE3MDBGRTU0QzQ1Q0UKKzoxMDJDNTAwMDRCNzAwOTkwRkYwMEUwNTQxRjE0NjAwMjgwMEZFNTZENzcKKzoxMDJDNjAwMDIwRTEwMjgwMDg3QzAwMTIzMDI0MjI4MDAwMDIyRjJCRjkKKzoxMDJDNzAwMEI0NDAwMjgwMDZEMzUwMDMwMjJGMjE5MEZGMDFFMDkwNjAKKzoxMDJDODAwMEZDMzVGMEU1NEE5MEZDMzZGMEU0OTBGQzM3RjBFNTZBNUMKKzoxMDJDOTAwMDI0MDNGNTZBRTU2OTM0MDBGNTY5QUQ0QkU1NEM4NTZBQjYKKzoxMDJDQTAwMDgyODU2OTgzQ0RGMEEzQ0RGMDkwRkYwMUUwMTIwMUI3REEKKzoxMDJDQjAwMDJDRDgwMTJDRkUwMjJEMjgwMzJENTIwNDJEQTAwNTJEMDkKKzoxMDJDQzAwMEREMDYyRTAzMDcyRTI5MDgyRTU1MDkyRTdCMEIyRUExN0IKKzoxMDJDRDAwMDBDMkVCMDgwMkVCMDgxMDAwMDJGMEVFNTZEMjBFNzA2OEYKKzoxMDJDRTAwMDdDMDUxMjI1QkYyMjdEMjQ3RTM1N0YwMjc5Mzg3QUZDNEYKKzoxMDJDRjAwMDdCMDE3NDA4NzgwMDEyMDMzRjdEMDg3QzAwMTIyNTI2QjIKKzoxMDJEMDAwMDIyRTU2RDIwRTcwNjdDMDUxMjI1QkYyMkU1NEFCNDAzQzMKKzoxMDJEMTAwMDAwNDAxMEI0MDUwMDUwMEJFNTRBN0YwMEZFN0MxMDEyMDUKKzoxMDJEMjAwMDMxRkIyMjdEMDA3QzA3MTIyNTI2MjJFNTZEMjBFNzA2NzcKKzoxMDJEMzAwMDdDMDUxMjI1QkYyMkU1NEFCNDAzMDA0MDEwQjQwNTAwMEIKKzoxMDJENDAwMDUwMEJFNTRBN0YwMEZFN0MxMTEyMzFGQjIyN0QwMDdDOTYKKzoxMDJENTAwMDA3MTIyNTI2MjJFNTZEMjBFNzA2N0MwNTEyMjVCRjIyRjUKKzoxMDJENjAwMEU1NEFCNDA1MDI4MDAzRDM0MDBBRTRGRjA0RkU3QzBBNkUKKzoxMDJENzAwMDEyMzFGQjIyQjQwMTAyODAwM0QzNDAwQUU0RkYwNEZFQjcKKzoxMDJEODAwMDdDMDgxMjMxRkIyMkI0MDMwMDQwMTBCNDA1MDA1MDBCNDQKKzoxMDJEOTAwMEU1NEE3RjAwRkU3QzEzMTIzMUZCMjI3RDAwN0MwNzEyODYKKzoxMDJEQTAwMDI1MjYyMkU1NkQyMEU3MzREM0U1NzI5NDQ4RTU3MTk0MzkKKzoxMDJEQjAwMDAwNTAwNkU1NzI0NTcxNzAwNjdDMDIxMjI1QkYyMkU1QkYKKzoxMDJEQzAwMDRBQjQwMTAzQjM0MDBCQzNCNDAzMDA0MDA5QjQwNjAwODYKKzoxMDJERDAwMDUwMDQxMjMwRDEyMjdDMDcxMjI1QkYyMjEyMjU1RDIyMTkKKzoxMDJERTAwMEU1NkQyMEU3MURFNTRBQjQwMzAwNDAxMEI0MDUwMDUwMkUKKzoxMDJERjAwMDBCRTU0QTdGMDBGRTdDMTYxMjMxRkIyMjdDMDcxMjI1NzAKKzoxMDJFMDAwMEJGMjIxMjI1NUQyMkU1NkQyMEU3MURFNTRBQjQwMzAwQ0YKKzoxMDJFMTAwMDQwMTBCNDA1MDA1MDBCRTU0QTdGMDBGRTdDMTkxMjMxQ0EKKzoxMDJFMjAwMEZCMjI3QzA3MTIyNUJGMjIxMjI1NUQyMkU1NkQyMEU3REIKKzoxMDJFMzAwMDIzNzQ4MTkwRkY5M0YwRTU0QUI0MDMwMDQwMTBCNDA1NzkKKzoxMDJFNDAwMDAwNTAwQkU1NEE3RjAwRkU3QzE3MTIzMUZCMjI3QzA3MDUKKzoxMDJFNTAwMDEyMjVCRjIyMTIyNTVEMjJFNTZEMjBFNzFERTU0QUI0NEIKKzoxMDJFNjAwMDAzMDA0MDEwQjQwNTAwNTAwQkU1NEE3RjAwRkU3QzE4QkIKKzoxMDJFNzAwMDEyMzFGQjIyN0MwNzEyMjVCRjIyMTIyNTVEMjJFNTZENEYKKzoxMDJFODAwMDIwRTcxREU1NEFCNDAzMDA0MDEwQjQwNTAwNTAwQkU1RUYKKzoxMDJFOTAwMDRBN0YwMEZFN0MxNTEyMzFGQjIyN0MwNzEyMjVCRjIyREYKKzoxMDJFQTAwMDEyMjU1RDIyRTU2RDIwRTcwNjdDMDcxMjI1QkYyMjEyNjAKKzoxMDJFQjAwMDI1NUQyMkU1NkQzMEU3MjA5MEZGMDBFMDU0MUY3MDEwODMKKzoxMDJFQzAwMDkwRkYwMUUwQjQ4MDA1MTIyNTU0ODAwMzEyMjU1RDIyOTUKKzoxMDJFRDAwMDdEMDA3QzA1MTIyNTI2MjI5MEZGMDBFMDU0MUY2MDA2MkQKKzoxMDJFRTAwMDdDMDUxMjI1QkYyMkQzRTU3Mjk0NDhFNTcxOTQwMDUwMDkKKzoxMDJFRjAwMDBCQzNFNTcyOTQwN0U1NzE5NDAwNTAwNjdDMDMxMjI1MUMKKzoxMDJGMDAwMEJGMjJFNTRBQjQwNTA0MTIzMEQxMjI3QzA3MTIyNUJGNDYKKzoxMDJGMTAwMDIyRTU2RDMwRTcwODdEMDA3QzA1MTIyNTI2MjI3QzA1MjAKKzoxMDJGMjAwMDEyMjVCRjIyQjQyMDAyODAwM0QzNDAwMDgwMDAxMjJGNUMKKzoxMDJGMzAwMEZGMjI3NTQzMDA5MEZGODNFMDU0MEZEMzk1NDM0MDI0NTQKKzoxMDJGNDAwMEU1NDMyNEYwRjU4MkU0MzRGRUY1ODNFMEFENkFBRTY5MzIKKzoxMDJGNTAwMEFGNjgxMjAzMEYwNTQzMERFRDcwMDEwRThENkE4RTY5ODcKKzoxMDJGNjAwMDhGNjg4MEQxRTU0MzdEMDBGQ0MzRTU3MDlDRjU3MEU1N0EKKzoxMDJGNzAwMDZGOURGNTZGRTU3MDQ1NkY2MDA2RTQ5MEZGODNGMDIyNkEKKzoxMDJGODAwMDkwRkY4MkUwNDQwOEYwRTRGNTZGNzU3MDQ5OTBGQzM1REQKKzoxMDJGOTAwMEUwQjQwNTAyODAwM0QzNDA0MDkwRkMzNkUwRjU0M0I0MzIKKzoxMDJGQTAwMDA1MDI4MDAzRDM0MDBBRTRGRjA0RkU3QzBCMTIzMUZCRDAKKzoxMDJGQjAwMDIyQjQwMTAyODAwM0QzNDAwQUU0RkYwNEZFN0MwOTEyMUMKKzoxMDJGQzAwMDMxRkIyMkI0MDMwMDQwMTBCNDA1MDA1MDBCRTU0MzdGRjEKKzoxMDJGRDAwMDAwRkU3QzE0MTIzMUZCMjIyMkI0ODAwMDQwMjNCNDgyMTQKKzoxMDJGRTAwMDAwNTAxRTdDMzU3REZDMTIxNzdFN0QwMDhDNkM4RDZCMzUKKzoxMDJGRjAwMDkwRkMzN0UwNjAwNTEyMkZGRjgwMDU3QzAwMTIzMDI0MjIKKzoxMDMwMDAwMDIyMjI5MEZGODNFMDU0N0ZGMDkwRkY4MkUwNDQwOEYwOUEKKzoxMDMwMTAwMDkwRkY4MEUwNDQwOEYwMjI5MEZGODJFMDQ0MDhGMDkwQTYKKzoxMDMwMjAwMEZGODBFMDQ0MDhGMDIyOEMyMzdEMDA4QzcwOEQ2Rjc1NEEKKzoxMDMwMzAwMDZBMzU3NTY5RkM3NTY4MDExMjMwMzkyMjkwRkY4M0UwQUEKKzoxMDMwNDAwMDU0N0ZGMEU1NzA2NDQ5NDU2RjcwMDEyMkMzRTU3MDk0QzgKKzoxMDMwNTAwMDA4RTU2Rjk0MDA0MDE1NzUyMTA4RTUyMTdEMDBGQ0MzNEIKKzoxMDMwNjAwMEU1NzA5Q0Y1NzBFNTZGOURGNTZGODAwOTg1NzAyMUU0MzIKKzoxMDMwNzAwMEY1NkY3NTcwNDk3NTIyMDBFNTIyQzM5NTIxNTAyNkFEODQKKzoxMDMwODAwMDZBQUU2OUFGNjgxMjAxRTZGQ0U1MjIyNEY4RjU4MkU0MzUKKzoxMDMwOTAwMDM0RkVGNTgzRUNGMDA1MjIwREVENzAwMTBFOEQ2QThFODUKKzoxMDMwQTAwMDY5OEY2ODgwRDNFNTIxNTQ3RjkwRkY4MUYwMjI4QzQ4OUUKKzoxMDMwQjAwMDdGMDBFRjI0RkQ0MDE5RTRFRjc1RjAwN0E0MjQ3RkY1QUQKKzoxMDMwQzAwMDgyRTQzNEY4RjU4M0UwNjU0ODcwMDJEMzIyMEY4MEUyOTEKKzoxMDMwRDAwMDhGNDdDMzIyODU3MjcwODU3MTZGOTBGRjgyRTA1NEY3MkQKKzoxMDMwRTAwMEYwOTBGRjgzRTA1NDdGRjAyMkMwMDBDMDAxQzAwMkMwMTYKKzoxMDMwRjAwMDA2QzAwN0U1NzgyNDA4Rjg4NjA2NTMwNjdGN0NGRjEyOTEKKzoxMDMxMDAwMDMxNUI3QzAwN0QwMEU1N0I2MDQ2RkY5MEZEOTVFMDU0REYKKzoxMDMxMTAwMDdGNkU3MDBGQzA4M0MwODJBM0UwRkRBM0UwRkNBMzE1MDcKKzoxMDMxMjAwMDdCODAwN0EzQTNBM0RGRTY4MDI2REYwNkQwODJEMDgzQkYKKzoxMDMxMzAwMDgwMUVFMEY4QTNFMEY5QTNFMEZBRDA4MkQwODNFOEYwQTMKKzoxMDMxNDAwMEEzRTlGMEEzRUFGMEEzQzA4M0MwODJBM0EzQTM4MERBMUIKKzoxMDMxNTAwMDEyMzFGNEQwMDdEMDA2RDAwMkQwMDFEMDAwMjI4NUE4QzkKKzoxMDMxNjAwMDdBNzVBODg4RUM3MDAyN0MzRjhDNzkyMkU1NzgyNDA4NzcKKzoxMDMxNzAwMEY4NzYwMDEyMzI0ODgwRkJDMDAwQzAwMUMwMDJDMDA2RDEKKzoxMDMxODAwMEMwMDdBRTA0N0NGRjEyMzE1QkU1N0I2MDQyRkY5MEZEMUYKKzoxMDMxOTAwMDk1RTA1NDdGNkU3MDBCQzA4M0MwODJBM0EzQTMxNTdCMDAKKzoxMDMxQTAwMDgwMDdBM0EzQTNERkVBODAyNkRGMDZEMDgyRDA4MzgwMzYKKzoxMDMxQjAwMEQ4RTBGOEEzRTBGOUEzRTBGQUQwODJEMDgzRThGMEEzNDYKKzoxMDMxQzAwMEU5RjBBM0VBRjBBM0MwODNDMDgyQTNBM0EzODBEQTc4QzYKKzoxMDMxRDAwMDA4MDg3OTE4MDk3QzAxRTY1NDdGNkU3MDA2NzYwMDc3M0UKKzoxMDMxRTAwMDAwODAwNjA4MDkwQ0JDMDhFRTEyMzFGNEQwMDdEMDA2QTYKKzoxMDMxRjAwMEQwMDJEMDAxRDAwMDIyNzU3OTAwODU3QUE4MjJDMEYwRDMKKzoxMDMyMDAwMEMwODJDMDgzQzNFNTdCMjRFODUwMDUxMjMyNDg4MEY0QjUKKzoxMDMyMTAwMEVDNjAzMTkwMzUyM0U0OTNDMzlDNDAyOEMwMDQ3Q0ZGQ0MKKzoxMDMyMjAwMDEyMzE1QkQwMDQ0MzA0ODBFNTdCNzVGMDAzQTQyNDk1NDAKKzoxMDMyMzAwMEY1ODJFNDM0RkRGNTgzRUNGMEVGQTNGMEVFQTNGMDA1QTYKKzoxMDMyNDAwMDdCMTIzMUY0RDA4M0QwODJEMEYwMjJDMDA0N0MyMEQyMTMKKzoxMDMyNTAwMDhDRDI4REQ1MDRGREQwMDQyMjc1QTgwMDc1ODgwMDc1MjgKKzoxMDMyNjAwMEI4MDA3NUYwMDA3NUQwMDBFNEY4OTAwMDAwRjYwOEI4REEKKzoxMDMyNzAwMDAwRkIwMjAwMDBDM0VEOTQwMjUwMDQ3RDAzN0NFOEVDRTcKKzoxMDMyODAwMEY0RkNFREY0RkQwQ0JDMDAwMTBEOEM3RjhEN0UyMkMzOUYKKzoxMDMyOTAwMEVDOTRCQ0VEOTQwMjUwMDQ3RDA3N0NEMEVDRjRGQ0VEODIKKzoxMDMyQTAwMEY0RkQwQ0JDMDAwMTBEOEM3RDhEN0MyMkVDNzAwMTIyQTQKKzoxMDMyQjAwMEMwMDBFNTc4MjQxOEY4QTYwNEU1NzgyNDA4RjhDNjU0NzgKKzoxMDMyQzAwMDdGRjZFNjMwRTcwM0QwMDAyMjEyMzI0ODgwRjRDMjhDNDkKKzoxMDMyRDAwMDg1N0M4Qzg1N0Q4QUQyOENDMEUwQzBEMEMwRjBDMDgyNTUKKzoxMDMyRTAwMEMwODNDMDAwQzAwMUMwMDJDMDAzQzAwNEMwMDVDMDA2NDYKKzoxMDMyRjAwMEMwMDcxMjFBRDFFNTc4MjQwOEY4RTY2MDI0RTU3ODI0OUUKKzoxMDMzMDAwMDEwRjhBNjgxRTU3ODc1RjAyMUE0MjQ4REY1ODJFNDM0QzcKKzoxMDMzMTAwMEZDRjU4Mzc4QUVFNTgxMDRDMzk4RjlFNkYwMDhBM0Q5RkIKKzoxMDMzMjAwMEZBNzQwODI1NzhGODA1NzgwOEU2NTQ4MDcwMENFNTc4N0EKKzoxMDMzMzAwMEI0MDdGMzc4MDg3NTc4MDA4MEVGRTU3ODI0MTBGODg2RjQKKzoxMDMzNDAwMDgxRTU3ODc1RjAyMUE0MjQ4REY1ODJFNDM0RkNGNTgzQzEKKzoxMDMzNTAwMDc4QUVFNTgxMDRDMzk4RjlFMEY2MDhBM0Q5RkFEMDA3NUUKKzoxMDMzNjAwMEQwMDZEMDA1RDAwNEQwMDNEMDAyRDAwMUQwMDBEMDgzNDUKKzoxMDMzNzAwMEQwODJEMEYwRDBEMEQwRTAzMkMwRTBDMEQwQzAwMEMwMDkKKzoxMDMzODAwMDAxQzAwMkMyOEU4NTdFOEQ4NTdGOEJEMjhFNzgxOTc5QTEKKzoxMDMzOTAwMDA5N0EwN0U3NzAwNEE2MDA4MDBCRTY2MDA4MTZFNjcwNUQKKzoxMDMzQTAwMDA0RTc0NDgwRjcwODA5REFFQUU1Nzk2MDEzMTRGNTc5NEYKKzoxMDMzQjAwMDcwMEVFNTc4MjQwOEY4NzYwMDEyMzFGNEQyOENEMjhEQTQKKzoxMDMzQzAwMEQwMDJEMDAxRDAwMEQwRDBEMEUwMzI3NTgxQUQ3NDJBQzcKKzoxMDMzRDAwMDkwRkY5M0YwNzU3RjMwNzU3RUY4NzU3RDYwNzU3Q0YwOTkKKzoxMDMzRTAwMDEyMDUzNjEyMzQ3QzEyMTczNDkwRkY5M0UwNDQwMUYwM0EKKzoxMDMzRjAwMEIyQjMxMjM0QTYxMjMyNTY4MERBMjJDMDAwN0MwMUVDM0QKKzoxMDM0MDAwMDI0MDhGOEU2NjAwOTBDQkMwOEY1MTIzMjQ4ODBFRUQwQkEKKzoxMDM0MTAwMDAwMjJDMEYwQzA4MkMwODNDMDAwQzAwNkMwMDdFRDI0RjcKKzoxMDM0MjAwMDEwRjg3NkJDRUQ3NUYwMjFBNDI0OERGNTgyRTQzNEZDMEYKKzoxMDM0MzAwMEY1ODNDMDgyQzA4M0EzQTNFNDc4MERGMEEzRDhGQ0VDOEQKKzoxMDM0NDAwMDU0N0Y3NUYwMDJBNDI0RUZGNTgyRTVGMDM0MzRGNTgzNUYKKzoxMDM0NTAwMEU0OTNGRTc0MDE5M0Y1ODI4RTgzRTQ5M0ZFNzQwMTkzRUEKKzoxMDM0NjAwMEZGRDA4M0QwODJFRkYwQTNFRUYwRUQyNDA4RjhFQzQ0MTcKKzoxMDM0NzAwMDgwRjZEMDA3RDAwNkQwMDBEMDgzRDA4MkQwRjAyMjc1NUQKKzoxMDM0ODAwMDc4MDA3NTdCMDA3QTA4NzkxODc4MDg3NjAwNzcwMDA4NEMKKzoxMDM0OTAwMDA5REFGOEU0NzgwODc0ODA0NDdGRjY3NDAxNDQxMEY1ODIKKzoxMDM0QTAwMDg5NzVCODA4RDJBQkQyQTkyMjc1ODFBREQyOEVEMjhDRTMKKzoxMDM0QjAwMEQyQUZFNTdCNjAzMkZGOTBGRDk1RTA1NDgwNjAyNDc4QzgKKzoxMDM0QzAwMDA4NzkwOEUwNTQ3RkZBN0IwMEU2NTQ3RkI1MDIwMjdCNUUKKzoxMDM0RDAwMEZGMDhEOUY1RUI3MDBDRUFGMDEyMzNGOEFEMDRBQzAyM0EKKzoxMDM0RTAwMDEyMzQwRkEzQTNBM0RGRDIxMjMyNDg4MEM1N0MwMTdEMjIKKzoxMDM0RjAwMDAwMjIwNEY1MDRFOTA0RUQwNEUxMDRERDA0RDkwNEU1NDcKKzoxMDM1MDAwMDA0RjEwNDlEMDRBMTA0Q0QwNEQxMDQ5OTA0OTkwNDk5MDMKKzoxMDM1MTAwMDA0RDUwNEI1MDRBRDA0QjEwNEE5MDRDMTA0QkQwNEI5QzMKKzoxMDM1MjAwMDA0QzUwNEM5MDRBNTE5MDEwMzAwMjIwMDQ4MDIwMDQ4OEIKKzoxMDM1MzAwMDBFMzAxNDIwQzgxQUQwMTgwQTBDMDUwNjAyMDMwMTAyMjYKKzoxMDM1NDAwMDAwMDFDRTAxODEwMTAwMDBDMDAwODAwMDYwMDAzMDAwNTkKKzoxMDM1NTAwMDE4MDAxMDAwMDgwMDA0MDAwMjAwMDEwMDA4MTgzODI4QjQKKzoxMDM1NjAwMDBDMDUxMDBBMDIwMDAwMDAwMDAwMDMwMTEwMEEwMjAwMEUKKzoxMDM1NzAwMDAwMDAwMDAwRkJFMEZCRjIwOTAyMjcwMDAxMDIwMEEwQUUKKzoxMDM1ODAwMDMyMDkwNDAwMDAwM0ZGMDAwMDAwMDcwNTgxMDI0MDAwMkIKKzoxMDM1OTAwMDAwMDcwNTAxMDI0MDAwMDAwNzA1ODMwMzAyMDAwMTIyMjUKKzoxMDM1QTAwMDAzNTQwMDU1MDA1MzAwNDIwMDMzMDAzNDAwMzEwMDMwMTIKKzoxMDM1QjAwMDAwMjAwMDIwMDAyMDAwMjAwMDIwMDAyMDAwMjAwMDIwMEIKKzowNTM1QzAwMDAwMDAwMDAwMDAwNgorOjAwMDAwMDAxRkYKZGlmZiAtLWdpdCBhL2Zpcm13YXJlL3RpXzUwNTIuZncuaWhleCBiL2Zpcm13YXJlL3RpXzUwNTIuZncuaWhleApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNTI5ZTA3Ci0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUvdGlfNTA1Mi5mdy5paGV4CkBAIC0wLDAgKzEsODYyIEBACis6MTAwMDAwMDBDMTM1MDAwMjAwMUUwMjFCMzJGRkZGRkZGRkZGMDIzMjVDCis6MTAwMDEwMDA2QUZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGMDIzMzRFCis6MTAwMDIwMDAxNTc1ODFDODkwRkVGMDg1ODNBMDEyMzQ3REVDNEQ2MDdCCis6MTAwMDMwMDA2QTc4QTU4MDAzNzYwMDE4Qjg5NkZBNzg3OTgwMDM3NkY2Cis6MTAwMDQwMDAwMDE4Qjg1RkZBNzgyMDgwMDM3NjAwMThCODIwRkE5MDdDCis6MTAwMDUwMDBGRUU1QUU4M0FGODI5MEZEMDAxMjAwQTE2MDA1RTRGMEUyCis6MTAwMDYwMDBBMzgwRjY5MEZFRjBBODgyOTBGRUYwQTk4MkU4QzM5OUUyCis6MTAwMDcwMDA1MDA1NzYwMDA4ODBGNjkwMDBGRjEyMDBBQTkwMDEwMzU4Cis6MTAwMDgwMDAxMjAwQUE5MDAxMDcxMjAwQUE5MDAxMEIxMjAwQzg5MDVBCis6MTAwMDkwMDAwMTExMTIwMEM4OTAwMTE3MTIwMEM4NzVEMDAwMTIzMzY4Cis6MTAwMEEwMDA2NzAyMDExREVGNjU4MjcwMDNFRTY1ODMyMkU0OTNGODE5Cis6MTAwMEIwMDA3NDAxOTNGOTc0MDI5M0ZFNzQwMzkzRjU4MjhFODNFOEJFCis6MTAwMEMwMDA2OTcwMDEyMkU0OTNGNkEzMDg4MEY0RTQ5M0ZDNzQwMUMwCis6MTAwMEQwMDA5M0ZENzQwMjkzRkU3NDAzOTNGRjc0MDQ5M0Y4NzQwNTA0Cis6MTAwMEUwMDA5M0Y1ODI4ODgzMTIwMEExNzAwMTIyRTQ5M0EzQTg4MzcwCis6MTAwMEYwMDBBOTgyOEM4MzhEODJGMEEzQUM4M0FEODI4ODgzODk4MkIwCis6MTAwMTAwMDA4MEUzMjEyMTA0OTI3QTdBMDQ5MkE2QTgwNDkyRkVGMDU4Cis6MTAwMTEwMDAwNDk0MDQ5NEZCRkIwNDk5MDQ5NEZCRkIwNEY5MDRGOTk0Cis6MTAwMTIwMDA4MEZFRDBGMDMwRjAwOTIwRjMwM0Y2ODAxMEY3ODAwRDQ4Cis6MTAwMTMwMDAzMEYxMDkyMEYzMDNGMjgwMDRGMzgwMDFGMDIwRjQwNDhECis6MTAwMTQwMDBGQ0QwRTBDQzIyQ0NDMEUwMTIwMTVBMDIwMTRCQkMwMDMyCis6MTAwMTUwMDAwNUQwRjBBQ0YwMjJDMzEzRENGQzAyMDEyMUJGMDAwOTgyCis6MTAwMTYwMDBFRDI1ODI3NUYwMDFGOEU2MjJCRjAxMEZFRDI1ODJGNTNECis6MTAwMTcwMDA4MkVFMzU4M0Y1ODM3NUYwMDRFMDIyRUQyNTgyNzVGMDdCCis6MTAwMTgwMDAwMkY4RTIyMkQwODNEMDgyRjVGMEMzRTQ5M0EzQzVGMDU1Cis6MTAwMTkwMDA5NUYwQzBFMEMzRDBGMEU0OTNBMzk1RjA0MDEyQTNBMzgwCis6MTAwMUEwMDBDM0U1RjAzMzUwMDIwNTgzMjU4MkY1ODI1MDAyMDU4M0IyCis6MTAwMUIwMDA3NDAxOTNDMEUwRTQ5M0MwRTAyMkQwODNEMDgyRjVGMEQ0Cis6MTAwMUMwMDBFNDkzNzAwOTc0MDE5MzcwMDRBM0EzODAwQzc0MDI5M0U4Cis6MTAwMUQwMDA2NUYwNjAwNUEzQTNBMzgwRTc3NDAxOTNDMEUwRTQ5M0Y2Cis6MTAwMUUwMDBDMEUwMjIxMjAyNUIwMjAxRjIxMjAyQUYwMjAxRjIxMjFGCis6MTAwMUYwMDAwMkQzMDIwMUYyMzBFMDA3MjBFMzAyRTYyMkU3MjIzMEQ4Cis6MTAwMjAwMDBFMTA3MjBFMzAyRTIyMkUzMjIzMEUyMDJFMDIyRTQ5MzZCCis6MTAwMjEwMDAyMjEyMDJEMzAyMDIxQTEyMDJBRjAyMDIxQUFCRjAxMjI5Cis6MTAwMjIwMDAwMjI0Q0JDNUYwQ0IyMjMwRTAxMDIwRTMwNkU2RjVGMDQ3Cis6MTAwMjMwMDAwOEU2MjJFN0Y1RjAwOUU3MTkyMjMwRTExMDIwRTMwNjhECis6MTAwMjQwMDBFMkY1RjAwOEUyMjJFM0Y1RjAwOUUzMTkyMjMwRTIwNkQ0Cis6MTAwMjUwMDBFMEY1RjBBM0UwMjJFNDkzRjVGMDc0MDE5MzIyQkIwMEYzCis6MTAwMjYwMDAwMzc0MDkyMkJCMDEwNzg5ODI4QTgzNzQwNDIyQkIwMkJBCis6MTAwMjcwMDAwNzg5ODI4QTgzNzQxMDIyNzQwQTIyMDIwMjdCQkIwMERGCis6MTAwMjgwMDAwN0U5MjU4MkY4NzQwMTIyQkIwMTBERTkyNTgyRjU4Mjc4Cis6MTAwMjkwMDBFQTM1ODNGNTgzNzQwNDIyQkIwMjBERTkyNTgyRjU4MkQ5Cis6MTAwMkEwMDBFQTM1ODNGNTgzNzQxMDIyRTkyNTgyRjg3NDAyMjIwMjZDCis6MTAwMkIwMDAwMkFGQkYwMDA1RURGODc0MDEyMkJGMDEwNzhEODI4RUU5Cis6MTAwMkMwMDA4Mzc0MDQyMkJGMDIwNzhEODI4RTgzNzQxMDIyRURGODlFCis6MTAwMkQwMDA3NDAyMjIwMjAyRDNCRjAwMDdFRDI1ODJGODc0MDEyMkM2Cis6MTAwMkUwMDBCRjAxMERFRDI1ODJGNTgyRUUzNTgzRjU4Mzc0MDQyMjdFCis6MTAwMkYwMDBCRjAyMERFRDI1ODJGNTgyRUUzNTgzRjU4Mzc0MTAyMjYxCis6MTAwMzAwMDBFRDI1ODJGODc0MDIyMjAyMDMwN0MwRTAxMjAyNUIwMkFDCis6MTAwMzEwMDAwMzFGQzBFMDEyMDJBRjAyMDMxRkMwRTAxMjAyRDMwMkFCCis6MTAwMzIwMDAwMzFGMzBFMDBCMjBFMzA0RDBFMEY2MjJEMEUwRjcyMkY4Cis6MTAwMzMwMDAzMEUxMEIyMEUzMDREMEUwRjIyMkQwRTBGMzIyRDBFMDYxCis6MTAwMzQwMDBGMDIyQzlDREM5Q0FDRUNBQ0JDRkNCMTIwMzUyRURGOTI4Cis6MTAwMzUwMDBFRUZBRUZGQjIyQkIwMDJGQkYwMDBBRkFFREY4RTdGNjNBCis6MTAwMzYwMDAwODA5REFGQTIyQkYwMTEyOEQ4MjhFODNGODAyMDM2RjI4Cis6MTAwMzcwMDAwOUEzRTdGMEQ4RkEyMjAyMDM3QUZBRURGOEU3RjIwOEM3Cis6MTAwMzgwMDAwOURBRkEyMjAyMDM4NEJCMDE0REJGMDAxNDg5ODI4QTc0Cis6MTAwMzkwMDA4M0Y5RURGODAyMDM5NjA4QTNFMEY2RDlGQTIyMDIwM0U2Cis6MTAwM0EwMDBBN0JGMDEyMjhEODI4RTgzRkIwOEM5QzU4MkM5Q0FDNTM5Cis6MTAwM0IwMDA4M0NBRTBBM0M5QzU4MkM5Q0FDNTgzQ0FGMEEzREJFQTYwCis6MTAwM0MwMDBEOEU4MjIwMjAzQ0E4RDgyOEU4M0Y5RURGOEUwRjIwOEE0Cis6MTAwM0QwMDBBM0Q5RkEyMjAyMDNENEJCMDI0REJGMDAxMjg5ODI4QTNDCis6MTAwM0UwMDA4M0Y5RURGODAyMDNFNjA4QTNFNDkzRjZEOUY5MjJCRkY2Cis6MTAwM0YwMDAwMTIzOEQ4MjhFODNGQjA4QzlDNTgyQzlDQUM1ODNDQTAxCis6MTAwNDAwMDBFNDkzQTNDOUM1ODJDOUNBQzU4M0NBRjBBM0RCRTlEOEVFCis6MTAwNDEwMDBFNzIyMDIwNDE5ODk4MjhBODNGOUVERjhFNDkzRjIwODRECis6MTAwNDIwMDBBM0Q5RjkyMjAyMDQyQUJGMDAwREZBRURGOEUzRjYwODc5Cis6MTAwNDMwMDAwOURBRkEyMjAyMDQzNEJGMDExMjhEODI4RTgzRjgwMjk3Cis6MTAwNDQwMDAwNDQxMDlBM0UzRjBEOEZBMjIwMjA0NENGQUVERjhFM0UwCis6MTAwNDUwMDBGMjA4MDlEQUZBMjIwMjA0NTZFNkZCMDhFNkZBMDhFNjkwCis6MTAwNDYwMDBGOTA0RjYxODcwMDEwNjIyRTZGRjA4RTZGRTA4RTZGRDJDCis6MTAwNDcwMDAyMkVGRjBBM0VFRjBBM0VERjAyMkVCRjBBM0VBRjBBMzVECis6MTAwNDgwMDBFOUYwMjJFMEZGQTNFMEZFQTNFMEZEMjJFMEZCQTNFMDExCis6MTAwNDkwMDBGQUEzRTBGOTIyMDAwMDAwMDAwMDAwMDAwNEY5MDA1QjZDCis6MTAwNEEwMDAwNTczMDAyNjA1OUEwMDMzMEEwQjAwNUIwQTc3MDA2MDhCCis6MTAwNEIwMDAxNTUyMDA1QjBDRkIwMDVCMDlBQjAwNUIwOUUyMDA1QkMzCis6MTAwNEMwMDAwREMyMDA1QjBCRjMwMDVCMEExRTAwNUIwQTUzMDA1QjZFCis6MTAwNEQwMDAxNzRBMDAzMzE3NjAwMDM0MUU0RDAwNDMxRUYwMDA0NERECis6MTAwNEUwMDAyMDVEMDA0NDIwNEIwMDQ3MUYxNzAwNDcxRkJDMDA0REY0Cis6MTAwNEYwMDAyMDBEMDA0RjFGMzkwMDU4MzFGNTAwNUI3Q0NDN0RGRjhCCis6MTAwNTAwMDAxMjFDRkUyMjc0OTA5MEZGOTFGMDkwRkZGQ0UwMjBFNzE3Cis6MTAwNTEwMDAyREMyQUZBRTU5QUY1ODc1NUEyMEU1NUExNEM1NUE2MDZFCis6MTAwNTIwMDAxOUU0RkU3RjA1RUU0RkNFMjRGRkNFQ0YzNEZGQ0Y2MDFGCis6MTAwNTMwMDAwN0U0OTBGRjkyRjA4MEVEODBFMDhFNTk4RjU4MjIxMkYwCis6MTAwNTQwMDAwNTAxN0QwNzdDQjcxMjMyMTE3RDBGN0M2RTEyMzIyQkI0Cis6MTAwNTUwMDA3ODk3N0EwNkU0RjYwOERBRkM3QTA2MTIwNUNGN0MwMzZGCis6MTAwNTYwMDAxMjBFNTc3QzA0MTIwRTU3MTIyMThCRTRGRUZGN0MwRkYzCis6MTAwNTcwMDAxMjMxOUFEMkE4MjIxMjMwODVFNDkwRkQ0MEYwOTBGRjBCCis6MTAwNTgwMDBGMEUwMzBFNDA4NzQwMTkwRkQ0MUYwODAwNUU0OTBGRDU2Cis6MTAwNTkwMDA0MUYwN0QwQTdDMDAxMjI0QjExMjMxMDgyMjEyMzA4NTBDCis6MTAwNUEwMDA5MEZENDFFMDE0NzAwRTkwRkZGMEUwNDQxMEYwN0MwMEVDCis6MTAwNUIwMDAxMjI1NEE4MDE5OTBGRDQxRTA3MDBFOTBGRkYwRTA1NDQyCis6MTAwNUMwMDBFRkYwN0MwMDEyMjU0QTgwMDU3QzE3MTIyNTRBMTIzMTczCis6MTAwNUQwMDAwODIyOTBGRkYwRTA1NEFCRjA5MEZGRjBFMDQ0MjBGMEYwCis6MTAwNUUwMDAyMjhDMzc4RDM2Nzg3Q0VERjYwOEVDRjZFREZFRUNGRENFCis6MTAwNUYwMDA3RjAxOTAwMDA1MTIwMUVDNzg3QUY2Nzg3Q0U2RkQwODIwCis6MTAwNjAwMDBFNkZDRURGRUVDRkQ3RjAxOTAwMDA0MTIwMUVDNTQwRkJFCis6MTAwNjEwMDBGQzdEN0ExMjE3OUQ3ODdBRTY3MDBEQUQzQUFFMzlBRjRGCis6MTAwNjIwMDAzOEU0MTIwMzBGN0MwODIyOTBGRkYwRTA1NEZFRjA5MEIzCis6MTAwNjMwMDBGRkYwRTA1NEZERjA4MDFFNzg3Q0U2RkQwOEU2RkNFRDVFCis6MTAwNjQwMDBGRUVDRkQ3RjAxOTAwMDA4MTIwMjBFMjVFMDQ0MDE5MEFGCis6MTAwNjUwMDBGRkYzRjAwMjA2REI3ODdDRTZGRDA4RTZGQ0VERkVFQzNECis6MTAwNjYwMDBGRDdGMDE5MDAwMDYxMjAyMEU1NEZFOTBGRkYzRjA4MDExCis6MTAwNjcwMDAyQjc4N0NFNkZEMDhFNkZDRURGRUVDRkQ3RjAxOTAwMEFBCis6MTAwNjgwMDAwODEyMDIwRUZBRUI5MEZGRjFGMDEyMDhDQTQwMERBRDBECis6MTAwNjkwMDAzQUFFMzlBRjM4RTQxMjAzMEY3QzE4MjI3ODdDRTZGREJECis6MTAwNkEwMDAwOEU2RkNFREZFRUNGRDdGMDE5MDAwMDgxMjAyMEU5MEMyCis6MTAwNkIwMDBGRkYxRjAxMjA4Q0E0MDBEQUQzQUFFMzlBRjM4RTQxMjdFCis6MTAwNkMwMDAwMzBGN0MxODIyNzg3Q0U2RkQwOEU2RkNFREZFRUNGRENECis6MTAwNkQwMDA3RjAxOTAwMDA2MTIwMjBFNDQwMTkwRkZGM0YwNzg3RDM2Cis6MTAwNkUwMDBFNjI0MDNGNjE4RTYzNDAwRjY3ODdBRTYyNEZFNTAwOThDCis6MTAwNkYwMDA5MEZGRjBFMDU0RkRGMDgwMDc5MEZGRjBFMDQ0MDJGMDNFCis6MTAwNzAwMDBFNDkwRkZGMUYwNzg3Qjc2MDA3ODdBRTYyNEZGRkNFNDUxCis6MTAwNzEwMDAzNEZGRkQ3ODdCRTY3RjAwRkVFQ0QzOUVFRjY0ODBDRDU2Cis6MTAwNzIwMDA2NDgwOUQ0MDJGMTIwOEFGNDAwRjc4N0JFNkFEM0FBRTUzCis6MTAwNzMwMDAzOUFGMzgxMjAzMEY3QzE4MjI5MEZGRjJFMEZDNzg3QzZFCis6MTAwNzQwMDA4NjgzMDg4NjgyRUNGMDc4N0IwNkEzNzg3Q0E2ODMwOEYzCis6MTAwNzUwMDBBNjgyODBCNTEyMDhBRjQwMEY3ODdCRTZBRDNBQUUzOTdECis6MTAwNzYwMDBBRjM4MTIwMzBGN0MxODIyOTBGRkYyRTBGQzc4N0M4NkYxCis6MTAwNzcwMDA4MzA4ODY4MkVDRjA3ODdBRTZBRDNBQUUzOUFGMzgxMjZCCis6MTAwNzgwMDAwMzBGN0MwMDIyOEMzNzhEMzY3ODdDRURGNjA4RUNGNjcyCis6MTAwNzkwMDBFREZFRUNGRDdGMDE5MDAwMDUxMjAxRUM3ODdCRjY3ODEwCis6MTAwN0EwMDA3Q0U2RkQwOEU2RkNFREZFRUNGRDdGMDE5MDAwMDQxMjA2Cis6MTAwN0IwMDAwMUVDNTQwRkZDN0Q3QjEyMTc5RDc4N0JFNjcwMDM3QzY3Cis6MTAwN0MwMDAwODIyOTBGRkYwRTA1NEZFRjA5MEZGRjBFMDU0RkRGMEJFCis6MTAwN0QwMDA4MDFCNzg3Q0U2RkQwOEU2RkNFREZFRUNGRDdGMDE5MEQ5Cis6MTAwN0UwMDAwMDA4MTIwMjBFMjVFMDkwRkZGM0YwODA1Qjc4N0NFNkIzCis6MTAwN0YwMDBGRDA4RTZGQ0VERkVFQ0ZEN0YwMTkwMDAwNjEyMDIwRTA2Cis6MTAwODAwMDA1NEZFOTBGRkYzRjA4MDIxNzg3Q0U2RkQwOEU2RkNFREQ1Cis6MTAwODEwMDBGRUVDRkQ3RjAxOTAwMDA4MTIwMjBFRkFFQjkwRkZGMTUyCis6MTAwODIwMDBGMDEyMDhDQTQwMDM3QzE4MjI3ODdDRTZGRDA4RTZGQzNBCis6MTAwODMwMDBFREZFRUNGRDdGMDE5MDAwMDgxMjAyMEU5MEZGRjFGMDNBCis6MTAwODQwMDAxMjA4Q0E0MDAzN0MxODIyNzg3REU2MjQwQUY2MThFNkNFCis6MTAwODUwMDAzNDAwRjY3ODdBNzYwMDc4N0JFNjI0RkZGQ0U0MzRGRkY3Cis6MTAwODYwMDBGRDc4N0FFNjdGMDBGRUVDRDM5RUVGNjQ4MENENjQ4MDU1Cis6MTAwODcwMDA5RDQwMjE3ODdDODY4MzA4ODY4MkUwOTBGRkYxRjAxMjBCCis6MTAwODgwMDAwOENBNDAwMzdDMTgyMjc4N0EwNjc4N0QwNkU2MTg3MDNDCis6MTAwODkwMDAwMTA2ODBDMzkwRkZGMEUwNDQwMUYwNzg3Qzg2ODMwODc1Cis6MTAwOEEwMDA4NjgyRTA5MEZGRjFGMDEyMDhDQTQwMDM3QzE4MjI3Qzk3Cis6MTAwOEIwMDAwMDIyOTBGRkYwRTAyMEU3MTI5MEZGRjBFMDMwRTUwOTIxCis6MTAwOEMwMDA5MEZGRjBFMDQ0MjBGMEMzMjI4MEU3RDMyMjkwRkZGMEI1Cis6MTAwOEQwMDBFMDIwRTMxMjkwRkZGMEUwMzBFNTA5OTBGRkYwRTA0NDAzCis6MTAwOEUwMDAyMEYwQzMyMjgwRTdEMzIyOEM0MjhENDE3QzAwRUQ1NDVFCis6MTAwOEYwMDBGMEZERUM3MDAzRUQ2NDMwNzAwNTc1M0UwMzgwMDM3NTA4Cis6MTAwOTAwMDAzRTA0QUMzRTEyMEY3Qzc1ODMwMDg1ODM0MEU1NDE1NDY0Cis6MTAwOTEwMDAwRkY1M0ZFNTQwNzAwNEU1M0Y2NDAzNzAzNUU1M0UyNDg0Cis6MTAwOTIwMDBGRDc1RjAwQUE0MjQwQUY1ODJFNDM0RkRGNTgzRTAzMDc1Cis6MTAwOTMwMDBFNjA1MTIxMDY3ODAxOUU1M0UyNDk3RjhDNjU0RkJGNkM5Cis6MTAwOTQwMDA3OEEzRTYyNDA1RjU4MjE4RTYzNDAwRjU4Mzc0MEZGMEU5Cis6MTAwOTUwMDA4MDU5RTU0MDcwMDRFNTNGNjQwNDcwNDhFNTNFMjRGRDlECis6MTAwOTYwMDA3NUYwMEFBNDI0MEFGNTgyRTQzNEZERjU4M0UwMzBFNTRECis6MTAwOTcwMDAwN0FDNDJBRDQxMTIxQzkzRTU0MjMwRTIxNTc4QTdFNjgwCis6MTAwOTgwMDAzMEUwMEY3OEE3RTYzMEUxMDlFNEZGMDRGRTdDMDQxMkIyCis6MTAwOTkwMDAzMTlBNzhBM0U2MjQwNkY1ODIxOEU2MzQwMEY1ODM3NENDCis6MTAwOUEwMDAwRkYwODAwN0U0RkM3REVFMTIxQzkzQzIwMzIyMTIzMDhDCis6MTAwOUIwMDA4NTEyMEY3Qzc4QTNFNjI0MDZGNTgyMThFNjM0MDBGNTRDCis6MTAwOUMwMDA4M0UwOTBGRDQwRjA3OEEzRTYyNDA1RjU4MjE4RTYzNDM0Cis6MTAwOUQwMDAwMEY1ODNFMDkwRkQ0MUYwQzIwMzdEMDI3QzAwMTIyNDBCCis6MTAwOUUwMDBCMTEyMzEwODIyMTIzMDg1Nzg4RkVDRjZFQzI0OTdGODlBCis6MTAwOUYwMDBFNjMwRTEwNzdDMTMxMjI1NEE4MDBGOTBGRDQxRTBGREFGCis6MTAwQTAwMDA3ODhGRTZGQzEyMTNGRDEyMjU0QTEyMzEwODIyMTIzMEFCCis6MTAwQTEwMDA4NTc4OEZFQ0Y2N0QwMDEyMEYwQjEyMjU0QTEyMzEwOEYzCis6MTAwQTIwMDAyMjEyMzA4NTc4OEZFQ0Y2RUMyNDk3RjhFNjMwRTIwNzU2Cis6MTAwQTMwMDA3QzEzMTIyNTRBODAxQjc4OEZFNjI0OTdGOEU2MjBFMTg0Cis6MTAwQTQwMDAwNzdDMTIxMjI1NEE4MDBBNzg4RkU2RkMxMjE0MjExMkM0Cis6MTAwQTUwMDAyNTRBMTIzMTA4MjIxMjMwODU3ODhGRUNGNkVDMjQ5NzYzCis6MTAwQTYwMDBGOEU2MjBFMjA3N0MxMTEyMjU0QTgwMEE3ODhGRTZGQzFFCis6MTAwQTcwMDAxMjE1MjIxMjI1NEExMjMxMDgyMjEyMzA4NTc4OEZFQzg1Cis6MTAwQTgwMDBGNjEyMEY3Qzc4QTNFNjI0MDlGNTgyMThFNjM0MDBGNTA3Cis6MTAwQTkwMDA4M0UwOTBGRDQ3RjA3OEEzRTYyNDBBRjU4MjE4RTYzNDU3Cis6MTAwQUEwMDAwMEY1ODNFMDkwRkQ0OEYwNzhBM0U2MjQwM0Y1ODIxODcyCis6MTAwQUIwMDBFNjM0MDBGNTgzRTBGQzc4QTNFNjI0MDRGNTgyMThFNjJBCis6MTAwQUMwMDAzNDAwRjU4M0UwRjU1Qzc4QTNFNjI0MDJGNTgyMThFNkFECis6MTAwQUQwMDAzNDAwRjU4M0UwRjU1RDhDNUJFNEVDMzMzMzU0MDE3ODRFCis6MTAwQUUwMDA4RkY2NjAwOEU1NUMzMEUxMDM3ODhGMDY3ODhGRTY5MDNBCis6MTAwQUYwMDBGRDQ5RjA3OEExRTYyNDAyRjU4MjE4RTYzNDAwRjU4MzdBCis6MTAwQjAwMDBFMEZEQTNFMDU0MENGQ0VENTRFNjhDNUZGNTVFRTU1Qjg0Cis6MTAwQjEwMDAzMEU1MDM0MzVGMDFFNTVDMjBFNTBFRTU1QjU0N0Y3MDQzCis6MTAwQjIwMDAwOEU1NUIyMEU3MDM0MzVGMDJFNTVCMzBFMzAzNDM1RkQ3Cis6MTAwQjMwMDAxMEU1NUIzMEUyMDM0MzVGMjBFNTVCNTQwMzYwMDM0MzUxCis6MTAwQjQwMDA1RjQwRTU1QjMwRTEwMzQzNUY4MEU1NUIzMEU0MDM0M0Y2Cis6MTAwQjUwMDA1RTAxRTU1QjMwRTYwMzQzNUUwOEU1NUMyMEU0MEVFNUZDCis6MTAwQjYwMDA1QjU0N0Y3MDA4RTU1QjIwRTcwMzQzNUUxMDUzNUZGQjM3Cis6MTAwQjcwMDA1MzVFRjlBRDVFRTU1RjkwRkQ0MkNERjBBM0NERjBFNUFCCis6MTAwQjgwMDA1RDMwRTMwREU1NUQ1NDMwQzQ1NDBGOTBGRDQ1RjA4MEI5Cis6MTAwQjkwMDAwNUU0OTBGRDQ1RjBFNTVENTQwMzkwRkQ0NEYwRTU1RDBFCis6MTAwQkEwMDA1NDA0QzMxMzkwRkQ0NkYwOTBGRDQ0RTA3MDBFN0QzRDZCCis6MTAwQkIwMDA3RUZEN0YwMTc0MDE5MDAwMDkxMjAxNDI3OEEzRTYyNEIyCis6MTAwQkMwMDAwOEY1ODIxOEU2MzQwMEY1ODNFMDdDMDBGRDc4QTNFNkEyCis6MTAwQkQwMDAyNDA3RjU4MjE4RTYzNDAwRjU4M0UwN0YwMDRDRkVFRjMxCis6MTAwQkUwMDA0RDkwRkQ0MEYwQTNDRUYwQ0VDMjAzN0QwQTdDMDAxMkYyCis6MTAwQkYwMDAyNEIxMTIzMTA4MjIxMjMwODU3ODhGRUNGNjc4OTQ3NjgxCis6MTAwQzAwMDAwMTA4NzZGRDA4NzY0MDc4OTE3NjBDNzg5NDEyMDQ2NTk4Cis6MTAwQzEwMDAxMjAyMTQ3ODkyQ0JGNkNCMDhGNjdGMDBFRjI0RUI0MDVCCis6MTAwQzIwMDAxRkU0RUYyNUUwOTAzNEJGRkQ5M0NEMDQ5Mzc4OTM2NkU1Cis6MTAwQzMwMDA3MDAzRUQxODY2NzAwNjc4OTE3NjAwODAwMzBGODBEQ0YzCis6MTAwQzQwMDA3ODkwRUZGNjc4OTQxMjA0NjU5MDAwMDIxMjAyMEU3ODA0Cis6MTAwQzUwMDA5MkNCRjZDQjA4RjY1NDA0Q0I1NDA2NEI2MDA0Nzg5MTQzCis6MTAwQzYwMDA3NjBCNzg5M0U2MzBFMzEzNzg5NDEyMDQ2NTkwMDAwNUQwCis6MTAwQzcwMDAxMjAxRUMyNEZCNTAwNDc4OTE3NjBENzg5M0U2NTRDMDcxCis6MTAwQzgwMDA3RDAwNjRDMDRENzAwNDc4OTE3NjBCNzg5NDEyMDQ2NUYxCis6MTAwQzkwMDA5MDAwMDQxMjAxRUMyNEZDNTAwNDc4OTE3NjBGNzg5NEIzCis6MTAwQ0EwMDAxMjA0NjU5MDAwMDYxMjAxRUMyNEZENTAwNDc4OTE3NjQwCis6MTAwQ0IwMDAwRTc4OTQxMjA0NjU5MDAwMDkxMjAxRUMyNEZENTAwNDkyCis6MTAwQ0MwMDA3ODkxNzYwQTc4OTFFNjcwMkE3ODhGRTZGQzEyMEY3QzhDCis6MTAwQ0QwMDA3ODk0MTIwNDY1NzhBMUU2Rjk3OEEwRTZGQTdCMDE3NEFECis6MTAwQ0UwMDAwQTc4MDAxMjAzM0ZDMjAzNzg4RkU2RkMxMjExMjM3OEMyCis6MTAwQ0YwMDA5MUVDRjY3ODkxRTZGQzEyMjU0QTEyMzEwODIyMTIzMDY2Cis6MTAwRDAwMDA4NTc4OEZFQ0Y2MTIwRjdDNzg4RkU2MjRGRDc1RjAwQTVCCis6MTAwRDEwMDBBNDI0MUNGNTgyRTQzNEZERjU4M0FDODJBRDgzNzhBMDc1Cis6MTAwRDIwMDA4NjgzMDg4NjgyRUNGOUVERkE3QjBBNzgwMTEyMDNBNzI0Cis6MTAwRDMwMDBDMjAzNzg4RkU2RkMxMjExMjMxMjMxMDgyMjhEMkI4QzBFCis6MTAwRDQwMDAyQUVENjA0MDc1MjcwMTc1Mjk0ODc1MjhGRkU1MkEyNDlBCis6MTAwRDUwMDBGREZDRTQzNEZGRkRFQzdDMDMyNUUwQ0QzM0NERENGOTc0Cis6MTAwRDYwMDBGQ0U1MjkyQ0Y1MjlFNTI4M0RGNTI4QUQyOUFFMjhBRjZECis6MTAwRDcwMDAyNzc0ODA5MDAwMDYxMjAzMTc3NDgwOTAwMDAyMTIwM0ZCCis6MTAwRDgwMDAxNzEyMEZEM0U1MkIxNDYwM0I3NTI3MDE3NTI5MDg3NUUxCis6MTAwRDkwMDAyOEZGRTUyQTI0RkRGQ0U0MzRGRkZERUM3QzAzMjVFMDdDCis6MTAwREEwMDBDRDMzQ0REQ0Y5RkNFNTI5MkNGNTI5RTUyODNERjUyOEU2Cis6MTAwREIwMDBBRDI5QUUyOEFGMjdFNDkwMDAwNjEyMDMxN0U0OTAwMDk3Cis6MTAwREMwMDAwMjEyMDMxNzIyMTIzMDg1Nzg4RkVDRjZFQzI0OTdGODg0Cis6MTAwREQwMDBFNjMwRTIwOTc4OEZFNkZDMTIxNTIyRDIwMDc4OEZFNjIxCis6MTAwREUwMDBGQzEyMEY3Qzc4OTA3NjAwOTBGRDQxRTAzMEU3MDQ3OEFCCis6MTAwREYwMDA5MDc2MDE3ODkwRTZGRDc4OEZFNkZDMTIwRDNBQzIwM0ZBCis6MTAwRTAwMDAzMDAwMDc3ODhGRTZGQzEyMTQyMTdDMDAxMjI1NEExMjZDCis6MTAwRTEwMDAzMTA4MjI3OEEzRTYyNDA0RjU4MjE4RTYzNDAwRjU4MzJECis6MTAwRTIwMDBFMDQ0MDFGMDc4QTNFNjI0MDRGNTgyMThFNjM0MDBGNUU2Cis6MTAwRTMwMDA4M0UwMzBFMDAyODBFRDc4QTNFNjI0MEJGNTgyMThFNjJCCis6MTAwRTQwMDAzNDAwRjU4M0UwNTRGOEYwNzhBM0U2MjQwMkY1ODIxODI0Cis6MTAwRTUwMDBFNjM0MDBGNTgzRTA0NDgwRjAyMkMyMDM4QzU4MTIwRjgwCis6MTAwRTYwMDA3Qzc4QTA4NjgzMDg4NjgyNzlFRTdBMzQ3QjBBNzgwMUMyCis6MTAwRTcwMDAxMjAzRjUxMjBFMTBBQzU4N0QwMjEyMEQzQUMyMDNBQ0VCCis6MTAwRTgwMDA1ODEyMTEyMzIyOEQ1MzhFNTI4RjUxOEM1MDEyMEY3Qzg5Cis6MTAwRTkwMDA3NTRGMDA3OEEzRTYyNDA1RjU4MjE4RTYzNDAwRjU4MzQzCis6MTAwRUEwMDBFMDIwRTQxNkU1NEYyNEY2NDAxMDA1NEZDMjAzN0MxOEZECis6MTAwRUIwMDAxMjMyNDhBQzUwMTIwRjdDODBEOTc4QTNFNjI0MDVGNTk1Cis6MTAwRUMwMDA4MjE4RTYzNDAwRjU4M0UwMjBFNDA1QzIwMzdDMDIyMkE4Cis6MTAwRUQwMDA3OEEzRTYyNDA1RjU4MjE4RTYzNDAwRjU4M0UwNTQwRjg0Cis6MTAwRUUwMDA2MDE2NzhBM0U2MjQwNUY1ODIxOEU2MzQwMEY1ODNFMDYxCis6MTAwRUYwMDA1NDBGRjBDMjAzN0MwMTIyNzhBMjg2ODMwODg2ODJFMDI4Cis6MTAwRjAwMDBBRDUzQUU1MkFGNTExMjAzMEZDMjAzN0MwMDIyOEQzMTlDCis6MTAwRjEwMDA4QzMwMTIxNTIyRTUzMTYwMjBFNTMwQjQwMzBDN0MwMUUxCis6MTAwRjIwMDAxMjI0N0M3QzgxMTIyNDdDODAwRkU1MzBCNDA0MEE3QzdFCis6MTAwRjMwMDAwMjEyMjQ3QzdDODIxMjI0N0NBQzMwMTIwRjdDRTUzMUJFCis6MTAwRjQwMDA2MDFBNzhBNDg2ODMwODg2ODJFMDU0RTdGMEEzQTNBM0ZFCis6MTAwRjUwMDBBM0UwNTRFN0YwQUMzMDdEMDIxMjBEM0E3OEEwODY4MzBFCis6MTAwRjYwMDAwODg2ODI3OUY4N0EzNDdCMEE3ODAxMTIwM0Y1QzIwMzg1Cis6MTAwRjcwMDBFNTMwMjQ5N0Y4QzY1NEZERjZBQzMwMTIxMTIzMjI4Q0NDCis6MTAwRjgwMDAyNjMwMDMwNTEyMzFFNzgwRjg3QzBBMTIzMEZBRDIwM0NBCis6MTAwRjkwMDBFNTI2MjRGRDc4OURGNjcwMDk3OEE0NzZGRjA4NzZFMEIyCis6MTAwRkEwMDA4MDA3NzhBNDc2RkYwODc2RTI3ODlERTY3NUYwMTBBNEI1Cis6MTAwRkIwMDBBREYwRkMyNEEwNzhBM0Y2RUQzNEZGMThGNjc4OURFNjlBCis6MTAwRkMwMDA3NUYwMEFBNDI0MDhGQ0U0MzRGREZENzhBMEVERjYwOEQxCis6MTAwRkQwMDBFQ0Y2MTIzMTkzMjI3OEEzRTYyNDAyRjU4MjE4RTYzNDY3Cis6MTAwRkUwMDAwMEY1ODNFMDMwRTcyMjc4QTNFNjI0MDJGNTgyMThFNkQ0Cis6MTAwRkYwMDAzNDAwRjU4M0UwNTQ3RkYwNzhBM0U2MjQwMkY1ODIxOEVDCis6MTAxMDAwMDBFNjM0MDBGNTgzRTA0NDgwRjAyMjc4QTQ4NjgzMDg4NkU1Cis6MTAxMDEwMDA4MkUwNTQ3RkYwQUQ4M0U1ODIyNDA0RkNFNDNEOEM4MkMxCis6MTAxMDIwMDBGNTgzRTA1NDdGRjA3OEEzRTYyNDBCRjU4MjE4RTYzNENDCis6MTAxMDMwMDAwMEY1ODNFMDU0RjhGMDc4QTVFNjI0MDFGNTgyMThFNjdGCis6MTAxMDQwMDAzNDAwRjU4M0UwNDQwM0YwNzhBNUU2MjQwNUY1ODIxODIyCis6MTAxMDUwMDBFNjM0MDBGNTgzRTA0NDAzRjA3OEEzRTYyNDA1RjU4MjQ2Cis6MTAxMDYwMDAxOEU2MzQwMEY1ODM3NDBGRjAyMjc4QTQ4NjgzMDg4NjhFCis6MTAxMDcwMDA4MkUwNTQzRkYwQUQ4M0U1ODIyNDA0RkNFNDNEOEM4MkExCis6MTAxMDgwMDBGNTgzRTA1NDNGRjA3ODlERTYyNDlFRjhFNkZDNzhBNUQxCis6MTAxMDkwMDBFNjI0MDFGNTgyMThFNjM0MDBGNTgzRUNGMDc4OURFNjRECis6MTAxMEEwMDAyNDlFRjhFNkZDNzhBNUU2MjQwNUY1ODIxOEU2MzQwMENGCis6MTAxMEIwMDBGNTgzRUNGMDc4QTNFNjI0MEJGNTgyMThFNjM0MDBGNTBFCis6MTAxMEMwMDA4M0UwNTRGQjQ0MDJGNTI2NzhBMUU2MjQwMkY1ODIxODU5Cis6MTAxMEQwMDBFNjM0MDBGNTgzRTAzMEU1MDM0MzI2MDE3OEEzRTYyNEY3Cis6MTAxMEUwMDAwNUY1ODIxOEU2MzQwMEY1ODNFMDMwRTAwMzEyMEZEM0YzCis6MTAxMEYwMDBFNTI2RkM3OEEzRTYyNDBCRjU4MjE4RTYzNDAwRjU4Mzk4Cis6MTAxMTAwMDBFQ0YwNzhBM0U2MjQwNUY1ODIxOEU2MzQwMEY1ODM3NDQ0Cis6MTAxMTEwMDAwRkYwNzhBNDg2ODMwODg2ODJFMDQ0ODBGMEEzQTNBMzFFCis6MTAxMTIwMDBBM0UwNDQ4MEYwMjI4QzJBMTIwRjdDNzhBMUU2MjQwOEU4Cis6MTAxMTMwMDBGNTgyMThFNjM0MDBGNTgzRTBGQzc4QTNFNjI0MEFGNThFCis6MTAxMTQwMDA4MjE4RTYzNDAwRjU4M0VDRjA3OEExRTYyNDA3RjU4MkY2Cis6MTAxMTUwMDAxOEU2MzQwMEY1ODNFMEZDNzhBM0U2MjQwOUY1ODIxODRDCis6MTAxMTYwMDBFNjM0MDBGNTgzRUNGMDc4QTA4NjgzMDg4NjgyRTBGRDAzCis6MTAxMTcwMDBBM0UwRkNFREZFNzhBM0U2MjQwOEY1ODIxOEU2MzQwMDJGCis6MTAxMTgwMDBGNTgzRUVGMEVDRkU3OEEzRTYyNDA3RjU4MjE4RTYzNDRBCis6MTAxMTkwMDAwMEY1ODNFRUYwOEMyOThEMjhDM0VDOTQwMkVEOTQwNkMzCis6MTAxMUEwMDA0MDA1NzUyNzdDODAzM0QzRTUyOTk0ODFFNTI4OTQwMTk3Cis6MTAxMUIwMDA0MDA1NzUyNzNDODAyM0QzRTUyOTk0QzBFNTI4OTQwMDk5Cis6MTAxMUMwMDA0MDA1NzUyNzE4ODAxM0QzRTUyOTk0MzBFNTI4OTQwMDRECis6MTAxMUQwMDA0MDA1NzUyNzBDODAwMzc1MjcwOEFGMjdFNEVGNTQ3QzgyCis6MTAxMUUwMDA0NDgzRkY4RjI3RTUyN0ZDNzhBNUU2MjQwMUY1ODIxOEM0Cis6MTAxMUYwMDBFNjM0MDBGNTgzRUNGMEU1MjdGQzc4QTVFNjI0MDVGNTU4Cis6MTAxMjAwMDA4MjE4RTYzNDAwRjU4M0VDRjBFNTI3RkM3ODlERTYyNEFGCis6MTAxMjEwMDA5RUY4RUNGNjc4QTNFNjI0MDJGNTgyMThFNjM0MDBGNTkxCis6MTAxMjIwMDA4M0UwRjUyNzc4QTFFNjI0MDJGNTgyMThFNjM0MDBGNTdDCis6MTAxMjMwMDA4M0EzRTAzMEUzMTc1MzI3Qzc3OEExRTYyNDA1RjU4MjlFCis6MTAxMjQwMDAxOEU2MzQwMEY1ODNFMDkwMzRFOTkzNDIyNzc4QTFFNjZDCis6MTAxMjUwMDAyNDAyRjU4MjE4RTYzNDAwRjU4M0UwMzBFNzA1NDMyN0UxCis6MTAxMjYwMDA0MDgwMDM1MzI3QkY1MzI3RkI3OEExRTYyNDA2RjU4MjZECis6MTAxMjcwMDAxOEU2MzQwMEY1ODNFMDYwMDM0MzI3MDQ1MzI3RkM3ODI1Cis6MTAxMjgwMDBBMUU2MjQwNEY1ODIxOEU2MzQwMEY1ODNFMDQyMjc0MzAyCis6MTAxMjkwMDAyNzgwRTUyN0ZDNzhBM0U2MjQwMkY1ODIxOEU2MzQwMENGCis6MTAxMkEwMDBGNTgzRUNGMDc4QTNFNjI0MDRGNTgyMThFNjM0MDBGNTIzCis6MTAxMkIwMDA4M0UwRjUyNzc4QTFFNjI0MDJGNTgyMThFNjM0MDBGNUVDCis6MTAxMkMwMDA4M0EzRTAzMEUxMDU1MzI3REY4MDAzNDMyNzIwNzhBMTgzCis6MTAxMkQwMDBFNjI0MDJGNTgyMThFNjM0MDBGNTgzRTAzMEU0MDU1Mzk1Cis6MTAxMkUwMDAyN0VGODAwMzQzMjcxMDc4QTFFNjI0MDlGNTgyMThFNjRBCis6MTAxMkYwMDAzNDAwRjU4M0UwQjQwMjAzNDMyNzAyRTUyN0ZDNzhBMzFBCis6MTAxMzAwMDBFNjI0MDRGNTgyMThFNjM0MDBGNTgzRUNGMDc4QTNFNkQxCis6MTAxMzEwMDAyNDAzRjU4MjE4RTYzNDAwRjU4M0UwRjUyNzc4QTFFNjhBCis6MTAxMzIwMDAyNDA5RjU4MjE4RTYzNDAwRjU4M0UwNzAwNTUzMjc3RjIxCis6MTAxMzMwMDA4MDAzNDMyNzgwNzhBMUU2MjQwMkY1ODIxOEU2MzQwMDcyCis6MTAxMzQwMDBGNTgzQTNFMDMwRTAwNTQzMjcyMDgwMDM1MzI3REY3OEFGCis6MTAxMzUwMDBBMUU2MjQwMkY1ODIxOEU2MzQwMEY1ODNFMDMwRTMwNUM3Cis6MTAxMzYwMDA0MzI3NDA4MDAzNTMyN0JGNzhBMUU2MjQwMkY1ODIxODYzCis6MTAxMzcwMDBFNjM0MDBGNTgzRTAzMEUwMDU0MzI3MTA4MDAzNTMyNzZGCis6MTAxMzgwMDBFRjc4QTFFNjI0MDJGNTgyMThFNjM0MDBGNTgzQTNFMEE1Cis6MTAxMzkwMDAzMEU0MDU0MzI3MDg4MDAzNTMyN0Y3NzhBMUU2MjQwMkE5Cis6MTAxM0EwMDBGNTgyMThFNjM0MDBGNTgzQTNFMDMwRTUwNTQzMjcwNDExCis6MTAxM0IwMDA4MDAzNTMyN0ZCNzhBMUU2MjQwMkY1ODIxOEU2MzQwMDY3Cis6MTAxM0MwMDBGNTgzQTNFMDMwRTYwNTQzMjcwMTgwMDM1MzI3RkU3ODI5Cis6MTAxM0QwMDBBMUU2MjQwMkY1ODIxOEU2MzQwMEY1ODNBM0UwMzBFN0E1Cis6MTAxM0UwMDAwNTQzMjcwMjgwMDM1MzI3RkRFNTI3RkM3OEEzRTYyNDY1Cis6MTAxM0YwMDAwM0Y1ODIxOEU2MzQwMEY1ODNFQ0YwQzIwMzdDMDAyMjhBCis6MTAxNDAwMDA4RDI3OEMyNkVENTQwMzE0NjAwMzdDMTAyMkU1Mjc1NEFECis6MTAxNDEwMDA3QzI0RkM0MDAzN0MwQjIyRTUyNjI0OTdGOEM2NDQwMjdBCis6MTAxNDIwMDBGNjdDMDAyMjhDMzAxMjBGN0NFNTMwMjQ5N0Y4RTYyMDAxCis6MTAxNDMwMDBFMjRGQUMzMDdEMDIxMjBEM0FFNTMwMjRGRTQ0MjhGQzI4Cis6MTAxNDQwMDA3OEE0ODY4MzA4ODY4MkVDRjBBRjgzRTU4MjI0MDRGRUNDCis6MTAxNDUwMDBFNDNGRkZFQzhFODI4RjgzRjA3QzAzOEMyQ0U1MkNGQzI4Cis6MTAxNDYwMDA3OEE1RTYyNDAxRjU4MjE4RTYzNDAwRjU4M0VDRjBFNTcyCis6MTAxNDcwMDAyQ0ZDNzhBNUU2MjQwNUY1ODIxOEU2MzQwMEY1ODNFQzBCCis6MTAxNDgwMDBGMDc1MkQwMTc1MkY0ODc1MkVGRkU1MzAyNEZERkNFNDI1Cis6MTAxNDkwMDAzNEZGRkRFQzdDMDMyNUUwQ0QzM0NERENGOUZDRTUyRkZBCis6MTAxNEEwMDAyQ0Y1MkZFNTJFM0RGNTJFNzhBNUU2MjQwNEY1ODIxOEJGCis6MTAxNEIwMDBFNjM0MDBGNTgzRTA1NEU3RjUyQ0FEMkZBRTJFQUYyRENBCis6MTAxNEMwMDBFNDkwMDAwMjEyMDMxN0U0OTAwMDA2MTIwMzE3MTIwMUMxCis6MTAxNEQwMDBFNjMwRTUwMzQzMkMxMEU1MkNGQzc4QTVFNjI0MDRGNTYyCis6MTAxNEUwMDA4MjE4RTYzNDAwRjU4M0VDRjAxMjEwNjc3OEEzRTYyNDQ2Cis6MTAxNEYwMDAwNkY1ODIxOEU2MzQwMEY1ODNFMEMyMDNGQ0U1MzAyNEVCCis6MTAxNTAwMDA5N0Y4QzY0NDA0RjY4QzJDRTUzMDU0MEZDNDU0RjA3RTkyCis6MTAxNTEwMDAwMEZGRUVFRjQ0MDQ3RDAwRkZFQzRFRkNFRDRGRkQxMkFBCis6MTAxNTIwMDAxQ0ZFN0MwMDIyOEMyRjEyMEY3QzEyMTAwNzc4QTQ4NkUwCis6MTAxNTMwMDA4MzA4ODY4MkUwNTQwOEYwQTNBM0EzQTNFMDU0MDhGMDM0Cis6MTAxNTQwMDBBQzJGN0QwMjEyMEQzQUMyMDNFNTJGMjQ5N0Y4QzY1NDQyCis6MTAxNTUwMDBGQkY2N0MwMDIyMTIzMDg1Nzg5MEVDRjZFQzI0OTdGOEFDCis6MTAxNTYwMDBFNjMwRTEwQTdEMDA3QzEzMTIyNEIxMTIzMTA4Nzg5MDM0Cis6MTAxNTcwMDBFNjI0OTdGOEM2NDQwMUY2Nzg5MEU2RkMxMjBGN0M3OEQyCis6MTAxNTgwMDA5MEU2MjRGRDc1RjAwQUE0MjQxQ0Y1ODJFNDM0RkRGNUYwCis6MTAxNTkwMDA4Mzc4QTBFNkZBMDhFNkY5N0IwQTc4MDExMjAzQTc3OEI3Cis6MTAxNUEwMDBBMDg2ODMwODg2ODI3OUY4N0EzNDdCMEE3ODAxMTIwMzUwCis6MTAxNUIwMDBGNTEyMEZEM0MyMDM3ODkwRTZGQzEyMTEyMzc4OEZFQzVBCis6MTAxNUMwMDBGNkVDNjAwQTdEMDA3QzA4MTIyNEIxMTIzMTA4Nzg5MDk0Cis6MTAxNUQwMDBFNkZDMTIwRjdDNzhBM0U2MjQwNEY1ODIxOEU2MzQwMEJBCis6MTAxNUUwMDBGNTgzRTA0NDEwNTRERkZDNzhBM0U2MjQwNEY1ODIxODY4Cis6MTAxNUYwMDBFNjM0MDBGNTgzRUNGMDc4OEZFQ0Y2QzIwMzdDQzgxMjc5Cis6MTAxNjAwMDAzMjQ4Nzg5MEU2RkMxMjBGN0M3OEEzRTYyNDA0RjU4MjM5Cis6MTAxNjEwMDAxOEU2MzQwMEY1ODNFMDU0RUZGMEMyMDM3Q0M4MTIzMkMwCis6MTAxNjIwMDA0ODc4OTBFNkZDMTIwRjdDNzhBM0U2MjQwNEY1ODIxODMzCis6MTAxNjMwMDBFNjM0MDBGNTgzRTA0NDEwRjBDMjAzN0NDODEyMzI0ODVGCis6MTAxNjQwMDA3ODkwRTZGQzEyMEY3Qzc4QTNFNjI0MDRGNTgyMThFNjc1Cis6MTAxNjUwMDAzNDAwRjU4M0UwNDQyMEYwQzIwMzdDRjAxMjMyNDg3ODc1Cis6MTAxNjYwMDA5MEU2RkMxMjBGN0M3OEEzRTYyNDA1RjU4MjE4RTYzNDk4Cis6MTAxNjcwMDAwMEY1ODNFMDMwRTQxNUMyMDM3ODkwRTY0NDEwN0YwMDYzCis6MTAxNjgwMDBGRTdDMDcxMjMxOUExMjMxMDgwMjE3NDk3OEEzRTYyNDJBCis6MTAxNjkwMDAwNEY1ODIxOEU2MzQwMEY1ODNFMDU0Q0ZGMEMyMDM3Q0YxCis6MTAxNkEwMDBDODEyMzI0ODc4OTBFNkZDMTIwRjdDNzhBM0U2MjQwNDM2Cis6MTAxNkIwMDBGNTgyMThFNjM0MDBGNTgzRTA0NDMwRjBDMjAzN0NGMDk0Cis6MTAxNkMwMDAxMjMyNDg3ODkwRTZGQzEyMEY3Qzc4QTNFNjI0MDVGNUU4Cis6MTAxNkQwMDA4MjE4RTYzNDAwRjU4M0UwMzBFNDE0QzIwMzc4OTBFNjIzCis6MTAxNkUwMDA0NDEwN0YwMEZFN0MwNzEyMzE5QTEyMzEwODgwNUQ3ODI5Cis6MTAxNkYwMDBBM0U2MjQwNEY1ODIxOEU2MzQwMEY1ODNFMDU0RUZGMDA1Cis6MTAxNzAwMDA3OEEzRTYyNDA0RjU4MjE4RTYzNDAwRjU4M0UwNTRERjdDCis6MTAxNzEwMDBGMDc4OTBFNjI0RkQ3NUYwMEFBNDI0MUNGNTgyRTQzNEU4Cis6MTAxNzIwMDBGREY1ODNBQzgyQUQ4Mzc4QTA4NjgzMDg4NjgyRUNGOUQwCis6MTAxNzMwMDBFREZBN0IwQTc4MDExMjAzQTdDMjAzNzg5MEU2RkMxMjQ3Cis6MTAxNzQwMDAxMTIzN0QwMDdDMEIxMjI0QjExMjMxMDgyMjEyMzA4NTQ2Cis6MTAxNzUwMDA5MEZGOTFFMDkwRkQ0MUYwN0QwMjdDMDAxMjI0QjExMkQ3Cis6MTAxNzYwMDAzMTA4MjIxMjMwODU5MEZENDBFMEY0RkM5MEZGOTFFMEJBCis6MTAxNzcwMDA1Q0Y1MzM5MEZENDFFMEZDOTBGRDQwRTA1QzQyMzNFNUQ4Cis6MTAxNzgwMDAzMzkwRkY5MUYwN0MwMDEyMjU0QTEyMzEwODIyNzQzQ0ZDCis6MTAxNzkwMDA5MEZCRThGMDc0M0U5MEZCRThGMEU0OTBGRDMwRjAyMjFFCis6MTAxN0EwMDA4RDM1OEMzNEVDQjQwMTAyODAwM0QzNDAwMjgwMjhCNDIwCis6MTAxN0IwMDAwMjAyODAwM0QzNDAwOEE4MzVDNjI1RTBGNjgwMThCNDlECis6MTAxN0MwMDAwNDAyODAwM0QzNDAwQUE4MzVDNjI1RTAyNUUwRjY4MDUwCis6MTAxN0QwMDAwNkE4MzU3NjAwODAwMDIyOEMzQzhEM0JFREZFRUNGREFBCis6MTAxN0UwMDA3RjAxNzU2MDA2NzU2MTAwOTBGRDMxMTIwNDZFMTIwMTczCis6MTAxN0YwMDBFNkI0ODAwMjgwMDZEMzUwMDMwMjE4OUU5MEZEMzExMjk5Cis6MTAxODAwMDAwNDgwOTAwMDAzMTIwMUVDNTRGMEI0MzAwMjgwMDNEMzQyCis6MTAxODEwMDA0MDVGOTBGRDMxMTIwNDgwOTAwMDA4MTIwMjBFRkFGRDI0Cis6MTAxODIwMDBFQkZFN0YwMTkwRkQzNDEyMDQ2RUVFQ0Q5MDM1MDJGQzhDCis6MTAxODMwMDBFNDkzRkY3NDAxOTNGRUY5RUZGQTdCMDFFQUZGRTlGRUZFCis6MTAxODQwMDBFQ0MzOUVFRDlGNDAyNTkwMzUwNEU0OTNGRDc0MDE5MzE1Cis6MTAxODUwMDBGQ0VERkVFQ0ZEN0YwMUVFQ0RGQzkwRkQzNkUwRDM5QzZGCis6MTAxODYwMDA5MEZEMzVFMDlENTAwNTc1NjA4MDgwMzMxMjE5QkM4MDc1Cis6MTAxODcwMDAyRUI0NjAwMjgwMDNEMzQwMEJBQzNDQUQzQjEyMDc4MjE4Cis6MTAxODgwMDA4QzYwODAxQkI0MTAwM0IzNDAxMEMzQjQyMDAzQjM0MDdBCis6MTAxODkwMDAwOUMzQjQ0MDAyODAwM0QzNDAwMDc1NjA4MTgwMDA4MDlBCis6MTAxOEEwMDA3NUI0ODEwMjgwMDNEMzQwNkI5MEZEMzExMjA0ODA5MEE3Cis6MTAxOEIwMDAwMDAzMTIwMUVDNTRGMEI0MzAwMjgwMDNEMzQwMUQ5MEI5Cis6MTAxOEMwMDBGRDMxMTIwNDgwOTAwMDA4MTIwMjBFRkFGREVCRkU3RjNCCis6MTAxOEQwMDAwMTkwRkQzNzEyMDQ2RTEyMTkyNjgwMzZCNDYwMDI4MDIyCis6MTAxOEUwMDAwM0QzNDAxMzc1M0E2MUU0RjUzOUY1MzhBQzNDQUQzQkIwCis6MTAxOEYwMDAxMjA1REU4QzYwODAxQkI0MTAwM0IzNDAxMEMzQjQyMDBCCis6MTAxOTAwMDAwM0IzNDAwOUMzQjQ0MDAyODAwM0QzNDAwMDc1NjA4MTMzCis6MTAxOTEwMDA4MDAwODAwMjgwMDBFNTYwRkM5MEZEMzExMjA0ODBFQ0M0Cis6MTAxOTIwMDA5MDAwMDIxMjAzMTdBQzYxMjI5MEZEMzExMjA0ODA5MEU2Cis6MTAxOTMwMDAwMDA0MTIwMUVDNjAwNDc0MDE4MDAxRTRBMkUwOTIwMTUxCis6MTAxOTQwMDA5MEZEMzExMjA0ODBFRDI0MDNGRDUwMDEwRTkwRkQzNDEyCis6MTAxOTUwMDAxMjA0NkU5MEZEMzExMjA0ODA5MDAwMDUxMjAxRUNGNTI2Cis6MTAxOTYwMDA2MTkwMDAwNDEyMDFFQzU0MEZGQzdENjExMjE3OURFNTlCCis6MTAxOTcwMDA2MTcwMDQ3NTYwMDgyMjc1NjAwMDc4N0U3NjAwNzg3RTVDCis6MTAxOTgwMDBFNkMzOTU2MTUwMzg5MEZEMzcxMjA0ODAxMjAxRTZGQ0UxCis6MTAxOTkwMDA5MEZEMzQxMjA0ODBFQzEyMDMwRjMwMDEwRTkwRkQzOURCCis6MTAxOUEwMDBFMDA0RjA5MEZEMzg3MDAzRTAwNEYwNzg3RTA2OTBGRENFCis6MTAxOUIwMDAzNkUwMDRGMDkwRkQzNTcwMDNFMDA0RjA4MEMwMjI5MDIyCis6MTAxOUMwMDBGRDMyRTBGREEzRTBGQ0VERkVFQ0ZEN0YwMUVEMjQwQTFECis6MTAxOUQwMDBGRDUwMDEwRTkwRkQzQTEyMDQ2RTkwRkQzMTEyMDQ4MDBDCis6MTAxOUUwMDA5MDAwMDQxMjAxRUM1NDBGQjQwMTAyODAwM0QzNDAxNzlECis6MTAxOUYwMDA5MEZEM0ExMjA0ODAwREVENzAwMTBFOTBGRDM3MTIwNDM3Cis6MTAxQTAwMDA2RTc4ODI3NjAxODA0RUI0MDIwMjgwMDNEMzQwMTk5MDMyCis6MTAxQTEwMDBGRDNBMTIwNDgwRUQyNDAyRkQ1MDAxMEU5MEZEMzcxMkI0Cis6MTAxQTIwMDAwNDZFNzg4Mjc2MDI4MDJEQjQwNDAyODAwM0QzNDAxOUJDCis6MTAxQTMwMDA5MEZEM0ExMjA0ODBFRDI0MDRGRDUwMDEwRTkwRkQzNzE0Cis6MTAxQTQwMDAxMjA0NkU3ODgyNzYwNDgwMENCNDAwMDI4MDAzRDM0MEM2Cis6MTAxQTUwMDAwMDc1NjAwODIyOTBGRDMxMTIwNDgwOTAwMDA1MTIwMThCCis6MTAxQTYwMDBFQ0Y1NjE3ODdGNzYwMDc4N0ZFNkMzOTU2MTQwMDMwMkVDCis6MTAxQTcwMDAxQjI0Nzg4MDc2MDA3ODgwRTZDMzc4ODI5NjUwNzY5MDMyCis6MTAxQTgwMDBGRDM0MTIwNDgwMTIwMUU2RkM5MEZEM0ExMjA0ODkxMjIyCis6MTAxQTkwMDAwMUUwRjQ1Q0ZDMTIwMUUwRjg5MEZEMzcxMjA0ODBFOEVDCis6MTAxQUEwMDBDMEUwMTIwMUU2QzhEMEUwQzg1ODRDRkM5MEZEMzQxMkVBCis6MTAxQUIwMDAwNDgwRUMxMjAzMEY3ODgxRUNGNjkwRkQzOUUwMDRGMDFECis6MTAxQUMwMDA5MEZEMzg3MDAzRTAwNEYwMDlFOTcwMDEwQTkwRkQzQUQ2Cis6MTAxQUQwMDAxMjA0Nzc5MEZEMzExMjA0ODA5MDAwMDQxMjAxRUMzMDYyCis6MTAxQUUwMDBFNDBFOTBGRDM2RTAwNEYwOTBGRDM1NzAwM0UwMDRGMDY0Cis6MTAxQUYwMDA3ODgwMDY4MDgxNzg4MkU2RkRFNEZFRkZFRUNERkM5MEUyCis6MTAxQjAwMDBGRDM5RTAyQ0YwOTBGRDM4RTAzREYwNzg4MkU2RkRFNDEwCis6MTAxQjEwMDBGRUZGRUVDREZDOTBGRDNDRTAyQ0YwOTBGRDNCRTAzRDY3Cis6MTAxQjIwMDBGMDc4N0YwNjAyMUE2NDc1NjAwMDIyRTUzRDA1M0QwNEU5Cis6MTAxQjMwMDA3MDAyQjJCMDIyQzBFMEMwRjBDMDgyQzA4M0MwRDBFODYyCis6MTAxQjQwMDBDMEUwRTlDMEUwRUFDMEUwRUJDMEUwRUNDMEUwRURDMDFFCis6MTAxQjUwMDBFMEVFQzBFMEVGQzBFMDkwRkY5MkUwMTIwMUI3MUI4MDIyCis6MTAxQjYwMDAzMDFCODAzMjFCOEYzODFCQTEzQTFCQjMzRTFCQ0I0NDZBCis6MTAxQjcwMDAxQkJGNDYxQkQ3NTAxQzE5NTIxQkY4NTQxQzNBNTYwMDY5Cis6MTAxQjgwMDAwMDFDNUI5MEZGOTJFMDdGMDBGRTdDMDExMjMxOUEwMjA0Cis6MTAxQjkwMDAxQzZCRTRGRjA0RkU3QzAzMTIzMTlBNzQyMDkwRkZGRTVDCis6MTAxQkEwMDBGMDAyMUM2QkU0RkYwNEZFN0MwMjEyMzE5QTc0NDA5MDM4Cis6MTAxQkIwMDBGRkZFRjAwMjFDNkJFNEZGMDRGRTdDMDQxMjMxOUEwMjZCCis6MTAxQkMwMDAxQzZCRTRGRjA0RkU3QzA1MTIzMTlBMDIxQzZCRTRGRkRGCis6MTAxQkQwMDAwNEZFN0MwNjEyMzE5QTAyMUM2QjkwRkZBNUUwN0QwMDhBCis6MTAxQkUwMDA5MEZEMDBDREYwQTNDREYwOTBGRDAxRTBGQ0Y1ODM5MEQ5Cis6MTAxQkYwMDBGRDAwRTA0NDMzRkQxMjFDRkU4MDczOTBGRkI1RTA3REQ0Cis6MTAxQzAwMDAwMDkwRkQwMkNERjBBM0NERjA5MEZEMDNFMEZDRjU4MzQ0Cis6MTAxQzEwMDA5MEZEMDJFMDQ0NDNGRDEyMUNGRTgwNTI5MEZGQTZFMEJFCis6MTAxQzIwMDA3RDAwOTBGRDA0Q0RGMEEzQ0RGMDkwRkQwNUUwRkNGNTI2Cis6MTAxQzMwMDA4MzkwRkQwNEUwNDQzNEZEMTIxQ0ZFODAzMTkwRkZCNjE5Cis6MTAxQzQwMDBFMDdEMDA5MEZEMDZDREYwQTNDREYwOTBGRDA3RTBGQzE3Cis6MTAxQzUwMDBGNTgzOTBGRDA2RTA0NDQ0RkQxMjFDRkU4MDEwOTBGRkM5Cis6MTAxQzYwMDA5MkUwN0QwMEZDRUQ0NEFBRkQxMjFDRkU4MDAwRTQ5MDkxCis6MTAxQzcwMDBGRjkyRjBEMEUwRkZEMEUwRkVEMEUwRkREMEUwRkNEMDVECis6MTAxQzgwMDBFMEZCRDBFMEZBRDBFMEY5RDBFMEY4RDBEMEQwODNEMEJCCis6MTAxQzkwMDA4MkQwRjBEMEUwMzIwNTgxMDU4MTA1ODEwNTgxQTg4MURGCis6MTAxQ0EwMDAxODE4MThFREY2MDhFQ0Y2OTBGRjZBRTAyMEU3MDI4MEJECis6MTAxQ0IwMDBGNzkwRkY2OUUwN0QwMEE4ODExOENERjZDRDA4RjY3RDhDCis6MTAxQ0MwMDAwM0E4ODFFNjE4RkNFNkNDMjVFMENDMzNDQ0RERjlDQ0NBCis6MTAxQ0QwMDBGNkNDMDhGNkE4ODExOEU2NDRGOEY2QTg4MTE4MTgxODdBCis6MTAxQ0UwMDBFNkZEMDhFNkZDQTg4MTE4ODY4MzA4ODY4MkVERjBBMzRECis6MTAxQ0YwMDBFQ0YwNzQwMjkwRkY2QUYwMTU4MTE1ODExNTgxMTU4MTUxCis6MTAxRDAwMDAyMkU1ODEyNDA1RjU4MUU0QTg4MTE4RjZBODgxMTgxODM4Cis6MTAxRDEwMDAxODE4RURGNjA4RUNGNjkwRkJGREUwMjRGODUwMDMwMkVECis6MTAxRDIwMDAxRTFGRTRBODgxMTgxOEY2QTg4MTE4RTZGRUE4ODExOERECis6MTAxRDMwMDAxODE4MThFNkZEMDhFNkZDN0YwMEVGMjRGODQwNERFNDkzCis6MTAxRDQwMDBFRjI1RTAyNDg1RjU4MkU0MzRGREY1ODNFMEZCQTNFMDk0Cis6MTAxRDUwMDA2QzcwMDNGQUVCNkQ3MDA5NzQwMUE4ODExODE4RjY4MDk1Cis6MTAxRDYwMDAyQkU0RUYyNUUwMjQ4NUY1ODJFNDM0RkRGNTgzN0EwMDQ5Cis6MTAxRDcwMDBFMDU0RjBDQ0Y4Q0NDREY5Q0RGQjc4MDBFOTU0RjBGOTgzCis6MTAxRDgwMDBFQTY4NzAwMkVCNjk3MDAxMEUwRjgwQUVBODgxMThFRTUwCis6MTAxRDkwMDBGNkE4ODExODE4MTgxOEVERjYwOEVDRjZBODgxRUZGNkU5Cis6MTAxREEwMDBBODgxMTgxOEU2NzA3OUE4ODExOEU2MjRGNzQwNzFBODcwCis6MTAxREIwMDA4MTE4MTgxODE4RTY1NDBGQTg4MUY2NjQwNDYwMTdBODUzCis6MTAxREMwMDA4MUU2NjQwMzYwMTBBODgxMTgxODE4MThFNkZEMDhFNjdCCis6MTAxREQwMDBGQzEyMUM5MzgwNEE3QzBBMTIzMEZBQTg4MTE4MTgxODQ5Cis6MTAxREUwMDAxOEU2RkQwOEU2RkM5MEZCRkNFMDI1RTAyNDg1RjU4MjgyCis6MTAxREYwMDBFNDM0RkRGNTgzRURGMEEzRUNGMDkwRkJGQ0UwRkZFNEIwCis6MTAxRTAwMDBFRjA0NTQwN0ZGOTBGQkZDRjA5MEZCRkRFMDA0RjAxMkEwCis6MTAxRTEwMDAzMTkzOTBGQkZFRTA3MDA4RTRGRUZGN0MwRjEyMzE5QUQ0Cis6MTAxRTIwMDA4MDI3OTBGQkZGRTAwNEYwNTQzRjcwMUQ5MEZCRkZFMDIzCis6MTAxRTMwMDA0NEZFN0QwMEZDOTBGQkZDRTAyNUUwMjQ4NUY1ODJFNDc3Cis6MTAxRTQwMDAzNEZERjU4M0VERjBBM0VDRjBFNTgxMjRGQkY1ODEyMjcwCis6MTAxRTUwMDA3ODg1NzYwMDc4ODY3NjAwNzQwMTkwRkJGRUYwMTIzMDZCCis6MTAxRTYwMDA4NTkwRkJGREUwNjA1OTdDMEExMjMwRkE5MEZCRkJFMEE0Cis6MTAxRTcwMDAyNUUwMjQ4NUY1ODJFNDM0RkRGNTgzRTBGREEzRTBGQzU0Cis6MTAxRTgwMDA5MEZCRkJFMDI1RTAyNDg1RjU4MkU0MzRGREY1ODNFNDU2Cis6MTAxRTkwMDBGMEEzRjA5MEZCRkJFMEZGRTRFRjA0NTQwN0ZGOTBGQjlFCis6MTAxRUEwMDBGQkYwOTBGQkZERTAxNEYwNzg4M0VERjYwOEVDRjYxMjAxCis6MTAxRUIwMDAzMTkzQjJCMzc4ODNFNkZEMDhFNkZDMTIwOEU1ODBBMTExCis6MTAxRUMwMDAxMjMxRTc3ODg1MDZCNjAwMTE3ODg1NzYwMDc4ODZFNkM3Cis6MTAxRUQwMDBGNDA0MDRBMkUwOTJCNDc4ODZGNjgwODVFNDkwRkJGRUQ4Cis6MTAxRUUwMDBGMDkwRkJGREUwN0QwMEZDRUQ0NENGRkQxMjFDOTMxMjUxCis6MTAxRUYwMDAzMTA4MjIxMjMwODVFNTZBNjQ0OTQ1Njk2MDE1OTBGRjEyCis6MTAxRjAwMDA4M0UwNTQwRjdEMDBEMzk1NkFFRDk1Njk1MDA1MTIyRTNDCis6MTAxRjEwMDBDRTgwMDMxMjJGOUUxMjMxMDgyMjEyMzA4NUU1NkE2NEFBCis6MTAxRjIwMDA0OTQ1Njk2MDA1MTIyRkQ4ODAwRTkwRkY4MEUwNDQwODczCis6MTAxRjMwMDBGMDkwRkY4M0UwNTQ3RkYwMTIzMTA4MjIxMjMwODU4QzNDCis6MTAxRjQwMDA1NEVDNTRGMEI0MTAxNTc1NjQzRDc1NjNGRDc1NjIwMTcxCis6MTAxRjUwMDBFNTY0MjQwM0Y1NjRFNTYzMzQwMEY1NjNFNEY1NTdGNUJGCis6MTAxRjYwMDA1NkU1NTZDMzk0MDE1MDI3RTU1NDU0MEZGQ0FENjRBRUJBCis6MTAxRjcwMDA2M0FGNjIxMjBFODI4QzU1RUM2MDAyODAxMjA1NjRFNTNDCis6MTAxRjgwMDA2NDcwMDIwNTYzMDU1N0U1NTc3MDAyMDU1NjgwRDJFNTc3Cis6MTAxRjkwMDA1NDU0MEYyNDk3RjhDNjU0RkVGNkU1NTQ1NDBGN0YwMEFFCis6MTAxRkEwMDBGRTdDMTIxMjMxOUFFNTU1MTQ3MDA5N0QwMDdDMDkxMkVECis6MTAxRkIwMDAyNEIxODAwN0FENTc3QzAwMTIyNEIxMTIzMTA4MjIxMkRGCis6MTAxRkMwMDAzMDg1OTBGRkZDRTA0NDAyRjA5MEZGMDBFMDMwRTcxMzIyCis6MTAxRkQwMDA5MEZGODNFMDQ0ODBGMDQzNjc4MDkwRkZGQ0UwNDQwMTgxCis6MTAxRkUwMDBGMDgwMTE5MEZGODJFMDQ0MDhGMDUzNjc3RjkwRkZGQzdGCis6MTAxRkYwMDBFMDU0RkVGMDkwRkY4MUUwNDQ4MEYwMTIyNTY0OTBGRkYxCis6MTAyMDAwMDBGRUUwNDQwNUYwOTBGRkZDRTA1NEZERjAxMjMxMDgyMkEwCis6MTAyMDEwMDAxMjMwODU3QzAxMTIzMjQ4NzhBN0U2NDQwMkY2NzRGRTNECis6MTAyMDIwMDBGQzA0RkQxMjFDRkU5MEZGNkFFMDMwRTcwMjgwRjdFNDNBCis6MTAyMDMwMDBGNTRFNzU0RDEwQUM0RUFENERFNTRFMTU0RTcwMDIxNTdBCis6MTAyMDQwMDA0REVDNEQ2MDAyODBFRTQzODcwMTEyMzEwODIyMTIzMEMwCis6MTAyMDUwMDA4NTdDMDIxMjMxMTQ3OEE3RTY1NEZERjYxMjMxMDgyMjZECis6MTAyMDYwMDAxMjMwODU3OEE3RTYzMEUwMkM3OEE3RTYzMEUxMjY3OEI0Cis6MTAyMDcwMDBBN0U2RkNGNTgzMThFNjQ0RjBGRDEyMUM5MzkwRkZGQ0U0Cis6MTAyMDgwMDBFMDQ0MjBGMDdDMDIxMjMyNDg3OEE3RTY1NEZERjY3NDUyCis6MTAyMDkwMDAxQTkwRkZGRUYwNzhBN0U2RkNGNTgzMThFNjQ0RjFGRDAwCis6MTAyMEEwMDAxMjFDOTMxMjMxMDgyMjc1NjcwMDc1NjgwMEU0RjU2NjBBCis6MTAyMEIwMDBGNTY1RTRGNTY5NzU2QTQ5NzQ4NDkwRkY4MkYwNzQ4NDZCCis6MTAyMEMwMDA5MEZGODBGMDc0ODA5MEZGNjhGMDc0ODA5MEZGNkFGMDU5Cis6MTAyMEQwMDBBRDQ2QUY0NTdFMDBFRTI0RkM1MDAzMDIyMTZBRTRFRURCCis6MTAyMEUwMDA3NUYwMDdBNDI0M0ZGNTgyRTQzNEZDRjU4M0UwRkZFNEI3Cis6MTAyMEYwMDBFRjU0ODBGREU0RUY1NDBGMTRGRkVENjAzOEU0RUY3NTBBCis6MTAyMTAwMDBGMDA4QTQyNDQ4RjU4MkU0MzRGRkY1ODM3NDkwRjBFNEU5Cis6MTAyMTEwMDBFRjc1RjAwOEE0MjQ0QUY1ODJFNDM0RkZGNTgzNzQ4MDU3Cis6MTAyMTIwMDBGMEU0RUY3NUYwMDhBNDI0NEVGNTgyRTQzNEZGRjU4MzYzCis6MTAyMTMwMDA3NDgwRjA4MDM0RTRFRjc1RjAwOEE0MjQwOEY1ODJFNDlDCis6MTAyMTQwMDAzNEZGRjU4Mzc0OTBGMEU0RUY3NUYwMDhBNDI0MEFGNUU5Cis6MTAyMTUwMDA4MkU0MzRGRkY1ODNFNEYwRTRFRjc1RjAwOEE0MjQwRTg0Cis6MTAyMTYwMDBGNTgyRTQzNEZGRjU4M0U0RjAwRTAyMjBEMzhENDY4RTMxCis6MTAyMTcwMDA0NDhGNDU3NDdGOTBGRkZERjA3NDkwOTBGRkZDRjA5MEM5Cis6MTAyMTgwMDBGQzE5RTAzMEU2MDc5MEZGRkNFMDQ0MDRGMDIyOTBGQ0VDCis6MTAyMTkwMDAwREUwMTQ3MDA0OTBGQzBDRTA3MDM5OTBGQzAwNzkwNjlFCis6MTAyMUEwMDA3QTM1N0IxMjc4MDExMjAzRjU3RjAwRUYzMzQwMTVFRjhCCis6MTAyMUIwMDA5MDM1NEQ5M0ZDRUYyNDgwRjU4MkU0MzRGQ0Y1ODNFQ0ZDCis6MTAyMUMwMDBGMDBGODBFNzhGNTk5MEZDMkI3OTE4N0EzNTdCMzU3OEEyCis6MTAyMUQwMDAwMTEyMDNGNUU0OTBGRkZGRjA3NDUxOTBGRkZBRjA3NEUwCis6MTAyMUUwMDAwNDkwRkZGQkYwNzQ1MzkwRkZGOEYwNzQ1MTkwRkZGOUU2Cis6MTAyMUYwMDBGMDc0NTU5MEZGRjdGMDc0OTM5MEZGRjZGMDc0MzI5MEZFCis6MTAyMjAwMDBGRkY1RjA3NTY0M0Q3NTYzRkQ3NTYyMDFFNDkwRkY4MzMxCis6MTAyMjEwMDBGMDc0ODA5MEZGODFGMDc1NTgwNEU1NTg3NUYwMDdBNEJDCis6MTAyMjIwMDAyNDNGRjU4MkU0MzRGQ0Y1ODNFMDc4ODlGNkZDNTQwRjEyCis6MTAyMjMwMDAxNEZDNzg4OUVDRjZFNTU4NzVGMDA3QTQyNDQxRjU4MjgyCis6MTAyMjQwMDBFNDM0RkNGNTgzRTA3ODhDNzZGODA4NzYwMEZDNzg4OTM1Cis6MTAyMjUwMDBFNjc1RjAwOEE0MjQ0OEY1ODJFNDM0RkZGNTgzRTRGMDQxCis6MTAyMjYwMDA3ODg5RTY3NUYwMDhBNDI0NEZGNTgyRTQzNEZGRjU4M0ZECis6MTAyMjcwMDBFQ0YwNzg4Q0U2RkYwOEU2N0UwM0NGQzMxM0NGMTNERUM1Cis6MTAyMjgwMDBGOUZFNzg4OUU2NzVGMDA4QTQyNDQ5RjU4MkU0MzRGRjY0Cis6MTAyMjkwMDBGNTgzRUVGMDc4ODlFNjc1RjAwOEE0MjQ0QUY1ODJFNDI3Cis6MTAyMkEwMDAzNEZGRjU4Mzc0ODBGMDc4OEFFQ0Y2N0QwMDc4OERFNjUzCis6MTAyMkIwMDAyQ0Y2MThFNjNERjY3ODhDRTZGRDA4RTY3QzAzQ0RDM0U3Cis6MTAyMkMwMDAxM0NEMTNEQ0Y5RkM3ODg5RTY3NUYwMDhBNDI0NERGNUVDCis6MTAyMkQwMDA4MkU0MzRGRkY1ODNFQ0YwNzg4OUU2NzVGMDA4QTQyNEY1Cis6MTAyMkUwMDA0RUY1ODJFNDM0RkZGNTgzRTRGMDc4OENFNkZEMDhFNkYxCis6MTAyMkYwMDBGQzc4ODlFNkZGN0UwMEVFMjRGQzUwMDMwMjI0NkJFNEE4Cis6MTAyMzAwMDBFRTc1RjAwN0E0MjQzRkY1ODJFNDM0RkNGNTgzRTBGRjhBCis6MTAyMzEwMDBFNEVGNTQ4MEZBRTRFRjU0MEYxNEZGRTRFRTc1RjAwNzk1Cis6MTAyMzIwMDBBNDI0NDFGNTgyRTQzNEZDRjU4M0UwNzg4QUY2RUU3NTY2Cis6MTAyMzMwMDBGMDgwQTQyNDA4RjhFNUYwMzRGOEY5RThGQ0U5RkQ4QTE3Cis6MTAyMzQwMDA1OUVBNzAwMzAyMjNEOEU0RUY3NUYwMDhBNDI0NDhGNTk1Cis6MTAyMzUwMDA4MkU0MzRGRkY1ODNFNEYwNzg4QUU2RkFFNEVGNzVGMDdFCis6MTAyMzYwMDAwOEE0MjQ0RkY1ODJFNDM0RkZGNTgzRUFGMEVERkJFQzlBCis6MTAyMzcwMDA3QTAzQ0JDMzEzQ0IxM0RBRjlGQUU0RUY3NUYwMDhBNEIwCis6MTAyMzgwMDAyNDQ5RjU4MkU0MzRGRkY1ODNFQUYwNzg4QUU2N0IwMDlECis6MTAyMzkwMDBGQUVDMkFGQ0VEM0JGREZCRUM3QTAzQ0JDMzEzQ0IxMzI5Cis6MTAyM0EwMDBEQUY5RkFFNEVGNzVGMDA4QTQyNDRERjU4MkU0MzRGRjdECis6MTAyM0IwMDBGNTgzRUFGMEU0RUY3NUYwMDhBNDI0NEFGNTgyRTQzNEVBCis6MTAyM0MwMDBGRkY1ODM3NDgwRjBFNEVGNzVGMDA4QTQyNDRFRjU4MkU1Cis6MTAyM0QwMDBFNDM0RkZGNTgzNzQ4MEYwMDIyNDY3RTRFRjc1RjAwOEJECis6MTAyM0UwMDBBNDI0MDhGNTgyRTQzNEZGRjU4M0U0RjA3ODhBRTZGQTYxCis6MTAyM0YwMDBFNEVGNzVGMDA4QTQyNDBGRjU4MkU0MzRGRkY1ODNFQUQ2Cis6MTAyNDAwMDBGMEVERkJFQzdBMDNDQkMzMTNDQjEzREFGOUZBRTRFRjZDCis6MTAyNDEwMDA3NUYwMDhBNDI0MDlGNTgyRTQzNEZGRjU4M0VBRjA3ODI2Cis6MTAyNDIwMDA4QUU2N0IwMEZBRUMyQUZDRUQzQkZERkJFQzdBMDNDQjYxCis6MTAyNDMwMDBDMzEzQ0IxM0RBRjlGQUU0RUY3NUYwMDhBNDI0MERGNTExCis6MTAyNDQwMDA4MkU0MzRGRkY1ODNFQUYwRTRFRjc1RjAwOEE0MjQwQThGCis6MTAyNDUwMDBGNTgyRTQzNEZGRjU4M0U0RjBFNEVGNzVGMDA4QTQyNDlBCis6MTAyNDYwMDAwRUY1ODJFNDM0RkZGNTgzRTRGMDBFMDIyMkY0OEU1ODc4Cis6MTAyNDcwMDA3ODhDRURGNjA4RUNGNjc4ODlFRkY2MTIyMEE0MjI4QzIxCis6MTAyNDgwMDAyNkVDMzBFNzE4RTUyNjU0MEYxNDc1RjAwOEE0MjQ0ODBDCis6MTAyNDkwMDBGNTgyRTQzNEZGRjU4M0UwNTRERkYwODAxNkU1MjY1NDNFCis6MTAyNEEwMDAwRjE0NzVGMDA4QTQyNDA4RjU4MkU0MzRGRkY1ODNFMEU2Cis6MTAyNEIwMDA1NERGRjAyMkVDOTBGRDNGRjA4QzI0RUQyNDAzRjUyNTUxCis6MTAyNEMwMDA3RDAwRDM5NTZDRUQ5NTZCNDAwMzg1NkMyNUU1MjUyNDQ3Cis6MTAyNEQwMDBCNzUwMDk3NTI1MDM3NDAyOTBGRDNGRjBBQzI1MTIyRjBCCis6MTAyNEUwMDBDMzIyRTRGNTY2RjU2NTEyMjRFODIyOTBGRDNERTA2NTFGCis6MTAyNEYwMDA2RDYwMEU3NDA0OTBGRDNGRjBFNEY1NjU3NTY2MDM4MDMxCis6MTAyNTAwMDA0NjdENkRFNEZFRkY3OTNEN0FGRDdCMDE3NDA1NzgwMDIwCis6MTAyNTEwMDAxMjAzM0ZFNTY2MjQwM0Y1NjZFNTY1MzQwMEY1NjVFNURECis6MTAyNTIwMDA2NkQzOTU2Q0U1NjU5NTZCNDAwNjg1NkM2Njg1NkI2NTM1Cis6MTAyNTMwMDBEM0U1NjY5NDQ4RTU2NTk0MDA0MDBDNzQwMjkwRkQzRjM1Cis6MTAyNTQwMDBGMEU0RjU2NTc1NjYwM0FDNjYxMjJGQzMyMkVDOTBGRENFCis6MTAyNTUwMDAzRkYwRTRGNTY2RjU2NThDMzJFQzYwMDUxMjJGQjQ4MDJGCis6MTAyNTYwMDAwNTdDMDAxMjJGQzMyMjkwRkYwNEUwRjU0QTkwRkYwNjdECis6MTAyNTcwMDBFMEZEQTNFMEVEN0QwMEZDN0QwMEZDOTBGRjA2RTBGRkE4Cis6MTAyNTgwMDBBM0UwN0UwMEZGRTRGRUVDNEVGQ0VENEZGREMzRUM5NEI3Cis6MTAyNTkwMDA0OEVEOTQwMDUwMjI5MEZGMDZFMEZEQTNFMEVEN0QwMEExCis6MTAyNUEwMDBGQzdEMDBGQzkwRkYwNkUwRkZBM0UwN0UwMEZGRTRGRTYwCis6MTAyNUIwMDBFQzRFRkNFRDRGRkQ4MDA0RTRGRDdDNDg4QzZDOEQ2QjkzCis6MTAyNUMwMDA5MEZGMDJFMEZEQTNFMEVEN0QwMEZDN0QwMEZDOTBGRkFDCis6MTAyNUQwMDAwMkUwRkZBM0UwN0UwMEZGRTRGRUVDNEVGNTRDRUQ0RjgxCis6MTAyNUUwMDBGNTRCNzU2NDNENzU2M0ZENzU2MjAxN0QzRDdFRkQ3RjM0Cis6MTAyNUYwMDAwMTc5NkRFNEZBRkI3NDA1NzgwMDEyMDMzRjc1NDkwMDE4Cis6MTAyNjAwMDBFNTQ5MjRGRTQwMTlBRDY0QUU2M0FGNjJFNDEyMDMwRkU2Cis6MTAyNjEwMDAwNTQ5MERFRDcwMDEwRThENjQ4RTYzOEY2MjgwRTE3NTRBCis6MTAyNjIwMDA2NDNENzU2M0ZENzU2MjAxOTBGRjAwRTA1NDYwQjQwMDg1Cis6MTAyNjMwMDAwMjgwMDZEMzUwMDMwMjJDMTJFNTRBNTQwRkY1NDlFNUY3Cis6MTAyNjQwMDA0QTU0ODBBMkUwOTIwMjkwRkYwMUUwMTIwMTgxMDAwQjQ3Cis6MTAyNjUwMDAyQzBEMjY2NzI3ODUyQzBEMjg5MTJDMEQyOTc0MjlBODZGCis6MTAyNjYwMDAyQjBGMkIxMjJCNTIyQkI2MkJFNEU1NjczMEU3MEVFNTMwCis6MTAyNjcwMDA0QzQ1NEI3MDA4RTU2QzY0MDI0NTZCNjAwMzAyMkMwRkZGCis6MTAyNjgwMDA5MEZGMDBFMDU0MUZCNDAwMDI4MDAzRDM0MDI5RTU0QUM0Cis6MTAyNjkwMDA2MDAzMDIyNzgyQUQ2NEFFNjNBRjYyNzQwMTEyMDMwRjYwCis6MTAyNkEwMDA3OEE3RTYzMEUwMEJBRDY0QUU2M0FGNjI3NDAyMTIwMzRDCis6MTAyNkIwMDAwRjdDMDIxMjJGQzMyMkI0MDEwMjgwMDNEMzQwMUJFNTFBCis6MTAyNkMwMDA2NzIwRTEwN0U1NEE2MDAzMDIyNzgyRTU0QTI0RkU1MEJECis6MTAyNkQwMDAwMzAyMjc4MjdDMDIxMjJGQzMyMkI0MDIwMjgwMDZEMzk3Cis6MTAyNkUwMDA1MDAzMDIyNzgwRTU2NzIwRTEwREU1NEE2MDA5RTU0QUNECis6MTAyNkYwMDA2NDgwNjAwMzAyMjc4MkFDNEExMjMwNEE0MDAzMDIyN0ZBCis6MTAyNzAwMDA4MkU1NDk3MDI1MzAwMjExOTBGRjgwRTA1NDA4QUQ2NEU1Cis6MTAyNzEwMDBBRTYzQUY2MjEyMDMwRjgwMEY5MEZGODJFMDU0MDhBREVBCis6MTAyNzIwMDA2NEFFNjNBRjYyMTIwMzBGODAzRDE1NDkzMDAyMURFNUIwCis6MTAyNzMwMDA0OTc1RjAwOEE0MjQ0OEY1ODJFNDM0RkZGNTgzRTA1NDk5Cis6MTAyNzQwMDAwOEFENjRBRTYzQUY2MjEyMDMwRjgwMUJFNTQ5NzVGMEZDCis6MTAyNzUwMDAwOEE0MjQwOEY1ODJFNDM0RkZGNTgzRTA1NDA4QUQ2NDRFCis6MTAyNzYwMDBBRTYzQUY2MjEyMDMwRkFENjRBRTYzQUY2MjEyMDFFNkY3Cis6MTAyNzcwMDA2MDBCQUQ2NEFFNjNBRjYyNzQwMTEyMDMwRjdDMDIxMjkyCis6MTAyNzgwMDAyRkMzMjI4MDAwMDIyQzBGRTU2NzIwRTcwNkU1NkM0NTg5Cis6MTAyNzkwMDA2QjYwMDMwMjJDMEY5MEZGMDBFMDU0MUZCNDAwMDI4MDE2Cis6MTAyN0EwMDAwM0QzNDAxQUU1NEMxNDQ1NEI3MDA0RTU0QTYwMDMwMjFDCis6MTAyN0IwMDAyODhFNzhBN0U2NTRGRUY2N0MwMDEyMkZDMzIyQjQwMUJGCis6MTAyN0MwMDAwMjgwMDNEMzQwMkFFNTY3MjBFMTA4RTU2NzIwRTAwM0EzCis6MTAyN0QwMDAwMjI4OEVFNTY3MzBFMDA0RTU0QTcwMEJFNTY3MzBFMURBCis6MTAyN0UwMDAwOUU1NEEyNEZFNTAwMzAyMjg4RTdDMDAxMjJGQzMyMkUyCis6MTAyN0YwMDBCNDAyMDI4MDA2RDM1MDAzMDIyODhDRTU0QzQ1NEI2MDlFCis6MTAyODAwMDAwMzAyMjg4RUFDNEExMjMwNEE0MDAzMDIyODhFRTU2NzQ0Cis6MTAyODEwMDAyMEUxMDdFNTY3MjBFMDAyODA3N0U1NjczMEUwMDZFNTI0Cis6MTAyODIwMDA0OTYwMDI4MDZDRTU0OTcwMEY5MEZGODJFMDU0RjdGMDM4Cis6MTAyODMwMDA5MEZGODBFMDU0RjdGMDIyRTU0OUI0MDEwMjgwMDNEMzExCis6MTAyODQwMDA0MDA5N0QwMTdDMDMxMjBGMEI4MDExQjQwMjAyODAwMzRBCis6MTAyODUwMDBEMzQwMDk3RDAxN0MwNDEyMEYwQjgwMDAxNTQ5MzAwMjIyCis6MTAyODYwMDAxNUU1NDk3NUYwMDhBNDI0NDhGNTgyRTQzNEZGRjU4M0EyCis6MTAyODcwMDBFMDU0RjdGMDgwMTNFNTQ5NzVGMDA4QTQyNDA4RjU4MkM4Cis6MTAyODgwMDBFNDM0RkZGNTgzRTA1NEY3RjA3QzAwMTIyRkMzMjI4MDdDCis6MTAyODkwMDAwMDAyMkMwRkU1NjcyMEU3MDZFNTZDNDU2QjYwMDMwMjNDCis6MTAyOEEwMDAyQzBGOTBGRjAwRTA1NDFGQjQwMDAyODAwM0QzNDAxQUE1Cis6MTAyOEIwMDBFNTRDMTQ0NTRCNzAwNEU1NEE2MDAzMDIyOTcxNzhBNzgyCis6MTAyOEMwMDBFNjQ0MDFGNjdDMDAxMjJGQzMyMkI0MDEwMjgwMDNEMzM4Cis6MTAyOEQwMDA0MDI5RTU2NzIwRTEwOEU1NjcyMEUwMDMwMjI5NzFFNTZBCis6MTAyOEUwMDA2NzMwRTAwNEU1NDk3MDBCRTU2NzMwRTEwOEU1NDkyNDBECis6MTAyOEYwMDBGRTUwMDI4MDdGN0MwMDEyMkZDMzIyQjQwMjAyODAwM0FDCis6MTAyOTAwMDBEMzQwNkZFNTRDNDU0QjYwMDI4MDY5QUM0QTEyMzA0QUI3Cis6MTAyOTEwMDA0MDAyODA2MEU1NjcyMEUxMDdFNTY3MjBFMDAyODA1NDFGCis6MTAyOTIwMDBFNTQ5NzAxNDMwMDIwOTkwRkY4MEUwNDQwOEYwODAwNzA4Cis6MTAyOTMwMDA5MEZGODJFMDQ0MDhGMDIyRTU2NzMwRTEzMzE1NDkzMDJBCis6MTAyOTQwMDAwMjE1RTU0OTc1RjAwOEE0MjQ0OEY1ODJFNDM0RkZGNTQyCis6MTAyOTUwMDA4M0UwNDQwOEYwODAxM0U1NDk3NUYwMDhBNDI0MDhGNUU1Cis6MTAyOTYwMDA4MkU0MzRGRkY1ODNFMDQ0MDhGMDdDMDAxMjJGQzMyMjk4Cis6MTAyOTcwMDA4MDAyODAwMDAyMkMwRkU1NjcyMEU3MTJFNTZDNDU2QkIyCis6MTAyOTgwMDA3MDBDRTU0QTcwMDg5MEZGMDBFMDU0MUY2MDAzMDIyQ0IxCis6MTAyOTkwMDAwRkU1NEM5MEZGRkZGMDkwRkZGRkUwNjAwNTQzNjcwMUZCCis6MTAyOUEwMDA4MDAzNTM2N0ZFN0MwMDEyMkZDMzIyRTU2NzMwRTcwRUQ5Cis6MTAyOUIwMDBFNTZDNDU2QjYwMDg5MEZGMDBFMDU0MUY2MDAzMDIyQzNCCis6MTAyOUMwMDAwRkFENEJFNTRDRUQ3RDAwRkM3RDAwRkNCRDAwMDI4MEIxCis6MTAyOUQwMDAwMzAyMkIwQUI0MDEwMjgwMDNEMzQwMzJFNTRBNzAwNTlBCis6MTAyOUUwMDBFNTRDRkM2MDAzMDIyQjBDNzU2NDAwNzU2M0ZDNzU2MjlBCis6MTAyOUYwMDAwMUQzRTU2Qzk0MTJFNTZCOTQwMDQwMDZFNEZEN0MxMjczCis6MTAyQTAwMDA4MDA0QUM2Q0FENkI4QzZBOEQ2OTEyMkZEODIyQjQwMjM1Cis6MTAyQTEwMDAwMjgwMDNEMzQwNTlFNTRBNjAwMzAyMkIwQ0U1NENGQ0NECis6MTAyQTIwMDA3MDI3NzU2NDEyNzU2M0ZDNzU2MjAxRDNFNTZDOTQxOUE3Cis6MTAyQTMwMDBFNTZCOTQwMDQwMDZFNEZEN0MxOTgwMDRBQzZDQUQ2QjQyCis6MTAyQTQwMDA4QzZBOEQ2OTEyMkZEODgwMjU3NTY0MkI3NTYzRkM3NThGCis6MTAyQTUwMDA2MjAxRDNFNTZDOTQzNUU1NkI5NDAwNDAwNkU0RkQ3QzlGCis6MTAyQTYwMDAzNTgwMDRBQzZDQUQ2QjhDNkE4RDY5MTIyRkQ4MjJCNEEyCis6MTAyQTcwMDAwMzAyODAwNkQzNTAwMzAyMkIwQUU1NENGNTQ5NzAwRjgwCis6MTAyQTgwMDA5MEZGMDRFMEZEQTNFMDRENjAwMzAyMkIwQzgwMTg5MDQyCis6MTAyQTkwMDBGQzgyRTBGREEzRTBGQzkwRkYwNUUwNkM3MDA3OTBGRjc2Cis6MTAyQUEwMDAwNEUwNkQ2MDAyODA2OEU0RjU2QUY1Njk3RjAwRTU0OTNECis6MTAyQUIwMDAxNEM1NDk2MDBGRUYyNDgwRjU4MkU0MzRGQ0Y1ODNFMDBGCis6MTAyQUMwMDAyRkZGODBFQThGNEFFNTRBMjQ4MEY1ODJFNDM0RkNGNTQyCis6MTAyQUQwMDA4M0UwN0QwMEQzOTU2Q0VEOTU2QjQwMDZBQzZDQUQ2QkRGCis6MTAyQUUwMDA4MDBGRTU0QTI0ODBGNTgyRTQzNEZDRjU4M0UwN0QwMDI0Cis6MTAyQUYwMDBGQzhDNkE4RDY5RTU0QTI0ODBGQ0U0MzRGQ0ZERkVFQzI0Cis6MTAyQjAwMDBGRDdGMDE4RDY0OEU2MzhGNjIxMjJGRDgyMjgwMDAwMkI4Cis6MTAyQjEwMDAyQzBGMDIyQzBGRTU2NzMwRTcxOUU1NkMxNDQ1NkI3MDNDCis6MTAyQjIwMDAxMkU1NEE3MDBFRTU0QzQ1NEI3MDA4OTBGRjAwRTA1NEVBCis6MTAyQjMwMDAxRjYwMDMwMjJDMEZFNTY3MjBFMDA4RTU2NzIwRTEwMzMyCis6MTAyQjQwMDAwMjJDMEY3NTY0NjhFNEY1NjNGNTYyRTRGNTY5MDRGNTM5Cis6MTAyQjUwMDA2QTEyMkZEODIyRTU2NzIwRTcyN0U1NkM0NTZCNzAyMUM0Cis6MTAyQjYwMDBFNTRBNzAxREU1NEM2NDAyNDU0QjYwMERFNTRDMTQ0NThCCis6MTAyQjcwMDA0QjYwMDZFNTRDNDU0QjcwMDg5MEZGMDBFMDU0MUY2MDI5Cis6MTAyQjgwMDAwMzAyMkMwRkU1NjcyMEUwMDhFNTY3MjBFMTAzMDIyQzMzCis6MTAyQjkwMDAwRjg1NEM2OEU1Njg3MDA4NDM2NzAxNTM2N0ZEODAxMzMzCis6MTAyQkEwMDBFNTY4NjQwMjYwMDdFNTY4MTQ2MDAyODA2NTUzNjdGRUFCCis6MTAyQkIwMDA0MzY3MDI3QzAwMTIyRkMzMjJFNTY3MzBFNzFBRTU2Q0Y5Cis6MTAyQkMwMDAxNDQ1NkI3MDEzRTU0QTcwMEZFNTRDNDU0QjcwMDk5MDQ2Cis6MTAyQkQwMDBGRjAwRTA1NDFGMTQ2MDAyODAzOEU1NjcyMEUxMDI4MEE2Cis6MTAyQkUwMDAzMTdDMDExMjJGQzMyMkU1NjcyMEU3MTVFNTZDNDU2QkE4Cis6MTAyQkYwMDA3MDBGRTU0QzQ1NEI3MDA5OTBGRjAwRTA1NDFGMTQ2MEM2Cis6MTAyQzAwMDAwMjgwMEZFNTY3MjBFMTAyODAwODdDMDAxMjJGQzMyMkJBCis6MTAyQzEwMDA4MDAwMDIyRUNBQjQ0MDAyODAwNkQzNTAwMzAyMkVDMEE4Cis6MTAyQzIwMDA5MEZGMDFFMDkwRkQzREYwRTU0QTkwRkQzRUYwRTQ5MDFDCis6MTAyQzMwMDBGRDNGRjBFNTY0MjQwM0Y1NjRFNTYzMzQwMEY1NjNBRDFFCis6MTAyQzQwMDA0QkU1NEM4NTY0ODI4NTYzODNDREYwQTNDREYwOTBGRjg2Cis6MTAyQzUwMDAwMUUwMTIwMUI3MkM3RDAxMkNBMzAyMkNDRDAzMkNGNzJGCis6MTAyQzYwMDAwNDJENDUwNTJEODIwNjJEQTgwNzJEQ0UwODJERjQwOTJCCis6MTAyQzcwMDAyRTFBMEIyRTQwMEMyRTRGODAyRTRGODEwMDAwMkVBREIxCis6MTAyQzgwMDBFNTY3MjBFNzA2N0MwNTEyMjU0QTIyN0RCNzdFMzQ3RjYyCis6MTAyQzkwMDAwMjc5NDA3QUZEN0IwMTc0MDg3ODAwMTIwMzNGN0QwOEI5Cis6MTAyQ0EwMDA3QzAwMTIyNEIxMjJFNTY3MjBFNzA2N0MwNTEyMjU0QTQ0Cis6MTAyQ0IwMDAyMkU1NEFCNDAzMDA0MDEwQjQwNTAwNTAwQkU1NEE3RkZBCis6MTAyQ0MwMDAwMEZFN0MxMDEyMzE5QTIyN0QwMDdDMDcxMjI0QjEyMjcyCis6MTAyQ0QwMDBFNTY3MjBFNzA2N0MwNTEyMjU0QTIyRTU0QUI0MDMwMDkxCis6MTAyQ0UwMDA0MDEwQjQwNTAwNTAwQkU1NEE3RjAwRkU3QzExMTIzMTA0Cis6MTAyQ0YwMDA5QTIyN0QwMDdDMDcxMjI0QjEyMkU1NjcyMEU3MDY3QzNBCis6MTAyRDAwMDAwNTEyMjU0QTIyRTU0QUI0MDUwMjgwMDNEMzQwMEFFNEFECis6MTAyRDEwMDBGRjA0RkU3QzBBMTIzMTlBMjJCNDAxMDI4MDAzRDM0MEUwCis6MTAyRDIwMDAwQUU0RkYwNEZFN0MwODEyMzE5QTIyQjQwMzAwNDAxMDJBCis6MTAyRDMwMDBCNDA1MDA1MDBCRTU0QTdGMDBGRTdDMTMxMjMxOUEyMjQ1Cis6MTAyRDQwMDA3RDAwN0MwNzEyMjRCMTIyRTU2NzIwRTczNEQzRTU2Q0NGCis6MTAyRDUwMDA5NDQ4RTU2Qjk0MDA1MDA2RTU2QzQ1NkI3MDA2N0MwMjY4Cis6MTAyRDYwMDAxMjI1NEEyMkU1NEFCNDAxMDNCMzQwMEJDM0I0MDMwMDYxCis6MTAyRDcwMDA0MDA5QjQwNjAwNTAwNDEyMzA3MDIyN0MwNzEyMjU0QTI0Cis6MTAyRDgwMDAyMjEyMjRFODIyRTU2NzIwRTcxREU1NEFCNDAzMDA0MDRCCis6MTAyRDkwMDAxMEI0MDUwMDUwMEJFNTRBN0YwMEZFN0MxNjEyMzE5QUY0Cis6MTAyREEwMDAyMjdDMDcxMjI1NEEyMjEyMjRFODIyRTU2NzIwRTcxRDJCCis6MTAyREIwMDBFNTRBQjQwMzAwNDAxMEI0MDUwMDUwMEJFNTRBN0YwMDFCCis6MTAyREMwMDBGRTdDMTkxMjMxOUEyMjdDMDcxMjI1NEEyMjEyMjRFODJECis6MTAyREQwMDAyMkU1NjcyMEU3MURFNTRBQjQwMzAwNDAxMEI0MDUwMDcyCis6MTAyREUwMDA1MDBCRTU0QTdGMDBGRTdDMTcxMjMxOUEyMjdDMDcxMkI1Cis6MTAyREYwMDAyNTRBMjIxMjI0RTgyMkU1NjcyMEU3MURFNTRBQjQwM0FDCis6MTAyRTAwMDAwMDQwMTBCNDA1MDA1MDBCRTU0QTdGMDBGRTdDMTgxMjBDCis6MTAyRTEwMDAzMTlBMjI3QzA3MTIyNTRBMjIxMjI0RTgyMkU1NjcyMEYzCis6MTAyRTIwMDBFNzFERTU0QUI0MDMwMDQwMTBCNDA1MDA1MDBCRTU0QTI1Cis6MTAyRTMwMDA3RjAwRkU3QzE1MTIzMTlBMjI3QzA3MTIyNTRBMjIxMjRECis6MTAyRTQwMDAyNEU4MjJFNTY3MjBFNzA2N0MwNzEyMjU0QTIyMTIyNDlGCis6MTAyRTUwMDBFODIyRTU2NzMwRTcyMDkwRkYwMEUwNTQxRjcwMTA5MEYzCis6MTAyRTYwMDBGRjAxRTBCNDgwMDUxMjI0REY4MDAzMTIyNEU4MjI3REY0Cis6MTAyRTcwMDAwMDdDMDUxMjI0QjEyMjkwRkYwMEUwNTQxRjYwMDY3QzA0Cis6MTAyRTgwMDAwNTEyMjU0QTIyRDNFNTZDOTQ0OEU1NkI5NDAwNTAwQjVCCis6MTAyRTkwMDBDM0U1NkM5NDA3RTU2Qjk0MDA1MDA2N0MwMzEyMjU0QTQ5Cis6MTAyRUEwMDAyMkU1NEFCNDA1MDQxMjMwNzAyMjdDMDcxMjI1NEEyMjFBCis6MTAyRUIwMDBFNTY3MzBFNzA4N0QwMDdDMDUxMjI0QjEyMjdDMDUxMjBECis6MTAyRUMwMDAyNTRBMjJCNDIwMDI4MDAzRDM0MDAwODAwMDEyMkY5RUE2Cis6MTAyRUQwMDAyMjc1NDMwMDkwRkY4M0UwNTQwRkQzOTU0MzQwMjRFNUNGCis6MTAyRUUwMDA0MzI0RjBGNTgyRTQzNEZFRjU4M0UwQUQ2NEFFNjNBRkQ1Cis6MTAyRUYwMDA2MjEyMDMwRjA1NDMwREVENzAwMTBFOEQ2NDhFNjM4RjFBCis6MTAyRjAwMDA2MjgwRDFFNTQzN0QwMEZDQzNFNTZBOUNGNTZBRTU2OTEyCis6MTAyRjEwMDA5REY1NjlFNTZBNDU2OTYwMDZFNDkwRkY4M0YwMjI5MEJCCis6MTAyRjIwMDBGRjgyRTA0NDA4RjBFNEY1Njk3NTZBNDk5MEZEM0RFMEYwCis6MTAyRjMwMDBCNDA1MDI4MDAzRDM0MDQwOTBGRDNFRTBGNTQzQjQwNTY0Cis6MTAyRjQwMDAwMjgwMDNEMzQwMEFFNEZGMDRGRTdDMEIxMjMxOUEyMjc0Cis6MTAyRjUwMDBCNDAxMDI4MDAzRDM0MDBBRTRGRjA0RkU3QzA5MTIzMTZECis6MTAyRjYwMDA5QTIyQjQwMzAwNDAxMEI0MDUwMDUwMEJFNTQzN0YwMEUzCis6MTAyRjcwMDBGRTdDMTQxMjMxOUEyMjIyQjQ4MDAwNDAyM0I0ODIwMEQ1Cis6MTAyRjgwMDA1MDFFN0MzRDdERkQxMjE3RDU3RDAwOEM2NjhENjU5MEIxCis6MTAyRjkwMDBGRDNGRTA2MDA1MTIyRjlFODAwNTdDMDAxMjJGQzMyMkFBCis6MTAyRkEwMDAyMjkwRkY4M0UwNTQ3RkYwOTBGRjgyRTA0NDA4RjA5MDhECis6MTAyRkIwMDBGRjgwRTA0NDA4RjAyMjkwRkY4MkUwNDQwOEYwOTBGRjk4Cis6MTAyRkMwMDA4MEUwNDQwOEYwMjI4QzIzN0QwMDhDNkE4RDY5NzU2NDUyCis6MTAyRkQwMDAzRDc1NjNGRDc1NjIwMTEyMkZEODIyOTBGRjgzRTA1NDg2Cis6MTAyRkUwMDA3RkYwRTU2QTY0NDk0NTY5NzAwMTIyQzNFNTZBOTQwODg3Cis6MTAyRkYwMDBFNTY5OTQwMDQwMTU3NTIxMDhFNTIxN0QwMEZDQzNFNUQ1Cis6MTAzMDAwMDA2QTlDRjU2QUU1Njk5REY1Njk4MDA5ODU2QTIxRTRGNUEwCis6MTAzMDEwMDA2OTc1NkE0OTc1MjIwMEU1MjJDMzk1MjE1MDI2QUQ2NDgxCis6MTAzMDIwMDBBRTYzQUY2MjEyMDFFNkZDRTUyMjI0RjhGNTgyRTQzNEQ3Cis6MTAzMDMwMDBGRUY1ODNFQ0YwMDUyMjBERUQ3MDAxMEU4RDY0OEU2M0JDCis6MTAzMDQwMDA4RjYyODBEM0U1MjE1NDdGOTBGRjgxRjAyMjhDNDg3RkVFCis6MTAzMDUwMDAwMEVGMjRGQjQwMTlFNEVGNzVGMDA3QTQyNDNGRjU4MjRDCis6MTAzMDYwMDBFNDM0RkNGNTgzRTA2NTQ4NzAwMkQzMjIwRjgwRTI4RkUwCis6MTAzMDcwMDA0N0MzMjI4NTZDNkE4NTZCNjk5MEZGODJFMDU0RjdGMDQ0Cis6MTAzMDgwMDA5MEZGODNFMDU0N0ZGMDIyQzAwMEMwMDFDMDAyQzAwNjYwCis6MTAzMDkwMDBDMDA3RTU3MjI0MDhGODg2MDY1MzA2N0Y3Q0ZGMTIzMENECis6MTAzMEEwMDBGQTdDMDA3RDAwRTU3NTYwNDZGRjkwRkU5REUwNTQ3RjUwCis6MTAzMEIwMDA2RTcwMEZDMDgzQzA4MkEzRTBGREEzRTBGQ0EzMTU3NTcyCis6MTAzMEMwMDA4MDA3QTNBM0EzREZFNjgwMjZERjA2RDA4MkQwODM4MDFCCis6MTAzMEQwMDAxRUUwRjhBM0UwRjlBM0UwRkFEMDgyRDA4M0U4RjBBM0UxCis6MTAzMEUwMDBFOUYwQTNFQUYwQTNDMDgzQzA4MkEzQTNBMzgwREExMjBECis6MTAzMEYwMDAzMTkzRDAwN0QwMDZEMDAyRDAwMUQwMDAyMjg1QTg3NDI5Cis6MTAzMTAwMDA3NUE4ODhFQzcwMDI3QzNGOEM3MzIyRTU3MjI0MDhGODY1Cis6MTAzMTEwMDA3NjAwMTIzMUU3ODBGQkMwMDBDMDAxQzAwMkMwMDZDMENCCis6MTAzMTIwMDAwN0FFMDQ3Q0ZGMTIzMEZBRTU3NTYwNDJGRjkwRkU5RDA5Cis6MTAzMTMwMDBFMDU0N0Y2RTcwMEJDMDgzQzA4MkEzQTNBMzE1NzU4MDdCCis6MTAzMTQwMDAwN0EzQTNBM0RGRUE4MDI2REYwNkQwODJEMDgzODBEODNFCis6MTAzMTUwMDBFMEY4QTNFMEY5QTNFMEZBRDA4MkQwODNFOEYwQTNFOTk1Cis6MTAzMTYwMDBGMEEzRUFGMEEzQzA4M0MwODJBM0EzQTM4MERBNzgwODA3Cis6MTAzMTcwMDAwODc5MTgwOTdDMDFFNjU0N0Y2RTcwMDY3NjAwNzcwMEE2Cis6MTAzMTgwMDA4MDA2MDgwOTBDQkMwOEVFMTIzMTkzRDAwN0QwMDZEMDk3Cis6MTAzMTkwMDAwMkQwMDFEMDAwMjI3NTczMDA4NTc0QTgyMkMwRjBDMDRGCis6MTAzMUEwMDA4MkMwODNDM0U1NzUyNEU4NTAwNTEyMzFFNzgwRjRFQzUyCis6MTAzMUIwMDA2MDMxOTAzNEI2RTQ5M0MzOUM0MDI4QzAwNDdDRkYxMjc1Cis6MTAzMUMwMDAzMEZBRDAwNDQzMDQ4MEU1NzU3NUYwMDNBNDI0OURGNTFFCis6MTAzMUQwMDA4MkU0MzRGRUY1ODNFQ0YwRUZBM0YwRUVBM0YwMDU3NTg2Cis6MTAzMUUwMDAxMjMxOTNEMDgzRDA4MkQwRjAyMkMwMDQ3QzIwRDI4Q0M0Cis6MTAzMUYwMDBEMjhERDUwNEZERDAwNDIyNzVBODAwNzU4ODAwNzVCODVECis6MTAzMjAwMDAwMDc1RjAwMDc1RDAwMEU0Rjg5MDAwMDBGNjA4QjgwMEYyCis6MTAzMjEwMDBGQjAyMDAwMEMzRUQ5NDAyNTAwNDdEMDM3Q0U4RUNGNDUzCis6MTAzMjIwMDBGQ0VERjRGRDBDQkMwMDAxMEQ4Qzc5OEQ3ODIyQzNFQzEzCis6MTAzMjMwMDA5NEJDRUQ5NDAyNTAwNDdEMDc3Q0QwRUNGNEZDRURGNERBCis6MTAzMjQwMDBGRDBDQkMwMDAxMEQ4Qzc3OEQ3NjIyRUM3MDAxMjJDMDQ0Cis6MTAzMjUwMDAwMEU1NzIyNDE4RjhBNjA0RTU3MjI0MDhGOEM2NTQ3RjI1Cis6MTAzMjYwMDBGNkU2MzBFNzAzRDAwMDIyMTIzMUU3ODBGNEMyOEM4NTA1Cis6MTAzMjcwMDA3NjhDODU3NzhBRDI4Q0MwRTBDMEQwQzBGMEMwODJDMDg2Cis6MTAzMjgwMDA4M0MwMDBDMDAxQzAwMkMwMDNDMDA0QzAwNUMwMDZDMEE2Cis6MTAzMjkwMDAwNzEyMUIyOEU1NzIyNDA4RjhFNjYwMjRFNTcyMjQxMDYyCis6MTAzMkEwMDBGOEE2ODFFNTcyNzVGMDIxQTQyNDk1RjU4MkU0MzRGRDM5Cis6MTAzMkIwMDBGNTgzNzhBOEU1ODEwNEMzOThGOUU2RjAwOEEzRDlGQTY0Cis6MTAzMkMwMDA3NDA4MjU3MkY4MDU3MjA4RTY1NDgwNzAwQ0U1NzJCNDMzCis6MTAzMkQwMDAwN0YzNzgwODc1NzIwMDgwRUZFNTcyMjQxMEY4ODY4MTk0Cis6MTAzMkUwMDBFNTcyNzVGMDIxQTQyNDk1RjU4MkU0MzRGREY1ODM3ODI4Cis6MTAzMkYwMDBBOEU1ODEwNEMzOThGOUUwRjYwOEEzRDlGQUQwMDdEMDZECis6MTAzMzAwMDAwNkQwMDVEMDA0RDAwM0QwMDJEMDAxRDAwMEQwODNEMEE1Cis6MTAzMzEwMDA4MkQwRjBEMEQwRDBFMDMyQzBFMEMwRDBDMDAwQzAwMTM4Cis6MTAzMzIwMDBDMDAyQzI4RTg1Nzg4RDg1Nzk4QkQyOEU3ODE5NzkwOTA1Cis6MTAzMzMwMDA3QTA3RTc3MDA0QTYwMDgwMEJFNjYwMDgxNkU2NzAwNEMyCis6MTAzMzQwMDBFNzQ0ODBGNzA4MDlEQUVBRTU3MzYwMTMxNEY1NzM3MDRGCis6MTAzMzUwMDAwRUU1NzIyNDA4Rjg3NjAwMTIzMTkzRDI4Q0QyOEREMDBCCis6MTAzMzYwMDAwMkQwMDFEMDAwRDBEMEQwRTAzMjc1ODFBNzc1OTAwMDk2Cis6MTAzMzcwMDA3NTc5MzA3NTc4Rjg3NTc3NjA3NTc2RjAxMjA1M0MxMkJFCis6MTAzMzgwMDAzNDBGMTIxNzhCMTIzNDM5MTIzMUY1ODBFMzIyQzAwMDRBCis6MTAzMzkwMDA3QzAxRUMyNDA4RjhFNjYwMDkwQ0JDMDhGNTEyMzFFNzYyCis6MTAzM0EwMDA4MEVFRDAwMDIyQzBGMEMwODJDMDgzQzAwMEMwMDZDMDQyCis6MTAzM0IwMDAwN0VEMjQxMEY4NzZCNkVENzVGMDIxQTQyNDk1RjU4MjdBCis6MTAzM0MwMDBFNDM0RkRGNTgzQzA4MkMwODNBM0EzRTQ3ODBERjBBM0E5Cis6MTAzM0QwMDBEOEZDRUM1NDdGNzVGMDAyQTQyNDgyRjU4MkU1RjAzNDI5Cis6MTAzM0UwMDAzNEY1ODNFNDkzRkU3NDAxOTNGNTgyOEU4M0U0OTNGRUI3Cis6MTAzM0YwMDA3NDAxOTNGRkQwODNEMDgyRUZGMEEzRUVGMEVEMjQwOEE4Cis6MTAzNDAwMDBGOEVDNDQ4MEY2RDAwN0QwMDZEMDAwRDA4M0QwODJEMDJDCis6MTAzNDEwMDBGMDIyNzU3MjAwNzU3NTAwN0EwODc5MTg3ODA4NzYwMEMwCis6MTAzNDIwMDA3NzAwMDgwOURBRjhFNDc4MDg3NDgwNDQ3RkY2NzQwMUJDCis6MTAzNDMwMDA0NDEwRjU4OTc1QjgwOEQyQUJEMkE5MjI3NTgxQTdEMkZDCis6MTAzNDQwMDA4RUQyOENEMkFGRTU3NTYwMzJGRjkwRkU5REUwNTQ4MDQ1Cis6MTAzNDUwMDA2MDI0NzgwODc5MDhFMDU0N0ZGQTdCMDBFNjU0N0ZCNTUxCis6MTAzNDYwMDAwMjAyN0JGRjA4RDlGNUVCNzAwQ0VBRjAxMjMzOEJBRDRBCis6MTAzNDcwMDAwNEFDMDIxMjMzQTJBM0EzQTNERkQyMTIzMUU3ODBDNUFBCis6MTAzNDgwMDA3QzAxN0QwMDIyMDRGNTA0RTkwNEVEMDRFMTA0REQwNDdGCis6MTAzNDkwMDBEOTA0RTUwNEYxMDQ5RDA0QTEwNENEMDREMTA0OTkwNEU4Cis6MTAzNEEwMDA5OTA0OTkwNEQ1MDRCNTA0QUQwNEIxMDRBOTA0QzEwNDc4Cis6MTAzNEIwMDBCRDA0QjkwNEM1MDRDOTA0QTUxOTAxMDMwMDIyMDA0OENDCis6MTAzNEMwMDAwMjAwMjQwRjE4MEExMDY0MEQ2ODBDMDUwNjAyMDMwMTlGCis6MTAzNEQwMDAwMTgxMDEwMDAwRTcwMEMwMDA4MDAwNjAwMDQwMDAzMDcyCis6MTAzNEUwMDAwMDE4MDAwQzAwMDgwMDA0MDAwMjAwMDEwMDA4MTgzODUxCis6MTAzNEYwMDAyODA2MDIxMDBBMDIwMDAwMDAwMDAwMDE4MTEwMEEwMkUyCis6MTAzNTAwMDAwMDAwMDAwMDAwRkJFOEZCRkExMjAxMTAwMUZGMDAwMEMwCis6MTAzNTEwMDAwODUxMDQ1RjUwMTYwMTAxMDIwMDAyMDkwMjM1MDAwMTQyCis6MTAzNTIwMDAwMjAwRTAwMDA5MDQwMDAwMDVGRjAwMDAwMDA3MDU4MTFCCis6MTAzNTMwMDAwMjQwMDAwMDA3MDUwMTAyNDAwMDAwMDcwNTgyMDI0MDJBCis6MTAzNTQwMDAwMDAwMDcwNTAyMDI0MDAwMDAwNzA1ODUwMzAyMDAwMTk0Cis6MTAzNTUwMDAwNDAzMDkwNDI0MDM1NDAwNjUwMDc4MDA2MTAwNzMwMDJCCis6MTAzNTYwMDAyMDAwNDkwMDZFMDA3MzAwNzQwMDcyMDA3NTAwNkQwMDQ5Cis6MTAzNTcwMDA2NTAwNkUwMDc0MDA3MzAwMkEwMzU0MDA1NTAwNTMwMDY4Cis6MTAzNTgwMDA0MjAwMzUwMDMwMDAzNTAwMzIwMDIwMDA1MzAwNjUwMDU1Cis6MTAzNTkwMDA3MjAwNjkwMDYxMDA2QzAwMjAwMDUwMDA2RjAwNzIwMDMyCis6MTAzNUEwMDA3NDAwMjIwMzU0MDA1NTAwNTMwMDQyMDAzNTAwMzAwMERGCis6MTAzNUIwMDAzNTAwMzIwMDIwMDAyMDAwMjAwMDIwMDAyMDAwMjAwMEU0Cis6MDQzNUMwMDAyMDAwMjAwMEM3Cis6MDAwMDAwMDFGRgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUvdHJfc21jdHIuYmluLmloZXggYi9maXJtd2FyZS90cl9zbWN0ci5iaW4uaWhleApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42Nzk3NDUxCi0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUvdHJfc21jdHIuYmluLmloZXgKQEAgLTAsMCArMSw0NzcgQEAKKzoxMDAwMDAwMEJDMUQxMjNCNjNCNEU5MDAwMDFGMDAwMTAxMDAwMjA1QTIKKzoxMDAwMTAwMDAxMDAwNjAzMDEwMDA0MDkwMTAwMEEwNzAxMDAwODBCQTIKKzoxMDAwMjAwMDAxMDAwQzAwMDAwMDAwMEYwMTAwMTAwRDAxMDAwRTEzNzQKKzoxMDAwMzAwMDAxMDAxNDExMDEwMDEyMDAwMDA1MDAxNTAxMDAxNjE5M0QKKzoxMDAwNDAwMDAxMDAxQTE3MDEwMDE4MDAwMDBFMDAwMDAwMDEwMDAwNTYKKzoxMDAwNTAwMDAwMDQwMDFCMDEwMDFDMDAwMDA3MDAwMDAwMEYwMDAwNEUKKzoxMDAwNjAwMDAwMEIwMDFEMDEwMDFFMDAwMDA4MDAwMDAwMDIwMDAwM0YKKzoxMDAwNzAwMDAwMEMwMDAwMDAwNjAwMDAwMDBEMDAwMDAwMDMwMDAwNUUKKzoxMDAwODAwMDAwMEEwMDAwMDAwOTAwMDQ3OEM2QkMwMTk0MDQ5MzgwQjMKKzoxMDAwOTAwMEM4NDA2MkU5REExQzJDMTU1NTU1NTU1NTU1NTU1NTU4MkIKKzoxMDAwQTAwMDBCRTlFNUQ1OTVDMTlENzdDRUJCQTA2RTFDMDVGNjc3MTMKKzoxMDAwQjAwMEM2MDJGQTk2NzBFODFEQzAxNzBFMDJGQTU4N0RDMDVGOUUKKzoxMDAwQzAwMDcyQ0VFQ0E0QzM4NDkwN0EzMENEOEQ3OTE5RTc2QzI0N0MKKzoxMDAwRDAwMDI3OUMwODM5MDczOEE4NEE0Q0VBNEQ5ODlCMjQ0Q0MwMDUKKzoxMDAwRTAwMDI2RDNFNzU0NUE0REYyNEMwQzEzMjM0OTkwMzI2RUE0OTgKKzoxMDAwRjAwMERGOTM3MTEzNzcyNkUxMjZGODI2MEM0QzEyMjYwODA5QTcKKzoxMDAxMDAwMDgyODI2MEE5MzA3OTM2QjBCMkE4QTc3MjY0OEY5QjMzMUYKKzoxMDAxMTAwMDMzRjlCODM5RDUxMTczQUE3NTI2NUQyNjUxOTMyQTQ5NEEKKzoxMDAxMjAwMDk0Qzk5NTg5QkM0REM4OUI4MDlCQTA5OTA2NEM4NjI2OTYKKzoxMDAxMzAwMDU4OUJBNDlCOTkzNzYyNkM2NzlCMzMzMEJGMzY2NjYxQ0UKKzoxMDAxNDAwMEJGMzZFQ0M1QkQ2NjgyNUE1MDMxRDU5RDk4MTgyOTNDMDIKKzoxMDAxNTAwMDk4ODY0QzE3MjYzRTJDQjg2OTNCNDkyRUI0MDg0MzFBQTIKKzoxMDAxNjAwMEE0RjlCMzUxRjExMEYzNDNDRDA4NkY2Mzc5QjMzMzBFQTMKKzoxMDAxNzAwMDEzOTg0OTk4MDREQTdDRTA1Mjc5MzEwQzk4MkU0REFDRjIKKzoxMDAxODAwMDJDODQxNEVFNENGRTY3NUVFNDlBNzUyOUQ3QTkzNTNBQTMKKzoxMDAxOTAwMDk0NUJENTlCNThCNEFGNzU2NkFGMTRBOUVGNDA5NTI1MTUKKzoxMDAxQTAwMDA4QjlBRDQyRkNEOEQ5OEMzMzBFMTM5ODY2MUU0NUFDMDUKKzoxMDAxQjAwMEIwMEM0MkQzQ0NBNjEyNjJERUI0QjE4MDQ5N0RBMkRFN0YKKzoxMDAxQzAwMEI0MThDMDI0ODRFNjU0RjU4MzQ2MDE2ODFBNjMwQ0M2NEIKKzoxMDAxRDAwMDEyNjRGQTRDMzUxQzJDMEVBQUFBQUFBQUFBQUFBQUFBODgKKzoxMDAxRTAwMEFBQUFBQUFBQUFBREQ3MDI3MEUwNENGM0ExQzFENUMwQjEKKzoxMDAxRjAwMDNDQjk2OTM5NjA0RTU4NzcwMjY3OTMzQzk5RTRDRjM4MkYKKzoxMDAyMDAwMDFDOTcyRTQwMUI5MDMxNDZBMzVFMEU4ODM0NkEzNUUwNjEKKzoxMDAyMTAwMEU4QUEzNTFBQTlGNTE1NDZBM0VBN0Q0QUEzNTFBQTlGNzMKKzoxMDAyMjAwMDcwNTRBNjU3MkVCNENEQzhBMzBDQzFEQUM2RTFDQjdBNjAKKzoxMDAyMzAwMEQ0MUM2OEZGQ0Y1NUE4QzAyRDg1MTExNzQ0MkEzMDBCNTgKKzoxMDAyNDAwMDRBODhDMjREQjUyMEQ1MjYwMTY5NTE2OTUyMTk1MjYwQkMKKzoxMDAyNTAwMDE2OTUxNjgyOTY1NDk4MDVBNTQ1RjNERDZBRjkyODE4NzcKKzoxMDAyNjAwMEVGMDAzMDMwNTE0RTQ0NUQxMkQxNDNFNjEyNkY5RUJBMUEKKzoxMDAyNzAwMENDREYyNTAzMURFMDA2MDYwQTMwQ0NBOUVCMkQwMDg2NTUKKzoxMDAyODAwMEE2MTI2NTRGNTZENjY1NDk1RjNERTgzN0M5NDBDNzc4MjUKKzoxMDAyOTAwMDAxODE4MjhDMzMxODQ5ODBBRTQwQzUxODA1OUM2RDE4QzkKKzoxMDAyQTAwMDY2MEVGM0EwQzYxMjYyREVGNTA0QjRBQzZCQzYxOTkxRkIKKzoxMDAyQjAwMDczMDU0ODJFNzI5NDgwNzNBMUM4NDczNjY2NjQyRjM2NDIKKzoxMDAyQzAwMDY2NjQwNzk5MDI5MThFNzJEMTBGOUQwNjMxNzNBMEMzQTcKKzoxMDAyRDAwMDUxNkExQTIwQkYzQTBDMkM3Mzg3NDM1RTYwMDIyM0ZDREMKKzoxMDAyRTAwMEUwRDYzNUVGOUVGNUVGOTI4MThFRjAwMzAzMDUxODY2OTgKKzoxMDAyRjAwMDQ1Q0MwQjQ4MkU3MDBBNDAzOUQwRTQyMzlCMzMzMjE3OEIKKzoxMDAzMDAwMDlCMzMzMjAzQ0M4NTQ4QzczODE0QTVDRTI5N0VEMjgwRDIKKzoxMDAzMTAwMEExQThCNDQ4ODgyRkNFODMwQjFDRTFEMEQ3OTgwNDg4QkQKKzoxMDAzMjAwMDg3Q0U5NjMxNzNBNThGRjM4MzU4RDdCRTdCODJBRjkyNjkKKzoxMDAzMzAwMDgxOEVGMDAzMDMwNTE4NjY0NUNDMTUyMEI5QzgyOTAwNDUKKzoxMDAzNDAwMEU3NDM5MDhFNkNDQ0M4NUU2Q0NDQzgwRjMyMDUyMzFDODIKKzoxMDAzNTAwMEU0NTBENDVBMTc4ODJGQ0U4MzEwRjlEMDIzMTczQTA0Q0IKKzoxMDAzNjAwMDM1RTYwMDIyMTYzOUMzQTNGQ0UwRDYzNUUwQkZGNDE4MDkKKzoxMDAzNzAwMEYyMkQ0RDQzNTE2RTVBMjIxRjMwRDQxN0U3NDE5MTczMkQKKzoxMDAzODAwMDA1NDgyRTc3NjkwMEU3NDM5MDhFNkNDQ0M4NUU2Q0NDMzQKKzoxMDAzOTAwMEM4MEYzMjA1MjMxQ0VGNEM0RTA2MDRDOTlFMEJGRjQxQ0IKKzoxMDAzQTAwMDhGMjJENEQ0MzUxNkU1QTIyMUYzNUE4MkZDRTgzMjJFRUUKKzoxMDAzQjAwMDYwQTkwNUNFMTM0ODA3M0ExQzg0NzM2NjY2NDJGMzY2NEIKKzoxMDAzQzAwMDY2NDA3OTkwMjkxOEU3MEE5ODlDMEE5RUI1MTI1QzdDRDEKKzoxMDAzRDAwMEMzMzE4Qjk4MkE3Q0QzRUQzOEU5RDM0RTc0RUQ0OTlFMTYKKzoxMDAzRTAwMDBCRkY0MThGMjJENEQ0MzUxNkU1QTIyREVCNDUzMzhGNzgKKzoxMDAzRjAwMEZDRjdBMDVGMjUwMzFERTQwRTA2MEEzMENDMENGM0VCREUKKzoxMDA0MDAwMDQwREU2MUE4NzA5MjBBMDBFMTI0MUUwMEUxMjQxRTAwNzMKKzoxMDA0MTAwMEUxMjQxRTAwRTEyNDFFMDBFMTI0MUUwMTBGOTgyQTBCOTYKKzoxMDA0MjAwMEYzQTBDOEI5QTJBNDE3M0E2OTAwRTc0MzkwOEU3NTQ4QjMKKzoxMDA0MzAwMDVFNzA2OTAxRTYwMDUyMzFDQzE4MTRBNUNDMDk4Mjk0OTMKKzoxMDA0NDAwMDczMENBMDkxRjUyNUNDMDcwNjg0ODQ5RjMwQTJBNDdENkYKKzoxMDA0NTAwMDUwNzVBNjY1MDE0QThFQjRDQ0M0MzU1NDc1NjZBNDk3MTAKKzoxMDA0NjAwMDdBODk1MDUzMTM4MDE5RTM0OTVDNkRDRUE5NDAzNTA2NTMKKzoxMDA0NzAwMDc4RDI1NzA2RjFCMzJBOEQ5NzIzNjI5MjVENjk5OTFDNTEKKzoxMDA0ODAwMDZBMzZFNkNENDYxMjZGOUVFMUFCRTRBMzBDQzBERUFDNEIKKzoxMDA0OTAwMEQ0MEQyODFCRDAxMkE1MDBGODRCQUQzMzI4MDZBMERFRTIKKzoxMDA0QTAwMDE0OTczQTg5NURDMDBERTMwNjkwOTI1RDY5OTg2NkI5MkMKKzoxMDA0QjAwMDE5OTVFNEE4Q0Y5RDMzMTg0OUJFN0I4NkFGOTI4QzMzNDMKKzoxMDA0QzAwMDI0MTQwQ0Y0ODMyNDIxQzI3MEJGRjQxOEYyMkQ0RDQzODAKKzoxMDA0RDAwMDUxNkU1QTIyMUYzMkE4MkZDRTgzMjJFNjA1QTQxNzNBNjYKKzoxMDA0RTAwMDY5MDBFNzQzOTA4RTc1NDg1RTcwNjkwMUU2NDJBNDYzMzcKKzoxMDA0RjAwMDk4MDIyOTRCOUEyOTc4RTk0MDUzMTM4MTgxMzI2NzgyMDcKKzoxMDA1MDAwMEZGRDA2M0M4QjUzNTBENDVBRTUwMDg3Q0UwRDA1RjlEODcKKzoxMDA1MTAwMDA2NDVDQzAxQTQxNzNBNjkwMEU3NDM5MDhFNzU0ODVFMDIKKzoxMDA1MjAwMDcwNjkwMUU2NTlBNDYzOTgxQzUyOTczQjMwNTI4RTdENDYKKzoxMDA1MzAwMDJBMDkxRjUxRUJBNEE0MEFCOTk0ODdBRUM1MzEzODAyMjkKKzoxMDA1NDAwMEZGRDA2M0M4QjUzNTBENDVBRTUwMDg3Q0VBMjBCRjNBRjAKKzoxMDA1NTAwMDBDOEI5QTE2OTA1Q0U5QTQwMzlEMEU0MjM5RDUyMTc5NDMKKzoxMDA1NjAwMDk1NDgwRjMwMEE5MThFNjBFQjI5NzMwMDA5NTQwNENBMzQKKzoxMDA1NzAwMDgyNjU1MjY1RTRDQTIyNjU3MjY1MDkzMkUwOTk3MjRDNUYKKzoxMDA1ODAwMEM0RTAwQkZGNDE4RjIyRDRENDM1MTZCOTQwMjFGMzhBNDEKKzoxMDA1OTAwMDgyRkNFODMyMkU2MEE5MDVDRTlBNDAzOUQwRTQyMzlEMzIKKzoxMDA1QTAwMDUyMTc5OTU0NjE5OTAxRTY0MEE0NjM5ODA0QjE4NDk4NjQKKzoxMDA1QjAwMDE4RUYyRDAzMDUzMTM4MDJGRkQwNjNDOEI1MzUwRDQ1NUUKKzoxMDA1QzAwMEI5Njg4ODdDRTA1MDVGOUQwNjQ1Q0M4MTQ4MkU3MTM0MjcKKzoxMDA1RDAwMDhGNDgwMTQ4MTUyMTA1MjFFOTBBNTIwM0NFNUE0NjM5QjAKKzoxMDA1RTAwMENGNDc4RTYwQUIxQUYzNTM0M0VCMzUyNEI4MUIzMDA3NkIKKzoxMDA1RjAwMDA5OEE3NDJGN0U0MTc0MUUxRDBEODc0NjQ5RDU5NUQxRjkKKzoxMDA2MDAwMEQ1RDVCQkE5NEU4MjlEMDUzQTBBNzQxNEU4MjlEMDQyN0IKKzoxMDA2MTAwMDc0NUJDRTUwQzQwNzQ1QkNFMjBDNDA3NDVCQ0U4MzA0Q0YKKzoxMDA2MjAwMEY5OTU0RDEzNjM1RTZGMzEzQkEwOEJBMkM1Mzk4RDc4NzAKKzoxMDA2MzAwMDNBMjJBMDAwNkJDMUQxNTQ2MDE2RDk5MUEyRTc0MzhDMzUKKzoxMDA2NDAwMDI0REMxQ0UwNTExNzM5NkIzQkNDNEI0MjJFNkI1MEJGNjYKKzoxMDA2NTAwMDM2MzY2NTRGN0ExODU1MjU3ODk4MjNFNzUwM0VGMzgxNTIKKzoxMDA2NjAwMDRDMDI2RDNFNzE1M0FGNzhBOUQ0QTYyOUIxQkNEOTk5N0IKKzoxMDA2NzAwMEIyOEU2MjhGMjIyRTc1MTZCMEIyQUIyMzI4MTY1NDUyNUEKKzoxMDA2ODAwMDMxQkNEOTk5QjI4RTY2MTkwMjJFNzUxNjUwMkNBOUM4QTQKKzoxMDA2OTAwMEM2RjUyMEQzRTQ3RjRGOUMwQUQ2MTY3RjkwRUU0Q0VCMzQKKzoxMDA2QTAwMENGRTI4OEJBMkY0Mjg2QUVCREU1QTc1MjlGOTM2Mzc5MDkKKzoxMDA2QjAwMEVCMzMwOEY5OTQ1MjQ3Q0Q5OTI1NkYzQTBDMTNFNjU1NjAKKzoxMDA2QzAwMDM0NEM1QTREQjUyMzk1QTU0ODExNUEwQTQzOTVBQzJDODQKKzoxMDA2RDAwMEJBMjQwNTQ5QjFCQ0NBQTc3MjZDNkJDNUJERTgzMTY5QzMKKzoxMDA2RTAwMDUyNUQwNjEyNjUzRUIxNTA0QzdENEZBQzBBMzAwQjM2NjAKKzoxMDA2RjAwMDY0MTE3MzhBODM4RTc1MTI5RjdCRDI5OTU4RUU4MjJFNzUKKzoxMDA3MDAwMDc3QTBFMzlENUQ0RkJDMkE1MzI5NTNERTkzMjRCQUIzRUYKKzoxMDA3MTAwMDM2QUE0QUM2NzlENEI5REU2MjVBMTE3MzUwNTBCRjM3MkYKKzoxMDA3MjAwMDM2NkYxMzIzQkEwQzI0Q0VCREUyQTc1MkIyOEU2QjYwOTMKKzoxMDA3MzAwMDYyMkU3NTEzMzBBQ0EwNTlDQTY0NjM3OUIzMzM2NTFDNUIKKzoxMDA3NDAwMENDMzIwNDVDRUEyQ0EwNTlERjIzMUJENDgzNTI0N0RENTIKKzoxMDA3NTAwMDc5OTZENDlFQjM1MjRCQTI1QTFBOEQ1RDdCODJBNzUyRDIKKzoxMDA3NjAwMEIyOEU2NjE5MDIyRTc1MTY1MDJDOEMzMjFEN0I4RUE3MDgKKzoxMDA3NzAwMDUyQjFCQ0Q5OTk5ODA0REE3Q0UyQUNGRTY2MTkwMjJFMUIKKzoxMDA3ODAwMDY1NTBCRjMzNjY2NEZFNzQxODg2NEMxNzI2RDYxNjUyMjEKKzoxMDA3OTAwMDM5MThERTdBQ0NDMjNFNjUxNDkxRjM2NjQ5MDg2RTgzM0YKKzoxMDA3QTAwMDA5MzNBRjMxRUQwRDlEMDYxMjYyMkEzMThENkRFNzQxOUYKKzoxMDA3QjAwMDgyN0NDQUE2ODk4NzA5MkUyOUIxQUYxMDM5RDY2NDk3RTEKKzoxMDA3QzAwMDMwMUQ0Mjc1OTM0NDAyOEMyNEQyN0FCMzUwRjY4OTA1QzkKKzoxMDA3RDAwMDQzNUU2MTk4QzAyQzkyMjUzQzhCMjQ4OTQ5MDU0OUU3RUEKKzoxMDA3RTAwMDBDQjk4NDk4QjdBRDMzNDRBRTVBNTE4NjYwOUYzOEE5OEUKKzoxMDA3RjAwMEEyNkM2QkM0OEVGNDVFNDk0NjEyNjJERUI0Q0QyMTVDRkQKKzoxMDA4MDAwMEI0QTMwQ0MxM0U3MjI5QTI2QzZCQzYxMjYyNDdGMEU4MTkKKzoxMDA4MTAwMEMzMzIwNDM1NDA5MkE0ODI4ODEwOTI3Q0NCRDQyRkE0OUEKKzoxMDA4MjAwMDAyMTE4NDk4QjdBRDMzNDRBRTVBNTE4NjYwOUYzOEE5RkYKKzoxMDA4MzAwMEEyNkM2QkM0OEVGNDVFNDk0NDA4NDkzRTY1RUExN0QyNDcKKzoxMDA4NDAwMDAxMDhDMjRDNUJENjk5QTQyQjk2OTQ2MTk4MjdDRTQ1OUIKKzoxMDA4NTAwMDM0NEQ4RDc4ODEwOTI3Q0NCRDEyMjg2QzU4QUZCNkYzODIKKzoxMDA4NjAwMEEwQzEzRTY1NTM0NEQ4RDc5MjhFN0Q0QkMyRkE2MTI2MTMKKzoxMDA4NzAwMDA2M0FCMzZCMDMwNTQ5RTcwQ0I5NkY1QTY2OTU1Q0I0NDkKKzoxMDA4ODAwMEEzMENDMTNFNzAyOUEyNkVBNERGOTM3MTEzNzcyNkUxRjkKKzoxMDA4OTAwMDI2RjgyNkM2QkM5NDczRjkyRjBCRTk4NDk4MThFQUNDODUKKzoxMDA4QTAwMEVDMEMxNTI3OUMzMkZGM0Q1NkFGOTI4QjdBRDMzNUQ1OTEKKzoxMDA4QjAwMENCNEEzMENDMTNFNzAyOUEyNkM2QkM5NDczNDE5NzkxNzkKKzoxMDA4QzAwMEY0ODNDRTA0MjA2MjhCMDUxNjQ5OEMyNEMwQzc1NjkwNTEKKzoxMDA4RDAwMEMwQzE1Mjc5QzMyRTVCRDVBNjcyRDI5NEZBQUQ1OEM4NjYKKzoxMDA4RTAwMEZBOUY1NEIzMzI0QkI5NTRBNjUxODY2Qjc5RDA2MDlGQUUKKzoxMDA4RjAwMDMyMDUzNDREOEQ3QTREMUU3QUIzNTEwMEE5M0Q1OUE4NjkKKzoxMDA5MDAwMDdCNDQ4MkExQUY0QThENTJBOTUyNDE0OTRGM0EyRTQwQjEKKzoxMDA5MTAwMEE0OTk1MEJFOTAwODUyNzlDMzJFNjEyNjJERUI0Q0QwN0QKKzoxMDA5MjAwMDE1Q0I0QTMwQ0MxM0U3MDI5QTI2QzZCQzQ4RkUxRDI1REIKKzoxMDA5MzAwMDQ2QTk1NEE5MjBBNEE3OUQxNzIwNTI0Q0E4NUY0ODA0OUIKKzoxMDA5NDAwMDIzMDkzMTZGNUE2NjgwQUU1QTUxODY2MDlGMzgxNEQxQTAKKzoxMDA5NTAwMDM2MzVFNEE3OUQxNzIwNTI0Q0EyNDUwRDhCMTVGNDkxMTYKKzoxMDA5NjAwMERFOEJDOTI4QzI0QzVCRDY5OUE5NUNCNEEzMENENkYzMjQKKzoxMDA5NzAwMEEwQzEzRTY0MEE2ODlCMUFGMTZENENBQTkyRTAzNjk0QkQKKzoxMDA5ODAwMDcwOUIyOTc4MTNBRUIzQUE4NUQ0NDM3NTA5M0FDOUVCOTUKKzoxMDA5OTAwMDM1MjRCODFCMzI4RTEzNDg3RTRFRkQ0MEZENDBGRDQwOEQKKzoxMDA5QTAwMEZENDBGRDQwRkMxM0Y0MjFGOTE3NDU4QTMwMEIzMzVGRkQKKzoxMDA5QjAwMDgzQTIyQTMwMEIzMzVGODNBMkE4QzAyREIzMjA3MDkyOEMKKzoxMDA5QzAwMDEzOUFERTc0MTgyN0NDQUE2ODlCMUFGNzA3NDU1MTgwNDIKKzoxMDA5RDAwMDVCNjY0NzA3MzhBODIzRTc1MTExM0ZFMEU4ODU0NjAxRTkKKzoxMDA5RTAwMDZEOTkwNjEyNjU0RjdBMjAyNEJBQjMzMjE1MjU3QkFENzYKKzoxMDA5RjAwMDMzNzhBRTBFNzNEMDQ3Q0VBNzMwQ0M0NEZGODNBMkE4ODUKKzoxMDBBMDAwMEMwMkNEOTkxQzFEMTE1MTgwNTlCMzIwOEJBMkM1MTgwNDAKKzoxMDBBMTAwMDU5QjMyMDcwOTJFMjk4ODlGREJDRUUxODkwRkM4QkEyMkQKKzoxMDBBMjAwMEM1MkIwRDc4M0EyMkE1NjFBRjA3NDU1MTgwNUI2NjQ0MUUKKzoxMDBBMzAwMDlFQjM1MjRCODNBREM3MDlCRTFGOUY3NDY1NUQwQTE3RjUKKzoxMDBBNDAwMDdDQUJBMEMyNEMzODQ5MTIyRTM4NDkwN0EzMENDMTNFREEKKzoxMDBBNTAwMDY1NTM0NEQ4RDdBREU3MDAzMjRCOUIzMzM0NEEwMzAwOEIKKzoxMDBBNjAwMDlEMjVDRTgzMjRCODE5OTk4QzAyMTI0QkExOTlEOEMwMjgKKzoxMDBBNzAwMDI3NDk3M0NGRjkzQ0Y0N0NFNzk4MDRFOTJFN0YzOUUzRUEKKzoxMDBBODAwMDRGNDY1M0MwNjAxM0E0QjlFNTNDMDNERThGOUNGMzAwQ0UKKzoxMDBBOTAwMDlDNkZDRjNFODVGOUEzMzYwMjFFNjAzODkyM0U2MzFBRTIKKzoxMDBBQTAwMDEwOUZDRjE4MTA5MkJDRDBBNDBDRENDMDBGOUM5NzM0QzAKKzoxMDBBQjAwMDYyQjZFN0YzRjNBNUNGMTg0MjM0MUNDMkNBRkE4RTY4QjcKKzoxMDBBQzAwMDUyMDZBRjNDQTMwREJGOUU1MEUxRDE3M0NBRTAzQUZDODEKKzoxMDBBRDAwMEMxMDkxQTFFNkE1QzVCOEU2MzRFNzc3M0NDNjE2N0RENTkKKzoxMDBBRTAwMEU2NkM0OEQxRjMxQjI0Njk1MTA4RDQ0MjFCRjQ2N0QxNEEKKzoxMDBBRjAwMDgwNEUyRkQwOENEODMwMDlDMjFFODAxQzQ2MDEzQTQ3NDgKKzoxMDBCMDAwMEQwMzFBMTA2MDEzQTdGNDYzMDIxMTgwNEU5NUU4NDI5REMKKzoxMDBCMTAwMDAwQzAyN0NERDAwMDdDOTgwNEY5MkU4NDYyOEMwMjdEMjEKKzoxMDBCMjAwMEJBM0U3RTRDMDI3RDJFOEM2MTA4MzAwOUY0MUQwMTY1QjEKKzoxMDBCMzAwMDczMDA5RjUxRDA4NTIwMTgwNEZBQkQxOTQ2MThDMDI3QUMKKzoxMDBCNDAwMERGRDE5NDM4NEMwMjdEMTc0NjU3MDEzMDA5RjVGQTAxODAKKzoxMDBCNTAwMDA5MDYwMTNFODdBMTRCODhDMDI3REM3NDBEMzlEMzAwRkMKKzoxMDBCNjAwMDlGNzNEMDMwQjM5ODA0RkJCRDA2QzQ4MzAwOUY0N0QwNjkKKzoxMDBCNzAwMDM2NDhDQzAyNzFCRjNGOUExN0U2M0YwODIxRTY5MkE0OUYKKzoxMDBCODAwMDhGOUExMDMxQTdGMzEwQjE4NEFGM0FBQ0RDRjc3M0YyNEYKKzoxMDBCOTAwMDVDQzYyQURCOUU3RTdFOTczMTA4NjNEMDczN0I0M0E4QjgKKzoxMDBCQTAwMEU2M0QzNEVBRjNFMzE1QkY5RjE4NUY0NUNGRTg5RjVGNEEKKzoxMDBCQjAwMDlBNUIwM0QwRjNEM0NFMzcxQ0QwMEZCQjlFNjg3ODNCMzMKKzoxMDBCQzAwMEJDQ0EzMUU4RjlBMjAyMTJBMjczNTEwODZGRDFGMzQ2RjAKKzoxMDBCRDAwMDAxMzhCRjQwRkMyMzAwOUMyMUU4NDk1MTgwNEU5MUY0MkMKKzoxMDBCRTAwMDIxMDMxOTgwNEU5RkQwMjE2MzA2MDEzQTU2OEMwMjc0NkUKKzoxMDBCRjAwMEZFNzU0OTVFNjNEMzRBNTQ0MjM1MTNBN0QxODA0RTk1QTIKKzoxMDBDMDAwMEU4MUU5QTRDMDI3Q0REMUJCOUU2MDEzRTRCQTA2MkEzQjQKKzoxMDBDMTAwMDAwOUY2RThDRkNGMzAwOUY0QkEwNDIxOENDMDI3RDA3MTYKKzoxMDBDMjAwMDQzREExMzAwOUY1MUQwM0QzNDk4MDRGQUJEMUM2MjhDMDYKKzoxMDBDMzAwMDAyN0RGRDFDNjE3MzAwOUY0NUQxRjQ0RTYwMTNFQkY0RkYKKzoxMDBDNDAwMDI1QjAzMzAwOUY0M0QxQTc5QzE4MDRGQjhFODQwM0U5OTEKKzoxMDBDNTAwMDgwNEZCOUU4NDNDMTMwMDlGNzdBMEEzMTk4MDRGQTNFNjcKKzoxMDBDNjAwMDg0NDA0MTgwNEU4MkU3NDE4NzA5MjMwNDIzMDA5RDA1OEIKKzoxMDBDNzAwMENFOTYxQzI0OEMxMDhDMDI3NDE3M0EwNDM4NDkxODIxMjMKKzoxMDBDODAwMDE4MDRFODJFNzQ1MEUxMjQ2MDg0NjAxM0EwQjlENDExRDQKKzoxMDBDOTAwMEMyNDhDMTA4QzAyNzQxNzNBODIzODQ5MTgyMTE4MDRFQTUKKzoxMDBDQTAwMDgyRTc1MjhFMTI0NjA4NDYwMTNBMEI5RDQwMUMyNDhDNjYKKzoxMDBDQjAwMDEwOEMwMjc0MTczQTA5MEUxMjQ2MDg0NjAxM0EwQjk4MzYKKzoxMDBDQzAwMDZBMUMyNEIwRTExODA0RTgyRTZCNTBFMTI1ODcwOEMwQTcKKzoxMDBDRDAwMDI3NDE3MzA1NDM4NDk2MUMyMzAwOUQwNUNDQUExQzI0NDAKKzoxMDBDRTAwMEIwRTExODA0RTgyRTcwNjg3MDkyQzM4NDYwMTNFNTQ0ODQKKzoxMDBDRjAwMEY5NDA5RDA1Q0U1QTFDMjRCMEUxMTgwNEY5RDEzRTcwOEMKKzoxMDBEMDAwMDI3Q0YxM0U1NDQyQ0EwNDJDQjg5RjIyMTNBMEI5QzBBNTEKKzoxMDBEMTAwMDFDMjRCMEUxMTgwNEY5RDEwQjM4MTBCM0M0MjEzOTM2QzIKKzoxMDBEMjAwMDVDNDJDODg0MkI3OUQwNjFDMjc0MTUyNEJBRDMzMUU1RjIKKzoxMDBEMzAwMDU5MDgyOTA4RTA2NjYzNDI5NTEyODEwMDI5MEJDMTUxQzgKKzoxMDBENDAwMDI0QjgxOTk5OTAyMjkwQjQxOEEwOTE0MTAxNDE0MTQxRDEKKzoxMDBENTAwMDUyODNDQTQwMjg2ODI5MDhCQTE2MTA5Qzk5MEI1Njk0RTkKKzoxMDBENjAwMDkwNTIxNTc0QzAyNzFBMkFEMjkwMjVEMzAwOUQyOEFCMjMKKzoxMDBENzAwMDRBNDIxNzRDMDI3MEQ0ODQyRTk4MDRFMTJBNDIxNzRDNDAKKzoxMDBEODAwMDAyNzA4MjkwNEJBNjAxMzg1MTQ4NDJFOTgwNEUxNUE0NkEKKzoxMDBEOTAwMDIxNzRDMDI3MEZBNDEyRTk4MDRFODJBQzgwQUNBMEFDQjUKKzoxMDBEQTAwMEE5NTlFNTY0NDU2NUNBQzg0QUNFMEFDRTRBQ0U5NTkxOEUKKzoxMDBEQjAwMDk1OTQ5NTkzMjkyNUMwQ0NDQzg4QTQ5NzU2MzY2NDcyMTcKKzoxMDBEQzAwMDkwNTQ4QTlDNDUwOEI5Qjc2NjEyOTMwOUM5QjI3NDhFQ0IKKzoxMDBERDAwMEJBNjAxM0U1MzQ4RUJBNjAxM0U0NzQ4RUJBNjAxM0U1MUEKKzoxMDBERTAwMDY5MUQ3NEMwMjdDQTI5MUQ3NEMwMjdDRUQyMjVEMzAwMUYKKzoxMDBERjAwMDlGMzhBNDRCQTYwMTNFNUU5MTJFOTgwNEY5MTUyMjVEMDIKKzoxMDBFMDAwMDMwMDlGM0U5MTJFOTgwNEY5MDUyMjVEMzAwOURDNTQ4N0YKKzoxMDBFMTAwMDI1RDMwMDlDNDVDRUNEMDlDOUIyMUE0NEJBNjAxM0U3NjgKKzoxMDBFMjAwMDM0ODk3NEMwMjcxQzI3Qjc5QzgwQzJENzc2NTk5QjkzRkUKKzoxMDBFMzAwMDBDNjRDMzFEMUJGNDQ1NEJDN0M2M0EzN0U4ODE0QkM3NEEKKzoxMDBFNDAwMEM2M0EzN0U4OTE0QkM3QzYzMjYxOEVCM0JDQzM0QTIyNUIKKzoxMDBFNTAwMEU2QjUyNDk3NzFDOTg3QjQzMUFFNzNBMkNGMzlEMjVEOUMKKzoxMDBFNjAwMDA0NDQ0MkMwRDZERTcxMDYxNkJCREJDRTgzMEM2NEMzREQKKzoxMDBFNzAwMDFEMzExMzA0Rjk5NTREMTMzMjkzNjM1RTY2MTRDQzI5MkEKKzoxMDBFODAwMDJBNTMzMEE2NjE0Q0MyOTk4NTNBNzJDQ0MyOTk4NTA2MjQKKzoxMDBFOTAwMDFCQjMwQTY2MTQxNDI0OTk4NTMzMEEwOEIxODY2MTRDODEKKzoxMDBFQTAwMEMyODQyMTY4NzMzQjMwQTY2MTQxNEVBNTk4NTMzMEFDOTMKKzoxMDBFQjAwMDU5NzY2MTRDQzJCMDhERDY2MTRDQzJCMDJDRjY2MTRDRjMKKzoxMDBFQzAwMEMyQjE4Q0E1OTg1MzMwQUMwRjI0Q0MyOTk4NTYwRjI4NkEKKzoxMDBFRDAwMDY2MTU5MjFBMTk4NTMzMEFDQTg1MENDMjk5ODU2NUMzQUQKKzoxMDBFRTAwMEQ5ODUzMzBBQ0U3MDg2NjE0Q0MyQjM5NzcxMEM5OTNCOTkKKzoxMDBFRjAwMENDODM1ODBCRUE3NzlEMDY0QUJFMDQ3NDYwRTBEMTRFNUQKKzoxMDBGMDAwMDM4NEMzRUVFM0VFRTNFRUUzRUVFMzBCQkNBRTExRjc3ODEKKzoxMDBGMTAwMDFGNzcxRjc3MUY3NzI3NzA4RkJCODAwRTExRjc3MUY3MzAKKzoxMDBGMjAwMDdDNkYzQ0IzMzYwMkZCOERFNjU1NzA3RjJEMjQ2OTU1RUUKKzoxMDBGMzAwMDRGNThBOTIzMUY1NEY3OEE5NTI1MkI3NTBDQ0NBQzU2MTYKKzoxMDBGNDAwMDUxQ0M1MUU0NDVDRUEyMTIzOUMwQTBBRjU2NkE0OTdGQjgKKzoxMDBGNTAwMDAyOEMwOUY4MEJFQkFGNTY3NjY3NTJCMjhFNjlBNzExNzcKKzoxMDBGNjAwMDczQThCMUJDQ0FBMEE5MzY1MDJDOThFNzBBRjU2NkE0QUMKKzoxMDBGNzAwMDk3RTI1QTMwMjdCQUY3ODM0RUE1MzMwQTY2MTU4REU2RjUKKzoxMDBGODAwMDU1MzlEMkE3QUM1NDYwMTY3MDFCNzI4RTYyOEYyMjJFMTgKKzoxMDBGOTAwMDc1MTYwMkZCOERFNjBBOTUzRDYyQTMwMEI3MDFCNTUzQjUKKzoxMDBGQTAwMERFMkE1NDk0QURENDMzMzJCMTU5NDczMTQ3OTExNzNBQzAKKzoxMDBGQjAwMDg4NDhFNzAyQjAxN0RDNjc5RDRCOERFNzUyQUE3QkQ0QzcKKzoxMDBGQzAwMEFBOTJCREQ2OTlCQzU2MDJGQjhDRjM2NjY2QzZGMzY2NDAKKzoxMDBGRDAwMDY2NjI5OTJBRjgxODY4NzBCMDhBMEQ1NTU1NTU1NTUyQjEKKzoxMDBGRTAwMDMyRTE0MDVDMzgwQkVBOUI4NzAxN0RDMDVGNzAxN0RDMDMKKzoxMDBGRjAwMDA1RjVEQzlCMDE3RDYxNEQ4MEJFQTc3OTgyQTIxRjUwNjMKKzoxMDEwMDAwMDE1MkE4RjhCMUNFNUE1MTM4NDU4RTcwMjkxNTQwNTAyMUQKKzoxMDEwMTAwMDRCQkQyMjFBOTQ3RjlDMUFDMDVGNDIxQTIxRDE4MDU5N0QKKzoxMDEwMjAwMEMwNkQxQzJDMEE4MzU1NTU1NTU1NTU1NTU1NTU1NTU1NkMKKzoxMDEwMzAwMDU1NTQxQ0I4NUM2RTE3OUMyRjM4NUU3MEU3Qjg1RTcwMTQKKzoxMDEwNDAwMEJDRTE3OUMyRjM4NUU3MEJDRTE3OUMyOTlDMjk5QzI5MkEKKzoxMDEwNTAwMDlDMjMwRjU4MTRFRTM1NzcyNjIxOTMwNUM5QjAxN0QyN0IKKzoxMDEwNjAwMDFEMTg4QTIxOTMwNUM5QjAxN0QxODdBQzBBNzQwRkFFMzkKKzoxMDEwNzAwMEY1NUE4MkEzRTQzQTMxMTRCQkQ3NTk5OTc0QTIxOTMwQjYKKzoxMDEwODAwMDVDOUIwMTdEMTg3QUMwQTc0MEY4NDNENDYzODkyNUQwQzIKKzoxMDEwOTAwMDEwRDYxQzZBMTBGNTU1ODkyNUQxNTE2NjFGNTFGNTkxNUUKKzoxMDEwQTAwMDQ5MkU4OTE1OTg2QUEzRTA4QTk0NjU2NDBFMTMxNzM4NEYKKzoxMDEwQjAwMEE4ODY0QzE3MjZDMDVGNDYxRUIwMjg2MzFGMDg3QThDOEUKKzoxMDEwQzAwMDcxMjRCQTAyMUFEMDBENDIxRUFBQjEyNEJBMkEyRDMxQjcKKzoxMDEwRDAwMEY1MUY1ODc0OTJFODg3NUE2MzUyREVGNDUxNjk0QTNFMEMKKzoxMDEwRTAwMDA5Njk0NjUwRjBFMTMxNzMwNTQ1QkQ1OThEOEI0QTdDNDUKKzoxMDEwRjAwMEQzRUQzOEU5RDM0RTc0RUQ0NDMyNjBCOTM2MDJGQTVCNzEKKzoxMDExMDAwMERFOEEyRDI5RDBFMTIxRjVBMzkyMjFGMjE5MzA1QzlCRDIKKzoxMDExMTAwMDAxN0QyMUY1QTBDNjAxNjcwMUI0NDVDRUE1MTIzOUQ0RTEKKzoxMDExMjAwMDFDMDVGNDQwQTFDMkMzNTA2QUFBQUFBQUFBQUFBQUFBRTQKKzoxMDExMzAwMEFBQUFBQUFBQUFBQTgxQUY4NjlGMTkxQkU3ODFGMzY1NkEKKzoxMDExNDAwMEYyODBCRTcwMTdERkRGMzgwQkVCMERDMzgwQkVBNzBGMzgKKzoxMDExNTAwMDk1NEY1QTk0QzAyQ0Q4QjFBN0NFNUExMTczQTgzQUMyNTEKKzoxMDExNjAwMENDQjYzMDE3REM2RjM1QTk4MDREQTdDRTJBMTg3OUM1Q0IKKzoxMDExNzAwMDQ5REU2MUE4MjJFNzUwMzNGOTk4NjQwOEI5OTU0MkZDMkEKKzoxMDExODAwMENDRDk5NTNENjJBMjQ4RDQ0OEU3MDI4OEI5QzFBMEUzMTIKKzoxMDExOTAwMDlENEU2MkU2Q0NDNjZCQ0U4MzEwQzk4MkU0REFDMkM4MkIKKzoxMDExQTAwMDFFQzNCOTM2MDJGQUE5RUI0RTMwMzBGQTBERjBBOUVCQTYKKzoxMDExQjAwMDQwQjkwRkFBN0FEMkMyQzhGQUE3QUQ0MTBBNDdENTNEQjUKKzoxMDExQzAwMDY4QUNGMUY1NEY1QTk3NTQ3RDRGQThBQTU1MUYxMTczN0IKKzoxMDExRDAwMDVBQjAxN0RFNUQ1OUE5MjVEMDU1MkE0NkJDQjgyMkFFQjMKKzoxMDExRTAwMDQ1MjkzRTE0RkFFMTk5OTRDQTRBQkUzREQ2OTk5MjVEQ0EKKzoxMDExRjAwMDE1MTdDOEQ3REMxNTE3OEE0MDFGMEE5RUFDQzk2NTQ5NjgKKzoxMDEyMDAwMDVDMUQxMDY4NEEzRTVCREU4MzE2OTU4MEJFOTE3NDU4NjMKKzoxMDEyMTAwMEE0MDA3QzM4RTc1NjMwMTdERjc1QTY2NDk3NDUyMDlERkIKKzoxMDEyMjAwMDAzNUY3MDU0NUUyOTFERjBBOUVBQ0M4NjU0OTVDMUQxQTQKKzoxMDEyMzAwMDA2ODMwRkFBN0JEMDY1NDk0NUJERTk2MkQyOTFERjA0RTAKKzoxMDEyNDAwMDVEMTYyOTFDN0Q0RkFDMUE0NzFBQTlGNTY3NjY1MzI4MEQKKzoxMDEyNTAwMEI3QkQyQzVBNTIzQkUzREQ1OUE5MjVEMUE4QUMwODZCODgKKzoxMDEyNjAwMEVFMDhBQkM1MjAyRjg1NEY1NjY2NzU0OTVDMUMxODFEQ0UKKzoxMDEyNzAwMDgxQzI2NDA1RjA4MEJFMzU1Q0QwMTdDMjU1RjA5NTdDMDQKKzoxMDEyODAwMDI1NUYwODBCRTEwMTdDN0JBQjM1MjRCQTEwNTU5MzFBMUUKKzoxMDEyOTAwMEZCODIyQUYxNDhEN0MyQTdBQjMxQjJBNEFDNjM5RDRBMDYKKzoxMDEyQTAwMDhEN0M3QkFCMzUyNEJBMTA1NDMwOEQ3REMxMTU3OEFDNjQKKzoxMDEyQjAwMDZGNUE5NDYwMUFFMzc5RDRBQTRGODU0RjU2NjZENTQ5ODAKKzoxMDEyQzAwMDU4QzczQTk1NDlGMDQ1RDE2Mjk0ODZCQzFEMTNEMjkwMTcKKzoxMDEyRDAwMEZGQ0Y3QTgzRjI1MDMxREUwMDYwNjBBMTE3MzVBODVGM0UKKzoxMDEyRTAwMDlCMUIzNzA3NDQxQTMwMEIzODBEQkMxQ0UwRDA0N0NFOEYKKzoxMDEyRjAwMEEwQUE3QUExOTg2QTkyOTUzRDY4MzE4MDVCODBEQUE5QUMKKzoxMDEzMDAwMEVGNDE5NTI1MTZGN0E1OEI0QUM2NzlCMzMzNjAyRkFBMEUKKzoxMDEzMTAwMDlFQjE1MTgwNTk5RUNBQTdBQzBBMzAwQjY3QjJBREQ1QjkKKzoxMDEzMjAwMERBOTI1RDE3QTMwMEIzMkQ5NTZFMDhBOTU4QTExNzNBNUMKKzoxMDEzMzAwMDhCMDE3RDU0Rjc4RTk1MjUwODFDRTA1NjAyRkJDMUQxMjgKKzoxMDEzNDAwMDE1MTgwNTkyNkIzQzFEMTIyOEMwMkNBNTZDMTE3MDE3NDYKKzoxMDEzNTAwMEIyMzg0RDgwQkVFMDJGQjRFQzRBRURCMzlFMDJGQjgwNjQKKzoxMDEzNjAwMEJFRTAyRkIxMzk5MzNFNkRFNzEwNjA5RjMyQTlBMjZDQTkKKzoxMDEzNzAwMDA1RjQ0MEU2MEE5NTNENkEyMzAwQjM4MERBQTdENjJBMzEKKzoxMDEzODAwMDAzMEQ3MDE3RDIyRTc2Mjk0RkJDNTRBNjUxNkY3QTU4OTAKKzoxMDEzOTAwMEI0QUMwNUY0OEJBMkY0MEUzNTBENDkyRUI0Q0MxOEE1Q0YKKzoxMDEzQTAwMEM4Rjg0QTk3MjNFMTA1MkU0N0MyOEE1QzhGODU2OTcyODcKKzoxMDEzQjAwMDNFMUY0QUMzNTUxRjU2NDMzMjhDQTM1RTYwQTg0NUNFREMKKzoxMDEzQzAwMDBENjAyRkEzODQ5REQ4RjAxN0QyMkUwRTFCMjM4NEQ4MzYKKzoxMDEzRDAwMDBCRUI4OUYzODBCRUUwMkZCQjM5ODVERjIyMDNFNzAxRTkKKzoxMDEzRTAwMDdEQzA1RjcwMTdEMTE3MzgxNDVCRDZBMjc0MEQ0QjdBOEQKKzoxMDEzRjAwMEIzMzE5Njk0NkJDQzM1MjNENzQ5NDgxNTczMjkwRjVEQ0IKKzoxMDE0MDAwMDhBQzA1RjRENzk4NDM1ODBCRTg4MUNDMzUyOUY1OTY4NUQKKzoxMDE0MTAwMEMwMkNFMDM2QUE3QkNENEE5MkJFRjM4MTRBN0Q1QjU5NEYKKzoxMDE0MjAwMDk0Q0ExQzI0RUVDNzgwQkU4ODFDQzM1MjlGNTk2OEMwNTIKKzoxMDE0MzAwMDJDRTAzNkFBN0JDRDRBOTJCRUYzODE0Mzg0OUM3QjM4NTQKKzoxMDE0NDAwMDBCRUJBRjcwRDRFQTUzMDA5QjRGOUM1NDMwRjM4QTk0NUIKKzoxMDE0NTAwMEZBQjZCMzI5OTQyMkU2MUE4NUY5QjA1OTkzRjlEMkM0QTEKKzoxMDE0NjAwMDMyNjBCOTM2QjBCMzkwRDk3NzI2MUMyNzIyRTg5NkI0RkIKKzoxMDE0NzAwMDIzRUE5RUI1MTE4MDU5NjU4NjIwNzM5NjhENzlBRDU4MDMKKzoxMDE0ODAwMDBCRTkxNzQ0OEE0QTA3RDc3QTgyQTE5MEZBRUYwMTU0RjAKKzoxMDE0OTAwMEJBNTBENDU5MUUyQ0U5RjM4QTk5ODU2QjBCMjMxNTk3MDIKKzoxMDE0QTAwMDcyNjExNzMwRDQyQzczODc0OEFBMDI4MTI1REU5MTBEMTIKKzoxMDE0QjAwMDRBQzA1RjdFRDI4MEE1M0VCMkQwQzg2QjgwQkU4ODFDNzkKKzoxMDE0QzAwMEVBMDkxNzQ0MUEzNzFBOTE3NDU4QTM3MUFGMDc0NDU0QTQKKzoxMDE0RDAwMDZFMzVFMEU4QUE2NDBGOTBGQUQwNjMwMEIzODBEQTJDOEUKKzoxMDE0RTAwMDczODc0OEFBMDI4MTI1REU5MTBENEFDMDVGNDhCQTI3NUEKKzoxMDE0RjAwMEEzMDBCNzAxQjc0RjlDQjQ2QkNDMzUxNkY1NjY2MzJEQ0UKKzoxMDE1MDAwMDI5MUVCQTRBNDBBQjk5NDg3QUVDNTA4QjlDMDgyMkZDQzEKKzoxMDE1MTAwMEY5QjI1NTNENjJBOTIzNTEyMzlDMEEzQzczMEQ0NDVDRUEKKzoxMDE1MjAwMEUxNTA3MUNFQTExRkU3MTU2QjBCMjVFRDBCOTM2MDJGREEKKzoxMDE1MzAwMEFBOUVBQzM2NjU0OTVGN0EyMDUwMDg3RkVGMzkxNDQ5N0UKKzoxMDE1NDAwMDAxMTE4MTA0NjA0MENDNTlDMEFEMjNFQjQxQjA4MUYyNjAKKzoxMDE1NTAwMDNBNDFBQTUwNDNFNEQ0ODY1NEEwODdDMTUyQ0E5MzAxQTkKKzoxMDE1NjAwMDMyNTQ5RDI0MDIwMDAwNTJBRjE2NDZBNzkxNjcwOEI0N0EKKzoxMDE1NzAwMDA0NTFGMTY1MTlCNDZFMkRDMEFENDkwMDkyNTcxQjc0MkEKKzoxMDE1ODAwMDQ1NUYyMzUxQjc0NDBBMTAwNkEzNkU4QjZCMDgxRjE5RTEKKzoxMDE1OTAwMEQxRTY4MDgyODA1NDA0MkE0NTkxQTlFNDU5QzIyRDAxRTQKKzoxMDE1QTAwMDE0MDQ1MEQzRkM1NTg0NjFEOTgwNTEyRkUyMUY0NjVGNEIKKzoxMDE1QjAwMDQwRTAyMDE1NEFCQzU5MUE5RTQ1OUMyMkQwMTE0OENCQzgKKzoxMDE1QzAwMEU4MTQwODAxNTQxNUUyQzhENEYyMkNFMTE2ODA4QTQ2Q0EKKzoxMDE1RDAwMDVGNTI3Q0Q5QThGODg4RDA1QTNDRDI1QzVCODBEQUE3RUQKKzoxMDE1RTAwMEQ2NUEwODg2QTQ1RDE3QTBDMzUyMkU4OEE4MjIxRjUzN0UKKzoxMDE1RjAwMEVBREFDQ0E2NTBFMTI3NzYzQzA1RjU0RkFCNkIzMjk5ODEKKzoxMDE2MDAwMDQzODQ5QzdCMzgwQkU5MjdBQ0Q0OTJFMDBFREEzODRENEEKKzoxMDE2MTAwMDgwQkVFNjdENTBCQTUxQUU2NkVGQkNEQzdCODcxRTAyMTEKKzoxMDE2MjAwMEZBOTNFNkNENDdDNDQzQ0QwRjM0OURBMzAwQjA1NTAxRDYKKzoxMDE2MzAwMEFFMDM4NDA0Q0UwMUQwRTE3MDAyODAwRTg5RTkyMjFGM0UKKzoxMDE2NDAwMEUwRTg5NkIwMTFGNEMyQ0UwMzZBNDQyREMwNkQ0ODA1OUYKKzoxMDE2NTAwMEI4MERBMzAwQjc3NkQ1REVCMTUwREM3RDc3QkM1NEJBQTcKKzoxMDE2NjAwMDUyN0Y1ODE0MzQwRjlBRjM4MTU4MEJFQUVGNTgxNDYwRTQKKzoxMDE2NzAwMDE2QTU2QzJFRjc4MTRCQTU2RjdENURFRUI1MkU5NTgwN0UKKzoxMDE2ODAwMEJFRjA3M0JEMDQ3Q0VBRkVFQjRDREUyOTUzREQ2QTU0RTgKKzoxMDE2OTAwMDk0QTlFQTBBOEMwMkQ2NEMzQzA1RjQwMEVBQ0Q1NkFGNzgKKzoxMDE2QTAwMEMwNDdEMjlDOEQyOUNBRTAyRkFFQkQ3NTk5OUQ0QUY5REQKKzoxMDE2QjAwMEVGNTE3Qzk0MEM3NzgwMTgxODI5MkFGOEUwRThBQTMwQkEKKzoxMDE2QzAwMDBCMkE5ODdDMUQxMTUxODA1OTU0QzM1MUY1MUIzMzI0QUEKKzoxMDE2RDAwMEJCODJBNTE5NUMxRDEwMjhDMDJDOUFDN0MxRDEyMjhDRDEKKzoxMDE2RTAwMDAyQzk5NDY0NUMwQ0Q2OEUxMzYwMkZCODBCRUEzMEUzMDkKKzoxMDE2RjAwMEMwNUY0OERDNzgwQkU4MDBFM0MwNUY2QzM4RDUyRTM1NUUKKzoxMDE3MDAwMDRGNUE4QTYxQUE5RjU2MUIzMjk5NDY0MkM4MDEwQzQ1MUUKKzoxMDE3MTAwMENFQTUxN0U2QzZDRUE5RUIxNTE2NDZBMjQ3MzgxNDQzNDgKKzoxMDE3MjAwMDI2MjJFNzNENjAyRkFBOUVCNTEyRTA3RjAxN0RFM0U3MDgKKzoxMDE3MzAwMDAyOTNGOTk1NDQ1Q0U1QTBFMzlENEE3RjlDNTRBOUVCOTQKKzoxMDE3NDAwMDUxMDU0NkI5RkNDMDFCMjIyRTY0NTQyRkNENDZDQ0E3QjAKKzoxMDE3NTAwMEQ1ODZDQ0E2NTA1NUM2NDVDRTVBMEUzOUQ0QTdGOUM1NjQKKzoxMDE3NjAwMDRBOUVCNTExODA1OUMwNkRDRkU2MDBEOTExNzMyMkExRjAKKzoxMDE3NzAwMDdFNkEzNjY1M0VBQzM2NjUzMkIwMTdERDNFNzJEMjc5OTAKKzoxMDE3ODAwMDMxMEM5ODJFNEMyMDczMkE4RkYzOEFBREU3NDE4MjdDNkUKKzoxMDE3OTAwMENBQTY4OUI1ODU5RkIwRjAxN0Q1MUY1NDU0MjUxQUE4M0QKKzoxMDE3QTAwMEZGMkE5NDY1MTFENzQ5NDRENUNDQTA1NUQ4QUUwRTg4RjAKKzoxMDE3QjAwMDE0NjAxNjRENjMyMkUwNzI4NjM4NEQ4MEJFRTAyRkI4NkIKKzoxMDE3QzAwMDBCRUUwMkZCODEzOEYwMTdEN0Q3MUUwMkZBRkFFM0MwRkUKKzoxMDE3RDAwMDVGNEM4NTkwMDIxOEM4NUI4MERBMzAwQjcwMUI0QzIyN0UKKzoxMDE3RTAwMEQzNEMzMzAzOEMyRTRDNDMyNkQwRjU2MzY2RDA5NUE3OUIKKzoxMDE3RjAwMENFNDUzMzBBRDYxNjQyMzg2RUU0Q0VCRDU5MkNEMkFCNTQKKzoxMDE4MDAwMEJBOTQ5REU2MUFCMDE3RDU0RjVBOEIwOTFBODhCOUM1RjQKKzoxMDE4MTAwMDQyNDczMEQ0MzIxNjcyODg2NUJENTk5OTI1QTU2MDJGOEMKKzoxMDE4MjAwMEI4NjBGMzA4Qjc0QTFBOEZBQjBEOTk0NjUxQUYzOEE4ODQKKzoxMDE4MzAwMDhFOTA2NTEzNTIxOEEwNTRCMTQyMkU2MUE4NDhFNzJEMkUKKzoxMDE4NDAwMDE2RjdBODA1QTU2MDJGQTQ3NUQyNTEzNTczMjgxNTc2MTMKKzoxMDE4NTAwMDJCODNBMjA1MTgwNTkzNThDOEI4MDYyODYzODREODBCQjMKKzoxMDE4NjAwMEVFMDJGQjgwQkVFMDJGQTA0M0E3MDE3RDRDRTNDMDVGRUEKKzoxMDE4NzAwMDcwMTdEQzA1RjQ2NDJEQzA2RDE4MDVCODBEQTVCRDZBQTAKKzoxMDE4ODAwMDIzODZBQTlFQjUxMUE0NkFBM0VBOEE4RDIzRTExNzM4OUMKKzoxMDE4OTAwMDM0Njk3MTk4NDVBNjk4NkEzRUFDMzY2NTE5NDZCQ0UyMzMKKzoxMDE4QTAwMEEyM0E0MTk0NEQ0ODYyODE1MkM1MTZGN0E4OEI0QTU0MUEKKzoxMDE4QjAwMEY1QTg4QzAyREMwNkQxMDM5Q0I0QTlFRTBBOTUyNTJBNzIKKzoxMDE4QzAwMDdBQUQ0NjAxNjcwMUI1RDdBQzBBMzAwQjZDNDkzNUU2RjUKKzoxMDE4RDAwMEI1NjdGMzAwNkM4OEI5OTE1MEJGMzExQjMyQTdCODY4NjcKKzoxMDE4RTAwMDk1MjU3QkFEMzM3OEE3Q0QzRUQzOEU5RDM0RTc0RUQ0N0UKKzoxMDE4RjAwMDIyRTcwNjg0OEU2MEE4RkYzOEFCODM5QzJBMDhGOUQ0QkYKKzoxMDE5MDAwMDIwNjNCQzFBMDYwQUMwNUY0NjQyREMwNkQxODA1QjgwQjkKKzoxMDE5MTAwMERBMjJFNjFBODQ4RTcyRDE2RjVBODA4NzFBQUE3QUQ0OTQKKzoxMDE5MjAwMDQ4QzhENTQ3RDUxNTIzMjNFMTE3MzgzNDhDQkE0QjdCRUIKKzoxMDE5MzAwMEQ0MDJEMjhDMjJEQzA2RDUxRjU2MUIzMjhDQTM1RTcxREEKKzoxMDE5NDAwMDUxMUQyMENBMjZBNDMxNDBBOTYyQjAxN0RGOUVGNEI3MEEKKzoxMDE5NTAwMEM5NDBDNzc4MDE4MTgyQjgzODM5NDkxQzI2QzA1RjcwRjgKKzoxMDE5NjAwMDE3RDRBQkUxMkFGODRBQkUxMkFGOEY5NzRGQ0JBNzAxMkQKKzoxMDE5NzAwMDdEREE4MEFBOTE2NDdGNEE4MUQ1MjJDOEZFODI4MDI1QzMKKzoxMDE5ODAwMDQ4QjIzRUJCREMzNTJFOTQwN0U4OEE5QzAzRTI0QkE1QTcKKzoxMDE5OTAwMDc3QUJCMzMyRTk0QkJENTk4Njg0OTc3QTA0QkE1M0UxRTkKKzoxMDE5QTAwMDMyRUY1MEQ0RTYzNTUzRUIwMjlDQzdENzdBQjMzMEQyMkUKKzoxMDE5QjAwMDVERUEwMkU5NDQ1RDE2MjhDMDJDRTAzNjkxNzQ0NTU5NzEKKzoxMDE5QzAwMDE4RDU0RkFDMEFDNDM1MzA4QjM4NjkyQkJENTk5ODY5OEUKKzoxMDE5RDAwMDJFRjUxMkU5NTg2NzRBRUY1MEQ1OEUzRTFDQTRCMENFQzIKKzoxMDE5RTAwMDkzMjE2RTFBNDgxRkEyMkFDMzBENTc3QUIzMEQwOTJFRjAKKzoxMDE5RjAwMEY0NDM1RDI4OEI4MzIwOTIzODREODBCRUUwMkZBQzE3RDYKKzoxMDFBMDAwMDQ5QjNBNTgyRTkzRUU5MzY3NEUwMkZBNkNFOUMwNUY0RTEKKzoxMDFBMTAwMEMyMkM4QzUyNTc3QUQ0OEQ0OEZBRUY1MEQ1QUUzNTUzM0MKKzoxMDFBMjAwMEVCMDI4NjIxQUFFRjU2NjYxQTRCQkQ0NEJBNTBDNEU5QjAKKzoxMDFBMzAwMDUzRUIwMjg2ODFGNURFQTFBODYyMUY1REZFQTI1RDI5M0YKKzoxMDFBNDAwMDc3QTg2QTYxOEQ0MEZEMTE1MzBDNkFBN0Q2MDUzMEM3OEYKKzoxMDFBNTAwMEQ3N0ZBOTU3NEE1REVCNDgxQjBDN0M4QjlEOEE1M0VGQkYKKzoxMDFBNjAwMDY2OTRDQTU0RjVBMEM2MDE2RTAzNkE5RjU2NzY2NTMyMjUKKzoxMDFBNzAwMDhCN0JEMkM1QTU2MDJGQUE3RDY1QTMwMEI3MDFCNEM4MzIKKzoxMDFBODAwMDVBMDc4RkVEMDFENTI3OTE2NzAxQjQ4QjlDNTQxQzczQzUKKzoxMDFBOTAwMEE4ODQ1Q0MxNTBCRjM2NTY2MEFCOEM4QjlDNTQxQzczQzEKKzoxMDFBQTAwMEE4ODQ1Q0MxNTBCRjM2NTY2QzA1RjU1M0Q2QTIzMDBCRTYKKzoxMDFBQjAwMDI5NUIxOUZDRjY5NDQ1Q0YxNTBCRjMzQ0IzMkE3QUM1ODQKKzoxMDFBQzAwMDQ2MDE2NDhBMzEyMzlDMEE1REVBMzQzMzJFOTVDN0NFRTEKKzoxMDFBRDAwMDJBNEZFNjUwMjBCOTMxMEM5QkVGMzkxNDQ1Q0U0NTA3MEIKKzoxMDFBRTAwMDFDRUE0Njg3QUIxQjM2ODRBNzVFQUM5NjY3NTJCMDE3REMKKzoxMDFBRjAwMERDRkU3QjRBMjJFNzhBODVGOTlFNTk5NzdBOEQwQ0NCQ0EKKzoxMDFCMDAwMEE1MjdGM0EwNDQzMjYwQjkzN0RFNzIyODhCOUM4QTBFNzkKKzoxMDFCMTAwMDM5RDQ4QzA1RjdFN0I4MkFGOTI4MThFRjAwMzAzMDU3ODgKKzoxMDFCMjAwMDA3NDQwQTUwOEZGMDczOTE0MTFGM0E5MDQ1QzBCQjE4OEIKKzoxMDFCMzAwMEUxMzYwMkZCRkI5RTAyRkFFRUU3RjVDRjAxN0QxMDVDNzkKKzoxMDFCNDAwMEYwMTdEMTA1Q0YwMTdENTNFQjJEMTgwNUI4MERBNjQyMzYKKzoxMDFCNTAwMERDMDZEMzE3MzVBODhCOUMwQTBFMzlENDBDRkU3QjRBQzEKKzoxMDFCNjAwMDIyRTY1NTBCRjMzMUIzNjAyRkJDN0NFMkE0RkU2NTUxMzUKKzoxMDFCNzAwMDE3MzgxNDFDNzNBODE5RkNGNjk0NDVDQ0FBMTdFNjYzMTEKKzoxMDFCODAwMDY2MEFCOENDODVBMTU4RjZBMjM1NDg0ODdGNEE4OTk1OUYKKzoxMDFCOTAwMDIxMjFGRDA1MDI1NDlFNDU5MTBFM0MwNUY1MDc0MDU1NTcKKzoxMDFCQTAwMDQ4NTIzRTg2QTA3NTQ4NTIzRUI1MDA0QTlDMDA2QkM3MUQKKzoxMDFCQjAwMENFNDUyN0YzMkE4NDM3MzVERUEwQUIyMzFBQUVGNTgzNTIKKzoxMDFCQzAwMDU5MThENzQzREUyQUQwOTRFQkRFMDUzQTk1OUZDQ0MzNTMKKzoxMDFCRDAwMDIwNDVDQ0FBMTdFNjY2Q0M0MzI2NEZFNzQxMjIyRTcwNUIKKzoxMDFCRTAwMDY4MzhFNzUzRTAyRkFCQkMxMkQyRTk1ODBCRUFBN0FEMzcKKzoxMDFCRjAwMDQ1QTExRkMwNUY3ODM5QzhBMDhGOUQ0ODFDMjRFRUM3M0YKKzoxMDFDMDAwMDgwQkVCQUY1NkQ2NjQ5NzcwRDRFQTUzMDA5QjRGOUM1QTkKKzoxMDFDMTAwMDQzMEYzOEE5M0Y5RDAyRkJDRTQ1MTE3MzkxNDFDNzNBNEUKKzoxMDFDMjAwMDkxOUZDRjY5NDQ1Q0YxNTBCRjMzQ0IzMkE3QUM1NDkwNDUKKzoxMDFDMzAwMDhENDQ4RTcwMjk3N0E4RDBDQ0JBNTZCMEIyOUQ4Qzg2RDAKKzoxMDFDNDAwMDRDMTcyNjc3MjYxQzI3MUMyNDlFMjM2MUJFOEUxMjRGMUMKKzoxMDFDNTAwMDExODcxQ0VBNUMwNUY1RDdCODZBNzUyOTc3QUIwRDk5MzEKKzoxMDFDNjAwMDc0QTU0RjcyQTBBQTRBQzZGMzY2NjZDNjM5ODJBRjc1REMKKzoxMDFDNzAwMEE2NkYxNDZCQ0UwNTcwNzM5NjgyM0U3NTI4RTEzQUE3NjUKKzoxMDFDODAwMEFENDQ2MDE2NTJCNjFEN0FCNkIzMjRCQjg2QTc1Mjk4RUYKKzoxMDFDOTAwMDA0REE3Q0UyQTE4NzlDNTVGNzlDQjVBQzJDOTUzM0I5NEUKKzoxMDFDQTAwMDMxMDVEOTUzRDZBMjMwMEIyOTVCMDIyRTYxNUExN0U2QjMKKzoxMDFDQjAwMDlDQjMyQTdBQzU0MDIxQTg5MUNFMDUyN0YzQTU4ODY0NTQKKzoxMDFDQzAwMEMxNzI2NTRGNTgxNDBDOEQ3RUYzODE0NDVDRUY0MUM3OUYKKzoxMDFDRDAwMDNBQkUwMkZBQTlFQUNFQ0NBOTI5NTNENkEyNDY0N0REREMKKzoxMDFDRTAwMDdBQzBBMzAwODZFMjlCMjk3ODhCODEwOTk4NzA5QjI5OTIKKzoxMDFDRjAwMDc5NUREOTcyRUQ5NEJDQjk3NjEzM0IyQTVEQjI5Nzk1QTQKKzoxMDFEMDAwMDJFRDk0QkNBN0Q1QjU5OTRDQTFDMjRFRUM3OTRCQ0MwMjMKKzoxMDFEMTAwMDI2RDNFNzE1MEMzQ0UyQUNGRTdCNEEyMkU3OEE4NUY5MjQKKzoxMDFEMjAwMDlFNTk5NzdBOEQwQ0NCQTUyN0YzQTA0MTcyNjIxOTM3ODMKKzoxMDFEMzAwMERFNzAyODhCOUM4QTBFMzlENDhEMEY1NjM2NkQwOTRFNzUKKzoxMDFENDAwMEJENTkyQ0NFQTU2QjBCMjJEOTlEQzlCMjk3QkVGMzgxOEMKKzoxMDFENTAwMDRBN0Q2NUEzMDA5MzhGNjcyOTc4QzI0REMxRDEwNjgyNjEKKzoxMDFENjAwMDMxQUYwNzM4MzQxMUYzQTgyQTlFQTg2NjFBQTRBNTRGRUMKKzoxMDFENzAwMDVBMEMxMThGQUE3QkQwNjU0OTQ1QkRFOTYyRDJCMTlFNEMKKzoxMDFEODAwMDZDQ0NDNjE5ODcwOUMzOEU3NTQxMUYzQUE1MTNENTU1NkEKKzoxMDFEOTAwMDU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1RjMKKzoxMDFEQTAwMDU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1RTMKKzowRTFEQjAwMDU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1QUNDOTBDOAorOjAwMDAwMDAxRkYKZGlmZiAtLWdpdCBhL2Zpcm13YXJlL3R0dXNiLWJ1ZGdldC9kc3Bib290Y29kZS5iaW4uaWhleCBiL2Zpcm13YXJlL3R0dXNiLWJ1ZGdldC9kc3Bib290Y29kZS5iaW4uaWhleApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNGIyMjQ3Ci0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUvdHR1c2ItYnVkZ2V0L2RzcGJvb3Rjb2RlLmJpbi5paGV4CkBAIC0wLDAgKzEsODIwIEBACis6MTAwMDAwMDAwOEFBMDAxODAwMDMwODAwMDAxMDAwMDAwMTgwMTg1RjEzCis6MTAwMDEwMDAwMDAwMDE4MDc3MTgyQUVCNkJGODAwMTgwM0ZGNjhGOERFCis6MTAwMDIwMDAwMDE4RkZGRUY3QjhGN0JFRjZCOUY0QTBGNkI3RjZCNUJDCis6MTAwMDMwMDBGNkI2RjAyMDE5REZGMTAwMDAwMUY4NEQwMUFCRjZCODdCCis6MTAwMDQwMDBGMDIwMTlERkYwNzMwMUE1N0VGODAwMTJGMDAwMDAwMTI2Cis6MTAwMDUwMDA0N0Y4MDAxMTdFOTIwMEY4MDAxMUYwMDAwMDAxN0VGOEQwCis6MTAwMDYwMDAwMDExRjAwMDAwMDE2Qzg5MDE5QUY3QjhFRUZDRjAyMDU1Cis6MTAwMDcwMDBGRkZGRjEwMDAwMDFGODREMDFCRkYyNzMwMUI5NEUwMjFDCis6MTAwMDgwMDBGNDk1RjVFMzU2MDI3RTAwMTEwMEZBNEMwMUI3NkIwM0JDCis6MTAwMDkwMDAwMDAxRjZCOEVFMDRGMDc0MERBN0YwNzQwMUM1NEExMTIyCis6MTAwMEEwMDA0QTE2NzIxMTJBRTYxMEY4MDAxMUZBNDUwMURCRjQ5NUEwCis6MTAwMEIwMDBFRUZGNDgxMUYwMDAyQUM2ODgxNkY0OTVGNDk1MTBFRTZDCis6MTAwMEMwMDBGRkZGRjRFMzZDRTlGRkZGMDFENTEwRjgyQUU3Rjg0NURDCis6MTAwMEQwMDAwMUUyMTBGODJBRTdGNEUzRjA3NDAxRkZFRTAxOEExNjVBCis6MTAwMEUwMDA4QTExRkMwMEY3QjhFOTIwNEExMTA5RjgyQUU2Rjg0RTBGCis6MTAwMEYwMDAwMUYzRjI3MzAxRkRGNDk1RTgwMTcyMTEyQUU2NDkxMTRBCis6MTAwMTAwMDA4MEUxMkFDNkYzMDAwMDAxRTgwMDgxRjgyQUU2OEExMTlFCis6MTAwMTEwMDBGQzAwRjQ5NUYwNzMwMjAwMTBGODJBMEZGQzAwNEExMTVECis6MTAwMTIwMDBGMDc0MDIwMjgwRjgyQTEwNzMwODAwMDk0MEY4MkExNUJBCis6MTAwMTMwMDA4MkY4MDAxMUY0OTU3NzEwMDNFOEY1QTlGODMwMDIyMTUwCis6MTAwMTQwMDA3MUY4MkExMDJBMTU1NkY4MkEwQ0YwRTM0RUY4MkExNkYwCis6MTAwMTUwMDBFODAwNEVGODJBMEM4QTExRkMwMDRBMDY0QTA3NEExRDlDCis6MTAwMTYwMDA2OEY4MDAwNzdEM0Y2OUY4MDAwNzQwMDA2OEY4MDAxRDQ3Cis6MTAwMTcwMDBGRkZDNkJGODJBMEYwMDAxOEExRDhBMDc4QTA2RjRFQjQwCis6MTAwMTgwMDBFRUZENzZGODJBMEYwMDAwNzYwMDAwMDBGQjgwMTk0Qzg3Cis6MTAwMTkwMDBGNDk1RTgwMDgwRjgyQTExRjk4MDE5MDc4MEY4MkEwRUYyCis6MTAwMUEwMDBGOTgwMTY2Njc2MDAyQTEyMTBGODJBMTFGOTgwMThFM0YxCis6MTAwMUIwMDAxMEY4MkEwRUY5ODAxNjY2MTBGODJBMEVGOTgwMTY4N0I0Cis6MTAwMUMwMDBFRTAzRkMwMDRBMTFGNkI4RjQ5NUYwMjA4MDAwMTFGODE3Cis6MTAwMUQwMDAyQTVBRjg0RDAyOTMxMUY4MkE5RkY4NEMwMjdDNzcxMkE0Cis6MTAwMUUwMDAyQTM5NDkxMjAxRjgyQTlGODkxMUY0OTVGNDk1NzE4MUYxCis6MTAwMUYwMDAwMDExNkNFMUZGQUIwMjkzNkJGODJBOUYwMDAxRTkwNTQ3Cis6MTAwMjAwMDAwMUUyMDAwMzgxRjgyQUEwRjA3MzAyOTU3MjExMkE5RjdGCis6MTAwMjEwMDBGNDk1MTBFMTJBMzk2QkY4MkE5RjAwMDExMUY4MkE5RjAyCis6MTAwMjIwMDAwOUY4MkFBMEY4NEMwMjkzNzZGODJBNUEwMDAwNzZGOENBCis6MTAwMjMwMDAyQTlGMDAwMDc2RjgyQUEwMDAwMDg4MTFGNDk1NDgxMTQyCis6MTAwMjQwMDA4QTExRkMwMDRBMTFFRUZFMTBGODJBNUFGODQ0MDJCMjU0Cis6MTAwMjUwMDA3NkY4MkE1QTAwMDFGMDc0MDI1ODg4MTFGNDk1NzcxMDQ0Cis6MTAwMjYwMDA4MDAwRjRBOUY4MzAwMkIyNDgxMUYwMzAwMEZGODAwMDlECis6MTAwMjcwMDAxMEY4MkE1QkY5ODAxOEQ2RUUwMjhBMTFGQzAwRjQ5NTdBCis6MTAwMjgwMDA0QTA4NEEwOTRBMEE0QTBCNEEwQzRBMEQ0QTEwNEExMUJFCis6MTAwMjkwMDA0QTEyNEExMzRBMTQ0QTE1NEExNjRBMTc0QTE3NEExOTYzCis6MTAwMkEwMDA0QTBFNEEwNjRBMDc0QTFBNEExRDRBMUI0QTFDNjhGODVGCis6MTAwMkIwMDAwMDA3N0QzRjY5RjgwMDA3NDAwMDY4RjgwMDFERkZGQzVCCis6MTAwMkMwMDA0ODE4NjhGODAwMThGRkZFRjQ5NUY0OTU0QTA4RUVGRDBBCis6MTAwMkQwMDBGMDc0MDI1ODg4MTFGNDk1NzcxMDgwMDBGNEE5RjgzMDcyCis6MTAwMkUwMDAwMkVGNDgxMUYwMzAwMEZGODAwMDEwRjgyQTVCRjk4MDFGCis6MTAwMkYwMDAxOEQ2RUUwMzhBMThGNDk1OEExQzhBMUI4QTFEOEExQTVFCis6MTAwMzAwMDA4QTA3OEEwNjhBMEU4QTE5OEExNzhBMTc4QTE2OEExNTEwCis6MTAwMzEwMDA4QTE0OEExMzhBMTI4QTExOEExMDhBMEQ4QTBDOEEwQjBGCis6MTAwMzIwMDA4QTBBOEEwOThBMDhGNEVCNEExMTc3MTEyQTM5NzY4MUY4Cis6MTAwMzMwMDAwMDU1NzcxMjJBMTgxMEUyMDAwMTgwRTEwMDAxMTBFMjU2Cis6MTAwMzQwMDAwMDAyODBFMTAwMDI3NkUxMDAwMzAwMDA3NkUxMDAwNDkzCis6MTAwMzUwMDAwMEFBRjA3NDAyOTg4QTExRkMwMDRBMTE4ODExRjQ5NUUxCis6MTAwMzYwMDBGNDk1MTA4MTZGRjgyQTlFMEM4OEU4RkYxOEUxMDAwMUNGCis6MTAwMzcwMDAxQUY4MkE5RUYwMzAxRkZGODBGODJBOUU4QTExRkMwMDhFCis6MTAwMzgwMDA0QTExNzcxMTJBMzk3NjgxMDA1NTc3MTIyQTE4MTFFMjFECis6MTAwMzkwMDAwMDAxODFFMTAwMDExMUUyMDAwMjgxRTEwMDAyNzZFMTQ5Cis6MTAwM0EwMDAwMDAzMDAwMjQ4MDg2RkUxMDAwNDBDOThGMDMwMDBGRkUxCis6MTAwM0IwMDA4MEUxMDAwNTc2RTEwMDA2MDBBQUYwNzQwMjk4OEExMTM3Cis6MTAwM0MwMDBGQzAwNEExMTc3MTEyQTM5NzY4MTAwNTU3NzEyMkExOEQ0Cis6MTAwM0QwMDAxMEUyMDAwMTgwRTEwMDAxMTBFMjAwMDI4MEUxMDAwMjcxCis6MTAwM0UwMDA3NkUxMDAwMzAwMDQ0ODExRjAwMDAwMDQ4ODEyRjQ5NTNGCis6MTAwM0YwMDA3NzEzMkE3NkU5MDBFNTk4RjMwMDAwMDFGNkI4NDgwQjc4Cis6MTAwNDAwMDAwOEY4MkEzQ0Y4NDMwMzcxNzY4MjAwQUFGMDc0MDI5ODM3Cis6MTAwNDEwMDA4QTExRkMwMDRBMTFFRUYwODgxMUY0OTVGNDk1NzE4MTZGCis6MTAwNDIwMDAwMDE0NzFFMTAwMDEwMDE1NDkxMUYzMDAwMDAyODkxMTY3Cis6MTAwNDMwMDBFNzgyNkRFQTAwMDRFNzgzNkRFQjAwMEE3NzFBMDAwNTk2Cis6MTAwNDQwMDBGMDcyMDNBQTExODFGMkU4ODA4MkU5RkYxOUUxMDAwMTRDCis6MTAwNDUwMDBGMUEwODE5MjExRTEwMDBDRjJFODgwODNFOUZGMTlFMTNCCis6MTAwNDYwMDAwMDBERjFBMDgxOTM2REU5MDAwMjQ4MTg0OTE4NzAwMDUxCis6MTAwNDcwMDAwMDE1RjAwMDAwMDRGMzAwMDAwQTgwMDE4MTAyRjI3NDBDCis6MTAwNDgwMDAwRTU0RjQ5NTQ4MTRFRTEwOEExMUZDMDA0QTExRjA3NEQxCis6MTAwNDkwMDAwQzVFODBGODJBNUM3NzEyMkEzOTc2ODIwMDU1NzcxMTMzCis6MTAwNEEwMDAyQTE4MTBFMTAwMDE4MEUyMDAwMTEwRTEwMDAyODBFMjYwCis6MTAwNEIwMDAwMDAyNzZFMjAwMDMwMDFDRjZCODU2RjgyQTE2RjBGMEE3Cis6MTAwNEMwMDBGMEY4ODBFMjAwMDc1NkY4MkExNkYxRjBFOEZGRjI4MDEzCis6MTAwNEQwMDA4MEUyMDAwNjU2RjgyQTE2RjFGOEU4RkZGMjgwODBFMjgyCis6MTAwNEUwMDAwMDA1NTdGODJBMTZFOEZGRjI4MDgwRTIwMDA0NTZGODZCCis6MTAwNEYwMDAyNzZDRjBGMEYwRjg4MEUyMDAwQjU2RjgyNzZDRjFGMDcyCis6MTAwNTAwMDBFOEZGRjI4MDgwRTIwMDBBNTZGODI3NkNGMUY4RThGRjc1Cis6MTAwNTEwMDBGMjgwODBFMjAwMDlFOEZGNTdGODI3NkNGMjgwODBFMjYxCis6MTAwNTIwMDAwMDA4NTZGODI3NkFGMEYwRjBGODgwRTIwMDBGNTZGODVECis6MTAwNTMwMDAyNzZBRjFGMEU4RkZGMjgwODBFMjAwMEU1NkY4Mjc2QUExCis6MTAwNTQwMDBGMUY4RThGRkYyODA4MEUyMDAwRDU3RjgyNzZBRThGRjMzCis6MTAwNTUwMDBGMjgwODBFMjAwMEM3NkUyMDAxMzAwMDA3NkUyMDAxMkU2Cis6MTAwNTYwMDAwMDAwNkZGODJBNUMwQzU4ODBFMjAwMTFFOEZGMThGOEQwCis6MTAwNTcwMDAyQTVDODBFMjAwMTA3NkUyMDAxNzAwMDA3NkUyMDAxNkE2Cis6MTAwNTgwMDAwMDAwNkZGODJBOUUwQzU4ODBFMjAwMTVFOEZGMThGODZBCis6MTAwNTkwMDAyQTlFODBFMjAwMTQ3NkUyMDAxQjAwMDA3NkUyMDAxQTM4Cis6MTAwNUEwMDAwMDAwNzZFMjAwMTkwMDAwNzBFMjAwMTgyNzZFNzZFMjgzCis6MTAwNUIwMDAwMDFGMDAwMDc2RTIwMDFFMDAwMDc2RTIwMDFEMDAwMDMxCis6MTAwNUMwMDA3NkUyMDAxQzAwMDA3NkUyMDAyMDAwQUFGMDc0MDI5ODk3Cis6MTAwNUQwMDA4QTExRkMwMDRBMTFFRUZFMTBGODJBMzhGODQ1MDRFREE1Cis6MTAwNUUwMDA3NzEyMkExODEwRTIwMDAyODgxMUY0OTU3NzEwMDAwODlCCis6MTAwNUYwMDA2REU5RkZERkY2QTlGODIwMDQ3NUYwNzMwNDdERjAxMEIzCis6MTAwNjAwMDAwMDIxRjAwMDFBODM0ODA4N0VGODAwMDhGNEUyRjA3NDM0Cis6MTAwNjEwMDAwMzBBRjA3MzA0RUE0ODEyRjI3NDAzMjNGMDAwMDAwNEEyCis6MTAwNjIwMDBGMjc0MDMzNkY0OTVFODAwRjA3MzA0RUE3NzExMkExODlGCis6MTAwNjMwMDBFOEZGNkZFMTAwMDQwRDQ4MThFMTAwMDVGMjc0MDk2OTU0Cis6MTAwNjQwMDBGNDk1RjJBMEYwNzQwMzM2RjA3MzA0RUE3NzExMkExOEQ3Cis6MTAwNjUwMDBFOEZGNkZFMTAwMDQwRDQ4MThFMTAwMDVGMjc0MDk0MTVDCis6MTAwNjYwMDBGNDk1RjJBMEYwNzQwMzM2RjA3MzA0RUFGMDc0MDM1N0MzCis6MTAwNjcwMDBGMDczMDRFQTEwRjgyQTFDRjA3NDEyQTRGMjc0MDMzNjIyCis6MTAwNjgwMDBGNDk1RTgwMEYwNzMwNEVBNDgxMkYyNzQwMzgwRjAwMDc1Cis6MTAwNjkwMDAwMDA0RjI3NDAzMzZGNDk1RTgwMEYwNzMwNEVBMTBGOEVECis6MTAwNkEwMDAyQTFDRjA3NDEyQzVGMjc0MDMzNkY0OTVFODAwRjA3MzU2Cis6MTAwNkIwMDAwNEVBNzcxMTJBMThFOEZGNkZFMTAwMDYwRDQ4MThFMUY3Cis6MTAwNkMwMDAwMDA3NzFFMTAwMDUwMDEyRjJBMDcwMDAwMDEyODAwMTI1Cis6MTAwNkQwMDAxMEUxMDAwNEYwNzQwRTdBRjI3NDAzMzZGNDk1RTgwMDI5Cis6MTAwNkUwMDBGMDczMDRFQUYwNzQwM0JDNzZGODJBMzgwMDAwRUUwMkQ2Cis6MTAwNkYwMDA4QTExRkMwMDRBMTE3NzExMkEzOTc2ODEwMDU1NzcxMjQ4Cis6MTAwNzAwMDAyQTE4MTBFMjAwMDE4MEUxMDAwMTEwRTIwMDAyODBFMUZECis6MTAwNzEwMDAwMDAyNzZFMTAwMDMwMDA5NDgxMUYwMDAwMDA0ODgxMjhECis6MTAwNzIwMDBGNDk1NzcxMzJBODZFOTAwRTU5OEYzMDAwMDAxRjZCOEZFCis6MTAwNzMwMDA0ODBCMDhGODJBM0NGODQzMDUwQTc2ODIwMEFBRjA3NEIwCis6MTAwNzQwMDAwMjk4OEExMUZDMDA0QTExNzcxMTJBMzk3NjgxMDA1NUU2Cis6MTAwNzUwMDA3NzEzMkExODEwRTMwMDAxODBFMTAwMDExMEUzMDAwMjgyCis6MTAwNzYwMDA4MEUxMDAwMjEzRTMwMDAzODFFMTAwMDM0ODExNzcxMUU3Cis6MTAwNzcwMDAwMDAwRjg0RDA1NDRGMDAwMDAwNDg4MTI0ODEzRjAwMDEyCis6MTAwNzgwMDAwMDA0ODgxM0Y0OTVGNDk1RTU5ODZEOTFGNkI4NDgxMTM2Cis6MTAwNzkwMDAwOEY4MkEzQ0Y4NDMwNTNBRjAyMDJBMzk0OTExRjUwMEI3Cis6MTAwN0EwMDA4OTExRjQ5NUY0OTU3NkUxMDAwNDAwQUFGMDc0MDI5ODlBCis6MTAwN0IwMDA4QTExRkMwMDRBMTE3NzExMkEzOTc2ODEwMDU1NzcxMjg3Cis6MTAwN0MwMDAyQTE4MTBFMjAwMDE4MEUxMDAwMTEwRTIwMDAyODBFMTNECis6MTAwN0QwMDAwMDAyNzZFMTAwMDMwMDBDNDgxMUYwMDAwMDA0ODgxMkNBCis6MTAwN0UwMDBGNDk1NzcxMzJBN0FFOTAwRTU5OEYzMDAwMDAxRjZCODRBCis6MTAwN0YwMDA0ODBCMDhGODJBM0NGODQzMDU2QTc2ODIwMEFBRjA3NDkwCis6MTAwODAwMDAwMjk4OEExMUZDMDA0QTExNzcxMTJBMzk3NjgxMDA1NTI1Cis6MTAwODEwMDA3NzEyMkExODEwRTIwMDAxODBFMTAwMDExMEUyMDAwMkM0Cis6MTAwODIwMDA4MEUxMDAwMjc2RTEwMDAzMDAxOTQ4MTFGMDAwMDAwNEE1Cis6MTAwODMwMDA4ODEyRjQ5NTc3MTMyQTVERTkwMEU1OThGMzAwMDAwMTJBCis6MTAwODQwMDBGNkI4NDgwQjA4RjgyQTNDRjg0MzA1OTM3NjgyMDBBQUNDCis6MTAwODUwMDBGMDc0MDI5ODhBMTFGQzAwNEExMTg4MTExMEY4MkEzOEE1Cis6MTAwODYwMDBGODQ0MDVFMzEwRjgyQUExRjg0NDA1QkE2Q0UxRkY1NkY0Cis6MTAwODcwMDAwNUUzNzIxMjJBQTFGNDk1NzBFMjJBMTgwMDExNkJGOEIwCis6MTAwODgwMDAyQUExMDAwMUYwNzMwNUUzNzIxMjJBQTFGNDk1NzBFMjI3Cis6MTAwODkwMDAyQTE4MDAxMTEwRjgyQUExRjAwMDAwMDE4ODEyRjQ5NTFFCis6MTAwOEEwMDBGNDk1NkVFMkZGRkMwNUQxNzMxMjJBQTE0ODExRjAwMDA1Cis6MTAwOEIwMDAwMDA1ODBGODJBQTIxMEY4MkFBMTA4RjgyQUEyRjg0NDE0Cis6MTAwOEMwMDAwNUUzNkNFMUZGQUIwNURENzZGODJBMzgwMDAxNzZGODI4Cis6MTAwOEQwMDAyQUExMDAwMDc2RjgyQUEyMDAwMDhBMTFGQzAwRjQ5NUYzCis6MTAwOEUwMDA0QTA4NEEwOTRBMEE0QTBCNEEwQzRBMEQ0QTEwNEExMTU4Cis6MTAwOEYwMDA0QTEyNEExMzRBMTQ0QTE1NEExNjRBMTc0QTE3NEExOUZECis6MTAwOTAwMDA0QTBFNEEwNjRBMDc0QTFBNEExRDRBMUI0QTFDNjhGOEY4Cis6MTAwOTEwMDAwMDA3N0QzRjY5RjgwMDA3NDAwMDY4RjgwMDFERkZGQ0Y0Cis6MTAwOTIwMDA0ODE4NjhGODAwMThGRkZFRjQ5NUY0OTU0QTA4RUVGRkExCis6MTAwOTMwMDAxMEY4MkE1QkY5ODAxODA0RjA3NDA1QTJFRTAxOEExOEY5Cis6MTAwOTQwMDBGNDk1OEExQzhBMUI4QTFEOEExQThBMDc4QTA2OEEwRUNGCis6MTAwOTUwMDA4QTE5OEExNzhBMTc4QTE2OEExNThBMTQ4QTEzOEExMjlDCis6MTAwOTYwMDA4QTExOEExMDhBMEQ4QTBDOEEwQjhBMEE4QTA5OEEwOEQ3Cis6MTAwOTcwMDBGNEVCRUVGRDc2RjgyQTM4MDAwMDc2RjgyQTVBMDAwMEVCCis6MTAwOTgwMDBFODAxNEUwMEZCODAxN0Q2RjQ5NUU4MDE4MEY4MkE1QjU5Cis6MTAwOTkwMDA3NjAwMkE4RkY5ODAxNkFBMTBGODJBNUJGOTgwMTc1Qzc2Cis6MTAwOUEwMDAxMEY4MkE1QkY5ODAxNzZGRkI4MDE2NjZGNDk1RTgxQTM5Cis6MTAwOUIwMDBGQjgwMTY4N0Y0OTVFODFBRkI4MDE2NjZGNDk1RTgxQjExCis6MTAwOUMwMDBGQjgwMTY4N0Y0OTVFODFCRUUwM0ZDMDA0QTExRjQ5NUIyCis6MTAwOUQwMDAxMzAyODgxMUU4MDBGODREMDY2QUYzMTAwMDAxODkxQTI1Cis6MTAwOUUwMDBGNDk1RjA3MjA2NjkxQzkxOEExMUZDMDA0QTExODgxMTc1Cis6MTAwOUYwMDAxMjAzMTEwMkY4NDUwNjc5RjAxMDAwMDE4ODFBRjQ5NUU3Cis6MTAwQTAwMDBGMDcyMDY3ODgxOTE4QTExRkMwMDRBMTFGNDk1NzEwMjA2Cis6MTAwQTEwMDAwMDExMTEwMzYxRjgwMDExMDAwMUY4MzAwNjkxRjZCOEQ5Cis6MTAwQTIwMDA2RkY4MDAxMTBDMUY4ODExRjNFOEU4RkYxODgxRjFBMDlFCis6MTAwQTMwMDA4MTgxRjA3MzA2OURGNkI4NkZGODAwMTEwQzFGODgxMUM0Cis6MTAwQTQwMDBGMzMwMDBGRkYwMjBGRjAwMTg4MUYxQTA4MTgxOEExMUFFCis6MTAwQTUwMDBGQzAwNEExMUY0OTUxMTAyNjFGODAwMEIwMDAxRjgyMDI2Cis6MTAwQTYwMDAwNkIxNDkwQkY2MUY4ODExRjQ5NUY0OTUxMDgxRjI3M0M1Cis6MTAwQTcwMDAwNkI4RjAzMDAwRkY0OTBCRjYxRjg4MTFGNDk1RjQ5NTg1Cis6MTAwQTgwMDAxMjgxRjQ3ODhBMTFGQzAwNEExMUY0OTU3MTAyMDAxMjY3Cis6MTAwQTkwMDAxMzAzODgxMUU4MDBGODREMDZDQ0YzMTAwMDAxODkxQTAxCis6MTAwQUEwMDBGNDk1RjA3MjA2Q0IxMTkyRjJDMDgxOTE4QTExRkMwMDhDCis6MTAwQUIwMDA4ODEyMTIwMjcxMDEwMDEzRjg0NTA2REJGMDEwMDAwMUU0Cis6MTAwQUMwMDA4ODFBRjQ5NUYwNzIwNkRBRTU5OEZDMDA0QTExRUVGRUY5Cis6MTAwQUQwMDA4ODExMTEwNDEwMDY3MTA1MDAxMjYxRjgwMDEyMDAwMTVFCis6MTAwQUUwMDBGODIwMDZFQUYwMDAwMDAxRjZCOEYwMDAwMDAxNkZGODA3Cis6MTAwQUYwMDAwMDEyMEYxRjQ4MDg4MTAwRjQ3RjgwMDFGMjc0MDZCQUNCCis6MTAwQjAwMDBGNDk1NDgxMUVFMDI4QTExRkMwMDRBMTFFRUZFODgxMjlCCis6MTAwQjEwMDAxMTA0MTAwNjcxMDUwMDEzNjFGODAwMTMwMDAxRjgyMDlDCis6MTAwQjIwMDAwNzA5RjAwMDAwMDFGMDAwMDAwMTg4MTFGNkI4NkZGODI1Cis6MTAwQjMwMDAwMDEzMEYxRjgxMDA0ODExRjQ3RjgwMDFGMjc0MDZDRTZDCis6MTAwQjQwMDBGNDk1NDgxMjQ4MTFGMDMwRkZGRUVFMDI4QTExRkMwMEM1Cis6MTAwQjUwMDA0QTExNEExNjRBMTdFRUZDRjQ5NTgwMDI3MTA4MDAxNkY1Cis6MTAwQjYwMDAxMDA5NzEwQjAwMTc4MDAzNzEwQTAwMTE0ODE3Rjg0NTJFCis6MTAwQjcwMDAwNzNGNzAwMDAwMTExMDAzRjA3NDA2OUY4MDAxNzAwMEExCis6MTAwQjgwMDAwMDE2MTAwMkYwNzQwNjdCNkQ5MTZEOTY2Q0VGRkZGRkZFCis6MTAwQjkwMDAwNzJGRUUwNDhBMTc4QTE2OEExMUZDMDA0QTExRUVGRTBFCis6MTAwQkEwMDAxMEY4MkFFODA4RjgyQUU5Rjg0NTA3NjQ3NjAwMDAwMUY5Cis6MTAwQkIwMDA2MkY4MkFFOTAwNUVGMjc0MTIwQkYwMDAzMDQwNzIxMTA0Cis6MTAwQkMwMDAyQUU5NzcxMDAwMEZGNUE5RjgyMDA3NjE2QkY4MkFFOUU4Cis6MTAwQkQwMDAwMDAxRjA3MzA3NjQ3NkY4MkFFOTAwMDBFRTAyOEExMTNBCis6MTAwQkUwMDBGQzAwNEExMTg4MTFFODAwNzVGODAwMDgwMDA4RTgwMEM4Cis6MTAwQkYwMDA3NUY4MDAwODAwMDlGNkI4RjQ5NUYwMjBGQzNGNzVGODg4Cis6MTAwQzAwMDAwMDA4MDAwREYwMjAwQzMwNzVGODAwMDgwMDBDNzZGODk0Cis6MTAwQzEwMDAyQUU4MDAwMDc2RjgyQUU5MDAwMDZDODEwNzkyNzZGODRECis6MTAwQzIwMDAyQUVBMDAwMEZCODAxNjc2RjQ5NUU4MTBFODAwNzVGOEQzCis6MTAwQzMwMDAwMDA4MDAwMEYwNzMwN0E4NzZGODJBRUEwMDAxRkI4MDlDCis6MTAwQzQwMDAxNjY2RjQ5NUU4MTBGQjgwMTY4N0Y0OTVFODEwRTgwMDI2Cis6MTAwQzUwMDA3NUY4MDAwODAwMDBGNkI4RjQ5NUYwMjBGRkZGNzVGODZECis6MTAwQzYwMDAwMDA4MDAwMDhBMTFGQzAwRjQ5NTRBMDg0QTA5NEEwQTYzCis6MTAwQzcwMDA0QTA2NEEwNzRBMUQ2OEY4MDAwNzdEM0Y2OUY4MDAwN0UxCis6MTAwQzgwMDA0MDAwNjhGODAwMURGRkZDMTBGODJBRUFGODQ1MDdFMTZCCis6MTAwQzkwMDAxMEY4MkFFOEYwMDAwMDAxRjAzMDAwMEY4MEY4MkFFODkwCis6MTAwQ0EwMDAxMEY4MkFFOEY4NDQwN0Q2RjZCOEY0OTVGMDIwRkMzRjhGCis6MTAwQ0IwMDA3NUY4MDAwODAwMERGMDIwMEMzMDc1RjgwMDA4MDAwQ0U1Cis6MTAwQ0MwMDBFODAwNzVGODAwMDgwMDAwRjZCOEY0OTVGMDIwRkZGRjgyCis6MTAwQ0QwMDA3NUY4MDAwODAwMDA4QTFEOEEwNzhBMDY4QTBBOEEwOUIwCis6MTAwQ0UwMDA4QTA4RjRFQkVFRkZGMjc0MDc2N0Y0OTVFODAxRUUwMTcxCis6MTAwQ0YwMDBGQzAwNEEwNzRBMUQ2OEY4MDAwNzdEM0Y2OUY4MDAwN0I1Cis6MTAwRDAwMDA0MDAwNjhGODAwMURGRkZDOEExRDhBMDdGNEVCNEExMUI5Cis6MTAwRDEwMDA3NzExMDAyODc2ODEyNDAwRTgwMDc1RjgwMDA4MDAwMUFBCis6MTAwRDIwMDBGMjc0MDc2N0Y0OTVFODAwNzcxMTAwMUQ2ODgxMDA3RjcxCis6MTAwRDMwMDBGNkI4RjQ5NUYwMjBGRjgwNzcxMTAwMURGMDMwMDEwMDI3Cis6MTAwRDQwMDAxQTgxODA4MUYwNzQwQTMzRjA3NDExQUNGOTgwMTMyNTk0Cis6MTAwRDUwMDBGOTgwMTY1M0Y5ODAxNzgyRjA3NDA2MkZGOTgwMTRCMkM3Cis6MTAwRDYwMDBGOTgwMTkxMEYwNzQwREUzRjA3NDA3RThGMDc0MDIzNjlFCis6MTAwRDcwMDA4QTExRkMwMDRBMTE2MEY4Mjc3QkZGRkZGODMwMDgzOTIwCis6MTAwRDgwMDA3MUY4Mjc3QjI3Nzk2MEY4Mjc3OUZGRkZGODMwMDhCMkUwCis6MTAwRDkwMDAxMEY4Mjk4NjA4RjgyNzc5RjAzMDdGRkY4ODExRjQ5NTNDCis6MTAwREEwMDA3NzEwNDAwMEY2QTlGODMwMDg1ODEwRjgyNzc5MDhGOEFECis6MTAwREIwMDAyNzdBRjAzMDdGRkY4ODExRjQ5NTc3MTA0MDAwRjZBOTZDCis6MTAwREMwMDBGODIwMDg2Mzc2RjgyNzc5RkZGRjc2RjgyNzdCRkZGRjg2Cis6MTAwREQwMDBGN0I4RjI3MzA4RDlGMDIwRkZGRkY2Qjg1NkY4Mjc3NDc5Cis6MTAwREUwMDBGMEY5ODgxMTU2RjgyNzcyRjBGOTg4MTJGNDk1RjQ5NTA1Cis6MTAwREYwMDBFNzIwRjRBOUY4MzAwODhGRjEyMDI3N0M0ODExRjYwMDhECis6MTAwRTAwMDA4ODEzRjQ5NUY0OTUxMDgzMDhGODI3NzlGMDMwN0ZGRjY0Cis6MTAwRTEwMDA4ODEzRjQ5NTc3MTA0MDAwRjVBQkY4MzAwODhGNkQ5MThBCis6MTAwRTIwMDA0ODExRjAzMDAxRkY4ODExRjQ5NUU3MjBGN0E5RjgzMDU4Cis6MTAwRTMwMDAwODc0NkQ4OTQ4MTFGMDMwMDFGRkYwRTdGNDk1NDgwODE3Cis6MTAwRTQwMDA0RUY4Mjc3NDQ4MDhGMUY5ODkxMUY0OTVGNDk1NzFFMTg5Cis6MTAwRTUwMDAyNzdDMjc3QTYwRjgyNzdCRkZGRkY4MzAwOEFCNDgwODJCCis6MTAwRTYwMDA0RUY4Mjc3Mjc2RjgyNzdCRkZGRjc2RjgyNzc5RkZGRjg5Cis6MTAwRTcwMDBGMjczMDhEOUY0OTVFODAwNDRGODI3NzM0MEY4Mjc3NTExCis6MTAwRTgwMDA4MkY4MDAxMUY0OTU3NzEwODAwMEY2QTlGODIwMDhEOEIwCis6MTAwRTkwMDBGNkI4MTBGODI3NzNGMDAwODAwMDQ4MDg0RUY4Mjc3NDYxCis6MTAwRUEwMDA0ODA4RjBGOTg4MTFGNDk1RjQ5NTcxRTEyNzdDMjc3QUM4Cis6MTAwRUIwMDBGN0I4NTdGODI3NzRGMDYyRkZGRkYwNDBGRjgwRjI4MDI4Cis6MTAwRUMwMDA0RUY4Mjc3NEU4MDA4QTExRkMwMDRBMTE0QTE2RUVGQjFFCis6MTAwRUQwMDAxMUY4Mjc3MTA5RjgyNzczODkxMTg4MTBGNDk1RjQ5NTkyCis6MTAwRUUwMDBGNkE5RjgyMDA4RURGMjczMDkwRUY0OTVFODAwRjYyMDUzCis6MTAwRUYwMDA3NjAwMDA0MUYwNzQxMkVFODgxNkY0OTVGN0I4NkQ5NkZFCis6MTAwRjAwMDAxMEY4MDAxNkY4NDcwOTBBRTc2MTc2MDAwMDAwNzYwMTNDCis6MTAwRjEwMDAwMDgwNzYwMjAwRkY3NjAzMDAwMEYyNzQwQ0I5RjQ5NUFECis6MTAwRjIwMDBFODAwNkNFOUZGRkYwOEZCNzMxNjAwMEVGMDY2MDA0MTU1Cis6MTAwRjMwMDBFRTA1OEExNjhBMTFGQzAwNEExMUY0OTU3MTAyMDAxMzFECis6MTAwRjQwMDBGNkI4NzcxMTdGRkY1N0Y4Mjc3MjQ4MTFGMjgwRjAwMDRBCis6MTAwRjUwMDA4MDAwODgxMUY2NDBGMEUwRjFGMUU4MDFGMjgwODBGOEJECis6MTAwRjYwMDAyNzc4NzcxMjgwMDA1N0Y4Mjc3MjQ4MTJGMjgwODgxMjhCCis6MTAwRjcwMDBGNDk1RjQ5NTZDODIwOTM4RTgwMDc1RjgwMDA4MDAwMUQyCis6MTAwRjgwMDBGMDczMDkzREYwMjA4MDAxNzVGODAwMDgwMDAxNzA4MUMwCis6MTAwRjkwMDAwMDEzOEExMUZDMDA0QTExRjAzMDdGRkYxMUY4Mjk4NkY2Cis6MTAwRkEwMDBGNTIwRjMzMDdGRkY4OTExRjQ5NTc3MTA0MDAwRjZBOTAyCis6MTAwRkIwMDBGODIwMDk1NEYyNzMwOTY3RjQ5NUU4MDI2RkY4Mjc3QTZDCis6MTAwRkMwMDAwRDIwRjMzMDdGRkY4OTExRjQ5NTc3MTA0MDAwRjZBOUNBCis6MTAwRkQwMDBGODIwMDk2NEYyNzMwOTY3RjQ5NUU4MDE4MEY4Mjc3QjJCCis6MTAwRkUwMDBFODAwOEExMUZDMDA0QTExMTFGODI5ODZGNTIwRjMzMDM3Cis6MTAwRkYwMDA3RkZGODkxMUY0OTU3NzEwNDAwMEY2QTlGODIwMDk3QTRGCis6MTAxMDAwMDBGMjczMDk4REY0OTVFODAyNkZGODI3N0EwRDIwRjMzMDFBCis6MTAxMDEwMDA3RkZGODkxMUY0OTU3NzEwNDAwMEY2QTlGODIwMDk4QTFFCis6MTAxMDIwMDBGMjczMDk4REY0OTVFODAxODBGODI3NzlFODAwOEExMUI4Cis6MTAxMDMwMDBGQzAwNEExMUY0OTU3MTAyMDAxMjg4MTFGNkI4NTdGOEI1Cis6MTAxMDQwMDAyNzcyRjAyMDdGRkZGMjgwRjAwMDgwMDA4MDgxNTdGODQ3Cis6MTAxMDUwMDAyNzcyRTgwMUYzRjFGMjgwODBGODI3Nzg3NzExODAwMDk5Cis6MTAxMDYwMDA0ODExNTdGODI3NzJGMjgwODgxMUY0OTVGNDk1NkM4MTM1Cis6MTAxMDcwMDAwOUI1RTgwMDc1RjgwMDA4MDAwMUYwNzMwOUJBRjAyMDFFCis6MTAxMDgwMDA4MDAxNzVGODAwMDgwMDAxNDVGODI3NzE0M0Y4Mjc3M0JGCis6MTAxMDkwMDA4M0Y4MDAxMUY0OTVFNzIwRjZBOUY4MzAwOUM5RjI3MzM2Cis6MTAxMEEwMDAwOUU0NzcxMjAwMDA1N0Y4Mjc3MkYwMjA3RkZGRjI4MEUyCis6MTAxMEIwMDA0OTEyRjUwMEYzMDA4MDAwNjFGODAwMEI4MDAwRjgzMDYxCis6MTAxMEMwMDAwOURDRjEyMDgwMDBGNTIwODkxMkY0OTU0ODEyNkZGOEIwCis6MTAxMEQwMDAyNzczMEQwMEY0OTU0OTBCNEZGODI3NzI4QTExRkUwMDEzCis6MTAxMEUwMDA0ODEyRjQ5NTRBMTE0QTE2NEExN0VFRkNGNDk1NzEwODE1Cis6MTAxMEYwMDAwMDE2ODgxN0YwNzQwODMwNDgxODcwMDAwMDE2RjI3NDUzCis6MTAxMTAwMDAwOThGRjAwMDAwMDI4ODExRjQ5NUY0OTU2QzgxMEEwQUE5Cis6MTAxMTEwMDBGMjc0MDhEQkY0OTU0ODE2NDgxODcwMDAwMDE2RjI3NDUzCis6MTAxMTIwMDAwOThGRjAwMDAwMDI4ODExMTAwMjcwMDEwMDExODAwMDg4Cis6MTAxMTMwMDBGMjc0MDZDRUY0OTU0ODE3NDkxMTQ4MTdGNjAwODgxNzNGCis6MTAxMTQwMDBFNzYwRjVBOUY4MjAwQTJENDgxNkY2MjA4ODExNDgxOEZFCis6MTAxMTUwMDA3MDAwMDAxMUYyNzQwOThGRjAwMDAwMDI4ODExNzAwMTE0Cis6MTAxMTYwMDAwMDExMTAwMjgwMDBGMjc0MDZDRUY0OTU0ODE3RUUwNEM4Cis6MTAxMTcwMDA0ODE2OEExNzhBMTY4QTExRkMwMEVFRkRFODAwNEVGODIwCis6MTAxMTgwMDAyNzcwRTgwMDRFRjgyNzcyRTgwMDRFRjgyNzc0RTgwMDUwCis6MTAxMTkwMDA0RUY4Mjc3Njc2RjgyNzc5RkZGRjc2RjgyNzdBMDAwMDUxCis6MTAxMUEwMDA3NkY4Mjc3QkZGRkY3NkY4Mjc3ODAwMDBFODAwNzVGOENGCis6MTAxMUIwMDAwMDA4MDAwMTc2MDAwMDAwNzYwMTAyMDBGMjc0MTJEQ0UzCis6MTAxMUMwMDBGMDIwMjc3Q0VFMDNGQzAwNEExMUVFRkNGNDk1NEUwMDYzCis6MTAxMUQwMDA3NzEyN0ZGRkY2Qjg0OTEyRjE4MEYzMDA4MDAwODkxMjgwCis6MTAxMUUwMDBGMEUwRjFGMTRGMDJFOTAxRjQ5NTQ4MEJGNTQwNTYwMkE5Cis6MTAxMUYwMDBGMTgwODFGODI3Nzg3NzExODAwMDU2MDA0OTExRjE4MDNECis6MTAxMjAwMDA4OTExRjQ5NUY0OTU2QzgxMEE4MUU4MDA3NUY4MDAwODVECis6MTAxMjEwMDAwMDAxRjA3MzBBODZGMDIwODAwMTc1RjgwMDA4MDAwMUQzCis6MTAxMjIwMDAxMDgyRUUwNDhBMTFGQzAwNEExMUVFRkVGNDk1NEUwMDg1Cis6MTAxMjMwMDA3NzExN0ZGRkY2Qjg0OTExRjE4MEYzMDA4MDAwODkxMTIyCis6MTAxMjQwMDBGMEUwRjFGMUU4MDFGMjgwODBGODI3Nzg1NjAwRjEyMDEzCis6MTAxMjUwMDA4MDAwRjE4MEY0OTU0OTBCRjg0RDBBQUJGMDIwODAwMTM1Cis6MTAxMjYwMDA3NUY4MDAwODAwMDFGMDczMEFBRkU4MDA3NUY4MDAwODhGCis6MTAxMjcwMDAwMDAxRUUwMjQ4MTE4QTExRkMwMDRBMTE4ODEyMTMwMjgzCis6MTAxMjgwMDA3NzExMDAwMEY4NEQwQUNCRjMxMDAwMDE4OTFBRjQ5NThDCis6MTAxMjkwMDBGMDcyMEFDQTQ4MTExQ0Y4Mjk3RTg4MTExMUY4Mjk3RUJCCis6MTAxMkEwMDBGMjAwMDAwMTgwRjgyOTdFODE5MjQ4MTE4QTExRkMwMDI5Cis6MTAxMkIwMDA0QTExRjQ5NTcxMDIwMDExODgxMkY2QjhGMDIwN0ZGRkYwCis6MTAxMkMwMDA1N0Y4Mjc3MEYyODBGMDAwODAwMDgwODI1N0Y4Mjc3MDZFCis6MTAxMkQwMDBFODAxRjNGMUYyODA4MEY4Mjc3ODc3MTI4MDAwNDgxMjU1Cis6MTAxMkUwMDA1N0Y4Mjc3MEYyODA4ODEyRjQ5NUY0OTU2QzgyMEFGNDBFCis6MTAxMkYwMDBFODAwNzVGODAwMDgwMDAxRjA3MzBBRjlGMDIwODAwMTk5Cis6MTAxMzAwMDA3NUY4MDAwODAwMDE0NUY4Mjc3NUU3MTA0M0Y4Mjc3MUM0Cis6MTAxMzEwMDA4M0Y4MDAxMjZERTgwMDA0NkQ4QUY2QUFGODMwMEIwQTEzCis6MTAxMzIwMDBGMjczMEIyNTc3MTEwMDAwNTdGODI3NzBGMDIwN0ZGRjJDCis6MTAxMzMwMDBGMjgwNDkxMUY1MDBGMzAwODAwMDYxRjgwMDBCODAwMDk1Cis6MTAxMzQwMDBGODMwMEIxREYxMjA4MDAwRjUyMDg5MTFGNDk1NDgxMTJCCis6MTAxMzUwMDA2RkY4Mjc3MTBEMDBGNDk1NDkwQjRGRjgyNzcwNDgxMTZECis6MTAxMzYwMDA4QTExRkMwMDRBMTE0QTE2NEExN0VFRjA4ODE3MTAxNzI2Cis6MTAxMzcwMDA4MDA1MTAxNjgwMDYxMDE1ODAwNzcxMTQwMDExMTAwNUU1Cis6MTAxMzgwMDBGMDMwMDAwMTg4MTAxMDA2RjAzMDAwMDE4MDA4NDkxMThCCis6MTAxMzkwMDAxMDA1RjYwMTgwMDkxMDA2NjFGODAwMDgwMDAxRjgyMDI4Cis6MTAxM0EwMDAwQjRCMTAwOUYwMDAwMDAxODAwOTcxMDgwMDEyRjRBQTJCCis6MTAxM0IwMDBGODMwMEI1NDEwMDlGMDAwMDAwMTgwMDkxMjA5NDkxMTlFCis6MTAxM0MwMDBGNDdGODAwOUY2MjA4MDBBNTZGODI3NzA0RTBDMTAwOTI5Cis6MTAxM0QwMDA4MDAwNDgxOEYyNzQwQUNFRjAwMDAwMDQ4ODE2RjQ5NUQ0Cis6MTAxM0UwMDBGNDk1NkM4NjBCNkRGMjczMEM1OUY0OTVFODAwRjZCODIxCis6MTAxM0YwMDBGNDk1NTYwQ0YwRjk4ODEyRjQ5NUY0OTU3MEUyMjc3Qzc4Cis6MTAxNDAwMDAyOTg2RTgwMDgwMEU0ODExRjg0NTBCQ0M3NzEwMDAwMUMyCis6MTAxNDEwMDBGNEE5RjgzMDBCODk2Q0UxRkZGRDBCOEIxMEU3MDAwMjlCCis6MTAxNDIwMDA4MDBFRjA3MzBCOEIxMDg3ODAwRUU3MTBGNUFFRjgyMDVFCis6MTAxNDMwMDAwQkIyNzAwMDAwMTc3MDAxMDAxNjEwMDRGMDc0MDZDRTk1Cis6MTAxNDQwMDA0ODE3NDkxNkY2MDA4ODE3NDgxMUY2MjA4ODExMTAwOTI4Cis6MTAxNDUwMDBGNjIwODAwMDQ4MThGMjc0MEFDRUYwMDAwMDA0ODgxNkM2Cis6MTAxNDYwMDAxMDA0NzAwMDAwMTc3MDAxMDAxMUYwNzQwNkNFNDgxMUNFCis6MTAxNDcwMDAwMDA0ODAwNEYwNzMwQkJDNzAwMDAwMTc3MDAxMDAxMUIxCis6MTAxNDgwMDAxMDA0RjA3NDA2Q0U0ODExMDAwNDgwMDQ0OTExNDgxNjc3Cis6MTAxNDkwMDBGNjIwODgxNkY0OTVGNDk1NkM4NjBCQ0MxMDBBODAwMDIzCis6MTAxNEEwMDA0ODE4RjI3NDBBQ0VGMDAwMDAwNDg4MTYxMjBBRjg0NUIzCis6MTAxNEIwMDAwQzMzNzEwQTAwMTBGNEFFRjgzMDBDMUM0ODE2RjBFMTQxCis6MTAxNEMwMDA4ODExMTIwOEY4NDUwQkRCNkQ4OTEyMDdGODQ1MEJFOTA2Cis6MTAxNEQwMDAxMDA3ODAwMDcwMDIwMDExMTAwNjgwMDExMDA0RjA3NEUzCis6MTAxNEUwMDAwNkRDRjA3MzBCRUY0ODExNkYwMDBDOUYxMDA0RjA3NEQyCis6MTAxNEYwMDAwQUIzMTEwRUYxQzA4MTBFMTAwNjQ5MTFGNjAwODAwNkU0Cis6MTAxNTAwMDAxMDA1RjYyMDg4MTFGMDAwMDAwMTQ4MDg2RjAwMEM5RkJDCis6MTAxNTEwMDA0ODE4RjI3NDBBQ0VGMDAwMDAwNDEyMDdGODQ1MEMxMUM2Cis6MTAxNTIwMDAxMDA3ODAwMDcwMDIwMDExMTAwNjgwMDExMDA0RjA3NDkyCis6MTAxNTMwMDAwNkRDRjA3MzBDMTc0ODExNkYwMDBDOUYxMDA0RjA3NDU4Cis6MTAxNTQwMDAwQUIzMTEwRUYxQzA4MTBFRjA3MzBDMzMxMjA3Rjg0NTg3Cis6MTAxNTUwMDAwQzJBMTAwNzgwMDAxMDA2ODAwMTEwMDU4MDAyMTAwNDdDCis6MTAxNTYwMDBGMDc0MDZEQ0YwNzMwQzMwMTIwNTZGMDAwQzlGMTAwNDUxCis6MTAxNTcwMDBGMDc0MEFCMzExMEVGMUMwODEwRTc2MDAwMDAxNDgxODE0Cis6MTAxNTgwMDBGMjc0MEFDRUYwMDAwMDA0NzEwNDAwMTE3MDgxMjk4NjAzCis6MTAxNTkwMDAxMDBFMUNGODI5ODY4MDBFNzYwMDAwMDE0ODE4RjI3NDlGCis6MTAxNUEwMDAwQUNFRjAwMDAwMDQxMDBFNzEwNDAwMTE4MDgxMTBGOEMyCis6MTAxNUIwMDAyOTg2RjAwMDAwMDFGMDMwN0ZGRjgwRjgyOTg2MTAwOUFECis6MTAxNUMwMDBGMDAwMDAwMjgwMDlFRTEwOEExNzhBMTY4QTExRkMwMENBCis6MTAxNUQwMDAxMEY4Mjc3NTA4RjgyNzcxRjAxMDAwMDE0ODA4RkMwMDgyCis6MTAxNUUwMDA0QTExNEExNkVFRkZGNDk1NzEwNDAwMTZGMDAwMDAwMTRFCis6MTAxNUYwMDA0ODA4NEVGODI5N0M2REVFRkZGRDQ4MTZGODQ1MEM5OTE5Cis6MTAxNjAwMDA1NkY4Mjk3Q0YwNzQwQTVBODgxMTEwRjgyOTdERjAwMEU4Cis6MTAxNjEwMDAwMDAxNDgwODRFRjgyOTdDMTBGODI5ODJGMDAwMDAwMUVBCis6MTAxNjIwMDA4ODEwRjQ5NUY0OTVGNEE5RkEzMDBDOTY4MEY4Mjk4Mjg0Cis6MTAxNjMwMDA1NkY4Mjk4MEYwMDAwMDAxNEVGODI5ODA3MzExMjk4MkE0Cis6MTAxNjQwMDA2Q0VFRkZGRjBDNzZFRTAxOEExNjhBMTFGQzAwNEExMTNGCis6MTAxNjUwMDA3NkY4Mjk4NDAwMDA3NkY4Mjk4NTAwMDFFODAwNEVGODI0Cis6MTAxNjYwMDAyQTBDNzZGODI5ODYwMDAwNzZGODI5ODcwMDAwNzcxMTgxCis6MTAxNjcwMDAyOTg4NzY4MUFBQUE3NkUxMDAwMUFBQUE3NkUxMDAwMjY5Cis6MTAxNjgwMDAwMDAwOEExMUZDMDA0QTExRUVGQ0Y0OTU3MTA2MDAxNDZBCis6MTAxNjkwMDA3MTA3MDAxMzcxMDgwMDEyNzEwOTAwMTU3NzEwMDBGRjFGCis6MTAxNkEwMDBGNEFBRjgzMDBENDQ0OTEzNTNGODJBMEM0RkY4MkEwQ0M5Cis6MTAxNkIwMDA3MzEyMDAwRUYxNjYwMDBEODkxMUY0OTU3NzEwMDAwMTg4Cis6MTAxNkMwMDA3MUUxMjQwMDAwMTFGNEE5RjgzMDBEMTc3NzEwMDAwMjIxCis6MTAxNkQwMDBGNEE5RjgzMDBDRUM3NzExMjk4QTc2ODEwMDAwRTgwMDMzCis6MTAxNkUwMDA3NzE0MDAwMDc3MTMwMDAwRjA3MzBENDg2QzgzMENGQTM4Cis6MTAxNkYwMDA3NzExMjk4QTQ4MTJGMEU4RjA0MDgwMDA4MDgxRTgwMEU0Cis6MTAxNzAwMDA3NzE0MDAwMEYwNzMwRDQ4NDkxM0YzNDA4MDAwODFGODBFCis6MTAxNzEwMDAyOThBNjFGODAwMTUwMDAxRjgyMDBEMDc2OUY4Mjk4QTY3Cis6MTAxNzIwMDA0MDAwNjFGODAwMTQwMDAxRjgyMDBEMEY2OUY4Mjk4QUMzCis6MTAxNzMwMDAyMDAwNzcxMTI5OEE0OTEyRjNFODFCODE4MTgxRjA3MzE3Cis6MTAxNzQwMDAwRDQ4MTFGODI5ODRGODRDMEQzNzc3MTEyOTg4NzY4MUQ2Cis6MTAxNzUwMDBBQUFBMTFGODI5ODVGMzEwMDAwMUYzNDBBQTAwODFFMTNCCis6MTAxNzYwMDAwMDAxNzYwMDAwMDI4MDAxNzAwMjAwMTQ3MDAzMDAxMzczCis6MTAxNzcwMDBGMjc0MEIyOEY0OTU0ODExNzFGODI5ODUyOTg0RjA3M0M3Cis6MTAxNzgwMDAwRDczNzYwMDAwMDA4MDAxNzYwMjAwMDA3MDAzMDAxM0U0Cis6MTAxNzkwMDBGMjc0MEIyOEY0OTVFODAwRjA3MzBENzM3NzExMjk4QTIxCis6MTAxN0EwMDA3MDgxMDAxMzExRjgyOTg0Rjg0QzBENjg3NzExMjk4ODhECis6MTAxN0IwMDA3NjgxQUFBQTExRjgyOTg1RjMxMDAwMDFGMzQwQUEwMDQ2Cis6MTAxN0MwMDA4MUUxMDAwMTc2MDAwMDAzODAwMTcwMDIwMDE0NzAwM0MzCis6MTAxN0QwMDAwMDEzRjI3NDBCMjhGNDk1NDgxMTcxRjgyOTg1Mjk4NEI3Cis6MTAxN0UwMDBGMDczMEQ3Mzc2MDAwMDAxODAwMTcwMDIwMDE0NzAwMzI1Cis6MTAxN0YwMDAwMDEzRjI3NDBCMjhGNDk1NDgxMTZCRjgyOTg0RkZGRjRECis6MTAxODAwMDBFRTA0OEExMUZDMDA0QTExRjU0MEY0OTU0ODBCRjQ3ODc3Cis6MTAxODEwMDA4ODExRjQ5NUY0OTU2Q0UxRkZCOTBEODhGMjczMERBNTZDCis6MTAxODIwMDBGNDk1RTg2MEYyMDAwMDA2NjFGODAwMTEwMDIwRjgzMDNECis6MTAxODMwMDAwRDk4NjFGODAwMEIwMDAxRjgyMDBEQTNGMjAwMDAwN0RECis6MTAxODQwMDBGMDczMERBMzYxRjgwMDBCMDAwMUY4MjAwREExRjI3M0Y1Cis6MTAxODUwMDAwREEzRjAwMDAwMDFGMDAwMDAwMjQ4MDhGNDdGOEExMTk3Cis6MTAxODYwMDBGQzAwRUVGRkYwNzQwN0ZERjA3NDA3NDRGMDc0MERCNDUzCis6MTAxODcwMDBGMDc0MDIwNUYwNzQwNDYwRjA3MzBEQUFFRUZEMTBGODI4Cis6MTAxODgwMDAyQUEzRjg0NDBEQ0IxMEY4MkFBNEY4NDUwREQ3NzYwMDBBCis6MTAxODkwMDAwMjAwRjI3NDA5RThGMDIwMjIwMDc2RjgyQUE0MDAwMDgxCis6MTAxOEEwMDA3NkY4MkFBNzAwMDBGMDczMERENzc2MDAwMjAwRjI3NEQ0Cis6MTAxOEIwMDAwOUU4RjAyMDIwMDA3NkY4MkFBMzAwMDA3NkY4MkFBNzhECis6MTAxOEMwMDAwMDAxRjA3NDBDNUVGMEUwRjAxMDNBOThGODQ3MERFMTdBCis6MTAxOEQwMDA3NkY4Mjc2RTAwMDBFRTAzRkMwMDRBMTFFRUZFNzcxMTQ5Cis6MTAxOEUwMDAyMDAwNzYwMEFBQUE3NjAxMDIwMEYyNzQwNjZDRjQ5NTM0Cis6MTAxOEYwMDA0ODExNzYwMDU1NTU3NjAxMDIwMDQ4MTFGMjc0MDY2Q0M1Cis6MTAxOTAwMDBGMDAwMDIwMDc2RjgyQUEzMDAwMDc2RjgyQUE0MDAwMDZFCis6MTAxOTEwMDBFODAwNEUwMEZCODAxNTNFRjQ5NUU4MDQ4MEY4MkFBNTA3Cis6MTAxOTIwMDA3NjAwMkFBOEY5ODAxNDg3NzYwMDJBQURGQjgwMTM2MjFFCis6MTAxOTMwMDBGNDk1RTgwMjEwRjgyQUE1Rjk4MDE0NjNGQjgwMTY2Njc2Cis6MTAxOTQwMDBGNDk1RTgxQ0ZCODAxNjg3RjQ5NUU4MUNFODAxNEUwMDJFCis6MTAxOTUwMDBGQjgwMTdENkY0OTVFODAwODBGODJBQTY3NjAwMkFCNzBGCis6MTAxOTYwMDBGOTgwMTZBQTEwRjgyQUE2Rjk4MDE3NUMxMEY4MkFBNkEyCis6MTAxOTcwMDBGOTgwMTc2RkVFMDI4QTExRkMwMEY0OTU0QTA4NEEwOUIzCis6MTAxOTgwMDA0QTBBNEEwNzRBMUQ2OEY4MDAwNzdEM0Y2OUY4MDAwN0MwCis6MTAxOTkwMDA0MDAwNjhGODAwMURGRkZDMTBGODJBQTdGODQ0MEU0QjIxCis6MTAxOUEwMDA3NkY4MkFBMzAwMDFGMDczMEU0RTc2RjgyQUE0MDAwMUZGCis6MTAxOUIwMDA4QTFEOEEwNzhBMEE4QTA5OEEwOEY0RUI0QTExNEExNjlDCis6MTAxOUMwMDA0QTE3RUVGRTg4MEU3MTA4MDAxNjcxMDYwMDE3MTEwN0ZGCis6MTAxOUQwMDBGMDY2MDAwREYwMDAyNUEwODgxMTc2MDEwMDA2ODEwMDU4Cis6MTAxOUUwMDBGMjc0MDZDRUYwMDAwMDAxNzYwMTAwMDY3MDAwMDAxNkM5Cis6MTAxOUYwMDA0ODExRjI3NDA2Q0VGMDAwMDAwNzcwODEwMDE3RUUwMjY1Cis6MTAxQTAwMDA4QTE3OEExNjhBMTFGQzAwNEExMTg4MEU3MTAyMDAxMjg4Cis6MTAxQTEwMDAxMTAzRjA2NjAwMERGMDAwMjQwMDg4MTFGNDk1NzA4MTI4Cis6MTAxQTIwMDAwMDEyNkVFMkZGRkUwRThERjQ5NUU4MDBFODAxODBFMTAxCis6MTAxQTMwMDAwMDAyNzZFMTAwMDMwMEZGNzZFMTAwMDQwMDAwNzZFMTk5Cis6MTAxQTQwMDAwMDBCMDAwMDc2RTEwMDBDMDAwMDgxRTEwMDAxOEExMTJBCis6MTAxQTUwMDBGQzAwNEExMUVFRkM4ODBFRjQ5NUYxNjYwMDBERjMwMENGCis6MTAxQTYwMDAyNDAwODkxMUY0OTVGNDk1NzZFMTAwMEMwMDAwNzZFMUVDCis6MTAxQTcwMDAwMDBCMDAwMDc2RTEwMDAyMDAwMTc2MDAwMDAwNzYwMTE0Cis6MTAxQTgwMDAwMDAwODAwMjc2MDMwMDAwRjI3NDBDQjlGNDk1RTgwMEJGCis6MTAxQTkwMDBFRTA0OEExMUZDMDA0QTExODgxOUY0OTU3MzE5MDAwRTlFCis6MTAxQUEwMDBGMTY2MDAwREYyMDAyNDAwNzcxNTI1QTA3NzE0MDAwMEUwCis6MTAxQUIwMDA3NzFBMDAxRkYwNzIwRjE0RjZCODQ5MTkwOTg1Rjg0QzBGCis6MTAxQUMwMDAwRjEzRjEwMDAwMDU4OTExNDkxNUYzMDAwMDAxODkxMzc2Cis6MTAxQUQwMDA0OTE1RjMwMDAwMDc4OTEyMTE5MzFEOTExOTkyODkxMDdECis6MTAxQUUwMDBGNDk1RjQ5NTZDODAwRjEzMTE5MzFEOTExOTkyODkxMDQwCis6MTAxQUYwMDBGNDk1RjQ5NTZDODAwRjEzMTE5MzFEOTExOTkyODkxMDMwCis6MTAxQjAwMDBGNDk1RjQ5NTZDODAwRjEzMTE5MzFEOTExOTkyODkxMDFGCis6MTAxQjEwMDBGNDk1RjQ5NTZDODAwRjEzMTE5MzFEOTExOTkyODkxMDBGCis6MTAxQjIwMDBGNDk1RjQ5NTZDODAwRjEzMTE5MzFEOTExOTkyODkxMUZFCis6MTAxQjMwMDBGNDk1RjQ5NTZDODEwRjEzNkQ5NDZERUQwMDBENDgxNEMwCis6MTAxQjQwMDA4QTExRkMwMDRBMTE0QTE2NEExN0VFRjg4ODE3MTAwRDQwCis6MTAxQjUwMDA4MDA0MTAwQzgwMDU3MTBFMDAxNjczMTcwMDBFRjA2NkRECis6MTAxQjYwMDAwMDBERjAwMDI0MDA4ODExMTBGODI3NjNGODQ1MEYzMkFCCis6MTAxQjcwMDBGMjc0MEU5RkY0OTU0ODE3MTBGODI3NjBGODQ0MEYzRDUzCis6MTAxQjgwMDA2MEUxMDAwMjAwMDFGODIwMEY2REYwNzMxMTMzMTAwNEMyCis6MTAxQjkwMDA4MDAwMTAwNUYwNzQwNjlGMTEwNEYzMDAwMDAxODEwNDE5Cis6MTAxQkEwMDA2RDhFNzcxMDAwMDE3MUUxMDAwMjAwMTJGNEFBRjgzMDg2Cis6MTAxQkIwMDAwRjYyNzcxMDAwMDJGNEFBRjgzMDBGNkQ0NUUxMDAwQkI4Cis6MTAxQkMwMDA4ODEwNDNFMTAwMEM4M0Y4MDAxMkY0OTVGNDk1RjRBQTEwCis6MTAxQkQwMDBGODMwMEY2REYwNzMwRjk2RjUwMDgxMDQ0OTE2RjUyMDZCCis6MTAxQkUwMDA4OTE2NzZFMTAwMEMwMDAwNzZFMTAwMDQwMDAwNDgxNjNBCis6MTAxQkYwMDBGODQ1MTEzM0Y3Qjg3MUUxMDAwMjAwMTIxMEY4MDAxMjM1Cis6MTAxQzAwMDBGMDEwMDAwM0Y4NDYwRjhDMTBGODAwMTJGMDEwMDAwM0RCCis6MTAxQzEwMDBGODQ1MTAxNjc3MTAwMDAxRjRBQUY4MzAwRjlDNzcxMEUxCis6MTAxQzIwMDAwMDAyRjRBQUY4MzAwRkE4RjA3MzBGOTY3NzEwMDAwNEEyCis6MTAxQzMwMDBGNEFBRjgzMDEwQjc3NzEwMDAwNUY0QUFGODMwMTBCQ0Y5Cis6MTAxQzQwMDBGMjc0MEU5RkY0OTU0ODE3RjA3MzExMzE3NkUxMDAwQzkxCis6MTAxQzUwMDAwMDAwNzZFMTAwMEIwMDAwNzZFMTAwMDQwMDAwNzZFMTcwCis6MTAxQzYwMDAwMDAyMDAwMjExRTEwMDBDRTgwM0Y2MjA4OTEyRjQ5NTRECis6MTAxQzcwMDA3NzEwMDAwM0Y1QUFGODMwMEZCNjZCRjgyNzZGMDAwMTU0Cis6MTAxQzgwMDA4ODEwRjQ5NUY0OTVGNUFFRjgyMDBGQkQ0ODE2ODAwNjNGCis6MTAxQzkwMDA4ODEzRjQ5NTc3MTAwMDAzRjZBQkY4MjAwRkM4NkJGOEEzCis6MTAxQ0EwMDAyNzZGMDAwMTEyMDZGODQ1MTAwMDEwRTEwMDA0ODAwMEMzCis6MTAxQ0IwMDAxMDA1ODAwMTEwMDQ4MDAyMTAwNjgwMDM0ODExRjI3NEEwCis6MTAxQ0MwMDAwNzFFRjAwMDAwMDUxMDA2MDBFMTAwMDQ4MEUxMDAwNDlBCis6MTAxQ0QwMDAxMDA2MDBFMTAwMEM4MEUxMDAwQzg4MTIxMTA2MTAwNENGCis6MTAxQ0UwMDBGNjAwODAwNDQ4MTZGNjIwODgxNjg5MTNGNDk1NzcxMEJDCis6MTAxQ0YwMDAwMDAzRjZBQkY4MjAwRkY1NkJGODI3NkYwMDAxNzcxMEEzCis6MTAxRDAwMDAwMDBDNzFFMTAwMDQwMDEzRjZBQkY4MjAxMDAwNkJGODMyCis6MTAxRDEwMDAyNzZGMDAwMTZDRTJGRkZEMTEzMUY2Qjg2RkUxMDAwNTlECis6MTAxRDIwMDAwQzQ4NkZFMTAwMDYwQzE4RjAzMDBGRkZGMDAwMDAwM0M0Cis6MTAxRDMwMDA4MEUxMDAwQjc2RTEwMDAyMDAwMzQ4MTZGODQ1MTEzM0ZDCis6MTAxRDQwMDA3MUUxMDAwQzAwMTIxMEUxMDAwQjQ5MTJGNjIwODgxMzFCCis6MTAxRDUwMDBFODBDRjYyMDg4MTBGNDk1RjQ5NUY1QUJGODIwMTAyN0UwCis6MTAxRDYwMDA0ODEzODAwNjg4MTBGNDk1RjQ5NUY1QUVGODIwMTAzMEVECis6MTAxRDcwMDA3MDA2MDAxNjEyMDZGODQ1MTA1RjEwRTEwMDA0ODAwMDlFCis6MTAxRDgwMDAxMDA1ODAwMTEwMDQ4MDAyMTAwNjgwMDM0ODExRjI3NENGCis6MTAxRDkwMDAwNzFFRjAwMDAwMDUxMDA2MDBFMTAwMDQ4MEUxMDAwNEM5Cis6MTAxREEwMDAxMDA2MDBFMTAwMEM4MEUxMDAwQzg4MTIxMTA2MTAwNEZFCis6MTAxREIwMDBGNjAwODAwNDQ4MTZGNjIwODgxNkY0OTU3NzEwMDAwQzdCCis6MTAxREMwMDA3MUUxMDAwNDAwMTNGNkFCRjgyMDEwNUY2QkY4Mjc2Rjg5Cis6MTAxREQwMDAwMDAxNzcxMDAwMENGNkFBRjgyMDEwNkJGMjc0MEU5RjI5Cis6MTAxREUwMDBGNDk1NDgxNzcxRTEwMDBDMDAxMjc3MTAwMDBDRjRBQTZBCis6MTAxREYwMDBGODMwMTA3Qzc3MTAwMDBDNzFFMTAwMEIwMDEzRjZBQjhCCis6MTAxRTAwMDBGODMwMTBCNEU3MzBGN0FBRjgzMDEwQjRGMjc0MEVDMTBECis6MTAxRTEwMDBGNDk1NDgxNzg4MTJGNDk1RjQ5NTZDODIxMDhENzZFMTRDCis6MTAxRTIwMDAwMDA0MDAwMDc2RTEwMDAyMDAwNUYwNzMxMEI0NzZFMUQyCis6MTAxRTMwMDAwMDAyMDAwNDc3MTAwMDBDNzFFMTAwMEIwMDEyRjVBQUZCCis6MTAxRTQwMDBGODIwMTA5QUYwNzMxMDlDNzcxMjAwMEM3NjAwMDAwMEI2Cis6MTAxRTUwMDA3MDAxMDAxMjcwMDIwMDE3NzYwMzAwMDE0ODExRjI3NDNECis6MTAxRTYwMDAwQ0I5RjAwMDAwMDU3NkUxMDAwNDAwMDA3NzEwMDAwQ0NBCis6MTAxRTcwMDA3MUUxMDAwQjAwMTJGNkFBRjgyMDExMUM0ODE2Rjg0NTczCis6MTAxRTgwMDAxMTMzNjBFMTAwMDIwMDA1RjgyMDEwREYxMEUxMDAwQkMzCis6MTAxRTkwMDAwOEUxMDAwQzExRTEwMDA0Rjg0RDEwQzc2QkY4Mjc2RjQyCis6MTAxRUEwMDAwMDAxODgxMEY0OTVGNDk1RjVBRUY4MjAxMENGNDgxNjhGCis6MTAxRUIwMDBGNDk1NDgwOEY4NDUxMTE2NkZFMTAwMEMwRDAwODFFMTFBCis6MTAxRUMwMDAwMDBDMTEwNEY1MDA4MTA0NDkxNkY1MjA4OTE2RjA3MzAxCis6MTAxRUQwMDAxMTBFMTBFMTAwMEI3MUUxMDAwQzAwMTI4ODEwRjQ5NTU2Cis6MTAxRUUwMDBGNDk1RjZBQUY4MzAxMTE2NDkxMkY2MjA4ODEwRjQ5NUU4Cis6MTAxRUYwMDBGNDk1RjVBRUY4MjAxMEYzNDgxNjgwMDY0ODA4Rjg0NTJBCis6MTAxRjAwMDAxMTE2MTAwNDcwMDIwMDE3ODAwMDc2MDMwMDAwMTAwNkZFCis6MTAxRjEwMDA4MDAxMTAwNUYwNzQwQ0I5MTAwNjAwRTEwMDBDODBFMTlFCis6MTAxRjIwMDAwMDBDMTEwNjEwMDRGNjAwODAwNDQ4MTZGNjIwODgxNkVFCis6MTAxRjMwMDAxMEUxMDAwQzA4RTEwMDBCRjg0NTExMUNGMDczMTEzMUExCis6MTAxRjQwMDBGMjc0MEU5RkY0OTU0ODE3RjA3MzExMzM3NkUxMDAwQzhDCis6MTAxRjUwMDAwMDAwNzZFMTAwMEIwMDAwNzZFMTAwMDIwMDAxMTAwNEIxCis6MTAxRjYwMDA4MDAwMTAwNUYwNzQwNjlGODgxMkY0OTU3NzEwMDBGRjJBCis6MTAxRjcwMDBGNEFBRjgzMDExMzM2Qzg2MEY3MEVFMDg4QTE3OEExNkFGCis6MTAxRjgwMDA4QTExRkMwMDRBMTFFRUZDRjQ5NTcxMDYwMDEyODgxMUNBCis6MTAxRjkwMDA3MzEyMDAwRUYxNjYwMDBERjMwMDI0MDA4OTE0MTM4MTAyCis6MTAxRkEwMDBGNzdBRjMzMDAwMDE4MUY4Mjc2MDEzRTEwMDAxRjc3QzM0Cis6MTAxRkIwMDBGMzMwMDAwMzgxRjgyNzYxRTkwRjE5RTEwMDAxODFGODhFCis6MTAxRkMwMDAyNzYyNzFFNDAwMDMwMDEzRjZCODQ5MTNGMzAwMDAwMTFGCis6MTAxRkQwMDBGMzMwMDAwRjQ5MEIwOUY4Mjc2MkY4NEQxMTc1NzcxMDlGCis6MTAxRkUwMDAwMEZGRjRBQkY4MzAxMTc1NTdGODI3NkNGMzAwMDAwMUNGCis6MTAxRkYwMDA0RkY4Mjc2Qzc2RjgyNzYzMDAwMUYwNzMxMTc4NzZGOEI0Cis6MTAyMDAwMDAyNzYzMDAwMDcwRTQwMDAzMjc2Mjc2RjgyNzY0MDAwMDZECis6MTAyMDEwMDAxMUY4Mjc2MTYxRjgwMDBCMDAwMkY4MjAxMThERTkwMTI5Cis6MTAyMDIwMDA2RkUxMDAwMjBGMTg4MUY4Mjc2NDExRjgyNzYxNjFGODQ5Cis6MTAyMDMwMDAwMDBCMDAwMUY4MjAxMUE5MTBGODI3NjRGMTAwMDAwNDNBCis6MTAyMDQwMDA4OTEzRTlCOEY1MjA4MUY4Mjc2NTYwODQwMDAyRjgyMDNCCis6MTAyMDUwMDAxMUE5NzAwMDAwMTE3MDAxMDAxMzcwMDIyNzY1RjI3NDVECis6MTAyMDYwMDAwRjE4RjQ5NTQ4MTJFRTA0OEExMUZDMDA0QTExNEExNjIyCis6MTAyMDcwMDA0QTE3RUVGQ0U4MDA0RUY4Mjc2NkU4MDA0RUY4Mjc2ODlECis6MTAyMDgwMDBFODAwNEVGODI3NkNFODAwNEVGODI3NkE3NzEyMjc0MEUwCis6MTAyMDkwMDA3NzExMjQwMDc3MUEwMDFGRjA3MjExREI3MDkyMDAxMTgzCis6MTAyMEEwMDA3NkUxMDAwMUZGRkY3NjgxMDAwMDc2RTEwMDAyMDAwMDhBCis6MTAyMEIwMDA3NkUxMDAwMzAwRkY3NkUxMDAwQzAwMDA3NkUxMDAwQjAyCis6MTAyMEMwMDAwMDAwNzZFMTAwMDQwMDAwNkRFOTAwMERGMDIwMjVBMDdECis6MTAyMEQwMDBGMTAwMDAwNzg5MTFGMTAwMDAwMTgxMDI4ODE2RjQ5NUQyCis6MTAyMEUwMDA3NzE3MDAyMDc2ODYwMEZGNzYwMDAwMDA3NjAxMDAwNjU0Cis6MTAyMEYwMDAxMDAyRjA3NDA2NkM3NjAwMDAwMDc2MDEwMDA2RjI3NDlGCis6MTAyMTAwMDAwNjZDRjQ5NTQ4MTExMDAyRjAwMDAwMEQ4MDAyNkRFOTk0Cis6MTAyMTEwMDAwMDBENkRFRTAwMEQ2Q0VGRkZGRjExRThGMDc0MEM5REVCCis6MTAyMTIwMDBFRTA0OEExNzhBMTY4QTExRkMwMDRBMTE0QTE2NEExN0M5Cis6MTAyMTMwMDBFRUZBODgxMTEwMEE0OTExRjg0RDEyOUY0ODA4Rjg0NTI3Cis6MTAyMTQwMDAxMjlGODAwNDEyODFGNTc4ODkxMkY0OTVGNDk1NkNFMjVGCis6MTAyMTUwMDBGRkI5MTI4QTYxRjgwMDA4MDA4MEY4MzAxMjhBMTNFMTkyCis6MTAyMTYwMDAwMDAxRjBFOEY3NzhGMUEwRjIzMDFGRkY4ODE3RjQ5NTJFCis6MTAyMTcwMDA3NzEyMjQwMDc3MTYwMDAwNzcxMzAwMjBGNkI4NDgxNzZFCis6MTAyMTgwMDAwOEUyMDAwMUY4NDUxMjQyNkRFQTAwMEQ2RDk2NkNFQjE1Cis6MTAyMTkwMDBGRkZGMTIzNEYwNzMxMjkwNTZGODI3NkFGMDAwMDAwMTI2Cis6MTAyMUEwMDA0RUY4Mjc2QTYwODIwMDAxRjgzMDEyNTQ3MDAwMDAxNjYxCis6MTAyMUIwMDBGMjc0MTEzOEY0OTU0ODExRjA3MzEyOTA3MDAwMDAxNjAzCis6MTAyMUMwMDBGMjc0MTEzOEY0OTU0ODExNzIxMDJBOUVGNDk1RjRBRjA4Cis6MTAyMUQwMDBGODMwMTI2RTc2MDAwMDAwNzYwMTAwQkM3MDAyMDAxNjI2Cis6MTAyMUUwMDA3NjAzMDAwMEYyNzQwQ0I5RjQ5NTQ4MTFGMDczMTI5MDY0Cis6MTAyMUYwMDAxMEY4Mjc2RUY4NDQxMjkwNzYwMDAwMDA3NjAxMDBCQ0JCCis6MTAyMjAwMDA3MDAyMDAxNjc2MDMwMDAwRjI3NDBDQjlGNDk1NDgxMUMwCis6MTAyMjEwMDBGMDc0MEM1RUYwRTBGMDEwMTM4OEY4NDIxMjkwNzZGODNCCis6MTAyMjIwMDAyNzZFMDAwMUYwNzMxMjkwNTZGODI3NjZGMDAwMDAwMTQ3Cis6MTAyMjMwMDA0RUY4Mjc2NjZERTkwMDVFNTZGODI3NjhGMDAwMDAwMTQ5Cis6MTAyMjQwMDA0RUY4Mjc2ODcxMDQwMDEyNkVFQUZGRkYxMjE4NzAwNDNFCis6MTAyMjUwMDAwMDEyRUUwNjhBMTc4QTE2OEExMUZDMDA0QTExRUVGRTU5Cis6MTAyMjYwMDA4ODBFRjQ5NUYwNjYwMDBERjAwMDI1QTA4ODExRjQ5NTE1Cis6MTAyMjcwMDBGNDk1NzY4MTAwRkY3NjAwMDAwMDc2MDEwMDA2RjI3NDg2Cis6MTAyMjgwMDAwNjZDRjAwMDAwMDE3NjAwMDAwMDc2MDEwMDA2NDgxMTlGCis6MTAyMjkwMDBGMjc0MDY2Q0YwMDAwMDA3RUUwMjhBMTFGQzAwNEExMThECis6MTAyMkEwMDA4ODBFRjQ5NUYwNjYwMDBERjAwMDI0MDA4ODExRjQ5NTc2Cis6MTAyMkIwMDBGNDk1NzZFMTAwMDFGRkZGNzY4MTAwMDA3NkUxMDAwMkVGCis6MTAyMkMwMDAwMDAwNzZFMTAwMDMwMEZGOEExMUZDMDA0QTExRjQ5NTNBCis6MTAyMkQwMDAxMzAzODgxMUZBNEQxMkVDNzEwMjAwMTJGMzEwMDAwMTgxCis6MTAyMkUwMDA4OTFBRjQ5NUYwNzIxMkVCNzA5MTAwMTI4QTExRkMwMEI5Cis6MTAyMkYwMDBGNDk1NEEwQjRBMEM0QTBERjdCOEVFRkUxMEY4MDAwOEE4Cis6MTAyMzAwMDAxMTA2RjFDMDgzMDBGNDg1MTEwNkY3ODU4MTA2RjZCODQxCis6MTAyMzEwMDBFQzBGMUUwNjYxMDA4MDAwRjgyMDEzMDVGNDg0RUUwMjI1Cis6MTAyMzIwMDA4QTBEOEEwQzhBMEJGQzAwRjQ5NTRBMEI0QTBDNEEwRDY0Cis6MTAyMzMwMDBFRUZFRjdCODgwMDAxMEY4MDAwOEY0ODUxMTA2Rjc4NTY2Cis6MTAyMzQwMDA4MTA2RjZCOEVDMEYxRTA2RjBGMDYxMDA4MDAwRjgyMDYwCis6MTAyMzUwMDAxMzIwRjQ4NEVFMDI4QTBEOEEwQzhBMEJGQzAwNEExMUM5Cis6MTAyMzYwMDA3NzExMDA3Qjc2ODEyRUVDNzcxMTAwN0JFRUZGNzE4MTc3Cis6MTAyMzcwMDAwMDExRUUwMTc2RTEwMDAxMDAwMDc2RTEwMDA0MDAwMEFBCis6MTAyMzgwMDA3NkUxMDAwNjAwMDA3NkUxMDA2MjAwMDA3NkUxMDA3NjZBCis6MTAyMzkwMDAwMDAwNzZFMTAwOTIwMDAwNzZFMTAwOTQwMDAwNzZFMTEyCis6MTAyM0EwMDAwMEIwMDAwMDc2RTEwMEIzMDAwMDc2RTEwMEJFMDAwMDVFCis6MTAyM0IwMDA3NkUxMDBCRjAwMDA3NkUxMDBDMTAwMDA3NkUxMDBDM0Q1Cis6MTAyM0MwMDAwMDAwNzZFMTAwQzUwMDAwNzZFMTAwQzcwMDAwNzY4MURDCis6MTAyM0QwMDAwMDAwOEExMUY0OTVGNEU0NEExMTRBMTY0QTE3RUVGRkY4Cis6MTAyM0UwMDBGNDk1NzEwNjAwMTZGQjgwMTZBMjg4MTdGNDk1RjdCOENECis6MTAyM0YwMDAxMEY4MDAxN0YwMTAwMDAyRkE0NjEzODg3NzExMDAwMDU5Cis6MTAyNDAwMDAxMEY4MDAxN0YwMTAwMDAyRjg0NTEzRjkxMEY4MDAxNzQzCis6MTAyNDEwMDBGODQ1MTQzOTEwRjgwMDE3RjAxMDAwMDFGODQ1MTQxRkEyCis6MTAyNDIwMDBGMDczMTQ1MjEwRjgwMDE3RjAxMDAwMDNGODQ1MTNEMzlFCis6MTAyNDMwMDAxMEY4MDAxN0YwMTAwMDA2Rjg0NDE0NTI3NzEyMDA3QkQxCis6MTAyNDQwMDA3MTgyMDAxNDYxRTQwMDA3MDA0MEY4MzAxNDUyNDkxNDBFCis6MTAyNDUwMDA0ODE3RjYwMDg4MTJGNDk1NzcxMzAwNTU3NzExMDA1NzQ2Cis6MTAyNDYwMDA2REVBMDAzQkU1MDExMEU2MDAwNjgwODE0ODE0MDBGOEEzCis6MTAyNDcwMDAwMDE3ODgxMkY0OTU3NzExMDA1NTEwRTIwMDQwODA4MTEyCis6MTAyNDgwMDA3NzExMDA1NzEwRTYwMDA3ODA4MTc3MTEwMDU1MTBFMkEwCis6MTAyNDkwMDAwMDQ1ODA4MTEwRTYwMDA4NzcxMTAwNTc4MDgxNzcxMTkwCis6MTAyNEEwMDAwMDU1MTBFMjAwNEE4MDgxNzcxMTAwNTcxMEU2MDAwOUJDCis6MTAyNEIwMDA4MDgxRjI3MzE0NTI3NzExMDNDMDc3MTIwMDdCMTA4MjZGCis6MTAyNEMwMDBGMDAwMDAwNzg4MTNGNDk1RjQ5NTk2MUJGODMwMTQ1MjI5Cis6MTAyNEQwMDAxMEUzMDAzNTc3MTIwMDU1ODA4Mjc3MTIwMDU3MTBFNjFFCis6MTAyNEUwMDAwMDA0ODA4Mjc3MTIwMDU1MTBFMzAwMzc4MDgyNzcxMjUzCis6MTAyNEYwMDAwMDU3MTBFNjAwMDU4MDgyNDgxMUYwNDAwMDEwRjI3MzhBCis6MTAyNTAwMDAxNDUwRjA0MDAwMjA3NzEyMDA3QjEwODJGMDAwMDAwNzhBCis6MTAyNTEwMDA4ODEyRjQ5NUY0OTU5NjBERjgzMDE0NTIxMEUyMDAzNEI4Cis6MTAyNTIwMDA3NzEzMDA1NTgwODM3NzEzMDA1NzEwRTYwMDAyODA4M0VECis6MTAyNTMwMDAxMEUyMDAzNjc3MTIwMDU1ODA4Mjc3MTIwMDU3MTBFNkJECis6MTAyNTQwMDAwMDAzODA4MjQ4MTFGMDQwMDAwNEYyNzMxNDUwRjA0MDAwCis6MTAyNTUwMDAwMDA4NzcxMjAwN0IxMDgyRjAwMDAwMDc4ODEyRjQ5NUMzCis6MTAyNTYwMDBGNDk1OTYwRUY4MzAxNDUyMTBFMjAwMzM3NzEyMDA1NUFECis6MTAyNTcwMDA4MDgyNzcxMjAwNTcxMEU2MDAwMTgwODI0ODExRjI3M0MyCis6MTAyNTgwMDAxNDUwRjA0MDAwMDI3NzEyMDA3QjEwODJGMDAwMDAwNzI4Cis6MTAyNTkwMDA4ODEyRjQ5NUY0OTU5NjBGRjgzMDE0NTIxMEUyMDAzMjM4Cis6MTAyNUEwMDA3NzEyMDA1NTc3MTMwMDU3ODA4MjQ4MTFFNzYyRjA0MDk4Cis6MTAyNUIwMDAwMDAxRTUwMTg4MTFGNDk1NzcxMjAwN0I0ODExNzE4MkMyCis6MTAyNUMwMDAwMDEyMUFFMjAwMDc4MEUyMDAwN0Y5ODAxNjlBRUUwMTc1Cis6MTAyNUQwMDA4QTE3NDgxMThBMTY4QTExRjRFNDRBMTE4ODExNzcwRTc1Cis6MTAyNUUwMDAwMDA1NzcxMjAwNTVFODA0RjZCODI4RTEwMDAyRUVGRjc2Cis6MTAyNUYwMDA4MDgyNzcxMjAwNTdGMDIwODAwMEVFMDExQTgyNzcxMjU1Cis6MTAyNjAwMDAwMDU3ODA4MkU4MDEzMkUxMDAwMkY1ODI3NzExMDA1NDIwCis6MTAyNjEwMDBGNjkzMTg4MTc3MTEwMDU0RjJBMDgwODE4QTExRjQ5NTA1Cis6MTAyNjIwMDBGNEU0NEExMTRBMTZGNDk1NzEwNDAwMTFGQjgwMTZBMkQ1Cis6MTAyNjMwMDA4ODE2RjQ5NTc3MTIwMDU1MTBFNjAwMDM4MDgyNzcxMjExCis6MTAyNjQwMDAwMDU2MTBFMTAwMDI3NzEzMDA1NjgwODI3NzEyMDA1NjgwCis6MTAyNjUwMDAxMEUxMDAwMzgwODIxMEUxMDAwNDc3MTIwMDU2ODA4MkFFCis6MTAyNjYwMDA3NzEyMDA1NjEwRTEwMDAxODA4MkU3MTJFNTAxRjk4MDNGCis6MTAyNjcwMDAxNjlBOEExNjhBMTFGNEU0NEExMTRBMTY0QTE3RUVGOTk0Cis6MTAyNjgwMDA3NzExMDA3Qjc2MDAwMDE2NzYwMTAwMTc3NjAyMDAxQTlCCis6MTAyNjkwMDA3NjAzMDAxQjc2MDQwMDFDNzYwNTAwMUQ3MTgxMDAxNzZGCis6MTAyNkEwMDA3MUU3MDAwNjAwMTExMDgxRjg0NDE0REZGOTgwMTY1MzE5Cis6MTAyNkIwMDBGNkI4RkI4MDE1ODVGMDIwRkZGRkY2QjhGQjgwMTYwODAyCis6MTAyNkMwMDBGMDIwRkZGRjc3MTEwMDdCNzE4MTAwMTc3NkU3MDAwNjhECis6MTAyNkQwMDAwMDAxNDgxNzc3MTYwMDAwNzcxMDAwMDQ3NzE1MDAwM0YzCis6MTAyNkUwMDA3NzE0MDAwMjc3MTMwMDAxRjAwMDAwMzk3NkU3MDAwODQ0Cis6MTAyNkYwMDAwMDFGNzZFNzAwMDcwMDAwODgwRTc3MUEwMDA1NDgxN0NDCis6MTAyNzAwMDBGMDAwMDAwOTg4MTI0ODE4ODgxOUU4MDBGMDcyMTUyQ0FBCis6MTAyNzEwMDA3MzE5MDAxMTc2ODIwMDAwMTE5MTczMTEwMDE5NzBFMjkzCis6MTAyNzIwMDAwMDAzMDAxNjcwRTIwMDA0MDAxMzcwRTIwMDA1MDAxNEJDCis6MTAyNzMwMDA4MUUyMDAwMTcwRTIwMDA2MDAxNTcwRTIwMDA3MDAxMDVGCis6MTAyNzQwMDA4MEUyMDAwMjczMEUwMDExRjEwMDAwMUU2REVFMDAwNTI0Cis6MTAyNzUwMDA2REVCMDAwNTZERUMwMDA1NkRFRDAwMDU2REU4MDAwNTA1Cis6MTAyNzYwMDBGMDAwMDAwMTgxOTE2REVBMDAwODczMTEwMDBFRUUwNzgwCis6MTAyNzcwMDA3NkU3MDA0MTAwMjQ3NkU3MDA0NjAwMjU3NkU3MDA0QjI3Cis6MTAyNzgwMDAwMDI2NzZFNzAwNTAwMDI3OEExNzhBMTY4QTExRjRFNDlCCis6MTAyNzkwMDA0QTExNEExNkVFRkU4ODExNTYwNjRFMDBGOTgwMTZBMjFFCis6MTAyN0EwMDBGN0I4MTBGODAwMTFGMDEwRkZGRkZBNDUxNTYwNzcxNjIyCis6MTAyN0IwMDBGRkZGNzcxMjAwN0I0OTExMTA4MkY2MDNGMDAwMDAwOTM5Cis6MTAyN0MwMDA4ODExRjQ5NUY0OTUxMDgxRjg0NDE1NzFGMjczMTU3MTIwCis6MTAyN0QwMDBGNDk1RTcxNjc3MTEwMDdCMTA4MUYwMDAwMDA5ODgxMTRECis6MTAyN0UwMDBGNDk1NzcxMjAwMDYxMDgxRjg0NTE1NUM2RUVBRkZGRjNDCis6MTAyN0YwMDAxNTY5NkRFOTAwMDg3Njg2MDAwMUU5MDE1NjAwRjE4MDRGCis6MTAyODAwMDAxMEY4MDAwQkY4NDUxNTdFRkI4MDE1ODVGNDk1NDgxNkU5Cis6MTAyODEwMDBGOTgwMTY5QUVFMDI0ODE2OEExNjhBMTFGNEU0NEExMUQzCis6MTAyODIwMDBFRUZGRkI4MDE2QTI4ODExRjQ5NTc3MTBGRkZGRjRBOTQ0Cis6MTAyODMwMDBGODMwMTVDNDEwRTEwMDAzNzcxMjAwNTU4MDgyNzcxMjNBCis6MTAyODQwMDAwMDU2NzY4MjAwMDA3NzEyMDA1Njc2ODIwMDAwNzcxMkRBCis6MTAyODUwMDAwMDU2NzY4MjAwMDA3NzEyMDA1Njc2ODIwMDAwNzcxMkNBCis6MTAyODYwMDAwMDU2NzY4MjAwMDAxMEUxMDAwMkYwMDAwMDA4MzJGODA1Cis6MTAyODcwMDAwMDA4NzcxMjAwNTRFODAxRjQ4MkY0OTMxODgyNzcxMjZBCis6MTAyODgwMDAwMDU0RjA0MDAwMDA4MDgyMTBFMTAwMDFGOTgwMTY3NkNCCis6MTAyODkwMDAxMEUxMDAwMUY5ODAxNjY2RjA3MzE2MDM3NzExMDA3QkQyCis6MTAyOEEwMDA3MTgxMDAxMTcxRTEwMDA3MDAxMjc2ODIwMDAwMTBFMUQxCis6MTAyOEIwMDAwMDA5Rjk4MDE1ODU3NzExMDA3QjcxODEwMDExMTBFMTA1Cis6MTAyOEMwMDAwMDA5RkI4MDE1ODVGMDAwMDAwODc3MTEwMDdCNzE4MUZECis6MTAyOEQwMDAwMDExMTBFMTAwMDlGQjgwMTU4NUYwMDAwMDEwNzcxMTUwCis6MTAyOEUwMDAwMDdCNzE4MTAwMTExMEUxMDAwOUZCODAxNTg1RjAwMDZCCis6MTAyOEYwMDAwMDE4NzcxMTAwN0I3MTgxMDAxMTEwRTEwMDA5RkI4MDQ1Cis6MTAyOTAwMDAxNTg1RjAwMDAwMjA3NzExMDA3QjcxODEwMDExMTBFMTI2Cis6MTAyOTEwMDAwMDA5RkI4MDE1ODVGMDAwMDAyOEY5ODAxNjlBRUUwMTY5Cis6MTAyOTIwMDA4QTExRjRFNDRBMTFFRUZGRkI4MDE2QTI4ODExRjQ5NTk3Cis6MTAyOTMwMDA3NzEwRkZGRkY0QTlGODMwMTY0MTc3MTEwMDU1NzY4MTIyCis6MTAyOTQwMDAwMDFFNzcxMTAwNTY3NjgxMDAwMDc3MTEwMDU2NzY4MUJGCis6MTAyOTUwMDAwMDAwNzcxMTAwNTY3NjgxMDAwMDc3MTEwMDU2NzY4MUNECis6MTAyOTYwMDAwMDAwNzcxMTAwNTY3NjgxMDAwMDc3MTEwMDU2NzY4MUJECis6MTAyOTcwMDAwMDAwNzcxMTAwNTY3NjgxMDAwMDc3MTEwMDU2NzY4MUFECis6MTAyOTgwMDAwMDAwNzcxMTAwNTY3NjgxMDAwMDc3MTEwMDU2RjI3MzJGCis6MTAyOTkwMDAxNjRFNzY4MTAwMDA3NzExMDA3QjcxODEwMDExNzFFMTg0Cis6MTAyOUEwMDAwMDA3MDAxMjc2ODIwMDAwMTBFMTAwMzlGOTgwMTYwODU1Cis6MTAyOUIwMDBGOTgwMTY5QUVFMDE4QTExRjRFNDRBMTE3NzExMDA3QjJFCis6MTAyOUMwMDAxMDgxRjAwMDAwMDQ4ODExRjQ5NUY0OTUxMDgxRkE0NDA4Cis6MTAyOUQwMDAxNjYzRjQ5NUVFRkY3NjgxMDAwMUVFMDE4QTExRjRFNEFFCis6MTAyOUUwMDBGMDEwMDAxMDRBMTEzMkY4MDAwOEVFRkY3NzExMDAwMUQ0Cis6MTAyOUYwMDBFODAxRUUwMUY0ODIxQTgxODA4MThBMTFGNDk1RjRFNEYxCis6MTAyQTAwMDBGMDEwMDAxMDRBMTEzMkY4MDAwOEVFRkZFODAxNzcxMUNCCis6MTAyQTEwMDAwMDAwRjQ4MkVFMDFGNDkzMTg4MTgwODE4QTExRjQ5NTBDCis6MTAyQTIwMDBGNEU0NEExMUYwMTAwMDEwNzcxMTAwMDAzMkY4MDAwOEE5Cis6MTAyQTMwMDBFRUZGMTE4MUU4MDFFRTAxNzcxMTAwMDBGNDgyRjJBMEFGCis6MTAyQTQwMDA4MDgxOEExMUY0OTVGNEU0RjI3MzE2OUVGNkJCRjQ5NTM2Cis6MTAyQTUwMDBGNDk1RjQ5NUY0OTVGNEU0RjI3MzE2QTZGN0JCRjQ5NUE3Cis6MTAyQTYwMDBGNDk1RjQ5NUY0OTVGNEU0NEExMTRBMTZGNDk1NzEwNDNBCis6MTAyQTcwMDAwMDE2RkI4MDE2QTI4ODExRjQ5NTcxRTEwMDA1MDAxMjgyCis6MTAyQTgwMDA3NjgyMDAwRTEwRTYwMDBFNzFFMTAwMDYwMDEyODA4MkQwCis6MTAyQTkwMDA3MUUxMDAwNTAwMTI3NjgyMDAwRDcxRTEwMDA2MDAxMjVFCis6MTAyQUEwMDAxMEU2MDAwRDgwODI3MUUxMDAwNTAwMTI3NjgyMDAwQ0I0Cis6MTAyQUIwMDAxMEU2MDAwQzcxRTEwMDA2MDAxMjgwODI3MUUxMDAwNTUxCis6MTAyQUMwMDAwMDEyNzY4MjAwMEIxMEU2MDAwQjcxRTEwMDA2MDAxMjg2Cis6MTAyQUQwMDA4MDgyNzFFMTAwMDUwMDEyNzY4MjAwMEE3MUUxMDAwNjMxCis6MTAyQUUwMDAwMDEyMTBFNjAwMEE4MDgyNzFFMTAwMDUwMDEyNzY4MjcxCis6MTAyQUYwMDAwMDA5MTBFNjAwMDk3MUUxMDAwNjAwMTI4MDgyNzFFMTEwCis6MTAyQjAwMDAwMDA1MDAxMjc2ODIwMDA4NzFFMTAwMDYwMDEyMTBFNjRFCis6MTAyQjEwMDAwMDA4ODA4MjcxRTEwMDA1MDAxMjc2ODIwMDA3MTBFNjRECis6MTAyQjIwMDAwMDA3NzFFMTAwMDYwMDEyODA4MjcxRTEwMDA1MDAxMkM5Cis6MTAyQjMwMDA3NjgyMDAwNjcxRTEwMDA2MDAxMjEwRTYwMDA2ODA4MjJGCis6MTAyQjQwMDA3MUUxMDAwNTAwMTI3NjgyMDAwNTcxRTEwMDA2MDAxMkI1Cis6MTAyQjUwMDAxMEU2MDAwNTgwODI3MUUxMDAwNTAwMTI3NjgyMDAwNDEzCis6MTAyQjYwMDA3MUUxMDAwNjAwMTIxMEU2MDAwNDgwODI3MUUxMDAwNUE4Cis6MTAyQjcwMDAwMDEyNzY4MjAwMDM3MUUxMDAwNjAwMTIxMEU2MDAwM0U1Cis6MTAyQjgwMDA4MDgyNzFFMTAwMDUwMDEyNzY4MjAwMDIxMEU2MDAwMkU4Cis6MTAyQjkwMDA3MUUxMDAwNjAwMTI4MDgyNzFFMTAwMDUwMDEyNzY4MjY4Cis6MTAyQkEwMDAwMDAxMTBFNjAwMDE3MUUxMDAwNjAwMTI4MDgyNzFFMTZGCis6MTAyQkIwMDAwMDA1MDAxMjc2ODIwMDAwNzFFMTAwMDYwMDEzRTc2MjUyCis6MTAyQkMwMDBFNTAxRjk4MDE2OUE4QTE2OEExMUY0RTQ0QTExODgxMUVGCis6MTAyQkQwMDBGNDk1RjQ5NTcxRTEwMDA1MDAxMkVFRkY3NjgyMDAwMDk1Cis6MTAyQkUwMDBFRTAxNzFFMTAwMDYwMDExNjk4MTAwMDE4QTExRjQ5NTdFCis6MTAyQkYwMDBGNEU0NEExMTg4MTFGNDk1RjQ5NTcxRTEwMDA1MDAxMjhFCis6MTAyQzAwMDBFRUZGNzY4MjAwMDFFRTAxNzFFMTAwMDYwMDExNjk4MTlDCis6MTAyQzEwMDAwMDAxOEExMUY0OTVGNEU0NEExMTc3MTEwMDdCMTA4MUM4Cis6MTAyQzIwMDBGMDAwMDA5NDg4MTFGNDk1RjQ5NTEwODFGQTQ0MTc5Q0YzCis6MTAyQzMwMDBGNDk1RUVGRkY5ODAxNjUzNzcxMTAwN0IxMDgxRjAwMEI4Cis6MTAyQzQwMDAwMDk0ODgxMUY0OTVGNDk1NzY4MTAwMDFFRTAxNzZFMTA3Cis6MTAyQzUwMDAwMDAxMDAwMDc2RTEwMDAyMDAyMTc2RTEwMDAzMDAyMDdGCis6MTAyQzYwMDA3NkUxMDAwNDAwMjM3NkUxMDAwNTAwMjI3NkUxMDAwNjBCCis6MTAyQzcwMDAwMDM4NzZFMTAwMDcwMDM5NzZFMTAwMDgwMDE1NzZFMUJBCis6MTAyQzgwMDAwMDA5MDAxNDc2RTEwMDBBMDAwMDc2RTEwMDBCMDA0MTIzCis6MTAyQzkwMDA3NkUxMDAwQzAwNDA3NkUxMDAwRDAwNDM3NkUxMDAwRTg1Cis6MTAyQ0EwMDAwMDQyNzZFMTAwMEYwMDQ4NzZFMTAwMTAwMDQ5NzZFMTJECis6MTAyQ0IwMDAwMDExMDAxQjc2RTEwMDEyMDAxQThBMTFGNDk1RjRFNDY5Cis6MTAyQ0MwMDA0QTExRUVGRDg4MTE1NjA2NEUwMEY5ODAxNkEyNzcxMkMxCis6MTAyQ0QwMDAwMDdCNzcwRTAwMDkxMDgyMjhGODAwMTFGMDAwMDA5NUEzCis6MTAyQ0UwMDA4ODExRjQ5NUY0OTUxMDgxRjg0NTE3RjBGMjczMTdGREVCCis6MTAyQ0YwMDA3NzExRkZGRjc2ODEwMDAxRTkwMTU2MDBGMTgwMTBGODlECis6MTAyRDAwMDAwMDBCRjg0NTE3RkRGQjgwMTgxMEY0OTU0ODExRjk4MDY5Cis6MTAyRDEwMDAxNjlBRUUwMzQ4MTE4QTExRjQ5NUY0RTQ0QTExODgxMUM5Cis6MTAyRDIwMDBGNDk1RUVGRjcxRTEwMDAxMDAxMUVFMDExMDgxOEExMUFFCis6MTAyRDMwMDBGNDk1RjRFNDRBMTFFRUZGRkI4MDE2QTI4ODExRjQ5NTk1Cis6MTAyRDQwMDA3NzEwRkZGRkY0QTlGODMwMThDMzcxRTEwMDA1MDAxMkY1Cis6MTAyRDUwMDA3NjgyMDAwMDcxRTEwMDA2MDAxMjc2ODIwMDAwNzFFMUM3Cis6MTAyRDYwMDAwMDA1MDAxMjc2ODIwMDAxNzFFMTAwMDYwMDEyNzY4MkYxCis6MTAyRDcwMDAwMDAwNzFFMTAwMDUwMDEyNzY4MjAwMDI3MUUxMDAwNjk4Cis6MTAyRDgwMDAwMDEyNzY4MjAwMDA3MUUxMDAwNTAwMTI3NjgyMDAwM0Q1Cis6MTAyRDkwMDA3MUUxMDAwNjAwMTI3NjgyMDAwMDcxRTEwMDA1MDAxMjY4Cis6MTAyREEwMDA3NjgyMDAwNDcxRTEwMDA2MDAxMjc2ODIwMDAwNzFFMTczCis6MTAyREIwMDAwMDA1MDAxMjc2ODIwMDA1NzFFMTAwMDYwMDEyNzY4MjlECis6MTAyREMwMDAwMDAwNzFFMTAwMDUwMDEyNzY4MjAwMDY3MUUxMDAwNjQ0Cis6MTAyREQwMDAwMDEyNzY4MjAwMDE3MUUxMDAwNTAwMTI3NjgyMDAwNzgwCis6MTAyREUwMDA3MUUxMDAwNjAwMTI3NjgyMjAwMDcxRTEwMDA1MDAxMkY4Cis6MTAyREYwMDA3NjgyMDAwODcxRTEwMDA2MDAxMjc2ODIwMDAwNzFFMTFGCis6MTAyRTAwMDAwMDA1MDAxMjc2ODIwMDA5NzFFMTAwMDYwMDEyNzY4MjQ4Cis6MTAyRTEwMDAwMDAwNzFFMTAwMDUwMDEyNzY4MjAwMEE3MUUxMDAwNkVGCis6MTAyRTIwMDAwMDEyNzY4MjAwMDA3MUUxMDAwNTAwMTI3NjgyMDAwQjJDCis6MTAyRTMwMDA3MUUxMDAwNjAwMTI3NjgyMDAwMDcxRTEwMDA1MDAxMkM3Cis6MTAyRTQwMDA3NjgyMDAwQzcxRTEwMDA2MDAxMjc2ODIwMDAwNzFFMUNBCis6MTAyRTUwMDAwMDA1MDAxMjc2ODIwMDBENzFFMTAwMDYwMDEyNzY4MkY0Cis6MTAyRTYwMDAwMDAwNzFFMTAwMDUwMDEyNzY4MjAwMEU3MUUxMDAwNjlCCis6MTAyRTcwMDAwMDEyNzY4MjAwMDAxMEUxMDAwN0Y5ODAxNjc2MTBFMTVBCis6MTAyRTgwMDAwMDA4Rjk4MDE2NzYxMEUxMDAwN0Y5ODAxNjY2MTBFMTU3Cis6MTAyRTkwMDAwMDA4Rjk4MDE2NjZGMDczMThEMTc3MTEwMDdCMTA4MTU1Cis6MTAyRUEwMDBGQjgwMTgxMEYwMDAwMDk1NzcxMTAwN0IxMDgxRkI4MEVCCis6MTAyRUIwMDAxODEwRjAwMDAwOUVGOTgwMTY5QUVFMDE4QTExRjRFNEQxCis6MTAyRUMwMDA0QTExODgxMUVFRkZGNDk1MTAwNDcxRTEwMDAzMDAxMTFFCis6MTAyRUQwMDBFRTAxODA4MThBMTFGNDk1RjRFNDRBMTE0QTE2RjQ5NUMyCis6MTAyRUUwMDA3MTA0MDAxNkZCODAxNkEyODgxMUY0OTU3MUUxMDAwMkFFCis6MTAyRUYwMDAwMDEyNzY4MjAwMTAxMEU2MDAwMTcxRTEwMDAzMDAxMjVBCis6MTAyRjAwMDA4MDgyNzFFMTAwMDQwMDEyMTBFNjAwMDI4MDgyRTc2MjE0Cis6MTAyRjEwMDA3MUUxMDAwMjAwMTNFNTAxRjk4MDE2OUE4QTE2OEExMTAwCis6MTAyRjIwMDBGNEU0NEExMTg4MTFFRUZGRUUwMTEwRTEwMDAxOEExMTZDCis6MTAyRjMwMDBGNDk1RjRFNDRBMTE3NzExMDA3QjEwODFGMDAwMDBCMzlFCis6MTAyRjQwMDA4ODExRjQ5NUY0OTUxMDgxRkE0NDE5MkFGNDk1RUVGRjRFCis6MTAyRjUwMDBGOTgwMTY1Mzc3MTEwMDdCMTA4MUYwMDAwMEIzODgxMUJGCis6MTAyRjYwMDBGNDk1RjQ5NTc2ODEwMDAxRUUwMTc2RTEwMDAxMDAwMDEwCis6MTAyRjcwMDA3NkUxMDAwMjAwMTM3NkUxMDAwMzAwMjY3NkUxMDAwNDBBCis6MTAyRjgwMDAwMDI1NzZFMTAwMDUwMDI0NzZFMTAwMDYwMDAwNzZFMUU4Cis6MTAyRjkwMDAwMDA3MDAxNzc2RTEwMDA4MDAzMjc2RTEwMDA5MDAzMUYxCis6MTAyRkEwMDA3NkUxMDAwQTAwMzA4QTExRjQ5NUY0RTQ0QTExNEExNkQ5Cis6MTAyRkIwMDA0QTE3RUVGRkY0OTU3MTA2MDAxN0ZCODAxNkEyODgxMUUwCis6MTAyRkMwMDBGNDk1RjdCODEwRjgwMDExRjAxMEZGRkZGQTQ1MTk3M0U3Cis6MTAyRkQwMDA3NzE2RkZGRjc3MTIwMDdCNzcwRTAwMDUxMDgyMjhGODI2Cis6MTAyRkUwMDAwMDExRjAwMDAwQjQ4ODExRjQ5NUY0OTUxMDgxRjg0NEI0Cis6MTAyRkYwMDAxOTg0RjI3MzE5ODRGNDk1RTcxNjc3MTEwMDdCMTA4MTE4Cis6MTAzMDAwMDBGMDAwMDBCNDg4MTFGNDk1NzcxMjAwMDIxMDgxRjg0NUExCis6MTAzMDEwMDAxOTZGNkVFQUZGRkYxOTdDNkRFOTAwMDU2MUY4MDAxNzcyCis6MTAzMDIwMDAwMDAxRkEyMDE5OEY3Njg2MDAwMUZCODAxOTk3RjQ5NTJDCis6MTAzMDMwMDA0ODE2Rjk4MDE2OUFFRTAxOEExNzQ4MTY4QTE2OEExMUUwCis6MTAzMDQwMDBGNEU0NEExMUVFRkZGQjgwMTZBMjg4MTFGNDk1NzcxMDg0Cis6MTAzMDUwMDBGRkZGRjRBOUY4MzAxOUNDNzFFMTAwMDIwMDEyNjk4Mjc3Cis6MTAzMDYwMDAwMDEwNzFFMTAwMDIwMDEyNjg4MkY3RkY3MUUxMDAwMkI2Cis6MTAzMDcwMDAwMDEyNjg4MkZCRkY3MUUxMDAwMjAwMTI2ODgyRkZGMDFCCis6MTAzMDgwMDA3MUUxMDAwMzAwMTI3NjgyRkZGRjcxRTEwMDA0MDAxMjdCCis6MTAzMDkwMDA3NjgyRkZGRjcxRTEwMDAyMDAxMjY5ODIwMDIwNzFFMTc3Cis6MTAzMEEwMDAwMDAyMDAxMUYyNzMxOURBNjg4MUZGRUY3NzExMDA3QkRCCis6MTAzMEIwMDAxMDgxRkI4MDE5OTdGMDAwMDBCNDc3MTEwMDdCMTA4MTFDCis6MTAzMEMwMDBGQjgwMTk5N0YwMDAwMEI5Rjk4MDE2OUFFRTAxOEExMTc5Cis6MTAzMEQwMDBGNEU0MDBBNDAwMDAxOURGMDAwMTJBRTYwMDAwMDAwMTZBCis6MTAzMEUwMDAyQUU3MDAwMDAwMDMyQTEyMEMwMUMzNEYwMDAwMDAwMTcwCis6MTAzMEYwMDAyQTE1MDAwMDAwMDIyQTE2MDAwMDAwMDAwMDE5MkE1REFGCis6MTAzMTAwMDAwMDQzMDA2RjAwNzAwMDc5MDA3MjAwNjkwMDY3MDA2ODdBCis6MTAzMTEwMDAwMDc0MDAyMDAwNTQwMDY1MDA2MzAwNjgwMDZFMDA2RkJBCis6MTAzMTIwMDAwMDU0MDA3MjAwNjUwMDZFMDA2NDAwMjAwMDQxMDA0N0ZBCis6MTAzMTMwMDAwMDAwMDAwNDJBNzYwMDMwMDAyRTAwMzAwMDAwMDAwQzUxCis6MTAzMTQwMDAyQTdBMDA0NjAwNjUwMDYyMDAyMDAwMzIwMDM3MDAyMDI1Cis6MTAzMTUwMDAwMDMyMDAzMDAwMzAwMDMxMDAwMDAwMDkyQTg2MDAzMUMyCis6MTAzMTYwMDAwMDM0MDAzQTAwMzMwMDM1MDAzQTAwMzMwMDMzMDAwMEU5Cis6MTAzMTcwMDAwMDBGMkE4RjAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMTg1Cis6MTAzMTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGCis6MTAzMTkwMDAwMDAwMDAwMTJBOUUwMDAwMDAwMTJBOUYwMDAwMDAwMTlCCis6MTAzMUEwMDAyQUEwMDAwMDAwMDEyQUExMDAwMDAwMDEyQUEyMDAwMEJDCis6MTAzMUIwMDAwMDAxMjk3RTAwMDAwMDAyMjk4MDAwMDAwMDAwMDAwMUJCCis6MTAzMUMwMDAyOTgyRkZGRjAwMDEyQUE3MDAwMDAwMDUyQUE4NzE0MUZCCis6MTAzMUQwMDAyMDAwMjAwMDAwMjMwNDAwMDAwQTJBQUQwMDAwMDAwMEE3Cis6MTAzMUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERGCis6MTAzMUYwMDAwMDBGMkFCNzAwMDAwMDAwMDAwMDAwNDAwMEEwODI0MDNECis6MTAzMjAwMDAwMDA4MzA3RjAwODAwMTgwMDAwMDAwMDAwMDAwMDAwMDA2Cis6MTAzMjEwMDAwMDAwMDAwMTI3NkUwMDAwMDAwMTI3NkYwMDAwMDAwMDgxCis6MTAzMjIwMDAwMDA5MDAwMDFBODMwNEU4MDRDRjA0QzUwNEJBMDRCMEZFCis6MTAzMjMwMDAwNEFDMDQ5QzA0OEMwNDgxMDA3ODAwMDAwMTAwRjI3MzRCCis6MTAzMjQwMDAwN0VGRjQ5NUY0OTVGMjczMDdFRkY0OTVGNDk1RjI3M0E0Cis6MTAzMjUwMDAwN0VGRjQ5NUY0OTVGMjczMDdFRkY0OTVGNDk1RjI3Mzk0Cis6MTAzMjYwMDAwN0VGRjQ5NUY0OTVGMjczMDdFRkY0OTVGNDk1RjI3Mzg0Cis6MTAzMjcwMDAwN0VGRjQ5NUY0OTVGMjczMDdFRkY0OTVGNDk1RjI3Mzc0Cis6MTAzMjgwMDAwN0VGRjQ5NUY0OTVGMjczMDdFRkY0OTVGNDk1RjI3MzY0Cis6MTAzMjkwMDAwN0VGRjQ5NUY0OTVGMjczMDdFRkY0OTVGNDk1RjI3MzU0Cis6MTAzMkEwMDAwN0VGRjQ5NUY0OTVGMjczMDdFRkY0OTVGNDk1RjI3MzQ0Cis6MTAzMkIwMDAwN0VGRjQ5NUY0OTVGMjczMDdFRkY0OTVGNDk1RjI3MzM0Cis6MTAzMkMwMDAwN0FBRjQ5NUY0OTVGMjczMDdFRkY0OTVGNDk1RjI3MzY5Cis6MTAzMkQwMDAwN0VGRjQ5NUY0OTVGMjczMDIyM0Y0OTVGNDk1RjI3M0U1Cis6MTAzMkUwMDAwN0VGRjQ5NUY0OTVGMjczMDdFRkY0OTVGNDk1RjI3MzA0Cis6MTAzMkYwMDAwN0VGRjQ5NUY0OTVGMjczMDdFRkY0OTVGNDk1RjI3M0Y0Cis6MTAzMzAwMDAwN0VGRjQ5NUY0OTVGMjczMDdFRkY0OTVGNDk1RjI3M0UzCis6MTAzMzEwMDAwNUU1RjQ5NUY0OTVGMjczMDJCNUY0OTVGNDk1RjI3MzFFCis6MTAzMzIwMDAwRTMzRjQ5NUY0OTVGMjczMDdFRkY0OTVGNDk1MDAwMERECis6MDAwMDAwMDFGRgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUvdmljYW0vZmlybXdhcmUuSDE2IGIvZmlybXdhcmUvdmljYW0vZmlybXdhcmUuSDE2Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNhYzBjYmEKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS92aWNhbS9maXJtd2FyZS5IMTYKQEAgLTAsMCArMSw3IEBACis6MDAyNjAwMDAwMEI2QzMxRjAwMDI2NEU3NjdGREZGMEVDMEU3MDlERTAwOEUwMEMwMDk0MDAzQzAxNzQ0MDM0QkFGQzAwNzAwMDA0QkFGOTdDRjAwMDAxRAorOjAwMEEwMDAwMDBCNkMzMDMwMDAzNjQxODAwMDAwMEZCCis6MDAwODAwMDAwMEI2QzMwMTAwMDY2NDAwMDAxNAorOjA2OTYwMDAwMDBCNkMzOEYwNjAyNjRFNzA3MDAwMDA4QzBFNzA3MDAwMDNFQzBFNzA3NTQwMUFBMDBFNzA3QzgwNUI2MDBFNzA3NDIwMUQyMDBFNzA3N0MwMDE2MDBFNzA3NTYwMDE4MDBFNzA3MDYwMDkyQzBFNzA3MDAwMDFFQzBFNzA3RkZGRjIyQzBFNzA3MDQwMDI0QzBFNzA3RUMyNzI4QzBFNzA3MTYwMThFMDBFNzg3MDEwMDBFQzA5N0NGRDcwOTAwQzBFNzc3MDEwMDkyQzAwOUMxRTcwOUZFMDUyNDAxRTcwOTA0MDYyNjAxRTcwNzA3MDA5MkMwRTcwNTAwQzBDMERGOTdDRjE3MDA1NzAwMTcwMkQ3MDkwMEMwRTc3NzAxMDA5MkMwMEFDMUU3NTdGRkZGRkEwNTBEQzBFNzU3MDAwMEZBMDUwRkMwOUZBRkM2MDBFNzA1MDBDMEM4MDVDMTA1QzAwNUMwREY5N0NGMjdEQUZBMDVFRjA3MDEwMDBCMDY3M0NGOUZBRjc4MDE5RkFGMUEwMzZFQ0ZFNzA5RkMwNTI0MDFFNzA5MDIwNjI2MDFFNzA3MDcwMDkyQzBFNzA5RkMwNUZFMDVFNzA5MDIwNjA0MDZFNzA5MDAwNkZDMDVFNzA5RkUwNTAwMDYyN0RBRkEwNUU3NTcwMTAwRkEwNTAyQ0EwNEMwOTdDRjlGQUY2NjA1OTdDRkU3MDc0MDAwMDIwNkM4MDlGQzA1OUZBRkRBMDI5N0NGQ0YxNzAyMDBFRjU3ODEwMDA5MDY5RkEwQjYwMUVGNTc4MDAwMDkwNjlGQTA0MDAyRUY1NzAxMDAwQjA2OUZBMDQ2MDNFNzA3MDEwMDBBQzA0NkFGNDdBRjlGQUY0MDAyRTcwNzJFMDAwQUMwRUY4NzgwMDAwOTA2OTdDRjAwMEUwMTAwQzA1NzUxMDA5RkMwOUUwMkMwNTc1MDAwMjBDMEMwNTc1NTAwMTJDMEMwNTc1NjAwOUZDMDcyMDI5RkNGRDYwMkMxMEIwODA2MDFEMDZGOTAwODA2QzAwNzA4MDBDMTBCMDgwNjlGQUYyODA1OTdDRjJGMEUwMjAwMDgwNkMwMDcwODAwQzEwQjA4MDY5RkFGMjgwNTlGQ0ZENjAyMkYwRTAyMDAwOTA2RUY4NzgwMDAwOTA2OUZDRkQ2MDJFRjY3N0ZGRjA5MDZFNzY3RkZGRDIyQzBFNzY3RUZGRjI0QzBFNzg3MTAwMDI4QzA5RkFGQjgwNUU3ODdFMDIxMjRDMDlGQUZBODA1RTc4NzA4MDAyNEMwRTc2N0RGRkYyNEMwQzgwNzBBMDBDMDA3MDAwMEMxMDcwMTAwOUZBRjI4MDU5RkFGQjgwNUMwMDc5RTAwOUZBRjQ0MDVFNzY3RkZGRTI0QzBDMDA5MjBDMEU3ODcwMDAxMjRDMEMwNzcwMDAyMEZDMUU3NjdGN0ZGMjRDMEU3NjdGN0ZGMjRDMEU3ODcwODAwMjRDMDA4REE1RUMxRUYwNzgwMDAwOTA2OTdDRkVGMDcwMTAwMEEwNjk3Q0ZFRjA3MDAwMDBCMDZFRjA3MDAwMDBBMDZFRjY3N0ZGRjA5MDZFRjA3MDAwMDBEMDZFNzY3RUZGRjI4QzBFNzY3MTdEODI0QzBFNzA3MDAwMDFFQzBFNzA3RkZGRjIyQzA5N0NGQzgwNzBFMDY5RkFGREEwMkU3MDcwMDAwRjIwNUU3MDcxMDAwRjYwNUU3MDcwRTA2RjQwNUU3MDdENjAyRjgwNUM4MDdGMjA1QzEwNzAwODA1MEFGOTdDRjJGMEMwMjAwMDcwNjJGMEMwNDAwMDYwNkU3MDcwMDAwRjIwNUU3MDcxMDAwRjYwNUU3MDdFMjA1RjQwNUU3MDdDRTAyRjgwNUM4MDdGMjA1QzEwNzAwODA1MUFGOTdDRjlGQUY2NjA0OUZBRjFBMDM1OUFGOTdDRkMwMDcwRTAwQzEwQjBDMDY0MUQxOUZBRjI4MDVDMDA3M0MwMDlGQUY0NDA1NjgwMEMwMDczQjAwOUZBRjQ0MDU2RjAwMEMwNjY4MDBFMDA3MDQwMUU4MEIwQTA2RTgwNzAwMDBFMDA3MDAwMkUwMDdFQzAxRTAwN0ZDRkY5N0NGRTcwN0ZGRkZGQTA1RUYwNzAwMDAwQjA2RTcwNzBFMDYyNDAxRTcwNzBFMDZGRTA1RTcwNzQwMDAyNjAxRTcwNzQwMDAwNDA2RTcwNzA3MDA5MkMwOTdDRkVGMDcwMjAwMEIwNjlGQUY3ODAxRUY3NzgwMDAwNzA2OUZDMDE0MDRFRjc3MDEwMDA3MDYzN0MwRUY3NzAxMDAwRDA2MEZDMUVGMDcwMTAwMEQwNkMwMDcwMjAwQzEwNzMwMDA5RkFGMjgwNUMwMDcwMTAwQzEwNzAyMDA5RkFGMjgwNUM4MDdGRjRGOUZBRkE4MDVDMDA3MzgwMDlGQUY0NDA1QzE3NzAzMDAwMkMxMDhEQTc1QzFDMTc3MDEwMDBBQzFDMDA3MDEwMEMxMDcwMjAwOUZBRjI4MDVFRjA3MDEwMDA2MDYyQ0NGQzAwNzAxMDBDMTA3MDQwMDlGQUYyODA1RUYwNzAwMDAwNjA2MjJDRkVGMDcwMDAwMEQwNkVGNTcwMTAwMDYwNjFCQzBDMDA3MDEwMEMxMDcwMTAwOUZBRjI4MDVDMDA3MDIwMEMxMDczMDAwOUZBRjI4MDVDODA3RkY0RjlGQUZBODA1QzAwNzM4MDA5RkFGNDQwNUMxNjcwMzAwQzE1NzAzMDAwMkMwMDhEQTczQzFDMDA3MDIwMEMxMDcxMjAwRUY1NzAwMDAwNjA2MDJDMEMxMDcyMzAwOUZBRjI4MDVDMDA3MTQwMEMxMEJFQTA1OUZBRjI4MDVDMDA3M0UwMDlGQUYwQTA1RTcwOUU0MDVGQTA1MjdEOEZBMDVFNzA3MEUwNkZDMDVFNzA3NEUwNjAwMDZFNzA3NDAwMDAyMDY5RkFGNjYwNTlGQUZDNjAwOTdDRkMxMEJFMjA1NDFEMDAxRDJDMTE3MjMwMDlGQUZEQzA0QzAwNzA0MDBDMTBCRTMwNTlGQUYyODA1QzAwNzA2MDBDMTA5RTYwNTlGQUYyODA1QzAwNzA3MDBDMTA5RTYwNUMxRDE5RkFGMjgwNUMwMDcwQjAwQzEwOUU4MDU5RkFGMjgwNUMwMDcwQzAwQzEwOUU4MDVDMUQxOUZBRjI4MDVDMDA3MEQwMEMxMDcwOTAwOUZBRjI4MDVDMDA3MDMwMEMxMDczMjAwOUZBRjI4MDVDMDA3MEYwMEMxMDcwMDAwOUZBRjI4MDU5N0NGRTc2N0ZGRDkyNEMwQzgwNzBBMDA0MDAwQzA2NzAwMDIyNzgwMjRDMEU3ODcwMDA0MjRDMEU3NjdGRkY5MjRDMDAxRDIwOERBNzJDMUU3ODcwMDIwMjRDMDk3Q0YyNzAwMUVDMEU3ODdGRjAwMjJDMEU3Njc3RkZGMjRDMEU3ODc4MDAwMjRDMEU3ODc4MDAwMjRDMDk3Q0Y5RkFGMEEwNTY3MDAxRUMwRTc2N0JGRkYyNEMwRTc4NzQwMDAyNEMwRTc4NzQwMDAyNEMwOTdDRjlGQUYwQTA1RTc2NzAwRkYyMkMwRTc2N0ZGRkUyNEMwRTc2N0ZGRkUyNEMwQzEwOTIwQzBFNzg3MDAwMTI0QzA5N0NGQzAwNzQwMDBDODA5RkMwNUU3NjcwMEZGMjJDMEU3NjdGRkZFMjRDMEU3NjdCRkZGMjRDMEU3NjdCRkZGMjRDMDAwREFFODA5MjBDMEU3ODc0MDAwMjRDMEU3ODc0MDAwMjRDMDAwREFFODA5MjBDMDZEQzFFNzg3MDAwMTI0QzA5N0NGRTcwNzMyMDAxMkMwRTc3NzAwODAxMkMwN0NDMDk3Q0ZFNzA3MjA0RTEyQzBFNzc3MDA4MDEyQzA3Q0MwOTdDRjA5MDIxOTAwMDEwMTAwODA5NjA5MDQwMDAwMDEwMDAwMDAwMDA3MDU4MTAyNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMQorOjAxMzYwMDAwMDBCNkMzMkYwMTAzNjQwRTAwMTQwMDFBMDAyMDAwMjYwMDRBMDA2NDAwNkEwMDkyMDA5QTAwQTAwMEIyMDBCODAwQkUwMEMyMDBDODAwQ0UwMERDMDBEQTAwRTIwMEUwMDBFODAwRTYwMEVFMDBFQzAwRjIwMEY4MDAwMjAxMEEwMTBFMDExMjAxMUUwMTIyMDEyODAxMkMwMTMyMDEzNjAxNDQwMTUwMDE1RTAxNzIwMTc2MDE3QTAxODAwMTg4MDE4QzAxOTQwMTlDMDFBMDAxQTQwMUFBMDFCMDAxQjQwMUJBMDFEMDAxREEwMUY2MDFGQTAxMDIwMjM0MDIzQzAyNDQwMjRBMDI1MDAyNTYwMjc0MDI3ODAyN0UwMjg0MDI4QTAyODgwMjkwMDI4RTAyOTQwMkEyMDJBODAyQUUwMkI0MDJCQTAyQjgwMkMwMDJCRTAyQzQwMkQwMDJENDAyRTAwMkU2MDJFRTAyRjgwMkZDMDIwNjAzMUUwMzI0MDMyODAzMzAwMzJFMDMzQzAzNEEwMzRFMDM1NDAzNTgwMzVFMDM2NjAzNkUwMzdBMDM4NjAzOEUwMzk2MDNCMjAzQjgwM0M2MDNDQzAzRDQwM0RBMDNFODAzRjQwM0ZDMDMwNDA0MjAwNDJBMDQzMjA0MzYwNDNFMDQ0NDA0NDIwNDQ4MDQ0RTA0NEMwNDU0MDQ1MjA0NUEwNDVFMDQ2MjA0NjgwNDc0MDQ3QzA0ODAwNDg4MDQ4QzA0OTQwNDlBMDRBMjA0QTYwNEFFMDRCNDA0QzAwNENDMDREODA0MkEwNTQ2MDU2QzA1MDAwMDVFCis6MDAwODAwMDAwMEI2QzMwMTAwMDY2NDAwMDAxNAorOjAwMDAwMDAwMDFGRgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUvd2hpdGVoZWF0LkhFWCBiL2Zpcm13YXJlL3doaXRlaGVhdC5IRVgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGRhZTYwMgotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL3doaXRlaGVhdC5IRVgKQEAgLTAsMCArMSwxMDk3IEBACis6MDMwMDAwMDAwMjk3RTM4MQorOjAzMDAwMzAwMDIxMzEyRDMKKzowMzAwMEIwMDAyMEJCNTMwCis6MDMwMDMzMDAwMjA4MUNBNAorOjAzMDA0MzAwMDIwQTAwQUUKKzowMzAwNUIwMDAyODMzQkUyCis6MTAwMzcwMDA5MDdGRTlFMDcwMDMwMjA0NzMxNDcwMDMwMjA0RTcyNDIxCis6MTAwMzgwMDBGRTcwMDMwMjA1NEYyNEZCNzAwMzAyMDQ2NDE0NzAwMzIzCis6MTAwMzkwMDAwMjA0NTIxNDcwMDMwMjA0M0ExNDcwMDMwMjA0NDkyNDQ0Cis6MTAwM0EwMDAwNTYwMDMwMjA1OUU5MDdGRUJFMDI0RkU2MDE2MTQ2MDVBCis6MTAwM0IwMDAzNjI0MDI3MDdCNzQxMjkwN0ZENEYwNzQwMDkwN0ZENTQ1Cis6MTAwM0MwMDBGMDAyMDVBNTkwN0ZFQUUwRkYxMjBBOTlFQTQ5NjAwRDY0Cis6MTAwM0QwMDBFQTkwN0ZENEYwRTk5MDdGRDVGMDAyMDVBNTkwN0ZCNDM0Cis6MTAwM0UwMDBFMDQ0MDFGMDAyMDVBNTkwN0ZFQUUwRkYxMjBBNThFQTE2Cis6MTAwM0YwMDA0OTYwMzMxMkEyM0JGNTRFOTA3RkVFRTBGRkU1NEVEMzBECis6MTAwNDAwMDA5RjQwMDNFMEY1NEVFNTRFRDM5NDQwNDAwMzc1NEU0MEM3Cis6MTAwNDEwMDBBRTAyQUYwMTdDN0Y3RDAwQUI0RTEyOTEzNzkwN0ZCNTZECis6MTAwNDIwMDBFNTRFRjAwMjA1QTU5MDdGQjRFMDQ0MDFGMDAyMDVBNTc5Cis6MTAwNDMwMDA5MDdGQjRFMDQ0MDFGMDAyMDVBNTkwN0YwMEU1MjFGMDMzCis6MTAwNDQwMDA5MDdGQjU3NDAxRjAwMjA1QTU5MDdGRUFFMEY1MjEwMkU2Cis6MTAwNDUwMDAwNUE1OTA3RkVBRTBGNTM1RDIwMjQzODgxMEQyRUJEMkIxCis6MTAwNDYwMDBBODAyMDVBNTkwN0YwMEU1MzVGMDkwN0ZCNTc0MDFGMEY2Cis6MTAwNDcwMDAwMjA1QTU5MDdGRThFMDI0N0Y2MDI0MTQ2MDMxMjQwMjA3Cis6MTAwNDgwMDA3MDVCQTIwMEU0MzNGRjI1RTBGRkEyMDVFNDMzNEY5MDQ4Cis6MTAwNDkwMDA3RjAwRjBFNEEzRjA5MDdGQjU3NDAyRjAwMjA1QTVFNEJDCis6MTAwNEEwMDA5MDdGMDBGMEEzRjA5MDdGQjU3NDAyRjAwMjA1QTU5MDU0Cis6MTAwNEIwMDA3RkVDRTBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNTc1Cis6MTAwNEMwMDBFMDI0QjRGNTgyRTQzNDdGRjU4M0UwNTQwMTkwN0YwMEFBCis6MTAwNEQwMDBGMEU0QTNGMDkwN0ZCNTc0MDJGMDAyMDVBNTkwN0ZCNDFDCis6MTAwNEUwMDBFMDQ0MDFGMDAyMDVBNTkwN0ZFOEUwMjRGRTYwMUQyNEIxCis6MTAwNEYwMDAwMjYwMDMwMjA1QTU5MDdGRUFFMEI0MDEwNUMyMDAwMjk0Cis6MTAwNTAwMDAwNUE1OTA3RkI0RTA0NDAxRjAwMjA1QTU5MDdGRUFFMEU0Cis6MTAwNTEwMDA3MDM0OTA3RkVDRTBGRjU0MDdGRUY1NEVFRjMwRTcwM0I4Cis6MTAwNTIwMDA0MzRFMTA5MDdGRDdFNTRFRjBFNTRFNDQyMEYwRUZGNEI3Cis6MTAwNTMwMDA1NDgwRkRDNDU0MEYyRTI1RTAyNEI0RjU4MkU0MzQ3RkFBCis6MTAwNTQwMDBGNTgzRTRGMDgwNUY5MDdGQjRFMDQ0MDFGMDgwNTY5MDQyCis6MTAwNTUwMDA3RkU4RTAyNEZFNjAxODI0MDI3MDRBOTA3RkVBRTBCNDRECis6MTAwNTYwMDAwMTA0RDIwMDgwM0Y5MDdGQjRFMDQ0MDFGMDgwMzY5MEQ3Cis6MTAwNTcwMDA3RkVBRTA3MDIwOTA3RkVDRTBGNDU0ODBGRkM0NTQwRkQ5Cis6MTAwNTgwMDBGRkUwNTQwNzJGMjVFMDI0QjRGNTgyRTQzNDdGRjU4MzlGCis6MTAwNTkwMDA3NDAxRjA4MDEwOTA3RkI0RTA0NDAxRjA4MDA3OTA3RkY4Cis6MEMwNUEwMDBCNEUwNDQwMUYwOTA3RkI0RTA0NDAyRjBBRAorOjAxMDVBQzAwMjIyQworOjEwMDVBRDAwNzU0QUZGNzU0OUZGNzU0ODBGNzU0NzAwRDIwM0MyMDY5RQorOjEwMDVCRDAwQzIwMkMyMDBDMjA1QzIwMTkwMDMwMDc0MTlGMEU0OTA5QQorOjEwMDVDRDAwMDFCQ0YwQzIwNDkwMDFDMEYwQTNGMEMyQUZDMkE4MTJFQQorOjEwMDVERDAwMEMyMkU0OTAwMkFGRjA5MDAxQkRGMDkwMDEwMEYwQTM2OQorOjEwMDVFRDAwRjBBM0YwQTNGMEEzRjBBMzc0MTBGMEEzNzQwMUYwQTM5MworOjEwMDVGRDAwNzQwOEYwN0UwMTdGMDAxMjE5QzE3NTRDMTI3NTREMEFGOQorOjEwMDYwRDAwOTAwMTBCRTBGRjA1NERFNTREQUM0QzcwMDIwNTRDMTQwRgorOjEwMDYxRDAwRjU4MjhDODNFRkYwOTAwMTBDRTA0NDgwRkYwNTRERTVGMQorOjEwMDYyRDAwNERBQzRDNzAwMjA1NEMxNEY1ODI4QzgzRUZGMDkwMDFBQgorOjEwMDYzRDAwMERFMEZGMDU0REU1NERBQzRDNzAwMjA1NEMxNEY1ODJGNworOjEwMDY0RDAwOEM4M0VGRjA5MDAxMEVFMEZGMDU0REU1NERBQzRDNzA0NQorOjEwMDY1RDAwMDIwNTRDMTRGNTgyOEM4M0VGRjA5MDEyMEFFNDkzRkY5RgorOjEwMDY2RDAwNzQwMTkzOTAwMTFDQ0ZGMEEzRUZGMDkwMDExQ0UwRkZGQgorOjEwMDY3RDAwQTNFMEZFRUY2RUZGOTAwMTFDRjBBM0UwNkZGRkYwOTA4MgorOjEwMDY4RDAwMDExQ0UwNkZGMEUwRkVBM0UwRkZFNEZDRkQ3NTUyMTBFRAorOjEwMDY5RDAwNzU1MzAyNzU1NDEyNzU1NUFDMTI5NDI2NzU0QzEyNzUxRQorOjEwMDZBRDAwNERCMjkwMDEwREUwRkYwNTRERTU0REFDNEM3MDAyMDVDRQorOjEwMDZCRDAwNEMxNEY1ODI4QzgzRUZGMDkwMDEwRUUwRkYwNTRERTVCMworOjEwMDZDRDAwNERBQzRDNzAwMjA1NEMxNEY1ODI4QzgzRUZGMDkwN0Y4RAorOjEwMDZERDAwOTJFMEZGQzQ1NDBGMjQ0MUZGMDU0REU1NERBQzRDNzAyNQorOjEwMDZFRDAwMDIwNTRDMTRGNTgyOEM4M0VGRjAwNTRERTU0REFFNENCMworOjEwMDZGRDAwNzAwMjA1NEMxNEY1ODI4RTgzRTRGMDc1ODIxMDc1ODNCQgorOjEwMDcwRDAwMDFFMEZDQTNFMEZEQTNFMEZFQTNFMEZGOTAwMTE4MTJDMQorOjEwMDcxRDAwQTNFRTdFMDE3RjE4MTI4NkJFOTAwMTE4RTBGQ0EzRTBDNworOjEwMDcyRDAwRkRBM0UwRkVBM0UwRkY3NTUyMEE3NTUzMDY3NTU0MTI0MgorOjEwMDczRDAwNzU1NUI4MTI5NDI2RDJFODQzRDgyMDkwN0ZBQjc0RkYzQworOjEwMDc0RDAwRjA1MzkxRUY5MDdGQUZFMDQ0MDFGMDkwN0ZBRUUwNDQyNQorOjEwMDc1RDAwMUZGMEQyQUYyMDAxMkUyMDAxMkJBMjAzOTIwNzEyMDkwOAorOjEwMDc2RDAwQzU3NTQ2NTA3NTQ1NkQ3NTQ0MzM3NTQzMDAyMDAxRTREQworOjEwMDc3RDAwN0ZGRjdFRkY3REZGN0NGRjc4NDMxMkEzRDdFQzRENEVBQworOjEwMDc4RDAwNEY2MEQxODBFODMwMDEwNTEyMDM3MEMyMDEzMDA2MEFCNgorOjEwMDc5RDAwMTIwOUZCNTAwMzEyMEFFOEMyMDYxMjk2NUU5MDAxQkRDMworOjEwMDdBRDAwRTA2MDBDMTI5MjAxRTQ5MDAxQkRGMDkwN0ZEM0YwOTBDNworOjEwMDdCRDAwMDJBRkUwQjQwRjAzMTI5OUI5MTJBMDk1RTRGRjc0MDFEMgorOjEwMDdDRDAwQTgwNzA4ODAwMkMzMzNEOEZDRkU5MDAxQkNFMDVFNjAzMAorOjEwMDdERDAwMTQ3NDI4MkZGOEU2RDM5NDBBNDAwNDdFMDE4MDAyN0UxQgorOjEwMDdFRDAwMDA4RTRCODAwMzc1NEIwMTc0NjgyRkY1ODJFNDM0MjAyNQorOjEwMDdGRDAwRjU4M0U1NEJGMDBGQkYwNEM1RTUyQ0QzOTQwQTQwMDRGNworOjBFMDgwRDAwN0YwMTgwMDI3RjAwOTAyMDZDRUZGMDAyMDc5MkM2Cis6MDEwODFCMDAyMkJBCis6MDQwODFDMDA1M0Q4RUYzMjhDCis6MTAwODIwMDBFNTMzQzM5NDAxNDAwRTkwN0Y5M0UwNDQzMEYwOTA3RjE1Cis6MTAwODMwMDA5NUUwNDRDMEYwN0ZGNDdFMDExMjA5QUU5MDdGOTZFMDBGCis6MTAwODQwMDA1NEZFRjA3RjBBN0UwMDEyMDlBRTkwN0Y5NkUwNDQwOEM1Cis6MTAwODUwMDBGMDdGMDU3RTAwMTIwOUFFOTA3Rjk2RTA1NEZCRjA3RjlBCis6MTAwODYwMDAwNTdFMDAxMjA5QUVFNTMzQzM5NDAxNTAwRTdGMDI3RDcwCis6MTAwODcwMDBGRjEyODJFQTdGMDU3RTAwMTIwOUFFOTA3Rjk2RTA0NDY3Cis6MTAwODgwMDAwMkYwRTA1NDdGRjA3RjA1N0UwMDEyMDlBRTkwN0Y5NjYzCis6MTAwODkwMDBFMDQ0NDBGMDdGMDU3RTAwMTIwOUFFOTA3Rjk2RTA1NDYwCis6MTAwOEEwMDBCRkYwN0YzMjdFMDAxMjA5QUU5MDdGOTZFMDQ0NDBGMEE4Cis6MDgwOEIwMDA3RjMyN0UwMDEyMDlBRTIyMjYKKzoxMDA4QjgwMDkwN0Y5NkUwNTRGREYwRTA0NDgwRjA3RjBBN0UwMDEyQkQKKzoxMDA4QzgwMDA5QUVFNTMzQzM5NDAxNTAwRTdGMDJFNEZEMTI4MkVBQkIKKzoxMDA4RDgwMDdGMDU3RTAwMTIwOUFFOTA3Rjk2RTA1NEJGRjA3RjA1MzkKKzoxMDA4RTgwMDdFMDAxMjA5QUU5MDdGOTZFMDQ0MDRGMDdGMDU3RTAwRkEKKzoxMDA4RjgwMDEyMDlBRTkwN0Y5NkUwNTRGN0YwN0YwNTdFMDAxMjA5NEEKKzoxMDA5MDgwMEFFOTA3Rjk2RTA0NDAxRjA3RjA1N0UwMDEyMDlBRUU1QzcKKzoxMDA5MTgwMDMzQzM5NDAxNDAwRTkwN0Y5M0UwNTRDRkYwOTA3Rjk1QkQKKzowODA5MjgwMEUwNTQzRkYwMTIwQjAwMjIyNQorOjEwMDkzMDAwOTAwQUY0RTQ5MzcwNzY5MDdGOTM3NDMwRjA5MDdGOTRGMworOjEwMDk0MDAwNzQzQ0YwOTA3Rjk1NzRDNkYwN0YwQTdFMDAxMjA5QUU2OQorOjEwMDk1MDAwRTQ5MDdGOUNGMDkwN0Y5Njc0MDhGMDkwN0Y5Qzc0Q0YxOQorOjEwMDk2MDAwRjA3RjBBN0UwMDEyMDlBRTkwMjA3MEUwRkZDNDU0MEZBMQorOjEwMDk3MDAwRjUzM0MzOTQwMTUwMDc5MDdGOTZFMDQ0ODBGMEU0OTBGMworOjEwMDk4MDAwN0Y5N0YwOTA3RjlENzQwMkYwRTUzM0MzOTQwMTQwMEI5NAorOjEwMDk5MDAwRTQ5MDdGOThGMDkwN0Y5RTc0QzBGMDkwN0ZFMjc0MTI5NAorOjBFMDlBMDAwRjAxMjA4MjA3NTgyRjQ3NTgzMEE3NEZGRjAyMkFECis6MTAwOUFFMDA4RTVEOEY1RUU1NUUxNTVFQUU1RDcwMDIxNTVENEU2MDBFCis6MDcwOUJFMDAwNTEyMDlFQTgwRUUyMjk4Cis6MTAwOUM1MDA5MDdGRDZFMDU0RkJGMEUwNDQwOEYwMzAwNzA0RTA0NEEzCis6MTAwOUQ1MDAwMkYwN0ZEMDdFMDcxMjA5QUU5MDdGRDZFMDU0RjdGMDgzCis6MDUwOUU1MDBFMDQ0MDRGMDIyRDMKKzoxMDA5RUEwMDc0MDBGNTg2OTBGREE1N0MwNUEzRTU4MjQ1ODM3MEY5MjAKKzowMTA5RkEwMDIyREEKKzowNTA5RkIwMDEyMDhCOEQzMjIzMAorOjEwMEEwMDAwMDIwQzRFMDAwMjBDODEwMDAyMEM2NjAwMDIwQ0MwMDBCOQorOjEwMEExMDAwMDIwQ0FBMDAwMjBBRUQwMDAyMEFFRTAwMDIwQUVGMDAzMAorOjEwMEEyMDAwMDIwQ0RCMDAwMjBEQ0IwMDAyMEQxNzAwMDIwRTJCMDBBMgorOjEwMEEzMDAwMDIwRDUzMDAwMjBFOEIwMDAyMEQ4RjAwMDIwRUVCMDAyMAorOjEwMEE0MDAwMDIwQUYwMDAwMjBBRjIwMDAyMEFGMTAwMDIwQUYzMDBCMAorOjA4MEE1MDAwMDIwRjRCMDAwMjBGNjEwMEQwCis6MDIwQTU4MDA4RjRGQkUKKzoxMDBBNUEwMEU0RjU1MDc1NTFGRjc1NTIxMjc1NTM2QUFCNTFBQTUyOUIKKzoxMDBBNkEwMEE5NTM5MDAwMDExMkEyNTRCNDAzMURBRjUwMDU1MEVGRDAKKzoxMDBBN0EwMEI1NEYwMTIyMTJBMjNCN0UwMDI5RkZFRTNBQTkwNzc1NjMKKzowRTBBOEEwMDUxRkZGNTUyODk1MzgwRDQ3QjAwN0EwMDc5MDAyOQorOjAxMEE5ODAwMjIzQgorOjEwMEE5OTAwRTRGRTc1NTFGRjc1NTIxMjc1NTMxMkFCNTFBQTUyQTk1MgorOjEwMEFBOTAwNTM5MDAwMDExMkEyNTQ2NDAyNzAyREFEMDYwRUVEQjVFQgorOjEwMEFCOTAwMDcwMTIyOTAwMDAyMTJBMkFEODVGMDRGRjU1MDYyNEY1NgorOjEwMEFDOTAwRTU0RjYyNTBFNTUwNjI0RjI5RkRFNTRGM0FBOTA1NzU5QQorOjBFMEFEOTAwNTFGRkY1NTI4OTUzODBDMzdCMDA3QTAwNzkwMEVCCis6MDEwQUU3MDAyMkVDCis6MDUwQUU4MDAxMjA4MjBEMzIyREEKKzowMTBBRUQwMDMyRDYKKzowMTBBRUUwMDMyRDUKKzowMTBBRUYwMDMyRDQKKzowMTBBRjAwMDMyRDMKKzowMTBBRjEwMDMyRDIKKzowMTBBRjIwMDMyRDEKKzowMTBBRjMwMDMyRDAKKzowMzBBRjQwMDAwMDQwN0Y0Cis6MDkwQjAwMDA5MDdGRDZFMDQ0ODBGMDgwNzQ3RgorOjEwMEI3RDAwNDM4NzAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjI3QgorOjEwMEI4RDAwNTM4RUY3RTU4OTU0RjE0NDAxRjU4OTc1OENCMUQyQTlERAorOjEwMEI5RDAwNzU5ODQwNzVDQkZGNzVDQUYzNzVDODM0RTRGRjdGMDVCMgorOjA3MEJBRDAwNzgyOEU0RjYwOERGRkNFNAorOjAxMEJCNDAwMjIxRQorOjEwMEJCNTAwQzBFMEMwODNDMDgyQzBEMDc1RDAwMEMwMDBDMDA2QzBGMAorOjAxMEJDNTAwMDcyOAorOjEwMEJDNjAwMzAwNDE2NzU4Q0Y4NzU4QTMwN0YyRkFFMDcxRkVFNjBERAorOjEwMEJENjAwM0M5MDIwMDA3NDU1RjA4MEYyNzU4Q0IxN0YyOEVGRDNERAorOjEwMEJFNjAwOTQyQzUwMDlBODA3RTY2MDAxMTYwRjgwRjE5MDAzMDBDNworOjEwMEJGNjAwRTA2MDAyMTRGMDkwMDFDMEUwNzAwMkEzRTA2MDBFOTA4NQorOjBEMEMwNjAwMDFDMUUwMjRGRkYwOTAwMUMwRTAzNEZGRjBEOAorOjBGMEMxMzAwRDAwN0QwMDZEMDAwRDBEMEQwODJEMDgzRDBFMDMyMkUKKzoxMDBDMjIwMEQyMDA3NThFMTAxMjA5MzBFNTMzQzM5NDAxNDAwODkwNEEKKzoxMDBDMzIwMDdGOTI3NDAyRjA4MDA1RTQ5MDdGOTJGMDEyODAwMDEyOUQKKzowQzBDNDIwMDBGN0QxMjk0RjcxMjFCMEMxMjBCOEQyMjc4Cis6MTAwQzRFMDBDMEUwQzA4M0MwODJEMjAxNTM5MUVGOTA3RkFCNzQwMTlDCis6MDgwQzVFMDBGMEQwODJEMDgzRDBFMDMyMTcKKzoxMDBDNjYwMEMwRTBDMDgzQzA4MjkwN0ZDNEU0RjA1MzkxRUY5MDdGRDAKKzowQjBDNzYwMEFCNzQwNEYwRDA4MkQwODNEMEUwMzJEOQorOjEwMEM4MTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFCNzQwMkYwOTBCQgorOjEwMEM5MTAwN0ZEOEUwNzAwRDkwN0ZEOUUwNzAwN0U1MkM3MDAzNzU2NworOjA5MENBMTAwMkMxNEQwODJEMDgzRDBFMDMyODMKKzoxMDBDQUEwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQjc0MTBGMEQwNDQKKzowNjBDQkEwMDgyRDA4M0QwRTAzMjdECis6MTAwQ0MwMDBDMEUwQzA4M0MwODIzMDAyMDJEMjA2NTM5MUVGOTA3RjExCis6MEIwQ0QwMDBBQjc0MDhGMEQwODJEMDgzRDBFMDMyN0IKKzoxMDBDREIwMEMwRTBDMDgzQzA4MkMwRDA3NUQwMTA1MzkxRUY5MDdGMUQKKzoxMDBDRUIwMEE5NzQwMkYwRTUzNDMwRTAxM0U1MzIzMEUwMDc5MDIwRDAKKzoxMDBDRkIwMDA0RTA0NDAxRjA5MDIwMDFFMDQ0MDFGMEU1MkM3MDAzODYKKzowQzBEMEIwMDc1MkMxNEQwRDBEMDgyRDA4M0QwRTAzMjAwCis6MTAwRDE3MDBDMEUwQzA4M0MwODJDMEQwNzVEMDEwNTM5MUVGOTA3RkUwCis6MTAwRDI3MDBBOTc0MDRGMEU1MzQzMEUxMTNFNTMyMzBFMTA3OTAyMDhGCis6MTAwRDM3MDAwQ0UwNDQwMUYwOTAyMDA5RTA0NDAxRjBFNTJDNzAwMzM5Cis6MEMwRDQ3MDA3NTJDMTREMEQwRDA4MkQwODNEMEUwMzJDNAorOjEwMEQ1MzAwQzBFMEMwODNDMDgyQzBEMDc1RDAxMDUzOTFFRjkwN0ZBNAorOjEwMEQ2MzAwQTk3NDA4RjBFNTM0MzBFMjEzRTUzMjMwRTIwNzkwMjA0RAorOjEwMEQ3MzAwMTRFMDQ0MDFGMDkwMjAxMUUwNDQwMUYwRTUyQzcwMDNFRAorOjBDMEQ4MzAwNzUyQzE0RDBEMEQwODJEMDgzRDBFMDMyODgKKzoxMDBEOEYwMEMwRTBDMDgzQzA4MkMwRDA3NUQwMTA1MzkxRUY5MDdGNjgKKzoxMDBEOUYwMEE5NzQxMEYwRTUzNDMwRTMxM0U1MzIzMEUzMDc5MDIwMDcKKzoxMDBEQUYwMDFDRTA0NDAxRjA5MDIwMTlFMDQ0MDFGMEU1MkM3MDAzQTEKKzowQzBEQkYwMDc1MkMxNEQwRDBEMDgyRDA4M0QwRTAzMjRDCis6MTAwRENCMDBDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDBDMDY5Cis6MTAwRERCMDBEMDc1RDAxMDUzOTFFRjkwN0ZBQTc0MDJGMEU1MzQyMEI4Cis6MTAwREVCMDBFMDA2OTA3RkM3RjA4MDIyRTUzMTMwRTAwQTkwN0ZDN0E0Cis6MTAwREZCMDBFMDkwMDJGOEYwODAxM0U1MjIzMEUwMDc5MDIwMDRFMDQ5Cis6MTAwRTBCMDA0NDAyRjA5MDIwMDFFMDQ0MDJGMEU1MkM3MDAzNzUyQ0I1Cis6MTAwRTFCMDAxNEQwRDBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMjhECis6MTAwRTJCMDBDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDBDMDA4Cis6MTAwRTNCMDBEMDc1RDAxMDUzOTFFRjkwN0ZBQTc0MDRGMEU1MzQyMDU1Cis6MTAwRTRCMDBFMTA2OTA3RkM5RjA4MDIyRTUzMTMwRTEwQTkwN0ZDOTNECis6MTAwRTVCMDBFMDkwMDJGOUYwODAxM0U1MjIzMEUxMDc5MDIwMENFMERFCis6MTAwRTZCMDA0NDAyRjA5MDIwMDlFMDQ0MDJGMEU1MkM3MDAzNzUyQzRECis6MTAwRTdCMDAxNEQwRDBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMjJECis6MTAwRThCMDBDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDBDMEE4Cis6MTAwRTlCMDBEMDc1RDAxMDUzOTFFRjkwN0ZBQTc0MDhGMEU1MzQyMEYxCis6MTAwRUFCMDBFMjA2OTA3RkNCRjA4MDIyRTUzMTMwRTIwQTkwN0ZDQkQ3Cis6MTAwRUJCMDBFMDkwMDJGQUYwODAxM0U1MjIzMEUyMDc5MDIwMTRFMDc0Cis6MTAwRUNCMDA0NDAyRjA5MDIwMTFFMDQ0MDJGMEU1MkM3MDAzNzUyQ0U1Cis6MTAwRURCMDAxNEQwRDBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMkNECis6MTAwRUVCMDBDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDBDMDQ4Cis6MTAwRUZCMDBEMDc1RDAxMDUzOTFFRjkwN0ZBQTc0MTBGMEU1MzQyMDg5Cis6MTAwRjBCMDBFMzA2OTA3RkNERjA4MDIyRTUzMTMwRTMwQTkwN0ZDRDcwCis6MTAwRjFCMDBFMDkwMDJGQkYwODAxM0U1MjIzMEUzMDc5MDIwMUNFMDA5Cis6MTAwRjJCMDA0NDAyRjA5MDIwMTlFMDQ0MDJGMEU1MkM3MDAzNzUyQzdDCis6MTAwRjNCMDAxNEQwRDBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMjZDCis6MTAwRjRCMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTk3NDgwRjBEMDMyCis6MDYwRjVCMDA4MkQwODNEMEUwMzJEOQorOjEwMEY2MTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFBNzQ4MEYwOTA1QgorOjBDMEY3MTAwMDFCRDc0RkZGMEQwODJEMDgzRDBFMDMyQ0MKKzoxMDBGN0QwMDkwMDEyMDEyQTNGQTAwMDAyNTgwOTAwMTI0NzQwOEYwM0UKKzoxMDBGOEQwMEEzNzQwMUYwQTM3NDZFRjBBM0YwQTM3NDEzRjBBMzc0MTMKKzoxMDBGOUQwMDExRjBFNEEzRjBBM0YwOTAwMTFFRjA5MDAxMUVFMEZGMEMKKzoxMDBGQUQwMDA0QTNGMEVGNzVGMDBEQTQyNDAxRjk3NDAzMzVGMEE4MzYKKzoxMDBGQkQwMDAxRkM3RDAxN0IwMTdBMDE3OTFGN0UwMDdGMEQxMkEyNUMKKzoxMDBGQ0QwMDEyN0UwMTdGMUYxMjg3QTY5MDAxMUVFMDA0RjBFMEMzODAKKzoxMDBGREQwMDk0MDQ0MEM3RTRGNTI3OTAwMTFFRjA5MDAxMUVFMEZGMzgKKzoxMDBGRUQwMEMzOTQwNDUwMUE3NEY4MkZGNTgyRTQzNDAyRjU4M0U0QTcKKzoxMDBGRkQwMEYwNzQyMzJGRjhFNEY2OTAwMTFFRTAwNEYwODBEQ0U0OTkKKzoxMDEwMEQwMEY1MzRFNUMwNjAyRjkwMDExRTc0MDFGMDkwMDExRUUwRDMKKzoxMDEwMUQwMEZGRDM5NDA0NTAxRkVGMTRGRjc0MDFBODA3MDg4MDAyM0EKKzoxMDEwMkQwMEMzMzNEOEZDNDIzNDdFMDE3RjFFMTI4NDQxOTAwMTFFRDEKKzoxMDEwM0QwMEUwMDRGMDgwRDdFNEY1M0VGNTIyRjUzMUY1MzI5MDAxNkMKKzoxMDEwNEQwMDFFRjA5MDAxMUVFMEZGNzVGMDA4QTQyNDA2RjU4MkU0NjEKKzoxMDEwNUQwMDM0MjBGNTgzRTA1NEYwRkU3NEM1MkZGNTgyRTQzNDAxOUQKKzoxMDEwNkQwMEY1ODNFRUYwNzQzQTJGRjhBNjA2NzQzNjJGRjhFNEY2RjEKKzoxMDEwN0QwMDc0MkQyRkY4RTRGNjc0RkMyRkY1ODJFNDM0MDJGNTgzMTkKKzoxMDEwOEQwMEU0RjA5MDAxMUVFMDA0RjBFMEI0MDRCNjkwMjA2MEUwQkUKKzowNDEwOUQwMDU0MEZGNTRFQTkKKzoxMDEwQTEwMDcwMDMwMjExMjZFNDkwMDExRUYwOTAwMTFFRTBGRkMzQkYKKzoxMDEwQjEwMDk0MDQ1MEU0NzQwMUE4MDcwODgwMDJDMzMzRDhGQzU1OTYKKzoxMDEwQzEwMDRFNjA1QTkwMDExRUUwRkU3NUYwMDhBNDI0MDJGNTgyREMKKzoxMDEwRDEwMEU0MzQyMEY1ODNFMEZGRUU3NUYwMDhBNDI0MDVGNTgyRTEKKzoxMDEwRTEwMEU0MzQyMEY1ODNFMEVFNzVGMDA4QTQyNDA2RjU4MkU0RUIKKzoxMDEwRjEwMDM0MjBGNTgzRTBGRkFGMDZFRTc1RjAwREE0MjQwMkY1NzAKKzoxMDExMDEwMDgyRTQzNDAzRjU4M0UwRkNBM0UwRkRBM0UwRkVBM0UwNjkKKzoxMDExMTEwMEY1NjY4RTY1OEQ2NDhDNjM3RDA2MTI4M0RGOTAwMTFFRkEKKzowNjExMjEwMEUwMDRGMDgwODUyMkNECis6MDIxMTI3MDBBQzA3MTMKKzoxMDExMjkwMDkwN0ZBNUUwNDQ4MEYwRUMyNUUwNDQ0MTkwN0ZBNkYwNTMKKzoxMDExMzkwMDdCM0NBRjAzMUJFRjcwMTY5MDdGQTVFMDQ0NDBGMDkwMTUKKzoxMDExNDkwMDdGQTZFMEZEN0QzMkFGMDUxREVGNjBENDgwRjg5MDdGNkEKKzoxMDExNTkwMEE1RTBGRDMwRTBEQzIwRTEwOUUwNDQ0MEYwN0VGRjdGQkUKKzoxMDExNjkwMEY5MjJFRDMwRTIwQzkwN0ZBNUUwNDQ0MEYwN0VGRjdGNEMKKzoxMDExNzkwMEZBMjI5MDdGQTVFMDQ0MjBGMDkwN0ZBNkUwRkQ3QjFFMzcKKzoxMDExODkwMEFGMDMxQkVGNzAxNjkwN0ZBNUUwNDQ0MEYwOTA3RkE2NTcKKzoxMDExOTkwMEUwRkQ3RDMyQUYwNTFERUY2MDg2ODBGODkwN0ZBNUUwMDgKKzoxMDExQTkwMEZEMjBFMERDN0IzQ0FGMDMxQkVGNzAxOTkwN0ZBNUUwQ0QKKzoxMDExQjkwMDQ0NDBGMDkwN0ZBNkUwRkQ3RDMyQUYwNTFERUY3MDAzM0UKKzoxMDExQzkwMDAyMTEyOTgwRjU5MDdGQTVFMEZEMzBFMEQ5MzBFMjA5RDAKKzoxMDExRDkwMEUwNDQ0MEYwN0VGRjdGRkEyMkMyQUY5MDdGQTVFMDQ0NTEKKzowQzExRTkwMDQwRjA5MDdGQTZFMEZERDJBRkZGN0UwMDNBCis6MDExMUY1MDAyMkQ3Cis6MTAxMjAwMDAxMjAxMDAwMUZGRkZGRjQwMTAwNzAxODA0MjAwMDEwMkIwCis6MTAxMjEwMDAwMzAxMDkwMjU4MDAwMTAxMDQ4MDNDMDkwNDAwMDAwQThFCis6MTAxMjIwMDBGRkZGRkYwNTA3MDU4MTAyNDAwMDAwMDcwNTAxMDI0MDlFCis6MTAxMjMwMDAwMDAwMDcwNTgyMDI0MDAwMDAwNzA1MDIwMjQwMDAwMDhFCis6MTAxMjQwMDAwNzA1ODMwMjQwMDAwMDA3MDUwMzAyNDAwMDAwMDcwNTcwCis6MTAxMjUwMDA4NDAyNDAwMDAwMDcwNTA0MDI0MDAwMDAwNzA1ODcwMkUxCis6MTAxMjYwMDA0MDAwMDAwNzA1MDcwMjQwMDAwMDA0MDMwOTA0MjQwM0FFCis6MTAxMjcwMDA0MzAwNkYwMDZFMDA2RTAwNjUwMDYzMDA3NDAwMjAwMDg0Cis6MTAxMjgwMDA1NDAwNjUwMDYzMDA2ODAwMjAwMDQ5MDA2RTAwNjMwMEEwCis6MTAxMjkwMDAyRTAwMTgwMzU3MDA2ODAwNjkwMDc0MDA2NTAwNDgwMEJDCis6MTAxMkEwMDA0NTAwNDEwMDU0MDAyRDAwMzQwMDFBMDM1ODAwNTgwMDM2Cis6MTAxMkIwMDAyRDAwNTgwMDU4MDAyRDAwNTgwMDU4MDA1ODAwNTgwMEM0Cis6MTAxMkMwMDA1ODAwNTgwMDJBMDM0MzAwNkYwMDZFMDA2NjAwNjkwMDUyCis6MTAxMkQwMDA2NzAwNzUwMDcyMDA2MTAwNzQwMDY5MDA2RjAwNkUwMEE1Cis6MTAxMkUwMDAyMDAwNTMwMDc0MDA3MjAwNjkwMDZFMDA2NzAwMjIwMzQyCis6MTAxMkYwMDA0OTAwNkUwMDc0MDA2NTAwNzIwMDY2MDA2MTAwNjMwMEMyCis6MTAxMzAwMDA2NTAwMjAwMDUzMDA3NDAwNzIwMDY5MDA2RTAwNjcwMEUxCis6MDIxMzEwMDAwMDAwREIKKzoxMDEzMTIwMEMwRTBDMEYwQzA4M0MwODJDMDg1QzA4NEMwODZDMEQwOTcKKzoxMDEzMjIwMDc1ODYwMDc1RDAxODkwMjA2MEUwNTQwRkY1RjA3MDExQUEKKzoxMDEzMzIwMEQwRDBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRjBEMEUwRjcKKzoxMDEzNDIwMDMyNzU4NjAwMTBGMDBCMTBGMTEyMTBGMjE5MTBGMzIwMTIKKzoxMDEzNTIwMDgwRDRFNTI4NzAwMzc1MjgxNDAyMTM3Q0U1Mjk3MDAzRjQKKzoxMDEzNjIwMDc1MjkxNDAyMTUwREU1MkE3MDAzNzUyQTE0MDIxNjlFQkEKKzoxMDEzNzIwMEU1MkI3MDAzNzUyQjE0MDIxODJGOTAyMDAyRTA1NDNGQzYKKzoxMDEzODIwMDIwRTIzQTIwRTEwQjIwRTQwQjIwRTUxNDYwMDkwMjEzNkQKKzoxMDEzOTIwMDQzMDIxNDY1MDIxMzQzNDM4MjA0RTBGNTNBMDIxMzQzMDUKKzoxMDEzQTIwMDQzODIwNEUwNDMyRDAxMDIxMzQzNTM4MkY4NDM4MjA1MzIKKzoxMDEzQjIwMEUwNDIzNjUzODJGQkUwNTRGQkYwMDIxMzQzMzBFMTAyNzkKKzoxMDEzQzIwMDgwRThGNTg1RTUzMjMwRTAwQTUzODJGODQzODIwNEUwOTIKKzoxMDEzRDIwMDU0RkVGMEU1ODUyMEUzNTY5MDIwNTA3NDAwRjA5MDIwRjIKKzoxMDEzRTIwMDU4NzQwMUYwOTA3RkUyRTA0NDQwRjA5MDdGRTMwNTg2N0MKKzoxMDEzRjIwMDkwN0U4MDA1ODZFNTg1RjBBM0U1ODRGMDA1ODY5MDdGRTIKKzoxMDE0MDIwMEU1RTUzRkZEMDMwMzAzRkVGMEYwRjBGMEYwRjBGMEYwNEQKKzoxMDE0MTIwMERFRjY5MDdGRTJFMDU0QkZGMDkwMjA1ODc0MDBGMDkwMjYKKzoxMDE0MjIwMDdGQjdFREYwOTAyMDAxRTA1NEZFRjAwMjEzNDM3RjQwQkQKKzoxMDE0MzIwMDkwN0U4MDA1ODY5MDIwMDBFNTg0RkUyNDA1RkQ4RDg0NDMKKzoxMDE0NDIwMEUwOEU4NDMwRTAwOUUwMDU4NkYwQTMwNTg2REZFRjA1MzMKKzoxMDE0NTIwMDg2QzM3NDQwOUY5MDdGQjdGMDA1ODZBM0UwNTRGRUYwRTgKKzoxMDE0NjIwMDAyMTM0MzUzMkRGQUU1MjM2MDA4NzUyMzAwRDJFN0ZFRTkKKzoxMDE0NzIwMDgwMEE5MDdGQzdFMEZFNzAwMzAyMTRGRjkwMjA1MDc0MzAKKzoxMDE0ODIwMDAwRjA5MDIwNTg3NDAxRjA5MDdGRTJFMDQ0NDBGMDkwMjgKKzoxMDE0OTIwMDdGRTMwNTg2OTA3RTQwMDU4NkU1ODVGMEEzRTU4NEYwMkUKKzoxMDE0QTIwMDA1ODY5MDdGRTVFRTMwRTcwODA1ODZFMDI0MzhGMDA1RjIKKzoxMDE0QjIwMDg2RUU1NDdGRkU1NDA3RkJFRTU0Nzg2MDMwMDMwMzAzM0MKKzoxMDE0QzIwMDMwRTMwNDc0MDc3QjA4RkRGQ0UwRTBFMEUwRTBFMEUwRUMKKzoxMDE0RDIwMEUwRERGNkVCRkU2MDE5RUM2NDA3NzAxMThCMjM5MDdGNjAKKzoxMDE0RTIwMEUyRTA1NEJGRjA5MDIwNTg3NDAwRjA4MDFCRTBERUZENzMKKzoxMDE0RjIwMDkwN0ZFMkUwNTRCRkYwOTAyMDU4NzQwMEYwOTAyMDAxRjkKKzoxMDE1MDIwMEUwNTRGREYwOTA3RkM3RjAwMjEzNDM5MDIwMEFFMDU0QUMKKzoxMDE1MTIwMDNGMjBFMjNBMjBFMTBCMjBFNDBCMjBFNTE0NjAwOTAyQUYKKzoxMDE1MjIwMDEzNDMwMjE1RjYwMjEzNDM0MzgyMDRFMEY1M0IwMjEzMTAKKzoxMDE1MzIwMDQzNDM4MjA0RTA0MzJFMDEwMjEzNDM1MzgyRjg0MzgyNjEKKzoxMDE1NDIwMDA1RTA0MjM3NTM4MkZCRTA1NEZCRjAwMjEzNDMzMEUxRTMKKzoxMDE1NTIwMDAyODBFOEY1ODVFNTMyMzBFMTBBNTM4MkY4NDM4MjA0REQKKzoxMDE1NjIwMEUwNTRGRUYwRTU4NTIwRTM1NjkwMjA1MDc0MDFGMDkwOUYKKzoxMDE1NzIwMDIwNTg3NDAxRjA5MDdGRTJFMDQ0NDBGMDkwN0ZFMzA1NTAKKzoxMDE1ODIwMDg2OTA3RTAwMDU4NkU1ODVGMEEzRTU4NEYwMDU4NjkwQzkKKzoxMDE1OTIwMDdGRTVFNTQwRkQwMzAzMDNGRUYwRjBGMEYwRjBGMEYwMkMKKzoxMDE1QTIwMEYwREVGNjkwN0ZFMkUwNTRCRkYwOTAyMDU4NzQwMEYwMzUKKzoxMDE1QjIwMDkwN0ZCOUVERjA5MDIwMDlFMDU0RkVGMDAyMTM0MzdGRDIKKzoxMDE1QzIwMDQwOTA3RTAwMDU4NjkwMjAwOEU1ODRGRTI0MDVGRDhENkUKKzoxMDE1RDIwMDg0RTA4RTg0MzBFMDA5RTAwNTg2RjBBMzA1ODZERkVGMjMKKzoxMDE1RTIwMDA1ODZDMzc0NDA5RjkwN0ZCOUYwMDU4NkEzRTA1NEZFNDAKKzoxMDE1RjIwMEYwMDIxMzQzNTMyRUZBRTUyNDYwMDg3NTI0MDBEMkU3NjMKKzoxMDE2MDIwMEZFODAwQTkwN0ZDOUUwRkU3MDAzMDIxNjkwOTAyMDUwN0YKKzoxMDE2MTIwMDc0MDFGMDkwMjA1ODc0MDFGMDkwN0ZFMkUwNDQ0MEYwQjEKKzoxMDE2MjIwMDkwN0ZFMzA1ODY5MDdEQzAwNTg2RTU4NUYwQTNFNTg0N0QKKzoxMDE2MzIwMEYwMDU4NjkwN0ZFNUVFMzBFNzA4MDU4NkUwMjQzOEYwNzUKKzoxMDE2NDIwMDA1ODZFRTU0N0ZGRTU0MDdGQkVFNTQ3ODYwMzAwMzAzQTgKKzoxMDE2NTIwMDAzMzBFMzA0NzQwNzdCMDhGREZDRTBFMEUwRTBFMEUwMzcKKzoxMDE2NjIwMEUwRTBEREY2RUJGRTYwMTlFQzY0MDc3MDExOEIyNDkwNkMKKzoxMDE2NzIwMDdGRTJFMDU0QkZGMDkwMjA1ODc0MDBGMDgwMUJFMERFNUYKKzowRTE2ODIwMEZEOTA3RkUyRTA1NEJGRjA5MDIwNTg3NDAwRjAxRAorOjEwMTY5MDAwOTAyMDA5RTA1NEZERjA5MDdGQzlGMDAyMTM0MzkwMjBBMAorOjEwMTZBMDAwMTJFMDU0M0YyMEUyM0EyMEUxMEIyMEU0MEIyMEU1MTQ0NQorOjEwMTZCMDAwNjAwOTAyMTM0MzAyMTc4NzAyMTM0MzQzODIwNEUwRjVEMworOjEwMTZDMDAwM0MwMjEzNDM0MzgyMDRFMDQzMkYwMTAyMTM0MzUzODIzRAorOjEwMTZEMDAwRjg0MzgyMDVFMDQyMzg1MzgyRkJFMDU0RkJGMDAyMTNFQQorOjEwMTZFMDAwNDMzMEUxMDI4MEU4RjU4NUU1MzIzMEUyMEE1MzgyRjhDMgorOjEwMTZGMDAwNDM4MjA0RTA1NEZFRjBFNTg1MjBFMzU2OTAyMDUwNzRDOAorOjEwMTcwMDAwMDJGMDkwMjA1ODc0MDFGMDkwN0ZFMkUwNDQ0MEYwOTBBNQorOjEwMTcxMDAwN0ZFMzA1ODY5MDdEODAwNTg2RTU4NUYwQTNFNTg0RjA2RQorOjEwMTcyMDAwMDU4NjkwN0ZFNUU1NDFGRDAzMDMwM0ZFRjBGMEYwRjA1MAorOjEwMTczMDAwRjBGMEYwRjBERUY2OTA3RkUyRTA1NEJGRjA5MDIwNTgzOQorOjEwMTc0MDAwNzQwMEYwOTA3RkJCRURGMDkwMjAxMUUwNTRGRUYwMDJBOQorOjEwMTc1MDAwMTM0MzdGNDA5MDdEODAwNTg2OTAyMDEwRTU4NEZFMjQxMQorOjEwMTc2MDAwMDVGRDhEODRFMDhFODQzMEUwMDlFMDA1ODZGMEEzMDU1OAorOjEwMTc3MDAwODZERkVGMDU4NkMzNzQ0MDlGOTA3RkJCRjAwNTg2QTM4QworOjEwMTc4MDAwRTA1NEZFRjAwMjEzNDM1MzJGRkFFNTI1NjAwODc1MjU1NworOjEwMTc5MDAwMDBEMkU3RkU4MDBBOTA3RkNCRTBGRTcwMDMwMjE4MjFBMgorOjEwMTdBMDAwOTAyMDUwNzQwMkYwOTAyMDU4NzQwMUYwOTA3RkUyRTA5NQorOjEwMTdCMDAwNDQ0MEYwOTA3RkUzMDU4NjkwN0Q0MDA1ODZFNTg1RjAwNgorOjEwMTdDMDAwQTNFNTg0RjAwNTg2OTA3RkU1RUUzMEU3MDgwNTg2RTAyNgorOjEwMTdEMDAwMjQzOEYwMDU4NkVFNTQ3RkZFNTQwN0ZCRUU1NDc4NjAwMworOjEwMTdFMDAwMzAwMzAzMDMzMEUzMDQ3NDA3N0IwOEZERkNFMEUwRTAxMgorOjEwMTdGMDAwRTBFMEUwRTBFMERERjZFQkZFNjAxOUVDNjQwNzcwMTE3QworOjEwMTgwMDAwOEIyNTkwN0ZFMkUwNTRCRkYwOTAyMDU4NzQwMEYwODA2OAorOjEwMTgxMDAwMUJFMERFRkQ5MDdGRTJFMDU0QkZGMDkwMjA1ODc0MDBBMgorOjEwMTgyMDAwRjA5MDIwMTFFMDU0RkRGMDkwN0ZDQkYwMDIxMzQzOTAzNAorOjEwMTgzMDAwMjAxQUUwNTQzRjIwRTIzQTIwRTEwQjIwRTQwQjIwRTU5RgorOjEwMTg0MDAwMTQ2MDA5MDIxMzQzMDIxOTE4MDIxMzQzNDM4MjA0RTA4RgorOjEwMTg1MDAwRjUzRDAyMTM0MzQzODIwNEUwNDMzMDAxMDIxMzQzNTMzNgorOjEwMTg2MDAwODJGODQzODIwNUUwNDIzOTUzODJGQkUwNTRGQkYwMDJFOAorOjEwMTg3MDAwMTM0MzMwRTEwMjgwRThGNTg1RTUzMjMwRTMwQTUzODIxNAorOjEwMTg4MDAwRjg0MzgyMDRFMDU0RkVGMEU1ODUyMEUzNTY5MDIwNTBCMgorOjEwMTg5MDAwNzQwM0YwOTAyMDU4NzQwMUYwOTA3RkUyRTA0NDQwRjAyRgorOjEwMThBMDAwOTA3RkUzMDU4NjkwN0QwMDA1ODZFNTg1RjBBM0U1ODRCRAorOjEwMThCMDAwRjAwNTg2OTA3RkU1RTU0MkZEMDMwMzAzRkVGMEYwRjBCRQorOjEwMThDMDAwRjBGMEYwRjBGMERFRjY5MDdGRTJFMDU0QkZGMDkwMjAxMAorOjEwMThEMDAwNTg3NDAwRjA5MDdGQkRFREYwOTAyMDE5RTA1NEZFRjBCOAorOjEwMThFMDAwMDIxMzQzN0Y0MDkwN0QwMDA1ODY5MDIwMThFNTg0RkUxQQorOjEwMThGMDAwMjQwNUZEOEQ4NEUwOEU4NDMwRTAwOUUwMDU4NkYwQTNBOAorOjEwMTkwMDAwMDU4NkRGRUYwNTg2QzM3NDQwOUY5MDdGQkRGMDA1ODY5NgorOjEwMTkxMDAwQTNFMDU0RkVGMDAyMTM0MzUzMzBGQUU1MjY2MDA4NzU0NQorOjEwMTkyMDAwMjYwMEQyRTdGRTgwMEE5MDdGQ0RFMEZFNzAwMzAyMTkwOAorOjEwMTkzMDAwQjI5MDIwNTA3NDAzRjA5MDIwNTg3NDAxRjA5MDdGRTIzMAorOjEwMTk0MDAwRTA0NDQwRjA5MDdGRTMwNTg2OTA3Q0MwMDU4NkU1ODUwNQorOjEwMTk1MDAwRjBBM0U1ODRGMDA1ODY5MDdGRTVFRTMwRTcwODA1ODY4NAorOjEwMTk2MDAwRTAyNDM4RjAwNTg2RUU1NDdGRkU1NDA3RkJFRTU0NzhGMQorOjEwMTk3MDAwNjAzMDAzMDMwMzMwRTMwNDc0MDc3QjA4RkRGQ0UwRTAwMAorOjEwMTk4MDAwRTBFMEUwRTBFMEUwRERGNkVCRkU2MDE5RUM2NDA3NzAxQgorOjEwMTk5MDAwMTE4QjI2OTA3RkUyRTA1NEJGRjA5MDIwNTg3NDAwRjA0NQorOjEwMTlBMDAwODAxQkUwREVGRDkwN0ZFMkUwNTRCRkYwOTAyMDU4NzQ5MQorOjEwMTlCMDAwMDBGMDkwMjAxOUUwNTRGREYwOTA3RkNERjAwMjEzNDMyOQorOjAxMTlDMDAwMzJGNAorOjA0MTlDMTAwQUQwN0FDMDZCQworOjEwMTlDNTAwNzkwNkVEMjQwNEY1ODJFNDNDRjU4M0UwRkFBM0UwRkIxNworOjEwMTlENTAwNEE3MDAzMDIxQjA5RTlCNDA3MDA0MDAzMDIxQURCOTBCMQorOjEwMTlFNTAwMTlFQkY4MjgyODczMDIxQUI5MDIxQTcxMDIxQTVBMDI1OQorOjEwMTlGNTAwMUE0MDAyMUEyRjAyMUExQTAyMUEwMDkwN0ZBNUUwNDQxMworOjEwMUEwNTAwODBGMDhEODI4QzgzQTNFMEZGMjVFMDQ0QTA5MDdGQTYyMworOjEwMUExNTAwRjAxOTAyMUFEQjE5OEQ4MjhDODNFMEMzOTQyMDQwMEFFOQorOjEwMUEyNTAwQTNBM0UwOTA3RkE2RjAwMjFBREI4RDgyOEM4M0EzQTM4QgorOjEwMUEzNTAwRTBBM0UwOTA3RkE2RjAxOTAyMUFEQjkwN0ZBNUUwNDRCMQorOjEwMUE0NTAwODBGMDhEODI4QzgzQTNFMEZGMjVFMDQ0QTE5MDdGQTZFMgorOjEwMUE1NTAwRjAxOTAyMUFEQkVCNjQwMTRBNzAwODkwN0ZBNUUwNDQ5NworOjEwMUE2NTAwMjBGMDE5OTA3RkE2RTBGNTU5MTk4MDZBRUQyNDA0RjU1OAorOjEwMUE3NTAwODJFNDNDRjU4M0UwRkVBM0UwNjQwMjRFNzAwODkwN0ZBQgorOjEwMUE4NTAwQTVFMDQ0MjBGMDE5OTA3RkE2RTBGRkVEMjQwNkY1ODIzRAorOjEwMUE5NTAwRTQzQ0Y1ODNFNDc1RjAwMTEyQTI5Nzg1RjA4MkY1ODNBNQorOjEwMUFBNTAwRUZGMEVEMjQwNEY1ODJFNDNDRjU4Mzc0RkZGNUYwMTJDNAorOjEwMUFCNTAwQTI4MTgwMjI5MDdGQTVFMDQ0NDBGMDkwN0ZBNkUwRkZDMAorOjEwMUFDNTAwRUQyNDA2RjU4MkU0M0NGNTgzRTBGQUEzRTBGNTgyOEE4RAorOjEwMUFENTAwODNFRkYwN0YwODIyOTA3RkE1RTBGNTU5MzBFMEY3MzBERAorOjEwMUFFNTAwRTIwN0UwNDQ0MEYwN0YwNjIyRTlEMzk0MDI1MDAzMDI2NgorOjEwMUFGNTAwMTlDN0U1NTkzMEUxMDMwMjE5Qzc5MDdGQTVFMDQ0NDBCNQorOjA2MUIwNTAwRjA3RjA3MjI3RjA4QkIKKzowMTFCMEIwMDIyQjcKKzoxMDFCMEMwMEU1MzNDMzk0MDE1MDFDN0YwNTdFMDAxMjA5QUU3RjAyQTEKKzoxMDFCMUMwMDdERkYxMjgyRUE3RjA1N0UwMDEyMDlBRTdGMDM3REZGRjYKKzowNDFCMkMwMDEyODJFQTIyMTUKKzoxMDgwMDAwMDdCRkY3QTEyNzkxQjkwMDAwNDEyQTI1NEZEOEI1MDc1RUQKKzoxMDgwMTAwMDUxMTI3NTUyMjRFNDkwN0ZFMUYwOTA3RkUwRjBGNTRFMkMKKzoxMDgwMjAwMEY1NEY5MDAyQUVGMDkwN0ZERkYwOTA3RkRFRjA5MDdGMTIKKzoxMDgwMzAwMEE5NzRGRkYwOTA3RkFBRjBFNEZDRUMyNUUwMjRCNEY1RUQKKzoxMDgwNDAwMDgyRTQzNDdGRjU4M0U0RjAwQ0JDMTBFRUU0OTA3RkREMzUKKzoxMDgwNTAwMEYwQUYwNTFERUY3MDAzMDI4MUM2QUI1MEFBNTFBOTUyQzMKKzoxMDgwNjAwMDkwMDAwMTEyQTI1NDY0MDU2MDAzMDI4MUI1OTAwMDAzRTAKKzoxMDgwNzAwMDEyQTI1NDY0MDE2MDAzMDI4MTNDOTAwMDAyMTJBMjU0RDcKKzoxMDgwODAwMEZGNTQ3RkZDRDM5NDA3NTAwMzAyODExNkVDQzM5NDEwNzUKKzoxMDgwOTAwMDQwMDMwMjgxMTZFRjMwRTc0MkU1NEZBRTRFNzgwMkNFNDQKKzoxMDgwQTAwMEMzMTNDRTEzRDhGOUZGNzRGMDJDRjU4MkU0MzQ3RkY1QjYKKzoxMDgwQjAwMDgzRUZGMDkwN0ZFMEUwRkZFQzI0RjhGRTc0MDFBODA2NjcKKzoxMDgwQzAwMDA4ODAwMkMzMzNEOEZDNEY5MDdGRTBGMDkwMDJBRUUwMEUKKzoxMDgwRDAwMDA0RjA5MDdGRERFMDQ0ODBGMDgwM0VFNTRGQUU0RTc4QzYKKzoxMDgwRTAwMDAyQ0VDMzEzQ0UxM0Q4RjlGRjc0RTgyQ0Y1ODJFNDM0MjIKKzoxMDgwRjAwMDdGRjU4M0VGRjA5MDdGRTFFMEZGRUMyNEY4RkU3NDAxNjAKKzoxMDgxMDAwMEE4MDYwODgwMDJDMzMzRDhGQzRGOTA3RkUxRjA5MDAyQUMKKzoxMDgxMTAwMEFFRTAwNEYwODAwMzdGRkYyMjkwMDAwNDEyQTI1NDI1RjkKKzoxMDgxMjAwMDRGRjU0RkU0MzU0RUY1NEU5MDAwMDUxMkEyNTRGRUU0OTMKKzoxMDgxMzAwMDI1NEZGNTRGRUUzNTRFRjU0RTAyODFCOEFCNTBBQTUxQTIKKzoxMDgxNDAwMEE5NTI5MDAwMDMxMkEyNTRGRjY0MDI2MDA1RUY2NDAzNzkKKzoxMDgxNTAwMDcwNjA5MDAwMDIxMkEyNTRGRjU0N0ZGQ0QzOTQwNzUwMjkKKzoxMDgxNjAwMDRFRUYzMEU3MUU5MDdGREVFMEZGNzQwMUE4MDQwODgwMjgKKzoxMDgxNzAwMDAyQzMzM0Q4RkNGRTRGOTA3RkRFRjA5MDdGQUNFMDRFMjAKKzoxMDgxODAwMEYwODAzNTkwN0ZERkUwRkY3NDAxQTgwNDA4ODAwMkMzMEYKKzoxMDgxOTAwMDMzRDhGQ0ZFNEY5MDdGREZGMDkwN0ZBREUwNEVGMEVDRTcKKzoxMDgxQTAwMDI1RTAyNEM1RjU4MkU0MzQ3RkY1ODNFQ0YwODAwOTdGNzcKKzoxMDgxQjAwMEZGMjI3RkZGMjI3RkZGMjI3NDA3MjU1MkY1NTJFNDM1MEMKKzoxMDgxQzAwMDUxRjU1MTAyODA1MTIwMDMwRDkwMDJBRUUwNjAwNzkwRkUKKzowODgxRDAwMDdGQUVFMDQ0MDJGMDdGMDBFNQorOjAxODFEODAwMjI4NAorOjA0ODFEOTAwOEU1OThGNUFEMgorOjEwODFERDAwNzU1QjAzRTU1QTI0MDRGNTgyRTQzNTU5RjU4M0UwRkUxOQorOjEwODFFRDAwQTNFMDRFNzAwMzAyODJFN0U1NUI2MDRFMTQ2MDM4MTQyNQorOjEwODFGRDAwNjAyMDE0NjAwMzAyODI4QjkwN0ZBNUUwNDQ4MEYwODU5RgorOjEwODIwRDAwNUE4Mjg1NTk4M0EzRTBGRjI1RTA0NEEwOTA3RkE2RjAxNAorOjEwODIxRDAwODA2Qzg1NUE4Mjg1NTk4M0UwQzM5NDIwNDAwOUEzQTNCRAorOjEwODIyRDAwRTA5MDdGQTZGMDgwNTcxNTVCODU1QTgyODU1OTgzQTMxMAorOjEwODIzRDAwQTNFMEEzRTA5MDdGQTZGMDgwNDRFNTVBMjQwNkY1ODJFMgorOjEwODI0RDAwRTQzNTU5RjU4M0U0NzVGMDAxMTJBMjk3ODVGMDgyRjVCNgorOjEwODI1RDAwODNFMDkwN0ZBNkYwOTA3RkE1RTA0NDQwRjBFNTVBMjQ5RQorOjEwODI2RDAwMDRGNTgyRTQzNTU5RjU4Mzc0RkZGNUYwMTJBMjgxODU4QQorOjEwODI3RDAwNUE4Mjg1NTk4M0EzQTNFNDc1RjAwMTEyQTI4MTkwN0ZFMAorOjEwODI4RDAwQTVFMEY1NUMzMEUwRjczMEUyMDdFMDQ0NDBGMDdGMDYxMgorOjEwODI5RDAwMjJFNTVDMjBFMTBBOTA3RkE1RTA0NDQwRjA3RjA3MjJCMworOjEwODJBRDAwRTU1QjcwMzE3RjAxN0UwMDEyMDlBRTkwN0ZBNUUwNDQ0MQorOjEwODJCRDAwODBGMDg1NUE4Mjg1NTk4M0EzRTBGRjI1RTA0NEEwOTA4NAorOjEwODJDRDAwN0ZBNkYwOTA3RkE1RTBGNTVDMzBFMEY3MzBFMUQ1NzU0NQorOjBDODJERDAwNUIwMzAyODFFMDE1NUIwMjgxRTA3RjA4N0EKKzowMTgyRTkwMDIyNzIKKzowMjgyRUEwMEFFMDdERAorOjEwODJFQzAwN0MwMkVDMTQ2MDE1MTQ3MDFFOTA3RkE1RTA0NDgwRjBBNQorOjEwODJGQzAwRUUyNUUwNDQ0MDkwN0ZBNkYwODAwQzkwN0ZBNkVERjAzOAorOjEwODMwQzAwOTA3RkE1RTA0NDQwRjA5MDdGQTVFMEZCMzBFMEY4QkMwNgorOjEwODMxQzAwMDIwQTIwRTEwN0UwNDQ0MEYwN0YwNzIyRUIzMEUyMEEzQQorOjBFODMyQzAwOTA3RkE1RTA0NDQwRjA3RjA2MjJEQ0I2N0YwODdCCis6MDE4MzNBMDAyMjIwCis6MTA4MzNCMDBDMEUwQzA4M0MwODJDMkE5OTAwMzAwNzQxOUYwRDJBOTE3Cis6MEY4MzRCMDA1MzkxN0Y5MDAxQzRFNEYwRDA4MkQwODNEMEUwMzIxMAorOjEwODM1QTAwRUY3NUYwMDhBNDI0MDBGNTgyRTQzNDIwQUI4MkZBRjUyNAorOjEwODM2QTAwODNBM0U0RjA4QjgyOEE4M0EzQTNBM0UwRjU2MTc0QkY5RAorOjEwODM3QTAwRjA4QjgyOEE4M0EzQTNFMDQ0MTBGMDhCODI4QTgzQTNDMgorOjEwODM4QTAwQTNBM0U0RjA4QjgyOEE4M0EzRjBGOUVENjAxRDc0MDE0NAorOjEwODM5QTAwN0UwMEE4MDcwODgwMDVDMzMzQ0UzM0NFRDhGOUZGRTRBMAorOjEwODNBQTAwRUY1NTMxNjAwNDc5MDk4MDAyNzkwRDhCODI4QTgzQTNBMworOjEwODNCQTAwQTNBMzc0QkZGMDhCODI4QTgzQTNBM0UwNTRFRkYwOEI0QworOjEwODNDQTAwODI4QTgzQTNBM0EzRTU2MUYwQUUwMkFGMDM4RjgyOEVGNAorOjA0ODNEQTAwODNBM0U5RjBBMAorOjAxODNERTAwMjI3QworOjA0ODNERjAwOEY2MThENjJCQgorOjEwODNFMzAwRTRGNTY3NzQzRjJGRjg3NjA4N0Y4MDdFMjU3RDAwN0M1NworOjEwODNGMzAwMDBBQjY2QUE2NUE5NjRBODYzRDMxMkEzQjM0MDI2N0YyMgorOjEwODQwMzAwMDA3RTk2N0QwMDdDMDBBODYzRDMxMkEzQjM1MDBDNzU0NQorOjEwODQxMzAwNjc0MDc0M0YyNTYxRjg3NjEwODAwQTc1Njc4MDc0M0Y2MgorOjEwODQyMzAwMjU2MUY4NzYzOEU1Njc0NTYyNDQwMUZGRTU2MTc1RjAzQgorOjBEODQzMzAwMDhBNDI0MDJGNTgyRTQzNDIwRjU4M0VGRjA2NAorOjAxODQ0MDAwMjIxOQorOjEwODQ0MTAwOEY4MjhFODNFMDE0RjU1N0MzOTQwNDQwMDM3RkZGMjI4QgorOjEwODQ1MTAwRTU1Nzc1RjAwOEE0MjQwMEY1ODJFNDM0MjBBRjgyRjVENQorOjEwODQ2MTAwNTg4RjU5RTU1NzI1RTAyNEM2RjU4MkU0MzQ3RkY1ODMxQQorOjEwODQ3MTAwRTAyMEUxMEZFNTU3MjVFMDI0QzdGNTgyRTQzNDdGRjVEQworOjEwODQ4MTAwODNFNEYwNzQyMzI1NTdGOEU0RjZFNTU5MjQwNEY1ODJEMgorOjEwODQ5MTAwRTQzNTU4RjU4M0UwNDQwM0YwRTU1Nzc1RjAwREE0MjQ2NQorOjEwODRBMTAwMDJGNTgyRTQzNDAzRjU4M0UwRkNBM0UwRkRBM0UwRkVFMgorOjEwODRCMTAwQTNFMEY1NjY4RTY1OEQ2NDhDNjM3RDA2QUY1NzEyODNFQworOjEwODRDMTAwREZBRjU3N0QwMTEyODM1QTg1NTk4Mjg1NTg4M0EzQTM1MworOjEwODREMTAwRTAyMEUwNDNFMEZGRTU1OTI0MDVGNTgyRTQzNTU4RjU1NQorOjEwODRFMTAwODNFMEU1NTkyNDA2RjU4MkU0MzU1OEY1ODNFMEZGRTU5QworOjEwODRGMTAwNTc3NUYwMERBNDI0MDJGNTgyRTQzNDAzRjU4M0UwRkMwMgorOjEwODUwMTAwQTNFMEZEQTNFMEZFQTNFMEY1NjY4RTY1OEQ2NDhDNjNCOAorOjEwODUxMTAwN0QwNkFGNTcxMjgzREY3NEY4MjU1N0Y1ODJFNDM0MDJFNAorOjEwODUyMTAwRjU4M0U0RjBFNTU3MjVFMEZGQzM3NDBDOUY3NUYwNDAzNworOjEwODUzMTAwQTQyNDQwRjU4MkU1RjAzNDdCQUY4MkZFRTU1NzI1RTBDNworOjEwODU0MTAwMjRFRkY1ODJFNDM0MDJGNTgzRUVGMEEzRUZGMEFGNTdBOAorOjBGODU1MTAwNzQwMUE4MDcwODgwMDJDMzMzRDhGQzQyMzQ3RjAwQUUKKzowMTg1NjAwMDIyRjgKKzoxMDg1NjEwMDhGODI4RTgzRTAxNEY1NTdDMzk0MDQ0MDAzN0ZGRjIyNkEKKzoxMDg1NzEwMEFGNTdFNEZEMTI4MzVBNzRGODI1NTdGNTgyRTQzNDAyQUIKKzoxMDg1ODEwMEY1ODNFNEYwRTU1Nzc1RjAwOEE0MjQwMEY1ODJFNDM0OUUKKzoxMDg1OTEwMDIwQUY4MkY1NTk4RjVBRjU4M0U1ODIyNDA0RjU4MkU0RjAKKzoxMDg1QTEwMDM1ODNGNTgzRTA1NEZDRjBFNTU3NzVGMDBEQTQyNDBDRjgKKzoxMDg1QjEwMEY1ODJFNDM0MDNGNTgzRTRGMEU1NTc3NUYwMERBNDI0NjYKKzoxMDg1QzEwMDAyRjU4MkU0MzQwM0Y1ODNFMEZDQTNFMEZEQTNFMEZFQzEKKzoxMDg1RDEwMEEzRTBGNTY2OEU2NThENjQ4QzYzN0QwNkFGNTcxMjgzQ0IKKzoxMDg1RTEwMERGRTU1QTI0MDVGNTgyRTQzNTU5RjU4M0UwMzBFMDA5RTkKKzoxMDg1RjEwMDg1NUE4Mjg1NTk4M0UwRjU1OEFGNTc3NDAxQTgwNzA4NTkKKzoxMDg2MDEwMDgwMDJDMzMzRDhGQ0Y0NTIzNEU1NTcyNUUwMjRDNkY1ODMKKzoxMDg2MTEwMDgyRTQzNDdGRjU4M0UwMjBFMTBGRTU1NzI1RTAyNEM3QUMKKzowQjg2MjEwMEY1ODJFNDM0N0ZGNTgzRTRGMDdGMDA3NQorOjAxODYyQzAwMjIyQgorOjA0ODYyRDAwOEU1NzhGNTg3RAorOjEwODYzMTAwOEY4MjhFODNFMDE0RjU1OUMzOTQwNDQwMDM3RkZGMjI5NworOjEwODY0MTAwRTU1OTc1RjAwOEE0MjQwMUY1ODJFNDM0MjBGNTgzRTBBRQorOjEwODY1MTAwNTQwMzcwNjY4NTU4ODI4NTU3ODNBM0UwMzBFMDI4RTU4RQorOjEwODY2MTAwNTk3NUYwMERBNDI0MDJGNTgyRTQzNDAzRjU4M0UwRkM4RQorOjEwODY3MTAwQTNFMEZEQTNFMEZFQTNFMEY1NjY4RTY1OEQ2NDhDNjM0NworOjEwODY4MTAwN0QwMkFGNTkxMjgzREY4NTU4ODI4NTU3ODNBM0UwMzA3RAorOjEwODY5MTAwRTEyOEU1NTk3NUYwMERBNDI0MDJGNTgyRTQzNDAzRjVDRgorOjEwODZBMTAwODNFMEZDQTNFMEZEQTNFMEZFQTNFMEY1NjY4RTY1OEQwQgorOjBDODZCMTAwNjQ4QzYzN0QwNEFGNTkxMjgzREY3RjAwRUUKKzowMTg2QkQwMDIyOUEKKzoxMDg2QkUwMDhGODI4RTgzQzA4M0MwODJFMEZEQTNBM0EzRTBGQ0VENzYKKzoxMDg2Q0UwMDZDRDA4MkQwODNGMDhGODI4RTgzQTNBM0EzQzA4M0MwOEQKKzoxMDg2REUwMDgyRTBGRDhGODI4RTgzRTBGQ0VENkNEMDgyRDA4M0YwNDEKKzoxMDg2RUUwMDhGODI4RTgzQzA4M0MwODJBM0EzQTNFMEZERUM2REQwRTYKKzoxMDg2RkUwMDgyRDA4M0YwOEY4MjhFODNBM0MwODNDMDgyRTBGRDhGRjEKKzoxMDg3MEUwMDgyOEU4M0EzQTNFMEZDRUQ2Q0QwODJEMDgzRjA4RjgyQTcKKzoxMDg3MUUwMDhFODNBM0EzQzA4M0MwODJFMEZEOEY4MjhFODNBM0UwRUQKKzoxMDg3MkUwMEZDRUQ2Q0QwODJEMDgzRjA4RjgyOEU4M0EzQzA4M0MwODkKKzoxMDg3M0UwMDgyRTBGRDhGODI4RTgzQTNBM0UwRkZFRDZGRDA4MkQwMDcKKzowMzg3NEUwMDgzRjAyMjkzCis6MDQ4NzUxMDBBRDA3QUMwNkJFCis6MTA4NzU1MDA3OTBEOEQ4MjhDODNFMDE0RkVDMzk0MDQ0MDAzN0ZGRjYyCis6MTA4NzY1MDAyMjhDNTc4RDU4RUU3NUYwMERBNDI0MDFGNTgyRTQzNDYyCis6MTA4Nzc1MDAwM0FGODJGRUFEMDExOUVENjAyNDBGRUZBQzA2NzAwMTY5Cis6MTA4Nzg1MDAwRTE0RjU4MjhDODNFMEZEMDU1OEU1NThBQTU3NzAwMjUyCis6MTA4Nzk1MDAwNTU3MTRGNTgyOEE4M0UwNkQ2MEQ5N0YwMTIyN0YwMDM5Cis6MDE4N0E1MDAyMkIxCis6MDQ4N0E2MDA4RTU3OEY1ODAzCis6MTA4N0FBMDA4RjgyOEU4M0UwMTRGNTVFQzM5NDA0NDAwMzdGRkYyMjE4Cis6MTA4N0JBMDBFNTVFNzVGMDA4QTQyNDAwRjU4MkU0MzQyMEFGODJGNTYyCis6MTA4N0NBMDA1RjhGNjA4NTU4ODI4NTU3ODNBM0UwRkNBM0UwRkRBM0YxCis6MTA4N0RBMDBFMEZFQTNFMEZGN0IwODdBMDA3OTAwNzgwMEQzMTJBM0I5Cis6MTA4N0VBMDBCMzQwMTA4NTU4ODI4NTU3ODNBMzEyQTNGQTAwMDAwMDZDCis6MTA4N0ZBMDAwODgwMkU4NTU4ODI4NTU3ODNBM0UwRkNBM0UwRkRBMzU5Cis6MTA4ODBBMDBFMEZFQTNFMEZGN0IwMDdBMDg3OTA3NzgwMEMzMTJBMzkxCis6MTA4ODFBMDBCMzUwMEU4NTU4ODI4NTU3ODNBMzEyQTNGQTAwMDcwODFFCis6MTA4ODJBMDAwMDg1NTg4Mjg1NTc4M0EzRTBGOEEzRTBGOUEzRTBGQTBDCis6MTA4ODNBMDBBM0UwRkI3RjAwN0U1MDdENDY3QzAwMTJBMzIxOEY1QzYzCis6MTA4ODRBMDA4RTVCOEQ1QThDNTk3QjBBN0EwMDc5MDA3ODAwMTJBM0M0Cis6MTA4ODVBMDAyMUFGMDM4RjVEQUY1Q0FFNUJBRDVBQUM1OTdCMEE3QTMwCis6MTA4ODZBMDAwMDc5MDA3ODAwMTJBMzIxOEY1QzhFNUI4RDVBOEM1OTk3Cis6MTA4ODdBMDBFNTVEQzM5NDA1NDAxNUU1NUMyNDAxRjU1Q0U0MzU1QkQwCis6MTA4ODhBMDBGNTVCRTQzNTVBRjU1QUU0MzU1OUY1NTk4NTYwODI4NTIwCis6MTA4ODlBMDA1RjgzQTNFNEYwODU2MDgyODU1RjgzQTNBM0EzRTA0NDlBCis6MTA4OEFBMDA4MEYwODU2MDgyODU1RjgzRTU1Q0YwQUY1Q0FFNUJBRDhFCis6MTA4OEJBMDA1QUFDNTk3ODA4MTJBM0M0ODU2MDgyODU1RjgzQTNFRkY2Cis6MTA4OENBMDBGMDg1NjA4Mjg1NUY4M0EzQTNBM0UwNTQ3RkYwRTRGNTdCCis6MTA4OERBMDA1REU1NTgyNDBCRjU4MkU0MzU1N0Y1ODNFMEZGMzBFMDc3Cis6MTA4OEVBMDAyMzU0MDFGMEU1NjAyNDA0RjU4MkU0MzU1RkY1ODNFMDYyCis6MTA4OEZBMDA1NEZERjBBRjVFNzQwMUE4MDcwODgwMDJDMzMzRDhGQ0E4Cis6MTA4OTBBMDA0MjIyODAzNjc0MDE3RTAwQTg1RTA4ODAwNUMzMzNDRUY5Cis6MTA4OTFBMDAzM0NFRDhGOUZGRTRFRjU1MjI2MDFGRTU2MDI0MDRGNTUxCis6MTA4OTJBMDA4MkU0MzU1RkY1ODNFMDQ0MDJGMEFGNUU3NDAxQTgwNzg0Cis6MTA4OTNBMDAwODgwMDJDMzMzRDhGQ0Y0NTIyMkU1NTgyNDA4RjU4MjkxCis6MTA4OTRBMDBFNDM1NTdGNTgzRTBGRkI0NjIwNTQzNUQwQTgwMUFFRjA4Cis6MTA4OTVBMDBCNDcyMDU0MzVEMDg4MDExRUZCNDc0MDU0MzVEMDI4MDZCCis6MTA4OTZBMDAwOEVGNjQ2RTYwMDM3RkZGMjJFNTU4MjQwQkY1ODJFNDZBCis6MTA4OTdBMDAzNTU3RjU4M0UwRkYzMEUzMDM0MzVEODBFRjMwRTcxMkJDCis6MTA4OThBMDA0MzVENDBFNTYwMjQwNEY1ODJFNDM1NUZGNTgzRTA0NDA1Cis6MTA4OTlBMDAwMkYwRTU1ODI0MEJGNTgyRTQzNTU3RjU4M0UwMzBFMTFGCis6MTA4OUFBMDAyMEFGNUU3NDAxQTgwNzA4ODAwMkMzMzNEOEZDNDIzMkE0Cis6MTA4OUJBMDBFNTYwMjQwNEY1ODJFNDM1NUZGNTgzRTA0NDAxRjA4MDQ0Cis6MTA4OUNBMDAxMEFGNUU3NDAxQTgwNzA4ODAwMkMzMzNEOEZDRjQ1MkMyCis6MTA4OURBMDAzMkU1NTgyNDBCRjU4MkU0MzU1N0Y1ODNFMEZGMzBFNDlECis6MTA4OUVBMDAxMUFFNUU3NDAxQTgwNjA4ODAwMkMzMzNEOEZDNDIzMTc2Cis6MTA4OUZBMDA4MDEwQUU1RTc0MDFBODA2MDg4MDAyQzMzM0Q4RkNGNDY2Cis6MTA4QTBBMDA1MjMxRUYyMEUxMDMzMEU0MDNFNEY1NUQ4NTYwODI4NUFECis6MTA4QTFBMDA1RjgzQTNBM0EzNzRCRkYwODU2MDgyODU1RjgzQTNBMzRBCis6MTA4QTJBMDBFNEYwRTU1REYwRTU1ODI0MEFGNTgyRTQzNTU3RjU4MzZDCis6MTA4QTNBMDBFMEZGRTU2MDI0MDRGNTgyRTQzNTVGRjU4M0VGRjBFNUI1Cis6MTA4QTRBMDA1ODI0MEFGNTgyRTQzNTU3RjU4M0UwRkZFNTYwMjQwNUVBCis6MTA4QTVBMDBGNTgyRTQzNTVGRjU4M0VGRjBFNTU4MjQwOUY1ODJFNDAxCis6MTA4QTZBMDAzNTU3RjU4M0UwRkZFNTYwMjQwNkY1ODJFNDM1NUZGNUM2Cis6MTA4QTdBMDA4M0VGRjBFNTU4MjQwOUY1ODJFNDM1NTdGNTgzRTBGRkUyCis6MTA4QThBMDBFNTYwMjQwN0Y1ODJFNDM1NUZGNTgzRUZGMDg1NjA4MkJGCis6MTA4QTlBMDA4NTVGODNBM0EzQTNFNEYwODU2MDgyODU1RjgzQTNBMzk0Cis6MTA4QUFBMDBGMDg1NTg4Mjg1NTc4M0EzRTBGQ0EzRTBGREEzRTBGRThFCis6MTA4QUJBMDBBM0UwRjU2NjhFNjU4RDY0OEM2MzdEMDZBRjVFMTI4M0Q2Cis6MTA4QUNBMDBERjc1NUQwOEU1NTgyNDBDRjU4MkU0MzU1N0Y1ODNFMDM3Cis6MTA4QURBMDA2MDAzNDM1RDEwRTU2MDI0MDRGNTgyRTQzNTVGRjU4M0E1Cis6MTA4QUVBMDBFMDU0MDM0NTVERjBFNTU4MjQwNUY1ODJFNDM1NTdGNTcxCis6MTA4QUZBMDA4M0UwRkVDMzk0MDU0MDA2RUVEMzk0MDg0MDAzN0ZGRjRCCis6MTA4QjBBMDAyMkU1NTgyNDA2RjU4MkU0MzU1N0Y1ODNFMEZEQzM5NDNGCis6MTA4QjFBMDAwMTQwMDZFREQzOTQwMjQwMDM3RkZGMjJFRDE0RkYyNUE2Cis6MTA4QjJBMDBFMDI1RTBGRkVFMjRGQjRGRjU1REU1NTgyNDA3RjU4MkNBCis6MTA4QjNBMDBFNDM1NTdGNTgzRTAyNEQwNjAxODE0NjAxQTI0QzM2MDIyCis6MTA4QjRBMDAxRTE0NjAwOTI0MEE3MDE0NDM1RDE4ODAxMjQzNUQwOERDCis6MTA4QjVBMDA4MDBENDM1RDM4ODAwODQzNUQyODgwMDM3RkZGMjI4NUFFCis6MTA4QjZBMDA2MDgyODU1RjgzQTNBM0EzRTU1REYwNzQwMTdFMDBBOEZDCis6MTA4QjdBMDA1RTA4ODAwNUMzMzNDRTMzQ0VEOEY5RkZFNEVGNTUzNDBGCis6MTA4QjhBMDA2MDA3QUY1RTdEMDExMjgzNUFBQTU3QTk1ODdCMDFDMEJDCis6MTA4QjlBMDAwM0MwMDFFNTVFNzVGMDBEQTQyNDAxRjk3NDAzMzVGMEY0Cis6MTA4QkFBMDBBODAxRkNBRDAzRDAwMUQwMDM3RTAwN0YwRDEyQTIxMkYyCis6MDI4QkJBMDA3RjAwM0EKKzowMThCQkMwMDIyOTYKKzoxMDhCQkQwMDhGODI4RTgzRTAxNEZFQzM5NDA0NDAwMzdGRkYyMkVFNjgKKzoxMDhCQ0QwMDc1RjAwOEE0MjQwMEY1ODJFNDM0MjBBRDgyRkM5MDAxRjgKKzoxMDhCREQwMDJDNzQwOEYwRUUwNEEzRjBFNEEzRjA4RDgyOEM4M0U1RjEKKzoxMDhCRUQwMDgyMjQwNkY1ODJFNDM1ODNGNTgzRTA5MDAxMkZGMDhEMjQKKzoxMDhCRkQwMDgyOEM4M0U1ODIyNDA1RjU4MkU0MzU4M0Y1ODNFMDU0ODgKKzoxMDhDMEQwMDFFOTAwMTMwRjA3NDJEMkVGOEU2QTNGMEFGMDY3NDAxMUUKKzoxMDhDMUQwMEE4MDcwODgwMDJDMzMzRDhGQ0Y1NTdFNTMzQzM5NDAxODgKKzoxMDhDMkQwMDQwMEQ5MDIwNzhFMDU0MEY3NTU4MDBGNTU5ODAwOTdGNUMKKzoxMDhDM0QwMDAyMTIxMTI3OEU1ODhGNTlDM0U1NTg2NDgwOTQ4MDQwRDUKKzoxMDhDNEQwMERBRTU1NzU1NTk5MDAxMzJGMDdFMDE3RjJDN0QwNzEyRTAKKzowNDhDNUQwMDkxNkE3RjAwOTkKKzowMThDNjEwMDIyRjAKKzoxMDhDNjIwMDhGODI4RTgzRTAxNEZFQzM5NDA0NDAwMzdGRkYyMkVFQzIKKzoxMDhDNzIwMDc1RjAwOEE0MjQwMEY1ODJFNDM0MjBBRjgyRkU5MDAxNEUKKzoxMDhDODIwMDMzNzQwQUYwOEY4MjhFODNFNTgyMjQwNEY1ODJFNDM1MDAKKzoxMDhDOTIwMDgzRjU4M0UwOTAwMTM0RjA3RTAxN0YzMzdEMDIxMjkxRUYKKzowMzhDQTIwMDZBN0YwMEU2Cis6MDE4Q0E1MDAyMkFDCis6MDQ4Q0E2MDA4RTU3OEY1OEZFCis6MTA4Q0FBMDA4RjgyOEU4M0UwMTRGRUMzOTQwNDQwMDM3RkZGMjJFRTdBCis6MTA4Q0JBMDA3NUYwMDhBNDI0MDBGNTgyRTQzNDIwQUQ4MkZDODU1OEJFCis6MTA4Q0NBMDA4Mjg1NTc4M0EzRTA2MDBGRUQyNDA0RjU4MkU0M0NGNTI2Cis6MTA4Q0RBMDA4M0UwNDQwMkYwODA0M0VFNzVGMDBEQTQyNDBDRjU4MjgzCis6MTA4Q0VBMDBFNDM0MDNGNTgzRTAzMEUwMjBFRTI1RTAyNEM2RjU4MjgzCis6MTA4Q0ZBMDBFNDM0N0ZGNTgzRTAzMEUxRjA3RjYwRUQyNDA1RjU4MjBFCis6MTA4RDBBMDBFNDNDRjU4M0UwNUZCNTA3RjJBRTA0QUYwNUVGMjQwNDU3Cis6MEM4RDFBMDBGNTgyRTQzRUY1ODNFMDU0RkRGMDdGMDA5QworOjAxOEQyNjAwMjIyQQorOjA0OEQyNzAwQUQwN0FDMDZFMgorOjEwOEQyQjAwOEQ4MjhDODNFMDE0RkVDMzk0MDQ0MDAzN0ZGRjIyRUVGQworOjEwOEQzQjAwNzVGMDA4QTQyNDAwRjU4MkU0MzQyMEFGODJGRThEODIwNgorOjEwOEQ0QjAwOEM4M0EzRTA2MDBGRUYyNDA0RjU4MkU0M0VGNTgzRTAwRgorOjEwOEQ1QjAwNDQwMUYwODAwREVGMjQwNEY1ODJFNDNFRjU4M0UwNTRFQQorOjA0OEQ2QjAwRkVGMDdGMDA5NworOjAxOEQ2RjAwMjJFMQorOjA0OEQ3MDAwQUQwN0FDMDY5OQorOjEwOEQ3NDAwOEQ4MjhDODNFMDE0RkVDMzk0MDQ0MDAzN0ZGRjIyRUVCMworOjEwOEQ4NDAwNzVGMDA4QTQyNDAwRjU4MkU0MzQyMEFGODJGRThEODJCRAorOjEwOEQ5NDAwOEM4M0EzRTA2MDBEOEY4MjhFODNBM0EzQTNFMDQ0NDA2MQorOjEwOERBNDAwRjA4MDBCOEY4MjhFODNBM0EzQTNFMDU0QkZGMDdGMDBENworOjAxOERCNDAwMjI5QworOjEwOERCNTAwOEY4MjhFODNFMDE0RkVDMzk0MDQ0MDAzN0ZGRjIyQUZBRAorOjEwOERDNTAwMDY3NDAxQTgwNzA4ODAwMkMzMzNEOEZDNDIzRTdGMDAyMQorOjAxOERENTAwMjI3QgorOjA0OERENjAwOEU1NzhGNThDRAorOjEwOEREQTAwOEY4MjhFODNBM0UwRjU1QzhGODI4RTgzRTBGNTU5RDM3MAorOjEwOERFQTAwOTQwNDQwMDM3RkZGMjJFNTU5MjRGRTYwMTYxNDYwMUY5NQorOjEwOERGQTAwMTQ2MDI4MjQwMzcwMkU3RTdFN0Y4MDc1NUE3RTc1NUJGMAorOjEwOEUwQTAwODA4MDIyN0U3RTdGMDA3NTVBN0U3NTVCMDA4MDE2N0U4QQorOjEwOEUxQTAwN0Q3RjgwNzU1QTdENzU1QjgwODAwQTdFN0Q3RjAwNzVCNworOjEwOEUyQTAwNUE3RDc1NUIwMEU1NUM3MDFCODU1QjgyODU1QTgzNzQ4RAorOjEwOEUzQTAwRkZGMEU1NTkyNUUwMjRCNUY1ODJFNDM0N0ZGNTgzNzQyMworOjEwOEU0QTAwMDFGMDgwNDhFNTU4MjQwMkZGRTQzNTU3RkVFNTVDNjBFRQorOjEwOEU1QTAwMjMwRkVGQUMwNjcwMDEwRTE0RjU4MjhDODNFMEZEMDUzQQorOjEwOEU2QTAwNUJFNTVCQUE1QTcwMDIwNTVBMTRGNTgyOEE4M0VERjAxMworOjEwOEU3QTAwMTU1QzgwRDk4NTU4ODI4NTU3ODNBM0UwRkZFNTU5MjU3QgorOjBFOEU4QTAwRTAyNEI1RjU4MkU0MzQ3RkY1ODNFRkYwN0YwMDNECis6MDE4RTk4MDAyMkI3Cis6MTA4RTk5MDBFRjI0MDVGNTU4RTQzRUY1NTc5MDAxMzU3NDA3RjA5MDM1Cis6MTA4RUE5MDAwMTdBNzQwMUYwQTM3NDM2RjA4NTU4ODI4NTU3ODNBMzNCCis6MTA4RUI5MDBBM0EzRTBGRUEzRTA4RTU5RjU1QTg1NTg4Mjg1NTc4MzBFCis6MTA4RUM5MDBFMDI0OUU2MDYxMjRGOTYwMEUyNEYxNzAwMzAyOEY3QTE4Cis6MTA4RUQ5MDAyNDE0NjAwMzAyOEZDODg1NTg4Mjg1NTc4M0EzRTBGRTU2Cis6MTA4RUU5MDBBM0UwRkZDM0U0OUZGNTVDNzQwMTlFRjU1QkQzRTU1Q0U5Cis6MTA4RUY5MDA5NDNGRTU1Qjk0MDA0MDA2NzU1QjAwNzU1QzNGRDNFNUU0Cis6MTA4RjA5MDA1QTk1NUNFNTU5OTU1QjUwMDMwMjhGQ0JBRTVCQUY1QzFDCis6MTA4RjE5MDA4NTU4ODI4NTU3ODNBM0EzQTNFRUYwRkVBM0VGRjA4RUI1Cis6MTA4RjI5MDA1OUY1NUEwMjhGQ0I4NTU4ODI4NTU3ODNBM0UwRkVBMzUyCis6MTA4RjM5MDBFMEZGQzM3NDMwOUZGNTVDRTQ5RUY1NUJEM0U1NUM5NDc4Cis6MTA4RjQ5MDAxMEU1NUI5NDAwNDAwNjc1NUIwMDc1NUMxMEQzRTU1QTJCCis6MTA4RjU5MDA5NTVDRTU1OTk1NUI0MDZBQUU1QkFGNUM4NTU4ODI4NTQ3Cis6MTA4RjY5MDA1NzgzQTNBM0EzRUVGMEZFQTNFRkYwOEU1OUY1NUE4MDIxCis6MTA4Rjc5MDA1MTg1NTg4Mjg1NTc4M0EzRTBGRUEzRTBGRkMzRTQ5RjkwCis6MTA4Rjg5MDBGNTVDRTQ5RUY1NUI0NTVDNjAwQkQzRTU1Qzk0M0ZFNURECis6MTA4Rjk5MDA1Qjk0MDA0MDA2NzU1QjAwNzU1QzNGRDNFNTVBOTU1Q0IwCis6MTA4RkE5MDBFNTU5OTU1QjQwMUNBRTVCQUY1Qzg1NTg4Mjg1NTc4MzVDCis6MTA4RkI5MDBBM0EzQTNFRUYwRkVBM0VGRjA4RTU5RjU1QTgwMDM3RjI5Cis6MTA4RkM5MDAwMTIyODU1ODgyODU1NzgzRTAyNDlFNzAwMzAyOTA4Qjg1Cis6MTA4RkQ5MDAyNEY5NjA1ODI0RjE3MDAzMDI5MERCMjQxNDYwMDMwMjIxCis6MTA4RkU5MDA5MTFGODU1ODgyODU1NzgzQTNFMEZFQTNFMEZGRDM5NEEwCis6MTA4RkY5MDBGRkVFOTQwMDQwMDMwMjkxMUY5MDAxNzVFRkYwRTU1QUNFCis6MTA5MDA5MDAxNTVBQUU1OTcwMDIxNTU5NEU3MDAzMDI5MTFGOTAwMUZECis6MTA5MDE5MDA3NUUwRkYwNEYwQTgwN0U2RkY5MDAxN0FFNDc1RjAwMTE2Cis6MTA5MDI5MDAxMkEyOTc4NUYwODJGNTgzRUZGMDgwRDI4NTU4ODI4NTY4Cis6MTA5MDM5MDA1NzgzQTNFMEZFQTNFMEZGQzM5NDgwRUU5NDAwNTAwMzlFCis6MTA5MDQ5MDAwMjkxMUZEM0VGOTRGRkVFOTQwMDQwMDMwMjkxMUY5MDA5Cis6MTA5MDU5MDAwMTc2RUZGMEU1NUExNTVBQUU1OTcwMDIxNTU5NEU3MDVFCis6MTA5MDY5MDAwMzAyOTExRjkwMDE3NkUwRkYwNEYwQTgwN0U2RkY5MDQ0Cis6MTA5MDc5MDAwMTdBRTQ3NUYwMDExMkEyOTc4NUYwODJGNTgzRUZGMDg5Cis6MTA5MDg5MDA4MEQyODU1ODgyODU1NzgzQTNFMEZFQTNFMEZGQzM5NDZECis6MTA5MDk5MDAyMEVFOTQwMDUwMDMwMjkxMUZEM0VGOTQyRkVFOTQwMDE5Cis6MTA5MEE5MDA1MDc0OTAwMTc3RUZGMEU1NUExNTVBQUU1OTcwMDIxNUQwCis6MTA5MEI5MDA1OTRFNjA2MjkwMDE3N0UwRkYwNEYwQTgwN0U2RkY5MDNGCis6MTA5MEM5MDAwMTdBRTQ3NUYwMDExMkEyOTc4NUYwODJGNTgzRUZGMDM5Cis6MTA5MEQ5MDA4MEQ1ODU1ODgyODU1NzgzQTNFMEZGQTNFMDkwMDE3ODY2Cis6MTA5MEU5MDBDRkYwQTNFRkYwRTU1QTE1NUFBRTU5NzAwMjE1NTk0RTUzCis6MTA5MEY5MDA2MDI0OTAwMTc4RTQ3NUYwMDExMkEyOTc4NUYwODJGNTU5Cis6MTA5MTA5MDA4M0UwRkY5MDAxN0FFNDc1RjAwMTEyQTI5Nzg1RjA4MjVECis6MTA5MTE5MDBGNTgzRUZGMDgwQ0Y3RTAxN0YzNTg1NTg4Mjg1NTc4M0FGCis6MEQ5MTI5MDBBM0EzQTNFMEEzRTAwNEZEMTI5MTZBN0YwMDYwCis6MDE5MTM2MDAyMjE2Cis6MTA5MTM3MDA4RTYyOEY2MzhDNjQ4RDY1QUYwMzFCRUY2MDI0MDU2M0JDCis6MTA5MTQ3MDBFNTYzQUU2MjcwMDIwNTYyMTRGNTgyOEU4M0UwRkYwNTY3Cis6MTA5MTU3MDA2NUU1NjVBQzY0NzAwMjA1NjQxNEY1ODI4QzgzRUZGMEY1Cis6MDM5MTY3MDA4MEQ2MjI4RAorOjA2OTE2QTAwOEQ1REFCMDdBQTA2QjMKKzoxMDkxNzAwMDc1NjE0MDc1NjAwRDc1NUYwMzc1NUUwMDkwN0ZDMkUwOUMKKzoxMDkxODAwMDIwRTFGOUFGNjFBRTYwQUQ1RkFDNUVFQzRENEU0RjcwNkIKKzoxMDkxOTAwMDA4OTA3RkMyNzQwMkYwODBENzkwN0ZDMkUwMjBFMTE2NzEKKzoxMDkxQTAwMEFGMDNBRTAyN0M3QjdEODBBQjVEMTI5MTM3OTA3RkMzQjUKKzowODkxQjAwMEU1NURGMDdGMDEyMjdGMDA2NAorOjAxOTFCODAwMjI5NAorOjEwOTFCOTAwOTAwMTg0NzQwQkYwQTNFNTMzRjA5MDBBRjVFNDkzOTBFMQorOjEwOTFDOTAwMDE4NkYwOTAwQUY2RTQ5MzkwMDE4N0YwRTQ5MDAxN0MxRgorOjEwOTFEOTAwRjBBM0YwQTNGMEEzRjBBM0YwQTM3NDEwRjBBMzc0MDExQgorOjEwOTFFOTAwRjBBMzc0ODhGMDdFMDE3RjdDMTIxOUMxN0UwMTdGODQwRgorOjA3OTFGOTAwN0QxNDEyOTE2QTdGMDA1MgorOjAxOTIwMDAwMjI0QgorOjEwOTIwMTAwN0U3QjdGNDA3NTRFN0I3NTRGNDA5MDdGRDNFMEZGODUxRAorOjEwOTIxMTAwNEU1MTg1NEY1MkU1NTIyNDAxRjU1NkU0MzU1MUY1NTUyRAorOjEwOTIyMTAwRTRGNTUwODU1MjgyODU1MTgzRTBGRTE0QjQwQzAwNTA2MAorOjEwOTIzMTAwNUI5MDkyMzlGODI4Mjg3MzAyOTI1RDAyOTI1RDAyOTI0NgorOjEwOTI0MTAwNjcwMjkyNzEwMjkyNzEwMjkyNzEwMjkyODUwMjkyNUQ5RAorOjEwOTI1MTAwMDI5MjdCMDI5MjVEMDI5MjhEMDI5MjVERUY2NDAyNjA0NgorOjEwOTI2MTAwMkI3NTUwRkY4MDI2RUY2NDBFNjAyMTc1NTBGRjgwMUMyNgorOjEwOTI3MTAwRUY2NDAzNjAxNzc1NTBGRjgwMTJFRjY0MDM2MDBENzU5MgorOjEwOTI4MTAwNTBGRjgwMDhFRjY0MDY2MDAzNzU1MEZGRTU1MDYwMTVEQworOjEwOTI5MTAwOTAwMTk4NzQxMUYwQTNFRUYwN0UwMTdGOTg3RDAyMTI4NworOjEwOTJBMTAwOTE2QUFGNTAyMkU0RjU1MDg1NTI4Mjg1NTE4M0UwMTREMgorOjEwOTJCMTAwQjQwRjAwNDAwMzAyOTNDRjkwOTJDMEY4MjgyODczMDJBNAorOjEwOTJDMTAwOTJFRDAyOTJGOTAyOTMwNTAyOTM1MzAyOTM1RTAyOTM4NworOjEwOTJEMTAwNjkwMjkzNzQwMjkzN0YwMjkzOEEwMjkzOTUwMjkzQTA4OQorOjEwOTJFMTAwMDI5M0E3MDI5M0NGMDI5M0IyMDI5M0JEQUY1NkFFNTUzQworOjEwOTJGMTAwMTI4NDQxOEY1MDAyOTNEMkFGNTZBRTU1MTI4NTYxOEZDMQorOjEwOTMwMTAwNTAwMjkzRDI4NTU1NTM4NTU2NTRFNTU0MjQwMUZGRTQwOAorOjEwOTMxMTAwMzU1M0ZFMTI4NkJFQUY1NEFFNTMxMjg3NTE4RjUwRUZCNAorOjEwOTMyMTAwNjQwMTYwMDMwMjkzRDJBRjU0QUU1MzEyODdBNjhGNTBFQgorOjEwOTMzMTAwRTU1MDcwMDMwMjkzRDI4NTU0ODI4NTUzODNFMDc1RjAyMgorOjEwOTM0MTAwMERBNDI0RjRGNTgyRTQzNDAyQUY4MkZFMTI4N0E2MDI1MgorOjEwOTM1MTAwOTNEMkFGNTZBRTU1MTI4Q0E2OEY1MDgwNzRBRjU2QUVENQorOjEwOTM2MTAwNTUxMjhEMjc4RjUwODA2OUFGNTZBRTU1MTI4RDcwOEY3MworOjEwOTM3MTAwNTA4MDVFQUY0RkFFNEUxMjhFOTk4RjUwODA1M0FGNTZENAorOjEwOTM4MTAwQUU1NTEyOEJCRDhGNTA4MDQ4QUY1NkFFNTUxMjg2MkQwQgorOjEwOTM5MTAwOEY1MDgwM0RBRjU2QUU1NTEyOEM2MjhGNTA4MDMyMTI4NQorOjEwOTNBMTAwOTFCOThGNTA4MDJCQUY1NkFFNTUxMjhEQjU4RjUwODAyRAorOjEwOTNCMTAwMjBBRjU2QUU1NTEyOERENjhGNTA4MDE1QUY0RkFFNEVBMQorOjEwOTNDMTAwN0MwMjdEQUY3QjQwMTI5MTM3RTRGNTUwODAwMzc1NTBFQworOjEwOTNEMTAwRkZFNTUwNjAxRDkwMDE5ODc0MTFGMDg1NTI4Mjg1NTEwRQorOjEwOTNFMTAwODNFMDkwMDE5OUYwN0UwMTdGOTg3RDAyMTI5MTZBQUYyRQorOjEwOTNGMTAwNTAyMjg1NTI4Mjg1NTE4M0UwRkYxNDI0RkE1MDA0MjRCRgorOjEwOTQwMTAwRkU3MDFGOTAwMTk4NzQxMEYwQTNFRkYwODU1NjgyODVDRAorOjEwOTQxMTAwNTU4M0UwOTAwMTlBRjA3RTAxN0Y5ODdEMDMxMjkxNkE1NQorOjA0OTQyMTAwOEY1MEFGNTA2OQorOjAxOTQyNTAwMjIyNAorOjA4OTQyNjAwOEY1MThFNTA4RDRGOEM0RUNBCis6MTA5NDJFMDA3NTU4MDE3NTU5OUNFNEY1NTdBRjUzMTU1M0VGNzAwM0ZBCis6MTA5NDNFMDAwMjk0QzRBRjUyRTRGQ0ZERkVGOEY5RkFBQjA3QUY1MTRCCis6MTA5NDRFMDBBRTUwQUQ0RkFDNEUxMkEzMjFBRjAzOEY1NkFGNTFBRUZGCis6MTA5NDVFMDA1MEFENEZBQzRFQzAwNEMwMDVDMDA2QzAwN0FGNTJFNEJECis6MTA5NDZFMDBGQ0ZERkVGOEY5RkFBQjA3RDAwN0QwMDZEMDA1RDAwNDA0Cis6MTA5NDdFMDAxMkEzMjE4RjUxOEU1MDhENEY4QzRFRTU1NjI0MzBGNTEwCis6MTA5NDhFMDA1NkQzOTQzOTQwMDY3NDA3MjU1NkY1NTYwNTU5RTU1OUI1Cis6MTA5NDlFMDBBRTU4NzAwMjA1NTgxNEY1ODI4RTgzRTRGMDA1NTlFNTM2Cis6MTA5NEFFMDA1OUFFNTg3MDAyMDU1ODE0RjU4MjhFODNFNTU2RjAwNUI0Cis6MTA5NEJFMDA1NzA1NTcwMjk0MzdFNTU5MTU1OTcwMDIxNTU4QUY1NzhECis6MTA5NENFMDAxNTU3RUY2MDIzRTU1OTE1NTlBRTU4NzAwMjE1NThGNTJBCis6MTA5NERFMDA4MjhFODNFMEZGMDU1NUU1NTVBQzU0NzAwMjA1NTQxNDk5Cis6MDg5NEVFMDBGNTgyOEM4M0VGRjA4MEQ2QkIKKzowMTk0RjYwMDIyNTMKKzoxMDk0RjcwMEU0OTAwMUM5RjA3RTAxN0ZDQTkwMDFCRUVFRjBBM0VGQjAKKzowQTk1MDcwMEYwOTAwMUMyRUVGMEEzRUZGMDIyOTUKKzoxMDk1MTEwMEFBMDdBOTA1OTAwMUM5RTBDMzk0NDA1MDYxQUMwMjc0NDcKKzoxMDk1MjEwMDAxN0UwMEE4MDQwODgwMDVDMzMzQ0UzM0NFRDhGOUZGRUQKKzoxMDk1MzEwMEU0RUY1NTM0NjA0NUVBMDRGRjkwMDFDMkUwRkNBM0UwOEEKKzoxMDk1NDEwMEZERjU4MjhDODNFRkYwQTNFOUYwOEQ4MjhDODNBM0EzRDgKKzoxMDk1NTEwMEVCRjA5MDAxQzJFNDc1RjAwMzEyQTI4MUZDRDNFNUYwQjcKKzoxMDk1NjEwMDk0ODdFQzk0MDI0MDBBOTAwMUMyNzQwMUYwQTM3NENBN0EKKzoxMDk1NzEwMEYwQzJBRjkwMDFDOUUwMDRGMEQyQUY3RjAxMjI3RjAwQjkKKzowMTk1ODEwMDIyQzcKKzoxMDk1ODIwMDkwMDFDOUUwRDM5NDAwNDA1NTkwMDFCRUUwRkNBM0UwRjUKKzoxMDk1OTIwMEFBMDRGOTdCMDFDMDAzQzAwMkMwMDFBQTA2QTkwN0E4NTgKKzoxMDk1QTIwMDAxQUMwMkFEMDNEMDAxRDAwMkQwMDM3RTAwN0YwMzEyRDIKKzoxMDk1QjIwMEEyMTI5MDAxQkVFNDc1RjAwMzEyQTI4MUZDRDNFNUYwODEKKzoxMDk1QzIwMDk0ODdFQzk0MDI0MDBBOTAwMUJFNzQwMUYwQTM3NENBMUQKKzoxMDk1RDIwMEYwQzJBRjkwMDFDOUUwMTRGMEQyQUY3RjAxMjI3RjAwNDgKKzowMTk1RTIwMDIyNjYKKzoxMDk1RTMwMDkwN0ZDMkUwMjBFMTczN0U3QjdGODA3NTUzN0I3NTU0NEYKKzoxMDk1RjMwMDgwRTU1NDI0MDFGRkU0MzU1M0E5MDc3QjAxOEI1NUY1MUUKKzoxMDk2MDMwMDU2ODk1N0ZFMTI5NTgyRUY2MDUwQUI1NUFBNTZBOTU3NUIKKzoxMDk2MTMwMDEyQTIzQjE0RkY5MDAwMDExMkEyNTRCNDAyMTZDMkFGNkYKKzoxMDk2MjMwMEVGNzVGMDA4QTQyNDAxRjU4MkU0MzQyMEY1ODNFMDQ0QzcKKzoxMDk2MzMwMDA0RjBEMkFGNzQwMTdFMDBBODA3MDg4MDA1QzMzM0NFQkYKKzoxMDk2NDMwMDMzQ0VEOEY5RkZFNEVGNTUzNDYwMEY4NTU0ODI4NTUzNDgKKzowQTk2NTMwMDgzNzQwREYwOTA3RkMzNzQwNEYwREYKKzowMTk2NUQwMDIyRUEKKzoxMDk2NUUwMDEyOTVFM0U0RjU0RTc0M0EyNTRFRjhFNjU0RjBGNTRGQzQKKzoxMDk2NkUwMDc0QzUyNTRFRjU4MkU0MzQwMUY1ODNFMDY1NEZGRkM0RTEKKzoxMDk2N0UwMDU0MEZGNTUwNjAyMjc0QzUyNTRFRjU4MkU0MzQwMUY1ODEKKzoxMDk2OEUwMDgzRTU0RkYwQUY0RTdEMDFFNTRGNDU1MEZCMTI5NTExMkUKKzoxMDk2OUUwMEVGNzAwNTEyOTVFMzgwRUMwNTRFRTU0RUMzOTQwNDQwNDEKKzoxMDk2QUUwMEI1MTI5NUUzRTUzRTYwNDhFNEY1NEVBRjRFNzQwMUE4NjEKKzoxMDk2QkUwMDA3MDg4MDAyQzMzM0Q4RkNGNTRGNTUzRTYwMjlFNTRFQUUKKzoxMDk2Q0UwMDc1RjAwOEE0MjQwNUY1ODJFNDM0MjBGNTgzRTAzMEU2MzUKKzoxMDk2REUwMDE2QUY0RTdEMDQ3QjgwMTI5NTExRUY3MDA1MTI5NUUzNDcKKzoxMDk2RUUwMDgwRUZFNTRGRjQ1MjNFMDU0RUU1NEVDMzk0MDQ0MEJCNjkKKzoxMDk2RkUwMDkwMDMwMEUwNjAwMzAyOTdERjc0MTlGMEU1MzNDMzk0MjIKKzoxMDk3MEUwMDAxNDAwRDkwMjA3OEUwNTQwRjc1NTEwMEY1NTI4MDA5RkMKKzoxMDk3MUUwMDdGMDIxMjExMjc4RTUxOEY1MkMzRTU1MTY0ODA5NDgwQkYKKzoxMDk3MkUwMDQwREE5MDAxQkNFMDY1NTJGMDYwMzdFNEY1NEVBRjRFODIKKzoxMDk3M0UwMDc0MDFBODA3MDg4MDAyQzMzM0Q4RkNGNTRGOTAwMUJDMTIKKzoxMDk3NEUwMEUwNTU0RjYwMTRBRjRFN0QwOEU1NEY1NTUyRkIxMjk1MTQKKzoxMDk3NUUwMDExRUY3MDA1MTI5NUUzODBFQzA1NEVFNTRFQzM5NDA0QUYKKzoxMDk3NkUwMDQwQ0M5MDAxQkNFNTUyRjBFNEY1NEVDMkFGNzQzNjI1MDQKKzoxMDk3N0UwMDRFRjhFNkY1NEZFNEY2RDJBRjUzNEYxRUU1NEY2MDExQUIKKzoxMDk3OEUwMEFGNEU3RDAyQUI0RjEyOTUxMUVGNzAwNTEyOTVFMzgwMkYKKzoxMDk3OUUwMEVGNzQyRDI1NEVGOEU2RjU0Rjc0RkMyNTRFRjU4MkU0NTgKKzoxMDk3QUUwMDM0MDJGNTgzRTA2NTRGNjAxMUFGNEU3RDA0QUI0RjEyNkUKKzoxMDk3QkUwMDk1MTFFRjcwMDUxMjk1RTM4MEVGNzRGQzI1NEVGNTgyM0UKKzoxMDk3Q0UwMEU0MzQwMkY1ODNFNTRGRjAwNTRFRTU0RUMzOTQwNDQwQjQKKzowNDk3REUwMDlBMTI5NUUzNjMKKzowMTk3RTIwMDIyNjQKKzowQzk3RTMwMDc4N0ZFNEY2RDhGRDc1ODE2NzAyOTgyQUIzCis6MTA5N0VGMDAwMjA1QURFNDkzQTNGOEU0OTNBMzQwMDNGNjgwMDFGMkRFCis6MTA5N0ZGMDAwOERGRjQ4MDI5RTQ5M0EzRjg1NDA3MjQwQ0M4QzMzMzdCCis6MTA5ODBGMDBDNDU0MEY0NDIwQzg4MzQwMDRGNDU2ODAwMTQ2RjZERjQ5Cis6MTA5ODFGMDBFNDgwMEIwMTAyMDQwODEwMjA0MDgwOTA5ODZGRTQ3RUQyCis6MTA5ODJGMDAwMTkzNjBCQ0EzRkY1NDNGMzBFNTA5NTQxRkZFRTQ5MzNFCis6MTA5ODNGMDBBMzYwMDEwRUNGNTRDMDI1RTA2MEE4NDBCOEU0OTNBMzA1Cis6MTA5ODRGMDBGQUU0OTNBM0Y4RTQ5M0EzQzhDNTgyQzhDQUM1ODNDQTMwCis6MTA5ODVGMDBGMEEzQzhDNTgyQzhDQUM1ODNDQURGRTlERUU3ODBCRUU4Cis6MTA5ODZGMDA2MDI0MDI4QTAxMDIwNDA4MTAyMDQwODA4MTgyODQ4OENCCis6MTA5ODdGMDA5MEEwQzBDMUMyQzRDOEQwRTBFMUUyRTRFOEYwRjFGMkM4Cis6MDg5ODhGMDBGNEY4RjlGQUZDRkRGRUZGRkMKKzowMTk4OTcwMDAwRDAKKzowODk4OTgwMDhCNTk4QTVBODk1QjhENUMzMworOjEwOThBMDAwRTRGNTVERjU1RUFGNUMxNTVDRUY2MDM2QUI1OTA1NUJDQQorOjEwOThCMDAwRTU1QkFBNUE3MDAyMDU1QTE0RjkxMkEyM0JGRkU1NUQ1NgorOjEwOThDMDAwRTU1RTZGMjVFMEZGRTQzM0ZFNzQ5NTJGRjU4MkVFMzRGQworOjEwOThEMDAwOUVGNTgzRTU1REZGRTQ5M0Y1NUQ3NDAxOTM2RkY1NUU5RQorOjA2OThFMDAwODBDM0FFNURBRjVFMjcKKzowMTk4RTYwMDIyNUYKKzowQjk4RTcwMEMwRTBDMDgzQzA4MkMwRDA3NUQwMTg2NAorOjEwOThGMjAwOTAyMDYwRTA1NDBGRkUzMEUwMDU5MDIwMDJFMEZGRUU4MQorOjEwOTkwMjAwMzBFMTA1OTAyMDBBRTBGRkVFMzBFMjA1OTAyMDEyRTBGRgorOjEwOTkxMjAwRkZFRTMwRTMwNTkwMjAxQUUwRkY5MDAxQzRFMEI1MUU4RgorOjBBOTkyMjAwMDRFNEYwODAwNTkwMDFDNEVFRjBBQgorOjA5OTkyQzAwRDBEMEQwODJEMDgzRDBFMDMyMEIKKzowMjk5MzUwMEE5MDM4NAorOjEwOTkzNzAwRUY3NUYwMDhBNDI0MDBGNTgyRTQzNDIwQUI4MkZBRTU0MQorOjEwOTk0NzAwNUM0NTVERjU1RUU5NjAxNDhBODNFNTgyMjQwNEY1ODI0RgorOjEwOTk1NzAwRTQzNTgzRjU4M0UwNERGMEU0RkU4MDEzRUIyNDA0RjU1MgorOjEwOTk2NzAwODJFNDNBRjU4M0UwRkZFREY0RkNFRjVDRjBBRTVFRUJFQQorOjEwOTk3NzAwMjQwNkY1ODJFNDNBRjU4M0UwNTU1RUZDQjUwNjAzQUZBRAorOjEwOTk4NzAwMDUyMkU1NUM1Q0ZFRTU1RDVDRkRFOTYwMTZFRTcwMDRCMgorOjEwOTk5NzAwN0YwMTgwMDI3RjAwQUUwN0VENzAwNDdGMDE4MDAyN0ZBOAorOjEwOTlBNzAwMDBBRDA3RUU2MDAzQUY1QzIyRUQ2MDAzQUY1RDIyN0Y4MQorOjAxOTlCNzAwMDBBRgorOjAxOTlCODAwMjI4QworOjEwOTlCOTAwNzU1NTAyNzU1NkIwOTAwMzM1NzQwRkYwODU1NjgyODUzQQorOjEwOTlDOTAwNTU4M0EzRTBGRjkwMDMzN0YwODU1NjgyODU1NTgzRTBFMAorOjEwOTlEOTAwOTAwMzM2RjA5MDAzMzg3NEZGRjA3NTU3MDM3NTU4MzlDMgorOjEwOTlFOTAwRUYxNEI0MEIwMDQwMDMwMjlFNUQ5MDk5RkFGODI4MjgwMQorOjEwOTlGOTAwNzMwMjlBMUIwMjlBQkEwMjlCQkYwMjlCREUwMjlCREU4QworOjEwOUEwOTAwMDI5Qzk0MDI5Q0NGMDI5Q0Y0MDI5REIyMDI5REUyMDI0OAorOjEwOUExOTAwOUUwRUU0RjU0RUU1NEU3NUYwMDhBNDI0MDBGNTgyRTRBNworOjEwOUEyOTAwMzQyMEFGODJGNTUzOEY1NEU0RkZFNEZFRUY2MDEwNzRFNQorOjEwOUEzOTAwOEEyRUY1ODJFNDM0MDJGNTgzRTBGNEY1NEY4MDBENzQ0MworOjEwOUE0OTAwOEEyRUY1ODJFNDM0MDJGNTgzRTBGNTRGRTU1NDI0MDdDNAorOjEwOUE1OTAwRjU4MkU0MzU1M0Y1ODNFNTRGRjBFMEY1NTA2NTRGNjA0NQorOjEwOUE2OTAwMzhFNDkwMDMzOEYwRTU0RTA0RkQwNTU4RTU1OEFBNTc0NworOjEwOUE3OTAwNzAwMjA1NTcxNEY1ODI4QTgzRURGMDA1NThFNTU4QUM1NAorOjEwOUE4OTAwNTc3MDAyMDU1NzE0RjU4MjhDODNFNTRGRjA4NTU4ODI4QgorOjEwOUE5OTAwODU1NzgzRTU1MEYwMDI5RTYzMEVCRTI0OEYwRkVGNjQ1NQorOjEwOUFBOTAwMDI3MDg3MDU0RUU1NEU2NDA0NjAwMzAyOUExRTAyOUUwOQorOjEwOUFCOTAwNjNFNEY1NEVBRjRFRTRGRDEyODM1QTA1NEVFNTRFRDNFRAorOjEwOUFDOTAwOTQwMzQwRjA5MDAwMDQ3NDk4RjBBMzc0RTdGMEU0RjU2RgorOjEwOUFEOTAwNTA3RTIwN0YwMDc1NTMyMDc1NTQwMEY1NEVBRjRFNzRBQgorOjEwOUFFOTAwMDFBODA3MDg4MDAyQzMzM0Q4RkNGNTRGOTAwMUM0RjBFMAorOjEwOUFGOTAwOTAwMUMwRTRGMEEzNzQwQUYwODU1NDgyODU1MzgzQTNDRQorOjEwOUIwOTAwNzQwMkYwOTAwMUM0RTBCNTRGMzQ5MDAxQzBFMDcwMDJENgorOjEwOUIxOTAwQTNFMDcwRUY5MDAzMzhGMEU1NEUwNEZGMDU1OEU1NThDRgorOjEwOUIyOTAwQUM1NzcwMDIwNTU3MTRGNTgyOEM4M0VGRjA4NTU4ODI4MworOjEwOUIzOTAwODU1NzgzNzRGRkYwRTQ5MDAxQzRGMDc1NTBGRjkwMDFEQworOjEwOUI0OTAwQzRFMEZGNjAzN0U0OTAwMzM4RjBFNTRFMDRGRTA1NThBMQorOjEwOUI1OTAwRTU1OEFDNTc3MDAyMDU1NzE0RjU4MjhDODNFRUYwMDU3MQorOjEwOUI2OTAwNThFNTU4QUM1NzcwMDIwNTU3MTRGNTgyOEM4M0VGRjAwRAorOjEwOUI3OTAwODU1ODgyODU1NzgzRTU0RkYwNzU1MEZGRTU1MDcwMTY3QgorOjEwOUI4OTAwNzQwODI1NTRGNTU0RTQzNTUzRjU1MzA1NEVFNTRFNjRGMAorOjEwOUI5OTAwMDQ2MDAzMDI5QUU2RTRGNTRFQUY0RTdEMDExMjgzNUE0MgorOjEwOUJBOTAwMDU0RUU1NEVEMzk0MDM0MEYwOTAwMDA0NzQxM0YwQTNERQorOjEwOUJCOTAwNzQxMkYwMDI5RTYzODU1NjgyODU1NTgzRTAxNEZGNzQwMgorOjEwOUJDOTAwMDFBODA3MDg4MDAyQzMzM0Q4RkM5MDAyRjdGMDkwMDE3RQorOjEwOUJEOTAwQzRGMDAyOUU2MzkwMDFDMDc0MDNGMEEzNzRFOEYwRTQzQQorOjEwOUJFOTAwRjU1MDkwMDJGN0UwRkY5MDAxQzRFMEI1MDcxOTkwMDEyNAorOjEwOUJGOTAwQzBFMDcwMDJBM0UwNzBFQTkwMDMzOEYwODU1ODgyODVDRQorOjEwOUMwOTAwNTc4Mzc0RkZGMEY1NTBFNTUwNjAwMzAyOUU2MzkwMDE5RAorOjEwOUMxOTAwQzBGMEEzNzQ5NkYwOTAwMUMwRTA3MDAyQTNFMDcwRjY2MgorOjEwOUMyOTAwRTUzM0MzOTQwMTQwMEQ5MDIwNzhFMDU0MEY3NTUxMDAzRAorOjEwOUMzOTAwRjU1MjgwMDk3RjAyMTIxMTI3OEU1MThGNTJDM0U1NTFDNworOjEwOUM0OTAwNjQ4MDk0ODA0MERBRTU1MjU0MEZGNTUwOTAwMkY3RTBCMQorOjEwOUM1OTAwNTU1MDcwMDQ3RjAxODAwMjdGMDA4RjRGODU1NjgyODVBMQorOjEwOUM2OTAwNTU4M0EzRTBCNDA1MENFNTRGNzAwNDdGMDE4MDAyN0ZBMgorOjEwOUM3OTAwMDA4RjRGRTU0RjcwMDMwMjlFNjNFNDkwMDMzOEYwODUyRgorOjEwOUM4OTAwNTg4Mjg1NTc4M0U1NTBGMDAyOUU2M0U0RkZGRDEyODNGNQorOjEwOUM5OTAwNUE3RTIwN0YwMDc1NTMyMDc1NTQwMDg1NTQ4Mjg1NTM2MAorOjEwOUNBOTAwODNBM0EzQTNFMDQ0ODBGMDg1NTQ4Mjg1NTM4Mzc0MDE4MAorOjEwOUNCOTAwRjBBM0U0RjA4NTU0ODI4NTUzODNBM0EzQTNFMDU0N0ZFMgorOjEwOUNDOTAwRjBEMjA0MDI5RTYzQzIwNDdFMjA3RjAwNzU1MzIwNzU4MgorOjEwOUNEOTAwNTQwMEU1NTQyNDA1RjU4MkU0MzU1M0Y1ODNFMDMwRTY3NAorOjEwOUNFOTAwRjFFNEZGN0QwMTEyODM1QTAyOUU2M0U0RjU1MEY1NEVCQgorOjEwOUNGOTAwQUY0RUU0RkQxMjgzNUFFNTRFNzVGMDA4QTQyNDAwRjUzMQorOjEwOUQwOTAwODJFNDM0MjBBRjgyRjU1MzhGNTRGNTgzRTU4MjI0MDQyRAorOjEwOUQxOTAwRjU4MkU0MzU4M0Y1ODNFMDU0RkNGMEFGNEU3RDAxN0I5OQorOjEwOUQyOTAwMDE3NTVDODA3NTVENDAxMjk5MzU4RjUwRTU1MDcwMTE1MQorOjEwOUQzOTAwQUY0RTdEMDI3QjAxNzU1QzEwNzU1RDIwMTI5OTM1OEZFMAorOjEwOUQ0OTAwNTBFNTUwNzAxMEFGNEU3RDAxRkI3NTVDODA3NTVENDAyQworOjEwOUQ1OTAwMTI5OTM1OEY1MEU1NTA3MDEwQUY0RTdEMDJGQjc1NUMzRQorOjEwOUQ2OTAwMTA3NTVEMjAxMjk5MzU4RjUwQUY0RTdEMDExMjgzNUFCRgorOjEwOUQ3OTAwRTU1MDYwMjZFNDkwMDMzOEYwRTU0RTA0RkYwNTU4RTUwOAorOjEwOUQ4OTAwNThBQzU3NzAwMjA1NTcxNEY1ODI4QzgzRUZGMDg1NTg0QgorOjEwOUQ5OTAwODI4NTU3ODNFNTUwRjAwMjlFNjMwNTRFRTU0RUQzOTRDNAorOjEwOURBOTAwMDM1MDAzMDI5Q0Y5MDI5RTYzRTQ5MDAzNTlGMEEzRjA2NworOjEwOURCOTAwQTNGMEEzRjBBM0YwQTM3NDEwRjBBMzc0OUVGMEEzNzQwRQorOjEwOURDOTAwODVGMDdFMDM3RjU5MTI4MUQ5RUY2NDA4NzAwMzAyOUVFMgorOjEwOUREOTAwNjNFNDkwMDMzOEYwMDI5RTYzRTQ5MDAzNTlGMEEzRjAyMgorOjEwOURFOTAwQTNGMEEzRjBBM0YwQTM3NDEwRjBBM0U1NTdGMEEzRTU0MworOjEwOURGOTAwNThGMDdFMDM3RjU5MTIxOUMxRUY2NDA4NjA1Q0U0OTA0MgorOjEwOUUwOTAwMDMzOEYwODA1NUU1NTYyNDAyRkZFNDM1NTVGQUE5MDdEMQorOjEwOUUxOTAwN0IwMTdEMTAxMjk4OThFRjRFNzAzMjkwMDM1OUYwQTM5MAorOjEwOUUyOTAwRjBBM0YwQTNGMEEzRjBBMzc0MTBGMEU1NTYyNDAyOTA3OAorOjEwOUUzOTAwMDM2MEYwRTQzNTU1OTAwMzVGRjA3RTAzN0Y1OTEyODE4QQorOjEwOUU0OTAwRDlFRjY0MDg2MDE0RTQ5MDAzMzhGMDgwMERFNDkwMDNCRQorOjEwOUU1OTAwMzhGMDgwMDY5MDAzMzg3NDAxRjA5MDAxQzBFNEYwQTM1MworOjEwOUU2OTAwNzQwQUYwOTAwMUMwRTA3MDAyQTNFMDcwRjY3RTAzN0ZFRgorOjBCOUU3OTAwMzU3RDI0MTI5MTZBRTQ5MDAyQUZGMEU2Cis6MDE5RTg0MDAyMkJCCis6MTA5RTg1MDBGRkZFRkNGOEYwRTBDMDgwMDAwMTAzMDcwRjFGM0Y3RkQ1Cis6MTA5RTk1MDAwMDAwQzBDMUMxODEwMTQwQzMwMTAzQzAwMjgwQzI0MUFECis6MTA5RUE1MDBDNjAxMDZDMDA3ODBDNzQxMDUwMEM1QzFDNDgxMDQ0MDdECis6MTA5RUI1MDBDQzAxMENDMDBEODBDRDQxMEYwMENGQzFDRTgxMEU0MDJECis6MTA5RUM1MDAwQTAwQ0FDMUNCODEwQjQwQzkwMTA5QzAwODgwQzg0MTNECis6MTA5RUQ1MDBEODAxMThDMDE5ODBEOTQxMUIwMERCQzFEQTgxMUE0MEFECis6MTA5RUU1MDAxRTAwREVDMURGODExRjQwREQwMTFEQzAxQzgwREM0MTdECis6MTA5RUY1MDAxNDAwRDRDMUQ1ODExNTQwRDcwMTE3QzAxNjgwRDY0MUFECis6MTA5RjA1MDBEMjAxMTJDMDEzODBEMzQxMTEwMEQxQzFEMDgxMTA0MEJDCis6MTA5RjE1MDBGMDAxMzBDMDMxODBGMTQxMzMwMEYzQzFGMjgxMzI0MEFDCis6MTA5RjI1MDAzNjAwRjZDMUY3ODEzNzQwRjUwMTM1QzAzNDgwRjQ0MTdDCis6MTA5RjM1MDAzQzAwRkNDMUZEODEzRDQwRkYwMTNGQzAzRTgwRkU0MTJDCis6MTA5RjQ1MDBGQTAxM0FDMDNCODBGQjQxMzkwMEY5QzFGODgxMzg0MDNDCis6MTA5RjU1MDAyODAwRThDMUU5ODEyOTQwRUIwMTJCQzAyQTgwRUE0MUFDCis6MTA5RjY1MDBFRTAxMkVDMDJGODBFRjQxMkQwMEVEQzFFQzgxMkM0MDdDCis6MTA5Rjc1MDBFNDAxMjRDMDI1ODBFNTQxMjcwMEU3QzFFNjgxMjY0MEFDCis6MTA5Rjg1MDAyMjAwRTJDMUUzODEyMzQwRTEwMTIxQzAyMDgwRTA0MUJDCis6MTA5Rjk1MDBBMDAxNjBDMDYxODBBMTQxNjMwMEEzQzFBMjgxNjI0MEFDCis6MTA5RkE1MDA2NjAwQTZDMUE3ODE2NzQwQTUwMTY1QzA2NDgwQTQ0MTdDCis6MTA5RkI1MDA2QzAwQUNDMUFEODE2RDQwQUYwMTZGQzA2RTgwQUU0MTJDCis6MTA5RkM1MDBBQTAxNkFDMDZCODBBQjQxNjkwMEE5QzFBODgxNjg0MDNDCis6MTA5RkQ1MDA3ODAwQjhDMUI5ODE3OTQwQkIwMTdCQzA3QTgwQkE0MUFDCis6MTA5RkU1MDBCRTAxN0VDMDdGODBCRjQxN0QwMEJEQzFCQzgxN0M0MDdDCis6MTA5RkY1MDBCNDAxNzRDMDc1ODBCNTQxNzcwMEI3QzFCNjgxNzY0MEFDCis6MTBBMDA1MDA3MjAwQjJDMUIzODE3MzQwQjEwMTcxQzA3MDgwQjA0MUJCCis6MTBBMDE1MDA1MDAwOTBDMTkxODE1MTQwOTMwMTUzQzA1MjgwOTI0MUFCCis6MTBBMDI1MDA5NjAxNTZDMDU3ODA5NzQxNTUwMDk1QzE5NDgxNTQ0MDdCCis6MTBBMDM1MDA5QzAxNUNDMDVEODA5RDQxNUYwMDlGQzE5RTgxNUU0MDJCCis6MTBBMDQ1MDA1QTAwOUFDMTlCODE1QjQwOTkwMTU5QzA1ODgwOTg0MTNCCis6MTBBMDU1MDA4ODAxNDhDMDQ5ODA4OTQxNEIwMDhCQzE4QTgxNEE0MEFCCis6MTBBMDY1MDA0RTAwOEVDMThGODE0RjQwOEQwMTREQzA0QzgwOEM0MTdCCis6MTBBMDc1MDA0NDAwODRDMTg1ODE0NTQwODcwMTQ3QzA0NjgwODY0MUFCCis6MTBBMDg1MDA4MjAxNDJDMDQzODA4MzQxNDEwMDgxQzE4MDgxNDA0MEJCCis6MTBBMDk1MDBFNEZGNzRGODJGRjU4MkU0MzQwMkY1ODNFMDcwMDMwMkRGCis6MTBBMEE1MDBBMTM4NzQzQTJGRjhFNjIwRTUwMzAyQTEzOEVGNzVGMEUwCis6MTBBMEI1MDAwOEE0MjQwMEY1ODJFNDM0MjBBRDgyRkNGNTgzRTU4MjEyCis6MTBBMEM1MDAyNDA1RjU4MkU0MzU4M0Y1ODNFMDU0NjA2NDYwNzA2M0FDCis6MTBBMEQ1MDBFRjI1RTAyNEVGRjU4MkU0MzQwMkY1ODNFNDc1RjAwMTIxCis6MTBBMEU1MDAxMkEyOTc4NUYwODJGNTgzRTA4RDgyOEM4M0YwNzRGODU3Cis6MTBBMEY1MDAyRkY1ODJFNDM0MDJGNTgzRTAxNEYwNzAzNkVGMjVFMEE1Cis6MTBBMTA1MDAyNEM3RjU4MkU0MzQ3RkY1ODNFNEYwRUYyNUUwRkVDMzUwCis6MTBBMTE1MDA3NDBDOUU3NUYwNDBBNDI0NDBGNTgyRTVGMDM0N0JBREM3Cis6MTBBMTI1MDA4MkZDRUYyNUUwMjRFRkY1ODJFNDM0MDJGNTgzRUNGMEMwCis6MENBMTM1MDBBM0VERjAwRkVGNjQwNDYwMDMwMkEwOTc5QworOjAxQTE0MTAwMjJGQgorOjEwQTE0MjAwRTcwOUY2MDhERkZBODA0NkU3MDlGMjA4REZGQTgwM0VGRgorOjEwQTE1MjAwODg4MjhDODNFNzA5RjBBM0RGRkE4MDMyRTMwOUY2MDhFQworOjEwQTE2MjAwREZGQTgwNzhFMzA5RjIwOERGRkE4MDcwODg4MjhDODM1NAorOjEwQTE3MjAwRTMwOUYwQTNERkZBODA2NDg5ODI4QTgzRTBBM0Y2MDgwOAorOjEwQTE4MjAwREZGQTgwNTg4OTgyOEE4M0UwQTNGMjA4REZGQTgwNENFMgorOjEwQTE5MjAwODBEMjgwRkE4MEM2ODBENDgwNjk4MEYyODAzMzgwMTBCOQorOjEwQTFBMjAwODBBNjgwRUE4MDlBODBBODgwREE4MEUyODBDQTgwMzMyMgorOjEwQTFCMjAwODk4MjhBODNFQ0ZBRTQ5M0EzQzhDNTgyQzhDQ0M1ODM5QQorOjEwQTFDMjAwQ0NGMEEzQzhDNTgyQzhDQ0M1ODNDQ0RGRTlERUU3ODA2QQorOjEwQTFEMjAwMEQ4OTgyOEE4M0U0OTNBM0Y2MDhERkY5RUNGQUE5RjBFOQorOjEwQTFFMjAwRURGQjIyODk4MjhBODNFQ0ZBRTBBM0M4QzU4MkM4Q0MzRgorOjEwQTFGMjAwQzU4M0NDRjBBM0M4QzU4MkM4Q0NDNTgzQ0NERkVBREU1OAorOjEwQTIwMjAwRTg4MERCODk4MjhBODNFNDkzQTNGMjA4REZGOTgwQ0NCOQorOjEwQTIxMjAwODhGMEVEMjQwMkI0MDQwMDUwQzJGNTgyRUIyNDAyQjRBQgorOjEwQTIyMjAwMDQwMDUwQjgyMzIzNDU4MkY1ODJFRjRFNjBBRUVGNjAwMgorOjA5QTIzMjAwMDEwRUU1ODIyMzkwQTE5MjczNTQKKzoxMEEyM0IwMEJCMDEwNjg5ODI4QTgzRTAyMjUwMDJFNzIyQkJGRTAyMjEKKzowOUEyNEIwMEUzMjI4OTgyOEE4M0U0OTMyMjU0Cis6MTBBMjU0MDBCQjAxMENFNTgyMjlGNTgyRTU4MzNBRjU4M0UwMjI1MEJGCis6MTBBMjY0MDAwNkU5MjU4MkY4RTYyMkJCRkUwNkU5MjU4MkY4RTIyMjA5Cis6MERBMjc0MDBFNTgyMjlGNTgyRTU4MzNBRjU4M0U0OTMyMjIzCis6MTBBMjgxMDBDNUYwRjhBM0UwMjhGMEM1RjBGOEU1ODIxNTgyNzAwMjY4Cis6MDZBMjkxMDAxNTgzRTAzOEYwMjIwNQorOjEwQTI5NzAwQTNGOEUwQzVGMDI1RjBGMEU1ODIxNTgyNzAwMjE1ODM3QQorOjA2QTJBNzAwRTBDODM4RjBFODIyRDcKKzoxMEEyQUQwMEJCMDExMEU1ODIyOUY1ODJFNTgzM0FGNTgzRTBGNUYwRUYKKzoxMEEyQkQwMEEzRTAyMjUwMDlFOTI1ODJGODg2RjAwOEU2MjJCQkZFQ0MKKzoxMEEyQ0QwMDBBRTkyNTgyRjhFMkY1RjAwOEUyMjJFNTgzMkFGNTgzMTIKKzowOEEyREQwMEU5OTNGNUYwQTNFOTkzMjJENworOjEwQTJFNTAwNzVGMDA4NzU4MjAwRUYyRkZGRUUzM0ZFQ0QzM0NEQ0MzMAorOjEwQTJGNTAwMzNDQ0M1ODIzM0M1ODI5QkVEOUFFQzk5RTU4Mjk4NDBCMworOjEwQTMwNTAwMENGNTgyRUU5QkZFRUQ5QUZERUM5OUZDMEZENUYwRDY4RgorOjEwQTMxNTAwRTRDRUZCRTRDREZBRTRDQ0Y5QTg4MjIyQjgwMEMxQjlCOQorOjEwQTMyNTAwMDA1OUJBMDAyREVDOEJGMDg0Q0ZDRUNERkNFNUYwQ0JGNworOjEwQTMzNTAwRjk3ODE4RUYyRkZGRUUzM0ZFRUQzM0ZERUMzM0ZDRUIzMAorOjEwQTM0NTAwMzNGQjEwRDcwMzk5NDAwNEVCOTlGQjBGRDhFNUU0RjlFQgorOjEwQTM1NTAwRkEyMjc4MThFRjJGRkZFRTMzRkVFRDMzRkRFQzMzRkNEOAorOjEwQTM2NTAwQzkzM0M5MTBENzA1OUJFOTlBNDAwN0VDOUJGQ0U5OUFDQworOjEwQTM3NTAwRjkwRkQ4RTBFNEM5RkFFNENDRkIyMjc1RjAxMEVGMkYxMQorOjEwQTM4NTAwRkZFRTMzRkVFRDMzRkRDQzMzQ0NDODMzQzgxMEQ3MDcxMQorOjEwQTM5NTAwOUJFQzlBRTg5OTQwMEFFRDlCRkRFQzlBRkNFODk5Rjg0QworOjBFQTNBNTAwMEZENUYwREFFNENERkJFNENDRkFFNEM4RjkyMkRGCis6MTBBM0IzMDBFQjlGRjVGMEVBOUU0MkYwRTk5RDQyRjBFODlDNDVGMDAwCis6MDFBM0MzMDAyMjc3Cis6MTBBM0M0MDBFODYwMEZFQ0MzMTNGQ0VEMTNGREVFMTNGRUVGMTNGRjc3Cis6MDNBM0Q0MDBEOEYxMjI5QgorOjEwQTNENzAwMDgwODA4RTZDRjJGRjYxOEU2Q0UzRUY2MThFNkNEM0Q3QworOjA3QTNFNzAwRjYxOEU2Q0MzQ0Y2MjI1QgorOjBDQTNFRTAwRUNGMEEzRURGMEEzRUVGMEEzRUZGMDIyRTIKKzoxMEEzRkEwMEE4ODI4NTgzRjBEMDgzRDA4MjEyQTQxMTEyQTQxMTEyRUMKKzoxMEE0MEEwMEE0MTExMkE0MTFFNDczRTQ5M0EzQzU4M0M1RjBDNTgzMTAKKzoxMEE0MUEwMEM4QzU4MkM4RjBBM0M1ODNDNUYwQzU4M0M4QzU4MkM4QUMKKzowMUE0MkEwMDIyMEYKKzowMDAwMDAwMUZGCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiAgICAgIHdoaXRlaGVhdC5oICAtLSAgQ29ubmVjdFRlY2ggV2hpdGVIRUFUIEZpcm13YXJlLgorICoKKyAqICAgICAgQ29weXJpZ2h0IChDKSAyMDAwLTIwMDIgIENvbm5lY3RUZWNoIEluYyAoaHR0cDovL3d3dy5jb25uZWN0dGVjaC5jb20vKQorICoKKyAqICAgICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqICAgICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqICAgICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqICAgICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgICAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogICAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogICAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiAgICAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogICAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogICAgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogICAgICBGb3VuZGF0aW9uLCBJbmMuLCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEgMDIxMzksIFVTQS4KKyAqCisgKiAoMTAvMDkvMjAwMikgU3R1YXJ0IE1hY0RvbmFsZAorICoJRmlybXdhcmUgNC4wNgorICoKKyAqICgwNC8wOS8yMDAwKSBna2gKKyAqCVVwZGF0ZWQgdGhlIGZpcm13YXJlIHdpdGggdGhlIGxhdGVzdCBwcm92aWRlZCBieSBDb25uZWN0VGVjaC4KKyAqCisgKiAoMDEvMTYvMjAwMCkgZ2toCisgKglGaXhlZCBteSBpbnRlbCBoZXggcHJvY2Vzc2luZyB0b29sLCBzbyBub3cgdGhlIGZpcm13YXJlIGFjdHVhbGx5CisgKgltYXRjaGVzIHRoZSBvcmlnaW5hbCBmaWxlICh0aGlzIHdhcyBjYXVzaW5nIGEgZmV3IHByb2JsZW1zLi4uKQorICoKKyAqICgwMS8xNS8yMDAwKSBna2gKKyAqCUFkZGVkIGRlYnVnIGxvYWRlciBmaXJtd2FyZSBpZiBERUJVRyBpcyAjZGVmaW5lZDoKKyAqCQlQb3J0IDEgTEVEIGZsYXNoZXMgd2hlbiB0aGUgdmVuZF9heCBwcm9ncmFtIGlzIHJ1bm5pbmcKKyAqCQlQb3J0IDIgTEVEIGZsYXNoZXMgd2hlbiBhbnkgU0VUVVAgY29tbWFuZCBhcnJpdmVzCisgKgkJUG9ydCAzIExFRCBmbGFzaGVzIHdoZW4gYW55IHZhbGlkIFZFTkRPUiByZXF1ZXN0IG9jY3VycworICoJCVBvcnQgNCBMRUQgZmxhc2hlcyB3aGVuIHRoZSBFWFRFUk5BTCBSQU0gRE9XTkxPQUQgcmVxdWVzdCBvY2N1cnMKKyAqCisgKiB2ZXJzaW9uIDEuMCAoMDEvMDkvMjAwMCkgZ2toCisgKglPcmlnaW5hbCBmaXJtd2FyZSBmcm9tIENvbm5lY3RUZWNoIG1hc3NhZ2VkIGEgbGl0dGxlIHRvIGJlIHByb2dyYW0KKyAqCXJlYWRhYmxlLgorICoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2RlZmluZSB3aGl0ZWhlYXRfREFURSAiMjAwMDAxMDYiCmRpZmYgLS1naXQgYS9maXJtd2FyZS93aGl0ZWhlYXRfbG9hZGVyLkhFWCBiL2Zpcm13YXJlL3doaXRlaGVhdF9sb2FkZXIuSEVYCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVmNjYzZjYKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS93aGl0ZWhlYXRfbG9hZGVyLkhFWApAQCAtMCwwICsxLDMxNCBAQAorOjAzMDAwMDAwMDIwOThENjUKKzowMzAwMzMwMDAyMDhGQkM1Cis6MDMwMDQzMDAwMjBCMDBBRAorOjAzMDA0QjAwMDIwNUFBMDEKKzoxMDAxMDAwMDkwN0ZBNUUwNTQxMEZGQzQ1NDBGNDQ1MEY1MEYxM0U0NDIKKzoxMDAxMTAwMDMzRjUxMTkwN0ZFOUUwMjQ1RUI0MDcwMDQwMDMwMjAzNDkKKzoxMDAxMjAwMDc4OTAwMTI4RjgyODI4NzMwMjAxQkMwMjAxQkMwMjAxNjIKKzoxMDAxMzAwMDkxMDIwMTNEMDIwMTUzMDIwMTZGMDIwMTlBOTA3RjAwN0EKKzoxMDAxNDAwMEU1MTFGMDkwN0ZCNTc0MDFGMDkwN0ZCNEUwNDQwMkYwQzcKKzoxMDAxNTAwMDAyMDM3ODkwN0Y5MkUwRkZDNDU0MEY5MDdGMDBGMDkwRUMKKzoxMDAxNjAwMDdGQjU3NDAxRjA5MDdGQjRFMDQ0MDJGMDAyMDM3ODEyOEUKKzoxMDAxNzAwMDBBODk1MDA3RTQ5MDdGMDBGMDgwMDY5MDdGMDA3NDBGOUEKKzoxMDAxODAwMEYwOTA3RkI1NzQwMUYwOTA3RkI0RTA0NDAyRjAwMjAzNzgKKzoxMDAxOTAwMDc4OTA3RkVBRTBGNTBGMDIwMzc4OTA3RjAwNzQwN0YwMTMKKzoxMDAxQTAwMDkwN0ZCNTc0MDFGMDkwN0ZCNEUwNDQwMkYwN0ZFODdFNjgKKzoxMDAxQjAwMDAzMTIwRDk0RDIwNjEyMENDQzAyMDM3ODkwN0ZFQUUwNzEKKzoxMDAxQzAwMDc1MjgwMEY1MjlBM0UwRkVFNEVFNDIyODkwN0ZFRUUwREEKKzoxMDAxRDAwMDc1MkEwMEY1MkJBM0UwRkVFNEVFNDIyQTkwN0ZFOEUwQ0EKKzoxMDAxRTAwMDY0QzA2MDAzMDIwMkM5RTUyQjQ1MkE3MDAzMDIwMzc4NEMKKzoxMDAxRjAwMEMzRTUyQjk0NDBFNTJBOTQwMDUwMDg4NTJBMkM4NTJCRDIKKzoxMDAyMDAwMDJEODAwNjc1MkMwMDc1MkQ0MDkwN0ZFOUUwNjRBMzcwNjkKKzoxMDAyMTAwMDM0RjUzMEY1MzFDM0U1MzE5NTJERTUzMDk1MkM1MDVDNDIKKzoxMDAyMjAwMEU1MjkyNTMxRjU4MkU1MzAzNTI4RjU4M0UwRkY3NDAwQjYKKzoxMDAyMzAwMDI1MzFGNTgyRTQzNDdGRjU4M0VGRjAwNTMxRTUzMTcwNDcKKzoxMDAyNDAwMDAyMDUzMDgwRDBFNEY1MzBGNTMxQzNFNTMxOTUyREU1NzgKKzoxMDAyNTAwMDMwOTUyQzUwMTg3NDAwMjUzMUY1ODJFNDM0N0ZGNTgzRjUKKzoxMDAyNjAwMDc0Q0RGMDA1MzFFNTMxNzAwMjA1MzA4MEREQUYyOUFFODcKKzoxMDAyNzAwMDI4QUQyRDdBN0Y3OTAwN0IwMDEyMEJGNDkwN0ZCNUU1RDUKKzoxMDAyODAwMDJERjBFNTJEMjUyOUY1MjlFNTJDMzUyOEY1MjhDM0U1QTAKKzoxMDAyOTAwMDJCOTUyREY1MkJFNTJBOTUyQ0Y1MkE5MDdGOTJFMEZGRTIKKzoxMDAyQTAwMEM0NTQwRjc1MkUwMEY1MkZEMzk0MDBFNTJFOTQwMDUwMDIKKzoxMDAyQjAwMDBDOTA3RkI0RTAyMEUxMDMwMjAxRTc4MEY0OTA3RkI0NkEKKzoxMDAyQzAwMEUwMjBFMjAzMDIwMUU3ODBGNDkwN0ZFOEUwNjQ0MDYwMTAKKzoxMDAyRDAwMDAzMDIwMzc4RTUyQjQ1MkE3MDAzMDIwMzc4RTQ5MDdGM0MKKzoxMDAyRTAwMEM1RjA5MDdGOTJFMEZGQzQ1NDBGNzUyRTAwRjUyRkQzMTgKKzoxMDAyRjAwMDk0MDBFNTJFOTQwMDUwMDk5MDdGQzRFMDMwRTEwOTgwMUQKKzoxMDAzMDAwMEY3OTA3RkI0RTAyMEUzRjk5MDdGQzVFMDc1MkMwMEY1MEQKKzoxMDAzMTAwMDJEOTA3RkU5RTA2NEEzNzAzNEY1MzBGNTMxQzNFNTMxMDkKKzoxMDAzMjAwMDk1MkRFNTMwOTUyQzUwMzQ3NEMwMjUzMUY1ODJFNDM0OTgKKzowMTAzMzAwMDdFNEUKKzoxMDAzMzEwMEY1ODNFMEZGRTUyOTI1MzFGNTgyRTUzMDM1MjhGNTgzQTAKKzoxMDAzNDEwMEVGRjAwNTMxRTUzMTcwMDIwNTMwODBEMEFGMjlBRTI4REMKKzoxMDAzNTEwMEFEMkQ3QTdFNzlDMDdCQzAxMjBDM0ZFNTJEMjUyOUY1QTQKKzoxMDAzNjEwMDI5RTUyQzM1MjhGNTI4QzNFNTJCOTUyREY1MkJFNTJBMTQKKzowOTAzNzEwMDk1MkNGNTJBMDIwMkQ0QzMyMkU2Cis6MTAwMzdBMDA5MDdGRTlFMDcwMDMwMjA0NTIxNDcwMDMwMjA0Q0UyNDUxCis6MTAwMzhBMDBGRTcwMDMwMjA1NDIyNEZCNzAwMzAyMDQ0QzE0NzAwMzNFCis6MTAwMzlBMDAwMjA0NDYxNDcwMDMwMjA0M0ExNDcwMDMwMjA0NDAyNDRGCis6MTAwM0FBMDAwNTYwMDMwMjA1OTYxMjBFNDQ0MDAzMDIwNUEyOTA3RkRGCis6MTAwM0JBMDBFQkUwMjRGRTYwMTYxNDYwNDAyNDAyNzA2OTc0MTE5MDA4Cis6MTAwM0NBMDA3RkQ0RjA3NDAwOTA3RkQ1RjAwMjA1QTI5MDdGRUFFMDE2Cis6MTAwM0RBMDBGRjEyMEI1ODhCMjU4QTI2ODkyN0VBNDk2MDExQUUwMjNCCis6MTAwM0VBMDBFRTkwN0ZENEYwQUYwMUVGOTA3RkQ1RjAwMjA1QTI5MDk2Cis6MTAwM0ZBMDA3RkI0RTA0NDAxRjAwMjA1QTI5MDdGRUFFMEZGMTIwODEwCis6MTAwNDBBMDBCQThCMjU4QTI2ODkyN0VBNDk2MDExQUUwMkVFOTA3RkM3Cis6MTAwNDFBMDBENEYwQUYwMUVGOTA3RkQ1RjAwMjA1QTI5MDdGQjRFMDRGCis6MTAwNDJBMDA0NDAxRjAwMjA1QTI5MDdGQjRFMDQ0MDFGMDAyMDVBMjYzCis6MTAwNDNBMDAxMjBFMUYwMjA1QTIxMjBFMkQwMjA1QTIxMjBBRjcwMkJGCis6MTAwNDRBMDAwNUEyMTIwRTExMDIwNUEyMTIwRTQ2NDAwMzAyMDVBMkNGCis6MTAwNDVBMDA5MDdGRThFMDI0N0Y2MDI0MTQ2MDMxMjQwMjcwNUJBMjVDCis6MTAwNDZBMDAwMEU0MzNGRjI1RTBGRkEyMDJFNDMzNEY5MDdGMDBGMDVGCis6MTAwNDdBMDBFNEEzRjA5MDdGQjU3NDAyRjAwMjA1QTJFNDkwN0YwMDM1Cis6MTAwNDhBMDBGMEEzRjA5MDdGQjU3NDAyRjAwMjA1QTI5MDdGRUNFMDMxCis6MTAwNDlBMDBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNDFFCis6MTAwNEFBMDBGNTgyRTQzNDdGRjU4M0UwNTRGRDkwN0YwMEYwRTRBMzA1Cis6MTAwNEJBMDBGMDkwN0ZCNTc0MDJGMDAyMDVBMjkwN0ZCNEUwNDQwMTg3Cis6MTAwNENBMDBGMDAyMDVBMjEyMEU0ODQwMDMwMjA1QTI5MDdGRThFMDVFCis6MTAwNERBMDAyNEZFNjAxRDI0MDI2MDAzMDIwNUEyOTA3RkVBRTBCNEI0Cis6MTAwNEVBMDAwMTA1QzIwMDAyMDVBMjkwN0ZCNEUwNDQwMUYwMDIwNUIyCis6MTAwNEZBMDBBMjkwN0ZFQUUwNzAzODkwN0ZFQ0UwRjQ1NDgwRkZDNDY5Cis6MTAwNTBBMDA1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RjJBCis6MTAwNTFBMDBGNTgzRTRGMDkwN0ZFQ0UwNTQ4MEZGMTMxMzEzNTQxRjJCCis6MTAwNTJBMDBGRkUwNTQwNzJGOTA3RkQ3RjBFMDQ0MjBGMDgwNjk5MEQ1Cis6MTAwNTNBMDA3RkI0RTA0NDAxRjA4MDYwMTIwRTRBNTA1QjkwN0ZFODdECis6MTAwNTRBMDBFMDI0RkU2MDE4MjQwMjcwNEY5MDdGRUFFMEI0MDEwNEIwCis6MTAwNTVBMDBEMjAwODA0NDkwN0ZCNEUwNDQwMUYwODAzQjkwN0ZFQTZGCis6MTAwNTZBMDBFMDcwMjA5MDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDY5Cis6MTAwNTdBMDA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTgzNzQwMTBGCis6MTAwNThBMDBGMDgwMTU5MDdGQjRFMDQ0MDFGMDgwMEMxMjAxMDA1MDE1Cis6MTAwNTlBMDAwNzkwN0ZCNEUwNDQwMUYwOTA3RkI0RTA0NDAyRjAyMjc3Cis6MTAwNUFBMDBDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDBDMDkyCis6MTAwNUJBMDBEMEMwMDBDMDAxQzAwMkMwMDNDMDA2QzAwNzkwN0ZBNTFBCis6MTAwNUNBMDBFMDMwRTIwNjc1MEQwNjAyMDY3NjkwN0ZBNUUwMjBFMThFCis6MTAwNURBMDAwQ0U1MEQ2NDAyNjAwNjc1MEQwNzAyMDY3NkFGMERFRjk1Cis6MTAwNUVBMDAyNEZFNjA0ODE0NjAyQzI0RkU2MDc3MjQwNDYwMDMwMjExCis6MTAwNUZBMDAwNjc2QUIwOUFBMEFBOTBCQUYwQzA1MEM4RjgyNzU4Mzg0Cis6MTAwNjBBMDAwMDEyMDgyMjkwN0ZBNkYwRTUwQzY1MDg3MDVFNzUwRDUxCis6MTAwNjFBMDAwNTgwNTk5MDdGQTZFMEFCMDlBQTBBQTkwQkFFMEM4RUY5Cis6MTAwNjJBMDA4Mjc1ODMwMDEyMDg0Rjc1MEQwMjgwNDBFNTA4MjRGRThBCis6MTAwNjNBMDBCNTBDMDc5MDdGQTVFMDQ0MjBGMEU1MDgxNEI1MEMwQTM0Cis6MTAwNjRBMDA5MDdGQTVFMDQ0NDBGMEU0RjUwRDkwN0ZBNkUwQUIwOTY5Cis6MTAwNjVBMDBBQTBBQTkwQkFFMEM4RTgyNzU4MzAwMTIwODRGMDUwQ0VDCis6MTAwNjZBMDA4MDBBOTA3RkE1RTA0NDQwRjBFNEY1MEQ1MzkxREZEMDc1Cis6MTAwNjdBMDAwN0QwMDZEMDAzRDAwMkQwMDFEMDAwRDBEMEQwODZEMDg3Cis6MEEwNjhBMDA4NEQwODVEMDgyRDA4M0QwRTAzMjA2Cis6MTAwNjk0MDA4QzMzOEQzNDkwN0Y5NUUwNDRDMEYwRTRGNTM1RjUzNjI1Cis6MTAwNkE0MDBDM0U1MzY5NTM0RTUzNTk1MzM1MDY5RUYyNTM2RjU4MjQzCis6MTAwNkI0MDBFNTM1M0VGNTgzNzRGRkYwRjQ2MDAyQzMyMkVGMjUzNjdFCis6MTAwNkM0MDBGNTgyRTUzNTNFRjU4M0U0RjA2MDAyQzMyMkVGMjUzNjdBCis6MTAwNkQ0MDBGNTgyRTUzNTNFRjU4Mzc0QUFGMDY0QUE2MDAyQzMyMjZDCis6MTAwNkU0MDBFRjI1MzZGNTgyRTUzNTNFRjU4Mzc0NTVGMDY0NTU2MEEzCis6MTAwNkY0MDAwMkMzMjJBRDM2RTUzNjJGRjU4MkU1MzUzRUY1ODNFREFFCis6MTAwNzA0MDBGMEZDQUMwNUVENkM2MDAyQzMyMjA1MzZFNTM2NzAwMkUwCis6MTAwNzE0MDAwNTM1ODA4Q0U0RjUzNUY1MzZDM0U1MzY5NTM0RTUzNTk1Cis6MTAwNzI0MDA5NTMzNTAyN0VGMjUzNkY1ODJFNTM1M0VGNTgzRTA2NUIwCis6MTAwNzM0MDAzNjYwMDJDMzIyRUYyNTM2RjU4MkU1MzUzRUY1ODNFNEMzCis6MEQwNzQ0MDBGMDA1MzZFNTM2NzAwMjA1MzU4MENFRDMyMjczCis6MTAwNzUxMDBDMjA0RDIwNUMyMDNDMjAwQzIwMkMyMDExMjBFM0REMkJFCis6MTAwNzYxMDBFODQzRDgyMDkwN0ZBQjc0RkZGMDkwN0ZBOUYwOTA3RjkxCis6MTAwNzcxMDBBQUYwNTM5MUVGOTA3Rjk1RTA0NEMwRjA5MDdGOTM3NDdECis6MTAwNzgxMDAzMEYwMTIwQTE5OTA3RkFGRTA0NDAxRjA5MDdGQUVFMEEzCis6MTAwNzkxMDA0NDBERjBEMkFGMTIwRTM1MjAwMTQyNzUyNDAwNzUyM0FECis6MTAwN0ExMDAwMDc1MjIwMDc1MjEwMDdGNDg3RTkyN0QwMDdDMDBBQkEwCis6MTAwN0IxMDAyNEFBMjNBOTIyQTgyMUMzMTIwOEE5NTBEQjIwMDFEODA5Cis6MTAwN0MxMDA3QTAwNzkwMDc4MDBFNTI0MjQwMUY1MjRFQTM1MjNGNTNGCis6MTAwN0QxMDAyM0U5MzUyMkY1MjJFODM1MjFGNTIxODBDQTMwMDEwNUNBCis6MTAwN0UxMDAxMjAzN0FDMjAxMzAwNDFBMTIwRTQwNTAxMzEyMDkwMDhBCis6MTAwN0YxMDAzMDAwMDc5MDdGRDZFMDMwRTdGMzEyMEQ0QTEyMEU0MjI3Cis6MDgwODAxMDBDMjAzMTIwOEZGODBENjIyOTkKKzoxMDA4MDkwMEJCMDEwNjg5ODI4QTgzRTAyMjUwMDJFNzIyQkJGRTAyRUQKKzowOTA4MTkwMEUzMjI4OTgyOEE4M0U0OTMyMjIwCis6MTAwODIyMDBCQjAxMENFNTgyMjlGNTgyRTU4MzNBRjU4M0UwMjI1MDhCCis6MTAwODMyMDAwNkU5MjU4MkY4RTYyMkJCRkUwNkU5MjU4MkY4RTIyMkQ1Cis6MEQwODQyMDBFNTgyMjlGNTgyRTU4MzNBRjU4M0U0OTMyMkVGCis6MTAwODRGMDBGOEJCMDEwREU1ODIyOUY1ODJFNTgzM0FGNTgzRThGMERGCis6MTAwODVGMDAyMjUwMDZFOTI1ODJDOEY2MjJCQkZFMDVFOTI1ODJDODhCCis6MDIwODZGMDBGMjIyNzMKKzoxMDA4NzEwMEJCMDExMEU1ODIyOUY1ODJFNTgzM0FGNTgzRTBGNUYwQzUKKzoxMDA4ODEwMEEzRTAyMjUwMDlFOTI1ODJGODg2RjAwOEU2MjJCQkZFQTIKKzoxMDA4OTEwMDBBRTkyNTgyRjhFMkY1RjAwOEUyMjJFNTgzMkFGNTgzRTgKKzowODA4QTEwMEU5OTNGNUYwQTNFOTkzMjJBRAorOjEwMDhBOTAwRUI5RkY1RjBFQTlFNDJGMEU5OUQ0MkYwRTg5QzQ1RjBBNQorOjAxMDhCOTAwMjIxQworOjAyMDhCQTAwOEYyODg1Cis6MTAwOEJDMDBFNEY1Mjk3NTJBRkY3NTJCMTE3NTJDMzJBQjJBQUEyQjVFCis6MTAwOENDMDBBOTJDOTAwMDAxMTIwODIyQjQwMzFEQUYyOTA1MjlFRkIxCis6MTAwOERDMDBCNTI4MDEyMjEyMDgwOTdFMDAyOUZGRUUzQUE5MDc3NUY2Cis6MEUwOEVDMDAyQUZGRjUyQjg5MkM4MEQ0N0IwMDdBMDA3OTAwM0UKKzowMTA4RkEwMDIyREIKKzowNDA4RkIwMDUzRDhFRjMyQUQKKzowMTA4RkYwMDIyRDYKKzowOTA5MDAwMDkwN0ZENkUwNDQ4MEYwODA3NDgxCis6MTAwOTdEMDA0Mzg3MDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMjdECis6MEMwOThEMDA3ODdGRTRGNkQ4RkQ3NTgxMzkwMjA5RDRBQQorOjEwMDk5OTAwMDIwNzUxRTQ5M0EzRjhFNDkzQTM0MDAzRjY4MDAxRjIxQworOjEwMDlBOTAwMDhERkY0ODAyOUU0OTNBM0Y4NTQwNzI0MENDOEMzMzM1RgorOjEwMDlCOTAwQzQ1NDBGNDQyMEM4ODM0MDA0RjQ1NjgwMDE0NkY2REYyRQorOjEwMDlDOTAwRTQ4MDBCMDEwMjA0MDgxMDIwNDA4MDkwMERFQ0U0N0VDNQorOjEwMDlEOTAwMDE5MzYwQkNBM0ZGNTQzRjMwRTUwOTU0MUZGRUU0OTMyMworOjEwMDlFOTAwQTM2MDAxMEVDRjU0QzAyNUUwNjBBODQwQjhFNDkzQTNFQQorOjEwMDlGOTAwRkFFNDkzQTNGOEU0OTNBM0M4QzU4MkM4Q0FDNTgzQ0ExNQorOjEwMEEwOTAwRjBBM0M4QzU4MkM4Q0FDNTgzQ0FERkU5REVFNzgwQkVDQworOjEwMEExOTAwRTQ5MDdGOUNGMDdGMEFGRTEyMEQ5NDkwN0Y5Njc0ODk3MgorOjEwMEEyOTAwRjA5MDdGOUM3NENGRjA3RkY0N0UwMTEyMEQ5NDkwN0YzQgorOjEwMEEzOTAwOTZFMDU0RkVGMDdGMEE3RTAwMTIwRDk0N0YwNTdFMDAzOQorOjEwMEE0OTAwMTIwRDk0OTA3Rjk2RTA0NDAyRjBFMDU0N0ZGMDdGMDUwOAorOjEwMEE1OTAwN0UwMDEyMEQ5NDkwN0Y5NkUwNDQ0MEYwN0YwNTdFMDA2MQorOjEwMEE2OTAwMTIwRDk0OTA3Rjk2RTA1NEJGRjA3RjMyN0UwMDEyMERGNAorOjEwMEE3OTAwOTQ5MDdGOTZFMDQ0NDBGMDdGMzI3RTAwMTIwRDk0MjJEQworOjEwMEE4OTAwNzUzMjAxRTUzMjYwMUI3RjAxMTIwREQ3N0YwMDdFMEVBMgorOjEwMEE5OTAwN0QwMDdDMDExMjA2OTRFNDMzRjUzMjcwMDU3RjBGMTI1NAorOjEwMEFBOTAwMEREN0U1MzI2MDFCN0YwMjEyMERENzdGMDA3RTgwN0Q1NgorOjEwMEFCOTAwMDA3QzgwMTIwNjk0RTQzM0Y1MzI3MDA1N0YwRjEyMEQyNQorOjEwMEFDOTAwRDdFNTMyNjAxQjdGMDMxMjBERDc3RjAwN0UyMDdENDA2MgorOjEwMEFEOTAwN0M1QjEyMDY5NEU0MzNGNTMyNzAwNTdGMEYxMjBERDc1MworOjBFMEFFOTAwRTUzMjYwMDVFNEZGMTIwREQ3RTUzMjI0RkYyMjRFCis6MDgwQUY3MDA5MDdGRUFFMEY1MTBEMzIyMjQKKzowMTBBRkYwMDMyQzQKKzoxMDBCMDAwMDAyMEQ2NDAwMDIwREFCMDAwMjBEMkYwMDAyMEQ3QzAwRUYKKzoxMDBCMTAwMDAyMERDMTAwMDIwQUZGMDAwMjBFNEMwMDAyMEU0RDAwNDEKKzoxMDBCMjAwMDAyMEU0RTAwMDIwRTRGMDAwMjBFNTAwMDAyMEU1MTAwNDcKKzoxMDBCMzAwMDAyMEU1MjAwMDIwRTUzMDAwMjBFNTQwMDAyMEU1NTAwMjcKKzoxMDBCNDAwMDAyMEU1NjAwMDIwRTU3MDAwMjBFNTgwMDAyMEU1OTAwMDcKKzowODBCNTAwMDAyMEU1QTAwMDIwRTVCMDBDOAorOjEwMEI1ODAwRTRGRTc1MkFGRjc1MkIxMTc1MkMxMkFCMkFBQTJCQTk1NgorOjEwMEI2ODAwMkM5MDAwMDExMjA4MjI2NDAyNzAyREFEMDYwRUVEQjUxRQorOjEwMEI3ODAwMDcwMTIyOTAwMDAyMTIwODcxODVGMDI4RjUyOTYyMjhFMQorOjEwMEI4ODAwRTUyODYyMjlFNTI5NjIyODI5RkRFNTI4M0FBOTA1NzU5RAorOjBFMEI5ODAwMkFGRkY1MkI4OTJDODBDMzdCMDA3QTAwNzkwMEEwCis6MDEwQkE2MDAyMjJDCis6MTAwQkE3MDBBQjA3QUEwNkFDMDVFNEZERTUxMTYwMTFFQUZGQUUwNTQ3Cis6MTAwQkI3MDAwREVFMjQxMEY1ODJFNDM0MEZGNTgzRUZGMEVCQUUwNTZDCis6MTAwQkM3MDAwRDc0MTAyRUY1ODJFNDM0MEZGNTgzRUJGMEFGMDUwREFECis6MTAwQkQ3MDA3NDEwMkZGNTgyRTQzNDBGRjU4M0VDRjBBRjBGN0EwRjIyCis6MEQwQkU3MDA3QjEwMTIwRDEwN0YwQTdFMDAxMjBEOTQyMjZCCis6MTAwQkY0MDA4RTMyOEYzMzhEMzQ4QTM1OEIzNkU0RkRGNTM3RTUxMTJCCis6MTAwQzA0MDA2MDEyRTUzMkZGQUUwNTBERUUyNDEzRjU4MkU0MzQwRkQ1Cis6MTAwQzE0MDBGNTgzRUZGMEU1MzNBRTA1MEQ3NDEzMkVGNTgyRTQzNDVECis6MTAwQzI0MDAwRkY1ODNFNTMzRjBBRjBGN0EwRjdCMTMxMjBEMTBBRjdFCis6MEIwQzM0MDAwRkFEMzRBQjM2QUEzNTEyMENGMTIyRDQKKzoxMDBDM0YwMDhFMzI4RjMzOEQzNDhBMzU4QjM2RTRGNTM3RTUzN0MzRjMKKzoxMDBDNEYwMDk1MzQ1MDIwMDUzM0U1MzNBRTMyNzAwMjA1MzIxNEZGNzAKKzoxMDBDNUYwMEU1MzYyNTM3RjU4MkU0MzUzNUY1ODNFMEZEMTIwQkE3MzAKKzowNTBDNkYwMDA1Mzc4MEQ5MjJDOQorOjEwMEM3NDAwQTkwN0U1MEQ3MDI1OTA3RkE1RTA0NDgwRjBFOTI1RTAwMworOjEwMEM4NDAwNDQwMTkwN0ZBNkYwOEQwOEFGMDNBOTA3NzUwOTAxOEE3NgorOjBEMEM5NDAwMEE4OTBCRTRGNTBDNzUwRDAzRDMyMkMzMjI3MQorOjEwMENBMTAwQTkwN0U1MEQ3MDIzOTA3RkE1RTA0NDgwRjBFOTI1RTBEOAorOjEwMENCMTAwOTA3RkE2RjA4RDA4QUYwM0E5MDc3NTA5MDE4QTBBODlGQgorOjBCMENDMTAwMEJFNEY1MEM3NTBEMDFEMzIyQzMyMkRCCis6MTAwQ0NDMDA5MDdGRDZFMDU0RkJGMEUwNDQwOEYwMzAwNjA0RTA0NDlBCis6MTAwQ0RDMDAwMkYwN0ZEMDdFMDcxMjBEOTQ5MDdGRDZFMDU0RjdGMDhGCis6MDUwQ0VDMDBFMDQ0MDRGMDIyQzkKKzoxMDBDRjEwMDEyMEM3NEU1MEQyNEZBNjAxMDE0NjAwNzI0MDc3MEYzRDgKKzowRjBEMDEwMDdGMDgyMkU0RjUwRDdGMDcyMkU0RjUwRDdGMDYyMjFGCis6MTAwRDEwMDAxMjBDQTFFNTBEMjRGQTYwMTAxNDYwMDcyNDA3NzBGMzhCCis6MEYwRDIwMDA3RjA4MjJFNEY1MEQ3RjA3MjJFNEY1MEQ3RjA2MjIwMAorOjEwMEQyRjAwQzBFMEMwODNDMDgyOTA3RkM0RTRGMDUzOTFFRjkwN0YwNgorOjBCMEQzRjAwQUI3NDA0RjBEMDgyRDA4M0QwRTAzMjBGCis6MTAwRDRBMDA5MDdGRDZFMDMwRTcxMkUwNDQwMUYwN0YxNDdFMDAxMjczCis6MEEwRDVBMDAwRDk0OTA3RkQ2RTA1NEZFRjAyMkM1Cis6MTAwRDY0MDBDMEUwQzA4M0MwODJEMjAxNTM5MUVGOTA3RkFCNzQwMTg1Cis6MDgwRDc0MDBGMEQwODJEMDgzRDBFMDMyMDAKKzoxMDBEN0MwMEMwRTBDMDgzQzA4MkQyMDM1MzkxRUY5MDdGQUI3NDA4NjQKKzowODBEOEMwMEYwRDA4MkQwODNEMEUwMzJFOAorOjEwMEQ5NDAwOEUzODhGMzlFNTM5MTUzOUFFMzg3MDAyMTUzODRFNjAwMgorOjA3MERBNDAwMDUxMjBFMDA4MEVFMjI5MworOjEwMERBQjAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFCNzQwMkYwRDA1MAorOjA2MERCQjAwODJEMDgzRDBFMDMyN0IKKzoxMDBEQzEwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQjc0MTBGMEQwMkMKKzowNjBERDEwMDgyRDA4M0QwRTAzMjY1Cis6MTAwREQ3MDBBRTA3N0YyMTdEMDE3NDAwMkVGNTgyRTQzNDBGQUI4MkNDCis6MDUwREU3MDBGQTEyMEQxMDIyQkMKKzoxMDBERUMwMDUwMEYwMEMwRjlBNEIwOTk5MjgyRjg4MDk4ODg4M0M2RkQKKzowMzBERkMwMEExODY4RTNGCis6MDEwREZGMDAwMEYzCis6MTAwRTAwMDA3NDAwRjU4NjkwRkRBNTdDMDVBM0U1ODI0NTgzNzBGOTA1Cis6MDEwRTEwMDAyMkJGCis6MEUwRTExMDA5MDdGMDBFNTEwRjA5MDdGQjU3NDAxRjBEMzIyQzEKKzowRTBFMUYwMDkwN0YwMEU1MEVGMDkwN0ZCNTc0MDFGMEQzMjJCNQorOjA4MEUyRDAwOTA3RkVBRTBGNTBFRDMyMkVDCis6MDgwRTM1MDBFNEY1MEREMkU5RDJBRjIyNzEKKzowMzBFM0QwMEQyMDAyMkJFCis6MDIwRTQwMDBEMzIyQkIKKzowMjBFNDIwMEQzMjJCOQorOjAyMEU0NDAwRDMyMkI3Cis6MDIwRTQ2MDBEMzIyQjUKKzowMjBFNDgwMEQzMjJCMworOjAyMEU0QTAwRDMyMkIxCis6MDEwRTRDMDAzMjczCis6MDEwRTREMDAzMjcyCis6MDEwRTRFMDAzMjcxCis6MDEwRTRGMDAzMjcwCis6MDEwRTUwMDAzMjZGCis6MDEwRTUxMDAzMjZFCis6MDEwRTUyMDAzMjZECis6MDEwRTUzMDAzMjZDCis6MDEwRTU0MDAzMjZCCis6MDEwRTU1MDAzMjZBCis6MDEwRTU2MDAzMjY5Cis6MDEwRTU3MDAzMjY4Cis6MDEwRTU4MDAzMjY3Cis6MDEwRTU5MDAzMjY2Cis6MDEwRTVBMDAzMjY1Cis6MDEwRTVCMDAzMjY0Cis6MTAxMTAwMDAxMjAxMDAwMTAwMDAwMDQwNDcwNTEwMjcwMTAwMDEwMjA0Cis6MTAxMTEwMDAwMDAxMDkwMjIwMDAwMTAxMDNBMDAwMDkwNDAwMDAwMkVGCis6MTAxMTIwMDBGRjAwMDAwNDA3MDU4MjAyNDAwMDAwMDcwNTAyMDI0MDlDCis6MTAxMTMwMDAwMDAwMDQwMzA5MDQyNjAzNDEwMDZFMDA2MzAwNjgwMEY4Cis6MTAxMTQwMDA2RjAwNzIwMDIwMDA0MzAwNjgwMDY5MDA3MDAwNzMwMEE3Cis6MTAxMTUwMDAyQzAwMjAwMDQ5MDA2RTAwNjMwMDJFMDAyODAzNDYwMDhBCis6MTAxMTYwMDA2OTAwNzIwMDZEMDA3NzAwNjEwMDcyMDA2NTAwMjAwMDY4Cis6MTAxMTcwMDA0NjAwNzIwMDYxMDA2RDAwNjUwMDU3MDA2RjAwNzIwMDRDCis6MTAxMTgwMDA2QjAwNzMwMDJBMDM0MzAwNkYwMDZFMDA2NjAwNjkwMDY1Cis6MTAxMTkwMDA2NzAwNzUwMDcyMDA2MTAwNzQwMDY5MDA2RjAwNkUwMEU2Cis6MTAxMUEwMDAyMDAwNTMwMDc0MDA3MjAwNjkwMDZFMDA2NzAwMjIwMzgzCis6MTAxMUIwMDA0OTAwNkUwMDc0MDA2NTAwNzIwMDY2MDA2MTAwNjMwMDAzCis6MTAxMUMwMDA2NTAwMjAwMDUzMDA3NDAwNzIwMDY5MDA2RTAwNjcwMDIzCis6MDIxMUQwMDAwMDAwMUQKKzowMDAwMDAwMUZGCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiAgICAgIHdoaXRlaGVhdC5oICAtLSAgQ29ubmVjdFRlY2ggV2hpdGVIRUFUIEZpcm13YXJlLgorICoKKyAqICAgICAgQ29weXJpZ2h0IChDKSAyMDAwLTIwMDIgIENvbm5lY3RUZWNoIEluYyAoaHR0cDovL3d3dy5jb25uZWN0dGVjaC5jb20vKQorICoKKyAqICAgICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqICAgICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqICAgICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqICAgICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgICAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogICAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogICAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiAgICAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogICAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogICAgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogICAgICBGb3VuZGF0aW9uLCBJbmMuLCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEgMDIxMzksIFVTQS4KKyAqCisgKiAoMTAvMDkvMjAwMikgU3R1YXJ0IE1hY0RvbmFsZAorICoJRmlybXdhcmUgNC4wNgorICoKKyAqICgwNC8wOS8yMDAwKSBna2gKKyAqCVVwZGF0ZWQgdGhlIGZpcm13YXJlIHdpdGggdGhlIGxhdGVzdCBwcm92aWRlZCBieSBDb25uZWN0VGVjaC4KKyAqCisgKiAoMDEvMTYvMjAwMCkgZ2toCisgKglGaXhlZCBteSBpbnRlbCBoZXggcHJvY2Vzc2luZyB0b29sLCBzbyBub3cgdGhlIGZpcm13YXJlIGFjdHVhbGx5CisgKgltYXRjaGVzIHRoZSBvcmlnaW5hbCBmaWxlICh0aGlzIHdhcyBjYXVzaW5nIGEgZmV3IHByb2JsZW1zLi4uKQorICoKKyAqICgwMS8xNS8yMDAwKSBna2gKKyAqCUFkZGVkIGRlYnVnIGxvYWRlciBmaXJtd2FyZSBpZiBERUJVRyBpcyAjZGVmaW5lZDoKKyAqCQlQb3J0IDEgTEVEIGZsYXNoZXMgd2hlbiB0aGUgdmVuZF9heCBwcm9ncmFtIGlzIHJ1bm5pbmcKKyAqCQlQb3J0IDIgTEVEIGZsYXNoZXMgd2hlbiBhbnkgU0VUVVAgY29tbWFuZCBhcnJpdmVzCisgKgkJUG9ydCAzIExFRCBmbGFzaGVzIHdoZW4gYW55IHZhbGlkIFZFTkRPUiByZXF1ZXN0IG9jY3VycworICoJCVBvcnQgNCBMRUQgZmxhc2hlcyB3aGVuIHRoZSBFWFRFUk5BTCBSQU0gRE9XTkxPQUQgcmVxdWVzdCBvY2N1cnMKKyAqCisgKiB2ZXJzaW9uIDEuMCAoMDEvMDkvMjAwMCkgZ2toCisgKglPcmlnaW5hbCBmaXJtd2FyZSBmcm9tIENvbm5lY3RUZWNoIG1hc3NhZ2VkIGEgbGl0dGxlIHRvIGJlIHByb2dyYW0KKyAqCXJlYWRhYmxlLgorICoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2RlZmluZSB3aGl0ZWhlYXRfREFURSAiMjAwMDAxMDYiCmRpZmYgLS1naXQgYS9maXJtd2FyZS93aGl0ZWhlYXRfbG9hZGVyX2RlYnVnLkhFWCBiL2Zpcm13YXJlL3doaXRlaGVhdF9sb2FkZXJfZGVidWcuSEVYCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU2MzNkNTgKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS93aGl0ZWhlYXRfbG9hZGVyX2RlYnVnLkhFWApAQCAtMCwwICsxLDQwMyBAQAorOjEwMDAwMDAwMDAwMDAwMDAwMzAyMDk4RDAwMDAwMDMzMDMwMjBFNzA5RgorOjEwMDAxMDAwMDAwMDAwNDMwMzAyMEIwMDAwMDAwMDRCMDMwMjA1QjM4NQorOjEwMDAyMDAwMDAwMDAxMDAxMDkwN0ZBNUUwNTQxMEZGQzQ1NDBGNDQ1RAorOjEwMDAzMDAwNTBGNTBGMTNFNDAwMDExMDAwMDAwMTEwMTAzM0Y1MTEwQQorOjEwMDA0MDAwOTA3RkU5RTAyNDVFQjQwNzAwNDAwMzAyMDMwMDAxMjAzMgorOjEwMDA1MDAwMDAwMDAxMjAxMDdDOTAwMTI4RjgyODI4NzMwMjAxQkNDMAorOjEwMDA2MDAwMDIwMUJDMDIwMTAwMDEzMDAwMDAwMTMwMTA5MTAyMDFDOAorOjEwMDA3MDAwM0QwMjAxNTMwMjAxNkYwMjAxOUE5MDdGMDAwMDAxNDA4RQorOjEwMDA4MDAwMDAwMDAxNDAxMEU1MTFGMDkwN0ZCNTc0MDFGMDkwN0YwMQorOjEwMDA5MDAwQjRFMDQ0MDJGMDAwMDE1MDAwMDAwMTUwMTAwMjAzN0M2MworOjEwMDBBMDAwOTA3RjkyRTBGRkM0NTQwRjkwN0YwMEYwOTAwMDAxNjBCOQorOjEwMDBCMDAwMDAwMDAxNjAxMDdGQjU3NDAxRjA5MDdGQjRFMDQ0MDI0RAorOjEwMDBDMDAwRjAwMjAzN0MxMjAwMDE3MDAwMDAwMTcwMTAwQTg5NTBEOAorOjEwMDBEMDAwMDdFNDkwN0YwMEYwODAwNjkwN0YwMDc0MEYwMDAxODA5RAorOjEwMDBFMDAwMDAwMDAxODAxMEYwOTA3RkI1NzQwMUYwOTA3RkI0RTBDMworOjEwMDBGMDAwNDQwMkYwMDIwMzAwMDE5MDAwMDAwMTkwMTA3QzkwN0YwOAorOjEwMDEwMDAwRUFFMEY1MEYwMjAzN0M5MDdGMDA3NDA3RjAwMDAxQTA4NQorOjEwMDExMDAwMDAwMDAxQTAxMDkwN0ZCNTc0MDFGMDkwN0ZCNEUwNDQxRQorOjEwMDEyMDAwMDJGMDdGRTg3RTAwMDFCMDAwMDAwMUIwMTAwMzEyMEQ2NAorOjEwMDEzMDAwRDVEMjA2MTIwRDBEMDIwMzdDOTA3RkVBRTAwMDAxQzBDQgorOjEwMDE0MDAwMDAwMDAxQzAxMDc1MjkwMEY1MkFBM0UwRkVFNEVFNDI4QworOjEwMDE1MDAwMjk5MDdGRUVFMDAwMDFEMDAwMDAwMUQwMTA3NTJCMDA0NworOjEwMDE2MDAwRjUyQ0EzRTBGRUU0RUU0MjJCOTA3RkU4RTAwMDAxRTBGNgorOjEwMDE3MDAwMDAwMDAxRTAxMDY0QzA2MDAzMDIwMkM5RTUyQzQ1MkJCOQorOjEwMDE4MDAwNzAwMzAyMDM3QzAwMDFGMDAwMDAwMUYwMTBDM0U1MkNCNQorOjEwMDE5MDAwOTQ0MEU1MkI5NDAwNTAwODg1MkIyRDg1MkMwMDAyMDBGRgorOjEwMDFBMDAwMDAwMDAyMDAxMDJFODAwNjc1MkQwMDc1MkU0MDkwN0ZGNQorOjEwMDFCMDAwRTlFMDY0QTM3MDAwMDIxMDAwMDAwMjEwMTAzNEY1MzE3MQorOjEwMDFDMDAwRjUzMkMzRTUzMjk1MkVFNTMxOTUyRDUwNUMwMDAyMjBDNQorOjEwMDFEMDAwMDAwMDAyMjAxMEU1MkEyNTMyRjU4MkU1MzEzNTI5RjVBNworOjEwMDFFMDAwODNFMEZGNzQwMDAwMDIzMDAwMDAwMjMwMTAyNTMyRjU3OQorOjEwMDFGMDAwODJFNDM0N0ZGNTgzRUZGMDA1MzJFNTMyNzAwMDAyNDA4RgorOjEwMDIwMDAwMDAwMDAyNDAxMDAyMDUzMTgwRDBFNEY1MzFGNTMyQzMyMAorOjEwMDIxMDAwRTUzMjk1MkVFNTAwMDI1MDAwMDAwMjUwMTAzMTk1MkQ3OAorOjEwMDIyMDAwNTAxODc0MDAyNTMyRjU4MkU0MzQ3RkY1ODMwMDAyNjBCMworOjEwMDIzMDAwMDAwMDAyNjAxMDc0Q0RGMDA1MzJFNTMyNzAwMjA1MzEyNQorOjEwMDI0MDAwODBEREFGMkFBRTAwMDI3MDAwMDAwMjcwMTAyOUFEMkVEMgorOjEwMDI1MDAwN0E3Rjc5MDA3QjAwMTIwQkY0OTA3RkI1RTUwMDAyODA3NQorOjEwMDI2MDAwMDAwMDAyODAxMDJFRjBFNTJFMjUyQUY1MkFFNTJEMzUxNgorOjEwMDI3MDAwMjlGNTI5QzNFNTAwMDI5MDAwMDAwMjkwMTAyQzk1MkU2QworOjEwMDI4MDAwRjUyQ0U1MkI5NTJERjUyQjkwN0Y5MkUwRkYwMDAyQTAzOQorOjEwMDI5MDAwMDAwMDAyQTAxMEM0NTQwRjc1MkYwMEY1MzBEMzk0MDA1NQorOjEwMDJBMDAwRTUyRjk0MDA1MDAwMDJCMDAwMDAwMkIwMTAwQzkwN0ZDNworOjEwMDJCMDAwQjRFMDIwRTEwMzAyMDFFNzgwRjQ5MDdGQjQwMDAyQzBDMworOjEwMDJDMDAwMDAwMDAyQzAxMEUwMjBFMjAzMDIwMUU3ODBGNDkwN0YwQQorOjEwMDJEMDAwRThFMDY0NDA2MDAwMDJEMDAwMDAwMkQwMTAwMzAyMDM5NgorOjEwMDJFMDAwN0NFNTJDNDUyQjcwMDMwMjAzN0NFNDkwN0YwMDAyRTA0OAorOjEwMDJGMDAwMDAwMDAyRTAxMEM1RjA5MDdGOTJFMEZGQzQ1NDBGNzUzQgorOjEwMDMwMDAwMkYwMEY1MzBEMzAwMDJGMDAwMDAwMkYwMTA5NDAwRTU1OQorOjEwMDMxMDAwMkY5NDAwNTAwOTkwN0ZDNEUwMzBFMTA5ODAwMDAzMDA3MQorOjEwMDMyMDAwMDAwMDAzMDAxMEY3OTA3RkI0RTAyMEUzRjk5MDdGQzU1MAorOjEwMDMzMDAwRTA3NTJEMDBGNTAwMDMxMDAwMDAwMzEwMTAyRTkwN0ZEMworOjEwMDM0MDAwRTlFMDY0QTM3MDM4OTAyMDZCRjBGNTMxRjUwMDAzMjBFQworOjEwMDM1MDAwMDAwMDAzMjAxMDMyQzNFNTMyOTUyRUU1MzE5NTJENTA3MworOjEwMDM2MDAwMzQ3NEMwMjUzMjAwMDMzMDAwMDAwMzMwMTBGNTgyRTRGRAorOjEwMDM3MDAwMzQ3RUY1ODNFMEZGRTUyQTI1MzJGNTgyRTUwMDAzNDA2RgorOjEwMDM4MDAwMDAwMDAzNDAxMDMxMzUyOUY1ODNFRkYwMDUzMkU1MzJFNgorOjEwMDM5MDAwNzAwMjA1MzE4MDAwMDM1MDAwMDAwMzUwMTBEMEFGMkFENgorOjEwMDNBMDAwQUUyOUFEMkU3QTdFNzlDMDdCQzAxMjBDODAwMDAzNjAyRQorOjEwMDNCMDAwMDAwMDAzNjAxMEU1MkUyNTJBRjUyQUU1MkQzNTI5RjVFNAorOjEwMDNDMDAwMjlDM0U1MkM5NTAwMDM3MDAwMDAwMzcwMEQyRUY1MkM1OQorOjEwMDNEMDAwRTUyQjk1MkRGNTJCMDIwMkQ0QzMwMDAwMDAwMDAzN0QxMAorOjEwMDNFMDAwMDEyMjAwMDAwMDAwMDM3RTEwOTA3RkU5RTA3MDAzMDIwQworOjEwMDNGMDAwMDQ1NjE0NzAwMzAyMDREMjI0MDAwMzhFMDAwMDAzOEVGRQorOjEwMDQwMDAwMTBGRTcwMDMwMjA1NDYyNEZCNzAwMzAyMDQ1MDE0NzBCMgorOjEwMDQxMDAwMDMwMDAzOUUwMDAwMDM5RTEwMDIwNDRBMTQ3MDAzMDJBRQorOjEwMDQyMDAwMDQzRTE0NzAwMzAyMDQ0NDI0MDAwM0FFMDAwMDAzQUUzMworOjEwMDQzMDAwMTAwNTYwMDMwMjA1OUExMjBFN0I0MDAzMDIwNUFCOTA4MworOjEwMDQ0MDAwN0YwMDAzQkUwMDAwMDNCRTEwRUJFMDI0RkU2MDE2MTQyNAorOjEwMDQ1MDAwNjA0MDI0MDI3MDY5NzQxMTkwMDAwM0NFMDAwMDAzQ0U0NgorOjEwMDQ2MDAwMTA3RkQ0RjA3NDAwOTA3RkQ1RjAwMjA1QUI5MDdGRUE0NgorOjEwMDQ3MDAwRTAwMDAzREUwMDAwMDNERTEwRkYxMjBCNTg4QjI2OEExQgorOjEwMDQ4MDAwMjc4OTI4RUE0OTYwMTFBRTAyMDAwM0VFMDAwMDAzRUU1RQorOjEwMDQ5MDAwMTBFRTkwN0ZENEYwQUYwMUVGOTA3RkQ1RjAwMjA1QUI2NgorOjEwMDRBMDAwOTAwMDAzRkUwMDAwMDNGRTEwN0ZCNEUwNDQwMUYwMDI2MAorOjEwMDRCMDAwMDVBQjkwN0ZFQUUwRkYxMjBDMDAwNDBFMDAwMDA0MEU3MgorOjEwMDRDMDAwMTAzRjhCMjY4QTI3ODkyOEVBNDk2MDExQUUwMkVFOTBGOAorOjEwMDREMDAwN0YwMDA0MUUwMDAwMDQxRTEwRDRGMEFGMDFFRjkwN0ZENworOjEwMDRFMDAwRDVGMDAyMDVBQjkwN0ZCNEUwMDAwNDJFMDAwMDA0MkU4RQorOjEwMDRGMDAwMTA0NDAxRjAwMjA1QUI5MDdGQjRFMDQ0MDFGMDAyMDUyNgorOjEwMDUwMDAwQUIwMDA0M0UwMDAwMDQzRTEwMTIwRTUyMDIwNUFCMTI3NgorOjEwMDUxMDAwMEU2MDAyMDVBQjEyMEFGNzAyMDAwNDRFMDAwMDA0NEUwMgorOjEwMDUyMDAwMTAwNUFCMTIwOEYxMDIwNUFCMTIwRTdENDAwMzAyMDU2NworOjEwMDUzMDAwQUIwMDA0NUUwMDAwMDQ1RTEwOTA3RkU4RTAyNDdGNjA2MgorOjEwMDU0MDAwMjQxNDYwMzEyNDAyNzA1QkEyMDAwNDZFMDAwMDA0NkU2QgorOjEwMDU1MDAwMTAwMEU0MzNGRjI1RTBGRkEyMDJFNDMzNEY5MDdGMDA1OAorOjEwMDU2MDAwRjAwMDA0N0UwMDAwMDQ3RTEwRTRBM0YwOTA3RkI1NzREOAorOjEwMDU3MDAwMDJGMDAyMDVBQkU0OTA3RjAwMDAwNDhFMDAwMDA0OEVDMAorOjEwMDU4MDAwMTBGMEEzRjA5MDdGQjU3NDAyRjAwMjA1QUI5MDdGRUMwMQorOjEwMDU5MDAwRTAwMDA0OUUwMDAwMDQ5RTEwRjQ1NDgwRkZDNDU0MEYzOQorOjEwMDVBMDAwRkZFMDU0MDcyRjI1RTAyNEI0MDAwNEFFMDAwMDA0QUVBMQorOjEwMDVCMDAwMTBGNTgyRTQzNDdGRjU4M0UwNTRGRDkwN0YwMEYwRTQ5MQorOjEwMDVDMDAwQTMwMDA0QkUwMDAwMDRCRTEwRjA5MDdGQjU3NDAyRjBEQQorOjEwMDVEMDAwMDIwNUFCOTA3RkI0RTA0NDAxMDAwNENFMDAwMDA0Q0VERAorOjEwMDVFMDAwMTBGMDAyMDVBQjEyMEU3RjQwMDMwMjA1QUI5MDdGRThDRQorOjEwMDVGMDAwRTAwMDA0REUwMDAwMDRERTEwMjRGRTYwMUQyNDAyNjAyMgorOjEwMDYwMDAwMDMwMjA1QUI5MDdGRUFFMEI0MDAwNEVFMDAwMDA0RUVDNAorOjEwMDYxMDAwMTAwMTA1QzIwMDAyMDVBQjkwN0ZCNEUwNDQwMUYwMDI3NgorOjEwMDYyMDAwMDUwMDA0RkUwMDAwMDRGRTEwQUI5MDdGRUFFMDcwMzg4NQorOjEwMDYzMDAwOTA3RkVDRTBGNDU0ODBGRkM0MDAwNTBFMDAwMDA1MEUyRQorOjEwMDY0MDAwMTA1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ2MgorOjEwMDY1MDAwN0YwMDA1MUUwMDAwMDUxRTEwRjU4M0U0RjA5MDdGRUM3RQorOjEwMDY2MDAwRTA1NDgwRkYxMzEzMTM1NDFGMDAwNTJFMDAwMDA1MkVDNQorOjEwMDY3MDAwMTBGRkUwNTQwNzJGOTA3RkQ3RjBFMDQ0MjBGMDgwNkUwOQorOjEwMDY4MDAwOTAwMDA1M0UwMDAwMDUzRTEwN0ZCNEUwNDQwMUYwODA3QworOjEwMDY5MDAwNjUxMjBFODE1MDYwOTA3RkU4MDAwNTRFMDAwMDA1NEUwNworOjEwMDZBMDAwMTBFMDI0RkU2MDE4MjQwMjcwNTQ5MDdGRUFFMEI0MDE0OAorOjEwMDZCMDAwMDQwMDA1NUUwMDAwMDU1RTEwRDIwMDgwNDk5MDdGQjQwMgorOjEwMDZDMDAwRTA0NDAxRjA4MDQwOTA3RkVBMDAwNTZFMDAwMDA1NkU3NgorOjEwMDZEMDAwMTBFMDcwMjA5MDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRkZEMgorOjEwMDZFMDAwRTAwMDA1N0UwMDAwMDU3RTEwNTQwNzJGMjVFMDI0QjRBRAorOjEwMDZGMDAwRjU4MkU0MzQ3RkY1ODM3NDAxMDAwNThFMDAwMDA1OEVEOQorOjEwMDcwMDAwMTBGMDgwMUE5MDdGQjRFMDQ0MDFGMDgwMTFFNDkwMjA1MgorOjEwMDcxMDAwNkEwMDA1OUUwMDAwMDU5RTEwRjAxMjAxMDA1MDA3OTAyRgorOjEwMDcyMDAwN0ZCNEUwNDQwMUYwOTA3RkI0MDAwNUFFMDAwMDA1QUU1OAorOjEwMDczMDAwMDRFMDQ0MDJGMDAwMDAwMDAwMDAwNUIyMDEyMjAwMDBDNQorOjEwMDc0MDAwMDAwMDA1QjMxMEMwRTBDMDgzQzA4MkMwODVDMDg0QzA3MworOjEwMDc1MDAwODY3NTg2MDBDMDAwMDVDMzAwMDAwNUMzMTBEMEMwMDAyOAorOjEwMDc2MDAwQzAwMUMwMDJDMDAzQzAwNkMwMDc5MDdGQTUwMDA1RDMyQQorOjEwMDc3MDAwMDAwMDA1RDMxMEUwMzBFMjA2NzUwRDA2MDIwNjdGOTBGQQorOjEwMDc4MDAwN0ZBNUUwMjBFMTAwMDVFMzAwMDAwNUUzMTAwQ0U1MEQ4NgorOjEwMDc5MDAwNjQwMjYwMDY3NTBEMDcwMjA2N0ZBRjBERUYwMDA1RjNEQQorOjEwMDdBMDAwMDAwMDA1RjMxMDI0RkU2MDQ4MTQ2MDJDMjRGRTYwNzdERQorOjEwMDdCMDAwMjQwNDYwMDMwMjAwMDYwMzAwMDAwNjAzMTAwNjdGQUI1QQorOjEwMDdDMDAwMDlBQTBBQTkwQkFGMEMwNTBDOEY4Mjc1ODMwMDA2MTNDQQorOjEwMDdEMDAwMDAwMDA2MTMxMDAwMTIwNzg1OTA3RkE2RjBFNTBDNjU1NworOjEwMDdFMDAwMDg3MDVFNzUwRDAwMDYyMzAwMDAwNjIzMTAwNTgwNTk3MQorOjEwMDdGMDAwOTA3RkE2RTBBQjA5QUEwQUE5MEJBRTBDOEUwMDA2MzNDNworOjEwMDgwMDAwMDAwMDA2MzMxMDgyNzU4MzAwMTIwN0IyNzUwRDAyODA1NgorOjEwMDgxMDAwNDBFNTA4MjRGRTAwMDY0MzAwMDAwNjQzMTBCNTBDMDcxRgorOjEwMDgyMDAwOTA3RkE1RTA0NDIwRjBFNTA4MTRCNTBDMEEwMDA2NTNCQgorOjEwMDgzMDAwMDAwMDA2NTMxMDkwN0ZBNUUwNDQ0MEYwRTRGNTBEOTBEMQorOjEwMDg0MDAwN0ZBNkUwQUIwOTAwMDY2MzAwMDAwNjYzMTBBQTBBQTlCMAorOjEwMDg1MDAwMEJBRTBDOEU4Mjc1ODMwMDEyMDdCMjA1MEMwMDA2NzM3NgorOjEwMDg2MDAwMDAwMDA2NzMxMDgwMEE5MDdGQTVFMDQ0NDBGMEU0RjU5NAorOjEwMDg3MDAwMEQ1MzkxREZEMDAwMDY4MzAwMDAwNjgzMTAwN0QwMDZEOQorOjEwMDg4MDAwRDAwM0QwMDJEMDAxRDAwMEQwRDBEMDg2RDAwMDA2OTNDMworOjEwMDg5MDAwMDAwMDA2OTMwQTg0RDA4NUQwODJEMDgzRDBFMDMyMDA1NQorOjEwMDhBMDAwMDAwMDA2OUQxMEMyMDREMjA1RTRGNTI1QzIwM0MyMDA3MworOjEwMDhCMDAwQzIwMkMyMDExMjAwMDZBRDAwMDAwNkFEMTAwRTc0RDJENQorOjEwMDhDMDAwRTg0M0Q4MjA5MDdGQUI3NEZGRjA5MDdGQTkwMDA2QkQ2RAorOjEwMDhEMDAwMDAwMDA2QkQxMEYwOTA3RkFBRjA1MzkxRUY5MDdGOTUzNQorOjEwMDhFMDAwRTA0NEMwRjA5MDAwMDZDRDAwMDAwNkNEMTA3RjkzNzQ2OAorOjEwMDhGMDAwMzBGMDEyMEExOTc1MjQ0ODc1MjM5Mjc1MjIwMDA2REQxRQorOjEwMDkwMDAwMDAwMDA2REQxMDAwNzUyMTAwRTRGRkZFN0UwNTkwMjA0QQorOjEwMDkxMDAwNjg3NDAxRjBBMzAwMDZFRDAwMDAwNkVEMTBERUZDN0UxOQorOjEwMDkyMDAwMDA3RjA1OTA3RkFGRTA0NDAxRjA5MDdGQUUwMDA2RkRCMAorOjEwMDkzMDAwMDAwMDA2RkQxMEUwNDQwREYwRDJBRjEyMEU2ODMwMDE0OQorOjEwMDk0MDAwMEFFNDkwMjA2OTAwMDcwRDAwMDAwNzBEMTBGMDEyMDM2MworOjEwMDk1MDAwN0VDMjAxMzAwNDFBMTIwRTc3NTAxMzEyMDkwMDA3MURDRgorOjEwMDk2MDAwMDAwMDA3MUQxMDAwMzAwMDA3OTA3RkQ2RTAzMEU3RjM0RAorOjEwMDk3MDAwMTIwRDhCMTIwRTAwMDcyRDAwMDAwNzJEMTA3OUMyMDNGNworOjEwMDk4MDAwN0ZGRjdFRkY3REZGN0NGRjc4MjExMjA4MUQwMDA3M0Q2MQorOjEwMDk5MDAwMDAwMDA3M0QxMDdCMDA3QTAwNzkwMDc4MDBDMzEyMDg0MAorOjEwMDlBMDAwMEM3MDFCNzUyNDAwMDc0RDAwMDAwNzREMTA0ODc1MjM3RgorOjEwMDlCMDAwOTJGNTIyRjUyMTYzMjVGRjkwMjA2OEU1MjUwMDA3NUQ2QgorOjEwMDlDMDAwMDAwMDA3NUQwRUYwQTM3NDAxRjBBM0YwQTNGMDEyMDg3RAorOjEwMDlEMDAwRkY4MDlCMDAwMDAwMDc2QjAxMjIwMDAwMDAwMDA3NkNGNQorOjEwMDlFMDAwMTBCQjAxMDY4OTgyOEE4M0UwMjI1MDAyRTcyMkJCRkUwNworOjEwMDlGMDAwMDIwMDA3N0MwMDAwMDc3QzA5RTMyMjg5ODI4QTgzRTRFNQorOjEwMEEwMDAwOTMyMjAwMDAwMDAwMDc4NTEwQkIwMTBDRTU4MjI5RjU0OAorOjEwMEExMDAwODJFNTgzM0FGNTgzRTAyMjUwMDAwNzk1MDAwMDA3OTVCMAorOjEwMEEyMDAwMTAwNkU5MjU4MkY4RTYyMkJCRkUwNkU5MjU4MkY4RTJGNworOjEwMEEzMDAwMjIwMDA3QTUwMDAwMDdBNTBERTU4MjI5RjU4MkU1ODNDMAorOjEwMEE0MDAwM0FGNTgzRTQ5MzIyMDAwMDAwMDAwN0IyMTBGOEJCMDFERQorOjEwMEE1MDAwMERFNTgyMjlGNTgyRTU4MzNBRjU4M0U4RjAwMDA3QzJDNworOjEwMEE2MDAwMDAwMDA3QzIxMDIyNTAwNkU5MjU4MkM4RjYyMkJCRkUwQworOjEwMEE3MDAwMDVFOTI1ODJDODAwMDdEMjAwMDAwN0QyMDJGMjIyMDA1MQorOjEwMEE4MDAwMDAwMDA3RDQxMEJCMDExMEU1ODIyOUY1ODJFNTgzM0EwNgorOjEwMEE5MDAwRjU4M0UwRjVGMDAwMDdFNDAwMDAwN0U0MTBBM0UwMjI4RQorOjEwMEFBMDAwNTAwOUU5MjU4MkY4ODZGMDA4RTYyMkJCRkUwMDA3RjQyQgorOjEwMEFCMDAwMDAwMDA3RjQxMDBBRTkyNTgyRjhFMkY1RjAwOEUyMjJDNgorOjEwMEFDMDAwRTU4MzJBRjU4MzAwMDgwNDAwMDAwODA0MDhFOTkzRjU4QgorOjEwMEFEMDAwRjBBM0U5OTMyMjAwMDAwMDAwMDAwODBDMTBFQjlGRjU0MgorOjEwMEFFMDAwRjBFQTlFNDJGMEU5OUQ0MkYwRTg5QzQ1RjAwMDA4MUNDNworOjEwMEFGMDAwMDAwMDA4MUMwMTIyMDAwMDAwMDAwODFEMTAwODA4MDg2MgorOjEwMEIwMDAwRTYyRkZGRjYxOEU2M0VGRUY2MThFNjNERkQwMDA4MkQzRQorOjEwMEIxMDAwMDAwMDA4MkQwN0Y2MThFNjNDRkNGNjIyMDAwMDA4MzQxOQorOjEwMEIyMDAwMDQ4QzM0OEQzNTAwMDAwMDAwMDAwODM4MTA5MDdGOTU0QgorOjEwMEIzMDAwRTA0NEMwRjBFNEY1MzZGNTM3QzNFNTM3OTUwMDA4NDhFMgorOjEwMEI0MDAwMDAwMDA4NDgxMDM1RTUzNjk1MzQ1MDY5RUYyNTM3RjUzMworOjEwMEI1MDAwODJFNTM2M0VGNTAwMDg1ODAwMDAwODU4MTA4Mzc0RkZGRgorOjEwMEI2MDAwRjBGNDYwMDJDMzIyRUYyNTM3RjU4MkU1MzYwMDA4NjgwRAorOjEwMEI3MDAwMDAwMDA4NjgxMDNFRjU4M0U0RjA2MDAyQzMyMkVGMjUxMAorOjEwMEI4MDAwMzdGNTgyRTUzNjAwMDg3ODAwMDAwODc4MTAzRUY1ODNENgorOjEwMEI5MDAwNzRBQUYwNjRBQTYwMDJDMzIyRUYyNTM3RjUwMDA4ODgyMgorOjEwMEJBMDAwMDAwMDA4ODgxMDgyRTUzNjNFRjU4Mzc0NTVGMDY0NTVFMAorOjEwMEJCMDAwNjAwMkMzMjJBRDAwMDg5ODAwMDAwODk4MTAzN0U1Mzc5RQorOjEwMEJDMDAwMkZGNTgyRTUzNjNFRjU4M0VERjBGQ0FDMDUwMDA4QTg3NAorOjEwMEJEMDAwMDAwMDA4QTgxMEVENkM2MDAyQzMyMjA1MzdFNTM3NzBFRAorOjEwMEJFMDAwMDIwNTM2ODA4QzAwMDhCODAwMDAwOEI4MTBFNEY1MzYxRAorOjEwMEJGMDAwRjUzN0MzRTUzNzk1MzVFNTM2OTUzNDUwMjcwMDA4QzhGNQorOjEwMEMwMDAwMDAwMDA4QzgxMEVGMjUzN0Y1ODJFNTM2M0VGNTgzRTA5MQorOjEwMEMxMDAwNjUzNzYwMDJDMzAwMDhEODAwMDAwOEQ4MTAyMkVGMjUwRAorOjEwMEMyMDAwMzdGNTgyRTUzNjNFRjU4M0U0RjAwNTM3RTUwMDA4RTg2MAorOjEwMEMzMDAwMDAwMDA4RTgwODM3NzAwMjA1MzY4MENFRDMwMDAwMDBCNworOjEwMEM0MDAwMDAwMDA4RjAwMTIyMDAwMDAwMDAwOEYxMEU5MDdGMDA3MworOjEwMEM1MDAwRTUxMEYwOTA3RkI1NzQwMUYwRDMyMjAwMDAwMDA4RkY4QQorOjEwMEM2MDAwMDEyMjAwMDAwMDAwMDkwMDA5OTA3RkQ2RTA0NDgwRjBENgorOjEwMEM3MDAwODA3NDAwMDAwMDAwMDk3RDEwNDM4NzAxMDAwMDAwMDAxRgorOjEwMEM4MDAwMDAwMDAwMDAwMDAwMDAwMDIyMDAwOThEMDAwMDA5OEQxNgorOjEwMEM5MDAwMEM3ODdGRTRGNkQ4RkQ3NTgxM0EwMjA5RDQwMDAwMDA5MworOjEwMENBMDAwMDAwMDA5OTkxMDAyMDY5REU0OTNBM0Y4RTQ5M0EzNDA4MQorOjEwMENCMDAwMDNGNjgwMDFGMjAwMDlBOTAwMDAwOUE5MTAwOERGRjQ3OQorOjEwMENDMDAwODAyOUU0OTNBM0Y4NTQwNzI0MENDOEMzMzMwMDA5Qjk1RQorOjEwMENEMDAwMDAwMDA5QjkxMEM0NTQwRjQ0MjBDODgzNDAwNEY0NTZERQorOjEwMENFMDAwODAwMTQ2RjZERjAwMDlDOTAwMDAwOUM5MTBFNDgwMEI0NQorOjEwMENGMDAwMDEwMjA0MDgxMDIwNDA4MDkwMEUyREU0N0UwMDA5RDlFNgorOjEwMEQwMDAwMDAwMDA5RDkxMDAxOTM2MEJDQTNGRjU0M0YzMEU1MDlFRQorOjEwMEQxMDAwNTQxRkZFRTQ5MzAwMDlFOTAwMDAwOUU5MTBBMzYwMDFGMworOjEwMEQyMDAwMEVDRjU0QzAyNUUwNjBBODQwQjhFNDkzQTMwMDA5RjlCMQorOjEwMEQzMDAwMDAwMDA5RjkxMEZBRTQ5M0EzRjhFNDkzQTNDOEM1ODI2QworOjEwMEQ0MDAwQzhDQUM1ODNDQTAwMEEwOTAwMDAwQTA5MTBGMEEzQzg2RQorOjEwMEQ1MDAwQzU4MkM4Q0FDNTgzQ0FERkU5REVFNzgwQkUwMDBBMTlCQQorOjEwMEQ2MDAwMDAwMDBBMTkxMEU0OTA3RjlDRjA3RjBBRkUxMjBERDU1NgorOjEwMEQ3MDAwOTA3Rjk2NzQ4OTAwMEEyOTAwMDAwQTI5MTBGMDkwN0Y1QworOjEwMEQ4MDAwOUM3NENGRjA3RkY0N0UwMTEyMERENTkwN0YwMDBBMzk1QworOjEwMEQ5MDAwMDAwMDBBMzkxMDk2RTA1NEZFRjA3RjBBN0UwMDEyMEQyMgorOjEwMERBMDAwRDU3RjA1N0UwMDAwMEE0OTAwMDAwQTQ5MTAxMjBERDVDMgorOjEwMERCMDAwOTA3Rjk2RTA0NDAyRjBFMDU0N0ZGMDdGMDUwMDBBNTlFRQorOjEwMERDMDAwMDAwMDBBNTkxMDdFMDAxMjBERDU5MDdGOTZFMDQ0NDAzNQorOjEwMEREMDAwRjA3RjA1N0UwMDAwMEE2OTAwMDAwQTY5MTAxMjBERDUzNworOjEwMERFMDAwOTA3Rjk2RTA1NEJGRjA3RjMyN0UwMDEyMEQwMDBBNzlBQQorOjEwMERGMDAwMDAwMDBBNzkxMEQ1OTA3Rjk2RTA0NDQwRjA3RjMyN0U2MworOjEwMEUwMDAwMDAxMjBERDUyMjAwMEE4OTAwMDAwQTg5MTA3NTMzMDFFRAorOjEwMEUxMDAwRTUzMzYwMUI3RjAxMTIwRTE4N0YwMDdFMEUwMDBBOTlEOQorOjEwMEUyMDAwMDAwMDBBOTkxMDdEMDA3QzAxMTIwODM0RTQzM0Y1MzM4OAorOjEwMEUzMDAwNzAwNTdGMEYxMjAwMEFBOTAwMDAwQUE5MTAwRTE4RTUxQworOjEwMEU0MDAwMzM2MDFCN0YwMjEyMEUxODdGMDA3RTgwN0QwMDBBQjk3RQorOjEwMEU1MDAwMDAwMDBBQjkxMDAwN0M4MDEyMDgzNEU0MzNGNTMzNzBDNgorOjEwMEU2MDAwMDU3RjBGMTIwRTAwMEFDOTAwMDAwQUM5MTAxOEU1MzNFOQorOjEwMEU3MDAwNjAxQjdGMDMxMjBFMTg3RjAwN0UyMDdENDAwMDBBRDk4MAorOjEwMEU4MDAwMDAwMDBBRDkxMDdDNUIxMjA4MzRFNDMzRjUzMzcwMDU5NgorOjEwMEU5MDAwN0YwRjEyMEUxODAwMEFFOTAwMDAwQUU5MERFNTMzNjAyMQorOjEwMEVBMDAwMDVFNEZGMTIwRTE4RTUzMzI0RkYwMDAwMDAwMDBBRjZFNworOjEwMEVCMDAwMDEyMjAwMDAwMDAwMEFGNzA4OTA3RkVBRTBGNTEwRDM1NQorOjEwMEVDMDAwMjIwMDAwMDAwMDAwMEFGRjAxMzIwMDAwMDAwMDBCMDBCOQorOjEwMEVEMDAwMTAwMjBEQTUwMDAyMERFQzAwMDIwRDcwMDAwMjBEQkQwOAorOjEwMEVFMDAwMDAwMDBCMTAwMDAwMEIxMDEwMDIwRTAyMDAwMjBBRkY5RgorOjEwMEVGMDAwMDAwMjBFODMwMDAyMEU4NDAwMDAwQjIwMDAwMDBCMjA3NQorOjEwMEYwMDAwMTAwMjBFODUwMDAyMEU4NjAwMDIwRTg3MDAwMjBFODg3NworOjEwMEYxMDAwMDAwMDBCMzAwMDAwMEIzMDEwMDIwRTg5MDAwMjBFOEExOAorOjEwMEYyMDAwMDAwMjBFOEIwMDAyMEU4QzAwMDAwQjQwMDAwMDBCNDBGNAorOjEwMEYzMDAwMTAwMjBFOEQwMDAyMEU4RTAwMDIwRThGMDAwMjBFOTAyNworOjEwMEY0MDAwMDAwMDBCNTAwMDAwMEI1MDA4MDIwRTkxMDAwMjBFOTJBMAorOjEwMEY1MDAwMDAwMDAwMDAwMDAwMEI1ODEwRTRGRTc1MkJGRjc1MkNGQworOjEwMEY2MDAwMTE3NTJEMTJBQjJCQUEyQ0E5MDAwQjY4MDAwMDBCNjg4MQorOjEwMEY3MDAwMTAyRDkwMDAwMTEyMDc4NTY0MDI3MDJEQUQwNjBFRUQ1NAorOjEwMEY4MDAwQjUwMDBCNzgwMDAwMEI3ODEwMDcwMTIyOTAwMDAyMTJDOAorOjEwMEY5MDAwMDdENDg1RjAyOUY1MkE2MjI5MDAwQjg4MDAwMDBCODgwOAorOjEwMEZBMDAwMTBFNTI5NjIyQUU1MkE2MjI5MjlGREU1MjkzQUE5MDVFMQorOjEwMEZCMDAwNzUwMDBCOTgwMDAwMEI5ODBFMkJGRkY1MkM4OTJEODBFNworOjEwMEZDMDAwQzM3QjAwN0EwMDc5MDAwMDAwMDAwQkE2MDEyMjAwMDAxQworOjEwMEZEMDAwMDAwMDBCQTcwNkFCMDdBQTA2QUMwNTAwMDAwMDBCQUQ4RQorOjEwMEZFMDAwMTBFNEZERTUxMTYwMTFFQUZGQUUwNTBERUUyNDEwRjVFOQorOjEwMEZGMDAwODIwMDBCQkQwMDAwMEJCRDEwRTQzNDBGRjU4M0VGRjA1MQorOjEwMTAwMDAwRUJBRTA1MEQ3NDEwMkVGNTgyMDAwQkNEMDAwMDBCQ0Q1QworOjEwMTAxMDAwMTBFNDM0MEZGNTgzRUJGMEFGMDUwRDc0MTAyRkY1ODI1QgorOjEwMTAyMDAwRTQwMDBCREQwMDAwMEJERDEwMzQwRkY1ODNFQ0YwQUZCNgorOjEwMTAzMDAwMEY3QTBGN0IxMDEyMEQ1MTdGMDAwQkVEMDAwMDBCRURBRQorOjEwMTA0MDAwMDYwQTdFMDAxMjBERDUwMDAwMDAwQkYzMDEyMjAwMDBGRAorOjEwMTA1MDAwMDAwMDBCRjQwQThFMzM4RjM0OEQzNThBMzY4QjM3MDBCRgorOjEwMTA2MDAwMDAwMDBCRkUxMEU0RkRGNTM4RTUxMTYwMTJFNTMzRkZEQQorOjEwMTA3MDAwQUUwNTBERUUyNDAwMEMwRTAwMDAwQzBFMTAxM0Y1ODJEMAorOjEwMTA4MDAwRTQzNDBGRjU4M0VGRjBFNTM0QUUwNTBENzQwMDBDMUU2QgorOjEwMTA5MDAwMDAwMDBDMUUxMDEzMkVGNTgyRTQzNDBGRjU4M0U1MzRBNgorOjEwMTBBMDAwRjBBRjBGN0EwRjAwMEMyRTAwMDAwQzJFMTA3QjEzMTJFNQorOjEwMTBCMDAwMEQ1MUFGMEZBRDM1QUIzN0FBMzYxMjBEMzIwMDBDM0VENQorOjEwMTBDMDAwMDAwMDBDM0UwMTIyMDAwMDAwMDAwQzNGMDI4RjI5MDBBRQorOjEwMTBEMDAwMDAwMDBDNDExMEU0RjUyQTc1MkJGRjc1MkMxMTc1MkRCRAorOjEwMTBFMDAwMzJBQjJCQUEyQzAwMEM1MTAwMDAwQzUxMTBBOTJEOTBGMgorOjEwMTBGMDAwMDAwMTEyMDc4NUI0MDMxREFGMkEwNTJBRUYwMDBDNjExOQorOjEwMTEwMDAwMDAwMDBDNjExMEI1MjkwMTIyMTIwNzZDN0UwMDI5RkYzNgorOjEwMTExMDAwRUUzQUE5MDc3NTAwMEM3MTAwMDAwQzcxMEUyQkZGRjU1QgorOjEwMTEyMDAwMkM4OTJEODBENDdCMDA3QTAwNzkwMDAwMDAwMDBDN0Y5MAorOjEwMTEzMDAwMDEyMjAwMDAwMDAwMEM4MDBBOEUzMzhGMzQ4RDM1OEEyNgorOjEwMTE0MDAwMzY4QjM3MDAwMDAwMEM4QTEwRTRGNTM4RTUzOEMzOTU3QgorOjEwMTE1MDAwMzU1MDIwMDUzNEU1MzRBRTMzMDAwQzlBMDAwMDBDOUE2QgorOjEwMTE2MDAwMTA3MDAyMDUzMzE0RkZFNTM3MjUzOEY1ODJFNDM1MzY3MworOjEwMTE3MDAwRjUwMDBDQUEwMDAwMENBQTBBODNFMEZEMTIwQkE3MDVEQgorOjEwMTE4MDAwMzg4MEQ5MDAwMDAwMENCNDAxMjIwMDAwMDAwMDBDQjUyQQorOjEwMTE5MDAwMTBBOTA3RTUwRDcwMjU5MDdGQTVFMDQ0ODBGMEU5MjVCMgorOjEwMTFBMDAwRTAwMDBDQzUwMDAwMENDNTEwNDQwMTkwN0ZBNkYwOEQzNgorOjEwMTFCMDAwMDhBRjAzQTkwNzc1MDkwMThBMDAwQ0Q1MDAwMDBDRDVGQQorOjEwMTFDMDAwMEQwQTg5MEJFNEY1MEM3NTBEMDNEMzIyQzMyMjAwMDAzMAorOjEwMTFEMDAwMDAwMDBDRTIxMEE5MDdFNTBENzAyMzkwN0ZBNUUwNDQwNAorOjEwMTFFMDAwODBGMEU5MjVFMDAwMENGMjAwMDAwQ0YyMTA5MDdGQTZFMAorOjEwMTFGMDAwRjA4RDA4QUYwM0E5MDc3NTA5MDE4QTBBODkwMDBEMDI1RAorOjEwMTIwMDAwMDAwMDBEMDIwQjBCRTRGNTBDNzUwRDAxRDMyMkMzMjI3NworOjEwMTIxMDAwMDAwMDBEMEQxMDkwN0ZENkUwNTRGQkYwRTA0NDA4RjA4NAorOjEwMTIyMDAwMzAwNjA0RTA0NDAwMEQxRDAwMDAwRDFEMTAwMkYwN0Y4QgorOjEwMTIzMDAwRDA3RTA3MTIwREQ1OTA3RkQ2RTA1NEY3RjAwMDBEMkQyQgorOjEwMTI0MDAwMDAwMDBEMkQwNUUwNDQwNEYwMjIwMDAwMDAwMDBEMzJFNgorOjEwMTI1MDAwMTAxMjBDQjVFNTBEMjRGQTYwMTAxNDYwMDcyNDA3NzAxNQorOjEwMTI2MDAwRjMwMDBENDIwMDAwMEQ0MjBGN0YwODIyRTRGNTBEN0ZEMAorOjEwMTI3MDAwMDcyMkU0RjUwRDdGMDYyMjAwMDAwRDUxMTAxMjBDRTI0QQorOjEwMTI4MDAwRTUwRDI0RkE2MDEwMTQ2MDA3MjQwNzcwRjMwMDBENjE2NworOjEwMTI5MDAwMDAwMDBENjEwRjdGMDgyMkU0RjUwRDdGMDcyMkU0RjVDMQorOjEwMTJBMDAwMEQ3RjA2MjIwMDAwMEQ3MDEwQzBFMEMwODNDMDgyOTA0OAorOjEwMTJCMDAwN0ZDNEU0RjA1MzkxRUY5MDdGMDAwRDgwMDAwMDBEODAxQgorOjEwMTJDMDAwMEJBQjc0MDRGMEQwODJEMDgzRDBFMDMyMDAwMDBEOEJFMQorOjEwMTJEMDAwMTA5MDdGRDZFMDMwRTcxMkUwNDQwMUYwN0YxNDdFMDBFQQorOjEwMTJFMDAwMTIwMDBEOUIwMDAwMEQ5QjBBMERENTkwN0ZENkUwNTQ5NworOjEwMTJGMDAwRkVGMDIyMDAwMDAwMERBNTEwQzBFMEMwODNDMDgyRDIyNQorOjEwMTMwMDAwMDE1MzkxRUY5MDdGQUI3NDAxMDAwREI1MDAwMDBEQjU1NgorOjEwMTMxMDAwMDhGMEQwODJEMDgzRDBFMDMyMDAwMDAwMDAwMDBEQkQ4NAorOjEwMTMyMDAwMTBDMEUwQzA4M0MwODJEMjAzNTM5MUVGOTA3RkFCNzRCMgorOjEwMTMzMDAwMDgwMDBEQ0QwMDAwMERDRDA4RjBEMDgyRDA4M0QwRTBBNAorOjEwMTM0MDAwMzIwMDAwMDAwMDAwMERENTEwOEUzOThGM0FFNTNBMTVCNQorOjEwMTM1MDAwM0FBRTM5NzAwMjE1Mzk0RTYwMDAwREU1MDAwMDBERTUxQQorOjEwMTM2MDAwMDcwNTEyMEU0MTgwRUUyMjAwMDAwREVDMTBDMEUwQzAxNworOjEwMTM3MDAwODNDMDgyNTM5MUVGOTA3RkFCNzQwMkYwRDAwMDBERkNEQworOjEwMTM4MDAwMDAwMDBERkMwNjgyRDA4M0QwRTAzMjAwMDAwMDBFMDI4NworOjEwMTM5MDAwMTBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUI3NDEwRjAxNworOjEwMTNBMDAwRDAwMDBFMTIwMDAwMEUxMjA2ODJEMDgzRDBFMDMyMDA3MAorOjEwMTNCMDAwMDAwMDBFMTgxMEFFMDc3RjIxN0QwMTc0MDAyRUY1ODIwQgorOjEwMTNDMDAwRTQzNDBGQUI4MjAwMEUyODAwMDAwRTI4MDVGQTEyMEQzRgorOjEwMTNEMDAwNTEyMjAwMDAwMDAwMEUyRDEwNTAwRjAwQzBGOUE0QjBFMworOjEwMTNFMDAwOTk5MjgyRjg4MDk4ODg4M0M2MDAwRTNEMDAwMDBFM0REOQorOjEwMTNGMDAwMDNBMTg2OEUwMDAwMEU0MDAxMDAwMDAwMDAwMDBFNDE5NworOjEwMTQwMDAwMTA3NDAwRjU4NjkwRkRBNTdDMDVBM0U1ODI0NTgzNzBFOAorOjEwMTQxMDAwRjkwMDBFNTEwMDAwMEU1MTAxMjIwMDAwMDAwMDBFNTI5MgorOjEwMTQyMDAwMEU5MDdGMDBFNTBFRjA5MDdGQjU3NDAxRjBEMzIyMDA5RQorOjEwMTQzMDAwMDAwMDBFNjAwODkwN0ZFQUUwRjUwRUQzMjIwMDAwMDA2NQorOjEwMTQ0MDAwMDAwMDBFNjgwOEU0RjUwREQyRTlEMkFGMjIwMDAwMDBEQQorOjEwMTQ1MDAwMDAwMDBFNzAwNDUzRDhFRjMyMDAwMDAwMDAwMDBFNzQzQworOjEwMTQ2MDAwMDNEMjAwMjIwMDAwMEU3NzAyRDMyMjAwMDAwMDBFNzk4MgorOjEwMTQ3MDAwMDJEMzIyMDAwMDAwMEU3QjAyRDMyMjAwMDAwMDBFN0Q2QQorOjEwMTQ4MDAwMDJEMzIyMDAwMDAwMEU3RjAyRDMyMjAwMDAwMDBFODE1MgorOjEwMTQ5MDAwMDJEMzIyMDAwMDAwMEU4MzAxMzIwMDAwMDAwMDBFODRGRgorOjEwMTRBMDAwMDEzMjAwMDAwMDAwMEU4NTAxMzIwMDAwMDAwMDBFODZBRgorOjEwMTRCMDAwMDEzMjAwMDAwMDAwMEU4NzAxMzIwMDAwMDAwMDBFODg5QgorOjEwMTRDMDAwMDEzMjAwMDAwMDAwMEU4OTAxMzIwMDAwMDAwMDBFOEE4NworOjEwMTREMDAwMDEzMjAwMDAwMDAwMEU4QjAxMzIwMDAwMDAwMDBFOEM3MworOjEwMTRFMDAwMDEzMjAwMDAwMDAwMEU4RDAxMzIwMDAwMDAwMDBFOEU1RgorOjEwMTRGMDAwMDEzMjAwMDAwMDAwMEU4RjAxMzIwMDAwMDAwMDBFOTA0QgorOjEwMTUwMDAwMDEzMjAwMDAwMDAwMEU5MTAxMzIwMDAwMDAwMDBFOTIzNgorOjEwMTUxMDAwMDEzMjAwMDAwMDAwMTEwMDEwMTIwMTAwMDEwMDAwMDA2MworOjEwMTUyMDAwNDA0NzA1MTAyNzAxMDAwMTAyMDAxMTEwMDAwMDExMTBCMgorOjEwMTUzMDAwMTAwMDAxMDkwMjIwMDAwMTAxMDNBMDAwMDkwNDAwMDBCRAorOjEwMTU0MDAwMDIwMDExMjAwMDAwMTEyMDEwRkYwMDAwMDQwNzA1ODI5NgorOjEwMTU1MDAwMDI0MDAwMDAwNzA1MDIwMjQwMDAxMTMwMDAwMDExMzA3NworOjEwMTU2MDAwMTAwMDAwMDQwMzA5MDQyNjAzNDEwMDZFMDA2MzAwNjhCNAorOjEwMTU3MDAwMDAwMDExNDAwMDAwMTE0MDEwNkYwMDcyMDAyMDAwNDM3NQorOjEwMTU4MDAwMDA2ODAwNjkwMDcwMDA3MzAwMDAxMTUwMDAwMDExNTBFNQorOjEwMTU5MDAwMTAyQzAwMjAwMDQ5MDA2RTAwNjMwMDJFMDAyODAzNDYzNgorOjEwMTVBMDAwMDAwMDExNjAwMDAwMTE2MDEwNjkwMDcyMDA2RDAwNzc4QQorOjEwMTVCMDAwMDA2MTAwNzIwMDY1MDAyMDAwMDAxMTcwMDAwMDExNzBEMQorOjEwMTVDMDAwMTA0NjAwNzIwMDYxMDA2RDAwNjUwMDU3MDA2RjAwNzJFOAorOjEwMTVEMDAwMDAwMDExODAwMDAwMTE4MDEwNkIwMDczMDAyQTAzNDM4QgorOjEwMTVFMDAwMDA2RjAwNkUwMDY2MDA2OTAwMDAxMTkwMDAwMDExOTAwRAorOjEwMTVGMDAwMTA2NzAwNzUwMDcyMDA2MTAwNzQwMDY5MDA2RjAwNkU3MgorOjEwMTYwMDAwMDAwMDExQTAwMDAwMTFBMDEwMjAwMDUzMDA3NDAwNzIwRgorOjEwMTYxMDAwMDA2OTAwNkUwMDY3MDAyMjAzMDAxMUIwMDAwMDExQjBFNQorOjEwMTYyMDAwMTA0OTAwNkUwMDc0MDA2NTAwNzIwMDY2MDA2MTAwNjM3RQorOjEwMTYzMDAwMDAwMDExQzAwMDAwMTFDMDEwNjUwMDIwMDA1MzAwNzRBQworOjEwMTY0MDAwMDA3MjAwNjkwMDZFMDA2NzAwMDAxMUQwMDAwMDExRDAyOAorOjA5MTY1MDAwMDIwMDAwMDAwMDAwMDAwMDAwOEYKKzowMDAwMDAwMUZGCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiAgICAgIHdoaXRlaGVhdC5oICAtLSAgQ29ubmVjdFRlY2ggV2hpdGVIRUFUIEZpcm13YXJlLgorICoKKyAqICAgICAgQ29weXJpZ2h0IChDKSAyMDAwLTIwMDIgIENvbm5lY3RUZWNoIEluYyAoaHR0cDovL3d3dy5jb25uZWN0dGVjaC5jb20vKQorICoKKyAqICAgICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqICAgICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqICAgICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqICAgICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgICAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogICAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogICAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiAgICAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogICAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogICAgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogICAgICBGb3VuZGF0aW9uLCBJbmMuLCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEgMDIxMzksIFVTQS4KKyAqCisgKiAoMTAvMDkvMjAwMikgU3R1YXJ0IE1hY0RvbmFsZAorICoJRmlybXdhcmUgNC4wNgorICoKKyAqICgwNC8wOS8yMDAwKSBna2gKKyAqCVVwZGF0ZWQgdGhlIGZpcm13YXJlIHdpdGggdGhlIGxhdGVzdCBwcm92aWRlZCBieSBDb25uZWN0VGVjaC4KKyAqCisgKiAoMDEvMTYvMjAwMCkgZ2toCisgKglGaXhlZCBteSBpbnRlbCBoZXggcHJvY2Vzc2luZyB0b29sLCBzbyBub3cgdGhlIGZpcm13YXJlIGFjdHVhbGx5CisgKgltYXRjaGVzIHRoZSBvcmlnaW5hbCBmaWxlICh0aGlzIHdhcyBjYXVzaW5nIGEgZmV3IHByb2JsZW1zLi4uKQorICoKKyAqICgwMS8xNS8yMDAwKSBna2gKKyAqCUFkZGVkIGRlYnVnIGxvYWRlciBmaXJtd2FyZSBpZiBERUJVRyBpcyAjZGVmaW5lZDoKKyAqCQlQb3J0IDEgTEVEIGZsYXNoZXMgd2hlbiB0aGUgdmVuZF9heCBwcm9ncmFtIGlzIHJ1bm5pbmcKKyAqCQlQb3J0IDIgTEVEIGZsYXNoZXMgd2hlbiBhbnkgU0VUVVAgY29tbWFuZCBhcnJpdmVzCisgKgkJUG9ydCAzIExFRCBmbGFzaGVzIHdoZW4gYW55IHZhbGlkIFZFTkRPUiByZXF1ZXN0IG9jY3VycworICoJCVBvcnQgNCBMRUQgZmxhc2hlcyB3aGVuIHRoZSBFWFRFUk5BTCBSQU0gRE9XTkxPQUQgcmVxdWVzdCBvY2N1cnMKKyAqCisgKiB2ZXJzaW9uIDEuMCAoMDEvMDkvMjAwMCkgZ2toCisgKglPcmlnaW5hbCBmaXJtd2FyZSBmcm9tIENvbm5lY3RUZWNoIG1hc3NhZ2VkIGEgbGl0dGxlIHRvIGJlIHByb2dyYW0KKyAqCXJlYWRhYmxlLgorICoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2RlZmluZSB3aGl0ZWhlYXRfREFURSAiMjAwMDAxMDYiCmRpZmYgLS1naXQgYS9maXJtd2FyZS95YW1haGEvZHMxX2N0cmwuZncuaWhleCBiL2Zpcm13YXJlL3lhbWFoYS9kczFfY3RybC5mdy5paGV4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFhOWIxZDcKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS95YW1haGEvZHMxX2N0cmwuZncuaWhleApAQCAtMCwwICsxLDc2OSBAQAorOjEwMDAwMDAwMDcwMDAwMDAwNzAwMjQwMDA3MDAwQzAwMDcwMDFDMDA4OAorOjEwMDAxMDAwMDcwMDA2MDAwMjAwNzAwMDIwMDAwMDAwNDAwMDAzMDBGRQorOjEwMDAyMDAwMDQ3MTAwMDA4NjQyMDAwMDQwMDAwMzAwMEQwRjAwMDAzNAorOjEwMDAzMDAwMTAwODAwMDAzQTA0MjAwMDgyMDIwMDAwMEQwMjAwMDBCNworOjEwMDA0MDAwMTAwODAwMDAzQTA0MjAwMDgyMTIwMDAwODIwRTIwMDBGNgorOjEwMDA1MDAwODIxQTAwMDAwRDJEMDMwMDEwMDgwMDAwM0EwNDEwMDA2MQorOjEwMDA2MDAwOEREMzAyMDAxMDA4MDAwMDNBMDQxODAwMEQwMTAwMDBCMgorOjEwMDA3MDAwMTUwMDAyMDBGRDAwMDAwMDIwMDAwMDAwNjA4ODAzMDA2MQorOjEwMDA4MDAwNjA5MDAzMDA2MDgwMDMwMDQwODAwMzAwNDA4MDAzMDAxNAorOjEwMDA5MDAwNDA4MDAzMDA0MDgwMDEwMDdEMEEwMDAwNDA4MDAzMDA5MgorOjEwMDBBMDAwNDA4MDAzMDA0MDgwMDEwMDAyMDQyMDAwODIwODAwMDAxQworOjEwMDBCMDAwMUEwMDA4MDAwNDA5MDAwMDg2NTkwMTAwMDcwMDAwMDAyQQorOjEwMDBDMDAwMDcwMDI2MDAwNzAwMDAwMDA3MDAwMDAwMDY4QTAxMDA2NAorOjEwMDBEMDAwMDcwMDAwMDA4RDBDMDMwMDEwMDgwMDAwM0EwNDE4MDAwRgorOjEwMDBFMDAwMDcwMDI2MDA3RDA4MDAwMDQyODAwMTAwMEExNjAwMDA3QgorOjEwMDBGMDAwMDZBMjA0MDAwNzAwMDAwMDhEMjEwMDAwMTAwODAwMDA4NworOjEwMDEwMDAwM0EwNDA4MDAwNkMyMjEwMDA3MDAwMDAwRkQwNzAwMDBCNQorOjEwMDExMDAwNDI4MDAxMDAwQTAwMDgwMDA0MDkwMDAwODY5MzAyMDBFMgorOjEwMDEyMDAwOTUwMTAwMDAwNDBEMDkwMDA3MDAwMDAwMjAwODAwMDBGMAorOjEwMDEzMDAwRjUwMDAwMDA3RDBCMDAwMDYwRjAwMTAwRkQwMDAwMDBGNAorOjEwMDE0MDAwMDYyMjAzMDA0MDgwMDEwMDdEMEEwMDAwNDI4MDAzMDA3NworOjEwMDE1MDAwNEE4MDEzMDAwQTAwMTgwMDIwMTgwMDAwNjA5MDA1MDA3MworOjEwMDE2MDAwNjA4ODA1MDA0MDgwMDEwMEZEMDAwMDAwNDI4MDAxMDAyMQorOjEwMDE3MDAwMEEwMDcwMDAxNTAxMDAwMDQ0MTEwNzAwODYyMzAzMDBFNworOjEwMDE4MDAwMDAwMDAzMDAyMDcwMDAwMDA2NEEwMzAwNDA4MDAxMDBDOAorOjEwMDE5MDAwOEQzNDAwMDAxMDA4MDAwMDNBMDQwODAwMDZFQTIxMDAyRgorOjEwMDFBMDAwMDcwMDAwMDA4REQzMDIwMDEwMDgwMDAwM0EwNDE4MDA3OAorOjEwMDFCMDAwMDY4MjAxMDAwNzAwMDAwMDA3MDAyNDAwOEQwRjAwMDBFOAorOjEwMDFDMDAwMTAwODAwMDAzQTE2MDAwMDAyMjQwMDAwMDI1QzAwMDA0MworOjEwMDFEMDAwRkQyODAwMDAyMDAwMDAwMDQwODAwMTAwMEQwMDA4MDAwNAorOjEwMDFFMDAwMTUwODAwMDA4NDA5NTEwMDA3MDAwMDAwNEQwMDAwMDBDMAorOjEwMDFGMDAwNUQwRTAwMDAwMjBFMDAwMDhENDEwMDAwMTAwODAwMDA5RQorOjEwMDIwMDAwM0EwNDA4MDAwNjhBMkMwMDA3MDAwMDAwOEQwMDAwMDA1OAorOjEwMDIxMDAwMjQwOTAwMDAwMjBGMDAwMDhENDUwMDAwMTAwODAwMDBCNgorOjEwMDIyMDAwM0EwNDA4MDAwNjhBMkMwMDA3MDAwMDAwN0QzODAwMDAxMAorOjEwMDIzMDAwNDI4MDAxMDAwQTAwMDgwMDE1MTAwMDAwODQwOTAxMDAzNgorOjEwMDI0MDAwODY4MzAxMDAwNzAwMDAwMDA2QUEwMTAwMDcwMDAwMDBFNQorOjEwMDI1MDAwRkQwODAwMDA0MjgwMDEwMDBBMDAxODAwMDQxOTAwMDA5NworOjEwMDI2MDAwODY4MDIxMDAwNzAwMjgwMDEwMTgwMDAwM0EwNDI4MDBBQQorOjEwMDI3MDAwMDIwQzI4MDAwRDAwMDAwMDEwMDgwMDAwM0ExNDI4MDBBRAorOjEwMDI4MDAwOEQ4MDA4MDAyMDA4MDAwMEZEMDIwMDAwNDA4MDAxMDA3MQorOjEwMDI5MDAwMDcwMDIwMDAwRDAyMDAwMDA0OTkxODAwMDcwMDAwMDA2QworOjEwMDJBMDAwMkQ0MDAwMDBCRDAwMDAwMEZEMDIwMDAwNDI4MDAxMDA2MgorOjEwMDJCMDAwMEEwMDA4MDAwNDA5MDAwMDg2NUEwNTAwMDcwMDAwMDAzMworOjEwMDJDMDAwMDAwMTAwMDAyMDBBMDAwMDdEMDQwMDAwNDA4MDAxMDBDMQorOjEwMDJEMDAwNDI4MDAxMDAwQTAwMjAwMDE1MzAwMDAwNDQyMTAxMDA4NgorOjEwMDJFMDAwODY0OTAzMDAwNzAwMDAwMDA0MjEwMDAwODY0OTAzMDAzRQorOjEwMDJGMDAwMDcwMDAwMDA4RDBGMDAwMDEwMDgwMDAwM0EwQzI4MDBENQorOjEwMDMwMDAwNDQzOTAyMDA4NkM5MDYwMDA3MDAwMDAwMTAxODAwMDBFQQorOjEwMDMxMDAwM0EwNDI4MDAwRDgxMDgwMDIwMDgwMDAwRkQwMjAwMDBCQQorOjEwMDMyMDAwNDA4MDAxMDAwNzAwMjAwMDEwMjgwMDAwM0EwMDc4MDBGQgorOjEwMDMzMDAwOEQ2ODAwMDAxMDA4MDAwMDNBMDQwODAwMDY4QTI4MDBCMgorOjEwMDM0MDAwMDcwMDAwMDAwRDQwMDAwMDE1MTAwMDAwMDQ5OTE4MDA3RgorOjEwMDM1MDAwMDQyOTI5MDAwNDM5MzkwMDA3MDAwMDAwMDYwMjA2MDBCQworOjEwMDM2MDAwMDcwMDAwMDBGNTA0MDAwMDdEMDAwMDAwMjAwMDAwMDBGMAorOjEwMDM3MDAwOEQwMDAwMDA2MDA4MDEwMDQwODAwMTAwN0QwNDAwMDA0NQorOjEwMDM4MDAwNDI4MDAzMDA0QTgwMjEwMDBBMDAxODAwNDQxOTAyMDAzQworOjEwMDM5MDAwODY1ODIxMDAwNzAwMDAwMDc1NDAwMDAwMDRGMTcxMDAzQworOjEwMDNBMDAwMDcwMDAwMDA0MjAwMDEwMDBBMDAyODAwMDQyOTAwMDBBNAorOjEwMDNCMDAwODYyMDIxMDAwNzAwMDAwMDBEM0MwMDAwMDRBOTMwMDA0OQorOjEwMDNDMDAwMDcwMDAwMDA3RDA3MDAwMDQyODAwMTAwMEEwMDA4MDBDRAorOjEwMDNEMDAwMDQwOTAwMDA4NkRBMDcwMDdEMDUwMDAwMjAyODAwMDBERgorOjEwMDNFMDAwNjBCMDAzMDAwNkYyMDcwMDQwODAwMTAwMjAzMDAwMDBFQQorOjEwMDNGMDAwNjBBODAzMDA0MDgwMDEwMEZEMDIwMDAwNDI4MDAxMDA2RgorOjEwMDQwMDAwMEEwMDA4MDAwNDA5MDAwMDg2RkEwNzAwMDcwMDAwMDAzRgorOjEwMDQxMDAwN0QwNTAwMDA0MjgwMDEwMDBBMDQyODAwOEQwRTAwMDBDNgorOjEwMDQyMDAwMTAwODAwMDAzQTBDMjgwMDBEMDAwMDAwMTAwODAwMDAyMQorOjEwMDQzMDAwM0ExNDI4MDAwRDAwMDkwMDIwMDgwMDAwRkQwMjAwMDAwOQorOjEwMDQ0MDAwNDA4MDAxMDAwNzAwMjAwMEZEM0QwMDAwMjAwMDAwMDA2QQorOjEwMDQ1MDAwNDA4MDAxMDA3RDEwMDAwMDhEOEQwMDAwMTAwODAwMDAxQworOjEwMDQ2MDAwM0EwNDA4MDAwNjhBMjgwMDA3MDAwMDAwMTUwODAwMDA2QQorOjEwMDQ3MDAwMUEwMDA4MDA4NDA5MDEwMDg2NTEwOTAwN0QxMzAwMDA1QworOjEwMDQ4MDAwMDAwNTIwMDAyMDBGMjgwMDYwOEYzMzAwNjA4RjNCMDBBNAorOjEwMDQ5MDAwNjA4RjQzMDA2MDhGNEIwMDYwOEY1MzAwNjA4RjVCMDA2NAorOjEwMDRBMDAwNjA4QTAzMDA0MDgwMDEwMEJEN0YwMDAwQzQzRDM4MDAyOQorOjEwMDRCMDAwMDcwMDAwMDA3RDFBMDAwMDc1MTMwMDAwNDI4MDAxMDA1MworOjEwMDRDMDAwNEEwMDA5MDAwQTAwMTAwMDA0OEQwQjAwMDQ5NTEzMDA3NworOjEwMDREMDAwMDcwMDAwMDAyMDA4MDAwMDYwOTAwMTAwMDQxMTAwMDBFNworOjEwMDRFMDAwODYyMDIxMDA0MDAwMDEwMEZEMTcwMDAwNDI4MDAxMDAyRAorOjEwMDRGMDAwMEEwMDA4MDAwNDA5MDAwMDg2MjIyMTAwMDcwMDAwMDAwRAorOjEwMDUwMDAwN0QxOTAwMDA0MjgwMDMwMDRBODAwOTAwMEEwMDEwMDBBMworOjEwMDUxMDAwMjQwOTAwMDA2NDE2MDAwMEZEMTEwMDAwNDI4MDAzMDA2MQorOjEwMDUyMDAwNEE4MDJCMDA0QTgwMTkwMDhEMDAwMDAwNDQ4OTIxMDA3OAorOjEwMDUzMDAwMDcwMDAwMDA0NDIyMDAwMDg2RTEwQTAwMDcwMDAwMDBENgorOjEwMDU0MDAwNjQxQTAwMDAyNDJBMDAwMDdEMTkwMDAwMDIwMTA4MDAzRQorOjEwMDU1MDAwMjIwMTEwMDAyMDA4MDAwMDYwOTAwMzAwNDA4MDAxMDA4QworOjEwMDU2MDAwRkQzRDAwMDA4RDAwMDAwMDIwMDgwMDAwNDA4MDAxMDBEQgorOjEwMDU3MDAwNzUxMzAwMDA3RDFBMDAwMDQyMDAwMTAwNEE4MDA5MDA0NgorOjEwMDU4MDAwMEEwMDEwMDAxRDAyMDAwMEU0ODkwMTAwRTQ5MjI5MDAyNQorOjEwMDU5MDAwNDQ5MTMwMDAwNzAwMDAwMDBEMDYwMDAwMTUwQTAwMDAxRAorOjEwMDVBMDAwMUQwQzAwMDAyNTEwMDAwMEU0QTkwMDAwRTQyQjAxMDA1MAorOjEwMDVCMDAwNjQwNDAwMDBFNEIzMDEwMEU0MzIwMjAwNjQwNDAwMDBCQgorOjEwMDVDMDAwNjQwNDAwMDA2NDA0MDAwMDY0MDQwMDAwMEQwNDAwMDBFMgorOjEwMDVEMDAwQzRCMTA4MDAwNzAwMDAwMDIwMDgwMDAwRjUwQjAwMDA2RgorOjEwMDVFMDAwNDAwMDAzMDA3RDE5MDAwMDQyODAwMzAwNEE4MDA5MDA5QQorOjEwMDVGMDAwMjQwQTAwMDAwQTAwMDgwMDY0MEUwODAwMDcwMDAwMDAzQQorOjEwMDYwMDAwMjIwMTEwMDAyMDA4MDAwMDYwMTAwMzAwNDAwMDAxMDBEQgorOjEwMDYxMDAwQUM2NDAwMDA3RDAyMDAwMDIwMDAwMDAwNDA4MDAxMDA2QQorOjEwMDYyMDAwN0QxMDAwMDA0MjgwMDEwMEZEMTEwMDAwNEE4MDNCMDA2NworOjEwMDYzMDAwNEE4MDA5MDAwQTAwMjAwMDk1MDAwMDAwNDQxMTFBMDBCOQorOjEwMDY0MDAwNDRBMTAwMDA4NjIwMEQwMDBEMDQwMDAwODRCOTAwMDBDNAorOjEwMDY1MDAwODYyMTBEMDBGRDE4MDAwMDQyODAwMTAwRkQxMDAwMDAwMQorOjEwMDY2MDAwNEE4MDA5MDAwQTAwMjgwMDk1MDAwMDAwMjQwOTAxMDBDMgorOjEwMDY3MDAwNjQyQTAwMDA4NjExMEQwMDA3MDAwMDAwMDQyOTAwMDAxNAorOjEwMDY4MDAwODYyMjBEMDAwNzAwMDAwMDA2MkEwRDAwMDIwMDA4MDA2NworOjEwMDY5MDAwOEQwMDAwMDA3RDM4MDAwMDIwMDgwMDAwNDA4MDAxMDAyRgorOjEwMDZBMDAwN0QxMjAwMDA0MjgwMDEwMDBBMDAxMDAwMDQzOTAwMDBBMQorOjEwMDZCMDAwODZEMTBEMDAwRDA4MDAwMEI1RkY3RjAwODRCOTAwMDA1MQorOjEwMDZDMDAwODZBMTBEMDAyNTAwMDAwMDA2N0EwRTAwMkQwMDAwMDAxNgorOjEwMDZEMDAwMTUwMDAwMDAyRDA4MDAwMDhEQzcwMjAwMjAwODAwMDA1MgorOjEwMDZFMDAwMDZDMjBFMDAwRDAwMDAwMDM1ODA3RjAwODRCOTAwMDBCNgorOjEwMDZGMDAwODY3MTBFMDAyNTAwNDAwMDhEMDAwMDAwNDQwOTExMDBBNQorOjEwMDcwMDAwMDcwMDAwMDA4RDAxMDAwMDA0OTUxMDAwMDcwMDAwMDBBNAorOjEwMDcxMDAwNjQ5MTAwMDAyNDA0MDAwMDI0MDQwMDAwMjQwNDAwMDA2QworOjEwMDcyMDAwMDIwMTEwMDAwMjAwMjgwMDhEQzYwMjAwMjAwODAwMDAwRgorOjEwMDczMDAwMDZDMjBFMDA4RDAxMDAwMDJEMDQwMDAwOEQwMDAwMDA5NworOjEwMDc0MDAwMDQ5NTEwMDAwNzAwMDAwMDBEMDIwMDAwODQ5MTEwMDBDNQorOjEwMDc1MDAwMDcwMDAwMDAwREM3MDIwMDIwMDgwMDAwOEQwMDAwMDAwNworOjEwMDc2MDAwRkQzODAwMDA0MDgwMDEwMEZEM0IwMDAwMjAxMDAwMDAyQgorOjEwMDc3MDAwNjBBODAzMDAxNTA4MDAwMDg0MzEzMTAwODQyMTIxMDBBNQorOjEwMDc4MDAwMDcwMDAwMDA2MEIwMDMwMDYwQTAwMzAwNDA4MDAxMDA4QgorOjEwMDc5MDAwRkQyMjAwMDA5NTAwMDAwMDI0MDkwMTAwMjQwNDAwMDA0RgorOjEwMDdBMDAwMjQwNDAwMDA2NDEyMDAwMDAyMDExMDAwMjAwODAwMDA3MAorOjEwMDdCMDAwNjA5MDAzMDA0MDgwMDEwMDI0MTkwMDAwOERGQjAwMDBDMAorOjEwMDdDMDAwN0QzOTAwMDAyMDA4MDAwMDQwODAwNTAwNDI4MDAzMDBDMQorOjEwMDdEMDAwNEE4NDA5MDAwNjA2MDAwMDBBMDQwODAwMjQwNDAwMDBGOAorOjEwMDdFMDAwMjQwNDAwMDA3RDExMDAwMDQyODAwMTAwMEEwMDA4MDA3RQorOjEwMDdGMDAwMjQwQTAwMDAwMjA1MjgwMDAyMEMyODAwMEQ4MDA5MDBEMAorOjEwMDgwMDAwMjAwODAwMDBGRDAyMDAwMDQwODAwMTAwMDcwMDIwMDBEOQorOjEwMDgxMDAwRkQyMjAwMDA0MjgwMDEwMDBBMDAwODAwOTUwMDAwMDA0RgorOjEwMDgyMDAwQzQwRDI4MDAyNDE5MDEwMDdEMTkwMDAwNDI4MDAxMDAzOAorOjEwMDgzMDAwRkQxMTAwMDA0QTgwMDkwMDBBMDAxMDAwQjUwMDAwMDAwOAorOjEwMDg0MDAwNDQzMTExMDAwNDhEMEEwMDA3MDAwMDAwNDQwQTA4MDAyQQorOjEwMDg1MDAwMDQ5NTEyMDAwNzAwMDAwMEZEMjMwMDAwMjAxMDAwMDA5NgorOjEwMDg2MDAwNDA4MDAzMDA0NDEyMTAwMDA3MDAwMDAwMjAwODAwMDAzMAorOjEwMDg3MDAwNjA5MDAzMDA0MDgwMDEwMEZEMDIwMDAwNDI4MDAxMDAwMgorOjEwMDg4MDAwMEEwMDA4MDAwNDA5MDAwMDg2RkExMDAwMDcwMDAwMDBCMgorOjEwMDg5MDAwRkQzQjAwMDAwMDAxMDAwMDEwMEEwMDAwN0E4MDBCMDAwMAorOjEwMDhBMDAwNEE4MDEzMDA4NDA5MDkwMDA3MDAwMDAwOTUwMDAwMDAzOQorOjEwMDhCMDAwMDQzRDAxMDA4NjgwMTEwMDBBMDAxMDAwMDIwMDEwMDBCMworOjEwMDhDMDAwODQwOTA5MDAwNzAwMDAwMDQyODAwMzAwNEE4MDExMDBFQgorOjEwMDhEMDAwMDQwRDA5MDAwNzAwMDAwMDBBMDAxMDAwODQwRDA5MDA0MworOjEwMDhFMDAwMDcwMDAwMDA3RDI1MDAwMDIwMDgwMDAwNDA4MDAxMDA3NgorOjEwMDhGMDAwMEQwMTAwMDAxMDA4MDAwMDNBMTQyODAwN0QxMjAwMDBDRAorOjEwMDkwMDAwNDI4MDAxMDAwQTAwMjAwMDdEMTkwMDAwNDI4MDAxMDBBMQorOjEwMDkxMDAwN0QxMTAwMDA0QTgwMzEwMDBBMDAxMDAwMjQzMTAwMDBERgorOjEwMDkyMDAwMEQyODAxMDA3RDM5MDAwMDIwMDgwMDAwNDA4MDA1MDBFRQorOjEwMDkzMDAwNDI4MDAzMDA0QTg0MDkwMDA2MDYwMDAwMEEwNDA4MDBGOQorOjEwMDk0MDAwMDIwMTMwMDAyNDMxMDAwMDI0MDQwMDAwMjQwNDAwMDBDRgorOjEwMDk1MDAwMjQxMjAwMDAwMjA1MjgwMDRDMUEwMDAwODYwMTEzMDAzMgorOjEwMDk2MDAwMDIwMDcwMDAyRDAwMDAwMDAwMDAwMzAwN0QzODAwMDAzMAorOjEwMDk3MDAwNDI4MDAxMDAwQTAwMTAwMDA2MkExMzAwMjQyMTAwMDAxMgorOjEwMDk4MDAwQUQwMDAwMDAwMjAwMTAwMDBEMDEwMDAwMjQwOTAwMDA2RAorOjEwMDk5MDAwMjQ2QjAwMDA4RDM2MDEwMDdEMzkwMDAwMjAwODAwMDAyNgorOjEwMDlBMDAwNDA4MDA1MDA0MjgwMDMwMDRBODQwOTAwMDYwNjAwMDBEQQorOjEwMDlCMDAwMEEwNDA4MDA2NDMyMDAwMDhEMDAwMDAwMjQwQTAwMDBEMAorOjEwMDlDMDAwMjAxMDAwMDA3RDIyMDAwMDQwODAwMTAwMEQzQzAxMDA0RAorOjEwMDlEMDAwMTAwODAwMDAzQTA0MDgwMDA2RDIyOTAwMDcwMDAwMDBCMQorOjEwMDlFMDAwMjAyODAwMDA3RDIwMDAwMDQwODAwMTAwN0QxMTAwMDBEMworOjEwMDlGMDAwNDI4MDAzMDA0QTgwMTMwMDBBODAzMzAwN0QzODAwMDBFMworOjEwMEEwMDAwNDI4MDAxMDAwQTAwMDgwMDA0MDkwMDAwODYzQTE2MDAyRQorOjEwMEExMDAwMDcwMDAwMDA4RDAwMDAwMDY0MDkwMzAwOEQ0NzAxMDBGRAorOjEwMEEyMDAwN0QzOTAwMDAyMDA4MDAwMDQwODAwNTAwNDI4MDAzMDA1RQorOjEwMEEzMDAwNEE4NDA5MDAwNjA2MDAwMDBBMDQwODAwMDIwMTM4MDA4MgorOjEwMEE0MDAwMjQwNDAwMDAyNDA0MDAwMDI0MTIwMDAwRkQwMjAwMDAyMQorOjEwMEE1MDAwNDI4MDAxMDAwQTAwMDgwMDA0MDkwMDAwODZBMjE0MDA3OAorOjEwMEE2MDAwMDcwMDAwMDAwMjA1MjgwMDRDMUEwMDAwODYzOTE2MDAxNQorOjEwMEE3MDAwMDcwMDAwMDA2NDIxMDMwMDJDNjMwMDAwRkQzRDAwMDAxRQorOjEwMEE4MDAwNDI4MDAxMDAwQTAwMDgwMDk1MDAwMDAwMDQwOTA5MDBFNgorOjEwMEE5MDAwMDcwMDAwMDAyMDA4MDAwMDRDMUEwMDAwODY2MTE1MDBDNQorOjEwMEFBMDAwNDA4MDAxMDAwMDAwMDMwMDA2N0ExNTAwMjQyMTAwMDBBOAorOjEwMEFCMDAwMEQwMTAwMDAyNDA5MDAwMDI0NkIwMDAwOEQ1QjAxMDA4MworOjEwMEFDMDAwN0QzOTAwMDAyMDA4MDAwMDQwODAwNTAwNDI4MDAzMDBCRQorOjEwMEFEMDAwNEE4NDA5MDAwNjA2MDAwMDBBMDQwODAwNjQzQTAwMDA3RgorOjEwMEFFMDAwOTUwMDAwMDAyNDEyMDAwMEZEMDIwMDAwNDI4MDAxMDA3OQorOjEwMEFGMDAwMEEwMDA4MDAwNDA5MDAwMDg2REExNTAwMDcwMDAwMDA1QgorOjEwMEIwMDAwOEQ2MjAxMDAxMDA4MDAwMDNBMDQwODAwMDZEMjI5MDA5NgorOjEwMEIxMDAwMDcwMDAwMDAwNkQyMTQwMDA3MDAwMDAwMjA3MDAwMDA0QgorOjEwMEIyMDAwMEEwMTA4MDAyQTAxMTAwMEZEMjAwMDAwNjA4ODAzMDA2RgorOjEwMEIzMDAwNjA5MDAzMDA0MDgwMDEwMDdEMjIwMDAwNDI4MDAxMDA5RgorOjEwMEI0MDAwRkQzRDAwMDAwQTAwMDgwMDRBODQzMTAwMDQwOTAwMDA0RAorOjEwMEI1MDAwODZEODE2MDA4QjAwMTgwMDhEMDAwMDAwMDQ5OTE4MDAzQworOjEwMEI2MDAwMkMzMTAwMDAwNkFBMTcwMDA3MDAwMDAwNEMzMjAwMDBEQworOjEwMEI3MDAwODYzMzE3MDAwNzAwMDAwMDA0MTkwMDAwODYzMDE3MDBCNAorOjEwMEI4MDAwMDcwMDAwMDA5NTAwMDAwMDQ0OTExOTAwMkMyMjAwMDA4RAorOjEwMEI5MDAwMjQzMTAwMDA2QzYzMDAwMDNEMEUwMDAwNzUxMzAwMDA1RQorOjEwMEJBMDAwRkQwQjAwMDA0MjAwMDEwMDRBODAwOTAwMEEwMDEwMDAwRAorOjEwMEJCMDAwRUM4QTAzMDBFQzkzMDMwMDRDMjIwMDAwODZBOTE3MDA4NgorOjEwMEJDMDAwMDcwMDAwMDA4RDAwMDAwMDA0OTkxODAwNkMyMjAwMDA0RQorOjEwMEJEMDAwMkMzMjAwMDAwQTA1MzAwMEFCMUQzMDAwODMyMDAwMDBERAorOjEwMEJFMDAwRkQxODAwMDA0MjgwMDEwMDBBMDAwODAwMjQ4OTAxMDA2RAorOjEwMEJGMDAwMDIwNTMwMDA4MzEwMDAwMDc1MTgwMDAwNDIwMDAxMDA1QgorOjEwMEMwMDAwMEEwMDEwMDA4RDAwMDAwMDI0MDkwMTAwNzUxMzAwMDA4NworOjEwMEMxMDAwNDIwNTMzMDBDQjBDMzMwMENCMkMzMzAwQ0IzNDMzMDBGNAorOjEwMEMyMDAwQ0IzQzMzMDBDQjQ0MzMwMENCNEMzMzAwQ0I1NDMzMDBBQworOjEwMEMzMDAwOEI1QzMwMDA4MzYwMDAwMEY1MDIwMDAwNDIwMDAxMDA4MAorOjEwMEM0MDAwMEEwMDA4MDAwNDA5MDAwMDg2N0ExODAwMDcwMDAwMDA2NgorOjEwMEM1MDAwMkQxRTAwMDBGRDA1MDAwMDQyODAwMTAwMEEwMDA4MDA3MgorOjEwMEM2MDAwMjQ4OTAyMDAwMjA1MjgwMDBEMDYwMDAwMTAwODAwMDA3QgorOjEwMEM3MDAwM0EwQzI4MDA4RDAwMDAwMDEwMDgwMDAwM0ExNDI4MDBFQgorOjEwMEM4MDAwOEQ4MDBBMDAyMDA4MDAwMEY1MDIwMDAwNDAwMDAxMDBFRAorOjEwMEM5MDAwMDcwMDIyMDA3NTEyMDAwMDQyMDAwMzAwNEEwMDIxMDBGNAorOjEwMENBMDAwOEQwMDAwMDA0NDA5MUEwMDA3MDAwMDAwMEQ5ODAxMDBBMworOjEwMENCMDAwMTAwODAwMDAzQTA0MDgwMDA2MjIyQjAwMDcwMDAwMDA3QworOjEwMENDMDAwRjUwMTAwMDA0MjAwMDMwMDRBMDAwRDAwMEEwMDEwMDA3OAorOjEwMENEMDAwNDQ5MTA4MDAwNzAwMDAwMDIwMDgwMDAwNDAwMDAxMDBDNworOjEwMENFMDAwRjUyNTAwMDA0NDMxMEEwMDA3MDAwMDAwMjAwODAwMDAzQworOjEwMENGMDAwNjAyODAzMDA0MDAwMDMwMDdEMjEwMDAwNDI4MDAzMDBDMworOjEwMEQwMDAwNEE4MDBCMDAwQTAwMTAwMDIwMDgwMDAwNjAxMDAzMDA1OQorOjEwMEQxMDAwNDAwMDAzMDA4RDAwMDAwMDI0MDEwMDAwMkMwMTAwMDBCMQorOjEwMEQyMDAwNjQwRTAwMDA2NDFBMDAwMDZDNjMwMDAwMEEwMTA4MDBGMQorOjEwMEQzMDAwMkEwMTEwMDAyMDA4MDAwMDYwMTAwMzAwNDAwMDAzMDA5QQorOjEwMEQ0MDAwRkQyMDAwMDA0MjgwMDEwMDBBMDAwODAwN0QyMjAwMDAxMgorOjEwMEQ1MDAwNDI4MDAxMDAwQTAwMTAwMDIwMDgwMDAwNjAxMDAzMDAxQgorOjEwMEQ2MDAwNDAwMDAzMDA3RDE5MDAwMDQyODAwMTAwMEEwMDA4MDBENQorOjEwMEQ3MDAwRkQyMjAwMDA0MjgwMDMwMDBBMDAxMDAwMjAwODAwMDA0RAorOjEwMEQ4MDAwNjAxMDAzMDA0MDAwMDMwMDA0MEQwOTAwMDcwMDAwMDA4QworOjEwMEQ5MDAwMjAwODAwMDA0MDAwMDMwMDQyODAwMzAwNEE4MDBCMDA0RQorOjEwMERBMDAwMEEwMDEwMDAyMDA4MDAwMDYwMTAwMzAwNDAwMDAzMDA0QgorOjEwMERCMDAwNDI4MDAzMDA0QTgwMTMwMDRBODAxOTAwMDQwRDExMDA4QworOjEwMERDMDAwMDQ4RDE5MDAwNzAwMDAwMDBBMDAwODAwMjAxMDAwMDAzMAorOjEwMEREMDAwNjAxODAzMDA2MDA4MDMwMDQwMDAwMzAwOEQwMDAwMDA1RAorOjEwMERFMDAwNDQwOTBCMDAwNzAwMDAwMDIwMDgwMDAwNDAwMDAxMDAzQgorOjEwMERGMDAwRjUwNTAwMDA0MjAwMDMwMDBBMDAwODAwMjAwODAwMDA3QQorOjEwMEUwMDAwNDAwMDAxMDBGNTAwMDAwMDQyMDAwMTAwMEEwMDA4MDA1NworOjEwMEUxMDAwMDQwOTAwMDA4NjYwMUMwMDc1MUUwMDAwNDIwMDAzMDBFQgorOjEwMEUyMDAwNEEwNDAxMDAwQTBDMDAwMDA2NzIxQzAwMDcwMDAwMDBDMgorOjEwMEUzMDAwMDIwNDAwMDAwMjBDMDAwMDdEMTcwMDAwRjUxQTAwMDBGQgorOjEwMEU0MDAwNDI4MDAxMDA0QTE0MDMwMDRBMUMwMzAwNEEyNDAzMDBBNAorOjEwMEU1MDAwNEEyQzAzMDA0QTM0MDMwMDRBM0MwMzAwNEE0NDAzMDA3RQorOjEwMEU2MDAwMEE0QzAwMDAzRDA0MDAwMEY1MTMwMDAwRkQxQTAwMDBDQworOjEwMEU3MDAwNDIwMDAzMDA0QTAwMEIwMDRBODAxQjAwNEE4MDEzMDAxNgorOjEwMEU4MDAwMEEwMDIwMDA0NDkxMDgwMDQ0QTExOTAwRTQ4OTAzMDBFRAorOjEwMEU5MDAwRUM5OTAzMDAwMjU1MDAwMDBBNUQwMDAwNDIwMDAzMDBDNworOjEwMEVBMDAwNEEwMDBCMDA0QTgwMUIwMDRBODAxMzAwMEEwMDIwMDAwMQorOjEwMEVCMDAwNDQ5MTA4MDA0NEExMTkwMEU0ODkwMzAwRUM5OTAzMDA1RgorOjEwMEVDMDAwMDI2NTAwMDAwQTZEMDAwMDQyMDAwMzAwNEEwMDBCMDBBQQorOjEwMEVEMDAwNEEwMDE5MDA0QTgwMkIwMDRBODAxMzAwNEE4MDIxMDBGMgorOjEwMEVFMDAwMEEwMDMwMDA0NDkxMDgwMDQ0QTExOTAwNDRCMTJBMDBDRQorOjEwMEVGMDAwRTQ4OTAzMDBFQzk5MDMwMDAyNzUwMDAwMEE3RDAwMDBGQworOjEwMEYwMDAwRTRBOTAzMDAwMjA3MDAwMDdEMTAwMDAwMTUwNDAwMDBBMgorOjEwMEYxMDAwNDI4MDAxMDAwQTAwMDgwMEU0MDkwMTAwMDIwRjAwMDBGRAorOjEwMEYyMDAwRjUyQTAwMDBGRDE5MDAwMDQyMDAwMTAwNEE4MDA5MDA3NgorOjEwMEYzMDAwMEEwMDEwMDAzNDA5MDAwMDc0MTYwMDAwRjUyOTAwMDBCMgorOjEwMEY0MDAwNDIwMDAxMDAwQTAwMTAwMDdDOTEwMDAwNzUyMDAwMDBBMgorOjEwMEY1MDAwNDIwMDAxMDAwQTAwMDgwMDA0MDkwMDAwODZEMjFFMDBCOQorOjEwMEY2MDAwRjUyNjAwMDBGNTI3MDAwMDQyMDAwMzAwNEEwMDA5MDBCMgorOjEwMEY3MDAwMEEwMDEwMDAzQzBBMDAwMDdDMTYwMDAwNzUxQTAwMDBGMAorOjEwMEY4MDAwRkQwQjAwMDA0MjAwMDEwMDRBODA1MTAwMEEwMDQ4MDBBOQorOjEwMEY5MDAwMDcwMDE2MDA3NTEwMDAwMDQyMDAwMTAwMEEyQzI4MDAwRQorOjEwMEZBMDAwMTIxRDI4MDAxMjI1MjgwMDMyMUYwMDAwMDcwMDFFMDAxNQorOjEwMEZCMDAwMDcwMDBFMDA3NTE5MDAwMDQyMDAwMTAwRjUyRDAwMDAyOQorOjEwMEZDMDAwNEEwMDBEMDAwQTAwMTAwMDQ0OTEwMDAwODZCMjFGMDA4NAorOjEwMEZEMDAwNDIwMDAxMDAwQTM0MjgwMDVEMEUwMDAwOEQwMDAwMDA3MAorOjEwMEZFMDAwNzUwMzAwMDAyMDA4MDAwMDQwMDAwMTAwRjREMjA1MDA1NQorOjEwMEZGMDAwMDREMTU0MDA1QzczMDAwMDg2NTMyMDAwMDcwMDAwMDBGOQorOjEwMTAwMDAwMDcwMDBDMDAwNzAwMDgwMDA3MDAwQTAwMEQwNDAyMDA5QQorOjEwMTAxMDAwMTAwODAwMDAzQTA0MDgwMDA2MjIzMzAwMDcwMDAwMDAxMAorOjEwMTAyMDAwMDY1QTIwMDAwNzAwMDAwMDA3MDAwODAwNzUyMjAwMDA5MworOjEwMTAzMDAwNDIwMDAxMDAwQTAwMjAwMDA0MjEwMDAwODYyMDIxMDA1NworOjEwMTA0MDAwMkQxRTAwMDBGNTAyMDAwMDQyMDAwMTAwMEEwMDA4MDAwOQorOjEwMTA1MDAwMDQwOTAwMDA4NjkyMjAwMDA3MDAwMDAwMTAyMDAwMDAxNAorOjEwMTA2MDAwM0EwNDMwMDA3RDA1MDAwMEMzODAwMTAwMEEwMDA4MDAzQQorOjEwMTA3MDAwMjQ4OTAyMDAwMjA1MjgwMDAyMEMyODAwMEQ4MTBBMDBDNAorOjEwMTA4MDAwMjAwODAwMDBGNTAyMDAwMDQwMDAwMTAwMDcwMDIyMDBENworOjEwMTA5MDAwRkQwNDAwMDA0MjgwMDEwMDBBMDA3MDAwMDAwMDAzMDAwRgorOjEwMTBBMDAwMjA3MDAwMDAwNkZBMDYwMDQwODAwMTAwMEQxODAyMDBDMgorOjEwMTBCMDAwMTAwODAwMDAzQTA0MDgwMDA2MjIyQjAwMDcwMDAwMDA3OAorOjEwMTBDMDAwRkQwMjAwMDA0MjgwMDEwMDBBMDAwODAwMDQwOTAwMDAzRgorOjEwMTBEMDAwODY4QTIxMDAwNzAwMDAwMDA2RjIwMTAwMDcwMDAwMDBEOAorOjEwMTBFMDAwNzUwODAwMDBGRDA5MDAwMDBEMDEwMDAwMDYwQTIyMDAzRAorOjEwMTBGMDAwOTUwMjAwMDA3NTBCMDAwMDdEMDkwMDAwMEQwMDAwMDA0NgorOjEwMTEwMDAwMTUwNTAwMDA0MjAwMDEwMDBBMDAxODAwMDQxOTAwMDA0MworOjEwMTExMDAwODY3ODI4MDBGNTA2MDAwMDIwMTAwMDAwNDAwMDAxMDAzRAorOjEwMTEyMDAwRjUwNDAwMDAyMDA4MDAwMDQwMDAwMTAwNzUwNzAwMDBFMQorOjEwMTEzMDAwNDIwMDAxMDA0QTgwMDkwMDBBMDAxMDAwMjQxMTAwMDA0QQorOjEwMTE0MDAwMDQwOTAwMDA4NkJBMjIwMDE1MDgwMDAwMDIwMTA4MDAwOAorOjEwMTE1MDAwMDQxMjEwMDAwNkRBMjIwMDc1MDUwMDAwMDQxMjA4MDBDRgorOjEwMTE2MDAwMDcwMDAwMDAwMjAxMTAwMDc1MDUwMDAwMjUwNDAwMDBDMgorOjEwMTE3MDAwMjQxMTAyMDAwMjAxMTAwMDIwMDgwMDAwNjAxMDAzMDA4QQorOjEwMTE4MDAwNDAwMDAxMDAyNDE5MDAwMDg2NzgyODAwOEQwMDAwMDAyRQorOjEwMTE5MDAwNjQwNDAwMDAwNDlEMDAwMDg2ODgyNzAwMDIwMTE4MDBGNgorOjEwMTFBMDAwNzUwNTAwMDA0MjAwMDEwMDBBMDQyODAwOEQwMTAwMDBCRQorOjEwMTFCMDAwMjQwOTAwMDAwMjBEMjgwMDBEMDAwMDAwMjQwOTAwMDA5MQorOjEwMTFDMDAwMDIxNTI4MDAwRDAwMTAwMDIwMDgwMDAwRjUwMjAwMDBBNAorOjEwMTFEMDAwNDAwMDAxMDAwNzAwMjAwMDc1MTEwMDAwRkQwMjAwMDAyMgorOjEwMTFFMDAwNDI4MDAxMDAwQTAwMDgwMDA0MDkwMDAwODZDMjIzMDBCMgorOjEwMTFGMDAwMDcwMDAwMDAwMDAxMDAwMDIwMEIwODAwNjAwQjEzMDAzNgorOjEwMTIwMDAwNjAwQjFCMDA2MDBBMDMwMDQwMDAwMTAwNDIwMDA1MDA2MworOjEwMTIxMDAwNEEwMDNEMDA0QTAwMzUwMDRBMDAyRDAwMEEwMDIwMDAyNworOjEwMTIyMDAwRjUwNjAwMDA0MjAwMDEwMDBBMTQyODAwRjUwNDAwMDA0MQorOjEwMTIzMDAwNDIwMDAxMDAwQTAwMDgwMDE1MDMwMDAwMDQwRDAxMDAyRgorOjEwMTI0MDAwODZDQTI0MDAxNTQwMDAwMDk1MDAwMDAwMDQwRDAxMDAyRQorOjEwMTI1MDAwODZCODI0MDAyMjAwMTAwMDJBMDAxMDAwMDZFMjI0MDBCNAorOjEwMTI2MDAwMDcwMDAwMDAwNDMxMzMwMDA0QTkyQTAwMDcwMDAwMDAzMQorOjEwMTI3MDAwMjQyMTAzMDAwMjA1MjgwMDI0MTEwMDAwMjQwNDAwMDA5QQorOjEwMTI4MDAwMjQwNDAwMDAyNDMyMDAwMDJDMjkwMDAwNkM2MzAwMDBCQworOjEwMTI5MDAwODZGMzI1MDAwNzAwMDAwMDY0QjEwMjAwNjQwNDAwMDAyQQorOjEwMTJBMDAwNjQwNDAwMDA4RDAwMDAwMDY0MEEwMDAwMDIwRDI4MDBBNAorOjEwMTJCMDAwOEQwMDEwMDAyMDA4MDAwMEY1MDIwMDAwNDAwMDAxMDAzMQorOjEwMTJDMDAwMDcwMDIyMDA4RDAwMDAwMDA0QjkzODAwMDcwMDAwMDA2QworOjEwMTJEMDAwNkMyOTAzMDAwQTAxMzAwMEY1MDIwMDAwNDIwMDAxMDAwMQorOjEwMTJFMDAwMEEwMDA4MDAwNDA5MDAwMDg2QkEyNTAwMDcwMDAwMDA3MworOjEwMTJGMDAwMkMzMTAyMDAwQTA1MjgwMDhEMDAwMDAwNkMwOTAxMDA1NQorOjEwMTMwMDAwMEEwRDI4MDAwRDAxMTAwMDIwMDgwMDAwRjUwMjAwMDA2MQorOjEwMTMxMDAwNDAwMDAxMDAwNzAwMjIwMDI0MTEwMDAwMjQwNDAwMDAwNgorOjEwMTMyMDAwMjQwNDAwMDAyNDMyMDAwMDAyMDEzMDAwNDQyOTAzMDA5QworOjEwMTMzMDAwODY3QTI2MDAwNzAwMDAwMDAyMDAzMDAwRjUwNDAwMDA1NQorOjEwMTM0MDAwNDIwMDAxMDAwQTAwMDgwMDE1MDMwMDAwMDQwRDAxMDAxRQorOjEwMTM1MDAwODZDMDI2MDAyNDMxMDAwMDY0MDQwMDAwMDIwMTMwMDAzMQorOjEwMTM2MDAwRjUwMjAwMDA0MjAwMDEwMDBBMDAwODAwMDQwOTAwMDAyNAorOjEwMTM3MDAwODZDQTI2MDAwNzAwMDAwMDI0MzEwMDAwMDIwNTMwMDA2NAorOjEwMTM4MDAwMjQzOTAwMDA4MzA1MzAwMDgzMDgwMDAwRjUwNTAwMDBDMworOjEwMTM5MDAwNDIwMDAxMDAwQTA0MjgwMDhEMDAwMDAwMjQ4MTAwMDBBMgorOjEwMTNBMDAwMDIwRDI4MDA4RDAwMDAwMDI0ODEwMDAwMDIxNTI4MDA5NQorOjEwMTNCMDAwOEQwMTEwMDAyMDA4MDAwMEY1MDIwMDAwNDAwMDAxMDAyRgorOjEwMTNDMDAwMDcwMDIyMDAyNTEwMDAwMDc1MDUwMDAwNDIwMDAzMDAwMAorOjEwMTNEMDAwNEEwMDA5MDAwQTAwMTAwMDA0MDkwQTAwMDQxMTEyMDA2MgorOjEwMTNFMDAwMDcwMDAwMDAyMDEwMDAwMDYwMDgwNTAwNDAwMDA1MDAxNAorOjEwMTNGMDAwRkQwNjAwMDA0MjgwMDEwMDRBMDAwOTAwMEEwMDEwMDBCQQorOjEwMTQwMDAwQTUwMDAwMDAwNDA5MEEwMDA0MTExMjAwMDcwMDAwMDBGMgorOjEwMTQxMDAwMjAwODAwMDA2MDkwMDEwMDQwMDAwMTAwRjUwMjAwMDA3QgorOjEwMTQyMDAwNDIwMDAxMDAwQTAwMDgwMDA0MDkwMDAwODY0MjI4MDA2QQorOjEwMTQzMDAwMDcwMDAwMDAwNjBBMjMwMDA3MDAwMDAwMDYwNjAwMDA1RgorOjEwMTQ0MDAwMDcwMDAwMDBGNTAyMDAwMDQyMDAwMTAwMEEwMDA4MDA0OQorOjEwMTQ1MDAwMDQwOTAwMDA4NjkyMjgwMDA3MDAwMDAwMDAwMTAwMDAzNworOjEwMTQ2MDAwMjAwQjA4MDA2MDhCMTMwMDYwOEIxQjAwNjA4QjIzMDAzNworOjEwMTQ3MDAwNjA4QjJCMDA2MDhCMzMwMDYwOEIzQjAwNjA4QjQzMDBFNAorOjEwMTQ4MDAwNjA4QjRCMDA2MDhCNTMwMDYwOEI1QjAwNjA4QjYzMDA1NAorOjEwMTQ5MDAwNjA4QjZCMDA2MDhCNzMwMDYwOEI3QjAwNjA4RjAzMDA0MAorOjEwMTRBMDAwNjA4RjBCMDA2MDhGMTMwMDYwOEYxQjAwNjA4RjIzMDAyNAorOjEwMTRCMDAwNjA4RjJCMDA2MDhGMzMwMDYwOEYzQjAwNjA4RjQzMDA5NAorOjEwMTRDMDAwNjA4RjRCMDA2MDhGNTMwMDYwOEY1QjAwNjA4RjYzMDAwNAorOjEwMTREMDAwNjA4RjZCMDA2MDhGNzMwMDYwOEY3QjAwNjA4QTAzMDBGOQorOjEwMTRFMDAwMDYwNjAwMDA0MDgwMDEwMDhEMDAwMDAwNjQwQTAwMDAzNAorOjEwMTRGMDAwMDIwRDI4MDAyNDBBMDAwMDdEMDIwMDAwNDI4MDAxMDA0NQorOjEwMTUwMDAwMEEwMDEwMDAyNDEyMDAwMEZEMDMwMDAwNDI4MDAxMDBDOAorOjEwMTUxMDAwMEEwMDA4MDAwNDA5MDAwMDg2ODIyQTAwMDcwMDAwMDA3MworOjEwMTUyMDAwOEQwMTAwMDAyNDBBMDAwMDY0MDQwMDAwNjQwNDAwMDAyRgorOjEwMTUzMDAwMDIwMTA4MDAyNDA5MDAwMDI0MDQwMDAwMjQwNDAwMDAyMworOjEwMTU0MDAwMDIwMTEwMDAwRDAwMDIwMDQ0OTEwMDAwODZEOTJBMDAxQgorOjEwMTU1MDAwMDcwMDAwMDBGRDAxMDAwMDQyODAwMTAwMEEwMDA4MDBCMQorOjEwMTU2MDAwNDQwQTAwMDA4NkJCMkEwMDQyODAwMTAwMEQwMDBBMDBFOAorOjEwMTU3MDAwMjAwODAwMDBGRDAyMDAwMDQwODAwMTAwMDcwMDIwMDA1QworOjEwMTU4MDAwN0QwMjAwMDAyMDEwMDAwMDA2MDYwMDAwNDA4MDAxMDBERgorOjEwMTU5MDAwRjUwMjAwMDA0MjAwMDEwMDBBMDAwODAwMDQwOTAwMDBGMgorOjEwMTVBMDAwODYyQTJCMDAwNzAwMDAwMDdEMDMwMDAwNDI4MDAxMDAxNgorOjEwMTVCMDAwMEEwMDA4MDAwNDA5MDAwMDg2NUEyQjAwMDcwMDAwMDBGQQorOjEwMTVDMDAwNzUwMDAwMDA3RDJFMDAwMDQyMDAwMTAwNEE4MDBCMDBFMworOjEwMTVEMDAwMjAwMDAwMDAwNDA5MDAwMDg2MDYwMDAwNDAwMDAxMDAxMQorOjEwMTVFMDAwNEE4NDMxMDA4QjA0MzAwMDgzMDgwMDAwOEQwMDAwMDAyNQorOjEwMTVGMDAwMTAwODAwMDAzQTE0MjgwMDhEMDAwMDAwMTAwODAwMDBCOAorOjEwMTYwMDAwM0EwQzI4MDA3NTA2MDAwMDQyMDAwMTAwMEEwMDA4MDA5QworOjEwMTYxMDAwMTUzODAwMDAyNDA5MDEwMDAyMDUyODAwMEQwMDBCMDAwOAorOjEwMTYyMDAwMjAwODAwMDBGNTAyMDAwMDQwMDAwMTAwMDYwNjAwMDA0RQorOjEwMTYzMDAwMDcwMDIyMDA2NDA0MDAwMDY0MDQwMDAwMDYwNjAwMDBBNQorOjEwMTY0MDAwMDcwMDAwMDAzNDAxMDAwMDhEN0YwMDAwM0MwOTAwMDAwRAorOjEwMTY1MDAwMTIxRDI4MDAxMjI1MjgwMDMyMUYwMDAwMDcwMDBFMDA2RQorOjEwMTY2MDAwMEQwMTAwMDA3RDAzMDAwMDIwMDgwMDAwNDA4MDAxMDAwMworOjEwMTY3MDAwRjREMjA1MDAwNzAwMDAwMDA3MDAwODAwN0QwMzAwMDAwOQorOjEwMTY4MDAwNDI4MDAxMDAwQTAwMDgwMDA0MDkwMDAwODYwMjJEMDBDMworOjEwMTY5MDAwMDcwMDAwMDAwNjA2MDAwMDA3MDAwMDAwMDcwMDAwMDAyOQorOjEwMTZBMDAwMTIwMDAwMDAwNzAwMTAwMDA3MDAzMjAwMDcwMDYwMDA3MQorOjEwMTZCMDAwODAwMDEwMDAxQTAwNDgwMDA0NDkwMDAwODY2MTJEMDBENworOjEwMTZDMDAwMDcwMDAwMDAxMDEyMDAwMDNBMDA1ODAwNDUwMTAwMDAxOQorOjEwMTZEMDAwMDQ1RDVDMDAwNzAwMDAwMDgwMDAwMDAwMUEwMDQ4MDA2NAorOjEwMTZFMDAwMDQ0OTAwMDA4NkIxMkQwMDA3MDAwMDAwMTAxMjAwMDAyMAorOjEwMTZGMDAwM0EwMDUwMDAwNDU5MDAwMDg2MDgyRTAwNDUwMDAwMDAwMgorOjEwMTcwMDAwQzUwMDAwMDBGNUZGN0YwMDdERkY3RjAwMjRENTA3MDBBNgorOjEwMTcxMDAwMjQ0MjAwMDAwMjAxNTAwMDAyMDUyMDAwODIwMDAwMDA2NworOjEwMTcyMDAwMUEwMDQwMDAwNDQxMDAwMDg2MzkyRTAwMDcwMDAwMDAyNgorOjEwMTczMDAwNjUzODAwMDAxQTAwNDAwMDIwNDAwMDAwNEQxMDAwMDBGNQorOjEwMTc0MDAwODRDMTA0MDA4NjFCMzAwMDQwMDAwMDAwMDcwMDA0MDAzNAorOjEwMTc1MDAwNjUwMTAwMDA0NTAxMDAwMDIwNDAwMDAwNDAwMDAwMDAzRAorOjEwMTc2MDAwNjUwNzAwMDA4MDAwMDgwMDFBMDA0MDAwMDQ0MTAwMDBFNgorOjEwMTc3MDAwODZDOTJFMDAwNzAwMDAwMDEwMTIwMDAwM0EwMDQwMDA0OQorOjEwMTc4MDAwMDQ0MTAwMDA4NjIyMkYwMDREMDAwMDAwQ0QwMDAwMDAyMworOjEwMTc5MDAwMTA0ODAwMDAzQTA0MjAwMDgyMDgwMDAwMUEwMDQwMDBBRgorOjEwMTdBMDAwMDQ0MTAwMDA4NjMxMkYwMDA3MDAwMDAwMjA0ODAwMDA5RgorOjEwMTdCMDAwMDQ1OTAwMDA4NjA4MzAwMDQwMDAwMDAwRTUwNzAwMDBFMgorOjEwMTdDMDAwODAwNDIwMDBBMDE2MjgwMEUwMTYzMjAwRTAxNjNBMDAzRgorOjEwMTdEMDAwRTAxNjQyMDA2MDEyMDIwMDQwMDAwMDAwMzIwMDAwMDBFQgorOjEwMTdFMDAwNzUwMDQwMDA3RDAwMDAwMDc0RDUwNzAwMTIwNTIwMDA0MAorOjEwMTdGMDAwODIwMDAwMDAxQTAwNDAwMDA0NDEwMDAwODZFMTJGMDAzMgorOjEwMTgwMDAwMDcwMDAwMDAwNjcyMDMwMDA3MDA2NDAwMDcwMDA2MDBERQorOjEwMTgxMDAwRTUwMDAwMDAyMDAwMDAwMDQwMDAwMDAwNjUwQTAwMDAxNAorOjEwMTgyMDAwMjAwMDAwMDA0MDAwMDIwMDQwMDAwMjAwNDAwMDAwMDBENAorOjEwMTgzMDAwNjUwMTAwMDA0MjAwMDAwMDBBMDA3MDAwMDQ3MTAwMDAxMQorOjEwMTg0MDAwODZBMjMwMDAwNzAwMDAwMDA2ODIwMTAwMDcwMDY0MDA0NQorOjEwMTg1MDAwMDAwMDA1MDAyMDcwMDAwMDQwMDAwMDAwMDY3MjAzMDAzOAorOjEwMTg2MDAwMDcwMDY0MDAwNzAwMDAwMDZEMzAwMDAwNjA4ODAyMDA3RgorOjEwMTg3MDAwNjA5MDAyMDAwQTAwMDgwMDYwODgwMjAwNDA4MDAwMDBCQQorOjEwMTg4MDAwMTIwMDEwMDAwRDEwMDAwMDg0OTEwMDAwODY0MTMxMDAwQworOjEwMTg5MDAwMEQwRTAwMDA4NDkxMDAwMDg2NTEzMjAwMDcwMDAwMDAwOAorOjEwMThBMDAwMDcwMDMwMDAyMDEwMDAwMDZEM0IwMDAwNDA4MDAwMDA2OQorOjEwMThCMDAwODAwMDAwMDAxQTAwMDgwMDA0MDkwMDAwODY2MTMxMDA2MQorOjEwMThDMDAwMDcwMDAwMDAyMDEyMDAwMEVEMEQwMDAwNDA4MDAwMDAyNQorOjEwMThEMDAwNDI4MDAwMDAwQTAwMTAwMDBEMDA0MDAwNDQ5NTEwMDBGNgorOjEwMThFMDAwMDcwMDAwMDAyMDEwMDAwMEVEMEQwMDAwNDA4MDAwMDAwNworOjEwMThGMDAwNDI4MDAwMDAwQTA0MjAwMDgyMDAwMDAwMUEwMDA4MDA1NAorOjEwMTkwMDAwMDQwOTAwMDA4NkYxMzEwMDA3MDAwMDAwNkQzQjAwMDA3MworOjEwMTkxMDAwNDI4MDAwMDAwQTAwMDgwMDE1MEUwMDAwODQwOTAxMDA0MgorOjEwMTkyMDAwODY5QjMyMDAwNzAwNjAwMDFBMDAwODAwMTUwQzAwMDBCQQorOjEwMTkzMDAwODQwOTAxMDA4NjgzMzIwMDIwMDAwMDAwMDcwMDFBMDA5RAorOjEwMTk0MDAwRUQwMjAwMDA0MDgwMDAwMDA3MDA2MjAwNkQzMDAwMDBFMgorOjEwMTk1MDAwNDI4MDAyMDA0QTgwMEEwMDIwMDgwMDAwNEE4MDBBMDBGMworOjEwMTk2MDAwMDYwNjAwMDA0QTgwMTAwMDA3MDAwMDAwMTIyNTI4MDAyQgorOjEwMTk3MDAwMzIxRjAwMDBGNEQyMDUwMDA0RDE1NDAwNUM3MzAwMDA1MworOjEwMTk4MDAwODYwNzAwMDAwNzAwMDAwMDA3MDAwQzAwMDcwMDBBMDA5RgorOjEwMTk5MDAwMDcwMDFDMDA2NTM0MDAwMDQwMDAwMjAwMjA0ODAwMDBFMQorOjEwMTlBMDAwNjA1MDAyMDAwQTAwNDAwMDYwNDAwMjAwNDAwMDAwMDA1OQorOjEwMTlCMDAwNDQ0OTQ1MDAwNzAwMDAwMDIwNDAwMDAwRTUzQTAwMDBDRgorOjEwMTlDMDAwNDAwMDAwMDBFNTI4MDAwMDQyMDAwMDAwMEEwMDQ4MDAzNgorOjEwMTlEMDAwMDQ0OTAwMDA4NjY4MzgwMDY1MkMwMDAwNDIwMDAwMDBDMQorOjEwMTlFMDAwMEEwMDQwMDBENTAwMDAwMDA0NDE0NTAwMDcwMDAwMDA0NworOjEwMTlGMDAwNTUwNjAwMDAwNDQ1MDUwMDg2RjIzNDAwRDUwMTAwMDBCQworOjEwMUEwMDAwMDQ0NTA1MDA4NkYwMzQwMDY1MkIwMDAwNDIwMDAwMDAwQworOjEwMUExMDAwRTUzQTAwMDA0QTAwNTAwMDBBMDA0MDAwRDRDMzQ1MDBFNworOjEwMUEyMDAwMDcwMDAwMDAwNDQ1NDUwMDA3MDAwMDAwQ0QwMDAwMDA0RAorOjEwMUEzMDAwNDQ0OTQ0MDAwNzAwMDAwMDA0NDU0NTAwMDcwMDAwMDAzOQorOjEwMUE0MDAwNEQwMTAwMDA0NDQ5NTUwMDA3MDAwMDAwNDQ1MTA0MDBDNgorOjEwMUE1MDAwODZFOTM0MDA2NTJDMDAwMDQyMDAwMDAwMEEwMDQ4MDBCRQorOjEwMUE2MDAwMDREMTRDMDAwNzAwMDAwMDQ0QzEwNDAwODZGMzM0MDA5OAorOjEwMUE3MDAwMDcwMDAwMDAwNzAwMTYwMEU1MkMwMDAwNDIwMDA0MDBFQgorOjEwMUE4MDAwMEEwMDQwMDAyMDQwMDAwMDQwMDAwMDAwNjUyOTAwMDBERQorOjEwMUE5MDAwNDIwMDAwMDAwQTAwNDAwMDA0NDEwMDAwODY2MDM1MDA1QQorOjEwMUFBMDAwMDcwMDAwMDAwMjI0MDAwMDA2QTIzNjAwMDI1QzAwMDBDRAorOjEwMUFCMDAwRTUyNTAwMDA0MjAwMDAwMDBBMDA0MDAwNzQ0MjAwMDBEQQorOjEwMUFDMDAwRTUyQTAwMDA0MjAwMDAwMDBBMDA0MDAwNzQ0MjAwMDBDNQorOjEwMUFEMDAwMTIwMTUwMDBFNTI5MDAwMDQyMDAwMDAwMEEwMDQwMDAwOQorOjEwMUFFMDAwMzQ0MjAwMDAwNDQxNDUwMDA3MDAwMDAwMjA0MDAwMDA4RgorOjEwMUFGMDAwNDAwMDAwMDBFNTNFMDAwMDIwMDAwMDAwNDAwMDAwMDAyMworOjEwMUIwMDAwRTUyRDAwMDA1MjAxNDAwMDBBMDA1MDAwNDQ1MTA0MDAzRAorOjEwMUIxMDAwODY0QTM2MDBDNTAwMDAwMEU1M0UwMDAwMjA0MDAwMDA3NworOjEwMUIyMDAwNDAwMDAwMDBFNTJCMDAwMDQyMDAwMDAwMEEwMDQwMDBEOQorOjEwMUIzMDAwNTQ0MjQwMDAwNzAwMDAwMEU1MkEwMDAwMjA0MDAwMDA1OQorOjEwMUI0MDAwNDAwMDAwMDAzMjAxNTAwMDM0MDEwNDAwNzQ1NjAwMDBDRgorOjEwMUI1MDAwRTUyOTAwMDA0MjAwMDIwMDBBMDA0MjAwNDIwMDAwMDBBNQorOjEwMUI2MDAwMEEwMDUwMDA3QzQxMDUwMEU1MjgwMDAwNDIwMDAwMDAwQQorOjEwMUI3MDAwMEEwMDQ4MDBDNTAwMDAwMDQ0QzE0QzAwODYxMDM3MDAzMAorOjEwMUI4MDAwRTUyNjAwMDBFNTI3MDAwMDQyMDAwMjAwNEEwMDQwMDA3MAorOjEwMUI5MDAwMEEwMDUwMDAzQzQyMDAwMDdDNTYwMDAwRTUyODAwMDA4RQorOjEwMUJBMDAwMjA0ODAwMDA0MDAwMDAwMDEyMUQyODAwMTIyNTI4MDBENworOjEwMUJCMDAwNzIxRjAwMDA2NTI5MDAwMDQyMDAwMDAwMEEwMDQwMDA3QQorOjEwMUJDMDAwMDQ0MTAwMDA4NkFBMzcwMDA3MDAwRTAwMDcwMDE2MDAzNworOjEwMUJEMDAwMDcwMDFFMDBFNTNFMDAwMDQyMDAwMDAwMEEwMDQwMDAzMQorOjEwMUJFMDAwMDQ0MTAwMDA4NkU4MzcwMDY1MkQwMDAwNDIwMDAwMDAzNworOjEwMUJGMDAwMEEzNDI4MDA2NTM0MDAwMDQyMDAwMjAwNEEwMDQyMDAxNgorOjEwMUMwMDAwMjA0MDAwMDA0QTAwNEEwMDRBMDA1MDAwRjREMjA1MDA3QgorOjEwMUMxMDAwMDREMTU0MDA1QzczMDAwMDg2NTEzODAwMDcwMDAwMDBCNgorOjEwMUMyMDAwMDYwNjAwMDAwNzAwMDgwMDA3MDAwQzAwMDcwMDA4MDA3NworOjEwMUMzMDAwMDcwMDBBMDBFNTAxMDAwMDQ1MDAwMjAwMjA0MDAwMDAwNgorOjEwMUM0MDAwNjAwMDAwMDA2NTAzMDAwMDQwMDAwMDAwNjUyRTAwMDBGOQorOjEwMUM1MDAwMjAxQTAwMDA2MDFBMEEwMDQwMDAwMDAwNjUzNDAwMDBFRAorOjEwMUM2MDAwNDIwMDAyMDA0QTAwNDIwMDIwNDAwMDAwNEEwMDRBMDBCMAorOjEwMUM3MDAwMDYwNjAwMDA0QTAwNTAwMDAwMDAwMDAwMDAwMDAwMDBCRQorOjEwMUM4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NAorOjEwMUM5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NAorOjEwMUNBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzNAorOjEwMUNCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNAorOjEwMUNDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNAorOjEwMUNEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNAorOjEwMUNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGNAorOjEwMUNGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNAorOjEwMUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMworOjEwMUQxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMworOjEwMUQyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMworOjEwMUQzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMworOjEwMUQ0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MworOjEwMUQ1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MworOjEwMUQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MworOjEwMUQ3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MworOjEwMUQ4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MworOjEwMUQ5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MworOjEwMURBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMworOjEwMURCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMworOjEwMURDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMworOjEwMUREMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMworOjEwMURFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMworOjEwMURGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMworOjEwMUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMgorOjEwMUUxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMgorOjEwMUUyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMgorOjEwMUUzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMgorOjEwMUU0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MgorOjEwMUU1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MgorOjEwMUU2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MgorOjEwMUU3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MgorOjEwMUU4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MgorOjEwMUU5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MgorOjEwMUVBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMgorOjEwMUVCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMgorOjEwMUVDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMgorOjEwMUVEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMgorOjEwMUVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMgorOjEwMUVGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMgorOjEwMUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMQorOjEwMUYxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMQorOjEwMUYyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMQorOjEwMUYzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMQorOjEwMUY0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MQorOjEwMUY1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MQorOjEwMUY2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MQorOjEwMUY3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MQorOjEwMUY4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MQorOjEwMUY5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MQorOjEwMUZBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMQorOjEwMUZCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMQorOjEwMUZDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMQorOjEwMUZEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMQorOjEwMUZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMQorOjEwMUZGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMQorOjEwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMAorOjEwMjAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMAorOjEwMjAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMAorOjEwMjAzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMAorOjEwMjA0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MAorOjEwMjA1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MAorOjEwMjA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MAorOjEwMjA3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MAorOjEwMjA4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MAorOjEwMjA5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MAorOjEwMjBBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMAorOjEwMjBCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMAorOjEwMjBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMAorOjEwMjBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAorOjEwMjBFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMAorOjEwMjBGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMAorOjEwMjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRgorOjEwMjExMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRgorOjEwMjEyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRgorOjEwMjEzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RgorOjEwMjE0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RgorOjEwMjE1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RgorOjEwMjE2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2RgorOjEwMjE3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RgorOjEwMjE4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RgorOjEwMjE5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRgorOjEwMjFBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRgorOjEwMjFCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRgorOjEwMjFDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRgorOjEwMjFEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRgorOjEwMjFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRgorOjEwMjFGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERgorOjEwMjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRQorOjEwMjIxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRQorOjEwMjIyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRQorOjEwMjIzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RQorOjEwMjI0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RQorOjEwMjI1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RQorOjEwMjI2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2RQorOjEwMjI3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RQorOjEwMjI4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RQorOjEwMjI5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRQorOjEwMjJBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRQorOjEwMjJCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRQorOjEwMjJDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRQorOjEwMjJEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRQorOjEwMjJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRQorOjEwMjJGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERQorOjEwMjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRAorOjEwMjMxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRAorOjEwMjMyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRAorOjEwMjMzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RAorOjEwMjM0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RAorOjEwMjM1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RAorOjEwMjM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2RAorOjEwMjM3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RAorOjEwMjM4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RAorOjEwMjM5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRAorOjEwMjNBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRAorOjEwMjNCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRAorOjEwMjNDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRAorOjEwMjNEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRAorOjEwMjNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRAorOjEwMjNGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERAorOjEwMjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDQworOjEwMjQxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCQworOjEwMjQyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBQworOjEwMjQzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5QworOjEwMjQ0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4QworOjEwMjQ1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3QworOjEwMjQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2QworOjEwMjQ3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1QworOjEwMjQ4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0QworOjEwMjQ5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzQworOjEwMjRBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyQworOjEwMjRCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxQworOjEwMjRDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQworOjEwMjREMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGQworOjEwMjRFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFQworOjEwMjRGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEQworOjEwMjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDQgorOjEwMjUxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCQgorOjEwMjUyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBQgorOjEwMjUzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5QgorOjEwMjU0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4QgorOjEwMjU1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3QgorOjEwMjU2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2QgorOjEwMjU3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1QgorOjEwMjU4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0QgorOjEwMjU5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzQgorOjEwMjVBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyQgorOjEwMjVCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxQgorOjEwMjVDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQgorOjEwMjVEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGQgorOjEwMjVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFQgorOjEwMjVGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEQgorOjEwMjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDQQorOjEwMjYxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCQQorOjEwMjYyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBQQorOjEwMjYzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5QQorOjEwMjY0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4QQorOjEwMjY1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3QQorOjEwMjY2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2QQorOjEwMjY3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1QQorOjEwMjY4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0QQorOjEwMjY5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzQQorOjEwMjZBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyQQorOjEwMjZCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxQQorOjEwMjZDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQQorOjEwMjZEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGQQorOjEwMjZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFQQorOjEwMjZGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEQQorOjEwMjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDOQorOjEwMjcxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCOQorOjEwMjcyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBOQorOjEwMjczMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5OQorOjEwMjc0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4OQorOjEwMjc1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3OQorOjEwMjc2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2OQorOjEwMjc3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1OQorOjEwMjc4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0OQorOjEwMjc5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzOQorOjEwMjdBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyOQorOjEwMjdCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxOQorOjEwMjdDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOQorOjEwMjdEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGOQorOjEwMjdFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFOQorOjEwMjdGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEOQorOjEwMjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDOAorOjEwMjgxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCOAorOjEwMjgyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBOAorOjEwMjgzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5OAorOjEwMjg0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4OAorOjEwMjg1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3OAorOjEwMjg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2OAorOjEwMjg3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1OAorOjEwMjg4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0OAorOjEwMjg5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzOAorOjEwMjhBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyOAorOjEwMjhCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxOAorOjEwMjhDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOAorOjEwMjhEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGOAorOjEwMjhFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFOAorOjEwMjhGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEOAorOjEwMjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNworOjEwMjkxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCNworOjEwMjkyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNworOjEwMjkzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5NworOjEwMjk0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NworOjEwMjk1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3NworOjEwMjk2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NworOjEwMjk3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NworOjEwMjk4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NworOjEwMjk5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzNworOjEwMjlBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNworOjEwMjlCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNworOjEwMjlDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNworOjEwMjlEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGNworOjEwMjlFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNworOjEwMjlGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENworOjEwMkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNgorOjEwMkExMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCNgorOjEwMkEyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNgorOjEwMkEzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5NgorOjEwMkE0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NgorOjEwMkE1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3NgorOjEwMkE2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NgorOjEwMkE3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NgorOjEwMkE4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NgorOjEwMkE5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzNgorOjEwMkFBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNgorOjEwMkFCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNgorOjEwMkFDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNgorOjEwMkFEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGNgorOjEwMkFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNgorOjEwMkFGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENgorOjEwMkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNQorOjEwMkIxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCNQorOjEwMkIyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNQorOjEwMkIzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5NQorOjEwMkI0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NQorOjEwMkI1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3NQorOjEwMkI2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NQorOjEwMkI3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NQorOjEwMkI4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NQorOjEwMkI5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzNQorOjEwMkJBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNQorOjEwMkJCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNQorOjEwMkJDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNQorOjEwMkJEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGNQorOjEwMkJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNQorOjEwMkJGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENQorOjEwMkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNAorOjEwMkMxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCNAorOjEwMkMyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNAorOjEwMkMzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5NAorOjEwMkM0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NAorOjEwMkM1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3NAorOjEwMkM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NAorOjEwMkM3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NAorOjEwMkM4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NAorOjEwMkM5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzNAorOjEwMkNBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNAorOjEwMkNCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNAorOjEwMkNDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNAorOjEwMkNEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGNAorOjEwMkNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNAorOjEwMkNGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENAorOjEwMkQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMworOjEwMkQxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMworOjEwMkQyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMworOjEwMkQzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MworOjEwMkQ0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MworOjEwMkQ1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MworOjEwMkQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MworOjEwMkQ3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MworOjEwMkQ4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MworOjEwMkQ5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMworOjEwMkRBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMworOjEwMkRCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMworOjEwMkRDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMworOjEwMkREMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMworOjEwMkRFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMworOjEwMkRGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMworOjEwMkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMgorOjEwMkUxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMgorOjEwMkUyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMgorOjEwMkUzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MgorOjEwMkU0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MgorOjEwMkU1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MgorOjEwMkU2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MgorOjEwMkU3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MgorOjEwMkU4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MgorOjEwMkU5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMgorOjEwMkVBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMgorOjEwMkVCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMgorOjEwMkVDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMgorOjEwMkVEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMgorOjEwMkVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMgorOjEwMkVGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMgorOjEwMkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMQorOjEwMkYxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMQorOjEwMkYyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMQorOjEwMkYzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MQorOjEwMkY0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MQorOjEwMkY1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MQorOjEwMkY2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MQorOjEwMkY3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MQorOjEwMkY4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MQorOjEwMkY5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMQorOjEwMkZBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMQorOjEwMkZCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMQorOjEwMkZDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMQorOjEwMkZEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMQorOjEwMkZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMQorOjEwMkZGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMQorOjAwMDAwMDAxRkYKZGlmZiAtLWdpdCBhL2Zpcm13YXJlL3lhbWFoYS9kczFfZHNwLmZ3LmloZXggYi9maXJtd2FyZS95YW1haGEvZHMxX2RzcC5mdy5paGV4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFjYjBiYTQKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS95YW1haGEvZHMxX2RzcC5mdy5paGV4CkBAIC0wLDAgKzEsOSBAQAorOjEwMDAwMDAwODEwMDAwMDBBNDAxMDAwMDBBMDAwMDAwMkYwMDAwMDA5MQorOjEwMDAxMDAwNTMwMjA4MDAxNzAzODAwMTdCNDAwMDAwM0Y4NDAwMDA2QQorOjEwMDAyMDAwM0M0ODAxMDAzQzk0MDEwMDNDRDgwNTAwM0MxQzAwMDAwOQorOjEwMDAzMDAwN0JDMDAwMDAzRjBDMDUwMDNDNTAyMTAxMDAwMDAwMDA4NworOjEwMDA0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMAorOjEwMDA1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMAorOjEwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MAorOjEwMDA3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MAorOjAwMDAwMDAxRkYKZGlmZiAtLWdpdCBhL2Zpcm13YXJlL3lhbWFoYS9kczFlX2N0cmwuZncuaWhleCBiL2Zpcm13YXJlL3lhbWFoYS9kczFlX2N0cmwuZncuaWhleApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41OTdmNDI5Ci0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUveWFtYWhhL2RzMWVfY3RybC5mdy5paGV4CkBAIC0wLDAgKzEsNzY5IEBACis6MTAwMDAwMDAwNzAwMDAwMDA3MDAyNDAwMDcwMDBDMDAwNzAwMUMwMDg4Cis6MTAwMDEwMDAwNzAwMDYwMDAyMDA3MDAwMjAwMDAwMDA0MDAwMDMwMEZFCis6MTAwMDIwMDAwNDcxMDAwMDg2NDIwMDAwNDAwMDAzMDAwRDBGMDAwMDM0Cis6MTAwMDMwMDAxMDA4MDAwMDNBMDQyMDAwODIwMjAwMDAwRDAyMDAwMEI3Cis6MTAwMDQwMDAxMDA4MDAwMDNBMDQyMDAwODIxMjAwMDA4MjBFMjAwMEY2Cis6MTAwMDUwMDAwRDgwMDAwMDEwMDgwMDAwM0EwNDIwMDA4MjFBMDAwMDAxCis6MTAwMDYwMDAwRDQ2MDMwMDEwMDgwMDAwM0EwNDEwMDAwREVDMDIwMEQ5Cis6MTAwMDcwMDAxMDA4MDAwMDNBMDQxODAwMEQwMTAwMDAxNTAwMDIwMEVECis6MTAwMDgwMDBGRDAwMDAwMDIwMDAwMDAwNjA4ODAzMDA2MDkwMDMwMDc1Cis6MTAwMDkwMDA2MDgwMDMwMDQwODAwMzAwNDA4MDAzMDA0MDgwMDMwMDM0Cis6MTAwMEEwMDA0MDgwMDEwMDdEMEEwMDAwNDA4MDAzMDA0MDgwMDMwMDgyCis6MTAwMEIwMDA0MDgwMDEwMDAyMDQyMDAwODIwODAwMDAxQTAwMDgwMEFECis6MTAwMEMwMDAwNDA5MDAwMDg2NzEwMTAwMDcwMDAwMDAwNzAwMjYwMEY3Cis6MTAwMEQwMDAwNzAwNDAwMDA3MDAwMDAwOEQyNTAzMDAxMDA4MDAwMDA1Cis6MTAwMEUwMDAzQTA0MTgwMDA3MDAyNjAwMDI0NDI4MDA3RDA4MDAwMDlBCis6MTAwMEYwMDA0MjgwMDEwMDBBMTYwMDAwMDZBMjA1MDAwNzAwMDAwMDY5Cis6MTAwMTAwMDAwNzAwNDQwMDBEMjMwMDAwMTAwODAwMDAzQTA0MDgwMDE2Cis6MTAwMTEwMDAwNkZBMjIwMDA3MDAwMDAwRkQwNzAwMDA0MjgwMDEwMEVGCis6MTAwMTIwMDAwQTAwMDgwMDA0MDkwMDAwODZBQjAyMDA5NTAxMDAwMEU3Cis6MTAwMTMwMDAwNDBEMDkwMDA3MDAwMDAwMjAwODAwMDBGNTAwMDAwMDgxCis6MTAwMTQwMDA3RDBCMDAwMDYwRjAwMTAwRkQwMDAwMDAwNjNBMDMwMDk2Cis6MTAwMTUwMDA0MDgwMDEwMDdEMEEwMDAwNDI4MDAzMDA0QTgwMTMwMEI1Cis6MTAwMTYwMDAwQTAwMTgwMDIwMTgwMDAwNjA5MDA1MDA2MDg4MDUwMDUzCis6MTAwMTcwMDA0MDgwMDEwMEZEMDAwMDAwNDI4MDAxMDAwQTAwNzAwMDg0Cis6MTAwMTgwMDAxNTAxMDAwMDQ0MTEwNzAwODYzQjAzMDAwMDAwMDMwMDM2Cis6MTAwMTkwMDAyMDcwMDAwMDA2NjIwMzAwNDA4MDAxMDAwRDM2MDAwMDYwCis6MTAwMUEwMDAxMDA4MDAwMDNBMDQwODAwMDYyMjIzMDAwNzAwMDAwMDlGCis6MTAwMUIwMDAwREVDMDIwMDEwMDgwMDAwM0EwNDE4MDAwNjlBMDEwMDM1Cis6MTAwMUMwMDAwNzAwMDAwMDA3MDAyNDAwOEQwRjAwMDAxMDA4MDAwMDQ5Cis6MTAwMUQwMDAzQTE2MDAwMDAyMjQwMDAwMDI1QzAwMDBGRDI4MDAwMDI2Cis6MTAwMUUwMDAyMDAwMDAwMDQwODAwMTAwMEQwMDA4MDAxNTA4MDAwMEZDCis6MTAwMUYwMDA4NDA5NTEwMDA3MDAwMDAwNEQwMDAwMDA1RDBFMDAwMDYyCis6MTAwMjAwMDAwMjBFMDAwMDBENDMwMDAwMTAwODAwMDAzQTA0MDgwMDMwCis6MTAwMjEwMDAwNjEyMkUwMDA3MDAwMDAwOEQwMDAwMDAyNDA5MDAwMEQ3Cis6MTAwMjIwMDAwMjBGMDAwMDBENDcwMDAwMTAwODAwMDAzQTA0MDgwMDBCCis6MTAwMjMwMDAwNjEyMkUwMDA3MDAwMDAwODAwNDQ4MDAxMDEyMDAwMDgzCis6MTAwMjQwMDAzQTA0MjgwMDhENzcwMDAwMTAwODAwMDAzQTBDMjgwMEJFCis6MTAwMjUwMDA4RDA2MDAwMDEwMDgwMDAwM0ExNDI4MDAwMjQ0MjgwMDBGCis6MTAwMjYwMDA4RDI1MDMwMDEwMDgwMDAwM0EwNDE4MDA4REZGMDcwMEQ4Cis6MTAwMjcwMDAyMDA4MDAwMEZEMDIwMDAwNDA4MDAxMDAwNzAwMjYwMDY5Cis6MTAwMjgwMDAwNzAwMjAwMEZEMDIwMDAwNDI4MDAxMDAwQTAwMDgwMDczCis6MTAwMjkwMDAwNDA5MDAwMDg2MTIwNTAwMDcwMDAwMDAwNzAwMjQwMDgyCis6MTAwMkEwMDAwREVDMDIwMDEwMDgwMDAwM0EwNDE4MDA3RDM4MDAwMDMwCis6MTAwMkIwMDA0MjgwMDEwMDBBMDAwODAwMTUxMDAwMDA4NDA5MDEwMEI2Cis6MTAwMkMwMDA4NjlCMDEwMDA3MDAwMDAwMDZCMjAxMDAwNzAwMDAwMDQ1Cis6MTAwMkQwMDBGRDA4MDAwMDQyODAwMTAwMEEwMDE4MDAwNDE5MDAwMDE3Cis6MTAwMkUwMDA4NkI4MjIwMDA3MDAyODAwMTAxODAwMDAzQTA0MjgwMEYxCis6MTAwMkYwMDAwMjBDMjgwMDBEMDAwMDAwMTAwODAwMDAzQTE0MjgwMDJECis6MTAwMzAwMDA4RDgwMDgwMDIwMDgwMDAwRkQwMjAwMDA0MDgwMDEwMEYwCis6MTAwMzEwMDAwNzAwMjAwMDBEMDIwMDAwMDQ5OTE4MDAwNzAwMDAwMEVCCis6MTAwMzIwMDAyRDQwMDAwMEJEMDAwMDAwRkQwMjAwMDA0MjgwMDEwMEUxCis6MTAwMzMwMDAwQTAwMDgwMDA0MDkwMDAwODY1QTA2MDAwNzAwMDAwMEIxCis6MTAwMzQwMDAwMDAxMDAwMDIwMEEwMDAwN0QwNDAwMDA0MDgwMDEwMDQwCis6MTAwMzUwMDA0MjgwMDEwMDBBMDAyMDAwMTUzMDAwMDA0NDIxMDEwMDA1Cis6MTAwMzYwMDA4NjYxMDMwMDA3MDAwMDAwMDQyMTAwMDA4NjYxMDMwMDhECis6MTAwMzcwMDAwNzAwMDAwMDhEMEYwMDAwMTAwODAwMDAzQTBDMjgwMDU0Cis6MTAwMzgwMDA0NDM5MDIwMDg2QzkwNzAwMDcwMDAwMDAxMDE4MDAwMDY5Cis6MTAwMzkwMDAzQTA0MjgwMDBEODEwODAwMjAwODAwMDBGRDAyMDAwMDNBCis6MTAwM0EwMDA0MDgwMDEwMDA3MDAyMDAwMTAyODAwMDAzQTAwNzgwMDdCCis6MTAwM0IwMDA4RDc4MDAwMDEwMDgwMDAwM0EwNDA4MDAwNjEyMkEwMDk4Cis6MTAwM0MwMDAwNzAwMDAwMDBENDAwMDAwMTUxMDAwMDAwNDk5MTgwMEZGCis6MTAwM0QwMDAwNDI5MjkwMDA0MzkzOTAwMDcwMDAwMDAwNjAyMDcwMDNCCis6MTAwM0UwMDAwNzAwMDAwMEY1MDQwMDAwN0QwMDAwMDAyMDAwMDAwMDcwCis6MTAwM0YwMDA4RDAwMDAwMDYwMDgwMTAwNDA4MDAxMDA3RDA0MDAwMEM1Cis6MTAwNDAwMDA0MjgwMDMwMDRBODAyMTAwMEEwMDE4MDA0NDE5MDIwMEJCCis6MTAwNDEwMDA4NjkwMjIwMDA3MDAwMDAwNzU0MDAwMDAwNEYxNzEwMDgyCis6MTAwNDIwMDAwNzAwMDAwMDQyMDAwMTAwMEEwMDI4MDAwNDI5MDAwMDIzCis6MTAwNDMwMDA4NjU4MjIwMDA3MDAwMDAwMEQzQzAwMDAwNEE5MzAwMDhGCis6MTAwNDQwMDAwNzAwMDAwMDdEMDcwMDAwNDI4MDAxMDAwQTAwMDgwMDRDCis6MTAwNDUwMDAwNDA5MDAwMDg2REEwODAwN0QwNTAwMDAyMDI4MDAwMDVECis6MTAwNDYwMDA2MEIwMDMwMDA2RjIwODAwNDA4MDAxMDAyMDMwMDAwMDY4Cis6MTAwNDcwMDA2MEE4MDMwMDQwODAwMTAwRkQwMjAwMDA0MjgwMDEwMEVFCis6MTAwNDgwMDAwQTAwMDgwMDA0MDkwMDAwODZGQTA4MDAwNzAwMDAwMEJFCis6MTAwNDkwMDA3RDA1MDAwMDQyODAwMTAwMEEwNDI4MDA4RDBFMDAwMDQ2Cis6MTAwNEEwMDAxMDA4MDAwMDNBMEMyODAwMEQwMDAwMDAxMDA4MDAwMEExCis6MTAwNEIwMDAzQTE0MjgwMDBEMDAwOTAwMjAwODAwMDBGRDAyMDAwMDg5Cis6MTAwNEMwMDA0MDgwMDEwMDA3MDAyMDAwRkQzRDAwMDAyMDAwMDAwMEVBCis6MTAwNEQwMDA0MDgwMDEwMDdEMTAwMDAwOEQ5RDAwMDAxMDA4MDAwMDhDCis6MTAwNEUwMDAzQTA0MDgwMDA2MTIyQTAwMDcwMDAwMDAxNTA4MDAwMDYwCis6MTAwNEYwMDAxQTAwMDgwMDg0MDkwMTAwODY1MTBBMDA3RDEzMDAwMERCCis6MTAwNTAwMDAwMDA1MjAwMDIwMEYyODAwNjA4RjMzMDA2MDhGM0IwMDIzCis6MTAwNTEwMDA2MDhGNDMwMDYwOEY0QjAwNjA4RjUzMDA2MDhGNUIwMEUzCis6MTAwNTIwMDA2MDhBMDMwMDQwODAwMTAwN0QxMDAwMDA0MjgwMDEwMENECis6MTAwNTMwMDAwQTAwMDgwMDE1MDIwMDAwODQwOTAxMDA4NjgxM0EwMEMzCis6MTAwNTQwMDAwNzAwMDAwMEJEN0YwMDAwQzQzRDM4MDAwNzAwMDAwMDI4Cis6MTAwNTUwMDA3RDFBMDAwMDc1MTMwMDAwNDI4MDAxMDA0QTAwMDkwMDY2Cis6MTAwNTYwMDAwQTAwMTAwMDA0OEQwQjAwMDQ5NTEzMDAwNzAwMDAwMDIyCis6MTAwNTcwMDAyMDA4MDAwMDYwOTAwMTAwMDQxMTAwMDA4NjU4MjIwMDRECis6MTAwNTgwMDA0MDAwMDEwMEZEMTcwMDAwNDI4MDAxMDAwQTAwMDgwMDQxCis6MTAwNTkwMDAwNDA5MDAwMDg2NUEyMjAwMDcwMDAwMDA3RDE5MDAwMEFGCis6MTAwNUEwMDA0MjgwMDMwMDRBODAwOTAwMEEwMDEwMDAyNDA5MDAwMDZDCis6MTAwNUIwMDA2NDE2MDAwMEZEMTEwMDAwNDI4MDAzMDA0QTgwMkIwMEY5Cis6MTAwNUMwMDA0QTgwMTkwMDhEMDAwMDAwNDQ4OTIxMDAwNzAwMDAwMEM2Cis6MTAwNUQwMDA0NDIyMDAwMDg2MTkwQzAwMDcwMDAwMDA2NDFBMDAwMDg1Cis6MTAwNUUwMDAyNDJBMDAwMDdEMTkwMDAwMDIwMTA4MDAyMjAxMTAwMEU5Cis6MTAwNUYwMDAyMDA4MDAwMDYwOTAwMzAwNDA4MDAxMDBGRDNEMDAwMEU1Cis6MTAwNjAwMDA4RDAwMDAwMDIwMDgwMDAwNDA4MDAxMDA3NTEzMDAwMEVDCis6MTAwNjEwMDA3RDFBMDAwMDQyMDAwMTAwNEE4MDA5MDAwQTAwMTAwMDEzCis6MTAwNjIwMDAxRDAyMDAwMEU0ODkwMTAwRTQ5MjI5MDA0NDkxMzAwMDk5Cis6MTAwNjMwMDAwNzAwMDAwMDBEMDYwMDAwMTUwQTAwMDAxRDBDMDAwMDU4Cis6MTAwNjQwMDAyNTEwMDAwMEU0QTkwMDAwRTQyQjAxMDA2NDA0MDAwMDcwCis6MTAwNjUwMDBFNEIzMDEwMEU0MzIwMjAwNjQwNDAwMDA2NDA0MDAwMDFBCis6MTAwNjYwMDA2NDA0MDAwMDY0MDQwMDAwMEQwNDAwMDBDNEIxMDgwMDJDCis6MTAwNjcwMDAwNzAwMDAwMDIwMDgwMDAwRjUwQjAwMDA0MDAwMDMwMDA4Cis6MTAwNjgwMDA3RDE5MDAwMDQyODAwMzAwNEE4MDA5MDAyNDBBMDAwMDBFCis6MTAwNjkwMDAwQTAwMDgwMDY0MEUwODAwMDcwMDAwMDAyMjAxMTAwMDk0Cis6MTAwNkEwMDAyMDA4MDAwMDYwMTAwMzAwNDAwMDAxMDBBQzY0MDAwMDVFCis6MTAwNkIwMDA3RDAyMDAwMDIwMDAwMDAwNDA4MDAxMDA3RDEwMDAwMDRECis6MTAwNkMwMDA0MjgwMDEwMEZEMTEwMDAwNEE4MDNCMDA0QTgwMDkwMDgxCis6MTAwNkQwMDAwQTAwMjAwMDk1MDAwMDAwNDQxMTFBMDA0NEExMDAwMDA3Cis6MTAwNkUwMDA4NjU4MEUwMDBEMDQwMDAwODRCOTAwMDA4NjU5MEUwMEUzCis6MTAwNkYwMDBGRDE4MDAwMDQyODAwMTAwRkQxMDAwMDA0QTgwMDkwMDQyCis6MTAwNzAwMDAwQTAwMjgwMDk1MDAwMDAwMjQwOTAxMDA2NDJBMDAwMDY2Cis6MTAwNzEwMDA4NjQ5MEUwMDA3MDAwMDAwMDQyOTAwMDA4NjVBMEUwMERBCis6MTAwNzIwMDAwNzAwMDAwMDA2NjIwRTAwMDIwMDA4MDA4RDAwMDAwMEI1Cis6MTAwNzMwMDA3RDM4MDAwMDIwMDgwMDAwNDA4MDAxMDA3RDEyMDAwMDhDCis6MTAwNzQwMDA0MjgwMDEwMDBBMDAxMDAwMDQzOTAwMDA4NjA5MEYwMEYxCis6MTAwNzUwMDAwRDA4MDAwMEI1RkY3RjAwODRCOTAwMDA4NkQ5MEUwMEE3Cis6MTAwNzYwMDAyNTAwMDAwMDA2QjIwRjAwMkQwMDAwMDAxNTAwMDAwMDVCCis6MTAwNzcwMDAyRDA4MDAwMDBERTAwMjAwMjAwODAwMDAwNkZBMEYwMDFFCis6MTAwNzgwMDAwRDAwMDAwMDM1ODA3RjAwODRCOTAwMDA4NkE5MEYwMEFECis6MTAwNzkwMDAyNTAwNDAwMDhEMDAwMDAwNDQwOTExMDAwNzAwMDAwMDAyCis6MTAwN0EwMDA4RDAxMDAwMDA0OTUxMDAwMDcwMDAwMDA2NDkxMDAwMDE2Cis6MTAwN0IwMDAyNDA0MDAwMDI0MDQwMDAwMjQwNDAwMDAwMjAxMTAwMEFFCis6MTAwN0MwMDAwMjAwMjgwMDBEREYwMjAwMjAwODAwMDAwNkZBMEYwMERBCis6MTAwN0QwMDA4RDAxMDAwMDJEMDQwMDAwOEQwMDAwMDAwNDk1MTAwMDI0Cis6MTAwN0UwMDAwNzAwMDAwMDBEMDIwMDAwODQ5MTEwMDAwNzAwMDAwMEM3Cis6MTAwN0YwMDA4RERGMDIwMDIwMDgwMDAwOEQwMDAwMDBGRDM4MDAwMEExCis6MTAwODAwMDA0MDgwMDEwMEZEM0IwMDAwMjAxMDAwMDA2MEE4MDMwMEI0Cis6MTAwODEwMDAxNTA4MDAwMDg0MzEzMTAwODQyMTIxMDAwNzAwMDAwMDA4Cis6MTAwODIwMDA2MEIwMDMwMDYwQTAwMzAwNDA4MDAxMDBGRDIyMDAwMEQyCis6MTAwODMwMDA5NTAwMDAwMDI0MDkwMTAwMjQwNDAwMDAyNDA0MDAwMEE1Cis6MTAwODQwMDA2NDEyMDAwMDAyMDExMDAwMjAwODAwMDA2MDkwMDMwMDA0Cis6MTAwODUwMDA0MDgwMDEwMDI0MTkwMDAwMEQwRjAxMDA3RDM5MDAwMEM3Cis6MTAwODYwMDAyMDA4MDAwMDQwODAwNTAwNDI4MDAzMDA0QTg0MDkwMEZGCis6MTAwODcwMDAwNjA2MDAwMDBBMDQwODAwMjQwNDAwMDAyNDA0MDAwMDA2Cis6MTAwODgwMDA3RDExMDAwMDQyODAwMTAwMEEwMDA4MDAyNDBBMDAwMEQ3Cis6MTAwODkwMDAwMjA1MjgwMDAyMEMyODAwMEQ4MDA5MDAyMDA4MDAwMDM1Cis6MTAwOEEwMDBGRDAyMDAwMDQwODAwMTAwMDcwMDIwMDBGRDIyMDAwMDQyCis6MTAwOEIwMDA0MjgwMDEwMDBBMDAwODAwOTUwMDAwMDBDNDBEMjgwMEQ1Cis6MTAwOEMwMDAyNDE5MDEwMDdEMTkwMDAwNDI4MDAxMDBGRDExMDAwMDgzCis6MTAwOEQwMDA0QTgwMDkwMDBBMDAxMDAwQjUwMDAwMDA0NDMxMTEwMEYwCis6MTAwOEUwMDAwNDhEMEEwMDA3MDAwMDAwNDQwQTA4MDAwNDk1MTIwMDY1Cis6MTAwOEYwMDAwNzAwMDAwMEZEMjMwMDAwMjAxMDAwMDA0MDgwMDMwMERFCis6MTAwOTAwMDA0NDEyMTAwMDA3MDAwMDAwMjAwODAwMDA2MDkwMDMwMDVGCis6MTAwOTEwMDA0MDgwMDEwMEZEMDIwMDAwNDI4MDAxMDAwQTAwMDgwMDQyCis6MTAwOTIwMDAwNDA5MDAwMDg2MzIxMjAwMDcwMDAwMDBGRDNCMDAwMEIxCis6MTAwOTMwMDAwMDAxMDAwMDEwMEEwMDAwN0E4MDBCMDA0QTgwMTMwMEJBCis6MTAwOTQwMDA4NDA5MDkwMDA3MDAwMDAwOTUwMDAwMDAwNDNEMDEwMDMzCis6MTAwOTUwMDA4NkI4MTIwMDBBMDAxMDAwMDIwMDEwMDA4NDA5MDkwMDg1Cis6MTAwOTYwMDAwNzAwMDAwMDQyODAwMzAwNEE4MDExMDAwNDBEMDkwMEM2Cis6MTAwOTcwMDAwNzAwMDAwMDBBMDAxMDAwODQwRDA5MDAwNzAwMDAwMEI1Cis6MTAwOTgwMDA3RDI1MDAwMDIwMDgwMDAwNDA4MDAxMDAwRDAxMDAwMENFCis6MTAwOTkwMDAxMDA4MDAwMDNBMTQyODAwN0QxMjAwMDA0MjgwMDEwMDc3Cis6MTAwOUEwMDAwQTAwMjAwMDdEMTkwMDAwNDI4MDAxMDA3RDExMDAwMDM2Cis6MTAwOUIwMDA0QTgwMzEwMDBBMDAxMDAwMjQzMTAwMDA4RDNCMDEwMDA0Cis6MTAwOUMwMDA3RDM5MDAwMDIwMDgwMDAwNDA4MDA1MDA0MjgwMDMwMEJGCis6MTAwOUQwMDA0QTg0MDkwMDA2MDYwMDAwMEEwNDA4MDAwMjAxMzAwMEVCCis6MTAwOUUwMDAyNDMxMDAwMDI0MDQwMDAwMjQwNDAwMDAyNDEyMDAwMDJDCis6MTAwOUYwMDAwMjA1MjgwMDRDMUEwMDAwODYzOTE0MDAwMjAwNzAwMDFECis6MTAwQTAwMDAyRDAwMDAwMDAwMDAwMzAwN0QzODAwMDA0MjgwMDEwMDNFCis6MTAwQTEwMDAwQTAwMTAwMDA2NjIxNDAwMjQyMTAwMDBBRDAwMDAwMDRFCis6MTAwQTIwMDAwMjAwMTAwMDBEMDEwMDAwMjQwOTAwMDAyNDZCMDAwMEVBCis6MTAwQTMwMDAwRDRBMDEwMDdEMzkwMDAwMjAwODAwMDA0MDgwMDUwMEJCCis6MTAwQTQwMDA0MjgwMDMwMDRBODQwOTAwMDYwNjAwMDAwQTA0MDgwMEU4Cis6MTAwQTUwMDA2NDMyMDAwMDhEMDAwMDAwMjQwQTAwMDAyMDEwMDAwMDE1Cis6MTAwQTYwMDA3RDIyMDAwMDQwODAwMTAwOEQ0RjAxMDAxMDA4MDAwMDMxCis6MTAwQTcwMDAzQTA0MDgwMDA2NUEyQjAwMDcwMDAwMDAyMDI4MDAwMDU2Cis6MTAwQTgwMDA3RDIwMDAwMDQwODAwMTAwN0QxMTAwMDA0MjgwMDMwMEI1Cis6MTAwQTkwMDA0QTgwMTMwMDBBODAzMzAwN0QzODAwMDA0MjgwMDEwMDQ0Cis6MTAwQUEwMDAwQTAwMDgwMDA0MDkwMDAwODY3MjE3MDAwNzAwMDAwMDExCis6MTAwQUIwMDA4RDAwMDAwMDY0MDkwMzAwMEQ1QjAxMDA3RDM5MDAwMDFBCis6MTAwQUMwMDAyMDA4MDAwMDQwODAwNTAwNDI4MDAzMDA0QTg0MDkwMDlECis6MTAwQUQwMDAwNjA2MDAwMDBBMDQwODAwMDIwMTM4MDAyNDA0MDAwMDkxCis6MTAwQUUwMDAyNDA0MDAwMDI0MTIwMDAwRkQwMjAwMDA0MjgwMDEwMEU2Cis6MTAwQUYwMDAwQTAwMDgwMDA0MDkwMDAwODZEQTE1MDAwNzAwMDAwMDVCCis6MTAwQjAwMDAwMjA1MjgwMDRDMUEwMDAwODY3MTE3MDAwNzAwMDAwMDNCCis6MTAwQjEwMDA2NDIxMDMwMDJDNjMwMDAwRkQzRDAwMDA0MjgwMDEwMEMxCis6MTAwQjIwMDAwQTAwMDgwMDk1MDAwMDAwMDQwOTA5MDAwNzAwMDAwMDAxCis6MTAwQjMwMDAyMDA4MDAwMDRDMUEwMDAwODY5OTE2MDA0MDgwMDEwMDMxCis6MTAwQjQwMDAwMDAwMDMwMDA2QjIxNjAwMjQyMTAwMDAwRDAxMDAwMDgxCis6MTAwQjUwMDAyNDA5MDAwMDI0NkIwMDAwMEQ2RjAxMDA3RDM5MDAwMEE2Cis6MTAwQjYwMDAyMDA4MDAwMDQwODAwNTAwNDI4MDAzMDA0QTg0MDkwMEZDCis6MTAwQjcwMDAwNjA2MDAwMDBBMDQwODAwNjQzQTAwMDA5NTAwMDAwMDIwCis6MTAwQjgwMDAyNDEyMDAwMEZEMDIwMDAwNDI4MDAxMDAwQTAwMDgwMDVCCis6MTAwQjkwMDAwNDA5MDAwMDg2MTIxNzAwMDcwMDAwMDAwRDc2MDEwMDBFCis6MTAwQkEwMDAxMDA4MDAwMDNBMDQwODAwMDY1QTJCMDAwNzAwMDAwMDU1Cis6MTAwQkIwMDAwNjBBMTYwMDA3MDAwMDAwMjA3MDAwMDAwQTAxMDgwMDY1Cis6MTAwQkMwMDAyQTAxMTAwMEZEMjAwMDAwNjA4ODAzMDA2MDkwMDMwMEVGCis6MTAwQkQwMDA0MDgwMDEwMDdEMjIwMDAwNDI4MDAxMDBGRDNEMDAwMEI4Cis6MTAwQkUwMDAwQTAwMDgwMDRBODQzMTAwMDQwOTAwMDA4NjEwMTgwMDM5Cis6MTAwQkYwMDA4QjAwMTgwMDhEMDAwMDAwMDQ5OTE4MDAyQzMxMDAwMEIzCis6MTAwQzAwMDAwNkUyMTgwMDA3MDAwMDAwNEMzMjAwMDA4NjZCMTgwMDU2Cis6MTAwQzEwMDAwNzAwMDAwMDA0MTkwMDAwODY2ODE4MDAwNzAwMDAwMEEzCis6MTAwQzIwMDA5NTAwMDAwMDQ0OTExOTAwMkMyMjAwMDAyNDMxMDAwMDlFCis6MTAwQzMwMDA2QzYzMDAwMDNEMEUwMDAwNzUxMzAwMDBGRDBCMDAwMDBBCis6MTAwQzQwMDA0MjAwMDEwMDRBODAwOTAwMEEwMDEwMDBFQzhBMDMwMEZCCis6MTAwQzUwMDBFQzkzMDMwMDRDMjIwMDAwODZFMTE4MDAwNzAwMDAwMDFFCis6MTAwQzYwMDA4RDAwMDAwMDA0OTkxODAwNkMyMjAwMDAyQzMyMDAwMDU2Cis6MTAwQzcwMDAwQTA1MzAwMEFCMUQzMDAwODMyMDAwMDBGRDE4MDAwMDg1Cis6MTAwQzgwMDA0MjgwMDEwMDBBMDAwODAwMjQ4OTAxMDAwMjA1MzAwMEFBCis6MTAwQzkwMDA4MzEwMDAwMDc1MTgwMDAwNDIwMDAxMDAwQTAwMTAwMEQ3Cis6MTAwQ0EwMDA4RDAwMDAwMDI0MDkwMTAwNzUxMzAwMDA0MjA1MzMwMDg3Cis6MTAwQ0IwMDBDQjBDMzMwMENCMkMzMzAwQ0IzNDMzMDBDQjNDMzMwMDk0Cis6MTAwQ0MwMDBDQjQ0MzMwMENCNEMzMzAwQ0I1NDMzMDA4QjVDMzAwMDJGCis6MTAwQ0QwMDA4MzYwMDAwMEY1MDIwMDAwNDIwMDAxMDAwQTAwMDgwMEU1Cis6MTAwQ0UwMDAwNDA5MDAwMDg2QjIxOTAwMDcwMDAwMDAyRDFFMDAwMDU0Cis6MTAwQ0YwMDBGRDA1MDAwMDQyODAwMTAwMEEwMDA4MDAyNDg5MDIwMDZFCis6MTAwRDAwMDAwMjA1MjgwMDBEMDYwMDAwMTAwODAwMDAzQTBDMjgwMDFCCis6MTAwRDEwMDA4RDAwMDAwMDEwMDgwMDAwM0ExNDI4MDA4RDgwMEEwMEExCis6MTAwRDIwMDAyMDA4MDAwMEY1MDIwMDAwNDAwMDAxMDAwNzAwMjIwMDNBCis6MTAwRDMwMDA3NTEyMDAwMDQyMDAwMzAwNEEwMDIxMDA4RDAwMDAwMEVGCis6MTAwRDQwMDA0NDA5MUEwMDA3MDAwMDAwOERBQjAxMDAxMDA4MDAwMEU0Cis6MTAwRDUwMDAzQTA0MDgwMDA2QUEyQzAwMDcwMDAwMDBGNTAxMDAwMDc0Cis6MTAwRDYwMDA0MjAwMDMwMDRBMDAwRDAwMEEwMDEwMDA0NDkxMDgwMEYwCis6MTAwRDcwMDAwNzAwMDAwMDIwMDgwMDAwNDAwMDAxMDBGNTI1MDAwMEU5Cis6MTAwRDgwMDA0NDMxMEEwMDA3MDAwMDAwMjAwODAwMDA2MDI4MDMwMDJBCis6MTAwRDkwMDA0MDAwMDMwMDdEMjEwMDAwNDI4MDAzMDA0QTgwMEIwMEQ4Cis6MTAwREEwMDAwQTAwMTAwMDIwMDgwMDAwNjAxMDAzMDA0MDAwMDMwMDRCCis6MTAwREIwMDA4RDAwMDAwMDI0MDEwMDAwMkMwMTAwMDA2NDBFMDAwMEUyCis6MTAwREMwMDA2NDFBMDAwMDZDNjMwMDAwMEEwMTA4MDAyQTAxMTAwMDg4Cis6MTAwREQwMDAyMDA4MDAwMDYwMTAwMzAwNDAwMDAzMDBGRDIwMDAwMDE4Cis6MTAwREUwMDA0MjgwMDEwMDBBMDAwODAwN0QyMjAwMDA0MjgwMDEwMENDCis6MTAwREYwMDAwQTAwMTAwMDIwMDgwMDAwNjAxMDAzMDA0MDAwMDMwMEZCCis6MTAwRTAwMDA3RDE5MDAwMDQyODAwMTAwMEEwMDA4MDBGRDIyMDAwMDU4Cis6MTAwRTEwMDA0MjgwMDMwMDBBMDAxMDAwMjAwODAwMDA2MDEwMDMwMDU4Cis6MTAwRTIwMDA0MDAwMDMwMDA0MEQwOTAwMDcwMDAwMDAyMDA4MDAwMDM2Cis6MTAwRTMwMDA0MDAwMDMwMDQyODAwMzAwNEE4MDBCMDAwQTAwMTAwMEJCCis6MTAwRTQwMDAyMDA4MDAwMDYwMTAwMzAwNDAwMDAzMDA0MjgwMDMwMEZGCis6MTAwRTUwMDA0QTgwMTMwMDRBODAxOTAwMDQwRDExMDAwNDhEMTkwMDA2Cis6MTAwRTYwMDAwNzAwMDAwMDBBMDAwODAwMjAxMDAwMDA2MDE4MDMwMEJFCis6MTAwRTcwMDA2MDA4MDMwMDQwMDAwMzAwOEQwMDAwMDA0NDA5MEIwMERGCis6MTAwRTgwMDAwNzAwMDAwMDIwMDgwMDAwNDAwMDAxMDBGNTA1MDAwMEY4Cis6MTAwRTkwMDA0MjAwMDMwMDBBMDAwODAwMjAwODAwMDA0MDAwMDEwMDkyCis6MTAwRUEwMDBGNTAwMDAwMDQyMDAwMTAwMEEwMDA4MDAwNDA5MDAwMEVCCis6MTAwRUIwMDA4Njk4MUQwMDc1MUUwMDAwNDIwMDAzMDA0QTA0MDEwMEQwCis6MTAwRUMwMDAwQTBDMDAwMDA2QUExRDAwMDcwMDAwMDAwMjA0MDAwMDMyCis6MTAwRUQwMDAwMjBDMDAwMDdEMTcwMDAwRjUxQTAwMDA0MjgwMDEwMDlFCis6MTAwRUUwMDA0QTE0MDMwMDRBMUMwMzAwNEEyNDAzMDA0QTJDMDMwMDRFCis6MTAwRUYwMDA0QTM0MDMwMDRBM0MwMzAwNEE0NDAzMDAwQTRDMDAwMDAxCis6MTAwRjAwMDAzRDA0MDAwMEY1MTMwMDAwRkQxQTAwMDA0MjAwMDMwMDNDCis6MTAwRjEwMDA0QTAwMEIwMDRBODAxQjAwNEE4MDEzMDAwQTAwMjAwMDkwCis6MTAwRjIwMDA0NDkxMDgwMDQ0QTExOTAwRTQ4OTAzMDBFQzk5MDMwMEVFCis6MTAwRjMwMDAwMjU1MDAwMDBBNUQwMDAwNDIwMDAzMDA0QTAwMEIwMDU5Cis6MTAwRjQwMDA0QTgwMUIwMDRBODAxMzAwMEEwMDIwMDA0NDkxMDgwMEQ4Cis6MTAwRjUwMDA0NEExMTkwMEU0ODkwMzAwRUM5OTAzMDAwMjY1MDAwMDM0Cis6MTAwRjYwMDAwQTZEMDAwMDQyMDAwMzAwNEEwMDBCMDA0QTAwMTkwMDBECis6MTAwRjcwMDA0QTgwMkIwMDRBODAxMzAwNEE4MDIxMDAwQTAwMzAwMDdBCis6MTAwRjgwMDA0NDkxMDgwMDQ0QTExOTAwNDRCMTJBMDBFNDg5MDMwMEY3Cis6MTAwRjkwMDBFQzk5MDMwMDAyNzUwMDAwMEE3RDAwMDBFNEE5MDMwMDNCCis6MTAwRkEwMDAwMjA3MDAwMDdEMTAwMDAwMTUwNDAwMDA0MjgwMDEwMENGCis6MTAwRkIwMDAwQTAwMDgwMEU0MDkwMTAwMDIwRjAwMDBGNTJBMDAwMDAxCis6MTAwRkMwMDBGRDE5MDAwMDQyMDAwMTAwNEE4MDA5MDAwQTAwMTAwMERCCis6MTAwRkQwMDAzNDA5MDAwMDc0MTYwMDAwRjUyOTAwMDA0MjAwMDEwMEU5Cis6MTAwRkUwMDAwQTAwMTAwMDdDOTEwMDAwNzUyMDAwMDA0MjAwMDEwMDAyCis6MTAwRkYwMDAwQTAwMDgwMDA0MDkwMDAwODYwQTIwMDBGNTI2MDAwMDA3Cis6MTAxMDAwMDBGNTI3MDAwMDQyMDAwMzAwNEEwMDA5MDAwQTAwMTAwMDEyCis6MTAxMDEwMDAzQzBBMDAwMDdDMTYwMDAwNzUxQTAwMDBGRDBCMDAwMDYxCis6MTAxMDIwMDA0MjAwMDEwMDRBODA1MTAwMEEwMDQ4MDAwNzAwMTYwMEYzCis6MTAxMDMwMDA3NTEwMDAwMDQyMDAwMTAwMEEyQzI4MDAxMjFEMjgwMDMzCis6MTAxMDQwMDAxMjI1MjgwMDMyMUYwMDAwMDcwMDFFMDAwNzAwMEUwMEI2Cis6MTAxMDUwMDA3NTE5MDAwMDQyMDAwMTAwRjUyRDAwMDA0QTAwMEQwMDQ2Cis6MTAxMDYwMDAwQTAwMTAwMDQ0OTEwMDAwODZFQTIwMDA0MjAwMDEwMEJFCis6MTAxMDcwMDAwQTM0MjgwMDVEMEUwMDAwOEQwMDAwMDA3NTAzMDAwMDlBCis6MTAxMDgwMDAyMDA4MDAwMDQwMDAwMTAwRjREMjA1MDAwNEQxNTQwMDAzCis6MTAxMDkwMDA1QzczMDAwMDg2OEIyMTAwMDcwMDAwMDAwNzAwMEMwMDM1Cis6MTAxMEEwMDAwNzAwMDgwMDA3MDAwQTAwOEQxNzAyMDAxMDA4MDAwMDYyCis6MTAxMEIwMDAzQTA0MDgwMDA2QjIzNDAwMDcwMDAwMDAwNjkyMjEwMDNFCis6MTAxMEMwMDAwNzAwMDAwMDA3MDAwODAwNzUyMjAwMDA0MjAwMDEwMDMwCis6MTAxMEQwMDAwQTAwMjAwMDA0MjEwMDAwODY1ODIyMDAyRDFFMDAwMDc2Cis6MTAxMEUwMDBGNTAyMDAwMDQyMDAwMTAwMEEwMDA4MDAwNDA5MDAwMEE3Cis6MTAxMEYwMDA4NkNBMjEwMDA3MDAwMDAwMTAyMDAwMDAzQTA0MzAwMERBCis6MTAxMTAwMDA3RDA1MDAwMEMzODAwMTAwMEEwMDA4MDAyNDg5MDIwMDU4Cis6MTAxMTEwMDAwMjA1MjgwMDAyMEMyODAwMEQ4MTBBMDAyMDA4MDAwMEFBCis6MTAxMTIwMDBGNTAyMDAwMDQwMDAwMTAwMDcwMDIyMDBGRDA0MDAwMDVECis6MTAxMTMwMDA0MjgwMDEwMDBBMDA3MDAwMDAwMDAzMDAyMDcwMDAwMERGCis6MTAxMTQwMDAwNkZBMDcwMDQwODAwMTAwOEQyQjAyMDAxMDA4MDAwMDA1Cis6MTAxMTUwMDAzQTA0MDgwMDA2QUEyQzAwMDcwMDAwMDBGRDAyMDAwMDY3Cis6MTAxMTYwMDA0MjgwMDEwMDBBMDAwODAwMDQwOTAwMDA4NkMyMjIwMDMzCis6MTAxMTcwMDAwNzAwMDAwMDA2MDIwMjAwMDcwMDAwMDA3NTA4MDAwMERBCis6MTAxMTgwMDBGRDA5MDAwMDBEMDEwMDAwMDY0MjIzMDA5NTAyMDAwMDQ5Cis6MTAxMTkwMDA3NTBCMDAwMDdEMDkwMDAwMEQwMDAwMDAxNTA1MDAwMDIyCis6MTAxMUEwMDA0MjAwMDEwMDBBMDAxODAwMDQxOTAwMDA4NjAwMkEwMDBECis6MTAxMUIwMDBGNTA2MDAwMDIwMTAwMDAwNDAwMDAxMDBGNTA0MDAwMENBCis6MTAxMUMwMDAyMDA4MDAwMDQwMDAwMTAwNzUwNzAwMDA0MjAwMDEwMEY3Cis6MTAxMUQwMDA0QTgwMDkwMDBBMDAxMDAwMjQxMTAwMDAwNDA5MDAwMEUwCis6MTAxMUUwMDA4NkYyMjMwMDE1MDgwMDAwMDIwMTA4MDAwNDEyMTAwMDE2Cis6MTAxMUYwMDAwNjEyMjQwMDc1MDUwMDAwMDQxMjA4MDAwNzAwMDAwMDE0Cis6MTAxMjAwMDAwMjAxMTAwMDc1MDUwMDAwMjUwNDAwMDAyNDExMDIwMEYxCis6MTAxMjEwMDAwMjAxMTAwMDIwMDgwMDAwNjAxMDAzMDA0MDAwMDEwMERGCis6MTAxMjIwMDAyNDE5MDAwMDg2MDAyQTAwOEQwMDAwMDA2NDA0MDAwMERDCis6MTAxMjMwMDAwNDlEMDAwMDg2MTAyOTAwMDIwMTE4MDA3NTA1MDAwMEI5Cis6MTAxMjQwMDA0MjAwMDEwMDBBMDQyODAwOEQwMTAwMDAyNDA5MDAwMDZBCis6MTAxMjUwMDAwMjBEMjgwMDBEMDAwMDAwMjQwOTAwMDAwMjE1MjgwMERFCis6MTAxMjYwMDAwRDAwMTAwMDIwMDgwMDAwRjUwMjAwMDA0MDAwMDEwMDAxCis6MTAxMjcwMDAwNzAwMjAwMDc1MTEwMDAwRkQwMjAwMDA0MjgwMDEwMEZGCis6MTAxMjgwMDAwQTAwMDgwMDA0MDkwMDAwODZGQTI0MDAwNzAwMDAwMDk0Cis6MTAxMjkwMDAwMDAxMDAwMDIwMEIwODAwNjAwQjEzMDA2MDBCMUIwMDE2Cis6MTAxMkEwMDA2MDBBMDMwMDQwMDAwMTAwNDIwMDA1MDA0QTAwM0QwMEMyCis6MTAxMkIwMDA0QTAwMzUwMDRBMDAyRDAwMEEwMDIwMDBGNTA2MDAwMDEzCis6MTAxMkMwMDA0MjAwMDEwMDBBMTQyODAwRjUwNDAwMDA0MjAwMDEwMDU5Cis6MTAxMkQwMDAwQTAwMDgwMDE1MDMwMDAwMDQwRDAxMDA4NjAyMjYwMDI0Cis6MTAxMkUwMDAxNTQwMDAwMDk1MDAwMDAwMDQwRDAxMDA4NkYwMjUwMDY3Cis6MTAxMkYwMDAyMjAwMTAwMDJBMDAxMDAwMDYxQTI2MDAwNzAwMDAwMDM1Cis6MTAxMzAwMDAwNDMxMzMwMDA0QTkyQTAwMDcwMDAwMDAyNDIxMDMwMDRGCis6MTAxMzEwMDAwMjA1MjgwMDAyNDQyODAwMjQxMTAwMDAwMjAxNDAwMEI4Cis6MTAxMzIwMDAyNDA0MDAwMDI0MDQwMDAwMjQzMjAwMDAyQzI5MDAwMEMyCis6MTAxMzMwMDA2QzYzMDAwMDg2NzMyNzAwMDcwMDAwMDA2NEIxMDIwMEEwCis6MTAxMzQwMDA2NDA0MDAwMDY0MDQwMDAwOEQwMDAwMDA2NDBBMDAwMEQyCis6MTAxMzUwMDAwMjBEMjgwMDhEMDAxMDAwMjAwODAwMDBGNTAyMDAwMDlBCis6MTAxMzYwMDA0MDAwMDEwMDA3MDAyMjAwOEQwMDAwMDAwNEI5MzgwMDkxCis6MTAxMzcwMDAwNzAwMDAwMDZDMjkwMzAwMEEwMTMwMDBGNTAyMDAwMDlDCis6MTAxMzgwMDA0MjAwMDEwMDBBMDAwODAwMDQwOTAwMDA4NjAyMjcwMDRDCis6MTAxMzkwMDAwNzAwMDAwMDJDMjEwMDAwMEEwNTI4MDA2QzMxMDAwMDI1Cis6MTAxM0EwMDA2QzA0MDAwMDZDMDQwMDAwMEE0NTI4MDAyNDExMDAwMEIxCis6MTAxM0IwMDA2NDZCMDAwMDAyMDExMDAwOEQwMDAwMDA2QzA5MDEwMDQ4Cis6MTAxM0MwMDAwQTBEMjgwMDBEMDExMDAwMjAwODAwMDBGNTAyMDAwMEExCis6MTAxM0QwMDA0MDAwMDEwMDA3MDAyMjAwMjQ0MTAwMDAyNDA0MDAwMDE2Cis6MTAxM0UwMDAyNDA0MDAwMDI0MzIwMDAwMDIwMTMwMDA0NDI5MDMwMERDCis6MTAxM0YwMDA4NkZBMjcwMDA3MDAwMDAwMDIwMDMwMDBGNTA0MDAwMDE0Cis6MTAxNDAwMDA0MjAwMDEwMDBBMDAwODAwMTUwMzAwMDAwNDBEMDEwMDVECis6MTAxNDEwMDA4NjQwMjgwMDI0MzEwMDAwNjQwNDAwMDAwMjAxMzAwMEVFCis6MTAxNDIwMDBGNTAyMDAwMDQyMDAwMTAwMEEwMDA4MDAwNDA5MDAwMDYzCis6MTAxNDMwMDA4NjRBMjgwMDA3MDAwMDAwMDI0NDI4MDAyNDMxMDAwMEVBCis6MTAxNDQwMDAwMjA1MzAwMDI0MzkwMDAwODMwNTMwMDA4MzA4MDAwMEM1Cis6MTAxNDUwMDBGNTA1MDAwMDQyMDAwMTAwMEEwNDI4MDA4RDAwMDAwMDhDCis6MTAxNDYwMDAyNDgxMDAwMDAyMEQyODAwOEQwMDAwMDAyNDgxMDAwMDZFCis6MTAxNDcwMDAwMjE1MjgwMDhEMDExMDAwMjAwODAwMDBGNTAyMDAwMDcwCis6MTAxNDgwMDA0MDAwMDEwMDA3MDAyMjAwMjUxMDAwMDA3NTA1MDAwMDQzCis6MTAxNDkwMDA0MjAwMDMwMDRBMDAwOTAwMEEwMDEwMDAwNDA5MEEwMDgzCis6MTAxNEEwMDAwNDExMTIwMDA3MDAwMDAwMjAxMDAwMDA2MDA4MDUwMDcxCis6MTAxNEIwMDA0MDAwMDUwMEZEMDYwMDAwNDI4MDAxMDA0QTAwMDkwMENFCis6MTAxNEMwMDAwQTAwMTAwMEE1MDAwMDAwMDQwOTBBMDAwNDExMTIwMDFGCis6MTAxNEQwMDAwNzAwMDAwMDIwMDgwMDAwNjA5MDAxMDA0MDAwMDEwMEFCCis6MTAxNEUwMDBGNTAyMDAwMDQyMDAwMTAwMEEwMDA4MDAwNDA5MDAwMEEzCis6MTAxNEYwMDA4NkNBMjkwMDA3MDAwMDAwMDY0MjI0MDAwNzAwMDAwMEY5Cis6MTAxNTAwMDAwNjA2MDAwMDA3MDAwMDAwRjUwMjAwMDA0MjAwMDEwMDhFCis6MTAxNTEwMDAwQTAwMDgwMDA0MDkwMDAwODYxQTJBMDAwNzAwMDAwMERCCis6MTAxNTIwMDAwMDAxMDAwMDIwMEIwODAwNjA4QjEzMDA2MDhCMUIwMDgzCis6MTAxNTMwMDA2MDhCMjMwMDYwOEIyQjAwNjA4QjMzMDA2MDhCM0IwMDQzCis6MTAxNTQwMDA2MDhCNDMwMDYwOEI0QjAwNjA4QjUzMDA2MDhCNUIwMEIzCis6MTAxNTUwMDA2MDhCNjMwMDYwOEI2QjAwNjA4QjczMDA2MDhCN0IwMDIzCis6MTAxNTYwMDA2MDhGMDMwMDYwOEYwQjAwNjA4RjEzMDA2MDhGMUIwMDgzCis6MTAxNTcwMDA2MDhGMjMwMDYwOEYyQjAwNjA4RjMzMDA2MDhGM0IwMEYzCis6MTAxNTgwMDA2MDhGNDMwMDYwOEY0QjAwNjA4RjUzMDA2MDhGNUIwMDYzCis6MTAxNTkwMDA2MDhGNjMwMDYwOEY2QjAwNjA4RjczMDA2MDhGN0IwMEQzCis6MTAxNUEwMDA2MDhBMDMwMDA2MDYwMDAwNDA4MDAxMDA4RDAwMDAwMEY0Cis6MTAxNUIwMDA2NDBBMDAwMDAyMEQyODAwMjQwQTAwMDA3RDAyMDAwMEQ5Cis6MTAxNUMwMDA0MjgwMDEwMDBBMDAxMDAwMjQxMjAwMDBGRDAzMDAwMDA4Cis6MTAxNUQwMDA0MjgwMDEwMDBBMDAwODAwMDQwOTAwMDA4NjBBMkMwMDZECis6MTAxNUUwMDAwNzAwMDAwMDhEMDEwMDAwMjQwQTAwMDA2NDA0MDAwMEQwCis6MTAxNUYwMDA2NDA0MDAwMDAyMDEwODAwMjQwOTAwMDAyNDA0MDAwMDIzCis6MTAxNjAwMDAyNDA0MDAwMDAyMDExMDAwMEQwMDAyMDA0NDkxMDAwMEJCCis6MTAxNjEwMDA4NjYxMkMwMDA3MDAwMDAwRkQwMTAwMDA0MjgwMDEwMEVGCis6MTAxNjIwMDAwQTAwMDgwMDQ0MEEwMDAwODY0MzJDMDA0MjgwMDEwMEEyCis6MTAxNjMwMDAwRDAwMEEwMDIwMDgwMDAwRkQwMjAwMDA0MDgwMDEwMEFCCis6MTAxNjQwMDAwNzAwMjAwMDdEMDIwMDAwMjAxMDAwMDAwNjA2MDAwMEI4Cis6MTAxNjUwMDA0MDgwMDEwMEY1MDIwMDAwNDIwMDAxMDAwQTAwMDgwMDdECis6MTAxNjYwMDAwNDA5MDAwMDg2QjIyQzAwMDcwMDAwMDA3RDAzMDAwMDgyCis6MTAxNjcwMDA0MjgwMDEwMDBBMDAwODAwMDQwOTAwMDA4NkUyMkMwMEY0Cis6MTAxNjgwMDAwNzAwMDAwMDc1MDAwMDAwN0QyRTAwMDA0MjAwMDEwMEYwCis6MTAxNjkwMDA0QTgwMEIwMDIwMDAwMDAwMDQwOTAwMDA4NjA2MDAwMEJDCis6MTAxNkEwMDA0MDAwMDEwMDRBODQzMTAwOEIwNDMwMDA4MzA4MDAwMEIwCis6MTAxNkIwMDA4RDAwMDAwMDEwMDgwMDAwM0ExNDI4MDA4RDAwMDAwMDgyCis6MTAxNkMwMDAxMDA4MDAwMDNBMEMyODAwNzUwNjAwMDA0MjAwMDEwMEQ2Cis6MTAxNkQwMDAwQTAwMDgwMDE1MzgwMDAwMjQwOTAxMDAwMjA1MjgwMDRFCis6MTAxNkUwMDAwRDAwMEIwMDIwMDgwMDAwRjUwMjAwMDA0MDAwMDEwMDgyCis6MTAxNkYwMDAwNjA2MDAwMDA3MDAyMjAwNjQwNDAwMDA2NDA0MDAwMEU1Cis6MTAxNzAwMDAwNjA2MDAwMDA3MDAwMDAwMzQwMTAwMDA4RDdGMDAwMDg1Cis6MTAxNzEwMDAzQzA5MDAwMDEyMUQyODAwMTIyNTI4MDAzMjFGMDAwMDdECis6MTAxNzIwMDAwNzAwMEUwMDBEMDEwMDAwN0QwMzAwMDAyMDA4MDAwMEVFCis6MTAxNzMwMDA0MDgwMDEwMEY0RDIwNTAwMDcwMDAwMDAwNzAwMDgwMDA3Cis6MTAxNzQwMDA3RDAzMDAwMDQyODAwMTAwMEEwMDA4MDAwNDA5MDAwMDM3Cis6MTAxNzUwMDA4NjhBMkUwMDA3MDAwMDAwMDYwNjAwMDAwNzAwMDAwMDMxCis6MTAxNzYwMDAwNzAwMDAwMDEyMDAwMDAwMDcwMDEwMDAwNzAwMzIwMDEwCis6MTAxNzcwMDAwNzAwNjAwMDA3MDA0NjAwODAwMDEwMDAxQTAwNDgwMEMzCis6MTAxNzgwMDAwNDQ5MDAwMDg2RjEyRTAwMDcwMDAwMDAxMDEyMDAwMDNFCis6MTAxNzkwMDAzQTAwNTgwMDQ1MDEwMDAwMDQ1RDVDMDAwNzAwMDAwMEFECis6MTAxN0EwMDA4MDAwMDAwMDFBMDA0ODAwMDQ0OTAwMDA4NjQxMkYwMDE0Cis6MTAxN0IwMDAwNzAwMDAwMDEwMTIwMDAwM0EwMDUwMDAwNDU5MDAwMDE5Cis6MTAxN0MwMDA4Njk4MkYwMDQ1MDAwMDAwQzUwMDAwMDBGNUZGN0YwMDRGCis6MTAxN0QwMDA3REZGN0YwMDI0RDUwNzAwMjQ0MjAwMDAwMjAxNTAwMDU1Cis6MTAxN0UwMDAwMjA1MjAwMDgyMDAwMDAwMUEwMDQwMDAwNDQxMDAwMEIxCis6MTAxN0YwMDA4NkM5MkYwMDA3MDAwMDAwNjUzODAwMDAxQTAwNDAwMDZECis6MTAxODAwMDAyMDQwMDAwMDREMTAwMDAwODRDMTA0MDA4NkFCMzEwMDcwCis6MTAxODEwMDA0MDAwMDAwMDA3MDAwNDAwNjUwMTAwMDA0NTAxMDAwMEQxCis6MTAxODIwMDAyMDQwMDAwMDQwMDAwMDAwNjUwNzAwMDA4MDAwMDgwMDI0Cis6MTAxODMwMDAxQTAwNDAwMDA0NDEwMDAwODY1OTMwMDAwNzAwMDAwMEYzCis6MTAxODQwMDAxMDEyMDAwMDNBMDA0MDAwMDQ0MTAwMDA4NkIyMzAwMDRGCis6MTAxODUwMDA0RDAwMDAwMENEMDAwMDAwMTA0ODAwMDAzQTA0MjAwMEI4Cis6MTAxODYwMDA4MjA4MDAwMDFBMDA0MDAwMDQ0MTAwMDA4NkMxMzAwMEQ4Cis6MTAxODcwMDAwNzAwMDAwMDIwNDgwMDAwMDQ1OTAwMDA4Njk4MzEwMDRECis6MTAxODgwMDA0MDAwMDAwMEU1MDcwMDAwODAwNDIwMDBBMDE2MjgwMEFBCis6MTAxODkwMDBFMDE2MzIwMEUwMTYzQTAwRTAxNjQyMDA2MDEyMDIwMDQ0Cis6MTAxOEEwMDA0MDAwMDAwMDMyMDAwMDAwNzUwMDQwMDA3RDAwMDAwMDk0Cis6MTAxOEIwMDA3NEQ1MDcwMDEyMDUyMDAwODIwMDAwMDAxQTAwNDAwMEM1Cis6MTAxOEMwMDAwNDQxMDAwMDg2NzEzMTAwMDcwMDAwMDAwNjhBMDMwMDExCis6MTAxOEQwMDAwNzAwNjQwMEU1MDAwMDAwMjAwMDAwMDA0MDAwMDAwMDU4Cis6MTAxOEUwMDA2NTBBMDAwMDIwMDAwMDAwNDAwMDAyMDA0MDAwMDIwMEU1Cis6MTAxOEYwMDA0MDAwMDAwMDY1MDEwMDAwNDIwMDAwMDAwQTAwNzAwMDg2Cis6MTAxOTAwMDAwNDcxMDAwMDg2MzIzMjAwMDcwMDAwMDAwNzAwMDYwMDY0Cis6MTAxOTEwMDAwNjlBMDEwMDA3MDA2NDAwMDAwMDA1MDAyMDcwMDAwMDI2Cis6MTAxOTIwMDA0MDAwMDAwMDA2OEEwMzAwMDcwMDY0MDAwNzAwMDAwMDcyCis6MTAxOTMwMDA2RDMwMDAwMDYwODgwMjAwNjA5MDAyMDAwQTAwMDgwMDFDCis6MTAxOTQwMDA2MDg4MDIwMDQwODAwMDAwMTIwMDEwMDAwRDEwMDAwMEFFCis6MTAxOTUwMDA4NDkxMDAwMDg2RDEzMjAwMEQwRTAwMDA4NDkxMDAwMEI5Cis6MTAxOTYwMDA4NkUxMzMwMDA3MDAwMDAwMDcwMDMwMDAyMDEwMDAwMDZGCis6MTAxOTcwMDA2RDNCMDAwMDQwODAwMDAwODAwMDAwMDAxQTAwMDgwMDVECis6MTAxOTgwMDAwNDA5MDAwMDg2RjEzMjAwMDcwMDAwMDAyMDEyMDAwMDY4Cis6MTAxOTkwMDBFRDBEMDAwMDQwODAwMDAwNDI4MDAwMDAwQTAwMTAwMEIxCis6MTAxOUEwMDAwRDAwNDAwMDQ0OTUxMDAwMDcwMDAwMDAyMDEwMDAwMENBCis6MTAxOUIwMDBFRDBEMDAwMDQwODAwMDAwNDI4MDAwMDAwQTA0MjAwMDdECis6MTAxOUMwMDA4MjAwMDAwMDFBMDAwODAwMDQwOTAwMDA4NjgxMzMwMDJDCis6MTAxOUQwMDAwNzAwMDAwMDZEM0IwMDAwNDI4MDAwMDAwQTAwMDgwMDg0Cis6MTAxOUUwMDAxNTBFMDAwMDg0MDkwMTAwODYyQjM0MDAwNzAwNjAwMEZBCis6MTAxOUYwMDAxQTAwMDgwMDE1MEMwMDAwODQwOTAxMDA4NjEzMzQwMDQ5Cis6MTAxQTAwMDAyMDAwMDAwMDA3MDAxQTAwRUQwMjAwMDA0MDgwMDAwMEU2Cis6MTAxQTEwMDAwNzAwNjIwMDZEMzAwMDAwNDI4MDAyMDA0QTgwMEEwMDI4Cis6MTAxQTIwMDAyMDA4MDAwMDRBODAwQTAwMDYwNjAwMDA0QTgwMTAwMEQ0Cis6MTAxQTMwMDAwNzAwMDAwMDEyMjUyODAwMzIxRjAwMDBGNEQyMDUwMDI0Cis6MTAxQTQwMDAwNEQxNTQwMDVDNzMwMDAwODYwNzAwMDAwNzAwMDAwMDBBCis6MTAxQTUwMDAwNzAwMEMwMDA3MDAwQTAwMDcwMDFDMDA2NTM0MDAwMEE2Cis6MTAxQTYwMDA0MDAwMDIwMDIwNDgwMDAwNjA1MDAyMDAwQTAwNDAwMEQwCis6MTAxQTcwMDA2MDQwMDIwMDQwMDAwMDAwNDQ0OTQ1MDAwNzAwMDAwMEFCCis6MTAxQTgwMDAyMDQwMDAwMEU1M0EwMDAwNDAwMDAwMDBFNTI4MDAwMDhBCis6MTAxQTkwMDA0MjAwMDAwMDBBMDA0ODAwMDQ0OTAwMDA4NkY4MzkwMEFFCis6MTAxQUEwMDA2NTJDMDAwMDQyMDAwMDAwMEEwMDQwMDBENTAwMDAwMDQ0Cis6MTAxQUIwMDAwNDQxNDUwMDA3MDAwMDAwNTUwNjAwMDAwNDQ1MDUwMEVDCis6MTAxQUMwMDA4NjgyMzYwMEQ1MDEwMDAwMDQ0NTA1MDA4NjgwMzYwMDc4Cis6MTAxQUQwMDA2NTJCMDAwMDQyMDAwMDAwRTUzQTAwMDA0QTAwNTAwMDdCCis6MTAxQUUwMDAwQTAwNDAwMEQ0QzM0NTAwMDcwMDAwMDAwNDQ1NDUwMDNCCis6MTAxQUYwMDAwNzAwMDAwMENEMDAwMDAwNDQ0OTQ0MDAwNzAwMDAwMDNBCis6MTAxQjAwMDAwNDQ1NDUwMDA3MDAwMDAwNEQwMTAwMDA0NDQ5NTUwMDEwCis6MTAxQjEwMDAwNzAwMDAwMDQ0NTEwNDAwODY3OTM2MDA2NTJDMDAwMDVGCis6MTAxQjIwMDA0MjAwMDAwMDBBMDA0ODAwMDREMTRDMDAwNzAwMDAwMEY5Cis6MTAxQjMwMDA0NEMxMDQwMDg2ODMzNjAwMDcwMDAwMDAwNzAwMTYwMDM5Cis6MTAxQjQwMDBFNTJDMDAwMDQyMDAwNDAwMEEwMDQwMDAyMDQwMDAwMDk0Cis6MTAxQjUwMDA0MDAwMDAwMDY1MjkwMDAwNDIwMDAwMDAwQTAwNDAwMDJCCis6MTAxQjYwMDAwNDQxMDAwMDg2RjAzNjAwMDcwMDAwMDAwMjI0MDAwMDU3Cis6MTAxQjcwMDAwNjMyMzgwMDAyNUMwMDAwRTUyNTAwMDA0MjAwMDAwMDRCCis6MTAxQjgwMDAwQTAwNDAwMDc0NDIwMDAwRTUyQTAwMDA0MjAwMDAwMDA0Cis6MTAxQjkwMDAwQTAwNDAwMDc0NDIwMDAwMTIwMTUwMDBFNTI5MDAwMEQ0Cis6MTAxQkEwMDA0MjAwMDAwMDBBMDA0MDAwMzQ0MjAwMDAwNDQxNDUwMEE5Cis6MTAxQkIwMDAwNzAwMDAwMDIwNDAwMDAwNDAwMDAwMDBFNTNFMDAwMDVCCis6MTAxQkMwMDAyMDAwMDAwMDQwMDAwMDAwRTUyRDAwMDA1MjAxNDAwMDEwCis6MTAxQkQwMDAwQTAwNTAwMDQ0NTEwNDAwODZEQTM3MDBDNTAwMDAwMEI2Cis6MTAxQkUwMDBFNTNFMDAwMDIwNDAwMDAwNDAwMDAwMDBFNTJCMDAwMDIyCis6MTAxQkYwMDA0MjAwMDAwMDBBMDA0MDAwNTQ0MjQwMDAwNzAwMDAwMDdDCis6MTAxQzAwMDBFNTJBMDAwMDIwNDAwMDAwNDAwMDAwMDAzMjAxNTAwMEEyCis6MTAxQzEwMDAzNDAxMDQwMDc0NTYwMDAwRTUyOTAwMDA0MjAwMDIwMDZGCis6MTAxQzIwMDAwQTAwNDIwMDQyMDAwMDAwMEEwMDUwMDA3QzQxMDUwMDBBCis6MTAxQzMwMDBFNTI4MDAwMDQyMDAwMDAwMEEwMDQ4MDBDNTAwMDAwMDNFCis6MTAxQzQwMDA0NEMxNEMwMDg2QTAzODAwRTUyNjAwMDBFNTI3MDAwMENFCis6MTAxQzUwMDA0MjAwMDIwMDRBMDA0MDAwMEEwMDUwMDAzQzQyMDAwMERFCis6MTAxQzYwMDA3QzU2MDAwMEU1MjgwMDAwMjA0ODAwMDA0MDAwMDAwMEVECis6MTAxQzcwMDAxMjFEMjgwMDEyMjUyODAwNzIxRjAwMDA2NTI5MDAwMDhGCis6MTAxQzgwMDA0MjAwMDAwMDBBMDA0MDAwMDQ0MTAwMDA4NjNBMzkwMDhBCis6MTAxQzkwMDAwNzAwMEUwMDA3MDAxNjAwMDcwMDFFMDBFNTNFMDAwMENBCis6MTAxQ0EwMDA0MjAwMDAwMDBBMDA0MDAwMDQ0MTAwMDA4Njc4MzkwMDJDCis6MTAxQ0IwMDA2NTJEMDAwMDQyMDAwMDAwMEEzNDI4MDA2NTM0MDAwMDUxCis6MTAxQ0MwMDA0MjAwMDIwMDRBMDA0MjAwMjA0MDAwMDA0QTAwNEEwMDUwCis6MTAxQ0QwMDA0QTAwNTAwMEY0RDIwNTAwMDREMTU0MDA1QzczMDAwMEE3Cis6MTAxQ0UwMDA4NkUxMzkwMDA3MDAwMDAwMDYwNjAwMDAwNzAwMDgwMDMyCis6MTAxQ0YwMDAwNzAwMEMwMDA3MDAwODAwMDcwMDBBMDBFNTAxMDAwMENCCis6MTAxRDAwMDA0NTAwMDIwMDIwNDAwMDAwNjAwMDAwMDA2NTAzMDAwMDY0Cis6MTAxRDEwMDA0MDAwMDAwMDY1MkUwMDAwMjAxQTAwMDA2MDFBMEEwMDMyCis6MTAxRDIwMDA0MDAwMDAwMDY1MzQwMDAwNDIwMDAyMDA0QTAwNDIwMDBBCis6MTAxRDMwMDAyMDQwMDAwMDRBMDA0QTAwMDYwNjAwMDA0QTAwNTAwMDA5Cis6MTAxRDQwMDBGRDE3MDAwMDQyODAwMTAwMEEwMDA4MDAwNDA5MDAwMDlECis6MTAxRDUwMDA4NjVBMjIwMDA3MDAwMDAwN0QxMDAwMDA0MjgwMDEwMDJBCis6MTAxRDYwMDBGRDExMDAwMDRBODAzMzAwNEE4MDE5MDAwQTAwMjAwMDVCCis6MTAxRDcwMDA5NTAwMDAwMDQ0MTEyQTAwNDRBMTAxMDA4NjkwM0IwMDE4Cis6MTAxRDgwMDAwRDA0MDAwMDg0QjEwMDAwODY5MTNCMDBGRDE4MDAwMEE2Cis6MTAxRDkwMDA0MjgwMDEwMEZEMTAwMDAwNEE4MDA5MDAwQTAwMzgwMDVFCis6MTAxREEwMDA5NTAwMDAwMDI0MDkwMTAwNjQzQTAwMDA4NjgxM0IwMDkwCis6MTAxREIwMDAwNzAwMDAwMDA0MzkwMDAwODY5MjNCMDAwNzAwMDAwMDg1Cis6MTAxREMwMDAwNjlBM0IwMDBEMDAwMDAwOEQwMDAwMDAyMDA4MDAwMDc2Cis6MTAxREQwMDA3RDM4MDAwMDQwODAwMTAwMDIwMDcwMDA3RDExMDAwMDhECis6MTAxREUwMDA0MjgwMDEwMDdEMTkwMDAwNEE4MDI5MDAwQTAwMzAwMDZECis6MTAxREYwMDAwMjAwMzgwMDI0MzEwMDAwMjQwNDAwMDAyNDA0MDAwMDA0Cis6MTAxRTAwMDAyNDJBMDAwMDAyMDUyODAwOEQwNjAwMDAxMDA4MDAwMEFBCis6MTAxRTEwMDAzQTE0MjgwMDBENzUwMDAwMjRCMTAwMDA2NDIyMDAwMDZGCis6MTAxRTIwMDA4NjAzM0QwMDAyNDQyODAwMTAwODAwMDAzQTBDMjgwMEY4Cis6MTAxRTMwMDAwRDgwMEIwMDIwMDgwMDAwRkQwMjAwMDA0MDgwMDEwMDIyCis6MTAxRTQwMDAwNzAwMjAwMDhENzUwMDAwMjRCMTAwMDAwMjAxMTAwMDgxCis6MTAxRTUwMDA0NDIxMDEwMDg2NDkzRTAwMTAxODAwMDAzQTAwMTAwMDlECis6MTAxRTYwMDA3RDM4MDAwMDQyODAwMTAwMEEwMDA4MDAwNDA5MDAwMERCCis6MTAxRTcwMDA4NjQ4M0UwMDAwMDAwMzAwMDY0QTNFMDBCRDAwMDAwMDA4Cis6MTAxRTgwMDA4RDAwMDAwMDY0MzEwMjAwNjQwQTAwMDAwMjBEMjgwMDg5Cis6MTAxRTkwMDA4RDgwMEIwMDIwMDgwMDAwRkQwMjAwMDA0MDgwMDEwMDQyCis6MTAxRUEwMDAwNzAwMjAwMDdEMzgwMDAwNDI4MDAxMDAwQTAwMDgwMDgxCis6MTAxRUIwMDAwNDA5MDAwMDg2MzIzRTAwMDAwMDAzMDBGRDAyMDAwMDFECis6MTAxRUMwMDA0MjgwMDEwMDBBMDAwODAwMDQwOTAwMDA4NjgyM0QwMEVCCis6MTAxRUQwMDAwNzAwMDAwMDEwMjgwMDAwM0EwNDI4MDAwRDc1MDAwMERCCis6MTAxRUUwMDAyNDA5MDMwMDY0MjIwMDAwMDIwRDI4MDA2QzMxMDIwMDY2Cis6MTAxRUYwMDAwQTQ1MjgwMDBEODEwQjAwMjAwODAwMDBGRDAyMDAwMEFCCis6MTAxRjAwMDA0MDgwMDEwMDA3MDAyMDAwOEQwMDAwMDAyNDBBMDAwMDJFCis6MTAxRjEwMDAwNjRBM0UwMDAyMDExMDAwMTAxODAwMDAzQTAwMTAwMEFFCis6MTAxRjIwMDBCRDAwMDAwMDEwMzgwMDAwM0EwNDMwMDA3RDE4MDAwMEE5Cis6MTAxRjMwMDA0MjgwMDEwMEZEMTgwMDAwNEE4MDA5MDAwQTAwMjAwMENDCis6MTAxRjQwMDBBRDAwMDAwMDI0ODkwMjAwMkMyMTA3MDAxMDEwMDAwMEMxCis6MTAxRjUwMDA4MzA1MzAwMDhCMEQzMDAwQkIxNDMwMDA4MzFDMzAwMDMzCis6MTAxRjYwMDA4MzIwMDAwMDdEMTMwMDAwNDI4MDAzMDA0QTg0MzMwMDc4Cis6MTAxRjcwMDBDQkFDMzMwMENCQjQzMzAwQ0JCQzMzMDBDQkM0MzMwMDg5Cis6MTAxRjgwMDBDQkNDMzMwMENCRDQzMzAwOEI1QzMwMDA4MzYwMDAwMEJCCis6MTAxRjkwMDAwRDFFMDAwMEZEMDUwMDAwNDI4MDAxMDAwQTAwMjAwMDI3Cis6MTAxRkEwMDAyNDA5MDIwMDhEMDYwMDAwNkNBOTAwMDA5RDAwMDAwMEJECis6MTAxRkIwMDBGRDAyMDAwMDQyODAwMTAwMEEwMDA4MDAwNDA5MDAwMDQwCis6MTAxRkMwMDA4NjZBM0YwMDA3MDAwMDAwMDIwNTI4MDAwQTBEMjgwMDZECis6MTAxRkQwMDAwMjQ0MjgwMDEwMTgwMDAwM0ExNDI4MDA4RDAwMEMwMDVDCis6MTAxRkUwMDAyMDA4MDAwMEZEMDIwMDAwNDA4MDAxMDAwNzAwMjIwMEUwCis6MTAxRkYwMDAwNDM5MDAwMDg2NTgyMjAwMEQxRTAwMDA3RDA1MDAwMEY3Cis6MTAyMDAwMDA0MjgwMDEwMDBBMDAyMDAwMjQwOTAyMDBBNTAwMDAwMDBGCis6MTAyMDEwMDBGRDAyMDAwMDQyODAwMTAwMEEwMDA4MDAwNDA5MDAwMERGCis6MTAyMDIwMDA4NjJBNDAwMDA3MDAwMDAwMDIwNTI4MDAwMjBDMjgwMDU0Cis6MTAyMDMwMDAxMDIwMDAwMDNBMTQyODAwMEQwMTBDMDAyMDA4MDAwMEI4Cis6MTAyMDQwMDBGRDAyMDAwMDQwODAwMTAwMDY1QTIyMDAwNzAwMjIwMDI1Cis6MTAyMDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgwCis6MTAyMDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcwCis6MTAyMDcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYwCis6MTAyMDgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUwCis6MTAyMDkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQwCis6MTAyMEEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMwCis6MTAyMEIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIwCis6MTAyMEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwCis6MTAyMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCis6MTAyMEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYwCis6MTAyMEYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUwCis6MTAyMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENGCis6MTAyMTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJGCis6MTAyMTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFGCis6MTAyMTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlGCis6MTAyMTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhGCis6MTAyMTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdGCis6MTAyMTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZGCis6MTAyMTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVGCis6MTAyMTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRGCis6MTAyMTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGCis6MTAyMUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJGCis6MTAyMUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFGCis6MTAyMUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGCis6MTAyMUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZGCis6MTAyMUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVGCis6MTAyMUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERGCis6MTAyMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENFCis6MTAyMjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJFCis6MTAyMjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFFCis6MTAyMjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlFCis6MTAyMjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhFCis6MTAyMjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdFCis6MTAyMjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZFCis6MTAyMjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVFCis6MTAyMjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRFCis6MTAyMjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNFCis6MTAyMkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJFCis6MTAyMkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFFCis6MTAyMkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFCis6MTAyMkQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZFCis6MTAyMkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVFCis6MTAyMkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERFCis6MTAyMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENECis6MTAyMzEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJECis6MTAyMzIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFECis6MTAyMzMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlECis6MTAyMzQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhECis6MTAyMzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdECis6MTAyMzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZECis6MTAyMzcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVECis6MTAyMzgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRECis6MTAyMzkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNECis6MTAyM0EwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJECis6MTAyM0IwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFECis6MTAyM0MwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBECis6MTAyM0QwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZECis6MTAyM0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVECis6MTAyM0YwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERECis6MTAyNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENDCis6MTAyNDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJDCis6MTAyNDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFDCis6MTAyNDMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlDCis6MTAyNDQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhDCis6MTAyNDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdDCis6MTAyNDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZDCis6MTAyNDcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVDCis6MTAyNDgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRDCis6MTAyNDkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNDCis6MTAyNEEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJDCis6MTAyNEIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFDCis6MTAyNEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDCis6MTAyNEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZDCis6MTAyNEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVDCis6MTAyNEYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERDCis6MTAyNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENCCis6MTAyNTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJCCis6MTAyNTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFCCis6MTAyNTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlCCis6MTAyNTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhCCis6MTAyNTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdCCis6MTAyNTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZCCis6MTAyNTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVCCis6MTAyNTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRCCis6MTAyNTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNCCis6MTAyNUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJCCis6MTAyNUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFCCis6MTAyNUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCCis6MTAyNUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZCCis6MTAyNUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVCCis6MTAyNUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERCCis6MTAyNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENBCis6MTAyNjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJBCis6MTAyNjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFBCis6MTAyNjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlBCis6MTAyNjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhBCis6MTAyNjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdBCis6MTAyNjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZBCis6MTAyNjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVBCis6MTAyNjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRBCis6MTAyNjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNBCis6MTAyNkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJBCis6MTAyNkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFBCis6MTAyNkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBCis6MTAyNkQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZBCis6MTAyNkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVBCis6MTAyNkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERBCis6MTAyNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM5Cis6MTAyNzEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI5Cis6MTAyNzIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE5Cis6MTAyNzMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk5Cis6MTAyNzQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg5Cis6MTAyNzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc5Cis6MTAyNzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY5Cis6MTAyNzcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU5Cis6MTAyNzgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ5Cis6MTAyNzkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM5Cis6MTAyN0EwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI5Cis6MTAyN0IwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE5Cis6MTAyN0MwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5Cis6MTAyN0QwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY5Cis6MTAyN0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU5Cis6MTAyN0YwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ5Cis6MTAyODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM4Cis6MTAyODEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI4Cis6MTAyODIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE4Cis6MTAyODMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk4Cis6MTAyODQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg4Cis6MTAyODUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc4Cis6MTAyODYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY4Cis6MTAyODcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU4Cis6MTAyODgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ4Cis6MTAyODkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM4Cis6MTAyOEEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI4Cis6MTAyOEIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE4Cis6MTAyOEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4Cis6MTAyOEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY4Cis6MTAyOEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU4Cis6MTAyOEYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ4Cis6MTAyOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM3Cis6MTAyOTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI3Cis6MTAyOTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE3Cis6MTAyOTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk3Cis6MTAyOTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg3Cis6MTAyOTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc3Cis6MTAyOTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY3Cis6MTAyOTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU3Cis6MTAyOTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ3Cis6MTAyOTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM3Cis6MTAyOUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI3Cis6MTAyOUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE3Cis6MTAyOUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3Cis6MTAyOUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY3Cis6MTAyOUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU3Cis6MTAyOUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ3Cis6MTAyQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM2Cis6MTAyQTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI2Cis6MTAyQTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE2Cis6MTAyQTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk2Cis6MTAyQTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg2Cis6MTAyQTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc2Cis6MTAyQTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY2Cis6MTAyQTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU2Cis6MTAyQTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ2Cis6MTAyQTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM2Cis6MTAyQUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI2Cis6MTAyQUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE2Cis6MTAyQUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2Cis6MTAyQUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY2Cis6MTAyQUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU2Cis6MTAyQUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ2Cis6MTAyQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM1Cis6MTAyQjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI1Cis6MTAyQjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE1Cis6MTAyQjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk1Cis6MTAyQjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg1Cis6MTAyQjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc1Cis6MTAyQjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY1Cis6MTAyQjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU1Cis6MTAyQjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ1Cis6MTAyQjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM1Cis6MTAyQkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI1Cis6MTAyQkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE1Cis6MTAyQkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1Cis6MTAyQkQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY1Cis6MTAyQkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU1Cis6MTAyQkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ1Cis6MTAyQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM0Cis6MTAyQzEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI0Cis6MTAyQzIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE0Cis6MTAyQzMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk0Cis6MTAyQzQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg0Cis6MTAyQzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc0Cis6MTAyQzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY0Cis6MTAyQzcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU0Cis6MTAyQzgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ0Cis6MTAyQzkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM0Cis6MTAyQ0EwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI0Cis6MTAyQ0IwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE0Cis6MTAyQ0MwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0Cis6MTAyQ0QwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY0Cis6MTAyQ0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU0Cis6MTAyQ0YwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ0Cis6MTAyRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMzCis6MTAyRDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIzCis6MTAyRDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEzCis6MTAyRDMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkzCis6MTAyRDQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgzCis6MTAyRDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDczCis6MTAyRDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYzCis6MTAyRDcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUzCis6MTAyRDgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQzCis6MTAyRDkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMzCis6MTAyREEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIzCis6MTAyREIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEzCis6MTAyREMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzCis6MTAyREQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYzCis6MTAyREUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUzCis6MTAyREYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQzCis6MTAyRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMyCis6MTAyRTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIyCis6MTAyRTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEyCis6MTAyRTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkyCis6MTAyRTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgyCis6MTAyRTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcyCis6MTAyRTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYyCis6MTAyRTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUyCis6MTAyRTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQyCis6MTAyRTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMyCis6MTAyRUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIyCis6MTAyRUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEyCis6MTAyRUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyCis6MTAyRUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYyCis6MTAyRUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUyCis6MTAyRUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQyCis6MTAyRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMxCis6MTAyRjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIxCis6MTAyRjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEExCis6MTAyRjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkxCis6MTAyRjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgxCis6MTAyRjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcxCis6MTAyRjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYxCis6MTAyRjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUxCis6MTAyRjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQxCis6MTAyRjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMxCis6MTAyRkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIxCis6MTAyRkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDExCis6MTAyRkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxCis6MTAyRkQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYxCis6MTAyRkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUxCis6MTAyRkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQxCis6MDAwMDAwMDFGRgpkaWZmIC0tZ2l0IGEvZnMvS2NvbmZpZyBiL2ZzL0tjb25maWcKaW5kZXggMGNlNzJkYy4uODRhYjc2YSAxMDA2NDQKLS0tIGEvZnMvS2NvbmZpZworKysgYi9mcy9LY29uZmlnCkBAIC05MzAsNyArOTMwLDcgQEAKIAogY29uZmlnIFBST0NfVk1DT1JFCiAgICAgICAgIGJvb2wgIi9wcm9jL3ZtY29yZSBzdXBwb3J0IChFWFBFUklNRU5UQUwpIgotICAgICAgICBkZXBlbmRzIG9uIFBST0NfRlMgJiYgRVhQRVJJTUVOVEFMICYmIENSQVNIX0RVTVAKKyAgICAgICAgZGVwZW5kcyBvbiBQUk9DX0ZTICYmIENSQVNIX0RVTVAKIAlkZWZhdWx0IHkKICAgICAgICAgaGVscAogICAgICAgICBFeHBvcnRzIHRoZSBkdW1wIGltYWdlIG9mIGNyYXNoZWQga2VybmVsIGluIEVMRiBmb3JtYXQuCmRpZmYgLS1naXQgYS9mcy9NYWtlZmlsZSBiL2ZzL01ha2VmaWxlCmluZGV4IDFlN2ExMWIuLjI3N2IwNzkgMTAwNjQ0Ci0tLSBhL2ZzL01ha2VmaWxlCisrKyBiL2ZzL01ha2VmaWxlCkBAIC0xOSw2ICsxOSw3IEBACiBvYmoteSArPQluby1ibG9jay5vCiBlbmRpZgogCitvYmotJChDT05GSUdfQkxLX0RFVl9JTlRFR1JJVFkpICs9IGJpby1pbnRlZ3JpdHkubwogb2JqLSQoQ09ORklHX0lOT1RJRlkpCQkrPSBpbm90aWZ5Lm8KIG9iai0kKENPTkZJR19JTk9USUZZX1VTRVIpCSs9IGlub3RpZnlfdXNlci5vCiBvYmotJChDT05GSUdfRVBPTEwpCQkrPSBldmVudHBvbGwubwpkaWZmIC0tZ2l0IGEvZnMvYmlvLWludGVncml0eS5jIGIvZnMvYmlvLWludGVncml0eS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYzZTJlZTYKLS0tIC9kZXYvbnVsbAorKysgYi9mcy9iaW8taW50ZWdyaXR5LmMKQEAgLTAsMCArMSw3MTkgQEAKKy8qCisgKiBiaW8taW50ZWdyaXR5LmMgLSBiaW8gZGF0YSBpbnRlZ3JpdHkgZXh0ZW5zaW9ucworICoKKyAqIENvcHlyaWdodCAoQykgMjAwNywgMjAwOCBPcmFjbGUgQ29ycG9yYXRpb24KKyAqIFdyaXR0ZW4gYnk6IE1hcnRpbiBLLiBQZXRlcnNlbiA8bWFydGluLnBldGVyc2VuQG9yYWNsZS5jb20+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbgorICogMiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0CisgKiBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEgMDIxMzksCisgKiBVU0EuCisgKgorICovCisKKyNpbmNsdWRlIDxsaW51eC9ibGtkZXYuaD4KKyNpbmNsdWRlIDxsaW51eC9tZW1wb29sLmg+CisjaW5jbHVkZSA8bGludXgvYmlvLmg+CisjaW5jbHVkZSA8bGludXgvd29ya3F1ZXVlLmg+CisKK3N0YXRpYyBzdHJ1Y3Qga21lbV9jYWNoZSAqYmlvX2ludGVncml0eV9zbGFiIF9fcmVhZF9tb3N0bHk7CitzdGF0aWMgc3RydWN0IHdvcmtxdWV1ZV9zdHJ1Y3QgKmtpbnRlZ3JpdHlkX3dxOworCisvKioKKyAqIGJpb19pbnRlZ3JpdHlfYWxsb2NfYmlvc2V0IC0gQWxsb2NhdGUgaW50ZWdyaXR5IHBheWxvYWQgYW5kIGF0dGFjaCBpdCB0byBiaW8KKyAqIEBiaW86CWJpbyB0byBhdHRhY2ggaW50ZWdyaXR5IG1ldGFkYXRhIHRvCisgKiBAZ2ZwX21hc2s6CU1lbW9yeSBhbGxvY2F0aW9uIG1hc2sKKyAqIEBucl92ZWNzOglOdW1iZXIgb2YgaW50ZWdyaXR5IG1ldGFkYXRhIHNjYXR0ZXItZ2F0aGVyIGVsZW1lbnRzCisgKiBAYnM6CQliaW9fc2V0IHRvIGFsbG9jYXRlIGZyb20KKyAqCisgKiBEZXNjcmlwdGlvbjogVGhpcyBmdW5jdGlvbiBwcmVwYXJlcyBhIGJpbyBmb3IgYXR0YWNoaW5nIGludGVncml0eQorICogbWV0YWRhdGEuICBucl92ZWNzIHNwZWNpZmllcyB0aGUgbWF4aW11bSBudW1iZXIgb2YgcGFnZXMgY29udGFpbmluZworICogaW50ZWdyaXR5IG1ldGFkYXRhIHRoYXQgY2FuIGJlIGF0dGFjaGVkLgorICovCitzdHJ1Y3QgYmlvX2ludGVncml0eV9wYXlsb2FkICpiaW9faW50ZWdyaXR5X2FsbG9jX2Jpb3NldChzdHJ1Y3QgYmlvICpiaW8sCisJCQkJCQkJIGdmcF90IGdmcF9tYXNrLAorCQkJCQkJCSB1bnNpZ25lZCBpbnQgbnJfdmVjcywKKwkJCQkJCQkgc3RydWN0IGJpb19zZXQgKmJzKQoreworCXN0cnVjdCBiaW9faW50ZWdyaXR5X3BheWxvYWQgKmJpcDsKKwlzdHJ1Y3QgYmlvX3ZlYyAqaXY7CisJdW5zaWduZWQgbG9uZyBpZHg7CisKKwlCVUdfT04oYmlvID09IE5VTEwpOworCisJYmlwID0gbWVtcG9vbF9hbGxvYyhicy0+YmlvX2ludGVncml0eV9wb29sLCBnZnBfbWFzayk7CisJaWYgKHVubGlrZWx5KGJpcCA9PSBOVUxMKSkgeworCQlwcmludGsoS0VSTl9FUlIgIiVzOiBjb3VsZCBub3QgYWxsb2MgYmlwXG4iLCBfX2Z1bmNfXyk7CisJCXJldHVybiBOVUxMOworCX0KKworCW1lbXNldChiaXAsIDAsIHNpemVvZigqYmlwKSk7CisKKwlpdiA9IGJ2ZWNfYWxsb2NfYnMoZ2ZwX21hc2ssIG5yX3ZlY3MsICZpZHgsIGJzKTsKKwlpZiAodW5saWtlbHkoaXYgPT0gTlVMTCkpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICIlczogY291bGQgbm90IGFsbG9jIGJpcF92ZWNcbiIsIF9fZnVuY19fKTsKKwkJbWVtcG9vbF9mcmVlKGJpcCwgYnMtPmJpb19pbnRlZ3JpdHlfcG9vbCk7CisJCXJldHVybiBOVUxMOworCX0KKworCWJpcC0+YmlwX3Bvb2wgPSBpZHg7CisJYmlwLT5iaXBfdmVjID0gaXY7CisJYmlwLT5iaXBfYmlvID0gYmlvOworCWJpby0+YmlfaW50ZWdyaXR5ID0gYmlwOworCisJcmV0dXJuIGJpcDsKK30KK0VYUE9SVF9TWU1CT0woYmlvX2ludGVncml0eV9hbGxvY19iaW9zZXQpOworCisvKioKKyAqIGJpb19pbnRlZ3JpdHlfYWxsb2MgLSBBbGxvY2F0ZSBpbnRlZ3JpdHkgcGF5bG9hZCBhbmQgYXR0YWNoIGl0IHRvIGJpbworICogQGJpbzoJYmlvIHRvIGF0dGFjaCBpbnRlZ3JpdHkgbWV0YWRhdGEgdG8KKyAqIEBnZnBfbWFzazoJTWVtb3J5IGFsbG9jYXRpb24gbWFzaworICogQG5yX3ZlY3M6CU51bWJlciBvZiBpbnRlZ3JpdHkgbWV0YWRhdGEgc2NhdHRlci1nYXRoZXIgZWxlbWVudHMKKyAqCisgKiBEZXNjcmlwdGlvbjogVGhpcyBmdW5jdGlvbiBwcmVwYXJlcyBhIGJpbyBmb3IgYXR0YWNoaW5nIGludGVncml0eQorICogbWV0YWRhdGEuICBucl92ZWNzIHNwZWNpZmllcyB0aGUgbWF4aW11bSBudW1iZXIgb2YgcGFnZXMgY29udGFpbmluZworICogaW50ZWdyaXR5IG1ldGFkYXRhIHRoYXQgY2FuIGJlIGF0dGFjaGVkLgorICovCitzdHJ1Y3QgYmlvX2ludGVncml0eV9wYXlsb2FkICpiaW9faW50ZWdyaXR5X2FsbG9jKHN0cnVjdCBiaW8gKmJpbywKKwkJCQkJCSAgZ2ZwX3QgZ2ZwX21hc2ssCisJCQkJCQkgIHVuc2lnbmVkIGludCBucl92ZWNzKQoreworCXJldHVybiBiaW9faW50ZWdyaXR5X2FsbG9jX2Jpb3NldChiaW8sIGdmcF9tYXNrLCBucl92ZWNzLCBmc19iaW9fc2V0KTsKK30KK0VYUE9SVF9TWU1CT0woYmlvX2ludGVncml0eV9hbGxvYyk7CisKKy8qKgorICogYmlvX2ludGVncml0eV9mcmVlIC0gRnJlZSBiaW8gaW50ZWdyaXR5IHBheWxvYWQKKyAqIEBiaW86CWJpbyBjb250YWluaW5nIGJpcCB0byBiZSBmcmVlZAorICogQGJzOgkJYmlvX3NldCB0aGlzIGJpbyB3YXMgYWxsb2NhdGVkIGZyb20KKyAqCisgKiBEZXNjcmlwdGlvbjogVXNlZCB0byBmcmVlIHRoZSBpbnRlZ3JpdHkgcG9ydGlvbiBvZiBhIGJpby4gVXN1YWxseQorICogY2FsbGVkIGZyb20gYmlvX2ZyZWUoKS4KKyAqLwordm9pZCBiaW9faW50ZWdyaXR5X2ZyZWUoc3RydWN0IGJpbyAqYmlvLCBzdHJ1Y3QgYmlvX3NldCAqYnMpCit7CisJc3RydWN0IGJpb19pbnRlZ3JpdHlfcGF5bG9hZCAqYmlwID0gYmlvLT5iaV9pbnRlZ3JpdHk7CisKKwlCVUdfT04oYmlwID09IE5VTEwpOworCisJLyogQSBjbG9uZWQgYmlvIGRvZXNuJ3Qgb3duIHRoZSBpbnRlZ3JpdHkgbWV0YWRhdGEgKi8KKwlpZiAoIWJpb19mbGFnZ2VkKGJpbywgQklPX0NMT05FRCkgJiYgYmlwLT5iaXBfYnVmICE9IE5VTEwpCisJCWtmcmVlKGJpcC0+YmlwX2J1Zik7CisKKwltZW1wb29sX2ZyZWUoYmlwLT5iaXBfdmVjLCBicy0+YnZlY19wb29sc1tiaXAtPmJpcF9wb29sXSk7CisJbWVtcG9vbF9mcmVlKGJpcCwgYnMtPmJpb19pbnRlZ3JpdHlfcG9vbCk7CisKKwliaW8tPmJpX2ludGVncml0eSA9IE5VTEw7Cit9CitFWFBPUlRfU1lNQk9MKGJpb19pbnRlZ3JpdHlfZnJlZSk7CisKKy8qKgorICogYmlvX2ludGVncml0eV9hZGRfcGFnZSAtIEF0dGFjaCBpbnRlZ3JpdHkgbWV0YWRhdGEKKyAqIEBiaW86CWJpbyB0byB1cGRhdGUKKyAqIEBwYWdlOglwYWdlIGNvbnRhaW5pbmcgaW50ZWdyaXR5IG1ldGFkYXRhCisgKiBAbGVuOgludW1iZXIgb2YgYnl0ZXMgb2YgaW50ZWdyaXR5IG1ldGFkYXRhIGluIHBhZ2UKKyAqIEBvZmZzZXQ6CXN0YXJ0IG9mZnNldCB3aXRoaW4gcGFnZQorICoKKyAqIERlc2NyaXB0aW9uOiBBdHRhY2ggYSBwYWdlIGNvbnRhaW5pbmcgaW50ZWdyaXR5IG1ldGFkYXRhIHRvIGJpby4KKyAqLworaW50IGJpb19pbnRlZ3JpdHlfYWRkX3BhZ2Uoc3RydWN0IGJpbyAqYmlvLCBzdHJ1Y3QgcGFnZSAqcGFnZSwKKwkJCSAgIHVuc2lnbmVkIGludCBsZW4sIHVuc2lnbmVkIGludCBvZmZzZXQpCit7CisJc3RydWN0IGJpb19pbnRlZ3JpdHlfcGF5bG9hZCAqYmlwID0gYmlvLT5iaV9pbnRlZ3JpdHk7CisJc3RydWN0IGJpb192ZWMgKml2OworCisJaWYgKGJpcC0+YmlwX3ZjbnQgPj0gYnZlY19ucl92ZWNzKGJpcC0+YmlwX3Bvb2wpKSB7CisJCXByaW50ayhLRVJOX0VSUiAiJXM6IGJpcF92ZWMgZnVsbFxuIiwgX19mdW5jX18pOworCQlyZXR1cm4gMDsKKwl9CisKKwlpdiA9IGJpcF92ZWNfaWR4KGJpcCwgYmlwLT5iaXBfdmNudCk7CisJQlVHX09OKGl2ID09IE5VTEwpOworCUJVR19PTihpdi0+YnZfcGFnZSAhPSBOVUxMKTsKKworCWl2LT5idl9wYWdlID0gcGFnZTsKKwlpdi0+YnZfbGVuID0gbGVuOworCWl2LT5idl9vZmZzZXQgPSBvZmZzZXQ7CisJYmlwLT5iaXBfdmNudCsrOworCisJcmV0dXJuIGxlbjsKK30KK0VYUE9SVF9TWU1CT0woYmlvX2ludGVncml0eV9hZGRfcGFnZSk7CisKKy8qKgorICogYmlvX2ludGVncml0eV9lbmFibGVkIC0gQ2hlY2sgd2hldGhlciBpbnRlZ3JpdHkgY2FuIGJlIHBhc3NlZAorICogQGJpbzoJYmlvIHRvIGNoZWNrCisgKgorICogRGVzY3JpcHRpb246IERldGVybWluZXMgd2hldGhlciBiaW9faW50ZWdyaXR5X3ByZXAoKSBjYW4gYmUgY2FsbGVkCisgKiBvbiB0aGlzIGJpbyBvciBub3QuCWJpbyBkYXRhIGRpcmVjdGlvbiBhbmQgdGFyZ2V0IGRldmljZSBtdXN0IGJlCisgKiBzZXQgcHJpb3IgdG8gY2FsbGluZy4gIFRoZSBmdW5jdGlvbnMgaG9ub3JzIHRoZSB3cml0ZV9nZW5lcmF0ZSBhbmQKKyAqIHJlYWRfdmVyaWZ5IGZsYWdzIGluIHN5c2ZzLgorICovCitpbnQgYmlvX2ludGVncml0eV9lbmFibGVkKHN0cnVjdCBiaW8gKmJpbykKK3sKKwkvKiBBbHJlYWR5IHByb3RlY3RlZD8gKi8KKwlpZiAoYmlvX2ludGVncml0eShiaW8pKQorCQlyZXR1cm4gMDsKKworCXJldHVybiBiZGV2X2ludGVncml0eV9lbmFibGVkKGJpby0+YmlfYmRldiwgYmlvX2RhdGFfZGlyKGJpbykpOworfQorRVhQT1JUX1NZTUJPTChiaW9faW50ZWdyaXR5X2VuYWJsZWQpOworCisvKioKKyAqIGJpb19pbnRlZ3JpdHlfaHdfc2VjdG9ycyAtIENvbnZlcnQgNTEyYiBzZWN0b3JzIHRvIGhhcmR3YXJlIGRpdHRvCisgKiBAYmk6CQlibGtfaW50ZWdyaXR5IHByb2ZpbGUgZm9yIGRldmljZQorICogQHNlY3RvcnM6CU51bWJlciBvZiA1MTIgc2VjdG9ycyB0byBjb252ZXJ0CisgKgorICogRGVzY3JpcHRpb246IFRoZSBibG9jayBsYXllciBjYWxjdWxhdGVzIGV2ZXJ5dGhpbmcgaW4gNTEyIGJ5dGUKKyAqIHNlY3RvcnMgYnV0IGludGVncml0eSBtZXRhZGF0YSBpcyBkb25lIGluIHRlcm1zIG9mIHRoZSBoYXJkd2FyZQorICogc2VjdG9yIHNpemUgb2YgdGhlIHN0b3JhZ2UgZGV2aWNlLiAgQ29udmVydCB0aGUgYmxvY2sgbGF5ZXIgc2VjdG9ycworICogdG8gcGh5c2ljYWwgc2VjdG9ycy4KKyAqLworc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgYmlvX2ludGVncml0eV9od19zZWN0b3JzKHN0cnVjdCBibGtfaW50ZWdyaXR5ICpiaSwKKwkJCQkJCSAgICB1bnNpZ25lZCBpbnQgc2VjdG9ycykKK3sKKwkvKiBBdCB0aGlzIHBvaW50IHRoZXJlIGFyZSBvbmx5IDUxMmIgb3IgNDA5NmIgRElGL0VQUCBkZXZpY2VzICovCisJaWYgKGJpLT5zZWN0b3Jfc2l6ZSA9PSA0MDk2KQorCQlyZXR1cm4gc2VjdG9ycyA+Pj0gMzsKKworCXJldHVybiBzZWN0b3JzOworfQorCisvKioKKyAqIGJpb19pbnRlZ3JpdHlfdGFnX3NpemUgLSBSZXRyaWV2ZSBpbnRlZ3JpdHkgdGFnIHNwYWNlCisgKiBAYmlvOgliaW8gdG8gaW5zcGVjdAorICoKKyAqIERlc2NyaXB0aW9uOiBSZXR1cm5zIHRoZSBtYXhpbXVtIG51bWJlciBvZiB0YWcgYnl0ZXMgdGhhdCBjYW4gYmUKKyAqIGF0dGFjaGVkIHRvIHRoaXMgYmlvLiBGaWxlc3lzdGVtcyBjYW4gdXNlIHRoaXMgdG8gZGV0ZXJtaW5lIGhvdworICogbXVjaCBtZXRhZGF0YSB0byBhdHRhY2ggdG8gYW4gSS9PLgorICovCit1bnNpZ25lZCBpbnQgYmlvX2ludGVncml0eV90YWdfc2l6ZShzdHJ1Y3QgYmlvICpiaW8pCit7CisJc3RydWN0IGJsa19pbnRlZ3JpdHkgKmJpID0gYmRldl9nZXRfaW50ZWdyaXR5KGJpby0+YmlfYmRldik7CisKKwlCVUdfT04oYmlvLT5iaV9zaXplID09IDApOworCisJcmV0dXJuIGJpLT50YWdfc2l6ZSAqIChiaW8tPmJpX3NpemUgLyBiaS0+c2VjdG9yX3NpemUpOworfQorRVhQT1JUX1NZTUJPTChiaW9faW50ZWdyaXR5X3RhZ19zaXplKTsKKworaW50IGJpb19pbnRlZ3JpdHlfdGFnKHN0cnVjdCBiaW8gKmJpbywgdm9pZCAqdGFnX2J1ZiwgdW5zaWduZWQgaW50IGxlbiwgaW50IHNldCkKK3sKKwlzdHJ1Y3QgYmlvX2ludGVncml0eV9wYXlsb2FkICpiaXAgPSBiaW8tPmJpX2ludGVncml0eTsKKwlzdHJ1Y3QgYmxrX2ludGVncml0eSAqYmkgPSBiZGV2X2dldF9pbnRlZ3JpdHkoYmlvLT5iaV9iZGV2KTsKKwl1bnNpZ25lZCBpbnQgbnJfc2VjdG9yczsKKworCUJVR19PTihiaXAtPmJpcF9idWYgPT0gTlVMTCk7CisKKwlpZiAoYmktPnRhZ19zaXplID09IDApCisJCXJldHVybiAtMTsKKworCW5yX3NlY3RvcnMgPSBiaW9faW50ZWdyaXR5X2h3X3NlY3RvcnMoYmksCisJCQkJCURJVl9ST1VORF9VUChsZW4sIGJpLT50YWdfc2l6ZSkpOworCisJaWYgKG5yX3NlY3RvcnMgKiBiaS0+dHVwbGVfc2l6ZSA+IGJpcC0+YmlwX3NpemUpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICIlczogdGFnIHRvbyBiaWcgZm9yIGJpbzogJXUgPiAldVxuIiwKKwkJICAgICAgIF9fZnVuY19fLCBucl9zZWN0b3JzICogYmktPnR1cGxlX3NpemUsIGJpcC0+YmlwX3NpemUpOworCQlyZXR1cm4gLTE7CisJfQorCisJaWYgKHNldCkKKwkJYmktPnNldF90YWdfZm4oYmlwLT5iaXBfYnVmLCB0YWdfYnVmLCBucl9zZWN0b3JzKTsKKwllbHNlCisJCWJpLT5nZXRfdGFnX2ZuKGJpcC0+YmlwX2J1ZiwgdGFnX2J1ZiwgbnJfc2VjdG9ycyk7CisKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBiaW9faW50ZWdyaXR5X3NldF90YWcgLSBBdHRhY2ggYSB0YWcgYnVmZmVyIHRvIGEgYmlvCisgKiBAYmlvOgliaW8gdG8gYXR0YWNoIGJ1ZmZlciB0bworICogQHRhZ19idWY6CVBvaW50ZXIgdG8gYSBidWZmZXIgY29udGFpbmluZyB0YWcgZGF0YQorICogQGxlbjoJTGVuZ3RoIG9mIHRoZSBpbmNsdWRlZCBidWZmZXIKKyAqCisgKiBEZXNjcmlwdGlvbjogVXNlIHRoaXMgZnVuY3Rpb24gdG8gdGFnIGEgYmlvIGJ5IGxldmVyYWdpbmcgdGhlIGV4dHJhCisgKiBzcGFjZSBwcm92aWRlZCBieSBkZXZpY2VzIGZvcm1hdHRlZCB3aXRoIGludGVncml0eSBwcm90ZWN0aW9uLiAgVGhlCisgKiBzaXplIG9mIHRoZSBpbnRlZ3JpdHkgYnVmZmVyIG11c3QgYmUgPD0gdG8gdGhlIHNpemUgcmVwb3J0ZWQgYnkKKyAqIGJpb19pbnRlZ3JpdHlfdGFnX3NpemUoKS4KKyAqLworaW50IGJpb19pbnRlZ3JpdHlfc2V0X3RhZyhzdHJ1Y3QgYmlvICpiaW8sIHZvaWQgKnRhZ19idWYsIHVuc2lnbmVkIGludCBsZW4pCit7CisJQlVHX09OKGJpb19kYXRhX2RpcihiaW8pICE9IFdSSVRFKTsKKworCXJldHVybiBiaW9faW50ZWdyaXR5X3RhZyhiaW8sIHRhZ19idWYsIGxlbiwgMSk7Cit9CitFWFBPUlRfU1lNQk9MKGJpb19pbnRlZ3JpdHlfc2V0X3RhZyk7CisKKy8qKgorICogYmlvX2ludGVncml0eV9nZXRfdGFnIC0gUmV0cmlldmUgYSB0YWcgYnVmZmVyIGZyb20gYSBiaW8KKyAqIEBiaW86CWJpbyB0byByZXRyaWV2ZSBidWZmZXIgZnJvbQorICogQHRhZ19idWY6CVBvaW50ZXIgdG8gYSBidWZmZXIgZm9yIHRoZSB0YWcgZGF0YQorICogQGxlbjoJTGVuZ3RoIG9mIHRoZSB0YXJnZXQgYnVmZmVyCisgKgorICogRGVzY3JpcHRpb246IFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHJldHJpZXZlIHRoZSB0YWcgYnVmZmVyIGZyb20gYQorICogY29tcGxldGVkIEkvTy4gVGhlIHNpemUgb2YgdGhlIGludGVncml0eSBidWZmZXIgbXVzdCBiZSA8PSB0byB0aGUKKyAqIHNpemUgcmVwb3J0ZWQgYnkgYmlvX2ludGVncml0eV90YWdfc2l6ZSgpLgorICovCitpbnQgYmlvX2ludGVncml0eV9nZXRfdGFnKHN0cnVjdCBiaW8gKmJpbywgdm9pZCAqdGFnX2J1ZiwgdW5zaWduZWQgaW50IGxlbikKK3sKKwlCVUdfT04oYmlvX2RhdGFfZGlyKGJpbykgIT0gUkVBRCk7CisKKwlyZXR1cm4gYmlvX2ludGVncml0eV90YWcoYmlvLCB0YWdfYnVmLCBsZW4sIDApOworfQorRVhQT1JUX1NZTUJPTChiaW9faW50ZWdyaXR5X2dldF90YWcpOworCisvKioKKyAqIGJpb19pbnRlZ3JpdHlfZ2VuZXJhdGUgLSBHZW5lcmF0ZSBpbnRlZ3JpdHkgbWV0YWRhdGEgZm9yIGEgYmlvCisgKiBAYmlvOgliaW8gdG8gZ2VuZXJhdGUgaW50ZWdyaXR5IG1ldGFkYXRhIGZvcgorICoKKyAqIERlc2NyaXB0aW9uOiBHZW5lcmF0ZXMgaW50ZWdyaXR5IG1ldGFkYXRhIGZvciBhIGJpbyBieSBjYWxsaW5nIHRoZQorICogYmxvY2sgZGV2aWNlJ3MgZ2VuZXJhdGlvbiBjYWxsYmFjayBmdW5jdGlvbi4gIFRoZSBiaW8gbXVzdCBoYXZlIGEKKyAqIGJpcCBhdHRhY2hlZCB3aXRoIGVub3VnaCByb29tIHRvIGFjY29tbW9kYXRlIHRoZSBnZW5lcmF0ZWQKKyAqIGludGVncml0eSBtZXRhZGF0YS4KKyAqLworc3RhdGljIHZvaWQgYmlvX2ludGVncml0eV9nZW5lcmF0ZShzdHJ1Y3QgYmlvICpiaW8pCit7CisJc3RydWN0IGJsa19pbnRlZ3JpdHkgKmJpID0gYmRldl9nZXRfaW50ZWdyaXR5KGJpby0+YmlfYmRldik7CisJc3RydWN0IGJsa19pbnRlZ3JpdHlfZXhjaGcgYml4OworCXN0cnVjdCBiaW9fdmVjICpidjsKKwlzZWN0b3JfdCBzZWN0b3IgPSBiaW8tPmJpX3NlY3RvcjsKKwl1bnNpZ25lZCBpbnQgaSwgc2VjdG9ycywgdG90YWw7CisJdm9pZCAqcHJvdF9idWYgPSBiaW8tPmJpX2ludGVncml0eS0+YmlwX2J1ZjsKKworCXRvdGFsID0gMDsKKwliaXguZGlza19uYW1lID0gYmlvLT5iaV9iZGV2LT5iZF9kaXNrLT5kaXNrX25hbWU7CisJYml4LnNlY3Rvcl9zaXplID0gYmktPnNlY3Rvcl9zaXplOworCisJYmlvX2Zvcl9lYWNoX3NlZ21lbnQoYnYsIGJpbywgaSkgeworCQl2b2lkICprYWRkciA9IGttYXBfYXRvbWljKGJ2LT5idl9wYWdlLCBLTV9VU0VSMCk7CisJCWJpeC5kYXRhX2J1ZiA9IGthZGRyICsgYnYtPmJ2X29mZnNldDsKKwkJYml4LmRhdGFfc2l6ZSA9IGJ2LT5idl9sZW47CisJCWJpeC5wcm90X2J1ZiA9IHByb3RfYnVmOworCQliaXguc2VjdG9yID0gc2VjdG9yOworCisJCWJpLT5nZW5lcmF0ZV9mbigmYml4KTsKKworCQlzZWN0b3JzID0gYnYtPmJ2X2xlbiAvIGJpLT5zZWN0b3Jfc2l6ZTsKKwkJc2VjdG9yICs9IHNlY3RvcnM7CisJCXByb3RfYnVmICs9IHNlY3RvcnMgKiBiaS0+dHVwbGVfc2l6ZTsKKwkJdG90YWwgKz0gc2VjdG9ycyAqIGJpLT50dXBsZV9zaXplOworCQlCVUdfT04odG90YWwgPiBiaW8tPmJpX2ludGVncml0eS0+YmlwX3NpemUpOworCisJCWt1bm1hcF9hdG9taWMoa2FkZHIsIEtNX1VTRVIwKTsKKwl9Cit9CisKKy8qKgorICogYmlvX2ludGVncml0eV9wcmVwIC0gUHJlcGFyZSBiaW8gZm9yIGludGVncml0eSBJL08KKyAqIEBiaW86CWJpbyB0byBwcmVwYXJlCisgKgorICogRGVzY3JpcHRpb246IEFsbG9jYXRlcyBhIGJ1ZmZlciBmb3IgaW50ZWdyaXR5IG1ldGFkYXRhLCBtYXBzIHRoZQorICogcGFnZXMgYW5kIGF0dGFjaGVzIHRoZW0gdG8gYSBiaW8uICBUaGUgYmlvIG11c3QgaGF2ZSBkYXRhCisgKiBkaXJlY3Rpb24sIHRhcmdldCBkZXZpY2UgYW5kIHN0YXJ0IHNlY3RvciBzZXQgcHJpb3QgdG8gY2FsbGluZy4gIEluCisgKiB0aGUgV1JJVEUgY2FzZSwgaW50ZWdyaXR5IG1ldGFkYXRhIHdpbGwgYmUgZ2VuZXJhdGVkIHVzaW5nIHRoZQorICogYmxvY2sgZGV2aWNlJ3MgaW50ZWdyaXR5IGZ1bmN0aW9uLiAgSW4gdGhlIFJFQUQgY2FzZSwgdGhlIGJ1ZmZlcgorICogd2lsbCBiZSBwcmVwYXJlZCBmb3IgRE1BIGFuZCBhIHN1aXRhYmxlIGVuZF9pbyBoYW5kbGVyIHNldCB1cC4KKyAqLworaW50IGJpb19pbnRlZ3JpdHlfcHJlcChzdHJ1Y3QgYmlvICpiaW8pCit7CisJc3RydWN0IGJpb19pbnRlZ3JpdHlfcGF5bG9hZCAqYmlwOworCXN0cnVjdCBibGtfaW50ZWdyaXR5ICpiaTsKKwlzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcTsKKwl2b2lkICpidWY7CisJdW5zaWduZWQgbG9uZyBzdGFydCwgZW5kOworCXVuc2lnbmVkIGludCBsZW4sIG5yX3BhZ2VzOworCXVuc2lnbmVkIGludCBieXRlcywgb2Zmc2V0LCBpOworCXVuc2lnbmVkIGludCBzZWN0b3JzOworCisJYmkgPSBiZGV2X2dldF9pbnRlZ3JpdHkoYmlvLT5iaV9iZGV2KTsKKwlxID0gYmRldl9nZXRfcXVldWUoYmlvLT5iaV9iZGV2KTsKKwlCVUdfT04oYmkgPT0gTlVMTCk7CisJQlVHX09OKGJpb19pbnRlZ3JpdHkoYmlvKSk7CisKKwlzZWN0b3JzID0gYmlvX2ludGVncml0eV9od19zZWN0b3JzKGJpLCBiaW9fc2VjdG9ycyhiaW8pKTsKKworCS8qIEFsbG9jYXRlIGtlcm5lbCBidWZmZXIgZm9yIHByb3RlY3Rpb24gZGF0YSAqLworCWxlbiA9IHNlY3RvcnMgKiBibGtfaW50ZWdyaXR5X3R1cGxlX3NpemUoYmkpOworCWJ1ZiA9IGttYWxsb2MobGVuLCBHRlBfTk9JTyB8IF9fR0ZQX05PRkFJTCB8IHEtPmJvdW5jZV9nZnApOworCWlmICh1bmxpa2VseShidWYgPT0gTlVMTCkpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJjb3VsZCBub3QgYWxsb2NhdGUgaW50ZWdyaXR5IGJ1ZmZlclxuIik7CisJCXJldHVybiAtRUlPOworCX0KKworCWVuZCA9ICgoKHVuc2lnbmVkIGxvbmcpIGJ1ZikgKyBsZW4gKyBQQUdFX1NJWkUgLSAxKSA+PiBQQUdFX1NISUZUOworCXN0YXJ0ID0gKCh1bnNpZ25lZCBsb25nKSBidWYpID4+IFBBR0VfU0hJRlQ7CisJbnJfcGFnZXMgPSBlbmQgLSBzdGFydDsKKworCS8qIEFsbG9jYXRlIGJpbyBpbnRlZ3JpdHkgcGF5bG9hZCBhbmQgaW50ZWdyaXR5IHZlY3RvcnMgKi8KKwliaXAgPSBiaW9faW50ZWdyaXR5X2FsbG9jKGJpbywgR0ZQX05PSU8sIG5yX3BhZ2VzKTsKKwlpZiAodW5saWtlbHkoYmlwID09IE5VTEwpKSB7CisJCXByaW50ayhLRVJOX0VSUiAiY291bGQgbm90IGFsbG9jYXRlIGRhdGEgaW50ZWdyaXR5IGJpb3NldFxuIik7CisJCWtmcmVlKGJ1Zik7CisJCXJldHVybiAtRUlPOworCX0KKworCWJpcC0+YmlwX2J1ZiA9IGJ1ZjsKKwliaXAtPmJpcF9zaXplID0gbGVuOworCWJpcC0+YmlwX3NlY3RvciA9IGJpby0+Ymlfc2VjdG9yOworCisJLyogTWFwIGl0ICovCisJb2Zmc2V0ID0gb2Zmc2V0X2luX3BhZ2UoYnVmKTsKKwlmb3IgKGkgPSAwIDsgaSA8IG5yX3BhZ2VzIDsgaSsrKSB7CisJCWludCByZXQ7CisJCWJ5dGVzID0gUEFHRV9TSVpFIC0gb2Zmc2V0OworCisJCWlmIChsZW4gPD0gMCkKKwkJCWJyZWFrOworCisJCWlmIChieXRlcyA+IGxlbikKKwkJCWJ5dGVzID0gbGVuOworCisJCXJldCA9IGJpb19pbnRlZ3JpdHlfYWRkX3BhZ2UoYmlvLCB2aXJ0X3RvX3BhZ2UoYnVmKSwKKwkJCQkJICAgICBieXRlcywgb2Zmc2V0KTsKKworCQlpZiAocmV0ID09IDApCisJCQlyZXR1cm4gMDsKKworCQlpZiAocmV0IDwgYnl0ZXMpCisJCQlicmVhazsKKworCQlidWYgKz0gYnl0ZXM7CisJCWxlbiAtPSBieXRlczsKKwkJb2Zmc2V0ID0gMDsKKwl9CisKKwkvKiBJbnN0YWxsIGN1c3RvbSBJL08gY29tcGxldGlvbiBoYW5kbGVyIGlmIHJlYWQgdmVyaWZ5IGlzIGVuYWJsZWQgKi8KKwlpZiAoYmlvX2RhdGFfZGlyKGJpbykgPT0gUkVBRCkgeworCQliaXAtPmJpcF9lbmRfaW8gPSBiaW8tPmJpX2VuZF9pbzsKKwkJYmlvLT5iaV9lbmRfaW8gPSBiaW9faW50ZWdyaXR5X2VuZGlvOworCX0KKworCS8qIEF1dG8tZ2VuZXJhdGUgaW50ZWdyaXR5IG1ldGFkYXRhIGlmIHRoaXMgaXMgYSB3cml0ZSAqLworCWlmIChiaW9fZGF0YV9kaXIoYmlvKSA9PSBXUklURSkKKwkJYmlvX2ludGVncml0eV9nZW5lcmF0ZShiaW8pOworCisJcmV0dXJuIDA7Cit9CitFWFBPUlRfU1lNQk9MKGJpb19pbnRlZ3JpdHlfcHJlcCk7CisKKy8qKgorICogYmlvX2ludGVncml0eV92ZXJpZnkgLSBWZXJpZnkgaW50ZWdyaXR5IG1ldGFkYXRhIGZvciBhIGJpbworICogQGJpbzoJYmlvIHRvIHZlcmlmeQorICoKKyAqIERlc2NyaXB0aW9uOiBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB0byB2ZXJpZnkgdGhlIGludGVncml0eSBvZiBhCisgKiBiaW8uCSBUaGUgZGF0YSBpbiB0aGUgYmlvIGlvX3ZlYyBpcyBjb21wYXJlZCB0byB0aGUgaW50ZWdyaXR5CisgKiBtZXRhZGF0YSByZXR1cm5lZCBieSB0aGUgSEJBLgorICovCitzdGF0aWMgaW50IGJpb19pbnRlZ3JpdHlfdmVyaWZ5KHN0cnVjdCBiaW8gKmJpbykKK3sKKwlzdHJ1Y3QgYmxrX2ludGVncml0eSAqYmkgPSBiZGV2X2dldF9pbnRlZ3JpdHkoYmlvLT5iaV9iZGV2KTsKKwlzdHJ1Y3QgYmxrX2ludGVncml0eV9leGNoZyBiaXg7CisJc3RydWN0IGJpb192ZWMgKmJ2OworCXNlY3Rvcl90IHNlY3RvciA9IGJpby0+YmlfaW50ZWdyaXR5LT5iaXBfc2VjdG9yOworCXVuc2lnbmVkIGludCBpLCBzZWN0b3JzLCB0b3RhbCwgcmV0OworCXZvaWQgKnByb3RfYnVmID0gYmlvLT5iaV9pbnRlZ3JpdHktPmJpcF9idWY7CisKKwlyZXQgPSB0b3RhbCA9IDA7CisJYml4LmRpc2tfbmFtZSA9IGJpby0+YmlfYmRldi0+YmRfZGlzay0+ZGlza19uYW1lOworCWJpeC5zZWN0b3Jfc2l6ZSA9IGJpLT5zZWN0b3Jfc2l6ZTsKKworCWJpb19mb3JfZWFjaF9zZWdtZW50KGJ2LCBiaW8sIGkpIHsKKwkJdm9pZCAqa2FkZHIgPSBrbWFwX2F0b21pYyhidi0+YnZfcGFnZSwgS01fVVNFUjApOworCQliaXguZGF0YV9idWYgPSBrYWRkciArIGJ2LT5idl9vZmZzZXQ7CisJCWJpeC5kYXRhX3NpemUgPSBidi0+YnZfbGVuOworCQliaXgucHJvdF9idWYgPSBwcm90X2J1ZjsKKwkJYml4LnNlY3RvciA9IHNlY3RvcjsKKworCQlyZXQgPSBiaS0+dmVyaWZ5X2ZuKCZiaXgpOworCisJCWlmIChyZXQpIHsKKwkJCWt1bm1hcF9hdG9taWMoa2FkZHIsIEtNX1VTRVIwKTsKKwkJCWJyZWFrOworCQl9CisKKwkJc2VjdG9ycyA9IGJ2LT5idl9sZW4gLyBiaS0+c2VjdG9yX3NpemU7CisJCXNlY3RvciArPSBzZWN0b3JzOworCQlwcm90X2J1ZiArPSBzZWN0b3JzICogYmktPnR1cGxlX3NpemU7CisJCXRvdGFsICs9IHNlY3RvcnMgKiBiaS0+dHVwbGVfc2l6ZTsKKwkJQlVHX09OKHRvdGFsID4gYmlvLT5iaV9pbnRlZ3JpdHktPmJpcF9zaXplKTsKKworCQlrdW5tYXBfYXRvbWljKGthZGRyLCBLTV9VU0VSMCk7CisJfQorCisJcmV0dXJuIHJldDsKK30KKworLyoqCisgKiBiaW9faW50ZWdyaXR5X3ZlcmlmeV9mbiAtIEludGVncml0eSBJL08gY29tcGxldGlvbiB3b3JrZXIKKyAqIEB3b3JrOglXb3JrIHN0cnVjdCBzdG9yZWQgaW4gYmlvIHRvIGJlIHZlcmlmaWVkCisgKgorICogRGVzY3JpcHRpb246IFRoaXMgd29ya3F1ZXVlIGZ1bmN0aW9uIGlzIGNhbGxlZCB0byBjb21wbGV0ZSBhIFJFQUQKKyAqIHJlcXVlc3QuICBUaGUgZnVuY3Rpb24gdmVyaWZpZXMgdGhlIHRyYW5zZmVycmVkIGludGVncml0eSBtZXRhZGF0YQorICogYW5kIHRoZW4gY2FsbHMgdGhlIG9yaWdpbmFsIGJpbyBlbmRfaW8gZnVuY3Rpb24uCisgKi8KK3N0YXRpYyB2b2lkIGJpb19pbnRlZ3JpdHlfdmVyaWZ5X2ZuKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKK3sKKwlzdHJ1Y3QgYmlvX2ludGVncml0eV9wYXlsb2FkICpiaXAgPQorCQljb250YWluZXJfb2Yod29yaywgc3RydWN0IGJpb19pbnRlZ3JpdHlfcGF5bG9hZCwgYmlwX3dvcmspOworCXN0cnVjdCBiaW8gKmJpbyA9IGJpcC0+YmlwX2JpbzsKKwlpbnQgZXJyb3IgPSBiaXAtPmJpcF9lcnJvcjsKKworCWlmIChiaW9faW50ZWdyaXR5X3ZlcmlmeShiaW8pKSB7CisJCWNsZWFyX2JpdChCSU9fVVBUT0RBVEUsICZiaW8tPmJpX2ZsYWdzKTsKKwkJZXJyb3IgPSAtRUlPOworCX0KKworCS8qIFJlc3RvcmUgb3JpZ2luYWwgYmlvIGNvbXBsZXRpb24gaGFuZGxlciAqLworCWJpby0+YmlfZW5kX2lvID0gYmlwLT5iaXBfZW5kX2lvOworCisJaWYgKGJpby0+YmlfZW5kX2lvKQorCQliaW8tPmJpX2VuZF9pbyhiaW8sIGVycm9yKTsKK30KKworLyoqCisgKiBiaW9faW50ZWdyaXR5X2VuZGlvIC0gSW50ZWdyaXR5IEkvTyBjb21wbGV0aW9uIGZ1bmN0aW9uCisgKiBAYmlvOglQcm90ZWN0ZWQgYmlvCisgKiBAZXJyb3I6CVBvaW50ZXIgdG8gZXJybm8KKyAqCisgKiBEZXNjcmlwdGlvbjogQ29tcGxldGlvbiBmb3IgaW50ZWdyaXR5IEkvTworICoKKyAqIE5vcm1hbGx5IEkvTyBjb21wbGV0aW9uIGlzIGRvbmUgaW4gaW50ZXJydXB0IGNvbnRleHQuICBIb3dldmVyLAorICogdmVyaWZ5aW5nIEkvTyBpbnRlZ3JpdHkgaXMgYSB0aW1lLWNvbnN1bWluZyB0YXNrIHdoaWNoIG11c3QgYmUgcnVuCisgKiBpbiBwcm9jZXNzIGNvbnRleHQuCVRoaXMgZnVuY3Rpb24gcG9zdHBvbmVzIGNvbXBsZXRpb24KKyAqIGFjY29yZGluZ2x5LgorICovCit2b2lkIGJpb19pbnRlZ3JpdHlfZW5kaW8oc3RydWN0IGJpbyAqYmlvLCBpbnQgZXJyb3IpCit7CisJc3RydWN0IGJpb19pbnRlZ3JpdHlfcGF5bG9hZCAqYmlwID0gYmlvLT5iaV9pbnRlZ3JpdHk7CisKKwlCVUdfT04oYmlwLT5iaXBfYmlvICE9IGJpbyk7CisKKwliaXAtPmJpcF9lcnJvciA9IGVycm9yOworCUlOSVRfV09SSygmYmlwLT5iaXBfd29yaywgYmlvX2ludGVncml0eV92ZXJpZnlfZm4pOworCXF1ZXVlX3dvcmsoa2ludGVncml0eWRfd3EsICZiaXAtPmJpcF93b3JrKTsKK30KK0VYUE9SVF9TWU1CT0woYmlvX2ludGVncml0eV9lbmRpbyk7CisKKy8qKgorICogYmlvX2ludGVncml0eV9tYXJrX2hlYWQgLSBBZHZhbmNlIGJpcF92ZWMgc2tpcCBieXRlcworICogQGJpcDoJSW50ZWdyaXR5IHZlY3RvciB0byBhZHZhbmNlCisgKiBAc2tpcDoJTnVtYmVyIG9mIGJ5dGVzIHRvIGFkdmFuY2UgaXQKKyAqLwordm9pZCBiaW9faW50ZWdyaXR5X21hcmtfaGVhZChzdHJ1Y3QgYmlvX2ludGVncml0eV9wYXlsb2FkICpiaXAsCisJCQkgICAgIHVuc2lnbmVkIGludCBza2lwKQoreworCXN0cnVjdCBiaW9fdmVjICppdjsKKwl1bnNpZ25lZCBpbnQgaTsKKworCWJpcF9mb3JfZWFjaF92ZWMoaXYsIGJpcCwgaSkgeworCQlpZiAoc2tpcCA9PSAwKSB7CisJCQliaXAtPmJpcF9pZHggPSBpOworCQkJcmV0dXJuOworCQl9IGVsc2UgaWYgKHNraXAgPj0gaXYtPmJ2X2xlbikgeworCQkJc2tpcCAtPSBpdi0+YnZfbGVuOworCQl9IGVsc2UgeyAvKiBza2lwIDwgaXYtPmJ2X2xlbikgKi8KKwkJCWl2LT5idl9vZmZzZXQgKz0gc2tpcDsKKwkJCWl2LT5idl9sZW4gLT0gc2tpcDsKKwkJCWJpcC0+YmlwX2lkeCA9IGk7CisJCQlyZXR1cm47CisJCX0KKwl9Cit9CisKKy8qKgorICogYmlvX2ludGVncml0eV9tYXJrX3RhaWwgLSBUcnVuY2F0ZSBiaXBfdmVjIHRvIGJlIGxlbiBieXRlcyBsb25nCisgKiBAYmlwOglJbnRlZ3JpdHkgdmVjdG9yIHRvIHRydW5jYXRlCisgKiBAbGVuOglOZXcgbGVuZ3RoIG9mIGludGVncml0eSB2ZWN0b3IKKyAqLwordm9pZCBiaW9faW50ZWdyaXR5X21hcmtfdGFpbChzdHJ1Y3QgYmlvX2ludGVncml0eV9wYXlsb2FkICpiaXAsCisJCQkgICAgIHVuc2lnbmVkIGludCBsZW4pCit7CisJc3RydWN0IGJpb192ZWMgKml2OworCXVuc2lnbmVkIGludCBpOworCisJYmlwX2Zvcl9lYWNoX3ZlYyhpdiwgYmlwLCBpKSB7CisJCWlmIChsZW4gPT0gMCkgeworCQkJYmlwLT5iaXBfdmNudCA9IGk7CisJCQlyZXR1cm47CisJCX0gZWxzZSBpZiAobGVuID49IGl2LT5idl9sZW4pIHsKKwkJCWxlbiAtPSBpdi0+YnZfbGVuOworCQl9IGVsc2UgeyAvKiBsZW4gPCBpdi0+YnZfbGVuKSAqLworCQkJaXYtPmJ2X2xlbiA9IGxlbjsKKwkJCWxlbiA9IDA7CisJCX0KKwl9Cit9CisKKy8qKgorICogYmlvX2ludGVncml0eV9hZHZhbmNlIC0gQWR2YW5jZSBpbnRlZ3JpdHkgdmVjdG9yCisgKiBAYmlvOgliaW8gd2hvc2UgaW50ZWdyaXR5IHZlY3RvciB0byB1cGRhdGUKKyAqIEBieXRlc19kb25lOgludW1iZXIgb2YgZGF0YSBieXRlcyB0aGF0IGhhdmUgYmVlbiBjb21wbGV0ZWQKKyAqCisgKiBEZXNjcmlwdGlvbjogVGhpcyBmdW5jdGlvbiBjYWxjdWxhdGVzIGhvdyBtYW55IGludGVncml0eSBieXRlcyB0aGUKKyAqIG51bWJlciBvZiBjb21wbGV0ZWQgZGF0YSBieXRlcyBjb3JyZXNwb25kIHRvIGFuZCBhZHZhbmNlcyB0aGUKKyAqIGludGVncml0eSB2ZWN0b3IgYWNjb3JkaW5nbHkuCisgKi8KK3ZvaWQgYmlvX2ludGVncml0eV9hZHZhbmNlKHN0cnVjdCBiaW8gKmJpbywgdW5zaWduZWQgaW50IGJ5dGVzX2RvbmUpCit7CisJc3RydWN0IGJpb19pbnRlZ3JpdHlfcGF5bG9hZCAqYmlwID0gYmlvLT5iaV9pbnRlZ3JpdHk7CisJc3RydWN0IGJsa19pbnRlZ3JpdHkgKmJpID0gYmRldl9nZXRfaW50ZWdyaXR5KGJpby0+YmlfYmRldik7CisJdW5zaWduZWQgaW50IG5yX3NlY3RvcnM7CisKKwlCVUdfT04oYmlwID09IE5VTEwpOworCUJVR19PTihiaSA9PSBOVUxMKTsKKworCW5yX3NlY3RvcnMgPSBiaW9faW50ZWdyaXR5X2h3X3NlY3RvcnMoYmksIGJ5dGVzX2RvbmUgPj4gOSk7CisJYmlvX2ludGVncml0eV9tYXJrX2hlYWQoYmlwLCBucl9zZWN0b3JzICogYmktPnR1cGxlX3NpemUpOworfQorRVhQT1JUX1NZTUJPTChiaW9faW50ZWdyaXR5X2FkdmFuY2UpOworCisvKioKKyAqIGJpb19pbnRlZ3JpdHlfdHJpbSAtIFRyaW0gaW50ZWdyaXR5IHZlY3RvcgorICogQGJpbzoJYmlvIHdob3NlIGludGVncml0eSB2ZWN0b3IgdG8gdXBkYXRlCisgKiBAb2Zmc2V0OglvZmZzZXQgdG8gZmlyc3QgZGF0YSBzZWN0b3IKKyAqIEBzZWN0b3JzOgludW1iZXIgb2YgZGF0YSBzZWN0b3JzCisgKgorICogRGVzY3JpcHRpb246IFVzZWQgdG8gdHJpbSB0aGUgaW50ZWdyaXR5IHZlY3RvciBpbiBhIGNsb25lZCBiaW8uCisgKiBUaGUgaXZlYyB3aWxsIGJlIGFkdmFuY2VkIGNvcnJlc3BvbmRpbmcgdG8gJ29mZnNldCcgZGF0YSBzZWN0b3JzCisgKiBhbmQgdGhlIGxlbmd0aCB3aWxsIGJlIHRydW5jYXRlZCBjb3JyZXNwb25kaW5nIHRvICdsZW4nIGRhdGEKKyAqIHNlY3RvcnMuCisgKi8KK3ZvaWQgYmlvX2ludGVncml0eV90cmltKHN0cnVjdCBiaW8gKmJpbywgdW5zaWduZWQgaW50IG9mZnNldCwKKwkJCXVuc2lnbmVkIGludCBzZWN0b3JzKQoreworCXN0cnVjdCBiaW9faW50ZWdyaXR5X3BheWxvYWQgKmJpcCA9IGJpby0+YmlfaW50ZWdyaXR5OworCXN0cnVjdCBibGtfaW50ZWdyaXR5ICpiaSA9IGJkZXZfZ2V0X2ludGVncml0eShiaW8tPmJpX2JkZXYpOworCXVuc2lnbmVkIGludCBucl9zZWN0b3JzOworCisJQlVHX09OKGJpcCA9PSBOVUxMKTsKKwlCVUdfT04oYmkgPT0gTlVMTCk7CisJQlVHX09OKCFiaW9fZmxhZ2dlZChiaW8sIEJJT19DTE9ORUQpKTsKKworCW5yX3NlY3RvcnMgPSBiaW9faW50ZWdyaXR5X2h3X3NlY3RvcnMoYmksIHNlY3RvcnMpOworCWJpcC0+YmlwX3NlY3RvciA9IGJpcC0+YmlwX3NlY3RvciArIG9mZnNldDsKKwliaW9faW50ZWdyaXR5X21hcmtfaGVhZChiaXAsIG9mZnNldCAqIGJpLT50dXBsZV9zaXplKTsKKwliaW9faW50ZWdyaXR5X21hcmtfdGFpbChiaXAsIHNlY3RvcnMgKiBiaS0+dHVwbGVfc2l6ZSk7Cit9CitFWFBPUlRfU1lNQk9MKGJpb19pbnRlZ3JpdHlfdHJpbSk7CisKKy8qKgorICogYmlvX2ludGVncml0eV9zcGxpdCAtIFNwbGl0IGludGVncml0eSBtZXRhZGF0YQorICogQGJpbzoJUHJvdGVjdGVkIGJpbworICogQGJwOgkJUmVzdWx0aW5nIGJpb19wYWlyCisgKiBAc2VjdG9yczoJT2Zmc2V0CisgKgorICogRGVzY3JpcHRpb246IFNwbGl0cyBhbiBpbnRlZ3JpdHkgcGFnZSBpbnRvIGEgYmlvX3BhaXIuCisgKi8KK3ZvaWQgYmlvX2ludGVncml0eV9zcGxpdChzdHJ1Y3QgYmlvICpiaW8sIHN0cnVjdCBiaW9fcGFpciAqYnAsIGludCBzZWN0b3JzKQoreworCXN0cnVjdCBibGtfaW50ZWdyaXR5ICpiaTsKKwlzdHJ1Y3QgYmlvX2ludGVncml0eV9wYXlsb2FkICpiaXAgPSBiaW8tPmJpX2ludGVncml0eTsKKwl1bnNpZ25lZCBpbnQgbnJfc2VjdG9yczsKKworCWlmIChiaW9faW50ZWdyaXR5KGJpbykgPT0gMCkKKwkJcmV0dXJuOworCisJYmkgPSBiZGV2X2dldF9pbnRlZ3JpdHkoYmlvLT5iaV9iZGV2KTsKKwlCVUdfT04oYmkgPT0gTlVMTCk7CisJQlVHX09OKGJpcC0+YmlwX3ZjbnQgIT0gMSk7CisKKwlucl9zZWN0b3JzID0gYmlvX2ludGVncml0eV9od19zZWN0b3JzKGJpLCBzZWN0b3JzKTsKKworCWJwLT5iaW8xLmJpX2ludGVncml0eSA9ICZicC0+YmlwMTsKKwlicC0+YmlvMi5iaV9pbnRlZ3JpdHkgPSAmYnAtPmJpcDI7CisKKwlicC0+aXYxID0gYmlwLT5iaXBfdmVjWzBdOworCWJwLT5pdjIgPSBiaXAtPmJpcF92ZWNbMF07CisKKwlicC0+YmlwMS5iaXBfdmVjID0gJmJwLT5pdjE7CisJYnAtPmJpcDIuYmlwX3ZlYyA9ICZicC0+aXYyOworCisJYnAtPml2MS5idl9sZW4gPSBzZWN0b3JzICogYmktPnR1cGxlX3NpemU7CisJYnAtPml2Mi5idl9vZmZzZXQgKz0gc2VjdG9ycyAqIGJpLT50dXBsZV9zaXplOworCWJwLT5pdjIuYnZfbGVuIC09IHNlY3RvcnMgKiBiaS0+dHVwbGVfc2l6ZTsKKworCWJwLT5iaXAxLmJpcF9zZWN0b3IgPSBiaW8tPmJpX2ludGVncml0eS0+YmlwX3NlY3RvcjsKKwlicC0+YmlwMi5iaXBfc2VjdG9yID0gYmlvLT5iaV9pbnRlZ3JpdHktPmJpcF9zZWN0b3IgKyBucl9zZWN0b3JzOworCisJYnAtPmJpcDEuYmlwX3ZjbnQgPSBicC0+YmlwMi5iaXBfdmNudCA9IDE7CisJYnAtPmJpcDEuYmlwX2lkeCA9IGJwLT5iaXAyLmJpcF9pZHggPSAwOworfQorRVhQT1JUX1NZTUJPTChiaW9faW50ZWdyaXR5X3NwbGl0KTsKKworLyoqCisgKiBiaW9faW50ZWdyaXR5X2Nsb25lIC0gQ2FsbGJhY2sgZm9yIGNsb25pbmcgYmlvcyB3aXRoIGludGVncml0eSBtZXRhZGF0YQorICogQGJpbzoJTmV3IGJpbworICogQGJpb19zcmM6CU9yaWdpbmFsIGJpbworICogQGJzOgkJYmlvX3NldCB0byBhbGxvY2F0ZSBiaXAgZnJvbQorICoKKyAqIERlc2NyaXB0aW9uOglDYWxsZWQgdG8gYWxsb2NhdGUgYSBiaXAgd2hlbiBjbG9uaW5nIGEgYmlvCisgKi8KK2ludCBiaW9faW50ZWdyaXR5X2Nsb25lKHN0cnVjdCBiaW8gKmJpbywgc3RydWN0IGJpbyAqYmlvX3NyYywKKwkJCXN0cnVjdCBiaW9fc2V0ICpicykKK3sKKwlzdHJ1Y3QgYmlvX2ludGVncml0eV9wYXlsb2FkICpiaXBfc3JjID0gYmlvX3NyYy0+YmlfaW50ZWdyaXR5OworCXN0cnVjdCBiaW9faW50ZWdyaXR5X3BheWxvYWQgKmJpcDsKKworCUJVR19PTihiaXBfc3JjID09IE5VTEwpOworCisJYmlwID0gYmlvX2ludGVncml0eV9hbGxvY19iaW9zZXQoYmlvLCBHRlBfTk9JTywgYmlwX3NyYy0+YmlwX3ZjbnQsIGJzKTsKKworCWlmIChiaXAgPT0gTlVMTCkKKwkJcmV0dXJuIC1FSU87CisKKwltZW1jcHkoYmlwLT5iaXBfdmVjLCBiaXBfc3JjLT5iaXBfdmVjLAorCSAgICAgICBiaXBfc3JjLT5iaXBfdmNudCAqIHNpemVvZihzdHJ1Y3QgYmlvX3ZlYykpOworCisJYmlwLT5iaXBfc2VjdG9yID0gYmlwX3NyYy0+YmlwX3NlY3RvcjsKKwliaXAtPmJpcF92Y250ID0gYmlwX3NyYy0+YmlwX3ZjbnQ7CisJYmlwLT5iaXBfaWR4ID0gYmlwX3NyYy0+YmlwX2lkeDsKKworCXJldHVybiAwOworfQorRVhQT1JUX1NZTUJPTChiaW9faW50ZWdyaXR5X2Nsb25lKTsKKworaW50IGJpb3NldF9pbnRlZ3JpdHlfY3JlYXRlKHN0cnVjdCBiaW9fc2V0ICpicywgaW50IHBvb2xfc2l6ZSkKK3sKKwlicy0+YmlvX2ludGVncml0eV9wb29sID0gbWVtcG9vbF9jcmVhdGVfc2xhYl9wb29sKHBvb2xfc2l6ZSwKKwkJCQkJCQkgIGJpb19pbnRlZ3JpdHlfc2xhYik7CisJaWYgKCFicy0+YmlvX2ludGVncml0eV9wb29sKQorCQlyZXR1cm4gLTE7CisKKwlyZXR1cm4gMDsKK30KK0VYUE9SVF9TWU1CT0woYmlvc2V0X2ludGVncml0eV9jcmVhdGUpOworCit2b2lkIGJpb3NldF9pbnRlZ3JpdHlfZnJlZShzdHJ1Y3QgYmlvX3NldCAqYnMpCit7CisJaWYgKGJzLT5iaW9faW50ZWdyaXR5X3Bvb2wpCisJCW1lbXBvb2xfZGVzdHJveShicy0+YmlvX2ludGVncml0eV9wb29sKTsKK30KK0VYUE9SVF9TWU1CT0woYmlvc2V0X2ludGVncml0eV9mcmVlKTsKKwordm9pZCBfX2luaXQgYmlvX2ludGVncml0eV9pbml0X3NsYWIodm9pZCkKK3sKKwliaW9faW50ZWdyaXR5X3NsYWIgPSBLTUVNX0NBQ0hFKGJpb19pbnRlZ3JpdHlfcGF5bG9hZCwKKwkJCQkJU0xBQl9IV0NBQ0hFX0FMSUdOfFNMQUJfUEFOSUMpOworfQorRVhQT1JUX1NZTUJPTChiaW9faW50ZWdyaXR5X2luaXRfc2xhYik7CisKK3N0YXRpYyBpbnQgX19pbml0IGludGVncml0eV9pbml0KHZvaWQpCit7CisJa2ludGVncml0eWRfd3EgPSBjcmVhdGVfd29ya3F1ZXVlKCJraW50ZWdyaXR5ZCIpOworCisJaWYgKCFraW50ZWdyaXR5ZF93cSkKKwkJcGFuaWMoIkZhaWxlZCB0byBjcmVhdGUga2ludGVncml0eWRcbiIpOworCisJcmV0dXJuIDA7Cit9CitzdWJzeXNfaW5pdGNhbGwoaW50ZWdyaXR5X2luaXQpOwpkaWZmIC0tZ2l0IGEvZnMvYmlvLmMgYi9mcy9iaW8uYwppbmRleCA3ODU2MjU3Li44ODMyMmIwIDEwMDY0NAotLS0gYS9mcy9iaW8uYworKysgYi9mcy9iaW8uYwpAQCAtMjgsMjUgKzI4LDEwIEBACiAjaW5jbHVkZSA8bGludXgvYmxrdHJhY2VfYXBpLmg+CiAjaW5jbHVkZSA8c2NzaS9zZy5oPgkJLyogZm9yIHN0cnVjdCBzZ19pb3ZlYyAqLwogCi0jZGVmaW5lIEJJT19QT09MX1NJWkUgMgotCiBzdGF0aWMgc3RydWN0IGttZW1fY2FjaGUgKmJpb19zbGFiIF9fcmVhZF9tb3N0bHk7CiAKLSNkZWZpbmUgQklPVkVDX05SX1BPT0xTIDYKLQotLyoKLSAqIGEgc21hbGwgbnVtYmVyIG9mIGVudHJpZXMgaXMgZmluZSwgbm90IGdvaW5nIHRvIGJlIHBlcmZvcm1hbmNlIGNyaXRpY2FsLgotICogYmFzaWNhbGx5IHdlIGp1c3QgbmVlZCB0byBzdXJ2aXZlCi0gKi8KLSNkZWZpbmUgQklPX1NQTElUX0VOVFJJRVMgMgogbWVtcG9vbF90ICpiaW9fc3BsaXRfcG9vbCBfX3JlYWRfbW9zdGx5OwogCi1zdHJ1Y3QgYmlvdmVjX3NsYWIgewotCWludCBucl92ZWNzOwotCWNoYXIgKm5hbWU7IAotCXN0cnVjdCBrbWVtX2NhY2hlICpzbGFiOwotfTsKLQogLyoKICAqIGlmIHlvdSBjaGFuZ2UgdGhpcyBsaXN0LCBhbHNvIGNoYW5nZSBidmVjX2FsbG9jIG9yIHRoaW5ncyB3aWxsCiAgKiBicmVhayBiYWRseSEgY2Fubm90IGJlIGJpZ2dlciB0aGFuIHdoYXQgeW91IGNhbiBmaXQgaW50byBhbgpAQCAtNjAsMjMgKzQ1LDE3IEBACiAjdW5kZWYgQlYKIAogLyoKLSAqIGJpb19zZXQgaXMgdXNlZCB0byBhbGxvdyBvdGhlciBwb3J0aW9ucyBvZiB0aGUgSU8gc3lzdGVtIHRvCi0gKiBhbGxvY2F0ZSB0aGVpciBvd24gcHJpdmF0ZSBtZW1vcnkgcG9vbHMgZm9yIGJpbyBhbmQgaW92ZWMgc3RydWN0dXJlcy4KLSAqIFRoZXNlIG1lbW9yeSBwb29scyBpbiB0dXJuIGFsbCBhbGxvY2F0ZSBmcm9tIHRoZSBiaW9fc2xhYgotICogYW5kIHRoZSBidmVjX3NsYWJzW10uCi0gKi8KLXN0cnVjdCBiaW9fc2V0IHsKLQltZW1wb29sX3QgKmJpb19wb29sOwotCW1lbXBvb2xfdCAqYnZlY19wb29sc1tCSU9WRUNfTlJfUE9PTFNdOwotfTsKLQotLyoKICAqIGZzX2Jpb19zZXQgaXMgdGhlIGJpb19zZXQgY29udGFpbmluZyBiaW8gYW5kIGlvdmVjIG1lbW9yeSBwb29scyB1c2VkIGJ5CiAgKiBJTyBjb2RlIHRoYXQgZG9lcyBub3QgbmVlZCBwcml2YXRlIG1lbW9yeSBwb29scy4KICAqLwotc3RhdGljIHN0cnVjdCBiaW9fc2V0ICpmc19iaW9fc2V0Oworc3RydWN0IGJpb19zZXQgKmZzX2Jpb19zZXQ7CiAKLXN0YXRpYyBpbmxpbmUgc3RydWN0IGJpb192ZWMgKmJ2ZWNfYWxsb2NfYnMoZ2ZwX3QgZ2ZwX21hc2ssIGludCBuciwgdW5zaWduZWQgbG9uZyAqaWR4LCBzdHJ1Y3QgYmlvX3NldCAqYnMpCit1bnNpZ25lZCBpbnQgYnZlY19ucl92ZWNzKHVuc2lnbmVkIHNob3J0IGlkeCkKK3sKKwlyZXR1cm4gYnZlY19zbGFic1tpZHhdLm5yX3ZlY3M7Cit9CisKK3N0cnVjdCBiaW9fdmVjICpidmVjX2FsbG9jX2JzKGdmcF90IGdmcF9tYXNrLCBpbnQgbnIsIHVuc2lnbmVkIGxvbmcgKmlkeCwgc3RydWN0IGJpb19zZXQgKmJzKQogewogCXN0cnVjdCBiaW9fdmVjICpidmw7CiAKQEAgLTExNyw2ICs5Niw5IEBACiAJCW1lbXBvb2xfZnJlZShiaW8tPmJpX2lvX3ZlYywgYmlvX3NldC0+YnZlY19wb29sc1twb29sX2lkeF0pOwogCX0KIAorCWlmIChiaW9faW50ZWdyaXR5KGJpbykpCisJCWJpb19pbnRlZ3JpdHlfZnJlZShiaW8sIGJpb19zZXQpOworCiAJbWVtcG9vbF9mcmVlKGJpbywgYmlvX3NldC0+YmlvX3Bvb2wpOwogfQogCkBAIC0yNzUsOSArMjU3LDE5IEBACiB7CiAJc3RydWN0IGJpbyAqYiA9IGJpb19hbGxvY19iaW9zZXQoZ2ZwX21hc2ssIGJpby0+YmlfbWF4X3ZlY3MsIGZzX2Jpb19zZXQpOwogCi0JaWYgKGIpIHsKLQkJYi0+YmlfZGVzdHJ1Y3RvciA9IGJpb19mc19kZXN0cnVjdG9yOwotCQlfX2Jpb19jbG9uZShiLCBiaW8pOworCWlmICghYikKKwkJcmV0dXJuIE5VTEw7CisKKwliLT5iaV9kZXN0cnVjdG9yID0gYmlvX2ZzX2Rlc3RydWN0b3I7CisJX19iaW9fY2xvbmUoYiwgYmlvKTsKKworCWlmIChiaW9faW50ZWdyaXR5KGJpbykpIHsKKwkJaW50IHJldDsKKworCQlyZXQgPSBiaW9faW50ZWdyaXR5X2Nsb25lKGIsIGJpbywgZnNfYmlvX3NldCk7CisKKwkJaWYgKHJldCA8IDApCisJCQlyZXR1cm4gTlVMTDsKIAl9CiAKIAlyZXR1cm4gYjsKQEAgLTMzMywxMCArMzI1LDE5IEBACiAJCWlmIChwYWdlID09IHByZXYtPmJ2X3BhZ2UgJiYKIAkJICAgIG9mZnNldCA9PSBwcmV2LT5idl9vZmZzZXQgKyBwcmV2LT5idl9sZW4pIHsKIAkJCXByZXYtPmJ2X2xlbiArPSBsZW47Ci0JCQlpZiAocS0+bWVyZ2VfYnZlY19mbiAmJgotCQkJICAgIHEtPm1lcmdlX2J2ZWNfZm4ocSwgYmlvLCBwcmV2KSA8IGxlbikgewotCQkJCXByZXYtPmJ2X2xlbiAtPSBsZW47Ci0JCQkJcmV0dXJuIDA7CisKKwkJCWlmIChxLT5tZXJnZV9idmVjX2ZuKSB7CisJCQkJc3RydWN0IGJ2ZWNfbWVyZ2VfZGF0YSBidm0gPSB7CisJCQkJCS5iaV9iZGV2ID0gYmlvLT5iaV9iZGV2LAorCQkJCQkuYmlfc2VjdG9yID0gYmlvLT5iaV9zZWN0b3IsCisJCQkJCS5iaV9zaXplID0gYmlvLT5iaV9zaXplLAorCQkJCQkuYmlfcncgPSBiaW8tPmJpX3J3LAorCQkJCX07CisKKwkJCQlpZiAocS0+bWVyZ2VfYnZlY19mbihxLCAmYnZtLCBwcmV2KSA8IGxlbikgeworCQkJCQlwcmV2LT5idl9sZW4gLT0gbGVuOworCQkJCQlyZXR1cm4gMDsKKwkJCQl9CiAJCQl9CiAKIAkJCWdvdG8gZG9uZTsKQEAgLTM3NywxMSArMzc4LDE4IEBACiAJICogcXVldWUgdG8gZ2V0IGZ1cnRoZXIgY29udHJvbAogCSAqLwogCWlmIChxLT5tZXJnZV9idmVjX2ZuKSB7CisJCXN0cnVjdCBidmVjX21lcmdlX2RhdGEgYnZtID0geworCQkJLmJpX2JkZXYgPSBiaW8tPmJpX2JkZXYsCisJCQkuYmlfc2VjdG9yID0gYmlvLT5iaV9zZWN0b3IsCisJCQkuYmlfc2l6ZSA9IGJpby0+Ymlfc2l6ZSwKKwkJCS5iaV9ydyA9IGJpby0+YmlfcncsCisJCX07CisKIAkJLyoKIAkJICogbWVyZ2VfYnZlY19mbigpIHJldHVybnMgbnVtYmVyIG9mIGJ5dGVzIGl0IGNhbiBhY2NlcHQKIAkJICogYXQgdGhpcyBvZmZzZXQKIAkJICovCi0JCWlmIChxLT5tZXJnZV9idmVjX2ZuKHEsIGJpbywgYnZlYykgPCBsZW4pIHsKKwkJaWYgKHEtPm1lcmdlX2J2ZWNfZm4ocSwgJmJ2bSwgYnZlYykgPCBsZW4pIHsKIAkJCWJ2ZWMtPmJ2X3BhZ2UgPSBOVUxMOwogCQkJYnZlYy0+YnZfbGVuID0gMDsKIAkJCWJ2ZWMtPmJ2X29mZnNldCA9IDA7CkBAIC0xMjQ5LDYgKzEyNTcsOSBAQAogCWJwLT5iaW8xLmJpX3ByaXZhdGUgPSBiaTsKIAlicC0+YmlvMi5iaV9wcml2YXRlID0gcG9vbDsKIAorCWlmIChiaW9faW50ZWdyaXR5KGJpKSkKKwkJYmlvX2ludGVncml0eV9zcGxpdChiaSwgYnAsIGZpcnN0X3NlY3RvcnMpOworCiAJcmV0dXJuIGJwOwogfQogCkBAIC0xMjkwLDYgKzEzMDEsNyBAQAogCWlmIChicy0+YmlvX3Bvb2wpCiAJCW1lbXBvb2xfZGVzdHJveShicy0+YmlvX3Bvb2wpOwogCisJYmlvc2V0X2ludGVncml0eV9mcmVlKGJzKTsKIAliaW92ZWNfZnJlZV9wb29scyhicyk7CiAKIAlrZnJlZShicyk7CkBAIC0xMzA2LDYgKzEzMTgsOSBAQAogCWlmICghYnMtPmJpb19wb29sKQogCQlnb3RvIGJhZDsKIAorCWlmIChiaW9zZXRfaW50ZWdyaXR5X2NyZWF0ZShicywgYmlvX3Bvb2xfc2l6ZSkpCisJCWdvdG8gYmFkOworCiAJaWYgKCFiaW92ZWNfY3JlYXRlX3Bvb2xzKGJzLCBidmVjX3Bvb2xfc2l6ZSkpCiAJCXJldHVybiBiczsKIApAQCAtMTMzMiw2ICsxMzQ3LDcgQEAKIHsKIAliaW9fc2xhYiA9IEtNRU1fQ0FDSEUoYmlvLCBTTEFCX0hXQ0FDSEVfQUxJR058U0xBQl9QQU5JQyk7CiAKKwliaW9faW50ZWdyaXR5X2luaXRfc2xhYigpOwogCWJpb3ZlY19pbml0X3NsYWJzKCk7CiAKIAlmc19iaW9fc2V0ID0gYmlvc2V0X2NyZWF0ZShCSU9fUE9PTF9TSVpFLCAyKTsKZGlmZiAtLWdpdCBhL2ZzL2J1ZmZlci5jIGIvZnMvYnVmZmVyLmMKaW5kZXggMGY1MWMwZi4uZDQ4Y2FlZSAxMDA2NDQKLS0tIGEvZnMvYnVmZmVyLmMKKysrIGIvZnMvYnVmZmVyLmMKQEAgLTE0NjQsNyArMTQ2NCw3IEBACiAJCiB2b2lkIGludmFsaWRhdGVfYmhfbHJ1cyh2b2lkKQogewotCW9uX2VhY2hfY3B1KGludmFsaWRhdGVfYmhfbHJ1LCBOVUxMLCAxLCAxKTsKKwlvbl9lYWNoX2NwdShpbnZhbGlkYXRlX2JoX2xydSwgTlVMTCwgMSk7CiB9CiBFWFBPUlRfU1lNQk9MX0dQTChpbnZhbGlkYXRlX2JoX2xydXMpOwogCkBAIC0xNjkxLDExICsxNjkxLDEzIEBACiAJCQkgKi8KIAkJCWNsZWFyX2J1ZmZlcl9kaXJ0eShiaCk7CiAJCQlzZXRfYnVmZmVyX3VwdG9kYXRlKGJoKTsKLQkJfSBlbHNlIGlmICghYnVmZmVyX21hcHBlZChiaCkgJiYgYnVmZmVyX2RpcnR5KGJoKSkgeworCQl9IGVsc2UgaWYgKCghYnVmZmVyX21hcHBlZChiaCkgfHwgYnVmZmVyX2RlbGF5KGJoKSkgJiYKKwkJCSAgIGJ1ZmZlcl9kaXJ0eShiaCkpIHsKIAkJCVdBUk5fT04oYmgtPmJfc2l6ZSAhPSBibG9ja3NpemUpOwogCQkJZXJyID0gZ2V0X2Jsb2NrKGlub2RlLCBibG9jaywgYmgsIDEpOwogCQkJaWYgKGVycikKIAkJCQlnb3RvIHJlY292ZXI7CisJCQljbGVhcl9idWZmZXJfZGVsYXkoYmgpOwogCQkJaWYgKGJ1ZmZlcl9uZXcoYmgpKSB7CiAJCQkJLyogYmxvY2tkZXYgbWFwcGluZ3MgbmV2ZXIgY29tZSBoZXJlICovCiAJCQkJY2xlYXJfYnVmZmVyX25ldyhiaCk7CkBAIC0xNzc0LDcgKzE3NzYsOCBAQAogCWJoID0gaGVhZDsKIAkvKiBSZWNvdmVyeTogbG9jayBhbmQgc3VibWl0IHRoZSBtYXBwZWQgYnVmZmVycyAqLwogCWRvIHsKLQkJaWYgKGJ1ZmZlcl9tYXBwZWQoYmgpICYmIGJ1ZmZlcl9kaXJ0eShiaCkpIHsKKwkJaWYgKGJ1ZmZlcl9tYXBwZWQoYmgpICYmIGJ1ZmZlcl9kaXJ0eShiaCkgJiYKKwkJICAgICFidWZmZXJfZGVsYXkoYmgpKSB7CiAJCQlsb2NrX2J1ZmZlcihiaCk7CiAJCQltYXJrX2J1ZmZlcl9hc3luY193cml0ZShiaCk7CiAJCX0gZWxzZSB7CkBAIC0yMDYxLDYgKzIwNjQsNyBAQAogCQkJc3RydWN0IHBhZ2UgKnBhZ2UsIHZvaWQgKmZzZGF0YSkKIHsKIAlzdHJ1Y3QgaW5vZGUgKmlub2RlID0gbWFwcGluZy0+aG9zdDsKKwlpbnQgaV9zaXplX2NoYW5nZWQgPSAwOwogCiAJY29waWVkID0gYmxvY2tfd3JpdGVfZW5kKGZpbGUsIG1hcHBpbmcsIHBvcywgbGVuLCBjb3BpZWQsIHBhZ2UsIGZzZGF0YSk7CiAKQEAgLTIwNzMsMTIgKzIwNzcsMjEgQEAKIAkgKi8KIAlpZiAocG9zK2NvcGllZCA+IGlub2RlLT5pX3NpemUpIHsKIAkJaV9zaXplX3dyaXRlKGlub2RlLCBwb3MrY29waWVkKTsKLQkJbWFya19pbm9kZV9kaXJ0eShpbm9kZSk7CisJCWlfc2l6ZV9jaGFuZ2VkID0gMTsKIAl9CiAKIAl1bmxvY2tfcGFnZShwYWdlKTsKIAlwYWdlX2NhY2hlX3JlbGVhc2UocGFnZSk7CiAKKwkvKgorCSAqIERvbid0IG1hcmsgdGhlIGlub2RlIGRpcnR5IHVuZGVyIHBhZ2UgbG9jay4gRmlyc3QsIGl0IHVubmVjZXNzYXJpbHkKKwkgKiBtYWtlcyB0aGUgaG9sZGluZyB0aW1lIG9mIHBhZ2UgbG9jayBsb25nZXIuIFNlY29uZCwgaXQgZm9yY2VzIGxvY2sKKwkgKiBvcmRlcmluZyBvZiBwYWdlIGxvY2sgYW5kIHRyYW5zYWN0aW9uIHN0YXJ0IGZvciBqb3VybmFsaW5nCisJICogZmlsZXN5c3RlbXMuCisJICovCisJaWYgKGlfc2l6ZV9jaGFuZ2VkKQorCQltYXJrX2lub2RlX2RpcnR5KGlub2RlKTsKKwogCXJldHVybiBjb3BpZWQ7CiB9CiBFWFBPUlRfU1lNQk9MKGdlbmVyaWNfd3JpdGVfZW5kKTsKZGlmZiAtLWdpdCBhL2ZzL2NoYXJfZGV2LmMgYi9mcy9jaGFyX2Rldi5jCmluZGV4IDY4ZTUxMGIuLjNjYjdjZGEgMTAwNjQ0Ci0tLSBhL2ZzL2NoYXJfZGV2LmMKKysrIGIvZnMvY2hhcl9kZXYuYwpAQCAtMzczLDYgKzM3Myw4IEBACiAJCQlyZXR1cm4gLUVOWElPOwogCQluZXcgPSBjb250YWluZXJfb2Yoa29iaiwgc3RydWN0IGNkZXYsIGtvYmopOwogCQlzcGluX2xvY2soJmNkZXZfbG9jayk7CisJCS8qIENoZWNrIGlfY2RldiBhZ2FpbiBpbiBjYXNlIHNvbWVib2R5IGJlYXQgdXMgdG8gaXQgd2hpbGUKKwkJICAgd2UgZHJvcHBlZCB0aGUgbG9jay4gKi8KIAkJcCA9IGlub2RlLT5pX2NkZXY7CiAJCWlmICghcCkgewogCQkJaW5vZGUtPmlfY2RldiA9IHAgPSBuZXc7CkBAIC0zOTIsMTEgKzM5NCw4IEBACiAJCWNkZXZfcHV0KHApOwogCQlyZXR1cm4gLUVOWElPOwogCX0KLQlpZiAoZmlscC0+Zl9vcC0+b3BlbikgewotCQlsb2NrX2tlcm5lbCgpOworCWlmIChmaWxwLT5mX29wLT5vcGVuKQogCQlyZXQgPSBmaWxwLT5mX29wLT5vcGVuKGlub2RlLGZpbHApOwotCQl1bmxvY2tfa2VybmVsKCk7Ci0JfQogCWlmIChyZXQpCiAJCWNkZXZfcHV0KHApOwogCXJldHVybiByZXQ7CmRpZmYgLS1naXQgYS9mcy9jaWZzL2NpZnNhY2wuYyBiL2ZzL2NpZnMvY2lmc2FjbC5jCmluZGV4IDM0OTAyY2YuLjBlOWZjMmIgMTAwNjQ0Ci0tLSBhL2ZzL2NpZnMvY2lmc2FjbC5jCisrKyBiL2ZzL2NpZnMvY2lmc2FjbC5jCkBAIC0zNCwxMSArMzQsMTEgQEAKIHN0YXRpYyBzdHJ1Y3QgY2lmc193a3NpZCB3a3NpZGFycltOVU1fV0tfU0lEU10gPSB7CiAJe3sxLCAwLCB7MCwgMCwgMCwgMCwgMCwgMH0sIHswLCAwLCAwLCAwLCAwfSB9LCAibnVsbCB1c2VyIn0sCiAJe3sxLCAxLCB7MCwgMCwgMCwgMCwgMCwgMX0sIHswLCAwLCAwLCAwLCAwfSB9LCAibm9ib2R5In0sCi0Je3sxLCAxLCB7MCwgMCwgMCwgMCwgMCwgNX0sIHtjcHVfdG9fbGUzMigxMSksIDAsIDAsIDAsIDB9IH0sICJuZXQtdXNlcnMifSwKLQl7ezEsIDEsIHswLCAwLCAwLCAwLCAwLCA1fSwge2NwdV90b19sZTMyKDE4KSwgMCwgMCwgMCwgMH0gfSwgInN5cyJ9LAotCXt7MSwgMiwgezAsIDAsIDAsIDAsIDAsIDV9LCB7Y3B1X3RvX2xlMzIoMzIpLCBjcHVfdG9fbGUzMig1NDQpLCAwLCAwLCAwfSB9LCAicm9vdCJ9LAotCXt7MSwgMiwgezAsIDAsIDAsIDAsIDAsIDV9LCB7Y3B1X3RvX2xlMzIoMzIpLCBjcHVfdG9fbGUzMig1NDUpLCAwLCAwLCAwfSB9LCAidXNlcnMifSwKLQl7ezEsIDIsIHswLCAwLCAwLCAwLCAwLCA1fSwge2NwdV90b19sZTMyKDMyKSwgY3B1X3RvX2xlMzIoNTQ2KSwgMCwgMCwgMH0gfSwgImd1ZXN0In0gfQorCXt7MSwgMSwgezAsIDAsIDAsIDAsIDAsIDV9LCB7X19jb25zdGFudF9jcHVfdG9fbGUzMigxMSksIDAsIDAsIDAsIDB9IH0sICJuZXQtdXNlcnMifSwKKwl7ezEsIDEsIHswLCAwLCAwLCAwLCAwLCA1fSwge19fY29uc3RhbnRfY3B1X3RvX2xlMzIoMTgpLCAwLCAwLCAwLCAwfSB9LCAic3lzIn0sCisJe3sxLCAyLCB7MCwgMCwgMCwgMCwgMCwgNX0sIHtfX2NvbnN0YW50X2NwdV90b19sZTMyKDMyKSwgX19jb25zdGFudF9jcHVfdG9fbGUzMig1NDQpLCAwLCAwLCAwfSB9LCAicm9vdCJ9LAorCXt7MSwgMiwgezAsIDAsIDAsIDAsIDAsIDV9LCB7X19jb25zdGFudF9jcHVfdG9fbGUzMigzMiksIF9fY29uc3RhbnRfY3B1X3RvX2xlMzIoNTQ1KSwgMCwgMCwgMH0gfSwgInVzZXJzIn0sCisJe3sxLCAyLCB7MCwgMCwgMCwgMCwgMCwgNX0sIHtfX2NvbnN0YW50X2NwdV90b19sZTMyKDMyKSwgX19jb25zdGFudF9jcHVfdG9fbGUzMig1NDYpLCAwLCAwLCAwfSB9LCAiZ3Vlc3QifSB9CiA7CiAKIApkaWZmIC0tZ2l0IGEvZnMvY2lmcy9jaWZzZnMuYyBiL2ZzL2NpZnMvY2lmc2ZzLmMKaW5kZXggODZiNGQ1Zi4uMjI4NTdjNiAxMDA2NDQKLS0tIGEvZnMvY2lmcy9jaWZzZnMuYworKysgYi9mcy9jaWZzL2NpZnNmcy5jCkBAIC02MTIsNyArNjEyLDcgQEAKIAkJaWYgKHJldHZhbCA8IDApCiAJCQlyZXR1cm4gKGxvZmZfdClyZXR2YWw7CiAJfQotCXJldHVybiByZW1vdGVfbGxzZWVrKGZpbGUsIG9mZnNldCwgb3JpZ2luKTsKKwlyZXR1cm4gZ2VuZXJpY19maWxlX2xsc2Vla191bmxvY2tlZChmaWxlLCBvZmZzZXQsIG9yaWdpbik7CiB9CiAKIHN0cnVjdCBmaWxlX3N5c3RlbV90eXBlIGNpZnNfZnNfdHlwZSA9IHsKZGlmZiAtLWdpdCBhL2ZzL2NpZnMvaW5vZGUuYyBiL2ZzL2NpZnMvaW5vZGUuYwppbmRleCA3MjJiZTU0Li4yZTkwNGJkIDEwMDY0NAotLS0gYS9mcy9jaWZzL2lub2RlLmMKKysrIGIvZnMvY2lmcy9pbm9kZS5jCkBAIC0yMTksMTUgKzIxOSwxNSBAQAogCXJjID0gQ0lGU1NNQlVuaXhRUGF0aEluZm8oeGlkLCBwVGNvbiwgZnVsbF9wYXRoLCAmZmluZF9kYXRhLAogCQkJCSAgY2lmc19zYi0+bG9jYWxfbmxzLCBjaWZzX3NiLT5tbnRfY2lmc19mbGFncyAmCiAJCQkJCUNJRlNfTU9VTlRfTUFQX1NQRUNJQUxfQ0hSKTsKLQlpZiAocmMpIHsKLQkJaWYgKHJjID09IC1FUkVNT1RFICYmICFpc19kZnNfcmVmZXJyYWwpIHsKLQkJCWlzX2Rmc19yZWZlcnJhbCA9IHRydWU7Ci0JCQljRllJKERCRzIsICgiREZTIHJlZiIpKTsKLQkJCS8qIGZvciBERlMsIHNlcnZlciBkb2VzIG5vdCBnaXZlIHVzIHJlYWwgaW5vZGUgZGF0YSAqLwotCQkJZmlsbF9mYWtlX2ZpbmRkYXRhdW5peCgmZmluZF9kYXRhLCBzYik7Ci0JCQlyYyA9IDA7Ci0JCX0KLQl9CisJaWYgKHJjID09IC1FUkVNT1RFICYmICFpc19kZnNfcmVmZXJyYWwpIHsKKwkJaXNfZGZzX3JlZmVycmFsID0gdHJ1ZTsKKwkJY0ZZSShEQkcyLCAoIkRGUyByZWYiKSk7CisJCS8qIGZvciBERlMsIHNlcnZlciBkb2VzIG5vdCBnaXZlIHVzIHJlYWwgaW5vZGUgZGF0YSAqLworCQlmaWxsX2Zha2VfZmluZGRhdGF1bml4KCZmaW5kX2RhdGEsIHNiKTsKKwkJcmMgPSAwOworCX0gZWxzZSBpZiAocmMpCisJCWdvdG8gY2dpaXVfZXhpdDsKKwogCW51bV9vZl9ieXRlcyA9IGxlNjRfdG9fY3B1KGZpbmRfZGF0YS5OdW1PZkJ5dGVzKTsKIAllbmRfb2ZfZmlsZSA9IGxlNjRfdG9fY3B1KGZpbmRfZGF0YS5FbmRPZkZpbGUpOwogCkBAIC0yMzYsNyArMjM2LDcgQEAKIAkJKnBpbm9kZSA9IG5ld19pbm9kZShzYik7CiAJCWlmICgqcGlub2RlID09IE5VTEwpIHsKIAkJCXJjID0gLUVOT01FTTsKLQkJZ290byBjZ2lpdV9leGl0OworCQkJZ290byBjZ2lpdV9leGl0OwogCQl9CiAJCS8qIElzIGFuIGlfaW5vIG9mIHplcm8gbGVnYWw/ICovCiAJCS8qIG5vdGUgaW5vIGluY3JlbWVudGVkIHRvIHVuaXF1ZSBudW0gaW4gbmV3X2lub2RlICovCmRpZmYgLS1naXQgYS9mcy9kbG0vdXNlci5jIGIvZnMvZGxtL3VzZXIuYwppbmRleCBlYmJjZjM4Li5mOTc2ZjMwIDEwMDY0NAotLS0gYS9mcy9kbG0vdXNlci5jCisrKyBiL2ZzL2RsbS91c2VyLmMKQEAgLTE1LDYgKzE1LDcgQEAKICNpbmNsdWRlIDxsaW51eC9wb2xsLmg+CiAjaW5jbHVkZSA8bGludXgvc2lnbmFsLmg+CiAjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L2RsbS5oPgogI2luY2x1ZGUgPGxpbnV4L2RsbV9kZXZpY2UuaD4KIApAQCAtNjE4LDEzICs2MTksMTcgQEAKIAlzdHJ1Y3QgZGxtX3VzZXJfcHJvYyAqcHJvYzsKIAlzdHJ1Y3QgZGxtX2xzICpsczsKIAorCWxvY2tfa2VybmVsKCk7CiAJbHMgPSBkbG1fZmluZF9sb2Nrc3BhY2VfZGV2aWNlKGltaW5vcihpbm9kZSkpOwotCWlmICghbHMpCisJaWYgKCFscykgeworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiAtRU5PRU5UOworCX0KIAogCXByb2MgPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgZGxtX3VzZXJfcHJvYyksIEdGUF9LRVJORUwpOwogCWlmICghcHJvYykgewogCQlkbG1fcHV0X2xvY2tzcGFjZShscyk7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIC1FTk9NRU07CiAJfQogCkBAIC02MzYsNiArNjQxLDcgQEAKIAlzcGluX2xvY2tfaW5pdCgmcHJvYy0+bG9ja3Nfc3Bpbik7CiAJaW5pdF93YWl0cXVldWVfaGVhZCgmcHJvYy0+d2FpdCk7CiAJZmlsZS0+cHJpdmF0ZV9kYXRhID0gcHJvYzsKKwl1bmxvY2tfa2VybmVsKCk7CiAKIAlyZXR1cm4gMDsKIH0KQEAgLTg3MCw2ICs4NzYsNyBAQAogCiBzdGF0aWMgaW50IGN0bF9kZXZpY2Vfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKKwljeWNsZV9rZXJuZWxfbG9jaygpOwogCWZpbGUtPnByaXZhdGVfZGF0YSA9IE5VTEw7CiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9mcy9lY3J5cHRmcy9maWxlLmMgYi9mcy9lY3J5cHRmcy9maWxlLmMKaW5kZXggMjI1OGI4Zi4uMjQ3NDliZiAxMDA2NDQKLS0tIGEvZnMvZWNyeXB0ZnMvZmlsZS5jCisrKyBiL2ZzL2VjcnlwdGZzL2ZpbGUuYwpAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3NlY3VyaXR5Lmg+CiAjaW5jbHVkZSA8bGludXgvY29tcGF0Lmg+CiAjaW5jbHVkZSA8bGludXgvZnNfc3RhY2suaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgImVjcnlwdGZzX2tlcm5lbC5oIgogCiAvKioKQEAgLTI3Nyw5ICsyNzgsMTEgQEAKIAlpbnQgcmMgPSAwOwogCXN0cnVjdCBmaWxlICpsb3dlcl9maWxlID0gTlVMTDsKIAorCWxvY2tfa2VybmVsKCk7CiAJbG93ZXJfZmlsZSA9IGVjcnlwdGZzX2ZpbGVfdG9fbG93ZXIoZmlsZSk7CiAJaWYgKGxvd2VyX2ZpbGUtPmZfb3AgJiYgbG93ZXJfZmlsZS0+Zl9vcC0+ZmFzeW5jKQogCQlyYyA9IGxvd2VyX2ZpbGUtPmZfb3AtPmZhc3luYyhmZCwgbG93ZXJfZmlsZSwgZmxhZyk7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiByYzsKIH0KIApkaWZmIC0tZ2l0IGEvZnMvZXhlYy5jIGIvZnMvZXhlYy5jCmluZGV4IGRhOTRhNmYuLmZkOTIzNDMgMTAwNjQ0Ci0tLSBhL2ZzL2V4ZWMuYworKysgYi9mcy9leGVjLmMKQEAgLTYxMCw3ICs2MTAsNyBAQAogCWJwcm0tPmV4ZWMgLT0gc3RhY2tfc2hpZnQ7CiAKIAlkb3duX3dyaXRlKCZtbS0+bW1hcF9zZW0pOwotCXZtX2ZsYWdzID0gdm1hLT52bV9mbGFnczsKKwl2bV9mbGFncyA9IFZNX1NUQUNLX0ZMQUdTOwogCiAJLyoKIAkgKiBBZGp1c3Qgc3RhY2sgZXhlY3V0ZSBwZXJtaXNzaW9uczsgZXhwbGljaXRseSBlbmFibGUgZm9yCmRpZmYgLS1naXQgYS9mcy9leHQ0L2JhbGxvYy5jIGIvZnMvZXh0NC9iYWxsb2MuYwppbmRleCA5Y2M4MGI5Li40OTVhYjIxIDEwMDY0NAotLS0gYS9mcy9leHQ0L2JhbGxvYy5jCisrKyBiL2ZzL2V4dDQvYmFsbG9jLmMKQEAgLTQ3LDcgKzQ3LDcgQEAKIAkJCWV4dDRfZ3JvdXBfdCBibG9ja19ncm91cCkKIHsKIAlleHQ0X2dyb3VwX3QgYWN0dWFsX2dyb3VwOwotCWV4dDRfZ2V0X2dyb3VwX25vX2FuZF9vZmZzZXQoc2IsIGJsb2NrLCAmYWN0dWFsX2dyb3VwLCAwKTsKKwlleHQ0X2dldF9ncm91cF9ub19hbmRfb2Zmc2V0KHNiLCBibG9jaywgJmFjdHVhbF9ncm91cCwgTlVMTCk7CiAJaWYgKGFjdHVhbF9ncm91cCA9PSBibG9ja19ncm91cCkKIAkJcmV0dXJuIDE7CiAJcmV0dXJuIDA7CkBAIC0xMjEsMTIgKzEyMSw3IEBACiAJCQkJbGUxNl90b19jcHUoc2JpLT5zX2VzLT5zX3Jlc2VydmVkX2dkdF9ibG9ja3MpOwogCQl9CiAJfSBlbHNlIHsgLyogRm9yIE1FVEFfQkdfQkxPQ0tfR1JPVVBTICovCi0JCWludCBncm91cF9yZWwgPSAoYmxvY2tfZ3JvdXAgLQotCQkJCSBsZTMyX3RvX2NwdShzYmktPnNfZXMtPnNfZmlyc3RfbWV0YV9iZykpICUKLQkJCQlFWFQ0X0RFU0NfUEVSX0JMT0NLKHNiKTsKLQkJaWYgKGdyb3VwX3JlbCA9PSAwIHx8IGdyb3VwX3JlbCA9PSAxIHx8Ci0JCSAgICAoZ3JvdXBfcmVsID09IEVYVDRfREVTQ19QRVJfQkxPQ0soc2IpIC0gMSkpCi0JCQliaXRfbWF4ICs9IDE7CisJCWJpdF9tYXggKz0gZXh0NF9iZ19udW1fZ2RiKHNiLCBibG9ja19ncm91cCk7CiAJfQogCiAJaWYgKGJsb2NrX2dyb3VwID09IHNiaS0+c19ncm91cHNfY291bnQgLSAxKSB7CkBAIC0yOTUsNyArMjkwLDcgQEAKIAlyZXR1cm4gMDsKIH0KIC8qKgotICogcmVhZF9ibG9ja19iaXRtYXAoKQorICogZXh0NF9yZWFkX2Jsb2NrX2JpdG1hcCgpCiAgKiBAc2I6CQkJc3VwZXIgYmxvY2sKICAqIEBibG9ja19ncm91cDoJZ2l2ZW4gYmxvY2sgZ3JvdXAKICAqCkBAIC0zMDUsNyArMzAwLDcgQEAKICAqIFJldHVybiBidWZmZXJfaGVhZCBvbiBzdWNjZXNzIG9yIE5VTEwgaW4gY2FzZSBvZiBmYWlsdXJlLgogICovCiBzdHJ1Y3QgYnVmZmVyX2hlYWQgKgotcmVhZF9ibG9ja19iaXRtYXAoc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwgZXh0NF9ncm91cF90IGJsb2NrX2dyb3VwKQorZXh0NF9yZWFkX2Jsb2NrX2JpdG1hcChzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLCBleHQ0X2dyb3VwX3QgYmxvY2tfZ3JvdXApCiB7CiAJc3RydWN0IGV4dDRfZ3JvdXBfZGVzYyAqIGRlc2M7CiAJc3RydWN0IGJ1ZmZlcl9oZWFkICogYmggPSBOVUxMOwpAQCAtNDA5LDggKzQwNCw3IEBACiAJCXByZXYgPSByc3Y7CiAJfQogCXByaW50aygiV2luZG93IG1hcCBjb21wbGV0ZS5cbiIpOwotCWlmIChiYWQpCi0JCUJVRygpOworCUJVR19PTihiYWQpOwogfQogI2RlZmluZSByc3Zfd2luZG93X2R1bXAocm9vdCwgdmVyYm9zZSkgXAogCV9fcnN2X3dpbmRvd19kdW1wKChyb290KSwgKHZlcmJvc2UpLCBfX2Z1bmNfXykKQEAgLTY5NCw3ICs2ODgsNyBAQAogCQljb3VudCAtPSBvdmVyZmxvdzsKIAl9CiAJYnJlbHNlKGJpdG1hcF9iaCk7Ci0JYml0bWFwX2JoID0gcmVhZF9ibG9ja19iaXRtYXAoc2IsIGJsb2NrX2dyb3VwKTsKKwliaXRtYXBfYmggPSBleHQ0X3JlYWRfYmxvY2tfYml0bWFwKHNiLCBibG9ja19ncm91cCk7CiAJaWYgKCFiaXRtYXBfYmgpCiAJCWdvdG8gZXJyb3JfcmV0dXJuOwogCWRlc2MgPSBleHQ0X2dldF9ncm91cF9kZXNjIChzYiwgYmxvY2tfZ3JvdXAsICZnZF9iaCk7CkBAIC04MTAsNiArODA0LDEzIEBACiAJc3Bpbl91bmxvY2soc2JfYmdsX2xvY2soc2JpLCBibG9ja19ncm91cCkpOwogCXBlcmNwdV9jb3VudGVyX2FkZCgmc2JpLT5zX2ZyZWVibG9ja3NfY291bnRlciwgY291bnQpOwogCisJaWYgKHNiaS0+c19sb2dfZ3JvdXBzX3Blcl9mbGV4KSB7CisJCWV4dDRfZ3JvdXBfdCBmbGV4X2dyb3VwID0gZXh0NF9mbGV4X2dyb3VwKHNiaSwgYmxvY2tfZ3JvdXApOworCQlzcGluX2xvY2soc2JfYmdsX2xvY2soc2JpLCBmbGV4X2dyb3VwKSk7CisJCXNiaS0+c19mbGV4X2dyb3Vwc1tmbGV4X2dyb3VwXS5mcmVlX2Jsb2NrcyArPSBjb3VudDsKKwkJc3Bpbl91bmxvY2soc2JfYmdsX2xvY2soc2JpLCBmbGV4X2dyb3VwKSk7CisJfQorCiAJLyogV2UgZGlydGllZCB0aGUgYml0bWFwIGJsb2NrICovCiAJQlVGRkVSX1RSQUNFKGJpdG1hcF9iaCwgImRpcnRpZWQgYml0bWFwIGJsb2NrIik7CiAJZXJyID0gZXh0NF9qb3VybmFsX2RpcnR5X21ldGFkYXRhKGhhbmRsZSwgYml0bWFwX2JoKTsKQEAgLTE1OTgsMjMgKzE1OTksMzUgQEAKIAogLyoqCiAgKiBleHQ0X2hhc19mcmVlX2Jsb2NrcygpCi0gKiBAc2JpOgkJaW4tY29yZSBzdXBlciBibG9jayBzdHJ1Y3R1cmUuCisgKiBAc2JpOglpbi1jb3JlIHN1cGVyIGJsb2NrIHN0cnVjdHVyZS4KKyAqIEBuYmxvY2tzOgludW1iZXIgb2YgbmVlZWQgYmxvY2tzCiAgKgotICogQ2hlY2sgaWYgZmlsZXN5c3RlbSBoYXMgYXQgbGVhc3QgMSBmcmVlIGJsb2NrIGF2YWlsYWJsZSBmb3IgYWxsb2NhdGlvbi4KKyAqIENoZWNrIGlmIGZpbGVzeXN0ZW0gaGFzIGZyZWUgYmxvY2tzIGF2YWlsYWJsZSBmb3IgYWxsb2NhdGlvbi4KKyAqIFJldHVybiB0aGUgbnVtYmVyIG9mIGJsb2NrcyBhdmFpYmxlIGZvciBhbGxvY2F0aW9uIGZvciB0aGlzIHJlcXVlc3QKKyAqIE9uIHN1Y2Nlc3MsIHJldHVybiBuYmxvY2tzCiAgKi8KLXN0YXRpYyBpbnQgZXh0NF9oYXNfZnJlZV9ibG9ja3Moc3RydWN0IGV4dDRfc2JfaW5mbyAqc2JpKQorZXh0NF9mc2Jsa190IGV4dDRfaGFzX2ZyZWVfYmxvY2tzKHN0cnVjdCBleHQ0X3NiX2luZm8gKnNiaSwKKwkJCQkJCWV4dDRfZnNibGtfdCBuYmxvY2tzKQogewotCWV4dDRfZnNibGtfdCBmcmVlX2Jsb2Nrcywgcm9vdF9ibG9ja3M7CisJZXh0NF9mc2Jsa190IGZyZWVfYmxvY2tzOworCWV4dDRfZnNibGtfdCByb290X2Jsb2NrcyA9IDA7CiAKIAlmcmVlX2Jsb2NrcyA9IHBlcmNwdV9jb3VudGVyX3JlYWRfcG9zaXRpdmUoJnNiaS0+c19mcmVlYmxvY2tzX2NvdW50ZXIpOwotCXJvb3RfYmxvY2tzID0gZXh0NF9yX2Jsb2Nrc19jb3VudChzYmktPnNfZXMpOwotCWlmIChmcmVlX2Jsb2NrcyA8IHJvb3RfYmxvY2tzICsgMSAmJiAhY2FwYWJsZShDQVBfU1lTX1JFU09VUkNFKSAmJgorCisJaWYgKCFjYXBhYmxlKENBUF9TWVNfUkVTT1VSQ0UpICYmCiAJCXNiaS0+c19yZXN1aWQgIT0gY3VycmVudC0+ZnN1aWQgJiYKLQkJKHNiaS0+c19yZXNnaWQgPT0gMCB8fCAhaW5fZ3JvdXBfcCAoc2JpLT5zX3Jlc2dpZCkpKSB7Ci0JCXJldHVybiAwOwotCX0KLQlyZXR1cm4gMTsKLX0KKwkJKHNiaS0+c19yZXNnaWQgPT0gMCB8fCAhaW5fZ3JvdXBfcChzYmktPnNfcmVzZ2lkKSkpCisJCXJvb3RfYmxvY2tzID0gZXh0NF9yX2Jsb2Nrc19jb3VudChzYmktPnNfZXMpOworI2lmZGVmIENPTkZJR19TTVAKKwlpZiAoZnJlZV9ibG9ja3MgLSByb290X2Jsb2NrcyA8IEZCQ19CQVRDSCkKKwkJZnJlZV9ibG9ja3MgPQorCQkJcGVyY3B1X2NvdW50ZXJfc3VtX2FuZF9zZXQoJnNiaS0+c19mcmVlYmxvY2tzX2NvdW50ZXIpOworI2VuZGlmCisJaWYgKGZyZWVfYmxvY2tzIC0gcm9vdF9ibG9ja3MgPCBuYmxvY2tzKQorCQlyZXR1cm4gZnJlZV9ibG9ja3MgLSByb290X2Jsb2NrczsKKwlyZXR1cm4gbmJsb2NrczsKKyB9CisKIAogLyoqCiAgKiBleHQ0X3Nob3VsZF9yZXRyeV9hbGxvYygpCkBAIC0xNjMwLDcgKzE2NDMsNyBAQAogICovCiBpbnQgZXh0NF9zaG91bGRfcmV0cnlfYWxsb2Moc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwgaW50ICpyZXRyaWVzKQogewotCWlmICghZXh0NF9oYXNfZnJlZV9ibG9ja3MoRVhUNF9TQihzYikpIHx8ICgqcmV0cmllcykrKyA+IDMpCisJaWYgKCFleHQ0X2hhc19mcmVlX2Jsb2NrcyhFWFQ0X1NCKHNiKSwgMSkgfHwgKCpyZXRyaWVzKSsrID4gMykKIAkJcmV0dXJuIDA7CiAKIAlqYmRfZGVidWcoMSwgIiVzOiByZXRyeWluZyBvcGVyYXRpb24gYWZ0ZXIgRU5PU1BDXG4iLCBzYi0+c19pZCk7CkBAIC0xNjM5LDIwICsxNjUyLDI0IEBACiB9CiAKIC8qKgotICogZXh0NF9uZXdfYmxvY2tzX29sZCgpIC0tIGNvcmUgYmxvY2socykgYWxsb2NhdGlvbiBmdW5jdGlvbgorICogZXh0NF9vbGRfbmV3X2Jsb2NrcygpIC0tIGNvcmUgYmxvY2sgYml0bWFwIGJhc2VkIGJsb2NrIGFsbG9jYXRpb24gZnVuY3Rpb24KKyAqCiAgKiBAaGFuZGxlOgkJaGFuZGxlIHRvIHRoaXMgdHJhbnNhY3Rpb24KICAqIEBpbm9kZToJCWZpbGUgaW5vZGUKICAqIEBnb2FsOgkJZ2l2ZW4gdGFyZ2V0IGJsb2NrKGZpbGVzeXN0ZW0gd2lkZSkKICAqIEBjb3VudDoJCXRhcmdldCBudW1iZXIgb2YgYmxvY2tzIHRvIGFsbG9jYXRlCiAgKiBAZXJycDoJCWVycm9yIGNvZGUKICAqCi0gKiBleHQ0X25ld19ibG9ja3MgdXNlcyBhIGdvYWwgYmxvY2sgdG8gYXNzaXN0IGFsbG9jYXRpb24uICBJdCB0cmllcyB0bwotICogYWxsb2NhdGUgYmxvY2socykgZnJvbSB0aGUgYmxvY2sgZ3JvdXAgY29udGFpbnMgdGhlIGdvYWwgYmxvY2sgZmlyc3QuIElmIHRoYXQKLSAqIGZhaWxzLCBpdCB3aWxsIHRyeSB0byBhbGxvY2F0ZSBibG9jayhzKSBmcm9tIG90aGVyIGJsb2NrIGdyb3VwcyB3aXRob3V0Ci0gKiBhbnkgc3BlY2lmaWMgZ29hbCBibG9jay4KKyAqIGV4dDRfb2xkX25ld19ibG9ja3MgdXNlcyBhIGdvYWwgYmxvY2sgdG8gYXNzaXN0IGFsbG9jYXRpb24gYW5kIGxvb2sgdXAKKyAqIHRoZSBibG9jayBiaXRtYXAgZGlyZWN0bHkgdG8gZG8gYmxvY2sgYWxsb2NhdGlvbi4gIEl0IHRyaWVzIHRvCisgKiBhbGxvY2F0ZSBibG9jayhzKSBmcm9tIHRoZSBibG9jayBncm91cCBjb250YWlucyB0aGUgZ29hbCBibG9jayBmaXJzdC4gSWYKKyAqIHRoYXQgZmFpbHMsIGl0IHdpbGwgdHJ5IHRvIGFsbG9jYXRlIGJsb2NrKHMpIGZyb20gb3RoZXIgYmxvY2sgZ3JvdXBzCisgKiB3aXRob3V0IGFueSBzcGVjaWZpYyBnb2FsIGJsb2NrLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHdoZW4gLW8gbm9tYmFsbG9jIG1vdW50IG9wdGlvbiBpcyBlbmFibGVkCiAgKgogICovCi1leHQ0X2ZzYmxrX3QgZXh0NF9uZXdfYmxvY2tzX29sZChoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgaW5vZGUgKmlub2RlLAorZXh0NF9mc2Jsa190IGV4dDRfb2xkX25ld19ibG9ja3MoaGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IGlub2RlICppbm9kZSwKIAkJCWV4dDRfZnNibGtfdCBnb2FsLCB1bnNpZ25lZCBsb25nICpjb3VudCwgaW50ICplcnJwKQogewogCXN0cnVjdCBidWZmZXJfaGVhZCAqYml0bWFwX2JoID0gTlVMTDsKQEAgLTE2NzYsMTMgKzE2OTMsMjYgQEAKIAlleHQ0X2dyb3VwX3Qgbmdyb3VwczsKIAl1bnNpZ25lZCBsb25nIG51bSA9ICpjb3VudDsKIAotCSplcnJwID0gLUVOT1NQQzsKIAlzYiA9IGlub2RlLT5pX3NiOwogCWlmICghc2IpIHsKKwkJKmVycnAgPSAtRU5PREVWOwogCQlwcmludGsoImV4dDRfbmV3X2Jsb2NrOiBub25leGlzdGVudCBkZXZpY2UiKTsKIAkJcmV0dXJuIDA7CiAJfQogCisJc2JpID0gRVhUNF9TQihzYik7CisJaWYgKCFFWFQ0X0koaW5vZGUpLT5pX2RlbGFsbG9jX3Jlc2VydmVkX2ZsYWcpIHsKKwkJLyoKKwkJICogV2l0aCBkZWxhbGxvYyB3ZSBhbHJlYWR5IHJlc2VydmVkIHRoZSBibG9ja3MKKwkJICovCisJCSpjb3VudCA9IGV4dDRfaGFzX2ZyZWVfYmxvY2tzKHNiaSwgKmNvdW50KTsKKwl9CisJaWYgKCpjb3VudCA9PSAwKSB7CisJCSplcnJwID0gLUVOT1NQQzsKKwkJcmV0dXJuIDA7CS8qcmV0dXJuIHdpdGggRU5PU1BDIGVycm9yICovCisJfQorCW51bSA9ICpjb3VudDsKKwogCS8qCiAJICogQ2hlY2sgcXVvdGEgZm9yIGFsbG9jYXRpb24gb2YgdGhpcyBibG9jay4KIAkgKi8KQEAgLTE3MDYsMTEgKzE3MzYsNiBAQAogCWlmIChibG9ja19pICYmICgod2luZG93c3ogPSBibG9ja19pLT5yc3Zfd2luZG93X25vZGUucnN2X2dvYWxfc2l6ZSkgPiAwKSkKIAkJbXlfcnN2ID0gJmJsb2NrX2ktPnJzdl93aW5kb3dfbm9kZTsKIAotCWlmICghZXh0NF9oYXNfZnJlZV9ibG9ja3Moc2JpKSkgewotCQkqZXJycCA9IC1FTk9TUEM7Ci0JCWdvdG8gb3V0OwotCX0KLQogCS8qCiAJICogRmlyc3QsIHRlc3Qgd2hldGhlciB0aGUgZ29hbCBibG9jayBpcyBmcmVlLgogCSAqLwpAQCAtMTczNCw3ICsxNzU5LDcgQEAKIAkJbXlfcnN2ID0gTlVMTDsKIAogCWlmIChmcmVlX2Jsb2NrcyA+IDApIHsKLQkJYml0bWFwX2JoID0gcmVhZF9ibG9ja19iaXRtYXAoc2IsIGdyb3VwX25vKTsKKwkJYml0bWFwX2JoID0gZXh0NF9yZWFkX2Jsb2NrX2JpdG1hcChzYiwgZ3JvdXBfbm8pOwogCQlpZiAoIWJpdG1hcF9iaCkKIAkJCWdvdG8gaW9fZXJyb3I7CiAJCWdycF9hbGxvY19ibGsgPSBleHQ0X3RyeV90b19hbGxvY2F0ZV93aXRoX3JzdihzYiwgaGFuZGxlLApAQCAtMTc3MCw3ICsxNzk1LDcgQEAKIAkJCWNvbnRpbnVlOwogCiAJCWJyZWxzZShiaXRtYXBfYmgpOwotCQliaXRtYXBfYmggPSByZWFkX2Jsb2NrX2JpdG1hcChzYiwgZ3JvdXBfbm8pOworCQliaXRtYXBfYmggPSBleHQ0X3JlYWRfYmxvY2tfYml0bWFwKHNiLCBncm91cF9ubyk7CiAJCWlmICghYml0bWFwX2JoKQogCQkJZ290byBpb19lcnJvcjsKIAkJLyoKQEAgLTE4ODIsNyArMTkwNywxNSBAQAogCWxlMTZfYWRkX2NwdSgmZ2RwLT5iZ19mcmVlX2Jsb2Nrc19jb3VudCwgLW51bSk7CiAJZ2RwLT5iZ19jaGVja3N1bSA9IGV4dDRfZ3JvdXBfZGVzY19jc3VtKHNiaSwgZ3JvdXBfbm8sIGdkcCk7CiAJc3Bpbl91bmxvY2soc2JfYmdsX2xvY2soc2JpLCBncm91cF9ubykpOwotCXBlcmNwdV9jb3VudGVyX3N1Yigmc2JpLT5zX2ZyZWVibG9ja3NfY291bnRlciwgbnVtKTsKKwlpZiAoIUVYVDRfSShpbm9kZSktPmlfZGVsYWxsb2NfcmVzZXJ2ZWRfZmxhZykKKwkJcGVyY3B1X2NvdW50ZXJfc3ViKCZzYmktPnNfZnJlZWJsb2Nrc19jb3VudGVyLCBudW0pOworCisJaWYgKHNiaS0+c19sb2dfZ3JvdXBzX3Blcl9mbGV4KSB7CisJCWV4dDRfZ3JvdXBfdCBmbGV4X2dyb3VwID0gZXh0NF9mbGV4X2dyb3VwKHNiaSwgZ3JvdXBfbm8pOworCQlzcGluX2xvY2soc2JfYmdsX2xvY2soc2JpLCBmbGV4X2dyb3VwKSk7CisJCXNiaS0+c19mbGV4X2dyb3Vwc1tmbGV4X2dyb3VwXS5mcmVlX2Jsb2NrcyAtPSBudW07CisJCXNwaW5fdW5sb2NrKHNiX2JnbF9sb2NrKHNiaSwgZmxleF9ncm91cCkpOworCX0KIAogCUJVRkZFUl9UUkFDRShnZHBfYmgsICJqb3VybmFsX2RpcnR5X21ldGFkYXRhIGZvciBncm91cCBkZXNjcmlwdG9yIik7CiAJZXJyID0gZXh0NF9qb3VybmFsX2RpcnR5X21ldGFkYXRhKGhhbmRsZSwgZ2RwX2JoKTsKQEAgLTE5MTUsNDYgKzE5NDgsMTA0IEBACiAJcmV0dXJuIDA7CiB9CiAKLWV4dDRfZnNibGtfdCBleHQ0X25ld19ibG9jayhoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgaW5vZGUgKmlub2RlLAotCQlleHQ0X2ZzYmxrX3QgZ29hbCwgaW50ICplcnJwKQorI2RlZmluZSBFWFQ0X01FVEFfQkxPQ0sgMHgxCisKK3N0YXRpYyBleHQ0X2ZzYmxrX3QgZG9fYmxrX2FsbG9jKGhhbmRsZV90ICpoYW5kbGUsIHN0cnVjdCBpbm9kZSAqaW5vZGUsCisJCQkJZXh0NF9sYmxrX3QgaWJsb2NrLCBleHQ0X2ZzYmxrX3QgZ29hbCwKKwkJCQl1bnNpZ25lZCBsb25nICpjb3VudCwgaW50ICplcnJwLCBpbnQgZmxhZ3MpCiB7CiAJc3RydWN0IGV4dDRfYWxsb2NhdGlvbl9yZXF1ZXN0IGFyOwogCWV4dDRfZnNibGtfdCByZXQ7CiAKIAlpZiAoIXRlc3Rfb3B0KGlub2RlLT5pX3NiLCBNQkFMTE9DKSkgewotCQl1bnNpZ25lZCBsb25nIGNvdW50ID0gMTsKLQkJcmV0ID0gZXh0NF9uZXdfYmxvY2tzX29sZChoYW5kbGUsIGlub2RlLCBnb2FsLCAmY291bnQsIGVycnApOwotCQlyZXR1cm4gcmV0OworCQlyZXR1cm4gZXh0NF9vbGRfbmV3X2Jsb2NrcyhoYW5kbGUsIGlub2RlLCBnb2FsLCBjb3VudCwgZXJycCk7CiAJfQogCiAJbWVtc2V0KCZhciwgMCwgc2l6ZW9mKGFyKSk7Ci0JYXIuaW5vZGUgPSBpbm9kZTsKLQlhci5nb2FsID0gZ29hbDsKLQlhci5sZW4gPSAxOwotCXJldCA9IGV4dDRfbWJfbmV3X2Jsb2NrcyhoYW5kbGUsICZhciwgZXJycCk7Ci0JcmV0dXJuIHJldDsKLX0KKwkvKiBGaWxsIHdpdGggbmVpZ2hib3VyIGFsbG9jYXRlZCBibG9ja3MgKi8KIAotZXh0NF9mc2Jsa190IGV4dDRfbmV3X2Jsb2NrcyhoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgaW5vZGUgKmlub2RlLAotCQlleHQ0X2ZzYmxrX3QgZ29hbCwgdW5zaWduZWQgbG9uZyAqY291bnQsIGludCAqZXJycCkKLXsKLQlzdHJ1Y3QgZXh0NF9hbGxvY2F0aW9uX3JlcXVlc3QgYXI7Ci0JZXh0NF9mc2Jsa190IHJldDsKLQotCWlmICghdGVzdF9vcHQoaW5vZGUtPmlfc2IsIE1CQUxMT0MpKSB7Ci0JCXJldCA9IGV4dDRfbmV3X2Jsb2Nrc19vbGQoaGFuZGxlLCBpbm9kZSwgZ29hbCwgY291bnQsIGVycnApOwotCQlyZXR1cm4gcmV0OwotCX0KLQotCW1lbXNldCgmYXIsIDAsIHNpemVvZihhcikpOwogCWFyLmlub2RlID0gaW5vZGU7CiAJYXIuZ29hbCA9IGdvYWw7CiAJYXIubGVuID0gKmNvdW50OworCWFyLmxvZ2ljYWwgPSBpYmxvY2s7CisKKwlpZiAoU19JU1JFRyhpbm9kZS0+aV9tb2RlKSAmJiAhKGZsYWdzICYgRVhUNF9NRVRBX0JMT0NLKSkKKwkJLyogZW5hYmxlIGluLWNvcmUgcHJlYWxsb2NhdGlvbiBmb3IgZGF0YSBibG9jayBhbGxvY2F0aW9uICovCisJCWFyLmZsYWdzID0gRVhUNF9NQl9ISU5UX0RBVEE7CisJZWxzZQorCQkvKiBkaXNhYmxlIGluLWNvcmUgcHJlYWxsb2NhdGlvbiBmb3Igbm9uLXJlZ3VsYXIgZmlsZXMgKi8KKwkJYXIuZmxhZ3MgPSAwOworCiAJcmV0ID0gZXh0NF9tYl9uZXdfYmxvY2tzKGhhbmRsZSwgJmFyLCBlcnJwKTsKIAkqY291bnQgPSBhci5sZW47CiAJcmV0dXJuIHJldDsKIH0KIAorLyoKKyAqIGV4dDRfbmV3X21ldGFfYmxvY2tzKCkgLS0gYWxsb2NhdGUgYmxvY2sgZm9yIG1ldGEgZGF0YSAoaW5kZXhpbmcpIGJsb2NrcworICoKKyAqIEBoYW5kbGU6ICAgICAgICAgICAgIGhhbmRsZSB0byB0aGlzIHRyYW5zYWN0aW9uCisgKiBAaW5vZGU6ICAgICAgICAgICAgICBmaWxlIGlub2RlCisgKiBAZ29hbDogICAgICAgICAgICAgICBnaXZlbiB0YXJnZXQgYmxvY2soZmlsZXN5c3RlbSB3aWRlKQorICogQGNvdW50OgkJdG90YWwgbnVtYmVyIG9mIGJsb2NrcyBuZWVkCisgKiBAZXJycDogICAgICAgICAgICAgICBlcnJvciBjb2RlCisgKgorICogUmV0dXJuIDFzdCBhbGxvY2F0ZWQgYmxvY2sgbnVtYmVyb24gc3VjY2VzcywgKmNvdW50IHN0b3JlcyB0b3RhbCBhY2NvdW50CisgKiBlcnJvciBzdG9yZXMgaW4gZXJycCBwb2ludGVyCisgKi8KK2V4dDRfZnNibGtfdCBleHQ0X25ld19tZXRhX2Jsb2NrcyhoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgaW5vZGUgKmlub2RlLAorCQlleHQ0X2ZzYmxrX3QgZ29hbCwgdW5zaWduZWQgbG9uZyAqY291bnQsIGludCAqZXJycCkKK3sKKwlleHQ0X2ZzYmxrX3QgcmV0OworCXJldCA9IGRvX2Jsa19hbGxvYyhoYW5kbGUsIGlub2RlLCAwLCBnb2FsLAorCQkJCWNvdW50LCBlcnJwLCBFWFQ0X01FVEFfQkxPQ0spOworCS8qCisJICogQWNjb3VudCBmb3IgdGhlIGFsbG9jYXRlZCBtZXRhIGJsb2NrcworCSAqLworCWlmICghKCplcnJwKSkgeworCQlzcGluX2xvY2soJkVYVDRfSShpbm9kZSktPmlfYmxvY2tfcmVzZXJ2YXRpb25fbG9jayk7CisJCUVYVDRfSShpbm9kZSktPmlfYWxsb2NhdGVkX21ldGFfYmxvY2tzICs9ICpjb3VudDsKKwkJc3Bpbl91bmxvY2soJkVYVDRfSShpbm9kZSktPmlfYmxvY2tfcmVzZXJ2YXRpb25fbG9jayk7CisJfQorCXJldHVybiByZXQ7Cit9CisKKy8qCisgKiBleHQ0X25ld19tZXRhX2Jsb2NrKCkgLS0gYWxsb2NhdGUgYmxvY2sgZm9yIG1ldGEgZGF0YSAoaW5kZXhpbmcpIGJsb2NrcworICoKKyAqIEBoYW5kbGU6ICAgICAgICAgICAgIGhhbmRsZSB0byB0aGlzIHRyYW5zYWN0aW9uCisgKiBAaW5vZGU6ICAgICAgICAgICAgICBmaWxlIGlub2RlCisgKiBAZ29hbDogICAgICAgICAgICAgICBnaXZlbiB0YXJnZXQgYmxvY2soZmlsZXN5c3RlbSB3aWRlKQorICogQGVycnA6ICAgICAgICAgICAgICAgZXJyb3IgY29kZQorICoKKyAqIFJldHVybiBhbGxvY2F0ZWQgYmxvY2sgbnVtYmVyIG9uIHN1Y2Nlc3MKKyAqLworZXh0NF9mc2Jsa190IGV4dDRfbmV3X21ldGFfYmxvY2soaGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IGlub2RlICppbm9kZSwKKwkJZXh0NF9mc2Jsa190IGdvYWwsIGludCAqZXJycCkKK3sKKwl1bnNpZ25lZCBsb25nIGNvdW50ID0gMTsKKwlyZXR1cm4gZXh0NF9uZXdfbWV0YV9ibG9ja3MoaGFuZGxlLCBpbm9kZSwgZ29hbCwgJmNvdW50LCBlcnJwKTsKK30KKworLyoKKyAqIGV4dDRfbmV3X2Jsb2NrcygpIC0tIGFsbG9jYXRlIGRhdGEgYmxvY2tzCisgKgorICogQGhhbmRsZTogICAgICAgICAgICAgaGFuZGxlIHRvIHRoaXMgdHJhbnNhY3Rpb24KKyAqIEBpbm9kZTogICAgICAgICAgICAgIGZpbGUgaW5vZGUKKyAqIEBnb2FsOiAgICAgICAgICAgICAgIGdpdmVuIHRhcmdldCBibG9jayhmaWxlc3lzdGVtIHdpZGUpCisgKiBAY291bnQ6CQl0b3RhbCBudW1iZXIgb2YgYmxvY2tzIG5lZWQKKyAqIEBlcnJwOiAgICAgICAgICAgICAgIGVycm9yIGNvZGUKKyAqCisgKiBSZXR1cm4gMXN0IGFsbG9jYXRlZCBibG9jayBudW1iZXJvbiBzdWNjZXNzLCAqY291bnQgc3RvcmVzIHRvdGFsIGFjY291bnQKKyAqIGVycm9yIHN0b3JlcyBpbiBlcnJwIHBvaW50ZXIKKyAqLworCitleHQ0X2ZzYmxrX3QgZXh0NF9uZXdfYmxvY2tzKGhhbmRsZV90ICpoYW5kbGUsIHN0cnVjdCBpbm9kZSAqaW5vZGUsCisJCQkJZXh0NF9sYmxrX3QgaWJsb2NrLCBleHQ0X2ZzYmxrX3QgZ29hbCwKKwkJCQl1bnNpZ25lZCBsb25nICpjb3VudCwgaW50ICplcnJwKQoreworCXJldHVybiBkb19ibGtfYWxsb2MoaGFuZGxlLCBpbm9kZSwgaWJsb2NrLCBnb2FsLCBjb3VudCwgZXJycCwgMCk7Cit9CiAKIC8qKgogICogZXh0NF9jb3VudF9mcmVlX2Jsb2NrcygpIC0tIGNvdW50IGZpbGVzeXN0ZW0gZnJlZSBibG9ja3MKQEAgLTE5ODYsNyArMjA3Nyw3IEBACiAJCQljb250aW51ZTsKIAkJZGVzY19jb3VudCArPSBsZTE2X3RvX2NwdShnZHAtPmJnX2ZyZWVfYmxvY2tzX2NvdW50KTsKIAkJYnJlbHNlKGJpdG1hcF9iaCk7Ci0JCWJpdG1hcF9iaCA9IHJlYWRfYmxvY2tfYml0bWFwKHNiLCBpKTsKKwkJYml0bWFwX2JoID0gZXh0NF9yZWFkX2Jsb2NrX2JpdG1hcChzYiwgaSk7CiAJCWlmIChiaXRtYXBfYmggPT0gTlVMTCkKIAkJCWNvbnRpbnVlOwogCmRpZmYgLS1naXQgYS9mcy9leHQ0L2Rpci5jIGIvZnMvZXh0NC9kaXIuYwppbmRleCAyYmYwMzMxLi5kM2QyM2Q3IDEwMDY0NAotLS0gYS9mcy9leHQ0L2Rpci5jCisrKyBiL2ZzL2V4dDQvZGlyLmMKQEAgLTEyOSw3ICsxMjksOCBAQAogCQlzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoID0gTlVMTDsKIAogCQltYXBfYmguYl9zdGF0ZSA9IDA7Ci0JCWVyciA9IGV4dDRfZ2V0X2Jsb2Nrc193cmFwKE5VTEwsIGlub2RlLCBibGssIDEsICZtYXBfYmgsIDAsIDApOworCQllcnIgPSBleHQ0X2dldF9ibG9ja3Nfd3JhcChOVUxMLCBpbm9kZSwgYmxrLCAxLCAmbWFwX2JoLAorCQkJCQkJMCwgMCwgMCk7CiAJCWlmIChlcnIgPiAwKSB7CiAJCQlwZ29mZl90IGluZGV4ID0gbWFwX2JoLmJfYmxvY2tuciA+PgogCQkJCQkoUEFHRV9DQUNIRV9TSElGVCAtIGlub2RlLT5pX2Jsa2JpdHMpOwpAQCAtMjcyLDcgKzI3Myw3IEBACiAKIAl3aGlsZSAobikgewogCQkvKiBEbyB0aGUgbm9kZSdzIGNoaWxkcmVuIGZpcnN0ICovCi0JCWlmICgobiktPnJiX2xlZnQpIHsKKwkJaWYgKG4tPnJiX2xlZnQpIHsKIAkJCW4gPSBuLT5yYl9sZWZ0OwogCQkJY29udGludWU7CiAJCX0KQEAgLTMwMSwyNCArMzAyLDE4IEBACiAJCQlwYXJlbnQtPnJiX3JpZ2h0ID0gTlVMTDsKIAkJbiA9IHBhcmVudDsKIAl9Ci0Jcm9vdC0+cmJfbm9kZSA9IE5VTEw7CiB9CiAKIAotc3RhdGljIHN0cnVjdCBkaXJfcHJpdmF0ZV9pbmZvICpjcmVhdGVfZGlyX2luZm8obG9mZl90IHBvcykKK3N0YXRpYyBzdHJ1Y3QgZGlyX3ByaXZhdGVfaW5mbyAqZXh0NF9odHJlZV9jcmVhdGVfZGlyX2luZm8obG9mZl90IHBvcykKIHsKIAlzdHJ1Y3QgZGlyX3ByaXZhdGVfaW5mbyAqcDsKIAotCXAgPSBrbWFsbG9jKHNpemVvZihzdHJ1Y3QgZGlyX3ByaXZhdGVfaW5mbyksIEdGUF9LRVJORUwpOworCXAgPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgZGlyX3ByaXZhdGVfaW5mbyksIEdGUF9LRVJORUwpOwogCWlmICghcCkKIAkJcmV0dXJuIE5VTEw7Ci0JcC0+cm9vdC5yYl9ub2RlID0gTlVMTDsKLQlwLT5jdXJyX25vZGUgPSBOVUxMOwotCXAtPmV4dHJhX2ZuYW1lID0gTlVMTDsKLQlwLT5sYXN0X3BvcyA9IDA7CiAJcC0+Y3Vycl9oYXNoID0gcG9zMm1hal9oYXNoKHBvcyk7CiAJcC0+Y3Vycl9taW5vcl9oYXNoID0gcG9zMm1pbl9oYXNoKHBvcyk7Ci0JcC0+bmV4dF9oYXNoID0gMDsKIAlyZXR1cm4gcDsKIH0KIApAQCAtNDMzLDcgKzQyOCw3IEBACiAJaW50CXJldDsKIAogCWlmICghaW5mbykgewotCQlpbmZvID0gY3JlYXRlX2Rpcl9pbmZvKGZpbHAtPmZfcG9zKTsKKwkJaW5mbyA9IGV4dDRfaHRyZWVfY3JlYXRlX2Rpcl9pbmZvKGZpbHAtPmZfcG9zKTsKIAkJaWYgKCFpbmZvKQogCQkJcmV0dXJuIC1FTk9NRU07CiAJCWZpbHAtPnByaXZhdGVfZGF0YSA9IGluZm87CmRpZmYgLS1naXQgYS9mcy9leHQ0L2V4dDQuaCBiL2ZzL2V4dDQvZXh0NC5oCmluZGV4IDgxNTgwODMuLjMwM2U0MWMgMTAwNjQ0Ci0tLSBhL2ZzL2V4dDQvZXh0NC5oCisrKyBiL2ZzL2V4dDQvZXh0NC5oCkBAIC0yMiw3ICsyMiw3IEBACiAjaW5jbHVkZSAiZXh0NF9pLmgiCiAKIC8qCi0gKiBUaGUgc2Vjb25kIGV4dGVuZGVkIGZpbGVzeXN0ZW0gY29uc3RhbnRzL3N0cnVjdHVyZXMKKyAqIFRoZSBmb3VydGggZXh0ZW5kZWQgZmlsZXN5c3RlbSBjb25zdGFudHMvc3RydWN0dXJlcwogICovCiAKIC8qCkBAIC00NSw3ICs0NSw3IEBACiAjZGVmaW5lIGV4dDRfZGVidWcoZiwgYS4uLikJCQkJCQlcCiAJZG8gewkJCQkJCQkJXAogCQlwcmludGsgKEtFUk5fREVCVUcgIkVYVDQtZnMgREVCVUcgKCVzLCAlZCk6ICVzOiIsCVwKLQkJCV9fRklMRV9fLCBfX0xJTkVfXywgX19GVU5DVElPTl9fKTsJCVwKKwkJCV9fRklMRV9fLCBfX0xJTkVfXywgX19mdW5jX18pOwkJCVwKIAkJcHJpbnRrIChLRVJOX0RFQlVHIGYsICMjIGEpOwkJCQlcCiAJfSB3aGlsZSAoMCkKICNlbHNlCkBAIC03NCw2ICs3NCw5IEBACiAjZGVmaW5lIEVYVDRfTUJfSElOVF9HT0FMX09OTFkJCTI1NgogLyogZ29hbCBpcyBtZWFuaW5nZnVsICovCiAjZGVmaW5lIEVYVDRfTUJfSElOVF9UUllfR09BTAkJNTEyCisvKiBibG9ja3MgYWxyZWFkeSBwcmUtcmVzZXJ2ZWQgYnkgZGVsYXllZCBhbGxvY2F0aW9uICovCisjZGVmaW5lIEVYVDRfTUJfREVMQUxMT0NfUkVTRVJWRUQgICAgICAxMDI0CisKIAogc3RydWN0IGV4dDRfYWxsb2NhdGlvbl9yZXF1ZXN0IHsKIAkvKiB0YXJnZXQgaW5vZGUgZm9yIGJsb2NrIHdlJ3JlIGFsbG9jYXRpbmcgKi8KQEAgLTE3MCw2ICsxNzMsMTUgQEAKIAlfX3UzMgliZ19yZXNlcnZlZDJbM107CiB9OwogCisvKgorICogU3RydWN0dXJlIG9mIGEgZmxleCBibG9jayBncm91cCBpbmZvCisgKi8KKworc3RydWN0IGZsZXhfZ3JvdXBzIHsKKwlfX3UzMiBmcmVlX2lub2RlczsKKwlfX3UzMiBmcmVlX2Jsb2NrczsKK307CisKICNkZWZpbmUgRVhUNF9CR19JTk9ERV9VTklOSVQJMHgwMDAxIC8qIElub2RlIHRhYmxlL2JpdG1hcCBub3QgaW4gdXNlICovCiAjZGVmaW5lIEVYVDRfQkdfQkxPQ0tfVU5JTklUCTB4MDAwMiAvKiBCbG9jayBiaXRtYXAgbm90IGluIHVzZSAqLwogI2RlZmluZSBFWFQ0X0JHX0lOT0RFX1pFUk9FRAkweDAwMDQgLyogT24tZGlzayBpdGFibGUgaW5pdGlhbGl6ZWQgdG8gemVybyAqLwpAQCAtNTI3LDYgKzUzOSw3IEBACiAjZGVmaW5lIEVYVDRfTU9VTlRfSk9VUk5BTF9BU1lOQ19DT01NSVQJMHgxMDAwMDAwIC8qIEpvdXJuYWwgQXN5bmMgQ29tbWl0ICovCiAjZGVmaW5lIEVYVDRfTU9VTlRfSV9WRVJTSU9OICAgICAgICAgICAgMHgyMDAwMDAwIC8qIGlfdmVyc2lvbiBzdXBwb3J0ICovCiAjZGVmaW5lIEVYVDRfTU9VTlRfTUJBTExPQwkJMHg0MDAwMDAwIC8qIEJ1ZGR5IGFsbG9jYXRpb24gc3VwcG9ydCAqLworI2RlZmluZSBFWFQ0X01PVU5UX0RFTEFMTE9DCQkweDgwMDAwMDAgLyogRGVsYWxsb2Mgc3VwcG9ydCAqLwogLyogQ29tcGF0aWJpbGl0eSwgZm9yIGhhdmluZyBib3RoIGV4dDJfZnMuaCBhbmQgZXh0NF9mcy5oIGluY2x1ZGVkIGF0IG9uY2UgKi8KICNpZm5kZWYgX0xJTlVYX0VYVDJfRlNfSAogI2RlZmluZSBjbGVhcl9vcHQobywgb3B0KQkJbyAmPSB+RVhUNF9NT1VOVF8jI29wdApAQCAtNjQ3LDcgKzY2MCwxMCBAQAogCV9fbGUxNiAgc19tbXBfaW50ZXJ2YWw7ICAgICAgICAgLyogIyBzZWNvbmRzIHRvIHdhaXQgaW4gTU1QIGNoZWNraW5nICovCiAJX19sZTY0ICBzX21tcF9ibG9jazsgICAgICAgICAgICAvKiBCbG9jayBmb3IgbXVsdGktbW91bnQgcHJvdGVjdGlvbiAqLwogCV9fbGUzMiAgc19yYWlkX3N0cmlwZV93aWR0aDsgICAgLyogYmxvY2tzIG9uIGFsbCBkYXRhIGRpc2tzIChOKnN0cmlkZSkqLwotCV9fdTMyICAgc19yZXNlcnZlZFsxNjNdOyAgICAgICAgLyogUGFkZGluZyB0byB0aGUgZW5kIG9mIHRoZSBibG9jayAqLworCV9fdTgJc19sb2dfZ3JvdXBzX3Blcl9mbGV4OyAgLyogRkxFWF9CRyBncm91cCBzaXplICovCisJX191OAlzX3Jlc2VydmVkX2NoYXJfcGFkMjsKKwlfX2xlMTYgIHNfcmVzZXJ2ZWRfcGFkOworCV9fdTMyICAgc19yZXNlcnZlZFsxNjJdOyAgICAgICAgLyogUGFkZGluZyB0byB0aGUgZW5kIG9mIHRoZSBibG9jayAqLwogfTsKIAogI2lmZGVmIF9fS0VSTkVMX18KQEAgLTk1OCwxMiArOTc0LDE3IEBACiBleHRlcm4gaW50IGV4dDRfYmdfaGFzX3N1cGVyKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsIGV4dDRfZ3JvdXBfdCBncm91cCk7CiBleHRlcm4gdW5zaWduZWQgbG9uZyBleHQ0X2JnX251bV9nZGIoc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwKIAkJCWV4dDRfZ3JvdXBfdCBncm91cCk7Ci1leHRlcm4gZXh0NF9mc2Jsa190IGV4dDRfbmV3X2Jsb2NrIChoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgaW5vZGUgKmlub2RlLAorZXh0ZXJuIGV4dDRfZnNibGtfdCBleHQ0X25ld19tZXRhX2Jsb2NrKGhhbmRsZV90ICpoYW5kbGUsIHN0cnVjdCBpbm9kZSAqaW5vZGUsCiAJCQlleHQ0X2ZzYmxrX3QgZ29hbCwgaW50ICplcnJwKTsKLWV4dGVybiBleHQ0X2ZzYmxrX3QgZXh0NF9uZXdfYmxvY2tzIChoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgaW5vZGUgKmlub2RlLAorZXh0ZXJuIGV4dDRfZnNibGtfdCBleHQ0X25ld19tZXRhX2Jsb2NrcyhoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgaW5vZGUgKmlub2RlLAogCQkJZXh0NF9mc2Jsa190IGdvYWwsIHVuc2lnbmVkIGxvbmcgKmNvdW50LCBpbnQgKmVycnApOwotZXh0ZXJuIGV4dDRfZnNibGtfdCBleHQ0X25ld19ibG9ja3Nfb2xkKGhhbmRsZV90ICpoYW5kbGUsIHN0cnVjdCBpbm9kZSAqaW5vZGUsCitleHRlcm4gZXh0NF9mc2Jsa190IGV4dDRfbmV3X2Jsb2NrcyhoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgaW5vZGUgKmlub2RlLAorCQkJCQlleHQ0X2xibGtfdCBpYmxvY2ssIGV4dDRfZnNibGtfdCBnb2FsLAorCQkJCQl1bnNpZ25lZCBsb25nICpjb3VudCwgaW50ICplcnJwKTsKK2V4dGVybiBleHQ0X2ZzYmxrX3QgZXh0NF9vbGRfbmV3X2Jsb2NrcyhoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgaW5vZGUgKmlub2RlLAogCQkJZXh0NF9mc2Jsa190IGdvYWwsIHVuc2lnbmVkIGxvbmcgKmNvdW50LCBpbnQgKmVycnApOworZXh0ZXJuIGV4dDRfZnNibGtfdCBleHQ0X2hhc19mcmVlX2Jsb2NrcyhzdHJ1Y3QgZXh0NF9zYl9pbmZvICpzYmksCisJCQkJCQlleHQ0X2ZzYmxrX3QgbmJsb2Nrcyk7CiBleHRlcm4gdm9pZCBleHQ0X2ZyZWVfYmxvY2tzIChoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgaW5vZGUgKmlub2RlLAogCQkJZXh0NF9mc2Jsa190IGJsb2NrLCB1bnNpZ25lZCBsb25nIGNvdW50LCBpbnQgbWV0YWRhdGEpOwogZXh0ZXJuIHZvaWQgZXh0NF9mcmVlX2Jsb2Nrc19zYiAoaGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwKQEAgLTEwMTYsOSArMTAzNywxNCBAQAogZXh0ZXJuIHZvaWQgZXhpdF9leHQ0X21iYWxsb2Modm9pZCk7CiBleHRlcm4gdm9pZCBleHQ0X21iX2ZyZWVfYmxvY2tzKGhhbmRsZV90ICosIHN0cnVjdCBpbm9kZSAqLAogCQl1bnNpZ25lZCBsb25nLCB1bnNpZ25lZCBsb25nLCBpbnQsIHVuc2lnbmVkIGxvbmcgKik7CitleHRlcm4gaW50IGV4dDRfbWJfYWRkX21vcmVfZ3JvdXBpbmZvKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsCisJCWV4dDRfZ3JvdXBfdCBpLCBzdHJ1Y3QgZXh0NF9ncm91cF9kZXNjICpkZXNjKTsKK2V4dGVybiB2b2lkIGV4dDRfbWJfdXBkYXRlX2dyb3VwX2luZm8oc3RydWN0IGV4dDRfZ3JvdXBfaW5mbyAqZ3JwLAorCQlleHQ0X2dycGJsa190IGFkZCk7CiAKIAogLyogaW5vZGUuYyAqLwordm9pZCBleHQ0X2RhX3JlbGVhc2Vfc3BhY2Uoc3RydWN0IGlub2RlICppbm9kZSwgaW50IHVzZWQsIGludCB0b19mcmVlKTsKIGludCBleHQ0X2ZvcmdldChoYW5kbGVfdCAqaGFuZGxlLCBpbnQgaXNfbWV0YWRhdGEsIHN0cnVjdCBpbm9kZSAqaW5vZGUsCiAJCXN0cnVjdCBidWZmZXJfaGVhZCAqYmgsIGV4dDRfZnNibGtfdCBibG9ja25yKTsKIHN0cnVjdCBidWZmZXJfaGVhZCAqZXh0NF9nZXRibGsoaGFuZGxlX3QgKiwgc3RydWN0IGlub2RlICosCkBAIC0xMDMzLDE5ICsxMDU5LDIzIEBACiBleHRlcm4gc3RydWN0IGlub2RlICpleHQ0X2lnZXQoc3RydWN0IHN1cGVyX2Jsb2NrICosIHVuc2lnbmVkIGxvbmcpOwogZXh0ZXJuIGludCAgZXh0NF93cml0ZV9pbm9kZSAoc3RydWN0IGlub2RlICosIGludCk7CiBleHRlcm4gaW50ICBleHQ0X3NldGF0dHIgKHN0cnVjdCBkZW50cnkgKiwgc3RydWN0IGlhdHRyICopOworZXh0ZXJuIGludCAgZXh0NF9nZXRhdHRyKHN0cnVjdCB2ZnNtb3VudCAqbW50LCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnksCisJCQkJc3RydWN0IGtzdGF0ICpzdGF0KTsKIGV4dGVybiB2b2lkIGV4dDRfZGVsZXRlX2lub2RlIChzdHJ1Y3QgaW5vZGUgKik7CiBleHRlcm4gaW50ICBleHQ0X3N5bmNfaW5vZGUgKGhhbmRsZV90ICosIHN0cnVjdCBpbm9kZSAqKTsKIGV4dGVybiB2b2lkIGV4dDRfZGlzY2FyZF9yZXNlcnZhdGlvbiAoc3RydWN0IGlub2RlICopOwogZXh0ZXJuIHZvaWQgZXh0NF9kaXJ0eV9pbm9kZShzdHJ1Y3QgaW5vZGUgKik7CiBleHRlcm4gaW50IGV4dDRfY2hhbmdlX2lub2RlX2pvdXJuYWxfZmxhZyhzdHJ1Y3QgaW5vZGUgKiwgaW50KTsKIGV4dGVybiBpbnQgZXh0NF9nZXRfaW5vZGVfbG9jKHN0cnVjdCBpbm9kZSAqLCBzdHJ1Y3QgZXh0NF9pbG9jICopOworZXh0ZXJuIGludCBleHQ0X2Nhbl90cnVuY2F0ZShzdHJ1Y3QgaW5vZGUgKmlub2RlKTsKIGV4dGVybiB2b2lkIGV4dDRfdHJ1bmNhdGUgKHN0cnVjdCBpbm9kZSAqKTsKIGV4dGVybiB2b2lkIGV4dDRfc2V0X2lub2RlX2ZsYWdzKHN0cnVjdCBpbm9kZSAqKTsKIGV4dGVybiB2b2lkIGV4dDRfZ2V0X2lub2RlX2ZsYWdzKHN0cnVjdCBleHQ0X2lub2RlX2luZm8gKik7CiBleHRlcm4gdm9pZCBleHQ0X3NldF9hb3BzKHN0cnVjdCBpbm9kZSAqaW5vZGUpOwogZXh0ZXJuIGludCBleHQ0X3dyaXRlcGFnZV90cmFuc19ibG9ja3Moc3RydWN0IGlub2RlICopOwotZXh0ZXJuIGludCBleHQ0X2Jsb2NrX3RydW5jYXRlX3BhZ2UoaGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IHBhZ2UgKnBhZ2UsCitleHRlcm4gaW50IGV4dDRfYmxvY2tfdHJ1bmNhdGVfcGFnZShoYW5kbGVfdCAqaGFuZGxlLAogCQlzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywgbG9mZl90IGZyb20pOworZXh0ZXJuIGludCBleHQ0X3BhZ2VfbWt3cml0ZShzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSwgc3RydWN0IHBhZ2UgKnBhZ2UpOwogCiAvKiBpb2N0bC5jICovCiBleHRlcm4gbG9uZyBleHQ0X2lvY3RsKHN0cnVjdCBmaWxlICosIHVuc2lnbmVkIGludCwgdW5zaWduZWQgbG9uZyk7CkBAIC0xMTU5LDEwICsxMTg5LDIxIEBACiB9CiAKIAorc3RhdGljIGlubGluZSBleHQ0X2dyb3VwX3QgZXh0NF9mbGV4X2dyb3VwKHN0cnVjdCBleHQ0X3NiX2luZm8gKnNiaSwKKwkJCQkJICAgICBleHQ0X2dyb3VwX3QgYmxvY2tfZ3JvdXApCit7CisJcmV0dXJuIGJsb2NrX2dyb3VwID4+IHNiaS0+c19sb2dfZ3JvdXBzX3Blcl9mbGV4OworfQorCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCBleHQ0X2ZsZXhfYmdfc2l6ZShzdHJ1Y3QgZXh0NF9zYl9pbmZvICpzYmkpCit7CisJcmV0dXJuIDEgPDwgc2JpLT5zX2xvZ19ncm91cHNfcGVyX2ZsZXg7Cit9CisKICNkZWZpbmUgZXh0NF9zdGRfZXJyb3Ioc2IsIGVycm5vKQkJCQlcCiBkbyB7CQkJCQkJCQlcCiAJaWYgKChlcnJubykpCQkJCQkJXAotCQlfX2V4dDRfc3RkX2Vycm9yKChzYiksIF9fRlVOQ1RJT05fXywgKGVycm5vKSk7CVwKKwkJX19leHQ0X3N0ZF9lcnJvcigoc2IpLCBfX2Z1bmNfXywgKGVycm5vKSk7CVwKIH0gd2hpbGUgKDApCiAKIC8qCkBAIC0xMTkxLDcgKzEyMzIsNyBAQAogCQkJZXh0NF9sYmxrX3QgaWJsb2NrLAogCQkJdW5zaWduZWQgbG9uZyBtYXhfYmxvY2tzLCBzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoX3Jlc3VsdCwKIAkJCWludCBjcmVhdGUsIGludCBleHRlbmRfZGlza3NpemUpOwotZXh0ZXJuIHZvaWQgZXh0NF9leHRfdHJ1bmNhdGUoc3RydWN0IGlub2RlICosIHN0cnVjdCBwYWdlICopOworZXh0ZXJuIHZvaWQgZXh0NF9leHRfdHJ1bmNhdGUoc3RydWN0IGlub2RlICopOwogZXh0ZXJuIHZvaWQgZXh0NF9leHRfaW5pdChzdHJ1Y3Qgc3VwZXJfYmxvY2sgKik7CiBleHRlcm4gdm9pZCBleHQ0X2V4dF9yZWxlYXNlKHN0cnVjdCBzdXBlcl9ibG9jayAqKTsKIGV4dGVybiBsb25nIGV4dDRfZmFsbG9jYXRlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIGludCBtb2RlLCBsb2ZmX3Qgb2Zmc2V0LApAQCAtMTE5OSw3ICsxMjQwLDcgQEAKIGV4dGVybiBpbnQgZXh0NF9nZXRfYmxvY2tzX3dyYXAoaGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IGlub2RlICppbm9kZSwKIAkJCXNlY3Rvcl90IGJsb2NrLCB1bnNpZ25lZCBsb25nIG1heF9ibG9ja3MsCiAJCQlzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoLCBpbnQgY3JlYXRlLAotCQkJaW50IGV4dGVuZF9kaXNrc2l6ZSk7CisJCQlpbnQgZXh0ZW5kX2Rpc2tzaXplLCBpbnQgZmxhZyk7CiAjZW5kaWYJLyogX19LRVJORUxfXyAqLwogCiAjZW5kaWYJLyogX0VYVDRfSCAqLwpkaWZmIC0tZ2l0IGEvZnMvZXh0NC9leHQ0X2V4dGVudHMuaCBiL2ZzL2V4dDQvZXh0NF9leHRlbnRzLmgKaW5kZXggNzUzMzNiNS4uNmMxNjZjMCAxMDA2NDQKLS0tIGEvZnMvZXh0NC9leHQ0X2V4dGVudHMuaAorKysgYi9mcy9leHQ0L2V4dDRfZXh0ZW50cy5oCkBAIC0yMTIsNiArMjEyLDcgQEAKIAkJKGxlMTZfdG9fY3B1KGV4dC0+ZWVfbGVuKSAtIEVYVF9JTklUX01BWF9MRU4pKTsKIH0KIAorZXh0ZXJuIGludCBleHQ0X2V4dF9jYWxjX21ldGFkYXRhX2Ftb3VudChzdHJ1Y3QgaW5vZGUgKmlub2RlLCBpbnQgYmxvY2tzKTsKIGV4dGVybiBleHQ0X2ZzYmxrX3QgaWR4X3BibG9jayhzdHJ1Y3QgZXh0NF9leHRlbnRfaWR4ICopOwogZXh0ZXJuIHZvaWQgZXh0NF9leHRfc3RvcmVfcGJsb2NrKHN0cnVjdCBleHQ0X2V4dGVudCAqLCBleHQ0X2ZzYmxrX3QpOwogZXh0ZXJuIGludCBleHQ0X2V4dGVudF90cmVlX2luaXQoaGFuZGxlX3QgKiwgc3RydWN0IGlub2RlICopOwpkaWZmIC0tZ2l0IGEvZnMvZXh0NC9leHQ0X2kuaCBiL2ZzL2V4dDQvZXh0NF9pLmgKaW5kZXggMjZhNGFlMi4uZWY3NDA5ZiAxMDA2NDQKLS0tIGEvZnMvZXh0NC9leHQ0X2kuaAorKysgYi9mcy9leHQ0L2V4dDRfaS5oCkBAIC03OSw3ICs3OSw3IEBACiB9OwogCiAvKgotICogdGhpcmQgZXh0ZW5kZWQgZmlsZSBzeXN0ZW0gaW5vZGUgZGF0YSBpbiBtZW1vcnkKKyAqIGZvdXJ0aCBleHRlbmRlZCBmaWxlIHN5c3RlbSBpbm9kZSBkYXRhIGluIG1lbW9yeQogICovCiBzdHJ1Y3QgZXh0NF9pbm9kZV9pbmZvIHsKIAlfX2xlMzIJaV9kYXRhWzE1XTsJLyogdW5jb252ZXJ0ZWQgKi8KQEAgLTE1MCw2ICsxNTAsNyBAQAogCSAqLwogCXN0cnVjdCByd19zZW1hcGhvcmUgaV9kYXRhX3NlbTsKIAlzdHJ1Y3QgaW5vZGUgdmZzX2lub2RlOworCXN0cnVjdCBqYmQyX2lub2RlIGppbm9kZTsKIAogCXVuc2lnbmVkIGxvbmcgaV9leHRfZ2VuZXJhdGlvbjsKIAlzdHJ1Y3QgZXh0NF9leHRfY2FjaGUgaV9jYWNoZWRfZXh0ZW50OwpAQCAtMTYyLDYgKzE2MywxMyBAQAogCS8qIG1iYWxsb2MgKi8KIAlzdHJ1Y3QgbGlzdF9oZWFkIGlfcHJlYWxsb2NfbGlzdDsKIAlzcGlubG9ja190IGlfcHJlYWxsb2NfbG9jazsKKworCS8qIGFsbG9jYXRpb24gcmVzZXJ2YXRpb24gaW5mbyBmb3IgZGVsYWxsb2MgKi8KKwl1bnNpZ25lZCBsb25nIGlfcmVzZXJ2ZWRfZGF0YV9ibG9ja3M7CisJdW5zaWduZWQgbG9uZyBpX3Jlc2VydmVkX21ldGFfYmxvY2tzOworCXVuc2lnbmVkIGxvbmcgaV9hbGxvY2F0ZWRfbWV0YV9ibG9ja3M7CisJdW5zaWduZWQgc2hvcnQgaV9kZWxhbGxvY19yZXNlcnZlZF9mbGFnOworCXNwaW5sb2NrX3QgaV9ibG9ja19yZXNlcnZhdGlvbl9sb2NrOwogfTsKIAogI2VuZGlmCS8qIF9FWFQ0X0kgKi8KZGlmZiAtLWdpdCBhL2ZzL2V4dDQvZXh0NF9qYmQyLmggYi9mcy9leHQ0L2V4dDRfamJkMi5oCmluZGV4IDkyNTVhN2QyLi5lYjhiYzNhIDEwMDY0NAotLS0gYS9mcy9leHQ0L2V4dDRfamJkMi5oCisrKyBiL2ZzL2V4dDQvZXh0NF9qYmQyLmgKQEAgLTE0MiwxOSArMTQyLDE3IEBACiAJCQkJaGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IGJ1ZmZlcl9oZWFkICpiaCk7CiAKICNkZWZpbmUgZXh0NF9qb3VybmFsX2dldF91bmRvX2FjY2VzcyhoYW5kbGUsIGJoKSBcCi0JX19leHQ0X2pvdXJuYWxfZ2V0X3VuZG9fYWNjZXNzKF9fRlVOQ1RJT05fXywgKGhhbmRsZSksIChiaCkpCisJX19leHQ0X2pvdXJuYWxfZ2V0X3VuZG9fYWNjZXNzKF9fZnVuY19fLCAoaGFuZGxlKSwgKGJoKSkKICNkZWZpbmUgZXh0NF9qb3VybmFsX2dldF93cml0ZV9hY2Nlc3MoaGFuZGxlLCBiaCkgXAotCV9fZXh0NF9qb3VybmFsX2dldF93cml0ZV9hY2Nlc3MoX19GVU5DVElPTl9fLCAoaGFuZGxlKSwgKGJoKSkKKwlfX2V4dDRfam91cm5hbF9nZXRfd3JpdGVfYWNjZXNzKF9fZnVuY19fLCAoaGFuZGxlKSwgKGJoKSkKICNkZWZpbmUgZXh0NF9qb3VybmFsX3Jldm9rZShoYW5kbGUsIGJsb2NrbnIsIGJoKSBcCi0JX19leHQ0X2pvdXJuYWxfcmV2b2tlKF9fRlVOQ1RJT05fXywgKGhhbmRsZSksIChibG9ja25yKSwgKGJoKSkKKwlfX2V4dDRfam91cm5hbF9yZXZva2UoX19mdW5jX18sIChoYW5kbGUpLCAoYmxvY2tuciksIChiaCkpCiAjZGVmaW5lIGV4dDRfam91cm5hbF9nZXRfY3JlYXRlX2FjY2VzcyhoYW5kbGUsIGJoKSBcCi0JX19leHQ0X2pvdXJuYWxfZ2V0X2NyZWF0ZV9hY2Nlc3MoX19GVU5DVElPTl9fLCAoaGFuZGxlKSwgKGJoKSkKKwlfX2V4dDRfam91cm5hbF9nZXRfY3JlYXRlX2FjY2VzcyhfX2Z1bmNfXywgKGhhbmRsZSksIChiaCkpCiAjZGVmaW5lIGV4dDRfam91cm5hbF9kaXJ0eV9tZXRhZGF0YShoYW5kbGUsIGJoKSBcCi0JX19leHQ0X2pvdXJuYWxfZGlydHlfbWV0YWRhdGEoX19GVU5DVElPTl9fLCAoaGFuZGxlKSwgKGJoKSkKKwlfX2V4dDRfam91cm5hbF9kaXJ0eV9tZXRhZGF0YShfX2Z1bmNfXywgKGhhbmRsZSksIChiaCkpCiAjZGVmaW5lIGV4dDRfam91cm5hbF9mb3JnZXQoaGFuZGxlLCBiaCkgXAotCV9fZXh0NF9qb3VybmFsX2ZvcmdldChfX0ZVTkNUSU9OX18sIChoYW5kbGUpLCAoYmgpKQotCi1pbnQgZXh0NF9qb3VybmFsX2RpcnR5X2RhdGEoaGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IGJ1ZmZlcl9oZWFkICpiaCk7CisJX19leHQ0X2pvdXJuYWxfZm9yZ2V0KF9fZnVuY19fLCAoaGFuZGxlKSwgKGJoKSkKIAogaGFuZGxlX3QgKmV4dDRfam91cm5hbF9zdGFydF9zYihzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLCBpbnQgbmJsb2Nrcyk7CiBpbnQgX19leHQ0X2pvdXJuYWxfc3RvcChjb25zdCBjaGFyICp3aGVyZSwgaGFuZGxlX3QgKmhhbmRsZSk7CkBAIC0xNjUsNyArMTYzLDcgQEAKIH0KIAogI2RlZmluZSBleHQ0X2pvdXJuYWxfc3RvcChoYW5kbGUpIFwKLQlfX2V4dDRfam91cm5hbF9zdG9wKF9fRlVOQ1RJT05fXywgKGhhbmRsZSkpCisJX19leHQ0X2pvdXJuYWxfc3RvcChfX2Z1bmNfXywgKGhhbmRsZSkpCiAKIHN0YXRpYyBpbmxpbmUgaGFuZGxlX3QgKmV4dDRfam91cm5hbF9jdXJyZW50X2hhbmRsZSh2b2lkKQogewpAQCAtMTkyLDYgKzE5MCwxMSBAQAogCXJldHVybiBqYmQyX2pvdXJuYWxfZm9yY2VfY29tbWl0KGpvdXJuYWwpOwogfQogCitzdGF0aWMgaW5saW5lIGludCBleHQ0X2piZDJfZmlsZV9pbm9kZShoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgaW5vZGUgKmlub2RlKQoreworCXJldHVybiBqYmQyX2pvdXJuYWxfZmlsZV9pbm9kZShoYW5kbGUsICZFWFQ0X0koaW5vZGUpLT5qaW5vZGUpOworfQorCiAvKiBzdXBlci5jICovCiBpbnQgZXh0NF9mb3JjZV9jb21taXQoc3RydWN0IHN1cGVyX2Jsb2NrICpzYik7CiAKZGlmZiAtLWdpdCBhL2ZzL2V4dDQvZXh0NF9zYi5oIGIvZnMvZXh0NC9leHQ0X3NiLmgKaW5kZXggNTgwMmU2OS4uNjMwMDIyNiAxMDA2NDQKLS0tIGEvZnMvZXh0NC9leHQ0X3NiLmgKKysrIGIvZnMvZXh0NC9leHQ0X3NiLmgKQEAgLTI1LDcgKzI1LDcgQEAKICNpbmNsdWRlIDxsaW51eC9yYnRyZWUuaD4KIAogLyoKLSAqIHRoaXJkIGV4dGVuZGVkLWZzIHN1cGVyLWJsb2NrIGRhdGEgaW4gbWVtb3J5CisgKiBmb3VydGggZXh0ZW5kZWQtZnMgc3VwZXItYmxvY2sgZGF0YSBpbiBtZW1vcnkKICAqLwogc3RydWN0IGV4dDRfc2JfaW5mbyB7CiAJdW5zaWduZWQgbG9uZyBzX2Rlc2Nfc2l6ZTsJLyogU2l6ZSBvZiBhIGdyb3VwIGRlc2NyaXB0b3IgaW4gYnl0ZXMgKi8KQEAgLTE0Myw2ICsxNDMsOSBAQAogCiAJLyogbG9jYWxpdHkgZ3JvdXBzICovCiAJc3RydWN0IGV4dDRfbG9jYWxpdHlfZ3JvdXAgKnNfbG9jYWxpdHlfZ3JvdXBzOworCisJdW5zaWduZWQgaW50IHNfbG9nX2dyb3Vwc19wZXJfZmxleDsKKwlzdHJ1Y3QgZmxleF9ncm91cHMgKnNfZmxleF9ncm91cHM7CiB9OwogCiAjZW5kaWYJLyogX0VYVDRfU0IgKi8KZGlmZiAtLWdpdCBhL2ZzL2V4dDQvZXh0ZW50cy5jIGIvZnMvZXh0NC9leHRlbnRzLmMKaW5kZXggNDc5MjljNC4uNDJjNGMwYyAxMDA2NDQKLS0tIGEvZnMvZXh0NC9leHRlbnRzLmMKKysrIGIvZnMvZXh0NC9leHRlbnRzLmMKQEAgLTkyLDE3ICs5MiwxNiBAQAogCWl4LT5laV9sZWFmX2hpID0gY3B1X3RvX2xlMTYoKHVuc2lnbmVkIGxvbmcpICgocGIgPj4gMzEpID4+IDEpICYgMHhmZmZmKTsKIH0KIAotc3RhdGljIGhhbmRsZV90ICpleHQ0X2V4dF9qb3VybmFsX3Jlc3RhcnQoaGFuZGxlX3QgKmhhbmRsZSwgaW50IG5lZWRlZCkKK3N0YXRpYyBpbnQgZXh0NF9leHRfam91cm5hbF9yZXN0YXJ0KGhhbmRsZV90ICpoYW5kbGUsIGludCBuZWVkZWQpCiB7CiAJaW50IGVycjsKIAogCWlmIChoYW5kbGUtPmhfYnVmZmVyX2NyZWRpdHMgPiBuZWVkZWQpCi0JCXJldHVybiBoYW5kbGU7Ci0JaWYgKCFleHQ0X2pvdXJuYWxfZXh0ZW5kKGhhbmRsZSwgbmVlZGVkKSkKLQkJcmV0dXJuIGhhbmRsZTsKLQllcnIgPSBleHQ0X2pvdXJuYWxfcmVzdGFydChoYW5kbGUsIG5lZWRlZCk7Ci0KLQlyZXR1cm4gaGFuZGxlOworCQlyZXR1cm4gMDsKKwllcnIgPSBleHQ0X2pvdXJuYWxfZXh0ZW5kKGhhbmRsZSwgbmVlZGVkKTsKKwlpZiAoZXJyKQorCQlyZXR1cm4gZXJyOworCXJldHVybiBleHQ0X2pvdXJuYWxfcmVzdGFydChoYW5kbGUsIG5lZWRlZCk7CiB9CiAKIC8qCkBAIC0xODAsMTUgKzE3OSwxOCBAQAogCXJldHVybiBiZ19zdGFydCArIGNvbG91ciArIGJsb2NrOwogfQogCisvKgorICogQWxsb2NhdGlvbiBmb3IgYSBtZXRhIGRhdGEgYmxvY2sKKyAqLwogc3RhdGljIGV4dDRfZnNibGtfdAotZXh0NF9leHRfbmV3X2Jsb2NrKGhhbmRsZV90ICpoYW5kbGUsIHN0cnVjdCBpbm9kZSAqaW5vZGUsCitleHQ0X2V4dF9uZXdfbWV0YV9ibG9jayhoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgaW5vZGUgKmlub2RlLAogCQkJc3RydWN0IGV4dDRfZXh0X3BhdGggKnBhdGgsCiAJCQlzdHJ1Y3QgZXh0NF9leHRlbnQgKmV4LCBpbnQgKmVycikKIHsKIAlleHQ0X2ZzYmxrX3QgZ29hbCwgbmV3YmxvY2s7CiAKIAlnb2FsID0gZXh0NF9leHRfZmluZF9nb2FsKGlub2RlLCBwYXRoLCBsZTMyX3RvX2NwdShleC0+ZWVfYmxvY2spKTsKLQluZXdibG9jayA9IGV4dDRfbmV3X2Jsb2NrKGhhbmRsZSwgaW5vZGUsIGdvYWwsIGVycik7CisJbmV3YmxvY2sgPSBleHQ0X25ld19tZXRhX2Jsb2NrKGhhbmRsZSwgaW5vZGUsIGdvYWwsIGVycik7CiAJcmV0dXJuIG5ld2Jsb2NrOwogfQogCkBAIC0yNDYsNiArMjQ4LDM2IEBACiAJcmV0dXJuIHNpemU7CiB9CiAKKy8qCisgKiBDYWxjdWxhdGUgdGhlIG51bWJlciBvZiBtZXRhZGF0YSBibG9ja3MgbmVlZGVkCisgKiB0byBhbGxvY2F0ZSBAYmxvY2tzCisgKiBXb3JzZSBjYXNlIGlzIG9uZSBibG9jayBwZXIgZXh0ZW50CisgKi8KK2ludCBleHQ0X2V4dF9jYWxjX21ldGFkYXRhX2Ftb3VudChzdHJ1Y3QgaW5vZGUgKmlub2RlLCBpbnQgYmxvY2tzKQoreworCWludCBsY2FwLCBpY2FwLCByY2FwLCBsZWFmcywgaWR4cywgbnVtOworCWludCBuZXdleHRlbnRzID0gYmxvY2tzOworCisJcmNhcCA9IGV4dDRfZXh0X3NwYWNlX3Jvb3RfaWR4KGlub2RlKTsKKwlsY2FwID0gZXh0NF9leHRfc3BhY2VfYmxvY2soaW5vZGUpOworCWljYXAgPSBleHQ0X2V4dF9zcGFjZV9ibG9ja19pZHgoaW5vZGUpOworCisJLyogbnVtYmVyIG9mIG5ldyBsZWFmIGJsb2NrcyBuZWVkZWQgKi8KKwludW0gPSBsZWFmcyA9IChuZXdleHRlbnRzICsgbGNhcCAtIDEpIC8gbGNhcDsKKworCS8qCisJICogV29yc2UgY2FzZSwgd2UgbmVlZCBzZXBhcmF0ZSBpbmRleCBibG9jayhzKQorCSAqIHRvIGxpbmsgYWxsIG5ldyBsZWFmIGJsb2NrcworCSAqLworCWlkeHMgPSAobGVhZnMgKyBpY2FwIC0gMSkgLyBpY2FwOworCWRvIHsKKwkJbnVtICs9IGlkeHM7CisJCWlkeHMgPSAoaWR4cyArIGljYXAgLSAxKSAvIGljYXA7CisJfSB3aGlsZSAoaWR4cyA+IHJjYXApOworCisJcmV0dXJuIG51bTsKK30KKwogc3RhdGljIGludAogZXh0NF9leHRfbWF4X2VudHJpZXMoc3RydWN0IGlub2RlICppbm9kZSwgaW50IGRlcHRoKQogewpAQCAtNTI0LDYgKzU1Niw3IEBACiAJCWFsbG9jID0gMTsKIAl9CiAJcGF0aFswXS5wX2hkciA9IGVoOworCXBhdGhbMF0ucF9iaCA9IE5VTEw7CiAKIAlpID0gZGVwdGg7CiAJLyogd2FsayB0aHJvdWdoIHRoZSB0cmVlICovCkBAIC01NTIsMTIgKzU4NSwxNCBAQAogCX0KIAogCXBhdGhbcHBvc10ucF9kZXB0aCA9IGk7Ci0JcGF0aFtwcG9zXS5wX2hkciA9IGVoOwogCXBhdGhbcHBvc10ucF9leHQgPSBOVUxMOwogCXBhdGhbcHBvc10ucF9pZHggPSBOVUxMOwogCiAJLyogZmluZCBleHRlbnQgKi8KIAlleHQ0X2V4dF9iaW5zZWFyY2goaW5vZGUsIHBhdGggKyBwcG9zLCBibG9jayk7CisJLyogaWYgbm90IGFuIGVtcHR5IGxlYWYgKi8KKwlpZiAocGF0aFtwcG9zXS5wX2V4dCkKKwkJcGF0aFtwcG9zXS5wX2Jsb2NrID0gZXh0X3BibG9jayhwYXRoW3Bwb3NdLnBfZXh0KTsKIAogCWV4dDRfZXh0X3Nob3dfcGF0aChpbm9kZSwgcGF0aCk7CiAKQEAgLTY4OCw3ICs3MjMsOCBAQAogCS8qIGFsbG9jYXRlIGFsbCBuZWVkZWQgYmxvY2tzICovCiAJZXh0X2RlYnVnKCJhbGxvY2F0ZSAlZCBibG9ja3MgZm9yIGluZGV4ZXMvbGVhZlxuIiwgZGVwdGggLSBhdCk7CiAJZm9yIChhID0gMDsgYSA8IGRlcHRoIC0gYXQ7IGErKykgewotCQluZXdibG9jayA9IGV4dDRfZXh0X25ld19ibG9jayhoYW5kbGUsIGlub2RlLCBwYXRoLCBuZXdleHQsICZlcnIpOworCQluZXdibG9jayA9IGV4dDRfZXh0X25ld19tZXRhX2Jsb2NrKGhhbmRsZSwgaW5vZGUsIHBhdGgsCisJCQkJCQkgICBuZXdleHQsICZlcnIpOwogCQlpZiAobmV3YmxvY2sgPT0gMCkKIAkJCWdvdG8gY2xlYW51cDsKIAkJYWJsb2Nrc1thXSA9IG5ld2Jsb2NrOwpAQCAtODg0LDcgKzkyMCw3IEBACiAJZXh0NF9mc2Jsa190IG5ld2Jsb2NrOwogCWludCBlcnIgPSAwOwogCi0JbmV3YmxvY2sgPSBleHQ0X2V4dF9uZXdfYmxvY2soaGFuZGxlLCBpbm9kZSwgcGF0aCwgbmV3ZXh0LCAmZXJyKTsKKwluZXdibG9jayA9IGV4dDRfZXh0X25ld19tZXRhX2Jsb2NrKGhhbmRsZSwgaW5vZGUsIHBhdGgsIG5ld2V4dCwgJmVycik7CiAJaWYgKG5ld2Jsb2NrID09IDApCiAJCXJldHVybiBlcnI7CiAKQEAgLTk4MSw2ICsxMDE3LDggQEAKIAkJLyogaWYgd2UgZm91bmQgaW5kZXggd2l0aCBmcmVlIGVudHJ5LCB0aGVuIHVzZSB0aGF0CiAJCSAqIGVudHJ5OiBjcmVhdGUgYWxsIG5lZWRlZCBzdWJ0cmVlIGFuZCBhZGQgbmV3IGxlYWYgKi8KIAkJZXJyID0gZXh0NF9leHRfc3BsaXQoaGFuZGxlLCBpbm9kZSwgcGF0aCwgbmV3ZXh0LCBpKTsKKwkJaWYgKGVycikKKwkJCWdvdG8gb3V0OwogCiAJCS8qIHJlZmlsbCBwYXRoICovCiAJCWV4dDRfZXh0X2Ryb3BfcmVmcyhwYXRoKTsKQEAgLTE4ODMsMTEgKzE5MjEsOSBAQAogCQljcmVkaXRzICs9IDIgKiBFWFQ0X1FVT1RBX1RSQU5TX0JMT0NLUyhpbm9kZS0+aV9zYik7CiAjZW5kaWYKIAotCQloYW5kbGUgPSBleHQ0X2V4dF9qb3VybmFsX3Jlc3RhcnQoaGFuZGxlLCBjcmVkaXRzKTsKLQkJaWYgKElTX0VSUihoYW5kbGUpKSB7Ci0JCQllcnIgPSBQVFJfRVJSKGhhbmRsZSk7CisJCWVyciA9IGV4dDRfZXh0X2pvdXJuYWxfcmVzdGFydChoYW5kbGUsIGNyZWRpdHMpOworCQlpZiAoZXJyKQogCQkJZ290byBvdXQ7Ci0JCX0KIAogCQllcnIgPSBleHQ0X2V4dF9nZXRfYWNjZXNzKGhhbmRsZSwgaW5vZGUsIHBhdGggKyBkZXB0aCk7CiAJCWlmIChlcnIpCkBAIC0yNTI5LDYgKzI1NjUsNyBAQAogCWludCBlcnIgPSAwLCBkZXB0aCwgcmV0OwogCXVuc2lnbmVkIGxvbmcgYWxsb2NhdGVkID0gMDsKIAlzdHJ1Y3QgZXh0NF9hbGxvY2F0aW9uX3JlcXVlc3QgYXI7CisJbG9mZl90IGRpc2tzaXplOwogCiAJX19jbGVhcl9iaXQoQkhfTmV3LCAmYmhfcmVzdWx0LT5iX3N0YXRlKTsKIAlleHRfZGVidWcoImJsb2NrcyAldS8lbHUgcmVxdWVzdGVkIGZvciBpbm9kZSAldVxuIiwKQEAgLTI2MTYsOCArMjY1Myw3IEBACiAJCQkJICovCiAJCQkJaWYgKGFsbG9jYXRlZCA+IG1heF9ibG9ja3MpCiAJCQkJCWFsbG9jYXRlZCA9IG1heF9ibG9ja3M7Ci0JCQkJLyogbWFyayB0aGUgYnVmZmVyIHVud3JpdHRlbiAqLwotCQkJCV9fc2V0X2JpdChCSF9VbndyaXR0ZW4sICZiaF9yZXN1bHQtPmJfc3RhdGUpOworCQkJCXNldF9idWZmZXJfdW53cml0dGVuKGJoX3Jlc3VsdCk7CiAJCQkJZ290byBvdXQyOwogCQkJfQogCkBAIC0yNzE2LDE0ICsyNzUyLDE5IEBACiAJCWdvdG8gb3V0MjsKIAl9CiAKLQlpZiAoZXh0ZW5kX2Rpc2tzaXplICYmIGlub2RlLT5pX3NpemUgPiBFWFQ0X0koaW5vZGUpLT5pX2Rpc2tzaXplKQotCQlFWFQ0X0koaW5vZGUpLT5pX2Rpc2tzaXplID0gaW5vZGUtPmlfc2l6ZTsKLQogCS8qIHByZXZpb3VzIHJvdXRpbmUgY291bGQgdXNlIGJsb2NrIHdlIGFsbG9jYXRlZCAqLwogCW5ld2Jsb2NrID0gZXh0X3BibG9jaygmbmV3ZXgpOwogCWFsbG9jYXRlZCA9IGV4dDRfZXh0X2dldF9hY3R1YWxfbGVuKCZuZXdleCk7CiBvdXRuZXc6Ci0JX19zZXRfYml0KEJIX05ldywgJmJoX3Jlc3VsdC0+Yl9zdGF0ZSk7CisJaWYgKGV4dGVuZF9kaXNrc2l6ZSkgeworCQlkaXNrc2l6ZSA9ICgobG9mZl90KSBpYmxvY2sgKyBhci5sZW4pIDw8IGlub2RlLT5pX2Jsa2JpdHM7CisJCWlmIChkaXNrc2l6ZSA+IGlfc2l6ZV9yZWFkKGlub2RlKSkKKwkJCWRpc2tzaXplID0gaV9zaXplX3JlYWQoaW5vZGUpOworCQlpZiAoZGlza3NpemUgPiBFWFQ0X0koaW5vZGUpLT5pX2Rpc2tzaXplKQorCQkJRVhUNF9JKGlub2RlKS0+aV9kaXNrc2l6ZSA9IGRpc2tzaXplOworCX0KKworCXNldF9idWZmZXJfbmV3KGJoX3Jlc3VsdCk7CiAKIAkvKiBDYWNoZSBvbmx5IHdoZW4gaXQgaXMgX25vdF8gYW4gdW5pbml0aWFsaXplZCBleHRlbnQgKi8KIAlpZiAoY3JlYXRlICE9IEVYVDRfQ1JFQVRFX1VOSU5JVElBTElaRURfRVhUKQpAQCAtMjczMyw3ICsyNzc0LDcgQEAKIAlpZiAoYWxsb2NhdGVkID4gbWF4X2Jsb2NrcykKIAkJYWxsb2NhdGVkID0gbWF4X2Jsb2NrczsKIAlleHQ0X2V4dF9zaG93X2xlYWYoaW5vZGUsIHBhdGgpOwotCV9fc2V0X2JpdChCSF9NYXBwZWQsICZiaF9yZXN1bHQtPmJfc3RhdGUpOworCXNldF9idWZmZXJfbWFwcGVkKGJoX3Jlc3VsdCk7CiAJYmhfcmVzdWx0LT5iX2JkZXYgPSBpbm9kZS0+aV9zYi0+c19iZGV2OwogCWJoX3Jlc3VsdC0+Yl9ibG9ja25yID0gbmV3YmxvY2s7CiBvdXQyOgpAQCAtMjc0NCw3ICsyNzg1LDcgQEAKIAlyZXR1cm4gZXJyID8gZXJyIDogYWxsb2NhdGVkOwogfQogCi12b2lkIGV4dDRfZXh0X3RydW5jYXRlKHN0cnVjdCBpbm9kZSAqIGlub2RlLCBzdHJ1Y3QgcGFnZSAqcGFnZSkKK3ZvaWQgZXh0NF9leHRfdHJ1bmNhdGUoc3RydWN0IGlub2RlICppbm9kZSkKIHsKIAlzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZyA9IGlub2RlLT5pX21hcHBpbmc7CiAJc3RydWN0IHN1cGVyX2Jsb2NrICpzYiA9IGlub2RlLT5pX3NiOwpAQCAtMjc1NywxOCArMjc5OCwxNCBAQAogCSAqLwogCWVyciA9IGV4dDRfd3JpdGVwYWdlX3RyYW5zX2Jsb2Nrcyhpbm9kZSkgKyAzOwogCWhhbmRsZSA9IGV4dDRfam91cm5hbF9zdGFydChpbm9kZSwgZXJyKTsKLQlpZiAoSVNfRVJSKGhhbmRsZSkpIHsKLQkJaWYgKHBhZ2UpIHsKLQkJCWNsZWFyX2hpZ2hwYWdlKHBhZ2UpOwotCQkJZmx1c2hfZGNhY2hlX3BhZ2UocGFnZSk7Ci0JCQl1bmxvY2tfcGFnZShwYWdlKTsKLQkJCXBhZ2VfY2FjaGVfcmVsZWFzZShwYWdlKTsKLQkJfQorCWlmIChJU19FUlIoaGFuZGxlKSkKIAkJcmV0dXJuOwotCX0KIAotCWlmIChwYWdlKQotCQlleHQ0X2Jsb2NrX3RydW5jYXRlX3BhZ2UoaGFuZGxlLCBwYWdlLCBtYXBwaW5nLCBpbm9kZS0+aV9zaXplKTsKKwlpZiAoaW5vZGUtPmlfc2l6ZSAmIChzYi0+c19ibG9ja3NpemUgLSAxKSkKKwkJZXh0NF9ibG9ja190cnVuY2F0ZV9wYWdlKGhhbmRsZSwgbWFwcGluZywgaW5vZGUtPmlfc2l6ZSk7CisKKwlpZiAoZXh0NF9vcnBoYW5fYWRkKGhhbmRsZSwgaW5vZGUpKQorCQlnb3RvIG91dF9zdG9wOwogCiAJZG93bl93cml0ZSgmRVhUNF9JKGlub2RlKS0+aV9kYXRhX3NlbSk7CiAJZXh0NF9leHRfaW52YWxpZGF0ZV9jYWNoZShpbm9kZSk7CkBAIC0yNzgwLDggKzI4MTcsNiBAQAogCSAqIFByb2JhYmx5IHdlIG5lZWQgbm90IHNjYW4gYXQgYWxsLAogCSAqIGJlY2F1c2UgcGFnZSB0cnVuY2F0aW9uIGlzIGVub3VnaC4KIAkgKi8KLQlpZiAoZXh0NF9vcnBoYW5fYWRkKGhhbmRsZSwgaW5vZGUpKQotCQlnb3RvIG91dF9zdG9wOwogCiAJLyogd2UgaGF2ZSB0byBrbm93IHdoZXJlIHRvIHRydW5jYXRlIGZyb20gaW4gY3Jhc2ggY2FzZSAqLwogCUVYVDRfSShpbm9kZSktPmlfZGlza3NpemUgPSBpbm9kZS0+aV9zaXplOwpAQCAtMjc5OCw2ICsyODMzLDcgQEAKIAkJaGFuZGxlLT5oX3N5bmMgPSAxOwogCiBvdXRfc3RvcDoKKwl1cF93cml0ZSgmRVhUNF9JKGlub2RlKS0+aV9kYXRhX3NlbSk7CiAJLyoKIAkgKiBJZiB0aGlzIHdhcyBhIHNpbXBsZSBmdHJ1bmNhdGUoKSBhbmQgdGhlIGZpbGUgd2lsbCByZW1haW4gYWxpdmUsCiAJICogdGhlbiB3ZSBuZWVkIHRvIGNsZWFyIHVwIHRoZSBvcnBoYW4gcmVjb3JkIHdoaWNoIHdlIGNyZWF0ZWQgYWJvdmUuCkBAIC0yODA4LDcgKzI4NDQsNiBAQAogCWlmIChpbm9kZS0+aV9ubGluaykKIAkJZXh0NF9vcnBoYW5fZGVsKGhhbmRsZSwgaW5vZGUpOwogCi0JdXBfd3JpdGUoJkVYVDRfSShpbm9kZSktPmlfZGF0YV9zZW0pOwogCWlub2RlLT5pX210aW1lID0gaW5vZGUtPmlfY3RpbWUgPSBleHQ0X2N1cnJlbnRfdGltZShpbm9kZSk7CiAJZXh0NF9tYXJrX2lub2RlX2RpcnR5KGhhbmRsZSwgaW5vZGUpOwogCWV4dDRfam91cm5hbF9zdG9wKGhhbmRsZSk7CkBAIC0yOTExLDcgKzI5NDYsNyBAQAogCQl9CiAJCXJldCA9IGV4dDRfZ2V0X2Jsb2Nrc193cmFwKGhhbmRsZSwgaW5vZGUsIGJsb2NrLAogCQkJCQkgIG1heF9ibG9ja3MsICZtYXBfYmgsCi0JCQkJCSAgRVhUNF9DUkVBVEVfVU5JTklUSUFMSVpFRF9FWFQsIDApOworCQkJCQkgIEVYVDRfQ1JFQVRFX1VOSU5JVElBTElaRURfRVhULCAwLCAwKTsKIAkJaWYgKHJldCA8PSAwKSB7CiAjaWZkZWYgRVhUNEZTX0RFQlVHCiAJCQlXQVJOX09OKHJldCA8PSAwKTsKZGlmZiAtLWdpdCBhL2ZzL2V4dDQvZmlsZS5jIGIvZnMvZXh0NC9maWxlLmMKaW5kZXggNDE1OWJlNi4uNDMwZWI3OSAxMDA2NDQKLS0tIGEvZnMvZXh0NC9maWxlLmMKKysrIGIvZnMvZXh0NC9maWxlLmMKQEAgLTEyMyw2ICsxMjMsMjMgQEAKIAlyZXR1cm4gcmV0OwogfQogCitzdGF0aWMgc3RydWN0IHZtX29wZXJhdGlvbnNfc3RydWN0IGV4dDRfZmlsZV92bV9vcHMgPSB7CisJLmZhdWx0CQk9IGZpbGVtYXBfZmF1bHQsCisJLnBhZ2VfbWt3cml0ZSAgID0gZXh0NF9wYWdlX21rd3JpdGUsCit9OworCitzdGF0aWMgaW50IGV4dDRfZmlsZV9tbWFwKHN0cnVjdCBmaWxlICpmaWxlLCBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSkKK3sKKwlzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZyA9IGZpbGUtPmZfbWFwcGluZzsKKworCWlmICghbWFwcGluZy0+YV9vcHMtPnJlYWRwYWdlKQorCQlyZXR1cm4gLUVOT0VYRUM7CisJZmlsZV9hY2Nlc3NlZChmaWxlKTsKKwl2bWEtPnZtX29wcyA9ICZleHQ0X2ZpbGVfdm1fb3BzOworCXZtYS0+dm1fZmxhZ3MgfD0gVk1fQ0FOX05PTkxJTkVBUjsKKwlyZXR1cm4gMDsKK30KKwogY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBleHQ0X2ZpbGVfb3BlcmF0aW9ucyA9IHsKIAkubGxzZWVrCQk9IGdlbmVyaWNfZmlsZV9sbHNlZWssCiAJLnJlYWQJCT0gZG9fc3luY19yZWFkLApAQCAtMTMzLDcgKzE1MCw3IEBACiAjaWZkZWYgQ09ORklHX0NPTVBBVAogCS5jb21wYXRfaW9jdGwJPSBleHQ0X2NvbXBhdF9pb2N0bCwKICNlbmRpZgotCS5tbWFwCQk9IGdlbmVyaWNfZmlsZV9tbWFwLAorCS5tbWFwCQk9IGV4dDRfZmlsZV9tbWFwLAogCS5vcGVuCQk9IGdlbmVyaWNfZmlsZV9vcGVuLAogCS5yZWxlYXNlCT0gZXh0NF9yZWxlYXNlX2ZpbGUsCiAJLmZzeW5jCQk9IGV4dDRfc3luY19maWxlLApAQCAtMTQ0LDYgKzE2MSw3IEBACiBjb25zdCBzdHJ1Y3QgaW5vZGVfb3BlcmF0aW9ucyBleHQ0X2ZpbGVfaW5vZGVfb3BlcmF0aW9ucyA9IHsKIAkudHJ1bmNhdGUJPSBleHQ0X3RydW5jYXRlLAogCS5zZXRhdHRyCT0gZXh0NF9zZXRhdHRyLAorCS5nZXRhdHRyCT0gZXh0NF9nZXRhdHRyLAogI2lmZGVmIENPTkZJR19FWFQ0REVWX0ZTX1hBVFRSCiAJLnNldHhhdHRyCT0gZ2VuZXJpY19zZXR4YXR0ciwKIAkuZ2V0eGF0dHIJPSBnZW5lcmljX2dldHhhdHRyLApkaWZmIC0tZ2l0IGEvZnMvZXh0NC9mc3luYy5jIGIvZnMvZXh0NC9mc3luYy5jCmluZGV4IDFjOGJhNDguLmE0NWMzNzMgMTAwNjQ0Ci0tLSBhL2ZzL2V4dDQvZnN5bmMuYworKysgYi9mcy9leHQ0L2ZzeW5jLmMKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgogI2luY2x1ZGUgPGxpbnV4L3dyaXRlYmFjay5oPgogI2luY2x1ZGUgPGxpbnV4L2piZDIuaD4KKyNpbmNsdWRlIDxsaW51eC9ibGtkZXYuaD4KICNpbmNsdWRlICJleHQ0LmgiCiAjaW5jbHVkZSAiZXh0NF9qYmQyLmgiCiAKQEAgLTQ1LDYgKzQ2LDcgQEAKIGludCBleHQ0X3N5bmNfZmlsZShzdHJ1Y3QgZmlsZSAqIGZpbGUsIHN0cnVjdCBkZW50cnkgKmRlbnRyeSwgaW50IGRhdGFzeW5jKQogewogCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBkZW50cnktPmRfaW5vZGU7CisJam91cm5hbF90ICpqb3VybmFsID0gRVhUNF9TQihpbm9kZS0+aV9zYiktPnNfam91cm5hbDsKIAlpbnQgcmV0ID0gMDsKIAogCUpfQVNTRVJUKGV4dDRfam91cm5hbF9jdXJyZW50X2hhbmRsZSgpID09IE5VTEwpOwpAQCAtODUsNiArODcsOCBAQAogCQkJLm5yX3RvX3dyaXRlID0gMCwgLyogc3lzX2ZzeW5jIGRpZCB0aGlzICovCiAJCX07CiAJCXJldCA9IHN5bmNfaW5vZGUoaW5vZGUsICZ3YmMpOworCQlpZiAoam91cm5hbCAmJiAoam91cm5hbC0+al9mbGFncyAmIEpCRDJfQkFSUklFUikpCisJCQlibGtkZXZfaXNzdWVfZmx1c2goaW5vZGUtPmlfc2ItPnNfYmRldiwgTlVMTCk7CiAJfQogb3V0OgogCXJldHVybiByZXQ7CmRpZmYgLS1naXQgYS9mcy9leHQ0L2dyb3VwLmggYi9mcy9leHQ0L2dyb3VwLmgKaW5kZXggN2ViMDYwNC4uYzJjMGE4ZCAxMDA2NDQKLS0tIGEvZnMvZXh0NC9ncm91cC5oCisrKyBiL2ZzL2V4dDQvZ3JvdXAuaApAQCAtMTMsNyArMTMsNyBAQAogCQkJCSAgIHN0cnVjdCBleHQ0X2dyb3VwX2Rlc2MgKmdkcCk7CiBleHRlcm4gaW50IGV4dDRfZ3JvdXBfZGVzY19jc3VtX3ZlcmlmeShzdHJ1Y3QgZXh0NF9zYl9pbmZvICpzYmksIF9fdTMyIGdyb3VwLAogCQkJCSAgICAgICBzdHJ1Y3QgZXh0NF9ncm91cF9kZXNjICpnZHApOwotc3RydWN0IGJ1ZmZlcl9oZWFkICpyZWFkX2Jsb2NrX2JpdG1hcChzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLAorc3RydWN0IGJ1ZmZlcl9oZWFkICpleHQ0X3JlYWRfYmxvY2tfYml0bWFwKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsCiAJCQkJICAgICAgZXh0NF9ncm91cF90IGJsb2NrX2dyb3VwKTsKIGV4dGVybiB1bnNpZ25lZCBleHQ0X2luaXRfYmxvY2tfYml0bWFwKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsCiAJCQkJICAgICAgIHN0cnVjdCBidWZmZXJfaGVhZCAqYmgsCmRpZmYgLS1naXQgYS9mcy9leHQ0L2lhbGxvYy5jIGIvZnMvZXh0NC9pYWxsb2MuYwppbmRleCBjNmVmYmFiMC4uYTkyZWIzMCAxMDA2NDQKLS0tIGEvZnMvZXh0NC9pYWxsb2MuYworKysgYi9mcy9leHQ0L2lhbGxvYy5jCkBAIC0xNTcsNiArMTU3LDcgQEAKIAlzdHJ1Y3QgZXh0NF9zdXBlcl9ibG9jayAqIGVzOwogCXN0cnVjdCBleHQ0X3NiX2luZm8gKnNiaTsKIAlpbnQgZmF0YWwgPSAwLCBlcnI7CisJZXh0NF9ncm91cF90IGZsZXhfZ3JvdXA7CiAKIAlpZiAoYXRvbWljX3JlYWQoJmlub2RlLT5pX2NvdW50KSA+IDEpIHsKIAkJcHJpbnRrICgiZXh0NF9mcmVlX2lub2RlOiBpbm9kZSBoYXMgY291bnQ9JWRcbiIsCkBAIC0yMzIsNiArMjMzLDEyIEBACiAJCQlpZiAoaXNfZGlyZWN0b3J5KQogCQkJCXBlcmNwdV9jb3VudGVyX2RlYygmc2JpLT5zX2RpcnNfY291bnRlcik7CiAKKwkJCWlmIChzYmktPnNfbG9nX2dyb3Vwc19wZXJfZmxleCkgeworCQkJCWZsZXhfZ3JvdXAgPSBleHQ0X2ZsZXhfZ3JvdXAoc2JpLCBibG9ja19ncm91cCk7CisJCQkJc3Bpbl9sb2NrKHNiX2JnbF9sb2NrKHNiaSwgZmxleF9ncm91cCkpOworCQkJCXNiaS0+c19mbGV4X2dyb3Vwc1tmbGV4X2dyb3VwXS5mcmVlX2lub2RlcysrOworCQkJCXNwaW5fdW5sb2NrKHNiX2JnbF9sb2NrKHNiaSwgZmxleF9ncm91cCkpOworCQkJfQogCQl9CiAJCUJVRkZFUl9UUkFDRShiaDIsICJjYWxsIGV4dDRfam91cm5hbF9kaXJ0eV9tZXRhZGF0YSIpOwogCQllcnIgPSBleHQ0X2pvdXJuYWxfZGlydHlfbWV0YWRhdGEoaGFuZGxlLCBiaDIpOwpAQCAtMjg2LDYgKzI5Myw4MCBAQAogCXJldHVybiByZXQ7CiB9CiAKKyNkZWZpbmUgZnJlZV9ibG9ja19yYXRpbyAxMAorCitzdGF0aWMgaW50IGZpbmRfZ3JvdXBfZmxleChzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLCBzdHJ1Y3QgaW5vZGUgKnBhcmVudCwKKwkJCSAgIGV4dDRfZ3JvdXBfdCAqYmVzdF9ncm91cCkKK3sKKwlzdHJ1Y3QgZXh0NF9zYl9pbmZvICpzYmkgPSBFWFQ0X1NCKHNiKTsKKwlzdHJ1Y3QgZXh0NF9ncm91cF9kZXNjICpkZXNjOworCXN0cnVjdCBidWZmZXJfaGVhZCAqYmg7CisJc3RydWN0IGZsZXhfZ3JvdXBzICpmbGV4X2dyb3VwID0gc2JpLT5zX2ZsZXhfZ3JvdXBzOworCWV4dDRfZ3JvdXBfdCBwYXJlbnRfZ3JvdXAgPSBFWFQ0X0kocGFyZW50KS0+aV9ibG9ja19ncm91cDsKKwlleHQ0X2dyb3VwX3QgcGFyZW50X2ZiZ19ncm91cCA9IGV4dDRfZmxleF9ncm91cChzYmksIHBhcmVudF9ncm91cCk7CisJZXh0NF9ncm91cF90IG5ncm91cHMgPSBzYmktPnNfZ3JvdXBzX2NvdW50OworCWludCBmbGV4X3NpemUgPSBleHQ0X2ZsZXhfYmdfc2l6ZShzYmkpOworCWV4dDRfZ3JvdXBfdCBiZXN0X2ZsZXggPSBwYXJlbnRfZmJnX2dyb3VwOworCWludCBibG9ja3NfcGVyX2ZsZXggPSBzYmktPnNfYmxvY2tzX3Blcl9ncm91cCAqIGZsZXhfc2l6ZTsKKwlpbnQgZmxleGJnX2ZyZWVfYmxvY2tzOworCWludCBmbGV4X2ZyZWViX3JhdGlvOworCWV4dDRfZ3JvdXBfdCBuX2ZiZ19ncm91cHM7CisJZXh0NF9ncm91cF90IGk7CisKKwluX2ZiZ19ncm91cHMgPSAoc2JpLT5zX2dyb3Vwc19jb3VudCArIGZsZXhfc2l6ZSAtIDEpID4+CisJCXNiaS0+c19sb2dfZ3JvdXBzX3Blcl9mbGV4OworCitmaW5kX2Nsb3NlX3RvX3BhcmVudDoKKwlmbGV4YmdfZnJlZV9ibG9ja3MgPSBmbGV4X2dyb3VwW2Jlc3RfZmxleF0uZnJlZV9ibG9ja3M7CisJZmxleF9mcmVlYl9yYXRpbyA9IGZsZXhiZ19mcmVlX2Jsb2NrcyAqIDEwMCAvIGJsb2Nrc19wZXJfZmxleDsKKwlpZiAoZmxleF9ncm91cFtiZXN0X2ZsZXhdLmZyZWVfaW5vZGVzICYmCisJICAgIGZsZXhfZnJlZWJfcmF0aW8gPiBmcmVlX2Jsb2NrX3JhdGlvKQorCQlnb3RvIGZvdW5kX2ZsZXhiZzsKKworCWlmIChiZXN0X2ZsZXggJiYgYmVzdF9mbGV4ID09IHBhcmVudF9mYmdfZ3JvdXApIHsKKwkJYmVzdF9mbGV4LS07CisJCWdvdG8gZmluZF9jbG9zZV90b19wYXJlbnQ7CisJfQorCisJZm9yIChpID0gMDsgaSA8IG5fZmJnX2dyb3VwczsgaSsrKSB7CisJCWlmIChpID09IHBhcmVudF9mYmdfZ3JvdXAgfHwgaSA9PSBwYXJlbnRfZmJnX2dyb3VwIC0gMSkKKwkJCWNvbnRpbnVlOworCisJCWZsZXhiZ19mcmVlX2Jsb2NrcyA9IGZsZXhfZ3JvdXBbaV0uZnJlZV9ibG9ja3M7CisJCWZsZXhfZnJlZWJfcmF0aW8gPSBmbGV4YmdfZnJlZV9ibG9ja3MgKiAxMDAgLyBibG9ja3NfcGVyX2ZsZXg7CisKKwkJaWYgKGZsZXhfZnJlZWJfcmF0aW8gPiBmcmVlX2Jsb2NrX3JhdGlvICYmCisJCSAgICBmbGV4X2dyb3VwW2ldLmZyZWVfaW5vZGVzKSB7CisJCQliZXN0X2ZsZXggPSBpOworCQkJZ290byBmb3VuZF9mbGV4Ymc7CisJCX0KKworCQlpZiAoYmVzdF9mbGV4IDwgMCB8fAorCQkgICAgKGZsZXhfZ3JvdXBbaV0uZnJlZV9ibG9ja3MgPgorCQkgICAgIGZsZXhfZ3JvdXBbYmVzdF9mbGV4XS5mcmVlX2Jsb2NrcyAmJgorCQkgICAgIGZsZXhfZ3JvdXBbaV0uZnJlZV9pbm9kZXMpKQorCQkJYmVzdF9mbGV4ID0gaTsKKwl9CisKKwlpZiAoIWZsZXhfZ3JvdXBbYmVzdF9mbGV4XS5mcmVlX2lub2RlcyB8fAorCSAgICAhZmxleF9ncm91cFtiZXN0X2ZsZXhdLmZyZWVfYmxvY2tzKQorCQlyZXR1cm4gLTE7CisKK2ZvdW5kX2ZsZXhiZzoKKwlmb3IgKGkgPSBiZXN0X2ZsZXggKiBmbGV4X3NpemU7IGkgPCBuZ3JvdXBzICYmCisJCSAgICAgaSA8IChiZXN0X2ZsZXggKyAxKSAqIGZsZXhfc2l6ZTsgaSsrKSB7CisJCWRlc2MgPSBleHQ0X2dldF9ncm91cF9kZXNjKHNiLCBpLCAmYmgpOworCQlpZiAobGUxNl90b19jcHUoZGVzYy0+YmdfZnJlZV9pbm9kZXNfY291bnQpKSB7CisJCQkqYmVzdF9ncm91cCA9IGk7CisJCQlnb3RvIG91dDsKKwkJfQorCX0KKworCXJldHVybiAtMTsKK291dDoKKwlyZXR1cm4gMDsKK30KKwogLyoKICAqIE9ybG92J3MgYWxsb2NhdG9yIGZvciBkaXJlY3Rvcmllcy4KICAqCkBAIC01MDEsNiArNTgyLDcgQEAKIAlzdHJ1Y3QgaW5vZGUgKnJldDsKIAlleHQ0X2dyb3VwX3QgaTsKIAlpbnQgZnJlZSA9IDA7CisJZXh0NF9ncm91cF90IGZsZXhfZ3JvdXA7CiAKIAkvKiBDYW5ub3QgY3JlYXRlIGZpbGVzIGluIGEgZGVsZXRlZCBkaXJlY3RvcnkgKi8KIAlpZiAoIWRpciB8fCAhZGlyLT5pX25saW5rKQpAQCAtNTE0LDYgKzU5NiwxMiBAQAogCiAJc2JpID0gRVhUNF9TQihzYik7CiAJZXMgPSBzYmktPnNfZXM7CisKKwlpZiAoc2JpLT5zX2xvZ19ncm91cHNfcGVyX2ZsZXgpIHsKKwkJcmV0MiA9IGZpbmRfZ3JvdXBfZmxleChzYiwgZGlyLCAmZ3JvdXApOworCQlnb3RvIGdvdF9ncm91cDsKKwl9CisKIAlpZiAoU19JU0RJUihtb2RlKSkgewogCQlpZiAodGVzdF9vcHQgKHNiLCBPTERBTExPQykpCiAJCQlyZXQyID0gZmluZF9ncm91cF9kaXIoc2IsIGRpciwgJmdyb3VwKTsKQEAgLTUyMiw2ICs2MTAsNyBAQAogCX0gZWxzZQogCQlyZXQyID0gZmluZF9ncm91cF9vdGhlcihzYiwgZGlyLCAmZ3JvdXApOwogCitnb3RfZ3JvdXA6CiAJZXJyID0gLUVOT1NQQzsKIAlpZiAocmV0MiA9PSAtMSkKIAkJZ290byBvdXQ7CkBAIC02MDAsNyArNjg5LDcgQEAKIAkvKiBXZSBtYXkgaGF2ZSB0byBpbml0aWFsaXplIHRoZSBibG9jayBiaXRtYXAgaWYgaXQgaXNuJ3QgYWxyZWFkeSAqLwogCWlmIChFWFQ0X0hBU19ST19DT01QQVRfRkVBVFVSRShzYiwgRVhUNF9GRUFUVVJFX1JPX0NPTVBBVF9HRFRfQ1NVTSkgJiYKIAkgICAgZ2RwLT5iZ19mbGFncyAmIGNwdV90b19sZTE2KEVYVDRfQkdfQkxPQ0tfVU5JTklUKSkgewotCQlzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJsb2NrX2JoID0gcmVhZF9ibG9ja19iaXRtYXAoc2IsIGdyb3VwKTsKKwkJc3RydWN0IGJ1ZmZlcl9oZWFkICpibG9ja19iaCA9IGV4dDRfcmVhZF9ibG9ja19iaXRtYXAoc2IsIGdyb3VwKTsKIAogCQlCVUZGRVJfVFJBQ0UoYmxvY2tfYmgsICJnZXQgYmxvY2sgYml0bWFwIGFjY2VzcyIpOwogCQllcnIgPSBleHQ0X2pvdXJuYWxfZ2V0X3dyaXRlX2FjY2VzcyhoYW5kbGUsIGJsb2NrX2JoKTsKQEAgLTY3Niw2ICs3NjUsMTMgQEAKIAkJcGVyY3B1X2NvdW50ZXJfaW5jKCZzYmktPnNfZGlyc19jb3VudGVyKTsKIAlzYi0+c19kaXJ0ID0gMTsKIAorCWlmIChzYmktPnNfbG9nX2dyb3Vwc19wZXJfZmxleCkgeworCQlmbGV4X2dyb3VwID0gZXh0NF9mbGV4X2dyb3VwKHNiaSwgZ3JvdXApOworCQlzcGluX2xvY2soc2JfYmdsX2xvY2soc2JpLCBmbGV4X2dyb3VwKSk7CisJCXNiaS0+c19mbGV4X2dyb3Vwc1tmbGV4X2dyb3VwXS5mcmVlX2lub2Rlcy0tOworCQlzcGluX3VubG9jayhzYl9iZ2xfbG9jayhzYmksIGZsZXhfZ3JvdXApKTsKKwl9CisKIAlpbm9kZS0+aV91aWQgPSBjdXJyZW50LT5mc3VpZDsKIAlpZiAodGVzdF9vcHQgKHNiLCBHUlBJRCkpCiAJCWlub2RlLT5pX2dpZCA9IGRpci0+aV9naWQ7CkBAIC03NDAsMTQgKzgzNiwxMCBAQAogCQlnb3RvIGZhaWxfZnJlZV9kcm9wOwogCiAJaWYgKHRlc3Rfb3B0KHNiLCBFWFRFTlRTKSkgewotCQkvKiBzZXQgZXh0ZW50IGZsYWcgb25seSBmb3IgZGlyZXRvcnksIGZpbGUgYW5kIG5vcm1hbCBzeW1saW5rKi8KKwkJLyogc2V0IGV4dGVudCBmbGFnIG9ubHkgZm9yIGRpcmVjdG9yeSwgZmlsZSBhbmQgbm9ybWFsIHN5bWxpbmsqLwogCQlpZiAoU19JU0RJUihtb2RlKSB8fCBTX0lTUkVHKG1vZGUpIHx8IFNfSVNMTksobW9kZSkpIHsKIAkJCUVYVDRfSShpbm9kZSktPmlfZmxhZ3MgfD0gRVhUNF9FWFRFTlRTX0ZMOwogCQkJZXh0NF9leHRfdHJlZV9pbml0KGhhbmRsZSwgaW5vZGUpOwotCQkJZXJyID0gZXh0NF91cGRhdGVfaW5jb21wYXRfZmVhdHVyZShoYW5kbGUsIHNiLAotCQkJCQlFWFQ0X0ZFQVRVUkVfSU5DT01QQVRfRVhURU5UUyk7Ci0JCQlpZiAoZXJyKQotCQkJCWdvdG8gZmFpbF9mcmVlX2Ryb3A7CiAJCX0KIAl9CiAKQEAgLTgxNyw2ICs5MDksMTQgQEAKIAlpZiAoSVNfRVJSKGlub2RlKSkKIAkJZ290byBpZ2V0X2ZhaWxlZDsKIAorCS8qCisJICogSWYgdGhlIG9ycGhhbnMgaGFzIGlfbmxpbmtzID4gMCB0aGVuIGl0IHNob3VsZCBiZSBhYmxlIHRvIGJlCisJICogdHJ1bmNhdGVkLCBvdGhlcndpc2UgaXQgd29uJ3QgYmUgcmVtb3ZlZCBmcm9tIHRoZSBvcnBoYW4gbGlzdAorCSAqIGR1cmluZyBwcm9jZXNzaW5nIGFuZCBhbiBpbmZpbml0ZSBsb29wIHdpbGwgcmVzdWx0LgorCSAqLworCWlmIChpbm9kZS0+aV9ubGluayAmJiAhZXh0NF9jYW5fdHJ1bmNhdGUoaW5vZGUpKQorCQlnb3RvIGJhZF9vcnBoYW47CisKIAlpZiAoTkVYVF9PUlBIQU4oaW5vZGUpID4gbWF4X2lubykKIAkJZ290byBiYWRfb3JwaGFuOwogCWJyZWxzZShiaXRtYXBfYmgpOwpAQCAtODM4LDYgKzkzOCw3IEBACiAJCXByaW50ayhLRVJOX05PVElDRSAiTkVYVF9PUlBIQU4oaW5vZGUpPSV1XG4iLAogCQkgICAgICAgTkVYVF9PUlBIQU4oaW5vZGUpKTsKIAkJcHJpbnRrKEtFUk5fTk9USUNFICJtYXhfaW5vPSVsdVxuIiwgbWF4X2lubyk7CisJCXByaW50ayhLRVJOX05PVElDRSAiaV9ubGluaz0ldVxuIiwgaW5vZGUtPmlfbmxpbmspOwogCQkvKiBBdm9pZCBmcmVlaW5nIGJsb2NrcyBpZiB3ZSBnb3QgYSBiYWQgZGVsZXRlZCBpbm9kZSAqLwogCQlpZiAoaW5vZGUtPmlfbmxpbmsgPT0gMCkKIAkJCWlub2RlLT5pX2Jsb2NrcyA9IDA7CmRpZmYgLS1naXQgYS9mcy9leHQ0L2lub2RlLmMgYi9mcy9leHQ0L2lub2RlLmMKaW5kZXggOGQ5NzA3Ny4uOGNhMjc2MyAxMDA2NDQKLS0tIGEvZnMvZXh0NC9pbm9kZS5jCisrKyBiL2ZzL2V4dDQvaW5vZGUuYwpAQCAtMzIsMTIgKzMyLDIzIEBACiAjaW5jbHVkZSA8bGludXgvc3RyaW5nLmg+CiAjaW5jbHVkZSA8bGludXgvYnVmZmVyX2hlYWQuaD4KICNpbmNsdWRlIDxsaW51eC93cml0ZWJhY2suaD4KKyNpbmNsdWRlIDxsaW51eC9wYWdldmVjLmg+CiAjaW5jbHVkZSA8bGludXgvbXBhZ2UuaD4KICNpbmNsdWRlIDxsaW51eC91aW8uaD4KICNpbmNsdWRlIDxsaW51eC9iaW8uaD4KICNpbmNsdWRlICJleHQ0X2piZDIuaCIKICNpbmNsdWRlICJ4YXR0ci5oIgogI2luY2x1ZGUgImFjbC5oIgorI2luY2x1ZGUgImV4dDRfZXh0ZW50cy5oIgorCitzdGF0aWMgaW5saW5lIGludCBleHQ0X2JlZ2luX29yZGVyZWRfdHJ1bmNhdGUoc3RydWN0IGlub2RlICppbm9kZSwKKwkJCQkJICAgICAgbG9mZl90IG5ld19zaXplKQoreworCXJldHVybiBqYmQyX2pvdXJuYWxfYmVnaW5fb3JkZXJlZF90cnVuY2F0ZSgmRVhUNF9JKGlub2RlKS0+amlub2RlLAorCQkJCQkJICAgbmV3X3NpemUpOworfQorCitzdGF0aWMgdm9pZCBleHQ0X2ludmFsaWRhdGVwYWdlKHN0cnVjdCBwYWdlICpwYWdlLCB1bnNpZ25lZCBsb25nIG9mZnNldCk7CiAKIC8qCiAgKiBUZXN0IHdoZXRoZXIgYW4gaW5vZGUgaXMgYSBmYXN0IHN5bWxpbmsuCkBAIC0xODEsNiArMTkyLDggQEAKIHsKIAloYW5kbGVfdCAqaGFuZGxlOwogCisJaWYgKGV4dDRfc2hvdWxkX29yZGVyX2RhdGEoaW5vZGUpKQorCQlleHQ0X2JlZ2luX29yZGVyZWRfdHJ1bmNhdGUoaW5vZGUsIDApOwogCXRydW5jYXRlX2lub2RlX3BhZ2VzKCZpbm9kZS0+aV9kYXRhLCAwKTsKIAogCWlmIChpc19iYWRfaW5vZGUoaW5vZGUpKQpAQCAtNTA4LDExICs1MjEsMTIgQEAKICAqCQlkaXJlY3QgYmxvY2tzCiAgKi8KIHN0YXRpYyBpbnQgZXh0NF9hbGxvY19ibG9ja3MoaGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IGlub2RlICppbm9kZSwKLQkJCWV4dDRfZnNibGtfdCBnb2FsLCBpbnQgaW5kaXJlY3RfYmxrcywgaW50IGJsa3MsCi0JCQlleHQ0X2ZzYmxrX3QgbmV3X2Jsb2Nrc1s0XSwgaW50ICplcnIpCisJCQkJZXh0NF9sYmxrX3QgaWJsb2NrLCBleHQ0X2ZzYmxrX3QgZ29hbCwKKwkJCQlpbnQgaW5kaXJlY3RfYmxrcywgaW50IGJsa3MsCisJCQkJZXh0NF9mc2Jsa190IG5ld19ibG9ja3NbNF0sIGludCAqZXJyKQogewogCWludCB0YXJnZXQsIGk7Ci0JdW5zaWduZWQgbG9uZyBjb3VudCA9IDA7CisJdW5zaWduZWQgbG9uZyBjb3VudCA9IDAsIGJsa19hbGxvY2F0ZWQgPSAwOwogCWludCBpbmRleCA9IDA7CiAJZXh0NF9mc2Jsa190IGN1cnJlbnRfYmxvY2sgPSAwOwogCWludCByZXQgPSAwOwpAQCAtNTI1LDEyICs1MzksMTMgQEAKIAkgKiB0aGUgZmlyc3QgZGlyZWN0IGJsb2NrIG9mIHRoaXMgYnJhbmNoLiAgVGhhdCdzIHRoZQogCSAqIG1pbmltdW0gbnVtYmVyIG9mIGJsb2NrcyBuZWVkIHRvIGFsbG9jYXRlKHJlcXVpcmVkKQogCSAqLwotCXRhcmdldCA9IGJsa3MgKyBpbmRpcmVjdF9ibGtzOwotCi0Jd2hpbGUgKDEpIHsKKwkvKiBmaXJzdCB3ZSB0cnkgdG8gYWxsb2NhdGUgdGhlIGluZGlyZWN0IGJsb2NrcyAqLworCXRhcmdldCA9IGluZGlyZWN0X2Jsa3M7CisJd2hpbGUgKHRhcmdldCA+IDApIHsKIAkJY291bnQgPSB0YXJnZXQ7CiAJCS8qIGFsbG9jYXRpbmcgYmxvY2tzIGZvciBpbmRpcmVjdCBibG9ja3MgYW5kIGRpcmVjdCBibG9ja3MgKi8KLQkJY3VycmVudF9ibG9jayA9IGV4dDRfbmV3X2Jsb2NrcyhoYW5kbGUsaW5vZGUsZ29hbCwmY291bnQsZXJyKTsKKwkJY3VycmVudF9ibG9jayA9IGV4dDRfbmV3X21ldGFfYmxvY2tzKGhhbmRsZSwgaW5vZGUsCisJCQkJCQkJZ29hbCwgJmNvdW50LCBlcnIpOwogCQlpZiAoKmVycikKIAkJCWdvdG8gZmFpbGVkX291dDsKIApAQCAtNTQwLDE2ICs1NTUsNDggQEAKIAkJCW5ld19ibG9ja3NbaW5kZXgrK10gPSBjdXJyZW50X2Jsb2NrKys7CiAJCQljb3VudC0tOwogCQl9Ci0KLQkJaWYgKGNvdW50ID4gMCkKKwkJaWYgKGNvdW50ID4gMCkgeworCQkJLyoKKwkJCSAqIHNhdmUgdGhlIG5ldyBibG9jayBudW1iZXIKKwkJCSAqIGZvciB0aGUgZmlyc3QgZGlyZWN0IGJsb2NrCisJCQkgKi8KKwkJCW5ld19ibG9ja3NbaW5kZXhdID0gY3VycmVudF9ibG9jazsKKwkJCXByaW50ayhLRVJOX0lORk8gIiVzIHJldHVybmVkIG1vcmUgYmxvY2tzIHRoYW4gIgorCQkJCQkJInJlcXVlc3RlZFxuIiwgX19mdW5jX18pOworCQkJV0FSTl9PTigxKTsKIAkJCWJyZWFrOworCQl9CiAJfQogCi0JLyogc2F2ZSB0aGUgbmV3IGJsb2NrIG51bWJlciBmb3IgdGhlIGZpcnN0IGRpcmVjdCBibG9jayAqLwotCW5ld19ibG9ja3NbaW5kZXhdID0gY3VycmVudF9ibG9jazsKLQorCXRhcmdldCA9IGJsa3MgLSBjb3VudCA7CisJYmxrX2FsbG9jYXRlZCA9IGNvdW50OworCWlmICghdGFyZ2V0KQorCQlnb3RvIGFsbG9jYXRlZDsKKwkvKiBOb3cgYWxsb2NhdGUgZGF0YSBibG9ja3MgKi8KKwljb3VudCA9IHRhcmdldDsKKwkvKiBhbGxvY2F0aW5nIGJsb2NrcyBmb3IgZGF0YSBibG9ja3MgKi8KKwljdXJyZW50X2Jsb2NrID0gZXh0NF9uZXdfYmxvY2tzKGhhbmRsZSwgaW5vZGUsIGlibG9jaywKKwkJCQkJCWdvYWwsICZjb3VudCwgZXJyKTsKKwlpZiAoKmVyciAmJiAodGFyZ2V0ID09IGJsa3MpKSB7CisJCS8qCisJCSAqIGlmIHRoZSBhbGxvY2F0aW9uIGZhaWxlZCBhbmQgd2UgZGlkbid0IGFsbG9jYXRlCisJCSAqIGFueSBibG9ja3MgYmVmb3JlCisJCSAqLworCQlnb3RvIGZhaWxlZF9vdXQ7CisJfQorCWlmICghKmVycikgeworCQlpZiAodGFyZ2V0ID09IGJsa3MpIHsKKwkJLyoKKwkJICogc2F2ZSB0aGUgbmV3IGJsb2NrIG51bWJlcgorCQkgKiBmb3IgdGhlIGZpcnN0IGRpcmVjdCBibG9jaworCQkgKi8KKwkJCW5ld19ibG9ja3NbaW5kZXhdID0gY3VycmVudF9ibG9jazsKKwkJfQorCQlibGtfYWxsb2NhdGVkICs9IGNvdW50OworCX0KK2FsbG9jYXRlZDoKIAkvKiB0b3RhbCBudW1iZXIgb2YgYmxvY2tzIGFsbG9jYXRlZCBmb3IgZGlyZWN0IGJsb2NrcyAqLwotCXJldCA9IGNvdW50OworCXJldCA9IGJsa19hbGxvY2F0ZWQ7CiAJKmVyciA9IDA7CiAJcmV0dXJuIHJldDsKIGZhaWxlZF9vdXQ6CkBAIC01ODQsOCArNjMxLDkgQEAKICAqCWFzIGRlc2NyaWJlZCBhYm92ZSBhbmQgcmV0dXJuIDAuCiAgKi8KIHN0YXRpYyBpbnQgZXh0NF9hbGxvY19icmFuY2goaGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IGlub2RlICppbm9kZSwKLQkJCWludCBpbmRpcmVjdF9ibGtzLCBpbnQgKmJsa3MsIGV4dDRfZnNibGtfdCBnb2FsLAotCQkJZXh0NF9sYmxrX3QgKm9mZnNldHMsIEluZGlyZWN0ICpicmFuY2gpCisJCQkJZXh0NF9sYmxrX3QgaWJsb2NrLCBpbnQgaW5kaXJlY3RfYmxrcywKKwkJCQlpbnQgKmJsa3MsIGV4dDRfZnNibGtfdCBnb2FsLAorCQkJCWV4dDRfbGJsa190ICpvZmZzZXRzLCBJbmRpcmVjdCAqYnJhbmNoKQogewogCWludCBibG9ja3NpemUgPSBpbm9kZS0+aV9zYi0+c19ibG9ja3NpemU7CiAJaW50IGksIG4gPSAwOwpAQCAtNTk1LDcgKzY0Myw3IEBACiAJZXh0NF9mc2Jsa190IG5ld19ibG9ja3NbNF07CiAJZXh0NF9mc2Jsa190IGN1cnJlbnRfYmxvY2s7CiAKLQludW0gPSBleHQ0X2FsbG9jX2Jsb2NrcyhoYW5kbGUsIGlub2RlLCBnb2FsLCBpbmRpcmVjdF9ibGtzLAorCW51bSA9IGV4dDRfYWxsb2NfYmxvY2tzKGhhbmRsZSwgaW5vZGUsIGlibG9jaywgZ29hbCwgaW5kaXJlY3RfYmxrcywKIAkJCQkqYmxrcywgbmV3X2Jsb2NrcywgJmVycik7CiAJaWYgKGVycikKIAkJcmV0dXJuIGVycjsKQEAgLTc5OSw2ICs4NDcsNyBAQAogCXN0cnVjdCBleHQ0X2lub2RlX2luZm8gKmVpID0gRVhUNF9JKGlub2RlKTsKIAlpbnQgY291bnQgPSAwOwogCWV4dDRfZnNibGtfdCBmaXJzdF9ibG9jayA9IDA7CisJbG9mZl90IGRpc2tzaXplOwogCiAKIAlKX0FTU0VSVCghKEVYVDRfSShpbm9kZSktPmlfZmxhZ3MgJiBFWFQ0X0VYVEVOVFNfRkwpKTsKQEAgLTg1NSw4ICs5MDQsOSBAQAogCS8qCiAJICogQmxvY2sgb3V0IGV4dDRfdHJ1bmNhdGUgd2hpbGUgd2UgYWx0ZXIgdGhlIHRyZWUKIAkgKi8KLQllcnIgPSBleHQ0X2FsbG9jX2JyYW5jaChoYW5kbGUsIGlub2RlLCBpbmRpcmVjdF9ibGtzLCAmY291bnQsIGdvYWwsCi0JCQkJb2Zmc2V0cyArIChwYXJ0aWFsIC0gY2hhaW4pLCBwYXJ0aWFsKTsKKwllcnIgPSBleHQ0X2FsbG9jX2JyYW5jaChoYW5kbGUsIGlub2RlLCBpYmxvY2ssIGluZGlyZWN0X2Jsa3MsCisJCQkJCSZjb3VudCwgZ29hbCwKKwkJCQkJb2Zmc2V0cyArIChwYXJ0aWFsIC0gY2hhaW4pLCBwYXJ0aWFsKTsKIAogCS8qCiAJICogVGhlIGV4dDRfc3BsaWNlX2JyYW5jaCBjYWxsIHdpbGwgZnJlZSBhbmQgZm9yZ2V0IGFueSBidWZmZXJzCkBAIC04NzMsOCArOTIzLDEzIEBACiAJICogcHJvdGVjdCBpdCBpZiB5b3UncmUgYWJvdXQgdG8gaW1wbGVtZW50IGNvbmN1cnJlbnQKIAkgKiBleHQ0X2dldF9ibG9jaygpIC1ienp6CiAJKi8KLQlpZiAoIWVyciAmJiBleHRlbmRfZGlza3NpemUgJiYgaW5vZGUtPmlfc2l6ZSA+IGVpLT5pX2Rpc2tzaXplKQotCQllaS0+aV9kaXNrc2l6ZSA9IGlub2RlLT5pX3NpemU7CisJaWYgKCFlcnIgJiYgZXh0ZW5kX2Rpc2tzaXplKSB7CisJCWRpc2tzaXplID0gKChsb2ZmX3QpIGlibG9jayArIGNvdW50KSA8PCBpbm9kZS0+aV9ibGtiaXRzOworCQlpZiAoZGlza3NpemUgPiBpX3NpemVfcmVhZChpbm9kZSkpCisJCQlkaXNrc2l6ZSA9IGlfc2l6ZV9yZWFkKGlub2RlKTsKKwkJaWYgKGRpc2tzaXplID4gZWktPmlfZGlza3NpemUpCisJCQllaS0+aV9kaXNrc2l6ZSA9IGRpc2tzaXplOworCX0KIAlpZiAoZXJyKQogCQlnb3RvIGNsZWFudXA7CiAKQEAgLTkzNCw3ICs5ODksNyBAQAogICovCiBpbnQgZXh0NF9nZXRfYmxvY2tzX3dyYXAoaGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IGlub2RlICppbm9kZSwgc2VjdG9yX3QgYmxvY2ssCiAJCQl1bnNpZ25lZCBsb25nIG1heF9ibG9ja3MsIHN0cnVjdCBidWZmZXJfaGVhZCAqYmgsCi0JCQlpbnQgY3JlYXRlLCBpbnQgZXh0ZW5kX2Rpc2tzaXplKQorCQkJaW50IGNyZWF0ZSwgaW50IGV4dGVuZF9kaXNrc2l6ZSwgaW50IGZsYWcpCiB7CiAJaW50IHJldHZhbDsKIApAQCAtOTc1LDYgKzEwMzAsMTUgQEAKIAkgKiB3aXRoIGNyZWF0ZSA9PSAxIGZsYWcuCiAJICovCiAJZG93bl93cml0ZSgoJkVYVDRfSShpbm9kZSktPmlfZGF0YV9zZW0pKTsKKworCS8qCisJICogaWYgdGhlIGNhbGxlciBpcyBmcm9tIGRlbGF5ZWQgYWxsb2NhdGlvbiB3cml0ZW91dCBwYXRoCisJICogd2UgaGF2ZSBhbHJlYWR5IHJlc2VydmVkIGZzIGJsb2NrcyBmb3IgYWxsb2NhdGlvbgorCSAqIGxldCB0aGUgdW5kZXJseWluZyBnZXRfYmxvY2soKSBmdW5jdGlvbiBrbm93IHRvCisJICogYXZvaWQgZG91YmxlIGFjY291bnRpbmcKKwkgKi8KKwlpZiAoZmxhZykKKwkJRVhUNF9JKGlub2RlKS0+aV9kZWxhbGxvY19yZXNlcnZlZF9mbGFnID0gMTsKIAkvKgogCSAqIFdlIG5lZWQgdG8gY2hlY2sgZm9yIEVYVDQgaGVyZSBiZWNhdXNlIG1pZ3JhdGUKIAkgKiBjb3VsZCBoYXZlIGNoYW5nZWQgdGhlIGlub2RlIHR5cGUgaW4gYmV0d2VlbgpAQCAtOTk2LDYgKzEwNjAsMTggQEAKIAkJCQkJCQl+RVhUNF9FWFRfTUlHUkFURTsKIAkJfQogCX0KKworCWlmIChmbGFnKSB7CisJCUVYVDRfSShpbm9kZSktPmlfZGVsYWxsb2NfcmVzZXJ2ZWRfZmxhZyA9IDA7CisJCS8qCisJCSAqIFVwZGF0ZSByZXNlcnZlZCBibG9ja3MvbWV0YWRhdGEgYmxvY2tzCisJCSAqIGFmdGVyIHN1Y2Nlc3NmdWwgYmxvY2sgYWxsb2NhdGlvbgorCQkgKiB3aGljaCB3ZXJlIGRlZmVycmVkIHRpbGwgbm93CisJCSAqLworCQlpZiAoKHJldHZhbCA+IDApICYmIGJ1ZmZlcl9kZWxheShiaCkpCisJCQlleHQ0X2RhX3JlbGVhc2Vfc3BhY2UoaW5vZGUsIHJldHZhbCwgMCk7CisJfQorCiAJdXBfd3JpdGUoKCZFWFQ0X0koaW5vZGUpLT5pX2RhdGFfc2VtKSk7CiAJcmV0dXJuIHJldHZhbDsKIH0KQEAgLTEwMjEsNyArMTA5Nyw3IEBACiAJfQogCiAJcmV0ID0gZXh0NF9nZXRfYmxvY2tzX3dyYXAoaGFuZGxlLCBpbm9kZSwgaWJsb2NrLAotCQkJCQltYXhfYmxvY2tzLCBiaF9yZXN1bHQsIGNyZWF0ZSwgMCk7CisJCQkJCW1heF9ibG9ja3MsIGJoX3Jlc3VsdCwgY3JlYXRlLCAwLCAwKTsKIAlpZiAocmV0ID4gMCkgewogCQliaF9yZXN1bHQtPmJfc2l6ZSA9IChyZXQgPDwgaW5vZGUtPmlfYmxrYml0cyk7CiAJCXJldCA9IDA7CkBAIC0xMDQ3LDcgKzExMjMsNyBAQAogCWR1bW15LmJfYmxvY2tuciA9IC0xMDAwOwogCWJ1ZmZlcl90cmFjZV9pbml0KCZkdW1teS5iX2hpc3RvcnkpOwogCWVyciA9IGV4dDRfZ2V0X2Jsb2Nrc193cmFwKGhhbmRsZSwgaW5vZGUsIGJsb2NrLCAxLAotCQkJCQkmZHVtbXksIGNyZWF0ZSwgMSk7CisJCQkJCSZkdW1teSwgY3JlYXRlLCAxLCAwKTsKIAkvKgogCSAqIGV4dDRfZ2V0X2Jsb2Nrc19oYW5kbGUoKSByZXR1cm5zIG51bWJlciBvZiBibG9ja3MKIAkgKiBtYXBwZWQuIDAgaW4gY2FzZSBvZiBhIEhPTEUuCkBAIC0xMjAzLDE5ICsxMjc5LDIwIEBACiAgCXRvID0gZnJvbSArIGxlbjsKIAogcmV0cnk6Ci0gCXBhZ2UgPSBfX2dyYWJfY2FjaGVfcGFnZShtYXBwaW5nLCBpbmRleCk7Ci0gCWlmICghcGFnZSkKLSAJCXJldHVybiAtRU5PTUVNOwotIAkqcGFnZXAgPSBwYWdlOwotCiAgIAloYW5kbGUgPSBleHQ0X2pvdXJuYWxfc3RhcnQoaW5vZGUsIG5lZWRlZF9ibG9ja3MpOwogICAJaWYgKElTX0VSUihoYW5kbGUpKSB7Ci0gCQl1bmxvY2tfcGFnZShwYWdlKTsKLSAJCXBhZ2VfY2FjaGVfcmVsZWFzZShwYWdlKTsKICAgCQlyZXQgPSBQVFJfRVJSKGhhbmRsZSk7CiAgIAkJZ290byBvdXQ7CiAJfQogCisJcGFnZSA9IF9fZ3JhYl9jYWNoZV9wYWdlKG1hcHBpbmcsIGluZGV4KTsKKwlpZiAoIXBhZ2UpIHsKKwkJZXh0NF9qb3VybmFsX3N0b3AoaGFuZGxlKTsKKwkJcmV0ID0gLUVOT01FTTsKKwkJZ290byBvdXQ7CisJfQorCSpwYWdlcCA9IHBhZ2U7CisKIAlyZXQgPSBibG9ja193cml0ZV9iZWdpbihmaWxlLCBtYXBwaW5nLCBwb3MsIGxlbiwgZmxhZ3MsIHBhZ2VwLCBmc2RhdGEsCiAJCQkJCQkJZXh0NF9nZXRfYmxvY2spOwogCkBAIC0xMjI1LDggKzEzMDIsOCBAQAogCX0KIAogCWlmIChyZXQpIHsKLQkJZXh0NF9qb3VybmFsX3N0b3AoaGFuZGxlKTsKICAJCXVubG9ja19wYWdlKHBhZ2UpOworCQlleHQ0X2pvdXJuYWxfc3RvcChoYW5kbGUpOwogIAkJcGFnZV9jYWNoZV9yZWxlYXNlKHBhZ2UpOwogCX0KIApAQCAtMTIzNiwxNSArMTMxMyw2IEBACiAJcmV0dXJuIHJldDsKIH0KIAotaW50IGV4dDRfam91cm5hbF9kaXJ0eV9kYXRhKGhhbmRsZV90ICpoYW5kbGUsIHN0cnVjdCBidWZmZXJfaGVhZCAqYmgpCi17Ci0JaW50IGVyciA9IGpiZDJfam91cm5hbF9kaXJ0eV9kYXRhKGhhbmRsZSwgYmgpOwotCWlmIChlcnIpCi0JCWV4dDRfam91cm5hbF9hYm9ydF9oYW5kbGUoX19mdW5jX18sIF9fZnVuY19fLAotCQkJCQkJYmgsIGhhbmRsZSwgZXJyKTsKLQlyZXR1cm4gZXJyOwotfQotCiAvKiBGb3Igd3JpdGVfZW5kKCkgaW4gZGF0YT1qb3VybmFsIG1vZGUgKi8KIHN0YXRpYyBpbnQgd3JpdGVfZW5kX2ZuKGhhbmRsZV90ICpoYW5kbGUsIHN0cnVjdCBidWZmZXJfaGVhZCAqYmgpCiB7CkBAIC0xMjU1LDI5ICsxMzIzLDYgQEAKIH0KIAogLyoKLSAqIEdlbmVyaWMgd3JpdGVfZW5kIGhhbmRsZXIgZm9yIG9yZGVyZWQgYW5kIHdyaXRlYmFjayBleHQ0IGpvdXJuYWwgbW9kZXMuCi0gKiBXZSBjYW4ndCB1c2UgZ2VuZXJpY193cml0ZV9lbmQsIGJlY2F1c2UgdGhhdCB1bmxvY2tzIHRoZSBwYWdlIGFuZCB3ZSBuZWVkIHRvCi0gKiB1bmxvY2sgdGhlIHBhZ2UgYWZ0ZXIgZXh0NF9qb3VybmFsX3N0b3AsIGJ1dCBleHQ0X2pvdXJuYWxfc3RvcCBtdXN0IHJ1bgotICogYWZ0ZXIgYmxvY2tfd3JpdGVfZW5kLgotICovCi1zdGF0aWMgaW50IGV4dDRfZ2VuZXJpY193cml0ZV9lbmQoc3RydWN0IGZpbGUgKmZpbGUsCi0JCQkJc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsCi0JCQkJbG9mZl90IHBvcywgdW5zaWduZWQgbGVuLCB1bnNpZ25lZCBjb3BpZWQsCi0JCQkJc3RydWN0IHBhZ2UgKnBhZ2UsIHZvaWQgKmZzZGF0YSkKLXsKLQlzdHJ1Y3QgaW5vZGUgKmlub2RlID0gZmlsZS0+Zl9tYXBwaW5nLT5ob3N0OwotCi0JY29waWVkID0gYmxvY2tfd3JpdGVfZW5kKGZpbGUsIG1hcHBpbmcsIHBvcywgbGVuLCBjb3BpZWQsIHBhZ2UsIGZzZGF0YSk7Ci0KLQlpZiAocG9zK2NvcGllZCA+IGlub2RlLT5pX3NpemUpIHsKLQkJaV9zaXplX3dyaXRlKGlub2RlLCBwb3MrY29waWVkKTsKLQkJbWFya19pbm9kZV9kaXJ0eShpbm9kZSk7Ci0JfQotCi0JcmV0dXJuIGNvcGllZDsKLX0KLQotLyoKICAqIFdlIG5lZWQgdG8gcGljayB1cCB0aGUgbmV3IGlub2RlIHNpemUgd2hpY2ggZ2VuZXJpY19jb21taXRfd3JpdGUgZ2F2ZSB1cwogICogYGZpbGUnIGNhbiBiZSBOVUxMIC0gZWcsIHdoZW4gY2FsbGVkIGZyb20gcGFnZV9zeW1saW5rKCkuCiAgKgpAQCAtMTI5MCwxNSArMTMzNSwxNCBAQAogCQkJCXN0cnVjdCBwYWdlICpwYWdlLCB2b2lkICpmc2RhdGEpCiB7CiAJaGFuZGxlX3QgKmhhbmRsZSA9IGV4dDRfam91cm5hbF9jdXJyZW50X2hhbmRsZSgpOwotCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBmaWxlLT5mX21hcHBpbmctPmhvc3Q7CisJc3RydWN0IGlub2RlICppbm9kZSA9IG1hcHBpbmctPmhvc3Q7CiAJdW5zaWduZWQgZnJvbSwgdG87CiAJaW50IHJldCA9IDAsIHJldDI7CiAKIAlmcm9tID0gcG9zICYgKFBBR0VfQ0FDSEVfU0laRSAtIDEpOwogCXRvID0gZnJvbSArIGxlbjsKIAotCXJldCA9IHdhbGtfcGFnZV9idWZmZXJzKGhhbmRsZSwgcGFnZV9idWZmZXJzKHBhZ2UpLAotCQlmcm9tLCB0bywgTlVMTCwgZXh0NF9qb3VybmFsX2RpcnR5X2RhdGEpOworCXJldCA9IGV4dDRfamJkMl9maWxlX2lub2RlKGhhbmRsZSwgaW5vZGUpOwogCiAJaWYgKHJldCA9PSAwKSB7CiAJCS8qCkBAIC0xMzExLDcgKzEzNTUsNyBAQAogCQluZXdfaV9zaXplID0gcG9zICsgY29waWVkOwogCQlpZiAobmV3X2lfc2l6ZSA+IEVYVDRfSShpbm9kZSktPmlfZGlza3NpemUpCiAJCQlFWFQ0X0koaW5vZGUpLT5pX2Rpc2tzaXplID0gbmV3X2lfc2l6ZTsKLQkJcmV0MiA9IGV4dDRfZ2VuZXJpY193cml0ZV9lbmQoZmlsZSwgbWFwcGluZywgcG9zLCBsZW4sIGNvcGllZCwKKwkJcmV0MiA9IGdlbmVyaWNfd3JpdGVfZW5kKGZpbGUsIG1hcHBpbmcsIHBvcywgbGVuLCBjb3BpZWQsCiAJCQkJCQkJcGFnZSwgZnNkYXRhKTsKIAkJY29waWVkID0gcmV0MjsKIAkJaWYgKHJldDIgPCAwKQpAQCAtMTMyMCw4ICsxMzY0LDYgQEAKIAlyZXQyID0gZXh0NF9qb3VybmFsX3N0b3AoaGFuZGxlKTsKIAlpZiAoIXJldCkKIAkJcmV0ID0gcmV0MjsKLQl1bmxvY2tfcGFnZShwYWdlKTsKLQlwYWdlX2NhY2hlX3JlbGVhc2UocGFnZSk7CiAKIAlyZXR1cm4gcmV0ID8gcmV0IDogY29waWVkOwogfQpAQCAtMTMzMiw3ICsxMzc0LDcgQEAKIAkJCQlzdHJ1Y3QgcGFnZSAqcGFnZSwgdm9pZCAqZnNkYXRhKQogewogCWhhbmRsZV90ICpoYW5kbGUgPSBleHQ0X2pvdXJuYWxfY3VycmVudF9oYW5kbGUoKTsKLQlzdHJ1Y3QgaW5vZGUgKmlub2RlID0gZmlsZS0+Zl9tYXBwaW5nLT5ob3N0OworCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBtYXBwaW5nLT5ob3N0OwogCWludCByZXQgPSAwLCByZXQyOwogCWxvZmZfdCBuZXdfaV9zaXplOwogCkBAIC0xMzQwLDcgKzEzODIsNyBAQAogCWlmIChuZXdfaV9zaXplID4gRVhUNF9JKGlub2RlKS0+aV9kaXNrc2l6ZSkKIAkJRVhUNF9JKGlub2RlKS0+aV9kaXNrc2l6ZSA9IG5ld19pX3NpemU7CiAKLQlyZXQyID0gZXh0NF9nZW5lcmljX3dyaXRlX2VuZChmaWxlLCBtYXBwaW5nLCBwb3MsIGxlbiwgY29waWVkLAorCXJldDIgPSBnZW5lcmljX3dyaXRlX2VuZChmaWxlLCBtYXBwaW5nLCBwb3MsIGxlbiwgY29waWVkLAogCQkJCQkJCXBhZ2UsIGZzZGF0YSk7CiAJY29waWVkID0gcmV0MjsKIAlpZiAocmV0MiA8IDApCkBAIC0xMzQ5LDggKzEzOTEsNiBAQAogCXJldDIgPSBleHQ0X2pvdXJuYWxfc3RvcChoYW5kbGUpOwogCWlmICghcmV0KQogCQlyZXQgPSByZXQyOwotCXVubG9ja19wYWdlKHBhZ2UpOwotCXBhZ2VfY2FjaGVfcmVsZWFzZShwYWdlKTsKIAogCXJldHVybiByZXQgPyByZXQgOiBjb3BpZWQ7CiB9CkBAIC0xMzg5LDE0ICsxNDI5LDk2NSBAQAogCQkJcmV0ID0gcmV0MjsKIAl9CiAKKwl1bmxvY2tfcGFnZShwYWdlKTsKIAlyZXQyID0gZXh0NF9qb3VybmFsX3N0b3AoaGFuZGxlKTsKIAlpZiAoIXJldCkKIAkJcmV0ID0gcmV0MjsKLQl1bmxvY2tfcGFnZShwYWdlKTsKIAlwYWdlX2NhY2hlX3JlbGVhc2UocGFnZSk7CiAKIAlyZXR1cm4gcmV0ID8gcmV0IDogY29waWVkOwogfQorLyoKKyAqIENhbGN1bGF0ZSB0aGUgbnVtYmVyIG9mIG1ldGFkYXRhIGJsb2NrcyBuZWVkIHRvIHJlc2VydmUKKyAqIHRvIGFsbG9jYXRlIEBibG9ja3MgZm9yIG5vbiBleHRlbnQgZmlsZSBiYXNlZCBmaWxlCisgKi8KK3N0YXRpYyBpbnQgZXh0NF9pbmRpcmVjdF9jYWxjX21ldGFkYXRhX2Ftb3VudChzdHJ1Y3QgaW5vZGUgKmlub2RlLCBpbnQgYmxvY2tzKQoreworCWludCBpY2FwID0gRVhUNF9BRERSX1BFUl9CTE9DSyhpbm9kZS0+aV9zYik7CisJaW50IGluZF9ibGtzLCBkaW5kX2Jsa3MsIHRpbmRfYmxrczsKKworCS8qIG51bWJlciBvZiBuZXcgaW5kaXJlY3QgYmxvY2tzIG5lZWRlZCAqLworCWluZF9ibGtzID0gKGJsb2NrcyArIGljYXAgLSAxKSAvIGljYXA7CisKKwlkaW5kX2Jsa3MgPSAoaW5kX2Jsa3MgKyBpY2FwIC0gMSkgLyBpY2FwOworCisJdGluZF9ibGtzID0gMTsKKworCXJldHVybiBpbmRfYmxrcyArIGRpbmRfYmxrcyArIHRpbmRfYmxrczsKK30KKworLyoKKyAqIENhbGN1bGF0ZSB0aGUgbnVtYmVyIG9mIG1ldGFkYXRhIGJsb2NrcyBuZWVkIHRvIHJlc2VydmUKKyAqIHRvIGFsbG9jYXRlIGdpdmVuIG51bWJlciBvZiBibG9ja3MKKyAqLworc3RhdGljIGludCBleHQ0X2NhbGNfbWV0YWRhdGFfYW1vdW50KHN0cnVjdCBpbm9kZSAqaW5vZGUsIGludCBibG9ja3MpCit7CisJaWYgKEVYVDRfSShpbm9kZSktPmlfZmxhZ3MgJiBFWFQ0X0VYVEVOVFNfRkwpCisJCXJldHVybiBleHQ0X2V4dF9jYWxjX21ldGFkYXRhX2Ftb3VudChpbm9kZSwgYmxvY2tzKTsKKworCXJldHVybiBleHQ0X2luZGlyZWN0X2NhbGNfbWV0YWRhdGFfYW1vdW50KGlub2RlLCBibG9ja3MpOworfQorCitzdGF0aWMgaW50IGV4dDRfZGFfcmVzZXJ2ZV9zcGFjZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBpbnQgbnJibG9ja3MpCit7CisgICAgICAgc3RydWN0IGV4dDRfc2JfaW5mbyAqc2JpID0gRVhUNF9TQihpbm9kZS0+aV9zYik7CisgICAgICAgdW5zaWduZWQgbG9uZyBtZF9uZWVkZWQsIG1kYmxvY2tzLCB0b3RhbCA9IDA7CisKKwkvKgorCSAqIHJlY2FsY3VsYXRlIHRoZSBhbW91bnQgb2YgbWV0YWRhdGEgYmxvY2tzIHRvIHJlc2VydmUKKwkgKiBpbiBvcmRlciB0byBhbGxvY2F0ZSBucmJsb2NrcworCSAqIHdvcnNlIGNhc2UgaXMgb25lIGV4dGVudCBwZXIgYmxvY2sKKwkgKi8KKwlzcGluX2xvY2soJkVYVDRfSShpbm9kZSktPmlfYmxvY2tfcmVzZXJ2YXRpb25fbG9jayk7CisJdG90YWwgPSBFWFQ0X0koaW5vZGUpLT5pX3Jlc2VydmVkX2RhdGFfYmxvY2tzICsgbnJibG9ja3M7CisJbWRibG9ja3MgPSBleHQ0X2NhbGNfbWV0YWRhdGFfYW1vdW50KGlub2RlLCB0b3RhbCk7CisJQlVHX09OKG1kYmxvY2tzIDwgRVhUNF9JKGlub2RlKS0+aV9yZXNlcnZlZF9tZXRhX2Jsb2Nrcyk7CisKKwltZF9uZWVkZWQgPSBtZGJsb2NrcyAtIEVYVDRfSShpbm9kZSktPmlfcmVzZXJ2ZWRfbWV0YV9ibG9ja3M7CisJdG90YWwgPSBtZF9uZWVkZWQgKyBucmJsb2NrczsKKworCWlmIChleHQ0X2hhc19mcmVlX2Jsb2NrcyhzYmksIHRvdGFsKSA8IHRvdGFsKSB7CisJCXNwaW5fdW5sb2NrKCZFWFQ0X0koaW5vZGUpLT5pX2Jsb2NrX3Jlc2VydmF0aW9uX2xvY2spOworCQlyZXR1cm4gLUVOT1NQQzsKKwl9CisKKwkvKiByZWR1Y2UgZnMgZnJlZSBibG9ja3MgY291bnRlciAqLworCXBlcmNwdV9jb3VudGVyX3N1Yigmc2JpLT5zX2ZyZWVibG9ja3NfY291bnRlciwgdG90YWwpOworCisJRVhUNF9JKGlub2RlKS0+aV9yZXNlcnZlZF9kYXRhX2Jsb2NrcyArPSBucmJsb2NrczsKKwlFWFQ0X0koaW5vZGUpLT5pX3Jlc2VydmVkX21ldGFfYmxvY2tzID0gbWRibG9ja3M7CisKKwlzcGluX3VubG9jaygmRVhUNF9JKGlub2RlKS0+aV9ibG9ja19yZXNlcnZhdGlvbl9sb2NrKTsKKwlyZXR1cm4gMDsgICAgICAgLyogc3VjY2VzcyAqLworfQorCit2b2lkIGV4dDRfZGFfcmVsZWFzZV9zcGFjZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBpbnQgdXNlZCwgaW50IHRvX2ZyZWUpCit7CisJc3RydWN0IGV4dDRfc2JfaW5mbyAqc2JpID0gRVhUNF9TQihpbm9kZS0+aV9zYik7CisJaW50IHRvdGFsLCBtZGIsIG1kYl9mcmVlLCByZWxlYXNlOworCisJc3Bpbl9sb2NrKCZFWFQ0X0koaW5vZGUpLT5pX2Jsb2NrX3Jlc2VydmF0aW9uX2xvY2spOworCS8qIHJlY2FsY3VsYXRlIHRoZSBudW1iZXIgb2YgbWV0YWJsb2NrcyBzdGlsbCBuZWVkIHRvIGJlIHJlc2VydmVkICovCisJdG90YWwgPSBFWFQ0X0koaW5vZGUpLT5pX3Jlc2VydmVkX2RhdGFfYmxvY2tzIC0gdXNlZCAtIHRvX2ZyZWU7CisJbWRiID0gZXh0NF9jYWxjX21ldGFkYXRhX2Ftb3VudChpbm9kZSwgdG90YWwpOworCisJLyogZmlndXJlIG91dCBob3cgbWFueSBtZXRhYmxvY2tzIHRvIHJlbGVhc2UgKi8KKwlCVUdfT04obWRiID4gRVhUNF9JKGlub2RlKS0+aV9yZXNlcnZlZF9tZXRhX2Jsb2Nrcyk7CisJbWRiX2ZyZWUgPSBFWFQ0X0koaW5vZGUpLT5pX3Jlc2VydmVkX21ldGFfYmxvY2tzIC0gbWRiOworCisJLyogQWNjb3VudCBmb3IgYWxsb2NhdGVkIG1ldGFfYmxvY2tzICovCisJbWRiX2ZyZWUgLT0gRVhUNF9JKGlub2RlKS0+aV9hbGxvY2F0ZWRfbWV0YV9ibG9ja3M7CisKKwlyZWxlYXNlID0gdG9fZnJlZSArIG1kYl9mcmVlOworCisJLyogdXBkYXRlIGZzIGZyZWUgYmxvY2tzIGNvdW50ZXIgZm9yIHRydW5jYXRlIGNhc2UgKi8KKwlwZXJjcHVfY291bnRlcl9hZGQoJnNiaS0+c19mcmVlYmxvY2tzX2NvdW50ZXIsIHJlbGVhc2UpOworCisJLyogdXBkYXRlIHBlci1pbm9kZSByZXNlcnZhdGlvbnMgKi8KKwlCVUdfT04odXNlZCArIHRvX2ZyZWUgPiBFWFQ0X0koaW5vZGUpLT5pX3Jlc2VydmVkX2RhdGFfYmxvY2tzKTsKKwlFWFQ0X0koaW5vZGUpLT5pX3Jlc2VydmVkX2RhdGFfYmxvY2tzIC09ICh1c2VkICsgdG9fZnJlZSk7CisKKwlCVUdfT04obWRiID4gRVhUNF9JKGlub2RlKS0+aV9yZXNlcnZlZF9tZXRhX2Jsb2Nrcyk7CisJRVhUNF9JKGlub2RlKS0+aV9yZXNlcnZlZF9tZXRhX2Jsb2NrcyA9IG1kYjsKKwlFWFQ0X0koaW5vZGUpLT5pX2FsbG9jYXRlZF9tZXRhX2Jsb2NrcyA9IDA7CisJc3Bpbl91bmxvY2soJkVYVDRfSShpbm9kZSktPmlfYmxvY2tfcmVzZXJ2YXRpb25fbG9jayk7Cit9CisKK3N0YXRpYyB2b2lkIGV4dDRfZGFfcGFnZV9yZWxlYXNlX3Jlc2VydmF0aW9uKHN0cnVjdCBwYWdlICpwYWdlLAorCQkJCQkJdW5zaWduZWQgbG9uZyBvZmZzZXQpCit7CisJaW50IHRvX3JlbGVhc2UgPSAwOworCXN0cnVjdCBidWZmZXJfaGVhZCAqaGVhZCwgKmJoOworCXVuc2lnbmVkIGludCBjdXJyX29mZiA9IDA7CisKKwloZWFkID0gcGFnZV9idWZmZXJzKHBhZ2UpOworCWJoID0gaGVhZDsKKwlkbyB7CisJCXVuc2lnbmVkIGludCBuZXh0X29mZiA9IGN1cnJfb2ZmICsgYmgtPmJfc2l6ZTsKKworCQlpZiAoKG9mZnNldCA8PSBjdXJyX29mZikgJiYgKGJ1ZmZlcl9kZWxheShiaCkpKSB7CisJCQl0b19yZWxlYXNlKys7CisJCQljbGVhcl9idWZmZXJfZGVsYXkoYmgpOworCQl9CisJCWN1cnJfb2ZmID0gbmV4dF9vZmY7CisJfSB3aGlsZSAoKGJoID0gYmgtPmJfdGhpc19wYWdlKSAhPSBoZWFkKTsKKwlleHQ0X2RhX3JlbGVhc2Vfc3BhY2UocGFnZS0+bWFwcGluZy0+aG9zdCwgMCwgdG9fcmVsZWFzZSk7Cit9CisKKy8qCisgKiBEZWxheWVkIGFsbG9jYXRpb24gc3R1ZmYKKyAqLworCitzdHJ1Y3QgbXBhZ2VfZGFfZGF0YSB7CisJc3RydWN0IGlub2RlICppbm9kZTsKKwlzdHJ1Y3QgYnVmZmVyX2hlYWQgbGJoOwkJCS8qIGV4dGVudCBvZiBibG9ja3MgKi8KKwl1bnNpZ25lZCBsb25nIGZpcnN0X3BhZ2UsIG5leHRfcGFnZTsJLyogZXh0ZW50IG9mIHBhZ2VzICovCisJZ2V0X2Jsb2NrX3QgKmdldF9ibG9jazsKKwlzdHJ1Y3Qgd3JpdGViYWNrX2NvbnRyb2wgKndiYzsKK307CisKKy8qCisgKiBtcGFnZV9kYV9zdWJtaXRfaW8gLSB3YWxrcyB0aHJvdWdoIGV4dGVudCBvZiBwYWdlcyBhbmQgdHJ5IHRvIHdyaXRlCisgKiB0aGVtIHdpdGggX19tcGFnZV93cml0ZXBhZ2UoKQorICoKKyAqIEBtcGQtPmlub2RlOiBpbm9kZQorICogQG1wZC0+Zmlyc3RfcGFnZTogZmlyc3QgcGFnZSBvZiB0aGUgZXh0ZW50CisgKiBAbXBkLT5uZXh0X3BhZ2U6IHBhZ2UgYWZ0ZXIgdGhlIGxhc3QgcGFnZSBvZiB0aGUgZXh0ZW50CisgKiBAbXBkLT5nZXRfYmxvY2s6IHRoZSBmaWxlc3lzdGVtJ3MgYmxvY2sgbWFwcGVyIGZ1bmN0aW9uCisgKgorICogQnkgdGhlIHRpbWUgbXBhZ2VfZGFfc3VibWl0X2lvKCkgaXMgY2FsbGVkIHdlIGV4cGVjdCBhbGwgYmxvY2tzCisgKiB0byBiZSBhbGxvY2F0ZWQuIHRoaXMgbWF5IGJlIHdyb25nIGlmIGFsbG9jYXRpb24gZmFpbGVkLgorICoKKyAqIEFzIHBhZ2VzIGFyZSBhbHJlYWR5IGxvY2tlZCBieSB3cml0ZV9jYWNoZV9wYWdlcygpLCB3ZSBjYW4ndCB1c2UgaXQKKyAqLworc3RhdGljIGludCBtcGFnZV9kYV9zdWJtaXRfaW8oc3RydWN0IG1wYWdlX2RhX2RhdGEgKm1wZCkKK3sKKwlzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZyA9IG1wZC0+aW5vZGUtPmlfbWFwcGluZzsKKwlzdHJ1Y3QgbXBhZ2VfZGF0YSBtcGRfcHAgPSB7CisJCS5iaW8gPSBOVUxMLAorCQkubGFzdF9ibG9ja19pbl9iaW8gPSAwLAorCQkuZ2V0X2Jsb2NrID0gbXBkLT5nZXRfYmxvY2ssCisJCS51c2Vfd3JpdGVwYWdlID0gMSwKKwl9OworCWludCByZXQgPSAwLCBlcnIsIG5yX3BhZ2VzLCBpOworCXVuc2lnbmVkIGxvbmcgaW5kZXgsIGVuZDsKKwlzdHJ1Y3QgcGFnZXZlYyBwdmVjOworCisJQlVHX09OKG1wZC0+bmV4dF9wYWdlIDw9IG1wZC0+Zmlyc3RfcGFnZSk7CisKKwlwYWdldmVjX2luaXQoJnB2ZWMsIDApOworCWluZGV4ID0gbXBkLT5maXJzdF9wYWdlOworCWVuZCA9IG1wZC0+bmV4dF9wYWdlIC0gMTsKKworCXdoaWxlIChpbmRleCA8PSBlbmQpIHsKKwkJLyogWFhYOiBvcHRpbWl6ZSB0YWlsICovCisJCW5yX3BhZ2VzID0gcGFnZXZlY19sb29rdXAoJnB2ZWMsIG1hcHBpbmcsIGluZGV4LCBQQUdFVkVDX1NJWkUpOworCQlpZiAobnJfcGFnZXMgPT0gMCkKKwkJCWJyZWFrOworCQlmb3IgKGkgPSAwOyBpIDwgbnJfcGFnZXM7IGkrKykgeworCQkJc3RydWN0IHBhZ2UgKnBhZ2UgPSBwdmVjLnBhZ2VzW2ldOworCisJCQlpbmRleCA9IHBhZ2UtPmluZGV4OworCQkJaWYgKGluZGV4ID4gZW5kKQorCQkJCWJyZWFrOworCQkJaW5kZXgrKzsKKworCQkJZXJyID0gX19tcGFnZV93cml0ZXBhZ2UocGFnZSwgbXBkLT53YmMsICZtcGRfcHApOworCisJCQkvKgorCQkJICogSW4gZXJyb3IgY2FzZSwgd2UgaGF2ZSB0byBjb250aW51ZSBiZWNhdXNlCisJCQkgKiByZW1haW5pbmcgcGFnZXMgYXJlIHN0aWxsIGxvY2tlZAorCQkJICogWFhYOiB1bmxvY2sgYW5kIHJlLWRpcnR5IHRoZW0/CisJCQkgKi8KKwkJCWlmIChyZXQgPT0gMCkKKwkJCQlyZXQgPSBlcnI7CisJCX0KKwkJcGFnZXZlY19yZWxlYXNlKCZwdmVjKTsKKwl9CisJaWYgKG1wZF9wcC5iaW8pCisJCW1wYWdlX2Jpb19zdWJtaXQoV1JJVEUsIG1wZF9wcC5iaW8pOworCisJcmV0dXJuIHJldDsKK30KKworLyoKKyAqIG1wYWdlX3B1dF9ibnJfdG9fYmhzIC0gd2FsayBibG9ja3MgYW5kIGFzc2lnbiB0aGVtIGFjdHVhbCBudW1iZXJzCisgKgorICogQG1wZC0+aW5vZGUgLSBpbm9kZSB0byB3YWxrIHRocm91Z2gKKyAqIEBleGJoLT5iX2Jsb2NrbnIgLSBmaXJzdCBibG9jayBvbiBhIGRpc2sKKyAqIEBleGJoLT5iX3NpemUgLSBhbW91bnQgb2Ygc3BhY2UgaW4gYnl0ZXMKKyAqIEBsb2dpY2FsIC0gZmlyc3QgbG9naWNhbCBibG9jayB0byBzdGFydCBhc3NpZ25tZW50IHdpdGgKKyAqCisgKiB0aGUgZnVuY3Rpb24gZ29lcyB0aHJvdWdoIGFsbCBwYXNzZWQgc3BhY2UgYW5kIHB1dCBhY3R1YWwgZGlzaworICogYmxvY2sgbnVtYmVycyBpbnRvIGJ1ZmZlciBoZWFkcywgZHJvcHBpbmcgQkhfRGVsYXkKKyAqLworc3RhdGljIHZvaWQgbXBhZ2VfcHV0X2Jucl90b19iaHMoc3RydWN0IG1wYWdlX2RhX2RhdGEgKm1wZCwgc2VjdG9yX3QgbG9naWNhbCwKKwkJCQkgc3RydWN0IGJ1ZmZlcl9oZWFkICpleGJoKQoreworCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBtcGQtPmlub2RlOworCXN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nID0gaW5vZGUtPmlfbWFwcGluZzsKKwlpbnQgYmxvY2tzID0gZXhiaC0+Yl9zaXplID4+IGlub2RlLT5pX2Jsa2JpdHM7CisJc2VjdG9yX3QgcGJsb2NrID0gZXhiaC0+Yl9ibG9ja25yLCBjdXJfbG9naWNhbDsKKwlzdHJ1Y3QgYnVmZmVyX2hlYWQgKmhlYWQsICpiaDsKKwl1bnNpZ25lZCBsb25nIGluZGV4LCBlbmQ7CisJc3RydWN0IHBhZ2V2ZWMgcHZlYzsKKwlpbnQgbnJfcGFnZXMsIGk7CisKKwlpbmRleCA9IGxvZ2ljYWwgPj4gKFBBR0VfQ0FDSEVfU0hJRlQgLSBpbm9kZS0+aV9ibGtiaXRzKTsKKwllbmQgPSAobG9naWNhbCArIGJsb2NrcyAtIDEpID4+IChQQUdFX0NBQ0hFX1NISUZUIC0gaW5vZGUtPmlfYmxrYml0cyk7CisJY3VyX2xvZ2ljYWwgPSBpbmRleCA8PCAoUEFHRV9DQUNIRV9TSElGVCAtIGlub2RlLT5pX2Jsa2JpdHMpOworCisJcGFnZXZlY19pbml0KCZwdmVjLCAwKTsKKworCXdoaWxlIChpbmRleCA8PSBlbmQpIHsKKwkJLyogWFhYOiBvcHRpbWl6ZSB0YWlsICovCisJCW5yX3BhZ2VzID0gcGFnZXZlY19sb29rdXAoJnB2ZWMsIG1hcHBpbmcsIGluZGV4LCBQQUdFVkVDX1NJWkUpOworCQlpZiAobnJfcGFnZXMgPT0gMCkKKwkJCWJyZWFrOworCQlmb3IgKGkgPSAwOyBpIDwgbnJfcGFnZXM7IGkrKykgeworCQkJc3RydWN0IHBhZ2UgKnBhZ2UgPSBwdmVjLnBhZ2VzW2ldOworCisJCQlpbmRleCA9IHBhZ2UtPmluZGV4OworCQkJaWYgKGluZGV4ID4gZW5kKQorCQkJCWJyZWFrOworCQkJaW5kZXgrKzsKKworCQkJQlVHX09OKCFQYWdlTG9ja2VkKHBhZ2UpKTsKKwkJCUJVR19PTihQYWdlV3JpdGViYWNrKHBhZ2UpKTsKKwkJCUJVR19PTighcGFnZV9oYXNfYnVmZmVycyhwYWdlKSk7CisKKwkJCWJoID0gcGFnZV9idWZmZXJzKHBhZ2UpOworCQkJaGVhZCA9IGJoOworCisJCQkvKiBza2lwIGJsb2NrcyBvdXQgb2YgdGhlIHJhbmdlICovCisJCQlkbyB7CisJCQkJaWYgKGN1cl9sb2dpY2FsID49IGxvZ2ljYWwpCisJCQkJCWJyZWFrOworCQkJCWN1cl9sb2dpY2FsKys7CisJCQl9IHdoaWxlICgoYmggPSBiaC0+Yl90aGlzX3BhZ2UpICE9IGhlYWQpOworCisJCQlkbyB7CisJCQkJaWYgKGN1cl9sb2dpY2FsID49IGxvZ2ljYWwgKyBibG9ja3MpCisJCQkJCWJyZWFrOworCQkJCWlmIChidWZmZXJfZGVsYXkoYmgpKSB7CisJCQkJCWJoLT5iX2Jsb2NrbnIgPSBwYmxvY2s7CisJCQkJCWNsZWFyX2J1ZmZlcl9kZWxheShiaCk7CisJCQkJfSBlbHNlIGlmIChidWZmZXJfbWFwcGVkKGJoKSkKKwkJCQkJQlVHX09OKGJoLT5iX2Jsb2NrbnIgIT0gcGJsb2NrKTsKKworCQkJCWN1cl9sb2dpY2FsKys7CisJCQkJcGJsb2NrKys7CisJCQl9IHdoaWxlICgoYmggPSBiaC0+Yl90aGlzX3BhZ2UpICE9IGhlYWQpOworCQl9CisJCXBhZ2V2ZWNfcmVsZWFzZSgmcHZlYyk7CisJfQorfQorCisKKy8qCisgKiBfX3VubWFwX3VuZGVybHlpbmdfYmxvY2tzIC0ganVzdCBhIGhlbHBlciBmdW5jdGlvbiB0byB1bm1hcAorICogc2V0IG9mIGJsb2NrcyBkZXNjcmliZWQgYnkgQGJoCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBfX3VubWFwX3VuZGVybHlpbmdfYmxvY2tzKHN0cnVjdCBpbm9kZSAqaW5vZGUsCisJCQkJCSAgICAgc3RydWN0IGJ1ZmZlcl9oZWFkICpiaCkKK3sKKwlzdHJ1Y3QgYmxvY2tfZGV2aWNlICpiZGV2ID0gaW5vZGUtPmlfc2ItPnNfYmRldjsKKwlpbnQgYmxvY2tzLCBpOworCisJYmxvY2tzID0gYmgtPmJfc2l6ZSA+PiBpbm9kZS0+aV9ibGtiaXRzOworCWZvciAoaSA9IDA7IGkgPCBibG9ja3M7IGkrKykKKwkJdW5tYXBfdW5kZXJseWluZ19tZXRhZGF0YShiZGV2LCBiaC0+Yl9ibG9ja25yICsgaSk7Cit9CisKKy8qCisgKiBtcGFnZV9kYV9tYXBfYmxvY2tzIC0gZ28gdGhyb3VnaCBnaXZlbiBzcGFjZQorICoKKyAqIEBtcGQtPmxiaCAtIGJoIGRlc2NyaWJpbmcgc3BhY2UKKyAqIEBtcGQtPmdldF9ibG9jayAtIHRoZSBmaWxlc3lzdGVtJ3MgYmxvY2sgbWFwcGVyIGZ1bmN0aW9uCisgKgorICogVGhlIGZ1bmN0aW9uIHNraXBzIHNwYWNlIHdlIGtub3cgaXMgYWxyZWFkeSBtYXBwZWQgdG8gZGlzayBibG9ja3MuCisgKgorICogVGhlIGZ1bmN0aW9uIGlnbm9yZXMgZXJyb3JzIC0+Z2V0X2Jsb2NrKCkgcmV0dXJucywgdGh1cyByZWFsCisgKiBlcnJvciBoYW5kbGluZyBpcyBwb3N0cG9uZWQgdG8gX19tcGFnZV93cml0ZXBhZ2UoKQorICovCitzdGF0aWMgdm9pZCBtcGFnZV9kYV9tYXBfYmxvY2tzKHN0cnVjdCBtcGFnZV9kYV9kYXRhICptcGQpCit7CisJc3RydWN0IGJ1ZmZlcl9oZWFkICpsYmggPSAmbXBkLT5sYmg7CisJaW50IGVyciA9IDAsIHJlbWFpbiA9IGxiaC0+Yl9zaXplOworCXNlY3Rvcl90IG5leHQgPSBsYmgtPmJfYmxvY2tucjsKKwlzdHJ1Y3QgYnVmZmVyX2hlYWQgbmV3OworCisJLyoKKwkgKiBXZSBjb25zaWRlciBvbmx5IG5vbi1tYXBwZWQgYW5kIG5vbi1hbGxvY2F0ZWQgYmxvY2tzCisJICovCisJaWYgKGJ1ZmZlcl9tYXBwZWQobGJoKSAmJiAhYnVmZmVyX2RlbGF5KGxiaCkpCisJCXJldHVybjsKKworCXdoaWxlIChyZW1haW4pIHsKKwkJbmV3LmJfc3RhdGUgPSBsYmgtPmJfc3RhdGU7CisJCW5ldy5iX2Jsb2NrbnIgPSAwOworCQluZXcuYl9zaXplID0gcmVtYWluOworCQllcnIgPSBtcGQtPmdldF9ibG9jayhtcGQtPmlub2RlLCBuZXh0LCAmbmV3LCAxKTsKKwkJaWYgKGVycikgeworCQkJLyoKKwkJCSAqIFJhdGhlciB0aGFuIGltcGxlbWVudCBvd24gZXJyb3IgaGFuZGxpbmcKKwkJCSAqIGhlcmUsIHdlIGp1c3QgbGVhdmUgcmVtYWluaW5nIGJsb2NrcworCQkJICogdW5hbGxvY2F0ZWQgYW5kIHRyeSBhZ2FpbiB3aXRoIC0+d3JpdGVwYWdlKCkKKwkJCSAqLworCQkJYnJlYWs7CisJCX0KKwkJQlVHX09OKG5ldy5iX3NpemUgPT0gMCk7CisKKwkJaWYgKGJ1ZmZlcl9uZXcoJm5ldykpCisJCQlfX3VubWFwX3VuZGVybHlpbmdfYmxvY2tzKG1wZC0+aW5vZGUsICZuZXcpOworCisJCS8qCisJCSAqIElmIGJsb2NrcyBhcmUgZGVsYXllZCBtYXJrZWQsIHdlIG5lZWQgdG8KKwkJICogcHV0IGFjdHVhbCBibG9ja25yIGFuZCBkcm9wIGRlbGF5ZWQgYml0CisJCSAqLworCQlpZiAoYnVmZmVyX2RlbGF5KGxiaCkpCisJCQltcGFnZV9wdXRfYm5yX3RvX2JocyhtcGQsIG5leHQsICZuZXcpOworCisJCS8qIGdvIGZvciB0aGUgcmVtYWluaW5nIGJsb2NrcyAqLworCQluZXh0ICs9IG5ldy5iX3NpemUgPj4gbXBkLT5pbm9kZS0+aV9ibGtiaXRzOworCQlyZW1haW4gLT0gbmV3LmJfc2l6ZTsKKwl9Cit9CisKKyNkZWZpbmUgQkhfRkxBR1MgKCgxIDw8IEJIX1VwdG9kYXRlKSB8ICgxIDw8IEJIX01hcHBlZCkgfCAoMSA8PCBCSF9EZWxheSkpCisKKy8qCisgKiBtcGFnZV9hZGRfYmhfdG9fZXh0ZW50IC0gdHJ5IHRvIGFkZCBvbmUgbW9yZSBibG9jayB0byBleHRlbnQgb2YgYmxvY2tzCisgKgorICogQG1wZC0+bGJoIC0gZXh0ZW50IG9mIGJsb2NrcworICogQGxvZ2ljYWwgLSBsb2dpY2FsIG51bWJlciBvZiB0aGUgYmxvY2sgaW4gdGhlIGZpbGUKKyAqIEBiaCAtIGJoIG9mIHRoZSBibG9jayAodXNlZCB0byBhY2Nlc3MgYmxvY2sncyBzdGF0ZSkKKyAqCisgKiB0aGUgZnVuY3Rpb24gaXMgdXNlZCB0byBjb2xsZWN0IGNvbnRpZy4gYmxvY2tzIGluIHNhbWUgc3RhdGUKKyAqLworc3RhdGljIHZvaWQgbXBhZ2VfYWRkX2JoX3RvX2V4dGVudChzdHJ1Y3QgbXBhZ2VfZGFfZGF0YSAqbXBkLAorCQkJCSAgIHNlY3Rvcl90IGxvZ2ljYWwsIHN0cnVjdCBidWZmZXJfaGVhZCAqYmgpCit7CisJc3RydWN0IGJ1ZmZlcl9oZWFkICpsYmggPSAmbXBkLT5sYmg7CisJc2VjdG9yX3QgbmV4dDsKKworCW5leHQgPSBsYmgtPmJfYmxvY2tuciArIChsYmgtPmJfc2l6ZSA+PiBtcGQtPmlub2RlLT5pX2Jsa2JpdHMpOworCisJLyoKKwkgKiBGaXJzdCBibG9jayBpbiB0aGUgZXh0ZW50CisJICovCisJaWYgKGxiaC0+Yl9zaXplID09IDApIHsKKwkJbGJoLT5iX2Jsb2NrbnIgPSBsb2dpY2FsOworCQlsYmgtPmJfc2l6ZSA9IGJoLT5iX3NpemU7CisJCWxiaC0+Yl9zdGF0ZSA9IGJoLT5iX3N0YXRlICYgQkhfRkxBR1M7CisJCXJldHVybjsKKwl9CisKKwkvKgorCSAqIENhbiB3ZSBtZXJnZSB0aGUgYmxvY2sgdG8gb3VyIGJpZyBleHRlbnQ/CisJICovCisJaWYgKGxvZ2ljYWwgPT0gbmV4dCAmJiAoYmgtPmJfc3RhdGUgJiBCSF9GTEFHUykgPT0gbGJoLT5iX3N0YXRlKSB7CisJCWxiaC0+Yl9zaXplICs9IGJoLT5iX3NpemU7CisJCXJldHVybjsKKwl9CisKKwkvKgorCSAqIFdlIGNvdWxkbid0IG1lcmdlIHRoZSBibG9jayB0byBvdXIgZXh0ZW50LCBzbyB3ZQorCSAqIG5lZWQgdG8gZmx1c2ggY3VycmVudCAgZXh0ZW50IGFuZCBzdGFydCBuZXcgb25lCisJICovCisJbXBhZ2VfZGFfbWFwX2Jsb2NrcyhtcGQpOworCisJLyoKKwkgKiBOb3cgc3RhcnQgYSBuZXcgZXh0ZW50CisJICovCisJbGJoLT5iX3NpemUgPSBiaC0+Yl9zaXplOworCWxiaC0+Yl9zdGF0ZSA9IGJoLT5iX3N0YXRlICYgQkhfRkxBR1M7CisJbGJoLT5iX2Jsb2NrbnIgPSBsb2dpY2FsOworfQorCisvKgorICogX19tcGFnZV9kYV93cml0ZXBhZ2UgLSBmaW5kcyBleHRlbnQgb2YgcGFnZXMgYW5kIGJsb2NrcworICoKKyAqIEBwYWdlOiBwYWdlIHRvIGNvbnNpZGVyCisgKiBAd2JjOiBub3QgdXNlZCwgd2UganVzdCBmb2xsb3cgcnVsZXMKKyAqIEBkYXRhOiBjb250ZXh0CisgKgorICogVGhlIGZ1bmN0aW9uIGZpbmRzIGV4dGVudHMgb2YgcGFnZXMgYW5kIHNjYW4gdGhlbSBmb3IgYWxsIGJsb2Nrcy4KKyAqLworc3RhdGljIGludCBfX21wYWdlX2RhX3dyaXRlcGFnZShzdHJ1Y3QgcGFnZSAqcGFnZSwKKwkJCQlzdHJ1Y3Qgd3JpdGViYWNrX2NvbnRyb2wgKndiYywgdm9pZCAqZGF0YSkKK3sKKwlzdHJ1Y3QgbXBhZ2VfZGFfZGF0YSAqbXBkID0gZGF0YTsKKwlzdHJ1Y3QgaW5vZGUgKmlub2RlID0gbXBkLT5pbm9kZTsKKwlzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoLCAqaGVhZCwgZmFrZTsKKwlzZWN0b3JfdCBsb2dpY2FsOworCisJLyoKKwkgKiBDYW4gd2UgbWVyZ2UgdGhpcyBwYWdlIHRvIGN1cnJlbnQgZXh0ZW50PworCSAqLworCWlmIChtcGQtPm5leHRfcGFnZSAhPSBwYWdlLT5pbmRleCkgeworCQkvKgorCQkgKiBOb3BlLCB3ZSBjYW4ndC4gU28sIHdlIG1hcCBub24tYWxsb2NhdGVkIGJsb2NrcworCQkgKiBhbmQgc3RhcnQgSU8gb24gdGhlbSB1c2luZyBfX21wYWdlX3dyaXRlcGFnZSgpCisJCSAqLworCQlpZiAobXBkLT5uZXh0X3BhZ2UgIT0gbXBkLT5maXJzdF9wYWdlKSB7CisJCQltcGFnZV9kYV9tYXBfYmxvY2tzKG1wZCk7CisJCQltcGFnZV9kYV9zdWJtaXRfaW8obXBkKTsKKwkJfQorCisJCS8qCisJCSAqIFN0YXJ0IG5leHQgZXh0ZW50IG9mIHBhZ2VzIC4uLgorCQkgKi8KKwkJbXBkLT5maXJzdF9wYWdlID0gcGFnZS0+aW5kZXg7CisKKwkJLyoKKwkJICogLi4uIGFuZCBibG9ja3MKKwkJICovCisJCW1wZC0+bGJoLmJfc2l6ZSA9IDA7CisJCW1wZC0+bGJoLmJfc3RhdGUgPSAwOworCQltcGQtPmxiaC5iX2Jsb2NrbnIgPSAwOworCX0KKworCW1wZC0+bmV4dF9wYWdlID0gcGFnZS0+aW5kZXggKyAxOworCWxvZ2ljYWwgPSAoc2VjdG9yX3QpIHBhZ2UtPmluZGV4IDw8CisJCSAgKFBBR0VfQ0FDSEVfU0hJRlQgLSBpbm9kZS0+aV9ibGtiaXRzKTsKKworCWlmICghcGFnZV9oYXNfYnVmZmVycyhwYWdlKSkgeworCQkvKgorCQkgKiBUaGVyZSBpcyBubyBhdHRhY2hlZCBidWZmZXIgaGVhZHMgeWV0IChtbWFwPykKKwkJICogd2UgdHJlYXQgdGhlIHBhZ2UgYXNmdWxsIG9mIGRpcnR5IGJsb2NrcworCQkgKi8KKwkJYmggPSAmZmFrZTsKKwkJYmgtPmJfc2l6ZSA9IFBBR0VfQ0FDSEVfU0laRTsKKwkJYmgtPmJfc3RhdGUgPSAwOworCQlzZXRfYnVmZmVyX2RpcnR5KGJoKTsKKwkJc2V0X2J1ZmZlcl91cHRvZGF0ZShiaCk7CisJCW1wYWdlX2FkZF9iaF90b19leHRlbnQobXBkLCBsb2dpY2FsLCBiaCk7CisJfSBlbHNlIHsKKwkJLyoKKwkJICogUGFnZSB3aXRoIHJlZ3VsYXIgYnVmZmVyIGhlYWRzLCBqdXN0IGFkZCBhbGwgZGlydHkgb25lcworCQkgKi8KKwkJaGVhZCA9IHBhZ2VfYnVmZmVycyhwYWdlKTsKKwkJYmggPSBoZWFkOworCQlkbyB7CisJCQlCVUdfT04oYnVmZmVyX2xvY2tlZChiaCkpOworCQkJaWYgKGJ1ZmZlcl9kaXJ0eShiaCkpCisJCQkJbXBhZ2VfYWRkX2JoX3RvX2V4dGVudChtcGQsIGxvZ2ljYWwsIGJoKTsKKwkJCWxvZ2ljYWwrKzsKKwkJfSB3aGlsZSAoKGJoID0gYmgtPmJfdGhpc19wYWdlKSAhPSBoZWFkKTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIG1wYWdlX2RhX3dyaXRlcGFnZXMgLSB3YWxrIHRoZSBsaXN0IG9mIGRpcnR5IHBhZ2VzIG9mIHRoZSBnaXZlbgorICogYWRkcmVzcyBzcGFjZSwgYWxsb2NhdGVzIG5vbi1hbGxvY2F0ZWQgYmxvY2tzLCBtYXBzIG5ld2x5LWFsbG9jYXRlZAorICogYmxvY2tzIHRvIGV4aXN0aW5nIGJocyBhbmQgaXNzdWUgSU8gdGhlbQorICoKKyAqIEBtYXBwaW5nOiBhZGRyZXNzIHNwYWNlIHN0cnVjdHVyZSB0byB3cml0ZQorICogQHdiYzogc3VidHJhY3QgdGhlIG51bWJlciBvZiB3cml0dGVuIHBhZ2VzIGZyb20gKkB3YmMtPm5yX3RvX3dyaXRlCisgKiBAZ2V0X2Jsb2NrOiB0aGUgZmlsZXN5c3RlbSdzIGJsb2NrIG1hcHBlciBmdW5jdGlvbi4KKyAqCisgKiBUaGlzIGlzIGEgbGlicmFyeSBmdW5jdGlvbiwgd2hpY2ggaW1wbGVtZW50cyB0aGUgd3JpdGVwYWdlcygpCisgKiBhZGRyZXNzX3NwYWNlX29wZXJhdGlvbi4KKyAqCisgKiBJbiBvcmRlciB0byBhdm9pZCBkdXBsaWNhdGlvbiBvZiBsb2dpYyB0aGF0IGRlYWxzIHdpdGggcGFydGlhbCBwYWdlcywKKyAqIG11bHRpcGxlIGJpbyBwZXIgcGFnZSwgZXRjLCB3ZSBmaW5kIG5vbi1hbGxvY2F0ZWQgYmxvY2tzLCBhbGxvY2F0ZQorICogdGhlbSB3aXRoIG1pbmltYWwgY2FsbHMgdG8gLT5nZXRfYmxvY2soKSBhbmQgcmUtdXNlIF9fbXBhZ2Vfd3JpdGVwYWdlKCkKKyAqCisgKiBJdCdzIGltcG9ydGFudCB0aGF0IHdlIGNhbGwgX19tcGFnZV93cml0ZXBhZ2UoKSBvbmx5IG9uY2UgZm9yIGVhY2gKKyAqIGludm9sdmVkIHBhZ2UsIG90aGVyd2lzZSB3ZSdkIGhhdmUgdG8gaW1wbGVtZW50IG1vcmUgY29tcGxpY2F0ZWQgbG9naWMKKyAqIHRvIGRlYWwgd2l0aCBwYWdlcyB3L28gUEdfbG9jayBvciB3LyBQR193cml0ZWJhY2sgYW5kIHNvIG9uLgorICoKKyAqIFNlZSBjb21tZW50cyB0byBtcGFnZV93cml0ZXBhZ2VzKCkKKyAqLworc3RhdGljIGludCBtcGFnZV9kYV93cml0ZXBhZ2VzKHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLAorCQkJICAgICAgIHN0cnVjdCB3cml0ZWJhY2tfY29udHJvbCAqd2JjLAorCQkJICAgICAgIGdldF9ibG9ja190IGdldF9ibG9jaykKK3sKKwlzdHJ1Y3QgbXBhZ2VfZGFfZGF0YSBtcGQ7CisJaW50IHJldDsKKworCWlmICghZ2V0X2Jsb2NrKQorCQlyZXR1cm4gZ2VuZXJpY193cml0ZXBhZ2VzKG1hcHBpbmcsIHdiYyk7CisKKwltcGQud2JjID0gd2JjOworCW1wZC5pbm9kZSA9IG1hcHBpbmctPmhvc3Q7CisJbXBkLmxiaC5iX3NpemUgPSAwOworCW1wZC5sYmguYl9zdGF0ZSA9IDA7CisJbXBkLmxiaC5iX2Jsb2NrbnIgPSAwOworCW1wZC5maXJzdF9wYWdlID0gMDsKKwltcGQubmV4dF9wYWdlID0gMDsKKwltcGQuZ2V0X2Jsb2NrID0gZ2V0X2Jsb2NrOworCisJcmV0ID0gd3JpdGVfY2FjaGVfcGFnZXMobWFwcGluZywgd2JjLCBfX21wYWdlX2RhX3dyaXRlcGFnZSwgJm1wZCk7CisKKwkvKgorCSAqIEhhbmRsZSBsYXN0IGV4dGVudCBvZiBwYWdlcworCSAqLworCWlmIChtcGQubmV4dF9wYWdlICE9IG1wZC5maXJzdF9wYWdlKSB7CisJCW1wYWdlX2RhX21hcF9ibG9ja3MoJm1wZCk7CisJCW1wYWdlX2RhX3N1Ym1pdF9pbygmbXBkKTsKKwl9CisKKwlyZXR1cm4gcmV0OworfQorCisvKgorICogdGhpcyBpcyBhIHNwZWNpYWwgY2FsbGJhY2sgZm9yIC0+d3JpdGVfYmVnaW4oKSBvbmx5CisgKiBpdCdzIGludGVudGlvbiBpcyB0byByZXR1cm4gbWFwcGVkIGJsb2NrIG9yIHJlc2VydmUgc3BhY2UKKyAqLworc3RhdGljIGludCBleHQ0X2RhX2dldF9ibG9ja19wcmVwKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHNlY3Rvcl90IGlibG9jaywKKwkJCQkgIHN0cnVjdCBidWZmZXJfaGVhZCAqYmhfcmVzdWx0LCBpbnQgY3JlYXRlKQoreworCWludCByZXQgPSAwOworCisJQlVHX09OKGNyZWF0ZSA9PSAwKTsKKwlCVUdfT04oYmhfcmVzdWx0LT5iX3NpemUgIT0gaW5vZGUtPmlfc2ItPnNfYmxvY2tzaXplKTsKKworCS8qCisJICogZmlyc3QsIHdlIG5lZWQgdG8ga25vdyB3aGV0aGVyIHRoZSBibG9jayBpcyBhbGxvY2F0ZWQgYWxyZWFkeQorCSAqIHByZWFsbG9jYXRlZCBibG9ja3MgYXJlIHVubWFwcGVkIGJ1dCBzaG91bGQgdHJlYXRlZAorCSAqIHRoZSBzYW1lIGFzIGFsbG9jYXRlZCBibG9ja3MuCisJICovCisJcmV0ID0gZXh0NF9nZXRfYmxvY2tzX3dyYXAoTlVMTCwgaW5vZGUsIGlibG9jaywgMSwgIGJoX3Jlc3VsdCwgMCwgMCwgMCk7CisJaWYgKChyZXQgPT0gMCkgJiYgIWJ1ZmZlcl9kZWxheShiaF9yZXN1bHQpKSB7CisJCS8qIHRoZSBibG9jayBpc24ndCAocHJlKWFsbG9jYXRlZCB5ZXQsIGxldCdzIHJlc2VydmUgc3BhY2UgKi8KKwkJLyoKKwkJICogWFhYOiBfX2Jsb2NrX3ByZXBhcmVfd3JpdGUoKSB1bm1hcHMgcGFzc2VkIGJsb2NrLAorCQkgKiBpcyBpdCBPSz8KKwkJICovCisJCXJldCA9IGV4dDRfZGFfcmVzZXJ2ZV9zcGFjZShpbm9kZSwgMSk7CisJCWlmIChyZXQpCisJCQkvKiBub3QgZW5vdWdoIHNwYWNlIHRvIHJlc2VydmUgKi8KKwkJCXJldHVybiByZXQ7CisKKwkJbWFwX2JoKGJoX3Jlc3VsdCwgaW5vZGUtPmlfc2IsIDApOworCQlzZXRfYnVmZmVyX25ldyhiaF9yZXN1bHQpOworCQlzZXRfYnVmZmVyX2RlbGF5KGJoX3Jlc3VsdCk7CisJfSBlbHNlIGlmIChyZXQgPiAwKSB7CisJCWJoX3Jlc3VsdC0+Yl9zaXplID0gKHJldCA8PCBpbm9kZS0+aV9ibGtiaXRzKTsKKwkJcmV0ID0gMDsKKwl9CisKKwlyZXR1cm4gcmV0OworfQorI2RlZmluZQkJRVhUNF9ERUxBTExPQ19SU1ZFRAkxCitzdGF0aWMgaW50IGV4dDRfZGFfZ2V0X2Jsb2NrX3dyaXRlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHNlY3Rvcl90IGlibG9jaywKKwkJCQkgICBzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoX3Jlc3VsdCwgaW50IGNyZWF0ZSkKK3sKKwlpbnQgcmV0OworCXVuc2lnbmVkIG1heF9ibG9ja3MgPSBiaF9yZXN1bHQtPmJfc2l6ZSA+PiBpbm9kZS0+aV9ibGtiaXRzOworCWxvZmZfdCBkaXNrc2l6ZSA9IEVYVDRfSShpbm9kZSktPmlfZGlza3NpemU7CisJaGFuZGxlX3QgKmhhbmRsZSA9IE5VTEw7CisKKwloYW5kbGUgPSBleHQ0X2pvdXJuYWxfY3VycmVudF9oYW5kbGUoKTsKKwlpZiAoIWhhbmRsZSkgeworCQlyZXQgPSBleHQ0X2dldF9ibG9ja3Nfd3JhcChoYW5kbGUsIGlub2RlLCBpYmxvY2ssIG1heF9ibG9ja3MsCisJCQkJICAgYmhfcmVzdWx0LCAwLCAwLCAwKTsKKwkJQlVHX09OKCFyZXQpOworCX0gZWxzZSB7CisJCXJldCA9IGV4dDRfZ2V0X2Jsb2Nrc193cmFwKGhhbmRsZSwgaW5vZGUsIGlibG9jaywgbWF4X2Jsb2NrcywKKwkJCQkgICBiaF9yZXN1bHQsIGNyZWF0ZSwgMCwgRVhUNF9ERUxBTExPQ19SU1ZFRCk7CisJfQorCisJaWYgKHJldCA+IDApIHsKKwkJYmhfcmVzdWx0LT5iX3NpemUgPSAocmV0IDw8IGlub2RlLT5pX2Jsa2JpdHMpOworCisJCS8qCisJCSAqIFVwZGF0ZSBvbi1kaXNrIHNpemUgYWxvbmcgd2l0aCBibG9jayBhbGxvY2F0aW9uCisJCSAqIHdlIGRvbid0IHVzZSAnZXh0ZW5kX2Rpc2tzaXplJyBhcyBzaXplIG1heSBjaGFuZ2UKKwkJICogd2l0aGluIGFscmVhZHkgYWxsb2NhdGVkIGJsb2NrIC1ienp6CisJCSAqLworCQlkaXNrc2l6ZSA9ICgobG9mZl90KSBpYmxvY2sgKyByZXQpIDw8IGlub2RlLT5pX2Jsa2JpdHM7CisJCWlmIChkaXNrc2l6ZSA+IGlfc2l6ZV9yZWFkKGlub2RlKSkKKwkJCWRpc2tzaXplID0gaV9zaXplX3JlYWQoaW5vZGUpOworCQlpZiAoZGlza3NpemUgPiBFWFQ0X0koaW5vZGUpLT5pX2Rpc2tzaXplKSB7CisJCQkvKgorCQkJICogWFhYOiByZXBsYWNlIHdpdGggc3BpbmxvY2sgaWYgc2VlbiBjb250ZW5kZWQgLWJ6enoKKwkJCSAqLworCQkJZG93bl93cml0ZSgmRVhUNF9JKGlub2RlKS0+aV9kYXRhX3NlbSk7CisJCQlpZiAoZGlza3NpemUgPiBFWFQ0X0koaW5vZGUpLT5pX2Rpc2tzaXplKQorCQkJCUVYVDRfSShpbm9kZSktPmlfZGlza3NpemUgPSBkaXNrc2l6ZTsKKwkJCXVwX3dyaXRlKCZFWFQ0X0koaW5vZGUpLT5pX2RhdGFfc2VtKTsKKworCQkJaWYgKEVYVDRfSShpbm9kZSktPmlfZGlza3NpemUgPT0gZGlza3NpemUpIHsKKwkJCQlyZXQgPSBleHQ0X21hcmtfaW5vZGVfZGlydHkoaGFuZGxlLCBpbm9kZSk7CisJCQkJcmV0dXJuIHJldDsKKwkJCX0KKwkJfQorCQlyZXQgPSAwOworCX0KKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IGV4dDRfYmhfdW5tYXBwZWRfb3JfZGVsYXkoaGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IGJ1ZmZlcl9oZWFkICpiaCkKK3sKKwkvKgorCSAqIHVubWFwcGVkIGJ1ZmZlciBpcyBwb3NzaWJsZSBmb3IgaG9sZXMuCisJICogZGVsYXkgYnVmZmVyIGlzIHBvc3NpYmxlIHdpdGggZGVsYXllZCBhbGxvY2F0aW9uCisJICovCisJcmV0dXJuICgoIWJ1ZmZlcl9tYXBwZWQoYmgpIHx8IGJ1ZmZlcl9kZWxheShiaCkpICYmIGJ1ZmZlcl9kaXJ0eShiaCkpOworfQorCitzdGF0aWMgaW50IGV4dDRfbm9ybWFsX2dldF9ibG9ja193cml0ZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzZWN0b3JfdCBpYmxvY2ssCisJCQkJICAgc3RydWN0IGJ1ZmZlcl9oZWFkICpiaF9yZXN1bHQsIGludCBjcmVhdGUpCit7CisJaW50IHJldCA9IDA7CisJdW5zaWduZWQgbWF4X2Jsb2NrcyA9IGJoX3Jlc3VsdC0+Yl9zaXplID4+IGlub2RlLT5pX2Jsa2JpdHM7CisKKwkvKgorCSAqIHdlIGRvbid0IHdhbnQgdG8gZG8gYmxvY2sgYWxsb2NhdGlvbiBpbiB3cml0ZXBhZ2UKKwkgKiBzbyBjYWxsIGdldF9ibG9ja193cmFwIHdpdGggY3JlYXRlID0gMAorCSAqLworCXJldCA9IGV4dDRfZ2V0X2Jsb2Nrc193cmFwKE5VTEwsIGlub2RlLCBpYmxvY2ssIG1heF9ibG9ja3MsCisJCQkJICAgYmhfcmVzdWx0LCAwLCAwLCAwKTsKKwlpZiAocmV0ID4gMCkgeworCQliaF9yZXN1bHQtPmJfc2l6ZSA9IChyZXQgPDwgaW5vZGUtPmlfYmxrYml0cyk7CisJCXJldCA9IDA7CisJfQorCXJldHVybiByZXQ7Cit9CisKKy8qCisgKiBnZXQgY2FsbGVkIHZpIGV4dDRfZGFfd3JpdGVwYWdlcyBhZnRlciB0YWtpbmcgcGFnZSBsb2NrIChoYXZlIGpvdXJuYWwgaGFuZGxlKQorICogZ2V0IGNhbGxlZCB2aWEgam91cm5hbF9zdWJtaXRfaW5vZGVfZGF0YV9idWZmZXJzIChubyBqb3VybmFsIGhhbmRsZSkKKyAqIGdldCBjYWxsZWQgdmlhIHNocmlua19wYWdlX2xpc3QgdmlhIHBkZmx1c2ggKG5vIGpvdXJuYWwgaGFuZGxlKQorICogb3IgZ3JhYl9wYWdlX2NhY2hlIHdoZW4gZG9pbmcgd3JpdGVfYmVnaW4gKGhhdmUgam91cm5hbCBoYW5kbGUpCisgKi8KK3N0YXRpYyBpbnQgZXh0NF9kYV93cml0ZXBhZ2Uoc3RydWN0IHBhZ2UgKnBhZ2UsCisJCQkJc3RydWN0IHdyaXRlYmFja19jb250cm9sICp3YmMpCit7CisJaW50IHJldCA9IDA7CisJbG9mZl90IHNpemU7CisJdW5zaWduZWQgbG9uZyBsZW47CisJc3RydWN0IGJ1ZmZlcl9oZWFkICpwYWdlX2J1ZnM7CisJc3RydWN0IGlub2RlICppbm9kZSA9IHBhZ2UtPm1hcHBpbmctPmhvc3Q7CisKKwlzaXplID0gaV9zaXplX3JlYWQoaW5vZGUpOworCWlmIChwYWdlLT5pbmRleCA9PSBzaXplID4+IFBBR0VfQ0FDSEVfU0hJRlQpCisJCWxlbiA9IHNpemUgJiB+UEFHRV9DQUNIRV9NQVNLOworCWVsc2UKKwkJbGVuID0gUEFHRV9DQUNIRV9TSVpFOworCisJaWYgKHBhZ2VfaGFzX2J1ZmZlcnMocGFnZSkpIHsKKwkJcGFnZV9idWZzID0gcGFnZV9idWZmZXJzKHBhZ2UpOworCQlpZiAod2Fsa19wYWdlX2J1ZmZlcnMoTlVMTCwgcGFnZV9idWZzLCAwLCBsZW4sIE5VTEwsCisJCQkJCWV4dDRfYmhfdW5tYXBwZWRfb3JfZGVsYXkpKSB7CisJCQkvKgorCQkJICogV2UgZG9uJ3Qgd2FudCB0byBkbyAgYmxvY2sgYWxsb2NhdGlvbgorCQkJICogU28gcmVkaXJ0eSB0aGUgcGFnZSBhbmQgcmV0dXJuCisJCQkgKiBXZSBtYXkgcmVhY2ggaGVyZSB3aGVuIHdlIGRvIGEgam91cm5hbCBjb21taXQKKwkJCSAqIHZpYSBqb3VybmFsX3N1Ym1pdF9pbm9kZV9kYXRhX2J1ZmZlcnMuCisJCQkgKiBJZiB3ZSBkb24ndCBoYXZlIG1hcHBpbmcgYmxvY2sgd2UganVzdCBpZ25vcmUKKwkJCSAqIHRoZW0uIFdlIGNhbiBhbHNvIHJlYWNoIGhlcmUgdmlhIHNocmlua19wYWdlX2xpc3QKKwkJCSAqLworCQkJcmVkaXJ0eV9wYWdlX2Zvcl93cml0ZXBhZ2Uod2JjLCBwYWdlKTsKKwkJCXVubG9ja19wYWdlKHBhZ2UpOworCQkJcmV0dXJuIDA7CisJCX0KKwl9IGVsc2UgeworCQkvKgorCQkgKiBUaGUgdGVzdCBmb3IgcGFnZV9oYXNfYnVmZmVycygpIGlzIHN1YnRsZToKKwkJICogV2Uga25vdyB0aGUgcGFnZSBpcyBkaXJ0eSBidXQgaXQgbG9zdCBidWZmZXJzLiBUaGF0IG1lYW5zCisJCSAqIHRoYXQgYXQgc29tZSBtb21lbnQgaW4gdGltZSBhZnRlciB3cml0ZV9iZWdpbigpL3dyaXRlX2VuZCgpCisJCSAqIGhhcyBiZWVuIGNhbGxlZCBhbGwgYnVmZmVycyBoYXZlIGJlZW4gY2xlYW4gYW5kIHRodXMgdGhleQorCQkgKiBtdXN0IGhhdmUgYmVlbiB3cml0dGVuIGF0IGxlYXN0IG9uY2UuIFNvIHRoZXkgYXJlIGFsbAorCQkgKiBtYXBwZWQgYW5kIHdlIGNhbiBoYXBwaWx5IHByb2NlZWQgd2l0aCBtYXBwaW5nIHRoZW0KKwkJICogYW5kIHdyaXRpbmcgdGhlIHBhZ2UuCisJCSAqCisJCSAqIFRyeSB0byBpbml0aWFsaXplIHRoZSBidWZmZXJfaGVhZHMgYW5kIGNoZWNrIHdoZXRoZXIKKwkJICogYWxsIGFyZSBtYXBwZWQgYW5kIG5vbiBkZWxheS4gV2UgZG9uJ3Qgd2FudCB0bworCQkgKiBkbyBibG9jayBhbGxvY2F0aW9uIGhlcmUuCisJCSAqLworCQlyZXQgPSBibG9ja19wcmVwYXJlX3dyaXRlKHBhZ2UsIDAsIFBBR0VfQ0FDSEVfU0laRSwKKwkJCQkJCWV4dDRfbm9ybWFsX2dldF9ibG9ja193cml0ZSk7CisJCWlmICghcmV0KSB7CisJCQlwYWdlX2J1ZnMgPSBwYWdlX2J1ZmZlcnMocGFnZSk7CisJCQkvKiBjaGVjayB3aGV0aGVyIGFsbCBhcmUgbWFwcGVkIGFuZCBub24gZGVsYXkgKi8KKwkJCWlmICh3YWxrX3BhZ2VfYnVmZmVycyhOVUxMLCBwYWdlX2J1ZnMsIDAsIGxlbiwgTlVMTCwKKwkJCQkJCWV4dDRfYmhfdW5tYXBwZWRfb3JfZGVsYXkpKSB7CisJCQkJcmVkaXJ0eV9wYWdlX2Zvcl93cml0ZXBhZ2Uod2JjLCBwYWdlKTsKKwkJCQl1bmxvY2tfcGFnZShwYWdlKTsKKwkJCQlyZXR1cm4gMDsKKwkJCX0KKwkJfSBlbHNlIHsKKwkJCS8qCisJCQkgKiBXZSBjYW4ndCBkbyBibG9jayBhbGxvY2F0aW9uIGhlcmUKKwkJCSAqIHNvIGp1c3QgcmVkaXR5IHRoZSBwYWdlIGFuZCB1bmxvY2sKKwkJCSAqIGFuZCByZXR1cm4KKwkJCSAqLworCQkJcmVkaXJ0eV9wYWdlX2Zvcl93cml0ZXBhZ2Uod2JjLCBwYWdlKTsKKwkJCXVubG9ja19wYWdlKHBhZ2UpOworCQkJcmV0dXJuIDA7CisJCX0KKwl9CisKKwlpZiAodGVzdF9vcHQoaW5vZGUtPmlfc2IsIE5PQkgpICYmIGV4dDRfc2hvdWxkX3dyaXRlYmFja19kYXRhKGlub2RlKSkKKwkJcmV0ID0gbm9iaF93cml0ZXBhZ2UocGFnZSwgZXh0NF9ub3JtYWxfZ2V0X2Jsb2NrX3dyaXRlLCB3YmMpOworCWVsc2UKKwkJcmV0ID0gYmxvY2tfd3JpdGVfZnVsbF9wYWdlKHBhZ2UsCisJCQkJCQlleHQ0X25vcm1hbF9nZXRfYmxvY2tfd3JpdGUsCisJCQkJCQl3YmMpOworCisJcmV0dXJuIHJldDsKK30KKworLyoKKyAqIEZvciBub3cganVzdCBmb2xsb3cgdGhlIERJTyB3YXkgdG8gZXN0aW1hdGUgdGhlIG1heCBjcmVkaXRzCisgKiBuZWVkZWQgdG8gd3JpdGUgb3V0IEVYVDRfTUFYX1dSSVRFQkFDS19QQUdFUy4KKyAqIHRvZG86IG5lZWQgdG8gY2FsY3VsYXRlIHRoZSBtYXggY3JlZGl0cyBuZWVkIGZvcgorICogZXh0ZW50IGJhc2VkIGZpbGVzLCBjdXJyZW50bHkgdGhlIERJTyBjcmVkaXRzIGlzIGJhc2VkIG9uCisgKiBpbmRpcmVjdC1ibG9ja3MgbWFwcGluZyB3YXkuCisgKgorICogUHJvYmFibHkgc2hvdWxkIGhhdmUgYSBnZW5lcmljIHdheSB0byBjYWxjdWxhdGUgY3JlZGl0cworICogZm9yIERJTywgd3JpdGVwYWdlcywgYW5kIHRydW5jYXRlCisgKi8KKyNkZWZpbmUgRVhUNF9NQVhfV1JJVEVCQUNLX1BBR0VTICAgICAgRElPX01BWF9CTE9DS1MKKyNkZWZpbmUgRVhUNF9NQVhfV1JJVEVCQUNLX0NSRURJVFMgICAgRElPX0NSRURJVFMKKworc3RhdGljIGludCBleHQ0X2RhX3dyaXRlcGFnZXMoc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsCisJCQkJc3RydWN0IHdyaXRlYmFja19jb250cm9sICp3YmMpCit7CisJc3RydWN0IGlub2RlICppbm9kZSA9IG1hcHBpbmctPmhvc3Q7CisJaGFuZGxlX3QgKmhhbmRsZSA9IE5VTEw7CisJaW50IG5lZWRlZF9ibG9ja3M7CisJaW50IHJldCA9IDA7CisJbG9uZyB0b193cml0ZTsKKwlsb2ZmX3QgcmFuZ2Vfc3RhcnQgPSAwOworCisJLyoKKwkgKiBObyBwYWdlcyB0byB3cml0ZT8gVGhpcyBpcyBtYWlubHkgYSBrbHVkZ2UgdG8gYXZvaWQgc3RhcnRpbmcKKwkgKiBhIHRyYW5zYWN0aW9uIGZvciBzcGVjaWFsIGlub2RlcyBsaWtlIGpvdXJuYWwgaW5vZGUgb24gbGFzdCBpcHV0KCkKKwkgKiBiZWNhdXNlIHRoYXQgY291bGQgdmlvbGF0ZSBsb2NrIG9yZGVyaW5nIG9uIHVtb3VudAorCSAqLworCWlmICghbWFwcGluZy0+bnJwYWdlcykKKwkJcmV0dXJuIDA7CisKKwkvKgorCSAqIEVzdGltYXRlIHRoZSB3b3JzZSBjYXNlIG5lZWRlZCBjcmVkaXRzIHRvIHdyaXRlIG91dAorCSAqIEVYVDRfTUFYX0JVRl9CTE9DS1MgcGFnZXMKKwkgKi8KKwluZWVkZWRfYmxvY2tzID0gRVhUNF9NQVhfV1JJVEVCQUNLX0NSRURJVFM7CisKKwl0b193cml0ZSA9IHdiYy0+bnJfdG9fd3JpdGU7CisJaWYgKCF3YmMtPnJhbmdlX2N5Y2xpYykgeworCQkvKgorCQkgKiBJZiByYW5nZV9jeWNsaWMgaXMgbm90IHNldCBmb3JjZSByYW5nZV9jb250CisJCSAqIGFuZCBzYXZlIHRoZSBvbGQgd3JpdGViYWNrX2luZGV4CisJCSAqLworCQl3YmMtPnJhbmdlX2NvbnQgPSAxOworCQlyYW5nZV9zdGFydCA9ICB3YmMtPnJhbmdlX3N0YXJ0OworCX0KKworCXdoaWxlICghcmV0ICYmIHRvX3dyaXRlKSB7CisJCS8qIHN0YXJ0IGEgbmV3IHRyYW5zYWN0aW9uKi8KKwkJaGFuZGxlID0gZXh0NF9qb3VybmFsX3N0YXJ0KGlub2RlLCBuZWVkZWRfYmxvY2tzKTsKKwkJaWYgKElTX0VSUihoYW5kbGUpKSB7CisJCQlyZXQgPSBQVFJfRVJSKGhhbmRsZSk7CisJCQlnb3RvIG91dF93cml0ZXBhZ2VzOworCQl9CisJCWlmIChleHQ0X3Nob3VsZF9vcmRlcl9kYXRhKGlub2RlKSkgeworCQkJLyoKKwkJCSAqIFdpdGggb3JkZXJlZCBtb2RlIHdlIG5lZWQgdG8gYWRkCisJCQkgKiB0aGUgaW5vZGUgdG8gdGhlIGpvdXJuYWwgaGFuZGxlCisJCQkgKiB3aGVuIHdlIGRvIGJsb2NrIGFsbG9jYXRpb24uCisJCQkgKi8KKwkJCXJldCA9IGV4dDRfamJkMl9maWxlX2lub2RlKGhhbmRsZSwgaW5vZGUpOworCQkJaWYgKHJldCkgeworCQkJCWV4dDRfam91cm5hbF9zdG9wKGhhbmRsZSk7CisJCQkJZ290byBvdXRfd3JpdGVwYWdlczsKKwkJCX0KKworCQl9CisJCS8qCisJCSAqIHNldCB0aGUgbWF4IGRpcnR5IHBhZ2VzIGNvdWxkIGJlIHdyaXRlIGF0IGEgdGltZQorCQkgKiB0byBmaXQgaW50byB0aGUgcmVzZXJ2ZWQgdHJhbnNhY3Rpb24gY3JlZGl0cworCQkgKi8KKwkJaWYgKHdiYy0+bnJfdG9fd3JpdGUgPiBFWFQ0X01BWF9XUklURUJBQ0tfUEFHRVMpCisJCQl3YmMtPm5yX3RvX3dyaXRlID0gRVhUNF9NQVhfV1JJVEVCQUNLX1BBR0VTOworCisJCXRvX3dyaXRlIC09IHdiYy0+bnJfdG9fd3JpdGU7CisJCXJldCA9IG1wYWdlX2RhX3dyaXRlcGFnZXMobWFwcGluZywgd2JjLAorCQkJCQkJZXh0NF9kYV9nZXRfYmxvY2tfd3JpdGUpOworCQlleHQ0X2pvdXJuYWxfc3RvcChoYW5kbGUpOworCQlpZiAod2JjLT5ucl90b193cml0ZSkgeworCQkJLyoKKwkJCSAqIFRoZXJlIGlzIG5vIG1vcmUgd3JpdGVvdXQgbmVlZGVkCisJCQkgKiBvciB3ZSByZXF1ZXN0ZWQgZm9yIGEgbm9ibG9ja2luZyB3cml0ZW91dAorCQkJICogYW5kIHdlIGZvdW5kIHRoZSBkZXZpY2UgY29uZ2VzdGVkCisJCQkgKi8KKwkJCXRvX3dyaXRlICs9IHdiYy0+bnJfdG9fd3JpdGU7CisJCQlicmVhazsKKwkJfQorCQl3YmMtPm5yX3RvX3dyaXRlID0gdG9fd3JpdGU7CisJfQorCitvdXRfd3JpdGVwYWdlczoKKwl3YmMtPm5yX3RvX3dyaXRlID0gdG9fd3JpdGU7CisJaWYgKHJhbmdlX3N0YXJ0KQorCQl3YmMtPnJhbmdlX3N0YXJ0ID0gcmFuZ2Vfc3RhcnQ7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBleHQ0X2RhX3dyaXRlX2JlZ2luKHN0cnVjdCBmaWxlICpmaWxlLCBzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywKKwkJCQlsb2ZmX3QgcG9zLCB1bnNpZ25lZCBsZW4sIHVuc2lnbmVkIGZsYWdzLAorCQkJCXN0cnVjdCBwYWdlICoqcGFnZXAsIHZvaWQgKipmc2RhdGEpCit7CisJaW50IHJldCwgcmV0cmllcyA9IDA7CisJc3RydWN0IHBhZ2UgKnBhZ2U7CisJcGdvZmZfdCBpbmRleDsKKwl1bnNpZ25lZCBmcm9tLCB0bzsKKwlzdHJ1Y3QgaW5vZGUgKmlub2RlID0gbWFwcGluZy0+aG9zdDsKKwloYW5kbGVfdCAqaGFuZGxlOworCisJaW5kZXggPSBwb3MgPj4gUEFHRV9DQUNIRV9TSElGVDsKKwlmcm9tID0gcG9zICYgKFBBR0VfQ0FDSEVfU0laRSAtIDEpOworCXRvID0gZnJvbSArIGxlbjsKKworcmV0cnk6CisJLyoKKwkgKiBXaXRoIGRlbGF5ZWQgYWxsb2NhdGlvbiwgd2UgZG9uJ3QgbG9nIHRoZSBpX2Rpc2tzaXplIHVwZGF0ZQorCSAqIGlmIHRoZXJlIGlzIGRlbGF5ZWQgYmxvY2sgYWxsb2NhdGlvbi4gQnV0IHdlIHN0aWxsIG5lZWQKKwkgKiB0byBqb3VybmFsbGluZyB0aGUgaV9kaXNrc2l6ZSB1cGRhdGUgaWYgd3JpdGVzIHRvIHRoZSBlbmQKKwkgKiBvZiBmaWxlIHdoaWNoIGhhcyBhbiBhbHJlYWR5IG1hcHBlZCBidWZmZXIuCisJICovCisJaGFuZGxlID0gZXh0NF9qb3VybmFsX3N0YXJ0KGlub2RlLCAxKTsKKwlpZiAoSVNfRVJSKGhhbmRsZSkpIHsKKwkJcmV0ID0gUFRSX0VSUihoYW5kbGUpOworCQlnb3RvIG91dDsKKwl9CisKKwlwYWdlID0gX19ncmFiX2NhY2hlX3BhZ2UobWFwcGluZywgaW5kZXgpOworCWlmICghcGFnZSkKKwkJcmV0dXJuIC1FTk9NRU07CisJKnBhZ2VwID0gcGFnZTsKKworCXJldCA9IGJsb2NrX3dyaXRlX2JlZ2luKGZpbGUsIG1hcHBpbmcsIHBvcywgbGVuLCBmbGFncywgcGFnZXAsIGZzZGF0YSwKKwkJCQkJCQlleHQ0X2RhX2dldF9ibG9ja19wcmVwKTsKKwlpZiAocmV0IDwgMCkgeworCQl1bmxvY2tfcGFnZShwYWdlKTsKKwkJZXh0NF9qb3VybmFsX3N0b3AoaGFuZGxlKTsKKwkJcGFnZV9jYWNoZV9yZWxlYXNlKHBhZ2UpOworCX0KKworCWlmIChyZXQgPT0gLUVOT1NQQyAmJiBleHQ0X3Nob3VsZF9yZXRyeV9hbGxvYyhpbm9kZS0+aV9zYiwgJnJldHJpZXMpKQorCQlnb3RvIHJldHJ5Oworb3V0OgorCXJldHVybiByZXQ7Cit9CisKKy8qCisgKiBDaGVjayBpZiB3ZSBzaG91bGQgdXBkYXRlIGlfZGlza3NpemUKKyAqIHdoZW4gd3JpdGUgdG8gdGhlIGVuZCBvZiBmaWxlIGJ1dCBub3QgcmVxdWlyZSBibG9jayBhbGxvY2F0aW9uCisgKi8KK3N0YXRpYyBpbnQgZXh0NF9kYV9zaG91bGRfdXBkYXRlX2lfZGlza3NpemUoc3RydWN0IHBhZ2UgKnBhZ2UsCisJCQkJCSB1bnNpZ25lZCBsb25nIG9mZnNldCkKK3sKKwlzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoOworCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBwYWdlLT5tYXBwaW5nLT5ob3N0OworCXVuc2lnbmVkIGludCBpZHg7CisJaW50IGk7CisKKwliaCA9IHBhZ2VfYnVmZmVycyhwYWdlKTsKKwlpZHggPSBvZmZzZXQgPj4gaW5vZGUtPmlfYmxrYml0czsKKworCWZvciAoaT0wOyBpIDwgaWR4OyBpKyspCisJCWJoID0gYmgtPmJfdGhpc19wYWdlOworCisJaWYgKCFidWZmZXJfbWFwcGVkKGJoKSB8fCAoYnVmZmVyX2RlbGF5KGJoKSkpCisJCXJldHVybiAwOworCXJldHVybiAxOworfQorCitzdGF0aWMgaW50IGV4dDRfZGFfd3JpdGVfZW5kKHN0cnVjdCBmaWxlICpmaWxlLAorCQkJCXN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLAorCQkJCWxvZmZfdCBwb3MsIHVuc2lnbmVkIGxlbiwgdW5zaWduZWQgY29waWVkLAorCQkJCXN0cnVjdCBwYWdlICpwYWdlLCB2b2lkICpmc2RhdGEpCit7CisJc3RydWN0IGlub2RlICppbm9kZSA9IG1hcHBpbmctPmhvc3Q7CisJaW50IHJldCA9IDAsIHJldDI7CisJaGFuZGxlX3QgKmhhbmRsZSA9IGV4dDRfam91cm5hbF9jdXJyZW50X2hhbmRsZSgpOworCWxvZmZfdCBuZXdfaV9zaXplOworCXVuc2lnbmVkIGxvbmcgc3RhcnQsIGVuZDsKKworCXN0YXJ0ID0gcG9zICYgKFBBR0VfQ0FDSEVfU0laRSAtIDEpOworCWVuZCA9IHN0YXJ0ICsgY29waWVkIC0xOworCisJLyoKKwkgKiBnZW5lcmljX3dyaXRlX2VuZCgpIHdpbGwgcnVuIG1hcmtfaW5vZGVfZGlydHkoKSBpZiBpX3NpemUKKwkgKiBjaGFuZ2VzLiAgU28gbGV0J3MgcGlnZ3liYWNrIHRoZSBpX2Rpc2tzaXplIG1hcmtfaW5vZGVfZGlydHkKKwkgKiBpbnRvIHRoYXQuCisJICovCisKKwluZXdfaV9zaXplID0gcG9zICsgY29waWVkOworCWlmIChuZXdfaV9zaXplID4gRVhUNF9JKGlub2RlKS0+aV9kaXNrc2l6ZSkgeworCQlpZiAoZXh0NF9kYV9zaG91bGRfdXBkYXRlX2lfZGlza3NpemUocGFnZSwgZW5kKSkgeworCQkJZG93bl93cml0ZSgmRVhUNF9JKGlub2RlKS0+aV9kYXRhX3NlbSk7CisJCQlpZiAobmV3X2lfc2l6ZSA+IEVYVDRfSShpbm9kZSktPmlfZGlza3NpemUpIHsKKwkJCQkvKgorCQkJCSAqIFVwZGF0aW5nIGlfZGlza3NpemUgd2hlbiBleHRlbmRpbmcgZmlsZQorCQkJCSAqIHdpdGhvdXQgbmVlZGluZyBibG9jayBhbGxvY2F0aW9uCisJCQkJICovCisJCQkJaWYgKGV4dDRfc2hvdWxkX29yZGVyX2RhdGEoaW5vZGUpKQorCQkJCQlyZXQgPSBleHQ0X2piZDJfZmlsZV9pbm9kZShoYW5kbGUsCisJCQkJCQkJCSAgIGlub2RlKTsKKworCQkJCUVYVDRfSShpbm9kZSktPmlfZGlza3NpemUgPSBuZXdfaV9zaXplOworCQkJfQorCQkJdXBfd3JpdGUoJkVYVDRfSShpbm9kZSktPmlfZGF0YV9zZW0pOworCQl9CisJfQorCXJldDIgPSBnZW5lcmljX3dyaXRlX2VuZChmaWxlLCBtYXBwaW5nLCBwb3MsIGxlbiwgY29waWVkLAorCQkJCQkJCXBhZ2UsIGZzZGF0YSk7CisJY29waWVkID0gcmV0MjsKKwlpZiAocmV0MiA8IDApCisJCXJldCA9IHJldDI7CisJcmV0MiA9IGV4dDRfam91cm5hbF9zdG9wKGhhbmRsZSk7CisJaWYgKCFyZXQpCisJCXJldCA9IHJldDI7CisKKwlyZXR1cm4gcmV0ID8gcmV0IDogY29waWVkOworfQorCitzdGF0aWMgdm9pZCBleHQ0X2RhX2ludmFsaWRhdGVwYWdlKHN0cnVjdCBwYWdlICpwYWdlLCB1bnNpZ25lZCBsb25nIG9mZnNldCkKK3sKKwkvKgorCSAqIERyb3AgcmVzZXJ2ZWQgYmxvY2tzCisJICovCisJQlVHX09OKCFQYWdlTG9ja2VkKHBhZ2UpKTsKKwlpZiAoIXBhZ2VfaGFzX2J1ZmZlcnMocGFnZSkpCisJCWdvdG8gb3V0OworCisJZXh0NF9kYV9wYWdlX3JlbGVhc2VfcmVzZXJ2YXRpb24ocGFnZSwgb2Zmc2V0KTsKKworb3V0OgorCWV4dDRfaW52YWxpZGF0ZXBhZ2UocGFnZSwgb2Zmc2V0KTsKKworCXJldHVybjsKK30KKwogCiAvKgogICogYm1hcCgpIGlzIHNwZWNpYWwuICBJdCBnZXRzIHVzZWQgYnkgYXBwbGljYXRpb25zIHN1Y2ggYXMgbGlsbyBhbmQgYnkKQEAgLTE0MTgsNiArMjQwOSwxNiBAQAogCWpvdXJuYWxfdCAqam91cm5hbDsKIAlpbnQgZXJyOwogCisJaWYgKG1hcHBpbmdfdGFnZ2VkKG1hcHBpbmcsIFBBR0VDQUNIRV9UQUdfRElSVFkpICYmCisJCQl0ZXN0X29wdChpbm9kZS0+aV9zYiwgREVMQUxMT0MpKSB7CisJCS8qCisJCSAqIFdpdGggZGVsYWxsb2Mgd2Ugd2FudCB0byBzeW5jIHRoZSBmaWxlCisJCSAqIHNvIHRoYXQgd2UgY2FuIG1ha2Ugc3VyZSB3ZSBhbGxvY2F0ZQorCQkgKiBibG9ja3MgZm9yIGZpbGUKKwkJICovCisJCWZpbGVtYXBfd3JpdGVfYW5kX3dhaXQobWFwcGluZyk7CisJfQorCiAJaWYgKEVYVDRfSShpbm9kZSktPmlfc3RhdGUgJiBFWFQ0X1NUQVRFX0pEQVRBKSB7CiAJCS8qCiAJCSAqIFRoaXMgaXMgYSBSRUFMTFkgaGVhdnl3ZWlnaHQgYXBwcm9hY2gsIGJ1dCB0aGUgdXNlIG9mCkBAIC0xNDYyLDIxICsyNDYzLDE3IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgamJkMl9qb3VybmFsX2RpcnR5X2RhdGFfZm4oaGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IGJ1ZmZlcl9oZWFkICpiaCkKLXsKLQlpZiAoYnVmZmVyX21hcHBlZChiaCkpCi0JCXJldHVybiBleHQ0X2pvdXJuYWxfZGlydHlfZGF0YShoYW5kbGUsIGJoKTsKLQlyZXR1cm4gMDsKLX0KLQogLyoKLSAqIE5vdGUgdGhhdCB3ZSBhbHdheXMgc3RhcnQgYSB0cmFuc2FjdGlvbiBldmVuIGlmIHdlJ3JlIG5vdCBqb3VybmFsbGluZwotICogZGF0YS4gIFRoaXMgaXMgdG8gcHJlc2VydmUgb3JkZXJpbmc6IGFueSBob2xlIGluc3RhbnRpYXRpb24gd2l0aGluCi0gKiBfX2Jsb2NrX3dyaXRlX2Z1bGxfcGFnZSAtPiBleHQ0X2dldF9ibG9jaygpIHNob3VsZCBiZSBqb3VybmFsbGVkCi0gKiBhbG9uZyB3aXRoIHRoZSBkYXRhIHNvIHdlIGRvbid0IGNyYXNoIGFuZCB0aGVuIGdldCBtZXRhZGF0YSB3aGljaAotICogcmVmZXJzIHRvIG9sZCBkYXRhLgorICogTm90ZSB0aGF0IHdlIGRvbid0IG5lZWQgdG8gc3RhcnQgYSB0cmFuc2FjdGlvbiB1bmxlc3Mgd2UncmUgam91cm5hbGluZyBkYXRhCisgKiBiZWNhdXNlIHdlIHNob3VsZCBoYXZlIGhvbGVzIGZpbGxlZCBmcm9tIGV4dDRfcGFnZV9ta3dyaXRlKCkuIFdlIGV2ZW4gZG9uJ3QKKyAqIG5lZWQgdG8gZmlsZSB0aGUgaW5vZGUgdG8gdGhlIHRyYW5zYWN0aW9uJ3MgbGlzdCBpbiBvcmRlcmVkIG1vZGUgYmVjYXVzZSBpZgorICogd2UgYXJlIHdyaXRpbmcgYmFjayBkYXRhIGFkZGVkIGJ5IHdyaXRlKCksIHRoZSBpbm9kZSBpcyBhbHJlYWR5IHRoZXJlIGFuZCBpZgorICogd2UgYXJlIHdyaXRpbmcgYmFjayBkYXRhIG1vZGlmaWVkIHZpYSBtbWFwKCksIG5vb25lIGd1YXJhbnRlZXMgaW4gd2hpY2gKKyAqIHRyYW5zYWN0aW9uIHRoZSBkYXRhIHdpbGwgaGl0IHRoZSBkaXNrLiBJbiBjYXNlIHdlIGFyZSBqb3VybmFsaW5nIGRhdGEsIHdlCisgKiBjYW5ub3Qgc3RhcnQgdHJhbnNhY3Rpb24gZGlyZWN0bHkgYmVjYXVzZSB0cmFuc2FjdGlvbiBzdGFydCByYW5rcyBhYm92ZSBwYWdlCisgKiBsb2NrIHNvIHdlIGhhdmUgdG8gZG8gc29tZSBtYWdpYy4KICAqCi0gKiBJbiBhbGwgam91cm5hbGxpbmcgbW9kZXMgYmxvY2tfd3JpdGVfZnVsbF9wYWdlKCkgd2lsbCBzdGFydCB0aGUgSS9PLgorICogSW4gYWxsIGpvdXJuYWxpbmcgbW9kZXMgYmxvY2tfd3JpdGVfZnVsbF9wYWdlKCkgd2lsbCBzdGFydCB0aGUgSS9PLgogICoKICAqIFByb2JsZW06CiAgKgpAQCAtMTUxOCwxMDUgKzI1MTUsMTAzIEBACiAgKiBkaXNhc3Ryb3VzLiAgQW55IHdyaXRlKCkgb3IgbWV0YWRhdGEgb3BlcmF0aW9uIHdpbGwgc3luYyB0aGUgZnMgZm9yCiAgKiB1cy4KICAqCi0gKiBBS1BNMjogaWYgYWxsIHRoZSBwYWdlJ3MgYnVmZmVycyBhcmUgbWFwcGVkIHRvIGRpc2sgYW5kICFkYXRhPWpvdXJuYWwsCi0gKiB3ZSBkb24ndCBuZWVkIHRvIG9wZW4gYSB0cmFuc2FjdGlvbiBoZXJlLgogICovCi1zdGF0aWMgaW50IGV4dDRfb3JkZXJlZF93cml0ZXBhZ2Uoc3RydWN0IHBhZ2UgKnBhZ2UsCitzdGF0aWMgaW50IF9fZXh0NF9ub3JtYWxfd3JpdGVwYWdlKHN0cnVjdCBwYWdlICpwYWdlLAogCQkJCXN0cnVjdCB3cml0ZWJhY2tfY29udHJvbCAqd2JjKQogewogCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBwYWdlLT5tYXBwaW5nLT5ob3N0OworCisJaWYgKHRlc3Rfb3B0KGlub2RlLT5pX3NiLCBOT0JIKSkKKwkJcmV0dXJuIG5vYmhfd3JpdGVwYWdlKHBhZ2UsCisJCQkJCWV4dDRfbm9ybWFsX2dldF9ibG9ja193cml0ZSwgd2JjKTsKKwllbHNlCisJCXJldHVybiBibG9ja193cml0ZV9mdWxsX3BhZ2UocGFnZSwKKwkJCQkJCWV4dDRfbm9ybWFsX2dldF9ibG9ja193cml0ZSwKKwkJCQkJCXdiYyk7Cit9CisKK3N0YXRpYyBpbnQgZXh0NF9ub3JtYWxfd3JpdGVwYWdlKHN0cnVjdCBwYWdlICpwYWdlLAorCQkJCXN0cnVjdCB3cml0ZWJhY2tfY29udHJvbCAqd2JjKQoreworCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBwYWdlLT5tYXBwaW5nLT5ob3N0OworCWxvZmZfdCBzaXplID0gaV9zaXplX3JlYWQoaW5vZGUpOworCWxvZmZfdCBsZW47CisKKwlKX0FTU0VSVChQYWdlTG9ja2VkKHBhZ2UpKTsKKwlpZiAocGFnZS0+aW5kZXggPT0gc2l6ZSA+PiBQQUdFX0NBQ0hFX1NISUZUKQorCQlsZW4gPSBzaXplICYgflBBR0VfQ0FDSEVfTUFTSzsKKwllbHNlCisJCWxlbiA9IFBBR0VfQ0FDSEVfU0laRTsKKworCWlmIChwYWdlX2hhc19idWZmZXJzKHBhZ2UpKSB7CisJCS8qIGlmIHBhZ2UgaGFzIGJ1ZmZlcnMgaXQgc2hvdWxkIGFsbCBiZSBtYXBwZWQKKwkJICogYW5kIGFsbG9jYXRlZC4gSWYgdGhlcmUgYXJlIG5vdCBidWZmZXJzIGF0dGFjaGVkCisJCSAqIHRvIHRoZSBwYWdlIHdlIGtub3cgdGhlIHBhZ2UgaXMgZGlydHkgYnV0IGl0IGxvc3QKKwkJICogYnVmZmVycy4gVGhhdCBtZWFucyB0aGF0IGF0IHNvbWUgbW9tZW50IGluIHRpbWUKKwkJICogYWZ0ZXIgd3JpdGVfYmVnaW4oKSAvIHdyaXRlX2VuZCgpIGhhcyBiZWVuIGNhbGxlZAorCQkgKiBhbGwgYnVmZmVycyBoYXZlIGJlZW4gY2xlYW4gYW5kIHRodXMgdGhleSBtdXN0IGhhdmUgYmVlbgorCQkgKiB3cml0dGVuIGF0IGxlYXN0IG9uY2UuIFNvIHRoZXkgYXJlIGFsbCBtYXBwZWQgYW5kIHdlIGNhbgorCQkgKiBoYXBwaWx5IHByb2NlZWQgd2l0aCBtYXBwaW5nIHRoZW0gYW5kIHdyaXRpbmcgdGhlIHBhZ2UuCisJCSAqLworCQlCVUdfT04od2Fsa19wYWdlX2J1ZmZlcnMoTlVMTCwgcGFnZV9idWZmZXJzKHBhZ2UpLCAwLCBsZW4sIE5VTEwsCisJCQkJCWV4dDRfYmhfdW5tYXBwZWRfb3JfZGVsYXkpKTsKKwl9CisKKwlpZiAoIWV4dDRfam91cm5hbF9jdXJyZW50X2hhbmRsZSgpKQorCQlyZXR1cm4gX19leHQ0X25vcm1hbF93cml0ZXBhZ2UocGFnZSwgd2JjKTsKKworCXJlZGlydHlfcGFnZV9mb3Jfd3JpdGVwYWdlKHdiYywgcGFnZSk7CisJdW5sb2NrX3BhZ2UocGFnZSk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgX19leHQ0X2pvdXJuYWxsZWRfd3JpdGVwYWdlKHN0cnVjdCBwYWdlICpwYWdlLAorCQkJCXN0cnVjdCB3cml0ZWJhY2tfY29udHJvbCAqd2JjKQoreworCXN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nID0gcGFnZS0+bWFwcGluZzsKKwlzdHJ1Y3QgaW5vZGUgKmlub2RlID0gbWFwcGluZy0+aG9zdDsKIAlzdHJ1Y3QgYnVmZmVyX2hlYWQgKnBhZ2VfYnVmczsKIAloYW5kbGVfdCAqaGFuZGxlID0gTlVMTDsKIAlpbnQgcmV0ID0gMDsKIAlpbnQgZXJyOwogCi0JSl9BU1NFUlQoUGFnZUxvY2tlZChwYWdlKSk7CisJcmV0ID0gYmxvY2tfcHJlcGFyZV93cml0ZShwYWdlLCAwLCBQQUdFX0NBQ0hFX1NJWkUsCisJCQkJCWV4dDRfbm9ybWFsX2dldF9ibG9ja193cml0ZSk7CisJaWYgKHJldCAhPSAwKQorCQlnb3RvIG91dF91bmxvY2s7CiAKLQkvKgotCSAqIFdlIGdpdmUgdXAgaGVyZSBpZiB3ZSdyZSByZWVudGVyZWQsIGJlY2F1c2UgaXQgbWlnaHQgYmUgZm9yIGEKLQkgKiBkaWZmZXJlbnQgZmlsZXN5c3RlbS4KLQkgKi8KLQlpZiAoZXh0NF9qb3VybmFsX2N1cnJlbnRfaGFuZGxlKCkpCi0JCWdvdG8gb3V0X2ZhaWw7Ci0KLQloYW5kbGUgPSBleHQ0X2pvdXJuYWxfc3RhcnQoaW5vZGUsIGV4dDRfd3JpdGVwYWdlX3RyYW5zX2Jsb2Nrcyhpbm9kZSkpOwotCi0JaWYgKElTX0VSUihoYW5kbGUpKSB7Ci0JCXJldCA9IFBUUl9FUlIoaGFuZGxlKTsKLQkJZ290byBvdXRfZmFpbDsKLQl9Ci0KLQlpZiAoIXBhZ2VfaGFzX2J1ZmZlcnMocGFnZSkpIHsKLQkJY3JlYXRlX2VtcHR5X2J1ZmZlcnMocGFnZSwgaW5vZGUtPmlfc2ItPnNfYmxvY2tzaXplLAotCQkJCSgxIDw8IEJIX0RpcnR5KXwoMSA8PCBCSF9VcHRvZGF0ZSkpOwotCX0KIAlwYWdlX2J1ZnMgPSBwYWdlX2J1ZmZlcnMocGFnZSk7Ci0Jd2Fsa19wYWdlX2J1ZmZlcnMoaGFuZGxlLCBwYWdlX2J1ZnMsIDAsCi0JCQlQQUdFX0NBQ0hFX1NJWkUsIE5VTEwsIGJnZXRfb25lKTsKLQotCXJldCA9IGJsb2NrX3dyaXRlX2Z1bGxfcGFnZShwYWdlLCBleHQ0X2dldF9ibG9jaywgd2JjKTsKLQotCS8qCi0JICogVGhlIHBhZ2UgY2FuIGJlY29tZSB1bmxvY2tlZCBhdCBhbnkgcG9pbnQgbm93LCBhbmQKLQkgKiB0cnVuY2F0ZSBjYW4gdGhlbiBjb21lIGluIGFuZCBjaGFuZ2UgdGhpbmdzLiAgU28gd2UKLQkgKiBjYW4ndCB0b3VjaCAqcGFnZSBmcm9tIG5vdyBvbi4gIEJ1dCAqcGFnZV9idWZzIGlzCi0JICogc2FmZSBkdWUgdG8gZWxldmF0ZWQgcmVmY291bnQuCi0JICovCi0KLQkvKgotCSAqIEFuZCBhdHRhY2ggdGhlbSB0byB0aGUgY3VycmVudCB0cmFuc2FjdGlvbi4gIEJ1dCBvbmx5IGlmCi0JICogYmxvY2tfd3JpdGVfZnVsbF9wYWdlKCkgc3VjY2VlZGVkLiAgT3RoZXJ3aXNlIHRoZXkgYXJlIHVubWFwcGVkLAotCSAqIGFuZCBnZW5lcmFsbHkganVuay4KLQkgKi8KLQlpZiAocmV0ID09IDApIHsKLQkJZXJyID0gd2Fsa19wYWdlX2J1ZmZlcnMoaGFuZGxlLCBwYWdlX2J1ZnMsIDAsIFBBR0VfQ0FDSEVfU0laRSwKLQkJCQkJTlVMTCwgamJkMl9qb3VybmFsX2RpcnR5X2RhdGFfZm4pOwotCQlpZiAoIXJldCkKLQkJCXJldCA9IGVycjsKLQl9Ci0Jd2Fsa19wYWdlX2J1ZmZlcnMoaGFuZGxlLCBwYWdlX2J1ZnMsIDAsCi0JCQlQQUdFX0NBQ0hFX1NJWkUsIE5VTEwsIGJwdXRfb25lKTsKLQllcnIgPSBleHQ0X2pvdXJuYWxfc3RvcChoYW5kbGUpOwotCWlmICghcmV0KQotCQlyZXQgPSBlcnI7Ci0JcmV0dXJuIHJldDsKLQotb3V0X2ZhaWw6Ci0JcmVkaXJ0eV9wYWdlX2Zvcl93cml0ZXBhZ2Uod2JjLCBwYWdlKTsKKwl3YWxrX3BhZ2VfYnVmZmVycyhoYW5kbGUsIHBhZ2VfYnVmcywgMCwgUEFHRV9DQUNIRV9TSVpFLCBOVUxMLAorCQkJCQkJCQliZ2V0X29uZSk7CisJLyogQXMgc29vbiBhcyB3ZSB1bmxvY2sgdGhlIHBhZ2UsIGl0IGNhbiBnbyBhd2F5LCBidXQgd2UgaGF2ZQorCSAqIHJlZmVyZW5jZXMgdG8gYnVmZmVycyBzbyB3ZSBhcmUgc2FmZSAqLwogCXVubG9ja19wYWdlKHBhZ2UpOwotCXJldHVybiByZXQ7Ci19Ci0KLXN0YXRpYyBpbnQgZXh0NF93cml0ZWJhY2tfd3JpdGVwYWdlKHN0cnVjdCBwYWdlICpwYWdlLAotCQkJCXN0cnVjdCB3cml0ZWJhY2tfY29udHJvbCAqd2JjKQotewotCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBwYWdlLT5tYXBwaW5nLT5ob3N0OwotCWhhbmRsZV90ICpoYW5kbGUgPSBOVUxMOwotCWludCByZXQgPSAwOwotCWludCBlcnI7Ci0KLQlpZiAoZXh0NF9qb3VybmFsX2N1cnJlbnRfaGFuZGxlKCkpCi0JCWdvdG8gb3V0X2ZhaWw7CiAKIAloYW5kbGUgPSBleHQ0X2pvdXJuYWxfc3RhcnQoaW5vZGUsIGV4dDRfd3JpdGVwYWdlX3RyYW5zX2Jsb2Nrcyhpbm9kZSkpOwogCWlmIChJU19FUlIoaGFuZGxlKSkgewogCQlyZXQgPSBQVFJfRVJSKGhhbmRsZSk7Ci0JCWdvdG8gb3V0X2ZhaWw7CisJCWdvdG8gb3V0OwogCX0KIAotCWlmICh0ZXN0X29wdChpbm9kZS0+aV9zYiwgTk9CSCkgJiYgZXh0NF9zaG91bGRfd3JpdGViYWNrX2RhdGEoaW5vZGUpKQotCQlyZXQgPSBub2JoX3dyaXRlcGFnZShwYWdlLCBleHQ0X2dldF9ibG9jaywgd2JjKTsKLQllbHNlCi0JCXJldCA9IGJsb2NrX3dyaXRlX2Z1bGxfcGFnZShwYWdlLCBleHQ0X2dldF9ibG9jaywgd2JjKTsKKwlyZXQgPSB3YWxrX3BhZ2VfYnVmZmVycyhoYW5kbGUsIHBhZ2VfYnVmcywgMCwKKwkJCVBBR0VfQ0FDSEVfU0laRSwgTlVMTCwgZG9fam91cm5hbF9nZXRfd3JpdGVfYWNjZXNzKTsKIAorCWVyciA9IHdhbGtfcGFnZV9idWZmZXJzKGhhbmRsZSwgcGFnZV9idWZzLCAwLAorCQkJCVBBR0VfQ0FDSEVfU0laRSwgTlVMTCwgd3JpdGVfZW5kX2ZuKTsKKwlpZiAocmV0ID09IDApCisJCXJldCA9IGVycjsKIAllcnIgPSBleHQ0X2pvdXJuYWxfc3RvcChoYW5kbGUpOwogCWlmICghcmV0KQogCQlyZXQgPSBlcnI7Ci0JcmV0dXJuIHJldDsKIAotb3V0X2ZhaWw6Ci0JcmVkaXJ0eV9wYWdlX2Zvcl93cml0ZXBhZ2Uod2JjLCBwYWdlKTsKKwl3YWxrX3BhZ2VfYnVmZmVycyhoYW5kbGUsIHBhZ2VfYnVmcywgMCwKKwkJCQlQQUdFX0NBQ0hFX1NJWkUsIE5VTEwsIGJwdXRfb25lKTsKKwlFWFQ0X0koaW5vZGUpLT5pX3N0YXRlIHw9IEVYVDRfU1RBVEVfSkRBVEE7CisJZ290byBvdXQ7CisKK291dF91bmxvY2s6CiAJdW5sb2NrX3BhZ2UocGFnZSk7CitvdXQ6CiAJcmV0dXJuIHJldDsKIH0KIApAQCAtMTYyNCw1OSArMjYxOSw1MyBAQAogCQkJCXN0cnVjdCB3cml0ZWJhY2tfY29udHJvbCAqd2JjKQogewogCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBwYWdlLT5tYXBwaW5nLT5ob3N0OwotCWhhbmRsZV90ICpoYW5kbGUgPSBOVUxMOwotCWludCByZXQgPSAwOwotCWludCBlcnI7CisJbG9mZl90IHNpemUgPSBpX3NpemVfcmVhZChpbm9kZSk7CisJbG9mZl90IGxlbjsKKworCUpfQVNTRVJUKFBhZ2VMb2NrZWQocGFnZSkpOworCWlmIChwYWdlLT5pbmRleCA9PSBzaXplID4+IFBBR0VfQ0FDSEVfU0hJRlQpCisJCWxlbiA9IHNpemUgJiB+UEFHRV9DQUNIRV9NQVNLOworCWVsc2UKKwkJbGVuID0gUEFHRV9DQUNIRV9TSVpFOworCisJaWYgKHBhZ2VfaGFzX2J1ZmZlcnMocGFnZSkpIHsKKwkJLyogaWYgcGFnZSBoYXMgYnVmZmVycyBpdCBzaG91bGQgYWxsIGJlIG1hcHBlZAorCQkgKiBhbmQgYWxsb2NhdGVkLiBJZiB0aGVyZSBhcmUgbm90IGJ1ZmZlcnMgYXR0YWNoZWQKKwkJICogdG8gdGhlIHBhZ2Ugd2Uga25vdyB0aGUgcGFnZSBpcyBkaXJ0eSBidXQgaXQgbG9zdAorCQkgKiBidWZmZXJzLiBUaGF0IG1lYW5zIHRoYXQgYXQgc29tZSBtb21lbnQgaW4gdGltZQorCQkgKiBhZnRlciB3cml0ZV9iZWdpbigpIC8gd3JpdGVfZW5kKCkgaGFzIGJlZW4gY2FsbGVkCisJCSAqIGFsbCBidWZmZXJzIGhhdmUgYmVlbiBjbGVhbiBhbmQgdGh1cyB0aGV5IG11c3QgaGF2ZSBiZWVuCisJCSAqIHdyaXR0ZW4gYXQgbGVhc3Qgb25jZS4gU28gdGhleSBhcmUgYWxsIG1hcHBlZCBhbmQgd2UgY2FuCisJCSAqIGhhcHBpbHkgcHJvY2VlZCB3aXRoIG1hcHBpbmcgdGhlbSBhbmQgd3JpdGluZyB0aGUgcGFnZS4KKwkJICovCisJCUJVR19PTih3YWxrX3BhZ2VfYnVmZmVycyhOVUxMLCBwYWdlX2J1ZmZlcnMocGFnZSksIDAsIGxlbiwgTlVMTCwKKwkJCQkJZXh0NF9iaF91bm1hcHBlZF9vcl9kZWxheSkpOworCX0KIAogCWlmIChleHQ0X2pvdXJuYWxfY3VycmVudF9oYW5kbGUoKSkKIAkJZ290byBub193cml0ZTsKIAotCWhhbmRsZSA9IGV4dDRfam91cm5hbF9zdGFydChpbm9kZSwgZXh0NF93cml0ZXBhZ2VfdHJhbnNfYmxvY2tzKGlub2RlKSk7Ci0JaWYgKElTX0VSUihoYW5kbGUpKSB7Ci0JCXJldCA9IFBUUl9FUlIoaGFuZGxlKTsKLQkJZ290byBub193cml0ZTsKLQl9Ci0KLQlpZiAoIXBhZ2VfaGFzX2J1ZmZlcnMocGFnZSkgfHwgUGFnZUNoZWNrZWQocGFnZSkpIHsKKwlpZiAoUGFnZUNoZWNrZWQocGFnZSkpIHsKIAkJLyoKIAkJICogSXQncyBtbWFwcGVkIHBhZ2VjYWNoZS4gIEFkZCBidWZmZXJzIGFuZCBqb3VybmFsIGl0LiAgVGhlcmUKIAkJICogZG9lc24ndCBzZWVtIG11Y2ggcG9pbnQgaW4gcmVkaXJ0eWluZyB0aGUgcGFnZSBoZXJlLgogCQkgKi8KIAkJQ2xlYXJQYWdlQ2hlY2tlZChwYWdlKTsKLQkJcmV0ID0gYmxvY2tfcHJlcGFyZV93cml0ZShwYWdlLCAwLCBQQUdFX0NBQ0hFX1NJWkUsCi0JCQkJCWV4dDRfZ2V0X2Jsb2NrKTsKLQkJaWYgKHJldCAhPSAwKSB7Ci0JCQlleHQ0X2pvdXJuYWxfc3RvcChoYW5kbGUpOwotCQkJZ290byBvdXRfdW5sb2NrOwotCQl9Ci0JCXJldCA9IHdhbGtfcGFnZV9idWZmZXJzKGhhbmRsZSwgcGFnZV9idWZmZXJzKHBhZ2UpLCAwLAotCQkJUEFHRV9DQUNIRV9TSVpFLCBOVUxMLCBkb19qb3VybmFsX2dldF93cml0ZV9hY2Nlc3MpOwotCi0JCWVyciA9IHdhbGtfcGFnZV9idWZmZXJzKGhhbmRsZSwgcGFnZV9idWZmZXJzKHBhZ2UpLCAwLAotCQkJCVBBR0VfQ0FDSEVfU0laRSwgTlVMTCwgd3JpdGVfZW5kX2ZuKTsKLQkJaWYgKHJldCA9PSAwKQotCQkJcmV0ID0gZXJyOwotCQlFWFQ0X0koaW5vZGUpLT5pX3N0YXRlIHw9IEVYVDRfU1RBVEVfSkRBVEE7Ci0JCXVubG9ja19wYWdlKHBhZ2UpOworCQlyZXR1cm4gX19leHQ0X2pvdXJuYWxsZWRfd3JpdGVwYWdlKHBhZ2UsIHdiYyk7CiAJfSBlbHNlIHsKIAkJLyoKIAkJICogSXQgbWF5IGJlIGEgcGFnZSBmdWxsIG9mIGNoZWNrcG9pbnQtbW9kZSBidWZmZXJzLiAgV2UgZG9uJ3QKIAkJICogcmVhbGx5IGtub3cgdW5sZXNzIHdlIGdvIHBva2UgYXJvdW5kIGluIHRoZSBidWZmZXJfaGVhZHMuCiAJCSAqIEJ1dCBibG9ja193cml0ZV9mdWxsX3BhZ2Ugd2lsbCBkbyB0aGUgcmlnaHQgdGhpbmcuCiAJCSAqLwotCQlyZXQgPSBibG9ja193cml0ZV9mdWxsX3BhZ2UocGFnZSwgZXh0NF9nZXRfYmxvY2ssIHdiYyk7CisJCXJldHVybiBibG9ja193cml0ZV9mdWxsX3BhZ2UocGFnZSwKKwkJCQkJCWV4dDRfbm9ybWFsX2dldF9ibG9ja193cml0ZSwKKwkJCQkJCXdiYyk7CiAJfQotCWVyciA9IGV4dDRfam91cm5hbF9zdG9wKGhhbmRsZSk7Ci0JaWYgKCFyZXQpCi0JCXJldCA9IGVycjsKLW91dDoKLQlyZXR1cm4gcmV0OwotCiBub193cml0ZToKIAlyZWRpcnR5X3BhZ2VfZm9yX3dyaXRlcGFnZSh3YmMsIHBhZ2UpOwotb3V0X3VubG9jazoKIAl1bmxvY2tfcGFnZShwYWdlKTsKLQlnb3RvIG91dDsKKwlyZXR1cm4gMDsKIH0KIAogc3RhdGljIGludCBleHQ0X3JlYWRwYWdlKHN0cnVjdCBmaWxlICpmaWxlLCBzdHJ1Y3QgcGFnZSAqcGFnZSkKQEAgLTE4MTksNyArMjgwOCw3IEBACiBzdGF0aWMgY29uc3Qgc3RydWN0IGFkZHJlc3Nfc3BhY2Vfb3BlcmF0aW9ucyBleHQ0X29yZGVyZWRfYW9wcyA9IHsKIAkucmVhZHBhZ2UJPSBleHQ0X3JlYWRwYWdlLAogCS5yZWFkcGFnZXMJPSBleHQ0X3JlYWRwYWdlcywKLQkud3JpdGVwYWdlCT0gZXh0NF9vcmRlcmVkX3dyaXRlcGFnZSwKKwkud3JpdGVwYWdlCT0gZXh0NF9ub3JtYWxfd3JpdGVwYWdlLAogCS5zeW5jX3BhZ2UJPSBibG9ja19zeW5jX3BhZ2UsCiAJLndyaXRlX2JlZ2luCT0gZXh0NF93cml0ZV9iZWdpbiwKIAkud3JpdGVfZW5kCT0gZXh0NF9vcmRlcmVkX3dyaXRlX2VuZCwKQEAgLTE4MzMsNyArMjgyMiw3IEBACiBzdGF0aWMgY29uc3Qgc3RydWN0IGFkZHJlc3Nfc3BhY2Vfb3BlcmF0aW9ucyBleHQ0X3dyaXRlYmFja19hb3BzID0gewogCS5yZWFkcGFnZQk9IGV4dDRfcmVhZHBhZ2UsCiAJLnJlYWRwYWdlcwk9IGV4dDRfcmVhZHBhZ2VzLAotCS53cml0ZXBhZ2UJPSBleHQ0X3dyaXRlYmFja193cml0ZXBhZ2UsCisJLndyaXRlcGFnZQk9IGV4dDRfbm9ybWFsX3dyaXRlcGFnZSwKIAkuc3luY19wYWdlCT0gYmxvY2tfc3luY19wYWdlLAogCS53cml0ZV9iZWdpbgk9IGV4dDRfd3JpdGVfYmVnaW4sCiAJLndyaXRlX2VuZAk9IGV4dDRfd3JpdGViYWNrX3dyaXRlX2VuZCwKQEAgLTE4NTcsMTAgKzI4NDYsMzEgQEAKIAkucmVsZWFzZXBhZ2UJPSBleHQ0X3JlbGVhc2VwYWdlLAogfTsKIAorc3RhdGljIGNvbnN0IHN0cnVjdCBhZGRyZXNzX3NwYWNlX29wZXJhdGlvbnMgZXh0NF9kYV9hb3BzID0geworCS5yZWFkcGFnZQk9IGV4dDRfcmVhZHBhZ2UsCisJLnJlYWRwYWdlcwk9IGV4dDRfcmVhZHBhZ2VzLAorCS53cml0ZXBhZ2UJPSBleHQ0X2RhX3dyaXRlcGFnZSwKKwkud3JpdGVwYWdlcwk9IGV4dDRfZGFfd3JpdGVwYWdlcywKKwkuc3luY19wYWdlCT0gYmxvY2tfc3luY19wYWdlLAorCS53cml0ZV9iZWdpbgk9IGV4dDRfZGFfd3JpdGVfYmVnaW4sCisJLndyaXRlX2VuZAk9IGV4dDRfZGFfd3JpdGVfZW5kLAorCS5ibWFwCQk9IGV4dDRfYm1hcCwKKwkuaW52YWxpZGF0ZXBhZ2UJPSBleHQ0X2RhX2ludmFsaWRhdGVwYWdlLAorCS5yZWxlYXNlcGFnZQk9IGV4dDRfcmVsZWFzZXBhZ2UsCisJLmRpcmVjdF9JTwk9IGV4dDRfZGlyZWN0X0lPLAorCS5taWdyYXRlcGFnZQk9IGJ1ZmZlcl9taWdyYXRlX3BhZ2UsCit9OworCiB2b2lkIGV4dDRfc2V0X2FvcHMoc3RydWN0IGlub2RlICppbm9kZSkKIHsKLQlpZiAoZXh0NF9zaG91bGRfb3JkZXJfZGF0YShpbm9kZSkpCisJaWYgKGV4dDRfc2hvdWxkX29yZGVyX2RhdGEoaW5vZGUpICYmCisJCXRlc3Rfb3B0KGlub2RlLT5pX3NiLCBERUxBTExPQykpCisJCWlub2RlLT5pX21hcHBpbmctPmFfb3BzID0gJmV4dDRfZGFfYW9wczsKKwllbHNlIGlmIChleHQ0X3Nob3VsZF9vcmRlcl9kYXRhKGlub2RlKSkKIAkJaW5vZGUtPmlfbWFwcGluZy0+YV9vcHMgPSAmZXh0NF9vcmRlcmVkX2FvcHM7CisJZWxzZSBpZiAoZXh0NF9zaG91bGRfd3JpdGViYWNrX2RhdGEoaW5vZGUpICYmCisJCSB0ZXN0X29wdChpbm9kZS0+aV9zYiwgREVMQUxMT0MpKQorCQlpbm9kZS0+aV9tYXBwaW5nLT5hX29wcyA9ICZleHQ0X2RhX2FvcHM7CiAJZWxzZSBpZiAoZXh0NF9zaG91bGRfd3JpdGViYWNrX2RhdGEoaW5vZGUpKQogCQlpbm9kZS0+aV9tYXBwaW5nLT5hX29wcyA9ICZleHQ0X3dyaXRlYmFja19hb3BzOwogCWVsc2UKQEAgLTE4NzMsNyArMjg4Myw3IEBACiAgKiBUaGlzIHJlcXVpcmVkIGR1cmluZyB0cnVuY2F0ZS4gV2UgbmVlZCB0byBwaHlzaWNhbGx5IHplcm8gdGhlIHRhaWwgZW5kCiAgKiBvZiB0aGF0IGJsb2NrIHNvIGl0IGRvZXNuJ3QgeWllbGQgb2xkIGRhdGEgaWYgdGhlIGZpbGUgaXMgbGF0ZXIgZ3Jvd24uCiAgKi8KLWludCBleHQ0X2Jsb2NrX3RydW5jYXRlX3BhZ2UoaGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IHBhZ2UgKnBhZ2UsCitpbnQgZXh0NF9ibG9ja190cnVuY2F0ZV9wYWdlKGhhbmRsZV90ICpoYW5kbGUsCiAJCXN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLCBsb2ZmX3QgZnJvbSkKIHsKIAlleHQ0X2ZzYmxrX3QgaW5kZXggPSBmcm9tID4+IFBBR0VfQ0FDSEVfU0hJRlQ7CkBAIC0xODgyLDggKzI4OTIsMTMgQEAKIAlleHQ0X2xibGtfdCBpYmxvY2s7CiAJc3RydWN0IGlub2RlICppbm9kZSA9IG1hcHBpbmctPmhvc3Q7CiAJc3RydWN0IGJ1ZmZlcl9oZWFkICpiaDsKKwlzdHJ1Y3QgcGFnZSAqcGFnZTsKIAlpbnQgZXJyID0gMDsKIAorCXBhZ2UgPSBncmFiX2NhY2hlX3BhZ2UobWFwcGluZywgZnJvbSA+PiBQQUdFX0NBQ0hFX1NISUZUKTsKKwlpZiAoIXBhZ2UpCisJCXJldHVybiAtRUlOVkFMOworCiAJYmxvY2tzaXplID0gaW5vZGUtPmlfc2ItPnNfYmxvY2tzaXplOwogCWxlbmd0aCA9IGJsb2Nrc2l6ZSAtIChvZmZzZXQgJiAoYmxvY2tzaXplIC0gMSkpOwogCWlibG9jayA9IGluZGV4IDw8IChQQUdFX0NBQ0hFX1NISUZUIC0gaW5vZGUtPmlfc2ItPnNfYmxvY2tzaXplX2JpdHMpOwpAQCAtMTk1Niw3ICsyOTcxLDcgQEAKIAkJZXJyID0gZXh0NF9qb3VybmFsX2RpcnR5X21ldGFkYXRhKGhhbmRsZSwgYmgpOwogCX0gZWxzZSB7CiAJCWlmIChleHQ0X3Nob3VsZF9vcmRlcl9kYXRhKGlub2RlKSkKLQkJCWVyciA9IGV4dDRfam91cm5hbF9kaXJ0eV9kYXRhKGhhbmRsZSwgYmgpOworCQkJZXJyID0gZXh0NF9qYmQyX2ZpbGVfaW5vZGUoaGFuZGxlLCBpbm9kZSk7CiAJCW1hcmtfYnVmZmVyX2RpcnR5KGJoKTsKIAl9CiAKQEAgLTIxNzksNyArMzE5NCwyMSBAQAogCiAJaWYgKHRoaXNfYmgpIHsKIAkJQlVGRkVSX1RSQUNFKHRoaXNfYmgsICJjYWxsIGV4dDRfam91cm5hbF9kaXJ0eV9tZXRhZGF0YSIpOwotCQlleHQ0X2pvdXJuYWxfZGlydHlfbWV0YWRhdGEoaGFuZGxlLCB0aGlzX2JoKTsKKworCQkvKgorCQkgKiBUaGUgYnVmZmVyIGhlYWQgc2hvdWxkIGhhdmUgYW4gYXR0YWNoZWQgam91cm5hbCBoZWFkIGF0IHRoaXMKKwkJICogcG9pbnQuIEhvd2V2ZXIsIGlmIHRoZSBkYXRhIGlzIGNvcnJ1cHRlZCBhbmQgYW4gaW5kaXJlY3QKKwkJICogYmxvY2sgcG9pbnRlZCB0byBpdHNlbGYsIGl0IHdvdWxkIGhhdmUgYmVlbiBkZXRhY2hlZCB3aGVuCisJCSAqIHRoZSBibG9jayB3YXMgY2xlYXJlZC4gQ2hlY2sgZm9yIHRoaXMgaW5zdGVhZCBvZiBPT1BTaW5nLgorCQkgKi8KKwkJaWYgKGJoMmpoKHRoaXNfYmgpKQorCQkJZXh0NF9qb3VybmFsX2RpcnR5X21ldGFkYXRhKGhhbmRsZSwgdGhpc19iaCk7CisJCWVsc2UKKwkJCWV4dDRfZXJyb3IoaW5vZGUtPmlfc2IsIF9fZnVuY19fLAorCQkJCSAgICJjaXJjdWxhciBpbmRpcmVjdCBibG9jayBkZXRlY3RlZCwgIgorCQkJCSAgICJpbm9kZT0lbHUsIGJsb2NrPSVsbHUiLAorCQkJCSAgIGlub2RlLT5pX2lubywKKwkJCQkgICAodW5zaWduZWQgbG9uZyBsb25nKSB0aGlzX2JoLT5iX2Jsb2NrbnIpOwogCX0KIH0KIApAQCAtMjMwNSw2ICszMzM0LDE5IEBACiAJfQogfQogCitpbnQgZXh0NF9jYW5fdHJ1bmNhdGUoc3RydWN0IGlub2RlICppbm9kZSkKK3sKKwlpZiAoSVNfQVBQRU5EKGlub2RlKSB8fCBJU19JTU1VVEFCTEUoaW5vZGUpKQorCQlyZXR1cm4gMDsKKwlpZiAoU19JU1JFRyhpbm9kZS0+aV9tb2RlKSkKKwkJcmV0dXJuIDE7CisJaWYgKFNfSVNESVIoaW5vZGUtPmlfbW9kZSkpCisJCXJldHVybiAxOworCWlmIChTX0lTTE5LKGlub2RlLT5pX21vZGUpKQorCQlyZXR1cm4gIWV4dDRfaW5vZGVfaXNfZmFzdF9zeW1saW5rKGlub2RlKTsKKwlyZXR1cm4gMDsKK30KKwogLyoKICAqIGV4dDRfdHJ1bmNhdGUoKQogICoKQEAgLTIzNDcsNTEgKzMzODksMjUgQEAKIAlpbnQgbjsKIAlleHQ0X2xibGtfdCBsYXN0X2Jsb2NrOwogCXVuc2lnbmVkIGJsb2Nrc2l6ZSA9IGlub2RlLT5pX3NiLT5zX2Jsb2Nrc2l6ZTsKLQlzdHJ1Y3QgcGFnZSAqcGFnZTsKIAotCWlmICghKFNfSVNSRUcoaW5vZGUtPmlfbW9kZSkgfHwgU19JU0RJUihpbm9kZS0+aV9tb2RlKSB8fAotCSAgICBTX0lTTE5LKGlub2RlLT5pX21vZGUpKSkKKwlpZiAoIWV4dDRfY2FuX3RydW5jYXRlKGlub2RlKSkKIAkJcmV0dXJuOwotCWlmIChleHQ0X2lub2RlX2lzX2Zhc3Rfc3ltbGluayhpbm9kZSkpCi0JCXJldHVybjsKLQlpZiAoSVNfQVBQRU5EKGlub2RlKSB8fCBJU19JTU1VVEFCTEUoaW5vZGUpKQotCQlyZXR1cm47Ci0KLQkvKgotCSAqIFdlIGhhdmUgdG8gbG9jayB0aGUgRU9GIHBhZ2UgaGVyZSwgYmVjYXVzZSBsb2NrX3BhZ2UoKSBuZXN0cwotCSAqIG91dHNpZGUgamJkMl9qb3VybmFsX3N0YXJ0KCkuCi0JICovCi0JaWYgKChpbm9kZS0+aV9zaXplICYgKGJsb2Nrc2l6ZSAtIDEpKSA9PSAwKSB7Ci0JCS8qIEJsb2NrIGJvdW5kYXJ5PyBOb3RoaW5nIHRvIGRvICovCi0JCXBhZ2UgPSBOVUxMOwotCX0gZWxzZSB7Ci0JCXBhZ2UgPSBncmFiX2NhY2hlX3BhZ2UobWFwcGluZywKLQkJCQlpbm9kZS0+aV9zaXplID4+IFBBR0VfQ0FDSEVfU0hJRlQpOwotCQlpZiAoIXBhZ2UpCi0JCQlyZXR1cm47Ci0JfQogCiAJaWYgKEVYVDRfSShpbm9kZSktPmlfZmxhZ3MgJiBFWFQ0X0VYVEVOVFNfRkwpIHsKLQkJZXh0NF9leHRfdHJ1bmNhdGUoaW5vZGUsIHBhZ2UpOworCQlleHQ0X2V4dF90cnVuY2F0ZShpbm9kZSk7CiAJCXJldHVybjsKIAl9CiAKIAloYW5kbGUgPSBzdGFydF90cmFuc2FjdGlvbihpbm9kZSk7Ci0JaWYgKElTX0VSUihoYW5kbGUpKSB7Ci0JCWlmIChwYWdlKSB7Ci0JCQljbGVhcl9oaWdocGFnZShwYWdlKTsKLQkJCWZsdXNoX2RjYWNoZV9wYWdlKHBhZ2UpOwotCQkJdW5sb2NrX3BhZ2UocGFnZSk7Ci0JCQlwYWdlX2NhY2hlX3JlbGVhc2UocGFnZSk7Ci0JCX0KKwlpZiAoSVNfRVJSKGhhbmRsZSkpCiAJCXJldHVybjsJCS8qIEFLUE06IHJldHVybiB3aGF0PyAqLwotCX0KIAogCWxhc3RfYmxvY2sgPSAoaW5vZGUtPmlfc2l6ZSArIGJsb2Nrc2l6ZS0xKQogCQkJCQk+PiBFWFQ0X0JMT0NLX1NJWkVfQklUUyhpbm9kZS0+aV9zYik7CiAKLQlpZiAocGFnZSkKLQkJZXh0NF9ibG9ja190cnVuY2F0ZV9wYWdlKGhhbmRsZSwgcGFnZSwgbWFwcGluZywgaW5vZGUtPmlfc2l6ZSk7CisJaWYgKGlub2RlLT5pX3NpemUgJiAoYmxvY2tzaXplIC0gMSkpCisJCWlmIChleHQ0X2Jsb2NrX3RydW5jYXRlX3BhZ2UoaGFuZGxlLCBtYXBwaW5nLCBpbm9kZS0+aV9zaXplKSkKKwkJCWdvdG8gb3V0X3N0b3A7CiAKIAluID0gZXh0NF9ibG9ja190b19wYXRoKGlub2RlLCBsYXN0X2Jsb2NrLCBvZmZzZXRzLCBOVUxMKTsKIAlpZiAobiA9PSAwKQpAQCAtMjQxMCw2ICszNDI2LDExIEBACiAJCWdvdG8gb3V0X3N0b3A7CiAKIAkvKgorCSAqIEZyb20gaGVyZSB3ZSBibG9jayBvdXQgYWxsIGV4dDRfZ2V0X2Jsb2NrKCkgY2FsbGVycyB3aG8gd2FudCB0bworCSAqIG1vZGlmeSB0aGUgYmxvY2sgYWxsb2NhdGlvbiB0cmVlLgorCSAqLworCWRvd25fd3JpdGUoJmVpLT5pX2RhdGFfc2VtKTsKKwkvKgogCSAqIFRoZSBvcnBoYW4gbGlzdCBlbnRyeSB3aWxsIG5vdyBwcm90ZWN0IHVzIGZyb20gYW55IGNyYXNoIHdoaWNoCiAJICogb2NjdXJzIGJlZm9yZSB0aGUgdHJ1bmNhdGUgY29tcGxldGVzLCBzbyBpdCBpcyBub3cgc2FmZSB0byBwcm9wYWdhdGUKIAkgKiB0aGUgbmV3LCBzaG9ydGVyIGlub2RlIHNpemUgKGhlbGQgZm9yIG5vdyBpbiBpX3NpemUpIGludG8gdGhlCkBAIC0yNDE4LDEyICszNDM5LDYgQEAKIAkgKi8KIAllaS0+aV9kaXNrc2l6ZSA9IGlub2RlLT5pX3NpemU7CiAKLQkvKgotCSAqIEZyb20gaGVyZSB3ZSBibG9jayBvdXQgYWxsIGV4dDRfZ2V0X2Jsb2NrKCkgY2FsbGVycyB3aG8gd2FudCB0bwotCSAqIG1vZGlmeSB0aGUgYmxvY2sgYWxsb2NhdGlvbiB0cmVlLgotCSAqLwotCWRvd25fd3JpdGUoJmVpLT5pX2RhdGFfc2VtKTsKLQogCWlmIChuID09IDEpIHsJCS8qIGRpcmVjdCBibG9ja3MgKi8KIAkJZXh0NF9mcmVlX2RhdGEoaGFuZGxlLCBpbm9kZSwgTlVMTCwgaV9kYXRhK29mZnNldHNbMF0sCiAJCQkgICAgICAgaV9kYXRhICsgRVhUNF9ORElSX0JMT0NLUyk7CkBAIC0zMTA3LDcgKzQxMjIsMTQgQEAKICAqIGJlIGZyZWVkLCBzbyB3ZSBoYXZlIGEgc3Ryb25nIGd1YXJhbnRlZSB0aGF0IG5vIGZ1dHVyZSBjb21taXQgd2lsbAogICogbGVhdmUgdGhlc2UgYmxvY2tzIHZpc2libGUgdG8gdGhlIHVzZXIuKQogICoKLSAqIENhbGxlZCB3aXRoIGlub2RlLT5zZW0gZG93bi4KKyAqIEFub3RoZXIgdGhpbmcgd2UgaGF2ZSB0byBhc3N1cmUgaXMgdGhhdCBpZiB3ZSBhcmUgaW4gb3JkZXJlZCBtb2RlCisgKiBhbmQgaW5vZGUgaXMgc3RpbGwgYXR0YWNoZWQgdG8gdGhlIGNvbW1pdHRpbmcgdHJhbnNhY3Rpb24sIHdlIG11c3QKKyAqIHdlIHN0YXJ0IHdyaXRlb3V0IG9mIGFsbCB0aGUgZGlydHkgcGFnZXMgd2hpY2ggYXJlIGJlaW5nIHRydW5jYXRlZC4KKyAqIFRoaXMgd2F5IHdlIGFyZSBzdXJlIHRoYXQgYWxsIHRoZSBkYXRhIHdyaXR0ZW4gaW4gdGhlIHByZXZpb3VzCisgKiB0cmFuc2FjdGlvbiBhcmUgYWxyZWFkeSBvbiBkaXNrICh0cnVuY2F0ZSB3YWl0cyBmb3IgcGFnZXMgdW5kZXIKKyAqIHdyaXRlYmFjaykuCisgKgorICogQ2FsbGVkIHdpdGggaW5vZGUtPmlfbXV0ZXggZG93bi4KICAqLwogaW50IGV4dDRfc2V0YXR0cihzdHJ1Y3QgZGVudHJ5ICpkZW50cnksIHN0cnVjdCBpYXR0ciAqYXR0cikKIHsKQEAgLTMxNzMsNiArNDE5NSwyMiBAQAogCQlpZiAoIWVycm9yKQogCQkJZXJyb3IgPSByYzsKIAkJZXh0NF9qb3VybmFsX3N0b3AoaGFuZGxlKTsKKworCQlpZiAoZXh0NF9zaG91bGRfb3JkZXJfZGF0YShpbm9kZSkpIHsKKwkJCWVycm9yID0gZXh0NF9iZWdpbl9vcmRlcmVkX3RydW5jYXRlKGlub2RlLAorCQkJCQkJCSAgICBhdHRyLT5pYV9zaXplKTsKKwkJCWlmIChlcnJvcikgeworCQkJCS8qIERvIGFzIG11Y2ggZXJyb3IgY2xlYW51cCBhcyBwb3NzaWJsZSAqLworCQkJCWhhbmRsZSA9IGV4dDRfam91cm5hbF9zdGFydChpbm9kZSwgMyk7CisJCQkJaWYgKElTX0VSUihoYW5kbGUpKSB7CisJCQkJCWV4dDRfb3JwaGFuX2RlbChOVUxMLCBpbm9kZSk7CisJCQkJCWdvdG8gZXJyX291dDsKKwkJCQl9CisJCQkJZXh0NF9vcnBoYW5fZGVsKGhhbmRsZSwgaW5vZGUpOworCQkJCWV4dDRfam91cm5hbF9zdG9wKGhhbmRsZSk7CisJCQkJZ290byBlcnJfb3V0OworCQkJfQorCQl9CiAJfQogCiAJcmMgPSBpbm9kZV9zZXRhdHRyKGlub2RlLCBhdHRyKTsKQEAgLTMxOTMsNiArNDIzMSwzMiBAQAogCXJldHVybiBlcnJvcjsKIH0KIAoraW50IGV4dDRfZ2V0YXR0cihzdHJ1Y3QgdmZzbW91bnQgKm1udCwgc3RydWN0IGRlbnRyeSAqZGVudHJ5LAorCQkgc3RydWN0IGtzdGF0ICpzdGF0KQoreworCXN0cnVjdCBpbm9kZSAqaW5vZGU7CisJdW5zaWduZWQgbG9uZyBkZWxhbGxvY19ibG9ja3M7CisKKwlpbm9kZSA9IGRlbnRyeS0+ZF9pbm9kZTsKKwlnZW5lcmljX2ZpbGxhdHRyKGlub2RlLCBzdGF0KTsKKworCS8qCisJICogV2UgY2FuJ3QgdXBkYXRlIGlfYmxvY2tzIGlmIHRoZSBibG9jayBhbGxvY2F0aW9uIGlzIGRlbGF5ZWQKKwkgKiBvdGhlcndpc2UgaW4gdGhlIGNhc2Ugb2Ygc3lzdGVtIGNyYXNoIGJlZm9yZSB0aGUgcmVhbCBibG9jaworCSAqIGFsbG9jYXRpb24gaXMgZG9uZSwgd2Ugd2lsbCBoYXZlIGlfYmxvY2tzIGluY29uc2lzdGVudCB3aXRoCisJICogb24tZGlzayBmaWxlIGJsb2Nrcy4KKwkgKiBXZSBhbHdheXMga2VlcCBpX2Jsb2NrcyB1cGRhdGVkIHRvZ2V0aGVyIHdpdGggcmVhbAorCSAqIGFsbG9jYXRpb24uIEJ1dCB0byBub3QgY29uZnVzZSB3aXRoIHVzZXIsIHN0YXQKKwkgKiB3aWxsIHJldHVybiB0aGUgYmxvY2tzIHRoYXQgaW5jbHVkZSB0aGUgZGVsYXllZCBhbGxvY2F0aW9uCisJICogYmxvY2tzIGZvciB0aGlzIGZpbGUuCisJICovCisJc3Bpbl9sb2NrKCZFWFQ0X0koaW5vZGUpLT5pX2Jsb2NrX3Jlc2VydmF0aW9uX2xvY2spOworCWRlbGFsbG9jX2Jsb2NrcyA9IEVYVDRfSShpbm9kZSktPmlfcmVzZXJ2ZWRfZGF0YV9ibG9ja3M7CisJc3Bpbl91bmxvY2soJkVYVDRfSShpbm9kZSktPmlfYmxvY2tfcmVzZXJ2YXRpb25fbG9jayk7CisKKwlzdGF0LT5ibG9ja3MgKz0gKGRlbGFsbG9jX2Jsb2NrcyA8PCBpbm9kZS0+aV9zYi0+c19ibG9ja3NpemVfYml0cyk+Pjk7CisJcmV0dXJuIDA7Cit9CiAKIC8qCiAgKiBIb3cgbWFueSBibG9ja3MgZG90aCBtYWtlIGEgd3JpdGVwYWdlKCk/CkBAIC0zNTA2LDMgKzQ1NzAsNjQgQEAKIAogCXJldHVybiBlcnI7CiB9CisKK3N0YXRpYyBpbnQgZXh0NF9iaF91bm1hcHBlZChoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoKQoreworCXJldHVybiAhYnVmZmVyX21hcHBlZChiaCk7Cit9CisKK2ludCBleHQ0X3BhZ2VfbWt3cml0ZShzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSwgc3RydWN0IHBhZ2UgKnBhZ2UpCit7CisJbG9mZl90IHNpemU7CisJdW5zaWduZWQgbG9uZyBsZW47CisJaW50IHJldCA9IC1FSU5WQUw7CisJc3RydWN0IGZpbGUgKmZpbGUgPSB2bWEtPnZtX2ZpbGU7CisJc3RydWN0IGlub2RlICppbm9kZSA9IGZpbGUtPmZfcGF0aC5kZW50cnktPmRfaW5vZGU7CisJc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcgPSBpbm9kZS0+aV9tYXBwaW5nOworCisJLyoKKwkgKiBHZXQgaV9hbGxvY19zZW0gdG8gc3RvcCB0cnVuY2F0ZXMgbWVzc2luZyB3aXRoIHRoZSBpbm9kZS4gV2UgY2Fubm90CisJICogZ2V0IGlfbXV0ZXggYmVjYXVzZSB3ZSBhcmUgYWxyZWFkeSBob2xkaW5nIG1tYXBfc2VtLgorCSAqLworCWRvd25fcmVhZCgmaW5vZGUtPmlfYWxsb2Nfc2VtKTsKKwlzaXplID0gaV9zaXplX3JlYWQoaW5vZGUpOworCWlmIChwYWdlLT5tYXBwaW5nICE9IG1hcHBpbmcgfHwgc2l6ZSA8PSBwYWdlX29mZnNldChwYWdlKQorCSAgICB8fCAhUGFnZVVwdG9kYXRlKHBhZ2UpKSB7CisJCS8qIHBhZ2UgZ290IHRydW5jYXRlZCBmcm9tIHVuZGVyIHVzPyAqLworCQlnb3RvIG91dF91bmxvY2s7CisJfQorCXJldCA9IDA7CisJaWYgKFBhZ2VNYXBwZWRUb0Rpc2socGFnZSkpCisJCWdvdG8gb3V0X3VubG9jazsKKworCWlmIChwYWdlLT5pbmRleCA9PSBzaXplID4+IFBBR0VfQ0FDSEVfU0hJRlQpCisJCWxlbiA9IHNpemUgJiB+UEFHRV9DQUNIRV9NQVNLOworCWVsc2UKKwkJbGVuID0gUEFHRV9DQUNIRV9TSVpFOworCisJaWYgKHBhZ2VfaGFzX2J1ZmZlcnMocGFnZSkpIHsKKwkJLyogcmV0dXJuIGlmIHdlIGhhdmUgYWxsIHRoZSBidWZmZXJzIG1hcHBlZCAqLworCQlpZiAoIXdhbGtfcGFnZV9idWZmZXJzKE5VTEwsIHBhZ2VfYnVmZmVycyhwYWdlKSwgMCwgbGVuLCBOVUxMLAorCQkJCSAgICAgICBleHQ0X2JoX3VubWFwcGVkKSkKKwkJCWdvdG8gb3V0X3VubG9jazsKKwl9CisJLyoKKwkgKiBPSywgd2UgbmVlZCB0byBmaWxsIHRoZSBob2xlLi4uIERvIHdyaXRlX2JlZ2luIHdyaXRlX2VuZAorCSAqIHRvIGRvIGJsb2NrIGFsbG9jYXRpb24vcmVzZXJ2YXRpb24uV2UgYXJlIG5vdCBob2xkaW5nCisJICogaW5vZGUuaV9fbXV0ZXggaGVyZS4gVGhhdCBhbGxvdyAqIHBhcmFsbGVsIHdyaXRlX2JlZ2luLAorCSAqIHdyaXRlX2VuZCBjYWxsLiBsb2NrX3BhZ2UgcHJldmVudCB0aGlzIGZyb20gaGFwcGVuaW5nCisJICogb24gdGhlIHNhbWUgcGFnZSB0aG91Z2gKKwkgKi8KKwlyZXQgPSBtYXBwaW5nLT5hX29wcy0+d3JpdGVfYmVnaW4oZmlsZSwgbWFwcGluZywgcGFnZV9vZmZzZXQocGFnZSksCisJCQlsZW4sIEFPUF9GTEFHX1VOSU5URVJSVVBUSUJMRSwgJnBhZ2UsIE5VTEwpOworCWlmIChyZXQgPCAwKQorCQlnb3RvIG91dF91bmxvY2s7CisJcmV0ID0gbWFwcGluZy0+YV9vcHMtPndyaXRlX2VuZChmaWxlLCBtYXBwaW5nLCBwYWdlX29mZnNldChwYWdlKSwKKwkJCWxlbiwgbGVuLCBwYWdlLCBOVUxMKTsKKwlpZiAocmV0IDwgMCkKKwkJZ290byBvdXRfdW5sb2NrOworCXJldCA9IDA7CitvdXRfdW5sb2NrOgorCXVwX3JlYWQoJmlub2RlLT5pX2FsbG9jX3NlbSk7CisJcmV0dXJuIHJldDsKK30KZGlmZiAtLWdpdCBhL2ZzL2V4dDQvbWJhbGxvYy5jIGIvZnMvZXh0NC9tYmFsbG9jLmMKaW5kZXggYzk5MDBhYS4uOGQxNDFhMiAxMDA2NDQKLS0tIGEvZnMvZXh0NC9tYmFsbG9jLmMKKysrIGIvZnMvZXh0NC9tYmFsbG9jLmMKQEAgLTM4MSwyMiArMzgxLDI4IEBACiAKIHN0YXRpYyBpbmxpbmUgaW50IG1iX2ZpbmRfbmV4dF96ZXJvX2JpdCh2b2lkICphZGRyLCBpbnQgbWF4LCBpbnQgc3RhcnQpCiB7Ci0JaW50IGZpeCA9IDA7CisJaW50IGZpeCA9IDAsIHJldCwgdG1wbWF4OwogCWFkZHIgPSBtYl9jb3JyZWN0X2FkZHJfYW5kX2JpdCgmZml4LCBhZGRyKTsKLQltYXggKz0gZml4OworCXRtcG1heCA9IG1heCArIGZpeDsKIAlzdGFydCArPSBmaXg7CiAKLQlyZXR1cm4gZXh0NF9maW5kX25leHRfemVyb19iaXQoYWRkciwgbWF4LCBzdGFydCkgLSBmaXg7CisJcmV0ID0gZXh0NF9maW5kX25leHRfemVyb19iaXQoYWRkciwgdG1wbWF4LCBzdGFydCkgLSBmaXg7CisJaWYgKHJldCA+IG1heCkKKwkJcmV0dXJuIG1heDsKKwlyZXR1cm4gcmV0OwogfQogCiBzdGF0aWMgaW5saW5lIGludCBtYl9maW5kX25leHRfYml0KHZvaWQgKmFkZHIsIGludCBtYXgsIGludCBzdGFydCkKIHsKLQlpbnQgZml4ID0gMDsKKwlpbnQgZml4ID0gMCwgcmV0LCB0bXBtYXg7CiAJYWRkciA9IG1iX2NvcnJlY3RfYWRkcl9hbmRfYml0KCZmaXgsIGFkZHIpOwotCW1heCArPSBmaXg7CisJdG1wbWF4ID0gbWF4ICsgZml4OwogCXN0YXJ0ICs9IGZpeDsKIAotCXJldHVybiBleHQ0X2ZpbmRfbmV4dF9iaXQoYWRkciwgbWF4LCBzdGFydCkgLSBmaXg7CisJcmV0ID0gZXh0NF9maW5kX25leHRfYml0KGFkZHIsIHRtcG1heCwgc3RhcnQpIC0gZml4OworCWlmIChyZXQgPiBtYXgpCisJCXJldHVybiBtYXg7CisJcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIHZvaWQgKm1iX2ZpbmRfYnVkZHkoc3RydWN0IGV4dDRfYnVkZHkgKmU0YiwgaW50IG9yZGVyLCBpbnQgKm1heCkKQEAgLTgwMyw2ICs4MDksNyBAQAogCQlpZiAoIWJ1ZmZlcl91cHRvZGF0ZShiaFtpXSkpCiAJCQlnb3RvIG91dDsKIAorCWVyciA9IDA7CiAJZmlyc3RfYmxvY2sgPSBwYWdlLT5pbmRleCAqIGJsb2Nrc19wZXJfcGFnZTsKIAlmb3IgKGkgPSAwOyBpIDwgYmxvY2tzX3Blcl9wYWdlOyBpKyspIHsKIAkJaW50IGdyb3VwOwpAQCAtODgzLDYgKzg5MCw3IEBACiAJaW50IHBudW07CiAJaW50IHBvZmY7CiAJc3RydWN0IHBhZ2UgKnBhZ2U7CisJaW50IHJldDsKIAogCW1iX2RlYnVnKCJsb2FkIGdyb3VwICVsdVxuIiwgZ3JvdXApOwogCkBAIC05MTQsMTUgKzkyMiwyMSBAQAogCQlpZiAocGFnZSkgewogCQkJQlVHX09OKHBhZ2UtPm1hcHBpbmcgIT0gaW5vZGUtPmlfbWFwcGluZyk7CiAJCQlpZiAoIVBhZ2VVcHRvZGF0ZShwYWdlKSkgewotCQkJCWV4dDRfbWJfaW5pdF9jYWNoZShwYWdlLCBOVUxMKTsKKwkJCQlyZXQgPSBleHQ0X21iX2luaXRfY2FjaGUocGFnZSwgTlVMTCk7CisJCQkJaWYgKHJldCkgeworCQkJCQl1bmxvY2tfcGFnZShwYWdlKTsKKwkJCQkJZ290byBlcnI7CisJCQkJfQogCQkJCW1iX2NtcF9iaXRtYXBzKGU0YiwgcGFnZV9hZGRyZXNzKHBhZ2UpICsKIAkJCQkJICAgICAgIChwb2ZmICogc2ItPnNfYmxvY2tzaXplKSk7CiAJCQl9CiAJCQl1bmxvY2tfcGFnZShwYWdlKTsKIAkJfQogCX0KLQlpZiAocGFnZSA9PSBOVUxMIHx8ICFQYWdlVXB0b2RhdGUocGFnZSkpCisJaWYgKHBhZ2UgPT0gTlVMTCB8fCAhUGFnZVVwdG9kYXRlKHBhZ2UpKSB7CisJCXJldCA9IC1FSU87CiAJCWdvdG8gZXJyOworCX0KIAllNGItPmJkX2JpdG1hcF9wYWdlID0gcGFnZTsKIAllNGItPmJkX2JpdG1hcCA9IHBhZ2VfYWRkcmVzcyhwYWdlKSArIChwb2ZmICogc2ItPnNfYmxvY2tzaXplKTsKIAltYXJrX3BhZ2VfYWNjZXNzZWQocGFnZSk7CkBAIC05MzgsMTQgKzk1MiwyMCBAQAogCQlwYWdlID0gZmluZF9vcl9jcmVhdGVfcGFnZShpbm9kZS0+aV9tYXBwaW5nLCBwbnVtLCBHRlBfTk9GUyk7CiAJCWlmIChwYWdlKSB7CiAJCQlCVUdfT04ocGFnZS0+bWFwcGluZyAhPSBpbm9kZS0+aV9tYXBwaW5nKTsKLQkJCWlmICghUGFnZVVwdG9kYXRlKHBhZ2UpKQotCQkJCWV4dDRfbWJfaW5pdF9jYWNoZShwYWdlLCBlNGItPmJkX2JpdG1hcCk7Ci0KKwkJCWlmICghUGFnZVVwdG9kYXRlKHBhZ2UpKSB7CisJCQkJcmV0ID0gZXh0NF9tYl9pbml0X2NhY2hlKHBhZ2UsIGU0Yi0+YmRfYml0bWFwKTsKKwkJCQlpZiAocmV0KSB7CisJCQkJCXVubG9ja19wYWdlKHBhZ2UpOworCQkJCQlnb3RvIGVycjsKKwkJCQl9CisJCQl9CiAJCQl1bmxvY2tfcGFnZShwYWdlKTsKIAkJfQogCX0KLQlpZiAocGFnZSA9PSBOVUxMIHx8ICFQYWdlVXB0b2RhdGUocGFnZSkpCisJaWYgKHBhZ2UgPT0gTlVMTCB8fCAhUGFnZVVwdG9kYXRlKHBhZ2UpKSB7CisJCXJldCA9IC1FSU87CiAJCWdvdG8gZXJyOworCX0KIAllNGItPmJkX2J1ZGR5X3BhZ2UgPSBwYWdlOwogCWU0Yi0+YmRfYnVkZHkgPSBwYWdlX2FkZHJlc3MocGFnZSkgKyAocG9mZiAqIHNiLT5zX2Jsb2Nrc2l6ZSk7CiAJbWFya19wYWdlX2FjY2Vzc2VkKHBhZ2UpOwpAQCAtOTYyLDcgKzk4Miw3IEBACiAJCXBhZ2VfY2FjaGVfcmVsZWFzZShlNGItPmJkX2J1ZGR5X3BhZ2UpOwogCWU0Yi0+YmRfYnVkZHkgPSBOVUxMOwogCWU0Yi0+YmRfYml0bWFwID0gTlVMTDsKLQlyZXR1cm4gLUVJTzsKKwlyZXR1cm4gcmV0OwogfQogCiBzdGF0aWMgdm9pZCBleHQ0X21iX3JlbGVhc2VfZGVzYyhzdHJ1Y3QgZXh0NF9idWRkeSAqZTRiKQpAQCAtMTAzMSw3ICsxMDUxLDcgQEAKIAl9CiB9CiAKLXN0YXRpYyBpbnQgbWJfZnJlZV9ibG9ja3Moc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGV4dDRfYnVkZHkgKmU0YiwKK3N0YXRpYyB2b2lkIG1iX2ZyZWVfYmxvY2tzKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBleHQ0X2J1ZGR5ICplNGIsCiAJCQkgIGludCBmaXJzdCwgaW50IGNvdW50KQogewogCWludCBibG9jayA9IDA7CkBAIC0xMDcxLDExICsxMDkxLDEyIEBACiAJCQlibG9ja25yICs9IGJsb2NrOwogCQkJYmxvY2tuciArPQogCQkJICAgIGxlMzJfdG9fY3B1KEVYVDRfU0Ioc2IpLT5zX2VzLT5zX2ZpcnN0X2RhdGFfYmxvY2spOwotCisJCQlleHQ0X3VubG9ja19ncm91cChzYiwgZTRiLT5iZF9ncm91cCk7CiAJCQlleHQ0X2Vycm9yKHNiLCBfX2Z1bmNfXywgImRvdWJsZS1mcmVlIG9mIGlub2RlIgogCQkJCSAgICIgJWx1J3MgYmxvY2sgJWxsdShiaXQgJXUgaW4gZ3JvdXAgJWx1KVxuIiwKIAkJCQkgICBpbm9kZSA/IGlub2RlLT5pX2lubyA6IDAsIGJsb2NrbnIsIGJsb2NrLAogCQkJCSAgIGU0Yi0+YmRfZ3JvdXApOworCQkJZXh0NF9sb2NrX2dyb3VwKHNiLCBlNGItPmJkX2dyb3VwKTsKIAkJfQogCQltYl9jbGVhcl9iaXQoYmxvY2ssIEVYVDRfTUJfQklUTUFQKGU0YikpOwogCQllNGItPmJkX2luZm8tPmJiX2NvdW50ZXJzW29yZGVyXSsrOwpAQCAtMTExMyw4ICsxMTM0LDYgQEAKIAkJfSB3aGlsZSAoMSk7CiAJfQogCW1iX2NoZWNrX2J1ZGR5KGU0Yik7Ci0KLQlyZXR1cm4gMDsKIH0KIAogc3RhdGljIGludCBtYl9maW5kX2V4dGVudChzdHJ1Y3QgZXh0NF9idWRkeSAqZTRiLCBpbnQgb3JkZXIsIGludCBibG9jaywKQEAgLTE3MzAsMTAgKzE3NDksNiBAQAogCQlhYy0+YWNfZ19leC5mZV9zdGFydCA9IHNiaS0+c19tYl9sYXN0X3N0YXJ0OwogCQlzcGluX3VubG9jaygmc2JpLT5zX21kX2xvY2spOwogCX0KLQotCS8qIHNlYXJjaGluZyBmb3IgdGhlIHJpZ2h0IGdyb3VwIHN0YXJ0IGZyb20gdGhlIGdvYWwgdmFsdWUgc3BlY2lmaWVkICovCi0JZ3JvdXAgPSBhYy0+YWNfZ19leC5mZV9ncm91cDsKLQogCS8qIExldCdzIGp1c3Qgc2NhbiBncm91cHMgdG8gZmluZCBtb3JlLWxlc3Mgc3VpdGFibGUgYmxvY2tzICovCiAJY3IgPSBhYy0+YWNfMm9yZGVyID8gMCA6IDE7CiAJLyoKQEAgLTE3NDMsNiArMTc1OCwxMiBAQAogcmVwZWF0OgogCWZvciAoOyBjciA8IDQgJiYgYWMtPmFjX3N0YXR1cyA9PSBBQ19TVEFUVVNfQ09OVElOVUU7IGNyKyspIHsKIAkJYWMtPmFjX2NyaXRlcmlhID0gY3I7CisJCS8qCisJCSAqIHNlYXJjaGluZyBmb3IgdGhlIHJpZ2h0IGdyb3VwIHN0YXJ0CisJCSAqIGZyb20gdGhlIGdvYWwgdmFsdWUgc3BlY2lmaWVkCisJCSAqLworCQlncm91cCA9IGFjLT5hY19nX2V4LmZlX2dyb3VwOworCiAJCWZvciAoaSA9IDA7IGkgPCBFWFQ0X1NCKHNiKS0+c19ncm91cHNfY291bnQ7IGdyb3VwKyssIGkrKykgewogCQkJc3RydWN0IGV4dDRfZ3JvdXBfaW5mbyAqZ3JwOwogCQkJc3RydWN0IGV4dDRfZ3JvdXBfZGVzYyAqZGVzYzsKQEAgLTE5NjMsNiArMTk4NCw4IEBACiAJaW50IHJjOwogCWludCBzaXplOwogCisJaWYgKHVubGlrZWx5KHNiaS0+c19tYl9oaXN0b3J5ID09IE5VTEwpKQorCQlyZXR1cm4gLUVOT01FTTsKIAlzID0ga21hbGxvYyhzaXplb2YoKnMpLCBHRlBfS0VSTkVMKTsKIAlpZiAocyA9PSBOVUxMKQogCQlyZXR1cm4gLUVOT01FTTsKQEAgLTIxNjUsOSArMjE4OCw3IEBACiAJc2JpLT5zX21iX2hpc3RvcnlfY3VyID0gMDsKIAlzcGluX2xvY2tfaW5pdCgmc2JpLT5zX21iX2hpc3RvcnlfbG9jayk7CiAJaSA9IHNiaS0+c19tYl9oaXN0b3J5X21heCAqIHNpemVvZihzdHJ1Y3QgZXh0NF9tYl9oaXN0b3J5KTsKLQlzYmktPnNfbWJfaGlzdG9yeSA9IGttYWxsb2MoaSwgR0ZQX0tFUk5FTCk7Ci0JaWYgKGxpa2VseShzYmktPnNfbWJfaGlzdG9yeSAhPSBOVUxMKSkKLQkJbWVtc2V0KHNiaS0+c19tYl9oaXN0b3J5LCAwLCBpKTsKKwlzYmktPnNfbWJfaGlzdG9yeSA9IGt6YWxsb2MoaSwgR0ZQX0tFUk5FTCk7CiAJLyogaWYgd2UgY2FuJ3QgYWxsb2NhdGUgaGlzdG9yeSwgdGhlbiB3ZSBzaW1wbGUgd29uJ3QgdXNlIGl0ICovCiB9CiAKQEAgLTIyMTUsMjEgKzIyMzYsMTkyIEBACiAjZGVmaW5lIGV4dDRfbWJfaGlzdG9yeV9pbml0KHNiKQogI2VuZGlmCiAKKworLyogQ3JlYXRlIGFuZCBpbml0aWFsaXplIGV4dDRfZ3JvdXBfaW5mbyBkYXRhIGZvciB0aGUgZ2l2ZW4gZ3JvdXAuICovCitpbnQgZXh0NF9tYl9hZGRfZ3JvdXBpbmZvKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsIGV4dDRfZ3JvdXBfdCBncm91cCwKKwkJCSAgc3RydWN0IGV4dDRfZ3JvdXBfZGVzYyAqZGVzYykKK3sKKwlpbnQgaSwgbGVuOworCWludCBtZXRhbGVuID0gMDsKKwlzdHJ1Y3QgZXh0NF9zYl9pbmZvICpzYmkgPSBFWFQ0X1NCKHNiKTsKKwlzdHJ1Y3QgZXh0NF9ncm91cF9pbmZvICoqbWV0YV9ncm91cF9pbmZvOworCisJLyoKKwkgKiBGaXJzdCBjaGVjayBpZiB0aGlzIGdyb3VwIGlzIHRoZSBmaXJzdCBvZiBhIHJlc2VydmVkIGJsb2NrLgorCSAqIElmIGl0J3MgdHJ1ZSwgd2UgaGF2ZSB0byBhbGxvY2F0ZSBhIG5ldyB0YWJsZSBvZiBwb2ludGVycworCSAqIHRvIGV4dDRfZ3JvdXBfaW5mbyBzdHJ1Y3R1cmVzCisJICovCisJaWYgKGdyb3VwICUgRVhUNF9ERVNDX1BFUl9CTE9DSyhzYikgPT0gMCkgeworCQltZXRhbGVuID0gc2l6ZW9mKCptZXRhX2dyb3VwX2luZm8pIDw8CisJCQlFWFQ0X0RFU0NfUEVSX0JMT0NLX0JJVFMoc2IpOworCQltZXRhX2dyb3VwX2luZm8gPSBrbWFsbG9jKG1ldGFsZW4sIEdGUF9LRVJORUwpOworCQlpZiAobWV0YV9ncm91cF9pbmZvID09IE5VTEwpIHsKKwkJCXByaW50ayhLRVJOX0VSUiAiRVhUNC1mczogY2FuJ3QgYWxsb2NhdGUgbWVtIGZvciBhICIKKwkJCSAgICAgICAiYnVkZHkgZ3JvdXBcbiIpOworCQkJZ290byBleGl0X21ldGFfZ3JvdXBfaW5mbzsKKwkJfQorCQlzYmktPnNfZ3JvdXBfaW5mb1tncm91cCA+PiBFWFQ0X0RFU0NfUEVSX0JMT0NLX0JJVFMoc2IpXSA9CisJCQltZXRhX2dyb3VwX2luZm87CisJfQorCisJLyoKKwkgKiBjYWxjdWxhdGUgbmVlZGVkIHNpemUuIGlmIGNoYW5nZSBiYl9jb3VudGVycyBzaXplLAorCSAqIGRvbid0IGZvcmdldCBhYm91dCBleHQ0X21iX2dlbmVyYXRlX2J1ZGR5KCkKKwkgKi8KKwlsZW4gPSBvZmZzZXRvZih0eXBlb2YoKiptZXRhX2dyb3VwX2luZm8pLAorCQkgICAgICAgYmJfY291bnRlcnNbc2ItPnNfYmxvY2tzaXplX2JpdHMgKyAyXSk7CisKKwltZXRhX2dyb3VwX2luZm8gPQorCQlzYmktPnNfZ3JvdXBfaW5mb1tncm91cCA+PiBFWFQ0X0RFU0NfUEVSX0JMT0NLX0JJVFMoc2IpXTsKKwlpID0gZ3JvdXAgJiAoRVhUNF9ERVNDX1BFUl9CTE9DSyhzYikgLSAxKTsKKworCW1ldGFfZ3JvdXBfaW5mb1tpXSA9IGt6YWxsb2MobGVuLCBHRlBfS0VSTkVMKTsKKwlpZiAobWV0YV9ncm91cF9pbmZvW2ldID09IE5VTEwpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJFWFQ0LWZzOiBjYW4ndCBhbGxvY2F0ZSBidWRkeSBtZW1cbiIpOworCQlnb3RvIGV4aXRfZ3JvdXBfaW5mbzsKKwl9CisJc2V0X2JpdChFWFQ0X0dST1VQX0lORk9fTkVFRF9JTklUX0JJVCwKKwkJJihtZXRhX2dyb3VwX2luZm9baV0tPmJiX3N0YXRlKSk7CisKKwkvKgorCSAqIGluaXRpYWxpemUgYmJfZnJlZSB0byBiZSBhYmxlIHRvIHNraXAKKwkgKiBlbXB0eSBncm91cHMgd2l0aG91dCBpbml0aWFsaXphdGlvbgorCSAqLworCWlmIChkZXNjLT5iZ19mbGFncyAmIGNwdV90b19sZTE2KEVYVDRfQkdfQkxPQ0tfVU5JTklUKSkgeworCQltZXRhX2dyb3VwX2luZm9baV0tPmJiX2ZyZWUgPQorCQkJZXh0NF9mcmVlX2Jsb2Nrc19hZnRlcl9pbml0KHNiLCBncm91cCwgZGVzYyk7CisJfSBlbHNlIHsKKwkJbWV0YV9ncm91cF9pbmZvW2ldLT5iYl9mcmVlID0KKwkJCWxlMTZfdG9fY3B1KGRlc2MtPmJnX2ZyZWVfYmxvY2tzX2NvdW50KTsKKwl9CisKKwlJTklUX0xJU1RfSEVBRCgmbWV0YV9ncm91cF9pbmZvW2ldLT5iYl9wcmVhbGxvY19saXN0KTsKKworI2lmZGVmIERPVUJMRV9DSEVDSworCXsKKwkJc3RydWN0IGJ1ZmZlcl9oZWFkICpiaDsKKwkJbWV0YV9ncm91cF9pbmZvW2ldLT5iYl9iaXRtYXAgPQorCQkJa21hbGxvYyhzYi0+c19ibG9ja3NpemUsIEdGUF9LRVJORUwpOworCQlCVUdfT04obWV0YV9ncm91cF9pbmZvW2ldLT5iYl9iaXRtYXAgPT0gTlVMTCk7CisJCWJoID0gZXh0NF9yZWFkX2Jsb2NrX2JpdG1hcChzYiwgZ3JvdXApOworCQlCVUdfT04oYmggPT0gTlVMTCk7CisJCW1lbWNweShtZXRhX2dyb3VwX2luZm9baV0tPmJiX2JpdG1hcCwgYmgtPmJfZGF0YSwKKwkJCXNiLT5zX2Jsb2Nrc2l6ZSk7CisJCXB1dF9iaChiaCk7CisJfQorI2VuZGlmCisKKwlyZXR1cm4gMDsKKworZXhpdF9ncm91cF9pbmZvOgorCS8qIElmIGEgbWV0YV9ncm91cF9pbmZvIHRhYmxlIGhhcyBiZWVuIGFsbG9jYXRlZCwgcmVsZWFzZSBpdCBub3cgKi8KKwlpZiAoZ3JvdXAgJSBFWFQ0X0RFU0NfUEVSX0JMT0NLKHNiKSA9PSAwKQorCQlrZnJlZShzYmktPnNfZ3JvdXBfaW5mb1tncm91cCA+PiBFWFQ0X0RFU0NfUEVSX0JMT0NLX0JJVFMoc2IpXSk7CitleGl0X21ldGFfZ3JvdXBfaW5mbzoKKwlyZXR1cm4gLUVOT01FTTsKK30gLyogZXh0NF9tYl9hZGRfZ3JvdXBpbmZvICovCisKKy8qCisgKiBBZGQgYSBncm91cCB0byB0aGUgZXhpc3RpbmcgZ3JvdXBzLgorICogVGhpcyBmdW5jdGlvbiBpcyB1c2VkIGZvciBvbmxpbmUgcmVzaXplCisgKi8KK2ludCBleHQ0X21iX2FkZF9tb3JlX2dyb3VwaW5mbyhzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLCBleHQ0X2dyb3VwX3QgZ3JvdXAsCisJCQkgICAgICAgc3RydWN0IGV4dDRfZ3JvdXBfZGVzYyAqZGVzYykKK3sKKwlzdHJ1Y3QgZXh0NF9zYl9pbmZvICpzYmkgPSBFWFQ0X1NCKHNiKTsKKwlzdHJ1Y3QgaW5vZGUgKmlub2RlID0gc2JpLT5zX2J1ZGR5X2NhY2hlOworCWludCBibG9ja3NfcGVyX3BhZ2U7CisJaW50IGJsb2NrOworCWludCBwbnVtOworCXN0cnVjdCBwYWdlICpwYWdlOworCWludCBlcnI7CisKKwkvKiBBZGQgZ3JvdXAgYmFzZWQgb24gZ3JvdXAgZGVzY3JpcHRvciovCisJZXJyID0gZXh0NF9tYl9hZGRfZ3JvdXBpbmZvKHNiLCBncm91cCwgZGVzYyk7CisJaWYgKGVycikKKwkJcmV0dXJuIGVycjsKKworCS8qCisJICogQ2FjaGUgcGFnZXMgY29udGFpbmluZyBkeW5hbWljIG1iX2FsbG9jIGRhdGFzIChidWRkeSBhbmQgYml0bWFwCisJICogZGF0YXMpIGFyZSBzZXQgbm90IHVwIHRvIGRhdGUgc28gdGhhdCB0aGV5IHdpbGwgYmUgcmUtaW5pdGlsYWl6ZWQKKwkgKiBkdXJpbmcgdGhlIG5leHQgY2FsbCB0byBleHQ0X21iX2xvYWRfYnVkZHkKKwkgKi8KKworCS8qIFNldCBidWRkeSBwYWdlIGFzIG5vdCB1cCB0byBkYXRlICovCisJYmxvY2tzX3Blcl9wYWdlID0gUEFHRV9DQUNIRV9TSVpFIC8gc2ItPnNfYmxvY2tzaXplOworCWJsb2NrID0gZ3JvdXAgKiAyOworCXBudW0gPSBibG9jayAvIGJsb2Nrc19wZXJfcGFnZTsKKwlwYWdlID0gZmluZF9nZXRfcGFnZShpbm9kZS0+aV9tYXBwaW5nLCBwbnVtKTsKKwlpZiAocGFnZSAhPSBOVUxMKSB7CisJCUNsZWFyUGFnZVVwdG9kYXRlKHBhZ2UpOworCQlwYWdlX2NhY2hlX3JlbGVhc2UocGFnZSk7CisJfQorCisJLyogU2V0IGJpdG1hcCBwYWdlIGFzIG5vdCB1cCB0byBkYXRlICovCisJYmxvY2srKzsKKwlwbnVtID0gYmxvY2sgLyBibG9ja3NfcGVyX3BhZ2U7CisJcGFnZSA9IGZpbmRfZ2V0X3BhZ2UoaW5vZGUtPmlfbWFwcGluZywgcG51bSk7CisJaWYgKHBhZ2UgIT0gTlVMTCkgeworCQlDbGVhclBhZ2VVcHRvZGF0ZShwYWdlKTsKKwkJcGFnZV9jYWNoZV9yZWxlYXNlKHBhZ2UpOworCX0KKworCXJldHVybiAwOworfQorCisvKgorICogVXBkYXRlIGFuIGV4aXN0aW5nIGdyb3VwLgorICogVGhpcyBmdW5jdGlvbiBpcyB1c2VkIGZvciBvbmxpbmUgcmVzaXplCisgKi8KK3ZvaWQgZXh0NF9tYl91cGRhdGVfZ3JvdXBfaW5mbyhzdHJ1Y3QgZXh0NF9ncm91cF9pbmZvICpncnAsIGV4dDRfZ3JwYmxrX3QgYWRkKQoreworCWdycC0+YmJfZnJlZSArPSBhZGQ7Cit9CisKIHN0YXRpYyBpbnQgZXh0NF9tYl9pbml0X2JhY2tlbmQoc3RydWN0IHN1cGVyX2Jsb2NrICpzYikKIHsKIAlleHQ0X2dyb3VwX3QgaTsKLQlpbnQgaiwgbGVuLCBtZXRhbGVuOworCWludCBtZXRhbGVuOwogCXN0cnVjdCBleHQ0X3NiX2luZm8gKnNiaSA9IEVYVDRfU0Ioc2IpOwotCWludCBudW1fbWV0YV9ncm91cF9pbmZvcyA9Ci0JCShzYmktPnNfZ3JvdXBzX2NvdW50ICsgRVhUNF9ERVNDX1BFUl9CTE9DSyhzYikgLSAxKSA+PgotCQkJRVhUNF9ERVNDX1BFUl9CTE9DS19CSVRTKHNiKTsKKwlzdHJ1Y3QgZXh0NF9zdXBlcl9ibG9jayAqZXMgPSBzYmktPnNfZXM7CisJaW50IG51bV9tZXRhX2dyb3VwX2luZm9zOworCWludCBudW1fbWV0YV9ncm91cF9pbmZvc19tYXg7CisJaW50IGFycmF5X3NpemU7CiAJc3RydWN0IGV4dDRfZ3JvdXBfaW5mbyAqKm1ldGFfZ3JvdXBfaW5mbzsKKwlzdHJ1Y3QgZXh0NF9ncm91cF9kZXNjICpkZXNjOwogCisJLyogVGhpcyBpcyB0aGUgbnVtYmVyIG9mIGJsb2NrcyB1c2VkIGJ5IEdEVCAqLworCW51bV9tZXRhX2dyb3VwX2luZm9zID0gKHNiaS0+c19ncm91cHNfY291bnQgKyBFWFQ0X0RFU0NfUEVSX0JMT0NLKHNiKSAtCisJCQkJMSkgPj4gRVhUNF9ERVNDX1BFUl9CTE9DS19CSVRTKHNiKTsKKworCS8qCisJICogVGhpcyBpcyB0aGUgdG90YWwgbnVtYmVyIG9mIGJsb2NrcyB1c2VkIGJ5IEdEVCBpbmNsdWRpbmcKKwkgKiB0aGUgbnVtYmVyIG9mIHJlc2VydmVkIGJsb2NrcyBmb3IgR0RULgorCSAqIFRoZSBzX2dyb3VwX2luZm8gYXJyYXkgaXMgYWxsb2NhdGVkIHdpdGggdGhpcyB2YWx1ZQorCSAqIHRvIGFsbG93IGEgY2xlYW4gb25saW5lIHJlc2l6ZSB3aXRob3V0IGEgY29tcGxleAorCSAqIG1hbmlwdWxhdGlvbiBvZiBwb2ludGVyLgorCSAqIFRoZSBkcmF3YmFjayBpcyB0aGUgdW51c2VkIG1lbW9yeSB3aGVuIG5vIHJlc2l6ZQorCSAqIG9jY3VycyBidXQgaXQncyB2ZXJ5IGxvdyBpbiB0ZXJtcyBvZiBwYWdlcworCSAqIChzZWUgY29tbWVudHMgYmVsb3cpCisJICogTmVlZCB0byBoYW5kbGUgdGhpcyBwcm9wZXJseSB3aGVuIE1FVEFfQkcgcmVzaXppbmcgaXMgYWxsb3dlZAorCSAqLworCW51bV9tZXRhX2dyb3VwX2luZm9zX21heCA9IG51bV9tZXRhX2dyb3VwX2luZm9zICsKKwkJCQlsZTE2X3RvX2NwdShlcy0+c19yZXNlcnZlZF9nZHRfYmxvY2tzKTsKKworCS8qCisJICogYXJyYXlfc2l6ZSBpcyB0aGUgc2l6ZSBvZiBzX2dyb3VwX2luZm8gYXJyYXkuIFdlIHJvdW5kIGl0CisJICogdG8gdGhlIG5leHQgcG93ZXIgb2YgdHdvIGJlY2F1c2UgdGhpcyBhcHByb3hpbWF0aW9uIGlzIGRvbmUKKwkgKiBpbnRlcm5hbGx5IGJ5IGttYWxsb2Mgc28gd2UgY2FuIGhhdmUgc29tZSBtb3JlIG1lbW9yeQorCSAqIGZvciBmcmVlIGhlcmUgKGUuZy4gbWF5IGJlIHVzZWQgZm9yIE1FVEFfQkcgcmVzaXplKS4KKwkgKi8KKwlhcnJheV9zaXplID0gMTsKKwl3aGlsZSAoYXJyYXlfc2l6ZSA8IHNpemVvZigqc2JpLT5zX2dyb3VwX2luZm8pICoKKwkgICAgICAgbnVtX21ldGFfZ3JvdXBfaW5mb3NfbWF4KQorCQlhcnJheV9zaXplID0gYXJyYXlfc2l6ZSA8PCAxOwogCS8qIEFuIDhUQiBmaWxlc3lzdGVtIHdpdGggNjQtYml0IHBvaW50ZXJzIHJlcXVpcmVzIGEgNDA5NiBieXRlCiAJICoga21hbGxvYy4gQSAxMjhrYiBtYWxsb2Mgc2hvdWxkIHN1ZmZpY2UgZm9yIGEgMjU2VEIgZmlsZXN5c3RlbS4KIAkgKiBTbyBhIHR3byBsZXZlbCBzY2hlbWUgc3VmZmljZXMgZm9yIG5vdy4gKi8KLQlzYmktPnNfZ3JvdXBfaW5mbyA9IGttYWxsb2Moc2l6ZW9mKCpzYmktPnNfZ3JvdXBfaW5mbykgKgotCQkJCSAgICBudW1fbWV0YV9ncm91cF9pbmZvcywgR0ZQX0tFUk5FTCk7CisJc2JpLT5zX2dyb3VwX2luZm8gPSBrbWFsbG9jKGFycmF5X3NpemUsIEdGUF9LRVJORUwpOwogCWlmIChzYmktPnNfZ3JvdXBfaW5mbyA9PSBOVUxMKSB7CiAJCXByaW50ayhLRVJOX0VSUiAiRVhUNC1mczogY2FuJ3QgYWxsb2NhdGUgYnVkZHkgbWV0YSBncm91cFxuIik7CiAJCXJldHVybiAtRU5PTUVNOwpAQCAtMjI1Niw2MyArMjQ0OCwxNSBAQAogCQlzYmktPnNfZ3JvdXBfaW5mb1tpXSA9IG1ldGFfZ3JvdXBfaW5mbzsKIAl9CiAKLQkvKgotCSAqIGNhbGN1bGF0ZSBuZWVkZWQgc2l6ZS4gaWYgY2hhbmdlIGJiX2NvdW50ZXJzIHNpemUsCi0JICogZG9uJ3QgZm9yZ2V0IGFib3V0IGV4dDRfbWJfZ2VuZXJhdGVfYnVkZHkoKQotCSAqLwotCWxlbiA9IHNpemVvZihzdHJ1Y3QgZXh0NF9ncm91cF9pbmZvKTsKLQlsZW4gKz0gc2l6ZW9mKHVuc2lnbmVkIHNob3J0KSAqIChzYi0+c19ibG9ja3NpemVfYml0cyArIDIpOwogCWZvciAoaSA9IDA7IGkgPCBzYmktPnNfZ3JvdXBzX2NvdW50OyBpKyspIHsKLQkJc3RydWN0IGV4dDRfZ3JvdXBfZGVzYyAqZGVzYzsKLQotCQltZXRhX2dyb3VwX2luZm8gPQotCQkJc2JpLT5zX2dyb3VwX2luZm9baSA+PiBFWFQ0X0RFU0NfUEVSX0JMT0NLX0JJVFMoc2IpXTsKLQkJaiA9IGkgJiAoRVhUNF9ERVNDX1BFUl9CTE9DSyhzYikgLSAxKTsKLQotCQltZXRhX2dyb3VwX2luZm9bal0gPSBremFsbG9jKGxlbiwgR0ZQX0tFUk5FTCk7Ci0JCWlmIChtZXRhX2dyb3VwX2luZm9bal0gPT0gTlVMTCkgewotCQkJcHJpbnRrKEtFUk5fRVJSICJFWFQ0LWZzOiBjYW4ndCBhbGxvY2F0ZSBidWRkeSBtZW1cbiIpOwotCQkJZ290byBlcnJfZnJlZWJ1ZGR5OwotCQl9CiAJCWRlc2MgPSBleHQ0X2dldF9ncm91cF9kZXNjKHNiLCBpLCBOVUxMKTsKIAkJaWYgKGRlc2MgPT0gTlVMTCkgewogCQkJcHJpbnRrKEtFUk5fRVJSCiAJCQkJIkVYVDQtZnM6IGNhbid0IHJlYWQgZGVzY3JpcHRvciAlbHVcbiIsIGkpOwotCQkJaSsrOwogCQkJZ290byBlcnJfZnJlZWJ1ZGR5OwogCQl9Ci0JCW1lbXNldChtZXRhX2dyb3VwX2luZm9bal0sIDAsIGxlbik7Ci0JCXNldF9iaXQoRVhUNF9HUk9VUF9JTkZPX05FRURfSU5JVF9CSVQsCi0JCQkmKG1ldGFfZ3JvdXBfaW5mb1tqXS0+YmJfc3RhdGUpKTsKLQotCQkvKgotCQkgKiBpbml0aWFsaXplIGJiX2ZyZWUgdG8gYmUgYWJsZSB0byBza2lwCi0JCSAqIGVtcHR5IGdyb3VwcyB3aXRob3V0IGluaXRpYWxpemF0aW9uCi0JCSAqLwotCQlpZiAoZGVzYy0+YmdfZmxhZ3MgJiBjcHVfdG9fbGUxNihFWFQ0X0JHX0JMT0NLX1VOSU5JVCkpIHsKLQkJCW1ldGFfZ3JvdXBfaW5mb1tqXS0+YmJfZnJlZSA9Ci0JCQkJZXh0NF9mcmVlX2Jsb2Nrc19hZnRlcl9pbml0KHNiLCBpLCBkZXNjKTsKLQkJfSBlbHNlIHsKLQkJCW1ldGFfZ3JvdXBfaW5mb1tqXS0+YmJfZnJlZSA9Ci0JCQkJbGUxNl90b19jcHUoZGVzYy0+YmdfZnJlZV9ibG9ja3NfY291bnQpOwotCQl9Ci0KLQkJSU5JVF9MSVNUX0hFQUQoJm1ldGFfZ3JvdXBfaW5mb1tqXS0+YmJfcHJlYWxsb2NfbGlzdCk7Ci0KLSNpZmRlZiBET1VCTEVfQ0hFQ0sKLQkJewotCQkJc3RydWN0IGJ1ZmZlcl9oZWFkICpiaDsKLQkJCW1ldGFfZ3JvdXBfaW5mb1tqXS0+YmJfYml0bWFwID0KLQkJCQlrbWFsbG9jKHNiLT5zX2Jsb2Nrc2l6ZSwgR0ZQX0tFUk5FTCk7Ci0JCQlCVUdfT04obWV0YV9ncm91cF9pbmZvW2pdLT5iYl9iaXRtYXAgPT0gTlVMTCk7Ci0JCQliaCA9IHJlYWRfYmxvY2tfYml0bWFwKHNiLCBpKTsKLQkJCUJVR19PTihiaCA9PSBOVUxMKTsKLQkJCW1lbWNweShtZXRhX2dyb3VwX2luZm9bal0tPmJiX2JpdG1hcCwgYmgtPmJfZGF0YSwKLQkJCQkJc2ItPnNfYmxvY2tzaXplKTsKLQkJCXB1dF9iaChiaCk7Ci0JCX0KLSNlbmRpZgotCisJCWlmIChleHQ0X21iX2FkZF9ncm91cGluZm8oc2IsIGksIGRlc2MpICE9IDApCisJCQlnb3RvIGVycl9mcmVlYnVkZHk7CiAJfQogCiAJcmV0dXJuIDA7CkBAIC0yMzM2LDYgKzI0ODAsNyBAQAogCXVuc2lnbmVkIGk7CiAJdW5zaWduZWQgb2Zmc2V0OwogCXVuc2lnbmVkIG1heDsKKwlpbnQgcmV0OwogCiAJaWYgKCF0ZXN0X29wdChzYiwgTUJBTExPQykpCiAJCXJldHVybiAwOwpAQCAtMjM3MCwxMiArMjUxNSwxMiBAQAogCX0gd2hpbGUgKGkgPD0gc2ItPnNfYmxvY2tzaXplX2JpdHMgKyAxKTsKIAogCS8qIGluaXQgZmlsZSBmb3IgYnVkZHkgZGF0YSAqLwotCWkgPSBleHQ0X21iX2luaXRfYmFja2VuZChzYik7Ci0JaWYgKGkpIHsKKwlyZXQgPSBleHQ0X21iX2luaXRfYmFja2VuZChzYik7CisJaWYgKHJldCAhPSAwKSB7CiAJCWNsZWFyX29wdChzYmktPnNfbW91bnRfb3B0LCBNQkFMTE9DKTsKIAkJa2ZyZWUoc2JpLT5zX21iX29mZnNldHMpOwogCQlrZnJlZShzYmktPnNfbWJfbWF4cyk7Ci0JCXJldHVybiBpOworCQlyZXR1cm4gcmV0OwogCX0KIAogCXNwaW5fbG9ja19pbml0KCZzYmktPnNfbWRfbG9jayk7CkBAIC0yNTQ4LDggKzI2OTMsNyBAQAogCQlleHQ0X2xvY2tfZ3JvdXAoc2IsIG1kLT5ncm91cCk7CiAJCWZvciAoaSA9IDA7IGkgPCBtZC0+bnVtOyBpKyspIHsKIAkJCW1iX2RlYnVnKCIgJXUiLCBtZC0+YmxvY2tzW2ldKTsKLQkJCWVyciA9IG1iX2ZyZWVfYmxvY2tzKE5VTEwsICZlNGIsIG1kLT5ibG9ja3NbaV0sIDEpOwotCQkJQlVHX09OKGVyciAhPSAwKTsKKwkJCW1iX2ZyZWVfYmxvY2tzKE5VTEwsICZlNGIsIG1kLT5ibG9ja3NbaV0sIDEpOwogCQl9CiAJCW1iX2RlYnVnKCJcbiIpOwogCQlleHQ0X3VubG9ja19ncm91cChzYiwgbWQtPmdyb3VwKTsKQEAgLTI1NzUsMjUgKzI3MTksMjQgQEAKIAogCiAKLSNkZWZpbmUgTUJfUFJPQ19WQUxVRV9SRUFEKG5hbWUpCQkJCVwKLXN0YXRpYyBpbnQgZXh0NF9tYl9yZWFkXyMjbmFtZShjaGFyICpwYWdlLCBjaGFyICoqc3RhcnQsCVwKLQkJb2ZmX3Qgb2ZmLCBpbnQgY291bnQsIGludCAqZW9mLCB2b2lkICpkYXRhKQlcCisjZGVmaW5lIE1CX1BST0NfRk9QUyhuYW1lKQkJCQkJXAorc3RhdGljIGludCBleHQ0X21iXyMjbmFtZSMjX3Byb2Nfc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKnYpCVwKIHsJCQkJCQkJCVwKLQlzdHJ1Y3QgZXh0NF9zYl9pbmZvICpzYmkgPSBkYXRhOwkJCVwKLQlpbnQgbGVuOwkJCQkJCVwKLQkqZW9mID0gMTsJCQkJCQlcCi0JaWYgKG9mZiAhPSAwKQkJCQkJCVwKLQkJcmV0dXJuIDA7CQkJCQlcCi0JbGVuID0gc3ByaW50ZihwYWdlLCAiJWxkXG4iLCBzYmktPnNfbWJfIyNuYW1lKTsJCVwKLQkqc3RhcnQgPSBwYWdlOwkJCQkJCVwKLQlyZXR1cm4gbGVuOwkJCQkJCVwKLX0KLQotI2RlZmluZSBNQl9QUk9DX1ZBTFVFX1dSSVRFKG5hbWUpCQkJCVwKLXN0YXRpYyBpbnQgZXh0NF9tYl93cml0ZV8jI25hbWUoc3RydWN0IGZpbGUgKmZpbGUsCQlcCi0JCWNvbnN0IGNoYXIgX191c2VyICpidWYsIHVuc2lnbmVkIGxvbmcgY250LCB2b2lkICpkYXRhKQlcCisJc3RydWN0IGV4dDRfc2JfaW5mbyAqc2JpID0gbS0+cHJpdmF0ZTsJCQlcCisJCQkJCQkJCVwKKwlzZXFfcHJpbnRmKG0sICIlbGRcbiIsIHNiaS0+c19tYl8jI25hbWUpOwkJXAorCXJldHVybiAwOwkJCQkJCVwKK30JCQkJCQkJCVwKKwkJCQkJCQkJXAorc3RhdGljIGludCBleHQ0X21iXyMjbmFtZSMjX3Byb2Nfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSlcCiB7CQkJCQkJCQlcCi0Jc3RydWN0IGV4dDRfc2JfaW5mbyAqc2JpID0gZGF0YTsJCQlcCisJcmV0dXJuIHNpbmdsZV9vcGVuKGZpbGUsIGV4dDRfbWJfIyNuYW1lIyNfcHJvY19zaG93LCBQREUoaW5vZGUpLT5kYXRhKTtcCit9CQkJCQkJCQlcCisJCQkJCQkJCVwKK3N0YXRpYyBzc2l6ZV90IGV4dDRfbWJfIyNuYW1lIyNfcHJvY193cml0ZShzdHJ1Y3QgZmlsZSAqZmlsZSwJXAorCQljb25zdCBjaGFyIF9fdXNlciAqYnVmLCBzaXplX3QgY250LCBsb2ZmX3QgKnBwb3MpCVwKK3sJCQkJCQkJCVwKKwlzdHJ1Y3QgZXh0NF9zYl9pbmZvICpzYmkgPSBQREUoZmlsZS0+Zl9wYXRoLmRlbnRyeS0+ZF9pbm9kZSktPmRhdGE7XAogCWNoYXIgc3RyWzMyXTsJCQkJCQlcCiAJbG9uZyB2YWx1ZTsJCQkJCQlcCiAJaWYgKGNudCA+PSBzaXplb2Yoc3RyKSkJCQkJCVwKQEAgLTI2MDUsMzEgKzI3NDgsMzIgQEAKIAkJcmV0dXJuIC1FUkFOR0U7CQkJCQlcCiAJc2JpLT5zX21iXyMjbmFtZSA9IHZhbHVlOwkJCQlcCiAJcmV0dXJuIGNudDsJCQkJCQlcCi19Cit9CQkJCQkJCQlcCisJCQkJCQkJCVwKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIGV4dDRfbWJfIyNuYW1lIyNfcHJvY19mb3BzID0gewlcCisJLm93bmVyCQk9IFRISVNfTU9EVUxFLAkJCQlcCisJLm9wZW4JCT0gZXh0NF9tYl8jI25hbWUjI19wcm9jX29wZW4sCQlcCisJLnJlYWQJCT0gc2VxX3JlYWQsCQkJCVwKKwkubGxzZWVrCQk9IHNlcV9sc2VlaywJCQkJXAorCS5yZWxlYXNlCT0gc2luZ2xlX3JlbGVhc2UsCQkJXAorCS53cml0ZQkJPSBleHQ0X21iXyMjbmFtZSMjX3Byb2Nfd3JpdGUsCQlcCit9OwogCi1NQl9QUk9DX1ZBTFVFX1JFQUQoc3RhdHMpOwotTUJfUFJPQ19WQUxVRV9XUklURShzdGF0cyk7Ci1NQl9QUk9DX1ZBTFVFX1JFQUQobWF4X3RvX3NjYW4pOwotTUJfUFJPQ19WQUxVRV9XUklURShtYXhfdG9fc2Nhbik7Ci1NQl9QUk9DX1ZBTFVFX1JFQUQobWluX3RvX3NjYW4pOwotTUJfUFJPQ19WQUxVRV9XUklURShtaW5fdG9fc2Nhbik7Ci1NQl9QUk9DX1ZBTFVFX1JFQUQob3JkZXIyX3JlcXMpOwotTUJfUFJPQ19WQUxVRV9XUklURShvcmRlcjJfcmVxcyk7Ci1NQl9QUk9DX1ZBTFVFX1JFQUQoc3RyZWFtX3JlcXVlc3QpOwotTUJfUFJPQ19WQUxVRV9XUklURShzdHJlYW1fcmVxdWVzdCk7Ci1NQl9QUk9DX1ZBTFVFX1JFQUQoZ3JvdXBfcHJlYWxsb2MpOwotTUJfUFJPQ19WQUxVRV9XUklURShncm91cF9wcmVhbGxvYyk7CitNQl9QUk9DX0ZPUFMoc3RhdHMpOworTUJfUFJPQ19GT1BTKG1heF90b19zY2FuKTsKK01CX1BST0NfRk9QUyhtaW5fdG9fc2Nhbik7CitNQl9QUk9DX0ZPUFMob3JkZXIyX3JlcXMpOworTUJfUFJPQ19GT1BTKHN0cmVhbV9yZXF1ZXN0KTsKK01CX1BST0NfRk9QUyhncm91cF9wcmVhbGxvYyk7CiAKICNkZWZpbmUJTUJfUFJPQ19IQU5ETEVSKG5hbWUsIHZhcikJCQkJCVwKIGRvIHsJCQkJCQkJCQlcCi0JcHJvYyA9IGNyZWF0ZV9wcm9jX2VudHJ5KG5hbWUsIG1vZGUsIHNiaS0+c19tYl9wcm9jKTsJCVwKKwlwcm9jID0gcHJvY19jcmVhdGVfZGF0YShuYW1lLCBtb2RlLCBzYmktPnNfbWJfcHJvYywJCVwKKwkJCQkmZXh0NF9tYl8jI3ZhciMjX3Byb2NfZm9wcywgc2JpKTsJXAogCWlmIChwcm9jID09IE5VTEwpIHsJCQkJCQlcCiAJCXByaW50ayhLRVJOX0VSUiAiRVhUNC1mczogY2FuJ3QgdG8gY3JlYXRlICVzXG4iLCBuYW1lKTsJXAogCQlnb3RvIGVycl9vdXQ7CQkJCQkJXAogCX0JCQkJCQkJCVwKLQlwcm9jLT5kYXRhID0gc2JpOwkJCQkJCVwKLQlwcm9jLT5yZWFkX3Byb2MgID0gZXh0NF9tYl9yZWFkXyMjdmFyIDsJCQkJXAotCXByb2MtPndyaXRlX3Byb2MgPSBleHQ0X21iX3dyaXRlXyMjdmFyOwkJCQlcCiB9IHdoaWxlICgwKQogCiBzdGF0aWMgaW50IGV4dDRfbWJfaW5pdF9wZXJfZGV2X3Byb2Moc3RydWN0IHN1cGVyX2Jsb2NrICpzYikKQEAgLTI2MzksNiArMjc4MywxMCBAQAogCXN0cnVjdCBwcm9jX2Rpcl9lbnRyeSAqcHJvYzsKIAljaGFyIGRldm5hbWVbNjRdOwogCisJaWYgKHByb2Nfcm9vdF9leHQ0ID09IE5VTEwpIHsKKwkJc2JpLT5zX21iX3Byb2MgPSBOVUxMOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CiAJYmRldm5hbWUoc2ItPnNfYmRldiwgZGV2bmFtZSk7CiAJc2JpLT5zX21iX3Byb2MgPSBwcm9jX21rZGlyKGRldm5hbWUsIHByb2Nfcm9vdF9leHQ0KTsKIApAQCAtMjc0Nyw3ICsyODk1LDcgQEAKIAogCiAJZXJyID0gLUVJTzsKLQliaXRtYXBfYmggPSByZWFkX2Jsb2NrX2JpdG1hcChzYiwgYWMtPmFjX2JfZXguZmVfZ3JvdXApOworCWJpdG1hcF9iaCA9IGV4dDRfcmVhZF9ibG9ja19iaXRtYXAoc2IsIGFjLT5hY19iX2V4LmZlX2dyb3VwKTsKIAlpZiAoIWJpdG1hcF9iaCkKIAkJZ290byBvdXRfZXJyOwogCkBAIC0yODE2LDcgKzI5NjQsMjMgQEAKIAlsZTE2X2FkZF9jcHUoJmdkcC0+YmdfZnJlZV9ibG9ja3NfY291bnQsIC1hYy0+YWNfYl9leC5mZV9sZW4pOwogCWdkcC0+YmdfY2hlY2tzdW0gPSBleHQ0X2dyb3VwX2Rlc2NfY3N1bShzYmksIGFjLT5hY19iX2V4LmZlX2dyb3VwLCBnZHApOwogCXNwaW5fdW5sb2NrKHNiX2JnbF9sb2NrKHNiaSwgYWMtPmFjX2JfZXguZmVfZ3JvdXApKTsKLQlwZXJjcHVfY291bnRlcl9zdWIoJnNiaS0+c19mcmVlYmxvY2tzX2NvdW50ZXIsIGFjLT5hY19iX2V4LmZlX2xlbik7CisKKwkvKgorCSAqIGZyZWUgYmxvY2tzIGFjY291bnQgaGFzIGFscmVhZHkgYmUgcmVkdWNlZC9yZXNlcnZlZAorCSAqIGF0IHdyaXRlX2JlZ2luKCkgdGltZSBmb3IgZGVsYXllZCBhbGxvY2F0aW9uCisJICogZG8gbm90IGRvdWJsZSBhY2NvdW50aW5nCisJICovCisJaWYgKCEoYWMtPmFjX2ZsYWdzICYgRVhUNF9NQl9ERUxBTExPQ19SRVNFUlZFRCkpCisJCXBlcmNwdV9jb3VudGVyX3N1Yigmc2JpLT5zX2ZyZWVibG9ja3NfY291bnRlciwKKwkJCQkJYWMtPmFjX2JfZXguZmVfbGVuKTsKKworCWlmIChzYmktPnNfbG9nX2dyb3Vwc19wZXJfZmxleCkgeworCQlleHQ0X2dyb3VwX3QgZmxleF9ncm91cCA9IGV4dDRfZmxleF9ncm91cChzYmksCisJCQkJCQkJICBhYy0+YWNfYl9leC5mZV9ncm91cCk7CisJCXNwaW5fbG9jayhzYl9iZ2xfbG9jayhzYmksIGZsZXhfZ3JvdXApKTsKKwkJc2JpLT5zX2ZsZXhfZ3JvdXBzW2ZsZXhfZ3JvdXBdLmZyZWVfYmxvY2tzIC09IGFjLT5hY19iX2V4LmZlX2xlbjsKKwkJc3Bpbl91bmxvY2soc2JfYmdsX2xvY2soc2JpLCBmbGV4X2dyb3VwKSk7CisJfQogCiAJZXJyID0gZXh0NF9qb3VybmFsX2RpcnR5X21ldGFkYXRhKGhhbmRsZSwgYml0bWFwX2JoKTsKIAlpZiAoZXJyKQpAQCAtMzQ3Myw4ICszNjM3LDYgQEAKIAkJaWYgKGJpdCA+PSBlbmQpCiAJCQlicmVhazsKIAkJbmV4dCA9IG1iX2ZpbmRfbmV4dF9iaXQoYml0bWFwX2JoLT5iX2RhdGEsIGVuZCwgYml0KTsKLQkJaWYgKG5leHQgPiBlbmQpCi0JCQluZXh0ID0gZW5kOwogCQlzdGFydCA9IGdyb3VwICogRVhUNF9CTE9DS1NfUEVSX0dST1VQKHNiKSArIGJpdCArCiAJCQkJbGUzMl90b19jcHUoc2JpLT5zX2VzLT5zX2ZpcnN0X2RhdGFfYmxvY2spOwogCQltYl9kZWJ1ZygiICAgIGZyZWUgcHJlYWxsb2NhdGVkICV1LyV1IGluIGdyb3VwICV1XG4iLApAQCAtMzU2OSw3ICszNzMxLDcgQEAKIAlpZiAobGlzdF9lbXB0eSgmZ3JwLT5iYl9wcmVhbGxvY19saXN0KSkKIAkJcmV0dXJuIDA7CiAKLQliaXRtYXBfYmggPSByZWFkX2Jsb2NrX2JpdG1hcChzYiwgZ3JvdXApOworCWJpdG1hcF9iaCA9IGV4dDRfcmVhZF9ibG9ja19iaXRtYXAoc2IsIGdyb3VwKTsKIAlpZiAoYml0bWFwX2JoID09IE5VTEwpIHsKIAkJLyogZXJyb3IgaGFuZGxpbmcgaGVyZSAqLwogCQlleHQ0X21iX3JlbGVhc2VfZGVzYygmZTRiKTsKQEAgLTM3NDMsNyArMzkwNSw3IEBACiAJCWVyciA9IGV4dDRfbWJfbG9hZF9idWRkeShzYiwgZ3JvdXAsICZlNGIpOwogCQlCVUdfT04oZXJyICE9IDApOyAvKiBlcnJvciBoYW5kbGluZyBoZXJlICovCiAKLQkJYml0bWFwX2JoID0gcmVhZF9ibG9ja19iaXRtYXAoc2IsIGdyb3VwKTsKKwkJYml0bWFwX2JoID0gZXh0NF9yZWFkX2Jsb2NrX2JpdG1hcChzYiwgZ3JvdXApOwogCQlpZiAoYml0bWFwX2JoID09IE5VTEwpIHsKIAkJCS8qIGVycm9yIGhhbmRsaW5nIGhlcmUgKi8KIAkJCWV4dDRfbWJfcmVsZWFzZV9kZXNjKCZlNGIpOwpAQCAtNDAxMSwxMCArNDE3MywyMSBAQAogCXNiaSA9IEVYVDRfU0Ioc2IpOwogCiAJaWYgKCF0ZXN0X29wdChzYiwgTUJBTExPQykpIHsKLQkJYmxvY2sgPSBleHQ0X25ld19ibG9ja3Nfb2xkKGhhbmRsZSwgYXItPmlub2RlLCBhci0+Z29hbCwKKwkJYmxvY2sgPSBleHQ0X29sZF9uZXdfYmxvY2tzKGhhbmRsZSwgYXItPmlub2RlLCBhci0+Z29hbCwKIAkJCQkJICAgICYoYXItPmxlbiksIGVycnApOwogCQlyZXR1cm4gYmxvY2s7CiAJfQorCWlmICghRVhUNF9JKGFyLT5pbm9kZSktPmlfZGVsYWxsb2NfcmVzZXJ2ZWRfZmxhZykgeworCQkvKgorCQkgKiBXaXRoIGRlbGFsbG9jIHdlIGFscmVhZHkgcmVzZXJ2ZWQgdGhlIGJsb2NrcworCQkgKi8KKwkJYXItPmxlbiA9IGV4dDRfaGFzX2ZyZWVfYmxvY2tzKHNiaSwgYXItPmxlbik7CisJfQorCisJaWYgKGFyLT5sZW4gPT0gMCkgeworCQkqZXJycCA9IC1FTk9TUEM7CisJCXJldHVybiAwOworCX0KIAogCXdoaWxlIChhci0+bGVuICYmIERRVU9UX0FMTE9DX0JMT0NLKGFyLT5pbm9kZSwgYXItPmxlbikpIHsKIAkJYXItPmZsYWdzIHw9IEVYVDRfTUJfSElOVF9OT1BSRUFMTE9DOwpAQCAtNDAyNiwxMCArNDE5OSwxNCBAQAogCX0KIAlpbnF1b3RhID0gYXItPmxlbjsKIAorCWlmIChFWFQ0X0koYXItPmlub2RlKS0+aV9kZWxhbGxvY19yZXNlcnZlZF9mbGFnKQorCQlhci0+ZmxhZ3MgfD0gRVhUNF9NQl9ERUxBTExPQ19SRVNFUlZFRDsKKwogCWFjID0ga21lbV9jYWNoZV9hbGxvYyhleHQ0X2FjX2NhY2hlcCwgR0ZQX05PRlMpOwogCWlmICghYWMpIHsKKwkJYXItPmxlbiA9IDA7CiAJCSplcnJwID0gLUVOT01FTTsKLQkJcmV0dXJuIDA7CisJCWdvdG8gb3V0MTsKIAl9CiAKIAlleHQ0X21iX3BvbGxfbmV3X3RyYW5zYWN0aW9uKHNiLCBoYW5kbGUpOwpAQCAtNDAzNywxMiArNDIxNCwxMSBAQAogCSplcnJwID0gZXh0NF9tYl9pbml0aWFsaXplX2NvbnRleHQoYWMsIGFyKTsKIAlpZiAoKmVycnApIHsKIAkJYXItPmxlbiA9IDA7Ci0JCWdvdG8gb3V0OworCQlnb3RvIG91dDI7CiAJfQogCiAJYWMtPmFjX29wID0gRVhUNF9NQl9ISVNUT1JZX1BSRUFMTE9DOwogCWlmICghZXh0NF9tYl91c2VfcHJlYWxsb2NhdGVkKGFjKSkgewotCiAJCWFjLT5hY19vcCA9IEVYVDRfTUJfSElTVE9SWV9BTExPQzsKIAkJZXh0NF9tYl9ub3JtYWxpemVfcmVxdWVzdChhYywgYXIpOwogcmVwZWF0OgpAQCAtNDA4NSwxMSArNDI2MSwxMiBAQAogCiAJZXh0NF9tYl9yZWxlYXNlX2NvbnRleHQoYWMpOwogCi1vdXQ6CitvdXQyOgorCWttZW1fY2FjaGVfZnJlZShleHQ0X2FjX2NhY2hlcCwgYWMpOworb3V0MToKIAlpZiAoYXItPmxlbiA8IGlucXVvdGEpCiAJCURRVU9UX0ZSRUVfQkxPQ0soYXItPmlub2RlLCBpbnF1b3RhIC0gYXItPmxlbik7CiAKLQlrbWVtX2NhY2hlX2ZyZWUoZXh0NF9hY19jYWNoZXAsIGFjKTsKIAlyZXR1cm4gYmxvY2s7CiB9CiBzdGF0aWMgdm9pZCBleHQ0X21iX3BvbGxfbmV3X3RyYW5zYWN0aW9uKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsCkBAIC00MjQyLDcgKzQ0MTksNyBAQAogCQlvdmVyZmxvdyA9IGJpdCArIGNvdW50IC0gRVhUNF9CTE9DS1NfUEVSX0dST1VQKHNiKTsKIAkJY291bnQgLT0gb3ZlcmZsb3c7CiAJfQotCWJpdG1hcF9iaCA9IHJlYWRfYmxvY2tfYml0bWFwKHNiLCBibG9ja19ncm91cCk7CisJYml0bWFwX2JoID0gZXh0NF9yZWFkX2Jsb2NrX2JpdG1hcChzYiwgYmxvY2tfZ3JvdXApOwogCWlmICghYml0bWFwX2JoKQogCQlnb3RvIGVycm9yX3JldHVybjsKIAlnZHAgPSBleHQ0X2dldF9ncm91cF9kZXNjKHNiLCBibG9ja19ncm91cCwgJmdkX2JoKTsKQEAgLTQzMDksMTAgKzQ0ODYsOSBAQAogCQlleHQ0X21iX2ZyZWVfbWV0YWRhdGEoaGFuZGxlLCAmZTRiLCBibG9ja19ncm91cCwgYml0LCBjb3VudCk7CiAJfSBlbHNlIHsKIAkJZXh0NF9sb2NrX2dyb3VwKHNiLCBibG9ja19ncm91cCk7Ci0JCWVyciA9IG1iX2ZyZWVfYmxvY2tzKGlub2RlLCAmZTRiLCBiaXQsIGNvdW50KTsKKwkJbWJfZnJlZV9ibG9ja3MoaW5vZGUsICZlNGIsIGJpdCwgY291bnQpOwogCQlleHQ0X21iX3JldHVybl90b19wcmVhbGxvY2F0aW9uKGlub2RlLCAmZTRiLCBibG9jaywgY291bnQpOwogCQlleHQ0X3VubG9ja19ncm91cChzYiwgYmxvY2tfZ3JvdXApOwotCQlCVUdfT04oZXJyICE9IDApOwogCX0KIAogCXNwaW5fbG9jayhzYl9iZ2xfbG9jayhzYmksIGJsb2NrX2dyb3VwKSk7CkBAIC00MzIxLDYgKzQ0OTcsMTMgQEAKIAlzcGluX3VubG9jayhzYl9iZ2xfbG9jayhzYmksIGJsb2NrX2dyb3VwKSk7CiAJcGVyY3B1X2NvdW50ZXJfYWRkKCZzYmktPnNfZnJlZWJsb2Nrc19jb3VudGVyLCBjb3VudCk7CiAKKwlpZiAoc2JpLT5zX2xvZ19ncm91cHNfcGVyX2ZsZXgpIHsKKwkJZXh0NF9ncm91cF90IGZsZXhfZ3JvdXAgPSBleHQ0X2ZsZXhfZ3JvdXAoc2JpLCBibG9ja19ncm91cCk7CisJCXNwaW5fbG9jayhzYl9iZ2xfbG9jayhzYmksIGZsZXhfZ3JvdXApKTsKKwkJc2JpLT5zX2ZsZXhfZ3JvdXBzW2ZsZXhfZ3JvdXBdLmZyZWVfYmxvY2tzICs9IGNvdW50OworCQlzcGluX3VubG9jayhzYl9iZ2xfbG9jayhzYmksIGZsZXhfZ3JvdXApKTsKKwl9CisKIAlleHQ0X21iX3JlbGVhc2VfZGVzYygmZTRiKTsKIAogCSpmcmVlZCArPSBjb3VudDsKZGlmZiAtLWdpdCBhL2ZzL2V4dDQvbmFtZWkuYyBiL2ZzL2V4dDQvbmFtZWkuYwppbmRleCBhYjE2YmVhLi4zODdhZDk4IDEwMDY0NAotLS0gYS9mcy9leHQ0L25hbWVpLmMKKysrIGIvZnMvZXh0NC9uYW1laS5jCkBAIC0xODMsNiArMTgzLDE2IEBACiAJCQkgICAgIHN0cnVjdCBpbm9kZSAqaW5vZGUpOwogCiAvKgorICogcCBpcyBhdCBsZWFzdCA2IGJ5dGVzIGJlZm9yZSB0aGUgZW5kIG9mIHBhZ2UKKyAqLworc3RhdGljIGlubGluZSBzdHJ1Y3QgZXh0NF9kaXJfZW50cnlfMiAqCitleHQ0X25leHRfZW50cnkoc3RydWN0IGV4dDRfZGlyX2VudHJ5XzIgKnApCit7CisJcmV0dXJuIChzdHJ1Y3QgZXh0NF9kaXJfZW50cnlfMiAqKSgoY2hhciAqKXAgKworCQlleHQ0X3JlY19sZW5fZnJvbV9kaXNrKHAtPnJlY19sZW4pKTsKK30KKworLyoKICAqIEZ1dHVyZTogdXNlIGhpZ2ggZm91ciBiaXRzIG9mIGJsb2NrIGZvciBjb2FsZXNjZS1vbi1kZWxldGUgZmxhZ3MKICAqIE1hc2sgdGhlbSBvZmYgZm9yIG5vdy4KICAqLwpAQCAtMjMxLDEzICsyNDEsMTMgQEAKIHsKIAl1bnNpZ25lZCBlbnRyeV9zcGFjZSA9IGRpci0+aV9zYi0+c19ibG9ja3NpemUgLSBFWFQ0X0RJUl9SRUNfTEVOKDEpIC0KIAkJRVhUNF9ESVJfUkVDX0xFTigyKSAtIGluZm9zaXplOwotCXJldHVybiAwPyAyMDogZW50cnlfc3BhY2UgLyBzaXplb2Yoc3RydWN0IGR4X2VudHJ5KTsKKwlyZXR1cm4gZW50cnlfc3BhY2UgLyBzaXplb2Yoc3RydWN0IGR4X2VudHJ5KTsKIH0KIAogc3RhdGljIGlubGluZSB1bnNpZ25lZCBkeF9ub2RlX2xpbWl0IChzdHJ1Y3QgaW5vZGUgKmRpcikKIHsKIAl1bnNpZ25lZCBlbnRyeV9zcGFjZSA9IGRpci0+aV9zYi0+c19ibG9ja3NpemUgLSBFWFQ0X0RJUl9SRUNfTEVOKDApOwotCXJldHVybiAwPyAyMjogZW50cnlfc3BhY2UgLyBzaXplb2Yoc3RydWN0IGR4X2VudHJ5KTsKKwlyZXR1cm4gZW50cnlfc3BhY2UgLyBzaXplb2Yoc3RydWN0IGR4X2VudHJ5KTsKIH0KIAogLyoKQEAgLTU1NCwxNSArNTY0LDYgQEAKIAogCiAvKgotICogcCBpcyBhdCBsZWFzdCA2IGJ5dGVzIGJlZm9yZSB0aGUgZW5kIG9mIHBhZ2UKLSAqLwotc3RhdGljIGlubGluZSBzdHJ1Y3QgZXh0NF9kaXJfZW50cnlfMiAqZXh0NF9uZXh0X2VudHJ5KHN0cnVjdCBleHQ0X2Rpcl9lbnRyeV8yICpwKQotewotCXJldHVybiAoc3RydWN0IGV4dDRfZGlyX2VudHJ5XzIgKikoKGNoYXIgKilwICsKLQkJZXh0NF9yZWNfbGVuX2Zyb21fZGlzayhwLT5yZWNfbGVuKSk7Ci19Ci0KLS8qCiAgKiBUaGlzIGZ1bmN0aW9uIGZpbGxzIGEgcmVkLWJsYWNrIHRyZWUgd2l0aCBpbmZvcm1hdGlvbiBmcm9tIGEKICAqIGRpcmVjdG9yeSBibG9jay4gIEl0IHJldHVybnMgdGhlIG51bWJlciBkaXJlY3RvcnkgZW50cmllcyBsb2FkZWQKICAqIGludG8gdGhlIHRyZWUuICBJZiB0aGVyZSBpcyBhbiBlcnJvciBpdCBpcyByZXR1cm5lZCBpbiBlcnIuCkBAIC05OTMsMTkgKzk5NCwyMSBAQAogCQlkZSA9IChzdHJ1Y3QgZXh0NF9kaXJfZW50cnlfMiAqKSBiaC0+Yl9kYXRhOwogCQl0b3AgPSAoc3RydWN0IGV4dDRfZGlyX2VudHJ5XzIgKikgKChjaGFyICopIGRlICsgc2ItPnNfYmxvY2tzaXplIC0KIAkJCQkgICAgICAgRVhUNF9ESVJfUkVDX0xFTigwKSk7Ci0JCWZvciAoOyBkZSA8IHRvcDsgZGUgPSBleHQ0X25leHRfZW50cnkoZGUpKQotCQlpZiAoZXh0NF9tYXRjaCAobmFtZWxlbiwgbmFtZSwgZGUpKSB7Ci0JCQlpZiAoIWV4dDRfY2hlY2tfZGlyX2VudHJ5KCJleHQ0X2ZpbmRfZW50cnkiLAotCQkJCQkJICBkaXIsIGRlLCBiaCwKLQkJCQkgIChibG9jazw8RVhUNF9CTE9DS19TSVpFX0JJVFMoc2IpKQotCQkJCQkgICsoKGNoYXIgKilkZSAtIGJoLT5iX2RhdGEpKSkgewotCQkJCWJyZWxzZSAoYmgpOworCQlmb3IgKDsgZGUgPCB0b3A7IGRlID0gZXh0NF9uZXh0X2VudHJ5KGRlKSkgeworCQkJaW50IG9mZiA9IChibG9jayA8PCBFWFQ0X0JMT0NLX1NJWkVfQklUUyhzYikpCisJCQkJICArICgoY2hhciAqKSBkZSAtIGJoLT5iX2RhdGEpOworCisJCQlpZiAoIWV4dDRfY2hlY2tfZGlyX2VudHJ5KF9fZnVuY19fLCBkaXIsIGRlLCBiaCwgb2ZmKSkgeworCQkJCWJyZWxzZShiaCk7CiAJCQkJKmVyciA9IEVSUl9CQURfRFhfRElSOwogCQkJCWdvdG8gZXJyb3V0OwogCQkJfQotCQkJKnJlc19kaXIgPSBkZTsKLQkJCWR4X3JlbGVhc2UgKGZyYW1lcyk7Ci0JCQlyZXR1cm4gYmg7CisKKwkJCWlmIChleHQ0X21hdGNoKG5hbWVsZW4sIG5hbWUsIGRlKSkgeworCQkJCSpyZXNfZGlyID0gZGU7CisJCQkJZHhfcmVsZWFzZShmcmFtZXMpOworCQkJCXJldHVybiBiaDsKKwkJCX0KIAkJfQogCQlicmVsc2UgKGJoKTsKIAkJLyogQ2hlY2sgdG8gc2VlIGlmIHdlIHNob3VsZCBjb250aW51ZSB0byBzZWFyY2ggKi8KZGlmZiAtLWdpdCBhL2ZzL2V4dDQvcmVzaXplLmMgYi9mcy9leHQ0L3Jlc2l6ZS5jCmluZGV4IDlmZjdiMWMuLmYwMDBmYmUgMTAwNjQ0Ci0tLSBhL2ZzL2V4dDQvcmVzaXplLmMKKysrIGIvZnMvZXh0NC9yZXNpemUuYwpAQCAtODY2LDYgKzg2NiwxNSBAQAogCWdkcC0+YmdfY2hlY2tzdW0gPSBleHQ0X2dyb3VwX2Rlc2NfY3N1bShzYmksIGlucHV0LT5ncm91cCwgZ2RwKTsKIAogCS8qCisJICogV2UgY2FuIGFsbG9jYXRlIG1lbW9yeSBmb3IgbWJfYWxsb2MgYmFzZWQgb24gdGhlIG5ldyBncm91cAorCSAqIGRlc2NyaXB0b3IKKwkgKi8KKwlpZiAodGVzdF9vcHQoc2IsIE1CQUxMT0MpKSB7CisJCWVyciA9IGV4dDRfbWJfYWRkX21vcmVfZ3JvdXBpbmZvKHNiLCBpbnB1dC0+Z3JvdXAsIGdkcCk7CisJCWlmIChlcnIpCisJCQlnb3RvIGV4aXRfam91cm5hbDsKKwl9CisJLyoKIAkgKiBNYWtlIHRoZSBuZXcgYmxvY2tzIGFuZCBpbm9kZXMgdmFsaWQgbmV4dC4gIFdlIGRvIHRoaXMgYmVmb3JlCiAJICogaW5jcmVhc2luZyB0aGUgZ3JvdXAgY291bnQgc28gdGhhdCBvbmNlIHRoZSBncm91cCBpcyBlbmFibGVkLAogCSAqIGFsbCBvZiBpdHMgYmxvY2tzIGFuZCBpbm9kZXMgYXJlIGFscmVhZHkgdmFsaWQuCkBAIC05NTcsNiArOTY2LDggQEAKIAloYW5kbGVfdCAqaGFuZGxlOwogCWludCBlcnI7CiAJdW5zaWduZWQgbG9uZyBmcmVlZF9ibG9ja3M7CisJZXh0NF9ncm91cF90IGdyb3VwOworCXN0cnVjdCBleHQ0X2dyb3VwX2luZm8gKmdycDsKIAogCS8qIFdlIGRvbid0IG5lZWQgdG8gd29ycnkgYWJvdXQgbG9ja2luZyB3cnQgb3RoZXIgcmVzaXplcnMganVzdAogCSAqIHlldDogd2UncmUgZ29pbmcgdG8gcmV2YWxpZGF0ZSBlcy0+c19ibG9ja3NfY291bnQgYWZ0ZXIKQEAgLTk4OCw3ICs5OTksNyBAQAogCX0KIAogCS8qIEhhbmRsZSB0aGUgcmVtYWluaW5nIGJsb2NrcyBpbiB0aGUgbGFzdCBncm91cCBvbmx5LiAqLwotCWV4dDRfZ2V0X2dyb3VwX25vX2FuZF9vZmZzZXQoc2IsIG9fYmxvY2tzX2NvdW50LCBOVUxMLCAmbGFzdCk7CisJZXh0NF9nZXRfZ3JvdXBfbm9fYW5kX29mZnNldChzYiwgb19ibG9ja3NfY291bnQsICZncm91cCwgJmxhc3QpOwogCiAJaWYgKGxhc3QgPT0gMCkgewogCQlleHQ0X3dhcm5pbmcoc2IsIF9fZnVuY19fLApAQCAtMTA2MCw2ICsxMDcxLDQ1IEBACiAJCSAgIG9fYmxvY2tzX2NvdW50ICsgYWRkKTsKIAlpZiAoKGVyciA9IGV4dDRfam91cm5hbF9zdG9wKGhhbmRsZSkpKQogCQlnb3RvIGV4aXRfcHV0OworCisJLyoKKwkgKiBNYXJrIG1iYWxsb2MgcGFnZXMgYXMgbm90IHVwIHRvIGRhdGUgc28gdGhhdCB0aGV5IHdpbGwgYmUgdXBkYXRlZAorCSAqIG5leHQgdGltZSB0aGV5IGFyZSBsb2FkZWQgYnkgZXh0NF9tYl9sb2FkX2J1ZGR5LgorCSAqLworCWlmICh0ZXN0X29wdChzYiwgTUJBTExPQykpIHsKKwkJc3RydWN0IGV4dDRfc2JfaW5mbyAqc2JpID0gRVhUNF9TQihzYik7CisJCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBzYmktPnNfYnVkZHlfY2FjaGU7CisJCWludCBibG9ja3NfcGVyX3BhZ2U7CisJCWludCBibG9jazsKKwkJaW50IHBudW07CisJCXN0cnVjdCBwYWdlICpwYWdlOworCisJCS8qIFNldCBidWRkeSBwYWdlIGFzIG5vdCB1cCB0byBkYXRlICovCisJCWJsb2Nrc19wZXJfcGFnZSA9IFBBR0VfQ0FDSEVfU0laRSAvIHNiLT5zX2Jsb2Nrc2l6ZTsKKwkJYmxvY2sgPSBncm91cCAqIDI7CisJCXBudW0gPSBibG9jayAvIGJsb2Nrc19wZXJfcGFnZTsKKwkJcGFnZSA9IGZpbmRfZ2V0X3BhZ2UoaW5vZGUtPmlfbWFwcGluZywgcG51bSk7CisJCWlmIChwYWdlICE9IE5VTEwpIHsKKwkJCUNsZWFyUGFnZVVwdG9kYXRlKHBhZ2UpOworCQkJcGFnZV9jYWNoZV9yZWxlYXNlKHBhZ2UpOworCQl9CisKKwkJLyogU2V0IGJpdG1hcCBwYWdlIGFzIG5vdCB1cCB0byBkYXRlICovCisJCWJsb2NrKys7CisJCXBudW0gPSBibG9jayAvIGJsb2Nrc19wZXJfcGFnZTsKKwkJcGFnZSA9IGZpbmRfZ2V0X3BhZ2UoaW5vZGUtPmlfbWFwcGluZywgcG51bSk7CisJCWlmIChwYWdlICE9IE5VTEwpIHsKKwkJCUNsZWFyUGFnZVVwdG9kYXRlKHBhZ2UpOworCQkJcGFnZV9jYWNoZV9yZWxlYXNlKHBhZ2UpOworCQl9CisKKwkJLyogR2V0IHRoZSBpbmZvIG9uIHRoZSBsYXN0IGdyb3VwICovCisJCWdycCA9IGV4dDRfZ2V0X2dyb3VwX2luZm8oc2IsIGdyb3VwKTsKKworCQkvKiBVcGRhdGUgZnJlZSBibG9ja3MgaW4gZ3JvdXAgaW5mbyAqLworCQlleHQ0X21iX3VwZGF0ZV9ncm91cF9pbmZvKGdycCwgYWRkKTsKKwl9CisKIAlpZiAodGVzdF9vcHQoc2IsIERFQlVHKSkKIAkJcHJpbnRrKEtFUk5fREVCVUcgIkVYVDQtZnM6IGV4dGVuZGVkIGdyb3VwIHRvICVsbHUgYmxvY2tzXG4iLAogCQkgICAgICAgZXh0NF9ibG9ja3NfY291bnQoZXMpKTsKZGlmZiAtLWdpdCBhL2ZzL2V4dDQvc3VwZXIuYyBiL2ZzL2V4dDQvc3VwZXIuYwppbmRleCAwMmJmMjQzLi4xY2IzNzFkIDEwMDY0NAotLS0gYS9mcy9leHQ0L3N1cGVyLmMKKysrIGIvZnMvZXh0NC9zdXBlci5jCkBAIC01MDYsNiArNTA2LDcgQEAKIAlleHQ0X2V4dF9yZWxlYXNlKHNiKTsKIAlleHQ0X3hhdHRyX3B1dF9zdXBlcihzYik7CiAJamJkMl9qb3VybmFsX2Rlc3Ryb3koc2JpLT5zX2pvdXJuYWwpOworCXNiaS0+c19qb3VybmFsID0gTlVMTDsKIAlpZiAoIShzYi0+c19mbGFncyAmIE1TX1JET05MWSkpIHsKIAkJRVhUNF9DTEVBUl9JTkNPTVBBVF9GRUFUVVJFKHNiLCBFWFQ0X0ZFQVRVUkVfSU5DT01QQVRfUkVDT1ZFUik7CiAJCWVzLT5zX3N0YXRlID0gY3B1X3RvX2xlMTYoc2JpLT5zX21vdW50X3N0YXRlKTsKQEAgLTUxNyw2ICs1MTgsNyBAQAogCWZvciAoaSA9IDA7IGkgPCBzYmktPnNfZ2RiX2NvdW50OyBpKyspCiAJCWJyZWxzZShzYmktPnNfZ3JvdXBfZGVzY1tpXSk7CiAJa2ZyZWUoc2JpLT5zX2dyb3VwX2Rlc2MpOworCWtmcmVlKHNiaS0+c19mbGV4X2dyb3Vwcyk7CiAJcGVyY3B1X2NvdW50ZXJfZGVzdHJveSgmc2JpLT5zX2ZyZWVibG9ja3NfY291bnRlcik7CiAJcGVyY3B1X2NvdW50ZXJfZGVzdHJveSgmc2JpLT5zX2ZyZWVpbm9kZXNfY291bnRlcik7CiAJcGVyY3B1X2NvdW50ZXJfZGVzdHJveSgmc2JpLT5zX2RpcnNfY291bnRlcik7CkBAIC01NzEsNiArNTczLDEyIEBACiAJbWVtc2V0KCZlaS0+aV9jYWNoZWRfZXh0ZW50LCAwLCBzaXplb2Yoc3RydWN0IGV4dDRfZXh0X2NhY2hlKSk7CiAJSU5JVF9MSVNUX0hFQUQoJmVpLT5pX3ByZWFsbG9jX2xpc3QpOwogCXNwaW5fbG9ja19pbml0KCZlaS0+aV9wcmVhbGxvY19sb2NrKTsKKwlqYmQyX2pvdXJuYWxfaW5pdF9qYmRfaW5vZGUoJmVpLT5qaW5vZGUsICZlaS0+dmZzX2lub2RlKTsKKwllaS0+aV9yZXNlcnZlZF9kYXRhX2Jsb2NrcyA9IDA7CisJZWktPmlfcmVzZXJ2ZWRfbWV0YV9ibG9ja3MgPSAwOworCWVpLT5pX2FsbG9jYXRlZF9tZXRhX2Jsb2NrcyA9IDA7CisJZWktPmlfZGVsYWxsb2NfcmVzZXJ2ZWRfZmxhZyA9IDA7CisJc3Bpbl9sb2NrX2luaXQoJihlaS0+aV9ibG9ja19yZXNlcnZhdGlvbl9sb2NrKSk7CiAJcmV0dXJuICZlaS0+dmZzX2lub2RlOwogfQogCkBAIC02MzUsNiArNjQzLDggQEAKIAlFWFQ0X0koaW5vZGUpLT5pX2Jsb2NrX2FsbG9jX2luZm8gPSBOVUxMOwogCWlmICh1bmxpa2VseShyc3YpKQogCQlrZnJlZShyc3YpOworCWpiZDJfam91cm5hbF9yZWxlYXNlX2piZF9pbm9kZShFWFQ0X1NCKGlub2RlLT5pX3NiKS0+c19qb3VybmFsLAorCQkJCSAgICAgICAmRVhUNF9JKGlub2RlKS0+amlub2RlKTsKIH0KIAogc3RhdGljIGlubGluZSB2b2lkIGV4dDRfc2hvd19xdW90YV9vcHRpb25zKHN0cnVjdCBzZXFfZmlsZSAqc2VxLCBzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiKQpAQCAtNjcxLDcgKzY4MSw2IEBACiAJdW5zaWduZWQgbG9uZyBkZWZfbW91bnRfb3B0czsKIAlzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiID0gdmZzLT5tbnRfc2I7CiAJc3RydWN0IGV4dDRfc2JfaW5mbyAqc2JpID0gRVhUNF9TQihzYik7Ci0Jam91cm5hbF90ICpqb3VybmFsID0gc2JpLT5zX2pvdXJuYWw7CiAJc3RydWN0IGV4dDRfc3VwZXJfYmxvY2sgKmVzID0gc2JpLT5zX2VzOwogCiAJZGVmX21vdW50X29wdHMgPSBsZTMyX3RvX2NwdShlcy0+c19kZWZhdWx0X21vdW50X29wdHMpOwpAQCAtNzQ3LDYgKzc1Niw5IEBACiAJCXNlcV9wdXRzKHNlcSwgIixub21iYWxsb2MiKTsKIAlpZiAodGVzdF9vcHQoc2IsIElfVkVSU0lPTikpCiAJCXNlcV9wdXRzKHNlcSwgIixpX3ZlcnNpb24iKTsKKwlpZiAoIXRlc3Rfb3B0KHNiLCBERUxBTExPQykpCisJCXNlcV9wdXRzKHNlcSwgIixub2RlbGFsbG9jIik7CisKIAogCWlmIChzYmktPnNfc3RyaXBlKQogCQlzZXFfcHJpbnRmKHNlcSwgIixzdHJpcGU9JWx1Iiwgc2JpLT5zX3N0cmlwZSk7CkBAIC04OTQsNyArOTA2LDcgQEAKIAlPcHRfanFmbXRfdmZzb2xkLCBPcHRfanFmbXRfdmZzdjAsIE9wdF9xdW90YSwgT3B0X25vcXVvdGEsCiAJT3B0X2lnbm9yZSwgT3B0X2JhcnJpZXIsIE9wdF9lcnIsIE9wdF9yZXNpemUsIE9wdF91c3JxdW90YSwKIAlPcHRfZ3JwcXVvdGEsIE9wdF9leHRlbnRzLCBPcHRfbm9leHRlbnRzLCBPcHRfaV92ZXJzaW9uLAotCU9wdF9tYmFsbG9jLCBPcHRfbm9tYmFsbG9jLCBPcHRfc3RyaXBlLAorCU9wdF9tYmFsbG9jLCBPcHRfbm9tYmFsbG9jLCBPcHRfc3RyaXBlLCBPcHRfZGVsYWxsb2MsIE9wdF9ub2RlbGFsbG9jLAogfTsKIAogc3RhdGljIG1hdGNoX3RhYmxlX3QgdG9rZW5zID0gewpAQCAtOTUzLDYgKzk2NSw4IEBACiAJe09wdF9ub21iYWxsb2MsICJub21iYWxsb2MifSwKIAl7T3B0X3N0cmlwZSwgInN0cmlwZT0ldSJ9LAogCXtPcHRfcmVzaXplLCAicmVzaXplIn0sCisJe09wdF9kZWxhbGxvYywgImRlbGFsbG9jIn0sCisJe09wdF9ub2RlbGFsbG9jLCAibm9kZWxhbGxvYyJ9LAogCXtPcHRfZXJyLCBOVUxMfSwKIH07CiAKQEAgLTk5MCw2ICsxMDA0LDcgQEAKIAlpbnQgcXR5cGUsIHFmbXQ7CiAJY2hhciAqcW5hbWU7CiAjZW5kaWYKKwlleHQ0X2ZzYmxrX3QgbGFzdF9ibG9jazsKIAogCWlmICghb3B0aW9ucykKIAkJcmV0dXJuIDE7CkBAIC0xMzA5LDE1ICsxMzI0LDM5IEBACiAJCQljbGVhcl9vcHQoc2JpLT5zX21vdW50X29wdCwgTk9CSCk7CiAJCQlicmVhazsKIAkJY2FzZSBPcHRfZXh0ZW50czoKKwkJCWlmICghRVhUNF9IQVNfSU5DT01QQVRfRkVBVFVSRShzYiwKKwkJCQkJRVhUNF9GRUFUVVJFX0lOQ09NUEFUX0VYVEVOVFMpKSB7CisJCQkJZXh0NF93YXJuaW5nKHNiLCBfX2Z1bmNfXywKKwkJCQkJImV4dGVudHMgZmVhdHVyZSBub3QgZW5hYmxlZCAiCisJCQkJCSJvbiB0aGlzIGZpbGVzeXN0ZW0sIHVzZSB0dW5lMmZzXG4iKTsKKwkJCQlyZXR1cm4gMDsKKwkJCX0KIAkJCXNldF9vcHQgKHNiaS0+c19tb3VudF9vcHQsIEVYVEVOVFMpOwogCQkJYnJlYWs7CiAJCWNhc2UgT3B0X25vZXh0ZW50czoKKwkJCS8qCisJCQkgKiBXaGVuIGUyZnNwcm9ncyBzdXBwb3J0IHJlc2l6aW5nIGFuIGFscmVhZHkgZXhpc3RpbmcKKwkJCSAqIGV4dDMgZmlsZSBzeXN0ZW0gdG8gZ3JlYXRlciB0aGFuIDIqKjMyIHdlIG5lZWQgdG8KKwkJCSAqIGFkZCBzdXBwb3J0IHRvIGJsb2NrIGFsbG9jYXRvciB0byBoYW5kbGUgZ3Jvd2luZworCQkJICogYWxyZWFkeSBleGlzdGluZyBibG9jayAgbWFwcGVkIGlub2RlIHNvIHRoYXQgYmxvY2tzCisJCQkgKiBhbGxvY2F0ZWQgZm9yIHRoZW0gZmFsbCB3aXRoaW4gMioqMzIKKwkJCSAqLworCQkJbGFzdF9ibG9jayA9IGV4dDRfYmxvY2tzX2NvdW50KHNiaS0+c19lcykgLSAxOworCQkJaWYgKGxhc3RfYmxvY2sgID4gMHhmZmZmZmZmZlVMTCkgeworCQkJCXByaW50ayhLRVJOX0VSUiAiRVhUNC1mczogRmlsZXN5c3RlbSB0b28gIgorCQkJCQkJImxhcmdlIHRvIG1vdW50IHdpdGggIgorCQkJCQkJIi1vIG5vZXh0ZW50cyBvcHRpb25zXG4iKTsKKwkJCQlyZXR1cm4gMDsKKwkJCX0KIAkJCWNsZWFyX29wdCAoc2JpLT5zX21vdW50X29wdCwgRVhURU5UUyk7CiAJCQlicmVhazsKIAkJY2FzZSBPcHRfaV92ZXJzaW9uOgogCQkJc2V0X29wdChzYmktPnNfbW91bnRfb3B0LCBJX1ZFUlNJT04pOwogCQkJc2ItPnNfZmxhZ3MgfD0gTVNfSV9WRVJTSU9OOwogCQkJYnJlYWs7CisJCWNhc2UgT3B0X25vZGVsYWxsb2M6CisJCQljbGVhcl9vcHQoc2JpLT5zX21vdW50X29wdCwgREVMQUxMT0MpOworCQkJYnJlYWs7CiAJCWNhc2UgT3B0X21iYWxsb2M6CiAJCQlzZXRfb3B0KHNiaS0+c19tb3VudF9vcHQsIE1CQUxMT0MpOwogCQkJYnJlYWs7CkBAIC0xMzMxLDYgKzEzNzAsOSBAQAogCQkJCXJldHVybiAwOwogCQkJc2JpLT5zX3N0cmlwZSA9IG9wdGlvbjsKIAkJCWJyZWFrOworCQljYXNlIE9wdF9kZWxhbGxvYzoKKwkJCXNldF9vcHQoc2JpLT5zX21vdW50X29wdCwgREVMQUxMT0MpOworCQkJYnJlYWs7CiAJCWRlZmF1bHQ6CiAJCQlwcmludGsgKEtFUk5fRVJSCiAJCQkJIkVYVDQtZnM6IFVucmVjb2duaXplZCBtb3VudCBvcHRpb24gXCIlc1wiICIKQEAgLTE0NDMsNiArMTQ4NSw1NCBAQAogCXJldHVybiByZXM7CiB9CiAKK3N0YXRpYyBpbnQgZXh0NF9maWxsX2ZsZXhfaW5mbyhzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiKQoreworCXN0cnVjdCBleHQ0X3NiX2luZm8gKnNiaSA9IEVYVDRfU0Ioc2IpOworCXN0cnVjdCBleHQ0X2dyb3VwX2Rlc2MgKmdkcCA9IE5VTEw7CisJc3RydWN0IGJ1ZmZlcl9oZWFkICpiaDsKKwlleHQ0X2dyb3VwX3QgZmxleF9ncm91cF9jb3VudDsKKwlleHQ0X2dyb3VwX3QgZmxleF9ncm91cDsKKwlpbnQgZ3JvdXBzX3Blcl9mbGV4ID0gMDsKKwlfX3U2NCBibG9ja19iaXRtYXAgPSAwOworCWludCBpOworCisJaWYgKCFzYmktPnNfZXMtPnNfbG9nX2dyb3Vwc19wZXJfZmxleCkgeworCQlzYmktPnNfbG9nX2dyb3Vwc19wZXJfZmxleCA9IDA7CisJCXJldHVybiAxOworCX0KKworCXNiaS0+c19sb2dfZ3JvdXBzX3Blcl9mbGV4ID0gc2JpLT5zX2VzLT5zX2xvZ19ncm91cHNfcGVyX2ZsZXg7CisJZ3JvdXBzX3Blcl9mbGV4ID0gMSA8PCBzYmktPnNfbG9nX2dyb3Vwc19wZXJfZmxleDsKKworCWZsZXhfZ3JvdXBfY291bnQgPSAoc2JpLT5zX2dyb3Vwc19jb3VudCArIGdyb3Vwc19wZXJfZmxleCAtIDEpIC8KKwkJZ3JvdXBzX3Blcl9mbGV4OworCXNiaS0+c19mbGV4X2dyb3VwcyA9IGttYWxsb2MoZmxleF9ncm91cF9jb3VudCAqCisJCQkJICAgICBzaXplb2Yoc3RydWN0IGZsZXhfZ3JvdXBzKSwgR0ZQX0tFUk5FTCk7CisJaWYgKHNiaS0+c19mbGV4X2dyb3VwcyA9PSBOVUxMKSB7CisJCXByaW50ayhLRVJOX0VSUiAiRVhUNC1mczogbm90IGVub3VnaCBtZW1vcnlcbiIpOworCQlnb3RvIGZhaWxlZDsKKwl9CisJbWVtc2V0KHNiaS0+c19mbGV4X2dyb3VwcywgMCwgZmxleF9ncm91cF9jb3VudCAqCisJICAgICAgIHNpemVvZihzdHJ1Y3QgZmxleF9ncm91cHMpKTsKKworCWdkcCA9IGV4dDRfZ2V0X2dyb3VwX2Rlc2Moc2IsIDEsICZiaCk7CisJYmxvY2tfYml0bWFwID0gZXh0NF9ibG9ja19iaXRtYXAoc2IsIGdkcCkgLSAxOworCisJZm9yIChpID0gMDsgaSA8IHNiaS0+c19ncm91cHNfY291bnQ7IGkrKykgeworCQlnZHAgPSBleHQ0X2dldF9ncm91cF9kZXNjKHNiLCBpLCAmYmgpOworCisJCWZsZXhfZ3JvdXAgPSBleHQ0X2ZsZXhfZ3JvdXAoc2JpLCBpKTsKKwkJc2JpLT5zX2ZsZXhfZ3JvdXBzW2ZsZXhfZ3JvdXBdLmZyZWVfaW5vZGVzICs9CisJCQlsZTE2X3RvX2NwdShnZHAtPmJnX2ZyZWVfaW5vZGVzX2NvdW50KTsKKwkJc2JpLT5zX2ZsZXhfZ3JvdXBzW2ZsZXhfZ3JvdXBdLmZyZWVfYmxvY2tzICs9CisJCQlsZTE2X3RvX2NwdShnZHAtPmJnX2ZyZWVfYmxvY2tzX2NvdW50KTsKKwl9CisKKwlyZXR1cm4gMTsKK2ZhaWxlZDoKKwlyZXR1cm4gMDsKK30KKwogX19sZTE2IGV4dDRfZ3JvdXBfZGVzY19jc3VtKHN0cnVjdCBleHQ0X3NiX2luZm8gKnNiaSwgX191MzIgYmxvY2tfZ3JvdXAsCiAJCQkgICAgc3RydWN0IGV4dDRfZ3JvdXBfZGVzYyAqZ2RwKQogewpAQCAtMTgxMCw4ICsxOTAwLDggQEAKIH0KIAogc3RhdGljIGludCBleHQ0X2ZpbGxfc3VwZXIgKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsIHZvaWQgKmRhdGEsIGludCBzaWxlbnQpCi0JCQkJX19yZWxlYXNlcyhrZXJuZWxfc2VtKQotCQkJCV9fYWNxdWlyZXMoa2VybmVsX3NlbSkKKwkJCQlfX3JlbGVhc2VzKGtlcm5lbF9sb2NrKQorCQkJCV9fYWNxdWlyZXMoa2VybmVsX2xvY2spCiAKIHsKIAlzdHJ1Y3QgYnVmZmVyX2hlYWQgKiBiaDsKQEAgLTE4NTEsMTEgKzE5NDEsNiBAQAogCQlnb3RvIG91dF9mYWlsOwogCX0KIAotCWlmICghc2Jfc2V0X2Jsb2Nrc2l6ZShzYiwgYmxvY2tzaXplKSkgewotCQlwcmludGsoS0VSTl9FUlIgIkVYVDQtZnM6IGJhZCBibG9ja3NpemUgJWQuXG4iLCBibG9ja3NpemUpOwotCQlnb3RvIG91dF9mYWlsOwotCX0KLQogCS8qCiAJICogVGhlIGV4dDQgc3VwZXJibG9jayB3aWxsIG5vdCBiZSBidWZmZXIgYWxpZ25lZCBmb3Igb3RoZXIgdGhhbiAxa0IKIAkgKiBibG9jayBzaXplcy4gIFdlIG5lZWQgdG8gY2FsY3VsYXRlIHRoZSBvZmZzZXQgZnJvbSBidWZmZXIgc3RhcnQuCkBAIC0xOTE5LDE1ICsyMDA0LDI4IEBACiAKIAkvKgogCSAqIHR1cm4gb24gZXh0ZW50cyBmZWF0dXJlIGJ5IGRlZmF1bHQgaW4gZXh0NCBmaWxlc3lzdGVtCi0JICogVXNlciAtbyBub2V4dGVudHMgdG8gdHVybiBpdCBvZmYKKwkgKiBvbmx5IGlmIGZlYXR1cmUgZmxhZyBhbHJlYWR5IHNldCBieSBta2ZzIG9yIHR1bmUyZnMuCisJICogVXNlIC1vIG5vZXh0ZW50cyB0byB0dXJuIGl0IG9mZgogCSAqLwotCXNldF9vcHQoc2JpLT5zX21vdW50X29wdCwgRVhURU5UUyk7CisJaWYgKEVYVDRfSEFTX0lOQ09NUEFUX0ZFQVRVUkUoc2IsIEVYVDRfRkVBVFVSRV9JTkNPTVBBVF9FWFRFTlRTKSkKKwkJc2V0X29wdChzYmktPnNfbW91bnRfb3B0LCBFWFRFTlRTKTsKKwllbHNlCisJCWV4dDRfd2FybmluZyhzYiwgX19mdW5jX18sCisJCQkiZXh0ZW50cyBmZWF0dXJlIG5vdCBlbmFibGVkIG9uIHRoaXMgZmlsZXN5c3RlbSwgIgorCQkJInVzZSB0dW5lMmZzLlxuIik7CiAJLyoKLQkgKiB0dXJuIG9uIG1iYWxsb2MgZmVhdHVyZSBieSBkZWZhdWx0IGluIGV4dDQgZmlsZXN5c3RlbQotCSAqIFVzZXIgLW8gbm9tYmFsbG9jIHRvIHR1cm4gaXQgb2ZmCisJICogdHVybiBvbiBtYmFsbG9jIGNvZGUgYnkgZGVmYXVsdCBpbiBleHQ0IGZpbGVzeXN0ZW0KKwkgKiBVc2UgLW8gbm9tYmFsbG9jIHRvIHR1cm4gaXQgb2ZmCiAJICovCiAJc2V0X29wdChzYmktPnNfbW91bnRfb3B0LCBNQkFMTE9DKTsKIAorCS8qCisJICogZW5hYmxlIGRlbGF5ZWQgYWxsb2NhdGlvbiBieSBkZWZhdWx0CisJICogVXNlIC1vIG5vZGVsYWxsb2MgdG8gdHVybiBpdCBvZmYKKwkgKi8KKwlzZXRfb3B0KHNiaS0+c19tb3VudF9vcHQsIERFTEFMTE9DKTsKKworCiAJaWYgKCFwYXJzZV9vcHRpb25zICgoY2hhciAqKSBkYXRhLCBzYiwgJmpvdXJuYWxfaW51bSwgJmpvdXJuYWxfZGV2bnVtLAogCQkJICAgIE5VTEwsIDApKQogCQlnb3RvIGZhaWxlZF9tb3VudDsKQEAgLTIxMzgsNiArMjIzNiwxNCBAQAogCQlwcmludGsoS0VSTl9FUlIgIkVYVDQtZnM6IGdyb3VwIGRlc2NyaXB0b3JzIGNvcnJ1cHRlZCFcbiIpOwogCQlnb3RvIGZhaWxlZF9tb3VudDI7CiAJfQorCWlmIChFWFQ0X0hBU19JTkNPTVBBVF9GRUFUVVJFKHNiLCBFWFQ0X0ZFQVRVUkVfSU5DT01QQVRfRkxFWF9CRykpCisJCWlmICghZXh0NF9maWxsX2ZsZXhfaW5mbyhzYikpIHsKKwkJCXByaW50ayhLRVJOX0VSUgorCQkJICAgICAgICJFWFQ0LWZzOiB1bmFibGUgdG8gaW5pdGlhbGl6ZSAiCisJCQkgICAgICAgImZsZXhfYmcgbWV0YSBpbmZvIVxuIik7CisJCQlnb3RvIGZhaWxlZF9tb3VudDI7CisJCX0KKwogCXNiaS0+c19nZGJfY291bnQgPSBkYl9jb3VudDsKIAlnZXRfcmFuZG9tX2J5dGVzKCZzYmktPnNfbmV4dF9nZW5lcmF0aW9uLCBzaXplb2YodTMyKSk7CiAJc3Bpbl9sb2NrX2luaXQoJnNiaS0+c19uZXh0X2dlbl9sb2NrKTsKQEAgLTIzNTgsNiArMjQ2NCwxMyBAQAogCQl0ZXN0X29wdChzYixEQVRBX0ZMQUdTKSA9PSBFWFQ0X01PVU5UX09SREVSRURfREFUQSA/ICJvcmRlcmVkIjoKIAkJIndyaXRlYmFjayIpOwogCisJaWYgKHRlc3Rfb3B0KHNiLCBEQVRBX0ZMQUdTKSA9PSBFWFQ0X01PVU5UX0pPVVJOQUxfREFUQSkgeworCQlwcmludGsoS0VSTl9XQVJOSU5HICJFWFQ0LWZzOiBJZ25vcmluZyBkZWxhbGxvYyBvcHRpb24gLSAiCisJCQkJInJlcXVlc3RlZCBkYXRhIGpvdXJuYWxpbmcgbW9kZVxuIik7CisJCWNsZWFyX29wdChzYmktPnNfbW91bnRfb3B0LCBERUxBTExPQyk7CisJfSBlbHNlIGlmICh0ZXN0X29wdChzYiwgREVMQUxMT0MpKQorCQlwcmludGsoS0VSTl9JTkZPICJFWFQ0LWZzOiBkZWxheWVkIGFsbG9jYXRpb24gZW5hYmxlZFxuIik7CisKIAlleHQ0X2V4dF9pbml0KHNiKTsKIAlleHQ0X21iX2luaXQoc2IsIG5lZWRzX3JlY292ZXJ5KTsKIApAQCAtMjM3Miw2ICsyNDg1LDcgQEAKIAogZmFpbGVkX21vdW50NDoKIAlqYmQyX2pvdXJuYWxfZGVzdHJveShzYmktPnNfam91cm5hbCk7CisJc2JpLT5zX2pvdXJuYWwgPSBOVUxMOwogZmFpbGVkX21vdW50MzoKIAlwZXJjcHVfY291bnRlcl9kZXN0cm95KCZzYmktPnNfZnJlZWJsb2Nrc19jb3VudGVyKTsKIAlwZXJjcHVfY291bnRlcl9kZXN0cm95KCZzYmktPnNfZnJlZWlub2Rlc19jb3VudGVyKTsKQEAgLTMzMjUsNyArMzQzOSw3IEBACiAJCQllcnIgPSBleHQ0X2pvdXJuYWxfZGlydHlfbWV0YWRhdGEoaGFuZGxlLCBiaCk7CiAJCWVsc2UgewogCQkJLyogQWx3YXlzIGRvIGF0IGxlYXN0IG9yZGVyZWQgd3JpdGVzIGZvciBxdW90YXMgKi8KLQkJCWVyciA9IGV4dDRfam91cm5hbF9kaXJ0eV9kYXRhKGhhbmRsZSwgYmgpOworCQkJZXJyID0gZXh0NF9qYmQyX2ZpbGVfaW5vZGUoaGFuZGxlLCBpbm9kZSk7CiAJCQltYXJrX2J1ZmZlcl9kaXJ0eShiaCk7CiAJCX0KIAkJYnJlbHNlKGJoKTsKZGlmZiAtLWdpdCBhL2ZzL2V4dDQveGF0dHIuYyBiL2ZzL2V4dDQveGF0dHIuYwppbmRleCBmZjA4NjMzLi45M2M1ZmRjIDEwMDY0NAotLS0gYS9mcy9leHQ0L3hhdHRyLmMKKysrIGIvZnMvZXh0NC94YXR0ci5jCkBAIC04MTAsNyArODEwLDcgQEAKIAkJCS8qIFdlIG5lZWQgdG8gYWxsb2NhdGUgYSBuZXcgYmxvY2sgKi8KIAkJCWV4dDRfZnNibGtfdCBnb2FsID0gZXh0NF9ncm91cF9maXJzdF9ibG9ja19ubyhzYiwKIAkJCQkJCUVYVDRfSShpbm9kZSktPmlfYmxvY2tfZ3JvdXApOwotCQkJZXh0NF9mc2Jsa190IGJsb2NrID0gZXh0NF9uZXdfYmxvY2soaGFuZGxlLCBpbm9kZSwKKwkJCWV4dDRfZnNibGtfdCBibG9jayA9IGV4dDRfbmV3X21ldGFfYmxvY2soaGFuZGxlLCBpbm9kZSwKIAkJCQkJCQlnb2FsLCAmZXJyb3IpOwogCQkJaWYgKGVycm9yKQogCQkJCWdvdG8gY2xlYW51cDsKZGlmZiAtLWdpdCBhL2ZzL2V4dDQveGF0dHJfdHJ1c3RlZC5jIGIvZnMvZXh0NC94YXR0cl90cnVzdGVkLmMKaW5kZXggZmZmMzMzOC4uYWMxYTUyYyAxMDA2NDQKLS0tIGEvZnMvZXh0NC94YXR0cl90cnVzdGVkLmMKKysrIGIvZnMvZXh0NC94YXR0cl90cnVzdGVkLmMKQEAgLTEzLDEzICsxMywxMSBAQAogI2luY2x1ZGUgImV4dDQuaCIKICNpbmNsdWRlICJ4YXR0ci5oIgogCi0jZGVmaW5lIFhBVFRSX1RSVVNURURfUFJFRklYICJ0cnVzdGVkLiIKLQogc3RhdGljIHNpemVfdAogZXh0NF94YXR0cl90cnVzdGVkX2xpc3Qoc3RydWN0IGlub2RlICppbm9kZSwgY2hhciAqbGlzdCwgc2l6ZV90IGxpc3Rfc2l6ZSwKIAkJCWNvbnN0IGNoYXIgKm5hbWUsIHNpemVfdCBuYW1lX2xlbikKIHsKLQljb25zdCBzaXplX3QgcHJlZml4X2xlbiA9IHNpemVvZihYQVRUUl9UUlVTVEVEX1BSRUZJWCktMTsKKwljb25zdCBzaXplX3QgcHJlZml4X2xlbiA9IFhBVFRSX1RSVVNURURfUFJFRklYX0xFTjsKIAljb25zdCBzaXplX3QgdG90YWxfbGVuID0gcHJlZml4X2xlbiArIG5hbWVfbGVuICsgMTsKIAogCWlmICghY2FwYWJsZShDQVBfU1lTX0FETUlOKSkKZGlmZiAtLWdpdCBhL2ZzL2V4dDQveGF0dHJfdXNlci5jIGIvZnMvZXh0NC94YXR0cl91c2VyLmMKaW5kZXggNjdiZTcyMy4uZDkxYWE2MSAxMDA2NDQKLS0tIGEvZnMvZXh0NC94YXR0cl91c2VyLmMKKysrIGIvZnMvZXh0NC94YXR0cl91c2VyLmMKQEAgLTEyLDEzICsxMiwxMSBAQAogI2luY2x1ZGUgImV4dDQuaCIKICNpbmNsdWRlICJ4YXR0ci5oIgogCi0jZGVmaW5lIFhBVFRSX1VTRVJfUFJFRklYICJ1c2VyLiIKLQogc3RhdGljIHNpemVfdAogZXh0NF94YXR0cl91c2VyX2xpc3Qoc3RydWN0IGlub2RlICppbm9kZSwgY2hhciAqbGlzdCwgc2l6ZV90IGxpc3Rfc2l6ZSwKIAkJICAgICBjb25zdCBjaGFyICpuYW1lLCBzaXplX3QgbmFtZV9sZW4pCiB7Ci0JY29uc3Qgc2l6ZV90IHByZWZpeF9sZW4gPSBzaXplb2YoWEFUVFJfVVNFUl9QUkVGSVgpLTE7CisJY29uc3Qgc2l6ZV90IHByZWZpeF9sZW4gPSBYQVRUUl9VU0VSX1BSRUZJWF9MRU47CiAJY29uc3Qgc2l6ZV90IHRvdGFsX2xlbiA9IHByZWZpeF9sZW4gKyBuYW1lX2xlbiArIDE7CiAKIAlpZiAoIXRlc3Rfb3B0KGlub2RlLT5pX3NiLCBYQVRUUl9VU0VSKSkKZGlmZiAtLWdpdCBhL2ZzL2ZhdC9jYWNoZS5jIGIvZnMvZmF0L2NhY2hlLmMKaW5kZXggZmRhMjU0NzkuLjNhOWVjYWM4IDEwMDY0NAotLS0gYS9mcy9mYXQvY2FjaGUuYworKysgYi9mcy9mYXQvY2FjaGUuYwpAQCAtNjEsNyArNjEsNyBAQAogCiBzdGF0aWMgaW5saW5lIHN0cnVjdCBmYXRfY2FjaGUgKmZhdF9jYWNoZV9hbGxvYyhzdHJ1Y3QgaW5vZGUgKmlub2RlKQogewotCXJldHVybiBrbWVtX2NhY2hlX2FsbG9jKGZhdF9jYWNoZV9jYWNoZXAsIEdGUF9LRVJORUwpOworCXJldHVybiBrbWVtX2NhY2hlX2FsbG9jKGZhdF9jYWNoZV9jYWNoZXAsIEdGUF9OT0ZTKTsKIH0KIAogc3RhdGljIGlubGluZSB2b2lkIGZhdF9jYWNoZV9mcmVlKHN0cnVjdCBmYXRfY2FjaGUgKmNhY2hlKQpkaWZmIC0tZ2l0IGEvZnMvZmF0L2Rpci5jIGIvZnMvZmF0L2Rpci5jCmluZGV4IDQ4NjcyNWUuLjM0NTQxZDAgMTAwNjQ0Ci0tLSBhL2ZzL2ZhdC9kaXIuYworKysgYi9mcy9mYXQvZGlyLmMKQEAgLTQ3Miw3ICs0NzIsNyBAQAogCWxvZmZfdCBjcG9zOwogCWludCByZXQgPSAwOwogCi0JbG9ja19rZXJuZWwoKTsKKwlsb2NrX3N1cGVyKHNiKTsKIAogCWNwb3MgPSBmaWxwLT5mX3BvczsKIAkvKiBGYWtlIC4gYW5kIC4uIGZvciB0aGUgcm9vdCBkaXJlY3RvcnkuICovCkBAIC02NTQsNyArNjU0LDcgQEAKIAlpZiAodW5pY29kZSkKIAkJX19wdXRuYW1lKHVuaWNvZGUpOwogb3V0OgotCXVubG9ja19rZXJuZWwoKTsKKwl1bmxvY2tfc3VwZXIoc2IpOwogCXJldHVybiByZXQ7CiB9CiAKZGlmZiAtLWdpdCBhL2ZzL2ZhdC9maWxlLmMgYi9mcy9mYXQvZmlsZS5jCmluZGV4IDc3MTMyNmIuLmM2NzJkZjQgMTAwNjQ0Ci0tLSBhL2ZzL2ZhdC9maWxlLmMKKysrIGIvZnMvZmF0L2ZpbGUuYwpAQCAtMTEsNyArMTEsNiBAQAogI2luY2x1ZGUgPGxpbnV4L21vdW50Lmg+CiAjaW5jbHVkZSA8bGludXgvdGltZS5oPgogI2luY2x1ZGUgPGxpbnV4L21zZG9zX2ZzLmg+Ci0jaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9idWZmZXJfaGVhZC5oPgogI2luY2x1ZGUgPGxpbnV4L3dyaXRlYmFjay5oPgogI2luY2x1ZGUgPGxpbnV4L2JhY2tpbmctZGV2Lmg+CkBAIC0yNDIsOSArMjQxLDcgQEAKIAogCW5yX2NsdXN0ZXJzID0gKGlub2RlLT5pX3NpemUgKyAoY2x1c3Rlcl9zaXplIC0gMSkpID4+IHNiaS0+Y2x1c3Rlcl9iaXRzOwogCi0JbG9ja19rZXJuZWwoKTsKIAlmYXRfZnJlZShpbm9kZSwgbnJfY2x1c3RlcnMpOwotCXVubG9ja19rZXJuZWwoKTsKIAlmYXRfZmx1c2hfaW5vZGVzKGlub2RlLT5pX3NiLCBpbm9kZSwgTlVMTCk7CiB9CiAKQEAgLTMxMCw4ICszMDcsNiBAQAogCWludCBlcnJvciA9IDA7CiAJdW5zaWduZWQgaW50IGlhX3ZhbGlkOwogCi0JbG9ja19rZXJuZWwoKTsKLQogCS8qCiAJICogRXhwYW5kIHRoZSBmaWxlLiBTaW5jZSBpbm9kZV9zZXRhdHRyKCkgdXBkYXRlcyAtPmlfc2l6ZQogCSAqIGJlZm9yZSBjYWxsaW5nIHRoZSAtPnRydW5jYXRlKCksIGJ1dCBGQVQgbmVlZHMgdG8gZmlsbCB0aGUKQEAgLTM2Niw3ICszNjEsNiBAQAogCiAJZXJyb3IgPSBpbm9kZV9zZXRhdHRyKGlub2RlLCBhdHRyKTsKIG91dDoKLQl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIGVycm9yOwogfQogRVhQT1JUX1NZTUJPTF9HUEwoZmF0X3NldGF0dHIpOwpkaWZmIC0tZ2l0IGEvZnMvZmF0L2lub2RlLmMgYi9mcy9mYXQvaW5vZGUuYwppbmRleCA0ZTBhM2RkLi40NmE0NTA4IDEwMDY0NAotLS0gYS9mcy9mYXQvaW5vZGUuYworKysgYi9mcy9mYXQvaW5vZGUuYwpAQCAtNDQwLDE0ICs0NDAsMTMgQEAKIAogc3RhdGljIHZvaWQgZmF0X2NsZWFyX2lub2RlKHN0cnVjdCBpbm9kZSAqaW5vZGUpCiB7Ci0Jc3RydWN0IG1zZG9zX3NiX2luZm8gKnNiaSA9IE1TRE9TX1NCKGlub2RlLT5pX3NiKTsKKwlzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiID0gaW5vZGUtPmlfc2I7CisJc3RydWN0IG1zZG9zX3NiX2luZm8gKnNiaSA9IE1TRE9TX1NCKHNiKTsKIAotCWxvY2tfa2VybmVsKCk7CiAJc3Bpbl9sb2NrKCZzYmktPmlub2RlX2hhc2hfbG9jayk7CiAJZmF0X2NhY2hlX2ludmFsX2lub2RlKGlub2RlKTsKIAlobGlzdF9kZWxfaW5pdCgmTVNET1NfSShpbm9kZSktPmlfZmF0X2hhc2gpOwogCXNwaW5fdW5sb2NrKCZzYmktPmlub2RlX2hhc2hfbG9jayk7Ci0JdW5sb2NrX2tlcm5lbCgpOwogfQogCiBzdGF0aWMgdm9pZCBmYXRfd3JpdGVfc3VwZXIoc3RydWN0IHN1cGVyX2Jsb2NrICpzYikKQEAgLTQ4NSw3ICs0ODQsNyBAQAogc3RhdGljIHN0cnVjdCBpbm9kZSAqZmF0X2FsbG9jX2lub2RlKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IpCiB7CiAJc3RydWN0IG1zZG9zX2lub2RlX2luZm8gKmVpOwotCWVpID0ga21lbV9jYWNoZV9hbGxvYyhmYXRfaW5vZGVfY2FjaGVwLCBHRlBfS0VSTkVMKTsKKwllaSA9IGttZW1fY2FjaGVfYWxsb2MoZmF0X2lub2RlX2NhY2hlcCwgR0ZQX05PRlMpOwogCWlmICghZWkpCiAJCXJldHVybiBOVUxMOwogCXJldHVybiAmZWktPnZmc19pbm9kZTsKQEAgLTU2Nyw3ICs1NjYsNyBAQAogCWlmIChpbm9kZS0+aV9pbm8gPT0gTVNET1NfUk9PVF9JTk8gfHwgIWlfcG9zKQogCQlyZXR1cm4gMDsKIAotCWxvY2tfa2VybmVsKCk7CisJbG9ja19zdXBlcihzYik7CiAJYmggPSBzYl9icmVhZChzYiwgaV9wb3MgPj4gc2JpLT5kaXJfcGVyX2Jsb2NrX2JpdHMpOwogCWlmICghYmgpIHsKIAkJcHJpbnRrKEtFUk5fRVJSICJGQVQ6IHVuYWJsZSB0byByZWFkIGlub2RlIGJsb2NrICIKQEAgLTU3OSw3ICs1NzgsNyBAQAogCWlmIChpX3BvcyAhPSBNU0RPU19JKGlub2RlKS0+aV9wb3MpIHsKIAkJc3Bpbl91bmxvY2soJnNiaS0+aW5vZGVfaGFzaF9sb2NrKTsKIAkJYnJlbHNlKGJoKTsKLQkJdW5sb2NrX2tlcm5lbCgpOworCQl1bmxvY2tfc3VwZXIoc2IpOwogCQlnb3RvIHJldHJ5OwogCX0KIApAQCAtNjA2LDcgKzYwNSw3IEBACiAJCWVyciA9IHN5bmNfZGlydHlfYnVmZmVyKGJoKTsKIAlicmVsc2UoYmgpOwogb3V0OgotCXVubG9ja19rZXJuZWwoKTsKKwl1bmxvY2tfc3VwZXIoc2IpOwogCXJldHVybiBlcnI7CiB9CiAKQEAgLTczNiw2ICs3MzUsNyBAQAogCiBzdGF0aWMgc3RydWN0IGRlbnRyeSAqZmF0X2dldF9wYXJlbnQoc3RydWN0IGRlbnRyeSAqY2hpbGQpCiB7CisJc3RydWN0IHN1cGVyX2Jsb2NrICpzYiA9IGNoaWxkLT5kX3NiOwogCXN0cnVjdCBidWZmZXJfaGVhZCAqYmg7CiAJc3RydWN0IG1zZG9zX2Rpcl9lbnRyeSAqZGU7CiAJbG9mZl90IGlfcG9zOwpAQCAtNzQzLDE0ICs3NDMsMTQgQEAKIAlzdHJ1Y3QgaW5vZGUgKmlub2RlOwogCWludCBlcnI7CiAKLQlsb2NrX2tlcm5lbCgpOworCWxvY2tfc3VwZXIoc2IpOwogCiAJZXJyID0gZmF0X2dldF9kb3Rkb3RfZW50cnkoY2hpbGQtPmRfaW5vZGUsICZiaCwgJmRlLCAmaV9wb3MpOwogCWlmIChlcnIpIHsKIAkJcGFyZW50ID0gRVJSX1BUUihlcnIpOwogCQlnb3RvIG91dDsKIAl9Ci0JaW5vZGUgPSBmYXRfYnVpbGRfaW5vZGUoY2hpbGQtPmRfc2IsIGRlLCBpX3Bvcyk7CisJaW5vZGUgPSBmYXRfYnVpbGRfaW5vZGUoc2IsIGRlLCBpX3Bvcyk7CiAJYnJlbHNlKGJoKTsKIAlpZiAoSVNfRVJSKGlub2RlKSkgewogCQlwYXJlbnQgPSBFUlJfQ0FTVChpbm9kZSk7CkBAIC03NjIsNyArNzYyLDcgQEAKIAkJcGFyZW50ID0gRVJSX1BUUigtRU5PTUVNKTsKIAl9CiBvdXQ6Ci0JdW5sb2NrX2tlcm5lbCgpOworCXVubG9ja19zdXBlcihzYik7CiAKIAlyZXR1cm4gcGFyZW50OwogfQpAQCAtMTE3Miw2ICsxMTcyLDEyIEBACiAJbG9uZyBlcnJvcjsKIAljaGFyIGJ1Zls1MF07CiAKKwkvKgorCSAqIEdGUF9LRVJORUwgaXMgb2sgaGVyZSwgYmVjYXVzZSB3aGlsZSB3ZSBkbyBob2xkIHRoZQorCSAqIHN1cGVibG9jayBsb2NrLCBtZW1vcnkgcHJlc3N1cmUgY2FuJ3QgY2FsbCBiYWNrIGludG8KKwkgKiB0aGUgZmlsZXN5c3RlbSwgc2luY2Ugd2UncmUgb25seSBqdXN0IGFib3V0IHRvIG1vdW50CisJICogaXQgYW5kIGhhdmUgbm8gaW5vZGVzIGV0YyBhY3RpdmUhCisJICovCiAJc2JpID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IG1zZG9zX3NiX2luZm8pLCBHRlBfS0VSTkVMKTsKIAlpZiAoIXNiaSkKIAkJcmV0dXJuIC1FTk9NRU07CmRpZmYgLS1naXQgYS9mcy9mY250bC5jIGIvZnMvZmNudGwuYwppbmRleCBiZmQ3NzY1Li4zMzBhN2Q3IDEwMDY0NAotLS0gYS9mcy9mY250bC5jCisrKyBiL2ZzL2ZjbnRsLmMKQEAgLTEyLDcgKzEyLDYgQEAKICNpbmNsdWRlIDxsaW51eC9mZHRhYmxlLmg+CiAjaW5jbHVkZSA8bGludXgvY2FwYWJpbGl0eS5oPgogI2luY2x1ZGUgPGxpbnV4L2Rub3RpZnkuaD4KLSNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9zZWN1cml0eS5oPgpAQCAtMjI3LDcgKzIyNiw2IEBACiAJaWYgKGVycm9yKQogCQlyZXR1cm4gZXJyb3I7CiAKLQlsb2NrX2tlcm5lbCgpOwogCWlmICgoYXJnIF4gZmlscC0+Zl9mbGFncykgJiBGQVNZTkMpIHsKIAkJaWYgKGZpbHAtPmZfb3AgJiYgZmlscC0+Zl9vcC0+ZmFzeW5jKSB7CiAJCQllcnJvciA9IGZpbHAtPmZfb3AtPmZhc3luYyhmZCwgZmlscCwgKGFyZyAmIEZBU1lOQykgIT0gMCk7CkBAIC0yMzgsNyArMjM2LDYgQEAKIAogCWZpbHAtPmZfZmxhZ3MgPSAoYXJnICYgU0VURkxfTUFTSykgfCAoZmlscC0+Zl9mbGFncyAmIH5TRVRGTF9NQVNLKTsKICBvdXQ6Ci0JdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiBlcnJvcjsKIH0KIApkaWZmIC0tZ2l0IGEvZnMvZ2ZzMi9LY29uZmlnIGIvZnMvZ2ZzMi9LY29uZmlnCmluZGV4IDdmNzk0N2UuLmFiMmY1N2UgMTAwNjQ0Ci0tLSBhL2ZzL2dmczIvS2NvbmZpZworKysgYi9mcy9nZnMyL0tjb25maWcKQEAgLTE0LDIzICsxNCwxMSBAQAogCSAgR0ZTIGlzIHBlcmZlY3QgY29uc2lzdGVuY3kgLS0gY2hhbmdlcyBtYWRlIHRvIHRoZSBmaWxlc3lzdGVtIG9uIG9uZQogCSAgbWFjaGluZSBzaG93IHVwIGltbWVkaWF0ZWx5IG9uIGFsbCBvdGhlciBtYWNoaW5lcyBpbiB0aGUgY2x1c3Rlci4KIAotCSAgVG8gdXNlIHRoZSBHRlMyIGZpbGVzeXN0ZW0sIHlvdSB3aWxsIG5lZWQgdG8gZW5hYmxlIG9uZSBvciBtb3JlIG9mCi0JICB0aGUgYmVsb3cgbG9ja2luZyBtb2R1bGVzLiBEb2N1bWVudGF0aW9uIGFuZCB1dGlsaXRpZXMgZm9yIEdGUzIgY2FuCisJICBUbyB1c2UgdGhlIEdGUzIgZmlsZXN5c3RlbSBpbiBhIGNsdXN0ZXIsIHlvdSB3aWxsIG5lZWQgdG8gZW5hYmxlCisJICB0aGUgbG9ja2luZyBtb2R1bGUgYmVsb3cuIERvY3VtZW50YXRpb24gYW5kIHV0aWxpdGllcyBmb3IgR0ZTMiBjYW4KIAkgIGJlIGZvdW5kIGhlcmU6IGh0dHA6Ly9zb3VyY2VzLnJlZGhhdC5jb20vY2x1c3RlcgogCi1jb25maWcgR0ZTMl9GU19MT0NLSU5HX05PTE9DSwotCXRyaXN0YXRlICJHRlMyIFwibm9sb2NrXCIgbG9ja2luZyBtb2R1bGUiCi0JZGVwZW5kcyBvbiBHRlMyX0ZTCi0JaGVscAotCSAgU2luZ2xlIG5vZGUgbG9ja2luZyBtb2R1bGUgZm9yIEdGUzIuCi0KLQkgIFVzZSB0aGlzIG1vZHVsZSBpZiB5b3Ugd2FudCB0byB1c2UgR0ZTMiBvbiBhIHNpbmdsZSBub2RlIHdpdGhvdXQKLQkgIGl0cyBjbHVzdGVyaW5nIGZlYXR1cmVzLiBZb3UgY2FuIHN0aWxsIHRha2UgYWR2YW50YWdlIG9mIHRoZQotCSAgbGFyZ2UgZmlsZSBzdXBwb3J0LCBhbmQgdXBncmFkZSB0byBydW5uaW5nIGEgZnVsbCBjbHVzdGVyIGxhdGVyIG9uCi0JICBpZiByZXF1aXJlZC4KLQotCSAgSWYgeW91IHdpbGwgb25seSBiZSB1c2luZyBHRlMyIGluIGNsdXN0ZXIgbW9kZSwgeW91IGRvIG5vdCBuZWVkIHRoaXMKLQkgIG1vZHVsZS4KKwkgIFRoZSAibm9sb2NrIiBsb2NrIG1vZHVsZSBpcyBub3cgYnVpbHQgaW4gdG8gR0ZTMiBieSBkZWZhdWx0LgogCiBjb25maWcgR0ZTMl9GU19MT0NLSU5HX0RMTQogCXRyaXN0YXRlICJHRlMyIERMTSBsb2NraW5nIG1vZHVsZSIKZGlmZiAtLWdpdCBhL2ZzL2dmczIvTWFrZWZpbGUgYi9mcy9nZnMyL01ha2VmaWxlCmluZGV4IGUyMzUwZGYuLmVjNjU4NTEgMTAwNjQ0Ci0tLSBhL2ZzL2dmczIvTWFrZWZpbGUKKysrIGIvZnMvZ2ZzMi9NYWtlZmlsZQpAQCAtNSw2ICs1LDUgQEAKIAlvcHNfZnN0eXBlLm8gb3BzX2lub2RlLm8gb3BzX3N1cGVyLm8gcXVvdGEubyBcCiAJcmVjb3ZlcnkubyByZ3JwLm8gc3VwZXIubyBzeXMubyB0cmFucy5vIHV0aWwubwogCi1vYmotJChDT05GSUdfR0ZTMl9GU19MT0NLSU5HX05PTE9DSykgKz0gbG9ja2luZy9ub2xvY2svCiBvYmotJChDT05GSUdfR0ZTMl9GU19MT0NLSU5HX0RMTSkgKz0gbG9ja2luZy9kbG0vCiAKZGlmZiAtLWdpdCBhL2ZzL2dmczIvZ2ZzMi5oIGIvZnMvZ2ZzMi9nZnMyLmgKaW5kZXggM2JiMTFjMC4uZWY2MDZlMyAxMDA2NDQKLS0tIGEvZnMvZ2ZzMi9nZnMyLmgKKysrIGIvZnMvZ2ZzMi9nZnMyLmgKQEAgLTE2LDExICsxNiw2IEBACiB9OwogCiBlbnVtIHsKLQlOT19XQUlUID0gMCwKLQlXQUlUID0gMSwKLX07Ci0KLWVudW0gewogCU5PX0ZPUkNFID0gMCwKIAlGT1JDRSA9IDEsCiB9OwpkaWZmIC0tZ2l0IGEvZnMvZ2ZzMi9nbG9jay5jIGIvZnMvZ2ZzMi9nbG9jay5jCmluZGV4IGQ2MzZiM2UuLjEzMzkxZTUgMTAwNjQ0Ci0tLSBhL2ZzL2dmczIvZ2xvY2suYworKysgYi9mcy9nZnMyL2dsb2NrLmMKQEAgLTQ1LDIxICs0NSwxOSBAQAogICAgICAgICBzdHJ1Y3QgaGxpc3RfaGVhZCBoYl9saXN0OwogfTsKIAotc3RydWN0IGdsb2NrX2l0ZXIgewotCWludCBoYXNoOyAgICAgICAgICAgICAgICAgICAgIC8qIGhhc2ggYnVja2V0IGluZGV4ICAgICAgICAgKi8KLQlzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcDsgICAgICAgICAvKiBpbmNvcmUgc3VwZXJibG9jayAgICAgICAgICovCi0Jc3RydWN0IGdmczJfZ2xvY2sgKmdsOyAgICAgICAgLyogY3VycmVudCBnbG9jayBzdHJ1Y3QgICAgICAqLwotCXN0cnVjdCBzZXFfZmlsZSAqc2VxOyAgICAgICAgIC8qIHNlcXVlbmNlIGZpbGUgZm9yIGRlYnVnZnMgKi8KLQljaGFyIHN0cmluZ1s1MTJdOyAgICAgICAgICAgICAvKiBzY3JhdGNoIHNwYWNlICAgICAgICAgICAgICovCitzdHJ1Y3QgZ2ZzMl9nbG9ja19pdGVyIHsKKwlpbnQgaGFzaDsJCQkvKiBoYXNoIGJ1Y2tldCBpbmRleCAgICAgICAgICovCisJc3RydWN0IGdmczJfc2JkICpzZHA7CQkvKiBpbmNvcmUgc3VwZXJibG9jayAgICAgICAgICovCisJc3RydWN0IGdmczJfZ2xvY2sgKmdsOwkJLyogY3VycmVudCBnbG9jayBzdHJ1Y3QgICAgICAqLworCWNoYXIgc3RyaW5nWzUxMl07CQkvKiBzY3JhdGNoIHNwYWNlICAgICAgICAgICAgICovCiB9OwogCiB0eXBlZGVmIHZvaWQgKCpnbG9ja19leGFtaW5lcikgKHN0cnVjdCBnZnMyX2dsb2NrICogZ2wpOwogCiBzdGF0aWMgaW50IGdmczJfZHVtcF9sb2Nrc3RhdGUoc3RydWN0IGdmczJfc2JkICpzZHApOwotc3RhdGljIGludCBkdW1wX2dsb2NrKHN0cnVjdCBnbG9ja19pdGVyICpnaSwgc3RydWN0IGdmczJfZ2xvY2sgKmdsKTsKLXN0YXRpYyB2b2lkIGdmczJfZ2xvY2tfeG1vdGVfdGgoc3RydWN0IGdmczJfZ2xvY2sgKmdsLCBzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoKTsKLXN0YXRpYyB2b2lkIGdmczJfZ2xvY2tfZHJvcF90aChzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wpOwotc3RhdGljIHZvaWQgcnVuX3F1ZXVlKHN0cnVjdCBnZnMyX2dsb2NrICpnbCk7CitzdGF0aWMgaW50IF9fZHVtcF9nbG9jayhzdHJ1Y3Qgc2VxX2ZpbGUgKnNlcSwgY29uc3Qgc3RydWN0IGdmczJfZ2xvY2sgKmdsKTsKKyNkZWZpbmUgR0xPQ0tfQlVHX09OKGdsLHgpIGRvIHsgaWYgKHVubGlrZWx5KHgpKSB7IF9fZHVtcF9nbG9jayhOVUxMLCBnbCk7IEJVRygpOyB9IH0gd2hpbGUoMCkKK3N0YXRpYyB2b2lkIGRvX3htb3RlKHN0cnVjdCBnZnMyX2dsb2NrICpnbCwgc3RydWN0IGdmczJfaG9sZGVyICpnaCwgdW5zaWduZWQgaW50IHRhcmdldCk7CiAKIHN0YXRpYyBERUNMQVJFX1JXU0VNKGdmczJfdW1vdW50X2ZsdXNoX3NlbSk7CiBzdGF0aWMgc3RydWN0IGRlbnRyeSAqZ2ZzMl9yb290OwpAQCAtMTIzLDMzICsxMjEsNiBAQAogI2VuZGlmCiAKIC8qKgotICogcmVsYXhlZF9zdGF0ZV9vayAtIGlzIGEgcmVxdWVzdGVkIGxvY2sgY29tcGF0aWJsZSB3aXRoIHRoZSBjdXJyZW50IGxvY2sgbW9kZT8KLSAqIEBhY3R1YWw6IHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBsb2NrCi0gKiBAcmVxdWVzdGVkOiB0aGUgbG9jayBzdGF0ZSB0aGF0IHdhcyByZXF1ZXN0ZWQgYnkgdGhlIGNhbGxlcgotICogQGZsYWdzOiB0aGUgbW9kaWZpZXIgZmxhZ3MgcGFzc2VkIGluIGJ5IHRoZSBjYWxsZXIKLSAqCi0gKiBSZXR1cm5zOiAxIGlmIHRoZSBsb2NrcyBhcmUgY29tcGF0aWJsZSwgMCBvdGhlcndpc2UKLSAqLwotCi1zdGF0aWMgaW5saW5lIGludCByZWxheGVkX3N0YXRlX29rKHVuc2lnbmVkIGludCBhY3R1YWwsIHVuc2lnbmVkIHJlcXVlc3RlZCwKLQkJCQkgICBpbnQgZmxhZ3MpCi17Ci0JaWYgKGFjdHVhbCA9PSByZXF1ZXN0ZWQpCi0JCXJldHVybiAxOwotCi0JaWYgKGZsYWdzICYgR0xfRVhBQ1QpCi0JCXJldHVybiAwOwotCi0JaWYgKGFjdHVhbCA9PSBMTV9TVF9FWENMVVNJVkUgJiYgcmVxdWVzdGVkID09IExNX1NUX1NIQVJFRCkKLQkJcmV0dXJuIDE7Ci0KLQlpZiAoYWN0dWFsICE9IExNX1NUX1VOTE9DS0VEICYmIChmbGFncyAmIExNX0ZMQUdfQU5ZKSkKLQkJcmV0dXJuIDE7Ci0KLQlyZXR1cm4gMDsKLX0KLQotLyoqCiAgKiBnbF9oYXNoKCkgLSBUdXJuIGdsb2NrIG51bWJlciBpbnRvIGhhc2ggYnVja2V0IG51bWJlcgogICogQGxvY2s6IFRoZSBnbG9jayBudW1iZXIKICAqCkBAIC0xODIsNyArMTUzLDcgQEAKIAlzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCA9IGdsLT5nbF9zYmQ7CiAJc3RydWN0IGlub2RlICphc3BhY2UgPSBnbC0+Z2xfYXNwYWNlOwogCi0JaWYgKGxpa2VseSghdGVzdF9iaXQoU0RGX1NIVVRET1dOLCAmc2RwLT5zZF9mbGFncykpKQorCWlmIChzZHAtPnNkX2xvY2tzdHJ1Y3QubHNfb3BzLT5sbV9wdXRfbG9jaykKIAkJc2RwLT5zZF9sb2Nrc3RydWN0LmxzX29wcy0+bG1fcHV0X2xvY2soZ2wtPmdsX2xvY2spOwogCiAJaWYgKGFzcGFjZSkKQEAgLTIxMSwxNyArMTgyLDE0IEBACiBpbnQgZ2ZzMl9nbG9ja19wdXQoc3RydWN0IGdmczJfZ2xvY2sgKmdsKQogewogCWludCBydiA9IDA7Ci0Jc3RydWN0IGdmczJfc2JkICpzZHAgPSBnbC0+Z2xfc2JkOwogCiAJd3JpdGVfbG9jayhnbF9sb2NrX2FkZHIoZ2wtPmdsX2hhc2gpKTsKIAlpZiAoYXRvbWljX2RlY19hbmRfdGVzdCgmZ2wtPmdsX3JlZikpIHsKIAkJaGxpc3RfZGVsKCZnbC0+Z2xfbGlzdCk7CiAJCXdyaXRlX3VubG9jayhnbF9sb2NrX2FkZHIoZ2wtPmdsX2hhc2gpKTsKLQkJZ2ZzMl9hc3NlcnQoc2RwLCBnbC0+Z2xfc3RhdGUgPT0gTE1fU1RfVU5MT0NLRUQpOwotCQlnZnMyX2Fzc2VydChzZHAsIGxpc3RfZW1wdHkoJmdsLT5nbF9yZWNsYWltKSk7Ci0JCWdmczJfYXNzZXJ0KHNkcCwgbGlzdF9lbXB0eSgmZ2wtPmdsX2hvbGRlcnMpKTsKLQkJZ2ZzMl9hc3NlcnQoc2RwLCBsaXN0X2VtcHR5KCZnbC0+Z2xfd2FpdGVyczEpKTsKLQkJZ2ZzMl9hc3NlcnQoc2RwLCBsaXN0X2VtcHR5KCZnbC0+Z2xfd2FpdGVyczMpKTsKKwkJR0xPQ0tfQlVHX09OKGdsLCBnbC0+Z2xfc3RhdGUgIT0gTE1fU1RfVU5MT0NLRUQpOworCQlHTE9DS19CVUdfT04oZ2wsICFsaXN0X2VtcHR5KCZnbC0+Z2xfcmVjbGFpbSkpOworCQlHTE9DS19CVUdfT04oZ2wsICFsaXN0X2VtcHR5KCZnbC0+Z2xfaG9sZGVycykpOwogCQlnbG9ja19mcmVlKGdsKTsKIAkJcnYgPSAxOwogCQlnb3RvIG91dDsKQEAgLTI4MSwyMiArMjQ5LDQwMSBAQAogCXJldHVybiBnbDsKIH0KIAotc3RhdGljIHZvaWQgZ2xvY2tfd29ya19mdW5jKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKKy8qKgorICogbWF5X2dyYW50IC0gY2hlY2sgaWYgaXRzIG9rIHRvIGdyYW50IGEgbmV3IGxvY2sKKyAqIEBnbDogVGhlIGdsb2NrCisgKiBAZ2g6IFRoZSBsb2NrIHJlcXVlc3Qgd2hpY2ggd2Ugd2lzaCB0byBncmFudAorICoKKyAqIFJldHVybnM6IHRydWUgaWYgaXRzIG9rIHRvIGdyYW50IHRoZSBsb2NrCisgKi8KKworc3RhdGljIGlubGluZSBpbnQgbWF5X2dyYW50KGNvbnN0IHN0cnVjdCBnZnMyX2dsb2NrICpnbCwgY29uc3Qgc3RydWN0IGdmczJfaG9sZGVyICpnaCkKIHsKLQlzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wgPSBjb250YWluZXJfb2Yod29yaywgc3RydWN0IGdmczJfZ2xvY2ssIGdsX3dvcmsud29yayk7CisJY29uc3Qgc3RydWN0IGdmczJfaG9sZGVyICpnaF9oZWFkID0gbGlzdF9lbnRyeShnbC0+Z2xfaG9sZGVycy5uZXh0LCBjb25zdCBzdHJ1Y3QgZ2ZzMl9ob2xkZXIsIGdoX2xpc3QpOworCWlmICgoZ2gtPmdoX3N0YXRlID09IExNX1NUX0VYQ0xVU0lWRSB8fAorCSAgICAgZ2hfaGVhZC0+Z2hfc3RhdGUgPT0gTE1fU1RfRVhDTFVTSVZFKSAmJiBnaCAhPSBnaF9oZWFkKQorCQlyZXR1cm4gMDsKKwlpZiAoZ2wtPmdsX3N0YXRlID09IGdoLT5naF9zdGF0ZSkKKwkJcmV0dXJuIDE7CisJaWYgKGdoLT5naF9mbGFncyAmIEdMX0VYQUNUKQorCQlyZXR1cm4gMDsKKwlpZiAoZ2wtPmdsX3N0YXRlID09IExNX1NUX0VYQ0xVU0lWRSkgeworCQlpZiAoZ2gtPmdoX3N0YXRlID09IExNX1NUX1NIQVJFRCAmJiBnaF9oZWFkLT5naF9zdGF0ZSA9PSBMTV9TVF9TSEFSRUQpCisJCQlyZXR1cm4gMTsKKwkJaWYgKGdoLT5naF9zdGF0ZSA9PSBMTV9TVF9ERUZFUlJFRCAmJiBnaF9oZWFkLT5naF9zdGF0ZSA9PSBMTV9TVF9ERUZFUlJFRCkKKwkJCXJldHVybiAxOworCX0KKwlpZiAoZ2wtPmdsX3N0YXRlICE9IExNX1NUX1VOTE9DS0VEICYmIChnaC0+Z2hfZmxhZ3MgJiBMTV9GTEFHX0FOWSkpCisJCXJldHVybiAxOworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBnZnMyX2hvbGRlcl93YWtlKHN0cnVjdCBnZnMyX2hvbGRlciAqZ2gpCit7CisJY2xlYXJfYml0KEhJRl9XQUlULCAmZ2gtPmdoX2lmbGFncyk7CisJc21wX21iX19hZnRlcl9jbGVhcl9iaXQoKTsKKwl3YWtlX3VwX2JpdCgmZ2gtPmdoX2lmbGFncywgSElGX1dBSVQpOworfQorCisvKioKKyAqIGRvX3Byb21vdGUgLSBwcm9tb3RlIGFzIG1hbnkgcmVxdWVzdHMgYXMgcG9zc2libGUgb24gdGhlIGN1cnJlbnQgcXVldWUKKyAqIEBnbDogVGhlIGdsb2NrCisgKiAKKyAqIFJldHVybnM6IHRydWUgaWYgdGhlcmUgaXMgYSBibG9ja2VkIGhvbGRlciBhdCB0aGUgaGVhZCBvZiB0aGUgbGlzdAorICovCisKK3N0YXRpYyBpbnQgZG9fcHJvbW90ZShzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wpCit7CisJY29uc3Qgc3RydWN0IGdmczJfZ2xvY2tfb3BlcmF0aW9ucyAqZ2xvcHMgPSBnbC0+Z2xfb3BzOworCXN0cnVjdCBnZnMyX2hvbGRlciAqZ2gsICp0bXA7CisJaW50IHJldDsKKworcmVzdGFydDoKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUoZ2gsIHRtcCwgJmdsLT5nbF9ob2xkZXJzLCBnaF9saXN0KSB7CisJCWlmICh0ZXN0X2JpdChISUZfSE9MREVSLCAmZ2gtPmdoX2lmbGFncykpCisJCQljb250aW51ZTsKKwkJaWYgKG1heV9ncmFudChnbCwgZ2gpKSB7CisJCQlpZiAoZ2gtPmdoX2xpc3QucHJldiA9PSAmZ2wtPmdsX2hvbGRlcnMgJiYKKwkJCSAgICBnbG9wcy0+Z29fbG9jaykgeworCQkJCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7CisJCQkJLyogRklYTUU6IGVsaW1pbmF0ZSB0aGlzIGV2ZW50dWFsbHkgKi8KKwkJCQlyZXQgPSBnbG9wcy0+Z29fbG9jayhnaCk7CisJCQkJc3Bpbl9sb2NrKCZnbC0+Z2xfc3Bpbik7CisJCQkJaWYgKHJldCkgeworCQkJCQlnaC0+Z2hfZXJyb3IgPSByZXQ7CisJCQkJCWxpc3RfZGVsX2luaXQoJmdoLT5naF9saXN0KTsKKwkJCQkJZ2ZzMl9ob2xkZXJfd2FrZShnaCk7CisJCQkJCWdvdG8gcmVzdGFydDsKKwkJCQl9CisJCQkJc2V0X2JpdChISUZfSE9MREVSLCAmZ2gtPmdoX2lmbGFncyk7CisJCQkJZ2ZzMl9ob2xkZXJfd2FrZShnaCk7CisJCQkJZ290byByZXN0YXJ0OworCQkJfQorCQkJc2V0X2JpdChISUZfSE9MREVSLCAmZ2gtPmdoX2lmbGFncyk7CisJCQlnZnMyX2hvbGRlcl93YWtlKGdoKTsKKwkJCWNvbnRpbnVlOworCQl9CisJCWlmIChnaC0+Z2hfbGlzdC5wcmV2ID09ICZnbC0+Z2xfaG9sZGVycykKKwkJCXJldHVybiAxOworCQlicmVhazsKKwl9CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogZG9fZXJyb3IgLSBTb21ldGhpbmcgdW5leHBlY3RlZCBoYXMgaGFwcGVuZWQgZHVyaW5nIGEgbG9jayByZXF1ZXN0CisgKgorICovCisKK3N0YXRpYyBpbmxpbmUgdm9pZCBkb19lcnJvcihzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wsIGNvbnN0IGludCByZXQpCit7CisJc3RydWN0IGdmczJfaG9sZGVyICpnaCwgKnRtcDsKKworCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShnaCwgdG1wLCAmZ2wtPmdsX2hvbGRlcnMsIGdoX2xpc3QpIHsKKwkJaWYgKHRlc3RfYml0KEhJRl9IT0xERVIsICZnaC0+Z2hfaWZsYWdzKSkKKwkJCWNvbnRpbnVlOworCQlpZiAocmV0ICYgTE1fT1VUX0VSUk9SKQorCQkJZ2gtPmdoX2Vycm9yID0gLUVJTzsKKwkJZWxzZSBpZiAoZ2gtPmdoX2ZsYWdzICYgKExNX0ZMQUdfVFJZIHwgTE1fRkxBR19UUllfMUNCKSkKKwkJCWdoLT5naF9lcnJvciA9IEdMUl9UUllGQUlMRUQ7CisJCWVsc2UKKwkJCWNvbnRpbnVlOworCQlsaXN0X2RlbF9pbml0KCZnaC0+Z2hfbGlzdCk7CisJCWdmczJfaG9sZGVyX3dha2UoZ2gpOworCX0KK30KKworLyoqCisgKiBmaW5kX2ZpcnN0X3dhaXRlciAtIGZpbmQgdGhlIGZpcnN0IGdoIHRoYXQncyB3YWl0aW5nIGZvciB0aGUgZ2xvY2sKKyAqIEBnbDogdGhlIGdsb2NrCisgKi8KKworc3RhdGljIGlubGluZSBzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmZpbmRfZmlyc3Rfd2FpdGVyKGNvbnN0IHN0cnVjdCBnZnMyX2dsb2NrICpnbCkKK3sKKwlzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoOworCisJbGlzdF9mb3JfZWFjaF9lbnRyeShnaCwgJmdsLT5nbF9ob2xkZXJzLCBnaF9saXN0KSB7CisJCWlmICghdGVzdF9iaXQoSElGX0hPTERFUiwgJmdoLT5naF9pZmxhZ3MpKQorCQkJcmV0dXJuIGdoOworCX0KKwlyZXR1cm4gTlVMTDsKK30KKworLyoqCisgKiBzdGF0ZV9jaGFuZ2UgLSByZWNvcmQgdGhhdCB0aGUgZ2xvY2sgaXMgbm93IGluIGEgZGlmZmVyZW50IHN0YXRlCisgKiBAZ2w6IHRoZSBnbG9jaworICogQG5ld19zdGF0ZSB0aGUgbmV3IHN0YXRlCisgKgorICovCisKK3N0YXRpYyB2b2lkIHN0YXRlX2NoYW5nZShzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wsIHVuc2lnbmVkIGludCBuZXdfc3RhdGUpCit7CisJaW50IGhlbGQxLCBoZWxkMjsKKworCWhlbGQxID0gKGdsLT5nbF9zdGF0ZSAhPSBMTV9TVF9VTkxPQ0tFRCk7CisJaGVsZDIgPSAobmV3X3N0YXRlICE9IExNX1NUX1VOTE9DS0VEKTsKKworCWlmIChoZWxkMSAhPSBoZWxkMikgeworCQlpZiAoaGVsZDIpCisJCQlnZnMyX2dsb2NrX2hvbGQoZ2wpOworCQllbHNlCisJCQlnZnMyX2dsb2NrX3B1dChnbCk7CisJfQorCisJZ2wtPmdsX3N0YXRlID0gbmV3X3N0YXRlOworCWdsLT5nbF90Y2hhbmdlID0gamlmZmllczsKK30KKworc3RhdGljIHZvaWQgZ2ZzMl9kZW1vdGVfd2FrZShzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wpCit7CisJZ2wtPmdsX2RlbW90ZV9zdGF0ZSA9IExNX1NUX0VYQ0xVU0lWRTsKKwljbGVhcl9iaXQoR0xGX0RFTU9URSwgJmdsLT5nbF9mbGFncyk7CisJc21wX21iX19hZnRlcl9jbGVhcl9iaXQoKTsKKwl3YWtlX3VwX2JpdCgmZ2wtPmdsX2ZsYWdzLCBHTEZfREVNT1RFKTsKK30KKworLyoqCisgKiBmaW5pc2hfeG1vdGUgLSBUaGUgRExNIGhhcyByZXBsaWVkIHRvIG9uZSBvZiBvdXIgbG9jayByZXF1ZXN0cworICogQGdsOiBUaGUgZ2xvY2sKKyAqIEByZXQ6IFRoZSBzdGF0dXMgZnJvbSB0aGUgRExNCisgKgorICovCisKK3N0YXRpYyB2b2lkIGZpbmlzaF94bW90ZShzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wsIHVuc2lnbmVkIGludCByZXQpCit7CisJY29uc3Qgc3RydWN0IGdmczJfZ2xvY2tfb3BlcmF0aW9ucyAqZ2xvcHMgPSBnbC0+Z2xfb3BzOworCXN0cnVjdCBnZnMyX2hvbGRlciAqZ2g7CisJdW5zaWduZWQgc3RhdGUgPSByZXQgJiBMTV9PVVRfU1RfTUFTSzsKIAogCXNwaW5fbG9jaygmZ2wtPmdsX3NwaW4pOwotCWlmICh0ZXN0X2FuZF9jbGVhcl9iaXQoR0xGX1BFTkRJTkdfREVNT1RFLCAmZ2wtPmdsX2ZsYWdzKSkKLQkJc2V0X2JpdChHTEZfREVNT1RFLCAmZ2wtPmdsX2ZsYWdzKTsKLQlydW5fcXVldWUoZ2wpOworCXN0YXRlX2NoYW5nZShnbCwgc3RhdGUpOworCWdoID0gZmluZF9maXJzdF93YWl0ZXIoZ2wpOworCisJLyogRGVtb3RlIHRvIFVOIHJlcXVlc3QgYXJyaXZlZCBkdXJpbmcgZGVtb3RlIHRvIFNIIG9yIERGICovCisJaWYgKHRlc3RfYml0KEdMRl9ERU1PVEVfSU5fUFJPR1JFU1MsICZnbC0+Z2xfZmxhZ3MpICYmCisJICAgIHN0YXRlICE9IExNX1NUX1VOTE9DS0VEICYmIGdsLT5nbF9kZW1vdGVfc3RhdGUgPT0gTE1fU1RfVU5MT0NLRUQpCisJCWdsLT5nbF90YXJnZXQgPSBMTV9TVF9VTkxPQ0tFRDsKKworCS8qIENoZWNrIGZvciBzdGF0ZSAhPSBpbnRlbmRlZCBzdGF0ZSAqLworCWlmICh1bmxpa2VseShzdGF0ZSAhPSBnbC0+Z2xfdGFyZ2V0KSkgeworCQlpZiAoZ2ggJiYgIXRlc3RfYml0KEdMRl9ERU1PVEVfSU5fUFJPR1JFU1MsICZnbC0+Z2xfZmxhZ3MpKSB7CisJCQkvKiBtb3ZlIHRvIGJhY2sgb2YgcXVldWUgYW5kIHRyeSBuZXh0IGVudHJ5ICovCisJCQlpZiAocmV0ICYgTE1fT1VUX0NBTkNFTEVEKSB7CisJCQkJaWYgKChnaC0+Z2hfZmxhZ3MgJiBMTV9GTEFHX1BSSU9SSVRZKSA9PSAwKQorCQkJCQlsaXN0X21vdmVfdGFpbCgmZ2gtPmdoX2xpc3QsICZnbC0+Z2xfaG9sZGVycyk7CisJCQkJZ2ggPSBmaW5kX2ZpcnN0X3dhaXRlcihnbCk7CisJCQkJZ2wtPmdsX3RhcmdldCA9IGdoLT5naF9zdGF0ZTsKKwkJCQlnb3RvIHJldHJ5OworCQkJfQorCQkJLyogU29tZSBlcnJvciBvciBmYWlsZWQgInRyeSBsb2NrIiAtIHJlcG9ydCBpdCAqLworCQkJaWYgKChyZXQgJiBMTV9PVVRfRVJST1IpIHx8CisJCQkgICAgKGdoLT5naF9mbGFncyAmIChMTV9GTEFHX1RSWSB8IExNX0ZMQUdfVFJZXzFDQikpKSB7CisJCQkJZ2wtPmdsX3RhcmdldCA9IGdsLT5nbF9zdGF0ZTsKKwkJCQlkb19lcnJvcihnbCwgcmV0KTsKKwkJCQlnb3RvIG91dDsKKwkJCX0KKwkJfQorCQlzd2l0Y2goc3RhdGUpIHsKKwkJLyogVW5sb2NrZWQgZHVlIHRvIGNvbnZlcnNpb24gZGVhZGxvY2ssIHRyeSBhZ2FpbiAqLworCQljYXNlIExNX1NUX1VOTE9DS0VEOgorcmV0cnk6CisJCQlkb194bW90ZShnbCwgZ2gsIGdsLT5nbF90YXJnZXQpOworCQkJYnJlYWs7CisJCS8qIENvbnZlcnNpb24gZmFpbHMsIHVubG9jayBhbmQgdHJ5IGFnYWluICovCisJCWNhc2UgTE1fU1RfU0hBUkVEOgorCQljYXNlIExNX1NUX0RFRkVSUkVEOgorCQkJZG9feG1vdGUoZ2wsIGdoLCBMTV9TVF9VTkxPQ0tFRCk7CisJCQlicmVhazsKKwkJZGVmYXVsdDogLyogRXZlcnl0aGluZyBlbHNlICovCisJCQlwcmludGsoS0VSTl9FUlIgIkdGUzI6IHdhbnRlZCAldSBnb3QgJXVcbiIsIGdsLT5nbF90YXJnZXQsIHN0YXRlKTsKKwkJCUdMT0NLX0JVR19PTihnbCwgMSk7CisJCX0KKwkJc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKKwkJZ2ZzMl9nbG9ja19wdXQoZ2wpOworCQlyZXR1cm47CisJfQorCisJLyogRmFzdCBwYXRoIC0gd2UgZ290IHdoYXQgd2UgYXNrZWQgZm9yICovCisJaWYgKHRlc3RfYW5kX2NsZWFyX2JpdChHTEZfREVNT1RFX0lOX1BST0dSRVNTLCAmZ2wtPmdsX2ZsYWdzKSkKKwkJZ2ZzMl9kZW1vdGVfd2FrZShnbCk7CisJaWYgKHN0YXRlICE9IExNX1NUX1VOTE9DS0VEKSB7CisJCWlmIChnbG9wcy0+Z29feG1vdGVfYmgpIHsKKwkJCWludCBydjsKKwkJCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7CisJCQlydiA9IGdsb3BzLT5nb194bW90ZV9iaChnbCwgZ2gpOworCQkJaWYgKHJ2ID09IC1FQUdBSU4pCisJCQkJcmV0dXJuOworCQkJc3Bpbl9sb2NrKCZnbC0+Z2xfc3Bpbik7CisJCQlpZiAocnYpIHsKKwkJCQlkb19lcnJvcihnbCwgcnYpOworCQkJCWdvdG8gb3V0OworCQkJfQorCQl9CisJCWRvX3Byb21vdGUoZ2wpOworCX0KK291dDoKKwljbGVhcl9iaXQoR0xGX0xPQ0ssICZnbC0+Z2xfZmxhZ3MpOwogCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7CiAJZ2ZzMl9nbG9ja19wdXQoZ2wpOwogfQogCitzdGF0aWMgdW5zaWduZWQgaW50IGdmczJfbG1fbG9jayhzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCwgdm9pZCAqbG9jaywKKwkJCQkgdW5zaWduZWQgaW50IGN1cl9zdGF0ZSwgdW5zaWduZWQgaW50IHJlcV9zdGF0ZSwKKwkJCQkgdW5zaWduZWQgaW50IGZsYWdzKQoreworCWludCByZXQgPSBMTV9PVVRfRVJST1I7CisKKwlpZiAoIXNkcC0+c2RfbG9ja3N0cnVjdC5sc19vcHMtPmxtX2xvY2spCisJCXJldHVybiByZXFfc3RhdGUgPT0gTE1fU1RfVU5MT0NLRUQgPyAwIDogcmVxX3N0YXRlOworCisJaWYgKGxpa2VseSghdGVzdF9iaXQoU0RGX1NIVVRET1dOLCAmc2RwLT5zZF9mbGFncykpKQorCQlyZXQgPSBzZHAtPnNkX2xvY2tzdHJ1Y3QubHNfb3BzLT5sbV9sb2NrKGxvY2ssIGN1cl9zdGF0ZSwKKwkJCQkJCQkgcmVxX3N0YXRlLCBmbGFncyk7CisJcmV0dXJuIHJldDsKK30KKworLyoqCisgKiBkb194bW90ZSAtIENhbGxzIHRoZSBETE0gdG8gY2hhbmdlIHRoZSBzdGF0ZSBvZiBhIGxvY2sKKyAqIEBnbDogVGhlIGxvY2sgc3RhdGUKKyAqIEBnaDogVGhlIGhvbGRlciAob25seSBmb3IgcHJvbW90ZXMpCisgKiBAdGFyZ2V0OiBUaGUgdGFyZ2V0IGxvY2sgc3RhdGUKKyAqCisgKi8KKworc3RhdGljIHZvaWQgZG9feG1vdGUoc3RydWN0IGdmczJfZ2xvY2sgKmdsLCBzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoLCB1bnNpZ25lZCBpbnQgdGFyZ2V0KQoreworCWNvbnN0IHN0cnVjdCBnZnMyX2dsb2NrX29wZXJhdGlvbnMgKmdsb3BzID0gZ2wtPmdsX29wczsKKwlzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCA9IGdsLT5nbF9zYmQ7CisJdW5zaWduZWQgaW50IGxja19mbGFncyA9IGdoID8gZ2gtPmdoX2ZsYWdzIDogMDsKKwlpbnQgcmV0OworCisJbGNrX2ZsYWdzICY9IChMTV9GTEFHX1RSWSB8IExNX0ZMQUdfVFJZXzFDQiB8IExNX0ZMQUdfTk9FWFAgfAorCQkgICAgICBMTV9GTEFHX1BSSU9SSVRZKTsKKwlCVUdfT04oZ2wtPmdsX3N0YXRlID09IHRhcmdldCk7CisJQlVHX09OKGdsLT5nbF9zdGF0ZSA9PSBnbC0+Z2xfdGFyZ2V0KTsKKwlpZiAoKHRhcmdldCA9PSBMTV9TVF9VTkxPQ0tFRCB8fCB0YXJnZXQgPT0gTE1fU1RfREVGRVJSRUQpICYmCisJICAgIGdsb3BzLT5nb19pbnZhbCkgeworCQlzZXRfYml0KEdMRl9JTlZBTElEQVRFX0lOX1BST0dSRVNTLCAmZ2wtPmdsX2ZsYWdzKTsKKwkJZG9fZXJyb3IoZ2wsIDApOyAvKiBGYWlsIHF1ZXVlZCB0cnkgbG9ja3MgKi8KKwl9CisJc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKKwlpZiAoZ2xvcHMtPmdvX3htb3RlX3RoKQorCQlnbG9wcy0+Z29feG1vdGVfdGgoZ2wpOworCWlmICh0ZXN0X2JpdChHTEZfSU5WQUxJREFURV9JTl9QUk9HUkVTUywgJmdsLT5nbF9mbGFncykpCisJCWdsb3BzLT5nb19pbnZhbChnbCwgdGFyZ2V0ID09IExNX1NUX0RFRkVSUkVEID8gMCA6IERJT19NRVRBREFUQSk7CisJY2xlYXJfYml0KEdMRl9JTlZBTElEQVRFX0lOX1BST0dSRVNTLCAmZ2wtPmdsX2ZsYWdzKTsKKworCWdmczJfZ2xvY2tfaG9sZChnbCk7CisJaWYgKHRhcmdldCAhPSBMTV9TVF9VTkxPQ0tFRCAmJiAoZ2wtPmdsX3N0YXRlID09IExNX1NUX1NIQVJFRCB8fAorCSAgICBnbC0+Z2xfc3RhdGUgPT0gTE1fU1RfREVGRVJSRUQpICYmCisJICAgICEobGNrX2ZsYWdzICYgKExNX0ZMQUdfVFJZIHwgTE1fRkxBR19UUllfMUNCKSkpCisJCWxja19mbGFncyB8PSBMTV9GTEFHX1RSWV8xQ0I7CisJcmV0ID0gZ2ZzMl9sbV9sb2NrKHNkcCwgZ2wtPmdsX2xvY2ssIGdsLT5nbF9zdGF0ZSwgdGFyZ2V0LCBsY2tfZmxhZ3MpOworCisJaWYgKCEocmV0ICYgTE1fT1VUX0FTWU5DKSkgeworCQlmaW5pc2hfeG1vdGUoZ2wsIHJldCk7CisJCWdmczJfZ2xvY2tfaG9sZChnbCk7CisJCWlmIChxdWV1ZV9kZWxheWVkX3dvcmsoZ2xvY2tfd29ya3F1ZXVlLCAmZ2wtPmdsX3dvcmssIDApID09IDApCisJCQlnZnMyX2dsb2NrX3B1dChnbCk7CisJfSBlbHNlIHsKKwkJR0xPQ0tfQlVHX09OKGdsLCByZXQgIT0gTE1fT1VUX0FTWU5DKTsKKwl9CisJc3Bpbl9sb2NrKCZnbC0+Z2xfc3Bpbik7Cit9CisKKy8qKgorICogZmluZF9maXJzdF9ob2xkZXIgLSBmaW5kIHRoZSBmaXJzdCAiaG9sZGVyIiBnaAorICogQGdsOiB0aGUgZ2xvY2sKKyAqLworCitzdGF0aWMgaW5saW5lIHN0cnVjdCBnZnMyX2hvbGRlciAqZmluZF9maXJzdF9ob2xkZXIoY29uc3Qgc3RydWN0IGdmczJfZ2xvY2sgKmdsKQoreworCXN0cnVjdCBnZnMyX2hvbGRlciAqZ2g7CisKKwlpZiAoIWxpc3RfZW1wdHkoJmdsLT5nbF9ob2xkZXJzKSkgeworCQlnaCA9IGxpc3RfZW50cnkoZ2wtPmdsX2hvbGRlcnMubmV4dCwgc3RydWN0IGdmczJfaG9sZGVyLCBnaF9saXN0KTsKKwkJaWYgKHRlc3RfYml0KEhJRl9IT0xERVIsICZnaC0+Z2hfaWZsYWdzKSkKKwkJCXJldHVybiBnaDsKKwl9CisJcmV0dXJuIE5VTEw7Cit9CisKKy8qKgorICogcnVuX3F1ZXVlIC0gZG8gYWxsIG91dHN0YW5kaW5nIHRhc2tzIHJlbGF0ZWQgdG8gYSBnbG9jaworICogQGdsOiBUaGUgZ2xvY2sgaW4gcXVlc3Rpb24KKyAqIEBub25ibG9jazogVHJ1ZSBpZiB3ZSBtdXN0IG5vdCBibG9jayBpbiBydW5fcXVldWUKKyAqCisgKi8KKworc3RhdGljIHZvaWQgcnVuX3F1ZXVlKHN0cnVjdCBnZnMyX2dsb2NrICpnbCwgY29uc3QgaW50IG5vbmJsb2NrKQoreworCXN0cnVjdCBnZnMyX2hvbGRlciAqZ2ggPSBOVUxMOworCisJaWYgKHRlc3RfYW5kX3NldF9iaXQoR0xGX0xPQ0ssICZnbC0+Z2xfZmxhZ3MpKQorCQlyZXR1cm47CisKKwlHTE9DS19CVUdfT04oZ2wsIHRlc3RfYml0KEdMRl9ERU1PVEVfSU5fUFJPR1JFU1MsICZnbC0+Z2xfZmxhZ3MpKTsKKworCWlmICh0ZXN0X2JpdChHTEZfREVNT1RFLCAmZ2wtPmdsX2ZsYWdzKSAmJgorCSAgICBnbC0+Z2xfZGVtb3RlX3N0YXRlICE9IGdsLT5nbF9zdGF0ZSkgeworCQlpZiAoZmluZF9maXJzdF9ob2xkZXIoZ2wpKQorCQkJZ290byBvdXQ7CisJCWlmIChub25ibG9jaykKKwkJCWdvdG8gb3V0X3NjaGVkOworCQlzZXRfYml0KEdMRl9ERU1PVEVfSU5fUFJPR1JFU1MsICZnbC0+Z2xfZmxhZ3MpOworCQlHTE9DS19CVUdfT04oZ2wsIGdsLT5nbF9kZW1vdGVfc3RhdGUgPT0gTE1fU1RfRVhDTFVTSVZFKTsKKwkJZ2wtPmdsX3RhcmdldCA9IGdsLT5nbF9kZW1vdGVfc3RhdGU7CisJfSBlbHNlIHsKKwkJaWYgKHRlc3RfYml0KEdMRl9ERU1PVEUsICZnbC0+Z2xfZmxhZ3MpKQorCQkJZ2ZzMl9kZW1vdGVfd2FrZShnbCk7CisJCWlmIChkb19wcm9tb3RlKGdsKSA9PSAwKQorCQkJZ290byBvdXQ7CisJCWdoID0gZmluZF9maXJzdF93YWl0ZXIoZ2wpOworCQlnbC0+Z2xfdGFyZ2V0ID0gZ2gtPmdoX3N0YXRlOworCQlpZiAoIShnaC0+Z2hfZmxhZ3MgJiAoTE1fRkxBR19UUlkgfCBMTV9GTEFHX1RSWV8xQ0IpKSkKKwkJCWRvX2Vycm9yKGdsLCAwKTsgLyogRmFpbCBxdWV1ZWQgdHJ5IGxvY2tzICovCisJfQorCWRvX3htb3RlKGdsLCBnaCwgZ2wtPmdsX3RhcmdldCk7CisJcmV0dXJuOworCitvdXRfc2NoZWQ6CisJZ2ZzMl9nbG9ja19ob2xkKGdsKTsKKwlpZiAocXVldWVfZGVsYXllZF93b3JrKGdsb2NrX3dvcmtxdWV1ZSwgJmdsLT5nbF93b3JrLCAwKSA9PSAwKQorCQlnZnMyX2dsb2NrX3B1dChnbCk7CitvdXQ6CisJY2xlYXJfYml0KEdMRl9MT0NLLCAmZ2wtPmdsX2ZsYWdzKTsKK30KKworc3RhdGljIHZvaWQgZ2xvY2tfd29ya19mdW5jKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKK3sKKwl1bnNpZ25lZCBsb25nIGRlbGF5ID0gMDsKKwlzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wgPSBjb250YWluZXJfb2Yod29yaywgc3RydWN0IGdmczJfZ2xvY2ssIGdsX3dvcmsud29yayk7CisKKwlpZiAodGVzdF9hbmRfY2xlYXJfYml0KEdMRl9SRVBMWV9QRU5ESU5HLCAmZ2wtPmdsX2ZsYWdzKSkKKwkJZmluaXNoX3htb3RlKGdsLCBnbC0+Z2xfcmVwbHkpOworCXNwaW5fbG9jaygmZ2wtPmdsX3NwaW4pOworCWlmICh0ZXN0X2FuZF9jbGVhcl9iaXQoR0xGX1BFTkRJTkdfREVNT1RFLCAmZ2wtPmdsX2ZsYWdzKSAmJgorCSAgICBnbC0+Z2xfc3RhdGUgIT0gTE1fU1RfVU5MT0NLRUQgJiYKKwkgICAgZ2wtPmdsX2RlbW90ZV9zdGF0ZSAhPSBMTV9TVF9FWENMVVNJVkUpIHsKKwkJdW5zaWduZWQgbG9uZyBob2xkdGltZSwgbm93ID0gamlmZmllczsKKwkJaG9sZHRpbWUgPSBnbC0+Z2xfdGNoYW5nZSArIGdsLT5nbF9vcHMtPmdvX21pbl9ob2xkX3RpbWU7CisJCWlmICh0aW1lX2JlZm9yZShub3csIGhvbGR0aW1lKSkKKwkJCWRlbGF5ID0gaG9sZHRpbWUgLSBub3c7CisJCXNldF9iaXQoZGVsYXkgPyBHTEZfUEVORElOR19ERU1PVEUgOiBHTEZfREVNT1RFLCAmZ2wtPmdsX2ZsYWdzKTsKKwl9CisJcnVuX3F1ZXVlKGdsLCAwKTsKKwlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOworCWlmICghZGVsYXkgfHwKKwkgICAgcXVldWVfZGVsYXllZF93b3JrKGdsb2NrX3dvcmtxdWV1ZSwgJmdsLT5nbF93b3JrLCBkZWxheSkgPT0gMCkKKwkJZ2ZzMl9nbG9ja19wdXQoZ2wpOworfQorCiBzdGF0aWMgaW50IGdmczJfbG1fZ2V0X2xvY2soc3RydWN0IGdmczJfc2JkICpzZHAsIHN0cnVjdCBsbV9sb2NrbmFtZSAqbmFtZSwKIAkJICAgICB2b2lkICoqbG9ja3ApCiB7CiAJaW50IGVycm9yID0gLUVJTzsKKwlpZiAoIXNkcC0+c2RfbG9ja3N0cnVjdC5sc19vcHMtPmxtX2dldF9sb2NrKQorCQlyZXR1cm4gMDsKIAlpZiAobGlrZWx5KCF0ZXN0X2JpdChTREZfU0hVVERPV04sICZzZHAtPnNkX2ZsYWdzKSkpCiAJCWVycm9yID0gc2RwLT5zZF9sb2Nrc3RydWN0LmxzX29wcy0+bG1fZ2V0X2xvY2soCiAJCQkJc2RwLT5zZF9sb2Nrc3RydWN0LmxzX2xvY2tzcGFjZSwgbmFtZSwgbG9ja3ApOwpAQCAtMzQyLDEyICs2ODksMTAgQEAKIAlnbC0+Z2xfbmFtZSA9IG5hbWU7CiAJYXRvbWljX3NldCgmZ2wtPmdsX3JlZiwgMSk7CiAJZ2wtPmdsX3N0YXRlID0gTE1fU1RfVU5MT0NLRUQ7CisJZ2wtPmdsX3RhcmdldCA9IExNX1NUX1VOTE9DS0VEOwogCWdsLT5nbF9kZW1vdGVfc3RhdGUgPSBMTV9TVF9FWENMVVNJVkU7CiAJZ2wtPmdsX2hhc2ggPSBoYXNoOwotCWdsLT5nbF9vd25lcl9waWQgPSBOVUxMOwotCWdsLT5nbF9pcCA9IDA7CiAJZ2wtPmdsX29wcyA9IGdsb3BzOwotCWdsLT5nbF9yZXFfZ2ggPSBOVUxMOwogCWdsLT5nbF9zdGFtcCA9IGppZmZpZXM7CiAJZ2wtPmdsX3RjaGFuZ2UgPSBqaWZmaWVzOwogCWdsLT5nbF9vYmplY3QgPSBOVUxMOwpAQCAtNDQ3LDEzICs3OTIsNiBAQAogCWdoLT5naF9pcCA9IDA7CiB9CiAKLXN0YXRpYyB2b2lkIGdmczJfaG9sZGVyX3dha2Uoc3RydWN0IGdmczJfaG9sZGVyICpnaCkKLXsKLQljbGVhcl9iaXQoSElGX1dBSVQsICZnaC0+Z2hfaWZsYWdzKTsKLQlzbXBfbWJfX2FmdGVyX2NsZWFyX2JpdCgpOwotCXdha2VfdXBfYml0KCZnaC0+Z2hfaWZsYWdzLCBISUZfV0FJVCk7Ci19Ci0KIHN0YXRpYyBpbnQganVzdF9zY2hlZHVsZSh2b2lkICp3b3JkKQogewogICAgICAgICBzY2hlZHVsZSgpOwpAQCAtNDY2LDE0ICs4MDQsNiBAQAogCXdhaXRfb25fYml0KCZnaC0+Z2hfaWZsYWdzLCBISUZfV0FJVCwganVzdF9zY2hlZHVsZSwgVEFTS19VTklOVEVSUlVQVElCTEUpOwogfQogCi1zdGF0aWMgdm9pZCBnZnMyX2RlbW90ZV93YWtlKHN0cnVjdCBnZnMyX2dsb2NrICpnbCkKLXsKLQlnbC0+Z2xfZGVtb3RlX3N0YXRlID0gTE1fU1RfRVhDTFVTSVZFOwotICAgICAgICBjbGVhcl9iaXQoR0xGX0RFTU9URSwgJmdsLT5nbF9mbGFncyk7Ci0gICAgICAgIHNtcF9tYl9fYWZ0ZXJfY2xlYXJfYml0KCk7Ci0gICAgICAgIHdha2VfdXBfYml0KCZnbC0+Z2xfZmxhZ3MsIEdMRl9ERU1PVEUpOwotfQotCiBzdGF0aWMgdm9pZCB3YWl0X29uX2RlbW90ZShzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wpCiB7CiAJbWlnaHRfc2xlZXAoKTsKQEAgLTQ4MSwyMTcgKzgxMSw2IEBACiB9CiAKIC8qKgotICogcnFfbXV0ZXggLSBwcm9jZXNzIGEgbXV0ZXggcmVxdWVzdCBpbiB0aGUgcXVldWUKLSAqIEBnaDogdGhlIGdsb2NrIGhvbGRlcgotICoKLSAqIFJldHVybnM6IDEgaWYgdGhlIHF1ZXVlIGlzIGJsb2NrZWQKLSAqLwotCi1zdGF0aWMgaW50IHJxX211dGV4KHN0cnVjdCBnZnMyX2hvbGRlciAqZ2gpCi17Ci0Jc3RydWN0IGdmczJfZ2xvY2sgKmdsID0gZ2gtPmdoX2dsOwotCi0JbGlzdF9kZWxfaW5pdCgmZ2gtPmdoX2xpc3QpOwotCS8qICBnaC0+Z2hfZXJyb3IgbmV2ZXIgZXhhbWluZWQuICAqLwotCXNldF9iaXQoR0xGX0xPQ0ssICZnbC0+Z2xfZmxhZ3MpOwotCWNsZWFyX2JpdChISUZfV0FJVCwgJmdoLT5naF9pZmxhZ3MpOwotCXNtcF9tYigpOwotCXdha2VfdXBfYml0KCZnaC0+Z2hfaWZsYWdzLCBISUZfV0FJVCk7Ci0KLQlyZXR1cm4gMTsKLX0KLQotLyoqCi0gKiBycV9wcm9tb3RlIC0gcHJvY2VzcyBhIHByb21vdGUgcmVxdWVzdCBpbiB0aGUgcXVldWUKLSAqIEBnaDogdGhlIGdsb2NrIGhvbGRlcgotICoKLSAqIEFjcXVpcmUgYSBuZXcgaW50ZXItbm9kZSBsb2NrLCBvciBjaGFuZ2UgYSBsb2NrIHN0YXRlIHRvIG1vcmUgcmVzdHJpY3RpdmUuCi0gKgotICogUmV0dXJuczogMSBpZiB0aGUgcXVldWUgaXMgYmxvY2tlZAotICovCi0KLXN0YXRpYyBpbnQgcnFfcHJvbW90ZShzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoKQotewotCXN0cnVjdCBnZnMyX2dsb2NrICpnbCA9IGdoLT5naF9nbDsKLQotCWlmICghcmVsYXhlZF9zdGF0ZV9vayhnbC0+Z2xfc3RhdGUsIGdoLT5naF9zdGF0ZSwgZ2gtPmdoX2ZsYWdzKSkgewotCQlpZiAobGlzdF9lbXB0eSgmZ2wtPmdsX2hvbGRlcnMpKSB7Ci0JCQlnbC0+Z2xfcmVxX2doID0gZ2g7Ci0JCQlzZXRfYml0KEdMRl9MT0NLLCAmZ2wtPmdsX2ZsYWdzKTsKLQkJCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JCQlnZnMyX2dsb2NrX3htb3RlX3RoKGdoLT5naF9nbCwgZ2gpOwotCQkJc3Bpbl9sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JCX0KLQkJcmV0dXJuIDE7Ci0JfQotCi0JaWYgKGxpc3RfZW1wdHkoJmdsLT5nbF9ob2xkZXJzKSkgewotCQlzZXRfYml0KEhJRl9GSVJTVCwgJmdoLT5naF9pZmxhZ3MpOwotCQlzZXRfYml0KEdMRl9MT0NLLCAmZ2wtPmdsX2ZsYWdzKTsKLQl9IGVsc2UgewotCQlzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKm5leHRfZ2g7Ci0JCWlmIChnaC0+Z2hfc3RhdGUgPT0gTE1fU1RfRVhDTFVTSVZFKQotCQkJcmV0dXJuIDE7Ci0JCW5leHRfZ2ggPSBsaXN0X2VudHJ5KGdsLT5nbF9ob2xkZXJzLm5leHQsIHN0cnVjdCBnZnMyX2hvbGRlciwKLQkJCQkgICAgIGdoX2xpc3QpOwotCQlpZiAobmV4dF9naC0+Z2hfc3RhdGUgPT0gTE1fU1RfRVhDTFVTSVZFKQotCQkJIHJldHVybiAxOwotCX0KLQotCWxpc3RfbW92ZV90YWlsKCZnaC0+Z2hfbGlzdCwgJmdsLT5nbF9ob2xkZXJzKTsKLQlnaC0+Z2hfZXJyb3IgPSAwOwotCXNldF9iaXQoSElGX0hPTERFUiwgJmdoLT5naF9pZmxhZ3MpOwotCi0JZ2ZzMl9ob2xkZXJfd2FrZShnaCk7Ci0KLQlyZXR1cm4gMDsKLX0KLQotLyoqCi0gKiBycV9kZW1vdGUgLSBwcm9jZXNzIGEgZGVtb3RlIHJlcXVlc3QgaW4gdGhlIHF1ZXVlCi0gKiBAZ2g6IHRoZSBnbG9jayBob2xkZXIKLSAqCi0gKiBSZXR1cm5zOiAxIGlmIHRoZSBxdWV1ZSBpcyBibG9ja2VkCi0gKi8KLQotc3RhdGljIGludCBycV9kZW1vdGUoc3RydWN0IGdmczJfZ2xvY2sgKmdsKQotewotCWlmICghbGlzdF9lbXB0eSgmZ2wtPmdsX2hvbGRlcnMpKQotCQlyZXR1cm4gMTsKLQotCWlmIChnbC0+Z2xfc3RhdGUgPT0gZ2wtPmdsX2RlbW90ZV9zdGF0ZSB8fAotCSAgICBnbC0+Z2xfc3RhdGUgPT0gTE1fU1RfVU5MT0NLRUQpIHsKLQkJZ2ZzMl9kZW1vdGVfd2FrZShnbCk7Ci0JCXJldHVybiAwOwotCX0KLQotCXNldF9iaXQoR0xGX0xPQ0ssICZnbC0+Z2xfZmxhZ3MpOwotCXNldF9iaXQoR0xGX0RFTU9URV9JTl9QUk9HUkVTUywgJmdsLT5nbF9mbGFncyk7Ci0KLQlpZiAoZ2wtPmdsX2RlbW90ZV9zdGF0ZSA9PSBMTV9TVF9VTkxPQ0tFRCB8fAotCSAgICBnbC0+Z2xfc3RhdGUgIT0gTE1fU1RfRVhDTFVTSVZFKSB7Ci0JCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JCWdmczJfZ2xvY2tfZHJvcF90aChnbCk7Ci0JfSBlbHNlIHsKLQkJc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKLQkJZ2ZzMl9nbG9ja194bW90ZV90aChnbCwgTlVMTCk7Ci0JfQotCi0Jc3Bpbl9sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JY2xlYXJfYml0KEdMRl9ERU1PVEVfSU5fUFJPR1JFU1MsICZnbC0+Z2xfZmxhZ3MpOwotCi0JcmV0dXJuIDA7Ci19Ci0KLS8qKgotICogcnVuX3F1ZXVlIC0gcHJvY2VzcyBob2xkZXIgc3RydWN0dXJlcyBvbiBhIGdsb2NrCi0gKiBAZ2w6IHRoZSBnbG9jawotICoKLSAqLwotc3RhdGljIHZvaWQgcnVuX3F1ZXVlKHN0cnVjdCBnZnMyX2dsb2NrICpnbCkKLXsKLQlzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoOwotCWludCBibG9ja2VkID0gMTsKLQotCWZvciAoOzspIHsKLQkJaWYgKHRlc3RfYml0KEdMRl9MT0NLLCAmZ2wtPmdsX2ZsYWdzKSkKLQkJCWJyZWFrOwotCi0JCWlmICghbGlzdF9lbXB0eSgmZ2wtPmdsX3dhaXRlcnMxKSkgewotCQkJZ2ggPSBsaXN0X2VudHJ5KGdsLT5nbF93YWl0ZXJzMS5uZXh0LAotCQkJCQlzdHJ1Y3QgZ2ZzMl9ob2xkZXIsIGdoX2xpc3QpOwotCQkJYmxvY2tlZCA9IHJxX211dGV4KGdoKTsKLQkJfSBlbHNlIGlmICh0ZXN0X2JpdChHTEZfREVNT1RFLCAmZ2wtPmdsX2ZsYWdzKSkgewotCQkJYmxvY2tlZCA9IHJxX2RlbW90ZShnbCk7Ci0JCQlpZiAodGVzdF9iaXQoR0xGX1dBSVRFUlMyLCAmZ2wtPmdsX2ZsYWdzKSAmJgotCQkJCSAgICAgIWJsb2NrZWQpIHsKLQkJCQlzZXRfYml0KEdMRl9ERU1PVEUsICZnbC0+Z2xfZmxhZ3MpOwotCQkJCWdsLT5nbF9kZW1vdGVfc3RhdGUgPSBMTV9TVF9VTkxPQ0tFRDsKLQkJCX0KLQkJCWNsZWFyX2JpdChHTEZfV0FJVEVSUzIsICZnbC0+Z2xfZmxhZ3MpOwotCQl9IGVsc2UgaWYgKCFsaXN0X2VtcHR5KCZnbC0+Z2xfd2FpdGVyczMpKSB7Ci0JCQlnaCA9IGxpc3RfZW50cnkoZ2wtPmdsX3dhaXRlcnMzLm5leHQsCi0JCQkJCXN0cnVjdCBnZnMyX2hvbGRlciwgZ2hfbGlzdCk7Ci0JCQlibG9ja2VkID0gcnFfcHJvbW90ZShnaCk7Ci0JCX0gZWxzZQotCQkJYnJlYWs7Ci0KLQkJaWYgKGJsb2NrZWQpCi0JCQlicmVhazsKLQl9Ci19Ci0KLS8qKgotICogZ2ZzMl9nbG11dGV4X2xvY2sgLSBhY3F1aXJlIGEgbG9jYWwgbG9jayBvbiBhIGdsb2NrCi0gKiBAZ2w6IHRoZSBnbG9jawotICoKLSAqIEdpdmVzIGNhbGxlciBleGNsdXNpdmUgYWNjZXNzIHRvIG1hbmlwdWxhdGUgYSBnbG9jayBzdHJ1Y3R1cmUuCi0gKi8KLQotc3RhdGljIHZvaWQgZ2ZzMl9nbG11dGV4X2xvY2soc3RydWN0IGdmczJfZ2xvY2sgKmdsKQotewotCXNwaW5fbG9jaygmZ2wtPmdsX3NwaW4pOwotCWlmICh0ZXN0X2FuZF9zZXRfYml0KEdMRl9MT0NLLCAmZ2wtPmdsX2ZsYWdzKSkgewotCQlzdHJ1Y3QgZ2ZzMl9ob2xkZXIgZ2g7Ci0KLQkJZ2ZzMl9ob2xkZXJfaW5pdChnbCwgMCwgMCwgJmdoKTsKLQkJc2V0X2JpdChISUZfV0FJVCwgJmdoLmdoX2lmbGFncyk7Ci0JCWxpc3RfYWRkX3RhaWwoJmdoLmdoX2xpc3QsICZnbC0+Z2xfd2FpdGVyczEpOwotCQlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOwotCQl3YWl0X29uX2hvbGRlcigmZ2gpOwotCQlnZnMyX2hvbGRlcl91bmluaXQoJmdoKTsKLQl9IGVsc2UgewotCQlnbC0+Z2xfb3duZXJfcGlkID0gZ2V0X3BpZCh0YXNrX3BpZChjdXJyZW50KSk7Ci0JCWdsLT5nbF9pcCA9ICh1bnNpZ25lZCBsb25nKV9fYnVpbHRpbl9yZXR1cm5fYWRkcmVzcygwKTsKLQkJc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKLQl9Ci19Ci0KLS8qKgotICogZ2ZzMl9nbG11dGV4X3RyeWxvY2sgLSB0cnkgdG8gYWNxdWlyZSBhIGxvY2FsIGxvY2sgb24gYSBnbG9jawotICogQGdsOiB0aGUgZ2xvY2sKLSAqCi0gKiBSZXR1cm5zOiAxIGlmIHRoZSBnbG9jayBpcyBhY3F1aXJlZAotICovCi0KLXN0YXRpYyBpbnQgZ2ZzMl9nbG11dGV4X3RyeWxvY2soc3RydWN0IGdmczJfZ2xvY2sgKmdsKQotewotCWludCBhY3F1aXJlZCA9IDE7Ci0KLQlzcGluX2xvY2soJmdsLT5nbF9zcGluKTsKLQlpZiAodGVzdF9hbmRfc2V0X2JpdChHTEZfTE9DSywgJmdsLT5nbF9mbGFncykpIHsKLQkJYWNxdWlyZWQgPSAwOwotCX0gZWxzZSB7Ci0JCWdsLT5nbF9vd25lcl9waWQgPSBnZXRfcGlkKHRhc2tfcGlkKGN1cnJlbnQpKTsKLQkJZ2wtPmdsX2lwID0gKHVuc2lnbmVkIGxvbmcpX19idWlsdGluX3JldHVybl9hZGRyZXNzKDApOwotCX0KLQlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOwotCi0JcmV0dXJuIGFjcXVpcmVkOwotfQotCi0vKioKLSAqIGdmczJfZ2xtdXRleF91bmxvY2sgLSByZWxlYXNlIGEgbG9jYWwgbG9jayBvbiBhIGdsb2NrCi0gKiBAZ2w6IHRoZSBnbG9jawotICoKLSAqLwotCi1zdGF0aWMgdm9pZCBnZnMyX2dsbXV0ZXhfdW5sb2NrKHN0cnVjdCBnZnMyX2dsb2NrICpnbCkKLXsKLQlzdHJ1Y3QgcGlkICpwaWQ7Ci0KLQlzcGluX2xvY2soJmdsLT5nbF9zcGluKTsKLQljbGVhcl9iaXQoR0xGX0xPQ0ssICZnbC0+Z2xfZmxhZ3MpOwotCXBpZCA9IGdsLT5nbF9vd25lcl9waWQ7Ci0JZ2wtPmdsX293bmVyX3BpZCA9IE5VTEw7Ci0JZ2wtPmdsX2lwID0gMDsKLQlydW5fcXVldWUoZ2wpOwotCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0KLQlwdXRfcGlkKHBpZCk7Ci19Ci0KLS8qKgogICogaGFuZGxlX2NhbGxiYWNrIC0gcHJvY2VzcyBhIGRlbW90ZSByZXF1ZXN0CiAgKiBAZ2w6IHRoZSBnbG9jawogICogQHN0YXRlOiB0aGUgc3RhdGUgdGhlIGNhbGxlciB3YW50cyB1cyB0byBjaGFuZ2UgdG8KQEAgLTcwNSwzOTggKzgyNCw0NSBAQAogewogCWludCBiaXQgPSBkZWxheSA/IEdMRl9QRU5ESU5HX0RFTU9URSA6IEdMRl9ERU1PVEU7CiAKLQlzcGluX2xvY2soJmdsLT5nbF9zcGluKTsKIAlzZXRfYml0KGJpdCwgJmdsLT5nbF9mbGFncyk7CiAJaWYgKGdsLT5nbF9kZW1vdGVfc3RhdGUgPT0gTE1fU1RfRVhDTFVTSVZFKSB7CiAJCWdsLT5nbF9kZW1vdGVfc3RhdGUgPSBzdGF0ZTsKIAkJZ2wtPmdsX2RlbW90ZV90aW1lID0gamlmZmllczsKIAkJaWYgKHJlbW90ZSAmJiBnbC0+Z2xfb3BzLT5nb190eXBlID09IExNX1RZUEVfSU9QRU4gJiYKLQkJICAgIGdsLT5nbF9vYmplY3QpIHsKKwkJICAgIGdsLT5nbF9vYmplY3QpCiAJCQlnZnMyX2dsb2NrX3NjaGVkdWxlX2Zvcl9yZWNsYWltKGdsKTsKLQkJCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JCQlyZXR1cm47Ci0JCX0KIAl9IGVsc2UgaWYgKGdsLT5nbF9kZW1vdGVfc3RhdGUgIT0gTE1fU1RfVU5MT0NLRUQgJiYKIAkJCWdsLT5nbF9kZW1vdGVfc3RhdGUgIT0gc3RhdGUpIHsKLQkJaWYgKHRlc3RfYml0KEdMRl9ERU1PVEVfSU5fUFJPR1JFU1MsICAmZ2wtPmdsX2ZsYWdzKSkgCi0JCQlzZXRfYml0KEdMRl9XQUlURVJTMiwgJmdsLT5nbF9mbGFncyk7Ci0JCWVsc2UgCi0JCQlnbC0+Z2xfZGVtb3RlX3N0YXRlID0gTE1fU1RfVU5MT0NLRUQ7CisJCWdsLT5nbF9kZW1vdGVfc3RhdGUgPSBMTV9TVF9VTkxPQ0tFRDsKIAl9Ci0Jc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKIH0KIAogLyoqCi0gKiBzdGF0ZV9jaGFuZ2UgLSByZWNvcmQgdGhhdCB0aGUgZ2xvY2sgaXMgbm93IGluIGEgZGlmZmVyZW50IHN0YXRlCi0gKiBAZ2w6IHRoZSBnbG9jawotICogQG5ld19zdGF0ZSB0aGUgbmV3IHN0YXRlCi0gKgotICovCi0KLXN0YXRpYyB2b2lkIHN0YXRlX2NoYW5nZShzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wsIHVuc2lnbmVkIGludCBuZXdfc3RhdGUpCi17Ci0JaW50IGhlbGQxLCBoZWxkMjsKLQotCWhlbGQxID0gKGdsLT5nbF9zdGF0ZSAhPSBMTV9TVF9VTkxPQ0tFRCk7Ci0JaGVsZDIgPSAobmV3X3N0YXRlICE9IExNX1NUX1VOTE9DS0VEKTsKLQotCWlmIChoZWxkMSAhPSBoZWxkMikgewotCQlpZiAoaGVsZDIpCi0JCQlnZnMyX2dsb2NrX2hvbGQoZ2wpOwotCQllbHNlCi0JCQlnZnMyX2dsb2NrX3B1dChnbCk7Ci0JfQotCi0JZ2wtPmdsX3N0YXRlID0gbmV3X3N0YXRlOwotCWdsLT5nbF90Y2hhbmdlID0gamlmZmllczsKLX0KLQotLyoqCi0gKiBkcm9wX2JoIC0gQ2FsbGVkIGFmdGVyIGEgbG9jayBtb2R1bGUgdW5sb2NrIGNvbXBsZXRlcwotICogQGdsOiB0aGUgZ2xvY2sKLSAqIEByZXQ6IHRoZSByZXR1cm4gc3RhdHVzCi0gKgotICogRG9lc24ndCB3YWtlIHVwIHRoZSBwcm9jZXNzIHdhaXRpbmcgb24gdGhlIHN0cnVjdCBnZnMyX2hvbGRlciAoaWYgYW55KQotICogRG9lc24ndCBkcm9wIHRoZSByZWZlcmVuY2Ugb24gdGhlIGdsb2NrIHRoZSB0b3AgaGFsZiB0b29rIG91dAotICoKLSAqLwotCi1zdGF0aWMgdm9pZCBkcm9wX2JoKHN0cnVjdCBnZnMyX2dsb2NrICpnbCwgdW5zaWduZWQgaW50IHJldCkKLXsKLQlzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCA9IGdsLT5nbF9zYmQ7Ci0Jc3RydWN0IGdmczJfaG9sZGVyICpnaCA9IGdsLT5nbF9yZXFfZ2g7Ci0KLQlnZnMyX2Fzc2VydF93YXJuKHNkcCwgdGVzdF9iaXQoR0xGX0xPQ0ssICZnbC0+Z2xfZmxhZ3MpKTsKLQlnZnMyX2Fzc2VydF93YXJuKHNkcCwgbGlzdF9lbXB0eSgmZ2wtPmdsX2hvbGRlcnMpKTsKLQlnZnMyX2Fzc2VydF93YXJuKHNkcCwgIXJldCk7Ci0KLQlzdGF0ZV9jaGFuZ2UoZ2wsIExNX1NUX1VOTE9DS0VEKTsKLQotCWlmICh0ZXN0X2FuZF9jbGVhcl9iaXQoR0xGX0NPTlZfREVBRExLLCAmZ2wtPmdsX2ZsYWdzKSkgewotCQlzcGluX2xvY2soJmdsLT5nbF9zcGluKTsKLQkJZ2gtPmdoX2Vycm9yID0gMDsKLQkJc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKLQkJZ2ZzMl9nbG9ja194bW90ZV90aChnbCwgZ2wtPmdsX3JlcV9naCk7Ci0JCWdmczJfZ2xvY2tfcHV0KGdsKTsKLQkJcmV0dXJuOwotCX0KLQotCXNwaW5fbG9jaygmZ2wtPmdsX3NwaW4pOwotCWdmczJfZGVtb3RlX3dha2UoZ2wpOwotCWNsZWFyX2JpdChHTEZfTE9DSywgJmdsLT5nbF9mbGFncyk7Ci0Jc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKLQlnZnMyX2dsb2NrX3B1dChnbCk7Ci19Ci0KLS8qKgotICogeG1vdGVfYmggLSBDYWxsZWQgYWZ0ZXIgdGhlIGxvY2sgbW9kdWxlIGlzIGRvbmUgYWNxdWlyaW5nIGEgbG9jawotICogQGdsOiBUaGUgZ2xvY2sgaW4gcXVlc3Rpb24KLSAqIEByZXQ6IHRoZSBpbnQgcmV0dXJuZWQgZnJvbSB0aGUgbG9jayBtb2R1bGUKLSAqCi0gKi8KLQotc3RhdGljIHZvaWQgeG1vdGVfYmgoc3RydWN0IGdmczJfZ2xvY2sgKmdsLCB1bnNpZ25lZCBpbnQgcmV0KQotewotCXN0cnVjdCBnZnMyX3NiZCAqc2RwID0gZ2wtPmdsX3NiZDsKLQljb25zdCBzdHJ1Y3QgZ2ZzMl9nbG9ja19vcGVyYXRpb25zICpnbG9wcyA9IGdsLT5nbF9vcHM7Ci0Jc3RydWN0IGdmczJfaG9sZGVyICpnaCA9IGdsLT5nbF9yZXFfZ2g7Ci0JaW50IG9wX2RvbmUgPSAxOwotCi0JaWYgKCFnaCAmJiAocmV0ICYgTE1fT1VUX1NUX01BU0spID09IExNX1NUX1VOTE9DS0VEKSB7Ci0JCWRyb3BfYmgoZ2wsIHJldCk7Ci0JCXJldHVybjsKLQl9Ci0KLQlnZnMyX2Fzc2VydF93YXJuKHNkcCwgdGVzdF9iaXQoR0xGX0xPQ0ssICZnbC0+Z2xfZmxhZ3MpKTsKLQlnZnMyX2Fzc2VydF93YXJuKHNkcCwgbGlzdF9lbXB0eSgmZ2wtPmdsX2hvbGRlcnMpKTsKLQlnZnMyX2Fzc2VydF93YXJuKHNkcCwgIShyZXQgJiBMTV9PVVRfQVNZTkMpKTsKLQotCXN0YXRlX2NoYW5nZShnbCwgcmV0ICYgTE1fT1VUX1NUX01BU0spOwotCi0JLyogIERlYWwgd2l0aCBlYWNoIHBvc3NpYmxlIGV4aXQgY29uZGl0aW9uICAqLwotCi0JaWYgKCFnaCkgewotCQlnbC0+Z2xfc3RhbXAgPSBqaWZmaWVzOwotCQlpZiAocmV0ICYgTE1fT1VUX0NBTkNFTEVEKSB7Ci0JCQlvcF9kb25lID0gMDsKLQkJfSBlbHNlIHsKLQkJCXNwaW5fbG9jaygmZ2wtPmdsX3NwaW4pOwotCQkJaWYgKGdsLT5nbF9zdGF0ZSAhPSBnbC0+Z2xfZGVtb3RlX3N0YXRlKSB7Ci0JCQkJc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKLQkJCQlnZnMyX2dsb2NrX2Ryb3BfdGgoZ2wpOwotCQkJCWdmczJfZ2xvY2tfcHV0KGdsKTsKLQkJCQlyZXR1cm47Ci0JCQl9Ci0JCQlnZnMyX2RlbW90ZV93YWtlKGdsKTsKLQkJCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JCX0KLQl9IGVsc2UgewotCQlzcGluX2xvY2soJmdsLT5nbF9zcGluKTsKLQkJaWYgKHJldCAmIExNX09VVF9DT05WX0RFQURMSykgewotCQkJZ2gtPmdoX2Vycm9yID0gMDsKLQkJCXNldF9iaXQoR0xGX0NPTlZfREVBRExLLCAmZ2wtPmdsX2ZsYWdzKTsKLQkJCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JCQlnZnMyX2dsb2NrX2Ryb3BfdGgoZ2wpOwotCQkJZ2ZzMl9nbG9ja19wdXQoZ2wpOwotCQkJcmV0dXJuOwotCQl9Ci0JCWxpc3RfZGVsX2luaXQoJmdoLT5naF9saXN0KTsKLQkJZ2gtPmdoX2Vycm9yID0gLUVJTzsKLQkJaWYgKHVubGlrZWx5KHRlc3RfYml0KFNERl9TSFVURE9XTiwgJnNkcC0+c2RfZmxhZ3MpKSkgCi0JCQlnb3RvIG91dDsKLQkJZ2gtPmdoX2Vycm9yID0gR0xSX0NBTkNFTEVEOwotCQlpZiAocmV0ICYgTE1fT1VUX0NBTkNFTEVEKSAKLQkJCWdvdG8gb3V0OwotCQlpZiAocmVsYXhlZF9zdGF0ZV9vayhnbC0+Z2xfc3RhdGUsIGdoLT5naF9zdGF0ZSwgZ2gtPmdoX2ZsYWdzKSkgewotCQkJbGlzdF9hZGRfdGFpbCgmZ2gtPmdoX2xpc3QsICZnbC0+Z2xfaG9sZGVycyk7Ci0JCQlnaC0+Z2hfZXJyb3IgPSAwOwotCQkJc2V0X2JpdChISUZfSE9MREVSLCAmZ2gtPmdoX2lmbGFncyk7Ci0JCQlzZXRfYml0KEhJRl9GSVJTVCwgJmdoLT5naF9pZmxhZ3MpOwotCQkJb3BfZG9uZSA9IDA7Ci0JCQlnb3RvIG91dDsKLQkJfQotCQlnaC0+Z2hfZXJyb3IgPSBHTFJfVFJZRkFJTEVEOwotCQlpZiAoZ2gtPmdoX2ZsYWdzICYgKExNX0ZMQUdfVFJZIHwgTE1fRkxBR19UUllfMUNCKSkKLQkJCWdvdG8gb3V0OwotCQlnaC0+Z2hfZXJyb3IgPSAtRUlOVkFMOwotCQlpZiAoZ2ZzMl9hc3NlcnRfd2l0aGRyYXcoc2RwLCAwKSA9PSAtMSkKLQkJCWZzX2VycihzZHAsICJyZXQgPSAweCUuOFhcbiIsIHJldCk7Ci1vdXQ6Ci0JCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JfQotCi0JaWYgKGdsb3BzLT5nb194bW90ZV9iaCkKLQkJZ2xvcHMtPmdvX3htb3RlX2JoKGdsKTsKLQotCWlmIChvcF9kb25lKSB7Ci0JCXNwaW5fbG9jaygmZ2wtPmdsX3NwaW4pOwotCQlnbC0+Z2xfcmVxX2doID0gTlVMTDsKLQkJY2xlYXJfYml0KEdMRl9MT0NLLCAmZ2wtPmdsX2ZsYWdzKTsKLQkJc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKLQl9Ci0KLQlnZnMyX2dsb2NrX3B1dChnbCk7Ci0KLQlpZiAoZ2gpCi0JCWdmczJfaG9sZGVyX3dha2UoZ2gpOwotfQotCi1zdGF0aWMgdW5zaWduZWQgaW50IGdmczJfbG1fbG9jayhzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCwgdm9pZCAqbG9jaywKLQkJCQkgdW5zaWduZWQgaW50IGN1cl9zdGF0ZSwgdW5zaWduZWQgaW50IHJlcV9zdGF0ZSwKLQkJCQkgdW5zaWduZWQgaW50IGZsYWdzKQotewotCWludCByZXQgPSAwOwotCWlmIChsaWtlbHkoIXRlc3RfYml0KFNERl9TSFVURE9XTiwgJnNkcC0+c2RfZmxhZ3MpKSkKLQkJcmV0ID0gc2RwLT5zZF9sb2Nrc3RydWN0LmxzX29wcy0+bG1fbG9jayhsb2NrLCBjdXJfc3RhdGUsCi0JCQkJCQkJIHJlcV9zdGF0ZSwgZmxhZ3MpOwotCXJldHVybiByZXQ7Ci19Ci0KLS8qKgotICogZ2ZzMl9nbG9ja194bW90ZV90aCAtIENhbGwgaW50byB0aGUgbG9jayBtb2R1bGUgdG8gYWNxdWlyZSBvciBjaGFuZ2UgYSBnbG9jawotICogQGdsOiBUaGUgZ2xvY2sgaW4gcXVlc3Rpb24KLSAqIEBzdGF0ZTogdGhlIHJlcXVlc3RlZCBzdGF0ZQotICogQGZsYWdzOiBtb2RpZmllciBmbGFncyB0byB0aGUgbG9jayBjYWxsCi0gKgotICovCi0KLXN0YXRpYyB2b2lkIGdmczJfZ2xvY2tfeG1vdGVfdGgoc3RydWN0IGdmczJfZ2xvY2sgKmdsLCBzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoKQotewotCXN0cnVjdCBnZnMyX3NiZCAqc2RwID0gZ2wtPmdsX3NiZDsKLQlpbnQgZmxhZ3MgPSBnaCA/IGdoLT5naF9mbGFncyA6IDA7Ci0JdW5zaWduZWQgc3RhdGUgPSBnaCA/IGdoLT5naF9zdGF0ZSA6IGdsLT5nbF9kZW1vdGVfc3RhdGU7Ci0JY29uc3Qgc3RydWN0IGdmczJfZ2xvY2tfb3BlcmF0aW9ucyAqZ2xvcHMgPSBnbC0+Z2xfb3BzOwotCWludCBsY2tfZmxhZ3MgPSBmbGFncyAmIChMTV9GTEFHX1RSWSB8IExNX0ZMQUdfVFJZXzFDQiB8Ci0JCQkJIExNX0ZMQUdfTk9FWFAgfCBMTV9GTEFHX0FOWSB8Ci0JCQkJIExNX0ZMQUdfUFJJT1JJVFkpOwotCXVuc2lnbmVkIGludCBsY2tfcmV0OwotCi0JaWYgKGdsb3BzLT5nb194bW90ZV90aCkKLQkJZ2xvcHMtPmdvX3htb3RlX3RoKGdsKTsKLQlpZiAoc3RhdGUgPT0gTE1fU1RfREVGRVJSRUQgJiYgZ2xvcHMtPmdvX2ludmFsKQotCQlnbG9wcy0+Z29faW52YWwoZ2wsIERJT19NRVRBREFUQSk7Ci0KLQlnZnMyX2Fzc2VydF93YXJuKHNkcCwgdGVzdF9iaXQoR0xGX0xPQ0ssICZnbC0+Z2xfZmxhZ3MpKTsKLQlnZnMyX2Fzc2VydF93YXJuKHNkcCwgbGlzdF9lbXB0eSgmZ2wtPmdsX2hvbGRlcnMpKTsKLQlnZnMyX2Fzc2VydF93YXJuKHNkcCwgc3RhdGUgIT0gTE1fU1RfVU5MT0NLRUQpOwotCWdmczJfYXNzZXJ0X3dhcm4oc2RwLCBzdGF0ZSAhPSBnbC0+Z2xfc3RhdGUpOwotCi0JZ2ZzMl9nbG9ja19ob2xkKGdsKTsKLQotCWxja19yZXQgPSBnZnMyX2xtX2xvY2soc2RwLCBnbC0+Z2xfbG9jaywgZ2wtPmdsX3N0YXRlLCBzdGF0ZSwgbGNrX2ZsYWdzKTsKLQotCWlmIChnZnMyX2Fzc2VydF93aXRoZHJhdyhzZHAsICEobGNrX3JldCAmIExNX09VVF9FUlJPUikpKQotCQlyZXR1cm47Ci0KLQlpZiAobGNrX3JldCAmIExNX09VVF9BU1lOQykKLQkJZ2ZzMl9hc3NlcnRfd2FybihzZHAsIGxja19yZXQgPT0gTE1fT1VUX0FTWU5DKTsKLQllbHNlCi0JCXhtb3RlX2JoKGdsLCBsY2tfcmV0KTsKLX0KLQotc3RhdGljIHVuc2lnbmVkIGludCBnZnMyX2xtX3VubG9jayhzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCwgdm9pZCAqbG9jaywKLQkJCQkgICB1bnNpZ25lZCBpbnQgY3VyX3N0YXRlKQotewotCWludCByZXQgPSAwOwotCWlmIChsaWtlbHkoIXRlc3RfYml0KFNERl9TSFVURE9XTiwgJnNkcC0+c2RfZmxhZ3MpKSkKLQkJcmV0ID0gIHNkcC0+c2RfbG9ja3N0cnVjdC5sc19vcHMtPmxtX3VubG9jayhsb2NrLCBjdXJfc3RhdGUpOwotCXJldHVybiByZXQ7Ci19Ci0KLS8qKgotICogZ2ZzMl9nbG9ja19kcm9wX3RoIC0gY2FsbCBpbnRvIHRoZSBsb2NrIG1vZHVsZSB0byB1bmxvY2sgYSBsb2NrCi0gKiBAZ2w6IHRoZSBnbG9jawotICoKLSAqLwotCi1zdGF0aWMgdm9pZCBnZnMyX2dsb2NrX2Ryb3BfdGgoc3RydWN0IGdmczJfZ2xvY2sgKmdsKQotewotCXN0cnVjdCBnZnMyX3NiZCAqc2RwID0gZ2wtPmdsX3NiZDsKLQljb25zdCBzdHJ1Y3QgZ2ZzMl9nbG9ja19vcGVyYXRpb25zICpnbG9wcyA9IGdsLT5nbF9vcHM7Ci0JdW5zaWduZWQgaW50IHJldDsKLQotCWlmIChnbG9wcy0+Z29feG1vdGVfdGgpCi0JCWdsb3BzLT5nb194bW90ZV90aChnbCk7Ci0JaWYgKGdsb3BzLT5nb19pbnZhbCkKLQkJZ2xvcHMtPmdvX2ludmFsKGdsLCBESU9fTUVUQURBVEEpOwotCi0JZ2ZzMl9hc3NlcnRfd2FybihzZHAsIHRlc3RfYml0KEdMRl9MT0NLLCAmZ2wtPmdsX2ZsYWdzKSk7Ci0JZ2ZzMl9hc3NlcnRfd2FybihzZHAsIGxpc3RfZW1wdHkoJmdsLT5nbF9ob2xkZXJzKSk7Ci0JZ2ZzMl9hc3NlcnRfd2FybihzZHAsIGdsLT5nbF9zdGF0ZSAhPSBMTV9TVF9VTkxPQ0tFRCk7Ci0KLQlnZnMyX2dsb2NrX2hvbGQoZ2wpOwotCi0JcmV0ID0gZ2ZzMl9sbV91bmxvY2soc2RwLCBnbC0+Z2xfbG9jaywgZ2wtPmdsX3N0YXRlKTsKLQotCWlmIChnZnMyX2Fzc2VydF93aXRoZHJhdyhzZHAsICEocmV0ICYgTE1fT1VUX0VSUk9SKSkpCi0JCXJldHVybjsKLQotCWlmICghcmV0KQotCQlkcm9wX2JoKGdsLCByZXQpOwotCWVsc2UKLQkJZ2ZzMl9hc3NlcnRfd2FybihzZHAsIHJldCA9PSBMTV9PVVRfQVNZTkMpOwotfQotCi0vKioKLSAqIGRvX2NhbmNlbHMgLSBjYW5jZWwgcmVxdWVzdHMgZm9yIGxvY2tzIHN0dWNrIHdhaXRpbmcgb24gYW4gZXhwaXJlIGZsYWcKLSAqIEBnaDogdGhlIExNX0ZMQUdfUFJJT1JJVFkgaG9sZGVyIHdhaXRpbmcgdG8gYWNxdWlyZSB0aGUgbG9jawotICoKLSAqIERvbid0IGNhbmNlbCBHTF9OT0NBTkNFTCByZXF1ZXN0cy4KLSAqLwotCi1zdGF0aWMgdm9pZCBkb19jYW5jZWxzKHN0cnVjdCBnZnMyX2hvbGRlciAqZ2gpCi17Ci0Jc3RydWN0IGdmczJfZ2xvY2sgKmdsID0gZ2gtPmdoX2dsOwotCXN0cnVjdCBnZnMyX3NiZCAqc2RwID0gZ2wtPmdsX3NiZDsKLQotCXNwaW5fbG9jaygmZ2wtPmdsX3NwaW4pOwotCi0Jd2hpbGUgKGdsLT5nbF9yZXFfZ2ggIT0gZ2ggJiYKLQkgICAgICAgIXRlc3RfYml0KEhJRl9IT0xERVIsICZnaC0+Z2hfaWZsYWdzKSAmJgotCSAgICAgICAhbGlzdF9lbXB0eSgmZ2gtPmdoX2xpc3QpKSB7Ci0JCWlmICghKGdsLT5nbF9yZXFfZ2ggJiYgKGdsLT5nbF9yZXFfZ2gtPmdoX2ZsYWdzICYgR0xfTk9DQU5DRUwpKSkgewotCQkJc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKLQkJCWlmIChsaWtlbHkoIXRlc3RfYml0KFNERl9TSFVURE9XTiwgJnNkcC0+c2RfZmxhZ3MpKSkKLQkJCQlzZHAtPnNkX2xvY2tzdHJ1Y3QubHNfb3BzLT5sbV9jYW5jZWwoZ2wtPmdsX2xvY2spOwotCQkJbXNsZWVwKDEwMCk7Ci0JCQlzcGluX2xvY2soJmdsLT5nbF9zcGluKTsKLQkJfSBlbHNlIHsKLQkJCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JCQltc2xlZXAoMTAwKTsKLQkJCXNwaW5fbG9jaygmZ2wtPmdsX3NwaW4pOwotCQl9Ci0JfQotCi0Jc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKLX0KLQotLyoqCi0gKiBnbG9ja193YWl0X2ludGVybmFsIC0gd2FpdCBvbiBhIGdsb2NrIGFjcXVpc2l0aW9uCisgKiBnZnMyX2dsb2NrX3dhaXQgLSB3YWl0IG9uIGEgZ2xvY2sgYWNxdWlzaXRpb24KICAqIEBnaDogdGhlIGdsb2NrIGhvbGRlcgogICoKICAqIFJldHVybnM6IDAgb24gc3VjY2VzcwogICovCiAKLXN0YXRpYyBpbnQgZ2xvY2tfd2FpdF9pbnRlcm5hbChzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoKQoraW50IGdmczJfZ2xvY2tfd2FpdChzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoKQogewotCXN0cnVjdCBnZnMyX2dsb2NrICpnbCA9IGdoLT5naF9nbDsKLQlzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCA9IGdsLT5nbF9zYmQ7Ci0JY29uc3Qgc3RydWN0IGdmczJfZ2xvY2tfb3BlcmF0aW9ucyAqZ2xvcHMgPSBnbC0+Z2xfb3BzOwotCi0JaWYgKHRlc3RfYml0KEhJRl9BQk9SVEVELCAmZ2gtPmdoX2lmbGFncykpCi0JCXJldHVybiAtRUlPOwotCi0JaWYgKGdoLT5naF9mbGFncyAmIChMTV9GTEFHX1RSWSB8IExNX0ZMQUdfVFJZXzFDQikpIHsKLQkJc3Bpbl9sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JCWlmIChnbC0+Z2xfcmVxX2doICE9IGdoICYmCi0JCSAgICAhdGVzdF9iaXQoSElGX0hPTERFUiwgJmdoLT5naF9pZmxhZ3MpICYmCi0JCSAgICAhbGlzdF9lbXB0eSgmZ2gtPmdoX2xpc3QpKSB7Ci0JCQlsaXN0X2RlbF9pbml0KCZnaC0+Z2hfbGlzdCk7Ci0JCQlnaC0+Z2hfZXJyb3IgPSBHTFJfVFJZRkFJTEVEOwotCQkJcnVuX3F1ZXVlKGdsKTsKLQkJCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JCQlyZXR1cm4gZ2gtPmdoX2Vycm9yOwotCQl9Ci0JCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JfQotCi0JaWYgKGdoLT5naF9mbGFncyAmIExNX0ZMQUdfUFJJT1JJVFkpCi0JCWRvX2NhbmNlbHMoZ2gpOwotCiAJd2FpdF9vbl9ob2xkZXIoZ2gpOwotCWlmIChnaC0+Z2hfZXJyb3IpCi0JCXJldHVybiBnaC0+Z2hfZXJyb3I7Ci0KLQlnZnMyX2Fzc2VydF93aXRoZHJhdyhzZHAsIHRlc3RfYml0KEhJRl9IT0xERVIsICZnaC0+Z2hfaWZsYWdzKSk7Ci0JZ2ZzMl9hc3NlcnRfd2l0aGRyYXcoc2RwLCByZWxheGVkX3N0YXRlX29rKGdsLT5nbF9zdGF0ZSwgZ2gtPmdoX3N0YXRlLAotCQkJCQkJICAgZ2gtPmdoX2ZsYWdzKSk7Ci0KLQlpZiAodGVzdF9iaXQoSElGX0ZJUlNULCAmZ2gtPmdoX2lmbGFncykpIHsKLQkJZ2ZzMl9hc3NlcnRfd2FybihzZHAsIHRlc3RfYml0KEdMRl9MT0NLLCAmZ2wtPmdsX2ZsYWdzKSk7Ci0KLQkJaWYgKGdsb3BzLT5nb19sb2NrKSB7Ci0JCQlnaC0+Z2hfZXJyb3IgPSBnbG9wcy0+Z29fbG9jayhnaCk7Ci0JCQlpZiAoZ2gtPmdoX2Vycm9yKSB7Ci0JCQkJc3Bpbl9sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JCQkJbGlzdF9kZWxfaW5pdCgmZ2gtPmdoX2xpc3QpOwotCQkJCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JCQl9Ci0JCX0KLQotCQlzcGluX2xvY2soJmdsLT5nbF9zcGluKTsKLQkJZ2wtPmdsX3JlcV9naCA9IE5VTEw7Ci0JCWNsZWFyX2JpdChHTEZfTE9DSywgJmdsLT5nbF9mbGFncyk7Ci0JCXJ1bl9xdWV1ZShnbCk7Ci0JCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JfQotCiAJcmV0dXJuIGdoLT5naF9lcnJvcjsKIH0KIAotc3RhdGljIGlubGluZSBzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKgotZmluZF9ob2xkZXJfYnlfb3duZXIoc3RydWN0IGxpc3RfaGVhZCAqaGVhZCwgc3RydWN0IHBpZCAqcGlkKQotewotCXN0cnVjdCBnZnMyX2hvbGRlciAqZ2g7Ci0KLQlsaXN0X2Zvcl9lYWNoX2VudHJ5KGdoLCBoZWFkLCBnaF9saXN0KSB7Ci0JCWlmIChnaC0+Z2hfb3duZXJfcGlkID09IHBpZCkKLQkJCXJldHVybiBnaDsKLQl9Ci0KLQlyZXR1cm4gTlVMTDsKLX0KLQotc3RhdGljIHZvaWQgcHJpbnRfZGJnKHN0cnVjdCBnbG9ja19pdGVyICpnaSwgY29uc3QgY2hhciAqZm10LCAuLi4pCit2b2lkIGdmczJfcHJpbnRfZGJnKHN0cnVjdCBzZXFfZmlsZSAqc2VxLCBjb25zdCBjaGFyICpmbXQsIC4uLikKIHsKIAl2YV9saXN0IGFyZ3M7CiAKIAl2YV9zdGFydChhcmdzLCBmbXQpOwotCWlmIChnaSkgeworCWlmIChzZXEpIHsKKwkJc3RydWN0IGdmczJfZ2xvY2tfaXRlciAqZ2kgPSBzZXEtPnByaXZhdGU7CiAJCXZzcHJpbnRmKGdpLT5zdHJpbmcsIGZtdCwgYXJncyk7Ci0JCXNlcV9wcmludGYoZ2ktPnNlcSwgZ2ktPnN0cmluZyk7Ci0JfQotCWVsc2UKKwkJc2VxX3ByaW50ZihzZXEsIGdpLT5zdHJpbmcpOworCX0gZWxzZSB7CisJCXByaW50ayhLRVJOX0VSUiAiICIpOwogCQl2cHJpbnRrKGZtdCwgYXJncyk7CisJfQogCXZhX2VuZChhcmdzKTsKIH0KIApAQCAtMTEwNCw1MCArODcwLDc2IEBACiAgKiBhZGRfdG9fcXVldWUgLSBBZGQgYSBob2xkZXIgdG8gdGhlIHdhaXQgcXVldWUgKGJ1dCBsb29rIGZvciByZWN1cnNpb24pCiAgKiBAZ2g6IHRoZSBob2xkZXIgc3RydWN0dXJlIHRvIGFkZAogICoKKyAqIEV2ZW50dWFsbHkgd2Ugc2hvdWxkIG1vdmUgdGhlIHJlY3Vyc2l2ZSBsb2NraW5nIHRyYXAgdG8gYQorICogZGVidWdnaW5nIG9wdGlvbiBvciBzb21ldGhpbmcgbGlrZSB0aGF0LiBUaGlzIGlzIHRoZSBmYXN0CisgKiBwYXRoIGFuZCBuZWVkcyB0byBoYXZlIHRoZSBtaW5pbXVtIG51bWJlciBvZiBkaXN0cmFjdGlvbnMuCisgKiAKICAqLwogCi1zdGF0aWMgdm9pZCBhZGRfdG9fcXVldWUoc3RydWN0IGdmczJfaG9sZGVyICpnaCkKK3N0YXRpYyBpbmxpbmUgdm9pZCBhZGRfdG9fcXVldWUoc3RydWN0IGdmczJfaG9sZGVyICpnaCkKIHsKIAlzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wgPSBnaC0+Z2hfZ2w7Ci0Jc3RydWN0IGdmczJfaG9sZGVyICpleGlzdGluZzsKKwlzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCA9IGdsLT5nbF9zYmQ7CisJc3RydWN0IGxpc3RfaGVhZCAqaW5zZXJ0X3B0ID0gTlVMTDsKKwlzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoMjsKKwlpbnQgdHJ5X2xvY2sgPSAwOwogCiAJQlVHX09OKGdoLT5naF9vd25lcl9waWQgPT0gTlVMTCk7CiAJaWYgKHRlc3RfYW5kX3NldF9iaXQoSElGX1dBSVQsICZnaC0+Z2hfaWZsYWdzKSkKIAkJQlVHKCk7CiAKLQlpZiAoIShnaC0+Z2hfZmxhZ3MgJiBHTF9GTE9DSykpIHsKLQkJZXhpc3RpbmcgPSBmaW5kX2hvbGRlcl9ieV9vd25lcigmZ2wtPmdsX2hvbGRlcnMsIAotCQkJCQkJZ2gtPmdoX293bmVyX3BpZCk7Ci0JCWlmIChleGlzdGluZykgewotCQkJcHJpbnRfc3ltYm9sKEtFUk5fV0FSTklORyAib3JpZ2luYWw6ICVzXG4iLCAKLQkJCQkgICAgIGV4aXN0aW5nLT5naF9pcCk7Ci0JCQlwcmludGsoS0VSTl9JTkZPICJwaWQgOiAlZFxuIiwKLQkJCQkJcGlkX25yKGV4aXN0aW5nLT5naF9vd25lcl9waWQpKTsKLQkJCXByaW50ayhLRVJOX0lORk8gImxvY2sgdHlwZSA6ICVkIGxvY2sgc3RhdGUgOiAlZFxuIiwKLQkJCSAgICAgICBleGlzdGluZy0+Z2hfZ2wtPmdsX25hbWUubG5fdHlwZSwgCi0JCQkgICAgICAgZXhpc3RpbmctPmdoX2dsLT5nbF9zdGF0ZSk7Ci0JCQlwcmludF9zeW1ib2woS0VSTl9XQVJOSU5HICJuZXc6ICVzXG4iLCBnaC0+Z2hfaXApOwotCQkJcHJpbnRrKEtFUk5fSU5GTyAicGlkIDogJWRcbiIsCi0JCQkJCXBpZF9ucihnaC0+Z2hfb3duZXJfcGlkKSk7Ci0JCQlwcmludGsoS0VSTl9JTkZPICJsb2NrIHR5cGUgOiAlZCBsb2NrIHN0YXRlIDogJWRcbiIsCi0JCQkgICAgICAgZ2wtPmdsX25hbWUubG5fdHlwZSwgZ2wtPmdsX3N0YXRlKTsKLQkJCUJVRygpOwotCQl9Ci0JCQotCQlleGlzdGluZyA9IGZpbmRfaG9sZGVyX2J5X293bmVyKCZnbC0+Z2xfd2FpdGVyczMsIAotCQkJCQkJZ2gtPmdoX293bmVyX3BpZCk7Ci0JCWlmIChleGlzdGluZykgewotCQkJcHJpbnRfc3ltYm9sKEtFUk5fV0FSTklORyAib3JpZ2luYWw6ICVzXG4iLCAKLQkJCQkgICAgIGV4aXN0aW5nLT5naF9pcCk7Ci0JCQlwcmludF9zeW1ib2woS0VSTl9XQVJOSU5HICJuZXc6ICVzXG4iLCBnaC0+Z2hfaXApOwotCQkJQlVHKCk7Ci0JCX0KKwlpZiAoZ2gtPmdoX2ZsYWdzICYgKExNX0ZMQUdfVFJZIHwgTE1fRkxBR19UUllfMUNCKSkgeworCQlpZiAodGVzdF9iaXQoR0xGX0xPQ0ssICZnbC0+Z2xfZmxhZ3MpKQorCQkJdHJ5X2xvY2sgPSAxOworCQlpZiAodGVzdF9iaXQoR0xGX0lOVkFMSURBVEVfSU5fUFJPR1JFU1MsICZnbC0+Z2xfZmxhZ3MpKQorCQkJZ290byBmYWlsOwogCX0KIAotCWlmIChnaC0+Z2hfZmxhZ3MgJiBMTV9GTEFHX1BSSU9SSVRZKQotCQlsaXN0X2FkZCgmZ2gtPmdoX2xpc3QsICZnbC0+Z2xfd2FpdGVyczMpOwotCWVsc2UKLQkJbGlzdF9hZGRfdGFpbCgmZ2gtPmdoX2xpc3QsICZnbC0+Z2xfd2FpdGVyczMpOworCWxpc3RfZm9yX2VhY2hfZW50cnkoZ2gyLCAmZ2wtPmdsX2hvbGRlcnMsIGdoX2xpc3QpIHsKKwkJaWYgKHVubGlrZWx5KGdoMi0+Z2hfb3duZXJfcGlkID09IGdoLT5naF9vd25lcl9waWQgJiYKKwkJICAgIChnaC0+Z2hfZ2wtPmdsX29wcy0+Z29fdHlwZSAhPSBMTV9UWVBFX0ZMT0NLKSkpCisJCQlnb3RvIHRyYXBfcmVjdXJzaXZlOworCQlpZiAodHJ5X2xvY2sgJiYKKwkJICAgICEoZ2gyLT5naF9mbGFncyAmIChMTV9GTEFHX1RSWSB8IExNX0ZMQUdfVFJZXzFDQikpICYmCisJCSAgICAhbWF5X2dyYW50KGdsLCBnaCkpIHsKK2ZhaWw6CisJCQlnaC0+Z2hfZXJyb3IgPSBHTFJfVFJZRkFJTEVEOworCQkJZ2ZzMl9ob2xkZXJfd2FrZShnaCk7CisJCQlyZXR1cm47CisJCX0KKwkJaWYgKHRlc3RfYml0KEhJRl9IT0xERVIsICZnaDItPmdoX2lmbGFncykpCisJCQljb250aW51ZTsKKwkJaWYgKHVubGlrZWx5KChnaC0+Z2hfZmxhZ3MgJiBMTV9GTEFHX1BSSU9SSVRZKSAmJiAhaW5zZXJ0X3B0KSkKKwkJCWluc2VydF9wdCA9ICZnaDItPmdoX2xpc3Q7CisJfQorCWlmIChsaWtlbHkoaW5zZXJ0X3B0ID09IE5VTEwpKSB7CisJCWxpc3RfYWRkX3RhaWwoJmdoLT5naF9saXN0LCAmZ2wtPmdsX2hvbGRlcnMpOworCQlpZiAodW5saWtlbHkoZ2gtPmdoX2ZsYWdzICYgTE1fRkxBR19QUklPUklUWSkpCisJCQlnb3RvIGRvX2NhbmNlbDsKKwkJcmV0dXJuOworCX0KKwlsaXN0X2FkZF90YWlsKCZnaC0+Z2hfbGlzdCwgaW5zZXJ0X3B0KTsKK2RvX2NhbmNlbDoKKwlnaCA9IGxpc3RfZW50cnkoZ2wtPmdsX2hvbGRlcnMubmV4dCwgc3RydWN0IGdmczJfaG9sZGVyLCBnaF9saXN0KTsKKwlpZiAoIShnaC0+Z2hfZmxhZ3MgJiBMTV9GTEFHX1BSSU9SSVRZKSkgeworCQlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOworCQlpZiAoc2RwLT5zZF9sb2Nrc3RydWN0LmxzX29wcy0+bG1fY2FuY2VsKQorCQkJc2RwLT5zZF9sb2Nrc3RydWN0LmxzX29wcy0+bG1fY2FuY2VsKGdsLT5nbF9sb2NrKTsKKwkJc3Bpbl9sb2NrKCZnbC0+Z2xfc3Bpbik7CisJfQorCXJldHVybjsKKwordHJhcF9yZWN1cnNpdmU6CisJcHJpbnRfc3ltYm9sKEtFUk5fRVJSICJvcmlnaW5hbDogJXNcbiIsIGdoMi0+Z2hfaXApOworCXByaW50ayhLRVJOX0VSUiAicGlkOiAlZFxuIiwgcGlkX25yKGdoMi0+Z2hfb3duZXJfcGlkKSk7CisJcHJpbnRrKEtFUk5fRVJSICJsb2NrIHR5cGU6ICVkIHJlcSBsb2NrIHN0YXRlIDogJWRcbiIsCisJICAgICAgIGdoMi0+Z2hfZ2wtPmdsX25hbWUubG5fdHlwZSwgZ2gyLT5naF9zdGF0ZSk7CisJcHJpbnRfc3ltYm9sKEtFUk5fRVJSICJuZXc6ICVzXG4iLCBnaC0+Z2hfaXApOworCXByaW50ayhLRVJOX0VSUiAicGlkOiAlZFxuIiwgcGlkX25yKGdoLT5naF9vd25lcl9waWQpKTsKKwlwcmludGsoS0VSTl9FUlIgImxvY2sgdHlwZTogJWQgcmVxIGxvY2sgc3RhdGUgOiAlZFxuIiwKKwkgICAgICAgZ2gtPmdoX2dsLT5nbF9uYW1lLmxuX3R5cGUsIGdoLT5naF9zdGF0ZSk7CisJX19kdW1wX2dsb2NrKE5VTEwsIGdsKTsKKwlCVUcoKTsKIH0KIAogLyoqCkBAIC0xMTY1LDI0ICs5NTcsMTYgQEAKIAlzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCA9IGdsLT5nbF9zYmQ7CiAJaW50IGVycm9yID0gMDsKIAotcmVzdGFydDoKLQlpZiAodW5saWtlbHkodGVzdF9iaXQoU0RGX1NIVVRET1dOLCAmc2RwLT5zZF9mbGFncykpKSB7Ci0JCXNldF9iaXQoSElGX0FCT1JURUQsICZnaC0+Z2hfaWZsYWdzKTsKKwlpZiAodW5saWtlbHkodGVzdF9iaXQoU0RGX1NIVVRET1dOLCAmc2RwLT5zZF9mbGFncykpKQogCQlyZXR1cm4gLUVJTzsKLQl9CiAKIAlzcGluX2xvY2soJmdsLT5nbF9zcGluKTsKIAlhZGRfdG9fcXVldWUoZ2gpOwotCXJ1bl9xdWV1ZShnbCk7CisJcnVuX3F1ZXVlKGdsLCAxKTsKIAlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOwogCi0JaWYgKCEoZ2gtPmdoX2ZsYWdzICYgR0xfQVNZTkMpKSB7Ci0JCWVycm9yID0gZ2xvY2tfd2FpdF9pbnRlcm5hbChnaCk7Ci0JCWlmIChlcnJvciA9PSBHTFJfQ0FOQ0VMRUQpIHsKLQkJCW1zbGVlcCgxMDApOwotCQkJZ290byByZXN0YXJ0OwotCQl9Ci0JfQorCWlmICghKGdoLT5naF9mbGFncyAmIEdMX0FTWU5DKSkKKwkJZXJyb3IgPSBnZnMyX2dsb2NrX3dhaXQoZ2gpOwogCiAJcmV0dXJuIGVycm9yOwogfQpAQCAtMTE5Niw0OCArOTgwLDcgQEAKIAogaW50IGdmczJfZ2xvY2tfcG9sbChzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoKQogewotCXN0cnVjdCBnZnMyX2dsb2NrICpnbCA9IGdoLT5naF9nbDsKLQlpbnQgcmVhZHkgPSAwOwotCi0Jc3Bpbl9sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0KLQlpZiAodGVzdF9iaXQoSElGX0hPTERFUiwgJmdoLT5naF9pZmxhZ3MpKQotCQlyZWFkeSA9IDE7Ci0JZWxzZSBpZiAobGlzdF9lbXB0eSgmZ2gtPmdoX2xpc3QpKSB7Ci0JCWlmIChnaC0+Z2hfZXJyb3IgPT0gR0xSX0NBTkNFTEVEKSB7Ci0JCQlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOwotCQkJbXNsZWVwKDEwMCk7Ci0JCQlpZiAoZ2ZzMl9nbG9ja19ucShnaCkpCi0JCQkJcmV0dXJuIDE7Ci0JCQlyZXR1cm4gMDsKLQkJfSBlbHNlCi0JCQlyZWFkeSA9IDE7Ci0JfQotCi0Jc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKLQotCXJldHVybiByZWFkeTsKLX0KLQotLyoqCi0gKiBnZnMyX2dsb2NrX3dhaXQgLSB3YWl0IGZvciBhIGxvY2sgYWNxdWlzaXRpb24gdGhhdCBlbmRlZCBpbiBhIEdMUl9BU1lOQwotICogQGdoOiB0aGUgaG9sZGVyIHN0cnVjdHVyZQotICoKLSAqIFJldHVybnM6IDAsIEdMUl9UUllGQUlMRUQsIG9yIGVycm5vIG9uIGZhaWx1cmUKLSAqLwotCi1pbnQgZ2ZzMl9nbG9ja193YWl0KHN0cnVjdCBnZnMyX2hvbGRlciAqZ2gpCi17Ci0JaW50IGVycm9yOwotCi0JZXJyb3IgPSBnbG9ja193YWl0X2ludGVybmFsKGdoKTsKLQlpZiAoZXJyb3IgPT0gR0xSX0NBTkNFTEVEKSB7Ci0JCW1zbGVlcCgxMDApOwotCQlnaC0+Z2hfZmxhZ3MgJj0gfkdMX0FTWU5DOwotCQllcnJvciA9IGdmczJfZ2xvY2tfbnEoZ2gpOwotCX0KLQotCXJldHVybiBlcnJvcjsKKwlyZXR1cm4gdGVzdF9iaXQoSElGX1dBSVQsICZnaC0+Z2hfaWZsYWdzKSA/IDAgOiAxOwogfQogCiAvKioKQEAgLTEyNTEsMjYgKzk5NCwzMCBAQAogCXN0cnVjdCBnZnMyX2dsb2NrICpnbCA9IGdoLT5naF9nbDsKIAljb25zdCBzdHJ1Y3QgZ2ZzMl9nbG9ja19vcGVyYXRpb25zICpnbG9wcyA9IGdsLT5nbF9vcHM7CiAJdW5zaWduZWQgZGVsYXkgPSAwOworCWludCBmYXN0X3BhdGggPSAwOwogCisJc3Bpbl9sb2NrKCZnbC0+Z2xfc3Bpbik7CiAJaWYgKGdoLT5naF9mbGFncyAmIEdMX05PQ0FDSEUpCiAJCWhhbmRsZV9jYWxsYmFjayhnbCwgTE1fU1RfVU5MT0NLRUQsIDAsIDApOwogCi0JZ2ZzMl9nbG11dGV4X2xvY2soZ2wpOwotCi0Jc3Bpbl9sb2NrKCZnbC0+Z2xfc3Bpbik7CiAJbGlzdF9kZWxfaW5pdCgmZ2gtPmdoX2xpc3QpOwotCi0JaWYgKGxpc3RfZW1wdHkoJmdsLT5nbF9ob2xkZXJzKSkgeworCWlmIChmaW5kX2ZpcnN0X2hvbGRlcihnbCkgPT0gTlVMTCkgewogCQlpZiAoZ2xvcHMtPmdvX3VubG9jaykgeworCQkJR0xPQ0tfQlVHX09OKGdsLCB0ZXN0X2FuZF9zZXRfYml0KEdMRl9MT0NLLCAmZ2wtPmdsX2ZsYWdzKSk7CiAJCQlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOwogCQkJZ2xvcHMtPmdvX3VubG9jayhnaCk7CiAJCQlzcGluX2xvY2soJmdsLT5nbF9zcGluKTsKKwkJCWNsZWFyX2JpdChHTEZfTE9DSywgJmdsLT5nbF9mbGFncyk7CiAJCX0KIAkJZ2wtPmdsX3N0YW1wID0gamlmZmllczsKKwkJaWYgKGxpc3RfZW1wdHkoJmdsLT5nbF9ob2xkZXJzKSAmJgorCQkgICAgIXRlc3RfYml0KEdMRl9QRU5ESU5HX0RFTU9URSwgJmdsLT5nbF9mbGFncykgJiYKKwkJICAgICF0ZXN0X2JpdChHTEZfREVNT1RFLCAmZ2wtPmdsX2ZsYWdzKSkKKwkJCWZhc3RfcGF0aCA9IDE7CiAJfQotCi0JY2xlYXJfYml0KEdMRl9MT0NLLCAmZ2wtPmdsX2ZsYWdzKTsKIAlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOworCWlmIChsaWtlbHkoZmFzdF9wYXRoKSkKKwkJcmV0dXJuOwogCiAJZ2ZzMl9nbG9ja19ob2xkKGdsKTsKIAlpZiAodGVzdF9iaXQoR0xGX1BFTkRJTkdfREVNT1RFLCAmZ2wtPmdsX2ZsYWdzKSAmJgpAQCAtMTQ1NCw2ICsxMjAxLDggQEAKIHN0YXRpYyBpbnQgZ2ZzMl9sbV9ob2xkX2x2YihzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCwgdm9pZCAqbG9jaywgY2hhciAqKmx2YnApCiB7CiAJaW50IGVycm9yID0gLUVJTzsKKwlpZiAoIXNkcC0+c2RfbG9ja3N0cnVjdC5sc19vcHMtPmxtX2hvbGRfbHZiKQorCQlyZXR1cm4gMDsKIAlpZiAobGlrZWx5KCF0ZXN0X2JpdChTREZfU0hVVERPV04sICZzZHAtPnNkX2ZsYWdzKSkpCiAJCWVycm9yID0gc2RwLT5zZF9sb2Nrc3RydWN0LmxzX29wcy0+bG1faG9sZF9sdmIobG9jaywgbHZicCk7CiAJcmV0dXJuIGVycm9yOwpAQCAtMTQ2OSwyMCArMTIxOCwxNCBAQAogewogCWludCBlcnJvcjsKIAotCWdmczJfZ2xtdXRleF9sb2NrKGdsKTsKLQogCWlmICghYXRvbWljX3JlYWQoJmdsLT5nbF9sdmJfY291bnQpKSB7CiAJCWVycm9yID0gZ2ZzMl9sbV9ob2xkX2x2YihnbC0+Z2xfc2JkLCBnbC0+Z2xfbG9jaywgJmdsLT5nbF9sdmIpOwotCQlpZiAoZXJyb3IpIHsKLQkJCWdmczJfZ2xtdXRleF91bmxvY2soZ2wpOworCQlpZiAoZXJyb3IpIAogCQkJcmV0dXJuIGVycm9yOwotCQl9CiAJCWdmczJfZ2xvY2tfaG9sZChnbCk7CiAJfQogCWF0b21pY19pbmMoJmdsLT5nbF9sdmJfY291bnQpOwogCi0JZ2ZzMl9nbG11dGV4X3VubG9jayhnbCk7Ci0KIAlyZXR1cm4gMDsKIH0KIApAQCAtMTQ5NywxNyArMTI0MCwxMyBAQAogCXN0cnVjdCBnZnMyX3NiZCAqc2RwID0gZ2wtPmdsX3NiZDsKIAogCWdmczJfZ2xvY2tfaG9sZChnbCk7Ci0JZ2ZzMl9nbG11dGV4X2xvY2soZ2wpOwotCiAJZ2ZzMl9hc3NlcnQoZ2wtPmdsX3NiZCwgYXRvbWljX3JlYWQoJmdsLT5nbF9sdmJfY291bnQpID4gMCk7CiAJaWYgKGF0b21pY19kZWNfYW5kX3Rlc3QoJmdsLT5nbF9sdmJfY291bnQpKSB7Ci0JCWlmIChsaWtlbHkoIXRlc3RfYml0KFNERl9TSFVURE9XTiwgJnNkcC0+c2RfZmxhZ3MpKSkKKwkJaWYgKHNkcC0+c2RfbG9ja3N0cnVjdC5sc19vcHMtPmxtX3VuaG9sZF9sdmIpCiAJCQlzZHAtPnNkX2xvY2tzdHJ1Y3QubHNfb3BzLT5sbV91bmhvbGRfbHZiKGdsLT5nbF9sb2NrLCBnbC0+Z2xfbHZiKTsKIAkJZ2wtPmdsX2x2YiA9IE5VTEw7CiAJCWdmczJfZ2xvY2tfcHV0KGdsKTsKIAl9Ci0KLQlnZnMyX2dsbXV0ZXhfdW5sb2NrKGdsKTsKIAlnZnMyX2dsb2NrX3B1dChnbCk7CiB9CiAKQEAgLTE1MjcsNyArMTI2Niw5IEBACiAJaWYgKHRpbWVfYmVmb3JlKG5vdywgaG9sZHRpbWUpKQogCQlkZWxheSA9IGhvbGR0aW1lIC0gbm93OwogCisJc3Bpbl9sb2NrKCZnbC0+Z2xfc3Bpbik7CiAJaGFuZGxlX2NhbGxiYWNrKGdsLCBzdGF0ZSwgMSwgZGVsYXkpOworCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7CiAJaWYgKHF1ZXVlX2RlbGF5ZWRfd29yayhnbG9ja193b3JrcXVldWUsICZnbC0+Z2xfd29yaywgZGVsYXkpID09IDApCiAJCWdmczJfZ2xvY2tfcHV0KGdsKTsKIH0KQEAgLTE1NjgsNyArMTMwOSw4IEBACiAJCWdsID0gZ2ZzMl9nbG9ja19maW5kKHNkcCwgJmFzeW5jLT5sY19uYW1lKTsKIAkJaWYgKGdmczJfYXNzZXJ0X3dhcm4oc2RwLCBnbCkpCiAJCQlyZXR1cm47Ci0JCXhtb3RlX2JoKGdsLCBhc3luYy0+bGNfcmV0KTsKKwkJZ2wtPmdsX3JlcGx5ID0gYXN5bmMtPmxjX3JldDsKKwkJc2V0X2JpdChHTEZfUkVQTFlfUEVORElORywgJmdsLT5nbF9mbGFncyk7CiAJCWlmIChxdWV1ZV9kZWxheWVkX3dvcmsoZ2xvY2tfd29ya3F1ZXVlLCAmZ2wtPmdsX3dvcmssIDApID09IDApCiAJCQlnZnMyX2dsb2NrX3B1dChnbCk7CiAJCXVwX3JlYWQoJmdmczJfdW1vdW50X2ZsdXNoX3NlbSk7CkBAIC0xNTgxLDExICsxMzIzLDYgQEAKIAkJCXdha2VfdXBfcHJvY2VzcyhzZHAtPnNkX3JlY292ZXJkX3Byb2Nlc3MpOwogCQlyZXR1cm47CiAKLQljYXNlIExNX0NCX0RST1BMT0NLUzoKLQkJZ2ZzMl9nbF9oYXNoX2NsZWFyKHNkcCwgTk9fV0FJVCk7Ci0JCWdmczJfcXVvdGFfc2NhbihzZHApOwotCQlyZXR1cm47Ci0KIAlkZWZhdWx0OgogCQlnZnMyX2Fzc2VydF93YXJuKHNkcCwgMCk7CiAJCXJldHVybjsKQEAgLTE2NDYsNiArMTM4Myw3IEBACiB2b2lkIGdmczJfcmVjbGFpbV9nbG9jayhzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCkKIHsKIAlzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2w7CisJaW50IGRvbmVfY2FsbGJhY2sgPSAwOwogCiAJc3Bpbl9sb2NrKCZzZHAtPnNkX3JlY2xhaW1fbG9jayk7CiAJaWYgKGxpc3RfZW1wdHkoJnNkcC0+c2RfcmVjbGFpbV9saXN0KSkgewpAQCAtMTY2MCwxNCArMTM5OCwxNiBAQAogCWF0b21pY19kZWMoJnNkcC0+c2RfcmVjbGFpbV9jb3VudCk7CiAJYXRvbWljX2luYygmc2RwLT5zZF9yZWNsYWltZWQpOwogCi0JaWYgKGdmczJfZ2xtdXRleF90cnlsb2NrKGdsKSkgewotCQlpZiAobGlzdF9lbXB0eSgmZ2wtPmdsX2hvbGRlcnMpICYmCi0JCSAgICBnbC0+Z2xfc3RhdGUgIT0gTE1fU1RfVU5MT0NLRUQgJiYgZGVtb3RlX29rKGdsKSkKLQkJCWhhbmRsZV9jYWxsYmFjayhnbCwgTE1fU1RfVU5MT0NLRUQsIDAsIDApOwotCQlnZnMyX2dsbXV0ZXhfdW5sb2NrKGdsKTsKKwlzcGluX2xvY2soJmdsLT5nbF9zcGluKTsKKwlpZiAoZmluZF9maXJzdF9ob2xkZXIoZ2wpID09IE5VTEwgJiYKKwkgICAgZ2wtPmdsX3N0YXRlICE9IExNX1NUX1VOTE9DS0VEICYmIGRlbW90ZV9vayhnbCkpIHsKKwkJaGFuZGxlX2NhbGxiYWNrKGdsLCBMTV9TVF9VTkxPQ0tFRCwgMCwgMCk7CisJCWRvbmVfY2FsbGJhY2sgPSAxOwogCX0KLQotCWdmczJfZ2xvY2tfcHV0KGdsKTsKKwlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOworCWlmICghZG9uZV9jYWxsYmFjayB8fAorCSAgICBxdWV1ZV9kZWxheWVkX3dvcmsoZ2xvY2tfd29ya3F1ZXVlLCAmZ2wtPmdsX3dvcmssIDApID09IDApCisJCWdmczJfZ2xvY2tfcHV0KGdsKTsKIH0KIAogLyoqCkBAIC0xNzI0LDE4ICsxNDY0LDE0IEBACiB7CiAJaWYgKGdsLT5nbF9vcHMgPT0gJmdmczJfaW5vZGVfZ2xvcHMgJiYgZ2wtPmdsX29iamVjdCkKIAkJcmV0dXJuOworCWlmICh0ZXN0X2JpdChHTEZfTE9DSywgJmdsLT5nbF9mbGFncykpCisJCXJldHVybjsKIAotCWlmIChnZnMyX2dsbXV0ZXhfdHJ5bG9jayhnbCkpIHsKLQkJaWYgKGxpc3RfZW1wdHkoJmdsLT5nbF9ob2xkZXJzKSAmJgotCQkgICAgZ2wtPmdsX3N0YXRlICE9IExNX1NUX1VOTE9DS0VEICYmIGRlbW90ZV9vayhnbCkpCi0JCQlnb3RvIG91dF9zY2hlZHVsZTsKLQkJZ2ZzMl9nbG11dGV4X3VubG9jayhnbCk7Ci0JfQotCXJldHVybjsKLQotb3V0X3NjaGVkdWxlOgotCWdmczJfZ2xtdXRleF91bmxvY2soZ2wpOwotCWdmczJfZ2xvY2tfc2NoZWR1bGVfZm9yX3JlY2xhaW0oZ2wpOworCXNwaW5fbG9jaygmZ2wtPmdsX3NwaW4pOworCWlmIChmaW5kX2ZpcnN0X2hvbGRlcihnbCkgPT0gTlVMTCAmJgorCSAgICBnbC0+Z2xfc3RhdGUgIT0gTE1fU1RfVU5MT0NLRUQgJiYgZGVtb3RlX29rKGdsKSkKKwkJZ2ZzMl9nbG9ja19zY2hlZHVsZV9mb3JfcmVjbGFpbShnbCk7CisJc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKIH0KIAogLyoqCkBAIC0xNzYwLDEyICsxNDk2LDEzIEBACiAJCXNwaW5fdW5sb2NrKCZzZHAtPnNkX3JlY2xhaW1fbG9jayk7CiAJfQogCi0JaWYgKGdmczJfZ2xtdXRleF90cnlsb2NrKGdsKSkgewotCQlpZiAobGlzdF9lbXB0eSgmZ2wtPmdsX2hvbGRlcnMpICYmCi0JCSAgICBnbC0+Z2xfc3RhdGUgIT0gTE1fU1RfVU5MT0NLRUQpCi0JCQloYW5kbGVfY2FsbGJhY2soZ2wsIExNX1NUX1VOTE9DS0VELCAwLCAwKTsKLQkJZ2ZzMl9nbG11dGV4X3VubG9jayhnbCk7Ci0JfQorCXNwaW5fbG9jaygmZ2wtPmdsX3NwaW4pOworCWlmIChmaW5kX2ZpcnN0X2hvbGRlcihnbCkgPT0gTlVMTCAmJiBnbC0+Z2xfc3RhdGUgIT0gTE1fU1RfVU5MT0NLRUQpCisJCWhhbmRsZV9jYWxsYmFjayhnbCwgTE1fU1RfVU5MT0NLRUQsIDAsIDApOworCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7CisJZ2ZzMl9nbG9ja19ob2xkKGdsKTsKKwlpZiAocXVldWVfZGVsYXllZF93b3JrKGdsb2NrX3dvcmtxdWV1ZSwgJmdsLT5nbF93b3JrLCAwKSA9PSAwKQorCQlnZnMyX2dsb2NrX3B1dChnbCk7CiB9CiAKIC8qKgpAQCAtMTc3MywxMSArMTUxMCwxMCBAQAogICogQHNkcDogdGhlIGZpbGVzeXN0ZW0KICAqIEB3YWl0OiB3YWl0IHVudGlsIGl0J3MgYWxsIGdvbmUKICAqCi0gKiBDYWxsZWQgd2hlbiB1bm1vdW50aW5nIHRoZSBmaWxlc3lzdGVtLCBvciB3aGVuIGludGVyLW5vZGUgbG9jayBtYW5hZ2VyCi0gKiByZXF1ZXN0cyBEUk9QTE9DS1MgYmVjYXVzZSBpdCBpcyBydW5uaW5nIG91dCBvZiBjYXBhY2l0eS4KKyAqIENhbGxlZCB3aGVuIHVubW91bnRpbmcgdGhlIGZpbGVzeXN0ZW0uCiAgKi8KIAotdm9pZCBnZnMyX2dsX2hhc2hfY2xlYXIoc3RydWN0IGdmczJfc2JkICpzZHAsIGludCB3YWl0KQordm9pZCBnZnMyX2dsX2hhc2hfY2xlYXIoc3RydWN0IGdmczJfc2JkICpzZHApCiB7CiAJdW5zaWduZWQgbG9uZyB0OwogCXVuc2lnbmVkIGludCB4OwpAQCAtMTc5Miw3ICsxNTI4LDcgQEAKIAkJCQljb250ID0gMTsKIAkJfQogCi0JCWlmICghd2FpdCB8fCAhY29udCkKKwkJaWYgKCFjb250KQogCQkJYnJlYWs7CiAKIAkJaWYgKHRpbWVfYWZ0ZXJfZXEoamlmZmllcywKQEAgLTE4MTAsMTgwICsxNTQ2LDE2NCBAQAogCX0KIH0KIAotLyoKLSAqICBEaWFnbm9zdGljIHJvdXRpbmVzIHRvIGhlbHAgZGVidWcgZGlzdHJpYnV0ZWQgZGVhZGxvY2sKLSAqLwotCi1zdGF0aWMgdm9pZCBnZnMyX3ByaW50X3N5bWJvbChzdHJ1Y3QgZ2xvY2tfaXRlciAqZ2ksIGNvbnN0IGNoYXIgKmZtdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgYWRkcmVzcykKK3N0YXRpYyBjb25zdCBjaGFyICpzdGF0ZTJzdHIodW5zaWduZWQgc3RhdGUpCiB7Ci0JY2hhciBidWZmZXJbS1NZTV9TWU1CT0xfTEVOXTsKKwlzd2l0Y2goc3RhdGUpIHsKKwljYXNlIExNX1NUX1VOTE9DS0VEOgorCQlyZXR1cm4gIlVOIjsKKwljYXNlIExNX1NUX1NIQVJFRDoKKwkJcmV0dXJuICJTSCI7CisJY2FzZSBMTV9TVF9ERUZFUlJFRDoKKwkJcmV0dXJuICJERiI7CisJY2FzZSBMTV9TVF9FWENMVVNJVkU6CisJCXJldHVybiAiRVgiOworCX0KKwlyZXR1cm4gIj8/IjsKK30KIAotCXNwcmludF9zeW1ib2woYnVmZmVyLCBhZGRyZXNzKTsKLQlwcmludF9kYmcoZ2ksIGZtdCwgYnVmZmVyKTsKK3N0YXRpYyBjb25zdCBjaGFyICpoZmxhZ3Myc3RyKGNoYXIgKmJ1ZiwgdW5zaWduZWQgZmxhZ3MsIHVuc2lnbmVkIGxvbmcgaWZsYWdzKQoreworCWNoYXIgKnAgPSBidWY7CisJaWYgKGZsYWdzICYgTE1fRkxBR19UUlkpCisJCSpwKysgPSAndCc7CisJaWYgKGZsYWdzICYgTE1fRkxBR19UUllfMUNCKQorCQkqcCsrID0gJ1QnOworCWlmIChmbGFncyAmIExNX0ZMQUdfTk9FWFApCisJCSpwKysgPSAnZSc7CisJaWYgKGZsYWdzICYgTE1fRkxBR19BTlkpCisJCSpwKysgPSAnYSc7CisJaWYgKGZsYWdzICYgTE1fRkxBR19QUklPUklUWSkKKwkJKnArKyA9ICdwJzsKKwlpZiAoZmxhZ3MgJiBHTF9BU1lOQykKKwkJKnArKyA9ICdhJzsKKwlpZiAoZmxhZ3MgJiBHTF9FWEFDVCkKKwkJKnArKyA9ICdFJzsKKwlpZiAoZmxhZ3MgJiBHTF9BVElNRSkKKwkJKnArKyA9ICdhJzsKKwlpZiAoZmxhZ3MgJiBHTF9OT0NBQ0hFKQorCQkqcCsrID0gJ2MnOworCWlmICh0ZXN0X2JpdChISUZfSE9MREVSLCAmaWZsYWdzKSkKKwkJKnArKyA9ICdIJzsKKwlpZiAodGVzdF9iaXQoSElGX1dBSVQsICZpZmxhZ3MpKQorCQkqcCsrID0gJ1cnOworCWlmICh0ZXN0X2JpdChISUZfRklSU1QsICZpZmxhZ3MpKQorCQkqcCsrID0gJ0YnOworCSpwID0gMDsKKwlyZXR1cm4gYnVmOwogfQogCiAvKioKICAqIGR1bXBfaG9sZGVyIC0gcHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgYSBnbG9jayBob2xkZXIKLSAqIEBzdHI6IGEgc3RyaW5nIG5hbWluZyB0aGUgdHlwZSBvZiBob2xkZXIKKyAqIEBzZXE6IHRoZSBzZXFfZmlsZSBzdHJ1Y3QKICAqIEBnaDogdGhlIGdsb2NrIGhvbGRlcgogICoKICAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgLUVOT0JVRlMgd2hlbiB3ZSBydW4gb3V0IG9mIHNwYWNlCiAgKi8KIAotc3RhdGljIGludCBkdW1wX2hvbGRlcihzdHJ1Y3QgZ2xvY2tfaXRlciAqZ2ksIGNoYXIgKnN0ciwKLQkJICAgICAgIHN0cnVjdCBnZnMyX2hvbGRlciAqZ2gpCitzdGF0aWMgaW50IGR1bXBfaG9sZGVyKHN0cnVjdCBzZXFfZmlsZSAqc2VxLCBjb25zdCBzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoKQogewotCXVuc2lnbmVkIGludCB4OwotCXN0cnVjdCB0YXNrX3N0cnVjdCAqZ2hfb3duZXI7CisJc3RydWN0IHRhc2tfc3RydWN0ICpnaF9vd25lciA9IE5VTEw7CisJY2hhciBidWZmZXJbS1NZTV9TWU1CT0xfTEVOXTsKKwljaGFyIGZsYWdzX2J1ZlszMl07CiAKLQlwcmludF9kYmcoZ2ksICIgICVzXG4iLCBzdHIpOwotCWlmIChnaC0+Z2hfb3duZXJfcGlkKSB7Ci0JCXByaW50X2RiZyhnaSwgIiAgICBvd25lciA9ICVsZCAiLAotCQkJCShsb25nKXBpZF9ucihnaC0+Z2hfb3duZXJfcGlkKSk7CisJc3ByaW50X3N5bWJvbChidWZmZXIsIGdoLT5naF9pcCk7CisJaWYgKGdoLT5naF9vd25lcl9waWQpCiAJCWdoX293bmVyID0gcGlkX3Rhc2soZ2gtPmdoX293bmVyX3BpZCwgUElEVFlQRV9QSUQpOwotCQlpZiAoZ2hfb3duZXIpCi0JCQlwcmludF9kYmcoZ2ksICIoJXMpXG4iLCBnaF9vd25lci0+Y29tbSk7Ci0JCWVsc2UKLQkJCXByaW50X2RiZyhnaSwgIihlbmRlZClcbiIpOwotCX0gZWxzZQotCQlwcmludF9kYmcoZ2ksICIgICAgb3duZXIgPSAtMVxuIik7Ci0JcHJpbnRfZGJnKGdpLCAiICAgIGdoX3N0YXRlID0gJXVcbiIsIGdoLT5naF9zdGF0ZSk7Ci0JcHJpbnRfZGJnKGdpLCAiICAgIGdoX2ZsYWdzID0iKTsKLQlmb3IgKHggPSAwOyB4IDwgMzI7IHgrKykKLQkJaWYgKGdoLT5naF9mbGFncyAmICgxIDw8IHgpKQotCQkJcHJpbnRfZGJnKGdpLCAiICV1IiwgeCk7Ci0JcHJpbnRfZGJnKGdpLCAiIFxuIik7Ci0JcHJpbnRfZGJnKGdpLCAiICAgIGVycm9yID0gJWRcbiIsIGdoLT5naF9lcnJvcik7Ci0JcHJpbnRfZGJnKGdpLCAiICAgIGdoX2lmbGFncyA9Iik7Ci0JZm9yICh4ID0gMDsgeCA8IDMyOyB4KyspCi0JCWlmICh0ZXN0X2JpdCh4LCAmZ2gtPmdoX2lmbGFncykpCi0JCQlwcmludF9kYmcoZ2ksICIgJXUiLCB4KTsKLQlwcmludF9kYmcoZ2ksICIgXG4iKTsKLSAgICAgICAgZ2ZzMl9wcmludF9zeW1ib2woZ2ksICIgICAgaW5pdGlhbGl6ZWQgYXQ6ICVzXG4iLCBnaC0+Z2hfaXApOwotCisJZ2ZzMl9wcmludF9kYmcoc2VxLCAiIEg6IHM6JXMgZjolcyBlOiVkIHA6JWxkIFslc10gJXNcbiIsCisJCSAgc3RhdGUyc3RyKGdoLT5naF9zdGF0ZSksCisJCSAgaGZsYWdzMnN0cihmbGFnc19idWYsIGdoLT5naF9mbGFncywgZ2gtPmdoX2lmbGFncyksCisJCSAgZ2gtPmdoX2Vycm9yLCAKKwkJICBnaC0+Z2hfb3duZXJfcGlkID8gKGxvbmcpcGlkX25yKGdoLT5naF9vd25lcl9waWQpIDogLTEsCisJCSAgZ2hfb3duZXIgPyBnaF9vd25lci0+Y29tbSA6ICIoZW5kZWQpIiwgYnVmZmVyKTsKIAlyZXR1cm4gMDsKIH0KIAotLyoqCi0gKiBkdW1wX2lub2RlIC0gcHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgYW4gaW5vZGUKLSAqIEBpcDogdGhlIGlub2RlCi0gKgotICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCAtRU5PQlVGUyB3aGVuIHdlIHJ1biBvdXQgb2Ygc3BhY2UKLSAqLwotCi1zdGF0aWMgaW50IGR1bXBfaW5vZGUoc3RydWN0IGdsb2NrX2l0ZXIgKmdpLCBzdHJ1Y3QgZ2ZzMl9pbm9kZSAqaXApCitzdGF0aWMgY29uc3QgY2hhciAqZ2ZsYWdzMnN0cihjaGFyICpidWYsIGNvbnN0IHVuc2lnbmVkIGxvbmcgKmdmbGFncykKIHsKLQl1bnNpZ25lZCBpbnQgeDsKLQotCXByaW50X2RiZyhnaSwgIiAgSW5vZGU6XG4iKTsKLQlwcmludF9kYmcoZ2ksICIgICAgbnVtID0gJWxsdS8lbGx1XG4iLAotCQkgICh1bnNpZ25lZCBsb25nIGxvbmcpaXAtPmlfbm9fZm9ybWFsX2lubywKLQkJICAodW5zaWduZWQgbG9uZyBsb25nKWlwLT5pX25vX2FkZHIpOwotCXByaW50X2RiZyhnaSwgIiAgICB0eXBlID0gJXVcbiIsIElGMkRUKGlwLT5pX2lub2RlLmlfbW9kZSkpOwotCXByaW50X2RiZyhnaSwgIiAgICBpX2ZsYWdzID0iKTsKLQlmb3IgKHggPSAwOyB4IDwgMzI7IHgrKykKLQkJaWYgKHRlc3RfYml0KHgsICZpcC0+aV9mbGFncykpCi0JCQlwcmludF9kYmcoZ2ksICIgJXUiLCB4KTsKLQlwcmludF9kYmcoZ2ksICIgXG4iKTsKLQlyZXR1cm4gMDsKKwljaGFyICpwID0gYnVmOworCWlmICh0ZXN0X2JpdChHTEZfTE9DSywgZ2ZsYWdzKSkKKwkJKnArKyA9ICdsJzsKKwlpZiAodGVzdF9iaXQoR0xGX1NUSUNLWSwgZ2ZsYWdzKSkKKwkJKnArKyA9ICdzJzsKKwlpZiAodGVzdF9iaXQoR0xGX0RFTU9URSwgZ2ZsYWdzKSkKKwkJKnArKyA9ICdEJzsKKwlpZiAodGVzdF9iaXQoR0xGX1BFTkRJTkdfREVNT1RFLCBnZmxhZ3MpKQorCQkqcCsrID0gJ2QnOworCWlmICh0ZXN0X2JpdChHTEZfREVNT1RFX0lOX1BST0dSRVNTLCBnZmxhZ3MpKQorCQkqcCsrID0gJ3AnOworCWlmICh0ZXN0X2JpdChHTEZfRElSVFksIGdmbGFncykpCisJCSpwKysgPSAneSc7CisJaWYgKHRlc3RfYml0KEdMRl9MRkxVU0gsIGdmbGFncykpCisJCSpwKysgPSAnZic7CisJaWYgKHRlc3RfYml0KEdMRl9JTlZBTElEQVRFX0lOX1BST0dSRVNTLCBnZmxhZ3MpKQorCQkqcCsrID0gJ2knOworCWlmICh0ZXN0X2JpdChHTEZfUkVQTFlfUEVORElORywgZ2ZsYWdzKSkKKwkJKnArKyA9ICdyJzsKKwkqcCA9IDA7CisJcmV0dXJuIGJ1ZjsKIH0KIAogLyoqCi0gKiBkdW1wX2dsb2NrIC0gcHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgYSBnbG9jaworICogX19kdW1wX2dsb2NrIC0gcHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgYSBnbG9jaworICogQHNlcTogVGhlIHNlcV9maWxlIHN0cnVjdAogICogQGdsOiB0aGUgZ2xvY2sKLSAqIEBjb3VudDogd2hlcmUgd2UgYXJlIGluIHRoZSBidWZmZXIKKyAqCisgKiBUaGUgZmlsZSBmb3JtYXQgaXMgYXMgZm9sbG93czoKKyAqIE9uZSBsaW5lIHBlciBvYmplY3QsIGNhcGl0YWwgbGV0dGVycyBhcmUgdXNlZCB0byBpbmRpY2F0ZSBvYmplY3RzCisgKiBHID0gZ2xvY2ssIEkgPSBJbm9kZSwgUiA9IHJncnAsIEggPSBob2xkZXIuIEdsb2NrcyBhcmUgbm90IGluZGVudGVkLAorICogb3RoZXIgb2JqZWN0cyBhcmUgaW5kZW50ZWQgYnkgYSBzaW5nbGUgc3BhY2UgYW5kIGZvbGxvdyB0aGUgZ2xvY2sgdG8KKyAqIHdoaWNoIHRoZXkgYXJlIHJlbGF0ZWQuIEZpZWxkcyBhcmUgaW5kaWNhdGVkIGJ5IGxvd2VyIGNhc2UgbGV0dGVycworICogZm9sbG93ZWQgYnkgYSBjb2xvbiBhbmQgdGhlIGZpZWxkIHZhbHVlLCBleGNlcHQgZm9yIHN0cmluZ3Mgd2hpY2ggYXJlIGluCisgKiBbXSBzbyB0aGF0IGl0cyBwb3NzaWJsZSB0byBzZWUgaWYgdGhleSBhcmUgY29tcG9zZWQgb2Ygc3BhY2VzIGZvcgorICogZXhhbXBsZS4gVGhlIGZpZWxkJ3MgYXJlIG4gPSBudW1iZXIgKGlkIG9mIHRoZSBvYmplY3QpLCBmID0gZmxhZ3MsCisgKiB0ID0gdHlwZSwgcyA9IHN0YXRlLCByID0gcmVmY291bnQsIGUgPSBlcnJvciwgcCA9IHBpZC4KICAqCiAgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIC1FTk9CVUZTIHdoZW4gd2UgcnVuIG91dCBvZiBzcGFjZQogICovCiAKLXN0YXRpYyBpbnQgZHVtcF9nbG9jayhzdHJ1Y3QgZ2xvY2tfaXRlciAqZ2ksIHN0cnVjdCBnZnMyX2dsb2NrICpnbCkKK3N0YXRpYyBpbnQgX19kdW1wX2dsb2NrKHN0cnVjdCBzZXFfZmlsZSAqc2VxLCBjb25zdCBzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wpCiB7Ci0Jc3RydWN0IGdmczJfaG9sZGVyICpnaDsKLQl1bnNpZ25lZCBpbnQgeDsKLQlpbnQgZXJyb3IgPSAtRU5PQlVGUzsKLQlzdHJ1Y3QgdGFza19zdHJ1Y3QgKmdsX293bmVyOworCWNvbnN0IHN0cnVjdCBnZnMyX2dsb2NrX29wZXJhdGlvbnMgKmdsb3BzID0gZ2wtPmdsX29wczsKKwl1bnNpZ25lZCBsb25nIGxvbmcgZHRpbWU7CisJY29uc3Qgc3RydWN0IGdmczJfaG9sZGVyICpnaDsKKwljaGFyIGdmbGFnc19idWZbMzJdOworCWludCBlcnJvciA9IDA7CiAKLQlzcGluX2xvY2soJmdsLT5nbF9zcGluKTsKKwlkdGltZSA9IGppZmZpZXMgLSBnbC0+Z2xfZGVtb3RlX3RpbWU7CisJZHRpbWUgKj0gMTAwMDAwMC9IWjsgLyogZGVtb3RlIHRpbWUgaW4gdVNlYyAqLworCWlmICghdGVzdF9iaXQoR0xGX0RFTU9URSwgJmdsLT5nbF9mbGFncykpCisJCWR0aW1lID0gMDsKKwlnZnMyX3ByaW50X2RiZyhzZXEsICJHOiAgczolcyBuOiV1LyVsbHUgZjolcyB0OiVzIGQ6JXMvJWxsdSBsOiVkIGE6JWQgcjolZFxuIiwKKwkJICBzdGF0ZTJzdHIoZ2wtPmdsX3N0YXRlKSwKKwkJICBnbC0+Z2xfbmFtZS5sbl90eXBlLAorCQkgICh1bnNpZ25lZCBsb25nIGxvbmcpZ2wtPmdsX25hbWUubG5fbnVtYmVyLAorCQkgIGdmbGFnczJzdHIoZ2ZsYWdzX2J1ZiwgJmdsLT5nbF9mbGFncyksCisJCSAgc3RhdGUyc3RyKGdsLT5nbF90YXJnZXQpLAorCQkgIHN0YXRlMnN0cihnbC0+Z2xfZGVtb3RlX3N0YXRlKSwgZHRpbWUsCisJCSAgYXRvbWljX3JlYWQoJmdsLT5nbF9sdmJfY291bnQpLAorCQkgIGF0b21pY19yZWFkKCZnbC0+Z2xfYWlsX2NvdW50KSwKKwkJICBhdG9taWNfcmVhZCgmZ2wtPmdsX3JlZikpOwogCi0JcHJpbnRfZGJnKGdpLCAiR2xvY2sgMHglcCAoJXUsIDB4JWxseClcbiIsIGdsLCBnbC0+Z2xfbmFtZS5sbl90eXBlLAotCQkgICAodW5zaWduZWQgbG9uZyBsb25nKWdsLT5nbF9uYW1lLmxuX251bWJlcik7Ci0JcHJpbnRfZGJnKGdpLCAiICBnbF9mbGFncyA9Iik7Ci0JZm9yICh4ID0gMDsgeCA8IDMyOyB4KyspIHsKLQkJaWYgKHRlc3RfYml0KHgsICZnbC0+Z2xfZmxhZ3MpKQotCQkJcHJpbnRfZGJnKGdpLCAiICV1IiwgeCk7Ci0JfQotCWlmICghdGVzdF9iaXQoR0xGX0xPQ0ssICZnbC0+Z2xfZmxhZ3MpKQotCQlwcmludF9kYmcoZ2ksICIgKHVubG9ja2VkKSIpOwotCXByaW50X2RiZyhnaSwgIiBcbiIpOwotCXByaW50X2RiZyhnaSwgIiAgZ2xfcmVmID0gJWRcbiIsIGF0b21pY19yZWFkKCZnbC0+Z2xfcmVmKSk7Ci0JcHJpbnRfZGJnKGdpLCAiICBnbF9zdGF0ZSA9ICV1XG4iLCBnbC0+Z2xfc3RhdGUpOwotCWlmIChnbC0+Z2xfb3duZXJfcGlkKSB7Ci0JCWdsX293bmVyID0gcGlkX3Rhc2soZ2wtPmdsX293bmVyX3BpZCwgUElEVFlQRV9QSUQpOwotCQlpZiAoZ2xfb3duZXIpCi0JCQlwcmludF9kYmcoZ2ksICIgIGdsX293bmVyID0gcGlkICVkICglcylcbiIsCi0JCQkJICBwaWRfbnIoZ2wtPmdsX293bmVyX3BpZCksIGdsX293bmVyLT5jb21tKTsKLQkJZWxzZQotCQkJcHJpbnRfZGJnKGdpLCAiICBnbF9vd25lciA9ICVkIChlbmRlZClcbiIsCi0JCQkJICBwaWRfbnIoZ2wtPmdsX293bmVyX3BpZCkpOwotCX0gZWxzZQotCQlwcmludF9kYmcoZ2ksICIgIGdsX293bmVyID0gLTFcbiIpOwotCXByaW50X2RiZyhnaSwgIiAgZ2xfaXAgPSAlbHVcbiIsIGdsLT5nbF9pcCk7Ci0JcHJpbnRfZGJnKGdpLCAiICByZXFfZ2ggPSAlc1xuIiwgKGdsLT5nbF9yZXFfZ2gpID8gInllcyIgOiAibm8iKTsKLQlwcmludF9kYmcoZ2ksICIgIGx2Yl9jb3VudCA9ICVkXG4iLCBhdG9taWNfcmVhZCgmZ2wtPmdsX2x2Yl9jb3VudCkpOwotCXByaW50X2RiZyhnaSwgIiAgb2JqZWN0ID0gJXNcbiIsIChnbC0+Z2xfb2JqZWN0KSA/ICJ5ZXMiIDogIm5vIik7Ci0JcHJpbnRfZGJnKGdpLCAiICByZWNsYWltID0gJXNcbiIsCi0JCSAgIChsaXN0X2VtcHR5KCZnbC0+Z2xfcmVjbGFpbSkpID8gIm5vIiA6ICJ5ZXMiKTsKLQlpZiAoZ2wtPmdsX2FzcGFjZSkKLQkJcHJpbnRfZGJnKGdpLCAiICBhc3BhY2UgPSAweCVwIG5ycGFnZXMgPSAlbHVcbiIsIGdsLT5nbF9hc3BhY2UsCi0JCQkgICBnbC0+Z2xfYXNwYWNlLT5pX21hcHBpbmctPm5ycGFnZXMpOwotCWVsc2UKLQkJcHJpbnRfZGJnKGdpLCAiICBhc3BhY2UgPSBub1xuIik7Ci0JcHJpbnRfZGJnKGdpLCAiICBhaWwgPSAlZFxuIiwgYXRvbWljX3JlYWQoJmdsLT5nbF9haWxfY291bnQpKTsKLQlpZiAoZ2wtPmdsX3JlcV9naCkgewotCQllcnJvciA9IGR1bXBfaG9sZGVyKGdpLCAiUmVxdWVzdCIsIGdsLT5nbF9yZXFfZ2gpOwotCQlpZiAoZXJyb3IpCi0JCQlnb3RvIG91dDsKLQl9CiAJbGlzdF9mb3JfZWFjaF9lbnRyeShnaCwgJmdsLT5nbF9ob2xkZXJzLCBnaF9saXN0KSB7Ci0JCWVycm9yID0gZHVtcF9ob2xkZXIoZ2ksICJIb2xkZXIiLCBnaCk7CisJCWVycm9yID0gZHVtcF9ob2xkZXIoc2VxLCBnaCk7CiAJCWlmIChlcnJvcikKIAkJCWdvdG8gb3V0OwogCX0KLQlsaXN0X2Zvcl9lYWNoX2VudHJ5KGdoLCAmZ2wtPmdsX3dhaXRlcnMxLCBnaF9saXN0KSB7Ci0JCWVycm9yID0gZHVtcF9ob2xkZXIoZ2ksICJXYWl0ZXIxIiwgZ2gpOwotCQlpZiAoZXJyb3IpCi0JCQlnb3RvIG91dDsKLQl9Ci0JbGlzdF9mb3JfZWFjaF9lbnRyeShnaCwgJmdsLT5nbF93YWl0ZXJzMywgZ2hfbGlzdCkgewotCQllcnJvciA9IGR1bXBfaG9sZGVyKGdpLCAiV2FpdGVyMyIsIGdoKTsKLQkJaWYgKGVycm9yKQotCQkJZ290byBvdXQ7Ci0JfQotCWlmICh0ZXN0X2JpdChHTEZfREVNT1RFLCAmZ2wtPmdsX2ZsYWdzKSkgewotCQlwcmludF9kYmcoZ2ksICIgIERlbW90aW9uIHJlcSB0byBzdGF0ZSAldSAoJWxsdSB1UyBhZ28pXG4iLAotCQkJICBnbC0+Z2xfZGVtb3RlX3N0YXRlLCAodW5zaWduZWQgbG9uZyBsb25nKQotCQkJICAoamlmZmllcyAtIGdsLT5nbF9kZW1vdGVfdGltZSkqKDEwMDAwMDAvSFopKTsKLQl9Ci0JaWYgKGdsLT5nbF9vcHMgPT0gJmdmczJfaW5vZGVfZ2xvcHMgJiYgZ2wtPmdsX29iamVjdCkgewotCQlpZiAoIXRlc3RfYml0KEdMRl9MT0NLLCAmZ2wtPmdsX2ZsYWdzKSAmJgotCQkJbGlzdF9lbXB0eSgmZ2wtPmdsX2hvbGRlcnMpKSB7Ci0JCQllcnJvciA9IGR1bXBfaW5vZGUoZ2ksIGdsLT5nbF9vYmplY3QpOwotCQkJaWYgKGVycm9yKQotCQkJCWdvdG8gb3V0OwotCQl9IGVsc2UgewotCQkJZXJyb3IgPSAtRU5PQlVGUzsKLQkJCXByaW50X2RiZyhnaSwgIiAgSW5vZGU6IGJ1c3lcbiIpOwotCQl9Ci0JfQotCi0JZXJyb3IgPSAwOwotCisJaWYgKGdsLT5nbF9zdGF0ZSAhPSBMTV9TVF9VTkxPQ0tFRCAmJiBnbG9wcy0+Z29fZHVtcCkKKwkJZXJyb3IgPSBnbG9wcy0+Z29fZHVtcChzZXEsIGdsKTsKIG91dDoKLQlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOwogCXJldHVybiBlcnJvcjsKIH0KIAorc3RhdGljIGludCBkdW1wX2dsb2NrKHN0cnVjdCBzZXFfZmlsZSAqc2VxLCBzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wpCit7CisJaW50IHJldDsKKwlzcGluX2xvY2soJmdsLT5nbF9zcGluKTsKKwlyZXQgPSBfX2R1bXBfZ2xvY2soc2VxLCBnbCk7CisJc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKKwlyZXR1cm4gcmV0OworfQorCiAvKioKICAqIGdmczJfZHVtcF9sb2Nrc3RhdGUgLSBwcmludCBvdXQgdGhlIGN1cnJlbnQgbG9ja3N0YXRlCiAgKiBAc2RwOiB0aGUgZmlsZXN5c3RlbQpAQCAtMjA4Niw3ICsxODA2LDcgQEAKIG1vZHVsZV9wYXJhbShzY2FuZF9zZWNzLCB1aW50LCBTX0lSVUdPfFNfSVdVU1IpOwogTU9EVUxFX1BBUk1fREVTQyhzY2FuZF9zZWNzLCAiVGhlIG51bWJlciBvZiBzZWNvbmRzIGJldHdlZW4gc2NhbmQgcnVucyIpOwogCi1zdGF0aWMgaW50IGdmczJfZ2xvY2tfaXRlcl9uZXh0KHN0cnVjdCBnbG9ja19pdGVyICpnaSkKK3N0YXRpYyBpbnQgZ2ZzMl9nbG9ja19pdGVyX25leHQoc3RydWN0IGdmczJfZ2xvY2tfaXRlciAqZ2kpCiB7CiAJc3RydWN0IGdmczJfZ2xvY2sgKmdsOwogCkBAIC0yMTA0LDcgKzE4MjQsNyBAQAogCQlnZnMyX2dsb2NrX3B1dChnbCk7CiAJaWYgKGdsICYmIGdpLT5nbCA9PSBOVUxMKQogCQlnaS0+aGFzaCsrOwotCXdoaWxlKGdpLT5nbCA9PSBOVUxMKSB7CisJd2hpbGUgKGdpLT5nbCA9PSBOVUxMKSB7CiAJCWlmIChnaS0+aGFzaCA+PSBHRlMyX0dMX0hBU0hfU0laRSkKIAkJCXJldHVybiAxOwogCQlyZWFkX2xvY2soZ2xfbG9ja19hZGRyKGdpLT5oYXNoKSk7CkBAIC0yMTIyLDU4ICsxODQyLDM0IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyB2b2lkIGdmczJfZ2xvY2tfaXRlcl9mcmVlKHN0cnVjdCBnbG9ja19pdGVyICpnaSkKK3N0YXRpYyB2b2lkIGdmczJfZ2xvY2tfaXRlcl9mcmVlKHN0cnVjdCBnZnMyX2dsb2NrX2l0ZXIgKmdpKQogewogCWlmIChnaS0+Z2wpCiAJCWdmczJfZ2xvY2tfcHV0KGdpLT5nbCk7Ci0Ja2ZyZWUoZ2kpOwotfQotCi1zdGF0aWMgc3RydWN0IGdsb2NrX2l0ZXIgKmdmczJfZ2xvY2tfaXRlcl9pbml0KHN0cnVjdCBnZnMyX3NiZCAqc2RwKQotewotCXN0cnVjdCBnbG9ja19pdGVyICpnaTsKLQotCWdpID0ga21hbGxvYyhzaXplb2YgKCpnaSksIEdGUF9LRVJORUwpOwotCWlmICghZ2kpCi0JCXJldHVybiBOVUxMOwotCi0JZ2ktPnNkcCA9IHNkcDsKLQlnaS0+aGFzaCA9IDA7Ci0JZ2ktPnNlcSA9IE5VTEw7CiAJZ2ktPmdsID0gTlVMTDsKLQltZW1zZXQoZ2ktPnN0cmluZywgMCwgc2l6ZW9mKGdpLT5zdHJpbmcpKTsKLQotCWlmIChnZnMyX2dsb2NrX2l0ZXJfbmV4dChnaSkpIHsKLQkJZ2ZzMl9nbG9ja19pdGVyX2ZyZWUoZ2kpOwotCQlyZXR1cm4gTlVMTDsKLQl9Ci0KLQlyZXR1cm4gZ2k7CiB9CiAKLXN0YXRpYyB2b2lkICpnZnMyX2dsb2NrX3NlcV9zdGFydChzdHJ1Y3Qgc2VxX2ZpbGUgKmZpbGUsIGxvZmZfdCAqcG9zKQorc3RhdGljIHZvaWQgKmdmczJfZ2xvY2tfc2VxX3N0YXJ0KHN0cnVjdCBzZXFfZmlsZSAqc2VxLCBsb2ZmX3QgKnBvcykKIHsKLQlzdHJ1Y3QgZ2xvY2tfaXRlciAqZ2k7CisJc3RydWN0IGdmczJfZ2xvY2tfaXRlciAqZ2kgPSBzZXEtPnByaXZhdGU7CiAJbG9mZl90IG4gPSAqcG9zOwogCi0JZ2kgPSBnZnMyX2dsb2NrX2l0ZXJfaW5pdChmaWxlLT5wcml2YXRlKTsKLQlpZiAoIWdpKQotCQlyZXR1cm4gTlVMTDsKKwlnaS0+aGFzaCA9IDA7CiAKLQl3aGlsZShuLS0pIHsKKwlkbyB7CiAJCWlmIChnZnMyX2dsb2NrX2l0ZXJfbmV4dChnaSkpIHsKIAkJCWdmczJfZ2xvY2tfaXRlcl9mcmVlKGdpKTsKIAkJCXJldHVybiBOVUxMOwogCQl9Ci0JfQorCX0gd2hpbGUgKG4tLSk7CiAKLQlyZXR1cm4gZ2k7CisJcmV0dXJuIGdpLT5nbDsKIH0KIAotc3RhdGljIHZvaWQgKmdmczJfZ2xvY2tfc2VxX25leHQoc3RydWN0IHNlcV9maWxlICpmaWxlLCB2b2lkICppdGVyX3B0ciwKK3N0YXRpYyB2b2lkICpnZnMyX2dsb2NrX3NlcV9uZXh0KHN0cnVjdCBzZXFfZmlsZSAqc2VxLCB2b2lkICppdGVyX3B0ciwKIAkJCQkgbG9mZl90ICpwb3MpCiB7Ci0Jc3RydWN0IGdsb2NrX2l0ZXIgKmdpID0gaXRlcl9wdHI7CisJc3RydWN0IGdmczJfZ2xvY2tfaXRlciAqZ2kgPSBzZXEtPnByaXZhdGU7CiAKIAkoKnBvcykrKzsKIApAQCAtMjE4MiwyNCArMTg3OCwxOCBAQAogCQlyZXR1cm4gTlVMTDsKIAl9CiAKLQlyZXR1cm4gZ2k7CisJcmV0dXJuIGdpLT5nbDsKIH0KIAotc3RhdGljIHZvaWQgZ2ZzMl9nbG9ja19zZXFfc3RvcChzdHJ1Y3Qgc2VxX2ZpbGUgKmZpbGUsIHZvaWQgKml0ZXJfcHRyKQorc3RhdGljIHZvaWQgZ2ZzMl9nbG9ja19zZXFfc3RvcChzdHJ1Y3Qgc2VxX2ZpbGUgKnNlcSwgdm9pZCAqaXRlcl9wdHIpCiB7Ci0Jc3RydWN0IGdsb2NrX2l0ZXIgKmdpID0gaXRlcl9wdHI7Ci0JaWYgKGdpKQotCQlnZnMyX2dsb2NrX2l0ZXJfZnJlZShnaSk7CisJc3RydWN0IGdmczJfZ2xvY2tfaXRlciAqZ2kgPSBzZXEtPnByaXZhdGU7CisJZ2ZzMl9nbG9ja19pdGVyX2ZyZWUoZ2kpOwogfQogCi1zdGF0aWMgaW50IGdmczJfZ2xvY2tfc2VxX3Nob3coc3RydWN0IHNlcV9maWxlICpmaWxlLCB2b2lkICppdGVyX3B0cikKK3N0YXRpYyBpbnQgZ2ZzMl9nbG9ja19zZXFfc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKnNlcSwgdm9pZCAqaXRlcl9wdHIpCiB7Ci0Jc3RydWN0IGdsb2NrX2l0ZXIgKmdpID0gaXRlcl9wdHI7Ci0KLQlnaS0+c2VxID0gZmlsZTsKLQlkdW1wX2dsb2NrKGdpLCBnaS0+Z2wpOwotCi0JcmV0dXJuIDA7CisJcmV0dXJuIGR1bXBfZ2xvY2soc2VxLCBpdGVyX3B0cik7CiB9CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc2VxX29wZXJhdGlvbnMgZ2ZzMl9nbG9ja19zZXFfb3BzID0gewpAQCAtMjIxMSwxNyArMTkwMSwxNCBAQAogCiBzdGF0aWMgaW50IGdmczJfZGVidWdmc19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogewotCXN0cnVjdCBzZXFfZmlsZSAqc2VxOwotCWludCByZXQ7Ci0KLQlyZXQgPSBzZXFfb3BlbihmaWxlLCAmZ2ZzMl9nbG9ja19zZXFfb3BzKTsKLQlpZiAocmV0KQotCQlyZXR1cm4gcmV0OwotCi0Jc2VxID0gZmlsZS0+cHJpdmF0ZV9kYXRhOwotCXNlcS0+cHJpdmF0ZSA9IGlub2RlLT5pX3ByaXZhdGU7Ci0KLQlyZXR1cm4gMDsKKwlpbnQgcmV0ID0gc2VxX29wZW5fcHJpdmF0ZShmaWxlLCAmZ2ZzMl9nbG9ja19zZXFfb3BzLAorCQkJCSAgIHNpemVvZihzdHJ1Y3QgZ2ZzMl9nbG9ja19pdGVyKSk7CisJaWYgKHJldCA9PSAwKSB7CisJCXN0cnVjdCBzZXFfZmlsZSAqc2VxID0gZmlsZS0+cHJpdmF0ZV9kYXRhOworCQlzdHJ1Y3QgZ2ZzMl9nbG9ja19pdGVyICpnaSA9IHNlcS0+cHJpdmF0ZTsKKwkJZ2ktPnNkcCA9IGlub2RlLT5pX3ByaXZhdGU7CisJfQorCXJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIGdmczJfZGVidWdfZm9wcyA9IHsKQEAgLTIyMjksNyArMTkxNiw3IEBACiAJLm9wZW4gICAgPSBnZnMyX2RlYnVnZnNfb3BlbiwKIAkucmVhZCAgICA9IHNlcV9yZWFkLAogCS5sbHNlZWsgID0gc2VxX2xzZWVrLAotCS5yZWxlYXNlID0gc2VxX3JlbGVhc2UKKwkucmVsZWFzZSA9IHNlcV9yZWxlYXNlX3ByaXZhdGUsCiB9OwogCiBpbnQgZ2ZzMl9jcmVhdGVfZGVidWdmc19maWxlKHN0cnVjdCBnZnMyX3NiZCAqc2RwKQpkaWZmIC0tZ2l0IGEvZnMvZ2ZzMi9nbG9jay5oIGIvZnMvZ2ZzMi9nbG9jay5oCmluZGV4IGNkYWQzZTYuLjk3MWQ5MmEgMTAwNjQ0Ci0tLSBhL2ZzL2dmczIvZ2xvY2suaAorKysgYi9mcy9nZnMyL2dsb2NrLmgKQEAgLTI2LDExICsyNiw4IEBACiAjZGVmaW5lIEdMX1NLSVAJCQkweDAwMDAwMTAwCiAjZGVmaW5lIEdMX0FUSU1FCQkweDAwMDAwMjAwCiAjZGVmaW5lIEdMX05PQ0FDSEUJCTB4MDAwMDA0MDAKLSNkZWZpbmUgR0xfRkxPQ0sJCTB4MDAwMDA4MDAKLSNkZWZpbmUgR0xfTk9DQU5DRUwJCTB4MDAwMDEwMDAKIAogI2RlZmluZSBHTFJfVFJZRkFJTEVECQkxMwotI2RlZmluZSBHTFJfQ0FOQ0VMRUQJCTE0CiAKIHN0YXRpYyBpbmxpbmUgc3RydWN0IGdmczJfaG9sZGVyICpnZnMyX2dsb2NrX2lzX2xvY2tlZF9ieV9tZShzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wpCiB7CkBAIC00MSw2ICszOCw4IEBACiAJc3Bpbl9sb2NrKCZnbC0+Z2xfc3Bpbik7CiAJcGlkID0gdGFza19waWQoY3VycmVudCk7CiAJbGlzdF9mb3JfZWFjaF9lbnRyeShnaCwgJmdsLT5nbF9ob2xkZXJzLCBnaF9saXN0KSB7CisJCWlmICghdGVzdF9iaXQoSElGX0hPTERFUiwgJmdoLT5naF9pZmxhZ3MpKQorCQkJYnJlYWs7CiAJCWlmIChnaC0+Z2hfb3duZXJfcGlkID09IHBpZCkKIAkJCWdvdG8gb3V0OwogCX0KQEAgLTcwLDcgKzY5LDcgQEAKIHsKIAlpbnQgcmV0OwogCXNwaW5fbG9jaygmZ2wtPmdsX3NwaW4pOwotCXJldCA9IHRlc3RfYml0KEdMRl9ERU1PVEUsICZnbC0+Z2xfZmxhZ3MpIHx8ICFsaXN0X2VtcHR5KCZnbC0+Z2xfd2FpdGVyczMpOworCXJldCA9IHRlc3RfYml0KEdMRl9ERU1PVEUsICZnbC0+Z2xfZmxhZ3MpOwogCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7CiAJcmV0dXJuIHJldDsKIH0KQEAgLTk4LDYgKzk3LDcgQEAKIGludCBnZnMyX2dsb2NrX25xX20odW5zaWduZWQgaW50IG51bV9naCwgc3RydWN0IGdmczJfaG9sZGVyICpnaHMpOwogdm9pZCBnZnMyX2dsb2NrX2RxX20odW5zaWduZWQgaW50IG51bV9naCwgc3RydWN0IGdmczJfaG9sZGVyICpnaHMpOwogdm9pZCBnZnMyX2dsb2NrX2RxX3VuaW5pdF9tKHVuc2lnbmVkIGludCBudW1fZ2gsIHN0cnVjdCBnZnMyX2hvbGRlciAqZ2hzKTsKK3ZvaWQgZ2ZzMl9wcmludF9kYmcoc3RydWN0IHNlcV9maWxlICpzZXEsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKTsKIAogLyoqCiAgKiBnZnMyX2dsb2NrX25xX2luaXQgLSBpbnRpYWxpemUgYSBob2xkZXIgYW5kIGVucXVldWUgaXQgb24gYSBnbG9jawpAQCAtMTMwLDEwICsxMzAsOSBAQAogdm9pZCBnZnMyX2x2Yl91bmhvbGQoc3RydWN0IGdmczJfZ2xvY2sgKmdsKTsKIAogdm9pZCBnZnMyX2dsb2NrX2NiKHZvaWQgKmNiX2RhdGEsIHVuc2lnbmVkIGludCB0eXBlLCB2b2lkICpkYXRhKTsKLQogdm9pZCBnZnMyX2dsb2NrX3NjaGVkdWxlX2Zvcl9yZWNsYWltKHN0cnVjdCBnZnMyX2dsb2NrICpnbCk7CiB2b2lkIGdmczJfcmVjbGFpbV9nbG9jayhzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCk7Ci12b2lkIGdmczJfZ2xfaGFzaF9jbGVhcihzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCwgaW50IHdhaXQpOwordm9pZCBnZnMyX2dsX2hhc2hfY2xlYXIoc3RydWN0IGdmczJfc2JkICpzZHApOwogCiBpbnQgX19pbml0IGdmczJfZ2xvY2tfaW5pdCh2b2lkKTsKIHZvaWQgZ2ZzMl9nbG9ja19leGl0KHZvaWQpOwpkaWZmIC0tZ2l0IGEvZnMvZ2ZzMi9nbG9wcy5jIGIvZnMvZ2ZzMi9nbG9wcy5jCmluZGV4IDA3ZDg0ZDE2Li5jNmMzMThjIDEwMDY0NAotLS0gYS9mcy9nZnMyL2dsb3BzLmMKKysrIGIvZnMvZ2ZzMi9nbG9wcy5jCkBAIC0xMyw2ICsxMyw3IEBACiAjaW5jbHVkZSA8bGludXgvYnVmZmVyX2hlYWQuaD4KICNpbmNsdWRlIDxsaW51eC9nZnMyX29uZGlzay5oPgogI2luY2x1ZGUgPGxpbnV4L2xtX2ludGVyZmFjZS5oPgorI2luY2x1ZGUgPGxpbnV4L2Jpby5oPgogCiAjaW5jbHVkZSAiZ2ZzMi5oIgogI2luY2x1ZGUgImluY29yZS5oIgpAQCAtMTcyLDI2ICsxNzMsNiBAQAogfQogCiAvKioKLSAqIGlub2RlX2dvX3htb3RlX2JoIC0gQWZ0ZXIgcHJvbW90aW5nL2RlbW90aW5nIGEgZ2xvY2sKLSAqIEBnbDogdGhlIGdsb2NrCi0gKgotICovCi0KLXN0YXRpYyB2b2lkIGlub2RlX2dvX3htb3RlX2JoKHN0cnVjdCBnZnMyX2dsb2NrICpnbCkKLXsKLQlzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoID0gZ2wtPmdsX3JlcV9naDsKLQlzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoOwotCWludCBlcnJvcjsKLQotCWlmIChnbC0+Z2xfc3RhdGUgIT0gTE1fU1RfVU5MT0NLRUQgJiYKLQkgICAgKCFnaCB8fCAhKGdoLT5naF9mbGFncyAmIEdMX1NLSVApKSkgewotCQllcnJvciA9IGdmczJfbWV0YV9yZWFkKGdsLCBnbC0+Z2xfbmFtZS5sbl9udW1iZXIsIDAsICZiaCk7Ci0JCWlmICghZXJyb3IpCi0JCQlicmVsc2UoYmgpOwotCX0KLX0KLQotLyoqCiAgKiBpbm9kZV9nb19pbnZhbCAtIHByZXBhcmUgYSBpbm9kZSBnbG9jayB0byBiZSByZWxlYXNlZAogICogQGdsOiB0aGUgZ2xvY2sKICAqIEBmbGFnczoKQEAgLTI2Nyw2ICsyNDgsMjYgQEAKIH0KIAogLyoqCisgKiBpbm9kZV9nb19kdW1wIC0gcHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgYW4gaW5vZGUKKyAqIEBzZXE6IFRoZSBpdGVyYXRvcgorICogQGlwOiB0aGUgaW5vZGUKKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIC1FTk9CVUZTIHdoZW4gd2UgcnVuIG91dCBvZiBzcGFjZQorICovCisKK3N0YXRpYyBpbnQgaW5vZGVfZ29fZHVtcChzdHJ1Y3Qgc2VxX2ZpbGUgKnNlcSwgY29uc3Qgc3RydWN0IGdmczJfZ2xvY2sgKmdsKQoreworCWNvbnN0IHN0cnVjdCBnZnMyX2lub2RlICppcCA9IGdsLT5nbF9vYmplY3Q7CisJaWYgKGlwID09IE5VTEwpCisJCXJldHVybiAwOworCWdmczJfcHJpbnRfZGJnKHNlcSwgIiBJOiBuOiVsbHUvJWxsdSB0OiV1IGY6MHglMDhseFxuIiwKKwkJICAodW5zaWduZWQgbG9uZyBsb25nKWlwLT5pX25vX2Zvcm1hbF9pbm8sCisJCSAgKHVuc2lnbmVkIGxvbmcgbG9uZylpcC0+aV9ub19hZGRyLAorCQkgIElGMkRUKGlwLT5pX2lub2RlLmlfbW9kZSksIGlwLT5pX2ZsYWdzKTsKKwlyZXR1cm4gMDsKK30KKworLyoqCiAgKiByZ3JwX2dvX2RlbW90ZV9vayAtIENoZWNrIHRvIHNlZSBpZiBpdCdzIG9rIHRvIHVubG9jayBhIFJHJ3MgZ2xvY2sKICAqIEBnbDogdGhlIGdsb2NrCiAgKgpAQCAtMzA2LDYgKzMwNywyMiBAQAogfQogCiAvKioKKyAqIHJncnBfZ29fZHVtcCAtIHByaW50IG91dCBhbiByZ3JwCisgKiBAc2VxOiBUaGUgaXRlcmF0b3IKKyAqIEBnbDogVGhlIGdsb2NrIGluIHF1ZXN0aW9uCisgKgorICovCisKK3N0YXRpYyBpbnQgcmdycF9nb19kdW1wKHN0cnVjdCBzZXFfZmlsZSAqc2VxLCBjb25zdCBzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wpCit7CisJY29uc3Qgc3RydWN0IGdmczJfcmdycGQgKnJnZCA9IGdsLT5nbF9vYmplY3Q7CisJaWYgKHJnZCA9PSBOVUxMKQorCQlyZXR1cm4gMDsKKwlnZnMyX3ByaW50X2RiZyhzZXEsICIgUjogbjolbGx1XG4iLCAodW5zaWduZWQgbG9uZyBsb25nKXJnZC0+cmRfYWRkcik7CisJcmV0dXJuIDA7Cit9CisKKy8qKgogICogdHJhbnNfZ29fc3luYyAtIHByb21vdGUvZGVtb3RlIHRoZSB0cmFuc2FjdGlvbiBnbG9jawogICogQGdsOiB0aGUgZ2xvY2sKICAqIEBzdGF0ZTogdGhlIHJlcXVlc3RlZCBzdGF0ZQpAQCAtMzMwLDcgKzM0Nyw3IEBACiAgKgogICovCiAKLXN0YXRpYyB2b2lkIHRyYW5zX2dvX3htb3RlX2JoKHN0cnVjdCBnZnMyX2dsb2NrICpnbCkKK3N0YXRpYyBpbnQgdHJhbnNfZ29feG1vdGVfYmgoc3RydWN0IGdmczJfZ2xvY2sgKmdsLCBzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoKQogewogCXN0cnVjdCBnZnMyX3NiZCAqc2RwID0gZ2wtPmdsX3NiZDsKIAlzdHJ1Y3QgZ2ZzMl9pbm9kZSAqaXAgPSBHRlMyX0koc2RwLT5zZF9qZGVzYy0+amRfaW5vZGUpOwpAQCAtMzM4LDggKzM1NSw3IEBACiAJc3RydWN0IGdmczJfbG9nX2hlYWRlcl9ob3N0IGhlYWQ7CiAJaW50IGVycm9yOwogCi0JaWYgKGdsLT5nbF9zdGF0ZSAhPSBMTV9TVF9VTkxPQ0tFRCAmJgotCSAgICB0ZXN0X2JpdChTREZfSk9VUk5BTF9MSVZFLCAmc2RwLT5zZF9mbGFncykpIHsKKwlpZiAodGVzdF9iaXQoU0RGX0pPVVJOQUxfTElWRSwgJnNkcC0+c2RfZmxhZ3MpKSB7CiAJCWpfZ2wtPmdsX29wcy0+Z29faW52YWwoal9nbCwgRElPX01FVEFEQVRBKTsKIAogCQllcnJvciA9IGdmczJfZmluZF9qaGVhZChzZHAtPnNkX2pkZXNjLCAmaGVhZCk7CkBAIC0zNTQsNiArMzcwLDcgQEAKIAkJCWdmczJfbG9nX3BvaW50ZXJzX2luaXQoc2RwLCBoZWFkLmxoX2Jsa25vKTsKIAkJfQogCX0KKwlyZXR1cm4gMDsKIH0KIAogLyoqCkBAIC0zNzUsMTIgKzM5MiwxMiBAQAogCiBjb25zdCBzdHJ1Y3QgZ2ZzMl9nbG9ja19vcGVyYXRpb25zIGdmczJfaW5vZGVfZ2xvcHMgPSB7CiAJLmdvX3htb3RlX3RoID0gaW5vZGVfZ29fc3luYywKLQkuZ29feG1vdGVfYmggPSBpbm9kZV9nb194bW90ZV9iaCwKIAkuZ29faW52YWwgPSBpbm9kZV9nb19pbnZhbCwKIAkuZ29fZGVtb3RlX29rID0gaW5vZGVfZ29fZGVtb3RlX29rLAogCS5nb19sb2NrID0gaW5vZGVfZ29fbG9jaywKKwkuZ29fZHVtcCA9IGlub2RlX2dvX2R1bXAsCiAJLmdvX3R5cGUgPSBMTV9UWVBFX0lOT0RFLAotCS5nb19taW5faG9sZF90aW1lID0gSFogLyAxMCwKKwkuZ29fbWluX2hvbGRfdGltZSA9IEhaIC8gNSwKIH07CiAKIGNvbnN0IHN0cnVjdCBnZnMyX2dsb2NrX29wZXJhdGlvbnMgZ2ZzMl9yZ3JwX2dsb3BzID0gewpAQCAtMzg5LDggKzQwNiw5IEBACiAJLmdvX2RlbW90ZV9vayA9IHJncnBfZ29fZGVtb3RlX29rLAogCS5nb19sb2NrID0gcmdycF9nb19sb2NrLAogCS5nb191bmxvY2sgPSByZ3JwX2dvX3VubG9jaywKKwkuZ29fZHVtcCA9IHJncnBfZ29fZHVtcCwKIAkuZ29fdHlwZSA9IExNX1RZUEVfUkdSUCwKLQkuZ29fbWluX2hvbGRfdGltZSA9IEhaIC8gMTAsCisJLmdvX21pbl9ob2xkX3RpbWUgPSBIWiAvIDUsCiB9OwogCiBjb25zdCBzdHJ1Y3QgZ2ZzMl9nbG9ja19vcGVyYXRpb25zIGdmczJfdHJhbnNfZ2xvcHMgPSB7CmRpZmYgLS1naXQgYS9mcy9nZnMyL2luY29yZS5oIGIvZnMvZ2ZzMi9pbmNvcmUuaAppbmRleCBlYWJlNWVhLi40NDg2OTdhIDEwMDY0NAotLS0gYS9mcy9nZnMyL2luY29yZS5oCisrKyBiL2ZzL2dmczIvaW5jb3JlLmgKQEAgLTc3LDcgKzc3LDYgQEAKIHN0cnVjdCBnZnMyX3JncnBkIHsKIAlzdHJ1Y3QgbGlzdF9oZWFkIHJkX2xpc3Q7CS8qIExpbmsgd2l0aCBzdXBlcmJsb2NrICovCiAJc3RydWN0IGxpc3RfaGVhZCByZF9saXN0X21ydTsKLQlzdHJ1Y3QgbGlzdF9oZWFkIHJkX3JlY2VudDsJLyogUmVjZW50bHkgdXNlZCByZ3JwcyAqLwogCXN0cnVjdCBnZnMyX2dsb2NrICpyZF9nbDsJLyogR2xvY2sgZm9yIHRoaXMgcmdycCAqLwogCXU2NCByZF9hZGRyOwkJCS8qIGdycCBibG9jayBkaXNrIGFkZHJlc3MgKi8KIAl1NjQgcmRfZGF0YTA7CQkJLyogZmlyc3QgZGF0YSBsb2NhdGlvbiAqLwpAQCAtMTI4LDIwICsxMjcsMjAgQEAKIAogc3RydWN0IGdmczJfZ2xvY2tfb3BlcmF0aW9ucyB7CiAJdm9pZCAoKmdvX3htb3RlX3RoKSAoc3RydWN0IGdmczJfZ2xvY2sgKmdsKTsKLQl2b2lkICgqZ29feG1vdGVfYmgpIChzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wpOworCWludCAoKmdvX3htb3RlX2JoKSAoc3RydWN0IGdmczJfZ2xvY2sgKmdsLCBzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoKTsKIAl2b2lkICgqZ29faW52YWwpIChzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wsIGludCBmbGFncyk7CiAJaW50ICgqZ29fZGVtb3RlX29rKSAoc3RydWN0IGdmczJfZ2xvY2sgKmdsKTsKIAlpbnQgKCpnb19sb2NrKSAoc3RydWN0IGdmczJfaG9sZGVyICpnaCk7CiAJdm9pZCAoKmdvX3VubG9jaykgKHN0cnVjdCBnZnMyX2hvbGRlciAqZ2gpOworCWludCAoKmdvX2R1bXApKHN0cnVjdCBzZXFfZmlsZSAqc2VxLCBjb25zdCBzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wpOwogCWNvbnN0IGludCBnb190eXBlOwogCWNvbnN0IHVuc2lnbmVkIGxvbmcgZ29fbWluX2hvbGRfdGltZTsKIH07CiAKIGVudW0gewogCS8qIFN0YXRlcyAqLwotCUhJRl9IT0xERVIJCT0gNiwKKwlISUZfSE9MREVSCQk9IDYsICAvKiBTZXQgZm9yIGdoIHRoYXQgImhvbGRzIiB0aGUgZ2xvY2sgKi8KIAlISUZfRklSU1QJCT0gNywKLQlISUZfQUJPUlRFRAkJPSA5LAogCUhJRl9XQUlUCQk9IDEwLAogfTsKIApAQCAtMTU0LDIwICsxNTMsMjAgQEAKIAl1bnNpZ25lZCBnaF9mbGFnczsKIAogCWludCBnaF9lcnJvcjsKLQl1bnNpZ25lZCBsb25nIGdoX2lmbGFnczsKKwl1bnNpZ25lZCBsb25nIGdoX2lmbGFnczsgLyogSElGXy4uLiAqLwogCXVuc2lnbmVkIGxvbmcgZ2hfaXA7CiB9OwogCiBlbnVtIHsKLQlHTEZfTE9DSwkJPSAxLAotCUdMRl9TVElDS1kJCT0gMiwKLQlHTEZfREVNT1RFCQk9IDMsCi0JR0xGX1BFTkRJTkdfREVNT1RFCT0gNCwKLQlHTEZfRElSVFkJCT0gNSwKLQlHTEZfREVNT1RFX0lOX1BST0dSRVNTCT0gNiwKLQlHTEZfTEZMVVNICQk9IDcsCi0JR0xGX1dBSVRFUlMyCQk9IDgsCi0JR0xGX0NPTlZfREVBRExLCQk9IDksCisJR0xGX0xPQ0sJCQk9IDEsCisJR0xGX1NUSUNLWQkJCT0gMiwKKwlHTEZfREVNT1RFCQkJPSAzLAorCUdMRl9QRU5ESU5HX0RFTU9URQkJPSA0LAorCUdMRl9ERU1PVEVfSU5fUFJPR1JFU1MJCT0gNSwKKwlHTEZfRElSVFkJCQk9IDYsCisJR0xGX0xGTFVTSAkJCT0gNywKKwlHTEZfSU5WQUxJREFURV9JTl9QUk9HUkVTUwk9IDgsCisJR0xGX1JFUExZX1BFTkRJTkcJCT0gOSwKIH07CiAKIHN0cnVjdCBnZnMyX2dsb2NrIHsKQEAgLTE3OSwxOSArMTc4LDE0IEBACiAJc3BpbmxvY2tfdCBnbF9zcGluOwogCiAJdW5zaWduZWQgaW50IGdsX3N0YXRlOworCXVuc2lnbmVkIGludCBnbF90YXJnZXQ7CisJdW5zaWduZWQgaW50IGdsX3JlcGx5OwogCXVuc2lnbmVkIGludCBnbF9oYXNoOwogCXVuc2lnbmVkIGludCBnbF9kZW1vdGVfc3RhdGU7IC8qIHN0YXRlIHJlcXVlc3RlZCBieSByZW1vdGUgbm9kZSAqLwogCXVuc2lnbmVkIGxvbmcgZ2xfZGVtb3RlX3RpbWU7IC8qIHRpbWUgb2YgZmlyc3QgZGVtb3RlIHJlcXVlc3QgKi8KLQlzdHJ1Y3QgcGlkICpnbF9vd25lcl9waWQ7Ci0JdW5zaWduZWQgbG9uZyBnbF9pcDsKIAlzdHJ1Y3QgbGlzdF9oZWFkIGdsX2hvbGRlcnM7Ci0Jc3RydWN0IGxpc3RfaGVhZCBnbF93YWl0ZXJzMTsJLyogSElGX01VVEVYICovCi0Jc3RydWN0IGxpc3RfaGVhZCBnbF93YWl0ZXJzMzsJLyogSElGX1BST01PVEUgKi8KIAogCWNvbnN0IHN0cnVjdCBnZnMyX2dsb2NrX29wZXJhdGlvbnMgKmdsX29wczsKLQotCXN0cnVjdCBnZnMyX2hvbGRlciAqZ2xfcmVxX2doOwotCiAJdm9pZCAqZ2xfbG9jazsKIAljaGFyICpnbF9sdmI7CiAJYXRvbWljX3QgZ2xfbHZiX2NvdW50OwpAQCAtNDI3LDcgKzQyMSw2IEBACiAJdW5zaWduZWQgaW50IGd0X3F1b3RhX3F1YW50dW07IC8qIFNlY3MgYmV0d2VlbiBzeW5jcyB0byBxdW90YSBmaWxlICovCiAJdW5zaWduZWQgaW50IGd0X2F0aW1lX3F1YW50dW07IC8qIE1pbiBzZWNzIGJldHdlZW4gYXRpbWUgdXBkYXRlcyAqLwogCXVuc2lnbmVkIGludCBndF9uZXdfZmlsZXNfamRhdGE7Ci0JdW5zaWduZWQgaW50IGd0X25ld19maWxlc19kaXJlY3RpbzsKIAl1bnNpZ25lZCBpbnQgZ3RfbWF4X3JlYWRhaGVhZDsgLyogTWF4IGJ5dGVzIHRvIHJlYWQtYWhlYWQgZnJvbSBkaXNrICovCiAJdW5zaWduZWQgaW50IGd0X3N0YWxsX3NlY3M7IC8qIERldGVjdHMgdHJvdWJsZSEgKi8KIAl1bnNpZ25lZCBpbnQgZ3RfY29tcGxhaW5fc2VjczsKQEAgLTUzNCw3ICs1MjcsNiBAQAogCXN0cnVjdCBtdXRleCBzZF9yaW5kZXhfbXV0ZXg7CiAJc3RydWN0IGxpc3RfaGVhZCBzZF9yaW5kZXhfbGlzdDsKIAlzdHJ1Y3QgbGlzdF9oZWFkIHNkX3JpbmRleF9tcnVfbGlzdDsKLQlzdHJ1Y3QgbGlzdF9oZWFkIHNkX3JpbmRleF9yZWNlbnRfbGlzdDsKIAlzdHJ1Y3QgZ2ZzMl9yZ3JwZCAqc2RfcmluZGV4X2ZvcndhcmQ7CiAJdW5zaWduZWQgaW50IHNkX3JncnBzOwogCmRpZmYgLS1naXQgYS9mcy9nZnMyL2lub2RlLmMgYi9mcy9nZnMyL2lub2RlLmMKaW5kZXggMDk0NTNkMC4uNmRhMGFiMzUgMTAwNjQ0Ci0tLSBhL2ZzL2dmczIvaW5vZGUuYworKysgYi9mcy9nZnMyL2lub2RlLmMKQEAgLTUwNCw3ICs1MDQsNyBAQAogCX0KIAogCWlmICghaXNfcm9vdCkgewotCQllcnJvciA9IHBlcm1pc3Npb24oZGlyLCBNQVlfRVhFQywgTlVMTCk7CisJCWVycm9yID0gZ2ZzMl9wZXJtaXNzaW9uKGRpciwgTUFZX0VYRUMpOwogCQlpZiAoZXJyb3IpCiAJCQlnb3RvIG91dDsKIAl9CkBAIC02NjcsNyArNjY3LDcgQEAKIHsKIAlpbnQgZXJyb3I7CiAKLQllcnJvciA9IHBlcm1pc3Npb24oJmRpcC0+aV9pbm9kZSwgTUFZX1dSSVRFIHwgTUFZX0VYRUMsIE5VTEwpOworCWVycm9yID0gZ2ZzMl9wZXJtaXNzaW9uKCZkaXAtPmlfaW5vZGUsIE1BWV9XUklURSB8IE1BWV9FWEVDKTsKIAlpZiAoZXJyb3IpCiAJCXJldHVybiBlcnJvcjsKIApAQCAtNzg5LDEzICs3ODksOCBAQAogCQlpZiAoKGRpcC0+aV9kaS5kaV9mbGFncyAmIEdGUzJfRElGX0lOSEVSSVRfSkRBVEEpIHx8CiAJCSAgICBnZnMyX3R1bmVfZ2V0KHNkcCwgZ3RfbmV3X2ZpbGVzX2pkYXRhKSkKIAkJCWRpLT5kaV9mbGFncyB8PSBjcHVfdG9fYmUzMihHRlMyX0RJRl9KREFUQSk7Ci0JCWlmICgoZGlwLT5pX2RpLmRpX2ZsYWdzICYgR0ZTMl9ESUZfSU5IRVJJVF9ESVJFQ1RJTykgfHwKLQkJICAgIGdmczJfdHVuZV9nZXQoc2RwLCBndF9uZXdfZmlsZXNfZGlyZWN0aW8pKQotCQkJZGktPmRpX2ZsYWdzIHw9IGNwdV90b19iZTMyKEdGUzJfRElGX0RJUkVDVElPKTsKIAl9IGVsc2UgaWYgKFNfSVNESVIobW9kZSkpIHsKIAkJZGktPmRpX2ZsYWdzIHw9IGNwdV90b19iZTMyKGRpcC0+aV9kaS5kaV9mbGFncyAmCi0JCQkJCSAgICBHRlMyX0RJRl9JTkhFUklUX0RJUkVDVElPKTsKLQkJZGktPmRpX2ZsYWdzIHw9IGNwdV90b19iZTMyKGRpcC0+aV9kaS5kaV9mbGFncyAmCiAJCQkJCSAgICBHRlMyX0RJRl9JTkhFUklUX0pEQVRBKTsKIAl9CiAKQEAgLTExMzQsNyArMTEyOSw3IEBACiAJaWYgKElTX0FQUEVORCgmZGlwLT5pX2lub2RlKSkKIAkJcmV0dXJuIC1FUEVSTTsKIAotCWVycm9yID0gcGVybWlzc2lvbigmZGlwLT5pX2lub2RlLCBNQVlfV1JJVEUgfCBNQVlfRVhFQywgTlVMTCk7CisJZXJyb3IgPSBnZnMyX3Blcm1pc3Npb24oJmRpcC0+aV9pbm9kZSwgTUFZX1dSSVRFIHwgTUFZX0VYRUMpOwogCWlmIChlcnJvcikKIAkJcmV0dXJuIGVycm9yOwogCmRpZmYgLS1naXQgYS9mcy9nZnMyL2lub2RlLmggYi9mcy9nZnMyL2lub2RlLmgKaW5kZXggNTgwZGE0NS4uNjA3NGMyNSAxMDA2NDQKLS0tIGEvZnMvZ2ZzMi9pbm9kZS5oCisrKyBiL2ZzL2dmczIvaW5vZGUuaApAQCAtNzIsNyArNzIsNiBAQAogfQogCiAKLXZvaWQgZ2ZzMl9pbm9kZV9hdHRyX2luKHN0cnVjdCBnZnMyX2lub2RlICppcCk7CiB2b2lkIGdmczJfc2V0X2lvcChzdHJ1Y3QgaW5vZGUgKmlub2RlKTsKIHN0cnVjdCBpbm9kZSAqZ2ZzMl9pbm9kZV9sb29rdXAoc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwgdW5zaWduZWQgdHlwZSwgCiAJCQkJdTY0IG5vX2FkZHIsIHU2NCBub19mb3JtYWxfaW5vLApAQCAtOTEsNiArOTAsNyBAQAogCQlzdHJ1Y3QgZ2ZzMl9pbm9kZSAqaXApOwogaW50IGdmczJfdW5saW5rX29rKHN0cnVjdCBnZnMyX2lub2RlICpkaXAsIGNvbnN0IHN0cnVjdCBxc3RyICpuYW1lLAogCQkgICBjb25zdCBzdHJ1Y3QgZ2ZzMl9pbm9kZSAqaXApOworaW50IGdmczJfcGVybWlzc2lvbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBpbnQgbWFzayk7CiBpbnQgZ2ZzMl9va190b19tb3ZlKHN0cnVjdCBnZnMyX2lub2RlICp0aGlzLCBzdHJ1Y3QgZ2ZzMl9pbm9kZSAqdG8pOwogaW50IGdmczJfcmVhZGxpbmtpKHN0cnVjdCBnZnMyX2lub2RlICppcCwgY2hhciAqKmJ1ZiwgdW5zaWduZWQgaW50ICpsZW4pOwogaW50IGdmczJfZ2xvY2tfbnFfYXRpbWUoc3RydWN0IGdmczJfaG9sZGVyICpnaCk7CmRpZmYgLS1naXQgYS9mcy9nZnMyL2xvY2tpbmcuYyBiL2ZzL2dmczIvbG9ja2luZy5jCmluZGV4IDY2M2ZlZTcuLjUyMzI0M2EgMTAwNjQ0Ci0tLSBhL2ZzL2dmczIvbG9ja2luZy5jCisrKyBiL2ZzL2dmczIvbG9ja2luZy5jCkBAIC0yMywxMiArMjMsNTQgQEAKIAljb25zdCBzdHJ1Y3QgbG1fbG9ja29wcyAqbHdfb3BzOwogfTsKIAorc3RhdGljIGludCBub2xvY2tfbW91bnQoY2hhciAqdGFibGVfbmFtZSwgY2hhciAqaG9zdF9kYXRhLAorCQkJbG1fY2FsbGJhY2tfdCBjYiwgdm9pZCAqY2JfZGF0YSwKKwkJCXVuc2lnbmVkIGludCBtaW5fbHZiX3NpemUsIGludCBmbGFncywKKwkJCXN0cnVjdCBsbV9sb2Nrc3RydWN0ICpsb2Nrc3RydWN0LAorCQkJc3RydWN0IGtvYmplY3QgKmZza29iaik7CisKIC8qIExpc3Qgb2YgcmVnaXN0ZXJlZCBsb3ctbGV2ZWwgbG9ja2luZyBwcm90b2NvbHMuICBBIGZpbGUgc3lzdGVtIHNlbGVjdHMgb25lCiAgICBvZiB0aGVtIGJ5IG5hbWUgYXQgbW91bnQgdGltZSwgZS5nLiBsb2NrX25vbG9jaywgbG9ja19kbG0uICovCiAKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbG1fbG9ja29wcyBub2xvY2tfb3BzID0geworCS5sbV9wcm90b19uYW1lID0gImxvY2tfbm9sb2NrIiwKKwkubG1fbW91bnQgPSBub2xvY2tfbW91bnQsCit9OworCitzdGF0aWMgc3RydWN0IGxtaF93cmFwcGVyIG5vbG9ja19wcm90byAgPSB7CisJLmx3X2xpc3QgPSBMSVNUX0hFQURfSU5JVChub2xvY2tfcHJvdG8ubHdfbGlzdCksCisJLmx3X29wcyA9ICZub2xvY2tfb3BzLAorfTsKKwogc3RhdGljIExJU1RfSEVBRChsbWhfbGlzdCk7CiBzdGF0aWMgREVGSU5FX01VVEVYKGxtaF9sb2NrKTsKIAorc3RhdGljIGludCBub2xvY2tfbW91bnQoY2hhciAqdGFibGVfbmFtZSwgY2hhciAqaG9zdF9kYXRhLAorCQkJbG1fY2FsbGJhY2tfdCBjYiwgdm9pZCAqY2JfZGF0YSwKKwkJCXVuc2lnbmVkIGludCBtaW5fbHZiX3NpemUsIGludCBmbGFncywKKwkJCXN0cnVjdCBsbV9sb2Nrc3RydWN0ICpsb2Nrc3RydWN0LAorCQkJc3RydWN0IGtvYmplY3QgKmZza29iaikKK3sKKwljaGFyICpjOworCXVuc2lnbmVkIGludCBqaWQ7CisKKwljID0gc3Ryc3RyKGhvc3RfZGF0YSwgImppZD0iKTsKKwlpZiAoIWMpCisJCWppZCA9IDA7CisJZWxzZSB7CisJCWMgKz0gNDsKKwkJc3NjYW5mKGMsICIldSIsICZqaWQpOworCX0KKworCWxvY2tzdHJ1Y3QtPmxzX2ppZCA9IGppZDsKKwlsb2Nrc3RydWN0LT5sc19maXJzdCA9IDE7CisJbG9ja3N0cnVjdC0+bHNfbHZiX3NpemUgPSBtaW5fbHZiX3NpemU7CisJbG9ja3N0cnVjdC0+bHNfb3BzID0gJm5vbG9ja19vcHM7CisJbG9ja3N0cnVjdC0+bHNfZmxhZ3MgPSBMTV9MU0ZMQUdfTE9DQUw7CisKKwlyZXR1cm4gMDsKK30KKwogLyoqCiAgKiBnZnMyX3JlZ2lzdGVyX2xvY2twcm90byAtIFJlZ2lzdGVyIGEgbG93LWxldmVsIGxvY2tpbmcgcHJvdG9jb2wKICAqIEBwcm90bzogdGhlIHByb3RvY29sIGRlZmluaXRpb24KQEAgLTExNiw5ICsxNTgsMTMgQEAKIAlpbnQgdHJ5ID0gMDsKIAlpbnQgZXJyb3IsIGZvdW5kOwogCisKIHJldHJ5OgogCW11dGV4X2xvY2soJmxtaF9sb2NrKTsKIAorCWlmIChsaXN0X2VtcHR5KCZub2xvY2tfcHJvdG8ubHdfbGlzdCkpCisJCWxpc3RfYWRkKCZub2xvY2tfcHJvdG8ubHdfbGlzdCwgJmxtaF9saXN0KTsKKwogCWZvdW5kID0gMDsKIAlsaXN0X2Zvcl9lYWNoX2VudHJ5KGx3LCAmbG1oX2xpc3QsIGx3X2xpc3QpIHsKIAkJaWYgKCFzdHJjbXAobHctPmx3X29wcy0+bG1fcHJvdG9fbmFtZSwgcHJvdG9fbmFtZSkpIHsKQEAgLTEzOSw3ICsxODUsOCBAQAogCQlnb3RvIG91dDsKIAl9CiAKLQlpZiAoIXRyeV9tb2R1bGVfZ2V0KGx3LT5sd19vcHMtPmxtX293bmVyKSkgeworCWlmIChsdy0+bHdfb3BzLT5sbV9vd25lciAmJgorCSAgICAhdHJ5X21vZHVsZV9nZXQobHctPmx3X29wcy0+bG1fb3duZXIpKSB7CiAJCXRyeSA9IDA7CiAJCW11dGV4X3VubG9jaygmbG1oX2xvY2spOwogCQltc2xlZXAoMTAwMCk7CkBAIC0xNTgsNyArMjA1LDggQEAKIHZvaWQgZ2ZzMl91bm1vdW50X2xvY2twcm90byhzdHJ1Y3QgbG1fbG9ja3N0cnVjdCAqbG9ja3N0cnVjdCkKIHsKIAltdXRleF9sb2NrKCZsbWhfbG9jayk7Ci0JbG9ja3N0cnVjdC0+bHNfb3BzLT5sbV91bm1vdW50KGxvY2tzdHJ1Y3QtPmxzX2xvY2tzcGFjZSk7CisJaWYgKGxvY2tzdHJ1Y3QtPmxzX29wcy0+bG1fdW5tb3VudCkKKwkJbG9ja3N0cnVjdC0+bHNfb3BzLT5sbV91bm1vdW50KGxvY2tzdHJ1Y3QtPmxzX2xvY2tzcGFjZSk7CiAJaWYgKGxvY2tzdHJ1Y3QtPmxzX29wcy0+bG1fb3duZXIpCiAJCW1vZHVsZV9wdXQobG9ja3N0cnVjdC0+bHNfb3BzLT5sbV9vd25lcik7CiAJbXV0ZXhfdW5sb2NrKCZsbWhfbG9jayk7CmRpZmYgLS1naXQgYS9mcy9nZnMyL2xvY2tpbmcvZGxtL2xvY2suYyBiL2ZzL2dmczIvbG9ja2luZy9kbG0vbG9jay5jCmluZGV4IGNmN2VhOGEuLjI0ODJjOTAgMTAwNjQ0Ci0tLSBhL2ZzL2dmczIvbG9ja2luZy9kbG0vbG9jay5jCisrKyBiL2ZzL2dmczIvbG9ja2luZy9kbG0vbG9jay5jCkBAIC0xMSwyNyArMTEsMjg3IEBACiAKIHN0YXRpYyBjaGFyIGp1bmtfbHZiW0dETE1fTFZCX1NJWkVdOwogCi1zdGF0aWMgdm9pZCBxdWV1ZV9jb21wbGV0ZShzdHJ1Y3QgZ2RsbV9sb2NrICpscCkKKworLyogY29udmVydCBkbG0gbG9jay1tb2RlIHRvIGdmcyBsb2NrLXN0YXRlICovCisKK3N0YXRpYyBzMTYgZ2RsbV9tYWtlX2xtc3RhdGUoczE2IGRsbW1vZGUpCit7CisJc3dpdGNoIChkbG1tb2RlKSB7CisJY2FzZSBETE1fTE9DS19JVjoKKwljYXNlIERMTV9MT0NLX05MOgorCQlyZXR1cm4gTE1fU1RfVU5MT0NLRUQ7CisJY2FzZSBETE1fTE9DS19FWDoKKwkJcmV0dXJuIExNX1NUX0VYQ0xVU0lWRTsKKwljYXNlIERMTV9MT0NLX0NXOgorCQlyZXR1cm4gTE1fU1RfREVGRVJSRUQ7CisJY2FzZSBETE1fTE9DS19QUjoKKwkJcmV0dXJuIExNX1NUX1NIQVJFRDsKKwl9CisJZ2RsbV9hc3NlcnQoMCwgInVua25vd24gRExNIG1vZGUgJWQiLCBkbG1tb2RlKTsKKwlyZXR1cm4gLTE7Cit9CisKKy8qIEEgbG9jayBwbGFjZWQgb24gdGhpcyBxdWV1ZSBpcyByZS1zdWJtaXR0ZWQgdG8gRExNIGFzIHNvb24gYXMgdGhlIGxvY2tfZGxtCisgICB0aHJlYWQgZ2V0cyB0byBpdC4gKi8KKworc3RhdGljIHZvaWQgcXVldWVfc3VibWl0KHN0cnVjdCBnZGxtX2xvY2sgKmxwKQogewogCXN0cnVjdCBnZGxtX2xzICpscyA9IGxwLT5sczsKIAotCWNsZWFyX2JpdChMRkxfQUNUSVZFLCAmbHAtPmZsYWdzKTsKLQogCXNwaW5fbG9jaygmbHMtPmFzeW5jX2xvY2spOwotCWxpc3RfYWRkX3RhaWwoJmxwLT5jbGlzdCwgJmxzLT5jb21wbGV0ZSk7CisJbGlzdF9hZGRfdGFpbCgmbHAtPmRlbGF5X2xpc3QsICZscy0+c3VibWl0KTsKIAlzcGluX3VubG9jaygmbHMtPmFzeW5jX2xvY2spOwogCXdha2VfdXAoJmxzLT50aHJlYWRfd2FpdCk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBnZGxtX2FzdCh2b2lkICphc3RhcmcpCitzdGF0aWMgdm9pZCB3YWtlX3VwX2FzdChzdHJ1Y3QgZ2RsbV9sb2NrICpscCkKIHsKLQlxdWV1ZV9jb21wbGV0ZShhc3RhcmcpOworCWNsZWFyX2JpdChMRkxfQVNUX1dBSVQsICZscC0+ZmxhZ3MpOworCXNtcF9tYl9fYWZ0ZXJfY2xlYXJfYml0KCk7CisJd2FrZV91cF9iaXQoJmxwLT5mbGFncywgTEZMX0FTVF9XQUlUKTsKIH0KIAotc3RhdGljIGlubGluZSB2b2lkIGdkbG1fYmFzdCh2b2lkICphc3RhcmcsIGludCBtb2RlKQorc3RhdGljIHZvaWQgZ2RsbV9kZWxldGVfbHAoc3RydWN0IGdkbG1fbG9jayAqbHApCit7CisJc3RydWN0IGdkbG1fbHMgKmxzID0gbHAtPmxzOworCisJc3Bpbl9sb2NrKCZscy0+YXN5bmNfbG9jayk7CisJaWYgKCFsaXN0X2VtcHR5KCZscC0+ZGVsYXlfbGlzdCkpCisJCWxpc3RfZGVsX2luaXQoJmxwLT5kZWxheV9saXN0KTsKKwlscy0+YWxsX2xvY2tzX2NvdW50LS07CisJc3Bpbl91bmxvY2soJmxzLT5hc3luY19sb2NrKTsKKworCWtmcmVlKGxwKTsKK30KKworc3RhdGljIHZvaWQgZ2RsbV9xdWV1ZV9kZWxheWVkKHN0cnVjdCBnZGxtX2xvY2sgKmxwKQoreworCXN0cnVjdCBnZGxtX2xzICpscyA9IGxwLT5sczsKKworCXNwaW5fbG9jaygmbHMtPmFzeW5jX2xvY2spOworCWxpc3RfYWRkX3RhaWwoJmxwLT5kZWxheV9saXN0LCAmbHMtPmRlbGF5ZWQpOworCXNwaW5fdW5sb2NrKCZscy0+YXN5bmNfbG9jayk7Cit9CisKK3N0YXRpYyB2b2lkIHByb2Nlc3NfY29tcGxldGUoc3RydWN0IGdkbG1fbG9jayAqbHApCit7CisJc3RydWN0IGdkbG1fbHMgKmxzID0gbHAtPmxzOworCXN0cnVjdCBsbV9hc3luY19jYiBhY2I7CisKKwltZW1zZXQoJmFjYiwgMCwgc2l6ZW9mKGFjYikpOworCisJaWYgKGxwLT5sa3NiLnNiX3N0YXR1cyA9PSAtRExNX0VDQU5DRUwpIHsKKwkJbG9nX2luZm8oImNvbXBsZXRlIGRsbSBjYW5jZWwgJXgsJWxseCBmbGFncyAlbHgiLAorCQkgCSBscC0+bG9ja25hbWUubG5fdHlwZSwKKwkJCSAodW5zaWduZWQgbG9uZyBsb25nKWxwLT5sb2NrbmFtZS5sbl9udW1iZXIsCisJCQkgbHAtPmZsYWdzKTsKKworCQlscC0+cmVxID0gbHAtPmN1cjsKKwkJYWNiLmxjX3JldCB8PSBMTV9PVVRfQ0FOQ0VMRUQ7CisJCWlmIChscC0+Y3VyID09IERMTV9MT0NLX0lWKQorCQkJbHAtPmxrc2Iuc2JfbGtpZCA9IDA7CisJCWdvdG8gb3V0OworCX0KKworCWlmICh0ZXN0X2FuZF9jbGVhcl9iaXQoTEZMX0RMTV9VTkxPQ0ssICZscC0+ZmxhZ3MpKSB7CisJCWlmIChscC0+bGtzYi5zYl9zdGF0dXMgIT0gLURMTV9FVU5MT0NLKSB7CisJCQlsb2dfaW5mbygidW5sb2NrIHNiX3N0YXR1cyAlZCAleCwlbGx4IGZsYWdzICVseCIsCisJCQkJIGxwLT5sa3NiLnNiX3N0YXR1cywgbHAtPmxvY2tuYW1lLmxuX3R5cGUsCisJCQkJICh1bnNpZ25lZCBsb25nIGxvbmcpbHAtPmxvY2tuYW1lLmxuX251bWJlciwKKwkJCQkgbHAtPmZsYWdzKTsKKwkJCXJldHVybjsKKwkJfQorCisJCWxwLT5jdXIgPSBETE1fTE9DS19JVjsKKwkJbHAtPnJlcSA9IERMTV9MT0NLX0lWOworCQlscC0+bGtzYi5zYl9sa2lkID0gMDsKKworCQlpZiAodGVzdF9hbmRfY2xlYXJfYml0KExGTF9VTkxPQ0tfREVMRVRFLCAmbHAtPmZsYWdzKSkgeworCQkJZ2RsbV9kZWxldGVfbHAobHApOworCQkJcmV0dXJuOworCQl9CisJCWdvdG8gb3V0OworCX0KKworCWlmIChscC0+bGtzYi5zYl9mbGFncyAmIERMTV9TQkZfVkFMTk9UVkFMSUQpCisJCW1lbXNldChscC0+bGtzYi5zYl9sdmJwdHIsIDAsIEdETE1fTFZCX1NJWkUpOworCisJaWYgKGxwLT5sa3NiLnNiX2ZsYWdzICYgRExNX1NCRl9BTFRNT0RFKSB7CisJCWlmIChscC0+cmVxID09IERMTV9MT0NLX1BSKQorCQkJbHAtPnJlcSA9IERMTV9MT0NLX0NXOworCQllbHNlIGlmIChscC0+cmVxID09IERMTV9MT0NLX0NXKQorCQkJbHAtPnJlcSA9IERMTV9MT0NLX1BSOworCX0KKworCS8qCisJICogQSBjYW5jZWxlZCBsb2NrIHJlcXVlc3QuICBUaGUgbG9jayB3YXMganVzdCB0YWtlbiBvZmYgdGhlIGRlbGF5ZWQKKwkgKiBsaXN0IGFuZCB3YXMgbmV2ZXIgZXZlbiBzdWJtaXR0ZWQgdG8gZGxtLgorCSAqLworCisJaWYgKHRlc3RfYW5kX2NsZWFyX2JpdChMRkxfQ0FOQ0VMLCAmbHAtPmZsYWdzKSkgeworCQlsb2dfaW5mbygiY29tcGxldGUgaW50ZXJuYWwgY2FuY2VsICV4LCVsbHgiLAorCQkgCSBscC0+bG9ja25hbWUubG5fdHlwZSwKKwkJCSAodW5zaWduZWQgbG9uZyBsb25nKWxwLT5sb2NrbmFtZS5sbl9udW1iZXIpOworCQlscC0+cmVxID0gbHAtPmN1cjsKKwkJYWNiLmxjX3JldCB8PSBMTV9PVVRfQ0FOQ0VMRUQ7CisJCWdvdG8gb3V0OworCX0KKworCS8qCisJICogQW4gZXJyb3Igb2NjdXJlZC4KKwkgKi8KKworCWlmIChscC0+bGtzYi5zYl9zdGF0dXMpIHsKKwkJLyogYSAibm9ybWFsIiBlcnJvciAqLworCQlpZiAoKGxwLT5sa3NiLnNiX3N0YXR1cyA9PSAtRUFHQUlOKSAmJgorCQkgICAgKGxwLT5sa2YgJiBETE1fTEtGX05PUVVFVUUpKSB7CisJCQlscC0+cmVxID0gbHAtPmN1cjsKKwkJCWlmIChscC0+Y3VyID09IERMTV9MT0NLX0lWKQorCQkJCWxwLT5sa3NiLnNiX2xraWQgPSAwOworCQkJZ290byBvdXQ7CisJCX0KKworCQkvKiB0aGlzIGNvdWxkIG9ubHkgaGFwcGVuIHdpdGggY2FuY2VscyBJIHRoaW5rICovCisJCWxvZ19pbmZvKCJhc3Qgc2Jfc3RhdHVzICVkICV4LCVsbHggZmxhZ3MgJWx4IiwKKwkJCSBscC0+bGtzYi5zYl9zdGF0dXMsIGxwLT5sb2NrbmFtZS5sbl90eXBlLAorCQkJICh1bnNpZ25lZCBsb25nIGxvbmcpbHAtPmxvY2tuYW1lLmxuX251bWJlciwKKwkJCSBscC0+ZmxhZ3MpOworCQlyZXR1cm47CisJfQorCisJLyoKKwkgKiBUaGlzIGlzIGFuIEFTVCBmb3IgYW4gRVgtPkVYIGNvbnZlcnNpb24gZm9yIHN5bmNfbHZiIGZyb20gR0ZTLgorCSAqLworCisJaWYgKHRlc3RfYW5kX2NsZWFyX2JpdChMRkxfU1lOQ19MVkIsICZscC0+ZmxhZ3MpKSB7CisJCXdha2VfdXBfYXN0KGxwKTsKKwkJcmV0dXJuOworCX0KKworCS8qCisJICogQSBsb2NrIGhhcyBiZWVuIGRlbW90ZWQgdG8gTkwgYmVjYXVzZSBpdCBpbml0aWFsbHkgY29tcGxldGVkIGR1cmluZworCSAqIEJMT0NLX0xPQ0tTLiAgTm93IGl0IG11c3QgYmUgcmVxdWVzdGVkIGluIHRoZSBvcmlnaW5hbGx5IHJlcXVlc3RlZAorCSAqIG1vZGUuCisJICovCisKKwlpZiAodGVzdF9hbmRfY2xlYXJfYml0KExGTF9SRVJFUVVFU1QsICZscC0+ZmxhZ3MpKSB7CisJCWdkbG1fYXNzZXJ0KGxwLT5yZXEgPT0gRExNX0xPQ0tfTkwsICIleCwlbGx4IiwKKwkJCSAgICBscC0+bG9ja25hbWUubG5fdHlwZSwKKwkJCSAgICAodW5zaWduZWQgbG9uZyBsb25nKWxwLT5sb2NrbmFtZS5sbl9udW1iZXIpOworCQlnZGxtX2Fzc2VydChscC0+cHJldl9yZXEgPiBETE1fTE9DS19OTCwgIiV4LCVsbHgiLAorCQkJICAgIGxwLT5sb2NrbmFtZS5sbl90eXBlLAorCQkJICAgICh1bnNpZ25lZCBsb25nIGxvbmcpbHAtPmxvY2tuYW1lLmxuX251bWJlcik7CisKKwkJbHAtPmN1ciA9IERMTV9MT0NLX05MOworCQlscC0+cmVxID0gbHAtPnByZXZfcmVxOworCQlscC0+cHJldl9yZXEgPSBETE1fTE9DS19JVjsKKwkJbHAtPmxrZiAmPSB+RExNX0xLRl9DT05WREVBRExLOworCisJCXNldF9iaXQoTEZMX05PQ0FDSEUsICZscC0+ZmxhZ3MpOworCisJCWlmICh0ZXN0X2JpdChERkxfQkxPQ0tfTE9DS1MsICZscy0+ZmxhZ3MpICYmCisJCSAgICAhdGVzdF9iaXQoTEZMX05PQkxPQ0ssICZscC0+ZmxhZ3MpKQorCQkJZ2RsbV9xdWV1ZV9kZWxheWVkKGxwKTsKKwkJZWxzZQorCQkJcXVldWVfc3VibWl0KGxwKTsKKwkJcmV0dXJuOworCX0KKworCS8qCisJICogQSByZXF1ZXN0IGlzIGdyYW50ZWQgZHVyaW5nIGRsbSByZWNvdmVyeS4gIEl0IG1heSBiZSBncmFudGVkCisJICogYmVjYXVzZSB0aGUgbG9ja3Mgb2YgYSBmYWlsZWQgbm9kZSB3ZXJlIGNsZWFyZWQuICBJbiB0aGF0IGNhc2UsCisJICogdGhlcmUgbWF5IGJlIGluY29uc2lzdGVudCBkYXRhIGJlbmVhdGggdGhpcyBsb2NrIGFuZCB3ZSBtdXN0IHdhaXQKKwkgKiBmb3IgcmVjb3ZlcnkgdG8gY29tcGxldGUgdG8gdXNlIGl0LiAgV2hlbiBnZnMgcmVjb3ZlcnkgaXMgZG9uZSB0aGlzCisJICogZ3JhbnRlZCBsb2NrIHdpbGwgYmUgY29udmVydGVkIHRvIE5MIGFuZCB0aGVuIHJlYWNxdWlyZWQgaW4gdGhpcworCSAqIGdyYW50ZWQgc3RhdGUuCisJICovCisKKwlpZiAodGVzdF9iaXQoREZMX0JMT0NLX0xPQ0tTLCAmbHMtPmZsYWdzKSAmJgorCSAgICAhdGVzdF9iaXQoTEZMX05PQkxPQ0ssICZscC0+ZmxhZ3MpICYmCisJICAgIGxwLT5yZXEgIT0gRExNX0xPQ0tfTkwpIHsKKworCQlscC0+Y3VyID0gbHAtPnJlcTsKKwkJbHAtPnByZXZfcmVxID0gbHAtPnJlcTsKKwkJbHAtPnJlcSA9IERMTV9MT0NLX05MOworCQlscC0+bGtmIHw9IERMTV9MS0ZfQ09OVkVSVDsKKwkJbHAtPmxrZiAmPSB+RExNX0xLRl9DT05WREVBRExLOworCisJCWxvZ19kZWJ1ZygicmVyZXEgJXgsJWxseCBpZCAleCAlZCwlZCIsCisJCQkgIGxwLT5sb2NrbmFtZS5sbl90eXBlLAorCQkJICAodW5zaWduZWQgbG9uZyBsb25nKWxwLT5sb2NrbmFtZS5sbl9udW1iZXIsCisJCQkgIGxwLT5sa3NiLnNiX2xraWQsIGxwLT5jdXIsIGxwLT5yZXEpOworCisJCXNldF9iaXQoTEZMX1JFUkVRVUVTVCwgJmxwLT5mbGFncyk7CisJCXF1ZXVlX3N1Ym1pdChscCk7CisJCXJldHVybjsKKwl9CisKKwkvKgorCSAqIERMTSBkZW1vdGVkIHRoZSBsb2NrIHRvIE5MIGJlZm9yZSBpdCB3YXMgZ3JhbnRlZCBzbyBHRlMgbXVzdCBiZQorCSAqIHRvbGQgaXQgY2Fubm90IGNhY2hlIGRhdGEgZm9yIHRoaXMgbG9jay4KKwkgKi8KKworCWlmIChscC0+bGtzYi5zYl9mbGFncyAmIERMTV9TQkZfREVNT1RFRCkKKwkJc2V0X2JpdChMRkxfTk9DQUNIRSwgJmxwLT5mbGFncyk7CisKK291dDoKKwkvKgorCSAqIFRoaXMgaXMgYW4gaW50ZXJuYWwgbG9ja19kbG0gbG9jaworCSAqLworCisJaWYgKHRlc3RfYml0KExGTF9JTkxPQ0ssICZscC0+ZmxhZ3MpKSB7CisJCWNsZWFyX2JpdChMRkxfTk9CTE9DSywgJmxwLT5mbGFncyk7CisJCWxwLT5jdXIgPSBscC0+cmVxOworCQl3YWtlX3VwX2FzdChscCk7CisJCXJldHVybjsKKwl9CisKKwkvKgorCSAqIE5vcm1hbCBjb21wbGV0aW9uIG9mIGEgbG9jayByZXF1ZXN0LiAgVGVsbCBHRlMgaXQgbm93IGhhcyB0aGUgbG9jay4KKwkgKi8KKworCWNsZWFyX2JpdChMRkxfTk9CTE9DSywgJmxwLT5mbGFncyk7CisJbHAtPmN1ciA9IGxwLT5yZXE7CisKKwlhY2IubGNfbmFtZSA9IGxwLT5sb2NrbmFtZTsKKwlhY2IubGNfcmV0IHw9IGdkbG1fbWFrZV9sbXN0YXRlKGxwLT5jdXIpOworCisJbHMtPmZzY2IobHMtPnNkcCwgTE1fQ0JfQVNZTkMsICZhY2IpOworfQorCitzdGF0aWMgdm9pZCBnZGxtX2FzdCh2b2lkICphc3RhcmcpCiB7CiAJc3RydWN0IGdkbG1fbG9jayAqbHAgPSBhc3Rhcmc7CisJY2xlYXJfYml0KExGTF9BQ1RJVkUsICZscC0+ZmxhZ3MpOworCXByb2Nlc3NfY29tcGxldGUobHApOworfQorCitzdGF0aWMgdm9pZCBwcm9jZXNzX2Jsb2NraW5nKHN0cnVjdCBnZGxtX2xvY2sgKmxwLCBpbnQgYmFzdF9tb2RlKQorewogCXN0cnVjdCBnZGxtX2xzICpscyA9IGxwLT5sczsKKwl1bnNpZ25lZCBpbnQgY2IgPSAwOworCisJc3dpdGNoIChnZGxtX21ha2VfbG1zdGF0ZShiYXN0X21vZGUpKSB7CisJY2FzZSBMTV9TVF9FWENMVVNJVkU6CisJCWNiID0gTE1fQ0JfTkVFRF9FOworCQlicmVhazsKKwljYXNlIExNX1NUX0RFRkVSUkVEOgorCQljYiA9IExNX0NCX05FRURfRDsKKwkJYnJlYWs7CisJY2FzZSBMTV9TVF9TSEFSRUQ6CisJCWNiID0gTE1fQ0JfTkVFRF9TOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlnZGxtX2Fzc2VydCgwLCAidW5rbm93biBiYXN0IG1vZGUgJXUiLCBiYXN0X21vZGUpOworCX0KKworCWxzLT5mc2NiKGxzLT5zZHAsIGNiLCAmbHAtPmxvY2tuYW1lKTsKK30KKworCitzdGF0aWMgdm9pZCBnZGxtX2Jhc3Qodm9pZCAqYXN0YXJnLCBpbnQgbW9kZSkKK3sKKwlzdHJ1Y3QgZ2RsbV9sb2NrICpscCA9IGFzdGFyZzsKIAogCWlmICghbW9kZSkgewogCQlwcmludGsoS0VSTl9JTkZPICJsb2NrX2RsbTogYmFzdCBtb2RlIHplcm8gJXgsJWxseFxuIiwKQEAgLTQwLDIzICszMDAsNyBAQAogCQlyZXR1cm47CiAJfQogCi0Jc3Bpbl9sb2NrKCZscy0+YXN5bmNfbG9jayk7Ci0JaWYgKCFscC0+YmFzdF9tb2RlKSB7Ci0JCWxpc3RfYWRkX3RhaWwoJmxwLT5ibGlzdCwgJmxzLT5ibG9ja2luZyk7Ci0JCWxwLT5iYXN0X21vZGUgPSBtb2RlOwotCX0gZWxzZSBpZiAobHAtPmJhc3RfbW9kZSA8IG1vZGUpCi0JCWxwLT5iYXN0X21vZGUgPSBtb2RlOwotCXNwaW5fdW5sb2NrKCZscy0+YXN5bmNfbG9jayk7Ci0Jd2FrZV91cCgmbHMtPnRocmVhZF93YWl0KTsKLX0KLQotdm9pZCBnZGxtX3F1ZXVlX2RlbGF5ZWQoc3RydWN0IGdkbG1fbG9jayAqbHApCi17Ci0Jc3RydWN0IGdkbG1fbHMgKmxzID0gbHAtPmxzOwotCi0Jc3Bpbl9sb2NrKCZscy0+YXN5bmNfbG9jayk7Ci0JbGlzdF9hZGRfdGFpbCgmbHAtPmRlbGF5X2xpc3QsICZscy0+ZGVsYXllZCk7Ci0Jc3Bpbl91bmxvY2soJmxzLT5hc3luY19sb2NrKTsKKwlwcm9jZXNzX2Jsb2NraW5nKGxwLCBtb2RlKTsKIH0KIAogLyogY29udmVydCBnZnMgbG9jay1zdGF0ZSB0byBkbG0gbG9jay1tb2RlICovCkBAIC03NywyNCArMzIxLDYgQEAKIAlyZXR1cm4gLTE7CiB9CiAKLS8qIGNvbnZlcnQgZGxtIGxvY2stbW9kZSB0byBnZnMgbG9jay1zdGF0ZSAqLwotCi1zMTYgZ2RsbV9tYWtlX2xtc3RhdGUoczE2IGRsbW1vZGUpCi17Ci0Jc3dpdGNoIChkbG1tb2RlKSB7Ci0JY2FzZSBETE1fTE9DS19JVjoKLQljYXNlIERMTV9MT0NLX05MOgotCQlyZXR1cm4gTE1fU1RfVU5MT0NLRUQ7Ci0JY2FzZSBETE1fTE9DS19FWDoKLQkJcmV0dXJuIExNX1NUX0VYQ0xVU0lWRTsKLQljYXNlIERMTV9MT0NLX0NXOgotCQlyZXR1cm4gTE1fU1RfREVGRVJSRUQ7Ci0JY2FzZSBETE1fTE9DS19QUjoKLQkJcmV0dXJuIExNX1NUX1NIQVJFRDsKLQl9Ci0JZ2RsbV9hc3NlcnQoMCwgInVua25vd24gRExNIG1vZGUgJWQiLCBkbG1tb2RlKTsKLQlyZXR1cm4gLTE7Ci19CiAKIC8qIHZlcmlmeSBhZ3JlZW1lbnQgd2l0aCBHRlMgb24gdGhlIGN1cnJlbnQgbG9jayBzdGF0ZSwgTkI6IERMTV9MT0NLX05MIGFuZAogICAgRExNX0xPQ0tfSVYgYXJlIGJvdGggY29uc2lkZXJlZCBMTV9TVF9VTkxPQ0tFRCBieSBHRlMuICovCkBAIC0xMzQsMTQgKzM2MCw2IEBACiAKIAlpZiAobHAtPmxrc2Iuc2JfbGtpZCAhPSAwKSB7CiAJCWxrZiB8PSBETE1fTEtGX0NPTlZFUlQ7Ci0KLQkJLyogQ29udmVyc2lvbiBkZWFkbG9jayBhdm9pZGFuY2UgYnkgRExNICovCi0KLQkJaWYgKCEobHAtPmxzLT5mc2ZsYWdzICYgTE1fTUZMQUdfQ09OVl9OT0RST1ApICYmCi0JCSAgICAhdGVzdF9iaXQoTEZMX0ZPUkNFX1BST01PVEUsICZscC0+ZmxhZ3MpICYmCi0JCSAgICAhKGxrZiAmIERMTV9MS0ZfTk9RVUVVRSkgJiYKLQkJICAgIGN1ciA+IERMTV9MT0NLX05MICYmIHJlcSA+IERMTV9MT0NLX05MICYmIGN1ciAhPSByZXEpCi0JCQlsa2YgfD0gRExNX0xLRl9DT05WREVBRExLOwogCX0KIAogCWlmIChscC0+bHZiKQpAQCAtMTczLDE0ICszOTEsOSBAQAogCW1ha2Vfc3RybmFtZShuYW1lLCAmbHAtPnN0cm5hbWUpOwogCWxwLT5scyA9IGxzOwogCWxwLT5jdXIgPSBETE1fTE9DS19JVjsKLQlscC0+bHZiID0gTlVMTDsKLQlscC0+aG9sZF9udWxsID0gTlVMTDsKLQlJTklUX0xJU1RfSEVBRCgmbHAtPmNsaXN0KTsKLQlJTklUX0xJU1RfSEVBRCgmbHAtPmJsaXN0KTsKIAlJTklUX0xJU1RfSEVBRCgmbHAtPmRlbGF5X2xpc3QpOwogCiAJc3Bpbl9sb2NrKCZscy0+YXN5bmNfbG9jayk7Ci0JbGlzdF9hZGQoJmxwLT5hbGxfbGlzdCwgJmxzLT5hbGxfbG9ja3MpOwogCWxzLT5hbGxfbG9ja3NfY291bnQrKzsKIAlzcGluX3VubG9jaygmbHMtPmFzeW5jX2xvY2spOwogCkBAIC0xODgsMjYgKzQwMSw2IEBACiAJcmV0dXJuIDA7CiB9CiAKLXZvaWQgZ2RsbV9kZWxldGVfbHAoc3RydWN0IGdkbG1fbG9jayAqbHApCi17Ci0Jc3RydWN0IGdkbG1fbHMgKmxzID0gbHAtPmxzOwotCi0Jc3Bpbl9sb2NrKCZscy0+YXN5bmNfbG9jayk7Ci0JaWYgKCFsaXN0X2VtcHR5KCZscC0+Y2xpc3QpKQotCQlsaXN0X2RlbF9pbml0KCZscC0+Y2xpc3QpOwotCWlmICghbGlzdF9lbXB0eSgmbHAtPmJsaXN0KSkKLQkJbGlzdF9kZWxfaW5pdCgmbHAtPmJsaXN0KTsKLQlpZiAoIWxpc3RfZW1wdHkoJmxwLT5kZWxheV9saXN0KSkKLQkJbGlzdF9kZWxfaW5pdCgmbHAtPmRlbGF5X2xpc3QpOwotCWdkbG1fYXNzZXJ0KCFsaXN0X2VtcHR5KCZscC0+YWxsX2xpc3QpLCAiJXgsJWxseCIsIGxwLT5sb2NrbmFtZS5sbl90eXBlLAotCQkgICAgKHVuc2lnbmVkIGxvbmcgbG9uZylscC0+bG9ja25hbWUubG5fbnVtYmVyKTsKLQlsaXN0X2RlbF9pbml0KCZscC0+YWxsX2xpc3QpOwotCWxzLT5hbGxfbG9ja3NfY291bnQtLTsKLQlzcGluX3VubG9jaygmbHMtPmFzeW5jX2xvY2spOwotCi0Ja2ZyZWUobHApOwotfQotCiBpbnQgZ2RsbV9nZXRfbG9jayh2b2lkICpsb2Nrc3BhY2UsIHN0cnVjdCBsbV9sb2NrbmFtZSAqbmFtZSwKIAkJICB2b2lkICoqbG9ja3ApCiB7CkBAIC0yNjEsNyArNDU0LDcgQEAKIAogCWlmICgoZXJyb3IgPT0gLUVBR0FJTikgJiYgKGxwLT5sa2YgJiBETE1fTEtGX05PUVVFVUUpKSB7CiAJCWxwLT5sa3NiLnNiX3N0YXR1cyA9IC1FQUdBSU47Ci0JCXF1ZXVlX2NvbXBsZXRlKGxwKTsKKwkJZ2RsbV9hc3QobHApOwogCQllcnJvciA9IDA7CiAJfQogCkBAIC0zMDgsNiArNTAxLDEyIEBACiB7CiAJc3RydWN0IGdkbG1fbG9jayAqbHAgPSBsb2NrOwogCisJaWYgKHJlcV9zdGF0ZSA9PSBMTV9TVF9VTkxPQ0tFRCkKKwkJcmV0dXJuIGdkbG1fdW5sb2NrKGxvY2ssIGN1cl9zdGF0ZSk7CisKKwlpZiAocmVxX3N0YXRlID09IExNX1NUX1VOTE9DS0VEKQorCQlyZXR1cm4gZ2RsbV91bmxvY2sobG9jaywgY3VyX3N0YXRlKTsKKwogCWNsZWFyX2JpdChMRkxfRExNX0NBTkNFTCwgJmxwLT5mbGFncyk7CiAJaWYgKGZsYWdzICYgTE1fRkxBR19OT0VYUCkKIAkJc2V0X2JpdChMRkxfTk9CTE9DSywgJmxwLT5mbGFncyk7CkBAIC0zNTEsNyArNTUwLDcgQEAKIAlpZiAoZGVsYXlfbGlzdCkgewogCQlzZXRfYml0KExGTF9DQU5DRUwsICZscC0+ZmxhZ3MpOwogCQlzZXRfYml0KExGTF9BQ1RJVkUsICZscC0+ZmxhZ3MpOwotCQlxdWV1ZV9jb21wbGV0ZShscCk7CisJCWdkbG1fYXN0KGxwKTsKIAkJcmV0dXJuOwogCX0KIApAQCAtNTA3LDIyICs3MDYsMyBAQAogCXdha2VfdXAoJmxzLT50aHJlYWRfd2FpdCk7CiB9CiAKLWludCBnZGxtX3JlbGVhc2VfYWxsX2xvY2tzKHN0cnVjdCBnZGxtX2xzICpscykKLXsKLQlzdHJ1Y3QgZ2RsbV9sb2NrICpscCwgKnNhZmU7Ci0JaW50IGNvdW50ID0gMDsKLQotCXNwaW5fbG9jaygmbHMtPmFzeW5jX2xvY2spOwotCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShscCwgc2FmZSwgJmxzLT5hbGxfbG9ja3MsIGFsbF9saXN0KSB7Ci0JCWxpc3RfZGVsX2luaXQoJmxwLT5hbGxfbGlzdCk7Ci0KLQkJaWYgKGxwLT5sdmIgJiYgbHAtPmx2YiAhPSBqdW5rX2x2YikKLQkJCWtmcmVlKGxwLT5sdmIpOwotCQlrZnJlZShscCk7Ci0JCWNvdW50Kys7Ci0JfQotCXNwaW5fdW5sb2NrKCZscy0+YXN5bmNfbG9jayk7Ci0KLQlyZXR1cm4gY291bnQ7Ci19Ci0KZGlmZiAtLWdpdCBhL2ZzL2dmczIvbG9ja2luZy9kbG0vbG9ja19kbG0uaCBiL2ZzL2dmczIvbG9ja2luZy9kbG0vbG9ja19kbG0uaAppbmRleCBhMjQzY2Y2Li4zYzk4ZTdjIDEwMDY0NAotLS0gYS9mcy9nZnMyL2xvY2tpbmcvZGxtL2xvY2tfZGxtLmgKKysrIGIvZnMvZ2ZzMi9sb2NraW5nL2RsbS9sb2NrX2RsbS5oCkBAIC03MiwxOSArNzIsMTIgQEAKIAlpbnQJCQlyZWNvdmVyX2ppZF9kb25lOwogCWludAkJCXJlY292ZXJfamlkX3N0YXR1czsKIAlzcGlubG9ja190CQlhc3luY19sb2NrOwotCXN0cnVjdCBsaXN0X2hlYWQJY29tcGxldGU7Ci0Jc3RydWN0IGxpc3RfaGVhZAlibG9ja2luZzsKIAlzdHJ1Y3QgbGlzdF9oZWFkCWRlbGF5ZWQ7CiAJc3RydWN0IGxpc3RfaGVhZAlzdWJtaXQ7Ci0Jc3RydWN0IGxpc3RfaGVhZAlhbGxfbG9ja3M7CiAJdTMyCQlhbGxfbG9ja3NfY291bnQ7CiAJd2FpdF9xdWV1ZV9oZWFkX3QJd2FpdF9jb250cm9sOwotCXN0cnVjdCB0YXNrX3N0cnVjdAkqdGhyZWFkMTsKLQlzdHJ1Y3QgdGFza19zdHJ1Y3QJKnRocmVhZDI7CisJc3RydWN0IHRhc2tfc3RydWN0CSp0aHJlYWQ7CiAJd2FpdF9xdWV1ZV9oZWFkX3QJdGhyZWFkX3dhaXQ7Ci0JdW5zaWduZWQgbG9uZwkJZHJvcF90aW1lOwotCWludAkJCWRyb3BfbG9ja3NfY291bnQ7Ci0JaW50CQkJZHJvcF9sb2Nrc19wZXJpb2Q7CiB9OwogCiBlbnVtIHsKQEAgLTExNywxMiArMTEwLDcgQEAKIAl1MzIJCQlsa2Y7CQkvKiBkbG0gZmxhZ3MgRExNX0xLRl8gKi8KIAl1bnNpZ25lZCBsb25nCQlmbGFnczsJCS8qIGxvY2tfZGxtIGZsYWdzIExGTF8gKi8KIAotCWludAkJCWJhc3RfbW9kZTsJLyogcHJvdGVjdGVkIGJ5IGFzeW5jX2xvY2sgKi8KLQotCXN0cnVjdCBsaXN0X2hlYWQJY2xpc3Q7CQkvKiBjb21wbGV0ZSAqLwotCXN0cnVjdCBsaXN0X2hlYWQJYmxpc3Q7CQkvKiBibG9ja2luZyAqLwogCXN0cnVjdCBsaXN0X2hlYWQJZGVsYXlfbGlzdDsJLyogZGVsYXllZCAqLwotCXN0cnVjdCBsaXN0X2hlYWQJYWxsX2xpc3Q7CS8qIGFsbCBsb2NrcyBmb3IgdGhlIGZzICovCiAJc3RydWN0IGdkbG1fbG9jawkqaG9sZF9udWxsOwkvKiBOTCBsb2NrIGZvciBob2xkX2x2YiAqLwogfTsKIApAQCAtMTU5LDExICsxNDcsNyBAQAogCiAvKiBsb2NrLmMgKi8KIAotczE2IGdkbG1fbWFrZV9sbXN0YXRlKHMxNik7Ci12b2lkIGdkbG1fcXVldWVfZGVsYXllZChzdHJ1Y3QgZ2RsbV9sb2NrICopOwogdm9pZCBnZGxtX3N1Ym1pdF9kZWxheWVkKHN0cnVjdCBnZGxtX2xzICopOwotaW50IGdkbG1fcmVsZWFzZV9hbGxfbG9ja3Moc3RydWN0IGdkbG1fbHMgKik7Ci12b2lkIGdkbG1fZGVsZXRlX2xwKHN0cnVjdCBnZGxtX2xvY2sgKik7CiB1bnNpZ25lZCBpbnQgZ2RsbV9kb19sb2NrKHN0cnVjdCBnZGxtX2xvY2sgKik7CiAKIGludCBnZGxtX2dldF9sb2NrKHZvaWQgKiwgc3RydWN0IGxtX2xvY2tuYW1lICosIHZvaWQgKiopOwpkaWZmIC0tZ2l0IGEvZnMvZ2ZzMi9sb2NraW5nL2RsbS9tb3VudC5jIGIvZnMvZ2ZzMi9sb2NraW5nL2RsbS9tb3VudC5jCmluZGV4IDQ3MGJkZjYuLjA5ZDc4YzIgMTAwNjQ0Ci0tLSBhL2ZzL2dmczIvbG9ja2luZy9kbG0vbW91bnQuYworKysgYi9mcy9nZnMyL2xvY2tpbmcvZGxtL21vdW50LmMKQEAgLTIyLDIyICsyMiwxNCBAQAogCWlmICghbHMpCiAJCXJldHVybiBOVUxMOwogCi0JbHMtPmRyb3BfbG9ja3NfY291bnQgPSBHRExNX0RST1BfQ09VTlQ7Ci0JbHMtPmRyb3BfbG9ja3NfcGVyaW9kID0gR0RMTV9EUk9QX1BFUklPRDsKIAlscy0+ZnNjYiA9IGNiOwogCWxzLT5zZHAgPSBzZHA7CiAJbHMtPmZzZmxhZ3MgPSBmbGFnczsKIAlzcGluX2xvY2tfaW5pdCgmbHMtPmFzeW5jX2xvY2spOwotCUlOSVRfTElTVF9IRUFEKCZscy0+Y29tcGxldGUpOwotCUlOSVRfTElTVF9IRUFEKCZscy0+YmxvY2tpbmcpOwogCUlOSVRfTElTVF9IRUFEKCZscy0+ZGVsYXllZCk7CiAJSU5JVF9MSVNUX0hFQUQoJmxzLT5zdWJtaXQpOwotCUlOSVRfTElTVF9IRUFEKCZscy0+YWxsX2xvY2tzKTsKIAlpbml0X3dhaXRxdWV1ZV9oZWFkKCZscy0+dGhyZWFkX3dhaXQpOwogCWluaXRfd2FpdHF1ZXVlX2hlYWQoJmxzLT53YWl0X2NvbnRyb2wpOwotCWxzLT50aHJlYWQxID0gTlVMTDsKLQlscy0+dGhyZWFkMiA9IE5VTEw7Ci0JbHMtPmRyb3BfdGltZSA9IGppZmZpZXM7CiAJbHMtPmppZCA9IC0xOwogCiAJc3RybmNweShidWYsIHRhYmxlX25hbWUsIDI1Nik7CkBAIC0xODAsNyArMTcyLDYgQEAKIHN0YXRpYyB2b2lkIGdkbG1fdW5tb3VudCh2b2lkICpsb2Nrc3BhY2UpCiB7CiAJc3RydWN0IGdkbG1fbHMgKmxzID0gbG9ja3NwYWNlOwotCWludCBydjsKIAogCWxvZ19kZWJ1ZygidW5tb3VudCBmbGFncyAlbHgiLCBscy0+ZmxhZ3MpOwogCkBAIC0xOTQsOSArMTg1LDcgQEAKIAlnZGxtX2tvYmplY3RfcmVsZWFzZShscyk7CiAJZGxtX3JlbGVhc2VfbG9ja3NwYWNlKGxzLT5kbG1fbG9ja3NwYWNlLCAyKTsKIAlnZGxtX3JlbGVhc2VfdGhyZWFkcyhscyk7Ci0JcnYgPSBnZGxtX3JlbGVhc2VfYWxsX2xvY2tzKGxzKTsKLQlpZiAocnYpCi0JCWxvZ19pbmZvKCJnZGxtX3VubW91bnQ6ICVkIHN0cmF5IGxvY2tzIGZyZWVkIiwgcnYpOworCUJVR19PTihscy0+YWxsX2xvY2tzX2NvdW50KTsKIG91dDoKIAlrZnJlZShscyk7CiB9CkBAIC0yMzIsNyArMjIxLDYgQEAKIAogCWRsbV9yZWxlYXNlX2xvY2tzcGFjZShscy0+ZGxtX2xvY2tzcGFjZSwgMik7CiAJZ2RsbV9yZWxlYXNlX3RocmVhZHMobHMpOwotCWdkbG1fcmVsZWFzZV9hbGxfbG9ja3MobHMpOwogCWdkbG1fa29iamVjdF9yZWxlYXNlKGxzKTsKIH0KIApkaWZmIC0tZ2l0IGEvZnMvZ2ZzMi9sb2NraW5nL2RsbS9zeXNmcy5jIGIvZnMvZ2ZzMi9sb2NraW5nL2RsbS9zeXNmcy5jCmluZGV4IGE0ZmYyNzEuLjRlYzU3MWMgMTAwNjQ0Ci0tLSBhL2ZzL2dmczIvbG9ja2luZy9kbG0vc3lzZnMuYworKysgYi9mcy9nZnMyL2xvY2tpbmcvZGxtL3N5c2ZzLmMKQEAgLTExNCwxNyArMTE0LDYgQEAKIAlyZXR1cm4gc3ByaW50ZihidWYsICIlZFxuIiwgbHMtPnJlY292ZXJfamlkX3N0YXR1cyk7CiB9CiAKLXN0YXRpYyBzc2l6ZV90IGRyb3BfY291bnRfc2hvdyhzdHJ1Y3QgZ2RsbV9scyAqbHMsIGNoYXIgKmJ1ZikKLXsKLQlyZXR1cm4gc3ByaW50ZihidWYsICIlZFxuIiwgbHMtPmRyb3BfbG9ja3NfY291bnQpOwotfQotCi1zdGF0aWMgc3NpemVfdCBkcm9wX2NvdW50X3N0b3JlKHN0cnVjdCBnZGxtX2xzICpscywgY29uc3QgY2hhciAqYnVmLCBzaXplX3QgbGVuKQotewotCWxzLT5kcm9wX2xvY2tzX2NvdW50ID0gc2ltcGxlX3N0cnRvbChidWYsIE5VTEwsIDApOwotCXJldHVybiBsZW47Ci19Ci0KIHN0cnVjdCBnZGxtX2F0dHIgewogCXN0cnVjdCBhdHRyaWJ1dGUgYXR0cjsKIAlzc2l6ZV90ICgqc2hvdykoc3RydWN0IGdkbG1fbHMgKiwgY2hhciAqKTsKQEAgLTE0NCw3ICsxMzMsNiBAQAogR0RMTV9BVFRSKHJlY292ZXIsICAgICAgICAwNjQ0LCByZWNvdmVyX3Nob3csICAgICAgICByZWNvdmVyX3N0b3JlKTsKIEdETE1fQVRUUihyZWNvdmVyX2RvbmUsICAgMDQ0NCwgcmVjb3Zlcl9kb25lX3Nob3csICAgTlVMTCk7CiBHRExNX0FUVFIocmVjb3Zlcl9zdGF0dXMsIDA0NDQsIHJlY292ZXJfc3RhdHVzX3Nob3csIE5VTEwpOwotR0RMTV9BVFRSKGRyb3BfY291bnQsICAgICAwNjQ0LCBkcm9wX2NvdW50X3Nob3csICAgICBkcm9wX2NvdW50X3N0b3JlKTsKIAogc3RhdGljIHN0cnVjdCBhdHRyaWJ1dGUgKmdkbG1fYXR0cnNbXSA9IHsKIAkmZ2RsbV9hdHRyX3Byb3RvX25hbWUuYXR0ciwKQEAgLTE1Nyw3ICsxNDUsNiBAQAogCSZnZGxtX2F0dHJfcmVjb3Zlci5hdHRyLAogCSZnZGxtX2F0dHJfcmVjb3Zlcl9kb25lLmF0dHIsCiAJJmdkbG1fYXR0cl9yZWNvdmVyX3N0YXR1cy5hdHRyLAotCSZnZGxtX2F0dHJfZHJvcF9jb3VudC5hdHRyLAogCU5VTEwsCiB9OwogCmRpZmYgLS1naXQgYS9mcy9nZnMyL2xvY2tpbmcvZGxtL3RocmVhZC5jIGIvZnMvZ2ZzMi9sb2NraW5nL2RsbS90aHJlYWQuYwppbmRleCBlNTNkYjZmLi4zODgyM2VmIDEwMDY0NAotLS0gYS9mcy9nZnMyL2xvY2tpbmcvZGxtL3RocmVhZC5jCisrKyBiL2ZzL2dmczIvbG9ja2luZy9kbG0vdGhyZWFkLmMKQEAgLTksMzY3ICs5LDYwIEBACiAKICNpbmNsdWRlICJsb2NrX2RsbS5oIgogCi0vKiBBIGxvY2sgcGxhY2VkIG9uIHRoaXMgcXVldWUgaXMgcmUtc3VibWl0dGVkIHRvIERMTSBhcyBzb29uIGFzIHRoZSBsb2NrX2RsbQotICAgdGhyZWFkIGdldHMgdG8gaXQuICovCi0KLXN0YXRpYyB2b2lkIHF1ZXVlX3N1Ym1pdChzdHJ1Y3QgZ2RsbV9sb2NrICpscCkKLXsKLQlzdHJ1Y3QgZ2RsbV9scyAqbHMgPSBscC0+bHM7Ci0KLQlzcGluX2xvY2soJmxzLT5hc3luY19sb2NrKTsKLQlsaXN0X2FkZF90YWlsKCZscC0+ZGVsYXlfbGlzdCwgJmxzLT5zdWJtaXQpOwotCXNwaW5fdW5sb2NrKCZscy0+YXN5bmNfbG9jayk7Ci0Jd2FrZV91cCgmbHMtPnRocmVhZF93YWl0KTsKLX0KLQotc3RhdGljIHZvaWQgcHJvY2Vzc19ibG9ja2luZyhzdHJ1Y3QgZ2RsbV9sb2NrICpscCwgaW50IGJhc3RfbW9kZSkKLXsKLQlzdHJ1Y3QgZ2RsbV9scyAqbHMgPSBscC0+bHM7Ci0JdW5zaWduZWQgaW50IGNiID0gMDsKLQotCXN3aXRjaCAoZ2RsbV9tYWtlX2xtc3RhdGUoYmFzdF9tb2RlKSkgewotCWNhc2UgTE1fU1RfRVhDTFVTSVZFOgotCQljYiA9IExNX0NCX05FRURfRTsKLQkJYnJlYWs7Ci0JY2FzZSBMTV9TVF9ERUZFUlJFRDoKLQkJY2IgPSBMTV9DQl9ORUVEX0Q7Ci0JCWJyZWFrOwotCWNhc2UgTE1fU1RfU0hBUkVEOgotCQljYiA9IExNX0NCX05FRURfUzsKLQkJYnJlYWs7Ci0JZGVmYXVsdDoKLQkJZ2RsbV9hc3NlcnQoMCwgInVua25vd24gYmFzdCBtb2RlICV1IiwgbHAtPmJhc3RfbW9kZSk7Ci0JfQotCi0JbHMtPmZzY2IobHMtPnNkcCwgY2IsICZscC0+bG9ja25hbWUpOwotfQotCi1zdGF0aWMgdm9pZCB3YWtlX3VwX2FzdChzdHJ1Y3QgZ2RsbV9sb2NrICpscCkKLXsKLQljbGVhcl9iaXQoTEZMX0FTVF9XQUlULCAmbHAtPmZsYWdzKTsKLQlzbXBfbWJfX2FmdGVyX2NsZWFyX2JpdCgpOwotCXdha2VfdXBfYml0KCZscC0+ZmxhZ3MsIExGTF9BU1RfV0FJVCk7Ci19Ci0KLXN0YXRpYyB2b2lkIHByb2Nlc3NfY29tcGxldGUoc3RydWN0IGdkbG1fbG9jayAqbHApCi17Ci0Jc3RydWN0IGdkbG1fbHMgKmxzID0gbHAtPmxzOwotCXN0cnVjdCBsbV9hc3luY19jYiBhY2I7Ci0JczE2IHByZXZfbW9kZSA9IGxwLT5jdXI7Ci0KLQltZW1zZXQoJmFjYiwgMCwgc2l6ZW9mKGFjYikpOwotCi0JaWYgKGxwLT5sa3NiLnNiX3N0YXR1cyA9PSAtRExNX0VDQU5DRUwpIHsKLQkJbG9nX2luZm8oImNvbXBsZXRlIGRsbSBjYW5jZWwgJXgsJWxseCBmbGFncyAlbHgiLAotCQkgCSBscC0+bG9ja25hbWUubG5fdHlwZSwKLQkJCSAodW5zaWduZWQgbG9uZyBsb25nKWxwLT5sb2NrbmFtZS5sbl9udW1iZXIsCi0JCQkgbHAtPmZsYWdzKTsKLQotCQlscC0+cmVxID0gbHAtPmN1cjsKLQkJYWNiLmxjX3JldCB8PSBMTV9PVVRfQ0FOQ0VMRUQ7Ci0JCWlmIChscC0+Y3VyID09IERMTV9MT0NLX0lWKQotCQkJbHAtPmxrc2Iuc2JfbGtpZCA9IDA7Ci0JCWdvdG8gb3V0OwotCX0KLQotCWlmICh0ZXN0X2FuZF9jbGVhcl9iaXQoTEZMX0RMTV9VTkxPQ0ssICZscC0+ZmxhZ3MpKSB7Ci0JCWlmIChscC0+bGtzYi5zYl9zdGF0dXMgIT0gLURMTV9FVU5MT0NLKSB7Ci0JCQlsb2dfaW5mbygidW5sb2NrIHNiX3N0YXR1cyAlZCAleCwlbGx4IGZsYWdzICVseCIsCi0JCQkJIGxwLT5sa3NiLnNiX3N0YXR1cywgbHAtPmxvY2tuYW1lLmxuX3R5cGUsCi0JCQkJICh1bnNpZ25lZCBsb25nIGxvbmcpbHAtPmxvY2tuYW1lLmxuX251bWJlciwKLQkJCQkgbHAtPmZsYWdzKTsKLQkJCXJldHVybjsKLQkJfQotCi0JCWxwLT5jdXIgPSBETE1fTE9DS19JVjsKLQkJbHAtPnJlcSA9IERMTV9MT0NLX0lWOwotCQlscC0+bGtzYi5zYl9sa2lkID0gMDsKLQotCQlpZiAodGVzdF9hbmRfY2xlYXJfYml0KExGTF9VTkxPQ0tfREVMRVRFLCAmbHAtPmZsYWdzKSkgewotCQkJZ2RsbV9kZWxldGVfbHAobHApOwotCQkJcmV0dXJuOwotCQl9Ci0JCWdvdG8gb3V0OwotCX0KLQotCWlmIChscC0+bGtzYi5zYl9mbGFncyAmIERMTV9TQkZfVkFMTk9UVkFMSUQpCi0JCW1lbXNldChscC0+bGtzYi5zYl9sdmJwdHIsIDAsIEdETE1fTFZCX1NJWkUpOwotCi0JaWYgKGxwLT5sa3NiLnNiX2ZsYWdzICYgRExNX1NCRl9BTFRNT0RFKSB7Ci0JCWlmIChscC0+cmVxID09IERMTV9MT0NLX1BSKQotCQkJbHAtPnJlcSA9IERMTV9MT0NLX0NXOwotCQllbHNlIGlmIChscC0+cmVxID09IERMTV9MT0NLX0NXKQotCQkJbHAtPnJlcSA9IERMTV9MT0NLX1BSOwotCX0KLQotCS8qCi0JICogQSBjYW5jZWxlZCBsb2NrIHJlcXVlc3QuICBUaGUgbG9jayB3YXMganVzdCB0YWtlbiBvZmYgdGhlIGRlbGF5ZWQKLQkgKiBsaXN0IGFuZCB3YXMgbmV2ZXIgZXZlbiBzdWJtaXR0ZWQgdG8gZGxtLgotCSAqLwotCi0JaWYgKHRlc3RfYW5kX2NsZWFyX2JpdChMRkxfQ0FOQ0VMLCAmbHAtPmZsYWdzKSkgewotCQlsb2dfaW5mbygiY29tcGxldGUgaW50ZXJuYWwgY2FuY2VsICV4LCVsbHgiLAotCQkgCSBscC0+bG9ja25hbWUubG5fdHlwZSwKLQkJCSAodW5zaWduZWQgbG9uZyBsb25nKWxwLT5sb2NrbmFtZS5sbl9udW1iZXIpOwotCQlscC0+cmVxID0gbHAtPmN1cjsKLQkJYWNiLmxjX3JldCB8PSBMTV9PVVRfQ0FOQ0VMRUQ7Ci0JCWdvdG8gb3V0OwotCX0KLQotCS8qCi0JICogQW4gZXJyb3Igb2NjdXJlZC4KLQkgKi8KLQotCWlmIChscC0+bGtzYi5zYl9zdGF0dXMpIHsKLQkJLyogYSAibm9ybWFsIiBlcnJvciAqLwotCQlpZiAoKGxwLT5sa3NiLnNiX3N0YXR1cyA9PSAtRUFHQUlOKSAmJgotCQkgICAgKGxwLT5sa2YgJiBETE1fTEtGX05PUVVFVUUpKSB7Ci0JCQlscC0+cmVxID0gbHAtPmN1cjsKLQkJCWlmIChscC0+Y3VyID09IERMTV9MT0NLX0lWKQotCQkJCWxwLT5sa3NiLnNiX2xraWQgPSAwOwotCQkJZ290byBvdXQ7Ci0JCX0KLQotCQkvKiB0aGlzIGNvdWxkIG9ubHkgaGFwcGVuIHdpdGggY2FuY2VscyBJIHRoaW5rICovCi0JCWxvZ19pbmZvKCJhc3Qgc2Jfc3RhdHVzICVkICV4LCVsbHggZmxhZ3MgJWx4IiwKLQkJCSBscC0+bGtzYi5zYl9zdGF0dXMsIGxwLT5sb2NrbmFtZS5sbl90eXBlLAotCQkJICh1bnNpZ25lZCBsb25nIGxvbmcpbHAtPmxvY2tuYW1lLmxuX251bWJlciwKLQkJCSBscC0+ZmxhZ3MpOwotCQlpZiAobHAtPmxrc2Iuc2Jfc3RhdHVzID09IC1FREVBRExPQ0sgJiYKLQkJICAgIGxwLT5scy0+ZnNmbGFncyAmIExNX01GTEFHX0NPTlZfTk9EUk9QKSB7Ci0JCQlscC0+cmVxID0gbHAtPmN1cjsKLQkJCWFjYi5sY19yZXQgfD0gTE1fT1VUX0NPTlZfREVBRExLOwotCQkJaWYgKGxwLT5jdXIgPT0gRExNX0xPQ0tfSVYpCi0JCQkJbHAtPmxrc2Iuc2JfbGtpZCA9IDA7Ci0JCQlnb3RvIG91dDsKLQkJfSBlbHNlCi0JCQlyZXR1cm47Ci0JfQotCi0JLyoKLQkgKiBUaGlzIGlzIGFuIEFTVCBmb3IgYW4gRVgtPkVYIGNvbnZlcnNpb24gZm9yIHN5bmNfbHZiIGZyb20gR0ZTLgotCSAqLwotCi0JaWYgKHRlc3RfYW5kX2NsZWFyX2JpdChMRkxfU1lOQ19MVkIsICZscC0+ZmxhZ3MpKSB7Ci0JCXdha2VfdXBfYXN0KGxwKTsKLQkJcmV0dXJuOwotCX0KLQotCS8qCi0JICogQSBsb2NrIGhhcyBiZWVuIGRlbW90ZWQgdG8gTkwgYmVjYXVzZSBpdCBpbml0aWFsbHkgY29tcGxldGVkIGR1cmluZwotCSAqIEJMT0NLX0xPQ0tTLiAgTm93IGl0IG11c3QgYmUgcmVxdWVzdGVkIGluIHRoZSBvcmlnaW5hbGx5IHJlcXVlc3RlZAotCSAqIG1vZGUuCi0JICovCi0KLQlpZiAodGVzdF9hbmRfY2xlYXJfYml0KExGTF9SRVJFUVVFU1QsICZscC0+ZmxhZ3MpKSB7Ci0JCWdkbG1fYXNzZXJ0KGxwLT5yZXEgPT0gRExNX0xPQ0tfTkwsICIleCwlbGx4IiwKLQkJCSAgICBscC0+bG9ja25hbWUubG5fdHlwZSwKLQkJCSAgICAodW5zaWduZWQgbG9uZyBsb25nKWxwLT5sb2NrbmFtZS5sbl9udW1iZXIpOwotCQlnZGxtX2Fzc2VydChscC0+cHJldl9yZXEgPiBETE1fTE9DS19OTCwgIiV4LCVsbHgiLAotCQkJICAgIGxwLT5sb2NrbmFtZS5sbl90eXBlLAotCQkJICAgICh1bnNpZ25lZCBsb25nIGxvbmcpbHAtPmxvY2tuYW1lLmxuX251bWJlcik7Ci0KLQkJbHAtPmN1ciA9IERMTV9MT0NLX05MOwotCQlscC0+cmVxID0gbHAtPnByZXZfcmVxOwotCQlscC0+cHJldl9yZXEgPSBETE1fTE9DS19JVjsKLQkJbHAtPmxrZiAmPSB+RExNX0xLRl9DT05WREVBRExLOwotCi0JCXNldF9iaXQoTEZMX05PQ0FDSEUsICZscC0+ZmxhZ3MpOwotCi0JCWlmICh0ZXN0X2JpdChERkxfQkxPQ0tfTE9DS1MsICZscy0+ZmxhZ3MpICYmCi0JCSAgICAhdGVzdF9iaXQoTEZMX05PQkxPQ0ssICZscC0+ZmxhZ3MpKQotCQkJZ2RsbV9xdWV1ZV9kZWxheWVkKGxwKTsKLQkJZWxzZQotCQkJcXVldWVfc3VibWl0KGxwKTsKLQkJcmV0dXJuOwotCX0KLQotCS8qCi0JICogQSByZXF1ZXN0IGlzIGdyYW50ZWQgZHVyaW5nIGRsbSByZWNvdmVyeS4gIEl0IG1heSBiZSBncmFudGVkCi0JICogYmVjYXVzZSB0aGUgbG9ja3Mgb2YgYSBmYWlsZWQgbm9kZSB3ZXJlIGNsZWFyZWQuICBJbiB0aGF0IGNhc2UsCi0JICogdGhlcmUgbWF5IGJlIGluY29uc2lzdGVudCBkYXRhIGJlbmVhdGggdGhpcyBsb2NrIGFuZCB3ZSBtdXN0IHdhaXQKLQkgKiBmb3IgcmVjb3ZlcnkgdG8gY29tcGxldGUgdG8gdXNlIGl0LiAgV2hlbiBnZnMgcmVjb3ZlcnkgaXMgZG9uZSB0aGlzCi0JICogZ3JhbnRlZCBsb2NrIHdpbGwgYmUgY29udmVydGVkIHRvIE5MIGFuZCB0aGVuIHJlYWNxdWlyZWQgaW4gdGhpcwotCSAqIGdyYW50ZWQgc3RhdGUuCi0JICovCi0KLQlpZiAodGVzdF9iaXQoREZMX0JMT0NLX0xPQ0tTLCAmbHMtPmZsYWdzKSAmJgotCSAgICAhdGVzdF9iaXQoTEZMX05PQkxPQ0ssICZscC0+ZmxhZ3MpICYmCi0JICAgIGxwLT5yZXEgIT0gRExNX0xPQ0tfTkwpIHsKLQotCQlscC0+Y3VyID0gbHAtPnJlcTsKLQkJbHAtPnByZXZfcmVxID0gbHAtPnJlcTsKLQkJbHAtPnJlcSA9IERMTV9MT0NLX05MOwotCQlscC0+bGtmIHw9IERMTV9MS0ZfQ09OVkVSVDsKLQkJbHAtPmxrZiAmPSB+RExNX0xLRl9DT05WREVBRExLOwotCi0JCWxvZ19kZWJ1ZygicmVyZXEgJXgsJWxseCBpZCAleCAlZCwlZCIsCi0JCQkgIGxwLT5sb2NrbmFtZS5sbl90eXBlLAotCQkJICAodW5zaWduZWQgbG9uZyBsb25nKWxwLT5sb2NrbmFtZS5sbl9udW1iZXIsCi0JCQkgIGxwLT5sa3NiLnNiX2xraWQsIGxwLT5jdXIsIGxwLT5yZXEpOwotCi0JCXNldF9iaXQoTEZMX1JFUkVRVUVTVCwgJmxwLT5mbGFncyk7Ci0JCXF1ZXVlX3N1Ym1pdChscCk7Ci0JCXJldHVybjsKLQl9Ci0KLQkvKgotCSAqIERMTSBkZW1vdGVkIHRoZSBsb2NrIHRvIE5MIGJlZm9yZSBpdCB3YXMgZ3JhbnRlZCBzbyBHRlMgbXVzdCBiZQotCSAqIHRvbGQgaXQgY2Fubm90IGNhY2hlIGRhdGEgZm9yIHRoaXMgbG9jay4KLQkgKi8KLQotCWlmIChscC0+bGtzYi5zYl9mbGFncyAmIERMTV9TQkZfREVNT1RFRCkKLQkJc2V0X2JpdChMRkxfTk9DQUNIRSwgJmxwLT5mbGFncyk7Ci0KLW91dDoKLQkvKgotCSAqIFRoaXMgaXMgYW4gaW50ZXJuYWwgbG9ja19kbG0gbG9jawotCSAqLwotCi0JaWYgKHRlc3RfYml0KExGTF9JTkxPQ0ssICZscC0+ZmxhZ3MpKSB7Ci0JCWNsZWFyX2JpdChMRkxfTk9CTE9DSywgJmxwLT5mbGFncyk7Ci0JCWxwLT5jdXIgPSBscC0+cmVxOwotCQl3YWtlX3VwX2FzdChscCk7Ci0JCXJldHVybjsKLQl9Ci0KLQkvKgotCSAqIE5vcm1hbCBjb21wbGV0aW9uIG9mIGEgbG9jayByZXF1ZXN0LiAgVGVsbCBHRlMgaXQgbm93IGhhcyB0aGUgbG9jay4KLQkgKi8KLQotCWNsZWFyX2JpdChMRkxfTk9CTE9DSywgJmxwLT5mbGFncyk7Ci0JbHAtPmN1ciA9IGxwLT5yZXE7Ci0KLQlhY2IubGNfbmFtZSA9IGxwLT5sb2NrbmFtZTsKLQlhY2IubGNfcmV0IHw9IGdkbG1fbWFrZV9sbXN0YXRlKGxwLT5jdXIpOwotCi0JaWYgKCF0ZXN0X2FuZF9jbGVhcl9iaXQoTEZMX05PQ0FDSEUsICZscC0+ZmxhZ3MpICYmCi0JICAgIChscC0+Y3VyID4gRExNX0xPQ0tfTkwpICYmIChwcmV2X21vZGUgPiBETE1fTE9DS19OTCkpCi0JCWFjYi5sY19yZXQgfD0gTE1fT1VUX0NBQ0hFQUJMRTsKLQotCWxzLT5mc2NiKGxzLT5zZHAsIExNX0NCX0FTWU5DLCAmYWNiKTsKLX0KLQotc3RhdGljIGlubGluZSBpbnQgbm9fd29yayhzdHJ1Y3QgZ2RsbV9scyAqbHMsIGludCBibG9ja2luZykKK3N0YXRpYyBpbmxpbmUgaW50IG5vX3dvcmsoc3RydWN0IGdkbG1fbHMgKmxzKQogewogCWludCByZXQ7CiAKIAlzcGluX2xvY2soJmxzLT5hc3luY19sb2NrKTsKLQlyZXQgPSBsaXN0X2VtcHR5KCZscy0+Y29tcGxldGUpICYmIGxpc3RfZW1wdHkoJmxzLT5zdWJtaXQpOwotCWlmIChyZXQgJiYgYmxvY2tpbmcpCi0JCXJldCA9IGxpc3RfZW1wdHkoJmxzLT5ibG9ja2luZyk7CisJcmV0ID0gbGlzdF9lbXB0eSgmbHMtPnN1Ym1pdCk7CiAJc3Bpbl91bmxvY2soJmxzLT5hc3luY19sb2NrKTsKIAogCXJldHVybiByZXQ7CiB9CiAKLXN0YXRpYyBpbmxpbmUgaW50IGNoZWNrX2Ryb3Aoc3RydWN0IGdkbG1fbHMgKmxzKQotewotCWlmICghbHMtPmRyb3BfbG9ja3NfY291bnQpCi0JCXJldHVybiAwOwotCi0JaWYgKHRpbWVfYWZ0ZXIoamlmZmllcywgbHMtPmRyb3BfdGltZSArIGxzLT5kcm9wX2xvY2tzX3BlcmlvZCAqIEhaKSkgewotCQlscy0+ZHJvcF90aW1lID0gamlmZmllczsKLQkJaWYgKGxzLT5hbGxfbG9ja3NfY291bnQgPj0gbHMtPmRyb3BfbG9ja3NfY291bnQpCi0JCQlyZXR1cm4gMTsKLQl9Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZ2RsbV90aHJlYWQodm9pZCAqZGF0YSwgaW50IGJsaXN0KQorc3RhdGljIGludCBnZGxtX3RocmVhZCh2b2lkICpkYXRhKQogewogCXN0cnVjdCBnZGxtX2xzICpscyA9IChzdHJ1Y3QgZ2RsbV9scyAqKSBkYXRhOwogCXN0cnVjdCBnZGxtX2xvY2sgKmxwID0gTlVMTDsKLQl1aW50OF90IGNvbXBsZXRlLCBibG9ja2luZywgc3VibWl0LCBkcm9wOwotCi0JLyogT25seSB0aHJlYWQxIGlzIGFsbG93ZWQgdG8gZG8gYmxvY2tpbmcgY2FsbGJhY2tzIHNpbmNlIGdmcwotCSAgIG1heSB3YWl0IGZvciBhIGNvbXBsZXRpb24gY2FsbGJhY2sgd2l0aGluIGEgYmxvY2tpbmcgY2IuICovCiAKIAl3aGlsZSAoIWt0aHJlYWRfc2hvdWxkX3N0b3AoKSkgewogCQl3YWl0X2V2ZW50X2ludGVycnVwdGlibGUobHMtPnRocmVhZF93YWl0LAotCQkJCSFub193b3JrKGxzLCBibGlzdCkgfHwga3RocmVhZF9zaG91bGRfc3RvcCgpKTsKLQotCQljb21wbGV0ZSA9IGJsb2NraW5nID0gc3VibWl0ID0gZHJvcCA9IDA7CisJCQkJIW5vX3dvcmsobHMpIHx8IGt0aHJlYWRfc2hvdWxkX3N0b3AoKSk7CiAKIAkJc3Bpbl9sb2NrKCZscy0+YXN5bmNfbG9jayk7CiAKLQkJaWYgKGJsaXN0ICYmICFsaXN0X2VtcHR5KCZscy0+YmxvY2tpbmcpKSB7Ci0JCQlscCA9IGxpc3RfZW50cnkobHMtPmJsb2NraW5nLm5leHQsIHN0cnVjdCBnZGxtX2xvY2ssCi0JCQkJCWJsaXN0KTsKLQkJCWxpc3RfZGVsX2luaXQoJmxwLT5ibGlzdCk7Ci0JCQlibG9ja2luZyA9IGxwLT5iYXN0X21vZGU7Ci0JCQlscC0+YmFzdF9tb2RlID0gMDsKLQkJfSBlbHNlIGlmICghbGlzdF9lbXB0eSgmbHMtPmNvbXBsZXRlKSkgewotCQkJbHAgPSBsaXN0X2VudHJ5KGxzLT5jb21wbGV0ZS5uZXh0LCBzdHJ1Y3QgZ2RsbV9sb2NrLAotCQkJCQljbGlzdCk7Ci0JCQlsaXN0X2RlbF9pbml0KCZscC0+Y2xpc3QpOwotCQkJY29tcGxldGUgPSAxOwotCQl9IGVsc2UgaWYgKCFsaXN0X2VtcHR5KCZscy0+c3VibWl0KSkgeworCQlpZiAoIWxpc3RfZW1wdHkoJmxzLT5zdWJtaXQpKSB7CiAJCQlscCA9IGxpc3RfZW50cnkobHMtPnN1Ym1pdC5uZXh0LCBzdHJ1Y3QgZ2RsbV9sb2NrLAogCQkJCQlkZWxheV9saXN0KTsKIAkJCWxpc3RfZGVsX2luaXQoJmxwLT5kZWxheV9saXN0KTsKLQkJCXN1Ym1pdCA9IDE7Ci0JCX0KLQotCQlkcm9wID0gY2hlY2tfZHJvcChscyk7Ci0JCXNwaW5fdW5sb2NrKCZscy0+YXN5bmNfbG9jayk7Ci0KLQkJaWYgKGNvbXBsZXRlKQotCQkJcHJvY2Vzc19jb21wbGV0ZShscCk7Ci0KLQkJZWxzZSBpZiAoYmxvY2tpbmcpCi0JCQlwcm9jZXNzX2Jsb2NraW5nKGxwLCBibG9ja2luZyk7Ci0KLQkJZWxzZSBpZiAoc3VibWl0KQorCQkJc3Bpbl91bmxvY2soJmxzLT5hc3luY19sb2NrKTsKIAkJCWdkbG1fZG9fbG9jayhscCk7Ci0KLQkJaWYgKGRyb3ApCi0JCQlscy0+ZnNjYihscy0+c2RwLCBMTV9DQl9EUk9QTE9DS1MsIE5VTEwpOwotCi0JCXNjaGVkdWxlKCk7CisJCQlzcGluX2xvY2soJmxzLT5hc3luY19sb2NrKTsKKwkJfQorCQlzcGluX3VubG9jaygmbHMtPmFzeW5jX2xvY2spOwogCX0KIAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGdkbG1fdGhyZWFkMSh2b2lkICpkYXRhKQotewotCXJldHVybiBnZGxtX3RocmVhZChkYXRhLCAxKTsKLX0KLQotc3RhdGljIGludCBnZGxtX3RocmVhZDIodm9pZCAqZGF0YSkKLXsKLQlyZXR1cm4gZ2RsbV90aHJlYWQoZGF0YSwgMCk7Ci19Ci0KIGludCBnZGxtX2luaXRfdGhyZWFkcyhzdHJ1Y3QgZ2RsbV9scyAqbHMpCiB7CiAJc3RydWN0IHRhc2tfc3RydWN0ICpwOwogCWludCBlcnJvcjsKIAotCXAgPSBrdGhyZWFkX3J1bihnZGxtX3RocmVhZDEsIGxzLCAibG9ja19kbG0xIik7CisJcCA9IGt0aHJlYWRfcnVuKGdkbG1fdGhyZWFkLCBscywgImxvY2tfZGxtIik7CiAJZXJyb3IgPSBJU19FUlIocCk7CiAJaWYgKGVycm9yKSB7Ci0JCWxvZ19lcnJvcigiY2FuJ3Qgc3RhcnQgbG9ja19kbG0xIHRocmVhZCAlZCIsIGVycm9yKTsKKwkJbG9nX2Vycm9yKCJjYW4ndCBzdGFydCBsb2NrX2RsbSB0aHJlYWQgJWQiLCBlcnJvcik7CiAJCXJldHVybiBlcnJvcjsKIAl9Ci0JbHMtPnRocmVhZDEgPSBwOwotCi0JcCA9IGt0aHJlYWRfcnVuKGdkbG1fdGhyZWFkMiwgbHMsICJsb2NrX2RsbTIiKTsKLQllcnJvciA9IElTX0VSUihwKTsKLQlpZiAoZXJyb3IpIHsKLQkJbG9nX2Vycm9yKCJjYW4ndCBzdGFydCBsb2NrX2RsbTIgdGhyZWFkICVkIiwgZXJyb3IpOwotCQlrdGhyZWFkX3N0b3AobHMtPnRocmVhZDEpOwotCQlyZXR1cm4gZXJyb3I7Ci0JfQotCWxzLT50aHJlYWQyID0gcDsKKwlscy0+dGhyZWFkID0gcDsKIAogCXJldHVybiAwOwogfQogCiB2b2lkIGdkbG1fcmVsZWFzZV90aHJlYWRzKHN0cnVjdCBnZGxtX2xzICpscykKIHsKLQlrdGhyZWFkX3N0b3AobHMtPnRocmVhZDEpOwotCWt0aHJlYWRfc3RvcChscy0+dGhyZWFkMik7CisJa3RocmVhZF9zdG9wKGxzLT50aHJlYWQpOwogfQogCmRpZmYgLS1naXQgYS9mcy9nZnMyL2xvY2tpbmcvbm9sb2NrL01ha2VmaWxlIGIvZnMvZ2ZzMi9sb2NraW5nL25vbG9jay9NYWtlZmlsZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzVlOTczMC4uMDAwMDAwMAotLS0gYS9mcy9nZnMyL2xvY2tpbmcvbm9sb2NrL01ha2VmaWxlCisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi1vYmotJChDT05GSUdfR0ZTMl9GU19MT0NLSU5HX05PTE9DSykgKz0gbG9ja19ub2xvY2subwotbG9ja19ub2xvY2steSA6PSBtYWluLm8KLQpkaWZmIC0tZ2l0IGEvZnMvZ2ZzMi9sb2NraW5nL25vbG9jay9tYWluLmMgYi9mcy9nZnMyL2xvY2tpbmcvbm9sb2NrL21haW4uYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjg0YTVlYy4uMDAwMDAwMAotLS0gYS9mcy9nZnMyL2xvY2tpbmcvbm9sb2NrL21haW4uYworKysgL2Rldi9udWxsCkBAIC0xLDIzOCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSBTaXN0aW5hIFNvZnR3YXJlLCBJbmMuICAxOTk3LTIwMDMgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAwNC0yMDA1IFJlZCBIYXQsIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogVGhpcyBjb3B5cmlnaHRlZCBtYXRlcmlhbCBpcyBtYWRlIGF2YWlsYWJsZSB0byBhbnlvbmUgd2lzaGluZyB0byB1c2UsCi0gKiBtb2RpZnksIGNvcHksIG9yIHJlZGlzdHJpYnV0ZSBpdCBzdWJqZWN0IHRvIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucwotICogb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMi4KLSAqLwotCi0jaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+Ci0jaW5jbHVkZSA8bGludXgvc2xhYi5oPgotI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KLSNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgotI2luY2x1ZGUgPGxpbnV4L2ZzLmg+Ci0jaW5jbHVkZSA8bGludXgvbG1faW50ZXJmYWNlLmg+Ci0KLXN0cnVjdCBub2xvY2tfbG9ja3NwYWNlIHsKLQl1bnNpZ25lZCBpbnQgbmxfbHZiX3NpemU7Ci19OwotCi1zdGF0aWMgY29uc3Qgc3RydWN0IGxtX2xvY2tvcHMgbm9sb2NrX29wczsKLQotc3RhdGljIGludCBub2xvY2tfbW91bnQoY2hhciAqdGFibGVfbmFtZSwgY2hhciAqaG9zdF9kYXRhLAotCQkJbG1fY2FsbGJhY2tfdCBjYiwgdm9pZCAqY2JfZGF0YSwKLQkJCXVuc2lnbmVkIGludCBtaW5fbHZiX3NpemUsIGludCBmbGFncywKLQkJCXN0cnVjdCBsbV9sb2Nrc3RydWN0ICpsb2Nrc3RydWN0LAotCQkJc3RydWN0IGtvYmplY3QgKmZza29iaikKLXsKLQljaGFyICpjOwotCXVuc2lnbmVkIGludCBqaWQ7Ci0Jc3RydWN0IG5vbG9ja19sb2Nrc3BhY2UgKm5sOwotCi0JYyA9IHN0cnN0cihob3N0X2RhdGEsICJqaWQ9Iik7Ci0JaWYgKCFjKQotCQlqaWQgPSAwOwotCWVsc2UgewotCQljICs9IDQ7Ci0JCXNzY2FuZihjLCAiJXUiLCAmamlkKTsKLQl9Ci0KLQlubCA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBub2xvY2tfbG9ja3NwYWNlKSwgR0ZQX0tFUk5FTCk7Ci0JaWYgKCFubCkKLQkJcmV0dXJuIC1FTk9NRU07Ci0KLQlubC0+bmxfbHZiX3NpemUgPSBtaW5fbHZiX3NpemU7Ci0KLQlsb2Nrc3RydWN0LT5sc19qaWQgPSBqaWQ7Ci0JbG9ja3N0cnVjdC0+bHNfZmlyc3QgPSAxOwotCWxvY2tzdHJ1Y3QtPmxzX2x2Yl9zaXplID0gbWluX2x2Yl9zaXplOwotCWxvY2tzdHJ1Y3QtPmxzX2xvY2tzcGFjZSA9IG5sOwotCWxvY2tzdHJ1Y3QtPmxzX29wcyA9ICZub2xvY2tfb3BzOwotCWxvY2tzdHJ1Y3QtPmxzX2ZsYWdzID0gTE1fTFNGTEFHX0xPQ0FMOwotCi0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkIG5vbG9ja19vdGhlcnNfbWF5X21vdW50KHZvaWQgKmxvY2tzcGFjZSkKLXsKLX0KLQotc3RhdGljIHZvaWQgbm9sb2NrX3VubW91bnQodm9pZCAqbG9ja3NwYWNlKQotewotCXN0cnVjdCBub2xvY2tfbG9ja3NwYWNlICpubCA9IGxvY2tzcGFjZTsKLQlrZnJlZShubCk7Ci19Ci0KLXN0YXRpYyB2b2lkIG5vbG9ja193aXRoZHJhdyh2b2lkICpsb2Nrc3BhY2UpCi17Ci19Ci0KLS8qKgotICogbm9sb2NrX2dldF9sb2NrIC0gZ2V0IGEgbG1fbG9ja190IGdpdmVuIGEgZGVzY3JpcHRvbiBvZiB0aGUgbG9jawotICogQGxvY2tzcGFjZTogdGhlIGxvY2tzcGFjZSB0aGUgbG9jayBsaXZlcyBpbgotICogQG5hbWU6IHRoZSBuYW1lIG9mIHRoZSBsb2NrCi0gKiBAbG9ja3A6IHJldHVybiB0aGUgbG1fbG9ja190IGhlcmUKLSAqCi0gKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIC1FWFhYIG9uIGZhaWx1cmUKLSAqLwotCi1zdGF0aWMgaW50IG5vbG9ja19nZXRfbG9jayh2b2lkICpsb2Nrc3BhY2UsIHN0cnVjdCBsbV9sb2NrbmFtZSAqbmFtZSwKLQkJCSAgIHZvaWQgKipsb2NrcCkKLXsKLQkqbG9ja3AgPSBsb2Nrc3BhY2U7Ci0JcmV0dXJuIDA7Ci19Ci0KLS8qKgotICogbm9sb2NrX3B1dF9sb2NrIC0gZ2V0IHJpZCBvZiBhIGxvY2sgc3RydWN0dXJlCi0gKiBAbG9jazogdGhlIGxvY2sgdG8gdGhyb3cgYXdheQotICoKLSAqLwotCi1zdGF0aWMgdm9pZCBub2xvY2tfcHV0X2xvY2sodm9pZCAqbG9jaykKLXsKLX0KLQotLyoqCi0gKiBub2xvY2tfbG9jayAtIGFjcXVpcmUgYSBsb2NrCi0gKiBAbG9jazogdGhlIGxvY2sgdG8gbWFuaXB1bGF0ZQotICogQGN1cl9zdGF0ZTogdGhlIGN1cnJlbnQgc3RhdGUKLSAqIEByZXFfc3RhdGU6IHRoZSByZXF1ZXN0ZWQgc3RhdGUKLSAqIEBmbGFnczogbW9kaWZpZXIgZmxhZ3MKLSAqCi0gKiBSZXR1cm5zOiBBIGJpdG1hcCBvZiBMTV9PVVRfKgotICovCi0KLXN0YXRpYyB1bnNpZ25lZCBpbnQgbm9sb2NrX2xvY2sodm9pZCAqbG9jaywgdW5zaWduZWQgaW50IGN1cl9zdGF0ZSwKLQkJCQl1bnNpZ25lZCBpbnQgcmVxX3N0YXRlLCB1bnNpZ25lZCBpbnQgZmxhZ3MpCi17Ci0JcmV0dXJuIHJlcV9zdGF0ZSB8IExNX09VVF9DQUNIRUFCTEU7Ci19Ci0KLS8qKgotICogbm9sb2NrX3VubG9jayAtIHVubG9jayBhIGxvY2sKLSAqIEBsb2NrOiB0aGUgbG9jayB0byBtYW5pcHVsYXRlCi0gKiBAY3VyX3N0YXRlOiB0aGUgY3VycmVudCBzdGF0ZQotICoKLSAqIFJldHVybnM6IDAKLSAqLwotCi1zdGF0aWMgdW5zaWduZWQgaW50IG5vbG9ja191bmxvY2sodm9pZCAqbG9jaywgdW5zaWduZWQgaW50IGN1cl9zdGF0ZSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQgbm9sb2NrX2NhbmNlbCh2b2lkICpsb2NrKQotewotfQotCi0vKioKLSAqIG5vbG9ja19ob2xkX2x2YiAtIGhvbGQgb24gdG8gYSBsb2NrIHZhbHVlIGJsb2NrCi0gKiBAbG9jazogdGhlIGxvY2sgdGhlIExWQiBpcyBhc3NvY2lhdGVkIHdpdGgKLSAqIEBsdmJwOiByZXR1cm4gdGhlIGxtX2x2Yl90IGhlcmUKLSAqCi0gKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIC1FWFhYIG9uIGZhaWx1cmUKLSAqLwotCi1zdGF0aWMgaW50IG5vbG9ja19ob2xkX2x2Yih2b2lkICpsb2NrLCBjaGFyICoqbHZicCkKLXsKLQlzdHJ1Y3Qgbm9sb2NrX2xvY2tzcGFjZSAqbmwgPSBsb2NrOwotCWludCBlcnJvciA9IDA7Ci0KLQkqbHZicCA9IGt6YWxsb2MobmwtPm5sX2x2Yl9zaXplLCBHRlBfTk9GUyk7Ci0JaWYgKCEqbHZicCkKLQkJZXJyb3IgPSAtRU5PTUVNOwotCi0JcmV0dXJuIGVycm9yOwotfQotCi0vKioKLSAqIG5vbG9ja191bmhvbGRfbHZiIC0gcmVsZWFzZSBhIExWQgotICogQGxvY2s6IHRoZSBsb2NrIHRoZSBMVkIgaXMgYXNzb2NpYXRlZCB3aXRoCi0gKiBAbHZiOiB0aGUgbG9jayB2YWx1ZSBibG9jawotICoKLSAqLwotCi1zdGF0aWMgdm9pZCBub2xvY2tfdW5ob2xkX2x2Yih2b2lkICpsb2NrLCBjaGFyICpsdmIpCi17Ci0Ja2ZyZWUobHZiKTsKLX0KLQotc3RhdGljIGludCBub2xvY2tfcGxvY2tfZ2V0KHZvaWQgKmxvY2tzcGFjZSwgc3RydWN0IGxtX2xvY2tuYW1lICpuYW1lLAotCQkJICAgIHN0cnVjdCBmaWxlICpmaWxlLCBzdHJ1Y3QgZmlsZV9sb2NrICpmbCkKLXsKLQlwb3NpeF90ZXN0X2xvY2soZmlsZSwgZmwpOwotCi0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgbm9sb2NrX3Bsb2NrKHZvaWQgKmxvY2tzcGFjZSwgc3RydWN0IGxtX2xvY2tuYW1lICpuYW1lLAotCQkJc3RydWN0IGZpbGUgKmZpbGUsIGludCBjbWQsIHN0cnVjdCBmaWxlX2xvY2sgKmZsKQotewotCWludCBlcnJvcjsKLQllcnJvciA9IHBvc2l4X2xvY2tfZmlsZV93YWl0KGZpbGUsIGZsKTsKLQlyZXR1cm4gZXJyb3I7Ci19Ci0KLXN0YXRpYyBpbnQgbm9sb2NrX3B1bmxvY2sodm9pZCAqbG9ja3NwYWNlLCBzdHJ1Y3QgbG1fbG9ja25hbWUgKm5hbWUsCi0JCQkgIHN0cnVjdCBmaWxlICpmaWxlLCBzdHJ1Y3QgZmlsZV9sb2NrICpmbCkKLXsKLQlpbnQgZXJyb3I7Ci0JZXJyb3IgPSBwb3NpeF9sb2NrX2ZpbGVfd2FpdChmaWxlLCBmbCk7Ci0JcmV0dXJuIGVycm9yOwotfQotCi1zdGF0aWMgdm9pZCBub2xvY2tfcmVjb3ZlcnlfZG9uZSh2b2lkICpsb2Nrc3BhY2UsIHVuc2lnbmVkIGludCBqaWQsCi0JCQkJIHVuc2lnbmVkIGludCBtZXNzYWdlKQotewotfQotCi1zdGF0aWMgY29uc3Qgc3RydWN0IGxtX2xvY2tvcHMgbm9sb2NrX29wcyA9IHsKLQkubG1fcHJvdG9fbmFtZSA9ICJsb2NrX25vbG9jayIsCi0JLmxtX21vdW50ID0gbm9sb2NrX21vdW50LAotCS5sbV9vdGhlcnNfbWF5X21vdW50ID0gbm9sb2NrX290aGVyc19tYXlfbW91bnQsCi0JLmxtX3VubW91bnQgPSBub2xvY2tfdW5tb3VudCwKLQkubG1fd2l0aGRyYXcgPSBub2xvY2tfd2l0aGRyYXcsCi0JLmxtX2dldF9sb2NrID0gbm9sb2NrX2dldF9sb2NrLAotCS5sbV9wdXRfbG9jayA9IG5vbG9ja19wdXRfbG9jaywKLQkubG1fbG9jayA9IG5vbG9ja19sb2NrLAotCS5sbV91bmxvY2sgPSBub2xvY2tfdW5sb2NrLAotCS5sbV9jYW5jZWwgPSBub2xvY2tfY2FuY2VsLAotCS5sbV9ob2xkX2x2YiA9IG5vbG9ja19ob2xkX2x2YiwKLQkubG1fdW5ob2xkX2x2YiA9IG5vbG9ja191bmhvbGRfbHZiLAotCS5sbV9wbG9ja19nZXQgPSBub2xvY2tfcGxvY2tfZ2V0LAotCS5sbV9wbG9jayA9IG5vbG9ja19wbG9jaywKLQkubG1fcHVubG9jayA9IG5vbG9ja19wdW5sb2NrLAotCS5sbV9yZWNvdmVyeV9kb25lID0gbm9sb2NrX3JlY292ZXJ5X2RvbmUsCi0JLmxtX293bmVyID0gVEhJU19NT0RVTEUsCi19OwotCi1zdGF0aWMgaW50IF9faW5pdCBpbml0X25vbG9jayh2b2lkKQotewotCWludCBlcnJvcjsKLQotCWVycm9yID0gZ2ZzMl9yZWdpc3Rlcl9sb2NrcHJvdG8oJm5vbG9ja19vcHMpOwotCWlmIChlcnJvcikgewotCQlwcmludGsoS0VSTl9XQVJOSU5HCi0JCSAgICAgICAibG9ja19ub2xvY2s6IGNhbid0IHJlZ2lzdGVyIHByb3RvY29sOiAlZFxuIiwgZXJyb3IpOwotCQlyZXR1cm4gZXJyb3I7Ci0JfQotCi0JcHJpbnRrKEtFUk5fSU5GTwotCSAgICAgICAiTG9ja19Ob2xvY2sgKGJ1aWx0ICVzICVzKSBpbnN0YWxsZWRcbiIsIF9fREFURV9fLCBfX1RJTUVfXyk7Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkIF9fZXhpdCBleGl0X25vbG9jayh2b2lkKQotewotCWdmczJfdW5yZWdpc3Rlcl9sb2NrcHJvdG8oJm5vbG9ja19vcHMpOwotfQotCi1tb2R1bGVfaW5pdChpbml0X25vbG9jayk7Ci1tb2R1bGVfZXhpdChleGl0X25vbG9jayk7Ci0KLU1PRFVMRV9ERVNDUklQVElPTigiR0ZTIE5vbG9jayBMb2NraW5nIE1vZHVsZSIpOwotTU9EVUxFX0FVVEhPUigiUmVkIEhhdCwgSW5jLiIpOwotTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwotCmRpZmYgLS1naXQgYS9mcy9nZnMyL2xvZy5jIGIvZnMvZ2ZzMi9sb2cuYwppbmRleCA1NDgyNjRiLi42YzZhZjlmIDEwMDY0NAotLS0gYS9mcy9nZnMyL2xvZy5jCisrKyBiL2ZzL2dmczIvbG9nLmMKQEAgLTg3LDYgKzg3LDggQEAKICAqLwogCiBzdGF0aWMgdm9pZCBnZnMyX2FpbDFfc3RhcnRfb25lKHN0cnVjdCBnZnMyX3NiZCAqc2RwLCBzdHJ1Y3QgZ2ZzMl9haWwgKmFpKQorX19yZWxlYXNlcygmc2RwLT5zZF9sb2dfbG9jaykKK19fYWNxdWlyZXMoJnNkcC0+c2RfbG9nX2xvY2spCiB7CiAJc3RydWN0IGdmczJfYnVmZGF0YSAqYmQsICpzOwogCXN0cnVjdCBidWZmZXJfaGVhZCAqYmg7CmRpZmYgLS1naXQgYS9mcy9nZnMyL2xvZy5oIGIvZnMvZ2ZzMi9sb2cuaAppbmRleCA3NzExNTI4Li43YzY0NTEwIDEwMDY0NAotLS0gYS9mcy9nZnMyL2xvZy5oCisrKyBiL2ZzL2dmczIvbG9nLmgKQEAgLTIxLDYgKzIxLDcgQEAKICAqLwogCiBzdGF0aWMgaW5saW5lIHZvaWQgZ2ZzMl9sb2dfbG9jayhzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCkKK19fYWNxdWlyZXMoJnNkcC0+c2RfbG9nX2xvY2spCiB7CiAJc3Bpbl9sb2NrKCZzZHAtPnNkX2xvZ19sb2NrKTsKIH0KQEAgLTMyLDYgKzMzLDcgQEAKICAqLwogCiBzdGF0aWMgaW5saW5lIHZvaWQgZ2ZzMl9sb2dfdW5sb2NrKHN0cnVjdCBnZnMyX3NiZCAqc2RwKQorX19yZWxlYXNlcygmc2RwLT5zZF9sb2dfbG9jaykKIHsKIAlzcGluX3VubG9jaygmc2RwLT5zZF9sb2dfbG9jayk7CiB9CmRpZmYgLS1naXQgYS9mcy9nZnMyL21haW4uYyBiL2ZzL2dmczIvbWFpbi5jCmluZGV4IDA1M2UyZWIuLmJjYzY2OGQgMTAwNjQ0Ci0tLSBhL2ZzL2dmczIvbWFpbi5jCisrKyBiL2ZzL2dmczIvbWFpbi5jCkBAIC00MCw4ICs0MCw2IEBACiAJSU5JVF9ITElTVF9OT0RFKCZnbC0+Z2xfbGlzdCk7CiAJc3Bpbl9sb2NrX2luaXQoJmdsLT5nbF9zcGluKTsKIAlJTklUX0xJU1RfSEVBRCgmZ2wtPmdsX2hvbGRlcnMpOwotCUlOSVRfTElTVF9IRUFEKCZnbC0+Z2xfd2FpdGVyczEpOwotCUlOSVRfTElTVF9IRUFEKCZnbC0+Z2xfd2FpdGVyczMpOwogCWdsLT5nbF9sdmIgPSBOVUxMOwogCWF0b21pY19zZXQoJmdsLT5nbF9sdmJfY291bnQsIDApOwogCUlOSVRfTElTVF9IRUFEKCZnbC0+Z2xfcmVjbGFpbSk7CmRpZmYgLS1naXQgYS9mcy9nZnMyL21ldGFfaW8uYyBiL2ZzL2dmczIvbWV0YV9pby5jCmluZGV4IDc4ZDc1ZjguLjA5ODUzNjIgMTAwNjQ0Ci0tLSBhL2ZzL2dmczIvbWV0YV9pby5jCisrKyBiL2ZzL2dmczIvbWV0YV9pby5jCkBAIC0xMjksNyArMTI5LDcgQEAKIH0KIAogLyoqCi0gKiBnZXRidWYgLSBHZXQgYSBidWZmZXIgd2l0aCBhIGdpdmVuIGFkZHJlc3Mgc3BhY2UKKyAqIGdmczJfZ2V0YnVmIC0gR2V0IGEgYnVmZmVyIHdpdGggYSBnaXZlbiBhZGRyZXNzIHNwYWNlCiAgKiBAZ2w6IHRoZSBnbG9jawogICogQGJsa25vOiB0aGUgYmxvY2sgbnVtYmVyIChmaWxlc3lzdGVtIHNjb3BlKQogICogQGNyZWF0ZTogMSBpZiB0aGUgYnVmZmVyIHNob3VsZCBiZSBjcmVhdGVkCkBAIC0xMzcsNyArMTM3LDcgQEAKICAqIFJldHVybnM6IHRoZSBidWZmZXIKICAqLwogCi1zdGF0aWMgc3RydWN0IGJ1ZmZlcl9oZWFkICpnZXRidWYoc3RydWN0IGdmczJfZ2xvY2sgKmdsLCB1NjQgYmxrbm8sIGludCBjcmVhdGUpCitzdHJ1Y3QgYnVmZmVyX2hlYWQgKmdmczJfZ2V0YnVmKHN0cnVjdCBnZnMyX2dsb2NrICpnbCwgdTY0IGJsa25vLCBpbnQgY3JlYXRlKQogewogCXN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nID0gZ2wtPmdsX2FzcGFjZS0+aV9tYXBwaW5nOwogCXN0cnVjdCBnZnMyX3NiZCAqc2RwID0gZ2wtPmdsX3NiZDsKQEAgLTIwNSw3ICsyMDUsNyBAQAogc3RydWN0IGJ1ZmZlcl9oZWFkICpnZnMyX21ldGFfbmV3KHN0cnVjdCBnZnMyX2dsb2NrICpnbCwgdTY0IGJsa25vKQogewogCXN0cnVjdCBidWZmZXJfaGVhZCAqYmg7Ci0JYmggPSBnZXRidWYoZ2wsIGJsa25vLCBDUkVBVEUpOworCWJoID0gZ2ZzMl9nZXRidWYoZ2wsIGJsa25vLCBDUkVBVEUpOwogCW1ldGFfcHJlcF9uZXcoYmgpOwogCXJldHVybiBiaDsKIH0KQEAgLTIyMyw3ICsyMjMsNyBAQAogaW50IGdmczJfbWV0YV9yZWFkKHN0cnVjdCBnZnMyX2dsb2NrICpnbCwgdTY0IGJsa25vLCBpbnQgZmxhZ3MsCiAJCSAgIHN0cnVjdCBidWZmZXJfaGVhZCAqKmJocCkKIHsKLQkqYmhwID0gZ2V0YnVmKGdsLCBibGtubywgQ1JFQVRFKTsKKwkqYmhwID0gZ2ZzMl9nZXRidWYoZ2wsIGJsa25vLCBDUkVBVEUpOwogCWlmICghYnVmZmVyX3VwdG9kYXRlKCpiaHApKSB7CiAJCWxsX3J3X2Jsb2NrKFJFQURfTUVUQSwgMSwgYmhwKTsKIAkJaWYgKGZsYWdzICYgRElPX1dBSVQpIHsKQEAgLTM0Niw3ICszNDYsNyBAQAogCXN0cnVjdCBidWZmZXJfaGVhZCAqYmg7CiAKIAl3aGlsZSAoYmxlbikgewotCQliaCA9IGdldGJ1ZihpcC0+aV9nbCwgYnN0YXJ0LCBOT19DUkVBVEUpOworCQliaCA9IGdmczJfZ2V0YnVmKGlwLT5pX2dsLCBic3RhcnQsIE5PX0NSRUFURSk7CiAJCWlmIChiaCkgewogCQkJbG9ja19idWZmZXIoYmgpOwogCQkJZ2ZzMl9sb2dfbG9jayhzZHApOwpAQCAtNDIxLDcgKzQyMSw3IEBACiAJaWYgKGV4dGxlbiA+IG1heF9yYSkKIAkJZXh0bGVuID0gbWF4X3JhOwogCi0JZmlyc3RfYmggPSBnZXRidWYoZ2wsIGRibG9jaywgQ1JFQVRFKTsKKwlmaXJzdF9iaCA9IGdmczJfZ2V0YnVmKGdsLCBkYmxvY2ssIENSRUFURSk7CiAKIAlpZiAoYnVmZmVyX3VwdG9kYXRlKGZpcnN0X2JoKSkKIAkJZ290byBvdXQ7CkBAIC00MzIsNyArNDMyLDcgQEAKIAlleHRsZW4tLTsKIAogCXdoaWxlIChleHRsZW4pIHsKLQkJYmggPSBnZXRidWYoZ2wsIGRibG9jaywgQ1JFQVRFKTsKKwkJYmggPSBnZnMyX2dldGJ1ZihnbCwgZGJsb2NrLCBDUkVBVEUpOwogCiAJCWlmICghYnVmZmVyX3VwdG9kYXRlKGJoKSAmJiAhYnVmZmVyX2xvY2tlZChiaCkpCiAJCQlsbF9yd19ibG9jayhSRUFEQSwgMSwgJmJoKTsKZGlmZiAtLWdpdCBhL2ZzL2dmczIvbWV0YV9pby5oIGIvZnMvZ2ZzMi9tZXRhX2lvLmgKaW5kZXggNzNlM2IxYy4uYjFhNWYzNiAxMDA2NDQKLS0tIGEvZnMvZ2ZzMi9tZXRhX2lvLmgKKysrIGIvZnMvZ2ZzMi9tZXRhX2lvLmgKQEAgLTQ3LDYgKzQ3LDcgQEAKIGludCBnZnMyX21ldGFfcmVhZChzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wsIHU2NCBibGtubywKIAkJICAgaW50IGZsYWdzLCBzdHJ1Y3QgYnVmZmVyX2hlYWQgKipiaHApOwogaW50IGdmczJfbWV0YV93YWl0KHN0cnVjdCBnZnMyX3NiZCAqc2RwLCBzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoKTsKK3N0cnVjdCBidWZmZXJfaGVhZCAqZ2ZzMl9nZXRidWYoc3RydWN0IGdmczJfZ2xvY2sgKmdsLCB1NjQgYmxrbm8sIGludCBjcmVhdGUpOwogCiB2b2lkIGdmczJfYXR0YWNoX2J1ZmRhdGEoc3RydWN0IGdmczJfZ2xvY2sgKmdsLCBzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoLAogCQkJIGludCBtZXRhKTsKZGlmZiAtLWdpdCBhL2ZzL2dmczIvb3BzX2FkZHJlc3MuYyBiL2ZzL2dmczIvb3BzX2FkZHJlc3MuYwppbmRleCBmNTUzOTRlLi5lNjRhMWIwIDEwMDY0NAotLS0gYS9mcy9nZnMyL29wc19hZGRyZXNzLmMKKysrIGIvZnMvZ2ZzMi9vcHNfYWRkcmVzcy5jCkBAIC00OTksMzQgKzQ5OSwzNCBAQAogICogQGZpbGU6IFRoZSBmaWxlIHRvIHJlYWQKICAqIEBwYWdlOiBUaGUgcGFnZSBvZiB0aGUgZmlsZQogICoKLSAqIFRoaXMgZGVhbHMgd2l0aCB0aGUgbG9ja2luZyByZXF1aXJlZC4gV2UgdXNlIGEgdHJ5bG9jayBpbiBvcmRlciB0bwotICogYXZvaWQgdGhlIHBhZ2UgbG9jayAvIGdsb2NrIG9yZGVyaW5nIHByb2JsZW1zIHJldHVybmluZyBBT1BfVFJVTkNBVEVEX1BBR0UKLSAqIGluIHRoZSBldmVudCB0aGF0IHdlIGFyZSB1bmFibGUgdG8gZ2V0IHRoZSBsb2NrLgorICogVGhpcyBkZWFscyB3aXRoIHRoZSBsb2NraW5nIHJlcXVpcmVkLiBXZSBoYXZlIHRvIHVubG9jayBhbmQKKyAqIHJlbG9jayB0aGUgcGFnZSBpbiBvcmRlciB0byBnZXQgdGhlIGxvY2tpbmcgaW4gdGhlIHJpZ2h0CisgKiBvcmRlci4KICAqLwogCiBzdGF0aWMgaW50IGdmczJfcmVhZHBhZ2Uoc3RydWN0IGZpbGUgKmZpbGUsIHN0cnVjdCBwYWdlICpwYWdlKQogewotCXN0cnVjdCBnZnMyX2lub2RlICppcCA9IEdGUzJfSShwYWdlLT5tYXBwaW5nLT5ob3N0KTsKLQlzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoOworCXN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nID0gcGFnZS0+bWFwcGluZzsKKwlzdHJ1Y3QgZ2ZzMl9pbm9kZSAqaXAgPSBHRlMyX0kobWFwcGluZy0+aG9zdCk7CisJc3RydWN0IGdmczJfaG9sZGVyIGdoOwogCWludCBlcnJvcjsKIAotCWdoID0gZ2ZzMl9nbG9ja19pc19sb2NrZWRfYnlfbWUoaXAtPmlfZ2wpOwotCWlmICghZ2gpIHsKLQkJZ2ggPSBrbWFsbG9jKHNpemVvZihzdHJ1Y3QgZ2ZzMl9ob2xkZXIpLCBHRlBfTk9GUyk7Ci0JCWlmICghZ2gpCi0JCQlyZXR1cm4gLUVOT0JVRlM7Ci0JCWdmczJfaG9sZGVyX2luaXQoaXAtPmlfZ2wsIExNX1NUX1NIQVJFRCwgR0xfQVRJTUUsIGdoKTsKKwl1bmxvY2tfcGFnZShwYWdlKTsKKwlnZnMyX2hvbGRlcl9pbml0KGlwLT5pX2dsLCBMTV9TVF9TSEFSRUQsIEdMX0FUSU1FLCAmZ2gpOworCWVycm9yID0gZ2ZzMl9nbG9ja19ucV9hdGltZSgmZ2gpOworCWlmICh1bmxpa2VseShlcnJvcikpCisJCWdvdG8gb3V0OworCWVycm9yID0gQU9QX1RSVU5DQVRFRF9QQUdFOworCWxvY2tfcGFnZShwYWdlKTsKKwlpZiAocGFnZS0+bWFwcGluZyA9PSBtYXBwaW5nICYmICFQYWdlVXB0b2RhdGUocGFnZSkpCisJCWVycm9yID0gX19nZnMyX3JlYWRwYWdlKGZpbGUsIHBhZ2UpOworCWVsc2UKIAkJdW5sb2NrX3BhZ2UocGFnZSk7Ci0JCWVycm9yID0gZ2ZzMl9nbG9ja19ucV9hdGltZShnaCk7Ci0JCWlmIChsaWtlbHkoZXJyb3IgIT0gMCkpCi0JCQlnb3RvIG91dDsKLQkJcmV0dXJuIEFPUF9UUlVOQ0FURURfUEFHRTsKLQl9Ci0JZXJyb3IgPSBfX2dmczJfcmVhZHBhZ2UoZmlsZSwgcGFnZSk7Ci0JZ2ZzMl9nbG9ja19kcShnaCk7CisJZ2ZzMl9nbG9ja19kcSgmZ2gpOwogb3V0OgotCWdmczJfaG9sZGVyX3VuaW5pdChnaCk7Ci0Ja2ZyZWUoZ2gpOworCWdmczJfaG9sZGVyX3VuaW5pdCgmZ2gpOworCWlmIChlcnJvciAmJiBlcnJvciAhPSBBT1BfVFJVTkNBVEVEX1BBR0UpCisJCWxvY2tfcGFnZShwYWdlKTsKIAlyZXR1cm4gZXJyb3I7CiB9CiAKZGlmZiAtLWdpdCBhL2ZzL2dmczIvb3BzX2ZpbGUuYyBiL2ZzL2dmczIvb3BzX2ZpbGUuYwppbmRleCBlMWI3ZDUyLi5lOWEzNjZkIDEwMDY0NAotLS0gYS9mcy9nZnMyL29wc19maWxlLmMKKysrIGIvZnMvZ2ZzMi9vcHNfZmlsZS5jCkBAIC0xNSw2ICsxNSw3IEBACiAjaW5jbHVkZSA8bGludXgvdWlvLmg+CiAjaW5jbHVkZSA8bGludXgvYmxrZGV2Lmg+CiAjaW5jbHVkZSA8bGludXgvbW0uaD4KKyNpbmNsdWRlIDxsaW51eC9tb3VudC5oPgogI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvZ2ZzMl9vbmRpc2suaD4KICNpbmNsdWRlIDxsaW51eC9leHQyX2ZzLmg+CkBAIC02MiwxMSArNjMsMTEgQEAKIAkJZXJyb3IgPSBnZnMyX2dsb2NrX25xX2luaXQoaXAtPmlfZ2wsIExNX1NUX1NIQVJFRCwgTE1fRkxBR19BTlksCiAJCQkJCSAgICZpX2doKTsKIAkJaWYgKCFlcnJvcikgewotCQkJZXJyb3IgPSByZW1vdGVfbGxzZWVrKGZpbGUsIG9mZnNldCwgb3JpZ2luKTsKKwkJCWVycm9yID0gZ2VuZXJpY19maWxlX2xsc2Vla191bmxvY2tlZChmaWxlLCBvZmZzZXQsIG9yaWdpbik7CiAJCQlnZnMyX2dsb2NrX2RxX3VuaW5pdCgmaV9naCk7CiAJCX0KIAl9IGVsc2UKLQkJZXJyb3IgPSByZW1vdGVfbGxzZWVrKGZpbGUsIG9mZnNldCwgb3JpZ2luKTsKKwkJZXJyb3IgPSBnZW5lcmljX2ZpbGVfbGxzZWVrX3VubG9ja2VkKGZpbGUsIG9mZnNldCwgb3JpZ2luKTsKIAogCXJldHVybiBlcnJvcjsKIH0KQEAgLTEzMyw3ICsxMzQsNiBAQAogCVs3XSA9IEdGUzJfRElGX05PQVRJTUUsCiAJWzEyXSA9IEdGUzJfRElGX0VYSEFTSCwKIAlbMTRdID0gR0ZTMl9ESUZfSU5IRVJJVF9KREFUQSwKLQlbMjBdID0gR0ZTMl9ESUZfSU5IRVJJVF9ESVJFQ1RJTywKIH07CiAKIHN0YXRpYyBjb25zdCB1MzIgZ2ZzMl90b19mc2ZsYWdzWzMyXSA9IHsKQEAgLTE0Miw3ICsxNDIsNiBAQAogCVtnZnMyZmxfQXBwZW5kT25seV0gPSBGU19BUFBFTkRfRkwsCiAJW2dmczJmbF9Ob0F0aW1lXSA9IEZTX05PQVRJTUVfRkwsCiAJW2dmczJmbF9FeEhhc2hdID0gRlNfSU5ERVhfRkwsCi0JW2dmczJmbF9Jbmhlcml0RGlyZWN0aW9dID0gRlNfRElSRUNUSU9fRkwsCiAJW2dmczJmbF9Jbmhlcml0SmRhdGFdID0gRlNfSk9VUk5BTF9EQVRBX0ZMLAogfTsKIApAQCAtMTYwLDEyICsxNTksOCBAQAogCQlyZXR1cm4gZXJyb3I7CiAKIAlmc2ZsYWdzID0gZnNmbGFnc19jdnQoZ2ZzMl90b19mc2ZsYWdzLCBpcC0+aV9kaS5kaV9mbGFncyk7Ci0JaWYgKCFTX0lTRElSKGlub2RlLT5pX21vZGUpKSB7Ci0JCWlmIChpcC0+aV9kaS5kaV9mbGFncyAmIEdGUzJfRElGX0pEQVRBKQotCQkJZnNmbGFncyB8PSBGU19KT1VSTkFMX0RBVEFfRkw7Ci0JCWlmIChpcC0+aV9kaS5kaV9mbGFncyAmIEdGUzJfRElGX0RJUkVDVElPKQotCQkJZnNmbGFncyB8PSBGU19ESVJFQ1RJT19GTDsKLQl9CisJaWYgKCFTX0lTRElSKGlub2RlLT5pX21vZGUpICYmIGlwLT5pX2RpLmRpX2ZsYWdzICYgR0ZTMl9ESUZfSkRBVEEpCisJCWZzZmxhZ3MgfD0gRlNfSk9VUk5BTF9EQVRBX0ZMOwogCWlmIChwdXRfdXNlcihmc2ZsYWdzLCBwdHIpKQogCQllcnJvciA9IC1FRkFVTFQ7CiAKQEAgLTE5NCwxMyArMTg5LDExIEBACiAKIC8qIEZsYWdzIHRoYXQgY2FuIGJlIHNldCBieSB1c2VyIHNwYWNlICovCiAjZGVmaW5lIEdGUzJfRkxBR1NfVVNFUl9TRVQgKEdGUzJfRElGX0pEQVRBfAkJCVwKLQkJCSAgICAgR0ZTMl9ESUZfRElSRUNUSU98CQkJXAogCQkJICAgICBHRlMyX0RJRl9JTU1VVEFCTEV8CQlcCiAJCQkgICAgIEdGUzJfRElGX0FQUEVORE9OTFl8CQlcCiAJCQkgICAgIEdGUzJfRElGX05PQVRJTUV8CQkJXAogCQkJICAgICBHRlMyX0RJRl9TWU5DfAkJCVwKIAkJCSAgICAgR0ZTMl9ESUZfU1lTVEVNfAkJCVwKLQkJCSAgICAgR0ZTMl9ESUZfSU5IRVJJVF9ESVJFQ1RJT3wJCVwKIAkJCSAgICAgR0ZTMl9ESUZfSU5IRVJJVF9KREFUQSkKIAogLyoqCkBAIC0yMjAsMTAgKzIxMywxNCBAQAogCWludCBlcnJvcjsKIAl1MzIgbmV3X2ZsYWdzLCBmbGFnczsKIAotCWVycm9yID0gZ2ZzMl9nbG9ja19ucV9pbml0KGlwLT5pX2dsLCBMTV9TVF9FWENMVVNJVkUsIDAsICZnaCk7CisJZXJyb3IgPSBtbnRfd2FudF93cml0ZShmaWxwLT5mX3BhdGgubW50KTsKIAlpZiAoZXJyb3IpCiAJCXJldHVybiBlcnJvcjsKIAorCWVycm9yID0gZ2ZzMl9nbG9ja19ucV9pbml0KGlwLT5pX2dsLCBMTV9TVF9FWENMVVNJVkUsIDAsICZnaCk7CisJaWYgKGVycm9yKQorCQlnb3RvIG91dF9kcm9wX3dyaXRlOworCiAJZmxhZ3MgPSBpcC0+aV9kaS5kaV9mbGFnczsKIAluZXdfZmxhZ3MgPSAoZmxhZ3MgJiB+bWFzaykgfCAocmVxZmxhZ3MgJiBtYXNrKTsKIAlpZiAoKG5ld19mbGFncyBeIGZsYWdzKSA9PSAwKQpAQCAtMjQyLDcgKzIzOSw3IEBACiAJICAgICFjYXBhYmxlKENBUF9MSU5VWF9JTU1VVEFCTEUpKQogCQlnb3RvIG91dDsKIAlpZiAoIUlTX0lNTVVUQUJMRShpbm9kZSkpIHsKLQkJZXJyb3IgPSBwZXJtaXNzaW9uKGlub2RlLCBNQVlfV1JJVEUsIE5VTEwpOworCQllcnJvciA9IGdmczJfcGVybWlzc2lvbihpbm9kZSwgTUFZX1dSSVRFKTsKIAkJaWYgKGVycm9yKQogCQkJZ290byBvdXQ7CiAJfQpAQCAtMjcyLDYgKzI2OSw4IEBACiAJZ2ZzMl90cmFuc19lbmQoc2RwKTsKIG91dDoKIAlnZnMyX2dsb2NrX2RxX3VuaW5pdCgmZ2gpOworb3V0X2Ryb3Bfd3JpdGU6CisJbW50X2Ryb3Bfd3JpdGUoZmlscC0+Zl9wYXRoLm1udCk7CiAJcmV0dXJuIGVycm9yOwogfQogCkBAIC0yODUsOCArMjg0LDYgQEAKIAlpZiAoIVNfSVNESVIoaW5vZGUtPmlfbW9kZSkpIHsKIAkJaWYgKGdmc2ZsYWdzICYgR0ZTMl9ESUZfSU5IRVJJVF9KREFUQSkKIAkJCWdmc2ZsYWdzIF49IChHRlMyX0RJRl9KREFUQSB8IEdGUzJfRElGX0lOSEVSSVRfSkRBVEEpOwotCQlpZiAoZ2ZzZmxhZ3MgJiBHRlMyX0RJRl9JTkhFUklUX0RJUkVDVElPKQotCQkJZ2ZzZmxhZ3MgXj0gKEdGUzJfRElGX0RJUkVDVElPIHwgR0ZTMl9ESUZfSU5IRVJJVF9ESVJFQ1RJTyk7CiAJCXJldHVybiBkb19nZnMyX3NldF9mbGFncyhmaWxwLCBnZnNmbGFncywgfjApOwogCX0KIAlyZXR1cm4gZG9fZ2ZzMl9zZXRfZmxhZ3MoZmlscCwgZ2ZzZmxhZ3MsIH5HRlMyX0RJRl9KREFUQSk7CkBAIC00ODcsMTEgKzQ4NCw2IEBACiAJCQlnb3RvIGZhaWxfZ3VubG9jazsKIAkJfQogCi0JCS8qIExpc3RlbiB0byB0aGUgRGlyZWN0IEkvTyBmbGFnICovCi0KLQkJaWYgKGlwLT5pX2RpLmRpX2ZsYWdzICYgR0ZTMl9ESUZfRElSRUNUSU8pCi0JCQlmaWxlLT5mX2ZsYWdzIHw9IE9fRElSRUNUOwotCiAJCWdmczJfZ2xvY2tfZHFfdW5pbml0KCZpX2doKTsKIAl9CiAKQEAgLTY2OSw4ICs2NjEsNyBAQAogCWludCBlcnJvciA9IDA7CiAKIAlzdGF0ZSA9IChmbC0+ZmxfdHlwZSA9PSBGX1dSTENLKSA/IExNX1NUX0VYQ0xVU0lWRSA6IExNX1NUX1NIQVJFRDsKLQlmbGFncyA9IChJU19TRVRMS1coY21kKSA/IDAgOiBMTV9GTEFHX1RSWSkgfCBHTF9FWEFDVCB8IEdMX05PQ0FDSEUgCi0JCXwgR0xfRkxPQ0s7CisJZmxhZ3MgPSAoSVNfU0VUTEtXKGNtZCkgPyAwIDogTE1fRkxBR19UUlkpIHwgR0xfRVhBQ1QgfCBHTF9OT0NBQ0hFOwogCiAJbXV0ZXhfbG9jaygmZnAtPmZfZmxfbXV0ZXgpOwogCkBAIC02ODMsOSArNjc0LDggQEAKIAkJZ2ZzMl9nbG9ja19kcV93YWl0KGZsX2doKTsKIAkJZ2ZzMl9ob2xkZXJfcmVpbml0KHN0YXRlLCBmbGFncywgZmxfZ2gpOwogCX0gZWxzZSB7Ci0JCWVycm9yID0gZ2ZzMl9nbG9ja19nZXQoR0ZTMl9TQigmaXAtPmlfaW5vZGUpLAotCQkJCSAgICAgIGlwLT5pX25vX2FkZHIsICZnZnMyX2Zsb2NrX2dsb3BzLAotCQkJCSAgICAgIENSRUFURSwgJmdsKTsKKwkJZXJyb3IgPSBnZnMyX2dsb2NrX2dldChHRlMyX1NCKCZpcC0+aV9pbm9kZSksIGlwLT5pX25vX2FkZHIsCisJCQkJICAgICAgICZnZnMyX2Zsb2NrX2dsb3BzLCBDUkVBVEUsICZnbCk7CiAJCWlmIChlcnJvcikKIAkJCWdvdG8gb3V0OwogCQlnZnMyX2hvbGRlcl9pbml0KGdsLCBzdGF0ZSwgZmxhZ3MsIGZsX2doKTsKZGlmZiAtLWdpdCBhL2ZzL2dmczIvb3BzX2ZzdHlwZS5jIGIvZnMvZ2ZzMi9vcHNfZnN0eXBlLmMKaW5kZXggYjIwMjhjOC4uYjRkMWQ2NCAxMDA2NDQKLS0tIGEvZnMvZ2ZzMi9vcHNfZnN0eXBlLmMKKysrIGIvZnMvZ2ZzMi9vcHNfZnN0eXBlLmMKQEAgLTY0LDcgKzY0LDYgQEAKIAltdXRleF9pbml0KCZzZHAtPnNkX3JpbmRleF9tdXRleCk7CiAJSU5JVF9MSVNUX0hFQUQoJnNkcC0+c2RfcmluZGV4X2xpc3QpOwogCUlOSVRfTElTVF9IRUFEKCZzZHAtPnNkX3JpbmRleF9tcnVfbGlzdCk7Ci0JSU5JVF9MSVNUX0hFQUQoJnNkcC0+c2RfcmluZGV4X3JlY2VudF9saXN0KTsKIAogCUlOSVRfTElTVF9IRUFEKCZzZHAtPnNkX2ppbmRleF9saXN0KTsKIAlzcGluX2xvY2tfaW5pdCgmc2RwLT5zZF9qaW5kZXhfc3Bpbik7CkBAIC0zNjQsNiArMzYzLDggQEAKIAogc3RhdGljIHZvaWQgZ2ZzMl9sbV9vdGhlcnNfbWF5X21vdW50KHN0cnVjdCBnZnMyX3NiZCAqc2RwKQogeworCWlmICghc2RwLT5zZF9sb2Nrc3RydWN0LmxzX29wcy0+bG1fb3RoZXJzX21heV9tb3VudCkKKwkJcmV0dXJuOwogCWlmIChsaWtlbHkoIXRlc3RfYml0KFNERl9TSFVURE9XTiwgJnNkcC0+c2RfZmxhZ3MpKSkKIAkJc2RwLT5zZF9sb2Nrc3RydWN0LmxzX29wcy0+bG1fb3RoZXJzX21heV9tb3VudCgKIAkJCQkJc2RwLT5zZF9sb2Nrc3RydWN0LmxzX2xvY2tzcGFjZSk7CkBAIC03NDEsOCArNzQyLDcgQEAKIAkJZ290byBvdXQ7CiAJfQogCi0JaWYgKGdmczJfYXNzZXJ0X3dhcm4oc2RwLCBzZHAtPnNkX2xvY2tzdHJ1Y3QubHNfbG9ja3NwYWNlKSB8fAotCSAgICBnZnMyX2Fzc2VydF93YXJuKHNkcCwgc2RwLT5zZF9sb2Nrc3RydWN0LmxzX29wcykgfHwKKwlpZiAoZ2ZzMl9hc3NlcnRfd2FybihzZHAsIHNkcC0+c2RfbG9ja3N0cnVjdC5sc19vcHMpIHx8CiAJICAgIGdmczJfYXNzZXJ0X3dhcm4oc2RwLCBzZHAtPnNkX2xvY2tzdHJ1Y3QubHNfbHZiX3NpemUgPj0KIAkJCQkgIEdGUzJfTUlOX0xWQl9TSVpFKSkgewogCQlnZnMyX3VubW91bnRfbG9ja3Byb3RvKCZzZHAtPnNkX2xvY2tzdHJ1Y3QpOwpAQCAtODczLDcgKzg3Myw3IEBACiBmYWlsX2xvY2tpbmc6CiAJaW5pdF9sb2NraW5nKHNkcCwgJm1vdW50X2doLCBVTkRPKTsKIGZhaWxfbG06Ci0JZ2ZzMl9nbF9oYXNoX2NsZWFyKHNkcCwgV0FJVCk7CisJZ2ZzMl9nbF9oYXNoX2NsZWFyKHNkcCk7CiAJZ2ZzMl9sbV91bm1vdW50KHNkcCk7CiAJd2hpbGUgKGludmFsaWRhdGVfaW5vZGVzKHNiKSkKIAkJeWllbGQoKTsKZGlmZiAtLWdpdCBhL2ZzL2dmczIvb3BzX2lub2RlLmMgYi9mcy9nZnMyL29wc19pbm9kZS5jCmluZGV4IDI2ODZhZDQuLjFlMjUyZGYgMTAwNjQ0Ci0tLSBhL2ZzL2dmczIvb3BzX2lub2RlLmMKKysrIGIvZnMvZ2ZzMi9vcHNfaW5vZGUuYwpAQCAtMTYzLDcgKzE2Myw3IEBACiAJaWYgKGVycm9yKQogCQlnb3RvIG91dDsKIAotCWVycm9yID0gcGVybWlzc2lvbihkaXIsIE1BWV9XUklURSB8IE1BWV9FWEVDLCBOVUxMKTsKKwllcnJvciA9IGdmczJfcGVybWlzc2lvbihkaXIsIE1BWV9XUklURSB8IE1BWV9FWEVDKTsKIAlpZiAoZXJyb3IpCiAJCWdvdG8gb3V0X2d1bmxvY2s7CiAKQEAgLTY2OSw3ICs2NjksNyBAQAogCQkJfQogCQl9CiAJfSBlbHNlIHsKLQkJZXJyb3IgPSBwZXJtaXNzaW9uKG5kaXIsIE1BWV9XUklURSB8IE1BWV9FWEVDLCBOVUxMKTsKKwkJZXJyb3IgPSBnZnMyX3Blcm1pc3Npb24obmRpciwgTUFZX1dSSVRFIHwgTUFZX0VYRUMpOwogCQlpZiAoZXJyb3IpCiAJCQlnb3RvIG91dF9ndW5sb2NrOwogCkBAIC03MDQsNyArNzA0LDcgQEAKIAkvKiBDaGVjayBvdXQgdGhlIGRpciB0byBiZSByZW5hbWVkICovCiAKIAlpZiAoZGlyX3JlbmFtZSkgewotCQllcnJvciA9IHBlcm1pc3Npb24ob2RlbnRyeS0+ZF9pbm9kZSwgTUFZX1dSSVRFLCBOVUxMKTsKKwkJZXJyb3IgPSBnZnMyX3Blcm1pc3Npb24ob2RlbnRyeS0+ZF9pbm9kZSwgTUFZX1dSSVRFKTsKIAkJaWYgKGVycm9yKQogCQkJZ290byBvdXRfZ3VubG9jazsKIAl9CkBAIC04OTEsNyArODkxLDcgQEAKICAqIFJldHVybnM6IGVycm5vCiAgKi8KIAotc3RhdGljIGludCBnZnMyX3Blcm1pc3Npb24oc3RydWN0IGlub2RlICppbm9kZSwgaW50IG1hc2ssIHN0cnVjdCBuYW1laWRhdGEgKm5kKQoraW50IGdmczJfcGVybWlzc2lvbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBpbnQgbWFzaykKIHsKIAlzdHJ1Y3QgZ2ZzMl9pbm9kZSAqaXAgPSBHRlMyX0koaW5vZGUpOwogCXN0cnVjdCBnZnMyX2hvbGRlciBpX2doOwpAQCAtOTA1LDEzICs5MDUsMjIgQEAKIAkJdW5sb2NrID0gMTsKIAl9CiAKLQllcnJvciA9IGdlbmVyaWNfcGVybWlzc2lvbihpbm9kZSwgbWFzaywgZ2ZzMl9jaGVja19hY2wpOworCWlmICgobWFzayAmIE1BWV9XUklURSkgJiYgSVNfSU1NVVRBQkxFKGlub2RlKSkKKwkJZXJyb3IgPSAtRUFDQ0VTOworCWVsc2UKKwkJZXJyb3IgPSBnZW5lcmljX3Blcm1pc3Npb24oaW5vZGUsIG1hc2ssIGdmczJfY2hlY2tfYWNsKTsKIAlpZiAodW5sb2NrKQogCQlnZnMyX2dsb2NrX2RxX3VuaW5pdCgmaV9naCk7CiAKIAlyZXR1cm4gZXJyb3I7CiB9CiAKK3N0YXRpYyBpbnQgZ2ZzMl9pb3BfcGVybWlzc2lvbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBpbnQgbWFzaywKKwkJCSAgICAgICBzdHJ1Y3QgbmFtZWlkYXRhICpuZCkKK3sKKwlyZXR1cm4gZ2ZzMl9wZXJtaXNzaW9uKGlub2RlLCBtYXNrKTsKK30KKwogc3RhdGljIGludCBzZXRhdHRyX3NpemUoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGlhdHRyICphdHRyKQogewogCXN0cnVjdCBnZnMyX2lub2RlICppcCA9IEdGUzJfSShpbm9kZSk7CkBAIC0xMTQxLDcgKzExNTAsNyBAQAogfQogCiBjb25zdCBzdHJ1Y3QgaW5vZGVfb3BlcmF0aW9ucyBnZnMyX2ZpbGVfaW9wcyA9IHsKLQkucGVybWlzc2lvbiA9IGdmczJfcGVybWlzc2lvbiwKKwkucGVybWlzc2lvbiA9IGdmczJfaW9wX3Blcm1pc3Npb24sCiAJLnNldGF0dHIgPSBnZnMyX3NldGF0dHIsCiAJLmdldGF0dHIgPSBnZnMyX2dldGF0dHIsCiAJLnNldHhhdHRyID0gZ2ZzMl9zZXR4YXR0ciwKQEAgLTExNjAsNyArMTE2OSw3IEBACiAJLnJtZGlyID0gZ2ZzMl9ybWRpciwKIAkubWtub2QgPSBnZnMyX21rbm9kLAogCS5yZW5hbWUgPSBnZnMyX3JlbmFtZSwKLQkucGVybWlzc2lvbiA9IGdmczJfcGVybWlzc2lvbiwKKwkucGVybWlzc2lvbiA9IGdmczJfaW9wX3Blcm1pc3Npb24sCiAJLnNldGF0dHIgPSBnZnMyX3NldGF0dHIsCiAJLmdldGF0dHIgPSBnZnMyX2dldGF0dHIsCiAJLnNldHhhdHRyID0gZ2ZzMl9zZXR4YXR0ciwKQEAgLTExNzIsNyArMTE4MSw3IEBACiBjb25zdCBzdHJ1Y3QgaW5vZGVfb3BlcmF0aW9ucyBnZnMyX3N5bWxpbmtfaW9wcyA9IHsKIAkucmVhZGxpbmsgPSBnZnMyX3JlYWRsaW5rLAogCS5mb2xsb3dfbGluayA9IGdmczJfZm9sbG93X2xpbmssCi0JLnBlcm1pc3Npb24gPSBnZnMyX3Blcm1pc3Npb24sCisJLnBlcm1pc3Npb24gPSBnZnMyX2lvcF9wZXJtaXNzaW9uLAogCS5zZXRhdHRyID0gZ2ZzMl9zZXRhdHRyLAogCS5nZXRhdHRyID0gZ2ZzMl9nZXRhdHRyLAogCS5zZXR4YXR0ciA9IGdmczJfc2V0eGF0dHIsCmRpZmYgLS1naXQgYS9mcy9nZnMyL29wc19zdXBlci5jIGIvZnMvZ2ZzMi9vcHNfc3VwZXIuYwppbmRleCAwYjdjYzkyLi5mNjZlYTBmIDEwMDY0NAotLS0gYS9mcy9nZnMyL29wc19zdXBlci5jCisrKyBiL2ZzL2dmczIvb3BzX3N1cGVyLmMKQEAgLTEyNiw3ICsxMjYsNyBAQAogCWdmczJfY2xlYXJfcmdycGQoc2RwKTsKIAlnZnMyX2ppbmRleF9mcmVlKHNkcCk7CiAJLyogIFRha2UgYXBhcnQgZ2xvY2sgc3RydWN0dXJlcyBhbmQgYnVmZmVyIGxpc3RzICAqLwotCWdmczJfZ2xfaGFzaF9jbGVhcihzZHAsIFdBSVQpOworCWdmczJfZ2xfaGFzaF9jbGVhcihzZHApOwogCS8qICBVbm1vdW50IHRoZSBsb2NraW5nIHByb3RvY29sICAqLwogCWdmczJfbG1fdW5tb3VudChzZHApOwogCkBAIC0xNTUsNyArMTU1LDcgQEAKIHN0YXRpYyBpbnQgZ2ZzMl9zeW5jX2ZzKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsIGludCB3YWl0KQogewogCXNiLT5zX2RpcnQgPSAwOwotCWlmICh3YWl0KQorCWlmICh3YWl0ICYmIHNiLT5zX2ZzX2luZm8pCiAJCWdmczJfbG9nX2ZsdXNoKHNiLT5zX2ZzX2luZm8sIE5VTEwpOwogCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvZnMvZ2ZzMi9xdW90YS5jIGIvZnMvZ2ZzMi9xdW90YS5jCmluZGV4IDU2YWFmOTEuLjNlMDczZjUgMTAwNjQ0Ci0tLSBhL2ZzL2dmczIvcXVvdGEuYworKysgYi9mcy9nZnMyL3F1b3RhLmMKQEAgLTkwNCw3ICs5MDQsNyBAQAogCQlkb19zeW5jID0gMDsKIAllbHNlIHsKIAkJdmFsdWUgKj0gZ2ZzMl9qaW5kZXhfc2l6ZShzZHApICogbnVtOwotCQlkb19kaXYodmFsdWUsIGRlbik7CisJCXZhbHVlID0gZGl2X3M2NCh2YWx1ZSwgZGVuKTsKIAkJdmFsdWUgKz0gKHM2NCliZTY0X3RvX2NwdShxZC0+cWRfcWIucWJfdmFsdWUpOwogCQlpZiAodmFsdWUgPCAoczY0KWJlNjRfdG9fY3B1KHFkLT5xZF9xYi5xYl9saW1pdCkpCiAJCQlkb19zeW5jID0gMDsKZGlmZiAtLWdpdCBhL2ZzL2dmczIvcmVjb3ZlcnkuYyBiL2ZzL2dmczIvcmVjb3ZlcnkuYwppbmRleCAyODg4ZTRiLi5kNWU5MWY0IDEwMDY0NAotLS0gYS9mcy9nZnMyL3JlY292ZXJ5LmMKKysrIGIvZnMvZ2ZzMi9yZWNvdmVyeS5jCkBAIC00MjgsNiArNDI4LDkgQEAKIHN0YXRpYyB2b2lkIGdmczJfbG1fcmVjb3ZlcnlfZG9uZShzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCwgdW5zaWduZWQgaW50IGppZCwKIAkJCQkgIHVuc2lnbmVkIGludCBtZXNzYWdlKQogeworCWlmICghc2RwLT5zZF9sb2Nrc3RydWN0LmxzX29wcy0+bG1fcmVjb3ZlcnlfZG9uZSkKKwkJcmV0dXJuOworCiAJaWYgKGxpa2VseSghdGVzdF9iaXQoU0RGX1NIVVRET1dOLCAmc2RwLT5zZF9mbGFncykpKQogCQlzZHAtPnNkX2xvY2tzdHJ1Y3QubHNfb3BzLT5sbV9yZWNvdmVyeV9kb25lKAogCQkJc2RwLT5zZF9sb2Nrc3RydWN0LmxzX2xvY2tzcGFjZSwgamlkLCBtZXNzYWdlKTsKQEAgLTUwNSw3ICs1MDgsNyBAQAogCiAJCWVycm9yID0gZ2ZzMl9nbG9ja19ucV9pbml0KHNkcC0+c2RfdHJhbnNfZ2wsIExNX1NUX1NIQVJFRCwKIAkJCQkJICAgTE1fRkxBR19OT0VYUCB8IExNX0ZMQUdfUFJJT1JJVFkgfAotCQkJCQkgICBHTF9OT0NBTkNFTCB8IEdMX05PQ0FDSEUsICZ0X2doKTsKKwkJCQkJICAgR0xfTk9DQUNIRSwgJnRfZ2gpOwogCQlpZiAoZXJyb3IpCiAJCQlnb3RvIGZhaWxfZ3VubG9ja19qaTsKIApkaWZmIC0tZ2l0IGEvZnMvZ2ZzMi9yZ3JwLmMgYi9mcy9nZnMyL3JncnAuYwppbmRleCAzNDAxNjI4Li4yZDkwZmIyIDEwMDY0NAotLS0gYS9mcy9nZnMyL3JncnAuYworKysgYi9mcy9nZnMyL3JncnAuYwpAQCAtMzcxLDExICszNzEsNiBAQAogCiAJc3Bpbl9sb2NrKCZzZHAtPnNkX3JpbmRleF9zcGluKTsKIAlzZHAtPnNkX3JpbmRleF9mb3J3YXJkID0gTlVMTDsKLQloZWFkID0gJnNkcC0+c2RfcmluZGV4X3JlY2VudF9saXN0OwotCXdoaWxlICghbGlzdF9lbXB0eShoZWFkKSkgewotCQlyZ2QgPSBsaXN0X2VudHJ5KGhlYWQtPm5leHQsIHN0cnVjdCBnZnMyX3JncnBkLCByZF9yZWNlbnQpOwotCQlsaXN0X2RlbCgmcmdkLT5yZF9yZWNlbnQpOwotCX0KIAlzcGluX3VubG9jaygmc2RwLT5zZF9yaW5kZXhfc3Bpbik7CiAKIAloZWFkID0gJnNkcC0+c2RfcmluZGV4X2xpc3Q7CkBAIC05NDUsMTA3ICs5NDAsMzAgQEAKIH0KIAogLyoqCi0gKiByZWNlbnRfcmdycF9maXJzdCAtIGdldCBmaXJzdCBSRyBmcm9tICJyZWNlbnQiIGxpc3QKLSAqIEBzZHA6IFRoZSBHRlMyIHN1cGVyYmxvY2sKLSAqIEByZ2xhc3Q6IGFkZHJlc3Mgb2YgdGhlIHJncnAgdXNlZCBsYXN0Ci0gKgotICogUmV0dXJuczogVGhlIGZpcnN0IHJncnAgaW4gdGhlIHJlY2VudCBsaXN0Ci0gKi8KLQotc3RhdGljIHN0cnVjdCBnZnMyX3JncnBkICpyZWNlbnRfcmdycF9maXJzdChzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCwKLQkJCQkJICAgIHU2NCByZ2xhc3QpCi17Ci0Jc3RydWN0IGdmczJfcmdycGQgKnJnZDsKLQotCXNwaW5fbG9jaygmc2RwLT5zZF9yaW5kZXhfc3Bpbik7Ci0KLQlpZiAocmdsYXN0KSB7Ci0JCWxpc3RfZm9yX2VhY2hfZW50cnkocmdkLCAmc2RwLT5zZF9yaW5kZXhfcmVjZW50X2xpc3QsIHJkX3JlY2VudCkgewotCQkJaWYgKHJncnBfY29udGFpbnNfYmxvY2socmdkLCByZ2xhc3QpKQotCQkJCWdvdG8gb3V0OwotCQl9Ci0JfQotCXJnZCA9IE5VTEw7Ci0JaWYgKCFsaXN0X2VtcHR5KCZzZHAtPnNkX3JpbmRleF9yZWNlbnRfbGlzdCkpCi0JCXJnZCA9IGxpc3RfZW50cnkoc2RwLT5zZF9yaW5kZXhfcmVjZW50X2xpc3QubmV4dCwKLQkJCQkgc3RydWN0IGdmczJfcmdycGQsIHJkX3JlY2VudCk7Ci1vdXQ6Ci0Jc3Bpbl91bmxvY2soJnNkcC0+c2RfcmluZGV4X3NwaW4pOwotCXJldHVybiByZ2Q7Ci19Ci0KLS8qKgogICogcmVjZW50X3JncnBfbmV4dCAtIGdldCBuZXh0IFJHIGZyb20gInJlY2VudCIgbGlzdAogICogQGN1cl9yZ2Q6IGN1cnJlbnQgcmdycAotICogQHJlbW92ZToKICAqCiAgKiBSZXR1cm5zOiBUaGUgbmV4dCByZ3JwIGluIHRoZSByZWNlbnQgbGlzdAogICovCiAKLXN0YXRpYyBzdHJ1Y3QgZ2ZzMl9yZ3JwZCAqcmVjZW50X3JncnBfbmV4dChzdHJ1Y3QgZ2ZzMl9yZ3JwZCAqY3VyX3JnZCwKLQkJCQkJICAgaW50IHJlbW92ZSkKK3N0YXRpYyBzdHJ1Y3QgZ2ZzMl9yZ3JwZCAqcmVjZW50X3JncnBfbmV4dChzdHJ1Y3QgZ2ZzMl9yZ3JwZCAqY3VyX3JnZCkKIHsKIAlzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCA9IGN1cl9yZ2QtPnJkX3NiZDsKIAlzdHJ1Y3QgbGlzdF9oZWFkICpoZWFkOwogCXN0cnVjdCBnZnMyX3JncnBkICpyZ2Q7CiAKIAlzcGluX2xvY2soJnNkcC0+c2RfcmluZGV4X3NwaW4pOwotCi0JaGVhZCA9ICZzZHAtPnNkX3JpbmRleF9yZWNlbnRfbGlzdDsKLQotCWxpc3RfZm9yX2VhY2hfZW50cnkocmdkLCBoZWFkLCByZF9yZWNlbnQpIHsKLQkJaWYgKHJnZCA9PSBjdXJfcmdkKSB7Ci0JCQlpZiAoY3VyX3JnZC0+cmRfcmVjZW50Lm5leHQgIT0gaGVhZCkKLQkJCQlyZ2QgPSBsaXN0X2VudHJ5KGN1cl9yZ2QtPnJkX3JlY2VudC5uZXh0LAotCQkJCQkJIHN0cnVjdCBnZnMyX3JncnBkLCByZF9yZWNlbnQpOwotCQkJZWxzZQotCQkJCXJnZCA9IE5VTEw7Ci0KLQkJCWlmIChyZW1vdmUpCi0JCQkJbGlzdF9kZWwoJmN1cl9yZ2QtPnJkX3JlY2VudCk7Ci0KLQkJCWdvdG8gb3V0OwotCQl9CisJaGVhZCA9ICZzZHAtPnNkX3JpbmRleF9tcnVfbGlzdDsKKwlpZiAodW5saWtlbHkoY3VyX3JnZC0+cmRfbGlzdF9tcnUubmV4dCA9PSBoZWFkKSkgeworCQlzcGluX3VubG9jaygmc2RwLT5zZF9yaW5kZXhfc3Bpbik7CisJCXJldHVybiBOVUxMOwogCX0KLQotCXJnZCA9IE5VTEw7Ci0JaWYgKCFsaXN0X2VtcHR5KGhlYWQpKQotCQlyZ2QgPSBsaXN0X2VudHJ5KGhlYWQtPm5leHQsIHN0cnVjdCBnZnMyX3JncnBkLCByZF9yZWNlbnQpOwotCi1vdXQ6CisJcmdkID0gbGlzdF9lbnRyeShjdXJfcmdkLT5yZF9saXN0X21ydS5uZXh0LCBzdHJ1Y3QgZ2ZzMl9yZ3JwZCwgcmRfbGlzdF9tcnUpOwogCXNwaW5fdW5sb2NrKCZzZHAtPnNkX3JpbmRleF9zcGluKTsKIAlyZXR1cm4gcmdkOwogfQogCiAvKioKLSAqIHJlY2VudF9yZ3JwX2FkZCAtIGFkZCBhbiBSRyB0byB0YWlsIG9mICJyZWNlbnQiIGxpc3QKLSAqIEBuZXdfcmdkOiBUaGUgcmdycCB0byBhZGQKLSAqCi0gKi8KLQotc3RhdGljIHZvaWQgcmVjZW50X3JncnBfYWRkKHN0cnVjdCBnZnMyX3JncnBkICpuZXdfcmdkKQotewotCXN0cnVjdCBnZnMyX3NiZCAqc2RwID0gbmV3X3JnZC0+cmRfc2JkOwotCXN0cnVjdCBnZnMyX3JncnBkICpyZ2Q7Ci0JdW5zaWduZWQgaW50IGNvdW50ID0gMDsKLQl1bnNpZ25lZCBpbnQgbWF4ID0gc2RwLT5zZF9yZ3JwcyAvIGdmczJfamluZGV4X3NpemUoc2RwKTsKLQotCXNwaW5fbG9jaygmc2RwLT5zZF9yaW5kZXhfc3Bpbik7Ci0KLQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHJnZCwgJnNkcC0+c2RfcmluZGV4X3JlY2VudF9saXN0LCByZF9yZWNlbnQpIHsKLQkJaWYgKHJnZCA9PSBuZXdfcmdkKQotCQkJZ290byBvdXQ7Ci0KLQkJaWYgKCsrY291bnQgPj0gbWF4KQotCQkJZ290byBvdXQ7Ci0JfQotCWxpc3RfYWRkX3RhaWwoJm5ld19yZ2QtPnJkX3JlY2VudCwgJnNkcC0+c2RfcmluZGV4X3JlY2VudF9saXN0KTsKLQotb3V0OgotCXNwaW5fdW5sb2NrKCZzZHAtPnNkX3JpbmRleF9zcGluKTsKLX0KLQotLyoqCiAgKiBmb3J3YXJkX3JncnBfZ2V0IC0gZ2V0IGFuIHJncnAgdG8gdHJ5IG5leHQgZnJvbSBmdWxsIGxpc3QKICAqIEBzZHA6IFRoZSBHRlMyIHN1cGVyYmxvY2sKICAqCkBAIC0xMTEyLDkgKzEwMzAsNyBAQAogCWludCBsb29wcyA9IDA7CiAJaW50IGVycm9yLCByZ19sb2NrZWQ7CiAKLQkvKiBUcnkgcmVjZW50bHkgc3VjY2Vzc2Z1bCByZ3JwcyAqLwotCi0JcmdkID0gcmVjZW50X3JncnBfZmlyc3Qoc2RwLCBpcC0+aV9nb2FsKTsKKwlyZ2QgPSBnZnMyX2JsazJyZ3JwZChzZHAsIGlwLT5pX2dvYWwpOwogCiAJd2hpbGUgKHJnZCkgewogCQlyZ19sb2NrZWQgPSAwOwpAQCAtMTEzNiwxMSArMTA1Miw5IEBACiAJCQkJZ2ZzMl9nbG9ja19kcV91bmluaXQoJmFsLT5hbF9yZ2RfZ2gpOwogCQkJaWYgKGlub2RlKQogCQkJCXJldHVybiBpbm9kZTsKLQkJCXJnZCA9IHJlY2VudF9yZ3JwX25leHQocmdkLCAxKTsKLQkJCWJyZWFrOwotCisJCQkvKiBmYWxsIHRocm91Z2ggKi8KIAkJY2FzZSBHTFJfVFJZRkFJTEVEOgotCQkJcmdkID0gcmVjZW50X3JncnBfbmV4dChyZ2QsIDApOworCQkJcmdkID0gcmVjZW50X3JncnBfbmV4dChyZ2QpOwogCQkJYnJlYWs7CiAKIAkJZGVmYXVsdDoKQEAgLTExOTksNyArMTExMyw5IEBACiAKIG91dDoKIAlpZiAoYmVnaW4pIHsKLQkJcmVjZW50X3JncnBfYWRkKHJnZCk7CisJCXNwaW5fbG9jaygmc2RwLT5zZF9yaW5kZXhfc3Bpbik7CisJCWxpc3RfbW92ZSgmcmdkLT5yZF9saXN0X21ydSwgJnNkcC0+c2RfcmluZGV4X21ydV9saXN0KTsKKwkJc3Bpbl91bmxvY2soJnNkcC0+c2RfcmluZGV4X3NwaW4pOwogCQlyZ2QgPSBnZnMyX3JncnBkX2dldF9uZXh0KHJnZCk7CiAJCWlmICghcmdkKQogCQkJcmdkID0gZ2ZzMl9yZ3JwZF9nZXRfZmlyc3Qoc2RwKTsKZGlmZiAtLWdpdCBhL2ZzL2dmczIvc3VwZXIuYyBiL2ZzL2dmczIvc3VwZXIuYwppbmRleCA3YWVhY2JjLi42M2E4YTkwIDEwMDY0NAotLS0gYS9mcy9nZnMyL3N1cGVyLmMKKysrIGIvZnMvZ2ZzMi9zdXBlci5jCkBAIC02NSw3ICs2NSw2IEBACiAJZ3QtPmd0X3F1b3RhX3F1YW50dW0gPSA2MDsKIAlndC0+Z3RfYXRpbWVfcXVhbnR1bSA9IDM2MDA7CiAJZ3QtPmd0X25ld19maWxlc19qZGF0YSA9IDA7Ci0JZ3QtPmd0X25ld19maWxlc19kaXJlY3RpbyA9IDA7CiAJZ3QtPmd0X21heF9yZWFkYWhlYWQgPSAxIDw8IDE4OwogCWd0LT5ndF9zdGFsbF9zZWNzID0gNjAwOwogCWd0LT5ndF9jb21wbGFpbl9zZWNzID0gMTA7CkBAIC05NDEsOCArOTQwLDcgQEAKIAl9CiAKIAllcnJvciA9IGdmczJfZ2xvY2tfbnFfaW5pdChzZHAtPnNkX3RyYW5zX2dsLCBMTV9TVF9ERUZFUlJFRCwKLQkJCSAgICAgICBMTV9GTEFHX1BSSU9SSVRZIHwgR0xfTk9DQUNIRSwKLQkJCSAgICAgICB0X2doKTsKKwkJCQkgICBHTF9OT0NBQ0hFLCB0X2doKTsKIAogCWxpc3RfZm9yX2VhY2hfZW50cnkoamQsICZzZHAtPnNkX2ppbmRleF9saXN0LCBqZF9saXN0KSB7CiAJCWVycm9yID0gZ2ZzMl9qZGVzY19jaGVjayhqZCk7CmRpZmYgLS1naXQgYS9mcy9nZnMyL3N5cy5jIGIvZnMvZ2ZzMi9zeXMuYwppbmRleCA5YWI5ZmM4Li43NDg0NjU1IDEwMDY0NAotLS0gYS9mcy9nZnMyL3N5cy5jCisrKyBiL2ZzL2dmczIvc3lzLmMKQEAgLTExMCwxOCArMTEwLDYgQEAKIAlyZXR1cm4gbGVuOwogfQogCi1zdGF0aWMgc3NpemVfdCBzaHJpbmtfc3RvcmUoc3RydWN0IGdmczJfc2JkICpzZHAsIGNvbnN0IGNoYXIgKmJ1Ziwgc2l6ZV90IGxlbikKLXsKLQlpZiAoIWNhcGFibGUoQ0FQX1NZU19BRE1JTikpCi0JCXJldHVybiAtRUFDQ0VTOwotCi0JaWYgKHNpbXBsZV9zdHJ0b2woYnVmLCBOVUxMLCAwKSAhPSAxKQotCQlyZXR1cm4gLUVJTlZBTDsKLQotCWdmczJfZ2xfaGFzaF9jbGVhcihzZHAsIE5PX1dBSVQpOwotCXJldHVybiBsZW47Ci19Ci0KIHN0YXRpYyBzc2l6ZV90IHF1b3RhX3N5bmNfc3RvcmUoc3RydWN0IGdmczJfc2JkICpzZHAsIGNvbnN0IGNoYXIgKmJ1ZiwKIAkJCQlzaXplX3QgbGVuKQogewpAQCAtMTc1LDcgKzE2Myw2IEBACiBHRlMyX0FUVFIoaWQsICAgICAgICAgICAgICAgICAgMDQ0NCwgaWRfc2hvdywgICAgICAgTlVMTCk7CiBHRlMyX0FUVFIoZnNuYW1lLCAgICAgICAgICAgICAgMDQ0NCwgZnNuYW1lX3Nob3csICAgTlVMTCk7CiBHRlMyX0FUVFIoZnJlZXplLCAgICAgICAgICAgICAgMDY0NCwgZnJlZXplX3Nob3csICAgZnJlZXplX3N0b3JlKTsKLUdGUzJfQVRUUihzaHJpbmssICAgICAgICAgICAgICAwMjAwLCBOVUxMLCAgICAgICAgICBzaHJpbmtfc3RvcmUpOwogR0ZTMl9BVFRSKHdpdGhkcmF3LCAgICAgICAgICAgIDA2NDQsIHdpdGhkcmF3X3Nob3csIHdpdGhkcmF3X3N0b3JlKTsKIEdGUzJfQVRUUihzdGF0ZnNfc3luYywgICAgICAgICAwMjAwLCBOVUxMLCAgICAgICAgICBzdGF0ZnNfc3luY19zdG9yZSk7CiBHRlMyX0FUVFIocXVvdGFfc3luYywgICAgICAgICAgMDIwMCwgTlVMTCwgICAgICAgICAgcXVvdGFfc3luY19zdG9yZSk7CkBAIC0xODYsNyArMTczLDYgQEAKIAkmZ2ZzMl9hdHRyX2lkLmF0dHIsCiAJJmdmczJfYXR0cl9mc25hbWUuYXR0ciwKIAkmZ2ZzMl9hdHRyX2ZyZWV6ZS5hdHRyLAotCSZnZnMyX2F0dHJfc2hyaW5rLmF0dHIsCiAJJmdmczJfYXR0cl93aXRoZHJhdy5hdHRyLAogCSZnZnMyX2F0dHJfc3RhdGZzX3N5bmMuYXR0ciwKIAkmZ2ZzMl9hdHRyX3F1b3RhX3N5bmMuYXR0ciwKQEAgLTQyNiw3ICs0MTIsNiBAQAogVFVORV9BVFRSKGNvbXBsYWluX3NlY3MsIDApOwogVFVORV9BVFRSKHN0YXRmc19zbG93LCAwKTsKIFRVTkVfQVRUUihuZXdfZmlsZXNfamRhdGEsIDApOwotVFVORV9BVFRSKG5ld19maWxlc19kaXJlY3RpbywgMCk7CiBUVU5FX0FUVFIocXVvdGFfc2ltdWxfc3luYywgMSk7CiBUVU5FX0FUVFIocXVvdGFfY2FjaGVfc2VjcywgMSk7CiBUVU5FX0FUVFIoc3RhbGxfc2VjcywgMSk7CkBAIC00NTUsNyArNDQwLDYgQEAKIAkmdHVuZV9hdHRyX3F1b3RhZF9zZWNzLmF0dHIsCiAJJnR1bmVfYXR0cl9xdW90YV9zY2FsZS5hdHRyLAogCSZ0dW5lX2F0dHJfbmV3X2ZpbGVzX2pkYXRhLmF0dHIsCi0JJnR1bmVfYXR0cl9uZXdfZmlsZXNfZGlyZWN0aW8uYXR0ciwKIAlOVUxMLAogfTsKIApkaWZmIC0tZ2l0IGEvZnMvamJkMi9jaGVja3BvaW50LmMgYi9mcy9qYmQyL2NoZWNrcG9pbnQuYwppbmRleCA2OTE0NTk4Li45MTM4OWM4IDEwMDY0NAotLS0gYS9mcy9qYmQyL2NoZWNrcG9pbnQuYworKysgYi9mcy9qYmQyL2NoZWNrcG9pbnQuYwpAQCAtNjg4LDcgKzY4OCw2IEBACiAKIAlKX0FTU0VSVCh0cmFuc2FjdGlvbi0+dF9zdGF0ZSA9PSBUX0ZJTklTSEVEKTsKIAlKX0FTU0VSVCh0cmFuc2FjdGlvbi0+dF9idWZmZXJzID09IE5VTEwpOwotCUpfQVNTRVJUKHRyYW5zYWN0aW9uLT50X3N5bmNfZGF0YWxpc3QgPT0gTlVMTCk7CiAJSl9BU1NFUlQodHJhbnNhY3Rpb24tPnRfZm9yZ2V0ID09IE5VTEwpOwogCUpfQVNTRVJUKHRyYW5zYWN0aW9uLT50X2lvYnVmX2xpc3QgPT0gTlVMTCk7CiAJSl9BU1NFUlQodHJhbnNhY3Rpb24tPnRfc2hhZG93X2xpc3QgPT0gTlVMTCk7CmRpZmYgLS1naXQgYS9mcy9qYmQyL2NvbW1pdC5jIGIvZnMvamJkMi9jb21taXQuYwppbmRleCBhMmVkNzJmLi5mOGIzYmU4IDEwMDY0NAotLS0gYS9mcy9qYmQyL2NvbW1pdC5jCisrKyBiL2ZzL2piZDIvY29tbWl0LmMKQEAgLTIyLDYgKzIyLDggQEAKICNpbmNsdWRlIDxsaW51eC9wYWdlbWFwLmg+CiAjaW5jbHVkZSA8bGludXgvamlmZmllcy5oPgogI2luY2x1ZGUgPGxpbnV4L2NyYzMyLmg+CisjaW5jbHVkZSA8bGludXgvd3JpdGViYWNrLmg+CisjaW5jbHVkZSA8bGludXgvYmFja2luZy1kZXYuaD4KIAogLyoKICAqIERlZmF1bHQgSU8gZW5kIGhhbmRsZXIgZm9yIHRlbXBvcmFyeSBCSl9JTyBidWZmZXJfaGVhZHMuCkBAIC0zNyw4ICszOSw4IEBACiB9CiAKIC8qCi0gKiBXaGVuIGFuIGV4dDMtb3JkZXJlZCBmaWxlIGlzIHRydW5jYXRlZCwgaXQgaXMgcG9zc2libGUgdGhhdCBtYW55IHBhZ2VzIGFyZQotICogbm90IHN1Y2Vzc2Z1bGx5IGZyZWVkLCBiZWNhdXNlIHRoZXkgYXJlIGF0dGFjaGVkIHRvIGEgY29tbWl0dGluZyB0cmFuc2FjdGlvbi4KKyAqIFdoZW4gYW4gZXh0NCBmaWxlIGlzIHRydW5jYXRlZCwgaXQgaXMgcG9zc2libGUgdGhhdCBzb21lIHBhZ2VzIGFyZSBub3QKKyAqIHN1Y2Nlc3NmdWxseSBmcmVlZCwgYmVjYXVzZSB0aGV5IGFyZSBhdHRhY2hlZCB0byBhIGNvbW1pdHRpbmcgdHJhbnNhY3Rpb24uCiAgKiBBZnRlciB0aGUgdHJhbnNhY3Rpb24gY29tbWl0cywgdGhlc2UgcGFnZXMgYXJlIGxlZnQgb24gdGhlIExSVSwgd2l0aCBubwogICogLT5tYXBwaW5nLCBhbmQgd2l0aCBhdHRhY2hlZCBidWZmZXJzLiAgVGhlc2UgcGFnZXMgYXJlIHRyaXZpYWxseSByZWNsYWltYWJsZQogICogYnkgdGhlIFZNLCBidXQgdGhlaXIgYXBwYXJlbnQgYWJzZW5jZSB1cHNldHMgdGhlIFZNIGFjY291bnRpbmcsIGFuZCBpdCBtYWtlcwpAQCAtODAsMjEgKzgyLDYgQEAKIH0KIAogLyoKLSAqIFRyeSB0byBhY3F1aXJlIGpiZF9sb2NrX2JoX3N0YXRlKCkgYWdhaW5zdCB0aGUgYnVmZmVyLCB3aGVuIGpfbGlzdF9sb2NrIGlzCi0gKiBoZWxkLiAgRm9yIHJhbmtpbmcgcmVhc29ucyB3ZSBtdXN0IHRyeWxvY2suICBJZiB3ZSBsb3NlLCBzY2hlZHVsZSBhd2F5IGFuZAotICogcmV0dXJuIDAuICBqX2xpc3RfbG9jayBpcyBkcm9wcGVkIGluIHRoaXMgY2FzZS4KLSAqLwotc3RhdGljIGludCBpbnZlcnRlZF9sb2NrKGpvdXJuYWxfdCAqam91cm5hbCwgc3RydWN0IGJ1ZmZlcl9oZWFkICpiaCkKLXsKLQlpZiAoIWpiZF90cnlsb2NrX2JoX3N0YXRlKGJoKSkgewotCQlzcGluX3VubG9jaygmam91cm5hbC0+al9saXN0X2xvY2spOwotCQlzY2hlZHVsZSgpOwotCQlyZXR1cm4gMDsKLQl9Ci0JcmV0dXJuIDE7Ci19Ci0KLS8qCiAgKiBEb25lIGl0IGFsbDogbm93IHN1Ym1pdCB0aGUgY29tbWl0IHJlY29yZC4gIFdlIHNob3VsZCBoYXZlCiAgKiBjbGVhbmVkIHVwIG91ciBwcmV2aW91cyBidWZmZXJzIGJ5IG5vdywgc28gaWYgd2UgYXJlIGluIGFib3J0CiAgKiBtb2RlIHdlIGNhbiBub3cganVzdCBza2lwIHRoZSByZXN0IG9mIHRoZSBqb3VybmFsIHdyaXRlCkBAIC0xMTIsNiArOTksNyBAQAogCXN0cnVjdCBidWZmZXJfaGVhZCAqYmg7CiAJaW50IHJldDsKIAlpbnQgYmFycmllcl9kb25lID0gMDsKKwlzdHJ1Y3QgdGltZXNwZWMgbm93ID0gY3VycmVudF9rZXJuZWxfdGltZSgpOwogCiAJaWYgKGlzX2pvdXJuYWxfYWJvcnRlZChqb3VybmFsKSkKIAkJcmV0dXJuIDA7CkBAIC0xMjYsNiArMTE0LDggQEAKIAl0bXAtPmhfbWFnaWMgPSBjcHVfdG9fYmUzMihKQkQyX01BR0lDX05VTUJFUik7CiAJdG1wLT5oX2Jsb2NrdHlwZSA9IGNwdV90b19iZTMyKEpCRDJfQ09NTUlUX0JMT0NLKTsKIAl0bXAtPmhfc2VxdWVuY2UgPSBjcHVfdG9fYmUzMihjb21taXRfdHJhbnNhY3Rpb24tPnRfdGlkKTsKKwl0bXAtPmhfY29tbWl0X3NlYyA9IGNwdV90b19iZTY0KG5vdy50dl9zZWMpOworCXRtcC0+aF9jb21taXRfbnNlYyA9IGNwdV90b19iZTMyKG5vdy50dl9uc2VjKTsKIAogCWlmIChKQkQyX0hBU19DT01QQVRfRkVBVFVSRShqb3VybmFsLAogCQkJCSAgICBKQkQyX0ZFQVRVUkVfQ09NUEFUX0NIRUNLU1VNKSkgewpAQCAtMTk3LDE1OSArMTg3LDEwNCBAQAogfQogCiAvKgotICogV2FpdCBmb3IgYWxsIHN1Ym1pdHRlZCBJTyB0byBjb21wbGV0ZS4KKyAqIHdyaXRlIHRoZSBmaWxlbWFwIGRhdGEgdXNpbmcgd3JpdGVwYWdlKCkgYWRkcmVzc19zcGFjZV9vcGVyYXRpb25zLgorICogV2UgZG9uJ3QgZG8gYmxvY2sgYWxsb2NhdGlvbiBoZXJlIGV2ZW4gZm9yIGRlbGFsbG9jLiBXZSBkb24ndAorICogdXNlIHdyaXRlcGFnZXMoKSBiZWNhdXNlIHdpdGggZGVhbHllZCBhbGxvY2F0aW9uIHdlIG1heSBiZSBkb2luZworICogYmxvY2sgYWxsb2NhdGlvbiBpbiB3cml0ZXBhZ2VzKCkuCiAgKi8KLXN0YXRpYyBpbnQgam91cm5hbF93YWl0X29uX2xvY2tlZF9saXN0KGpvdXJuYWxfdCAqam91cm5hbCwKLQkJCQkgICAgICAgdHJhbnNhY3Rpb25fdCAqY29tbWl0X3RyYW5zYWN0aW9uKQorc3RhdGljIGludCBqb3VybmFsX3N1Ym1pdF9pbm9kZV9kYXRhX2J1ZmZlcnMoc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcpCiB7Ci0JaW50IHJldCA9IDA7Ci0Jc3RydWN0IGpvdXJuYWxfaGVhZCAqamg7CisJaW50IHJldDsKKwlzdHJ1Y3Qgd3JpdGViYWNrX2NvbnRyb2wgd2JjID0geworCQkuc3luY19tb2RlID0gIFdCX1NZTkNfQUxMLAorCQkubnJfdG9fd3JpdGUgPSBtYXBwaW5nLT5ucnBhZ2VzICogMiwKKwkJLnJhbmdlX3N0YXJ0ID0gMCwKKwkJLnJhbmdlX2VuZCA9IGlfc2l6ZV9yZWFkKG1hcHBpbmctPmhvc3QpLAorCQkuZm9yX3dyaXRlcGFnZXMgPSAxLAorCX07CiAKLQl3aGlsZSAoY29tbWl0X3RyYW5zYWN0aW9uLT50X2xvY2tlZF9saXN0KSB7Ci0JCXN0cnVjdCBidWZmZXJfaGVhZCAqYmg7Ci0KLQkJamggPSBjb21taXRfdHJhbnNhY3Rpb24tPnRfbG9ja2VkX2xpc3QtPmJfdHByZXY7Ci0JCWJoID0gamgyYmgoamgpOwotCQlnZXRfYmgoYmgpOwotCQlpZiAoYnVmZmVyX2xvY2tlZChiaCkpIHsKLQkJCXNwaW5fdW5sb2NrKCZqb3VybmFsLT5qX2xpc3RfbG9jayk7Ci0JCQl3YWl0X29uX2J1ZmZlcihiaCk7Ci0JCQlpZiAodW5saWtlbHkoIWJ1ZmZlcl91cHRvZGF0ZShiaCkpKQotCQkJCXJldCA9IC1FSU87Ci0JCQlzcGluX2xvY2soJmpvdXJuYWwtPmpfbGlzdF9sb2NrKTsKLQkJfQotCQlpZiAoIWludmVydGVkX2xvY2soam91cm5hbCwgYmgpKSB7Ci0JCQlwdXRfYmgoYmgpOwotCQkJc3Bpbl9sb2NrKCZqb3VybmFsLT5qX2xpc3RfbG9jayk7Ci0JCQljb250aW51ZTsKLQkJfQotCQlpZiAoYnVmZmVyX2piZChiaCkgJiYgamgtPmJfamxpc3QgPT0gQkpfTG9ja2VkKSB7Ci0JCQlfX2piZDJfam91cm5hbF91bmZpbGVfYnVmZmVyKGpoKTsKLQkJCWpiZF91bmxvY2tfYmhfc3RhdGUoYmgpOwotCQkJamJkMl9qb3VybmFsX3JlbW92ZV9qb3VybmFsX2hlYWQoYmgpOwotCQkJcHV0X2JoKGJoKTsKLQkJfSBlbHNlIHsKLQkJCWpiZF91bmxvY2tfYmhfc3RhdGUoYmgpOwotCQl9Ci0JCXB1dF9iaChiaCk7Ci0JCWNvbmRfcmVzY2hlZF9sb2NrKCZqb3VybmFsLT5qX2xpc3RfbG9jayk7Ci0JfQorCXJldCA9IGdlbmVyaWNfd3JpdGVwYWdlcyhtYXBwaW5nLCAmd2JjKTsKIAlyZXR1cm4gcmV0OwotICB9Ci0KLXN0YXRpYyB2b2lkIGpvdXJuYWxfZG9fc3VibWl0X2RhdGEoc3RydWN0IGJ1ZmZlcl9oZWFkICoqd2J1ZiwgaW50IGJ1ZnMpCi17Ci0JaW50IGk7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgYnVmczsgaSsrKSB7Ci0JCXdidWZbaV0tPmJfZW5kX2lvID0gZW5kX2J1ZmZlcl93cml0ZV9zeW5jOwotCQkvKiBXZSB1c2UtdXAgb3VyIHNhZmV0eSByZWZlcmVuY2UgaW4gc3VibWl0X2JoKCkgKi8KLQkJc3VibWl0X2JoKFdSSVRFLCB3YnVmW2ldKTsKLQl9CiB9CiAKIC8qCi0gKiAgU3VibWl0IGFsbCB0aGUgZGF0YSBidWZmZXJzIHRvIGRpc2sKKyAqIFN1Ym1pdCBhbGwgdGhlIGRhdGEgYnVmZmVycyBvZiBpbm9kZSBhc3NvY2lhdGVkIHdpdGggdGhlIHRyYW5zYWN0aW9uIHRvCisgKiBkaXNrLgorICoKKyAqIFdlIGFyZSBpbiBhIGNvbW1pdHRpbmcgdHJhbnNhY3Rpb24uIFRoZXJlZm9yZSBubyBuZXcgaW5vZGUgY2FuIGJlIGFkZGVkIHRvCisgKiBvdXIgaW5vZGUgbGlzdC4gV2UgdXNlIEpJX0NPTU1JVF9SVU5OSU5HIGZsYWcgdG8gcHJvdGVjdCBpbm9kZSB3ZSBjdXJyZW50bHkKKyAqIG9wZXJhdGUgb24gZnJvbSBiZWluZyByZWxlYXNlZCB3aGlsZSB3ZSB3cml0ZSBvdXQgcGFnZXMuCiAgKi8KLXN0YXRpYyB2b2lkIGpvdXJuYWxfc3VibWl0X2RhdGFfYnVmZmVycyhqb3VybmFsX3QgKmpvdXJuYWwsCi0JCQkJdHJhbnNhY3Rpb25fdCAqY29tbWl0X3RyYW5zYWN0aW9uKQorc3RhdGljIGludCBqb3VybmFsX3N1Ym1pdF9kYXRhX2J1ZmZlcnMoam91cm5hbF90ICpqb3VybmFsLAorCQl0cmFuc2FjdGlvbl90ICpjb21taXRfdHJhbnNhY3Rpb24pCiB7Ci0Jc3RydWN0IGpvdXJuYWxfaGVhZCAqamg7Ci0Jc3RydWN0IGJ1ZmZlcl9oZWFkICpiaDsKLQlpbnQgbG9ja2VkOwotCWludCBidWZzID0gMDsKLQlzdHJ1Y3QgYnVmZmVyX2hlYWQgKip3YnVmID0gam91cm5hbC0+al93YnVmOworCXN0cnVjdCBqYmQyX2lub2RlICpqaW5vZGU7CisJaW50IGVyciwgcmV0ID0gMDsKKwlzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZzsKIAotCS8qCi0JICogV2hlbmV2ZXIgd2UgdW5sb2NrIHRoZSBqb3VybmFsIGFuZCBzbGVlcCwgdGhpbmdzIGNhbiBnZXQgYWRkZWQKLQkgKiBvbnRvIC0+dF9zeW5jX2RhdGFsaXN0LCBzbyB3ZSBoYXZlIHRvIGtlZXAgbG9vcGluZyBiYWNrIHRvCi0JICogd3JpdGVfb3V0X2RhdGEgdW50aWwgd2UgKmtub3cqIHRoYXQgdGhlIGxpc3QgaXMgZW1wdHkuCi0JICoKLQkgKiBDbGVhbnVwIGFueSBmbHVzaGVkIGRhdGEgYnVmZmVycyBmcm9tIHRoZSBkYXRhIGxpc3QuICBFdmVuIGluCi0JICogYWJvcnQgbW9kZSwgd2Ugd2FudCB0byBmbHVzaCB0aGlzIG91dCBhcyBzb29uIGFzIHBvc3NpYmxlLgotCSAqLwotd3JpdGVfb3V0X2RhdGE6Ci0JY29uZF9yZXNjaGVkKCk7CiAJc3Bpbl9sb2NrKCZqb3VybmFsLT5qX2xpc3RfbG9jayk7Ci0KLQl3aGlsZSAoY29tbWl0X3RyYW5zYWN0aW9uLT50X3N5bmNfZGF0YWxpc3QpIHsKLQkJamggPSBjb21taXRfdHJhbnNhY3Rpb24tPnRfc3luY19kYXRhbGlzdDsKLQkJYmggPSBqaDJiaChqaCk7Ci0JCWxvY2tlZCA9IDA7Ci0KLQkJLyogR2V0IHJlZmVyZW5jZSBqdXN0IHRvIG1ha2Ugc3VyZSBidWZmZXIgZG9lcyBub3QgZGlzYXBwZWFyCi0JCSAqIHdoZW4gd2UgYXJlIGZvcmNlZCB0byBkcm9wIHZhcmlvdXMgbG9ja3MgKi8KLQkJZ2V0X2JoKGJoKTsKLQkJLyogSWYgdGhlIGJ1ZmZlciBpcyBkaXJ0eSwgd2UgbmVlZCB0byBzdWJtaXQgSU8gYW5kIGhlbmNlCi0JCSAqIHdlIG5lZWQgdGhlIGJ1ZmZlciBsb2NrLiBXZSB0cnkgdG8gbG9jayB0aGUgYnVmZmVyIHdpdGhvdXQKLQkJICogYmxvY2tpbmcuIElmIHdlIGZhaWwsIHdlIG5lZWQgdG8gZHJvcCBqX2xpc3RfbG9jayBhbmQgZG8KLQkJICogYmxvY2tpbmcgbG9ja19idWZmZXIoKS4KKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KGppbm9kZSwgJmNvbW1pdF90cmFuc2FjdGlvbi0+dF9pbm9kZV9saXN0LCBpX2xpc3QpIHsKKwkJbWFwcGluZyA9IGppbm9kZS0+aV92ZnNfaW5vZGUtPmlfbWFwcGluZzsKKwkJamlub2RlLT5pX2ZsYWdzIHw9IEpJX0NPTU1JVF9SVU5OSU5HOworCQlzcGluX3VubG9jaygmam91cm5hbC0+al9saXN0X2xvY2spOworCQkvKgorCQkgKiBzdWJtaXQgdGhlIGlub2RlIGRhdGEgYnVmZmVycy4gV2UgdXNlIHdyaXRlcGFnZQorCQkgKiBpbnN0ZWFkIG9mIHdyaXRlcGFnZXMuIEJlY2F1c2Ugd3JpdGVwYWdlcyBjYW4gZG8KKwkJICogYmxvY2sgYWxsb2NhdGlvbiAgd2l0aCBkZWxhbGxvYy4gV2UgbmVlZCB0byB3cml0ZQorCQkgKiBvbmx5IGFsbG9jYXRlZCBibG9ja3MgaGVyZS4KIAkJICovCi0JCWlmIChidWZmZXJfZGlydHkoYmgpKSB7Ci0JCQlpZiAodGVzdF9zZXRfYnVmZmVyX2xvY2tlZChiaCkpIHsKLQkJCQlCVUZGRVJfVFJBQ0UoYmgsICJuZWVkcyBibG9ja2luZyBsb2NrIik7Ci0JCQkJc3Bpbl91bmxvY2soJmpvdXJuYWwtPmpfbGlzdF9sb2NrKTsKLQkJCQkvKiBXcml0ZSBvdXQgYWxsIGRhdGEgdG8gcHJldmVudCBkZWFkbG9ja3MgKi8KLQkJCQlqb3VybmFsX2RvX3N1Ym1pdF9kYXRhKHdidWYsIGJ1ZnMpOwotCQkJCWJ1ZnMgPSAwOwotCQkJCWxvY2tfYnVmZmVyKGJoKTsKLQkJCQlzcGluX2xvY2soJmpvdXJuYWwtPmpfbGlzdF9sb2NrKTsKLQkJCX0KLQkJCWxvY2tlZCA9IDE7Ci0JCX0KLQkJLyogV2UgaGF2ZSB0byBnZXQgYmhfc3RhdGUgbG9jay4gQWdhaW4gb3V0IG9mIG9yZGVyLCBzaWdoLiAqLwotCQlpZiAoIWludmVydGVkX2xvY2soam91cm5hbCwgYmgpKSB7Ci0JCQlqYmRfbG9ja19iaF9zdGF0ZShiaCk7Ci0JCQlzcGluX2xvY2soJmpvdXJuYWwtPmpfbGlzdF9sb2NrKTsKLQkJfQotCQkvKiBTb21lb25lIGFscmVhZHkgY2xlYW5lZCB1cCB0aGUgYnVmZmVyPyAqLwotCQlpZiAoIWJ1ZmZlcl9qYmQoYmgpCi0JCQl8fCBqaC0+Yl90cmFuc2FjdGlvbiAhPSBjb21taXRfdHJhbnNhY3Rpb24KLQkJCXx8IGpoLT5iX2psaXN0ICE9IEJKX1N5bmNEYXRhKSB7Ci0JCQlqYmRfdW5sb2NrX2JoX3N0YXRlKGJoKTsKLQkJCWlmIChsb2NrZWQpCi0JCQkJdW5sb2NrX2J1ZmZlcihiaCk7Ci0JCQlCVUZGRVJfVFJBQ0UoYmgsICJhbHJlYWR5IGNsZWFuZWQgdXAiKTsKLQkJCXB1dF9iaChiaCk7Ci0JCQljb250aW51ZTsKLQkJfQotCQlpZiAobG9ja2VkICYmIHRlc3RfY2xlYXJfYnVmZmVyX2RpcnR5KGJoKSkgewotCQkJQlVGRkVSX1RSQUNFKGJoLCAibmVlZHMgd3JpdGVvdXQsIGFkZGluZyB0byBhcnJheSIpOwotCQkJd2J1ZltidWZzKytdID0gYmg7Ci0JCQlfX2piZDJfam91cm5hbF9maWxlX2J1ZmZlcihqaCwgY29tbWl0X3RyYW5zYWN0aW9uLAotCQkJCQkJQkpfTG9ja2VkKTsKLQkJCWpiZF91bmxvY2tfYmhfc3RhdGUoYmgpOwotCQkJaWYgKGJ1ZnMgPT0gam91cm5hbC0+al93YnVmc2l6ZSkgewotCQkJCXNwaW5fdW5sb2NrKCZqb3VybmFsLT5qX2xpc3RfbG9jayk7Ci0JCQkJam91cm5hbF9kb19zdWJtaXRfZGF0YSh3YnVmLCBidWZzKTsKLQkJCQlidWZzID0gMDsKLQkJCQlnb3RvIHdyaXRlX291dF9kYXRhOwotCQkJfQotCQl9IGVsc2UgaWYgKCFsb2NrZWQgJiYgYnVmZmVyX2xvY2tlZChiaCkpIHsKLQkJCV9famJkMl9qb3VybmFsX2ZpbGVfYnVmZmVyKGpoLCBjb21taXRfdHJhbnNhY3Rpb24sCi0JCQkJCQlCSl9Mb2NrZWQpOwotCQkJamJkX3VubG9ja19iaF9zdGF0ZShiaCk7Ci0JCQlwdXRfYmgoYmgpOwotCQl9IGVsc2UgewotCQkJQlVGRkVSX1RSQUNFKGJoLCAid3JpdGVvdXQgY29tcGxldGU6IHVuZmlsZSIpOwotCQkJX19qYmQyX2pvdXJuYWxfdW5maWxlX2J1ZmZlcihqaCk7Ci0JCQlqYmRfdW5sb2NrX2JoX3N0YXRlKGJoKTsKLQkJCWlmIChsb2NrZWQpCi0JCQkJdW5sb2NrX2J1ZmZlcihiaCk7Ci0JCQlqYmQyX2pvdXJuYWxfcmVtb3ZlX2pvdXJuYWxfaGVhZChiaCk7Ci0JCQkvKiBPbmNlIGZvciBvdXIgc2FmZXR5IHJlZmVyZW5jZSwgb25jZSBmb3IKLQkJCSAqIGpiZDJfam91cm5hbF9yZW1vdmVfam91cm5hbF9oZWFkKCkgKi8KLQkJCXB1dF9iaChiaCk7Ci0JCQlwdXRfYmgoYmgpOwotCQl9CisJCWVyciA9IGpvdXJuYWxfc3VibWl0X2lub2RlX2RhdGFfYnVmZmVycyhtYXBwaW5nKTsKKwkJaWYgKCFyZXQpCisJCQlyZXQgPSBlcnI7CisJCXNwaW5fbG9jaygmam91cm5hbC0+al9saXN0X2xvY2spOworCQlKX0FTU0VSVChqaW5vZGUtPmlfdHJhbnNhY3Rpb24gPT0gY29tbWl0X3RyYW5zYWN0aW9uKTsKKwkJamlub2RlLT5pX2ZsYWdzICY9IH5KSV9DT01NSVRfUlVOTklORzsKKwkJd2FrZV91cF9iaXQoJmppbm9kZS0+aV9mbGFncywgX19KSV9DT01NSVRfUlVOTklORyk7CisJfQorCXNwaW5fdW5sb2NrKCZqb3VybmFsLT5qX2xpc3RfbG9jayk7CisJcmV0dXJuIHJldDsKK30KIAotCQlpZiAobmVlZF9yZXNjaGVkKCkgfHwgc3Bpbl9uZWVkYnJlYWsoJmpvdXJuYWwtPmpfbGlzdF9sb2NrKSkgewotCQkJc3Bpbl91bmxvY2soJmpvdXJuYWwtPmpfbGlzdF9sb2NrKTsKLQkJCWdvdG8gd3JpdGVfb3V0X2RhdGE7CisvKgorICogV2FpdCBmb3IgZGF0YSBzdWJtaXR0ZWQgZm9yIHdyaXRlb3V0LCByZWZpbGUgaW5vZGVzIHRvIHByb3BlcgorICogdHJhbnNhY3Rpb24gaWYgbmVlZGVkLgorICoKKyAqLworc3RhdGljIGludCBqb3VybmFsX2ZpbmlzaF9pbm9kZV9kYXRhX2J1ZmZlcnMoam91cm5hbF90ICpqb3VybmFsLAorCQl0cmFuc2FjdGlvbl90ICpjb21taXRfdHJhbnNhY3Rpb24pCit7CisJc3RydWN0IGpiZDJfaW5vZGUgKmppbm9kZSwgKm5leHRfaTsKKwlpbnQgZXJyLCByZXQgPSAwOworCisJLyogRm9yIGxvY2tpbmcsIHNlZSB0aGUgY29tbWVudCBpbiBqb3VybmFsX3N1Ym1pdF9kYXRhX2J1ZmZlcnMoKSAqLworCXNwaW5fbG9jaygmam91cm5hbC0+al9saXN0X2xvY2spOworCWxpc3RfZm9yX2VhY2hfZW50cnkoamlub2RlLCAmY29tbWl0X3RyYW5zYWN0aW9uLT50X2lub2RlX2xpc3QsIGlfbGlzdCkgeworCQlqaW5vZGUtPmlfZmxhZ3MgfD0gSklfQ09NTUlUX1JVTk5JTkc7CisJCXNwaW5fdW5sb2NrKCZqb3VybmFsLT5qX2xpc3RfbG9jayk7CisJCWVyciA9IGZpbGVtYXBfZmRhdGF3YWl0KGppbm9kZS0+aV92ZnNfaW5vZGUtPmlfbWFwcGluZyk7CisJCWlmICghcmV0KQorCQkJcmV0ID0gZXJyOworCQlzcGluX2xvY2soJmpvdXJuYWwtPmpfbGlzdF9sb2NrKTsKKwkJamlub2RlLT5pX2ZsYWdzICY9IH5KSV9DT01NSVRfUlVOTklORzsKKwkJd2FrZV91cF9iaXQoJmppbm9kZS0+aV9mbGFncywgX19KSV9DT01NSVRfUlVOTklORyk7CisJfQorCisJLyogTm93IHJlZmlsZSBpbm9kZSB0byBwcm9wZXIgbGlzdHMgKi8KKwlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUoamlub2RlLCBuZXh0X2ksCisJCQkJICZjb21taXRfdHJhbnNhY3Rpb24tPnRfaW5vZGVfbGlzdCwgaV9saXN0KSB7CisJCWxpc3RfZGVsKCZqaW5vZGUtPmlfbGlzdCk7CisJCWlmIChqaW5vZGUtPmlfbmV4dF90cmFuc2FjdGlvbikgeworCQkJamlub2RlLT5pX3RyYW5zYWN0aW9uID0gamlub2RlLT5pX25leHRfdHJhbnNhY3Rpb247CisJCQlqaW5vZGUtPmlfbmV4dF90cmFuc2FjdGlvbiA9IE5VTEw7CisJCQlsaXN0X2FkZCgmamlub2RlLT5pX2xpc3QsCisJCQkJJmppbm9kZS0+aV90cmFuc2FjdGlvbi0+dF9pbm9kZV9saXN0KTsKKwkJfSBlbHNlIHsKKwkJCWppbm9kZS0+aV90cmFuc2FjdGlvbiA9IE5VTEw7CiAJCX0KIAl9CiAJc3Bpbl91bmxvY2soJmpvdXJuYWwtPmpfbGlzdF9sb2NrKTsKLQlqb3VybmFsX2RvX3N1Ym1pdF9kYXRhKHdidWYsIGJ1ZnMpOworCisJcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIF9fdTMyIGpiZDJfY2hlY2tzdW1fZGF0YShfX3UzMiBjcmMzMl9zdW0sIHN0cnVjdCBidWZmZXJfaGVhZCAqYmgpCkBAIC01MjQsMjEgKzQ1OSw3IEBACiAJICogTm93IHN0YXJ0IGZsdXNoaW5nIHRoaW5ncyB0byBkaXNrLCBpbiB0aGUgb3JkZXIgdGhleSBhcHBlYXIKIAkgKiBvbiB0aGUgdHJhbnNhY3Rpb24gbGlzdHMuICBEYXRhIGJsb2NrcyBnbyBmaXJzdC4KIAkgKi8KLQllcnIgPSAwOwotCWpvdXJuYWxfc3VibWl0X2RhdGFfYnVmZmVycyhqb3VybmFsLCBjb21taXRfdHJhbnNhY3Rpb24pOwotCi0JLyoKLQkgKiBXYWl0IGZvciBhbGwgcHJldmlvdXNseSBzdWJtaXR0ZWQgSU8gdG8gY29tcGxldGUgaWYgY29tbWl0Ci0JICogcmVjb3JkIGlzIHRvIGJlIHdyaXR0ZW4gc3luY2hyb25vdXNseS4KLQkgKi8KLQlzcGluX2xvY2soJmpvdXJuYWwtPmpfbGlzdF9sb2NrKTsKLQlpZiAoIUpCRDJfSEFTX0lOQ09NUEFUX0ZFQVRVUkUoam91cm5hbCwKLQkJSkJEMl9GRUFUVVJFX0lOQ09NUEFUX0FTWU5DX0NPTU1JVCkpCi0JCWVyciA9IGpvdXJuYWxfd2FpdF9vbl9sb2NrZWRfbGlzdChqb3VybmFsLAotCQkJCQkJY29tbWl0X3RyYW5zYWN0aW9uKTsKLQotCXNwaW5fdW5sb2NrKCZqb3VybmFsLT5qX2xpc3RfbG9jayk7Ci0KKwllcnIgPSBqb3VybmFsX3N1Ym1pdF9kYXRhX2J1ZmZlcnMoam91cm5hbCwgY29tbWl0X3RyYW5zYWN0aW9uKTsKIAlpZiAoZXJyKQogCQlqYmQyX2pvdXJuYWxfYWJvcnQoam91cm5hbCwgZXJyKTsKIApAQCAtNTQ3LDE2ICs0NjgsNiBAQAogCWpiZF9kZWJ1ZygzLCAiSkJEOiBjb21taXQgcGhhc2UgMlxuIik7CiAKIAkvKgotCSAqIElmIHdlIGZvdW5kIGFueSBkaXJ0eSBvciBsb2NrZWQgYnVmZmVycywgdGhlbiB3ZSBzaG91bGQgaGF2ZQotCSAqIGxvb3BlZCBiYWNrIHVwIHRvIHRoZSB3cml0ZV9vdXRfZGF0YSBsYWJlbC4gIElmIHRoZXJlIHdlcmVuJ3QKLQkgKiBhbnkgdGhlbiBqb3VybmFsX2NsZWFuX2RhdGFfbGlzdCBzaG91bGQgaGF2ZSB3aXBlZCB0aGUgbGlzdAotCSAqIGNsZWFuIGJ5IG5vdywgc28gY2hlY2sgdGhhdCBpdCBpcyBpbiBmYWN0IGVtcHR5LgotCSAqLwotCUpfQVNTRVJUIChjb21taXRfdHJhbnNhY3Rpb24tPnRfc3luY19kYXRhbGlzdCA9PSBOVUxMKTsKLQotCWpiZF9kZWJ1ZyAoMywgIkpCRDogY29tbWl0IHBoYXNlIDNcbiIpOwotCi0JLyoKIAkgKiBXYXkgdG8gZ286IHdlIGhhdmUgbm93IHdyaXR0ZW4gb3V0IGFsbCBvZiB0aGUgZGF0YSBmb3IgYQogCSAqIHRyYW5zYWN0aW9uISAgTm93IGNvbWVzIHRoZSB0cmlja3kgcGFydDogd2UgbmVlZCB0byB3cml0ZSBvdXQKIAkgKiBtZXRhZGF0YS4gIExvb3Agb3ZlciB0aGUgdHJhbnNhY3Rpb24ncyBlbnRpcmUgYnVmZmVyIGxpc3Q6CkBAIC01NzQsNiArNDg1LDcgQEAKIAlKX0FTU0VSVChjb21taXRfdHJhbnNhY3Rpb24tPnRfbnJfYnVmZmVycyA8PQogCQkgY29tbWl0X3RyYW5zYWN0aW9uLT50X291dHN0YW5kaW5nX2NyZWRpdHMpOwogCisJZXJyID0gMDsKIAlkZXNjcmlwdG9yID0gTlVMTDsKIAlidWZzID0gMDsKIAl3aGlsZSAoY29tbWl0X3RyYW5zYWN0aW9uLT50X2J1ZmZlcnMpIHsKQEAgLTc0OCwxNSArNjYwLDE5IEBACiAJCQkJCQkgJmNiaCwgY3JjMzJfc3VtKTsKIAkJaWYgKGVycikKIAkJCV9famJkMl9qb3VybmFsX2Fib3J0X2hhcmQoam91cm5hbCk7Ci0KLQkJc3Bpbl9sb2NrKCZqb3VybmFsLT5qX2xpc3RfbG9jayk7Ci0JCWVyciA9IGpvdXJuYWxfd2FpdF9vbl9sb2NrZWRfbGlzdChqb3VybmFsLAotCQkJCQkJY29tbWl0X3RyYW5zYWN0aW9uKTsKLQkJc3Bpbl91bmxvY2soJmpvdXJuYWwtPmpfbGlzdF9sb2NrKTsKLQkJaWYgKGVycikKLQkJCV9famJkMl9qb3VybmFsX2Fib3J0X2hhcmQoam91cm5hbCk7CiAJfQogCisJLyoKKwkgKiBUaGlzIGlzIHRoZSByaWdodCBwbGFjZSB0byB3YWl0IGZvciBkYXRhIGJ1ZmZlcnMgYm90aCBmb3IgQVNZTkMKKwkgKiBhbmQgIUFTWU5DIGNvbW1pdC4gSWYgY29tbWl0IGlzIEFTWU5DLCB3ZSBuZWVkIHRvIHdhaXQgb25seSBhZnRlcgorCSAqIHRoZSBjb21taXQgYmxvY2sgd2VudCB0byBkaXNrICh3aGljaCBoYXBwZW5zIGFib3ZlKS4gSWYgY29tbWl0IGlzCisJICogU1lOQywgd2UgbmVlZCB0byB3YWl0IGZvciBkYXRhIGJ1ZmZlcnMgYmVmb3JlIHdlIHN0YXJ0IHdyaXRpbmcKKwkgKiBjb21taXQgYmxvY2ssIHdoaWNoIGhhcHBlbnMgYmVsb3cgaW4gc3VjaCBzZXR0aW5nLgorCSAqLworCWVyciA9IGpvdXJuYWxfZmluaXNoX2lub2RlX2RhdGFfYnVmZmVycyhqb3VybmFsLCBjb21taXRfdHJhbnNhY3Rpb24pOworCWlmIChlcnIpCisJCWpiZDJfam91cm5hbF9hYm9ydChqb3VybmFsLCBlcnIpOworCiAJLyogTG8gYW5kIGJlaG9sZDogd2UgaGF2ZSBqdXN0IG1hbmFnZWQgdG8gc2VuZCBhIHRyYW5zYWN0aW9uIHRvCiAgICAgICAgICAgIHRoZSBsb2cuICBCZWZvcmUgd2UgY2FuIGNvbW1pdCBpdCwgd2FpdCBmb3IgdGhlIElPIHNvIGZhciB0bwogICAgICAgICAgICBjb21wbGV0ZS4gIENvbnRyb2wgYnVmZmVycyBiZWluZyB3cml0dGVuIGFyZSBvbiB0aGUKQEAgLTc2OCw3ICs2ODQsNyBAQAogCSAgIHNvIHdlIGluY3VyIGxlc3Mgc2NoZWR1bGluZyBsb2FkLgogCSovCiAKLQlqYmRfZGVidWcoMywgIkpCRDogY29tbWl0IHBoYXNlIDRcbiIpOworCWpiZF9kZWJ1ZygzLCAiSkJEOiBjb21taXQgcGhhc2UgM1xuIik7CiAKIAkvKgogCSAqIGFrcG06IHRoZXNlIGFyZSBCSl9JTywgYW5kIGpfbGlzdF9sb2NrIGlzIG5vdCBuZWVkZWQuCkBAIC04MjcsNyArNzQzLDcgQEAKIAogCUpfQVNTRVJUIChjb21taXRfdHJhbnNhY3Rpb24tPnRfc2hhZG93X2xpc3QgPT0gTlVMTCk7CiAKLQlqYmRfZGVidWcoMywgIkpCRDogY29tbWl0IHBoYXNlIDVcbiIpOworCWpiZF9kZWJ1ZygzLCAiSkJEOiBjb21taXQgcGhhc2UgNFxuIik7CiAKIAkvKiBIZXJlIHdlIHdhaXQgZm9yIHRoZSByZXZva2UgcmVjb3JkIGFuZCBkZXNjcmlwdG9yIHJlY29yZCBidWZmZXJzICovCiAgd2FpdF9mb3JfY3RsYnVmOgpAQCAtODU0LDcgKzc3MCw3IEBACiAJCS8qIEFLUE06IGJmb3JnZXQgaGVyZSAqLwogCX0KIAotCWpiZF9kZWJ1ZygzLCAiSkJEOiBjb21taXQgcGhhc2UgNlxuIik7CisJamJkX2RlYnVnKDMsICJKQkQ6IGNvbW1pdCBwaGFzZSA1XG4iKTsKIAogCWlmICghSkJEMl9IQVNfSU5DT01QQVRfRkVBVFVSRShqb3VybmFsLAogCQlKQkQyX0ZFQVRVUkVfSU5DT01QQVRfQVNZTkNfQ09NTUlUKSkgewpAQCAtODc0LDkgKzc5MCw5IEBACiAgICAgICAgICAgIHRyYW5zYWN0aW9uIGNhbiBiZSByZW1vdmVkIGZyb20gYW55IGNoZWNrcG9pbnQgbGlzdCBpdCB3YXMgb24KICAgICAgICAgICAgYmVmb3JlLiAqLwogCi0JamJkX2RlYnVnKDMsICJKQkQ6IGNvbW1pdCBwaGFzZSA3XG4iKTsKKwlqYmRfZGVidWcoMywgIkpCRDogY29tbWl0IHBoYXNlIDZcbiIpOwogCi0JSl9BU1NFUlQoY29tbWl0X3RyYW5zYWN0aW9uLT50X3N5bmNfZGF0YWxpc3QgPT0gTlVMTCk7CisJSl9BU1NFUlQobGlzdF9lbXB0eSgmY29tbWl0X3RyYW5zYWN0aW9uLT50X2lub2RlX2xpc3QpKTsKIAlKX0FTU0VSVChjb21taXRfdHJhbnNhY3Rpb24tPnRfYnVmZmVycyA9PSBOVUxMKTsKIAlKX0FTU0VSVChjb21taXRfdHJhbnNhY3Rpb24tPnRfY2hlY2twb2ludF9saXN0ID09IE5VTEwpOwogCUpfQVNTRVJUKGNvbW1pdF90cmFuc2FjdGlvbi0+dF9pb2J1Zl9saXN0ID09IE5VTEwpOwpAQCAtOTk3LDcgKzkxMyw3IEBACiAKIAkvKiBEb25lIHdpdGggdGhpcyB0cmFuc2FjdGlvbiEgKi8KIAotCWpiZF9kZWJ1ZygzLCAiSkJEOiBjb21taXQgcGhhc2UgOFxuIik7CisJamJkX2RlYnVnKDMsICJKQkQ6IGNvbW1pdCBwaGFzZSA3XG4iKTsKIAogCUpfQVNTRVJUKGNvbW1pdF90cmFuc2FjdGlvbi0+dF9zdGF0ZSA9PSBUX0NPTU1JVCk7CiAKZGlmZiAtLWdpdCBhL2ZzL2piZDIvam91cm5hbC5jIGIvZnMvamJkMi9qb3VybmFsLmMKaW5kZXggMmUyNDU2Ny4uYjI2YzZkOSAxMDA2NDQKLS0tIGEvZnMvamJkMi9qb3VybmFsLmMKKysrIGIvZnMvamJkMi9qb3VybmFsLmMKQEAgLTUwLDcgKzUwLDYgQEAKIEVYUE9SVF9TWU1CT0woamJkMl9qb3VybmFsX2dldF93cml0ZV9hY2Nlc3MpOwogRVhQT1JUX1NZTUJPTChqYmQyX2pvdXJuYWxfZ2V0X2NyZWF0ZV9hY2Nlc3MpOwogRVhQT1JUX1NZTUJPTChqYmQyX2pvdXJuYWxfZ2V0X3VuZG9fYWNjZXNzKTsKLUVYUE9SVF9TWU1CT0woamJkMl9qb3VybmFsX2RpcnR5X2RhdGEpOwogRVhQT1JUX1NZTUJPTChqYmQyX2pvdXJuYWxfZGlydHlfbWV0YWRhdGEpOwogRVhQT1JUX1NZTUJPTChqYmQyX2pvdXJuYWxfcmVsZWFzZV9idWZmZXIpOwogRVhQT1JUX1NZTUJPTChqYmQyX2pvdXJuYWxfZm9yZ2V0KTsKQEAgLTgyLDYgKzgxLDEwIEBACiBFWFBPUlRfU1lNQk9MKGpiZDJfam91cm5hbF9pbnZhbGlkYXRlcGFnZSk7CiBFWFBPUlRfU1lNQk9MKGpiZDJfam91cm5hbF90cnlfdG9fZnJlZV9idWZmZXJzKTsKIEVYUE9SVF9TWU1CT0woamJkMl9qb3VybmFsX2ZvcmNlX2NvbW1pdCk7CitFWFBPUlRfU1lNQk9MKGpiZDJfam91cm5hbF9maWxlX2lub2RlKTsKK0VYUE9SVF9TWU1CT0woamJkMl9qb3VybmFsX2luaXRfamJkX2lub2RlKTsKK0VYUE9SVF9TWU1CT0woamJkMl9qb3VybmFsX3JlbGVhc2VfamJkX2lub2RlKTsKK0VYUE9SVF9TWU1CT0woamJkMl9qb3VybmFsX2JlZ2luX29yZGVyZWRfdHJ1bmNhdGUpOwogCiBzdGF0aWMgaW50IGpvdXJuYWxfY29udmVydF9zdXBlcmJsb2NrX3YxKGpvdXJuYWxfdCAqLCBqb3VybmFsX3N1cGVyYmxvY2tfdCAqKTsKIHN0YXRpYyB2b2lkIF9fam91cm5hbF9hYm9ydF9zb2Z0IChqb3VybmFsX3QgKmpvdXJuYWwsIGludCBlcnJubyk7CkBAIC0yMTk1LDYgKzIxOTgsNTQgQEAKIH0KIAogLyoKKyAqIEluaXRpYWxpemUgamJkIGlub2RlIGhlYWQKKyAqLwordm9pZCBqYmQyX2pvdXJuYWxfaW5pdF9qYmRfaW5vZGUoc3RydWN0IGpiZDJfaW5vZGUgKmppbm9kZSwgc3RydWN0IGlub2RlICppbm9kZSkKK3sKKwlqaW5vZGUtPmlfdHJhbnNhY3Rpb24gPSBOVUxMOworCWppbm9kZS0+aV9uZXh0X3RyYW5zYWN0aW9uID0gTlVMTDsKKwlqaW5vZGUtPmlfdmZzX2lub2RlID0gaW5vZGU7CisJamlub2RlLT5pX2ZsYWdzID0gMDsKKwlJTklUX0xJU1RfSEVBRCgmamlub2RlLT5pX2xpc3QpOworfQorCisvKgorICogRnVuY3Rpb24gdG8gYmUgY2FsbGVkIGJlZm9yZSB3ZSBzdGFydCByZW1vdmluZyBpbm9kZSBmcm9tIG1lbW9yeSAoaS5lLiwKKyAqIGNsZWFyX2lub2RlKCkgaXMgYSBmaW5lIHBsYWNlIHRvIGJlIGNhbGxlZCBmcm9tKS4gSXQgcmVtb3ZlcyBpbm9kZSBmcm9tCisgKiB0cmFuc2FjdGlvbidzIGxpc3RzLgorICovCit2b2lkIGpiZDJfam91cm5hbF9yZWxlYXNlX2piZF9pbm9kZShqb3VybmFsX3QgKmpvdXJuYWwsCisJCQkJICAgIHN0cnVjdCBqYmQyX2lub2RlICpqaW5vZGUpCit7CisJaW50IHdyaXRlb3V0ID0gMDsKKworCWlmICgham91cm5hbCkKKwkJcmV0dXJuOworcmVzdGFydDoKKwlzcGluX2xvY2soJmpvdXJuYWwtPmpfbGlzdF9sb2NrKTsKKwkvKiBJcyBjb21taXQgd3JpdGluZyBvdXQgaW5vZGUgLSB3ZSBoYXZlIHRvIHdhaXQgKi8KKwlpZiAoamlub2RlLT5pX2ZsYWdzICYgSklfQ09NTUlUX1JVTk5JTkcpIHsKKwkJd2FpdF9xdWV1ZV9oZWFkX3QgKndxOworCQlERUZJTkVfV0FJVF9CSVQod2FpdCwgJmppbm9kZS0+aV9mbGFncywgX19KSV9DT01NSVRfUlVOTklORyk7CisJCXdxID0gYml0X3dhaXRxdWV1ZSgmamlub2RlLT5pX2ZsYWdzLCBfX0pJX0NPTU1JVF9SVU5OSU5HKTsKKwkJcHJlcGFyZV90b193YWl0KHdxLCAmd2FpdC53YWl0LCBUQVNLX1VOSU5URVJSVVBUSUJMRSk7CisJCXNwaW5fdW5sb2NrKCZqb3VybmFsLT5qX2xpc3RfbG9jayk7CisJCXNjaGVkdWxlKCk7CisJCWZpbmlzaF93YWl0KHdxLCAmd2FpdC53YWl0KTsKKwkJZ290byByZXN0YXJ0OworCX0KKworCS8qIERvIHdlIG5lZWQgdG8gd2FpdCBmb3IgZGF0YSB3cml0ZWJhY2s/ICovCisJaWYgKGpvdXJuYWwtPmpfY29tbWl0dGluZ190cmFuc2FjdGlvbiA9PSBqaW5vZGUtPmlfdHJhbnNhY3Rpb24pCisJCXdyaXRlb3V0ID0gMTsKKwlpZiAoamlub2RlLT5pX3RyYW5zYWN0aW9uKSB7CisJCWxpc3RfZGVsKCZqaW5vZGUtPmlfbGlzdCk7CisJCWppbm9kZS0+aV90cmFuc2FjdGlvbiA9IE5VTEw7CisJfQorCXNwaW5fdW5sb2NrKCZqb3VybmFsLT5qX2xpc3RfbG9jayk7Cit9CisKKy8qCiAgKiBkZWJ1Z2ZzIHR1bmFibGVzCiAgKi8KICNpZmRlZiBDT05GSUdfSkJEMl9ERUJVRwpkaWZmIC0tZ2l0IGEvZnMvamJkMi90cmFuc2FjdGlvbi5jIGIvZnMvamJkMi90cmFuc2FjdGlvbi5jCmluZGV4IGQ2ZTAwNmUuLjRmN2NhZGIgMTAwNjQ0Ci0tLSBhL2ZzL2piZDIvdHJhbnNhY3Rpb24uYworKysgYi9mcy9qYmQyL3RyYW5zYWN0aW9uLmMKQEAgLTQxLDcgKzQxLDYgQEAKICAqCW5ldyB0cmFuc2FjdGlvbglhbmQgd2UgY2FuJ3QgYmxvY2sgd2l0aG91dCBwcm90ZWN0aW5nIGFnYWluc3Qgb3RoZXIKICAqCXByb2Nlc3NlcyB0cnlpbmcgdG8gdG91Y2ggdGhlIGpvdXJuYWwgd2hpbGUgaXQgaXMgaW4gdHJhbnNpdGlvbi4KICAqCi0gKiBDYWxsZWQgdW5kZXIgal9zdGF0ZV9sb2NrCiAgKi8KIAogc3RhdGljIHRyYW5zYWN0aW9uX3QgKgpAQCAtNTIsNiArNTEsNyBAQAogCXRyYW5zYWN0aW9uLT50X3RpZCA9IGpvdXJuYWwtPmpfdHJhbnNhY3Rpb25fc2VxdWVuY2UrKzsKIAl0cmFuc2FjdGlvbi0+dF9leHBpcmVzID0gamlmZmllcyArIGpvdXJuYWwtPmpfY29tbWl0X2ludGVydmFsOwogCXNwaW5fbG9ja19pbml0KCZ0cmFuc2FjdGlvbi0+dF9oYW5kbGVfbG9jayk7CisJSU5JVF9MSVNUX0hFQUQoJnRyYW5zYWN0aW9uLT50X2lub2RlX2xpc3QpOwogCiAJLyogU2V0IHVwIHRoZSBjb21taXQgdGltZXIgZm9yIHRoZSBuZXcgdHJhbnNhY3Rpb24uICovCiAJam91cm5hbC0+al9jb21taXRfdGltZXIuZXhwaXJlcyA9IHJvdW5kX2ppZmZpZXModHJhbnNhY3Rpb24tPnRfZXhwaXJlcyk7CkBAIC05NDMsMTgzICs5NDMsNiBAQAogfQogCiAvKioKLSAqIGludCBqYmQyX2pvdXJuYWxfZGlydHlfZGF0YSgpIC0gIG1hcmsgYSBidWZmZXIgYXMgY29udGFpbmluZyBkaXJ0eSBkYXRhIHdoaWNoCi0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmVlZHMgdG8gYmUgZmx1c2hlZCBiZWZvcmUgd2UgY2FuIGNvbW1pdCB0aGUKLSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50IHRyYW5zYWN0aW9uLgotICogQGhhbmRsZTogdHJhbnNhY3Rpb24KLSAqIEBiaDogYnVmZmVyaGVhZCB0byBtYXJrCi0gKgotICogVGhlIGJ1ZmZlciBpcyBwbGFjZWQgb24gdGhlIHRyYW5zYWN0aW9uJ3MgZGF0YSBsaXN0IGFuZCBpcyBtYXJrZWQgYXMKLSAqIGJlbG9uZ2luZyB0byB0aGUgdHJhbnNhY3Rpb24uCi0gKgotICogUmV0dXJucyBlcnJvciBudW1iZXIgb3IgMCBvbiBzdWNjZXNzLgotICoKLSAqIGpiZDJfam91cm5hbF9kaXJ0eV9kYXRhKCkgY2FuIGJlIGNhbGxlZCB2aWEgcGFnZV9sYXVuZGVyLT5leHQzX3dyaXRlcGFnZQotICogYnkga3N3YXBkLgotICovCi1pbnQgamJkMl9qb3VybmFsX2RpcnR5X2RhdGEoaGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IGJ1ZmZlcl9oZWFkICpiaCkKLXsKLQlqb3VybmFsX3QgKmpvdXJuYWwgPSBoYW5kbGUtPmhfdHJhbnNhY3Rpb24tPnRfam91cm5hbDsKLQlpbnQgbmVlZF9icmVsc2UgPSAwOwotCXN0cnVjdCBqb3VybmFsX2hlYWQgKmpoOwotCi0JaWYgKGlzX2hhbmRsZV9hYm9ydGVkKGhhbmRsZSkpCi0JCXJldHVybiAwOwotCi0JamggPSBqYmQyX2pvdXJuYWxfYWRkX2pvdXJuYWxfaGVhZChiaCk7Ci0JSkJVRkZFUl9UUkFDRShqaCwgImVudHJ5Iik7Ci0KLQkvKgotCSAqIFRoZSBidWZmZXIgY291bGQgKmFscmVhZHkqIGJlIGRpcnR5LiAgV3JpdGVvdXQgY2FuIHN0YXJ0Ci0JICogYXQgYW55IHRpbWUuCi0JICovCi0JamJkX2RlYnVnKDQsICJqaDogJXAsIHRpZDolZFxuIiwgamgsIGhhbmRsZS0+aF90cmFuc2FjdGlvbi0+dF90aWQpOwotCi0JLyoKLQkgKiBXaGF0IGlmIHRoZSBidWZmZXIgaXMgYWxyZWFkeSBwYXJ0IG9mIGEgcnVubmluZyB0cmFuc2FjdGlvbj8KLQkgKgotCSAqIFRoZXJlIGFyZSB0d28gY2FzZXM6Ci0JICogMSkgSXQgaXMgcGFydCBvZiB0aGUgY3VycmVudCBydW5uaW5nIHRyYW5zYWN0aW9uLiAgUmVmaWxlIGl0LAotCSAqICAgIGp1c3QgaW4gY2FzZSB3ZSBoYXZlIGFsbG9jYXRlZCBpdCBhcyBtZXRhZGF0YSwgZGVhbGxvY2F0ZWQKLQkgKiAgICBpdCwgdGhlbiByZWFsbG9jYXRlZCBpdCBhcyBkYXRhLgotCSAqIDIpIEl0IGlzIHBhcnQgb2YgdGhlIHByZXZpb3VzLCBzdGlsbC1jb21taXR0aW5nIHRyYW5zYWN0aW9uLgotCSAqICAgIElmIGFsbCB3ZSB3YW50IHRvIGRvIGlzIHRvIGd1YXJhbnRlZSB0aGF0IHRoZSBidWZmZXIgd2lsbCBiZQotCSAqICAgIHdyaXR0ZW4gdG8gZGlzayBiZWZvcmUgdGhpcyBuZXcgdHJhbnNhY3Rpb24gY29tbWl0cywgdGhlbgotCSAqICAgIGJlaW5nIHN1cmUgdGhhdCB0aGUgKnByZXZpb3VzKiB0cmFuc2FjdGlvbiBoYXMgdGhpcyBzYW1lCi0JICogICAgcHJvcGVydHkgaXMgc3VmZmljaWVudCBmb3IgdXMhICBKdXN0IGxlYXZlIGl0IG9uIGl0cyBvbGQKLQkgKiAgICB0cmFuc2FjdGlvbi4KLQkgKgotCSAqIEluIGNhc2UgKDIpLCB0aGUgYnVmZmVyIG11c3Qgbm90IGFscmVhZHkgZXhpc3QgYXMgbWV0YWRhdGEKLQkgKiAtLS0gdGhhdCB3b3VsZCB2aW9sYXRlIHdyaXRlIG9yZGVyaW5nIChhIHRyYW5zYWN0aW9uIGlzIGZyZWUKLQkgKiB0byB3cml0ZSBpdHMgZGF0YSBhdCBhbnkgcG9pbnQsIGV2ZW4gYmVmb3JlIHRoZSBwcmV2aW91cwotCSAqIGNvbW1pdHRpbmcgdHJhbnNhY3Rpb24gaGFzIGNvbW1pdHRlZCkuICBUaGUgY2FsbGVyIG11c3QKLQkgKiBuZXZlciwgZXZlciBhbGxvdyB0aGlzIHRvIGhhcHBlbjogdGhlcmUncyBub3RoaW5nIHdlIGNhbiBkbwotCSAqIGFib3V0IGl0IGluIHRoaXMgbGF5ZXIuCi0JICovCi0JamJkX2xvY2tfYmhfc3RhdGUoYmgpOwotCXNwaW5fbG9jaygmam91cm5hbC0+al9saXN0X2xvY2spOwotCi0JLyogTm93IHRoYXQgd2UgaGF2ZSBiaF9zdGF0ZSBsb2NrZWQsIGFyZSB3ZSByZWFsbHkgc3RpbGwgbWFwcGVkPyAqLwotCWlmICghYnVmZmVyX21hcHBlZChiaCkpIHsKLQkJSkJVRkZFUl9UUkFDRShqaCwgInVubWFwcGVkIGJ1ZmZlciwgYmFpbGluZyBvdXQiKTsKLQkJZ290byBub19qb3VybmFsOwotCX0KLQotCWlmIChqaC0+Yl90cmFuc2FjdGlvbikgewotCQlKQlVGRkVSX1RSQUNFKGpoLCAiaGFzIHRyYW5zYWN0aW9uIik7Ci0JCWlmIChqaC0+Yl90cmFuc2FjdGlvbiAhPSBoYW5kbGUtPmhfdHJhbnNhY3Rpb24pIHsKLQkJCUpCVUZGRVJfVFJBQ0UoamgsICJiZWxvbmdzIHRvIG9sZGVyIHRyYW5zYWN0aW9uIik7Ci0JCQlKX0FTU0VSVF9KSChqaCwgamgtPmJfdHJhbnNhY3Rpb24gPT0KLQkJCQkJam91cm5hbC0+al9jb21taXR0aW5nX3RyYW5zYWN0aW9uKTsKLQotCQkJLyogQEBAIElTIFRISVMgVFJVRSAgPyAqLwotCQkJLyoKLQkJCSAqIE5vdCBhbnkgbW9yZS4gIFNjZW5hcmlvOiBzb21lb25lIGRvZXMgYSB3cml0ZSgpCi0JCQkgKiBpbiBkYXRhPWpvdXJuYWwgbW9kZS4gIFRoZSBidWZmZXIncyB0cmFuc2FjdGlvbiBoYXMKLQkJCSAqIG1vdmVkIGludG8gY29tbWl0LiAgVGhlbiBzb21lb25lIGRvZXMgYW5vdGhlcgotCQkJICogd3JpdGUoKSB0byB0aGUgZmlsZS4gIFdlIGRvIHRoZSBmcm96ZW4gZGF0YSBjb3B5b3V0Ci0JCQkgKiBhbmQgc2V0IGJfbmV4dF90cmFuc2FjdGlvbiB0byBwb2ludCB0byBqX3J1bm5pbmdfdC4KLQkJCSAqIEFuZCB3aGlsZSB3ZSdyZSBpbiB0aGF0IHN0YXRlLCBzb21lb25lIGRvZXMgYQotCQkJICogd3JpdGVwYWdlKCkgaW4gYW4gYXR0ZW1wdCB0byBwYWdlb3V0IHRoZSBzYW1lIGFyZWEKLQkJCSAqIG9mIHRoZSBmaWxlIHZpYSBhIHNoYXJlZCBtYXBwaW5nLiAgQXQgcHJlc2VudCB0aGF0Ci0JCQkgKiBjYWxscyBqYmQyX2pvdXJuYWxfZGlydHlfZGF0YSgpLCBhbmQgd2UgZ2V0IHJpZ2h0IGhlcmUuCi0JCQkgKiBJdCBtYXkgYmUgdG9vIGxhdGUgdG8gam91cm5hbCB0aGUgZGF0YS4gIFNpbXBseQotCQkJICogZmFsbGluZyB0aHJvdWdoIHRvIHRoZSBuZXh0IHRlc3Qgd2lsbCBzdWZmaWNlOiB0aGUKLQkJCSAqIGRhdGEgd2lsbCBiZSBkaXJ0eSBhbmQgd2lsIGJlIGNoZWNrcG9pbnRlZC4gIFRoZQotCQkJICogb3JkZXJpbmcgY29tbWVudHMgaW4gdGhlIG5leHQgY29tbWVudCBibG9jayBzdGlsbAotCQkJICogYXBwbHkuCi0JCQkgKi8KLQkJCS8vSl9BU1NFUlRfSkgoamgsIGpoLT5iX25leHRfdHJhbnNhY3Rpb24gPT0gTlVMTCk7Ci0KLQkJCS8qCi0JCQkgKiBJZiB3ZSdyZSBqb3VybmFsbGluZyBkYXRhLCBhbmQgdGhpcyBidWZmZXIgd2FzCi0JCQkgKiBzdWJqZWN0IHRvIGEgd3JpdGUoKSwgaXQgY291bGQgYmUgbWV0YWRhdGEsIGZvcmdldAotCQkJICogb3Igc2hhZG93IGFnYWluc3QgdGhlIGNvbW1pdHRpbmcgdHJhbnNhY3Rpb24uICBOb3csCi0JCQkgKiBzb21lb25lIGhhcyBkaXJ0aWVkIHRoZSBzYW1lIGRhcm4gcGFnZSB2aWEgYSBtYXBwaW5nCi0JCQkgKiBhbmQgaXQgaXMgYmVpbmcgd3JpdGVwYWdlKCknZC4KLQkJCSAqIFdlICpjb3VsZCoganVzdCBzdGVhbCB0aGUgcGFnZSBmcm9tIGNvbW1pdCwgd2l0aCBzb21lCi0JCQkgKiBmYW5jeSBsb2NraW5nIHRoZXJlLiAgSW5zdGVhZCwgd2UganVzdCBza2lwIGl0IC0KLQkJCSAqIGRvbid0IHRpZSB0aGUgcGFnZSdzIGJ1ZmZlcnMgdG8gdGhlIG5ldyB0cmFuc2FjdGlvbgotCQkJICogYXQgYWxsLgotCQkJICogSW1wbGljYXRpb246IGlmIHdlIGNyYXNoIGJlZm9yZSB0aGUgd3JpdGVwYWdlKCkgZGF0YQotCQkJICogaXMgd3JpdHRlbiBpbnRvIHRoZSBmaWxlc3lzdGVtLCByZWNvdmVyeSB3aWxsIHJlcGxheQotCQkJICogdGhlIHdyaXRlKCkgZGF0YS4KLQkJCSAqLwotCQkJaWYgKGpoLT5iX2psaXN0ICE9IEJKX05vbmUgJiYKLQkJCQkJamgtPmJfamxpc3QgIT0gQkpfU3luY0RhdGEgJiYKLQkJCQkJamgtPmJfamxpc3QgIT0gQkpfTG9ja2VkKSB7Ci0JCQkJSkJVRkZFUl9UUkFDRShqaCwgIk5vdCBzdGVhbGluZyIpOwotCQkJCWdvdG8gbm9fam91cm5hbDsKLQkJCX0KLQotCQkJLyoKLQkJCSAqIFRoaXMgYnVmZmVyIG1heSBiZSB1bmRlcmdvaW5nIHdyaXRlb3V0IGluIGNvbW1pdC4gIFdlCi0JCQkgKiBjYW4ndCByZXR1cm4gZnJvbSBoZXJlIGFuZCBsZXQgdGhlIGNhbGxlciBkaXJ0eSBpdAotCQkJICogYWdhaW4gYmVjYXVzZSB0aGF0IGNhbiBjYXVzZSB0aGUgd3JpdGUtb3V0IGxvb3AgaW4KLQkJCSAqIGNvbW1pdCB0byBuZXZlciB0ZXJtaW5hdGUuCi0JCQkgKi8KLQkJCWlmIChidWZmZXJfZGlydHkoYmgpKSB7Ci0JCQkJZ2V0X2JoKGJoKTsKLQkJCQlzcGluX3VubG9jaygmam91cm5hbC0+al9saXN0X2xvY2spOwotCQkJCWpiZF91bmxvY2tfYmhfc3RhdGUoYmgpOwotCQkJCW5lZWRfYnJlbHNlID0gMTsKLQkJCQlzeW5jX2RpcnR5X2J1ZmZlcihiaCk7Ci0JCQkJamJkX2xvY2tfYmhfc3RhdGUoYmgpOwotCQkJCXNwaW5fbG9jaygmam91cm5hbC0+al9saXN0X2xvY2spOwotCQkJCS8qIFNpbmNlIHdlIGRyb3BwZWQgdGhlIGxvY2suLi4gKi8KLQkJCQlpZiAoIWJ1ZmZlcl9tYXBwZWQoYmgpKSB7Ci0JCQkJCUpCVUZGRVJfVFJBQ0UoamgsICJidWZmZXIgZ290IHVubWFwcGVkIik7Ci0JCQkJCWdvdG8gbm9fam91cm5hbDsKLQkJCQl9Ci0JCQkJLyogVGhlIGJ1ZmZlciBtYXkgYmVjb21lIGxvY2tlZCBhZ2FpbiBhdCBhbnkKLQkJCQkgICB0aW1lIGlmIGl0IGlzIHJlZGlydGllZCAqLwotCQkJfQotCi0JCQkvKiBqb3VybmFsX2NsZWFuX2RhdGFfbGlzdCgpIG1heSBoYXZlIGdvdCB0aGVyZSBmaXJzdCAqLwotCQkJaWYgKGpoLT5iX3RyYW5zYWN0aW9uICE9IE5VTEwpIHsKLQkJCQlKQlVGRkVSX1RSQUNFKGpoLCAidW5maWxlIGZyb20gY29tbWl0Iik7Ci0JCQkJX19qYmQyX2pvdXJuYWxfdGVtcF91bmxpbmtfYnVmZmVyKGpoKTsKLQkJCQkvKiBJdCBzdGlsbCBwb2ludHMgdG8gdGhlIGNvbW1pdHRpbmcKLQkJCQkgKiB0cmFuc2FjdGlvbjsgbW92ZSBpdCB0byB0aGlzIG9uZSBzbwotCQkJCSAqIHRoYXQgdGhlIHJlZmlsZSBhc3NlcnQgY2hlY2tzIGFyZQotCQkJCSAqIGhhcHB5LiAqLwotCQkJCWpoLT5iX3RyYW5zYWN0aW9uID0gaGFuZGxlLT5oX3RyYW5zYWN0aW9uOwotCQkJfQotCQkJLyogVGhlIGJ1ZmZlciB3aWxsIGJlIHJlZmlsZWQgYmVsb3cgKi8KLQotCQl9Ci0JCS8qCi0JCSAqIFNwZWNpYWwgY2FzZSAtLS0gdGhlIGJ1ZmZlciBtaWdodCBhY3R1YWxseSBoYXZlIGJlZW4KLQkJICogYWxsb2NhdGVkIGFuZCB0aGVuIGltbWVkaWF0ZWx5IGRlYWxsb2NhdGVkIGluIHRoZSBwcmV2aW91cywKLQkJICogY29tbWl0dGluZyB0cmFuc2FjdGlvbiwgc28gbWlnaHQgc3RpbGwgYmUgbGVmdCBvbiB0aGF0Ci0JCSAqIHRyYW5zYWN0aW9uJ3MgbWV0YWRhdGEgbGlzdHMuCi0JCSAqLwotCQlpZiAoamgtPmJfamxpc3QgIT0gQkpfU3luY0RhdGEgJiYgamgtPmJfamxpc3QgIT0gQkpfTG9ja2VkKSB7Ci0JCQlKQlVGRkVSX1RSQUNFKGpoLCAibm90IG9uIGNvcnJlY3QgZGF0YSBsaXN0OiB1bmZpbGUiKTsKLQkJCUpfQVNTRVJUX0pIKGpoLCBqaC0+Yl9qbGlzdCAhPSBCSl9TaGFkb3cpOwotCQkJX19qYmQyX2pvdXJuYWxfdGVtcF91bmxpbmtfYnVmZmVyKGpoKTsKLQkJCWpoLT5iX3RyYW5zYWN0aW9uID0gaGFuZGxlLT5oX3RyYW5zYWN0aW9uOwotCQkJSkJVRkZFUl9UUkFDRShqaCwgImZpbGUgYXMgZGF0YSIpOwotCQkJX19qYmQyX2pvdXJuYWxfZmlsZV9idWZmZXIoamgsIGhhbmRsZS0+aF90cmFuc2FjdGlvbiwKLQkJCQkJCUJKX1N5bmNEYXRhKTsKLQkJfQotCX0gZWxzZSB7Ci0JCUpCVUZGRVJfVFJBQ0UoamgsICJub3Qgb24gYSB0cmFuc2FjdGlvbiIpOwotCQlfX2piZDJfam91cm5hbF9maWxlX2J1ZmZlcihqaCwgaGFuZGxlLT5oX3RyYW5zYWN0aW9uLCBCSl9TeW5jRGF0YSk7Ci0JfQotbm9fam91cm5hbDoKLQlzcGluX3VubG9jaygmam91cm5hbC0+al9saXN0X2xvY2spOwotCWpiZF91bmxvY2tfYmhfc3RhdGUoYmgpOwotCWlmIChuZWVkX2JyZWxzZSkgewotCQlCVUZGRVJfVFJBQ0UoYmgsICJicmVsc2UiKTsKLQkJX19icmVsc2UoYmgpOwotCX0KLQlKQlVGRkVSX1RSQUNFKGpoLCAiZXhpdCIpOwotCWpiZDJfam91cm5hbF9wdXRfam91cm5hbF9oZWFkKGpoKTsKLQlyZXR1cm4gMDsKLX0KLQotLyoqCiAgKiBpbnQgamJkMl9qb3VybmFsX2RpcnR5X21ldGFkYXRhKCkgLSAgbWFyayBhIGJ1ZmZlciBhcyBjb250YWluaW5nIGRpcnR5IG1ldGFkYXRhCiAgKiBAaGFuZGxlOiB0cmFuc2FjdGlvbiB0byBhZGQgYnVmZmVyIHRvLgogICogQGJoOiBidWZmZXIgdG8gbWFyawpAQCAtMTU0MSwxMCArMTM2NCwxMCBAQAogICogUmVtb3ZlIGEgYnVmZmVyIGZyb20gdGhlIGFwcHJvcHJpYXRlIHRyYW5zYWN0aW9uIGxpc3QuCiAgKgogICogTm90ZSB0aGF0IHRoaXMgZnVuY3Rpb24gY2FuICpjaGFuZ2UqIHRoZSB2YWx1ZSBvZgotICogYmgtPmJfdHJhbnNhY3Rpb24tPnRfc3luY19kYXRhbGlzdCwgdF9idWZmZXJzLCB0X2ZvcmdldCwKLSAqIHRfaW9idWZfbGlzdCwgdF9zaGFkb3dfbGlzdCwgdF9sb2dfbGlzdCBvciB0X3Jlc2VydmVkX2xpc3QuICBJZiB0aGUgY2FsbGVyCi0gKiBpcyBob2xkaW5nIG9udG8gYSBjb3B5IG9mIG9uZSBvZiB0aGVlIHBvaW50ZXJzLCBpdCBjb3VsZCBnbyBiYWQuCi0gKiBHZW5lcmFsbHkgdGhlIGNhbGxlciBuZWVkcyB0byByZS1yZWFkIHRoZSBwb2ludGVyIGZyb20gdGhlIHRyYW5zYWN0aW9uX3QuCisgKiBiaC0+Yl90cmFuc2FjdGlvbi0+dF9idWZmZXJzLCB0X2ZvcmdldCwgdF9pb2J1Zl9saXN0LCB0X3NoYWRvd19saXN0LAorICogdF9sb2dfbGlzdCBvciB0X3Jlc2VydmVkX2xpc3QuICBJZiB0aGUgY2FsbGVyIGlzIGhvbGRpbmcgb250byBhIGNvcHkgb2Ygb25lCisgKiBvZiB0aGVzZSBwb2ludGVycywgaXQgY291bGQgZ28gYmFkLiAgR2VuZXJhbGx5IHRoZSBjYWxsZXIgbmVlZHMgdG8gcmUtcmVhZAorICogdGhlIHBvaW50ZXIgZnJvbSB0aGUgdHJhbnNhY3Rpb25fdC4KICAqCiAgKiBDYWxsZWQgdW5kZXIgal9saXN0X2xvY2suICBUaGUgam91cm5hbCBtYXkgbm90IGJlIGxvY2tlZC4KICAqLwpAQCAtMTU2Niw5ICsxMzg5LDYgQEAKIAlzd2l0Y2ggKGpoLT5iX2psaXN0KSB7CiAJY2FzZSBCSl9Ob25lOgogCQlyZXR1cm47Ci0JY2FzZSBCSl9TeW5jRGF0YToKLQkJbGlzdCA9ICZ0cmFuc2FjdGlvbi0+dF9zeW5jX2RhdGFsaXN0OwotCQlicmVhazsKIAljYXNlIEJKX01ldGFkYXRhOgogCQl0cmFuc2FjdGlvbi0+dF9ucl9idWZmZXJzLS07CiAJCUpfQVNTRVJUX0pIKGpoLCB0cmFuc2FjdGlvbi0+dF9ucl9idWZmZXJzID49IDApOwpAQCAtMTU4OSw5ICsxNDA5LDYgQEAKIAljYXNlIEJKX1Jlc2VydmVkOgogCQlsaXN0ID0gJnRyYW5zYWN0aW9uLT50X3Jlc2VydmVkX2xpc3Q7CiAJCWJyZWFrOwotCWNhc2UgQkpfTG9ja2VkOgotCQlsaXN0ID0gJnRyYW5zYWN0aW9uLT50X2xvY2tlZF9saXN0OwotCQlicmVhazsKIAl9CiAKIAlfX2JsaXN0X2RlbF9idWZmZXIobGlzdCwgamgpOwpAQCAtMTYzNCwxNSArMTQ1MSw3IEBACiAJCWdvdG8gb3V0OwogCiAJc3Bpbl9sb2NrKCZqb3VybmFsLT5qX2xpc3RfbG9jayk7Ci0JaWYgKGpoLT5iX3RyYW5zYWN0aW9uICE9IE5VTEwgJiYgamgtPmJfY3BfdHJhbnNhY3Rpb24gPT0gTlVMTCkgewotCQlpZiAoamgtPmJfamxpc3QgPT0gQkpfU3luY0RhdGEgfHwgamgtPmJfamxpc3QgPT0gQkpfTG9ja2VkKSB7Ci0JCQkvKiBBIHdyaXR0ZW4tYmFjayBvcmRlcmVkIGRhdGEgYnVmZmVyICovCi0JCQlKQlVGRkVSX1RSQUNFKGpoLCAicmVsZWFzZSBkYXRhIik7Ci0JCQlfX2piZDJfam91cm5hbF91bmZpbGVfYnVmZmVyKGpoKTsKLQkJCWpiZDJfam91cm5hbF9yZW1vdmVfam91cm5hbF9oZWFkKGJoKTsKLQkJCV9fYnJlbHNlKGJoKTsKLQkJfQotCX0gZWxzZSBpZiAoamgtPmJfY3BfdHJhbnNhY3Rpb24gIT0gTlVMTCAmJiBqaC0+Yl90cmFuc2FjdGlvbiA9PSBOVUxMKSB7CisJaWYgKGpoLT5iX2NwX3RyYW5zYWN0aW9uICE9IE5VTEwgJiYgamgtPmJfdHJhbnNhY3Rpb24gPT0gTlVMTCkgewogCQkvKiB3cml0dGVuLWJhY2sgY2hlY2twb2ludGVkIG1ldGFkYXRhIGJ1ZmZlciAqLwogCQlpZiAoamgtPmJfamxpc3QgPT0gQkpfTm9uZSkgewogCQkJSkJVRkZFUl9UUkFDRShqaCwgInJlbW92ZSBmcm9tIGNoZWNrcG9pbnQgbGlzdCIpOwpAQCAtMTY1NiwxMiArMTQ2NSw0MyBAQAogCXJldHVybjsKIH0KIAorLyoKKyAqIGpiZDJfam91cm5hbF90cnlfdG9fZnJlZV9idWZmZXJzKCkgY291bGQgcmFjZSB3aXRoCisgKiBqYmQyX2pvdXJuYWxfY29tbWl0X3RyYW5zYWN0aW9uKCkuIFRoZSBsYXRlciBtaWdodCBzdGlsbCBob2xkIHRoZQorICogcmVmZXJlbmNlIGNvdW50IHRvIHRoZSBidWZmZXJzIHdoZW4gaW5zcGVjdGluZyB0aGVtIG9uCisgKiB0X3N5bmNkYXRhX2xpc3Qgb3IgdF9sb2NrZWRfbGlzdC4KKyAqCisgKiBqYmQyX2pvdXJuYWxfdHJ5X3RvX2ZyZWVfYnVmZmVycygpIHdpbGwgY2FsbCB0aGlzIGZ1bmN0aW9uIHRvCisgKiB3YWl0IGZvciB0aGUgY3VycmVudCB0cmFuc2FjdGlvbiB0byBmaW5pc2ggc3luY2luZyBkYXRhIGJ1ZmZlcnMsIGJlZm9yZQorICogdHJ5IHRvIGZyZWUgdGhhdCBidWZmZXIuCisgKgorICogQ2FsbGVkIHdpdGggam91cm5hbC0+al9zdGF0ZV9sb2NrIGhvbGQuCisgKi8KK3N0YXRpYyB2b2lkIGpiZDJfam91cm5hbF93YWl0X2Zvcl90cmFuc2FjdGlvbl9zeW5jX2RhdGEoam91cm5hbF90ICpqb3VybmFsKQoreworCXRyYW5zYWN0aW9uX3QgKnRyYW5zYWN0aW9uOworCXRpZF90IHRpZDsKKworCXNwaW5fbG9jaygmam91cm5hbC0+al9zdGF0ZV9sb2NrKTsKKwl0cmFuc2FjdGlvbiA9IGpvdXJuYWwtPmpfY29tbWl0dGluZ190cmFuc2FjdGlvbjsKKworCWlmICghdHJhbnNhY3Rpb24pIHsKKwkJc3Bpbl91bmxvY2soJmpvdXJuYWwtPmpfc3RhdGVfbG9jayk7CisJCXJldHVybjsKKwl9CisKKwl0aWQgPSB0cmFuc2FjdGlvbi0+dF90aWQ7CisJc3Bpbl91bmxvY2soJmpvdXJuYWwtPmpfc3RhdGVfbG9jayk7CisJamJkMl9sb2dfd2FpdF9jb21taXQoam91cm5hbCwgdGlkKTsKK30KIAogLyoqCiAgKiBpbnQgamJkMl9qb3VybmFsX3RyeV90b19mcmVlX2J1ZmZlcnMoKSAtIHRyeSB0byBmcmVlIHBhZ2UgYnVmZmVycy4KICAqIEBqb3VybmFsOiBqb3VybmFsIGZvciBvcGVyYXRpb24KICAqIEBwYWdlOiB0byB0cnkgYW5kIGZyZWUKLSAqIEB1bnVzZWRfZ2ZwX21hc2s6IHVudXNlZAorICogQGdmcF9tYXNrOiB3ZSB1c2UgdGhlIG1hc2sgdG8gZGV0ZWN0IGhvdyBoYXJkIHNob3VsZCB3ZSB0cnkgdG8gcmVsZWFzZQorICogYnVmZmVycy4gSWYgX19HRlBfV0FJVCBhbmQgX19HRlBfRlMgaXMgc2V0LCB3ZSB3YWl0IGZvciBjb21taXQgY29kZSB0bworICogcmVsZWFzZSB0aGUgYnVmZmVycy4KICAqCiAgKgogICogRm9yIGFsbCB0aGUgYnVmZmVycyBvbiB0aGlzIHBhZ2UsCkBAIC0xNjkwLDkgKzE1MzAsMTEgQEAKICAqIGpvdXJuYWxfdHJ5X3RvX2ZyZWVfYnVmZmVyKCkgaXMgY2hhbmdpbmcgaXRzIHN0YXRlLiAgQnV0IHRoYXQKICAqIGNhbm5vdCBoYXBwZW4gYmVjYXVzZSB3ZSBuZXZlciByZWFsbG9jYXRlIGZyZWVkIGRhdGEgYXMgbWV0YWRhdGEKICAqIHdoaWxlIHRoZSBkYXRhIGlzIHBhcnQgb2YgYSB0cmFuc2FjdGlvbi4gIFllcz8KKyAqCisgKiBSZXR1cm4gMCBvbiBmYWlsdXJlLCAxIG9uIHN1Y2Nlc3MKICAqLwogaW50IGpiZDJfam91cm5hbF90cnlfdG9fZnJlZV9idWZmZXJzKGpvdXJuYWxfdCAqam91cm5hbCwKLQkJCQlzdHJ1Y3QgcGFnZSAqcGFnZSwgZ2ZwX3QgdW51c2VkX2dmcF9tYXNrKQorCQkJCXN0cnVjdCBwYWdlICpwYWdlLCBnZnBfdCBnZnBfbWFzaykKIHsKIAlzdHJ1Y3QgYnVmZmVyX2hlYWQgKmhlYWQ7CiAJc3RydWN0IGJ1ZmZlcl9oZWFkICpiaDsKQEAgLTE3MDgsNyArMTU1MCw4IEBACiAJCS8qCiAJCSAqIFdlIHRha2Ugb3VyIG93biByZWYgYWdhaW5zdCB0aGUgam91cm5hbF9oZWFkIGhlcmUgdG8gYXZvaWQKIAkJICogaGF2aW5nIHRvIGFkZCB0b25zIG9mIGxvY2tpbmcgYXJvdW5kIGVhY2ggaW5zdGFuY2Ugb2YKLQkJICogamJkMl9qb3VybmFsX3JlbW92ZV9qb3VybmFsX2hlYWQoKSBhbmQgamJkMl9qb3VybmFsX3B1dF9qb3VybmFsX2hlYWQoKS4KKwkJICogamJkMl9qb3VybmFsX3JlbW92ZV9qb3VybmFsX2hlYWQoKSBhbmQKKwkJICogamJkMl9qb3VybmFsX3B1dF9qb3VybmFsX2hlYWQoKS4KIAkJICovCiAJCWpoID0gamJkMl9qb3VybmFsX2dyYWJfam91cm5hbF9oZWFkKGJoKTsKIAkJaWYgKCFqaCkKQEAgLTE3MjEsNyArMTU2NCwyOCBAQAogCQlpZiAoYnVmZmVyX2piZChiaCkpCiAJCQlnb3RvIGJ1c3k7CiAJfSB3aGlsZSAoKGJoID0gYmgtPmJfdGhpc19wYWdlKSAhPSBoZWFkKTsKKwogCXJldCA9IHRyeV90b19mcmVlX2J1ZmZlcnMocGFnZSk7CisKKwkvKgorCSAqIFRoZXJlIGFyZSBhIG51bWJlciBvZiBwbGFjZXMgd2hlcmUgamJkMl9qb3VybmFsX3RyeV90b19mcmVlX2J1ZmZlcnMoKQorCSAqIGNvdWxkIHJhY2Ugd2l0aCBqYmQyX2pvdXJuYWxfY29tbWl0X3RyYW5zYWN0aW9uKCksIHRoZSBsYXRlciBzdGlsbAorCSAqIGhvbGRzIHRoZSByZWZlcmVuY2UgdG8gdGhlIGJ1ZmZlcnMgdG8gZnJlZSB3aGlsZSBwcm9jZXNzaW5nIHRoZW0uCisJICogdHJ5X3RvX2ZyZWVfYnVmZmVycygpIGZhaWxlZCB0byBmcmVlIHRob3NlIGJ1ZmZlcnMuIFNvbWUgb2YgdGhlCisJICogY2FsbGVyIG9mIHJlbGVhc2VwYWdlKCkgcmVxdWVzdCBwYWdlIGJ1ZmZlcnMgdG8gYmUgZHJvcHBlZCwgb3RoZXJ3aXNlCisJICogdHJlYXQgdGhlIGZhaWwtdG8tZnJlZSBhcyBlcnJvcnMgKHN1Y2ggYXMgZ2VuZXJpY19maWxlX2RpcmVjdF9JTygpKQorCSAqCisJICogU28sIGlmIHRoZSBjYWxsZXIgb2YgdHJ5X3RvX3JlbGVhc2VfcGFnZSgpIHdhbnRzIHRoZSBzeW5jaHJvbm91cworCSAqIGJlaGF2aW91cihpLmUgbWFrZSBzdXJlIGJ1ZmZlcnMgYXJlIGRyb3BwZWQgdXBvbiByZXR1cm4pLAorCSAqIGxldCdzIHdhaXQgZm9yIHRoZSBjdXJyZW50IHRyYW5zYWN0aW9uIHRvIGZpbmlzaCBmbHVzaCBvZgorCSAqIGRpcnR5IGRhdGEgYnVmZmVycywgdGhlbiB0cnkgdG8gZnJlZSB0aG9zZSBidWZmZXJzIGFnYWluLAorCSAqIHdpdGggdGhlIGpvdXJuYWwgbG9ja2VkLgorCSAqLworCWlmIChyZXQgPT0gMCAmJiAoZ2ZwX21hc2sgJiBfX0dGUF9XQUlUKSAmJiAoZ2ZwX21hc2sgJiBfX0dGUF9GUykpIHsKKwkJamJkMl9qb3VybmFsX3dhaXRfZm9yX3RyYW5zYWN0aW9uX3N5bmNfZGF0YShqb3VybmFsKTsKKwkJcmV0ID0gdHJ5X3RvX2ZyZWVfYnVmZmVycyhwYWdlKTsKKwl9CisKIGJ1c3k6CiAJcmV0dXJuIHJldDsKIH0KQEAgLTE4MjMsNiArMTY4Nyw3IEBACiAJaWYgKCFidWZmZXJfamJkKGJoKSkKIAkJZ290byB6YXBfYnVmZmVyX3VubG9ja2VkOwogCisJLyogT0ssIHdlIGhhdmUgZGF0YSBidWZmZXIgaW4gam91cm5hbGVkIG1vZGUgKi8KIAlzcGluX2xvY2soJmpvdXJuYWwtPmpfc3RhdGVfbG9jayk7CiAJamJkX2xvY2tfYmhfc3RhdGUoYmgpOwogCXNwaW5fbG9jaygmam91cm5hbC0+al9saXN0X2xvY2spOwpAQCAtMTg4NiwxNSArMTc1MSw2IEBACiAJCX0KIAl9IGVsc2UgaWYgKHRyYW5zYWN0aW9uID09IGpvdXJuYWwtPmpfY29tbWl0dGluZ190cmFuc2FjdGlvbikgewogCQlKQlVGRkVSX1RSQUNFKGpoLCAib24gY29tbWl0dGluZyB0cmFuc2FjdGlvbiIpOwotCQlpZiAoamgtPmJfamxpc3QgPT0gQkpfTG9ja2VkKSB7Ci0JCQkvKgotCQkJICogVGhlIGJ1ZmZlciBpcyBvbiB0aGUgY29tbWl0dGluZyB0cmFuc2FjdGlvbidzIGxvY2tlZAotCQkJICogbGlzdC4gIFdlIGhhdmUgdGhlIGJ1ZmZlciBsb2NrZWQsIHNvIEkvTyBoYXMKLQkJCSAqIGNvbXBsZXRlZC4gIFNvIHdlIGNhbiBuYWlsIHRoZSBidWZmZXIgbm93LgotCQkJICovCi0JCQltYXlfZnJlZSA9IF9fZGlzcG9zZV9idWZmZXIoamgsIHRyYW5zYWN0aW9uKTsKLQkJCWdvdG8gemFwX2J1ZmZlcjsKLQkJfQogCQkvKgogCQkgKiBJZiBpdCBpcyBjb21taXR0aW5nLCB3ZSBzaW1wbHkgY2Fubm90IHRvdWNoIGl0LiAgV2UKIAkJICogY2FuIHJlbW92ZSBpdCdzIG5leHRfdHJhbnNhY3Rpb24gcG9pbnRlciBmcm9tIHRoZQpAQCAtMjAyNyw5ICsxODgzLDYgQEAKIAkJSl9BU1NFUlRfSkgoamgsICFqaC0+Yl9jb21taXR0ZWRfZGF0YSk7CiAJCUpfQVNTRVJUX0pIKGpoLCAhamgtPmJfZnJvemVuX2RhdGEpOwogCQlyZXR1cm47Ci0JY2FzZSBCSl9TeW5jRGF0YToKLQkJbGlzdCA9ICZ0cmFuc2FjdGlvbi0+dF9zeW5jX2RhdGFsaXN0OwotCQlicmVhazsKIAljYXNlIEJKX01ldGFkYXRhOgogCQl0cmFuc2FjdGlvbi0+dF9ucl9idWZmZXJzKys7CiAJCWxpc3QgPSAmdHJhbnNhY3Rpb24tPnRfYnVmZmVyczsKQEAgLTIwNDksOSArMTkwMiw2IEBACiAJY2FzZSBCSl9SZXNlcnZlZDoKIAkJbGlzdCA9ICZ0cmFuc2FjdGlvbi0+dF9yZXNlcnZlZF9saXN0OwogCQlicmVhazsKLQljYXNlIEJKX0xvY2tlZDoKLQkJbGlzdCA9ICAmdHJhbnNhY3Rpb24tPnRfbG9ja2VkX2xpc3Q7Ci0JCWJyZWFrOwogCX0KIAogCV9fYmxpc3RfYWRkX2J1ZmZlcihsaXN0LCBqaCk7CkBAIC0yMTQxLDMgKzE5OTEsODggQEAKIAlzcGluX3VubG9jaygmam91cm5hbC0+al9saXN0X2xvY2spOwogCV9fYnJlbHNlKGJoKTsKIH0KKworLyoKKyAqIEZpbGUgaW5vZGUgaW4gdGhlIGlub2RlIGxpc3Qgb2YgdGhlIGhhbmRsZSdzIHRyYW5zYWN0aW9uCisgKi8KK2ludCBqYmQyX2pvdXJuYWxfZmlsZV9pbm9kZShoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgamJkMl9pbm9kZSAqamlub2RlKQoreworCXRyYW5zYWN0aW9uX3QgKnRyYW5zYWN0aW9uID0gaGFuZGxlLT5oX3RyYW5zYWN0aW9uOworCWpvdXJuYWxfdCAqam91cm5hbCA9IHRyYW5zYWN0aW9uLT50X2pvdXJuYWw7CisKKwlpZiAoaXNfaGFuZGxlX2Fib3J0ZWQoaGFuZGxlKSkKKwkJcmV0dXJuIC1FSU87CisKKwlqYmRfZGVidWcoNCwgIkFkZGluZyBpbm9kZSAlbHUsIHRpZDolZFxuIiwgamlub2RlLT5pX3Zmc19pbm9kZS0+aV9pbm8sCisJCQl0cmFuc2FjdGlvbi0+dF90aWQpOworCisJLyoKKwkgKiBGaXJzdCBjaGVjayB3aGV0aGVyIGlub2RlIGlzbid0IGFscmVhZHkgb24gdGhlIHRyYW5zYWN0aW9uJ3MKKwkgKiBsaXN0cyB3aXRob3V0IHRha2luZyB0aGUgbG9jay4gTm90ZSB0aGF0IHRoaXMgY2hlY2sgaXMgc2FmZQorCSAqIHdpdGhvdXQgdGhlIGxvY2sgYXMgd2UgY2Fubm90IHJhY2Ugd2l0aCBzb21lYm9keSByZW1vdmluZyBpbm9kZQorCSAqIGZyb20gdGhlIHRyYW5zYWN0aW9uLiBUaGUgcmVhc29uIGlzIHRoYXQgd2UgcmVtb3ZlIGlub2RlIGZyb20gdGhlCisJICogdHJhbnNhY3Rpb24gb25seSBpbiBqb3VybmFsX3JlbGVhc2VfamJkX2lub2RlKCkgYW5kIHdoZW4gd2UgY29tbWl0CisJICogdGhlIHRyYW5zYWN0aW9uLiBXZSBhcmUgZ3VhcmRlZCBmcm9tIHRoZSBmaXJzdCBjYXNlIGJ5IGhvbGRpbmcKKwkgKiBhIHJlZmVyZW5jZSB0byB0aGUgaW5vZGUuIFdlIGFyZSBzYWZlIGFnYWluc3QgdGhlIHNlY29uZCBjYXNlCisJICogYmVjYXVzZSBpZiBqaW5vZGUtPmlfdHJhbnNhY3Rpb24gPT0gdHJhbnNhY3Rpb24sIGNvbW1pdCBjb2RlCisJICogY2Fubm90IHRvdWNoIHRoZSB0cmFuc2FjdGlvbiBiZWNhdXNlIHdlIGhvbGQgcmVmZXJlbmNlIHRvIGl0LAorCSAqIGFuZCBpZiBqaW5vZGUtPmlfbmV4dF90cmFuc2FjdGlvbiA9PSB0cmFuc2FjdGlvbiwgY29tbWl0IGNvZGUKKwkgKiB3aWxsIG9ubHkgZmlsZSB0aGUgaW5vZGUgd2hlcmUgd2Ugd2FudCBpdC4KKwkgKi8KKwlpZiAoamlub2RlLT5pX3RyYW5zYWN0aW9uID09IHRyYW5zYWN0aW9uIHx8CisJICAgIGppbm9kZS0+aV9uZXh0X3RyYW5zYWN0aW9uID09IHRyYW5zYWN0aW9uKQorCQlyZXR1cm4gMDsKKworCXNwaW5fbG9jaygmam91cm5hbC0+al9saXN0X2xvY2spOworCisJaWYgKGppbm9kZS0+aV90cmFuc2FjdGlvbiA9PSB0cmFuc2FjdGlvbiB8fAorCSAgICBqaW5vZGUtPmlfbmV4dF90cmFuc2FjdGlvbiA9PSB0cmFuc2FjdGlvbikKKwkJZ290byBkb25lOworCisJLyogT24gc29tZSBkaWZmZXJlbnQgdHJhbnNhY3Rpb24ncyBsaXN0IC0gc2hvdWxkIGJlCisJICogdGhlIGNvbW1pdHRpbmcgb25lICovCisJaWYgKGppbm9kZS0+aV90cmFuc2FjdGlvbikgeworCQlKX0FTU0VSVChqaW5vZGUtPmlfbmV4dF90cmFuc2FjdGlvbiA9PSBOVUxMKTsKKwkJSl9BU1NFUlQoamlub2RlLT5pX3RyYW5zYWN0aW9uID09CisJCQkJCWpvdXJuYWwtPmpfY29tbWl0dGluZ190cmFuc2FjdGlvbik7CisJCWppbm9kZS0+aV9uZXh0X3RyYW5zYWN0aW9uID0gdHJhbnNhY3Rpb247CisJCWdvdG8gZG9uZTsKKwl9CisJLyogTm90IG9uIGFueSB0cmFuc2FjdGlvbiBsaXN0Li4uICovCisJSl9BU1NFUlQoIWppbm9kZS0+aV9uZXh0X3RyYW5zYWN0aW9uKTsKKwlqaW5vZGUtPmlfdHJhbnNhY3Rpb24gPSB0cmFuc2FjdGlvbjsKKwlsaXN0X2FkZCgmamlub2RlLT5pX2xpc3QsICZ0cmFuc2FjdGlvbi0+dF9pbm9kZV9saXN0KTsKK2RvbmU6CisJc3Bpbl91bmxvY2soJmpvdXJuYWwtPmpfbGlzdF9sb2NrKTsKKworCXJldHVybiAwOworfQorCisvKgorICogVGhpcyBmdW5jdGlvbiBtdXN0IGJlIGNhbGxlZCB3aGVuIGlub2RlIGlzIGpvdXJuYWxlZCBpbiBvcmRlcmVkIG1vZGUKKyAqIGJlZm9yZSB0cnVuY2F0aW9uIGhhcHBlbnMuIEl0IHN0YXJ0cyB3cml0ZW91dCBvZiB0cnVuY2F0ZWQgcGFydCBpbgorICogY2FzZSBpdCBpcyBpbiB0aGUgY29tbWl0dGluZyB0cmFuc2FjdGlvbiBzbyB0aGF0IHdlIHN0YW5kIHRvIG9yZGVyZWQKKyAqIG1vZGUgY29uc2lzdGVuY3kgZ3VhcmFudGVlcy4KKyAqLworaW50IGpiZDJfam91cm5hbF9iZWdpbl9vcmRlcmVkX3RydW5jYXRlKHN0cnVjdCBqYmQyX2lub2RlICppbm9kZSwKKwkJCQkJbG9mZl90IG5ld19zaXplKQoreworCWpvdXJuYWxfdCAqam91cm5hbDsKKwl0cmFuc2FjdGlvbl90ICpjb21taXRfdHJhbnM7CisJaW50IHJldCA9IDA7CisKKwlpZiAoIWlub2RlLT5pX3RyYW5zYWN0aW9uICYmICFpbm9kZS0+aV9uZXh0X3RyYW5zYWN0aW9uKQorCQlnb3RvIG91dDsKKwlqb3VybmFsID0gaW5vZGUtPmlfdHJhbnNhY3Rpb24tPnRfam91cm5hbDsKKwlzcGluX2xvY2soJmpvdXJuYWwtPmpfc3RhdGVfbG9jayk7CisJY29tbWl0X3RyYW5zID0gam91cm5hbC0+al9jb21taXR0aW5nX3RyYW5zYWN0aW9uOworCXNwaW5fdW5sb2NrKCZqb3VybmFsLT5qX3N0YXRlX2xvY2spOworCWlmIChpbm9kZS0+aV90cmFuc2FjdGlvbiA9PSBjb21taXRfdHJhbnMpIHsKKwkJcmV0ID0gZmlsZW1hcF9mZGF0YXdyaXRlX3JhbmdlKGlub2RlLT5pX3Zmc19pbm9kZS0+aV9tYXBwaW5nLAorCQkJbmV3X3NpemUsIExMT05HX01BWCk7CisJCWlmIChyZXQpCisJCQlqYmQyX2pvdXJuYWxfYWJvcnQoam91cm5hbCwgcmV0KTsKKwl9CitvdXQ6CisJcmV0dXJuIHJldDsKK30KZGlmZiAtLWdpdCBhL2ZzL2pmcy9qZnNfZGVidWcuYyBiL2ZzL2pmcy9qZnNfZGVidWcuYwppbmRleCBiZjZhYjE5Li42YTczZGU4NCAxMDA2NDQKLS0tIGEvZnMvamZzL2pmc19kZWJ1Zy5jCisrKyBiL2ZzL2pmcy9qZnNfZGVidWcuYwpAQCAtMjEsNiArMjEsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2N0eXBlLmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvcHJvY19mcy5oPgorI2luY2x1ZGUgPGxpbnV4L3NlcV9maWxlLmg+CiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KICNpbmNsdWRlICJqZnNfaW5jb3JlLmgiCiAjaW5jbHVkZSAiamZzX2ZpbHN5cy5oIgpAQCAtMzAsMjkgKzMxLDE5IEBACiAKIHN0YXRpYyBzdHJ1Y3QgcHJvY19kaXJfZW50cnkgKmJhc2U7CiAjaWZkZWYgQ09ORklHX0pGU19ERUJVRwotc3RhdGljIGludCBsb2dsZXZlbF9yZWFkKGNoYXIgKnBhZ2UsIGNoYXIgKipzdGFydCwgb2ZmX3Qgb2ZmLAotCQkJIGludCBjb3VudCwgaW50ICplb2YsIHZvaWQgKmRhdGEpCitzdGF0aWMgaW50IGpmc19sb2dsZXZlbF9wcm9jX3Nob3coc3RydWN0IHNlcV9maWxlICptLCB2b2lkICp2KQogewotCWludCBsZW47Ci0KLQlsZW4gPSBzcHJpbnRmKHBhZ2UsICIlZFxuIiwgamZzbG9nbGV2ZWwpOwotCi0JbGVuIC09IG9mZjsKLQkqc3RhcnQgPSBwYWdlICsgb2ZmOwotCi0JaWYgKGxlbiA+IGNvdW50KQotCQlsZW4gPSBjb3VudDsKLQllbHNlCi0JCSplb2YgPSAxOwotCi0JaWYgKGxlbiA8IDApCi0JCWxlbiA9IDA7Ci0KLQlyZXR1cm4gbGVuOworCXNlcV9wcmludGYobSwgIiVkXG4iLCBqZnNsb2dsZXZlbCk7CisJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgbG9nbGV2ZWxfd3JpdGUoc3RydWN0IGZpbGUgKmZpbGUsIGNvbnN0IGNoYXIgX191c2VyICpidWZmZXIsCi0JCQl1bnNpZ25lZCBsb25nIGNvdW50LCB2b2lkICpkYXRhKQorc3RhdGljIGludCBqZnNfbG9nbGV2ZWxfcHJvY19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQoreworCXJldHVybiBzaW5nbGVfb3BlbihmaWxlLCBqZnNfbG9nbGV2ZWxfcHJvY19zaG93LCBOVUxMKTsKK30KKworc3RhdGljIHNzaXplX3QgamZzX2xvZ2xldmVsX3Byb2Nfd3JpdGUoc3RydWN0IGZpbGUgKmZpbGUsCisJCWNvbnN0IGNoYXIgX191c2VyICpidWZmZXIsIHNpemVfdCBjb3VudCwgbG9mZl90ICpwcG9zKQogewogCWNoYXIgYzsKIApAQCAtNjUsMjIgKzU2LDMwIEBACiAJamZzbG9nbGV2ZWwgPSBjIC0gJzAnOwogCXJldHVybiBjb3VudDsKIH0KKworc3RhdGljIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgamZzX2xvZ2xldmVsX3Byb2NfZm9wcyA9IHsKKwkub3duZXIJCT0gVEhJU19NT0RVTEUsCisJLm9wZW4JCT0gamZzX2xvZ2xldmVsX3Byb2Nfb3BlbiwKKwkucmVhZAkJPSBzZXFfcmVhZCwKKwkubGxzZWVrCQk9IHNlcV9sc2VlaywKKwkucmVsZWFzZQk9IHNpbmdsZV9yZWxlYXNlLAorCS53cml0ZQkJPSBqZnNfbG9nbGV2ZWxfcHJvY193cml0ZSwKK307CiAjZW5kaWYKIAogc3RhdGljIHN0cnVjdCB7CiAJY29uc3QgY2hhcgkqbmFtZTsKLQlyZWFkX3Byb2NfdAkqcmVhZF9mbjsKLQl3cml0ZV9wcm9jX3QJKndyaXRlX2ZuOworCWNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgKnByb2NfZm9wczsKIH0gRW50cmllc1tdID0gewogI2lmZGVmIENPTkZJR19KRlNfU1RBVElTVElDUwotCXsgImxtc3RhdHMiLAlqZnNfbG1zdGF0c19yZWFkLCB9LAotCXsgInR4c3RhdHMiLAlqZnNfdHhzdGF0c19yZWFkLCB9LAotCXsgInh0c3RhdCIsCWpmc194dHN0YXRfcmVhZCwgfSwKLQl7ICJtcHN0YXQiLAlqZnNfbXBzdGF0X3JlYWQsIH0sCisJeyAibG1zdGF0cyIsCSZqZnNfbG1zdGF0c19wcm9jX2ZvcHMsIH0sCisJeyAidHhzdGF0cyIsCSZqZnNfdHhzdGF0c19wcm9jX2ZvcHMsIH0sCisJeyAieHRzdGF0IiwJJmpmc194dHN0YXRfcHJvY19mb3BzLCB9LAorCXsgIm1wc3RhdCIsCSZqZnNfbXBzdGF0X3Byb2NfZm9wcywgfSwKICNlbmRpZgogI2lmZGVmIENPTkZJR19KRlNfREVCVUcKLQl7ICJUeEFuY2hvciIsCWpmc190eGFuY2hvcl9yZWFkLCB9LAotCXsgImxvZ2xldmVsIiwJbG9nbGV2ZWxfcmVhZCwgbG9nbGV2ZWxfd3JpdGUgfQorCXsgIlR4QW5jaG9yIiwJJmpmc190eGFuY2hvcl9wcm9jX2ZvcHMsIH0sCisJeyAibG9nbGV2ZWwiLAkmamZzX2xvZ2xldmVsX3Byb2NfZm9wcyB9CiAjZW5kaWYKIH07CiAjZGVmaW5lIE5QUk9DRU5UCUFSUkFZX1NJWkUoRW50cmllcykKQEAgLTkzLDEzICs5Miw4IEBACiAJCXJldHVybjsKIAliYXNlLT5vd25lciA9IFRISVNfTU9EVUxFOwogCi0JZm9yIChpID0gMDsgaSA8IE5QUk9DRU5UOyBpKyspIHsKLQkJc3RydWN0IHByb2NfZGlyX2VudHJ5ICpwOwotCQlpZiAoKHAgPSBjcmVhdGVfcHJvY19lbnRyeShFbnRyaWVzW2ldLm5hbWUsIDAsIGJhc2UpKSkgewotCQkJcC0+cmVhZF9wcm9jID0gRW50cmllc1tpXS5yZWFkX2ZuOwotCQkJcC0+d3JpdGVfcHJvYyA9IEVudHJpZXNbaV0ud3JpdGVfZm47Ci0JCX0KLQl9CisJZm9yIChpID0gMDsgaSA8IE5QUk9DRU5UOyBpKyspCisJCXByb2NfY3JlYXRlKEVudHJpZXNbaV0ubmFtZSwgMCwgYmFzZSwgRW50cmllc1tpXS5wcm9jX2ZvcHMpOwogfQogCiB2b2lkIGpmc19wcm9jX2NsZWFuKHZvaWQpCmRpZmYgLS1naXQgYS9mcy9qZnMvamZzX2RlYnVnLmggYi9mcy9qZnMvamZzX2RlYnVnLmgKaW5kZXggMDQ0YzFlNi4uZWFmZDEzMCAxMDA2NDQKLS0tIGEvZnMvamZzL2pmc19kZWJ1Zy5oCisrKyBiL2ZzL2pmcy9qZnNfZGVidWcuaApAQCAtNjIsNyArNjIsNyBAQAogCiBleHRlcm4gaW50IGpmc2xvZ2xldmVsOwogCi1leHRlcm4gaW50IGpmc190eGFuY2hvcl9yZWFkKGNoYXIgKiwgY2hhciAqKiwgb2ZmX3QsIGludCwgaW50ICosIHZvaWQgKik7CitleHRlcm4gY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBqZnNfdHhhbmNob3JfcHJvY19mb3BzOwogCiAvKiBpbmZvcm1hdGlvbiBtZXNzYWdlOiBlLmcuLCBjb25maWd1cmF0aW9uLCBtYWpvciBldmVudCAqLwogI2RlZmluZSBqZnNfaW5mbyhmbXQsIGFyZy4uLikgZG8gewkJCVwKQEAgLTEwNSwxMCArMTA1LDEwIEBACiAgKgktLS0tLS0tLS0tCiAgKi8KICNpZmRlZglDT05GSUdfSkZTX1NUQVRJU1RJQ1MKLWV4dGVybiBpbnQgamZzX2xtc3RhdHNfcmVhZChjaGFyICosIGNoYXIgKiosIG9mZl90LCBpbnQsIGludCAqLCB2b2lkICopOwotZXh0ZXJuIGludCBqZnNfdHhzdGF0c19yZWFkKGNoYXIgKiwgY2hhciAqKiwgb2ZmX3QsIGludCwgaW50ICosIHZvaWQgKik7Ci1leHRlcm4gaW50IGpmc19tcHN0YXRfcmVhZChjaGFyICosIGNoYXIgKiosIG9mZl90LCBpbnQsIGludCAqLCB2b2lkICopOwotZXh0ZXJuIGludCBqZnNfeHRzdGF0X3JlYWQoY2hhciAqLCBjaGFyICoqLCBvZmZfdCwgaW50LCBpbnQgKiwgdm9pZCAqKTsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIGpmc19sbXN0YXRzX3Byb2NfZm9wczsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIGpmc190eHN0YXRzX3Byb2NfZm9wczsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIGpmc19tcHN0YXRfcHJvY19mb3BzOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgamZzX3h0c3RhdF9wcm9jX2ZvcHM7CiAKICNkZWZpbmUJSU5DUkVNRU5UKHgpCQkoKHgpKyspCiAjZGVmaW5lCURFQ1JFTUVOVCh4KQkJKCh4KS0tKQpkaWZmIC0tZ2l0IGEvZnMvamZzL2pmc19kdHJlZS5oIGIvZnMvamZzL2pmc19kdHJlZS5oCmluZGV4IGNkYWMyZDUuLjI1NDViYjMgMTAwNjQ0Ci0tLSBhL2ZzL2pmcy9qZnNfZHRyZWUuaAorKysgYi9mcy9qZnMvamZzX2R0cmVlLmgKQEAgLTI0Myw5ICsyNDMsNiBAQAogI2RlZmluZSBKRlNfUkVNT1ZFIDMKICNkZWZpbmUgSkZTX1JFTkFNRSA0CiAKLSNkZWZpbmUgRElSRU5UU0laKG5hbWxlbikgXAotICAgICggKHNpemVvZihzdHJ1Y3QgZGlyZW50KSAtIDIqKEpGU19OQU1FX01BWCsxKSArIDIqKChuYW1sZW4pKzEpICsgMykgJn4gMyApCi0KIC8qCiAgKiBNYXhpbXVtIGZpbGUgb2Zmc2V0IGZvciBkaXJlY3Rvcmllcy4KICAqLwpkaWZmIC0tZ2l0IGEvZnMvamZzL2pmc19pbWFwLmMgYi9mcy9qZnMvamZzX2ltYXAuYwppbmRleCA3MzRlYzkxLi5kNjM2M2Q4IDEwMDY0NAotLS0gYS9mcy9qZnMvamZzX2ltYXAuYworKysgYi9mcy9qZnMvamZzX2ltYXAuYwpAQCAtMTUyMCw3ICsxNTIwLDcgQEAKIAkJCQkJamZzX2Vycm9yKGlwLT5pX3NiLAogCQkJCQkJICAiZGlBbGxvYzogY2FuJ3QgZmluZCBmcmVlIGJpdCAiCiAJCQkJCQkgICJpbiB3bWFwIik7Ci0JCQkJCXJldHVybiBFSU87CisJCQkJCXJldHVybiAtRUlPOwogCQkJCX0KIAogCQkJCS8qIGRldGVybWluZSB0aGUgaW5vZGUgbnVtYmVyIHdpdGhpbiB0aGUKZGlmZiAtLWdpdCBhL2ZzL2pmcy9qZnNfbG9nbWdyLmMgYi9mcy9qZnMvamZzX2xvZ21nci5jCmluZGV4IDMyNWE5NjcuLmNkMmVjMjkgMTAwNjQ0Ci0tLSBhL2ZzL2pmcy9qZnNfbG9nbWdyLmMKKysrIGIvZnMvamZzL2pmc19sb2dtZ3IuYwpAQCAtNjksNiArNjksNyBAQAogI2luY2x1ZGUgPGxpbnV4L2ZyZWV6ZXIuaD4KICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgogI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CisjaW5jbHVkZSA8bGludXgvc2VxX2ZpbGUuaD4KICNpbmNsdWRlICJqZnNfaW5jb3JlLmgiCiAjaW5jbHVkZSAiamZzX2ZpbHN5cy5oIgogI2luY2x1ZGUgImpmc19tZXRhcGFnZS5oIgpAQCAtMjUwMywxMyArMjUwNCw5IEBACiB9CiAKICNpZmRlZiBDT05GSUdfSkZTX1NUQVRJU1RJQ1MKLWludCBqZnNfbG1zdGF0c19yZWFkKGNoYXIgKmJ1ZmZlciwgY2hhciAqKnN0YXJ0LCBvZmZfdCBvZmZzZXQsIGludCBsZW5ndGgsCi0JCSAgICAgIGludCAqZW9mLCB2b2lkICpkYXRhKQorc3RhdGljIGludCBqZnNfbG1zdGF0c19wcm9jX3Nob3coc3RydWN0IHNlcV9maWxlICptLCB2b2lkICp2KQogewotCWludCBsZW4gPSAwOwotCW9mZl90IGJlZ2luOwotCi0JbGVuICs9IHNwcmludGYoYnVmZmVyLAorCXNlcV9wcmludGYobSwKIAkJICAgICAgICJKRlMgTG9nbWdyIHN0YXRzXG4iCiAJCSAgICAgICAiPT09PT09PT09PT09PT09PVxuIgogCQkgICAgICAgImNvbW1pdHMgPSAlZFxuIgpAQCAtMjUyMiwxOSArMjUxOSwxOSBAQAogCQkgICAgICAgbG1TdGF0LnBhZ2Vkb25lLAogCQkgICAgICAgbG1TdGF0LmZ1bGxfcGFnZSwKIAkJICAgICAgIGxtU3RhdC5wYXJ0aWFsX3BhZ2UpOwotCi0JYmVnaW4gPSBvZmZzZXQ7Ci0JKnN0YXJ0ID0gYnVmZmVyICsgYmVnaW47Ci0JbGVuIC09IGJlZ2luOwotCi0JaWYgKGxlbiA+IGxlbmd0aCkKLQkJbGVuID0gbGVuZ3RoOwotCWVsc2UKLQkJKmVvZiA9IDE7Ci0KLQlpZiAobGVuIDwgMCkKLQkJbGVuID0gMDsKLQotCXJldHVybiBsZW47CisJcmV0dXJuIDA7CiB9CisKK3N0YXRpYyBpbnQgamZzX2xtc3RhdHNfcHJvY19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQoreworCXJldHVybiBzaW5nbGVfb3BlbihmaWxlLCBqZnNfbG1zdGF0c19wcm9jX3Nob3csIE5VTEwpOworfQorCitjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIGpmc19sbXN0YXRzX3Byb2NfZm9wcyA9IHsKKwkub3duZXIJCT0gVEhJU19NT0RVTEUsCisJLm9wZW4JCT0gamZzX2xtc3RhdHNfcHJvY19vcGVuLAorCS5yZWFkCQk9IHNlcV9yZWFkLAorCS5sbHNlZWsJCT0gc2VxX2xzZWVrLAorCS5yZWxlYXNlCT0gc2luZ2xlX3JlbGVhc2UsCit9OwogI2VuZGlmIC8qIENPTkZJR19KRlNfU1RBVElTVElDUyAqLwpkaWZmIC0tZ2l0IGEvZnMvamZzL2pmc19tZXRhcGFnZS5jIGIvZnMvamZzL2pmc19tZXRhcGFnZS5jCmluZGV4IGQxZTY0ZjIuLjg1NGZmMGUgMTAwNjQ0Ci0tLSBhL2ZzL2pmcy9qZnNfbWV0YXBhZ2UuYworKysgYi9mcy9qZnMvamZzX21ldGFwYWdlLmMKQEAgLTE5LDEwICsxOSwxMiBAQAogCiAjaW5jbHVkZSA8bGludXgvZnMuaD4KICNpbmNsdWRlIDxsaW51eC9tbS5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L2Jpby5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9idWZmZXJfaGVhZC5oPgogI2luY2x1ZGUgPGxpbnV4L21lbXBvb2wuaD4KKyNpbmNsdWRlIDxsaW51eC9zZXFfZmlsZS5oPgogI2luY2x1ZGUgImpmc19pbmNvcmUuaCIKICNpbmNsdWRlICJqZnNfc3VwZXJibG9jay5oIgogI2luY2x1ZGUgImpmc19maWxzeXMuaCIKQEAgLTgwNCwxMyArODA2LDkgQEAKIH0KIAogI2lmZGVmIENPTkZJR19KRlNfU1RBVElTVElDUwotaW50IGpmc19tcHN0YXRfcmVhZChjaGFyICpidWZmZXIsIGNoYXIgKipzdGFydCwgb2ZmX3Qgb2Zmc2V0LCBpbnQgbGVuZ3RoLAotCQkgICAgaW50ICplb2YsIHZvaWQgKmRhdGEpCitzdGF0aWMgaW50IGpmc19tcHN0YXRfcHJvY19zaG93KHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqdikKIHsKLQlpbnQgbGVuID0gMDsKLQlvZmZfdCBiZWdpbjsKLQotCWxlbiArPSBzcHJpbnRmKGJ1ZmZlciwKKwlzZXFfcHJpbnRmKG0sCiAJCSAgICAgICAiSkZTIE1ldGFwYWdlIHN0YXRpc3RpY3NcbiIKIAkJICAgICAgICI9PT09PT09PT09PT09PT09PT09PT09PVxuIgogCQkgICAgICAgInBhZ2UgYWxsb2NhdGlvbnMgPSAlZFxuIgpAQCAtODE5LDE5ICs4MTcsMTkgQEAKIAkJICAgICAgIG1wU3RhdC5wYWdlYWxsb2MsCiAJCSAgICAgICBtcFN0YXQucGFnZWZyZWUsCiAJCSAgICAgICBtcFN0YXQubG9ja3dhaXQpOwotCi0JYmVnaW4gPSBvZmZzZXQ7Ci0JKnN0YXJ0ID0gYnVmZmVyICsgYmVnaW47Ci0JbGVuIC09IGJlZ2luOwotCi0JaWYgKGxlbiA+IGxlbmd0aCkKLQkJbGVuID0gbGVuZ3RoOwotCWVsc2UKLQkJKmVvZiA9IDE7Ci0KLQlpZiAobGVuIDwgMCkKLQkJbGVuID0gMDsKLQotCXJldHVybiBsZW47CisJcmV0dXJuIDA7CiB9CisKK3N0YXRpYyBpbnQgamZzX21wc3RhdF9wcm9jX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCit7CisJcmV0dXJuIHNpbmdsZV9vcGVuKGZpbGUsIGpmc19tcHN0YXRfcHJvY19zaG93LCBOVUxMKTsKK30KKworY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBqZnNfbXBzdGF0X3Byb2NfZm9wcyA9IHsKKwkub3duZXIJCT0gVEhJU19NT0RVTEUsCisJLm9wZW4JCT0gamZzX21wc3RhdF9wcm9jX29wZW4sCisJLnJlYWQJCT0gc2VxX3JlYWQsCisJLmxsc2VlawkJPSBzZXFfbHNlZWssCisJLnJlbGVhc2UJPSBzaW5nbGVfcmVsZWFzZSwKK307CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2ZzL2pmcy9qZnNfdHhubWdyLmMgYi9mcy9qZnMvamZzX3R4bm1nci5jCmluZGV4IGU3YzYwYWUuLmYyNmU0ZDAgMTAwNjQ0Ci0tLSBhL2ZzL2pmcy9qZnNfdHhubWdyLmMKKysrIGIvZnMvamZzL2pmc190eG5tZ3IuYwpAQCAtNDksNiArNDksNyBAQAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZXBhcmFtLmg+CiAjaW5jbHVkZSA8bGludXgva3RocmVhZC5oPgorI2luY2x1ZGUgPGxpbnV4L3NlcV9maWxlLmg+CiAjaW5jbHVkZSAiamZzX2luY29yZS5oIgogI2luY2x1ZGUgImpmc19pbm9kZS5oIgogI2luY2x1ZGUgImpmc19maWxzeXMuaCIKQEAgLTMwMDksMTEgKzMwMTAsOCBAQAogfQogCiAjaWYgZGVmaW5lZChDT05GSUdfUFJPQ19GUykgJiYgZGVmaW5lZChDT05GSUdfSkZTX0RFQlVHKQotaW50IGpmc190eGFuY2hvcl9yZWFkKGNoYXIgKmJ1ZmZlciwgY2hhciAqKnN0YXJ0LCBvZmZfdCBvZmZzZXQsIGludCBsZW5ndGgsCi0JCSAgICAgIGludCAqZW9mLCB2b2lkICpkYXRhKQorc3RhdGljIGludCBqZnNfdHhhbmNob3JfcHJvY19zaG93KHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqdikKIHsKLQlpbnQgbGVuID0gMDsKLQlvZmZfdCBiZWdpbjsKIAljaGFyICpmcmVld2FpdDsKIAljaGFyICpmcmVlbG9ja3dhaXQ7CiAJY2hhciAqbG93bG9ja3dhaXQ7CkBAIC0zMDI1LDcgKzMwMjMsNyBAQAogCWxvd2xvY2t3YWl0ID0KIAkgICAgd2FpdHF1ZXVlX2FjdGl2ZSgmVHhBbmNob3IubG93bG9ja3dhaXQpID8gImFjdGl2ZSIgOiAiZW1wdHkiOwogCi0JbGVuICs9IHNwcmludGYoYnVmZmVyLAorCXNlcV9wcmludGYobSwKIAkJICAgICAgICJKRlMgVHhBbmNob3JcbiIKIAkJICAgICAgICI9PT09PT09PT09PT1cbiIKIAkJICAgICAgICJmcmVldGlkID0gJWRcbiIKQEAgLTMwNDQsMzEgKzMwNDIsMjcgQEAKIAkJICAgICAgIFR4QW5jaG9yLnRsb2Nrc0luVXNlLAogCQkgICAgICAgamZzX3Rsb2Nrc19sb3csCiAJCSAgICAgICBsaXN0X2VtcHR5KCZUeEFuY2hvci51bmxvY2tfcXVldWUpID8gIiIgOiAibm90ICIpOwotCi0JYmVnaW4gPSBvZmZzZXQ7Ci0JKnN0YXJ0ID0gYnVmZmVyICsgYmVnaW47Ci0JbGVuIC09IGJlZ2luOwotCi0JaWYgKGxlbiA+IGxlbmd0aCkKLQkJbGVuID0gbGVuZ3RoOwotCWVsc2UKLQkJKmVvZiA9IDE7Ci0KLQlpZiAobGVuIDwgMCkKLQkJbGVuID0gMDsKLQotCXJldHVybiBsZW47CisJcmV0dXJuIDA7CiB9CisKK3N0YXRpYyBpbnQgamZzX3R4YW5jaG9yX3Byb2Nfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKK3sKKwlyZXR1cm4gc2luZ2xlX29wZW4oZmlsZSwgamZzX3R4YW5jaG9yX3Byb2Nfc2hvdywgTlVMTCk7Cit9CisKK2NvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgamZzX3R4YW5jaG9yX3Byb2NfZm9wcyA9IHsKKwkub3duZXIJCT0gVEhJU19NT0RVTEUsCisJLm9wZW4JCT0gamZzX3R4YW5jaG9yX3Byb2Nfb3BlbiwKKwkucmVhZAkJPSBzZXFfcmVhZCwKKwkubGxzZWVrCQk9IHNlcV9sc2VlaywKKwkucmVsZWFzZQk9IHNpbmdsZV9yZWxlYXNlLAorfTsKICNlbmRpZgogCiAjaWYgZGVmaW5lZChDT05GSUdfUFJPQ19GUykgJiYgZGVmaW5lZChDT05GSUdfSkZTX1NUQVRJU1RJQ1MpCi1pbnQgamZzX3R4c3RhdHNfcmVhZChjaGFyICpidWZmZXIsIGNoYXIgKipzdGFydCwgb2ZmX3Qgb2Zmc2V0LCBpbnQgbGVuZ3RoLAotCQkgICAgIGludCAqZW9mLCB2b2lkICpkYXRhKQorc3RhdGljIGludCBqZnNfdHhzdGF0c19wcm9jX3Nob3coc3RydWN0IHNlcV9maWxlICptLCB2b2lkICp2KQogewotCWludCBsZW4gPSAwOwotCW9mZl90IGJlZ2luOwotCi0JbGVuICs9IHNwcmludGYoYnVmZmVyLAorCXNlcV9wcmludGYobSwKIAkJICAgICAgICJKRlMgVHhTdGF0c1xuIgogCQkgICAgICAgIj09PT09PT09PT09XG4iCiAJCSAgICAgICAiY2FsbHMgdG8gdHhCZWdpbiA9ICVkXG4iCkBAIC0zMDg5LDE5ICszMDgzLDE5IEBACiAJCSAgICAgICBUeFN0YXQudHhCZWdpbkFub25fbG9ja3Nsb3csCiAJCSAgICAgICBUeFN0YXQudHhMb2NrQWxsb2MsCiAJCSAgICAgICBUeFN0YXQudHhMb2NrQWxsb2NfZnJlZWxvY2spOwotCi0JYmVnaW4gPSBvZmZzZXQ7Ci0JKnN0YXJ0ID0gYnVmZmVyICsgYmVnaW47Ci0JbGVuIC09IGJlZ2luOwotCi0JaWYgKGxlbiA+IGxlbmd0aCkKLQkJbGVuID0gbGVuZ3RoOwotCWVsc2UKLQkJKmVvZiA9IDE7Ci0KLQlpZiAobGVuIDwgMCkKLQkJbGVuID0gMDsKLQotCXJldHVybiBsZW47CisJcmV0dXJuIDA7CiB9CisKK3N0YXRpYyBpbnQgamZzX3R4c3RhdHNfcHJvY19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQoreworCXJldHVybiBzaW5nbGVfb3BlbihmaWxlLCBqZnNfdHhzdGF0c19wcm9jX3Nob3csIE5VTEwpOworfQorCitjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIGpmc190eHN0YXRzX3Byb2NfZm9wcyA9IHsKKwkub3duZXIJCT0gVEhJU19NT0RVTEUsCisJLm9wZW4JCT0gamZzX3R4c3RhdHNfcHJvY19vcGVuLAorCS5yZWFkCQk9IHNlcV9yZWFkLAorCS5sbHNlZWsJCT0gc2VxX2xzZWVrLAorCS5yZWxlYXNlCT0gc2luZ2xlX3JlbGVhc2UsCit9OwogI2VuZGlmCmRpZmYgLS1naXQgYS9mcy9qZnMvamZzX3h0cmVlLmMgYi9mcy9qZnMvamZzX3h0cmVlLmMKaW5kZXggNWE2MWViZi4uYWUzYWNhZiAxMDA2NDQKLS0tIGEvZnMvamZzL2pmc194dHJlZS5jCisrKyBiL2ZzL2pmcy9qZnNfeHRyZWUuYwpAQCAtMjAsNyArMjAsOSBAQAogICovCiAKICNpbmNsdWRlIDxsaW51eC9mcy5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L3F1b3Rhb3BzLmg+CisjaW5jbHVkZSA8bGludXgvc2VxX2ZpbGUuaD4KICNpbmNsdWRlICJqZnNfaW5jb3JlLmgiCiAjaW5jbHVkZSAiamZzX2ZpbHN5cy5oIgogI2luY2x1ZGUgImpmc19tZXRhcGFnZS5oIgpAQCAtNDEzNCwxMyArNDEzNiw5IEBACiB9CiAKICNpZmRlZiBDT05GSUdfSkZTX1NUQVRJU1RJQ1MKLWludCBqZnNfeHRzdGF0X3JlYWQoY2hhciAqYnVmZmVyLCBjaGFyICoqc3RhcnQsIG9mZl90IG9mZnNldCwgaW50IGxlbmd0aCwKLQkJICAgIGludCAqZW9mLCB2b2lkICpkYXRhKQorc3RhdGljIGludCBqZnNfeHRzdGF0X3Byb2Nfc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKnYpCiB7Ci0JaW50IGxlbiA9IDA7Ci0Jb2ZmX3QgYmVnaW47Ci0KLQlsZW4gKz0gc3ByaW50ZihidWZmZXIsCisJc2VxX3ByaW50ZihtLAogCQkgICAgICAgIkpGUyBYdHJlZSBzdGF0aXN0aWNzXG4iCiAJCSAgICAgICAiPT09PT09PT09PT09PT09PT09PT1cbiIKIAkJICAgICAgICJzZWFyY2hlcyA9ICVkXG4iCkBAIC00MTQ5LDE5ICs0MTQ3LDE5IEBACiAJCSAgICAgICB4dFN0YXQuc2VhcmNoLAogCQkgICAgICAgeHRTdGF0LmZhc3RTZWFyY2gsCiAJCSAgICAgICB4dFN0YXQuc3BsaXQpOwotCi0JYmVnaW4gPSBvZmZzZXQ7Ci0JKnN0YXJ0ID0gYnVmZmVyICsgYmVnaW47Ci0JbGVuIC09IGJlZ2luOwotCi0JaWYgKGxlbiA+IGxlbmd0aCkKLQkJbGVuID0gbGVuZ3RoOwotCWVsc2UKLQkJKmVvZiA9IDE7Ci0KLQlpZiAobGVuIDwgMCkKLQkJbGVuID0gMDsKLQotCXJldHVybiBsZW47CisJcmV0dXJuIDA7CiB9CisKK3N0YXRpYyBpbnQgamZzX3h0c3RhdF9wcm9jX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCit7CisJcmV0dXJuIHNpbmdsZV9vcGVuKGZpbGUsIGpmc194dHN0YXRfcHJvY19zaG93LCBOVUxMKTsKK30KKworY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBqZnNfeHRzdGF0X3Byb2NfZm9wcyA9IHsKKwkub3duZXIJCT0gVEhJU19NT0RVTEUsCisJLm9wZW4JCT0gamZzX3h0c3RhdF9wcm9jX29wZW4sCisJLnJlYWQJCT0gc2VxX3JlYWQsCisJLmxsc2VlawkJPSBzZXFfbHNlZWssCisJLnJlbGVhc2UJPSBzaW5nbGVfcmVsZWFzZSwKK307CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2ZzL2pmcy9uYW1laS5jIGIvZnMvamZzL25hbWVpLmMKaW5kZXggMGJhNjc3OC4uMmFiYTgyMyAxMDA2NDQKLS0tIGEvZnMvamZzL25hbWVpLmMKKysrIGIvZnMvamZzL25hbWVpLmMKQEAgLTE0NTUsNyArMTQ1NSw3IEBACiAJCWZyZWVfVUNTbmFtZSgma2V5KTsKIAkJaWYgKHJjID09IC1FTk9FTlQpIHsKIAkJCWRfYWRkKGRlbnRyeSwgTlVMTCk7Ci0JCQlyZXR1cm4gRVJSX1BUUigwKTsKKwkJCXJldHVybiBOVUxMOwogCQl9IGVsc2UgaWYgKHJjKSB7CiAJCQlqZnNfZXJyKCJqZnNfbG9va3VwOiBkdFNlYXJjaCByZXR1cm5lZCAlZCIsIHJjKTsKIAkJCXJldHVybiBFUlJfUFRSKHJjKTsKZGlmZiAtLWdpdCBhL2ZzL2pmcy9zdXBlci5jIGIvZnMvamZzL3N1cGVyLmMKaW5kZXggNTBlYTY1NC4uMDI4OGU2ZCAxMDA2NDQKLS0tIGEvZnMvamZzL3N1cGVyLmMKKysrIGIvZnMvamZzL3N1cGVyLmMKQEAgLTQ5OSw3ICs0OTksNyBAQAogCWlub2RlID0gamZzX2lnZXQoc2IsIFJPT1RfSSk7CiAJaWYgKElTX0VSUihpbm9kZSkpIHsKIAkJcmV0ID0gUFRSX0VSUihpbm9kZSk7Ci0JCWdvdG8gb3V0X25vX3Jvb3Q7CisJCWdvdG8gb3V0X25vX3J3OwogCX0KIAlzYi0+c19yb290ID0gZF9hbGxvY19yb290KGlub2RlKTsKIAlpZiAoIXNiLT5zX3Jvb3QpCkBAIC01MjEsOSArNTIxLDggQEAKIAlyZXR1cm4gMDsKIAogb3V0X25vX3Jvb3Q6Ci0JamZzX2VycigiamZzX3JlYWRfc3VwZXI6IGdldCByb290IGlub2RlIGZhaWxlZCIpOwotCWlmIChpbm9kZSkKLQkJaXB1dChpbm9kZSk7CisJamZzX2VycigiamZzX3JlYWRfc3VwZXI6IGdldCByb290IGRlbnRyeSBmYWlsZWQiKTsKKwlpcHV0KGlub2RlKTsKIAogb3V0X25vX3J3OgogCXJjID0gamZzX3Vtb3VudChzYik7CmRpZmYgLS1naXQgYS9mcy9tcGFnZS5jIGIvZnMvbXBhZ2UuYwppbmRleCAyMzVlNGQzLi5kYmNjN2FmIDEwMDY0NAotLS0gYS9mcy9tcGFnZS5jCisrKyBiL2ZzL21wYWdlLmMKQEAgLTgyLDcgKzgyLDcgQEAKIAliaW9fcHV0KGJpbyk7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgYmlvICptcGFnZV9iaW9fc3VibWl0KGludCBydywgc3RydWN0IGJpbyAqYmlvKQorc3RydWN0IGJpbyAqbXBhZ2VfYmlvX3N1Ym1pdChpbnQgcncsIHN0cnVjdCBiaW8gKmJpbykKIHsKIAliaW8tPmJpX2VuZF9pbyA9IG1wYWdlX2VuZF9pb19yZWFkOwogCWlmIChydyA9PSBXUklURSkKQEAgLTkwLDYgKzkwLDcgQEAKIAlzdWJtaXRfYmlvKHJ3LCBiaW8pOwogCXJldHVybiBOVUxMOwogfQorRVhQT1JUX1NZTUJPTChtcGFnZV9iaW9fc3VibWl0KTsKIAogc3RhdGljIHN0cnVjdCBiaW8gKgogbXBhZ2VfYWxsb2Moc3RydWN0IGJsb2NrX2RldmljZSAqYmRldiwKQEAgLTQzNSwxNSArNDM2LDkgQEAKICAqIHdyaXR0ZW4sIHNvIGl0IGNhbiBpbnRlbGxpZ2VudGx5IGFsbG9jYXRlIGEgc3VpdGFibHktc2l6ZWQgQklPLiAgRm9yIG5vdywKICAqIGp1c3QgYWxsb2NhdGUgZnVsbC1zaXplICgxNi1wYWdlKSBCSU9zLgogICovCi1zdHJ1Y3QgbXBhZ2VfZGF0YSB7Ci0Jc3RydWN0IGJpbyAqYmlvOwotCXNlY3Rvcl90IGxhc3RfYmxvY2tfaW5fYmlvOwotCWdldF9ibG9ja190ICpnZXRfYmxvY2s7Ci0JdW5zaWduZWQgdXNlX3dyaXRlcGFnZTsKLX07CiAKLXN0YXRpYyBpbnQgX19tcGFnZV93cml0ZXBhZ2Uoc3RydWN0IHBhZ2UgKnBhZ2UsIHN0cnVjdCB3cml0ZWJhY2tfY29udHJvbCAqd2JjLAotCQkJICAgICB2b2lkICpkYXRhKQoraW50IF9fbXBhZ2Vfd3JpdGVwYWdlKHN0cnVjdCBwYWdlICpwYWdlLCBzdHJ1Y3Qgd3JpdGViYWNrX2NvbnRyb2wgKndiYywKKwkJICAgICAgdm9pZCAqZGF0YSkKIHsKIAlzdHJ1Y3QgbXBhZ2VfZGF0YSAqbXBkID0gZGF0YTsKIAlzdHJ1Y3QgYmlvICpiaW8gPSBtcGQtPmJpbzsKQEAgLTY1MSw2ICs2NDYsNyBAQAogCW1wZC0+YmlvID0gYmlvOwogCXJldHVybiByZXQ7CiB9CitFWFBPUlRfU1lNQk9MKF9fbXBhZ2Vfd3JpdGVwYWdlKTsKIAogLyoqCiAgKiBtcGFnZV93cml0ZXBhZ2VzIC0gd2FsayB0aGUgbGlzdCBvZiBkaXJ0eSBwYWdlcyBvZiB0aGUgZ2l2ZW4gYWRkcmVzcyBzcGFjZSAmIHdyaXRlcGFnZSgpIGFsbCBvZiB0aGVtCmRpZmYgLS1naXQgYS9mcy9tc2Rvcy9uYW1laS5jIGIvZnMvbXNkb3MvbmFtZWkuYwppbmRleCAwNWZmNGYxLi4xZjdmMjk1IDEwMDY0NAotLS0gYS9mcy9tc2Rvcy9uYW1laS5jCisrKyBiL2ZzL21zZG9zL25hbWVpLmMKQEAgLTIxNCw3ICsyMTQsNyBAQAogCiAJZGVudHJ5LT5kX29wID0gJm1zZG9zX2RlbnRyeV9vcGVyYXRpb25zOwogCi0JbG9ja19rZXJuZWwoKTsKKwlsb2NrX3N1cGVyKHNiKTsKIAlyZXMgPSBtc2Rvc19maW5kKGRpciwgZGVudHJ5LT5kX25hbWUubmFtZSwgZGVudHJ5LT5kX25hbWUubGVuLCAmc2luZm8pOwogCWlmIChyZXMgPT0gLUVOT0VOVCkKIAkJZ290byBhZGQ7CkBAIC0yMzIsNyArMjMyLDcgQEAKIAlpZiAoZGVudHJ5KQogCQlkZW50cnktPmRfb3AgPSAmbXNkb3NfZGVudHJ5X29wZXJhdGlvbnM7CiBvdXQ6Ci0JdW5sb2NrX2tlcm5lbCgpOworCXVubG9ja19zdXBlcihzYik7CiAJaWYgKCFyZXMpCiAJCXJldHVybiBkZW50cnk7CiAJcmV0dXJuIEVSUl9QVFIocmVzKTsKQEAgLTI4Niw3ICsyODYsNyBAQAogCXVuc2lnbmVkIGNoYXIgbXNkb3NfbmFtZVtNU0RPU19OQU1FXTsKIAlpbnQgZXJyLCBpc19oaWQ7CiAKLQlsb2NrX2tlcm5lbCgpOworCWxvY2tfc3VwZXIoc2IpOwogCiAJZXJyID0gbXNkb3NfZm9ybWF0X25hbWUoZGVudHJ5LT5kX25hbWUubmFtZSwgZGVudHJ5LT5kX25hbWUubGVuLAogCQkJCW1zZG9zX25hbWUsICZNU0RPU19TQihzYiktPm9wdGlvbnMpOwpAQCAtMzE1LDcgKzMxNSw3IEBACiAKIAlkX2luc3RhbnRpYXRlKGRlbnRyeSwgaW5vZGUpOwogb3V0OgotCXVubG9ja19rZXJuZWwoKTsKKwl1bmxvY2tfc3VwZXIoc2IpOwogCWlmICghZXJyKQogCQllcnIgPSBmYXRfZmx1c2hfaW5vZGVzKHNiLCBkaXIsIGlub2RlKTsKIAlyZXR1cm4gZXJyOwpAQCAtMzI0LDExICszMjQsMTIgQEAKIC8qKioqKiBSZW1vdmUgYSBkaXJlY3RvcnkgKi8KIHN0YXRpYyBpbnQgbXNkb3Nfcm1kaXIoc3RydWN0IGlub2RlICpkaXIsIHN0cnVjdCBkZW50cnkgKmRlbnRyeSkKIHsKKwlzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiID0gZGlyLT5pX3NiOwogCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBkZW50cnktPmRfaW5vZGU7CiAJc3RydWN0IGZhdF9zbG90X2luZm8gc2luZm87CiAJaW50IGVycjsKIAotCWxvY2tfa2VybmVsKCk7CisJbG9ja19zdXBlcihzYik7CiAJLyoKIAkgKiBDaGVjayB3aGV0aGVyIHRoZSBkaXJlY3RvcnkgaXMgbm90IGluIHVzZSwgdGhlbiBjaGVjawogCSAqIHdoZXRoZXIgaXQgaXMgZW1wdHkuCkBAIC0zNDksOSArMzUwLDkgQEAKIAlpbm9kZS0+aV9jdGltZSA9IENVUlJFTlRfVElNRV9TRUM7CiAJZmF0X2RldGFjaChpbm9kZSk7CiBvdXQ6Ci0JdW5sb2NrX2tlcm5lbCgpOworCXVubG9ja19zdXBlcihzYik7CiAJaWYgKCFlcnIpCi0JCWVyciA9IGZhdF9mbHVzaF9pbm9kZXMoaW5vZGUtPmlfc2IsIGRpciwgaW5vZGUpOworCQllcnIgPSBmYXRfZmx1c2hfaW5vZGVzKHNiLCBkaXIsIGlub2RlKTsKIAogCXJldHVybiBlcnI7CiB9CkBAIC0zNjYsNyArMzY3LDcgQEAKIAlzdHJ1Y3QgdGltZXNwZWMgdHM7CiAJaW50IGVyciwgaXNfaGlkLCBjbHVzdGVyOwogCi0JbG9ja19rZXJuZWwoKTsKKwlsb2NrX3N1cGVyKHNiKTsKIAogCWVyciA9IG1zZG9zX2Zvcm1hdF9uYW1lKGRlbnRyeS0+ZF9uYW1lLm5hbWUsIGRlbnRyeS0+ZF9uYW1lLmxlbiwKIAkJCQltc2Rvc19uYW1lLCAmTVNET1NfU0Ioc2IpLT5vcHRpb25zKTsKQEAgLTQwNCwxNCArNDA1LDE0IEBACiAKIAlkX2luc3RhbnRpYXRlKGRlbnRyeSwgaW5vZGUpOwogCi0JdW5sb2NrX2tlcm5lbCgpOworCXVubG9ja19zdXBlcihzYik7CiAJZmF0X2ZsdXNoX2lub2RlcyhzYiwgZGlyLCBpbm9kZSk7CiAJcmV0dXJuIDA7CiAKIG91dF9mcmVlOgogCWZhdF9mcmVlX2NsdXN0ZXJzKGRpciwgY2x1c3Rlcik7CiBvdXQ6Ci0JdW5sb2NrX2tlcm5lbCgpOworCXVubG9ja19zdXBlcihzYik7CiAJcmV0dXJuIGVycjsKIH0KIApAQCAtNDE5LDEwICs0MjAsMTEgQEAKIHN0YXRpYyBpbnQgbXNkb3NfdW5saW5rKHN0cnVjdCBpbm9kZSAqZGlyLCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpCiB7CiAJc3RydWN0IGlub2RlICppbm9kZSA9IGRlbnRyeS0+ZF9pbm9kZTsKKwlzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiPSBpbm9kZS0+aV9zYjsKIAlzdHJ1Y3QgZmF0X3Nsb3RfaW5mbyBzaW5mbzsKIAlpbnQgZXJyOwogCi0JbG9ja19rZXJuZWwoKTsKKwlsb2NrX3N1cGVyKHNiKTsKIAllcnIgPSBtc2Rvc19maW5kKGRpciwgZGVudHJ5LT5kX25hbWUubmFtZSwgZGVudHJ5LT5kX25hbWUubGVuLCAmc2luZm8pOwogCWlmIChlcnIpCiAJCWdvdG8gb3V0OwpAQCAtNDM0LDkgKzQzNiw5IEBACiAJaW5vZGUtPmlfY3RpbWUgPSBDVVJSRU5UX1RJTUVfU0VDOwogCWZhdF9kZXRhY2goaW5vZGUpOwogb3V0OgotCXVubG9ja19rZXJuZWwoKTsKKwl1bmxvY2tfc3VwZXIoc2IpOwogCWlmICghZXJyKQotCQllcnIgPSBmYXRfZmx1c2hfaW5vZGVzKGlub2RlLT5pX3NiLCBkaXIsIGlub2RlKTsKKwkJZXJyID0gZmF0X2ZsdXNoX2lub2RlcyhzYiwgZGlyLCBpbm9kZSk7CiAKIAlyZXR1cm4gZXJyOwogfQpAQCAtNjE4LDEwICs2MjAsMTEgQEAKIHN0YXRpYyBpbnQgbXNkb3NfcmVuYW1lKHN0cnVjdCBpbm9kZSAqb2xkX2Rpciwgc3RydWN0IGRlbnRyeSAqb2xkX2RlbnRyeSwKIAkJCXN0cnVjdCBpbm9kZSAqbmV3X2Rpciwgc3RydWN0IGRlbnRyeSAqbmV3X2RlbnRyeSkKIHsKKwlzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiID0gb2xkX2Rpci0+aV9zYjsKIAl1bnNpZ25lZCBjaGFyIG9sZF9tc2Rvc19uYW1lW01TRE9TX05BTUVdLCBuZXdfbXNkb3NfbmFtZVtNU0RPU19OQU1FXTsKIAlpbnQgZXJyLCBpc19oaWQ7CiAKLQlsb2NrX2tlcm5lbCgpOworCWxvY2tfc3VwZXIoc2IpOwogCiAJZXJyID0gbXNkb3NfZm9ybWF0X25hbWUob2xkX2RlbnRyeS0+ZF9uYW1lLm5hbWUsCiAJCQkJb2xkX2RlbnRyeS0+ZF9uYW1lLmxlbiwgb2xkX21zZG9zX25hbWUsCkBAIC02NDAsOSArNjQzLDkgQEAKIAllcnIgPSBkb19tc2Rvc19yZW5hbWUob2xkX2Rpciwgb2xkX21zZG9zX25hbWUsIG9sZF9kZW50cnksCiAJCQkgICAgICBuZXdfZGlyLCBuZXdfbXNkb3NfbmFtZSwgbmV3X2RlbnRyeSwgaXNfaGlkKTsKIG91dDoKLQl1bmxvY2tfa2VybmVsKCk7CisJdW5sb2NrX3N1cGVyKHNiKTsKIAlpZiAoIWVycikKLQkJZXJyID0gZmF0X2ZsdXNoX2lub2RlcyhvbGRfZGlyLT5pX3NiLCBvbGRfZGlyLCBuZXdfZGlyKTsKKwkJZXJyID0gZmF0X2ZsdXNoX2lub2RlcyhzYiwgb2xkX2RpciwgbmV3X2Rpcik7CiAJcmV0dXJuIGVycjsKIH0KIApkaWZmIC0tZ2l0IGEvZnMvbmFtZXNwYWNlLmMgYi9mcy9uYW1lc3BhY2UuYwppbmRleCA0ZmMzMDJjLi40ZjZmNzYzIDEwMDY0NAotLS0gYS9mcy9uYW1lc3BhY2UuYworKysgYi9mcy9uYW1lc3BhY2UuYwpAQCAtNzUwLDcgKzc1MCw3IEBACiAJY29uc3QgY2hhciAqc3RyOwogfTsKIAotc3RhdGljIHZvaWQgc2hvd19zYl9vcHRzKHN0cnVjdCBzZXFfZmlsZSAqbSwgc3RydWN0IHN1cGVyX2Jsb2NrICpzYikKK3N0YXRpYyBpbnQgc2hvd19zYl9vcHRzKHN0cnVjdCBzZXFfZmlsZSAqbSwgc3RydWN0IHN1cGVyX2Jsb2NrICpzYikKIHsKIAlzdGF0aWMgY29uc3Qgc3RydWN0IHByb2NfZnNfaW5mbyBmc19pbmZvW10gPSB7CiAJCXsgTVNfU1lOQ0hST05PVVMsICIsc3luYyIgfSwKQEAgLTc2NCw2ICs3NjQsOCBAQAogCQlpZiAoc2ItPnNfZmxhZ3MgJiBmc19pbmZvcC0+ZmxhZykKIAkJCXNlcV9wdXRzKG0sIGZzX2luZm9wLT5zdHIpOwogCX0KKworCXJldHVybiBzZWN1cml0eV9zYl9zaG93X29wdGlvbnMobSwgc2IpOwogfQogCiBzdGF0aWMgdm9pZCBzaG93X21udF9vcHRzKHN0cnVjdCBzZXFfZmlsZSAqbSwgc3RydWN0IHZmc21vdW50ICptbnQpCkBAIC04MDYsMTEgKzgwOCwxNCBAQAogCXNlcV9wdXRjKG0sICcgJyk7CiAJc2hvd190eXBlKG0sIG1udC0+bW50X3NiKTsKIAlzZXFfcHV0cyhtLCBfX21udF9pc19yZWFkb25seShtbnQpID8gIiBybyIgOiAiIHJ3Iik7Ci0Jc2hvd19zYl9vcHRzKG0sIG1udC0+bW50X3NiKTsKKwllcnIgPSBzaG93X3NiX29wdHMobSwgbW50LT5tbnRfc2IpOworCWlmIChlcnIpCisJCWdvdG8gb3V0OwogCXNob3dfbW50X29wdHMobSwgbW50KTsKIAlpZiAobW50LT5tbnRfc2ItPnNfb3AtPnNob3dfb3B0aW9ucykKIAkJZXJyID0gbW50LT5tbnRfc2ItPnNfb3AtPnNob3dfb3B0aW9ucyhtLCBtbnQpOwogCXNlcV9wdXRzKG0sICIgMCAwXG4iKTsKK291dDoKIAlyZXR1cm4gZXJyOwogfQogCkBAIC04NjUsMTAgKzg3MCwxMyBAQAogCXNlcV9wdXRjKG0sICcgJyk7CiAJbWFuZ2xlKG0sIG1udC0+bW50X2Rldm5hbWUgPyBtbnQtPm1udF9kZXZuYW1lIDogIm5vbmUiKTsKIAlzZXFfcHV0cyhtLCBzYi0+c19mbGFncyAmIE1TX1JET05MWSA/ICIgcm8iIDogIiBydyIpOwotCXNob3dfc2Jfb3B0cyhtLCBzYik7CisJZXJyID0gc2hvd19zYl9vcHRzKG0sIHNiKTsKKwlpZiAoZXJyKQorCQlnb3RvIG91dDsKIAlpZiAoc2ItPnNfb3AtPnNob3dfb3B0aW9ucykKIAkJZXJyID0gc2ItPnNfb3AtPnNob3dfb3B0aW9ucyhtLCBtbnQpOwogCXNlcV9wdXRjKG0sICdcbicpOworb3V0OgogCXJldHVybiBlcnI7CiB9CiAKZGlmZiAtLWdpdCBhL2ZzL25jcGZzL2ZpbGUuYyBiL2ZzL25jcGZzL2ZpbGUuYwppbmRleCAyYjE0NWRlLi42YTdkOTAxIDEwMDY0NAotLS0gYS9mcy9uY3Bmcy9maWxlLmMKKysrIGIvZnMvbmNwZnMvZmlsZS5jCkBAIC0xOCw2ICsxOCw3IEBACiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgogI2luY2x1ZGUgPGxpbnV4L3ZtYWxsb2MuaD4KICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICNpbmNsdWRlIDxsaW51eC9uY3BfZnMuaD4KICNpbmNsdWRlICJuY3BsaWJfa2VybmVsLmgiCkBAIC0yODEsOSArMjgyLDE4IEBACiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBsb2ZmX3QgbmNwX3JlbW90ZV9sbHNlZWsoc3RydWN0IGZpbGUgKmZpbGUsIGxvZmZfdCBvZmZzZXQsIGludCBvcmlnaW4pCit7CisJbG9mZl90IHJldDsKKwlsb2NrX2tlcm5lbCgpOworCXJldCA9IGdlbmVyaWNfZmlsZV9sbHNlZWtfdW5sb2NrZWQoZmlsZSwgb2Zmc2V0LCBvcmlnaW4pOworCXVubG9ja19rZXJuZWwoKTsKKwlyZXR1cm4gcmV0OworfQorCiBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIG5jcF9maWxlX29wZXJhdGlvbnMgPQogewotCS5sbHNlZWsJCT0gcmVtb3RlX2xsc2VlaywKKwkubGxzZWVrIAk9IG5jcF9yZW1vdGVfbGxzZWVrLAogCS5yZWFkCQk9IG5jcF9maWxlX3JlYWQsCiAJLndyaXRlCQk9IG5jcF9maWxlX3dyaXRlLAogCS5pb2N0bAkJPSBuY3BfaW9jdGwsCmRpZmYgLS1naXQgYS9mcy9uZnMvZmlsZS5jIGIvZnMvbmZzL2ZpbGUuYwppbmRleCA1MDlkY2I1Li40MzE2NGZlIDEwMDY0NAotLS0gYS9mcy9uZnMvZmlsZS5jCisrKyBiL2ZzL25mcy9maWxlLmMKQEAgLTE4MCw2ICsxODAsOCBAQAogCiBzdGF0aWMgbG9mZl90IG5mc19maWxlX2xsc2VlayhzdHJ1Y3QgZmlsZSAqZmlscCwgbG9mZl90IG9mZnNldCwgaW50IG9yaWdpbikKIHsKKwlsb2ZmX3QgbG9mZjsKKwogCWRwcmludGsoIk5GUzogbGxzZWVrIGZpbGUoJXMvJXMsICVsbGQsICVkKVxuIiwKIAkJCWZpbHAtPmZfcGF0aC5kZW50cnktPmRfcGFyZW50LT5kX25hbWUubmFtZSwKIAkJCWZpbHAtPmZfcGF0aC5kZW50cnktPmRfbmFtZS5uYW1lLApAQCAtMTkyLDcgKzE5NCwxMCBAQAogCQlpZiAocmV0dmFsIDwgMCkKIAkJCXJldHVybiAobG9mZl90KXJldHZhbDsKIAl9Ci0JcmV0dXJuIHJlbW90ZV9sbHNlZWsoZmlscCwgb2Zmc2V0LCBvcmlnaW4pOworCWxvY2tfa2VybmVsKCk7CS8qIEJLTCBuZWVkZWQ/ICovCisJbG9mZiA9IGdlbmVyaWNfZmlsZV9sbHNlZWtfdW5sb2NrZWQoZmlscCwgb2Zmc2V0LCBvcmlnaW4pOworCXVubG9ja19rZXJuZWwoKTsKKwlyZXR1cm4gbG9mZjsKIH0KIAogLyoKZGlmZiAtLWdpdCBhL2ZzL29jZnMyL2RsbS9kbG1tYXN0ZXIuYyBiL2ZzL29jZnMyL2RsbS9kbG1tYXN0ZXIuYwppbmRleCBlZmMwMTVjLi40NGY4N2NhIDEwMDY0NAotLS0gYS9mcy9vY2ZzMi9kbG0vZGxtbWFzdGVyLmMKKysrIGIvZnMvb2NmczIvZGxtL2RsbW1hc3Rlci5jCkBAIC02MDYsNyArNjA2LDkgQEAKIAogCXJlcy0+bGFzdF91c2VkID0gMDsKIAorCXNwaW5fbG9jaygmZGxtLT5zcGlubG9jayk7CiAJbGlzdF9hZGRfdGFpbCgmcmVzLT50cmFja2luZywgJmRsbS0+dHJhY2tpbmdfbGlzdCk7CisJc3Bpbl91bmxvY2soJmRsbS0+c3BpbmxvY2spOwogCiAJbWVtc2V0KHJlcy0+bHZiLCAwLCBETE1fTFZCX0xFTik7CiAJbWVtc2V0KHJlcy0+cmVmbWFwLCAwLCBzaXplb2YocmVzLT5yZWZtYXApKTsKZGlmZiAtLWdpdCBhL2ZzL29jZnMyL2RsbWdsdWUuYyBiL2ZzL29jZnMyL2RsbWdsdWUuYwppbmRleCAzOTRkMjVhLi44MGUyMGQ5IDEwMDY0NAotLS0gYS9mcy9vY2ZzMi9kbG1nbHVlLmMKKysrIGIvZnMvb2NmczIvZGxtZ2x1ZS5jCkBAIC0xNTU0LDggKzE1NTQsOCBAQAogICovCiBpbnQgb2NmczJfZmlsZV9sb2NrKHN0cnVjdCBmaWxlICpmaWxlLCBpbnQgZXgsIGludCB0cnlsb2NrKQogewotCWludCByZXQsIGxldmVsID0gZXggPyBMS01fRVhNT0RFIDogTEtNX1BSTU9ERTsKLQl1bnNpZ25lZCBpbnQgbGttX2ZsYWdzID0gdHJ5bG9jayA/IExLTV9OT1FVRVVFIDogMDsKKwlpbnQgcmV0LCBsZXZlbCA9IGV4ID8gRExNX0xPQ0tfRVggOiBETE1fTE9DS19QUjsKKwl1bnNpZ25lZCBpbnQgbGttX2ZsYWdzID0gdHJ5bG9jayA/IERMTV9MS0ZfTk9RVUVVRSA6IDA7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAlzdHJ1Y3Qgb2NmczJfZmlsZV9wcml2YXRlICpmcCA9IGZpbGUtPnByaXZhdGVfZGF0YTsKIAlzdHJ1Y3Qgb2NmczJfbG9ja19yZXMgKmxvY2tyZXMgPSAmZnAtPmZwX2Zsb2NrOwpAQCAtMTU4Miw3ICsxNTgyLDcgQEAKIAkJICogR2V0IHRoZSBsb2NrIGF0IE5MTU9ERSB0byBzdGFydCAtIHRoYXQgd2F5IHdlCiAJCSAqIGNhbiBjYW5jZWwgdGhlIHVwY29udmVydCByZXF1ZXN0IGlmIG5lZWQgYmUuCiAJCSAqLwotCQlyZXQgPSBvY2ZzMl9sb2NrX2NyZWF0ZShvc2IsIGxvY2tyZXMsIExLTV9OTE1PREUsIDApOworCQlyZXQgPSBvY2ZzMl9sb2NrX2NyZWF0ZShvc2IsIGxvY2tyZXMsIERMTV9MT0NLX05MLCAwKTsKIAkJaWYgKHJldCA8IDApIHsKIAkJCW1sb2dfZXJybm8ocmV0KTsKIAkJCWdvdG8gb3V0OwpAQCAtMTU5Nyw3ICsxNTk3LDcgQEAKIAl9CiAKIAlsb2NrcmVzLT5sX2FjdGlvbiA9IE9DRlMyX0FTVF9DT05WRVJUOwotCWxrbV9mbGFncyB8PSBMS01fQ09OVkVSVDsKKwlsa21fZmxhZ3MgfD0gRExNX0xLRl9DT05WRVJUOwogCWxvY2tyZXMtPmxfcmVxdWVzdGVkID0gbGV2ZWw7CiAJbG9ja3Jlc19vcl9mbGFncyhsb2NrcmVzLCBPQ0ZTMl9MT0NLX0JVU1kpOwogCkBAIC0xNjY0LDcgKzE2NjQsNyBAQAogCWlmICghKGxvY2tyZXMtPmxfZmxhZ3MgJiBPQ0ZTMl9MT0NLX0FUVEFDSEVEKSkKIAkJcmV0dXJuOwogCi0JaWYgKGxvY2tyZXMtPmxfbGV2ZWwgPT0gTEtNX05MTU9ERSkKKwlpZiAobG9ja3Jlcy0+bF9sZXZlbCA9PSBETE1fTE9DS19OTCkKIAkJcmV0dXJuOwogCiAJbWxvZygwLCAiVW5sb2NrOiBcIiVzXCIgZmxhZ3M6IDB4JWx4LCBsZXZlbDogJWQsIGFjdDogJWRcbiIsCkBAIC0xNjc4LDExICsxNjc4LDExIEBACiAJbG9ja3Jlc19vcl9mbGFncyhsb2NrcmVzLCBPQ0ZTMl9MT0NLX0JMT0NLRUQpOwogCWxvY2tyZXMtPmxfYmxvY2tpbmcgPSBETE1fTE9DS19FWDsKIAotCWdlbiA9IG9jZnMyX3ByZXBhcmVfZG93bmNvbnZlcnQobG9ja3JlcywgTEtNX05MTU9ERSk7CisJZ2VuID0gb2NmczJfcHJlcGFyZV9kb3duY29udmVydChsb2NrcmVzLCBETE1fTE9DS19OTCk7CiAJbG9ja3Jlc19hZGRfbWFza193YWl0ZXIobG9ja3JlcywgJm13LCBPQ0ZTMl9MT0NLX0JVU1ksIDApOwogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmxvY2tyZXMtPmxfbG9jaywgZmxhZ3MpOwogCi0JcmV0ID0gb2NmczJfZG93bmNvbnZlcnRfbG9jayhvc2IsIGxvY2tyZXMsIExLTV9OTE1PREUsIDAsIGdlbik7CisJcmV0ID0gb2NmczJfZG93bmNvbnZlcnRfbG9jayhvc2IsIGxvY2tyZXMsIERMTV9MT0NLX05MLCAwLCBnZW4pOwogCWlmIChyZXQpIHsKIAkJbWxvZ19lcnJubyhyZXQpOwogCQlyZXR1cm47CmRpZmYgLS1naXQgYS9mcy9vY2ZzMi9zdGFja191c2VyLmMgYi9mcy9vY2ZzMi9zdGFja191c2VyLmMKaW5kZXggYzAyMTI4MC4uYmQ3ZTBmMyAxMDA2NDQKLS0tIGEvZnMvb2NmczIvc3RhY2tfdXNlci5jCisrKyBiL2ZzL29jZnMyL3N0YWNrX3VzZXIuYwpAQCAtMjEsNiArMjEsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvbWlzY2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9yZWJvb3QuaD4KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogCkBAIC02MTksMTAgKzYyMCwxMiBAQAogCQlyZXR1cm4gLUVOT01FTTsKIAlwLT5vcF90aGlzX25vZGUgPSAtMTsKIAorCWxvY2tfa2VybmVsKCk7CiAJbXV0ZXhfbG9jaygmb2NmczJfY29udHJvbF9sb2NrKTsKIAlmaWxlLT5wcml2YXRlX2RhdGEgPSBwOwogCWxpc3RfYWRkKCZwLT5vcF9saXN0LCAmb2NmczJfY29udHJvbF9wcml2YXRlX2xpc3QpOwogCW11dGV4X3VubG9jaygmb2NmczJfY29udHJvbF9sb2NrKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2ZzL3Byb2MvYmFzZS5jIGIvZnMvcHJvYy9iYXNlLmMKaW5kZXggM2I0NTUzNy4uNThjM2U2YSAxMDA2NDQKLS0tIGEvZnMvcHJvYy9iYXNlLmMKKysrIGIvZnMvcHJvYy9iYXNlLmMKQEAgLTIzMyw3ICsyMzMsNyBAQAogCSAqLwogCWlmICh0YXNrLT5wYXJlbnQgPT0gY3VycmVudCAmJiAodGFzay0+cHRyYWNlICYgUFRfUFRSQUNFRCkgJiYKIAkgICAgdGFza19pc19zdG9wcGVkX29yX3RyYWNlZCh0YXNrKSAmJgotCSAgICBwdHJhY2VfbWF5X2F0dGFjaCh0YXNrKSkKKwkgICAgcHRyYWNlX21heV9hY2Nlc3ModGFzaywgUFRSQUNFX01PREVfQVRUQUNIKSkKIAkJcmV0dXJuIDA7CiAKIAkvKgpAQCAtMjUxLDcgKzI1MSw4IEBACiAJdGFza19sb2NrKHRhc2spOwogCWlmICh0YXNrLT5tbSAhPSBtbSkKIAkJZ290byBvdXQ7Ci0JaWYgKHRhc2stPm1tICE9IGN1cnJlbnQtPm1tICYmIF9fcHRyYWNlX21heV9hdHRhY2godGFzaykgPCAwKQorCWlmICh0YXNrLT5tbSAhPSBjdXJyZW50LT5tbSAmJgorCSAgICBfX3B0cmFjZV9tYXlfYWNjZXNzKHRhc2ssIFBUUkFDRV9NT0RFX1JFQUQpIDwgMCkKIAkJZ290byBvdXQ7CiAJdGFza191bmxvY2sodGFzayk7CiAJcmV0dXJuIG1tOwpAQCAtNTE4LDcgKzUxOSw3IEBACiAJICovCiAJdGFzayA9IGdldF9wcm9jX3Rhc2soaW5vZGUpOwogCWlmICh0YXNrKSB7Ci0JCWFsbG93ZWQgPSBwdHJhY2VfbWF5X2F0dGFjaCh0YXNrKTsKKwkJYWxsb3dlZCA9IHB0cmFjZV9tYXlfYWNjZXNzKHRhc2ssIFBUUkFDRV9NT0RFX1JFQUQpOwogCQlwdXRfdGFza19zdHJ1Y3QodGFzayk7CiAJfQogCXJldHVybiBhbGxvd2VkOwpAQCAtOTA0LDcgKzkwNSw3IEBACiAJaWYgKCF0YXNrKQogCQlnb3RvIG91dF9ub190YXNrOwogCi0JaWYgKCFwdHJhY2VfbWF5X2F0dGFjaCh0YXNrKSkKKwlpZiAoIXB0cmFjZV9tYXlfYWNjZXNzKHRhc2ssIFBUUkFDRV9NT0RFX1JFQUQpKQogCQlnb3RvIG91dDsKIAogCXJldCA9IC1FTk9NRU07CmRpZmYgLS1naXQgYS9mcy9wcm9jL3Byb2NfbWlzYy5jIGIvZnMvcHJvYy9wcm9jX21pc2MuYwppbmRleCA3ZTI3N2YyLi5jNjUyZDQ2IDEwMDY0NAotLS0gYS9mcy9wcm9jL3Byb2NfbWlzYy5jCisrKyBiL2ZzL3Byb2MvcHJvY19taXNjLmMKQEAgLTEyMyw2ICsxMjMsMTEgQEAKIAlyZXR1cm4gcHJvY19jYWxjX21ldHJpY3MocGFnZSwgc3RhcnQsIG9mZiwgY291bnQsIGVvZiwgbGVuKTsKIH0KIAoraW50IF9fYXR0cmlidXRlX18oKHdlYWspKSBhcmNoX3JlcG9ydF9tZW1pbmZvKGNoYXIgKnBhZ2UpCit7CisJcmV0dXJuIDA7Cit9CisKIHN0YXRpYyBpbnQgbWVtaW5mb19yZWFkX3Byb2MoY2hhciAqcGFnZSwgY2hhciAqKnN0YXJ0LCBvZmZfdCBvZmYsCiAJCQkJIGludCBjb3VudCwgaW50ICplb2YsIHZvaWQgKmRhdGEpCiB7CkBAIC0yMjEsNiArMjI2LDggQEAKIAogCQlsZW4gKz0gaHVnZXRsYl9yZXBvcnRfbWVtaW5mbyhwYWdlICsgbGVuKTsKIAorCWxlbiArPSBhcmNoX3JlcG9ydF9tZW1pbmZvKHBhZ2UgKyBsZW4pOworCiAJcmV0dXJuIHByb2NfY2FsY19tZXRyaWNzKHBhZ2UsIHN0YXJ0LCBvZmYsIGNvdW50LCBlb2YsIGxlbik7CiAjdW5kZWYgSwogfQpAQCAtNDcyLDYgKzQ3OSwxMyBAQAogfTsKICNlbmRpZgogCisjaWZuZGVmIGFyY2hfaXJxX3N0YXRfY3B1CisjZGVmaW5lIGFyY2hfaXJxX3N0YXRfY3B1KGNwdSkgMAorI2VuZGlmCisjaWZuZGVmIGFyY2hfaXJxX3N0YXQKKyNkZWZpbmUgYXJjaF9pcnFfc3RhdCgpIDAKKyNlbmRpZgorCiBzdGF0aWMgaW50IHNob3dfc3RhdChzdHJ1Y3Qgc2VxX2ZpbGUgKnAsIHZvaWQgKnYpCiB7CiAJaW50IGk7CkBAIC01MDksNyArNTIzLDkgQEAKIAkJCXN1bSArPSB0ZW1wOwogCQkJcGVyX2lycV9zdW1bal0gKz0gdGVtcDsKIAkJfQorCQlzdW0gKz0gYXJjaF9pcnFfc3RhdF9jcHUoaSk7CiAJfQorCXN1bSArPSBhcmNoX2lycV9zdGF0KCk7CiAKIAlzZXFfcHJpbnRmKHAsICJjcHUgICVsbHUgJWxsdSAlbGx1ICVsbHUgJWxsdSAlbGx1ICVsbHUgJWxsdSAlbGx1XG4iLAogCQkodW5zaWduZWQgbG9uZyBsb25nKWNwdXRpbWU2NF90b19jbG9ja190KHVzZXIpLApkaWZmIC0tZ2l0IGEvZnMvcHJvYy90YXNrX21tdS5jIGIvZnMvcHJvYy90YXNrX21tdS5jCmluZGV4IGM0OTI0NDkuLjE2NGJkOWYgMTAwNjQ0Ci0tLSBhL2ZzL3Byb2MvdGFza19tbXUuYworKysgYi9mcy9wcm9jL3Rhc2tfbW11LmMKQEAgLTIxMCw3ICsyMTAsNyBAQAogCWRldl90IGRldiA9IDA7CiAJaW50IGxlbjsKIAotCWlmIChtYXBzX3Byb3RlY3QgJiYgIXB0cmFjZV9tYXlfYXR0YWNoKHRhc2spKQorCWlmIChtYXBzX3Byb3RlY3QgJiYgIXB0cmFjZV9tYXlfYWNjZXNzKHRhc2ssIFBUUkFDRV9NT0RFX1JFQUQpKQogCQlyZXR1cm4gLUVBQ0NFUzsKIAogCWlmIChmaWxlKSB7CkBAIC02NDYsNyArNjQ2LDcgQEAKIAkJZ290byBvdXQ7CiAKIAlyZXQgPSAtRUFDQ0VTOwotCWlmICghcHRyYWNlX21heV9hdHRhY2godGFzaykpCisJaWYgKCFwdHJhY2VfbWF5X2FjY2Vzcyh0YXNrLCBQVFJBQ0VfTU9ERV9SRUFEKSkKIAkJZ290byBvdXRfdGFzazsKIAogCXJldCA9IC1FSU5WQUw7CkBAIC03NDcsNyArNzQ3LDcgQEAKIAlzdHJ1Y3QgcHJvY19tYXBzX3ByaXZhdGUgKnByaXYgPSBtLT5wcml2YXRlOwogCXN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzayA9IHByaXYtPnRhc2s7CiAKLQlpZiAobWFwc19wcm90ZWN0ICYmICFwdHJhY2VfbWF5X2F0dGFjaCh0YXNrKSkKKwlpZiAobWFwc19wcm90ZWN0ICYmICFwdHJhY2VfbWF5X2FjY2Vzcyh0YXNrLCBQVFJBQ0VfTU9ERV9SRUFEKSkKIAkJcmV0dXJuIC1FQUNDRVM7CiAKIAlyZXR1cm4gc2hvd19udW1hX21hcChtLCB2KTsKZGlmZiAtLWdpdCBhL2ZzL3Byb2MvdGFza19ub21tdS5jIGIvZnMvcHJvYy90YXNrX25vbW11LmMKaW5kZXggNGI0ZjljYy4uNWQ4NGU3MSAxMDA2NDQKLS0tIGEvZnMvcHJvYy90YXNrX25vbW11LmMKKysrIGIvZnMvcHJvYy90YXNrX25vbW11LmMKQEAgLTExMyw3ICsxMTMsNyBAQAogCXN0cnVjdCBwcm9jX21hcHNfcHJpdmF0ZSAqcHJpdiA9IG0tPnByaXZhdGU7CiAJc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrID0gcHJpdi0+dGFzazsKIAotCWlmIChtYXBzX3Byb3RlY3QgJiYgIXB0cmFjZV9tYXlfYXR0YWNoKHRhc2spKQorCWlmIChtYXBzX3Byb3RlY3QgJiYgIXB0cmFjZV9tYXlfYWNjZXNzKHRhc2ssIFBUUkFDRV9NT0RFX1JFQUQpKQogCQlyZXR1cm4gLUVBQ0NFUzsKIAogCXJldHVybiBub21tdV92bWFfc2hvdyhtLCB2bWwtPnZtYSk7CmRpZmYgLS1naXQgYS9mcy9yYW1mcy9maWxlLW1tdS5jIGIvZnMvcmFtZnMvZmlsZS1tbXUuYwppbmRleCA5NTkwYjkwLi43OGY2MTNjIDEwMDY0NAotLS0gYS9mcy9yYW1mcy9maWxlLW1tdS5jCisrKyBiL2ZzL3JhbWZzL2ZpbGUtbW11LmMKQEAgLTQ1LDYgKzQ1LDcgQEAKIAkubW1hcAkJPSBnZW5lcmljX2ZpbGVfbW1hcCwKIAkuZnN5bmMJCT0gc2ltcGxlX3N5bmNfZmlsZSwKIAkuc3BsaWNlX3JlYWQJPSBnZW5lcmljX2ZpbGVfc3BsaWNlX3JlYWQsCisJLnNwbGljZV93cml0ZQk9IGdlbmVyaWNfZmlsZV9zcGxpY2Vfd3JpdGUsCiAJLmxsc2VlawkJPSBnZW5lcmljX2ZpbGVfbGxzZWVrLAogfTsKIApkaWZmIC0tZ2l0IGEvZnMvcmFtZnMvZmlsZS1ub21tdS5jIGIvZnMvcmFtZnMvZmlsZS1ub21tdS5jCmluZGV4IDA5ODliYzIuLjUyMzEyZWMgMTAwNjQ0Ci0tLSBhL2ZzL3JhbWZzL2ZpbGUtbm9tbXUuYworKysgYi9mcy9yYW1mcy9maWxlLW5vbW11LmMKQEAgLTQzLDYgKzQzLDcgQEAKIAkuYWlvX3dyaXRlCQk9IGdlbmVyaWNfZmlsZV9haW9fd3JpdGUsCiAJLmZzeW5jCQkJPSBzaW1wbGVfc3luY19maWxlLAogCS5zcGxpY2VfcmVhZAkJPSBnZW5lcmljX2ZpbGVfc3BsaWNlX3JlYWQsCisJLnNwbGljZV93cml0ZQkJPSBnZW5lcmljX2ZpbGVfc3BsaWNlX3dyaXRlLAogCS5sbHNlZWsJCQk9IGdlbmVyaWNfZmlsZV9sbHNlZWssCiB9OwogCmRpZmYgLS1naXQgYS9mcy9yZWFkX3dyaXRlLmMgYi9mcy9yZWFkX3dyaXRlLmMKaW5kZXggZjBkMTI0MC4uOWJhNDk1ZCAxMDA2NDQKLS0tIGEvZnMvcmVhZF93cml0ZS5jCisrKyBiL2ZzL3JlYWRfd3JpdGUuYwpAQCAtMzEsMTIgKzMxLDEyIEBACiAKIEVYUE9SVF9TWU1CT0woZ2VuZXJpY19yb19mb3BzKTsKIAotbG9mZl90IGdlbmVyaWNfZmlsZV9sbHNlZWsoc3RydWN0IGZpbGUgKmZpbGUsIGxvZmZfdCBvZmZzZXQsIGludCBvcmlnaW4pCitsb2ZmX3QKK2dlbmVyaWNfZmlsZV9sbHNlZWtfdW5sb2NrZWQoc3RydWN0IGZpbGUgKmZpbGUsIGxvZmZfdCBvZmZzZXQsIGludCBvcmlnaW4pCiB7CiAJbG9mZl90IHJldHZhbDsKIAlzdHJ1Y3QgaW5vZGUgKmlub2RlID0gZmlsZS0+Zl9tYXBwaW5nLT5ob3N0OwogCi0JbXV0ZXhfbG9jaygmaW5vZGUtPmlfbXV0ZXgpOwogCXN3aXRjaCAob3JpZ2luKSB7CiAJCWNhc2UgU0VFS19FTkQ6CiAJCQlvZmZzZXQgKz0gaW5vZGUtPmlfc2l6ZTsKQEAgLTQ2LDQyICs0NiwyNiBAQAogCX0KIAlyZXR2YWwgPSAtRUlOVkFMOwogCWlmIChvZmZzZXQ+PTAgJiYgb2Zmc2V0PD1pbm9kZS0+aV9zYi0+c19tYXhieXRlcykgeworCQkvKiBTcGVjaWFsIGxvY2sgbmVlZGVkIGhlcmU/ICovCiAJCWlmIChvZmZzZXQgIT0gZmlsZS0+Zl9wb3MpIHsKIAkJCWZpbGUtPmZfcG9zID0gb2Zmc2V0OwogCQkJZmlsZS0+Zl92ZXJzaW9uID0gMDsKIAkJfQogCQlyZXR2YWwgPSBvZmZzZXQ7CiAJfQotCW11dGV4X3VubG9jaygmaW5vZGUtPmlfbXV0ZXgpOwogCXJldHVybiByZXR2YWw7CiB9CitFWFBPUlRfU1lNQk9MKGdlbmVyaWNfZmlsZV9sbHNlZWtfdW5sb2NrZWQpOwogCi1FWFBPUlRfU1lNQk9MKGdlbmVyaWNfZmlsZV9sbHNlZWspOwotCi1sb2ZmX3QgcmVtb3RlX2xsc2VlayhzdHJ1Y3QgZmlsZSAqZmlsZSwgbG9mZl90IG9mZnNldCwgaW50IG9yaWdpbikKK2xvZmZfdCBnZW5lcmljX2ZpbGVfbGxzZWVrKHN0cnVjdCBmaWxlICpmaWxlLCBsb2ZmX3Qgb2Zmc2V0LCBpbnQgb3JpZ2luKQogewotCWxvZmZfdCByZXR2YWw7Ci0KLQlsb2NrX2tlcm5lbCgpOwotCXN3aXRjaCAob3JpZ2luKSB7Ci0JCWNhc2UgU0VFS19FTkQ6Ci0JCQlvZmZzZXQgKz0gaV9zaXplX3JlYWQoZmlsZS0+Zl9wYXRoLmRlbnRyeS0+ZF9pbm9kZSk7Ci0JCQlicmVhazsKLQkJY2FzZSBTRUVLX0NVUjoKLQkJCW9mZnNldCArPSBmaWxlLT5mX3BvczsKLQl9Ci0JcmV0dmFsID0gLUVJTlZBTDsKLQlpZiAob2Zmc2V0Pj0wICYmIG9mZnNldDw9ZmlsZS0+Zl9wYXRoLmRlbnRyeS0+ZF9pbm9kZS0+aV9zYi0+c19tYXhieXRlcykgewotCQlpZiAob2Zmc2V0ICE9IGZpbGUtPmZfcG9zKSB7Ci0JCQlmaWxlLT5mX3BvcyA9IG9mZnNldDsKLQkJCWZpbGUtPmZfdmVyc2lvbiA9IDA7Ci0JCX0KLQkJcmV0dmFsID0gb2Zmc2V0OwotCX0KLQl1bmxvY2tfa2VybmVsKCk7Ci0JcmV0dXJuIHJldHZhbDsKKwlsb2ZmX3QgbjsKKwltdXRleF9sb2NrKCZmaWxlLT5mX2RlbnRyeS0+ZF9pbm9kZS0+aV9tdXRleCk7CisJbiA9IGdlbmVyaWNfZmlsZV9sbHNlZWtfdW5sb2NrZWQoZmlsZSwgb2Zmc2V0LCBvcmlnaW4pOworCW11dGV4X3VubG9jaygmZmlsZS0+Zl9kZW50cnktPmRfaW5vZGUtPmlfbXV0ZXgpOworCXJldHVybiBuOwogfQotRVhQT1JUX1NZTUJPTChyZW1vdGVfbGxzZWVrKTsKK0VYUE9SVF9TWU1CT0woZ2VuZXJpY19maWxlX2xsc2Vlayk7CiAKIGxvZmZfdCBub19sbHNlZWsoc3RydWN0IGZpbGUgKmZpbGUsIGxvZmZfdCBvZmZzZXQsIGludCBvcmlnaW4pCiB7CmRpZmYgLS1naXQgYS9mcy9zbWJmcy9maWxlLmMgYi9mcy9zbWJmcy9maWxlLmMKaW5kZXggZWZiZTI5YS4uMjI5NDc4MyAxMDA2NDQKLS0tIGEvZnMvc21iZnMvZmlsZS5jCisrKyBiL2ZzL3NtYmZzL2ZpbGUuYwpAQCAtNDIyLDkgKzQyMiwxOCBAQAogCXJldHVybiBlcnJvcjsKIH0KIAorc3RhdGljIGxvZmZfdCBzbWJfcmVtb3RlX2xsc2VlayhzdHJ1Y3QgZmlsZSAqZmlsZSwgbG9mZl90IG9mZnNldCwgaW50IG9yaWdpbikKK3sKKwlsb2ZmX3QgcmV0OworCWxvY2tfa2VybmVsKCk7CisJcmV0ID0gZ2VuZXJpY19maWxlX2xsc2Vla191bmxvY2tlZChmaWxlLCBvZmZzZXQsIG9yaWdpbik7CisJdW5sb2NrX2tlcm5lbCgpOworCXJldHVybiByZXQ7Cit9CisKIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgc21iX2ZpbGVfb3BlcmF0aW9ucyA9CiB7Ci0JLmxsc2VlawkJPSByZW1vdGVfbGxzZWVrLAorCS5sbHNlZWsgCT0gc21iX3JlbW90ZV9sbHNlZWssCiAJLnJlYWQJCT0gZG9fc3luY19yZWFkLAogCS5haW9fcmVhZAk9IHNtYl9maWxlX2Fpb19yZWFkLAogCS53cml0ZQkJPSBkb19zeW5jX3dyaXRlLApkaWZmIC0tZ2l0IGEvZnMvc3BsaWNlLmMgYi9mcy9zcGxpY2UuYwppbmRleCBhYTVmNmY2Li4zOTk0NDIxIDEwMDY0NAotLS0gYS9mcy9zcGxpY2UuYworKysgYi9mcy9zcGxpY2UuYwpAQCAtMzc5LDEzICszNzksMjIgQEAKIAkJCQlsb2NrX3BhZ2UocGFnZSk7CiAKIAkJCS8qCi0JCQkgKiBwYWdlIHdhcyB0cnVuY2F0ZWQsIHN0b3AgaGVyZS4gaWYgdGhpcyBpc24ndCB0aGUKLQkJCSAqIGZpcnN0IHBhZ2UsIHdlJ2xsIGp1c3QgY29tcGxldGUgd2hhdCB3ZSBhbHJlYWR5Ci0JCQkgKiBhZGRlZAorCQkJICogUGFnZSB3YXMgdHJ1bmNhdGVkLCBvciBpbnZhbGlkYXRlZCBieSB0aGUKKwkJCSAqIGZpbGVzeXN0ZW0uICBSZWRvIHRoZSBmaW5kL2NyZWF0ZSwgYnV0IHRoaXMgdGltZSB0aGUKKwkJCSAqIHBhZ2UgaXMga2VwdCBsb2NrZWQsIHNvIHRoZXJlJ3Mgbm8gY2hhbmNlIG9mIGFub3RoZXIKKwkJCSAqIHJhY2Ugd2l0aCB0cnVuY2F0ZS9pbnZhbGlkYXRlLgogCQkJICovCiAJCQlpZiAoIXBhZ2UtPm1hcHBpbmcpIHsKIAkJCQl1bmxvY2tfcGFnZShwYWdlKTsKLQkJCQlicmVhazsKKwkJCQlwYWdlID0gZmluZF9vcl9jcmVhdGVfcGFnZShtYXBwaW5nLCBpbmRleCwKKwkJCQkJCW1hcHBpbmdfZ2ZwX21hc2sobWFwcGluZykpOworCisJCQkJaWYgKCFwYWdlKSB7CisJCQkJCWVycm9yID0gLUVOT01FTTsKKwkJCQkJYnJlYWs7CisJCQkJfQorCQkJCXBhZ2VfY2FjaGVfcmVsZWFzZShwYWdlc1twYWdlX25yXSk7CisJCQkJcGFnZXNbcGFnZV9ucl0gPSBwYWdlOwogCQkJfQogCQkJLyoKIAkJCSAqIHBhZ2Ugd2FzIGFscmVhZHkgdW5kZXIgaW8gYW5kIGlzIG5vdyBkb25lLCBncmVhdApkaWZmIC0tZ2l0IGEvZnMvdmZhdC9uYW1laS5jIGIvZnMvdmZhdC9uYW1laS5jCmluZGV4IGEzNTIyNzIuLmI1NDZiYTYgMTAwNjQ0Ci0tLSBhL2ZzL3ZmYXQvbmFtZWkuYworKysgYi9mcy92ZmF0L25hbWVpLmMKQEAgLTY0NSw3ICs2NDUsNyBAQAogCWlmIChsZW4gPT0gMCkKIAkJcmV0dXJuIC1FTk9FTlQ7CiAKLQlzbG90cyA9IGttYWxsb2Moc2l6ZW9mKCpzbG90cykgKiBNU0RPU19TTE9UUywgR0ZQX0tFUk5FTCk7CisJc2xvdHMgPSBrbWFsbG9jKHNpemVvZigqc2xvdHMpICogTVNET1NfU0xPVFMsIEdGUF9OT0ZTKTsKIAlpZiAoc2xvdHMgPT0gTlVMTCkKIAkJcmV0dXJuIC1FTk9NRU07CiAKQEAgLTY4Nyw3ICs2ODcsNyBAQAogCXN0cnVjdCBkZW50cnkgKmFsaWFzOwogCWludCBlcnIsIHRhYmxlOwogCi0JbG9ja19rZXJuZWwoKTsKKwlsb2NrX3N1cGVyKHNiKTsKIAl0YWJsZSA9IChNU0RPU19TQihzYiktPm9wdGlvbnMubmFtZV9jaGVjayA9PSAncycpID8gMiA6IDA7CiAJZGVudHJ5LT5kX29wID0gJnZmYXRfZGVudHJ5X29wc1t0YWJsZV07CiAKQEAgLTY5OSw3ICs2OTksNyBAQAogCWlub2RlID0gZmF0X2J1aWxkX2lub2RlKHNiLCBzaW5mby5kZSwgc2luZm8uaV9wb3MpOwogCWJyZWxzZShzaW5mby5iaCk7CiAJaWYgKElTX0VSUihpbm9kZSkpIHsKLQkJdW5sb2NrX2tlcm5lbCgpOworCQl1bmxvY2tfc3VwZXIoc2IpOwogCQlyZXR1cm4gRVJSX0NBU1QoaW5vZGUpOwogCX0KIAlhbGlhcyA9IGRfZmluZF9hbGlhcyhpbm9kZSk7CkBAIC03MDgsMTMgKzcwOCwxMyBAQAogCQkJZHB1dChhbGlhcyk7CiAJCWVsc2UgewogCQkJaXB1dChpbm9kZSk7Ci0JCQl1bmxvY2tfa2VybmVsKCk7CisJCQl1bmxvY2tfc3VwZXIoc2IpOwogCQkJcmV0dXJuIGFsaWFzOwogCQl9CiAKIAl9CiBlcnJvcjoKLQl1bmxvY2tfa2VybmVsKCk7CisJdW5sb2NrX3N1cGVyKHNiKTsKIAlkZW50cnktPmRfb3AgPSAmdmZhdF9kZW50cnlfb3BzW3RhYmxlXTsKIAlkZW50cnktPmRfdGltZSA9IGRlbnRyeS0+ZF9wYXJlbnQtPmRfaW5vZGUtPmlfdmVyc2lvbjsKIAlkZW50cnkgPSBkX3NwbGljZV9hbGlhcyhpbm9kZSwgZGVudHJ5KTsKQEAgLTczNCw3ICs3MzQsNyBAQAogCXN0cnVjdCB0aW1lc3BlYyB0czsKIAlpbnQgZXJyOwogCi0JbG9ja19rZXJuZWwoKTsKKwlsb2NrX3N1cGVyKHNiKTsKIAogCXRzID0gQ1VSUkVOVF9USU1FX1NFQzsKIAllcnIgPSB2ZmF0X2FkZF9lbnRyeShkaXIsICZkZW50cnktPmRfbmFtZSwgMCwgMCwgJnRzLCAmc2luZm8pOwpAQCAtNzU1LDE3ICs3NTUsMTggQEAKIAlkZW50cnktPmRfdGltZSA9IGRlbnRyeS0+ZF9wYXJlbnQtPmRfaW5vZGUtPmlfdmVyc2lvbjsKIAlkX2luc3RhbnRpYXRlKGRlbnRyeSwgaW5vZGUpOwogb3V0OgotCXVubG9ja19rZXJuZWwoKTsKKwl1bmxvY2tfc3VwZXIoc2IpOwogCXJldHVybiBlcnI7CiB9CiAKIHN0YXRpYyBpbnQgdmZhdF9ybWRpcihzdHJ1Y3QgaW5vZGUgKmRpciwgc3RydWN0IGRlbnRyeSAqZGVudHJ5KQogewogCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBkZW50cnktPmRfaW5vZGU7CisJc3RydWN0IHN1cGVyX2Jsb2NrICpzYiA9IGRpci0+aV9zYjsKIAlzdHJ1Y3QgZmF0X3Nsb3RfaW5mbyBzaW5mbzsKIAlpbnQgZXJyOwogCi0JbG9ja19rZXJuZWwoKTsKKwlsb2NrX3N1cGVyKHNiKTsKIAogCWVyciA9IGZhdF9kaXJfZW1wdHkoaW5vZGUpOwogCWlmIChlcnIpCkBAIC03ODMsNyArNzg0LDcgQEAKIAlpbm9kZS0+aV9tdGltZSA9IGlub2RlLT5pX2F0aW1lID0gQ1VSUkVOVF9USU1FX1NFQzsKIAlmYXRfZGV0YWNoKGlub2RlKTsKIG91dDoKLQl1bmxvY2tfa2VybmVsKCk7CisJdW5sb2NrX3N1cGVyKHNiKTsKIAogCXJldHVybiBlcnI7CiB9CkBAIC03OTEsMTAgKzc5MiwxMSBAQAogc3RhdGljIGludCB2ZmF0X3VubGluayhzdHJ1Y3QgaW5vZGUgKmRpciwgc3RydWN0IGRlbnRyeSAqZGVudHJ5KQogewogCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBkZW50cnktPmRfaW5vZGU7CisJc3RydWN0IHN1cGVyX2Jsb2NrICpzYiA9IGRpci0+aV9zYjsKIAlzdHJ1Y3QgZmF0X3Nsb3RfaW5mbyBzaW5mbzsKIAlpbnQgZXJyOwogCi0JbG9ja19rZXJuZWwoKTsKKwlsb2NrX3N1cGVyKHNiKTsKIAogCWVyciA9IHZmYXRfZmluZChkaXIsICZkZW50cnktPmRfbmFtZSwgJnNpbmZvKTsKIAlpZiAoZXJyKQpAQCAtODA3LDcgKzgwOSw3IEBACiAJaW5vZGUtPmlfbXRpbWUgPSBpbm9kZS0+aV9hdGltZSA9IENVUlJFTlRfVElNRV9TRUM7CiAJZmF0X2RldGFjaChpbm9kZSk7CiBvdXQ6Ci0JdW5sb2NrX2tlcm5lbCgpOworCXVubG9ja19zdXBlcihzYik7CiAKIAlyZXR1cm4gZXJyOwogfQpAQCAtODIwLDcgKzgyMiw3IEBACiAJc3RydWN0IHRpbWVzcGVjIHRzOwogCWludCBlcnIsIGNsdXN0ZXI7CiAKLQlsb2NrX2tlcm5lbCgpOworCWxvY2tfc3VwZXIoc2IpOwogCiAJdHMgPSBDVVJSRU5UX1RJTUVfU0VDOwogCWNsdXN0ZXIgPSBmYXRfYWxsb2NfbmV3X2RpcihkaXIsICZ0cyk7CkBAIC04NDksMTMgKzg1MSwxMyBAQAogCWRlbnRyeS0+ZF90aW1lID0gZGVudHJ5LT5kX3BhcmVudC0+ZF9pbm9kZS0+aV92ZXJzaW9uOwogCWRfaW5zdGFudGlhdGUoZGVudHJ5LCBpbm9kZSk7CiAKLQl1bmxvY2tfa2VybmVsKCk7CisJdW5sb2NrX3N1cGVyKHNiKTsKIAlyZXR1cm4gMDsKIAogb3V0X2ZyZWU6CiAJZmF0X2ZyZWVfY2x1c3RlcnMoZGlyLCBjbHVzdGVyKTsKIG91dDoKLQl1bmxvY2tfa2VybmVsKCk7CisJdW5sb2NrX3N1cGVyKHNiKTsKIAlyZXR1cm4gZXJyOwogfQogCkBAIC04NjksMTEgKzg3MSwxMiBAQAogCXN0cnVjdCB0aW1lc3BlYyB0czsKIAlsb2ZmX3QgZG90ZG90X2lfcG9zLCBuZXdfaV9wb3M7CiAJaW50IGVyciwgaXNfZGlyLCB1cGRhdGVfZG90ZG90LCBjb3JydXB0ID0gMDsKKwlzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiID0gb2xkX2Rpci0+aV9zYjsKIAogCW9sZF9zaW5mby5iaCA9IHNpbmZvLmJoID0gZG90ZG90X2JoID0gTlVMTDsKIAlvbGRfaW5vZGUgPSBvbGRfZGVudHJ5LT5kX2lub2RlOwogCW5ld19pbm9kZSA9IG5ld19kZW50cnktPmRfaW5vZGU7Ci0JbG9ja19rZXJuZWwoKTsKKwlsb2NrX3N1cGVyKHNiKTsKIAllcnIgPSB2ZmF0X2ZpbmQob2xkX2RpciwgJm9sZF9kZW50cnktPmRfbmFtZSwgJm9sZF9zaW5mbyk7CiAJaWYgKGVycikKIAkJZ290byBvdXQ7CkBAIC05NTEsNyArOTU0LDcgQEAKIAlicmVsc2Uoc2luZm8uYmgpOwogCWJyZWxzZShkb3Rkb3RfYmgpOwogCWJyZWxzZShvbGRfc2luZm8uYmgpOwotCXVubG9ja19rZXJuZWwoKTsKKwl1bmxvY2tfc3VwZXIoc2IpOwogCiAJcmV0dXJuIGVycjsKIApkaWZmIC0tZ2l0IGEvZnMveGZzL3hmc19sb2cuYyBiL2ZzL3hmcy94ZnNfbG9nLmMKaW5kZXggYWZhZWUzMC4uYWQzZDI2ZCAxMDA2NDQKLS0tIGEvZnMveGZzL3hmc19sb2cuYworKysgYi9mcy94ZnMveGZzX2xvZy5jCkBAIC0yNDI3LDEzICsyNDI3LDIwIEBACiAJaWYgKGljbG9nLT5pY19zaXplIC0gaWNsb2ctPmljX29mZnNldCA8IDIqc2l6ZW9mKHhsb2dfb3BfaGVhZGVyX3QpKSB7CiAJCXhsb2dfc3RhdGVfc3dpdGNoX2ljbG9ncyhsb2csIGljbG9nLCBpY2xvZy0+aWNfc2l6ZSk7CiAKLQkJLyogSWYgSSdtIHRoZSBvbmx5IG9uZSB3cml0aW5nIHRvIHRoaXMgaWNsb2csIHN5bmMgaXQgdG8gZGlzayAqLwotCQlpZiAoYXRvbWljX3JlYWQoJmljbG9nLT5pY19yZWZjbnQpID09IDEpIHsKKwkJLyoKKwkJICogSWYgSSdtIHRoZSBvbmx5IG9uZSB3cml0aW5nIHRvIHRoaXMgaWNsb2csIHN5bmMgaXQgdG8gZGlzay4KKwkJICogV2UgbmVlZCB0byBkbyBhbiBhdG9taWMgY29tcGFyZSBhbmQgZGVjcmVtZW50IGhlcmUgdG8gYXZvaWQKKwkJICogcmFjaW5nIHdpdGggY29uY3VycmVudCBhdG9taWNfZGVjX2FuZF9sb2NrKCkgY2FsbHMgaW4KKwkJICogeGxvZ19zdGF0ZV9yZWxlYXNlX2ljbG9nKCkgd2hlbiB0aGVyZSBpcyBtb3JlIHRoYW4gb25lCisJCSAqIHJlZmVyZW5jZSB0byB0aGUgaWNsb2cuCisJCSAqLworCQlpZiAoIWF0b21pY19hZGRfdW5sZXNzKCZpY2xvZy0+aWNfcmVmY250LCAtMSwgMSkpIHsKKwkJCS8qIHdlIGFyZSB0aGUgb25seSBvbmUgKi8KIAkJCXNwaW5fdW5sb2NrKCZsb2ctPmxfaWNsb2dsb2NrKTsKLQkJCWlmICgoZXJyb3IgPSB4bG9nX3N0YXRlX3JlbGVhc2VfaWNsb2cobG9nLCBpY2xvZykpKQorCQkJZXJyb3IgPSB4bG9nX3N0YXRlX3JlbGVhc2VfaWNsb2cobG9nLCBpY2xvZyk7CisJCQlpZiAoZXJyb3IpCiAJCQkJcmV0dXJuIGVycm9yOwogCQl9IGVsc2UgewotCQkJYXRvbWljX2RlYygmaWNsb2ctPmljX3JlZmNudCk7CiAJCQlzcGluX3VubG9jaygmbG9nLT5sX2ljbG9nbG9jayk7CiAJCX0KIAkJZ290byByZXN0YXJ0OwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9LYnVpbGQgYi9pbmNsdWRlL0tidWlsZAppbmRleCBiNTIyODg3Li5iZGNhMTU1IDEwMDY0NAotLS0gYS9pbmNsdWRlL0tidWlsZAorKysgYi9pbmNsdWRlL0tidWlsZApAQCAtNCw1ICs0LDYgQEAKIGhlYWRlci15ICs9IG10ZC8KIGhlYWRlci15ICs9IHJkbWEvCiBoZWFkZXIteSArPSB2aWRlby8KK2hlYWRlci15ICs9IGRybS8KIAogaGVhZGVyLXkgKz0gYXNtLSQoQVJDSCkvCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hbHBoYS9zbXAuaCBiL2luY2x1ZGUvYXNtLWFscGhhL3NtcC5oCmluZGV4IDI4NmUxZDg0Li41NDRjNjlhIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hbHBoYS9zbXAuaAorKysgYi9pbmNsdWRlL2FzbS1hbHBoYS9zbXAuaApAQCAtNDcsMTIgKzQ3LDEzIEBACiBleHRlcm4gaW50IHNtcF9udW1fY3B1czsKICNkZWZpbmUgY3B1X3Bvc3NpYmxlX21hcAljcHVfcHJlc2VudF9tYXAKIAotaW50IHNtcF9jYWxsX2Z1bmN0aW9uX29uX2NwdSh2b2lkICgqZnVuYykgKHZvaWQgKmluZm8pLCB2b2lkICppbmZvLGludCByZXRyeSwgaW50IHdhaXQsIGNwdW1hc2tfdCBjcHUpOworZXh0ZXJuIHZvaWQgYXJjaF9zZW5kX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2lwaShpbnQgY3B1KTsKK2V4dGVybiB2b2lkIGFyY2hfc2VuZF9jYWxsX2Z1bmN0aW9uX2lwaShjcHVtYXNrX3QgbWFzayk7CiAKICNlbHNlIC8qIENPTkZJR19TTVAgKi8KIAogI2RlZmluZSBoYXJkX3NtcF9wcm9jZXNzb3JfaWQoKQkJMAotI2RlZmluZSBzbXBfY2FsbF9mdW5jdGlvbl9vbl9jcHUoZnVuYyxpbmZvLHJldHJ5LHdhaXQsY3B1KSAgICAoeyAwOyB9KQorI2RlZmluZSBzbXBfY2FsbF9mdW5jdGlvbl9vbl9jcHUoZnVuYyxpbmZvLHdhaXQsY3B1KSAgICAoeyAwOyB9KQogCiAjZW5kaWYgLyogQ09ORklHX1NNUCAqLwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hdDkxL2F0OTFfcG1jLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hdDkxL2F0OTFfcG1jLmgKaW5kZXggYzJiMTNjMi4uMjAwMWU4MSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXQ5MS9hdDkxX3BtYy5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWF0OTEvYXQ5MV9wbWMuaApAQCAtMzksMTAgKzM5LDE0IEBACiAjZGVmaW5lCUFUOTFfUE1DX1BDU1IJCShBVDkxX1BNQyArIDB4MTgpCS8qIFBlcmlwaGVyYWwgQ2xvY2sgU3RhdHVzIFJlZ2lzdGVyICovCiAKICNkZWZpbmUJQVQ5MV9DS0dSX1VDS1IJCShBVDkxX1BNQyArIDB4MUMpCS8qIFVUTUkgQ2xvY2sgUmVnaXN0ZXIgW1NBTTlSTCwgQ0FQOV0gKi8KKyNkZWZpbmUJCUFUOTFfUE1DX1VQTExFTgkJKDEgICA8PCAxNikJCS8qIFVUTUkgUExMIEVuYWJsZSAqLworI2RlZmluZQkJQVQ5MV9QTUNfVVBMTENPVU5UCSgweGYgPDwgMjApCQkvKiBVVE1JIFBMTCBTdGFydC11cCBUaW1lICovCisjZGVmaW5lCQlBVDkxX1BNQ19CSUFTRU4JCSgxICAgPDwgMjQpCQkvKiBVVE1JIEJJQVMgRW5hYmxlICovCisjZGVmaW5lCQlBVDkxX1BNQ19CSUFTQ09VTlQJKDB4ZiA8PCAyOCkJCS8qIFVUTUkgUExMIFN0YXJ0LXVwIFRpbWUgKi8KIAogI2RlZmluZQlBVDkxX0NLR1JfTU9SCQkoQVQ5MV9QTUMgKyAweDIwKQkvKiBNYWluIE9zY2lsbGF0b3IgUmVnaXN0ZXIgW25vdCBvbiBTQU05UkxdICovCiAjZGVmaW5lCQlBVDkxX1BNQ19NT1NDRU4JCSgxICAgIDw8IDApCQkvKiBNYWluIE9zY2lsbGF0b3IgRW5hYmxlICovCi0jZGVmaW5lCQlBVDkxX1BNQ19PU0NCWVBBU1MJKDEgICAgPDwgMSkJCS8qIE9zY2lsbGF0b3IgQnlwYXNzIFtBVDkxU0FNOTI2eCBvbmx5XSAqLworI2RlZmluZQkJQVQ5MV9QTUNfT1NDQllQQVNTCSgxICAgIDw8IDEpCQkvKiBPc2NpbGxhdG9yIEJ5cGFzcyBbU0FNOXgsIENBUDldICovCiAjZGVmaW5lCQlBVDkxX1BNQ19PU0NPVU5UCSgweGZmIDw8IDgpCQkvKiBNYWluIE9zY2lsbGF0b3IgU3RhcnQtdXAgVGltZSAqLwogCiAjZGVmaW5lCUFUOTFfQ0tHUl9NQ0ZSCQkoQVQ5MV9QTUMgKyAweDI0KQkvKiBNYWluIENsb2NrIEZyZXF1ZW5jeSBSZWdpc3RlciAqLwpAQCAtOTcsNiArMTAxLDcgQEAKICNkZWZpbmUJCUFUOTFfUE1DX0xPQ0tBCQkoMSA8PCAgMSkJCS8qIFBMTEEgTG9jayAqLwogI2RlZmluZQkJQVQ5MV9QTUNfTE9DS0IJCSgxIDw8ICAyKQkJLyogUExMQiBMb2NrICovCiAjZGVmaW5lCQlBVDkxX1BNQ19NQ0tSRFkJCSgxIDw8ICAzKQkJLyogTWFzdGVyIENsb2NrICovCisjZGVmaW5lCQlBVDkxX1BNQ19MT0NLVQkJKDEgPDwgIDYpCQkvKiBVUExMIExvY2sgW0FUOTFDQVA5IG9ubHldICovCiAjZGVmaW5lCQlBVDkxX1BNQ19QQ0swUkRZCSgxIDw8ICA4KQkJLyogUHJvZ3JhbW1hYmxlIENsb2NrIDAgKi8KICNkZWZpbmUJCUFUOTFfUE1DX1BDSzFSRFkJKDEgPDwgIDkpCQkvKiBQcm9ncmFtbWFibGUgQ2xvY2sgMSAqLwogI2RlZmluZQkJQVQ5MV9QTUNfUENLMlJEWQkoMSA8PCAxMCkJCS8qIFByb2dyYW1tYWJsZSBDbG9jayAyICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hdDkxL2F0OTFjYXA5LmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hdDkxL2F0OTFjYXA5LmgKaW5kZXggYmFjODNhZC4uNmYxNGQ5MCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXQ5MS9hdDkxY2FwOS5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWF0OTEvYXQ5MWNhcDkuaApAQCAtMTE4LDcgKzExOCw3IEBACiAjZGVmaW5lIEFUOTFDQVA5X1JPTV9TSVpFCSgzMiAqIFNaXzFLKQkvKiBJbnRlcm5hbCBST00gc2l6ZSAoMzJLYikgKi8KIAogI2RlZmluZSBBVDkxQ0FQOV9MQ0RDX0JBU0UJMHgwMDUwMDAwMAkvKiBMQ0QgQ29udHJvbGxlciAqLwotI2RlZmluZSBBVDkxQ0FQOV9VRFBIU19CQVNFCTB4MDA2MDAwMDAJLyogVVNCIEhpZ2ggU3BlZWQgRGV2aWNlIFBvcnQgKi8KKyNkZWZpbmUgQVQ5MUNBUDlfVURQSFNfRklGTwkweDAwNjAwMDAwCS8qIFVTQiBIaWdoIFNwZWVkIERldmljZSBQb3J0ICovCiAjZGVmaW5lIEFUOTFDQVA5X1VIUF9CQVNFCTB4MDA3MDAwMDAJLyogVVNCIEhvc3QgY29udHJvbGxlciAqLwogCiAjZGVmaW5lIENPTkZJR19EUkFNX0JBU0UJQVQ5MV9DSElQU0VMRUNUXzYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWF0OTEvYXQ5MWNhcDlfbWF0cml4LmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hdDkxL2F0OTFjYXA5X21hdHJpeC5oCmluZGV4IGE2NDE2ODYuLmRkYmQ0ODcgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWF0OTEvYXQ5MWNhcDlfbWF0cml4LmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXQ5MS9hdDkxY2FwOV9tYXRyaXguaApAQCAtMTA2LDYgKzEwNiwxMSBAQAogI2RlZmluZSBBVDkxX01QQlMwX1NGUgkJKEFUOTFfTUFUUklYICsgMHgxMTQpCS8qIE1QQmxvY2sgU2xhdmUgMCBTcGVjaWFsIEZ1bmN0aW9uIFJlZ2lzdGVyICovCiAjZGVmaW5lIEFUOTFfTVBCUzFfU0ZSCQkoQVQ5MV9NQVRSSVggKyAweDExQykJLyogTVBCbG9jayBTbGF2ZSAxIFNwZWNpYWwgRnVuY3Rpb24gUmVnaXN0ZXIgKi8KIAorI2RlZmluZSBBVDkxX01BVFJJWF9VRFBIUwkoQVQ5MV9NQVRSSVggKyAweDExOCkJLyogVVNCSFMgU3BlY2lhbCBGdW5jdGlvbiBSZWdpc3RlciBbQVQ5MUNBUDkgb25seV0gKi8KKyNkZWZpbmUJCUFUOTFfTUFUUklYX1NFTEVDVF9VRFBIUwkoMCA8PCAzMSkJLyogc2VsZWN0IEhpZ2ggU3BlZWQgVURQICovCisjZGVmaW5lCQlBVDkxX01BVFJJWF9TRUxFQ1RfVURQCQkoMSA8PCAzMSkJLyogc2VsZWN0IHN0YW5kYXJkIFVEUCAqLworI2RlZmluZQkJQVQ5MV9NQVRSSVhfVURQSFNfQllQQVNTX0xPQ0sJKDEgPDwgMzApCS8qIGJ5cGFzcyBsb2NrIGJpdCAqLworCiAjZGVmaW5lIEFUOTFfTUFUUklYX0VCSUNTQQkoQVQ5MV9NQVRSSVggKyAweDEyMCkJLyogRUJJIENoaXAgU2VsZWN0IEFzc2lnbm1lbnQgUmVnaXN0ZXIgKi8KICNkZWZpbmUJCUFUOTFfTUFUUklYX0VCSV9DUzFBCQkoMSA8PCAxKQkvKiBDaGlwIFNlbGVjdCAxIEFzc2lnbm1lbnQgKi8KICNkZWZpbmUJCQlBVDkxX01BVFJJWF9FQklfQ1MxQV9TTUMJCSgwIDw8IDEpCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hdDkxL2F0OTFzYW05MjYwLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hdDkxL2F0OTFzYW05MjYwLmgKaW5kZXggYzg5MzRmZS4uODg5ODcyYSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXQ5MS9hdDkxc2FtOTI2MC5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWF0OTEvYXQ5MXNhbTkyNjAuaApAQCAtNiw2ICs2LDggQEAKICAqIENvbW1vbiBkZWZpbml0aW9ucy4KICAqIEJhc2VkIG9uIEFUOTFTQU05MjYwIGRhdGFzaGVldCByZXZpc2lvbiBBIChQcmVsaW1pbmFyeSkuCiAgKgorICogSW5jbHVkZXMgYWxzbyBkZWZpbml0aW9ucyBmb3IgQVQ5MVNBTTlYRSBhbmQgQVQ5MVNBTTlHIGZhbWlsaWVzCisgKgogICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiAgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgpAQCAtMTIzLDUgKzEyNSwxNCBAQAogI2RlZmluZSBBVDkxU0FNOVhFX0ZMQVNIX0JBU0UJMHgwMDIwMDAwMAkvKiBJbnRlcm5hbCBGTEFTSCBiYXNlIGFkZHJlc3MgKi8KICNkZWZpbmUgQVQ5MVNBTTlYRV9TUkFNX0JBU0UJMHgwMDMwMDAwMAkvKiBJbnRlcm5hbCBTUkFNIGJhc2UgYWRkcmVzcyAqLwogCisjZGVmaW5lIEFUOTFTQU05RzIwX1JPTV9CQVNFCTB4MDAxMDAwMDAJLyogSW50ZXJuYWwgUk9NIGJhc2UgYWRkcmVzcyAqLworI2RlZmluZSBBVDkxU0FNOUcyMF9ST01fU0laRQlTWl8zMksJCS8qIEludGVybmFsIFJPTSBzaXplICgzMktiKSAqLworCisjZGVmaW5lIEFUOTFTQU05RzIwX1NSQU0wX0JBU0UJMHgwMDIwMDAwMAkvKiBJbnRlcm5hbCBTUkFNIDAgYmFzZSBhZGRyZXNzICovCisjZGVmaW5lIEFUOTFTQU05RzIwX1NSQU0wX1NJWkUJU1pfMTZLCQkvKiBJbnRlcm5hbCBTUkFNIDAgc2l6ZSAoMTZLYikgKi8KKyNkZWZpbmUgQVQ5MVNBTTlHMjBfU1JBTTFfQkFTRQkweDAwMzAwMDAwCS8qIEludGVybmFsIFNSQU0gMSBiYXNlIGFkZHJlc3MgKi8KKyNkZWZpbmUgQVQ5MVNBTTlHMjBfU1JBTTFfU0laRQlTWl8xNksJCS8qIEludGVybmFsIFNSQU0gMSBzaXplICgxNktiKSAqLworCisjZGVmaW5lIEFUOTFTQU05RzIwX1VIUF9CQVNFCTB4MDA1MDAwMDAJLyogVVNCIEhvc3QgY29udHJvbGxlciAqLwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWF0OTEvYXQ5MXNhbTlybC5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXQ5MS9hdDkxc2FtOXJsLmgKaW5kZXggMTZkMjgzMi4uNjIyZTU2ZiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXQ5MS9hdDkxc2FtOXJsLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXQ5MS9hdDkxc2FtOXJsLmgKQEAgLTExMCw2ICsxMTAsNiBAQAogI2RlZmluZSBBVDkxU0FNOVJMX1JPTV9TSVpFCSgyICogU1pfMTZLKQkvKiBJbnRlcm5hbCBST00gc2l6ZSAoMzJLYikgKi8KIAogI2RlZmluZSBBVDkxU0FNOVJMX0xDRENfQkFTRQkweDAwNTAwMDAwCS8qIExDRCBDb250cm9sbGVyICovCi0jZGVmaW5lIEFUOTFTQU05UkxfVURQSFNfQkFTRQkweDAwNjAwMDAwCS8qIFVTQiBEZXZpY2UgSFMgY29udHJvbGxlciAqLworI2RlZmluZSBBVDkxU0FNOVJMX1VEUEhTX0ZJRk8JMHgwMDYwMDAwMAkvKiBVU0IgRGV2aWNlIEhTIGNvbnRyb2xsZXIgKi8KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hdDkxL2JvYXJkLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hdDkxL2JvYXJkLmgKaW5kZXggZGMxODlmMC4uOTRkZTc4OCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXQ5MS9ib2FyZC5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWF0OTEvYm9hcmQuaApAQCAtMzYsNiArMzYsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgogI2luY2x1ZGUgPGxpbnV4L2xlZHMuaD4KICNpbmNsdWRlIDxsaW51eC9zcGkvc3BpLmg+CisjaW5jbHVkZSA8bGludXgvdXNiL2F0bWVsX3VzYmFfdWRjLmg+CiAKICAvKiBVU0IgRGV2aWNlICovCiBzdHJ1Y3QgYXQ5MV91ZGNfZGF0YSB7CkBAIC00NSw2ICs0Niw5IEBACiB9OwogZXh0ZXJuIHZvaWQgX19pbml0IGF0OTFfYWRkX2RldmljZV91ZGMoc3RydWN0IGF0OTFfdWRjX2RhdGEgKmRhdGEpOwogCisgLyogVVNCIEhpZ2ggU3BlZWQgRGV2aWNlICovCitleHRlcm4gdm9pZCBfX2luaXQgYXQ5MV9hZGRfZGV2aWNlX3VzYmEoc3RydWN0IHVzYmFfcGxhdGZvcm1fZGF0YSAqZGF0YSk7CisKICAvKiBDb21wYWN0IEZsYXNoICovCiBzdHJ1Y3QgYXQ5MV9jZl9kYXRhIHsKIAl1OAlpcnFfcGluOwkJLyogSS9PIElSUSAqLwpAQCAtNzMsNyArNzcsNyBAQAogfTsKIGV4dGVybiB2b2lkIF9faW5pdCBhdDkxX2FkZF9kZXZpY2VfZXRoKHN0cnVjdCBhdDkxX2V0aF9kYXRhICpkYXRhKTsKIAotI2lmIGRlZmluZWQoQ09ORklHX0FSQ0hfQVQ5MVNBTTkyNjApIHx8IGRlZmluZWQoQ09ORklHX0FSQ0hfQVQ5MVNBTTkyNjMpIHx8IGRlZmluZWQoQ09ORklHX0FSQ0hfQVQ5MUNBUDkpCisjaWYgZGVmaW5lZChDT05GSUdfQVJDSF9BVDkxU0FNOTI2MCkgfHwgZGVmaW5lZChDT05GSUdfQVJDSF9BVDkxU0FNOTI2MykgfHwgZGVmaW5lZChDT05GSUdfQVJDSF9BVDkxU0FNOUcyMCkgfHwgZGVmaW5lZChDT05GSUdfQVJDSF9BVDkxQ0FQOSkKICNkZWZpbmUgZXRoX3BsYXRmb3JtX2RhdGEJYXQ5MV9ldGhfZGF0YQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWF0OTEvY3B1LmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hdDkxL2NwdS5oCmluZGV4IDcxNDUxNjYuLjUyZGY3OTQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWF0OTEvY3B1LmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXQ5MS9jcHUuaApAQCAtMjEsNiArMjEsNyBAQAogI2RlZmluZSBBUkNIX0lEX0FUOTFTQU05MjYwCTB4MDE5ODAzYTAKICNkZWZpbmUgQVJDSF9JRF9BVDkxU0FNOTI2MQkweDAxOTcwM2EwCiAjZGVmaW5lIEFSQ0hfSURfQVQ5MVNBTTkyNjMJMHgwMTk2MDdhMAorI2RlZmluZSBBUkNIX0lEX0FUOTFTQU05RzIwCTB4MDE5OTA1YTAKICNkZWZpbmUgQVJDSF9JRF9BVDkxU0FNOVJMNjQJMHgwMTliMDNhMAogI2RlZmluZSBBUkNIX0lEX0FUOTFDQVA5CTB4MDM5QTAzQTAKIApAQCAtNjMsNiArNjQsMTIgQEAKICNkZWZpbmUgY3B1X2lzX2F0OTFzYW05MjYwKCkJKDApCiAjZW5kaWYKIAorI2lmZGVmIENPTkZJR19BUkNIX0FUOTFTQU05RzIwCisjZGVmaW5lIGNwdV9pc19hdDkxc2FtOWcyMCgpCShhdDkxX2NwdV9pZGVudGlmeSgpID09IEFSQ0hfSURfQVQ5MVNBTTlHMjApCisjZWxzZQorI2RlZmluZSBjcHVfaXNfYXQ5MXNhbTlnMjAoKQkoMCkKKyNlbmRpZgorCiAjaWZkZWYgQ09ORklHX0FSQ0hfQVQ5MVNBTTkyNjEKICNkZWZpbmUgY3B1X2lzX2F0OTFzYW05MjYxKCkJKGF0OTFfY3B1X2lkZW50aWZ5KCkgPT0gQVJDSF9JRF9BVDkxU0FNOTI2MSkKICNlbHNlCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hdDkxL2hhcmR3YXJlLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hdDkxL2hhcmR3YXJlLmgKaW5kZXggMmM4MjZkODIuLjAxNmEzYTMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWF0OTEvaGFyZHdhcmUuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hdDkxL2hhcmR3YXJlLmgKQEAgLTE4LDcgKzE4LDcgQEAKIAogI2lmIGRlZmluZWQoQ09ORklHX0FSQ0hfQVQ5MVJNOTIwMCkKICNpbmNsdWRlIDxhc20vYXJjaC9hdDkxcm05MjAwLmg+Ci0jZWxpZiBkZWZpbmVkKENPTkZJR19BUkNIX0FUOTFTQU05MjYwKQorI2VsaWYgZGVmaW5lZChDT05GSUdfQVJDSF9BVDkxU0FNOTI2MCkgfHwgZGVmaW5lZChDT05GSUdfQVJDSF9BVDkxU0FNOUcyMCkKICNpbmNsdWRlIDxhc20vYXJjaC9hdDkxc2FtOTI2MC5oPgogI2VsaWYgZGVmaW5lZChDT05GSUdfQVJDSF9BVDkxU0FNOTI2MSkKICNpbmNsdWRlIDxhc20vYXJjaC9hdDkxc2FtOTI2MS5oPgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXQ5MS90aW1leC5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXQ5MS90aW1leC5oCmluZGV4IGYxOTMzYjAuLjI5OGQ4MzEzIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hdDkxL3RpbWV4LmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXQ5MS90aW1leC5oCkBAIC0yNywxNCArMjcsMjkgQEAKIAogI2RlZmluZSBDTE9DS19USUNLX1JBVEUJCShBVDkxX1NMT1dfQ0xPQ0spCiAKLSNlbGlmIGRlZmluZWQoQ09ORklHX0FSQ0hfQVQ5MVNBTTkyNjApIHx8IGRlZmluZWQoQ09ORklHX0FSQ0hfQVQ5MVNBTTkyNjEpCisjZWxpZiBkZWZpbmVkKENPTkZJR19BUkNIX0FUOTFTQU05MjYwKQorCisjaWYgZGVmaW5lZChDT05GSUdfTUFDSF9VU0JfQTkyNjApIHx8IGRlZmluZWQoQ09ORklHX01BQ0hfUUlMX0E5MjYwKQorI2RlZmluZSBBVDkxU0FNOV9NQVNURVJfQ0xPQ0sJOTAwMDAwMDAKKyNlbHNlCisjZGVmaW5lIEFUOTFTQU05X01BU1RFUl9DTE9DSwk5OTMwMDAwMAorI2VuZGlmCisKKyNkZWZpbmUgQ0xPQ0tfVElDS19SQVRFCQkoQVQ5MVNBTTlfTUFTVEVSX0NMT0NLLzE2KQorCisjZWxpZiBkZWZpbmVkKENPTkZJR19BUkNIX0FUOTFTQU05MjYxKQogCiAjZGVmaW5lIEFUOTFTQU05X01BU1RFUl9DTE9DSwk5OTMwMDAwMAogI2RlZmluZSBDTE9DS19USUNLX1JBVEUJCShBVDkxU0FNOV9NQVNURVJfQ0xPQ0svMTYpCiAKICNlbGlmIGRlZmluZWQoQ09ORklHX0FSQ0hfQVQ5MVNBTTkyNjMpCiAKKyNpZiBkZWZpbmVkKENPTkZJR19NQUNIX1VTQl9BOTI2MykKKyNkZWZpbmUgQVQ5MVNBTTlfTUFTVEVSX0NMT0NLCTkwMDAwMDAwCisjZWxzZQogI2RlZmluZSBBVDkxU0FNOV9NQVNURVJfQ0xPQ0sJOTk5NTk1MDAKKyNlbmRpZgorCiAjZGVmaW5lIENMT0NLX1RJQ0tfUkFURQkJKEFUOTFTQU05X01BU1RFUl9DTE9DSy8xNikKIAogI2VsaWYgZGVmaW5lZChDT05GSUdfQVJDSF9BVDkxU0FNOVJMKQpAQCAtNDIsNiArNTcsMTEgQEAKICNkZWZpbmUgQVQ5MVNBTTlfTUFTVEVSX0NMT0NLCTEwMDAwMDAwMAogI2RlZmluZSBDTE9DS19USUNLX1JBVEUJCShBVDkxU0FNOV9NQVNURVJfQ0xPQ0svMTYpCiAKKyNlbGlmIGRlZmluZWQoQ09ORklHX0FSQ0hfQVQ5MVNBTTlHMjApCisKKyNkZWZpbmUgQVQ5MVNBTTlfTUFTVEVSX0NMT0NLCTEzMjA5NjAwMAorI2RlZmluZSBDTE9DS19USUNLX1JBVEUJCShBVDkxU0FNOV9NQVNURVJfQ0xPQ0svMTYpCisKICNlbGlmIGRlZmluZWQoQ09ORklHX0FSQ0hfQVQ5MUNBUDkpCiAKICNkZWZpbmUgQVQ5MUNBUDlfTUFTVEVSX0NMT0NLCTEwMDAwMDAwMApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtZWJzYTI4NS9oYXJkd2FyZS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtZWJzYTI4NS9oYXJkd2FyZS5oCmluZGV4IGRhYWQ4ZWUuLjc0NjEwYzIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWVic2EyODUvaGFyZHdhcmUuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1lYnNhMjg1L2hhcmR3YXJlLmgKQEAgLTE0LDcgKzE0LDYgQEAKIAogI2luY2x1ZGUgPGFzbS9hcmNoL21lbW9yeS5oPgogCi0jaWZkZWYgQ09ORklHX0FSQ0hfRk9PVEJSSURHRQogLyogICBWaXJ0dWFsICAgICAgUGh5c2ljYWwJU2l6ZQogICogMHhmZjgwMDAwMAkweDQwMDAwMDAwCTFNQglYLUJ1cwogICogMHhmZjAwMDAwMAkweDdjMDAwMDAwCTFNQglQQ0kgSS9PIHNwYWNlCkBAIC01MCwzMSArNDksNiBAQAogI2RlZmluZSBQQ0lNRU1fU0laRQkJMHgwMTAwMDAwMAogI2RlZmluZSBQQ0lNRU1fQkFTRQkJMHhmMDAwMDAwMAogCi0jZWxpZiBkZWZpbmVkKENPTkZJR19BUkNIX0NPMjg1KQotLyoKLSAqIFRoaXMgaXMgdGhlIENPRUJTQTI4NSBjdXQtZG93biBtYXBwaW5nCi0gKi8KLSNkZWZpbmUgUENJTUVNX1NJWkUJCTB4ODAwMDAwMDAKLSNkZWZpbmUgUENJTUVNX0JBU0UJCTB4ODAwMDAwMDAKLQotI2RlZmluZSBXRkxVU0hfU0laRQkJMHgwMTAwMDAwMAotI2RlZmluZSBXRkxVU0hfQkFTRQkJMHg3ZDAwMDAwMAotCi0jZGVmaW5lIEFSTUNTUl9TSVpFCQkweDAwMTAwMDAwCi0jZGVmaW5lIEFSTUNTUl9CQVNFCQkweDdjZjAwMDAwCi0KLSNkZWZpbmUgWEJVU19TSVpFCQkweDAwMDIwMDAwCi0jZGVmaW5lIFhCVVNfQkFTRQkJMHg3Y2VlMDAwMAotCi0jZGVmaW5lIFBDSU9fU0laRQkJMHgwMDAxMDAwMAotI2RlZmluZSBQQ0lPX0JBU0UJCTB4N2NlZDAwMDAKLQotI2Vsc2UKLQotI2Vycm9yICJVbmRlZmluZWQgZm9vdGJyaWRnZSBhcmNoaXRlY3R1cmUiCi0KLSNlbmRpZgotCiAjZGVmaW5lIFhCVVNfTEVEUwkJKCh2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopKFhCVVNfQkFTRSArIDB4MTIwMDApKQogI2RlZmluZSBYQlVTX0xFRF9BTUJFUgkJKDEgPDwgMCkKICNkZWZpbmUgWEJVU19MRURfR1JFRU4JCSgxIDw8IDEpCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1lYnNhMjg1L21lbW9yeS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtZWJzYTI4NS9tZW1vcnkuaAppbmRleCBjYmQ3YWU2Li45MDE5YTNiIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1lYnNhMjg1L21lbW9yeS5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWVic2EyODUvbWVtb3J5LmgKQEAgLTQyLDggKzQyLDYgQEAKIAogI2VuZGlmCiAKLSNpZiBkZWZpbmVkKENPTkZJR19BUkNIX0ZPT1RCUklER0UpCi0KIC8qIFRhc2sgc2l6ZSBhbmQgcGFnZSBvZmZzZXQgYXQgM0dCICovCiAjZGVmaW5lIFRBU0tfU0laRQkJVUwoMHhiZjAwMDAwMCkKICNkZWZpbmUgUEFHRV9PRkZTRVQJCVVMKDB4YzAwMDAwMDApCkBAIC01MywyMyArNTEsNiBAQAogICovCiAjZGVmaW5lIEZMVVNIX0JBU0UJCTB4ZjkwMDAwMDAKIAotI2VsaWYgZGVmaW5lZChDT05GSUdfQVJDSF9DTzI4NSkKLQotLyogVGFzayBzaXplIGFuZCBwYWdlIG9mZnNldCBhdCAxLjVHQiAqLwotI2RlZmluZSBUQVNLX1NJWkUJCVVMKDB4NWYwMDAwMDApCi0jZGVmaW5lIFBBR0VfT0ZGU0VUCQlVTCgweDYwMDAwMDAwKQotCi0vKgotICogQ2FjaGUgZmx1c2hpbmcgYXJlYS4KLSAqLwotI2RlZmluZSBGTFVTSF9CQVNFCQkweDdlMDAwMDAwCi0KLSNlbHNlCi0KLSNlcnJvciAiVW5kZWZpbmVkIGZvb3RicmlkZ2UgYXJjaGl0ZWN0dXJlIgotCi0jZW5kaWYKLQogLyoKICAqIFBoeXNpY2FsIERSQU0gb2Zmc2V0LgogICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1lYnNhMjg1L3ZtYWxsb2MuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWVic2EyODUvdm1hbGxvYy5oCmluZGV4IDAyNTk4MjAuLmU0ODdkN2UgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWVic2EyODUvdm1hbGxvYy5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWVic2EyODUvdm1hbGxvYy5oCkBAIC03LDggKzcsNCBAQAogICovCiAKIAotI2lmZGVmIENPTkZJR19BUkNIX0ZPT1RCUklER0UKICNkZWZpbmUgVk1BTExPQ19FTkQgICAgICAgKFBBR0VfT0ZGU0VUICsgMHgzMDAwMDAwMCkKLSNlbHNlCi0jZGVmaW5lIFZNQUxMT0NfRU5EICAgICAgIChQQUdFX09GRlNFVCArIDB4MjAwMDAwMDApCi0jZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWlteC9oYXJkd2FyZS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtaW14L2hhcmR3YXJlLmgKaW5kZXggYWRmZmI2YS4uNjU0MmNhNSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtaW14L2hhcmR3YXJlLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtaW14L2hhcmR3YXJlLmgKQEAgLTczLDE0ICs3Myw2IEBACiAgKi8KIGV4dGVybiB2b2lkIGlteF9ncGlvX21vZGUoIGludCBncGlvX21vZGUgKTsKIAotLyogZ2V0IGZyZXF1ZW5jaWVzIGluIEh6ICovCi1leHRlcm4gdW5zaWduZWQgaW50IGlteF9nZXRfc3lzdGVtX2Nsayh2b2lkKTsKLWV4dGVybiB1bnNpZ25lZCBpbnQgaW14X2dldF9tY3VfY2xrKHZvaWQpOwotZXh0ZXJuIHVuc2lnbmVkIGludCBpbXhfZ2V0X3BlcmNsazEodm9pZCk7IC8qIFVBUlRbMTJdLCBUaW1lclsxMl0sIFBXTSAqLwotZXh0ZXJuIHVuc2lnbmVkIGludCBpbXhfZ2V0X3BlcmNsazIodm9pZCk7IC8qIExDRCwgU0QsIFNQSVsxMl0gICAgICAgICAqLwotZXh0ZXJuIHVuc2lnbmVkIGludCBpbXhfZ2V0X3BlcmNsazModm9pZCk7IC8qIFNTSSAgICAgICAgICAgICAgICAgICAgICAqLwotZXh0ZXJuIHVuc2lnbmVkIGludCBpbXhfZ2V0X2hjbGsodm9pZCk7ICAgIC8qIFNEUkFNLCBDU0ksIE1lbW9yeSBTdGljaywqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEkyQywgRE1BICAgICAgICAgICAgICAgICAqLwogI2VuZGlmCiAKICNkZWZpbmUgTUFYSVJRTlVNICAgICAgICAgICAgICAgICAgICAgICA2MgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtaW14L2lteC1kbWEuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWlteC9pbXgtZG1hLmgKaW5kZXggNWIxMDY2ZC4uNDRkODljMyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtaW14L2lteC1kbWEuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1pbXgvaW14LWRtYS5oCkBAIC04OCw3ICs4OCw3IEBACiAKIHZvaWQgaW14X2RtYV9mcmVlKGlteF9kbWFjaF90IGRtYV9jaCk7CiAKLWludCBpbXhfZG1hX3JlcXVlc3RfYnlfcHJpbyhpbXhfZG1hY2hfdCAqcGRtYV9jaCwgY29uc3QgY2hhciAqbmFtZSwgaW14X2RtYV9wcmlvIHByaW8pOworaW14X2RtYWNoX3QgaW14X2RtYV9yZXF1ZXN0X2J5X3ByaW8oY29uc3QgY2hhciAqbmFtZSwgaW14X2RtYV9wcmlvIHByaW8pOwogCiAKICNlbmRpZgkvKiBfQVNNX0FSQ0hfSU1YX0RNQV9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1pbXgvaW14LXVhcnQuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWlteC9pbXgtdWFydC5oCmluZGV4IDNhNjg1ZTEuLmQ1NGViMWQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWlteC9pbXgtdWFydC5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWlteC9pbXgtdWFydC5oCkBAIC00LDYgKzQsOCBAQAogI2RlZmluZSBJTVhVQVJUX0hBVkVfUlRTQ1RTICgxPDwwKQogCiBzdHJ1Y3QgaW14dWFydF9wbGF0Zm9ybV9kYXRhIHsKKwlpbnQgKCppbml0KShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KTsKKwl2b2lkICgqZXhpdCkoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldik7CiAJdW5zaWduZWQgaW50IGZsYWdzOwogfTsKIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtaW9wMTN4eC9kbWEuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWlvcDEzeHgvZG1hLmgKaW5kZXggMmUxNWRhNTMuLmQ3OTg0NmYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWlvcDEzeHgvZG1hLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtaW9wMTN4eC9kbWEuaApAQCAtMSwzICsxLDMgQEAKICNpZm5kZWYgX0lPUDEzWFhfRE1BX0gKLSNkZWZpbmUgX0lPUDEzWFhfRE1BX0hfCisjZGVmaW5lIF9JT1AxM1hYX0RNQV9ICiAjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWlvcDMyeC9ncGlvLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1pb3AzMngvZ3Bpby5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcwOGY0ZWMKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1pb3AzMngvZ3Bpby5oCkBAIC0wLDAgKzEsNiBAQAorI2lmbmRlZiBfX0FTTV9BUkNIX0lPUDMyWF9HUElPX0gKKyNkZWZpbmUgX19BU01fQVJDSF9JT1AzMlhfR1BJT19ICisKKyNpbmNsdWRlIDxhc20vaGFyZHdhcmUvaW9wM3h4LWdwaW8uaD4KKworI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1pb3AzM3gvZ3Bpby5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtaW9wMzN4L2dwaW8uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZGQ1NWJiCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtaW9wMzN4L2dwaW8uaApAQCAtMCwwICsxLDYgQEAKKyNpZm5kZWYgX19BU01fQVJDSF9JT1AzM1hfR1BJT19ICisjZGVmaW5lIF9fQVNNX0FSQ0hfSU9QMzNYX0dQSU9fSAorCisjaW5jbHVkZSA8YXNtL2hhcmR3YXJlL2lvcDN4eC1ncGlvLmg+CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtaXhwNHh4L2ZzZy5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtaXhwNHh4L2ZzZy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMwMTAwY2MKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1peHA0eHgvZnNnLmgKQEAgLTAsMCArMSw1MCBAQAorLyoKKyAqIGluY2x1ZGUvYXNtLWFybS9hcmNoLWl4cDR4eC9mc2cuaAorICoKKyAqIEZyZWVjb20gRlNHLTMgcGxhdGZvcm0gc3BlY2lmaWMgZGVmaW5pdGlvbnMKKyAqCisgKiBBdXRob3I6IFJvZCBXaGl0YnkgPHJvZEB3aGl0YnkuaWQuYXU+CisgKiBBdXRob3I6IFRvbWFzeiBDaG1pZWxld3NraSA8bWFuZ29vQHdwa2cub3JnPgorICogTWFpbnRhaW5lcnM6IGh0dHA6Ly93d3cubnNsdTItbGludXgub3JnCisgKgorICogQmFzZWQgb24gY295b3RlLmggYnkKKyAqIENvcHlyaWdodCAyMDA0IChjKSBNb250YVZpc3RhLCBTb2Z0d2FyZSwgSW5jLgorICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciAgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpZm5kZWYgX19BU01fQVJDSF9IQVJEV0FSRV9IX18KKyNlcnJvciAiRG8gbm90IGluY2x1ZGUgdGhpcyBkaXJlY3RseSwgaW5zdGVhZCAjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+IgorI2VuZGlmCisKKyNkZWZpbmUgRlNHX1NEQV9QSU4JCTEyCisjZGVmaW5lIEZTR19TQ0xfUElOCQkxMworCisvKgorICogRlNHIFBDSSBJUlFzCisgKi8KKyNkZWZpbmUgRlNHX1BDSV9NQVhfREVWCQkzCisjZGVmaW5lIEZTR19QQ0lfSVJRX0xJTkVTCTMKKworCisvKiBQQ0kgY29udHJvbGxlciBHUElPIHRvIElSUSBwaW4gbWFwcGluZ3MgKi8KKyNkZWZpbmUgRlNHX1BDSV9JTlRBX1BJTgk2CisjZGVmaW5lIEZTR19QQ0lfSU5UQl9QSU4JNworI2RlZmluZSBGU0dfUENJX0lOVENfUElOCTUKKworLyogQnV0dG9ucyAqLworCisjZGVmaW5lIEZTR19TQl9HUElPCQk0CS8qIHN5bmMgYnV0dG9uICovCisjZGVmaW5lIEZTR19SQl9HUElPCQk5CS8qIHJlc2V0IGJ1dHRvbiAqLworI2RlZmluZSBGU0dfVUJfR1BJTwkJMTAJLyogdXNiIGJ1dHRvbiAqLworCisvKiBMRURzICovCisKKyNkZWZpbmUgRlNHX0xFRF9XTEFOX0JJVAkwCisjZGVmaW5lIEZTR19MRURfV0FOX0JJVAkJMQorI2RlZmluZSBGU0dfTEVEX1NBVEFfQklUCTIKKyNkZWZpbmUgRlNHX0xFRF9VU0JfQklUCQk0CisjZGVmaW5lIEZTR19MRURfUklOR19CSVQJNQorI2RlZmluZSBGU0dfTEVEX1NZTkNfQklUCTcKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWl4cDR4eC9oYXJkd2FyZS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtaXhwNHh4L2hhcmR3YXJlLmgKaW5kZXggNzNlOGRjMy4uZmE3MjNhNiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtaXhwNHh4L2hhcmR3YXJlLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtaXhwNHh4L2hhcmR3YXJlLmgKQEAgLTQ1LDUgKzQ1LDYgQEAKICNpbmNsdWRlICJuc2x1Mi5oIgogI2luY2x1ZGUgIm5hczEwMGQuaCIKICNpbmNsdWRlICJkc21nNjAwLmgiCisjaW5jbHVkZSAiZnNnLmgiCiAKICNlbmRpZiAgLyogX0FTTV9BUkNIX0hBUkRXQVJFX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWl4cDR4eC9pcnFzLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1peHA0eHgvaXJxcy5oCmluZGV4IDExODAxNjAuLjY3NGFmNGEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWl4cDR4eC9pcnFzLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtaXhwNHh4L2lycXMuaApAQCAtMTI4LDQgKzEyOCwxMSBAQAogI2RlZmluZSAgICAgICAgSVJRX0RTTUc2MDBfUENJX0lOVEUgICAgSVJRX0lYUDRYWF9HUElPNwogI2RlZmluZSAgICAgICAgSVJRX0RTTUc2MDBfUENJX0lOVEYgICAgSVJRX0lYUDRYWF9HUElPNgogCisvKgorICogRnJlZWNvbSBGU0ctMyBCb2FyZCBJUlFzCisgKi8KKyNkZWZpbmUgICAgICAgIElSUV9GU0dfUENJX0lOVEEgICAgICAgIElSUV9JWFA0WFhfR1BJTzYKKyNkZWZpbmUgICAgICAgIElSUV9GU0dfUENJX0lOVEIgICAgICAgIElSUV9JWFA0WFhfR1BJTzcKKyNkZWZpbmUgICAgICAgIElSUV9GU0dfUENJX0lOVEMgICAgICAgIElSUV9JWFA0WFhfR1BJTzUKKwogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC9kZWJ1Zy1tYWNyby5TIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2QvZGVidWctbWFjcm8uUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNTVmYjhhCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2QvZGVidWctbWFjcm8uUwpAQCAtMCwwICsxLDIwIEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2QvZGVidWctbWFjcm8uUworICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisqLworCisjaW5jbHVkZSA8YXNtL2FyY2gva2lya3dvb2QuaD4KKworCS5tYWNybwlhZGRydWFydCxyeAorCW1yYwlwMTUsIDAsIFxyeCwgYzEsIGMwCisJdHN0CVxyeCwgIzEJCQkJCUAgTU1VIGVuYWJsZWQ/CisJbGRyZXEJXHJ4LCA9S0lSS1dPT0RfUkVHU19QSFlTX0JBU0UKKwlsZHJuZQlccngsID1LSVJLV09PRF9SRUdTX1ZJUlRfQkFTRQorCW9ycglccngsIFxyeCwgIzB4MDAwMTIwMDAKKwkuZW5kbQorCisjZGVmaW5lIFVBUlRfU0hJRlQJMgorI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS9kZWJ1Zy04MjUwLlM+CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC9kbWEuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL2RtYS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQwYThjMTcKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC9kbWEuaApAQCAtMCwwICsxIEBACisvKiBlbXB0eSAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2QvZW50cnktbWFjcm8uUyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL2VudHJ5LW1hY3JvLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmM2YTQzZAotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL2VudHJ5LW1hY3JvLlMKQEAgLTAsMCArMSw0MCBAQAorLyoKKyAqIGluY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL2VudHJ5LW1hY3JvLlMKKyAqCisgKiBMb3ctbGV2ZWwgSVJRIGhlbHBlciBtYWNyb3MgZm9yIE1hcnZlbGwgS2lya3dvb2QgcGxhdGZvcm1zCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2luY2x1ZGUgPGFzbS9hcmNoL2tpcmt3b29kLmg+CisKKwkubWFjcm8gIGRpc2FibGVfZmlxCisJLmVuZG0KKworCS5tYWNybyAgYXJjaF9yZXRfdG9fdXNlciwgdG1wMSwgdG1wMgorCS5lbmRtCisKKwkubWFjcm8gIGdldF9pcnFucl9wcmVhbWJsZSwgYmFzZSwgdG1wCisJbGRyCVxiYXNlLCA9SVJRX1ZJUlRfQkFTRQorCS5lbmRtCisKKwkubWFjcm8gIGdldF9pcnFucl9hbmRfYmFzZSwgaXJxbnIsIGlycXN0YXQsIGJhc2UsIHRtcAorCUAgY2hlY2sgbG93IGludGVycnVwdHMKKwlsZHIJXGlycXN0YXQsIFtcYmFzZSwgI0lSUV9DQVVTRV9MT1dfT0ZGXQorCWxkcglcdG1wLCBbXGJhc2UsICNJUlFfTUFTS19MT1dfT0ZGXQorCW1vdglcaXJxbnIsICMzMQorCWFuZHMJXGlycXN0YXQsIFxpcnFzdGF0LCBcdG1wCisJYm5lCTEwMDFmCisKKwlAIGlmIG5vIGxvdyBpbnRlcnJ1cHRzIHNldCwgY2hlY2sgaGlnaCBpbnRlcnJ1cHRzCisJbGRyCVxpcnFzdGF0LCBbXGJhc2UsICNJUlFfQ0FVU0VfSElHSF9PRkZdCisJbGRyCVx0bXAsIFtcYmFzZSwgI0lSUV9NQVNLX0hJR0hfT0ZGXQorCW1vdglcaXJxbnIsICM2MworCWFuZHMJXGlycXN0YXQsIFxpcnFzdGF0LCBcdG1wCisKKwlAIGZpbmQgZmlyc3QgYWN0aXZlIGludGVycnVwdCBzb3VyY2UKKzEwMDE6CWNsem5lCVxpcnFzdGF0LCBcaXJxc3RhdAorCXN1Ym5lCVxpcnFuciwgXGlycW5yLCBcaXJxc3RhdAorCS5lbmRtCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC9oYXJkd2FyZS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2QvaGFyZHdhcmUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjk1NzE5Ci0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2QvaGFyZHdhcmUuaApAQCAtMCwwICsxLDIxIEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2QvaGFyZHdhcmUuaAorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKi8KKworI2lmbmRlZiBfX0FTTV9BUkNIX0hBUkRXQVJFX0gKKyNkZWZpbmUgX19BU01fQVJDSF9IQVJEV0FSRV9ICisKKyNpbmNsdWRlICJraXJrd29vZC5oIgorCisjZGVmaW5lIHBjaWJpb3NfYXNzaWduX2FsbF9idXNzZXMoKQkxCisKKyNkZWZpbmUgUENJQklPU19NSU5fSU8JCQkweDAwMDAxMDAwCisjZGVmaW5lIFBDSUJJT1NfTUlOX01FTQkJCTB4MDEwMDAwMDAKKyNkZWZpbmUgUENJTUVNX0JBU0UJCQlLSVJLV09PRF9QQ0lFX01FTV9QSFlTX0JBU0UgLyogbWVtIGJhc2UgZm9yIFZHQSAqLworCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2QvaW8uaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL2lvLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGVmNmU5NQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL2lvLmgKQEAgLTAsMCArMSwyNiBAQAorLyoKKyAqIGluY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL2lvLmgKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaWZuZGVmIF9fQVNNX0FSQ0hfSU9fSAorI2RlZmluZSBfX0FTTV9BUkNIX0lPX0gKKworI2luY2x1ZGUgImtpcmt3b29kLmgiCisKKyNkZWZpbmUgSU9fU1BBQ0VfTElNSVQJCTB4ZmZmZmZmZmYKKworc3RhdGljIGlubGluZSB2b2lkIF9faW9tZW0gKl9faW8odW5zaWduZWQgbG9uZyBhZGRyKQoreworCXJldHVybiAodm9pZCBfX2lvbWVtICopKChhZGRyIC0gS0lSS1dPT0RfUENJRV9JT19QSFlTX0JBU0UpCisJCQkJCSsgS0lSS1dPT0RfUENJRV9JT19WSVJUX0JBU0UpOworfQorCisjZGVmaW5lIF9faW8oYSkJCQlfX2lvKGEpCisjZGVmaW5lIF9fbWVtX3BjaShhKQkJKGEpCisKKworI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC9pcnFzLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC9pcnFzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmU3YjVkYQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL2lycXMuaApAQCAtMCwwICsxLDYzIEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2QvaXJxcy5oCisgKgorICogSVJRIGRlZmluaXRpb25zIGZvciBNYXJ2ZWxsIEtpcmt3b29kIFNvQ3MKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaWZuZGVmIF9fQVNNX0FSQ0hfSVJRU19ICisjZGVmaW5lIF9fQVNNX0FSQ0hfSVJRU19ICisKKyNpbmNsdWRlICJraXJrd29vZC5oIgkvKiBuZWVkIEdQSU9fTUFYICovCisKKy8qCisgKiBMb3cgSW50ZXJydXB0IENvbnRyb2xsZXIKKyAqLworI2RlZmluZSBJUlFfS0lSS1dPT0RfSElHSF9TVU0JMAorI2RlZmluZSBJUlFfS0lSS1dPT0RfQlJJREdFCTEKKyNkZWZpbmUgSVJRX0tJUktXT09EX0hPU1QyQ1BVCTIKKyNkZWZpbmUgSVJRX0tJUktXT09EX0NQVTJIT1NUCTMKKyNkZWZpbmUgSVJRX0tJUktXT09EX1hPUl8wMAk1CisjZGVmaW5lIElSUV9LSVJLV09PRF9YT1JfMDEJNgorI2RlZmluZSBJUlFfS0lSS1dPT0RfWE9SXzEwCTcKKyNkZWZpbmUgSVJRX0tJUktXT09EX1hPUl8xMQk4CisjZGVmaW5lIElSUV9LSVJLV09PRF9QQ0lFCTkKKyNkZWZpbmUgSVJRX0tJUktXT09EX0dFMDBfU1VNCTExCisjZGVmaW5lIElSUV9LSVJLV09PRF9HRTAxX1NVTQkxNQorI2RlZmluZSBJUlFfS0lSS1dPT0RfVVNCCTE5CisjZGVmaW5lIElSUV9LSVJLV09PRF9TQVRBCTIxCisjZGVmaW5lIElSUV9LSVJLV09PRF9DUllQVE8JMjIKKyNkZWZpbmUgSVJRX0tJUktXT09EX1NQSQkyMworI2RlZmluZSBJUlFfS0lSS1dPT0RfSTJTCTI0CisjZGVmaW5lIElSUV9LSVJLV09PRF9UU18wCTI2CisjZGVmaW5lIElSUV9LSVJLV09PRF9TRElPCTI4CisjZGVmaW5lIElSUV9LSVJLV09PRF9UV1NJCTI5CisjZGVmaW5lIElSUV9LSVJLV09PRF9BVkIJMzAKKyNkZWZpbmUgSVJRX0tJUktXT09EX1RETUkJMzEKKworLyoKKyAqIEhpZ2ggSW50ZXJydXB0IENvbnRyb2xsZXIKKyAqLworI2RlZmluZSBJUlFfS0lSS1dPT0RfVUFSVF8wCTMzCisjZGVmaW5lIElSUV9LSVJLV09PRF9VQVJUXzEJMzQKKyNkZWZpbmUgSVJRX0tJUktXT09EX0dQSU9fTE9XXzBfNwkzNQorI2RlZmluZSBJUlFfS0lSS1dPT0RfR1BJT19MT1dfOF8xNQkzNgorI2RlZmluZSBJUlFfS0lSS1dPT0RfR1BJT19MT1dfMTZfMjMJMzcKKyNkZWZpbmUgSVJRX0tJUktXT09EX0dQSU9fTE9XXzI0XzMxCTM4CisjZGVmaW5lIElSUV9LSVJLV09PRF9HUElPX0hJR0hfMF83CTM5CisjZGVmaW5lIElSUV9LSVJLV09PRF9HUElPX0hJR0hfOF8xNQk0MAorI2RlZmluZSBJUlFfS0lSS1dPT0RfR1BJT19ISUdIXzE2XzIzCTQxCisKKy8qCisgKiBLSVJLV09PRCBHZW5lcmFsIFB1cnBvc2UgUGlucworICovCisjZGVmaW5lIElSUV9LSVJLV09PRF9HUElPX1NUQVJUCTY0CisjZGVmaW5lIE5SX0dQSU9fSVJRUwkJR1BJT19NQVgKKworI2RlZmluZSBOUl9JUlFTCQkJKElSUV9LSVJLV09PRF9HUElPX1NUQVJUICsgTlJfR1BJT19JUlFTKQorCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2Qva2lya3dvb2QuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL2tpcmt3b29kLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmIzMWIzMTUKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC9raXJrd29vZC5oCkBAIC0wLDAgKzEsMTAwIEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2Qva2lya3dvb2QuaAorICoKKyAqIEdlbmVyaWMgZGVmaW5pdGlvbnMgZm9yIE1hcnZlbGwgS2lya3dvb2QgU29DIGZsYXZvcnM6CisgKiAgODhGNjE4MCwgODhGNjE5MiBhbmQgODhGNjI4MS4KKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaWZuZGVmIF9fQVNNX0FSQ0hfS0lSS1dPT0RfSAorI2RlZmluZSBfX0FTTV9BUkNIX0tJUktXT09EX0gKKworLyoKKyAqIE1hcnZlbGwgS2lya3dvb2QgYWRkcmVzcyBtYXBzLgorICoKKyAqIHBoeXMKKyAqIGUwMDAwMDAwCVBDSWUgTWVtb3J5IHNwYWNlCisgKiBmMTAwMDAwMAlvbi1jaGlwIHBlcmlwaGVyYWwgcmVnaXN0ZXJzCisgKiBmMjAwMDAwMAlQQ0llIEkvTyBzcGFjZQorICogZjMwMDAwMDAJTkFORCBjb250cm9sbGVyIGFkZHJlc3Mgd2luZG93CisgKgorICogdmlydAkJcGh5cwkJc2l6ZQorICogZmVlMDAwMDAJZjEwMDAwMDAJMU0Jb24tY2hpcCBwZXJpcGhlcmFsIHJlZ2lzdGVycworICogZmVmMDAwMDAJZjIwMDAwMDAJMU0JUENJZSBJL08gc3BhY2UKKyAqLworCisjZGVmaW5lIEtJUktXT09EX05BTkRfTUVNX1BIWVNfQkFTRQkweGYzMDAwMDAwCisjZGVmaW5lIEtJUktXT09EX05BTkRfTUVNX1NJWkUJCVNaXzY0SyAvKiAxSyBpcyBzdWZmaWNpZW50LCBidXQgNjRLCisJCQkJCQkqIGlzIHRoZSBtaW5pbWFsIHdpbmRvdyBzaXplCisJCQkJCQkqLworCisjZGVmaW5lIEtJUktXT09EX1BDSUVfSU9fUEhZU19CQVNFCTB4ZjIwMDAwMDAKKyNkZWZpbmUgS0lSS1dPT0RfUENJRV9JT19WSVJUX0JBU0UJMHhmZWYwMDAwMAorI2RlZmluZSBLSVJLV09PRF9QQ0lFX0lPX0JVU19CQVNFCTB4MDAwMDAwMDAKKyNkZWZpbmUgS0lSS1dPT0RfUENJRV9JT19TSVpFCQlTWl8xTQorCisjZGVmaW5lIEtJUktXT09EX1JFR1NfUEhZU19CQVNFCQkweGYxMDAwMDAwCisjZGVmaW5lIEtJUktXT09EX1JFR1NfVklSVF9CQVNFCQkweGZlZTAwMDAwCisjZGVmaW5lIEtJUktXT09EX1JFR1NfU0laRQkJU1pfMU0KKworI2RlZmluZSBLSVJLV09PRF9QQ0lFX01FTV9QSFlTX0JBU0UJMHhlMDAwMDAwMAorI2RlZmluZSBLSVJLV09PRF9QQ0lFX01FTV9TSVpFCQlTWl8xMjhNCisKKy8qCisgKiBNQlVTIGJyaWRnZSByZWdpc3RlcnMuCisgKi8KKyNkZWZpbmUgQlJJREdFX1ZJUlRfQkFTRQkoS0lSS1dPT0RfUkVHU19WSVJUX0JBU0UgfCAweDIwMDAwKQorI2RlZmluZSAgQ1BVX0NPTlRST0wJCShCUklER0VfVklSVF9CQVNFIHwgMHgwMTA0KQorI2RlZmluZSAgIENQVV9SRVNFVAkJMHgwMDAwMDAwMgorI2RlZmluZSAgUlNUT1VUbl9NQVNLCQkoQlJJREdFX1ZJUlRfQkFTRSB8IDB4MDEwOCkKKyNkZWZpbmUgICBTT0ZUX1JFU0VUX09VVF9FTgkweDAwMDAwMDA0CisjZGVmaW5lICBTWVNURU1fU09GVF9SRVNFVAkoQlJJREdFX1ZJUlRfQkFTRSB8IDB4MDEwYykKKyNkZWZpbmUgICBTT0ZUX1JFU0VUCQkweDAwMDAwMDAxCisjZGVmaW5lICBCUklER0VfQ0FVU0UJCShCUklER0VfVklSVF9CQVNFIHwgMHgwMTEwKQorI2RlZmluZSAgQlJJREdFX01BU0sJCShCUklER0VfVklSVF9CQVNFIHwgMHgwMTE0KQorI2RlZmluZSAgIEJSSURHRV9JTlRfVElNRVIwCTB4MDAwMgorI2RlZmluZSAgIEJSSURHRV9JTlRfVElNRVIxCTB4MDAwNAorI2RlZmluZSAgIEJSSURHRV9JTlRfVElNRVIxX0NMUgkofjB4MDAwNCkKKyNkZWZpbmUgIElSUV9WSVJUX0JBU0UJCShCUklER0VfVklSVF9CQVNFIHwgMHgwMjAwKQorI2RlZmluZSAgIElSUV9DQVVTRV9MT1dfT0ZGCTB4MDAwMAorI2RlZmluZSAgIElSUV9NQVNLX0xPV19PRkYJMHgwMDA0CisjZGVmaW5lICAgSVJRX0NBVVNFX0hJR0hfT0ZGCTB4MDAxMAorI2RlZmluZSAgIElSUV9NQVNLX0hJR0hfT0ZGCTB4MDAxNAorI2RlZmluZSAgVElNRVJfVklSVF9CQVNFCShCUklER0VfVklSVF9CQVNFIHwgMHgwMzAwKQorI2RlZmluZSAgTDJfQ09ORklHX1JFRwkJKEJSSURHRV9WSVJUX0JBU0UgfCAweDAxMjgpCisjZGVmaW5lICAgTDJfV1JJVEVUSFJPVUdICTB4MDAwMDAwMTAKKworLyoKKyAqIFJlZ2lzdGVyIE1hcAorICovCisjZGVmaW5lIEREUl9WSVJUX0JBU0UJCShLSVJLV09PRF9SRUdTX1ZJUlRfQkFTRSB8IDB4MDAwMDApCisjZGVmaW5lICBERFJfV0lORE9XX0NQVV9CQVNFCShERFJfVklSVF9CQVNFIHwgMHgxNTAwKQorCisjZGVmaW5lIERFVl9CVVNfUEhZU19CQVNFCShLSVJLV09PRF9SRUdTX1BIWVNfQkFTRSB8IDB4MTAwMDApCisjZGVmaW5lIERFVl9CVVNfVklSVF9CQVNFCShLSVJLV09PRF9SRUdTX1ZJUlRfQkFTRSB8IDB4MTAwMDApCisjZGVmaW5lICBTQU1QTEVfQVRfUkVTRVQJKERFVl9CVVNfVklSVF9CQVNFIHwgMHgwMDMwKQorI2RlZmluZSAgREVWSUNFX0lECQkoREVWX0JVU19WSVJUX0JBU0UgfCAweDAwMzQpCisjZGVmaW5lICBSVENfUEhZU19CQVNFCQkoREVWX0JVU19QSFlTX0JBU0UgfCAweDAzMDApCisjZGVmaW5lICBTUElfUEhZU19CQVNFCQkoREVWX0JVU19QSFlTX0JBU0UgfCAweDA2MDApCisjZGVmaW5lICBVQVJUMF9QSFlTX0JBU0UJKERFVl9CVVNfUEhZU19CQVNFIHwgMHgyMDAwKQorI2RlZmluZSAgVUFSVDBfVklSVF9CQVNFCShERVZfQlVTX1ZJUlRfQkFTRSB8IDB4MjAwMCkKKyNkZWZpbmUgIFVBUlQxX1BIWVNfQkFTRQkoREVWX0JVU19QSFlTX0JBU0UgfCAweDIxMDApCisjZGVmaW5lICBVQVJUMV9WSVJUX0JBU0UJKERFVl9CVVNfVklSVF9CQVNFIHwgMHgyMTAwKQorCisjZGVmaW5lIFBDSUVfVklSVF9CQVNFCQkoS0lSS1dPT0RfUkVHU19WSVJUX0JBU0UgfCAweDQwMDAwKQorCisjZGVmaW5lIFVTQl9QSFlTX0JBU0UJCShLSVJLV09PRF9SRUdTX1BIWVNfQkFTRSB8IDB4NTAwMDApCisKKyNkZWZpbmUgR0UwMF9QSFlTX0JBU0UJCShLSVJLV09PRF9SRUdTX1BIWVNfQkFTRSB8IDB4NzAwMDApCisjZGVmaW5lIEdFMDFfUEhZU19CQVNFCQkoS0lSS1dPT0RfUkVHU19QSFlTX0JBU0UgfCAweDc0MDAwKQorCisjZGVmaW5lIFNBVEFfUEhZU19CQVNFCQkoS0lSS1dPT0RfUkVHU19QSFlTX0JBU0UgfCAweDgwMDAwKQorCisKKyNkZWZpbmUgR1BJT19NQVgJCTUwCisKKworI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC9tZW1vcnkuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL21lbW9yeS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU1MTA4ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC9tZW1vcnkuaApAQCAtMCwwICsxLDE0IEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2QvbWVtb3J5LmgKKyAqLworCisjaWZuZGVmIF9fQVNNX0FSQ0hfTUVNT1JZX0gKKyNkZWZpbmUgX19BU01fQVJDSF9NRU1PUllfSAorCisjZGVmaW5lIFBIWVNfT0ZGU0VUCQlVTCgweDAwMDAwMDAwKQorCisjZGVmaW5lIF9fdmlydF90b19idXMoeCkJX192aXJ0X3RvX3BoeXMoeCkKKyNkZWZpbmUgX19idXNfdG9fdmlydCh4KQlfX3BoeXNfdG9fdmlydCh4KQorCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2Qvc3lzdGVtLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC9zeXN0ZW0uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZGRlN2UzCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2Qvc3lzdGVtLmgKQEAgLTAsMCArMSwzNyBAQAorLyoKKyAqIGluY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL3N5c3RlbS5oCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2lmbmRlZiBfX0FTTV9BUkNIX1NZU1RFTV9ICisjZGVmaW5lIF9fQVNNX0FSQ0hfU1lTVEVNX0gKKworI2luY2x1ZGUgPGFzbS9hcmNoL2hhcmR3YXJlLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gva2lya3dvb2QuaD4KKworc3RhdGljIGlubGluZSB2b2lkIGFyY2hfaWRsZSh2b2lkKQoreworCWNwdV9kb19pZGxlKCk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBhcmNoX3Jlc2V0KGNoYXIgbW9kZSkKK3sKKwkvKgorCSAqIEVuYWJsZSBzb2Z0IHJlc2V0IHRvIGFzc2VydCBSU1RPVVRuLgorCSAqLworCXdyaXRlbChTT0ZUX1JFU0VUX09VVF9FTiwgUlNUT1VUbl9NQVNLKTsKKworCS8qCisJICogQXNzZXJ0IHNvZnQgcmVzZXQuCisJICovCisJd3JpdGVsKFNPRlRfUkVTRVQsIFNZU1RFTV9TT0ZUX1JFU0VUKTsKKworCXdoaWxlICgxKQorCQk7Cit9CisKKworI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC90aW1leC5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2QvdGltZXguaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MjEyMmUxCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2QvdGltZXguaApAQCAtMCwwICsxLDExIEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2QvdGltZXguaAorICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNkZWZpbmUgQ0xPQ0tfVElDS19SQVRFCQkoMTAwICogSFopCisKKyNkZWZpbmUgS0lSS1dPT0RfVENMSwkJMTY2NjY2NjY3CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC91bmNvbXByZXNzLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC91bmNvbXByZXNzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTkwNjJiNgotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL3VuY29tcHJlc3MuaApAQCAtMCwwICsxLDQ3IEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2QvdW5jb21wcmVzcy5oCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L3NlcmlhbF9yZWcuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9raXJrd29vZC5oPgorCisjZGVmaW5lIFNFUklBTF9CQVNFCSgodW5zaWduZWQgY2hhciAqKVVBUlQwX1BIWVNfQkFTRSkKKworc3RhdGljIHZvaWQgcHV0Yyhjb25zdCBjaGFyIGMpCit7CisJdW5zaWduZWQgY2hhciAqYmFzZSA9IFNFUklBTF9CQVNFOworCWludCBpOworCisJZm9yIChpID0gMDsgaSA8IDB4MTAwMDsgaSsrKSB7CisJCWlmIChiYXNlW1VBUlRfTFNSIDw8IDJdICYgVUFSVF9MU1JfVEhSRSkKKwkJCWJyZWFrOworCQliYXJyaWVyKCk7CisJfQorCisJYmFzZVtVQVJUX1RYIDw8IDJdID0gYzsKK30KKworc3RhdGljIHZvaWQgZmx1c2godm9pZCkKK3sKKwl1bnNpZ25lZCBjaGFyICpiYXNlID0gU0VSSUFMX0JBU0U7CisJdW5zaWduZWQgY2hhciBtYXNrOworCWludCBpOworCisJbWFzayA9IFVBUlRfTFNSX1RFTVQgfCBVQVJUX0xTUl9USFJFOworCisJZm9yIChpID0gMDsgaSA8IDB4MTAwMDsgaSsrKSB7CisJCWlmICgoYmFzZVtVQVJUX0xTUiA8PCAyXSAmIG1hc2spID09IG1hc2spCisJCQlicmVhazsKKwkJYmFycmllcigpOworCX0KK30KKworLyoKKyAqIG5vdGhpbmcgdG8gZG8KKyAqLworI2RlZmluZSBhcmNoX2RlY29tcF9zZXR1cCgpCisjZGVmaW5lIGFyY2hfZGVjb21wX3dkb2coKQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2Qvdm1hbGxvYy5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2Qvdm1hbGxvYy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQxODUyYzYKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC92bWFsbG9jLmgKQEAgLTAsMCArMSw1IEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2Qvdm1hbGxvYy5oCisgKi8KKworI2RlZmluZSBWTUFMTE9DX0VORAkweGZlODAwMDAwCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL2RlYnVnLW1hY3JvLlMgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL2RlYnVnLW1hY3JvLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTg1NTAyZQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvZGVidWctbWFjcm8uUwpAQCAtMCwwICsxLDIwIEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS9kZWJ1Zy1tYWNyby5TCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyovCisKKyNpbmNsdWRlIDxhc20vYXJjaC9sb2tpLmg+CisKKwkubWFjcm8JYWRkcnVhcnQscngKKwltcmMJcDE1LCAwLCBccngsIGMxLCBjMAorCXRzdAlccngsICMxCQkJCQlAIE1NVSBlbmFibGVkPworCWxkcmVxCVxyeCwgPUxPS0lfUkVHU19QSFlTX0JBU0UKKwlsZHJuZQlccngsID1MT0tJX1JFR1NfVklSVF9CQVNFCisJb3JyCVxyeCwgXHJ4LCAjMHgwMDAxMjAwMAorCS5lbmRtCisKKyNkZWZpbmUgVUFSVF9TSElGVAkyCisjaW5jbHVkZSA8YXNtL2hhcmR3YXJlL2RlYnVnLTgyNTAuUz4KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvZG1hLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL2RtYS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQwYThjMTcKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL2RtYS5oCkBAIC0wLDAgKzEgQEAKKy8qIGVtcHR5ICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL2VudHJ5LW1hY3JvLlMgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL2VudHJ5LW1hY3JvLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjkzMjU3YwotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvZW50cnktbWFjcm8uUwpAQCAtMCwwICsxLDMwIEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS9lbnRyeS1tYWNyby5TCisgKgorICogTG93LWxldmVsIElSUSBoZWxwZXIgbWFjcm9zIGZvciBNYXJ2ZWxsIExva2kgKDg4UkM4NDgwKSBwbGF0Zm9ybXMKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaW5jbHVkZSA8YXNtL2FyY2gvbG9raS5oPgorCisJLm1hY3JvICBkaXNhYmxlX2ZpcQorCS5lbmRtCisKKwkubWFjcm8gIGFyY2hfcmV0X3RvX3VzZXIsIHRtcDEsIHRtcDIKKwkuZW5kbQorCisJLm1hY3JvICBnZXRfaXJxbnJfcHJlYW1ibGUsIGJhc2UsIHRtcAorCWxkcglcYmFzZSwgPUlSUV9WSVJUX0JBU0UKKwkuZW5kbQorCisJLm1hY3JvICBnZXRfaXJxbnJfYW5kX2Jhc2UsIGlycW5yLCBpcnFzdGF0LCBiYXNlLCB0bXAKKwlsZHIJXGlycXN0YXQsIFtcYmFzZSwgI0lSUV9DQVVTRV9PRkZdCisJbGRyCVx0bXAsIFtcYmFzZSwgI0lSUV9NQVNLX09GRl0KKwltb3YJXGlycW5yLCAjMAorCWFuZHMJXGlycXN0YXQsIFxpcnFzdGF0LCBcdG1wCisJY2x6bmUJXGlycW5yLCBcaXJxc3RhdAorCXJzYm5lCVxpcnFuciwgXGlycW5yLCAjMzEKKwkuZW5kbQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS9oYXJkd2FyZS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS9oYXJkd2FyZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY2NWIwMWMKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL2hhcmR3YXJlLmgKQEAgLTAsMCArMSwxNSBAQAorLyoKKyAqIGluY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvaGFyZHdhcmUuaAorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKi8KKworI2lmbmRlZiBfX0FTTV9BUkNIX0hBUkRXQVJFX0gKKyNkZWZpbmUgX19BU01fQVJDSF9IQVJEV0FSRV9ICisKKyNpbmNsdWRlICJsb2tpLmgiCisKKworI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL2lvLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL2lvLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTc0MThhOQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvaW8uaApAQCAtMCwwICsxLDI2IEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS9pby5oCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2lmbmRlZiBfX0FTTV9BUkNIX0lPX0gKKyNkZWZpbmUgX19BU01fQVJDSF9JT19ICisKKyNpbmNsdWRlICJsb2tpLmgiCisKKyNkZWZpbmUgSU9fU1BBQ0VfTElNSVQJCTB4ZmZmZmZmZmYKKworc3RhdGljIGlubGluZSB2b2lkIF9faW9tZW0gKl9faW8odW5zaWduZWQgbG9uZyBhZGRyKQoreworCXJldHVybiAodm9pZCBfX2lvbWVtICopKChhZGRyIC0gTE9LSV9QQ0lFMF9JT19QSFlTX0JBU0UpCisJCQkJCSsgTE9LSV9QQ0lFMF9JT19WSVJUX0JBU0UpOworfQorCisjZGVmaW5lIF9faW8oYSkJCQlfX2lvKGEpCisjZGVmaW5lIF9fbWVtX3BjaShhKQkJKGEpCisKKworI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL2lycXMuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvaXJxcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdlNDk3MTQKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL2lycXMuaApAQCAtMCwwICsxLDU4IEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS9pcnFzLmgKKyAqCisgKiBJUlEgZGVmaW5pdGlvbnMgZm9yIE1hcnZlbGwgTG9raSAoODhSQzg0ODApIFNvQ3MKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaWZuZGVmIF9fQVNNX0FSQ0hfSVJRU19ICisjZGVmaW5lIF9fQVNNX0FSQ0hfSVJRU19ICisKKyNpbmNsdWRlICJsb2tpLmgiCS8qIG5lZWQgR1BJT19NQVggKi8KKworLyoKKyAqIEludGVycnVwdCBDb250cm9sbGVyCisgKi8KKyNkZWZpbmUgSVJRX0xPS0lfUENJRV9BX0NQVV9EUkJMCTAKKyNkZWZpbmUgSVJRX0xPS0lfQ1BVX1BDSUVfQV9EUkJMCTEKKyNkZWZpbmUgSVJRX0xPS0lfUENJRV9CX0NQVV9EUkJMCTIKKyNkZWZpbmUgSVJRX0xPS0lfQ1BVX1BDSUVfQl9EUkJMCTMKKyNkZWZpbmUgSVJRX0xPS0lfQ09NX0FfRVJSCQk2CisjZGVmaW5lIElSUV9MT0tJX0NPTV9BX0lOCQk3CisjZGVmaW5lIElSUV9MT0tJX0NPTV9BX09VVAkJOAorI2RlZmluZSBJUlFfTE9LSV9DT01fQl9FUlIJCTkKKyNkZWZpbmUgSVJRX0xPS0lfQ09NX0JfSU4JCTEwCisjZGVmaW5lIElSUV9MT0tJX0NPTV9CX09VVAkJMTEKKyNkZWZpbmUgSVJRX0xPS0lfRE1BX0EJCQkxMgorI2RlZmluZSBJUlFfTE9LSV9ETUFfQgkJCTEzCisjZGVmaW5lIElSUV9MT0tJX1NBU19BCQkJMTQKKyNkZWZpbmUgSVJRX0xPS0lfU0FTX0IJCQkxNQorI2RlZmluZSBJUlFfTE9LSV9ERFIJCQkxNgorI2RlZmluZSBJUlFfTE9LSV9YT1IJCQkxNworI2RlZmluZSBJUlFfTE9LSV9CUklER0UJCQkxOAorI2RlZmluZSBJUlFfTE9LSV9QQ0lFX0FfRVJSCQkyMAorI2RlZmluZSBJUlFfTE9LSV9QQ0lFX0FfSU5UCQkyMQorI2RlZmluZSBJUlFfTE9LSV9QQ0lFX0JfRVJSCQkyMgorI2RlZmluZSBJUlFfTE9LSV9QQ0lFX0JfSU5UCQkyMworI2RlZmluZSBJUlFfTE9LSV9HQkVfQV9JTlQJCTI0CisjZGVmaW5lIElSUV9MT0tJX0dCRV9CX0lOVAkJMjUKKyNkZWZpbmUgSVJRX0xPS0lfREVWX0VSUgkJMjYKKyNkZWZpbmUgSVJRX0xPS0lfVUFSVDAJCQkyNworI2RlZmluZSBJUlFfTE9LSV9VQVJUMQkJCTI4CisjZGVmaW5lIElSUV9MT0tJX1RXU0kJCQkyOQorI2RlZmluZSBJUlFfTE9LSV9HUElPXzIzXzAJCTMwCisjZGVmaW5lIElSUV9MT0tJX0dQSU9fMjVfMjQJCTMxCisKKy8qCisgKiBMb2tpIEdlbmVyYWwgUHVycG9zZSBQaW5zCisgKi8KKyNkZWZpbmUgSVJRX0xPS0lfR1BJT19TVEFSVAkzMgorI2RlZmluZSBOUl9HUElPX0lSUVMJCUdQSU9fTUFYCisKKyNkZWZpbmUgTlJfSVJRUwkJCShJUlFfTE9LSV9HUElPX1NUQVJUICsgTlJfR1BJT19JUlFTKQorCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS9sb2tpLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL2xva2kuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZGQwNWVlCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS9sb2tpLmgKQEAgLTAsMCArMSw5NyBAQAorLyoKKyAqIGluY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvbG9raS5oCisgKgorICogR2VuZXJpYyBkZWZpbml0aW9ucyBmb3IgTWFydmVsbCBMb2tpICg4OFJDODQ4MCkgU29DIGZsYXZvcnMKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaWZuZGVmIF9fQVNNX0FSQ0hfTE9LSV9ICisjZGVmaW5lIF9fQVNNX0FSQ0hfTE9LSV9ICisKKy8qCisgKiBNYXJ2ZWxsIExva2kgKDg4UkM4NDgwKSBhZGRyZXNzIG1hcHMuCisgKgorICogcGh5cworICogZDAwMDAwMDAJb24tY2hpcCBwZXJpcGhlcmFsIHJlZ2lzdGVycworICogZTAwMDAwMDAJUENJZSAwIE1lbW9yeSBzcGFjZQorICogZTgwMDAwMDAJUENJZSAxIE1lbW9yeSBzcGFjZQorICogZjAwMDAwMDAJUENJZSAwIEkvTyBzcGFjZQorICogZjAxMDAwMDAJUENJZSAxIEkvTyBzcGFjZQorICoKKyAqIHZpcnQJCXBoeXMJCXNpemUKKyAqIGZlZDAwMDAwCWQwMDAwMDAwCTFNCW9uLWNoaXAgcGVyaXBoZXJhbCByZWdpc3RlcnMKKyAqIGZlZTAwMDAwCWYwMDAwMDAwCTY0SwlQQ0llIDAgSS9PIHNwYWNlCisgKiBmZWYwMDAwMAlmMDEwMDAwMAk2NEsJUENJZSAxIEkvTyBzcGFjZQorICovCisKKyNkZWZpbmUgTE9LSV9SRUdTX1BIWVNfQkFTRQkJMHhkMDAwMDAwMAorI2RlZmluZSBMT0tJX1JFR1NfVklSVF9CQVNFCQkweGZlZDAwMDAwCisjZGVmaW5lIExPS0lfUkVHU19TSVpFCQkJU1pfMU0KKworI2RlZmluZSBMT0tJX1BDSUUwX0lPX1BIWVNfQkFTRQkJMHhmMDAwMDAwMAorI2RlZmluZSBMT0tJX1BDSUUwX0lPX1ZJUlRfQkFTRQkJMHhmZWUwMDAwMAorI2RlZmluZSBMT0tJX1BDSUUwX0lPX0JVU19CQVNFCQkweDAwMDAwMDAwCisjZGVmaW5lIExPS0lfUENJRTBfSU9fU0laRQkJU1pfNjRLCisKKyNkZWZpbmUgTE9LSV9QQ0lFMV9JT19QSFlTX0JBU0UJCTB4ZjAxMDAwMDAKKyNkZWZpbmUgTE9LSV9QQ0lFMV9JT19WSVJUX0JBU0UJCTB4ZmVmMDAwMDAKKyNkZWZpbmUgTE9LSV9QQ0lFMV9JT19CVVNfQkFTRQkJMHgwMDAwMDAwMAorI2RlZmluZSBMT0tJX1BDSUUxX0lPX1NJWkUJCVNaXzY0SworCisjZGVmaW5lIExPS0lfUENJRTBfTUVNX1BIWVNfQkFTRQkweGUwMDAwMDAwCisjZGVmaW5lIExPS0lfUENJRTBfTUVNX1NJWkUJCVNaXzEyOE0KKworI2RlZmluZSBMT0tJX1BDSUUxX01FTV9QSFlTX0JBU0UJMHhlODAwMDAwMAorI2RlZmluZSBMT0tJX1BDSUUxX01FTV9TSVpFCQlTWl8xMjhNCisKKy8qCisgKiBSZWdpc3RlciBNYXAKKyAqLworI2RlZmluZSBERVZfQlVTX1BIWVNfQkFTRQkoTE9LSV9SRUdTX1BIWVNfQkFTRSB8IDB4MTAwMDApCisjZGVmaW5lIERFVl9CVVNfVklSVF9CQVNFCShMT0tJX1JFR1NfVklSVF9CQVNFIHwgMHgxMDAwMCkKKyNkZWZpbmUgIFVBUlQwX1BIWVNfQkFTRQkoREVWX0JVU19QSFlTX0JBU0UgfCAweDIwMDApCisjZGVmaW5lICBVQVJUMF9WSVJUX0JBU0UJKERFVl9CVVNfVklSVF9CQVNFIHwgMHgyMDAwKQorI2RlZmluZSAgVUFSVDFfUEhZU19CQVNFCShERVZfQlVTX1BIWVNfQkFTRSB8IDB4MjEwMCkKKyNkZWZpbmUgIFVBUlQxX1ZJUlRfQkFTRQkoREVWX0JVU19WSVJUX0JBU0UgfCAweDIxMDApCisKKyNkZWZpbmUgQlJJREdFX1ZJUlRfQkFTRQkoTE9LSV9SRUdTX1ZJUlRfQkFTRSB8IDB4MjAwMDApCisjZGVmaW5lICBCUklER0VfUkVHKHgpCQkoQlJJREdFX1ZJUlRfQkFTRSB8ICh4KSkKKyNkZWZpbmUgIFJTVE9VVG5fTUFTSwkJKEJSSURHRV9WSVJUX0JBU0UgfCAweDAxMDgpCisjZGVmaW5lICAgU09GVF9SRVNFVF9PVVRfRU4JMHgwMDAwMDAwNAorI2RlZmluZSAgU1lTVEVNX1NPRlRfUkVTRVQJKEJSSURHRV9WSVJUX0JBU0UgfCAweDAxMGMpCisjZGVmaW5lICAgU09GVF9SRVNFVAkJMHgwMDAwMDAwMQorI2RlZmluZSAgQlJJREdFX0NBVVNFCQkoQlJJREdFX1ZJUlRfQkFTRSB8IDB4MDExMCkKKyNkZWZpbmUgIEJSSURHRV9NQVNLCQkoQlJJREdFX1ZJUlRfQkFTRSB8IDB4MDExNCkKKyNkZWZpbmUgICBCUklER0VfSU5UX1RJTUVSMAkweDAwMDIKKyNkZWZpbmUgICBCUklER0VfSU5UX1RJTUVSMQkweDAwMDQKKyNkZWZpbmUgICBCUklER0VfSU5UX1RJTUVSMV9DTFIJMHgwMDA0CisjZGVmaW5lICBJUlFfVklSVF9CQVNFCQkoQlJJREdFX1ZJUlRfQkFTRSB8IDB4MDIwMCkKKyNkZWZpbmUgICBJUlFfQ0FVU0VfT0ZGCQkweDAwMDAKKyNkZWZpbmUgICBJUlFfTUFTS19PRkYJCTB4MDAwNAorI2RlZmluZSAgVElNRVJfVklSVF9CQVNFCShCUklER0VfVklSVF9CQVNFIHwgMHgwMzAwKQorCisjZGVmaW5lIFBDSUUwX1ZJUlRfQkFTRQkJKExPS0lfUkVHU19WSVJUX0JBU0UgfCAweDMwMDAwKQorCisjZGVmaW5lIFBDSUUxX1ZJUlRfQkFTRQkJKExPS0lfUkVHU19WSVJUX0JBU0UgfCAweDQwMDAwKQorCisjZGVmaW5lIFNBUzBfUEhZU19CQVNFCQkoTE9LSV9SRUdTX1BIWVNfQkFTRSB8IDB4ODAwMDApCisKKyNkZWZpbmUgU0FTMV9QSFlTX0JBU0UJCShMT0tJX1JFR1NfUEhZU19CQVNFIHwgMHg5MDAwMCkKKworI2RlZmluZSBHRTBfUEhZU19CQVNFCQkoTE9LSV9SRUdTX1BIWVNfQkFTRSB8IDB4YTAwMDApCisjZGVmaW5lIEdFMF9WSVJUX0JBU0UJCShMT0tJX1JFR1NfVklSVF9CQVNFIHwgMHhhMDAwMCkKKworI2RlZmluZSBHRTFfUEhZU19CQVNFCQkoTE9LSV9SRUdTX1BIWVNfQkFTRSB8IDB4YjAwMDApCisjZGVmaW5lIEdFMV9WSVJUX0JBU0UJCShMT0tJX1JFR1NfVklSVF9CQVNFIHwgMHhiMDAwMCkKKworI2RlZmluZSBERFJfVklSVF9CQVNFCQkoTE9LSV9SRUdTX1ZJUlRfQkFTRSB8IDB4ZjAwMDApCisjZGVmaW5lIEREUl9SRUcoeCkJCShERFJfVklSVF9CQVNFIHwgKHgpKQorCisKKyNkZWZpbmUgR1BJT19NQVgJCTgKKworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvbWVtb3J5LmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL21lbW9yeS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgzNTEwMWUKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL21lbW9yeS5oCkBAIC0wLDAgKzEsMTQgQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL21lbW9yeS5oCisgKi8KKworI2lmbmRlZiBfX0FTTV9BUkNIX01FTU9SWV9ICisjZGVmaW5lIF9fQVNNX0FSQ0hfTUVNT1JZX0gKKworI2RlZmluZSBQSFlTX09GRlNFVAkJVUwoMHgwMDAwMDAwMCkKKworI2RlZmluZSBfX3ZpcnRfdG9fYnVzKHgpCV9fdmlydF90b19waHlzKHgpCisjZGVmaW5lIF9fYnVzX3RvX3ZpcnQoeCkJX19waHlzX3RvX3ZpcnQoeCkKKworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvc3lzdGVtLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL3N5c3RlbS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEzNTY4YWMKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL3N5c3RlbS5oCkBAIC0wLDAgKzEsMzcgQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL3N5c3RlbS5oCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2lmbmRlZiBfX0FTTV9BUkNIX1NZU1RFTV9ICisjZGVmaW5lIF9fQVNNX0FSQ0hfU1lTVEVNX0gKKworI2luY2x1ZGUgPGFzbS9hcmNoL2hhcmR3YXJlLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvbG9raS5oPgorCitzdGF0aWMgaW5saW5lIHZvaWQgYXJjaF9pZGxlKHZvaWQpCit7CisJY3B1X2RvX2lkbGUoKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGFyY2hfcmVzZXQoY2hhciBtb2RlKQoreworCS8qCisJICogRW5hYmxlIHNvZnQgcmVzZXQgdG8gYXNzZXJ0IFJTVE9VVG4uCisJICovCisJd3JpdGVsKFNPRlRfUkVTRVRfT1VUX0VOLCBSU1RPVVRuX01BU0spOworCisJLyoKKwkgKiBBc3NlcnQgc29mdCByZXNldC4KKwkgKi8KKwl3cml0ZWwoU09GVF9SRVNFVCwgU1lTVEVNX1NPRlRfUkVTRVQpOworCisJd2hpbGUgKDEpCisJCTsKK30KKworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvdGltZXguaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvdGltZXguaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NDAwMTRmCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS90aW1leC5oCkBAIC0wLDAgKzEsMTEgQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL3RpbWV4LmgKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjZGVmaW5lIENMT0NLX1RJQ0tfUkFURQkJKDEwMCAqIEhaKQorCisjZGVmaW5lIExPS0lfVENMSwkJMTgwMDAwMDAwCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL3VuY29tcHJlc3MuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvdW5jb21wcmVzcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg5YTBjZjgKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL3VuY29tcHJlc3MuaApAQCAtMCwwICsxLDQ3IEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS91bmNvbXByZXNzLmgKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaW5jbHVkZSA8bGludXgvc2VyaWFsX3JlZy5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2xva2kuaD4KKworI2RlZmluZSBTRVJJQUxfQkFTRQkoKHVuc2lnbmVkIGNoYXIgKilVQVJUMF9QSFlTX0JBU0UpCisKK3N0YXRpYyB2b2lkIHB1dGMoY29uc3QgY2hhciBjKQoreworCXVuc2lnbmVkIGNoYXIgKmJhc2UgPSBTRVJJQUxfQkFTRTsKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCAweDEwMDA7IGkrKykgeworCQlpZiAoYmFzZVtVQVJUX0xTUiA8PCAyXSAmIFVBUlRfTFNSX1RIUkUpCisJCQlicmVhazsKKwkJYmFycmllcigpOworCX0KKworCWJhc2VbVUFSVF9UWCA8PCAyXSA9IGM7Cit9CisKK3N0YXRpYyB2b2lkIGZsdXNoKHZvaWQpCit7CisJdW5zaWduZWQgY2hhciAqYmFzZSA9IFNFUklBTF9CQVNFOworCXVuc2lnbmVkIGNoYXIgbWFzazsKKwlpbnQgaTsKKworCW1hc2sgPSBVQVJUX0xTUl9URU1UIHwgVUFSVF9MU1JfVEhSRTsKKworCWZvciAoaSA9IDA7IGkgPCAweDEwMDA7IGkrKykgeworCQlpZiAoKGJhc2VbVUFSVF9MU1IgPDwgMl0gJiBtYXNrKSA9PSBtYXNrKQorCQkJYnJlYWs7CisJCWJhcnJpZXIoKTsKKwl9Cit9CisKKy8qCisgKiBub3RoaW5nIHRvIGRvCisgKi8KKyNkZWZpbmUgYXJjaF9kZWNvbXBfc2V0dXAoKQorI2RlZmluZSBhcmNoX2RlY29tcF93ZG9nKCkKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvdm1hbGxvYy5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS92bWFsbG9jLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjViZTA2MgotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvdm1hbGxvYy5oCkBAIC0wLDAgKzEsNSBAQAorLyoKKyAqIGluY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvdm1hbGxvYy5oCisgKi8KKworI2RlZmluZSBWTUFMTE9DX0VORAkweGZlODAwMDAwCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tc20vaXJxcy5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXNtL2lycXMuaAppbmRleCA1NjU0MzBjLi5lNjJhMTA4IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tc20vaXJxcy5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW1zbS9pcnFzLmgKQEAgLTE1LDYgKzE1LDcgQEAKICAqLwogCiAjaWZuZGVmIF9fQVNNX0FSQ0hfTVNNX0lSUVNfSAorI2RlZmluZSBfX0FTTV9BUkNIX01TTV9JUlFTX0gKIAogLyogTVNNIEFSTTExIEludGVycnVwdCBOdW1iZXJzICovCiAvKiBTZWUgODAtVkUxMTMtMSBBLCBwcDIxOS0yMjEgICAgICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tc20vdGltZXguaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW1zbS90aW1leC5oCmluZGV4IDE1NGIyM2YuLjg3MjQ0ODcgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW1zbS90aW1leC5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW1zbS90aW1leC5oCkBAIC0xNCw2ICsxNCw3IEBACiAgKi8KIAogI2lmbmRlZiBfX0FTTV9BUkNIX01TTV9USU1FWF9ICisjZGVmaW5lIF9fQVNNX0FSQ0hfTVNNX1RJTUVYX0gKIAogI2RlZmluZSBDTE9DS19USUNLX1JBVEUJCTEwMDAwMDAKIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC9kZWJ1Zy1tYWNyby5TIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC9kZWJ1Zy1tYWNyby5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQwNTk1YmQKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL2RlYnVnLW1hY3JvLlMKQEAgLTAsMCArMSwyMCBAQAorLyoKKyAqIGluY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvZGVidWctbWFjcm8uUworICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisqLworCisjaW5jbHVkZSA8YXNtL2FyY2gvbXY3OHh4MC5oPgorCisJLm1hY3JvCWFkZHJ1YXJ0LHJ4CisJbXJjCXAxNSwgMCwgXHJ4LCBjMSwgYzAKKwl0c3QJXHJ4LCAjMQkJCQkJQCBNTVUgZW5hYmxlZD8KKwlsZHJlcQlccngsID1NVjc4WFgwX1JFR1NfUEhZU19CQVNFCisJbGRybmUJXHJ4LCA9TVY3OFhYMF9SRUdTX1ZJUlRfQkFTRQorCW9ycglccngsIFxyeCwgIzB4MDAwMTIwMDAKKwkuZW5kbQorCisjZGVmaW5lIFVBUlRfU0hJRlQJMgorI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS9kZWJ1Zy04MjUwLlM+CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL2RtYS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC9kbWEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MGE4YzE3Ci0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC9kbWEuaApAQCAtMCwwICsxIEBACisvKiBlbXB0eSAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC9lbnRyeS1tYWNyby5TIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC9lbnRyeS1tYWNyby5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU5YTYwNmIKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL2VudHJ5LW1hY3JvLlMKQEAgLTAsMCArMSwzOSBAQAorLyoKKyAqIGluY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvZW50cnktbWFjcm8uUworICoKKyAqIExvdy1sZXZlbCBJUlEgaGVscGVyIG1hY3JvcyBmb3IgTWFydmVsbCBNVjc4eHgwIHBsYXRmb3JtcworICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpbmNsdWRlIDxhc20vYXJjaC9tdjc4eHgwLmg+CisKKwkubWFjcm8gIGRpc2FibGVfZmlxCisJLmVuZG0KKworCS5tYWNybyAgYXJjaF9yZXRfdG9fdXNlciwgdG1wMSwgdG1wMgorCS5lbmRtCisKKwkubWFjcm8gIGdldF9pcnFucl9wcmVhbWJsZSwgYmFzZSwgdG1wCisJbGRyCVxiYXNlLCA9SVJRX1ZJUlRfQkFTRQorCS5lbmRtCisKKwkubWFjcm8gIGdldF9pcnFucl9hbmRfYmFzZSwgaXJxbnIsIGlycXN0YXQsIGJhc2UsIHRtcAorCUAgY2hlY2sgbG93IGludGVycnVwdHMKKwlsZHIJXGlycXN0YXQsIFtcYmFzZSwgI0lSUV9DQVVTRV9MT1dfT0ZGXQorCWxkcglcdG1wLCBbXGJhc2UsICNJUlFfTUFTS19MT1dfT0ZGXQorCW1vdglcaXJxbnIsICMzMQorCWFuZHMJXGlycXN0YXQsIFxpcnFzdGF0LCBcdG1wCisKKwlAIGlmIG5vIGxvdyBpbnRlcnJ1cHRzIHNldCwgY2hlY2sgaGlnaCBpbnRlcnJ1cHRzCisJbGRyZXEJXGlycXN0YXQsIFtcYmFzZSwgI0lSUV9DQVVTRV9ISUdIX09GRl0KKwlsZHJlcQlcdG1wLCBbXGJhc2UsICNJUlFfTUFTS19ISUdIX09GRl0KKwltb3ZlcQlcaXJxbnIsICM2MworCWFuZGVxcwlcaXJxc3RhdCwgXGlycXN0YXQsIFx0bXAKKworCUAgZmluZCBmaXJzdCBhY3RpdmUgaW50ZXJydXB0IHNvdXJjZQorCWNsem5lCVxpcnFzdGF0LCBcaXJxc3RhdAorCXN1Ym5lCVxpcnFuciwgXGlycW5yLCBcaXJxc3RhdAorCS5lbmRtCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL2hhcmR3YXJlLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL2hhcmR3YXJlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGUxNzkyNjAKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL2hhcmR3YXJlLmgKQEAgLTAsMCArMSwyMSBAQAorLyoKKyAqIGluY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvaGFyZHdhcmUuaAorICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpZm5kZWYgX19BU01fQVJDSF9IQVJEV0FSRV9ICisjZGVmaW5lIF9fQVNNX0FSQ0hfSEFSRFdBUkVfSAorCisjaW5jbHVkZSAibXY3OHh4MC5oIgorCisjZGVmaW5lIHBjaWJpb3NfYXNzaWduX2FsbF9idXNzZXMoKQkxCisKKyNkZWZpbmUgUENJQklPU19NSU5fSU8JCQkweDAwMDAxMDAwCisjZGVmaW5lIFBDSUJJT1NfTUlOX01FTQkJCTB4MDEwMDAwMDAKKyNkZWZpbmUgUENJTUVNX0JBU0UJCQlNVjc4WFgwX1BDSUVfTUVNX1BIWVNfQkFTRSAvKiBtZW0gYmFzZSBmb3IgVkdBICovCisKKworI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL2lvLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL2lvLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDE1ZDRjOQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvaW8uaApAQCAtMCwwICsxLDI2IEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC9pby5oCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2lmbmRlZiBfX0FTTV9BUkNIX0lPX0gKKyNkZWZpbmUgX19BU01fQVJDSF9JT19ICisKKyNpbmNsdWRlICJtdjc4eHgwLmgiCisKKyNkZWZpbmUgSU9fU1BBQ0VfTElNSVQJCTB4ZmZmZmZmZmYKKworc3RhdGljIGlubGluZSB2b2lkIF9faW9tZW0gKl9faW8odW5zaWduZWQgbG9uZyBhZGRyKQoreworCXJldHVybiAodm9pZCBfX2lvbWVtICopKChhZGRyIC0gTVY3OFhYMF9QQ0lFX0lPX1BIWVNfQkFTRSgwKSkKKwkJCQkJKyBNVjc4WFgwX1BDSUVfSU9fVklSVF9CQVNFKDApKTsKK30KKworI2RlZmluZSBfX2lvKGEpCQkJX19pbyhhKQorI2RlZmluZSBfX21lbV9wY2koYSkJCShhKQorCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC9pcnFzLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL2lycXMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NTkzMDQ1Ci0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC9pcnFzLmgKQEAgLTAsMCArMSw5MSBAQAorLyoKKyAqIGluY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvaXJxcy5oCisgKgorICogSVJRIGRlZmluaXRpb25zIGZvciBNYXJ2ZWxsIE1WNzh4eDAgU29DcworICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpZm5kZWYgX19BU01fQVJDSF9JUlFTX0gKKyNkZWZpbmUgX19BU01fQVJDSF9JUlFTX0gKKworI2luY2x1ZGUgIm12Nzh4eDAuaCIJLyogbmVlZCBHUElPX01BWCAqLworCisvKgorICogTVY3OHh4MCBMb3cgSW50ZXJydXB0IENvbnRyb2xsZXIKKyAqLworI2RlZmluZSBJUlFfTVY3OFhYMF9FUlIJCTAKKyNkZWZpbmUgSVJRX01WNzhYWDBfU1BJCQkxCisjZGVmaW5lIElSUV9NVjc4WFgwX0kyQ18wCTIKKyNkZWZpbmUgSVJRX01WNzhYWDBfSTJDXzEJMworI2RlZmluZSBJUlFfTVY3OFhYMF9JRE1BXzAJNAorI2RlZmluZSBJUlFfTVY3OFhYMF9JRE1BXzEJNQorI2RlZmluZSBJUlFfTVY3OFhYMF9JRE1BXzIJNgorI2RlZmluZSBJUlFfTVY3OFhYMF9JRE1BXzMJNworI2RlZmluZSBJUlFfTVY3OFhYMF9USU1FUl8wCTgKKyNkZWZpbmUgSVJRX01WNzhYWDBfVElNRVJfMQk5CisjZGVmaW5lIElSUV9NVjc4WFgwX1RJTUVSXzIJMTAKKyNkZWZpbmUgSVJRX01WNzhYWDBfVElNRVJfMwkxMQorI2RlZmluZSBJUlFfTVY3OFhYMF9VQVJUXzAJMTIKKyNkZWZpbmUgSVJRX01WNzhYWDBfVUFSVF8xCTEzCisjZGVmaW5lIElSUV9NVjc4WFgwX1VBUlRfMgkxNAorI2RlZmluZSBJUlFfTVY3OFhYMF9VQVJUXzMJMTUKKyNkZWZpbmUgSVJRX01WNzhYWDBfVVNCXzAJMTYKKyNkZWZpbmUgSVJRX01WNzhYWDBfVVNCXzEJMTcKKyNkZWZpbmUgSVJRX01WNzhYWDBfVVNCXzIJMTgKKyNkZWZpbmUgSVJRX01WNzhYWDBfQ1JZUFRPCTE5CisjZGVmaW5lIElSUV9NVjc4WFgwX1NESU9fMAkyMAorI2RlZmluZSBJUlFfTVY3OFhYMF9TRElPXzEJMjEKKyNkZWZpbmUgSVJRX01WNzhYWDBfWE9SXzAJMjIKKyNkZWZpbmUgSVJRX01WNzhYWDBfWE9SXzEJMjMKKyNkZWZpbmUgSVJRX01WNzhYWDBfSTJTXzAJMjQKKyNkZWZpbmUgSVJRX01WNzhYWDBfSTJTXzEJMjUKKyNkZWZpbmUgSVJRX01WNzhYWDBfU0FUQQkyNgorI2RlZmluZSBJUlFfTVY3OFhYMF9URE1JCTI3CisKKy8qCisgKiBNVjc4eHgwIEhpZ2ggSW50ZXJydXB0IENvbnRyb2xsZXIKKyAqLworI2RlZmluZSBJUlFfTVY3OFhYMF9QQ0lFXzAwCTMyCisjZGVmaW5lIElSUV9NVjc4WFgwX1BDSUVfMDEJMzMKKyNkZWZpbmUgSVJRX01WNzhYWDBfUENJRV8wMgkzNAorI2RlZmluZSBJUlFfTVY3OFhYMF9QQ0lFXzAzCTM1CisjZGVmaW5lIElSUV9NVjc4WFgwX1BDSUVfMTAJMzYKKyNkZWZpbmUgSVJRX01WNzhYWDBfUENJRV8xMQkzNworI2RlZmluZSBJUlFfTVY3OFhYMF9QQ0lFXzEyCTM4CisjZGVmaW5lIElSUV9NVjc4WFgwX1BDSUVfMTMJMzkKKyNkZWZpbmUgSVJRX01WNzhYWDBfR0UwMF9TVU0JNDAKKyNkZWZpbmUgSVJRX01WNzhYWDBfR0UwMF9SWAk0MQorI2RlZmluZSBJUlFfTVY3OFhYMF9HRTAwX1RYCTQyCisjZGVmaW5lIElSUV9NVjc4WFgwX0dFMDBfTUlTQwk0MworI2RlZmluZSBJUlFfTVY3OFhYMF9HRTAxX1NVTQk0NAorI2RlZmluZSBJUlFfTVY3OFhYMF9HRTAxX1JYCTQ1CisjZGVmaW5lIElSUV9NVjc4WFgwX0dFMDFfVFgJNDYKKyNkZWZpbmUgSVJRX01WNzhYWDBfR0UwMV9NSVNDCTQ3CisjZGVmaW5lIElSUV9NVjc4WFgwX0dFMTBfU1VNCTQ4CisjZGVmaW5lIElSUV9NVjc4WFgwX0dFMTBfUlgJNDkKKyNkZWZpbmUgSVJRX01WNzhYWDBfR0UxMF9UWAk1MAorI2RlZmluZSBJUlFfTVY3OFhYMF9HRTEwX01JU0MJNTEKKyNkZWZpbmUgSVJRX01WNzhYWDBfR0UxMV9TVU0JNTIKKyNkZWZpbmUgSVJRX01WNzhYWDBfR0UxMV9SWAk1MworI2RlZmluZSBJUlFfTVY3OFhYMF9HRTExX1RYCTU0CisjZGVmaW5lIElSUV9NVjc4WFgwX0dFMTFfTUlTQwk1NQorI2RlZmluZSBJUlFfTVY3OFhYMF9HUElPXzBfNwk1NgorI2RlZmluZSBJUlFfTVY3OFhYMF9HUElPXzhfMTUJNTcKKyNkZWZpbmUgSVJRX01WNzhYWDBfR1BJT18xNl8yMwk1OAorI2RlZmluZSBJUlFfTVY3OFhYMF9HUElPXzI0XzMxCTU5CisjZGVmaW5lIElSUV9NVjc4WFgwX0RCX0lOCTYwCisjZGVmaW5lIElSUV9NVjc4WFgwX0RCX09VVAk2MQorCisvKgorICogTVY3OFhYMCBHZW5lcmFsIFB1cnBvc2UgUGlucworICovCisjZGVmaW5lIElSUV9NVjc4WFgwX0dQSU9fU1RBUlQJNjQKKyNkZWZpbmUgTlJfR1BJT19JUlFTCQlHUElPX01BWAorCisjZGVmaW5lIE5SX0lSUVMJCQkoSVJRX01WNzhYWDBfR1BJT19TVEFSVCArIE5SX0dQSU9fSVJRUykKKworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvbWVtb3J5LmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL21lbW9yeS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcyMWE2YjEKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL21lbW9yeS5oCkBAIC0wLDAgKzEsMTQgQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL21lbW9yeS5oCisgKi8KKworI2lmbmRlZiBfX0FTTV9BUkNIX01FTU9SWV9ICisjZGVmaW5lIF9fQVNNX0FSQ0hfTUVNT1JZX0gKKworI2RlZmluZSBQSFlTX09GRlNFVAkJVUwoMHgwMDAwMDAwMCkKKworI2RlZmluZSBfX3ZpcnRfdG9fYnVzKHgpCV9fdmlydF90b19waHlzKHgpCisjZGVmaW5lIF9fYnVzX3RvX3ZpcnQoeCkJX19waHlzX3RvX3ZpcnQoeCkKKworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvbXY3OHh4MC5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC9tdjc4eHgwLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWY1ZDgzYwotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvbXY3OHh4MC5oCkBAIC0wLDAgKzEsMTI2IEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC9tdjc4eHgwLmgKKyAqCisgKiBHZW5lcmljIGRlZmluaXRpb25zIGZvciBNYXJ2ZWxsIE1WNzh4eDAgU29DIGZsYXZvcnM6CisgKiAgTVY3ODF4MCBhbmQgTVY3ODJ4MC4KKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaWZuZGVmIF9fQVNNX0FSQ0hfTVY3OFhYMF9ICisjZGVmaW5lIF9fQVNNX0FSQ0hfTVY3OFhYMF9ICisKKy8qCisgKiBNYXJ2ZWxsIE1WNzh4eDAgYWRkcmVzcyBtYXBzLgorICoKKyAqIHBoeXMKKyAqIGMwMDAwMDAwCVBDSWUgTWVtb3J5IHNwYWNlCisgKiBmMDgwMDAwMAlQQ0llICMwIEkvTyBzcGFjZQorICogZjA5MDAwMDAJUENJZSAjMSBJL08gc3BhY2UKKyAqIGYwYTAwMDAwCVBDSWUgIzIgSS9PIHNwYWNlCisgKiBmMGIwMDAwMAlQQ0llICMzIEkvTyBzcGFjZQorICogZjBjMDAwMDAJUENJZSAjNCBJL08gc3BhY2UKKyAqIGYwZDAwMDAwCVBDSWUgIzUgSS9PIHNwYWNlCisgKiBmMGUwMDAwMAlQQ0llICM2IEkvTyBzcGFjZQorICogZjBmMDAwMDAJUENJZSAjNyBJL08gc3BhY2UKKyAqIGYxMDAwMDAwCW9uLWNoaXAgcGVyaXBoZXJhbCByZWdpc3RlcnMKKyAqCisgKiB2aXJ0CQlwaHlzCQlzaXplCisgKiBmZTQwMDAwMAlmMTAyeDAwMAkxNksJY29yZS1zcGVjaWZpYyBwZXJpcGhlcmFsIHJlZ2lzdGVycworICogZmU3MDAwMDAJZjA4MDAwMDAJMU0JUENJZSAjMCBJL08gc3BhY2UKKyAqIGZlODAwMDAwCWYwOTAwMDAwCTFNCVBDSWUgIzEgSS9PIHNwYWNlCisgKiBmZTkwMDAwMAlmMGEwMDAwMAkxTQlQQ0llICMyIEkvTyBzcGFjZQorICogZmVhMDAwMDAJZjBiMDAwMDAJMU0JUENJZSAjMyBJL08gc3BhY2UKKyAqIGZlYjAwMDAwCWYwYzAwMDAwCTFNCVBDSWUgIzQgSS9PIHNwYWNlCisgKiBmZWMwMDAwMAlmMGQwMDAwMAkxTQlQQ0llICM1IEkvTyBzcGFjZQorICogZmVkMDAwMDAJZjBlMDAwMDAJMU0JUENJZSAjNiBJL08gc3BhY2UKKyAqIGZlZTAwMDAwCWYwZjAwMDAwCTFNCVBDSWUgIzcgSS9PIHNwYWNlCisgKiBmZWYwMDAwMAlmMTAwMDAwMAkxTQlvbi1jaGlwIHBlcmlwaGVyYWwgcmVnaXN0ZXJzCisgKi8KKyNkZWZpbmUgTVY3OFhYMF9DT1JFMF9SRUdTX1BIWVNfQkFTRQkweGYxMDIwMDAwCisjZGVmaW5lIE1WNzhYWDBfQ09SRTFfUkVHU19QSFlTX0JBU0UJMHhmMTAyNDAwMAorI2RlZmluZSBNVjc4WFgwX0NPUkVfUkVHU19WSVJUX0JBU0UJMHhmZTQwMDAwMAorI2RlZmluZSBNVjc4WFgwX0NPUkVfUkVHU19TSVpFCQlTWl8xNksKKworI2RlZmluZSBNVjc4WFgwX1BDSUVfSU9fUEhZU19CQVNFKGkpCSgweGYwODAwMDAwICsgKChpKSA8PCAyMCkpCisjZGVmaW5lIE1WNzhYWDBfUENJRV9JT19WSVJUX0JBU0UoaSkJKDB4ZmU3MDAwMDAgKyAoKGkpIDw8IDIwKSkKKyNkZWZpbmUgTVY3OFhYMF9QQ0lFX0lPX1NJWkUJCVNaXzFNCisKKyNkZWZpbmUgTVY3OFhYMF9SRUdTX1BIWVNfQkFTRQkJMHhmMTAwMDAwMAorI2RlZmluZSBNVjc4WFgwX1JFR1NfVklSVF9CQVNFCQkweGZlZjAwMDAwCisjZGVmaW5lIE1WNzhYWDBfUkVHU19TSVpFCQlTWl8xTQorCisjZGVmaW5lIE1WNzhYWDBfUENJRV9NRU1fUEhZU19CQVNFCTB4YzAwMDAwMDAKKyNkZWZpbmUgTVY3OFhYMF9QQ0lFX01FTV9TSVpFCQkweDMwMDAwMDAwCisKKy8qCisgKiBDb3JlLXNwZWNpZmljIHBlcmlwaGVyYWwgcmVnaXN0ZXJzLgorICovCisjZGVmaW5lIEJSSURHRV9WSVJUX0JBU0UJKE1WNzhYWDBfQ09SRV9SRUdTX1ZJUlRfQkFTRSkKKyNkZWZpbmUgIENQVV9DT05UUk9MCQkoQlJJREdFX1ZJUlRfQkFTRSB8IDB4MDEwNCkKKyNkZWZpbmUgICBMMl9XUklURVRIUk9VR0gJMHgwMDAyMDAwMAorI2RlZmluZSAgUlNUT1VUbl9NQVNLCQkoQlJJREdFX1ZJUlRfQkFTRSB8IDB4MDEwOCkKKyNkZWZpbmUgICBTT0ZUX1JFU0VUX09VVF9FTgkweDAwMDAwMDA0CisjZGVmaW5lICBTWVNURU1fU09GVF9SRVNFVAkoQlJJREdFX1ZJUlRfQkFTRSB8IDB4MDEwYykKKyNkZWZpbmUgICBTT0ZUX1JFU0VUCQkweDAwMDAwMDAxCisjZGVmaW5lICBCUklER0VfQ0FVU0UJCShCUklER0VfVklSVF9CQVNFIHwgMHgwMTEwKQorI2RlZmluZSAgQlJJREdFX01BU0sJCShCUklER0VfVklSVF9CQVNFIHwgMHgwMTE0KQorI2RlZmluZSAgIEJSSURHRV9JTlRfVElNRVIwCTB4MDAwMgorI2RlZmluZSAgIEJSSURHRV9JTlRfVElNRVIxCTB4MDAwNAorI2RlZmluZSAgIEJSSURHRV9JTlRfVElNRVIxX0NMUgkofjB4MDAwNCkKKyNkZWZpbmUgIElSUV9WSVJUX0JBU0UJCShCUklER0VfVklSVF9CQVNFIHwgMHgwMjAwKQorI2RlZmluZSAgIElSUV9DQVVTRV9MT1dfT0ZGCTB4MDAwNAorI2RlZmluZSAgIElSUV9DQVVTRV9ISUdIX09GRgkweDAwMDgKKyNkZWZpbmUgICBJUlFfTUFTS19MT1dfT0ZGCTB4MDAxMAorI2RlZmluZSAgIElSUV9NQVNLX0hJR0hfT0ZGCTB4MDAxNAorI2RlZmluZSAgVElNRVJfVklSVF9CQVNFCShCUklER0VfVklSVF9CQVNFIHwgMHgwMzAwKQorCisvKgorICogUmVnaXN0ZXIgTWFwCisgKi8KKyNkZWZpbmUgRERSX1ZJUlRfQkFTRQkJKE1WNzhYWDBfUkVHU19WSVJUX0JBU0UgfCAweDAwMDAwKQorI2RlZmluZSAgRERSX1dJTkRPV19DUFUwX0JBU0UJKEREUl9WSVJUX0JBU0UgfCAweDE1MDApCisjZGVmaW5lICBERFJfV0lORE9XX0NQVTFfQkFTRQkoRERSX1ZJUlRfQkFTRSB8IDB4MTcwMCkKKworI2RlZmluZSBERVZfQlVTX1BIWVNfQkFTRQkoTVY3OFhYMF9SRUdTX1BIWVNfQkFTRSB8IDB4MTAwMDApCisjZGVmaW5lIERFVl9CVVNfVklSVF9CQVNFCShNVjc4WFgwX1JFR1NfVklSVF9CQVNFIHwgMHgxMDAwMCkKKyNkZWZpbmUgIFNBTVBMRV9BVF9SRVNFVF9MT1cJKERFVl9CVVNfVklSVF9CQVNFIHwgMHgwMDMwKQorI2RlZmluZSAgU0FNUExFX0FUX1JFU0VUX0hJR0gJKERFVl9CVVNfVklSVF9CQVNFIHwgMHgwMDM0KQorI2RlZmluZSAgVUFSVDBfUEhZU19CQVNFCShERVZfQlVTX1BIWVNfQkFTRSB8IDB4MjAwMCkKKyNkZWZpbmUgIFVBUlQwX1ZJUlRfQkFTRQkoREVWX0JVU19WSVJUX0JBU0UgfCAweDIwMDApCisjZGVmaW5lICBVQVJUMV9QSFlTX0JBU0UJKERFVl9CVVNfUEhZU19CQVNFIHwgMHgyMTAwKQorI2RlZmluZSAgVUFSVDFfVklSVF9CQVNFCShERVZfQlVTX1ZJUlRfQkFTRSB8IDB4MjEwMCkKKyNkZWZpbmUgIFVBUlQyX1BIWVNfQkFTRQkoREVWX0JVU19QSFlTX0JBU0UgfCAweDIyMDApCisjZGVmaW5lICBVQVJUMl9WSVJUX0JBU0UJKERFVl9CVVNfVklSVF9CQVNFIHwgMHgyMjAwKQorI2RlZmluZSAgVUFSVDNfUEhZU19CQVNFCShERVZfQlVTX1BIWVNfQkFTRSB8IDB4MjMwMCkKKyNkZWZpbmUgIFVBUlQzX1ZJUlRfQkFTRQkoREVWX0JVU19WSVJUX0JBU0UgfCAweDIzMDApCisKKyNkZWZpbmUgR0UxMF9QSFlTX0JBU0UJCShNVjc4WFgwX1JFR1NfUEhZU19CQVNFIHwgMHgzMDAwMCkKKyNkZWZpbmUgR0UxMV9QSFlTX0JBU0UJCShNVjc4WFgwX1JFR1NfUEhZU19CQVNFIHwgMHgzNDAwMCkKKworI2RlZmluZSBQQ0lFMDBfVklSVF9CQVNFCShNVjc4WFgwX1JFR1NfVklSVF9CQVNFIHwgMHg0MDAwMCkKKyNkZWZpbmUgUENJRTAxX1ZJUlRfQkFTRQkoTVY3OFhYMF9SRUdTX1ZJUlRfQkFTRSB8IDB4NDQwMDApCisjZGVmaW5lIFBDSUUwMl9WSVJUX0JBU0UJKE1WNzhYWDBfUkVHU19WSVJUX0JBU0UgfCAweDQ4MDAwKQorI2RlZmluZSBQQ0lFMDNfVklSVF9CQVNFCShNVjc4WFgwX1JFR1NfVklSVF9CQVNFIHwgMHg0YzAwMCkKKworI2RlZmluZSBVU0IwX1BIWVNfQkFTRQkJKE1WNzhYWDBfUkVHU19QSFlTX0JBU0UgfCAweDUwMDAwKQorI2RlZmluZSBVU0IxX1BIWVNfQkFTRQkJKE1WNzhYWDBfUkVHU19QSFlTX0JBU0UgfCAweDUxMDAwKQorI2RlZmluZSBVU0IyX1BIWVNfQkFTRQkJKE1WNzhYWDBfUkVHU19QSFlTX0JBU0UgfCAweDUyMDAwKQorCisjZGVmaW5lIEdFMDBfUEhZU19CQVNFCQkoTVY3OFhYMF9SRUdTX1BIWVNfQkFTRSB8IDB4NzAwMDApCisjZGVmaW5lIEdFMDFfUEhZU19CQVNFCQkoTVY3OFhYMF9SRUdTX1BIWVNfQkFTRSB8IDB4NzQwMDApCisKKyNkZWZpbmUgUENJRTEwX1ZJUlRfQkFTRQkoTVY3OFhYMF9SRUdTX1ZJUlRfQkFTRSB8IDB4ODAwMDApCisjZGVmaW5lIFBDSUUxMV9WSVJUX0JBU0UJKE1WNzhYWDBfUkVHU19WSVJUX0JBU0UgfCAweDg0MDAwKQorI2RlZmluZSBQQ0lFMTJfVklSVF9CQVNFCShNVjc4WFgwX1JFR1NfVklSVF9CQVNFIHwgMHg4ODAwMCkKKyNkZWZpbmUgUENJRTEzX1ZJUlRfQkFTRQkoTVY3OFhYMF9SRUdTX1ZJUlRfQkFTRSB8IDB4OGMwMDApCisKKyNkZWZpbmUgU0FUQV9QSFlTX0JBU0UJCShNVjc4WFgwX1JFR1NfUEhZU19CQVNFIHwgMHhhMDAwMCkKKworCisjZGVmaW5lIEdQSU9fTUFYCQkzMgorCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC9zeXN0ZW0uaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvc3lzdGVtLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2ViNDdkMwotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvc3lzdGVtLmgKQEAgLTAsMCArMSwzNyBAQAorLyoKKyAqIGluY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvc3lzdGVtLmgKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaWZuZGVmIF9fQVNNX0FSQ0hfU1lTVEVNX0gKKyNkZWZpbmUgX19BU01fQVJDSF9TWVNURU1fSAorCisjaW5jbHVkZSA8YXNtL2FyY2gvaGFyZHdhcmUuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9tdjc4eHgwLmg+CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBhcmNoX2lkbGUodm9pZCkKK3sKKwljcHVfZG9faWRsZSgpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgYXJjaF9yZXNldChjaGFyIG1vZGUpCit7CisJLyoKKwkgKiBFbmFibGUgc29mdCByZXNldCB0byBhc3NlcnQgUlNUT1VUbi4KKwkgKi8KKwl3cml0ZWwoU09GVF9SRVNFVF9PVVRfRU4sIFJTVE9VVG5fTUFTSyk7CisKKwkvKgorCSAqIEFzc2VydCBzb2Z0IHJlc2V0LgorCSAqLworCXdyaXRlbChTT0ZUX1JFU0VULCBTWVNURU1fU09GVF9SRVNFVCk7CisKKwl3aGlsZSAoMSkKKwkJOworfQorCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC90aW1leC5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC90aW1leC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE4NTRiMWMKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL3RpbWV4LmgKQEAgLTAsMCArMSw5IEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC90aW1leC5oCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2RlZmluZSBDTE9DS19USUNLX1JBVEUJCSgxMDAgKiBIWikKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvdW5jb21wcmVzcy5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC91bmNvbXByZXNzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2JmZTBhMgotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvdW5jb21wcmVzcy5oCkBAIC0wLDAgKzEsNDcgQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL3VuY29tcHJlc3MuaAorICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9zZXJpYWxfcmVnLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvbXY3OHh4MC5oPgorCisjZGVmaW5lIFNFUklBTF9CQVNFCSgodW5zaWduZWQgY2hhciAqKVVBUlQwX1BIWVNfQkFTRSkKKworc3RhdGljIHZvaWQgcHV0Yyhjb25zdCBjaGFyIGMpCit7CisJdW5zaWduZWQgY2hhciAqYmFzZSA9IFNFUklBTF9CQVNFOworCWludCBpOworCisJZm9yIChpID0gMDsgaSA8IDB4MTAwMDsgaSsrKSB7CisJCWlmIChiYXNlW1VBUlRfTFNSIDw8IDJdICYgVUFSVF9MU1JfVEhSRSkKKwkJCWJyZWFrOworCQliYXJyaWVyKCk7CisJfQorCisJYmFzZVtVQVJUX1RYIDw8IDJdID0gYzsKK30KKworc3RhdGljIHZvaWQgZmx1c2godm9pZCkKK3sKKwl1bnNpZ25lZCBjaGFyICpiYXNlID0gU0VSSUFMX0JBU0U7CisJdW5zaWduZWQgY2hhciBtYXNrOworCWludCBpOworCisJbWFzayA9IFVBUlRfTFNSX1RFTVQgfCBVQVJUX0xTUl9USFJFOworCisJZm9yIChpID0gMDsgaSA8IDB4MTAwMDsgaSsrKSB7CisJCWlmICgoYmFzZVtVQVJUX0xTUiA8PCAyXSAmIG1hc2spID09IG1hc2spCisJCQlicmVhazsKKwkJYmFycmllcigpOworCX0KK30KKworLyoKKyAqIG5vdGhpbmcgdG8gZG8KKyAqLworI2RlZmluZSBhcmNoX2RlY29tcF9zZXR1cCgpCisjZGVmaW5lIGFyY2hfZGVjb21wX3dkb2coKQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC92bWFsbG9jLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL3ZtYWxsb2MuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMmM1MTIxCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC92bWFsbG9jLmgKQEAgLTAsMCArMSw1IEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC92bWFsbG9jLmgKKyAqLworCisjZGVmaW5lIFZNQUxMT0NfRU5ECTB4ZmUwMDAwMDAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9ib2FyZC1teDI3YWRzLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvYm9hcmQtbXgyN2Fkcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYxZTY2ZGEKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvYm9hcmQtbXgyN2Fkcy5oCkBAIC0wLDAgKzEsMzU0IEBACisvKgorICogQ29weXJpZ2h0IDIwMDUtMjAwNyBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICovCisKKy8qCisgKiBUaGUgY29kZSBjb250YWluZWQgaGVyZWluIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIFZlcnNpb24gMiBvciBsYXRlciBhdCB0aGUgZm9sbG93aW5nIGxvY2F0aW9uczoKKyAqCisgKiBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2dwbC1saWNlbnNlLmh0bWwKKyAqIGh0dHA6Ly93d3cuZ251Lm9yZy9jb3B5bGVmdC9ncGwuaHRtbAorICovCisKKyNpZm5kZWYgX19BU01fQVJDSF9NWENfQk9BUkRfTVgyN0FEU19IX18KKyNkZWZpbmUgX19BU01fQVJDSF9NWENfQk9BUkRfTVgyN0FEU19IX18KKworLyogZXh0ZXJuYWwgaW50ZXJydXB0IG11bHRpcGxleGVyICovCisjZGVmaW5lIE1YQ19FWFBfSU9fQkFTRQkJKE1YQ19HUElPX0JBU0UgKyBNWENfTUFYX0dQSU9fTElORVMpCisKKyNkZWZpbmUgTVhDX1ZJUlRVQUxfSU5UU19CQVNFCShNWENfRVhQX0lPX0JBU0UgKyBNWENfTUFYX0VYUF9JT19MSU5FUykKKyNkZWZpbmUgTVhDX1NESU8xX0NBUkRfSVJRCU1YQ19WSVJUVUFMX0lOVFNfQkFTRQorI2RlZmluZSBNWENfU0RJTzJfQ0FSRF9JUlEJKE1YQ19WSVJUVUFMX0lOVFNfQkFTRSArIDEpCisjZGVmaW5lIE1YQ19TRElPM19DQVJEX0lSUQkoTVhDX1ZJUlRVQUxfSU5UU19CQVNFICsgMikKKworI2RlZmluZSBNWENfTUFYX0JPQVJEX0lOVFMgICAgICAoTVhDX01BWF9FWFBfSU9fTElORVMgKyBcCisJCQkJTVhDX01BWF9WSVJUVUFMX0lOVFMpCisKKy8qCisgKiBNWEMgVUFSVCBFVkIgYm9hcmQgbGV2ZWwgY29uZmlndXJhdGlvbnMKKyAqLworCisjZGVmaW5lIE1YQ19MTF9FWFRVQVJUX1BBRERSCShDUzRfQkFTRV9BRERSICsgMHgyMDAwMCkKKyNkZWZpbmUgTVhDX0xMX0VYVFVBUlRfVkFERFIJKENTNF9CQVNFX0FERFJfVklSVCArIDB4MjAwMDApCisjZGVmaW5lIE1YQ19MTF9FWFRVQVJUXzE2QklUX0JVUworCisjZGVmaW5lIE1YQ19MTF9VQVJUX1BBRERSICAgICAgIFVBUlQxX0JBU0VfQUREUgorI2RlZmluZSBNWENfTExfVUFSVF9WQUREUiAgICAgICBBSVBJX0lPX0FERFJFU1MoVUFSVDFfQkFTRV9BRERSKQorCisvKgorICogQG5hbWUgTWVtb3J5IFNpemUgcGFyYW1ldGVycworICovCisKKy8qCisgKiBTaXplIG9mIFNEUkFNIG1lbW9yeQorICovCisjZGVmaW5lIFNEUkFNX01FTV9TSVpFICAgICAgICAgIFNaXzEyOE0KKworLyoKKyAqIFBCQyBDb250cm9sbGVyIHBhcmFtZXRlcnMKKyAqLworCisvKgorICogQmFzZSBhZGRyZXNzIG9mIFBCQyBjb250cm9sbGVyLCBDUzQKKyAqLworI2RlZmluZSBQQkNfQkFTRV9BRERSRVNTICAgICAgICAweEVCMDAwMDAwCisjZGVmaW5lIFBCQ19SRUdfQUREUihvZmZzZXQpICAgIChQQkNfQkFTRV9BRERSRVNTICsgKG9mZnNldCkpCisKKy8qCisgKiBQQkMgSW50ZXJ1cHQgbmFtZSBkZWZpbml0aW9ucworICovCisjZGVmaW5lIFBCQ19HUElPMV8wICAwCisjZGVmaW5lIFBCQ19HUElPMV8xICAxCisjZGVmaW5lIFBCQ19HUElPMV8yICAyCisjZGVmaW5lIFBCQ19HUElPMV8zICAzCisjZGVmaW5lIFBCQ19HUElPMV80ICA0CisjZGVmaW5lIFBCQ19HUElPMV81ICA1CisKKyNkZWZpbmUgUEJDX0lOVFJfTUFYX05VTSA2CisjZGVmaW5lIFBCQ19JTlRSX1NIQVJFRF9NQVhfTlVNIDgKKworLyogV2hlbiB0aGUgUEJDIGFkZHJlc3MgY29ubmVjdGlvbiBpcyBmaXhlZCBpbiBoL3csIGRlZmluZWQgYXMgMSAqLworI2RlZmluZSBQQkNfQUREUl9TSCAgICAgICAgICAgICAwCisKKy8qIE9mZnNldHMgZm9yIHRoZSBQQkMgQ29udHJvbGxlciByZWdpc3RlciAqLworLyoKKyAqIFBCQyBCb2FyZCB2ZXJzaW9uIHJlZ2lzdGVyIG9mZnNldAorICovCisjZGVmaW5lIFBCQ19WRVJTSU9OX1JFRyAgICAgICAgIFBCQ19SRUdfQUREUigweDAwMDAwID4+IFBCQ19BRERSX1NIKQorLyoKKyAqIFBCQyBCb2FyZCBjb250cm9sIHJlZ2lzdGVyIDEgc2V0IGFkZHJlc3MuCisgKi8KKyNkZWZpbmUgUEJDX0JDVFJMMV9TRVRfUkVHICAgICAgUEJDX1JFR19BRERSKDB4MDAwMDggPj4gUEJDX0FERFJfU0gpCisvKgorICogUEJDIEJvYXJkIGNvbnRyb2wgcmVnaXN0ZXIgMSBjbGVhciBhZGRyZXNzLgorICovCisjZGVmaW5lIFBCQ19CQ1RSTDFfQ0xFQVJfUkVHICAgIFBCQ19SRUdfQUREUigweDAwMDBDID4+IFBCQ19BRERSX1NIKQorLyoKKyAqIFBCQyBCb2FyZCBjb250cm9sIHJlZ2lzdGVyIDIgc2V0IGFkZHJlc3MuCisgKi8KKyNkZWZpbmUgUEJDX0JDVFJMMl9TRVRfUkVHICAgICAgUEJDX1JFR19BRERSKDB4MDAwMTAgPj4gUEJDX0FERFJfU0gpCisvKgorICogUEJDIEJvYXJkIGNvbnRyb2wgcmVnaXN0ZXIgMiBjbGVhciBhZGRyZXNzLgorICovCisjZGVmaW5lIFBCQ19CQ1RSTDJfQ0xFQVJfUkVHICAgIFBCQ19SRUdfQUREUigweDAwMDE0ID4+IFBCQ19BRERSX1NIKQorLyoKKyAqIFBCQyBCb2FyZCBjb250cm9sIHJlZ2lzdGVyIDMgc2V0IGFkZHJlc3MuCisgKi8KKyNkZWZpbmUgUEJDX0JDVFJMM19TRVRfUkVHICAgICAgUEJDX1JFR19BRERSKDB4MDAwMTggPj4gUEJDX0FERFJfU0gpCisvKgorICogUEJDIEJvYXJkIGNvbnRyb2wgcmVnaXN0ZXIgMyBjbGVhciBhZGRyZXNzLgorICovCisjZGVmaW5lIFBCQ19CQ1RSTDNfQ0xFQVJfUkVHICAgIFBCQ19SRUdfQUREUigweDAwMDFDID4+IFBCQ19BRERSX1NIKQorLyoKKyAqIFBCQyBCb2FyZCBjb250cm9sIHJlZ2lzdGVyIDMgc2V0IGFkZHJlc3MuCisgKi8KKyNkZWZpbmUgUEJDX0JDVFJMNF9TRVRfUkVHICAgICAgUEJDX1JFR19BRERSKDB4MDAwMjAgPj4gUEJDX0FERFJfU0gpCisvKgorICogUEJDIEJvYXJkIGNvbnRyb2wgcmVnaXN0ZXIgNCBjbGVhciBhZGRyZXNzLgorICovCisjZGVmaW5lIFBCQ19CQ1RSTDRfQ0xFQVJfUkVHICAgIFBCQ19SRUdfQUREUigweDAwMDI0ID4+IFBCQ19BRERSX1NIKQorLypQQkNfQUREUl9TSAorICogUEJDIEJvYXJkIHN0YXR1cyByZWdpc3RlciAxLgorICovCisjZGVmaW5lIFBCQ19CU1RBVDFfUkVHICAgICAgICAgIFBCQ19SRUdfQUREUigweDAwMDI4ID4+IFBCQ19BRERSX1NIKQorLyoKKyAqIFBCQyBCb2FyZCBpbnRlcnJ1cHQgc3RhdHVzIHJlZ2lzdGVyLgorICovCisjZGVmaW5lIFBCQ19JTlRTVEFUVVNfUkVHICAgICAgIFBCQ19SRUdfQUREUigweDAwMDJDID4+IFBCQ19BRERSX1NIKQorLyoKKyAqIFBCQyBCb2FyZCBpbnRlcnJ1cHQgY3VycmVudCBzdGF0dXMgcmVnaXN0ZXIuCisgKi8KKyNkZWZpbmUgUEJDX0lOVENVUlJfU1RBVFVTX1JFRyAgUEJDX1JFR19BRERSKDB4MDAwMzQgPj4gUEJDX0FERFJfU0gpCisvKgorICogUEJDIEludGVycnVwdCBtYXNrIHJlZ2lzdGVyIHNldCBhZGRyZXNzLgorICovCisjZGVmaW5lIFBCQ19JTlRNQVNLX1NFVF9SRUcgICAgIFBCQ19SRUdfQUREUigweDAwMDM4ID4+IFBCQ19BRERSX1NIKQorLyoKKyAqIFBCQyBJbnRlcnJ1cHQgbWFzayByZWdpc3RlciBjbGVhciBhZGRyZXNzLgorICovCisjZGVmaW5lIFBCQ19JTlRNQVNLX0NMRUFSX1JFRyAgIFBCQ19SRUdfQUREUigweDAwMDNDID4+IFBCQ19BRERSX1NIKQorLyoKKyAqIEV4dGVybmFsIFVBUlQgQS4KKyAqLworI2RlZmluZSBQQkNfU0MxNkM2NTJfVUFSVEFfUkVHICBQQkNfUkVHX0FERFIoMHgyMDAwMCA+PiBQQkNfQUREUl9TSCkKKy8qCisgKiBVQVJUIDQgRXhwYW5kaW5nIFNpZ25hbCBTdGF0dXMuCisgKi8KKyNkZWZpbmUgUEJDX1VBUlRfU1RBVFVTX1JFRyAgICAgUEJDX1JFR19BRERSKDB4MjIwMDAgPj4gUEJDX0FERFJfU0gpCisvKgorICogVUFSVCA0IEV4cGFuZGluZyBTaWduYWwgQ29udHJvbCBTZXQuCisgKi8KKyNkZWZpbmUgUEJDX1VDVFJMX1NFVF9SRUcgICAgICAgUEJDX1JFR19BRERSKDB4MjQwMDAgPj4gUEJDX0FERFJfU0gpCisvKgorICogVUFSVCA0IEV4cGFuZGluZyBTaWduYWwgQ29udHJvbCBDbGVhci4KKyAqLworI2RlZmluZSBQQkNfVUNUUkxfQ0xSX1JFRyAgICAgICBQQkNfUkVHX0FERFIoMHgyNjAwMCA+PiBQQkNfQUREUl9TSCkKKy8qCisgKiBFdGhlcm5ldCBDb250cm9sbGVyIElPIGJhc2UgYWRkcmVzcy4KKyAqLworI2RlZmluZSBQQkNfQ1M4OTAwQV9JT0JBU0VfUkVHICBQQkNfUkVHX0FERFIoMHg0MDAwMCA+PiBQQkNfQUREUl9TSCkKKy8qCisgKiBFdGhlcm5ldCBDb250cm9sbGVyIE1lbW9yeSBiYXNlIGFkZHJlc3MuCisgKi8KKyNkZWZpbmUgUEJDX0NTODkwMEFfTUVNQkFTRV9SRUcgUEJDX1JFR19BRERSKDB4NDIwMDAgPj4gUEJDX0FERFJfU0gpCisvKgorICogRXRoZXJuZXQgQ29udHJvbGxlciBETUEgYmFzZSBhZGRyZXNzLgorICovCisjZGVmaW5lIFBCQ19DUzg5MDBBX0RNQUJBU0VfUkVHIFBCQ19SRUdfQUREUigweDQ0MDAwID4+IFBCQ19BRERSX1NIKQorCisvKiBQQkMgQm9hcmQgVmVyc2lvbiBSZWdpc3RlciBiaXQgZGVmaW5pdGlvbiAqLworI2RlZmluZSBQQkNfVkVSU0lPTl9BRFMgICAgICAgICAweDgwMDAJLyogQml0MTU9MSBtZWFucyB2ZXJzaW9uIGZvciBhZHMgKi8KKyNkZWZpbmUgUEJDX1ZFUlNJT05fRVZCX1JFVkIgICAgMHg0MDAwCS8qIEJJVDE0PTEgbWVhbnMgdmVyc2lvbiBmb3IgZXZiIHJldmIgKi8KKworLyogUEJDIEJvYXJkIENvbnRyb2wgUmVnaXN0ZXIgMSBiaXQgZGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgUEJDX0JDVFJMMV9FUlNUICAgICAgICAgMHgwMDAxCS8qIEV0aGVybmV0IFJlc2V0ICovCisjZGVmaW5lIFBCQ19CQ1RSTDFfVVJTVCAgICAgICAgIDB4MDAwMgkvKiBSZXNldCBFeHRlcm5hbCBVQVJUIGNvbnRyb2xsZXIgKi8KKyNkZWZpbmUgUEJDX0JDVFJMMV9GUlNUICAgICAgICAgMHgwMDA0CS8qIEZFQyBSZXNldCAqLworI2RlZmluZSBQQkNfQkNUUkwxX0VTTEVFUCAgICAgICAweDAwMTAJLyogRW5hYmxlIGV0aGVybmV0IFNsZWVwICovCisjZGVmaW5lIFBCQ19CQ1RSTDFfTENET04gICAgICAgIDB4MDgwMAkvKiBFbmFibGUgdGhlIExDRCAqLworCisvKiBQQkMgQm9hcmQgQ29udHJvbCBSZWdpc3RlciAyIGJpdCBkZWZpbml0aW9ucyAqLworI2RlZmluZSBQQkNfQkNUUkwyX1ZDQ19FTiAgICAgICAweDAwMDQJLyogICBFbmFibGUgVkNDICovCisjZGVmaW5lIFBCQ19CQ1RSTDJfVlBQX0VOICAgICAgIDB4MDAwOAkvKiAgIEVuYWJsZSBWcHAgKi8KKyNkZWZpbmUgUEJDX0JDVFJMMl9BVEFGRUNfRU4gICAgMFgwMDEwCisjZGVmaW5lIFBCQ19CQ1RSTDJfQVRBRkVDX1NFTCAgIDBYMDAyMAorI2RlZmluZSBQQkNfQkNUUkwyX0FUQV9FTiAgICAgICAwWDAwNDAKKyNkZWZpbmUgUEJDX0JDVFJMMl9JUkRBX1NEICAgICAgMFgwMDgwCisjZGVmaW5lIFBCQ19CQ1RSTDJfSVJEQV9FTiAgICAgIDBYMDEwMAorI2RlZmluZSBQQkNfQkNUUkwyX0NDVEwxMCAgICAgICAwWDAyMDAKKyNkZWZpbmUgUEJDX0JDVFJMMl9DQ1RMMTEgICAgICAgMFgwNDAwCisKKy8qIFBCQyBCb2FyZCBDb250cm9sIFJlZ2lzdGVyIDMgYml0IGRlZmluaXRpb25zICovCisjZGVmaW5lIFBCQ19CQ1RSTDNfSFNIX0VOICAgICAgIDBYMDAyMAorI2RlZmluZSBQQkNfQkNUUkwzX0ZTSF9NT0QgICAgICAwWDAwNDAKKyNkZWZpbmUgUEJDX0JDVFJMM19PVEdfSFNfRU4gICAgMFgwMDgwCisjZGVmaW5lIFBCQ19CQ1RSTDNfT1RHX1ZCVVNfRU4gIDBYMDEwMAorI2RlZmluZSBQQkNfQkNUUkwzX0ZTSF9WQlVTX0VOICAwWDAyMDAKKyNkZWZpbmUgUEJDX0JDVFJMM19VU0JfT1RHX09OICAgMFgwODAwCisjZGVmaW5lIFBCQ19CQ1RSTDNfVVNCX0ZTSF9PTiAgIDBYMTAwMAorCisvKiBQQkMgQm9hcmQgQ29udHJvbCBSZWdpc3RlciA0IGJpdCBkZWZpbml0aW9ucyAqLworI2RlZmluZSBQQkNfQkNUUkw0X1JFR0VOX1NFTCAgICAwWDAwMDEKKyNkZWZpbmUgUEJDX0JDVFJMNF9VU0VSX09GRiAgICAgMFgwMDAyCisjZGVmaW5lIFBCQ19CQ1RSTDRfVklCX0VOICAgICAgIDBYMDAwNAorI2RlZmluZSBQQkNfQkNUUkw0X1BXUkdUMV9FTiAgICAwWDAwMDgKKyNkZWZpbmUgUEJDX0JDVFJMNF9QV1JHVDJfRU4gICAgMFgwMDEwCisjZGVmaW5lIFBCQ19CQ1RSTDRfU1REQllfUFJJICAgIDBYMDAyMAorCisjaWZuZGVmIF9fQVNTRU1CTFlfXworLyoKKyAqIEVudW1lcmF0aW9ucyBmb3IgU0QgY2FyZHMgYW5kIG1lbW9yeSBzdGljayBjYXJkLiBUaGlzIGNvcnJlc3BvbmRzIHRvCisgKiB0aGUgY2FyZCBFTiBiaXRzIGluIHRoZSBJTVI6IFNEMV9FTiB8IE1TX0VOIHwgU0QzX0VOIHwgU0QyX0VOLgorICovCitlbnVtIG14Y19jYXJkX25vIHsKKwlNWENfQ0FSRF9TRDIgPSAwLAorCU1YQ19DQVJEX1NEMywKKwlNWENfQ0FSRF9NUywKKwlNWENfQ0FSRF9TRDEsCisJTVhDX0NBUkRfTUlOID0gTVhDX0NBUkRfU0QyLAorCU1YQ19DQVJEX01BWCA9IE1YQ19DQVJEX1NEMSwKK307CisjZW5kaWYKKworI2RlZmluZSBNWENfQ1BMRF9WRVJfMV81MCAgICAgICAweDAxCisKKy8qCisgKiBQQkMgQlNUQVQgUmVnaXN0ZXIgYml0IGRlZmluaXRpb25zCisgKi8KKyNkZWZpbmUgUEJDX0JTVEFUX1BSSV9JTlQgICAgICAgMFgwMDAxCisjZGVmaW5lIFBCQ19CU1RBVF9VU0JfQllQICAgICAgIDBYMDAwMgorI2RlZmluZSBQQkNfQlNUQVRfQVRBX0lPQ1MxNiAgICAwWDAwMDQKKyNkZWZpbmUgUEJDX0JTVEFUX0FUQV9DQkxJRCAgICAgMFgwMDA4CisjZGVmaW5lIFBCQ19CU1RBVF9BVEFfREFTUCAgICAgIDBYMDAxMAorI2RlZmluZSBQQkNfQlNUQVRfUFdSX1JEWSAgICAgICAwWDAwMjAKKyNkZWZpbmUgUEJDX0JTVEFUX1NEM19XUCAgICAgICAgMFgwMTAwCisjZGVmaW5lIFBCQ19CU1RBVF9TRDJfV1AgICAgICAgIDBYMDIwMAorI2RlZmluZSBQQkNfQlNUQVRfU0QxX1dQICAgICAgICAwWDA0MDAKKyNkZWZpbmUgUEJDX0JTVEFUX1NEM19ERVQgICAgICAgMFgwODAwCisjZGVmaW5lIFBCQ19CU1RBVF9TRDJfREVUICAgICAgIDBYMTAwMAorI2RlZmluZSBQQkNfQlNUQVRfU0QxX0RFVCAgICAgICAwWDIwMDAKKyNkZWZpbmUgUEJDX0JTVEFUX01TX0RFVCAgICAgICAgMFg0MDAwCisjZGVmaW5lIFBCQ19CU1RBVF9TRDNfREVUX0JJVCAgIDExCisjZGVmaW5lIFBCQ19CU1RBVF9TRDJfREVUX0JJVCAgIDEyCisjZGVmaW5lIFBCQ19CU1RBVF9TRDFfREVUX0JJVCAgIDEzCisjZGVmaW5lIFBCQ19CU1RBVF9NU19ERVRfQklUICAgIDE0CisjZGVmaW5lIE1YQ19CU1RBVF9CSVQobikgICAgICAgICgobiA9PSBNWENfQ0FSRF9TRDIpID8gUEJDX0JTVEFUX1NEMl9ERVQgOiBcCisJCQkJICgobiA9PSBNWENfQ0FSRF9TRDMpID8gUEJDX0JTVEFUX1NEM19ERVQgOiBcCisJCQkJICgobiA9PSBNWENfQ0FSRF9TRDEpID8gUEJDX0JTVEFUX1NEMV9ERVQgOiBcCisJCQkJICgobiA9PSBNWENfQ0FSRF9NUykgPyBQQkNfQlNUQVRfTVNfREVUIDogXAorCQkJCQkweDApKSkpCisKKy8qCisgKiBQQkMgVUFSVCBDb250cm9sIFJlZ2lzdGVyIGJpdCBkZWZpbml0aW9ucworICovCisjZGVmaW5lIFBCQ19VQ1RSTF9EQ0VfRENEICAgICAgIDBYMDAwMQorI2RlZmluZSBQQkNfVUNUUkxfRENFX0RTUiAgICAgICAwWDAwMDIKKyNkZWZpbmUgUEJDX1VDVFJMX0RDRV9SSSAgICAgICAgMFgwMDA0CisjZGVmaW5lIFBCQ19VQ1RSTF9EVEVfRFRSICAgICAgIDBYMDEwMAorCisvKgorICogUEJDIFVBUlQgU3RhdHVzIFJlZ2lzdGVyIGJpdCBkZWZpbml0aW9ucworICovCisjZGVmaW5lIFBCQ19VU1RBVF9EVEVfRENEICAgICAgIDBYMDAwMQorI2RlZmluZSBQQkNfVVNUQVRfRFRFX0RTUiAgICAgICAwWDAwMDIKKyNkZWZpbmUgUEJDX1VTVEFUX0RURV9SSSAgICAgICAgMFgwMDA0CisjZGVmaW5lIFBCQ19VU1RBVF9EQ0VfRFRSICAgICAgIDBYMDEwMAorCisvKgorICogUEJDIEludGVydXB0IG1hc2sgcmVnaXN0ZXIgYml0IGRlZmluaXRpb25zCisgKi8KKyNkZWZpbmUgUEJDX0lOVFJfU0QzX1JfRU5fQklUICAgNAorI2RlZmluZSBQQkNfSU5UUl9TRDJfUl9FTl9CSVQgICAwCisjZGVmaW5lIFBCQ19JTlRSX1NEMV9SX0VOX0JJVCAgIDYKKyNkZWZpbmUgUEJDX0lOVFJfTVNfUl9FTl9CSVQgICAgNQorI2RlZmluZSBQQkNfSU5UUl9TRDNfRU5fQklUICAgICAxMworI2RlZmluZSBQQkNfSU5UUl9TRDJfRU5fQklUICAgICAxMgorI2RlZmluZSBQQkNfSU5UUl9NU19FTl9CSVQgICAgICAxNAorI2RlZmluZSBQQkNfSU5UUl9TRDFfRU5fQklUICAgICAxNQorCisjZGVmaW5lIFBCQ19JTlRSX1NEMl9SX0VOICAgICAgIDB4MDAwMQorI2RlZmluZSBQQkNfSU5UUl9MT1dfQkFUICAgICAgICAwWDAwMDIKKyNkZWZpbmUgUEJDX0lOVFJfT1RHX0ZTT1ZFUiAgICAgMFgwMDA0CisjZGVmaW5lIFBCQ19JTlRSX0ZTSF9PVkVSICAgICAgIDBYMDAwOAorI2RlZmluZSBQQkNfSU5UUl9TRDNfUl9FTiAgICAgICAweDAwMTAKKyNkZWZpbmUgUEJDX0lOVFJfTVNfUl9FTiAgICAgICAgMHgwMDIwCisjZGVmaW5lIFBCQ19JTlRSX1NEMV9SX0VOICAgICAgIDB4MDA0MAorI2RlZmluZSBQQkNfSU5UUl9GRUNfSU5UICAgICAgICAwWDAwODAKKyNkZWZpbmUgUEJDX0lOVFJfRU5FVF9JTlQgICAgICAgMFgwMTAwCisjZGVmaW5lIFBCQ19JTlRSX09UR0ZTX0lOVCAgICAgIDBYMDIwMAorI2RlZmluZSBQQkNfSU5UUl9YVUFSVF9JTlQgICAgICAwWDA0MDAKKyNkZWZpbmUgUEJDX0lOVFJfQ0NUTDEyICAgICAgICAgMFgwODAwCisjZGVmaW5lIFBCQ19JTlRSX1NEMl9FTiAgICAgICAgIDB4MTAwMAorI2RlZmluZSBQQkNfSU5UUl9TRDNfRU4gICAgICAgICAweDIwMDAKKyNkZWZpbmUgUEJDX0lOVFJfTVNfRU4gICAgICAgICAgMHg0MDAwCisjZGVmaW5lIFBCQ19JTlRSX1NEMV9FTiAgICAgICAgIDB4ODAwMAorCisKKworLyogRm9yIGludGVycnVwdHMgbGlrZSB4dWFydCwgZW5ldCBldGMgKi8KKyNkZWZpbmUgRVhQSU9fUEFSRU5UX0lOVCAgICAgICAgSU9NVVhfVE9fSVJRKE1YMjdfUElOX1RJTikKKyNkZWZpbmUgTVhDX01BWF9FWFBfSU9fTElORVMgICAgMTYKKworLyoKKyAqIFRoaXMgY29ycmVzcG9uZHMgdG8gUEJDX0lOVE1BU0tfU0VUX1JFRyBhdCBvZmZzZXQgMHgzOC4KKyAqCisgKi8KKyNkZWZpbmUgRVhQSU9fSU5UX0xPV19CQVQgICAgICAgKE1YQ19FWFBfSU9fQkFTRSArIDEpCisjZGVmaW5lIEVYUElPX0lOVF9PVEdfRlNfT1ZSICAgIChNWENfRVhQX0lPX0JBU0UgKyAyKQorI2RlZmluZSBFWFBJT19JTlRfRlNIX09WUiAgICAgICAoTVhDX0VYUF9JT19CQVNFICsgMykKKyNkZWZpbmUgRVhQSU9fSU5UX1JFUzQgICAgICAgICAgKE1YQ19FWFBfSU9fQkFTRSArIDQpCisjZGVmaW5lIEVYUElPX0lOVF9SRVM1ICAgICAgICAgIChNWENfRVhQX0lPX0JBU0UgKyA1KQorI2RlZmluZSBFWFBJT19JTlRfUkVTNiAgICAgICAgICAoTVhDX0VYUF9JT19CQVNFICsgNikKKyNkZWZpbmUgRVhQSU9fSU5UX0ZFQyAgICAgICAgICAgKE1YQ19FWFBfSU9fQkFTRSArIDcpCisjZGVmaW5lIEVYUElPX0lOVF9FTkVUX0lOVCAgICAgIChNWENfRVhQX0lPX0JBU0UgKyA4KQorI2RlZmluZSBFWFBJT19JTlRfT1RHX0ZTX0lOVCAgICAoTVhDX0VYUF9JT19CQVNFICsgOSkKKyNkZWZpbmUgRVhQSU9fSU5UX1hVQVJUX0lOVEEgICAgKE1YQ19FWFBfSU9fQkFTRSArIDEwKQorI2RlZmluZSBFWFBJT19JTlRfQ0NUTDEyX0lOVCAgICAoTVhDX0VYUF9JT19CQVNFICsgMTEpCisjZGVmaW5lIEVYUElPX0lOVF9TRDJfRU4gICAgICAgIChNWENfRVhQX0lPX0JBU0UgKyAxMikKKyNkZWZpbmUgRVhQSU9fSU5UX1NEM19FTiAgICAgICAgKE1YQ19FWFBfSU9fQkFTRSArIDEzKQorI2RlZmluZSBFWFBJT19JTlRfTVNfRU4gICAgICAgICAoTVhDX0VYUF9JT19CQVNFICsgMTQpCisjZGVmaW5lIEVYUElPX0lOVF9TRDFfRU4gICAgICAgIChNWENfRVhQX0lPX0JBU0UgKyAxNSkKKworLyoKKyAqIFRoaXMgaXMgU3lzdGVtIElSUSB1c2VkIGJ5IENTODkwMEEgZm9yIGludGVycnVwdCBnZW5lcmF0aW9uCisgKiB0YWtlbiBmcm9tIHBsYXRmb3JtLmgKKyAqLworI2RlZmluZSBDUzg5MDBBSVJRICAgICAgICAgICAgICBFWFBJT19JTlRfRU5FVF9JTlQKKy8qIFRoaXMgaXMgSS9PIEJhc2UgYWRkcmVzcyB1c2VkIHRvIGFjY2VzcyByZWdpc3RlcnMgb2YgQ1M4OTAwQSBvbiBNWEMgQURTICovCisjZGVmaW5lIENTODkwMEFfQkFTRV9BRERSRVNTICAgIChQQkNfQ1M4OTAwQV9JT0JBU0VfUkVHICsgMHgzMDApCisKKyNkZWZpbmUgTVhDX1BNSUNfSU5UX0xJTkUgICAgICAgSU9NVVhfVE9fSVJRKE1YMjdfUElOX1RPVVQpCisKKy8qCisqIFRoaXMgaXMgdXNlZCB0byBkZXRlY3QgaWYgdGhlIENQTEQgdmVyc2lvbiBpcyBmb3IgbXgyNyBldmIgYm9hcmQgcmV2LWEKKyovCisjZGVmaW5lIFBCQ19DUExEX1ZFUlNJT05fSVNfUkVWQSgpIFwKKwkoKF9fcmF3X3JlYWR3KFBCQ19WRVJTSU9OX1JFRykgJiBcCisJKFBCQ19WRVJTSU9OX0FEUyB8IFBCQ19WRVJTSU9OX0VWQl9SRVZCKSlcCisJPT0gMCkKKworLyogVGhpcyBpcyB1c2VkIHRvIGFjdGl2ZSBvciBpbmFjdGl2ZSBhdGEgc2lnbmFsIGluIENQTEQgLgorICogIEl0IGlzIGRlcGVuZGVudCB3aXRoIGhhcmR3YXJlCisgKi8KKyNkZWZpbmUgUEJDX0FUQV9TSUdOQUxfQUNUSVZFKCkgXAorCV9fcmF3X3dyaXRldyggICAgICAgICAgIFwKKwkJUEJDX0JDVFJMMl9BVEFGRUNfRU58UEJDX0JDVFJMMl9BVEFGRUNfU0VMfFBCQ19CQ1RSTDJfQVRBX0VOLCBcCisJCVBCQ19CQ1RSTDJfQ0xFQVJfUkVHKQorCisjZGVmaW5lIFBCQ19BVEFfU0lHTkFMX0lOQUNUSVZFKCkgXAorCV9fcmF3X3dyaXRldyggIFwKKwkJUEJDX0JDVFJMMl9BVEFGRUNfRU58UEJDX0JDVFJMMl9BVEFGRUNfU0VMfFBCQ19CQ1RSTDJfQVRBX0VOLCBcCisJCVBCQ19CQ1RSTDJfU0VUX1JFRykKKworI2RlZmluZSBNWENfQkRfTEVEMSAgICAgICAgICAgICAoMSA8PCA1KQorI2RlZmluZSBNWENfQkRfTEVEMiAgICAgICAgICAgICAoMSA8PCA2KQorI2RlZmluZSBNWENfQkRfTEVEX09OKGxlZCkgXAorCV9fcmF3X3dyaXRldyhsZWQsIFBCQ19CQ1RSTDFfU0VUX1JFRykKKyNkZWZpbmUgTVhDX0JEX0xFRF9PRkYobGVkKSBcCisJX19yYXdfd3JpdGV3KGxlZCwgUEJDX0JDVFJMMV9DTEVBUl9SRUcpCisKKy8qIHRvIGRldGVybWluZSB0aGUgY29ycmVjdCBleHRlcm5hbCBjcnlzdGFsIHJlZmVyZW5jZSAqLworI2RlZmluZSBDS0lIXzI3TUhaX0JJVF9TRVQgICAgICAoMSA8PCAzKQorCisjZW5kaWYJCQkJLyogX19BU01fQVJDSF9NWENfQk9BUkRfTVgyN0FEU19IX18gKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9ib2FyZC1teDMxYWRzLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvYm9hcmQtbXgzMWFkcy5oCmluZGV4IDg1OTAxMjcuLjFiYzZmYjAgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9ib2FyZC1teDMxYWRzLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2JvYXJkLW14MzFhZHMuaApAQCAtMTA5LDQgKzEwOSw5IEBACiAKICNkZWZpbmUgTVhDX01BWF9FWFBfSU9fTElORVMJMTYKIAorLyogbWFuZGF0b3J5IGZvciBDT05GSUdfTExfREVCVUcgKi8KKworI2RlZmluZSBNWENfTExfVUFSVF9QQUREUglVQVJUMV9CQVNFX0FERFIKKyNkZWZpbmUgTVhDX0xMX1VBUlRfVkFERFIJQUlQUzFfSU9fQUREUkVTUyhVQVJUMV9CQVNFX0FERFIpCisKICNlbmRpZiAvKiBfX0FTTV9BUkNIX01YQ19CT0FSRF9NWDMxQURTX0hfXyAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2JvYXJkLW14MzFsaXRlLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvYm9hcmQtbXgzMWxpdGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNGU1Y2Y1Ci0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2JvYXJkLW14MzFsaXRlLmgKQEAgLTAsMCArMSwzOCBAQAorLyoKKyAqIENvcHlyaWdodCAyMDA3IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKi8KKworLyoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKi8KKworI2lmbmRlZiBfX0FTTV9BUkNIX01YQ19CT0FSRF9NWDMxTElURV9IX18KKyNkZWZpbmUgX19BU01fQVJDSF9NWENfQk9BUkRfTVgzMUxJVEVfSF9fCisKKyNkZWZpbmUgTVhDX01BWF9FWFBfSU9fTElORVMJMTYKKworCisvKgorICogTWVtb3J5IFNpemUgcGFyYW1ldGVycworICovCisKKy8qCisgKiBTaXplIG9mIFNEUkFNIG1lbW9yeQorICovCisjZGVmaW5lIFNEUkFNX01FTV9TSVpFCQlTWl8xMjhNCisvKgorICogU2l6ZSBvZiBNQlggYnVmZmVyIG1lbW9yeQorICovCisjZGVmaW5lIE1YQ19NQlhfTUVNX1NJWkUJU1pfMTZNCisvKgorICogU2l6ZSBvZiBtZW1vcnkgYXZhaWxhYmxlIHRvIGtlcm5lbAorICovCisjZGVmaW5lIE1FTV9TSVpFCQkoU0RSQU1fTUVNX1NJWkUgLSBNWENfTUJYX01FTV9TSVpFKQorCisjZGVmaW5lIE1YQ19MTF9VQVJUX1BBRERSCVVBUlQxX0JBU0VfQUREUgorI2RlZmluZSBNWENfTExfVUFSVF9WQUREUglBSVBTMV9JT19BRERSRVNTKFVBUlQxX0JBU0VfQUREUikKKworI2VuZGlmIC8qIF9fQVNNX0FSQ0hfTVhDX0JPQVJEX01YMzFBRFNfSF9fICovCisKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9ib2FyZC1wY20wMzcuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9ib2FyZC1wY20wMzcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MjIzMmJhCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2JvYXJkLXBjbTAzNy5oCkBAIC0wLDAgKzEsMjcgQEAKKy8qCisgKiAgQ29weXJpZ2h0IChDKSAyMDA4IFNhc2NoYSBIYXVlciwgUGVuZ3V0cm9uaXgKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBCisgKi8KKworI2lmbmRlZiBfX0FTTV9BUkNIX01YQ19CT0FSRF9QQ00wMzdfSF9fCisjZGVmaW5lIF9fQVNNX0FSQ0hfTVhDX0JPQVJEX1BDTTAzN19IX18KKworLyogbWFuZGF0b3J5IGZvciBDT05GSUdfTExfREVCVUcgKi8KKworI2RlZmluZSBNWENfTExfVUFSVF9QQUREUglVQVJUMV9CQVNFX0FERFIKKyNkZWZpbmUgTVhDX0xMX1VBUlRfVkFERFIJQUlQUzFfSU9fQUREUkVTUyhVQVJUMV9CQVNFX0FERFIpCisKKyNlbmRpZiAvKiBfX0FTTV9BUkNIX01YQ19CT0FSRF9QQ00wMzdfSF9fICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvYm9hcmQtcGNtMDM4LmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvYm9hcmQtcGNtMDM4LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzUwYzYyYQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9ib2FyZC1wY20wMzguaApAQCAtMCwwICsxLDQxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA4IEp1ZXJnZW4gQmVpc2VydCAoa2VybmVsQHBlbmd1dHJvbml4LmRlKQorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMgorICogb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLAorICogTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpZm5kZWYgX19BU01fQVJDSF9NWENfQk9BUkRfUENNMDM4X0hfXworI2RlZmluZSBfX0FTTV9BUkNIX01YQ19CT0FSRF9QQ00wMzhfSF9fCisKKy8qIG1hbmRhdG9yeSBmb3IgQ09ORklHX0xMX0RFQlVHICovCisKKyNkZWZpbmUgTVhDX0xMX1VBUlRfUEFERFIJVUFSVDFfQkFTRV9BRERSCisjZGVmaW5lIE1YQ19MTF9VQVJUX1ZBRERSCShBSVBJX0JBU0VfQUREUl9WSVJUICsgMHgwQTAwMCkKKworI2lmbmRlZiBfX0FTU0VNQkxZX18KKy8qCisgKiBUaGlzIENQVSBtb2R1bGUgbmVlZHMgYSBiYXNlYm9hcmQgdG8gd29yay4gQWZ0ZXIgYmFzaWMgaW5pdGlhbGl6aW5nCisgKiBpdHMgb3duIGRldmljZXMsIGl0IGNhbGxzIGJhc2Vib2FyZCdzIGluaXQgZnVuY3Rpb24uCisgKiBUT0RPOiBBZGQgeW91ciBvd24gYmFzZWJvYXJkIGluaXQgZnVuY3Rpb24gYW5kIGNhbGwgaXQgZnJvbQorICogaW5zaWRlIHBjbTAzOF9pbml0KCkuCisgKgorICogVGhpcyBleGFtcGxlIGhlcmUgaXMgZm9yIHRoZSBkZXZlbG9wbWVudCBib2FyZC4gUmVmZXIgcGNtOTcwLWJhc2Vib2FyZC5jCisgKi8KKworZXh0ZXJuIHZvaWQgcGNtOTcwX2Jhc2Vib2FyZF9pbml0KHZvaWQpOworCisjZW5kaWYKKworI2VuZGlmIC8qIF9fQVNNX0FSQ0hfTVhDX0JPQVJEX1BDTTAzOF9IX18gKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9jbG9jay5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2Nsb2NrLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjRjYWEyYgotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9jbG9jay5oCkBAIC0wLDAgKzEsNjcgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAwNS0yMDA3IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgMjAwOCBKdWVyZ2VuIEJlaXNlcnQsIGtlcm5lbEBwZW5ndXRyb25peC5kZQorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMgorICogb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLAorICogTUEgIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaWZuZGVmIF9fQVNNX0FSQ0hfTVhDX0NMT0NLX0hfXworI2RlZmluZSBfX0FTTV9BUkNIX01YQ19DTE9DS19IX18KKworI2lmbmRlZiBfX0FTU0VNQkxZX18KKyNpbmNsdWRlIDxsaW51eC9saXN0Lmg+CisKK3N0cnVjdCBtb2R1bGU7CisKK3N0cnVjdCBjbGsgeworCXN0cnVjdCBsaXN0X2hlYWQgbm9kZTsKKwlzdHJ1Y3QgbW9kdWxlICpvd25lcjsKKwljb25zdCBjaGFyICpuYW1lOworCWludCBpZDsKKwkvKiBTb3VyY2UgY2xvY2sgdGhpcyBjbGsgZGVwZW5kcyBvbiAqLworCXN0cnVjdCBjbGsgKnBhcmVudDsKKwkvKiBTZWNvbmRhcnkgY2xvY2sgdG8gZW5hYmxlL2Rpc2FibGUgd2l0aCB0aGlzIGNsb2NrICovCisJc3RydWN0IGNsayAqc2Vjb25kYXJ5OworCS8qIFJlZmVyZW5jZSBjb3VudCBvZiBjbG9jayBlbmFibGUvZGlzYWJsZSAqLworCV9fczggdXNlY291bnQ7CisJLyogUmVnaXN0ZXIgYml0IHBvc2l0aW9uIGZvciBjbG9jaydzIGVuYWJsZS9kaXNhYmxlIGNvbnRyb2wuICovCisJdTggZW5hYmxlX3NoaWZ0OworCS8qIFJlZ2lzdGVyIGFkZHJlc3MgZm9yIGNsb2NrJ3MgZW5hYmxlL2Rpc2FibGUgY29udHJvbC4gKi8KKwl1MzIgZW5hYmxlX3JlZzsKKwl1MzIgZmxhZ3M7CisJLyogZ2V0IHRoZSBjdXJyZW50IGNsb2NrIHJhdGUgKGFsd2F5cyBhIGZyZXNoIHZhbHVlKSAqLworCXVuc2lnbmVkIGxvbmcgKCpnZXRfcmF0ZSkgKHN0cnVjdCBjbGsgKik7CisJLyogRnVuY3Rpb24gcHRyIHRvIHNldCB0aGUgY2xvY2sgdG8gYSBuZXcgcmF0ZS4gVGhlIHJhdGUgbXVzdCBtYXRjaCBhCisJICAgc3VwcG9ydGVkIHJhdGUgcmV0dXJuZWQgZnJvbSByb3VuZF9yYXRlLiBMZWF2ZSBibGFuayBpZiBjbG9jayBpcyBub3QKKwkgICBwcm9ncmFtbWFibGUgKi8KKwlpbnQgKCpzZXRfcmF0ZSkgKHN0cnVjdCBjbGsgKiwgdW5zaWduZWQgbG9uZyk7CisJLyogRnVuY3Rpb24gcHRyIHRvIHJvdW5kIHRoZSByZXF1ZXN0ZWQgY2xvY2sgcmF0ZSB0byB0aGUgbmVhcmVzdAorCSAgIHN1cHBvcnRlZCByYXRlIHRoYXQgaXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIHRoZSByZXF1ZXN0ZWQgcmF0ZS4gKi8KKwl1bnNpZ25lZCBsb25nICgqcm91bmRfcmF0ZSkgKHN0cnVjdCBjbGsgKiwgdW5zaWduZWQgbG9uZyk7CisJLyogRnVuY3Rpb24gcHRyIHRvIGVuYWJsZSB0aGUgY2xvY2suIExlYXZlIGJsYW5rIGlmIGNsb2NrIGNhbiBub3QKKwkgICBiZSBnYXRlZC4gKi8KKwlpbnQgKCplbmFibGUpIChzdHJ1Y3QgY2xrICopOworCS8qIEZ1bmN0aW9uIHB0ciB0byBkaXNhYmxlIHRoZSBjbG9jay4gTGVhdmUgYmxhbmsgaWYgY2xvY2sgY2FuIG5vdAorCSAgIGJlIGdhdGVkLiAqLworCXZvaWQgKCpkaXNhYmxlKSAoc3RydWN0IGNsayAqKTsKKwkvKiBGdW5jdGlvbiBwdHIgdG8gc2V0IHRoZSBwYXJlbnQgY2xvY2sgb2YgdGhlIGNsb2NrLiAqLworCWludCAoKnNldF9wYXJlbnQpIChzdHJ1Y3QgY2xrICosIHN0cnVjdCBjbGsgKik7Cit9OworCitpbnQgY2xrX3JlZ2lzdGVyKHN0cnVjdCBjbGsgKmNsayk7Cit2b2lkIGNsa191bnJlZ2lzdGVyKHN0cnVjdCBjbGsgKmNsayk7CisKKyNlbmRpZiAvKiBfX0FTU0VNQkxZX18gKi8KKyNlbmRpZiAvKiBfX0FTTV9BUkNIX01YQ19DTE9DS19IX18gKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9jb21tb24uaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9jb21tb24uaAppbmRleCAyM2I0MzUwLi5hNmQyZTI0IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvY29tbW9uLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2NvbW1vbi5oCkBAIC0xMSwxMCArMTEsMTAgQEAKICNpZm5kZWYgX19BU01fQVJDSF9NWENfQ09NTU9OX0hfXwogI2RlZmluZSBfX0FTTV9BUkNIX01YQ19DT01NT05fSF9fCiAKLXN0cnVjdCBzeXNfdGltZXI7Ci0KIGV4dGVybiB2b2lkIG14Y19tYXBfaW8odm9pZCk7CiBleHRlcm4gdm9pZCBteGNfaW5pdF9pcnEodm9pZCk7Ci1leHRlcm4gc3RydWN0IHN5c190aW1lciBteGNfdGltZXI7CitleHRlcm4gdm9pZCBteGNfdGltZXJfaW5pdChjb25zdCBjaGFyICpjbGtfdGltZXIpOworZXh0ZXJuIGludCBteGNfY2xvY2tzX2luaXQodW5zaWduZWQgbG9uZyBmcmVmKTsKK2V4dGVybiBpbnQgbXhjX3JlZ2lzdGVyX2dwaW9zKHZvaWQpOwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9kZWJ1Zy1tYWNyby5TIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2RlYnVnLW1hY3JvLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTc1MDg3ZgotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9kZWJ1Zy1tYWNyby5TCkBAIC0wLDAgKzEsNDkgQEAKKy8qIGxpbnV4L2luY2x1ZGUvYXNtLWFybS9hcmNoLWlteC9kZWJ1Zy1tYWNyby5TCisgKgorICogRGVidWdnaW5nIG1hY3JvIGluY2x1ZGUgaGVhZGVyCisgKgorICogIENvcHlyaWdodCAoQykgMTk5NC0xOTk5IFJ1c3NlbGwgS2luZworICogIE1vdmVkIGZyb20gbGludXgvYXJjaC9hcm0va2VybmVsL2RlYnVnLlMgYnkgQmVuIERvb2tzCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqCisgKi8KKworI2luY2x1ZGUgPGFzbS9hcmNoL2hhcmR3YXJlLmg+CisKKyNpZmRlZiBDT05GSUdfTUFDSF9NWDMxQURTCisjaW5jbHVkZSA8YXNtL2FyY2gvYm9hcmQtbXgzMWFkcy5oPgorI2VuZGlmCisjaWZkZWYgQ09ORklHX01BQ0hfUENNMDM3CisjaW5jbHVkZSA8YXNtL2FyY2gvYm9hcmQtcGNtMDM3Lmg+CisjZW5kaWYKKyNpZmRlZiBDT05GSUdfTUFDSF9NWDMxTElURQorI2luY2x1ZGUgPGFzbS9hcmNoL2JvYXJkLW14MzFsaXRlLmg+CisjZW5kaWYKKyNpZmRlZiBDT05GSUdfTUFDSF9NWDI3QURTCisjaW5jbHVkZSA8YXNtL2FyY2gvYm9hcmQtbXgyN2Fkcy5oPgorI2VuZGlmCisjaWZkZWYgQ09ORklHX01BQ0hfUENNMDM4CisjaW5jbHVkZSA8YXNtL2FyY2gvYm9hcmQtcGNtMDM4Lmg+CisjZW5kaWYKKwkJLm1hY3JvCWFkZHJ1YXJ0LHJ4CisJCW1yYwlwMTUsIDAsIFxyeCwgYzEsIGMwCisJCXRzdAlccngsICMxCQkJQCBNTVUgZW5hYmxlZD8KKwkJbGRyZXEJXHJ4LCA9TVhDX0xMX1VBUlRfUEFERFIJQCBwaHlzaWNhbAorCQlsZHJuZQlccngsID1NWENfTExfVUFSVF9WQUREUglAIHZpcnR1YWwKKwkJLmVuZG0KKworCQkubWFjcm8Jc2VuZHVhcnQscmQscngKKwkJc3RyCVxyZCwgW1xyeCwgIzB4NDBdCUAgVFhEQVRBCisJCS5lbmRtCisKKwkJLm1hY3JvCXdhaXR1YXJ0LHJkLHJ4CisJCS5lbmRtCisKKwkJLm1hY3JvCWJ1c3l1YXJ0LHJkLHJ4CisxMDAyOgkJbGRyCVxyZCwgW1xyeCwgIzB4OThdCUAgU1IyCisJCXRzdAlccmQsICMxIDw8IDMJCUAgVFhEQworCQliZXEJMTAwMmIJCQlAIHdhaXQgdW50aWwgdHJhbnNtaXQgZG9uZQorCQkuZW5kbQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2dwaW8uaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9ncGlvLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDM5M2UxNQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9ncGlvLmgKQEAgLTAsMCArMSw0MiBAQAorLyoKKyAqIENvcHlyaWdodCAyMDA3IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgMjAwOCBKdWVyZ2VuIEJlaXNlcnQsIGtlcm5lbEBwZW5ndXRyb25peC5kZQorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMgorICogb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpZm5kZWYgX19BU01fQVJDSF9NWENfR1BJT19IX18KKyNkZWZpbmUgX19BU01fQVJDSF9NWENfR1BJT19IX18KKworI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgorI2luY2x1ZGUgPGFzbS1nZW5lcmljL2dwaW8uaD4KKworLyogdXNlIGdwaW9saWIgZGlzcGF0Y2hlcnMgKi8KKyNkZWZpbmUgZ3Bpb19nZXRfdmFsdWUJCV9fZ3Bpb19nZXRfdmFsdWUKKyNkZWZpbmUgZ3Bpb19zZXRfdmFsdWUJCV9fZ3Bpb19zZXRfdmFsdWUKKyNkZWZpbmUgZ3Bpb19jYW5zbGVlcAkJX19ncGlvX2NhbnNsZWVwCisKKyNkZWZpbmUgZ3Bpb190b19pcnEoZ3BpbykJKE1YQ19NQVhfSU5UX0xJTkVTICsgKGdwaW8pKQorI2RlZmluZSBpcnFfdG9fZ3BpbyhpcnEpCSgoaXJxKSAtIE1YQ19NQVhfSU5UX0xJTkVTKQorCitzdHJ1Y3QgbXhjX2dwaW9fcG9ydCB7CisJdm9pZCBfX2lvbWVtICpiYXNlOworCWludCBpcnE7CisJaW50IHZpcnR1YWxfaXJxX3N0YXJ0OworCXN0cnVjdCBncGlvX2NoaXAgY2hpcDsKK307CisKK2ludCBteGNfZ3Bpb19pbml0KHN0cnVjdCBteGNfZ3Bpb19wb3J0KiwgaW50KTsKKworI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvaGFyZHdhcmUuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9oYXJkd2FyZS5oCmluZGV4IGU4N2ZmMDYuLjM3Y2RkYmEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9oYXJkd2FyZS5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9oYXJkd2FyZS5oCkBAIC0xLDExICsxLDIwIEBACiAvKgotICogIENvcHlyaWdodCAyMDA0LTIwMDcgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSAqLwotCi0vKgotICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCi0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqIENvcHlyaWdodCAyMDA0LTIwMDcgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqIENvcHlyaWdodCAyMDA4IEp1ZXJnZW4gQmVpc2VydCwga2VybmVsQHBlbmd1dHJvbml4LmRlCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyCisgKiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sCisgKiBNQSAgMDIxMTAtMTMwMSwgVVNBLgogICovCiAKICNpZm5kZWYgX19BU01fQVJDSF9NWENfSEFSRFdBUkVfSF9fCkBAIC0xNywxNSArMjYsMTIgQEAKICMgaW5jbHVkZSA8YXNtL2FyY2gvbXgzMS5oPgogI2VuZGlmCiAKLSNpbmNsdWRlIDxhc20vYXJjaC9teGMuaD4KLQotLyoKLSAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotICogQm9hcmQgc3BlY2lmaWMgZGVmaW5lcwotICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gKi8KLSNpZmRlZiBDT05GSUdfTUFDSF9NWDMxQURTCi0jIGluY2x1ZGUgPGFzbS9hcmNoL2JvYXJkLW14MzFhZHMuaD4KKyNpZmRlZiBDT05GSUdfQVJDSF9NWDIKKyMgaWZkZWYgQ09ORklHX01BQ0hfTVgyNworIyAgaW5jbHVkZSA8YXNtL2FyY2gvbXgyNy5oPgorIyBlbmRpZgogI2VuZGlmCiAKKyNpbmNsdWRlIDxhc20vYXJjaC9teGMuaD4KKwogI2VuZGlmIC8qIF9fQVNNX0FSQ0hfTVhDX0hBUkRXQVJFX0hfXyAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2lpbS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2lpbS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMxNWJmZmEKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvaWltLmgKQEAgLTAsMCArMSw3NyBAQAorLyoKKyAqIENvcHlyaWdodCAyMDA0LTIwMDcgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqIENvcHlyaWdodCAyMDA4IEp1ZXJnZW4gQmVpc2VydCwga2VybmVsQHBlbmd1dHJvbml4LmRlCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyCisgKiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sCisgKiBNQSAgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpZm5kZWYgX19BU01fQVJDSF9NWENfSUlNX0hfXworI2RlZmluZSBfX0FTTV9BUkNIX01YQ19JSU1fSF9fCisKKy8qIFJlZ2lzdGVyIG9mZnNldHMgKi8KKyNkZWZpbmUgTVhDX0lJTVNUQVQgICAgICAgICAgICAgMHgwMDAwCisjZGVmaW5lIE1YQ19JSU1TVEFUTSAgICAgICAgICAgIDB4MDAwNAorI2RlZmluZSBNWENfSUlNRVJSICAgICAgICAgICAgICAweDAwMDgKKyNkZWZpbmUgTVhDX0lJTUVNQVNLICAgICAgICAgICAgMHgwMDBDCisjZGVmaW5lIE1YQ19JSU1GQ1RMICAgICAgICAgICAgIDB4MDAxMAorI2RlZmluZSBNWENfSUlNVUEgICAgICAgICAgICAgICAweDAwMTQKKyNkZWZpbmUgTVhDX0lJTUxBICAgICAgICAgICAgICAgMHgwMDE4CisjZGVmaW5lIE1YQ19JSU1TREFUICAgICAgICAgICAgIDB4MDAxQworI2RlZmluZSBNWENfSUlNUFJFViAgICAgICAgICAgICAweDAwMjAKKyNkZWZpbmUgTVhDX0lJTVNSRVYgICAgICAgICAgICAgMHgwMDI0CisjZGVmaW5lIE1YQ19JSU1QUkdfUCAgICAgICAgICAgIDB4MDAyOAorI2RlZmluZSBNWENfSUlNU0NTMCAgICAgICAgICAgICAweDAwMkMKKyNkZWZpbmUgTVhDX0lJTVNDUzEgICAgICAgICAgICAgMHgwMDMwCisjZGVmaW5lIE1YQ19JSU1TQ1MyICAgICAgICAgICAgIDB4MDAzNAorI2RlZmluZSBNWENfSUlNU0NTMyAgICAgICAgICAgICAweDAwMzgKKyNkZWZpbmUgTVhDX0lJTUZCQUMwICAgICAgICAgICAgMHgwODAwCisjZGVmaW5lIE1YQ19JSU1KQUMgICAgICAgICAgICAgIDB4MDgwNAorI2RlZmluZSBNWENfSUlNSFdWMSAgICAgICAgICAgICAweDA4MDgKKyNkZWZpbmUgTVhDX0lJTUhXVjIgICAgICAgICAgICAgMHgwODBDCisjZGVmaW5lIE1YQ19JSU1IQUIwICAgICAgICAgICAgIDB4MDgxMAorI2RlZmluZSBNWENfSUlNSEFCMSAgICAgICAgICAgICAweDA4MTQKKy8qIERlZmluaXRpb25zIGZvciBpLk1YMjcgVE8yICovCisjZGVmaW5lIE1YQ19JSU1NQUMgICAgICAgICAgICAgIDB4MDgxNAorI2RlZmluZSBNWENfSUlNUFJFVl9GVVNFICAgICAgICAweDA4MTgKKyNkZWZpbmUgTVhDX0lJTVNSRVZfRlVTRSAgICAgICAgMHgwODFDCisjZGVmaW5lIE1YQ19JSU1TSkNfQ0hBTExfMCAgICAgIDB4MDgyMAorI2RlZmluZSBNWENfSUlNU0pDX0NIQUxMXzcgICAgICAweDA4M0MKKyNkZWZpbmUgTVhDX0lJTUZCMFVDMTcgICAgICAgICAgMHgwODQwCisjZGVmaW5lIE1YQ19JSU1GQjBVQzI1NSAgICAgICAgIDB4MEJGQworI2RlZmluZSBNWENfSUlNRkJBQzEgICAgICAgICAgICAweDBDMDAKKy8qIERlZmluaXRpb25zIGZvciBpLk1YMjcgVE8yICovCisjZGVmaW5lIE1YQ19JSU1TVUlEICAgICAgICAgICAgIDB4MEMwNAorI2RlZmluZSBNWENfSUlNS0VZMCAgICAgICAgICAgICAweDBDMDQKKyNkZWZpbmUgTVhDX0lJTUtFWTIwICAgICAgICAgICAgMHgwQzU0CisjZGVmaW5lIE1YQ19JSU1TSkNfUkVTUF8wICAgICAgIDB4MEM1OAorI2RlZmluZSBNWENfSUlNU0pDX1JFU1BfNyAgICAgICAweDBDNzQKKyNkZWZpbmUgTVhDX0lJTUZCMVVDMzAgICAgICAgICAgMHgwQzc4CisjZGVmaW5lIE1YQ19JSU1GQjFVQzI1NSAgICAgICAgIDB4MEZGQworCisvKiBCaXQgZGVmaW5pdGlvbnMgKi8KKworI2RlZmluZSBNWENfSUlNSFdWMV9XTE9DSyAgICAgICAgICAgICAgICgweDEgPDwgNykKKyNkZWZpbmUgTVhDX0lJTUhXVjFfTUNVX0VORElBTiAgICAgICAgICAoMHgxIDw8IDYpCisjZGVmaW5lIE1YQ19JSU1IV1YxX0RTUF9FTkRJQU4gICAgICAgICAgKDB4MSA8PCA1KQorI2RlZmluZSBNWENfSUlNSFdWMV9CT09UX0lOVCAgICAgICAgICAgICgweDEgPDwgNCkKKyNkZWZpbmUgTVhDX0lJTUhXVjFfU0NDX0RJU0FCTEUgICAgICAgICAoMHgxIDw8IDMpCisjZGVmaW5lIE1YQ19JSU1IV1YxX0hBTlRST19ESVNBQkxFICAgICAgKDB4MSA8PCAyKQorI2RlZmluZSBNWENfSUlNSFdWMV9NRU1TVElDS19ESVMgICAgICAgICgweDEgPDwgMSkKKworI2RlZmluZSBNWENfSUlNSFdWMl9XTE9DSyAgICAgICAgICAgICAgICgweDEgPDwgNykKKyNkZWZpbmUgTVhDX0lJTUhXVjJfQlBfU0RNQSAgICAgICAgICAgICAoMHgxIDw8IDYpCisjZGVmaW5lIE1YQ19JSU1IV1YyX1NDTV9EQ00gICAgICAgICAgICAgKDB4MSA8PCA1KQorCisjZW5kaWYgLyogX19BU01fQVJDSF9NWENfSUlNX0hfXyAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2lteC11YXJ0LmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvaW14LXVhcnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44M2ZiNzJjNAotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9pbXgtdWFydC5oCkBAIC0wLDAgKzEsMzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggYnkgU2FzY2hhIEhhdWVyIDxrZXJuZWxAcGVuZ3V0cm9uaXguZGU+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyCisgKiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sCisgKiBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2lmbmRlZiBBU01BUk1fQVJDSF9VQVJUX0gKKyNkZWZpbmUgQVNNQVJNX0FSQ0hfVUFSVF9ICisKKyNkZWZpbmUgSU1YVUFSVF9IQVZFX1JUU0NUUyAoMTw8MCkKKworc3RydWN0IGlteHVhcnRfcGxhdGZvcm1fZGF0YSB7CisJaW50ICgqaW5pdCkoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldik7CisJaW50ICgqZXhpdCkoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldik7CisJdW5zaWduZWQgaW50IGZsYWdzOworfTsKKworaW50IF9faW5pdCBpbXhfaW5pdF91YXJ0KGludCB1YXJ0X25vLCBzdHJ1Y3QgaW14dWFydF9wbGF0Zm9ybV9kYXRhICpwZGF0YSk7CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2lvbXV4LW14MS1teDIuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9pb211eC1teDEtbXgyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDc2ZDM3YgotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9pb211eC1teDEtbXgyLmgKQEAgLTAsMCArMSwzNzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggYnkgU2FzY2hhIEhhdWVyIDxrZXJuZWxAcGVuZ3V0cm9uaXguZGU+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyCisgKiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sCisgKiBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2lmbmRlZiBfTVhDX0dQSU9fTVgxX01YMl9ICisjZGVmaW5lIF9NWENfR1BJT19NWDFfTVgyX0gKKworI2luY2x1ZGUgPGxpbnV4L2lvLmg+CisKKyNkZWZpbmUgTVhDX0dQSU9fQUxMT0NfTU9ERV9OT1JNQUwJMAorI2RlZmluZSBNWENfR1BJT19BTExPQ19NT0RFX05PX0FMTE9DCTEKKyNkZWZpbmUgTVhDX0dQSU9fQUxMT0NfTU9ERV9UUllfQUxMT0MJMgorI2RlZmluZSBNWENfR1BJT19BTExPQ19NT0RFX0FMTE9DX09OTFkJNAorI2RlZmluZSBNWENfR1BJT19BTExPQ19NT0RFX1JFTEVBU0UJOAorCisvKgorICogIEdQSU8gTW9kdWxlIGFuZCBJL08gTXVsdGlwbGV4ZXIKKyAqICB4ID0gMC4uMyBmb3IgcmVnX0EsIHJlZ19CLCByZWdfQywgcmVnX0QKKyAqLworI2RlZmluZSBWQV9HUElPX0JBU0UJSU9fQUREUkVTUyhHUElPX0JBU0VfQUREUikKKyNkZWZpbmUgTVhDX0RESVIoeCkgICAgKDB4MDAgKyAoKHgpIDw8IDgpKQorI2RlZmluZSBNWENfT0NSMSh4KSAgICAoMHgwNCArICgoeCkgPDwgOCkpCisjZGVmaW5lIE1YQ19PQ1IyKHgpICAgICgweDA4ICsgKCh4KSA8PCA4KSkKKyNkZWZpbmUgTVhDX0lDT05GQTEoeCkgKDB4MGMgKyAoKHgpIDw8IDgpKQorI2RlZmluZSBNWENfSUNPTkZBMih4KSAoMHgxMCArICgoeCkgPDwgOCkpCisjZGVmaW5lIE1YQ19JQ09ORkIxKHgpICgweDE0ICsgKCh4KSA8PCA4KSkKKyNkZWZpbmUgTVhDX0lDT05GQjIoeCkgKDB4MTggKyAoKHgpIDw8IDgpKQorI2RlZmluZSBNWENfRFIoeCkgICAgICAoMHgxYyArICgoeCkgPDwgOCkpCisjZGVmaW5lIE1YQ19HSVVTKHgpICAgICgweDIwICsgKCh4KSA8PCA4KSkKKyNkZWZpbmUgTVhDX1NTUih4KSAgICAgKDB4MjQgKyAoKHgpIDw8IDgpKQorI2RlZmluZSBNWENfSUNSMSh4KSAgICAoMHgyOCArICgoeCkgPDwgOCkpCisjZGVmaW5lIE1YQ19JQ1IyKHgpICAgICgweDJjICsgKCh4KSA8PCA4KSkKKyNkZWZpbmUgTVhDX0lNUih4KSAgICAgKDB4MzAgKyAoKHgpIDw8IDgpKQorI2RlZmluZSBNWENfSVNSKHgpICAgICAoMHgzNCArICgoeCkgPDwgOCkpCisjZGVmaW5lIE1YQ19HUFIoeCkgICAgICgweDM4ICsgKCh4KSA8PCA4KSkKKyNkZWZpbmUgTVhDX1NXUih4KSAgICAgKDB4M2MgKyAoKHgpIDw8IDgpKQorI2RlZmluZSBNWENfUFVFTih4KSAgICAoMHg0MCArICgoeCkgPDwgOCkpCisKKyNpZmRlZiBDT05GSUdfQVJDSF9NWDEKKyMgZGVmaW5lIEdQSU9fUE9SVF9NQVggIDMKKyNlbmRpZgorI2lmZGVmIENPTkZJR19BUkNIX01YMgorIyBkZWZpbmUgR1BJT19QT1JUX01BWCAgNQorI2VuZGlmCisKKyNpZm5kZWYgR1BJT19QT1JUX01BWAorIyBlcnJvciAiR1BJTyBjb25maWcgcG9ydCBjb3VudCB1bmtub3duISIKKyNlbmRpZgorCisjZGVmaW5lIEdQSU9fUElOX01BU0sgMHgxZgorCisjZGVmaW5lIEdQSU9fUE9SVF9TSElGVCA1CisjZGVmaW5lIEdQSU9fUE9SVF9NQVNLICgweDcgPDwgR1BJT19QT1JUX1NISUZUKQorCisjZGVmaW5lIEdQSU9fUE9SVEEgKDAgPDwgR1BJT19QT1JUX1NISUZUKQorI2RlZmluZSBHUElPX1BPUlRCICgxIDw8IEdQSU9fUE9SVF9TSElGVCkKKyNkZWZpbmUgR1BJT19QT1JUQyAoMiA8PCBHUElPX1BPUlRfU0hJRlQpCisjZGVmaW5lIEdQSU9fUE9SVEQgKDMgPDwgR1BJT19QT1JUX1NISUZUKQorI2RlZmluZSBHUElPX1BPUlRFICg0IDw8IEdQSU9fUE9SVF9TSElGVCkKKyNkZWZpbmUgR1BJT19QT1JURiAoNSA8PCBHUElPX1BPUlRfU0hJRlQpCisKKyNkZWZpbmUgR1BJT19PVVQgICAoMSA8PCA4KQorI2RlZmluZSBHUElPX0lOICAgICgwIDw8IDgpCisjZGVmaW5lIEdQSU9fUFVFTiAgKDEgPDwgOSkKKworI2RlZmluZSBHUElPX1BGICAgICgxIDw8IDEwKQorI2RlZmluZSBHUElPX0FGICAgICgxIDw8IDExKQorCisjZGVmaW5lIEdQSU9fT0NSX1NISUZUIDEyCisjZGVmaW5lIEdQSU9fT0NSX01BU0sgKDMgPDwgR1BJT19PQ1JfU0hJRlQpCisjZGVmaW5lIEdQSU9fQUlOICAgKDAgPDwgR1BJT19PQ1JfU0hJRlQpCisjZGVmaW5lIEdQSU9fQklOICAgKDEgPDwgR1BJT19PQ1JfU0hJRlQpCisjZGVmaW5lIEdQSU9fQ0lOICAgKDIgPDwgR1BJT19PQ1JfU0hJRlQpCisjZGVmaW5lIEdQSU9fR1BJTyAgKDMgPDwgR1BJT19PQ1JfU0hJRlQpCisKKyNkZWZpbmUgR1BJT19BT1VUX1NISUZUIDE0CisjZGVmaW5lIEdQSU9fQU9VVF9NQVNLICgzIDw8IEdQSU9fQU9VVF9TSElGVCkKKyNkZWZpbmUgR1BJT19BT1VUICAgICAoMCA8PCBHUElPX0FPVVRfU0hJRlQpCisjZGVmaW5lIEdQSU9fQU9VVF9JU1IgKDEgPDwgR1BJT19BT1VUX1NISUZUKQorI2RlZmluZSBHUElPX0FPVVRfMCAgICgyIDw8IEdQSU9fQU9VVF9TSElGVCkKKyNkZWZpbmUgR1BJT19BT1VUXzEgICAoMyA8PCBHUElPX0FPVVRfU0hJRlQpCisKKyNkZWZpbmUgR1BJT19CT1VUX1NISUZUIDE2CisjZGVmaW5lIEdQSU9fQk9VVF9NQVNLICgzIDw8IEdQSU9fQk9VVF9TSElGVCkKKyNkZWZpbmUgR1BJT19CT1VUICAgICAgKDAgPDwgR1BJT19CT1VUX1NISUZUKQorI2RlZmluZSBHUElPX0JPVVRfSVNSICAoMSA8PCBHUElPX0JPVVRfU0hJRlQpCisjZGVmaW5lIEdQSU9fQk9VVF8wICAgICgyIDw8IEdQSU9fQk9VVF9TSElGVCkKKyNkZWZpbmUgR1BJT19CT1VUXzEgICAgKDMgPDwgR1BJT19CT1VUX1NISUZUKQorCitleHRlcm4gdm9pZCBteGNfZ3Bpb19tb2RlKGludCBncGlvX21vZGUpOworZXh0ZXJuIGludCBteGNfZ3Bpb19zZXR1cF9tdWx0aXBsZV9waW5zKGNvbnN0IGludCAqcGluX2xpc3QsIHVuc2lnbmVkIGNvdW50LAorCQkJCQlpbnQgYWxsb2NfbW9kZSwgY29uc3QgY2hhciAqbGFiZWwpOworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisvKiBhc3NpZ25lbWVudHMgZm9yIEdQSU8gYWx0ZXJuYXRlL3ByaW1hcnkgZnVuY3Rpb25zICovCisKKy8qIEZJWE1FOiBUaGlzIGxpc3QgaXMgbm90IGNvbXBsZXRlZC4gVGhlIGNvcnJlY3QgZGlyZWN0aW9ucyBhcmUKKyAqIG1pc3Npbmcgb24gc29tZSAobWFueSkgcGlucworICovCisjaWZkZWYgQ09ORklHX0FSQ0hfTVgxCisjZGVmaW5lIFBBMF9BSU5fU1BJMl9DTEsgICAgIChHUElPX0dJVVMgfCBHUElPX1BPUlRBIHwgR1BJT19PVVQgfCAwKQorI2RlZmluZSBQQTBfQUZfRVRNVFJBQ0VTWU5DICAoR1BJT19QT1JUQSB8IEdQSU9fQUYgfCAwKQorI2RlZmluZSBQQTFfQU9VVF9TUEkyX1JYRCAgICAoR1BJT19HSVVTIHwgR1BJT19QT1JUQSB8IEdQSU9fSU4gfCAxKQorI2RlZmluZSBQQTFfUEZfVElOICAgICAgICAgICAoR1BJT19QT1JUQSB8IEdQSU9fUEYgfCAxKQorI2RlZmluZSBQQTJfUEZfUFdNMCAgICAgICAgICAoR1BJT19QT1JUQSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDIpCisjZGVmaW5lIFBBM19QRl9DU0lfTUNMSyAgICAgIChHUElPX1BPUlRBIHwgR1BJT19QRiB8IDMpCisjZGVmaW5lIFBBNF9QRl9DU0lfRDAgICAgICAgIChHUElPX1BPUlRBIHwgR1BJT19QRiB8IDQpCisjZGVmaW5lIFBBNV9QRl9DU0lfRDEgICAgICAgIChHUElPX1BPUlRBIHwgR1BJT19QRiB8IDUpCisjZGVmaW5lIFBBNl9QRl9DU0lfRDIgICAgICAgIChHUElPX1BPUlRBIHwgR1BJT19QRiB8IDYpCisjZGVmaW5lIFBBN19QRl9DU0lfRDMgICAgICAgIChHUElPX1BPUlRBIHwgR1BJT19QRiB8IDcpCisjZGVmaW5lIFBBOF9QRl9DU0lfRDQgICAgICAgIChHUElPX1BPUlRBIHwgR1BJT19QRiB8IDgpCisjZGVmaW5lIFBBOV9QRl9DU0lfRDUgICAgICAgIChHUElPX1BPUlRBIHwgR1BJT19QRiB8IDkpCisjZGVmaW5lIFBBMTBfUEZfQ1NJX0Q2ICAgICAgIChHUElPX1BPUlRBIHwgR1BJT19QRiB8IDEwKQorI2RlZmluZSBQQTExX1BGX0NTSV9ENyAgICAgICAoR1BJT19QT1JUQSB8IEdQSU9fUEYgfCAxMSkKKyNkZWZpbmUgUEExMl9QRl9DU0lfVlNZTkMgICAgKEdQSU9fUE9SVEEgfCBHUElPX1BGIHwgMTIpCisjZGVmaW5lIFBBMTNfUEZfQ1NJX0hTWU5DICAgIChHUElPX1BPUlRBIHwgR1BJT19QRiB8IDEzKQorI2RlZmluZSBQQTE0X1BGX0NTSV9QSVhDTEsgICAoR1BJT19QT1JUQSB8IEdQSU9fUEYgfCAxNCkKKyNkZWZpbmUgUEExNV9QRl9JMkNfU0RBICAgICAgKEdQSU9fUE9SVEEgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxNSkKKyNkZWZpbmUgUEExNl9QRl9JMkNfU0NMICAgICAgKEdQSU9fUE9SVEEgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxNikKKyNkZWZpbmUgUEExN19BRl9FVE1UUkFDRVBLVDQgKEdQSU9fUE9SVEEgfCBHUElPX0FGIHwgMTcpCisjZGVmaW5lIFBBMTdfQUlOX1NQSTJfU1MgICAgIChHUElPX0dJVVMgfCBHUElPX1BPUlRBIHwgR1BJT19PVVQgfCAxNykKKyNkZWZpbmUgUEExOF9BRl9FVE1UUkFDRVBLVDUgKEdQSU9fUE9SVEEgfCBHUElPX0FGIHwgMTgpCisjZGVmaW5lIFBBMTlfQUZfRVRNVFJBQ0VQS1Q2IChHUElPX1BPUlRBIHwgR1BJT19BRiB8IDE5KQorI2RlZmluZSBQQTIwX0FGX0VUTVRSQUNFUEtUNyAoR1BJT19QT1JUQSB8IEdQSU9fQUYgfCAyMCkKKyNkZWZpbmUgUEEyMV9QRl9BMCAgICAgICAgICAgKEdQSU9fUE9SVEEgfCBHUElPX1BGIHwgMjEpCisjZGVmaW5lIFBBMjJfUEZfQ1M0ICAgICAgICAgIChHUElPX1BPUlRBIHwgR1BJT19QRiB8IDIyKQorI2RlZmluZSBQQTIzX1BGX0NTNSAgICAgICAgICAoR1BJT19QT1JUQSB8IEdQSU9fUEYgfCAyMykKKyNkZWZpbmUgUEEyNF9QRl9BMTYgICAgICAgICAgKEdQSU9fUE9SVEEgfCBHUElPX1BGIHwgMjQpCisjZGVmaW5lIFBBMjRfQUZfRVRNVFJBQ0VQS1QwIChHUElPX1BPUlRBIHwgR1BJT19BRiB8IDI0KQorI2RlZmluZSBQQTI1X1BGX0ExNyAgICAgICAgICAoR1BJT19QT1JUQSB8IEdQSU9fUEYgfCAyNSkKKyNkZWZpbmUgUEEyNV9BRl9FVE1UUkFDRVBLVDEgKEdQSU9fUE9SVEEgfCBHUElPX0FGIHwgMjUpCisjZGVmaW5lIFBBMjZfUEZfQTE4ICAgICAgICAgIChHUElPX1BPUlRBIHwgR1BJT19QRiB8IDI2KQorI2RlZmluZSBQQTI2X0FGX0VUTVRSQUNFUEtUMiAoR1BJT19QT1JUQSB8IEdQSU9fQUYgfCAyNikKKyNkZWZpbmUgUEEyN19QRl9BMTkgICAgICAgICAgKEdQSU9fUE9SVEEgfCBHUElPX1BGIHwgMjcpCisjZGVmaW5lIFBBMjdfQUZfRVRNVFJBQ0VQS1QzIChHUElPX1BPUlRBIHwgR1BJT19BRiB8IDI3KQorI2RlZmluZSBQQTI4X1BGX0EyMCAgICAgICAgICAoR1BJT19QT1JUQSB8IEdQSU9fUEYgfCAyOCkKKyNkZWZpbmUgUEEyOF9BRl9FVE1QSVBFU1RBVDAgKEdQSU9fUE9SVEEgfCBHUElPX0FGIHwgMjgpCisjZGVmaW5lIFBBMjlfUEZfQTIxICAgICAgICAgIChHUElPX1BPUlRBIHwgR1BJT19QRiB8IDI5KQorI2RlZmluZSBQQTI5X0FGX0VUTVBJUEVTVEFUMSAoR1BJT19QT1JUQSB8IEdQSU9fQUYgfCAyOSkKKyNkZWZpbmUgUEEzMF9QRl9BMjIgICAgICAgICAgKEdQSU9fUE9SVEEgfCBHUElPX1BGIHwgMzApCisjZGVmaW5lIFBBMzBfQUZfRVRNUElQRVNUQVQyIChHUElPX1BPUlRBIHwgR1BJT19BRiB8IDMwKQorI2RlZmluZSBQQTMxX1BGX0EyMyAgICAgICAgICAoR1BJT19QT1JUQSB8IEdQSU9fUEYgfCAzMSkKKyNkZWZpbmUgUEEzMV9BRl9FVE1UUkFDRUNMSyAgKEdQSU9fUE9SVEEgfCBHUElPX0FGIHwgMzEpCisjZGVmaW5lIFBCOF9QRl9TRF9EQVQwICAgICAgIChHUElPX1BPUlRCIHwgR1BJT19QRiB8IEdQSU9fUFVFTiB8IDgpCisjZGVmaW5lIFBCOF9BRl9NU19QSU8gICAgICAgIChHUElPX1BPUlRCIHwgR1BJT19BRiB8IDgpCisjZGVmaW5lIFBCOV9QRl9TRF9EQVQxICAgICAgIChHUElPX1BPUlRCIHwgR1BJT19QRiB8IEdQSU9fUFVFTiAgfCA5KQorI2RlZmluZSBQQjlfQUZfTVNfUEkxICAgICAgICAoR1BJT19QT1JUQiB8IEdQSU9fQUYgfCA5KQorI2RlZmluZSBQQjEwX1BGX1NEX0RBVDIgICAgICAoR1BJT19QT1JUQiB8IEdQSU9fUEYgfCBHUElPX1BVRU4gIHwgMTApCisjZGVmaW5lIFBCMTBfQUZfTVNfU0NMS0kgICAgIChHUElPX1BPUlRCIHwgR1BJT19BRiB8IDEwKQorI2RlZmluZSBQQjExX1BGX1NEX0RBVDMgICAgICAoR1BJT19QT1JUQiB8IEdQSU9fUEYgfCAxMSkKKyNkZWZpbmUgUEIxMV9BRl9NU19TRElPICAgICAgKEdQSU9fUE9SVEIgfCBHUElPX0FGIHwgMTEpCisjZGVmaW5lIFBCMTJfUEZfU0RfQ0xLICAgICAgIChHUElPX1BPUlRCIHwgR1BJT19QRiB8IDEyKQorI2RlZmluZSBQQjEyX0FGX01TX1NDTEswICAgICAoR1BJT19QT1JUQiB8IEdQSU9fQUYgfCAxMikKKyNkZWZpbmUgUEIxM19QRl9TRF9DTUQgICAgICAgKEdQSU9fUE9SVEIgfCBHUElPX1BGIHwgR1BJT19QVUVOIHwgMTMpCisjZGVmaW5lIFBCMTNfQUZfTVNfQlMgICAgICAgIChHUElPX1BPUlRCIHwgR1BJT19BRiB8IDEzKQorI2RlZmluZSBQQjE0X0FGX1NTSV9SWEZTICAgICAoR1BJT19QT1JUQiB8IEdQSU9fQUYgfCAxNCkKKyNkZWZpbmUgUEIxNV9BRl9TU0lfUlhDTEsgICAgKEdQSU9fUE9SVEIgfCBHUElPX0FGIHwgMTUpCisjZGVmaW5lIFBCMTZfQUZfU1NJX1JYREFUICAgIChHUElPX1BPUlRCIHwgR1BJT19JTiB8IEdQSU9fQUYgfCAxNikKKyNkZWZpbmUgUEIxN19BRl9TU0lfVFhEQVQgICAgKEdQSU9fUE9SVEIgfCBHUElPX09VVCB8IEdQSU9fQUYgfCAxNykKKyNkZWZpbmUgUEIxOF9BRl9TU0lfVFhGUyAgICAgKEdQSU9fUE9SVEIgfCBHUElPX0FGIHwgMTgpCisjZGVmaW5lIFBCMTlfQUZfU1NJX1RYQ0xLICAgIChHUElPX1BPUlRCIHwgR1BJT19BRiB8IDE5KQorI2RlZmluZSBQQjIwX1BGX1VTQkRfQUZFICAgICAoR1BJT19QT1JUQiB8IEdQSU9fUEYgfCAyMCkKKyNkZWZpbmUgUEIyMV9QRl9VU0JEX09FICAgICAgKEdQSU9fUE9SVEIgfCBHUElPX1BGIHwgMjEpCisjZGVmaW5lIFBCMjJfUEZVU0JEX1JDViAgICAgIChHUElPX1BPUlRCIHwgR1BJT19QRiB8IDIyKQorI2RlZmluZSBQQjIzX1BGX1VTQkRfU1VTUE5EICAoR1BJT19QT1JUQiB8IEdQSU9fUEYgfCAyMykKKyNkZWZpbmUgUEIyNF9QRl9VU0JEX1ZQICAgICAgKEdQSU9fUE9SVEIgfCBHUElPX1BGIHwgMjQpCisjZGVmaW5lIFBCMjVfUEZfVVNCRF9WTSAgICAgIChHUElPX1BPUlRCIHwgR1BJT19QRiB8IDI1KQorI2RlZmluZSBQQjI2X1BGX1VTQkRfVlBPICAgICAoR1BJT19QT1JUQiB8IEdQSU9fUEYgfCAyNikKKyNkZWZpbmUgUEIyN19QRl9VU0JEX1ZNTyAgICAgKEdQSU9fUE9SVEIgfCBHUElPX1BGIHwgMjcpCisjZGVmaW5lIFBCMjhfUEZfVUFSVDJfQ1RTICAgIChHUElPX1BPUlRCIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMjgpCisjZGVmaW5lIFBCMjlfUEZfVUFSVDJfUlRTICAgIChHUElPX1BPUlRCIHwgR1BJT19JTiB8IEdQSU9fUEYgfCAyOSkKKyNkZWZpbmUgUEIzMF9QRl9VQVJUMl9UWEQgICAgKEdQSU9fUE9SVEIgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAzMCkKKyNkZWZpbmUgUEIzMV9QRl9VQVJUMl9SWEQgICAgKEdQSU9fUE9SVEIgfCBHUElPX0lOIHwgR1BJT19QRiB8IDMxKQorI2RlZmluZSBQQzNfUEZfU1NJX1JYRlMgICAgICAoR1BJT19QT1JUQyB8IEdQSU9fUEYgfCAzKQorI2RlZmluZSBQQzRfUEZfU1NJX1JYQ0xLICAgICAoR1BJT19QT1JUQyB8IEdQSU9fUEYgfCA0KQorI2RlZmluZSBQQzVfUEZfU1NJX1JYREFUICAgICAoR1BJT19QT1JUQyB8IEdQSU9fSU4gfCBHUElPX1BGIHwgNSkKKyNkZWZpbmUgUEM2X1BGX1NTSV9UWERBVCAgICAgKEdQSU9fUE9SVEMgfCBHUElPX09VVCB8IEdQSU9fUEYgfCA2KQorI2RlZmluZSBQQzdfUEZfU1NJX1RYRlMgICAgICAoR1BJT19QT1JUQyB8IEdQSU9fUEYgfCA3KQorI2RlZmluZSBQQzhfUEZfU1NJX1RYQ0xLICAgICAoR1BJT19QT1JUQyB8IEdQSU9fUEYgfCA4KQorI2RlZmluZSBQQzlfUEZfVUFSVDFfQ1RTICAgICAoR1BJT19QT1JUQyB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDkpCisjZGVmaW5lIFBDMTBfUEZfVUFSVDFfUlRTICAgIChHUElPX1BPUlRDIHwgR1BJT19JTiB8IEdQSU9fUEYgfCAxMCkKKyNkZWZpbmUgUEMxMV9QRl9VQVJUMV9UWEQgICAgKEdQSU9fUE9SVEMgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxMSkKKyNkZWZpbmUgUEMxMl9QRl9VQVJUMV9SWEQgICAgKEdQSU9fUE9SVEMgfCBHUElPX0lOIHwgR1BJT19QRiB8IDEyKQorI2RlZmluZSBQQzEzX1BGX1NQSTFfU1BJX1JEWSAoR1BJT19QT1JUQyB8IEdQSU9fUEYgfCAxMykKKyNkZWZpbmUgUEMxNF9QRl9TUEkxX1NDTEsgICAgKEdQSU9fUE9SVEMgfCBHUElPX1BGIHwgMTQpCisjZGVmaW5lIFBDMTVfUEZfU1BJMV9TUyAgICAgIChHUElPX1BPUlRDIHwgR1BJT19QRiB8IDE1KQorI2RlZmluZSBQQzE2X1BGX1NQSTFfTUlTTyAgICAoR1BJT19QT1JUQyB8IEdQSU9fUEYgfCAxNikKKyNkZWZpbmUgUEMxN19QRl9TUEkxX01PU0kgICAgKEdQSU9fUE9SVEMgfCBHUElPX1BGIHwgMTcpCisjZGVmaW5lIFBDMjRfQklOX1VBUlQzX1JJICAgIChHUElPX0dJVVMgfCBHUElPX1BPUlRDIHwgR1BJT19PVVQgfCBHUElPX0JJTiB8IDI0KQorI2RlZmluZSBQQzI1X0JJTl9VQVJUM19EU1IgICAoR1BJT19HSVVTIHwgR1BJT19QT1JUQyB8IEdQSU9fT1VUIHwgR1BJT19CSU4gfCAyNSkKKyNkZWZpbmUgUEMyNl9BT1VUX1VBUlQzX0RUUiAgKEdQSU9fR0lVUyB8IEdQSU9fUE9SVEMgfCBHUElPX0lOIHwgMjYpCisjZGVmaW5lIFBDMjdfQklOX1VBUlQzX0RDRCAgIChHUElPX0dJVVMgfCBHUElPX1BPUlRDIHwgR1BJT19PVVQgfCBHUElPX0JJTiB8IDI3KQorI2RlZmluZSBQQzI4X0JJTl9VQVJUM19DVFMgICAoR1BJT19HSVVTIHwgR1BJT19QT1JUQyB8IEdQSU9fT1VUIHwgR1BJT19CSU4gfCAyOCkKKyNkZWZpbmUgUEMyOV9BT1VUX1VBUlQzX1JUUyAgKEdQSU9fR0lVUyB8IEdQSU9fUE9SVEMgfCBHUElPX0lOIHwgMjkpCisjZGVmaW5lIFBDMzBfQklOX1VBUlQzX1RYICAgIChHUElPX0dJVVMgfCBHUElPX1BPUlRDIHwgR1BJT19CSU4gfCAzMCkKKyNkZWZpbmUgUEMzMV9BT1VUX1VBUlQzX1JYICAgKEdQSU9fR0lVUyB8IEdQSU9fUE9SVEMgfCBHUElPX0lOIHwgMzEpCisjZGVmaW5lIFBENl9QRl9MU0NMSyAgICAgICAgIChHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgNikKKyNkZWZpbmUgUEQ3X1BGX1JFViAgICAgICAgICAgKEdQSU9fUE9SVEQgfCBHUElPX1BGIHwgNykKKyNkZWZpbmUgUEQ3X0FGX1VBUlQyX0RUUiAgICAgKEdQSU9fR0lVUyB8IEdQSU9fUE9SVEQgfCBHUElPX0lOIHwgR1BJT19BRiB8IDcpCisjZGVmaW5lIFBEN19BSU5fU1BJMl9TQ0xLICAgIChHUElPX0dJVVMgfCBHUElPX1BPUlREIHwgR1BJT19BSU4gfCA3KQorI2RlZmluZSBQRDhfUEZfQ0xTICAgICAgICAgICAoR1BJT19QT1JURCB8IEdQSU9fUEYgfCA4KQorI2RlZmluZSBQRDhfQUZfVUFSVDJfRENEICAgICAoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19BRiB8IDgpCisjZGVmaW5lIFBEOF9BSU5fU1BJMl9TUyAgICAgIChHUElPX0dJVVMgfCBHUElPX1BPUlREIHwgR1BJT19BSU4gfCA4KQorI2RlZmluZSBQRDlfUEZfUFMgICAgICAgICAgICAoR1BJT19QT1JURCB8IEdQSU9fUEYgfCA5KQorI2RlZmluZSBQRDlfQUZfVUFSVDJfUkkgICAgICAoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19BRiB8IDkpCisjZGVmaW5lIFBEOV9BT1VUX1NQSTJfUlhEICAgIChHUElPX0dJVVMgfCBHUElPX1BPUlREIHwgR1BJT19JTiB8IDkpCisjZGVmaW5lIFBEMTBfUEZfU1BMX1NQUiAgICAgIChHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTApCisjZGVmaW5lIFBEMTBfQUZfVUFSVDJfRFNSICAgIChHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX0FGIHwgMTApCisjZGVmaW5lIFBEMTBfQUlOX1NQSTJfVFhEICAgIChHUElPX0dJVVMgfCBHUElPX1BPUlREIHwgR1BJT19PVVQgfCAxMCkKKyNkZWZpbmUgUEQxMV9QRl9DT05UUkFTVCAgICAgKEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxMSkKKyNkZWZpbmUgUEQxMl9QRl9BQ0RfT0UgICAgICAgKEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxMikKKyNkZWZpbmUgUEQxM19QRl9MUF9IU1lOQyAgICAgKEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxMykKKyNkZWZpbmUgUEQxNF9QRl9GTE1fVlNZTkMgICAgKEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxNCkKKyNkZWZpbmUgUEQxNV9QRl9MRDAgICAgICAgICAgKEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxNSkKKyNkZWZpbmUgUEQxNl9QRl9MRDEgICAgICAgICAgKEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxNikKKyNkZWZpbmUgUEQxN19QRl9MRDIgICAgICAgICAgKEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxNykKKyNkZWZpbmUgUEQxOF9QRl9MRDMgICAgICAgICAgKEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxOCkKKyNkZWZpbmUgUEQxOV9QRl9MRDQgICAgICAgICAgKEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxOSkKKyNkZWZpbmUgUEQyMF9QRl9MRDUgICAgICAgICAgKEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAyMCkKKyNkZWZpbmUgUEQyMV9QRl9MRDYgICAgICAgICAgKEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAyMSkKKyNkZWZpbmUgUEQyMl9QRl9MRDcgICAgICAgICAgKEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAyMikKKyNkZWZpbmUgUEQyM19QRl9MRDggICAgICAgICAgKEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAyMykKKyNkZWZpbmUgUEQyNF9QRl9MRDkgICAgICAgICAgKEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAyNCkKKyNkZWZpbmUgUEQyNV9QRl9MRDEwICAgICAgICAgKEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAyNSkKKyNkZWZpbmUgUEQyNl9QRl9MRDExICAgICAgICAgKEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAyNikKKyNkZWZpbmUgUEQyN19QRl9MRDEyICAgICAgICAgKEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAyNykKKyNkZWZpbmUgUEQyOF9QRl9MRDEzICAgICAgICAgKEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAyOCkKKyNkZWZpbmUgUEQyOV9QRl9MRDE0ICAgICAgICAgKEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAyOSkKKyNkZWZpbmUgUEQzMF9QRl9MRDE1ICAgICAgICAgKEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAzMCkKKyNkZWZpbmUgUEQzMV9QRl9UTVIyT1VUICAgICAgKEdQSU9fUE9SVEQgfCBHUElPX1BGIHwgMzEpCisjZGVmaW5lIFBEMzFfQklOX1NQSTJfVFhEICAgIChHUElPX0dJVVMgfCBHUElPX1BPUlREIHwgR1BJT19CSU4gfCAzMSkKKyNlbmRpZgorCisjaWZkZWYgQ09ORklHX0FSQ0hfTVgyCisjZGVmaW5lIFBBNV9QRl9MU0NMSwkJKEdQSU9fUE9SVEEgfCBHUElPX09VVCB8IEdQSU9fUEYgfCA1KQorI2RlZmluZSBQQTZfUEZfTEQwCQkoR1BJT19QT1JUQSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDYpCisjZGVmaW5lIFBBN19QRl9MRDEJCShHUElPX1BPUlRBIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgNykKKyNkZWZpbmUgUEE4X1BGX0xEMgkJKEdQSU9fUE9SVEEgfCBHUElPX09VVCB8IEdQSU9fUEYgfCA4KQorI2RlZmluZSBQQTlfUEZfTEQzCQkoR1BJT19QT1JUQSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDkpCisjZGVmaW5lIFBBMTBfUEZfTEQ0CQkoR1BJT19QT1JUQSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDEwKQorI2RlZmluZSBQQTExX1BGX0xENQkJKEdQSU9fUE9SVEEgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxMSkKKyNkZWZpbmUgUEExMl9QRl9MRDYJCShHUElPX1BPUlRBIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTIpCisjZGVmaW5lIFBBMTNfUEZfTEQ3CQkoR1BJT19QT1JUQSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDEzKQorI2RlZmluZSBQQTE0X1BGX0xEOAkJKEdQSU9fUE9SVEEgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxNCkKKyNkZWZpbmUgUEExNV9QRl9MRDkJCShHUElPX1BPUlRBIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTUpCisjZGVmaW5lIFBBMTZfUEZfTEQxMAkJKEdQSU9fUE9SVEEgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxNikKKyNkZWZpbmUgUEExN19QRl9MRDExCQkoR1BJT19QT1JUQSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDE3KQorI2RlZmluZSBQQTE4X1BGX0xEMTIJCShHUElPX1BPUlRBIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTgpCisjZGVmaW5lIFBBMTlfUEZfTEQxMwkJKEdQSU9fUE9SVEEgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxOSkKKyNkZWZpbmUgUEEyMF9QRl9MRDE0CQkoR1BJT19QT1JUQSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDIwKQorI2RlZmluZSBQQTIxX1BGX0xEMTUJCShHUElPX1BPUlRBIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMjEpCisjZGVmaW5lIFBBMjJfUEZfTEQxNgkJKEdQSU9fUE9SVEEgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAyMikKKyNkZWZpbmUgUEEyM19QRl9MRDE3CQkoR1BJT19QT1JUQSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDIzKQorI2RlZmluZSBQQTI0X1BGX1JFVgkJKEdQSU9fUE9SVEEgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAyNCkKKyNkZWZpbmUgUEEyNV9QRl9DTFMJCShHUElPX1BPUlRBIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMjUpCisjZGVmaW5lIFBBMjZfUEZfUFMJCShHUElPX1BPUlRBIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMjYpCisjZGVmaW5lIFBBMjdfUEZfU1BMX1NQUgkJKEdQSU9fUE9SVEEgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAyNykKKyNkZWZpbmUgUEEyOF9QRl9IU1lOQwkJKEdQSU9fUE9SVEEgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAyOCkKKyNkZWZpbmUgUEEyOV9QRl9WU1lOQwkJKEdQSU9fUE9SVEEgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAyOSkKKyNkZWZpbmUgUEEzMF9QRl9DT05UUkFTVAkoR1BJT19QT1JUQSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDMwKQorI2RlZmluZSBQQTMxX1BGX09FX0FDRAkJKEdQSU9fUE9SVEEgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAzMSkKKyNkZWZpbmUgUEIxMF9QRl9DU0lfRDAJCShHUElPX1BPUlRCIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTApCisjZGVmaW5lIFBCMTBfQUZfVUFSVDZfVFhECShHUElPX1BPUlRCIHwgR1BJT19PVVQgfCBHUElPX0FGIHwgMTApCisjZGVmaW5lIFBCMTFfUEZfQ1NJX0QxCQkoR1BJT19QT1JUQiB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDExKQorI2RlZmluZSBQQjExX0FGX1VBUlQ2X1JYRAkoR1BJT19QT1JUQiB8IEdQSU9fSU4gIHwgR1BJT19BRiB8IDExKQorI2RlZmluZSBQQjEyX1BGX0NTSV9EMgkJKEdQSU9fUE9SVEIgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxMikKKyNkZWZpbmUgUEIxMl9BRl9VQVJUNl9DVFMJKEdQSU9fUE9SVEIgfCBHUElPX09VVCB8IEdQSU9fQUYgfCAxMikKKyNkZWZpbmUgUEIxM19QRl9DU0lfRDMJCShHUElPX1BPUlRCIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTMpCisjZGVmaW5lIFBCMTNfQUZfVUFSVDZfUlRTCShHUElPX1BPUlRCIHwgR1BJT19JTiAgfCBHUElPX0FGIHwgMTMpCisjZGVmaW5lIFBCMTRfUEZfQ1NJX0Q0CQkoR1BJT19QT1JUQiB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDE0KQorI2RlZmluZSBQQjE1X1BGX0NTSV9NQ0xLCShHUElPX1BPUlRCIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTUpCisjZGVmaW5lIFBCMTZfUEZfQ1NJX1BJWENMSwkoR1BJT19QT1JUQiB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDE2KQorI2RlZmluZSBQQjE3X1BGX0NTSV9ENQkJKEdQSU9fUE9SVEIgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxNykKKyNkZWZpbmUgUEIxOF9QRl9DU0lfRDYJCShHUElPX1BPUlRCIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTgpCisjZGVmaW5lIFBCMThfQUZfVUFSVDVfVFhECShHUElPX1BPUlRCIHwgR1BJT19PVVQgfCBHUElPX0FGIHwgMTgpCisjZGVmaW5lIFBCMTlfUEZfQ1NJX0Q3CQkoR1BJT19QT1JUQiB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDE5KQorI2RlZmluZSBQQjE5X0FGX1VBUlQ1X1JYRAkoR1BJT19QT1JUQiB8IEdQSU9fSU4gIHwgR1BJT19BRiB8IDE5KQorI2RlZmluZSBQQjIwX1BGX0NTSV9WU1lOQwkoR1BJT19QT1JUQiB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDIwKQorI2RlZmluZSBQQjIwX0FGX1VBUlQ1X0NUUwkoR1BJT19QT1JUQiB8IEdQSU9fT1VUIHwgR1BJT19BRiB8IDIwKQorI2RlZmluZSBQQjIxX1BGX0NTSV9IU1lOQwkoR1BJT19QT1JUQiB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDIxKQorI2RlZmluZSBQQjIxX0FGX1VBUlQ1X1JUUwkoR1BJT19QT1JUQiB8IEdQSU9fSU4gIHwgR1BJT19BRiB8IDIxKQorI2RlZmluZSBQQjI2X0FGX1VBUlQ0X1JUUwkoR1BJT19QT1JUQiB8IEdQSU9fSU4gIHwgR1BJT19QRiB8IDI2KQorI2RlZmluZSBQQjI4X0FGX1VBUlQ0X1RYRAkoR1BJT19QT1JUQiB8IEdQSU9fT1VUIHwgR1BJT19BRiB8IDI4KQorI2RlZmluZSBQQjI5X0FGX1VBUlQ0X0NUUwkoR1BJT19QT1JUQiB8IEdQSU9fT1VUIHwgR1BJT19BRiB8IDI5KQorI2RlZmluZSBQQjMxX0FGX1VBUlQ0X1JYRAkoR1BJT19QT1JUQiB8IEdQSU9fSU4gIHwgR1BJT19BRiB8IDMxKQorI2RlZmluZSBQQzVfUEZfSTJDMl9TREEJCShHUElPX1BPUlRDIHwgR1BJT19JTiAgfCBHUElPX1BGIHwgNSkKKyNkZWZpbmUgUEM2X1BGX0kyQzJfU0NMCQkoR1BJT19QT1JUQyB8IEdQSU9fSU4gIHwgR1BJT19QRiB8IDYpCisjZGVmaW5lIFBDMTZfUEZfU1NJNF9GUwkJKEdQSU9fUE9SVEMgfCBHUElPX0lOICB8IEdQSU9fUEYgfCAxNikKKyNkZWZpbmUgUEMxN19QRl9TU0k0X1JYRAkoR1BJT19QT1JUQyB8IEdQSU9fSU4gIHwgR1BJT19QRiB8IDE3KQorI2RlZmluZSBQQzE4X1BGX1NTSTRfVFhECShHUElPX1BPUlRDIHwgR1BJT19JTiAgfCBHUElPX1BGIHwgMTgpCisjZGVmaW5lIFBDMTlfUEZfU1NJNF9DTEsJKEdQSU9fUE9SVEMgfCBHUElPX0lOICB8IEdQSU9fUEYgfCAxOSkKKyNkZWZpbmUgUEMyMF9QRl9TU0kxX0ZTCQkoR1BJT19QT1JUQyB8IEdQSU9fSU4gIHwgR1BJT19QRiB8IDIwKQorI2RlZmluZSBQQzIxX1BGX1NTSTFfUlhECShHUElPX1BPUlRDIHwgR1BJT19JTiAgfCBHUElPX1BGIHwgMjEpCisjZGVmaW5lIFBDMjJfUEZfU1NJMV9UWEQJKEdQSU9fUE9SVEMgfCBHUElPX0lOICB8IEdQSU9fUEYgfCAyMikKKyNkZWZpbmUgUEMyM19QRl9TU0kxX0NMSwkoR1BJT19QT1JUQyB8IEdQSU9fSU4gIHwgR1BJT19QRiB8IDIzKQorI2RlZmluZSBQQzI0X1BGX1NTSTJfRlMJCShHUElPX1BPUlRDIHwgR1BJT19JTiAgfCBHUElPX1BGIHwgMjQpCisjZGVmaW5lIFBDMjVfUEZfU1NJMl9SWEQJKEdQSU9fUE9SVEMgfCBHUElPX0lOICB8IEdQSU9fUEYgfCAyNSkKKyNkZWZpbmUgUEMyNl9QRl9TU0kyX1RYRAkoR1BJT19QT1JUQyB8IEdQSU9fSU4gIHwgR1BJT19QRiB8IDI2KQorI2RlZmluZSBQQzI3X1BGX1NTSTJfQ0xLCShHUElPX1BPUlRDIHwgR1BJT19JTiAgfCBHUElPX1BGIHwgMjcpCisjZGVmaW5lIFBDMjhfUEZfU1NJM19GUwkJKEdQSU9fUE9SVEMgfCBHUElPX0lOICB8IEdQSU9fUEYgfCAyOCkKKyNkZWZpbmUgUEMyOV9QRl9TU0kzX1JYRAkoR1BJT19QT1JUQyB8IEdQSU9fSU4gIHwgR1BJT19QRiB8IDI5KQorI2RlZmluZSBQQzMwX1BGX1NTSTNfVFhECShHUElPX1BPUlRDIHwgR1BJT19JTiAgfCBHUElPX1BGIHwgMzApCisjZGVmaW5lIFBDMzFfUEZfU1NJM19DTEsJKEdQSU9fUE9SVEMgfCBHUElPX0lOICB8IEdQSU9fUEYgfCAzMSkKKyNkZWZpbmUgUEQwX0FJTl9GRUNfVFhEMAkoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19BSU4gfCAwKQorI2RlZmluZSBQRDFfQUlOX0ZFQ19UWEQxCShHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX0FJTiB8IDEpCisjZGVmaW5lIFBEMl9BSU5fRkVDX1RYRDIJKEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fQUlOIHwgMikKKyNkZWZpbmUgUEQzX0FJTl9GRUNfVFhEMwkoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19BSU4gfCAzKQorI2RlZmluZSBQRDRfQU9VVF9GRUNfUlhfRVIJKEdQSU9fUE9SVEQgfCBHUElPX0lOIHwgR1BJT19BT1VUIHwgNCkKKyNkZWZpbmUgUEQ1X0FPVVRfRkVDX1JYRDEJKEdQSU9fUE9SVEQgfCBHUElPX0lOIHwgR1BJT19BT1VUIHwgNSkKKyNkZWZpbmUgUEQ2X0FPVVRfRkVDX1JYRDIJKEdQSU9fUE9SVEQgfCBHUElPX0lOIHwgR1BJT19BT1VUIHwgNikKKyNkZWZpbmUgUEQ3X0FPVVRfRkVDX1JYRDMJKEdQSU9fUE9SVEQgfCBHUElPX0lOIHwgR1BJT19BT1VUIHwgNykKKyNkZWZpbmUgUEQ4X0FGX0ZFQ19NRElPCQkoR1BJT19QT1JURCB8IEdQSU9fSU4gfCBHUElPX0FGIHwgOCkKKyNkZWZpbmUgUEQ5X0FJTl9GRUNfTURDCQkoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19BSU4gfCA5KQorI2RlZmluZSBQRDEwX0FPVVRfRkVDX0NSUwkoR1BJT19QT1JURCB8IEdQSU9fSU4gfCBHUElPX0FPVVQgfCAxMCkKKyNkZWZpbmUgUEQxMV9BT1VUX0ZFQ19UWF9DTEsJKEdQSU9fUE9SVEQgfCBHUElPX0lOIHwgR1BJT19BT1VUIHwgMTEpCisjZGVmaW5lIFBEMTJfQU9VVF9GRUNfUlhEMAkoR1BJT19QT1JURCB8IEdQSU9fSU4gfCBHUElPX0FPVVQgfCAxMikKKyNkZWZpbmUgUEQxM19BT1VUX0ZFQ19SWF9EVgkoR1BJT19QT1JURCB8IEdQSU9fSU4gfCBHUElPX0FPVVQgfCAxMykKKyNkZWZpbmUgUEQxNF9BT1VUX0ZFQ19DTFIJKEdQSU9fUE9SVEQgfCBHUElPX0lOIHwgR1BJT19BT1VUIHwgMTQpCisjZGVmaW5lIFBEMTVfQU9VVF9GRUNfQ09MCShHUElPX1BPUlREIHwgR1BJT19JTiB8IEdQSU9fQU9VVCB8IDE1KQorI2RlZmluZSBQRDE2X0FJTl9GRUNfVFhfRVIJKEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fQUlOIHwgMTYpCisjZGVmaW5lIFBEMTdfUEZfSTJDX0RBVEEJKEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxNykKKyNkZWZpbmUgUEQxOF9QRl9JMkNfQ0xLCQkoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDE4KQorI2RlZmluZSBQRDI1X1BGX0NTUEkxX1JEWQkoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiAgfCAyNSkKKyNkZWZpbmUgUEQyNl9QRl9DU1BJMV9TUzIJKEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fUEYgIHwgMjYpCisjZGVmaW5lIFBEMjdfUEZfQ1NQSTFfU1MxCShHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGICB8IDI3KQorI2RlZmluZSBQRDI4X1BGX0NTUEkxX1NTMAkoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiAgfCAyOCkKKyNkZWZpbmUgUEQyOV9QRl9DU1BJMV9TQ0xLCShHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGICB8IDI5KQorI2RlZmluZSBQRDMwX1BGX0NTUEkxX01JU08JKEdQSU9fUE9SVEQgfCBHUElPX0lOIHwgR1BJT19QRiAgfCAzMCkKKyNkZWZpbmUgUEQzMV9QRl9DU1BJMV9NT1NJCShHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGICB8IDMxKQorI2RlZmluZSBQRjIzX0FJTl9GRUNfVFhfRU4JKEdQSU9fUE9SVEYgfCBHUElPX09VVCB8IEdQSU9fQUlOIHwgMjMpCisjZGVmaW5lIFBFM19QRl9VQVJUMl9DVFMJKEdQSU9fUE9SVEUgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAzKQorI2RlZmluZSBQRTRfUEZfVUFSVDJfUlRTCShHUElPX1BPUlRFIHwgR1BJT19JTiAgfCBHUElPX1BGIHwgNCkKKyNkZWZpbmUgUEU2X1BGX1VBUlQyX1RYRAkoR1BJT19QT1JURSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDYpCisjZGVmaW5lIFBFN19QRl9VQVJUMl9SWEQJKEdQSU9fUE9SVEUgfCBHUElPX0lOICB8IEdQSU9fUEYgfCA3KQorI2RlZmluZSBQRThfUEZfVUFSVDNfVFhECShHUElPX1BPUlRFIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgOCkKKyNkZWZpbmUgUEU5X1BGX1VBUlQzX1JYRAkoR1BJT19QT1JURSB8IEdQSU9fSU4gIHwgR1BJT19QRiB8IDkpCisjZGVmaW5lIFBFMTBfUEZfVUFSVDNfQ1RTCShHUElPX1BPUlRFIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTApCisjZGVmaW5lIFBFMTFfUEZfVUFSVDNfUlRTCShHUElPX1BPUlRFIHwgR1BJT19JTiAgfCBHUElPX1BGIHwgMTEpCisjZGVmaW5lIFBFMTJfUEZfVUFSVDFfVFhECShHUElPX1BPUlRFIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTIpCisjZGVmaW5lIFBFMTNfUEZfVUFSVDFfUlhECShHUElPX1BPUlRFIHwgR1BJT19JTiAgfCBHUElPX1BGIHwgMTMpCisjZGVmaW5lIFBFMTRfUEZfVUFSVDFfQ1RTCShHUElPX1BPUlRFIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTQpCisjZGVmaW5lIFBFMTVfUEZfVUFSVDFfUlRTCShHUElPX1BPUlRFIHwgR1BJT19JTiAgfCBHUElPX1BGIHwgMTUpCisjZGVmaW5lIFBFMThfQUZfQ1NQSTNfTUlTTwkoR1BJT19QT1JURSB8IEdQSU9fSU4gIHwgR1BJT19BRiB8IDE4KQorI2RlZmluZSBQRTIxX0FGX0NTUEkzX1NTCShHUElPX1BPUlRFIHwgR1BJT19PVVQgfCBHUElPX0FGIHwgMjEpCisjZGVmaW5lIFBFMjJfQUZfQ1NQSTNfTU9TSQkoR1BJT19QT1JURSB8IEdQSU9fT1VUIHwgR1BJT19BRiB8IDIyKQorI2RlZmluZSBQRTIzX0FGX0NTUEkzX1NDTEsJKEdQSU9fUE9SVEUgfCBHUElPX09VVCB8IEdQSU9fQUYgfCAyMykKKyNlbmRpZgorCisvKiBkZWNvZGUgaXJxIG51bWJlciB0byB1c2Ugd2l0aCBJTVIoeCksIElTUih4KSBhbmQgZnJpZW5kcyAqLworI2RlZmluZSBJUlFfVE9fUkVHKGlycSkgKChpcnEgLSBNWENfTUFYX0lOVF9MSU5FUykgPj4gNSkKKworI2RlZmluZSBJUlFfR1BJT0EoeCkgIChNWENfTUFYX0lOVF9MSU5FUyArIHgpCisjZGVmaW5lIElSUV9HUElPQih4KSAgKElSUV9HUElPQSgzMikgKyB4KQorI2RlZmluZSBJUlFfR1BJT0MoeCkgIChJUlFfR1BJT0IoMzIpICsgeCkKKyNkZWZpbmUgSVJRX0dQSU9EKHgpICAoSVJRX0dQSU9DKDMyKSArIHgpCisKKyNlbmRpZiAvKiBfTVhDX0dQSU9fTVgxX01YMl9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvaW9tdXgtbXgzLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvaW9tdXgtbXgzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzUwOWU3NgotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9pb211eC1teDMuaApAQCAtMCwwICsxLDUwMSBAQAorLyoKKyAqIENvcHlyaWdodCAyMDA0LTIwMDYgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOCBieSBTYXNjaGEgSGF1ZXIgPGtlcm5lbEBwZW5ndXRyb25peC5kZT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIKKyAqIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwKKyAqIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaWZuZGVmIF9fTUFDSF9NWDMxX0lPTVVYX0hfXworI2RlZmluZSBfX01BQ0hfTVgzMV9JT01VWF9IX18KKworI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisKKy8qCisgKiB2YXJpb3VzIElPTVVYIG91dHB1dCBmdW5jdGlvbnMKKyAqLworCisjZGVmaW5lCUlPTVVYX09DT05GSUdfR1BJTyAoMCA8PCA0KQkvKiB1c2VkIGFzIEdQSU8gKi8KKyNkZWZpbmUJSU9NVVhfT0NPTkZJR19GVU5DICgxIDw8IDQpCS8qIHVzZWQgYXMgZnVuY3Rpb24gKi8KKyNkZWZpbmUJSU9NVVhfT0NPTkZJR19BTFQxICgyIDw8IDQpCS8qIHVzZWQgYXMgYWx0ZXJuYXRlIGZ1bmN0aW9uIDEgKi8KKyNkZWZpbmUJSU9NVVhfT0NPTkZJR19BTFQyICgzIDw8IDQpCS8qIHVzZWQgYXMgYWx0ZXJuYXRlIGZ1bmN0aW9uIDIgKi8KKyNkZWZpbmUJSU9NVVhfT0NPTkZJR19BTFQzICg0IDw8IDQpCS8qIHVzZWQgYXMgYWx0ZXJuYXRlIGZ1bmN0aW9uIDMgKi8KKyNkZWZpbmUJSU9NVVhfT0NPTkZJR19BTFQ0ICg1IDw8IDQpCS8qIHVzZWQgYXMgYWx0ZXJuYXRlIGZ1bmN0aW9uIDQgKi8KKyNkZWZpbmUJSU9NVVhfT0NPTkZJR19BTFQ1ICg2IDw8IDQpCS8qIHVzZWQgYXMgYWx0ZXJuYXRlIGZ1bmN0aW9uIDUgKi8KKyNkZWZpbmUJSU9NVVhfT0NPTkZJR19BTFQ2ICg3IDw8IDQpCS8qIHVzZWQgYXMgYWx0ZXJuYXRlIGZ1bmN0aW9uIDYgKi8KKyNkZWZpbmUJSU9NVVhfSUNPTkZJR19OT05FICAwCSAJLyogbm90IGNvbmZpZ3VyZWQgZm9yIGlucHV0ICovCisjZGVmaW5lCUlPTVVYX0lDT05GSUdfR1BJTyAgMQkJLyogdXNlZCBhcyBHUElPICovCisjZGVmaW5lCUlPTVVYX0lDT05GSUdfRlVOQyAgMgkJLyogdXNlZCBhcyBmdW5jdGlvbiAqLworI2RlZmluZQlJT01VWF9JQ09ORklHX0FMVDEgIDQJCS8qIHVzZWQgYXMgYWx0ZXJuYXRlIGZ1bmN0aW9uIDEgKi8KKyNkZWZpbmUJSU9NVVhfSUNPTkZJR19BTFQyICA4CQkvKiB1c2VkIGFzIGFsdGVybmF0ZSBmdW5jdGlvbiAyICovCisKKyNkZWZpbmUgSU9NVVhfQ09ORklHX0dQSU8gKElPTVVYX09DT05GSUdfR1BJTyB8IElPTVVYX0lDT05GSUdfR1BJTykKKyNkZWZpbmUgSU9NVVhfQ09ORklHX0ZVTkMgKElPTVVYX09DT05GSUdfRlVOQyB8IElPTVVYX0lDT05GSUdfRlVOQykKKyNkZWZpbmUgSU9NVVhfQ09ORklHX0FMVDEgKElPTVVYX09DT05GSUdfQUxUMSB8IElPTVVYX0lDT05GSUdfQUxUMSkKKyNkZWZpbmUgSU9NVVhfQ09ORklHX0FMVDIgKElPTVVYX09DT05GSUdfQUxUMiB8IElPTVVYX0lDT05GSUdfQUxUMikKKworLyoKKyAqIHZhcmlvdXMgSU9NVVggcGFkIGZ1bmN0aW9ucworICovCitlbnVtIGlvbXV4X3BhZF9jb25maWcgeworCVBBRF9DVExfTk9MT09QQkFDSwk9IDB4MCA8PCA5LAorCVBBRF9DVExfTE9PUEJBQ0sJPSAweDEgPDwgOSwKKwlQQURfQ1RMX1BLRV9OT05FCT0gMHgwIDw8IDgsCisJUEFEX0NUTF9QS0VfRU5BQkxFCT0gMHgxIDw8IDgsCisJUEFEX0NUTF9QVUVfS0VFUEVSCT0gMHgwIDw8IDcsCisJUEFEX0NUTF9QVUVfUFVECQk9IDB4MSA8PCA3LAorCVBBRF9DVExfMTAwS19QRAkJPSAweDAgPDwgNSwKKwlQQURfQ1RMXzEwMEtfUFUJCT0gMHgxIDw8IDUsCisJUEFEX0NUTF80N0tfUFUJCT0gMHgyIDw8IDUsCisJUEFEX0NUTF8yMktfUFUJCT0gMHgzIDw8IDUsCisJUEFEX0NUTF9IWVNfQ01PUwk9IDB4MCA8PCA0LAorCVBBRF9DVExfSFlTX1NDSE1JVFoJPSAweDEgPDwgNCwKKwlQQURfQ1RMX09ERV9DTU9TCT0gMHgwIDw8IDMsCisJUEFEX0NUTF9PREVfT3BlbkRyYWluCT0gMHgxIDw8IDMsCisJUEFEX0NUTF9EUlZfTk9STUFMCT0gMHgwIDw8IDEsCisJUEFEX0NUTF9EUlZfSElHSAk9IDB4MSA8PCAxLAorCVBBRF9DVExfRFJWX01BWAkJPSAweDIgPDwgMSwKKwlQQURfQ1RMX1NSRV9TTE9XCT0gMHgwIDw8IDAsCisJUEFEX0NUTF9TUkVfRkFTVAk9IDB4MSA8PCAwCit9OworCisvKgorICogdmFyaW91cyBJT01VWCBnZW5lcmFsIHB1cnBvc2UgZnVuY3Rpb25zCisgKi8KK2VudW0gaW9tdXhfZ3BfZnVuYyB7CisJTVVYX1BHUF9GSVJJCQkJPSAxIDw8IDAsCisJTVVYX0REUl9NT0RFCQkJPSAxIDw8IDEsCisJTVVYX1BHUF9DU1BJX0JCCQkJPSAxIDw8IDIsCisJTVVYX1BHUF9BVEFfMQkJCT0gMSA8PCAzLAorCU1VWF9QR1BfQVRBXzIJCQk9IDEgPDwgNCwKKwlNVVhfUEdQX0FUQV8zCQkJPSAxIDw8IDUsCisJTVVYX1BHUF9BVEFfNAkJCT0gMSA8PCA2LAorCU1VWF9QR1BfQVRBXzUJCQk9IDEgPDwgNywKKwlNVVhfUEdQX0FUQV82CQkJPSAxIDw8IDgsCisJTVVYX1BHUF9BVEFfNwkJCT0gMSA8PCA5LAorCU1VWF9QR1BfQVRBXzgJCQk9IDEgPDwgMTAsCisJTVVYX1BHUF9VSDIJCQk9IDEgPDwgMTEsCisJTVVYX1NEQ1RMX0NTRDBfU0VMCQk9IDEgPDwgMTIsCisJTVVYX1NEQ1RMX0NTRDFfU0VMCQk9IDEgPDwgMTMsCisJTVVYX0NTUEkxX1VBUlQzCQkJPSAxIDw8IDE0LAorCU1VWF9FWFRETUFSRVEyX01CWF9TRUwJCT0gMSA8PCAxNSwKKwlNVVhfVEFNUEVSX0RFVEVDVF9FTgkJPSAxIDw8IDE2LAorCU1VWF9QR1BfVVNCXzRXSVJFCQk9IDEgPDwgMTcsCisJTVVYX1BHQl9VU0JfQ09NTU9OCQk9IDEgPDwgMTgsCisJTVVYX1NESENfTUVNU1RJQ0sxCQk9IDEgPDwgMTksCisJTVVYX1NESENfTUVNU1RJQ0syCQk9IDEgPDwgMjAsCisJTVVYX1BHUF9TUExMX0JZUAkJPSAxIDw8IDIxLAorCU1VWF9QR1BfVVBMTF9CWVAJCT0gMSA8PCAyMiwKKwlNVVhfUEdQX01TSEMxX0NMS19TRUwJCT0gMSA8PCAyMywKKwlNVVhfUEdQX01TSEMyX0NMS19TRUwJCT0gMSA8PCAyNCwKKwlNVVhfQ1NQSTNfVUFSVDVfU0VMCQk9IDEgPDwgMjUsCisJTVVYX1BHUF9BVEFfOQkJCT0gMSA8PCAyNiwKKwlNVVhfUEdQX1VTQl9TVVNQRU5ECQk9IDEgPDwgMjcsCisJTVVYX1BHUF9VU0JfT1RHX0xPT1BCQUNLCT0gMSA8PCAyOCwKKwlNVVhfUEdQX1VTQl9IUzFfTE9PUEJBQ0sJPSAxIDw8IDI5LAorCU1VWF9QR1BfVVNCX0hTMl9MT09QQkFDSwk9IDEgPDwgMzAsCisJTVVYX0NMS09fRERSX01PREUJCT0gMSA8PCAzMSwKK307CisKKy8qCisgKiBUaGlzIGZ1bmN0aW9uIGVuYWJsZXMvZGlzYWJsZXMgdGhlIGdlbmVyYWwgcHVycG9zZSBmdW5jdGlvbiBmb3IgYSBwYXJ0aWN1bGFyCisgKiBzaWduYWwuCisgKi8KK3ZvaWQgaW9tdXhfY29uZmlnX2dwcihlbnVtIGlvbXV4X2dwX2Z1bmMgLCBib29sKTsKKworLyoKKyAqIHNldCB0aGUgbW9kZSBmb3IgYSBJT01VWCBwaW4uCisgKi8KK2ludCBteGNfaW9tdXhfbW9kZSh1bnNpZ25lZCBpbnQpOworCisvKgorICogVGhpcyBmdW5jdGlvbiBlbmFibGVzL2Rpc2FibGVzIHRoZSBnZW5lcmFsIHB1cnBvc2UgZnVuY3Rpb24gZm9yIGEgcGFydGljdWxhcgorICogc2lnbmFsLgorICovCit2b2lkIG14Y19pb211eF9zZXRfZ3ByKGVudW0gaW9tdXhfZ3BfZnVuYywgYm9vbCk7CisKKyNkZWZpbmUgSU9NVVhfUEFETlVNX01BU0sJMHgxZmYKKyNkZWZpbmUgSU9NVVhfR1BJT05VTV9TSElGVAk5CisjZGVmaW5lIElPTVVYX0dQSU9OVU1fTUFTSwkoMHhmZiA8PCBJT01VWF9HUElPTlVNX1NISUZUKQorI2RlZmluZSBJT01VWF9NT0RFX1NISUZUCTE3CisjZGVmaW5lIElPTVVYX01PREVfTUFTSwkoMHhmZiA8PCBJT01VWF9NT0RFX1NISUZUKQorCisjZGVmaW5lIElPTVVYX1BJTihncGlvbnVtLCBwYWRudW0pIFwKKwkoKChncGlvbnVtIDw8IElPTVVYX0dQSU9OVU1fU0hJRlQpICYgSU9NVVhfR1BJT05VTV9NQVNLKSB8IFwKKwkgKHBhZG51bSAmIElPTVVYX1BBRE5VTV9NQVNLKSkKKworI2RlZmluZSBJT01VWF9NT0RFKHBpbiwgbW9kZSkgKHBpbiB8IG1vZGUgPDwgSU9NVVhfTU9ERV9TSElGVCkKKworI2RlZmluZSBJT01VWF9UT19HUElPKGlvbXV4X3BpbikgXAorCSgoaW9tdXhfcGluICYgSU9NVVhfR1BJT05VTV9NQVNLKSA+PiBJT01VWF9HUElPTlVNX1NISUZUKQorI2RlZmluZSBJT01VWF9UT19JUlEoaW9tdXhfcGluKSBcCisJKCgoaW9tdXhfcGluICYgSU9NVVhfR1BJT05VTV9NQVNLKSA+PiBJT01VWF9HUElPTlVNX1NISUZUKSArIFwKKwlNWENfR1BJT19JTlRfQkFTRSkKKworLyoKKyAqIFRoaXMgZW51bWVyYXRpb24gaXMgY29uc3RydWN0ZWQgYmFzZWQgb24gdGhlIFNlY3Rpb24KKyAqICJzd19wYWRfY3RsICYgc3dfbXV4X2N0bCBkZXRhaWxzIiBvZiB0aGUgTVgzMSBJQyBTcGVjLiBFYWNoIGVudW1lcmF0ZWQKKyAqIHZhbHVlIGlzIGNvbnN0cnVjdGVkIGJhc2VkIG9uIHRoZSBydWxlcyBkZXNjcmliZWQgYWJvdmUuCisgKi8KKworZW51bSBpb211eF9waW5zIHsKKwlNWDMxX1BJTl9UVE1fUEFECT0gSU9NVVhfUElOKDB4ZmYsICAgMCksCisJTVgzMV9QSU5fQ1NQSTNfU1BJX1JEWQk9IElPTVVYX1BJTigweGZmLCAgIDEpLAorCU1YMzFfUElOX0NTUEkzX1NDTEsJPSBJT01VWF9QSU4oMHhmZiwgICAyKSwKKwlNWDMxX1BJTl9DU1BJM19NSVNPCT0gSU9NVVhfUElOKDB4ZmYsICAgMyksCisJTVgzMV9QSU5fQ1NQSTNfTU9TSQk9IElPTVVYX1BJTigweGZmLCAgIDQpLAorCU1YMzFfUElOX0NMS1NTCQk9IElPTVVYX1BJTigweGZmLCAgIDUpLAorCU1YMzFfUElOX0NFX0NPTlRST0wJPSBJT01VWF9QSU4oMHhmZiwgICA2KSwKKwlNWDMxX1BJTl9BVEFfUkVTRVRfQgk9IElPTVVYX1BJTig5NSwgICAgIDcpLAorCU1YMzFfUElOX0FUQV9ETUFDSwk9IElPTVVYX1BJTig5NCwgICAgIDgpLAorCU1YMzFfUElOX0FUQV9ESU9XCT0gSU9NVVhfUElOKDkzLCAgICAgOSksCisJTVgzMV9QSU5fQVRBX0RJT1IJPSBJT01VWF9QSU4oOTIsICAgIDEwKSwKKwlNWDMxX1BJTl9BVEFfQ1MxCT0gSU9NVVhfUElOKDkxLCAgICAxMSksCisJTVgzMV9QSU5fQVRBX0NTMAk9IElPTVVYX1BJTig5MCwgICAgMTIpLAorCU1YMzFfUElOX1NEMV9EQVRBMwk9IElPTVVYX1BJTig2MywgICAgMTMpLAorCU1YMzFfUElOX1NEMV9EQVRBMgk9IElPTVVYX1BJTig2MiwgICAgMTQpLAorCU1YMzFfUElOX1NEMV9EQVRBMQk9IElPTVVYX1BJTig2MSwgICAgMTUpLAorCU1YMzFfUElOX1NEMV9EQVRBMAk9IElPTVVYX1BJTig2MCwgICAgMTYpLAorCU1YMzFfUElOX1NEMV9DTEsJPSBJT01VWF9QSU4oNTksICAgIDE3KSwKKwlNWDMxX1BJTl9TRDFfQ01ECT0gSU9NVVhfUElOKDU4LCAgICAxOCksCisJTVgzMV9QSU5fRDNfU1BMCQk9IElPTVVYX1BJTigweGZmLCAgMTkpLAorCU1YMzFfUElOX0QzX0NMUwkJPSBJT01VWF9QSU4oMHhmZiwgIDIwKSwKKwlNWDMxX1BJTl9EM19SRVYJCT0gSU9NVVhfUElOKDB4ZmYsICAyMSksCisJTVgzMV9QSU5fQ09OVFJBU1QJPSBJT01VWF9QSU4oMHhmZiwgIDIyKSwKKwlNWDMxX1BJTl9WU1lOQzMJCT0gSU9NVVhfUElOKDB4ZmYsICAyMyksCisJTVgzMV9QSU5fUkVBRAkJPSBJT01VWF9QSU4oMHhmZiwgIDI0KSwKKwlNWDMxX1BJTl9XUklURQkJPSBJT01VWF9QSU4oMHhmZiwgIDI1KSwKKwlNWDMxX1BJTl9QQVJfUlMJCT0gSU9NVVhfUElOKDB4ZmYsICAyNiksCisJTVgzMV9QSU5fU0VSX1JTCQk9IElPTVVYX1BJTig4OSwgICAgMjcpLAorCU1YMzFfUElOX0xDUzEJCT0gSU9NVVhfUElOKDg4LCAgICAyOCksCisJTVgzMV9QSU5fTENTMAkJPSBJT01VWF9QSU4oODcsICAgIDI5KSwKKwlNWDMxX1BJTl9TRF9EX0NMSwk9IElPTVVYX1BJTig4NiwgICAgMzApLAorCU1YMzFfUElOX1NEX0RfSU8JPSBJT01VWF9QSU4oODUsICAgIDMxKSwKKwlNWDMxX1BJTl9TRF9EX0kJCT0gSU9NVVhfUElOKDg0LCAgICAzMiksCisJTVgzMV9QSU5fRFJEWTAJCT0gSU9NVVhfUElOKDB4ZmYsICAzMyksCisJTVgzMV9QSU5fRlBTSElGVAk9IElPTVVYX1BJTigweGZmLCAgMzQpLAorCU1YMzFfUElOX0hTWU5DCQk9IElPTVVYX1BJTigweGZmLCAgMzUpLAorCU1YMzFfUElOX1ZTWU5DMAkJPSBJT01VWF9QSU4oMHhmZiwgIDM2KSwKKwlNWDMxX1BJTl9MRDE3CQk9IElPTVVYX1BJTigweGZmLCAgMzcpLAorCU1YMzFfUElOX0xEMTYJCT0gSU9NVVhfUElOKDB4ZmYsICAzOCksCisJTVgzMV9QSU5fTEQxNQkJPSBJT01VWF9QSU4oMHhmZiwgIDM5KSwKKwlNWDMxX1BJTl9MRDE0CQk9IElPTVVYX1BJTigweGZmLCAgNDApLAorCU1YMzFfUElOX0xEMTMJCT0gSU9NVVhfUElOKDB4ZmYsICA0MSksCisJTVgzMV9QSU5fTEQxMgkJPSBJT01VWF9QSU4oMHhmZiwgIDQyKSwKKwlNWDMxX1BJTl9MRDExCQk9IElPTVVYX1BJTigweGZmLCAgNDMpLAorCU1YMzFfUElOX0xEMTAJCT0gSU9NVVhfUElOKDB4ZmYsICA0NCksCisJTVgzMV9QSU5fTEQ5CQk9IElPTVVYX1BJTigweGZmLCAgNDUpLAorCU1YMzFfUElOX0xEOAkJPSBJT01VWF9QSU4oMHhmZiwgIDQ2KSwKKwlNWDMxX1BJTl9MRDcJCT0gSU9NVVhfUElOKDB4ZmYsICA0NyksCisJTVgzMV9QSU5fTEQ2CQk9IElPTVVYX1BJTigweGZmLCAgNDgpLAorCU1YMzFfUElOX0xENQkJPSBJT01VWF9QSU4oMHhmZiwgIDQ5KSwKKwlNWDMxX1BJTl9MRDQJCT0gSU9NVVhfUElOKDB4ZmYsICA1MCksCisJTVgzMV9QSU5fTEQzCQk9IElPTVVYX1BJTigweGZmLCAgNTEpLAorCU1YMzFfUElOX0xEMgkJPSBJT01VWF9QSU4oMHhmZiwgIDUyKSwKKwlNWDMxX1BJTl9MRDEJCT0gSU9NVVhfUElOKDB4ZmYsICA1MyksCisJTVgzMV9QSU5fTEQwCQk9IElPTVVYX1BJTigweGZmLCAgNTQpLAorCU1YMzFfUElOX1VTQkgyX0RBVEExCT0gSU9NVVhfUElOKDB4ZmYsICA1NSksCisJTVgzMV9QSU5fVVNCSDJfREFUQTAJPSBJT01VWF9QSU4oMHhmZiwgIDU2KSwKKwlNWDMxX1BJTl9VU0JIMl9OWFQJPSBJT01VWF9QSU4oMHhmZiwgIDU3KSwKKwlNWDMxX1BJTl9VU0JIMl9TVFAJPSBJT01VWF9QSU4oMHhmZiwgIDU4KSwKKwlNWDMxX1BJTl9VU0JIMl9ESVIJPSBJT01VWF9QSU4oMHhmZiwgIDU5KSwKKwlNWDMxX1BJTl9VU0JIMl9DTEsJPSBJT01VWF9QSU4oMHhmZiwgIDYwKSwKKwlNWDMxX1BJTl9VU0JPVEdfREFUQTcJPSBJT01VWF9QSU4oMHhmZiwgIDYxKSwKKwlNWDMxX1BJTl9VU0JPVEdfREFUQTYJPSBJT01VWF9QSU4oMHhmZiwgIDYyKSwKKwlNWDMxX1BJTl9VU0JPVEdfREFUQTUJPSBJT01VWF9QSU4oMHhmZiwgIDYzKSwKKwlNWDMxX1BJTl9VU0JPVEdfREFUQTQJPSBJT01VWF9QSU4oMHhmZiwgIDY0KSwKKwlNWDMxX1BJTl9VU0JPVEdfREFUQTMJPSBJT01VWF9QSU4oMHhmZiwgIDY1KSwKKwlNWDMxX1BJTl9VU0JPVEdfREFUQTIJPSBJT01VWF9QSU4oMHhmZiwgIDY2KSwKKwlNWDMxX1BJTl9VU0JPVEdfREFUQTEJPSBJT01VWF9QSU4oMHhmZiwgIDY3KSwKKwlNWDMxX1BJTl9VU0JPVEdfREFUQTAJPSBJT01VWF9QSU4oMHhmZiwgIDY4KSwKKwlNWDMxX1BJTl9VU0JPVEdfTlhUCT0gSU9NVVhfUElOKDB4ZmYsICA2OSksCisJTVgzMV9QSU5fVVNCT1RHX1NUUAk9IElPTVVYX1BJTigweGZmLCAgNzApLAorCU1YMzFfUElOX1VTQk9UR19ESVIJPSBJT01VWF9QSU4oMHhmZiwgIDcxKSwKKwlNWDMxX1BJTl9VU0JPVEdfQ0xLCT0gSU9NVVhfUElOKDB4ZmYsICA3MiksCisJTVgzMV9QSU5fVVNCX0JZUAk9IElPTVVYX1BJTigzMSwgICAgNzMpLAorCU1YMzFfUElOX1VTQl9PQwkJPSBJT01VWF9QSU4oMzAsICAgIDc0KSwKKwlNWDMxX1BJTl9VU0JfUFdSCT0gSU9NVVhfUElOKDI5LCAgICA3NSksCisJTVgzMV9QSU5fU0pDX01PRAk9IElPTVVYX1BJTigweGZmLCAgNzYpLAorCU1YMzFfUElOX0RFX0IJCT0gSU9NVVhfUElOKDB4ZmYsICA3NyksCisJTVgzMV9QSU5fVFJTVEIJCT0gSU9NVVhfUElOKDB4ZmYsICA3OCksCisJTVgzMV9QSU5fVERPCQk9IElPTVVYX1BJTigweGZmLCAgNzkpLAorCU1YMzFfUElOX1RESQkJPSBJT01VWF9QSU4oMHhmZiwgIDgwKSwKKwlNWDMxX1BJTl9UTVMJCT0gSU9NVVhfUElOKDB4ZmYsICA4MSksCisJTVgzMV9QSU5fVENLCQk9IElPTVVYX1BJTigweGZmLCAgODIpLAorCU1YMzFfUElOX1JUQ0sJCT0gSU9NVVhfUElOKDB4ZmYsICA4MyksCisJTVgzMV9QSU5fS0VZX0NPTDcJPSBJT01VWF9QSU4oNTcsICAgIDg0KSwKKwlNWDMxX1BJTl9LRVlfQ09MNgk9IElPTVVYX1BJTig1NiwgICAgODUpLAorCU1YMzFfUElOX0tFWV9DT0w1CT0gSU9NVVhfUElOKDU1LCAgICA4NiksCisJTVgzMV9QSU5fS0VZX0NPTDQJPSBJT01VWF9QSU4oNTQsICAgIDg3KSwKKwlNWDMxX1BJTl9LRVlfQ09MMwk9IElPTVVYX1BJTigweGZmLCAgODgpLAorCU1YMzFfUElOX0tFWV9DT0wyCT0gSU9NVVhfUElOKDB4ZmYsICA4OSksCisJTVgzMV9QSU5fS0VZX0NPTDEJPSBJT01VWF9QSU4oMHhmZiwgIDkwKSwKKwlNWDMxX1BJTl9LRVlfQ09MMAk9IElPTVVYX1BJTigweGZmLCAgOTEpLAorCU1YMzFfUElOX0tFWV9ST1c3CT0gSU9NVVhfUElOKDUzLCAgICA5MiksCisJTVgzMV9QSU5fS0VZX1JPVzYJPSBJT01VWF9QSU4oNTIsICAgIDkzKSwKKwlNWDMxX1BJTl9LRVlfUk9XNQk9IElPTVVYX1BJTig1MSwgICAgOTQpLAorCU1YMzFfUElOX0tFWV9ST1c0CT0gSU9NVVhfUElOKDUwLCAgICA5NSksCisJTVgzMV9QSU5fS0VZX1JPVzMJPSBJT01VWF9QSU4oMHhmZiwgIDk2KSwKKwlNWDMxX1BJTl9LRVlfUk9XMgk9IElPTVVYX1BJTigweGZmLCAgOTcpLAorCU1YMzFfUElOX0tFWV9ST1cxCT0gSU9NVVhfUElOKDB4ZmYsICA5OCksCisJTVgzMV9QSU5fS0VZX1JPVzAJPSBJT01VWF9QSU4oMHhmZiwgIDk5KSwKKwlNWDMxX1BJTl9CQVRUX0xJTkUJPSBJT01VWF9QSU4oNDksICAgMTAwKSwKKwlNWDMxX1BJTl9DVFMyCQk9IElPTVVYX1BJTigweGZmLCAxMDEpLAorCU1YMzFfUElOX1JUUzIJCT0gSU9NVVhfUElOKDB4ZmYsIDEwMiksCisJTVgzMV9QSU5fVFhEMgkJPSBJT01VWF9QSU4oMjgsICAgMTAzKSwKKwlNWDMxX1BJTl9SWEQyCQk9IElPTVVYX1BJTigyNywgICAxMDQpLAorCU1YMzFfUElOX0RUUl9EQ0UyCT0gSU9NVVhfUElOKDQ4LCAgIDEwNSksCisJTVgzMV9QSU5fRENEX0RURTEJPSBJT01VWF9QSU4oNDcsICAgMTA2KSwKKwlNWDMxX1BJTl9SSV9EVEUxCT0gSU9NVVhfUElOKDQ2LCAgIDEwNyksCisJTVgzMV9QSU5fRFNSX0RURTEJPSBJT01VWF9QSU4oNDUsICAgMTA4KSwKKwlNWDMxX1BJTl9EVFJfRFRFMQk9IElPTVVYX1BJTig0NCwgICAxMDkpLAorCU1YMzFfUElOX0RDRF9EQ0UxCT0gSU9NVVhfUElOKDQzLCAgIDExMCksCisJTVgzMV9QSU5fUklfRENFMQk9IElPTVVYX1BJTig0MiwgICAxMTEpLAorCU1YMzFfUElOX0RTUl9EQ0UxCT0gSU9NVVhfUElOKDQxLCAgIDExMiksCisJTVgzMV9QSU5fRFRSX0RDRTEJPSBJT01VWF9QSU4oNDAsICAgMTEzKSwKKwlNWDMxX1BJTl9DVFMxCQk9IElPTVVYX1BJTigzOSwgICAxMTQpLAorCU1YMzFfUElOX1JUUzEJCT0gSU9NVVhfUElOKDM4LCAgIDExNSksCisJTVgzMV9QSU5fVFhEMQkJPSBJT01VWF9QSU4oMzcsICAgMTE2KSwKKwlNWDMxX1BJTl9SWEQxCQk9IElPTVVYX1BJTigzNiwgICAxMTcpLAorCU1YMzFfUElOX0NTUEkyX1NQSV9SRFkJPSBJT01VWF9QSU4oMHhmZiwgMTE4KSwKKwlNWDMxX1BJTl9DU1BJMl9TQ0xLCT0gSU9NVVhfUElOKDB4ZmYsIDExOSksCisJTVgzMV9QSU5fQ1NQSTJfU1MyCT0gSU9NVVhfUElOKDB4ZmYsIDEyMCksCisJTVgzMV9QSU5fQ1NQSTJfU1MxCT0gSU9NVVhfUElOKDB4ZmYsIDEyMSksCisJTVgzMV9QSU5fQ1NQSTJfU1MwCT0gSU9NVVhfUElOKDB4ZmYsIDEyMiksCisJTVgzMV9QSU5fQ1NQSTJfTUlTTwk9IElPTVVYX1BJTigweGZmLCAxMjMpLAorCU1YMzFfUElOX0NTUEkyX01PU0kJPSBJT01VWF9QSU4oMHhmZiwgMTI0KSwKKwlNWDMxX1BJTl9DU1BJMV9TUElfUkRZCT0gSU9NVVhfUElOKDB4ZmYsIDEyNSksCisJTVgzMV9QSU5fQ1NQSTFfU0NMSwk9IElPTVVYX1BJTigweGZmLCAxMjYpLAorCU1YMzFfUElOX0NTUEkxX1NTMgk9IElPTVVYX1BJTigweGZmLCAxMjcpLAorCU1YMzFfUElOX0NTUEkxX1NTMQk9IElPTVVYX1BJTigweGZmLCAxMjgpLAorCU1YMzFfUElOX0NTUEkxX1NTMAk9IElPTVVYX1BJTigweGZmLCAxMjkpLAorCU1YMzFfUElOX0NTUEkxX01JU08JPSBJT01VWF9QSU4oMHhmZiwgMTMwKSwKKwlNWDMxX1BJTl9DU1BJMV9NT1NJCT0gSU9NVVhfUElOKDB4ZmYsIDEzMSksCisJTVgzMV9QSU5fU0ZTNgkJPSBJT01VWF9QSU4oMjYsICAgMTMyKSwKKwlNWDMxX1BJTl9TQ0s2CQk9IElPTVVYX1BJTigyNSwgICAxMzMpLAorCU1YMzFfUElOX1NSWEQ2CQk9IElPTVVYX1BJTigyNCwgICAxMzQpLAorCU1YMzFfUElOX1NUWEQ2CQk9IElPTVVYX1BJTigyMywgICAxMzUpLAorCU1YMzFfUElOX1NGUzUJCT0gSU9NVVhfUElOKDB4ZmYsIDEzNiksCisJTVgzMV9QSU5fU0NLNQkJPSBJT01VWF9QSU4oMHhmZiwgMTM3KSwKKwlNWDMxX1BJTl9TUlhENQkJPSBJT01VWF9QSU4oMjIsICAgMTM4KSwKKwlNWDMxX1BJTl9TVFhENQkJPSBJT01VWF9QSU4oMjEsICAgMTM5KSwKKwlNWDMxX1BJTl9TRlM0CQk9IElPTVVYX1BJTigweGZmLCAxNDApLAorCU1YMzFfUElOX1NDSzQJCT0gSU9NVVhfUElOKDB4ZmYsIDE0MSksCisJTVgzMV9QSU5fU1JYRDQJCT0gSU9NVVhfUElOKDIwLCAgIDE0MiksCisJTVgzMV9QSU5fU1RYRDQJCT0gSU9NVVhfUElOKDE5LCAgIDE0MyksCisJTVgzMV9QSU5fU0ZTMwkJPSBJT01VWF9QSU4oMHhmZiwgMTQ0KSwKKwlNWDMxX1BJTl9TQ0szCQk9IElPTVVYX1BJTigweGZmLCAxNDUpLAorCU1YMzFfUElOX1NSWEQzCQk9IElPTVVYX1BJTigxOCwgICAxNDYpLAorCU1YMzFfUElOX1NUWEQzCQk9IElPTVVYX1BJTigxNywgICAxNDcpLAorCU1YMzFfUElOX0kyQ19EQVQJPSBJT01VWF9QSU4oMHhmZiwgMTQ4KSwKKwlNWDMxX1BJTl9JMkNfQ0xLCT0gSU9NVVhfUElOKDB4ZmYsIDE0OSksCisJTVgzMV9QSU5fQ1NJX1BJWENMSwk9IElPTVVYX1BJTig4MywgICAxNTApLAorCU1YMzFfUElOX0NTSV9IU1lOQwk9IElPTVVYX1BJTig4MiwgICAxNTEpLAorCU1YMzFfUElOX0NTSV9WU1lOQwk9IElPTVVYX1BJTig4MSwgICAxNTIpLAorCU1YMzFfUElOX0NTSV9NQ0xLCT0gSU9NVVhfUElOKDgwLCAgIDE1MyksCisJTVgzMV9QSU5fQ1NJX0QxNQk9IElPTVVYX1BJTig3OSwgICAxNTQpLAorCU1YMzFfUElOX0NTSV9EMTQJPSBJT01VWF9QSU4oNzgsICAgMTU1KSwKKwlNWDMxX1BJTl9DU0lfRDEzCT0gSU9NVVhfUElOKDc3LCAgIDE1NiksCisJTVgzMV9QSU5fQ1NJX0QxMgk9IElPTVVYX1BJTig3NiwgICAxNTcpLAorCU1YMzFfUElOX0NTSV9EMTEJPSBJT01VWF9QSU4oNzUsICAgMTU4KSwKKwlNWDMxX1BJTl9DU0lfRDEwCT0gSU9NVVhfUElOKDc0LCAgIDE1OSksCisJTVgzMV9QSU5fQ1NJX0Q5CQk9IElPTVVYX1BJTig3MywgICAxNjApLAorCU1YMzFfUElOX0NTSV9EOAkJPSBJT01VWF9QSU4oNzIsICAgMTYxKSwKKwlNWDMxX1BJTl9DU0lfRDcJCT0gSU9NVVhfUElOKDcxLCAgIDE2MiksCisJTVgzMV9QSU5fQ1NJX0Q2CQk9IElPTVVYX1BJTig3MCwgICAxNjMpLAorCU1YMzFfUElOX0NTSV9ENQkJPSBJT01VWF9QSU4oNjksICAgMTY0KSwKKwlNWDMxX1BJTl9DU0lfRDQJCT0gSU9NVVhfUElOKDY4LCAgIDE2NSksCisJTVgzMV9QSU5fTV9HUkFOVAk9IElPTVVYX1BJTigweGZmLCAxNjYpLAorCU1YMzFfUElOX01fUkVRVUVTVAk9IElPTVVYX1BJTigweGZmLCAxNjcpLAorCU1YMzFfUElOX1BDX1BPRQkJPSBJT01VWF9QSU4oMHhmZiwgMTY4KSwKKwlNWDMxX1BJTl9QQ19SV19CCT0gSU9NVVhfUElOKDB4ZmYsIDE2OSksCisJTVgzMV9QSU5fSU9JUzE2CQk9IElPTVVYX1BJTigweGZmLCAxNzApLAorCU1YMzFfUElOX1BDX1JTVAkJPSBJT01VWF9QSU4oMHhmZiwgMTcxKSwKKwlNWDMxX1BJTl9QQ19CVkQyCT0gSU9NVVhfUElOKDB4ZmYsIDE3MiksCisJTVgzMV9QSU5fUENfQlZEMQk9IElPTVVYX1BJTigweGZmLCAxNzMpLAorCU1YMzFfUElOX1BDX1ZTMgkJPSBJT01VWF9QSU4oMHhmZiwgMTc0KSwKKwlNWDMxX1BJTl9QQ19WUzEJCT0gSU9NVVhfUElOKDB4ZmYsIDE3NSksCisJTVgzMV9QSU5fUENfUFdST04JPSBJT01VWF9QSU4oMHhmZiwgMTc2KSwKKwlNWDMxX1BJTl9QQ19SRUFEWQk9IElPTVVYX1BJTigweGZmLCAxNzcpLAorCU1YMzFfUElOX1BDX1dBSVRfQgk9IElPTVVYX1BJTigweGZmLCAxNzgpLAorCU1YMzFfUElOX1BDX0NEMl9CCT0gSU9NVVhfUElOKDB4ZmYsIDE3OSksCisJTVgzMV9QSU5fUENfQ0QxX0IJPSBJT01VWF9QSU4oMHhmZiwgMTgwKSwKKwlNWDMxX1BJTl9EMAkJPSBJT01VWF9QSU4oMHhmZiwgMTgxKSwKKwlNWDMxX1BJTl9EMQkJPSBJT01VWF9QSU4oMHhmZiwgMTgyKSwKKwlNWDMxX1BJTl9EMgkJPSBJT01VWF9QSU4oMHhmZiwgMTgzKSwKKwlNWDMxX1BJTl9EMwkJPSBJT01VWF9QSU4oMHhmZiwgMTg0KSwKKwlNWDMxX1BJTl9ENAkJPSBJT01VWF9QSU4oMHhmZiwgMTg1KSwKKwlNWDMxX1BJTl9ENQkJPSBJT01VWF9QSU4oMHhmZiwgMTg2KSwKKwlNWDMxX1BJTl9ENgkJPSBJT01VWF9QSU4oMHhmZiwgMTg3KSwKKwlNWDMxX1BJTl9ENwkJPSBJT01VWF9QSU4oMHhmZiwgMTg4KSwKKwlNWDMxX1BJTl9EOAkJPSBJT01VWF9QSU4oMHhmZiwgMTg5KSwKKwlNWDMxX1BJTl9EOQkJPSBJT01VWF9QSU4oMHhmZiwgMTkwKSwKKwlNWDMxX1BJTl9EMTAJCT0gSU9NVVhfUElOKDB4ZmYsIDE5MSksCisJTVgzMV9QSU5fRDExCQk9IElPTVVYX1BJTigweGZmLCAxOTIpLAorCU1YMzFfUElOX0QxMgkJPSBJT01VWF9QSU4oMHhmZiwgMTkzKSwKKwlNWDMxX1BJTl9EMTMJCT0gSU9NVVhfUElOKDB4ZmYsIDE5NCksCisJTVgzMV9QSU5fRDE0CQk9IElPTVVYX1BJTigweGZmLCAxOTUpLAorCU1YMzFfUElOX0QxNQkJPSBJT01VWF9QSU4oMHhmZiwgMTk2KSwKKwlNWDMxX1BJTl9ORlJCCQk9IElPTVVYX1BJTigxNiwgICAxOTcpLAorCU1YMzFfUElOX05GQ0VfQgkJPSBJT01VWF9QSU4oMTUsICAgMTk4KSwKKwlNWDMxX1BJTl9ORldQX0IJCT0gSU9NVVhfUElOKDE0LCAgIDE5OSksCisJTVgzMV9QSU5fTkZDTEUJCT0gSU9NVVhfUElOKDEzLCAgIDIwMCksCisJTVgzMV9QSU5fTkZBTEUJCT0gSU9NVVhfUElOKDEyLCAgIDIwMSksCisJTVgzMV9QSU5fTkZSRV9CCQk9IElPTVVYX1BJTigxMSwgICAyMDIpLAorCU1YMzFfUElOX05GV0VfQgkJPSBJT01VWF9QSU4oMTAsICAgMjAzKSwKKwlNWDMxX1BJTl9TRFFTMwkJPSBJT01VWF9QSU4oMHhmZiwgMjA0KSwKKwlNWDMxX1BJTl9TRFFTMgkJPSBJT01VWF9QSU4oMHhmZiwgMjA1KSwKKwlNWDMxX1BJTl9TRFFTMQkJPSBJT01VWF9QSU4oMHhmZiwgMjA2KSwKKwlNWDMxX1BJTl9TRFFTMAkJPSBJT01VWF9QSU4oMHhmZiwgMjA3KSwKKwlNWDMxX1BJTl9TRENMS19CCT0gSU9NVVhfUElOKDB4ZmYsIDIwOCksCisJTVgzMV9QSU5fU0RDTEsJCT0gSU9NVVhfUElOKDB4ZmYsIDIwOSksCisJTVgzMV9QSU5fU0RDS0UxCQk9IElPTVVYX1BJTigweGZmLCAyMTApLAorCU1YMzFfUElOX1NEQ0tFMAkJPSBJT01VWF9QSU4oMHhmZiwgMjExKSwKKwlNWDMxX1BJTl9TRFdFCQk9IElPTVVYX1BJTigweGZmLCAyMTIpLAorCU1YMzFfUElOX0NBUwkJPSBJT01VWF9QSU4oMHhmZiwgMjEzKSwKKwlNWDMxX1BJTl9SQVMJCT0gSU9NVVhfUElOKDB4ZmYsIDIxNCksCisJTVgzMV9QSU5fUlcJCT0gSU9NVVhfUElOKDB4ZmYsIDIxNSksCisJTVgzMV9QSU5fQkNMSwkJPSBJT01VWF9QSU4oMHhmZiwgMjE2KSwKKwlNWDMxX1BJTl9MQkEJCT0gSU9NVVhfUElOKDB4ZmYsIDIxNyksCisJTVgzMV9QSU5fRUNCCQk9IElPTVVYX1BJTigweGZmLCAyMTgpLAorCU1YMzFfUElOX0NTNQkJPSBJT01VWF9QSU4oMHhmZiwgMjE5KSwKKwlNWDMxX1BJTl9DUzQJCT0gSU9NVVhfUElOKDB4ZmYsIDIyMCksCisJTVgzMV9QSU5fQ1MzCQk9IElPTVVYX1BJTigweGZmLCAyMjEpLAorCU1YMzFfUElOX0NTMgkJPSBJT01VWF9QSU4oMHhmZiwgMjIyKSwKKwlNWDMxX1BJTl9DUzEJCT0gSU9NVVhfUElOKDB4ZmYsIDIyMyksCisJTVgzMV9QSU5fQ1MwCQk9IElPTVVYX1BJTigweGZmLCAyMjQpLAorCU1YMzFfUElOX09FCQk9IElPTVVYX1BJTigweGZmLCAyMjUpLAorCU1YMzFfUElOX0VCMQkJPSBJT01VWF9QSU4oMHhmZiwgMjI2KSwKKwlNWDMxX1BJTl9FQjAJCT0gSU9NVVhfUElOKDB4ZmYsIDIyNyksCisJTVgzMV9QSU5fRFFNMwkJPSBJT01VWF9QSU4oMHhmZiwgMjI4KSwKKwlNWDMxX1BJTl9EUU0yCQk9IElPTVVYX1BJTigweGZmLCAyMjkpLAorCU1YMzFfUElOX0RRTTEJCT0gSU9NVVhfUElOKDB4ZmYsIDIzMCksCisJTVgzMV9QSU5fRFFNMAkJPSBJT01VWF9QSU4oMHhmZiwgMjMxKSwKKwlNWDMxX1BJTl9TRDMxCQk9IElPTVVYX1BJTigweGZmLCAyMzIpLAorCU1YMzFfUElOX1NEMzAJCT0gSU9NVVhfUElOKDB4ZmYsIDIzMyksCisJTVgzMV9QSU5fU0QyOQkJPSBJT01VWF9QSU4oMHhmZiwgMjM0KSwKKwlNWDMxX1BJTl9TRDI4CQk9IElPTVVYX1BJTigweGZmLCAyMzUpLAorCU1YMzFfUElOX1NEMjcJCT0gSU9NVVhfUElOKDB4ZmYsIDIzNiksCisJTVgzMV9QSU5fU0QyNgkJPSBJT01VWF9QSU4oMHhmZiwgMjM3KSwKKwlNWDMxX1BJTl9TRDI1CQk9IElPTVVYX1BJTigweGZmLCAyMzgpLAorCU1YMzFfUElOX1NEMjQJCT0gSU9NVVhfUElOKDB4ZmYsIDIzOSksCisJTVgzMV9QSU5fU0QyMwkJPSBJT01VWF9QSU4oMHhmZiwgMjQwKSwKKwlNWDMxX1BJTl9TRDIyCQk9IElPTVVYX1BJTigweGZmLCAyNDEpLAorCU1YMzFfUElOX1NEMjEJCT0gSU9NVVhfUElOKDB4ZmYsIDI0MiksCisJTVgzMV9QSU5fU0QyMAkJPSBJT01VWF9QSU4oMHhmZiwgMjQzKSwKKwlNWDMxX1BJTl9TRDE5CQk9IElPTVVYX1BJTigweGZmLCAyNDQpLAorCU1YMzFfUElOX1NEMTgJCT0gSU9NVVhfUElOKDB4ZmYsIDI0NSksCisJTVgzMV9QSU5fU0QxNwkJPSBJT01VWF9QSU4oMHhmZiwgMjQ2KSwKKwlNWDMxX1BJTl9TRDE2CQk9IElPTVVYX1BJTigweGZmLCAyNDcpLAorCU1YMzFfUElOX1NEMTUJCT0gSU9NVVhfUElOKDB4ZmYsIDI0OCksCisJTVgzMV9QSU5fU0QxNAkJPSBJT01VWF9QSU4oMHhmZiwgMjQ5KSwKKwlNWDMxX1BJTl9TRDEzCQk9IElPTVVYX1BJTigweGZmLCAyNTApLAorCU1YMzFfUElOX1NEMTIJCT0gSU9NVVhfUElOKDB4ZmYsIDI1MSksCisJTVgzMV9QSU5fU0QxMQkJPSBJT01VWF9QSU4oMHhmZiwgMjUyKSwKKwlNWDMxX1BJTl9TRDEwCQk9IElPTVVYX1BJTigweGZmLCAyNTMpLAorCU1YMzFfUElOX1NEOQkJPSBJT01VWF9QSU4oMHhmZiwgMjU0KSwKKwlNWDMxX1BJTl9TRDgJCT0gSU9NVVhfUElOKDB4ZmYsIDI1NSksCisJTVgzMV9QSU5fU0Q3CQk9IElPTVVYX1BJTigweGZmLCAyNTYpLAorCU1YMzFfUElOX1NENgkJPSBJT01VWF9QSU4oMHhmZiwgMjU3KSwKKwlNWDMxX1BJTl9TRDUJCT0gSU9NVVhfUElOKDB4ZmYsIDI1OCksCisJTVgzMV9QSU5fU0Q0CQk9IElPTVVYX1BJTigweGZmLCAyNTkpLAorCU1YMzFfUElOX1NEMwkJPSBJT01VWF9QSU4oMHhmZiwgMjYwKSwKKwlNWDMxX1BJTl9TRDIJCT0gSU9NVVhfUElOKDB4ZmYsIDI2MSksCisJTVgzMV9QSU5fU0QxCQk9IElPTVVYX1BJTigweGZmLCAyNjIpLAorCU1YMzFfUElOX1NEMAkJPSBJT01VWF9QSU4oMHhmZiwgMjYzKSwKKwlNWDMxX1BJTl9TREJBMAkJPSBJT01VWF9QSU4oMHhmZiwgMjY0KSwKKwlNWDMxX1BJTl9TREJBMQkJPSBJT01VWF9QSU4oMHhmZiwgMjY1KSwKKwlNWDMxX1BJTl9BMjUJCT0gSU9NVVhfUElOKDB4ZmYsIDI2NiksCisJTVgzMV9QSU5fQTI0CQk9IElPTVVYX1BJTigweGZmLCAyNjcpLAorCU1YMzFfUElOX0EyMwkJPSBJT01VWF9QSU4oMHhmZiwgMjY4KSwKKwlNWDMxX1BJTl9BMjIJCT0gSU9NVVhfUElOKDB4ZmYsIDI2OSksCisJTVgzMV9QSU5fQTIxCQk9IElPTVVYX1BJTigweGZmLCAyNzApLAorCU1YMzFfUElOX0EyMAkJPSBJT01VWF9QSU4oMHhmZiwgMjcxKSwKKwlNWDMxX1BJTl9BMTkJCT0gSU9NVVhfUElOKDB4ZmYsIDI3MiksCisJTVgzMV9QSU5fQTE4CQk9IElPTVVYX1BJTigweGZmLCAyNzMpLAorCU1YMzFfUElOX0ExNwkJPSBJT01VWF9QSU4oMHhmZiwgMjc0KSwKKwlNWDMxX1BJTl9BMTYJCT0gSU9NVVhfUElOKDB4ZmYsIDI3NSksCisJTVgzMV9QSU5fQTE0CQk9IElPTVVYX1BJTigweGZmLCAyNzYpLAorCU1YMzFfUElOX0ExNQkJPSBJT01VWF9QSU4oMHhmZiwgMjc3KSwKKwlNWDMxX1BJTl9BMTMJCT0gSU9NVVhfUElOKDB4ZmYsIDI3OCksCisJTVgzMV9QSU5fQTEyCQk9IElPTVVYX1BJTigweGZmLCAyNzkpLAorCU1YMzFfUElOX0ExMQkJPSBJT01VWF9QSU4oMHhmZiwgMjgwKSwKKwlNWDMxX1BJTl9NQTEwCQk9IElPTVVYX1BJTigweGZmLCAyODEpLAorCU1YMzFfUElOX0ExMAkJPSBJT01VWF9QSU4oMHhmZiwgMjgyKSwKKwlNWDMxX1BJTl9BOQkJPSBJT01VWF9QSU4oMHhmZiwgMjgzKSwKKwlNWDMxX1BJTl9BOAkJPSBJT01VWF9QSU4oMHhmZiwgMjg0KSwKKwlNWDMxX1BJTl9BNwkJPSBJT01VWF9QSU4oMHhmZiwgMjg1KSwKKwlNWDMxX1BJTl9BNgkJPSBJT01VWF9QSU4oMHhmZiwgMjg2KSwKKwlNWDMxX1BJTl9BNQkJPSBJT01VWF9QSU4oMHhmZiwgMjg3KSwKKwlNWDMxX1BJTl9BNAkJPSBJT01VWF9QSU4oMHhmZiwgMjg4KSwKKwlNWDMxX1BJTl9BMwkJPSBJT01VWF9QSU4oMHhmZiwgMjg5KSwKKwlNWDMxX1BJTl9BMgkJPSBJT01VWF9QSU4oMHhmZiwgMjkwKSwKKwlNWDMxX1BJTl9BMQkJPSBJT01VWF9QSU4oMHhmZiwgMjkxKSwKKwlNWDMxX1BJTl9BMAkJPSBJT01VWF9QSU4oMHhmZiwgMjkyKSwKKwlNWDMxX1BJTl9WUEcxCQk9IElPTVVYX1BJTigweGZmLCAyOTMpLAorCU1YMzFfUElOX1ZQRzAJCT0gSU9NVVhfUElOKDB4ZmYsIDI5NCksCisJTVgzMV9QSU5fRFZGUzEJCT0gSU9NVVhfUElOKDB4ZmYsIDI5NSksCisJTVgzMV9QSU5fRFZGUzAJCT0gSU9NVVhfUElOKDB4ZmYsIDI5NiksCisJTVgzMV9QSU5fVlNUQlkJCT0gSU9NVVhfUElOKDB4ZmYsIDI5NyksCisJTVgzMV9QSU5fUE9XRVJfRkFJTAk9IElPTVVYX1BJTigweGZmLCAyOTgpLAorCU1YMzFfUElOX0NLSUwJCT0gSU9NVVhfUElOKDB4ZmYsIDI5OSksCisJTVgzMV9QSU5fQk9PVF9NT0RFNAk9IElPTVVYX1BJTigweGZmLCAzMDApLAorCU1YMzFfUElOX0JPT1RfTU9ERTMJPSBJT01VWF9QSU4oMHhmZiwgMzAxKSwKKwlNWDMxX1BJTl9CT09UX01PREUyCT0gSU9NVVhfUElOKDB4ZmYsIDMwMiksCisJTVgzMV9QSU5fQk9PVF9NT0RFMQk9IElPTVVYX1BJTigweGZmLCAzMDMpLAorCU1YMzFfUElOX0JPT1RfTU9ERTAJPSBJT01VWF9QSU4oMHhmZiwgMzA0KSwKKwlNWDMxX1BJTl9DTEtPCQk9IElPTVVYX1BJTigweGZmLCAzMDUpLAorCU1YMzFfUElOX1BPUl9CCQk9IElPTVVYX1BJTigweGZmLCAzMDYpLAorCU1YMzFfUElOX1JFU0VUX0lOX0IJPSBJT01VWF9QSU4oMHhmZiwgMzA3KSwKKwlNWDMxX1BJTl9DS0lICQk9IElPTVVYX1BJTigweGZmLCAzMDgpLAorCU1YMzFfUElOX1NJTVBEMAkJPSBJT01VWF9QSU4oMzUsICAgMzA5KSwKKwlNWDMxX1BJTl9TUlgwCQk9IElPTVVYX1BJTigzNCwgICAzMTApLAorCU1YMzFfUElOX1NUWDAJCT0gSU9NVVhfUElOKDMzLCAgIDMxMSksCisJTVgzMV9QSU5fU1ZFTjAJCT0gSU9NVVhfUElOKDMyLCAgIDMxMiksCisJTVgzMV9QSU5fU1JTVDAJCT0gSU9NVVhfUElOKDY3LCAgIDMxMyksCisJTVgzMV9QSU5fU0NMSzAJCT0gSU9NVVhfUElOKDY2LCAgIDMxNCksCisJTVgzMV9QSU5fR1BJTzNfMQk9IElPTVVYX1BJTig2NSwgICAzMTUpLAorCU1YMzFfUElOX0dQSU8zXzAJPSBJT01VWF9QSU4oNjQsICAgMzE2KSwKKwlNWDMxX1BJTl9HUElPMV82CT0gSU9NVVhfUElOKCA2LCAgIDMxNyksCisJTVgzMV9QSU5fR1BJTzFfNQk9IElPTVVYX1BJTiggNSwgICAzMTgpLAorCU1YMzFfUElOX0dQSU8xXzQJPSBJT01VWF9QSU4oIDQsICAgMzE5KSwKKwlNWDMxX1BJTl9HUElPMV8zCT0gSU9NVVhfUElOKCAzLCAgIDMyMCksCisJTVgzMV9QSU5fR1BJTzFfMgk9IElPTVVYX1BJTiggMiwgICAzMjEpLAorCU1YMzFfUElOX0dQSU8xXzEJPSBJT01VWF9QSU4oIDEsICAgMzIyKSwKKwlNWDMxX1BJTl9HUElPMV8wCT0gSU9NVVhfUElOKCAwLCAgIDMyMyksCisJTVgzMV9QSU5fUFdNTwkJPSBJT01VWF9QSU4oIDksICAgMzI0KSwKKwlNWDMxX1BJTl9XQVRDSERPR19SU1QJPSBJT01VWF9QSU4oMHhmZiwgMzI1KSwKKwlNWDMxX1BJTl9DT01QQVJFCT0gSU9NVVhfUElOKCA4LCAgIDMyNiksCisJTVgzMV9QSU5fQ0FQVFVSRQk9IElPTVVYX1BJTiggNywgICAzMjcpLAorfTsKKworLyoKKyAqIENvbnZlbmllbmNlIHZhbHVlcyBmb3IgdXNlIHdpdGggbXhjX2lvbXV4X21vZGUoKQorICoKKyAqIEZvcm1hdCBoZXJlIGlzIE1YMzFfUElOXyhwaW4gbmFtZSlfXyhmdW5jdGlvbikKKyAqLworI2RlZmluZSBNWDMxX1BJTl9DU1BJM19NT1NJX19SWEQzCUlPTVVYX01PREUoTVgzMV9QSU5fQ1NQSTNfTU9TSSwgSU9NVVhfQ09ORklHX0FMVDEpCisjZGVmaW5lIE1YMzFfUElOX0NTUEkzX01JU09fX1RYRDMJSU9NVVhfTU9ERShNWDMxX1BJTl9DU1BJM19NSVNPLCBJT01VWF9DT05GSUdfQUxUMSkKKyNkZWZpbmUgTVgzMV9QSU5fQ1RTMV9fQ1RTMQkJSU9NVVhfTU9ERShNWDMxX1BJTl9DVFMxLCBJT01VWF9DT05GSUdfRlVOQykKKyNkZWZpbmUgTVgzMV9QSU5fUlRTMV9fUlRTMQkJSU9NVVhfTU9ERShNWDMxX1BJTl9SVFMxLCBJT01VWF9DT05GSUdfRlVOQykKKyNkZWZpbmUgTVgzMV9QSU5fVFhEMV9fVFhEMQkJSU9NVVhfTU9ERShNWDMxX1BJTl9UWEQxLCBJT01VWF9DT05GSUdfRlVOQykKKyNkZWZpbmUgTVgzMV9QSU5fUlhEMV9fUlhEMQkJSU9NVVhfTU9ERShNWDMxX1BJTl9SWEQxLCBJT01VWF9DT05GSUdfRlVOQykKKworLyoKKyAqIFRoaXMgZnVuY3Rpb24gY29uZmlndXJlcyB0aGUgcGFkIHZhbHVlIGZvciBhIElPTVVYIHBpbi4KKyAqLwordm9pZCBteGNfaW9tdXhfc2V0X3BhZChlbnVtIGlvbXV4X3BpbnMsIHUzMik7CisKKyNlbmRpZgorCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvaXJxcy5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2lycXMuaAppbmRleCBiMmM1MjA1Li5mNDE2MTMwIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvaXJxcy5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9pcnFzLmgKQEAgLTEzLDE3ICsxMyw0IEBACiAKICNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KIAotI2RlZmluZSBNWENfSVJRX1RPX0VYUElPKGlycSkJKChpcnEpIC0gTVhDX0VYUF9JT19CQVNFKQotCi0jZGVmaW5lIE1YQ19JUlFfVE9fR1BJTyhpcnEpCSgoaXJxKSAtIE1YQ19HUElPX0lOVF9CQVNFKQotI2RlZmluZSBNWENfR1BJT19UT19JUlEoeCkJKE1YQ19HUElPX0lOVF9CQVNFICsgeCkKLQotLyogTnVtYmVyIG9mIG5vcm1hbCBpbnRlcnJ1cHRzICovCi0jZGVmaW5lIE5SX0lSUVMJCShNWENfTUFYX0lOVF9MSU5FUyArIFwKLQkJCU1YQ19NQVhfR1BJT19MSU5FUyArIFwKLQkJCU1YQ19NQVhfVklSVFVBTF9JTlRTKQotCi0vKiBOdW1iZXIgb2YgZmFzdCBpbnRlcnJ1cHRzICovCi0jZGVmaW5lIE5SX0ZJUVMJCU1YQ19NQVhfSU5UUwotCiAjZW5kaWYgLyogX19BU01fQVJDSF9NWENfSVJRU19IX18gKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9teDI3LmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvbXgyNy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIxMmVjYzIKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvbXgyNy5oCkBAIC0wLDAgKzEsMzAyIEBACisvKgorICogQ29weXJpZ2h0IDIwMDQtMjAwNyBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICogQ29weXJpZ2h0IDIwMDggSnVlcmdlbiBCZWlzZXJ0LCBrZXJuZWxAcGVuZ3V0cm9uaXguZGUKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIKKyAqIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwKKyAqIE1BICAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2lmbmRlZiBfX0FTTV9BUkNIX01YQ19NWDI3X0hfXworI2RlZmluZSBfX0FTTV9BUkNIX01YQ19NWDI3X0hfXworCisjaWZuZGVmIF9fQVNNX0FSQ0hfTVhDX0hBUkRXQVJFX0hfXworI2Vycm9yICJEbyBub3QgaW5jbHVkZSBkaXJlY3RseS4iCisjZW5kaWYKKworLyogSVJBTSAqLworI2RlZmluZSBJUkFNX0JBU0VfQUREUiAgICAgICAgICAweEZGRkY0QzAwCS8qIGludGVybmFsIHJhbSAqLworCisvKiBSZWdpc3RlciBvZmZlc3RzICovCisjZGVmaW5lIEFJUElfQkFTRV9BRERSICAgICAgICAgIDB4MTAwMDAwMDAKKyNkZWZpbmUgQUlQSV9CQVNFX0FERFJfVklSVCAgICAgMHhGNDAwMDAwMAorI2RlZmluZSBBSVBJX1NJWkUgICAgICAgICAgICAgICBTWl8xTQorCisjZGVmaW5lIERNQV9CQVNFX0FERFIgICAgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4MDEwMDApCisjZGVmaW5lIFdET0dfQkFTRV9BRERSICAgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4MDIwMDApCisjZGVmaW5lIEdQVDFfQkFTRV9BRERSICAgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4MDMwMDApCisjZGVmaW5lIEdQVDJfQkFTRV9BRERSICAgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4MDQwMDApCisjZGVmaW5lIEdQVDNfQkFTRV9BRERSICAgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4MDUwMDApCisjZGVmaW5lIFBXTV9CQVNFX0FERFIgICAgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4MDYwMDApCisjZGVmaW5lIFJUQ19CQVNFX0FERFIgICAgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4MDcwMDApCisjZGVmaW5lIEtQUF9CQVNFX0FERFIgICAgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4MDgwMDApCisjZGVmaW5lIE9XSVJFX0JBU0VfQUREUiAgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4MDkwMDApCisjZGVmaW5lIFVBUlQxX0JBU0VfQUREUiAgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4MEEwMDApCisjZGVmaW5lIFVBUlQyX0JBU0VfQUREUiAgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4MEIwMDApCisjZGVmaW5lIFVBUlQzX0JBU0VfQUREUiAgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4MEMwMDApCisjZGVmaW5lIFVBUlQ0X0JBU0VfQUREUiAgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4MEQwMDApCisjZGVmaW5lIENTUEkxX0JBU0VfQUREUiAgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4MEUwMDApCisjZGVmaW5lIENTUEkyX0JBU0VfQUREUiAgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4MEYwMDApCisjZGVmaW5lIFNTSTFfQkFTRV9BRERSICAgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4MTAwMDApCisjZGVmaW5lIFNTSTJfQkFTRV9BRERSICAgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4MTEwMDApCisjZGVmaW5lIEkyQ19CQVNFX0FERFIgICAgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4MTIwMDApCisjZGVmaW5lIFNESEMxX0JBU0VfQUREUiAgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4MTMwMDApCisjZGVmaW5lIFNESEMyX0JBU0VfQUREUiAgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4MTQwMDApCisjZGVmaW5lIEdQSU9fQkFTRV9BRERSICAgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4MTUwMDApCisjZGVmaW5lIEFVRE1VWF9CQVNFX0FERFIgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4MTYwMDApCisKKyNkZWZpbmUgQ1NQSTNfQkFTRV9BRERSICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgxNzAwMCkKKyNkZWZpbmUgTVNIQ19CQVNFX0FERFIgICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgxODAwMCkKKyNkZWZpbmUgR1BUNV9CQVNFX0FERFIgICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgxOTAwMCkKKyNkZWZpbmUgR1BUNF9CQVNFX0FERFIgICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgxQTAwMCkKKyNkZWZpbmUgVUFSVDVfQkFTRV9BRERSICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgxQjAwMCkKKyNkZWZpbmUgVUFSVDZfQkFTRV9BRERSICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgxQzAwMCkKKyNkZWZpbmUgSTJDMl9CQVNFX0FERFIgICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgxRDAwMCkKKyNkZWZpbmUgU0RIQzNfQkFTRV9BRERSICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgxRTAwMCkKKyNkZWZpbmUgR1BUNl9CQVNFX0FERFIgICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgxRjAwMCkKKworI2RlZmluZSBMQ0RDX0JBU0VfQUREUiAgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDIxMDAwKQorI2RlZmluZSBTTENEQ19CQVNFX0FERFIgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDIyMDAwKQorI2RlZmluZSBWUFVfQkFTRV9BRERSICAgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDIzMDAwKQorI2RlZmluZSBVU0JPVEdfQkFTRV9BRERSICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDI0MDAwKQorLyogZm9yIG14MjcqLworI2RlZmluZSBPVEdfQkFTRV9BRERSICAgICAgICAgICBVU0JPVEdfQkFTRV9BRERSCisjZGVmaW5lIFNBSEFSQV9CQVNFX0FERFIgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4MjUwMDApCisjZGVmaW5lIEVNTUFfQkFTRV9BRERSICAgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4MjY0MDApCisjZGVmaW5lIENDTV9CQVNFX0FERFIgICAgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4MjcwMDApCisjZGVmaW5lIFNZU0NUUkxfQkFTRV9BRERSICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4Mjc4MDApCisjZGVmaW5lIElJTV9CQVNFX0FERFIgICAgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4MjgwMDApCisKKyNkZWZpbmUgUlRJQ19CQVNFX0FERFIgICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgyQTAwMCkKKyNkZWZpbmUgRkVDX0JBU0VfQUREUiAgICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgyQjAwMCkKKyNkZWZpbmUgU0NDX0JBU0VfQUREUiAgICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgyQzAwMCkKKyNkZWZpbmUgRVRCX0JBU0VfQUREUiAgICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgzQjAwMCkKKyNkZWZpbmUgRVRCX1JBTV9CQVNFX0FERFIgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgzQzAwMCkKKworI2RlZmluZSBKQU1fQkFTRV9BRERSICAgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDNFMDAwKQorI2RlZmluZSBNQVhfQkFTRV9BRERSICAgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDNGMDAwKQorCisvKiBST01QIGFuZCBBVklDICovCisjZGVmaW5lIFJPTVBfQkFTRV9BRERSICAgICAgICAgIDB4MTAwNDEwMDAKKworI2RlZmluZSBBVklDX0JBU0VfQUREUiAgICAgICAgICAweDEwMDQwMDAwCisKKyNkZWZpbmUgU0FIQjFfQkFTRV9BRERSICAgICAgICAgMHg4MDAwMDAwMAorI2RlZmluZSBTQUhCMV9CQVNFX0FERFJfVklSVCAgICAweEY0MTAwMDAwCisjZGVmaW5lIFNBSEIxX1NJWkUgICAgICAgICAgICAgIFNaXzFNCisKKyNkZWZpbmUgQ1NJX0JBU0VfQUREUiAgICAgICAgICAgKFNBSEIxX0JBU0VfQUREUiArIDB4MDAwMCkKKyNkZWZpbmUgQVRBX0JBU0VfQUREUiAgICAgICAgICAgKFNBSEIxX0JBU0VfQUREUiArIDB4MTAwMCkKKworLyogTkFORCwgU0RSQU0sIFdFSU0sIE0zSUYsIEVNSSBjb250cm9sbGVycyAqLworI2RlZmluZSBYX01FTUNfQkFTRV9BRERSICAgICAgICAweEQ4MDAwMDAwCisjZGVmaW5lIFhfTUVNQ19CQVNFX0FERFJfVklSVCAgIDB4RjQyMDAwMDAKKyNkZWZpbmUgWF9NRU1DX1NJWkUgICAgICAgICAgICAgU1pfMU0KKworI2RlZmluZSBORkNfQkFTRV9BRERSICAgICAgICAgICAoWF9NRU1DX0JBU0VfQUREUikKKyNkZWZpbmUgU0RSQU1DX0JBU0VfQUREUiAgICAgICAgKFhfTUVNQ19CQVNFX0FERFIgKyAweDEwMDApCisjZGVmaW5lIFdFSU1fQkFTRV9BRERSICAgICAgICAgIChYX01FTUNfQkFTRV9BRERSICsgMHgyMDAwKQorI2RlZmluZSBNM0lGX0JBU0VfQUREUiAgICAgICAgICAoWF9NRU1DX0JBU0VfQUREUiArIDB4MzAwMCkKKyNkZWZpbmUgUENNQ0lBX0NUTF9CQVNFX0FERFIgICAgKFhfTUVNQ19CQVNFX0FERFIgKyAweDQwMDApCisKKy8qIE1lbW9yeSByZWdpb25zIGFuZCBDUyAqLworI2RlZmluZSBTRFJBTV9CQVNFX0FERFIJCTB4QTAwMDAwMDAKKyNkZWZpbmUgQ1NEMV9CQVNFX0FERFIJCTB4QjAwMDAwMDAKKworI2RlZmluZSBDUzBfQkFTRV9BRERSICAgICAgICAgICAweEMwMDAwMDAwCisjZGVmaW5lIENTMV9CQVNFX0FERFIgICAgICAgICAgIDB4QzgwMDAwMDAKKyNkZWZpbmUgQ1MyX0JBU0VfQUREUiAgICAgICAgICAgMHhEMDAwMDAwMAorI2RlZmluZSBDUzNfQkFTRV9BRERSICAgICAgICAgICAweEQyMDAwMDAwCisjZGVmaW5lIENTNF9CQVNFX0FERFIgICAgICAgICAgIDB4RDQwMDAwMDAKKyNkZWZpbmUgQ1M1X0JBU0VfQUREUiAgICAgICAgICAgMHhENjAwMDAwMAorI2RlZmluZSBQQ01DSUFfTUVNX0JBU0VfQUREUiAgICAweERDMDAwMDAwCisKKy8qCisgKiBUaGlzIG1hY3JvIGRlZmluZXMgdGhlIHBoeXNpY2FsIHRvIHZpcnR1YWwgYWRkcmVzcyBtYXBwaW5nIGZvciBhbGwgdGhlCisgKiBwZXJpcGhlcmFsIG1vZHVsZXMuIEl0IGlzIHVzZWQgYnkgcGFzc2luZyBpbiB0aGUgcGh5c2ljYWwgYWRkcmVzcyBhcyB4CisgKiBhbmQgcmV0dXJuaW5nIHRoZSB2aXJ0dWFsIGFkZHJlc3MuIElmIHRoZSBwaHlzaWNhbCBhZGRyZXNzIGlzIG5vdCBtYXBwZWQsCisgKiBpdCByZXR1cm5zIDB4REVBREJFRUYKKyAqLworI2RlZmluZSBJT19BRERSRVNTKHgpICAgXAorCSgoKHggPj0gQUlQSV9CQVNFX0FERFIpICYmICh4IDwgKEFJUElfQkFTRV9BRERSICsgQUlQSV9TSVpFKSkpID8gXAorCQlBSVBJX0lPX0FERFJFU1MoeCkgOiBcCisJKCh4ID49IFNBSEIxX0JBU0VfQUREUikgJiYgKHggPCAoU0FIQjFfQkFTRV9BRERSICsgU0FIQjFfU0laRSkpKSA/IFwKKwkJU0FIQjFfSU9fQUREUkVTUyh4KSA6IFwKKwkoKHggPj0gWF9NRU1DX0JBU0VfQUREUikgJiYgKHggPCAoWF9NRU1DX0JBU0VfQUREUiArIFhfTUVNQ19TSVpFKSkpID8gXAorCQlYX01FTUNfSU9fQUREUkVTUyh4KSA6IDB4REVBREJFRUYpCisKKy8qIGRlZmluZSB0aGUgYWRkcmVzcyBtYXBwaW5nIG1hY3JvczogaW4gcGh5c2ljYWwgYWRkcmVzcyBvcmRlciAqLworI2RlZmluZSBBSVBJX0lPX0FERFJFU1MoeCkgIFwKKwkoKCh4KSAtIEFJUElfQkFTRV9BRERSKSArIEFJUElfQkFTRV9BRERSX1ZJUlQpCisKKyNkZWZpbmUgQVZJQ19JT19BRERSRVNTKHgpCUFJUElfSU9fQUREUkVTUyh4KQorCisjZGVmaW5lIFNBSEIxX0lPX0FERFJFU1MoeCkgIFwKKwkoKCh4KSAtIFNBSEIxX0JBU0VfQUREUikgKyBTQUhCMV9CQVNFX0FERFJfVklSVCkKKworI2RlZmluZSBDUzRfSU9fQUREUkVTUyh4KSAgXAorCSgoKHgpIC0gQ1M0X0JBU0VfQUREUikgKyBDUzRfQkFTRV9BRERSX1ZJUlQpCisKKyNkZWZpbmUgWF9NRU1DX0lPX0FERFJFU1MoeCkgIFwKKwkoKCh4KSAtIFhfTUVNQ19CQVNFX0FERFIpICsgWF9NRU1DX0JBU0VfQUREUl9WSVJUKQorCisjZGVmaW5lIFBDTUNJQV9JT19BRERSRVNTKHgpIFwKKwkoKCh4KSAtIFhfTUVNQ19CQVNFX0FERFIpICsgWF9NRU1DX0JBU0VfQUREUl9WSVJUKQorCisvKiBmaXhlZCBpbnRlcnJwdXQgbnVtYmVycyAqLworI2RlZmluZSBNWENfSU5UX0NDTQkJNjMKKyNkZWZpbmUgTVhDX0lOVF9JSU0JCTYyCisjZGVmaW5lIE1YQ19JTlRfTENEQwkJNjEKKyNkZWZpbmUgTVhDX0lOVF9TTENEQwkJNjAKKyNkZWZpbmUgTVhDX0lOVF9TQUhBUkEJCTU5CisjZGVmaW5lIE1YQ19JTlRfU0NDX1NDTQkJNTgKKyNkZWZpbmUgTVhDX0lOVF9TQ0NfU01OCQk1NworI2RlZmluZSBNWENfSU5UX1VTQjMJCTU2CisjZGVmaW5lIE1YQ19JTlRfVVNCMgkJNTUKKyNkZWZpbmUgTVhDX0lOVF9VU0IxCQk1NAorI2RlZmluZSBNWENfSU5UX1ZQVQkJNTMKKyNkZWZpbmUgTVhDX0lOVF9FTU1BUFAJCTUyCisjZGVmaW5lIE1YQ19JTlRfRU1NQVBSUAkJNTEKKyNkZWZpbmUgTVhDX0lOVF9GRUMJCTUwCisjZGVmaW5lIE1YQ19JTlRfVUFSVDUJCTQ5CisjZGVmaW5lIE1YQ19JTlRfVUFSVDYJCTQ4CisjZGVmaW5lIE1YQ19JTlRfRE1BQ0gxNQkJNDcKKyNkZWZpbmUgTVhDX0lOVF9ETUFDSDE0CQk0NgorI2RlZmluZSBNWENfSU5UX0RNQUNIMTMJCTQ1CisjZGVmaW5lIE1YQ19JTlRfRE1BQ0gxMgkJNDQKKyNkZWZpbmUgTVhDX0lOVF9ETUFDSDExCQk0MworI2RlZmluZSBNWENfSU5UX0RNQUNIMTAJCTQyCisjZGVmaW5lIE1YQ19JTlRfRE1BQ0g5CQk0MQorI2RlZmluZSBNWENfSU5UX0RNQUNIOAkJNDAKKyNkZWZpbmUgTVhDX0lOVF9ETUFDSDcJCTM5CisjZGVmaW5lIE1YQ19JTlRfRE1BQ0g2CQkzOAorI2RlZmluZSBNWENfSU5UX0RNQUNINQkJMzcKKyNkZWZpbmUgTVhDX0lOVF9ETUFDSDQJCTM2CisjZGVmaW5lIE1YQ19JTlRfRE1BQ0gzCQkzNQorI2RlZmluZSBNWENfSU5UX0RNQUNIMgkJMzQKKyNkZWZpbmUgTVhDX0lOVF9ETUFDSDEJCTMzCisjZGVmaW5lIE1YQ19JTlRfRE1BQ0gwCQkzMgorI2RlZmluZSBNWENfSU5UX0NTSQkJMzEKKyNkZWZpbmUgTVhDX0lOVF9BVEEJCTMwCisjZGVmaW5lIE1YQ19JTlRfTkFOREZDCQkyOQorI2RlZmluZSBNWENfSU5UX1BDTUNJQQkJMjgKKyNkZWZpbmUgTVhDX0lOVF9XRE9HCQkyNworI2RlZmluZSBNWENfSU5UX0dQVDEJCTI2CisjZGVmaW5lIE1YQ19JTlRfR1BUMgkJMjUKKyNkZWZpbmUgTVhDX0lOVF9HUFQzCQkyNAorI2RlZmluZSBNWENfSU5UX0dQVAkJSU5UX0dQVDEKKyNkZWZpbmUgTVhDX0lOVF9QV00JCTIzCisjZGVmaW5lIE1YQ19JTlRfUlRDCQkyMgorI2RlZmluZSBNWENfSU5UX0tQUAkJMjEKKyNkZWZpbmUgTVhDX0lOVF9VQVJUMQkJMjAKKyNkZWZpbmUgTVhDX0lOVF9VQVJUMgkJMTkKKyNkZWZpbmUgTVhDX0lOVF9VQVJUMwkJMTgKKyNkZWZpbmUgTVhDX0lOVF9VQVJUNAkJMTcKKyNkZWZpbmUgTVhDX0lOVF9DU1BJMQkJMTYKKyNkZWZpbmUgTVhDX0lOVF9DU1BJMgkJMTUKKyNkZWZpbmUgTVhDX0lOVF9TU0kxCQkxNAorI2RlZmluZSBNWENfSU5UX1NTSTIJCTEzCisjZGVmaW5lIE1YQ19JTlRfSTJDCQkxMgorI2RlZmluZSBNWENfSU5UX1NESEMxCQkxMQorI2RlZmluZSBNWENfSU5UX1NESEMyCQkxMAorI2RlZmluZSBNWENfSU5UX1NESEMzCQk5CisjZGVmaW5lIE1YQ19JTlRfR1BJTwkJOAorI2RlZmluZSBNWENfSU5UX1NESEMJCTcKKyNkZWZpbmUgTVhDX0lOVF9DU1BJMwkJNgorI2RlZmluZSBNWENfSU5UX1JUSUMJCTUKKyNkZWZpbmUgTVhDX0lOVF9HUFQ0CQk0CisjZGVmaW5lIE1YQ19JTlRfR1BUNQkJMworI2RlZmluZSBNWENfSU5UX0dQVDYJCTIKKyNkZWZpbmUgTVhDX0lOVF9JMkMyCQkxCisKKy8qIGZpeGVkIERNQSByZXF1ZXN0IG51bWJlcnMgKi8KKyNkZWZpbmUgRE1BX1JFUV9ORkMgICAgICAgICAgICAgMzcKKyNkZWZpbmUgRE1BX1JFUV9TREhDMyAgICAgICAgICAgMzYKKyNkZWZpbmUgRE1BX1JFUV9VQVJUNl9SWCAgICAgICAgMzUKKyNkZWZpbmUgRE1BX1JFUV9VQVJUNl9UWCAgICAgICAgMzQKKyNkZWZpbmUgRE1BX1JFUV9VQVJUNV9SWCAgICAgICAgMzMKKyNkZWZpbmUgRE1BX1JFUV9VQVJUNV9UWCAgICAgICAgMzIKKyNkZWZpbmUgRE1BX1JFUV9DU0lfUlggICAgICAgICAgMzEKKyNkZWZpbmUgRE1BX1JFUV9DU0lfU1RBVCAgICAgICAgMzAKKyNkZWZpbmUgRE1BX1JFUV9BVEFfUkNWICAgICAgICAgMjkKKyNkZWZpbmUgRE1BX1JFUV9BVEFfVFggICAgICAgICAgMjgKKyNkZWZpbmUgRE1BX1JFUV9VQVJUMV9UWCAgICAgICAgMjcKKyNkZWZpbmUgRE1BX1JFUV9VQVJUMV9SWCAgICAgICAgMjYKKyNkZWZpbmUgRE1BX1JFUV9VQVJUMl9UWCAgICAgICAgMjUKKyNkZWZpbmUgRE1BX1JFUV9VQVJUMl9SWCAgICAgICAgMjQKKyNkZWZpbmUgRE1BX1JFUV9VQVJUM19UWCAgICAgICAgMjMKKyNkZWZpbmUgRE1BX1JFUV9VQVJUM19SWCAgICAgICAgMjIKKyNkZWZpbmUgRE1BX1JFUV9VQVJUNF9UWCAgICAgICAgMjEKKyNkZWZpbmUgRE1BX1JFUV9VQVJUNF9SWCAgICAgICAgMjAKKyNkZWZpbmUgRE1BX1JFUV9DU1BJMV9UWCAgICAgICAgMTkKKyNkZWZpbmUgRE1BX1JFUV9DU1BJMV9SWCAgICAgICAgMTgKKyNkZWZpbmUgRE1BX1JFUV9DU1BJMl9UWCAgICAgICAgMTcKKyNkZWZpbmUgRE1BX1JFUV9DU1BJMl9SWCAgICAgICAgMTYKKyNkZWZpbmUgRE1BX1JFUV9TU0kxX1RYMSAgICAgICAgMTUKKyNkZWZpbmUgRE1BX1JFUV9TU0kxX1JYMSAgICAgICAgMTQKKyNkZWZpbmUgRE1BX1JFUV9TU0kxX1RYMCAgICAgICAgMTMKKyNkZWZpbmUgRE1BX1JFUV9TU0kxX1JYMCAgICAgICAgMTIKKyNkZWZpbmUgRE1BX1JFUV9TU0kyX1RYMSAgICAgICAgMTEKKyNkZWZpbmUgRE1BX1JFUV9TU0kyX1JYMSAgICAgICAgMTAKKyNkZWZpbmUgRE1BX1JFUV9TU0kyX1RYMCAgICAgICAgOQorI2RlZmluZSBETUFfUkVRX1NTSTJfUlgwICAgICAgICA4CisjZGVmaW5lIERNQV9SRVFfU0RIQzEgICAgICAgICAgIDcKKyNkZWZpbmUgRE1BX1JFUV9TREhDMiAgICAgICAgICAgNgorI2RlZmluZSBETUFfUkVRX01TSEMgICAgICAgICAgICA0CisjZGVmaW5lIERNQV9SRVFfRVhUICAgICAgICAgICAgIDMKKyNkZWZpbmUgRE1BX1JFUV9DU1BJM19UWCAgICAgICAgMgorI2RlZmluZSBETUFfUkVRX0NTUEkzX1JYICAgICAgICAxCisKKy8qIHNpbGljb24gcmV2aXNpb25zIHNwZWNpZmljIHRvIGkuTVgyNyAqLworI2RlZmluZSBDSElQX1JFVl8xXzAJCTB4MDAKKyNkZWZpbmUgQ0hJUF9SRVZfMl8wCQkweDAxCisKKyNpZm5kZWYgX19BU1NFTUJMWV9fCitleHRlcm4gaW50IG14MjdfcmV2aXNpb24odm9pZCk7CisjZW5kaWYKKworLyogZ3BpbyBhbmQgZ3BpbyBiYXNlZCBpbnRlcnJ1cHQgaGFuZGxpbmcgKi8KKyNkZWZpbmUgR1BJT19EUgkJIAkweDFDCisjZGVmaW5lIEdQSU9fR0RJUgkgCTB4MDAKKyNkZWZpbmUgR1BJT19QU1IJIAkweDI0CisjZGVmaW5lIEdQSU9fSUNSMQkgCTB4MjgKKyNkZWZpbmUgR1BJT19JQ1IyCSAJMHgyQworI2RlZmluZSBHUElPX0lNUgkgCTB4MzAKKyNkZWZpbmUgR1BJT19JU1IJIAkweDM0CisjZGVmaW5lIEdQSU9fSU5UX0xPV19MRVYJMHgzCisjZGVmaW5lIEdQSU9fSU5UX0hJR0hfTEVWCTB4MgorI2RlZmluZSBHUElPX0lOVF9SSVNFX0VER0UgCTB4MAorI2RlZmluZSBHUElPX0lOVF9GQUxMX0VER0UJMHgxCisjZGVmaW5lIEdQSU9fSU5UX05PTkUJCTB4NAorCisvKiBNYW5kYXRvcnkgZGVmaW5lcyB1c2VkIGdsb2JhbGx5ICovCisKKy8qIHRoaXMgaXMgYW4gaS5NWDI3IENQVSAqLworI2RlZmluZSBjcHVfaXNfbXgyNygpCQkoMSkKKworLyogdGhpcyBDUFUgc3VwcG9ydHMgdXAgdG8gMTkyIEdQSU9zIChkb24ndCBmb3JnZXQgdGhlIGJhc2Vib2FyZCEpICovCisjZGVmaW5lIEFSQ0hfTlJfR1BJT1MJCSgxOTIgKyAxNikKKworLyogT1MgY2xvY2sgdGljayByYXRlICovCisjZGVmaW5lIENMT0NLX1RJQ0tfUkFURSAgICAgICAgIDEzMzAwMDAwCisKKy8qIFN0YXJ0IG9mIFJBTSAqLworI2RlZmluZSBQSFlTX09GRlNFVAkJU0RSQU1fQkFTRV9BRERSCisKKy8qIG1heCBpbnRlcnJ1cHQgbGluZXMgY291bnQgKi8KKyNkZWZpbmUgTlJfSVJRUwkJCTI1NgorCisvKiBjb3VudCBvZiBpbnRlcm5hbCBpbnRlcnJ1cHQgc291cmNlcyAqLworI2RlZmluZSBNWENfTUFYX0lOVF9MSU5FUwk2NAorCisjZW5kaWYgLyogX19BU01fQVJDSF9NWENfTVgyN19IX18gKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9teDMxLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvbXgzMS5oCmluZGV4IDM2YTFhZjQuLmE3MzczZTQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9teDMxLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL214MzEuaApAQCAtMzIwLDYgKzMyMCw4IEBACiAjZGVmaW5lIE1YQ19NQVhfR1BJT19MSU5FUyAgICAgIChHUElPX05VTV9QSU4gKiBHUElPX1BPUlRfTlVNKQogI2RlZmluZSBNWENfTUFYX1ZJUlRVQUxfSU5UUwkxNgogCisjZGVmaW5lIE5SX0lSUVMgKE1YQ19NQVhfSU5UX0xJTkVTICsgTVhDX01BWF9HUElPX0xJTkVTICsgTVhDX01BWF9WSVJUVUFMX0lOVFMpCisKIC8qIQogICogTnVtYmVyIG9mIEdQSU8gcG9ydCBhcyBkZWZpbmVkIGluIHRoZSBJQyBTcGVjCiAgKi8KQEAgLTM0Nyw2ICszNDksMjUgQEAKICNkZWZpbmUgU1lTVEVNX1JFVl9NSU4JCUNISVBfUkVWXzFfMAogI2RlZmluZSBTWVNURU1fUkVWX05VTQkJMwogCisvKiBncGlvIGFuZCBncGlvIGJhc2VkIGludGVycnVwdCBoYW5kbGluZyAqLworI2RlZmluZSBHUElPX0RSCQkgCTB4MDAKKyNkZWZpbmUgR1BJT19HRElSCSAJMHgwNAorI2RlZmluZSBHUElPX1BTUgkgCTB4MDgKKyNkZWZpbmUgR1BJT19JQ1IxCSAJMHgwQworI2RlZmluZSBHUElPX0lDUjIJIAkweDEwCisjZGVmaW5lIEdQSU9fSU1SCSAJMHgxNAorI2RlZmluZSBHUElPX0lTUgkgCTB4MTgKKyNkZWZpbmUgR1BJT19JTlRfTE9XX0xFVgkweDAKKyNkZWZpbmUgR1BJT19JTlRfSElHSF9MRVYJMHgxCisjZGVmaW5lIEdQSU9fSU5UX1JJU0VfRURHRQkweDIKKyNkZWZpbmUgR1BJT19JTlRfRkFMTF9FREdFCTB4MworI2RlZmluZSBHUElPX0lOVF9OT05FCQkweDQKKworLyogTWFuZGF0b3J5IGRlZmluZXMgdXNlZCBnbG9iYWxseSAqLworCisvKiB0aGlzIENQVSBzdXBwb3J0cyB1cCB0byA5NiBHUElPcyAqLworI2RlZmluZSBBUkNIX05SX0dQSU9TCQk5NgorCiAjaWYgIWRlZmluZWQoX19BU1NFTUJMWV9fKSAmJiAhZGVmaW5lZChfX01YQ19CT09UX1VOQ09NUFJFU1MpCiAKIC8qIHRoaXMgaXMgYSBpLk1YMzEgQ1BVICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvbXhjLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvbXhjLmgKaW5kZXggMTQ2ZDNmNi4uMzMyZWRhNCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL214Yy5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9teGMuaApAQCAtMSwxMSArMSwyMCBAQAogLyoKICAqIENvcHlyaWdodCAyMDA0LTIwMDcgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSAqLwotCi0vKgotICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCi0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqIENvcHlyaWdodCAoQykgMjAwOCBKdWVyZ2VuIEJlaXNlcnQgKGtlcm5lbEBwZW5ndXRyb25peC5kZSkKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIKKyAqIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwKKyAqIE1BIDAyMTEwLTEzMDEsIFVTQS4KICAqLwogCiAjaWZuZGVmIF9fQVNNX0FSQ0hfTVhDX0hfXwpAQCAtMjAsMTMzICsyOSw4IEBACiAjIGRlZmluZSBjcHVfaXNfbXgzMSgpICgwKQogI2VuZGlmCiAKLS8qCi0gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIEdQVCAgUmVnaXN0ZXIgZGVmaW5pdGlvbnMgICAgICAgICAgICAgKgotICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKi8KLSNkZWZpbmUgTVhDX0dQVF9HUFRDUgkJSU9fQUREUkVTUyhHUFQxX0JBU0VfQUREUiArIDB4MDApCi0jZGVmaW5lIE1YQ19HUFRfR1BUUFIJCUlPX0FERFJFU1MoR1BUMV9CQVNFX0FERFIgKyAweDA0KQotI2RlZmluZSBNWENfR1BUX0dQVFNSCQlJT19BRERSRVNTKEdQVDFfQkFTRV9BRERSICsgMHgwOCkKLSNkZWZpbmUgTVhDX0dQVF9HUFRJUgkJSU9fQUREUkVTUyhHUFQxX0JBU0VfQUREUiArIDB4MEMpCi0jZGVmaW5lIE1YQ19HUFRfR1BUT0NSMQkJSU9fQUREUkVTUyhHUFQxX0JBU0VfQUREUiArIDB4MTApCi0jZGVmaW5lIE1YQ19HUFRfR1BUT0NSMgkJSU9fQUREUkVTUyhHUFQxX0JBU0VfQUREUiArIDB4MTQpCi0jZGVmaW5lIE1YQ19HUFRfR1BUT0NSMwkJSU9fQUREUkVTUyhHUFQxX0JBU0VfQUREUiArIDB4MTgpCi0jZGVmaW5lIE1YQ19HUFRfR1BUSUNSMQkJSU9fQUREUkVTUyhHUFQxX0JBU0VfQUREUiArIDB4MUMpCi0jZGVmaW5lIE1YQ19HUFRfR1BUSUNSMgkJSU9fQUREUkVTUyhHUFQxX0JBU0VfQUREUiArIDB4MjApCi0jZGVmaW5lIE1YQ19HUFRfR1BUQ05UCQlJT19BRERSRVNTKEdQVDFfQkFTRV9BRERSICsgMHgyNCkKLQotLyogR1BUIENvbnRyb2wgcmVnaXN0ZXIgYml0IGRlZmluaXRpb25zICovCi0jZGVmaW5lIEdQVENSX0ZPMwkJCSgxIDw8IDMxKQotI2RlZmluZSBHUFRDUl9GTzIJCQkoMSA8PCAzMCkKLSNkZWZpbmUgR1BUQ1JfRk8xCQkJKDEgPDwgMjkpCi0KLSNkZWZpbmUgR1BUQ1JfT00zX1NISUZUCQkJMjYKLSNkZWZpbmUgR1BUQ1JfT00zX01BU0sJCQkoNyA8PCBHUFRDUl9PTTNfU0hJRlQpCi0jZGVmaW5lIEdQVENSX09NM19ESVNDT05ORUNURUQJCSgwIDw8IEdQVENSX09NM19TSElGVCkKLSNkZWZpbmUgR1BUQ1JfT00zX1RPR0dMRQkJKDEgPDwgR1BUQ1JfT00zX1NISUZUKQotI2RlZmluZSBHUFRDUl9PTTNfQ0xFQVIJCQkoMiA8PCBHUFRDUl9PTTNfU0hJRlQpCi0jZGVmaW5lIEdQVENSX09NM19TRVQJCQkoMyA8PCBHUFRDUl9PTTNfU0hJRlQpCi0jZGVmaW5lIEdQVENSX09NM19HRU5FUkFURV9MT1cJCSg3IDw8IEdQVENSX09NM19TSElGVCkKLQotI2RlZmluZSBHUFRDUl9PTTJfU0hJRlQJCQkyMwotI2RlZmluZSBHUFRDUl9PTTJfTUFTSwkJCSg3IDw8IEdQVENSX09NMl9TSElGVCkKLSNkZWZpbmUgR1BUQ1JfT00yX0RJU0NPTk5FQ1RFRAkJKDAgPDwgR1BUQ1JfT00yX1NISUZUKQotI2RlZmluZSBHUFRDUl9PTTJfVE9HR0xFCQkoMSA8PCBHUFRDUl9PTTJfU0hJRlQpCi0jZGVmaW5lIEdQVENSX09NMl9DTEVBUgkJCSgyIDw8IEdQVENSX09NMl9TSElGVCkKLSNkZWZpbmUgR1BUQ1JfT00yX1NFVAkJCSgzIDw8IEdQVENSX09NMl9TSElGVCkKLSNkZWZpbmUgR1BUQ1JfT00yX0dFTkVSQVRFX0xPVwkJKDcgPDwgR1BUQ1JfT00yX1NISUZUKQotCi0jZGVmaW5lIEdQVENSX09NMV9TSElGVAkJCTIwCi0jZGVmaW5lIEdQVENSX09NMV9NQVNLCQkJKDcgPDwgR1BUQ1JfT00xX1NISUZUKQotI2RlZmluZSBHUFRDUl9PTTFfRElTQ09OTkVDVEVECQkoMCA8PCBHUFRDUl9PTTFfU0hJRlQpCi0jZGVmaW5lIEdQVENSX09NMV9UT0dHTEUJCSgxIDw8IEdQVENSX09NMV9TSElGVCkKLSNkZWZpbmUgR1BUQ1JfT00xX0NMRUFSCQkJKDIgPDwgR1BUQ1JfT00xX1NISUZUKQotI2RlZmluZSBHUFRDUl9PTTFfU0VUCQkJKDMgPDwgR1BUQ1JfT00xX1NISUZUKQotI2RlZmluZSBHUFRDUl9PTTFfR0VORVJBVEVfTE9XCQkoNyA8PCBHUFRDUl9PTTFfU0hJRlQpCi0KLSNkZWZpbmUgR1BUQ1JfSU0yX1NISUZUCQkJMTgKLSNkZWZpbmUgR1BUQ1JfSU0yX01BU0sJCQkoMyA8PCBHUFRDUl9JTTJfU0hJRlQpCi0jZGVmaW5lIEdQVENSX0lNMl9DQVBUVVJFX0RJU0FCTEUJKDAgPDwgR1BUQ1JfSU0yX1NISUZUKQotI2RlZmluZSBHUFRDUl9JTTJfQ0FQVFVSRV9SSVNJTkcJKDEgPDwgR1BUQ1JfSU0yX1NISUZUKQotI2RlZmluZSBHUFRDUl9JTTJfQ0FQVFVSRV9GQUxMSU5HCSgyIDw8IEdQVENSX0lNMl9TSElGVCkKLSNkZWZpbmUgR1BUQ1JfSU0yX0NBUFRVUkVfQk9USAkJKDMgPDwgR1BUQ1JfSU0yX1NISUZUKQotCi0jZGVmaW5lIEdQVENSX0lNMV9TSElGVAkJCTE2Ci0jZGVmaW5lIEdQVENSX0lNMV9NQVNLCQkJKDMgPDwgR1BUQ1JfSU0xX1NISUZUKQotI2RlZmluZSBHUFRDUl9JTTFfQ0FQVFVSRV9ESVNBQkxFCSgwIDw8IEdQVENSX0lNMV9TSElGVCkKLSNkZWZpbmUgR1BUQ1JfSU0xX0NBUFRVUkVfUklTSU5HCSgxIDw8IEdQVENSX0lNMV9TSElGVCkKLSNkZWZpbmUgR1BUQ1JfSU0xX0NBUFRVUkVfRkFMTElORwkoMiA8PCBHUFRDUl9JTTFfU0hJRlQpCi0jZGVmaW5lIEdQVENSX0lNMV9DQVBUVVJFX0JPVEgJCSgzIDw8IEdQVENSX0lNMV9TSElGVCkKLQotI2RlZmluZSBHUFRDUl9TV1IJCQkoMSA8PCAxNSkKLSNkZWZpbmUgR1BUQ1JfRlJSCQkJKDEgPDwgOSkKLQotI2RlZmluZSBHUFRDUl9DTEtTUkNfU0hJRlQJCTYKLSNkZWZpbmUgR1BUQ1JfQ0xLU1JDX01BU0sJCSg3IDw8IEdQVENSX0NMS1NSQ19TSElGVCkKLSNkZWZpbmUgR1BUQ1JfQ0xLU1JDX05PQ0xPQ0sJCSgwIDw8IEdQVENSX0NMS1NSQ19TSElGVCkKLSNkZWZpbmUgR1BUQ1JfQ0xLU1JDX0hJR0hGUkVRCQkoMiA8PCBHUFRDUl9DTEtTUkNfU0hJRlQpCi0jZGVmaW5lIEdQVENSX0NMS1NSQ19DTEtJTgkJKDMgPDwgR1BUQ1JfQ0xLU1JDX1NISUZUKQotI2RlZmluZSBHUFRDUl9DTEtTUkNfQ0xLMzJLCQkoNyA8PCBHUFRDUl9DTEtTUkNfU0hJRlQpCi0KLSNkZWZpbmUgR1BUQ1JfU1RPUEVOCQkJKDEgPDwgNSkKLSNkZWZpbmUgR1BUQ1JfRE9aRU4JCQkoMSA8PCA0KQotI2RlZmluZSBHUFRDUl9XQUlURU4JCQkoMSA8PCAzKQotI2RlZmluZSBHUFRDUl9EQkdFTgkJCSgxIDw8IDIpCi0KLSNkZWZpbmUgR1BUQ1JfRU5NT0QJCQkoMSA8PCAxKQotI2RlZmluZSBHUFRDUl9FTkFCTEUJCQkoMSA8PCAwKQotCi0jZGVmaW5lIEdQVFNSX09GMQkJCSgxIDw8IDApCi0jZGVmaW5lIEdQVFNSX09GMgkJCSgxIDw8IDEpCi0jZGVmaW5lIEdQVFNSX09GMwkJCSgxIDw8IDIpCi0jZGVmaW5lIEdQVFNSX0lGMQkJCSgxIDw8IDMpCi0jZGVmaW5lIEdQVFNSX0lGMgkJCSgxIDw8IDQpCi0jZGVmaW5lIEdQVFNSX1JPVgkJCSgxIDw8IDUpCi0KLSNkZWZpbmUgR1BUSVJfT0YxSUUJCQlHUFRTUl9PRjEKLSNkZWZpbmUgR1BUSVJfT0YySUUJCQlHUFRTUl9PRjIKLSNkZWZpbmUgR1BUSVJfT0YzSUUJCQlHUFRTUl9PRjMKLSNkZWZpbmUgR1BUSVJfSUYxSUUJCQlHUFRTUl9JRjEKLSNkZWZpbmUgR1BUSVJfSUYySUUJCQlHUFRTUl9JRjIKLSNkZWZpbmUgR1BUSVJfUk9WSUUJCQlHUFRTUl9ST1YKLQotLyoKLSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogQVZJQyBSZWdpc3RlcnMgICAgICAgICAgICAgICAgICAgICAgICAqCi0gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqLwotI2RlZmluZSBBVklDX0JBU0UJCUlPX0FERFJFU1MoQVZJQ19CQVNFX0FERFIpCi0jZGVmaW5lIEFWSUNfSU5UQ05UTAkJKEFWSUNfQkFTRSArIDB4MDApCS8qIGludCBjb250cm9sIHJlZyAqLwotI2RlZmluZSBBVklDX05JTUFTSwkJKEFWSUNfQkFTRSArIDB4MDQpCS8qIGludCBtYXNrIHJlZyAqLwotI2RlZmluZSBBVklDX0lOVEVOTlVNCQkoQVZJQ19CQVNFICsgMHgwOCkJLyogaW50IGVuYWJsZSBudW1iZXIgcmVnICovCi0jZGVmaW5lIEFWSUNfSU5URElTTlVNCQkoQVZJQ19CQVNFICsgMHgwQykJLyogaW50IGRpc2FibGUgbnVtYmVyIHJlZyAqLwotI2RlZmluZSBBVklDX0lOVEVOQUJMRUgJCShBVklDX0JBU0UgKyAweDEwKQkvKiBpbnQgZW5hYmxlIHJlZyBoaWdoICovCi0jZGVmaW5lIEFWSUNfSU5URU5BQkxFTAkJKEFWSUNfQkFTRSArIDB4MTQpCS8qIGludCBlbmFibGUgcmVnIGxvdyAqLwotI2RlZmluZSBBVklDX0lOVFRZUEVICQkoQVZJQ19CQVNFICsgMHgxOCkJLyogaW50IHR5cGUgcmVnIGhpZ2ggKi8KLSNkZWZpbmUgQVZJQ19JTlRUWVBFTAkJKEFWSUNfQkFTRSArIDB4MUMpCS8qIGludCB0eXBlIHJlZyBsb3cgKi8KLSNkZWZpbmUgQVZJQ19OSVBSSU9SSVRZNwkoQVZJQ19CQVNFICsgMHgyMCkJLyogbm9ybSBpbnQgcHJpb3JpdHkgbHZsNyAqLwotI2RlZmluZSBBVklDX05JUFJJT1JJVFk2CShBVklDX0JBU0UgKyAweDI0KQkvKiBub3JtIGludCBwcmlvcml0eSBsdmw2ICovCi0jZGVmaW5lIEFWSUNfTklQUklPUklUWTUJKEFWSUNfQkFTRSArIDB4MjgpCS8qIG5vcm0gaW50IHByaW9yaXR5IGx2bDUgKi8KLSNkZWZpbmUgQVZJQ19OSVBSSU9SSVRZNAkoQVZJQ19CQVNFICsgMHgyQykJLyogbm9ybSBpbnQgcHJpb3JpdHkgbHZsNCAqLwotI2RlZmluZSBBVklDX05JUFJJT1JJVFkzCShBVklDX0JBU0UgKyAweDMwKQkvKiBub3JtIGludCBwcmlvcml0eSBsdmwzICovCi0jZGVmaW5lIEFWSUNfTklQUklPUklUWTIJKEFWSUNfQkFTRSArIDB4MzQpCS8qIG5vcm0gaW50IHByaW9yaXR5IGx2bDIgKi8KLSNkZWZpbmUgQVZJQ19OSVBSSU9SSVRZMQkoQVZJQ19CQVNFICsgMHgzOCkJLyogbm9ybSBpbnQgcHJpb3JpdHkgbHZsMSAqLwotI2RlZmluZSBBVklDX05JUFJJT1JJVFkwCShBVklDX0JBU0UgKyAweDNDKQkvKiBub3JtIGludCBwcmlvcml0eSBsdmwwICovCi0jZGVmaW5lIEFWSUNfTklWRUNTUgkJKEFWSUNfQkFTRSArIDB4NDApCS8qIG5vcm0gaW50IHZlY3Rvci9zdGF0dXMgKi8KLSNkZWZpbmUgQVZJQ19GSVZFQ1NSCQkoQVZJQ19CQVNFICsgMHg0NCkJLyogZmFzdCBpbnQgdmVjdG9yL3N0YXR1cyAqLwotI2RlZmluZSBBVklDX0lOVFNSQ0gJCShBVklDX0JBU0UgKyAweDQ4KQkvKiBpbnQgc291cmNlIHJlZyBoaWdoICovCi0jZGVmaW5lIEFWSUNfSU5UU1JDTAkJKEFWSUNfQkFTRSArIDB4NEMpCS8qIGludCBzb3VyY2UgcmVnIGxvdyAqLwotI2RlZmluZSBBVklDX0lOVEZSQ0gJCShBVklDX0JBU0UgKyAweDUwKQkvKiBpbnQgZm9yY2UgcmVnIGhpZ2ggKi8KLSNkZWZpbmUgQVZJQ19JTlRGUkNMCQkoQVZJQ19CQVNFICsgMHg1NCkJLyogaW50IGZvcmNlIHJlZyBsb3cgKi8KLSNkZWZpbmUgQVZJQ19OSVBOREgJCShBVklDX0JBU0UgKyAweDU4KQkvKiBub3JtIGludCBwZW5kaW5nIGhpZ2ggKi8KLSNkZWZpbmUgQVZJQ19OSVBOREwJCShBVklDX0JBU0UgKyAweDVDKQkvKiBub3JtIGludCBwZW5kaW5nIGxvdyAqLwotI2RlZmluZSBBVklDX0ZJUE5ESAkJKEFWSUNfQkFTRSArIDB4NjApCS8qIGZhc3QgaW50IHBlbmRpbmcgaGlnaCAqLwotI2RlZmluZSBBVklDX0ZJUE5ETAkJKEFWSUNfQkFTRSArIDB4NjQpCS8qIGZhc3QgaW50IHBlbmRpbmcgbG93ICovCi0KLSNkZWZpbmUgU1lTVEVNX1BSRVZfUkVHCQlJT19BRERSRVNTKElJTV9CQVNFX0FERFIgKyAweDIwKQotI2RlZmluZSBTWVNURU1fU1JFVl9SRUcJCUlPX0FERFJFU1MoSUlNX0JBU0VfQUREUiArIDB4MjQpCi0jZGVmaW5lIElJTV9QUk9EX1JFVl9TSAkJMwotI2RlZmluZSBJSU1fUFJPRF9SRVZfTEVOCTUKKyNpZm5kZWYgQ09ORklHX01BQ0hfTVgyNworIyBkZWZpbmUgY3B1X2lzX214MjcoKSAoMCkKKyNlbmRpZgogCiAjZW5kaWYgLyogIF9fQVNNX0FSQ0hfTVhDX0hfXyAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL214Y190aW1lci5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL214Y190aW1lci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZjYjExZjQKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvbXhjX3RpbWVyLmgKQEAgLTAsMCArMSwxNTggQEAKKy8qCisgKiBteGNfdGltZXIuaAorICoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBKdWVyZ2VuIEJlaXNlcnQgKGtlcm5lbEBwZW5ndXRyb25peC5kZSkKKyAqCisgKiBQbGF0Zm9ybSBpbmRlcGVuZGVudCAoaS5NWDEsIGkuTVgyLCBpLk1YMykgZGVmaW5pdGlvbiBmb3IgdGltZXIgaGFuZGxpbmcuCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyCisgKiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpZm5kZWYgX19QTEFUX01YQ19USU1FUl9ICisjZGVmaW5lIF9fUExBVF9NWENfVElNRVJfSAorCisjaW5jbHVkZSA8bGludXgvY2xrLmg+CisjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CisKKyNpZmRlZiBDT05GSUdfQVJDSF9JTVgKKyNkZWZpbmUgVElNRVJfQkFTRQkJSU9fQUREUkVTUyhUSU0xX0JBU0VfQUREUikKKyNkZWZpbmUgVElNRVJfSU5URVJSVVBUCQlUSU0xX0lOVAorCisjZGVmaW5lIFRDVExfVkFMCQlUQ1RMX0NMS19QQ0xLMQorI2RlZmluZSBUQ1RMX0lSUUVOCQkoMTw8NCkKKyNkZWZpbmUgVENUTF9GUlIJCSgxPDw4KQorI2RlZmluZSBUQ1RMX0NMS19QQ0xLMQkJKDE8PDEpCisjZGVmaW5lIFRDVExfQ0xLX1BDTEsxXzQJKDI8PDEpCisjZGVmaW5lIFRDVExfQ0xLX1RJTgkJKDM8PDEpCisjZGVmaW5lIFRDVExfQ0xLXzMyCQkoNDw8MSkKKworI2RlZmluZSBNWENfVENUTCAgIDB4MDAKKyNkZWZpbmUgTVhDX1RQUkVSICAweDA0CisjZGVmaW5lIE1YQ19UQ01QICAgMHgwOAorI2RlZmluZSBNWENfVENSICAgIDB4MGMKKyNkZWZpbmUgTVhDX1RDTiAgICAweDEwCisjZGVmaW5lIE1YQ19UU1RBVCAgMHgxNAorI2RlZmluZSBUU1RBVF9DQVBUCQkoMTw8MSkKKyNkZWZpbmUgVFNUQVRfQ09NUAkJKDE8PDApCisKK3N0YXRpYyBpbmxpbmUgdm9pZCBncHRfaXJxX2Rpc2FibGUodm9pZCkKK3sKKwl1bnNpZ25lZCBpbnQgdG1wOworCisJdG1wID0gX19yYXdfcmVhZGwoVElNRVJfQkFTRSArIE1YQ19UQ1RMKTsKKwlfX3Jhd193cml0ZWwodG1wICYgflRDVExfSVJRRU4sIFRJTUVSX0JBU0UgKyBNWENfVENUTCk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBncHRfaXJxX2VuYWJsZSh2b2lkKQoreworCV9fcmF3X3dyaXRlbChfX3Jhd19yZWFkbChUSU1FUl9CQVNFICsgTVhDX1RDVEwpIHwgVENUTF9JUlFFTiwKKwkJCQlUSU1FUl9CQVNFICsgTVhDX1RDVEwpOworfQorCitzdGF0aWMgdm9pZCBncHRfaXJxX2Fja25vd2xlZGdlKHZvaWQpCit7CisJX19yYXdfd3JpdGVsKDAsIFRJTUVSX0JBU0UgKyBNWENfVFNUQVQpOworfQorI2VuZGlmIC8qIENPTkZJR19BUkNIX0lNWCAqLworCisjaWZkZWYgQ09ORklHX0FSQ0hfTVgyCisjZGVmaW5lIFRJTUVSX0JBU0UJCUlPX0FERFJFU1MoR1BUMV9CQVNFX0FERFIpCisjZGVmaW5lIFRJTUVSX0lOVEVSUlVQVAkJTVhDX0lOVF9HUFQxCisKKyNkZWZpbmUgTVhDX1RDVEwgICAweDAwCisjZGVmaW5lIFRDVExfVkFMCQlUQ1RMX0NMS19QQ0xLMQorI2RlZmluZSBUQ1RMX0NMS19QQ0xLMQkJKDE8PDEpCisjZGVmaW5lIFRDVExfQ0xLX1BDTEsxXzQJKDI8PDEpCisjZGVmaW5lIFRDVExfSVJRRU4JCSgxPDw0KQorI2RlZmluZSBUQ1RMX0ZSUgkJKDE8PDgpCisjZGVmaW5lIE1YQ19UUFJFUiAgMHgwNAorI2RlZmluZSBNWENfVENNUCAgIDB4MDgKKyNkZWZpbmUgTVhDX1RDUiAgICAweDBjCisjZGVmaW5lIE1YQ19UQ04gICAgMHgxMAorI2RlZmluZSBNWENfVFNUQVQgIDB4MTQKKyNkZWZpbmUgVFNUQVRfQ0FQVAkJKDE8PDEpCisjZGVmaW5lIFRTVEFUX0NPTVAJCSgxPDwwKQorCitzdGF0aWMgaW5saW5lIHZvaWQgZ3B0X2lycV9kaXNhYmxlKHZvaWQpCit7CisJdW5zaWduZWQgaW50IHRtcDsKKworCXRtcCA9IF9fcmF3X3JlYWRsKFRJTUVSX0JBU0UgKyBNWENfVENUTCk7CisJX19yYXdfd3JpdGVsKHRtcCAmIH5UQ1RMX0lSUUVOLCBUSU1FUl9CQVNFICsgTVhDX1RDVEwpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgZ3B0X2lycV9lbmFibGUodm9pZCkKK3sKKwlfX3Jhd193cml0ZWwoX19yYXdfcmVhZGwoVElNRVJfQkFTRSArIE1YQ19UQ1RMKSB8IFRDVExfSVJRRU4sCisJCQkJVElNRVJfQkFTRSArIE1YQ19UQ1RMKTsKK30KKworc3RhdGljIHZvaWQgZ3B0X2lycV9hY2tub3dsZWRnZSh2b2lkKQoreworCV9fcmF3X3dyaXRlbChUU1RBVF9DQVBUIHwgVFNUQVRfQ09NUCwgVElNRVJfQkFTRSArIE1YQ19UU1RBVCk7Cit9CisjZW5kaWYgLyogQ09ORklHX0FSQ0hfTVgyICovCisKKyNpZmRlZiBDT05GSUdfQVJDSF9NWDMKKyNkZWZpbmUgVElNRVJfQkFTRQkJSU9fQUREUkVTUyhHUFQxX0JBU0VfQUREUikKKyNkZWZpbmUgVElNRVJfSU5URVJSVVBUCQlNWENfSU5UX0dQVAorCisjZGVmaW5lIE1YQ19UQ1RMICAgMHgwMAorI2RlZmluZSBUQ1RMX1ZBTAkJKFRDVExfQ0xLX0lQRyB8IFRDVExfV0FJVEVOKQorI2RlZmluZSBUQ1RMX0NMS19JUEcJCSgxPDw2KQorI2RlZmluZSBUQ1RMX0ZSUgkJKDE8PDkpCisjZGVmaW5lIFRDVExfV0FJVEVOCQkoMTw8MykKKworI2RlZmluZSBNWENfVFBSRVIgIDB4MDQKKyNkZWZpbmUgTVhDX1RTVEFUICAweDA4CisjZGVmaW5lIFRTVEFUX09GMQkJKDE8PDApCisjZGVmaW5lIFRTVEFUX09GMgkJKDE8PDEpCisjZGVmaW5lIFRTVEFUX09GMwkJKDE8PDIpCisjZGVmaW5lIFRTVEFUX0lGMQkJKDE8PDMpCisjZGVmaW5lIFRTVEFUX0lGMgkJKDE8PDQpCisjZGVmaW5lIFRTVEFUX1JPVgkJKDE8PDUpCisjZGVmaW5lIE1YQ19JUiAgICAgMHgwYworI2RlZmluZSBNWENfVENNUCAgIDB4MTAKKyNkZWZpbmUgTVhDX1RDTVAyICAweDE0CisjZGVmaW5lIE1YQ19UQ01QMyAgMHgxOAorI2RlZmluZSBNWENfVENSICAgIDB4MWMKKyNkZWZpbmUgTVhDX1RDTiAgICAweDI0CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBncHRfaXJxX2Rpc2FibGUodm9pZCkKK3sKKwlfX3Jhd193cml0ZWwoMCwgVElNRVJfQkFTRSArIE1YQ19JUik7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBncHRfaXJxX2VuYWJsZSh2b2lkKQoreworCV9fcmF3X3dyaXRlbCgxPDwwLCBUSU1FUl9CQVNFICsgTVhDX0lSKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGdwdF9pcnFfYWNrbm93bGVkZ2Uodm9pZCkKK3sKKwlfX3Jhd193cml0ZWwoVFNUQVRfT0YxLCBUSU1FUl9CQVNFICsgTVhDX1RTVEFUKTsKK30KKyNlbmRpZiAvKiBDT05GSUdfQVJDSF9NWDMgKi8KKworI2RlZmluZSBUQ1RMX1NXUgkJKDE8PDE1KQorI2RlZmluZSBUQ1RMX0NDCQkJKDE8PDEwKQorI2RlZmluZSBUQ1RMX09NCQkJKDE8PDkpCisjZGVmaW5lIFRDVExfQ0FQX1JJUwkJKDE8PDYpCisjZGVmaW5lIFRDVExfQ0FQX0ZBTAkJKDI8PDYpCisjZGVmaW5lIFRDVExfQ0FQX1JJU19GQUwJKDM8PDYpCisjZGVmaW5lIFRDVExfQ0FQX0VOQQkJKDE8PDUpCisjZGVmaW5lIFRDVExfVEVOCQkoMTw8MCkKKworI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1uczl4eHgvaGFyZHdhcmUuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW5zOXh4eC9oYXJkd2FyZS5oCmluZGV4IDBiN2IzNDYuLjBkY2ExMWMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW5zOXh4eC9oYXJkd2FyZS5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW5zOXh4eC9oYXJkd2FyZS5oCkBAIC02NiwxMyArNjYsMTMgQEAKIAkgX19SRUdHRVQodmFyLCByZWcgIyMgXyAjIyBmaWVsZCkgLyBfX1JFR1NISUZUKHJlZyAjIyBfICMjIGZpZWxkKQogCiAjICBkZWZpbmUgUkVHR0VUSU1fSURYKHZhciwgcmVnLCBmaWVsZCwgaWR4KQkJCQlcCi0JIF9fUkVHR0VUKHZhciwgcmVnICMjIF8gIyMgZmllbGQoKGlkeCkpKSAvIAkJCVwKKwkgX19SRUdHRVQodmFyLCByZWcgIyMgXyAjIyBmaWVsZCgoaWR4KSkpIC8JCQlcCiAJIF9fUkVHU0hJRlQocmVnICMjIF8gIyMgZmllbGQoKGlkeCkpKQogCiAjZWxzZQogCiAjICBkZWZpbmUgX19SRUcoeCkJaW9fcDJ2KHgpCi0jICBkZWZpbmUgX19SRUcyKHgsIHkpCWlvX3AydigoeCkgKyAoeSkpCisjICBkZWZpbmUgX19SRUcyKHgsIHkpCWlvX3AydigoeCkgKyA0ICogKHkpKQogCiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9ib2FyZC0yNDMwc2RwLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2JvYXJkLTI0MzBzZHAuaAppbmRleCBlOWM2NWNlLi5jN2RiOTAwIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2JvYXJkLTI0MzBzZHAuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2JvYXJkLTI0MzBzZHAuaApAQCAtMzYsOSArMzYsNCBAQAogCiAjZGVmaW5lIFRXTDQwMzBfSVJRTlVNCQkJSU5UXzI0WFhfU1lTX05JUlEKIAotLyogVFdMNDAzMCBQcmltYXJ5IEludGVycnVwdCBIYW5kbGVyIChQSUgpIGludGVycnVwdHMgKi8KLSNkZWZpbmUgSUhfVFdMNDAzMF9CQVNFCQkJSUhfQk9BUkRfQkFTRQotI2RlZmluZSBJSF9UV0w0MDMwX0VORAkJCShJSF9UV0w0MDMwX0JBU0UrOCkKLSNkZWZpbmUgTlJfSVJRUwkJCQkoSUhfVFdMNDAzMF9FTkQpCi0KICNlbmRpZiAvKiBfX0FTTV9BUkNIX09NQVBfMjQzMFNEUF9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2JvYXJkLWgzLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2JvYXJkLWgzLmgKaW5kZXggMGY2NDA0NC4uYzVkMGYzMiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9ib2FyZC1oMy5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvYm9hcmQtaDMuaApAQCAtMzAsMTIgKzMwLDYgQEAKIC8qIEluIE9NQVAxNzEwIEgzIHRoZSBFdGhlcm5ldCBpcyBkaXJlY3RseSBjb25uZWN0ZWQgdG8gQ1MxICovCiAjZGVmaW5lIE9NQVAxNzEwX0VUSFJfU1RBUlQJCTB4MDQwMDAzMDAKIAotI2RlZmluZSBNQVhJUlFOVU0JCQkoSUhfQk9BUkRfQkFTRSkKLSNkZWZpbmUgTUFYRklRTlVNCQkJTUFYSVJRTlVNCi0jZGVmaW5lIE1BWFNXSU5VTQkJCU1BWElSUU5VTQotCi0jZGVmaW5lIE5SX0lSUVMJCQkJKE1BWElSUU5VTSArIDEpCi0KIGV4dGVybiB2b2lkIGgzX21tY19pbml0KHZvaWQpOwogZXh0ZXJuIHZvaWQgaDNfbW1jX3Nsb3RfY292ZXJfaGFuZGxlcih2b2lkICphcmcsIGludCBzdGF0ZSk7CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvYm9hcmQtaW5ub3ZhdG9yLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2JvYXJkLWlubm92YXRvci5oCmluZGV4IDU2ZDJjOTguLjljYTAzZGUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvYm9hcmQtaW5ub3ZhdG9yLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9ib2FyZC1pbm5vdmF0b3IuaApAQCAtMzYsOSArMzYsNiBAQAogI2RlZmluZSBPTUFQMTUxMFAxX0VNSUZTX1BSSV9WQUxVRQkJMHgwMAogI2RlZmluZSBPTUFQMTUxMFAxX0VNSUZGX1BSSV9WQUxVRQkJMHgwMAogCi0jZGVmaW5lIE5SX0ZQR0FfSVJRUwkJMjQKLSNkZWZpbmUgTlJfSVJRUyAgICAgICAgICAgICAgICAgKElIX0JPQVJEX0JBU0UgKyBOUl9GUEdBX0lSUVMpCi0KICNpZm5kZWYgX19BU1NFTUJMWV9fCiB2b2lkIGZwZ2Ffd3JpdGUodW5zaWduZWQgY2hhciB2YWwsIGludCByZWcpOwogdW5zaWduZWQgY2hhciBmcGdhX3JlYWQoaW50IHJlZyk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2JvYXJkLXBlcnNldXMyLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2JvYXJkLXBlcnNldXMyLmgKaW5kZXggZWI3NDQyMC4uZDc0MjljYiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9ib2FyZC1wZXJzZXVzMi5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvYm9hcmQtcGVyc2V1czIuaApAQCAtMzYsMTAgKzM2LDQgQEAKICNkZWZpbmUgT01BUF9TRFJBTV9ERVZJQ0UJCUQyNTZNXzFYMTZfNEIKICNlbmRpZgogCi0jZGVmaW5lIE1BWElSUU5VTQkJSUhfQk9BUkRfQkFTRQotI2RlZmluZSBNQVhGSVFOVU0JCU1BWElSUU5VTQotI2RlZmluZSBNQVhTV0lOVU0JCU1BWElSUU5VTQotCi0jZGVmaW5lIE5SX0lSUVMJCQkoTUFYSVJRTlVNICsgMSkKLQogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2Nsb2NrLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2Nsb2NrLmgKaW5kZXggMTJhNWU0ZC4uNGM3YjM1MSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9jbG9jay5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvY2xvY2suaApAQCAtMzMsMTIgKzMzLDI0IEBACiAJdm9pZCBfX2lvbWVtCQkqbXVsdF9kaXYxX3JlZzsKIAl1MzIJCQltdWx0X21hc2s7CiAJdTMyCQkJZGl2MV9tYXNrOworCXUxNgkJCWxhc3Rfcm91bmRlZF9tOworCXU4CQkJbGFzdF9yb3VuZGVkX247CisJdW5zaWduZWQgbG9uZwkJbGFzdF9yb3VuZGVkX3JhdGU7CisJdW5zaWduZWQgaW50CQlyYXRlX3RvbGVyYW5jZTsKKwl1MTYJCQltYXhfbXVsdGlwbGllcjsKKwl1OAkJCW1heF9kaXZpZGVyOworCXUzMgkJCW1heF90b2xlcmFuY2U7CiAjICBpZiBkZWZpbmVkKENPTkZJR19BUkNIX09NQVAzKQorCXU4CQkJbW9kZXM7CiAJdm9pZCBfX2lvbWVtCQkqY29udHJvbF9yZWc7CiAJdTMyCQkJZW5hYmxlX21hc2s7CiAJdTgJCQlhdXRvX3JlY2FsX2JpdDsKIAl1OAkJCXJlY2FsX2VuX2JpdDsKIAl1OAkJCXJlY2FsX3N0X2JpdDsKKwl2b2lkIF9faW9tZW0JCSphdXRvaWRsZV9yZWc7CisJdTMyCQkJYXV0b2lkbGVfbWFzazsKKwl2b2lkIF9faW9tZW0JCSppZGxlc3RfcmVnOworCXU4CQkJaWRsZXN0X2JpdDsKICMgIGVuZGlmCiB9OwogCkBAIC02NiwxMSArNzgsMTQgQEAKIAl2b2lkIF9faW9tZW0JCSpjbGtzZWxfcmVnOwogCXUzMgkJCWNsa3NlbF9tYXNrOwogCWNvbnN0IHN0cnVjdCBjbGtzZWwJKmNsa3NlbDsKLQljb25zdCBzdHJ1Y3QgZHBsbF9kYXRhCSpkcGxsX2RhdGE7CisJc3RydWN0IGRwbGxfZGF0YQkqZHBsbF9kYXRhOwogI2Vsc2UKIAlfX3U4CQkJcmF0ZV9vZmZzZXQ7CiAJX191OAkJCXNyY19vZmZzZXQ7CiAjZW5kaWYKKyNpZiBkZWZpbmVkKENPTkZJR19QTV9ERUJVRykgJiYgZGVmaW5lZChDT05GSUdfREVCVUdfRlMpCisJc3RydWN0IGRlbnRyeQkJKmRlbnQ7CS8qIEZvciB2aXNpYmxlIHRyZWUgaGllcmFyY2h5ICovCisjZW5kaWYKIH07CiAKIHN0cnVjdCBjcHVmcmVxX2ZyZXF1ZW5jeV90YWJsZTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvY29tbW9uLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2NvbW1vbi5oCmluZGV4IDM2YTNiNjIuLjhhYzAzMDcgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvY29tbW9uLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9jb21tb24uaApAQCAtNDcsOCArNDcsMjMgQEAKIH0KICNlbmRpZgogCisvKiBJTyBiYXNlcyBmb3IgdmFyaW91cyBPTUFQIHByb2Nlc3NvcnMgKi8KK3N0cnVjdCBvbWFwX2dsb2JhbHMgeworCXZvaWQgX19pb21lbQkqdGFwOwkJLyogQ29udHJvbCBtb2R1bGUgSUQgY29kZSAqLworCXZvaWQgX19pb21lbQkqc2RyYzsJCS8qIFNEUkFNIENvbnRyb2xsZXIgKi8KKwl2b2lkIF9faW9tZW0JKnNtczsJCS8qIFNEUkFNIE1lbW9yeSBTY2hlZHVsZXIgKi8KKwl2b2lkIF9faW9tZW0JKmN0cmw7CQkvKiBTeXN0ZW0gQ29udHJvbCBNb2R1bGUgKi8KKwl2b2lkIF9faW9tZW0JKnBybTsJCS8qIFBvd2VyIGFuZCBSZXNldCBNYW5hZ2VtZW50ICovCisJdm9pZCBfX2lvbWVtCSpjbTsJCS8qIENsb2NrIE1hbmFnZW1lbnQgKi8KK307CisKIHZvaWQgb21hcDJfc2V0X2dsb2JhbHNfMjQyeCh2b2lkKTsKIHZvaWQgb21hcDJfc2V0X2dsb2JhbHNfMjQzeCh2b2lkKTsKIHZvaWQgb21hcDJfc2V0X2dsb2JhbHNfMzQzeCh2b2lkKTsKIAorLyogVGhlc2UgZ2V0IGNhbGxlZCBmcm9tIG9tYXAyX3NldF9nbG9iYWxzX3h4eHgoKSwgZG8gbm90IGNhbGwgdGhlc2UgKi8KK3ZvaWQgb21hcDJfc2V0X2dsb2JhbHNfbWVtb3J5KHN0cnVjdCBvbWFwX2dsb2JhbHMgKik7Cit2b2lkIG9tYXAyX3NldF9nbG9iYWxzX2NvbnRyb2woc3RydWN0IG9tYXBfZ2xvYmFscyAqKTsKK3ZvaWQgb21hcDJfc2V0X2dsb2JhbHNfcHJjbShzdHJ1Y3Qgb21hcF9nbG9iYWxzICopOworCiAjZW5kaWYgLyogX19BUkNIX0FSTV9NQUNIX09NQVBfQ09NTU9OX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvY29udHJvbC5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9jb250cm9sLmgKaW5kZXggNTljMDY4Ni4uOTg3NTUzZSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9jb250cm9sLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9jb250cm9sLmgKQEAgLTE2Nyw4ICsxNjcsNyBAQAogCiAjaWZuZGVmIF9fQVNTRU1CTFlfXwogI2lmIGRlZmluZWQoQ09ORklHX0FSQ0hfT01BUDIpIHx8IGRlZmluZWQoQ09ORklHX0FSQ0hfT01BUDMpCi1leHRlcm4gdm9pZCBvbWFwX2N0cmxfYmFzZV9zZXQodTMyIGJhc2UpOwotZXh0ZXJuIHUzMiBvbWFwX2N0cmxfYmFzZV9nZXQodm9pZCk7CitleHRlcm4gdm9pZCBfX2lvbWVtICpvbWFwX2N0cmxfYmFzZV9nZXQodm9pZCk7CiBleHRlcm4gdTggb21hcF9jdHJsX3JlYWRiKHUxNiBvZmZzZXQpOwogZXh0ZXJuIHUxNiBvbWFwX2N0cmxfcmVhZHcodTE2IG9mZnNldCk7CiBleHRlcm4gdTMyIG9tYXBfY3RybF9yZWFkbCh1MTYgb2Zmc2V0KTsKQEAgLTE3Niw3ICsxNzUsNiBAQAogZXh0ZXJuIHZvaWQgb21hcF9jdHJsX3dyaXRldyh1MTYgdmFsLCB1MTYgb2Zmc2V0KTsKIGV4dGVybiB2b2lkIG9tYXBfY3RybF93cml0ZWwodTMyIHZhbCwgdTE2IG9mZnNldCk7CiAjZWxzZQotI2RlZmluZSBvbWFwX2N0cmxfYmFzZV9zZXQoeCkJCVdBUk5fT04oMSkKICNkZWZpbmUgb21hcF9jdHJsX2Jhc2VfZ2V0KCkJCTAKICNkZWZpbmUgb21hcF9jdHJsX3JlYWRiKHgpCQkwCiAjZGVmaW5lIG9tYXBfY3RybF9yZWFkdyh4KQkJMApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9jcHUuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvY3B1LmgKaW5kZXggZThhNGNmNS4uNTJkYjA5ZiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9jcHUuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2NwdS5oCkBAIC0zLDcgKzMsNyBAQAogICoKICAqIE9NQVAgY3B1IHR5cGUgZGV0ZWN0aW9uCiAgKgotICogQ29weXJpZ2h0IChDKSAyMDA0IE5va2lhIENvcnBvcmF0aW9uCisgKiBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDggTm9raWEgQ29ycG9yYXRpb24KICAqCiAgKiBXcml0dGVuIGJ5IFRvbnkgTGluZGdyZW4gPHRvbnkubGluZGdyZW5Abm9raWEuY29tPgogICoKQEAgLTI2LDYgKzI2LDEyIEBACiAjaWZuZGVmIF9fQVNNX0FSQ0hfT01BUF9DUFVfSAogI2RlZmluZSBfX0FTTV9BUkNIX09NQVBfQ1BVX0gKIAorc3RydWN0IG9tYXBfY2hpcF9pZCB7CisJdTggb2M7Cit9OworCisjZGVmaW5lIE9NQVBfQ0hJUF9JTklUKHgpCXsgLm9jID0geCB9CisKIGV4dGVybiB1bnNpZ25lZCBpbnQgc3lzdGVtX3JldjsKIAogI2RlZmluZSBvbWFwMl9jcHVfcmV2KCkJCSgoc3lzdGVtX3JldiA+PiAxMikgJiAweDBmKQpAQCAtMzQ1LDYgKzM1MSwzMyBAQAogI2RlZmluZSBPTUFQMjQzMF9SRVZfRVMxXzAJMHgyNDMwMDAwMAogI2RlZmluZSBPTUFQMzQzMF9SRVZfRVMxXzAJMHgzNDMwMDAwMAogI2RlZmluZSBPTUFQMzQzMF9SRVZfRVMyXzAJMHgzNDMwMTAwMAorI2RlZmluZSBPTUFQMzQzMF9SRVZfRVMyXzEJMHgzNDMwMjAwMAorI2RlZmluZSBPTUFQMzQzMF9SRVZfRVMyXzIJMHgzNDMwMzAwMAorCisvKgorICogb21hcF9jaGlwIGJpdHMKKyAqCisgKiBDSElQX0lTX09NQVB7MjQyMCwyNDMwLDM0MzB9IGluZGljYXRlIHRoYXQgYSBwYXJ0aWN1bGFyIHN0cnVjdHVyZSBpcworICogdmFsaWQgb24gYWxsIGNoaXBzIG9mIHRoYXQgdHlwZS4gIENISVBfSVNfT01BUDM0MzBFU3sxLDJ9IGluZGljYXRlcworICogc29tZXRoaW5nIHRoYXQgaXMgb25seSB2YWxpZCBvbiB0aGF0IHBhcnRpY3VsYXIgRVMgcmV2aXNpb24uCisgKgorICogVGhlc2UgYml0cyBtYXkgYmUgT1JlZCB0b2dldGhlciB0byBpbmRpY2F0ZSBzdHJ1Y3R1cmVzIHRoYXQgYXJlCisgKiBhdmFpbGFibGUgb24gbXVsdGlwbGUgY2hpcCB0eXBlcy4KKyAqCisgKiBUbyB0ZXN0IHdoZXRoZXIgYSBwYXJ0aWN1bGFyIHN0cnVjdHVyZSBtYXRjaGVzIHRoZSBjdXJyZW50IE9NQVAgY2hpcCB0eXBlLAorICogdXNlIG9tYXBfY2hpcF9pcygpLgorICoKKyAqLworI2RlZmluZSBDSElQX0lTX09NQVAyNDIwICAgICAgICgxIDw8IDApCisjZGVmaW5lIENISVBfSVNfT01BUDI0MzAgICAgICAgKDEgPDwgMSkKKyNkZWZpbmUgQ0hJUF9JU19PTUFQMzQzMCAgICAgICAoMSA8PCAyKQorI2RlZmluZSBDSElQX0lTX09NQVAzNDMwRVMxICAgICgxIDw8IDMpCisjZGVmaW5lIENISVBfSVNfT01BUDM0MzBFUzIgICAgKDEgPDwgNCkKKworI2RlZmluZSBDSElQX0lTX09NQVAyNFhYICAgICAgIChDSElQX0lTX09NQVAyNDIwIHwgQ0hJUF9JU19PTUFQMjQzMCkKKworaW50IG9tYXBfY2hpcF9pcyhzdHJ1Y3Qgb21hcF9jaGlwX2lkIG9jaSk7CisKIAogLyoKICAqIE1hY3JvIHRvIGRldGVjdCBkZXZpY2UgdHlwZSBpLmUuIEVNVS9IUy9UU1QvR1AvQkFECkBAIC0zNjIsNiArMzk1LDggQEAKICNkZWZpbmUgaXNfZGV2aWNlX3R5cGVfZ3AoKQkoZ2V0X2RldmljZV90eXBlKCkgPT0gREVWSUNFX1RZUEVfR1ApCiAjZGVmaW5lIGlzX2RldmljZV90eXBlX2JhZCgpCShnZXRfZGV2aWNlX3R5cGUoKSA9PSBERVZJQ0VfVFlQRV9CQUQpCiAKLSNlbmRpZgordm9pZCBvbWFwMl9jaGVja19yZXZpc2lvbih2b2lkKTsKKworI2VuZGlmICAgIC8qIGRlZmluZWQoQ09ORklHX0FSQ0hfT01BUDIpIHx8IGRlZmluZWQoQ09ORklHX0FSQ0hfT01BUDMpICovCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9kbWEuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvZG1hLmgKaW5kZXggMjRhY2YwOS4uZjRkY2I5NSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9kbWEuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2RtYS5oCkBAIC0yMiwxMDggKzIyLDEyOCBAQAogI2RlZmluZSBfX0FTTV9BUkNIX0RNQV9ICiAKIC8qIEhhcmR3YXJlIHJlZ2lzdGVycyBmb3Igb21hcDEgKi8KLSNkZWZpbmUgT01BUF9ETUFfQkFTRQkJCSgweGZmZmVkODAwKQotI2RlZmluZSBPTUFQX0RNQV9HQ1IJCQkoT01BUF9ETUFfQkFTRSArIDB4NDAwKQotI2RlZmluZSBPTUFQX0RNQV9HU0NSCQkJKE9NQVBfRE1BX0JBU0UgKyAweDQwNCkKLSNkZWZpbmUgT01BUF9ETUFfR1JTVAkJCShPTUFQX0RNQV9CQVNFICsgMHg0MDgpCi0jZGVmaW5lIE9NQVBfRE1BX0hXX0lECQkJKE9NQVBfRE1BX0JBU0UgKyAweDQ0MikKLSNkZWZpbmUgT01BUF9ETUFfUENIMl9JRAkJKE9NQVBfRE1BX0JBU0UgKyAweDQ0NCkKLSNkZWZpbmUgT01BUF9ETUFfUENIMF9JRAkJKE9NQVBfRE1BX0JBU0UgKyAweDQ0NikKLSNkZWZpbmUgT01BUF9ETUFfUENIMV9JRAkJKE9NQVBfRE1BX0JBU0UgKyAweDQ0OCkKLSNkZWZpbmUgT01BUF9ETUFfUENIR19JRAkJKE9NQVBfRE1BX0JBU0UgKyAweDQ0YSkKLSNkZWZpbmUgT01BUF9ETUFfUENIRF9JRAkJKE9NQVBfRE1BX0JBU0UgKyAweDQ0YykKLSNkZWZpbmUgT01BUF9ETUFfQ0FQU18wX1UJCShPTUFQX0RNQV9CQVNFICsgMHg0NGUpCi0jZGVmaW5lIE9NQVBfRE1BX0NBUFNfMF9MCQkoT01BUF9ETUFfQkFTRSArIDB4NDUwKQotI2RlZmluZSBPTUFQX0RNQV9DQVBTXzFfVQkJKE9NQVBfRE1BX0JBU0UgKyAweDQ1MikKLSNkZWZpbmUgT01BUF9ETUFfQ0FQU18xX0wJCShPTUFQX0RNQV9CQVNFICsgMHg0NTQpCi0jZGVmaW5lIE9NQVBfRE1BX0NBUFNfMgkJCShPTUFQX0RNQV9CQVNFICsgMHg0NTYpCi0jZGVmaW5lIE9NQVBfRE1BX0NBUFNfMwkJCShPTUFQX0RNQV9CQVNFICsgMHg0NTgpCi0jZGVmaW5lIE9NQVBfRE1BX0NBUFNfNAkJCShPTUFQX0RNQV9CQVNFICsgMHg0NWEpCi0jZGVmaW5lIE9NQVBfRE1BX1BDSDJfU1IJCShPTUFQX0RNQV9CQVNFICsgMHg0NjApCi0jZGVmaW5lIE9NQVBfRE1BX1BDSDBfU1IJCShPTUFQX0RNQV9CQVNFICsgMHg0ODApCi0jZGVmaW5lIE9NQVBfRE1BX1BDSDFfU1IJCShPTUFQX0RNQV9CQVNFICsgMHg0ODIpCi0jZGVmaW5lIE9NQVBfRE1BX1BDSERfU1IJCShPTUFQX0RNQV9CQVNFICsgMHg0YzApCisjZGVmaW5lIE9NQVAxX0RNQV9CQVNFCQkJKDB4ZmZmZWQ4MDApCiAKLS8qIEhhcmR3YXJlIHJlZ2lzdGVycyBmb3Igb21hcDIgKi8KLSNpZiBkZWZpbmVkKENPTkZJR19BUkNIX09NQVAzKQotI2RlZmluZSBPTUFQX0RNQTRfQkFTRQkJCShMNF8zNFhYX0JBU0UgKyAweDU2MDAwKQotI2Vsc2UJLyogQ09ORklHX0FSQ0hfT01BUDIgKi8KLSNkZWZpbmUgT01BUF9ETUE0X0JBU0UJCQkoTDRfMjRYWF9CQVNFICsgMHg1NjAwMCkKLSNlbmRpZgorI2RlZmluZSBPTUFQMV9ETUFfR0NSCQkJMHg0MDAKKyNkZWZpbmUgT01BUDFfRE1BX0dTQ1IJCQkweDQwNAorI2RlZmluZSBPTUFQMV9ETUFfR1JTVAkJCTB4NDA4CisjZGVmaW5lIE9NQVAxX0RNQV9IV19JRAkJCTB4NDQyCisjZGVmaW5lIE9NQVAxX0RNQV9QQ0gyX0lECQkweDQ0NAorI2RlZmluZSBPTUFQMV9ETUFfUENIMF9JRAkJMHg0NDYKKyNkZWZpbmUgT01BUDFfRE1BX1BDSDFfSUQJCTB4NDQ4CisjZGVmaW5lIE9NQVAxX0RNQV9QQ0hHX0lECQkweDQ0YQorI2RlZmluZSBPTUFQMV9ETUFfUENIRF9JRAkJMHg0NGMKKyNkZWZpbmUgT01BUDFfRE1BX0NBUFNfMF9VCQkweDQ0ZQorI2RlZmluZSBPTUFQMV9ETUFfQ0FQU18wX0wJCTB4NDUwCisjZGVmaW5lIE9NQVAxX0RNQV9DQVBTXzFfVQkJMHg0NTIKKyNkZWZpbmUgT01BUDFfRE1BX0NBUFNfMV9MCQkweDQ1NAorI2RlZmluZSBPTUFQMV9ETUFfQ0FQU18yCQkweDQ1NgorI2RlZmluZSBPTUFQMV9ETUFfQ0FQU18zCQkweDQ1OAorI2RlZmluZSBPTUFQMV9ETUFfQ0FQU180CQkweDQ1YQorI2RlZmluZSBPTUFQMV9ETUFfUENIMl9TUgkJMHg0NjAKKyNkZWZpbmUgT01BUDFfRE1BX1BDSDBfU1IJCTB4NDgwCisjZGVmaW5lIE9NQVAxX0RNQV9QQ0gxX1NSCQkweDQ4MgorI2RlZmluZSBPTUFQMV9ETUFfUENIRF9TUgkJMHg0YzAKIAotI2RlZmluZSBPTUFQX0RNQTRfUkVWSVNJT04JCShPTUFQX0RNQTRfQkFTRSArIDB4MDApCi0jZGVmaW5lIE9NQVBfRE1BNF9HQ1JfUkVHCQkoT01BUF9ETUE0X0JBU0UgKyAweDc4KQotI2RlZmluZSBPTUFQX0RNQTRfSVJRU1RBVFVTX0wwCQkoT01BUF9ETUE0X0JBU0UgKyAweDA4KQotI2RlZmluZSBPTUFQX0RNQTRfSVJRU1RBVFVTX0wxCQkoT01BUF9ETUE0X0JBU0UgKyAweDBjKQotI2RlZmluZSBPTUFQX0RNQTRfSVJRU1RBVFVTX0wyCQkoT01BUF9ETUE0X0JBU0UgKyAweDEwKQotI2RlZmluZSBPTUFQX0RNQTRfSVJRU1RBVFVTX0wzCQkoT01BUF9ETUE0X0JBU0UgKyAweDE0KQotI2RlZmluZSBPTUFQX0RNQTRfSVJRRU5BQkxFX0wwCQkoT01BUF9ETUE0X0JBU0UgKyAweDE4KQotI2RlZmluZSBPTUFQX0RNQTRfSVJRRU5BQkxFX0wxCQkoT01BUF9ETUE0X0JBU0UgKyAweDFjKQotI2RlZmluZSBPTUFQX0RNQTRfSVJRRU5BQkxFX0wyCQkoT01BUF9ETUE0X0JBU0UgKyAweDIwKQotI2RlZmluZSBPTUFQX0RNQTRfSVJRRU5BQkxFX0wzCQkoT01BUF9ETUE0X0JBU0UgKyAweDI0KQotI2RlZmluZSBPTUFQX0RNQTRfU1lTU1RBVFVTCQkoT01BUF9ETUE0X0JBU0UgKyAweDI4KQotI2RlZmluZSBPTUFQX0RNQTRfT0NQX1NZU0NPTkZJRwkJKE9NQVBfRE1BNF9CQVNFICsgMHgyYykKLSNkZWZpbmUgT01BUF9ETUE0X0NBUFNfMAkJKE9NQVBfRE1BNF9CQVNFICsgMHg2NCkKLSNkZWZpbmUgT01BUF9ETUE0X0NBUFNfMgkJKE9NQVBfRE1BNF9CQVNFICsgMHg2YykKLSNkZWZpbmUgT01BUF9ETUE0X0NBUFNfMwkJKE9NQVBfRE1BNF9CQVNFICsgMHg3MCkKLSNkZWZpbmUgT01BUF9ETUE0X0NBUFNfNAkJKE9NQVBfRE1BNF9CQVNFICsgMHg3NCkKKy8qIEhhcmR3YXJlIHJlZ2lzdGVycyBmb3Igb21hcDIgYW5kIG9tYXAzICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQTRfQkFTRQkJKEw0XzI0WFhfQkFTRSArIDB4NTYwMDApCisjZGVmaW5lIE9NQVAzNFhYX0RNQTRfQkFTRQkJKEw0XzM0WFhfQkFTRSArIDB4NTYwMDApCiAKLSNpZmRlZiBDT05GSUdfQVJDSF9PTUFQMQorI2RlZmluZSBPTUFQX0RNQTRfUkVWSVNJT04JCTB4MDAKKyNkZWZpbmUgT01BUF9ETUE0X0dDUgkJCTB4NzgKKyNkZWZpbmUgT01BUF9ETUE0X0lSUVNUQVRVU19MMAkJMHgwOAorI2RlZmluZSBPTUFQX0RNQTRfSVJRU1RBVFVTX0wxCQkweDBjCisjZGVmaW5lIE9NQVBfRE1BNF9JUlFTVEFUVVNfTDIJCTB4MTAKKyNkZWZpbmUgT01BUF9ETUE0X0lSUVNUQVRVU19MMwkJMHgxNAorI2RlZmluZSBPTUFQX0RNQTRfSVJRRU5BQkxFX0wwCQkweDE4CisjZGVmaW5lIE9NQVBfRE1BNF9JUlFFTkFCTEVfTDEJCTB4MWMKKyNkZWZpbmUgT01BUF9ETUE0X0lSUUVOQUJMRV9MMgkJMHgyMAorI2RlZmluZSBPTUFQX0RNQTRfSVJRRU5BQkxFX0wzCQkweDI0CisjZGVmaW5lIE9NQVBfRE1BNF9TWVNTVEFUVVMJCTB4MjgKKyNkZWZpbmUgT01BUF9ETUE0X09DUF9TWVNDT05GSUcJCTB4MmMKKyNkZWZpbmUgT01BUF9ETUE0X0NBUFNfMAkJMHg2NAorI2RlZmluZSBPTUFQX0RNQTRfQ0FQU18yCQkweDZjCisjZGVmaW5lIE9NQVBfRE1BNF9DQVBTXzMJCTB4NzAKKyNkZWZpbmUgT01BUF9ETUE0X0NBUFNfNAkJMHg3NAogCi0jZGVmaW5lIE9NQVBfTE9HSUNBTF9ETUFfQ0hfQ09VTlQJMTcKKyNkZWZpbmUgT01BUDFfTE9HSUNBTF9ETUFfQ0hfQ09VTlQJMTcKKyNkZWZpbmUgT01BUF9ETUE0X0xPR0lDQUxfRE1BX0NIX0NPVU5UCTMyCS8qIFJFVklTSVQ6IElzIHRoaXMgMzIgKyAyPyAqLwogCiAvKiBDb21tb24gY2hhbm5lbCBzcGVjaWZpYyByZWdpc3RlcnMgZm9yIG9tYXAxICovCi0jZGVmaW5lIE9NQVBfRE1BX0NTRFBfUkVHKG4pCQlfX1JFRzE2KE9NQVBfRE1BX0JBU0UgKyAweDQwICogKG4pICsgMHgwMCkKLSNkZWZpbmUgT01BUF9ETUFfQ0NSX1JFRyhuKQkJX19SRUcxNihPTUFQX0RNQV9CQVNFICsgMHg0MCAqIChuKSArIDB4MDIpCi0jZGVmaW5lIE9NQVBfRE1BX0NJQ1JfUkVHKG4pCQlfX1JFRzE2KE9NQVBfRE1BX0JBU0UgKyAweDQwICogKG4pICsgMHgwNCkKLSNkZWZpbmUgT01BUF9ETUFfQ1NSX1JFRyhuKQkJX19SRUcxNihPTUFQX0RNQV9CQVNFICsgMHg0MCAqIChuKSArIDB4MDYpCi0jZGVmaW5lIE9NQVBfRE1BX0NFTl9SRUcobikJCV9fUkVHMTYoT01BUF9ETUFfQkFTRSArIDB4NDAgKiAobikgKyAweDEwKQotI2RlZmluZSBPTUFQX0RNQV9DRk5fUkVHKG4pCQlfX1JFRzE2KE9NQVBfRE1BX0JBU0UgKyAweDQwICogKG4pICsgMHgxMikKLSNkZWZpbmUgT01BUF9ETUFfQ1NGSV9SRUcobikJCV9fUkVHMTYoT01BUF9ETUFfQkFTRSArIDB4NDAgKiAobikgKyAweDE0KQotI2RlZmluZSBPTUFQX0RNQV9DU0VJX1JFRyhuKQkJX19SRUcxNihPTUFQX0RNQV9CQVNFICsgMHg0MCAqIChuKSArIDB4MTYpCi0jZGVmaW5lIE9NQVBfRE1BX0NTQUNfUkVHKG4pCQlfX1JFRzE2KE9NQVBfRE1BX0JBU0UgKyAweDQwICogKG4pICsgMHgxOCkKLSNkZWZpbmUgT01BUF9ETUFfQ0RBQ19SRUcobikJCV9fUkVHMTYoT01BUF9ETUFfQkFTRSArIDB4NDAgKiAobikgKyAweDFhKQotI2RlZmluZSBPTUFQX0RNQV9DREVJX1JFRyhuKQkJX19SRUcxNihPTUFQX0RNQV9CQVNFICsgMHg0MCAqIChuKSArIDB4MWMpCi0jZGVmaW5lIE9NQVBfRE1BX0NERklfUkVHKG4pCQlfX1JFRzE2KE9NQVBfRE1BX0JBU0UgKyAweDQwICogKG4pICsgMHgxZSkKLSNkZWZpbmUgT01BUF9ETUFfQ0xOS19DVFJMX1JFRyhuKQlfX1JFRzE2KE9NQVBfRE1BX0JBU0UgKyAweDQwICogKG4pICsgMHgyOCkKLQotI2Vsc2UKLQotI2RlZmluZSBPTUFQX0xPR0lDQUxfRE1BX0NIX0NPVU5UCTMyCS8qIFJFVklTSVQ6IElzIHRoaXMgMzIgKyAyPyAqLworI2RlZmluZSBPTUFQMV9ETUFfQ0hfQkFTRShuKQkJKDB4NDAgKiAobikgKyAweDAwKQorI2RlZmluZSBPTUFQMV9ETUFfQ1NEUChuKQkJKDB4NDAgKiAobikgKyAweDAwKQorI2RlZmluZSBPTUFQMV9ETUFfQ0NSKG4pCQkoMHg0MCAqIChuKSArIDB4MDIpCisjZGVmaW5lIE9NQVAxX0RNQV9DSUNSKG4pCQkoMHg0MCAqIChuKSArIDB4MDQpCisjZGVmaW5lIE9NQVAxX0RNQV9DU1IobikJCSgweDQwICogKG4pICsgMHgwNikKKyNkZWZpbmUgT01BUDFfRE1BX0NFTihuKQkJKDB4NDAgKiAobikgKyAweDEwKQorI2RlZmluZSBPTUFQMV9ETUFfQ0ZOKG4pCQkoMHg0MCAqIChuKSArIDB4MTIpCisjZGVmaW5lIE9NQVAxX0RNQV9DU0ZJKG4pCQkoMHg0MCAqIChuKSArIDB4MTQpCisjZGVmaW5lIE9NQVAxX0RNQV9DU0VJKG4pCQkoMHg0MCAqIChuKSArIDB4MTYpCisjZGVmaW5lIE9NQVAxX0RNQV9DUEMobikJCSgweDQwICogKG4pICsgMHgxOCkJLyogMTV4eCBvbmx5ICovCisjZGVmaW5lIE9NQVAxX0RNQV9DU0FDKG4pCQkoMHg0MCAqIChuKSArIDB4MTgpCisjZGVmaW5lIE9NQVAxX0RNQV9DREFDKG4pCQkoMHg0MCAqIChuKSArIDB4MWEpCisjZGVmaW5lIE9NQVAxX0RNQV9DREVJKG4pCQkoMHg0MCAqIChuKSArIDB4MWMpCisjZGVmaW5lIE9NQVAxX0RNQV9DREZJKG4pCQkoMHg0MCAqIChuKSArIDB4MWUpCisjZGVmaW5lIE9NQVAxX0RNQV9DTE5LX0NUUkwobikJCSgweDQwICogKG4pICsgMHgyOCkKIAogLyogQ29tbW9uIGNoYW5uZWwgc3BlY2lmaWMgcmVnaXN0ZXJzIGZvciBvbWFwMiAqLwotI2RlZmluZSBPTUFQX0RNQV9DQ1JfUkVHKG4pCQlfX1JFRzMyKE9NQVBfRE1BNF9CQVNFICsgMHg2MCAqIChuKSArIDB4ODApCi0jZGVmaW5lIE9NQVBfRE1BX0NMTktfQ1RSTF9SRUcobikJX19SRUczMihPTUFQX0RNQTRfQkFTRSArIDB4NjAgKiAobikgKyAweDg0KQotI2RlZmluZSBPTUFQX0RNQV9DSUNSX1JFRyhuKQkJX19SRUczMihPTUFQX0RNQTRfQkFTRSArIDB4NjAgKiAobikgKyAweDg4KQotI2RlZmluZSBPTUFQX0RNQV9DU1JfUkVHKG4pCQlfX1JFRzMyKE9NQVBfRE1BNF9CQVNFICsgMHg2MCAqIChuKSArIDB4OGMpCi0jZGVmaW5lIE9NQVBfRE1BX0NTRFBfUkVHKG4pCQlfX1JFRzMyKE9NQVBfRE1BNF9CQVNFICsgMHg2MCAqIChuKSArIDB4OTApCi0jZGVmaW5lIE9NQVBfRE1BX0NFTl9SRUcobikJCV9fUkVHMzIoT01BUF9ETUE0X0JBU0UgKyAweDYwICogKG4pICsgMHg5NCkKLSNkZWZpbmUgT01BUF9ETUFfQ0ZOX1JFRyhuKQkJX19SRUczMihPTUFQX0RNQTRfQkFTRSArIDB4NjAgKiAobikgKyAweDk4KQotI2RlZmluZSBPTUFQX0RNQV9DU0VJX1JFRyhuKQkJX19SRUczMihPTUFQX0RNQTRfQkFTRSArIDB4NjAgKiAobikgKyAweGE0KQotI2RlZmluZSBPTUFQX0RNQV9DU0ZJX1JFRyhuKQkJX19SRUczMihPTUFQX0RNQTRfQkFTRSArIDB4NjAgKiAobikgKyAweGE4KQotI2RlZmluZSBPTUFQX0RNQV9DREVJX1JFRyhuKQkJX19SRUczMihPTUFQX0RNQTRfQkFTRSArIDB4NjAgKiAobikgKyAweGFjKQotI2RlZmluZSBPTUFQX0RNQV9DREZJX1JFRyhuKQkJX19SRUczMihPTUFQX0RNQTRfQkFTRSArIDB4NjAgKiAobikgKyAweGIwKQotI2RlZmluZSBPTUFQX0RNQV9DU0FDX1JFRyhuKQkJX19SRUczMihPTUFQX0RNQTRfQkFTRSArIDB4NjAgKiAobikgKyAweGI0KQotI2RlZmluZSBPTUFQX0RNQV9DREFDX1JFRyhuKQkJX19SRUczMihPTUFQX0RNQTRfQkFTRSArIDB4NjAgKiAobikgKyAweGI4KQotCi0jZW5kaWYKKyNkZWZpbmUgT01BUF9ETUE0X0NIX0JBU0UobikJCSgweDYwICogKG4pICsgMHg4MCkKKyNkZWZpbmUgT01BUF9ETUE0X0NDUihuKQkJKDB4NjAgKiAobikgKyAweDgwKQorI2RlZmluZSBPTUFQX0RNQTRfQ0xOS19DVFJMKG4pCQkoMHg2MCAqIChuKSArIDB4ODQpCisjZGVmaW5lIE9NQVBfRE1BNF9DSUNSKG4pCQkoMHg2MCAqIChuKSArIDB4ODgpCisjZGVmaW5lIE9NQVBfRE1BNF9DU1IobikJCSgweDYwICogKG4pICsgMHg4YykKKyNkZWZpbmUgT01BUF9ETUE0X0NTRFAobikJCSgweDYwICogKG4pICsgMHg5MCkKKyNkZWZpbmUgT01BUF9ETUE0X0NFTihuKQkJKDB4NjAgKiAobikgKyAweDk0KQorI2RlZmluZSBPTUFQX0RNQTRfQ0ZOKG4pCQkoMHg2MCAqIChuKSArIDB4OTgpCisjZGVmaW5lIE9NQVBfRE1BNF9DU0VJKG4pCQkoMHg2MCAqIChuKSArIDB4YTQpCisjZGVmaW5lIE9NQVBfRE1BNF9DU0ZJKG4pCQkoMHg2MCAqIChuKSArIDB4YTgpCisjZGVmaW5lIE9NQVBfRE1BNF9DREVJKG4pCQkoMHg2MCAqIChuKSArIDB4YWMpCisjZGVmaW5lIE9NQVBfRE1BNF9DREZJKG4pCQkoMHg2MCAqIChuKSArIDB4YjApCisjZGVmaW5lIE9NQVBfRE1BNF9DU0FDKG4pCQkoMHg2MCAqIChuKSArIDB4YjQpCisjZGVmaW5lIE9NQVBfRE1BNF9DREFDKG4pCQkoMHg2MCAqIChuKSArIDB4YjgpCiAKIC8qIENoYW5uZWwgc3BlY2lmaWMgcmVnaXN0ZXJzIG9ubHkgb24gb21hcDEgKi8KLSNkZWZpbmUgT01BUDFfRE1BX0NTU0FfTF9SRUcobikJCV9fUkVHMTYoT01BUF9ETUFfQkFTRSArIDB4NDAgKiAobikgKyAweDA4KQotI2RlZmluZSBPTUFQMV9ETUFfQ1NTQV9VX1JFRyhuKQkJX19SRUcxNihPTUFQX0RNQV9CQVNFICsgMHg0MCAqIChuKSArIDB4MGEpCi0jZGVmaW5lIE9NQVAxX0RNQV9DRFNBX0xfUkVHKG4pCQlfX1JFRzE2KE9NQVBfRE1BX0JBU0UgKyAweDQwICogKG4pICsgMHgwYykKLSNkZWZpbmUgT01BUDFfRE1BX0NEU0FfVV9SRUcobikJCV9fUkVHMTYoT01BUF9ETUFfQkFTRSArIDB4NDAgKiAobikgKyAweDBlKQotI2RlZmluZSBPTUFQMV9ETUFfQ09MT1JfTF9SRUcobikJX19SRUcxNihPTUFQX0RNQV9CQVNFICsgMHg0MCAqIChuKSArIDB4MjApCi0jZGVmaW5lIE9NQVAxX0RNQV9DQ1IyX1JFRyhuKQkJX19SRUcxNihPTUFQX0RNQV9CQVNFICsgMHg0MCAqIChuKSArIDB4MjQpCi0jZGVmaW5lIE9NQVAxX0RNQV9DT0xPUl9VX1JFRyhuKQlfX1JFRzE2KE9NQVBfRE1BX0JBU0UgKyAweDQwICogKG4pICsgMHgyMikKLSNkZWZpbmUgT01BUDFfRE1BX0xDSF9DVFJMX1JFRyhuKQlfX1JFRzE2KE9NQVBfRE1BX0JBU0UgKyAweDQwICogKG4pICsgMHgyYSkKKyNkZWZpbmUgT01BUDFfRE1BX0NTU0FfTChuKQkJKDB4NDAgKiAobikgKyAweDA4KQorI2RlZmluZSBPTUFQMV9ETUFfQ1NTQV9VKG4pCQkoMHg0MCAqIChuKSArIDB4MGEpCisjZGVmaW5lIE9NQVAxX0RNQV9DRFNBX0wobikJCSgweDQwICogKG4pICsgMHgwYykKKyNkZWZpbmUgT01BUDFfRE1BX0NEU0FfVShuKQkJKDB4NDAgKiAobikgKyAweDBlKQorI2RlZmluZSBPTUFQMV9ETUFfQ09MT1JfTChuKQkJKDB4NDAgKiAobikgKyAweDIwKQorI2RlZmluZSBPTUFQMV9ETUFfQ09MT1JfVShuKQkJKDB4NDAgKiAobikgKyAweDIyKQorI2RlZmluZSBPTUFQMV9ETUFfQ0NSMihuKQkJKDB4NDAgKiAobikgKyAweDI0KQorI2RlZmluZSBPTUFQMV9ETUFfTENIX0NUUkwobikJCSgweDQwICogKG4pICsgMHgyYSkJLyogbm90IG9uIDE1eHggKi8KKyNkZWZpbmUgT01BUDFfRE1BX0NDRU4obikJCTAKKyNkZWZpbmUgT01BUDFfRE1BX0NDRk4obikJCTAKIAogLyogQ2hhbm5lbCBzcGVjaWZpYyByZWdpc3RlcnMgb25seSBvbiBvbWFwMiAqLwotI2RlZmluZSBPTUFQMl9ETUFfQ1NTQV9SRUcobikJCV9fUkVHMzIoT01BUF9ETUE0X0JBU0UgKyAweDYwICogKG4pICsgMHg5YykKLSNkZWZpbmUgT01BUDJfRE1BX0NEU0FfUkVHKG4pCQlfX1JFRzMyKE9NQVBfRE1BNF9CQVNFICsgMHg2MCAqIChuKSArIDB4YTApCi0jZGVmaW5lIE9NQVAyX0RNQV9DQ0VOX1JFRyhuKQkJX19SRUczMihPTUFQX0RNQTRfQkFTRSArIDB4NjAgKiAobikgKyAweGJjKQotI2RlZmluZSBPTUFQMl9ETUFfQ0NGTl9SRUcobikJCV9fUkVHMzIoT01BUF9ETUE0X0JBU0UgKyAweDYwICogKG4pICsgMHhjMCkKLSNkZWZpbmUgT01BUDJfRE1BX0NPTE9SX1JFRyhuKQkJX19SRUczMihPTUFQX0RNQTRfQkFTRSArIDB4NjAgKiAobikgKyAweGM0KQorI2RlZmluZSBPTUFQX0RNQTRfQ1NTQShuKQkJKDB4NjAgKiAobikgKyAweDljKQorI2RlZmluZSBPTUFQX0RNQTRfQ0RTQShuKQkJKDB4NjAgKiAobikgKyAweGEwKQorI2RlZmluZSBPTUFQX0RNQTRfQ0NFTihuKQkJKDB4NjAgKiAobikgKyAweGJjKQorI2RlZmluZSBPTUFQX0RNQTRfQ0NGTihuKQkJKDB4NjAgKiAobikgKyAweGMwKQorI2RlZmluZSBPTUFQX0RNQTRfQ09MT1IobikJCSgweDYwICogKG4pICsgMHhjNCkKKworLyogRHVtbXkgZGVmaW5lcyB0byBrZWVwIG11bHRpLW9tYXAgY29tcGlsZXMgaGFwcHkgKi8KKyNkZWZpbmUgT01BUDFfRE1BX1JFVklTSU9OCQkwCisjZGVmaW5lIE9NQVAxX0RNQV9JUlFTVEFUVVNfTDAJCTAKKyNkZWZpbmUgT01BUDFfRE1BX0lSUUVOQUJMRV9MMAkJMAorI2RlZmluZSBPTUFQMV9ETUFfT0NQX1NZU0NPTkZJRwkJMAorI2RlZmluZSBPTUFQX0RNQTRfSFdfSUQJCQkwCisjZGVmaW5lIE9NQVBfRE1BNF9DQVBTXzBfTAkJMAorI2RlZmluZSBPTUFQX0RNQTRfQ0FQU18wX1UJCTAKKyNkZWZpbmUgT01BUF9ETUE0X0NBUFNfMV9MCQkwCisjZGVmaW5lIE9NQVBfRE1BNF9DQVBTXzFfVQkJMAorI2RlZmluZSBPTUFQX0RNQTRfR1NDUgkJCTAKKyNkZWZpbmUgT01BUF9ETUE0X0NQQyhuKQkJMAorCisjZGVmaW5lIE9NQVBfRE1BNF9MQ0hfQ1RSTChuKQkJMAorI2RlZmluZSBPTUFQX0RNQTRfQ09MT1JfTChuKQkJMAorI2RlZmluZSBPTUFQX0RNQTRfQ09MT1JfVShuKQkJMAorI2RlZmluZSBPTUFQX0RNQTRfQ0NSMihuKQkJMAorI2RlZmluZSBPTUFQMV9ETUFfQ1NTQShuKQkJMAorI2RlZmluZSBPTUFQMV9ETUFfQ0RTQShuKQkJMAorI2RlZmluZSBPTUFQX0RNQTRfQ1NTQV9MKG4pCQkwCisjZGVmaW5lIE9NQVBfRE1BNF9DU1NBX1UobikJCTAKKyNkZWZpbmUgT01BUF9ETUE0X0NEU0FfTChuKQkJMAorI2RlZmluZSBPTUFQX0RNQTRfQ0RTQV9VKG4pCQkwCiAKIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAKQEAgLTE5Niw2MyArMjE2LDk4IEBACiAjZGVmaW5lIE9NQVAyNFhYX0RNQV9HUE1DCQk0CS8qIFNfRE1BXzMgKi8KICNkZWZpbmUgT01BUDI0WFhfRE1BX0dGWAkJNQkvKiBTX0RNQV80ICovCiAjZGVmaW5lIE9NQVAyNFhYX0RNQV9EU1MJCTYJLyogU19ETUFfNSAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfVkxZTlFfVFgJCTcJLyogU19ETUFfNiAqLworI2RlZmluZSBPTUFQMjQyWF9ETUFfVkxZTlFfVFgJCTcJLyogU19ETUFfNiAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfRVhUX0RNQVJFUTIJNwkvKiBTX0RNQV82ICovCiAjZGVmaW5lIE9NQVAyNFhYX0RNQV9DV1QJCTgJLyogU19ETUFfNyAqLwogI2RlZmluZSBPTUFQMjRYWF9ETUFfQUVTX1RYCQk5CS8qIFNfRE1BXzggKi8KICNkZWZpbmUgT01BUDI0WFhfRE1BX0FFU19SWAkJMTAJLyogU19ETUFfOSAqLwogI2RlZmluZSBPTUFQMjRYWF9ETUFfREVTX1RYCQkxMQkvKiBTX0RNQV8xMCAqLwogI2RlZmluZSBPTUFQMjRYWF9ETUFfREVTX1JYCQkxMgkvKiBTX0RNQV8xMSAqLwogI2RlZmluZSBPTUFQMjRYWF9ETUFfU0hBMU1ENV9SWAkJMTMJLyogU19ETUFfMTIgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX0VYVF9ETUFSRVEyCTE0CS8qIFNfRE1BXzEzICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9FWFRfRE1BUkVRMwkxNQkvKiBTX0RNQV8xNCAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfRVhUX0RNQVJFUTQJMTYJLyogU19ETUFfMTUgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX0VBQ19BQ19SRAkJMTcJLyogU19ETUFfMTYgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX0VBQ19BQ19XUgkJMTgJLyogU19ETUFfMTcgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX0VBQ19NRF9VTF9SRAkxOQkvKiBTX0RNQV8xOCAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfRUFDX01EX1VMX1dSCTIwCS8qIFNfRE1BXzE5ICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9FQUNfTURfRExfUkQJMjEJLyogU19ETUFfMjAgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX0VBQ19NRF9ETF9XUgkyMgkvKiBTX0RNQV8yMSAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfRUFDX0JUX1VMX1JECTIzCS8qIFNfRE1BXzIyICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9FQUNfQlRfVUxfV1IJMjQJLyogU19ETUFfMjMgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX0VBQ19CVF9ETF9SRAkyNQkvKiBTX0RNQV8yNCAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfRUFDX0JUX0RMX1dSCTI2CS8qIFNfRE1BXzI1ICovCisjZGVmaW5lIE9NQVAzNFhYX0RNQV9TSEEyTUQ1X1JYCQkxMwkvKiBTX0RNQV8xMiAqLworI2RlZmluZSBPTUFQMjQyWF9ETUFfRVhUX0RNQVJFUTIJMTQJLyogU19ETUFfMTMgKi8KKyNkZWZpbmUgT01BUDI0MlhfRE1BX0VYVF9ETUFSRVEzCTE1CS8qIFNfRE1BXzE0ICovCisjZGVmaW5lIE9NQVAyNDJYX0RNQV9FWFRfRE1BUkVRNAkxNgkvKiBTX0RNQV8xNSAqLworI2RlZmluZSBPTUFQMjQyWF9ETUFfRUFDX0FDX1JECQkxNwkvKiBTX0RNQV8xNiAqLworI2RlZmluZSBPTUFQMjQyWF9ETUFfRUFDX0FDX1dSCQkxOAkvKiBTX0RNQV8xNyAqLworI2RlZmluZSBPTUFQMjQyWF9ETUFfRUFDX01EX1VMX1JECTE5CS8qIFNfRE1BXzE4ICovCisjZGVmaW5lIE9NQVAyNDJYX0RNQV9FQUNfTURfVUxfV1IJMjAJLyogU19ETUFfMTkgKi8KKyNkZWZpbmUgT01BUDI0MlhfRE1BX0VBQ19NRF9ETF9SRAkyMQkvKiBTX0RNQV8yMCAqLworI2RlZmluZSBPTUFQMjQyWF9ETUFfRUFDX01EX0RMX1dSCTIyCS8qIFNfRE1BXzIxICovCisjZGVmaW5lIE9NQVAyNDJYX0RNQV9FQUNfQlRfVUxfUkQJMjMJLyogU19ETUFfMjIgKi8KKyNkZWZpbmUgT01BUDI0MlhfRE1BX0VBQ19CVF9VTF9XUgkyNAkvKiBTX0RNQV8yMyAqLworI2RlZmluZSBPTUFQMjQyWF9ETUFfRUFDX0JUX0RMX1JECTI1CS8qIFNfRE1BXzI0ICovCisjZGVmaW5lIE9NQVAyNDJYX0RNQV9FQUNfQlRfRExfV1IJMjYJLyogU19ETUFfMjUgKi8KKyNkZWZpbmUgT01BUDI0M1hfRE1BX0VYVF9ETUFSRVEzCTE0CS8qIFNfRE1BXzEzICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9TUEkzX1RYMAkJMTUJLyogU19ETUFfMTQgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX1NQSTNfUlgwCQkxNgkvKiBTX0RNQV8xNSAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfTUNCU1AzX1RYCQkxNwkvKiBTX0RNQV8xNiAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfTUNCU1AzX1JYCQkxOAkvKiBTX0RNQV8xNyAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfTUNCU1A0X1RYCQkxOQkvKiBTX0RNQV8xOCAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfTUNCU1A0X1JYCQkyMAkvKiBTX0RNQV8xOSAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfTUNCU1A1X1RYCQkyMQkvKiBTX0RNQV8yMCAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfTUNCU1A1X1JYCQkyMgkvKiBTX0RNQV8yMSAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfU1BJM19UWDEJCTIzCS8qIFNfRE1BXzIyICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9TUEkzX1JYMQkJMjQJLyogU19ETUFfMjMgKi8KKyNkZWZpbmUgT01BUDI0M1hfRE1BX0VYVF9ETUFSRVE0CTI1CS8qIFNfRE1BXzI0ICovCisjZGVmaW5lIE9NQVAyNDNYX0RNQV9FWFRfRE1BUkVRNQkyNgkvKiBTX0RNQV8yNSAqLworI2RlZmluZSBPTUFQMzRYWF9ETUFfSTJDM19UWAkJMjUJLyogU19ETUFfMjQgKi8KKyNkZWZpbmUgT01BUDM0WFhfRE1BX0kyQzNfUlgJCTI2CS8qIFNfRE1BXzI1ICovCiAjZGVmaW5lIE9NQVAyNFhYX0RNQV9JMkMxX1RYCQkyNwkvKiBTX0RNQV8yNiAqLwogI2RlZmluZSBPTUFQMjRYWF9ETUFfSTJDMV9SWAkJMjgJLyogU19ETUFfMjcgKi8KICNkZWZpbmUgT01BUDI0WFhfRE1BX0kyQzJfVFgJCTI5CS8qIFNfRE1BXzI4ICovCiAjZGVmaW5lIE9NQVAyNFhYX0RNQV9JMkMyX1JYCQkzMAkvKiBTX0RNQV8yOSAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfTUNCU1AxX1RYCQkzMQkvKiBTRE1BXzMwICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9NQ0JTUDFfUlgJCTMyCS8qIFNETUFfMzEgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX01DQlNQMl9UWAkJMzMJLyogU0RNQV8zMiAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfTUNCU1AyX1JYCQkzNAkvKiBTRE1BXzMzICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9TUEkxX1RYMAkJMzUJLyogU0RNQV8zNCAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfU1BJMV9SWDAJCTM2CS8qIFNETUFfMzUgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX1NQSTFfVFgxCQkzNwkvKiBTRE1BXzM2ICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9TUEkxX1JYMQkJMzgJLyogU0RNQV8zNyAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfU1BJMV9UWDIJCTM5CS8qIFNETUFfMzggKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX1NQSTFfUlgyCQk0MAkvKiBTRE1BXzM5ICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9TUEkxX1RYMwkJNDEJLyogU0RNQV80MCAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfU1BJMV9SWDMJCTQyCS8qIFNETUFfNDEgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX1NQSTJfVFgwCQk0MwkvKiBTRE1BXzQyICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9TUEkyX1JYMAkJNDQJLyogU0RNQV80MyAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfU1BJMl9UWDEJCTQ1CS8qIFNETUFfNDQgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX1NQSTJfUlgxCQk0NgkvKiBTRE1BXzQ1ICovCi0KLSNkZWZpbmUgT01BUDI0WFhfRE1BX1VBUlQxX1RYCQk0OQkvKiBTRE1BXzQ4ICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9VQVJUMV9SWAkJNTAJLyogU0RNQV80OSAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfVUFSVDJfVFgJCTUxCS8qIFNETUFfNTAgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX1VBUlQyX1JYCQk1MgkvKiBTRE1BXzUxICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9VQVJUM19UWAkJNTMJLyogU0RNQV81MiAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfVUFSVDNfUlgJCTU0CS8qIFNETUFfNTMgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX1VTQl9XMkZDX1RYMAk1NQkvKiBTRE1BXzU0ICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9VU0JfVzJGQ19SWDAJNTYJLyogU0RNQV81NSAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfVVNCX1cyRkNfVFgxCTU3CS8qIFNETUFfNTYgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX1VTQl9XMkZDX1JYMQk1OAkvKiBTRE1BXzU3ICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9VU0JfVzJGQ19UWDIJNTkJLyogU0RNQV81OCAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfVVNCX1cyRkNfUlgyCTYwCS8qIFNETUFfNTkgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX01NQzFfVFgJCTYxCS8qIFNETUFfNjAgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX01NQzFfUlgJCTYyCS8qIFNETUFfNjEgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX01TCQkJNjMJLyogU0RNQV82MiAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfRVhUX0RNQVJFUTUJNjQJLyogU19ETUFfNjMgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX01DQlNQMV9UWAkJMzEJLyogU19ETUFfMzAgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX01DQlNQMV9SWAkJMzIJLyogU19ETUFfMzEgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX01DQlNQMl9UWAkJMzMJLyogU19ETUFfMzIgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX01DQlNQMl9SWAkJMzQJLyogU19ETUFfMzMgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX1NQSTFfVFgwCQkzNQkvKiBTX0RNQV8zNCAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfU1BJMV9SWDAJCTM2CS8qIFNfRE1BXzM1ICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9TUEkxX1RYMQkJMzcJLyogU19ETUFfMzYgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX1NQSTFfUlgxCQkzOAkvKiBTX0RNQV8zNyAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfU1BJMV9UWDIJCTM5CS8qIFNfRE1BXzM4ICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9TUEkxX1JYMgkJNDAJLyogU19ETUFfMzkgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX1NQSTFfVFgzCQk0MQkvKiBTX0RNQV80MCAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfU1BJMV9SWDMJCTQyCS8qIFNfRE1BXzQxICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9TUEkyX1RYMAkJNDMJLyogU19ETUFfNDIgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX1NQSTJfUlgwCQk0NAkvKiBTX0RNQV80MyAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfU1BJMl9UWDEJCTQ1CS8qIFNfRE1BXzQ0ICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9TUEkyX1JYMQkJNDYJLyogU19ETUFfNDUgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX01NQzJfVFgJCTQ3CS8qIFNfRE1BXzQ2ICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9NTUMyX1JYCQk0OAkvKiBTX0RNQV80NyAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfVUFSVDFfVFgJCTQ5CS8qIFNfRE1BXzQ4ICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9VQVJUMV9SWAkJNTAJLyogU19ETUFfNDkgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX1VBUlQyX1RYCQk1MQkvKiBTX0RNQV81MCAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfVUFSVDJfUlgJCTUyCS8qIFNfRE1BXzUxICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9VQVJUM19UWAkJNTMJLyogU19ETUFfNTIgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX1VBUlQzX1JYCQk1NAkvKiBTX0RNQV81MyAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfVVNCX1cyRkNfVFgwCTU1CS8qIFNfRE1BXzU0ICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9VU0JfVzJGQ19SWDAJNTYJLyogU19ETUFfNTUgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX1VTQl9XMkZDX1RYMQk1NwkvKiBTX0RNQV81NiAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfVVNCX1cyRkNfUlgxCTU4CS8qIFNfRE1BXzU3ICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9VU0JfVzJGQ19UWDIJNTkJLyogU19ETUFfNTggKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX1VTQl9XMkZDX1JYMgk2MAkvKiBTX0RNQV81OSAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfTU1DMV9UWAkJNjEJLyogU19ETUFfNjAgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX01NQzFfUlgJCTYyCS8qIFNfRE1BXzYxICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9NUwkJCTYzCS8qIFNfRE1BXzYyICovCisjZGVmaW5lIE9NQVAyNDJYX0RNQV9FWFRfRE1BUkVRNQk2NAkvKiBTX0RNQV82MyAqLworI2RlZmluZSBPTUFQMjQzWF9ETUFfRVhUX0RNQVJFUTYJNjQJLyogU19ETUFfNjMgKi8KKyNkZWZpbmUgT01BUDM0WFhfRE1BX0VYVF9ETUFSRVEzCTY0CS8qIFNfRE1BXzYzICovCisjZGVmaW5lIE9NQVAzNFhYX0RNQV9BRVMyX1RYCQk2NQkvKiBTX0RNQV82NCAqLworI2RlZmluZSBPTUFQMzRYWF9ETUFfQUVTMl9SWAkJNjYJLyogU19ETUFfNjUgKi8KKyNkZWZpbmUgT01BUDM0WFhfRE1BX0RFUzJfVFgJCTY3CS8qIFNfRE1BXzY2ICovCisjZGVmaW5lIE9NQVAzNFhYX0RNQV9ERVMyX1JYCQk2OAkvKiBTX0RNQV82NyAqLworI2RlZmluZSBPTUFQMzRYWF9ETUFfU0hBMU1ENV9SWAkJNjkJLyogU19ETUFfNjggKi8KKyNkZWZpbmUgT01BUDM0WFhfRE1BX1NQSTRfVFgwCQk3MAkvKiBTX0RNQV82OSAqLworI2RlZmluZSBPTUFQMzRYWF9ETUFfU1BJNF9SWDAJCTcxCS8qIFNfRE1BXzcwICovCisjZGVmaW5lIE9NQVAzNFhYX0RTU19ETUEwCQk3MgkvKiBTX0RNQV83MSAqLworI2RlZmluZSBPTUFQMzRYWF9EU1NfRE1BMQkJNzMJLyogU19ETUFfNzIgKi8KKyNkZWZpbmUgT01BUDM0WFhfRFNTX0RNQTIJCTc0CS8qIFNfRE1BXzczICovCisjZGVmaW5lIE9NQVAzNFhYX0RTU19ETUEzCQk3NQkvKiBTX0RNQV83NCAqLworI2RlZmluZSBPTUFQMzRYWF9ETUFfTU1DM19UWAkJNzcJLyogU19ETUFfNzYgKi8KKyNkZWZpbmUgT01BUDM0WFhfRE1BX01NQzNfUlgJCTc4CS8qIFNfRE1BXzc3ICovCisjZGVmaW5lIE9NQVAzNFhYX0RNQV9VU0lNX1RYCQk3OQkvKiBTX0RNQV83OCAqLworI2RlZmluZSBPTUFQMzRYWF9ETUFfVVNJTV9SWAkJODAJLyogU19ETUFfNzkgKi8KIAogLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIApAQCAtMzU4LDYgKzQxMywxMSBAQAogCU9NQVBfRE1BX0RBVEFfQlVSU1RfMTYsCiB9OwogCitlbnVtIGVuZF90eXBlIHsKKwlPTUFQX0RNQV9MSVRUTEVfRU5ESUFOID0gMCwKKwlPTUFQX0RNQV9CSUdfRU5ESUFOCit9OworCiBlbnVtIG9tYXBfZG1hX2NvbG9yX21vZGUgewogCU9NQVBfRE1BX0NPTE9SX0RJUyA9IDAsCiAJT01BUF9ETUFfQ09OU1RBTlRfRklMTCwKQEAgLTM3MCwyNCArNDMwLDM0IEBACiAJT01BUF9ETUFfV1JJVEVfTEFTVF9OT05fUE9TVEVECiB9OwogCitlbnVtIG9tYXBfZG1hX2NoYW5uZWxfbW9kZSB7CisJT01BUF9ETUFfTENIXzJEID0gMCwKKwlPTUFQX0RNQV9MQ0hfRywKKwlPTUFQX0RNQV9MQ0hfUCwKKwlPTUFQX0RNQV9MQ0hfUEQKK307CisKIHN0cnVjdCBvbWFwX2RtYV9jaGFubmVsX3BhcmFtcyB7CiAJaW50IGRhdGFfdHlwZTsJCS8qIGRhdGEgdHlwZSA4LDE2LDMyICovCiAJaW50IGVsZW1fY291bnQ7CQkvKiBudW1iZXIgb2YgZWxlbWVudHMgaW4gYSBmcmFtZSAqLwogCWludCBmcmFtZV9jb3VudDsJLyogbnVtYmVyIG9mIGZyYW1lcyBpbiBhIGVsZW1lbnQgKi8KIAogCWludCBzcmNfcG9ydDsJCS8qIE9ubHkgb24gT01BUDEgUkVWSVNJVDogSXMgdGhpcyBuZWVkZWQ/ICovCi0JaW50IHNyY19hbW9kZTsJCS8qIGNvbnN0YW50ICwgcG9zdCBpbmNyZW1lbnQsIGluZGV4ZWQgLCBkb3VibGUgaW5kZXhlZCAqLworCWludCBzcmNfYW1vZGU7CQkvKiBjb25zdGFudCwgcG9zdCBpbmNyZW1lbnQsIGluZGV4ZWQsCisJCQkJCWRvdWJsZSBpbmRleGVkICovCiAJdW5zaWduZWQgbG9uZyBzcmNfc3RhcnQ7CS8qIHNvdXJjZSBhZGRyZXNzIDogcGh5c2ljYWwgKi8KIAlpbnQgc3JjX2VpOwkJLyogc291cmNlIGVsZW1lbnQgaW5kZXggKi8KIAlpbnQgc3JjX2ZpOwkJLyogc291cmNlIGZyYW1lIGluZGV4ICovCiAKIAlpbnQgZHN0X3BvcnQ7CQkvKiBPbmx5IG9uIE9NQVAxIFJFVklTSVQ6IElzIHRoaXMgbmVlZGVkPyAqLwotCWludCBkc3RfYW1vZGU7CQkvKiBjb25zdGFudCAsIHBvc3QgaW5jcmVtZW50LCBpbmRleGVkICwgZG91YmxlIGluZGV4ZWQgKi8KKwlpbnQgZHN0X2Ftb2RlOwkJLyogY29uc3RhbnQsIHBvc3QgaW5jcmVtZW50LCBpbmRleGVkLAorCQkJCQlkb3VibGUgaW5kZXhlZCAqLwogCXVuc2lnbmVkIGxvbmcgZHN0X3N0YXJ0OwkvKiBzb3VyY2UgYWRkcmVzcyA6IHBoeXNpY2FsICovCiAJaW50IGRzdF9laTsJCS8qIHNvdXJjZSBlbGVtZW50IGluZGV4ICovCiAJaW50IGRzdF9maTsJCS8qIHNvdXJjZSBmcmFtZSBpbmRleCAqLwogCi0JaW50IHRyaWdnZXI7CQkvKiB0cmlnZ2VyIGF0dGFjaGVkIGlmIHRoZSBjaGFubmVsIGlzIHN5bmNocm9uaXplZCAqLworCWludCB0cmlnZ2VyOwkJLyogdHJpZ2dlciBhdHRhY2hlZCBpZiB0aGUgY2hhbm5lbCBpcworCQkJCQlzeW5jaHJvbml6ZWQgKi8KIAlpbnQgc3luY19tb2RlOwkJLyogc3ljbiBvbiBlbGVtZW50LCBmcmFtZSAsIGJsb2NrIG9yIHBhY2tldCAqLwogCWludCBzcmNfb3JfZHN0X3N5bmNoOwkvKiBzb3VyY2Ugc3luY2goMSkgb3IgZGVzdGluYXRpb24gc3luY2goMCkgKi8KIApAQCAtNDA0LDggKzQ3NCw4IEBACiAKIGV4dGVybiB2b2lkIG9tYXBfc2V0X2RtYV9wcmlvcml0eShpbnQgbGNoLCBpbnQgZHN0X3BvcnQsIGludCBwcmlvcml0eSk7CiBleHRlcm4gaW50IG9tYXBfcmVxdWVzdF9kbWEoaW50IGRldl9pZCwgY29uc3QgY2hhciAqZGV2X25hbWUsCi0JCQkgICAgdm9pZCAoKiBjYWxsYmFjaykoaW50IGxjaCwgdTE2IGNoX3N0YXR1cywgdm9pZCAqZGF0YSksCi0JCQkgICAgdm9pZCAqZGF0YSwgaW50ICpkbWFfY2gpOworCQkJdm9pZCAoKmNhbGxiYWNrKShpbnQgbGNoLCB1MTYgY2hfc3RhdHVzLCB2b2lkICpkYXRhKSwKKwkJCXZvaWQgKmRhdGEsIGludCAqZG1hX2NoKTsKIGV4dGVybiB2b2lkIG9tYXBfZW5hYmxlX2RtYV9pcnEoaW50IGNoLCB1MTYgaXJxX2JpdHMpOwogZXh0ZXJuIHZvaWQgb21hcF9kaXNhYmxlX2RtYV9pcnEoaW50IGNoLCB1MTYgaXJxX2JpdHMpOwogZXh0ZXJuIHZvaWQgb21hcF9mcmVlX2RtYShpbnQgY2gpOwpAQCAtNDE4LDYgKzQ4OCw3IEBACiBleHRlcm4gdm9pZCBvbWFwX3NldF9kbWFfY29sb3JfbW9kZShpbnQgbGNoLCBlbnVtIG9tYXBfZG1hX2NvbG9yX21vZGUgbW9kZSwKIAkJCQkgICAgdTMyIGNvbG9yKTsKIGV4dGVybiB2b2lkIG9tYXBfc2V0X2RtYV93cml0ZV9tb2RlKGludCBsY2gsIGVudW0gb21hcF9kbWFfd3JpdGVfbW9kZSBtb2RlKTsKK2V4dGVybiB2b2lkIG9tYXBfc2V0X2RtYV9jaGFubmVsX21vZGUoaW50IGxjaCwgZW51bSBvbWFwX2RtYV9jaGFubmVsX21vZGUgbW9kZSk7CiAKIGV4dGVybiB2b2lkIG9tYXBfc2V0X2RtYV9zcmNfcGFyYW1zKGludCBsY2gsIGludCBzcmNfcG9ydCwgaW50IHNyY19hbW9kZSwKIAkJCQkgICAgdW5zaWduZWQgbG9uZyBzcmNfc3RhcnQsCkBAIC00MzYsMjMgKzUwNywyNiBAQAogCQkJCQkgZW51bSBvbWFwX2RtYV9idXJzdF9tb2RlIGJ1cnN0X21vZGUpOwogCiBleHRlcm4gdm9pZCBvbWFwX3NldF9kbWFfcGFyYW1zKGludCBsY2gsCi0JCQkJc3RydWN0IG9tYXBfZG1hX2NoYW5uZWxfcGFyYW1zICogcGFyYW1zKTsKKwkJCQlzdHJ1Y3Qgb21hcF9kbWFfY2hhbm5lbF9wYXJhbXMgKnBhcmFtcyk7CiAKLWV4dGVybiB2b2lkIG9tYXBfZG1hX2xpbmtfbGNoIChpbnQgbGNoX2hlYWQsIGludCBsY2hfcXVldWUpOwotZXh0ZXJuIHZvaWQgb21hcF9kbWFfdW5saW5rX2xjaCAoaW50IGxjaF9oZWFkLCBpbnQgbGNoX3F1ZXVlKTsKK2V4dGVybiB2b2lkIG9tYXBfZG1hX2xpbmtfbGNoKGludCBsY2hfaGVhZCwgaW50IGxjaF9xdWV1ZSk7CitleHRlcm4gdm9pZCBvbWFwX2RtYV91bmxpbmtfbGNoKGludCBsY2hfaGVhZCwgaW50IGxjaF9xdWV1ZSk7CiAKIGV4dGVybiBpbnQgb21hcF9zZXRfZG1hX2NhbGxiYWNrKGludCBsY2gsCi0JCQl2b2lkICgqIGNhbGxiYWNrKShpbnQgbGNoLCB1MTYgY2hfc3RhdHVzLCB2b2lkICpkYXRhKSwKKwkJCXZvaWQgKCpjYWxsYmFjaykoaW50IGxjaCwgdTE2IGNoX3N0YXR1cywgdm9pZCAqZGF0YSksCiAJCQl2b2lkICpkYXRhKTsKIGV4dGVybiBkbWFfYWRkcl90IG9tYXBfZ2V0X2RtYV9zcmNfcG9zKGludCBsY2gpOwogZXh0ZXJuIGRtYV9hZGRyX3Qgb21hcF9nZXRfZG1hX2RzdF9wb3MoaW50IGxjaCk7Ci1leHRlcm4gaW50IG9tYXBfZ2V0X2RtYV9zcmNfYWRkcl9jb3VudGVyKGludCBsY2gpOwogZXh0ZXJuIHZvaWQgb21hcF9jbGVhcl9kbWEoaW50IGxjaCk7CitleHRlcm4gaW50IG9tYXBfZ2V0X2RtYV9hY3RpdmVfc3RhdHVzKGludCBsY2gpOwogZXh0ZXJuIGludCBvbWFwX2RtYV9ydW5uaW5nKHZvaWQpOwogZXh0ZXJuIHZvaWQgb21hcF9kbWFfc2V0X2dsb2JhbF9wYXJhbXMoaW50IGFyYl9yYXRlLCBpbnQgbWF4X2ZpZm9fZGVwdGgsCiAJCQkJICAgICAgIGludCB0cGFyYW1zKTsKIGV4dGVybiBpbnQgb21hcF9kbWFfc2V0X3ByaW9fbGNoKGludCBsY2gsIHVuc2lnbmVkIGNoYXIgcmVhZF9wcmlvLAogCQkJCSB1bnNpZ25lZCBjaGFyIHdyaXRlX3ByaW8pOworZXh0ZXJuIHZvaWQgb21hcF9zZXRfZG1hX2RzdF9lbmRpYW5fdHlwZShpbnQgbGNoLCBlbnVtIGVuZF90eXBlIGV0eXBlKTsKK2V4dGVybiB2b2lkIG9tYXBfc2V0X2RtYV9zcmNfZW5kaWFuX3R5cGUoaW50IGxjaCwgZW51bSBlbmRfdHlwZSBldHlwZSk7CitleHRlcm4gaW50IG9tYXBfZ2V0X2RtYV9pbmRleChpbnQgbGNoLCBpbnQgKmVpLCBpbnQgKmZpKTsKIAogLyogQ2hhaW5pbmcgQVBJcyAqLwogI2lmbmRlZiBDT05GSUdfQVJDSF9PTUFQMQpAQCAtNDc4LDcgKzU1Miw3IEBACiAjZW5kaWYKIAogLyogTENEIERNQSBmdW5jdGlvbnMgKi8KLWV4dGVybiBpbnQgb21hcF9yZXF1ZXN0X2xjZF9kbWEodm9pZCAoKiBjYWxsYmFjaykodTE2IHN0YXR1cywgdm9pZCAqZGF0YSksCitleHRlcm4gaW50IG9tYXBfcmVxdWVzdF9sY2RfZG1hKHZvaWQgKCpjYWxsYmFjaykodTE2IHN0YXR1cywgdm9pZCAqZGF0YSksCiAJCQkJdm9pZCAqZGF0YSk7CiBleHRlcm4gdm9pZCBvbWFwX2ZyZWVfbGNkX2RtYSh2b2lkKTsKIGV4dGVybiB2b2lkIG9tYXBfc2V0dXBfbGNkX2RtYSh2b2lkKTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvZG10aW1lci5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9kbXRpbWVyLmgKaW5kZXggZmVmYjI3Ni4uMDJiMjllOCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9kbXRpbWVyLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9kbXRpbWVyLmgKQEAgLTY2LDYgKzY2LDcgQEAKIAogdm9pZCBvbWFwX2RtX3RpbWVyX3NldF9zb3VyY2Uoc3RydWN0IG9tYXBfZG1fdGltZXIgKnRpbWVyLCBpbnQgc291cmNlKTsKIHZvaWQgb21hcF9kbV90aW1lcl9zZXRfbG9hZChzdHJ1Y3Qgb21hcF9kbV90aW1lciAqdGltZXIsIGludCBhdXRvcmVsb2FkLCB1bnNpZ25lZCBpbnQgdmFsdWUpOwordm9pZCBvbWFwX2RtX3RpbWVyX3NldF9sb2FkX3N0YXJ0KHN0cnVjdCBvbWFwX2RtX3RpbWVyICp0aW1lciwgaW50IGF1dG9yZWxvYWQsIHVuc2lnbmVkIGludCB2YWx1ZSk7CiB2b2lkIG9tYXBfZG1fdGltZXJfc2V0X21hdGNoKHN0cnVjdCBvbWFwX2RtX3RpbWVyICp0aW1lciwgaW50IGVuYWJsZSwgdW5zaWduZWQgaW50IG1hdGNoKTsKIHZvaWQgb21hcF9kbV90aW1lcl9zZXRfcHdtKHN0cnVjdCBvbWFwX2RtX3RpbWVyICp0aW1lciwgaW50IGRlZl9vbiwgaW50IHRvZ2dsZSwgaW50IHRyaWdnZXIpOwogdm9pZCBvbWFwX2RtX3RpbWVyX3NldF9wcmVzY2FsZXIoc3RydWN0IG9tYXBfZG1fdGltZXIgKnRpbWVyLCBpbnQgcHJlc2NhbGVyKTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvZnBnYS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9mcGdhLmgKaW5kZXggNmE4ODNlMC4uZjQyMDg4MSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9mcGdhLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9mcGdhLmgKQEAgLTE2OSwzMCArMTY5LDI5IEBACiAjZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBCQkoSUhfR1BJT19CQVNFICsgMTMpCiAKIC8qIElSUSBOdW1iZXJzIGZvciBpbnRlcnJ1cHRzIG11eGVkIHRocm91Z2ggdGhlIEZQR0EgKi8KLSNkZWZpbmUgT01BUDE1MTBfSUhfRlBHQV9CQVNFCQlJSF9CT0FSRF9CQVNFCi0jZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBX0FUTgkJKE9NQVAxNTEwX0lIX0ZQR0FfQkFTRSArIDApCi0jZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBX0FDSwkJKE9NQVAxNTEwX0lIX0ZQR0FfQkFTRSArIDEpCi0jZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBMgkJKE9NQVAxNTEwX0lIX0ZQR0FfQkFTRSArIDIpCi0jZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBMwkJKE9NQVAxNTEwX0lIX0ZQR0FfQkFTRSArIDMpCi0jZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBNAkJKE9NQVAxNTEwX0lIX0ZQR0FfQkFTRSArIDQpCi0jZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBNQkJKE9NQVAxNTEwX0lIX0ZQR0FfQkFTRSArIDUpCi0jZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBNgkJKE9NQVAxNTEwX0lIX0ZQR0FfQkFTRSArIDYpCi0jZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBNwkJKE9NQVAxNTEwX0lIX0ZQR0FfQkFTRSArIDcpCi0jZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBOAkJKE9NQVAxNTEwX0lIX0ZQR0FfQkFTRSArIDgpCi0jZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBOQkJKE9NQVAxNTEwX0lIX0ZQR0FfQkFTRSArIDkpCi0jZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBMTAJCShPTUFQMTUxMF9JSF9GUEdBX0JBU0UgKyAxMCkKLSNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0ExMQkJKE9NQVAxNTEwX0lIX0ZQR0FfQkFTRSArIDExKQotI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQTEyCQkoT01BUDE1MTBfSUhfRlBHQV9CQVNFICsgMTIpCi0jZGVmaW5lIE9NQVAxNTEwX0lOVF9FVEhFUgkJKE9NQVAxNTEwX0lIX0ZQR0FfQkFTRSArIDEzKQotI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQVVBUlQxCQkoT01BUDE1MTBfSUhfRlBHQV9CQVNFICsgMTQpCi0jZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBVUFSVDIJCShPTUFQMTUxMF9JSF9GUEdBX0JBU0UgKyAxNSkKLSNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0FfVFMJCShPTUFQMTUxMF9JSF9GUEdBX0JBU0UgKyAxNikKLSNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0ExNwkJKE9NQVAxNTEwX0lIX0ZQR0FfQkFTRSArIDE3KQotI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQV9DQU0JCShPTUFQMTUxMF9JSF9GUEdBX0JBU0UgKyAxOCkKLSNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0FfUlRDX0EJCShPTUFQMTUxMF9JSF9GUEdBX0JBU0UgKyAxOSkKLSNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0FfUlRDX0IJCShPTUFQMTUxMF9JSF9GUEdBX0JBU0UgKyAyMCkKLSNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0FfQ0QJCShPTUFQMTUxMF9JSF9GUEdBX0JBU0UgKyAyMSkKLSNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0EyMgkJKE9NQVAxNTEwX0lIX0ZQR0FfQkFTRSArIDIyKQotI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQTIzCQkoT01BUDE1MTBfSUhfRlBHQV9CQVNFICsgMjMpCisjZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBX0FUTgkJKE9NQVBfRlBHQV9JUlFfQkFTRSArIDApCisjZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBX0FDSwkJKE9NQVBfRlBHQV9JUlFfQkFTRSArIDEpCisjZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBMgkJKE9NQVBfRlBHQV9JUlFfQkFTRSArIDIpCisjZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBMwkJKE9NQVBfRlBHQV9JUlFfQkFTRSArIDMpCisjZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBNAkJKE9NQVBfRlBHQV9JUlFfQkFTRSArIDQpCisjZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBNQkJKE9NQVBfRlBHQV9JUlFfQkFTRSArIDUpCisjZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBNgkJKE9NQVBfRlBHQV9JUlFfQkFTRSArIDYpCisjZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBNwkJKE9NQVBfRlBHQV9JUlFfQkFTRSArIDcpCisjZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBOAkJKE9NQVBfRlBHQV9JUlFfQkFTRSArIDgpCisjZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBOQkJKE9NQVBfRlBHQV9JUlFfQkFTRSArIDkpCisjZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBMTAJCShPTUFQX0ZQR0FfSVJRX0JBU0UgKyAxMCkKKyNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0ExMQkJKE9NQVBfRlBHQV9JUlFfQkFTRSArIDExKQorI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQTEyCQkoT01BUF9GUEdBX0lSUV9CQVNFICsgMTIpCisjZGVmaW5lIE9NQVAxNTEwX0lOVF9FVEhFUgkJKE9NQVBfRlBHQV9JUlFfQkFTRSArIDEzKQorI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQVVBUlQxCQkoT01BUF9GUEdBX0lSUV9CQVNFICsgMTQpCisjZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBVUFSVDIJCShPTUFQX0ZQR0FfSVJRX0JBU0UgKyAxNSkKKyNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0FfVFMJCShPTUFQX0ZQR0FfSVJRX0JBU0UgKyAxNikKKyNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0ExNwkJKE9NQVBfRlBHQV9JUlFfQkFTRSArIDE3KQorI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQV9DQU0JCShPTUFQX0ZQR0FfSVJRX0JBU0UgKyAxOCkKKyNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0FfUlRDX0EJCShPTUFQX0ZQR0FfSVJRX0JBU0UgKyAxOSkKKyNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0FfUlRDX0IJCShPTUFQX0ZQR0FfSVJRX0JBU0UgKyAyMCkKKyNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0FfQ0QJCShPTUFQX0ZQR0FfSVJRX0JBU0UgKyAyMSkKKyNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0EyMgkJKE9NQVBfRlBHQV9JUlFfQkFTRSArIDIyKQorI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQTIzCQkoT01BUF9GUEdBX0lSUV9CQVNFICsgMjMpCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9oYXJkd2FyZS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9oYXJkd2FyZS5oCmluZGV4IDkxZDg1YjMuLjQ1ZmRmY2MgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvaGFyZHdhcmUuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2hhcmR3YXJlLmgKQEAgLTI4NCw2ICsyODQsNyBAQAogI2luY2x1ZGUgIm9tYXAxNTEwLmgiCiAjaW5jbHVkZSAib21hcDI0eHguaCIKICNpbmNsdWRlICJvbWFwMTZ4eC5oIgorI2luY2x1ZGUgIm9tYXAzNHh4LmgiCiAKICNpZm5kZWYgX19BU1NFTUJMRVJfXwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2lvLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2lvLmgKaW5kZXggMTYwNTc4ZS4uMGIxMzU1NyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9pby5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvaW8uaApAQCAtNjAsNiArNjAsNyBAQAogI2RlZmluZSBJT19TSVpFCQkweDQwMDAwCiAjZGVmaW5lIElPX1ZJUlQJCShJT19QSFlTIC0gSU9fT0ZGU0VUKQogI2RlZmluZSBJT19BRERSRVNTKHBhKQkoKHBhKSAtIElPX09GRlNFVCkKKyNkZWZpbmUgT01BUDFfSU9fQUREUkVTUyhwYSkJKChwYSkgLSBJT19PRkZTRVQpCiAjZGVmaW5lIGlvX3AydihwYSkJKChwYSkgLSBJT19PRkZTRVQpCiAjZGVmaW5lIGlvX3YycCh2YSkJKCh2YSkgKyBJT19PRkZTRVQpCiAKQEAgLTkxLDYgKzkyLDcgQEAKIAogI2RlZmluZSBJT19PRkZTRVQJMHg5MDAwMDAwMAogI2RlZmluZSBJT19BRERSRVNTKHBhKQkoKHBhKSArIElPX09GRlNFVCkJLyogV29ya3MgZm9yIEwzIGFuZCBMNCAqLworI2RlZmluZSBPTUFQMl9JT19BRERSRVNTKHBhKQkoKHBhKSArIElPX09GRlNFVCkJLyogV29ya3MgZm9yIEwzIGFuZCBMNCAqLwogI2RlZmluZSBpb19wMnYocGEpCSgocGEpICsgSU9fT0ZGU0VUKQkvKiBXb3JrcyBmb3IgTDMgYW5kIEw0ICovCiAjZGVmaW5lIGlvX3YycCh2YSkJKCh2YSkgLSBJT19PRkZTRVQpCS8qIFdvcmtzIGZvciBMMyBhbmQgTDQgKi8KIApAQCAtMTQ4LDYgKzE1MCw3IEBACiAKICNkZWZpbmUgSU9fT0ZGU0VUCQkweDkwMDAwMDAwCiAjZGVmaW5lIElPX0FERFJFU1MocGEpCQkoKHBhKSArIElPX09GRlNFVCkvKiBXb3JrcyBmb3IgTDMgYW5kIEw0ICovCisjZGVmaW5lIE9NQVAyX0lPX0FERFJFU1MocGEpCSgocGEpICsgSU9fT0ZGU0VUKS8qIFdvcmtzIGZvciBMMyBhbmQgTDQgKi8KICNkZWZpbmUgaW9fcDJ2KHBhKQkJKChwYSkgKyBJT19PRkZTRVQpLyogV29ya3MgZm9yIEwzIGFuZCBMNCAqLwogI2RlZmluZSBpb192MnAodmEpCQkoKHZhKSAtIElPX09GRlNFVCkvKiBXb3JrcyBmb3IgTDMgYW5kIEw0ICovCiAKQEAgLTE4MywzNSArMTg2LDEyIEBACiAjZGVmaW5lIG9tYXBfd3JpdGV3KHYsYSkJKCoodm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgKilJT19BRERSRVNTKGEpID0gKHYpKQogI2RlZmluZSBvbWFwX3dyaXRlbCh2LGEpCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGludCAgICopSU9fQUREUkVTUyhhKSA9ICh2KSkKIAotLyogMTYgYml0IHVzZXMgTERSSC9TVFJILCBiYXNlICsvLSBvZmZzZXRfOCAqLwotdHlwZWRlZiBzdHJ1Y3QgeyB2b2xhdGlsZSB1MTYgb2Zmc2V0WzI1Nl07IH0gX19yZWdiYXNlMTY7Ci0jZGVmaW5lIF9fUkVHVjE2KHZhZGRyKQkJKChfX3JlZ2Jhc2UxNiAqKSgodmFkZHIpJn4weGZmKSkgXAotCQkJCQktPm9mZnNldFsoKHZhZGRyKSYweGZmKT4+MV0KLSNkZWZpbmUgX19SRUcxNihwYWRkcikgICAgICAgICAgX19SRUdWMTYoaW9fcDJ2KHBhZGRyKSkKLQotLyogOC8zMiBiaXQgdXNlcyBMRFIvU1RSLCBiYXNlICsvLSBvZmZzZXRfMTIgKi8KLXR5cGVkZWYgc3RydWN0IHsgdm9sYXRpbGUgdTggb2Zmc2V0WzQwOTZdOyB9IF9fcmVnYmFzZTg7Ci0jZGVmaW5lIF9fUkVHVjgodmFkZHIpCQkoKF9fcmVnYmFzZTggICopKCh2YWRkcikmfjQwOTUpKSBcCi0JCQkJCS0+b2Zmc2V0WygodmFkZHIpJjQwOTUpPj4wXQotI2RlZmluZSBfX1JFRzgocGFkZHIpCQlfX1JFR1Y4KGlvX3AydihwYWRkcikpCi0KLXR5cGVkZWYgc3RydWN0IHsgdm9sYXRpbGUgdTMyIG9mZnNldFs0MDk2XTsgfSBfX3JlZ2Jhc2UzMjsKLSNkZWZpbmUgX19SRUdWMzIodmFkZHIpCQkoKF9fcmVnYmFzZTMyICopKCh2YWRkcikmfjQwOTUpKSBcCi0JCQkJCS0+b2Zmc2V0WygodmFkZHIpJjQwOTUpPj4yXQotI2RlZmluZSBfX1JFRzMyKHBhZGRyKQkJX19SRUdWMzIoaW9fcDJ2KHBhZGRyKSkKLQogZXh0ZXJuIHZvaWQgb21hcDFfbWFwX2NvbW1vbl9pbyh2b2lkKTsKIGV4dGVybiB2b2lkIG9tYXAxX2luaXRfY29tbW9uX2h3KHZvaWQpOwogCiBleHRlcm4gdm9pZCBvbWFwMl9tYXBfY29tbW9uX2lvKHZvaWQpOwogZXh0ZXJuIHZvaWQgb21hcDJfaW5pdF9jb21tb25faHcodm9pZCk7CiAKLSNlbHNlCi0KLSNkZWZpbmUgX19SRUc4KHBhZGRyKQkJaW9fcDJ2KHBhZGRyKQotI2RlZmluZSBfX1JFRzE2KHBhZGRyKQkJaW9fcDJ2KHBhZGRyKQotI2RlZmluZSBfX1JFRzMyKHBhZGRyKQkJaW9fcDJ2KHBhZGRyKQotCiAjZW5kaWYKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2lycXMuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvaXJxcy5oCmluZGV4IDg3OTczNjUuLjc0NjRjNjkgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvaXJxcy5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvaXJxcy5oCkBAIC0yODUsNyArMjg1LDQxIEBACiAjZGVmaW5lIE9NQVBfTUFYX0dQSU9fTElORVMJMTkyCiAjZGVmaW5lIElIX0dQSU9fQkFTRQkJKDEyOCArIElIMl9CQVNFKQogI2RlZmluZSBJSF9NUFVJT19CQVNFCQkoT01BUF9NQVhfR1BJT19MSU5FUyArIElIX0dQSU9fQkFTRSkKLSNkZWZpbmUgSUhfQk9BUkRfQkFTRQkJKDE2ICsgSUhfTVBVSU9fQkFTRSkKKyNkZWZpbmUgT01BUF9JUlFfRU5ECQkoSUhfTVBVSU9fQkFTRSArIDE2KQorCisvKiBFeHRlcm5hbCBGUEdBIGhhbmRsZXMgaW50ZXJydXB0cyBvbiBJbm5vdmF0b3IgYm9hcmRzICovCisjZGVmaW5lCU9NQVBfRlBHQV9JUlFfQkFTRQkoT01BUF9JUlFfRU5EKQorI2lmZGVmCUNPTkZJR19NQUNIX09NQVBfSU5OT1ZBVE9SCisjZGVmaW5lIE9NQVBfRlBHQV9OUl9JUlFTCTI0CisjZWxzZQorI2RlZmluZSBPTUFQX0ZQR0FfTlJfSVJRUwkwCisjZW5kaWYKKyNkZWZpbmUgT01BUF9GUEdBX0lSUV9FTkQJKE9NQVBfRlBHQV9JUlFfQkFTRSArIE9NQVBfRlBHQV9OUl9JUlFTKQorCisvKiBFeHRlcm5hbCBUV0w0MDMwIGNhbiBoYW5kbGUgaW50ZXJydXB0cyBvbiAyNDMwIGFuZCAzNHh4IGJvYXJkcyAqLworI2RlZmluZQlUV0w0MDMwX0lSUV9CQVNFCShPTUFQX0ZQR0FfSVJRX0VORCkKKyNpZmRlZglDT05GSUdfVFdMNDAzMF9DT1JFCisjZGVmaW5lCVRXTDQwMzBfQkFTRV9OUl9JUlFTCTgKKyNkZWZpbmUJVFdMNDAzMF9QV1JfTlJfSVJRUwk4CisjZWxzZQorI2RlZmluZQlUV0w0MDMwX0JBU0VfTlJfSVJRUwkwCisjZGVmaW5lCVRXTDQwMzBfUFdSX05SX0lSUVMJMAorI2VuZGlmCisjZGVmaW5lIFRXTDQwMzBfSVJRX0VORAkJKFRXTDQwMzBfSVJRX0JBU0UgKyBUV0w0MDMwX0JBU0VfTlJfSVJRUykKKyNkZWZpbmUgVFdMNDAzMF9QV1JfSVJRX0JBU0UJVFdMNDAzMF9JUlFfRU5ECisjZGVmaW5lCVRXTDQwMzBfUFdSX0lSUV9FTkQJKFRXTDQwMzBfUFdSX0lSUV9CQVNFICsgVFdMNDAzMF9QV1JfTlJfSVJRUykKKworLyogRXh0ZXJuYWwgVFdMNDAzMCBncGlvIGludGVycnVwdHMgYXJlIG9wdGlvbmFsICovCisjZGVmaW5lIFRXTDQwMzBfR1BJT19JUlFfQkFTRQlUV0w0MDMwX1BXUl9JUlFfRU5ECisjaWZkZWYJQ09ORklHX1RXTDQwMzBfR1BJTworI2RlZmluZSBUV0w0MDMwX0dQSU9fTlJfSVJRUwkxOAorI2Vsc2UKKyNkZWZpbmUJVFdMNDAzMF9HUElPX05SX0lSUVMJMAorI2VuZGlmCisjZGVmaW5lIFRXTDQwMzBfR1BJT19JUlFfRU5ECShUV0w0MDMwX0dQSU9fSVJRX0JBU0UgKyBUV0w0MDMwX0dQSU9fTlJfSVJRUykKKworLyogVG90YWwgbnVtYmVyIG9mIGludGVycnVwdHMgZGVwZW5kcyBvbiB0aGUgZW5hYmxlZCBibG9ja3MgYWJvdmUgKi8KKyNkZWZpbmUgTlJfSVJRUwkJCVRXTDQwMzBfR1BJT19JUlFfRU5ECiAKICNkZWZpbmUgT01BUF9JUlFfQklUKGlycSkJKDEgPDwgKChpcnEpICUgMzIpKQogCkBAIC0yOTMsMTQgKzMyNyw2IEBACiBleHRlcm4gdm9pZCBvbWFwX2luaXRfaXJxKHZvaWQpOwogI2VuZGlmCiAKLS8qCi0gKiBUaGUgZGVmaW5pdGlvbiBvZiBOUl9JUlFTIGlzIGluIGJvYXJkLXNwZWNpZmljIGhlYWRlciBmaWxlLCB3aGljaCBpcwotICogaW5jbHVkZWQgdmlhIGhhcmR3YXJlLmgKLSAqLwogI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgogCi0jaWZuZGVmIE5SX0lSUVMKLSNkZWZpbmUgTlJfSVJRUyAgICAgICAgICAgICAgICAgSUhfQk9BUkRfQkFTRQotI2VuZGlmCi0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9tY2JzcC5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9tY2JzcC5oCmluZGV4IGM3YTBjYzEuLjI2Yzc4ZjYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvbWNic3AuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL21jYnNwLmgKQEAgLTI0LDcgKzI0LDExIEBACiAjaWZuZGVmIF9fQVNNX0FSQ0hfT01BUF9NQ0JTUF9ICiAjZGVmaW5lIF9fQVNNX0FSQ0hfT01BUF9NQ0JTUF9ICiAKKyNpbmNsdWRlIDxsaW51eC9jb21wbGV0aW9uLmg+CisjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KKwogI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2Nsb2NrLmg+CiAKICNkZWZpbmUgT01BUDczMF9NQ0JTUDFfQkFTRQkweGZmZmIxMDAwCiAjZGVmaW5lIE9NQVA3MzBfTUNCU1AyX0JBU0UJMHhmZmZiMTgwMApAQCAtNDAsNiArNDQsOSBAQAogI2RlZmluZSBPTUFQMjRYWF9NQ0JTUDFfQkFTRQkweDQ4MDc0MDAwCiAjZGVmaW5lIE9NQVAyNFhYX01DQlNQMl9CQVNFCTB4NDgwNzYwMDAKIAorI2RlZmluZSBPTUFQMzRYWF9NQ0JTUDFfQkFTRQkweDQ4MDc0MDAwCisjZGVmaW5lIE9NQVAzNFhYX01DQlNQMl9CQVNFCTB4NDkwMjIwMDAKKwogI2lmIGRlZmluZWQoQ09ORklHX0FSQ0hfT01BUDE1WFgpIHx8IGRlZmluZWQoQ09ORklHX0FSQ0hfT01BUDE2WFgpIHx8IGRlZmluZWQoQ09ORklHX0FSQ0hfT01BUDczMCkKIAogI2RlZmluZSBPTUFQX01DQlNQX1JFR19EUlIyCTB4MDAKQEAgLTc0LDcgKzgxLDggQEAKICNkZWZpbmUgT01BUF9NQ0JTUF9SRUdfWENFUkcJMHgzQQogI2RlZmluZSBPTUFQX01DQlNQX1JFR19YQ0VSSAkweDNDCiAKLSNkZWZpbmUgT01BUF9NQVhfTUNCU1BfQ09VTlQgMworI2RlZmluZSBPTUFQX01BWF9NQ0JTUF9DT1VOVAkzCisjZGVmaW5lIE1BWF9NQ0JTUF9DTE9DS1MJMwogCiAjZGVmaW5lIEFVRElPX01DQlNQX0RBVEFXUklURQkoT01BUDE1MTBfTUNCU1AxX0JBU0UgKyBPTUFQX01DQlNQX1JFR19EWFIxKQogI2RlZmluZSBBVURJT19NQ0JTUF9EQVRBUkVBRAkoT01BUDE1MTBfTUNCU1AxX0JBU0UgKyBPTUFQX01DQlNQX1JFR19EUlIxKQpAQCAtMTE3LDcgKzEyNSw4IEBACiAjZGVmaW5lIE9NQVBfTUNCU1BfUkVHX1hDRVJHCTB4NzQKICNkZWZpbmUgT01BUF9NQ0JTUF9SRUdfWENFUkgJMHg3OAogCi0jZGVmaW5lIE9NQVBfTUFYX01DQlNQX0NPVU5UIDIKKyNkZWZpbmUgT01BUF9NQVhfTUNCU1BfQ09VTlQJMgorI2RlZmluZSBNQVhfTUNCU1BfQ0xPQ0tTCTIKIAogI2RlZmluZSBBVURJT19NQ0JTUF9EQVRBV1JJVEUJKE9NQVAyNFhYX01DQlNQMl9CQVNFICsgT01BUF9NQ0JTUF9SRUdfRFhSMSkKICNkZWZpbmUgQVVESU9fTUNCU1BfREFUQVJFQUQJKE9NQVAyNFhYX01DQlNQMl9CQVNFICsgT01BUF9NQ0JTUF9SRUdfRFJSMSkKQEAgLTI5OCw2ICszMDcsNTUgQEAKIAlvbWFwX21jYnNwX3dvcmRfbGVuZ3RoCQl3b3JkX2xlbmd0aDsKIH07CiAKKy8qIFBsYXRmb3JtIHNwZWNpZmljIGNvbmZpZ3VyYXRpb24gKi8KK3N0cnVjdCBvbWFwX21jYnNwX29wcyB7CisJdm9pZCAoKnJlcXVlc3QpKHVuc2lnbmVkIGludCk7CisJdm9pZCAoKmZyZWUpKHVuc2lnbmVkIGludCk7CisJaW50ICgqY2hlY2spKHVuc2lnbmVkIGludCk7Cit9OworCitzdHJ1Y3Qgb21hcF9tY2JzcF9wbGF0Zm9ybV9kYXRhIHsKKwl1MzIgdmlydF9iYXNlOworCXU4IGRtYV9yeF9zeW5jLCBkbWFfdHhfc3luYzsKKwl1MTYgcnhfaXJxLCB0eF9pcnE7CisJc3RydWN0IG9tYXBfbWNic3Bfb3BzICpvcHM7CisJY2hhciBjb25zdCAqY2xrX25hbWU7Cit9OworCitzdHJ1Y3Qgb21hcF9tY2JzcCB7CisJc3RydWN0IGRldmljZSAqZGV2OworCXUzMiBpb19iYXNlOworCXU4IGlkOworCXU4IGZyZWU7CisJb21hcF9tY2JzcF93b3JkX2xlbmd0aCByeF93b3JkX2xlbmd0aDsKKwlvbWFwX21jYnNwX3dvcmRfbGVuZ3RoIHR4X3dvcmRfbGVuZ3RoOworCisJb21hcF9tY2JzcF9pb190eXBlX3QgaW9fdHlwZTsgLyogSVJRIG9yIHBvbGwgKi8KKwkvKiBJUlEgYmFzZWQgVFgvUlggKi8KKwlpbnQgcnhfaXJxOworCWludCB0eF9pcnE7CisKKwkvKiBETUEgc3R1ZmYgKi8KKwl1OCBkbWFfcnhfc3luYzsKKwlzaG9ydCBkbWFfcnhfbGNoOworCXU4IGRtYV90eF9zeW5jOworCXNob3J0IGRtYV90eF9sY2g7CisKKwkvKiBDb21wbGV0aW9uIHF1ZXVlcyAqLworCXN0cnVjdCBjb21wbGV0aW9uIHR4X2lycV9jb21wbGV0aW9uOworCXN0cnVjdCBjb21wbGV0aW9uIHJ4X2lycV9jb21wbGV0aW9uOworCXN0cnVjdCBjb21wbGV0aW9uIHR4X2RtYV9jb21wbGV0aW9uOworCXN0cnVjdCBjb21wbGV0aW9uIHJ4X2RtYV9jb21wbGV0aW9uOworCisJLyogUHJvdGVjdCB0aGUgZmllbGQgLmZyZWUsIHdoaWxlIGNoZWNraW5nIGlmIHRoZSBtY2JzcCBpcyBpbiB1c2UgKi8KKwlzcGlubG9ja190IGxvY2s7CisJc3RydWN0IG9tYXBfbWNic3BfcGxhdGZvcm1fZGF0YSAqcGRhdGE7CisJc3RydWN0IGNsayAqY2xrOworfTsKKworaW50IG9tYXBfbWNic3BfaW5pdCh2b2lkKTsKK3ZvaWQgb21hcF9tY2JzcF9yZWdpc3Rlcl9ib2FyZF9jZmcoc3RydWN0IG9tYXBfbWNic3BfcGxhdGZvcm1fZGF0YSAqY29uZmlnLAorCQkJCQlpbnQgc2l6ZSk7CiB2b2lkIG9tYXBfbWNic3BfY29uZmlnKHVuc2lnbmVkIGludCBpZCwgY29uc3Qgc3RydWN0IG9tYXBfbWNic3BfcmVnX2NmZyAqIGNvbmZpZyk7CiBpbnQgb21hcF9tY2JzcF9yZXF1ZXN0KHVuc2lnbmVkIGludCBpZCk7CiB2b2lkIG9tYXBfbWNic3BfZnJlZSh1bnNpZ25lZCBpbnQgaWQpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9vbWFwMzR4eC5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9vbWFwMzR4eC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFhMzBjNmQKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL29tYXAzNHh4LmgKQEAgLTAsMCArMSw3MiBAQAorLyoKKyAqIGluY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvb21hcDM0eHguaAorICoKKyAqIFRoaXMgZmlsZSBjb250YWlucyB0aGUgcHJvY2Vzc29yIHNwZWNpZmljIGRlZmluaXRpb25zIG9mIHRoZSBUSSBPTUFQMzRYWC4KKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDcgVGV4YXMgSW5zdHJ1bWVudHMuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDcgTm9raWEgQ29ycG9yYXRpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQorICovCisKKyNpZm5kZWYgX19BU01fQVJDSF9PTUFQMzRYWF9ICisjZGVmaW5lIF9fQVNNX0FSQ0hfT01BUDM0WFhfSAorCisvKgorICogUGxlYXNlIHBsYWNlIG9ubHkgYmFzZSBkZWZpbmVzIGhlcmUgYW5kIHB1dCB0aGUgcmVzdCBpbiBkZXZpY2UKKyAqIHNwZWNpZmljIGhlYWRlcnMuCisgKi8KKworI2RlZmluZSBMNF8zNFhYX0JBU0UJCTB4NDgwMDAwMDAKKyNkZWZpbmUgTDRfV0tfMzRYWF9CQVNFCQkweDQ4MzAwMDAwCisjZGVmaW5lIEw0X1dLX09NQVBfQkFTRQkJTDRfV0tfMzRYWF9CQVNFCisjZGVmaW5lIEw0X1BFUl8zNFhYX0JBU0UJMHg0OTAwMDAwMAorI2RlZmluZSBMNF9QRVJfT01BUF9CQVNFCUw0X1BFUl8zNFhYX0JBU0UKKyNkZWZpbmUgTDRfRU1VXzM0WFhfQkFTRQkweDU0MDAwMDAwCisjZGVmaW5lIEw0X0VNVV9CQVNFCQlMNF9FTVVfMzRYWF9CQVNFCisjZGVmaW5lIEwzXzM0WFhfQkFTRQkJMHg2ODAwMDAwMAorI2RlZmluZSBMM19PTUFQX0JBU0UJCUwzXzM0WFhfQkFTRQorCisjZGVmaW5lIE9NQVAzNDMwXzMyS1NZTkNUX0JBU0UJMHg0ODMyMDAwMAorI2RlZmluZSBPTUFQMzQzMF9DTV9CQVNFCTB4NDgwMDQ4MDAKKyNkZWZpbmUgT01BUDM0MzBfUFJNX0JBU0UJMHg0ODMwNjgwMAorI2RlZmluZSBPTUFQMzQzWF9TTVNfQkFTRQkweDZDMDAwMDAwCisjZGVmaW5lIE9NQVAzNDNYX1NEUkNfQkFTRQkweDZEMDAwMDAwCisjZGVmaW5lIE9NQVAzNFhYX0dQTUNfQkFTRQkweDZFMDAwMDAwCisjZGVmaW5lIE9NQVAzNDNYX1NDTV9CQVNFCTB4NDgwMDIwMDAKKyNkZWZpbmUgT01BUDM0M1hfQ1RSTF9CQVNFCU9NQVAzNDNYX1NDTV9CQVNFCisKKyNkZWZpbmUgT01BUDM0WFhfSUNfQkFTRQkweDQ4MjAwMDAwCisjZGVmaW5lIE9NQVAzNFhYX0lWQV9JTlRDX0JBU0UJMHg0MDAwMDAwMAorI2RlZmluZSBPTUFQMzRYWF9IU1VTQl9PVEdfQkFTRQkoTDRfMzRYWF9CQVNFICsgMHhBQjAwMCkKKyNkZWZpbmUgT01BUDM0WFhfSFNVU0JfSE9TVF9CQVNFCShMNF8zNFhYX0JBU0UgKyAweDY0MDAwKQorI2RlZmluZSBPTUFQMzRYWF9VU0JUTExfQkFTRQkoTDRfMzRYWF9CQVNFICsgMHg2MjAwMCkKKworCisjaWYgZGVmaW5lZChDT05GSUdfQVJDSF9PTUFQMzQzMCkKKworI2RlZmluZSBPTUFQMl8zMktTWU5DVF9CQVNFCQlPTUFQMzQzMF8zMktTWU5DVF9CQVNFCisjZGVmaW5lIE9NQVAyX0NNX0JBU0UJCQlPTUFQMzQzMF9DTV9CQVNFCisjZGVmaW5lIE9NQVAyX1BSTV9CQVNFCQkJT01BUDM0MzBfUFJNX0JBU0UKKyNkZWZpbmUgT01BUDJfVkFfSUNfQkFTRQkJSU9fQUREUkVTUyhPTUFQMzRYWF9JQ19CQVNFKQorCisjZW5kaWYKKworI2RlZmluZSBPTUFQMzRYWF9EU1BfQkFTRQkweDU4MDAwMDAwCisjZGVmaW5lIE9NQVAzNFhYX0RTUF9NRU1fQkFTRQkoT01BUDM0WFhfRFNQX0JBU0UgKyAweDApCisjZGVmaW5lIE9NQVAzNFhYX0RTUF9JUElfQkFTRQkoT01BUDM0WFhfRFNQX0JBU0UgKyAweDEwMDAwMDApCisjZGVmaW5lIE9NQVAzNFhYX0RTUF9NTVVfQkFTRQkoT01BUDM0WFhfRFNQX0JBU0UgKyAweDIwMDAwMDApCisjZW5kaWYgLyogX19BU01fQVJDSF9PTUFQMzRYWF9IICovCisKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvc3JhbS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9zcmFtLmgKaW5kZXggYmI5YmIzZi4uYmU1OWY0YSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9zcmFtLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9zcmFtLmgKQEAgLTExLDYgKzExLDcgQEAKICNpZm5kZWYgX19BUkNIX0FSTV9PTUFQX1NSQU1fSAogI2RlZmluZSBfX0FSQ0hfQVJNX09NQVBfU1JBTV9ICiAKK2V4dGVybiBpbnQgX19pbml0IG9tYXBfc3JhbV9pbml0KHZvaWQpOwogZXh0ZXJuIHZvaWQgKiBvbWFwX3NyYW1fcHVzaCh2b2lkICogc3RhcnQsIHVuc2lnbmVkIGxvbmcgc2l6ZSk7CiBleHRlcm4gdm9pZCBvbWFwX3NyYW1fcmVwcm9ncmFtX2Nsb2NrKHUzMiBkcGxsY3RsLCB1MzIgY2tjdGwpOwogCkBAIC0yMSwxNyArMjIsMzUgQEAKIGV4dGVybiB1MzIgb21hcDJfc2V0X3ByY20odTMyIGRwbGxfY3RybF92YWwsIHUzMiBzZHJjX3Jmcl92YWwsIGludCBieXBhc3MpOwogCiAvKiBEbyBub3QgdXNlIHRoZXNlICovCi1leHRlcm4gdm9pZCBzcmFtX3JlcHJvZ3JhbV9jbG9jayh1MzIgY2tjdGwsIHUzMiBkcGxsY3RsKTsKLWV4dGVybiB1bnNpZ25lZCBsb25nIHNyYW1fcmVwcm9ncmFtX2Nsb2NrX3N6OworZXh0ZXJuIHZvaWQgb21hcDFfc3JhbV9yZXByb2dyYW1fY2xvY2sodTMyIGNrY3RsLCB1MzIgZHBsbGN0bCk7CitleHRlcm4gdW5zaWduZWQgbG9uZyBvbWFwMV9zcmFtX3JlcHJvZ3JhbV9jbG9ja19zejsKIAotZXh0ZXJuIHZvaWQgc3JhbV9kZHJfaW5pdCh1MzIgKnNsb3dfZGxsX2N0cmwsIHUzMiBmYXN0X2RsbF9jdHJsLAotCQkJICB1MzIgYmFzZV9jcywgdTMyIGZvcmNlX3VubG9jayk7Ci1leHRlcm4gdW5zaWduZWQgbG9uZyBzcmFtX2Rkcl9pbml0X3N6OworZXh0ZXJuIHZvaWQgb21hcDI0eHhfc3JhbV9yZXByb2dyYW1fY2xvY2sodTMyIGNrY3RsLCB1MzIgZHBsbGN0bCk7CitleHRlcm4gdW5zaWduZWQgbG9uZyBvbWFwMjR4eF9zcmFtX3JlcHJvZ3JhbV9jbG9ja19zejsKIAotZXh0ZXJuIHUzMiBzcmFtX3NldF9wcmNtKHUzMiBkcGxsX2N0cmxfdmFsLCB1MzIgc2RyY19yZnJfdmFsLCBpbnQgYnlwYXNzKTsKLWV4dGVybiB1bnNpZ25lZCBsb25nIHNyYW1fc2V0X3ByY21fc3o7CitleHRlcm4gdm9pZCBvbWFwMjQyeF9zcmFtX2Rkcl9pbml0KHUzMiAqc2xvd19kbGxfY3RybCwgdTMyIGZhc3RfZGxsX2N0cmwsCisJCQkJCQl1MzIgYmFzZV9jcywgdTMyIGZvcmNlX3VubG9jayk7CitleHRlcm4gdW5zaWduZWQgbG9uZyBvbWFwMjQyeF9zcmFtX2Rkcl9pbml0X3N6OwogCi1leHRlcm4gdm9pZCBzcmFtX3JlcHJvZ3JhbV9zZHJjKHUzMiBwZXJmX2xldmVsLCB1MzIgZGxsX3ZhbCwgdTMyIG1lbV90eXBlKTsKLWV4dGVybiB1bnNpZ25lZCBsb25nIHNyYW1fcmVwcm9ncmFtX3NkcmNfc3o7CitleHRlcm4gdTMyIG9tYXAyNDJ4X3NyYW1fc2V0X3ByY20odTMyIGRwbGxfY3RybF92YWwsIHUzMiBzZHJjX3Jmcl92YWwsCisJCQkJCQlpbnQgYnlwYXNzKTsKK2V4dGVybiB1bnNpZ25lZCBsb25nIG9tYXAyNDJ4X3NyYW1fc2V0X3ByY21fc3o7CisKK2V4dGVybiB2b2lkIG9tYXAyNDJ4X3NyYW1fcmVwcm9ncmFtX3NkcmModTMyIHBlcmZfbGV2ZWwsIHUzMiBkbGxfdmFsLAorCQkJCQkJdTMyIG1lbV90eXBlKTsKK2V4dGVybiB1bnNpZ25lZCBsb25nIG9tYXAyNDJ4X3NyYW1fcmVwcm9ncmFtX3NkcmNfc3o7CisKKworZXh0ZXJuIHZvaWQgb21hcDI0M3hfc3JhbV9kZHJfaW5pdCh1MzIgKnNsb3dfZGxsX2N0cmwsIHUzMiBmYXN0X2RsbF9jdHJsLAorCQkJCQkJdTMyIGJhc2VfY3MsIHUzMiBmb3JjZV91bmxvY2spOworZXh0ZXJuIHVuc2lnbmVkIGxvbmcgb21hcDI0M3hfc3JhbV9kZHJfaW5pdF9zejsKKworZXh0ZXJuIHUzMiBvbWFwMjQzeF9zcmFtX3NldF9wcmNtKHUzMiBkcGxsX2N0cmxfdmFsLCB1MzIgc2RyY19yZnJfdmFsLAorCQkJCQkJaW50IGJ5cGFzcyk7CitleHRlcm4gdW5zaWduZWQgbG9uZyBvbWFwMjQzeF9zcmFtX3NldF9wcmNtX3N6OworCitleHRlcm4gdm9pZCBvbWFwMjQzeF9zcmFtX3JlcHJvZ3JhbV9zZHJjKHUzMiBwZXJmX2xldmVsLCB1MzIgZGxsX3ZhbCwKKwkJCQkJCXUzMiBtZW1fdHlwZSk7CitleHRlcm4gdW5zaWduZWQgbG9uZyBvbWFwMjQzeF9zcmFtX3JlcHJvZ3JhbV9zZHJjX3N6OwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvdGMuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvdGMuaAppbmRleCA4ZGVkMjE4Li42NWE5YzgyIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL3RjLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC90Yy5oCkBAIC03NSwxNiArNzUsMTQgQEAKICNpZm5kZWYJX19BU1NFTUJMRVJfXwogCiAvKiBFTUlGIFNsb3cgSW50ZXJmYWNlIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIgKi8KLSNkZWZpbmUJT01BUF9FTUlGU19DT05GSUdfUkVHCV9fUkVHMzIoRU1JRlNfQ09ORklHKQotCiAjZGVmaW5lIE9NQVBfRU1JRlNfQ09ORklHX0ZSCQkoMSA8PCA0KQogI2RlZmluZSBPTUFQX0VNSUZTX0NPTkZJR19QREUJCSgxIDw8IDMpCiAjZGVmaW5lIE9NQVBfRU1JRlNfQ09ORklHX1BXRF9FTgkoMSA8PCAyKQogI2RlZmluZSBPTUFQX0VNSUZTX0NPTkZJR19CTQkJKDEgPDwgMSkKICNkZWZpbmUgT01BUF9FTUlGU19DT05GSUdfV1AJCSgxIDw8IDApCiAKLSNkZWZpbmUgRU1JRlNfQ0NTKG4pCQlfX1JFRzMyKEVNSUZTX0NTMF9DT05GSUcgKyAoNCAqIChuKSkpCi0jZGVmaW5lIEVNSUZTX0FDUyhuKQkJX19SRUczMihFTUlGU19BQ1MwICsgKDQgKiAobikpKQorI2RlZmluZSBFTUlGU19DQ1MobikJCShFTUlGU19DUzBfQ09ORklHICsgKDQgKiAobikpKQorI2RlZmluZSBFTUlGU19BQ1MobikJCShFTUlGU19BQ1MwICsgKDQgKiAobikpKQogCiAvKiBBbG1vc3QgYWxsIGRvY3VtZW50YXRpb24gZm9yIGNoaXAgYW5kIGJvYXJkIG1lbW9yeSBtYXBzIGFzc3VtZXMKICAqIEJNIGlzIGNsZWFyLiAgTW9zdCBkZXZlbCBib2FyZHMgaGF2ZSBhIHN3aXRjaCB0byBjb250cm9sIGJvb3RpbmcKQEAgLTkzLDEzICs5MSwxMyBAQAogICovCiBzdGF0aWMgaW5saW5lIHUzMiBvbWFwX2NzMF9waHlzKHZvaWQpCiB7Ci0JcmV0dXJuIChPTUFQX0VNSUZTX0NPTkZJR19SRUcgJiBPTUFQX0VNSUZTX0NPTkZJR19CTSkKKwlyZXR1cm4gKG9tYXBfcmVhZGwoRU1JRlNfQ09ORklHKSAmIE9NQVBfRU1JRlNfQ09ORklHX0JNKQogCQkJPyAgT01BUF9DUzNfUEhZUyA6IDA7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdTMyIG9tYXBfY3MzX3BoeXModm9pZCkKIHsKLQlyZXR1cm4gKE9NQVBfRU1JRlNfQ09ORklHX1JFRyAmIE9NQVBfRU1JRlNfQ09ORklHX0JNKQorCXJldHVybiAob21hcF9yZWFkbChFTUlGU19DT05GSUcpICYgT01BUF9FTUlGU19DT05GSUdfQk0pCiAJCQk/IDAgOiBPTUFQX0NTM19QSFlTOwogfQogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL3VzYi5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC91c2IuaAppbmRleCAyMTQ3ZDE4Li5kZGYxODYxIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL3VzYi5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvdXNiLmgKQEAgLTM0LDExICszNCw4IEBACiAvKgogICogT1RHIGFuZCB0cmFuc2NlaXZlciByZWdpc3RlcnMsIGZvciBPTUFQcyBzdGFydGluZyB3aXRoIEFSTTkyNgogICovCi0jZGVmaW5lIE9UR19SRUczMihvZmZzZXQpCQlfX1JFRzMyKE9UR19CQVNFICsgKG9mZnNldCkpCi0jZGVmaW5lIE9UR19SRUcxNihvZmZzZXQpCQlfX1JFRzE2KE9UR19CQVNFICsgKG9mZnNldCkpCi0KLSNkZWZpbmUgT1RHX1JFVl9SRUcJCQlPVEdfUkVHMzIoMHgwMCkKLSNkZWZpbmUgT1RHX1NZU0NPTl8xX1JFRwkJT1RHX1JFRzMyKDB4MDQpCisjZGVmaW5lIE9UR19SRVYJCQkJKE9UR19CQVNFICsgMHgwMCkKKyNkZWZpbmUgT1RHX1NZU0NPTl8xCQkJKE9UR19CQVNFICsgMHgwNCkKICMJZGVmaW5lCSBVU0IyX1RSWF9NT0RFKHcpCSgoKHcpPj4yNCkmMHgwNykKICMJZGVmaW5lCSBVU0IxX1RSWF9NT0RFKHcpCSgoKHcpPj4yMCkmMHgwNykKICMJZGVmaW5lCSBVU0IwX1RSWF9NT0RFKHcpCSgoKHcpPj4xNikmMHgwNykKQEAgLTQ3LDcgKzQ0LDcgQEAKICMJZGVmaW5lCSBERVZfSURMRV9FTgkJKDEgPDwgMTMpCiAjCWRlZmluZQkgT1RHX1JFU0VUX0RPTkUJCSgxIDw8IDIpCiAjCWRlZmluZQkgT1RHX1NPRlRfUkVTRVQJCSgxIDw8IDEpCi0jZGVmaW5lIE9UR19TWVNDT05fMl9SRUcJCU9UR19SRUczMigweDA4KQorI2RlZmluZSBPVEdfU1lTQ09OXzIJCQkoT1RHX0JBU0UgKyAweDA4KQogIwlkZWZpbmUJIE9UR19FTgkJCSgxIDw8IDMxKQogIwlkZWZpbmUJIFVTQlhfU1lOQ0hSTwkJKDEgPDwgMzApCiAjCWRlZmluZQkgT1RHX01TVDE2CQkoMSA8PCAyOSkKQEAgLTY1LDcgKzYyLDcgQEAKICMJZGVmaW5lCSBITUNfVExMU1BFRUQJCSgxIDw8IDcpCiAjCWRlZmluZQkgSE1DX1RMTEFUVEFDSAkJKDEgPDwgNikKICMJZGVmaW5lCSBPVEdfSE1DKHcpCQkoKCh3KT4+MCkmMHgzZikKLSNkZWZpbmUgT1RHX0NUUkxfUkVHCQkJT1RHX1JFRzMyKDB4MGMpCisjZGVmaW5lIE9UR19DVFJMCQkJKE9UR19CQVNFICsgMHgwYykKICMJZGVmaW5lCSBPVEdfVVNCMl9FTgkJKDEgPDwgMjkpCiAjCWRlZmluZQkgT1RHX1VTQjJfRFAJCSgxIDw8IDI4KQogIwlkZWZpbmUJIE9UR19VU0IyX0RNCQkoMSA8PCAyNykKQEAgLTkyLDcgKzg5LDcgQEAKICMJZGVmaW5lCSBPVEdfUERfVkJVUwkJKDEgPDwgMikKICMJZGVmaW5lCSBPVEdfUFVfVkJVUwkJKDEgPDwgMSkKICMJZGVmaW5lCSBPVEdfUFVfSUQJCSgxIDw8IDApCi0jZGVmaW5lIE9UR19JUlFfRU5fUkVHCQkJT1RHX1JFRzE2KDB4MTApCisjZGVmaW5lIE9UR19JUlFfRU4JCQkoT1RHX0JBU0UgKyAweDEwKQkvKiAxNi1iaXQgKi8KICMJZGVmaW5lCSBEUklWRVJfU1dJVENICQkoMSA8PCAxNSkKICMJZGVmaW5lCSBBX1ZCVVNfRVJSCQkoMSA8PCAxMykKICMJZGVmaW5lCSBBX1JFUV9UTVJPVVQJCSgxIDw8IDEyKQpAQCAtMTAyLDkgKzk5LDkgQEAKICMJZGVmaW5lCSBCX1NSUF9ET05FCQkoMSA8PCA4KQogIwlkZWZpbmUJIEJfU1JQX1NUQVJURUQJCSgxIDw8IDcpCiAjCWRlZmluZQkgT1BSVF9DSEcJCSgxIDw8IDApCi0jZGVmaW5lIE9UR19JUlFfU1JDX1JFRwkJCU9UR19SRUcxNigweDE0KQorI2RlZmluZSBPVEdfSVJRX1NSQwkJCShPVEdfQkFTRSArIDB4MTQpCS8qIDE2LWJpdCAqLwogCS8vIHNhbWUgYml0cyBhcyBpbiBJUlFfRU4KLSNkZWZpbmUgT1RHX09VVENUUkxfUkVHCQkJT1RHX1JFRzE2KDB4MTgpCisjZGVmaW5lIE9UR19PVVRDVFJMCQkJKE9UR19CQVNFICsgMHgxOCkJLyogMTYtYml0ICovCiAjCWRlZmluZQkgT1RHVlBECQkJKDEgPDwgMTQpCiAjCWRlZmluZQkgT1RHVlBVCQkJKDEgPDwgMTMpCiAjCWRlZmluZQkgT1RHUFVJRAkJKDEgPDwgMTIpCkBAIC0xMTcsMTMgKzExNCwxMyBAQAogIwlkZWZpbmUJIFVTQjBWRFIJCSgxIDw8IDIpCiAjCWRlZmluZQkgVVNCMFBERU4JCSgxIDw8IDEpCiAjCWRlZmluZQkgVVNCMFBVRU4JCSgxIDw8IDApCi0jZGVmaW5lIE9UR19URVNUX1JFRwkJCU9UR19SRUcxNigweDIwKQotI2RlZmluZSBPVEdfVkVORE9SX0NPREVfUkVHCQlPVEdfUkVHMzIoMHhmYykKKyNkZWZpbmUgT1RHX1RFU1QJCQkoT1RHX0JBU0UgKyAweDIwKQkvKiAxNi1iaXQgKi8KKyNkZWZpbmUgT1RHX1ZFTkRPUl9DT0RFCQkJKE9UR19CQVNFICsgMHhmYykJLyogMTYtYml0ICovCiAKIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAKIC8qIE9NQVAxICovCi0jZGVmaW5lCVVTQl9UUkFOU0NFSVZFUl9DVFJMX1JFRwlfX1JFRzMyKDB4ZmZmZTEwMDAgKyAweDAwNjQpCisjZGVmaW5lCVVTQl9UUkFOU0NFSVZFUl9DVFJMCQkoMHhmZmZlMTAwMCArIDB4MDA2NCkKICMJZGVmaW5lCUNPTkZfVVNCMl9VTklfUgkJKDEgPDwgOCkKICMJZGVmaW5lCUNPTkZfVVNCMV9VTklfUgkJKDEgPDwgNykKICMJZGVmaW5lCUNPTkZfVVNCX1BPUlQwX1IoeCkJKCgoeCk+PjQpJjB4NykKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9yaW9uNXgvaW8uaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9yaW9uNXgvaW8uaAppbmRleCA1MGY4Yzg4Li41OWYxYmM5IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vcmlvbjV4L2lvLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb3Jpb241eC9pby5oCkBAIC0xNCw3ICsxNCw2IEBACiAjaW5jbHVkZSAib3Jpb241eC5oIgogCiAjZGVmaW5lIElPX1NQQUNFX0xJTUlUCQkweGZmZmZmZmZmCi0jZGVmaW5lIElPX1NQQUNFX1JFTUFQCQlPUklPTjVYX1BDSV9TWVNfSU9fQkFTRQogCiBzdGF0aWMgaW5saW5lIHZvaWQgX19pb21lbSAqCiBfX2FyY2hfaW9yZW1hcCh1bnNpZ25lZCBsb25nIHBhZGRyLCBzaXplX3Qgc2l6ZSwgdW5zaWduZWQgaW50IG10eXBlKQpAQCAtNTMsMTUgKzUyLDEyIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIEhlbHBlcnMgdG8gYWNjZXNzIE9yaW9uIHJlZ2lzdGVycwogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0jZGVmaW5lIG9yaW9uNXhfcmVhZChyKQkJX19yYXdfcmVhZGwocikKLSNkZWZpbmUgb3Jpb241eF93cml0ZShyLCB2YWwpCV9fcmF3X3dyaXRlbCh2YWwsIHIpCi0KIC8qCiAgKiBUaGVzZSBhcmUgbm90IHByZWVtcHQtc2FmZS4gIExvY2tzLCBpZiBuZWVkZWQsIG11c3QgYmUgdGFrZW4KICAqIGNhcmUgb2YgYnkgdGhlIGNhbGxlci4KICAqLwotI2RlZmluZSBvcmlvbjV4X3NldGJpdHMociwgbWFzaykJb3Jpb241eF93cml0ZSgociksIG9yaW9uNXhfcmVhZChyKSB8IChtYXNrKSkKLSNkZWZpbmUgb3Jpb241eF9jbHJiaXRzKHIsIG1hc2spCW9yaW9uNXhfd3JpdGUoKHIpLCBvcmlvbjV4X3JlYWQocikgJiB+KG1hc2spKQorI2RlZmluZSBvcmlvbjV4X3NldGJpdHMociwgbWFzaykJd3JpdGVsKHJlYWRsKHIpIHwgKG1hc2spLCAocikpCisjZGVmaW5lIG9yaW9uNXhfY2xyYml0cyhyLCBtYXNrKQl3cml0ZWwocmVhZGwocikgJiB+KG1hc2spLCAocikpCiAKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vcmlvbjV4L29yaW9uNXguaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9yaW9uNXgvb3Jpb241eC5oCmluZGV4IDIwNmRkZDcuLjEwMjU3ZjUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9yaW9uNXgvb3Jpb241eC5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9yaW9uNXgvb3Jpb241eC5oCkBAIC0yLDcgKzIsNyBAQAogICogaW5jbHVkZS9hc20tYXJtL2FyY2gtb3Jpb241eC9vcmlvbjV4LmgKICAqCiAgKiBHZW5lcmljIGRlZmluaXRpb25zIG9mIE9yaW9uIFNvQyBmbGF2b3JzOgotICogIE9yaW9uLTEsIE9yaW9uLU5BUywgT3Jpb24tVm9JUCwgYW5kIE9yaW9uLTIuCisgKiAgT3Jpb24tMSwgT3Jpb24tVm9JUCwgT3Jpb24tTkFTLCBhbmQgT3Jpb24tMi4KICAqCiAgKiBNYWludGFpbmVyOiBUemFjaGkgUGVyZWxzdGVpbiA8dHphY2hpQG1hcnZlbGwuY29tPgogICoKQEAgLTYzLDkgKzYzLDExIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogU3VwcG9ydGVkIERldmljZXMgJiBSZXZpc2lvbnMKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0vKiBPcmlvbi0xICg4OEY1MTgxKSAqLworLyogT3Jpb24tMSAoODhGNTE4MSkgYW5kIE9yaW9uLVZvSVAgKDg4RjUxODFMKSAqLwogI2RlZmluZSBNVjg4RjUxODFfREVWX0lECTB4NTE4MQogI2RlZmluZSBNVjg4RjUxODFfUkVWX0IxCTMKKyNkZWZpbmUgTVY4OEY1MTgxTF9SRVZfQTAJOAorI2RlZmluZSBNVjg4RjUxODFMX1JFVl9BMQk5CiAvKiBPcmlvbi1OQVMgKDg4RjUxODIpICovCiAjZGVmaW5lIE1WODhGNTE4Ml9ERVZfSUQJMHg1MTgyCiAjZGVmaW5lIE1WODhGNTE4Ml9SRVZfQTIJMgpAQCAtMTUyLDYgKzE1NCw3IEBACiAjZGVmaW5lIEJSSURHRV9NQVNLCQlPUklPTjVYX0JSSURHRV9SRUcoMHgxMTQpCiAjZGVmaW5lICBCUklER0VfSU5UX1RJTUVSMAkweDAwMDIKICNkZWZpbmUgIEJSSURHRV9JTlRfVElNRVIxCTB4MDAwNAorI2RlZmluZSAgQlJJREdFX0lOVF9USU1FUjFfQ0xSCSh+MHgwMDA0KQogI2RlZmluZSBNQUlOX0lSUV9DQVVTRQkJT1JJT041WF9CUklER0VfUkVHKDB4MjAwKQogI2RlZmluZSBNQUlOX0lSUV9NQVNLCQlPUklPTjVYX0JSSURHRV9SRUcoMHgyMDQpCiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9yaW9uNXgvdW5jb21wcmVzcy5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb3Jpb241eC91bmNvbXByZXNzLmgKaW5kZXggNWMxM2Q0Zi4uNzU0OGNlZCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb3Jpb241eC91bmNvbXByZXNzLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb3Jpb241eC91bmNvbXByZXNzLmgKQEAgLTgsMjMgKzgsMzggQEAKICAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KICAqLwogCisjaW5jbHVkZSA8bGludXgvc2VyaWFsX3JlZy5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL29yaW9uNXguaD4KIAotI2RlZmluZSBNVl9VQVJUX1RIUgkoKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikoVUFSVDBfUEhZU19CQVNFICsgMHgwKSkKLSNkZWZpbmUgTVZfVUFSVF9MU1IgCSgodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKShVQVJUMF9QSFlTX0JBU0UgKyAweDE0KSkKLQotI2RlZmluZSBMU1JfVEhSRQkweDIwCisjZGVmaW5lIFNFUklBTF9CQVNFCSgodW5zaWduZWQgY2hhciAqKVVBUlQwX1BIWVNfQkFTRSkKIAogc3RhdGljIHZvaWQgcHV0Yyhjb25zdCBjaGFyIGMpCiB7Ci0JaW50IGogPSAweDEwMDA7Ci0Jd2hpbGUgKC0taiAmJiAhKCpNVl9VQVJUX0xTUiAmIExTUl9USFJFKSkKKwl1bnNpZ25lZCBjaGFyICpiYXNlID0gU0VSSUFMX0JBU0U7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgMHgxMDAwOyBpKyspIHsKKwkJaWYgKGJhc2VbVUFSVF9MU1IgPDwgMl0gJiBVQVJUX0xTUl9USFJFKQorCQkJYnJlYWs7CiAJCWJhcnJpZXIoKTsKLQkqTVZfVUFSVF9USFIgPSBjOworCX0KKworCWJhc2VbVUFSVF9UWCA8PCAyXSA9IGM7CiB9CiAKIHN0YXRpYyB2b2lkIGZsdXNoKHZvaWQpCiB7CisJdW5zaWduZWQgY2hhciAqYmFzZSA9IFNFUklBTF9CQVNFOworCXVuc2lnbmVkIGNoYXIgbWFzazsKKwlpbnQgaTsKKworCW1hc2sgPSBVQVJUX0xTUl9URU1UIHwgVUFSVF9MU1JfVEhSRTsKKworCWZvciAoaSA9IDA7IGkgPCAweDEwMDA7IGkrKykgeworCQlpZiAoKGJhc2VbVUFSVF9MU1IgPDwgMl0gJiBtYXNrKSA9PSBtYXNrKQorCQkJYnJlYWs7CisJCWJhcnJpZXIoKTsKKwl9CiB9CiAKIC8qCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvYXVkaW8uaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9hdWRpby5oCmluZGV4IDUyYmJlM2IuLmY4MmY5NmQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9hdWRpby5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9hdWRpby5oCkBAIC0xMiw0ICsxMiw2IEBACiAJdm9pZCAqcHJpdjsKIH0gcHhhMnh4X2F1ZGlvX29wc190OwogCitleHRlcm4gdm9pZCBweGFfc2V0X2FjOTdfaW5mbyhweGEyeHhfYXVkaW9fb3BzX3QgKm9wcyk7CisKICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL2hhcmR3YXJlLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvaGFyZHdhcmUuaAppbmRleCBlMjU1NThmLi5kOWFmNmRhIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvaGFyZHdhcmUuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvaGFyZHdhcmUuaApAQCAtMTkyLDE1ICsxOTIsNiBAQAogZXh0ZXJuIHZvaWQgcHhhX2dwaW9fc2V0X3ZhbHVlKHVuc2lnbmVkIGdwaW8sIGludCB2YWx1ZSk7CiAKIC8qCi0gKiBSb3V0aW5lIHRvIGVuYWJsZSBvciBkaXNhYmxlIENLRU4KLSAqLwotc3RhdGljIGlubGluZSB2b2lkIF9fZGVwcmVjYXRlZCBweGFfc2V0X2NrZW4oaW50IGNsb2NrLCBpbnQgZW5hYmxlKQotewotCWV4dGVybiB2b2lkIF9fcHhhX3NldF9ja2VuKGludCBjbG9jaywgaW50IGVuYWJsZSk7Ci0JX19weGFfc2V0X2NrZW4oY2xvY2ssIGVuYWJsZSk7Ci19Ci0KLS8qCiAgKiByZXR1cm4gY3VycmVudCBtZW1vcnkgYW5kIExDRCBjbG9jayBmcmVxdWVuY3kgaW4gdW5pdHMgb2YgMTBrSHoKICAqLwogZXh0ZXJuIHVuc2lnbmVkIGludCBnZXRfbWVtY2xrX2ZyZXF1ZW5jeV8xMGtoeih2b2lkKTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9pcmRhLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvaXJkYS5oCmluZGV4IDk5ZjRmNDIuLjBhNTBjM2MgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9pcmRhLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL2lyZGEuaApAQCAtMTYsNCArMTYsOCBAQAogCiBleHRlcm4gdm9pZCBweGFfc2V0X2ZpY3BfaW5mbyhzdHJ1Y3QgcHhhZmljcF9wbGF0Zm9ybV9kYXRhICppbmZvKTsKIAorI2lmIGRlZmluZWQoQ09ORklHX1BYQTI1eCkgfHwgZGVmaW5lZChDT05GSUdfUFhBMjd4KQordm9pZCBweGEyeHhfdHJhbnNjZWl2ZXJfbW9kZShzdHJ1Y3QgZGV2aWNlICpkZXYsIGludCBtb2RlKTsKKyNlbmRpZgorCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9weGEtcmVncy5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL3B4YS1yZWdzLmgKaW5kZXggNGIyZWExZS4uZGNlOTMwOCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL3B4YS1yZWdzLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL3B4YS1yZWdzLmgKQEAgLTYwMCw0MTggKzYwMCw2IEBACiAKIAogLyoKLSAqIFVTQiBEZXZpY2UgQ29udHJvbGxlcgotICogUFhBMjV4IGFuZCBQWEEyN3ggVVNCIGRldmljZSBjb250cm9sbGVyIHJlZ2lzdGVycyBhcmUgZGlmZmVyZW50LgotICovCi0jaWYgZGVmaW5lZChDT05GSUdfUFhBMjV4KQotCi0jZGVmaW5lIFVEQ19SRVMxCV9fUkVHKDB4NDA2MDAwMDQpICAvKiBVREMgVW5kb2N1bWVudGVkIC0gUmVzZXJ2ZWQxICovCi0jZGVmaW5lIFVEQ19SRVMyCV9fUkVHKDB4NDA2MDAwMDgpICAvKiBVREMgVW5kb2N1bWVudGVkIC0gUmVzZXJ2ZWQyICovCi0jZGVmaW5lIFVEQ19SRVMzCV9fUkVHKDB4NDA2MDAwMEMpICAvKiBVREMgVW5kb2N1bWVudGVkIC0gUmVzZXJ2ZWQzICovCi0KLSNkZWZpbmUgVURDQ1IJCV9fUkVHKDB4NDA2MDAwMDApICAvKiBVREMgQ29udHJvbCBSZWdpc3RlciAqLwotI2RlZmluZSBVRENDUl9VREUJKDEgPDwgMCkJLyogVURDIGVuYWJsZSAqLwotI2RlZmluZSBVRENDUl9VREEJKDEgPDwgMSkJLyogVURDIGFjdGl2ZSAqLwotI2RlZmluZSBVRENDUl9SU00JKDEgPDwgMikJLyogRGV2aWNlIHJlc3VtZSAqLwotI2RlZmluZSBVRENDUl9SRVNJUgkoMSA8PCAzKQkvKiBSZXN1bWUgaW50ZXJydXB0IHJlcXVlc3QgKi8KLSNkZWZpbmUgVURDQ1JfU1VTSVIJKDEgPDwgNCkJLyogU3VzcGVuZCBpbnRlcnJ1cHQgcmVxdWVzdCAqLwotI2RlZmluZSBVRENDUl9TUk0JKDEgPDwgNSkJLyogU3VzcGVuZC9yZXN1bWUgaW50ZXJydXB0IG1hc2sgKi8KLSNkZWZpbmUgVURDQ1JfUlNUSVIJKDEgPDwgNikJLyogUmVzZXQgaW50ZXJydXB0IHJlcXVlc3QgKi8KLSNkZWZpbmUgVURDQ1JfUkVNCSgxIDw8IDcpCS8qIFJlc2V0IGludGVycnVwdCBtYXNrICovCi0KLSNkZWZpbmUgVURDQ1MwCQlfX1JFRygweDQwNjAwMDEwKSAgLyogVURDIEVuZHBvaW50IDAgQ29udHJvbC9TdGF0dXMgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgVURDQ1MwX09QUgkoMSA8PCAwKQkvKiBPVVQgcGFja2V0IHJlYWR5ICovCi0jZGVmaW5lIFVEQ0NTMF9JUFIJKDEgPDwgMSkJLyogSU4gcGFja2V0IHJlYWR5ICovCi0jZGVmaW5lIFVEQ0NTMF9GVEYJKDEgPDwgMikJLyogRmx1c2ggVHggRklGTyAqLwotI2RlZmluZSBVRENDUzBfRFJXRgkoMSA8PCAzKQkvKiBEZXZpY2UgcmVtb3RlIHdha2V1cCBmZWF0dXJlICovCi0jZGVmaW5lIFVEQ0NTMF9TU1QJKDEgPDwgNCkJLyogU2VudCBzdGFsbCAqLwotI2RlZmluZSBVRENDUzBfRlNUCSgxIDw8IDUpCS8qIEZvcmNlIHN0YWxsICovCi0jZGVmaW5lIFVEQ0NTMF9STkUJKDEgPDwgNikJLyogUmVjZWl2ZSBGSUZPIG5vIGVtcHR5ICovCi0jZGVmaW5lIFVEQ0NTMF9TQQkoMSA8PCA3KQkvKiBTZXR1cCBhY3RpdmUgKi8KLQotLyogQnVsayBJTiAtIEVuZHBvaW50IDEsNiwxMSAqLwotI2RlZmluZSBVRENDUzEJCV9fUkVHKDB4NDA2MDAwMTQpICAvKiBVREMgRW5kcG9pbnQgMSAoSU4pIENvbnRyb2wvU3RhdHVzIFJlZ2lzdGVyICovCi0jZGVmaW5lIFVEQ0NTNgkJX19SRUcoMHg0MDYwMDAyOCkgIC8qIFVEQyBFbmRwb2ludCA2IChJTikgQ29udHJvbC9TdGF0dXMgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgVURDQ1MxMQkJX19SRUcoMHg0MDYwMDAzQykgIC8qIFVEQyBFbmRwb2ludCAxMSAoSU4pIENvbnRyb2wvU3RhdHVzIFJlZ2lzdGVyICovCi0KLSNkZWZpbmUgVURDQ1NfQklfVEZTCSgxIDw8IDApCS8qIFRyYW5zbWl0IEZJRk8gc2VydmljZSAqLwotI2RlZmluZSBVRENDU19CSV9UUEMJKDEgPDwgMSkJLyogVHJhbnNtaXQgcGFja2V0IGNvbXBsZXRlICovCi0jZGVmaW5lIFVEQ0NTX0JJX0ZURgkoMSA8PCAyKQkvKiBGbHVzaCBUeCBGSUZPICovCi0jZGVmaW5lIFVEQ0NTX0JJX1RVUgkoMSA8PCAzKQkvKiBUcmFuc21pdCBGSUZPIHVuZGVycnVuICovCi0jZGVmaW5lIFVEQ0NTX0JJX1NTVAkoMSA8PCA0KQkvKiBTZW50IHN0YWxsICovCi0jZGVmaW5lIFVEQ0NTX0JJX0ZTVAkoMSA8PCA1KQkvKiBGb3JjZSBzdGFsbCAqLwotI2RlZmluZSBVRENDU19CSV9UU1AJKDEgPDwgNykJLyogVHJhbnNtaXQgc2hvcnQgcGFja2V0ICovCi0KLS8qIEJ1bGsgT1VUIC0gRW5kcG9pbnQgMiw3LDEyICovCi0jZGVmaW5lIFVEQ0NTMgkJX19SRUcoMHg0MDYwMDAxOCkgIC8qIFVEQyBFbmRwb2ludCAyIChPVVQpIENvbnRyb2wvU3RhdHVzIFJlZ2lzdGVyICovCi0jZGVmaW5lIFVEQ0NTNwkJX19SRUcoMHg0MDYwMDAyQykgIC8qIFVEQyBFbmRwb2ludCA3IChPVVQpIENvbnRyb2wvU3RhdHVzIFJlZ2lzdGVyICovCi0jZGVmaW5lIFVEQ0NTMTIJCV9fUkVHKDB4NDA2MDAwNDApICAvKiBVREMgRW5kcG9pbnQgMTIgKE9VVCkgQ29udHJvbC9TdGF0dXMgUmVnaXN0ZXIgKi8KLQotI2RlZmluZSBVRENDU19CT19SRlMJKDEgPDwgMCkJLyogUmVjZWl2ZSBGSUZPIHNlcnZpY2UgKi8KLSNkZWZpbmUgVURDQ1NfQk9fUlBDCSgxIDw8IDEpCS8qIFJlY2VpdmUgcGFja2V0IGNvbXBsZXRlICovCi0jZGVmaW5lIFVEQ0NTX0JPX0RNRQkoMSA8PCAzKQkvKiBETUEgZW5hYmxlICovCi0jZGVmaW5lIFVEQ0NTX0JPX1NTVAkoMSA8PCA0KQkvKiBTZW50IHN0YWxsICovCi0jZGVmaW5lIFVEQ0NTX0JPX0ZTVAkoMSA8PCA1KQkvKiBGb3JjZSBzdGFsbCAqLwotI2RlZmluZSBVRENDU19CT19STkUJKDEgPDwgNikJLyogUmVjZWl2ZSBGSUZPIG5vdCBlbXB0eSAqLwotI2RlZmluZSBVRENDU19CT19SU1AJKDEgPDwgNykJLyogUmVjZWl2ZSBzaG9ydCBwYWNrZXQgKi8KLQotLyogSXNvY2hyb25vdXMgSU4gLSBFbmRwb2ludCAzLDgsMTMgKi8KLSNkZWZpbmUgVURDQ1MzCQlfX1JFRygweDQwNjAwMDFDKSAgLyogVURDIEVuZHBvaW50IDMgKElOKSBDb250cm9sL1N0YXR1cyBSZWdpc3RlciAqLwotI2RlZmluZSBVRENDUzgJCV9fUkVHKDB4NDA2MDAwMzApICAvKiBVREMgRW5kcG9pbnQgOCAoSU4pIENvbnRyb2wvU3RhdHVzIFJlZ2lzdGVyICovCi0jZGVmaW5lIFVEQ0NTMTMJCV9fUkVHKDB4NDA2MDAwNDQpICAvKiBVREMgRW5kcG9pbnQgMTMgKElOKSBDb250cm9sL1N0YXR1cyBSZWdpc3RlciAqLwotCi0jZGVmaW5lIFVEQ0NTX0lJX1RGUwkoMSA8PCAwKQkvKiBUcmFuc21pdCBGSUZPIHNlcnZpY2UgKi8KLSNkZWZpbmUgVURDQ1NfSUlfVFBDCSgxIDw8IDEpCS8qIFRyYW5zbWl0IHBhY2tldCBjb21wbGV0ZSAqLwotI2RlZmluZSBVRENDU19JSV9GVEYJKDEgPDwgMikJLyogRmx1c2ggVHggRklGTyAqLwotI2RlZmluZSBVRENDU19JSV9UVVIJKDEgPDwgMykJLyogVHJhbnNtaXQgRklGTyB1bmRlcnJ1biAqLwotI2RlZmluZSBVRENDU19JSV9UU1AJKDEgPDwgNykJLyogVHJhbnNtaXQgc2hvcnQgcGFja2V0ICovCi0KLS8qIElzb2Nocm9ub3VzIE9VVCAtIEVuZHBvaW50IDQsOSwxNCAqLwotI2RlZmluZSBVRENDUzQJCV9fUkVHKDB4NDA2MDAwMjApICAvKiBVREMgRW5kcG9pbnQgNCAoT1VUKSBDb250cm9sL1N0YXR1cyBSZWdpc3RlciAqLwotI2RlZmluZSBVRENDUzkJCV9fUkVHKDB4NDA2MDAwMzQpICAvKiBVREMgRW5kcG9pbnQgOSAoT1VUKSBDb250cm9sL1N0YXR1cyBSZWdpc3RlciAqLwotI2RlZmluZSBVRENDUzE0CQlfX1JFRygweDQwNjAwMDQ4KSAgLyogVURDIEVuZHBvaW50IDE0IChPVVQpIENvbnRyb2wvU3RhdHVzIFJlZ2lzdGVyICovCi0KLSNkZWZpbmUgVURDQ1NfSU9fUkZTCSgxIDw8IDApCS8qIFJlY2VpdmUgRklGTyBzZXJ2aWNlICovCi0jZGVmaW5lIFVEQ0NTX0lPX1JQQwkoMSA8PCAxKQkvKiBSZWNlaXZlIHBhY2tldCBjb21wbGV0ZSAqLwotI2RlZmluZSBVRENDU19JT19ST0YJKDEgPDwgMikJLyogUmVjZWl2ZSBvdmVyZmxvdyAqLwotI2RlZmluZSBVRENDU19JT19ETUUJKDEgPDwgMykJLyogRE1BIGVuYWJsZSAqLwotI2RlZmluZSBVRENDU19JT19STkUJKDEgPDwgNikJLyogUmVjZWl2ZSBGSUZPIG5vdCBlbXB0eSAqLwotI2RlZmluZSBVRENDU19JT19SU1AJKDEgPDwgNykJLyogUmVjZWl2ZSBzaG9ydCBwYWNrZXQgKi8KLQotLyogSW50ZXJydXB0IElOIC0gRW5kcG9pbnQgNSwxMCwxNSAqLwotI2RlZmluZSBVRENDUzUJCV9fUkVHKDB4NDA2MDAwMjQpICAvKiBVREMgRW5kcG9pbnQgNSAoSW50ZXJydXB0KSBDb250cm9sL1N0YXR1cyBSZWdpc3RlciAqLwotI2RlZmluZSBVRENDUzEwCQlfX1JFRygweDQwNjAwMDM4KSAgLyogVURDIEVuZHBvaW50IDEwIChJbnRlcnJ1cHQpIENvbnRyb2wvU3RhdHVzIFJlZ2lzdGVyICovCi0jZGVmaW5lIFVEQ0NTMTUJCV9fUkVHKDB4NDA2MDAwNEMpICAvKiBVREMgRW5kcG9pbnQgMTUgKEludGVycnVwdCkgQ29udHJvbC9TdGF0dXMgUmVnaXN0ZXIgKi8KLQotI2RlZmluZSBVRENDU19JTlRfVEZTCSgxIDw8IDApCS8qIFRyYW5zbWl0IEZJRk8gc2VydmljZSAqLwotI2RlZmluZSBVRENDU19JTlRfVFBDCSgxIDw8IDEpCS8qIFRyYW5zbWl0IHBhY2tldCBjb21wbGV0ZSAqLwotI2RlZmluZSBVRENDU19JTlRfRlRGCSgxIDw8IDIpCS8qIEZsdXNoIFR4IEZJRk8gKi8KLSNkZWZpbmUgVURDQ1NfSU5UX1RVUgkoMSA8PCAzKQkvKiBUcmFuc21pdCBGSUZPIHVuZGVycnVuICovCi0jZGVmaW5lIFVEQ0NTX0lOVF9TU1QJKDEgPDwgNCkJLyogU2VudCBzdGFsbCAqLwotI2RlZmluZSBVRENDU19JTlRfRlNUCSgxIDw8IDUpCS8qIEZvcmNlIHN0YWxsICovCi0jZGVmaW5lIFVEQ0NTX0lOVF9UU1AJKDEgPDwgNykJLyogVHJhbnNtaXQgc2hvcnQgcGFja2V0ICovCi0KLSNkZWZpbmUgVUZOUkgJCV9fUkVHKDB4NDA2MDAwNjApICAvKiBVREMgRnJhbWUgTnVtYmVyIFJlZ2lzdGVyIEhpZ2ggKi8KLSNkZWZpbmUgVUZOUkwJCV9fUkVHKDB4NDA2MDAwNjQpICAvKiBVREMgRnJhbWUgTnVtYmVyIFJlZ2lzdGVyIExvdyAqLwotI2RlZmluZSBVQkNSMgkJX19SRUcoMHg0MDYwMDA2OCkgIC8qIFVEQyBCeXRlIENvdW50IFJlZyAyICovCi0jZGVmaW5lIFVCQ1I0CQlfX1JFRygweDQwNjAwMDZjKSAgLyogVURDIEJ5dGUgQ291bnQgUmVnIDQgKi8KLSNkZWZpbmUgVUJDUjcJCV9fUkVHKDB4NDA2MDAwNzApICAvKiBVREMgQnl0ZSBDb3VudCBSZWcgNyAqLwotI2RlZmluZSBVQkNSOQkJX19SRUcoMHg0MDYwMDA3NCkgIC8qIFVEQyBCeXRlIENvdW50IFJlZyA5ICovCi0jZGVmaW5lIFVCQ1IxMgkJX19SRUcoMHg0MDYwMDA3OCkgIC8qIFVEQyBCeXRlIENvdW50IFJlZyAxMiAqLwotI2RlZmluZSBVQkNSMTQJCV9fUkVHKDB4NDA2MDAwN2MpICAvKiBVREMgQnl0ZSBDb3VudCBSZWcgMTQgKi8KLSNkZWZpbmUgVUREUjAJCV9fUkVHKDB4NDA2MDAwODApICAvKiBVREMgRW5kcG9pbnQgMCBEYXRhIFJlZ2lzdGVyICovCi0jZGVmaW5lIFVERFIxCQlfX1JFRygweDQwNjAwMTAwKSAgLyogVURDIEVuZHBvaW50IDEgRGF0YSBSZWdpc3RlciAqLwotI2RlZmluZSBVRERSMgkJX19SRUcoMHg0MDYwMDE4MCkgIC8qIFVEQyBFbmRwb2ludCAyIERhdGEgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgVUREUjMJCV9fUkVHKDB4NDA2MDAyMDApICAvKiBVREMgRW5kcG9pbnQgMyBEYXRhIFJlZ2lzdGVyICovCi0jZGVmaW5lIFVERFI0CQlfX1JFRygweDQwNjAwNDAwKSAgLyogVURDIEVuZHBvaW50IDQgRGF0YSBSZWdpc3RlciAqLwotI2RlZmluZSBVRERSNQkJX19SRUcoMHg0MDYwMDBBMCkgIC8qIFVEQyBFbmRwb2ludCA1IERhdGEgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgVUREUjYJCV9fUkVHKDB4NDA2MDA2MDApICAvKiBVREMgRW5kcG9pbnQgNiBEYXRhIFJlZ2lzdGVyICovCi0jZGVmaW5lIFVERFI3CQlfX1JFRygweDQwNjAwNjgwKSAgLyogVURDIEVuZHBvaW50IDcgRGF0YSBSZWdpc3RlciAqLwotI2RlZmluZSBVRERSOAkJX19SRUcoMHg0MDYwMDcwMCkgIC8qIFVEQyBFbmRwb2ludCA4IERhdGEgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgVUREUjkJCV9fUkVHKDB4NDA2MDA5MDApICAvKiBVREMgRW5kcG9pbnQgOSBEYXRhIFJlZ2lzdGVyICovCi0jZGVmaW5lIFVERFIxMAkJX19SRUcoMHg0MDYwMDBDMCkgIC8qIFVEQyBFbmRwb2ludCAxMCBEYXRhIFJlZ2lzdGVyICovCi0jZGVmaW5lIFVERFIxMQkJX19SRUcoMHg0MDYwMEIwMCkgIC8qIFVEQyBFbmRwb2ludCAxMSBEYXRhIFJlZ2lzdGVyICovCi0jZGVmaW5lIFVERFIxMgkJX19SRUcoMHg0MDYwMEI4MCkgIC8qIFVEQyBFbmRwb2ludCAxMiBEYXRhIFJlZ2lzdGVyICovCi0jZGVmaW5lIFVERFIxMwkJX19SRUcoMHg0MDYwMEMwMCkgIC8qIFVEQyBFbmRwb2ludCAxMyBEYXRhIFJlZ2lzdGVyICovCi0jZGVmaW5lIFVERFIxNAkJX19SRUcoMHg0MDYwMEUwMCkgIC8qIFVEQyBFbmRwb2ludCAxNCBEYXRhIFJlZ2lzdGVyICovCi0jZGVmaW5lIFVERFIxNQkJX19SRUcoMHg0MDYwMDBFMCkgIC8qIFVEQyBFbmRwb2ludCAxNSBEYXRhIFJlZ2lzdGVyICovCi0KLSNkZWZpbmUgVUlDUjAJCV9fUkVHKDB4NDA2MDAwNTApICAvKiBVREMgSW50ZXJydXB0IENvbnRyb2wgUmVnaXN0ZXIgMCAqLwotCi0jZGVmaW5lIFVJQ1IwX0lNMAkoMSA8PCAwKQkvKiBJbnRlcnJ1cHQgbWFzayBlcCAwICovCi0jZGVmaW5lIFVJQ1IwX0lNMQkoMSA8PCAxKQkvKiBJbnRlcnJ1cHQgbWFzayBlcCAxICovCi0jZGVmaW5lIFVJQ1IwX0lNMgkoMSA8PCAyKQkvKiBJbnRlcnJ1cHQgbWFzayBlcCAyICovCi0jZGVmaW5lIFVJQ1IwX0lNMwkoMSA8PCAzKQkvKiBJbnRlcnJ1cHQgbWFzayBlcCAzICovCi0jZGVmaW5lIFVJQ1IwX0lNNAkoMSA8PCA0KQkvKiBJbnRlcnJ1cHQgbWFzayBlcCA0ICovCi0jZGVmaW5lIFVJQ1IwX0lNNQkoMSA8PCA1KQkvKiBJbnRlcnJ1cHQgbWFzayBlcCA1ICovCi0jZGVmaW5lIFVJQ1IwX0lNNgkoMSA8PCA2KQkvKiBJbnRlcnJ1cHQgbWFzayBlcCA2ICovCi0jZGVmaW5lIFVJQ1IwX0lNNwkoMSA8PCA3KQkvKiBJbnRlcnJ1cHQgbWFzayBlcCA3ICovCi0KLSNkZWZpbmUgVUlDUjEJCV9fUkVHKDB4NDA2MDAwNTQpICAvKiBVREMgSW50ZXJydXB0IENvbnRyb2wgUmVnaXN0ZXIgMSAqLwotCi0jZGVmaW5lIFVJQ1IxX0lNOAkoMSA8PCAwKQkvKiBJbnRlcnJ1cHQgbWFzayBlcCA4ICovCi0jZGVmaW5lIFVJQ1IxX0lNOQkoMSA8PCAxKQkvKiBJbnRlcnJ1cHQgbWFzayBlcCA5ICovCi0jZGVmaW5lIFVJQ1IxX0lNMTAJKDEgPDwgMikJLyogSW50ZXJydXB0IG1hc2sgZXAgMTAgKi8KLSNkZWZpbmUgVUlDUjFfSU0xMQkoMSA8PCAzKQkvKiBJbnRlcnJ1cHQgbWFzayBlcCAxMSAqLwotI2RlZmluZSBVSUNSMV9JTTEyCSgxIDw8IDQpCS8qIEludGVycnVwdCBtYXNrIGVwIDEyICovCi0jZGVmaW5lIFVJQ1IxX0lNMTMJKDEgPDwgNSkJLyogSW50ZXJydXB0IG1hc2sgZXAgMTMgKi8KLSNkZWZpbmUgVUlDUjFfSU0xNAkoMSA8PCA2KQkvKiBJbnRlcnJ1cHQgbWFzayBlcCAxNCAqLwotI2RlZmluZSBVSUNSMV9JTTE1CSgxIDw8IDcpCS8qIEludGVycnVwdCBtYXNrIGVwIDE1ICovCi0KLSNkZWZpbmUgVVNJUjAJCV9fUkVHKDB4NDA2MDAwNTgpICAvKiBVREMgU3RhdHVzIEludGVycnVwdCBSZWdpc3RlciAwICovCi0KLSNkZWZpbmUgVVNJUjBfSVIwCSgxIDw8IDApCS8qIEludGVycnVwdCByZXF1ZXN0IGVwIDAgKi8KLSNkZWZpbmUgVVNJUjBfSVIxCSgxIDw8IDEpCS8qIEludGVycnVwdCByZXF1ZXN0IGVwIDEgKi8KLSNkZWZpbmUgVVNJUjBfSVIyCSgxIDw8IDIpCS8qIEludGVycnVwdCByZXF1ZXN0IGVwIDIgKi8KLSNkZWZpbmUgVVNJUjBfSVIzCSgxIDw8IDMpCS8qIEludGVycnVwdCByZXF1ZXN0IGVwIDMgKi8KLSNkZWZpbmUgVVNJUjBfSVI0CSgxIDw8IDQpCS8qIEludGVycnVwdCByZXF1ZXN0IGVwIDQgKi8KLSNkZWZpbmUgVVNJUjBfSVI1CSgxIDw8IDUpCS8qIEludGVycnVwdCByZXF1ZXN0IGVwIDUgKi8KLSNkZWZpbmUgVVNJUjBfSVI2CSgxIDw8IDYpCS8qIEludGVycnVwdCByZXF1ZXN0IGVwIDYgKi8KLSNkZWZpbmUgVVNJUjBfSVI3CSgxIDw8IDcpCS8qIEludGVycnVwdCByZXF1ZXN0IGVwIDcgKi8KLQotI2RlZmluZSBVU0lSMQkJX19SRUcoMHg0MDYwMDA1QykgIC8qIFVEQyBTdGF0dXMgSW50ZXJydXB0IFJlZ2lzdGVyIDEgKi8KLQotI2RlZmluZSBVU0lSMV9JUjgJKDEgPDwgMCkJLyogSW50ZXJydXB0IHJlcXVlc3QgZXAgOCAqLwotI2RlZmluZSBVU0lSMV9JUjkJKDEgPDwgMSkJLyogSW50ZXJydXB0IHJlcXVlc3QgZXAgOSAqLwotI2RlZmluZSBVU0lSMV9JUjEwCSgxIDw8IDIpCS8qIEludGVycnVwdCByZXF1ZXN0IGVwIDEwICovCi0jZGVmaW5lIFVTSVIxX0lSMTEJKDEgPDwgMykJLyogSW50ZXJydXB0IHJlcXVlc3QgZXAgMTEgKi8KLSNkZWZpbmUgVVNJUjFfSVIxMgkoMSA8PCA0KQkvKiBJbnRlcnJ1cHQgcmVxdWVzdCBlcCAxMiAqLwotI2RlZmluZSBVU0lSMV9JUjEzCSgxIDw8IDUpCS8qIEludGVycnVwdCByZXF1ZXN0IGVwIDEzICovCi0jZGVmaW5lIFVTSVIxX0lSMTQJKDEgPDwgNikJLyogSW50ZXJydXB0IHJlcXVlc3QgZXAgMTQgKi8KLSNkZWZpbmUgVVNJUjFfSVIxNQkoMSA8PCA3KQkvKiBJbnRlcnJ1cHQgcmVxdWVzdCBlcCAxNSAqLwotCi0jZWxpZiBkZWZpbmVkKENPTkZJR19QWEEyN3gpCi0KLSNkZWZpbmUgVURDQ1IgICAgICAgICAgIF9fUkVHKDB4NDA2MDAwMDApIC8qIFVEQyBDb250cm9sIFJlZ2lzdGVyICovCi0jZGVmaW5lIFVEQ0NSX09FTgkoMSA8PCAzMSkJLyogT24tdGhlLUdvIEVuYWJsZSAqLwotI2RlZmluZSBVRENDUl9BQUxUSE5QCSgxIDw8IDMwKQkvKiBBLWRldmljZSBBbHRlcm5hdGUgSG9zdCBOZWdvdGlhdGlvbgotCQkJCQkgICBQcm90b2NvbCBQb3J0IFN1cHBvcnQgKi8KLSNkZWZpbmUgVURDQ1JfQUhOUAkoMSA8PCAyOSkJLyogQS1kZXZpY2UgSG9zdCBOZWdvdGlhdGlvbiBQcm90b2NvbAotCQkJCQkgICBTdXBwb3J0ICovCi0jZGVmaW5lIFVEQ0NSX0JITlAJKDEgPDwgMjgpCS8qIEItZGV2aWNlIEhvc3QgTmVnb3RpYXRpb24gUHJvdG9jb2wKLQkJCQkJICAgRW5hYmxlICovCi0jZGVmaW5lIFVEQ0NSX0RXUkUJKDEgPDwgMTYpCS8qIERldmljZSBSZW1vdGUgV2FrZS11cCBFbmFibGUgKi8KLSNkZWZpbmUgVURDQ1JfQUNOCSgweDAzIDw8IDExKQkvKiBBY3RpdmUgVURDIGNvbmZpZ3VyYXRpb24gTnVtYmVyICovCi0jZGVmaW5lIFVEQ0NSX0FDTl9TCTExCi0jZGVmaW5lIFVEQ0NSX0FJTgkoMHgwNyA8PCA4KQkvKiBBY3RpdmUgVURDIGludGVyZmFjZSBOdW1iZXIgKi8KLSNkZWZpbmUgVURDQ1JfQUlOX1MJOAotI2RlZmluZSBVRENDUl9BQUlTTgkoMHgwNyA8PCA1KQkvKiBBY3RpdmUgVURDIEFsdGVybmF0ZSBJbnRlcmZhY2UKLQkJCQkJICAgU2V0dGluZyBOdW1iZXIgKi8KLSNkZWZpbmUgVURDQ1JfQUFJU05fUwk1Ci0jZGVmaW5lIFVEQ0NSX1NNQUMJKDEgPDwgNCkJLyogU3dpdGNoIEVuZHBvaW50IE1lbW9yeSB0byBBY3RpdmUKLQkJCQkJICAgQ29uZmlndXJhdGlvbiAqLwotI2RlZmluZSBVRENDUl9FTUNFCSgxIDw8IDMpCS8qIEVuZHBvaW50IE1lbW9yeSBDb25maWd1cmF0aW9uCi0JCQkJCSAgIEVycm9yICovCi0jZGVmaW5lIFVEQ0NSX1VEUgkoMSA8PCAyKQkvKiBVREMgUmVzdW1lICovCi0jZGVmaW5lIFVEQ0NSX1VEQQkoMSA8PCAxKQkvKiBVREMgQWN0aXZlICovCi0jZGVmaW5lIFVEQ0NSX1VERQkoMSA8PCAwKQkvKiBVREMgRW5hYmxlICovCi0KLSNkZWZpbmUgVURDSUNSMCAgICAgICAgIF9fUkVHKDB4NDA2MDAwMDQpIC8qIFVEQyBJbnRlcnJ1cHQgQ29udHJvbCBSZWdpc3RlcjAgKi8KLSNkZWZpbmUgVURDSUNSMSAgICAgICAgIF9fUkVHKDB4NDA2MDAwMDgpIC8qIFVEQyBJbnRlcnJ1cHQgQ29udHJvbCBSZWdpc3RlcjEgKi8KLSNkZWZpbmUgVURDSUNSX0ZJRk9FUlIJKDEgPDwgMSkJLyogRklGTyBFcnJvciBpbnRlcnJ1cHQgZm9yIEVQICovCi0jZGVmaW5lIFVEQ0lDUl9QS1RDT01QTCAoMSA8PCAwKQkvKiBQYWNrZXQgQ29tcGxldGUgaW50ZXJydXB0IGZvciBFUCAqLwotCi0jZGVmaW5lIFVEQ19JTlRfRklGT0VSUk9SICAoMHgyKQotI2RlZmluZSBVRENfSU5UX1BBQ0tFVENNUCAgKDB4MSkKLQotI2RlZmluZSBVRENJQ1JfSU5UKG4saW50cikgKCgoaW50cikgJiAweDAzKSA8PCAoKChuKSAmIDB4MEYpICogMikpCi0jZGVmaW5lIFVEQ0lDUjFfSUVDQwkoMSA8PCAzMSkJLyogSW50RW4gLSBDb25maWd1cmF0aW9uIENoYW5nZSAqLwotI2RlZmluZSBVRENJQ1IxX0lFU09GCSgxIDw8IDMwKQkvKiBJbnRFbiAtIFN0YXJ0IG9mIEZyYW1lICovCi0jZGVmaW5lIFVEQ0lDUjFfSUVSVQkoMSA8PCAyOSkJLyogSW50RW4gLSBSZXN1bWUgKi8KLSNkZWZpbmUgVURDSUNSMV9JRVNVCSgxIDw8IDI4KQkvKiBJbnRFbiAtIFN1c3BlbmQgKi8KLSNkZWZpbmUgVURDSUNSMV9JRVJTCSgxIDw8IDI3KQkvKiBJbnRFbiAtIFJlc2V0ICovCi0KLSNkZWZpbmUgVURDSVNSMCAgICAgICAgIF9fUkVHKDB4NDA2MDAwMEMpIC8qIFVEQyBJbnRlcnJ1cHQgU3RhdHVzIFJlZ2lzdGVyIDAgKi8KLSNkZWZpbmUgVURDSVNSMSAgICAgICAgIF9fUkVHKDB4NDA2MDAwMTApIC8qIFVEQyBJbnRlcnJ1cHQgU3RhdHVzIFJlZ2lzdGVyIDEgKi8KLSNkZWZpbmUgVURDSVNSX0lOVChuLGludHIpICgoKGludHIpICYgMHgwMykgPDwgKCgobikgJiAweDBGKSAqIDIpKQotI2RlZmluZSBVRENJU1IxX0lSQ0MJKDEgPDwgMzEpCS8qIEludFJlcSAtIENvbmZpZ3VyYXRpb24gQ2hhbmdlICovCi0jZGVmaW5lIFVEQ0lTUjFfSVJTT0YJKDEgPDwgMzApCS8qIEludFJlcSAtIFN0YXJ0IG9mIEZyYW1lICovCi0jZGVmaW5lIFVEQ0lTUjFfSVJSVQkoMSA8PCAyOSkJLyogSW50UmVxIC0gUmVzdW1lICovCi0jZGVmaW5lIFVEQ0lTUjFfSVJTVQkoMSA8PCAyOCkJLyogSW50UmVxIC0gU3VzcGVuZCAqLwotI2RlZmluZSBVRENJU1IxX0lSUlMJKDEgPDwgMjcpCS8qIEludFJlcSAtIFJlc2V0ICovCi0KLSNkZWZpbmUgVURDRk5SICAgICAgICAgIF9fUkVHKDB4NDA2MDAwMTQpIC8qIFVEQyBGcmFtZSBOdW1iZXIgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgVURDT1RHSUNSCV9fUkVHKDB4NDA2MDAwMTgpIC8qIFVEQyBPbi1UaGUtR28gaW50ZXJydXB0IGNvbnRyb2wgKi8KLSNkZWZpbmUgVURDT1RHSUNSX0lFU0YJKDEgPDwgMjQpCS8qIE9URyBTRVRfRkVBVFVSRSBjb21tYW5kIHJlY3ZkICovCi0jZGVmaW5lIFVEQ09UR0lDUl9JRVhSCSgxIDw8IDE3KQkvKiBFeHRyYSBUcmFuc2NpZXZlciBJbnRlcnJ1cHQKLQkJCQkJICAgUmlzaW5nIEVkZ2UgSW50ZXJydXB0IEVuYWJsZSAqLwotI2RlZmluZSBVRENPVEdJQ1JfSUVYRgkoMSA8PCAxNikJLyogRXh0cmEgVHJhbnNjaWV2ZXIgSW50ZXJydXB0Ci0JCQkJCSAgIEZhbGxpbmcgRWRnZSBJbnRlcnJ1cHQgRW5hYmxlICovCi0jZGVmaW5lIFVEQ09UR0lDUl9JRVZWNDBSICgxIDw8IDkpCS8qIE9URyBWYnVzIFZhbGlkIDQuMFYgUmlzaW5nIEVkZ2UKLQkJCQkJICAgSW50ZXJydXB0IEVuYWJsZSAqLwotI2RlZmluZSBVRENPVEdJQ1JfSUVWVjQwRiAoMSA8PCA4KQkvKiBPVEcgVmJ1cyBWYWxpZCA0LjBWIEZhbGxpbmcgRWRnZQotCQkJCQkgICBJbnRlcnJ1cHQgRW5hYmxlICovCi0jZGVmaW5lIFVEQ09UR0lDUl9JRVZWNDRSICgxIDw8IDcpCS8qIE9URyBWYnVzIFZhbGlkIDQuNFYgUmlzaW5nIEVkZ2UKLQkJCQkJICAgSW50ZXJydXB0IEVuYWJsZSAqLwotI2RlZmluZSBVRENPVEdJQ1JfSUVWVjQ0RiAoMSA8PCA2KQkvKiBPVEcgVmJ1cyBWYWxpZCA0LjRWIEZhbGxpbmcgRWRnZQotCQkJCQkgICBJbnRlcnJ1cHQgRW5hYmxlICovCi0jZGVmaW5lIFVEQ09UR0lDUl9JRVNWUgkoMSA8PCA1KQkvKiBPVEcgU2Vzc2lvbiBWYWxpZCBSaXNpbmcgRWRnZQotCQkJCQkgICBJbnRlcnJ1cHQgRW5hYmxlICovCi0jZGVmaW5lIFVEQ09UR0lDUl9JRVNWRgkoMSA8PCA0KQkvKiBPVEcgU2Vzc2lvbiBWYWxpZCBGYWxsaW5nIEVkZ2UKLQkJCQkJICAgSW50ZXJydXB0IEVuYWJsZSAqLwotI2RlZmluZSBVRENPVEdJQ1JfSUVTRFIJKDEgPDwgMykJLyogT1RHIEEtRGV2aWNlIFNSUCBEZXRlY3QgUmlzaW5nCi0JCQkJCSAgIEVkZ2UgSW50ZXJydXB0IEVuYWJsZSAqLwotI2RlZmluZSBVRENPVEdJQ1JfSUVTREYJKDEgPDwgMikJLyogT1RHIEEtRGV2aWNlIFNSUCBEZXRlY3QgRmFsbGluZwotCQkJCQkgICBFZGdlIEludGVycnVwdCBFbmFibGUgKi8KLSNkZWZpbmUgVURDT1RHSUNSX0lFSURSCSgxIDw8IDEpCS8qIE9URyBJRCBDaGFuZ2UgUmlzaW5nIEVkZ2UKLQkJCQkJICAgSW50ZXJydXB0IEVuYWJsZSAqLwotI2RlZmluZSBVRENPVEdJQ1JfSUVJREYJKDEgPDwgMCkJLyogT1RHIElEIENoYW5nZSBGYWxsaW5nIEVkZ2UKLQkJCQkJICAgSW50ZXJydXB0IEVuYWJsZSAqLwotCi0jZGVmaW5lIFVQMk9DUgkJICBfX1JFRygweDQwNjAwMDIwKSAgLyogVVNCIFBvcnQgMiBPdXRwdXQgQ29udHJvbCByZWdpc3RlciAqLwotCi0jZGVmaW5lIFVQMk9DUl9DUFZFTgkoMSA8PCAwKQkvKiBDaGFyZ2UgUHVtcCBWYnVzIEVuYWJsZSAqLwotI2RlZmluZSBVUDJPQ1JfQ1BWUEUJKDEgPDwgMSkJLyogQ2hhcmdlIFB1bXAgVmJ1cyBQdWxzZSBFbmFibGUgKi8KLSNkZWZpbmUgVVAyT0NSX0RQUERFCSgxIDw8IDIpCS8qIEhvc3QgUG9ydCAyIFRyYW5zY2VpdmVyIEQrIFB1bGwgRG93biBFbmFibGUgKi8KLSNkZWZpbmUgVVAyT0NSX0RNUERFCSgxIDw8IDMpCS8qIEhvc3QgUG9ydCAyIFRyYW5zY2VpdmVyIEQtIFB1bGwgRG93biBFbmFibGUgKi8KLSNkZWZpbmUgVVAyT0NSX0RQUFVFCSgxIDw8IDQpCS8qIEhvc3QgUG9ydCAyIFRyYW5zY2VpdmVyIEQrIFB1bGwgVXAgRW5hYmxlICovCi0jZGVmaW5lIFVQMk9DUl9ETVBVRQkoMSA8PCA1KQkvKiBIb3N0IFBvcnQgMiBUcmFuc2NlaXZlciBELSBQdWxsIFVwIEVuYWJsZSAqLwotI2RlZmluZSBVUDJPQ1JfRFBQVUJFCSgxIDw8IDYpCS8qIEhvc3QgUG9ydCAyIFRyYW5zY2VpdmVyIEQrIFB1bGwgVXAgQnlwYXNzIEVuYWJsZSAqLwotI2RlZmluZSBVUDJPQ1JfRE1QVUJFCSgxIDw8IDcpCS8qIEhvc3QgUG9ydCAyIFRyYW5zY2VpdmVyIEQtIFB1bGwgVXAgQnlwYXNzIEVuYWJsZSAqLwotI2RlZmluZSBVUDJPQ1JfRVhTUAkJKDEgPDwgOCkJLyogRXh0ZXJuYWwgVHJhbnNjZWl2ZXIgU3BlZWQgQ29udHJvbCAqLwotI2RlZmluZSBVUDJPQ1JfRVhTVVMJKDEgPDwgOSkJLyogRXh0ZXJuYWwgVHJhbnNjZWl2ZXIgU3BlZWQgRW5hYmxlICovCi0jZGVmaW5lIFVQMk9DUl9JRE9OCQkoMSA8PCAxMCkJLyogT1RHIElEIFJlYWQgRW5hYmxlICovCi0jZGVmaW5lIFVQMk9DUl9IWFMJCSgxIDw8IDE2KQkvKiBIb3N0IFBvcnQgMiBUcmFuc2NlaXZlciBPdXRwdXQgU2VsZWN0ICovCi0jZGVmaW5lIFVQMk9DUl9IWE9FCQkoMSA8PCAxNykJLyogSG9zdCBQb3J0IDIgVHJhbnNjZWl2ZXIgT3V0cHV0IEVuYWJsZSAqLwotI2RlZmluZSBVUDJPQ1JfU0VPUwkJKDEgPDwgMjQpCS8qIFNpbmdsZS1FbmRlZCBPdXRwdXQgU2VsZWN0ICovCi0KLSNkZWZpbmUgVURDQ1NOKHgpCV9fUkVHMigweDQwNjAwMTAwLCAoeCkgPDwgMikKLSNkZWZpbmUgVURDQ1NSMCAgICAgICAgIF9fUkVHKDB4NDA2MDAxMDApIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IDAgKi8KLSNkZWZpbmUgVURDQ1NSMF9TQQkoMSA8PCA3KQkvKiBTZXR1cCBBY3RpdmUgKi8KLSNkZWZpbmUgVURDQ1NSMF9STkUJKDEgPDwgNikJLyogUmVjZWl2ZSBGSUZPIE5vdCBFbXB0eSAqLwotI2RlZmluZSBVRENDU1IwX0ZTVAkoMSA8PCA1KQkvKiBGb3JjZSBTdGFsbCAqLwotI2RlZmluZSBVRENDU1IwX1NTVAkoMSA8PCA0KQkvKiBTZW50IFN0YWxsICovCi0jZGVmaW5lIFVEQ0NTUjBfRE1FCSgxIDw8IDMpCS8qIERNQSBFbmFibGUgKi8KLSNkZWZpbmUgVURDQ1NSMF9GVEYJKDEgPDwgMikJLyogRmx1c2ggVHJhbnNtaXQgRklGTyAqLwotI2RlZmluZSBVRENDU1IwX0lQUgkoMSA8PCAxKQkvKiBJTiBQYWNrZXQgUmVhZHkgKi8KLSNkZWZpbmUgVURDQ1NSMF9PUEMJKDEgPDwgMCkJLyogT1VUIFBhY2tldCBDb21wbGV0ZSAqLwotCi0jZGVmaW5lIFVEQ0NTUkEgICAgICAgICBfX1JFRygweDQwNjAwMTA0KSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBBICovCi0jZGVmaW5lIFVEQ0NTUkIgICAgICAgICBfX1JFRygweDQwNjAwMTA4KSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBCICovCi0jZGVmaW5lIFVEQ0NTUkMgICAgICAgICBfX1JFRygweDQwNjAwMTBDKSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBDICovCi0jZGVmaW5lIFVEQ0NTUkQgICAgICAgICBfX1JFRygweDQwNjAwMTEwKSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBEICovCi0jZGVmaW5lIFVEQ0NTUkUgICAgICAgICBfX1JFRygweDQwNjAwMTE0KSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBFICovCi0jZGVmaW5lIFVEQ0NTUkYgICAgICAgICBfX1JFRygweDQwNjAwMTE4KSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBGICovCi0jZGVmaW5lIFVEQ0NTUkcgICAgICAgICBfX1JFRygweDQwNjAwMTFDKSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBHICovCi0jZGVmaW5lIFVEQ0NTUkggICAgICAgICBfX1JFRygweDQwNjAwMTIwKSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBIICovCi0jZGVmaW5lIFVEQ0NTUkkgICAgICAgICBfX1JFRygweDQwNjAwMTI0KSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBJICovCi0jZGVmaW5lIFVEQ0NTUkogICAgICAgICBfX1JFRygweDQwNjAwMTI4KSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBKICovCi0jZGVmaW5lIFVEQ0NTUksgICAgICAgICBfX1JFRygweDQwNjAwMTJDKSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBLICovCi0jZGVmaW5lIFVEQ0NTUkwgICAgICAgICBfX1JFRygweDQwNjAwMTMwKSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBMICovCi0jZGVmaW5lIFVEQ0NTUk0gICAgICAgICBfX1JFRygweDQwNjAwMTM0KSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBNICovCi0jZGVmaW5lIFVEQ0NTUk4gICAgICAgICBfX1JFRygweDQwNjAwMTM4KSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBOICovCi0jZGVmaW5lIFVEQ0NTUlAgICAgICAgICBfX1JFRygweDQwNjAwMTNDKSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBQICovCi0jZGVmaW5lIFVEQ0NTUlEgICAgICAgICBfX1JFRygweDQwNjAwMTQwKSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBRICovCi0jZGVmaW5lIFVEQ0NTUlIgICAgICAgICBfX1JFRygweDQwNjAwMTQ0KSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBSICovCi0jZGVmaW5lIFVEQ0NTUlMgICAgICAgICBfX1JFRygweDQwNjAwMTQ4KSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBTICovCi0jZGVmaW5lIFVEQ0NTUlQgICAgICAgICBfX1JFRygweDQwNjAwMTRDKSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBUICovCi0jZGVmaW5lIFVEQ0NTUlUgICAgICAgICBfX1JFRygweDQwNjAwMTUwKSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBVICovCi0jZGVmaW5lIFVEQ0NTUlYgICAgICAgICBfX1JFRygweDQwNjAwMTU0KSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBWICovCi0jZGVmaW5lIFVEQ0NTUlcgICAgICAgICBfX1JFRygweDQwNjAwMTU4KSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBXICovCi0jZGVmaW5lIFVEQ0NTUlggICAgICAgICBfX1JFRygweDQwNjAwMTVDKSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBYICovCi0KLSNkZWZpbmUgVURDQ1NSX0RQRQkoMSA8PCA5KQkvKiBEYXRhIFBhY2tldCBFcnJvciAqLwotI2RlZmluZSBVRENDU1JfRkVGCSgxIDw8IDgpCS8qIEZsdXNoIEVuZHBvaW50IEZJRk8gKi8KLSNkZWZpbmUgVURDQ1NSX1NQCSgxIDw8IDcpCS8qIFNob3J0IFBhY2tldCBDb250cm9sL1N0YXR1cyAqLwotI2RlZmluZSBVRENDU1JfQk5FCSgxIDw8IDYpCS8qIEJ1ZmZlciBOb3QgRW1wdHkgKElOIGVuZHBvaW50cykgKi8KLSNkZWZpbmUgVURDQ1NSX0JORgkoMSA8PCA2KQkvKiBCdWZmZXIgTm90IEZ1bGwgKE9VVCBlbmRwb2ludHMpICovCi0jZGVmaW5lIFVEQ0NTUl9GU1QJKDEgPDwgNSkJLyogRm9yY2UgU1RBTEwgKi8KLSNkZWZpbmUgVURDQ1NSX1NTVAkoMSA8PCA0KQkvKiBTZW50IFNUQUxMICovCi0jZGVmaW5lIFVEQ0NTUl9ETUUJKDEgPDwgMykJLyogRE1BIEVuYWJsZSAqLwotI2RlZmluZSBVRENDU1JfVFJOCSgxIDw8IDIpCS8qIFR4L1J4IE5BSyAqLwotI2RlZmluZSBVRENDU1JfUEMJKDEgPDwgMSkJLyogUGFja2V0IENvbXBsZXRlICovCi0jZGVmaW5lIFVEQ0NTUl9GUwkoMSA8PCAwKQkvKiBGSUZPIG5lZWRzIHNlcnZpY2UgKi8KLQotI2RlZmluZSBVRENCQ04oeCkJX19SRUcyKDB4NDA2MDAyMDAsICh4KTw8MikKLSNkZWZpbmUgVURDQkNSMCAgICAgICAgIF9fUkVHKDB4NDA2MDAyMDApIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUDAgKi8KLSNkZWZpbmUgVURDQkNSQSAgICAgICAgIF9fUkVHKDB4NDA2MDAyMDQpIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUEEgKi8KLSNkZWZpbmUgVURDQkNSQiAgICAgICAgIF9fUkVHKDB4NDA2MDAyMDgpIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUEIgKi8KLSNkZWZpbmUgVURDQkNSQyAgICAgICAgIF9fUkVHKDB4NDA2MDAyMEMpIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUEMgKi8KLSNkZWZpbmUgVURDQkNSRCAgICAgICAgIF9fUkVHKDB4NDA2MDAyMTApIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUEQgKi8KLSNkZWZpbmUgVURDQkNSRSAgICAgICAgIF9fUkVHKDB4NDA2MDAyMTQpIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUEUgKi8KLSNkZWZpbmUgVURDQkNSRiAgICAgICAgIF9fUkVHKDB4NDA2MDAyMTgpIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUEYgKi8KLSNkZWZpbmUgVURDQkNSRyAgICAgICAgIF9fUkVHKDB4NDA2MDAyMUMpIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUEcgKi8KLSNkZWZpbmUgVURDQkNSSCAgICAgICAgIF9fUkVHKDB4NDA2MDAyMjApIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUEggKi8KLSNkZWZpbmUgVURDQkNSSSAgICAgICAgIF9fUkVHKDB4NDA2MDAyMjQpIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUEkgKi8KLSNkZWZpbmUgVURDQkNSSiAgICAgICAgIF9fUkVHKDB4NDA2MDAyMjgpIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUEogKi8KLSNkZWZpbmUgVURDQkNSSyAgICAgICAgIF9fUkVHKDB4NDA2MDAyMkMpIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUEsgKi8KLSNkZWZpbmUgVURDQkNSTCAgICAgICAgIF9fUkVHKDB4NDA2MDAyMzApIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUEwgKi8KLSNkZWZpbmUgVURDQkNSTSAgICAgICAgIF9fUkVHKDB4NDA2MDAyMzQpIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUE0gKi8KLSNkZWZpbmUgVURDQkNSTiAgICAgICAgIF9fUkVHKDB4NDA2MDAyMzgpIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUE4gKi8KLSNkZWZpbmUgVURDQkNSUCAgICAgICAgIF9fUkVHKDB4NDA2MDAyM0MpIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUFAgKi8KLSNkZWZpbmUgVURDQkNSUSAgICAgICAgIF9fUkVHKDB4NDA2MDAyNDApIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUFEgKi8KLSNkZWZpbmUgVURDQkNSUiAgICAgICAgIF9fUkVHKDB4NDA2MDAyNDQpIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUFIgKi8KLSNkZWZpbmUgVURDQkNSUyAgICAgICAgIF9fUkVHKDB4NDA2MDAyNDgpIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUFMgKi8KLSNkZWZpbmUgVURDQkNSVCAgICAgICAgIF9fUkVHKDB4NDA2MDAyNEMpIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUFQgKi8KLSNkZWZpbmUgVURDQkNSVSAgICAgICAgIF9fUkVHKDB4NDA2MDAyNTApIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUFUgKi8KLSNkZWZpbmUgVURDQkNSViAgICAgICAgIF9fUkVHKDB4NDA2MDAyNTQpIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUFYgKi8KLSNkZWZpbmUgVURDQkNSVyAgICAgICAgIF9fUkVHKDB4NDA2MDAyNTgpIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUFcgKi8KLSNkZWZpbmUgVURDQkNSWCAgICAgICAgIF9fUkVHKDB4NDA2MDAyNUMpIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUFggKi8KLQotI2RlZmluZSBVRENETih4KQlfX1JFRzIoMHg0MDYwMDMwMCwgKHgpPDwyKQotI2RlZmluZSBQSFlTX1VEQ0ROKHgpCSgweDQwNjAwMzAwICsgKCh4KTw8MikpCi0jZGVmaW5lIFBVRENETih4KQkodm9sYXRpbGUgdTMyICopKGlvX3AydihQSFlTX1VEQ0ROKCh4KSkpKQotI2RlZmluZSBVRENEUjAgICAgICAgICAgX19SRUcoMHg0MDYwMDMwMCkgLyogRGF0YSBSZWdpc3RlciAtIEVQMCAqLwotI2RlZmluZSBVRENEUkEgICAgICAgICAgX19SRUcoMHg0MDYwMDMwNCkgLyogRGF0YSBSZWdpc3RlciAtIEVQQSAqLwotI2RlZmluZSBVRENEUkIgICAgICAgICAgX19SRUcoMHg0MDYwMDMwOCkgLyogRGF0YSBSZWdpc3RlciAtIEVQQiAqLwotI2RlZmluZSBVRENEUkMgICAgICAgICAgX19SRUcoMHg0MDYwMDMwQykgLyogRGF0YSBSZWdpc3RlciAtIEVQQyAqLwotI2RlZmluZSBVRENEUkQgICAgICAgICAgX19SRUcoMHg0MDYwMDMxMCkgLyogRGF0YSBSZWdpc3RlciAtIEVQRCAqLwotI2RlZmluZSBVRENEUkUgICAgICAgICAgX19SRUcoMHg0MDYwMDMxNCkgLyogRGF0YSBSZWdpc3RlciAtIEVQRSAqLwotI2RlZmluZSBVRENEUkYgICAgICAgICAgX19SRUcoMHg0MDYwMDMxOCkgLyogRGF0YSBSZWdpc3RlciAtIEVQRiAqLwotI2RlZmluZSBVRENEUkcgICAgICAgICAgX19SRUcoMHg0MDYwMDMxQykgLyogRGF0YSBSZWdpc3RlciAtIEVQRyAqLwotI2RlZmluZSBVRENEUkggICAgICAgICAgX19SRUcoMHg0MDYwMDMyMCkgLyogRGF0YSBSZWdpc3RlciAtIEVQSCAqLwotI2RlZmluZSBVRENEUkkgICAgICAgICAgX19SRUcoMHg0MDYwMDMyNCkgLyogRGF0YSBSZWdpc3RlciAtIEVQSSAqLwotI2RlZmluZSBVRENEUkogICAgICAgICAgX19SRUcoMHg0MDYwMDMyOCkgLyogRGF0YSBSZWdpc3RlciAtIEVQSiAqLwotI2RlZmluZSBVRENEUksgICAgICAgICAgX19SRUcoMHg0MDYwMDMyQykgLyogRGF0YSBSZWdpc3RlciAtIEVQSyAqLwotI2RlZmluZSBVRENEUkwgICAgICAgICAgX19SRUcoMHg0MDYwMDMzMCkgLyogRGF0YSBSZWdpc3RlciAtIEVQTCAqLwotI2RlZmluZSBVRENEUk0gICAgICAgICAgX19SRUcoMHg0MDYwMDMzNCkgLyogRGF0YSBSZWdpc3RlciAtIEVQTSAqLwotI2RlZmluZSBVRENEUk4gICAgICAgICAgX19SRUcoMHg0MDYwMDMzOCkgLyogRGF0YSBSZWdpc3RlciAtIEVQTiAqLwotI2RlZmluZSBVRENEUlAgICAgICAgICAgX19SRUcoMHg0MDYwMDMzQykgLyogRGF0YSBSZWdpc3RlciAtIEVQUCAqLwotI2RlZmluZSBVRENEUlEgICAgICAgICAgX19SRUcoMHg0MDYwMDM0MCkgLyogRGF0YSBSZWdpc3RlciAtIEVQUSAqLwotI2RlZmluZSBVRENEUlIgICAgICAgICAgX19SRUcoMHg0MDYwMDM0NCkgLyogRGF0YSBSZWdpc3RlciAtIEVQUiAqLwotI2RlZmluZSBVRENEUlMgICAgICAgICAgX19SRUcoMHg0MDYwMDM0OCkgLyogRGF0YSBSZWdpc3RlciAtIEVQUyAqLwotI2RlZmluZSBVRENEUlQgICAgICAgICAgX19SRUcoMHg0MDYwMDM0QykgLyogRGF0YSBSZWdpc3RlciAtIEVQVCAqLwotI2RlZmluZSBVRENEUlUgICAgICAgICAgX19SRUcoMHg0MDYwMDM1MCkgLyogRGF0YSBSZWdpc3RlciAtIEVQVSAqLwotI2RlZmluZSBVRENEUlYgICAgICAgICAgX19SRUcoMHg0MDYwMDM1NCkgLyogRGF0YSBSZWdpc3RlciAtIEVQViAqLwotI2RlZmluZSBVRENEUlcgICAgICAgICAgX19SRUcoMHg0MDYwMDM1OCkgLyogRGF0YSBSZWdpc3RlciAtIEVQVyAqLwotI2RlZmluZSBVRENEUlggICAgICAgICAgX19SRUcoMHg0MDYwMDM1QykgLyogRGF0YSBSZWdpc3RlciAtIEVQWCAqLwotCi0jZGVmaW5lIFVEQ0NOKHgpICAgICAgIF9fUkVHMigweDQwNjAwNDAwLCAoeCk8PDIpCi0jZGVmaW5lIFVEQ0NSQSAgICAgICAgICBfX1JFRygweDQwNjAwNDA0KSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQQSAqLwotI2RlZmluZSBVRENDUkIgICAgICAgICAgX19SRUcoMHg0MDYwMDQwOCkgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUEIgKi8KLSNkZWZpbmUgVURDQ1JDICAgICAgICAgIF9fUkVHKDB4NDA2MDA0MEMpIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBDICovCi0jZGVmaW5lIFVEQ0NSRCAgICAgICAgICBfX1JFRygweDQwNjAwNDEwKSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQRCAqLwotI2RlZmluZSBVRENDUkUgICAgICAgICAgX19SRUcoMHg0MDYwMDQxNCkgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUEUgKi8KLSNkZWZpbmUgVURDQ1JGICAgICAgICAgIF9fUkVHKDB4NDA2MDA0MTgpIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBGICovCi0jZGVmaW5lIFVEQ0NSRyAgICAgICAgICBfX1JFRygweDQwNjAwNDFDKSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQRyAqLwotI2RlZmluZSBVRENDUkggICAgICAgICAgX19SRUcoMHg0MDYwMDQyMCkgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUEggKi8KLSNkZWZpbmUgVURDQ1JJICAgICAgICAgIF9fUkVHKDB4NDA2MDA0MjQpIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBJICovCi0jZGVmaW5lIFVEQ0NSSiAgICAgICAgICBfX1JFRygweDQwNjAwNDI4KSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQSiAqLwotI2RlZmluZSBVRENDUksgICAgICAgICAgX19SRUcoMHg0MDYwMDQyQykgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUEsgKi8KLSNkZWZpbmUgVURDQ1JMICAgICAgICAgIF9fUkVHKDB4NDA2MDA0MzApIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBMICovCi0jZGVmaW5lIFVEQ0NSTSAgICAgICAgICBfX1JFRygweDQwNjAwNDM0KSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQTSAqLwotI2RlZmluZSBVRENDUk4gICAgICAgICAgX19SRUcoMHg0MDYwMDQzOCkgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUE4gKi8KLSNkZWZpbmUgVURDQ1JQICAgICAgICAgIF9fUkVHKDB4NDA2MDA0M0MpIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBQICovCi0jZGVmaW5lIFVEQ0NSUSAgICAgICAgICBfX1JFRygweDQwNjAwNDQwKSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQUSAqLwotI2RlZmluZSBVRENDUlIgICAgICAgICAgX19SRUcoMHg0MDYwMDQ0NCkgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUFIgKi8KLSNkZWZpbmUgVURDQ1JTICAgICAgICAgIF9fUkVHKDB4NDA2MDA0NDgpIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBTICovCi0jZGVmaW5lIFVEQ0NSVCAgICAgICAgICBfX1JFRygweDQwNjAwNDRDKSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQVCAqLwotI2RlZmluZSBVRENDUlUgICAgICAgICAgX19SRUcoMHg0MDYwMDQ1MCkgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUFUgKi8KLSNkZWZpbmUgVURDQ1JWICAgICAgICAgIF9fUkVHKDB4NDA2MDA0NTQpIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBWICovCi0jZGVmaW5lIFVEQ0NSVyAgICAgICAgICBfX1JFRygweDQwNjAwNDU4KSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQVyAqLwotI2RlZmluZSBVRENDUlggICAgICAgICAgX19SRUcoMHg0MDYwMDQ1QykgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUFggKi8KLQotI2RlZmluZSBVRENDT05SX0NOCSgweDAzIDw8IDI1KQkvKiBDb25maWd1cmF0aW9uIE51bWJlciAqLwotI2RlZmluZSBVRENDT05SX0NOX1MJKDI1KQotI2RlZmluZSBVRENDT05SX0lOCSgweDA3IDw8IDIyKQkvKiBJbnRlcmZhY2UgTnVtYmVyICovCi0jZGVmaW5lIFVEQ0NPTlJfSU5fUwkoMjIpCi0jZGVmaW5lIFVEQ0NPTlJfQUlTTgkoMHgwNyA8PCAxOSkJLyogQWx0ZXJuYXRlIEludGVyZmFjZSBOdW1iZXIgKi8KLSNkZWZpbmUgVURDQ09OUl9BSVNOX1MJKDE5KQotI2RlZmluZSBVRENDT05SX0VOCSgweDBmIDw8IDE1KQkvKiBFbmRwb2ludCBOdW1iZXIgKi8KLSNkZWZpbmUgVURDQ09OUl9FTl9TCSgxNSkKLSNkZWZpbmUgVURDQ09OUl9FVAkoMHgwMyA8PCAxMykJLyogRW5kcG9pbnQgVHlwZTogKi8KLSNkZWZpbmUgVURDQ09OUl9FVF9TCSgxMykKLSNkZWZpbmUgVURDQ09OUl9FVF9JTlQJKDB4MDMgPDwgMTMpCS8qICAgSW50ZXJydXB0ICovCi0jZGVmaW5lIFVEQ0NPTlJfRVRfQlVMSwkoMHgwMiA8PCAxMykJLyogICBCdWxrICovCi0jZGVmaW5lIFVEQ0NPTlJfRVRfSVNPCSgweDAxIDw8IDEzKQkvKiAgIElzb2Nocm9ub3VzICovCi0jZGVmaW5lIFVEQ0NPTlJfRVRfTlUJKDB4MDAgPDwgMTMpCS8qICAgTm90IHVzZWQgKi8KLSNkZWZpbmUgVURDQ09OUl9FRAkoMSA8PCAxMikJLyogRW5kcG9pbnQgRGlyZWN0aW9uICovCi0jZGVmaW5lIFVEQ0NPTlJfTVBTCSgweDNmZiA8PCAyKQkvKiBNYXhpbXVtIFBhY2tldCBTaXplICovCi0jZGVmaW5lIFVEQ0NPTlJfTVBTX1MJKDIpCi0jZGVmaW5lIFVEQ0NPTlJfREUJKDEgPDwgMSkJLyogRG91YmxlIEJ1ZmZlcmluZyBFbmFibGUgKi8KLSNkZWZpbmUgVURDQ09OUl9FRQkoMSA8PCAwKQkvKiBFbmRwb2ludCBFbmFibGUgKi8KLQotCi0jZGVmaW5lIFVEQ19JTlRfRklGT0VSUk9SICAoMHgyKQotI2RlZmluZSBVRENfSU5UX1BBQ0tFVENNUCAgKDB4MSkKLQotI2RlZmluZSBVRENfRk5SX01BU0sgICAgICgweDdmZikKLQotI2RlZmluZSBVRENDU1JfV1JfTUFTSyAgIChVRENDU1JfRE1FfFVEQ0NTUl9GU1QpCi0jZGVmaW5lIFVEQ19CQ1JfTUFTSyAgICAoMHgzZmYpCi0jZW5kaWYKLQotLyoKICAqIEZhc3QgSW5mcmFyZWQgQ29tbXVuaWNhdGlvbiBQb3J0CiAgKi8KIApAQCAtMTIzNywxMjAgKzgyNSw5IEBACiAjZW5kaWYKIAogLyoKLSAqIFBvd2VyIE1hbmFnZXIKKyAqIFBvd2VyIE1hbmFnZXIgLSBzZWUgcHhhMnh4LXJlZ3MuaAogICovCiAKLSNkZWZpbmUgUE1DUgkJX19SRUcoMHg0MEYwMDAwMCkgIC8qIFBvd2VyIE1hbmFnZXIgQ29udHJvbCBSZWdpc3RlciAqLwotI2RlZmluZSBQU1NSCQlfX1JFRygweDQwRjAwMDA0KSAgLyogUG93ZXIgTWFuYWdlciBTbGVlcCBTdGF0dXMgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgUFNQUgkJX19SRUcoMHg0MEYwMDAwOCkgIC8qIFBvd2VyIE1hbmFnZXIgU2NyYXRjaCBQYWQgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgUFdFUgkJX19SRUcoMHg0MEYwMDAwQykgIC8qIFBvd2VyIE1hbmFnZXIgV2FrZS11cCBFbmFibGUgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgUFJFUgkJX19SRUcoMHg0MEYwMDAxMCkgIC8qIFBvd2VyIE1hbmFnZXIgR1BJTyBSaXNpbmctRWRnZSBEZXRlY3QgRW5hYmxlIFJlZ2lzdGVyICovCi0jZGVmaW5lIFBGRVIJCV9fUkVHKDB4NDBGMDAwMTQpICAvKiBQb3dlciBNYW5hZ2VyIEdQSU8gRmFsbGluZy1FZGdlIERldGVjdCBFbmFibGUgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgUEVEUgkJX19SRUcoMHg0MEYwMDAxOCkgIC8qIFBvd2VyIE1hbmFnZXIgR1BJTyBFZGdlIERldGVjdCBTdGF0dXMgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgUENGUgkJX19SRUcoMHg0MEYwMDAxQykgIC8qIFBvd2VyIE1hbmFnZXIgR2VuZXJhbCBDb25maWd1cmF0aW9uIFJlZ2lzdGVyICovCi0jZGVmaW5lIFBHU1IwCQlfX1JFRygweDQwRjAwMDIwKSAgLyogUG93ZXIgTWFuYWdlciBHUElPIFNsZWVwIFN0YXRlIFJlZ2lzdGVyIGZvciBHUFszMS0wXSAqLwotI2RlZmluZSBQR1NSMQkJX19SRUcoMHg0MEYwMDAyNCkgIC8qIFBvd2VyIE1hbmFnZXIgR1BJTyBTbGVlcCBTdGF0ZSBSZWdpc3RlciBmb3IgR1BbNjMtMzJdICovCi0jZGVmaW5lIFBHU1IyCQlfX1JFRygweDQwRjAwMDI4KSAgLyogUG93ZXIgTWFuYWdlciBHUElPIFNsZWVwIFN0YXRlIFJlZ2lzdGVyIGZvciBHUFs4NC02NF0gKi8KLSNkZWZpbmUgUEdTUjMJCV9fUkVHKDB4NDBGMDAwMkMpICAvKiBQb3dlciBNYW5hZ2VyIEdQSU8gU2xlZXAgU3RhdGUgUmVnaXN0ZXIgZm9yIEdQWzExOC05Nl0gKi8KLSNkZWZpbmUgUkNTUgkJX19SRUcoMHg0MEYwMDAzMCkgIC8qIFJlc2V0IENvbnRyb2xsZXIgU3RhdHVzIFJlZ2lzdGVyICovCi0KLSNkZWZpbmUgUFNMUgkJX19SRUcoMHg0MEYwMDAzNCkJLyogUG93ZXIgTWFuYWdlciBTbGVlcCBDb25maWcgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgUFNUUgkJX19SRUcoMHg0MEYwMDAzOCkJLypQb3dlciBNYW5hZ2VyIFN0YW5kYnkgQ29uZmlnIFJlZ2lzdGVyICovCi0jZGVmaW5lIFBTTlIJCV9fUkVHKDB4NDBGMDAwM0MpCS8qUG93ZXIgTWFuYWdlciBTZW5zZSBDb25maWcgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgUFZDUgkJX19SRUcoMHg0MEYwMDA0MCkJLypQb3dlciBNYW5hZ2VyIFZvbHRhZ2VDb250cm9sIFJlZ2lzdGVyICovCi0jZGVmaW5lIFBLV1IJCV9fUkVHKDB4NDBGMDAwNTApCS8qIFBvd2VyIE1hbmFnZXIgS0IgV2FrZS11cCBFbmFibGUgUmVnICovCi0jZGVmaW5lIFBLU1IJCV9fUkVHKDB4NDBGMDAwNTQpCS8qIFBvd2VyIE1hbmFnZXIgS0IgTGV2ZWwtRGV0ZWN0IFJlZ2lzdGVyICovCi0jZGVmaW5lIFBDTUQoeCkJX19SRUcyKDB4NDBGMDAwODAsICh4KTw8MikKLSNkZWZpbmUgUENNRDAJX19SRUcoMHg0MEYwMDA4MCArIDAgKiA0KQotI2RlZmluZSBQQ01EMQlfX1JFRygweDQwRjAwMDgwICsgMSAqIDQpCi0jZGVmaW5lIFBDTUQyCV9fUkVHKDB4NDBGMDAwODAgKyAyICogNCkKLSNkZWZpbmUgUENNRDMJX19SRUcoMHg0MEYwMDA4MCArIDMgKiA0KQotI2RlZmluZSBQQ01ENAlfX1JFRygweDQwRjAwMDgwICsgNCAqIDQpCi0jZGVmaW5lIFBDTUQ1CV9fUkVHKDB4NDBGMDAwODAgKyA1ICogNCkKLSNkZWZpbmUgUENNRDYJX19SRUcoMHg0MEYwMDA4MCArIDYgKiA0KQotI2RlZmluZSBQQ01ENwlfX1JFRygweDQwRjAwMDgwICsgNyAqIDQpCi0jZGVmaW5lIFBDTUQ4CV9fUkVHKDB4NDBGMDAwODAgKyA4ICogNCkKLSNkZWZpbmUgUENNRDkJX19SRUcoMHg0MEYwMDA4MCArIDkgKiA0KQotI2RlZmluZSBQQ01EMTAJX19SRUcoMHg0MEYwMDA4MCArIDEwICogNCkKLSNkZWZpbmUgUENNRDExCV9fUkVHKDB4NDBGMDAwODAgKyAxMSAqIDQpCi0jZGVmaW5lIFBDTUQxMglfX1JFRygweDQwRjAwMDgwICsgMTIgKiA0KQotI2RlZmluZSBQQ01EMTMJX19SRUcoMHg0MEYwMDA4MCArIDEzICogNCkKLSNkZWZpbmUgUENNRDE0CV9fUkVHKDB4NDBGMDAwODAgKyAxNCAqIDQpCi0jZGVmaW5lIFBDTUQxNQlfX1JFRygweDQwRjAwMDgwICsgMTUgKiA0KQotI2RlZmluZSBQQ01EMTYJX19SRUcoMHg0MEYwMDA4MCArIDE2ICogNCkKLSNkZWZpbmUgUENNRDE3CV9fUkVHKDB4NDBGMDAwODAgKyAxNyAqIDQpCi0jZGVmaW5lIFBDTUQxOAlfX1JFRygweDQwRjAwMDgwICsgMTggKiA0KQotI2RlZmluZSBQQ01EMTkJX19SRUcoMHg0MEYwMDA4MCArIDE5ICogNCkKLSNkZWZpbmUgUENNRDIwCV9fUkVHKDB4NDBGMDAwODAgKyAyMCAqIDQpCi0jZGVmaW5lIFBDTUQyMQlfX1JFRygweDQwRjAwMDgwICsgMjEgKiA0KQotI2RlZmluZSBQQ01EMjIJX19SRUcoMHg0MEYwMDA4MCArIDIyICogNCkKLSNkZWZpbmUgUENNRDIzCV9fUkVHKDB4NDBGMDAwODAgKyAyMyAqIDQpCi0jZGVmaW5lIFBDTUQyNAlfX1JFRygweDQwRjAwMDgwICsgMjQgKiA0KQotI2RlZmluZSBQQ01EMjUJX19SRUcoMHg0MEYwMDA4MCArIDI1ICogNCkKLSNkZWZpbmUgUENNRDI2CV9fUkVHKDB4NDBGMDAwODAgKyAyNiAqIDQpCi0jZGVmaW5lIFBDTUQyNwlfX1JFRygweDQwRjAwMDgwICsgMjcgKiA0KQotI2RlZmluZSBQQ01EMjgJX19SRUcoMHg0MEYwMDA4MCArIDI4ICogNCkKLSNkZWZpbmUgUENNRDI5CV9fUkVHKDB4NDBGMDAwODAgKyAyOSAqIDQpCi0jZGVmaW5lIFBDTUQzMAlfX1JFRygweDQwRjAwMDgwICsgMzAgKiA0KQotI2RlZmluZSBQQ01EMzEJX19SRUcoMHg0MEYwMDA4MCArIDMxICogNCkKLQotI2RlZmluZSBQQ01EX01CQwkoMTw8MTIpCi0jZGVmaW5lIFBDTURfRENFCSgxPDwxMSkKLSNkZWZpbmUgUENNRF9MQwkoMTw8MTApCi0vKiBGSVhNRTogIFBDTURfU1FDIG5lZWQgYmUgY2hlY2tlZC4gICAqLwotI2RlZmluZSBQQ01EX1NRQwkoMzw8OCkJLyogY3VycmVudGx5IG9ubHkgYml0IDggaXMgY2hhbmdlYWJsZSwKLQkJCQkgICBiaXQgOSBzaG91bGQgYmUgMCBhbGwgZGF5LiAqLwotI2RlZmluZSBQVkNSX1ZDU0EJKDB4MTw8MTQpCi0jZGVmaW5lIFBWQ1JfQ29tbWFuZERlbGF5ICgweGY4MCkKLSNkZWZpbmUgUENGUl9QSTJDX0VOCSgweDEgPDwgNikKLQotI2RlZmluZSBQU1NSX09UR1BICSgxIDw8IDYpCS8qIE9URyBQZXJpcGhlcmFsIGNvbnRyb2wgSG9sZCAqLwotI2RlZmluZSBQU1NSX1JESAkoMSA8PCA1KQkvKiBSZWFkIERpc2FibGUgSG9sZCAqLwotI2RlZmluZSBQU1NSX1BICQkoMSA8PCA0KQkvKiBQZXJpcGhlcmFsIENvbnRyb2wgSG9sZCAqLwotI2RlZmluZSBQU1NSX1NUUwkoMSA8PCAzKQkvKiBTdGFuZGJ5IE1vZGUgU3RhdHVzICovCi0jZGVmaW5lIFBTU1JfVkZTCSgxIDw8IDIpCS8qIFZERCBGYXVsdCBTdGF0dXMgKi8KLSNkZWZpbmUgUFNTUl9CRlMJKDEgPDwgMSkJLyogQmF0dGVyeSBGYXVsdCBTdGF0dXMgKi8KLSNkZWZpbmUgUFNTUl9TU1MJKDEgPDwgMCkJLyogU29mdHdhcmUgU2xlZXAgU3RhdHVzICovCi0KLSNkZWZpbmUgUFNMUl9TTF9ST0QJKDEgPDwgMjApCS8qIFNsZWVwLU1vZGUvRGVwcC1TbGVlcCBNb2RlIG5SRVNFVF9PVVQgRGlzYWJsZSAqLwotCi0jZGVmaW5lIFBDRlJfUk8JCSgxIDw8IDE1KQkvKiBSREggT3ZlcnJpZGUgKi8KLSNkZWZpbmUgUENGUl9QTwkJKDEgPDwgMTQpCS8qIFBIIE92ZXJyaWRlICovCi0jZGVmaW5lIFBDRlJfR1BST0QJKDEgPDwgMTIpCS8qIEdQSU8gblJFU0VUX09VVCBEaXNhYmxlICovCi0jZGVmaW5lIFBDRlJfTDFfRU4JKDEgPDwgMTEpCS8qIFNsZWVwIE1vZGUgTDEgY29udmVydGVyIEVuYWJsZSAqLwotI2RlZmluZSBQQ0ZSX0ZWQwkoMSA8PCAxMCkJLyogRnJlcXVlbmN5L1ZvbHRhZ2UgQ2hhbmdlICovCi0jZGVmaW5lIFBDRlJfRENfRU4JKDEgPDwgNykJLyogU2xlZXAvZGVlcC1zbGVlcCBEQy1EQyBDb252ZXJ0ZXIgRW5hYmxlICovCi0jZGVmaW5lIFBDRlJfUEkyQ0VOCSgxIDw8IDYpCS8qIEVuYWJsZSBQSTJDIGNvbnRyb2xsZXIgKi8KLSNkZWZpbmUgUENGUl9HUFJfRU4JKDEgPDwgNCkJLyogblJFU0VUX0dQSU8gUGluIEVuYWJsZSAqLwotI2RlZmluZSBQQ0ZSX0RTCQkoMSA8PCAzKQkvKiBEZWVwIFNsZWVwIE1vZGUgKi8KLSNkZWZpbmUgUENGUl9GUwkJKDEgPDwgMikJLyogRmxvYXQgU3RhdGljIENoaXAgU2VsZWN0cyAqLwotI2RlZmluZSBQQ0ZSX0ZQCQkoMSA8PCAxKQkvKiBGbG9hdCBQQ01DSUEgY29udHJvbHMgKi8KLSNkZWZpbmUgUENGUl9PUERFCSgxIDw8IDApCS8qIDMuNjg2NCBNSHogb3NjaWxsYXRvciBwb3dlci1kb3duIGVuYWJsZSAqLwotCi0jZGVmaW5lIFJDU1JfR1BSCSgxIDw8IDMpCS8qIEdQSU8gUmVzZXQgKi8KLSNkZWZpbmUgUkNTUl9TTVIJKDEgPDwgMikJLyogU2xlZXAgTW9kZSAqLwotI2RlZmluZSBSQ1NSX1dEUgkoMSA8PCAxKQkvKiBXYXRjaGRvZyBSZXNldCAqLwotI2RlZmluZSBSQ1NSX0hXUgkoMSA8PCAwKQkvKiBIYXJkd2FyZSBSZXNldCAqLwotCi0jZGVmaW5lIFBXRVJfR1BJTyhOYikJKDEgPDwgTmIpCS8qIEdQSU8gWzAuLjE1XSB3YWtlLXVwIGVuYWJsZSAgICAgKi8KLSNkZWZpbmUgUFdFUl9HUElPMAlQV0VSX0dQSU8gKDApCS8qIEdQSU8gIFswXSB3YWtlLXVwIGVuYWJsZSAgICAgICAgKi8KLSNkZWZpbmUgUFdFUl9HUElPMQlQV0VSX0dQSU8gKDEpCS8qIEdQSU8gIFsxXSB3YWtlLXVwIGVuYWJsZSAgICAgICAgKi8KLSNkZWZpbmUgUFdFUl9HUElPMglQV0VSX0dQSU8gKDIpCS8qIEdQSU8gIFsyXSB3YWtlLXVwIGVuYWJsZSAgICAgICAgKi8KLSNkZWZpbmUgUFdFUl9HUElPMwlQV0VSX0dQSU8gKDMpCS8qIEdQSU8gIFszXSB3YWtlLXVwIGVuYWJsZSAgICAgICAgKi8KLSNkZWZpbmUgUFdFUl9HUElPNAlQV0VSX0dQSU8gKDQpCS8qIEdQSU8gIFs0XSB3YWtlLXVwIGVuYWJsZSAgICAgICAgKi8KLSNkZWZpbmUgUFdFUl9HUElPNQlQV0VSX0dQSU8gKDUpCS8qIEdQSU8gIFs1XSB3YWtlLXVwIGVuYWJsZSAgICAgICAgKi8KLSNkZWZpbmUgUFdFUl9HUElPNglQV0VSX0dQSU8gKDYpCS8qIEdQSU8gIFs2XSB3YWtlLXVwIGVuYWJsZSAgICAgICAgKi8KLSNkZWZpbmUgUFdFUl9HUElPNwlQV0VSX0dQSU8gKDcpCS8qIEdQSU8gIFs3XSB3YWtlLXVwIGVuYWJsZSAgICAgICAgKi8KLSNkZWZpbmUgUFdFUl9HUElPOAlQV0VSX0dQSU8gKDgpCS8qIEdQSU8gIFs4XSB3YWtlLXVwIGVuYWJsZSAgICAgICAgKi8KLSNkZWZpbmUgUFdFUl9HUElPOQlQV0VSX0dQSU8gKDkpCS8qIEdQSU8gIFs5XSB3YWtlLXVwIGVuYWJsZSAgICAgICAgKi8KLSNkZWZpbmUgUFdFUl9HUElPMTAJUFdFUl9HUElPICgxMCkJLyogR1BJTyBbMTBdIHdha2UtdXAgZW5hYmxlICAgICAgICAqLwotI2RlZmluZSBQV0VSX0dQSU8xMQlQV0VSX0dQSU8gKDExKQkvKiBHUElPIFsxMV0gd2FrZS11cCBlbmFibGUgICAgICAgICovCi0jZGVmaW5lIFBXRVJfR1BJTzEyCVBXRVJfR1BJTyAoMTIpCS8qIEdQSU8gWzEyXSB3YWtlLXVwIGVuYWJsZSAgICAgICAgKi8KLSNkZWZpbmUgUFdFUl9HUElPMTMJUFdFUl9HUElPICgxMykJLyogR1BJTyBbMTNdIHdha2UtdXAgZW5hYmxlICAgICAgICAqLwotI2RlZmluZSBQV0VSX0dQSU8xNAlQV0VSX0dQSU8gKDE0KQkvKiBHUElPIFsxNF0gd2FrZS11cCBlbmFibGUgICAgICAgICovCi0jZGVmaW5lIFBXRVJfR1BJTzE1CVBXRVJfR1BJTyAoMTUpCS8qIEdQSU8gWzE1XSB3YWtlLXVwIGVuYWJsZSAgICAgICAgKi8KLSNkZWZpbmUgUFdFUl9SVEMJMHg4MDAwMDAwMAkvKiBSVEMgYWxhcm0gd2FrZS11cCBlbmFibGUgICAgICAgICovCi0KIC8qCiAgKiBTU1AgU2VyaWFsIFBvcnQgUmVnaXN0ZXJzIC0gc2VlIGluY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9yZWdzLXNzcC5oCiAgKi8KQEAgLTEzNjAsNTIgKzgzNyw5IEBACiAgKi8KIAogLyoKLSAqIENvcmUgQ2xvY2sKKyAqIENvcmUgQ2xvY2sgLSBzZWUgaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL3B4YTJ4eC1yZWdzLmgKICAqLwogCi0jZGVmaW5lIENDQ1IJCV9fUkVHKDB4NDEzMDAwMDApICAvKiBDb3JlIENsb2NrIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIgKi8KLSNkZWZpbmUgQ0tFTgkJX19SRUcoMHg0MTMwMDAwNCkgIC8qIENsb2NrIEVuYWJsZSBSZWdpc3RlciAqLwotI2RlZmluZSBPU0NDCQlfX1JFRygweDQxMzAwMDA4KSAgLyogT3NjaWxsYXRvciBDb25maWd1cmF0aW9uIFJlZ2lzdGVyICovCi0jZGVmaW5lIENDU1IJCV9fUkVHKDB4NDEzMDAwMEMpICAvKiBDb3JlIENsb2NrIFN0YXR1cyBSZWdpc3RlciAqLwotCi0jZGVmaW5lIENDQ1JfTl9NQVNLCTB4MDM4MAkJLyogUnVuIE1vZGUgRnJlcXVlbmN5IHRvIFR1cmJvIE1vZGUgRnJlcXVlbmN5IE11bHRpcGxpZXIgKi8KLSNkZWZpbmUgQ0NDUl9NX01BU0sJMHgwMDYwCQkvKiBNZW1vcnkgRnJlcXVlbmN5IHRvIFJ1biBNb2RlIEZyZXF1ZW5jeSBNdWx0aXBsaWVyICovCi0jZGVmaW5lIENDQ1JfTF9NQVNLCTB4MDAxZgkJLyogQ3J5c3RhbCBGcmVxdWVuY3kgdG8gTWVtb3J5IEZyZXF1ZW5jeSBNdWx0aXBsaWVyICovCi0KLSNkZWZpbmUgQ0tFTl9BQzk3Q09ORiAgICgzMSkgICAgLyogQUM5NyBDb250cm9sbGVyIENvbmZpZ3VyYXRpb24gKi8KLSNkZWZpbmUgQ0tFTl9DQU1FUkEJKDI0KQkvKiBDYW1lcmEgSW50ZXJmYWNlIENsb2NrIEVuYWJsZSAqLwotI2RlZmluZSBDS0VOX1NTUDEJKDIzKQkvKiBTU1AxIFVuaXQgQ2xvY2sgRW5hYmxlICovCi0jZGVmaW5lIENLRU5fTUVNQwkoMjIpCS8qIE1lbW9yeSBDb250cm9sbGVyIENsb2NrIEVuYWJsZSAqLwotI2RlZmluZSBDS0VOX01FTVNUSwkoMjEpCS8qIE1lbW9yeSBTdGljayBIb3N0IENvbnRyb2xsZXIgKi8KLSNkZWZpbmUgQ0tFTl9JTQkJKDIwKQkvKiBJbnRlcm5hbCBNZW1vcnkgQ2xvY2sgRW5hYmxlICovCi0jZGVmaW5lIENLRU5fS0VZUEFECSgxOSkJLyogS2V5cGFkIEludGVyZmFjZSBDbG9jayBFbmFibGUgKi8KLSNkZWZpbmUgQ0tFTl9VU0lNCSgxOCkJLyogVVNJTSBVbml0IENsb2NrIEVuYWJsZSAqLwotI2RlZmluZSBDS0VOX01TTAkoMTcpCS8qIE1TTCBVbml0IENsb2NrIEVuYWJsZSAqLwotI2RlZmluZSBDS0VOX0xDRAkoMTYpCS8qIExDRCBVbml0IENsb2NrIEVuYWJsZSAqLwotI2RlZmluZSBDS0VOX1BXUkkyQwkoMTUpCS8qIFBXUiBJMkMgVW5pdCBDbG9jayBFbmFibGUgKi8KLSNkZWZpbmUgQ0tFTl9JMkMJKDE0KQkvKiBJMkMgVW5pdCBDbG9jayBFbmFibGUgKi8KLSNkZWZpbmUgQ0tFTl9GSUNQCSgxMykJLyogRklDUCBVbml0IENsb2NrIEVuYWJsZSAqLwotI2RlZmluZSBDS0VOX01NQwkoMTIpCS8qIE1NQyBVbml0IENsb2NrIEVuYWJsZSAqLwotI2RlZmluZSBDS0VOX1VTQgkoMTEpCS8qIFVTQiBVbml0IENsb2NrIEVuYWJsZSAqLwotI2RlZmluZSBDS0VOX0FTU1AJKDEwKQkvKiBBU1NQIChTU1AzKSBDbG9jayBFbmFibGUgKi8KLSNkZWZpbmUgQ0tFTl9VU0JIT1NUCSgxMCkJLyogVVNCIEhvc3QgVW5pdCBDbG9jayBFbmFibGUgKi8KLSNkZWZpbmUgQ0tFTl9PU1RJTUVSCSg5KQkvKiBPUyBUaW1lciBVbml0IENsb2NrIEVuYWJsZSAqLwotI2RlZmluZSBDS0VOX05TU1AJKDkpCS8qIE5TU1AgKFNTUDIpIENsb2NrIEVuYWJsZSAqLwotI2RlZmluZSBDS0VOX0kyUwkoOCkJLyogSTJTIFVuaXQgQ2xvY2sgRW5hYmxlICovCi0jZGVmaW5lIENLRU5fQlRVQVJUCSg3KQkvKiBCVFVBUlQgVW5pdCBDbG9jayBFbmFibGUgKi8KLSNkZWZpbmUgQ0tFTl9GRlVBUlQJKDYpCS8qIEZGVUFSVCBVbml0IENsb2NrIEVuYWJsZSAqLwotI2RlZmluZSBDS0VOX1NUVUFSVAkoNSkJLyogU1RVQVJUIFVuaXQgQ2xvY2sgRW5hYmxlICovCi0jZGVmaW5lIENLRU5fSFdVQVJUCSg0KQkvKiBIV1VBUlQgVW5pdCBDbG9jayBFbmFibGUgKi8KLSNkZWZpbmUgQ0tFTl9TU1AzCSg0KQkvKiBTU1AzIFVuaXQgQ2xvY2sgRW5hYmxlICovCi0jZGVmaW5lIENLRU5fU1NQCSgzKQkvKiBTU1AgVW5pdCBDbG9jayBFbmFibGUgKi8KLSNkZWZpbmUgQ0tFTl9TU1AyCSgzKQkvKiBTU1AyIFVuaXQgQ2xvY2sgRW5hYmxlICovCi0jZGVmaW5lIENLRU5fQUM5NwkoMikJLyogQUM5NyBVbml0IENsb2NrIEVuYWJsZSAqLwotI2RlZmluZSBDS0VOX1BXTTEJKDEpCS8qIFBXTTEgQ2xvY2sgRW5hYmxlICovCi0jZGVmaW5lIENLRU5fUFdNMAkoMCkJLyogUFdNMCBDbG9jayBFbmFibGUgKi8KLQotI2RlZmluZSBPU0NDX09PTgkoMSA8PCAxKQkvKiAzMi43NjhrSHogT09OICh3cml0ZS1vbmNlIG9ubHkgYml0KSAqLwotI2RlZmluZSBPU0NDX09PSwkoMSA8PCAwKQkvKiAzMi43NjhrSHogT09LIChyZWFkLW9ubHkgYml0KSAqLwotCiAjaWZkZWYgQ09ORklHX1BYQTI3eAogCiAvKiBDYW1lcmEgSW50ZXJmYWNlICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvcHhhMjV4LXVkYy5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL3B4YTI1eC11ZGMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NDAzMDU5Ci0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL3B4YTI1eC11ZGMuaApAQCAtMCwwICsxLDE2MyBAQAorI2lmbmRlZiBfQVNNX0FSQ0hfUFhBMjVYX1VEQ19ICisjZGVmaW5lIF9BU01fQVJDSF9QWEEyNVhfVURDX0gKKworI2lmZGVmIF9BU01fQVJDSF9QWEEyN1hfVURDX0gKKyNlcnJvciBZb3UgY2FuJ3QgaW5jbHVkZSBib3RoIFBYQTI1eCBhbmQgUFhBMjd4IFVEQyBzdXBwb3J0CisjZW5kaWYKKworI2RlZmluZSBVRENfUkVTMQlfX1JFRygweDQwNjAwMDA0KSAgLyogVURDIFVuZG9jdW1lbnRlZCAtIFJlc2VydmVkMSAqLworI2RlZmluZSBVRENfUkVTMglfX1JFRygweDQwNjAwMDA4KSAgLyogVURDIFVuZG9jdW1lbnRlZCAtIFJlc2VydmVkMiAqLworI2RlZmluZSBVRENfUkVTMwlfX1JFRygweDQwNjAwMDBDKSAgLyogVURDIFVuZG9jdW1lbnRlZCAtIFJlc2VydmVkMyAqLworCisjZGVmaW5lIFVEQ0NSCQlfX1JFRygweDQwNjAwMDAwKSAgLyogVURDIENvbnRyb2wgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgVURDQ1JfVURFCSgxIDw8IDApCS8qIFVEQyBlbmFibGUgKi8KKyNkZWZpbmUgVURDQ1JfVURBCSgxIDw8IDEpCS8qIFVEQyBhY3RpdmUgKi8KKyNkZWZpbmUgVURDQ1JfUlNNCSgxIDw8IDIpCS8qIERldmljZSByZXN1bWUgKi8KKyNkZWZpbmUgVURDQ1JfUkVTSVIJKDEgPDwgMykJLyogUmVzdW1lIGludGVycnVwdCByZXF1ZXN0ICovCisjZGVmaW5lIFVEQ0NSX1NVU0lSCSgxIDw8IDQpCS8qIFN1c3BlbmQgaW50ZXJydXB0IHJlcXVlc3QgKi8KKyNkZWZpbmUgVURDQ1JfU1JNCSgxIDw8IDUpCS8qIFN1c3BlbmQvcmVzdW1lIGludGVycnVwdCBtYXNrICovCisjZGVmaW5lIFVEQ0NSX1JTVElSCSgxIDw8IDYpCS8qIFJlc2V0IGludGVycnVwdCByZXF1ZXN0ICovCisjZGVmaW5lIFVEQ0NSX1JFTQkoMSA8PCA3KQkvKiBSZXNldCBpbnRlcnJ1cHQgbWFzayAqLworCisjZGVmaW5lIFVEQ0NTMAkJX19SRUcoMHg0MDYwMDAxMCkgIC8qIFVEQyBFbmRwb2ludCAwIENvbnRyb2wvU3RhdHVzIFJlZ2lzdGVyICovCisjZGVmaW5lIFVEQ0NTMF9PUFIJKDEgPDwgMCkJLyogT1VUIHBhY2tldCByZWFkeSAqLworI2RlZmluZSBVRENDUzBfSVBSCSgxIDw8IDEpCS8qIElOIHBhY2tldCByZWFkeSAqLworI2RlZmluZSBVRENDUzBfRlRGCSgxIDw8IDIpCS8qIEZsdXNoIFR4IEZJRk8gKi8KKyNkZWZpbmUgVURDQ1MwX0RSV0YJKDEgPDwgMykJLyogRGV2aWNlIHJlbW90ZSB3YWtldXAgZmVhdHVyZSAqLworI2RlZmluZSBVRENDUzBfU1NUCSgxIDw8IDQpCS8qIFNlbnQgc3RhbGwgKi8KKyNkZWZpbmUgVURDQ1MwX0ZTVAkoMSA8PCA1KQkvKiBGb3JjZSBzdGFsbCAqLworI2RlZmluZSBVRENDUzBfUk5FCSgxIDw8IDYpCS8qIFJlY2VpdmUgRklGTyBubyBlbXB0eSAqLworI2RlZmluZSBVRENDUzBfU0EJKDEgPDwgNykJLyogU2V0dXAgYWN0aXZlICovCisKKy8qIEJ1bGsgSU4gLSBFbmRwb2ludCAxLDYsMTEgKi8KKyNkZWZpbmUgVURDQ1MxCQlfX1JFRygweDQwNjAwMDE0KSAgLyogVURDIEVuZHBvaW50IDEgKElOKSBDb250cm9sL1N0YXR1cyBSZWdpc3RlciAqLworI2RlZmluZSBVRENDUzYJCV9fUkVHKDB4NDA2MDAwMjgpICAvKiBVREMgRW5kcG9pbnQgNiAoSU4pIENvbnRyb2wvU3RhdHVzIFJlZ2lzdGVyICovCisjZGVmaW5lIFVEQ0NTMTEJCV9fUkVHKDB4NDA2MDAwM0MpICAvKiBVREMgRW5kcG9pbnQgMTEgKElOKSBDb250cm9sL1N0YXR1cyBSZWdpc3RlciAqLworCisjZGVmaW5lIFVEQ0NTX0JJX1RGUwkoMSA8PCAwKQkvKiBUcmFuc21pdCBGSUZPIHNlcnZpY2UgKi8KKyNkZWZpbmUgVURDQ1NfQklfVFBDCSgxIDw8IDEpCS8qIFRyYW5zbWl0IHBhY2tldCBjb21wbGV0ZSAqLworI2RlZmluZSBVRENDU19CSV9GVEYJKDEgPDwgMikJLyogRmx1c2ggVHggRklGTyAqLworI2RlZmluZSBVRENDU19CSV9UVVIJKDEgPDwgMykJLyogVHJhbnNtaXQgRklGTyB1bmRlcnJ1biAqLworI2RlZmluZSBVRENDU19CSV9TU1QJKDEgPDwgNCkJLyogU2VudCBzdGFsbCAqLworI2RlZmluZSBVRENDU19CSV9GU1QJKDEgPDwgNSkJLyogRm9yY2Ugc3RhbGwgKi8KKyNkZWZpbmUgVURDQ1NfQklfVFNQCSgxIDw8IDcpCS8qIFRyYW5zbWl0IHNob3J0IHBhY2tldCAqLworCisvKiBCdWxrIE9VVCAtIEVuZHBvaW50IDIsNywxMiAqLworI2RlZmluZSBVRENDUzIJCV9fUkVHKDB4NDA2MDAwMTgpICAvKiBVREMgRW5kcG9pbnQgMiAoT1VUKSBDb250cm9sL1N0YXR1cyBSZWdpc3RlciAqLworI2RlZmluZSBVRENDUzcJCV9fUkVHKDB4NDA2MDAwMkMpICAvKiBVREMgRW5kcG9pbnQgNyAoT1VUKSBDb250cm9sL1N0YXR1cyBSZWdpc3RlciAqLworI2RlZmluZSBVRENDUzEyCQlfX1JFRygweDQwNjAwMDQwKSAgLyogVURDIEVuZHBvaW50IDEyIChPVVQpIENvbnRyb2wvU3RhdHVzIFJlZ2lzdGVyICovCisKKyNkZWZpbmUgVURDQ1NfQk9fUkZTCSgxIDw8IDApCS8qIFJlY2VpdmUgRklGTyBzZXJ2aWNlICovCisjZGVmaW5lIFVEQ0NTX0JPX1JQQwkoMSA8PCAxKQkvKiBSZWNlaXZlIHBhY2tldCBjb21wbGV0ZSAqLworI2RlZmluZSBVRENDU19CT19ETUUJKDEgPDwgMykJLyogRE1BIGVuYWJsZSAqLworI2RlZmluZSBVRENDU19CT19TU1QJKDEgPDwgNCkJLyogU2VudCBzdGFsbCAqLworI2RlZmluZSBVRENDU19CT19GU1QJKDEgPDwgNSkJLyogRm9yY2Ugc3RhbGwgKi8KKyNkZWZpbmUgVURDQ1NfQk9fUk5FCSgxIDw8IDYpCS8qIFJlY2VpdmUgRklGTyBub3QgZW1wdHkgKi8KKyNkZWZpbmUgVURDQ1NfQk9fUlNQCSgxIDw8IDcpCS8qIFJlY2VpdmUgc2hvcnQgcGFja2V0ICovCisKKy8qIElzb2Nocm9ub3VzIElOIC0gRW5kcG9pbnQgMyw4LDEzICovCisjZGVmaW5lIFVEQ0NTMwkJX19SRUcoMHg0MDYwMDAxQykgIC8qIFVEQyBFbmRwb2ludCAzIChJTikgQ29udHJvbC9TdGF0dXMgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgVURDQ1M4CQlfX1JFRygweDQwNjAwMDMwKSAgLyogVURDIEVuZHBvaW50IDggKElOKSBDb250cm9sL1N0YXR1cyBSZWdpc3RlciAqLworI2RlZmluZSBVRENDUzEzCQlfX1JFRygweDQwNjAwMDQ0KSAgLyogVURDIEVuZHBvaW50IDEzIChJTikgQ29udHJvbC9TdGF0dXMgUmVnaXN0ZXIgKi8KKworI2RlZmluZSBVRENDU19JSV9URlMJKDEgPDwgMCkJLyogVHJhbnNtaXQgRklGTyBzZXJ2aWNlICovCisjZGVmaW5lIFVEQ0NTX0lJX1RQQwkoMSA8PCAxKQkvKiBUcmFuc21pdCBwYWNrZXQgY29tcGxldGUgKi8KKyNkZWZpbmUgVURDQ1NfSUlfRlRGCSgxIDw8IDIpCS8qIEZsdXNoIFR4IEZJRk8gKi8KKyNkZWZpbmUgVURDQ1NfSUlfVFVSCSgxIDw8IDMpCS8qIFRyYW5zbWl0IEZJRk8gdW5kZXJydW4gKi8KKyNkZWZpbmUgVURDQ1NfSUlfVFNQCSgxIDw8IDcpCS8qIFRyYW5zbWl0IHNob3J0IHBhY2tldCAqLworCisvKiBJc29jaHJvbm91cyBPVVQgLSBFbmRwb2ludCA0LDksMTQgKi8KKyNkZWZpbmUgVURDQ1M0CQlfX1JFRygweDQwNjAwMDIwKSAgLyogVURDIEVuZHBvaW50IDQgKE9VVCkgQ29udHJvbC9TdGF0dXMgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgVURDQ1M5CQlfX1JFRygweDQwNjAwMDM0KSAgLyogVURDIEVuZHBvaW50IDkgKE9VVCkgQ29udHJvbC9TdGF0dXMgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgVURDQ1MxNAkJX19SRUcoMHg0MDYwMDA0OCkgIC8qIFVEQyBFbmRwb2ludCAxNCAoT1VUKSBDb250cm9sL1N0YXR1cyBSZWdpc3RlciAqLworCisjZGVmaW5lIFVEQ0NTX0lPX1JGUwkoMSA8PCAwKQkvKiBSZWNlaXZlIEZJRk8gc2VydmljZSAqLworI2RlZmluZSBVRENDU19JT19SUEMJKDEgPDwgMSkJLyogUmVjZWl2ZSBwYWNrZXQgY29tcGxldGUgKi8KKyNkZWZpbmUgVURDQ1NfSU9fUk9GCSgxIDw8IDIpCS8qIFJlY2VpdmUgb3ZlcmZsb3cgKi8KKyNkZWZpbmUgVURDQ1NfSU9fRE1FCSgxIDw8IDMpCS8qIERNQSBlbmFibGUgKi8KKyNkZWZpbmUgVURDQ1NfSU9fUk5FCSgxIDw8IDYpCS8qIFJlY2VpdmUgRklGTyBub3QgZW1wdHkgKi8KKyNkZWZpbmUgVURDQ1NfSU9fUlNQCSgxIDw8IDcpCS8qIFJlY2VpdmUgc2hvcnQgcGFja2V0ICovCisKKy8qIEludGVycnVwdCBJTiAtIEVuZHBvaW50IDUsMTAsMTUgKi8KKyNkZWZpbmUgVURDQ1M1CQlfX1JFRygweDQwNjAwMDI0KSAgLyogVURDIEVuZHBvaW50IDUgKEludGVycnVwdCkgQ29udHJvbC9TdGF0dXMgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgVURDQ1MxMAkJX19SRUcoMHg0MDYwMDAzOCkgIC8qIFVEQyBFbmRwb2ludCAxMCAoSW50ZXJydXB0KSBDb250cm9sL1N0YXR1cyBSZWdpc3RlciAqLworI2RlZmluZSBVRENDUzE1CQlfX1JFRygweDQwNjAwMDRDKSAgLyogVURDIEVuZHBvaW50IDE1IChJbnRlcnJ1cHQpIENvbnRyb2wvU3RhdHVzIFJlZ2lzdGVyICovCisKKyNkZWZpbmUgVURDQ1NfSU5UX1RGUwkoMSA8PCAwKQkvKiBUcmFuc21pdCBGSUZPIHNlcnZpY2UgKi8KKyNkZWZpbmUgVURDQ1NfSU5UX1RQQwkoMSA8PCAxKQkvKiBUcmFuc21pdCBwYWNrZXQgY29tcGxldGUgKi8KKyNkZWZpbmUgVURDQ1NfSU5UX0ZURgkoMSA8PCAyKQkvKiBGbHVzaCBUeCBGSUZPICovCisjZGVmaW5lIFVEQ0NTX0lOVF9UVVIJKDEgPDwgMykJLyogVHJhbnNtaXQgRklGTyB1bmRlcnJ1biAqLworI2RlZmluZSBVRENDU19JTlRfU1NUCSgxIDw8IDQpCS8qIFNlbnQgc3RhbGwgKi8KKyNkZWZpbmUgVURDQ1NfSU5UX0ZTVAkoMSA8PCA1KQkvKiBGb3JjZSBzdGFsbCAqLworI2RlZmluZSBVRENDU19JTlRfVFNQCSgxIDw8IDcpCS8qIFRyYW5zbWl0IHNob3J0IHBhY2tldCAqLworCisjZGVmaW5lIFVGTlJICQlfX1JFRygweDQwNjAwMDYwKSAgLyogVURDIEZyYW1lIE51bWJlciBSZWdpc3RlciBIaWdoICovCisjZGVmaW5lIFVGTlJMCQlfX1JFRygweDQwNjAwMDY0KSAgLyogVURDIEZyYW1lIE51bWJlciBSZWdpc3RlciBMb3cgKi8KKyNkZWZpbmUgVUJDUjIJCV9fUkVHKDB4NDA2MDAwNjgpICAvKiBVREMgQnl0ZSBDb3VudCBSZWcgMiAqLworI2RlZmluZSBVQkNSNAkJX19SRUcoMHg0MDYwMDA2YykgIC8qIFVEQyBCeXRlIENvdW50IFJlZyA0ICovCisjZGVmaW5lIFVCQ1I3CQlfX1JFRygweDQwNjAwMDcwKSAgLyogVURDIEJ5dGUgQ291bnQgUmVnIDcgKi8KKyNkZWZpbmUgVUJDUjkJCV9fUkVHKDB4NDA2MDAwNzQpICAvKiBVREMgQnl0ZSBDb3VudCBSZWcgOSAqLworI2RlZmluZSBVQkNSMTIJCV9fUkVHKDB4NDA2MDAwNzgpICAvKiBVREMgQnl0ZSBDb3VudCBSZWcgMTIgKi8KKyNkZWZpbmUgVUJDUjE0CQlfX1JFRygweDQwNjAwMDdjKSAgLyogVURDIEJ5dGUgQ291bnQgUmVnIDE0ICovCisjZGVmaW5lIFVERFIwCQlfX1JFRygweDQwNjAwMDgwKSAgLyogVURDIEVuZHBvaW50IDAgRGF0YSBSZWdpc3RlciAqLworI2RlZmluZSBVRERSMQkJX19SRUcoMHg0MDYwMDEwMCkgIC8qIFVEQyBFbmRwb2ludCAxIERhdGEgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgVUREUjIJCV9fUkVHKDB4NDA2MDAxODApICAvKiBVREMgRW5kcG9pbnQgMiBEYXRhIFJlZ2lzdGVyICovCisjZGVmaW5lIFVERFIzCQlfX1JFRygweDQwNjAwMjAwKSAgLyogVURDIEVuZHBvaW50IDMgRGF0YSBSZWdpc3RlciAqLworI2RlZmluZSBVRERSNAkJX19SRUcoMHg0MDYwMDQwMCkgIC8qIFVEQyBFbmRwb2ludCA0IERhdGEgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgVUREUjUJCV9fUkVHKDB4NDA2MDAwQTApICAvKiBVREMgRW5kcG9pbnQgNSBEYXRhIFJlZ2lzdGVyICovCisjZGVmaW5lIFVERFI2CQlfX1JFRygweDQwNjAwNjAwKSAgLyogVURDIEVuZHBvaW50IDYgRGF0YSBSZWdpc3RlciAqLworI2RlZmluZSBVRERSNwkJX19SRUcoMHg0MDYwMDY4MCkgIC8qIFVEQyBFbmRwb2ludCA3IERhdGEgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgVUREUjgJCV9fUkVHKDB4NDA2MDA3MDApICAvKiBVREMgRW5kcG9pbnQgOCBEYXRhIFJlZ2lzdGVyICovCisjZGVmaW5lIFVERFI5CQlfX1JFRygweDQwNjAwOTAwKSAgLyogVURDIEVuZHBvaW50IDkgRGF0YSBSZWdpc3RlciAqLworI2RlZmluZSBVRERSMTAJCV9fUkVHKDB4NDA2MDAwQzApICAvKiBVREMgRW5kcG9pbnQgMTAgRGF0YSBSZWdpc3RlciAqLworI2RlZmluZSBVRERSMTEJCV9fUkVHKDB4NDA2MDBCMDApICAvKiBVREMgRW5kcG9pbnQgMTEgRGF0YSBSZWdpc3RlciAqLworI2RlZmluZSBVRERSMTIJCV9fUkVHKDB4NDA2MDBCODApICAvKiBVREMgRW5kcG9pbnQgMTIgRGF0YSBSZWdpc3RlciAqLworI2RlZmluZSBVRERSMTMJCV9fUkVHKDB4NDA2MDBDMDApICAvKiBVREMgRW5kcG9pbnQgMTMgRGF0YSBSZWdpc3RlciAqLworI2RlZmluZSBVRERSMTQJCV9fUkVHKDB4NDA2MDBFMDApICAvKiBVREMgRW5kcG9pbnQgMTQgRGF0YSBSZWdpc3RlciAqLworI2RlZmluZSBVRERSMTUJCV9fUkVHKDB4NDA2MDAwRTApICAvKiBVREMgRW5kcG9pbnQgMTUgRGF0YSBSZWdpc3RlciAqLworCisjZGVmaW5lIFVJQ1IwCQlfX1JFRygweDQwNjAwMDUwKSAgLyogVURDIEludGVycnVwdCBDb250cm9sIFJlZ2lzdGVyIDAgKi8KKworI2RlZmluZSBVSUNSMF9JTTAJKDEgPDwgMCkJLyogSW50ZXJydXB0IG1hc2sgZXAgMCAqLworI2RlZmluZSBVSUNSMF9JTTEJKDEgPDwgMSkJLyogSW50ZXJydXB0IG1hc2sgZXAgMSAqLworI2RlZmluZSBVSUNSMF9JTTIJKDEgPDwgMikJLyogSW50ZXJydXB0IG1hc2sgZXAgMiAqLworI2RlZmluZSBVSUNSMF9JTTMJKDEgPDwgMykJLyogSW50ZXJydXB0IG1hc2sgZXAgMyAqLworI2RlZmluZSBVSUNSMF9JTTQJKDEgPDwgNCkJLyogSW50ZXJydXB0IG1hc2sgZXAgNCAqLworI2RlZmluZSBVSUNSMF9JTTUJKDEgPDwgNSkJLyogSW50ZXJydXB0IG1hc2sgZXAgNSAqLworI2RlZmluZSBVSUNSMF9JTTYJKDEgPDwgNikJLyogSW50ZXJydXB0IG1hc2sgZXAgNiAqLworI2RlZmluZSBVSUNSMF9JTTcJKDEgPDwgNykJLyogSW50ZXJydXB0IG1hc2sgZXAgNyAqLworCisjZGVmaW5lIFVJQ1IxCQlfX1JFRygweDQwNjAwMDU0KSAgLyogVURDIEludGVycnVwdCBDb250cm9sIFJlZ2lzdGVyIDEgKi8KKworI2RlZmluZSBVSUNSMV9JTTgJKDEgPDwgMCkJLyogSW50ZXJydXB0IG1hc2sgZXAgOCAqLworI2RlZmluZSBVSUNSMV9JTTkJKDEgPDwgMSkJLyogSW50ZXJydXB0IG1hc2sgZXAgOSAqLworI2RlZmluZSBVSUNSMV9JTTEwCSgxIDw8IDIpCS8qIEludGVycnVwdCBtYXNrIGVwIDEwICovCisjZGVmaW5lIFVJQ1IxX0lNMTEJKDEgPDwgMykJLyogSW50ZXJydXB0IG1hc2sgZXAgMTEgKi8KKyNkZWZpbmUgVUlDUjFfSU0xMgkoMSA8PCA0KQkvKiBJbnRlcnJ1cHQgbWFzayBlcCAxMiAqLworI2RlZmluZSBVSUNSMV9JTTEzCSgxIDw8IDUpCS8qIEludGVycnVwdCBtYXNrIGVwIDEzICovCisjZGVmaW5lIFVJQ1IxX0lNMTQJKDEgPDwgNikJLyogSW50ZXJydXB0IG1hc2sgZXAgMTQgKi8KKyNkZWZpbmUgVUlDUjFfSU0xNQkoMSA8PCA3KQkvKiBJbnRlcnJ1cHQgbWFzayBlcCAxNSAqLworCisjZGVmaW5lIFVTSVIwCQlfX1JFRygweDQwNjAwMDU4KSAgLyogVURDIFN0YXR1cyBJbnRlcnJ1cHQgUmVnaXN0ZXIgMCAqLworCisjZGVmaW5lIFVTSVIwX0lSMAkoMSA8PCAwKQkvKiBJbnRlcnJ1cHQgcmVxdWVzdCBlcCAwICovCisjZGVmaW5lIFVTSVIwX0lSMQkoMSA8PCAxKQkvKiBJbnRlcnJ1cHQgcmVxdWVzdCBlcCAxICovCisjZGVmaW5lIFVTSVIwX0lSMgkoMSA8PCAyKQkvKiBJbnRlcnJ1cHQgcmVxdWVzdCBlcCAyICovCisjZGVmaW5lIFVTSVIwX0lSMwkoMSA8PCAzKQkvKiBJbnRlcnJ1cHQgcmVxdWVzdCBlcCAzICovCisjZGVmaW5lIFVTSVIwX0lSNAkoMSA8PCA0KQkvKiBJbnRlcnJ1cHQgcmVxdWVzdCBlcCA0ICovCisjZGVmaW5lIFVTSVIwX0lSNQkoMSA8PCA1KQkvKiBJbnRlcnJ1cHQgcmVxdWVzdCBlcCA1ICovCisjZGVmaW5lIFVTSVIwX0lSNgkoMSA8PCA2KQkvKiBJbnRlcnJ1cHQgcmVxdWVzdCBlcCA2ICovCisjZGVmaW5lIFVTSVIwX0lSNwkoMSA8PCA3KQkvKiBJbnRlcnJ1cHQgcmVxdWVzdCBlcCA3ICovCisKKyNkZWZpbmUgVVNJUjEJCV9fUkVHKDB4NDA2MDAwNUMpICAvKiBVREMgU3RhdHVzIEludGVycnVwdCBSZWdpc3RlciAxICovCisKKyNkZWZpbmUgVVNJUjFfSVI4CSgxIDw8IDApCS8qIEludGVycnVwdCByZXF1ZXN0IGVwIDggKi8KKyNkZWZpbmUgVVNJUjFfSVI5CSgxIDw8IDEpCS8qIEludGVycnVwdCByZXF1ZXN0IGVwIDkgKi8KKyNkZWZpbmUgVVNJUjFfSVIxMAkoMSA8PCAyKQkvKiBJbnRlcnJ1cHQgcmVxdWVzdCBlcCAxMCAqLworI2RlZmluZSBVU0lSMV9JUjExCSgxIDw8IDMpCS8qIEludGVycnVwdCByZXF1ZXN0IGVwIDExICovCisjZGVmaW5lIFVTSVIxX0lSMTIJKDEgPDwgNCkJLyogSW50ZXJydXB0IHJlcXVlc3QgZXAgMTIgKi8KKyNkZWZpbmUgVVNJUjFfSVIxMwkoMSA8PCA1KQkvKiBJbnRlcnJ1cHQgcmVxdWVzdCBlcCAxMyAqLworI2RlZmluZSBVU0lSMV9JUjE0CSgxIDw8IDYpCS8qIEludGVycnVwdCByZXF1ZXN0IGVwIDE0ICovCisjZGVmaW5lIFVTSVIxX0lSMTUJKDEgPDwgNykJLyogSW50ZXJydXB0IHJlcXVlc3QgZXAgMTUgKi8KKworI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvcHhhMjd4LXVkYy5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL3B4YTI3eC11ZGMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYzFjZjdkMAotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9weGEyN3gtdWRjLmgKQEAgLTAsMCArMSwyNTcgQEAKKyNpZm5kZWYgX0FTTV9BUkNIX1BYQTI3WF9VRENfSAorI2RlZmluZSBfQVNNX0FSQ0hfUFhBMjdYX1VEQ19ICisKKyNpZmRlZiBfQVNNX0FSQ0hfUFhBMjVYX1VEQ19ICisjZXJyb3IgWW91IGNhbm5vdCBpbmNsdWRlIGJvdGggUFhBMjV4IGFuZCBQWEEyN3ggVURDIHN1cHBvcnQKKyNlbmRpZgorCisjZGVmaW5lIFVEQ0NSICAgICAgICAgICBfX1JFRygweDQwNjAwMDAwKSAvKiBVREMgQ29udHJvbCBSZWdpc3RlciAqLworI2RlZmluZSBVRENDUl9PRU4JKDEgPDwgMzEpCS8qIE9uLXRoZS1HbyBFbmFibGUgKi8KKyNkZWZpbmUgVURDQ1JfQUFMVEhOUAkoMSA8PCAzMCkJLyogQS1kZXZpY2UgQWx0ZXJuYXRlIEhvc3QgTmVnb3RpYXRpb24KKwkJCQkJICAgUHJvdG9jb2wgUG9ydCBTdXBwb3J0ICovCisjZGVmaW5lIFVEQ0NSX0FITlAJKDEgPDwgMjkpCS8qIEEtZGV2aWNlIEhvc3QgTmVnb3RpYXRpb24gUHJvdG9jb2wKKwkJCQkJICAgU3VwcG9ydCAqLworI2RlZmluZSBVRENDUl9CSE5QCSgxIDw8IDI4KQkvKiBCLWRldmljZSBIb3N0IE5lZ290aWF0aW9uIFByb3RvY29sCisJCQkJCSAgIEVuYWJsZSAqLworI2RlZmluZSBVRENDUl9EV1JFCSgxIDw8IDE2KQkvKiBEZXZpY2UgUmVtb3RlIFdha2UtdXAgRW5hYmxlICovCisjZGVmaW5lIFVEQ0NSX0FDTgkoMHgwMyA8PCAxMSkJLyogQWN0aXZlIFVEQyBjb25maWd1cmF0aW9uIE51bWJlciAqLworI2RlZmluZSBVRENDUl9BQ05fUwkxMQorI2RlZmluZSBVRENDUl9BSU4JKDB4MDcgPDwgOCkJLyogQWN0aXZlIFVEQyBpbnRlcmZhY2UgTnVtYmVyICovCisjZGVmaW5lIFVEQ0NSX0FJTl9TCTgKKyNkZWZpbmUgVURDQ1JfQUFJU04JKDB4MDcgPDwgNSkJLyogQWN0aXZlIFVEQyBBbHRlcm5hdGUgSW50ZXJmYWNlCisJCQkJCSAgIFNldHRpbmcgTnVtYmVyICovCisjZGVmaW5lIFVEQ0NSX0FBSVNOX1MJNQorI2RlZmluZSBVRENDUl9TTUFDCSgxIDw8IDQpCS8qIFN3aXRjaCBFbmRwb2ludCBNZW1vcnkgdG8gQWN0aXZlCisJCQkJCSAgIENvbmZpZ3VyYXRpb24gKi8KKyNkZWZpbmUgVURDQ1JfRU1DRQkoMSA8PCAzKQkvKiBFbmRwb2ludCBNZW1vcnkgQ29uZmlndXJhdGlvbgorCQkJCQkgICBFcnJvciAqLworI2RlZmluZSBVRENDUl9VRFIJKDEgPDwgMikJLyogVURDIFJlc3VtZSAqLworI2RlZmluZSBVRENDUl9VREEJKDEgPDwgMSkJLyogVURDIEFjdGl2ZSAqLworI2RlZmluZSBVRENDUl9VREUJKDEgPDwgMCkJLyogVURDIEVuYWJsZSAqLworCisjZGVmaW5lIFVEQ0lDUjAgICAgICAgICBfX1JFRygweDQwNjAwMDA0KSAvKiBVREMgSW50ZXJydXB0IENvbnRyb2wgUmVnaXN0ZXIwICovCisjZGVmaW5lIFVEQ0lDUjEgICAgICAgICBfX1JFRygweDQwNjAwMDA4KSAvKiBVREMgSW50ZXJydXB0IENvbnRyb2wgUmVnaXN0ZXIxICovCisjZGVmaW5lIFVEQ0lDUl9GSUZPRVJSCSgxIDw8IDEpCS8qIEZJRk8gRXJyb3IgaW50ZXJydXB0IGZvciBFUCAqLworI2RlZmluZSBVRENJQ1JfUEtUQ09NUEwgKDEgPDwgMCkJLyogUGFja2V0IENvbXBsZXRlIGludGVycnVwdCBmb3IgRVAgKi8KKworI2RlZmluZSBVRENfSU5UX0ZJRk9FUlJPUiAgKDB4MikKKyNkZWZpbmUgVURDX0lOVF9QQUNLRVRDTVAgICgweDEpCisKKyNkZWZpbmUgVURDSUNSX0lOVChuLGludHIpICgoKGludHIpICYgMHgwMykgPDwgKCgobikgJiAweDBGKSAqIDIpKQorI2RlZmluZSBVRENJQ1IxX0lFQ0MJKDEgPDwgMzEpCS8qIEludEVuIC0gQ29uZmlndXJhdGlvbiBDaGFuZ2UgKi8KKyNkZWZpbmUgVURDSUNSMV9JRVNPRgkoMSA8PCAzMCkJLyogSW50RW4gLSBTdGFydCBvZiBGcmFtZSAqLworI2RlZmluZSBVRENJQ1IxX0lFUlUJKDEgPDwgMjkpCS8qIEludEVuIC0gUmVzdW1lICovCisjZGVmaW5lIFVEQ0lDUjFfSUVTVQkoMSA8PCAyOCkJLyogSW50RW4gLSBTdXNwZW5kICovCisjZGVmaW5lIFVEQ0lDUjFfSUVSUwkoMSA8PCAyNykJLyogSW50RW4gLSBSZXNldCAqLworCisjZGVmaW5lIFVEQ0lTUjAgICAgICAgICBfX1JFRygweDQwNjAwMDBDKSAvKiBVREMgSW50ZXJydXB0IFN0YXR1cyBSZWdpc3RlciAwICovCisjZGVmaW5lIFVEQ0lTUjEgICAgICAgICBfX1JFRygweDQwNjAwMDEwKSAvKiBVREMgSW50ZXJydXB0IFN0YXR1cyBSZWdpc3RlciAxICovCisjZGVmaW5lIFVEQ0lTUl9JTlQobixpbnRyKSAoKChpbnRyKSAmIDB4MDMpIDw8ICgoKG4pICYgMHgwRikgKiAyKSkKKyNkZWZpbmUgVURDSVNSMV9JUkNDCSgxIDw8IDMxKQkvKiBJbnRSZXEgLSBDb25maWd1cmF0aW9uIENoYW5nZSAqLworI2RlZmluZSBVRENJU1IxX0lSU09GCSgxIDw8IDMwKQkvKiBJbnRSZXEgLSBTdGFydCBvZiBGcmFtZSAqLworI2RlZmluZSBVRENJU1IxX0lSUlUJKDEgPDwgMjkpCS8qIEludFJlcSAtIFJlc3VtZSAqLworI2RlZmluZSBVRENJU1IxX0lSU1UJKDEgPDwgMjgpCS8qIEludFJlcSAtIFN1c3BlbmQgKi8KKyNkZWZpbmUgVURDSVNSMV9JUlJTCSgxIDw8IDI3KQkvKiBJbnRSZXEgLSBSZXNldCAqLworCisjZGVmaW5lIFVEQ0ZOUiAgICAgICAgICBfX1JFRygweDQwNjAwMDE0KSAvKiBVREMgRnJhbWUgTnVtYmVyIFJlZ2lzdGVyICovCisjZGVmaW5lIFVEQ09UR0lDUglfX1JFRygweDQwNjAwMDE4KSAvKiBVREMgT24tVGhlLUdvIGludGVycnVwdCBjb250cm9sICovCisjZGVmaW5lIFVEQ09UR0lDUl9JRVNGCSgxIDw8IDI0KQkvKiBPVEcgU0VUX0ZFQVRVUkUgY29tbWFuZCByZWN2ZCAqLworI2RlZmluZSBVRENPVEdJQ1JfSUVYUgkoMSA8PCAxNykJLyogRXh0cmEgVHJhbnNjaWV2ZXIgSW50ZXJydXB0CisJCQkJCSAgIFJpc2luZyBFZGdlIEludGVycnVwdCBFbmFibGUgKi8KKyNkZWZpbmUgVURDT1RHSUNSX0lFWEYJKDEgPDwgMTYpCS8qIEV4dHJhIFRyYW5zY2lldmVyIEludGVycnVwdAorCQkJCQkgICBGYWxsaW5nIEVkZ2UgSW50ZXJydXB0IEVuYWJsZSAqLworI2RlZmluZSBVRENPVEdJQ1JfSUVWVjQwUiAoMSA8PCA5KQkvKiBPVEcgVmJ1cyBWYWxpZCA0LjBWIFJpc2luZyBFZGdlCisJCQkJCSAgIEludGVycnVwdCBFbmFibGUgKi8KKyNkZWZpbmUgVURDT1RHSUNSX0lFVlY0MEYgKDEgPDwgOCkJLyogT1RHIFZidXMgVmFsaWQgNC4wViBGYWxsaW5nIEVkZ2UKKwkJCQkJICAgSW50ZXJydXB0IEVuYWJsZSAqLworI2RlZmluZSBVRENPVEdJQ1JfSUVWVjQ0UiAoMSA8PCA3KQkvKiBPVEcgVmJ1cyBWYWxpZCA0LjRWIFJpc2luZyBFZGdlCisJCQkJCSAgIEludGVycnVwdCBFbmFibGUgKi8KKyNkZWZpbmUgVURDT1RHSUNSX0lFVlY0NEYgKDEgPDwgNikJLyogT1RHIFZidXMgVmFsaWQgNC40ViBGYWxsaW5nIEVkZ2UKKwkJCQkJICAgSW50ZXJydXB0IEVuYWJsZSAqLworI2RlZmluZSBVRENPVEdJQ1JfSUVTVlIJKDEgPDwgNSkJLyogT1RHIFNlc3Npb24gVmFsaWQgUmlzaW5nIEVkZ2UKKwkJCQkJICAgSW50ZXJydXB0IEVuYWJsZSAqLworI2RlZmluZSBVRENPVEdJQ1JfSUVTVkYJKDEgPDwgNCkJLyogT1RHIFNlc3Npb24gVmFsaWQgRmFsbGluZyBFZGdlCisJCQkJCSAgIEludGVycnVwdCBFbmFibGUgKi8KKyNkZWZpbmUgVURDT1RHSUNSX0lFU0RSCSgxIDw8IDMpCS8qIE9URyBBLURldmljZSBTUlAgRGV0ZWN0IFJpc2luZworCQkJCQkgICBFZGdlIEludGVycnVwdCBFbmFibGUgKi8KKyNkZWZpbmUgVURDT1RHSUNSX0lFU0RGCSgxIDw8IDIpCS8qIE9URyBBLURldmljZSBTUlAgRGV0ZWN0IEZhbGxpbmcKKwkJCQkJICAgRWRnZSBJbnRlcnJ1cHQgRW5hYmxlICovCisjZGVmaW5lIFVEQ09UR0lDUl9JRUlEUgkoMSA8PCAxKQkvKiBPVEcgSUQgQ2hhbmdlIFJpc2luZyBFZGdlCisJCQkJCSAgIEludGVycnVwdCBFbmFibGUgKi8KKyNkZWZpbmUgVURDT1RHSUNSX0lFSURGCSgxIDw8IDApCS8qIE9URyBJRCBDaGFuZ2UgRmFsbGluZyBFZGdlCisJCQkJCSAgIEludGVycnVwdCBFbmFibGUgKi8KKworI2RlZmluZSBVUDJPQ1IJCSAgX19SRUcoMHg0MDYwMDAyMCkgIC8qIFVTQiBQb3J0IDIgT3V0cHV0IENvbnRyb2wgcmVnaXN0ZXIgKi8KKyNkZWZpbmUgVVAzT0NSCQkgIF9fUkVHKDB4NDA2MDAwMjQpICAvKiBVU0IgUG9ydCAyIE91dHB1dCBDb250cm9sIHJlZ2lzdGVyICovCisKKyNkZWZpbmUgVVAyT0NSX0NQVkVOCSgxIDw8IDApCS8qIENoYXJnZSBQdW1wIFZidXMgRW5hYmxlICovCisjZGVmaW5lIFVQMk9DUl9DUFZQRQkoMSA8PCAxKQkvKiBDaGFyZ2UgUHVtcCBWYnVzIFB1bHNlIEVuYWJsZSAqLworI2RlZmluZSBVUDJPQ1JfRFBQREUJKDEgPDwgMikJLyogSG9zdCBQb3J0IDIgVHJhbnNjZWl2ZXIgRCsgUHVsbCBEb3duIEVuYWJsZSAqLworI2RlZmluZSBVUDJPQ1JfRE1QREUJKDEgPDwgMykJLyogSG9zdCBQb3J0IDIgVHJhbnNjZWl2ZXIgRC0gUHVsbCBEb3duIEVuYWJsZSAqLworI2RlZmluZSBVUDJPQ1JfRFBQVUUJKDEgPDwgNCkJLyogSG9zdCBQb3J0IDIgVHJhbnNjZWl2ZXIgRCsgUHVsbCBVcCBFbmFibGUgKi8KKyNkZWZpbmUgVVAyT0NSX0RNUFVFCSgxIDw8IDUpCS8qIEhvc3QgUG9ydCAyIFRyYW5zY2VpdmVyIEQtIFB1bGwgVXAgRW5hYmxlICovCisjZGVmaW5lIFVQMk9DUl9EUFBVQkUJKDEgPDwgNikJLyogSG9zdCBQb3J0IDIgVHJhbnNjZWl2ZXIgRCsgUHVsbCBVcCBCeXBhc3MgRW5hYmxlICovCisjZGVmaW5lIFVQMk9DUl9ETVBVQkUJKDEgPDwgNykJLyogSG9zdCBQb3J0IDIgVHJhbnNjZWl2ZXIgRC0gUHVsbCBVcCBCeXBhc3MgRW5hYmxlICovCisjZGVmaW5lIFVQMk9DUl9FWFNQCQkoMSA8PCA4KQkvKiBFeHRlcm5hbCBUcmFuc2NlaXZlciBTcGVlZCBDb250cm9sICovCisjZGVmaW5lIFVQMk9DUl9FWFNVUwkoMSA8PCA5KQkvKiBFeHRlcm5hbCBUcmFuc2NlaXZlciBTcGVlZCBFbmFibGUgKi8KKyNkZWZpbmUgVVAyT0NSX0lET04JCSgxIDw8IDEwKQkvKiBPVEcgSUQgUmVhZCBFbmFibGUgKi8KKyNkZWZpbmUgVVAyT0NSX0hYUwkJKDEgPDwgMTYpCS8qIEhvc3QgUG9ydCAyIFRyYW5zY2VpdmVyIE91dHB1dCBTZWxlY3QgKi8KKyNkZWZpbmUgVVAyT0NSX0hYT0UJCSgxIDw8IDE3KQkvKiBIb3N0IFBvcnQgMiBUcmFuc2NlaXZlciBPdXRwdXQgRW5hYmxlICovCisjZGVmaW5lIFVQMk9DUl9TRU9TCQkoMSA8PCAyNCkJLyogU2luZ2xlLUVuZGVkIE91dHB1dCBTZWxlY3QgKi8KKworI2RlZmluZSBVRENDU04oeCkJX19SRUcyKDB4NDA2MDAxMDAsICh4KSA8PCAyKQorI2RlZmluZSBVRENDU1IwICAgICAgICAgX19SRUcoMHg0MDYwMDEwMCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgMCAqLworI2RlZmluZSBVRENDU1IwX1NBCSgxIDw8IDcpCS8qIFNldHVwIEFjdGl2ZSAqLworI2RlZmluZSBVRENDU1IwX1JORQkoMSA8PCA2KQkvKiBSZWNlaXZlIEZJRk8gTm90IEVtcHR5ICovCisjZGVmaW5lIFVEQ0NTUjBfRlNUCSgxIDw8IDUpCS8qIEZvcmNlIFN0YWxsICovCisjZGVmaW5lIFVEQ0NTUjBfU1NUCSgxIDw8IDQpCS8qIFNlbnQgU3RhbGwgKi8KKyNkZWZpbmUgVURDQ1NSMF9ETUUJKDEgPDwgMykJLyogRE1BIEVuYWJsZSAqLworI2RlZmluZSBVRENDU1IwX0ZURgkoMSA8PCAyKQkvKiBGbHVzaCBUcmFuc21pdCBGSUZPICovCisjZGVmaW5lIFVEQ0NTUjBfSVBSCSgxIDw8IDEpCS8qIElOIFBhY2tldCBSZWFkeSAqLworI2RlZmluZSBVRENDU1IwX09QQwkoMSA8PCAwKQkvKiBPVVQgUGFja2V0IENvbXBsZXRlICovCisKKyNkZWZpbmUgVURDQ1NSQSAgICAgICAgIF9fUkVHKDB4NDA2MDAxMDQpIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IEEgKi8KKyNkZWZpbmUgVURDQ1NSQiAgICAgICAgIF9fUkVHKDB4NDA2MDAxMDgpIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IEIgKi8KKyNkZWZpbmUgVURDQ1NSQyAgICAgICAgIF9fUkVHKDB4NDA2MDAxMEMpIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IEMgKi8KKyNkZWZpbmUgVURDQ1NSRCAgICAgICAgIF9fUkVHKDB4NDA2MDAxMTApIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IEQgKi8KKyNkZWZpbmUgVURDQ1NSRSAgICAgICAgIF9fUkVHKDB4NDA2MDAxMTQpIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IEUgKi8KKyNkZWZpbmUgVURDQ1NSRiAgICAgICAgIF9fUkVHKDB4NDA2MDAxMTgpIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IEYgKi8KKyNkZWZpbmUgVURDQ1NSRyAgICAgICAgIF9fUkVHKDB4NDA2MDAxMUMpIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IEcgKi8KKyNkZWZpbmUgVURDQ1NSSCAgICAgICAgIF9fUkVHKDB4NDA2MDAxMjApIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IEggKi8KKyNkZWZpbmUgVURDQ1NSSSAgICAgICAgIF9fUkVHKDB4NDA2MDAxMjQpIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IEkgKi8KKyNkZWZpbmUgVURDQ1NSSiAgICAgICAgIF9fUkVHKDB4NDA2MDAxMjgpIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IEogKi8KKyNkZWZpbmUgVURDQ1NSSyAgICAgICAgIF9fUkVHKDB4NDA2MDAxMkMpIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IEsgKi8KKyNkZWZpbmUgVURDQ1NSTCAgICAgICAgIF9fUkVHKDB4NDA2MDAxMzApIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IEwgKi8KKyNkZWZpbmUgVURDQ1NSTSAgICAgICAgIF9fUkVHKDB4NDA2MDAxMzQpIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IE0gKi8KKyNkZWZpbmUgVURDQ1NSTiAgICAgICAgIF9fUkVHKDB4NDA2MDAxMzgpIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IE4gKi8KKyNkZWZpbmUgVURDQ1NSUCAgICAgICAgIF9fUkVHKDB4NDA2MDAxM0MpIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IFAgKi8KKyNkZWZpbmUgVURDQ1NSUSAgICAgICAgIF9fUkVHKDB4NDA2MDAxNDApIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IFEgKi8KKyNkZWZpbmUgVURDQ1NSUiAgICAgICAgIF9fUkVHKDB4NDA2MDAxNDQpIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IFIgKi8KKyNkZWZpbmUgVURDQ1NSUyAgICAgICAgIF9fUkVHKDB4NDA2MDAxNDgpIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IFMgKi8KKyNkZWZpbmUgVURDQ1NSVCAgICAgICAgIF9fUkVHKDB4NDA2MDAxNEMpIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IFQgKi8KKyNkZWZpbmUgVURDQ1NSVSAgICAgICAgIF9fUkVHKDB4NDA2MDAxNTApIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IFUgKi8KKyNkZWZpbmUgVURDQ1NSViAgICAgICAgIF9fUkVHKDB4NDA2MDAxNTQpIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IFYgKi8KKyNkZWZpbmUgVURDQ1NSVyAgICAgICAgIF9fUkVHKDB4NDA2MDAxNTgpIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IFcgKi8KKyNkZWZpbmUgVURDQ1NSWCAgICAgICAgIF9fUkVHKDB4NDA2MDAxNUMpIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IFggKi8KKworI2RlZmluZSBVRENDU1JfRFBFCSgxIDw8IDkpCS8qIERhdGEgUGFja2V0IEVycm9yICovCisjZGVmaW5lIFVEQ0NTUl9GRUYJKDEgPDwgOCkJLyogRmx1c2ggRW5kcG9pbnQgRklGTyAqLworI2RlZmluZSBVRENDU1JfU1AJKDEgPDwgNykJLyogU2hvcnQgUGFja2V0IENvbnRyb2wvU3RhdHVzICovCisjZGVmaW5lIFVEQ0NTUl9CTkUJKDEgPDwgNikJLyogQnVmZmVyIE5vdCBFbXB0eSAoSU4gZW5kcG9pbnRzKSAqLworI2RlZmluZSBVRENDU1JfQk5GCSgxIDw8IDYpCS8qIEJ1ZmZlciBOb3QgRnVsbCAoT1VUIGVuZHBvaW50cykgKi8KKyNkZWZpbmUgVURDQ1NSX0ZTVAkoMSA8PCA1KQkvKiBGb3JjZSBTVEFMTCAqLworI2RlZmluZSBVRENDU1JfU1NUCSgxIDw8IDQpCS8qIFNlbnQgU1RBTEwgKi8KKyNkZWZpbmUgVURDQ1NSX0RNRQkoMSA8PCAzKQkvKiBETUEgRW5hYmxlICovCisjZGVmaW5lIFVEQ0NTUl9UUk4JKDEgPDwgMikJLyogVHgvUnggTkFLICovCisjZGVmaW5lIFVEQ0NTUl9QQwkoMSA8PCAxKQkvKiBQYWNrZXQgQ29tcGxldGUgKi8KKyNkZWZpbmUgVURDQ1NSX0ZTCSgxIDw8IDApCS8qIEZJRk8gbmVlZHMgc2VydmljZSAqLworCisjZGVmaW5lIFVEQ0JDTih4KQlfX1JFRzIoMHg0MDYwMDIwMCwgKHgpPDwyKQorI2RlZmluZSBVRENCQ1IwICAgICAgICAgX19SRUcoMHg0MDYwMDIwMCkgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQMCAqLworI2RlZmluZSBVRENCQ1JBICAgICAgICAgX19SRUcoMHg0MDYwMDIwNCkgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQQSAqLworI2RlZmluZSBVRENCQ1JCICAgICAgICAgX19SRUcoMHg0MDYwMDIwOCkgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQQiAqLworI2RlZmluZSBVRENCQ1JDICAgICAgICAgX19SRUcoMHg0MDYwMDIwQykgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQQyAqLworI2RlZmluZSBVRENCQ1JEICAgICAgICAgX19SRUcoMHg0MDYwMDIxMCkgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQRCAqLworI2RlZmluZSBVRENCQ1JFICAgICAgICAgX19SRUcoMHg0MDYwMDIxNCkgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQRSAqLworI2RlZmluZSBVRENCQ1JGICAgICAgICAgX19SRUcoMHg0MDYwMDIxOCkgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQRiAqLworI2RlZmluZSBVRENCQ1JHICAgICAgICAgX19SRUcoMHg0MDYwMDIxQykgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQRyAqLworI2RlZmluZSBVRENCQ1JIICAgICAgICAgX19SRUcoMHg0MDYwMDIyMCkgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQSCAqLworI2RlZmluZSBVRENCQ1JJICAgICAgICAgX19SRUcoMHg0MDYwMDIyNCkgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQSSAqLworI2RlZmluZSBVRENCQ1JKICAgICAgICAgX19SRUcoMHg0MDYwMDIyOCkgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQSiAqLworI2RlZmluZSBVRENCQ1JLICAgICAgICAgX19SRUcoMHg0MDYwMDIyQykgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQSyAqLworI2RlZmluZSBVRENCQ1JMICAgICAgICAgX19SRUcoMHg0MDYwMDIzMCkgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQTCAqLworI2RlZmluZSBVRENCQ1JNICAgICAgICAgX19SRUcoMHg0MDYwMDIzNCkgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQTSAqLworI2RlZmluZSBVRENCQ1JOICAgICAgICAgX19SRUcoMHg0MDYwMDIzOCkgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQTiAqLworI2RlZmluZSBVRENCQ1JQICAgICAgICAgX19SRUcoMHg0MDYwMDIzQykgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQUCAqLworI2RlZmluZSBVRENCQ1JRICAgICAgICAgX19SRUcoMHg0MDYwMDI0MCkgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQUSAqLworI2RlZmluZSBVRENCQ1JSICAgICAgICAgX19SRUcoMHg0MDYwMDI0NCkgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQUiAqLworI2RlZmluZSBVRENCQ1JTICAgICAgICAgX19SRUcoMHg0MDYwMDI0OCkgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQUyAqLworI2RlZmluZSBVRENCQ1JUICAgICAgICAgX19SRUcoMHg0MDYwMDI0QykgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQVCAqLworI2RlZmluZSBVRENCQ1JVICAgICAgICAgX19SRUcoMHg0MDYwMDI1MCkgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQVSAqLworI2RlZmluZSBVRENCQ1JWICAgICAgICAgX19SRUcoMHg0MDYwMDI1NCkgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQViAqLworI2RlZmluZSBVRENCQ1JXICAgICAgICAgX19SRUcoMHg0MDYwMDI1OCkgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQVyAqLworI2RlZmluZSBVRENCQ1JYICAgICAgICAgX19SRUcoMHg0MDYwMDI1QykgLyogQnl0ZSBDb3VudCBSZWdpc3RlciAtIEVQWCAqLworCisjZGVmaW5lIFVEQ0ROKHgpCV9fUkVHMigweDQwNjAwMzAwLCAoeCk8PDIpCisjZGVmaW5lIFBIWVNfVURDRE4oeCkJKDB4NDA2MDAzMDAgKyAoKHgpPDwyKSkKKyNkZWZpbmUgUFVEQ0ROKHgpCSh2b2xhdGlsZSB1MzIgKikoaW9fcDJ2KFBIWVNfVURDRE4oKHgpKSkpCisjZGVmaW5lIFVEQ0RSMCAgICAgICAgICBfX1JFRygweDQwNjAwMzAwKSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVAwICovCisjZGVmaW5lIFVEQ0RSQSAgICAgICAgICBfX1JFRygweDQwNjAwMzA0KSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBBICovCisjZGVmaW5lIFVEQ0RSQiAgICAgICAgICBfX1JFRygweDQwNjAwMzA4KSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBCICovCisjZGVmaW5lIFVEQ0RSQyAgICAgICAgICBfX1JFRygweDQwNjAwMzBDKSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBDICovCisjZGVmaW5lIFVEQ0RSRCAgICAgICAgICBfX1JFRygweDQwNjAwMzEwKSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBEICovCisjZGVmaW5lIFVEQ0RSRSAgICAgICAgICBfX1JFRygweDQwNjAwMzE0KSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBFICovCisjZGVmaW5lIFVEQ0RSRiAgICAgICAgICBfX1JFRygweDQwNjAwMzE4KSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBGICovCisjZGVmaW5lIFVEQ0RSRyAgICAgICAgICBfX1JFRygweDQwNjAwMzFDKSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBHICovCisjZGVmaW5lIFVEQ0RSSCAgICAgICAgICBfX1JFRygweDQwNjAwMzIwKSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBIICovCisjZGVmaW5lIFVEQ0RSSSAgICAgICAgICBfX1JFRygweDQwNjAwMzI0KSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBJICovCisjZGVmaW5lIFVEQ0RSSiAgICAgICAgICBfX1JFRygweDQwNjAwMzI4KSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBKICovCisjZGVmaW5lIFVEQ0RSSyAgICAgICAgICBfX1JFRygweDQwNjAwMzJDKSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBLICovCisjZGVmaW5lIFVEQ0RSTCAgICAgICAgICBfX1JFRygweDQwNjAwMzMwKSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBMICovCisjZGVmaW5lIFVEQ0RSTSAgICAgICAgICBfX1JFRygweDQwNjAwMzM0KSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBNICovCisjZGVmaW5lIFVEQ0RSTiAgICAgICAgICBfX1JFRygweDQwNjAwMzM4KSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBOICovCisjZGVmaW5lIFVEQ0RSUCAgICAgICAgICBfX1JFRygweDQwNjAwMzNDKSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBQICovCisjZGVmaW5lIFVEQ0RSUSAgICAgICAgICBfX1JFRygweDQwNjAwMzQwKSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBRICovCisjZGVmaW5lIFVEQ0RSUiAgICAgICAgICBfX1JFRygweDQwNjAwMzQ0KSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBSICovCisjZGVmaW5lIFVEQ0RSUyAgICAgICAgICBfX1JFRygweDQwNjAwMzQ4KSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBTICovCisjZGVmaW5lIFVEQ0RSVCAgICAgICAgICBfX1JFRygweDQwNjAwMzRDKSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBUICovCisjZGVmaW5lIFVEQ0RSVSAgICAgICAgICBfX1JFRygweDQwNjAwMzUwKSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBVICovCisjZGVmaW5lIFVEQ0RSViAgICAgICAgICBfX1JFRygweDQwNjAwMzU0KSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBWICovCisjZGVmaW5lIFVEQ0RSVyAgICAgICAgICBfX1JFRygweDQwNjAwMzU4KSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBXICovCisjZGVmaW5lIFVEQ0RSWCAgICAgICAgICBfX1JFRygweDQwNjAwMzVDKSAvKiBEYXRhIFJlZ2lzdGVyIC0gRVBYICovCisKKyNkZWZpbmUgVURDQ04oeCkgICAgICAgX19SRUcyKDB4NDA2MDA0MDAsICh4KTw8MikKKyNkZWZpbmUgVURDQ1JBICAgICAgICAgIF9fUkVHKDB4NDA2MDA0MDQpIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBBICovCisjZGVmaW5lIFVEQ0NSQiAgICAgICAgICBfX1JFRygweDQwNjAwNDA4KSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQQiAqLworI2RlZmluZSBVRENDUkMgICAgICAgICAgX19SRUcoMHg0MDYwMDQwQykgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUEMgKi8KKyNkZWZpbmUgVURDQ1JEICAgICAgICAgIF9fUkVHKDB4NDA2MDA0MTApIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBEICovCisjZGVmaW5lIFVEQ0NSRSAgICAgICAgICBfX1JFRygweDQwNjAwNDE0KSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQRSAqLworI2RlZmluZSBVRENDUkYgICAgICAgICAgX19SRUcoMHg0MDYwMDQxOCkgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUEYgKi8KKyNkZWZpbmUgVURDQ1JHICAgICAgICAgIF9fUkVHKDB4NDA2MDA0MUMpIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBHICovCisjZGVmaW5lIFVEQ0NSSCAgICAgICAgICBfX1JFRygweDQwNjAwNDIwKSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQSCAqLworI2RlZmluZSBVRENDUkkgICAgICAgICAgX19SRUcoMHg0MDYwMDQyNCkgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUEkgKi8KKyNkZWZpbmUgVURDQ1JKICAgICAgICAgIF9fUkVHKDB4NDA2MDA0MjgpIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBKICovCisjZGVmaW5lIFVEQ0NSSyAgICAgICAgICBfX1JFRygweDQwNjAwNDJDKSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQSyAqLworI2RlZmluZSBVRENDUkwgICAgICAgICAgX19SRUcoMHg0MDYwMDQzMCkgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUEwgKi8KKyNkZWZpbmUgVURDQ1JNICAgICAgICAgIF9fUkVHKDB4NDA2MDA0MzQpIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBNICovCisjZGVmaW5lIFVEQ0NSTiAgICAgICAgICBfX1JFRygweDQwNjAwNDM4KSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQTiAqLworI2RlZmluZSBVRENDUlAgICAgICAgICAgX19SRUcoMHg0MDYwMDQzQykgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUFAgKi8KKyNkZWZpbmUgVURDQ1JRICAgICAgICAgIF9fUkVHKDB4NDA2MDA0NDApIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBRICovCisjZGVmaW5lIFVEQ0NSUiAgICAgICAgICBfX1JFRygweDQwNjAwNDQ0KSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQUiAqLworI2RlZmluZSBVRENDUlMgICAgICAgICAgX19SRUcoMHg0MDYwMDQ0OCkgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUFMgKi8KKyNkZWZpbmUgVURDQ1JUICAgICAgICAgIF9fUkVHKDB4NDA2MDA0NEMpIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBUICovCisjZGVmaW5lIFVEQ0NSVSAgICAgICAgICBfX1JFRygweDQwNjAwNDUwKSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQVSAqLworI2RlZmluZSBVRENDUlYgICAgICAgICAgX19SRUcoMHg0MDYwMDQ1NCkgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUFYgKi8KKyNkZWZpbmUgVURDQ1JXICAgICAgICAgIF9fUkVHKDB4NDA2MDA0NTgpIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBXICovCisjZGVmaW5lIFVEQ0NSWCAgICAgICAgICBfX1JFRygweDQwNjAwNDVDKSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQWCAqLworCisjZGVmaW5lIFVEQ0NPTlJfQ04JKDB4MDMgPDwgMjUpCS8qIENvbmZpZ3VyYXRpb24gTnVtYmVyICovCisjZGVmaW5lIFVEQ0NPTlJfQ05fUwkoMjUpCisjZGVmaW5lIFVEQ0NPTlJfSU4JKDB4MDcgPDwgMjIpCS8qIEludGVyZmFjZSBOdW1iZXIgKi8KKyNkZWZpbmUgVURDQ09OUl9JTl9TCSgyMikKKyNkZWZpbmUgVURDQ09OUl9BSVNOCSgweDA3IDw8IDE5KQkvKiBBbHRlcm5hdGUgSW50ZXJmYWNlIE51bWJlciAqLworI2RlZmluZSBVRENDT05SX0FJU05fUwkoMTkpCisjZGVmaW5lIFVEQ0NPTlJfRU4JKDB4MGYgPDwgMTUpCS8qIEVuZHBvaW50IE51bWJlciAqLworI2RlZmluZSBVRENDT05SX0VOX1MJKDE1KQorI2RlZmluZSBVRENDT05SX0VUCSgweDAzIDw8IDEzKQkvKiBFbmRwb2ludCBUeXBlOiAqLworI2RlZmluZSBVRENDT05SX0VUX1MJKDEzKQorI2RlZmluZSBVRENDT05SX0VUX0lOVAkoMHgwMyA8PCAxMykJLyogICBJbnRlcnJ1cHQgKi8KKyNkZWZpbmUgVURDQ09OUl9FVF9CVUxLCSgweDAyIDw8IDEzKQkvKiAgIEJ1bGsgKi8KKyNkZWZpbmUgVURDQ09OUl9FVF9JU08JKDB4MDEgPDwgMTMpCS8qICAgSXNvY2hyb25vdXMgKi8KKyNkZWZpbmUgVURDQ09OUl9FVF9OVQkoMHgwMCA8PCAxMykJLyogICBOb3QgdXNlZCAqLworI2RlZmluZSBVRENDT05SX0VECSgxIDw8IDEyKQkvKiBFbmRwb2ludCBEaXJlY3Rpb24gKi8KKyNkZWZpbmUgVURDQ09OUl9NUFMJKDB4M2ZmIDw8IDIpCS8qIE1heGltdW0gUGFja2V0IFNpemUgKi8KKyNkZWZpbmUgVURDQ09OUl9NUFNfUwkoMikKKyNkZWZpbmUgVURDQ09OUl9ERQkoMSA8PCAxKQkvKiBEb3VibGUgQnVmZmVyaW5nIEVuYWJsZSAqLworI2RlZmluZSBVRENDT05SX0VFCSgxIDw8IDApCS8qIEVuZHBvaW50IEVuYWJsZSAqLworCisKKyNkZWZpbmUgVURDX0lOVF9GSUZPRVJST1IgICgweDIpCisjZGVmaW5lIFVEQ19JTlRfUEFDS0VUQ01QICAoMHgxKQorCisjZGVmaW5lIFVEQ19GTlJfTUFTSyAgICAgKDB4N2ZmKQorCisjZGVmaW5lIFVEQ0NTUl9XUl9NQVNLICAgKFVEQ0NTUl9ETUV8VURDQ1NSX0ZTVCkKKyNkZWZpbmUgVURDX0JDUl9NQVNLICAgICgweDNmZikKKworI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvcHhhMnh4LWdwaW8uaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9weGEyeHgtZ3Bpby5oCmluZGV4IGI4MWNkNjMuLjZlZjFkZDAgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9weGEyeHgtZ3Bpby5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9weGEyeHgtZ3Bpby5oCkBAIC0xLDYgKzEsOCBAQAogI2lmbmRlZiBfX0FTTV9BUkNIX1BYQTJYWF9HUElPX0gKICNkZWZpbmUgX19BU01fQVJDSF9QWEEyWFhfR1BJT19ICiAKKyN3YXJuaW5nIFBsZWFzZSB1c2UgbWZwLXB4YTJbNTddeC5oIGluc3RlYWQgb2YgcHhhMnh4LWdwaW8uaAorCiAvKiBHUElPIGFsdGVybmF0ZSBmdW5jdGlvbiBhc3NpZ25tZW50cyAqLwogCiAjZGVmaW5lIEdQSU8xX1JTVAkJMQkvKiByZXNldCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL3B4YTJ4eC1yZWdzLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvcHhhMnh4LXJlZ3MuaAppbmRleCA5NTUzYjU0Li43M2UwYTMyIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvcHhhMnh4LXJlZ3MuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvcHhhMnh4LXJlZ3MuaApAQCAtODEsNCArODEsMTY2IEBACiAKICNlbmRpZgogCisKKy8qCisgKiBQb3dlciBNYW5hZ2VyCisgKi8KKworI2RlZmluZSBQTUNSCQlfX1JFRygweDQwRjAwMDAwKSAgLyogUG93ZXIgTWFuYWdlciBDb250cm9sIFJlZ2lzdGVyICovCisjZGVmaW5lIFBTU1IJCV9fUkVHKDB4NDBGMDAwMDQpICAvKiBQb3dlciBNYW5hZ2VyIFNsZWVwIFN0YXR1cyBSZWdpc3RlciAqLworI2RlZmluZSBQU1BSCQlfX1JFRygweDQwRjAwMDA4KSAgLyogUG93ZXIgTWFuYWdlciBTY3JhdGNoIFBhZCBSZWdpc3RlciAqLworI2RlZmluZSBQV0VSCQlfX1JFRygweDQwRjAwMDBDKSAgLyogUG93ZXIgTWFuYWdlciBXYWtlLXVwIEVuYWJsZSBSZWdpc3RlciAqLworI2RlZmluZSBQUkVSCQlfX1JFRygweDQwRjAwMDEwKSAgLyogUG93ZXIgTWFuYWdlciBHUElPIFJpc2luZy1FZGdlIERldGVjdCBFbmFibGUgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgUEZFUgkJX19SRUcoMHg0MEYwMDAxNCkgIC8qIFBvd2VyIE1hbmFnZXIgR1BJTyBGYWxsaW5nLUVkZ2UgRGV0ZWN0IEVuYWJsZSBSZWdpc3RlciAqLworI2RlZmluZSBQRURSCQlfX1JFRygweDQwRjAwMDE4KSAgLyogUG93ZXIgTWFuYWdlciBHUElPIEVkZ2UgRGV0ZWN0IFN0YXR1cyBSZWdpc3RlciAqLworI2RlZmluZSBQQ0ZSCQlfX1JFRygweDQwRjAwMDFDKSAgLyogUG93ZXIgTWFuYWdlciBHZW5lcmFsIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIgKi8KKyNkZWZpbmUgUEdTUjAJCV9fUkVHKDB4NDBGMDAwMjApICAvKiBQb3dlciBNYW5hZ2VyIEdQSU8gU2xlZXAgU3RhdGUgUmVnaXN0ZXIgZm9yIEdQWzMxLTBdICovCisjZGVmaW5lIFBHU1IxCQlfX1JFRygweDQwRjAwMDI0KSAgLyogUG93ZXIgTWFuYWdlciBHUElPIFNsZWVwIFN0YXRlIFJlZ2lzdGVyIGZvciBHUFs2My0zMl0gKi8KKyNkZWZpbmUgUEdTUjIJCV9fUkVHKDB4NDBGMDAwMjgpICAvKiBQb3dlciBNYW5hZ2VyIEdQSU8gU2xlZXAgU3RhdGUgUmVnaXN0ZXIgZm9yIEdQWzg0LTY0XSAqLworI2RlZmluZSBQR1NSMwkJX19SRUcoMHg0MEYwMDAyQykgIC8qIFBvd2VyIE1hbmFnZXIgR1BJTyBTbGVlcCBTdGF0ZSBSZWdpc3RlciBmb3IgR1BbMTE4LTk2XSAqLworI2RlZmluZSBSQ1NSCQlfX1JFRygweDQwRjAwMDMwKSAgLyogUmVzZXQgQ29udHJvbGxlciBTdGF0dXMgUmVnaXN0ZXIgKi8KKworI2RlZmluZSBQU0xSCQlfX1JFRygweDQwRjAwMDM0KQkvKiBQb3dlciBNYW5hZ2VyIFNsZWVwIENvbmZpZyBSZWdpc3RlciAqLworI2RlZmluZSBQU1RSCQlfX1JFRygweDQwRjAwMDM4KQkvKiBQb3dlciBNYW5hZ2VyIFN0YW5kYnkgQ29uZmlnIFJlZ2lzdGVyICovCisjZGVmaW5lIFBTTlIJCV9fUkVHKDB4NDBGMDAwM0MpCS8qIFBvd2VyIE1hbmFnZXIgU2Vuc2UgQ29uZmlnIFJlZ2lzdGVyICovCisjZGVmaW5lIFBWQ1IJCV9fUkVHKDB4NDBGMDAwNDApCS8qIFBvd2VyIE1hbmFnZXIgVm9sdGFnZUNvbnRyb2wgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgUEtXUgkJX19SRUcoMHg0MEYwMDA1MCkJLyogUG93ZXIgTWFuYWdlciBLQiBXYWtlLXVwIEVuYWJsZSBSZWcgKi8KKyNkZWZpbmUgUEtTUgkJX19SRUcoMHg0MEYwMDA1NCkJLyogUG93ZXIgTWFuYWdlciBLQiBMZXZlbC1EZXRlY3QgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgUENNRCh4KQlfX1JFRzIoMHg0MEYwMDA4MCwgKHgpPDwyKQorI2RlZmluZSBQQ01EMAlfX1JFRygweDQwRjAwMDgwICsgMCAqIDQpCisjZGVmaW5lIFBDTUQxCV9fUkVHKDB4NDBGMDAwODAgKyAxICogNCkKKyNkZWZpbmUgUENNRDIJX19SRUcoMHg0MEYwMDA4MCArIDIgKiA0KQorI2RlZmluZSBQQ01EMwlfX1JFRygweDQwRjAwMDgwICsgMyAqIDQpCisjZGVmaW5lIFBDTUQ0CV9fUkVHKDB4NDBGMDAwODAgKyA0ICogNCkKKyNkZWZpbmUgUENNRDUJX19SRUcoMHg0MEYwMDA4MCArIDUgKiA0KQorI2RlZmluZSBQQ01ENglfX1JFRygweDQwRjAwMDgwICsgNiAqIDQpCisjZGVmaW5lIFBDTUQ3CV9fUkVHKDB4NDBGMDAwODAgKyA3ICogNCkKKyNkZWZpbmUgUENNRDgJX19SRUcoMHg0MEYwMDA4MCArIDggKiA0KQorI2RlZmluZSBQQ01EOQlfX1JFRygweDQwRjAwMDgwICsgOSAqIDQpCisjZGVmaW5lIFBDTUQxMAlfX1JFRygweDQwRjAwMDgwICsgMTAgKiA0KQorI2RlZmluZSBQQ01EMTEJX19SRUcoMHg0MEYwMDA4MCArIDExICogNCkKKyNkZWZpbmUgUENNRDEyCV9fUkVHKDB4NDBGMDAwODAgKyAxMiAqIDQpCisjZGVmaW5lIFBDTUQxMwlfX1JFRygweDQwRjAwMDgwICsgMTMgKiA0KQorI2RlZmluZSBQQ01EMTQJX19SRUcoMHg0MEYwMDA4MCArIDE0ICogNCkKKyNkZWZpbmUgUENNRDE1CV9fUkVHKDB4NDBGMDAwODAgKyAxNSAqIDQpCisjZGVmaW5lIFBDTUQxNglfX1JFRygweDQwRjAwMDgwICsgMTYgKiA0KQorI2RlZmluZSBQQ01EMTcJX19SRUcoMHg0MEYwMDA4MCArIDE3ICogNCkKKyNkZWZpbmUgUENNRDE4CV9fUkVHKDB4NDBGMDAwODAgKyAxOCAqIDQpCisjZGVmaW5lIFBDTUQxOQlfX1JFRygweDQwRjAwMDgwICsgMTkgKiA0KQorI2RlZmluZSBQQ01EMjAJX19SRUcoMHg0MEYwMDA4MCArIDIwICogNCkKKyNkZWZpbmUgUENNRDIxCV9fUkVHKDB4NDBGMDAwODAgKyAyMSAqIDQpCisjZGVmaW5lIFBDTUQyMglfX1JFRygweDQwRjAwMDgwICsgMjIgKiA0KQorI2RlZmluZSBQQ01EMjMJX19SRUcoMHg0MEYwMDA4MCArIDIzICogNCkKKyNkZWZpbmUgUENNRDI0CV9fUkVHKDB4NDBGMDAwODAgKyAyNCAqIDQpCisjZGVmaW5lIFBDTUQyNQlfX1JFRygweDQwRjAwMDgwICsgMjUgKiA0KQorI2RlZmluZSBQQ01EMjYJX19SRUcoMHg0MEYwMDA4MCArIDI2ICogNCkKKyNkZWZpbmUgUENNRDI3CV9fUkVHKDB4NDBGMDAwODAgKyAyNyAqIDQpCisjZGVmaW5lIFBDTUQyOAlfX1JFRygweDQwRjAwMDgwICsgMjggKiA0KQorI2RlZmluZSBQQ01EMjkJX19SRUcoMHg0MEYwMDA4MCArIDI5ICogNCkKKyNkZWZpbmUgUENNRDMwCV9fUkVHKDB4NDBGMDAwODAgKyAzMCAqIDQpCisjZGVmaW5lIFBDTUQzMQlfX1JFRygweDQwRjAwMDgwICsgMzEgKiA0KQorCisjZGVmaW5lIFBDTURfTUJDCSgxPDwxMikKKyNkZWZpbmUgUENNRF9EQ0UJKDE8PDExKQorI2RlZmluZSBQQ01EX0xDCSgxPDwxMCkKKy8qIEZJWE1FOiAgUENNRF9TUUMgbmVlZCBiZSBjaGVja2VkLiAgICovCisjZGVmaW5lIFBDTURfU1FDCSgzPDw4KQkvKiBjdXJyZW50bHkgb25seSBiaXQgOCBpcyBjaGFuZ2VhYmxlLAorCQkJCSAgIGJpdCA5IHNob3VsZCBiZSAwIGFsbCBkYXkuICovCisjZGVmaW5lIFBWQ1JfVkNTQQkoMHgxPDwxNCkKKyNkZWZpbmUgUFZDUl9Db21tYW5kRGVsYXkgKDB4ZjgwKQorI2RlZmluZSBQQ0ZSX1BJMkNfRU4JKDB4MSA8PCA2KQorCisjZGVmaW5lIFBTU1JfT1RHUEgJKDEgPDwgNikJLyogT1RHIFBlcmlwaGVyYWwgY29udHJvbCBIb2xkICovCisjZGVmaW5lIFBTU1JfUkRICSgxIDw8IDUpCS8qIFJlYWQgRGlzYWJsZSBIb2xkICovCisjZGVmaW5lIFBTU1JfUEgJCSgxIDw8IDQpCS8qIFBlcmlwaGVyYWwgQ29udHJvbCBIb2xkICovCisjZGVmaW5lIFBTU1JfU1RTCSgxIDw8IDMpCS8qIFN0YW5kYnkgTW9kZSBTdGF0dXMgKi8KKyNkZWZpbmUgUFNTUl9WRlMJKDEgPDwgMikJLyogVkREIEZhdWx0IFN0YXR1cyAqLworI2RlZmluZSBQU1NSX0JGUwkoMSA8PCAxKQkvKiBCYXR0ZXJ5IEZhdWx0IFN0YXR1cyAqLworI2RlZmluZSBQU1NSX1NTUwkoMSA8PCAwKQkvKiBTb2Z0d2FyZSBTbGVlcCBTdGF0dXMgKi8KKworI2RlZmluZSBQU0xSX1NMX1JPRAkoMSA8PCAyMCkJLyogU2xlZXAtTW9kZS9EZXBwLVNsZWVwIE1vZGUgblJFU0VUX09VVCBEaXNhYmxlICovCisKKyNkZWZpbmUgUENGUl9STwkJKDEgPDwgMTUpCS8qIFJESCBPdmVycmlkZSAqLworI2RlZmluZSBQQ0ZSX1BPCQkoMSA8PCAxNCkJLyogUEggT3ZlcnJpZGUgKi8KKyNkZWZpbmUgUENGUl9HUFJPRAkoMSA8PCAxMikJLyogR1BJTyBuUkVTRVRfT1VUIERpc2FibGUgKi8KKyNkZWZpbmUgUENGUl9MMV9FTgkoMSA8PCAxMSkJLyogU2xlZXAgTW9kZSBMMSBjb252ZXJ0ZXIgRW5hYmxlICovCisjZGVmaW5lIFBDRlJfRlZDCSgxIDw8IDEwKQkvKiBGcmVxdWVuY3kvVm9sdGFnZSBDaGFuZ2UgKi8KKyNkZWZpbmUgUENGUl9EQ19FTgkoMSA8PCA3KQkvKiBTbGVlcC9kZWVwLXNsZWVwIERDLURDIENvbnZlcnRlciBFbmFibGUgKi8KKyNkZWZpbmUgUENGUl9QSTJDRU4JKDEgPDwgNikJLyogRW5hYmxlIFBJMkMgY29udHJvbGxlciAqLworI2RlZmluZSBQQ0ZSX0dQUl9FTgkoMSA8PCA0KQkvKiBuUkVTRVRfR1BJTyBQaW4gRW5hYmxlICovCisjZGVmaW5lIFBDRlJfRFMJCSgxIDw8IDMpCS8qIERlZXAgU2xlZXAgTW9kZSAqLworI2RlZmluZSBQQ0ZSX0ZTCQkoMSA8PCAyKQkvKiBGbG9hdCBTdGF0aWMgQ2hpcCBTZWxlY3RzICovCisjZGVmaW5lIFBDRlJfRlAJCSgxIDw8IDEpCS8qIEZsb2F0IFBDTUNJQSBjb250cm9scyAqLworI2RlZmluZSBQQ0ZSX09QREUJKDEgPDwgMCkJLyogMy42ODY0IE1IeiBvc2NpbGxhdG9yIHBvd2VyLWRvd24gZW5hYmxlICovCisKKyNkZWZpbmUgUkNTUl9HUFIJKDEgPDwgMykJLyogR1BJTyBSZXNldCAqLworI2RlZmluZSBSQ1NSX1NNUgkoMSA8PCAyKQkvKiBTbGVlcCBNb2RlICovCisjZGVmaW5lIFJDU1JfV0RSCSgxIDw8IDEpCS8qIFdhdGNoZG9nIFJlc2V0ICovCisjZGVmaW5lIFJDU1JfSFdSCSgxIDw8IDApCS8qIEhhcmR3YXJlIFJlc2V0ICovCisKKyNkZWZpbmUgUFdFUl9HUElPKE5iKQkoMSA8PCBOYikJLyogR1BJTyBbMC4uMTVdIHdha2UtdXAgZW5hYmxlICAgICAqLworI2RlZmluZSBQV0VSX0dQSU8wCVBXRVJfR1BJTyAoMCkJLyogR1BJTyAgWzBdIHdha2UtdXAgZW5hYmxlICAgICAgICAqLworI2RlZmluZSBQV0VSX0dQSU8xCVBXRVJfR1BJTyAoMSkJLyogR1BJTyAgWzFdIHdha2UtdXAgZW5hYmxlICAgICAgICAqLworI2RlZmluZSBQV0VSX0dQSU8yCVBXRVJfR1BJTyAoMikJLyogR1BJTyAgWzJdIHdha2UtdXAgZW5hYmxlICAgICAgICAqLworI2RlZmluZSBQV0VSX0dQSU8zCVBXRVJfR1BJTyAoMykJLyogR1BJTyAgWzNdIHdha2UtdXAgZW5hYmxlICAgICAgICAqLworI2RlZmluZSBQV0VSX0dQSU80CVBXRVJfR1BJTyAoNCkJLyogR1BJTyAgWzRdIHdha2UtdXAgZW5hYmxlICAgICAgICAqLworI2RlZmluZSBQV0VSX0dQSU81CVBXRVJfR1BJTyAoNSkJLyogR1BJTyAgWzVdIHdha2UtdXAgZW5hYmxlICAgICAgICAqLworI2RlZmluZSBQV0VSX0dQSU82CVBXRVJfR1BJTyAoNikJLyogR1BJTyAgWzZdIHdha2UtdXAgZW5hYmxlICAgICAgICAqLworI2RlZmluZSBQV0VSX0dQSU83CVBXRVJfR1BJTyAoNykJLyogR1BJTyAgWzddIHdha2UtdXAgZW5hYmxlICAgICAgICAqLworI2RlZmluZSBQV0VSX0dQSU84CVBXRVJfR1BJTyAoOCkJLyogR1BJTyAgWzhdIHdha2UtdXAgZW5hYmxlICAgICAgICAqLworI2RlZmluZSBQV0VSX0dQSU85CVBXRVJfR1BJTyAoOSkJLyogR1BJTyAgWzldIHdha2UtdXAgZW5hYmxlICAgICAgICAqLworI2RlZmluZSBQV0VSX0dQSU8xMAlQV0VSX0dQSU8gKDEwKQkvKiBHUElPIFsxMF0gd2FrZS11cCBlbmFibGUgICAgICAgICovCisjZGVmaW5lIFBXRVJfR1BJTzExCVBXRVJfR1BJTyAoMTEpCS8qIEdQSU8gWzExXSB3YWtlLXVwIGVuYWJsZSAgICAgICAgKi8KKyNkZWZpbmUgUFdFUl9HUElPMTIJUFdFUl9HUElPICgxMikJLyogR1BJTyBbMTJdIHdha2UtdXAgZW5hYmxlICAgICAgICAqLworI2RlZmluZSBQV0VSX0dQSU8xMwlQV0VSX0dQSU8gKDEzKQkvKiBHUElPIFsxM10gd2FrZS11cCBlbmFibGUgICAgICAgICovCisjZGVmaW5lIFBXRVJfR1BJTzE0CVBXRVJfR1BJTyAoMTQpCS8qIEdQSU8gWzE0XSB3YWtlLXVwIGVuYWJsZSAgICAgICAgKi8KKyNkZWZpbmUgUFdFUl9HUElPMTUJUFdFUl9HUElPICgxNSkJLyogR1BJTyBbMTVdIHdha2UtdXAgZW5hYmxlICAgICAgICAqLworI2RlZmluZSBQV0VSX1JUQwkweDgwMDAwMDAwCS8qIFJUQyBhbGFybSB3YWtlLXVwIGVuYWJsZSAgICAgICAgKi8KKworLyoKKyAqIFBYQTJ4eCBzcGVjaWZpYyBDb3JlIGNsb2NrIGRlZmluaXRpb25zCisgKi8KKyNkZWZpbmUgQ0NDUgkJX19SRUcoMHg0MTMwMDAwMCkgIC8qIENvcmUgQ2xvY2sgQ29uZmlndXJhdGlvbiBSZWdpc3RlciAqLworI2RlZmluZSBDQ1NSCQlfX1JFRygweDQxMzAwMDBDKSAgLyogQ29yZSBDbG9jayBTdGF0dXMgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgQ0tFTgkJX19SRUcoMHg0MTMwMDAwNCkgIC8qIENsb2NrIEVuYWJsZSBSZWdpc3RlciAqLworI2RlZmluZSBPU0NDCQlfX1JFRygweDQxMzAwMDA4KSAgLyogT3NjaWxsYXRvciBDb25maWd1cmF0aW9uIFJlZ2lzdGVyICovCisKKyNkZWZpbmUgQ0NDUl9OX01BU0sJMHgwMzgwCS8qIFJ1biBNb2RlIEZyZXF1ZW5jeSB0byBUdXJibyBNb2RlIEZyZXF1ZW5jeSBNdWx0aXBsaWVyICovCisjZGVmaW5lIENDQ1JfTV9NQVNLCTB4MDA2MAkvKiBNZW1vcnkgRnJlcXVlbmN5IHRvIFJ1biBNb2RlIEZyZXF1ZW5jeSBNdWx0aXBsaWVyICovCisjZGVmaW5lIENDQ1JfTF9NQVNLCTB4MDAxZgkvKiBDcnlzdGFsIEZyZXF1ZW5jeSB0byBNZW1vcnkgRnJlcXVlbmN5IE11bHRpcGxpZXIgKi8KKworI2RlZmluZSBDS0VOX0FDOTdDT05GICAgKDMxKSAgICAvKiBBQzk3IENvbnRyb2xsZXIgQ29uZmlndXJhdGlvbiAqLworI2RlZmluZSBDS0VOX0NBTUVSQQkoMjQpCS8qIENhbWVyYSBJbnRlcmZhY2UgQ2xvY2sgRW5hYmxlICovCisjZGVmaW5lIENLRU5fU1NQMQkoMjMpCS8qIFNTUDEgVW5pdCBDbG9jayBFbmFibGUgKi8KKyNkZWZpbmUgQ0tFTl9NRU1DCSgyMikJLyogTWVtb3J5IENvbnRyb2xsZXIgQ2xvY2sgRW5hYmxlICovCisjZGVmaW5lIENLRU5fTUVNU1RLCSgyMSkJLyogTWVtb3J5IFN0aWNrIEhvc3QgQ29udHJvbGxlciAqLworI2RlZmluZSBDS0VOX0lNCQkoMjApCS8qIEludGVybmFsIE1lbW9yeSBDbG9jayBFbmFibGUgKi8KKyNkZWZpbmUgQ0tFTl9LRVlQQUQJKDE5KQkvKiBLZXlwYWQgSW50ZXJmYWNlIENsb2NrIEVuYWJsZSAqLworI2RlZmluZSBDS0VOX1VTSU0JKDE4KQkvKiBVU0lNIFVuaXQgQ2xvY2sgRW5hYmxlICovCisjZGVmaW5lIENLRU5fTVNMCSgxNykJLyogTVNMIFVuaXQgQ2xvY2sgRW5hYmxlICovCisjZGVmaW5lIENLRU5fTENECSgxNikJLyogTENEIFVuaXQgQ2xvY2sgRW5hYmxlICovCisjZGVmaW5lIENLRU5fUFdSSTJDCSgxNSkJLyogUFdSIEkyQyBVbml0IENsb2NrIEVuYWJsZSAqLworI2RlZmluZSBDS0VOX0kyQwkoMTQpCS8qIEkyQyBVbml0IENsb2NrIEVuYWJsZSAqLworI2RlZmluZSBDS0VOX0ZJQ1AJKDEzKQkvKiBGSUNQIFVuaXQgQ2xvY2sgRW5hYmxlICovCisjZGVmaW5lIENLRU5fTU1DCSgxMikJLyogTU1DIFVuaXQgQ2xvY2sgRW5hYmxlICovCisjZGVmaW5lIENLRU5fVVNCCSgxMSkJLyogVVNCIFVuaXQgQ2xvY2sgRW5hYmxlICovCisjZGVmaW5lIENLRU5fQVNTUAkoMTApCS8qIEFTU1AgKFNTUDMpIENsb2NrIEVuYWJsZSAqLworI2RlZmluZSBDS0VOX1VTQkhPU1QJKDEwKQkvKiBVU0IgSG9zdCBVbml0IENsb2NrIEVuYWJsZSAqLworI2RlZmluZSBDS0VOX09TVElNRVIJKDkpCS8qIE9TIFRpbWVyIFVuaXQgQ2xvY2sgRW5hYmxlICovCisjZGVmaW5lIENLRU5fTlNTUAkoOSkJLyogTlNTUCAoU1NQMikgQ2xvY2sgRW5hYmxlICovCisjZGVmaW5lIENLRU5fSTJTCSg4KQkvKiBJMlMgVW5pdCBDbG9jayBFbmFibGUgKi8KKyNkZWZpbmUgQ0tFTl9CVFVBUlQJKDcpCS8qIEJUVUFSVCBVbml0IENsb2NrIEVuYWJsZSAqLworI2RlZmluZSBDS0VOX0ZGVUFSVAkoNikJLyogRkZVQVJUIFVuaXQgQ2xvY2sgRW5hYmxlICovCisjZGVmaW5lIENLRU5fU1RVQVJUCSg1KQkvKiBTVFVBUlQgVW5pdCBDbG9jayBFbmFibGUgKi8KKyNkZWZpbmUgQ0tFTl9IV1VBUlQJKDQpCS8qIEhXVUFSVCBVbml0IENsb2NrIEVuYWJsZSAqLworI2RlZmluZSBDS0VOX1NTUDMJKDQpCS8qIFNTUDMgVW5pdCBDbG9jayBFbmFibGUgKi8KKyNkZWZpbmUgQ0tFTl9TU1AJKDMpCS8qIFNTUCBVbml0IENsb2NrIEVuYWJsZSAqLworI2RlZmluZSBDS0VOX1NTUDIJKDMpCS8qIFNTUDIgVW5pdCBDbG9jayBFbmFibGUgKi8KKyNkZWZpbmUgQ0tFTl9BQzk3CSgyKQkvKiBBQzk3IFVuaXQgQ2xvY2sgRW5hYmxlICovCisjZGVmaW5lIENLRU5fUFdNMQkoMSkJLyogUFdNMSBDbG9jayBFbmFibGUgKi8KKyNkZWZpbmUgQ0tFTl9QV00wCSgwKQkvKiBQV00wIENsb2NrIEVuYWJsZSAqLworCisjZGVmaW5lIE9TQ0NfT09OCSgxIDw8IDEpCS8qIDMyLjc2OGtIeiBPT04gKHdyaXRlLW9uY2Ugb25seSBiaXQpICovCisjZGVmaW5lIE9TQ0NfT09LCSgxIDw8IDApCS8qIDMyLjc2OGtIeiBPT0sgKHJlYWQtb25seSBiaXQpICovCisKICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL3N5c3RlbS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL3N5c3RlbS5oCmluZGV4IDlhYTZjMmUuLmJhN2UxMzIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9zeXN0ZW0uaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvc3lzdGVtLmgKQEAgLTEyLDYgKzEyLDcgQEAKIAogI2luY2x1ZGUgPGFzbS9wcm9jLWZucy5oPgogI2luY2x1ZGUgImhhcmR3YXJlLmgiCisjaW5jbHVkZSAicHhhMnh4LXJlZ3MuaCIKICNpbmNsdWRlICJweGEtcmVncy5oIgogCiBzdGF0aWMgaW5saW5lIHZvaWQgYXJjaF9pZGxlKHZvaWQpCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvenlsb25pdGUuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS96eWxvbml0ZS5oCmluZGV4IDQ4ODFiODAuLmRlNTc3ZGUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS96eWxvbml0ZS5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS96eWxvbml0ZS5oCkBAIC0xNSw3ICsxNSw2IEBACiAKIGV4dGVybiBzdHJ1Y3QgcGxhdGZvcm1fbW1jX3Nsb3Qgenlsb25pdGVfbW1jX3Nsb3RbXTsKIAotZXh0ZXJuIGludCBncGlvX2JhY2tsaWdodDsKIGV4dGVybiBpbnQgZ3Bpb19ldGhfaXJxOwogCiBleHRlcm4gaW50IHdtOTcxM19pcnE7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1ycGMvaW8uaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLXJwYy9pby5oCmluZGV4IGI0ZGEwOGQuLjZiZDIyOTUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLXJwYy9pby5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLXJwYy9pby5oCkBAIC0xMjYsNyArMTI2LDcgQEAKIAlyZXR1cm4gKHVuc2lnbmVkIHN6KXZhbHVlOwkJCQkJCVwKIH0KIAotc3RhdGljIGlubGluZSB2b2lkIF9faW9tZW0gKl9faW9hZGRyKHVuc2lnbmVkIGludCBwb3J0KQorc3RhdGljIGlubGluZSB2b2lkIF9faW9tZW0gKl9fZGVwcmVjYXRlZCBfX2lvYWRkcih1bnNpZ25lZCBpbnQgcG9ydCkKIHsKIAl2b2lkIF9faW9tZW0gKnJldDsKIAlpZiAoX19QT1JUX1BDSU8ocG9ydCkpCkBAIC0yMzIsOCArMjMyLDcgQEAKIAlyZXN1bHQ7CQkJCQkJCQkJXAogfSkKIAotI2RlZmluZSBfX2lvYWRkcmMocG9ydCkJCVwKLQkoKF9fUE9SVF9QQ0lPKHBvcnQpID8gUENJT19CQVNFIDogSU9fQkFTRSkgKyAoKHBvcnQpIDw8IDIpKQorI2RlZmluZSBfX2lvYWRkcmMocG9ydCkJCV9faW9hZGRyKHBvcnQpCiAKICNkZWZpbmUgaW5iKHApCSAJKF9fYnVpbHRpbl9jb25zdGFudF9wKChwKSkgPyBfX2luYmMocCkgICAgOiBfX2luYihwKSkKICNkZWZpbmUgaW53KHApCSAJKF9fYnVpbHRpbl9jb25zdGFudF9wKChwKSkgPyBfX2lud2MocCkgICAgOiBfX2ludyhwKSkKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLXMzYzI0MTAvZ3Bpby5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtczNjMjQxMC9ncGlvLmgKaW5kZXggNzU4Mzg5NS4uMThlMTBkMiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtczNjMjQxMC9ncGlvLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtczNjMjQxMC9ncGlvLmgKQEAgLTEsNjggKzEsMTggQEAKLS8qCi0gKiBsaW51eC9pbmNsdWRlL2FzbS1hcm0vYXJjaC1zM2MyNDEwL2dwaW8uaAorLyogbGludXgvaW5jbHVkZS9hc20tYXJtL2FyY2gtczNjMjQxMC9ncGlvLmgKICAqCi0gKiBTM0MyNDEwIEdQSU8gd3JhcHBlcnMgZm9yIGFyY2gtbmV1dHJhbCBHUElPIGNhbGxzCisgKiBDb3B5cmlnaHQgKGMpIDIwMDggU2ltdGVjIEVsZWN0cm9uaWNzCisgKglodHRwOi8vYXJtbGludXguc2ltdGVjLmNvLnVrLworICoJQmVuIERvb2tzIDxiZW5Ac2ltdGVjLmNvLnVrPgogICoKLSAqIFdyaXR0ZW4gYnkgUGhpbGlwcCBaYWJlbCA8cGhpbGlwcC56YWJlbEBnbWFpbC5jb20+CisgKiBTM0MyNDEwIC0gR1BJTyBsaWIgc3VwcG9ydAogICoKICAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKLSAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlCi0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKLSAqCi0gKi8KKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyovCiAKLSNpZm5kZWYgX19BU01fQVJDSF9TM0MyNDEwX0dQSU9fSAotI2RlZmluZSBfX0FTTV9BUkNIX1MzQzI0MTBfR1BJT19ICisjZGVmaW5lIGdwaW9fZ2V0X3ZhbHVlCV9fZ3Bpb19nZXRfdmFsdWUKKyNkZWZpbmUgZ3Bpb19zZXRfdmFsdWUJX19ncGlvX3NldF92YWx1ZQorI2RlZmluZSBncGlvX2NhbnNsZWVwCV9fZ3Bpb19jYW5zbGVlcAogCi0jaW5jbHVkZSA8YXNtL2lycS5oPgotI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgotI2luY2x1ZGUgPGFzbS9hcmNoL3JlZ3MtZ3Bpby5oPgotCi1zdGF0aWMgaW5saW5lIGludCBncGlvX3JlcXVlc3QodW5zaWduZWQgZ3BpbywgY29uc3QgY2hhciAqbGFiZWwpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCBncGlvX2ZyZWUodW5zaWduZWQgZ3BpbykKLXsKLQlyZXR1cm47Ci19Ci0KLXN0YXRpYyBpbmxpbmUgaW50IGdwaW9fZGlyZWN0aW9uX2lucHV0KHVuc2lnbmVkIGdwaW8pCi17Ci0JczNjMjQxMF9ncGlvX2NmZ3BpbihncGlvLCBTM0MyNDEwX0dQSU9fSU5QVVQpOwotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW5saW5lIGludCBncGlvX2RpcmVjdGlvbl9vdXRwdXQodW5zaWduZWQgZ3BpbywgaW50IHZhbHVlKQotewotCXMzYzI0MTBfZ3Bpb19jZmdwaW4oZ3BpbywgUzNDMjQxMF9HUElPX09VVFBVVCk7Ci0JLyogUkVWSVNJVCBjYW4gd2Ugd3JpdGUgdGhlIHZhbHVlIGZpcnN0LCB0byBhdm9pZCBnbGl0Y2hpbmc/ICovCi0JczNjMjQxMF9ncGlvX3NldHBpbihncGlvLCB2YWx1ZSk7Ci0JcmV0dXJuIDA7Ci19Ci0KLSNkZWZpbmUgZ3Bpb19nZXRfdmFsdWUoZ3BpbykJCXMzYzI0MTBfZ3Bpb19nZXRwaW4oZ3BpbykKLSNkZWZpbmUgZ3Bpb19zZXRfdmFsdWUoZ3Bpbyx2YWx1ZSkJczNjMjQxMF9ncGlvX3NldHBpbihncGlvLCB2YWx1ZSkKLQotI2luY2x1ZGUgPGFzbS1nZW5lcmljL2dwaW8uaD4JCQkvKiBjYW5zbGVlcCB3cmFwcGVycyAqLwotCi0jaWZkZWYgQ09ORklHX0NQVV9TM0MyNDAwCi0jZGVmaW5lIGdwaW9fdG9faXJxKGdwaW8pCQlzM2MyNDAwX2dwaW9fZ2V0aXJxKGdwaW8pCi0jZWxzZQotI2RlZmluZSBncGlvX3RvX2lycShncGlvKQkJczNjMjQxMF9ncGlvX2dldGlycShncGlvKQotI2VuZGlmCi0KLS8qIEZJWE1FIGltcGxlbWVudCBpcnFfdG9fZ3BpbygpICovCi0KLSNlbmRpZgorI2luY2x1ZGUgPGFzbS1nZW5lcmljL2dwaW8uaD4KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLXMzYzI0MTAvcmVncy1jbG9jay5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtczNjMjQxMC9yZWdzLWNsb2NrLmgKaW5kZXggZWNhZTllNy4uMzc2NjEzNSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtczNjMjQxMC9yZWdzLWNsb2NrLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtczNjMjQxMC9yZWdzLWNsb2NrLmgKQEAgLTE4OSw2ICsxODksOCBAQAogI2RlZmluZSBTM0MyNDEyX0NMS1NSQ19JMlNDTEtfTVBMTAkJKDE8PDkpCiAjZGVmaW5lIFMzQzI0MTJfQ0xLU1JDX1VTQkNMS19IQ0xLCQkoMTw8MTApCiAjZGVmaW5lIFMzQzI0MTJfQ0xLU1JDX0NBTUNMS19IQ0xLCQkoMTw8MTEpCisjZGVmaW5lIFMzQzI0MTJfQ0xLU1JDX1VSRUZDTEtfRVhUQ0xLCSgxPDwxMikKKyNkZWZpbmUgUzNDMjQxMl9DTEtTUkNfRVJFRkNMS19FWFRDTEsJKDE8PDE0KQogCiAjZW5kaWYgLyogQ09ORklHX0NQVV9TM0MyNDEyIHwgQ09ORklHX0NQVV9TM0MyNDEzICovCiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hc3NlbWJsZXIuaCBiL2luY2x1ZGUvYXNtLWFybS9hc3NlbWJsZXIuaAppbmRleCBmY2U4MzI4Li45MTEzOTNiIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXNzZW1ibGVyLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2Fzc2VtYmxlci5oCkBAIC01Niw2ICs1NiwyMSBAQAogI2VuZGlmCiAKIC8qCisgKiBUaGlzIGNhbiBiZSB1c2VkIHRvIGVuYWJsZSBjb2RlIHRvIGNhY2hlbGluZSBhbGlnbiB0aGUgZGVzdGluYXRpb24KKyAqIHBvaW50ZXIgd2hlbiBidWxrIHdyaXRpbmcgdG8gbWVtb3J5LiAgRXhwZXJpbWVudHMgb24gU3Ryb25nQVJNIGFuZAorICogWFNjYWxlIGRpZG4ndCBzaG93IHRoaXMgYSB3b3J0aHdoaWxlIHRoaW5nIHRvIGRvIHdoZW4gdGhlIGNhY2hlIGlzIG5vdAorICogc2V0IHRvIHdyaXRlLWFsbG9jYXRlICh0aGlzIHdvdWxkIG5lZWQgZnVydGhlciB0ZXN0aW5nIG9uIFhTY2FsZSB3aGVuIFdBCisgKiBpcyB1c2VkKS4KKyAqCisgKiBPbiBGZXJvY2VvbiB0aGVyZSBpcyBtdWNoIHRvIGdhaW4gaG93ZXZlciwgcmVnYXJkbGVzcyBvZiBjYWNoZSBtb2RlLgorICovCisjaWZkZWYgQ09ORklHX0NQVV9GRVJPQ0VPTgorI2RlZmluZSBDQUxHTihjb2RlLi4uKSBjb2RlCisjZWxzZQorI2RlZmluZSBDQUxHTihjb2RlLi4uKQorI2VuZGlmCisKKy8qCiAgKiBFbmFibGUgYW5kIGRpc2FibGUgaW50ZXJydXB0cwogICovCiAjaWYgX19MSU5VWF9BUk1fQVJDSF9fID49IDYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9jYWNoZWZsdXNoLmggYi9pbmNsdWRlL2FzbS1hcm0vY2FjaGVmbHVzaC5oCmluZGV4IDc1OWE5N2IuLjcwYjBmZTcgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9jYWNoZWZsdXNoLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2NhY2hlZmx1c2guaApAQCAtOTUsMTEgKzk1LDcgQEAKICNlbmRpZgogCiAjaWYgZGVmaW5lZChDT05GSUdfQ1BVX0ZFUk9DRU9OKQotIyBpZmRlZiBfQ0FDSEUKLSMgIGRlZmluZSBNVUxUSV9DQUNIRSAxCi0jIGVsc2UKLSMgIGRlZmluZSBfQ0FDSEUgZmVyb2Nlb24KLSMgZW5kaWYKKyMgZGVmaW5lIE1VTFRJX0NBQ0hFIDEKICNlbmRpZgogCiAjaWYgZGVmaW5lZChDT05GSUdfQ1BVX1Y2KQpAQCAtNDEwLDYgKzQwNiwxMyBAQAogCiBleHRlcm4gdm9pZCBfX2ZsdXNoX2RjYWNoZV9wYWdlKHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLCBzdHJ1Y3QgcGFnZSAqcGFnZSk7CiAKK3N0YXRpYyBpbmxpbmUgdm9pZCBfX2ZsdXNoX2ljYWNoZV9hbGwodm9pZCkKK3sKKwlhc20oIm1jcglwMTUsIDAsICUwLCBjNywgYzUsIDAJQCBpbnZhbGlkYXRlIEktY2FjaGVcbiIKKwkgICAgOgorCSAgICA6ICJyIiAoMCkpOworfQorCiAjZGVmaW5lIEFSQ0hfSEFTX0ZMVVNIX0FOT05fUEFHRQogc3RhdGljIGlubGluZSB2b2lkIGZsdXNoX2Fub25fcGFnZShzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSwKIAkJCSBzdHJ1Y3QgcGFnZSAqcGFnZSwgdW5zaWduZWQgbG9uZyB2bWFkZHIpCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vZHludGljay5oIGIvaW5jbHVkZS9hc20tYXJtL2R5bnRpY2suaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTlmYWIyZC4uMDAwMDAwMAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vZHludGljay5oCisrKyAvZGV2L251bGwKQEAgLTEsNiArMCwwIEBACi0jaWZuZGVmIF9BU01BUk1fRFlOVElDS19ICi0jZGVmaW5lIF9BU01BUk1fRFlOVElDS19ICi0KLSNpbmNsdWRlIDxhc20vbWFjaC90aW1lLmg+Ci0KLSNlbmRpZiAvKiBfQVNNQVJNX0RZTlRJQ0tfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2VjYXJkLmggYi9pbmNsdWRlL2FzbS1hcm0vZWNhcmQuaAppbmRleCA2ODRmZTA2Li41ZTIyODgxIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vZWNhcmQuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vZWNhcmQuaApAQCAtODUsMTkgKzg1LDYgQEAKIAogI2RlZmluZSBNQVhfRUNBUkRTCTkKIAotdHlwZWRlZiBlbnVtIHsJCQkJLyogQ2FyZHMgYWRkcmVzcyBzcGFjZQkJKi8KLQlFQ0FSRF9JT0MsCi0JRUNBUkRfTUVNQywKLQlFQ0FSRF9FQVNJCi19IGNhcmRfdHlwZV90OwotCi10eXBlZGVmIGVudW0gewkJCQkvKiBTcGVlZCBmb3IgRUNBUkRfSU9DIHNwYWNlCSovCi0JRUNBUkRfU0xPVwkgPSAwLAotCUVDQVJEX01FRElVTQkgPSAxLAotCUVDQVJEX0ZBU1QJID0gMiwKLQlFQ0FSRF9TWU5DCSA9IDMKLX0gY2FyZF9zcGVlZF90OwotCiBzdHJ1Y3QgZWNhcmRfaWQgewkJCS8qIENhcmQgSUQgc3RydWN0dXJlCQkqLwogCXVuc2lnbmVkIHNob3J0CW1hbnVmYWN0dXJlcjsKIAl1bnNpZ25lZCBzaG9ydAlwcm9kdWN0OwpAQCAtMTkwLDE2ICsxNzcsNiBAQAogfTsKIAogLyoKLSAqIGVjYXJkX2NsYWltOiBjbGFpbSBhbiBleHBhbnNpb24gY2FyZCBlbnRyeQotICovCi0jZGVmaW5lIGVjYXJkX2NsYWltKGVjKSAoKGVjKS0+Y2xhaW1lZCA9IDEpCi0KLS8qCi0gKiBlY2FyZF9yZWxlYXNlOiByZWxlYXNlIGFuIGV4cGFuc2lvbiBjYXJkIGVudHJ5Ci0gKi8KLSNkZWZpbmUgZWNhcmRfcmVsZWFzZShlYykgKChlYyktPmNsYWltZWQgPSAwKQotCi0vKgogICogUmVhZCBhIGNodW5rIGZyb20gYW4gZXhwYW5zaW9uIGNhcmQKICAqIGNkIDogd2hlcmUgdG8gcHV0IHJlYWQgZGF0YQogICogZWMgOiBleHBhbnNpb24gY2FyZCBpbmZvIHN0cnVjdApAQCAtMjA5LDE4ICsxODYsNiBAQAogZXh0ZXJuIGludCBlY2FyZF9yZWFkY2h1bmsgKHN0cnVjdCBpbl9jaHVua19kaXIgKmNkLCBzdHJ1Y3QgZXhwYW5zaW9uX2NhcmQgKmVjLCBpbnQgaWQsIGludCBudW0pOwogCiAvKgotICogT2J0YWluIHRoZSBhZGRyZXNzIG9mIGEgY2FyZC4gIFRoaXMgcmV0dXJucyB0aGUgIm9sZCBzdHlsZSIgYWRkcmVzcwotICogYW5kIHNob3VsZCBubyBsb25nZXIgYmUgdXNlZC4KLSAqLwotc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgX19kZXByZWNhdGVkCi1lY2FyZF9hZGRyZXNzKHN0cnVjdCBleHBhbnNpb25fY2FyZCAqZWMsIGNhcmRfdHlwZV90IHR5cGUsIGNhcmRfc3BlZWRfdCBzcGVlZCkKLXsKLQlleHRlcm4gdW5zaWduZWQgaW50IF9fZWNhcmRfYWRkcmVzcyhzdHJ1Y3QgZXhwYW5zaW9uX2NhcmQgKiwKLQkJCQkJICAgIGNhcmRfdHlwZV90LCBjYXJkX3NwZWVkX3QpOwotCXJldHVybiBfX2VjYXJkX2FkZHJlc3MoZWMsIHR5cGUsIHNwZWVkKTsKLX0KLQotLyoKICAqIFJlcXVlc3QgYW5kIHJlbGVhc2UgZWNhcmQgcmVzb3VyY2VzCiAgKi8KIGV4dGVybiBpbnQgZWNhcmRfcmVxdWVzdF9yZXNvdXJjZXMoc3RydWN0IGV4cGFuc2lvbl9jYXJkICplYyk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vZnRyYWNlLmggYi9pbmNsdWRlL2FzbS1hcm0vZnRyYWNlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTg0ZWY5YQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9mdHJhY2UuaApAQCAtMCwwICsxLDE0IEBACisjaWZuZGVmIF9BU01fQVJNX0ZUUkFDRQorI2RlZmluZSBfQVNNX0FSTV9GVFJBQ0UKKworI2lmZGVmIENPTkZJR19GVFJBQ0UKKyNkZWZpbmUgTUNPVU5UX0FERFIJCSgobG9uZykobWNvdW50KSkKKyNkZWZpbmUgTUNPVU5UX0lOU05fU0laRQk0IC8qIHNpemVvZiBtY291bnQgY2FsbCAqLworCisjaWZuZGVmIF9fQVNTRU1CTFlfXworZXh0ZXJuIHZvaWQgbWNvdW50KHZvaWQpOworI2VuZGlmCisKKyNlbmRpZgorCisjZW5kaWYgLyogX0FTTV9BUk1fRlRSQUNFICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vaGFyZHdhcmUvaW9wM3h4LWdwaW8uaCBiL2luY2x1ZGUvYXNtLWFybS9oYXJkd2FyZS9pb3AzeHgtZ3Bpby5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBjOTMzMWYKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vaGFyZHdhcmUvaW9wM3h4LWdwaW8uaApAQCAtMCwwICsxLDczIEBACisvKgorICogbGludXgvaW5jbHVkZS9hc20tYXJtL2hhcmR3YXJlL2lvcDN4eC1ncGlvLmgKKyAqCisgKiBJT1AzeHggR1BJTyB3cmFwcGVycworICoKKyAqIENvcHlyaWdodCAoYykgMjAwOCBBcm5hdWQgUGF0YXJkIDxhcm5hdWQucGF0YXJkQHJ0cC1uZXQub3JnPgorICogQmFzZWQgb24gSVhQNFhYIGdwaW8uaCBmaWxlCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQorICoKKyAqLworCisjaWZuZGVmIF9fQVNNX0FSTV9IQVJEV0FSRV9JT1AzWFhfR1BJT19ICisjZGVmaW5lIF9fQVNNX0FSTV9IQVJEV0FSRV9JT1AzWFhfR1BJT19ICisKKyNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KKyNpbmNsdWRlIDxhc20tZ2VuZXJpYy9ncGlvLmg+CisKKyNkZWZpbmUgSU9QM1hYX05fR1BJT1MJOAorCitzdGF0aWMgaW5saW5lIGludCBncGlvX2dldF92YWx1ZSh1bnNpZ25lZCBncGlvKQoreworCWlmIChncGlvID4gSU9QM1hYX05fR1BJT1MpCisJCXJldHVybiBfX2dwaW9fZ2V0X3ZhbHVlKGdwaW8pOworCisJcmV0dXJuIGdwaW9fbGluZV9nZXQoZ3Bpbyk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBncGlvX3NldF92YWx1ZSh1bnNpZ25lZCBncGlvLCBpbnQgdmFsdWUpCit7CisJaWYgKGdwaW8gPiBJT1AzWFhfTl9HUElPUykgeworCQlfX2dwaW9fc2V0X3ZhbHVlKGdwaW8sIHZhbHVlKTsKKwkJcmV0dXJuOworCX0KKwlncGlvX2xpbmVfc2V0KGdwaW8sIHZhbHVlKTsKK30KKworc3RhdGljIGlubGluZSBpbnQgZ3Bpb19jYW5zbGVlcCh1bnNpZ25lZCBncGlvKQoreworCWlmIChncGlvIDwgSU9QM1hYX05fR1BJT1MpCisJCXJldHVybiAwOworCWVsc2UKKwkJcmV0dXJuIF9fZ3Bpb19jYW5zbGVlcChncGlvKTsKK30KKworLyoKKyAqIFRoZSBHUElPcyBhcmUgbm90IGdlbmVyYXRpbmcgYW55IGludGVycnVwdAorICogTm90ZSA6IG1hbnVhbHMgYXJlIG5vdCBjbGVhciBhYm91dCB0aGlzCisgKi8KK3N0YXRpYyBpbmxpbmUgaW50IGdwaW9fdG9faXJxKGludCBncGlvKQoreworCXJldHVybiAtRUlOVkFMOworfQorCitzdGF0aWMgaW5saW5lIGludCBpcnFfdG9fZ3BpbyhpbnQgZ3BpbykKK3sKKwlyZXR1cm4gLUVJTlZBTDsKK30KKworI2VuZGlmCisKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9od19pcnEuaCBiL2luY2x1ZGUvYXNtLWFybS9od19pcnEuaAppbmRleCA5OGQ1OTRhLi5mMWEwOGE1IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vaHdfaXJxLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2h3X2lycS5oCkBAIC02LDE1ICs2LDQgQEAKIAogI2luY2x1ZGUgPGFzbS9tYWNoL2lycS5oPgogCi0jaWYgZGVmaW5lZChDT05GSUdfTk9fSURMRV9IWikKLSMgaW5jbHVkZSA8YXNtL2R5bnRpY2suaD4KLSMgZGVmaW5lIGhhbmRsZV9keW5hbWljX3RpY2soYWN0aW9uKQkJCQkJXAotCWlmICghKGFjdGlvbi0+ZmxhZ3MgJiBJUlFGX1RJTUVSKSAmJiBzeXN0ZW1fdGltZXItPmR5bl90aWNrKSB7CVwKLQkJd3JpdGVfc2VxbG9jaygmeHRpbWVfbG9jayk7CQkJCVwKLQkJaWYgKHN5c3RlbV90aW1lci0+ZHluX3RpY2stPnN0YXRlICYgRFlOX1RJQ0tfRU5BQkxFRCkJXAotCQkJc3lzdGVtX3RpbWVyLT5keW5fdGljay0+aGFuZGxlcihpcnEsIE5VTEwpOwlcCi0JCXdyaXRlX3NlcXVubG9jaygmeHRpbWVfbG9jayk7CQkJCVwKLQl9Ci0jZW5kaWYKLQogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0va2V4ZWMuaCBiL2luY2x1ZGUvYXNtLWFybS9rZXhlYy5oCmluZGV4IDQ3ZmUzNGQuLmM4OTg2YmIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9rZXhlYy5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9rZXhlYy5oCkBAIC0xNCw4ICsxNCw2IEBACiAKICNkZWZpbmUgS0VYRUNfQVJDSCBLRVhFQ19BUkNIX0FSTQogCi0jZGVmaW5lIEtFWEVDX0JPT1RfUEFSQU1TX1NJWkUgMTUzNgotCiAjZGVmaW5lIEtFWEVDX0FSTV9BVEFHU19PRkZTRVQgIDB4MTAwMAogI2RlZmluZSBLRVhFQ19BUk1fWklNQUdFX09GRlNFVCAweDgwMDAKIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2twcm9iZXMuaCBiL2luY2x1ZGUvYXNtLWFybS9rcHJvYmVzLmgKaW5kZXggYzA0MjE5NC4uYjFhMzc4NyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2twcm9iZXMuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0va3Byb2Jlcy5oCkBAIC01OSw2ICs1OSw3IEBACiB9OwogCiB2b2lkIGFyY2hfcmVtb3ZlX2twcm9iZShzdHJ1Y3Qga3Byb2JlICopOwordm9pZCBrcmV0cHJvYmVfdHJhbXBvbGluZSh2b2lkKTsKIAogaW50IGtwcm9iZV90cmFwX2hhbmRsZXIoc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIHVuc2lnbmVkIGludCBpbnN0cik7CiBpbnQga3Byb2JlX2ZhdWx0X2hhbmRsZXIoc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIHVuc2lnbmVkIGludCBmc3IpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL21hY2gvdGltZS5oIGIvaW5jbHVkZS9hc20tYXJtL21hY2gvdGltZS5oCmluZGV4IDVkYzM1NzAuLjJmZDM2ZWEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9tYWNoL3RpbWUuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vbWFjaC90aW1lLmgKQEAgLTQxLDMwICs0MSw4IEBACiAjaWZuZGVmIENPTkZJR19HRU5FUklDX1RJTUUKIAl1bnNpZ25lZCBsb25nCQkoKm9mZnNldCkodm9pZCk7CiAjZW5kaWYKLQotI2lmZGVmIENPTkZJR19OT19JRExFX0haCi0Jc3RydWN0IGR5bl90aWNrX3RpbWVyCSpkeW5fdGljazsKLSNlbmRpZgogfTsKIAotI2lmZGVmIENPTkZJR19OT19JRExFX0haCi0KLSNkZWZpbmUgRFlOX1RJQ0tfRU5BQkxFRAkoMSA8PCAxKQotCi1zdHJ1Y3QgZHluX3RpY2tfdGltZXIgewotCXNwaW5sb2NrX3QJbG9jazsKLQl1bnNpZ25lZCBpbnQJc3RhdGU7CQkJLyogQ3VycmVudCBzdGF0ZSAqLwotCWludAkJKCplbmFibGUpKHZvaWQpOwkvKiBFbmFibGVzIGR5bmFtaWMgdGljayAqLwotCWludAkJKCpkaXNhYmxlKSh2b2lkKTsJLyogRGlzYWJsZXMgZHluYW1pYyB0aWNrICovCi0Jdm9pZAkJKCpyZXByb2dyYW0pKHVuc2lnbmVkIGxvbmcpOyAvKiBSZXByb2dyYW1zIHRoZSB0aW1lciAqLwotCWludAkJKCpoYW5kbGVyKShpbnQsIHZvaWQgKik7Ci19OwotCi12b2lkIHRpbWVyX2R5bl9yZXByb2dyYW0odm9pZCk7Ci0jZWxzZQotI2RlZmluZSB0aW1lcl9keW5fcmVwcm9ncmFtKCkJZG8geyB9IHdoaWxlICgwKQotI2VuZGlmCi0KIGV4dGVybiBzdHJ1Y3Qgc3lzX3RpbWVyICpzeXN0ZW1fdGltZXI7CiBleHRlcm4gdm9pZCB0aW1lcl90aWNrKHZvaWQpOwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vbW11X2NvbnRleHQuaCBiL2luY2x1ZGUvYXNtLWFybS9tbXVfY29udGV4dC5oCmluZGV4IDY5MTNkMDIuLjkxYjlkZmQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9tbXVfY29udGV4dC5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9tbXVfY29udGV4dC5oCkBAIC05Nyw2ICs5NywxMSBAQAogI2lmZGVmIENPTkZJR19NTVUKIAl1bnNpZ25lZCBpbnQgY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOwogCisjaWZkZWYgQ09ORklHX1NNUAorCS8qIGNoZWNrIGZvciBwb3NzaWJsZSB0aHJlYWQgbWlncmF0aW9uICovCisJaWYgKCFjcHVzX2VtcHR5KG5leHQtPmNwdV92bV9tYXNrKSAmJiAhY3B1X2lzc2V0KGNwdSwgbmV4dC0+Y3B1X3ZtX21hc2spKQorCQlfX2ZsdXNoX2ljYWNoZV9hbGwoKTsKKyNlbmRpZgogCWlmICghY3B1X3Rlc3RfYW5kX3NldChjcHUsIG5leHQtPmNwdV92bV9tYXNrKSB8fCBwcmV2ICE9IG5leHQpIHsKIAkJY2hlY2tfY29udGV4dChuZXh0KTsKIAkJY3B1X3N3aXRjaF9tbShuZXh0LT5wZ2QsIG5leHQpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL3BsYXQtb3Jpb24vY2FjaGUtZmVyb2Nlb24tbDIuaCBiL2luY2x1ZGUvYXNtLWFybS9wbGF0LW9yaW9uL2NhY2hlLWZlcm9jZW9uLWwyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmE0ZTAxNgotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9wbGF0LW9yaW9uL2NhY2hlLWZlcm9jZW9uLWwyLmgKQEAgLTAsMCArMSwxMSBAQAorLyoKKyAqIGluY2x1ZGUvYXNtLWFybS9wbGF0LW9yaW9uL2NhY2hlLWZlcm9jZW9uLWwyLmgKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggTWFydmVsbCBTZW1pY29uZHVjdG9yCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCitleHRlcm4gdm9pZCBfX2luaXQgZmVyb2Nlb25fbDJfaW5pdChpbnQgbDJfd3Rfb3ZlcnJpZGUpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL3BsYXQtb3Jpb24vb3Jpb25fbmFuZC5oIGIvaW5jbHVkZS9hc20tYXJtL3BsYXQtb3Jpb24vb3Jpb25fbmFuZC5oCmluZGV4IGZmZDM4NTIuLmFkNGNlOTQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9wbGF0LW9yaW9uL29yaW9uX25hbmQuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vcGxhdC1vcmlvbi9vcmlvbl9uYW5kLmgKQEAgLTE4LDYgKzE4LDcgQEAKIAl1OCBhbGU7CQkvKiBhZGRyZXNzIGxpbmUgbnVtYmVyIGNvbm5lY3RlZCB0byBBTEUgKi8KIAl1OCBjbGU7CQkvKiBhZGRyZXNzIGxpbmUgbnVtYmVyIGNvbm5lY3RlZCB0byBDTEUgKi8KIAl1OCB3aWR0aDsJLyogYnVzd2lkdGggKi8KKwl1OCBjaGlwX2RlbGF5OwogfTsKIAogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vcGxhdC1vcmlvbi9wY2llLmggYi9pbmNsdWRlL2FzbS1hcm0vcGxhdC1vcmlvbi9wY2llLmgKaW5kZXggNjQzNGFjNi4uZTYxYjdiZCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL3BsYXQtb3Jpb24vcGNpZS5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9wbGF0LW9yaW9uL3BjaWUuaApAQCAtMTQsNiArMTQsNyBAQAogdTMyIG9yaW9uX3BjaWVfZGV2X2lkKHZvaWQgX19pb21lbSAqYmFzZSk7CiB1MzIgb3Jpb25fcGNpZV9yZXYodm9pZCBfX2lvbWVtICpiYXNlKTsKIGludCBvcmlvbl9wY2llX2xpbmtfdXAodm9pZCBfX2lvbWVtICpiYXNlKTsKK2ludCBvcmlvbl9wY2llX3g0X21vZGUodm9pZCBfX2lvbWVtICpiYXNlKTsKIGludCBvcmlvbl9wY2llX2dldF9sb2NhbF9idXNfbnIodm9pZCBfX2lvbWVtICpiYXNlKTsKIHZvaWQgb3Jpb25fcGNpZV9zZXRfbG9jYWxfYnVzX25yKHZvaWQgX19pb21lbSAqYmFzZSwgaW50IG5yKTsKIHZvaWQgb3Jpb25fcGNpZV9zZXR1cCh2b2lkIF9faW9tZW0gKmJhc2UsCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vcGxhdC1zM2MvcmVncy10aW1lci5oIGIvaW5jbHVkZS9hc20tYXJtL3BsYXQtczNjL3JlZ3MtdGltZXIuaAppbmRleCA4YjBkNTk0Li5iNWJjNjkyIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vcGxhdC1zM2MvcmVncy10aW1lci5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9wbGF0LXMzYy9yZWdzLXRpbWVyLmgKQEAgLTY1LDYgKzY1LDE1IEBACiAjZGVmaW5lIFMzQzI0MTBfVENGRzFfTVVYMF9UQ0xLMCAgKDQ8PDApCiAjZGVmaW5lIFMzQzI0MTBfVENGRzFfTVVYMF9NQVNLCSAgKDE1PDwwKQogCisjZGVmaW5lIFMzQzI0MTBfVENGRzFfTVVYX0RJVjIJICAoMDw8MCkKKyNkZWZpbmUgUzNDMjQxMF9UQ0ZHMV9NVVhfRElWNAkgICgxPDwwKQorI2RlZmluZSBTM0MyNDEwX1RDRkcxX01VWF9ESVY4CSAgKDI8PDApCisjZGVmaW5lIFMzQzI0MTBfVENGRzFfTVVYX0RJVjE2ICAgKDM8PDApCisjZGVmaW5lIFMzQzI0MTBfVENGRzFfTVVYX1RDTEsgICAgKDQ8PDApCisjZGVmaW5lIFMzQzI0MTBfVENGRzFfTVVYX01BU0sJICAoMTU8PDApCisKKyNkZWZpbmUgUzNDMjQxMF9UQ0ZHMV9TSElGVCh4KQkgICgoeCkgKiA0KQorCiAvKiBmb3IgZWFjaCB0aW1lciwgd2UgaGF2ZSBhbiBjb3VudCBidWZmZXIsIGFuIGNvbXBhcmUgYnVmZmVyIGFuZAogICogYW4gb2JzZXJ2YXRpb24gYnVmZmVyCiAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL3BsYXQtczNjMjR4eC9kZXZzLmggYi9pbmNsdWRlL2FzbS1hcm0vcGxhdC1zM2MyNHh4L2RldnMuaAppbmRleCBmOWQ2ZjAzLi5iYWRhYWM5IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vcGxhdC1zM2MyNHh4L2RldnMuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vcGxhdC1zM2MyNHh4L2RldnMuaApAQCAtMjEsNiArMjEsOCBAQAogZXh0ZXJuIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnMzYzI0eHhfdWFydF9kZXZzW107CiBleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RldmljZSAqczNjMjR4eF91YXJ0X3NyY1tdOwogCitleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RldmljZSBzM2NfZGV2aWNlX3RpbWVyW107CisKIGV4dGVybiBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHMzY19kZXZpY2VfdXNiOwogZXh0ZXJuIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgczNjX2RldmljZV9sY2Q7CiBleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RldmljZSBzM2NfZGV2aWNlX3dkdDsKQEAgLTM2LDExICszOCw2IEBACiAKIGV4dGVybiBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHMzY19kZXZpY2VfbmFuZDsKIAotZXh0ZXJuIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgczNjX2RldmljZV90aW1lcjA7Ci1leHRlcm4gc3RydWN0IHBsYXRmb3JtX2RldmljZSBzM2NfZGV2aWNlX3RpbWVyMTsKLWV4dGVybiBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHMzY19kZXZpY2VfdGltZXIyOwotZXh0ZXJuIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgczNjX2RldmljZV90aW1lcjM7Ci0KIGV4dGVybiBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHMzY19kZXZpY2VfdXNiZ2FkZ2V0OwogCiAvKiBzM2MyNDQwIHNwZWNpZmljIGRldmljZXMgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9ydGMuaCBiL2luY2x1ZGUvYXNtLWFybS9ydGMuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWE1YzkyMy4uMDAwMDAwMAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vcnRjLmgKKysrIC9kZXYvbnVsbApAQCAtMSw0MyArMCwwIEBACi0vKgotICogIGxpbnV4L2luY2x1ZGUvYXNtLWFybS9ydGMuaAotICoKLSAqICBDb3B5cmlnaHQgKEMpIDIwMDMgRGVlcCBCbHVlIFNvbHV0aW9ucyBMdGQuCi0gKgotICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCi0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KLSAqLwotI2lmbmRlZiBBU01BUk1fUlRDX0gKLSNkZWZpbmUgQVNNQVJNX1JUQ19ICi0KLXN0cnVjdCBtb2R1bGU7Ci0KLXN0cnVjdCBydGNfb3BzIHsKLQlzdHJ1Y3QgbW9kdWxlCSpvd25lcjsKLQlpbnQJCSgqb3Blbikodm9pZCk7Ci0Jdm9pZAkJKCpyZWxlYXNlKSh2b2lkKTsKLQlpbnQJCSgqaW9jdGwpKHVuc2lnbmVkIGludCwgdW5zaWduZWQgbG9uZyk7Ci0KLQlpbnQJCSgqcmVhZF90aW1lKShzdHJ1Y3QgcnRjX3RpbWUgKik7Ci0JaW50CQkoKnNldF90aW1lKShzdHJ1Y3QgcnRjX3RpbWUgKik7Ci0JaW50CQkoKnJlYWRfYWxhcm0pKHN0cnVjdCBydGNfd2thbHJtICopOwotCWludAkJKCpzZXRfYWxhcm0pKHN0cnVjdCBydGNfd2thbHJtICopOwotCWludAkJKCpwcm9jKShjaGFyICpidWYpOwotfTsKLQotdm9pZCBydGNfbmV4dF9hbGFybV90aW1lKHN0cnVjdCBydGNfdGltZSAqLCBzdHJ1Y3QgcnRjX3RpbWUgKiwgc3RydWN0IHJ0Y190aW1lICopOwotdm9pZCBydGNfdXBkYXRlKHVuc2lnbmVkIGxvbmcsIHVuc2lnbmVkIGxvbmcpOwotaW50IHJlZ2lzdGVyX3J0YyhzdHJ1Y3QgcnRjX29wcyAqKTsKLXZvaWQgdW5yZWdpc3Rlcl9ydGMoc3RydWN0IHJ0Y19vcHMgKik7Ci0KLXN0YXRpYyBpbmxpbmUgaW50IHJ0Y19wZXJpb2RpY19hbGFybShzdHJ1Y3QgcnRjX3RpbWUgKnRtKQotewotCXJldHVybiAgKHRtLT50bV95ZWFyID09IC0xKSB8fAotCQkoKHVuc2lnbmVkKXRtLT50bV9tb24gPj0gMTIpIHx8Ci0JCSgodW5zaWduZWQpKHRtLT50bV9tZGF5IC0gMSkgPj0gMzEpIHx8Ci0JCSgodW5zaWduZWQpdG0tPnRtX2hvdXIgPiAyMykgfHwKLQkJKCh1bnNpZ25lZCl0bS0+dG1fbWluID4gNTkpIHx8Ci0JCSgodW5zaWduZWQpdG0tPnRtX3NlYyA+IDU5KTsKLX0KLQotI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vc21wLmggYi9pbmNsdWRlL2FzbS1hcm0vc21wLmgKaW5kZXggYWY5OTYzNi4uN2ZmZmEyNCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL3NtcC5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9zbXAuaApAQCAtMTAxLDYgKzEwMSw5IEBACiBleHRlcm4gaW50IHBsYXRmb3JtX2NwdV9raWxsKHVuc2lnbmVkIGludCBjcHUpOwogZXh0ZXJuIHZvaWQgcGxhdGZvcm1fY3B1X2VuYWJsZSh1bnNpZ25lZCBpbnQgY3B1KTsKIAorZXh0ZXJuIHZvaWQgYXJjaF9zZW5kX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2lwaShpbnQgY3B1KTsKK2V4dGVybiB2b2lkIGFyY2hfc2VuZF9jYWxsX2Z1bmN0aW9uX2lwaShjcHVtYXNrX3QgbWFzayk7CisKIC8qCiAgKiBMb2NhbCB0aW1lciBpbnRlcnJ1cHQgaGFuZGxpbmcgZnVuY3Rpb24gKGNhbiBiZSBJUEknZWQpLgogICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vdGxiZmx1c2guaCBiL2luY2x1ZGUvYXNtLWFybS90bGJmbHVzaC5oCmluZGV4IDhjNmJjMWIuLjkwOTY1NmMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS90bGJmbHVzaC5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS90bGJmbHVzaC5oCkBAIC0zOSw2ICszOSw3IEBACiAjZGVmaW5lIFRMQl9WNl9EX0FTSUQJKDEgPDwgMTcpCiAjZGVmaW5lIFRMQl9WNl9JX0FTSUQJKDEgPDwgMTgpCiAKKyNkZWZpbmUgVExCX0wyQ0xFQU5fRlIJKDEgPDwgMjkpCQkvKiBGZXJvY2VvbiAqLwogI2RlZmluZSBUTEJfRENMRUFOCSgxIDw8IDMwKQogI2RlZmluZSBUTEJfV0IJCSgxIDw8IDMxKQogCkBAIC01MSw2ICs1Miw3IEBACiAgKgkgIHY0ICAgIC0gQVJNdjQgd2l0aG91dCB3cml0ZSBidWZmZXIKICAqCSAgdjR3YiAgLSBBUk12NCB3aXRoIHdyaXRlIGJ1ZmZlciB3aXRob3V0IEkgVExCIGZsdXNoIGVudHJ5IGluc3RydWN0aW9uCiAgKgkgIHY0d2JpIC0gQVJNdjQgd2l0aCB3cml0ZSBidWZmZXIgd2l0aCBJIFRMQiBmbHVzaCBlbnRyeSBpbnN0cnVjdGlvbgorICoJICBmciAgICAtIEZlcm9jZW9uICh2NHdiaSB3aXRoIG5vbi1vdXRlci1jYWNoZWFibGUgcGFnZSB0YWJsZSB3YWxrcykKICAqCSAgdjZ3YmkgLSBBUk12NiB3aXRoIHdyaXRlIGJ1ZmZlciB3aXRoIEkgVExCIGZsdXNoIGVudHJ5IGluc3RydWN0aW9uCiAgKi8KICN1bmRlZiBfVExCCkBAIC0xMDMsNiArMTA1LDIzIEBACiAjIGRlZmluZSB2NHdiaV9hbHdheXNfZmxhZ3MJKC0xVUwpCiAjZW5kaWYKIAorI2RlZmluZSBmcl90bGJfZmxhZ3MJKFRMQl9XQiB8IFRMQl9EQ0xFQU4gfCBUTEJfTDJDTEVBTl9GUiB8IFwKKwkJCSBUTEJfVjRfSV9GVUxMIHwgVExCX1Y0X0RfRlVMTCB8IFwKKwkJCSBUTEJfVjRfSV9QQUdFIHwgVExCX1Y0X0RfUEFHRSkKKworI2lmZGVmIENPTkZJR19DUFVfVExCX0ZFUk9DRU9OCisjIGRlZmluZSBmcl9wb3NzaWJsZV9mbGFncwlmcl90bGJfZmxhZ3MKKyMgZGVmaW5lIGZyX2Fsd2F5c19mbGFncwlmcl90bGJfZmxhZ3MKKyMgaWZkZWYgX1RMQgorIyAgZGVmaW5lIE1VTFRJX1RMQiAxCisjIGVsc2UKKyMgIGRlZmluZSBfVExCIHY0d2JpCisjIGVuZGlmCisjZWxzZQorIyBkZWZpbmUgZnJfcG9zc2libGVfZmxhZ3MJMAorIyBkZWZpbmUgZnJfYWx3YXlzX2ZsYWdzCSgtMVVMKQorI2VuZGlmCisKICNkZWZpbmUgdjR3Yl90bGJfZmxhZ3MJKFRMQl9XQiB8IFRMQl9EQ0xFQU4gfCBcCiAJCQkgVExCX1Y0X0lfRlVMTCB8IFRMQl9WNF9EX0ZVTEwgfCBcCiAJCQkgVExCX1Y0X0RfUEFHRSkKQEAgLTI0NSwxMiArMjY0LDE0IEBACiAjZGVmaW5lIHBvc3NpYmxlX3RsYl9mbGFncwkodjNfcG9zc2libGVfZmxhZ3MgfCBcCiAJCQkJIHY0X3Bvc3NpYmxlX2ZsYWdzIHwgXAogCQkJCSB2NHdiaV9wb3NzaWJsZV9mbGFncyB8IFwKKwkJCQkgZnJfcG9zc2libGVfZmxhZ3MgfCBcCiAJCQkJIHY0d2JfcG9zc2libGVfZmxhZ3MgfCBcCiAJCQkJIHY2d2JpX3Bvc3NpYmxlX2ZsYWdzKQogCiAjZGVmaW5lIGFsd2F5c190bGJfZmxhZ3MJKHYzX2Fsd2F5c19mbGFncyAmIFwKIAkJCQkgdjRfYWx3YXlzX2ZsYWdzICYgXAogCQkJCSB2NHdiaV9hbHdheXNfZmxhZ3MgJiBcCisJCQkJIGZyX2Fsd2F5c19mbGFncyAmIFwKIAkJCQkgdjR3Yl9hbHdheXNfZmxhZ3MgJiBcCiAJCQkJIHY2d2JpX2Fsd2F5c19mbGFncykKIApAQCAtNDE3LDYgKzQzOCwxMSBAQAogCWlmICh0bGJfZmxhZyhUTEJfRENMRUFOKSkKIAkJYXNtKCJtY3IJcDE1LCAwLCAlMCwgYzcsIGMxMCwgMQlAIGZsdXNoX3BtZCIKIAkJCTogOiAiciIgKHBtZCkgOiAiY2MiKTsKKworCWlmICh0bGJfZmxhZyhUTEJfTDJDTEVBTl9GUikpCisJCWFzbSgibWNyCXAxNSwgMSwgJTAsIGMxNSwgYzksIDEgIEAgTDIgZmx1c2hfcG1kIgorCQkJOiA6ICJyIiAocG1kKSA6ICJjYyIpOworCiAJaWYgKHRsYl9mbGFnKFRMQl9XQikpCiAJCWRzYigpOwogfQpAQCAtNDI4LDYgKzQ1NCwxMCBAQAogCWlmICh0bGJfZmxhZyhUTEJfRENMRUFOKSkKIAkJYXNtKCJtY3IJcDE1LCAwLCAlMCwgYzcsIGMxMCwgMQlAIGZsdXNoX3BtZCIKIAkJCTogOiAiciIgKHBtZCkgOiAiY2MiKTsKKworCWlmICh0bGJfZmxhZyhUTEJfTDJDTEVBTl9GUikpCisJCWFzbSgibWNyCXAxNSwgMSwgJTAsIGMxNSwgYzksIDEgIEAgTDIgZmx1c2hfcG1kIgorCQkJOiA6ICJyIiAocG1kKSA6ICJjYyIpOwogfQogCiAjdW5kZWYgdGxiX2ZsYWcKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWF2cjMyL2FyY2gtYXQzMmFwL2JvYXJkLmggYi9pbmNsdWRlL2FzbS1hdnIzMi9hcmNoLWF0MzJhcC9ib2FyZC5oCmluZGV4IGE0ZTJkMjguLmI0Y2RkZmEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWF2cjMyL2FyY2gtYXQzMmFwL2JvYXJkLmgKKysrIGIvaW5jbHVkZS9hc20tYXZyMzIvYXJjaC1hdDMyYXAvYm9hcmQuaApAQCAtOCw2ICs4LDEyIEBACiAKICNkZWZpbmUgR1BJT19QSU5fTk9ORQkoLTEpCiAKKy8qCisgKiBDbG9jayByYXRlcyBmb3IgdmFyaW91cyBvbi1ib2FyZCBvc2NpbGxhdG9ycy4gVGhlIG51bWJlciBvZiBlbnRyaWVzCisgKiBpbiB0aGlzIGFycmF5IGlzIGNoaXAtZGVwZW5kZW50LgorICovCitleHRlcm4gdW5zaWduZWQgbG9uZyBhdDMyX2JvYXJkX29zY19yYXRlc1tdOworICAKIC8qIEFkZCBiYXNpYyBkZXZpY2VzOiBzeXN0ZW0gbWFuYWdlciwgaW50ZXJydXB0IGNvbnRyb2xsZXIsIHBvcnRtdXhlcywgZXRjLiAqLwogdm9pZCBhdDMyX2FkZF9zeXN0ZW1fZGV2aWNlcyh2b2lkKTsKIApAQCAtMzYsNyArNDIsOCBAQAogc3RydWN0IGF0bWVsX2xjZGZiX2luZm87CiBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICoKIGF0MzJfYWRkX2RldmljZV9sY2RjKHVuc2lnbmVkIGludCBpZCwgc3RydWN0IGF0bWVsX2xjZGZiX2luZm8gKmRhdGEsCi0JCSAgICAgdW5zaWduZWQgbG9uZyBmYm1lbV9zdGFydCwgdW5zaWduZWQgbG9uZyBmYm1lbV9sZW4pOworCQkgICAgIHVuc2lnbmVkIGxvbmcgZmJtZW1fc3RhcnQsIHVuc2lnbmVkIGxvbmcgZmJtZW1fbGVuLAorCQkgICAgIHVuc2lnbmVkIGludCBwaW5fY29uZmlnKTsKIAogc3RydWN0IHVzYmFfcGxhdGZvcm1fZGF0YTsKIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKgpAQCAtNzMsNiArODAsNyBAQAogc3RydWN0IHBsYXRmb3JtX2RldmljZSAqYXQzMl9hZGRfZGV2aWNlX21jaSh1bnNpZ25lZCBpbnQgaWQpOwogc3RydWN0IHBsYXRmb3JtX2RldmljZSAqYXQzMl9hZGRfZGV2aWNlX2FjOTdjKHVuc2lnbmVkIGludCBpZCk7CiBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICphdDMyX2FkZF9kZXZpY2VfYWJkYWModW5zaWduZWQgaW50IGlkKTsKK3N0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmF0MzJfYWRkX2RldmljZV9wc2lmKHVuc2lnbmVkIGludCBpZCk7CiAKIHN0cnVjdCBjZl9wbGF0Zm9ybV9kYXRhIHsKIAlpbnQJZGV0ZWN0X3BpbjsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWF2cjMyL2FyY2gtYXQzMmFwL2luaXQuaCBiL2luY2x1ZGUvYXNtLWF2cjMyL2FyY2gtYXQzMmFwL2luaXQuaAppbmRleCA1ZTc1ZDg1Li5iYzQwZTNkIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hdnIzMi9hcmNoLWF0MzJhcC9pbml0LmgKKysrIGIvaW5jbHVkZS9hc20tYXZyMzIvYXJjaC1hdDMyYXAvaW5pdC5oCkBAIC0xMywxMCArMTMsNiBAQAogdm9pZCBzZXR1cF9wbGF0Zm9ybSh2b2lkKTsKIHZvaWQgc2V0dXBfYm9hcmQodm9pZCk7CiAKLS8qIENhbGxlZCBieSBzZXR1cF9wbGF0Zm9ybSAqLwotdm9pZCBhdDMyX2Nsb2NrX2luaXQodm9pZCk7Ci12b2lkIGF0MzJfcG9ydG11eF9pbml0KHZvaWQpOwotCiB2b2lkIGF0MzJfc2V0dXBfc2VyaWFsX2NvbnNvbGUodW5zaWduZWQgaW50IHVzYXJ0X2lkKTsKIAogI2VuZGlmIC8qIF9fQVNNX0FWUjMyX0FUMzJBUF9JTklUX0hfXyAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXZyMzIvYXJjaC1hdDMyYXAvcG0uaCBiL2luY2x1ZGUvYXNtLWF2cjMyL2FyY2gtYXQzMmFwL3BtLmgKaW5kZXggMzU2ZTQzMC4uOTc5YjM1NSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXZyMzIvYXJjaC1hdDMyYXAvcG0uaAorKysgYi9pbmNsdWRlL2FzbS1hdnIzMi9hcmNoLWF0MzJhcC9wbS5oCkBAIC0xOSw2ICsxOSw3IEBACiAKICNpZm5kZWYgX19BU1NFTUJMWV9fCiBleHRlcm4gdm9pZCBjcHVfZW50ZXJfaWRsZSh2b2lkKTsKK2V4dGVybiB2b2lkIGNwdV9lbnRlcl9zdGFuZGJ5KHVuc2lnbmVkIGxvbmcgc2RyYW1jX2Jhc2UpOwogCiBleHRlcm4gYm9vbCBkaXNhYmxlX2lkbGVfc2xlZXA7CiAKQEAgLTQzLDYgKzQ0LDggQEAKIAllbHNlCiAJCWNwdV9lbnRlcl9pZGxlKCk7CiB9CisKK3ZvaWQgaW50Y19zZXRfc3VzcGVuZF9oYW5kbGVyKHVuc2lnbmVkIGxvbmcgb2Zmc2V0KTsKICNlbmRpZgogCiAjZW5kaWYgLyogX19BU01fQVZSMzJfQVJDSF9QTV9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hdnIzMi9hcmNoLWF0MzJhcC9zcmFtLmggYi9pbmNsdWRlL2FzbS1hdnIzMi9hcmNoLWF0MzJhcC9zcmFtLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDgzOGRhZQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWF2cjMyL2FyY2gtYXQzMmFwL3NyYW0uaApAQCAtMCwwICsxLDMwIEBACisvKgorICogU2ltcGxlIFNSQU0gYWxsb2NhdG9yCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA4IEF0bWVsIENvcnBvcmF0aW9uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqLworI2lmbmRlZiBfX0FTTV9BVlIzMl9BUkNIX1NSQU1fSAorI2RlZmluZSBfX0FTTV9BVlIzMl9BUkNIX1NSQU1fSAorCisjaW5jbHVkZSA8bGludXgvZ2VuYWxsb2MuaD4KKworZXh0ZXJuIHN0cnVjdCBnZW5fcG9vbCAqc3JhbV9wb29sOworCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgc3JhbV9hbGxvYyhzaXplX3QgbGVuKQoreworCWlmICghc3JhbV9wb29sKQorCQlyZXR1cm4gMFVMOworCisJcmV0dXJuIGdlbl9wb29sX2FsbG9jKHNyYW1fcG9vbCwgbGVuKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIHNyYW1fZnJlZSh1bnNpZ25lZCBsb25nIGFkZHIsIHNpemVfdCBsZW4pCit7CisJcmV0dXJuIGdlbl9wb29sX2ZyZWUoc3JhbV9wb29sLCBhZGRyLCBsZW4pOworfQorCisjZW5kaWYgLyogX19BU01fQVZSMzJfQVJDSF9TUkFNX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWF2cjMyL21tdV9jb250ZXh0LmggYi9pbmNsdWRlL2FzbS1hdnIzMi9tbXVfY29udGV4dC5oCmluZGV4IGMzN2MzOTEuLjI3ZmYyMzQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWF2cjMyL21tdV9jb250ZXh0LmgKKysrIGIvaW5jbHVkZS9hc20tYXZyMzIvbW11X2NvbnRleHQuaApAQCAtMTMsNyArMTMsNiBAQAogI2RlZmluZSBfX0FTTV9BVlIzMl9NTVVfQ09OVEVYVF9ICiAKICNpbmNsdWRlIDxhc20vdGxiZmx1c2guaD4KLSNpbmNsdWRlIDxhc20vcGdhbGxvYy5oPgogI2luY2x1ZGUgPGFzbS9zeXNyZWcuaD4KICNpbmNsdWRlIDxhc20tZ2VuZXJpYy9tbV9ob29rcy5oPgogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hdnIzMi9wY2kuaCBiL2luY2x1ZGUvYXNtLWF2cjMyL3BjaS5oCmluZGV4IDBmNWYxMzQuLmEzMmEwMjMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWF2cjMyL3BjaS5oCisrKyBiL2luY2x1ZGUvYXNtLWF2cjMyL3BjaS5oCkBAIC01LDQgKzUsNiBAQAogCiAjZGVmaW5lIFBDSV9ETUFfQlVTX0lTX1BIWVMJKDEpCiAKKyNpbmNsdWRlIDxhc20tZ2VuZXJpYy9wY2ktZG1hLWNvbXBhdC5oPgorCiAjZW5kaWYgLyogX19BU01fQVZSMzJfUENJX0hfXyAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXZyMzIvcGdhbGxvYy5oIGIvaW5jbHVkZS9hc20tYXZyMzIvcGdhbGxvYy5oCmluZGV4IDUxZmMxZjYuLjY0MDgyMTMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWF2cjMyL3BnYWxsb2MuaAorKysgYi9pbmNsdWRlL2FzbS1hdnIzMi9wZ2FsbG9jLmgKQEAgLTgsNjUgKzgsNzkgQEAKICNpZm5kZWYgX19BU01fQVZSMzJfUEdBTExPQ19ICiAjZGVmaW5lIF9fQVNNX0FWUjMyX1BHQUxMT0NfSAogCi0jaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci5oPgotI2luY2x1ZGUgPGxpbnV4L3RocmVhZHMuaD4KLSNpbmNsdWRlIDxsaW51eC9zbGFiLmg+Ci0jaW5jbHVkZSA8bGludXgvbW0uaD4KKyNpbmNsdWRlIDxsaW51eC9xdWlja2xpc3QuaD4KKyNpbmNsdWRlIDxhc20vcGFnZS5oPgorI2luY2x1ZGUgPGFzbS9wZ3RhYmxlLmg+CiAKLSNkZWZpbmUgcG1kX3BvcHVsYXRlX2tlcm5lbChtbSwgcG1kLCBwdGUpIFwKLQlzZXRfcG1kKHBtZCwgX19wbWQoX1BBR0VfVEFCTEUgKyBfX3BhKHB0ZSkpKQorI2RlZmluZSBRVUlDS19QR0QJMAkvKiBQcmVzZXJ2ZSBrZXJuZWwgbWFwcGluZ3Mgb3ZlciBmcmVlICovCisjZGVmaW5lIFFVSUNLX1BUCTEJLyogWmVybyBvbiBmcmVlICovCiAKLXN0YXRpYyBfX2lubGluZV9fIHZvaWQgcG1kX3BvcHVsYXRlKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCBwbWRfdCAqcG1kLAorc3RhdGljIGlubGluZSB2b2lkIHBtZF9wb3B1bGF0ZV9rZXJuZWwoc3RydWN0IG1tX3N0cnVjdCAqbW0sCisJCQkJICAgICAgIHBtZF90ICpwbWQsIHB0ZV90ICpwdGUpCit7CisJc2V0X3BtZChwbWQsIF9fcG1kKCh1bnNpZ25lZCBsb25nKXB0ZSkpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgcG1kX3BvcHVsYXRlKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCBwbWRfdCAqcG1kLAogCQkJCSAgICBwZ3RhYmxlX3QgcHRlKQogewotCXNldF9wbWQocG1kLCBfX3BtZChfUEFHRV9UQUJMRSArIHBhZ2VfdG9fcGh5cyhwdGUpKSk7CisJc2V0X3BtZChwbWQsIF9fcG1kKCh1bnNpZ25lZCBsb25nKXBhZ2VfYWRkcmVzcyhwdGUpKSk7CiB9CiAjZGVmaW5lIHBtZF9wZ3RhYmxlKHBtZCkgcG1kX3BhZ2UocG1kKQogCitzdGF0aWMgaW5saW5lIHZvaWQgcGdkX2N0b3Iodm9pZCAqeCkKK3sKKwlwZ2RfdCAqcGdkID0geDsKKworCW1lbWNweShwZ2QgKyBVU0VSX1BUUlNfUEVSX1BHRCwKKwkJc3dhcHBlcl9wZ19kaXIgKyBVU0VSX1BUUlNfUEVSX1BHRCwKKwkJKFBUUlNfUEVSX1BHRCAtIFVTRVJfUFRSU19QRVJfUEdEKSAqIHNpemVvZihwZ2RfdCkpOworfQorCiAvKgogICogQWxsb2NhdGUgYW5kIGZyZWUgcGFnZSB0YWJsZXMKICAqLwotc3RhdGljIF9faW5saW5lX18gcGdkX3QgKnBnZF9hbGxvYyhzdHJ1Y3QgbW1fc3RydWN0ICptbSkKK3N0YXRpYyBpbmxpbmUgcGdkX3QgKnBnZF9hbGxvYyhzdHJ1Y3QgbW1fc3RydWN0ICptbSkKIHsKLQlyZXR1cm4ga2NhbGxvYyhVU0VSX1BUUlNfUEVSX1BHRCwgc2l6ZW9mKHBnZF90KSwgR0ZQX0tFUk5FTCk7CisJcmV0dXJuIHF1aWNrbGlzdF9hbGxvYyhRVUlDS19QR0QsIEdGUF9LRVJORUwgfCBfX0dGUF9SRVBFQVQsIHBnZF9jdG9yKTsKIH0KIAogc3RhdGljIGlubGluZSB2b2lkIHBnZF9mcmVlKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCBwZ2RfdCAqcGdkKQogewotCWtmcmVlKHBnZCk7CisJcXVpY2tsaXN0X2ZyZWUoUVVJQ0tfUEdELCBOVUxMLCBwZ2QpOwogfQogCiBzdGF0aWMgaW5saW5lIHB0ZV90ICpwdGVfYWxsb2Nfb25lX2tlcm5lbChzdHJ1Y3QgbW1fc3RydWN0ICptbSwKIAkJCQkJICB1bnNpZ25lZCBsb25nIGFkZHJlc3MpCiB7Ci0JcHRlX3QgKnB0ZTsKLQotCXB0ZSA9IChwdGVfdCAqKWdldF96ZXJvZWRfcGFnZShHRlBfS0VSTkVMIHwgX19HRlBfUkVQRUFUKTsKLQotCXJldHVybiBwdGU7CisJcmV0dXJuIHF1aWNrbGlzdF9hbGxvYyhRVUlDS19QVCwgR0ZQX0tFUk5FTCB8IF9fR0ZQX1JFUEVBVCwgTlVMTCk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgc3RydWN0IHBhZ2UgKnB0ZV9hbGxvY19vbmUoc3RydWN0IG1tX3N0cnVjdCAqbW0sCitzdGF0aWMgaW5saW5lIHBndGFibGVfdCBwdGVfYWxsb2Nfb25lKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLAogCQkJCQkgdW5zaWduZWQgbG9uZyBhZGRyZXNzKQogewotCXN0cnVjdCBwYWdlICpwdGU7CisJc3RydWN0IHBhZ2UgKnBhZ2U7CisJdm9pZCAqcGc7CiAKLQlwdGUgPSBhbGxvY19wYWdlKEdGUF9LRVJORUwgfCBfX0dGUF9SRVBFQVQgfCBfX0dGUF9aRVJPKTsKLQlpZiAoIXB0ZSkKKwlwZyA9IHF1aWNrbGlzdF9hbGxvYyhRVUlDS19QVCwgR0ZQX0tFUk5FTCB8IF9fR0ZQX1JFUEVBVCwgTlVMTCk7CisJaWYgKCFwZykKIAkJcmV0dXJuIE5VTEw7Ci0JcGd0YWJsZV9wYWdlX2N0b3IocHRlKTsKLQlyZXR1cm4gcHRlOworCisJcGFnZSA9IHZpcnRfdG9fcGFnZShwZyk7CisJcGd0YWJsZV9wYWdlX2N0b3IocGFnZSk7CisKKwlyZXR1cm4gcGFnZTsKIH0KIAogc3RhdGljIGlubGluZSB2b2lkIHB0ZV9mcmVlX2tlcm5lbChzdHJ1Y3QgbW1fc3RydWN0ICptbSwgcHRlX3QgKnB0ZSkKIHsKLQlmcmVlX3BhZ2UoKHVuc2lnbmVkIGxvbmcpcHRlKTsKKwlxdWlja2xpc3RfZnJlZShRVUlDS19QVCwgTlVMTCwgcHRlKTsKIH0KIAogc3RhdGljIGlubGluZSB2b2lkIHB0ZV9mcmVlKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCBwZ3RhYmxlX3QgcHRlKQogewogCXBndGFibGVfcGFnZV9kdG9yKHB0ZSk7Ci0JX19mcmVlX3BhZ2UocHRlKTsKKwlxdWlja2xpc3RfZnJlZV9wYWdlKFFVSUNLX1BULCBOVUxMLCBwdGUpOwogfQogCiAjZGVmaW5lIF9fcHRlX2ZyZWVfdGxiKHRsYixwdGUpCQkJCVwKQEAgLTc1LDYgKzg5LDEwIEBACiAJdGxiX3JlbW92ZV9wYWdlKCh0bGIpLCBwdGUpOwkJCVwKIH0gd2hpbGUgKDApCiAKLSNkZWZpbmUgY2hlY2tfcGd0X2NhY2hlKCkgZG8geyB9IHdoaWxlKDApCitzdGF0aWMgaW5saW5lIHZvaWQgY2hlY2tfcGd0X2NhY2hlKHZvaWQpCit7CisJcXVpY2tsaXN0X3RyaW0oUVVJQ0tfUEdELCBOVUxMLCAyNSwgMTYpOworCXF1aWNrbGlzdF90cmltKFFVSUNLX1BULCBOVUxMLCAyNSwgMTYpOworfQogCiAjZW5kaWYgLyogX19BU01fQVZSMzJfUEdBTExPQ19IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hdnIzMi9wZ3RhYmxlLmggYi9pbmNsdWRlL2FzbS1hdnIzMi9wZ3RhYmxlLmgKaW5kZXggYzBlNWUyOS4uZmVjZGRhMSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXZyMzIvcGd0YWJsZS5oCisrKyBiL2luY2x1ZGUvYXNtLWF2cjMyL3BndGFibGUuaApAQCAtMTI5LDEzICsxMjksNiBAQAogCiAjZGVmaW5lIF9QQUdFX0ZMQUdTX0NBQ0hFX01BU0sJKF9QQUdFX0NBQ0hBQkxFIHwgX1BBR0VfQlVGRkVSIHwgX1BBR0VfV1QpCiAKLS8qIFRPRE86IENoZWNrIGZvciBzYW5lbmVzcyAqLwotLyogVXNlci1tb2RlIHBhZ2UgdGFibGUgZmxhZ3MgKHRvIGJlIHNldCBpbiBhIHBnZCBvciBwbWQgZW50cnkpICovCi0jZGVmaW5lIF9QQUdFX1RBQkxFCQkoX1BBR0VfUFJFU0VOVCB8IF9QQUdFX1RZUEVfU01BTEwgfCBfUEFHRV9SVyBcCi0JCQkJIHwgX1BBR0VfVVNFUiB8IF9QQUdFX0FDQ0VTU0VEIHwgX1BBR0VfRElSVFkpCi0vKiBLZXJuZWwtbW9kZSBwYWdlIHRhYmxlIGZsYWdzICovCi0jZGVmaW5lIF9LRVJOUEdfVEFCTEUJCShfUEFHRV9QUkVTRU5UIHwgX1BBR0VfVFlQRV9TTUFMTCB8IF9QQUdFX1JXIFwKLQkJCQkgfCBfUEFHRV9BQ0NFU1NFRCB8IF9QQUdFX0RJUlRZKQogLyogRmxhZ3MgdGhhdCBtYXkgYmUgbW9kaWZpZWQgYnkgc29mdHdhcmUgKi8KICNkZWZpbmUgX1BBR0VfQ0hHX01BU0sJCShQVEVfTUFTSyB8IF9QQUdFX0FDQ0VTU0VEIHwgX1BBR0VfRElSVFkgXAogCQkJCSB8IF9QQUdFX0ZMQUdTX0NBQ0hFX01BU0spCkBAIC0yNjIsMTAgKzI1NSwxNCBAQAogfQogCiAjZGVmaW5lIHBtZF9ub25lKHgpCSghcG1kX3ZhbCh4KSkKLSNkZWZpbmUgcG1kX3ByZXNlbnQoeCkJKHBtZF92YWwoeCkgJiBfUEFHRV9QUkVTRU5UKQotI2RlZmluZSBwbWRfY2xlYXIoeHApCWRvIHsgc2V0X3BtZCh4cCwgX19wbWQoMCkpOyB9IHdoaWxlICgwKQotI2RlZmluZQlwbWRfYmFkKHgpCSgocG1kX3ZhbCh4KSAmICh+UEFHRV9NQVNLICYgfl9QQUdFX1VTRVIpKQlcCi0JCQkgIT0gX0tFUk5QR19UQUJMRSkKKyNkZWZpbmUgcG1kX3ByZXNlbnQoeCkJKHBtZF92YWwoeCkpCisKK3N0YXRpYyBpbmxpbmUgdm9pZCBwbWRfY2xlYXIocG1kX3QgKnBtZHApCit7CisJc2V0X3BtZChwbWRwLCBfX3BtZCgwKSk7Cit9CisKKyNkZWZpbmUJcG1kX2JhZCh4KQkocG1kX3ZhbCh4KSAmIH5QQUdFX01BU0spCiAKIC8qCiAgKiBQZXJtYW5lbnQgYWRkcmVzcyBvZiBhIHBhZ2UuIFdlIGRvbid0IHN1cHBvcnQgaGlnaG1lbSwgc28gdGhpcyBpcwpAQCAtMzAzLDE5ICszMDAsMTYgQEAKIAogI2RlZmluZSBwYWdlX3B0ZShwYWdlKQlwYWdlX3B0ZV9wcm90KHBhZ2UsIF9fcGdwcm90KDApKQogCi0jZGVmaW5lIHBtZF9wYWdlX3ZhZGRyKHBtZCkJCQkJCVwKLQkoKHVuc2lnbmVkIGxvbmcpIF9fdmEocG1kX3ZhbChwbWQpICYgUEFHRV9NQVNLKSkKLQotI2RlZmluZSBwbWRfcGFnZShwbWQpCShwaHlzX3RvX3BhZ2UocG1kX3ZhbChwbWQpKSkKKyNkZWZpbmUgcG1kX3BhZ2VfdmFkZHIocG1kKQlwbWRfdmFsKHBtZCkKKyNkZWZpbmUgcG1kX3BhZ2UocG1kKQkJKHZpcnRfdG9fcGFnZShwbWRfdmFsKHBtZCkpKQogCiAvKiB0byBmaW5kIGFuIGVudHJ5IGluIGEgcGFnZS10YWJsZS1kaXJlY3RvcnkuICovCi0jZGVmaW5lIHBnZF9pbmRleChhZGRyZXNzKSAoKChhZGRyZXNzKSA+PiBQR0RJUl9TSElGVCkgJiAoUFRSU19QRVJfUEdELTEpKQotI2RlZmluZSBwZ2Rfb2Zmc2V0KG1tLCBhZGRyZXNzKSAoKG1tKS0+cGdkK3BnZF9pbmRleChhZGRyZXNzKSkKLSNkZWZpbmUgcGdkX29mZnNldF9jdXJyZW50KGFkZHJlc3MpCQkJCVwKLQkoKHBnZF90ICopX19tZnNyKFNZU1JFR19QVEJSKSArIHBnZF9pbmRleChhZGRyZXNzKSkKKyNkZWZpbmUgcGdkX2luZGV4KGFkZHJlc3MpCSgoKGFkZHJlc3MpID4+IFBHRElSX1NISUZUKQlcCisJCQkJICYgKFBUUlNfUEVSX1BHRCAtIDEpKQorI2RlZmluZSBwZ2Rfb2Zmc2V0KG1tLCBhZGRyZXNzKQkoKG1tKS0+cGdkICsgcGdkX2luZGV4KGFkZHJlc3MpKQogCiAvKiB0byBmaW5kIGFuIGVudHJ5IGluIGEga2VybmVsIHBhZ2UtdGFibGUtZGlyZWN0b3J5ICovCi0jZGVmaW5lIHBnZF9vZmZzZXRfayhhZGRyZXNzKSBwZ2Rfb2Zmc2V0KCZpbml0X21tLCBhZGRyZXNzKQorI2RlZmluZSBwZ2Rfb2Zmc2V0X2soYWRkcmVzcykJcGdkX29mZnNldCgmaW5pdF9tbSwgYWRkcmVzcykKIAogLyogRmluZCBhbiBlbnRyeSBpbiB0aGUgdGhpcmQtbGV2ZWwgcGFnZSB0YWJsZS4uICovCiAjZGVmaW5lIHB0ZV9pbmRleChhZGRyZXNzKQkJCQlcCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hdnIzMi9zZXR1cC5oIGIvaW5jbHVkZS9hc20tYXZyMzIvc2V0dXAuaAppbmRleCBlYTMwNzBmLi5mZjViN2NmIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hdnIzMi9zZXR1cC5oCisrKyBiL2luY2x1ZGUvYXNtLWF2cjMyL3NldHVwLmgKQEAgLTIsNyArMiw3IEBACiAgKiBDb3B5cmlnaHQgKEMpIDIwMDQtMjAwNiBBdG1lbCBDb3Jwb3JhdGlvbgogICoKICAqIEJhc2VkIG9uIGxpbnV4L2luY2x1ZGUvYXNtLWFybS9zZXR1cC5oCi0gKiAgIENvcHlyaWdodCAoQykgMTk5Ny0xOTk5IFJ1c3NlbCBLaW5nCisgKiAgIENvcHlyaWdodCAoQykgMTk5Ny0xOTk5IFJ1c3NlbGwgS2luZwogICoKICAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiAgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXZyMzIvdGhyZWFkX2luZm8uaCBiL2luY2x1ZGUvYXNtLWF2cjMyL3RocmVhZF9pbmZvLmgKaW5kZXggMDcwNDlmNi4uZGY2ODYzMSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXZyMzIvdGhyZWFkX2luZm8uaAorKysgYi9pbmNsdWRlL2FzbS1hdnIzMi90aHJlYWRfaW5mby5oCkBAIC04OCw2ICs4OCw3IEBACiAjZGVmaW5lIFRJRl9NRU1ESUUJCTYKICNkZWZpbmUgVElGX1JFU1RPUkVfU0lHTUFTSwk3CS8qIHJlc3RvcmUgc2lnbmFsIG1hc2sgaW4gZG9fc2lnbmFsICovCiAjZGVmaW5lIFRJRl9DUFVfR09JTkdfVE9fU0xFRVAJOAkvKiBDUFUgaXMgZW50ZXJpbmcgc2xlZXAgMCBtb2RlICovCisjZGVmaW5lIFRJRl9GUkVFWkUJCTI5CiAjZGVmaW5lIFRJRl9ERUJVRwkJMzAJLyogZGVidWdnaW5nIGVuYWJsZWQgKi8KICNkZWZpbmUgVElGX1VTRVJTUEFDRQkJMzEgICAgICAvKiB0cnVlIGlmIEZTIHNldHMgdXNlcnNwYWNlICovCiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWF2cjMyL3RsYmZsdXNoLmggYi9pbmNsdWRlL2FzbS1hdnIzMi90bGJmbHVzaC5oCmluZGV4IDViYzdjODguLmJmOTBhNzggMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWF2cjMyL3RsYmZsdXNoLmgKKysrIGIvaW5jbHVkZS9hc20tYXZyMzIvdGxiZmx1c2guaApAQCAtMjYsNyArMjYsNiBAQAogZXh0ZXJuIHZvaWQgZmx1c2hfdGxiX3JhbmdlKHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hLCB1bnNpZ25lZCBsb25nIHN0YXJ0LAogCQkJICAgIHVuc2lnbmVkIGxvbmcgZW5kKTsKIGV4dGVybiB2b2lkIGZsdXNoX3RsYl9wYWdlKHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hLCB1bnNpZ25lZCBsb25nIHBhZ2UpOwotZXh0ZXJuIHZvaWQgX19mbHVzaF90bGJfcGFnZSh1bnNpZ25lZCBsb25nIGFzaWQsIHVuc2lnbmVkIGxvbmcgcGFnZSk7CiAKIGV4dGVybiB2b2lkIGZsdXNoX3RsYl9rZXJuZWxfcmFuZ2UodW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQpOwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1mcnYvc3lzdGVtLmggYi9pbmNsdWRlL2FzbS1mcnYvc3lzdGVtLmgKaW5kZXggZDNhMTJhOS4uNzc0MmVjMCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tZnJ2L3N5c3RlbS5oCisrKyBiL2luY2x1ZGUvYXNtLWZydi9zeXN0ZW0uaApAQCAtODcsNyArODcsNyBAQAogfSB3aGlsZSgwKQogCiAjZGVmaW5lIGlycXNfZGlzYWJsZWQoKSBcCi0JKHt1bnNpZ25lZCBsb25nIGZsYWdzOyBsb2NhbF9zYXZlX2ZsYWdzKGZsYWdzKTsgZmxhZ3M7IH0pCisJKHt1bnNpZ25lZCBsb25nIGZsYWdzOyBsb2NhbF9zYXZlX2ZsYWdzKGZsYWdzKTsgISFmbGFnczsgfSkKIAogI2RlZmluZQlsb2NhbF9pcnFfc2F2ZShmbGFncykJCQlcCiBkbyB7CQkJCQkJXApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tZ2VuZXJpYy9wZ3RhYmxlLmggYi9pbmNsdWRlL2FzbS1nZW5lcmljL3BndGFibGUuaAppbmRleCA0NGVmMzI5Li5lZjg3Zjg4IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1nZW5lcmljL3BndGFibGUuaAorKysgYi9pbmNsdWRlL2FzbS1nZW5lcmljL3BndGFibGUuaApAQCAtMTk1LDYgKzE5NSw2MyBAQAogCX0KIAlyZXR1cm4gMDsKIH0KKworc3RhdGljIGlubGluZSBwdGVfdCBfX3B0ZXBfbW9kaWZ5X3Byb3Rfc3RhcnQoc3RydWN0IG1tX3N0cnVjdCAqbW0sCisJCQkJCSAgICAgdW5zaWduZWQgbG9uZyBhZGRyLAorCQkJCQkgICAgIHB0ZV90ICpwdGVwKQoreworCS8qCisJICogR2V0IHRoZSBjdXJyZW50IHB0ZSBzdGF0ZSwgYnV0IHplcm8gaXQgb3V0IHRvIG1ha2UgaXQKKwkgKiBub24tcHJlc2VudCwgcHJldmVudGluZyB0aGUgaGFyZHdhcmUgZnJvbSBhc3luY2hyb25vdXNseQorCSAqIHVwZGF0aW5nIGl0LgorCSAqLworCXJldHVybiBwdGVwX2dldF9hbmRfY2xlYXIobW0sIGFkZHIsIHB0ZXApOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgX19wdGVwX21vZGlmeV9wcm90X2NvbW1pdChzdHJ1Y3QgbW1fc3RydWN0ICptbSwKKwkJCQkJICAgICB1bnNpZ25lZCBsb25nIGFkZHIsCisJCQkJCSAgICAgcHRlX3QgKnB0ZXAsIHB0ZV90IHB0ZSkKK3sKKwkvKgorCSAqIFRoZSBwdGUgaXMgbm9uLXByZXNlbnQsIHNvIHRoZXJlJ3Mgbm8gaGFyZHdhcmUgc3RhdGUgdG8KKwkgKiBwcmVzZXJ2ZS4KKwkgKi8KKwlzZXRfcHRlX2F0KG1tLCBhZGRyLCBwdGVwLCBwdGUpOworfQorCisjaWZuZGVmIF9fSEFWRV9BUkNIX1BURVBfTU9ESUZZX1BST1RfVFJBTlNBQ1RJT04KKy8qCisgKiBTdGFydCBhIHB0ZSBwcm90ZWN0aW9uIHJlYWQtbW9kaWZ5LXdyaXRlIHRyYW5zYWN0aW9uLCB3aGljaAorICogcHJvdGVjdHMgYWdhaW5zdCBhc3luY2hyb25vdXMgaGFyZHdhcmUgbW9kaWZpY2F0aW9ucyB0byB0aGUgcHRlLgorICogVGhlIGludGVudGlvbiBpcyBub3QgdG8gcHJldmVudCB0aGUgaGFyZHdhcmUgZnJvbSBtYWtpbmcgcHRlCisgKiB1cGRhdGVzLCBidXQgdG8gcHJldmVudCBhbnkgdXBkYXRlcyBpdCBtYXkgbWFrZSBmcm9tIGJlaW5nIGxvc3QuCisgKgorICogVGhpcyBkb2VzIG5vdCBwcm90ZWN0IGFnYWluc3Qgb3RoZXIgc29mdHdhcmUgbW9kaWZpY2F0aW9ucyBvZiB0aGUKKyAqIHB0ZTsgdGhlIGFwcHJvcHJpYXRlIHB0ZSBsb2NrIG11c3QgYmUgaGVsZCBvdmVyIHRoZSB0cmFuc2F0aW9uLgorICoKKyAqIE5vdGUgdGhhdCB0aGlzIGludGVyZmFjZSBpcyBpbnRlbmRlZCB0byBiZSBiYXRjaGFibGUsIG1lYW5pbmcgdGhhdAorICogcHRlcF9tb2RpZnlfcHJvdF9jb21taXQgbWF5IG5vdCBhY3R1YWxseSB1cGRhdGUgdGhlIHB0ZSwgYnV0IG1lcmVseQorICogcXVldWUgdGhlIHVwZGF0ZSB0byBiZSBkb25lIGF0IHNvbWUgbGF0ZXIgdGltZS4gIFRoZSB1cGRhdGUgbXVzdCBiZQorICogYWN0dWFsbHkgY29tbWl0dGVkIGJlZm9yZSB0aGUgcHRlIGxvY2sgaXMgcmVsZWFzZWQsIGhvd2V2ZXIuCisgKi8KK3N0YXRpYyBpbmxpbmUgcHRlX3QgcHRlcF9tb2RpZnlfcHJvdF9zdGFydChzdHJ1Y3QgbW1fc3RydWN0ICptbSwKKwkJCQkJICAgdW5zaWduZWQgbG9uZyBhZGRyLAorCQkJCQkgICBwdGVfdCAqcHRlcCkKK3sKKwlyZXR1cm4gX19wdGVwX21vZGlmeV9wcm90X3N0YXJ0KG1tLCBhZGRyLCBwdGVwKTsKK30KKworLyoKKyAqIENvbW1pdCBhbiB1cGRhdGUgdG8gYSBwdGUsIGxlYXZpbmcgYW55IGhhcmR3YXJlLWNvbnRyb2xsZWQgYml0cyBpbgorICogdGhlIFBURSB1bm1vZGlmaWVkLgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgcHRlcF9tb2RpZnlfcHJvdF9jb21taXQoc3RydWN0IG1tX3N0cnVjdCAqbW0sCisJCQkJCSAgIHVuc2lnbmVkIGxvbmcgYWRkciwKKwkJCQkJICAgcHRlX3QgKnB0ZXAsIHB0ZV90IHB0ZSkKK3sKKwlfX3B0ZXBfbW9kaWZ5X3Byb3RfY29tbWl0KG1tLCBhZGRyLCBwdGVwLCBwdGUpOworfQorI2VuZGlmIC8qIF9fSEFWRV9BUkNIX1BURVBfTU9ESUZZX1BST1RfVFJBTlNBQ1RJT04gKi8KICNlbmRpZiAvKiBDT05GSUdfTU1VICovCiAKIC8qCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1nZW5lcmljL3RvcG9sb2d5LmggYi9pbmNsdWRlL2FzbS1nZW5lcmljL3RvcG9sb2d5LmgKaW5kZXggYTZhZWE3OS4uNTRiYmY2ZSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tZ2VuZXJpYy90b3BvbG9neS5oCisrKyBiL2luY2x1ZGUvYXNtLWdlbmVyaWMvdG9wb2xvZ3kuaApAQCAtNjAsNyArNjAsOCBAQAogI2lmbmRlZiBub2RlX3RvX2NwdW1hc2tfcHRyCiAKICNkZWZpbmUJbm9kZV90b19jcHVtYXNrX3B0cih2LCBub2RlKSAJCQkJCVwKLQkJY3B1bWFza190IF8jI3YgPSBub2RlX3RvX2NwdW1hc2sobm9kZSksICp2ID0gJl8jI3YKKwkJY3B1bWFza190IF8jI3YgPSBub2RlX3RvX2NwdW1hc2sobm9kZSk7CQkJXAorCQljb25zdCBjcHVtYXNrX3QgKnYgPSAmXyMjdgogCiAjZGVmaW5lIG5vZGVfdG9fY3B1bWFza19wdHJfbmV4dCh2LCBub2RlKQkJCQlcCiAJCQkgIF8jI3YgPSBub2RlX3RvX2NwdW1hc2sobm9kZSkKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWdlbmVyaWMvdm1saW51eC5sZHMuaCBiL2luY2x1ZGUvYXNtLWdlbmVyaWMvdm1saW51eC5sZHMuaAppbmRleCBmMDU0Nzc4Li5iMjA0MDk0IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1nZW5lcmljL3ZtbGludXgubGRzLmgKKysrIGIvaW5jbHVkZS9hc20tZ2VuZXJpYy92bWxpbnV4Lmxkcy5oCkBAIC02Nyw2ICs2Nyw4IEBACiAJCSooLnJvZGF0YTEpCQkJCQkJXAogCX0JCQkJCQkJCVwKIAkJCQkJCQkJCVwKKwlCVUdfVEFCTEUJCQkJCQkJXAorCQkJCQkJCQkJXAogCS8qIFBDSSBxdWlya3MgKi8JCQkJCQlcCiAJLnBjaV9maXh1cCAgICAgICAgOiBBVChBRERSKC5wY2lfZml4dXApIC0gTE9BRF9PRkZTRVQpIHsJXAogCQlWTUxJTlVYX1NZTUJPTChfX3N0YXJ0X3BjaV9maXh1cHNfZWFybHkpID0gLjsJCVwKQEAgLTg2LDYgKzg4LDEzIEBACiAJCVZNTElOVVhfU1lNQk9MKF9fZW5kX3BjaV9maXh1cHNfcmVzdW1lKSA9IC47CQlcCiAJfQkJCQkJCQkJXAogCQkJCQkJCQkJXAorCS8qIEJ1aWx0LWluIGZpcm13YXJlIGJsb2JzICovCQkJCQlcCisJLmJ1aWx0aW5fZncgICAgICAgIDogQVQoQUREUiguYnVpbHRpbl9mdykgLSBMT0FEX09GRlNFVCkgewlcCisJCVZNTElOVVhfU1lNQk9MKF9fc3RhcnRfYnVpbHRpbl9mdykgPSAuOwkJCVwKKwkJKiguYnVpbHRpbl9mdykJCQkJCQlcCisJCVZNTElOVVhfU1lNQk9MKF9fZW5kX2J1aWx0aW5fZncpID0gLjsJCQlcCisJfQkJCQkJCQkJXAorCQkJCQkJCQkJXAogCS8qIFJhcGlkSU8gcm91dGUgb3BzICovCQkJCQkJXAogCS5yaW9fcm91dGUgICAgICAgIDogQVQoQUREUigucmlvX3JvdXRlKSAtIExPQURfT0ZGU0VUKSB7CVwKIAkJVk1MSU5VWF9TWU1CT0woX19zdGFydF9yaW9fcm91dGVfb3BzKSA9IC47CQlcCkBAIC05Myw2ICsxMDIsOCBAQAogCQlWTUxJTlVYX1NZTUJPTChfX2VuZF9yaW9fcm91dGVfb3BzKSA9IC47CQlcCiAJfQkJCQkJCQkJXAogCQkJCQkJCQkJXAorCVRSQUNFREFUQQkJCQkJCQlcCisJCQkJCQkJCQlcCiAJLyogS2VybmVsIHN5bWJvbCB0YWJsZTogTm9ybWFsIHN5bWJvbHMgKi8JCQlcCiAJX19rc3ltdGFiICAgICAgICAgOiBBVChBRERSKF9fa3N5bXRhYikgLSBMT0FEX09GRlNFVCkgewkJXAogCQlWTUxJTlVYX1NZTUJPTChfX3N0YXJ0X19fa3N5bXRhYikgPSAuOwkJCVwKQEAgLTMxMCw2ICszMjEsNyBAQAogCQkuc3RhYi5pbmRleHN0ciAwIDogeyAqKC5zdGFiLmluZGV4c3RyKSB9CQlcCiAJCS5jb21tZW50IDAgOiB7ICooLmNvbW1lbnQpIH0KIAorI2lmZGVmIENPTkZJR19HRU5FUklDX0JVRwogI2RlZmluZSBCVUdfVEFCTEUJCQkJCQkJXAogCS4gPSBBTElHTig4KTsJCQkJCQkJXAogCV9fYnVnX3RhYmxlIDogQVQoQUREUihfX2J1Z190YWJsZSkgLSBMT0FEX09GRlNFVCkgewkJXApAQCAtMzE3LDYgKzMyOSwyMSBAQAogCQkqKF9fYnVnX3RhYmxlKQkJCQkJCVwKIAkJX19zdG9wX19fYnVnX3RhYmxlID0gLjsJCQkJCVwKIAl9CisjZWxzZQorI2RlZmluZSBCVUdfVEFCTEUKKyNlbmRpZgorCisjaWZkZWYgQ09ORklHX1BNX1RSQUNFCisjZGVmaW5lIFRSQUNFREFUQQkJCQkJCQlcCisJLiA9IEFMSUdOKDQpOwkJCQkJCQlcCisJLnRyYWNlZGF0YSA6IEFUKEFERFIoLnRyYWNlZGF0YSkgLSBMT0FEX09GRlNFVCkgewkJXAorCSAgCV9fdHJhY2VkYXRhX3N0YXJ0ID0gLjsJCQkJCVwKKwkJKigudHJhY2VkYXRhKQkJCQkJCVwKKwkgIAlfX3RyYWNlZGF0YV9lbmQgPSAuOwkJCQkJXAorCX0KKyNlbHNlCisjZGVmaW5lIFRSQUNFREFUQQorI2VuZGlmCiAKICNkZWZpbmUgTk9URVMJCQkJCQkJCVwKIAkubm90ZXMgOiBBVChBRERSKC5ub3RlcykgLSBMT0FEX09GRlNFVCkgewkJCVwKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWlhNjQvc21wLmggYi9pbmNsdWRlL2FzbS1pYTY0L3NtcC5oCmluZGV4IGVjNWYzNTUuLjI3NzMxZTAgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWlhNjQvc21wLmgKKysrIGIvaW5jbHVkZS9hc20taWE2NC9zbXAuaApAQCAtMzgsOSArMzgsNiBAQAogCXJldHVybiBsaWQuZi5pZCA8PCA4IHwgbGlkLmYuZWlkOwogfQogCi1leHRlcm4gaW50IHNtcF9jYWxsX2Z1bmN0aW9uX21hc2soY3B1bWFza190IG1hc2ssIHZvaWQgKCpmdW5jKSh2b2lkICopLAotCQkJCSAgdm9pZCAqaW5mbywgaW50IHdhaXQpOwotCiAjZGVmaW5lIGhhcmRfc21wX3Byb2Nlc3Nvcl9pZCgpCQlpYTY0X2dldF9saWQoKQogCiAjaWZkZWYgQ09ORklHX1NNUApAQCAtMTI0LDExICsxMjEsMTIgQEAKIGV4dGVybiB2b2lkIHNtcF9kb190aW1lciAoc3RydWN0IHB0X3JlZ3MgKnJlZ3MpOwogCiBleHRlcm4gdm9pZCBzbXBfc2VuZF9yZXNjaGVkdWxlIChpbnQgY3B1KTsKLWV4dGVybiB2b2lkIGxvY2tfaXBpX2NhbGxsb2NrKHZvaWQpOwotZXh0ZXJuIHZvaWQgdW5sb2NrX2lwaV9jYWxsbG9jayh2b2lkKTsKIGV4dGVybiB2b2lkIGlkZW50aWZ5X3NpYmxpbmdzIChzdHJ1Y3QgY3B1aW5mb19pYTY0ICopOwogZXh0ZXJuIGludCBpc19tdWx0aXRocmVhZGluZ19lbmFibGVkKHZvaWQpOwogCitleHRlcm4gdm9pZCBhcmNoX3NlbmRfY2FsbF9mdW5jdGlvbl9zaW5nbGVfaXBpKGludCBjcHUpOworZXh0ZXJuIHZvaWQgYXJjaF9zZW5kX2NhbGxfZnVuY3Rpb25faXBpKGNwdW1hc2tfdCBtYXNrKTsKKwogI2Vsc2UgLyogQ09ORklHX1NNUCAqLwogCiAjZGVmaW5lIGNwdV9sb2dpY2FsX2lkKGkpCQkwCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1tMzJyL3NtcC5oIGIvaW5jbHVkZS9hc20tbTMyci9zbXAuaAppbmRleCAwNzhlMWE1Li5jNWRkNjY5IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1tMzJyL3NtcC5oCisrKyBiL2luY2x1ZGUvYXNtLW0zMnIvc21wLmgKQEAgLTg5LDYgKzg5LDkgQEAKIGV4dGVybiB2b2lkIHNtcF9zZW5kX3RpbWVyKHZvaWQpOwogZXh0ZXJuIHVuc2lnbmVkIGxvbmcgc2VuZF9JUElfbWFza19waHlzKGNwdW1hc2tfdCwgaW50LCBpbnQpOwogCitleHRlcm4gdm9pZCBhcmNoX3NlbmRfY2FsbF9mdW5jdGlvbl9zaW5nbGVfaXBpKGludCBjcHUpOworZXh0ZXJuIHZvaWQgYXJjaF9zZW5kX2NhbGxfZnVuY3Rpb25faXBpKGNwdW1hc2tfdCBtYXNrKTsKKwogI2VuZGlmCS8qIG5vdCBfX0FTU0VNQkxZX18gKi8KIAogI2RlZmluZSBOT19QUk9DX0lEICgweGZmKQkvKiBObyBwcm9jZXNzb3IgbWFnaWMgbWFya2VyICovCkBAIC0xMDQsNiArMTA3LDcgQEAKICNkZWZpbmUgTE9DQUxfVElNRVJfSVBJCQkoTTMyUl9JUlFfSVBJMy1NMzJSX0lSUV9JUEkwKQogI2RlZmluZSBJTlZBTElEQVRFX0NBQ0hFX0lQSQkoTTMyUl9JUlFfSVBJNC1NMzJSX0lSUV9JUEkwKQogI2RlZmluZSBDUFVfQk9PVF9JUEkJCShNMzJSX0lSUV9JUEk1LU0zMlJfSVJRX0lQSTApCisjZGVmaW5lIENBTExfRlVOQ19TSU5HTEVfSVBJCShNMzJSX0lSUV9JUEk2LU0zMlJfSVJRX0lQSTApCiAKICNkZWZpbmUgSVBJX1NISUZUCSgwKQogI2RlZmluZSBOUl9JUElTCQkoOCkKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLW1pcHMvbWFjaC1hdTF4MDAvYXUxeHh4X3BzYy5oIGIvaW5jbHVkZS9hc20tbWlwcy9tYWNoLWF1MXgwMC9hdTF4eHhfcHNjLmgKaW5kZXggZGFlNGVjYS4uODkyYjdmMSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tbWlwcy9tYWNoLWF1MXgwMC9hdTF4eHhfcHNjLmgKKysrIGIvaW5jbHVkZS9hc20tbWlwcy9tYWNoLWF1MXgwMC9hdTF4eHhfcHNjLmgKQEAgLTIwNCw2ICsyMDQsMTQgQEAKIAl1MzIJcHNjX2kyc3VkZjsKIH0gcHNjX2kyc190OwogCisjZGVmaW5lIFBTQ19JMlNDRkdfT0ZGU0VUCTB4MDgKKyNkZWZpbmUgUFNDX0kyU01BU0tfT0ZGU0VUCTB4MEMKKyNkZWZpbmUgUFNDX0kyU1BDUl9PRkZTRVQJMHgxMAorI2RlZmluZSBQU0NfSTJTU1RBVF9PRkZTRVQJMHgxNAorI2RlZmluZSBQU0NfSTJTRVZFTlRfT0ZGU0VUCTB4MTgKKyNkZWZpbmUgUFNDX0kyU1JYVFhfT0ZGU0VUCTB4MUMKKyNkZWZpbmUgUFNDX0kyU1VERl9PRkZTRVQJMHgyMAorCiAvKiBJMlMgQ29uZmlnIFJlZ2lzdGVyLiAqLwogI2RlZmluZSBQU0NfSTJTQ0ZHX1JUX01BU0sJKDMgPDwgMzApCiAjZGVmaW5lIFBTQ19JMlNDRkdfUlRfRklGTzEJKDAgPDwgMzApCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1taXBzL3NtcC5oIGIvaW5jbHVkZS9hc20tbWlwcy9zbXAuaAppbmRleCA4NGZlZjFhLi4wZmY1YjUyIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1taXBzL3NtcC5oCisrKyBiL2luY2x1ZGUvYXNtLW1pcHMvc21wLmgKQEAgLTM1LDE2ICszNSw2IEBACiAKICNkZWZpbmUgTk9fUFJPQ19JRAkoLTEpCiAKLXN0cnVjdCBjYWxsX2RhdGFfc3RydWN0IHsKLQl2b2lkCQkoKmZ1bmMpKHZvaWQgKik7Ci0Jdm9pZAkJKmluZm87Ci0JYXRvbWljX3QJc3RhcnRlZDsKLQlhdG9taWNfdAlmaW5pc2hlZDsKLQlpbnQJCXdhaXQ7Ci19OwotCi1leHRlcm4gc3RydWN0IGNhbGxfZGF0YV9zdHJ1Y3QgKmNhbGxfZGF0YTsKLQogI2RlZmluZSBTTVBfUkVTQ0hFRFVMRV9ZT1VSU0VMRgkweDEJLyogWFhYIGJyYWluZGVhZCAqLwogI2RlZmluZSBTTVBfQ0FMTF9GVU5DVElPTgkweDIKIApAQCAtNjcsNCArNTcsNyBAQAogCiBleHRlcm4gYXNtbGlua2FnZSB2b2lkIHNtcF9jYWxsX2Z1bmN0aW9uX2ludGVycnVwdCh2b2lkKTsKIAorZXh0ZXJuIHZvaWQgYXJjaF9zZW5kX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2lwaShpbnQgY3B1KTsKK2V4dGVybiB2b2lkIGFyY2hfc2VuZF9jYWxsX2Z1bmN0aW9uX2lwaShjcHVtYXNrX3QgbWFzayk7CisKICNlbmRpZiAvKiBfX0FTTV9TTVBfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tcGFyaXNjL3NtcC5oIGIvaW5jbHVkZS9hc20tcGFyaXNjL3NtcC5oCmluZGV4IDMwNmY0OTUuLjM5OGNkYmEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXBhcmlzYy9zbXAuaAorKysgYi9pbmNsdWRlL2FzbS1wYXJpc2Mvc21wLmgKQEAgLTMwLDYgKzMwLDkgQEAKIGV4dGVybiB2b2lkIHNtcF9zZW5kX3Jlc2NoZWR1bGUoaW50IGNwdSk7CiBleHRlcm4gdm9pZCBzbXBfc2VuZF9hbGxfbm9wKHZvaWQpOwogCitleHRlcm4gdm9pZCBhcmNoX3NlbmRfY2FsbF9mdW5jdGlvbl9zaW5nbGVfaXBpKGludCBjcHUpOworZXh0ZXJuIHZvaWQgYXJjaF9zZW5kX2NhbGxfZnVuY3Rpb25faXBpKGNwdW1hc2tfdCBtYXNrKTsKKwogI2VuZGlmIC8qICFBU1NFTUJMWSAqLwogCiAvKgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tcG93ZXJwYy9mdHJhY2UuaCBiL2luY2x1ZGUvYXNtLXBvd2VycGMvZnRyYWNlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGU5MjEzMgotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLXBvd2VycGMvZnRyYWNlLmgKQEAgLTAsMCArMSwxNCBAQAorI2lmbmRlZiBfQVNNX1BPV0VSUENfRlRSQUNFCisjZGVmaW5lIF9BU01fUE9XRVJQQ19GVFJBQ0UKKworI2lmZGVmIENPTkZJR19GVFJBQ0UKKyNkZWZpbmUgTUNPVU5UX0FERFIJCSgobG9uZykoX21jb3VudCkpCisjZGVmaW5lIE1DT1VOVF9JTlNOX1NJWkUJNCAvKiBzaXplb2YgbWNvdW50IGNhbGwgKi8KKworI2lmbmRlZiBfX0FTU0VNQkxZX18KK2V4dGVybiB2b2lkIF9tY291bnQodm9pZCk7CisjZW5kaWYKKworI2VuZGlmCisKKyNlbmRpZiAvKiBfQVNNX1BPV0VSUENfRlRSQUNFICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1wb3dlcnBjL2h3X2lycS5oIGIvaW5jbHVkZS9hc20tcG93ZXJwYy9od19pcnEuaAppbmRleCBhZDhjOWY3Li5mNzVhNWZjIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1wb3dlcnBjL2h3X2lycS5oCisrKyBiL2luY2x1ZGUvYXNtLXBvd2VycGMvaHdfaXJxLmgKQEAgLTU5LDYgKzU5LDExIEBACiAJCWdldF9wYWNhKCktPmhhcmRfZW5hYmxlZCA9IDA7CVwKIAl9IHdoaWxlKDApCiAKK3N0YXRpYyBpbmxpbmUgaW50IGlycXNfZGlzYWJsZWRfZmxhZ3ModW5zaWduZWQgbG9uZyBmbGFncykKK3sKKwlyZXR1cm4gZmxhZ3MgPT0gMDsKK30KKwogI2Vsc2UKIAogI2lmIGRlZmluZWQoQ09ORklHX0JPT0tFKQpAQCAtMTEzLDYgKzExOCwxMSBAQAogI2RlZmluZSBoYXJkX2lycV9lbmFibGUoKQlsb2NhbF9pcnFfZW5hYmxlKCkKICNkZWZpbmUgaGFyZF9pcnFfZGlzYWJsZSgpCWxvY2FsX2lycV9kaXNhYmxlKCkKIAorc3RhdGljIGlubGluZSBpbnQgaXJxc19kaXNhYmxlZF9mbGFncyh1bnNpZ25lZCBsb25nIGZsYWdzKQoreworCXJldHVybiAoZmxhZ3MgJiBNU1JfRUUpID09IDA7Cit9CisKICNlbmRpZiAvKiBDT05GSUdfUFBDNjQgKi8KIAogLyoKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXBvd2VycGMvc21wLmggYi9pbmNsdWRlL2FzbS1wb3dlcnBjL3NtcC5oCmluZGV4IDUwNWYzNWIuLmM2NjNhMWYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXBvd2VycGMvc21wLmgKKysrIGIvaW5jbHVkZS9hc20tcG93ZXJwYy9zbXAuaApAQCAtNjcsMTAgKzY3LDcgQEAKICAqIGluIC9wcm9jL2ludGVycnVwdHMgd2lsbCBiZSB3cm9uZyEhISAtLVRyb3kgKi8KICNkZWZpbmUgUFBDX01TR19DQUxMX0ZVTkNUSU9OICAgMAogI2RlZmluZSBQUENfTVNHX1JFU0NIRURVTEUgICAgICAxCi0vKiBUaGlzIGlzIHVudXNlZCBub3cgKi8KLSNpZiAwCi0jZGVmaW5lIFBQQ19NU0dfTUlHUkFURV9UQVNLICAgIDIKLSNlbmRpZgorI2RlZmluZSBQUENfTVNHX0NBTExfRlVOQ19TSU5HTEUJMgogI2RlZmluZSBQUENfTVNHX0RFQlVHR0VSX0JSRUFLICAzCiAKIHZvaWQgc21wX2luaXRfaVNlcmllcyh2b2lkKTsKQEAgLTExNyw2ICsxMTQsOSBAQAogCiBleHRlcm4gc3RydWN0IHNtcF9vcHNfdCAqc21wX29wczsKIAorZXh0ZXJuIHZvaWQgYXJjaF9zZW5kX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2lwaShpbnQgY3B1KTsKK2V4dGVybiB2b2lkIGFyY2hfc2VuZF9jYWxsX2Z1bmN0aW9uX2lwaShjcHVtYXNrX3QgbWFzayk7CisKICNlbmRpZiAvKiBfX0FTU0VNQkxZX18gKi8KIAogI2VuZGlmIC8qIF9fS0VSTkVMX18gKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXMzOTAvS2J1aWxkIGIvaW5jbHVkZS9hc20tczM5MC9LYnVpbGQKaW5kZXggMTNjOTgwNS4uMDlmMzEyNSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tczM5MC9LYnVpbGQKKysrIGIvaW5jbHVkZS9hc20tczM5MC9LYnVpbGQKQEAgLTgsNiArOCw5IEBACiBoZWFkZXIteSArPSB2dG9jLmgKIGhlYWRlci15ICs9IHpjcnlwdC5oCiBoZWFkZXIteSArPSBrdm0uaAoraGVhZGVyLXkgKz0gc2NoaWQuaAoraGVhZGVyLXkgKz0gY2hzYy5oCiAKIHVuaWZkZWYteSArPSBjbWIuaAogdW5pZmRlZi15ICs9IGRlYnVnLmgKK3VuaWZkZWYteSArPSBjaHBpZC5oCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1zMzkwL2FpcnEuaCBiL2luY2x1ZGUvYXNtLXMzOTAvYWlycS5oCmluZGV4IDQxZDAyOGMuLjFhYzgwZDYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXMzOTAvYWlycS5oCisrKyBiL2luY2x1ZGUvYXNtLXMzOTAvYWlycS5oCkBAIC0xMyw3ICsxMyw3IEBACiAKIHR5cGVkZWYgdm9pZCAoKmFkYXB0ZXJfaW50X2hhbmRsZXJfdCkodm9pZCAqLCB2b2lkICopOwogCi12b2lkICpzMzkwX3JlZ2lzdGVyX2FkYXB0ZXJfaW50ZXJydXB0KGFkYXB0ZXJfaW50X2hhbmRsZXJfdCwgdm9pZCAqKTsKLXZvaWQgczM5MF91bnJlZ2lzdGVyX2FkYXB0ZXJfaW50ZXJydXB0KHZvaWQgKik7Cit2b2lkICpzMzkwX3JlZ2lzdGVyX2FkYXB0ZXJfaW50ZXJydXB0KGFkYXB0ZXJfaW50X2hhbmRsZXJfdCwgdm9pZCAqLCB1OCk7Cit2b2lkIHMzOTBfdW5yZWdpc3Rlcl9hZGFwdGVyX2ludGVycnVwdCh2b2lkICosIHU4KTsKIAogI2VuZGlmIC8qIF9BU01fUzM5MF9BSVJRX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXMzOTAvY2N3ZGV2LmggYi9pbmNsdWRlL2FzbS1zMzkwL2Njd2Rldi5oCmluZGV4IDA2NmFhNzAuLmJhMDA3ZDggMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXMzOTAvY2N3ZGV2LmgKKysrIGIvaW5jbHVkZS9hc20tczM5MC9jY3dkZXYuaApAQCAtMTIsNiArMTIsNyBAQAogCiAjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvbW9kX2RldmljZXRhYmxlLmg+CisjaW5jbHVkZSA8YXNtL2ZjeC5oPgogCiAvKiBzdHJ1Y3RzIGZyb20gYXNtL2Npby5oICovCiBzdHJ1Y3QgaXJiOwpAQCAtMTU3LDYgKzE1OCwxNyBAQAogZXh0ZXJuIGludCBjY3dfZGV2aWNlX3Jlc3VtZShzdHJ1Y3QgY2N3X2RldmljZSAqKTsKIGV4dGVybiBpbnQgY2N3X2RldmljZV9oYWx0KHN0cnVjdCBjY3dfZGV2aWNlICosIHVuc2lnbmVkIGxvbmcpOwogZXh0ZXJuIGludCBjY3dfZGV2aWNlX2NsZWFyKHN0cnVjdCBjY3dfZGV2aWNlICosIHVuc2lnbmVkIGxvbmcpOworaW50IGNjd19kZXZpY2VfdG1fc3RhcnRfa2V5KHN0cnVjdCBjY3dfZGV2aWNlICpjZGV2LCBzdHJ1Y3QgdGN3ICp0Y3csCisJCQkgICAgdW5zaWduZWQgbG9uZyBpbnRwYXJtLCB1OCBscG0sIHU4IGtleSk7CitpbnQgY2N3X2RldmljZV90bV9zdGFydF9rZXkoc3RydWN0IGNjd19kZXZpY2UgKiwgc3RydWN0IHRjdyAqLAorCQkJICAgIHVuc2lnbmVkIGxvbmcsIHU4LCB1OCk7CitpbnQgY2N3X2RldmljZV90bV9zdGFydF90aW1lb3V0X2tleShzdHJ1Y3QgY2N3X2RldmljZSAqLCBzdHJ1Y3QgdGN3ICosCisJCQkgICAgdW5zaWduZWQgbG9uZywgdTgsIHU4LCBpbnQpOworaW50IGNjd19kZXZpY2VfdG1fc3RhcnQoc3RydWN0IGNjd19kZXZpY2UgKiwgc3RydWN0IHRjdyAqLAorCQkJICAgIHVuc2lnbmVkIGxvbmcsIHU4KTsKK2ludCBjY3dfZGV2aWNlX3RtX3N0YXJ0X3RpbWVvdXQoc3RydWN0IGNjd19kZXZpY2UgKiwgc3RydWN0IHRjdyAqLAorCQkJICAgIHVuc2lnbmVkIGxvbmcsIHU4LCBpbnQpOworaW50IGNjd19kZXZpY2VfdG1faW50cmcoc3RydWN0IGNjd19kZXZpY2UgKmNkZXYpOwogCiBleHRlcm4gaW50IGNjd19kZXZpY2Vfc2V0X29ubGluZShzdHJ1Y3QgY2N3X2RldmljZSAqY2Rldik7CiBleHRlcm4gaW50IGNjd19kZXZpY2Vfc2V0X29mZmxpbmUoc3RydWN0IGNjd19kZXZpY2UgKmNkZXYpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tczM5MC9jaHBpZC5oIGIvaW5jbHVkZS9hc20tczM5MC9jaHBpZC5oCmluZGV4IGIyMDMzMzYuLjYwNjg0NGQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXMzOTAvY2hwaWQuaAorKysgYi9pbmNsdWRlL2FzbS1zMzkwL2NocGlkLmgKQEAgLTEwLDcgKzEwLDYgQEAKIAogI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgogI2luY2x1ZGUgPGFzbS90eXBlcy5oPgotI2luY2x1ZGUgPGFzbS9jaW8uaD4KIAogI2RlZmluZSBfX01BWF9DSFBJRCAyNTUKIApAQCAtNDEsNiArNDAsOSBAQAogCX0KIH0KIAorI2lmZGVmIF9fS0VSTkVMX18KKyNpbmNsdWRlIDxhc20vY2lvLmg+CisKIHN0YXRpYyBpbmxpbmUgaW50IGNocF9pZF9pc192YWxpZChzdHJ1Y3QgY2hwX2lkICpjaHBpZCkKIHsKIAlyZXR1cm4gKGNocGlkLT5jc3NpZCA8PSBfX01BWF9DU1NJRCk7CkBAIC00OSw1ICs1MSw2IEBACiAKICNkZWZpbmUgY2hwX2lkX2Zvcl9lYWNoKGMpIFwKIAlmb3IgKGNocF9pZF9pbml0KGMpOyBjaHBfaWRfaXNfdmFsaWQoYyk7IGNocF9pZF9uZXh0KGMpKQorI2VuZGlmIC8qIF9fS0VSTkVMICovCiAKICNlbmRpZiAvKiBfQVNNX1MzOTBfQ0hQSURfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tczM5MC9jaHNjLmggYi9pbmNsdWRlL2FzbS1zMzkwL2Noc2MuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMzhkMGNmCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tczM5MC9jaHNjLmgKQEAgLTAsMCArMSwxMjcgQEAKKy8qCisgKiBpb2N0bCBpbnRlcmZhY2UgZm9yIC9kZXYvY2hzYworICoKKyAqIENvcHlyaWdodCAyMDA4IElCTSBDb3JwLgorICogQXV0aG9yKHMpOiBDb3JuZWxpYSBIdWNrIDxjb3JuZWxpYS5odWNrQGRlLmlibS5jb20+CisgKi8KKworI2lmbmRlZiBfQVNNX0NIU0NfSAorI2RlZmluZSBfQVNNX0NIU0NfSAorCisjaW5jbHVkZSA8YXNtL2NocGlkLmg+CisjaW5jbHVkZSA8YXNtL3NjaGlkLmg+CisKK3N0cnVjdCBjaHNjX2FzeW5jX2hlYWRlciB7CisJX191MTYgbGVuZ3RoOworCV9fdTE2IGNvZGU7CisJX191MzIgY21kX2RlcGVuZGVuZDsKKwlfX3UzMiBrZXkgOiA0OworCV9fdTMyIDogMjg7CisJc3RydWN0IHN1YmNoYW5uZWxfaWQgc2lkOworfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CisKK3N0cnVjdCBjaHNjX2FzeW5jX2FyZWEgeworCXN0cnVjdCBjaHNjX2FzeW5jX2hlYWRlciBoZWFkZXI7CisJX191OCBkYXRhW1BBR0VfU0laRSAtIDE2IC8qIHNpemUgb2YgY2hzY19hc3luY19oZWFkZXIgKi9dOworfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CisKKworc3RydWN0IGNoc2NfcmVzcG9uc2Vfc3RydWN0IHsKKwlfX3UxNiBsZW5ndGg7CisJX191MTYgY29kZTsKKwlfX3UzMiBwYXJtczsKKwlfX3U4IGRhdGFbUEFHRV9TSVpFIC0gOF07Cit9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKKworc3RydWN0IGNoc2NfY2hwX2NkIHsKKwlzdHJ1Y3QgY2hwX2lkIGNocGlkOworCWludCBtOworCWludCBmbXQ7CisJc3RydWN0IGNoc2NfcmVzcG9uc2Vfc3RydWN0IGNwY2I7Cit9OworCitzdHJ1Y3QgY2hzY19jdV9jZCB7CisJX191MTYgY3VuOworCV9fdTggY3NzaWQ7CisJaW50IG07CisJaW50IGZtdDsKKwlzdHJ1Y3QgY2hzY19yZXNwb25zZV9zdHJ1Y3QgY3VjYjsKK307CisKK3N0cnVjdCBjaHNjX3NjaF9jdWQgeworCXN0cnVjdCBzdWJjaGFubmVsX2lkIHNjaGlkOworCWludCBmbXQ7CisJc3RydWN0IGNoc2NfcmVzcG9uc2Vfc3RydWN0IHNjdWI7Cit9OworCitzdHJ1Y3QgY29uZl9pZCB7CisJaW50IG07CisJX191OCBjc3NpZDsKKwlfX3U4IHNzaWQ7Cit9OworCitzdHJ1Y3QgY2hzY19jb25mX2luZm8geworCXN0cnVjdCBjb25mX2lkIGlkOworCWludCBmbXQ7CisJc3RydWN0IGNoc2NfcmVzcG9uc2Vfc3RydWN0IHNjaWQ7Cit9OworCitzdHJ1Y3QgY2NsX3Bhcm1fY2hwaWQgeworCWludCBtOworCXN0cnVjdCBjaHBfaWQgY2hwOworfTsKKworc3RydWN0IGNjbF9wYXJtX2Nzc2lkcyB7CisJX191OCBmX2Nzc2lkOworCV9fdTggbF9jc3NpZDsKK307CisKK3N0cnVjdCBjaHNjX2NvbXBfbGlzdCB7CisJc3RydWN0IHsKKwkJZW51bSB7CisJCQlDQ0xfQ1VfT05fQ0hQID0gMSwKKwkJCUNDTF9DSFBfVFlQRV9DQVAgPSAyLAorCQkJQ0NMX0NTU19JTUcgPSA0LAorCQkJQ0NMX0NTU19JTUdfQ09ORl9DSEFSID0gNSwKKwkJCUNDTF9JT1BfQ0hQID0gNiwKKwkJfSBjdHlwZTsKKwkJaW50IGZtdDsKKwkJc3RydWN0IGNjbF9wYXJtX2NocGlkIGNocGlkOworCQlzdHJ1Y3QgY2NsX3Bhcm1fY3NzaWRzIGNzc2lkczsKKwl9IHJlcTsKKwlzdHJ1Y3QgY2hzY19yZXNwb25zZV9zdHJ1Y3Qgc2NjbDsKK307CisKK3N0cnVjdCBjaHNjX2RjYWwgeworCXN0cnVjdCB7CisJCWVudW0geworCQkJRENBTF9DU1NfSUlEX1BOID0gNCwKKwkJfSBhdHlwZTsKKwkJX191MzIgbGlzdF9wYXJtWzJdOworCQlpbnQgZm10OworCX0gcmVxOworCXN0cnVjdCBjaHNjX3Jlc3BvbnNlX3N0cnVjdCBzZGNhbDsKK307CisKK3N0cnVjdCBjaHNjX2NwZF9pbmZvIHsKKwlzdHJ1Y3QgY2hwX2lkIGNocGlkOworCWludCBtOworCWludCBmbXQ7CisJaW50IHJmbXQ7CisJaW50IGM7CisJc3RydWN0IGNoc2NfcmVzcG9uc2Vfc3RydWN0IGNocGRiOworfTsKKworI2RlZmluZSBDSFNDX0lPQ1RMX01BR0lDICdjJworCisjZGVmaW5lIENIU0NfU1RBUlQgX0lPV1IoQ0hTQ19JT0NUTF9NQUdJQywgMHg4MSwgc3RydWN0IGNoc2NfYXN5bmNfYXJlYSkKKyNkZWZpbmUgQ0hTQ19JTkZPX0NIQU5ORUxfUEFUSCBfSU9XUihDSFNDX0lPQ1RMX01BR0lDLCAweDgyLCBcCisJCQkJICAgIHN0cnVjdCBjaHNjX2NocF9jZCkKKyNkZWZpbmUgQ0hTQ19JTkZPX0NVIF9JT1dSKENIU0NfSU9DVExfTUFHSUMsIDB4ODMsIHN0cnVjdCBjaHNjX2N1X2NkKQorI2RlZmluZSBDSFNDX0lORk9fU0NIX0NVIF9JT1dSKENIU0NfSU9DVExfTUFHSUMsIDB4ODQsIHN0cnVjdCBjaHNjX3NjaF9jdWQpCisjZGVmaW5lIENIU0NfSU5GT19DSSBfSU9XUihDSFNDX0lPQ1RMX01BR0lDLCAweDg1LCBzdHJ1Y3QgY2hzY19jb25mX2luZm8pCisjZGVmaW5lIENIU0NfSU5GT19DQ0wgX0lPV1IoQ0hTQ19JT0NUTF9NQUdJQywgMHg4Niwgc3RydWN0IGNoc2NfY29tcF9saXN0KQorI2RlZmluZSBDSFNDX0lORk9fQ1BEIF9JT1dSKENIU0NfSU9DVExfTUFHSUMsIDB4ODcsIHN0cnVjdCBjaHNjX2NwZF9pbmZvKQorI2RlZmluZSBDSFNDX0lORk9fRENBTCBfSU9XUihDSFNDX0lPQ1RMX01BR0lDLCAweDg4LCBzdHJ1Y3QgY2hzY19kY2FsKQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXMzOTAvY2lvLmggYi9pbmNsdWRlL2FzbS1zMzkwL2Npby5oCmluZGV4IDA4MThlY2QuLjZkY2NiMDcgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXMzOTAvY2lvLmgKKysrIGIvaW5jbHVkZS9hc20tczM5MC9jaW8uaApAQCAtMTYsNyArMTYsNyBAQAogI2RlZmluZSBfX01BWF9DU1NJRCAwCiAKIC8qKgotICogc3RydWN0IHNjc3cgLSBzdWJjaGFubmVsIHN0YXR1cyB3b3JkCisgKiBzdHJ1Y3QgY21kX3Njc3cgLSBjb21tYW5kLW1vZGUgc3ViY2hhbm5lbCBzdGF0dXMgd29yZAogICogQGtleTogc3ViY2hhbm5lbCBrZXkKICAqIEBzY3RsOiBzdXNwZW5kIGNvbnRyb2wKICAqIEBlc3dmOiBlc3cgZm9ybWF0CkBAIC0zOCw3ICszOCw3IEBACiAgKiBAY3N0YXQ6IHN1YmNoYW5uZWwgc3RhdHVzCiAgKiBAY291bnQ6IHJlc2lkdWFsIGNvdW50CiAgKi8KLXN0cnVjdCBzY3N3IHsKK3N0cnVjdCBjbWRfc2NzdyB7CiAJX191MzIga2V5ICA6IDQ7CiAJX191MzIgc2N0bCA6IDE7CiAJX191MzIgZXN3ZiA6IDE7CkBAIC02MSw2ICs2MSwxMTQgQEAKIAlfX3UzMiBjb3VudCA6IDE2OwogfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CiAKKy8qKgorICogc3RydWN0IHRtX3Njc3cgLSB0cmFuc3BvcnQtbW9kZSBzdWJjaGFubmVsIHN0YXR1cyB3b3JkCisgKiBAa2V5OiBzdWJjaGFubmVsIGtleQorICogQGVzd2Y6IGVzdyBmb3JtYXQKKyAqIEBjYzogZGVmZXJyZWQgY29uZGl0aW9uIGNvZGUKKyAqIEBmbXQ6IGZvcm1hdAorICogQHg6IElSQi1mb3JtYXQgY29udHJvbAorICogQHE6IGludGVycm9nYXRlLWNvbXBsZXRlCisgKiBAZWN0bDogZXh0ZW5kZWQgY29udHJvbAorICogQHBubzogcGF0aCBub3Qgb3BlcmF0aW9uYWwKKyAqIEBmY3RsOiBmdW5jdGlvbiBjb250cm9sCisgKiBAYWN0bDogYWN0aXZpdHkgY29udHJvbAorICogQHN0Y3RsOiBzdGF0dXMgY29udHJvbAorICogQHRjdzogVENXIGFkZHJlc3MKKyAqIEBkc3RhdDogZGV2aWNlIHN0YXR1cworICogQGNzdGF0OiBzdWJjaGFubmVsIHN0YXR1cworICogQGZjeHM6IEZDWCBzdGF0dXMKKyAqIEBzY2h4czogc3ViY2hhbm5lbC1leHRlbmRlZCBzdGF0dXMKKyAqLworc3RydWN0IHRtX3Njc3cgeworCXUzMiBrZXk6NDsKKwl1MzIgOjE7CisJdTMyIGVzd2Y6MTsKKwl1MzIgY2M6MjsKKwl1MzIgZm10OjM7CisJdTMyIHg6MTsKKwl1MzIgcToxOworCXUzMiA6MTsKKwl1MzIgZWN0bDoxOworCXUzMiBwbm86MTsKKwl1MzIgOjE7CisJdTMyIGZjdGw6MzsKKwl1MzIgYWN0bDo3OworCXUzMiBzdGN0bDo1OworCXUzMiB0Y3c7CisJdTMyIGRzdGF0Ojg7CisJdTMyIGNzdGF0Ojg7CisJdTMyIGZjeHM6ODsKKwl1MzIgc2NoeHM6ODsKK30gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworCisvKioKKyAqIHVuaW9uIHNjc3cgLSBzdWJjaGFubmVsIHN0YXR1cyB3b3JkCisgKiBAY21kOiBjb21tYW5kLW1vZGUgU0NTVworICogQHRtOiB0cmFuc3BvcnQtbW9kZSBTQ1NXCisgKi8KK3VuaW9uIHNjc3cgeworCXN0cnVjdCBjbWRfc2NzdyBjbWQ7CisJc3RydWN0IHRtX3Njc3cgdG07Cit9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKKworaW50IHNjc3dfaXNfdG0odW5pb24gc2NzdyAqc2Nzdyk7Cit1MzIgc2Nzd19rZXkodW5pb24gc2NzdyAqc2Nzdyk7Cit1MzIgc2Nzd19lc3dmKHVuaW9uIHNjc3cgKnNjc3cpOwordTMyIHNjc3dfY2ModW5pb24gc2NzdyAqc2Nzdyk7Cit1MzIgc2Nzd19lY3RsKHVuaW9uIHNjc3cgKnNjc3cpOwordTMyIHNjc3dfcG5vKHVuaW9uIHNjc3cgKnNjc3cpOwordTMyIHNjc3dfZmN0bCh1bmlvbiBzY3N3ICpzY3N3KTsKK3UzMiBzY3N3X2FjdGwodW5pb24gc2NzdyAqc2Nzdyk7Cit1MzIgc2Nzd19zdGN0bCh1bmlvbiBzY3N3ICpzY3N3KTsKK3UzMiBzY3N3X2RzdGF0KHVuaW9uIHNjc3cgKnNjc3cpOwordTMyIHNjc3dfY3N0YXQodW5pb24gc2NzdyAqc2Nzdyk7CitpbnQgc2Nzd19pc19zb2xpY2l0ZWQodW5pb24gc2NzdyAqc2Nzdyk7CitpbnQgc2Nzd19pc192YWxpZF9rZXkodW5pb24gc2NzdyAqc2Nzdyk7CitpbnQgc2Nzd19pc192YWxpZF9lc3dmKHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfaXNfdmFsaWRfY2ModW5pb24gc2NzdyAqc2Nzdyk7CitpbnQgc2Nzd19pc192YWxpZF9lY3RsKHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfaXNfdmFsaWRfcG5vKHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfaXNfdmFsaWRfZmN0bCh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X2lzX3ZhbGlkX2FjdGwodW5pb24gc2NzdyAqc2Nzdyk7CitpbnQgc2Nzd19pc192YWxpZF9zdGN0bCh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X2lzX3ZhbGlkX2RzdGF0KHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfaXNfdmFsaWRfY3N0YXQodW5pb24gc2NzdyAqc2Nzdyk7CitpbnQgc2Nzd19jbWRfaXNfdmFsaWRfa2V5KHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfY21kX2lzX3ZhbGlkX3NjdGwodW5pb24gc2NzdyAqc2Nzdyk7CitpbnQgc2Nzd19jbWRfaXNfdmFsaWRfZXN3Zih1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X2NtZF9pc192YWxpZF9jYyh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X2NtZF9pc192YWxpZF9mbXQodW5pb24gc2NzdyAqc2Nzdyk7CitpbnQgc2Nzd19jbWRfaXNfdmFsaWRfcGZjaCh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X2NtZF9pc192YWxpZF9pc2ljKHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfY21kX2lzX3ZhbGlkX2FsY2ModW5pb24gc2NzdyAqc2Nzdyk7CitpbnQgc2Nzd19jbWRfaXNfdmFsaWRfc3NpKHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfY21kX2lzX3ZhbGlkX3pjYyh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X2NtZF9pc192YWxpZF9lY3RsKHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfY21kX2lzX3ZhbGlkX3Bubyh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X2NtZF9pc192YWxpZF9mY3RsKHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfY21kX2lzX3ZhbGlkX2FjdGwodW5pb24gc2NzdyAqc2Nzdyk7CitpbnQgc2Nzd19jbWRfaXNfdmFsaWRfc3RjdGwodW5pb24gc2NzdyAqc2Nzdyk7CitpbnQgc2Nzd19jbWRfaXNfdmFsaWRfZHN0YXQodW5pb24gc2NzdyAqc2Nzdyk7CitpbnQgc2Nzd19jbWRfaXNfdmFsaWRfY3N0YXQodW5pb24gc2NzdyAqc2Nzdyk7CitpbnQgc2Nzd19jbWRfaXNfc29saWNpdGVkKHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfdG1faXNfdmFsaWRfa2V5KHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfdG1faXNfdmFsaWRfZXN3Zih1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X3RtX2lzX3ZhbGlkX2NjKHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfdG1faXNfdmFsaWRfZm10KHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfdG1faXNfdmFsaWRfeCh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X3RtX2lzX3ZhbGlkX3EodW5pb24gc2NzdyAqc2Nzdyk7CitpbnQgc2Nzd190bV9pc192YWxpZF9lY3RsKHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfdG1faXNfdmFsaWRfcG5vKHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfdG1faXNfdmFsaWRfZmN0bCh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X3RtX2lzX3ZhbGlkX2FjdGwodW5pb24gc2NzdyAqc2Nzdyk7CitpbnQgc2Nzd190bV9pc192YWxpZF9zdGN0bCh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X3RtX2lzX3ZhbGlkX2RzdGF0KHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfdG1faXNfdmFsaWRfY3N0YXQodW5pb24gc2NzdyAqc2Nzdyk7CitpbnQgc2Nzd190bV9pc192YWxpZF9mY3hzKHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfdG1faXNfdmFsaWRfc2NoeHModW5pb24gc2NzdyAqc2Nzdyk7CitpbnQgc2Nzd190bV9pc19zb2xpY2l0ZWQodW5pb24gc2NzdyAqc2Nzdyk7CisKICNkZWZpbmUgU0NTV19GQ1RMX0NMRUFSX0ZVTkMJIDB4MQogI2RlZmluZSBTQ1NXX0ZDVExfSEFMVF9GVU5DCSAweDIKICNkZWZpbmUgU0NTV19GQ1RMX1NUQVJUX0ZVTkMJIDB4NApAQCAtMzAzLDcgKzQxMSw3IEBACiAgKiBpZiBhcHBsaWNhYmxlKS4KICAqLwogc3RydWN0IGlyYiB7Ci0Jc3RydWN0IHNjc3cgc2NzdzsKKwl1bmlvbiBzY3N3IHNjc3c7CiAJdW5pb24gewogCQlzdHJ1Y3QgZXN3MCBlc3cwOwogCQlzdHJ1Y3QgZXN3MSBlc3cxOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tczM5MC9lbGYuaCBiL2luY2x1ZGUvYXNtLXMzOTAvZWxmLmgKaW5kZXggYjNhYzI2Mi4uM2NhZDU2OSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tczM5MC9lbGYuaAorKysgYi9pbmNsdWRlL2FzbS1zMzkwL2VsZi5oCkBAIC0xMTMsNiArMTEzLDkgQEAKIHR5cGVkZWYgczM5MF9mcF9yZWdzIGVsZl9mcHJlZ3NldF90OwogdHlwZWRlZiBzMzkwX3JlZ3MgZWxmX2dyZWdzZXRfdDsKIAordHlwZWRlZiBzMzkwX2ZwX3JlZ3MgY29tcGF0X2VsZl9mcHJlZ3NldF90OwordHlwZWRlZiBzMzkwX2NvbXBhdF9yZWdzIGNvbXBhdF9lbGZfZ3JlZ3NldF90OworCiAjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4JLyogZm9yIHRhc2tfc3RydWN0ICovCiAjaW5jbHVkZSA8YXNtL3N5c3RlbS5oPgkJLyogZm9yIHNhdmVfYWNjZXNzX3JlZ3MgKi8KICNpbmNsdWRlIDxhc20vbW11X2NvbnRleHQuaD4KQEAgLTEyMyw2ICsxMjYsMTAgQEAKICNkZWZpbmUgZWxmX2NoZWNrX2FyY2goeCkgXAogCSgoKHgpLT5lX21hY2hpbmUgPT0gRU1fUzM5MCB8fCAoeCktPmVfbWFjaGluZSA9PSBFTV9TMzkwX09MRCkgXAogICAgICAgICAgJiYgKHgpLT5lX2lkZW50W0VJX0NMQVNTXSA9PSBFTEZfQ0xBU1MpIAorI2RlZmluZSBjb21wYXRfZWxmX2NoZWNrX2FyY2goeCkgXAorCSgoKHgpLT5lX21hY2hpbmUgPT0gRU1fUzM5MCB8fCAoeCktPmVfbWFjaGluZSA9PSBFTV9TMzkwX09MRCkgXAorCSAmJiAoeCktPmVfaWRlbnRbRUlfQ0xBU1NdID09IEVMRl9DTEFTUykKKyNkZWZpbmUgY29tcGF0X3N0YXJ0X3RocmVhZAlzdGFydF90aHJlYWQzMQogCiAvKiBGb3IgU1ZSNC9TMzkwIHRoZSBmdW5jdGlvbiBwb2ludGVyIHRvIGJlIHJlZ2lzdGVyZWQgd2l0aCBgYXRleGl0YCBpcwogICAgcGFzc2VkIGluIFIxNC4gKi8KQEAgLTEzMSw2ICsxMzgsNyBAQAogCQlfci0+Z3Byc1sxNF0gPSAwOyBcCiAJfSB3aGlsZSAoMCkKIAorI2RlZmluZSBDT1JFX0RVTVBfVVNFX1JFR1NFVAogI2RlZmluZSBVU0VfRUxGX0NPUkVfRFVNUAogI2RlZmluZSBFTEZfRVhFQ19QQUdFU0laRQk0MDk2CiAKQEAgLTE0MCw0NCArMTQ4LDYgQEAKICAgIHRoYXQgaXQgd2lsbCAiZXhlYyIsIGFuZCB0aGF0IHRoZXJlIGlzIHN1ZmZpY2llbnQgcm9vbSBmb3IgdGhlIGJyay4gICovCiAjZGVmaW5lIEVMRl9FVF9EWU5fQkFTRQkJKFNUQUNLX1RPUCAvIDMgKiAyKQogCi0vKiBXb3csIHRoZSAibWFpbiIgYXJjaCBuZWVkcyBhcmNoIGRlcGVuZGVudCBmdW5jdGlvbnMgdG9vLi4gOikgKi8KLQotLyogcmVncyBpcyBzdHJ1Y3QgcHRfcmVncywgcHJfcmVnIGlzIGVsZl9ncmVnc2V0X3QgKHdoaWNoIGlzCi0gICBub3cgc3RydWN0X3VzZXJfcmVncywgdGhleSBhcmUgZGlmZmVyZW50KSAqLwotCi1zdGF0aWMgaW5saW5lIGludCBkdW1wX3JlZ3Moc3RydWN0IHB0X3JlZ3MgKnB0cmVncywgZWxmX2dyZWdzZXRfdCAqcmVncykKLXsKLQltZW1jcHkoJnJlZ3MtPnBzdywgJnB0cmVncy0+cHN3LCBzaXplb2YocmVncy0+cHN3KStzaXplb2YocmVncy0+Z3BycykpOwotCXNhdmVfYWNjZXNzX3JlZ3MocmVncy0+YWNycyk7Ci0JcmVncy0+b3JpZ19ncHIyID0gcHRyZWdzLT5vcmlnX2dwcjI7Ci0JcmV0dXJuIDE7Ci19Ci0KLSNkZWZpbmUgRUxGX0NPUkVfQ09QWV9SRUdTKHByX3JlZywgcmVncykgZHVtcF9yZWdzKHJlZ3MsICZwcl9yZWcpOwotCi1zdGF0aWMgaW5saW5lIGludCBkdW1wX3Rhc2tfcmVncyhzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzaywgZWxmX2dyZWdzZXRfdCAqcmVncykKLXsKLQlzdHJ1Y3QgcHRfcmVncyAqcHRyZWdzID0gdGFza19wdF9yZWdzKHRzayk7Ci0JbWVtY3B5KCZyZWdzLT5wc3csICZwdHJlZ3MtPnBzdywgc2l6ZW9mKHJlZ3MtPnBzdykrc2l6ZW9mKHJlZ3MtPmdwcnMpKTsKLQltZW1jcHkocmVncy0+YWNycywgdHNrLT50aHJlYWQuYWNycywgc2l6ZW9mKHJlZ3MtPmFjcnMpKTsKLQlyZWdzLT5vcmlnX2dwcjIgPSBwdHJlZ3MtPm9yaWdfZ3ByMjsKLQlyZXR1cm4gMTsKLX0KLQotI2RlZmluZSBFTEZfQ09SRV9DT1BZX1RBU0tfUkVHUyh0c2ssIHJlZ3MpIGR1bXBfdGFza19yZWdzKHRzaywgcmVncykKLQotc3RhdGljIGlubGluZSBpbnQgZHVtcF90YXNrX2ZwdShzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzaywgZWxmX2ZwcmVnc2V0X3QgKmZwcmVncykKLXsKLQlpZiAodHNrID09IGN1cnJlbnQpCi0JCXNhdmVfZnBfcmVncyhmcHJlZ3MpOwotCWVsc2UKLQkJbWVtY3B5KGZwcmVncywgJnRzay0+dGhyZWFkLmZwX3JlZ3MsIHNpemVvZihlbGZfZnByZWdzZXRfdCkpOwotCXJldHVybiAxOwotfQotCi0jZGVmaW5lIEVMRl9DT1JFX0NPUFlfRlBSRUdTKHRzaywgZnByZWdzKSBkdW1wX3Rhc2tfZnB1KHRzaywgZnByZWdzKQotCi0KIC8qIFRoaXMgeWllbGRzIGEgbWFzayB0aGF0IHVzZXIgcHJvZ3JhbXMgY2FuIHVzZSB0byBmaWd1cmUgb3V0IHdoYXQKICAgIGluc3RydWN0aW9uIHNldCB0aGlzIENQVSBzdXBwb3J0cy4gKi8KIApAQCAtMjA0LDcgKzE3NCwxMCBAQAogCQlzZXRfcGVyc29uYWxpdHkoUEVSX1NWUjQpOwkJXAogCWVsc2UgaWYgKGN1cnJlbnQtPnBlcnNvbmFsaXR5ICE9IFBFUl9MSU5VWDMyKQlcCiAJCXNldF9wZXJzb25hbGl0eShQRVJfTElOVVgpOwkJXAotCWNsZWFyX3RocmVhZF9mbGFnKFRJRl8zMUJJVCk7CQkJXAorCWlmICgoZXgpLmVfaWRlbnRbRUlfQ0xBU1NdID09IEVMRkNMQVNTMzIpCVwKKwkJc2V0X3RocmVhZF9mbGFnKFRJRl8zMUJJVCk7CQlcCisJZWxzZQkJCQkJCVwKKwkJY2xlYXJfdGhyZWFkX2ZsYWcoVElGXzMxQklUKTsJCVwKIH0gd2hpbGUgKDApCiAjZW5kaWYgLyogX19zMzkweF9fICovCiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXMzOTAvZXRyLmggYi9pbmNsdWRlL2FzbS1zMzkwL2V0ci5oCmluZGV4IGI0OThmMTkuLjgwZWY1OGMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXMzOTAvZXRyLmgKKysrIGIvaW5jbHVkZS9hc20tczM5MC9ldHIuaApAQCAtMTIyLDcgKzEyMiw3IEBACiB9IF9fYXR0cmlidXRlX18gKChwYWNrZWQsYWxpZ25lZCg4KSkpOwogCiAvKiBFVFIgaW50ZXJydXB0aW9uIHBhcmFtZXRlciAqLwotc3RydWN0IGV0cl9pbnRlcnJ1cHRpb25fcGFyYW1ldGVyIHsKK3N0cnVjdCBldHJfaXJxX3Bhcm0gewogCXVuc2lnbmVkIGludCBfcGFkMAk6IDg7CiAJdW5zaWduZWQgaW50IHBjMAk6IDE7CS8qIHBvcnQgMCBzdGF0ZSBjaGFuZ2UgKi8KIAl1bnNpZ25lZCBpbnQgcGMxCTogMTsJLyogcG9ydCAxIHN0YXRlIGNoYW5nZSAqLwpAQCAtMjEzLDcgKzIxMyw0NiBAQAogI2RlZmluZSBFVFJfUFRGRl9TR1MJMHg0MwkvKiBzZXQgZ3Jvc3Mgc3RlZXJpbmcgcmF0ZSAqLwogCiAvKiBGdW5jdGlvbnMgbmVlZGVkIGJ5IHRoZSBtYWNoaW5lIGNoZWNrIGhhbmRsZXIgKi8KLWV4dGVybiB2b2lkIGV0cl9zd2l0Y2hfdG9fbG9jYWwodm9pZCk7Ci1leHRlcm4gdm9pZCBldHJfc3luY19jaGVjayh2b2lkKTsKK3ZvaWQgZXRyX3N3aXRjaF90b19sb2NhbCh2b2lkKTsKK3ZvaWQgZXRyX3N5bmNfY2hlY2sodm9pZCk7CisKKy8qIFNUUCBpbnRlcnJ1cHRpb24gcGFyYW1ldGVyICovCitzdHJ1Y3Qgc3RwX2lycV9wYXJtIHsKKwl1bnNpZ25lZCBpbnQgX3BhZDAJOiAxNDsKKwl1bnNpZ25lZCBpbnQgdHNjCTogMTsJLyogVGltaW5nIHN0YXR1cyBjaGFuZ2UgKi8KKwl1bnNpZ25lZCBpbnQgbGFjCTogMTsJLyogTGluayBhdmFpbGFiaWxpdHkgY2hhbmdlICovCisJdW5zaWduZWQgaW50IHRjcGMJOiAxOwkvKiBUaW1lIGNvbnRyb2wgcGFyYW1ldGVyIGNoYW5nZSAqLworCXVuc2lnbmVkIGludCBfcGFkMgk6IDE1OworfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CisKKyNkZWZpbmUgU1RQX09QX1NZTkMJMQorI2RlZmluZSBTVFBfT1BfQ1RSTAkzCisKK3N0cnVjdCBzdHBfc3N0cGkgeworCXVuc2lnbmVkIGludCByc3ZkMDsKKwl1bnNpZ25lZCBpbnQgcnN2ZDEgOiA4OworCXVuc2lnbmVkIGludCBzdHJhdHVtIDogODsKKwl1bnNpZ25lZCBpbnQgdmJpdHMgOiAxNjsKKwl1bnNpZ25lZCBpbnQgbGVhcHMgOiAxNjsKKwl1bnNpZ25lZCBpbnQgdG1kIDogNDsKKwl1bnNpZ25lZCBpbnQgY3RuIDogNDsKKwl1bnNpZ25lZCBpbnQgcnN2ZDIgOiAzOworCXVuc2lnbmVkIGludCBjIDogMTsKKwl1bnNpZ25lZCBpbnQgdHN0IDogNDsKKwl1bnNpZ25lZCBpbnQgdHpvIDogMTY7CisJdW5zaWduZWQgaW50IGRzdG8gOiAxNjsKKwl1bnNpZ25lZCBpbnQgY3RybCA6IDE2OworCXVuc2lnbmVkIGludCByc3ZkMyA6IDE2OworCXVuc2lnbmVkIGludCB0dG87CisJdW5zaWduZWQgaW50IHJzdmQ0OworCXVuc2lnbmVkIGludCBjdG5pZFszXTsKKwl1bnNpZ25lZCBpbnQgcnN2ZDU7CisJdW5zaWduZWQgaW50IHRvZG9mZls0XTsKKwl1bnNpZ25lZCBpbnQgcnN2ZDZbNDhdOworfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CisKKy8qIEZ1bmN0aW9ucyBuZWVkZWQgYnkgdGhlIG1hY2hpbmUgY2hlY2sgaGFuZGxlciAqLwordm9pZCBzdHBfc3luY19jaGVjayh2b2lkKTsKK3ZvaWQgc3RwX2lzbGFuZF9jaGVjayh2b2lkKTsKIAogI2VuZGlmIC8qIF9fUzM5MF9FVFJfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tczM5MC9mY3guaCBiL2luY2x1ZGUvYXNtLXMzOTAvZmN4LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGJlMWYzYQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLXMzOTAvZmN4LmgKQEAgLTAsMCArMSwzMTEgQEAKKy8qCisgKiAgRnVuY3Rpb25zIGZvciBhc3NlbWJsaW5nIGZjeCBlbmFibGVkIEkvTyBjb250cm9sIGJsb2Nrcy4KKyAqCisgKiAgICBDb3B5cmlnaHQgSUJNIENvcnAuIDIwMDgKKyAqICAgIEF1dGhvcihzKTogUGV0ZXIgT2JlcnBhcmxlaXRlciA8cGV0ZXIub2JlcnBhcmxlaXRlckBkZS5pYm0uY29tPgorICovCisKKyNpZm5kZWYgX0FTTV9TMzkwX0ZDWF9ICisjZGVmaW5lIF9BU01fUzM5MF9GQ1hfSCBfQVNNX1MzOTBfRkNYX0gKKworI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisKKyNkZWZpbmUgVENXX0ZPUk1BVF9ERUZBVUxUCQkwCisjZGVmaW5lIFRDV19USURBV19GT1JNQVRfREVGQVVMVAkwCisjZGVmaW5lIFRDV19GTEFHU19JTlBVVF9USURBCQkxIDw8ICgyMyAtIDUpCisjZGVmaW5lIFRDV19GTEFHU19UQ0NCX1RJREEJCTEgPDwgKDIzIC0gNikKKyNkZWZpbmUgVENXX0ZMQUdTX09VVFBVVF9USURBCQkxIDw8ICgyMyAtIDcpCisjZGVmaW5lIFRDV19GTEFHU19USURBV19GT1JNQVQoeCkJKCh4KSAmIDMpIDw8ICgyMyAtIDkpCisjZGVmaW5lIFRDV19GTEFHU19HRVRfVElEQVdfRk9STUFUKHgpCSgoKHgpID4+ICgyMyAtIDkpKSAmIDMpCisKKy8qKgorICogc3RydWN0IHRjdyAtIFRyYW5zcG9ydCBDb250cm9sIFdvcmQgKFRDVykKKyAqIEBmb3JtYXQ6IFRDVyBmb3JtYXQKKyAqIEBmbGFnczogVENXIGZsYWdzCisgKiBAdGNjYmw6IFRyYW5zcG9ydC1Db21tYW5kLUNvbnRyb2wtQmxvY2sgTGVuZ3RoCisgKiBAcjogUmVhZCBPcGVyYXRpb25zCisgKiBAdzogV3JpdGUgT3BlcmF0aW9ucworICogQG91dHB1dDogT3V0cHV0LURhdGEgQWRkcmVzcworICogQGlucHV0OiBJbnB1dC1EYXRhIEFkZHJlc3MKKyAqIEB0c2I6IFRyYW5zcG9ydC1TdGF0dXMtQmxvY2sgQWRkcmVzcworICogQHRjY2I6IFRyYW5zcG9ydC1Db21tYW5kLUNvbnRyb2wtQmxvY2sgQWRkcmVzcworICogQG91dHB1dF9jb3VudDogT3V0cHV0IENvdW50CisgKiBAaW5wdXRfY291bnQ6IElucHV0IENvdW50CisgKiBAaW50cmc6IEludGVycm9nYXRlIFRDVyBBZGRyZXNzCisgKi8KK3N0cnVjdCB0Y3cgeworCXUzMiBmb3JtYXQ6MjsKKwl1MzIgOjY7CisJdTMyIGZsYWdzOjI0OworCXUzMiA6ODsKKwl1MzIgdGNjYmw6NjsKKwl1MzIgcjoxOworCXUzMiB3OjE7CisJdTMyIDoxNjsKKwl1NjQgb3V0cHV0OworCXU2NCBpbnB1dDsKKwl1NjQgdHNiOworCXU2NCB0Y2NiOworCXUzMiBvdXRwdXRfY291bnQ7CisJdTMyIGlucHV0X2NvdW50OworCXUzMiA6MzI7CisJdTMyIDozMjsKKwl1MzIgOjMyOworCXUzMiBpbnRyZzsKK30gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCwgYWxpZ25lZCg2NCkpKTsKKworI2RlZmluZSBUSURBV19GTEFHU19MQVNUCQkxIDw8ICg3IC0gMCkKKyNkZWZpbmUgVElEQVdfRkxBR1NfU0tJUAkJMSA8PCAoNyAtIDEpCisjZGVmaW5lIFRJREFXX0ZMQUdTX0RBVEFfSU5UCQkxIDw8ICg3IC0gMikKKyNkZWZpbmUgVElEQVdfRkxBR1NfVFRJQwkJMSA8PCAoNyAtIDMpCisjZGVmaW5lIFRJREFXX0ZMQUdTX0lOU0VSVF9DQkMJCTEgPDwgKDcgLSA0KQorCisvKioKKyAqIHN0cnVjdCB0aWRhdyAtIFRyYW5zcG9ydC1JbmRpcmVjdC1BZGRyZXNzaW5nIFdvcmQgKFRJREFXKQorICogQGZsYWdzOiBUSURBVyBmbGFncy4gQ2FuIGJlIGFuIGFyaXRobWV0aWMgT1Igb2YgdGhlIGZvbGxvd2luZyBjb25zdGFudHM6CisgKiAlVElEQVdfRkxBR1NfTEFTVCwgJVRJREFXX0ZMQUdTX1NLSVAsICVUSURBV19GTEFHU19EQVRBX0lOVCwKKyAqICVUSURBV19GTEFHU19UVElDLCAlVElEQVdfRkxBR1NfSU5TRVJUX0NCQworICogQGNvdW50OiBDb3VudAorICogQGFkZHI6IEFkZHJlc3MKKyAqLworc3RydWN0IHRpZGF3IHsKKwl1MzIgZmxhZ3M6ODsKKwl1MzIgOjI0OworCXUzMiBjb3VudDsKKwl1NjQgYWRkcjsKK30gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCwgYWxpZ25lZCgxNikpKTsKKworLyoqCisgKiBzdHJ1Y3QgdHNhX2lvc3RhdCAtIEkvTy1TdGF0dXMgVHJhbnNwb3J0LVN0YXR1cyBBcmVhIChJTy1TdGF0IFRTQSkKKyAqIEBkZXZfdGltZTogRGV2aWNlIFRpbWUKKyAqIEBkZWZfdGltZTogRGVmZXIgVGltZQorICogQHF1ZXVlX3RpbWU6IFF1ZXVlIFRpbWUKKyAqIEBkZXZfYnVzeV90aW1lOiBEZXZpY2UtQnVzeSBUaW1lCisgKiBAZGV2X2FjdF90aW1lOiBEZXZpY2UtQWN0aXZlLU9ubHkgVGltZQorICogQHNlbnNlOiBTZW5zZSBEYXRhIChpZiBwcmVzZW50KQorICovCitzdHJ1Y3QgdHNhX2lvc3RhdCB7CisJdTMyIGRldl90aW1lOworCXUzMiBkZWZfdGltZTsKKwl1MzIgcXVldWVfdGltZTsKKwl1MzIgZGV2X2J1c3lfdGltZTsKKwl1MzIgZGV2X2FjdF90aW1lOworCXU4IHNlbnNlWzMyXTsKK30gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworCisvKioKKyAqIHN0cnVjdCB0c2FfZGRwY3MgLSBEZXZpY2UtRGV0ZWN0ZWQtUHJvZ3JhbS1DaGVjayBUcmFuc3BvcnQtU3RhdHVzIEFyZWEgKEREUEMgVFNBKQorICogQHJjOiBSZWFzb24gQ29kZQorICogQHJjcTogUmVhc29uIENvZGUgUXVhbGlmaWVyCisgKiBAc2Vuc2U6IFNlbnNlIERhdGEgKGlmIHByZXNlbnQpCisgKi8KK3N0cnVjdCB0c2FfZGRwYyB7CisJdTMyIDoyNDsKKwl1MzIgcmM6ODsKKwl1OCByY3FbMTZdOworCXU4IHNlbnNlWzMyXTsKK30gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworCisjZGVmaW5lIFRTQV9JTlRSR19GTEFHU19DVV9TVEFURV9WQUxJRAkJMSA8PCAoNyAtIDApCisjZGVmaW5lIFRTQV9JTlRSR19GTEFHU19ERVZfU1RBVEVfVkFMSUQJCTEgPDwgKDcgLSAxKQorI2RlZmluZSBUU0FfSU5UUkdfRkxBR1NfT1BfU1RBVEVfVkFMSUQJCTEgPDwgKDcgLSAyKQorCisvKioKKyAqIHN0cnVjdCB0c2FfaW50cmcgLSBJbnRlcnJvZ2F0ZSBUcmFuc3BvcnQtU3RhdHVzIEFyZWEgKEludHJnLiBUU0EpCisgKiBAZm9ybWF0OiBGb3JtYXQKKyAqIEBmbGFnczogRmxhZ3MuIENhbiBiZSBhbiBhcml0aG1ldGljIE9SIG9mIHRoZSBmb2xsb3dpbmcgY29uc3RhbnRzOgorICogJVRTQV9JTlRSR19GTEFHU19DVV9TVEFURV9WQUxJRCwgJVRTQV9JTlRSR19GTEFHU19ERVZfU1RBVEVfVkFMSUQsCisgKiAlVFNBX0lOVFJHX0ZMQUdTX09QX1NUQVRFX1ZBTElECisgKiBAY3Vfc3RhdGU6IENvbnRyb2xlLVVuaXQgU3RhdGUKKyAqIEBkZXZfc3RhdGU6IERldmljZSBTdGF0ZQorICogQG9wX3N0YXRlOiBPcGVyYXRpb24gU3RhdGUKKyAqIEBzZF9pbmZvOiBTdGF0ZS1EZXBlbmRlbnQgSW5mb3JtYXRpb24KKyAqIEBkbF9pZDogRGV2aWNlLUxldmVsIElkZW50aWZpZXIKKyAqIEBkZF9kYXRhOiBEZXZpY2UtRGVwZW5kZW50IERhdGEKKyAqLworc3RydWN0IHRzYV9pbnRyZyB7CisJdTMyIGZvcm1hdDo4OworCXUzMiBmbGFnczo4OworCXUzMiBjdV9zdGF0ZTo4OworCXUzMiBkZXZfc3RhdGU6ODsKKwl1MzIgb3Bfc3RhdGU6ODsKKwl1MzIgOjI0OworCXU4IHNkX2luZm9bMTJdOworCXUzMiBkbF9pZDsKKwl1OCBkZF9kYXRhWzI4XTsKK30gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworCisjZGVmaW5lIFRTQl9GT1JNQVRfTk9ORQkJMAorI2RlZmluZSBUU0JfRk9STUFUX0lPU1RBVAkxCisjZGVmaW5lIFRTQl9GT1JNQVRfRERQQwkJMgorI2RlZmluZSBUU0JfRk9STUFUX0lOVFJHCTMKKworI2RlZmluZSBUU0JfRkxBR1NfRENXX09GRlNFVF9WQUxJRAkxIDw8ICg3IC0gMCkKKyNkZWZpbmUgVFNCX0ZMQUdTX0NPVU5UX1ZBTElECQkxIDw8ICg3IC0gMSkKKyNkZWZpbmUgVFNCX0ZMQUdTX0NBQ0hFX01JU1MJCTEgPDwgKDcgLSAyKQorI2RlZmluZSBUU0JfRkxBR1NfVElNRV9WQUxJRAkJMSA8PCAoNyAtIDMpCisjZGVmaW5lIFRTQl9GTEFHU19GT1JNQVQoeCkJCSgoeCkgJiA3KQorI2RlZmluZSBUU0JfRk9STUFUKHQpCQkJKCh0KS0+ZmxhZ3MgJiA3KQorCisvKioKKyAqIHN0cnVjdCB0c2IgLSBUcmFuc3BvcnQtU3RhdHVzIEJsb2NrIChUU0IpCisgKiBAbGVuZ3RoOiBMZW5ndGgKKyAqIEBmbGFnczogRmxhZ3MuIENhbiBiZSBhbiBhcml0aG1ldGljIE9SIG9mIHRoZSBmb2xsb3dpbmcgY29uc3RhbnRzOgorICogJVRTQl9GTEFHU19EQ1dfT0ZGU0VUX1ZBTElELCAlVFNCX0ZMQUdTX0NPVU5UX1ZBTElELCAlVFNCX0ZMQUdTX0NBQ0hFX01JU1MsCisgKiAlVFNCX0ZMQUdTX1RJTUVfVkFMSUQKKyAqIEBkY3dfb2Zmc2V0OiBEQ1cgT2Zmc2V0CisgKiBAY291bnQ6IENvdW50CisgKiBAdHNhOiBUcmFuc3BvcnQtU3RhdHVzLUFyZWEKKyAqLworc3RydWN0IHRzYiB7CisJdTMyIGxlbmd0aDo4OworCXUzMiBmbGFnczo4OworCXUzMiBkY3dfb2Zmc2V0OjE2OworCXUzMiBjb3VudDsKKwl1MzIgOjMyOworCXVuaW9uIHsKKwkJc3RydWN0IHRzYV9pb3N0YXQgaW9zdGF0OworCQlzdHJ1Y3QgdHNhX2RkcGMgZGRwYzsKKwkJc3RydWN0IHRzYV9pbnRyZyBpbnRyZzsKKwl9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKSB0c2E7Cit9IF9fYXR0cmlidXRlX18gKChwYWNrZWQsIGFsaWduZWQoOCkpKTsKKworI2RlZmluZSBEQ1dfSU5UUkdfRk9STUFUX0RFRkFVTFQJMAorCisjZGVmaW5lIERDV19JTlRSR19SQ19VTlNQRUNJRklFRAkwCisjZGVmaW5lIERDV19JTlRSR19SQ19USU1FT1VUCQkxCisKKyNkZWZpbmUgRENXX0lOVFJHX1JDUV9VTlNQRUNJRklFRAkwCisjZGVmaW5lIERDV19JTlRSR19SQ1FfUFJJTUFSWQkJMQorI2RlZmluZSBEQ1dfSU5UUkdfUkNRX1NFQ09OREFSWQkJMgorCisjZGVmaW5lIERDV19JTlRSR19GTEFHU19NUE0JCTEgPCAoNyAtIDApCisjZGVmaW5lIERDV19JTlRSR19GTEFHU19QUFIJCTEgPCAoNyAtIDEpCisjZGVmaW5lIERDV19JTlRSR19GTEFHU19DUklUCQkxIDwgKDcgLSAyKQorCisvKioKKyAqIHN0cnVjdCBkY3dfaW50cmdfZGF0YSAtIEludGVycm9nYXRlIERDVyBkYXRhCisgKiBAZm9ybWF0OiBGb3JtYXQuIFNob3VsZCBiZSAlRENXX0lOVFJHX0ZPUk1BVF9ERUZBVUxUCisgKiBAcmM6IFJlYXNvbiBDb2RlLiBDYW4gYmUgb25lIG9mICVEQ1dfSU5UUkdfUkNfVU5TUEVDSUZJRUQsCisgKiAlRENXX0lOVFJHX1JDX1RJTUVPVVQKKyAqIEByY3E6IFJlYXNvbiBDb2RlIFF1YWxpZmllcjogQ2FuIGJlIG9uZSBvZiAlRENXX0lOVFJHX1JDUV9VTlNQRUNJRklFRCwKKyAqICVEQ1dfSU5UUkdfUkNRX1BSSU1BUlksICVEQ1dfSU5UUkdfUkNRX1NFQ09OREFSWQorICogQGxwbTogTG9naWNhbC1QYXRoIE1hc2sKKyAqIEBwYW06IFBhdGgtQXZhaWxhYmxlIE1hc2sKKyAqIEBwaW06IFBhdGgtSW5zdGFsbGVkIE1hc2sKKyAqIEB0aW1lb3V0OiBUaW1lb3V0CisgKiBAZmxhZ3M6IEZsYWdzLiBDYW4gYmUgYW4gYXJpdGhtZXRpYyBPUiBvZiAlRENXX0lOVFJHX0ZMQUdTX01QTSwKKyAqICVEQ1dfSU5UUkdfRkxBR1NfUFBSLCAlRENXX0lOVFJHX0ZMQUdTX0NSSVQKKyAqIEB0aW1lOiBUaW1lCisgKiBAcHJvZ19pZDogUHJvZ3JhbSBJZGVudGlmaWVyCisgKiBAcHJvZ19kYXRhOiBQcm9ncmFtLURlcGVuZGVudCBEYXRhCisgKi8KK3N0cnVjdCBkY3dfaW50cmdfZGF0YSB7CisJdTMyIGZvcm1hdDo4OworCXUzMiByYzo4OworCXUzMiByY3E6ODsKKwl1MzIgbHBtOjg7CisJdTMyIHBhbTo4OworCXUzMiBwaW06ODsKKwl1MzIgdGltZW91dDoxNjsKKwl1MzIgZmxhZ3M6ODsKKwl1MzIgOjI0OworCXUzMiA6MzI7CisJdTY0IHRpbWU7CisJdTY0IHByb2dfaWQ7CisJdTggIHByb2dfZGF0YVswXTsKK30gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworCisjZGVmaW5lIERDV19GTEFHU19DQwkJMSA8PCAoNyAtIDEpCisKKyNkZWZpbmUgRENXX0NNRF9XUklURQkJMHgwMQorI2RlZmluZSBEQ1dfQ01EX1JFQUQJCTB4MDIKKyNkZWZpbmUgRENXX0NNRF9DT05UUk9MCQkweDAzCisjZGVmaW5lIERDV19DTURfU0VOU0UJCTB4MDQKKyNkZWZpbmUgRENXX0NNRF9TRU5TRV9JRAkweGU0CisjZGVmaW5lIERDV19DTURfSU5UUkcJCTB4NDAKKworLyoqCisgKiBzdHJ1Y3QgZGN3IC0gRGV2aWNlLUNvbW1hbmQgV29yZCAoRENXKQorICogQGNtZDogQ29tbWFuZCBDb2RlLiBDYW4gYmUgb25lIG9mICVEQ1dfQ01EX1dSSVRFLCAlRENXX0NNRF9SRUFELAorICogJURDV19DTURfQ09OVFJPTCwgJURDV19DTURfU0VOU0UsICVEQ1dfQ01EX1NFTlNFX0lELCAlRENXX0NNRF9JTlRSRworICogQGZsYWdzOiBGbGFncy4gQ2FuIGJlIGFuIGFyaXRobWV0aWMgT1Igb2YgJURDV19GTEFHU19DQworICogQGNkX2NvdW50OiBDb250cm9sLURhdGEgQ291bnQKKyAqIEBjb3VudDogQ291bnQKKyAqIEBjZDogQ29udHJvbCBEYXRhCisgKi8KK3N0cnVjdCBkY3cgeworCXUzMiBjbWQ6ODsKKwl1MzIgZmxhZ3M6ODsKKwl1MzIgOjg7CisJdTMyIGNkX2NvdW50Ojg7CisJdTMyIGNvdW50OworCXU4IGNkWzBdOworfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CisKKyNkZWZpbmUgVENDQl9GT1JNQVRfREVGQVVMVAkweDdmCisjZGVmaW5lIFRDQ0JfTUFYX0RDVwkJMzAKKyNkZWZpbmUgVENDQl9NQVhfU0laRQkJKHNpemVvZihzdHJ1Y3QgdGNjYl90Y2FoKSArIFwKKwkJCQkgVENDQl9NQVhfRENXICogc2l6ZW9mKHN0cnVjdCBkY3cpICsgXAorCQkJCSBzaXplb2Yoc3RydWN0IHRjY2JfdGNhdCkpCisjZGVmaW5lIFRDQ0JfU0FDX0RFRkFVTFQJMHhmOTAxCisjZGVmaW5lIFRDQ0JfU0FDX0lOVFJHCQkweGY5MDIKKworLyoqCisgKiBzdHJ1Y3QgdGNjYl90Y2FoIC0gVHJhbnNwb3J0LUNvbW1hbmQtQXJlYSBIZWFkZXIgKFRDQUgpCisgKiBAZm9ybWF0OiBGb3JtYXQuIFNob3VsZCBiZSAlVENDQl9GT1JNQVRfREVGQVVMVAorICogQHRjYWw6IFRyYW5zcG9ydC1Db21tYW5kLUFyZWEgTGVuZ3RoCisgKiBAc2FjOiBTZXJ2aWNlLUFjdGlvbiBDb2RlLiBDYW4gYmUgb25lIG9mICVUQ0NCX1NBQ19ERUZBVUxULCAlVENDQl9TQUNfSU5UUkcKKyAqIEBwcmlvOiBQcmlvcml0eQorICovCitzdHJ1Y3QgdGNjYl90Y2FoIHsKKwl1MzIgZm9ybWF0Ojg7CisJdTMyIDoyNDsKKwl1MzIgOjI0OworCXUzMiB0Y2FsOjg7CisJdTMyIHNhYzoxNjsKKwl1MzIgOjg7CisJdTMyIHByaW86ODsKKwl1MzIgOjMyOworfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CisKKy8qKgorICogc3RydWN0IHRjY2JfdGNhdCAtIFRyYW5zcG9ydC1Db21tYW5kLUFyZWEgVHJhaWxlciAoVENBVCkKKyAqIEBjb3VudDogVHJhbnNwb3J0IENvdW50CisgKi8KK3N0cnVjdCB0Y2NiX3RjYXQgeworCXUzMiA6MzI7CisJdTMyIGNvdW50OworfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CisKKy8qKgorICogc3RydWN0IHRjY2IgLSAocGFydGlhbCkgVHJhbnNwb3J0LUNvbW1hbmQtQ29udHJvbCBCbG9jayAoVENDQikKKyAqIEB0Y2FoOiBUQ0FICisgKiBAdGNhOiBUcmFuc3BvcnQtQ29tbWFuZCBBcmVhCisgKi8KK3N0cnVjdCB0Y2NiIHsKKwlzdHJ1Y3QgdGNjYl90Y2FoIHRjYWg7CisJdTggdGNhWzBdOworfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkLCBhbGlnbmVkKDgpKSk7CisKK3N0cnVjdCB0Y3cgKnRjd19nZXRfaW50cmcoc3RydWN0IHRjdyAqdGN3KTsKK3ZvaWQgKnRjd19nZXRfZGF0YShzdHJ1Y3QgdGN3ICp0Y3cpOworc3RydWN0IHRjY2IgKnRjd19nZXRfdGNjYihzdHJ1Y3QgdGN3ICp0Y3cpOworc3RydWN0IHRzYiAqdGN3X2dldF90c2Ioc3RydWN0IHRjdyAqdGN3KTsKKwordm9pZCB0Y3dfaW5pdChzdHJ1Y3QgdGN3ICp0Y3csIGludCByLCBpbnQgdyk7Cit2b2lkIHRjd19maW5hbGl6ZShzdHJ1Y3QgdGN3ICp0Y3csIGludCBudW1fdGlkYXdzKTsKKwordm9pZCB0Y3dfc2V0X2ludHJnKHN0cnVjdCB0Y3cgKnRjdywgc3RydWN0IHRjdyAqaW50cmdfdGN3KTsKK3ZvaWQgdGN3X3NldF9kYXRhKHN0cnVjdCB0Y3cgKnRjdywgdm9pZCAqZGF0YSwgaW50IHVzZV90aWRhbCk7Cit2b2lkIHRjd19zZXRfdGNjYihzdHJ1Y3QgdGN3ICp0Y3csIHN0cnVjdCB0Y2NiICp0Y2NiKTsKK3ZvaWQgdGN3X3NldF90c2Ioc3RydWN0IHRjdyAqdGN3LCBzdHJ1Y3QgdHNiICp0c2IpOworCit2b2lkIHRjY2JfaW5pdChzdHJ1Y3QgdGNjYiAqdGNjYiwgc2l6ZV90IHRjY2Jfc2l6ZSwgdTMyIHNhYyk7Cit2b2lkIHRzYl9pbml0KHN0cnVjdCB0c2IgKnRzYik7CitzdHJ1Y3QgZGN3ICp0Y2NiX2FkZF9kY3coc3RydWN0IHRjY2IgKnRjY2IsIHNpemVfdCB0Y2NiX3NpemUsIHU4IGNtZCwgdTggZmxhZ3MsCisJCQkgdm9pZCAqY2QsIHU4IGNkX2NvdW50LCB1MzIgY291bnQpOworc3RydWN0IHRpZGF3ICp0Y3dfYWRkX3RpZGF3KHN0cnVjdCB0Y3cgKnRjdywgaW50IG51bV90aWRhd3MsIHU4IGZsYWdzLAorCQkJICAgIHZvaWQgKmFkZHIsIHUzMiBjb3VudCk7CisKKyNlbmRpZiAvKiBfQVNNX1MzOTBfRkNYX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXMzOTAvaXBsLmggYi9pbmNsdWRlL2FzbS1zMzkwL2lwbC5oCmluZGV4IGMxYjJlNTAuLmVhY2E2ZGYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXMzOTAvaXBsLmgKKysrIGIvaW5jbHVkZS9hc20tczM5MC9pcGwuaApAQCAtNTYsMTUgKzU2LDE5IEBACiAJdTggIHNjcF9kYXRhW107CiB9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogCisjZGVmaW5lIERJQUczMDhfVk1QQVJNX1NJWkUJNjQKKwogc3RydWN0IGlwbF9ibG9ja19jY3cgewotCXU4ICBsb2FkX3BhcmFtWzhdOworCXU4ICBsb2FkX3Bhcm1bOF07CiAJdTggIHJlc2VydmVkMVs4NF07CiAJdTggIHJlc2VydmVkMlsyXTsKIAl1MTYgZGV2bm87CiAJdTggIHZtX2ZsYWdzOwogCXU4ICByZXNlcnZlZDNbM107CiAJdTMyIHZtX3Bhcm1fbGVuOwotCXU4ICByZXNlcnZlZDRbODBdOworCXU4ICBuc3NfbmFtZVs4XTsKKwl1OCAgdm1fcGFybVtESUFHMzA4X1ZNUEFSTV9TSVpFXTsKKwl1OCAgcmVzZXJ2ZWQ0WzhdOwogfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKIAogc3RydWN0IGlwbF9wYXJhbWV0ZXJfYmxvY2sgewpAQCAtNzMsNyArNzcsNyBAQAogCQlzdHJ1Y3QgaXBsX2Jsb2NrX2ZjcCBmY3A7CiAJCXN0cnVjdCBpcGxfYmxvY2tfY2N3IGNjdzsKIAl9IGlwbF9pbmZvOwotfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkLGFsaWduZWQoNDA5NikpKTsKIAogLyoKICAqIElQTCB2YWxpZGl0eSBmbGFncwpAQCAtODYsNiArOTAsOCBAQAogZXh0ZXJuIHZvaWQgZG9faGFsdCh2b2lkKTsKIGV4dGVybiB2b2lkIGRvX3BvZmYodm9pZCk7CiBleHRlcm4gdm9pZCBpcGxfc2F2ZV9wYXJhbWV0ZXJzKHZvaWQpOworZXh0ZXJuIHZvaWQgaXBsX3VwZGF0ZV9wYXJhbWV0ZXJzKHZvaWQpOworZXh0ZXJuIHZvaWQgZ2V0X2lwbF92bXBhcm0oY2hhciAqKTsKIAogZW51bSB7CiAJSVBMX0RFVk5PX1ZBTElECQk9IDEsCkBAIC0xNDcsNiArMTUzLDExIEBACiAJRElBRzMwOF9GTEFHU19MUF9WQUxJRAk9IDB4ODAsCiB9OwogCitlbnVtIGRpYWczMDhfdm1fZmxhZ3MgeworCURJQUczMDhfVk1fRkxBR1NfTlNTX1ZBTElECT0gMHg4MCwKKwlESUFHMzA4X1ZNX0ZMQUdTX1ZQX1ZBTElECT0gMHg0MCwKK307CisKIGVudW0gZGlhZzMwOF9yYyB7CiAJRElBRzMwOF9SQ19PSwk9IDEsCiB9OwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tczM5MC9pc2MuaCBiL2luY2x1ZGUvYXNtLXMzOTAvaXNjLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzRiYjg5MQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLXMzOTAvaXNjLmgKQEAgLTAsMCArMSwyNSBAQAorI2lmbmRlZiBfQVNNX1MzOTBfSVNDX0gKKyNkZWZpbmUgX0FTTV9TMzkwX0lTQ19ICisKKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorCisvKgorICogSS9PIGludGVycnVwdGlvbiBzdWJjbGFzc2VzIHVzZWQgYnkgZHJpdmVycy4KKyAqIFBsZWFzZSBhZGQgYWxsIHVzZWQgaXNjcyBoZXJlIHNvIHRoYXQgaXQgaXMgcG9zc2libGUgdG8gZGlzdHJpYnV0ZQorICogaXNjIHVzYWdlIGJldHdlZW4gZHJpdmVycy4KKyAqIFJlbWluZGVyOiAwIGlzIGhpZ2hlc3QgcHJpb3JpdHksIDcgbG93ZXN0LgorICovCisjZGVmaW5lIE1BWF9JU0MgNworCisvKiBSZWd1bGFyIEkvTyBpbnRlcnJ1cHRzLiAqLworI2RlZmluZSBJT19TQ0hfSVNDIDMJCQkvKiByZWd1bGFyIEkvTyBzdWJjaGFubmVscyAqLworI2RlZmluZSBDT05TT0xFX0lTQyAxCQkJLyogY29uc29sZSBJL08gc3ViY2hhbm5lbCAqLworI2RlZmluZSBDSFNDX1NDSF9JU0MgNwkJCS8qIENIU0Mgc3ViY2hhbm5lbHMgKi8KKy8qIEFkYXB0ZXIgaW50ZXJydXB0cy4gKi8KKyNkZWZpbmUgUURJT19BSVJRX0lTQyBJT19TQ0hfSVNDCS8qIEkvTyBzdWJjaGFubmVsIGluIHFkaW8gbW9kZSAqLworCisvKiBGdW5jdGlvbnMgZm9yIHJlZ2lzdHJhdGlvbiBvZiBJL08gaW50ZXJydXB0aW9uIHN1YmNsYXNzZXMgKi8KK3ZvaWQgaXNjX3JlZ2lzdGVyKHVuc2lnbmVkIGludCBpc2MpOwordm9pZCBpc2NfdW5yZWdpc3Rlcih1bnNpZ25lZCBpbnQgaXNjKTsKKworI2VuZGlmIC8qIF9BU01fUzM5MF9JU0NfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tczM5MC9pdGN3LmggYi9pbmNsdWRlL2FzbS1zMzkwL2l0Y3cuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOWJjNWMzCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tczM5MC9pdGN3LmgKQEAgLTAsMCArMSwzMCBAQAorLyoKKyAqICBGdW5jdGlvbnMgZm9yIGluY3JlbWVudGFsIGNvbnN0cnVjdGlvbiBvZiBmY3ggZW5hYmxlZCBJL08gY29udHJvbCBibG9ja3MuCisgKgorICogICAgQ29weXJpZ2h0IElCTSBDb3JwLiAyMDA4CisgKiAgICBBdXRob3Iocyk6IFBldGVyIE9iZXJwYXJsZWl0ZXIgPHBldGVyLm9iZXJwYXJsZWl0ZXJAZGUuaWJtLmNvbT4KKyAqLworCisjaWZuZGVmIF9BU01fUzM5MF9JVENXX0gKKyNkZWZpbmUgX0FTTV9TMzkwX0lUQ1dfSCBfQVNNX1MzOTBfSVRDV19ICisKKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorI2luY2x1ZGUgPGFzbS9mY3guaD4KKworI2RlZmluZSBJVENXX09QX1JFQUQJMAorI2RlZmluZSBJVENXX09QX1dSSVRFCTEKKworc3RydWN0IGl0Y3c7CisKK3N0cnVjdCB0Y3cgKml0Y3dfZ2V0X3RjdyhzdHJ1Y3QgaXRjdyAqaXRjdyk7CitzaXplX3QgaXRjd19jYWxjX3NpemUoaW50IGludHJnLCBpbnQgbWF4X3RpZGF3cywgaW50IGludHJnX21heF90aWRhd3MpOworc3RydWN0IGl0Y3cgKml0Y3dfaW5pdCh2b2lkICpidWZmZXIsIHNpemVfdCBzaXplLCBpbnQgb3AsIGludCBpbnRyZywKKwkJICAgICAgIGludCBtYXhfdGlkYXdzLCBpbnQgaW50cmdfbWF4X3RpZGF3cyk7CitzdHJ1Y3QgZGN3ICppdGN3X2FkZF9kY3coc3RydWN0IGl0Y3cgKml0Y3csIHU4IGNtZCwgdTggZmxhZ3MsIHZvaWQgKmNkLAorCQkJIHU4IGNkX2NvdW50LCB1MzIgY291bnQpOworc3RydWN0IHRpZGF3ICppdGN3X2FkZF90aWRhdyhzdHJ1Y3QgaXRjdyAqaXRjdywgdTggZmxhZ3MsIHZvaWQgKmFkZHIsCisJCQkgICAgIHUzMiBjb3VudCk7Cit2b2lkIGl0Y3dfc2V0X2RhdGEoc3RydWN0IGl0Y3cgKml0Y3csIHZvaWQgKmFkZHIsIGludCB1c2VfdGlkYWwpOwordm9pZCBpdGN3X2ZpbmFsaXplKHN0cnVjdCBpdGN3ICppdGN3KTsKKworI2VuZGlmIC8qIF9BU01fUzM5MF9JVENXX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXMzOTAvcGd0YWJsZS5oIGIvaW5jbHVkZS9hc20tczM5MC9wZ3RhYmxlLmgKaW5kZXggYmQwZWExOS4uMGJkYjcwNCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tczM5MC9wZ3RhYmxlLmgKKysrIGIvaW5jbHVkZS9hc20tczM5MC9wZ3RhYmxlLmgKQEAgLTI5LDYgKzI5LDcgQEAKICAqIHRoZSBTMzkwIHBhZ2UgdGFibGUgdHJlZS4KICAqLwogI2lmbmRlZiBfX0FTU0VNQkxZX18KKyNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgogI2luY2x1ZGUgPGxpbnV4L21tX3R5cGVzLmg+CiAjaW5jbHVkZSA8YXNtL2JpdG9wcy5oPgogI2luY2x1ZGUgPGFzbS9idWcuaD4KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXMzOTAvcHJvY2Vzc29yLmggYi9pbmNsdWRlL2FzbS1zMzkwL3Byb2Nlc3Nvci5oCmluZGV4IGEwMGY3OWQuLjRhZjgwYWYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXMzOTAvcHJvY2Vzc29yLmgKKysrIGIvaW5jbHVkZS9hc20tczM5MC9wcm9jZXNzb3IuaApAQCAtMTQzLDExICsxNDMsMTkgQEAKIC8qCiAgKiBEbyBuZWNlc3Nhcnkgc2V0dXAgdG8gc3RhcnQgdXAgYSBuZXcgdGhyZWFkLgogICovCi0jZGVmaW5lIHN0YXJ0X3RocmVhZChyZWdzLCBuZXdfcHN3LCBuZXdfc3RhY2twKSBkbyB7ICAgICAgICAgICAgXAorI2RlZmluZSBzdGFydF90aHJlYWQocmVncywgbmV3X3BzdywgbmV3X3N0YWNrcCkgZG8gewkJXAogCXNldF9mcyhVU0VSX0RTKTsJCQkJCVwKIAlyZWdzLT5wc3cubWFzawk9IHBzd191c2VyX2JpdHM7CQkJXAotICAgICAgICByZWdzLT5wc3cuYWRkciAgPSBuZXdfcHN3IHwgUFNXX0FERFJfQU1PREU7ICAgICAgICAgICAgIFwKLSAgICAgICAgcmVncy0+Z3Byc1sxNV0gID0gbmV3X3N0YWNrcCA7ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisJcmVncy0+cHN3LmFkZHIJPSBuZXdfcHN3IHwgUFNXX0FERFJfQU1PREU7CQlcCisJcmVncy0+Z3Byc1sxNV0JPSBuZXdfc3RhY2twOwkJCQlcCit9IHdoaWxlICgwKQorCisjZGVmaW5lIHN0YXJ0X3RocmVhZDMxKHJlZ3MsIG5ld19wc3csIG5ld19zdGFja3ApIGRvIHsJCVwKKwlzZXRfZnMoVVNFUl9EUyk7CQkJCQlcCisJcmVncy0+cHN3Lm1hc2sJPSBwc3dfdXNlcjMyX2JpdHM7CQkJXAorCXJlZ3MtPnBzdy5hZGRyCT0gbmV3X3BzdyB8IFBTV19BRERSX0FNT0RFOwkJXAorCXJlZ3MtPmdwcnNbMTVdCT0gbmV3X3N0YWNrcDsJCQkJXAorCWNyc3RfdGFibGVfZG93bmdyYWRlKGN1cnJlbnQtPm1tLCAxVUwgPDwgMzEpOwkJXAogfSB3aGlsZSAoMCkKIAogLyogRm9yd2FyZCBkZWNsYXJhdGlvbiwgYSBzdHJhbmdlIEMgdGhpbmcgKi8KQEAgLTMyOCwxNiArMzM2LDYgQEAKIGV4dGVybiB2b2lkICgqczM5MF9iYXNlX3BnbV9oYW5kbGVyX2ZuKSh2b2lkKTsKIGV4dGVybiB2b2lkICgqczM5MF9iYXNlX2V4dF9oYW5kbGVyX2ZuKSh2b2lkKTsKIAotLyoKLSAqIENQVSBpZGxlIG5vdGlmaWVyIGNoYWluLgotICovCi0jZGVmaW5lIFMzOTBfQ1BVX0lETEUJCTAKLSNkZWZpbmUgUzM5MF9DUFVfTk9UX0lETEUJMQotCi1zdHJ1Y3Qgbm90aWZpZXJfYmxvY2s7Ci1pbnQgcmVnaXN0ZXJfaWRsZV9ub3RpZmllcihzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKm5iKTsKLWludCB1bnJlZ2lzdGVyX2lkbGVfbm90aWZpZXIoc3RydWN0IG5vdGlmaWVyX2Jsb2NrICpuYik7Ci0KICNkZWZpbmUgQVJDSF9MT1dfQUREUkVTU19MSU1JVAkweDdmZmZmZmZmVUwKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1zMzkwL3B0cmFjZS5oIGIvaW5jbHVkZS9hc20tczM5MC9wdHJhY2UuaAppbmRleCBkN2Q0ZTJlLi5hZjJjOWFjIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1zMzkwL3B0cmFjZS5oCisrKyBiL2luY2x1ZGUvYXNtLXMzOTAvcHRyYWNlLmgKQEAgLTIxNSw2ICsyMTUsMTIgQEAKICAgICAgICAgdW5zaWduZWQgbG9uZyBhZGRyOwogfSBfX2F0dHJpYnV0ZV9fICgoYWxpZ25lZCg4KSkpIHBzd190OwogCit0eXBlZGVmIHN0cnVjdAoreworCV9fdTMyCW1hc2s7CisJX191MzIJYWRkcjsKK30gX19hdHRyaWJ1dGVfXyAoKGFsaWduZWQoOCkpKSBwc3dfY29tcGF0X3Q7CisKICNpZm5kZWYgX19zMzkweF9fCiAKICNkZWZpbmUgUFNXX01BU0tfUEVSCQkweDQwMDAwMDAwVUwKQEAgLTI5Miw2ICsyOTgsMTUgQEAKIAl1bnNpZ25lZCBsb25nIG9yaWdfZ3ByMjsKIH0gczM5MF9yZWdzOwogCit0eXBlZGVmIHN0cnVjdAoreworCXBzd19jb21wYXRfdAlwc3c7CisJX191MzIJCWdwcnNbTlVNX0dQUlNdOworCV9fdTMyCQlhY3JzW05VTV9BQ1JTXTsKKwlfX3UzMgkJb3JpZ19ncHIyOworfSBzMzkwX2NvbXBhdF9yZWdzOworCisKICNpZmRlZiBfX0tFUk5FTF9fCiAjaW5jbHVkZSA8YXNtL3NldHVwLmg+CiAjaW5jbHVkZSA8YXNtL3BhZ2UuaD4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaW8vc2NoaWQuaCBiL2luY2x1ZGUvYXNtLXMzOTAvc2NoaWQuaApzaW1pbGFyaXR5IGluZGV4IDY1JQpyZW5hbWUgZnJvbSBkcml2ZXJzL3MzOTAvY2lvL3NjaGlkLmgKcmVuYW1lIHRvIGluY2x1ZGUvYXNtLXMzOTAvc2NoaWQuaAppbmRleCA1NDMyOGZlLi41MDE3ZmZhIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2lvL3NjaGlkLmgKKysrIGIvaW5jbHVkZS9hc20tczM5MC9zY2hpZC5oCkBAIC0xLDEyICsxLDE0IEBACi0jaWZuZGVmIFMzOTBfU0NISURfSAotI2RlZmluZSBTMzkwX1NDSElEX0gKKyNpZm5kZWYgQVNNX1NDSElEX0gKKyNkZWZpbmUgQVNNX1NDSElEX0gKIAogc3RydWN0IHN1YmNoYW5uZWxfaWQgewotCV9fdTMyIHJlc2VydmVkOjEzOwotCV9fdTMyIHNzaWQ6MjsKLQlfX3UzMiBvbmU6MTsKLQlfX3UzMiBzY2hfbm86MTY7Ci19IF9fYXR0cmlidXRlX18gKChwYWNrZWQsYWxpZ25lZCg0KSkpOworCV9fdTMyIGNzc2lkIDogODsKKwlfX3UzMiA6IDQ7CisJX191MzIgbSA6IDE7CisJX191MzIgc3NpZCA6IDI7CisJX191MzIgb25lIDogMTsKKwlfX3UzMiBzY2hfbm8gOiAxNjsKK30gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCwgYWxpZ25lZCg0KSkpOwogCiAKIC8qIEhlbHBlciBmdW5jdGlvbiBmb3Igc2FuZSBzdGF0ZSBvZiBwcmUtYWxsb2NhdGVkIHN1YmNoYW5uZWxfaWQuICovCkBAIC0yMyw0ICsyNSw0IEBACiAJcmV0dXJuICFtZW1jbXAoc2NoaWQxLCBzY2hpZDIsIHNpemVvZihzdHJ1Y3Qgc3ViY2hhbm5lbF9pZCkpOwogfQogCi0jZW5kaWYgLyogUzM5MF9TQ0hJRF9IICovCisjZW5kaWYgLyogQVNNX1NDSElEX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXMzOTAvc2NscC5oIGIvaW5jbHVkZS9hc20tczM5MC9zY2xwLmgKaW5kZXggYjVmMjg0My4uZmVkN2JlZSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tczM5MC9zY2xwLmgKKysrIGIvaW5jbHVkZS9hc20tczM5MC9zY2xwLmgKQEAgLTQ1LDkgKzQ1LDkgQEAKIGludCBzY2xwX2dldF9jcHVfaW5mbyhzdHJ1Y3Qgc2NscF9jcHVfaW5mbyAqaW5mbyk7CiBpbnQgc2NscF9jcHVfY29uZmlndXJlKHU4IGNwdSk7CiBpbnQgc2NscF9jcHVfZGVjb25maWd1cmUodTggY3B1KTsKLXZvaWQgc2NscF9yZWFkX2luZm9fZWFybHkodm9pZCk7CiB2b2lkIHNjbHBfZmFjaWxpdGllc19kZXRlY3Qodm9pZCk7Ci11bnNpZ25lZCBsb25nIGxvbmcgc2NscF9tZW1vcnlfZGV0ZWN0KHZvaWQpOwordW5zaWduZWQgbG9uZyBsb25nIHNjbHBfZ2V0X3JubWF4KHZvaWQpOwordW5zaWduZWQgbG9uZyBsb25nIHNjbHBfZ2V0X3J6bSh2b2lkKTsKIGludCBzY2xwX3NkaWFzX2Jsa19jb3VudCh2b2lkKTsKIGludCBzY2xwX3NkaWFzX2NvcHkodm9pZCAqZGVzdCwgaW50IGJsa19udW0sIGludCBucl9ibGtzKTsKIGludCBzY2xwX2NocF9jb25maWd1cmUoc3RydWN0IGNocF9pZCBjaHBpZCk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1zMzkwL3NldHVwLmggYi9pbmNsdWRlL2FzbS1zMzkwL3NldHVwLmgKaW5kZXggYmE2OTY3NC4uZjA5ZWUzZiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tczM5MC9zZXR1cC5oCisrKyBiL2luY2x1ZGUvYXNtLXMzOTAvc2V0dXAuaApAQCAtOCwxNCArOCwxNiBAQAogI2lmbmRlZiBfQVNNX1MzOTBfU0VUVVBfSAogI2RlZmluZSBfQVNNX1MzOTBfU0VUVVBfSAogCi0jZGVmaW5lIENPTU1BTkRfTElORV9TSVpFIAk4OTYKKyNkZWZpbmUgQ09NTUFORF9MSU5FX1NJWkUJMTAyNAorCisjZGVmaW5lIEFSQ0hfQ09NTUFORF9MSU5FX1NJWkUJODk2CiAKICNpZmRlZiBfX0tFUk5FTF9fCiAKICNpbmNsdWRlIDxhc20vdHlwZXMuaD4KIAogI2RlZmluZSBQQVJNQVJFQQkJMHgxMDQwMAotI2RlZmluZSBNRU1PUllfQ0hVTktTCQkxNgkvKiBtYXggMHg3ZmZmICovCisjZGVmaW5lIE1FTU9SWV9DSFVOS1MJCTI1NgogCiAjaWZuZGVmIF9fQVNTRU1CTFlfXwogCkBAIC0zNiwxMiArMzgsMTQgQEAKIHN0cnVjdCBtZW1fY2h1bmsgewogCXVuc2lnbmVkIGxvbmcgYWRkcjsKIAl1bnNpZ25lZCBsb25nIHNpemU7Ci0JdW5zaWduZWQgbG9uZyB0eXBlOworCWludCB0eXBlOwogfTsKIAogZXh0ZXJuIHN0cnVjdCBtZW1fY2h1bmsgbWVtb3J5X2NodW5rW107CiBleHRlcm4gdW5zaWduZWQgbG9uZyByZWFsX21lbW9yeV9zaXplOwogCit2b2lkIGRldGVjdF9tZW1vcnlfbGF5b3V0KHN0cnVjdCBtZW1fY2h1bmsgY2h1bmtbXSk7CisKICNpZmRlZiBDT05GSUdfUzM5MF9TV0lUQ0hfQU1PREUKIGV4dGVybiB1bnNpZ25lZCBpbnQgc3dpdGNoX2Ftb2RlOwogI2Vsc2UKQEAgLTYxLDcgKzY1LDYgQEAKIAogI2RlZmluZSBNQUNISU5FX0ZMQUdfVk0JCSgxVUwgPDwgMCkKICNkZWZpbmUgTUFDSElORV9GTEFHX0lFRUUJKDFVTCA8PCAxKQotI2RlZmluZSBNQUNISU5FX0ZMQUdfUDM5MAkoMVVMIDw8IDIpCiAjZGVmaW5lIE1BQ0hJTkVfRkxBR19DU1AJKDFVTCA8PCAzKQogI2RlZmluZSBNQUNISU5FX0ZMQUdfTVZQRwkoMVVMIDw8IDQpCiAjZGVmaW5lIE1BQ0hJTkVfRkxBR19ESUFHNDQJKDFVTCA8PCA1KQpAQCAtOTcsNyArMTAwLDYgQEAKICNkZWZpbmUgTUFDSElORV9IQVNfUEZNRgkobWFjaGluZV9mbGFncyAmIE1BQ0hJTkVfRkxBR19QRk1GKQogI2VuZGlmIC8qIF9fczM5MHhfXyAqLwogCi0jZGVmaW5lIE1BQ0hJTkVfSEFTX1NDTFAJKCFNQUNISU5FX0lTX1AzOTApCiAjZGVmaW5lIFpGQ1BEVU1QX0hTQV9TSVpFCSgzMlVMPDwyMCkKIAogLyoKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXMzOTAvc3BhcnNlbWVtLmggYi9pbmNsdWRlL2FzbS1zMzkwL3NwYXJzZW1lbS5oCmluZGV4IDA2ZGZkYWIuLjU0NWQyMTkgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXMzOTAvc3BhcnNlbWVtLmgKKysrIGIvaW5jbHVkZS9hc20tczM5MC9zcGFyc2VtZW0uaApAQCAtMSwxNSArMSwxNSBAQAogI2lmbmRlZiBfQVNNX1MzOTBfU1BBUlNFTUVNX0gKICNkZWZpbmUgX0FTTV9TMzkwX1NQQVJTRU1FTV9ICiAKLSNkZWZpbmUgU0VDVElPTl9TSVpFX0JJVFMJMjUKLQogI2lmZGVmIENPTkZJR182NEJJVAogCisjZGVmaW5lIFNFQ1RJT05fU0laRV9CSVRTCTI4CiAjZGVmaW5lIE1BWF9QSFlTQUREUl9CSVRTCTQyCiAjZGVmaW5lIE1BWF9QSFlTTUVNX0JJVFMJNDIKIAogI2Vsc2UKIAorI2RlZmluZSBTRUNUSU9OX1NJWkVfQklUUwkyNQogI2RlZmluZSBNQVhfUEhZU0FERFJfQklUUwkzMQogI2RlZmluZSBNQVhfUEhZU01FTV9CSVRTCTMxCiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXMzOTAvdGltZXIuaCBiL2luY2x1ZGUvYXNtLXMzOTAvdGltZXIuaAppbmRleCBhZGIzNDg2Li5kOThkNzllIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1zMzkwL3RpbWVyLmgKKysrIGIvaW5jbHVkZS9hc20tczM5MC90aW1lci5oCkBAIC00OCw2ICs0OCwxOCBAQAogZXh0ZXJuIHZvaWQgaW5pdF9jcHVfdnRpbWVyKHZvaWQpOwogZXh0ZXJuIHZvaWQgdnRpbWVfaW5pdCh2b2lkKTsKIAorI2lmZGVmIENPTkZJR19WSVJUX1RJTUVSCisKK2V4dGVybiB2b2lkIHZ0aW1lX3N0YXJ0X2NwdV90aW1lcih2b2lkKTsKK2V4dGVybiB2b2lkIHZ0aW1lX3N0b3BfY3B1X3RpbWVyKHZvaWQpOworCisjZWxzZQorCitzdGF0aWMgaW5saW5lIHZvaWQgdnRpbWVfc3RhcnRfY3B1X3RpbWVyKHZvaWQpIHsgfQorc3RhdGljIGlubGluZSB2b2lkIHZ0aW1lX3N0b3BfY3B1X3RpbWVyKHZvaWQpIHsgfQorCisjZW5kaWYgLyogQ09ORklHX1ZJUlRfVElNRVIgKi8KKwogI2VuZGlmIC8qIF9fS0VSTkVMX18gKi8KIAogI2VuZGlmIC8qIF9BU01fUzM5MF9USU1FUl9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1zMzkwL3pjcnlwdC5oIGIvaW5jbHVkZS9hc20tczM5MC96Y3J5cHQuaAppbmRleCBmMjI4ZjFiLi4wMGQzYmJkIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1zMzkwL3pjcnlwdC5oCisrKyBiL2luY2x1ZGUvYXNtLXMzOTAvemNyeXB0LmgKQEAgLTI5LDcgKzI5LDcgQEAKIAogI2RlZmluZSBaQ1JZUFRfVkVSU0lPTiAyCiAjZGVmaW5lIFpDUllQVF9SRUxFQVNFIDEKLSNkZWZpbmUgWkNSWVBUX1ZBUklBTlQgMAorI2RlZmluZSBaQ1JZUFRfVkFSSUFOVCAxCiAKICNpbmNsdWRlIDxsaW51eC9pb2N0bC5oPgogI2luY2x1ZGUgPGxpbnV4L2NvbXBpbGVyLmg+CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1zaC9zbXAuaCBiL2luY2x1ZGUvYXNtLXNoL3NtcC5oCmluZGV4IDljOGQzNGIwLi41OTMzNDNjIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1zaC9zbXAuaAorKysgYi9pbmNsdWRlL2FzbS1zaC9zbXAuaApAQCAtMjYsMTggKzI2LDEwIEBACiAKICNkZWZpbmUgTk9fUFJPQ19JRAkoLTEpCiAKLXN0cnVjdCBzbXBfZm5fY2FsbF9zdHJ1Y3QgewotCXNwaW5sb2NrX3QgbG9jazsKLQlhdG9taWNfdCAgIGZpbmlzaGVkOwotCXZvaWQgKCpmbikodm9pZCAqKTsKLQl2b2lkICpkYXRhOwotfTsKLQotZXh0ZXJuIHN0cnVjdCBzbXBfZm5fY2FsbF9zdHJ1Y3Qgc21wX2ZuX2NhbGw7Ci0KICNkZWZpbmUgU01QX01TR19GVU5DVElPTgkwCiAjZGVmaW5lIFNNUF9NU0dfUkVTQ0hFRFVMRQkxCi0jZGVmaW5lIFNNUF9NU0dfTlIJCTIKKyNkZWZpbmUgU01QX01TR19GVU5DVElPTl9TSU5HTEUJMgorI2RlZmluZSBTTVBfTVNHX05SCQkzCiAKIHZvaWQgcGxhdF9zbXBfc2V0dXAodm9pZCk7CiB2b2lkIHBsYXRfcHJlcGFyZV9jcHVzKHVuc2lnbmVkIGludCBtYXhfY3B1cyk7CkBAIC00Niw2ICszOCw4IEBACiB2b2lkIHBsYXRfc2VuZF9pcGkodW5zaWduZWQgaW50IGNwdSwgdW5zaWduZWQgaW50IG1lc3NhZ2UpOwogaW50IHBsYXRfcmVnaXN0ZXJfaXBpX2hhbmRsZXIodW5zaWduZWQgaW50IG1lc3NhZ2UsCiAJCQkgICAgICB2b2lkICgqaGFuZGxlcikodm9pZCAqKSwgdm9pZCAqYXJnKTsKK2V4dGVybiB2b2lkIGFyY2hfc2VuZF9jYWxsX2Z1bmN0aW9uX3NpbmdsZV9pcGkoaW50IGNwdSk7CitleHRlcm4gdm9pZCBhcmNoX3NlbmRfY2FsbF9mdW5jdGlvbl9pcGkoY3B1bWFza190IG1hc2spOwogCiAjZWxzZQogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1zcGFyYy9zbXAuaCBiL2luY2x1ZGUvYXNtLXNwYXJjL3NtcC5oCmluZGV4IGU2ZDU2MTUuLmI2MWU3NGIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXNwYXJjL3NtcC5oCisrKyBiL2luY2x1ZGUvYXNtLXNwYXJjL3NtcC5oCkBAIC03Miw3ICs3Miw3IEBACiAJCQkgICB1bnNpZ25lZCBsb25nIGFyZzMsIHVuc2lnbmVkIGxvbmcgYXJnNCwgdW5zaWduZWQgbG9uZyBhcmc1KQogeyBzbXBfY3Jvc3NfY2FsbChmdW5jLCBhcmcxLCBhcmcyLCBhcmczLCBhcmc0LCBhcmc1KTsgfQogCi1zdGF0aWMgaW5saW5lIGludCBzbXBfY2FsbF9mdW5jdGlvbih2b2lkICgqZnVuYykodm9pZCAqaW5mbyksIHZvaWQgKmluZm8sIGludCBub25hdG9taWMsIGludCB3YWl0KQorc3RhdGljIGlubGluZSBpbnQgc21wX2NhbGxfZnVuY3Rpb24odm9pZCAoKmZ1bmMpKHZvaWQgKmluZm8pLCB2b2lkICppbmZvLCBpbnQgd2FpdCkKIHsKIAl4YzEoKHNtcGZ1bmNfdClmdW5jLCAodW5zaWduZWQgbG9uZylpbmZvKTsKIAlyZXR1cm4gMDsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXNwYXJjNjQvZnRyYWNlLmggYi9pbmNsdWRlL2FzbS1zcGFyYzY0L2Z0cmFjZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQyNzcxNmMKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1zcGFyYzY0L2Z0cmFjZS5oCkBAIC0wLDAgKzEsMTQgQEAKKyNpZm5kZWYgX0FTTV9TUEFSQzY0X0ZUUkFDRQorI2RlZmluZSBfQVNNX1NQQVJDNjRfRlRSQUNFCisKKyNpZmRlZiBDT05GSUdfTUNPVU5UCisjZGVmaW5lIE1DT1VOVF9BRERSCQkoKGxvbmcpKF9tY291bnQpKQorI2RlZmluZSBNQ09VTlRfSU5TTl9TSVpFCTQgLyogc2l6ZW9mIG1jb3VudCBjYWxsICovCisKKyNpZm5kZWYgX19BU1NFTUJMWV9fCitleHRlcm4gdm9pZCBfbWNvdW50KHZvaWQpOworI2VuZGlmCisKKyNlbmRpZgorCisjZW5kaWYgLyogX0FTTV9TUEFSQzY0X0ZUUkFDRSAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2FjcGkuaCBiL2luY2x1ZGUvYXNtLXg4Ni9hY3BpLmgKaW5kZXggMTQ0MTFjOS4uNjM1ZDc2NCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2FjcGkuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvYWNwaS5oCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSA8YXNtL251bWEuaD4KICNpbmNsdWRlIDxhc20vcHJvY2Vzc29yLmg+CiAjaW5jbHVkZSA8YXNtL21tdS5oPgorI2luY2x1ZGUgPGFzbS9tcHNwZWMuaD4KIAogI2RlZmluZSBDT01QSUxFUl9ERVBFTkRFTlRfSU5UNjQgICBsb25nIGxvbmcKICNkZWZpbmUgQ09NUElMRVJfREVQRU5ERU5UX1VJTlQ2NCAgdW5zaWduZWQgbG9uZyBsb25nCkBAIC0xNjAsOSArMTYxLDcgQEAKICNpZmRlZiBDT05GSUdfQUNQSV9OVU1BCiBleHRlcm4gaW50IGFjcGlfbnVtYTsKIGV4dGVybiBpbnQgYWNwaV9zY2FuX25vZGVzKHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kKTsKLSNpZmRlZiBDT05GSUdfWDg2XzY0Ci0jIGRlZmluZSBOUl9OT0RFX01FTUJMS1MgKE1BWF9OVU1OT0RFUyoyKQotI2VuZGlmCisjZGVmaW5lIE5SX05PREVfTUVNQkxLUyAoTUFYX05VTU5PREVTKjIpCiBleHRlcm4gdm9pZCBhY3BpX2Zha2Vfbm9kZXMoY29uc3Qgc3RydWN0IGJvb3Rub2RlICpmYWtlX25vZGVzLAogCQkJCSAgIGludCBudW1fbm9kZXMpOwogI2Vsc2UKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9hbHRlcm5hdGl2ZS5oIGIvaW5jbHVkZS9hc20teDg2L2FsdGVybmF0aXZlLmgKaW5kZXggMWY2YTljYS4uZjZhYTE4ZSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2FsdGVybmF0aXZlLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L2FsdGVybmF0aXZlLmgKQEAgLTcyLDYgKzcyLDggQEAKIHN0YXRpYyBpbmxpbmUgdm9pZCBhbHRlcm5hdGl2ZXNfc21wX3N3aXRjaChpbnQgc21wKSB7fQogI2VuZGlmCS8qIENPTkZJR19TTVAgKi8KIAorY29uc3QgdW5zaWduZWQgY2hhciAqY29uc3QgKmZpbmRfbm9wX3RhYmxlKHZvaWQpOworCiAvKgogICogQWx0ZXJuYXRpdmUgaW5zdHJ1Y3Rpb25zIGZvciBkaWZmZXJlbnQgQ1BVIHR5cGVzIG9yIGNhcGFiaWxpdGllcy4KICAqCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvYW1kX2lvbW11LmggYi9pbmNsdWRlL2FzbS14ODYvYW1kX2lvbW11LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzBhMTIwNAotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9hbWRfaW9tbXUuaApAQCAtMCwwICsxLDMyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMDggQWR2YW5jZWQgTWljcm8gRGV2aWNlcywgSW5jLgorICogQXV0aG9yOiBKb2VyZyBSb2VkZWwgPGpvZXJnLnJvZWRlbEBhbWQuY29tPgorICogICAgICAgICBMZW8gRHVyYW4gPGxlby5kdXJhbkBhbWQuY29tPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0CisgKiB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcyBwdWJsaXNoZWQKKyAqIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3IFVTQQorICovCisKKyNpZm5kZWYgX0FTTV9YODZfQU1EX0lPTU1VX0gKKyNkZWZpbmUgX0FTTV9YODZfQU1EX0lPTU1VX0gKKworI2lmZGVmIENPTkZJR19BTURfSU9NTVUKK2V4dGVybiBpbnQgYW1kX2lvbW11X2luaXQodm9pZCk7CitleHRlcm4gaW50IGFtZF9pb21tdV9pbml0X2RtYV9vcHModm9pZCk7CitleHRlcm4gdm9pZCBhbWRfaW9tbXVfZGV0ZWN0KHZvaWQpOworI2Vsc2UKK3N0YXRpYyBpbmxpbmUgaW50IGFtZF9pb21tdV9pbml0KHZvaWQpIHsgcmV0dXJuIC1FTk9ERVY7IH0KK3N0YXRpYyBpbmxpbmUgdm9pZCBhbWRfaW9tbXVfZGV0ZWN0KHZvaWQpIHsgfQorI2VuZGlmCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2FtZF9pb21tdV90eXBlcy5oIGIvaW5jbHVkZS9hc20teDg2L2FtZF9pb21tdV90eXBlcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdiZmNiNDcKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS14ODYvYW1kX2lvbW11X3R5cGVzLmgKQEAgLTAsMCArMSwyNDQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDctMjAwOCBBZHZhbmNlZCBNaWNybyBEZXZpY2VzLCBJbmMuCisgKiBBdXRob3I6IEpvZXJnIFJvZWRlbCA8am9lcmcucm9lZGVsQGFtZC5jb20+CisgKiAgICAgICAgIExlbyBEdXJhbiA8bGVvLmR1cmFuQGFtZC5jb20+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKKyAqIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzIHB1Ymxpc2hlZAorICogYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgVVNBCisgKi8KKworI2lmbmRlZiBfX0FNRF9JT01NVV9UWVBFU19IX18KKyNkZWZpbmUgX19BTURfSU9NTVVfVFlQRVNfSF9fCisKKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KKyNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgorCisvKgorICogc29tZSBzaXplIGNhbGN1bGF0aW9uIGNvbnN0YW50cworICovCisjZGVmaW5lIERFVl9UQUJMRV9FTlRSWV9TSVpFCQkyNTYKKyNkZWZpbmUgQUxJQVNfVEFCTEVfRU5UUllfU0laRQkJMgorI2RlZmluZSBSTE9PS1VQX1RBQkxFX0VOVFJZX1NJWkUJKHNpemVvZih2b2lkICopKQorCisvKiBoZWxwZXIgbWFjcm9zICovCisjZGVmaW5lIExPV19VMzIoeCkgKCh4KSAmICgoMVVMTCA8PCAzMiktMSkpCisjZGVmaW5lIEhJR0hfVTMyKHgpIChMT1dfVTMyKCh4KSA+PiAzMikpCisKKy8qIExlbmd0aCBvZiB0aGUgTU1JTyByZWdpb24gZm9yIHRoZSBBTUQgSU9NTVUgKi8KKyNkZWZpbmUgTU1JT19SRUdJT05fTEVOR1RIICAgICAgIDB4NDAwMAorCisvKiBDYXBhYmlsaXR5IG9mZnNldHMgdXNlZCBieSB0aGUgZHJpdmVyICovCisjZGVmaW5lIE1NSU9fQ0FQX0hEUl9PRkZTRVQJMHgwMAorI2RlZmluZSBNTUlPX1JBTkdFX09GRlNFVAkweDBjCisKKy8qIE1hc2tzLCBzaGlmdHMgYW5kIG1hY3JvcyB0byBwYXJzZSB0aGUgZGV2aWNlIHJhbmdlIGNhcGFiaWxpdHkgKi8KKyNkZWZpbmUgTU1JT19SQU5HRV9MRF9NQVNLCTB4ZmYwMDAwMDAKKyNkZWZpbmUgTU1JT19SQU5HRV9GRF9NQVNLCTB4MDBmZjAwMDAKKyNkZWZpbmUgTU1JT19SQU5HRV9CVVNfTUFTSwkweDAwMDBmZjAwCisjZGVmaW5lIE1NSU9fUkFOR0VfTERfU0hJRlQJMjQKKyNkZWZpbmUgTU1JT19SQU5HRV9GRF9TSElGVAkxNgorI2RlZmluZSBNTUlPX1JBTkdFX0JVU19TSElGVAk4CisjZGVmaW5lIE1NSU9fR0VUX0xEKHgpICAoKCh4KSAmIE1NSU9fUkFOR0VfTERfTUFTSykgPj4gTU1JT19SQU5HRV9MRF9TSElGVCkKKyNkZWZpbmUgTU1JT19HRVRfRkQoeCkgICgoKHgpICYgTU1JT19SQU5HRV9GRF9NQVNLKSA+PiBNTUlPX1JBTkdFX0ZEX1NISUZUKQorI2RlZmluZSBNTUlPX0dFVF9CVVMoeCkgKCgoeCkgJiBNTUlPX1JBTkdFX0JVU19NQVNLKSA+PiBNTUlPX1JBTkdFX0JVU19TSElGVCkKKworLyogRmxhZyBtYXNrcyBmb3IgdGhlIEFNRCBJT01NVSBleGNsdXNpb24gcmFuZ2UgKi8KKyNkZWZpbmUgTU1JT19FWENMX0VOQUJMRV9NQVNLIDB4MDFVTEwKKyNkZWZpbmUgTU1JT19FWENMX0FMTE9XX01BU0sgIDB4MDJVTEwKKworLyogVXNlZCBvZmZzZXRzIGludG8gdGhlIE1NSU8gc3BhY2UgKi8KKyNkZWZpbmUgTU1JT19ERVZfVEFCTEVfT0ZGU0VUICAgMHgwMDAwCisjZGVmaW5lIE1NSU9fQ01EX0JVRl9PRkZTRVQgICAgIDB4MDAwOAorI2RlZmluZSBNTUlPX0VWVF9CVUZfT0ZGU0VUICAgICAweDAwMTAKKyNkZWZpbmUgTU1JT19DT05UUk9MX09GRlNFVCAgICAgMHgwMDE4CisjZGVmaW5lIE1NSU9fRVhDTF9CQVNFX09GRlNFVCAgIDB4MDAyMAorI2RlZmluZSBNTUlPX0VYQ0xfTElNSVRfT0ZGU0VUICAweDAwMjgKKyNkZWZpbmUgTU1JT19DTURfSEVBRF9PRkZTRVQJMHgyMDAwCisjZGVmaW5lIE1NSU9fQ01EX1RBSUxfT0ZGU0VUCTB4MjAwOAorI2RlZmluZSBNTUlPX0VWVF9IRUFEX09GRlNFVAkweDIwMTAKKyNkZWZpbmUgTU1JT19FVlRfVEFJTF9PRkZTRVQJMHgyMDE4CisjZGVmaW5lIE1NSU9fU1RBVFVTX09GRlNFVAkweDIwMjAKKworLyogZmVhdHVyZSBjb250cm9sIGJpdHMgKi8KKyNkZWZpbmUgQ09OVFJPTF9JT01NVV9FTiAgICAgICAgMHgwMFVMTAorI2RlZmluZSBDT05UUk9MX0hUX1RVTl9FTiAgICAgICAweDAxVUxMCisjZGVmaW5lIENPTlRST0xfRVZUX0xPR19FTiAgICAgIDB4MDJVTEwKKyNkZWZpbmUgQ09OVFJPTF9FVlRfSU5UX0VOICAgICAgMHgwM1VMTAorI2RlZmluZSBDT05UUk9MX0NPTVdBSVRfRU4gICAgICAweDA0VUxMCisjZGVmaW5lIENPTlRST0xfUEFTU1BXX0VOICAgICAgIDB4MDhVTEwKKyNkZWZpbmUgQ09OVFJPTF9SRVNQQVNTUFdfRU4gICAgMHgwOVVMTAorI2RlZmluZSBDT05UUk9MX0NPSEVSRU5UX0VOICAgICAweDBhVUxMCisjZGVmaW5lIENPTlRST0xfSVNPQ19FTiAgICAgICAgIDB4MGJVTEwKKyNkZWZpbmUgQ09OVFJPTF9DTURCVUZfRU4gICAgICAgMHgwY1VMTAorI2RlZmluZSBDT05UUk9MX1BQRkxPR19FTiAgICAgICAweDBkVUxMCisjZGVmaW5lIENPTlRST0xfUFBGSU5UX0VOICAgICAgIDB4MGVVTEwKKworLyogY29tbWFuZCBzcGVjaWZpYyBkZWZpbmVzICovCisjZGVmaW5lIENNRF9DT01QTF9XQUlUICAgICAgICAgIDB4MDEKKyNkZWZpbmUgQ01EX0lOVl9ERVZfRU5UUlkgICAgICAgMHgwMgorI2RlZmluZSBDTURfSU5WX0lPTU1VX1BBR0VTICAgICAweDAzCisKKyNkZWZpbmUgQ01EX0NPTVBMX1dBSVRfU1RPUkVfTUFTSwkweDAxCisjZGVmaW5lIENNRF9JTlZfSU9NTVVfUEFHRVNfU0laRV9NQVNLCTB4MDEKKyNkZWZpbmUgQ01EX0lOVl9JT01NVV9QQUdFU19QREVfTUFTSwkweDAyCisKKyNkZWZpbmUgQ01EX0lOVl9JT01NVV9BTExfUEFHRVNfQUREUkVTUwkweDdmZmZmZmZmZmZmZmZmZmZVTEwKKworLyogbWFjcm9zIGFuZCBkZWZpbml0aW9ucyBmb3IgZGV2aWNlIHRhYmxlIGVudHJpZXMgKi8KKyNkZWZpbmUgREVWX0VOVFJZX1ZBTElEICAgICAgICAgMHgwMAorI2RlZmluZSBERVZfRU5UUllfVFJBTlNMQVRJT04gICAweDAxCisjZGVmaW5lIERFVl9FTlRSWV9JUiAgICAgICAgICAgIDB4M2QKKyNkZWZpbmUgREVWX0VOVFJZX0lXICAgICAgICAgICAgMHgzZQorI2RlZmluZSBERVZfRU5UUllfRVggICAgICAgICAgICAweDY3CisjZGVmaW5lIERFVl9FTlRSWV9TWVNNR1QxICAgICAgIDB4NjgKKyNkZWZpbmUgREVWX0VOVFJZX1NZU01HVDIgICAgICAgMHg2OQorI2RlZmluZSBERVZfRU5UUllfSU5JVF9QQVNTICAgICAweGI4CisjZGVmaW5lIERFVl9FTlRSWV9FSU5UX1BBU1MgICAgIDB4YjkKKyNkZWZpbmUgREVWX0VOVFJZX05NSV9QQVNTICAgICAgMHhiYQorI2RlZmluZSBERVZfRU5UUllfTElOVDBfUEFTUyAgICAweGJlCisjZGVmaW5lIERFVl9FTlRSWV9MSU5UMV9QQVNTICAgIDB4YmYKKworLyogY29uc3RhbnRzIHRvIGNvbmZpZ3VyZSB0aGUgY29tbWFuZCBidWZmZXIgKi8KKyNkZWZpbmUgQ01EX0JVRkZFUl9TSVpFICAgIDgxOTIKKyNkZWZpbmUgQ01EX0JVRkZFUl9FTlRSSUVTIDUxMgorI2RlZmluZSBNTUlPX0NNRF9TSVpFX1NISUZUIDU2CisjZGVmaW5lIE1NSU9fQ01EX1NJWkVfNTEyICgweDlVTEwgPDwgTU1JT19DTURfU0laRV9TSElGVCkKKworI2RlZmluZSBQQUdFX01PREVfMV9MRVZFTCAweDAxCisjZGVmaW5lIFBBR0VfTU9ERV8yX0xFVkVMIDB4MDIKKyNkZWZpbmUgUEFHRV9NT0RFXzNfTEVWRUwgMHgwMworCisjZGVmaW5lIElPTU1VX1BERV9OTF8wICAgMHgwMDBVTEwKKyNkZWZpbmUgSU9NTVVfUERFX05MXzEgICAweDIwMFVMTAorI2RlZmluZSBJT01NVV9QREVfTkxfMiAgIDB4NDAwVUxMCisjZGVmaW5lIElPTU1VX1BERV9OTF8zICAgMHg2MDBVTEwKKworI2RlZmluZSBJT01NVV9QVEVfTDJfSU5ERVgoYWRkcmVzcykgKCgoYWRkcmVzcykgPj4gMzApICYgMHgxZmZVTEwpCisjZGVmaW5lIElPTU1VX1BURV9MMV9JTkRFWChhZGRyZXNzKSAoKChhZGRyZXNzKSA+PiAyMSkgJiAweDFmZlVMTCkKKyNkZWZpbmUgSU9NTVVfUFRFX0wwX0lOREVYKGFkZHJlc3MpICgoKGFkZHJlc3MpID4+IDEyKSAmIDB4MWZmVUxMKQorCisjZGVmaW5lIElPTU1VX01BUF9TSVpFX0wxICgxVUxMIDw8IDIxKQorI2RlZmluZSBJT01NVV9NQVBfU0laRV9MMiAoMVVMTCA8PCAzMCkKKyNkZWZpbmUgSU9NTVVfTUFQX1NJWkVfTDMgKDFVTEwgPDwgMzkpCisKKyNkZWZpbmUgSU9NTVVfUFRFX1AgICgxVUxMIDw8IDApCisjZGVmaW5lIElPTU1VX1BURV9VICAoMVVMTCA8PCA1OSkKKyNkZWZpbmUgSU9NTVVfUFRFX0ZDICgxVUxMIDw8IDYwKQorI2RlZmluZSBJT01NVV9QVEVfSVIgKDFVTEwgPDwgNjEpCisjZGVmaW5lIElPTU1VX1BURV9JVyAoMVVMTCA8PCA2MikKKworI2RlZmluZSBJT01NVV9MMV9QREUoYWRkcmVzcykgXAorCSgoYWRkcmVzcykgfCBJT01NVV9QREVfTkxfMSB8IElPTU1VX1BURV9QIHwgSU9NTVVfUFRFX0lSIHwgSU9NTVVfUFRFX0lXKQorI2RlZmluZSBJT01NVV9MMl9QREUoYWRkcmVzcykgXAorCSgoYWRkcmVzcykgfCBJT01NVV9QREVfTkxfMiB8IElPTU1VX1BURV9QIHwgSU9NTVVfUFRFX0lSIHwgSU9NTVVfUFRFX0lXKQorCisjZGVmaW5lIElPTU1VX1BBR0VfTUFTSyAoKCgxVUxMIDw8IDUyKSAtIDEpICYgfjB4ZmZmVUxMKQorI2RlZmluZSBJT01NVV9QVEVfUFJFU0VOVChwdGUpICgocHRlKSAmIElPTU1VX1BURV9QKQorI2RlZmluZSBJT01NVV9QVEVfUEFHRShwdGUpIChwaHlzX3RvX3ZpcnQoKHB0ZSkgJiBJT01NVV9QQUdFX01BU0spKQorI2RlZmluZSBJT01NVV9QVEVfTU9ERShwdGUpICgoKHB0ZSkgPj4gOSkgJiAweDA3KQorCisjZGVmaW5lIElPTU1VX1BST1RfTUFTSyAweDAzCisjZGVmaW5lIElPTU1VX1BST1RfSVIgMHgwMQorI2RlZmluZSBJT01NVV9QUk9UX0lXIDB4MDIKKworLyogSU9NTVUgY2FwYWJpbGl0aWVzICovCisjZGVmaW5lIElPTU1VX0NBUF9JT1RMQiAgIDI0CisjZGVmaW5lIElPTU1VX0NBUF9OUENBQ0hFIDI2CisKKyNkZWZpbmUgTUFYX0RPTUFJTl9JRCA2NTUzNgorCitzdHJ1Y3QgcHJvdGVjdGlvbl9kb21haW4geworCXNwaW5sb2NrX3QgbG9jazsKKwl1MTYgaWQ7CisJaW50IG1vZGU7CisJdTY0ICpwdF9yb290OworCXZvaWQgKnByaXY7Cit9OworCitzdHJ1Y3QgZG1hX29wc19kb21haW4geworCXN0cnVjdCBsaXN0X2hlYWQgbGlzdDsKKwlzdHJ1Y3QgcHJvdGVjdGlvbl9kb21haW4gZG9tYWluOworCXVuc2lnbmVkIGxvbmcgYXBlcnR1cmVfc2l6ZTsKKwl1bnNpZ25lZCBsb25nIG5leHRfYml0OworCXVuc2lnbmVkIGxvbmcgKmJpdG1hcDsKKwl1NjQgKipwdGVfcGFnZXM7Cit9OworCitzdHJ1Y3QgYW1kX2lvbW11IHsKKwlzdHJ1Y3QgbGlzdF9oZWFkIGxpc3Q7CisJc3BpbmxvY2tfdCBsb2NrOworCisJdTE2IGRldmlkOworCXUxNiBjYXBfcHRyOworCisJdTY0IG1taW9fcGh5czsKKwl1OCAqbW1pb19iYXNlOworCXUzMiBjYXA7CisJdTE2IGZpcnN0X2RldmljZTsKKwl1MTYgbGFzdF9kZXZpY2U7CisJdTY0IGV4Y2x1c2lvbl9zdGFydDsKKwl1NjQgZXhjbHVzaW9uX2xlbmd0aDsKKworCXU4ICpjbWRfYnVmOworCXUzMiBjbWRfYnVmX3NpemU7CisKKwlpbnQgbmVlZF9zeW5jOworCisJc3RydWN0IGRtYV9vcHNfZG9tYWluICpkZWZhdWx0X2RvbTsKK307CisKK2V4dGVybiBzdHJ1Y3QgbGlzdF9oZWFkIGFtZF9pb21tdV9saXN0OworCitzdHJ1Y3QgZGV2X3RhYmxlX2VudHJ5IHsKKwl1MzIgZGF0YVs4XTsKK307CisKK3N0cnVjdCB1bml0eV9tYXBfZW50cnkgeworCXN0cnVjdCBsaXN0X2hlYWQgbGlzdDsKKwl1MTYgZGV2aWRfc3RhcnQ7CisJdTE2IGRldmlkX2VuZDsKKwl1NjQgYWRkcmVzc19zdGFydDsKKwl1NjQgYWRkcmVzc19lbmQ7CisJaW50IHByb3Q7Cit9OworCitleHRlcm4gc3RydWN0IGxpc3RfaGVhZCBhbWRfaW9tbXVfdW5pdHlfbWFwOworCisvKiBkYXRhIHN0cnVjdHVyZXMgZm9yIGRldmljZSBoYW5kbGluZyAqLworZXh0ZXJuIHN0cnVjdCBkZXZfdGFibGVfZW50cnkgKmFtZF9pb21tdV9kZXZfdGFibGU7CitleHRlcm4gdTE2ICphbWRfaW9tbXVfYWxpYXNfdGFibGU7CitleHRlcm4gc3RydWN0IGFtZF9pb21tdSAqKmFtZF9pb21tdV9ybG9va3VwX3RhYmxlOworCitleHRlcm4gdW5zaWduZWQgYW1kX2lvbW11X2FwZXJ0dXJlX29yZGVyOworCitleHRlcm4gdTE2IGFtZF9pb21tdV9sYXN0X2JkZjsKKworLyogZGF0YSBzdHJ1Y3R1cmVzIGZvciBwcm90ZWN0aW9uIGRvbWFpbiBoYW5kbGluZyAqLworZXh0ZXJuIHN0cnVjdCBwcm90ZWN0aW9uX2RvbWFpbiAqKmFtZF9pb21tdV9wZF90YWJsZTsKK2V4dGVybiB1bnNpZ25lZCBsb25nICphbWRfaW9tbXVfcGRfYWxsb2NfYml0bWFwOworCitleHRlcm4gaW50IGFtZF9pb21tdV9pc29sYXRlOworCitzdGF0aWMgaW5saW5lIHZvaWQgcHJpbnRfZGV2aWQodTE2IGRldmlkLCBpbnQgbmwpCit7CisJaW50IGJ1cyA9IGRldmlkID4+IDg7CisJaW50IGRldiA9IGRldmlkID4+IDMgJiAweDFmOworCWludCBmbiAgPSBkZXZpZCAmIDB4MDc7CisKKwlwcmludGsoIiUwMng6JTAyeC4leCIsIGJ1cywgZGV2LCBmbik7CisJaWYgKG5sKQorCQlwcmludGsoIlxuIik7Cit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2FwaWMuaCBiL2luY2x1ZGUvYXNtLXg4Ni9hcGljLmgKaW5kZXggYmU5NjM5YS4uNGUyYzFlNSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2FwaWMuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvYXBpYy5oCkBAIC0zNiwxNSArMzYsMTEgQEAKICNpZmRlZiBDT05GSUdfWDg2X0xPQ0FMX0FQSUMKIAogZXh0ZXJuIGludCBhcGljX3ZlcmJvc2l0eTsKLWV4dGVybiBpbnQgdGltZXJfb3Zlcl84MjU0OwogZXh0ZXJuIGludCBsb2NhbF9hcGljX3RpbWVyX2MyX29rOwotZXh0ZXJuIGludCBsb2NhbF9hcGljX3RpbWVyX2Rpc2FibGVkOwogCi1leHRlcm4gaW50IGFwaWNfcnVuc19tYWluX3RpbWVyOwogZXh0ZXJuIGludCBpb2FwaWNfZm9yY2U7Ci1leHRlcm4gaW50IGRpc2FibGVfYXBpYzsKLWV4dGVybiBpbnQgZGlzYWJsZV9hcGljX3RpbWVyOwogCitleHRlcm4gaW50IGRpc2FibGVfYXBpYzsKIC8qCiAgKiBCYXNpYyBmdW5jdGlvbnMgYWNjZXNzaW5nIEFQSUNzLgogICovCkBAIC0xMjUsMTYgKzEyMSwyMiBAQAogICovCiAjaWZkZWYgQ09ORklHX1g4Nl82NAogZXh0ZXJuIHZvaWQgZWFybHlfaW5pdF9sYXBpY19tYXBwaW5nKHZvaWQpOworZXh0ZXJuIGludCBhcGljX2lzX2NsdXN0ZXJlZF9ib3godm9pZCk7CisjZWxzZQorc3RhdGljIGlubGluZSBpbnQgYXBpY19pc19jbHVzdGVyZWRfYm94KHZvaWQpCit7CisJcmV0dXJuIDA7Cit9CiAjZW5kaWYKIAogZXh0ZXJuIHU4IHNldHVwX0FQSUNfZWlsdnRfbWNlKHU4IHZlY3RvciwgdTggbXNnX3R5cGUsIHU4IG1hc2spOwogZXh0ZXJuIHU4IHNldHVwX0FQSUNfZWlsdnRfaWJzKHU4IHZlY3RvciwgdTggbXNnX3R5cGUsIHU4IG1hc2spOwogCi1leHRlcm4gaW50IGFwaWNfaXNfY2x1c3RlcmVkX2JveCh2b2lkKTsKIAogI2Vsc2UgLyogIUNPTkZJR19YODZfTE9DQUxfQVBJQyAqLwogc3RhdGljIGlubGluZSB2b2lkIGxhcGljX3NodXRkb3duKHZvaWQpIHsgfQogI2RlZmluZSBsb2NhbF9hcGljX3RpbWVyX2MyX29rCQkxCitzdGF0aWMgaW5saW5lIHZvaWQgaW5pdF9hcGljX21hcHBpbmdzKHZvaWQpIHsgfQogCiAjZW5kaWYgLyogIUNPTkZJR19YODZfTE9DQUxfQVBJQyAqLwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvYXNtLmggYi9pbmNsdWRlL2FzbS14ODYvYXNtLmgKaW5kZXggOTBkZWMwYy4uOTcyMjAzMiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2FzbS5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9hc20uaApAQCAtMSwzNyArMSw0MCBAQAogI2lmbmRlZiBfQVNNX1g4Nl9BU01fSAogI2RlZmluZSBfQVNNX1g4Nl9BU01fSAogCi0jaWZkZWYgQ09ORklHX1g4Nl8zMgotLyogMzIgYml0cyAqLwotCi0jIGRlZmluZSBfQVNNX1BUUgkiIC5sb25nICIKLSMgZGVmaW5lIF9BU01fQUxJR04JIiAuYmFsaWduIDQgIgotIyBkZWZpbmUgX0FTTV9NT1ZfVUwJIiBtb3ZsICIKLQotIyBkZWZpbmUgX0FTTV9JTkMJIiBpbmNsICIKLSMgZGVmaW5lIF9BU01fREVDCSIgZGVjbCAiCi0jIGRlZmluZSBfQVNNX0FERAkiIGFkZGwgIgotIyBkZWZpbmUgX0FTTV9TVUIJIiBzdWJsICIKLSMgZGVmaW5lIF9BU01fWEFERAkiIHhhZGRsICIKLQorI2lmZGVmIF9fQVNTRU1CTFlfXworIyBkZWZpbmUgX19BU01fRk9STSh4KQl4CisjIGRlZmluZSBfX0FTTV9FWF9TRUMJLnNlY3Rpb24gX19leF90YWJsZQogI2Vsc2UKLS8qIDY0IGJpdHMgKi8KKyMgZGVmaW5lIF9fQVNNX0ZPUk0oeCkJIiAiICN4ICIgIgorIyBkZWZpbmUgX19BU01fRVhfU0VDCSIgLnNlY3Rpb24gX19leF90YWJsZSxcImFcIlxuIgorI2VuZGlmCiAKLSMgZGVmaW5lIF9BU01fUFRSCSIgLnF1YWQgIgotIyBkZWZpbmUgX0FTTV9BTElHTgkiIC5iYWxpZ24gOCAiCi0jIGRlZmluZSBfQVNNX01PVl9VTAkiIG1vdnEgIgorI2lmZGVmIENPTkZJR19YODZfMzIKKyMgZGVmaW5lIF9fQVNNX1NFTChhLGIpIF9fQVNNX0ZPUk0oYSkKKyNlbHNlCisjIGRlZmluZSBfX0FTTV9TRUwoYSxiKSBfX0FTTV9GT1JNKGIpCisjZW5kaWYKIAotIyBkZWZpbmUgX0FTTV9JTkMJIiBpbmNxICIKLSMgZGVmaW5lIF9BU01fREVDCSIgZGVjcSAiCi0jIGRlZmluZSBfQVNNX0FERAkiIGFkZHEgIgotIyBkZWZpbmUgX0FTTV9TVUIJIiBzdWJxICIKLSMgZGVmaW5lIF9BU01fWEFERAkiIHhhZGRxICIKKyNkZWZpbmUgX19BU01fU0laRShpbnN0KQlfX0FTTV9TRUwoaW5zdCMjbCwgaW5zdCMjcSkKKyNkZWZpbmUgX19BU01fUkVHKHJlZykJCV9fQVNNX1NFTChlIyNyZWcsIHIjI3JlZykKIAotI2VuZGlmIC8qIENPTkZJR19YODZfMzIgKi8KKyNkZWZpbmUgX0FTTV9QVFIJX19BU01fU0VMKC5sb25nLCAucXVhZCkKKyNkZWZpbmUgX0FTTV9BTElHTglfX0FTTV9TRUwoLmJhbGlnbiA0LCAuYmFsaWduIDgpCisjZGVmaW5lIF9BU01fTU9WX1VMCV9fQVNNX1NJWkUobW92KQorCisjZGVmaW5lIF9BU01fSU5DCV9fQVNNX1NJWkUoaW5jKQorI2RlZmluZSBfQVNNX0RFQwlfX0FTTV9TSVpFKGRlYykKKyNkZWZpbmUgX0FTTV9BREQJX19BU01fU0laRShhZGQpCisjZGVmaW5lIF9BU01fU1VCCV9fQVNNX1NJWkUoc3ViKQorI2RlZmluZSBfQVNNX1hBREQJX19BU01fU0laRSh4YWRkKQorI2RlZmluZSBfQVNNX0FYCQlfX0FTTV9SRUcoYXgpCisjZGVmaW5lIF9BU01fQlgJCV9fQVNNX1JFRyhieCkKKyNkZWZpbmUgX0FTTV9DWAkJX19BU01fUkVHKGN4KQorI2RlZmluZSBfQVNNX0RYCQlfX0FTTV9SRUcoZHgpCiAKIC8qIEV4Y2VwdGlvbiB0YWJsZSBlbnRyeSAqLwogIyBkZWZpbmUgX0FTTV9FWFRBQkxFKGZyb20sdG8pIFwKLQkiIC5zZWN0aW9uIF9fZXhfdGFibGUsXCJhXCJcbiIgXAorCV9fQVNNX0VYX1NFQwlcCiAJX0FTTV9BTElHTiAiXG4iIFwKIAlfQVNNX1BUUiAjZnJvbSAiLCIgI3RvICJcbiIgXAogCSIgLnByZXZpb3VzXG4iCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvYXRvbWljXzY0LmggYi9pbmNsdWRlL2FzbS14ODYvYXRvbWljXzY0LmgKaW5kZXggM2UwY2Q3ZC4uYTAwOTUxOSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2F0b21pY182NC5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9hdG9taWNfNjQuaApAQCAtMTEsMTIgKzExLDYgQEAKICAqIHJlc291cmNlIGNvdW50aW5nIGV0Yy4uCiAgKi8KIAotI2lmZGVmIENPTkZJR19TTVAKLSNkZWZpbmUgTE9DSyAibG9jayA7ICIKLSNlbHNlCi0jZGVmaW5lIExPQ0sgIiIKLSNlbmRpZgotCiAvKgogICogTWFrZSBzdXJlIGdjYyBkb2Vzbid0IHRyeSB0byBiZSBjbGV2ZXIgYW5kIG1vdmUgdGhpbmdzIGFyb3VuZAogICogb24gdXMuIFdlIG5lZWQgdG8gdXNlIF9leGFjdGx5XyB0aGUgYWRkcmVzcyB0aGUgdXNlciBnYXZlIHVzLApAQCAtNDMxLDYgKzQyNSwzMiBAQAogCXJldHVybiBjICE9ICh1KTsKIH0KIAorLyoqCisgKiBhdG9taWNfaW5jX3Nob3J0IC0gaW5jcmVtZW50IG9mIGEgc2hvcnQgaW50ZWdlcgorICogQHY6IHBvaW50ZXIgdG8gdHlwZSBpbnQKKyAqCisgKiBBdG9taWNhbGx5IGFkZHMgMSB0byBAdgorICogUmV0dXJucyB0aGUgbmV3IHZhbHVlIG9mIEB1CisgKi8KK3N0YXRpYyBpbmxpbmUgc2hvcnQgaW50IGF0b21pY19pbmNfc2hvcnQoc2hvcnQgaW50ICp2KQoreworCWFzbShMT0NLX1BSRUZJWCAiYWRkdyAkMSwgJTAiIDogIittIiAoKnYpKTsKKwlyZXR1cm4gKnY7Cit9CisKKy8qKgorICogYXRvbWljX29yX2xvbmcgLSBPUiBvZiB0d28gbG9uZyBpbnRlZ2VycworICogQHYxOiBwb2ludGVyIHRvIHR5cGUgdW5zaWduZWQgbG9uZworICogQHYyOiBwb2ludGVyIHRvIHR5cGUgdW5zaWduZWQgbG9uZworICoKKyAqIEF0b21pY2FsbHkgT1JzIEB2MSBhbmQgQHYyCisgKiBSZXR1cm5zIHRoZSByZXN1bHQgb2YgdGhlIE9SCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBhdG9taWNfb3JfbG9uZyh1bnNpZ25lZCBsb25nICp2MSwgdW5zaWduZWQgbG9uZyB2MikKK3sKKwlhc20oTE9DS19QUkVGSVggIm9ycSAlMSwgJTAiIDogIittIiAoKnYxKSA6ICJyIiAodjIpKTsKK30KKwogI2RlZmluZSBhdG9taWM2NF9pbmNfbm90X3plcm8odikgYXRvbWljNjRfYWRkX3VubGVzcygodiksIDEsIDApCiAKIC8qIFRoZXNlIGFyZSB4ODYtc3BlY2lmaWMsIHVzZWQgYnkgc29tZSBoZWFkZXIgZmlsZXMgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9iaW9zX2ViZGEuaCBiL2luY2x1ZGUvYXNtLXg4Ni9iaW9zX2ViZGEuaAppbmRleCBiNGE0NmI3Li4wMDMzZTUwIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvYmlvc19lYmRhLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L2Jpb3NfZWJkYS5oCkBAIC0xNCw0ICsxNCw2IEBACiAJcmV0dXJuIGFkZHJlc3M7CS8qIDAgbWVhbnMgbm9uZSAqLwogfQogCit2b2lkIHJlc2VydmVfZWJkYV9yZWdpb24odm9pZCk7CisKICNlbmRpZiAvKiBfTUFDSF9CSU9TX0VCREFfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2JpdG9wcy5oIGIvaW5jbHVkZS9hc20teDg2L2JpdG9wcy5oCmluZGV4IGVlNGIzZWEuLjk2YjE4MjkgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9iaXRvcHMuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvYml0b3BzLmgKQEAgLTIzLDExICsyMywyMSBAQAogI2lmIF9fR05VQ19fIDwgNCB8fCAoX19HTlVDX18gPT0gNCAmJiBfX0dOVUNfTUlOT1JfXyA8IDEpCiAvKiBUZWNobmljYWxseSB3cm9uZywgYnV0IHRoaXMgYXZvaWRzIGNvbXBpbGF0aW9uIGVycm9ycyBvbiBzb21lIGdjYwogICAgdmVyc2lvbnMuICovCi0jZGVmaW5lIEFERFIgIj1tIiAoKih2b2xhdGlsZSBsb25nICopIGFkZHIpCisjZGVmaW5lIEJJVE9QX0FERFIoeCkgIj1tIiAoKih2b2xhdGlsZSBsb25nICopICh4KSkKICNlbHNlCi0jZGVmaW5lIEFERFIgIittIiAoKih2b2xhdGlsZSBsb25nICopIGFkZHIpCisjZGVmaW5lIEJJVE9QX0FERFIoeCkgIittIiAoKih2b2xhdGlsZSBsb25nICopICh4KSkKICNlbmRpZgogCisjZGVmaW5lIEFERFIJCQkJQklUT1BfQUREUihhZGRyKQorCisvKgorICogV2UgZG8gdGhlIGxvY2tlZCBvcHMgdGhhdCBkb24ndCByZXR1cm4gdGhlIG9sZCB2YWx1ZSBhcworICogYSBtYXNrIG9wZXJhdGlvbiBvbiBhIGJ5dGUuCisgKi8KKyNkZWZpbmUgSVNfSU1NRURJQVRFKG5yKQkJKF9fYnVpbHRpbl9jb25zdGFudF9wKG5yKSkKKyNkZWZpbmUgQ09OU1RfTUFTS19BRERSKG5yLCBhZGRyKQlCSVRPUF9BRERSKCh2b2lkICopKGFkZHIpICsgKChucik+PjMpKQorI2RlZmluZSBDT05TVF9NQVNLKG5yKQkJCSgxIDw8ICgobnIpICYgNykpCisKIC8qKgogICogc2V0X2JpdCAtIEF0b21pY2FsbHkgc2V0IGEgYml0IGluIG1lbW9yeQogICogQG5yOiB0aGUgYml0IHRvIHNldApAQCAtNDMsOSArNTMsMTcgQEAKICAqIE5vdGUgdGhhdCBAbnIgbWF5IGJlIGFsbW9zdCBhcmJpdHJhcmlseSBsYXJnZTsgdGhpcyBmdW5jdGlvbiBpcyBub3QKICAqIHJlc3RyaWN0ZWQgdG8gYWN0aW5nIG9uIGEgc2luZ2xlLXdvcmQgcXVhbnRpdHkuCiAgKi8KLXN0YXRpYyBpbmxpbmUgdm9pZCBzZXRfYml0KGludCBuciwgdm9sYXRpbGUgdm9pZCAqYWRkcikKK3N0YXRpYyBpbmxpbmUgdm9pZCBzZXRfYml0KHVuc2lnbmVkIGludCBuciwgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAqYWRkcikKIHsKLQlhc20gdm9sYXRpbGUoTE9DS19QUkVGSVggImJ0cyAlMSwlMCIgOiBBRERSIDogIklyIiAobnIpIDogIm1lbW9yeSIpOworCWlmIChJU19JTU1FRElBVEUobnIpKSB7CisJCWFzbSB2b2xhdGlsZShMT0NLX1BSRUZJWCAib3JiICUxLCUwIgorCQkJOiBDT05TVF9NQVNLX0FERFIobnIsIGFkZHIpCisJCQk6ICJpcSIgKCh1OClDT05TVF9NQVNLKG5yKSkKKwkJCTogIm1lbW9yeSIpOworCX0gZWxzZSB7CisJCWFzbSB2b2xhdGlsZShMT0NLX1BSRUZJWCAiYnRzICUxLCUwIgorCQkJOiBCSVRPUF9BRERSKGFkZHIpIDogIklyIiAobnIpIDogIm1lbW9yeSIpOworCX0KIH0KIAogLyoqCkBAIC01Nyw3ICs3NSw3IEBACiAgKiBJZiBpdCdzIGNhbGxlZCBvbiB0aGUgc2FtZSByZWdpb24gb2YgbWVtb3J5IHNpbXVsdGFuZW91c2x5LCB0aGUgZWZmZWN0CiAgKiBtYXkgYmUgdGhhdCBvbmx5IG9uZSBvcGVyYXRpb24gc3VjY2VlZHMuCiAgKi8KLXN0YXRpYyBpbmxpbmUgdm9pZCBfX3NldF9iaXQoaW50IG5yLCB2b2xhdGlsZSB2b2lkICphZGRyKQorc3RhdGljIGlubGluZSB2b2lkIF9fc2V0X2JpdChpbnQgbnIsIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgKmFkZHIpCiB7CiAJYXNtIHZvbGF0aWxlKCJidHMgJTEsJTAiIDogQUREUiA6ICJJciIgKG5yKSA6ICJtZW1vcnkiKTsKIH0KQEAgLTcyLDkgKzkwLDE3IEBACiAgKiB5b3Ugc2hvdWxkIGNhbGwgc21wX21iX19iZWZvcmVfY2xlYXJfYml0KCkgYW5kL29yIHNtcF9tYl9fYWZ0ZXJfY2xlYXJfYml0KCkKICAqIGluIG9yZGVyIHRvIGVuc3VyZSBjaGFuZ2VzIGFyZSB2aXNpYmxlIG9uIG90aGVyIHByb2Nlc3NvcnMuCiAgKi8KLXN0YXRpYyBpbmxpbmUgdm9pZCBjbGVhcl9iaXQoaW50IG5yLCB2b2xhdGlsZSB2b2lkICphZGRyKQorc3RhdGljIGlubGluZSB2b2lkIGNsZWFyX2JpdChpbnQgbnIsIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgKmFkZHIpCiB7Ci0JYXNtIHZvbGF0aWxlKExPQ0tfUFJFRklYICJidHIgJTEsJTAiIDogQUREUiA6ICJJciIgKG5yKSk7CisJaWYgKElTX0lNTUVESUFURShucikpIHsKKwkJYXNtIHZvbGF0aWxlKExPQ0tfUFJFRklYICJhbmRiICUxLCUwIgorCQkJOiBDT05TVF9NQVNLX0FERFIobnIsIGFkZHIpCisJCQk6ICJpcSIgKCh1OCl+Q09OU1RfTUFTSyhucikpKTsKKwl9IGVsc2UgeworCQlhc20gdm9sYXRpbGUoTE9DS19QUkVGSVggImJ0ciAlMSwlMCIKKwkJCTogQklUT1BfQUREUihhZGRyKQorCQkJOiAiSXIiIChucikpOworCX0KIH0KIAogLyoKQEAgLTg1LDEzICsxMTEsMTMgQEAKICAqIGNsZWFyX2JpdCgpIGlzIGF0b21pYyBhbmQgaW1wbGllcyByZWxlYXNlIHNlbWFudGljcyBiZWZvcmUgdGhlIG1lbW9yeQogICogb3BlcmF0aW9uLiBJdCBjYW4gYmUgdXNlZCBmb3IgYW4gdW5sb2NrLgogICovCi1zdGF0aWMgaW5saW5lIHZvaWQgY2xlYXJfYml0X3VubG9jayh1bnNpZ25lZCBuciwgdm9sYXRpbGUgdm9pZCAqYWRkcikKK3N0YXRpYyBpbmxpbmUgdm9pZCBjbGVhcl9iaXRfdW5sb2NrKHVuc2lnbmVkIG5yLCB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICphZGRyKQogewogCWJhcnJpZXIoKTsKIAljbGVhcl9iaXQobnIsIGFkZHIpOwogfQogCi1zdGF0aWMgaW5saW5lIHZvaWQgX19jbGVhcl9iaXQoaW50IG5yLCB2b2xhdGlsZSB2b2lkICphZGRyKQorc3RhdGljIGlubGluZSB2b2lkIF9fY2xlYXJfYml0KGludCBuciwgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAqYWRkcikKIHsKIAlhc20gdm9sYXRpbGUoImJ0ciAlMSwlMCIgOiBBRERSIDogIklyIiAobnIpKTsKIH0KQEAgLTEwOCw3ICsxMzQsNyBAQAogICogTm8gbWVtb3J5IGJhcnJpZXIgaXMgcmVxdWlyZWQgaGVyZSwgYmVjYXVzZSB4ODYgY2Fubm90IHJlb3JkZXIgc3RvcmVzIHBhc3QKICAqIG9sZGVyIGxvYWRzLiBTYW1lIHByaW5jaXBsZSBhcyBzcGluX3VubG9jay4KICAqLwotc3RhdGljIGlubGluZSB2b2lkIF9fY2xlYXJfYml0X3VubG9jayh1bnNpZ25lZCBuciwgdm9sYXRpbGUgdm9pZCAqYWRkcikKK3N0YXRpYyBpbmxpbmUgdm9pZCBfX2NsZWFyX2JpdF91bmxvY2sodW5zaWduZWQgbnIsIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgKmFkZHIpCiB7CiAJYmFycmllcigpOwogCV9fY2xlYXJfYml0KG5yLCBhZGRyKTsKQEAgLTEyNiw3ICsxNTIsNyBAQAogICogSWYgaXQncyBjYWxsZWQgb24gdGhlIHNhbWUgcmVnaW9uIG9mIG1lbW9yeSBzaW11bHRhbmVvdXNseSwgdGhlIGVmZmVjdAogICogbWF5IGJlIHRoYXQgb25seSBvbmUgb3BlcmF0aW9uIHN1Y2NlZWRzLgogICovCi1zdGF0aWMgaW5saW5lIHZvaWQgX19jaGFuZ2VfYml0KGludCBuciwgdm9sYXRpbGUgdm9pZCAqYWRkcikKK3N0YXRpYyBpbmxpbmUgdm9pZCBfX2NoYW5nZV9iaXQoaW50IG5yLCB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICphZGRyKQogewogCWFzbSB2b2xhdGlsZSgiYnRjICUxLCUwIiA6IEFERFIgOiAiSXIiIChucikpOwogfQpAQCAtMTQwLDcgKzE2Niw3IEBACiAgKiBOb3RlIHRoYXQgQG5yIG1heSBiZSBhbG1vc3QgYXJiaXRyYXJpbHkgbGFyZ2U7IHRoaXMgZnVuY3Rpb24gaXMgbm90CiAgKiByZXN0cmljdGVkIHRvIGFjdGluZyBvbiBhIHNpbmdsZS13b3JkIHF1YW50aXR5LgogICovCi1zdGF0aWMgaW5saW5lIHZvaWQgY2hhbmdlX2JpdChpbnQgbnIsIHZvbGF0aWxlIHZvaWQgKmFkZHIpCitzdGF0aWMgaW5saW5lIHZvaWQgY2hhbmdlX2JpdChpbnQgbnIsIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgKmFkZHIpCiB7CiAJYXNtIHZvbGF0aWxlKExPQ0tfUFJFRklYICJidGMgJTEsJTAiIDogQUREUiA6ICJJciIgKG5yKSk7CiB9CkBAIC0xNTMsNyArMTc5LDcgQEAKICAqIFRoaXMgb3BlcmF0aW9uIGlzIGF0b21pYyBhbmQgY2Fubm90IGJlIHJlb3JkZXJlZC4KICAqIEl0IGFsc28gaW1wbGllcyBhIG1lbW9yeSBiYXJyaWVyLgogICovCi1zdGF0aWMgaW5saW5lIGludCB0ZXN0X2FuZF9zZXRfYml0KGludCBuciwgdm9sYXRpbGUgdm9pZCAqYWRkcikKK3N0YXRpYyBpbmxpbmUgaW50IHRlc3RfYW5kX3NldF9iaXQoaW50IG5yLCB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICphZGRyKQogewogCWludCBvbGRiaXQ7CiAKQEAgLTE3MCw3ICsxOTYsNyBAQAogICoKICAqIFRoaXMgaXMgdGhlIHNhbWUgYXMgdGVzdF9hbmRfc2V0X2JpdCBvbiB4ODYuCiAgKi8KLXN0YXRpYyBpbmxpbmUgaW50IHRlc3RfYW5kX3NldF9iaXRfbG9jayhpbnQgbnIsIHZvbGF0aWxlIHZvaWQgKmFkZHIpCitzdGF0aWMgaW5saW5lIGludCB0ZXN0X2FuZF9zZXRfYml0X2xvY2soaW50IG5yLCB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICphZGRyKQogewogCXJldHVybiB0ZXN0X2FuZF9zZXRfYml0KG5yLCBhZGRyKTsKIH0KQEAgLTE4NCw3ICsyMTAsNyBAQAogICogSWYgdHdvIGV4YW1wbGVzIG9mIHRoaXMgb3BlcmF0aW9uIHJhY2UsIG9uZSBjYW4gYXBwZWFyIHRvIHN1Y2NlZWQKICAqIGJ1dCBhY3R1YWxseSBmYWlsLiAgWW91IG11c3QgcHJvdGVjdCBtdWx0aXBsZSBhY2Nlc3NlcyB3aXRoIGEgbG9jay4KICAqLwotc3RhdGljIGlubGluZSBpbnQgX190ZXN0X2FuZF9zZXRfYml0KGludCBuciwgdm9sYXRpbGUgdm9pZCAqYWRkcikKK3N0YXRpYyBpbmxpbmUgaW50IF9fdGVzdF9hbmRfc2V0X2JpdChpbnQgbnIsIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgKmFkZHIpCiB7CiAJaW50IG9sZGJpdDsKIApAQCAtMjAzLDcgKzIyOSw3IEBACiAgKiBUaGlzIG9wZXJhdGlvbiBpcyBhdG9taWMgYW5kIGNhbm5vdCBiZSByZW9yZGVyZWQuCiAgKiBJdCBhbHNvIGltcGxpZXMgYSBtZW1vcnkgYmFycmllci4KICAqLwotc3RhdGljIGlubGluZSBpbnQgdGVzdF9hbmRfY2xlYXJfYml0KGludCBuciwgdm9sYXRpbGUgdm9pZCAqYWRkcikKK3N0YXRpYyBpbmxpbmUgaW50IHRlc3RfYW5kX2NsZWFyX2JpdChpbnQgbnIsIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgKmFkZHIpCiB7CiAJaW50IG9sZGJpdDsKIApAQCAtMjIzLDcgKzI0OSw3IEBACiAgKiBJZiB0d28gZXhhbXBsZXMgb2YgdGhpcyBvcGVyYXRpb24gcmFjZSwgb25lIGNhbiBhcHBlYXIgdG8gc3VjY2VlZAogICogYnV0IGFjdHVhbGx5IGZhaWwuICBZb3UgbXVzdCBwcm90ZWN0IG11bHRpcGxlIGFjY2Vzc2VzIHdpdGggYSBsb2NrLgogICovCi1zdGF0aWMgaW5saW5lIGludCBfX3Rlc3RfYW5kX2NsZWFyX2JpdChpbnQgbnIsIHZvbGF0aWxlIHZvaWQgKmFkZHIpCitzdGF0aWMgaW5saW5lIGludCBfX3Rlc3RfYW5kX2NsZWFyX2JpdChpbnQgbnIsIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgKmFkZHIpCiB7CiAJaW50IG9sZGJpdDsKIApAQCAtMjM1LDcgKzI2MSw3IEBACiB9CiAKIC8qIFdBUk5JTkc6IG5vbiBhdG9taWMgYW5kIGl0IGNhbiBiZSByZW9yZGVyZWQhICovCi1zdGF0aWMgaW5saW5lIGludCBfX3Rlc3RfYW5kX2NoYW5nZV9iaXQoaW50IG5yLCB2b2xhdGlsZSB2b2lkICphZGRyKQorc3RhdGljIGlubGluZSBpbnQgX190ZXN0X2FuZF9jaGFuZ2VfYml0KGludCBuciwgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAqYWRkcikKIHsKIAlpbnQgb2xkYml0OwogCkBAIC0yNTUsNyArMjgxLDcgQEAKICAqIFRoaXMgb3BlcmF0aW9uIGlzIGF0b21pYyBhbmQgY2Fubm90IGJlIHJlb3JkZXJlZC4KICAqIEl0IGFsc28gaW1wbGllcyBhIG1lbW9yeSBiYXJyaWVyLgogICovCi1zdGF0aWMgaW5saW5lIGludCB0ZXN0X2FuZF9jaGFuZ2VfYml0KGludCBuciwgdm9sYXRpbGUgdm9pZCAqYWRkcikKK3N0YXRpYyBpbmxpbmUgaW50IHRlc3RfYW5kX2NoYW5nZV9iaXQoaW50IG5yLCB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICphZGRyKQogewogCWludCBvbGRiaXQ7CiAKQEAgLTI2NiwxMyArMjkyLDEzIEBACiAJcmV0dXJuIG9sZGJpdDsKIH0KIAotc3RhdGljIGlubGluZSBpbnQgY29uc3RhbnRfdGVzdF9iaXQoaW50IG5yLCBjb25zdCB2b2xhdGlsZSB2b2lkICphZGRyKQorc3RhdGljIGlubGluZSBpbnQgY29uc3RhbnRfdGVzdF9iaXQoaW50IG5yLCBjb25zdCB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICphZGRyKQogewogCXJldHVybiAoKDFVTCA8PCAobnIgJSBCSVRTX1BFUl9MT05HKSkgJgogCQkoKCh1bnNpZ25lZCBsb25nICopYWRkcilbbnIgLyBCSVRTX1BFUl9MT05HXSkpICE9IDA7CiB9CiAKLXN0YXRpYyBpbmxpbmUgaW50IHZhcmlhYmxlX3Rlc3RfYml0KGludCBuciwgdm9sYXRpbGUgY29uc3Qgdm9pZCAqYWRkcikKK3N0YXRpYyBpbmxpbmUgaW50IHZhcmlhYmxlX3Rlc3RfYml0KGludCBuciwgdm9sYXRpbGUgY29uc3QgdW5zaWduZWQgbG9uZyAqYWRkcikKIHsKIAlpbnQgb2xkYml0OwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvYm9vdHBhcmFtLmggYi9pbmNsdWRlL2FzbS14ODYvYm9vdHBhcmFtLmgKaW5kZXggZjYyZjQ3My4uYWUyMmJkZiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2Jvb3RwYXJhbS5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9ib290cGFyYW0uaApAQCAtMTEsNiArMTEsNyBAQAogCiAvKiBzZXR1cCBkYXRhIHR5cGVzICovCiAjZGVmaW5lIFNFVFVQX05PTkUJCQkwCisjZGVmaW5lIFNFVFVQX0U4MjBfRVhUCQkJMQogCiAvKiBleHRlbnNpYmxlIHNldHVwIGRhdGEgbGlzdCBub2RlICovCiBzdHJ1Y3Qgc2V0dXBfZGF0YSB7CkBAIC00MCw2ICs0MSw3IEBACiAJX191OAl0eXBlX29mX2xvYWRlcjsKIAlfX3U4CWxvYWRmbGFnczsKICNkZWZpbmUgTE9BREVEX0hJR0gJKDE8PDApCisjZGVmaW5lIFFVSUVUX0ZMQUcJKDE8PDUpCiAjZGVmaW5lIEtFRVBfU0VHTUVOVFMJKDE8PDYpCiAjZGVmaW5lIENBTl9VU0VfSEVBUAkoMTw8NykKIAlfX3UxNglzZXR1cF9tb3ZlX3NpemU7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvY21weGNoZ182NC5oIGIvaW5jbHVkZS9hc20teDg2L2NtcHhjaGdfNjQuaAppbmRleCBkOWIyNmI5Li4xNzQ2M2NjIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvY21weGNoZ182NC5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9jbXB4Y2hnXzY0LmgKQEAgLTkzLDYgKzkzLDM5IEBACiAJcmV0dXJuIG9sZDsKIH0KIAorLyoKKyAqIEFsd2F5cyB1c2UgbG9ja2VkIG9wZXJhdGlvbnMgd2hlbiB0b3VjaGluZyBtZW1vcnkgc2hhcmVkIHdpdGggYQorICogaHlwZXJ2aXNvciwgc2luY2UgdGhlIHN5c3RlbSBtYXkgYmUgU01QIGV2ZW4gaWYgdGhlIGd1ZXN0IGtlcm5lbAorICogaXNuJ3QuCisgKi8KK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyBfX3N5bmNfY21weGNoZyh2b2xhdGlsZSB2b2lkICpwdHIsCisJCQkJCSAgIHVuc2lnbmVkIGxvbmcgb2xkLAorCQkJCQkgICB1bnNpZ25lZCBsb25nIG5ldywgaW50IHNpemUpCit7CisJdW5zaWduZWQgbG9uZyBwcmV2OworCXN3aXRjaCAoc2l6ZSkgeworCWNhc2UgMToKKwkJYXNtIHZvbGF0aWxlKCJsb2NrOyBjbXB4Y2hnYiAlYjEsJTIiCisJCQkgICAgIDogIj1hIihwcmV2KQorCQkJICAgICA6ICJxIihuZXcpLCAibSIoKl9feGcocHRyKSksICIwIihvbGQpCisJCQkgICAgIDogIm1lbW9yeSIpOworCQlyZXR1cm4gcHJldjsKKwljYXNlIDI6CisJCWFzbSB2b2xhdGlsZSgibG9jazsgY21weGNoZ3cgJXcxLCUyIgorCQkJICAgICA6ICI9YSIocHJldikKKwkJCSAgICAgOiAiciIobmV3KSwgIm0iKCpfX3hnKHB0cikpLCAiMCIob2xkKQorCQkJICAgICA6ICJtZW1vcnkiKTsKKwkJcmV0dXJuIHByZXY7CisJY2FzZSA0OgorCQlhc20gdm9sYXRpbGUoImxvY2s7IGNtcHhjaGdsICUxLCUyIgorCQkJICAgICA6ICI9YSIocHJldikKKwkJCSAgICAgOiAiciIobmV3KSwgIm0iKCpfX3hnKHB0cikpLCAiMCIob2xkKQorCQkJICAgICA6ICJtZW1vcnkiKTsKKwkJcmV0dXJuIHByZXY7CisJfQorCXJldHVybiBvbGQ7Cit9CisKIHN0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyBfX2NtcHhjaGdfbG9jYWwodm9sYXRpbGUgdm9pZCAqcHRyLAogCQkJCQkgICAgdW5zaWduZWQgbG9uZyBvbGQsCiAJCQkJCSAgICB1bnNpZ25lZCBsb25nIG5ldywgaW50IHNpemUpCkBAIC0xMzksNiArMTcyLDEwIEBACiAJKChfX3R5cGVvZl9fKCoocHRyKSkpX19jbXB4Y2hnX2xvY2FsKChwdHIpLCAodW5zaWduZWQgbG9uZykobyksCVwKIAkJCQkJICAgICAodW5zaWduZWQgbG9uZykobiksCVwKIAkJCQkJICAgICBzaXplb2YoKihwdHIpKSkpCisjZGVmaW5lIHN5bmNfY21weGNoZyhwdHIsIG8sIG4pCQkJCQkJXAorCSgoX190eXBlb2ZfXygqKHB0cikpKV9fc3luY19jbXB4Y2hnKChwdHIpLCAodW5zaWduZWQgbG9uZykobyksCVwKKwkJCQkJICAgICh1bnNpZ25lZCBsb25nKShuKSwJCVwKKwkJCQkJICAgIHNpemVvZigqKHB0cikpKSkKICNkZWZpbmUgY21weGNoZzY0X2xvY2FsKHB0ciwgbywgbikJCQkJCVwKICh7CQkJCQkJCQkJXAogCUJVSUxEX0JVR19PTihzaXplb2YoKihwdHIpKSAhPSA4KTsJCQkJXApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2NwdWZlYXR1cmUuaCBiL2luY2x1ZGUvYXNtLXg4Ni9jcHVmZWF0dXJlLmgKaW5kZXggMGQ2MDljOC4uNzVlZjk1OSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2NwdWZlYXR1cmUuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvY3B1ZmVhdHVyZS5oCkBAIC03NCw4ICs3NCw4IEBACiAjZGVmaW5lIFg4Nl9GRUFUVVJFX0FSQ0hfUEVSRk1PTiAoMyozMisxMSkgLyogSW50ZWwgQXJjaGl0ZWN0dXJhbCBQZXJmTW9uICovCiAjZGVmaW5lIFg4Nl9GRUFUVVJFX1BFQlMJKDMqMzIrMTIpICAvKiBQcmVjaXNlLUV2ZW50IEJhc2VkIFNhbXBsaW5nICovCiAjZGVmaW5lIFg4Nl9GRUFUVVJFX0JUUwkJKDMqMzIrMTMpICAvKiBCcmFuY2ggVHJhY2UgU3RvcmUgKi8KLS8qIDE0IGZyZWUgKi8KLS8qIDE1IGZyZWUgKi8KKyNkZWZpbmUgWDg2X0ZFQVRVUkVfU1lTQ0FMTDMyCSgzKjMyKzE0KSAgLyogc3lzY2FsbCBpbiBpYTMyIHVzZXJzcGFjZSAqLworI2RlZmluZSBYODZfRkVBVFVSRV9TWVNFTlRFUjMyCSgzKjMyKzE1KSAgLyogc3lzZW50ZXIgaW4gaWEzMiB1c2Vyc3BhY2UgKi8KICNkZWZpbmUgWDg2X0ZFQVRVUkVfUkVQX0dPT0QJKDMqMzIrMTYpIC8qIHJlcCBtaWNyb2NvZGUgd29ya3Mgd2VsbCBvbiB0aGlzIENQVSAqLwogI2RlZmluZSBYODZfRkVBVFVSRV9NRkVOQ0VfUkRUU0MgKDMqMzIrMTcpIC8qIE1mZW5jZSBzeW5jaHJvbml6ZXMgUkRUU0MgKi8KICNkZWZpbmUgWDg2X0ZFQVRVUkVfTEZFTkNFX1JEVFNDICgzKjMyKzE4KSAvKiBMZmVuY2Ugc3luY2hyb25pemVzIFJEVFNDICovCkBAIC0xMDYsNiArMTA2LDcgQEAKIC8qIE1vcmUgZXh0ZW5kZWQgQU1EIGZsYWdzOiBDUFVJRCBsZXZlbCAweDgwMDAwMDAxLCBlY3gsIHdvcmQgNiAqLwogI2RlZmluZSBYODZfRkVBVFVSRV9MQUhGX0xNCSg2KjMyKyAwKSAvKiBMQUhGL1NBSEYgaW4gbG9uZyBtb2RlICovCiAjZGVmaW5lIFg4Nl9GRUFUVVJFX0NNUF9MRUdBQ1kJKDYqMzIrIDEpIC8qIElmIHllcyBIeXBlclRocmVhZGluZyBub3QgdmFsaWQgKi8KKyNkZWZpbmUgWDg2X0ZFQVRVUkVfSUJTCQkoNiozMisgMTApIC8qIEluc3RydWN0aW9uIEJhc2VkIFNhbXBsaW5nICovCiAKIC8qCiAgKiBBdXhpbGlhcnkgZmxhZ3M6IExpbnV4IGRlZmluZWQgLSBGb3IgZmVhdHVyZXMgc2NhdHRlcmVkIGluIHZhcmlvdXMKQEAgLTE0MiwxMSArMTQzLDExIEBACiAjZGVmaW5lIGNsZWFyX2NwdV9jYXAoYywgYml0KQljbGVhcl9iaXQoYml0LCAodW5zaWduZWQgbG9uZyAqKSgoYyktPng4Nl9jYXBhYmlsaXR5KSkKICNkZWZpbmUgc2V0dXBfY2xlYXJfY3B1X2NhcChiaXQpIGRvIHsgXAogCWNsZWFyX2NwdV9jYXAoJmJvb3RfY3B1X2RhdGEsIGJpdCk7CVwKLQlzZXRfYml0KGJpdCwgY2xlYXJlZF9jcHVfY2Fwcyk7IAlcCisJc2V0X2JpdChiaXQsICh1bnNpZ25lZCBsb25nICopY2xlYXJlZF9jcHVfY2Fwcyk7IFwKIH0gd2hpbGUgKDApCiAjZGVmaW5lIHNldHVwX2ZvcmNlX2NwdV9jYXAoYml0KSBkbyB7IFwKIAlzZXRfY3B1X2NhcCgmYm9vdF9jcHVfZGF0YSwgYml0KTsJXAotCWNsZWFyX2JpdChiaXQsIGNsZWFyZWRfY3B1X2NhcHMpOyAJXAorCWNsZWFyX2JpdChiaXQsICh1bnNpZ25lZCBsb25nICopY2xlYXJlZF9jcHVfY2Fwcyk7IAlcCiB9IHdoaWxlICgwKQogCiAjZGVmaW5lIGNwdV9oYXNfZnB1CQlib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfRlBVKQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2N1cnJlbnQuaCBiL2luY2x1ZGUvYXNtLXg4Ni9jdXJyZW50LmgKaW5kZXggZDI1MjZkMy4uNzUxNWMxOSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2N1cnJlbnQuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvY3VycmVudC5oCkBAIC0xLDUgKzEsMzkgQEAKKyNpZm5kZWYgX1g4Nl9DVVJSRU5UX0gKKyNkZWZpbmUgX1g4Nl9DVVJSRU5UX0gKKwogI2lmZGVmIENPTkZJR19YODZfMzIKLSMgaW5jbHVkZSAiY3VycmVudF8zMi5oIgotI2Vsc2UKLSMgaW5jbHVkZSAiY3VycmVudF82NC5oIgotI2VuZGlmCisjaW5jbHVkZSA8bGludXgvY29tcGlsZXIuaD4KKyNpbmNsdWRlIDxhc20vcGVyY3B1Lmg+CisKK3N0cnVjdCB0YXNrX3N0cnVjdDsKKworREVDTEFSRV9QRVJfQ1BVKHN0cnVjdCB0YXNrX3N0cnVjdCAqLCBjdXJyZW50X3Rhc2spOworc3RhdGljIF9fYWx3YXlzX2lubGluZSBzdHJ1Y3QgdGFza19zdHJ1Y3QgKmdldF9jdXJyZW50KHZvaWQpCit7CisJcmV0dXJuIHg4Nl9yZWFkX3BlcmNwdShjdXJyZW50X3Rhc2spOworfQorCisjZWxzZSAvKiBYODZfMzIgKi8KKworI2lmbmRlZiBfX0FTU0VNQkxZX18KKyNpbmNsdWRlIDxhc20vcGRhLmg+CisKK3N0cnVjdCB0YXNrX3N0cnVjdDsKKworc3RhdGljIF9fYWx3YXlzX2lubGluZSBzdHJ1Y3QgdGFza19zdHJ1Y3QgKmdldF9jdXJyZW50KHZvaWQpCit7CisJcmV0dXJuIHJlYWRfcGRhKHBjdXJyZW50KTsKK30KKworI2Vsc2UgLyogX19BU1NFTUJMWV9fICovCisKKyNpbmNsdWRlIDxhc20vYXNtLW9mZnNldHMuaD4KKyNkZWZpbmUgR0VUX0NVUlJFTlQocmVnKSBtb3ZxICVnczoocGRhX3BjdXJyZW50KSxyZWcKKworI2VuZGlmIC8qIF9fQVNTRU1CTFlfXyAqLworCisjZW5kaWYgLyogWDg2XzMyICovCisKKyNkZWZpbmUgY3VycmVudCBnZXRfY3VycmVudCgpCisKKyNlbmRpZiAvKiBYODZfQ1VSUkVOVF9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvY3VycmVudF8zMi5oIGIvaW5jbHVkZS9hc20teDg2L2N1cnJlbnRfMzIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWFmOWJkYi4uMDAwMDAwMAotLS0gYS9pbmNsdWRlL2FzbS14ODYvY3VycmVudF8zMi5oCisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotI2lmbmRlZiBfSTM4Nl9DVVJSRU5UX0gKLSNkZWZpbmUgX0kzODZfQ1VSUkVOVF9ICi0KLSNpbmNsdWRlIDxsaW51eC9jb21waWxlci5oPgotI2luY2x1ZGUgPGFzbS9wZXJjcHUuaD4KLQotc3RydWN0IHRhc2tfc3RydWN0OwotCi1ERUNMQVJFX1BFUl9DUFUoc3RydWN0IHRhc2tfc3RydWN0ICosIGN1cnJlbnRfdGFzayk7Ci1zdGF0aWMgX19hbHdheXNfaW5saW5lIHN0cnVjdCB0YXNrX3N0cnVjdCAqZ2V0X2N1cnJlbnQodm9pZCkKLXsKLQlyZXR1cm4geDg2X3JlYWRfcGVyY3B1KGN1cnJlbnRfdGFzayk7Ci19Ci0KLSNkZWZpbmUgY3VycmVudCBnZXRfY3VycmVudCgpCi0KLSNlbmRpZiAvKiAhKF9JMzg2X0NVUlJFTlRfSCkgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9jdXJyZW50XzY0LmggYi9pbmNsdWRlL2FzbS14ODYvY3VycmVudF82NC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZDM2OGVkLi4wMDAwMDAwCi0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9jdXJyZW50XzY0LmgKKysrIC9kZXYvbnVsbApAQCAtMSwyNyArMCwwIEBACi0jaWZuZGVmIF9YODZfNjRfQ1VSUkVOVF9ICi0jZGVmaW5lIF9YODZfNjRfQ1VSUkVOVF9ICi0KLSNpZiAhZGVmaW5lZChfX0FTU0VNQkxZX18pCi1zdHJ1Y3QgdGFza19zdHJ1Y3Q7Ci0KLSNpbmNsdWRlIDxhc20vcGRhLmg+Ci0KLXN0YXRpYyBpbmxpbmUgc3RydWN0IHRhc2tfc3RydWN0ICpnZXRfY3VycmVudCh2b2lkKQotewotCXN0cnVjdCB0YXNrX3N0cnVjdCAqdCA9IHJlYWRfcGRhKHBjdXJyZW50KTsKLQlyZXR1cm4gdDsKLX0KLQotI2RlZmluZSBjdXJyZW50IGdldF9jdXJyZW50KCkKLQotI2Vsc2UKLQotI2lmbmRlZiBBU01fT0ZGU0VUX0gKLSNpbmNsdWRlIDxhc20vYXNtLW9mZnNldHMuaD4KLSNlbmRpZgotCi0jZGVmaW5lIEdFVF9DVVJSRU5UKHJlZykgbW92cSAlZ3M6KHBkYV9wY3VycmVudCkscmVnCi0KLSNlbmRpZgotCi0jZW5kaWYgLyogIShfWDg2XzY0X0NVUlJFTlRfSCkgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9kZXNjLmggYi9pbmNsdWRlL2FzbS14ODYvZGVzYy5oCmluZGV4IDI2OGEwMTIuLmE0NGM0ZGMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9kZXNjLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L2Rlc2MuaApAQCAtMjksMTEgKzI5LDE3IEBACiBleHRlcm4gc3RydWN0IGRlc2NfcHRyIGlkdF9kZXNjcjsKIGV4dGVybiBnYXRlX2Rlc2MgaWR0X3RhYmxlW107CiAKK3N0cnVjdCBnZHRfcGFnZSB7CisJc3RydWN0IGRlc2Nfc3RydWN0IGdkdFtHRFRfRU5UUklFU107Cit9IF9fYXR0cmlidXRlX18oKGFsaWduZWQoUEFHRV9TSVpFKSkpOworREVDTEFSRV9QRVJfQ1BVKHN0cnVjdCBnZHRfcGFnZSwgZ2R0X3BhZ2UpOworCitzdGF0aWMgaW5saW5lIHN0cnVjdCBkZXNjX3N0cnVjdCAqZ2V0X2NwdV9nZHRfdGFibGUodW5zaWduZWQgaW50IGNwdSkKK3sKKwlyZXR1cm4gcGVyX2NwdShnZHRfcGFnZSwgY3B1KS5nZHQ7Cit9CisKICNpZmRlZiBDT05GSUdfWDg2XzY0Ci1leHRlcm4gc3RydWN0IGRlc2Nfc3RydWN0IGNwdV9nZHRfdGFibGVbR0RUX0VOVFJJRVNdOwotZXh0ZXJuIHN0cnVjdCBkZXNjX3B0ciBjcHVfZ2R0X2Rlc2NyW107Ci0vKiB0aGUgY3B1IGdkdCBhY2Nlc3NvciAqLwotI2RlZmluZSBnZXRfY3B1X2dkdF90YWJsZSh4KSAoKHN0cnVjdCBkZXNjX3N0cnVjdCAqKWNwdV9nZHRfZGVzY3JbeF0uYWRkcmVzcykKIAogc3RhdGljIGlubGluZSB2b2lkIHBhY2tfZ2F0ZShnYXRlX2Rlc2MgKmdhdGUsIHVuc2lnbmVkIHR5cGUsIHVuc2lnbmVkIGxvbmcgZnVuYywKIAkJCSAgICAgdW5zaWduZWQgZHBsLCB1bnNpZ25lZCBpc3QsIHVuc2lnbmVkIHNlZykKQEAgLTUxLDE2ICs1Nyw2IEBACiB9CiAKICNlbHNlCi1zdHJ1Y3QgZ2R0X3BhZ2UgewotCXN0cnVjdCBkZXNjX3N0cnVjdCBnZHRbR0RUX0VOVFJJRVNdOwotfSBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKFBBR0VfU0laRSkpKTsKLURFQ0xBUkVfUEVSX0NQVShzdHJ1Y3QgZ2R0X3BhZ2UsIGdkdF9wYWdlKTsKLQotc3RhdGljIGlubGluZSBzdHJ1Y3QgZGVzY19zdHJ1Y3QgKmdldF9jcHVfZ2R0X3RhYmxlKHVuc2lnbmVkIGludCBjcHUpCi17Ci0JcmV0dXJuIHBlcl9jcHUoZ2R0X3BhZ2UsIGNwdSkuZ2R0OwotfQotCiBzdGF0aWMgaW5saW5lIHZvaWQgcGFja19nYXRlKGdhdGVfZGVzYyAqZ2F0ZSwgdW5zaWduZWQgY2hhciB0eXBlLAogCQkJICAgICB1bnNpZ25lZCBsb25nIGJhc2UsIHVuc2lnbmVkIGRwbCwgdW5zaWduZWQgZmxhZ3MsCiAJCQkgICAgIHVuc2lnbmVkIHNob3J0IHNlZykKQEAgLTE5Miw4ICsxODgsOCBAQAogCQl1bnNpZ25lZCBjcHUgPSBzbXBfcHJvY2Vzc29yX2lkKCk7CiAJCWxkdF9kZXNjIGxkdDsKIAotCQlzZXRfdHNzbGR0X2Rlc2NyaXB0b3IoJmxkdCwgKHVuc2lnbmVkIGxvbmcpYWRkciwKLQkJCQkgICAgICBERVNDX0xEVCwgZW50cmllcyAqIHNpemVvZihsZHQpIC0gMSk7CisJCXNldF90c3NsZHRfZGVzY3JpcHRvcigmbGR0LCAodW5zaWduZWQgbG9uZylhZGRyLCBERVNDX0xEVCwKKwkJCQkgICAgICBlbnRyaWVzICogTERUX0VOVFJZX1NJWkUgLSAxKTsKIAkJd3JpdGVfZ2R0X2VudHJ5KGdldF9jcHVfZ2R0X3RhYmxlKGNwdSksIEdEVF9FTlRSWV9MRFQsCiAJCQkJJmxkdCwgREVTQ19MRFQpOwogCQlhc20gdm9sYXRpbGUoImxsZHQgJXcwIjo6InEiIChHRFRfRU5UUllfTERUKjgpKTsKQEAgLTMxMSw2ICszMDcsMjggQEAKIAlfc2V0X2dhdGUobiwgR0FURV9JTlRFUlJVUFQsIGFkZHIsIDAsIDAsIF9fS0VSTkVMX0NTKTsKIH0KIAorI2RlZmluZSBTWVNfVkVDVE9SX0ZSRUUJCTAKKyNkZWZpbmUgU1lTX1ZFQ1RPUl9BTExPQ0VECTEKKworZXh0ZXJuIGludCBmaXJzdF9zeXN0ZW1fdmVjdG9yOworZXh0ZXJuIGNoYXIgc3lzdGVtX3ZlY3RvcnNbXTsKKworc3RhdGljIGlubGluZSB2b2lkIGFsbG9jX3N5c3RlbV92ZWN0b3IoaW50IHZlY3RvcikKK3sKKwlpZiAoc3lzdGVtX3ZlY3RvcnNbdmVjdG9yXSA9PSBTWVNfVkVDVE9SX0ZSRUUpIHsKKwkJc3lzdGVtX3ZlY3RvcnNbdmVjdG9yXSA9IFNZU19WRUNUT1JfQUxMT0NFRDsKKwkJaWYgKGZpcnN0X3N5c3RlbV92ZWN0b3IgPiB2ZWN0b3IpCisJCQlmaXJzdF9zeXN0ZW1fdmVjdG9yID0gdmVjdG9yOworCX0gZWxzZQorCQlCVUcoKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGFsbG9jX2ludHJfZ2F0ZSh1bnNpZ25lZCBpbnQgbiwgdm9pZCAqYWRkcikKK3sKKwlhbGxvY19zeXN0ZW1fdmVjdG9yKG4pOworCXNldF9pbnRyX2dhdGUobiwgYWRkcik7Cit9CisKIC8qCiAgKiBUaGlzIHJvdXRpbmUgc2V0cyB1cCBhbiBpbnRlcnJ1cHQgZ2F0ZSBhdCBkaXJlY3RvcnkgcHJpdmlsZWdlIGxldmVsIDMuCiAgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9kZXNjX2RlZnMuaCBiL2luY2x1ZGUvYXNtLXg4Ni9kZXNjX2RlZnMuaAppbmRleCBlY2NiNGVhLi5mN2JhY2YzIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvZGVzY19kZWZzLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L2Rlc2NfZGVmcy5oCkBAIC03NSwxMCArNzUsMTQgQEAKIHR5cGVkZWYgc3RydWN0IGdhdGVfc3RydWN0NjQgZ2F0ZV9kZXNjOwogdHlwZWRlZiBzdHJ1Y3QgbGR0dHNzX2Rlc2M2NCBsZHRfZGVzYzsKIHR5cGVkZWYgc3RydWN0IGxkdHRzc19kZXNjNjQgdHNzX2Rlc2M7CisjZGVmaW5lIGdhdGVfb2Zmc2V0KGcpICgoZykub2Zmc2V0X2xvdyB8ICgodW5zaWduZWQgbG9uZykoZykub2Zmc2V0X21pZGRsZSA8PCAxNikgfCAoKHVuc2lnbmVkIGxvbmcpKGcpLm9mZnNldF9oaWdoIDw8IDMyKSkKKyNkZWZpbmUgZ2F0ZV9zZWdtZW50KGcpICgoZykuc2VnbWVudCkKICNlbHNlCiB0eXBlZGVmIHN0cnVjdCBkZXNjX3N0cnVjdCBnYXRlX2Rlc2M7CiB0eXBlZGVmIHN0cnVjdCBkZXNjX3N0cnVjdCBsZHRfZGVzYzsKIHR5cGVkZWYgc3RydWN0IGRlc2Nfc3RydWN0IHRzc19kZXNjOworI2RlZmluZSBnYXRlX29mZnNldChnKQkJKCgoZykuYiAmIDB4ZmZmZjAwMDApIHwgKChnKS5hICYgMHgwMDAwZmZmZikpCisjZGVmaW5lIGdhdGVfc2VnbWVudChnKQkJKChnKS5hID4+IDE2KQogI2VuZGlmCiAKIHN0cnVjdCBkZXNjX3B0ciB7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvZG1pLmggYi9pbmNsdWRlL2FzbS14ODYvZG1pLmgKaW5kZXggNGVkZjc1MS4uNThhODY1NyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2RtaS5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9kbWkuaApAQCAtMywxMiArMyw2IEBACiAKICNpbmNsdWRlIDxhc20vaW8uaD4KIAotI2lmZGVmIENPTkZJR19YODZfMzIKLQotI2RlZmluZSBkbWlfYWxsb2MgYWxsb2NfYm9vdG1lbQotCi0jZWxzZSAvKiBDT05GSUdfWDg2XzMyICovCi0KICNkZWZpbmUgRE1JX01BWF9EQVRBIDIwNDgKIAogZXh0ZXJuIGludCBkbWlfYWxsb2NfaW5kZXg7CkBAIC0yNSw4ICsxOSw2IEBACiAJcmV0dXJuIGRtaV9hbGxvY19kYXRhICsgaWR4OwogfQogCi0jZW5kaWYKLQogLyogVXNlIGVhcmx5IElPIG1hcHBpbmdzIGZvciBETUkgYmVjYXVzZSBpdCdzIGluaXRpYWxpemVkIGVhcmx5ICovCiAjZGVmaW5lIGRtaV9pb3JlbWFwIGVhcmx5X2lvcmVtYXAKICNkZWZpbmUgZG1pX2lvdW5tYXAgZWFybHlfaW91bm1hcApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2R3YXJmMi5oIGIvaW5jbHVkZS9hc20teDg2L2R3YXJmMi5oCmluZGV4IGIzY2JiMGMuLjczOGJiOWYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9kd2FyZjIuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvZHdhcmYyLmgKQEAgLTEsNSArMSw2MSBAQAotI2lmZGVmIENPTkZJR19YODZfMzIKLSMgaW5jbHVkZSAiZHdhcmYyXzMyLmgiCisjaWZuZGVmIF9EV0FSRjJfSAorI2RlZmluZSBfRFdBUkYyX0gKKworI2lmbmRlZiBfX0FTU0VNQkxZX18KKyN3YXJuaW5nICJhc20vZHdhcmYyLmggc2hvdWxkIGJlIG9ubHkgaW5jbHVkZWQgaW4gcHVyZSBhc3NlbWJseSBmaWxlcyIKKyNlbmRpZgorCisvKgorICAgTWFjcm9zIGZvciBkd2FyZjIgQ0ZJIHVud2luZCB0YWJsZSBlbnRyaWVzLgorICAgU2VlICJhcy5pbmZvIiBmb3IgZGV0YWlscyBvbiB0aGVzZSBwc2V1ZG8gb3BzLiBVbmZvcnR1bmF0ZWx5CisgICB0aGV5IGFyZSBvbmx5IHN1cHBvcnRlZCBpbiB2ZXJ5IG5ldyBiaW51dGlscywgc28gZGVmaW5lIHRoZW0KKyAgIGF3YXkgZm9yIG9sZGVyIHZlcnNpb24uCisgKi8KKworI2lmZGVmIENPTkZJR19BU19DRkkKKworI2RlZmluZSBDRklfU1RBUlRQUk9DIC5jZmlfc3RhcnRwcm9jCisjZGVmaW5lIENGSV9FTkRQUk9DIC5jZmlfZW5kcHJvYworI2RlZmluZSBDRklfREVGX0NGQSAuY2ZpX2RlZl9jZmEKKyNkZWZpbmUgQ0ZJX0RFRl9DRkFfUkVHSVNURVIgLmNmaV9kZWZfY2ZhX3JlZ2lzdGVyCisjZGVmaW5lIENGSV9ERUZfQ0ZBX09GRlNFVCAuY2ZpX2RlZl9jZmFfb2Zmc2V0CisjZGVmaW5lIENGSV9BREpVU1RfQ0ZBX09GRlNFVCAuY2ZpX2FkanVzdF9jZmFfb2Zmc2V0CisjZGVmaW5lIENGSV9PRkZTRVQgLmNmaV9vZmZzZXQKKyNkZWZpbmUgQ0ZJX1JFTF9PRkZTRVQgLmNmaV9yZWxfb2Zmc2V0CisjZGVmaW5lIENGSV9SRUdJU1RFUiAuY2ZpX3JlZ2lzdGVyCisjZGVmaW5lIENGSV9SRVNUT1JFIC5jZmlfcmVzdG9yZQorI2RlZmluZSBDRklfUkVNRU1CRVJfU1RBVEUgLmNmaV9yZW1lbWJlcl9zdGF0ZQorI2RlZmluZSBDRklfUkVTVE9SRV9TVEFURSAuY2ZpX3Jlc3RvcmVfc3RhdGUKKyNkZWZpbmUgQ0ZJX1VOREVGSU5FRCAuY2ZpX3VuZGVmaW5lZAorCisjaWZkZWYgQ09ORklHX0FTX0NGSV9TSUdOQUxfRlJBTUUKKyNkZWZpbmUgQ0ZJX1NJR05BTF9GUkFNRSAuY2ZpX3NpZ25hbF9mcmFtZQogI2Vsc2UKLSMgaW5jbHVkZSAiZHdhcmYyXzY0LmgiCisjZGVmaW5lIENGSV9TSUdOQUxfRlJBTUUKKyNlbmRpZgorCisjZWxzZQorCisvKiBEdWUgdG8gdGhlIHN0cnVjdHVyZSBvZiBwcmUtZXhpc2l0aW5nIGNvZGUsIGRvbid0IHVzZSBhc3NlbWJsZXIgbGluZQorICAgY29tbWVudCBjaGFyYWN0ZXIgIyB0byBpZ25vcmUgdGhlIGFyZ3VtZW50cy4gSW5zdGVhZCwgdXNlIGEgZHVtbXkgbWFjcm8uICovCisubWFjcm8gY2ZpX2lnbm9yZSBhPTAsIGI9MCwgYz0wLCBkPTAKKy5lbmRtCisKKyNkZWZpbmUgQ0ZJX1NUQVJUUFJPQwljZmlfaWdub3JlCisjZGVmaW5lIENGSV9FTkRQUk9DCWNmaV9pZ25vcmUKKyNkZWZpbmUgQ0ZJX0RFRl9DRkEJY2ZpX2lnbm9yZQorI2RlZmluZSBDRklfREVGX0NGQV9SRUdJU1RFUgljZmlfaWdub3JlCisjZGVmaW5lIENGSV9ERUZfQ0ZBX09GRlNFVAljZmlfaWdub3JlCisjZGVmaW5lIENGSV9BREpVU1RfQ0ZBX09GRlNFVAljZmlfaWdub3JlCisjZGVmaW5lIENGSV9PRkZTRVQJY2ZpX2lnbm9yZQorI2RlZmluZSBDRklfUkVMX09GRlNFVAljZmlfaWdub3JlCisjZGVmaW5lIENGSV9SRUdJU1RFUgljZmlfaWdub3JlCisjZGVmaW5lIENGSV9SRVNUT1JFCWNmaV9pZ25vcmUKKyNkZWZpbmUgQ0ZJX1JFTUVNQkVSX1NUQVRFIGNmaV9pZ25vcmUKKyNkZWZpbmUgQ0ZJX1JFU1RPUkVfU1RBVEUgY2ZpX2lnbm9yZQorI2RlZmluZSBDRklfVU5ERUZJTkVEIGNmaV9pZ25vcmUKKyNkZWZpbmUgQ0ZJX1NJR05BTF9GUkFNRSBjZmlfaWdub3JlCisKKyNlbmRpZgorCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9kd2FyZjJfMzIuaCBiL2luY2x1ZGUvYXNtLXg4Ni9kd2FyZjJfMzIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmQ2NjM5OC4uMDAwMDAwMAotLS0gYS9pbmNsdWRlL2FzbS14ODYvZHdhcmYyXzMyLmgKKysrIC9kZXYvbnVsbApAQCAtMSw2MSArMCwwIEBACi0jaWZuZGVmIF9EV0FSRjJfSAotI2RlZmluZSBfRFdBUkYyX0gKLQotI2lmbmRlZiBfX0FTU0VNQkxZX18KLSN3YXJuaW5nICJhc20vZHdhcmYyLmggc2hvdWxkIGJlIG9ubHkgaW5jbHVkZWQgaW4gcHVyZSBhc3NlbWJseSBmaWxlcyIKLSNlbmRpZgotCi0vKgotICAgTWFjcm9zIGZvciBkd2FyZjIgQ0ZJIHVud2luZCB0YWJsZSBlbnRyaWVzLgotICAgU2VlICJhcy5pbmZvIiBmb3IgZGV0YWlscyBvbiB0aGVzZSBwc2V1ZG8gb3BzLiBVbmZvcnR1bmF0ZWx5Ci0gICB0aGV5IGFyZSBvbmx5IHN1cHBvcnRlZCBpbiB2ZXJ5IG5ldyBiaW51dGlscywgc28gZGVmaW5lIHRoZW0KLSAgIGF3YXkgZm9yIG9sZGVyIHZlcnNpb24uCi0gKi8KLQotI2lmZGVmIENPTkZJR19VTldJTkRfSU5GTwotCi0jZGVmaW5lIENGSV9TVEFSVFBST0MgLmNmaV9zdGFydHByb2MKLSNkZWZpbmUgQ0ZJX0VORFBST0MgLmNmaV9lbmRwcm9jCi0jZGVmaW5lIENGSV9ERUZfQ0ZBIC5jZmlfZGVmX2NmYQotI2RlZmluZSBDRklfREVGX0NGQV9SRUdJU1RFUiAuY2ZpX2RlZl9jZmFfcmVnaXN0ZXIKLSNkZWZpbmUgQ0ZJX0RFRl9DRkFfT0ZGU0VUIC5jZmlfZGVmX2NmYV9vZmZzZXQKLSNkZWZpbmUgQ0ZJX0FESlVTVF9DRkFfT0ZGU0VUIC5jZmlfYWRqdXN0X2NmYV9vZmZzZXQKLSNkZWZpbmUgQ0ZJX09GRlNFVCAuY2ZpX29mZnNldAotI2RlZmluZSBDRklfUkVMX09GRlNFVCAuY2ZpX3JlbF9vZmZzZXQKLSNkZWZpbmUgQ0ZJX1JFR0lTVEVSIC5jZmlfcmVnaXN0ZXIKLSNkZWZpbmUgQ0ZJX1JFU1RPUkUgLmNmaV9yZXN0b3JlCi0jZGVmaW5lIENGSV9SRU1FTUJFUl9TVEFURSAuY2ZpX3JlbWVtYmVyX3N0YXRlCi0jZGVmaW5lIENGSV9SRVNUT1JFX1NUQVRFIC5jZmlfcmVzdG9yZV9zdGF0ZQotI2RlZmluZSBDRklfVU5ERUZJTkVEIC5jZmlfdW5kZWZpbmVkCi0KLSNpZmRlZiBDT05GSUdfQVNfQ0ZJX1NJR05BTF9GUkFNRQotI2RlZmluZSBDRklfU0lHTkFMX0ZSQU1FIC5jZmlfc2lnbmFsX2ZyYW1lCi0jZWxzZQotI2RlZmluZSBDRklfU0lHTkFMX0ZSQU1FCi0jZW5kaWYKLQotI2Vsc2UKLQotLyogRHVlIHRvIHRoZSBzdHJ1Y3R1cmUgb2YgcHJlLWV4aXNpdGluZyBjb2RlLCBkb24ndCB1c2UgYXNzZW1ibGVyIGxpbmUKLSAgIGNvbW1lbnQgY2hhcmFjdGVyICMgdG8gaWdub3JlIHRoZSBhcmd1bWVudHMuIEluc3RlYWQsIHVzZSBhIGR1bW15IG1hY3JvLiAqLwotLm1hY3JvIGlnbm9yZSBhPTAsIGI9MCwgYz0wLCBkPTAKLS5lbmRtCi0KLSNkZWZpbmUgQ0ZJX1NUQVJUUFJPQwlpZ25vcmUKLSNkZWZpbmUgQ0ZJX0VORFBST0MJaWdub3JlCi0jZGVmaW5lIENGSV9ERUZfQ0ZBCWlnbm9yZQotI2RlZmluZSBDRklfREVGX0NGQV9SRUdJU1RFUglpZ25vcmUKLSNkZWZpbmUgQ0ZJX0RFRl9DRkFfT0ZGU0VUCWlnbm9yZQotI2RlZmluZSBDRklfQURKVVNUX0NGQV9PRkZTRVQJaWdub3JlCi0jZGVmaW5lIENGSV9PRkZTRVQJaWdub3JlCi0jZGVmaW5lIENGSV9SRUxfT0ZGU0VUCWlnbm9yZQotI2RlZmluZSBDRklfUkVHSVNURVIJaWdub3JlCi0jZGVmaW5lIENGSV9SRVNUT1JFCWlnbm9yZQotI2RlZmluZSBDRklfUkVNRU1CRVJfU1RBVEUgaWdub3JlCi0jZGVmaW5lIENGSV9SRVNUT1JFX1NUQVRFIGlnbm9yZQotI2RlZmluZSBDRklfVU5ERUZJTkVEIGlnbm9yZQotI2RlZmluZSBDRklfU0lHTkFMX0ZSQU1FIGlnbm9yZQotCi0jZW5kaWYKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvZHdhcmYyXzY0LmggYi9pbmNsdWRlL2FzbS14ODYvZHdhcmYyXzY0LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM5NTA1MTkuLjAwMDAwMDAKLS0tIGEvaW5jbHVkZS9hc20teDg2L2R3YXJmMl82NC5oCisrKyAvZGV2L251bGwKQEAgLTEsNTYgKzAsMCBAQAotI2lmbmRlZiBfRFdBUkYyX0gKLSNkZWZpbmUgX0RXQVJGMl9IIDEKLQotI2lmbmRlZiBfX0FTU0VNQkxZX18KLSN3YXJuaW5nICJhc20vZHdhcmYyLmggc2hvdWxkIGJlIG9ubHkgaW5jbHVkZWQgaW4gcHVyZSBhc3NlbWJseSBmaWxlcyIKLSNlbmRpZgotCi0vKgotICAgTWFjcm9zIGZvciBkd2FyZjIgQ0ZJIHVud2luZCB0YWJsZSBlbnRyaWVzLgotICAgU2VlICJhcy5pbmZvIiBmb3IgZGV0YWlscyBvbiB0aGVzZSBwc2V1ZG8gb3BzLiBVbmZvcnR1bmF0ZWx5Ci0gICB0aGV5IGFyZSBvbmx5IHN1cHBvcnRlZCBpbiB2ZXJ5IG5ldyBiaW51dGlscywgc28gZGVmaW5lIHRoZW0KLSAgIGF3YXkgZm9yIG9sZGVyIHZlcnNpb24uCi0gKi8KLQotI2lmZGVmIENPTkZJR19BU19DRkkKLQotI2RlZmluZSBDRklfU1RBUlRQUk9DIC5jZmlfc3RhcnRwcm9jCi0jZGVmaW5lIENGSV9FTkRQUk9DIC5jZmlfZW5kcHJvYwotI2RlZmluZSBDRklfREVGX0NGQSAuY2ZpX2RlZl9jZmEKLSNkZWZpbmUgQ0ZJX0RFRl9DRkFfUkVHSVNURVIgLmNmaV9kZWZfY2ZhX3JlZ2lzdGVyCi0jZGVmaW5lIENGSV9ERUZfQ0ZBX09GRlNFVCAuY2ZpX2RlZl9jZmFfb2Zmc2V0Ci0jZGVmaW5lIENGSV9BREpVU1RfQ0ZBX09GRlNFVCAuY2ZpX2FkanVzdF9jZmFfb2Zmc2V0Ci0jZGVmaW5lIENGSV9PRkZTRVQgLmNmaV9vZmZzZXQKLSNkZWZpbmUgQ0ZJX1JFTF9PRkZTRVQgLmNmaV9yZWxfb2Zmc2V0Ci0jZGVmaW5lIENGSV9SRUdJU1RFUiAuY2ZpX3JlZ2lzdGVyCi0jZGVmaW5lIENGSV9SRVNUT1JFIC5jZmlfcmVzdG9yZQotI2RlZmluZSBDRklfUkVNRU1CRVJfU1RBVEUgLmNmaV9yZW1lbWJlcl9zdGF0ZQotI2RlZmluZSBDRklfUkVTVE9SRV9TVEFURSAuY2ZpX3Jlc3RvcmVfc3RhdGUKLSNkZWZpbmUgQ0ZJX1VOREVGSU5FRCAuY2ZpX3VuZGVmaW5lZAotI2lmZGVmIENPTkZJR19BU19DRklfU0lHTkFMX0ZSQU1FCi0jZGVmaW5lIENGSV9TSUdOQUxfRlJBTUUgLmNmaV9zaWduYWxfZnJhbWUKLSNlbHNlCi0jZGVmaW5lIENGSV9TSUdOQUxfRlJBTUUKLSNlbmRpZgotCi0jZWxzZQotCi0vKiB1c2UgYXNzZW1ibGVyIGxpbmUgY29tbWVudCBjaGFyYWN0ZXIgIyB0byBpZ25vcmUgdGhlIGFyZ3VtZW50cy4gKi8KLSNkZWZpbmUgQ0ZJX1NUQVJUUFJPQwkjCi0jZGVmaW5lIENGSV9FTkRQUk9DCSMKLSNkZWZpbmUgQ0ZJX0RFRl9DRkEJIwotI2RlZmluZSBDRklfREVGX0NGQV9SRUdJU1RFUgkjCi0jZGVmaW5lIENGSV9ERUZfQ0ZBX09GRlNFVAkjCi0jZGVmaW5lIENGSV9BREpVU1RfQ0ZBX09GRlNFVAkjCi0jZGVmaW5lIENGSV9PRkZTRVQJIwotI2RlZmluZSBDRklfUkVMX09GRlNFVAkjCi0jZGVmaW5lIENGSV9SRUdJU1RFUgkjCi0jZGVmaW5lIENGSV9SRVNUT1JFCSMKLSNkZWZpbmUgQ0ZJX1JFTUVNQkVSX1NUQVRFCSMKLSNkZWZpbmUgQ0ZJX1JFU1RPUkVfU1RBVEUJIwotI2RlZmluZSBDRklfVU5ERUZJTkVECSMKLSNkZWZpbmUgQ0ZJX1NJR05BTF9GUkFNRQkjCi0KLSNlbmRpZgotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9lODIwLmggYi9pbmNsdWRlL2FzbS14ODYvZTgyMC5oCmluZGV4IDcwMDQyNTEuLjMzZTc5M2UgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9lODIwLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L2U4MjAuaApAQCAtMiw2ICsyLDQxIEBACiAjZGVmaW5lIF9fQVNNX0U4MjBfSAogI2RlZmluZSBFODIwTUFQCTB4MmQwCQkvKiBvdXIgbWFwICovCiAjZGVmaW5lIEU4MjBNQVgJMTI4CQkvKiBudW1iZXIgb2YgZW50cmllcyBpbiBFODIwTUFQICovCisKKy8qCisgKiBMZWdhY3kgRTgyMCBCSU9TIGxpbWl0cyB1cyB0byAxMjggKEU4MjBNQVgpIG5vZGVzIGR1ZSB0byB0aGUKKyAqIGNvbnN0cmFpbmVkIHNwYWNlIGluIHRoZSB6ZXJvcGFnZS4gIElmIHdlIGhhdmUgbW9yZSBub2RlcyB0aGFuCisgKiB0aGF0LCBhbmQgaWYgd2UndmUgYm9vdGVkIG9mZiBFRkkgZmlybXdhcmUsIHRoZW4gdGhlIEVGSSB0YWJsZXMKKyAqIHBhc3NlZCB1cyBmcm9tIHRoZSBFRkkgZmlybXdhcmUgY2FuIGxpc3QgbW9yZSBub2Rlcy4gIFNpemUgb3VyCisgKiBpbnRlcm5hbCBtZW1vcnkgbWFwIHRhYmxlcyB0byBoYXZlIHJvb20gZm9yIHRoZXNlIGFkZGl0aW9uYWwKKyAqIG5vZGVzLCBiYXNlZCBvbiB1cCB0byB0aHJlZSBlbnRyaWVzIHBlciBub2RlIGZvciB3aGljaCB0aGUKKyAqIGtlcm5lbCB3YXMgYnVpbHQ6IE1BWF9OVU1OT0RFUyA9PSAoMSA8PCBDT05GSUdfTk9ERVNfU0hJRlQpLAorICogcGx1cyBFODIwTUFYLCBhbGxvd2luZyBzcGFjZSBmb3IgdGhlIHBvc3NpYmxlIGR1cGxpY2F0ZSBFODIwCisgKiBlbnRyaWVzIHRoYXQgbWlnaHQgbmVlZCByb29tIGluIHRoZSBzYW1lIGFycmF5cywgcHJpb3IgdG8gdGhlCisgKiBjYWxsIHRvIHNhbml0aXplX2U4MjBfbWFwKCkgdG8gcmVtb3ZlIGR1cGxpY2F0ZXMuICBUaGUgYWxsb3dhbmNlCisgKiBvZiB0aHJlZSBtZW1vcnkgbWFwIGVudHJpZXMgcGVyIG5vZGUgaXMgImVub3VnaCIgZW50cmllcyBmb3IKKyAqIHRoZSBpbml0aWFsIGhhcmR3YXJlIHBsYXRmb3JtIG1vdGl2YXRpbmcgdGhpcyBtZWNoYW5pc20gdG8gbWFrZQorICogdXNlIG9mIGFkZGl0aW9uYWwgRUZJIG1hcCBlbnRyaWVzLiAgRnV0dXJlIHBsYXRmb3JtcyBtYXkgd2FudAorICogdG8gYWxsb3cgbW9yZSB0aGFuIHRocmVlIGVudHJpZXMgcGVyIG5vZGUgb3Igb3RoZXJ3aXNlIHJlZmluZQorICogdGhpcyBzaXplLgorICovCisKKy8qCisgKiBPZGQ6ICdtYWtlIGhlYWRlcnNfY2hlY2snIGNvbXBsYWlucyBhYm91dCBudW1hLmggaWYgSSB0cnkKKyAqIHRvIGNvbGxhcHNlIHRoZSBuZXh0IHR3byAjaWZkZWYgbGluZXMgdG8gYSBzaW5nbGUgbGluZToKKyAqCSNpZiBkZWZpbmVkKF9fS0VSTkVMX18pICYmIGRlZmluZWQoQ09ORklHX0VGSSkKKyAqLworI2lmZGVmIF9fS0VSTkVMX18KKyNpZmRlZiBDT05GSUdfRUZJCisjaW5jbHVkZSA8bGludXgvbnVtYS5oPgorI2RlZmluZSBFODIwX1hfTUFYIChFODIwTUFYICsgMyAqIE1BWF9OVU1OT0RFUykKKyNlbHNlCS8qICEgQ09ORklHX0VGSSAqLworI2RlZmluZSBFODIwX1hfTUFYIEU4MjBNQVgKKyNlbmRpZgorI2Vsc2UJLyogISBfX0tFUk5FTF9fICovCisjZGVmaW5lIEU4MjBfWF9NQVggRTgyME1BWAorI2VuZGlmCisKICNkZWZpbmUgRTgyME5SCTB4MWU4CQkvKiAjIGVudHJpZXMgaW4gRTgyME1BUCAqLwogCiAjZGVmaW5lIEU4MjBfUkFNCTEKQEAgLTksNiArNDQsOSBAQAogI2RlZmluZSBFODIwX0FDUEkJMwogI2RlZmluZSBFODIwX05WUwk0CiAKKy8qIHJlc2VydmVkIFJBTSB1c2VkIGJ5IGtlcm5lbCBpdHNlbGYgKi8KKyNkZWZpbmUgRTgyMF9SRVNFUlZFRF9LRVJOICAgICAgICAxMjgKKwogI2lmbmRlZiBfX0FTU0VNQkxZX18KIHN0cnVjdCBlODIwZW50cnkgewogCV9fdTY0IGFkZHI7CS8qIHN0YXJ0IG9mIG1lbW9yeSBzZWdtZW50ICovCkBAIC0xOCwyMiArNTYsNzkgQEAKIAogc3RydWN0IGU4MjBtYXAgewogCV9fdTMyIG5yX21hcDsKLQlzdHJ1Y3QgZTgyMGVudHJ5IG1hcFtFODIwTUFYXTsKKwlzdHJ1Y3QgZTgyMGVudHJ5IG1hcFtFODIwX1hfTUFYXTsKIH07CisKKy8qIHNlZSBjb21tZW50IGluIGFyY2gveDg2L2tlcm5lbC9lODIwLmMgKi8KK2V4dGVybiBzdHJ1Y3QgZTgyMG1hcCBlODIwOworZXh0ZXJuIHN0cnVjdCBlODIwbWFwIGU4MjBfc2F2ZWQ7CisKK2V4dGVybiBpbnQgZTgyMF9hbnlfbWFwcGVkKHU2NCBzdGFydCwgdTY0IGVuZCwgdW5zaWduZWQgdHlwZSk7CitleHRlcm4gaW50IGU4MjBfYWxsX21hcHBlZCh1NjQgc3RhcnQsIHU2NCBlbmQsIHVuc2lnbmVkIHR5cGUpOworZXh0ZXJuIHZvaWQgZTgyMF9hZGRfcmVnaW9uKHU2NCBzdGFydCwgdTY0IHNpemUsIGludCB0eXBlKTsKK2V4dGVybiB2b2lkIGU4MjBfcHJpbnRfbWFwKGNoYXIgKndobyk7CitleHRlcm4gaW50CitzYW5pdGl6ZV9lODIwX21hcChzdHJ1Y3QgZTgyMGVudHJ5ICpiaW9zbWFwLCBpbnQgbWF4X25yX21hcCwgaW50ICpwbnJfbWFwKTsKK2V4dGVybiB1NjQgZTgyMF91cGRhdGVfcmFuZ2UodTY0IHN0YXJ0LCB1NjQgc2l6ZSwgdW5zaWduZWQgb2xkX3R5cGUsCisJCQkgICAgICAgdW5zaWduZWQgbmV3X3R5cGUpOworZXh0ZXJuIHU2NCBlODIwX3JlbW92ZV9yYW5nZSh1NjQgc3RhcnQsIHU2NCBzaXplLCB1bnNpZ25lZCBvbGRfdHlwZSwKKwkJCSAgICAgaW50IGNoZWNrdHlwZSk7CitleHRlcm4gdm9pZCB1cGRhdGVfZTgyMCh2b2lkKTsKK2V4dGVybiB2b2lkIGU4MjBfc2V0dXBfZ2FwKHZvaWQpOworZXh0ZXJuIGludCBlODIwX3NlYXJjaF9nYXAodW5zaWduZWQgbG9uZyAqZ2Fwc3RhcnQsIHVuc2lnbmVkIGxvbmcgKmdhcHNpemUsCisJCQl1bnNpZ25lZCBsb25nIHN0YXJ0X2FkZHIsIHVuc2lnbmVkIGxvbmcgbG9uZyBlbmRfYWRkcik7CitzdHJ1Y3Qgc2V0dXBfZGF0YTsKK2V4dGVybiB2b2lkIHBhcnNlX2U4MjBfZXh0KHN0cnVjdCBzZXR1cF9kYXRhICpkYXRhLCB1bnNpZ25lZCBsb25nIHBhX2RhdGEpOworCisjaWYgZGVmaW5lZChDT05GSUdfWDg2XzY0KSB8fCBcCisJKGRlZmluZWQoQ09ORklHX1g4Nl8zMikgJiYgZGVmaW5lZChDT05GSUdfSElCRVJOQVRJT04pKQorZXh0ZXJuIHZvaWQgZTgyMF9tYXJrX25vc2F2ZV9yZWdpb25zKHVuc2lnbmVkIGxvbmcgbGltaXRfcGZuKTsKKyNlbHNlCitzdGF0aWMgaW5saW5lIHZvaWQgZTgyMF9tYXJrX25vc2F2ZV9yZWdpb25zKHVuc2lnbmVkIGxvbmcgbGltaXRfcGZuKQoreworfQorI2VuZGlmCisKK2V4dGVybiB1bnNpZ25lZCBsb25nIGVuZF91c2VyX3BmbjsKKworZXh0ZXJuIHU2NCBmaW5kX2U4MjBfYXJlYSh1NjQgc3RhcnQsIHU2NCBlbmQsIHU2NCBzaXplLCB1NjQgYWxpZ24pOworZXh0ZXJuIHU2NCBmaW5kX2U4MjBfYXJlYV9zaXplKHU2NCBzdGFydCwgdTY0ICpzaXplcCwgdTY0IGFsaWduKTsKK2V4dGVybiB2b2lkIHJlc2VydmVfZWFybHkodTY0IHN0YXJ0LCB1NjQgZW5kLCBjaGFyICpuYW1lKTsKK2V4dGVybiB2b2lkIHJlc2VydmVfZWFybHlfb3ZlcmxhcF9vayh1NjQgc3RhcnQsIHU2NCBlbmQsIGNoYXIgKm5hbWUpOworZXh0ZXJuIHZvaWQgZnJlZV9lYXJseSh1NjQgc3RhcnQsIHU2NCBlbmQpOworZXh0ZXJuIHZvaWQgZWFybHlfcmVzX3RvX2Jvb3RtZW0odTY0IHN0YXJ0LCB1NjQgZW5kKTsKK2V4dGVybiB1NjQgZWFybHlfcmVzZXJ2ZV9lODIwKHU2NCBzdGFydHQsIHU2NCBzaXpldCwgdTY0IGFsaWduKTsKKworZXh0ZXJuIHVuc2lnbmVkIGxvbmcgZTgyMF9lbmRfb2ZfcmFtX3Bmbih2b2lkKTsKK2V4dGVybiB1bnNpZ25lZCBsb25nIGU4MjBfZW5kX29mX2xvd19yYW1fcGZuKHZvaWQpOworZXh0ZXJuIGludCBlODIwX2ZpbmRfYWN0aXZlX3JlZ2lvbihjb25zdCBzdHJ1Y3QgZTgyMGVudHJ5ICplaSwKKwkJCQkgIHVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuLAorCQkJCSAgdW5zaWduZWQgbG9uZyBsYXN0X3BmbiwKKwkJCQkgIHVuc2lnbmVkIGxvbmcgKmVpX3N0YXJ0cGZuLAorCQkJCSAgdW5zaWduZWQgbG9uZyAqZWlfZW5kcGZuKTsKK2V4dGVybiB2b2lkIGU4MjBfcmVnaXN0ZXJfYWN0aXZlX3JlZ2lvbnMoaW50IG5pZCwgdW5zaWduZWQgbG9uZyBzdGFydF9wZm4sCisJCQkJCSB1bnNpZ25lZCBsb25nIGVuZF9wZm4pOworZXh0ZXJuIHU2NCBlODIwX2hvbGVfc2l6ZSh1NjQgc3RhcnQsIHU2NCBlbmQpOworZXh0ZXJuIHZvaWQgZmluaXNoX2U4MjBfcGFyc2luZyh2b2lkKTsKK2V4dGVybiB2b2lkIGU4MjBfcmVzZXJ2ZV9yZXNvdXJjZXModm9pZCk7CitleHRlcm4gdm9pZCBzZXR1cF9tZW1vcnlfbWFwKHZvaWQpOworZXh0ZXJuIGNoYXIgKmRlZmF1bHRfbWFjaGluZV9zcGVjaWZpY19tZW1vcnlfc2V0dXAodm9pZCk7CitleHRlcm4gY2hhciAqbWFjaGluZV9zcGVjaWZpY19tZW1vcnlfc2V0dXAodm9pZCk7CitleHRlcm4gY2hhciAqbWVtb3J5X3NldHVwKHZvaWQpOworCiAjZW5kaWYgLyogX19BU1NFTUJMWV9fICovCiAKICNkZWZpbmUgSVNBX1NUQVJUX0FERFJFU1MJMHhhMDAwMAogI2RlZmluZSBJU0FfRU5EX0FERFJFU1MJCTB4MTAwMDAwCisjZGVmaW5lIGlzX0lTQV9yYW5nZShzLCBlKSAoKHMpID49IElTQV9TVEFSVF9BRERSRVNTICYmIChlKSA8IElTQV9FTkRfQUREUkVTUykKIAogI2RlZmluZSBCSU9TX0JFR0lOCQkweDAwMGEwMDAwCiAjZGVmaW5lIEJJT1NfRU5ECQkweDAwMTAwMDAwCiAKICNpZmRlZiBfX0tFUk5FTF9fCi0jaWZkZWYgQ09ORklHX1g4Nl8zMgotIyBpbmNsdWRlICJlODIwXzMyLmgiCi0jZWxzZQotIyBpbmNsdWRlICJlODIwXzY0LmgiCi0jZW5kaWYKKyNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4KKworI2RlZmluZSBISUdIX01FTU9SWQkoMTAyNCoxMDI0KQogI2VuZGlmIC8qIF9fS0VSTkVMX18gKi8KIAogI2VuZGlmICAvKiBfX0FTTV9FODIwX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9lODIwXzMyLmggYi9pbmNsdWRlL2FzbS14ODYvZTgyMF8zMi5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhOWY3YzZlLi4wMDAwMDAwCi0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9lODIwXzMyLmgKKysrIC9kZXYvbnVsbApAQCAtMSw1MCArMCwwIEBACi0vKgotICogc3RydWN0dXJlcyBhbmQgZGVmaW5pdGlvbnMgZm9yIHRoZSBpbnQgMTUsIGF4PWU4MjAgbWVtb3J5IG1hcAotICogc2NoZW1lLgotICoKLSAqIEluIGEgbnV0c2hlbGwsIGFyY2gvaTM4Ni9ib290L3NldHVwLlMgcG9wdWxhdGVzIGEgc2NyYXRjaCB0YWJsZQotICogaW4gdGhlIGVtcHR5X3plcm9fYmxvY2sgdGhhdCBjb250YWlucyBhIGxpc3Qgb2YgdXNhYmxlIGFkZHJlc3Mvc2l6ZQotICogZHVwbGVzLiAgIEluIGFyY2gvaTM4Ni9rZXJuZWwvc2V0dXAuYywgdGhpcyBpbmZvcm1hdGlvbiBpcwotICogdHJhbnNmZXJyZWQgaW50byB0aGUgZTgyMG1hcCwgYW5kIGluIGFyY2gvaTM4Ni9tbS9pbml0LmMsIHRoYXQKLSAqIG5ldyBpbmZvcm1hdGlvbiBpcyB1c2VkIHRvIG1hcmsgcGFnZXMgcmVzZXJ2ZWQgb3Igbm90LgotICoKLSAqLwotI2lmbmRlZiBfX0U4MjBfSEVBREVSCi0jZGVmaW5lIF9fRTgyMF9IRUFERVIKLQotI2luY2x1ZGUgPGxpbnV4L2lvcG9ydC5oPgotCi0jZGVmaW5lIEhJR0hfTUVNT1JZCSgxMDI0KjEwMjQpCi0KLSNpZm5kZWYgX19BU1NFTUJMWV9fCi0KLWV4dGVybiBzdHJ1Y3QgZTgyMG1hcCBlODIwOwotZXh0ZXJuIHZvaWQgdXBkYXRlX2U4MjAodm9pZCk7Ci0KLWV4dGVybiBpbnQgZTgyMF9hbGxfbWFwcGVkKHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kLAotCQkJICAgdW5zaWduZWQgdHlwZSk7Ci1leHRlcm4gaW50IGU4MjBfYW55X21hcHBlZCh1NjQgc3RhcnQsIHU2NCBlbmQsIHVuc2lnbmVkIHR5cGUpOwotZXh0ZXJuIHZvaWQgcHJvcGFnYXRlX2U4MjBfbWFwKHZvaWQpOwotZXh0ZXJuIHZvaWQgcmVnaXN0ZXJfYm9vdG1lbV9sb3dfcGFnZXModW5zaWduZWQgbG9uZyBtYXhfbG93X3Bmbik7Ci1leHRlcm4gdm9pZCBhZGRfbWVtb3J5X3JlZ2lvbih1bnNpZ25lZCBsb25nIGxvbmcgc3RhcnQsCi0JCQkgICAgICB1bnNpZ25lZCBsb25nIGxvbmcgc2l6ZSwgaW50IHR5cGUpOwotZXh0ZXJuIHZvaWQgdXBkYXRlX21lbW9yeV9yYW5nZSh1NjQgc3RhcnQsIHU2NCBzaXplLCB1bnNpZ25lZCBvbGRfdHlwZSwKLQkJCQl1bnNpZ25lZCBuZXdfdHlwZSk7Ci1leHRlcm4gdm9pZCBlODIwX3JlZ2lzdGVyX21lbW9yeSh2b2lkKTsKLWV4dGVybiB2b2lkIGxpbWl0X3JlZ2lvbnModW5zaWduZWQgbG9uZyBsb25nIHNpemUpOwotZXh0ZXJuIHZvaWQgcHJpbnRfbWVtb3J5X21hcChjaGFyICp3aG8pOwotZXh0ZXJuIHZvaWQgaW5pdF9pb21lbV9yZXNvdXJjZXMoc3RydWN0IHJlc291cmNlICpjb2RlX3Jlc291cmNlLAotCQkJCSBzdHJ1Y3QgcmVzb3VyY2UgKmRhdGFfcmVzb3VyY2UsCi0JCQkJIHN0cnVjdCByZXNvdXJjZSAqYnNzX3Jlc291cmNlKTsKLQotI2lmIGRlZmluZWQoQ09ORklHX1BNKSAmJiBkZWZpbmVkKENPTkZJR19ISUJFUk5BVElPTikKLWV4dGVybiB2b2lkIGU4MjBfbWFya19ub3NhdmVfcmVnaW9ucyh2b2lkKTsKLSNlbHNlCi1zdGF0aWMgaW5saW5lIHZvaWQgZTgyMF9tYXJrX25vc2F2ZV9yZWdpb25zKHZvaWQpCi17Ci19Ci0jZW5kaWYKLQotCi0jZW5kaWYvKiFfX0FTU0VNQkxZX18qLwotI2VuZGlmLypfX0U4MjBfSEVBREVSKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9lODIwXzY0LmggYi9pbmNsdWRlL2FzbS14ODYvZTgyMF82NC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MWM0ZDY4Li4wMDAwMDAwCi0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9lODIwXzY0LmgKKysrIC9kZXYvbnVsbApAQCAtMSw1NiArMCwwIEBACi0vKgotICogc3RydWN0dXJlcyBhbmQgZGVmaW5pdGlvbnMgZm9yIHRoZSBpbnQgMTUsIGF4PWU4MjAgbWVtb3J5IG1hcAotICogc2NoZW1lLgotICoKLSAqIEluIGEgbnV0c2hlbGwsIHNldHVwLlMgcG9wdWxhdGVzIGEgc2NyYXRjaCB0YWJsZSBpbiB0aGUKLSAqIGVtcHR5X3plcm9fYmxvY2sgdGhhdCBjb250YWlucyBhIGxpc3Qgb2YgdXNhYmxlIGFkZHJlc3Mvc2l6ZQotICogZHVwbGVzLiAgc2V0dXAuYywgdGhpcyBpbmZvcm1hdGlvbiBpcyB0cmFuc2ZlcnJlZCBpbnRvIHRoZSBlODIwbWFwLAotICogYW5kIGluIGluaXQuYy9udW1hLmMsIHRoYXQgbmV3IGluZm9ybWF0aW9uIGlzIHVzZWQgdG8gbWFyayBwYWdlcwotICogcmVzZXJ2ZWQgb3Igbm90LgotICovCi0jaWZuZGVmIF9fRTgyMF9IRUFERVIKLSNkZWZpbmUgX19FODIwX0hFQURFUgotCi0jaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+Ci0KLSNpZm5kZWYgX19BU1NFTUJMWV9fCi1leHRlcm4gdW5zaWduZWQgbG9uZyBmaW5kX2U4MjBfYXJlYSh1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIGVuZCwKLQkJCQkgICAgdW5zaWduZWQgbG9uZyBzaXplLCB1bnNpZ25lZCBsb25nIGFsaWduKTsKLWV4dGVybiB1bnNpZ25lZCBsb25nIGZpbmRfZTgyMF9hcmVhX3NpemUodW5zaWduZWQgbG9uZyBzdGFydCwKLQkJCQkJIHVuc2lnbmVkIGxvbmcgKnNpemVwLAotCQkJCQkgdW5zaWduZWQgbG9uZyBhbGlnbik7Ci1leHRlcm4gdm9pZCBhZGRfbWVtb3J5X3JlZ2lvbih1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIHNpemUsCi0JCQkgICAgICBpbnQgdHlwZSk7Ci1leHRlcm4gdm9pZCB1cGRhdGVfbWVtb3J5X3JhbmdlKHU2NCBzdGFydCwgdTY0IHNpemUsIHVuc2lnbmVkIG9sZF90eXBlLAotCQkJCXVuc2lnbmVkIG5ld190eXBlKTsKLWV4dGVybiB2b2lkIHNldHVwX21lbW9yeV9yZWdpb24odm9pZCk7Ci1leHRlcm4gdm9pZCBjb250aWdfZTgyMF9zZXR1cCh2b2lkKTsKLWV4dGVybiB1bnNpZ25lZCBsb25nIGU4MjBfZW5kX29mX3JhbSh2b2lkKTsKLWV4dGVybiB2b2lkIGU4MjBfcmVzZXJ2ZV9yZXNvdXJjZXModm9pZCk7Ci1leHRlcm4gdm9pZCBlODIwX21hcmtfbm9zYXZlX3JlZ2lvbnModm9pZCk7Ci1leHRlcm4gaW50IGU4MjBfYW55X21hcHBlZCh1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIGVuZCwKLQkJCSAgIHVuc2lnbmVkIHR5cGUpOwotZXh0ZXJuIGludCBlODIwX2FsbF9tYXBwZWQodW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQsCi0JCQkgICB1bnNpZ25lZCB0eXBlKTsKLWV4dGVybiBpbnQgZTgyMF9hbnlfbm9uX3Jlc2VydmVkKHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kKTsKLWV4dGVybiBpbnQgaXNfbWVtb3J5X2FueV92YWxpZCh1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIGVuZCk7Ci1leHRlcm4gaW50IGU4MjBfYWxsX25vbl9yZXNlcnZlZCh1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIGVuZCk7Ci1leHRlcm4gaW50IGlzX21lbW9yeV9hbGxfdmFsaWQodW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQpOwotZXh0ZXJuIHVuc2lnbmVkIGxvbmcgZTgyMF9ob2xlX3NpemUodW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQpOwotCi1leHRlcm4gdm9pZCBlODIwX3NldHVwX2dhcCh2b2lkKTsKLWV4dGVybiB2b2lkIGU4MjBfcmVnaXN0ZXJfYWN0aXZlX3JlZ2lvbnMoaW50IG5pZCwgdW5zaWduZWQgbG9uZyBzdGFydF9wZm4sCi0JCQkJCSB1bnNpZ25lZCBsb25nIGVuZF9wZm4pOwotCi1leHRlcm4gdm9pZCBmaW5pc2hfZTgyMF9wYXJzaW5nKHZvaWQpOwotCi1leHRlcm4gc3RydWN0IGU4MjBtYXAgZTgyMDsKLWV4dGVybiB2b2lkIHVwZGF0ZV9lODIwKHZvaWQpOwotCi1leHRlcm4gdm9pZCByZXNlcnZlX2Vhcmx5KHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kLCBjaGFyICpuYW1lKTsKLWV4dGVybiB2b2lkIGZyZWVfZWFybHkodW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQpOwotZXh0ZXJuIHZvaWQgZWFybHlfcmVzX3RvX2Jvb3RtZW0odW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQpOwotCi0jZW5kaWYvKiFfX0FTU0VNQkxZX18qLwotCi0jZW5kaWYvKl9fRTgyMF9IRUFERVIqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2VmaS5oIGIvaW5jbHVkZS9hc20teDg2L2VmaS5oCmluZGV4IGQ1MzAwNGIuLjdlZDJiZDcgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9lZmkuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvZWZpLmgKQEAgLTkwLDcgKzkwLDcgQEAKIAogI2VuZGlmIC8qIENPTkZJR19YODZfMzIgKi8KIAotZXh0ZXJuIHZvaWQgZWZpX3Jlc2VydmVfYm9vdG1lbSh2b2lkKTsKK2V4dGVybiB2b2lkIGVmaV9yZXNlcnZlX2Vhcmx5KHZvaWQpOwogZXh0ZXJuIHZvaWQgZWZpX2NhbGxfcGh5c19wcmVsb2codm9pZCk7CiBleHRlcm4gdm9pZCBlZmlfY2FsbF9waHlzX2VwaWxvZyh2b2lkKTsKIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2VsZi5oIGIvaW5jbHVkZS9hc20teDg2L2VsZi5oCmluZGV4IDhmMjMyZGMuLjdiZTQ3MzMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9lbGYuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvZWxmLmgKQEAgLTgzLDkgKzgzLDkgQEAKIAkoKCh4KS0+ZV9tYWNoaW5lID09IEVNXzM4NikgfHwgKCh4KS0+ZV9tYWNoaW5lID09IEVNXzQ4NikpCiAKICNpbmNsdWRlIDxhc20vcHJvY2Vzc29yLmg+CisjaW5jbHVkZSA8YXNtL3N5c3RlbS5oPgogCiAjaWZkZWYgQ09ORklHX1g4Nl8zMgotI2luY2x1ZGUgPGFzbS9zeXN0ZW0uaD4JCS8qIGZvciBzYXZlc2VnbWVudCAqLwogI2luY2x1ZGUgPGFzbS9kZXNjLmg+CiAKICNkZWZpbmUgZWxmX2NoZWNrX2FyY2goeCkJZWxmX2NoZWNrX2FyY2hfaWEzMih4KQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2ZpeG1hcC5oIGIvaW5jbHVkZS9hc20teDg2L2ZpeG1hcC5oCmluZGV4IDViZDIwNjkuLjQ0ZDRmODIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9maXhtYXAuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvZml4bWFwLmgKQEAgLTcsNyArNyw2MiBAQAogIyBpbmNsdWRlICJmaXhtYXBfNjQuaCIKICNlbmRpZgogCitleHRlcm4gaW50IGZpeG1hcHNfc2V0OworCit2b2lkIF9fbmF0aXZlX3NldF9maXhtYXAoZW51bSBmaXhlZF9hZGRyZXNzZXMgaWR4LCBwdGVfdCBwdGUpOwordm9pZCBuYXRpdmVfc2V0X2ZpeG1hcChlbnVtIGZpeGVkX2FkZHJlc3NlcyBpZHgsCisJCSAgICAgICB1bnNpZ25lZCBsb25nIHBoeXMsIHBncHJvdF90IGZsYWdzKTsKKworI2lmbmRlZiBDT05GSUdfUEFSQVZJUlQKK3N0YXRpYyBpbmxpbmUgdm9pZCBfX3NldF9maXhtYXAoZW51bSBmaXhlZF9hZGRyZXNzZXMgaWR4LAorCQkJCXVuc2lnbmVkIGxvbmcgcGh5cywgcGdwcm90X3QgZmxhZ3MpCit7CisJbmF0aXZlX3NldF9maXhtYXAoaWR4LCBwaHlzLCBmbGFncyk7Cit9CisjZW5kaWYKKworI2RlZmluZSBzZXRfZml4bWFwKGlkeCwgcGh5cykJCQkJXAorCV9fc2V0X2ZpeG1hcChpZHgsIHBoeXMsIFBBR0VfS0VSTkVMKQorCisvKgorICogU29tZSBoYXJkd2FyZSB3YW50cyB0byBnZXQgZml4bWFwcGVkIHdpdGhvdXQgY2FjaGluZy4KKyAqLworI2RlZmluZSBzZXRfZml4bWFwX25vY2FjaGUoaWR4LCBwaHlzKQkJCVwKKwlfX3NldF9maXhtYXAoaWR4LCBwaHlzLCBQQUdFX0tFUk5FTF9OT0NBQ0hFKQorCiAjZGVmaW5lIGNsZWFyX2ZpeG1hcChpZHgpCQkJXAogCV9fc2V0X2ZpeG1hcChpZHgsIDAsIF9fcGdwcm90KDApKQogCisjZGVmaW5lIF9fZml4X3RvX3ZpcnQoeCkJKEZJWEFERFJfVE9QIC0gKCh4KSA8PCBQQUdFX1NISUZUKSkKKyNkZWZpbmUgX192aXJ0X3RvX2ZpeCh4KQkoKEZJWEFERFJfVE9QIC0gKCh4KSZQQUdFX01BU0spKSA+PiBQQUdFX1NISUZUKQorCitleHRlcm4gdm9pZCBfX3RoaXNfZml4bWFwX2RvZXNfbm90X2V4aXN0KHZvaWQpOworCisvKgorICogJ2luZGV4IHRvIGFkZHJlc3MnIHRyYW5zbGF0aW9uLiBJZiBhbnlvbmUgdHJpZXMgdG8gdXNlIHRoZSBpZHgKKyAqIGRpcmVjdGx5IHdpdGhvdXQgdHJhbnNsYXRpb24sIHdlIGNhdGNoIHRoZSBidWcgd2l0aCBhIE5VTEwtZGVmZXJlbmNlCisgKiBrZXJuZWwgb29wcy4gSWxsZWdhbCByYW5nZXMgb2YgaW5jb21pbmcgaW5kaWNlcyBhcmUgY2F1Z2h0IHRvby4KKyAqLworc3RhdGljIF9fYWx3YXlzX2lubGluZSB1bnNpZ25lZCBsb25nIGZpeF90b192aXJ0KGNvbnN0IHVuc2lnbmVkIGludCBpZHgpCit7CisJLyoKKwkgKiB0aGlzIGJyYW5jaCBnZXRzIGNvbXBsZXRlbHkgZWxpbWluYXRlZCBhZnRlciBpbmxpbmluZywKKwkgKiBleGNlcHQgd2hlbiBzb21lb25lIHRyaWVzIHRvIHVzZSBmaXhhZGRyIGluZGljZXMgaW4gYW4KKwkgKiBpbGxlZ2FsIHdheS4gKHN1Y2ggYXMgbWl4aW5nIHVwIGFkZHJlc3MgdHlwZXMgb3IgdXNpbmcKKwkgKiBvdXQtb2YtcmFuZ2UgaW5kaWNlcykuCisJICoKKwkgKiBJZiBpdCBkb2Vzbid0IGdldCByZW1vdmVkLCB0aGUgbGlua2VyIHdpbGwgY29tcGxhaW4KKwkgKiBsb3VkbHkgd2l0aCBhIHJlYXNvbmFibHkgY2xlYXIgZXJyb3IgbWVzc2FnZS4uCisJICovCisJaWYgKGlkeCA+PSBfX2VuZF9vZl9maXhlZF9hZGRyZXNzZXMpCisJCV9fdGhpc19maXhtYXBfZG9lc19ub3RfZXhpc3QoKTsKKworCXJldHVybiBfX2ZpeF90b192aXJ0KGlkeCk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyB2aXJ0X3RvX2ZpeChjb25zdCB1bnNpZ25lZCBsb25nIHZhZGRyKQoreworCUJVR19PTih2YWRkciA+PSBGSVhBRERSX1RPUCB8fCB2YWRkciA8IEZJWEFERFJfU1RBUlQpOworCXJldHVybiBfX3ZpcnRfdG9fZml4KHZhZGRyKTsKK30KICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2ZpeG1hcF8zMi5oIGIvaW5jbHVkZS9hc20teDg2L2ZpeG1hcF8zMi5oCmluZGV4IDRiOTYxNDguLmFhZTJmMDUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9maXhtYXBfMzIuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvZml4bWFwXzMyLmgKQEAgLTc5LDEwICs3OSw2IEBACiAJRklYX0tNQVBfQkVHSU4sCS8qIHJlc2VydmVkIHB0ZSdzIGZvciB0ZW1wb3Jhcnkga2VybmVsIG1hcHBpbmdzICovCiAJRklYX0tNQVBfRU5EID0gRklYX0tNQVBfQkVHSU4rKEtNX1RZUEVfTlIqTlJfQ1BVUyktMSwKICNlbmRpZgotI2lmZGVmIENPTkZJR19BQ1BJCi0JRklYX0FDUElfQkVHSU4sCi0JRklYX0FDUElfRU5EID0gRklYX0FDUElfQkVHSU4gKyBGSVhfQUNQSV9QQUdFUyAtIDEsCi0jZW5kaWYKICNpZmRlZiBDT05GSUdfUENJX01NQ09ORklHCiAJRklYX1BDSUVfTUNGRywKICNlbmRpZgpAQCAtMTAzLDIzICs5OSwxOCBAQAogCQkJKF9fZW5kX29mX3Blcm1hbmVudF9maXhlZF9hZGRyZXNzZXMgJiA1MTEpLAogCUZJWF9CVE1BUF9CRUdJTiA9IEZJWF9CVE1BUF9FTkQgKyBOUl9GSVhfQlRNQVBTKkZJWF9CVE1BUFNfTkVTVElORyAtIDEsCiAJRklYX1dQX1RFU1QsCisjaWZkZWYgQ09ORklHX0FDUEkKKwlGSVhfQUNQSV9CRUdJTiwKKwlGSVhfQUNQSV9FTkQgPSBGSVhfQUNQSV9CRUdJTiArIEZJWF9BQ1BJX1BBR0VTIC0gMSwKKyNlbmRpZgogI2lmZGVmIENPTkZJR19QUk9WSURFX09IQ0kxMzk0X0RNQV9JTklUCiAJRklYX09IQ0kxMzk0X0JBU0UsCiAjZW5kaWYKIAlfX2VuZF9vZl9maXhlZF9hZGRyZXNzZXMKIH07CiAKLWV4dGVybiB2b2lkIF9fc2V0X2ZpeG1hcChlbnVtIGZpeGVkX2FkZHJlc3NlcyBpZHgsCi0JCQkgdW5zaWduZWQgbG9uZyBwaHlzLCBwZ3Byb3RfdCBmbGFncyk7CiBleHRlcm4gdm9pZCByZXNlcnZlX3RvcF9hZGRyZXNzKHVuc2lnbmVkIGxvbmcgcmVzZXJ2ZSk7CiAKLSNkZWZpbmUgc2V0X2ZpeG1hcChpZHgsIHBoeXMpCQkJCVwKLQlfX3NldF9maXhtYXAoaWR4LCBwaHlzLCBQQUdFX0tFUk5FTCkKLS8qCi0gKiBTb21lIGhhcmR3YXJlIHdhbnRzIHRvIGdldCBmaXhtYXBwZWQgd2l0aG91dCBjYWNoaW5nLgotICovCi0jZGVmaW5lIHNldF9maXhtYXBfbm9jYWNoZShpZHgsIHBoeXMpCQkJXAotCV9fc2V0X2ZpeG1hcChpZHgsIHBoeXMsIFBBR0VfS0VSTkVMX05PQ0FDSEUpCiAKICNkZWZpbmUgRklYQUREUl9UT1AJKCh1bnNpZ25lZCBsb25nKV9fRklYQUREUl9UT1ApCiAKQEAgLTEyOCwzOCArMTE5LDUgQEAKICNkZWZpbmUgRklYQUREUl9TVEFSVAkJKEZJWEFERFJfVE9QIC0gX19GSVhBRERSX1NJWkUpCiAjZGVmaW5lIEZJWEFERFJfQk9PVF9TVEFSVAkoRklYQUREUl9UT1AgLSBfX0ZJWEFERFJfQk9PVF9TSVpFKQogCi0jZGVmaW5lIF9fZml4X3RvX3ZpcnQoeCkJKEZJWEFERFJfVE9QIC0gKCh4KSA8PCBQQUdFX1NISUZUKSkKLSNkZWZpbmUgX192aXJ0X3RvX2ZpeCh4KQkoKEZJWEFERFJfVE9QIC0gKCh4KSZQQUdFX01BU0spKSA+PiBQQUdFX1NISUZUKQotCi1leHRlcm4gdm9pZCBfX3RoaXNfZml4bWFwX2RvZXNfbm90X2V4aXN0KHZvaWQpOwotCi0vKgotICogJ2luZGV4IHRvIGFkZHJlc3MnIHRyYW5zbGF0aW9uLiBJZiBhbnlvbmUgdHJpZXMgdG8gdXNlIHRoZSBpZHgKLSAqIGRpcmVjdGx5IHdpdGhvdXQgdHJhbmxhdGlvbiwgd2UgY2F0Y2ggdGhlIGJ1ZyB3aXRoIGEgTlVMTC1kZWZlcmVuY2UKLSAqIGtlcm5lbCBvb3BzLiBJbGxlZ2FsIHJhbmdlcyBvZiBpbmNvbWluZyBpbmRpY2VzIGFyZSBjYXVnaHQgdG9vLgotICovCi1zdGF0aWMgX19hbHdheXNfaW5saW5lIHVuc2lnbmVkIGxvbmcgZml4X3RvX3ZpcnQoY29uc3QgdW5zaWduZWQgaW50IGlkeCkKLXsKLQkvKgotCSAqIHRoaXMgYnJhbmNoIGdldHMgY29tcGxldGVseSBlbGltaW5hdGVkIGFmdGVyIGlubGluaW5nLAotCSAqIGV4Y2VwdCB3aGVuIHNvbWVvbmUgdHJpZXMgdG8gdXNlIGZpeGFkZHIgaW5kaWNlcyBpbiBhbgotCSAqIGlsbGVnYWwgd2F5LiAoc3VjaCBhcyBtaXhpbmcgdXAgYWRkcmVzcyB0eXBlcyBvciB1c2luZwotCSAqIG91dC1vZi1yYW5nZSBpbmRpY2VzKS4KLQkgKgotCSAqIElmIGl0IGRvZXNuJ3QgZ2V0IHJlbW92ZWQsIHRoZSBsaW5rZXIgd2lsbCBjb21wbGFpbgotCSAqIGxvdWRseSB3aXRoIGEgcmVhc29uYWJseSBjbGVhciBlcnJvciBtZXNzYWdlLi4KLQkgKi8KLQlpZiAoaWR4ID49IF9fZW5kX29mX2ZpeGVkX2FkZHJlc3NlcykKLQkJX190aGlzX2ZpeG1hcF9kb2VzX25vdF9leGlzdCgpOwotCi0JcmV0dXJuIF9fZml4X3RvX3ZpcnQoaWR4KTsKLX0KLQotc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIHZpcnRfdG9fZml4KGNvbnN0IHVuc2lnbmVkIGxvbmcgdmFkZHIpCi17Ci0JQlVHX09OKHZhZGRyID49IEZJWEFERFJfVE9QIHx8IHZhZGRyIDwgRklYQUREUl9TVEFSVCk7Ci0JcmV0dXJuIF9fdmlydF90b19maXgodmFkZHIpOwotfQotCiAjZW5kaWYgLyogIV9fQVNTRU1CTFlfXyAqLwogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvZml4bWFwXzY0LmggYi9pbmNsdWRlL2FzbS14ODYvZml4bWFwXzY0LmgKaW5kZXggMzU1ZDI2YS4uMDBmM2Q3NCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2ZpeG1hcF82NC5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9maXhtYXBfNjQuaApAQCAtMTIsNiArMTIsNyBAQAogI2RlZmluZSBfQVNNX0ZJWE1BUF82NF9ICiAKICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxhc20vYWNwaS5oPgogI2luY2x1ZGUgPGFzbS9hcGljZGVmLmg+CiAjaW5jbHVkZSA8YXNtL3BhZ2UuaD4KICNpbmNsdWRlIDxhc20vdnN5c2NhbGwuaD4KQEAgLTM5LDMwICs0MCwzOCBAQAogCVZTWVNDQUxMX0hQRVQsCiAJRklYX0RCR1BfQkFTRSwKIAlGSVhfRUFSTFlDT05fTUVNX0JBU0UsCi0JRklYX0hQRVRfQkFTRSwKIAlGSVhfQVBJQ19CQVNFLAkvKiBsb2NhbCAoQ1BVKSBBUElDKSAtLSByZXF1aXJlZCBmb3IgU01QIG9yIG5vdCAqLwogCUZJWF9JT19BUElDX0JBU0VfMCwKIAlGSVhfSU9fQVBJQ19CQVNFX0VORCA9IEZJWF9JT19BUElDX0JBU0VfMCArIE1BWF9JT19BUElDUyAtIDEsCiAJRklYX0VGSV9JT19NQVBfTEFTVF9QQUdFLAogCUZJWF9FRklfSU9fTUFQX0ZJUlNUX1BBR0UgPSBGSVhfRUZJX0lPX01BUF9MQVNUX1BBR0UKIAkJCQkgICsgTUFYX0VGSV9JT19QQUdFUyAtIDEsCisjaWZkZWYgQ09ORklHX1BBUkFWSVJUCisJRklYX1BBUkFWSVJUX0JPT1RNQVAsCisjZW5kaWYKKyNpZmRlZiBDT05GSUdfQUNQSQorCUZJWF9BQ1BJX0JFR0lOLAorCUZJWF9BQ1BJX0VORCA9IEZJWF9BQ1BJX0JFR0lOICsgRklYX0FDUElfUEFHRVMgLSAxLAorI2VuZGlmCiAjaWZkZWYgQ09ORklHX1BST1ZJREVfT0hDSTEzOTRfRE1BX0lOSVQKIAlGSVhfT0hDSTEzOTRfQkFTRSwKICNlbmRpZgorCV9fZW5kX29mX3Blcm1hbmVudF9maXhlZF9hZGRyZXNzZXMsCisJLyoKKwkgKiAyNTYgdGVtcG9yYXJ5IGJvb3QtdGltZSBtYXBwaW5ncywgdXNlZCBieSBlYXJseV9pb3JlbWFwKCksCisJICogYmVmb3JlIGlvcmVtYXAoKSBpcyBmdW5jdGlvbmFsLgorCSAqCisJICogV2Ugcm91bmQgaXQgdXAgdG8gdGhlIG5leHQgNTEyIHBhZ2VzIGJvdW5kYXJ5IHNvIHRoYXQgd2UKKwkgKiBjYW4gaGF2ZSBhIHNpbmdsZSBwZ2QgZW50cnkgYW5kIGEgc2luZ2xlIHB0ZSB0YWJsZToKKwkgKi8KKyNkZWZpbmUgTlJfRklYX0JUTUFQUwkJNjQKKyNkZWZpbmUgRklYX0JUTUFQU19ORVNUSU5HCTQKKwlGSVhfQlRNQVBfRU5EID0gX19lbmRfb2ZfcGVybWFuZW50X2ZpeGVkX2FkZHJlc3NlcyArIDUxMiAtCisJCQkoX19lbmRfb2ZfcGVybWFuZW50X2ZpeGVkX2FkZHJlc3NlcyAmIDUxMSksCisJRklYX0JUTUFQX0JFR0lOID0gRklYX0JUTUFQX0VORCArIE5SX0ZJWF9CVE1BUFMqRklYX0JUTUFQU19ORVNUSU5HIC0gMSwKIAlfX2VuZF9vZl9maXhlZF9hZGRyZXNzZXMKIH07CiAKLWV4dGVybiB2b2lkIF9fc2V0X2ZpeG1hcChlbnVtIGZpeGVkX2FkZHJlc3NlcyBpZHgsCi0JCQkgdW5zaWduZWQgbG9uZyBwaHlzLCBwZ3Byb3RfdCBmbGFncyk7Ci0KLSNkZWZpbmUgc2V0X2ZpeG1hcChpZHgsIHBoeXMpCQkJXAotCV9fc2V0X2ZpeG1hcChpZHgsIHBoeXMsIFBBR0VfS0VSTkVMKQotLyoKLSAqIFNvbWUgaGFyZHdhcmUgd2FudHMgdG8gZ2V0IGZpeG1hcHBlZCB3aXRob3V0IGNhY2hpbmcuCi0gKi8KLSNkZWZpbmUgc2V0X2ZpeG1hcF9ub2NhY2hlKGlkeCwgcGh5cykJCQlcCi0JX19zZXRfZml4bWFwKGlkeCwgcGh5cywgUEFHRV9LRVJORUxfTk9DQUNIRSkKLQogI2RlZmluZSBGSVhBRERSX1RPUAkoVlNZU0NBTExfRU5ELVBBR0VfU0laRSkKICNkZWZpbmUgRklYQUREUl9TSVpFCShfX2VuZF9vZl9maXhlZF9hZGRyZXNzZXMgPDwgUEFHRV9TSElGVCkKICNkZWZpbmUgRklYQUREUl9TVEFSVAkoRklYQUREUl9UT1AgLSBGSVhBRERSX1NJWkUpCkBAIC03MSwzMCArODAsNCBAQAogI2RlZmluZSBGSVhBRERSX1VTRVJfU1RBUlQJKCh1bnNpZ25lZCBsb25nKVZTWVNDQUxMMzJfVlNZU0NBTEwpCiAjZGVmaW5lIEZJWEFERFJfVVNFUl9FTkQJKEZJWEFERFJfVVNFUl9TVEFSVCArIFBBR0VfU0laRSkKIAotI2RlZmluZSBfX2ZpeF90b192aXJ0KHgpCShGSVhBRERSX1RPUCAtICgoeCkgPDwgUEFHRV9TSElGVCkpCi0KLWV4dGVybiB2b2lkIF9fdGhpc19maXhtYXBfZG9lc19ub3RfZXhpc3Qodm9pZCk7Ci0KLS8qCi0gKiAnaW5kZXggdG8gYWRkcmVzcycgdHJhbnNsYXRpb24uIElmIGFueW9uZSB0cmllcyB0byB1c2UgdGhlIGlkeAotICogZGlyZWN0bHkgd2l0aG91dCB0cmFuc2xhdGlvbiwgd2UgY2F0Y2ggdGhlIGJ1ZyB3aXRoIGEgTlVMTC1kZWZlcmVuY2UKLSAqIGtlcm5lbCBvb3BzLiBJbGxlZ2FsIHJhbmdlcyBvZiBpbmNvbWluZyBpbmRpY2VzIGFyZSBjYXVnaHQgdG9vLgotICovCi1zdGF0aWMgX19hbHdheXNfaW5saW5lIHVuc2lnbmVkIGxvbmcgZml4X3RvX3ZpcnQoY29uc3QgdW5zaWduZWQgaW50IGlkeCkKLXsKLQkvKgotCSAqIHRoaXMgYnJhbmNoIGdldHMgY29tcGxldGVseSBlbGltaW5hdGVkIGFmdGVyIGlubGluaW5nLAotCSAqIGV4Y2VwdCB3aGVuIHNvbWVvbmUgdHJpZXMgdG8gdXNlIGZpeGFkZHIgaW5kaWNlcyBpbiBhbgotCSAqIGlsbGVnYWwgd2F5LiAoc3VjaCBhcyBtaXhpbmcgdXAgYWRkcmVzcyB0eXBlcyBvciB1c2luZwotCSAqIG91dC1vZi1yYW5nZSBpbmRpY2VzKS4KLQkgKgotCSAqIElmIGl0IGRvZXNuJ3QgZ2V0IHJlbW92ZWQsIHRoZSBsaW5rZXIgd2lsbCBjb21wbGFpbgotCSAqIGxvdWRseSB3aXRoIGEgcmVhc29uYWJseSBjbGVhciBlcnJvciBtZXNzYWdlLi4KLQkgKi8KLQlpZiAoaWR4ID49IF9fZW5kX29mX2ZpeGVkX2FkZHJlc3NlcykKLQkJX190aGlzX2ZpeG1hcF9kb2VzX25vdF9leGlzdCgpOwotCi0JcmV0dXJuIF9fZml4X3RvX3ZpcnQoaWR4KTsKLX0KLQogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvZnRyYWNlLmggYi9pbmNsdWRlL2FzbS14ODYvZnRyYWNlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzE4NDQ0MQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9mdHJhY2UuaApAQCAtMCwwICsxLDE0IEBACisjaWZuZGVmIF9BU01fWDg2X0ZUUkFDRQorI2RlZmluZSBfQVNNX1NQQVJDNjRfRlRSQUNFCisKKyNpZmRlZiBDT05GSUdfRlRSQUNFCisjZGVmaW5lIE1DT1VOVF9BRERSCQkoKGxvbmcpKG1jb3VudCkpCisjZGVmaW5lIE1DT1VOVF9JTlNOX1NJWkUJNSAvKiBzaXplb2YgbWNvdW50IGNhbGwgKi8KKworI2lmbmRlZiBfX0FTU0VNQkxZX18KK2V4dGVybiB2b2lkIG1jb3VudCh2b2lkKTsKKyNlbmRpZgorCisjZW5kaWYgLyogQ09ORklHX0ZUUkFDRSAqLworCisjZW5kaWYgLyogX0FTTV9YODZfRlRSQUNFICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvZ2FydC5oIGIvaW5jbHVkZS9hc20teDg2L2dhcnQuaAppbmRleCA5MDk1OGVkLi4zM2I5YWVlIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvZ2FydC5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9nYXJ0LmgKQEAgLTEsMzQgKzEsNzIgQEAKLSNpZm5kZWYgX0FTTV9YODY2NF9JT01NVV9ICi0jZGVmaW5lIF9BU01fWDg2NjRfSU9NTVVfSCAxCisjaWZuZGVmIF9BU01fWDg2NjRfR0FSVF9ICisjZGVmaW5lIF9BU01fWDg2NjRfR0FSVF9IIDEKIAotZXh0ZXJuIHZvaWQgcGNpX2lvbW11X3NodXRkb3duKHZvaWQpOwotZXh0ZXJuIHZvaWQgbm9faW9tbXVfaW5pdCh2b2lkKTsKLWV4dGVybiBpbnQgZm9yY2VfaW9tbXUsIG5vX2lvbW11OwotZXh0ZXJuIGludCBpb21tdV9kZXRlY3RlZDsKLSNpZmRlZiBDT05GSUdfR0FSVF9JT01NVQotZXh0ZXJuIHZvaWQgZ2FydF9pb21tdV9pbml0KHZvaWQpOwotZXh0ZXJuIHZvaWQgZ2FydF9pb21tdV9zaHV0ZG93bih2b2lkKTsKLWV4dGVybiB2b2lkIF9faW5pdCBnYXJ0X3BhcnNlX29wdGlvbnMoY2hhciAqKTsKLWV4dGVybiB2b2lkIGVhcmx5X2dhcnRfaW9tbXVfY2hlY2sodm9pZCk7Ci1leHRlcm4gdm9pZCBnYXJ0X2lvbW11X2hvbGVfaW5pdCh2b2lkKTsKKyNpbmNsdWRlIDxhc20vZTgyMC5oPgorI2luY2x1ZGUgPGFzbS9pb21tdS5oPgorCitleHRlcm4gdm9pZCBzZXRfdXBfZ2FydF9yZXN1bWUodTMyLCB1MzIpOworCiBleHRlcm4gaW50IGZhbGxiYWNrX2FwZXJfb3JkZXI7CiBleHRlcm4gaW50IGZhbGxiYWNrX2FwZXJfZm9yY2U7Ci1leHRlcm4gaW50IGdhcnRfaW9tbXVfYXBlcnR1cmU7Ci1leHRlcm4gaW50IGdhcnRfaW9tbXVfYXBlcnR1cmVfYWxsb3dlZDsKLWV4dGVybiBpbnQgZ2FydF9pb21tdV9hcGVydHVyZV9kaXNhYmxlZDsKIGV4dGVybiBpbnQgZml4X2FwZXJ0dXJlOwotI2Vsc2UKLSNkZWZpbmUgZ2FydF9pb21tdV9hcGVydHVyZSAwCi0jZGVmaW5lIGdhcnRfaW9tbXVfYXBlcnR1cmVfYWxsb3dlZCAwCiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBlYXJseV9nYXJ0X2lvbW11X2NoZWNrKHZvaWQpCisvKiBQVEUgYml0cy4gKi8KKyNkZWZpbmUgR1BURV9WQUxJRAkxCisjZGVmaW5lIEdQVEVfQ09IRVJFTlQJMgorCisvKiBBcGVydHVyZSBjb250cm9sIHJlZ2lzdGVyIGJpdHMuICovCisjZGVmaW5lIEdBUlRFTgkJKDE8PDApCisjZGVmaW5lIERJU0dBUlRDUFUJKDE8PDQpCisjZGVmaW5lIERJU0dBUlRJTwkoMTw8NSkKKworLyogR0FSVCBjYWNoZSBjb250cm9sIHJlZ2lzdGVyIGJpdHMuICovCisjZGVmaW5lIElOVkdBUlQJCSgxPDwwKQorI2RlZmluZSBHQVJUUFRFRVJSCSgxPDwxKQorCisvKiBLOCBPbi1jcHUgR0FSVCByZWdpc3RlcnMgKi8KKyNkZWZpbmUgQU1ENjRfR0FSVEFQRVJUVVJFQ1RMCTB4OTAKKyNkZWZpbmUgQU1ENjRfR0FSVEFQRVJUVVJFQkFTRQkweDk0CisjZGVmaW5lIEFNRDY0X0dBUlRUQUJMRUJBU0UJMHg5OAorI2RlZmluZSBBTUQ2NF9HQVJUQ0FDSEVDVEwJMHg5YworI2RlZmluZSBBTUQ2NF9HQVJURU4JCSgxPDwwKQorCitzdGF0aWMgaW5saW5lIHZvaWQgZW5hYmxlX2dhcnRfdHJhbnNsYXRpb24oc3RydWN0IHBjaV9kZXYgKmRldiwgdTY0IGFkZHIpCiB7CisJdTMyIHRtcCwgY3RsOworCisgICAgICAgIC8qIGFkZHJlc3Mgb2YgdGhlIG1hcHBpbmdzIHRhYmxlICovCisgICAgICAgIGFkZHIgPj49IDEyOworICAgICAgICB0bXAgPSAodTMyKSBhZGRyPDw0OworICAgICAgICB0bXAgJj0gfjB4ZjsKKyAgICAgICAgcGNpX3dyaXRlX2NvbmZpZ19kd29yZChkZXYsIEFNRDY0X0dBUlRUQUJMRUJBU0UsIHRtcCk7CisKKyAgICAgICAgLyogRW5hYmxlIEdBUlQgdHJhbnNsYXRpb24gZm9yIHRoaXMgaGFtbWVyLiAqLworICAgICAgICBwY2lfcmVhZF9jb25maWdfZHdvcmQoZGV2LCBBTUQ2NF9HQVJUQVBFUlRVUkVDVEwsICZjdGwpOworICAgICAgICBjdGwgfD0gR0FSVEVOOworICAgICAgICBjdGwgJj0gfihESVNHQVJUQ1BVIHwgRElTR0FSVElPKTsKKyAgICAgICAgcGNpX3dyaXRlX2NvbmZpZ19kd29yZChkZXYsIEFNRDY0X0dBUlRBUEVSVFVSRUNUTCwgY3RsKTsKIH0KIAotc3RhdGljIGlubGluZSB2b2lkIGdhcnRfaW9tbXVfc2h1dGRvd24odm9pZCkKK3N0YXRpYyBpbmxpbmUgaW50IGFwZXJ0dXJlX3ZhbGlkKHU2NCBhcGVyX2Jhc2UsIHUzMiBhcGVyX3NpemUsIHUzMiBtaW5fc2l6ZSkKIHsKLX0KKwlpZiAoIWFwZXJfYmFzZSkKKwkJcmV0dXJuIDA7CiAKLSNlbmRpZgorCWlmIChhcGVyX2Jhc2UgKyBhcGVyX3NpemUgPiAweDEwMDAwMDAwMFVMTCkgeworCQlwcmludGsoS0VSTl9FUlIgIkFwZXJ0dXJlIGJleW9uZCA0R0IuIElnbm9yaW5nLlxuIik7CisJCXJldHVybiAwOworCX0KKwlpZiAoZTgyMF9hbnlfbWFwcGVkKGFwZXJfYmFzZSwgYXBlcl9iYXNlICsgYXBlcl9zaXplLCBFODIwX1JBTSkpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJBcGVydHVyZSBwb2ludGluZyB0byBlODIwIFJBTS4gSWdub3JpbmcuXG4iKTsKKwkJcmV0dXJuIDA7CisJfQorCWlmIChhcGVyX3NpemUgPCBtaW5fc2l6ZSkgeworCQlwcmludGsoS0VSTl9FUlIgIkFwZXJ0dXJlIHRvbyBzbWFsbCAoJWQgTUIpIHRoYW4gKCVkIE1CKVxuIiwKKwkJCQkgYXBlcl9zaXplPj4yMCwgbWluX3NpemU+PjIwKTsKKwkJcmV0dXJuIDA7CisJfQorCisJcmV0dXJuIDE7Cit9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2dlbmFwaWNfNjQuaCBiL2luY2x1ZGUvYXNtLXg4Ni9nZW5hcGljXzY0LmgKaW5kZXggMWRlOTMxYi4uMGY4NTA0NiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2dlbmFwaWNfNjQuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvZ2VuYXBpY182NC5oCkBAIC00NCw0ICs0NCw2IEBACiBleHRlcm4gdm9pZCB1dl9jcHVfaW5pdCh2b2lkKTsKIGV4dGVybiBpbnQgdXZfd2FrZXVwX3NlY29uZGFyeShpbnQgcGh5c19hcGljaWQsIHVuc2lnbmVkIGludCBzdGFydF9yaXApOwogCitleHRlcm4gdm9pZCBzZXR1cF9hcGljX3JvdXRpbmcodm9pZCk7CisKICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2hhcmRpcnEuaCBiL2luY2x1ZGUvYXNtLXg4Ni9oYXJkaXJxLmgKaW5kZXggMzE0NDM0ZC4uMDAwNzg3ZCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2hhcmRpcnEuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvaGFyZGlycS5oCkBAIC0zLDMgKzMsOSBAQAogI2Vsc2UKICMgaW5jbHVkZSAiaGFyZGlycV82NC5oIgogI2VuZGlmCisKK2V4dGVybiB1NjQgYXJjaF9pcnFfc3RhdF9jcHUodW5zaWduZWQgaW50IGNwdSk7CisjZGVmaW5lIGFyY2hfaXJxX3N0YXRfY3B1CWFyY2hfaXJxX3N0YXRfY3B1CisKK2V4dGVybiB1NjQgYXJjaF9pcnFfc3RhdCh2b2lkKTsKKyNkZWZpbmUgYXJjaF9pcnFfc3RhdAkJYXJjaF9pcnFfc3RhdApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2hpZ2htZW0uaCBiL2luY2x1ZGUvYXNtLXg4Ni9oaWdobWVtLmgKaW5kZXggZTE1M2YzYi4uNDUxNGIxNiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2hpZ2htZW0uaAorKysgYi9pbmNsdWRlL2FzbS14ODYvaGlnaG1lbS5oCkBAIC03NCw2ICs3NCw5IEBACiAKICNkZWZpbmUgZmx1c2hfY2FjaGVfa21hcHMoKQlkbyB7IH0gd2hpbGUgKDApCiAKK2V4dGVybiB2b2lkIGFkZF9oaWdocGFnZXNfd2l0aF9hY3RpdmVfcmVnaW9ucyhpbnQgbmlkLCB1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwKKwkJCQkJdW5zaWduZWQgbG9uZyBlbmRfcGZuKTsKKwogI2VuZGlmIC8qIF9fS0VSTkVMX18gKi8KIAogI2VuZGlmIC8qIF9BU01fSElHSE1FTV9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvaHBldC5oIGIvaW5jbHVkZS9hc20teDg2L2hwZXQuaAppbmRleCA2YTliNGFjLi44MmYxYWM2IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvaHBldC5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9ocGV0LmgKQEAgLTg2LDggKzg2LDggQEAKICNlbHNlIC8qIENPTkZJR19IUEVUX1RJTUVSICovCiAKIHN0YXRpYyBpbmxpbmUgaW50IGhwZXRfZW5hYmxlKHZvaWQpIHsgcmV0dXJuIDA7IH0KLXN0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyBocGV0X3JlYWRsKHVuc2lnbmVkIGxvbmcgYSkgeyByZXR1cm4gMDsgfQogc3RhdGljIGlubGluZSBpbnQgaXNfaHBldF9lbmFibGVkKHZvaWQpIHsgcmV0dXJuIDA7IH0KKyNkZWZpbmUgaHBldF9yZWFkbChhKSAwCiAKICNlbmRpZgogI2VuZGlmIC8qIEFTTV9YODZfSFBFVF9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvaHdfaXJxLmggYi9pbmNsdWRlL2FzbS14ODYvaHdfaXJxLmgKaW5kZXggYmYwMjUzOS4uNzdiYTUxZCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2h3X2lycS5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9od19pcnEuaApAQCAtMSw1ICsxLDEwNyBAQAorI2lmbmRlZiBfQVNNX0hXX0lSUV9ICisjZGVmaW5lIF9BU01fSFdfSVJRX0gKKworLyoKKyAqIChDKSAxOTkyLCAxOTkzIExpbnVzIFRvcnZhbGRzLCAoQykgMTk5NyBJbmdvIE1vbG5hcgorICoKKyAqIG1vdmVkIHNvbWUgb2YgdGhlIG9sZCBhcmNoL2kzODYva2VybmVsL2lycS5oIHRvIGhlcmUuIFZZCisgKgorICogSVJRL0lQSSBjaGFuZ2VzIHRha2VuIGZyb20gd29yayBieSBUaG9tYXMgUmFka2UKKyAqIDx0b21zb2Z0QGluZm9ybWF0aWsudHUtY2hlbW5pdHouZGU+CisgKgorICogaGFja2VkIGJ5IEFuZGkgS2xlZW4gZm9yIHg4Ni02NC4KKyAqIHVuaWZpZWQgYnkgdGdseAorICovCisKKyNpbmNsdWRlIDxhc20vaXJxX3ZlY3RvcnMuaD4KKworI2lmbmRlZiBfX0FTU0VNQkxZX18KKworI2luY2x1ZGUgPGxpbnV4L3BlcmNwdS5oPgorI2luY2x1ZGUgPGxpbnV4L3Byb2ZpbGUuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXAuaD4KKworI2luY2x1ZGUgPGFzbS9hdG9taWMuaD4KKyNpbmNsdWRlIDxhc20vaXJxLmg+CisjaW5jbHVkZSA8YXNtL3NlY3Rpb25zLmg+CisKKyNkZWZpbmUgcGxhdGZvcm1fbGVnYWN5X2lycShpcnEpCSgoaXJxKSA8IDE2KQorCisvKiBJbnRlcnJ1cHQgaGFuZGxlcnMgcmVnaXN0ZXJlZCBkdXJpbmcgaW5pdF9JUlEgKi8KK2V4dGVybiB2b2lkIGFwaWNfdGltZXJfaW50ZXJydXB0KHZvaWQpOworZXh0ZXJuIHZvaWQgZXJyb3JfaW50ZXJydXB0KHZvaWQpOworZXh0ZXJuIHZvaWQgc3B1cmlvdXNfaW50ZXJydXB0KHZvaWQpOworZXh0ZXJuIHZvaWQgdGhlcm1hbF9pbnRlcnJ1cHQodm9pZCk7CitleHRlcm4gdm9pZCByZXNjaGVkdWxlX2ludGVycnVwdCh2b2lkKTsKKworZXh0ZXJuIHZvaWQgaW52YWxpZGF0ZV9pbnRlcnJ1cHQodm9pZCk7CitleHRlcm4gdm9pZCBpbnZhbGlkYXRlX2ludGVycnVwdDAodm9pZCk7CitleHRlcm4gdm9pZCBpbnZhbGlkYXRlX2ludGVycnVwdDEodm9pZCk7CitleHRlcm4gdm9pZCBpbnZhbGlkYXRlX2ludGVycnVwdDIodm9pZCk7CitleHRlcm4gdm9pZCBpbnZhbGlkYXRlX2ludGVycnVwdDModm9pZCk7CitleHRlcm4gdm9pZCBpbnZhbGlkYXRlX2ludGVycnVwdDQodm9pZCk7CitleHRlcm4gdm9pZCBpbnZhbGlkYXRlX2ludGVycnVwdDUodm9pZCk7CitleHRlcm4gdm9pZCBpbnZhbGlkYXRlX2ludGVycnVwdDYodm9pZCk7CitleHRlcm4gdm9pZCBpbnZhbGlkYXRlX2ludGVycnVwdDcodm9pZCk7CisKK2V4dGVybiB2b2lkIGlycV9tb3ZlX2NsZWFudXBfaW50ZXJydXB0KHZvaWQpOworZXh0ZXJuIHZvaWQgdGhyZXNob2xkX2ludGVycnVwdCh2b2lkKTsKKworZXh0ZXJuIHZvaWQgY2FsbF9mdW5jdGlvbl9pbnRlcnJ1cHQodm9pZCk7CitleHRlcm4gdm9pZCBjYWxsX2Z1bmN0aW9uX3NpbmdsZV9pbnRlcnJ1cHQodm9pZCk7CisKKy8qIFBJQyBzcGVjaWZpYyBmdW5jdGlvbnMgKi8KK2V4dGVybiB2b2lkIGRpc2FibGVfODI1OUFfaXJxKHVuc2lnbmVkIGludCBpcnEpOworZXh0ZXJuIHZvaWQgZW5hYmxlXzgyNTlBX2lycSh1bnNpZ25lZCBpbnQgaXJxKTsKK2V4dGVybiBpbnQgaTgyNTlBX2lycV9wZW5kaW5nKHVuc2lnbmVkIGludCBpcnEpOworZXh0ZXJuIHZvaWQgbWFrZV84MjU5QV9pcnEodW5zaWduZWQgaW50IGlycSk7CitleHRlcm4gdm9pZCBpbml0XzgyNTlBKGludCBhZW9pKTsKKworLyogSU9BUElDICovCisjZGVmaW5lIElPX0FQSUNfSVJRKHgpICgoKHgpID49IDE2KSB8fCAoKDE8PCh4KSkgJiBpb19hcGljX2lycXMpKQorZXh0ZXJuIHVuc2lnbmVkIGxvbmcgaW9fYXBpY19pcnFzOworCitleHRlcm4gdm9pZCBpbml0X1ZJU1dTX0FQSUNfaXJxcyh2b2lkKTsKK2V4dGVybiB2b2lkIHNldHVwX0lPX0FQSUModm9pZCk7CitleHRlcm4gdm9pZCBkaXNhYmxlX0lPX0FQSUModm9pZCk7CitleHRlcm4gdm9pZCBwcmludF9JT19BUElDKHZvaWQpOworZXh0ZXJuIGludCBJT19BUElDX2dldF9QQ0lfaXJxX3ZlY3RvcihpbnQgYnVzLCBpbnQgc2xvdCwgaW50IGZuKTsKK2V4dGVybiB2b2lkIHNldHVwX2lvYXBpY19kZXN0KHZvaWQpOworCisjaWZkZWYgQ09ORklHX1g4Nl82NAorZXh0ZXJuIHZvaWQgZW5hYmxlX0lPX0FQSUModm9pZCk7CisjZW5kaWYKKworLyogSVBJIGZ1bmN0aW9ucyAqLworZXh0ZXJuIHZvaWQgc2VuZF9JUElfc2VsZihpbnQgdmVjdG9yKTsKK2V4dGVybiB2b2lkIHNlbmRfSVBJKGludCBkZXN0LCBpbnQgdmVjdG9yKTsKKworLyogU3RhdGlzdGljcyAqLworZXh0ZXJuIGF0b21pY190IGlycV9lcnJfY291bnQ7CitleHRlcm4gYXRvbWljX3QgaXJxX21pc19jb3VudDsKKworLyogRUlTQSAqLworZXh0ZXJuIHZvaWQgZWlzYV9zZXRfbGV2ZWxfaXJxKHVuc2lnbmVkIGludCBpcnEpOworCisvKiBWb3lhZ2VyIGZ1bmN0aW9ucyAqLworZXh0ZXJuIGFzbWxpbmthZ2Ugdm9pZCB2aWNfY3BpX2ludGVycnVwdCh2b2lkKTsKK2V4dGVybiBhc21saW5rYWdlIHZvaWQgdmljX3N5c19pbnRlcnJ1cHQodm9pZCk7CitleHRlcm4gYXNtbGlua2FnZSB2b2lkIHZpY19jbW5faW50ZXJydXB0KHZvaWQpOworZXh0ZXJuIGFzbWxpbmthZ2Ugdm9pZCBxaWNfdGltZXJfaW50ZXJydXB0KHZvaWQpOworZXh0ZXJuIGFzbWxpbmthZ2Ugdm9pZCBxaWNfaW52YWxpZGF0ZV9pbnRlcnJ1cHQodm9pZCk7CitleHRlcm4gYXNtbGlua2FnZSB2b2lkIHFpY19yZXNjaGVkdWxlX2ludGVycnVwdCh2b2lkKTsKK2V4dGVybiBhc21saW5rYWdlIHZvaWQgcWljX2VuYWJsZV9pcnFfaW50ZXJydXB0KHZvaWQpOworZXh0ZXJuIGFzbWxpbmthZ2Ugdm9pZCBxaWNfY2FsbF9mdW5jdGlvbl9pbnRlcnJ1cHQodm9pZCk7CisKICNpZmRlZiBDT05GSUdfWDg2XzMyCi0jIGluY2x1ZGUgImh3X2lycV8zMi5oIgorZXh0ZXJuIHZvaWQgKCpjb25zdCBpbnRlcnJ1cHRbTlJfSVJRU10pKHZvaWQpOwogI2Vsc2UKLSMgaW5jbHVkZSAiaHdfaXJxXzY0LmgiCit0eXBlZGVmIGludCB2ZWN0b3JfaXJxX3RbTlJfVkVDVE9SU107CitERUNMQVJFX1BFUl9DUFUodmVjdG9yX2lycV90LCB2ZWN0b3JfaXJxKTsKK2V4dGVybiBzcGlubG9ja190IHZlY3Rvcl9sb2NrOworI2VuZGlmCitleHRlcm4gdm9pZCBzZXR1cF92ZWN0b3JfaXJxKGludCBjcHUpOworCisjZW5kaWYgLyogIUFTU0VNQkxZXyAqLworCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9od19pcnFfMzIuaCBiL2luY2x1ZGUvYXNtLXg4Ni9od19pcnFfMzIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWE4ODA1NC4uMDAwMDAwMAotLS0gYS9pbmNsdWRlL2FzbS14ODYvaHdfaXJxXzMyLmgKKysrIC9kZXYvbnVsbApAQCAtMSw2NiArMCwwIEBACi0jaWZuZGVmIF9BU01fSFdfSVJRX0gKLSNkZWZpbmUgX0FTTV9IV19JUlFfSAotCi0vKgotICoJbGludXgvaW5jbHVkZS9hc20vaHdfaXJxLmgKLSAqCi0gKgkoQykgMTk5MiwgMTk5MyBMaW51cyBUb3J2YWxkcywgKEMpIDE5OTcgSW5nbyBNb2xuYXIKLSAqCi0gKgltb3ZlZCBzb21lIG9mIHRoZSBvbGQgYXJjaC9pMzg2L2tlcm5lbC9pcnEuaCB0byBoZXJlLiBWWQotICoKLSAqCUlSUS9JUEkgY2hhbmdlcyB0YWtlbiBmcm9tIHdvcmsgYnkgVGhvbWFzIFJhZGtlCi0gKgk8dG9tc29mdEBpbmZvcm1hdGlrLnR1LWNoZW1uaXR6LmRlPgotICovCi0KLSNpbmNsdWRlIDxsaW51eC9wcm9maWxlLmg+Ci0jaW5jbHVkZSA8YXNtL2F0b21pYy5oPgotI2luY2x1ZGUgPGFzbS9pcnEuaD4KLSNpbmNsdWRlIDxhc20vc2VjdGlvbnMuaD4KLQotI2RlZmluZSBOTUlfVkVDVE9SCQkweDAyCi0KLS8qCi0gKiBWYXJpb3VzIGxvdy1sZXZlbCBpcnEgZGV0YWlscyBuZWVkZWQgYnkgaXJxLmMsIHByb2Nlc3MuYywKLSAqIHRpbWUuYywgaW9fYXBpYy5jIGFuZCBzbXAuYwotICoKLSAqIEludGVycnVwdCBlbnRyeS9leGl0IGNvZGUgYXQgYm90aCBDIGFuZCBhc3NlbWJseSBsZXZlbAotICovCi0KLWV4dGVybiB2b2lkICgqY29uc3QgaW50ZXJydXB0W05SX0lSUVNdKSh2b2lkKTsKLQotI2lmZGVmIENPTkZJR19TTVAKLXZvaWQgcmVzY2hlZHVsZV9pbnRlcnJ1cHQodm9pZCk7Ci12b2lkIGludmFsaWRhdGVfaW50ZXJydXB0KHZvaWQpOwotdm9pZCBjYWxsX2Z1bmN0aW9uX2ludGVycnVwdCh2b2lkKTsKLSNlbmRpZgotCi0jaWZkZWYgQ09ORklHX1g4Nl9MT0NBTF9BUElDCi12b2lkIGFwaWNfdGltZXJfaW50ZXJydXB0KHZvaWQpOwotdm9pZCBlcnJvcl9pbnRlcnJ1cHQodm9pZCk7Ci12b2lkIHNwdXJpb3VzX2ludGVycnVwdCh2b2lkKTsKLXZvaWQgdGhlcm1hbF9pbnRlcnJ1cHQodm9pZCk7Ci0jZGVmaW5lIHBsYXRmb3JtX2xlZ2FjeV9pcnEoaXJxKQkoKGlycSkgPCAxNikKLSNlbmRpZgotCi12b2lkIGRpc2FibGVfODI1OUFfaXJxKHVuc2lnbmVkIGludCBpcnEpOwotdm9pZCBlbmFibGVfODI1OUFfaXJxKHVuc2lnbmVkIGludCBpcnEpOwotaW50IGk4MjU5QV9pcnFfcGVuZGluZyh1bnNpZ25lZCBpbnQgaXJxKTsKLXZvaWQgbWFrZV84MjU5QV9pcnEodW5zaWduZWQgaW50IGlycSk7Ci12b2lkIGluaXRfODI1OUEoaW50IGFlb2kpOwotdm9pZCBzZW5kX0lQSV9zZWxmKGludCB2ZWN0b3IpOwotdm9pZCBpbml0X1ZJU1dTX0FQSUNfaXJxcyh2b2lkKTsKLXZvaWQgc2V0dXBfSU9fQVBJQyh2b2lkKTsKLXZvaWQgZGlzYWJsZV9JT19BUElDKHZvaWQpOwotdm9pZCBwcmludF9JT19BUElDKHZvaWQpOwotaW50IElPX0FQSUNfZ2V0X1BDSV9pcnFfdmVjdG9yKGludCBidXMsIGludCBzbG90LCBpbnQgZm4pOwotdm9pZCBzZW5kX0lQSShpbnQgZGVzdCwgaW50IHZlY3Rvcik7Ci12b2lkIHNldHVwX2lvYXBpY19kZXN0KHZvaWQpOwotCi1leHRlcm4gdW5zaWduZWQgbG9uZyBpb19hcGljX2lycXM7Ci0KLWV4dGVybiBhdG9taWNfdCBpcnFfZXJyX2NvdW50OwotZXh0ZXJuIGF0b21pY190IGlycV9taXNfY291bnQ7Ci0KLSNkZWZpbmUgSU9fQVBJQ19JUlEoeCkgKCgoeCkgPj0gMTYpIHx8ICgoMTw8KHgpKSAmIGlvX2FwaWNfaXJxcykpCi0KLSNlbmRpZiAvKiBfQVNNX0hXX0lSUV9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvaHdfaXJxXzY0LmggYi9pbmNsdWRlL2FzbS14ODYvaHdfaXJxXzY0LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwNjJlZjMuLjAwMDAwMDAKLS0tIGEvaW5jbHVkZS9hc20teDg2L2h3X2lycV82NC5oCisrKyAvZGV2L251bGwKQEAgLTEsMTczICswLDAgQEAKLSNpZm5kZWYgX0FTTV9IV19JUlFfSAotI2RlZmluZSBfQVNNX0hXX0lSUV9ICi0KLS8qCi0gKglsaW51eC9pbmNsdWRlL2FzbS9od19pcnEuaAotICoKLSAqCShDKSAxOTkyLCAxOTkzIExpbnVzIFRvcnZhbGRzLCAoQykgMTk5NyBJbmdvIE1vbG5hcgotICoKLSAqCW1vdmVkIHNvbWUgb2YgdGhlIG9sZCBhcmNoL2kzODYva2VybmVsL2lycS5oIHRvIGhlcmUuIFZZCi0gKgotICoJSVJRL0lQSSBjaGFuZ2VzIHRha2VuIGZyb20gd29yayBieSBUaG9tYXMgUmFka2UKLSAqCTx0b21zb2Z0QGluZm9ybWF0aWsudHUtY2hlbW5pdHouZGU+Ci0gKgotICoJaGFja2VkIGJ5IEFuZGkgS2xlZW4gZm9yIHg4Ni02NC4KLSAqLwotCi0jaWZuZGVmIF9fQVNTRU1CTFlfXwotI2luY2x1ZGUgPGFzbS9hdG9taWMuaD4KLSNpbmNsdWRlIDxhc20vaXJxLmg+Ci0jaW5jbHVkZSA8bGludXgvcHJvZmlsZS5oPgotI2luY2x1ZGUgPGxpbnV4L3NtcC5oPgotI2luY2x1ZGUgPGxpbnV4L3BlcmNwdS5oPgotI2VuZGlmCi0KLSNkZWZpbmUgTk1JX1ZFQ1RPUgkJMHgwMgotLyoKLSAqIElEVCB2ZWN0b3JzIHVzYWJsZSBmb3IgZXh0ZXJuYWwgaW50ZXJydXB0IHNvdXJjZXMgc3RhcnQKLSAqIGF0IDB4MjA6Ci0gKi8KLSNkZWZpbmUgRklSU1RfRVhURVJOQUxfVkVDVE9SCTB4MjAKLQotI2RlZmluZSBJQTMyX1NZU0NBTExfVkVDVE9SCTB4ODAKLQotCi0vKiBSZXNlcnZlIHRoZSBsb3dlc3QgdXNhYmxlIHByaW9yaXR5IGxldmVsIDB4MjAgLSAweDJmIGZvciB0cmlnZ2VyaW5nCi0gKiBjbGVhbnVwIGFmdGVyIGlycSBtaWdyYXRpb24uCi0gKi8KLSNkZWZpbmUgSVJRX01PVkVfQ0xFQU5VUF9WRUNUT1IJRklSU1RfRVhURVJOQUxfVkVDVE9SCi0KLS8qCi0gKiBWZWN0b3JzIDB4MzAtMHgzZiBhcmUgdXNlZCBmb3IgSVNBIGludGVycnVwdHMuCi0gKi8KLSNkZWZpbmUgSVJRMF9WRUNUT1IJCShGSVJTVF9FWFRFUk5BTF9WRUNUT1IgKyAweDEwKQotI2RlZmluZSBJUlExX1ZFQ1RPUgkJKElSUTBfVkVDVE9SICsgMSkKLSNkZWZpbmUgSVJRMl9WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDIpCi0jZGVmaW5lIElSUTNfVkVDVE9SCQkoSVJRMF9WRUNUT1IgKyAzKQotI2RlZmluZSBJUlE0X1ZFQ1RPUgkJKElSUTBfVkVDVE9SICsgNCkKLSNkZWZpbmUgSVJRNV9WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDUpCi0jZGVmaW5lIElSUTZfVkVDVE9SCQkoSVJRMF9WRUNUT1IgKyA2KQotI2RlZmluZSBJUlE3X1ZFQ1RPUgkJKElSUTBfVkVDVE9SICsgNykKLSNkZWZpbmUgSVJROF9WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDgpCi0jZGVmaW5lIElSUTlfVkVDVE9SCQkoSVJRMF9WRUNUT1IgKyA5KQotI2RlZmluZSBJUlExMF9WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDEwKQotI2RlZmluZSBJUlExMV9WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDExKQotI2RlZmluZSBJUlExMl9WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDEyKQotI2RlZmluZSBJUlExM19WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDEzKQotI2RlZmluZSBJUlExNF9WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDE0KQotI2RlZmluZSBJUlExNV9WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDE1KQotCi0vKgotICogU3BlY2lhbCBJUlEgdmVjdG9ycyB1c2VkIGJ5IHRoZSBTTVAgYXJjaGl0ZWN0dXJlLCAweGYwLTB4ZmYKLSAqCi0gKiAgc29tZSBvZiB0aGUgZm9sbG93aW5nIHZlY3RvcnMgYXJlICdyYXJlJywgdGhleSBhcmUgbWVyZ2VkCi0gKiAgaW50byBhIHNpbmdsZSB2ZWN0b3IgKENBTExfRlVOQ1RJT05fVkVDVE9SKSB0byBzYXZlIHZlY3RvciBzcGFjZS4KLSAqICBUTEIsIHJlc2NoZWR1bGUgYW5kIGxvY2FsIEFQSUMgdmVjdG9ycyBhcmUgcGVyZm9ybWFuY2UtY3JpdGljYWwuCi0gKi8KLSNkZWZpbmUgU1BVUklPVVNfQVBJQ19WRUNUT1IJMHhmZgotI2RlZmluZSBFUlJPUl9BUElDX1ZFQ1RPUgkweGZlCi0jZGVmaW5lIFJFU0NIRURVTEVfVkVDVE9SCTB4ZmQKLSNkZWZpbmUgQ0FMTF9GVU5DVElPTl9WRUNUT1IJMHhmYwotLyogZmIgZnJlZSAtIHBsZWFzZSBkb24ndCByZWFkZCBLREIgaGVyZSBiZWNhdXNlIGl0J3MgdXNlbGVzcwotICAgKGhpbnQgLSB0aGluayB3aGF0IGEgTk1JIGJpdCBkb2VzIHRvIGEgdmVjdG9yKSAqLwotI2RlZmluZSBUSEVSTUFMX0FQSUNfVkVDVE9SCTB4ZmEKLSNkZWZpbmUgVEhSRVNIT0xEX0FQSUNfVkVDVE9SICAgMHhmOQotLyogZjggZnJlZSAqLwotI2RlZmluZSBJTlZBTElEQVRFX1RMQl9WRUNUT1JfRU5ECTB4ZjcKLSNkZWZpbmUgSU5WQUxJREFURV9UTEJfVkVDVE9SX1NUQVJUCTB4ZjAJLyogZjAtZjcgdXNlZCBmb3IgVExCIGZsdXNoICovCi0KLSNkZWZpbmUgTlVNX0lOVkFMSURBVEVfVExCX1ZFQ1RPUlMJOAotCi0vKgotICogTG9jYWwgQVBJQyB0aW1lciBJUlEgdmVjdG9yIGlzIG9uIGEgZGlmZmVyZW50IHByaW9yaXR5IGxldmVsLAotICogdG8gd29yayBhcm91bmQgdGhlICdsb3N0IGxvY2FsIGludGVycnVwdCBpZiBtb3JlIHRoYW4gMiBJUlEKLSAqIHNvdXJjZXMgcGVyIGxldmVsJyBlcnJhdGEuCi0gKi8KLSNkZWZpbmUgTE9DQUxfVElNRVJfVkVDVE9SCTB4ZWYKLQotLyoKLSAqIEZpcnN0IEFQSUMgdmVjdG9yIGF2YWlsYWJsZSB0byBkcml2ZXJzOiAodmVjdG9ycyAweDMwLTB4ZWUpCi0gKiB3ZSBzdGFydCBhdCAweDQxIHRvIHNwcmVhZCBvdXQgdmVjdG9ycyBldmVubHkgYmV0d2VlbiBwcmlvcml0eQotICogbGV2ZWxzLiAoMHg4MCBpcyB0aGUgc3lzY2FsbCB2ZWN0b3IpCi0gKi8KLSNkZWZpbmUgRklSU1RfREVWSUNFX1ZFQ1RPUgkoSVJRMTVfVkVDVE9SICsgMikKLSNkZWZpbmUgRklSU1RfU1lTVEVNX1ZFQ1RPUgkweGVmICAgLyogZHVwbGljYXRlZCBpbiBpcnEuaCAqLwotCi0KLSNpZm5kZWYgX19BU1NFTUJMWV9fCi0KLS8qIEludGVycnVwdCBoYW5kbGVycyByZWdpc3RlcmVkIGR1cmluZyBpbml0X0lSUSAqLwotdm9pZCBhcGljX3RpbWVyX2ludGVycnVwdCh2b2lkKTsKLXZvaWQgc3B1cmlvdXNfaW50ZXJydXB0KHZvaWQpOwotdm9pZCBlcnJvcl9pbnRlcnJ1cHQodm9pZCk7Ci12b2lkIHJlc2NoZWR1bGVfaW50ZXJydXB0KHZvaWQpOwotdm9pZCBjYWxsX2Z1bmN0aW9uX2ludGVycnVwdCh2b2lkKTsKLXZvaWQgaXJxX21vdmVfY2xlYW51cF9pbnRlcnJ1cHQodm9pZCk7Ci12b2lkIGludmFsaWRhdGVfaW50ZXJydXB0MCh2b2lkKTsKLXZvaWQgaW52YWxpZGF0ZV9pbnRlcnJ1cHQxKHZvaWQpOwotdm9pZCBpbnZhbGlkYXRlX2ludGVycnVwdDIodm9pZCk7Ci12b2lkIGludmFsaWRhdGVfaW50ZXJydXB0Myh2b2lkKTsKLXZvaWQgaW52YWxpZGF0ZV9pbnRlcnJ1cHQ0KHZvaWQpOwotdm9pZCBpbnZhbGlkYXRlX2ludGVycnVwdDUodm9pZCk7Ci12b2lkIGludmFsaWRhdGVfaW50ZXJydXB0Nih2b2lkKTsKLXZvaWQgaW52YWxpZGF0ZV9pbnRlcnJ1cHQ3KHZvaWQpOwotdm9pZCB0aGVybWFsX2ludGVycnVwdCh2b2lkKTsKLXZvaWQgdGhyZXNob2xkX2ludGVycnVwdCh2b2lkKTsKLXZvaWQgaTgyNTRfdGltZXJfcmVzdW1lKHZvaWQpOwotCi10eXBlZGVmIGludCB2ZWN0b3JfaXJxX3RbTlJfVkVDVE9SU107Ci1ERUNMQVJFX1BFUl9DUFUodmVjdG9yX2lycV90LCB2ZWN0b3JfaXJxKTsKLWV4dGVybiB2b2lkIF9fc2V0dXBfdmVjdG9yX2lycShpbnQgY3B1KTsKLWV4dGVybiBzcGlubG9ja190IHZlY3Rvcl9sb2NrOwotCi0vKgotICogVmFyaW91cyBsb3ctbGV2ZWwgaXJxIGRldGFpbHMgbmVlZGVkIGJ5IGlycS5jLCBwcm9jZXNzLmMsCi0gKiB0aW1lLmMsIGlvX2FwaWMuYyBhbmQgc21wLmMKLSAqCi0gKiBJbnRlcnJ1cHQgZW50cnkvZXhpdCBjb2RlIGF0IGJvdGggQyBhbmQgYXNzZW1ibHkgbGV2ZWwKLSAqLwotCi1leHRlcm4gdm9pZCBkaXNhYmxlXzgyNTlBX2lycSh1bnNpZ25lZCBpbnQgaXJxKTsKLWV4dGVybiB2b2lkIGVuYWJsZV84MjU5QV9pcnEodW5zaWduZWQgaW50IGlycSk7Ci1leHRlcm4gaW50IGk4MjU5QV9pcnFfcGVuZGluZyh1bnNpZ25lZCBpbnQgaXJxKTsKLWV4dGVybiB2b2lkIG1ha2VfODI1OUFfaXJxKHVuc2lnbmVkIGludCBpcnEpOwotZXh0ZXJuIHZvaWQgaW5pdF84MjU5QShpbnQgYWVvaSk7Ci1leHRlcm4gdm9pZCBzZW5kX0lQSV9zZWxmKGludCB2ZWN0b3IpOwotZXh0ZXJuIHZvaWQgaW5pdF9WSVNXU19BUElDX2lycXModm9pZCk7Ci1leHRlcm4gdm9pZCBzZXR1cF9JT19BUElDKHZvaWQpOwotZXh0ZXJuIHZvaWQgZW5hYmxlX0lPX0FQSUModm9pZCk7Ci1leHRlcm4gdm9pZCBkaXNhYmxlX0lPX0FQSUModm9pZCk7Ci1leHRlcm4gdm9pZCBwcmludF9JT19BUElDKHZvaWQpOwotZXh0ZXJuIGludCBJT19BUElDX2dldF9QQ0lfaXJxX3ZlY3RvcihpbnQgYnVzLCBpbnQgc2xvdCwgaW50IGZuKTsKLWV4dGVybiB2b2lkIHNlbmRfSVBJKGludCBkZXN0LCBpbnQgdmVjdG9yKTsKLWV4dGVybiB2b2lkIHNldHVwX2lvYXBpY19kZXN0KHZvaWQpOwotZXh0ZXJuIHZvaWQgbmF0aXZlX2luaXRfSVJRKHZvaWQpOwotCi1leHRlcm4gdW5zaWduZWQgbG9uZyBpb19hcGljX2lycXM7Ci0KLWV4dGVybiBhdG9taWNfdCBpcnFfZXJyX2NvdW50OwotZXh0ZXJuIGF0b21pY190IGlycV9taXNfY291bnQ7Ci0KLSNkZWZpbmUgSU9fQVBJQ19JUlEoeCkgKCgoeCkgPj0gMTYpIHx8ICgoMTw8KHgpKSAmIGlvX2FwaWNfaXJxcykpCi0KLSNpbmNsdWRlIDxhc20vcHRyYWNlLmg+Ci0KLSNkZWZpbmUgSVJRX05BTUUyKG5yKSBuciMjX2ludGVycnVwdCh2b2lkKQotI2RlZmluZSBJUlFfTkFNRShucikgSVJRX05BTUUyKElSUSMjbnIpCi0KLS8qCi0gKglTTVAgaGFzIGEgZmV3IHNwZWNpYWwgaW50ZXJydXB0cyBmb3IgSVBJIG1lc3NhZ2VzCi0gKi8KLQotI2RlZmluZSBCVUlMRF9JUlEobnIpCQkJCVwKLQlhc21saW5rYWdlIHZvaWQgSVJRX05BTUUobnIpOwkJXAotCWFzbSgiXG4ucDJhbGlnblxuIgkJCVwKLQkgICAgIklSUSIgI25yICJfaW50ZXJydXB0OlxuXHQiCQlcCi0JICAgICJwdXNoICR+KCIgI25yICIpIDsgIgkJXAotCSAgICAiam1wIGNvbW1vbl9pbnRlcnJ1cHQiKTsKLQotI2RlZmluZSBwbGF0Zm9ybV9sZWdhY3lfaXJxKGlycSkJKChpcnEpIDwgMTYpCi0KLSNlbmRpZgotCi0jZW5kaWYgLyogX0FTTV9IV19JUlFfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2k4MjU5LmggYi9pbmNsdWRlL2FzbS14ODYvaTgyNTkuaAppbmRleCA0NWQ0ZGYzLi4yZjk4ZGY5IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvaTgyNTkuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvaTgyNTkuaApAQCAtNTUsNCArNTUsNiBAQAogCXVkZWxheSgyKTsKIH0KIAorZXh0ZXJuIHN0cnVjdCBpcnFfY2hpcCBpODI1OUFfY2hpcDsKKwogI2VuZGlmCS8qIF9fQVNNX0k4MjU5X0hfXyAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2lvLmggYi9pbmNsdWRlL2FzbS14ODYvaW8uaAppbmRleCBkNWIxMWY2Li5iZjVkNjI5IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvaW8uaAorKysgYi9pbmNsdWRlL2FzbS14ODYvaW8uaApAQCAtMyw2ICszLDc2IEBACiAKICNkZWZpbmUgQVJDSF9IQVNfSU9SRU1BUF9XQwogCisjaW5jbHVkZSA8bGludXgvY29tcGlsZXIuaD4KKworLyoKKyAqIGVhcmx5X2lvcmVtYXAoKSBhbmQgZWFybHlfaW91bm1hcCgpIGFyZSBmb3IgdGVtcG9yYXJ5IGVhcmx5IGJvb3QtdGltZQorICogbWFwcGluZ3MsIGJlZm9yZSB0aGUgcmVhbCBpb3JlbWFwKCkgaXMgZnVuY3Rpb25hbC4KKyAqIEEgYm9vdC10aW1lIG1hcHBpbmcgaXMgY3VycmVudGx5IGxpbWl0ZWQgdG8gYXQgbW9zdCAxNiBwYWdlcy4KKyAqLworI2lmbmRlZiBfX0FTU0VNQkxZX18KK2V4dGVybiB2b2lkIGVhcmx5X2lvcmVtYXBfaW5pdCh2b2lkKTsKK2V4dGVybiB2b2lkIGVhcmx5X2lvcmVtYXBfY2xlYXIodm9pZCk7CitleHRlcm4gdm9pZCBlYXJseV9pb3JlbWFwX3Jlc2V0KHZvaWQpOworZXh0ZXJuIHZvaWQgKmVhcmx5X2lvcmVtYXAodW5zaWduZWQgbG9uZyBvZmZzZXQsIHVuc2lnbmVkIGxvbmcgc2l6ZSk7CitleHRlcm4gdm9pZCBlYXJseV9pb3VubWFwKHZvaWQgKmFkZHIsIHVuc2lnbmVkIGxvbmcgc2l6ZSk7CitleHRlcm4gdm9pZCBfX2lvbWVtICpmaXhfaW9yZW1hcCh1bnNpZ25lZCBpZHgsIHVuc2lnbmVkIGxvbmcgcGh5cyk7CisjZW5kaWYKKworI2RlZmluZSBidWlsZF9tbWlvX3JlYWQobmFtZSwgc2l6ZSwgdHlwZSwgcmVnLCBiYXJyaWVyKSBcCitzdGF0aWMgaW5saW5lIHR5cGUgbmFtZShjb25zdCB2b2xhdGlsZSB2b2lkIF9faW9tZW0gKmFkZHIpIFwKK3sgdHlwZSByZXQ7IGFzbSB2b2xhdGlsZSgibW92IiBzaXplICIgJTEsJTAiOiI9IiByZWcgKHJldCkgXAorOiJtIiAoKih2b2xhdGlsZSB0eXBlIF9fZm9yY2UgKilhZGRyKSBiYXJyaWVyKTsgcmV0dXJuIHJldDsgfQorCisjZGVmaW5lIGJ1aWxkX21taW9fd3JpdGUobmFtZSwgc2l6ZSwgdHlwZSwgcmVnLCBiYXJyaWVyKSBcCitzdGF0aWMgaW5saW5lIHZvaWQgbmFtZSh0eXBlIHZhbCwgdm9sYXRpbGUgdm9pZCBfX2lvbWVtICphZGRyKSBcCit7IGFzbSB2b2xhdGlsZSgibW92IiBzaXplICIgJTAsJTEiOiA6cmVnICh2YWwpLCBcCisibSIgKCoodm9sYXRpbGUgdHlwZSBfX2ZvcmNlICopYWRkcikgYmFycmllcik7IH0KKworYnVpbGRfbW1pb19yZWFkKHJlYWRiLCAiYiIsIHVuc2lnbmVkIGNoYXIsICJxIiwgOiJtZW1vcnkiKQorYnVpbGRfbW1pb19yZWFkKHJlYWR3LCAidyIsIHVuc2lnbmVkIHNob3J0LCAiciIsIDoibWVtb3J5IikKK2J1aWxkX21taW9fcmVhZChyZWFkbCwgImwiLCB1bnNpZ25lZCBpbnQsICJyIiwgOiJtZW1vcnkiKQorCitidWlsZF9tbWlvX3JlYWQoX19yZWFkYiwgImIiLCB1bnNpZ25lZCBjaGFyLCAicSIsICkKK2J1aWxkX21taW9fcmVhZChfX3JlYWR3LCAidyIsIHVuc2lnbmVkIHNob3J0LCAiciIsICkKK2J1aWxkX21taW9fcmVhZChfX3JlYWRsLCAibCIsIHVuc2lnbmVkIGludCwgInIiLCApCisKK2J1aWxkX21taW9fd3JpdGUod3JpdGViLCAiYiIsIHVuc2lnbmVkIGNoYXIsICJxIiwgOiJtZW1vcnkiKQorYnVpbGRfbW1pb193cml0ZSh3cml0ZXcsICJ3IiwgdW5zaWduZWQgc2hvcnQsICJyIiwgOiJtZW1vcnkiKQorYnVpbGRfbW1pb193cml0ZSh3cml0ZWwsICJsIiwgdW5zaWduZWQgaW50LCAiciIsIDoibWVtb3J5IikKKworYnVpbGRfbW1pb193cml0ZShfX3dyaXRlYiwgImIiLCB1bnNpZ25lZCBjaGFyLCAicSIsICkKK2J1aWxkX21taW9fd3JpdGUoX193cml0ZXcsICJ3IiwgdW5zaWduZWQgc2hvcnQsICJyIiwgKQorYnVpbGRfbW1pb193cml0ZShfX3dyaXRlbCwgImwiLCB1bnNpZ25lZCBpbnQsICJyIiwgKQorCisjZGVmaW5lIHJlYWRiX3JlbGF4ZWQoYSkgX19yZWFkYihhKQorI2RlZmluZSByZWFkd19yZWxheGVkKGEpIF9fcmVhZHcoYSkKKyNkZWZpbmUgcmVhZGxfcmVsYXhlZChhKSBfX3JlYWRsKGEpCisjZGVmaW5lIF9fcmF3X3JlYWRiIF9fcmVhZGIKKyNkZWZpbmUgX19yYXdfcmVhZHcgX19yZWFkdworI2RlZmluZSBfX3Jhd19yZWFkbCBfX3JlYWRsCisKKyNkZWZpbmUgX19yYXdfd3JpdGViIF9fd3JpdGViCisjZGVmaW5lIF9fcmF3X3dyaXRldyBfX3dyaXRldworI2RlZmluZSBfX3Jhd193cml0ZWwgX193cml0ZWwKKworI2RlZmluZSBtbWlvd2IoKSBiYXJyaWVyKCkKKworI2lmZGVmIENPTkZJR19YODZfNjQKK2J1aWxkX21taW9fcmVhZChyZWFkcSwgInEiLCB1bnNpZ25lZCBsb25nLCAiciIsIDoibWVtb3J5IikKK2J1aWxkX21taW9fcmVhZChfX3JlYWRxLCAicSIsIHVuc2lnbmVkIGxvbmcsICJyIiwgKQorYnVpbGRfbW1pb193cml0ZSh3cml0ZXEsICJxIiwgdW5zaWduZWQgbG9uZywgInIiLCA6Im1lbW9yeSIpCitidWlsZF9tbWlvX3dyaXRlKF9fd3JpdGVxLCAicSIsIHVuc2lnbmVkIGxvbmcsICJyIiwgKQorCisjZGVmaW5lIHJlYWRxX3JlbGF4ZWQoYSkgX19yZWFkcShhKQorI2RlZmluZSBfX3Jhd19yZWFkcSBfX3JlYWRxCisjZGVmaW5lIF9fcmF3X3dyaXRlcSB3cml0ZXEKKworLyogTGV0IHBlb3BsZSBrbm93IHdlIGhhdmUgdGhlbSAqLworI2RlZmluZSByZWFkcSByZWFkcQorI2RlZmluZSB3cml0ZXEgd3JpdGVxCisjZW5kaWYKKwogI2lmZGVmIENPTkZJR19YODZfMzIKICMgaW5jbHVkZSAiaW9fMzIuaCIKICNlbHNlCkBAIC0xNiw0ICs4NiwxNyBAQAogCQkJCXVuc2lnbmVkIGxvbmcgcHJvdF92YWwpOwogZXh0ZXJuIHZvaWQgX19pb21lbSAqaW9yZW1hcF93Yyh1bnNpZ25lZCBsb25nIG9mZnNldCwgdW5zaWduZWQgbG9uZyBzaXplKTsKIAorLyoKKyAqIGVhcmx5X2lvcmVtYXAoKSBhbmQgZWFybHlfaW91bm1hcCgpIGFyZSBmb3IgdGVtcG9yYXJ5IGVhcmx5IGJvb3QtdGltZQorICogbWFwcGluZ3MsIGJlZm9yZSB0aGUgcmVhbCBpb3JlbWFwKCkgaXMgZnVuY3Rpb25hbC4KKyAqIEEgYm9vdC10aW1lIG1hcHBpbmcgaXMgY3VycmVudGx5IGxpbWl0ZWQgdG8gYXQgbW9zdCAxNiBwYWdlcy4KKyAqLworZXh0ZXJuIHZvaWQgZWFybHlfaW9yZW1hcF9pbml0KHZvaWQpOworZXh0ZXJuIHZvaWQgZWFybHlfaW9yZW1hcF9jbGVhcih2b2lkKTsKK2V4dGVybiB2b2lkIGVhcmx5X2lvcmVtYXBfcmVzZXQodm9pZCk7CitleHRlcm4gdm9pZCAqZWFybHlfaW9yZW1hcCh1bnNpZ25lZCBsb25nIG9mZnNldCwgdW5zaWduZWQgbG9uZyBzaXplKTsKK2V4dGVybiB2b2lkIGVhcmx5X2lvdW5tYXAodm9pZCAqYWRkciwgdW5zaWduZWQgbG9uZyBzaXplKTsKK2V4dGVybiB2b2lkIF9faW9tZW0gKmZpeF9pb3JlbWFwKHVuc2lnbmVkIGlkeCwgdW5zaWduZWQgbG9uZyBwaHlzKTsKKworCiAjZW5kaWYgLyogX0FTTV9YODZfSU9fSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2lvXzMyLmggYi9pbmNsdWRlL2FzbS14ODYvaW9fMzIuaAppbmRleCAwNDllODFlLi40ZGY0NGVkIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvaW9fMzIuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvaW9fMzIuaApAQCAtMTIyLDE4ICsxMjIsNiBAQAogZXh0ZXJuIHZvaWQgaW91bm1hcCh2b2xhdGlsZSB2b2lkIF9faW9tZW0gKmFkZHIpOwogCiAvKgotICogZWFybHlfaW9yZW1hcCgpIGFuZCBlYXJseV9pb3VubWFwKCkgYXJlIGZvciB0ZW1wb3JhcnkgZWFybHkgYm9vdC10aW1lCi0gKiBtYXBwaW5ncywgYmVmb3JlIHRoZSByZWFsIGlvcmVtYXAoKSBpcyBmdW5jdGlvbmFsLgotICogQSBib290LXRpbWUgbWFwcGluZyBpcyBjdXJyZW50bHkgbGltaXRlZCB0byBhdCBtb3N0IDE2IHBhZ2VzLgotICovCi1leHRlcm4gdm9pZCBlYXJseV9pb3JlbWFwX2luaXQodm9pZCk7Ci1leHRlcm4gdm9pZCBlYXJseV9pb3JlbWFwX2NsZWFyKHZvaWQpOwotZXh0ZXJuIHZvaWQgZWFybHlfaW9yZW1hcF9yZXNldCh2b2lkKTsKLWV4dGVybiB2b2lkICplYXJseV9pb3JlbWFwKHVuc2lnbmVkIGxvbmcgb2Zmc2V0LCB1bnNpZ25lZCBsb25nIHNpemUpOwotZXh0ZXJuIHZvaWQgZWFybHlfaW91bm1hcCh2b2lkICphZGRyLCB1bnNpZ25lZCBsb25nIHNpemUpOwotZXh0ZXJuIHZvaWQgX19pb21lbSAqZml4X2lvcmVtYXAodW5zaWduZWQgaWR4LCB1bnNpZ25lZCBsb25nIHBoeXMpOwotCi0vKgogICogSVNBIEkvTyBidXMgbWVtb3J5IGFkZHJlc3NlcyBhcmUgMToxIHdpdGggdGhlIHBoeXNpY2FsIGFkZHJlc3MuCiAgKi8KICNkZWZpbmUgaXNhX3ZpcnRfdG9fYnVzIHZpcnRfdG9fcGh5cwpAQCAtMTQ5LDU1ICsxMzcsNiBAQAogI2RlZmluZSB2aXJ0X3RvX2J1cyB2aXJ0X3RvX3BoeXMKICNkZWZpbmUgYnVzX3RvX3ZpcnQgcGh5c190b192aXJ0CiAKLS8qCi0gKiByZWFkWC93cml0ZVgoKSBhcmUgdXNlZCB0byBhY2Nlc3MgbWVtb3J5IG1hcHBlZCBkZXZpY2VzLiBPbiBzb21lCi0gKiBhcmNoaXRlY3R1cmVzIHRoZSBtZW1vcnkgbWFwcGVkIElPIHN0dWZmIG5lZWRzIHRvIGJlIGFjY2Vzc2VkCi0gKiBkaWZmZXJlbnRseS4gT24gdGhlIHg4NiBhcmNoaXRlY3R1cmUsIHdlIGp1c3QgcmVhZC93cml0ZSB0aGUKLSAqIG1lbW9yeSBsb2NhdGlvbiBkaXJlY3RseS4KLSAqLwotCi1zdGF0aWMgaW5saW5lIHVuc2lnbmVkIGNoYXIgcmVhZGIoY29uc3Qgdm9sYXRpbGUgdm9pZCBfX2lvbWVtICphZGRyKQotewotCXJldHVybiAqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgX19mb3JjZSAqKWFkZHI7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdW5zaWduZWQgc2hvcnQgcmVhZHcoY29uc3Qgdm9sYXRpbGUgdm9pZCBfX2lvbWVtICphZGRyKQotewotCXJldHVybiAqKHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0IF9fZm9yY2UgKilhZGRyOwotfQotCi1zdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCByZWFkbChjb25zdCB2b2xhdGlsZSB2b2lkIF9faW9tZW0gKmFkZHIpCi17Ci0JcmV0dXJuICoodm9sYXRpbGUgdW5zaWduZWQgaW50IF9fZm9yY2UgKikgYWRkcjsKLX0KLQotI2RlZmluZSByZWFkYl9yZWxheGVkKGFkZHIpIHJlYWRiKGFkZHIpCi0jZGVmaW5lIHJlYWR3X3JlbGF4ZWQoYWRkcikgcmVhZHcoYWRkcikKLSNkZWZpbmUgcmVhZGxfcmVsYXhlZChhZGRyKSByZWFkbChhZGRyKQotI2RlZmluZSBfX3Jhd19yZWFkYiByZWFkYgotI2RlZmluZSBfX3Jhd19yZWFkdyByZWFkdwotI2RlZmluZSBfX3Jhd19yZWFkbCByZWFkbAotCi1zdGF0aWMgaW5saW5lIHZvaWQgd3JpdGViKHVuc2lnbmVkIGNoYXIgYiwgdm9sYXRpbGUgdm9pZCBfX2lvbWVtICphZGRyKQotewotCSoodm9sYXRpbGUgdW5zaWduZWQgY2hhciBfX2ZvcmNlICopYWRkciA9IGI7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCB3cml0ZXcodW5zaWduZWQgc2hvcnQgYiwgdm9sYXRpbGUgdm9pZCBfX2lvbWVtICphZGRyKQotewotCSoodm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgX19mb3JjZSAqKWFkZHIgPSBiOwotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQgd3JpdGVsKHVuc2lnbmVkIGludCBiLCB2b2xhdGlsZSB2b2lkIF9faW9tZW0gKmFkZHIpCi17Ci0JKih2b2xhdGlsZSB1bnNpZ25lZCBpbnQgX19mb3JjZSAqKWFkZHIgPSBiOwotfQotI2RlZmluZSBfX3Jhd193cml0ZWIgd3JpdGViCi0jZGVmaW5lIF9fcmF3X3dyaXRldyB3cml0ZXcKLSNkZWZpbmUgX19yYXdfd3JpdGVsIHdyaXRlbAotCi0jZGVmaW5lIG1taW93YigpCi0KIHN0YXRpYyBpbmxpbmUgdm9pZAogbWVtc2V0X2lvKHZvbGF0aWxlIHZvaWQgX19pb21lbSAqYWRkciwgdW5zaWduZWQgY2hhciB2YWwsIGludCBjb3VudCkKIHsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9pb182NC5oIGIvaW5jbHVkZS9hc20teDg2L2lvXzY0LmgKaW5kZXggMDkzMGJlZC4uZGRkODA1OCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2lvXzY0LmgKKysrIGIvaW5jbHVkZS9hc20teDg2L2lvXzY0LmgKQEAgLTIwNCw3NyArMjA0LDYgQEAKICNkZWZpbmUgdmlydF90b19idXMgdmlydF90b19waHlzCiAjZGVmaW5lIGJ1c190b192aXJ0IHBoeXNfdG9fdmlydAogCi0vKgotICogcmVhZFgvd3JpdGVYKCkgYXJlIHVzZWQgdG8gYWNjZXNzIG1lbW9yeSBtYXBwZWQgZGV2aWNlcy4gT24gc29tZQotICogYXJjaGl0ZWN0dXJlcyB0aGUgbWVtb3J5IG1hcHBlZCBJTyBzdHVmZiBuZWVkcyB0byBiZSBhY2Nlc3NlZAotICogZGlmZmVyZW50bHkuIE9uIHRoZSB4ODYgYXJjaGl0ZWN0dXJlLCB3ZSBqdXN0IHJlYWQvd3JpdGUgdGhlCi0gKiBtZW1vcnkgbG9jYXRpb24gZGlyZWN0bHkuCi0gKi8KLQotc3RhdGljIGlubGluZSBfX3U4IF9fcmVhZGIoY29uc3Qgdm9sYXRpbGUgdm9pZCBfX2lvbWVtICphZGRyKQotewotCXJldHVybiAqKF9fZm9yY2Ugdm9sYXRpbGUgX191OCAqKWFkZHI7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgX191MTYgX19yZWFkdyhjb25zdCB2b2xhdGlsZSB2b2lkIF9faW9tZW0gKmFkZHIpCi17Ci0JcmV0dXJuICooX19mb3JjZSB2b2xhdGlsZSBfX3UxNiAqKWFkZHI7Ci19Ci0KLXN0YXRpYyBfX2Fsd2F5c19pbmxpbmUgX191MzIgX19yZWFkbChjb25zdCB2b2xhdGlsZSB2b2lkIF9faW9tZW0gKmFkZHIpCi17Ci0JcmV0dXJuICooX19mb3JjZSB2b2xhdGlsZSBfX3UzMiAqKWFkZHI7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgX191NjQgX19yZWFkcShjb25zdCB2b2xhdGlsZSB2b2lkIF9faW9tZW0gKmFkZHIpCi17Ci0JcmV0dXJuICooX19mb3JjZSB2b2xhdGlsZSBfX3U2NCAqKWFkZHI7Ci19Ci0KLSNkZWZpbmUgcmVhZGIoeCkgX19yZWFkYih4KQotI2RlZmluZSByZWFkdyh4KSBfX3JlYWR3KHgpCi0jZGVmaW5lIHJlYWRsKHgpIF9fcmVhZGwoeCkKLSNkZWZpbmUgcmVhZHEoeCkgX19yZWFkcSh4KQotI2RlZmluZSByZWFkYl9yZWxheGVkKGEpIHJlYWRiKGEpCi0jZGVmaW5lIHJlYWR3X3JlbGF4ZWQoYSkgcmVhZHcoYSkKLSNkZWZpbmUgcmVhZGxfcmVsYXhlZChhKSByZWFkbChhKQotI2RlZmluZSByZWFkcV9yZWxheGVkKGEpIHJlYWRxKGEpCi0jZGVmaW5lIF9fcmF3X3JlYWRiIHJlYWRiCi0jZGVmaW5lIF9fcmF3X3JlYWR3IHJlYWR3Ci0jZGVmaW5lIF9fcmF3X3JlYWRsIHJlYWRsCi0jZGVmaW5lIF9fcmF3X3JlYWRxIHJlYWRxCi0KLSNkZWZpbmUgbW1pb3diKCkKLQotc3RhdGljIGlubGluZSB2b2lkIF9fd3JpdGVsKF9fdTMyIGIsIHZvbGF0aWxlIHZvaWQgX19pb21lbSAqYWRkcikKLXsKLQkqKF9fZm9yY2Ugdm9sYXRpbGUgX191MzIgKilhZGRyID0gYjsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIF9fd3JpdGVxKF9fdTY0IGIsIHZvbGF0aWxlIHZvaWQgX19pb21lbSAqYWRkcikKLXsKLQkqKF9fZm9yY2Ugdm9sYXRpbGUgX191NjQgKilhZGRyID0gYjsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIF9fd3JpdGViKF9fdTggYiwgdm9sYXRpbGUgdm9pZCBfX2lvbWVtICphZGRyKQotewotCSooX19mb3JjZSB2b2xhdGlsZSBfX3U4ICopYWRkciA9IGI7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCBfX3dyaXRldyhfX3UxNiBiLCB2b2xhdGlsZSB2b2lkIF9faW9tZW0gKmFkZHIpCi17Ci0JKihfX2ZvcmNlIHZvbGF0aWxlIF9fdTE2ICopYWRkciA9IGI7Ci19Ci0KLSNkZWZpbmUgd3JpdGVxKHZhbCwgYWRkcikgX193cml0ZXEoKHZhbCksIChhZGRyKSkKLSNkZWZpbmUgd3JpdGVsKHZhbCwgYWRkcikgX193cml0ZWwoKHZhbCksIChhZGRyKSkKLSNkZWZpbmUgd3JpdGV3KHZhbCwgYWRkcikgX193cml0ZXcoKHZhbCksIChhZGRyKSkKLSNkZWZpbmUgd3JpdGViKHZhbCwgYWRkcikgX193cml0ZWIoKHZhbCksIChhZGRyKSkKLSNkZWZpbmUgX19yYXdfd3JpdGViIHdyaXRlYgotI2RlZmluZSBfX3Jhd193cml0ZXcgd3JpdGV3Ci0jZGVmaW5lIF9fcmF3X3dyaXRlbCB3cml0ZWwKLSNkZWZpbmUgX19yYXdfd3JpdGVxIHdyaXRlcQotCiB2b2lkIF9fbWVtY3B5X2Zyb21pbyh2b2lkICosIHVuc2lnbmVkIGxvbmcsIHVuc2lnbmVkKTsKIHZvaWQgX19tZW1jcHlfdG9pbyh1bnNpZ25lZCBsb25nLCBjb25zdCB2b2lkICosIHVuc2lnbmVkKTsKIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2lvX2FwaWMuaCBiL2luY2x1ZGUvYXNtLXg4Ni9pb19hcGljLmgKaW5kZXggZDU5M2UxNC4uMTRmODJiYiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2lvX2FwaWMuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvaW9fYXBpYy5oCkBAIC0xMSw2ICsxMSwxNSBAQAogICogQ29weXJpZ2h0IChDKSAxOTk3LCAxOTk4LCAxOTk5LCAyMDAwIEluZ28gTW9sbmFyCiAgKi8KIAorLyogSS9PIFVuaXQgUmVkaXJlY3Rpb24gVGFibGUgKi8KKyNkZWZpbmUgSU9fQVBJQ19SRURJUl9WRUNUT1JfTUFTSwkweDAwMEZGCisjZGVmaW5lIElPX0FQSUNfUkVESVJfREVTVF9MT0dJQ0FMCTB4MDA4MDAKKyNkZWZpbmUgSU9fQVBJQ19SRURJUl9ERVNUX1BIWVNJQ0FMCTB4MDAwMDAKKyNkZWZpbmUgSU9fQVBJQ19SRURJUl9TRU5EX1BFTkRJTkcJKDEgPDwgMTIpCisjZGVmaW5lIElPX0FQSUNfUkVESVJfUkVNT1RFX0lSUgkoMSA8PCAxNCkKKyNkZWZpbmUgSU9fQVBJQ19SRURJUl9MRVZFTF9UUklHR0VSCSgxIDw8IDE1KQorI2RlZmluZSBJT19BUElDX1JFRElSX01BU0tFRAkJKDEgPDwgMTYpCisKIC8qCiAgKiBUaGUgc3RydWN0dXJlIG9mIHRoZSBJTy1BUElDOgogICovCkBAIC0xMTIsMjEgKzEyMSwzMiBAQAogCiAjZGVmaW5lIE1QX01BWF9JT0FQSUNfUElOIDEyNwogCi1zdHJ1Y3QgbXBfaW9hcGljX3JvdXRpbmcgewotCWludCBhcGljX2lkOwotCWludCBnc2lfYmFzZTsKLQlpbnQgZ3NpX2VuZDsKLQlERUNMQVJFX0JJVE1BUChwaW5fcHJvZ3JhbW1lZCwgTVBfTUFYX0lPQVBJQ19QSU4gKyAxKTsKK3N0cnVjdCBtcF9jb25maWdfaW9hcGljIHsKKwl1bnNpZ25lZCBsb25nIG1wX2FwaWNhZGRyOworCXVuc2lnbmVkIGludCBtcF9hcGljaWQ7CisJdW5zaWduZWQgY2hhciBtcF90eXBlOworCXVuc2lnbmVkIGNoYXIgbXBfYXBpY3ZlcjsKKwl1bnNpZ25lZCBjaGFyIG1wX2ZsYWdzOworfTsKKworc3RydWN0IG1wX2NvbmZpZ19pbnRzcmMgeworCXVuc2lnbmVkIGludCBtcF9kc3RhcGljOworCXVuc2lnbmVkIGNoYXIgbXBfdHlwZTsKKwl1bnNpZ25lZCBjaGFyIG1wX2lycXR5cGU7CisJdW5zaWduZWQgc2hvcnQgbXBfaXJxZmxhZzsKKwl1bnNpZ25lZCBjaGFyIG1wX3NyY2J1czsKKwl1bnNpZ25lZCBjaGFyIG1wX3NyY2J1c2lycTsKKwl1bnNpZ25lZCBjaGFyIG1wX2RzdGlycTsKIH07CiAKIC8qIEkvTyBBUElDIGVudHJpZXMgKi8KLWV4dGVybiBzdHJ1Y3QgbXBjX2NvbmZpZ19pb2FwaWMgbXBfaW9hcGljc1tNQVhfSU9fQVBJQ1NdOworZXh0ZXJuIHN0cnVjdCBtcF9jb25maWdfaW9hcGljIG1wX2lvYXBpY3NbTUFYX0lPX0FQSUNTXTsKIAogLyogIyBvZiBNUCBJUlEgc291cmNlIGVudHJpZXMgKi8KIGV4dGVybiBpbnQgbXBfaXJxX2VudHJpZXM7CiAKIC8qIE1QIElSUSBzb3VyY2UgZW50cmllcyAqLwotZXh0ZXJuIHN0cnVjdCBtcGNfY29uZmlnX2ludHNyYyBtcF9pcnFzW01BWF9JUlFfU09VUkNFU107CitleHRlcm4gc3RydWN0IG1wX2NvbmZpZ19pbnRzcmMgbXBfaXJxc1tNQVhfSVJRX1NPVVJDRVNdOwogCiAvKiBub24tMCBpZiBkZWZhdWx0ICh0YWJsZS1sZXNzKSBNUCBjb25maWd1cmF0aW9uICovCiBleHRlcm4gaW50IG1wY19kZWZhdWx0X3R5cGU7CkBAIC0xMzcsNiArMTU3LDkgQEAKIC8qIDEgaWYgIm5vYXBpYyIgYm9vdCBvcHRpb24gcGFzc2VkICovCiBleHRlcm4gaW50IHNraXBfaW9hcGljX3NldHVwOwogCisvKiAxIGlmIHRoZSB0aW1lciBJUlEgdXNlcyB0aGUgJzgyNTlBIFZpcnR1YWwgV2lyZScgbW9kZSAqLworZXh0ZXJuIGludCB0aW1lcl90aHJvdWdoXzgyNTk7CisKIHN0YXRpYyBpbmxpbmUgdm9pZCBkaXNhYmxlX2lvYXBpY19zZXR1cCh2b2lkKQogewogCXNraXBfaW9hcGljX3NldHVwID0gMTsKQEAgLTE2Miw2ICsxODUsOCBAQAogCiAjZWxzZSAgLyogIUNPTkZJR19YODZfSU9fQVBJQyAqLwogI2RlZmluZSBpb19hcGljX2Fzc2lnbl9wY2lfaXJxcyAwCitzdGF0aWMgY29uc3QgaW50IHRpbWVyX3Rocm91Z2hfODI1OSA9IDA7CitzdGF0aWMgaW5saW5lIHZvaWQgaW9hcGljX2luaXRfbWFwcGluZ3Modm9pZCkgeyB9CiAjZW5kaWYKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvaW9tbXUuaCBiL2luY2x1ZGUvYXNtLXg4Ni9pb21tdS5oCmluZGV4IDA3ODYyZmQuLjA2OGM5YTQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9pb21tdS5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9pb21tdS5oCkBAIC0xLDI5ICsxLDM0IEBACi0jaWZuZGVmIF9BU01fWDg2NjRfR0FSVF9ICi0jZGVmaW5lIF9BU01fWDg2NjRfR0FSVF9IIDEKKyNpZm5kZWYgX0FTTV9YODY2NF9JT01NVV9ICisjZGVmaW5lIF9BU01fWDg2NjRfSU9NTVVfSCAxCiAKIGV4dGVybiB2b2lkIHBjaV9pb21tdV9zaHV0ZG93bih2b2lkKTsKIGV4dGVybiB2b2lkIG5vX2lvbW11X2luaXQodm9pZCk7CiBleHRlcm4gaW50IGZvcmNlX2lvbW11LCBub19pb21tdTsKIGV4dGVybiBpbnQgaW9tbXVfZGV0ZWN0ZWQ7Ci0jaWZkZWYgQ09ORklHX0lPTU1VCisKKyNpZmRlZiBDT05GSUdfR0FSVF9JT01NVQorZXh0ZXJuIGludCBnYXJ0X2lvbW11X2FwZXJ0dXJlOworZXh0ZXJuIGludCBnYXJ0X2lvbW11X2FwZXJ0dXJlX2FsbG93ZWQ7CitleHRlcm4gaW50IGdhcnRfaW9tbXVfYXBlcnR1cmVfZGlzYWJsZWQ7CisKK2V4dGVybiB2b2lkIGVhcmx5X2dhcnRfaW9tbXVfY2hlY2sodm9pZCk7CiBleHRlcm4gdm9pZCBnYXJ0X2lvbW11X2luaXQodm9pZCk7CiBleHRlcm4gdm9pZCBnYXJ0X2lvbW11X3NodXRkb3duKHZvaWQpOwogZXh0ZXJuIHZvaWQgX19pbml0IGdhcnRfcGFyc2Vfb3B0aW9ucyhjaGFyICopOwotZXh0ZXJuIHZvaWQgaW9tbXVfaG9sZV9pbml0KHZvaWQpOwotZXh0ZXJuIGludCBmYWxsYmFja19hcGVyX29yZGVyOwotZXh0ZXJuIGludCBmYWxsYmFja19hcGVyX2ZvcmNlOwotZXh0ZXJuIGludCBpb21tdV9hcGVydHVyZTsKLWV4dGVybiBpbnQgaW9tbXVfYXBlcnR1cmVfYWxsb3dlZDsKLWV4dGVybiBpbnQgaW9tbXVfYXBlcnR1cmVfZGlzYWJsZWQ7Ci1leHRlcm4gaW50IGZpeF9hcGVydHVyZTsKK2V4dGVybiB2b2lkIGdhcnRfaW9tbXVfaG9sZV9pbml0KHZvaWQpOworCiAjZWxzZQotI2RlZmluZSBpb21tdV9hcGVydHVyZSAwCi0jZGVmaW5lIGlvbW11X2FwZXJ0dXJlX2FsbG93ZWQgMAorI2RlZmluZSBnYXJ0X2lvbW11X2FwZXJ0dXJlICAgICAgICAgICAgMAorI2RlZmluZSBnYXJ0X2lvbW11X2FwZXJ0dXJlX2FsbG93ZWQgICAgMAorI2RlZmluZSBnYXJ0X2lvbW11X2FwZXJ0dXJlX2Rpc2FibGVkICAgMQorCitzdGF0aWMgaW5saW5lIHZvaWQgZWFybHlfZ2FydF9pb21tdV9jaGVjayh2b2lkKQoreworfQogCiBzdGF0aWMgaW5saW5lIHZvaWQgZ2FydF9pb21tdV9zaHV0ZG93bih2b2lkKQogewogfQotCiAjZW5kaWYKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvaXBpLmggYi9pbmNsdWRlL2FzbS14ODYvaXBpLmgKaW5kZXggZWNjODBmMy4uMTk2ZDYzYyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2lwaS5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9pcGkuaApAQCAtMjAsNiArMjAsNyBAQAogCiAjaW5jbHVkZSA8YXNtL2h3X2lycS5oPgogI2luY2x1ZGUgPGFzbS9hcGljLmg+CisjaW5jbHVkZSA8YXNtL3NtcC5oPgogCiAvKgogICogdGhlIGZvbGxvd2luZyBmdW5jdGlvbnMgZGVhbCB3aXRoIHNlbmRpbmcgSVBJcyBiZXR3ZWVuIENQVXMuCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvaXJxLmggYi9pbmNsdWRlL2FzbS14ODYvaXJxLmgKaW5kZXggN2JhOTA1NC4uMWEyOTI1NyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2lycS5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9pcnEuaApAQCAtMSw1ICsxLDUwIEBACi0jaWZkZWYgQ09ORklHX1g4Nl8zMgotIyBpbmNsdWRlICJpcnFfMzIuaCIKLSNlbHNlCi0jIGluY2x1ZGUgImlycV82NC5oIgorI2lmbmRlZiBfQVNNX0lSUV9ICisjZGVmaW5lIF9BU01fSVJRX0gKKy8qCisgKgkoQykgMTk5MiwgMTk5MyBMaW51cyBUb3J2YWxkcywgKEMpIDE5OTcgSW5nbyBNb2xuYXIKKyAqCisgKglJUlEvSVBJIGNoYW5nZXMgdGFrZW4gZnJvbSB3b3JrIGJ5IFRob21hcyBSYWRrZQorICoJPHRvbXNvZnRAaW5mb3JtYXRpay50dS1jaGVtbml0ei5kZT4KKyAqLworCisjaW5jbHVkZSA8YXNtL2FwaWNkZWYuaD4KKyNpbmNsdWRlIDxhc20vaXJxX3ZlY3RvcnMuaD4KKworc3RhdGljIGlubGluZSBpbnQgaXJxX2Nhbm9uaWNhbGl6ZShpbnQgaXJxKQoreworCXJldHVybiAoKGlycSA9PSAyKSA/IDkgOiBpcnEpOworfQorCisjaWZkZWYgQ09ORklHX1g4Nl9MT0NBTF9BUElDCisjIGRlZmluZSBBUkNIX0hBU19OTUlfV0FUQ0hET0cKICNlbmRpZgorCisjaWZkZWYgQ09ORklHXzRLU1RBQ0tTCisgIGV4dGVybiB2b2lkIGlycV9jdHhfaW5pdChpbnQgY3B1KTsKKyAgZXh0ZXJuIHZvaWQgaXJxX2N0eF9leGl0KGludCBjcHUpOworIyBkZWZpbmUgX19BUkNIX0hBU19ET19TT0ZUSVJRCisjZWxzZQorIyBkZWZpbmUgaXJxX2N0eF9pbml0KGNwdSkgZG8geyB9IHdoaWxlICgwKQorIyBkZWZpbmUgaXJxX2N0eF9leGl0KGNwdSkgZG8geyB9IHdoaWxlICgwKQorIyBpZmRlZiBDT05GSUdfWDg2XzY0CisjICBkZWZpbmUgX19BUkNIX0hBU19ET19TT0ZUSVJRCisjIGVuZGlmCisjZW5kaWYKKworI2lmZGVmIENPTkZJR19JUlFCQUxBTkNFCitleHRlcm4gaW50IGlycWJhbGFuY2VfZGlzYWJsZShjaGFyICpzdHIpOworI2VuZGlmCisKKyNpZmRlZiBDT05GSUdfSE9UUExVR19DUFUKKyNpbmNsdWRlIDxsaW51eC9jcHVtYXNrLmg+CitleHRlcm4gdm9pZCBmaXh1cF9pcnFzKGNwdW1hc2tfdCBtYXApOworI2VuZGlmCisKK2V4dGVybiB1bnNpZ25lZCBpbnQgZG9fSVJRKHN0cnVjdCBwdF9yZWdzICpyZWdzKTsKK2V4dGVybiB2b2lkIGluaXRfSVJRKHZvaWQpOworZXh0ZXJuIHZvaWQgbmF0aXZlX2luaXRfSVJRKHZvaWQpOworCisvKiBJbnRlcnJ1cHQgdmVjdG9yIG1hbmFnZW1lbnQgKi8KK2V4dGVybiBERUNMQVJFX0JJVE1BUCh1c2VkX3ZlY3RvcnMsIE5SX1ZFQ1RPUlMpOworCisjZW5kaWYgLyogX0FTTV9JUlFfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2lycV8zMi5oIGIvaW5jbHVkZS9hc20teDg2L2lycV8zMi5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwYjc5ZjMxLi4wMDAwMDAwCi0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9pcnFfMzIuaAorKysgL2Rldi9udWxsCkBAIC0xLDUxICswLDAgQEAKLSNpZm5kZWYgX0FTTV9JUlFfSAotI2RlZmluZSBfQVNNX0lSUV9ICi0KLS8qCi0gKglsaW51eC9pbmNsdWRlL2FzbS9pcnEuaAotICoKLSAqCShDKSAxOTkyLCAxOTkzIExpbnVzIFRvcnZhbGRzLCAoQykgMTk5NyBJbmdvIE1vbG5hcgotICoKLSAqCUlSUS9JUEkgY2hhbmdlcyB0YWtlbiBmcm9tIHdvcmsgYnkgVGhvbWFzIFJhZGtlCi0gKgk8dG9tc29mdEBpbmZvcm1hdGlrLnR1LWNoZW1uaXR6LmRlPgotICovCi0KLSNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgotLyogaW5jbHVkZSBjb21lcyBmcm9tIG1hY2hpbmUgc3BlY2lmaWMgZGlyZWN0b3J5ICovCi0jaW5jbHVkZSAiaXJxX3ZlY3RvcnMuaCIKLSNpbmNsdWRlIDxhc20vdGhyZWFkX2luZm8uaD4KLQotc3RhdGljIGlubGluZSBpbnQgaXJxX2Nhbm9uaWNhbGl6ZShpbnQgaXJxKQotewotCXJldHVybiAoKGlycSA9PSAyKSA/IDkgOiBpcnEpOwotfQotCi0jaWZkZWYgQ09ORklHX1g4Nl9MT0NBTF9BUElDCi0jIGRlZmluZSBBUkNIX0hBU19OTUlfV0FUQ0hET0cJCS8qIFNlZSBpbmNsdWRlL2xpbnV4L25taS5oICovCi0jZW5kaWYKLQotI2lmZGVmIENPTkZJR180S1NUQUNLUwotICBleHRlcm4gdm9pZCBpcnFfY3R4X2luaXQoaW50IGNwdSk7Ci0gIGV4dGVybiB2b2lkIGlycV9jdHhfZXhpdChpbnQgY3B1KTsKLSMgZGVmaW5lIF9fQVJDSF9IQVNfRE9fU09GVElSUQotI2Vsc2UKLSMgZGVmaW5lIGlycV9jdHhfaW5pdChjcHUpIGRvIHsgfSB3aGlsZSAoMCkKLSMgZGVmaW5lIGlycV9jdHhfZXhpdChjcHUpIGRvIHsgfSB3aGlsZSAoMCkKLSNlbmRpZgotCi0jaWZkZWYgQ09ORklHX0lSUUJBTEFOQ0UKLWV4dGVybiBpbnQgaXJxYmFsYW5jZV9kaXNhYmxlKGNoYXIgKnN0cik7Ci0jZW5kaWYKLQotI2lmZGVmIENPTkZJR19IT1RQTFVHX0NQVQotZXh0ZXJuIHZvaWQgZml4dXBfaXJxcyhjcHVtYXNrX3QgbWFwKTsKLSNlbmRpZgotCi11bnNpZ25lZCBpbnQgZG9fSVJRKHN0cnVjdCBwdF9yZWdzICpyZWdzKTsKLXZvaWQgaW5pdF9JUlEodm9pZCk7Ci12b2lkIF9faW5pdCBuYXRpdmVfaW5pdF9JUlEodm9pZCk7Ci0KLS8qIEludGVycnVwdCB2ZWN0b3IgbWFuYWdlbWVudCAqLwotZXh0ZXJuIERFQ0xBUkVfQklUTUFQKHVzZWRfdmVjdG9ycywgTlJfVkVDVE9SUyk7Ci0KLSNlbmRpZiAvKiBfQVNNX0lSUV9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvaXJxXzY0LmggYi9pbmNsdWRlL2FzbS14ODYvaXJxXzY0LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA4M2QzNWEuLjAwMDAwMDAKLS0tIGEvaW5jbHVkZS9hc20teDg2L2lycV82NC5oCisrKyAvZGV2L251bGwKQEAgLTEsNTEgKzAsMCBAQAotI2lmbmRlZiBfQVNNX0lSUV9ICi0jZGVmaW5lIF9BU01fSVJRX0gKLQotLyoKLSAqCWxpbnV4L2luY2x1ZGUvYXNtL2lycS5oCi0gKgotICoJKEMpIDE5OTIsIDE5OTMgTGludXMgVG9ydmFsZHMsIChDKSAxOTk3IEluZ28gTW9sbmFyCi0gKgotICoJSVJRL0lQSSBjaGFuZ2VzIHRha2VuIGZyb20gd29yayBieSBUaG9tYXMgUmFka2UKLSAqCTx0b21zb2Z0QGluZm9ybWF0aWsudHUtY2hlbW5pdHouZGU+Ci0gKi8KLQotI2RlZmluZSBUSU1FUl9JUlEgMAotCi0vKgotICogMTYgODI1OUEgSVJRJ3MsIDIwOCBwb3RlbnRpYWwgQVBJQyBpbnRlcnJ1cHQgc291cmNlcy4KLSAqIFJpZ2h0IG5vdyB0aGUgQVBJQyBpcyBtb3N0bHkgb25seSB1c2VkIGZvciBTTVAuCi0gKiAyNTYgdmVjdG9ycyBpcyBhbiBhcmNoaXRlY3R1cmFsIGxpbWl0LiAod2UgY2FuIGhhdmUKLSAqIG1vcmUgdGhhbiAyNTYgZGV2aWNlcyB0aGVvcmV0aWNhbGx5LCBidXQgdGhleSB3aWxsCi0gKiBoYXZlIHRvIHVzZSBzaGFyZWQgaW50ZXJydXB0cykKLSAqIFNpbmNlIHZlY3RvcnMgMHgwMC0weDFmIGFyZSB1c2VkL3Jlc2VydmVkIGZvciB0aGUgQ1BVLAotICogdGhlIHVzYWJsZSB2ZWN0b3Igc3BhY2UgaXMgMHgyMC0weGZmICgyMjQgdmVjdG9ycykKLSAqLwotCi0vKgotICogVGhlIG1heGltdW0gbnVtYmVyIG9mIHZlY3RvcnMgc3VwcG9ydGVkIGJ5IHg4Nl82NCBwcm9jZXNzb3JzCi0gKiBpcyBsaW1pdGVkIHRvIDI1Ni4gRm9yIHByb2Nlc3NvcnMgb3RoZXIgdGhhbiB4ODZfNjQsIE5SX1ZFQ1RPUlMKLSAqIHNob3VsZCBiZSBjaGFuZ2VkIGFjY29yZGluZ2x5LgotICovCi0jZGVmaW5lIE5SX1ZFQ1RPUlMgMjU2Ci0KLSNkZWZpbmUgRklSU1RfU1lTVEVNX1ZFQ1RPUgkweGVmICAgLyogZHVwbGljYXRlZCBpbiBod19pcnEuaCAqLwotCi0jZGVmaW5lIE5SX0lSUVMgKE5SX1ZFQ1RPUlMgKyAoMzIgKiBOUl9DUFVTKSkKLSNkZWZpbmUgTlJfSVJRX1ZFQ1RPUlMgTlJfSVJRUwotCi1zdGF0aWMgaW5saW5lIGludCBpcnFfY2Fub25pY2FsaXplKGludCBpcnEpCi17Ci0JcmV0dXJuICgoaXJxID09IDIpID8gOSA6IGlycSk7Ci19Ci0KLSNkZWZpbmUgQVJDSF9IQVNfTk1JX1dBVENIRE9HCQkvKiBTZWUgaW5jbHVkZS9saW51eC9ubWkuaCAqLwotCi0jaWZkZWYgQ09ORklHX0hPVFBMVUdfQ1BVCi0jaW5jbHVkZSA8bGludXgvY3B1bWFzay5oPgotZXh0ZXJuIHZvaWQgZml4dXBfaXJxcyhjcHVtYXNrX3QgbWFwKTsKLSNlbmRpZgotCi0jZGVmaW5lIF9fQVJDSF9IQVNfRE9fU09GVElSUSAxCi0KLSNlbmRpZiAvKiBfQVNNX0lSUV9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvaXJxX3ZlY3RvcnMuaCBiL2luY2x1ZGUvYXNtLXg4Ni9pcnFfdmVjdG9ycy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkwYjFkMWYKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS14ODYvaXJxX3ZlY3RvcnMuaApAQCAtMCwwICsxLDE3MyBAQAorI2lmbmRlZiBfQVNNX0lSUV9WRUNUT1JTX0gKKyNkZWZpbmUgX0FTTV9JUlFfVkVDVE9SU19ICisKKyNpbmNsdWRlIDxsaW51eC90aHJlYWRzLmg+CisKKyNkZWZpbmUgTk1JX1ZFQ1RPUgkJMHgwMgorCisvKgorICogSURUIHZlY3RvcnMgdXNhYmxlIGZvciBleHRlcm5hbCBpbnRlcnJ1cHQgc291cmNlcyBzdGFydAorICogYXQgMHgyMDoKKyAqLworI2RlZmluZSBGSVJTVF9FWFRFUk5BTF9WRUNUT1IJMHgyMAorCisjaWZkZWYgQ09ORklHX1g4Nl8zMgorIyBkZWZpbmUgU1lTQ0FMTF9WRUNUT1IJCTB4ODAKKyNlbHNlCisjIGRlZmluZSBJQTMyX1NZU0NBTExfVkVDVE9SCTB4ODAKKyNlbmRpZgorCisvKgorICogUmVzZXJ2ZSB0aGUgbG93ZXN0IHVzYWJsZSBwcmlvcml0eSBsZXZlbCAweDIwIC0gMHgyZiBmb3IgdHJpZ2dlcmluZworICogY2xlYW51cCBhZnRlciBpcnEgbWlncmF0aW9uIG9uIDY0IGJpdC4KKyAqLworI2RlZmluZSBJUlFfTU9WRV9DTEVBTlVQX1ZFQ1RPUglGSVJTVF9FWFRFUk5BTF9WRUNUT1IKKworLyoKKyAqIFZlY3RvcnMgMHgyMC0weDJmIGFyZSB1c2VkIGZvciBJU0EgaW50ZXJydXB0cyBvbiAzMiBiaXQuCisgKiBWZWN0b3JzIDB4MzAtMHgzZiBhcmUgdXNlZCBmb3IgSVNBIGludGVycnVwdHMgb24gNjQgYml0LgorICovCisjaWZkZWYgQ09ORklHX1g4Nl8zMgorI2RlZmluZSBJUlEwX1ZFQ1RPUgkJKEZJUlNUX0VYVEVSTkFMX1ZFQ1RPUikKKyNlbHNlCisjZGVmaW5lIElSUTBfVkVDVE9SCQkoRklSU1RfRVhURVJOQUxfVkVDVE9SICsgMHgxMCkKKyNlbmRpZgorI2RlZmluZSBJUlExX1ZFQ1RPUgkJKElSUTBfVkVDVE9SICsgMSkKKyNkZWZpbmUgSVJRMl9WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDIpCisjZGVmaW5lIElSUTNfVkVDVE9SCQkoSVJRMF9WRUNUT1IgKyAzKQorI2RlZmluZSBJUlE0X1ZFQ1RPUgkJKElSUTBfVkVDVE9SICsgNCkKKyNkZWZpbmUgSVJRNV9WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDUpCisjZGVmaW5lIElSUTZfVkVDVE9SCQkoSVJRMF9WRUNUT1IgKyA2KQorI2RlZmluZSBJUlE3X1ZFQ1RPUgkJKElSUTBfVkVDVE9SICsgNykKKyNkZWZpbmUgSVJROF9WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDgpCisjZGVmaW5lIElSUTlfVkVDVE9SCQkoSVJRMF9WRUNUT1IgKyA5KQorI2RlZmluZSBJUlExMF9WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDEwKQorI2RlZmluZSBJUlExMV9WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDExKQorI2RlZmluZSBJUlExMl9WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDEyKQorI2RlZmluZSBJUlExM19WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDEzKQorI2RlZmluZSBJUlExNF9WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDE0KQorI2RlZmluZSBJUlExNV9WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDE1KQorCisvKgorICogU3BlY2lhbCBJUlEgdmVjdG9ycyB1c2VkIGJ5IHRoZSBTTVAgYXJjaGl0ZWN0dXJlLCAweGYwLTB4ZmYKKyAqCisgKiAgc29tZSBvZiB0aGUgZm9sbG93aW5nIHZlY3RvcnMgYXJlICdyYXJlJywgdGhleSBhcmUgbWVyZ2VkCisgKiAgaW50byBhIHNpbmdsZSB2ZWN0b3IgKENBTExfRlVOQ1RJT05fVkVDVE9SKSB0byBzYXZlIHZlY3RvciBzcGFjZS4KKyAqICBUTEIsIHJlc2NoZWR1bGUgYW5kIGxvY2FsIEFQSUMgdmVjdG9ycyBhcmUgcGVyZm9ybWFuY2UtY3JpdGljYWwuCisgKgorICogIFZlY3RvcnMgMHhmMC0weGZhIGFyZSBmcmVlIChyZXNlcnZlZCBmb3IgZnV0dXJlIExpbnV4IHVzZSkuCisgKi8KKyNpZmRlZiBDT05GSUdfWDg2XzMyCisKKyMgZGVmaW5lIFNQVVJJT1VTX0FQSUNfVkVDVE9SCQkweGZmCisjIGRlZmluZSBFUlJPUl9BUElDX1ZFQ1RPUgkJMHhmZQorIyBkZWZpbmUgSU5WQUxJREFURV9UTEJfVkVDVE9SCQkweGZkCisjIGRlZmluZSBSRVNDSEVEVUxFX1ZFQ1RPUgkJMHhmYworIyBkZWZpbmUgQ0FMTF9GVU5DVElPTl9WRUNUT1IJCTB4ZmIKKyMgZGVmaW5lIENBTExfRlVOQ1RJT05fU0lOR0xFX1ZFQ1RPUgkweGZhCisjIGRlZmluZSBUSEVSTUFMX0FQSUNfVkVDVE9SCQkweGYwCisKKyNlbHNlCisKKyNkZWZpbmUgU1BVUklPVVNfQVBJQ19WRUNUT1IJCTB4ZmYKKyNkZWZpbmUgRVJST1JfQVBJQ19WRUNUT1IJCTB4ZmUKKyNkZWZpbmUgUkVTQ0hFRFVMRV9WRUNUT1IJCTB4ZmQKKyNkZWZpbmUgQ0FMTF9GVU5DVElPTl9WRUNUT1IJCTB4ZmMKKyNkZWZpbmUgQ0FMTF9GVU5DVElPTl9TSU5HTEVfVkVDVE9SCTB4ZmIKKyNkZWZpbmUgVEhFUk1BTF9BUElDX1ZFQ1RPUgkJMHhmYQorI2RlZmluZSBUSFJFU0hPTERfQVBJQ19WRUNUT1IJCTB4ZjkKKyNkZWZpbmUgSU5WQUxJREFURV9UTEJfVkVDVE9SX0VORAkweGY3CisjZGVmaW5lIElOVkFMSURBVEVfVExCX1ZFQ1RPUl9TVEFSVAkweGYwCS8qIGYwLWY3IHVzZWQgZm9yIFRMQiBmbHVzaCAqLworCisjZGVmaW5lIE5VTV9JTlZBTElEQVRFX1RMQl9WRUNUT1JTCTgKKworI2VuZGlmCisKKy8qCisgKiBMb2NhbCBBUElDIHRpbWVyIElSUSB2ZWN0b3IgaXMgb24gYSBkaWZmZXJlbnQgcHJpb3JpdHkgbGV2ZWwsCisgKiB0byB3b3JrIGFyb3VuZCB0aGUgJ2xvc3QgbG9jYWwgaW50ZXJydXB0IGlmIG1vcmUgdGhhbiAyIElSUQorICogc291cmNlcyBwZXIgbGV2ZWwnIGVycmF0YS4KKyAqLworI2RlZmluZSBMT0NBTF9USU1FUl9WRUNUT1IJMHhlZgorCisvKgorICogRmlyc3QgQVBJQyB2ZWN0b3IgYXZhaWxhYmxlIHRvIGRyaXZlcnM6ICh2ZWN0b3JzIDB4MzAtMHhlZSkgd2UKKyAqIHN0YXJ0IGF0IDB4MzEoMHg0MSkgdG8gc3ByZWFkIG91dCB2ZWN0b3JzIGV2ZW5seSBiZXR3ZWVuIHByaW9yaXR5CisgKiBsZXZlbHMuICgweDgwIGlzIHRoZSBzeXNjYWxsIHZlY3RvcikKKyAqLworI2lmZGVmIENPTkZJR19YODZfMzIKKyMgZGVmaW5lIEZJUlNUX0RFVklDRV9WRUNUT1IJMHgzMQorI2Vsc2UKKyMgZGVmaW5lIEZJUlNUX0RFVklDRV9WRUNUT1IJKElSUTE1X1ZFQ1RPUiArIDIpCisjZW5kaWYKKworI2RlZmluZSBOUl9WRUNUT1JTCQkyNTYKKworI2RlZmluZSBGUFVfSVJRCQkJMTMKKworI2RlZmluZQlGSVJTVF9WTTg2X0lSUQkJMworI2RlZmluZSBMQVNUX1ZNODZfSVJRCQkxNQorI2RlZmluZSBpbnZhbGlkX3ZtODZfaXJxKGlycSkJKChpcnEpIDwgMyB8fCAoaXJxKSA+IDE1KQorCisjaWYgIWRlZmluZWQoQ09ORklHX1g4Nl9WT1lBR0VSKQorCisjIGlmIGRlZmluZWQoQ09ORklHX1g4Nl9JT19BUElDKSB8fCBkZWZpbmVkKENPTkZJR19QQVJBVklSVCkgfHwgZGVmaW5lZChDT05GSUdfWDg2X1ZJU1dTKQorCisjICBkZWZpbmUgTlJfSVJRUwkJMjI0CisKKyMgIGlmICgyMjQgPj0gMzIgKiBOUl9DUFVTKQorIyAgIGRlZmluZSBOUl9JUlFfVkVDVE9SUwlOUl9JUlFTCisjICBlbHNlCisjICAgZGVmaW5lIE5SX0lSUV9WRUNUT1JTCSgzMiAqIE5SX0NQVVMpCisjICBlbmRpZgorCisjIGVsc2UgLyogSU9fQVBJQyB8fCBQQVJBVklSVCAqLworCisjICBkZWZpbmUgTlJfSVJRUwkJMTYKKyMgIGRlZmluZSBOUl9JUlFfVkVDVE9SUwlOUl9JUlFTCisKKyMgZW5kaWYKKworI2Vsc2UgLyogIVZJU1dTICYmICFWT1lBR0VSICovCisKKyMgZGVmaW5lIE5SX0lSUVMJCTIyNAorIyBkZWZpbmUgTlJfSVJRX1ZFQ1RPUlMJCU5SX0lSUVMKKworI2VuZGlmIC8qIFZJU1dTICovCisKKy8qIFZveWFnZXIgc3BlY2lmaWMgZGVmaW5lcyAqLworLyogVGhlc2UgZGVmaW5lIHRoZSBDUElzIHdlIHVzZSBpbiBsaW51eCAqLworI2RlZmluZSBWSUNfQ1BJX0xFVkVMMAkJCTAKKyNkZWZpbmUgVklDX0NQSV9MRVZFTDEJCQkxCisvKiBub3cgdGhlIGZha2UgQ1BJcyAqLworI2RlZmluZSBWSUNfVElNRVJfQ1BJCQkJMgorI2RlZmluZSBWSUNfSU5WQUxJREFURV9DUEkJCTMKKyNkZWZpbmUgVklDX1JFU0NIRURVTEVfQ1BJCQk0CisjZGVmaW5lIFZJQ19FTkFCTEVfSVJRX0NQSQkJNQorI2RlZmluZSBWSUNfQ0FMTF9GVU5DVElPTl9DUEkJCTYKKyNkZWZpbmUgVklDX0NBTExfRlVOQ1RJT05fU0lOR0xFX0NQSQk3CisKKy8qIE5vdyB0aGUgUUlDIENQSXM6ICBTaW5jZSB3ZSBkb24ndCBuZWVkIHRoZSB0d28gaW5pdGlhbCBsZXZlbHMsCisgKiB0aGVzZSBhcmUgMiBsZXNzIHRoYW4gdGhlIFZJQyBDUElzICovCisjZGVmaW5lIFFJQ19DUElfT0ZGU0VUCQkJMQorI2RlZmluZSBRSUNfVElNRVJfQ1BJCQkJKFZJQ19USU1FUl9DUEkgLSBRSUNfQ1BJX09GRlNFVCkKKyNkZWZpbmUgUUlDX0lOVkFMSURBVEVfQ1BJCQkoVklDX0lOVkFMSURBVEVfQ1BJIC0gUUlDX0NQSV9PRkZTRVQpCisjZGVmaW5lIFFJQ19SRVNDSEVEVUxFX0NQSQkJKFZJQ19SRVNDSEVEVUxFX0NQSSAtIFFJQ19DUElfT0ZGU0VUKQorI2RlZmluZSBRSUNfRU5BQkxFX0lSUV9DUEkJCShWSUNfRU5BQkxFX0lSUV9DUEkgLSBRSUNfQ1BJX09GRlNFVCkKKyNkZWZpbmUgUUlDX0NBTExfRlVOQ1RJT05fQ1BJCQkoVklDX0NBTExfRlVOQ1RJT05fQ1BJIC0gUUlDX0NQSV9PRkZTRVQpCisjZGVmaW5lIFFJQ19DQUxMX0ZVTkNUSU9OX1NJTkdMRV9DUEkJKFZJQ19DQUxMX0ZVTkNUSU9OX1NJTkdMRV9DUEkgLSBRSUNfQ1BJX09GRlNFVCkKKworI2RlZmluZSBWSUNfU1RBUlRfRkFLRV9DUEkJCVZJQ19USU1FUl9DUEkKKyNkZWZpbmUgVklDX0VORF9GQUtFX0NQSQkJVklDX0NBTExfRlVOQ1RJT05fU0lOR0xFX0NQSQorCisvKiB0aGlzIGlzIHRoZSBTWVNfSU5UIENQSS4gKi8KKyNkZWZpbmUgVklDX1NZU19JTlQJCQk4CisjZGVmaW5lIFZJQ19DTU5fSU5UCQkJMTUKKworLyogVGhpcyBpcyB0aGUgYm9vdCBDUEkgZm9yIGFsdGVybmF0ZSBwcm9jZXNzb3JzLiAgSXQgZ2V0cyBvdmVyd3JpdHRlbgorICogYnkgdGhlIGFib3ZlIG9uY2UgdGhlIHN5c3RlbSBoYXMgYWN0aXZhdGVkIGFsbCBhdmFpbGFibGUgcHJvY2Vzc29ycyAqLworI2RlZmluZSBWSUNfQ1BVX0JPT1RfQ1BJCQlWSUNfQ1BJX0xFVkVMMAorI2RlZmluZSBWSUNfQ1BVX0JPT1RfRVJSQVRBX0NQSQkJKFZJQ19DUElfTEVWRUwwICsgOCkKKworCisjZW5kaWYgLyogX0FTTV9JUlFfVkVDVE9SU19IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvaXJxZmxhZ3MuaCBiL2luY2x1ZGUvYXNtLXg4Ni9pcnFmbGFncy5oCmluZGV4IGMyNDI1MjcuLjQyNGFjYjQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9pcnFmbGFncy5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9pcnFmbGFncy5oCkBAIC0xMTEsMTQgKzExMSwzNSBAQAogI2RlZmluZSBESVNBQkxFX0lOVEVSUlVQVFMoeCkJY2xpCiAKICNpZmRlZiBDT05GSUdfWDg2XzY0CisjZGVmaW5lIFNXQVBHUwlzd2FwZ3MKKy8qCisgKiBDdXJyZW50bHkgcGFyYXZpcnQgY2FuJ3QgaGFuZGxlIHN3YXBncyBuaWNlbHkgd2hlbiB3ZQorICogZG9uJ3QgaGF2ZSBhIHN0YWNrIHdlIGNhbiByZWx5IG9uIChzdWNoIGFzIGEgdXNlciBzcGFjZQorICogc3RhY2spLiAgU28gd2UgZWl0aGVyIGZpbmQgYSB3YXkgYXJvdW5kIHRoZXNlIG9yIGp1c3QgZmF1bHQKKyAqIGFuZCBlbXVsYXRlIGlmIGEgZ3Vlc3QgdHJpZXMgdG8gY2FsbCBzd2FwZ3MgZGlyZWN0bHkuCisgKgorICogRWl0aGVyIHdheSwgdGhpcyBpcyBhIGdvb2Qgd2F5IHRvIGRvY3VtZW50IHRoYXQgd2UgZG9uJ3QKKyAqIGhhdmUgYSByZWxpYWJsZSBzdGFjay4geDg2XzY0IG9ubHkuCisgKi8KKyNkZWZpbmUgU1dBUEdTX1VOU0FGRV9TVEFDSwlzd2FwZ3MKKworI2RlZmluZSBQQVJBVklSVF9BREpVU1RfRVhDRVBUSU9OX0ZSQU1FCS8qICAqLworCiAjZGVmaW5lIElOVEVSUlVQVF9SRVRVUk4JaXJldHEKLSNkZWZpbmUgRU5BQkxFX0lOVEVSUlVQVFNfU1lTQ0FMTF9SRVQJCQlcCi0JCQltb3ZxCSVnczpwZGFfb2xkcnNwLCAlcnNwOwlcCi0JCQlzd2FwZ3M7CQkJCVwKLQkJCXN5c3JldHE7CisjZGVmaW5lIFVTRVJHU19TWVNSRVQ2NAkJCQlcCisJc3dhcGdzOwkJCQkJXAorCXN5c3JldHE7CisjZGVmaW5lIFVTRVJHU19TWVNSRVQzMgkJCQlcCisJc3dhcGdzOwkJCQkJXAorCXN5c3JldGwKKyNkZWZpbmUgRU5BQkxFX0lOVEVSUlVQVFNfU1lTRVhJVDMyCQlcCisJc3dhcGdzOwkJCQkJXAorCXN0aTsJCQkJCVwKKwlzeXNleGl0CisKICNlbHNlCiAjZGVmaW5lIElOVEVSUlVQVF9SRVRVUk4JCWlyZXQKLSNkZWZpbmUgRU5BQkxFX0lOVEVSUlVQVFNfU1lTQ0FMTF9SRVQJc3RpOyBzeXNleGl0CisjZGVmaW5lIEVOQUJMRV9JTlRFUlJVUFRTX1NZU0VYSVQJc3RpOyBzeXNleGl0CiAjZGVmaW5lIEdFVF9DUjBfSU5UT19FQVgJCW1vdmwgJWNyMCwgJWVheAogI2VuZGlmCiAKQEAgLTE2OSwxOCArMTkwLDYgQEAKICNlbHNlCiAKICNpZmRlZiBDT05GSUdfWDg2XzY0Ci0vKgotICogQ3VycmVudGx5IHBhcmF2aXJ0IGNhbid0IGhhbmRsZSBzd2FwZ3MgbmljZWx5IHdoZW4gd2UKLSAqIGRvbid0IGhhdmUgYSBzdGFjayB3ZSBjYW4gcmVseSBvbiAoc3VjaCBhcyBhIHVzZXIgc3BhY2UKLSAqIHN0YWNrKS4gIFNvIHdlIGVpdGhlciBmaW5kIGEgd2F5IGFyb3VuZCB0aGVzZSBvciBqdXN0IGZhdWx0Ci0gKiBhbmQgZW11bGF0ZSBpZiBhIGd1ZXN0IHRyaWVzIHRvIGNhbGwgc3dhcGdzIGRpcmVjdGx5LgotICoKLSAqIEVpdGhlciB3YXksIHRoaXMgaXMgYSBnb29kIHdheSB0byBkb2N1bWVudCB0aGF0IHdlIGRvbid0Ci0gKiBoYXZlIGEgcmVsaWFibGUgc3RhY2suIHg4Nl82NCBvbmx5LgotICovCi0jZGVmaW5lIFNXQVBHU19VTlNBRkVfU1RBQ0sJc3dhcGdzCi0jZGVmaW5lIEFSQ0hfVFJBQ0VfSVJRU19PTgkJY2FsbCB0cmFjZV9oYXJkaXJxc19vbl90aHVuawotI2RlZmluZSBBUkNIX1RSQUNFX0lSUVNfT0ZGCQljYWxsIHRyYWNlX2hhcmRpcnFzX29mZl90aHVuawogI2RlZmluZSBBUkNIX0xPQ0tERVBfU1lTX0VYSVQJCWNhbGwgbG9ja2RlcF9zeXNfZXhpdF90aHVuawogI2RlZmluZSBBUkNIX0xPQ0tERVBfU1lTX0VYSVRfSVJRCVwKIAlUUkFDRV9JUlFTX09OOyBcCkBAIC0xOTIsMjQgKzIwMSw2IEBACiAJVFJBQ0VfSVJRU19PRkY7CiAKICNlbHNlCi0jZGVmaW5lIEFSQ0hfVFJBQ0VfSVJRU19PTgkJCVwKLQlwdXNobCAlZWF4OwkJCQlcCi0JcHVzaGwgJWVjeDsJCQkJXAotCXB1c2hsICVlZHg7CQkJCVwKLQljYWxsIHRyYWNlX2hhcmRpcnFzX29uOwkJCVwKLQlwb3BsICVlZHg7CQkJCVwKLQlwb3BsICVlY3g7CQkJCVwKLQlwb3BsICVlYXg7Ci0KLSNkZWZpbmUgQVJDSF9UUkFDRV9JUlFTX09GRgkJCVwKLQlwdXNobCAlZWF4OwkJCQlcCi0JcHVzaGwgJWVjeDsJCQkJXAotCXB1c2hsICVlZHg7CQkJCVwKLQljYWxsIHRyYWNlX2hhcmRpcnFzX29mZjsJCVwKLQlwb3BsICVlZHg7CQkJCVwKLQlwb3BsICVlY3g7CQkJCVwKLQlwb3BsICVlYXg7Ci0KICNkZWZpbmUgQVJDSF9MT0NLREVQX1NZU19FWElUCQkJXAogCXB1c2hsICVlYXg7CQkJCVwKIAlwdXNobCAlZWN4OwkJCQlcCkBAIC0yMjMsOCArMjE0LDggQEAKICNlbmRpZgogCiAjaWZkZWYgQ09ORklHX1RSQUNFX0lSUUZMQUdTCi0jICBkZWZpbmUgVFJBQ0VfSVJRU19PTgkJQVJDSF9UUkFDRV9JUlFTX09OCi0jICBkZWZpbmUgVFJBQ0VfSVJRU19PRkYJQVJDSF9UUkFDRV9JUlFTX09GRgorIyAgZGVmaW5lIFRSQUNFX0lSUVNfT04JCWNhbGwgdHJhY2VfaGFyZGlycXNfb25fdGh1bms7CisjICBkZWZpbmUgVFJBQ0VfSVJRU19PRkYJY2FsbCB0cmFjZV9oYXJkaXJxc19vZmZfdGh1bms7CiAjZWxzZQogIyAgZGVmaW5lIFRSQUNFX0lSUVNfT04KICMgIGRlZmluZSBUUkFDRV9JUlFTX09GRgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L21hY2gtYmlnc21wL21hY2hfYXBpYy5oIGIvaW5jbHVkZS9hc20teDg2L21hY2gtYmlnc21wL21hY2hfYXBpYy5oCmluZGV4IDgzMjc5MDcuLjAxN2M4YzEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWJpZ3NtcC9tYWNoX2FwaWMuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvbWFjaC1iaWdzbXAvbWFjaF9hcGljLmgKQEAgLTgxLDcgKzgxLDcgQEAKIAogc3RhdGljIGlubGluZSBpbnQgYXBpY2lkX3RvX25vZGUoaW50IGxvZ2ljYWxfYXBpY2lkKQogewotCXJldHVybiAoMCk7CisJcmV0dXJuIGFwaWNpZF8yX25vZGVbaGFyZF9zbXBfcHJvY2Vzc29yX2lkKCldOwogfQogCiBzdGF0aWMgaW5saW5lIGludCBjcHVfcHJlc2VudF90b19hcGljaWQoaW50IG1wc19jcHUpCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvbWFjaC1iaWdzbXAvbWFjaF9tcHNwZWMuaCBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWJpZ3NtcC9tYWNoX21wc3BlYy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2YjVkYWRjLi4wMDAwMDAwCi0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWJpZ3NtcC9tYWNoX21wc3BlYy5oCisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi0jaWZuZGVmIF9fQVNNX01BQ0hfTVBTUEVDX0gKLSNkZWZpbmUgX19BU01fTUFDSF9NUFNQRUNfSAotCi0jZGVmaW5lIE1BWF9JUlFfU09VUkNFUyAyNTYKLQotI2RlZmluZSBNQVhfTVBfQlVTU0VTIDMyCi0KLSNlbmRpZiAvKiBfX0FTTV9NQUNIX01QU1BFQ19IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvbWFjaC1kZWZhdWx0L2VudHJ5X2FyY2guaCBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWRlZmF1bHQvZW50cnlfYXJjaC5oCmluZGV4IGJjODYxNDYuLjkyODNiNjAgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWRlZmF1bHQvZW50cnlfYXJjaC5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWRlZmF1bHQvZW50cnlfYXJjaC5oCkBAIC0xMyw2ICsxMyw3IEBACiBCVUlMRF9JTlRFUlJVUFQocmVzY2hlZHVsZV9pbnRlcnJ1cHQsUkVTQ0hFRFVMRV9WRUNUT1IpCiBCVUlMRF9JTlRFUlJVUFQoaW52YWxpZGF0ZV9pbnRlcnJ1cHQsSU5WQUxJREFURV9UTEJfVkVDVE9SKQogQlVJTERfSU5URVJSVVBUKGNhbGxfZnVuY3Rpb25faW50ZXJydXB0LENBTExfRlVOQ1RJT05fVkVDVE9SKQorQlVJTERfSU5URVJSVVBUKGNhbGxfZnVuY3Rpb25fc2luZ2xlX2ludGVycnVwdCxDQUxMX0ZVTkNUSU9OX1NJTkdMRV9WRUNUT1IpCiAjZW5kaWYKIAogLyoKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWRlZmF1bHQvaXJxX3ZlY3RvcnMuaCBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWRlZmF1bHQvaXJxX3ZlY3RvcnMuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODgxYzYzYy4uMDAwMDAwMAotLS0gYS9pbmNsdWRlL2FzbS14ODYvbWFjaC1kZWZhdWx0L2lycV92ZWN0b3JzLmgKKysrIC9kZXYvbnVsbApAQCAtMSw5NiArMCwwIEBACi0vKgotICogVGhpcyBmaWxlIHNob3VsZCBjb250YWluICNkZWZpbmVzIGZvciBhbGwgb2YgdGhlIGludGVycnVwdCB2ZWN0b3IKLSAqIG51bWJlcnMgdXNlZCBieSB0aGlzIGFyY2hpdGVjdHVyZS4KLSAqCi0gKiBJbiBhZGRpdGlvbiwgdGhlcmUgYXJlIHNvbWUgc3RhbmRhcmQgZGVmaW5lczoKLSAqCi0gKglGSVJTVF9FWFRFUk5BTF9WRUNUT1I6Ci0gKgkJVGhlIGZpcnN0IGZyZWUgcGxhY2UgZm9yIGV4dGVybmFsIGludGVycnVwdHMKLSAqCi0gKglTWVNDQUxMX1ZFQ1RPUjoKLSAqCQlUaGUgSVJRIHZlY3RvciBhIHN5c2NhbGwgbWFrZXMgdGhlIHVzZXIgdG8ga2VybmVsIHRyYW5zaXRpb24KLSAqCQl1bmRlci4KLSAqCi0gKglUSU1FUl9JUlE6Ci0gKgkJVGhlIElSUSBudW1iZXIgdGhlIHRpbWVyIGludGVycnVwdCBjb21lcyBpbiBhdC4KLSAqCi0gKglOUl9JUlFTOgotICoJCVRoZSB0b3RhbCBudW1iZXIgb2YgaW50ZXJydXB0IHZlY3RvcnMgKGluY2x1ZGluZyBhbGwgdGhlCi0gKgkJYXJjaGl0ZWN0dXJlIHNwZWNpZmljIGludGVycnVwdHMpIG5lZWRlZC4KLSAqCi0gKi8JCQkKLSNpZm5kZWYgX0FTTV9JUlFfVkVDVE9SU19ICi0jZGVmaW5lIF9BU01fSVJRX1ZFQ1RPUlNfSAotCi0vKgotICogSURUIHZlY3RvcnMgdXNhYmxlIGZvciBleHRlcm5hbCBpbnRlcnJ1cHQgc291cmNlcyBzdGFydAotICogYXQgMHgyMDoKLSAqLwotI2RlZmluZSBGSVJTVF9FWFRFUk5BTF9WRUNUT1IJMHgyMAotCi0jZGVmaW5lIFNZU0NBTExfVkVDVE9SCQkweDgwCi0KLS8qCi0gKiBWZWN0b3JzIDB4MjAtMHgyZiBhcmUgdXNlZCBmb3IgSVNBIGludGVycnVwdHMuCi0gKi8KLQotLyoKLSAqIFNwZWNpYWwgSVJRIHZlY3RvcnMgdXNlZCBieSB0aGUgU01QIGFyY2hpdGVjdHVyZSwgMHhmMC0weGZmCi0gKgotICogIHNvbWUgb2YgdGhlIGZvbGxvd2luZyB2ZWN0b3JzIGFyZSAncmFyZScsIHRoZXkgYXJlIG1lcmdlZAotICogIGludG8gYSBzaW5nbGUgdmVjdG9yIChDQUxMX0ZVTkNUSU9OX1ZFQ1RPUikgdG8gc2F2ZSB2ZWN0b3Igc3BhY2UuCi0gKiAgVExCLCByZXNjaGVkdWxlIGFuZCBsb2NhbCBBUElDIHZlY3RvcnMgYXJlIHBlcmZvcm1hbmNlLWNyaXRpY2FsLgotICoKLSAqICBWZWN0b3JzIDB4ZjAtMHhmYSBhcmUgZnJlZSAocmVzZXJ2ZWQgZm9yIGZ1dHVyZSBMaW51eCB1c2UpLgotICovCi0jZGVmaW5lIFNQVVJJT1VTX0FQSUNfVkVDVE9SCTB4ZmYKLSNkZWZpbmUgRVJST1JfQVBJQ19WRUNUT1IJMHhmZQotI2RlZmluZSBJTlZBTElEQVRFX1RMQl9WRUNUT1IJMHhmZAotI2RlZmluZSBSRVNDSEVEVUxFX1ZFQ1RPUgkweGZjCi0jZGVmaW5lIENBTExfRlVOQ1RJT05fVkVDVE9SCTB4ZmIKLQotI2RlZmluZSBUSEVSTUFMX0FQSUNfVkVDVE9SCTB4ZjAKLS8qCi0gKiBMb2NhbCBBUElDIHRpbWVyIElSUSB2ZWN0b3IgaXMgb24gYSBkaWZmZXJlbnQgcHJpb3JpdHkgbGV2ZWwsCi0gKiB0byB3b3JrIGFyb3VuZCB0aGUgJ2xvc3QgbG9jYWwgaW50ZXJydXB0IGlmIG1vcmUgdGhhbiAyIElSUQotICogc291cmNlcyBwZXIgbGV2ZWwnIGVycmF0YS4KLSAqLwotI2RlZmluZSBMT0NBTF9USU1FUl9WRUNUT1IJMHhlZgotCi0vKgotICogRmlyc3QgQVBJQyB2ZWN0b3IgYXZhaWxhYmxlIHRvIGRyaXZlcnM6ICh2ZWN0b3JzIDB4MzAtMHhlZSkKLSAqIHdlIHN0YXJ0IGF0IDB4MzEgdG8gc3ByZWFkIG91dCB2ZWN0b3JzIGV2ZW5seSBiZXR3ZWVuIHByaW9yaXR5Ci0gKiBsZXZlbHMuICgweDgwIGlzIHRoZSBzeXNjYWxsIHZlY3RvcikKLSAqLwotI2RlZmluZSBGSVJTVF9ERVZJQ0VfVkVDVE9SCTB4MzEKLSNkZWZpbmUgRklSU1RfU1lTVEVNX1ZFQ1RPUgkweGVmCi0KLSNkZWZpbmUgVElNRVJfSVJRIDAKLQotLyoKLSAqIDE2IDgyNTlBIElSUSdzLCAyMDggcG90ZW50aWFsIEFQSUMgaW50ZXJydXB0IHNvdXJjZXMuCi0gKiBSaWdodCBub3cgdGhlIEFQSUMgaXMgbW9zdGx5IG9ubHkgdXNlZCBmb3IgU01QLgotICogMjU2IHZlY3RvcnMgaXMgYW4gYXJjaGl0ZWN0dXJhbCBsaW1pdC4gKHdlIGNhbiBoYXZlCi0gKiBtb3JlIHRoYW4gMjU2IGRldmljZXMgdGhlb3JldGljYWxseSwgYnV0IHRoZXkgd2lsbAotICogaGF2ZSB0byB1c2Ugc2hhcmVkIGludGVycnVwdHMpCi0gKiBTaW5jZSB2ZWN0b3JzIDB4MDAtMHgxZiBhcmUgdXNlZC9yZXNlcnZlZCBmb3IgdGhlIENQVSwKLSAqIHRoZSB1c2FibGUgdmVjdG9yIHNwYWNlIGlzIDB4MjAtMHhmZiAoMjI0IHZlY3RvcnMpCi0gKi8KLQotLyoKLSAqIFRoZSBtYXhpbXVtIG51bWJlciBvZiB2ZWN0b3JzIHN1cHBvcnRlZCBieSBpMzg2IHByb2Nlc3NvcnMKLSAqIGlzIGxpbWl0ZWQgdG8gMjU2LiBGb3IgcHJvY2Vzc29ycyBvdGhlciB0aGFuIGkzODYsIE5SX1ZFQ1RPUlMKLSAqIHNob3VsZCBiZSBjaGFuZ2VkIGFjY29yZGluZ2x5LgotICovCi0jZGVmaW5lIE5SX1ZFQ1RPUlMgMjU2Ci0KLSNpbmNsdWRlICJpcnFfdmVjdG9yc19saW1pdHMuaCIKLQotI2RlZmluZSBGUFVfSVJRCQkJMTMKLQotI2RlZmluZQlGSVJTVF9WTTg2X0lSUQkJMwotI2RlZmluZSBMQVNUX1ZNODZfSVJRCQkxNQotI2RlZmluZSBpbnZhbGlkX3ZtODZfaXJxKGlycSkJKChpcnEpIDwgMyB8fCAoaXJxKSA+IDE1KQotCi0KLSNlbmRpZiAvKiBfQVNNX0lSUV9WRUNUT1JTX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWRlZmF1bHQvaXJxX3ZlY3RvcnNfbGltaXRzLmggYi9pbmNsdWRlL2FzbS14ODYvbWFjaC1kZWZhdWx0L2lycV92ZWN0b3JzX2xpbWl0cy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhOTBjN2E2Li4wMDAwMDAwCi0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWRlZmF1bHQvaXJxX3ZlY3RvcnNfbGltaXRzLmgKKysrIC9kZXYvbnVsbApAQCAtMSwxNiArMCwwIEBACi0jaWZuZGVmIF9BU01fSVJRX1ZFQ1RPUlNfTElNSVRTX0gKLSNkZWZpbmUgX0FTTV9JUlFfVkVDVE9SU19MSU1JVFNfSAotCi0jaWYgZGVmaW5lZChDT05GSUdfWDg2X0lPX0FQSUMpIHx8IGRlZmluZWQoQ09ORklHX1BBUkFWSVJUKQotI2RlZmluZSBOUl9JUlFTIDIyNAotIyBpZiAoMjI0ID49IDMyICogTlJfQ1BVUykKLSMgZGVmaW5lIE5SX0lSUV9WRUNUT1JTIE5SX0lSUVMKLSMgZWxzZQotIyBkZWZpbmUgTlJfSVJRX1ZFQ1RPUlMgKDMyICogTlJfQ1BVUykKLSMgZW5kaWYKLSNlbHNlCi0jZGVmaW5lIE5SX0lSUVMgMTYKLSNkZWZpbmUgTlJfSVJRX1ZFQ1RPUlMgTlJfSVJRUwotI2VuZGlmCi0KLSNlbmRpZiAvKiBfQVNNX0lSUV9WRUNUT1JTX0xJTUlUU19IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvbWFjaC1kZWZhdWx0L21hY2hfYXBpYy5oIGIvaW5jbHVkZS9hc20teDg2L21hY2gtZGVmYXVsdC9tYWNoX2FwaWMuaAppbmRleCAyMTAwM2I1Li4wYjJjZGU1IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvbWFjaC1kZWZhdWx0L21hY2hfYXBpYy5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWRlZmF1bHQvbWFjaF9hcGljLmgKQEAgLTc3LDcgKzc3LDExIEBACiAKIHN0YXRpYyBpbmxpbmUgaW50IGFwaWNpZF90b19ub2RlKGludCBsb2dpY2FsX2FwaWNpZCkKIHsKKyNpZmRlZiBDT05GSUdfU01QCisJcmV0dXJuIGFwaWNpZF8yX25vZGVbaGFyZF9zbXBfcHJvY2Vzc29yX2lkKCldOworI2Vsc2UKIAlyZXR1cm4gMDsKKyNlbmRpZgogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWRlZmF1bHQvc2V0dXBfYXJjaC5oIGIvaW5jbHVkZS9hc20teDg2L21hY2gtZGVmYXVsdC9zZXR1cF9hcmNoLmgKaW5kZXggNjA1ZTNjYy4uMzg4NDYyMCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L21hY2gtZGVmYXVsdC9zZXR1cF9hcmNoLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L21hY2gtZGVmYXVsdC9zZXR1cF9hcmNoLmgKQEAgLTEsNyArMSwzIEBACiAvKiBIb29rIHRvIGNhbGwgQklPUyBpbml0aWFsaXNhdGlvbiBmdW5jdGlvbiAqLwogCiAvKiBubyBhY3Rpb24gZm9yIGdlbmVyaWMgKi8KLQotI2lmbmRlZiBBUkNIX1NFVFVQCi0jZGVmaW5lIEFSQ0hfU0VUVVAKLSNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L21hY2gtZGVmYXVsdC9zbXBib290X2hvb2tzLmggYi9pbmNsdWRlL2FzbS14ODYvbWFjaC1kZWZhdWx0L3NtcGJvb3RfaG9va3MuaAppbmRleCA1NmQwZTFmLi41NmQwMDFiIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvbWFjaC1kZWZhdWx0L3NtcGJvb3RfaG9va3MuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvbWFjaC1kZWZhdWx0L3NtcGJvb3RfaG9va3MuaApAQCAtMyw3ICszLDkgQEAKIAogc3RhdGljIGlubGluZSB2b2lkIHNtcGJvb3RfY2xlYXJfaW9fYXBpY19pcnFzKHZvaWQpCiB7CisjaWZkZWYgQ09ORklHX1g4Nl9JT19BUElDCiAJaW9fYXBpY19pcnFzID0gMDsKKyNlbmRpZgogfQogCiBzdGF0aWMgaW5saW5lIHZvaWQgc21wYm9vdF9zZXR1cF93YXJtX3Jlc2V0X3ZlY3Rvcih1bnNpZ25lZCBsb25nIHN0YXJ0X2VpcCkKQEAgLTM1LDE3ICszNywyMyBAQAogCiBzdGF0aWMgaW5saW5lIHZvaWQgX19pbml0IHNtcGJvb3Rfc2V0dXBfaW9fYXBpYyh2b2lkKQogeworI2lmZGVmIENPTkZJR19YODZfSU9fQVBJQwogCS8qCiAJICogSGVyZSB3ZSBjYW4gYmUgc3VyZSB0aGF0IHRoZXJlIGlzIGFuIElPLUFQSUMgaW4gdGhlIHN5c3RlbS4gTGV0J3MKIAkgKiBnbyBhbmQgc2V0IGl0IHVwOgogCSAqLwogCWlmICghc2tpcF9pb2FwaWNfc2V0dXAgJiYgbnJfaW9hcGljcykKIAkJc2V0dXBfSU9fQVBJQygpOwotCWVsc2UKKwllbHNlIHsKIAkJbnJfaW9hcGljcyA9IDA7CisJCWxvY2FsaXNlX25taV93YXRjaGRvZygpOworCX0KKyNlbmRpZgogfQogCiBzdGF0aWMgaW5saW5lIHZvaWQgc21wYm9vdF9jbGVhcl9pb19hcGljKHZvaWQpCiB7CisjaWZkZWYgQ09ORklHX1g4Nl9JT19BUElDCiAJbnJfaW9hcGljcyA9IDA7CisjZW5kaWYKIH0KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWVzNzAwMC9tYWNoX21wc3BlYy5oIGIvaW5jbHVkZS9hc20teDg2L21hY2gtZXM3MDAwL21hY2hfbXBzcGVjLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIxZjUwMzkuLjAwMDAwMDAKLS0tIGEvaW5jbHVkZS9hc20teDg2L21hY2gtZXM3MDAwL21hY2hfbXBzcGVjLmgKKysrIC9kZXYvbnVsbApAQCAtMSw4ICswLDAgQEAKLSNpZm5kZWYgX19BU01fTUFDSF9NUFNQRUNfSAotI2RlZmluZSBfX0FTTV9NQUNIX01QU1BFQ19ICi0KLSNkZWZpbmUgTUFYX0lSUV9TT1VSQ0VTIDI1NgotCi0jZGVmaW5lIE1BWF9NUF9CVVNTRVMgMjU2Ci0KLSNlbmRpZiAvKiBfX0FTTV9NQUNIX01QU1BFQ19IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvbWFjaC1nZW5lcmljL21hY2hfbXBwYXJzZS5oIGIvaW5jbHVkZS9hc20teDg2L21hY2gtZ2VuZXJpYy9tYWNoX21wcGFyc2UuaAppbmRleCAwZDBiNWJhLi41ODZjYWRiIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvbWFjaC1nZW5lcmljL21hY2hfbXBwYXJzZS5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWdlbmVyaWMvbWFjaF9tcHBhcnNlLmgKQEAgLTEsNyArMSwxMCBAQAogI2lmbmRlZiBfTUFDSF9NUFBBUlNFX0gKICNkZWZpbmUgX01BQ0hfTVBQQVJTRV9IIDEKIAotaW50IG1wc19vZW1fY2hlY2soc3RydWN0IG1wX2NvbmZpZ190YWJsZSAqbXBjLCBjaGFyICpvZW0sIGNoYXIgKnByb2R1Y3RpZCk7IAotaW50IGFjcGlfbWFkdF9vZW1fY2hlY2soY2hhciAqb2VtX2lkLCBjaGFyICpvZW1fdGFibGVfaWQpOyAKKworZXh0ZXJuIGludCBtcHNfb2VtX2NoZWNrKHN0cnVjdCBtcF9jb25maWdfdGFibGUgKm1wYywgY2hhciAqb2VtLAorCQkJIGNoYXIgKnByb2R1Y3RpZCk7CisKK2V4dGVybiBpbnQgYWNwaV9tYWR0X29lbV9jaGVjayhjaGFyICpvZW1faWQsIGNoYXIgKm9lbV90YWJsZV9pZCk7CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L21hY2gtbnVtYXEvbWFjaF9hcGljLmggYi9pbmNsdWRlL2FzbS14ODYvbWFjaC1udW1hcS9tYWNoX2FwaWMuaAppbmRleCA3NWE1NmU1Li5kODAyNDY1IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvbWFjaC1udW1hcS9tYWNoX2FwaWMuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvbWFjaC1udW1hcS9tYWNoX2FwaWMuaApAQCAtMjAsOCArMjAsMTQgQEAKICNkZWZpbmUgSU5UX0RFTElWRVJZX01PREUgZGVzdF9Mb3dlc3RQcmlvCiAjZGVmaW5lIElOVF9ERVNUX01PREUgMCAgICAgLyogcGh5c2ljYWwgZGVsaXZlcnkgb24gTE9DQUwgcXVhZCAqLwogIAotI2RlZmluZSBjaGVja19hcGljaWRfdXNlZChiaXRtYXAsIGFwaWNpZCkgcGh5c2lkX2lzc2V0KGFwaWNpZCwgYml0bWFwKQotI2RlZmluZSBjaGVja19hcGljaWRfcHJlc2VudChiaXQpIHBoeXNpZF9pc3NldChiaXQsIHBoeXNfY3B1X3ByZXNlbnRfbWFwKQorc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIGNoZWNrX2FwaWNpZF91c2VkKHBoeXNpZF9tYXNrX3QgYml0bWFwLCBpbnQgYXBpY2lkKQoreworCXJldHVybiBwaHlzaWRfaXNzZXQoYXBpY2lkLCBiaXRtYXApOworfQorc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIGNoZWNrX2FwaWNpZF9wcmVzZW50KGludCBiaXQpCit7CisJcmV0dXJuIHBoeXNpZF9pc3NldChiaXQsIHBoeXNfY3B1X3ByZXNlbnRfbWFwKTsKK30KICNkZWZpbmUgYXBpY2lkX2NsdXN0ZXIoYXBpY2lkKSAoYXBpY2lkICYgMHhGMCkKIAogc3RhdGljIGlubGluZSBpbnQgYXBpY19pZF9yZWdpc3RlcmVkKHZvaWQpCkBAIC03NywxMSArODMsNiBAQAogCQlyZXR1cm4gQkFEX0FQSUNJRDsKIH0KIAotc3RhdGljIGlubGluZSBpbnQgZ2VuZXJhdGVfbG9naWNhbF9hcGljaWQoaW50IHF1YWQsIGludCBwaHlzX2FwaWNpZCkKLXsKLQlyZXR1cm4gKHF1YWQgPDwgNCkgKyAocGh5c19hcGljaWQgPyBwaHlzX2FwaWNpZCA8PCAxIDogMSk7Ci19Ci0KIHN0YXRpYyBpbmxpbmUgaW50IGFwaWNpZF90b19ub2RlKGludCBsb2dpY2FsX2FwaWNpZCkgCiB7CiAJcmV0dXJuIGxvZ2ljYWxfYXBpY2lkID4+IDQ7CkBAIC05NSwzMCArOTYsNiBAQAogCXJldHVybiBwaHlzaWRfbWFza19vZl9waHlzaWQoY3B1ICsgNCpub2RlKTsKIH0KIAotc3RydWN0IG1wY19jb25maWdfdHJhbnNsYXRpb24gewotCXVuc2lnbmVkIGNoYXIgbXBjX3R5cGU7Ci0JdW5zaWduZWQgY2hhciB0cmFuc19sZW47Ci0JdW5zaWduZWQgY2hhciB0cmFuc190eXBlOwotCXVuc2lnbmVkIGNoYXIgdHJhbnNfcXVhZDsKLQl1bnNpZ25lZCBjaGFyIHRyYW5zX2dsb2JhbDsKLQl1bnNpZ25lZCBjaGFyIHRyYW5zX2xvY2FsOwotCXVuc2lnbmVkIHNob3J0IHRyYW5zX3Jlc2VydmVkOwotfTsKLQotc3RhdGljIGlubGluZSBpbnQgbXBjX2FwaWNfaWQoc3RydWN0IG1wY19jb25maWdfcHJvY2Vzc29yICptLCAKLQkJCXN0cnVjdCBtcGNfY29uZmlnX3RyYW5zbGF0aW9uICp0cmFuc2xhdGlvbl9yZWNvcmQpCi17Ci0JaW50IHF1YWQgPSB0cmFuc2xhdGlvbl9yZWNvcmQtPnRyYW5zX3F1YWQ7Ci0JaW50IGxvZ2ljYWxfYXBpY2lkID0gZ2VuZXJhdGVfbG9naWNhbF9hcGljaWQocXVhZCwgbS0+bXBjX2FwaWNpZCk7Ci0KLQlwcmludGsoIlByb2Nlc3NvciAjJWQgJXU6JXUgQVBJQyB2ZXJzaW9uICVkIChxdWFkICVkLCBhcGljICVkKVxuIiwKLQkgICAgICAgbS0+bXBjX2FwaWNpZCwKLQkgICAgICAgKG0tPm1wY19jcHVmZWF0dXJlICYgQ1BVX0ZBTUlMWV9NQVNLKSA+PiA4LAotCSAgICAgICAobS0+bXBjX2NwdWZlYXR1cmUgJiBDUFVfTU9ERUxfTUFTSykgPj4gNCwKLQkgICAgICAgbS0+bXBjX2FwaWN2ZXIsIHF1YWQsIGxvZ2ljYWxfYXBpY2lkKTsKLQlyZXR1cm4gbG9naWNhbF9hcGljaWQ7Ci19Ci0KIGV4dGVybiB2b2lkICp4cXVhZF9wb3J0aW87CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBzZXR1cF9wb3J0aW9fcmVtYXAodm9pZCkKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLW51bWFxL21hY2hfbXBwYXJzZS5oIGIvaW5jbHVkZS9hc20teDg2L21hY2gtbnVtYXEvbWFjaF9tcHBhcnNlLmgKaW5kZXggNDU5YjEyNC4uNjI2YWVmNiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L21hY2gtbnVtYXEvbWFjaF9tcHBhcnNlLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L21hY2gtbnVtYXEvbWFjaF9tcHBhcnNlLmgKQEAgLTEsMTQgKzEsNyBAQAogI2lmbmRlZiBfX0FTTV9NQUNIX01QUEFSU0VfSAogI2RlZmluZSBfX0FTTV9NQUNIX01QUEFSU0VfSAogCi1leHRlcm4gdm9pZCBtcGNfb2VtX2J1c19pbmZvKHN0cnVjdCBtcGNfY29uZmlnX2J1cyAqbSwgY2hhciAqbmFtZSwKLQkJCSAgICAgc3RydWN0IG1wY19jb25maWdfdHJhbnNsYXRpb24gKnRyYW5zbGF0aW9uKTsKLWV4dGVybiB2b2lkIG1wY19vZW1fcGNpX2J1cyhzdHJ1Y3QgbXBjX2NvbmZpZ19idXMgKm0sCi0Jc3RydWN0IG1wY19jb25maWdfdHJhbnNsYXRpb24gKnRyYW5zbGF0aW9uKTsKLQotLyogSG9vayBmcm9tIGdlbmVyaWMgQUNQSSB0YWJsZXMuYyAqLwotc3RhdGljIGlubGluZSB2b2lkIGFjcGlfbWFkdF9vZW1fY2hlY2soY2hhciAqb2VtX2lkLCBjaGFyICpvZW1fdGFibGVfaWQpCi17Ci19CitleHRlcm4gdm9pZCBudW1hcV9tcHNfb2VtX2NoZWNrKHN0cnVjdCBtcF9jb25maWdfdGFibGUgKm1wYywgY2hhciAqb2VtLAorCQkJCWNoYXIgKnByb2R1Y3RpZCk7CiAKICNlbmRpZiAvKiBfX0FTTV9NQUNIX01QUEFSU0VfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L21hY2gtbnVtYXEvbWFjaF9tcHNwZWMuaCBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLW51bWFxL21hY2hfbXBzcGVjLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRmZmIwOTguLjAwMDAwMDAKLS0tIGEvaW5jbHVkZS9hc20teDg2L21hY2gtbnVtYXEvbWFjaF9tcHNwZWMuaAorKysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAotI2lmbmRlZiBfX0FTTV9NQUNIX01QU1BFQ19ICi0jZGVmaW5lIF9fQVNNX01BQ0hfTVBTUEVDX0gKLQotI2RlZmluZSBNQVhfSVJRX1NPVVJDRVMgNTEyCi0KLSNkZWZpbmUgTUFYX01QX0JVU1NFUyAzMgotCi0jZW5kaWYgLyogX19BU01fTUFDSF9NUFNQRUNfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L21hY2gtc3VtbWl0L21hY2hfbXBzcGVjLmggYi9pbmNsdWRlL2FzbS14ODYvbWFjaC1zdW1taXQvbWFjaF9tcHNwZWMuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmQ3NjU1Mi4uMDAwMDAwMAotLS0gYS9pbmNsdWRlL2FzbS14ODYvbWFjaC1zdW1taXQvbWFjaF9tcHNwZWMuaAorKysgL2Rldi9udWxsCkBAIC0xLDkgKzAsMCBAQAotI2lmbmRlZiBfX0FTTV9NQUNIX01QU1BFQ19ICi0jZGVmaW5lIF9fQVNNX01BQ0hfTVBTUEVDX0gKLQotI2RlZmluZSBNQVhfSVJRX1NPVVJDRVMgMjU2Ci0KLS8qIE1heGltdW0gMjU2IFBDSSBidXNzZXMsIHBsdXMgMSBJU0EgYnVzIGluIGVhY2ggb2YgNCBjYWJpbmV0cy4gKi8KLSNkZWZpbmUgTUFYX01QX0JVU1NFUyAyNjAKLQotI2VuZGlmIC8qIF9fQVNNX01BQ0hfTVBTUEVDX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLXZpc3dzL2VudHJ5X2FyY2guaCBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLXZpc3dzL2VudHJ5X2FyY2guaAppbmRleCBiMTgzZmE2Li44NmJlNTU0IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvbWFjaC12aXN3cy9lbnRyeV9hcmNoLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L21hY2gtdmlzd3MvZW50cnlfYXJjaC5oCkBAIC0xLDIzICsxLDUgQEAKIC8qCi0gKiBUaGUgZm9sbG93aW5nIHZlY3RvcnMgYXJlIHBhcnQgb2YgdGhlIExpbnV4IGFyY2hpdGVjdHVyZSwgdGhlcmUKLSAqIGlzIG5vIGhhcmR3YXJlIElSUSBwaW4gZXF1aXZhbGVudCBmb3IgdGhlbSwgdGhleSBhcmUgdHJpZ2dlcmVkCi0gKiB0aHJvdWdoIHRoZSBJQ0MgYnkgdXMgKElQSXMpCisgKiBWSVNXUyB1c2VzIHRoZSBzdGFuZGFyZCBMaW51eCBlbnRyeSBwb2ludHM6CiAgKi8KLSNpZmRlZiBDT05GSUdfWDg2X1NNUAotQlVJTERfSU5URVJSVVBUKHJlc2NoZWR1bGVfaW50ZXJydXB0LFJFU0NIRURVTEVfVkVDVE9SKQotQlVJTERfSU5URVJSVVBUKGludmFsaWRhdGVfaW50ZXJydXB0LElOVkFMSURBVEVfVExCX1ZFQ1RPUikKLUJVSUxEX0lOVEVSUlVQVChjYWxsX2Z1bmN0aW9uX2ludGVycnVwdCxDQUxMX0ZVTkNUSU9OX1ZFQ1RPUikKLSNlbmRpZgogCi0vKgotICogZXZlcnkgcGVudGl1bSBsb2NhbCBBUElDIGhhcyB0d28gJ2xvY2FsIGludGVycnVwdHMnLCB3aXRoIGEKLSAqIHNvZnQtZGVmaW5hYmxlIHZlY3RvciBhdHRhY2hlZCB0byBib3RoIGludGVycnVwdHMsIG9uZSBvZgotICogd2hpY2ggaXMgYSB0aW1lciBpbnRlcnJ1cHQsIHRoZSBvdGhlciBvbmUgaXMgZXJyb3IgY291bnRlcgotICogb3ZlcmZsb3cuIExpbnV4IHVzZXMgdGhlIGxvY2FsIEFQSUMgdGltZXIgaW50ZXJydXB0IHRvIGdldAotICogYSBtdWNoIHNpbXBsZXIgU01QIHRpbWUgYXJjaGl0ZWN0dXJlOgotICovCi0jaWZkZWYgQ09ORklHX1g4Nl9MT0NBTF9BUElDCi1CVUlMRF9JTlRFUlJVUFQoYXBpY190aW1lcl9pbnRlcnJ1cHQsTE9DQUxfVElNRVJfVkVDVE9SKQotQlVJTERfSU5URVJSVVBUKGVycm9yX2ludGVycnVwdCxFUlJPUl9BUElDX1ZFQ1RPUikKLUJVSUxEX0lOVEVSUlVQVChzcHVyaW91c19pbnRlcnJ1cHQsU1BVUklPVVNfQVBJQ19WRUNUT1IpCi0jZW5kaWYKKyNpbmNsdWRlICIuLi9tYWNoLWRlZmF1bHQvZW50cnlfYXJjaC5oIgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L21hY2gtdmlzd3MvaXJxX3ZlY3RvcnMuaCBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLXZpc3dzL2lycV92ZWN0b3JzLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNiNTcyZDguLjAwMDAwMDAKLS0tIGEvaW5jbHVkZS9hc20teDg2L21hY2gtdmlzd3MvaXJxX3ZlY3RvcnMuaAorKysgL2Rldi9udWxsCkBAIC0xLDYyICswLDAgQEAKLSNpZm5kZWYgX0FTTV9JUlFfVkVDVE9SU19ICi0jZGVmaW5lIF9BU01fSVJRX1ZFQ1RPUlNfSAotCi0vKgotICogSURUIHZlY3RvcnMgdXNhYmxlIGZvciBleHRlcm5hbCBpbnRlcnJ1cHQgc291cmNlcyBzdGFydAotICogYXQgMHgyMDoKLSAqLwotI2RlZmluZSBGSVJTVF9FWFRFUk5BTF9WRUNUT1IJMHgyMAotCi0jZGVmaW5lIFNZU0NBTExfVkVDVE9SCQkweDgwCi0KLS8qCi0gKiBWZWN0b3JzIDB4MjAtMHgyZiBhcmUgdXNlZCBmb3IgSVNBIGludGVycnVwdHMuCi0gKi8KLQotLyoKLSAqIFNwZWNpYWwgSVJRIHZlY3RvcnMgdXNlZCBieSB0aGUgU01QIGFyY2hpdGVjdHVyZSwgMHhmMC0weGZmCi0gKgotICogIHNvbWUgb2YgdGhlIGZvbGxvd2luZyB2ZWN0b3JzIGFyZSAncmFyZScsIHRoZXkgYXJlIG1lcmdlZAotICogIGludG8gYSBzaW5nbGUgdmVjdG9yIChDQUxMX0ZVTkNUSU9OX1ZFQ1RPUikgdG8gc2F2ZSB2ZWN0b3Igc3BhY2UuCi0gKiAgVExCLCByZXNjaGVkdWxlIGFuZCBsb2NhbCBBUElDIHZlY3RvcnMgYXJlIHBlcmZvcm1hbmNlLWNyaXRpY2FsLgotICoKLSAqICBWZWN0b3JzIDB4ZjAtMHhmYSBhcmUgZnJlZSAocmVzZXJ2ZWQgZm9yIGZ1dHVyZSBMaW51eCB1c2UpLgotICovCi0jZGVmaW5lIFNQVVJJT1VTX0FQSUNfVkVDVE9SCTB4ZmYKLSNkZWZpbmUgRVJST1JfQVBJQ19WRUNUT1IJMHhmZQotI2RlZmluZSBJTlZBTElEQVRFX1RMQl9WRUNUT1IJMHhmZAotI2RlZmluZSBSRVNDSEVEVUxFX1ZFQ1RPUgkweGZjCi0jZGVmaW5lIENBTExfRlVOQ1RJT05fVkVDVE9SCTB4ZmIKLQotI2RlZmluZSBUSEVSTUFMX0FQSUNfVkVDVE9SCTB4ZjAKLS8qCi0gKiBMb2NhbCBBUElDIHRpbWVyIElSUSB2ZWN0b3IgaXMgb24gYSBkaWZmZXJlbnQgcHJpb3JpdHkgbGV2ZWwsCi0gKiB0byB3b3JrIGFyb3VuZCB0aGUgJ2xvc3QgbG9jYWwgaW50ZXJydXB0IGlmIG1vcmUgdGhhbiAyIElSUQotICogc291cmNlcyBwZXIgbGV2ZWwnIGVycmF0YS4KLSAqLwotI2RlZmluZSBMT0NBTF9USU1FUl9WRUNUT1IJMHhlZgotCi0vKgotICogRmlyc3QgQVBJQyB2ZWN0b3IgYXZhaWxhYmxlIHRvIGRyaXZlcnM6ICh2ZWN0b3JzIDB4MzAtMHhlZSkKLSAqIHdlIHN0YXJ0IGF0IDB4MzEgdG8gc3ByZWFkIG91dCB2ZWN0b3JzIGV2ZW5seSBiZXR3ZWVuIHByaW9yaXR5Ci0gKiBsZXZlbHMuICgweDgwIGlzIHRoZSBzeXNjYWxsIHZlY3RvcikKLSAqLwotI2RlZmluZSBGSVJTVF9ERVZJQ0VfVkVDVE9SCTB4MzEKLSNkZWZpbmUgRklSU1RfU1lTVEVNX1ZFQ1RPUgkweGVmCi0KLSNkZWZpbmUgVElNRVJfSVJRIDAKLQotLyoKLSAqIElSUSBkZWZpbml0aW9ucwotICovCi0jZGVmaW5lIE5SX1ZFQ1RPUlMgMjU2Ci0jZGVmaW5lIE5SX0lSUVMgMjI0Ci0jZGVmaW5lIE5SX0lSUV9WRUNUT1JTIE5SX0lSUVMKLQotI2RlZmluZSBGUFVfSVJRCQkJMTMKLQotI2RlZmluZQlGSVJTVF9WTTg2X0lSUQkJMwotI2RlZmluZSBMQVNUX1ZNODZfSVJRCQkxNQotI2RlZmluZSBpbnZhbGlkX3ZtODZfaXJxKGlycSkJKChpcnEpIDwgMyB8fCAoaXJxKSA+IDE1KQotCi0jZW5kaWYgLyogX0FTTV9JUlFfVkVDVE9SU19IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvbWFjaC12aXN3cy9tYWNoX2FwaWMuaCBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLXZpc3dzL21hY2hfYXBpYy5oCmluZGV4IGE5ZWYzM2EuLjY5NDNlN2EgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLXZpc3dzL21hY2hfYXBpYy5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLXZpc3dzL21hY2hfYXBpYy5oCkBAIC0xLDEwMyArMSBAQAotI2lmbmRlZiBfX0FTTV9NQUNIX0FQSUNfSAotI2RlZmluZSBfX0FTTV9NQUNIX0FQSUNfSAotCi0jaW5jbHVkZSA8bWFjaF9hcGljZGVmLmg+Ci0jaW5jbHVkZSA8YXNtL3NtcC5oPgotCi0jZGVmaW5lIEFQSUNfREZSX1ZBTFVFCShBUElDX0RGUl9GTEFUKQotCi0jZGVmaW5lIG5vX2JhbGFuY2VfaXJxICgwKQotI2RlZmluZSBlc3JfZGlzYWJsZSAoMCkKLQotI2RlZmluZSBJTlRfREVMSVZFUllfTU9ERSBkZXN0X0xvd2VzdFByaW8KLSNkZWZpbmUgSU5UX0RFU1RfTU9ERSAxICAgICAvKiBsb2dpY2FsIGRlbGl2ZXJ5IGJyb2FkY2FzdCB0byBhbGwgcHJvY3MgKi8KLQotI2lmZGVmIENPTkZJR19TTVAKLSAjZGVmaW5lIFRBUkdFVF9DUFVTIGNwdV9vbmxpbmVfbWFwCi0jZWxzZQotICNkZWZpbmUgVEFSR0VUX0NQVVMgY3B1bWFza19vZl9jcHUoMCkKLSNlbmRpZgotCi0jZGVmaW5lIGNoZWNrX2FwaWNpZF91c2VkKGJpdG1hcCwgYXBpY2lkKQlwaHlzaWRfaXNzZXQoYXBpY2lkLCBiaXRtYXApCi0jZGVmaW5lIGNoZWNrX2FwaWNpZF9wcmVzZW50KGJpdCkJCXBoeXNpZF9pc3NldChiaXQsIHBoeXNfY3B1X3ByZXNlbnRfbWFwKQotCi1zdGF0aWMgaW5saW5lIGludCBhcGljX2lkX3JlZ2lzdGVyZWQodm9pZCkKLXsKLQlyZXR1cm4gcGh5c2lkX2lzc2V0KEdFVF9BUElDX0lEKHJlYWRfYXBpY19pZCgpKSwgcGh5c19jcHVfcHJlc2VudF9tYXApOwotfQotCi0vKgotICogU2V0IHVwIHRoZSBsb2dpY2FsIGRlc3RpbmF0aW9uIElELgotICoKLSAqIEludGVsIHJlY29tbWVuZHMgdG8gc2V0IERGUiwgTERSIGFuZCBUUFIgYmVmb3JlIGVuYWJsaW5nCi0gKiBhbiBBUElDLiAgU2VlIGUuZy4gIkFQLTM4OCA4MjQ4OURYIFVzZXIncyBNYW51YWwiIChJbnRlbAotICogZG9jdW1lbnQgbnVtYmVyIDI5MjExNikuICBTbyBoZXJlIGl0IGdvZXMuLi4KLSAqLwotc3RhdGljIGlubGluZSB2b2lkIGluaXRfYXBpY19sZHIodm9pZCkKLXsKLQl1bnNpZ25lZCBsb25nIHZhbDsKLQotCWFwaWNfd3JpdGVfYXJvdW5kKEFQSUNfREZSLCBBUElDX0RGUl9WQUxVRSk7Ci0JdmFsID0gYXBpY19yZWFkKEFQSUNfTERSKSAmIH5BUElDX0xEUl9NQVNLOwotCXZhbCB8PSBTRVRfQVBJQ19MT0dJQ0FMX0lEKDFVTCA8PCBzbXBfcHJvY2Vzc29yX2lkKCkpOwotCWFwaWNfd3JpdGVfYXJvdW5kKEFQSUNfTERSLCB2YWwpOwotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQgc3VtbWl0X2NoZWNrKGNoYXIgKm9lbSwgY2hhciAqcHJvZHVjdGlkKSAKLXsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIHNldHVwX2FwaWNfcm91dGluZyh2b2lkKQotewotfQotCi1zdGF0aWMgaW5saW5lIGludCBhcGljaWRfdG9fbm9kZShpbnQgbG9naWNhbF9hcGljaWQpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLS8qIE1hcHBpbmcgZnJvbSBjcHUgbnVtYmVyIHRvIGxvZ2ljYWwgYXBpY2lkICovCi1zdGF0aWMgaW5saW5lIGludCBjcHVfdG9fbG9naWNhbF9hcGljaWQoaW50IGNwdSkKLXsKLQlyZXR1cm4gMSA8PCBjcHU7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgaW50IGNwdV9wcmVzZW50X3RvX2FwaWNpZChpbnQgbXBzX2NwdSkKLXsKLQlpZiAobXBzX2NwdSA8IGdldF9waHlzaWNhbF9icm9hZGNhc3QoKSkKLQkJcmV0dXJuIG1wc19jcHU7Ci0JZWxzZQotCQlyZXR1cm4gQkFEX0FQSUNJRDsKLX0KLQotc3RhdGljIGlubGluZSBwaHlzaWRfbWFza190IGFwaWNpZF90b19jcHVfcHJlc2VudChpbnQgYXBpY2lkKQotewotCXJldHVybiBwaHlzaWRfbWFza19vZl9waHlzaWQoYXBpY2lkKTsKLX0KLQotI2RlZmluZSBXQUtFX1NFQ09OREFSWV9WSUFfSU5JVAotCi1zdGF0aWMgaW5saW5lIHZvaWQgc2V0dXBfcG9ydGlvX3JlbWFwKHZvaWQpCi17Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCBlbmFibGVfYXBpY19tb2RlKHZvaWQpCi17Ci19Ci0KLXN0YXRpYyBpbmxpbmUgaW50IGNoZWNrX3BoeXNfYXBpY2lkX3ByZXNlbnQoaW50IGJvb3RfY3B1X3BoeXNpY2FsX2FwaWNpZCkKLXsKLQlyZXR1cm4gcGh5c2lkX2lzc2V0KGJvb3RfY3B1X3BoeXNpY2FsX2FwaWNpZCwgcGh5c19jcHVfcHJlc2VudF9tYXApOwotfQotCi1zdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCBjcHVfbWFza190b19hcGljaWQoY3B1bWFza190IGNwdW1hc2spCi17Ci0JcmV0dXJuIGNwdXNfYWRkcihjcHVtYXNrKVswXTsKLX0KLQotc3RhdGljIGlubGluZSB1MzIgcGh5c19wa2dfaWQodTMyIGNwdWlkX2FwaWMsIGludCBpbmRleF9tc2IpCi17Ci0JcmV0dXJuIGNwdWlkX2FwaWMgPj4gaW5kZXhfbXNiOwotfQotCi0jZW5kaWYgLyogX19BU01fTUFDSF9BUElDX0ggKi8KKyNpbmNsdWRlICIuLi9tYWNoLWRlZmF1bHQvbWFjaF9hcGljLmgiCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvbWFjaC12aXN3cy9tYWNoX2FwaWNkZWYuaCBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLXZpc3dzL21hY2hfYXBpY2RlZi5oCmluZGV4IDgyNmNmYTkuLjQyNzExZDEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLXZpc3dzL21hY2hfYXBpY2RlZi5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLXZpc3dzL21hY2hfYXBpY2RlZi5oCkBAIC0xLDEyICsxIEBACi0jaWZuZGVmIF9fQVNNX01BQ0hfQVBJQ0RFRl9ICi0jZGVmaW5lIF9fQVNNX01BQ0hfQVBJQ0RFRl9ICi0KLSNkZWZpbmUgICAgICAgICBBUElDX0lEX01BU0sgICAgICAgICAgICAoMHhGPDwyNCkKLQotc3RhdGljIGlubGluZSB1bnNpZ25lZCBnZXRfYXBpY19pZCh1bnNpZ25lZCBsb25nIHgpCi17Ci0JICAgICAgICByZXR1cm4gKCgoeCk+PjI0KSYweEYpOwotfQotI2RlZmluZSAgICAgICAgIEdFVF9BUElDX0lEKHgpICBnZXRfYXBpY19pZCh4KQotCi0jZW5kaWYKKyNpbmNsdWRlICIuLi9tYWNoLWRlZmF1bHQvbWFjaF9hcGljZGVmLmgiCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvbWFjaC12aXN3cy9zZXR1cF9hcmNoLmggYi9pbmNsdWRlL2FzbS14ODYvbWFjaC12aXN3cy9zZXR1cF9hcmNoLmgKaW5kZXggMzNmNzAwZS4uZmE0NzY2YyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L21hY2gtdmlzd3Mvc2V0dXBfYXJjaC5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLXZpc3dzL3NldHVwX2FyY2guaApAQCAtMSw4ICsxIEBACi0vKiBIb29rIHRvIGNhbGwgQklPUyBpbml0aWFsaXNhdGlvbiBmdW5jdGlvbiAqLwotCi1leHRlcm4gdW5zaWduZWQgbG9uZyBzZ2l2d2ZiX21lbV9waHlzOwotZXh0ZXJuIHVuc2lnbmVkIGxvbmcgc2dpdndmYl9tZW1fc2l6ZTsKLQotLyogbm8gYWN0aW9uIGZvciB2aXN3cyAqLwotCi0jZGVmaW5lIEFSQ0hfU0VUVVAKKyNpbmNsdWRlICIuLi9tYWNoLWRlZmF1bHQvc2V0dXBfYXJjaC5oIgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L21hY2gtdmlzd3Mvc21wYm9vdF9ob29rcy5oIGIvaW5jbHVkZS9hc20teDg2L21hY2gtdmlzd3Mvc21wYm9vdF9ob29rcy5oCmluZGV4IGM5YjgzZTMuLmU0NDMzY2EgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLXZpc3dzL3NtcGJvb3RfaG9va3MuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvbWFjaC12aXN3cy9zbXBib290X2hvb2tzLmgKQEAgLTEsMjggKzEgQEAKLXN0YXRpYyBpbmxpbmUgdm9pZCBzbXBib290X3NldHVwX3dhcm1fcmVzZXRfdmVjdG9yKHVuc2lnbmVkIGxvbmcgc3RhcnRfZWlwKQotewotCUNNT1NfV1JJVEUoMHhhLCAweGYpOwotCWxvY2FsX2ZsdXNoX3RsYigpOwotCURwcmludGsoIjEuXG4iKTsKLQkqKCh2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAqKSBUUkFNUE9MSU5FX0hJR0gpID0gc3RhcnRfZWlwID4+IDQ7Ci0JRHByaW50aygiMi5cbiIpOwotCSooKHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICopIFRSQU1QT0xJTkVfTE9XKSA9IHN0YXJ0X2VpcCAmIDB4ZjsKLQlEcHJpbnRrKCIzLlxuIik7Ci19Ci0KLS8qIGZvciB2aXN3cyBkbyBub3RoaW5nIGZvciBhbnkgb2YgdGhlc2UgKi8KLQotc3RhdGljIGlubGluZSB2b2lkIHNtcGJvb3RfY2xlYXJfaW9fYXBpY19pcnFzKHZvaWQpCi17Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCBzbXBib290X3Jlc3RvcmVfd2FybV9yZXNldF92ZWN0b3Iodm9pZCkKLXsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIHNtcGJvb3Rfc2V0dXBfaW9fYXBpYyh2b2lkKQotewotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQgc21wYm9vdF9jbGVhcl9pb19hcGljKHZvaWQpCi17Ci19CisjaW5jbHVkZSAiLi4vbWFjaC1kZWZhdWx0L3NtcGJvb3RfaG9va3MuaCIKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLXZveWFnZXIvZW50cnlfYXJjaC5oIGIvaW5jbHVkZS9hc20teDg2L21hY2gtdm95YWdlci9lbnRyeV9hcmNoLmgKaW5kZXggNGExZTFlOC4uYWU1MjYyNCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L21hY2gtdm95YWdlci9lbnRyeV9hcmNoLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L21hY2gtdm95YWdlci9lbnRyeV9hcmNoLmgKQEAgLTIzLDQgKzIzLDQgQEAKIEJVSUxEX0lOVEVSUlVQVChxaWNfcmVzY2hlZHVsZV9pbnRlcnJ1cHQsIFFJQ19SRVNDSEVEVUxFX0NQSSk7CiBCVUlMRF9JTlRFUlJVUFQocWljX2VuYWJsZV9pcnFfaW50ZXJydXB0LCBRSUNfRU5BQkxFX0lSUV9DUEkpOwogQlVJTERfSU5URVJSVVBUKHFpY19jYWxsX2Z1bmN0aW9uX2ludGVycnVwdCwgUUlDX0NBTExfRlVOQ1RJT05fQ1BJKTsKLQorQlVJTERfSU5URVJSVVBUKHFpY19jYWxsX2Z1bmN0aW9uX3NpbmdsZV9pbnRlcnJ1cHQsIFFJQ19DQUxMX0ZVTkNUSU9OX1NJTkdMRV9DUEkpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L21hY2gtdm95YWdlci9pcnFfdmVjdG9ycy5oIGIvaW5jbHVkZS9hc20teDg2L21hY2gtdm95YWdlci9pcnFfdmVjdG9ycy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNjU0MjFmLi4wMDAwMDAwCi0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLXZveWFnZXIvaXJxX3ZlY3RvcnMuaAorKysgL2Rldi9udWxsCkBAIC0xLDc5ICswLDAgQEAKLS8qIC0qLSBtb2RlOiBjOyBjLWJhc2ljLW9mZnNldDogOCAtKi0gKi8KLQotLyogQ29weXJpZ2h0IChDKSAyMDAyCi0gKgotICogQXV0aG9yOiBKYW1lcy5Cb3R0b21sZXlASGFuc2VuUGFydG5lcnNoaXAuY29tCi0gKgotICogbGludXgvYXJjaC9pMzg2L3ZveWFnZXIvaXJxX3ZlY3RvcnMuaAotICoKLSAqIFRoaXMgZmlsZSBwcm92aWRlcyBkZWZpbml0aW9ucyBmb3IgdGhlIFZJQyBhbmQgUUlDIENQSXMKLSAqLwotCi0jaWZuZGVmIF9BU01fSVJRX1ZFQ1RPUlNfSAotI2RlZmluZSBfQVNNX0lSUV9WRUNUT1JTX0gKLQotLyoKLSAqIElEVCB2ZWN0b3JzIHVzYWJsZSBmb3IgZXh0ZXJuYWwgaW50ZXJydXB0IHNvdXJjZXMgc3RhcnQKLSAqIGF0IDB4MjA6Ci0gKi8KLSNkZWZpbmUgRklSU1RfRVhURVJOQUxfVkVDVE9SCTB4MjAKLQotI2RlZmluZSBTWVNDQUxMX1ZFQ1RPUgkJMHg4MAotCi0vKgotICogVmVjdG9ycyAweDIwLTB4MmYgYXJlIHVzZWQgZm9yIElTQSBpbnRlcnJ1cHRzLgotICovCi0KLS8qIFRoZXNlIGRlZmluZSB0aGUgQ1BJcyB3ZSB1c2UgaW4gbGludXggKi8KLSNkZWZpbmUgVklDX0NQSV9MRVZFTDAJCQkwCi0jZGVmaW5lIFZJQ19DUElfTEVWRUwxCQkJMQotLyogbm93IHRoZSBmYWtlIENQSXMgKi8KLSNkZWZpbmUgVklDX1RJTUVSX0NQSQkJCTIKLSNkZWZpbmUgVklDX0lOVkFMSURBVEVfQ1BJCQkzCi0jZGVmaW5lIFZJQ19SRVNDSEVEVUxFX0NQSQkJNAotI2RlZmluZSBWSUNfRU5BQkxFX0lSUV9DUEkJCTUKLSNkZWZpbmUgVklDX0NBTExfRlVOQ1RJT05fQ1BJCQk2Ci0KLS8qIE5vdyB0aGUgUUlDIENQSXM6ICBTaW5jZSB3ZSBkb24ndCBuZWVkIHRoZSB0d28gaW5pdGlhbCBsZXZlbHMsCi0gKiB0aGVzZSBhcmUgMiBsZXNzIHRoYW4gdGhlIFZJQyBDUElzICovCi0jZGVmaW5lIFFJQ19DUElfT0ZGU0VUCQkJMQotI2RlZmluZSBRSUNfVElNRVJfQ1BJCQkJKFZJQ19USU1FUl9DUEkgLSBRSUNfQ1BJX09GRlNFVCkKLSNkZWZpbmUgUUlDX0lOVkFMSURBVEVfQ1BJCQkoVklDX0lOVkFMSURBVEVfQ1BJIC0gUUlDX0NQSV9PRkZTRVQpCi0jZGVmaW5lIFFJQ19SRVNDSEVEVUxFX0NQSQkJKFZJQ19SRVNDSEVEVUxFX0NQSSAtIFFJQ19DUElfT0ZGU0VUKQotI2RlZmluZSBRSUNfRU5BQkxFX0lSUV9DUEkJCShWSUNfRU5BQkxFX0lSUV9DUEkgLSBRSUNfQ1BJX09GRlNFVCkKLSNkZWZpbmUgUUlDX0NBTExfRlVOQ1RJT05fQ1BJCQkoVklDX0NBTExfRlVOQ1RJT05fQ1BJIC0gUUlDX0NQSV9PRkZTRVQpCi0KLSNkZWZpbmUgVklDX1NUQVJUX0ZBS0VfQ1BJCQlWSUNfVElNRVJfQ1BJCi0jZGVmaW5lIFZJQ19FTkRfRkFLRV9DUEkJCVZJQ19DQUxMX0ZVTkNUSU9OX0NQSQotCi0vKiB0aGlzIGlzIHRoZSBTWVNfSU5UIENQSS4gKi8KLSNkZWZpbmUgVklDX1NZU19JTlQJCQk4Ci0jZGVmaW5lIFZJQ19DTU5fSU5UCQkJMTUKLQotLyogVGhpcyBpcyB0aGUgYm9vdCBDUEkgZm9yIGFsdGVybmF0ZSBwcm9jZXNzb3JzLiAgSXQgZ2V0cyBvdmVyd3JpdHRlbgotICogYnkgdGhlIGFib3ZlIG9uY2UgdGhlIHN5c3RlbSBoYXMgYWN0aXZhdGVkIGFsbCBhdmFpbGFibGUgcHJvY2Vzc29ycyAqLwotI2RlZmluZSBWSUNfQ1BVX0JPT1RfQ1BJCQlWSUNfQ1BJX0xFVkVMMAotI2RlZmluZSBWSUNfQ1BVX0JPT1RfRVJSQVRBX0NQSQkJKFZJQ19DUElfTEVWRUwwICsgOCkKLQotI2RlZmluZSBOUl9WRUNUT1JTIDI1NgotI2RlZmluZSBOUl9JUlFTIDIyNAotI2RlZmluZSBOUl9JUlFfVkVDVE9SUyBOUl9JUlFTCi0KLSNkZWZpbmUgRlBVX0lSUQkJCQkxMwotCi0jZGVmaW5lCUZJUlNUX1ZNODZfSVJRCQkzCi0jZGVmaW5lIExBU1RfVk04Nl9JUlEJCTE1Ci0jZGVmaW5lIGludmFsaWRfdm04Nl9pcnEoaXJxKQkoKGlycSkgPCAzIHx8IChpcnEpID4gMTUpCi0KLSNpZm5kZWYgX19BU1NFTUJMWV9fCi1leHRlcm4gYXNtbGlua2FnZSB2b2lkIHZpY19jcGlfaW50ZXJydXB0KHZvaWQpOwotZXh0ZXJuIGFzbWxpbmthZ2Ugdm9pZCB2aWNfc3lzX2ludGVycnVwdCh2b2lkKTsKLWV4dGVybiBhc21saW5rYWdlIHZvaWQgdmljX2Ntbl9pbnRlcnJ1cHQodm9pZCk7Ci1leHRlcm4gYXNtbGlua2FnZSB2b2lkIHFpY190aW1lcl9pbnRlcnJ1cHQodm9pZCk7Ci1leHRlcm4gYXNtbGlua2FnZSB2b2lkIHFpY19pbnZhbGlkYXRlX2ludGVycnVwdCh2b2lkKTsKLWV4dGVybiBhc21saW5rYWdlIHZvaWQgcWljX3Jlc2NoZWR1bGVfaW50ZXJydXB0KHZvaWQpOwotZXh0ZXJuIGFzbWxpbmthZ2Ugdm9pZCBxaWNfZW5hYmxlX2lycV9pbnRlcnJ1cHQodm9pZCk7Ci1leHRlcm4gYXNtbGlua2FnZSB2b2lkIHFpY19jYWxsX2Z1bmN0aW9uX2ludGVycnVwdCh2b2lkKTsKLSNlbmRpZiAvKiAhX19BU1NFTUJMWV9fICovCi0KLSNlbmRpZiAvKiBfQVNNX0lSUV9WRUNUT1JTX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9tbWNvbmZpZy5oIGIvaW5jbHVkZS9hc20teDg2L21tY29uZmlnLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTViZWRhMAotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9tbWNvbmZpZy5oCkBAIC0wLDAgKzEsMTIgQEAKKyNpZm5kZWYgX0FTTV9NTUNPTkZJR19ICisjZGVmaW5lIF9BU01fTU1DT05GSUdfSAorCisjaWZkZWYgQ09ORklHX1BDSV9NTUNPTkZJRworZXh0ZXJuIHZvaWQgX19jcHVpbml0IGZhbTEwaF9jaGVja19lbmFibGVfbW1jZmcodm9pZCk7CitleHRlcm4gdm9pZCBfX2luaXQgY2hlY2tfZW5hYmxlX2FtZF9tbWNvbmZfZG1pKHZvaWQpOworI2Vsc2UKK3N0YXRpYyBpbmxpbmUgdm9pZCBmYW0xMGhfY2hlY2tfZW5hYmxlX21tY2ZnKHZvaWQpIHsgfQorc3RhdGljIGlubGluZSB2b2lkIGNoZWNrX2VuYWJsZV9hbWRfbW1jb25mX2RtaSh2b2lkKSB7IH0KKyNlbmRpZgorCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9tbXVfY29udGV4dC5oIGIvaW5jbHVkZS9hc20teDg2L21tdV9jb250ZXh0LmgKaW5kZXggNjU5ODQ1MC4uZmFjNTcwMSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L21tdV9jb250ZXh0LmgKKysrIGIvaW5jbHVkZS9hc20teDg2L21tdV9jb250ZXh0LmgKQEAgLTEsNSArMSwzNyBAQAorI2lmbmRlZiBfX0FTTV9YODZfTU1VX0NPTlRFWFRfSAorI2RlZmluZSBfX0FTTV9YODZfTU1VX0NPTlRFWFRfSAorCisjaW5jbHVkZSA8YXNtL2Rlc2MuaD4KKyNpbmNsdWRlIDxhc20vYXRvbWljLmg+CisjaW5jbHVkZSA8YXNtL3BnYWxsb2MuaD4KKyNpbmNsdWRlIDxhc20vdGxiZmx1c2guaD4KKyNpbmNsdWRlIDxhc20vcGFyYXZpcnQuaD4KKyNpZm5kZWYgQ09ORklHX1BBUkFWSVJUCisjaW5jbHVkZSA8YXNtLWdlbmVyaWMvbW1faG9va3MuaD4KKworc3RhdGljIGlubGluZSB2b2lkIHBhcmF2aXJ0X2FjdGl2YXRlX21tKHN0cnVjdCBtbV9zdHJ1Y3QgKnByZXYsCisJCQkJCXN0cnVjdCBtbV9zdHJ1Y3QgKm5leHQpCit7Cit9CisjZW5kaWYJLyogIUNPTkZJR19QQVJBVklSVCAqLworCisvKgorICogVXNlZCBmb3IgTERUIGNvcHkvZGVzdHJ1Y3Rpb24uCisgKi8KK2ludCBpbml0X25ld19jb250ZXh0KHN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrLCBzdHJ1Y3QgbW1fc3RydWN0ICptbSk7Cit2b2lkIGRlc3Ryb3lfY29udGV4dChzdHJ1Y3QgbW1fc3RydWN0ICptbSk7CisKICNpZmRlZiBDT05GSUdfWDg2XzMyCiAjIGluY2x1ZGUgIm1tdV9jb250ZXh0XzMyLmgiCiAjZWxzZQogIyBpbmNsdWRlICJtbXVfY29udGV4dF82NC5oIgogI2VuZGlmCisKKyNkZWZpbmUgYWN0aXZhdGVfbW0ocHJldiwgbmV4dCkJCQlcCitkbyB7CQkJCQkJXAorCXBhcmF2aXJ0X2FjdGl2YXRlX21tKChwcmV2KSwgKG5leHQpKTsJXAorCXN3aXRjaF9tbSgocHJldiksIChuZXh0KSwgTlVMTCk7CVwKK30gd2hpbGUgKDApOworCisKKyNlbmRpZiAvKiBfX0FTTV9YODZfTU1VX0NPTlRFWFRfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L21tdV9jb250ZXh0XzMyLmggYi9pbmNsdWRlL2FzbS14ODYvbW11X2NvbnRleHRfMzIuaAppbmRleCA5NzU2YWUwLi44MjRmYzU3IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvbW11X2NvbnRleHRfMzIuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvbW11X2NvbnRleHRfMzIuaApAQCAtMSwyOCArMSw2IEBACiAjaWZuZGVmIF9fSTM4Nl9TQ0hFRF9ICiAjZGVmaW5lIF9fSTM4Nl9TQ0hFRF9ICiAKLSNpbmNsdWRlIDxhc20vZGVzYy5oPgotI2luY2x1ZGUgPGFzbS9hdG9taWMuaD4KLSNpbmNsdWRlIDxhc20vcGdhbGxvYy5oPgotI2luY2x1ZGUgPGFzbS90bGJmbHVzaC5oPgotI2luY2x1ZGUgPGFzbS9wYXJhdmlydC5oPgotI2lmbmRlZiBDT05GSUdfUEFSQVZJUlQKLSNpbmNsdWRlIDxhc20tZ2VuZXJpYy9tbV9ob29rcy5oPgotCi1zdGF0aWMgaW5saW5lIHZvaWQgcGFyYXZpcnRfYWN0aXZhdGVfbW0oc3RydWN0IG1tX3N0cnVjdCAqcHJldiwKLQkJCQkJc3RydWN0IG1tX3N0cnVjdCAqbmV4dCkKLXsKLX0KLSNlbmRpZgkvKiAhQ09ORklHX1BBUkFWSVJUICovCi0KLQotLyoKLSAqIFVzZWQgZm9yIExEVCBjb3B5L2Rlc3RydWN0aW9uLgotICovCi1pbnQgaW5pdF9uZXdfY29udGV4dChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzaywgc3RydWN0IG1tX3N0cnVjdCAqbW0pOwotdm9pZCBkZXN0cm95X2NvbnRleHQoc3RydWN0IG1tX3N0cnVjdCAqbW0pOwotCi0KIHN0YXRpYyBpbmxpbmUgdm9pZCBlbnRlcl9sYXp5X3RsYihzdHJ1Y3QgbW1fc3RydWN0ICptbSwgc3RydWN0IHRhc2tfc3RydWN0ICp0c2spCiB7CiAjaWZkZWYgQ09ORklHX1NNUApAQCAtNzUsMTAgKzUzLDQgQEAKICNkZWZpbmUgZGVhY3RpdmF0ZV9tbSh0c2ssIG1tKQkJCVwKIAlhc20oIm1vdmwgJTAsJSVncyI6IDoiciIgKDApKTsKIAotI2RlZmluZSBhY3RpdmF0ZV9tbShwcmV2LCBuZXh0KQkJCVwKLWRvIHsJCQkJCQlcCi0JcGFyYXZpcnRfYWN0aXZhdGVfbW0oKHByZXYpLCAobmV4dCkpOwlcCi0Jc3dpdGNoX21tKChwcmV2KSwgKG5leHQpLCBOVUxMKTsJXAotfSB3aGlsZSAoMCk7Ci0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L21tdV9jb250ZXh0XzY0LmggYi9pbmNsdWRlL2FzbS14ODYvbW11X2NvbnRleHRfNjQuaAppbmRleCBjYTQ0YzcxLi5jNzAwMDYzIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvbW11X2NvbnRleHRfNjQuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvbW11X2NvbnRleHRfNjQuaApAQCAtMSwyMSArMSw3IEBACiAjaWZuZGVmIF9fWDg2XzY0X01NVV9DT05URVhUX0gKICNkZWZpbmUgX19YODZfNjRfTU1VX0NPTlRFWFRfSAogCi0jaW5jbHVkZSA8YXNtL2Rlc2MuaD4KLSNpbmNsdWRlIDxhc20vYXRvbWljLmg+Ci0jaW5jbHVkZSA8YXNtL3BnYWxsb2MuaD4KICNpbmNsdWRlIDxhc20vcGRhLmg+Ci0jaW5jbHVkZSA8YXNtL3BndGFibGUuaD4KLSNpbmNsdWRlIDxhc20vdGxiZmx1c2guaD4KLSNpZm5kZWYgQ09ORklHX1BBUkFWSVJUCi0jaW5jbHVkZSA8YXNtLWdlbmVyaWMvbW1faG9va3MuaD4KLSNlbmRpZgotCi0vKgotICogcG9zc2libHkgZG8gdGhlIExEVCB1bmxvYWQgaGVyZT8KLSAqLwotaW50IGluaXRfbmV3X2NvbnRleHQoc3RydWN0IHRhc2tfc3RydWN0ICp0c2ssIHN0cnVjdCBtbV9zdHJ1Y3QgKm1tKTsKLXZvaWQgZGVzdHJveV9jb250ZXh0KHN0cnVjdCBtbV9zdHJ1Y3QgKm1tKTsKIAogc3RhdGljIGlubGluZSB2b2lkIGVudGVyX2xhenlfdGxiKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzaykKIHsKQEAgLTY1LDggKzUxLDQgQEAKIAlhc20gdm9sYXRpbGUoIm1vdmwgJTAsJSVmcyI6OiJyIigwKSk7CVwKIH0gd2hpbGUgKDApCiAKLSNkZWZpbmUgYWN0aXZhdGVfbW0ocHJldiwgbmV4dCkJCQlcCi0Jc3dpdGNoX21tKChwcmV2KSwgKG5leHQpLCBOVUxMKQotCi0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L21tem9uZV8zMi5oIGIvaW5jbHVkZS9hc20teDg2L21tem9uZV8zMi5oCmluZGV4IGNiMmNhZDAuLmIyMjk4YTIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9tbXpvbmVfMzIuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvbW16b25lXzMyLmgKQEAgLTEyLDExICsxMiw5IEBACiBleHRlcm4gc3RydWN0IHBnbGlzdF9kYXRhICpub2RlX2RhdGFbXTsKICNkZWZpbmUgTk9ERV9EQVRBKG5pZCkJKG5vZGVfZGF0YVtuaWRdKQogCi0jaWZkZWYgQ09ORklHX1g4Nl9OVU1BUQotCSNpbmNsdWRlIDxhc20vbnVtYXEuaD4KLSNlbGlmIGRlZmluZWQoQ09ORklHX0FDUElfU1JBVCkvKiBzdW1taXQgb3IgZ2VuZXJpYyBhcmNoICovCi0JI2luY2x1ZGUgPGFzbS9zcmF0Lmg+Ci0jZW5kaWYKKyNpbmNsdWRlIDxhc20vbnVtYXEuaD4KKy8qIHN1bW1pdCBvciBnZW5lcmljIGFyY2ggKi8KKyNpbmNsdWRlIDxhc20vc3JhdC5oPgogCiBleHRlcm4gaW50IGdldF9tZW1jZmdfbnVtYV9mbGF0KHZvaWQpOwogLyoKQEAgLTI2LDI4ICsyNCwyMCBAQAogICovCiBzdGF0aWMgaW5saW5lIHZvaWQgZ2V0X21lbWNmZ19udW1hKHZvaWQpCiB7Ci0jaWZkZWYgQ09ORklHX1g4Nl9OVU1BUQorCiAJaWYgKGdldF9tZW1jZmdfbnVtYXEoKSkKIAkJcmV0dXJuOwotI2VsaWYgZGVmaW5lZChDT05GSUdfQUNQSV9TUkFUKQogCWlmIChnZXRfbWVtY2ZnX2Zyb21fc3JhdCgpKQogCQlyZXR1cm47Ci0jZW5kaWYKLQogCWdldF9tZW1jZmdfbnVtYV9mbGF0KCk7CiB9CiAKIGV4dGVybiBpbnQgZWFybHlfcGZuX3RvX25pZCh1bnNpZ25lZCBsb25nIHBmbik7Ci1leHRlcm4gdm9pZCBudW1hX2t2YV9yZXNlcnZlKHZvaWQpOwogCiAjZWxzZSAvKiAhQ09ORklHX05VTUEgKi8KIAogI2RlZmluZSBnZXRfbWVtY2ZnX251bWEgZ2V0X21lbWNmZ19udW1hX2ZsYXQKLSNkZWZpbmUgZ2V0X3pob2xlc19zaXplKG4pICgwKQogCi1zdGF0aWMgaW5saW5lIHZvaWQgbnVtYV9rdmFfcmVzZXJ2ZSh2b2lkKQotewotfQogI2VuZGlmIC8qIENPTkZJR19OVU1BICovCiAKICNpZmRlZiBDT05GSUdfRElTQ09OVElHTUVNCkBAIC01NSwxNCArNDUsMTQgQEAKIC8qCiAgKiBnZW5lcmljIG5vZGUgbWVtb3J5IHN1cHBvcnQsIHRoZSBmb2xsb3dpbmcgYXNzdW1wdGlvbnMgYXBwbHk6CiAgKgotICogMSkgbWVtb3J5IGNvbWVzIGluIDI1Nk1iIGNvbnRpZ2lvdXMgY2h1bmtzIHdoaWNoIGFyZSBlaXRoZXIgcHJlc2VudCBvciBub3QKKyAqIDEpIG1lbW9yeSBjb21lcyBpbiA2NE1iIGNvbnRpZ2lvdXMgY2h1bmtzIHdoaWNoIGFyZSBlaXRoZXIgcHJlc2VudCBvciBub3QKICAqIDIpIHdlIHdpbGwgbm90IGhhdmUgbW9yZSB0aGFuIDY0R2IgaW4gdG90YWwKICAqCiAgKiBmb3Igbm93IGFzc3VtZSB0aGF0IDY0R2IgaXMgbWF4IGFtb3VudCBvZiBSQU0gZm9yIHdob2xlIHN5c3RlbQogICogICAgNjRHYiAvIDQwOTZieXRlcy9wYWdlID0gMTY3NzcyMTYgcGFnZXMKICAqLwogI2RlZmluZSBNQVhfTlJfUEFHRVMgMTY3NzcyMTYKLSNkZWZpbmUgTUFYX0VMRU1FTlRTIDI1NgorI2RlZmluZSBNQVhfRUxFTUVOVFMgMTAyNAogI2RlZmluZSBQQUdFU19QRVJfRUxFTUVOVCAoTUFYX05SX1BBR0VTL01BWF9FTEVNRU5UUykKIAogZXh0ZXJuIHM4IHBoeXNub2RlX21hcFtdOwpAQCAtODcsOSArNzcsNiBAQAogCV9fcGdkYXQtPm5vZGVfc3RhcnRfcGZuICsgX19wZ2RhdC0+bm9kZV9zcGFubmVkX3BhZ2VzOwkJXAogfSkKIAotI2lmZGVmIENPTkZJR19YODZfTlVNQVEgICAgICAgICAgICAvKiB3ZSBoYXZlIGNvbnRpZ3VvdXMgbWVtb3J5IG9uIE5VTUEtUSAqLwotI2RlZmluZSBwZm5fdmFsaWQocGZuKSAgICAgICAgICAoKHBmbikgPCBudW1fcGh5c3BhZ2VzKQotI2Vsc2UKIHN0YXRpYyBpbmxpbmUgaW50IHBmbl92YWxpZChpbnQgcGZuKQogewogCWludCBuaWQgPSBwZm5fdG9fbmlkKHBmbik7CkBAIC05OCw3ICs4NSw2IEBACiAJCXJldHVybiAocGZuIDwgbm9kZV9lbmRfcGZuKG5pZCkpOwogCXJldHVybiAwOwogfQotI2VuZGlmIC8qIENPTkZJR19YODZfTlVNQVEgKi8KIAogI2VuZGlmIC8qIENPTkZJR19ESVNDT05USUdNRU0gKi8KIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L21wc3BlYy5oIGIvaW5jbHVkZS9hc20teDg2L21wc3BlYy5oCmluZGV4IDU3YTk5MWIuLmI2OTk1ZTUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9tcHNwZWMuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvbXBzcGVjLmgKQEAgLTEzLDYgKzEzLDEyIEBACiBleHRlcm4gdTggYXBpY2lkXzJfbm9kZVtdOwogZXh0ZXJuIGludCBwaWNfbW9kZTsKIAorI2lmZGVmIENPTkZJR19YODZfTlVNQVEKK2V4dGVybiBpbnQgbXBfYnVzX2lkX3RvX25vZGVbTUFYX01QX0JVU1NFU107CitleHRlcm4gaW50IG1wX2J1c19pZF90b19sb2NhbFtNQVhfTVBfQlVTU0VTXTsKK2V4dGVybiBpbnQgcXVhZF9sb2NhbF90b19tcF9idXNfaWQgW05SX0NQVVMvNF1bNF07CisjZW5kaWYKKwogI2RlZmluZSBNQVhfQVBJQ0lEIDI1NgogCiAjZWxzZQpAQCAtMjEsMjYgKzI3LDMwIEBACiAvKiBFYWNoIFBDSSBzbG90IG1heSBiZSBhIGNvbWJvIGNhcmQgd2l0aCBpdHMgb3duIGJ1cy4gIDQgSVJRIHBpbnMgcGVyIHNsb3QuICovCiAjZGVmaW5lIE1BWF9JUlFfU09VUkNFUyAoTUFYX01QX0JVU1NFUyAqIDQpCiAKKyNlbmRpZgorCiBleHRlcm4gdm9pZCBlYXJseV9maW5kX3NtcF9jb25maWcodm9pZCk7CiBleHRlcm4gdm9pZCBlYXJseV9nZXRfc21wX2NvbmZpZyh2b2lkKTsKIAotI2VuZGlmCi0KICNpZiBkZWZpbmVkKENPTkZJR19NQ0EpIHx8IGRlZmluZWQoQ09ORklHX0VJU0EpCiBleHRlcm4gaW50IG1wX2J1c19pZF90b190eXBlW01BWF9NUF9CVVNTRVNdOwogI2VuZGlmCiAKIGV4dGVybiBERUNMQVJFX0JJVE1BUChtcF9idXNfbm90X3BjaSwgTUFYX01QX0JVU1NFUyk7CiAKLWV4dGVybiBpbnQgbXBfYnVzX2lkX3RvX3BjaV9idXNbTUFYX01QX0JVU1NFU107Ci0KIGV4dGVybiB1bnNpZ25lZCBpbnQgYm9vdF9jcHVfcGh5c2ljYWxfYXBpY2lkOworZXh0ZXJuIHVuc2lnbmVkIGludCBtYXhfcGh5c2ljYWxfYXBpY2lkOwogZXh0ZXJuIGludCBzbXBfZm91bmRfY29uZmlnOwogZXh0ZXJuIGludCBtcGNfZGVmYXVsdF90eXBlOwogZXh0ZXJuIHVuc2lnbmVkIGxvbmcgbXBfbGFwaWNfYWRkcjsKIAogZXh0ZXJuIHZvaWQgZmluZF9zbXBfY29uZmlnKHZvaWQpOwogZXh0ZXJuIHZvaWQgZ2V0X3NtcF9jb25maWcodm9pZCk7CisjaWZkZWYgQ09ORklHX1g4Nl9NUFBBUlNFCitleHRlcm4gdm9pZCBlYXJseV9yZXNlcnZlX2U4MjBfbXBjX25ldyh2b2lkKTsKKyNlbHNlCitzdGF0aWMgaW5saW5lIHZvaWQgZWFybHlfcmVzZXJ2ZV9lODIwX21wY19uZXcodm9pZCkgeyB9CisjZW5kaWYKIAogdm9pZCBfX2NwdWluaXQgZ2VuZXJpY19wcm9jZXNzb3JfaW5mbyhpbnQgYXBpY2lkLCBpbnQgdmVyc2lvbik7CiAjaWZkZWYgQ09ORklHX0FDUEkKQEAgLTQ5LDYgKzU5LDE3IEBACiAJCQkJICAgdTMyIGdzaSk7CiBleHRlcm4gdm9pZCBtcF9jb25maWdfYWNwaV9sZWdhY3lfaXJxcyh2b2lkKTsKIGV4dGVybiBpbnQgbXBfcmVnaXN0ZXJfZ3NpKHUzMiBnc2ksIGludCBlZGdlX2xldmVsLCBpbnQgYWN0aXZlX2hpZ2hfbG93KTsKKyNpZmRlZiBDT05GSUdfWDg2X0lPX0FQSUMKK2V4dGVybiBpbnQgbXBfY29uZmlnX2FjcGlfZ3NpKHVuc2lnbmVkIGNoYXIgbnVtYmVyLCB1bnNpZ25lZCBpbnQgZGV2Zm4sIHU4IHBpbiwKKwkJCQl1MzIgZ3NpLCBpbnQgdHJpZ2dlcmluZywgaW50IHBvbGFyaXR5KTsKKyNlbHNlCitzdGF0aWMgaW5saW5lIGludAorbXBfY29uZmlnX2FjcGlfZ3NpKHVuc2lnbmVkIGNoYXIgbnVtYmVyLCB1bnNpZ25lZCBpbnQgZGV2Zm4sIHU4IHBpbiwKKwkJICAgdTMyIGdzaSwgaW50IHRyaWdnZXJpbmcsIGludCBwb2xhcml0eSkKK3sKKwlyZXR1cm4gMDsKK30KKyNlbmRpZgogI2VuZGlmIC8qIENPTkZJR19BQ1BJICovCiAKICNkZWZpbmUgUEhZU0lEX0FSUkFZX1NJWkUJQklUU19UT19MT05HUyhNQVhfQVBJQ1MpCkBAIC0xMDEsNiArMTIyLDcgQEAKIAkJX19waHlzaWRfbWFzazsJCQkJCQlcCiAJfSkKIAorLyogTm90ZTogd2lsbCBjcmVhdGUgdmVyeSBsYXJnZSBzdGFjayBmcmFtZXMgaWYgcGh5c2lkX21hc2tfdCBpcyBiaWcgKi8KICNkZWZpbmUgcGh5c2lkX21hc2tfb2ZfcGh5c2lkKHBoeXNpZCkJCQkJCVwKIAkoewkJCQkJCQkJXAogCQlwaHlzaWRfbWFza190IF9fcGh5c2lkX21hc2sgPSBQSFlTSURfTUFTS19OT05FOwkJXApAQCAtMTA4LDYgKzEzMCwxMiBAQAogCQlfX3BoeXNpZF9tYXNrOwkJCQkJCVwKIAl9KQogCitzdGF0aWMgaW5saW5lIHZvaWQgcGh5c2lkX3NldF9tYXNrX29mX3BoeXNpZChpbnQgcGh5c2lkLCBwaHlzaWRfbWFza190ICptYXApCit7CisJcGh5c2lkc19jbGVhcigqbWFwKTsKKwlwaHlzaWRfc2V0KHBoeXNpZCwgKm1hcCk7Cit9CisKICNkZWZpbmUgUEhZU0lEX01BU0tfQUxMCQl7IHtbMCAuLi4gUEhZU0lEX0FSUkFZX1NJWkUtMV0gPSB+MFVMfSB9CiAjZGVmaW5lIFBIWVNJRF9NQVNLX05PTkUJeyB7WzAgLi4uIFBIWVNJRF9BUlJBWV9TSVpFLTFdID0gMFVMfSB9CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9tcHNwZWNfZGVmLmggYi9pbmNsdWRlL2FzbS14ODYvbXBzcGVjX2RlZi5oCmluZGV4IGRjNmVmODUuLjM4ZDFlNzMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9tcHNwZWNfZGVmLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L21wc3BlY19kZWYuaApAQCAtMTcsMTAgKzE3LDExIEBACiAjIGRlZmluZSBNQVhfTVBDX0VOVFJZIDEwMjQKICMgZGVmaW5lIE1BWF9BUElDUyAgICAgIDI1NgogI2Vsc2UKLS8qCi0gKiBBIG1heGltdW0gb2YgMjU1IEFQSUNzIHdpdGggdGhlIGN1cnJlbnQgQVBJQyBJRCBhcmNoaXRlY3R1cmUuCi0gKi8KLSMgZGVmaW5lIE1BWF9BUElDUyAyNTUKKyMgaWYgTlJfQ1BVUyA8PSAyNTUKKyMgIGRlZmluZSBNQVhfQVBJQ1MgICAgIDI1NQorIyBlbHNlCisjICBkZWZpbmUgTUFYX0FQSUNTICAgMzI3NjgKKyMgZW5kaWYKICNlbmRpZgogCiBzdHJ1Y3QgaW50ZWxfbXBfZmxvYXRpbmcgewpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L21zci1pbmRleC5oIGIvaW5jbHVkZS9hc20teDg2L21zci1pbmRleC5oCmluZGV4IDA5NDEzYWQuLjQ0YmNlNzcgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9tc3ItaW5kZXguaAorKysgYi9pbmNsdWRlL2FzbS14ODYvbXNyLWluZGV4LmgKQEAgLTExMSw3ICsxMTEsOSBAQAogI2RlZmluZSBNU1JfSzhfVE9QX01FTTIJCQkweGMwMDEwMDFkCiAjZGVmaW5lIE1TUl9LOF9TWVNDRkcJCQkweGMwMDEwMDEwCiAjZGVmaW5lIE1TUl9LOF9IV0NSCQkJMHhjMDAxMDAxNQotI2RlZmluZSBNU1JfSzhfRU5BQkxFX0MxRQkJMHhjMDAxMDA1NQorI2RlZmluZSBNU1JfSzhfSU5UX1BFTkRJTkdfTVNHCQkweGMwMDEwMDU1CisvKiBDMUUgYWN0aXZlIGJpdHMgaW4gaW50IHBlbmRpbmcgbWVzc2FnZSAqLworI2RlZmluZSBLOF9JTlRQX0MxRV9BQ1RJVkVfTUFTSwkJMHgxODAwMDAwMAogI2RlZmluZSBNU1JfSzhfVFNFR19BRERSCQkweGMwMDEwMTEyCiAjZGVmaW5lIEs4X01UUlJGSVhSQU5HRV9EUkFNX0VOQUJMRQkweDAwMDQwMDAwIC8qIE10cnJGaXhEcmFtRW4gYml0ICAgICovCiAjZGVmaW5lIEs4X01UUlJGSVhSQU5HRV9EUkFNX01PRElGWQkweDAwMDgwMDAwIC8qIE10cnJGaXhEcmFtTW9kRW4gYml0ICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvbXNyLmggYi9pbmNsdWRlL2FzbS14ODYvbXNyLmgKaW5kZXggMmI1ZjJjOS4uY2ExMTBlZSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L21zci5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9tc3IuaApAQCAtNjYsNyArNjYsNyBAQAogc3RhdGljIGlubGluZSB2b2lkIG5hdGl2ZV93cml0ZV9tc3IodW5zaWduZWQgaW50IG1zciwKIAkJCQkgICAgdW5zaWduZWQgbG93LCB1bnNpZ25lZCBoaWdoKQogewotCWFzbSB2b2xhdGlsZSgid3Jtc3IiIDogOiAiYyIgKG1zciksICJhIihsb3cpLCAiZCIgKGhpZ2gpKTsKKwlhc20gdm9sYXRpbGUoIndybXNyIiA6IDogImMiIChtc3IpLCAiYSIobG93KSwgImQiIChoaWdoKSA6ICJtZW1vcnkiKTsKIH0KIAogc3RhdGljIGlubGluZSBpbnQgbmF0aXZlX3dyaXRlX21zcl9zYWZlKHVuc2lnbmVkIGludCBtc3IsCkBAIC04MSw3ICs4MSw4IEBACiAJCSAgICAgX0FTTV9FWFRBQkxFKDJiLCAzYikKIAkJICAgICA6ICI9YSIgKGVycikKIAkJICAgICA6ICJjIiAobXNyKSwgIjAiIChsb3cpLCAiZCIgKGhpZ2gpLAotCQkgICAgICJpIiAoLUVGQVVMVCkpOworCQkgICAgICAgImkiICgtRUZBVUxUKQorCQkgICAgIDogIm1lbW9yeSIpOwogCXJldHVybiBlcnI7CiB9CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9ubWkuaCBiL2luY2x1ZGUvYXNtLXg4Ni9ubWkuaAppbmRleCAxZTM2MzAyLi4yMWY4ZDAyIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvbm1pLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L25taS5oCkBAIC0xNSwzOCArMTUsMTMgQEAKICAqLwogaW50IGRvX25taV9jYWxsYmFjayhzdHJ1Y3QgcHRfcmVncyAqcmVncywgaW50IGNwdSk7CiAKLSNpZmRlZiBDT05GSUdfUE0KLQotLyoqIFJlcGxhY2UgdGhlIFBNIGNhbGxiYWNrIHJvdXRpbmUgZm9yIE5NSS4gKi8KLXN0cnVjdCBwbV9kZXYgKnNldF9ubWlfcG1fY2FsbGJhY2socG1fY2FsbGJhY2sgY2FsbGJhY2spOwotCi0vKiogVW5zZXQgdGhlIFBNIGNhbGxiYWNrIHJvdXRpbmUgYmFjayB0byB0aGUgZGVmYXVsdC4gKi8KLXZvaWQgdW5zZXRfbm1pX3BtX2NhbGxiYWNrKHN0cnVjdCBwbV9kZXYgKmRldik7Ci0KLSNlbHNlCi0KLXN0YXRpYyBpbmxpbmUgc3RydWN0IHBtX2RldiAqc2V0X25taV9wbV9jYWxsYmFjayhwbV9jYWxsYmFjayBjYWxsYmFjaykKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIHVuc2V0X25taV9wbV9jYWxsYmFjayhzdHJ1Y3QgcG1fZGV2ICpkZXYpCi17Ci19Ci0KLSNlbmRpZiAvKiBDT05GSUdfUE0gKi8KLQogI2lmZGVmIENPTkZJR19YODZfNjQKIGV4dGVybiB2b2lkIGRlZmF1bHRfZG9fbm1pKHN0cnVjdCBwdF9yZWdzICopOwotZXh0ZXJuIHZvaWQgZGllX25taShjaGFyICpzdHIsIHN0cnVjdCBwdF9yZWdzICpyZWdzLCBpbnQgZG9fcGFuaWMpOwotZXh0ZXJuIHZvaWQgbm1pX3dhdGNoZG9nX2RlZmF1bHQodm9pZCk7Ci0jZWxzZQotI2RlZmluZSBubWlfd2F0Y2hkb2dfZGVmYXVsdCgpIGRvIHt9IHdoaWxlICgwKQogI2VuZGlmCiAKK2V4dGVybiB2b2lkIGRpZV9ubWkoY2hhciAqc3RyLCBzdHJ1Y3QgcHRfcmVncyAqcmVncywgaW50IGRvX3BhbmljKTsKIGV4dGVybiBpbnQgY2hlY2tfbm1pX3dhdGNoZG9nKHZvaWQpOwogZXh0ZXJuIGludCBubWlfd2F0Y2hkb2dfZW5hYmxlZDsKLWV4dGVybiBpbnQgdW5rbm93bl9ubWlfcGFuaWM7CiBleHRlcm4gaW50IGF2YWlsX3RvX3Jlc3J2X3BlcmZjdHJfbm1pX2JpdCh1bnNpZ25lZCBpbnQpOwogZXh0ZXJuIGludCBhdmFpbF90b19yZXNydl9wZXJmY3RyX25taSh1bnNpZ25lZCBpbnQpOwogZXh0ZXJuIGludCByZXNlcnZlX3BlcmZjdHJfbm1pKHVuc2lnbmVkIGludCk7CkBAIC02MiwxMiArMzcsMTAgQEAKIAogZXh0ZXJuIGF0b21pY190IG5taV9hY3RpdmU7CiBleHRlcm4gdW5zaWduZWQgaW50IG5taV93YXRjaGRvZzsKLSNkZWZpbmUgTk1JX0RJU0FCTEVEICAgIC0xCiAjZGVmaW5lIE5NSV9OT05FCTAKICNkZWZpbmUgTk1JX0lPX0FQSUMJMQogI2RlZmluZSBOTUlfTE9DQUxfQVBJQwkyCiAjZGVmaW5lIE5NSV9JTlZBTElECTMKLSNkZWZpbmUgTk1JX0RFRkFVTFQJTk1JX0RJU0FCTEVECiAKIHN0cnVjdCBjdGxfdGFibGU7CiBzdHJ1Y3QgZmlsZTsKQEAgLTc4LDYgKzUxLDI0IEBACiB2b2lkIF9fdHJpZ2dlcl9hbGxfY3B1X2JhY2t0cmFjZSh2b2lkKTsKICNkZWZpbmUgdHJpZ2dlcl9hbGxfY3B1X2JhY2t0cmFjZSgpIF9fdHJpZ2dlcl9hbGxfY3B1X2JhY2t0cmFjZSgpCiAKK3N0YXRpYyBpbmxpbmUgdm9pZCBsb2NhbGlzZV9ubWlfd2F0Y2hkb2codm9pZCkKK3sKKwlpZiAobm1pX3dhdGNoZG9nID09IE5NSV9JT19BUElDKQorCQlubWlfd2F0Y2hkb2cgPSBOTUlfTE9DQUxfQVBJQzsKK30KKworLyogY2hlY2sgaWYgbm1pX3dhdGNoZG9nIGlzIGFjdGl2ZSAoaWUgd2FzIHNwZWNpZmllZCBhdCBib290KSAqLworc3RhdGljIGlubGluZSBpbnQgbm1pX3dhdGNoZG9nX2FjdGl2ZSh2b2lkKQoreworCS8qCisJICogYWN0dWFsbHkgaXQgc2hvdWxkIGJlOgorCSAqIAlyZXR1cm4gKG5taV93YXRjaGRvZyA9PSBOTUlfTE9DQUxfQVBJQyB8fAorCSAqIAkJbm1pX3dhdGNoZG9nID09IE5NSV9JT19BUElDKQorCSAqIGJ1dCBzaW5jZSB0aGV5IGFyZSBwb3dlciBvZiB0d28gd2UgY291bGQgdXNlIGEKKwkgKiBjaGVhcGVyIHdheSAtLWN2ZworCSAqLworCXJldHVybiBubWlfd2F0Y2hkb2cgJiAweDM7Cit9CiAjZW5kaWYKIAogdm9pZCBsYXBpY193YXRjaGRvZ19zdG9wKHZvaWQpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L251bWFfMzIuaCBiL2luY2x1ZGUvYXNtLXg4Ni9udW1hXzMyLmgKaW5kZXggMDNkMGY3YS4uMjIwZDdiNyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L251bWFfMzIuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvbnVtYV8zMi5oCkBAIC0yLDE0ICsyLDEwIEBACiAjZGVmaW5lIF9BU01fWDg2XzMyX05VTUFfSCAxCiAKIGV4dGVybiBpbnQgcHhtX3RvX25pZChpbnQgcHhtKTsKK2V4dGVybiB2b2lkIG51bWFfcmVtb3ZlX2NwdShpbnQgY3B1KTsKIAogI2lmZGVmIENPTkZJR19OVU1BCi1leHRlcm4gdm9pZCBfX2luaXQgcmVtYXBfbnVtYV9rdmEodm9pZCk7Ci1leHRlcm4gdm9pZCBzZXRfaGlnaG1lbV9wYWdlc19pbml0KGludCk7Ci0jZWxzZQotc3RhdGljIGlubGluZSB2b2lkIHJlbWFwX251bWFfa3ZhKHZvaWQpCi17Ci19CitleHRlcm4gdm9pZCBzZXRfaGlnaG1lbV9wYWdlc19pbml0KHZvaWQpOwogI2VuZGlmCiAKICNlbmRpZiAvKiBfQVNNX1g4Nl8zMl9OVU1BX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9udW1hXzY0LmggYi9pbmNsdWRlL2FzbS14ODYvbnVtYV82NC5oCmluZGV4IDIyZTg3YzkuLjM4MzAwOTQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9udW1hXzY0LmgKKysrIGIvaW5jbHVkZS9hc20teDg2L251bWFfNjQuaApAQCAtMTQsMzIgKzE0LDMwIEBACiAKICNkZWZpbmUgWk9ORV9BTElHTiAoMVVMIDw8IChNQVhfT1JERVIrUEFHRV9TSElGVCkpCiAKLWV4dGVybiB2b2lkIG51bWFfYWRkX2NwdShpbnQgY3B1KTsKIGV4dGVybiB2b2lkIG51bWFfaW5pdF9hcnJheSh2b2lkKTsKIGV4dGVybiBpbnQgbnVtYV9vZmY7CiAKLWV4dGVybiB2b2lkIG51bWFfc2V0X25vZGUoaW50IGNwdSwgaW50IG5vZGUpOwogZXh0ZXJuIHZvaWQgc3JhdF9yZXNlcnZlX2FkZF9hcmVhKGludCBub2RlaWQpOwogZXh0ZXJuIGludCBob3RhZGRfcGVyY2VudDsKIAogZXh0ZXJuIHMxNiBhcGljaWRfdG9fbm9kZVtNQVhfTE9DQUxfQVBJQ107CiAKLWV4dGVybiB2b2lkIG51bWFfaW5pdG1lbV9pbml0KHVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuLCB1bnNpZ25lZCBsb25nIGVuZF9wZm4pOwogZXh0ZXJuIHVuc2lnbmVkIGxvbmcgbnVtYV9mcmVlX2FsbF9ib290bWVtKHZvaWQpOwogZXh0ZXJuIHZvaWQgc2V0dXBfbm9kZV9ib290bWVtKGludCBub2RlaWQsIHVuc2lnbmVkIGxvbmcgc3RhcnQsCiAJCQkgICAgICAgdW5zaWduZWQgbG9uZyBlbmQpOwogCiAjaWZkZWYgQ09ORklHX05VTUEKIGV4dGVybiB2b2lkIF9faW5pdCBpbml0X2NwdV90b19ub2RlKHZvaWQpOwotCi1zdGF0aWMgaW5saW5lIHZvaWQgY2xlYXJfbm9kZV9jcHVtYXNrKGludCBjcHUpCi17Ci0JY2xlYXJfYml0KGNwdSwgKHVuc2lnbmVkIGxvbmcgKikmbm9kZV90b19jcHVtYXNrX21hcFtjcHVfdG9fbm9kZShjcHUpXSk7Ci19Ci0KK2V4dGVybiB2b2lkIF9fY3B1aW5pdCBudW1hX3NldF9ub2RlKGludCBjcHUsIGludCBub2RlKTsKK2V4dGVybiB2b2lkIF9fY3B1aW5pdCBudW1hX2NsZWFyX25vZGUoaW50IGNwdSk7CitleHRlcm4gdm9pZCBfX2NwdWluaXQgbnVtYV9hZGRfY3B1KGludCBjcHUpOworZXh0ZXJuIHZvaWQgX19jcHVpbml0IG51bWFfcmVtb3ZlX2NwdShpbnQgY3B1KTsKICNlbHNlCi0jZGVmaW5lIGluaXRfY3B1X3RvX25vZGUoKSBkbyB7fSB3aGlsZSAoMCkKLSNkZWZpbmUgY2xlYXJfbm9kZV9jcHVtYXNrKGNwdSkgZG8ge30gd2hpbGUgKDApCitzdGF0aWMgaW5saW5lIHZvaWQgaW5pdF9jcHVfdG9fbm9kZSh2b2lkKQkJeyB9CitzdGF0aWMgaW5saW5lIHZvaWQgbnVtYV9zZXRfbm9kZShpbnQgY3B1LCBpbnQgbm9kZSkJeyB9CitzdGF0aWMgaW5saW5lIHZvaWQgbnVtYV9jbGVhcl9ub2RlKGludCBjcHUpCQl7IH0KK3N0YXRpYyBpbmxpbmUgdm9pZCBudW1hX2FkZF9jcHUoaW50IGNwdSwgaW50IG5vZGUpCXsgfQorc3RhdGljIGlubGluZSB2b2lkIG51bWFfcmVtb3ZlX2NwdShpbnQgY3B1KQkJeyB9CiAjZW5kaWYKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvbnVtYXEuaCBiL2luY2x1ZGUvYXNtLXg4Ni9udW1hcS5oCmluZGV4IDk0Yjg2YzMuLjM0YjkyZDUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9udW1hcS5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9udW1hcS5oCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpZmRlZiBDT05GSUdfWDg2X05VTUFRCiAKK2V4dGVybiBpbnQgZm91bmRfbnVtYXE7CiBleHRlcm4gaW50IGdldF9tZW1jZmdfbnVtYXEodm9pZCk7CiAKIC8qCkBAIC0xNTYsOSArMTU3LDEyIEBACiAJc3RydWN0CQllYWNocXVhZG1lbSBlcVtNQVhfTlVNTk9ERVNdOwkvKiBpbmRleGVkIGJ5IHF1YWQgaWQgKi8KIH07CiAKLXN0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyAqZ2V0X3pob2xlc19zaXplKGludCBuaWQpCit2b2lkIG51bWFxX3RzY19kaXNhYmxlKHZvaWQpOworCisjZWxzZQorc3RhdGljIGlubGluZSBpbnQgZ2V0X21lbWNmZ19udW1hcSh2b2lkKQogewotCXJldHVybiBOVUxMOworCXJldHVybiAwOwogfQogI2VuZGlmIC8qIENPTkZJR19YODZfTlVNQVEgKi8KICNlbmRpZiAvKiBOVU1BUV9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvcGFnZS5oIGIvaW5jbHVkZS9hc20teDg2L3BhZ2UuaAppbmRleCBkYzkzNmRkLi4yOGQ3YjQ1IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvcGFnZS5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9wYWdlLmgKQEAgLTUxLDkgKzUxLDE3IEBACiAKICNpZm5kZWYgX19BU1NFTUJMWV9fCiAKK3R5cGVkZWYgc3RydWN0IHsgcGdkdmFsX3QgcGdkOyB9IHBnZF90OwordHlwZWRlZiBzdHJ1Y3QgeyBwZ3Byb3R2YWxfdCBwZ3Byb3Q7IH0gcGdwcm90X3Q7CisKIGV4dGVybiBpbnQgcGFnZV9pc19yYW0odW5zaWduZWQgbG9uZyBwYWdlbnIpOwogZXh0ZXJuIGludCBkZXZtZW1faXNfYWxsb3dlZCh1bnNpZ25lZCBsb25nIHBhZ2Vucik7CitleHRlcm4gdm9pZCBtYXBfZGV2bWVtKHVuc2lnbmVkIGxvbmcgcGZuLCB1bnNpZ25lZCBsb25nIHNpemUsCisJCSAgICAgICBwZ3Byb3RfdCB2bWFfcHJvdCk7CitleHRlcm4gdm9pZCB1bm1hcF9kZXZtZW0odW5zaWduZWQgbG9uZyBwZm4sIHVuc2lnbmVkIGxvbmcgc2l6ZSwKKwkJCSBwZ3Byb3RfdCB2bWFfcHJvdCk7CiAKK2V4dGVybiB1bnNpZ25lZCBsb25nIG1heF9sb3dfcGZuX21hcHBlZDsKIGV4dGVybiB1bnNpZ25lZCBsb25nIG1heF9wZm5fbWFwcGVkOwogCiBzdHJ1Y3QgcGFnZTsKQEAgLTc0LDkgKzgyLDYgQEAKIAlhbGxvY19wYWdlX3ZtYShHRlBfSElHSFVTRVIgfCBfX0dGUF9aRVJPIHwgbW92YWJsZWZsYWdzLCB2bWEsIHZhZGRyKQogI2RlZmluZSBfX0hBVkVfQVJDSF9BTExPQ19aRVJPRURfVVNFUl9ISUdIUEFHRQogCi10eXBlZGVmIHN0cnVjdCB7IHBnZHZhbF90IHBnZDsgfSBwZ2RfdDsKLXR5cGVkZWYgc3RydWN0IHsgcGdwcm90dmFsX3QgcGdwcm90OyB9IHBncHJvdF90OwotCiBzdGF0aWMgaW5saW5lIHBnZF90IG5hdGl2ZV9tYWtlX3BnZChwZ2R2YWxfdCB2YWwpCiB7CiAJcmV0dXJuIChwZ2RfdCkgeyB2YWwgfTsKQEAgLTE2MCw2ICsxNjUsNyBAQAogI2VuZGlmCiAKICNkZWZpbmUgcHRlX3ZhbCh4KQluYXRpdmVfcHRlX3ZhbCh4KQorI2RlZmluZSBwdGVfZmxhZ3MoeCkJbmF0aXZlX3B0ZV92YWwoeCkKICNkZWZpbmUgX19wdGUoeCkJbmF0aXZlX21ha2VfcHRlKHgpCiAKICNlbmRpZgkvKiBDT05GSUdfUEFSQVZJUlQgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9wYWdlXzMyLmggYi9pbmNsdWRlL2FzbS14ODYvcGFnZV8zMi5oCmluZGV4IGNjZjBiYTMuLmFiODUyODcgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9wYWdlXzMyLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3BhZ2VfMzIuaApAQCAtMTMsNiArMTMsMTQgQEAKICAqLwogI2RlZmluZSBfX1BBR0VfT0ZGU0VUCQlfQUMoQ09ORklHX1BBR0VfT0ZGU0VULCBVTCkKIAorI2lmZGVmIENPTkZJR180S1NUQUNLUworI2RlZmluZSBUSFJFQURfT1JERVIJMAorI2Vsc2UKKyNkZWZpbmUgVEhSRUFEX09SREVSCTEKKyNlbmRpZgorI2RlZmluZSBUSFJFQURfU0laRSAJKFBBR0VfU0laRSA8PCBUSFJFQURfT1JERVIpCisKKwogI2lmZGVmIENPTkZJR19YODZfUEFFCiAvKiA0ND0zMisxMiwgdGhlIGxpbWl0IHdlIGNhbiBmaXQgaW50byBhbiB1bnNpZ25lZCBsb25nIHBmbiAqLwogI2RlZmluZSBfX1BIWVNJQ0FMX01BU0tfU0hJRlQJNDQKQEAgLTg0LDYgKzkyLDEzIEBACiAjZGVmaW5lIFZNQUxMT0NfUkVTRVJWRQkJKCh1bnNpZ25lZCBsb25nKV9fVk1BTExPQ19SRVNFUlZFKQogI2RlZmluZSBNQVhNRU0JCQkoLV9fUEFHRV9PRkZTRVQgLSBfX1ZNQUxMT0NfUkVTRVJWRSkKIAorZXh0ZXJuIHZvaWQgZmluZF9sb3dfcGZuX3JhbmdlKHZvaWQpOworZXh0ZXJuIHVuc2lnbmVkIGxvbmcgaW5pdF9tZW1vcnlfbWFwcGluZyh1bnNpZ25lZCBsb25nIHN0YXJ0LAorCQkJCQkgdW5zaWduZWQgbG9uZyBlbmQpOworZXh0ZXJuIHZvaWQgaW5pdG1lbV9pbml0KHVuc2lnbmVkIGxvbmcsIHVuc2lnbmVkIGxvbmcpOworZXh0ZXJuIHZvaWQgc2V0dXBfYm9vdG1lbV9hbGxvY2F0b3Iodm9pZCk7CisKKwogI2lmZGVmIENPTkZJR19YODZfVVNFXzNETk9XCiAjaW5jbHVkZSA8YXNtL21teC5oPgogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvcGFnZV82NC5oIGIvaW5jbHVkZS9hc20teDg2L3BhZ2VfNjQuaAppbmRleCA2ZWE3Mjg1Li5jNjkxNmM4IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvcGFnZV82NC5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9wYWdlXzY0LmgKQEAgLTI2LDcgKzI2LDEzIEBACiAjZGVmaW5lIFBVRF9QQUdFX1NJWkUJCShfQUMoMSwgVUwpIDw8IFBVRF9TSElGVCkKICNkZWZpbmUgUFVEX1BBR0VfTUFTSwkJKH4oUFVEX1BBR0VfU0laRS0xKSkKIAotI2RlZmluZSBfX1BBR0VfT0ZGU0VUICAgICAgICAgICBfQUMoMHhmZmZmODEwMDAwMDAwMDAwLCBVTCkKKy8qCisgKiBTZXQgX19QQUdFX09GRlNFVCB0byB0aGUgbW9zdCBuZWdhdGl2ZSBwb3NzaWJsZSBhZGRyZXNzICsKKyAqIFBHRElSX1NJWkUqMTYgKHBnZCBzbG90IDI3MikuICBUaGUgZ2FwIGlzIHRvIGFsbG93IGEgc3BhY2UgZm9yIGEKKyAqIGh5cGVydmlzb3IgdG8gZml0LiAgQ2hvb3NpbmcgMTYgc2xvdHMgaGVyZSBpcyBhcmJpdHJhcnksIGJ1dCBpdCdzCisgKiB3aGF0IFhlbiByZXF1aXJlcy4KKyAqLworI2RlZmluZSBfX1BBR0VfT0ZGU0VUICAgICAgICAgICBfQUMoMHhmZmZmODgwMDAwMDAwMDAwLCBVTCkKIAogI2RlZmluZSBfX1BIWVNJQ0FMX1NUQVJUCUNPTkZJR19QSFlTSUNBTF9TVEFSVAogI2RlZmluZSBfX0tFUk5FTF9BTElHTgkJMHgyMDAwMDAKQEAgLTU4LDcgKzY0LDggQEAKIHZvaWQgY2xlYXJfcGFnZSh2b2lkICpwYWdlKTsKIHZvaWQgY29weV9wYWdlKHZvaWQgKnRvLCB2b2lkICpmcm9tKTsKIAotZXh0ZXJuIHVuc2lnbmVkIGxvbmcgZW5kX3BmbjsKKy8qIGR1cGxpY2F0ZWQgdG8gdGhlIG9uZSBpbiBib290bWVtLmggKi8KK2V4dGVybiB1bnNpZ25lZCBsb25nIG1heF9wZm47CiBleHRlcm4gdW5zaWduZWQgbG9uZyBwaHlzX2Jhc2U7CiAKIGV4dGVybiB1bnNpZ25lZCBsb25nIF9fcGh5c19hZGRyKHVuc2lnbmVkIGxvbmcpOwpAQCAtODMsMTAgKzkwLDE1IEBACiBleHRlcm4gdW5zaWduZWQgbG9uZyBpbml0X21lbW9yeV9tYXBwaW5nKHVuc2lnbmVkIGxvbmcgc3RhcnQsCiAJCQkJCSB1bnNpZ25lZCBsb25nIGVuZCk7CiAKK2V4dGVybiB2b2lkIGluaXRtZW1faW5pdCh1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwgdW5zaWduZWQgbG9uZyBlbmRfcGZuKTsKKworZXh0ZXJuIHZvaWQgaW5pdF9leHRyYV9tYXBwaW5nX3VjKHVuc2lnbmVkIGxvbmcgcGh5cywgdW5zaWduZWQgbG9uZyBzaXplKTsKK2V4dGVybiB2b2lkIGluaXRfZXh0cmFfbWFwcGluZ193Yih1bnNpZ25lZCBsb25nIHBoeXMsIHVuc2lnbmVkIGxvbmcgc2l6ZSk7CisKICNlbmRpZgkvKiAhX19BU1NFTUJMWV9fICovCiAKICNpZmRlZiBDT05GSUdfRkxBVE1FTQotI2RlZmluZSBwZm5fdmFsaWQocGZuKSAgICAgICAgICAoKHBmbikgPCBlbmRfcGZuKQorI2RlZmluZSBwZm5fdmFsaWQocGZuKSAgICAgICAgICAoKHBmbikgPCBtYXhfcGZuKQogI2VuZGlmCiAKIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3BhcmF2aXJ0LmggYi9pbmNsdWRlL2FzbS14ODYvcGFyYXZpcnQuaAppbmRleCAwZjEzYjk0Li5lZjVlOGVjIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvcGFyYXZpcnQuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvcGFyYXZpcnQuaApAQCAtODQsNyArODQsNyBAQAogCWludCAoKnNldF93YWxsY2xvY2spKHVuc2lnbmVkIGxvbmcpOwogCiAJdW5zaWduZWQgbG9uZyBsb25nICgqc2NoZWRfY2xvY2spKHZvaWQpOwotCXVuc2lnbmVkIGxvbmcgKCpnZXRfY3B1X2toeikodm9pZCk7CisJdW5zaWduZWQgbG9uZyAoKmdldF90c2Nfa2h6KSh2b2lkKTsKIH07CiAKIHN0cnVjdCBwdl9jcHVfb3BzIHsKQEAgLTExNSw2ICsxMTUsOSBAQAogCXZvaWQgKCpzZXRfbGR0KShjb25zdCB2b2lkICpkZXNjLCB1bnNpZ25lZCBlbnRyaWVzKTsKIAl1bnNpZ25lZCBsb25nICgqc3RvcmVfdHIpKHZvaWQpOwogCXZvaWQgKCpsb2FkX3Rscykoc3RydWN0IHRocmVhZF9zdHJ1Y3QgKnQsIHVuc2lnbmVkIGludCBjcHUpOworI2lmZGVmIENPTkZJR19YODZfNjQKKwl2b2lkICgqbG9hZF9nc19pbmRleCkodW5zaWduZWQgaW50IGlkeCk7CisjZW5kaWYKIAl2b2lkICgqd3JpdGVfbGR0X2VudHJ5KShzdHJ1Y3QgZGVzY19zdHJ1Y3QgKmxkdCwgaW50IGVudHJ5bnVtLAogCQkJCWNvbnN0IHZvaWQgKmRlc2MpOwogCXZvaWQgKCp3cml0ZV9nZHRfZW50cnkpKHN0cnVjdCBkZXNjX3N0cnVjdCAqLApAQCAtMTQxLDggKzE0NCwzMiBAQAogCXU2NCAoKnJlYWRfcG1jKShpbnQgY291bnRlcik7CiAJdW5zaWduZWQgbG9uZyBsb25nICgqcmVhZF90c2NwKSh1bnNpZ25lZCBpbnQgKmF1eCk7CiAKLQkvKiBUaGVzZSB0d28gYXJlIGptcCB0bywgbm90IGFjdHVhbGx5IGNhbGxlZC4gKi8KLQl2b2lkICgqaXJxX2VuYWJsZV9zeXNjYWxsX3JldCkodm9pZCk7CisJLyoKKwkgKiBBdG9taWNhbGx5IGVuYWJsZSBpbnRlcnJ1cHRzIGFuZCByZXR1cm4gdG8gdXNlcnNwYWNlLiAgVGhpcworCSAqIGlzIG9ubHkgZXZlciB1c2VkIHRvIHJldHVybiB0byAzMi1iaXQgcHJvY2Vzc2VzOyBpbiBhCisJICogNjQtYml0IGtlcm5lbCwgaXQncyB1c2VkIGZvciAzMi1vbi02NCBjb21wYXQgcHJvY2Vzc2VzLCBidXQKKwkgKiBuZXZlciBuYXRpdmUgNjQtYml0IHByb2Nlc3Nlcy4gIChKdW1wLCBub3QgY2FsbC4pCisJICovCisJdm9pZCAoKmlycV9lbmFibGVfc3lzZXhpdCkodm9pZCk7CisKKwkvKgorCSAqIFN3aXRjaCB0byB1c2VybW9kZSBncyBhbmQgcmV0dXJuIHRvIDY0LWJpdCB1c2VybW9kZSB1c2luZworCSAqIHN5c3JldC4gIE9ubHkgdXNlZCBpbiA2NC1iaXQga2VybmVscyB0byByZXR1cm4gdG8gNjQtYml0CisJICogcHJvY2Vzc2VzLiAgVXNlcm1vZGUgcmVnaXN0ZXIgc3RhdGUsIGluY2x1ZGluZyAlcnNwLCBtdXN0CisJICogYWxyZWFkeSBiZSByZXN0b3JlZC4KKwkgKi8KKwl2b2lkICgqdXNlcmdzX3N5c3JldDY0KSh2b2lkKTsKKworCS8qCisJICogU3dpdGNoIHRvIHVzZXJtb2RlIGdzIGFuZCByZXR1cm4gdG8gMzItYml0IHVzZXJtb2RlIHVzaW5nCisJICogc3lzcmV0LiAgVXNlZCB0byByZXR1cm4gdG8gMzItb24tNjQgY29tcGF0IHByb2Nlc3Nlcy4KKwkgKiBPdGhlciB1c2VybW9kZSByZWdpc3RlciBzdGF0ZSwgaW5jbHVkaW5nICVlc3AsIG11c3QgYWxyZWFkeQorCSAqIGJlIHJlc3RvcmVkLgorCSAqLworCXZvaWQgKCp1c2VyZ3Nfc3lzcmV0MzIpKHZvaWQpOworCisJLyogTm9ybWFsIGlyZXQuICBKdW1wIHRvIHRoaXMgd2l0aCB0aGUgc3RhbmRhcmQgaXJldCBzdGFjaworCSAgIGZyYW1lIHNldCB1cC4gKi8KIAl2b2lkICgqaXJldCkodm9pZCk7CiAKIAl2b2lkICgqc3dhcGdzKSh2b2lkKTsKQEAgLTE2NSw2ICsxOTIsMTAgQEAKIAl2b2lkICgqaXJxX2VuYWJsZSkodm9pZCk7CiAJdm9pZCAoKnNhZmVfaGFsdCkodm9pZCk7CiAJdm9pZCAoKmhhbHQpKHZvaWQpOworCisjaWZkZWYgQ09ORklHX1g4Nl82NAorCXZvaWQgKCphZGp1c3RfZXhjZXB0aW9uX2ZyYW1lKSh2b2lkKTsKKyNlbmRpZgogfTsKIAogc3RydWN0IHB2X2FwaWNfb3BzIHsKQEAgLTIxOSw3ICsyNTAsMTQgQEAKIAl2b2lkICgqZmx1c2hfdGxiX290aGVycykoY29uc3QgY3B1bWFza190ICpjcHVzLCBzdHJ1Y3QgbW1fc3RydWN0ICptbSwKIAkJCQkgdW5zaWduZWQgbG9uZyB2YSk7CiAKLQkvKiBIb29rcyBmb3IgYWxsb2NhdGluZy9yZWxlYXNpbmcgcGFnZXRhYmxlIHBhZ2VzICovCisJLyogSG9va3MgZm9yIGFsbG9jYXRpbmcgYW5kIGZyZWVpbmcgYSBwYWdldGFibGUgdG9wLWxldmVsICovCisJaW50ICAoKnBnZF9hbGxvYykoc3RydWN0IG1tX3N0cnVjdCAqbW0pOworCXZvaWQgKCpwZ2RfZnJlZSkoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHBnZF90ICpwZ2QpOworCisJLyoKKwkgKiBIb29rcyBmb3IgYWxsb2NhdGluZy9yZWxlYXNpbmcgcGFnZXRhYmxlIHBhZ2VzIHdoZW4gdGhleSdyZQorCSAqIGF0dGFjaGVkIHRvIGEgcGFnZXRhYmxlCisJICovCiAJdm9pZCAoKmFsbG9jX3B0ZSkoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHUzMiBwZm4pOwogCXZvaWQgKCphbGxvY19wbWQpKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCB1MzIgcGZuKTsKIAl2b2lkICgqYWxsb2NfcG1kX2Nsb25lKSh1MzIgcGZuLCB1MzIgY2xvbmVwZm4sIHUzMiBzdGFydCwgdTMyIGNvdW50KTsKQEAgLTIzOCw3ICsyNzYsMTMgQEAKIAl2b2lkICgqcHRlX3VwZGF0ZV9kZWZlcikoc3RydWN0IG1tX3N0cnVjdCAqbW0sCiAJCQkJIHVuc2lnbmVkIGxvbmcgYWRkciwgcHRlX3QgKnB0ZXApOwogCisJcHRlX3QgKCpwdGVwX21vZGlmeV9wcm90X3N0YXJ0KShzdHJ1Y3QgbW1fc3RydWN0ICptbSwgdW5zaWduZWQgbG9uZyBhZGRyLAorCQkJCQlwdGVfdCAqcHRlcCk7CisJdm9pZCAoKnB0ZXBfbW9kaWZ5X3Byb3RfY29tbWl0KShzdHJ1Y3QgbW1fc3RydWN0ICptbSwgdW5zaWduZWQgbG9uZyBhZGRyLAorCQkJCQlwdGVfdCAqcHRlcCwgcHRlX3QgcHRlKTsKKwogCXB0ZXZhbF90ICgqcHRlX3ZhbCkocHRlX3QpOworCXB0ZXZhbF90ICgqcHRlX2ZsYWdzKShwdGVfdCk7CiAJcHRlX3QgKCptYWtlX3B0ZSkocHRldmFsX3QgcHRlKTsKIAogCXBnZHZhbF90ICgqcGdkX3ZhbCkocGdkX3QpOwpAQCAtMjczLDYgKzMxNywxMyBAQAogI2VuZGlmCiAKIAlzdHJ1Y3QgcHZfbGF6eV9vcHMgbGF6eV9tb2RlOworCisJLyogZG9tMCBvcHMgKi8KKworCS8qIFNvbWV0aW1lcyB0aGUgcGh5c2ljYWwgYWRkcmVzcyBpcyBhIHBmbiwgYW5kIHNvbWV0aW1lcyBpdHMKKwkgICBhbiBtZm4uICBXZSBjYW4gdGVsbCB3aGljaCBpcyB3aGljaCBmcm9tIHRoZSBpbmRleC4gKi8KKwl2b2lkICgqc2V0X2ZpeG1hcCkodW5zaWduZWQgLyogZW51bSBmaXhlZF9hZGRyZXNzZXMgKi8gaWR4LAorCQkJICAgdW5zaWduZWQgbG9uZyBwaHlzLCBwZ3Byb3RfdCBmbGFncyk7CiB9OwogCiAvKiBUaGlzIGNvbnRhaW5zIGFsbCB0aGUgcGFyYXZpcnQgc3RydWN0dXJlczogd2UgZ2V0IGEgY29udmVuaWVudApAQCAtNDM5LDEwICs0OTAsMTcgQEAKICNkZWZpbmUgVkVYVFJBX0NMT0JCRVJTCSAsICJyYXgiLCAicjgiLCAicjkiLCAicjEwIiwgInIxMSIKICNlbmRpZgogCisjaWZkZWYgQ09ORklHX1BBUkFWSVJUX0RFQlVHCisjZGVmaW5lIFBWT1BfVEVTVF9OVUxMKG9wKQlCVUdfT04ob3AgPT0gTlVMTCkKKyNlbHNlCisjZGVmaW5lIFBWT1BfVEVTVF9OVUxMKG9wKQkoKHZvaWQpb3ApCisjZW5kaWYKKwogI2RlZmluZSBfX1BWT1BfQ0FMTChyZXR0eXBlLCBvcCwgcHJlLCBwb3N0LCAuLi4pCQkJXAogCSh7CQkJCQkJCQlcCiAJCXJldHR5cGUgX19yZXQ7CQkJCQkJXAogCQlQVk9QX0NBTExfQVJHUzsJCQkJCVwKKwkJUFZPUF9URVNUX05VTEwob3ApOwkJCQkJXAogCQkvKiBUaGlzIGlzIDMyLWJpdCBzcGVjaWZpYywgYnV0IGlzIG9rYXkgaW4gNjQtYml0ICovCVwKIAkJLyogc2luY2UgdGhpcyBjb25kaXRpb24gd2lsbCBuZXZlciBob2xkICovCQlcCiAJCWlmIChzaXplb2YocmV0dHlwZSkgPiBzaXplb2YodW5zaWduZWQgbG9uZykpIHsJCVwKQEAgLTQ3MSw2ICs1MjksNyBAQAogI2RlZmluZSBfX1BWT1BfVkNBTEwob3AsIHByZSwgcG9zdCwgLi4uKQkJCQlcCiAJKHsJCQkJCQkJCVwKIAkJUFZPUF9WQ0FMTF9BUkdTOwkJCQkJXAorCQlQVk9QX1RFU1RfTlVMTChvcCk7CQkJCQlcCiAJCWFzbSB2b2xhdGlsZShwcmUJCQkJCVwKIAkJCSAgICAgcGFyYXZpcnRfYWx0KFBBUkFWSVJUX0NBTEwpCQlcCiAJCQkgICAgIHBvc3QJCQkJCVwKQEAgLTcyMCw3ICs3NzksNyBAQAogewogCXJldHVybiBQVk9QX0NBTEwwKHVuc2lnbmVkIGxvbmcgbG9uZywgcHZfdGltZV9vcHMuc2NoZWRfY2xvY2spOwogfQotI2RlZmluZSBjYWxjdWxhdGVfY3B1X2toeigpIChwdl90aW1lX29wcy5nZXRfY3B1X2toeigpKQorI2RlZmluZSBjYWxpYnJhdGVfdHNjKCkgKHB2X3RpbWVfb3BzLmdldF90c2Nfa2h6KCkpCiAKIHN0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyBsb25nIHBhcmF2aXJ0X3JlYWRfcG1jKGludCBjb3VudGVyKQogewpAQCAtNzg5LDYgKzg0OCwxMyBAQAogCVBWT1BfVkNBTEwyKHB2X2NwdV9vcHMubG9hZF90bHMsIHQsIGNwdSk7CiB9CiAKKyNpZmRlZiBDT05GSUdfWDg2XzY0CitzdGF0aWMgaW5saW5lIHZvaWQgbG9hZF9nc19pbmRleCh1bnNpZ25lZCBpbnQgZ3MpCit7CisJUFZPUF9WQ0FMTDEocHZfY3B1X29wcy5sb2FkX2dzX2luZGV4LCBncyk7Cit9CisjZW5kaWYKKwogc3RhdGljIGlubGluZSB2b2lkIHdyaXRlX2xkdF9lbnRyeShzdHJ1Y3QgZGVzY19zdHJ1Y3QgKmR0LCBpbnQgZW50cnksCiAJCQkJICAgY29uc3Qgdm9pZCAqZGVzYykKIHsKQEAgLTkxMiw2ICs5NzgsMTYgQEAKIAlQVk9QX1ZDQUxMMyhwdl9tbXVfb3BzLmZsdXNoX3RsYl9vdGhlcnMsICZjcHVtYXNrLCBtbSwgdmEpOwogfQogCitzdGF0aWMgaW5saW5lIGludCBwYXJhdmlydF9wZ2RfYWxsb2Moc3RydWN0IG1tX3N0cnVjdCAqbW0pCit7CisJcmV0dXJuIFBWT1BfQ0FMTDEoaW50LCBwdl9tbXVfb3BzLnBnZF9hbGxvYywgbW0pOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgcGFyYXZpcnRfcGdkX2ZyZWUoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHBnZF90ICpwZ2QpCit7CisJUFZPUF9WQ0FMTDIocHZfbW11X29wcy5wZ2RfZnJlZSwgbW0sIHBnZCk7Cit9CisKIHN0YXRpYyBpbmxpbmUgdm9pZCBwYXJhdmlydF9hbGxvY19wdGUoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHVuc2lnbmVkIHBmbikKIHsKIAlQVk9QX1ZDQUxMMihwdl9tbXVfb3BzLmFsbG9jX3B0ZSwgbW0sIHBmbik7CkBAIC05OTYsNiArMTA3MiwyMCBAQAogCXJldHVybiByZXQ7CiB9CiAKK3N0YXRpYyBpbmxpbmUgcHRldmFsX3QgcHRlX2ZsYWdzKHB0ZV90IHB0ZSkKK3sKKwlwdGV2YWxfdCByZXQ7CisKKwlpZiAoc2l6ZW9mKHB0ZXZhbF90KSA+IHNpemVvZihsb25nKSkKKwkJcmV0ID0gUFZPUF9DQUxMMihwdGV2YWxfdCwgcHZfbW11X29wcy5wdGVfZmxhZ3MsCisJCQkJIHB0ZS5wdGUsICh1NjQpcHRlLnB0ZSA+PiAzMik7CisJZWxzZQorCQlyZXQgPSBQVk9QX0NBTEwxKHB0ZXZhbF90LCBwdl9tbXVfb3BzLnB0ZV9mbGFncywKKwkJCQkgcHRlLnB0ZSk7CisKKwlyZXR1cm4gcmV0OworfQorCiBzdGF0aWMgaW5saW5lIHBnZF90IF9fcGdkKHBnZHZhbF90IHZhbCkKIHsKIAlwZ2R2YWxfdCByZXQ7CkBAIC0xMDI0LDYgKzExMTQsMjkgQEAKIAlyZXR1cm4gcmV0OwogfQogCisjZGVmaW5lICBfX0hBVkVfQVJDSF9QVEVQX01PRElGWV9QUk9UX1RSQU5TQUNUSU9OCitzdGF0aWMgaW5saW5lIHB0ZV90IHB0ZXBfbW9kaWZ5X3Byb3Rfc3RhcnQoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHVuc2lnbmVkIGxvbmcgYWRkciwKKwkJCQkJICAgcHRlX3QgKnB0ZXApCit7CisJcHRldmFsX3QgcmV0OworCisJcmV0ID0gUFZPUF9DQUxMMyhwdGV2YWxfdCwgcHZfbW11X29wcy5wdGVwX21vZGlmeV9wcm90X3N0YXJ0LAorCQkJIG1tLCBhZGRyLCBwdGVwKTsKKworCXJldHVybiAocHRlX3QpIHsgLnB0ZSA9IHJldCB9OworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgcHRlcF9tb2RpZnlfcHJvdF9jb21taXQoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHVuc2lnbmVkIGxvbmcgYWRkciwKKwkJCQkJICAgcHRlX3QgKnB0ZXAsIHB0ZV90IHB0ZSkKK3sKKwlpZiAoc2l6ZW9mKHB0ZXZhbF90KSA+IHNpemVvZihsb25nKSkKKwkJLyogNSBhcmcgd29yZHMgKi8KKwkJcHZfbW11X29wcy5wdGVwX21vZGlmeV9wcm90X2NvbW1pdChtbSwgYWRkciwgcHRlcCwgcHRlKTsKKwllbHNlCisJCVBWT1BfVkNBTEw0KHB2X21tdV9vcHMucHRlcF9tb2RpZnlfcHJvdF9jb21taXQsCisJCQkgICAgbW0sIGFkZHIsIHB0ZXAsIHB0ZS5wdGUpOworfQorCiBzdGF0aWMgaW5saW5lIHZvaWQgc2V0X3B0ZShwdGVfdCAqcHRlcCwgcHRlX3QgcHRlKQogewogCWlmIChzaXplb2YocHRldmFsX3QpID4gc2l6ZW9mKGxvbmcpKQpAQCAtMTI1Miw2ICsxMzY1LDEyIEBACiAJfQogfQogCitzdGF0aWMgaW5saW5lIHZvaWQgX19zZXRfZml4bWFwKHVuc2lnbmVkIC8qIGVudW0gZml4ZWRfYWRkcmVzc2VzICovIGlkeCwKKwkJCQl1bnNpZ25lZCBsb25nIHBoeXMsIHBncHJvdF90IGZsYWdzKQoreworCXB2X21tdV9vcHMuc2V0X2ZpeG1hcChpZHgsIHBoeXMsIGZsYWdzKTsKK30KKwogdm9pZCBfcGFyYXZpcnRfbm9wKHZvaWQpOwogI2RlZmluZSBwYXJhdmlydF9ub3AJKCh2b2lkICopX3BhcmF2aXJ0X25vcCkKIApAQCAtMTM3NCw1NCArMTQ5Myw4NiBAQAogI2RlZmluZSBQVl9SRVNUT1JFX1JFR1MgcG9wcSAlcmR4OyBwb3BxICVyY3g7IHBvcHEgJXJkaTsgcG9wcSAlcmF4CiAjZGVmaW5lIFBBUkFfUEFUQ0goc3RydWN0LCBvZmYpICAgICAgICAoKFBBUkFWSVJUX1BBVENIXyMjc3RydWN0ICsgKG9mZikpIC8gOCkKICNkZWZpbmUgUEFSQV9TSVRFKHB0eXBlLCBjbG9iYmVycywgb3BzKSBfUFZTSVRFKHB0eXBlLCBjbG9iYmVycywgb3BzLCAucXVhZCwgOCkKKyNkZWZpbmUgUEFSQV9JTkRJUkVDVChhZGRyKQkqYWRkciglcmlwKQogI2Vsc2UKICNkZWZpbmUgUFZfU0FWRV9SRUdTICAgcHVzaGwgJWVheDsgcHVzaGwgJWVkaTsgcHVzaGwgJWVjeDsgcHVzaGwgJWVkeAogI2RlZmluZSBQVl9SRVNUT1JFX1JFR1MgcG9wbCAlZWR4OyBwb3BsICVlY3g7IHBvcGwgJWVkaTsgcG9wbCAlZWF4CiAjZGVmaW5lIFBBUkFfUEFUQ0goc3RydWN0LCBvZmYpICAgICAgICAoKFBBUkFWSVJUX1BBVENIXyMjc3RydWN0ICsgKG9mZikpIC8gNCkKICNkZWZpbmUgUEFSQV9TSVRFKHB0eXBlLCBjbG9iYmVycywgb3BzKSBfUFZTSVRFKHB0eXBlLCBjbG9iYmVycywgb3BzLCAubG9uZywgNCkKKyNkZWZpbmUgUEFSQV9JTkRJUkVDVChhZGRyKQkqJWNzOmFkZHIKICNlbmRpZgogCiAjZGVmaW5lIElOVEVSUlVQVF9SRVRVUk4JCQkJCQlcCiAJUEFSQV9TSVRFKFBBUkFfUEFUQ0gocHZfY3B1X29wcywgUFZfQ1BVX2lyZXQpLCBDTEJSX05PTkUsCVwKLQkJICBqbXAgKiVjczpwdl9jcHVfb3BzK1BWX0NQVV9pcmV0KQorCQkgIGptcCBQQVJBX0lORElSRUNUKHB2X2NwdV9vcHMrUFZfQ1BVX2lyZXQpKQogCiAjZGVmaW5lIERJU0FCTEVfSU5URVJSVVBUUyhjbG9iYmVycykJCQkJCVwKIAlQQVJBX1NJVEUoUEFSQV9QQVRDSChwdl9pcnFfb3BzLCBQVl9JUlFfaXJxX2Rpc2FibGUpLCBjbG9iYmVycywgXAotCQkgIFBWX1NBVkVfUkVHUzsJCQlcCi0JCSAgY2FsbCAqJWNzOnB2X2lycV9vcHMrUFZfSVJRX2lycV9kaXNhYmxlOwkJXAorCQkgIFBWX1NBVkVfUkVHUzsJCQkJCQlcCisJCSAgY2FsbCBQQVJBX0lORElSRUNUKHB2X2lycV9vcHMrUFZfSVJRX2lycV9kaXNhYmxlKTsJXAogCQkgIFBWX1JFU1RPUkVfUkVHUzspCQkJXAogCiAjZGVmaW5lIEVOQUJMRV9JTlRFUlJVUFRTKGNsb2JiZXJzKQkJCQkJXAogCVBBUkFfU0lURShQQVJBX1BBVENIKHB2X2lycV9vcHMsIFBWX0lSUV9pcnFfZW5hYmxlKSwgY2xvYmJlcnMsCVwKLQkJICBQVl9TQVZFX1JFR1M7CQkJXAotCQkgIGNhbGwgKiVjczpwdl9pcnFfb3BzK1BWX0lSUV9pcnFfZW5hYmxlOwkJXAorCQkgIFBWX1NBVkVfUkVHUzsJCQkJCQlcCisJCSAgY2FsbCBQQVJBX0lORElSRUNUKHB2X2lycV9vcHMrUFZfSVJRX2lycV9lbmFibGUpOwlcCiAJCSAgUFZfUkVTVE9SRV9SRUdTOykKIAotI2RlZmluZSBFTkFCTEVfSU5URVJSVVBUU19TWVNDQUxMX1JFVAkJCQkJXAotCVBBUkFfU0lURShQQVJBX1BBVENIKHB2X2NwdV9vcHMsIFBWX0NQVV9pcnFfZW5hYmxlX3N5c2NhbGxfcmV0KSxcCisjZGVmaW5lIFVTRVJHU19TWVNSRVQzMgkJCQkJCQlcCisJUEFSQV9TSVRFKFBBUkFfUEFUQ0gocHZfY3B1X29wcywgUFZfQ1BVX3VzZXJnc19zeXNyZXQzMiksCVwKIAkJICBDTEJSX05PTkUsCQkJCQkJXAotCQkgIGptcCAqJWNzOnB2X2NwdV9vcHMrUFZfQ1BVX2lycV9lbmFibGVfc3lzY2FsbF9yZXQpCi0KKwkJICBqbXAgUEFSQV9JTkRJUkVDVChwdl9jcHVfb3BzK1BWX0NQVV91c2VyZ3Nfc3lzcmV0MzIpKQogCiAjaWZkZWYgQ09ORklHX1g4Nl8zMgotI2RlZmluZSBHRVRfQ1IwX0lOVE9fRUFYCQkJXAotCXB1c2ggJWVjeDsgcHVzaCAlZWR4OwkJCVwKLQljYWxsICpwdl9jcHVfb3BzK1BWX0NQVV9yZWFkX2NyMDsJXAorI2RlZmluZSBHRVRfQ1IwX0lOVE9fRUFYCQkJCVwKKwlwdXNoICVlY3g7IHB1c2ggJWVkeDsJCQkJXAorCWNhbGwgUEFSQV9JTkRJUkVDVChwdl9jcHVfb3BzK1BWX0NQVV9yZWFkX2NyMCk7CVwKIAlwb3AgJWVkeDsgcG9wICVlY3gKLSNlbHNlCisKKyNkZWZpbmUgRU5BQkxFX0lOVEVSUlVQVFNfU1lTRVhJVAkJCQkJXAorCVBBUkFfU0lURShQQVJBX1BBVENIKHB2X2NwdV9vcHMsIFBWX0NQVV9pcnFfZW5hYmxlX3N5c2V4aXQpLAlcCisJCSAgQ0xCUl9OT05FLAkJCQkJCVwKKwkJICBqbXAgUEFSQV9JTkRJUkVDVChwdl9jcHVfb3BzK1BWX0NQVV9pcnFfZW5hYmxlX3N5c2V4aXQpKQorCisKKyNlbHNlCS8qICFDT05GSUdfWDg2XzMyICovCisKKy8qCisgKiBJZiBzd2FwZ3MgaXMgdXNlZCB3aGlsZSB0aGUgdXNlcnNwYWNlIHN0YWNrIGlzIHN0aWxsIGN1cnJlbnQsCisgKiB0aGVyZSdzIG5vIHdheSB0byBjYWxsIGEgcHZvcC4gIFRoZSBQViByZXBsYWNlbWVudCAqbXVzdCogYmUKKyAqIGlubGluZWQsIG9yIHRoZSBzd2FwZ3MgaW5zdHJ1Y3Rpb24gbXVzdCBiZSB0cmFwcGVkIGFuZCBlbXVsYXRlZC4KKyAqLworI2RlZmluZSBTV0FQR1NfVU5TQUZFX1NUQUNLCQkJCQkJXAorCVBBUkFfU0lURShQQVJBX1BBVENIKHB2X2NwdV9vcHMsIFBWX0NQVV9zd2FwZ3MpLCBDTEJSX05PTkUsCVwKKwkJICBzd2FwZ3MpCisKICNkZWZpbmUgU1dBUEdTCQkJCQkJCQlcCiAJUEFSQV9TSVRFKFBBUkFfUEFUQ0gocHZfY3B1X29wcywgUFZfQ1BVX3N3YXBncyksIENMQlJfTk9ORSwJXAogCQkgIFBWX1NBVkVfUkVHUzsJCQkJCQlcCi0JCSAgY2FsbCAqcHZfY3B1X29wcytQVl9DUFVfc3dhcGdzOwkJCVwKKwkJICBjYWxsIFBBUkFfSU5ESVJFQ1QocHZfY3B1X29wcytQVl9DUFVfc3dhcGdzKTsJCVwKIAkJICBQVl9SRVNUT1JFX1JFR1MJCQkJCVwKIAkJICkKIAotI2RlZmluZSBHRVRfQ1IyX0lOVE9fUkNYCQkJXAotCWNhbGwgKnB2X21tdV9vcHMrUFZfTU1VX3JlYWRfY3IyOwlcCi0JbW92cSAlcmF4LCAlcmN4OwkJCVwKKyNkZWZpbmUgR0VUX0NSMl9JTlRPX1JDWAkJCQlcCisJY2FsbCBQQVJBX0lORElSRUNUKHB2X21tdV9vcHMrUFZfTU1VX3JlYWRfY3IyKTsJXAorCW1vdnEgJXJheCwgJXJjeDsJCQkJXAogCXhvcnEgJXJheCwgJXJheDsKIAotI2VuZGlmCisjZGVmaW5lIFBBUkFWSVJUX0FESlVTVF9FWENFUFRJT05fRlJBTUUJCQkJCVwKKwlQQVJBX1NJVEUoUEFSQV9QQVRDSChwdl9pcnFfb3BzLCBQVl9JUlFfYWRqdXN0X2V4Y2VwdGlvbl9mcmFtZSksIFwKKwkJICBDTEJSX05PTkUsCQkJCQkJXAorCQkgIGNhbGwgUEFSQV9JTkRJUkVDVChwdl9pcnFfb3BzK1BWX0lSUV9hZGp1c3RfZXhjZXB0aW9uX2ZyYW1lKSkKKworI2RlZmluZSBVU0VSR1NfU1lTUkVUNjQJCQkJCQkJXAorCVBBUkFfU0lURShQQVJBX1BBVENIKHB2X2NwdV9vcHMsIFBWX0NQVV91c2VyZ3Nfc3lzcmV0NjQpLAlcCisJCSAgQ0xCUl9OT05FLAkJCQkJCVwKKwkJICBqbXAgUEFSQV9JTkRJUkVDVChwdl9jcHVfb3BzK1BWX0NQVV91c2VyZ3Nfc3lzcmV0NjQpKQorCisjZGVmaW5lIEVOQUJMRV9JTlRFUlJVUFRTX1NZU0VYSVQzMgkJCQkJXAorCVBBUkFfU0lURShQQVJBX1BBVENIKHB2X2NwdV9vcHMsIFBWX0NQVV9pcnFfZW5hYmxlX3N5c2V4aXQpLAlcCisJCSAgQ0xCUl9OT05FLAkJCQkJCVwKKwkJICBqbXAgUEFSQV9JTkRJUkVDVChwdl9jcHVfb3BzK1BWX0NQVV9pcnFfZW5hYmxlX3N5c2V4aXQpKQorI2VuZGlmCS8qIENPTkZJR19YODZfMzIgKi8KIAogI2VuZGlmIC8qIF9fQVNTRU1CTFlfXyAqLwogI2VuZGlmIC8qIENPTkZJR19QQVJBVklSVCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3BhdC5oIGIvaW5jbHVkZS9hc20teDg2L3BhdC5oCmluZGV4IDg4ZjYwY2MuLjdlZGM0NzMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9wYXQuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvcGF0LmgKQEAgLTEsMTQgKzEsMTMgQEAKLQogI2lmbmRlZiBfQVNNX1BBVF9ICi0jZGVmaW5lIF9BU01fUEFUX0ggMQorI2RlZmluZSBfQVNNX1BBVF9ICiAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogCiAjaWZkZWYgQ09ORklHX1g4Nl9QQVQKLWV4dGVybiBpbnQgcGF0X3djX2VuYWJsZWQ7CitleHRlcm4gaW50IHBhdF9lbmFibGVkOwogZXh0ZXJuIHZvaWQgdmFsaWRhdGVfcGF0X3N1cHBvcnQoc3RydWN0IGNwdWluZm9feDg2ICpjKTsKICNlbHNlCi1zdGF0aWMgY29uc3QgaW50IHBhdF93Y19lbmFibGVkID0gMDsKK3N0YXRpYyBjb25zdCBpbnQgcGF0X2VuYWJsZWQ7CiBzdGF0aWMgaW5saW5lIHZvaWQgdmFsaWRhdGVfcGF0X3N1cHBvcnQoc3RydWN0IGNwdWluZm9feDg2ICpjKSB7IH0KICNlbmRpZgogCkBAIC0yMSw0ICsyMCwzIEBACiBleHRlcm4gdm9pZCBwYXRfZGlzYWJsZShjaGFyICpyZWFzb24pOwogCiAjZW5kaWYKLQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3BjaS5oIGIvaW5jbHVkZS9hc20teDg2L3BjaS5oCmluZGV4IDMwYmJkZTAuLjJkYjE0Y2YgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9wY2kuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvcGNpLmgKQEAgLTE4LDYgKzE4LDggQEAKICNlbmRpZgogfTsKIAorZXh0ZXJuIGludCBwY2lfcm91dGVpcnE7CisKIC8qIHNjYW4gYSBidXMgYWZ0ZXIgYWxsb2NhdGluZyBhIHBjaV9zeXNkYXRhIGZvciBpdCAqLwogZXh0ZXJuIHN0cnVjdCBwY2lfYnVzICpwY2lfc2Nhbl9idXNfb25fbm9kZShpbnQgYnVzbm8sIHN0cnVjdCBwY2lfb3BzICpvcHMsCiAJCQkJCSAgICBpbnQgbm9kZSk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvcGNpXzMyLmggYi9pbmNsdWRlL2FzbS14ODYvcGNpXzMyLmgKaW5kZXggOGM0YzNhMC4uYTUwZDQ2OCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L3BjaV8zMi5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9wY2lfMzIuaApAQCAtMTgsMTIgKzE4LDE0IEBACiAjZGVmaW5lIFBDSV9ETUFfQlVTX0lTX1BIWVMJKDEpCiAKIC8qIHBjaV91bm1hcF97cGFnZSxzaW5nbGV9IGlzIGEgbm9wIHNvLi4uICovCi0jZGVmaW5lIERFQ0xBUkVfUENJX1VOTUFQX0FERFIoQUREUl9OQU1FKQotI2RlZmluZSBERUNMQVJFX1BDSV9VTk1BUF9MRU4oTEVOX05BTUUpCi0jZGVmaW5lIHBjaV91bm1hcF9hZGRyKFBUUiwgQUREUl9OQU1FKQkJKDApCi0jZGVmaW5lIHBjaV91bm1hcF9hZGRyX3NldChQVFIsIEFERFJfTkFNRSwgVkFMKQlkbyB7IH0gd2hpbGUgKDApCi0jZGVmaW5lIHBjaV91bm1hcF9sZW4oUFRSLCBMRU5fTkFNRSkJCSgwKQotI2RlZmluZSBwY2lfdW5tYXBfbGVuX3NldChQVFIsIExFTl9OQU1FLCBWQUwpCWRvIHsgfSB3aGlsZSAoMCkKKyNkZWZpbmUgREVDTEFSRV9QQ0lfVU5NQVBfQUREUihBRERSX05BTUUpCWRtYV9hZGRyX3QgQUREUl9OQU1FWzBdOworI2RlZmluZSBERUNMQVJFX1BDSV9VTk1BUF9MRU4oTEVOX05BTUUpCXVuc2lnbmVkIExFTl9OQU1FWzBdOworI2RlZmluZSBwY2lfdW5tYXBfYWRkcihQVFIsIEFERFJfTkFNRSkJc2l6ZW9mKChQVFIpLT5BRERSX05BTUUpCisjZGVmaW5lIHBjaV91bm1hcF9hZGRyX3NldChQVFIsIEFERFJfTkFNRSwgVkFMKSBcCisJZG8geyBicmVhazsgfSB3aGlsZSAocGNpX3VubWFwX2FkZHIoUFRSLCBBRERSX05BTUUpKQorI2RlZmluZSBwY2lfdW5tYXBfbGVuKFBUUiwgTEVOX05BTUUpCQlzaXplb2YoKFBUUiktPkxFTl9OQU1FKQorI2RlZmluZSBwY2lfdW5tYXBfbGVuX3NldChQVFIsIExFTl9OQU1FLCBWQUwpIFwKKwlkbyB7IGJyZWFrOyB9IHdoaWxlIChwY2lfdW5tYXBfbGVuKFBUUiwgTEVOX05BTUUpKQogCiAKICNlbmRpZiAvKiBfX0tFUk5FTF9fICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvcGRhLmggYi9pbmNsdWRlL2FzbS14ODYvcGRhLmgKaW5kZXggMTAxZmI5ZS4uYjM0ZTlhNyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L3BkYS5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9wZGEuaApAQCAtMjIsNiArMjIsOCBAQAogCQkJCQkgICBvZmZzZXQgNDAhISEgKi8KICNlbmRpZgogCWNoYXIgKmlycXN0YWNrcHRyOworCXNob3J0IG5vZGVudW1iZXI7CQkvKiBudW1iZXIgb2YgY3VycmVudCBub2RlICgzMmsgbWF4KSAqLworCXNob3J0IGluX2Jvb3RtZW07CQkvKiBwZGEgbGl2ZXMgaW4gYm9vdG1lbSAqLwogCXVuc2lnbmVkIGludCBfX3NvZnRpcnFfcGVuZGluZzsKIAl1bnNpZ25lZCBpbnQgX19ubWlfY291bnQ7CS8qIG51bWJlciBvZiBOTUkgb24gdGhpcyBDUFVzICovCiAJc2hvcnQgbW11X3N0YXRlOwpAQCAtMzcsOCArMzksNyBAQAogCXVuc2lnbmVkIGlycV9zcHVyaW91c19jb3VudDsKIH0gX19fX2NhY2hlbGluZV9hbGlnbmVkX2luX3NtcDsKIAotZXh0ZXJuIHN0cnVjdCB4ODY2NF9wZGEgKl9jcHVfcGRhW107Ci1leHRlcm4gc3RydWN0IHg4NjY0X3BkYSBib290X2NwdV9wZGFbXTsKK2V4dGVybiBzdHJ1Y3QgeDg2NjRfcGRhICoqX2NwdV9wZGE7CiBleHRlcm4gdm9pZCBwZGFfaW5pdChpbnQpOwogCiAjZGVmaW5lIGNwdV9wZGEoaSkgKF9jcHVfcGRhW2ldKQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3BlcmNwdS5oIGIvaW5jbHVkZS9hc20teDg2L3BlcmNwdS5oCmluZGV4IDczNmZjM2IuLjkxMmEzYTEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9wZXJjcHUuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvcGVyY3B1LmgKQEAgLTE0Myw0ICsxNDMsNTAgQEAKICNkZWZpbmUgeDg2X29yX3BlcmNwdSh2YXIsIHZhbCkgcGVyY3B1X3RvX29wKCJvciIsIHBlcl9jcHVfXyMjdmFyLCB2YWwpCiAjZW5kaWYgLyogIV9fQVNTRU1CTFlfXyAqLwogI2VuZGlmIC8qICFDT05GSUdfWDg2XzY0ICovCisKKyNpZmRlZiBDT05GSUdfU01QCisKKy8qCisgKiBEZWZpbmUgdGhlICJFQVJMWV9QRVJfQ1BVIiBtYWNyb3MuICBUaGVzZSBhcmUgdXNlZCBmb3Igc29tZSBwZXJfY3B1CisgKiB2YXJpYWJsZXMgdGhhdCBhcmUgaW5pdGlhbGl6ZWQgYW5kIGFjY2Vzc2VkIGJlZm9yZSB0aGVyZSBhcmUgcGVyX2NwdQorICogYXJlYXMgYWxsb2NhdGVkLgorICovCisKKyNkZWZpbmUJREVGSU5FX0VBUkxZX1BFUl9DUFUoX3R5cGUsIF9uYW1lLCBfaW5pdHZhbHVlKQkJCVwKKwlERUZJTkVfUEVSX0NQVShfdHlwZSwgX25hbWUpID0gX2luaXR2YWx1ZTsJCQlcCisJX190eXBlb2ZfXyhfdHlwZSkgX25hbWUjI19lYXJseV9tYXBbTlJfQ1BVU10gX19pbml0ZGF0YSA9CVwKKwkJCQl7IFswIC4uLiBOUl9DUFVTLTFdID0gX2luaXR2YWx1ZSB9OwlcCisJX190eXBlb2ZfXyhfdHlwZSkgKl9uYW1lIyNfZWFybHlfcHRyID0gX25hbWUjI19lYXJseV9tYXAKKworI2RlZmluZSBFWFBPUlRfRUFSTFlfUEVSX0NQVV9TWU1CT0woX25hbWUpCQkJXAorCUVYUE9SVF9QRVJfQ1BVX1NZTUJPTChfbmFtZSkKKworI2RlZmluZSBERUNMQVJFX0VBUkxZX1BFUl9DUFUoX3R5cGUsIF9uYW1lKQkJCVwKKwlERUNMQVJFX1BFUl9DUFUoX3R5cGUsIF9uYW1lKTsJCQkJXAorCWV4dGVybiBfX3R5cGVvZl9fKF90eXBlKSAqX25hbWUjI19lYXJseV9wdHI7CQlcCisJZXh0ZXJuIF9fdHlwZW9mX18oX3R5cGUpICBfbmFtZSMjX2Vhcmx5X21hcFtdCisKKyNkZWZpbmUJZWFybHlfcGVyX2NwdV9wdHIoX25hbWUpIChfbmFtZSMjX2Vhcmx5X3B0cikKKyNkZWZpbmUJZWFybHlfcGVyX2NwdV9tYXAoX25hbWUsIF9pZHgpIChfbmFtZSMjX2Vhcmx5X21hcFtfaWR4XSkKKyNkZWZpbmUJZWFybHlfcGVyX2NwdShfbmFtZSwgX2NwdSkgCQkJCVwKKwkoZWFybHlfcGVyX2NwdV9wdHIoX25hbWUpID8JCQkJXAorCQllYXJseV9wZXJfY3B1X3B0cihfbmFtZSlbX2NwdV0gOgkJXAorCQlwZXJfY3B1KF9uYW1lLCBfY3B1KSkKKworI2Vsc2UJLyogIUNPTkZJR19TTVAgKi8KKyNkZWZpbmUJREVGSU5FX0VBUkxZX1BFUl9DUFUoX3R5cGUsIF9uYW1lLCBfaW5pdHZhbHVlKQkJXAorCURFRklORV9QRVJfQ1BVKF90eXBlLCBfbmFtZSkgPSBfaW5pdHZhbHVlCisKKyNkZWZpbmUgRVhQT1JUX0VBUkxZX1BFUl9DUFVfU1lNQk9MKF9uYW1lKQkJCVwKKwlFWFBPUlRfUEVSX0NQVV9TWU1CT0woX25hbWUpCisKKyNkZWZpbmUgREVDTEFSRV9FQVJMWV9QRVJfQ1BVKF90eXBlLCBfbmFtZSkJCQlcCisJREVDTEFSRV9QRVJfQ1BVKF90eXBlLCBfbmFtZSkKKworI2RlZmluZQllYXJseV9wZXJfY3B1KF9uYW1lLCBfY3B1KSBwZXJfY3B1KF9uYW1lLCBfY3B1KQorI2RlZmluZQllYXJseV9wZXJfY3B1X3B0cihfbmFtZSkgTlVMTAorLyogbm8gZWFybHlfcGVyX2NwdV9tYXAoKSAqLworCisjZW5kaWYJLyogIUNPTkZJR19TTVAgKi8KKwogI2VuZGlmIC8qIF9BU01fWDg2X1BFUkNQVV9IXyAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3BnYWxsb2MuaCBiL2luY2x1ZGUvYXNtLXg4Ni9wZ2FsbG9jLmgKaW5kZXggOTFlNDY0MS4uZDYzZWE0MyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L3BnYWxsb2MuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvcGdhbGxvYy5oCkBAIC01LDkgKzUsMTMgQEAKICNpbmNsdWRlIDxsaW51eC9tbS5oPgkJLyogZm9yIHN0cnVjdCBwYWdlICovCiAjaW5jbHVkZSA8bGludXgvcGFnZW1hcC5oPgogCitzdGF0aWMgaW5saW5lIGludCAgX19wYXJhdmlydF9wZ2RfYWxsb2Moc3RydWN0IG1tX3N0cnVjdCAqbW0pIHsgcmV0dXJuIDA7IH0KKwogI2lmZGVmIENPTkZJR19QQVJBVklSVAogI2luY2x1ZGUgPGFzbS9wYXJhdmlydC5oPgogI2Vsc2UKKyNkZWZpbmUgcGFyYXZpcnRfcGdkX2FsbG9jKG1tKQlfX3BhcmF2aXJ0X3BnZF9hbGxvYyhtbSkKK3N0YXRpYyBpbmxpbmUgdm9pZCBwYXJhdmlydF9wZ2RfZnJlZShzdHJ1Y3QgbW1fc3RydWN0ICptbSwgcGdkX3QgKnBnZCkge30KIHN0YXRpYyBpbmxpbmUgdm9pZCBwYXJhdmlydF9hbGxvY19wdGUoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHVuc2lnbmVkIGxvbmcgcGZuKQl7fQogc3RhdGljIGlubGluZSB2b2lkIHBhcmF2aXJ0X2FsbG9jX3BtZChzdHJ1Y3QgbW1fc3RydWN0ICptbSwgdW5zaWduZWQgbG9uZyBwZm4pCXt9CiBzdGF0aWMgaW5saW5lIHZvaWQgcGFyYXZpcnRfYWxsb2NfcG1kX2Nsb25lKHVuc2lnbmVkIGxvbmcgcGZuLCB1bnNpZ25lZCBsb25nIGNsb25lcGZuLApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3BndGFibGUuaCBiL2luY2x1ZGUvYXNtLXg4Ni9wZ3RhYmxlLmgKaW5kZXggOTdjMjcxYi4uNDljYmQ3NiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L3BndGFibGUuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvcGd0YWJsZS5oCkBAIC0yMCwzMCArMjAsMjUgQEAKICNkZWZpbmUgX1BBR0VfQklUX1BBVF9MQVJHRQkxMgkvKiBPbiAyTUIgb3IgMUdCIHBhZ2VzICovCiAjZGVmaW5lIF9QQUdFX0JJVF9OWCAgICAgICAgICAgNjMgICAgICAgLyogTm8gZXhlY3V0ZTogb25seSB2YWxpZCBhZnRlciBjcHVpZCBjaGVjayAqLwogCi0vKgotICogTm90ZTogd2UgdXNlIF9BQygxLCBMKSBpbnN0ZWFkIG9mIF9BQygxLCBVTCkgc28gdGhhdCB3ZSBnZXQgYQotICogc2lnbi1leHRlbmRlZCB2YWx1ZSBvbiAzMi1iaXQgd2l0aCBhbGwgMSdzIGluIHRoZSB1cHBlciB3b3JkLAotICogd2hpY2ggcHJlc2VydmVzIHRoZSB1cHBlciBwdGUgdmFsdWVzIG9uIDY0LWJpdCBwdGVzOgotICovCi0jZGVmaW5lIF9QQUdFX1BSRVNFTlQJKF9BQygxLCBMKTw8X1BBR0VfQklUX1BSRVNFTlQpCi0jZGVmaW5lIF9QQUdFX1JXCShfQUMoMSwgTCk8PF9QQUdFX0JJVF9SVykKLSNkZWZpbmUgX1BBR0VfVVNFUgkoX0FDKDEsIEwpPDxfUEFHRV9CSVRfVVNFUikKLSNkZWZpbmUgX1BBR0VfUFdUCShfQUMoMSwgTCk8PF9QQUdFX0JJVF9QV1QpCi0jZGVmaW5lIF9QQUdFX1BDRAkoX0FDKDEsIEwpPDxfUEFHRV9CSVRfUENEKQotI2RlZmluZSBfUEFHRV9BQ0NFU1NFRAkoX0FDKDEsIEwpPDxfUEFHRV9CSVRfQUNDRVNTRUQpCi0jZGVmaW5lIF9QQUdFX0RJUlRZCShfQUMoMSwgTCk8PF9QQUdFX0JJVF9ESVJUWSkKLSNkZWZpbmUgX1BBR0VfUFNFCShfQUMoMSwgTCk8PF9QQUdFX0JJVF9QU0UpCS8qIDJNQiBwYWdlICovCi0jZGVmaW5lIF9QQUdFX0dMT0JBTAkoX0FDKDEsIEwpPDxfUEFHRV9CSVRfR0xPQkFMKQkvKiBHbG9iYWwgVExCIGVudHJ5ICovCi0jZGVmaW5lIF9QQUdFX1VOVVNFRDEJKF9BQygxLCBMKTw8X1BBR0VfQklUX1VOVVNFRDEpCi0jZGVmaW5lIF9QQUdFX1VOVVNFRDIJKF9BQygxLCBMKTw8X1BBR0VfQklUX1VOVVNFRDIpCi0jZGVmaW5lIF9QQUdFX1VOVVNFRDMJKF9BQygxLCBMKTw8X1BBR0VfQklUX1VOVVNFRDMpCi0jZGVmaW5lIF9QQUdFX1BBVAkoX0FDKDEsIEwpPDxfUEFHRV9CSVRfUEFUKQotI2RlZmluZSBfUEFHRV9QQVRfTEFSR0UgKF9BQygxLCBMKTw8X1BBR0VfQklUX1BBVF9MQVJHRSkKKyNkZWZpbmUgX1BBR0VfUFJFU0VOVAkoX0FUKHB0ZXZhbF90LCAxKSA8PCBfUEFHRV9CSVRfUFJFU0VOVCkKKyNkZWZpbmUgX1BBR0VfUlcJKF9BVChwdGV2YWxfdCwgMSkgPDwgX1BBR0VfQklUX1JXKQorI2RlZmluZSBfUEFHRV9VU0VSCShfQVQocHRldmFsX3QsIDEpIDw8IF9QQUdFX0JJVF9VU0VSKQorI2RlZmluZSBfUEFHRV9QV1QJKF9BVChwdGV2YWxfdCwgMSkgPDwgX1BBR0VfQklUX1BXVCkKKyNkZWZpbmUgX1BBR0VfUENECShfQVQocHRldmFsX3QsIDEpIDw8IF9QQUdFX0JJVF9QQ0QpCisjZGVmaW5lIF9QQUdFX0FDQ0VTU0VECShfQVQocHRldmFsX3QsIDEpIDw8IF9QQUdFX0JJVF9BQ0NFU1NFRCkKKyNkZWZpbmUgX1BBR0VfRElSVFkJKF9BVChwdGV2YWxfdCwgMSkgPDwgX1BBR0VfQklUX0RJUlRZKQorI2RlZmluZSBfUEFHRV9QU0UJKF9BVChwdGV2YWxfdCwgMSkgPDwgX1BBR0VfQklUX1BTRSkKKyNkZWZpbmUgX1BBR0VfR0xPQkFMCShfQVQocHRldmFsX3QsIDEpIDw8IF9QQUdFX0JJVF9HTE9CQUwpCisjZGVmaW5lIF9QQUdFX1VOVVNFRDEJKF9BVChwdGV2YWxfdCwgMSkgPDwgX1BBR0VfQklUX1VOVVNFRDEpCisjZGVmaW5lIF9QQUdFX1VOVVNFRDIJKF9BVChwdGV2YWxfdCwgMSkgPDwgX1BBR0VfQklUX1VOVVNFRDIpCisjZGVmaW5lIF9QQUdFX1VOVVNFRDMJKF9BVChwdGV2YWxfdCwgMSkgPDwgX1BBR0VfQklUX1VOVVNFRDMpCisjZGVmaW5lIF9QQUdFX1BBVAkoX0FUKHB0ZXZhbF90LCAxKSA8PCBfUEFHRV9CSVRfUEFUKQorI2RlZmluZSBfUEFHRV9QQVRfTEFSR0UgKF9BVChwdGV2YWxfdCwgMSkgPDwgX1BBR0VfQklUX1BBVF9MQVJHRSkKIAogI2lmIGRlZmluZWQoQ09ORklHX1g4Nl82NCkgfHwgZGVmaW5lZChDT05GSUdfWDg2X1BBRSkKLSNkZWZpbmUgX1BBR0VfTlgJKF9BQygxLCBVTEwpIDw8IF9QQUdFX0JJVF9OWCkKKyNkZWZpbmUgX1BBR0VfTlgJKF9BVChwdGV2YWxfdCwgMSkgPDwgX1BBR0VfQklUX05YKQogI2Vsc2UKLSNkZWZpbmUgX1BBR0VfTlgJMAorI2RlZmluZSBfUEFHRV9OWAkoX0FUKHB0ZXZhbF90LCAwKSkKICNlbmRpZgogCiAvKiBJZiBfUEFHRV9QUkVTRU5UIGlzIGNsZWFyLCB3ZSB1c2UgdGhlc2U6ICovCkBAIC04MywxOSArNzgsOSBAQAogI2RlZmluZSBQQUdFX1JFQURPTkxZX0VYRUMJX19wZ3Byb3QoX1BBR0VfUFJFU0VOVCB8IF9QQUdFX1VTRVIgfAlcCiAJCQkJCSBfUEFHRV9BQ0NFU1NFRCkKIAotI2lmZGVmIENPTkZJR19YODZfMzIKLSNkZWZpbmUgX1BBR0VfS0VSTkVMX0VYRUMgXAotCShfUEFHRV9QUkVTRU5UIHwgX1BBR0VfUlcgfCBfUEFHRV9ESVJUWSB8IF9QQUdFX0FDQ0VTU0VEKQotI2RlZmluZSBfUEFHRV9LRVJORUwgKF9QQUdFX0tFUk5FTF9FWEVDIHwgX1BBR0VfTlgpCi0KLSNpZm5kZWYgX19BU1NFTUJMWV9fCi1leHRlcm4gcHRldmFsX3QgX19QQUdFX0tFUk5FTCwgX19QQUdFX0tFUk5FTF9FWEVDOwotI2VuZGlmCS8qIF9fQVNTRU1CTFlfXyAqLwotI2Vsc2UKICNkZWZpbmUgX19QQUdFX0tFUk5FTF9FWEVDCQkJCQkJXAotCShfUEFHRV9QUkVTRU5UIHwgX1BBR0VfUlcgfCBfUEFHRV9ESVJUWSB8IF9QQUdFX0FDQ0VTU0VEKQorCShfUEFHRV9QUkVTRU5UIHwgX1BBR0VfUlcgfCBfUEFHRV9ESVJUWSB8IF9QQUdFX0FDQ0VTU0VEIHwgX1BBR0VfR0xPQkFMKQogI2RlZmluZSBfX1BBR0VfS0VSTkVMCQkoX19QQUdFX0tFUk5FTF9FWEVDIHwgX1BBR0VfTlgpCi0jZW5kaWYKIAogI2RlZmluZSBfX1BBR0VfS0VSTkVMX1JPCQkoX19QQUdFX0tFUk5FTCAmIH5fUEFHRV9SVykKICNkZWZpbmUgX19QQUdFX0tFUk5FTF9SWAkJKF9fUEFHRV9LRVJORUxfRVhFQyAmIH5fUEFHRV9SVykKQEAgLTEwNiwyNiArOTEsMjIgQEAKICNkZWZpbmUgX19QQUdFX0tFUk5FTF9WU1lTQ0FMTAkJKF9fUEFHRV9LRVJORUxfUlggfCBfUEFHRV9VU0VSKQogI2RlZmluZSBfX1BBR0VfS0VSTkVMX1ZTWVNDQUxMX05PQ0FDSEUJKF9fUEFHRV9LRVJORUxfVlNZU0NBTEwgfCBfUEFHRV9QQ0QgfCBfUEFHRV9QV1QpCiAjZGVmaW5lIF9fUEFHRV9LRVJORUxfTEFSR0UJCShfX1BBR0VfS0VSTkVMIHwgX1BBR0VfUFNFKQorI2RlZmluZSBfX1BBR0VfS0VSTkVMX0xBUkdFX05PQ0FDSEUJKF9fUEFHRV9LRVJORUwgfCBfUEFHRV9DQUNIRV9VQyB8IF9QQUdFX1BTRSkKICNkZWZpbmUgX19QQUdFX0tFUk5FTF9MQVJHRV9FWEVDCShfX1BBR0VfS0VSTkVMX0VYRUMgfCBfUEFHRV9QU0UpCiAKLSNpZmRlZiBDT05GSUdfWDg2XzMyCi0jIGRlZmluZSBNQUtFX0dMT0JBTCh4KQkJCV9fcGdwcm90KCh4KSkKLSNlbHNlCi0jIGRlZmluZSBNQUtFX0dMT0JBTCh4KQkJCV9fcGdwcm90KCh4KSB8IF9QQUdFX0dMT0JBTCkKLSNlbmRpZgotCi0jZGVmaW5lIFBBR0VfS0VSTkVMCQkJTUFLRV9HTE9CQUwoX19QQUdFX0tFUk5FTCkKLSNkZWZpbmUgUEFHRV9LRVJORUxfUk8JCQlNQUtFX0dMT0JBTChfX1BBR0VfS0VSTkVMX1JPKQotI2RlZmluZSBQQUdFX0tFUk5FTF9FWEVDCQlNQUtFX0dMT0JBTChfX1BBR0VfS0VSTkVMX0VYRUMpCi0jZGVmaW5lIFBBR0VfS0VSTkVMX1JYCQkJTUFLRV9HTE9CQUwoX19QQUdFX0tFUk5FTF9SWCkKLSNkZWZpbmUgUEFHRV9LRVJORUxfV0MJCQlNQUtFX0dMT0JBTChfX1BBR0VfS0VSTkVMX1dDKQotI2RlZmluZSBQQUdFX0tFUk5FTF9OT0NBQ0hFCQlNQUtFX0dMT0JBTChfX1BBR0VfS0VSTkVMX05PQ0FDSEUpCi0jZGVmaW5lIFBBR0VfS0VSTkVMX1VDX01JTlVTCQlNQUtFX0dMT0JBTChfX1BBR0VfS0VSTkVMX1VDX01JTlVTKQotI2RlZmluZSBQQUdFX0tFUk5FTF9FWEVDX05PQ0FDSEUJTUFLRV9HTE9CQUwoX19QQUdFX0tFUk5FTF9FWEVDX05PQ0FDSEUpCi0jZGVmaW5lIFBBR0VfS0VSTkVMX0xBUkdFCQlNQUtFX0dMT0JBTChfX1BBR0VfS0VSTkVMX0xBUkdFKQotI2RlZmluZSBQQUdFX0tFUk5FTF9MQVJHRV9FWEVDCQlNQUtFX0dMT0JBTChfX1BBR0VfS0VSTkVMX0xBUkdFX0VYRUMpCi0jZGVmaW5lIFBBR0VfS0VSTkVMX1ZTWVNDQUxMCQlNQUtFX0dMT0JBTChfX1BBR0VfS0VSTkVMX1ZTWVNDQUxMKQotI2RlZmluZSBQQUdFX0tFUk5FTF9WU1lTQ0FMTF9OT0NBQ0hFCU1BS0VfR0xPQkFMKF9fUEFHRV9LRVJORUxfVlNZU0NBTExfTk9DQUNIRSkKKyNkZWZpbmUgUEFHRV9LRVJORUwJCQlfX3BncHJvdChfX1BBR0VfS0VSTkVMKQorI2RlZmluZSBQQUdFX0tFUk5FTF9STwkJCV9fcGdwcm90KF9fUEFHRV9LRVJORUxfUk8pCisjZGVmaW5lIFBBR0VfS0VSTkVMX0VYRUMJCV9fcGdwcm90KF9fUEFHRV9LRVJORUxfRVhFQykKKyNkZWZpbmUgUEFHRV9LRVJORUxfUlgJCQlfX3BncHJvdChfX1BBR0VfS0VSTkVMX1JYKQorI2RlZmluZSBQQUdFX0tFUk5FTF9XQwkJCV9fcGdwcm90KF9fUEFHRV9LRVJORUxfV0MpCisjZGVmaW5lIFBBR0VfS0VSTkVMX05PQ0FDSEUJCV9fcGdwcm90KF9fUEFHRV9LRVJORUxfTk9DQUNIRSkKKyNkZWZpbmUgUEFHRV9LRVJORUxfVUNfTUlOVVMJCV9fcGdwcm90KF9fUEFHRV9LRVJORUxfVUNfTUlOVVMpCisjZGVmaW5lIFBBR0VfS0VSTkVMX0VYRUNfTk9DQUNIRQlfX3BncHJvdChfX1BBR0VfS0VSTkVMX0VYRUNfTk9DQUNIRSkKKyNkZWZpbmUgUEFHRV9LRVJORUxfTEFSR0UJCV9fcGdwcm90KF9fUEFHRV9LRVJORUxfTEFSR0UpCisjZGVmaW5lIFBBR0VfS0VSTkVMX0xBUkdFX05PQ0FDSEUJX19wZ3Byb3QoX19QQUdFX0tFUk5FTF9MQVJHRV9OT0NBQ0hFKQorI2RlZmluZSBQQUdFX0tFUk5FTF9MQVJHRV9FWEVDCQlfX3BncHJvdChfX1BBR0VfS0VSTkVMX0xBUkdFX0VYRUMpCisjZGVmaW5lIFBBR0VfS0VSTkVMX1ZTWVNDQUxMCQlfX3BncHJvdChfX1BBR0VfS0VSTkVMX1ZTWVNDQUxMKQorI2RlZmluZSBQQUdFX0tFUk5FTF9WU1lTQ0FMTF9OT0NBQ0hFCV9fcGdwcm90KF9fUEFHRV9LRVJORUxfVlNZU0NBTExfTk9DQUNIRSkKIAogLyogICAgICAgICB4d3IgKi8KICNkZWZpbmUgX19QMDAwCVBBR0VfTk9ORQpAQCAtMTY0LDM3ICsxNDUsMzcgQEAKICAqLwogc3RhdGljIGlubGluZSBpbnQgcHRlX2RpcnR5KHB0ZV90IHB0ZSkKIHsKLQlyZXR1cm4gcHRlX3ZhbChwdGUpICYgX1BBR0VfRElSVFk7CisJcmV0dXJuIHB0ZV9mbGFncyhwdGUpICYgX1BBR0VfRElSVFk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgaW50IHB0ZV95b3VuZyhwdGVfdCBwdGUpCiB7Ci0JcmV0dXJuIHB0ZV92YWwocHRlKSAmIF9QQUdFX0FDQ0VTU0VEOworCXJldHVybiBwdGVfZmxhZ3MocHRlKSAmIF9QQUdFX0FDQ0VTU0VEOwogfQogCiBzdGF0aWMgaW5saW5lIGludCBwdGVfd3JpdGUocHRlX3QgcHRlKQogewotCXJldHVybiBwdGVfdmFsKHB0ZSkgJiBfUEFHRV9SVzsKKwlyZXR1cm4gcHRlX2ZsYWdzKHB0ZSkgJiBfUEFHRV9SVzsKIH0KIAogc3RhdGljIGlubGluZSBpbnQgcHRlX2ZpbGUocHRlX3QgcHRlKQogewotCXJldHVybiBwdGVfdmFsKHB0ZSkgJiBfUEFHRV9GSUxFOworCXJldHVybiBwdGVfZmxhZ3MocHRlKSAmIF9QQUdFX0ZJTEU7CiB9CiAKIHN0YXRpYyBpbmxpbmUgaW50IHB0ZV9odWdlKHB0ZV90IHB0ZSkKIHsKLQlyZXR1cm4gcHRlX3ZhbChwdGUpICYgX1BBR0VfUFNFOworCXJldHVybiBwdGVfZmxhZ3MocHRlKSAmIF9QQUdFX1BTRTsKIH0KIAogc3RhdGljIGlubGluZSBpbnQgcHRlX2dsb2JhbChwdGVfdCBwdGUpCiB7Ci0JcmV0dXJuIHB0ZV92YWwocHRlKSAmIF9QQUdFX0dMT0JBTDsKKwlyZXR1cm4gcHRlX2ZsYWdzKHB0ZSkgJiBfUEFHRV9HTE9CQUw7CiB9CiAKIHN0YXRpYyBpbmxpbmUgaW50IHB0ZV9leGVjKHB0ZV90IHB0ZSkKIHsKLQlyZXR1cm4gIShwdGVfdmFsKHB0ZSkgJiBfUEFHRV9OWCk7CisJcmV0dXJuICEocHRlX2ZsYWdzKHB0ZSkgJiBfUEFHRV9OWCk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgaW50IHB0ZV9zcGVjaWFsKHB0ZV90IHB0ZSkKQEAgLTIxMCwyMiArMTkxLDIyIEBACiAKIHN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21rY2xlYW4ocHRlX3QgcHRlKQogewotCXJldHVybiBfX3B0ZShwdGVfdmFsKHB0ZSkgJiB+KHB0ZXZhbF90KV9QQUdFX0RJUlRZKTsKKwlyZXR1cm4gX19wdGUocHRlX3ZhbChwdGUpICYgfl9QQUdFX0RJUlRZKTsKIH0KIAogc3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWtvbGQocHRlX3QgcHRlKQogewotCXJldHVybiBfX3B0ZShwdGVfdmFsKHB0ZSkgJiB+KHB0ZXZhbF90KV9QQUdFX0FDQ0VTU0VEKTsKKwlyZXR1cm4gX19wdGUocHRlX3ZhbChwdGUpICYgfl9QQUdFX0FDQ0VTU0VEKTsKIH0KIAogc3RhdGljIGlubGluZSBwdGVfdCBwdGVfd3Jwcm90ZWN0KHB0ZV90IHB0ZSkKIHsKLQlyZXR1cm4gX19wdGUocHRlX3ZhbChwdGUpICYgfihwdGV2YWxfdClfUEFHRV9SVyk7CisJcmV0dXJuIF9fcHRlKHB0ZV92YWwocHRlKSAmIH5fUEFHRV9SVyk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21rZXhlYyhwdGVfdCBwdGUpCiB7Ci0JcmV0dXJuIF9fcHRlKHB0ZV92YWwocHRlKSAmIH4ocHRldmFsX3QpX1BBR0VfTlgpOworCXJldHVybiBfX3B0ZShwdGVfdmFsKHB0ZSkgJiB+X1BBR0VfTlgpOwogfQogCiBzdGF0aWMgaW5saW5lIHB0ZV90IHB0ZV9ta2RpcnR5KHB0ZV90IHB0ZSkKQEAgLTI1MCw3ICsyMzEsNyBAQAogCiBzdGF0aWMgaW5saW5lIHB0ZV90IHB0ZV9jbHJodWdlKHB0ZV90IHB0ZSkKIHsKLQlyZXR1cm4gX19wdGUocHRlX3ZhbChwdGUpICYgfihwdGV2YWxfdClfUEFHRV9QU0UpOworCXJldHVybiBfX3B0ZShwdGVfdmFsKHB0ZSkgJiB+X1BBR0VfUFNFKTsKIH0KIAogc3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWtnbG9iYWwocHRlX3QgcHRlKQpAQCAtMjYwLDcgKzI0MSw3IEBACiAKIHN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX2Nscmdsb2JhbChwdGVfdCBwdGUpCiB7Ci0JcmV0dXJuIF9fcHRlKHB0ZV92YWwocHRlKSAmIH4ocHRldmFsX3QpX1BBR0VfR0xPQkFMKTsKKwlyZXR1cm4gX19wdGUocHRlX3ZhbChwdGUpICYgfl9QQUdFX0dMT0JBTCk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21rc3BlY2lhbChwdGVfdCBwdGUpCkBAIC0zMDUsNyArMjg2LDcgQEAKIAlyZXR1cm4gX19wZ3Byb3QocHJlc2VydmViaXRzIHwgYWRkYml0cyk7CiB9CiAKLSNkZWZpbmUgcHRlX3BncHJvdCh4KSBfX3BncHJvdChwdGVfdmFsKHgpICYgflBURV9NQVNLKQorI2RlZmluZSBwdGVfcGdwcm90KHgpIF9fcGdwcm90KHB0ZV9mbGFncyh4KSAmIH5QVEVfTUFTSykKIAogI2RlZmluZSBjYW5vbl9wZ3Byb3QocCkgX19wZ3Byb3QocGdwcm90X3ZhbChwKSAmIF9fc3VwcG9ydGVkX3B0ZV9tYXNrKQogCkBAIC0zMTgsNiArMjk5LDkgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgc2l6ZSwgcGdwcm90X3QgKnZtYV9wcm90KTsKICNlbmRpZgogCisvKiBJbnN0YWxsIGEgcHRlIGZvciBhIHBhcnRpY3VsYXIgdmFkZHIgaW4ga2VybmVsIHNwYWNlLiAqLwordm9pZCBzZXRfcHRlX3ZhZGRyKHVuc2lnbmVkIGxvbmcgdmFkZHIsIHB0ZV90IHB0ZSk7CisKICNpZmRlZiBDT05GSUdfUEFSQVZJUlQKICNpbmNsdWRlIDxhc20vcGFyYXZpcnQuaD4KICNlbHNlICAvKiAhQ09ORklHX1BBUkFWSVJUICovCkBAIC0zNTksNiArMzQzLDI2IEBACiAjIGluY2x1ZGUgInBndGFibGVfNjQuaCIKICNlbmRpZgogCisvKgorICogdGhlIHBnZCBwYWdlIGNhbiBiZSB0aG91Z2h0IG9mIGFuIGFycmF5IGxpa2UgdGhpczogcGdkX3RbUFRSU19QRVJfUEdEXQorICoKKyAqIHRoaXMgbWFjcm8gcmV0dXJucyB0aGUgaW5kZXggb2YgdGhlIGVudHJ5IGluIHRoZSBwZ2QgcGFnZSB3aGljaCB3b3VsZAorICogY29udHJvbCB0aGUgZ2l2ZW4gdmlydHVhbCBhZGRyZXNzCisgKi8KKyNkZWZpbmUgcGdkX2luZGV4KGFkZHJlc3MpICgoKGFkZHJlc3MpID4+IFBHRElSX1NISUZUKSAmIChQVFJTX1BFUl9QR0QgLSAxKSkKKworLyoKKyAqIHBnZF9vZmZzZXQoKSByZXR1cm5zIGEgKHBnZF90ICopCisgKiBwZ2RfaW5kZXgoKSBpcyB1c2VkIGdldCB0aGUgb2Zmc2V0IGludG8gdGhlIHBnZCBwYWdlJ3MgYXJyYXkgb2YgcGdkX3QnczsKKyAqLworI2RlZmluZSBwZ2Rfb2Zmc2V0KG1tLCBhZGRyZXNzKSAoKG1tKS0+cGdkICsgcGdkX2luZGV4KChhZGRyZXNzKSkpCisvKgorICogYSBzaG9ydGN1dCB3aGljaCBpbXBsaWVzIHRoZSB1c2Ugb2YgdGhlIGtlcm5lbCdzIHBnZCwgaW5zdGVhZAorICogb2YgYSBwcm9jZXNzJ3MKKyAqLworI2RlZmluZSBwZ2Rfb2Zmc2V0X2soYWRkcmVzcykgcGdkX29mZnNldCgmaW5pdF9tbSwgKGFkZHJlc3MpKQorCisKICNkZWZpbmUgS0VSTkVMX1BHRF9CT1VOREFSWQlwZ2RfaW5kZXgoUEFHRV9PRkZTRVQpCiAjZGVmaW5lIEtFUk5FTF9QR0RfUFRSUwkJKFBUUlNfUEVSX1BHRCAtIEtFUk5FTF9QR0RfQk9VTkRBUlkpCiAKQEAgLTM2OSw4ICszNzMsMTUgQEAKIAlQR19MRVZFTF80SywKIAlQR19MRVZFTF8yTSwKIAlQR19MRVZFTF8xRywKKwlQR19MRVZFTF9OVU0KIH07CiAKKyNpZmRlZiBDT05GSUdfUFJPQ19GUworZXh0ZXJuIHZvaWQgdXBkYXRlX3BhZ2VfY291bnQoaW50IGxldmVsLCB1bnNpZ25lZCBsb25nIHBhZ2VzKTsKKyNlbHNlCitzdGF0aWMgaW5saW5lIHZvaWQgdXBkYXRlX3BhZ2VfY291bnQoaW50IGxldmVsLCB1bnNpZ25lZCBsb25nIHBhZ2VzKSB7IH0KKyNlbmRpZgorCiAvKgogICogSGVscGVyIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyB0aGUga2VybmVsIHBhZ2V0YWJsZSBlbnRyeSBjb250cm9sbGluZwogICogdGhlIHZpcnR1YWwgYWRkcmVzcyAnYWRkcmVzcycuIE5VTEwgbWVhbnMgbm8gcGFnZXRhYmxlIGVudHJ5IHByZXNlbnQuCkBAIC00MjAsNiArNDMxLDggQEAKICAqIHJhY2Ugd2l0aCBvdGhlciBDUFUncyB0aGF0IG1pZ2h0IGJlIHVwZGF0aW5nIHRoZSBkaXJ0eQogICogYml0IGF0IHRoZSBzYW1lIHRpbWUuCiAgKi8KK3N0cnVjdCB2bV9hcmVhX3N0cnVjdDsKKwogI2RlZmluZSAgX19IQVZFX0FSQ0hfUFRFUF9TRVRfQUNDRVNTX0ZMQUdTCiBleHRlcm4gaW50IHB0ZXBfc2V0X2FjY2Vzc19mbGFncyhzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSwKIAkJCQkgdW5zaWduZWQgbG9uZyBhZGRyZXNzLCBwdGVfdCAqcHRlcCwKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9wZ3RhYmxlXzMyLmggYi9pbmNsdWRlL2FzbS14ODYvcGd0YWJsZV8zMi5oCmluZGV4IDMyY2EwMzEuLmVjODcxYzQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9wZ3RhYmxlXzMyLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3BndGFibGVfMzIuaApAQCAtMTEzLDI2ICsxMTMsNiBAQAogICovCiAjZGVmaW5lIG1rX3B0ZShwYWdlLCBwZ3Byb3QpCXBmbl9wdGUocGFnZV90b19wZm4ocGFnZSksIChwZ3Byb3QpKQogCi0vKgotICogdGhlIHBnZCBwYWdlIGNhbiBiZSB0aG91Z2h0IG9mIGFuIGFycmF5IGxpa2UgdGhpczogcGdkX3RbUFRSU19QRVJfUEdEXQotICoKLSAqIHRoaXMgbWFjcm8gcmV0dXJucyB0aGUgaW5kZXggb2YgdGhlIGVudHJ5IGluIHRoZSBwZ2QgcGFnZSB3aGljaCB3b3VsZAotICogY29udHJvbCB0aGUgZ2l2ZW4gdmlydHVhbCBhZGRyZXNzCi0gKi8KLSNkZWZpbmUgcGdkX2luZGV4KGFkZHJlc3MpICgoKGFkZHJlc3MpID4+IFBHRElSX1NISUZUKSAmIChQVFJTX1BFUl9QR0QgLSAxKSkKLSNkZWZpbmUgcGdkX2luZGV4X2soYWRkcikgcGdkX2luZGV4KChhZGRyKSkKLQotLyoKLSAqIHBnZF9vZmZzZXQoKSByZXR1cm5zIGEgKHBnZF90ICopCi0gKiBwZ2RfaW5kZXgoKSBpcyB1c2VkIGdldCB0aGUgb2Zmc2V0IGludG8gdGhlIHBnZCBwYWdlJ3MgYXJyYXkgb2YgcGdkX3QnczsKLSAqLwotI2RlZmluZSBwZ2Rfb2Zmc2V0KG1tLCBhZGRyZXNzKSAoKG1tKS0+cGdkICsgcGdkX2luZGV4KChhZGRyZXNzKSkpCi0KLS8qCi0gKiBhIHNob3J0Y3V0IHdoaWNoIGltcGxpZXMgdGhlIHVzZSBvZiB0aGUga2VybmVsJ3MgcGdkLCBpbnN0ZWFkCi0gKiBvZiBhIHByb2Nlc3MncwotICovCi0jZGVmaW5lIHBnZF9vZmZzZXRfayhhZGRyZXNzKSBwZ2Rfb2Zmc2V0KCZpbml0X21tLCAoYWRkcmVzcykpCiAKIHN0YXRpYyBpbmxpbmUgaW50IHB1ZF9sYXJnZShwdWRfdCBwdWQpIHsgcmV0dXJuIDA7IH0KIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3BndGFibGVfNjQuaCBiL2luY2x1ZGUvYXNtLXg4Ni9wZ3RhYmxlXzY0LmgKaW5kZXggMWNjNTBkMi4uZmE3MjA4YiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L3BndGFibGVfNjQuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvcGd0YWJsZV82NC5oCkBAIC03MCw2ICs3MCw5IEBACiAKIHN0cnVjdCBtbV9zdHJ1Y3Q7CiAKK3ZvaWQgc2V0X3B0ZV92YWRkcl9wdWQocHVkX3QgKnB1ZF9wYWdlLCB1bnNpZ25lZCBsb25nIHZhZGRyLCBwdGVfdCBuZXdfcHRlKTsKKworCiBzdGF0aWMgaW5saW5lIHZvaWQgbmF0aXZlX3B0ZV9jbGVhcihzdHJ1Y3QgbW1fc3RydWN0ICptbSwgdW5zaWduZWQgbG9uZyBhZGRyLAogCQkJCSAgICBwdGVfdCAqcHRlcCkKIHsKQEAgLTE5MCwxMiArMTkzLDkgQEAKICNkZWZpbmUgcGdkX3BhZ2VfdmFkZHIocGdkKQkJCQkJCVwKIAkoKHVuc2lnbmVkIGxvbmcpX192YSgodW5zaWduZWQgbG9uZylwZ2RfdmFsKChwZ2QpKSAmIFBURV9NQVNLKSkKICNkZWZpbmUgcGdkX3BhZ2UocGdkKQkJKHBmbl90b19wYWdlKHBnZF92YWwoKHBnZCkpID4+IFBBR0VfU0hJRlQpKQotI2RlZmluZSBwZ2RfaW5kZXgoYWRkcmVzcykgKCgoYWRkcmVzcykgPj4gUEdESVJfU0hJRlQpICYgKFBUUlNfUEVSX1BHRCAtIDEpKQotI2RlZmluZSBwZ2Rfb2Zmc2V0KG1tLCBhZGRyZXNzKQkoKG1tKS0+cGdkICsgcGdkX2luZGV4KChhZGRyZXNzKSkpCi0jZGVmaW5lIHBnZF9vZmZzZXRfayhhZGRyZXNzKSAoaW5pdF9sZXZlbDRfcGd0ICsgcGdkX2luZGV4KChhZGRyZXNzKSkpCiAjZGVmaW5lIHBnZF9wcmVzZW50KHBnZCkgKHBnZF92YWwocGdkKSAmIF9QQUdFX1BSRVNFTlQpCiBzdGF0aWMgaW5saW5lIGludCBwZ2RfbGFyZ2UocGdkX3QgcGdkKSB7IHJldHVybiAwOyB9Ci0jZGVmaW5lIG1rX2tlcm5lbF9wZ2QoYWRkcmVzcykgKChwZ2RfdCl7IChhZGRyZXNzKSB8IF9LRVJOUEdfVEFCTEUgfSkKKyNkZWZpbmUgbWtfa2VybmVsX3BnZChhZGRyZXNzKSBfX3BnZCgoYWRkcmVzcykgfCBfS0VSTlBHX1RBQkxFKQogCiAvKiBQVUQgLSBMZXZlbDMgYWNjZXNzICovCiAvKiB0byBmaW5kIGFuIGVudHJ5IGluIGEgcGFnZS10YWJsZS1kaXJlY3RvcnkuICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvcHJvY2Vzc29yLWZsYWdzLmggYi9pbmNsdWRlL2FzbS14ODYvcHJvY2Vzc29yLWZsYWdzLmgKaW5kZXggMTk5Y2FiMS4uMDkyYjM5YiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L3Byb2Nlc3Nvci1mbGFncy5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9wcm9jZXNzb3ItZmxhZ3MuaApAQCAtODgsNCArODgsMTAgQEAKICNkZWZpbmUgQ1g4Nl9BUlJfQkFTRQkweGM0CiAjZGVmaW5lIENYODZfUkNSX0JBU0UJMHhkYwogCisjaWZkZWYgQ09ORklHX1ZNODYKKyNkZWZpbmUgWDg2X1ZNX01BU0sJWDg2X0VGTEFHU19WTQorI2Vsc2UKKyNkZWZpbmUgWDg2X1ZNX01BU0sJMCAvKiBObyBWTTg2IHN1cHBvcnQgKi8KKyNlbmRpZgorCiAjZW5kaWYJLyogX19BU01fSTM4Nl9QUk9DRVNTT1JfRkxBR1NfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3Byb2Nlc3Nvci5oIGIvaW5jbHVkZS9hc20teDg2L3Byb2Nlc3Nvci5oCmluZGV4IDU1OTEwNTIuLjdmNzM4MjcgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9wcm9jZXNzb3IuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvcHJvY2Vzc29yLmgKQEAgLTE1Myw3ICsxNTMsNyBAQAogCiBleHRlcm4gdm9pZCBjcHVfZGV0ZWN0KHN0cnVjdCBjcHVpbmZvX3g4NiAqYyk7CiAKLWV4dGVybiB2b2lkIGlkZW50aWZ5X2NwdShzdHJ1Y3QgY3B1aW5mb194ODYgKik7CitleHRlcm4gdm9pZCBlYXJseV9jcHVfaW5pdCh2b2lkKTsKIGV4dGVybiB2b2lkIGlkZW50aWZ5X2Jvb3RfY3B1KHZvaWQpOwogZXh0ZXJuIHZvaWQgaWRlbnRpZnlfc2Vjb25kYXJ5X2NwdShzdHJ1Y3QgY3B1aW5mb194ODYgKik7CiBleHRlcm4gdm9pZCBwcmludF9jcHVfaW5mbyhzdHJ1Y3QgY3B1aW5mb194ODYgKik7CkBAIC0yNjMsMTUgKzI2MywxMSBAQAogCXN0cnVjdCB0aHJlYWRfc3RydWN0CSppb19iaXRtYXBfb3duZXI7CiAKIAkvKgotCSAqIFBhZCB0aGUgVFNTIHRvIGJlIGNhY2hlbGluZS1hbGlnbmVkIChzaXplIGlzIDB4MTAwKToKLQkgKi8KLQl1bnNpZ25lZCBsb25nCQlfX2NhY2hlbGluZV9maWxsZXJbMzVdOwotCS8qCiAJICogLi4gYW5kIHRoZW4gYW5vdGhlciAweDEwMCBieXRlcyBmb3IgdGhlIGVtZXJnZW5jeSBrZXJuZWwgc3RhY2s6CiAJICovCiAJdW5zaWduZWQgbG9uZwkJc3RhY2tbNjRdOwogCi19IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworfSBfX19fY2FjaGVsaW5lX2FsaWduZWQ7CiAKIERFQ0xBUkVfUEVSX0NQVShzdHJ1Y3QgdHNzX3N0cnVjdCwgaW5pdF90c3MpOwogCkBAIC01MzUsNyArNTMxLDYgQEAKIH0KIAogI2RlZmluZSBzZXRfaW9wbF9tYXNrIG5hdGl2ZV9zZXRfaW9wbF9tYXNrCi0jZGVmaW5lIFNXQVBHUwlzd2FwZ3MKICNlbmRpZiAvKiBDT05GSUdfUEFSQVZJUlQgKi8KIAogLyoKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9wcm90by5oIGIvaW5jbHVkZS9hc20teDg2L3Byb3RvLmgKaW5kZXggNmM4YjQxYi4uM2RkNDU4YyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L3Byb3RvLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3Byb3RvLmgKQEAgLTE0LDggKzE0LDYgQEAKIGV4dGVybiB2b2lkIGlhMzJfY3N0YXJfdGFyZ2V0KHZvaWQpOwogZXh0ZXJuIHZvaWQgaWEzMl9zeXNlbnRlcl90YXJnZXQodm9pZCk7CiAKLWV4dGVybiB2b2lkIHJlc2VydmVfYm9vdG1lbV9nZW5lcmljKHVuc2lnbmVkIGxvbmcgcGh5cywgdW5zaWduZWQgbGVuKTsKLQogZXh0ZXJuIHZvaWQgc3lzY2FsbDMyX2NwdV9pbml0KHZvaWQpOwogCiBleHRlcm4gdm9pZCBjaGVja19lZmVyKHZvaWQpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3B0cmFjZS5oIGIvaW5jbHVkZS9hc20teDg2L3B0cmFjZS5oCmluZGV4IDlmOTIyYjAuLjhhNzFkYjggMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9wdHJhY2UuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvcHRyYWNlLmgKQEAgLTMsNyArMywxMiBAQAogCiAjaW5jbHVkZSA8bGludXgvY29tcGlsZXIuaD4JLyogRm9yIF9fdXNlciAqLwogI2luY2x1ZGUgPGFzbS9wdHJhY2UtYWJpLmg+CisjaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci1mbGFncy5oPgogCisjaWZkZWYgX19LRVJORUxfXworI2luY2x1ZGUgPGFzbS9kcy5oPgkJLyogdGhlIERTIEJUUyBzdHJ1Y3QgaXMgdXNlZCBmb3IgcHRyYWNlIHRvbyAqLworI2luY2x1ZGUgPGFzbS9zZWdtZW50Lmg+CisjZW5kaWYKIAogI2lmbmRlZiBfX0FTU0VNQkxZX18KIApAQCAtNTUsOSArNjAsNiBAQAogCXVuc2lnbmVkIGxvbmcgc3M7CiB9OwogCi0jaW5jbHVkZSA8YXNtL3ZtODYuaD4KLSNpbmNsdWRlIDxhc20vc2VnbWVudC5oPgotCiAjZW5kaWYgLyogX19LRVJORUxfXyAqLwogCiAjZWxzZSAvKiBfX2kzODZfXyAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3JlYm9vdC5oIGIvaW5jbHVkZS9hc20teDg2L3JlYm9vdC5oCmluZGV4IGU2Mzc0MWYuLjIwNmYzNTUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9yZWJvb3QuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvcmVib290LmgKQEAgLTE0LDggKzE0LDggQEAKIAogZXh0ZXJuIHN0cnVjdCBtYWNoaW5lX29wcyBtYWNoaW5lX29wczsKIAotdm9pZCBtYWNoaW5lX3JlYWxfcmVzdGFydCh1bnNpZ25lZCBjaGFyICpjb2RlLCBpbnQgbGVuZ3RoKTsKIHZvaWQgbmF0aXZlX21hY2hpbmVfY3Jhc2hfc2h1dGRvd24oc3RydWN0IHB0X3JlZ3MgKnJlZ3MpOwogdm9pZCBuYXRpdmVfbWFjaGluZV9zaHV0ZG93bih2b2lkKTsKK3ZvaWQgbWFjaGluZV9yZWFsX3Jlc3RhcnQoY29uc3QgdW5zaWduZWQgY2hhciAqY29kZSwgaW50IGxlbmd0aCk7CiAKICNlbmRpZgkvKiBfQVNNX1JFQk9PVF9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvcmVxdWlyZWQtZmVhdHVyZXMuaCBiL2luY2x1ZGUvYXNtLXg4Ni9yZXF1aXJlZC1mZWF0dXJlcy5oCmluZGV4IDc0MDBkM2EuLmFkZWM4ODcgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9yZXF1aXJlZC1mZWF0dXJlcy5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9yZXF1aXJlZC1mZWF0dXJlcy5oCkBAIC0xOSw5ICsxOSwxMyBAQAogCiAjaWYgZGVmaW5lZChDT05GSUdfWDg2X1BBRSkgfHwgZGVmaW5lZChDT05GSUdfWDg2XzY0KQogIyBkZWZpbmUgTkVFRF9QQUUJKDE8PChYODZfRkVBVFVSRV9QQUUgJiAzMSkpCi0jIGRlZmluZSBORUVEX0NYOAkoMTw8KFg4Nl9GRUFUVVJFX0NYOCAmIDMxKSkKICNlbHNlCiAjIGRlZmluZSBORUVEX1BBRQkwCisjZW5kaWYKKworI2lmZGVmIENPTkZJR19YODZfQ01QWENIRzY0CisjIGRlZmluZSBORUVEX0NYOAkoMTw8KFg4Nl9GRUFUVVJFX0NYOCAmIDMxKSkKKyNlbHNlCiAjIGRlZmluZSBORUVEX0NYOAkwCiAjZW5kaWYKIApAQCAtMzgsNyArNDIsNyBAQAogI2VuZGlmCiAKICNpZmRlZiBDT05GSUdfWDg2XzY0Ci0jZGVmaW5lIE5FRURfUFNFCSgxPDwoWDg2X0ZFQVRVUkVfUFNFICYgMzEpKQorI2RlZmluZSBORUVEX1BTRQkwCiAjZGVmaW5lIE5FRURfTVNSCSgxPDwoWDg2X0ZFQVRVUkVfTVNSICYgMzEpKQogI2RlZmluZSBORUVEX1BHRQkoMTw8KFg4Nl9GRUFUVVJFX1BHRSAmIDMxKSkKICNkZWZpbmUgTkVFRF9GWFNSCSgxPDwoWDg2X0ZFQVRVUkVfRlhTUiAmIDMxKSkKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9yZXN1bWUtdHJhY2UuaCBiL2luY2x1ZGUvYXNtLXg4Ni9yZXN1bWUtdHJhY2UuaAppbmRleCAyNTU3NTE0Li44ZDlmMGI0IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvcmVzdW1lLXRyYWNlLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3Jlc3VtZS10cmFjZS5oCkBAIC02LDcgKzYsNyBAQAogI2RlZmluZSBUUkFDRV9SRVNVTUUodXNlcikJCQkJCVwKIGRvIHsJCQkJCQkJCVwKIAlpZiAocG1fdHJhY2VfZW5hYmxlZCkgewkJCQkJXAotCQl2b2lkICp0cmFjZWRhdGE7CQkJCVwKKwkJY29uc3Qgdm9pZCAqdHJhY2VkYXRhOwkJCQlcCiAJCWFzbSB2b2xhdGlsZShfQVNNX01PVl9VTCAiICQxZiwlMFxuIgkJXAogCQkJICAgICAiLnNlY3Rpb24gLnRyYWNlZGF0YSxcImFcIlxuIglcCiAJCQkgICAgICIxOlx0LndvcmQgJWMxXG5cdCIJCVwKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9zZWNjb21wXzMyLmggYi9pbmNsdWRlL2FzbS14ODYvc2VjY29tcF8zMi5oCmluZGV4IDE4ZGExOWUuLjM2ZTcxYzUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9zZWNjb21wXzMyLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3NlY2NvbXBfMzIuaApAQCAtMSw0ICsxLDUgQEAKICNpZm5kZWYgX0FTTV9TRUNDT01QX0gKKyNkZWZpbmUgX0FTTV9TRUNDT01QX0gKIAogI2luY2x1ZGUgPGxpbnV4L3RocmVhZF9pbmZvLmg+CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9zZWNjb21wXzY0LmggYi9pbmNsdWRlL2FzbS14ODYvc2VjY29tcF82NC5oCmluZGV4IDU1M2FmNjUuLjc2Y2ZlNjkgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9zZWNjb21wXzY0LmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3NlY2NvbXBfNjQuaApAQCAtMSw0ICsxLDUgQEAKICNpZm5kZWYgX0FTTV9TRUNDT01QX0gKKyNkZWZpbmUgX0FTTV9TRUNDT01QX0gKIAogI2luY2x1ZGUgPGxpbnV4L3RocmVhZF9pbmZvLmg+CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9zZWdtZW50LmggYi9pbmNsdWRlL2FzbS14ODYvc2VnbWVudC5oCmluZGV4IGVkNTEzMWQuLmRmYzg2MDEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9zZWdtZW50LmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3NlZ21lbnQuaApAQCAtNjEsMTggKzYxLDE0IEBACiAjZGVmaW5lIEdEVF9FTlRSWV9UTFNfTUFYIAkoR0RUX0VOVFJZX1RMU19NSU4gKyBHRFRfRU5UUllfVExTX0VOVFJJRVMgLSAxKQogCiAjZGVmaW5lIEdEVF9FTlRSWV9ERUZBVUxUX1VTRVJfQ1MJMTQKLSNkZWZpbmUgX19VU0VSX0NTIChHRFRfRU5UUllfREVGQVVMVF9VU0VSX0NTICogOCArIDMpCiAKICNkZWZpbmUgR0RUX0VOVFJZX0RFRkFVTFRfVVNFUl9EUwkxNQotI2RlZmluZSBfX1VTRVJfRFMgKEdEVF9FTlRSWV9ERUZBVUxUX1VTRVJfRFMgKiA4ICsgMykKIAogI2RlZmluZSBHRFRfRU5UUllfS0VSTkVMX0JBU0UJMTIKIAogI2RlZmluZSBHRFRfRU5UUllfS0VSTkVMX0NTCQkoR0RUX0VOVFJZX0tFUk5FTF9CQVNFICsgMCkKLSNkZWZpbmUgX19LRVJORUxfQ1MgKEdEVF9FTlRSWV9LRVJORUxfQ1MgKiA4KQogCiAjZGVmaW5lIEdEVF9FTlRSWV9LRVJORUxfRFMJCShHRFRfRU5UUllfS0VSTkVMX0JBU0UgKyAxKQotI2RlZmluZSBfX0tFUk5FTF9EUyAoR0RUX0VOVFJZX0tFUk5FTF9EUyAqIDgpCiAKICNkZWZpbmUgR0RUX0VOVFJZX1RTUwkJCShHRFRfRU5UUllfS0VSTkVMX0JBU0UgKyA0KQogI2RlZmluZSBHRFRfRU5UUllfTERUCQkJKEdEVF9FTlRSWV9LRVJORUxfQkFTRSArIDUpCkBAIC0xMzksMTAgKzEzNSwxMSBAQAogI2Vsc2UKICNpbmNsdWRlIDxhc20vY2FjaGUuaD4KIAotI2RlZmluZSBfX0tFUk5FTF9DUwkweDEwCi0jZGVmaW5lIF9fS0VSTkVMX0RTCTB4MTgKKyNkZWZpbmUgR0RUX0VOVFJZX0tFUk5FTDMyX0NTIDEKKyNkZWZpbmUgR0RUX0VOVFJZX0tFUk5FTF9DUyAyCisjZGVmaW5lIEdEVF9FTlRSWV9LRVJORUxfRFMgMwogCi0jZGVmaW5lIF9fS0VSTkVMMzJfQ1MgICAweDA4CisjZGVmaW5lIF9fS0VSTkVMMzJfQ1MgICAoR0RUX0VOVFJZX0tFUk5FTDMyX0NTICogOCkKIAogLyoKICAqIHdlIGNhbm5vdCB1c2UgdGhlIHNhbWUgY29kZSBzZWdtZW50IGRlc2NyaXB0b3IgZm9yIHVzZXIgYW5kIGtlcm5lbApAQCAtMTUwLDEwICsxNDcsMTAgQEAKICAqIFRoZSBzZWdtZW50IG9mZnNldCBuZWVkcyB0byBjb250YWluIGEgUlBMLiBHcnIuIC1BSwogICogR0RUIGxheW91dCB0byBnZXQgNjRiaXQgc3lzY2FsbCByaWdodCAoc3lzcmV0IGhhcmRjb2RlcyBnZHQgb2Zmc2V0cykKICAqLwotCi0jZGVmaW5lIF9fVVNFUjMyX0NTICAgMHgyMyAgIC8qIDQqOCszICovCi0jZGVmaW5lIF9fVVNFUl9EUyAgICAgMHgyYiAgIC8qIDUqOCszICovCi0jZGVmaW5lIF9fVVNFUl9DUyAgICAgMHgzMyAgIC8qIDYqOCszICovCisjZGVmaW5lIEdEVF9FTlRSWV9ERUZBVUxUX1VTRVIzMl9DUyA0CisjZGVmaW5lIEdEVF9FTlRSWV9ERUZBVUxUX1VTRVJfRFMgNQorI2RlZmluZSBHRFRfRU5UUllfREVGQVVMVF9VU0VSX0NTIDYKKyNkZWZpbmUgX19VU0VSMzJfQ1MgICAoR0RUX0VOVFJZX0RFRkFVTFRfVVNFUjMyX0NTICogOCArIDMpCiAjZGVmaW5lIF9fVVNFUjMyX0RTCV9fVVNFUl9EUwogCiAjZGVmaW5lIEdEVF9FTlRSWV9UU1MgOAkvKiBuZWVkcyB0d28gZW50cmllcyAqLwpAQCAtMTc1LDYgKzE3MiwxMCBAQAogCiAjZW5kaWYKIAorI2RlZmluZSBfX0tFUk5FTF9DUwkoR0RUX0VOVFJZX0tFUk5FTF9DUyAqIDgpCisjZGVmaW5lIF9fS0VSTkVMX0RTCShHRFRfRU5UUllfS0VSTkVMX0RTICogOCkKKyNkZWZpbmUgX19VU0VSX0RTICAgICAoR0RUX0VOVFJZX0RFRkFVTFRfVVNFUl9EUyogOCArIDMpCisjZGVmaW5lIF9fVVNFUl9DUyAgICAgKEdEVF9FTlRSWV9ERUZBVUxUX1VTRVJfQ1MqIDggKyAzKQogI2lmbmRlZiBDT05GSUdfUEFSQVZJUlQKICNkZWZpbmUgZ2V0X2tlcm5lbF9ycGwoKSAgMAogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvc2V0dXAuaCBiL2luY2x1ZGUvYXNtLXg4Ni9zZXR1cC5oCmluZGV4IGZhNjc2M2EuLjkwYWIyMjIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9zZXR1cC5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9zZXR1cC5oCkBAIC04LDcgKzgsMjUgQEAKIC8qIEludGVycnVwdCBjb250cm9sIGZvciB2U01Qb3dlcmVkIHg4Nl82NCBzeXN0ZW1zICovCiB2b2lkIHZzbXBfaW5pdCh2b2lkKTsKIAotY2hhciAqbWFjaGluZV9zcGVjaWZpY19tZW1vcnlfc2V0dXAodm9pZCk7CisjaWZkZWYgQ09ORklHX1g4Nl9WSVNXUworZXh0ZXJuIHZvaWQgdmlzd3NfZWFybHlfZGV0ZWN0KHZvaWQpOworZXh0ZXJuIGludCBpc192aXN3c19ib3godm9pZCk7CisjZWxzZQorc3RhdGljIGlubGluZSB2b2lkIHZpc3dzX2Vhcmx5X2RldGVjdCh2b2lkKSB7IH0KK3N0YXRpYyBpbmxpbmUgaW50IGlzX3Zpc3dzX2JveCh2b2lkKSB7IHJldHVybiAwOyB9CisjZW5kaWYKKworLyoKKyAqIEFueSBzZXR1cCBxdWlya3MgdG8gYmUgcGVyZm9ybWVkPworICovCitleHRlcm4gaW50ICgqYXJjaF90aW1lX2luaXRfcXVpcmspKHZvaWQpOworZXh0ZXJuIGludCAoKmFyY2hfcHJlX2ludHJfaW5pdF9xdWlyaykodm9pZCk7CitleHRlcm4gaW50ICgqYXJjaF9pbnRyX2luaXRfcXVpcmspKHZvaWQpOworZXh0ZXJuIGludCAoKmFyY2hfdHJhcF9pbml0X3F1aXJrKSh2b2lkKTsKK2V4dGVybiBjaGFyICogKCphcmNoX21lbW9yeV9zZXR1cF9xdWlyaykodm9pZCk7CitleHRlcm4gaW50ICgqbWFjaF9nZXRfc21wX2NvbmZpZ19xdWlyaykodW5zaWduZWQgaW50IGVhcmx5KTsKK2V4dGVybiBpbnQgKCptYWNoX2ZpbmRfc21wX2NvbmZpZ19xdWlyaykodW5zaWduZWQgaW50IHJlc2VydmUpOworCiAjaWZuZGVmIENPTkZJR19QQVJBVklSVAogI2RlZmluZSBwYXJhdmlydF9wb3N0X2FsbG9jYXRvcl9pbml0KCkJZG8ge30gd2hpbGUgKDApCiAjZW5kaWYKQEAgLTQzLDI2ICs2MSwyMyBAQAogICovCiBleHRlcm4gc3RydWN0IGJvb3RfcGFyYW1zIGJvb3RfcGFyYW1zOwogCi0jaWZkZWYgX19pMzg2X18KIC8qCiAgKiBEbyBOT1QgRVZFUiBsb29rIGF0IHRoZSBCSU9TIG1lbW9yeSBzaXplIGxvY2F0aW9uLgogICogSXQgZG9lcyBub3Qgd29yayBvbiBtYW55IG1hY2hpbmVzLgogICovCiAjZGVmaW5lIExPV01FTVNJWkUoKQkoMHg5ZjAwMCkKIAotc3RydWN0IGU4MjBlbnRyeTsKKyNpZmRlZiBfX2kzODZfXwogCi1jaGFyICogX19pbml0IG1hY2hpbmVfc3BlY2lmaWNfbWVtb3J5X3NldHVwKHZvaWQpOwotY2hhciAqbWVtb3J5X3NldHVwKHZvaWQpOwordm9pZCBfX2luaXQgaTM4Nl9zdGFydF9rZXJuZWwodm9pZCk7CitleHRlcm4gdm9pZCBwcm9iZV9yb21zKHZvaWQpOwogCi1pbnQgX19pbml0IGNvcHlfZTgyMF9tYXAoc3RydWN0IGU4MjBlbnRyeSAqYmlvc21hcCwgaW50IG5yX21hcCk7Ci1pbnQgX19pbml0IHNhbml0aXplX2U4MjBfbWFwKHN0cnVjdCBlODIwZW50cnkgKmJpb3NtYXAsIGNoYXIgKnBucl9tYXApOwotdm9pZCBfX2luaXQgYWRkX21lbW9yeV9yZWdpb24odW5zaWduZWQgbG9uZyBsb25nIHN0YXJ0LAotCQkJICAgICAgdW5zaWduZWQgbG9uZyBsb25nIHNpemUsIGludCB0eXBlKTsKLQorZXh0ZXJuIHVuc2lnbmVkIGxvbmcgaW5pdF9wZ190YWJsZXNfc3RhcnQ7CiBleHRlcm4gdW5zaWduZWQgbG9uZyBpbml0X3BnX3RhYmxlc19lbmQ7CiAKLQorI2Vsc2UKK3ZvaWQgX19pbml0IHg4Nl82NF9zdGFydF9rZXJuZWwoY2hhciAqcmVhbF9tb2RlKTsKK3ZvaWQgX19pbml0IHg4Nl82NF9zdGFydF9yZXNlcnZhdGlvbnMoY2hhciAqcmVhbF9tb2RlX2RhdGEpOwogCiAjZW5kaWYgLyogX19pMzg2X18gKi8KICNlbmRpZiAvKiBfU0VUVVAgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9zbXAuaCBiL2luY2x1ZGUvYXNtLXg4Ni9zbXAuaAppbmRleCAxZWJhYTVjLi5jMjc4NGIzIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvc21wLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3NtcC5oCkBAIC0yOSwyMSArMjksMTIgQEAKIGV4dGVybiB1bnNpZ25lZCBpbnQgbnVtX3Byb2Nlc3NvcnM7CiBleHRlcm4gY3B1bWFza190IGNwdV9pbml0aWFsaXplZDsKIAotI2lmZGVmIENPTkZJR19TTVAKLWV4dGVybiB1MTYgeDg2X2NwdV90b19hcGljaWRfaW5pdFtdOwotZXh0ZXJuIHUxNiB4ODZfYmlvc19jcHVfYXBpY2lkX2luaXRbXTsKLWV4dGVybiB2b2lkICp4ODZfY3B1X3RvX2FwaWNpZF9lYXJseV9wdHI7Ci1leHRlcm4gdm9pZCAqeDg2X2Jpb3NfY3B1X2FwaWNpZF9lYXJseV9wdHI7Ci0jZWxzZQotI2RlZmluZSB4ODZfY3B1X3RvX2FwaWNpZF9lYXJseV9wdHIgTlVMTAotI2RlZmluZSB4ODZfYmlvc19jcHVfYXBpY2lkX2Vhcmx5X3B0ciBOVUxMCi0jZW5kaWYKLQogREVDTEFSRV9QRVJfQ1BVKGNwdW1hc2tfdCwgY3B1X3NpYmxpbmdfbWFwKTsKIERFQ0xBUkVfUEVSX0NQVShjcHVtYXNrX3QsIGNwdV9jb3JlX21hcCk7CiBERUNMQVJFX1BFUl9DUFUodTE2LCBjcHVfbGxjX2lkKTsKLURFQ0xBUkVfUEVSX0NQVSh1MTYsIHg4Nl9jcHVfdG9fYXBpY2lkKTsKLURFQ0xBUkVfUEVSX0NQVSh1MTYsIHg4Nl9iaW9zX2NwdV9hcGljaWQpOworCitERUNMQVJFX0VBUkxZX1BFUl9DUFUodTE2LCB4ODZfY3B1X3RvX2FwaWNpZCk7CitERUNMQVJFX0VBUkxZX1BFUl9DUFUodTE2LCB4ODZfYmlvc19jcHVfYXBpY2lkKTsKIAogLyogU3RhdGljIHN0YXRlIGluIGhlYWQuUyB1c2VkIHRvIHNldCB1cCBhIENQVSAqLwogZXh0ZXJuIHN0cnVjdCB7CkBAIC01OSw5ICs1MCw5IEBACiAKIAl2b2lkICgqc21wX3NlbmRfc3RvcCkodm9pZCk7CiAJdm9pZCAoKnNtcF9zZW5kX3Jlc2NoZWR1bGUpKGludCBjcHUpOwotCWludCAoKnNtcF9jYWxsX2Z1bmN0aW9uX21hc2spKGNwdW1hc2tfdCBtYXNrLAotCQkJCSAgICAgIHZvaWQgKCpmdW5jKSh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywKLQkJCQkgICAgICBpbnQgd2FpdCk7CisKKwl2b2lkICgqc2VuZF9jYWxsX2Z1bmNfaXBpKShjcHVtYXNrX3QgbWFzayk7CisJdm9pZCAoKnNlbmRfY2FsbF9mdW5jX3NpbmdsZV9pcGkpKGludCBjcHUpOwogfTsKIAogLyogR2xvYmFscyBkdWUgdG8gcGFyYXZpcnQgKi8KQEAgLTEwMywyMyArOTQsMjYgQEAKIAlzbXBfb3BzLnNtcF9zZW5kX3Jlc2NoZWR1bGUoY3B1KTsKIH0KIAotc3RhdGljIGlubGluZSBpbnQgc21wX2NhbGxfZnVuY3Rpb25fbWFzayhjcHVtYXNrX3QgbWFzaywKLQkJCQkJIHZvaWQgKCpmdW5jKSAodm9pZCAqaW5mbyksIHZvaWQgKmluZm8sCi0JCQkJCSBpbnQgd2FpdCkKK3N0YXRpYyBpbmxpbmUgdm9pZCBhcmNoX3NlbmRfY2FsbF9mdW5jdGlvbl9zaW5nbGVfaXBpKGludCBjcHUpCiB7Ci0JcmV0dXJuIHNtcF9vcHMuc21wX2NhbGxfZnVuY3Rpb25fbWFzayhtYXNrLCBmdW5jLCBpbmZvLCB3YWl0KTsKKwlzbXBfb3BzLnNlbmRfY2FsbF9mdW5jX3NpbmdsZV9pcGkoY3B1KTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGFyY2hfc2VuZF9jYWxsX2Z1bmN0aW9uX2lwaShjcHVtYXNrX3QgbWFzaykKK3sKKwlzbXBfb3BzLnNlbmRfY2FsbF9mdW5jX2lwaShtYXNrKTsKIH0KIAogdm9pZCBuYXRpdmVfc21wX3ByZXBhcmVfYm9vdF9jcHUodm9pZCk7CiB2b2lkIG5hdGl2ZV9zbXBfcHJlcGFyZV9jcHVzKHVuc2lnbmVkIGludCBtYXhfY3B1cyk7CiB2b2lkIG5hdGl2ZV9zbXBfY3B1c19kb25lKHVuc2lnbmVkIGludCBtYXhfY3B1cyk7CiBpbnQgbmF0aXZlX2NwdV91cCh1bnNpZ25lZCBpbnQgY3B1bnVtKTsKK3ZvaWQgbmF0aXZlX3NlbmRfY2FsbF9mdW5jX2lwaShjcHVtYXNrX3QgbWFzayk7Cit2b2lkIG5hdGl2ZV9zZW5kX2NhbGxfZnVuY19zaW5nbGVfaXBpKGludCBjcHUpOwogCiBleHRlcm4gaW50IF9fY3B1X2Rpc2FibGUodm9pZCk7CiBleHRlcm4gdm9pZCBfX2NwdV9kaWUodW5zaWduZWQgaW50IGNwdSk7CiAKLWV4dGVybiB2b2lkIHByZWZpbGxfcG9zc2libGVfbWFwKHZvaWQpOwotCiB2b2lkIHNtcF9zdG9yZV9jcHVfaW5mbyhpbnQgaWQpOwogI2RlZmluZSBjcHVfcGh5c2ljYWxfaWQoY3B1KQlwZXJfY3B1KHg4Nl9jcHVfdG9fYXBpY2lkLCBjcHUpCiAKQEAgLTEzMCw2ICsxMjQsMTQgQEAKIH0KICNlbmRpZiAvKiBDT05GSUdfU01QICovCiAKKyNpZiBkZWZpbmVkKENPTkZJR19TTVApICYmIGRlZmluZWQoQ09ORklHX0hPVFBMVUdfQ1BVKQorZXh0ZXJuIHZvaWQgcHJlZmlsbF9wb3NzaWJsZV9tYXAodm9pZCk7CisjZWxzZQorc3RhdGljIGlubGluZSB2b2lkIHByZWZpbGxfcG9zc2libGVfbWFwKHZvaWQpCit7Cit9CisjZW5kaWYKKwogZXh0ZXJuIHVuc2lnbmVkIGRpc2FibGVkX2NwdXMgX19jcHVpbml0ZGF0YTsKIAogI2lmZGVmIENPTkZJR19YODZfMzJfU01QCkBAIC0xOTcsMTIgKzE5OSw4IEBACiAjZW5kaWYgLyogQ09ORklHX1g4Nl9MT0NBTF9BUElDICovCiAKICNpZmRlZiBDT05GSUdfSE9UUExVR19DUFUKLWV4dGVybiB2b2lkIGNwdV9leGl0X2NsZWFyKHZvaWQpOwogZXh0ZXJuIHZvaWQgY3B1X3VuaW5pdCh2b2lkKTsKICNlbmRpZgogCi1leHRlcm4gdm9pZCBzbXBfYWxsb2NfbWVtb3J5KHZvaWQpOwotZXh0ZXJuIHZvaWQgbG9ja19pcGlfY2FsbF9sb2NrKHZvaWQpOwotZXh0ZXJuIHZvaWQgdW5sb2NrX2lwaV9jYWxsX2xvY2sodm9pZCk7CiAjZW5kaWYgLyogX19BU1NFTUJMWV9fICovCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9zcmF0LmggYi9pbmNsdWRlL2FzbS14ODYvc3JhdC5oCmluZGV4IGY0YmJhMTMuLjc3NGM5MTkgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9zcmF0LmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3NyYXQuaApAQCAtMjcsMTEgKzI3LDEzIEBACiAjaWZuZGVmIF9BU01fU1JBVF9IXwogI2RlZmluZSBfQVNNX1NSQVRfSF8KIAotI2lmbmRlZiBDT05GSUdfQUNQSV9TUkFUCi0jZXJyb3IgQ09ORklHX0FDUElfU1JBVCBub3QgZGVmaW5lZCwgYW5kIHNyYXQuaCBoZWFkZXIgaGFzIGJlZW4gaW5jbHVkZWQKLSNlbmRpZgotCisjaWZkZWYgQ09ORklHX0FDUElfTlVNQQogZXh0ZXJuIGludCBnZXRfbWVtY2ZnX2Zyb21fc3JhdCh2b2lkKTsKLWV4dGVybiB1bnNpZ25lZCBsb25nICpnZXRfemhvbGVzX3NpemUoaW50KTsKKyNlbHNlCitzdGF0aWMgaW5saW5lIGludCBnZXRfbWVtY2ZnX2Zyb21fc3JhdCh2b2lkKQoreworCXJldHVybiAwOworfQorI2VuZGlmCiAKICNlbmRpZiAvKiBfQVNNX1NSQVRfSF8gKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9zdHJpbmdfMzIuaCBiL2luY2x1ZGUvYXNtLXg4Ni9zdHJpbmdfMzIuaAppbmRleCBiNDkzNjlhLi4xOTM1NzhjIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvc3RyaW5nXzMyLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3N0cmluZ18zMi5oCkBAIC0yOSw4MSArMjksMTE2IEBACiAjZGVmaW5lIF9fSEFWRV9BUkNIX1NUUkxFTgogZXh0ZXJuIHNpemVfdCBzdHJsZW4oY29uc3QgY2hhciAqcyk7CiAKLXN0YXRpYyBfX2Fsd2F5c19pbmxpbmUgdm9pZCAqIF9fbWVtY3B5KHZvaWQgKiB0bywgY29uc3Qgdm9pZCAqIGZyb20sIHNpemVfdCBuKQorc3RhdGljIF9fYWx3YXlzX2lubGluZSB2b2lkICpfX21lbWNweSh2b2lkICp0bywgY29uc3Qgdm9pZCAqZnJvbSwgc2l6ZV90IG4pCiB7Ci1pbnQgZDAsIGQxLCBkMjsKLV9fYXNtX18gX192b2xhdGlsZV9fKAotCSJyZXAgOyBtb3ZzbFxuXHQiCi0JIm1vdmwgJTQsJSVlY3hcblx0IgotCSJhbmRsICQzLCUlZWN4XG5cdCIKLQkianogMWZcblx0IgotCSJyZXAgOyBtb3ZzYlxuXHQiCi0JIjE6IgotCTogIj0mYyIgKGQwKSwgIj0mRCIgKGQxKSwgIj0mUyIgKGQyKQotCTogIjAiIChuLzQpLCAiZyIgKG4pLCAiMSIgKChsb25nKSB0byksICIyIiAoKGxvbmcpIGZyb20pCi0JOiAibWVtb3J5Iik7Ci1yZXR1cm4gKHRvKTsKKwlpbnQgZDAsIGQxLCBkMjsKKwlhc20gdm9sYXRpbGUoInJlcCA7IG1vdnNsXG5cdCIKKwkJICAgICAibW92bCAlNCwlJWVjeFxuXHQiCisJCSAgICAgImFuZGwgJDMsJSVlY3hcblx0IgorCQkgICAgICJqeiAxZlxuXHQiCisJCSAgICAgInJlcCA7IG1vdnNiXG5cdCIKKwkJICAgICAiMToiCisJCSAgICAgOiAiPSZjIiAoZDApLCAiPSZEIiAoZDEpLCAiPSZTIiAoZDIpCisJCSAgICAgOiAiMCIgKG4gLyA0KSwgImciIChuKSwgIjEiICgobG9uZyl0byksICIyIiAoKGxvbmcpZnJvbSkKKwkJICAgICA6ICJtZW1vcnkiKTsKKwlyZXR1cm4gdG87CiB9CiAKIC8qCiAgKiBUaGlzIGxvb2tzIHVnbHksIGJ1dCB0aGUgY29tcGlsZXIgY2FuIG9wdGltaXplIGl0IHRvdGFsbHksCiAgKiBhcyB0aGUgY291bnQgaXMgY29uc3RhbnQuCiAgKi8KLXN0YXRpYyBfX2Fsd2F5c19pbmxpbmUgdm9pZCAqIF9fY29uc3RhbnRfbWVtY3B5KHZvaWQgKiB0bywgY29uc3Qgdm9pZCAqIGZyb20sIHNpemVfdCBuKQorc3RhdGljIF9fYWx3YXlzX2lubGluZSB2b2lkICpfX2NvbnN0YW50X21lbWNweSh2b2lkICp0bywgY29uc3Qgdm9pZCAqZnJvbSwKKwkJCQkJICAgICAgIHNpemVfdCBuKQogewogCWxvbmcgZXNpLCBlZGk7Ci0JaWYgKCFuKSByZXR1cm4gdG87Ci0jaWYgMQkvKiB3YW50IHRvIGRvIHNtYWxsIGNvcGllcyB3aXRoIG5vbi1zdHJpbmcgb3BzPyAqLworCWlmICghbikKKwkJcmV0dXJuIHRvOworCiAJc3dpdGNoIChuKSB7Ci0JCWNhc2UgMTogKihjaGFyKil0byA9ICooY2hhciopZnJvbTsgcmV0dXJuIHRvOwotCQljYXNlIDI6ICooc2hvcnQqKXRvID0gKihzaG9ydCopZnJvbTsgcmV0dXJuIHRvOwotCQljYXNlIDQ6ICooaW50Kil0byA9ICooaW50Kilmcm9tOyByZXR1cm4gdG87Ci0jaWYgMQkvKiBpbmNsdWRpbmcgdGhvc2UgZG9hYmxlIHdpdGggdHdvIG1vdmVzPyAqLwotCQljYXNlIDM6ICooc2hvcnQqKXRvID0gKihzaG9ydCopZnJvbTsKLQkJCSooKGNoYXIqKXRvKzIpID0gKigoY2hhciopZnJvbSsyKTsgcmV0dXJuIHRvOwotCQljYXNlIDU6ICooaW50Kil0byA9ICooaW50Kilmcm9tOwotCQkJKigoY2hhciopdG8rNCkgPSAqKChjaGFyKilmcm9tKzQpOyByZXR1cm4gdG87Ci0JCWNhc2UgNjogKihpbnQqKXRvID0gKihpbnQqKWZyb207Ci0JCQkqKChzaG9ydCopdG8rMikgPSAqKChzaG9ydCopZnJvbSsyKTsgcmV0dXJuIHRvOwotCQljYXNlIDg6ICooaW50Kil0byA9ICooaW50Kilmcm9tOwotCQkJKigoaW50Kil0bysxKSA9ICooKGludCopZnJvbSsxKTsgcmV0dXJuIHRvOwotI2VuZGlmCisJY2FzZSAxOgorCQkqKGNoYXIgKil0byA9ICooY2hhciAqKWZyb207CisJCXJldHVybiB0bzsKKwljYXNlIDI6CisJCSooc2hvcnQgKil0byA9ICooc2hvcnQgKilmcm9tOworCQlyZXR1cm4gdG87CisJY2FzZSA0OgorCQkqKGludCAqKXRvID0gKihpbnQgKilmcm9tOworCQlyZXR1cm4gdG87CisKKwljYXNlIDM6CisJCSooc2hvcnQgKil0byA9ICooc2hvcnQgKilmcm9tOworCQkqKChjaGFyICopdG8gKyAyKSA9ICooKGNoYXIgKilmcm9tICsgMik7CisJCXJldHVybiB0bzsKKwljYXNlIDU6CisJCSooaW50ICopdG8gPSAqKGludCAqKWZyb207CisJCSooKGNoYXIgKil0byArIDQpID0gKigoY2hhciAqKWZyb20gKyA0KTsKKwkJcmV0dXJuIHRvOworCWNhc2UgNjoKKwkJKihpbnQgKil0byA9ICooaW50ICopZnJvbTsKKwkJKigoc2hvcnQgKil0byArIDIpID0gKigoc2hvcnQgKilmcm9tICsgMik7CisJCXJldHVybiB0bzsKKwljYXNlIDg6CisJCSooaW50ICopdG8gPSAqKGludCAqKWZyb207CisJCSooKGludCAqKXRvICsgMSkgPSAqKChpbnQgKilmcm9tICsgMSk7CisJCXJldHVybiB0bzsKIAl9Ci0jZW5kaWYKLQllc2kgPSAobG9uZykgZnJvbTsKLQllZGkgPSAobG9uZykgdG87Ci0JaWYgKG4gPj0gNSo0KSB7CisKKwllc2kgPSAobG9uZylmcm9tOworCWVkaSA9IChsb25nKXRvOworCWlmIChuID49IDUgKiA0KSB7CiAJCS8qIGxhcmdlIGJsb2NrOiB1c2UgcmVwIHByZWZpeCAqLwogCQlpbnQgZWN4OwotCQlfX2FzbV9fIF9fdm9sYXRpbGVfXygKLQkJCSJyZXAgOyBtb3ZzbCIKLQkJCTogIj0mYyIgKGVjeCksICI9JkQiIChlZGkpLCAiPSZTIiAoZXNpKQotCQkJOiAiMCIgKG4vNCksICIxIiAoZWRpKSwiMiIgKGVzaSkKLQkJCTogIm1lbW9yeSIKKwkJYXNtIHZvbGF0aWxlKCJyZXAgOyBtb3ZzbCIKKwkJCSAgICAgOiAiPSZjIiAoZWN4KSwgIj0mRCIgKGVkaSksICI9JlMiIChlc2kpCisJCQkgICAgIDogIjAiIChuIC8gNCksICIxIiAoZWRpKSwgIjIiIChlc2kpCisJCQkgICAgIDogIm1lbW9yeSIKIAkJKTsKIAl9IGVsc2UgewogCQkvKiBzbWFsbCBibG9jazogZG9uJ3QgY2xvYmJlciBlY3ggKyBzbWFsbGVyIGNvZGUgKi8KLQkJaWYgKG4gPj0gNCo0KSBfX2FzbV9fIF9fdm9sYXRpbGVfXygibW92c2wiCi0JCQk6Ij0mRCIoZWRpKSwiPSZTIihlc2kpOiIwIihlZGkpLCIxIihlc2kpOiJtZW1vcnkiKTsKLQkJaWYgKG4gPj0gMyo0KSBfX2FzbV9fIF9fdm9sYXRpbGVfXygibW92c2wiCi0JCQk6Ij0mRCIoZWRpKSwiPSZTIihlc2kpOiIwIihlZGkpLCIxIihlc2kpOiJtZW1vcnkiKTsKLQkJaWYgKG4gPj0gMio0KSBfX2FzbV9fIF9fdm9sYXRpbGVfXygibW92c2wiCi0JCQk6Ij0mRCIoZWRpKSwiPSZTIihlc2kpOiIwIihlZGkpLCIxIihlc2kpOiJtZW1vcnkiKTsKLQkJaWYgKG4gPj0gMSo0KSBfX2FzbV9fIF9fdm9sYXRpbGVfXygibW92c2wiCi0JCQk6Ij0mRCIoZWRpKSwiPSZTIihlc2kpOiIwIihlZGkpLCIxIihlc2kpOiJtZW1vcnkiKTsKKwkJaWYgKG4gPj0gNCAqIDQpCisJCQlhc20gdm9sYXRpbGUoIm1vdnNsIgorCQkJCSAgICAgOiAiPSZEIihlZGkpLCAiPSZTIihlc2kpCisJCQkJICAgICA6ICIwIihlZGkpLCAiMSIoZXNpKQorCQkJCSAgICAgOiAibWVtb3J5Iik7CisJCWlmIChuID49IDMgKiA0KQorCQkJYXNtIHZvbGF0aWxlKCJtb3ZzbCIKKwkJCQkgICAgIDogIj0mRCIoZWRpKSwgIj0mUyIoZXNpKQorCQkJCSAgICAgOiAiMCIoZWRpKSwgIjEiKGVzaSkKKwkJCQkgICAgIDogIm1lbW9yeSIpOworCQlpZiAobiA+PSAyICogNCkKKwkJCWFzbSB2b2xhdGlsZSgibW92c2wiCisJCQkJICAgICA6ICI9JkQiKGVkaSksICI9JlMiKGVzaSkKKwkJCQkgICAgIDogIjAiKGVkaSksICIxIihlc2kpCisJCQkJICAgICA6ICJtZW1vcnkiKTsKKwkJaWYgKG4gPj0gMSAqIDQpCisJCQlhc20gdm9sYXRpbGUoIm1vdnNsIgorCQkJCSAgICAgOiAiPSZEIihlZGkpLCAiPSZTIihlc2kpCisJCQkJICAgICA6ICIwIihlZGkpLCAiMSIoZXNpKQorCQkJCSAgICAgOiAibWVtb3J5Iik7CiAJfQogCXN3aXRjaCAobiAlIDQpIHsKIAkJLyogdGFpbCAqLwotCQljYXNlIDA6IHJldHVybiB0bzsKLQkJY2FzZSAxOiBfX2FzbV9fIF9fdm9sYXRpbGVfXygibW92c2IiCi0JCQk6Ij0mRCIoZWRpKSwiPSZTIihlc2kpOiIwIihlZGkpLCIxIihlc2kpOiJtZW1vcnkiKTsKLQkJCXJldHVybiB0bzsKLQkJY2FzZSAyOiBfX2FzbV9fIF9fdm9sYXRpbGVfXygibW92c3ciCi0JCQk6Ij0mRCIoZWRpKSwiPSZTIihlc2kpOiIwIihlZGkpLCIxIihlc2kpOiJtZW1vcnkiKTsKLQkJCXJldHVybiB0bzsKLQkJZGVmYXVsdDogX19hc21fXyBfX3ZvbGF0aWxlX18oIm1vdnN3XG5cdG1vdnNiIgotCQkJOiI9JkQiKGVkaSksIj0mUyIoZXNpKToiMCIoZWRpKSwiMSIoZXNpKToibWVtb3J5Iik7Ci0JCQlyZXR1cm4gdG87CisJY2FzZSAwOgorCQlyZXR1cm4gdG87CisJY2FzZSAxOgorCQlhc20gdm9sYXRpbGUoIm1vdnNiIgorCQkJICAgICA6ICI9JkQiKGVkaSksICI9JlMiKGVzaSkKKwkJCSAgICAgOiAiMCIoZWRpKSwgIjEiKGVzaSkKKwkJCSAgICAgOiAibWVtb3J5Iik7CisJCXJldHVybiB0bzsKKwljYXNlIDI6CisJCWFzbSB2b2xhdGlsZSgibW92c3ciCisJCQkgICAgIDogIj0mRCIoZWRpKSwgIj0mUyIoZXNpKQorCQkJICAgICA6ICIwIihlZGkpLCAiMSIoZXNpKQorCQkJICAgICA6ICJtZW1vcnkiKTsKKwkJcmV0dXJuIHRvOworCWRlZmF1bHQ6CisJCWFzbSB2b2xhdGlsZSgibW92c3dcblx0bW92c2IiCisJCQkgICAgIDogIj0mRCIoZWRpKSwgIj0mUyIoZXNpKQorCQkJICAgICA6ICIwIihlZGkpLCAiMSIoZXNpKQorCQkJICAgICA6ICJtZW1vcnkiKTsKKwkJcmV0dXJuIHRvOwogCX0KIH0KIApAQCAtMTE3LDg3ICsxNTIsODYgQEAKICAqCVRoaXMgQ1BVIGZhdm91cnMgM0ROb3cgc3Ryb25nbHkgKGVnIEFNRCBBdGhsb24pCiAgKi8KIAotc3RhdGljIGlubGluZSB2b2lkICogX19jb25zdGFudF9tZW1jcHkzZCh2b2lkICogdG8sIGNvbnN0IHZvaWQgKiBmcm9tLCBzaXplX3QgbGVuKQorc3RhdGljIGlubGluZSB2b2lkICpfX2NvbnN0YW50X21lbWNweTNkKHZvaWQgKnRvLCBjb25zdCB2b2lkICpmcm9tLCBzaXplX3QgbGVuKQogewogCWlmIChsZW4gPCA1MTIpCiAJCXJldHVybiBfX2NvbnN0YW50X21lbWNweSh0bywgZnJvbSwgbGVuKTsKIAlyZXR1cm4gX21teF9tZW1jcHkodG8sIGZyb20sIGxlbik7CiB9CiAKLXN0YXRpYyBfX2lubGluZV9fIHZvaWQgKl9fbWVtY3B5M2Qodm9pZCAqdG8sIGNvbnN0IHZvaWQgKmZyb20sIHNpemVfdCBsZW4pCitzdGF0aWMgaW5saW5lIHZvaWQgKl9fbWVtY3B5M2Qodm9pZCAqdG8sIGNvbnN0IHZvaWQgKmZyb20sIHNpemVfdCBsZW4pCiB7CiAJaWYgKGxlbiA8IDUxMikKIAkJcmV0dXJuIF9fbWVtY3B5KHRvLCBmcm9tLCBsZW4pOwogCXJldHVybiBfbW14X21lbWNweSh0bywgZnJvbSwgbGVuKTsKIH0KIAotI2RlZmluZSBtZW1jcHkodCwgZiwgbikgXAotKF9fYnVpbHRpbl9jb25zdGFudF9wKG4pID8gXAotIF9fY29uc3RhbnRfbWVtY3B5M2QoKHQpLChmKSwobikpIDogXAotIF9fbWVtY3B5M2QoKHQpLChmKSwobikpKQorI2RlZmluZSBtZW1jcHkodCwgZiwgbikJCQkJXAorCShfX2J1aWx0aW5fY29uc3RhbnRfcCgobikpCQlcCisJID8gX19jb25zdGFudF9tZW1jcHkzZCgodCksIChmKSwgKG4pKQlcCisJIDogX19tZW1jcHkzZCgodCksIChmKSwgKG4pKSkKIAogI2Vsc2UKIAogLyoKICAqCU5vIDNEIE5vdyEKICAqLwotIAotI2RlZmluZSBtZW1jcHkodCwgZiwgbikgXAotKF9fYnVpbHRpbl9jb25zdGFudF9wKG4pID8gXAotIF9fY29uc3RhbnRfbWVtY3B5KCh0KSwoZiksKG4pKSA6IFwKLSBfX21lbWNweSgodCksKGYpLChuKSkpCisKKyNkZWZpbmUgbWVtY3B5KHQsIGYsIG4pCQkJCVwKKwkoX19idWlsdGluX2NvbnN0YW50X3AoKG4pKQkJXAorCSA/IF9fY29uc3RhbnRfbWVtY3B5KCh0KSwgKGYpLCAobikpCVwKKwkgOiBfX21lbWNweSgodCksIChmKSwgKG4pKSkKIAogI2VuZGlmCiAKICNkZWZpbmUgX19IQVZFX0FSQ0hfTUVNTU9WRQotdm9pZCAqbWVtbW92ZSh2b2lkICogZGVzdCxjb25zdCB2b2lkICogc3JjLCBzaXplX3Qgbik7Cit2b2lkICptZW1tb3ZlKHZvaWQgKmRlc3QsIGNvbnN0IHZvaWQgKnNyYywgc2l6ZV90IG4pOwogCiAjZGVmaW5lIG1lbWNtcCBfX2J1aWx0aW5fbWVtY21wCiAKICNkZWZpbmUgX19IQVZFX0FSQ0hfTUVNQ0hSCi1leHRlcm4gdm9pZCAqbWVtY2hyKGNvbnN0IHZvaWQgKiBjcyxpbnQgYyxzaXplX3QgY291bnQpOworZXh0ZXJuIHZvaWQgKm1lbWNocihjb25zdCB2b2lkICpjcywgaW50IGMsIHNpemVfdCBjb3VudCk7CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCAqIF9fbWVtc2V0X2dlbmVyaWModm9pZCAqIHMsIGNoYXIgYyxzaXplX3QgY291bnQpCitzdGF0aWMgaW5saW5lIHZvaWQgKl9fbWVtc2V0X2dlbmVyaWModm9pZCAqcywgY2hhciBjLCBzaXplX3QgY291bnQpCiB7Ci1pbnQgZDAsIGQxOwotX19hc21fXyBfX3ZvbGF0aWxlX18oCi0JInJlcFxuXHQiCi0JInN0b3NiIgotCTogIj0mYyIgKGQwKSwgIj0mRCIgKGQxKQotCToiYSIgKGMpLCIxIiAocyksIjAiIChjb3VudCkKLQk6Im1lbW9yeSIpOwotcmV0dXJuIHM7CisJaW50IGQwLCBkMTsKKwlhc20gdm9sYXRpbGUoInJlcFxuXHQiCisJCSAgICAgInN0b3NiIgorCQkgICAgIDogIj0mYyIgKGQwKSwgIj0mRCIgKGQxKQorCQkgICAgIDogImEiIChjKSwgIjEiIChzKSwgIjAiIChjb3VudCkKKwkJICAgICA6ICJtZW1vcnkiKTsKKwlyZXR1cm4gczsKIH0KIAogLyogd2UgbWlnaHQgd2FudCB0byB3cml0ZSBvcHRpbWl6ZWQgdmVyc2lvbnMgb2YgdGhlc2UgbGF0ZXIgKi8KLSNkZWZpbmUgX19jb25zdGFudF9jb3VudF9tZW1zZXQocyxjLGNvdW50KSBfX21lbXNldF9nZW5lcmljKChzKSwoYyksKGNvdW50KSkKKyNkZWZpbmUgX19jb25zdGFudF9jb3VudF9tZW1zZXQocywgYywgY291bnQpIF9fbWVtc2V0X2dlbmVyaWMoKHMpLCAoYyksIChjb3VudCkpCiAKIC8qCi0gKiBtZW1zZXQoeCwwLHkpIGlzIGEgcmVhc29uYWJseSBjb21tb24gdGhpbmcgdG8gZG8sIHNvIHdlIHdhbnQgdG8gZmlsbAorICogbWVtc2V0KHgsIDAsIHkpIGlzIGEgcmVhc29uYWJseSBjb21tb24gdGhpbmcgdG8gZG8sIHNvIHdlIHdhbnQgdG8gZmlsbAogICogdGhpbmdzIDMyIGJpdHMgYXQgYSB0aW1lIGV2ZW4gd2hlbiB3ZSBkb24ndCBrbm93IHRoZSBzaXplIG9mIHRoZQogICogYXJlYSBhdCBjb21waWxlLXRpbWUuLgogICovCi1zdGF0aWMgX19hbHdheXNfaW5saW5lIHZvaWQgKiBfX2NvbnN0YW50X2NfbWVtc2V0KHZvaWQgKiBzLCB1bnNpZ25lZCBsb25nIGMsIHNpemVfdCBjb3VudCkKK3N0YXRpYyBfX2Fsd2F5c19pbmxpbmUKK3ZvaWQgKl9fY29uc3RhbnRfY19tZW1zZXQodm9pZCAqcywgdW5zaWduZWQgbG9uZyBjLCBzaXplX3QgY291bnQpCiB7Ci1pbnQgZDAsIGQxOwotX19hc21fXyBfX3ZvbGF0aWxlX18oCi0JInJlcCA7IHN0b3NsXG5cdCIKLQkidGVzdGIgJDIsJWIzXG5cdCIKLQkiamUgMWZcblx0IgotCSJzdG9zd1xuIgotCSIxOlx0dGVzdGIgJDEsJWIzXG5cdCIKLQkiamUgMmZcblx0IgotCSJzdG9zYlxuIgotCSIyOiIKLQk6Ij0mYyIgKGQwKSwgIj0mRCIgKGQxKQotCToiYSIgKGMpLCAicSIgKGNvdW50KSwgIjAiIChjb3VudC80KSwgIjEiICgobG9uZykgcykKLQk6Im1lbW9yeSIpOwotcmV0dXJuIChzKTsJCisJaW50IGQwLCBkMTsKKwlhc20gdm9sYXRpbGUoInJlcCA7IHN0b3NsXG5cdCIKKwkJICAgICAidGVzdGIgJDIsJWIzXG5cdCIKKwkJICAgICAiamUgMWZcblx0IgorCQkgICAgICJzdG9zd1xuIgorCQkgICAgICIxOlx0dGVzdGIgJDEsJWIzXG5cdCIKKwkJICAgICAiamUgMmZcblx0IgorCQkgICAgICJzdG9zYlxuIgorCQkgICAgICIyOiIKKwkJICAgICA6ICI9JmMiIChkMCksICI9JkQiIChkMSkKKwkJICAgICA6ICJhIiAoYyksICJxIiAoY291bnQpLCAiMCIgKGNvdW50LzQpLCAiMSIgKChsb25nKXMpCisJCSAgICAgOiAibWVtb3J5Iik7CisJcmV0dXJuIHM7CiB9CiAKIC8qIEFkZGVkIGJ5IEdlcnRqYW4gdmFuIFdpbmdlcmRlIHRvIG1ha2UgbWluaXggYW5kIHN5c3YgbW9kdWxlIHdvcmsgKi8KICNkZWZpbmUgX19IQVZFX0FSQ0hfU1RSTkxFTgotZXh0ZXJuIHNpemVfdCBzdHJubGVuKGNvbnN0IGNoYXIgKiBzLCBzaXplX3QgY291bnQpOworZXh0ZXJuIHNpemVfdCBzdHJubGVuKGNvbnN0IGNoYXIgKnMsIHNpemVfdCBjb3VudCk7CiAvKiBlbmQgb2YgYWRkaXRpb25hbCBzdHVmZiAqLwogCiAjZGVmaW5lIF9fSEFWRV9BUkNIX1NUUlNUUgpAQCAtMjA3LDY2ICsyNDEsODUgQEAKICAqIFRoaXMgbG9va3MgaG9ycmlibHkgdWdseSwgYnV0IHRoZSBjb21waWxlciBjYW4gb3B0aW1pemUgaXQgdG90YWxseSwKICAqIGFzIHdlIGJ5IG5vdyBrbm93IHRoYXQgYm90aCBwYXR0ZXJuIGFuZCBjb3VudCBpcyBjb25zdGFudC4uCiAgKi8KLXN0YXRpYyBfX2Fsd2F5c19pbmxpbmUgdm9pZCAqIF9fY29uc3RhbnRfY19hbmRfY291bnRfbWVtc2V0KHZvaWQgKiBzLCB1bnNpZ25lZCBsb25nIHBhdHRlcm4sIHNpemVfdCBjb3VudCkKK3N0YXRpYyBfX2Fsd2F5c19pbmxpbmUKK3ZvaWQgKl9fY29uc3RhbnRfY19hbmRfY291bnRfbWVtc2V0KHZvaWQgKnMsIHVuc2lnbmVkIGxvbmcgcGF0dGVybiwKKwkJCQkgICAgc2l6ZV90IGNvdW50KQogewogCXN3aXRjaCAoY291bnQpIHsKKwljYXNlIDA6CisJCXJldHVybiBzOworCWNhc2UgMToKKwkJKih1bnNpZ25lZCBjaGFyICopcyA9IHBhdHRlcm4gJiAweGZmOworCQlyZXR1cm4gczsKKwljYXNlIDI6CisJCSoodW5zaWduZWQgc2hvcnQgKilzID0gcGF0dGVybiAmIDB4ZmZmZjsKKwkJcmV0dXJuIHM7CisJY2FzZSAzOgorCQkqKHVuc2lnbmVkIHNob3J0ICopcyA9IHBhdHRlcm4gJiAweGZmZmY7CisJCSooKHVuc2lnbmVkIGNoYXIgKilzICsgMikgPSBwYXR0ZXJuICYgMHhmZjsKKwkJcmV0dXJuIHM7CisJY2FzZSA0OgorCQkqKHVuc2lnbmVkIGxvbmcgKilzID0gcGF0dGVybjsKKwkJcmV0dXJuIHM7CisJfQorCisjZGVmaW5lIENPTU1PTih4KQkJCQkJCQlcCisJYXNtIHZvbGF0aWxlKCJyZXAgOyBzdG9zbCIJCQkJCVwKKwkJICAgICB4CQkJCQkJCVwKKwkJICAgICA6ICI9JmMiIChkMCksICI9JkQiIChkMSkJCQkJXAorCQkgICAgIDogImEiIChlYXgpLCAiMCIgKGNvdW50LzQpLCAiMSIgKChsb25nKXMpCVwKKwkJICAgICA6ICJtZW1vcnkiKQorCisJeworCQlpbnQgZDAsIGQxOworI2lmIF9fR05VQ19fID09IDQgJiYgX19HTlVDX01JTk9SX18gPT0gMAorCQkvKiBXb3JrYXJvdW5kIGZvciBicm9rZW4gZ2NjIDQuMCAqLworCQlyZWdpc3RlciB1bnNpZ25lZCBsb25nIGVheCBhc20oIiVlYXgiKSA9IHBhdHRlcm47CisjZWxzZQorCQl1bnNpZ25lZCBsb25nIGVheCA9IHBhdHRlcm47CisjZW5kaWYKKworCQlzd2l0Y2ggKGNvdW50ICUgNCkgewogCQljYXNlIDA6CisJCQlDT01NT04oIiIpOwogCQkJcmV0dXJuIHM7CiAJCWNhc2UgMToKLQkJCSoodW5zaWduZWQgY2hhciAqKXMgPSBwYXR0ZXJuICYgMHhmZjsKKwkJCUNPTU1PTigiXG5cdHN0b3NiIik7CiAJCQlyZXR1cm4gczsKIAkJY2FzZSAyOgotCQkJKih1bnNpZ25lZCBzaG9ydCAqKXMgPSBwYXR0ZXJuICYgMHhmZmZmOworCQkJQ09NTU9OKCJcblx0c3Rvc3ciKTsKIAkJCXJldHVybiBzOwotCQljYXNlIDM6Ci0JCQkqKHVuc2lnbmVkIHNob3J0ICopcyA9IHBhdHRlcm4gJiAweGZmZmY7Ci0JCQkqKDIrKHVuc2lnbmVkIGNoYXIgKilzKSA9IHBhdHRlcm4gJiAweGZmOworCQlkZWZhdWx0OgorCQkJQ09NTU9OKCJcblx0c3Rvc3dcblx0c3Rvc2IiKTsKIAkJCXJldHVybiBzOwotCQljYXNlIDQ6Ci0JCQkqKHVuc2lnbmVkIGxvbmcgKilzID0gcGF0dGVybjsKLQkJCXJldHVybiBzOworCQl9CiAJfQotI2RlZmluZSBDT01NT04oeCkgXAotX19hc21fXyAgX192b2xhdGlsZV9fKCBcCi0JInJlcCA7IHN0b3NsIiBcCi0JeCBcCi0JOiAiPSZjIiAoZDApLCAiPSZEIiAoZDEpIFwKLQk6ICJhIiAocGF0dGVybiksIjAiIChjb3VudC80KSwiMSIgKChsb25nKSBzKSBcCi0JOiAibWVtb3J5IikKLXsKLQlpbnQgZDAsIGQxOwotCXN3aXRjaCAoY291bnQgJSA0KSB7Ci0JCWNhc2UgMDogQ09NTU9OKCIiKTsgcmV0dXJuIHM7Ci0JCWNhc2UgMTogQ09NTU9OKCJcblx0c3Rvc2IiKTsgcmV0dXJuIHM7Ci0JCWNhc2UgMjogQ09NTU9OKCJcblx0c3Rvc3ciKTsgcmV0dXJuIHM7Ci0JCWRlZmF1bHQ6IENPTU1PTigiXG5cdHN0b3N3XG5cdHN0b3NiIik7IHJldHVybiBzOwotCX0KLX0KLSAgCisKICN1bmRlZiBDT01NT04KIH0KIAotI2RlZmluZSBfX2NvbnN0YW50X2NfeF9tZW1zZXQocywgYywgY291bnQpIFwKLShfX2J1aWx0aW5fY29uc3RhbnRfcChjb3VudCkgPyBcCi0gX19jb25zdGFudF9jX2FuZF9jb3VudF9tZW1zZXQoKHMpLChjKSwoY291bnQpKSA6IFwKLSBfX2NvbnN0YW50X2NfbWVtc2V0KChzKSwoYyksKGNvdW50KSkpCisjZGVmaW5lIF9fY29uc3RhbnRfY194X21lbXNldChzLCBjLCBjb3VudCkJCQlcCisJKF9fYnVpbHRpbl9jb25zdGFudF9wKGNvdW50KQkJCQlcCisJID8gX19jb25zdGFudF9jX2FuZF9jb3VudF9tZW1zZXQoKHMpLCAoYyksIChjb3VudCkpCVwKKwkgOiBfX2NvbnN0YW50X2NfbWVtc2V0KChzKSwgKGMpLCAoY291bnQpKSkKIAotI2RlZmluZSBfX21lbXNldChzLCBjLCBjb3VudCkgXAotKF9fYnVpbHRpbl9jb25zdGFudF9wKGNvdW50KSA/IFwKLSBfX2NvbnN0YW50X2NvdW50X21lbXNldCgocyksKGMpLChjb3VudCkpIDogXAotIF9fbWVtc2V0X2dlbmVyaWMoKHMpLChjKSwoY291bnQpKSkKKyNkZWZpbmUgX19tZW1zZXQocywgYywgY291bnQpCQkJCVwKKwkoX19idWlsdGluX2NvbnN0YW50X3AoY291bnQpCQkJXAorCSA/IF9fY29uc3RhbnRfY291bnRfbWVtc2V0KChzKSwgKGMpLCAoY291bnQpKQlcCisJIDogX19tZW1zZXRfZ2VuZXJpYygocyksIChjKSwgKGNvdW50KSkpCiAKICNkZWZpbmUgX19IQVZFX0FSQ0hfTUVNU0VUCi0jZGVmaW5lIG1lbXNldChzLCBjLCBjb3VudCkgXAotKF9fYnVpbHRpbl9jb25zdGFudF9wKGMpID8gXAotIF9fY29uc3RhbnRfY194X21lbXNldCgocyksKDB4MDEwMTAxMDFVTCoodW5zaWduZWQgY2hhcikoYykpLChjb3VudCkpIDogXAotIF9fbWVtc2V0KChzKSwoYyksKGNvdW50KSkpCisjZGVmaW5lIG1lbXNldChzLCBjLCBjb3VudCkJCQkJCQlcCisJKF9fYnVpbHRpbl9jb25zdGFudF9wKGMpCQkJCQlcCisJID8gX19jb25zdGFudF9jX3hfbWVtc2V0KChzKSwgKDB4MDEwMTAxMDFVTCAqICh1bnNpZ25lZCBjaGFyKShjKSksIFwKKwkJCQkgKGNvdW50KSkJCQkJXAorCSA6IF9fbWVtc2V0KChzKSwgKGMpLCAoY291bnQpKSkKIAogLyoKICAqIGZpbmQgdGhlIGZpcnN0IG9jY3VycmVuY2Ugb2YgYnl0ZSAnYycsIG9yIDEgcGFzdCB0aGUgYXJlYSBpZiBub25lCiAgKi8KICNkZWZpbmUgX19IQVZFX0FSQ0hfTUVNU0NBTgotZXh0ZXJuIHZvaWQgKm1lbXNjYW4odm9pZCAqIGFkZHIsIGludCBjLCBzaXplX3Qgc2l6ZSk7CitleHRlcm4gdm9pZCAqbWVtc2Nhbih2b2lkICphZGRyLCBpbnQgYywgc2l6ZV90IHNpemUpOwogCiAjZW5kaWYgLyogX19LRVJORUxfXyAqLwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvc3VzcGVuZF8zMi5oIGIvaW5jbHVkZS9hc20teDg2L3N1c3BlbmRfMzIuaAppbmRleCAyNGUxYzA4Li44Njc1YzY3IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvc3VzcGVuZF8zMi5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9zdXNwZW5kXzMyLmgKQEAgLTMsNiArMyw5IEBACiAgKiBCYXNlZCBvbiBjb2RlCiAgKiBDb3B5cmlnaHQgMjAwMSBQYXRyaWNrIE1vY2hlbCA8bW9jaGVsQG9zZGwub3JnPgogICovCisjaWZuZGVmIF9fQVNNX1g4Nl8zMl9TVVNQRU5EX0gKKyNkZWZpbmUgX19BU01fWDg2XzMyX1NVU1BFTkRfSAorCiAjaW5jbHVkZSA8YXNtL2Rlc2MuaD4KICNpbmNsdWRlIDxhc20vaTM4Ny5oPgogCkBAIC00NCwzICs0Nyw1IEBACiAvKiByb3V0aW5lcyBmb3Igc2F2aW5nL3Jlc3RvcmluZyBrZXJuZWwgc3RhdGUgKi8KIGV4dGVybiBpbnQgYWNwaV9zYXZlX3N0YXRlX21lbSh2b2lkKTsKICNlbmRpZgorCisjZW5kaWYgLyogX19BU01fWDg2XzMyX1NVU1BFTkRfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3N5c3RlbS5oIGIvaW5jbHVkZS9hc20teDg2L3N5c3RlbS5oCmluZGV4IGEyZjA0Y2QuLjk4M2NlMzcgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9zeXN0ZW0uaAorKysgYi9pbmNsdWRlL2FzbS14ODYvc3lzdGVtLmgKQEAgLTEzNiw3ICsxMzYsNyBAQAogI2RlZmluZSBzZXRfYmFzZShsZHQsIGJhc2UpIF9zZXRfYmFzZSgoKGNoYXIgKikmKGxkdCkpICwgKGJhc2UpKQogI2RlZmluZSBzZXRfbGltaXQobGR0LCBsaW1pdCkgX3NldF9saW1pdCgoKGNoYXIgKikmKGxkdCkpICwgKChsaW1pdCktMSkpCiAKLWV4dGVybiB2b2lkIGxvYWRfZ3NfaW5kZXgodW5zaWduZWQpOworZXh0ZXJuIHZvaWQgbmF0aXZlX2xvYWRfZ3NfaW5kZXgodW5zaWduZWQpOwogCiAvKgogICogTG9hZCBhIHNlZ21lbnQuIEZhbGwgYmFjayBvbiBsb2FkaW5nIHRoZSB6ZXJvCkBAIC0xNTMsMTQgKzE1MywxNCBAQAogCQkgICAgICJqbXAgMmJcbiIJCQlcCiAJCSAgICAgIi5wcmV2aW91c1xuIgkJXAogCQkgICAgIF9BU01fRVhUQUJMRSgxYiwzYikJXAotCQkgICAgIDogOiJyIiAodmFsdWUpLCAiciIgKDApKQorCQkgICAgIDogOiJyIiAodmFsdWUpLCAiciIgKDApIDogIm1lbW9yeSIpCiAKIAogLyoKICAqIFNhdmUgYSBzZWdtZW50IHJlZ2lzdGVyIGF3YXkKICAqLwogI2RlZmluZSBzYXZlc2VnbWVudChzZWcsIHZhbHVlKQkJCQlcCi0JYXNtIHZvbGF0aWxlKCJtb3YgJSUiICNzZWcgIiwlMCI6Ij1ybSIgKHZhbHVlKSkKKwlhc20oIm1vdiAlJSIgI3NlZyAiLCUwIjoiPXIiICh2YWx1ZSkgOiA6ICJtZW1vcnkiKQogCiBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgZ2V0X2xpbWl0KHVuc2lnbmVkIGxvbmcgc2VnbWVudCkKIHsKQEAgLTI4Miw2ICsyODIsNyBAQAogI2lmZGVmIENPTkZJR19YODZfNjQKICNkZWZpbmUgcmVhZF9jcjgoKQkobmF0aXZlX3JlYWRfY3I4KCkpCiAjZGVmaW5lIHdyaXRlX2NyOCh4KQkobmF0aXZlX3dyaXRlX2NyOCh4KSkKKyNkZWZpbmUgbG9hZF9nc19pbmRleCAgIG5hdGl2ZV9sb2FkX2dzX2luZGV4CiAjZW5kaWYKIAogLyogQ2xlYXIgdGhlICdUUycgYml0ICovCkBAIC0yODksNyArMjkwLDcgQEAKIAogI2VuZGlmLyogQ09ORklHX1BBUkFWSVJUICovCiAKLSNkZWZpbmUgc3R0cygpIHdyaXRlX2NyMCg4IHwgcmVhZF9jcjAoKSkKKyNkZWZpbmUgc3R0cygpIHdyaXRlX2NyMChyZWFkX2NyMCgpIHwgWDg2X0NSMF9UUykKIAogI2VuZGlmIC8qIF9fS0VSTkVMX18gKi8KIApAQCAtMzAzLDcgKzMwNCw2IEBACiB2b2lkIGRpc2FibGVfaGx0KHZvaWQpOwogdm9pZCBlbmFibGVfaGx0KHZvaWQpOwogCi1leHRlcm4gaW50IGVzNzAwMF9wbGF0Owogdm9pZCBjcHVfaWRsZV93YWl0KHZvaWQpOwogCiBleHRlcm4gdW5zaWduZWQgbG9uZyBhcmNoX2FsaWduX3N0YWNrKHVuc2lnbmVkIGxvbmcgc3ApOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3RocmVhZF9pbmZvLmggYi9pbmNsdWRlL2FzbS14ODYvdGhyZWFkX2luZm8uaAppbmRleCA3NzI0NGYxLi44OTUzMzlkIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvdGhyZWFkX2luZm8uaAorKysgYi9pbmNsdWRlL2FzbS14ODYvdGhyZWFkX2luZm8uaApAQCAtMSw5ICsxLDI1MyBAQAorLyogdGhyZWFkX2luZm8uaDogbG93LWxldmVsIHRocmVhZCBpbmZvcm1hdGlvbgorICoKKyAqIENvcHlyaWdodCAoQykgMjAwMiAgRGF2aWQgSG93ZWxscyAoZGhvd2VsbHNAcmVkaGF0LmNvbSkKKyAqIC0gSW5jb3Jwb3JhdGluZyBzdWdnZXN0aW9ucyBtYWRlIGJ5IExpbnVzIFRvcnZhbGRzIGFuZCBEYXZlIE1pbGxlcgorICovCisKICNpZm5kZWYgX0FTTV9YODZfVEhSRUFEX0lORk9fSAorI2RlZmluZSBfQVNNX1g4Nl9USFJFQURfSU5GT19ICisKKyNpbmNsdWRlIDxsaW51eC9jb21waWxlci5oPgorI2luY2x1ZGUgPGFzbS9wYWdlLmg+CisjaW5jbHVkZSA8YXNtL3R5cGVzLmg+CisKKy8qCisgKiBsb3cgbGV2ZWwgdGFzayBkYXRhIHRoYXQgZW50cnkuUyBuZWVkcyBpbW1lZGlhdGUgYWNjZXNzIHRvCisgKiAtIHRoaXMgc3RydWN0IHNob3VsZCBmaXQgZW50aXJlbHkgaW5zaWRlIG9mIG9uZSBjYWNoZSBsaW5lCisgKiAtIHRoaXMgc3RydWN0IHNoYXJlcyB0aGUgc3VwZXJ2aXNvciBzdGFjayBwYWdlcworICovCisjaWZuZGVmIF9fQVNTRU1CTFlfXworc3RydWN0IHRhc2tfc3RydWN0Oworc3RydWN0IGV4ZWNfZG9tYWluOworI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3IuaD4KKworc3RydWN0IHRocmVhZF9pbmZvIHsKKwlzdHJ1Y3QgdGFza19zdHJ1Y3QJKnRhc2s7CQkvKiBtYWluIHRhc2sgc3RydWN0dXJlICovCisJc3RydWN0IGV4ZWNfZG9tYWluCSpleGVjX2RvbWFpbjsJLyogZXhlY3V0aW9uIGRvbWFpbiAqLworCXVuc2lnbmVkIGxvbmcJCWZsYWdzOwkJLyogbG93IGxldmVsIGZsYWdzICovCisJX191MzIJCQlzdGF0dXM7CQkvKiB0aHJlYWQgc3luY2hyb25vdXMgZmxhZ3MgKi8KKwlfX3UzMgkJCWNwdTsJCS8qIGN1cnJlbnQgQ1BVICovCisJaW50CQkJcHJlZW1wdF9jb3VudDsJLyogMCA9PiBwcmVlbXB0YWJsZSwKKwkJCQkJCSAgIDwwID0+IEJVRyAqLworCW1tX3NlZ21lbnRfdAkJYWRkcl9saW1pdDsKKwlzdHJ1Y3QgcmVzdGFydF9ibG9jayAgICByZXN0YXJ0X2Jsb2NrOworCXZvaWQgX191c2VyCQkqc3lzZW50ZXJfcmV0dXJuOwogI2lmZGVmIENPTkZJR19YODZfMzIKLSMgaW5jbHVkZSAidGhyZWFkX2luZm9fMzIuaCIKLSNlbHNlCi0jIGluY2x1ZGUgInRocmVhZF9pbmZvXzY0LmgiCisJdW5zaWduZWQgbG9uZyAgICAgICAgICAgcHJldmlvdXNfZXNwOyAgIC8qIEVTUCBvZiB0aGUgcHJldmlvdXMgc3RhY2sgaW4KKwkJCQkJCSAgIGNhc2Ugb2YgbmVzdGVkIChJUlEpIHN0YWNrcworCQkJCQkJKi8KKwlfX3U4CQkJc3VwZXJ2aXNvcl9zdGFja1swXTsKICNlbmRpZgorfTsKKworI2RlZmluZSBJTklUX1RIUkVBRF9JTkZPKHRzaykJCQlcCit7CQkJCQkJXAorCS50YXNrCQk9ICZ0c2ssCQkJXAorCS5leGVjX2RvbWFpbgk9ICZkZWZhdWx0X2V4ZWNfZG9tYWluLAlcCisJLmZsYWdzCQk9IDAsCQkJXAorCS5jcHUJCT0gMCwJCQlcCisJLnByZWVtcHRfY291bnQJPSAxLAkJCVwKKwkuYWRkcl9saW1pdAk9IEtFUk5FTF9EUywJCVwKKwkucmVzdGFydF9ibG9jayA9IHsJCQlcCisJCS5mbiA9IGRvX25vX3Jlc3RhcnRfc3lzY2FsbCwJXAorCX0sCQkJCQlcCit9CisKKyNkZWZpbmUgaW5pdF90aHJlYWRfaW5mbwkoaW5pdF90aHJlYWRfdW5pb24udGhyZWFkX2luZm8pCisjZGVmaW5lIGluaXRfc3RhY2sJCShpbml0X3RocmVhZF91bmlvbi5zdGFjaykKKworI2Vsc2UgLyogIV9fQVNTRU1CTFlfXyAqLworCisjaW5jbHVkZSA8YXNtL2FzbS1vZmZzZXRzLmg+CisKKyNlbmRpZgorCisvKgorICogdGhyZWFkIGluZm9ybWF0aW9uIGZsYWdzCisgKiAtIHRoZXNlIGFyZSBwcm9jZXNzIHN0YXRlIGZsYWdzIHRoYXQgdmFyaW91cyBhc3NlbWJseSBmaWxlcworICogICBtYXkgbmVlZCB0byBhY2Nlc3MKKyAqIC0gcGVuZGluZyB3b3JrLXRvLWJlLWRvbmUgZmxhZ3MgYXJlIGluIExTVworICogLSBvdGhlciBmbGFncyBpbiBNU1cKKyAqIFdhcm5pbmc6IGxheW91dCBvZiBMU1cgaXMgaGFyZGNvZGVkIGluIGVudHJ5LlMKKyAqLworI2RlZmluZSBUSUZfU1lTQ0FMTF9UUkFDRQkwCS8qIHN5c2NhbGwgdHJhY2UgYWN0aXZlICovCisjZGVmaW5lIFRJRl9TSUdQRU5ESU5HCQkyCS8qIHNpZ25hbCBwZW5kaW5nICovCisjZGVmaW5lIFRJRl9ORUVEX1JFU0NIRUQJMwkvKiByZXNjaGVkdWxpbmcgbmVjZXNzYXJ5ICovCisjZGVmaW5lIFRJRl9TSU5HTEVTVEVQCQk0CS8qIHJlZW5hYmxlIHNpbmdsZXN0ZXAgb24gdXNlciByZXR1cm4qLworI2RlZmluZSBUSUZfSVJFVAkJNQkvKiBmb3JjZSBJUkVUICovCisjaWZkZWYgQ09ORklHX1g4Nl8zMgorI2RlZmluZSBUSUZfU1lTQ0FMTF9FTVUJCTYJLyogc3lzY2FsbCBlbXVsYXRpb24gYWN0aXZlICovCisjZW5kaWYKKyNkZWZpbmUgVElGX1NZU0NBTExfQVVESVQJNwkvKiBzeXNjYWxsIGF1ZGl0aW5nIGFjdGl2ZSAqLworI2RlZmluZSBUSUZfU0VDQ09NUAkJOAkvKiBzZWN1cmUgY29tcHV0aW5nICovCisjZGVmaW5lIFRJRl9NQ0VfTk9USUZZCQkxMAkvKiBub3RpZnkgdXNlcnNwYWNlIG9mIGFuIE1DRSAqLworI2RlZmluZSBUSUZfSFJUSUNLX1JFU0NIRUQJMTEJLyogcmVwcm9ncmFtIGhydGljayB0aW1lciAqLworI2RlZmluZSBUSUZfTk9UU0MJCTE2CS8qIFRTQyBpcyBub3QgYWNjZXNzaWJsZSBpbiB1c2VybGFuZCAqLworI2RlZmluZSBUSUZfSUEzMgkJMTcJLyogMzJiaXQgcHJvY2VzcyAqLworI2RlZmluZSBUSUZfRk9SSwkJMTgJLyogcmV0X2Zyb21fZm9yayAqLworI2RlZmluZSBUSUZfQUJJX1BFTkRJTkcJCTE5CisjZGVmaW5lIFRJRl9NRU1ESUUJCTIwCisjZGVmaW5lIFRJRl9ERUJVRwkJMjEJLyogdXNlcyBkZWJ1ZyByZWdpc3RlcnMgKi8KKyNkZWZpbmUgVElGX0lPX0JJVE1BUAkJMjIJLyogdXNlcyBJL08gYml0bWFwICovCisjZGVmaW5lIFRJRl9GUkVFWkUJCTIzCS8qIGlzIGZyZWV6aW5nIGZvciBzdXNwZW5kICovCisjZGVmaW5lIFRJRl9GT1JDRURfVEYJCTI0CS8qIHRydWUgaWYgVEYgaW4gZWZsYWdzIGFydGlmaWNpYWxseSAqLworI2RlZmluZSBUSUZfREVCVUdDVExNU1IJCTI1CS8qIHVzZXMgdGhyZWFkX3N0cnVjdC5kZWJ1Z2N0bG1zciAqLworI2RlZmluZSBUSUZfRFNfQVJFQV9NU1IJCTI2ICAgICAgLyogdXNlcyB0aHJlYWRfc3RydWN0LmRzX2FyZWFfbXNyICovCisjZGVmaW5lIFRJRl9CVFNfVFJBQ0VfVFMJMjcgICAgICAvKiByZWNvcmQgc2NoZWR1bGluZyBldmVudCB0aW1lc3RhbXBzICovCisKKyNkZWZpbmUgX1RJRl9TWVNDQUxMX1RSQUNFCSgxIDw8IFRJRl9TWVNDQUxMX1RSQUNFKQorI2RlZmluZSBfVElGX1NJR1BFTkRJTkcJCSgxIDw8IFRJRl9TSUdQRU5ESU5HKQorI2RlZmluZSBfVElGX1NJTkdMRVNURVAJCSgxIDw8IFRJRl9TSU5HTEVTVEVQKQorI2RlZmluZSBfVElGX05FRURfUkVTQ0hFRAkoMSA8PCBUSUZfTkVFRF9SRVNDSEVEKQorI2RlZmluZSBfVElGX0lSRVQJCSgxIDw8IFRJRl9JUkVUKQorI2lmZGVmIENPTkZJR19YODZfMzIKKyNkZWZpbmUgX1RJRl9TWVNDQUxMX0VNVQkoMSA8PCBUSUZfU1lTQ0FMTF9FTVUpCisjZWxzZQorI2RlZmluZSBfVElGX1NZU0NBTExfRU1VCTAKKyNlbmRpZgorI2RlZmluZSBfVElGX1NZU0NBTExfQVVESVQJKDEgPDwgVElGX1NZU0NBTExfQVVESVQpCisjZGVmaW5lIF9USUZfU0VDQ09NUAkJKDEgPDwgVElGX1NFQ0NPTVApCisjZGVmaW5lIF9USUZfTUNFX05PVElGWQkJKDEgPDwgVElGX01DRV9OT1RJRlkpCisjZGVmaW5lIF9USUZfSFJUSUNLX1JFU0NIRUQJKDEgPDwgVElGX0hSVElDS19SRVNDSEVEKQorI2RlZmluZSBfVElGX05PVFNDCQkoMSA8PCBUSUZfTk9UU0MpCisjZGVmaW5lIF9USUZfSUEzMgkJKDEgPDwgVElGX0lBMzIpCisjZGVmaW5lIF9USUZfRk9SSwkJKDEgPDwgVElGX0ZPUkspCisjZGVmaW5lIF9USUZfQUJJX1BFTkRJTkcJKDEgPDwgVElGX0FCSV9QRU5ESU5HKQorI2RlZmluZSBfVElGX0RFQlVHCQkoMSA8PCBUSUZfREVCVUcpCisjZGVmaW5lIF9USUZfSU9fQklUTUFQCQkoMSA8PCBUSUZfSU9fQklUTUFQKQorI2RlZmluZSBfVElGX0ZSRUVaRQkJKDEgPDwgVElGX0ZSRUVaRSkKKyNkZWZpbmUgX1RJRl9GT1JDRURfVEYJCSgxIDw8IFRJRl9GT1JDRURfVEYpCisjZGVmaW5lIF9USUZfREVCVUdDVExNU1IJKDEgPDwgVElGX0RFQlVHQ1RMTVNSKQorI2RlZmluZSBfVElGX0RTX0FSRUFfTVNSCSgxIDw8IFRJRl9EU19BUkVBX01TUikKKyNkZWZpbmUgX1RJRl9CVFNfVFJBQ0VfVFMJKDEgPDwgVElGX0JUU19UUkFDRV9UUykKKworLyogd29yayB0byBkbyBvbiBpbnRlcnJ1cHQvZXhjZXB0aW9uIHJldHVybiAqLworI2RlZmluZSBfVElGX1dPUktfTUFTSwkJCQkJCQlcCisJKDB4MDAwMEZGRkYgJgkJCQkJCQlcCisJIH4oX1RJRl9TWVNDQUxMX1RSQUNFfF9USUZfU1lTQ0FMTF9BVURJVHxfVElGX1NJTkdMRVNURVB8CVwKKwkgX1RJRl9TRUNDT01QfF9USUZfU1lTQ0FMTF9FTVUpKQorCisvKiB3b3JrIHRvIGRvIG9uIGFueSByZXR1cm4gdG8gdXNlciBzcGFjZSAqLworI2RlZmluZSBfVElGX0FMTFdPUktfTUFTSyAoMHgwMDAwRkZGRiAmIH5fVElGX1NFQ0NPTVApCisKKy8qIE9ubHkgdXNlZCBmb3IgNjQgYml0ICovCisjZGVmaW5lIF9USUZfRE9fTk9USUZZX01BU0sJCQkJCQlcCisJKF9USUZfU0lHUEVORElOR3xfVElGX1NJTkdMRVNURVB8X1RJRl9NQ0VfTk9USUZZfF9USUZfSFJUSUNLX1JFU0NIRUQpCisKKy8qIGZsYWdzIHRvIGNoZWNrIGluIF9fc3dpdGNoX3RvKCkgKi8KKyNkZWZpbmUgX1RJRl9XT1JLX0NUWFNXCQkJCQkJCVwKKwkoX1RJRl9JT19CSVRNQVB8X1RJRl9ERUJVR0NUTE1TUnxfVElGX0RTX0FSRUFfTVNSfF9USUZfQlRTX1RSQUNFX1RTfCBcCisJCQkJCQkJCV9USUZfTk9UU0MpCisKKyNkZWZpbmUgX1RJRl9XT1JLX0NUWFNXX1BSRVYgX1RJRl9XT1JLX0NUWFNXCisjZGVmaW5lIF9USUZfV09SS19DVFhTV19ORVhUIChfVElGX1dPUktfQ1RYU1d8X1RJRl9ERUJVRykKKworI2RlZmluZSBQUkVFTVBUX0FDVElWRQkJMHgxMDAwMDAwMAorCisvKiB0aHJlYWQgaW5mb3JtYXRpb24gYWxsb2NhdGlvbiAqLworI2lmZGVmIENPTkZJR19ERUJVR19TVEFDS19VU0FHRQorI2RlZmluZSBUSFJFQURfRkxBR1MgKEdGUF9LRVJORUwgfCBfX0dGUF9aRVJPKQorI2Vsc2UKKyNkZWZpbmUgVEhSRUFEX0ZMQUdTIEdGUF9LRVJORUwKKyNlbmRpZgorCisjZGVmaW5lIGFsbG9jX3RocmVhZF9pbmZvKHRzaykJCQkJCQlcCisJKChzdHJ1Y3QgdGhyZWFkX2luZm8gKilfX2dldF9mcmVlX3BhZ2VzKFRIUkVBRF9GTEFHUywgVEhSRUFEX09SREVSKSkKKworI2lmZGVmIENPTkZJR19YODZfMzIKKworI2RlZmluZSBTVEFDS19XQVJOCShUSFJFQURfU0laRS84KQorLyoKKyAqIG1hY3Jvcy9mdW5jdGlvbnMgZm9yIGdhaW5pbmcgYWNjZXNzIHRvIHRoZSB0aHJlYWQgaW5mb3JtYXRpb24gc3RydWN0dXJlCisgKgorICogcHJlZW1wdF9jb3VudCBuZWVkcyB0byBiZSAxIGluaXRpYWxseSwgdW50aWwgdGhlIHNjaGVkdWxlciBpcyBmdW5jdGlvbmFsLgorICovCisjaWZuZGVmIF9fQVNTRU1CTFlfXworCisKKy8qIGhvdyB0byBnZXQgdGhlIGN1cnJlbnQgc3RhY2sgcG9pbnRlciBmcm9tIEMgKi8KK3JlZ2lzdGVyIHVuc2lnbmVkIGxvbmcgY3VycmVudF9zdGFja19wb2ludGVyIGFzbSgiZXNwIikgX191c2VkOworCisvKiBob3cgdG8gZ2V0IHRoZSB0aHJlYWQgaW5mb3JtYXRpb24gc3RydWN0IGZyb20gQyAqLworc3RhdGljIGlubGluZSBzdHJ1Y3QgdGhyZWFkX2luZm8gKmN1cnJlbnRfdGhyZWFkX2luZm8odm9pZCkKK3sKKwlyZXR1cm4gKHN0cnVjdCB0aHJlYWRfaW5mbyAqKQorCQkoY3VycmVudF9zdGFja19wb2ludGVyICYgfihUSFJFQURfU0laRSAtIDEpKTsKK30KKworI2Vsc2UgLyogIV9fQVNTRU1CTFlfXyAqLworCisvKiBob3cgdG8gZ2V0IHRoZSB0aHJlYWQgaW5mb3JtYXRpb24gc3RydWN0IGZyb20gQVNNICovCisjZGVmaW5lIEdFVF9USFJFQURfSU5GTyhyZWcpCSBcCisJbW92bCAkLVRIUkVBRF9TSVpFLCByZWc7IFwKKwlhbmRsICVlc3AsIHJlZworCisvKiB1c2UgdGhpcyBvbmUgaWYgcmVnIGFscmVhZHkgY29udGFpbnMgJWVzcCAqLworI2RlZmluZSBHRVRfVEhSRUFEX0lORk9fV0lUSF9FU1AocmVnKSBcCisJYW5kbCAkLVRIUkVBRF9TSVpFLCByZWcKKworI2VuZGlmCisKKyNlbHNlIC8qIFg4Nl8zMiAqLworCisjaW5jbHVkZSA8YXNtL3BkYS5oPgorCisvKgorICogbWFjcm9zL2Z1bmN0aW9ucyBmb3IgZ2FpbmluZyBhY2Nlc3MgdG8gdGhlIHRocmVhZCBpbmZvcm1hdGlvbiBzdHJ1Y3R1cmUKKyAqIHByZWVtcHRfY291bnQgbmVlZHMgdG8gYmUgMSBpbml0aWFsbHksIHVudGlsIHRoZSBzY2hlZHVsZXIgaXMgZnVuY3Rpb25hbC4KKyAqLworI2lmbmRlZiBfX0FTU0VNQkxZX18KK3N0YXRpYyBpbmxpbmUgc3RydWN0IHRocmVhZF9pbmZvICpjdXJyZW50X3RocmVhZF9pbmZvKHZvaWQpCit7CisJc3RydWN0IHRocmVhZF9pbmZvICp0aTsKKwl0aSA9ICh2b2lkICopKHJlYWRfcGRhKGtlcm5lbHN0YWNrKSArIFBEQV9TVEFDS09GRlNFVCAtIFRIUkVBRF9TSVpFKTsKKwlyZXR1cm4gdGk7Cit9CisKKy8qIGRvIG5vdCB1c2UgaW4gaW50ZXJydXB0IGNvbnRleHQgKi8KK3N0YXRpYyBpbmxpbmUgc3RydWN0IHRocmVhZF9pbmZvICpzdGFja190aHJlYWRfaW5mbyh2b2lkKQoreworCXN0cnVjdCB0aHJlYWRfaW5mbyAqdGk7CisJYXNtKCJhbmRxICUlcnNwLCUwOyAiIDogIj1yIiAodGkpIDogIjAiICh+KFRIUkVBRF9TSVpFIC0gMSkpKTsKKwlyZXR1cm4gdGk7Cit9CisKKyNlbHNlIC8qICFfX0FTU0VNQkxZX18gKi8KKworLyogaG93IHRvIGdldCB0aGUgdGhyZWFkIGluZm9ybWF0aW9uIHN0cnVjdCBmcm9tIEFTTSAqLworI2RlZmluZSBHRVRfVEhSRUFEX0lORk8ocmVnKSBcCisJbW92cSAlZ3M6cGRhX2tlcm5lbHN0YWNrLHJlZyA7IFwKKwlzdWJxICQoVEhSRUFEX1NJWkUtUERBX1NUQUNLT0ZGU0VUKSxyZWcKKworI2VuZGlmCisKKyNlbmRpZiAvKiAhWDg2XzMyICovCisKKy8qCisgKiBUaHJlYWQtc3luY2hyb25vdXMgc3RhdHVzLgorICoKKyAqIFRoaXMgaXMgZGlmZmVyZW50IGZyb20gdGhlIGZsYWdzIGluIHRoYXQgbm9ib2R5IGVsc2UKKyAqIGV2ZXIgdG91Y2hlcyBvdXIgdGhyZWFkLXN5bmNocm9ub3VzIHN0YXR1cywgc28gd2UgZG9uJ3QKKyAqIGhhdmUgdG8gd29ycnkgYWJvdXQgYXRvbWljIGFjY2Vzc2VzLgorICovCisjZGVmaW5lIFRTX1VTRURGUFUJCTB4MDAwMQkvKiBGUFUgd2FzIHVzZWQgYnkgdGhpcyB0YXNrCisJCQkJCSAgIHRoaXMgcXVhbnR1bSAoU01QKSAqLworI2RlZmluZSBUU19DT01QQVQJCTB4MDAwMgkvKiAzMmJpdCBzeXNjYWxsIGFjdGl2ZSAoNjRCSVQpKi8KKyNkZWZpbmUgVFNfUE9MTElORwkJMHgwMDA0CS8qIHRydWUgaWYgaW4gaWRsZSBsb29wCisJCQkJCSAgIGFuZCBub3Qgc2xlZXBpbmcgKi8KKyNkZWZpbmUgVFNfUkVTVE9SRV9TSUdNQVNLCTB4MDAwOAkvKiByZXN0b3JlIHNpZ25hbCBtYXNrIGluIGRvX3NpZ25hbCgpICovCisKKyNkZWZpbmUgdHNrX2lzX3BvbGxpbmcodCkgKHRhc2tfdGhyZWFkX2luZm8odCktPnN0YXR1cyAmIFRTX1BPTExJTkcpCisKKyNpZm5kZWYgX19BU1NFTUJMWV9fCisjZGVmaW5lIEhBVkVfU0VUX1JFU1RPUkVfU0lHTUFTSwkxCitzdGF0aWMgaW5saW5lIHZvaWQgc2V0X3Jlc3RvcmVfc2lnbWFzayh2b2lkKQoreworCXN0cnVjdCB0aHJlYWRfaW5mbyAqdGkgPSBjdXJyZW50X3RocmVhZF9pbmZvKCk7CisJdGktPnN0YXR1cyB8PSBUU19SRVNUT1JFX1NJR01BU0s7CisJc2V0X2JpdChUSUZfU0lHUEVORElORywgKHVuc2lnbmVkIGxvbmcgKikmdGktPmZsYWdzKTsKK30KKyNlbmRpZgkvKiAhX19BU1NFTUJMWV9fICovCiAKICNpZm5kZWYgX19BU1NFTUJMWV9fCiBleHRlcm4gdm9pZCBhcmNoX3Rhc2tfY2FjaGVfaW5pdCh2b2lkKTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni90aHJlYWRfaW5mb18zMi5oIGIvaW5jbHVkZS9hc20teDg2L3RocmVhZF9pbmZvXzMyLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI2MzM4ODIuLjAwMDAwMDAKLS0tIGEvaW5jbHVkZS9hc20teDg2L3RocmVhZF9pbmZvXzMyLmgKKysrIC9kZXYvbnVsbApAQCAtMSwyMDUgKzAsMCBAQAotLyogdGhyZWFkX2luZm8uaDogaTM4NiBsb3ctbGV2ZWwgdGhyZWFkIGluZm9ybWF0aW9uCi0gKgotICogQ29weXJpZ2h0IChDKSAyMDAyICBEYXZpZCBIb3dlbGxzIChkaG93ZWxsc0ByZWRoYXQuY29tKQotICogLSBJbmNvcnBvcmF0aW5nIHN1Z2dlc3Rpb25zIG1hZGUgYnkgTGludXMgVG9ydmFsZHMgYW5kIERhdmUgTWlsbGVyCi0gKi8KLQotI2lmbmRlZiBfQVNNX1RIUkVBRF9JTkZPX0gKLSNkZWZpbmUgX0FTTV9USFJFQURfSU5GT19ICi0KLSNpZmRlZiBfX0tFUk5FTF9fCi0KLSNpbmNsdWRlIDxsaW51eC9jb21waWxlci5oPgotI2luY2x1ZGUgPGFzbS9wYWdlLmg+Ci0KLSNpZm5kZWYgX19BU1NFTUJMWV9fCi0jaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci5oPgotI2VuZGlmCi0KLS8qCi0gKiBsb3cgbGV2ZWwgdGFzayBkYXRhIHRoYXQgZW50cnkuUyBuZWVkcyBpbW1lZGlhdGUgYWNjZXNzIHRvCi0gKiAtIHRoaXMgc3RydWN0IHNob3VsZCBmaXQgZW50aXJlbHkgaW5zaWRlIG9mIG9uZSBjYWNoZSBsaW5lCi0gKiAtIHRoaXMgc3RydWN0IHNoYXJlcyB0aGUgc3VwZXJ2aXNvciBzdGFjayBwYWdlcwotICogLSBpZiB0aGUgY29udGVudHMgb2YgdGhpcyBzdHJ1Y3R1cmUgYXJlIGNoYW5nZWQsCi0gKiAgIHRoZSBhc3NlbWJseSBjb25zdGFudHMgbXVzdCBhbHNvIGJlIGNoYW5nZWQKLSAqLwotI2lmbmRlZiBfX0FTU0VNQkxZX18KLQotc3RydWN0IHRocmVhZF9pbmZvIHsKLQlzdHJ1Y3QgdGFza19zdHJ1Y3QJKnRhc2s7CQkvKiBtYWluIHRhc2sgc3RydWN0dXJlICovCi0Jc3RydWN0IGV4ZWNfZG9tYWluCSpleGVjX2RvbWFpbjsJLyogZXhlY3V0aW9uIGRvbWFpbiAqLwotCXVuc2lnbmVkIGxvbmcJCWZsYWdzOwkJLyogbG93IGxldmVsIGZsYWdzICovCi0JdW5zaWduZWQgbG9uZwkJc3RhdHVzOwkJLyogdGhyZWFkLXN5bmNocm9ub3VzIGZsYWdzICovCi0JX191MzIJCQljcHU7CQkvKiBjdXJyZW50IENQVSAqLwotCWludAkJCXByZWVtcHRfY291bnQ7CS8qIDAgPT4gcHJlZW1wdGFibGUsCi0JCQkJCQkgICA8MCA9PiBCVUcgKi8KLQltbV9zZWdtZW50X3QJCWFkZHJfbGltaXQ7CS8qIHRocmVhZCBhZGRyZXNzIHNwYWNlOgotCQkJCQkJICAgMC0weEJGRkZGRkZGIHVzZXItdGhyZWFkCi0JCQkJCQkgICAwLTB4RkZGRkZGRkYga2VybmVsLXRocmVhZAotCQkJCQkJKi8KLQl2b2lkCQkJKnN5c2VudGVyX3JldHVybjsKLQlzdHJ1Y3QgcmVzdGFydF9ibG9jayAgICByZXN0YXJ0X2Jsb2NrOwotCXVuc2lnbmVkIGxvbmcgICAgICAgICAgIHByZXZpb3VzX2VzcDsgICAvKiBFU1Agb2YgdGhlIHByZXZpb3VzIHN0YWNrIGluCi0JCQkJCQkgICBjYXNlIG9mIG5lc3RlZCAoSVJRKSBzdGFja3MKLQkJCQkJCSovCi0JX191OAkJCXN1cGVydmlzb3Jfc3RhY2tbMF07Ci19OwotCi0jZWxzZSAvKiAhX19BU1NFTUJMWV9fICovCi0KLSNpbmNsdWRlIDxhc20vYXNtLW9mZnNldHMuaD4KLQotI2VuZGlmCi0KLSNkZWZpbmUgUFJFRU1QVF9BQ1RJVkUJCTB4MTAwMDAwMDAKLSNpZmRlZiBDT05GSUdfNEtTVEFDS1MKLSNkZWZpbmUgVEhSRUFEX1NJWkUgICAgICAgICAgICAoNDA5NikKLSNlbHNlCi0jZGVmaW5lIFRIUkVBRF9TSVpFCQkoODE5MikKLSNlbmRpZgotCi0jZGVmaW5lIFNUQUNLX1dBUk4gICAgICAgICAgICAgKFRIUkVBRF9TSVpFLzgpCi0vKgotICogbWFjcm9zL2Z1bmN0aW9ucyBmb3IgZ2FpbmluZyBhY2Nlc3MgdG8gdGhlIHRocmVhZCBpbmZvcm1hdGlvbiBzdHJ1Y3R1cmUKLSAqCi0gKiBwcmVlbXB0X2NvdW50IG5lZWRzIHRvIGJlIDEgaW5pdGlhbGx5LCB1bnRpbCB0aGUgc2NoZWR1bGVyIGlzIGZ1bmN0aW9uYWwuCi0gKi8KLSNpZm5kZWYgX19BU1NFTUJMWV9fCi0KLSNkZWZpbmUgSU5JVF9USFJFQURfSU5GTyh0c2spCQkJXAotewkJCQkJCVwKLQkudGFzawkJPSAmdHNrLAkJCVwKLQkuZXhlY19kb21haW4JPSAmZGVmYXVsdF9leGVjX2RvbWFpbiwJXAotCS5mbGFncwkJPSAwLAkJCVwKLQkuY3B1CQk9IDAsCQkJXAotCS5wcmVlbXB0X2NvdW50CT0gMSwJCQlcCi0JLmFkZHJfbGltaXQJPSBLRVJORUxfRFMsCQlcCi0JLnJlc3RhcnRfYmxvY2sgPSB7CQkJXAotCQkuZm4gPSBkb19ub19yZXN0YXJ0X3N5c2NhbGwsCVwKLQl9LAkJCQkJXAotfQotCi0jZGVmaW5lIGluaXRfdGhyZWFkX2luZm8JKGluaXRfdGhyZWFkX3VuaW9uLnRocmVhZF9pbmZvKQotI2RlZmluZSBpbml0X3N0YWNrCQkoaW5pdF90aHJlYWRfdW5pb24uc3RhY2spCi0KLQotLyogaG93IHRvIGdldCB0aGUgY3VycmVudCBzdGFjayBwb2ludGVyIGZyb20gQyAqLwotcmVnaXN0ZXIgdW5zaWduZWQgbG9uZyBjdXJyZW50X3N0YWNrX3BvaW50ZXIgYXNtKCJlc3AiKSBfX3VzZWQ7Ci0KLS8qIGhvdyB0byBnZXQgdGhlIHRocmVhZCBpbmZvcm1hdGlvbiBzdHJ1Y3QgZnJvbSBDICovCi1zdGF0aWMgaW5saW5lIHN0cnVjdCB0aHJlYWRfaW5mbyAqY3VycmVudF90aHJlYWRfaW5mbyh2b2lkKQotewotCXJldHVybiAoc3RydWN0IHRocmVhZF9pbmZvICopCi0JCShjdXJyZW50X3N0YWNrX3BvaW50ZXIgJiB+KFRIUkVBRF9TSVpFIC0gMSkpOwotfQotCi0vKiB0aHJlYWQgaW5mb3JtYXRpb24gYWxsb2NhdGlvbiAqLwotI2lmZGVmIENPTkZJR19ERUJVR19TVEFDS19VU0FHRQotI2RlZmluZSBhbGxvY190aHJlYWRfaW5mbyh0c2spICgoc3RydWN0IHRocmVhZF9pbmZvICopCQkJXAotCV9fZ2V0X2ZyZWVfcGFnZXMoR0ZQX0tFUk5FTCB8IF9fR0ZQX1pFUk8sIGdldF9vcmRlcihUSFJFQURfU0laRSkpKQotI2Vsc2UKLSNkZWZpbmUgYWxsb2NfdGhyZWFkX2luZm8odHNrKSAoKHN0cnVjdCB0aHJlYWRfaW5mbyAqKQkJCVwKLQlfX2dldF9mcmVlX3BhZ2VzKEdGUF9LRVJORUwsIGdldF9vcmRlcihUSFJFQURfU0laRSkpKQotI2VuZGlmCi0KLSNlbHNlIC8qICFfX0FTU0VNQkxZX18gKi8KLQotLyogaG93IHRvIGdldCB0aGUgdGhyZWFkIGluZm9ybWF0aW9uIHN0cnVjdCBmcm9tIEFTTSAqLwotI2RlZmluZSBHRVRfVEhSRUFEX0lORk8ocmVnKQkgXAotCW1vdmwgJC1USFJFQURfU0laRSwgcmVnOyBcCi0JYW5kbCAlZXNwLCByZWcKLQotLyogdXNlIHRoaXMgb25lIGlmIHJlZyBhbHJlYWR5IGNvbnRhaW5zICVlc3AgKi8KLSNkZWZpbmUgR0VUX1RIUkVBRF9JTkZPX1dJVEhfRVNQKHJlZykgXAotCWFuZGwgJC1USFJFQURfU0laRSwgcmVnCi0KLSNlbmRpZgotCi0vKgotICogdGhyZWFkIGluZm9ybWF0aW9uIGZsYWdzCi0gKiAtIHRoZXNlIGFyZSBwcm9jZXNzIHN0YXRlIGZsYWdzIHRoYXQgdmFyaW91cwotICogICBhc3NlbWJseSBmaWxlcyBtYXkgbmVlZCB0byBhY2Nlc3MKLSAqIC0gcGVuZGluZyB3b3JrLXRvLWJlLWRvbmUgZmxhZ3MgYXJlIGluIExTVwotICogLSBvdGhlciBmbGFncyBpbiBNU1cKLSAqLwotI2RlZmluZSBUSUZfU1lTQ0FMTF9UUkFDRQkwCS8qIHN5c2NhbGwgdHJhY2UgYWN0aXZlICovCi0jZGVmaW5lIFRJRl9TSUdQRU5ESU5HCQkxCS8qIHNpZ25hbCBwZW5kaW5nICovCi0jZGVmaW5lIFRJRl9ORUVEX1JFU0NIRUQJMgkvKiByZXNjaGVkdWxpbmcgbmVjZXNzYXJ5ICovCi0jZGVmaW5lIFRJRl9TSU5HTEVTVEVQCQkzCS8qIHJlc3RvcmUgc2luZ2xlc3RlcCBvbiByZXR1cm4gdG8KLQkJCQkJICAgdXNlciBtb2RlICovCi0jZGVmaW5lIFRJRl9JUkVUCQk0CS8qIHJldHVybiB3aXRoIGlyZXQgKi8KLSNkZWZpbmUgVElGX1NZU0NBTExfRU1VCQk1CS8qIHN5c2NhbGwgZW11bGF0aW9uIGFjdGl2ZSAqLwotI2RlZmluZSBUSUZfU1lTQ0FMTF9BVURJVAk2CS8qIHN5c2NhbGwgYXVkaXRpbmcgYWN0aXZlICovCi0jZGVmaW5lIFRJRl9TRUNDT01QCQk3CS8qIHNlY3VyZSBjb21wdXRpbmcgKi8KLSNkZWZpbmUgVElGX0hSVElDS19SRVNDSEVECTkJLyogcmVwcm9ncmFtIGhydGljayB0aW1lciAqLwotI2RlZmluZSBUSUZfTUVNRElFCQkxNgotI2RlZmluZSBUSUZfREVCVUcJCTE3CS8qIHVzZXMgZGVidWcgcmVnaXN0ZXJzICovCi0jZGVmaW5lIFRJRl9JT19CSVRNQVAJCTE4CS8qIHVzZXMgSS9PIGJpdG1hcCAqLwotI2RlZmluZSBUSUZfRlJFRVpFCQkxOQkvKiBpcyBmcmVlemluZyBmb3Igc3VzcGVuZCAqLwotI2RlZmluZSBUSUZfTk9UU0MJCTIwCS8qIFRTQyBpcyBub3QgYWNjZXNzaWJsZSBpbiB1c2VybGFuZCAqLwotI2RlZmluZSBUSUZfRk9SQ0VEX1RGCQkyMQkvKiB0cnVlIGlmIFRGIGluIGVmbGFncyBhcnRpZmljaWFsbHkgKi8KLSNkZWZpbmUgVElGX0RFQlVHQ1RMTVNSCQkyMgkvKiB1c2VzIHRocmVhZF9zdHJ1Y3QuZGVidWdjdGxtc3IgKi8KLSNkZWZpbmUgVElGX0RTX0FSRUFfTVNSIAkyMyAgICAgIC8qIHVzZXMgdGhyZWFkX3N0cnVjdC5kc19hcmVhX21zciAqLwotI2RlZmluZSBUSUZfQlRTX1RSQUNFX1RTICAgICAgICAyNCAgICAgIC8qIHJlY29yZCBzY2hlZHVsaW5nIGV2ZW50IHRpbWVzdGFtcHMgKi8KLQotI2RlZmluZSBfVElGX1NZU0NBTExfVFJBQ0UJKDEgPDwgVElGX1NZU0NBTExfVFJBQ0UpCi0jZGVmaW5lIF9USUZfU0lHUEVORElORwkJKDEgPDwgVElGX1NJR1BFTkRJTkcpCi0jZGVmaW5lIF9USUZfTkVFRF9SRVNDSEVECSgxIDw8IFRJRl9ORUVEX1JFU0NIRUQpCi0jZGVmaW5lIF9USUZfU0lOR0xFU1RFUAkJKDEgPDwgVElGX1NJTkdMRVNURVApCi0jZGVmaW5lIF9USUZfSVJFVAkJKDEgPDwgVElGX0lSRVQpCi0jZGVmaW5lIF9USUZfU1lTQ0FMTF9FTVUJKDEgPDwgVElGX1NZU0NBTExfRU1VKQotI2RlZmluZSBfVElGX1NZU0NBTExfQVVESVQJKDEgPDwgVElGX1NZU0NBTExfQVVESVQpCi0jZGVmaW5lIF9USUZfU0VDQ09NUAkJKDEgPDwgVElGX1NFQ0NPTVApCi0jZGVmaW5lIF9USUZfSFJUSUNLX1JFU0NIRUQJKDEgPDwgVElGX0hSVElDS19SRVNDSEVEKQotI2RlZmluZSBfVElGX0RFQlVHCQkoMSA8PCBUSUZfREVCVUcpCi0jZGVmaW5lIF9USUZfSU9fQklUTUFQCQkoMSA8PCBUSUZfSU9fQklUTUFQKQotI2RlZmluZSBfVElGX0ZSRUVaRQkJKDEgPDwgVElGX0ZSRUVaRSkKLSNkZWZpbmUgX1RJRl9OT1RTQwkJKDEgPDwgVElGX05PVFNDKQotI2RlZmluZSBfVElGX0ZPUkNFRF9URgkJKDEgPDwgVElGX0ZPUkNFRF9URikKLSNkZWZpbmUgX1RJRl9ERUJVR0NUTE1TUgkoMSA8PCBUSUZfREVCVUdDVExNU1IpCi0jZGVmaW5lIF9USUZfRFNfQVJFQV9NU1IJKDEgPDwgVElGX0RTX0FSRUFfTVNSKQotI2RlZmluZSBfVElGX0JUU19UUkFDRV9UUwkoMSA8PCBUSUZfQlRTX1RSQUNFX1RTKQotCi0vKiB3b3JrIHRvIGRvIG9uIGludGVycnVwdC9leGNlcHRpb24gcmV0dXJuICovCi0jZGVmaW5lIF9USUZfV09SS19NQVNLCQkJCQkJCVwKLQkoMHgwMDAwRkZGRiAmIH4oX1RJRl9TWVNDQUxMX1RSQUNFIHwgX1RJRl9TWVNDQUxMX0FVRElUIHwJXAotCQkJX1RJRl9TRUNDT01QIHwgX1RJRl9TWVNDQUxMX0VNVSkpCi0vKiB3b3JrIHRvIGRvIG9uIGFueSByZXR1cm4gdG8gdS1zcGFjZSAqLwotI2RlZmluZSBfVElGX0FMTFdPUktfTUFTSwkoMHgwMDAwRkZGRiAmIH5fVElGX1NFQ0NPTVApCi0KLS8qIGZsYWdzIHRvIGNoZWNrIGluIF9fc3dpdGNoX3RvKCkgKi8KLSNkZWZpbmUgX1RJRl9XT1JLX0NUWFNXCQkJCQkJXAotCShfVElGX0lPX0JJVE1BUCB8IF9USUZfTk9UU0MgfCBfVElGX0RFQlVHQ1RMTVNSIHwJXAotCSBfVElGX0RTX0FSRUFfTVNSIHwgX1RJRl9CVFNfVFJBQ0VfVFMpCi0jZGVmaW5lIF9USUZfV09SS19DVFhTV19QUkVWIF9USUZfV09SS19DVFhTVwotI2RlZmluZSBfVElGX1dPUktfQ1RYU1dfTkVYVCAoX1RJRl9XT1JLX0NUWFNXIHwgX1RJRl9ERUJVRykKLQotCi0vKgotICogVGhyZWFkLXN5bmNocm9ub3VzIHN0YXR1cy4KLSAqCi0gKiBUaGlzIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBmbGFncyBpbiB0aGF0IG5vYm9keSBlbHNlCi0gKiBldmVyIHRvdWNoZXMgb3VyIHRocmVhZC1zeW5jaHJvbm91cyBzdGF0dXMsIHNvIHdlIGRvbid0Ci0gKiBoYXZlIHRvIHdvcnJ5IGFib3V0IGF0b21pYyBhY2Nlc3Nlcy4KLSAqLwotI2RlZmluZSBUU19VU0VERlBVCQkweDAwMDEJLyogRlBVIHdhcyB1c2VkIGJ5IHRoaXMgdGFzawotCQkJCQkgICB0aGlzIHF1YW50dW0gKFNNUCkgKi8KLSNkZWZpbmUgVFNfUE9MTElORwkJMHgwMDAyCS8qIFRydWUgaWYgaW4gaWRsZSBsb29wCi0JCQkJCSAgIGFuZCBub3Qgc2xlZXBpbmcgKi8KLSNkZWZpbmUgVFNfUkVTVE9SRV9TSUdNQVNLCTB4MDAwNAkvKiByZXN0b3JlIHNpZ25hbCBtYXNrIGluIGRvX3NpZ25hbCgpICovCi0KLSNkZWZpbmUgdHNrX2lzX3BvbGxpbmcodCkgKHRhc2tfdGhyZWFkX2luZm8odCktPnN0YXR1cyAmIFRTX1BPTExJTkcpCi0KLSNpZm5kZWYgX19BU1NFTUJMWV9fCi0jZGVmaW5lIEhBVkVfU0VUX1JFU1RPUkVfU0lHTUFTSwkxCi1zdGF0aWMgaW5saW5lIHZvaWQgc2V0X3Jlc3RvcmVfc2lnbWFzayh2b2lkKQotewotCXN0cnVjdCB0aHJlYWRfaW5mbyAqdGkgPSBjdXJyZW50X3RocmVhZF9pbmZvKCk7Ci0JdGktPnN0YXR1cyB8PSBUU19SRVNUT1JFX1NJR01BU0s7Ci0Jc2V0X2JpdChUSUZfU0lHUEVORElORywgJnRpLT5mbGFncyk7Ci19Ci0jZW5kaWYJLyogIV9fQVNTRU1CTFlfXyAqLwotCi0jZW5kaWYgLyogX19LRVJORUxfXyAqLwotCi0jZW5kaWYgLyogX0FTTV9USFJFQURfSU5GT19IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvdGhyZWFkX2luZm9fNjQuaCBiL2luY2x1ZGUvYXNtLXg4Ni90aHJlYWRfaW5mb182NC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjYjY5ZjcwLi4wMDAwMDAwCi0tLSBhL2luY2x1ZGUvYXNtLXg4Ni90aHJlYWRfaW5mb182NC5oCisrKyAvZGV2L251bGwKQEAgLTEsMTk1ICswLDAgQEAKLS8qIHRocmVhZF9pbmZvLmg6IHg4Nl82NCBsb3ctbGV2ZWwgdGhyZWFkIGluZm9ybWF0aW9uCi0gKgotICogQ29weXJpZ2h0IChDKSAyMDAyICBEYXZpZCBIb3dlbGxzIChkaG93ZWxsc0ByZWRoYXQuY29tKQotICogLSBJbmNvcnBvcmF0aW5nIHN1Z2dlc3Rpb25zIG1hZGUgYnkgTGludXMgVG9ydmFsZHMgYW5kIERhdmUgTWlsbGVyCi0gKi8KLQotI2lmbmRlZiBfQVNNX1RIUkVBRF9JTkZPX0gKLSNkZWZpbmUgX0FTTV9USFJFQURfSU5GT19ICi0KLSNpZmRlZiBfX0tFUk5FTF9fCi0KLSNpbmNsdWRlIDxhc20vcGFnZS5oPgotI2luY2x1ZGUgPGFzbS90eXBlcy5oPgotI2luY2x1ZGUgPGFzbS9wZGEuaD4KLQotLyoKLSAqIGxvdyBsZXZlbCB0YXNrIGRhdGEgdGhhdCBlbnRyeS5TIG5lZWRzIGltbWVkaWF0ZSBhY2Nlc3MgdG8KLSAqIC0gdGhpcyBzdHJ1Y3Qgc2hvdWxkIGZpdCBlbnRpcmVseSBpbnNpZGUgb2Ygb25lIGNhY2hlIGxpbmUKLSAqIC0gdGhpcyBzdHJ1Y3Qgc2hhcmVzIHRoZSBzdXBlcnZpc29yIHN0YWNrIHBhZ2VzCi0gKi8KLSNpZm5kZWYgX19BU1NFTUJMWV9fCi1zdHJ1Y3QgdGFza19zdHJ1Y3Q7Ci1zdHJ1Y3QgZXhlY19kb21haW47Ci0jaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci5oPgotCi1zdHJ1Y3QgdGhyZWFkX2luZm8gewotCXN0cnVjdCB0YXNrX3N0cnVjdAkqdGFzazsJCS8qIG1haW4gdGFzayBzdHJ1Y3R1cmUgKi8KLQlzdHJ1Y3QgZXhlY19kb21haW4JKmV4ZWNfZG9tYWluOwkvKiBleGVjdXRpb24gZG9tYWluICovCi0JX191MzIJCQlmbGFnczsJCS8qIGxvdyBsZXZlbCBmbGFncyAqLwotCV9fdTMyCQkJc3RhdHVzOwkJLyogdGhyZWFkIHN5bmNocm9ub3VzIGZsYWdzICovCi0JX191MzIJCQljcHU7CQkvKiBjdXJyZW50IENQVSAqLwotCWludCAJCQlwcmVlbXB0X2NvdW50OwkvKiAwID0+IHByZWVtcHRhYmxlLAotCQkJCQkJICAgPDAgPT4gQlVHICovCi0JbW1fc2VnbWVudF90CQlhZGRyX2xpbWl0OwotCXN0cnVjdCByZXN0YXJ0X2Jsb2NrICAgIHJlc3RhcnRfYmxvY2s7Ci0jaWZkZWYgQ09ORklHX0lBMzJfRU1VTEFUSU9OCi0Jdm9pZCBfX3VzZXIJCSpzeXNlbnRlcl9yZXR1cm47Ci0jZW5kaWYKLX07Ci0jZW5kaWYKLQotLyoKLSAqIG1hY3Jvcy9mdW5jdGlvbnMgZm9yIGdhaW5pbmcgYWNjZXNzIHRvIHRoZSB0aHJlYWQgaW5mb3JtYXRpb24gc3RydWN0dXJlCi0gKiBwcmVlbXB0X2NvdW50IG5lZWRzIHRvIGJlIDEgaW5pdGlhbGx5LCB1bnRpbCB0aGUgc2NoZWR1bGVyIGlzIGZ1bmN0aW9uYWwuCi0gKi8KLSNpZm5kZWYgX19BU1NFTUJMWV9fCi0jZGVmaW5lIElOSVRfVEhSRUFEX0lORk8odHNrKQkJCVwKLXsJCQkJCQlcCi0JLnRhc2sJICAgICAgID0gJnRzaywJCQlcCi0JLmV4ZWNfZG9tYWluICAgPSAmZGVmYXVsdF9leGVjX2RvbWFpbiwJXAotCS5mbGFncwkgICAgICAgPSAwLAkJCVwKLQkuY3B1CSAgICAgICA9IDAsCQkJXAotCS5wcmVlbXB0X2NvdW50ID0gMSwJCQlcCi0JLmFkZHJfbGltaXQgICAgID0gS0VSTkVMX0RTLAkJXAotCS5yZXN0YXJ0X2Jsb2NrID0gewkJCVwKLQkJLmZuID0gZG9fbm9fcmVzdGFydF9zeXNjYWxsLAlcCi0JfSwJCQkJCVwKLX0KLQotI2RlZmluZSBpbml0X3RocmVhZF9pbmZvCShpbml0X3RocmVhZF91bmlvbi50aHJlYWRfaW5mbykKLSNkZWZpbmUgaW5pdF9zdGFjawkJKGluaXRfdGhyZWFkX3VuaW9uLnN0YWNrKQotCi1zdGF0aWMgaW5saW5lIHN0cnVjdCB0aHJlYWRfaW5mbyAqY3VycmVudF90aHJlYWRfaW5mbyh2b2lkKQotewotCXN0cnVjdCB0aHJlYWRfaW5mbyAqdGk7Ci0JdGkgPSAodm9pZCAqKShyZWFkX3BkYShrZXJuZWxzdGFjaykgKyBQREFfU1RBQ0tPRkZTRVQgLSBUSFJFQURfU0laRSk7Ci0JcmV0dXJuIHRpOwotfQotCi0vKiBkbyBub3QgdXNlIGluIGludGVycnVwdCBjb250ZXh0ICovCi1zdGF0aWMgaW5saW5lIHN0cnVjdCB0aHJlYWRfaW5mbyAqc3RhY2tfdGhyZWFkX2luZm8odm9pZCkKLXsKLQlzdHJ1Y3QgdGhyZWFkX2luZm8gKnRpOwotCWFzbSgiYW5kcSAlJXJzcCwlMDsgIiA6ICI9ciIgKHRpKSA6ICIwIiAofihUSFJFQURfU0laRSAtIDEpKSk7Ci0JcmV0dXJuIHRpOwotfQotCi0vKiB0aHJlYWQgaW5mb3JtYXRpb24gYWxsb2NhdGlvbiAqLwotI2lmZGVmIENPTkZJR19ERUJVR19TVEFDS19VU0FHRQotI2RlZmluZSBUSFJFQURfRkxBR1MgKEdGUF9LRVJORUwgfCBfX0dGUF9aRVJPKQotI2Vsc2UKLSNkZWZpbmUgVEhSRUFEX0ZMQUdTIEdGUF9LRVJORUwKLSNlbmRpZgotCi0jZGVmaW5lIGFsbG9jX3RocmVhZF9pbmZvKHRzaykJCQkJCQlcCi0JKChzdHJ1Y3QgdGhyZWFkX2luZm8gKilfX2dldF9mcmVlX3BhZ2VzKFRIUkVBRF9GTEFHUywgVEhSRUFEX09SREVSKSkKLQotI2Vsc2UgLyogIV9fQVNTRU1CTFlfXyAqLwotCi0vKiBob3cgdG8gZ2V0IHRoZSB0aHJlYWQgaW5mb3JtYXRpb24gc3RydWN0IGZyb20gQVNNICovCi0jZGVmaW5lIEdFVF9USFJFQURfSU5GTyhyZWcpIFwKLQltb3ZxICVnczpwZGFfa2VybmVsc3RhY2sscmVnIDsgXAotCXN1YnEgJChUSFJFQURfU0laRS1QREFfU1RBQ0tPRkZTRVQpLHJlZwotCi0jZW5kaWYKLQotLyoKLSAqIHRocmVhZCBpbmZvcm1hdGlvbiBmbGFncwotICogLSB0aGVzZSBhcmUgcHJvY2VzcyBzdGF0ZSBmbGFncyB0aGF0IHZhcmlvdXMgYXNzZW1ibHkgZmlsZXMKLSAqICAgbWF5IG5lZWQgdG8gYWNjZXNzCi0gKiAtIHBlbmRpbmcgd29yay10by1iZS1kb25lIGZsYWdzIGFyZSBpbiBMU1cKLSAqIC0gb3RoZXIgZmxhZ3MgaW4gTVNXCi0gKiBXYXJuaW5nOiBsYXlvdXQgb2YgTFNXIGlzIGhhcmRjb2RlZCBpbiBlbnRyeS5TCi0gKi8KLSNkZWZpbmUgVElGX1NZU0NBTExfVFJBQ0UJMAkvKiBzeXNjYWxsIHRyYWNlIGFjdGl2ZSAqLwotI2RlZmluZSBUSUZfU0lHUEVORElORwkJMgkvKiBzaWduYWwgcGVuZGluZyAqLwotI2RlZmluZSBUSUZfTkVFRF9SRVNDSEVECTMJLyogcmVzY2hlZHVsaW5nIG5lY2Vzc2FyeSAqLwotI2RlZmluZSBUSUZfU0lOR0xFU1RFUAkJNAkvKiByZWVuYWJsZSBzaW5nbGVzdGVwIG9uIHVzZXIgcmV0dXJuKi8KLSNkZWZpbmUgVElGX0lSRVQJCTUJLyogZm9yY2UgSVJFVCAqLwotI2RlZmluZSBUSUZfU1lTQ0FMTF9BVURJVAk3CS8qIHN5c2NhbGwgYXVkaXRpbmcgYWN0aXZlICovCi0jZGVmaW5lIFRJRl9TRUNDT01QCQk4CS8qIHNlY3VyZSBjb21wdXRpbmcgKi8KLSNkZWZpbmUgVElGX01DRV9OT1RJRlkJCTEwCS8qIG5vdGlmeSB1c2Vyc3BhY2Ugb2YgYW4gTUNFICovCi0jZGVmaW5lIFRJRl9IUlRJQ0tfUkVTQ0hFRAkxMQkvKiByZXByb2dyYW0gaHJ0aWNrIHRpbWVyICovCi0vKiAxNiBmcmVlICovCi0jZGVmaW5lIFRJRl9JQTMyCQkxNwkvKiAzMmJpdCBwcm9jZXNzICovCi0jZGVmaW5lIFRJRl9GT1JLCQkxOAkvKiByZXRfZnJvbV9mb3JrICovCi0jZGVmaW5lIFRJRl9BQklfUEVORElORwkJMTkKLSNkZWZpbmUgVElGX01FTURJRQkJMjAKLSNkZWZpbmUgVElGX0RFQlVHCQkyMQkvKiB1c2VzIGRlYnVnIHJlZ2lzdGVycyAqLwotI2RlZmluZSBUSUZfSU9fQklUTUFQCQkyMgkvKiB1c2VzIEkvTyBiaXRtYXAgKi8KLSNkZWZpbmUgVElGX0ZSRUVaRQkJMjMJLyogaXMgZnJlZXppbmcgZm9yIHN1c3BlbmQgKi8KLSNkZWZpbmUgVElGX0ZPUkNFRF9URgkJMjQJLyogdHJ1ZSBpZiBURiBpbiBlZmxhZ3MgYXJ0aWZpY2lhbGx5ICovCi0jZGVmaW5lIFRJRl9ERUJVR0NUTE1TUgkJMjUJLyogdXNlcyB0aHJlYWRfc3RydWN0LmRlYnVnY3RsbXNyICovCi0jZGVmaW5lIFRJRl9EU19BUkVBX01TUgkJMjYgICAgICAvKiB1c2VzIHRocmVhZF9zdHJ1Y3QuZHNfYXJlYV9tc3IgKi8KLSNkZWZpbmUgVElGX0JUU19UUkFDRV9UUwkyNyAgICAgIC8qIHJlY29yZCBzY2hlZHVsaW5nIGV2ZW50IHRpbWVzdGFtcHMgKi8KLSNkZWZpbmUgVElGX05PVFNDCQkyOAkvKiBUU0MgaXMgbm90IGFjY2Vzc2libGUgaW4gdXNlcmxhbmQgKi8KLQotI2RlZmluZSBfVElGX1NZU0NBTExfVFJBQ0UJKDEgPDwgVElGX1NZU0NBTExfVFJBQ0UpCi0jZGVmaW5lIF9USUZfU0lHUEVORElORwkJKDEgPDwgVElGX1NJR1BFTkRJTkcpCi0jZGVmaW5lIF9USUZfU0lOR0xFU1RFUAkJKDEgPDwgVElGX1NJTkdMRVNURVApCi0jZGVmaW5lIF9USUZfTkVFRF9SRVNDSEVECSgxIDw8IFRJRl9ORUVEX1JFU0NIRUQpCi0jZGVmaW5lIF9USUZfSVJFVAkJKDEgPDwgVElGX0lSRVQpCi0jZGVmaW5lIF9USUZfU1lTQ0FMTF9BVURJVAkoMSA8PCBUSUZfU1lTQ0FMTF9BVURJVCkKLSNkZWZpbmUgX1RJRl9TRUNDT01QCQkoMSA8PCBUSUZfU0VDQ09NUCkKLSNkZWZpbmUgX1RJRl9NQ0VfTk9USUZZCQkoMSA8PCBUSUZfTUNFX05PVElGWSkKLSNkZWZpbmUgX1RJRl9IUlRJQ0tfUkVTQ0hFRAkoMSA8PCBUSUZfSFJUSUNLX1JFU0NIRUQpCi0jZGVmaW5lIF9USUZfSUEzMgkJKDEgPDwgVElGX0lBMzIpCi0jZGVmaW5lIF9USUZfRk9SSwkJKDEgPDwgVElGX0ZPUkspCi0jZGVmaW5lIF9USUZfQUJJX1BFTkRJTkcJKDEgPDwgVElGX0FCSV9QRU5ESU5HKQotI2RlZmluZSBfVElGX0RFQlVHCQkoMSA8PCBUSUZfREVCVUcpCi0jZGVmaW5lIF9USUZfSU9fQklUTUFQCQkoMSA8PCBUSUZfSU9fQklUTUFQKQotI2RlZmluZSBfVElGX0ZSRUVaRQkJKDEgPDwgVElGX0ZSRUVaRSkKLSNkZWZpbmUgX1RJRl9GT1JDRURfVEYJCSgxIDw8IFRJRl9GT1JDRURfVEYpCi0jZGVmaW5lIF9USUZfREVCVUdDVExNU1IJKDEgPDwgVElGX0RFQlVHQ1RMTVNSKQotI2RlZmluZSBfVElGX0RTX0FSRUFfTVNSCSgxIDw8IFRJRl9EU19BUkVBX01TUikKLSNkZWZpbmUgX1RJRl9CVFNfVFJBQ0VfVFMJKDEgPDwgVElGX0JUU19UUkFDRV9UUykKLSNkZWZpbmUgX1RJRl9OT1RTQwkJKDEgPDwgVElGX05PVFNDKQotCi0vKiB3b3JrIHRvIGRvIG9uIGludGVycnVwdC9leGNlcHRpb24gcmV0dXJuICovCi0jZGVmaW5lIF9USUZfV09SS19NQVNLCQkJCQkJCVwKLQkoMHgwMDAwRkZGRiAmCQkJCQkJCVwKLQkgfihfVElGX1NZU0NBTExfVFJBQ0V8X1RJRl9TWVNDQUxMX0FVRElUfF9USUZfU0lOR0xFU1RFUHxfVElGX1NFQ0NPTVApKQotLyogd29yayB0byBkbyBvbiBhbnkgcmV0dXJuIHRvIHVzZXIgc3BhY2UgKi8KLSNkZWZpbmUgX1RJRl9BTExXT1JLX01BU0sgKDB4MDAwMEZGRkYgJiB+X1RJRl9TRUNDT01QKQotCi0jZGVmaW5lIF9USUZfRE9fTk9USUZZX01BU0sJCQkJCQlcCi0JKF9USUZfU0lHUEVORElOR3xfVElGX1NJTkdMRVNURVB8X1RJRl9NQ0VfTk9USUZZfF9USUZfSFJUSUNLX1JFU0NIRUQpCi0KLS8qIGZsYWdzIHRvIGNoZWNrIGluIF9fc3dpdGNoX3RvKCkgKi8KLSNkZWZpbmUgX1RJRl9XT1JLX0NUWFNXCQkJCQkJCVwKLQkoX1RJRl9JT19CSVRNQVB8X1RJRl9ERUJVR0NUTE1TUnxfVElGX0RTX0FSRUFfTVNSfF9USUZfQlRTX1RSQUNFX1RTfF9USUZfTk9UU0MpCi0jZGVmaW5lIF9USUZfV09SS19DVFhTV19QUkVWIF9USUZfV09SS19DVFhTVwotI2RlZmluZSBfVElGX1dPUktfQ1RYU1dfTkVYVCAoX1RJRl9XT1JLX0NUWFNXfF9USUZfREVCVUcpCi0KLSNkZWZpbmUgUFJFRU1QVF9BQ1RJVkUgICAgIDB4MTAwMDAwMDAKLQotLyoKLSAqIFRocmVhZC1zeW5jaHJvbm91cyBzdGF0dXMuCi0gKgotICogVGhpcyBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgZmxhZ3MgaW4gdGhhdCBub2JvZHkgZWxzZQotICogZXZlciB0b3VjaGVzIG91ciB0aHJlYWQtc3luY2hyb25vdXMgc3RhdHVzLCBzbyB3ZSBkb24ndAotICogaGF2ZSB0byB3b3JyeSBhYm91dCBhdG9taWMgYWNjZXNzZXMuCi0gKi8KLSNkZWZpbmUgVFNfVVNFREZQVQkJMHgwMDAxCS8qIEZQVSB3YXMgdXNlZCBieSB0aGlzIHRhc2sKLQkJCQkJICAgdGhpcyBxdWFudHVtIChTTVApICovCi0jZGVmaW5lIFRTX0NPTVBBVAkJMHgwMDAyCS8qIDMyYml0IHN5c2NhbGwgYWN0aXZlICovCi0jZGVmaW5lIFRTX1BPTExJTkcJCTB4MDAwNAkvKiB0cnVlIGlmIGluIGlkbGUgbG9vcAotCQkJCQkgICBhbmQgbm90IHNsZWVwaW5nICovCi0jZGVmaW5lIFRTX1JFU1RPUkVfU0lHTUFTSwkweDAwMDgJLyogcmVzdG9yZSBzaWduYWwgbWFzayBpbiBkb19zaWduYWwoKSAqLwotCi0jZGVmaW5lIHRza19pc19wb2xsaW5nKHQpICh0YXNrX3RocmVhZF9pbmZvKHQpLT5zdGF0dXMgJiBUU19QT0xMSU5HKQotCi0jaWZuZGVmIF9fQVNTRU1CTFlfXwotI2RlZmluZSBIQVZFX1NFVF9SRVNUT1JFX1NJR01BU0sJMQotc3RhdGljIGlubGluZSB2b2lkIHNldF9yZXN0b3JlX3NpZ21hc2sodm9pZCkKLXsKLQlzdHJ1Y3QgdGhyZWFkX2luZm8gKnRpID0gY3VycmVudF90aHJlYWRfaW5mbygpOwotCXRpLT5zdGF0dXMgfD0gVFNfUkVTVE9SRV9TSUdNQVNLOwotCXNldF9iaXQoVElGX1NJR1BFTkRJTkcsICZ0aS0+ZmxhZ3MpOwotfQotI2VuZGlmCS8qICFfX0FTU0VNQkxZX18gKi8KLQotI2VuZGlmIC8qIF9fS0VSTkVMX18gKi8KLQotI2VuZGlmIC8qIF9BU01fVEhSRUFEX0lORk9fSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3RpbWUuaCBiL2luY2x1ZGUvYXNtLXg4Ni90aW1lLmgKaW5kZXggYmNlNzJkNy4uYTE3ZmE0NyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L3RpbWUuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvdGltZS5oCkBAIC01Niw0ICs1Niw2IEBACiAKICNlbmRpZiAvKiBDT05GSUdfUEFSQVZJUlQgKi8KIAorZXh0ZXJuIHVuc2lnbmVkIGxvbmcgX19pbml0IGNhbGlicmF0ZV9jcHUodm9pZCk7CisKICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3RpbWVyLmggYi9pbmNsdWRlL2FzbS14ODYvdGltZXIuaAppbmRleCA0ZjZmY2IwLi5mYjJhNGRkIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvdGltZXIuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvdGltZXIuaApAQCAtNywxNCArNywxNCBAQAogI2RlZmluZSBUSUNLX1NJWkUgKHRpY2tfbnNlYyAvIDEwMDApCiAKIHVuc2lnbmVkIGxvbmcgbG9uZyBuYXRpdmVfc2NoZWRfY2xvY2sodm9pZCk7Ci11bnNpZ25lZCBsb25nIG5hdGl2ZV9jYWxjdWxhdGVfY3B1X2toeih2b2lkKTsKK3Vuc2lnbmVkIGxvbmcgbmF0aXZlX2NhbGlicmF0ZV90c2Modm9pZCk7CiAKIGV4dGVybiBpbnQgdGltZXJfYWNrOwogZXh0ZXJuIGludCBub190aW1lcl9jaGVjazsKIGV4dGVybiBpbnQgcmVjYWxpYnJhdGVfY3B1X2toeih2b2lkKTsKIAogI2lmbmRlZiBDT05GSUdfUEFSQVZJUlQKLSNkZWZpbmUgY2FsY3VsYXRlX2NwdV9raHooKSBuYXRpdmVfY2FsY3VsYXRlX2NwdV9raHooKQorI2RlZmluZSBjYWxpYnJhdGVfdHNjKCkgbmF0aXZlX2NhbGlicmF0ZV90c2MoKQogI2VuZGlmCiAKIC8qIEFjY2VsZXJhdG9ycyBmb3Igc2NoZWRfY2xvY2soKQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3RvcG9sb2d5LmggYi9pbmNsdWRlL2FzbS14ODYvdG9wb2xvZ3kuaAppbmRleCBkY2YzZjgxLi45MGFjNzcxIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvdG9wb2xvZ3kuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvdG9wb2xvZ3kuaApAQCAtMzUsNzkgKzM1LDkzIEBACiAjIGVuZGlmCiAjZW5kaWYKIAorLyogTm9kZSBub3QgcHJlc2VudCAqLworI2RlZmluZSBOVU1BX05PX05PREUJKC0xKQorCiAjaWZkZWYgQ09ORklHX05VTUEKICNpbmNsdWRlIDxsaW51eC9jcHVtYXNrLmg+CiAjaW5jbHVkZSA8YXNtL21wc3BlYy5oPgogCi0vKiBNYXBwaW5ncyBiZXR3ZWVuIGxvZ2ljYWwgY3B1IG51bWJlciBhbmQgbm9kZSBudW1iZXIgKi8KICNpZmRlZiBDT05GSUdfWDg2XzMyCi1leHRlcm4gaW50IGNwdV90b19ub2RlX21hcFtdOwotI2Vsc2UKLS8qIFJldHVybnMgdGhlIG51bWJlciBvZiB0aGUgY3VycmVudCBOb2RlLiAqLwotI2RlZmluZSBudW1hX25vZGVfaWQoKQkJKGVhcmx5X2NwdV90b19ub2RlKHJhd19zbXBfcHJvY2Vzc29yX2lkKCkpKQotI2VuZGlmCiAKLURFQ0xBUkVfUEVSX0NQVShpbnQsIHg4Nl9jcHVfdG9fbm9kZV9tYXApOwotCi0jaWZkZWYgQ09ORklHX1NNUAotZXh0ZXJuIGludCB4ODZfY3B1X3RvX25vZGVfbWFwX2luaXRbXTsKLWV4dGVybiB2b2lkICp4ODZfY3B1X3RvX25vZGVfbWFwX2Vhcmx5X3B0cjsKLSNlbHNlCi0jZGVmaW5lIHg4Nl9jcHVfdG9fbm9kZV9tYXBfZWFybHlfcHRyIE5VTEwKLSNlbmRpZgotCisvKiBNYXBwaW5ncyBiZXR3ZWVuIG5vZGUgbnVtYmVyIGFuZCBjcHVzIG9uIHRoYXQgbm9kZS4gKi8KIGV4dGVybiBjcHVtYXNrX3Qgbm9kZV90b19jcHVtYXNrX21hcFtdOwogCi0jZGVmaW5lIE5VTUFfTk9fTk9ERQkoLTEpCisvKiBNYXBwaW5ncyBiZXR3ZWVuIGxvZ2ljYWwgY3B1IG51bWJlciBhbmQgbm9kZSBudW1iZXIgKi8KK2V4dGVybiBpbnQgY3B1X3RvX25vZGVfbWFwW107CiAKIC8qIFJldHVybnMgdGhlIG51bWJlciBvZiB0aGUgbm9kZSBjb250YWluaW5nIENQVSAnY3B1JyAqLwotI2lmZGVmIENPTkZJR19YODZfMzIKLSNkZWZpbmUgZWFybHlfY3B1X3RvX25vZGUoY3B1KQljcHVfdG9fbm9kZShjcHUpCiBzdGF0aWMgaW5saW5lIGludCBjcHVfdG9fbm9kZShpbnQgY3B1KQogewogCXJldHVybiBjcHVfdG9fbm9kZV9tYXBbY3B1XTsKIH0KKyNkZWZpbmUgZWFybHlfY3B1X3RvX25vZGUoY3B1KQljcHVfdG9fbm9kZShjcHUpCisKKy8qIFJldHVybnMgYSBiaXRtYXNrIG9mIENQVXMgb24gTm9kZSAnbm9kZScuCisgKgorICogU2lkZSBub3RlOiB0aGlzIGZ1bmN0aW9uIGNyZWF0ZXMgdGhlIHJldHVybmVkIGNwdW1hc2sgb24gdGhlIHN0YWNrCisgKiBzbyB3aXRoIGEgaGlnaCBOUl9DUFVTIGNvdW50LCBleGNlc3NpdmUgc3RhY2sgc3BhY2UgaXMgdXNlZC4gIFRoZQorICogbm9kZV90b19jcHVtYXNrX3B0ciBmdW5jdGlvbiBzaG91bGQgYmUgdXNlZCB3aGVuZXZlciBwb3NzaWJsZS4KKyAqLworc3RhdGljIGlubGluZSBjcHVtYXNrX3Qgbm9kZV90b19jcHVtYXNrKGludCBub2RlKQoreworCXJldHVybiBub2RlX3RvX2NwdW1hc2tfbWFwW25vZGVdOworfQogCiAjZWxzZSAvKiBDT05GSUdfWDg2XzY0ICovCiAKLSNpZmRlZiBDT05GSUdfU01QCi1zdGF0aWMgaW5saW5lIGludCBlYXJseV9jcHVfdG9fbm9kZShpbnQgY3B1KQotewotCWludCAqY3B1X3RvX25vZGVfbWFwID0geDg2X2NwdV90b19ub2RlX21hcF9lYXJseV9wdHI7CisvKiBNYXBwaW5ncyBiZXR3ZWVuIG5vZGUgbnVtYmVyIGFuZCBjcHVzIG9uIHRoYXQgbm9kZS4gKi8KK2V4dGVybiBjcHVtYXNrX3QgKm5vZGVfdG9fY3B1bWFza19tYXA7CiAKLQlpZiAoY3B1X3RvX25vZGVfbWFwKQotCQlyZXR1cm4gY3B1X3RvX25vZGVfbWFwW2NwdV07Ci0JZWxzZSBpZiAocGVyX2NwdV9vZmZzZXQoY3B1KSkKLQkJcmV0dXJuIHBlcl9jcHUoeDg2X2NwdV90b19ub2RlX21hcCwgY3B1KTsKLQllbHNlCi0JCXJldHVybiBOVU1BX05PX05PREU7Ci19Ci0jZWxzZQotI2RlZmluZQllYXJseV9jcHVfdG9fbm9kZShjcHUpCWNwdV90b19ub2RlKGNwdSkKLSNlbmRpZgorLyogTWFwcGluZ3MgYmV0d2VlbiBsb2dpY2FsIGNwdSBudW1iZXIgYW5kIG5vZGUgbnVtYmVyICovCitERUNMQVJFX0VBUkxZX1BFUl9DUFUoaW50LCB4ODZfY3B1X3RvX25vZGVfbWFwKTsKIAorLyogUmV0dXJucyB0aGUgbnVtYmVyIG9mIHRoZSBjdXJyZW50IE5vZGUuICovCisjZGVmaW5lIG51bWFfbm9kZV9pZCgpCQlyZWFkX3BkYShub2RlbnVtYmVyKQorCisjaWZkZWYgQ09ORklHX0RFQlVHX1BFUl9DUFVfTUFQUworZXh0ZXJuIGludCBjcHVfdG9fbm9kZShpbnQgY3B1KTsKK2V4dGVybiBpbnQgZWFybHlfY3B1X3RvX25vZGUoaW50IGNwdSk7CitleHRlcm4gY29uc3QgY3B1bWFza190ICpfbm9kZV90b19jcHVtYXNrX3B0cihpbnQgbm9kZSk7CitleHRlcm4gY3B1bWFza190IG5vZGVfdG9fY3B1bWFzayhpbnQgbm9kZSk7CisKKyNlbHNlCS8qICFDT05GSUdfREVCVUdfUEVSX0NQVV9NQVBTICovCisKKy8qIFJldHVybnMgdGhlIG51bWJlciBvZiB0aGUgbm9kZSBjb250YWluaW5nIENQVSAnY3B1JyAqLwogc3RhdGljIGlubGluZSBpbnQgY3B1X3RvX25vZGUoaW50IGNwdSkKIHsKLSNpZmRlZiBDT05GSUdfREVCVUdfUEVSX0NQVV9NQVBTCi0JaWYgKHg4Nl9jcHVfdG9fbm9kZV9tYXBfZWFybHlfcHRyKSB7Ci0JCXByaW50aygiS0VSTl9OT1RJQ0UgY3B1X3RvX25vZGUoJWQpOiB1c2FnZSB0b28gZWFybHkhXG4iLAotCQkgICAgICAgKGludCljcHUpOwotCQlkdW1wX3N0YWNrKCk7Ci0JCXJldHVybiAoKGludCAqKXg4Nl9jcHVfdG9fbm9kZV9tYXBfZWFybHlfcHRyKVtjcHVdOwotCX0KLSNlbmRpZgogCXJldHVybiBwZXJfY3B1KHg4Nl9jcHVfdG9fbm9kZV9tYXAsIGNwdSk7CiB9CiAKLSNpZmRlZglDT05GSUdfTlVNQQorLyogU2FtZSBmdW5jdGlvbiBidXQgdXNlZCBpZiBjYWxsZWQgYmVmb3JlIHBlcl9jcHUgYXJlYXMgYXJlIHNldHVwICovCitzdGF0aWMgaW5saW5lIGludCBlYXJseV9jcHVfdG9fbm9kZShpbnQgY3B1KQoreworCWlmIChlYXJseV9wZXJfY3B1X3B0cih4ODZfY3B1X3RvX25vZGVfbWFwKSkKKwkJcmV0dXJuIGVhcmx5X3Blcl9jcHVfcHRyKHg4Nl9jcHVfdG9fbm9kZV9tYXApW2NwdV07CisKKwlyZXR1cm4gcGVyX2NwdSh4ODZfY3B1X3RvX25vZGVfbWFwLCBjcHUpOworfQogCiAvKiBSZXR1cm5zIGEgcG9pbnRlciB0byB0aGUgY3B1bWFzayBvZiBDUFVzIG9uIE5vZGUgJ25vZGUnLiAqLworc3RhdGljIGlubGluZSBjb25zdCBjcHVtYXNrX3QgKl9ub2RlX3RvX2NwdW1hc2tfcHRyKGludCBub2RlKQoreworCXJldHVybiAmbm9kZV90b19jcHVtYXNrX21hcFtub2RlXTsKK30KKworLyogUmV0dXJucyBhIGJpdG1hc2sgb2YgQ1BVcyBvbiBOb2RlICdub2RlJy4gKi8KK3N0YXRpYyBpbmxpbmUgY3B1bWFza190IG5vZGVfdG9fY3B1bWFzayhpbnQgbm9kZSkKK3sKKwlyZXR1cm4gbm9kZV90b19jcHVtYXNrX21hcFtub2RlXTsKK30KKworI2VuZGlmIC8qICFDT05GSUdfREVCVUdfUEVSX0NQVV9NQVBTICovCisKKy8qIFJlcGxhY2UgZGVmYXVsdCBub2RlX3RvX2NwdW1hc2tfcHRyIHdpdGggb3B0aW1pemVkIHZlcnNpb24gKi8KICNkZWZpbmUgbm9kZV90b19jcHVtYXNrX3B0cih2LCBub2RlKQkJXAotCQljcHVtYXNrX3QgKnYgPSAmKG5vZGVfdG9fY3B1bWFza19tYXBbbm9kZV0pCisJCWNvbnN0IGNwdW1hc2tfdCAqdiA9IF9ub2RlX3RvX2NwdW1hc2tfcHRyKG5vZGUpCiAKICNkZWZpbmUgbm9kZV90b19jcHVtYXNrX3B0cl9uZXh0KHYsIG5vZGUpCVwKLQkJCSAgIHYgPSAmKG5vZGVfdG9fY3B1bWFza19tYXBbbm9kZV0pCi0jZW5kaWYKKwkJCSAgIHYgPSBfbm9kZV90b19jcHVtYXNrX3B0cihub2RlKQogCiAjZW5kaWYgLyogQ09ORklHX1g4Nl82NCAqLwogCkBAIC0xMTcsMjAgKzEzMSw2IEBACiAgKi8KICNkZWZpbmUgcGFyZW50X25vZGUobm9kZSkgKG5vZGUpCiAKLS8qIFJldHVybnMgYSBiaXRtYXNrIG9mIENQVXMgb24gTm9kZSAnbm9kZScuICovCi1zdGF0aWMgaW5saW5lIGNwdW1hc2tfdCBub2RlX3RvX2NwdW1hc2soaW50IG5vZGUpCi17Ci0JcmV0dXJuIG5vZGVfdG9fY3B1bWFza19tYXBbbm9kZV07Ci19Ci0KLS8qIFJldHVybnMgdGhlIG51bWJlciBvZiB0aGUgZmlyc3QgQ1BVIG9uIE5vZGUgJ25vZGUnLiAqLwotc3RhdGljIGlubGluZSBpbnQgbm9kZV90b19maXJzdF9jcHUoaW50IG5vZGUpCi17Ci0JY3B1bWFza190IG1hc2sgPSBub2RlX3RvX2NwdW1hc2sobm9kZSk7Ci0KLQlyZXR1cm4gZmlyc3RfY3B1KG1hc2spOwotfQotCiAjZGVmaW5lIHBjaWJ1c190b19ub2RlKGJ1cykgX19wY2lidXNfdG9fbm9kZShidXMpCiAjZGVmaW5lIHBjaWJ1c190b19jcHVtYXNrKGJ1cykgX19wY2lidXNfdG9fY3B1bWFzayhidXMpCiAKQEAgLTE4MCwxMiArMTgwLDQ0IEBACiAjZGVmaW5lIG5vZGVfZGlzdGFuY2UoYSwgYikgX19ub2RlX2Rpc3RhbmNlKGEsIGIpCiAjZW5kaWYKIAotI2Vsc2UgLyogQ09ORklHX05VTUEgKi8KKyNlbHNlIC8qICFDT05GSUdfTlVNQSAqLwogCisjZGVmaW5lIG51bWFfbm9kZV9pZCgpCQkwCisjZGVmaW5lCWNwdV90b19ub2RlKGNwdSkJMAorI2RlZmluZQllYXJseV9jcHVfdG9fbm9kZShjcHUpCTAKKworc3RhdGljIGlubGluZSBjb25zdCBjcHVtYXNrX3QgKl9ub2RlX3RvX2NwdW1hc2tfcHRyKGludCBub2RlKQoreworCXJldHVybiAmY3B1X29ubGluZV9tYXA7Cit9CitzdGF0aWMgaW5saW5lIGNwdW1hc2tfdCBub2RlX3RvX2NwdW1hc2soaW50IG5vZGUpCit7CisJcmV0dXJuIGNwdV9vbmxpbmVfbWFwOworfQorc3RhdGljIGlubGluZSBpbnQgbm9kZV90b19maXJzdF9jcHUoaW50IG5vZGUpCit7CisJcmV0dXJuIGZpcnN0X2NwdShjcHVfb25saW5lX21hcCk7Cit9CisKKy8qIFJlcGxhY2UgZGVmYXVsdCBub2RlX3RvX2NwdW1hc2tfcHRyIHdpdGggb3B0aW1pemVkIHZlcnNpb24gKi8KKyNkZWZpbmUgbm9kZV90b19jcHVtYXNrX3B0cih2LCBub2RlKQkJXAorCQljb25zdCBjcHVtYXNrX3QgKnYgPSBfbm9kZV90b19jcHVtYXNrX3B0cihub2RlKQorCisjZGVmaW5lIG5vZGVfdG9fY3B1bWFza19wdHJfbmV4dCh2LCBub2RlKQlcCisJCQkgICB2ID0gX25vZGVfdG9fY3B1bWFza19wdHIobm9kZSkKICNlbmRpZgogCiAjaW5jbHVkZSA8YXNtLWdlbmVyaWMvdG9wb2xvZ3kuaD4KIAorI2lmZGVmIENPTkZJR19OVU1BCisvKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgdGhlIGZpcnN0IENQVSBvbiBOb2RlICdub2RlJy4gKi8KK3N0YXRpYyBpbmxpbmUgaW50IG5vZGVfdG9fZmlyc3RfY3B1KGludCBub2RlKQoreworCW5vZGVfdG9fY3B1bWFza19wdHIobWFzaywgbm9kZSk7CisJcmV0dXJuIGZpcnN0X2NwdSgqbWFzayk7Cit9CisjZW5kaWYKKwogZXh0ZXJuIGNwdW1hc2tfdCBjcHVfY29yZWdyb3VwX21hcChpbnQgY3B1KTsKIAogI2lmZGVmIEVOQUJMRV9UT1BPX0RFRklORVMKQEAgLTE5Myw2ICsyMjUsOSBAQAogI2RlZmluZSB0b3BvbG9neV9jb3JlX2lkKGNwdSkJCQkoY3B1X2RhdGEoY3B1KS5jcHVfY29yZV9pZCkKICNkZWZpbmUgdG9wb2xvZ3lfY29yZV9zaWJsaW5ncyhjcHUpCQkocGVyX2NwdShjcHVfY29yZV9tYXAsIGNwdSkpCiAjZGVmaW5lIHRvcG9sb2d5X3RocmVhZF9zaWJsaW5ncyhjcHUpCQkocGVyX2NwdShjcHVfc2libGluZ19tYXAsIGNwdSkpCisKKy8qIGluZGljYXRlcyB0aGF0IHBvaW50ZXJzIHRvIHRoZSB0b3BvbG9neSBjcHVtYXNrX3QgbWFwcyBhcmUgdmFsaWQgKi8KKyNkZWZpbmUgYXJjaF9wcm92aWRlc190b3BvbG9neV9wb2ludGVycwkJeWVzCiAjZW5kaWYKIAogc3RhdGljIGlubGluZSB2b2lkIGFyY2hfZml4X3BoeXNfcGFja2FnZV9pZChpbnQgbnVtLCB1MzIgc2xvdCkKQEAgLTIyMCw0ICsyNTUsNCBAQAogfQogI2VuZGlmCiAKLSNlbmRpZgorI2VuZGlmIC8qIF9BU01fWDg2X1RPUE9MT0dZX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni90c2MuaCBiL2luY2x1ZGUvYXNtLXg4Ni90c2MuaAppbmRleCA1NDg4NzNhLi5jYjZmNmVlIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvdHNjLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3RzYy5oCkBAIC00OCw3ICs0OCw2IEBACiBleHRlcm4gdm9pZCB0c2NfaW5pdCh2b2lkKTsKIGV4dGVybiB2b2lkIG1hcmtfdHNjX3Vuc3RhYmxlKGNoYXIgKnJlYXNvbik7CiBleHRlcm4gaW50IHVuc3luY2hyb25pemVkX3RzYyh2b2lkKTsKLWV4dGVybiB2b2lkIGluaXRfdHNjX2Nsb2Nrc291cmNlKHZvaWQpOwogaW50IGNoZWNrX3RzY191bnN0YWJsZSh2b2lkKTsKIAogLyoKQEAgLTU4LDcgKzU3LDYgQEAKIGV4dGVybiB2b2lkIGNoZWNrX3RzY19zeW5jX3NvdXJjZShpbnQgY3B1KTsKIGV4dGVybiB2b2lkIGNoZWNrX3RzY19zeW5jX3RhcmdldCh2b2lkKTsKIAotZXh0ZXJuIHZvaWQgdHNjX2NhbGlicmF0ZSh2b2lkKTsKIGV4dGVybiBpbnQgbm90c2Nfc2V0dXAoY2hhciAqKTsKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvdWFjY2Vzcy5oIGIvaW5jbHVkZS9hc20teDg2L3VhY2Nlc3MuaAppbmRleCA5ZmVmZDI5Li5mNmZhNGQ4IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvdWFjY2Vzcy5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni91YWNjZXNzLmgKQEAgLTEsNSArMSw0NTMgQEAKKyNpZm5kZWYgX0FTTV9VQUNDRVNfSF8KKyNkZWZpbmUgX0FTTV9VQUNDRVNfSF8KKy8qCisgKiBVc2VyIHNwYWNlIG1lbW9yeSBhY2Nlc3MgZnVuY3Rpb25zCisgKi8KKyNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgorI2luY2x1ZGUgPGxpbnV4L2NvbXBpbGVyLmg+CisjaW5jbHVkZSA8bGludXgvdGhyZWFkX2luZm8uaD4KKyNpbmNsdWRlIDxsaW51eC9wcmVmZXRjaC5oPgorI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgorI2luY2x1ZGUgPGFzbS9hc20uaD4KKyNpbmNsdWRlIDxhc20vcGFnZS5oPgorCisjZGVmaW5lIFZFUklGWV9SRUFEIDAKKyNkZWZpbmUgVkVSSUZZX1dSSVRFIDEKKworLyoKKyAqIFRoZSBmcyB2YWx1ZSBkZXRlcm1pbmVzIHdoZXRoZXIgYXJndW1lbnQgdmFsaWRpdHkgY2hlY2tpbmcgc2hvdWxkIGJlCisgKiBwZXJmb3JtZWQgb3Igbm90LiAgSWYgZ2V0X2ZzKCkgPT0gVVNFUl9EUywgY2hlY2tpbmcgaXMgcGVyZm9ybWVkLCB3aXRoCisgKiBnZXRfZnMoKSA9PSBLRVJORUxfRFMsIGNoZWNraW5nIGlzIGJ5cGFzc2VkLgorICoKKyAqIEZvciBoaXN0b3JpY2FsIHJlYXNvbnMsIHRoZXNlIG1hY3JvcyBhcmUgZ3Jvc3NseSBtaXNuYW1lZC4KKyAqLworCisjZGVmaW5lIE1BS0VfTU1fU0VHKHMpCSgobW1fc2VnbWVudF90KSB7IChzKSB9KQorCisjZGVmaW5lIEtFUk5FTF9EUwlNQUtFX01NX1NFRygtMVVMKQorI2RlZmluZSBVU0VSX0RTCQlNQUtFX01NX1NFRyhQQUdFX09GRlNFVCkKKworI2RlZmluZSBnZXRfZHMoKQkoS0VSTkVMX0RTKQorI2RlZmluZSBnZXRfZnMoKQkoY3VycmVudF90aHJlYWRfaW5mbygpLT5hZGRyX2xpbWl0KQorI2RlZmluZSBzZXRfZnMoeCkJKGN1cnJlbnRfdGhyZWFkX2luZm8oKS0+YWRkcl9saW1pdCA9ICh4KSkKKworI2RlZmluZSBzZWdtZW50X2VxKGEsIGIpCSgoYSkuc2VnID09IChiKS5zZWcpCisKKyNkZWZpbmUgX19hZGRyX29rKGFkZHIpCQkJCQlcCisJKCh1bnNpZ25lZCBsb25nIF9fZm9yY2UpKGFkZHIpIDwJCVwKKwkgKGN1cnJlbnRfdGhyZWFkX2luZm8oKS0+YWRkcl9saW1pdC5zZWcpKQorCisvKgorICogVGVzdCB3aGV0aGVyIGEgYmxvY2sgb2YgbWVtb3J5IGlzIGEgdmFsaWQgdXNlciBzcGFjZSBhZGRyZXNzLgorICogUmV0dXJucyAwIGlmIHRoZSByYW5nZSBpcyB2YWxpZCwgbm9uemVybyBvdGhlcndpc2UuCisgKgorICogVGhpcyBpcyBlcXVpdmFsZW50IHRvIHRoZSBmb2xsb3dpbmcgdGVzdDoKKyAqICh1MzMpYWRkciArICh1MzMpc2l6ZSA+PSAodTMzKWN1cnJlbnQtPmFkZHJfbGltaXQuc2VnICh1NjUgZm9yIHg4Nl82NCkKKyAqCisgKiBUaGlzIG5lZWRzIDMzLWJpdCAoNjUtYml0IGZvciB4ODZfNjQpIGFyaXRobWV0aWMuIFdlIGhhdmUgYSBjYXJyeS4uLgorICovCisKKyNkZWZpbmUgX19yYW5nZV9ub3Rfb2soYWRkciwgc2l6ZSkJCQkJCVwKKyh7CQkJCQkJCQkJXAorCXVuc2lnbmVkIGxvbmcgZmxhZywgcm9rc3VtOwkJCQkJXAorCV9fY2hrX3VzZXJfcHRyKGFkZHIpOwkJCQkJCVwKKwlhc20oImFkZCAlMywlMSA7IHNiYiAlMCwlMCA7IGNtcCAlMSwlNCA7IHNiYiAkMCwlMCIJCVwKKwkgICAgOiAiPSZyIiAoZmxhZyksICI9ciIgKHJva3N1bSkJCQkJXAorCSAgICA6ICIxIiAoYWRkciksICJnIiAoKGxvbmcpKHNpemUpKSwJCQkJXAorCSAgICAgICJybSIgKGN1cnJlbnRfdGhyZWFkX2luZm8oKS0+YWRkcl9saW1pdC5zZWcpKTsJCVwKKwlmbGFnOwkJCQkJCQkJXAorfSkKKworLyoqCisgKiBhY2Nlc3Nfb2s6IC0gQ2hlY2tzIGlmIGEgdXNlciBzcGFjZSBwb2ludGVyIGlzIHZhbGlkCisgKiBAdHlwZTogVHlwZSBvZiBhY2Nlc3M6ICVWRVJJRllfUkVBRCBvciAlVkVSSUZZX1dSSVRFLiAgTm90ZSB0aGF0CisgKiAgICAgICAgJVZFUklGWV9XUklURSBpcyBhIHN1cGVyc2V0IG9mICVWRVJJRllfUkVBRCAtIGlmIGl0IGlzIHNhZmUKKyAqICAgICAgICB0byB3cml0ZSB0byBhIGJsb2NrLCBpdCBpcyBhbHdheXMgc2FmZSB0byByZWFkIGZyb20gaXQuCisgKiBAYWRkcjogVXNlciBzcGFjZSBwb2ludGVyIHRvIHN0YXJ0IG9mIGJsb2NrIHRvIGNoZWNrCisgKiBAc2l6ZTogU2l6ZSBvZiBibG9jayB0byBjaGVjaworICoKKyAqIENvbnRleHQ6IFVzZXIgY29udGV4dCBvbmx5LiAgVGhpcyBmdW5jdGlvbiBtYXkgc2xlZXAuCisgKgorICogQ2hlY2tzIGlmIGEgcG9pbnRlciB0byBhIGJsb2NrIG9mIG1lbW9yeSBpbiB1c2VyIHNwYWNlIGlzIHZhbGlkLgorICoKKyAqIFJldHVybnMgdHJ1ZSAobm9uemVybykgaWYgdGhlIG1lbW9yeSBibG9jayBtYXkgYmUgdmFsaWQsIGZhbHNlICh6ZXJvKQorICogaWYgaXQgaXMgZGVmaW5pdGVseSBpbnZhbGlkLgorICoKKyAqIE5vdGUgdGhhdCwgZGVwZW5kaW5nIG9uIGFyY2hpdGVjdHVyZSwgdGhpcyBmdW5jdGlvbiBwcm9iYWJseSBqdXN0CisgKiBjaGVja3MgdGhhdCB0aGUgcG9pbnRlciBpcyBpbiB0aGUgdXNlciBzcGFjZSByYW5nZSAtIGFmdGVyIGNhbGxpbmcKKyAqIHRoaXMgZnVuY3Rpb24sIG1lbW9yeSBhY2Nlc3MgZnVuY3Rpb25zIG1heSBzdGlsbCByZXR1cm4gLUVGQVVMVC4KKyAqLworI2RlZmluZSBhY2Nlc3Nfb2sodHlwZSwgYWRkciwgc2l6ZSkgKGxpa2VseShfX3JhbmdlX25vdF9vayhhZGRyLCBzaXplKSA9PSAwKSkKKworLyoKKyAqIFRoZSBleGNlcHRpb24gdGFibGUgY29uc2lzdHMgb2YgcGFpcnMgb2YgYWRkcmVzc2VzOiB0aGUgZmlyc3QgaXMgdGhlCisgKiBhZGRyZXNzIG9mIGFuIGluc3RydWN0aW9uIHRoYXQgaXMgYWxsb3dlZCB0byBmYXVsdCwgYW5kIHRoZSBzZWNvbmQgaXMKKyAqIHRoZSBhZGRyZXNzIGF0IHdoaWNoIHRoZSBwcm9ncmFtIHNob3VsZCBjb250aW51ZS4gIE5vIHJlZ2lzdGVycyBhcmUKKyAqIG1vZGlmaWVkLCBzbyBpdCBpcyBlbnRpcmVseSB1cCB0byB0aGUgY29udGludWF0aW9uIGNvZGUgdG8gZmlndXJlIG91dAorICogd2hhdCB0byBkby4KKyAqCisgKiBBbGwgdGhlIHJvdXRpbmVzIGJlbG93IHVzZSBiaXRzIG9mIGZpeHVwIGNvZGUgdGhhdCBhcmUgb3V0IG9mIGxpbmUKKyAqIHdpdGggdGhlIG1haW4gaW5zdHJ1Y3Rpb24gcGF0aC4gIFRoaXMgbWVhbnMgd2hlbiBldmVyeXRoaW5nIGlzIHdlbGwsCisgKiB3ZSBkb24ndCBldmVuIGhhdmUgdG8ganVtcCBvdmVyIHRoZW0uICBGdXJ0aGVyLCB0aGV5IGRvIG5vdCBpbnRydWRlCisgKiBvbiBvdXIgY2FjaGUgb3IgdGxiIGVudHJpZXMuCisgKi8KKworc3RydWN0IGV4Y2VwdGlvbl90YWJsZV9lbnRyeSB7CisJdW5zaWduZWQgbG9uZyBpbnNuLCBmaXh1cDsKK307CisKK2V4dGVybiBpbnQgZml4dXBfZXhjZXB0aW9uKHN0cnVjdCBwdF9yZWdzICpyZWdzKTsKKworLyoKKyAqIFRoZXNlIGFyZSB0aGUgbWFpbiBzaW5nbGUtdmFsdWUgdHJhbnNmZXIgcm91dGluZXMuICBUaGV5IGF1dG9tYXRpY2FsbHkKKyAqIHVzZSB0aGUgcmlnaHQgc2l6ZSBpZiB3ZSBqdXN0IGhhdmUgdGhlIHJpZ2h0IHBvaW50ZXIgdHlwZS4KKyAqCisgKiBUaGlzIGdldHMga2luZCBvZiB1Z2x5LiBXZSB3YW50IHRvIHJldHVybiBfdHdvXyB2YWx1ZXMgaW4gImdldF91c2VyKCkiCisgKiBhbmQgeWV0IHdlIGRvbid0IHdhbnQgdG8gZG8gYW55IHBvaW50ZXJzLCBiZWNhdXNlIHRoYXQgaXMgdG9vIG11Y2gKKyAqIG9mIGEgcGVyZm9ybWFuY2UgaW1wYWN0LiBUaHVzIHdlIGhhdmUgYSBmZXcgcmF0aGVyIHVnbHkgbWFjcm9zIGhlcmUsCisgKiBhbmQgaGlkZSBhbGwgdGhlIHVnbGluZXNzIGZyb20gdGhlIHVzZXIuCisgKgorICogVGhlICJfX3h4eCIgdmVyc2lvbnMgb2YgdGhlIHVzZXIgYWNjZXNzIGZ1bmN0aW9ucyBhcmUgdmVyc2lvbnMgdGhhdAorICogZG8gbm90IHZlcmlmeSB0aGUgYWRkcmVzcyBzcGFjZSwgdGhhdCBtdXN0IGhhdmUgYmVlbiBkb25lIHByZXZpb3VzbHkKKyAqIHdpdGggYSBzZXBhcmF0ZSAiYWNjZXNzX29rKCkiIGNhbGwgKHRoaXMgaXMgdXNlZCB3aGVuIHdlIGRvIG11bHRpcGxlCisgKiBhY2Nlc3NlcyB0byB0aGUgc2FtZSBhcmVhIG9mIHVzZXIgbWVtb3J5KS4KKyAqLworCitleHRlcm4gaW50IF9fZ2V0X3VzZXJfMSh2b2lkKTsKK2V4dGVybiBpbnQgX19nZXRfdXNlcl8yKHZvaWQpOworZXh0ZXJuIGludCBfX2dldF91c2VyXzQodm9pZCk7CitleHRlcm4gaW50IF9fZ2V0X3VzZXJfOCh2b2lkKTsKK2V4dGVybiBpbnQgX19nZXRfdXNlcl9iYWQodm9pZCk7CisKKyNkZWZpbmUgX19nZXRfdXNlcl94KHNpemUsIHJldCwgeCwgcHRyKQkJICAgICAgXAorCWFzbSB2b2xhdGlsZSgiY2FsbCBfX2dldF91c2VyXyIgI3NpemUJICAgICAgXAorCQkgICAgIDogIj1hIiAocmV0KSwiPWQiICh4KQkgICAgICBcCisJCSAgICAgOiAiMCIgKHB0cikpCQkgICAgICBcCisKKy8qIENhcmVmdWw6IHdlIGhhdmUgdG8gY2FzdCB0aGUgcmVzdWx0IHRvIHRoZSB0eXBlIG9mIHRoZSBwb2ludGVyCisgKiBmb3Igc2lnbiByZWFzb25zICovCisKKy8qKgorICogZ2V0X3VzZXI6IC0gR2V0IGEgc2ltcGxlIHZhcmlhYmxlIGZyb20gdXNlciBzcGFjZS4KKyAqIEB4OiAgIFZhcmlhYmxlIHRvIHN0b3JlIHJlc3VsdC4KKyAqIEBwdHI6IFNvdXJjZSBhZGRyZXNzLCBpbiB1c2VyIHNwYWNlLgorICoKKyAqIENvbnRleHQ6IFVzZXIgY29udGV4dCBvbmx5LiAgVGhpcyBmdW5jdGlvbiBtYXkgc2xlZXAuCisgKgorICogVGhpcyBtYWNybyBjb3BpZXMgYSBzaW5nbGUgc2ltcGxlIHZhcmlhYmxlIGZyb20gdXNlciBzcGFjZSB0byBrZXJuZWwKKyAqIHNwYWNlLiAgSXQgc3VwcG9ydHMgc2ltcGxlIHR5cGVzIGxpa2UgY2hhciBhbmQgaW50LCBidXQgbm90IGxhcmdlcgorICogZGF0YSB0eXBlcyBsaWtlIHN0cnVjdHVyZXMgb3IgYXJyYXlzLgorICoKKyAqIEBwdHIgbXVzdCBoYXZlIHBvaW50ZXItdG8tc2ltcGxlLXZhcmlhYmxlIHR5cGUsIGFuZCB0aGUgcmVzdWx0IG9mCisgKiBkZXJlZmVyZW5jaW5nIEBwdHIgbXVzdCBiZSBhc3NpZ25hYmxlIHRvIEB4IHdpdGhvdXQgYSBjYXN0LgorICoKKyAqIFJldHVybnMgemVybyBvbiBzdWNjZXNzLCBvciAtRUZBVUxUIG9uIGVycm9yLgorICogT24gZXJyb3IsIHRoZSB2YXJpYWJsZSBAeCBpcyBzZXQgdG8gemVyby4KKyAqLworI2lmZGVmIENPTkZJR19YODZfMzIKKyNkZWZpbmUgX19nZXRfdXNlcl84KF9fcmV0X2d1LCBfX3ZhbF9ndSwgcHRyKQkJCQlcCisJCV9fZ2V0X3VzZXJfeChYLCBfX3JldF9ndSwgX192YWxfZ3UsIHB0cikKKyNlbHNlCisjZGVmaW5lIF9fZ2V0X3VzZXJfOChfX3JldF9ndSwgX192YWxfZ3UsIHB0cikJCQkJXAorCQlfX2dldF91c2VyX3goOCwgX19yZXRfZ3UsIF9fdmFsX2d1LCBwdHIpCisjZW5kaWYKKworI2RlZmluZSBnZXRfdXNlcih4LCBwdHIpCQkJCQkJXAorKHsJCQkJCQkJCQlcCisJaW50IF9fcmV0X2d1OwkJCQkJCQlcCisJdW5zaWduZWQgbG9uZyBfX3ZhbF9ndTsJCQkJCQlcCisJX19jaGtfdXNlcl9wdHIocHRyKTsJCQkJCQlcCisJc3dpdGNoIChzaXplb2YoKihwdHIpKSkgewkJCQkJXAorCWNhc2UgMToJCQkJCQkJCVwKKwkJX19nZXRfdXNlcl94KDEsIF9fcmV0X2d1LCBfX3ZhbF9ndSwgcHRyKTsJCVwKKwkJYnJlYWs7CQkJCQkJCVwKKwljYXNlIDI6CQkJCQkJCQlcCisJCV9fZ2V0X3VzZXJfeCgyLCBfX3JldF9ndSwgX192YWxfZ3UsIHB0cik7CQlcCisJCWJyZWFrOwkJCQkJCQlcCisJY2FzZSA0OgkJCQkJCQkJXAorCQlfX2dldF91c2VyX3goNCwgX19yZXRfZ3UsIF9fdmFsX2d1LCBwdHIpOwkJXAorCQlicmVhazsJCQkJCQkJXAorCWNhc2UgODoJCQkJCQkJCVwKKwkJX19nZXRfdXNlcl84KF9fcmV0X2d1LCBfX3ZhbF9ndSwgcHRyKTsJCQlcCisJCWJyZWFrOwkJCQkJCQlcCisJZGVmYXVsdDoJCQkJCQkJXAorCQlfX2dldF91c2VyX3goWCwgX19yZXRfZ3UsIF9fdmFsX2d1LCBwdHIpOwkJXAorCQlicmVhazsJCQkJCQkJXAorCX0JCQkJCQkJCVwKKwkoeCkgPSAoX190eXBlb2ZfXygqKHB0cikpKV9fdmFsX2d1OwkJCQlcCisJX19yZXRfZ3U7CQkJCQkJCVwKK30pCisKKyNkZWZpbmUgX19wdXRfdXNlcl94KHNpemUsIHgsIHB0ciwgX19yZXRfcHUpCQkJXAorCWFzbSB2b2xhdGlsZSgiY2FsbCBfX3B1dF91c2VyXyIgI3NpemUgOiAiPWEiIChfX3JldF9wdSkJXAorCQkgICAgIDoiMCIgKCh0eXBlb2YoKihwdHIpKSkoeCkpLCAiYyIgKHB0cikgOiAiZWJ4IikKKworCisKKyNpZmRlZiBDT05GSUdfWDg2XzMyCisjZGVmaW5lIF9fcHV0X3VzZXJfdTY0KHgsIGFkZHIsIGVycikJCQkJCVwKKwlhc20gdm9sYXRpbGUoIjE6CW1vdmwgJSVlYXgsMCglMilcbiIJCQlcCisJCSAgICAgIjI6CW1vdmwgJSVlZHgsNCglMilcbiIJCQlcCisJCSAgICAgIjM6XG4iCQkJCQkJXAorCQkgICAgICIuc2VjdGlvbiAuZml4dXAsXCJheFwiXG4iCQkJCVwKKwkJICAgICAiNDoJbW92bCAlMywlMFxuIgkJCQlcCisJCSAgICAgIglqbXAgM2JcbiIJCQkJCVwKKwkJICAgICAiLnByZXZpb3VzXG4iCQkJCQlcCisJCSAgICAgX0FTTV9FWFRBQkxFKDFiLCA0YikJCQkJXAorCQkgICAgIF9BU01fRVhUQUJMRSgyYiwgNGIpCQkJCVwKKwkJICAgICA6ICI9ciIgKGVycikJCQkJCVwKKwkJICAgICA6ICJBIiAoeCksICJyIiAoYWRkciksICJpIiAoLUVGQVVMVCksICIwIiAoZXJyKSkKKworI2RlZmluZSBfX3B1dF91c2VyX3g4KHgsIHB0ciwgX19yZXRfcHUpCQkJCVwKKwlhc20gdm9sYXRpbGUoImNhbGwgX19wdXRfdXNlcl84IiA6ICI9YSIgKF9fcmV0X3B1KQlcCisJCSAgICAgOiAiQSIgKCh0eXBlb2YoKihwdHIpKSkoeCkpLCAiYyIgKHB0cikgOiAiZWJ4IikKKyNlbHNlCisjZGVmaW5lIF9fcHV0X3VzZXJfdTY0KHgsIHB0ciwgcmV0dmFsKSBcCisJX19wdXRfdXNlcl9hc20oeCwgcHRyLCByZXR2YWwsICJxIiwgIiIsICJaciIsIC1FRkFVTFQpCisjZGVmaW5lIF9fcHV0X3VzZXJfeDgoeCwgcHRyLCBfX3JldF9wdSkgX19wdXRfdXNlcl94KDgsIHgsIHB0ciwgX19yZXRfcHUpCisjZW5kaWYKKworZXh0ZXJuIHZvaWQgX19wdXRfdXNlcl9iYWQodm9pZCk7CisKKy8qCisgKiBTdHJhbmdlIG1hZ2ljIGNhbGxpbmcgY29udmVudGlvbjogcG9pbnRlciBpbiAlZWN4LAorICogdmFsdWUgaW4gJWVheCg6JWVkeCksIHJldHVybiB2YWx1ZSBpbiAlZWF4LiBjbG9iYmVycyAlcmJ4CisgKi8KK2V4dGVybiB2b2lkIF9fcHV0X3VzZXJfMSh2b2lkKTsKK2V4dGVybiB2b2lkIF9fcHV0X3VzZXJfMih2b2lkKTsKK2V4dGVybiB2b2lkIF9fcHV0X3VzZXJfNCh2b2lkKTsKK2V4dGVybiB2b2lkIF9fcHV0X3VzZXJfOCh2b2lkKTsKKworI2lmZGVmIENPTkZJR19YODZfV1BfV09SS1NfT0sKKworLyoqCisgKiBwdXRfdXNlcjogLSBXcml0ZSBhIHNpbXBsZSB2YWx1ZSBpbnRvIHVzZXIgc3BhY2UuCisgKiBAeDogICBWYWx1ZSB0byBjb3B5IHRvIHVzZXIgc3BhY2UuCisgKiBAcHRyOiBEZXN0aW5hdGlvbiBhZGRyZXNzLCBpbiB1c2VyIHNwYWNlLgorICoKKyAqIENvbnRleHQ6IFVzZXIgY29udGV4dCBvbmx5LiAgVGhpcyBmdW5jdGlvbiBtYXkgc2xlZXAuCisgKgorICogVGhpcyBtYWNybyBjb3BpZXMgYSBzaW5nbGUgc2ltcGxlIHZhbHVlIGZyb20ga2VybmVsIHNwYWNlIHRvIHVzZXIKKyAqIHNwYWNlLiAgSXQgc3VwcG9ydHMgc2ltcGxlIHR5cGVzIGxpa2UgY2hhciBhbmQgaW50LCBidXQgbm90IGxhcmdlcgorICogZGF0YSB0eXBlcyBsaWtlIHN0cnVjdHVyZXMgb3IgYXJyYXlzLgorICoKKyAqIEBwdHIgbXVzdCBoYXZlIHBvaW50ZXItdG8tc2ltcGxlLXZhcmlhYmxlIHR5cGUsIGFuZCBAeCBtdXN0IGJlIGFzc2lnbmFibGUKKyAqIHRvIHRoZSByZXN1bHQgb2YgZGVyZWZlcmVuY2luZyBAcHRyLgorICoKKyAqIFJldHVybnMgemVybyBvbiBzdWNjZXNzLCBvciAtRUZBVUxUIG9uIGVycm9yLgorICovCisjZGVmaW5lIHB1dF91c2VyKHgsIHB0cikJCQkJCVwKKyh7CQkJCQkJCQlcCisJaW50IF9fcmV0X3B1OwkJCQkJCVwKKwlfX3R5cGVvZl9fKCoocHRyKSkgX19wdV92YWw7CQkJCVwKKwlfX2Noa191c2VyX3B0cihwdHIpOwkJCQkJXAorCV9fcHVfdmFsID0geDsJCQkJCQlcCisJc3dpdGNoIChzaXplb2YoKihwdHIpKSkgewkJCQlcCisJY2FzZSAxOgkJCQkJCQlcCisJCV9fcHV0X3VzZXJfeCgxLCBfX3B1X3ZhbCwgcHRyLCBfX3JldF9wdSk7CVwKKwkJYnJlYWs7CQkJCQkJXAorCWNhc2UgMjoJCQkJCQkJXAorCQlfX3B1dF91c2VyX3goMiwgX19wdV92YWwsIHB0ciwgX19yZXRfcHUpOwlcCisJCWJyZWFrOwkJCQkJCVwKKwljYXNlIDQ6CQkJCQkJCVwKKwkJX19wdXRfdXNlcl94KDQsIF9fcHVfdmFsLCBwdHIsIF9fcmV0X3B1KTsJXAorCQlicmVhazsJCQkJCQlcCisJY2FzZSA4OgkJCQkJCQlcCisJCV9fcHV0X3VzZXJfeDgoX19wdV92YWwsIHB0ciwgX19yZXRfcHUpOwkJXAorCQlicmVhazsJCQkJCQlcCisJZGVmYXVsdDoJCQkJCQlcCisJCV9fcHV0X3VzZXJfeChYLCBfX3B1X3ZhbCwgcHRyLCBfX3JldF9wdSk7CVwKKwkJYnJlYWs7CQkJCQkJXAorCX0JCQkJCQkJXAorCV9fcmV0X3B1OwkJCQkJCVwKK30pCisKKyNkZWZpbmUgX19wdXRfdXNlcl9zaXplKHgsIHB0ciwgc2l6ZSwgcmV0dmFsLCBlcnJyZXQpCQkJXAorZG8gewkJCQkJCQkJCVwKKwlyZXR2YWwgPSAwOwkJCQkJCQlcCisJX19jaGtfdXNlcl9wdHIocHRyKTsJCQkJCQlcCisJc3dpdGNoIChzaXplKSB7CQkJCQkJCVwKKwljYXNlIDE6CQkJCQkJCQlcCisJCV9fcHV0X3VzZXJfYXNtKHgsIHB0ciwgcmV0dmFsLCAiYiIsICJiIiwgImlxIiwgZXJycmV0KTsJXAorCQlicmVhazsJCQkJCQkJXAorCWNhc2UgMjoJCQkJCQkJCVwKKwkJX19wdXRfdXNlcl9hc20oeCwgcHRyLCByZXR2YWwsICJ3IiwgInciLCAiaXIiLCBlcnJyZXQpOwlcCisJCWJyZWFrOwkJCQkJCQlcCisJY2FzZSA0OgkJCQkJCQkJXAorCQlfX3B1dF91c2VyX2FzbSh4LCBwdHIsIHJldHZhbCwgImwiLCAiayIsICAiaXIiLCBlcnJyZXQpO1wKKwkJYnJlYWs7CQkJCQkJCVwKKwljYXNlIDg6CQkJCQkJCQlcCisJCV9fcHV0X3VzZXJfdTY0KChfX3R5cGVvZl9fKCpwdHIpKSh4KSwgcHRyLCByZXR2YWwpOwlcCisJCWJyZWFrOwkJCQkJCQlcCisJZGVmYXVsdDoJCQkJCQkJXAorCQlfX3B1dF91c2VyX2JhZCgpOwkJCQkJXAorCX0JCQkJCQkJCVwKK30gd2hpbGUgKDApCisKKyNlbHNlCisKKyNkZWZpbmUgX19wdXRfdXNlcl9zaXplKHgsIHB0ciwgc2l6ZSwgcmV0dmFsLCBlcnJyZXQpCQkJXAorZG8gewkJCQkJCQkJCVwKKwlfX3R5cGVvZl9fKCoocHRyKSlfX3B1c190bXAgPSB4OwkJCQlcCisJcmV0dmFsID0gMDsJCQkJCQkJXAorCQkJCQkJCQkJXAorCWlmICh1bmxpa2VseShfX2NvcHlfdG9fdXNlcl9sbChwdHIsICZfX3B1c190bXAsIHNpemUpICE9IDApKQlcCisJCXJldHZhbCA9IGVycnJldDsJCQkJCVwKK30gd2hpbGUgKDApCisKKyNkZWZpbmUgcHV0X3VzZXIoeCwgcHRyKQkJCQkJXAorKHsJCQkJCQkJCVwKKwlpbnQgX19yZXRfcHU7CQkJCQkJXAorCV9fdHlwZW9mX18oKihwdHIpKV9fcHVzX3RtcCA9IHg7CQkJXAorCV9fcmV0X3B1ID0gMDsJCQkJCQlcCisJaWYgKHVubGlrZWx5KF9fY29weV90b191c2VyX2xsKHB0ciwgJl9fcHVzX3RtcCwJCVwKKwkJCQkgICAgICAgc2l6ZW9mKCoocHRyKSkpICE9IDApKQlcCisJCV9fcmV0X3B1ID0gLUVGQVVMVDsJCQkJXAorCV9fcmV0X3B1OwkJCQkJCVwKK30pCisjZW5kaWYKKworI2lmZGVmIENPTkZJR19YODZfMzIKKyNkZWZpbmUgX19nZXRfdXNlcl9hc21fdTY0KHgsIHB0ciwgcmV0dmFsLCBlcnJyZXQpCSh4KSA9IF9fZ2V0X3VzZXJfYmFkKCkKKyNlbHNlCisjZGVmaW5lIF9fZ2V0X3VzZXJfYXNtX3U2NCh4LCBwdHIsIHJldHZhbCwgZXJycmV0KSBcCisJIF9fZ2V0X3VzZXJfYXNtKHgsIHB0ciwgcmV0dmFsLCAicSIsICIiLCAiPXIiLCBlcnJyZXQpCisjZW5kaWYKKworI2RlZmluZSBfX2dldF91c2VyX3NpemUoeCwgcHRyLCBzaXplLCByZXR2YWwsIGVycnJldCkJCQlcCitkbyB7CQkJCQkJCQkJXAorCXJldHZhbCA9IDA7CQkJCQkJCVwKKwlfX2Noa191c2VyX3B0cihwdHIpOwkJCQkJCVwKKwlzd2l0Y2ggKHNpemUpIHsJCQkJCQkJXAorCWNhc2UgMToJCQkJCQkJCVwKKwkJX19nZXRfdXNlcl9hc20oeCwgcHRyLCByZXR2YWwsICJiIiwgImIiLCAiPXEiLCBlcnJyZXQpOwlcCisJCWJyZWFrOwkJCQkJCQlcCisJY2FzZSAyOgkJCQkJCQkJXAorCQlfX2dldF91c2VyX2FzbSh4LCBwdHIsIHJldHZhbCwgInciLCAidyIsICI9ciIsIGVycnJldCk7CVwKKwkJYnJlYWs7CQkJCQkJCVwKKwljYXNlIDQ6CQkJCQkJCQlcCisJCV9fZ2V0X3VzZXJfYXNtKHgsIHB0ciwgcmV0dmFsLCAibCIsICJrIiwgIj1yIiwgZXJycmV0KTsJXAorCQlicmVhazsJCQkJCQkJXAorCWNhc2UgODoJCQkJCQkJCVwKKwkJX19nZXRfdXNlcl9hc21fdTY0KHgsIHB0ciwgcmV0dmFsLCBlcnJyZXQpOwkJXAorCQlicmVhazsJCQkJCQkJXAorCWRlZmF1bHQ6CQkJCQkJCVwKKwkJKHgpID0gX19nZXRfdXNlcl9iYWQoKTsJCQkJCVwKKwl9CQkJCQkJCQlcCit9IHdoaWxlICgwKQorCisjZGVmaW5lIF9fZ2V0X3VzZXJfYXNtKHgsIGFkZHIsIGVyciwgaXR5cGUsIHJ0eXBlLCBsdHlwZSwgZXJycmV0KQlcCisJYXNtIHZvbGF0aWxlKCIxOgltb3YiaXR5cGUiICUyLCUicnR5cGUiMVxuIgkJXAorCQkgICAgICIyOlxuIgkJCQkJCVwKKwkJICAgICAiLnNlY3Rpb24gLmZpeHVwLFwiYXhcIlxuIgkJCQlcCisJCSAgICAgIjM6CW1vdiAlMywlMFxuIgkJCQlcCisJCSAgICAgIgl4b3IiaXR5cGUiICUicnR5cGUiMSwlInJ0eXBlIjFcbiIJCVwKKwkJICAgICAiCWptcCAyYlxuIgkJCQkJXAorCQkgICAgICIucHJldmlvdXNcbiIJCQkJCVwKKwkJICAgICBfQVNNX0VYVEFCTEUoMWIsIDNiKQkJCQlcCisJCSAgICAgOiAiPXIiIChlcnIpLCBsdHlwZSh4KQkJCQlcCisJCSAgICAgOiAibSIgKF9fbShhZGRyKSksICJpIiAoZXJycmV0KSwgIjAiIChlcnIpKQorCisjZGVmaW5lIF9fcHV0X3VzZXJfbm9jaGVjayh4LCBwdHIsIHNpemUpCQkJXAorKHsJCQkJCQkJCVwKKwlsb25nIF9fcHVfZXJyOwkJCQkJCVwKKwlfX3B1dF91c2VyX3NpemUoKHgpLCAocHRyKSwgKHNpemUpLCBfX3B1X2VyciwgLUVGQVVMVCk7CVwKKwlfX3B1X2VycjsJCQkJCQlcCit9KQorCisjZGVmaW5lIF9fZ2V0X3VzZXJfbm9jaGVjayh4LCBwdHIsIHNpemUpCQkJCVwKKyh7CQkJCQkJCQkJXAorCWxvbmcgX19ndV9lcnI7CQkJCQkJCVwKKwl1bnNpZ25lZCBsb25nIF9fZ3VfdmFsOwkJCQkJCVwKKwlfX2dldF91c2VyX3NpemUoX19ndV92YWwsIChwdHIpLCAoc2l6ZSksIF9fZ3VfZXJyLCAtRUZBVUxUKTsJXAorCSh4KSA9IChfX2ZvcmNlIF9fdHlwZW9mX18oKihwdHIpKSlfX2d1X3ZhbDsJCQlcCisJX19ndV9lcnI7CQkJCQkJCVwKK30pCisKKy8qIEZJWE1FOiB0aGlzIGhhY2sgaXMgZGVmaW5pdGVseSB3cm9uZyAtQUsgKi8KK3N0cnVjdCBfX2xhcmdlX3N0cnVjdCB7IHVuc2lnbmVkIGxvbmcgYnVmWzEwMF07IH07CisjZGVmaW5lIF9fbSh4KSAoKihzdHJ1Y3QgX19sYXJnZV9zdHJ1Y3QgX191c2VyICopKHgpKQorCisvKgorICogVGVsbCBnY2Mgd2UgcmVhZCBmcm9tIG1lbW9yeSBpbnN0ZWFkIG9mIHdyaXRpbmc6IHRoaXMgaXMgYmVjYXVzZQorICogd2UgZG8gbm90IHdyaXRlIHRvIGFueSBtZW1vcnkgZ2NjIGtub3dzIGFib3V0LCBzbyB0aGVyZSBhcmUgbm8KKyAqIGFsaWFzaW5nIGlzc3Vlcy4KKyAqLworI2RlZmluZSBfX3B1dF91c2VyX2FzbSh4LCBhZGRyLCBlcnIsIGl0eXBlLCBydHlwZSwgbHR5cGUsIGVycnJldCkJXAorCWFzbSB2b2xhdGlsZSgiMToJbW92Iml0eXBlIiAlInJ0eXBlIjEsJTJcbiIJCVwKKwkJICAgICAiMjpcbiIJCQkJCQlcCisJCSAgICAgIi5zZWN0aW9uIC5maXh1cCxcImF4XCJcbiIJCQkJXAorCQkgICAgICIzOgltb3YgJTMsJTBcbiIJCQkJXAorCQkgICAgICIJam1wIDJiXG4iCQkJCQlcCisJCSAgICAgIi5wcmV2aW91c1xuIgkJCQkJXAorCQkgICAgIF9BU01fRVhUQUJMRSgxYiwgM2IpCQkJCVwKKwkJICAgICA6ICI9ciIoZXJyKQkJCQkJXAorCQkgICAgIDogbHR5cGUoeCksICJtIiAoX19tKGFkZHIpKSwgImkiIChlcnJyZXQpLCAiMCIgKGVycikpCisvKioKKyAqIF9fZ2V0X3VzZXI6IC0gR2V0IGEgc2ltcGxlIHZhcmlhYmxlIGZyb20gdXNlciBzcGFjZSwgd2l0aCBsZXNzIGNoZWNraW5nLgorICogQHg6ICAgVmFyaWFibGUgdG8gc3RvcmUgcmVzdWx0LgorICogQHB0cjogU291cmNlIGFkZHJlc3MsIGluIHVzZXIgc3BhY2UuCisgKgorICogQ29udGV4dDogVXNlciBjb250ZXh0IG9ubHkuICBUaGlzIGZ1bmN0aW9uIG1heSBzbGVlcC4KKyAqCisgKiBUaGlzIG1hY3JvIGNvcGllcyBhIHNpbmdsZSBzaW1wbGUgdmFyaWFibGUgZnJvbSB1c2VyIHNwYWNlIHRvIGtlcm5lbAorICogc3BhY2UuICBJdCBzdXBwb3J0cyBzaW1wbGUgdHlwZXMgbGlrZSBjaGFyIGFuZCBpbnQsIGJ1dCBub3QgbGFyZ2VyCisgKiBkYXRhIHR5cGVzIGxpa2Ugc3RydWN0dXJlcyBvciBhcnJheXMuCisgKgorICogQHB0ciBtdXN0IGhhdmUgcG9pbnRlci10by1zaW1wbGUtdmFyaWFibGUgdHlwZSwgYW5kIHRoZSByZXN1bHQgb2YKKyAqIGRlcmVmZXJlbmNpbmcgQHB0ciBtdXN0IGJlIGFzc2lnbmFibGUgdG8gQHggd2l0aG91dCBhIGNhc3QuCisgKgorICogQ2FsbGVyIG11c3QgY2hlY2sgdGhlIHBvaW50ZXIgd2l0aCBhY2Nlc3Nfb2soKSBiZWZvcmUgY2FsbGluZyB0aGlzCisgKiBmdW5jdGlvbi4KKyAqCisgKiBSZXR1cm5zIHplcm8gb24gc3VjY2Vzcywgb3IgLUVGQVVMVCBvbiBlcnJvci4KKyAqIE9uIGVycm9yLCB0aGUgdmFyaWFibGUgQHggaXMgc2V0IHRvIHplcm8uCisgKi8KKworI2RlZmluZSBfX2dldF91c2VyKHgsIHB0cikJCQkJCQlcCisJX19nZXRfdXNlcl9ub2NoZWNrKCh4KSwgKHB0ciksIHNpemVvZigqKHB0cikpKQorLyoqCisgKiBfX3B1dF91c2VyOiAtIFdyaXRlIGEgc2ltcGxlIHZhbHVlIGludG8gdXNlciBzcGFjZSwgd2l0aCBsZXNzIGNoZWNraW5nLgorICogQHg6ICAgVmFsdWUgdG8gY29weSB0byB1c2VyIHNwYWNlLgorICogQHB0cjogRGVzdGluYXRpb24gYWRkcmVzcywgaW4gdXNlciBzcGFjZS4KKyAqCisgKiBDb250ZXh0OiBVc2VyIGNvbnRleHQgb25seS4gIFRoaXMgZnVuY3Rpb24gbWF5IHNsZWVwLgorICoKKyAqIFRoaXMgbWFjcm8gY29waWVzIGEgc2luZ2xlIHNpbXBsZSB2YWx1ZSBmcm9tIGtlcm5lbCBzcGFjZSB0byB1c2VyCisgKiBzcGFjZS4gIEl0IHN1cHBvcnRzIHNpbXBsZSB0eXBlcyBsaWtlIGNoYXIgYW5kIGludCwgYnV0IG5vdCBsYXJnZXIKKyAqIGRhdGEgdHlwZXMgbGlrZSBzdHJ1Y3R1cmVzIG9yIGFycmF5cy4KKyAqCisgKiBAcHRyIG11c3QgaGF2ZSBwb2ludGVyLXRvLXNpbXBsZS12YXJpYWJsZSB0eXBlLCBhbmQgQHggbXVzdCBiZSBhc3NpZ25hYmxlCisgKiB0byB0aGUgcmVzdWx0IG9mIGRlcmVmZXJlbmNpbmcgQHB0ci4KKyAqCisgKiBDYWxsZXIgbXVzdCBjaGVjayB0aGUgcG9pbnRlciB3aXRoIGFjY2Vzc19vaygpIGJlZm9yZSBjYWxsaW5nIHRoaXMKKyAqIGZ1bmN0aW9uLgorICoKKyAqIFJldHVybnMgemVybyBvbiBzdWNjZXNzLCBvciAtRUZBVUxUIG9uIGVycm9yLgorICovCisKKyNkZWZpbmUgX19wdXRfdXNlcih4LCBwdHIpCQkJCQkJXAorCV9fcHV0X3VzZXJfbm9jaGVjaygoX190eXBlb2ZfXygqKHB0cikpKSh4KSwgKHB0ciksIHNpemVvZigqKHB0cikpKQorCisjZGVmaW5lIF9fZ2V0X3VzZXJfdW5hbGlnbmVkIF9fZ2V0X3VzZXIKKyNkZWZpbmUgX19wdXRfdXNlcl91bmFsaWduZWQgX19wdXRfdXNlcgorCisvKgorICogbW92c2wgY2FuIGJlIHNsb3cgd2hlbiBzb3VyY2UgYW5kIGRlc3QgYXJlIG5vdCBib3RoIDgtYnl0ZSBhbGlnbmVkCisgKi8KKyNpZmRlZiBDT05GSUdfWDg2X0lOVEVMX1VTRVJDT1BZCitleHRlcm4gc3RydWN0IG1vdnNsX21hc2sgeworCWludCBtYXNrOworfSBfX19fY2FjaGVsaW5lX2FsaWduZWRfaW5fc21wIG1vdnNsX21hc2s7CisjZW5kaWYKKworI2RlZmluZSBBUkNIX0hBU19OT0NBQ0hFX1VBQ0NFU1MgMQorCiAjaWZkZWYgQ09ORklHX1g4Nl8zMgogIyBpbmNsdWRlICJ1YWNjZXNzXzMyLmgiCiAjZWxzZQorIyBkZWZpbmUgQVJDSF9IQVNfU0VBUkNIX0VYVEFCTEUKICMgaW5jbHVkZSAidWFjY2Vzc182NC5oIgogI2VuZGlmCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3VhY2Nlc3NfMzIuaCBiL2luY2x1ZGUvYXNtLXg4Ni91YWNjZXNzXzMyLmgKaW5kZXggOGU3NTk1Yy4uNmZkZWYzOSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L3VhY2Nlc3NfMzIuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvdWFjY2Vzc18zMi5oCkBAIC0xMSw0MjYgKzExLDYgQEAKICNpbmNsdWRlIDxhc20vYXNtLmg+CiAjaW5jbHVkZSA8YXNtL3BhZ2UuaD4KIAotI2RlZmluZSBWRVJJRllfUkVBRCAwCi0jZGVmaW5lIFZFUklGWV9XUklURSAxCi0KLS8qCi0gKiBUaGUgZnMgdmFsdWUgZGV0ZXJtaW5lcyB3aGV0aGVyIGFyZ3VtZW50IHZhbGlkaXR5IGNoZWNraW5nIHNob3VsZCBiZQotICogcGVyZm9ybWVkIG9yIG5vdC4gIElmIGdldF9mcygpID09IFVTRVJfRFMsIGNoZWNraW5nIGlzIHBlcmZvcm1lZCwgd2l0aAotICogZ2V0X2ZzKCkgPT0gS0VSTkVMX0RTLCBjaGVja2luZyBpcyBieXBhc3NlZC4KLSAqCi0gKiBGb3IgaGlzdG9yaWNhbCByZWFzb25zLCB0aGVzZSBtYWNyb3MgYXJlIGdyb3NzbHkgbWlzbmFtZWQuCi0gKi8KLQotI2RlZmluZSBNQUtFX01NX1NFRyhzKQkoKG1tX3NlZ21lbnRfdCkgeyAocykgfSkKLQotCi0jZGVmaW5lIEtFUk5FTF9EUwlNQUtFX01NX1NFRygweEZGRkZGRkZGVUwpCi0jZGVmaW5lIFVTRVJfRFMJCU1BS0VfTU1fU0VHKFBBR0VfT0ZGU0VUKQotCi0jZGVmaW5lIGdldF9kcygpCShLRVJORUxfRFMpCi0jZGVmaW5lIGdldF9mcygpCShjdXJyZW50X3RocmVhZF9pbmZvKCktPmFkZHJfbGltaXQpCi0jZGVmaW5lIHNldF9mcyh4KQkoY3VycmVudF90aHJlYWRfaW5mbygpLT5hZGRyX2xpbWl0ID0gKHgpKQotCi0jZGVmaW5lIHNlZ21lbnRfZXEoYSwgYikJKChhKS5zZWcgPT0gKGIpLnNlZykKLQotLyoKLSAqIG1vdnNsIGNhbiBiZSBzbG93IHdoZW4gc291cmNlIGFuZCBkZXN0IGFyZSBub3QgYm90aCA4LWJ5dGUgYWxpZ25lZAotICovCi0jaWZkZWYgQ09ORklHX1g4Nl9JTlRFTF9VU0VSQ09QWQotZXh0ZXJuIHN0cnVjdCBtb3ZzbF9tYXNrIHsKLQlpbnQgbWFzazsKLX0gX19fX2NhY2hlbGluZV9hbGlnbmVkX2luX3NtcCBtb3ZzbF9tYXNrOwotI2VuZGlmCi0KLSNkZWZpbmUgX19hZGRyX29rKGFkZHIpCQkJCQlcCi0JKCh1bnNpZ25lZCBsb25nIF9fZm9yY2UpKGFkZHIpIDwJCVwKLQkgKGN1cnJlbnRfdGhyZWFkX2luZm8oKS0+YWRkcl9saW1pdC5zZWcpKQotCi0vKgotICogVGVzdCB3aGV0aGVyIGEgYmxvY2sgb2YgbWVtb3J5IGlzIGEgdmFsaWQgdXNlciBzcGFjZSBhZGRyZXNzLgotICogUmV0dXJucyAwIGlmIHRoZSByYW5nZSBpcyB2YWxpZCwgbm9uemVybyBvdGhlcndpc2UuCi0gKgotICogVGhpcyBpcyBlcXVpdmFsZW50IHRvIHRoZSBmb2xsb3dpbmcgdGVzdDoKLSAqICh1MzMpYWRkciArICh1MzMpc2l6ZSA+PSAodTMzKWN1cnJlbnQtPmFkZHJfbGltaXQuc2VnCi0gKgotICogVGhpcyBuZWVkcyAzMy1iaXQgYXJpdGhtZXRpYy4gV2UgaGF2ZSBhIGNhcnJ5Li4uCi0gKi8KLSNkZWZpbmUgX19yYW5nZV9vayhhZGRyLCBzaXplKQkJCQkJCVwKLSh7CQkJCQkJCQkJXAotCXVuc2lnbmVkIGxvbmcgZmxhZywgcm9rc3VtOwkJCQkJXAotCV9fY2hrX3VzZXJfcHRyKGFkZHIpOwkJCQkJCVwKLQlhc20oImFkZGwgJTMsJTEgOyBzYmJsICUwLCUwOyBjbXBsICUxLCU0OyBzYmJsICQwLCUwIgkJXAotCSAgICA6Ij0mciIgKGZsYWcpLCAiPXIiIChyb2tzdW0pCQkJCVwKLQkgICAgOiIxIiAoYWRkciksICJnIiAoKGludCkoc2l6ZSkpLAkJCQlcCi0JICAgICJybSIgKGN1cnJlbnRfdGhyZWFkX2luZm8oKS0+YWRkcl9saW1pdC5zZWcpKTsJCVwKLQlmbGFnOwkJCQkJCQkJXAotfSkKLQotLyoqCi0gKiBhY2Nlc3Nfb2s6IC0gQ2hlY2tzIGlmIGEgdXNlciBzcGFjZSBwb2ludGVyIGlzIHZhbGlkCi0gKiBAdHlwZTogVHlwZSBvZiBhY2Nlc3M6ICVWRVJJRllfUkVBRCBvciAlVkVSSUZZX1dSSVRFLiAgTm90ZSB0aGF0Ci0gKiAgICAgICAgJVZFUklGWV9XUklURSBpcyBhIHN1cGVyc2V0IG9mICVWRVJJRllfUkVBRCAtIGlmIGl0IGlzIHNhZmUKLSAqICAgICAgICB0byB3cml0ZSB0byBhIGJsb2NrLCBpdCBpcyBhbHdheXMgc2FmZSB0byByZWFkIGZyb20gaXQuCi0gKiBAYWRkcjogVXNlciBzcGFjZSBwb2ludGVyIHRvIHN0YXJ0IG9mIGJsb2NrIHRvIGNoZWNrCi0gKiBAc2l6ZTogU2l6ZSBvZiBibG9jayB0byBjaGVjawotICoKLSAqIENvbnRleHQ6IFVzZXIgY29udGV4dCBvbmx5LiAgVGhpcyBmdW5jdGlvbiBtYXkgc2xlZXAuCi0gKgotICogQ2hlY2tzIGlmIGEgcG9pbnRlciB0byBhIGJsb2NrIG9mIG1lbW9yeSBpbiB1c2VyIHNwYWNlIGlzIHZhbGlkLgotICoKLSAqIFJldHVybnMgdHJ1ZSAobm9uemVybykgaWYgdGhlIG1lbW9yeSBibG9jayBtYXkgYmUgdmFsaWQsIGZhbHNlICh6ZXJvKQotICogaWYgaXQgaXMgZGVmaW5pdGVseSBpbnZhbGlkLgotICoKLSAqIE5vdGUgdGhhdCwgZGVwZW5kaW5nIG9uIGFyY2hpdGVjdHVyZSwgdGhpcyBmdW5jdGlvbiBwcm9iYWJseSBqdXN0Ci0gKiBjaGVja3MgdGhhdCB0aGUgcG9pbnRlciBpcyBpbiB0aGUgdXNlciBzcGFjZSByYW5nZSAtIGFmdGVyIGNhbGxpbmcKLSAqIHRoaXMgZnVuY3Rpb24sIG1lbW9yeSBhY2Nlc3MgZnVuY3Rpb25zIG1heSBzdGlsbCByZXR1cm4gLUVGQVVMVC4KLSAqLwotI2RlZmluZSBhY2Nlc3Nfb2sodHlwZSwgYWRkciwgc2l6ZSkgKGxpa2VseShfX3JhbmdlX29rKGFkZHIsIHNpemUpID09IDApKQotCi0vKgotICogVGhlIGV4Y2VwdGlvbiB0YWJsZSBjb25zaXN0cyBvZiBwYWlycyBvZiBhZGRyZXNzZXM6IHRoZSBmaXJzdCBpcyB0aGUKLSAqIGFkZHJlc3Mgb2YgYW4gaW5zdHJ1Y3Rpb24gdGhhdCBpcyBhbGxvd2VkIHRvIGZhdWx0LCBhbmQgdGhlIHNlY29uZCBpcwotICogdGhlIGFkZHJlc3MgYXQgd2hpY2ggdGhlIHByb2dyYW0gc2hvdWxkIGNvbnRpbnVlLiAgTm8gcmVnaXN0ZXJzIGFyZQotICogbW9kaWZpZWQsIHNvIGl0IGlzIGVudGlyZWx5IHVwIHRvIHRoZSBjb250aW51YXRpb24gY29kZSB0byBmaWd1cmUgb3V0Ci0gKiB3aGF0IHRvIGRvLgotICoKLSAqIEFsbCB0aGUgcm91dGluZXMgYmVsb3cgdXNlIGJpdHMgb2YgZml4dXAgY29kZSB0aGF0IGFyZSBvdXQgb2YgbGluZQotICogd2l0aCB0aGUgbWFpbiBpbnN0cnVjdGlvbiBwYXRoLiAgVGhpcyBtZWFucyB3aGVuIGV2ZXJ5dGhpbmcgaXMgd2VsbCwKLSAqIHdlIGRvbid0IGV2ZW4gaGF2ZSB0byBqdW1wIG92ZXIgdGhlbS4gIEZ1cnRoZXIsIHRoZXkgZG8gbm90IGludHJ1ZGUKLSAqIG9uIG91ciBjYWNoZSBvciB0bGIgZW50cmllcy4KLSAqLwotCi1zdHJ1Y3QgZXhjZXB0aW9uX3RhYmxlX2VudHJ5IHsKLQl1bnNpZ25lZCBsb25nIGluc24sIGZpeHVwOwotfTsKLQotZXh0ZXJuIGludCBmaXh1cF9leGNlcHRpb24oc3RydWN0IHB0X3JlZ3MgKnJlZ3MpOwotCi0vKgotICogVGhlc2UgYXJlIHRoZSBtYWluIHNpbmdsZS12YWx1ZSB0cmFuc2ZlciByb3V0aW5lcy4gIFRoZXkgYXV0b21hdGljYWxseQotICogdXNlIHRoZSByaWdodCBzaXplIGlmIHdlIGp1c3QgaGF2ZSB0aGUgcmlnaHQgcG9pbnRlciB0eXBlLgotICoKLSAqIFRoaXMgZ2V0cyBraW5kIG9mIHVnbHkuIFdlIHdhbnQgdG8gcmV0dXJuIF90d29fIHZhbHVlcyBpbiAiZ2V0X3VzZXIoKSIKLSAqIGFuZCB5ZXQgd2UgZG9uJ3Qgd2FudCB0byBkbyBhbnkgcG9pbnRlcnMsIGJlY2F1c2UgdGhhdCBpcyB0b28gbXVjaAotICogb2YgYSBwZXJmb3JtYW5jZSBpbXBhY3QuIFRodXMgd2UgaGF2ZSBhIGZldyByYXRoZXIgdWdseSBtYWNyb3MgaGVyZSwKLSAqIGFuZCBoaWRlIGFsbCB0aGUgdWdsaW5lc3MgZnJvbSB0aGUgdXNlci4KLSAqCi0gKiBUaGUgIl9feHh4IiB2ZXJzaW9ucyBvZiB0aGUgdXNlciBhY2Nlc3MgZnVuY3Rpb25zIGFyZSB2ZXJzaW9ucyB0aGF0Ci0gKiBkbyBub3QgdmVyaWZ5IHRoZSBhZGRyZXNzIHNwYWNlLCB0aGF0IG11c3QgaGF2ZSBiZWVuIGRvbmUgcHJldmlvdXNseQotICogd2l0aCBhIHNlcGFyYXRlICJhY2Nlc3Nfb2soKSIgY2FsbCAodGhpcyBpcyB1c2VkIHdoZW4gd2UgZG8gbXVsdGlwbGUKLSAqIGFjY2Vzc2VzIHRvIHRoZSBzYW1lIGFyZWEgb2YgdXNlciBtZW1vcnkpLgotICovCi0KLWV4dGVybiB2b2lkIF9fZ2V0X3VzZXJfMSh2b2lkKTsKLWV4dGVybiB2b2lkIF9fZ2V0X3VzZXJfMih2b2lkKTsKLWV4dGVybiB2b2lkIF9fZ2V0X3VzZXJfNCh2b2lkKTsKLQotI2RlZmluZSBfX2dldF91c2VyX3goc2l6ZSwgcmV0LCB4LCBwdHIpCSAgICAgIFwKLQlhc20gdm9sYXRpbGUoImNhbGwgX19nZXRfdXNlcl8iICNzaXplIFwKLQkJICAgICA6Ij1hIiAocmV0KSwiPWQiICh4KSAgICAgXAotCQkgICAgIDoiMCIgKHB0cikpCi0KLQotLyogQ2FyZWZ1bDogd2UgaGF2ZSB0byBjYXN0IHRoZSByZXN1bHQgdG8gdGhlIHR5cGUgb2YgdGhlIHBvaW50ZXIKLSAqIGZvciBzaWduIHJlYXNvbnMgKi8KLQotLyoqCi0gKiBnZXRfdXNlcjogLSBHZXQgYSBzaW1wbGUgdmFyaWFibGUgZnJvbSB1c2VyIHNwYWNlLgotICogQHg6ICAgVmFyaWFibGUgdG8gc3RvcmUgcmVzdWx0LgotICogQHB0cjogU291cmNlIGFkZHJlc3MsIGluIHVzZXIgc3BhY2UuCi0gKgotICogQ29udGV4dDogVXNlciBjb250ZXh0IG9ubHkuICBUaGlzIGZ1bmN0aW9uIG1heSBzbGVlcC4KLSAqCi0gKiBUaGlzIG1hY3JvIGNvcGllcyBhIHNpbmdsZSBzaW1wbGUgdmFyaWFibGUgZnJvbSB1c2VyIHNwYWNlIHRvIGtlcm5lbAotICogc3BhY2UuICBJdCBzdXBwb3J0cyBzaW1wbGUgdHlwZXMgbGlrZSBjaGFyIGFuZCBpbnQsIGJ1dCBub3QgbGFyZ2VyCi0gKiBkYXRhIHR5cGVzIGxpa2Ugc3RydWN0dXJlcyBvciBhcnJheXMuCi0gKgotICogQHB0ciBtdXN0IGhhdmUgcG9pbnRlci10by1zaW1wbGUtdmFyaWFibGUgdHlwZSwgYW5kIHRoZSByZXN1bHQgb2YKLSAqIGRlcmVmZXJlbmNpbmcgQHB0ciBtdXN0IGJlIGFzc2lnbmFibGUgdG8gQHggd2l0aG91dCBhIGNhc3QuCi0gKgotICogUmV0dXJucyB6ZXJvIG9uIHN1Y2Nlc3MsIG9yIC1FRkFVTFQgb24gZXJyb3IuCi0gKiBPbiBlcnJvciwgdGhlIHZhcmlhYmxlIEB4IGlzIHNldCB0byB6ZXJvLgotICovCi0jZGVmaW5lIGdldF91c2VyKHgsIHB0cikJCQkJCQlcCi0oewkJCQkJCQkJCVwKLQlpbnQgX19yZXRfZ3U7CQkJCQkJCVwKLQl1bnNpZ25lZCBsb25nIF9fdmFsX2d1OwkJCQkJCVwKLQlfX2Noa191c2VyX3B0cihwdHIpOwkJCQkJCVwKLQlzd2l0Y2ggKHNpemVvZigqKHB0cikpKSB7CQkJCQlcCi0JY2FzZSAxOgkJCQkJCQkJXAotCQlfX2dldF91c2VyX3goMSwgX19yZXRfZ3UsIF9fdmFsX2d1LCBwdHIpOwkJXAotCQlicmVhazsJCQkJCQkJXAotCWNhc2UgMjoJCQkJCQkJCVwKLQkJX19nZXRfdXNlcl94KDIsIF9fcmV0X2d1LCBfX3ZhbF9ndSwgcHRyKTsJCVwKLQkJYnJlYWs7CQkJCQkJCVwKLQljYXNlIDQ6CQkJCQkJCQlcCi0JCV9fZ2V0X3VzZXJfeCg0LCBfX3JldF9ndSwgX192YWxfZ3UsIHB0cik7CQlcCi0JCWJyZWFrOwkJCQkJCQlcCi0JZGVmYXVsdDoJCQkJCQkJXAotCQlfX2dldF91c2VyX3goWCwgX19yZXRfZ3UsIF9fdmFsX2d1LCBwdHIpOwkJXAotCQlicmVhazsJCQkJCQkJXAotCX0JCQkJCQkJCVwKLQkoeCkgPSAoX190eXBlb2ZfXygqKHB0cikpKV9fdmFsX2d1OwkJCQlcCi0JX19yZXRfZ3U7CQkJCQkJCVwKLX0pCi0KLWV4dGVybiB2b2lkIF9fcHV0X3VzZXJfYmFkKHZvaWQpOwotCi0vKgotICogU3RyYW5nZSBtYWdpYyBjYWxsaW5nIGNvbnZlbnRpb246IHBvaW50ZXIgaW4gJWVjeCwKLSAqIHZhbHVlIGluICVlYXgoOiVlZHgpLCByZXR1cm4gdmFsdWUgaW4gJWVheCwgbm8gY2xvYmJlcnMuCi0gKi8KLWV4dGVybiB2b2lkIF9fcHV0X3VzZXJfMSh2b2lkKTsKLWV4dGVybiB2b2lkIF9fcHV0X3VzZXJfMih2b2lkKTsKLWV4dGVybiB2b2lkIF9fcHV0X3VzZXJfNCh2b2lkKTsKLWV4dGVybiB2b2lkIF9fcHV0X3VzZXJfOCh2b2lkKTsKLQotI2RlZmluZSBfX3B1dF91c2VyXzEoeCwgcHRyKQkJCQkJXAotCWFzbSB2b2xhdGlsZSgiY2FsbCBfX3B1dF91c2VyXzEiIDogIj1hIiAoX19yZXRfcHUpCVwKLQkJICAgICA6ICIwIiAoKHR5cGVvZigqKHB0cikpKSh4KSksICJjIiAocHRyKSkKLQotI2RlZmluZSBfX3B1dF91c2VyXzIoeCwgcHRyKQkJCQkJXAotCWFzbSB2b2xhdGlsZSgiY2FsbCBfX3B1dF91c2VyXzIiIDogIj1hIiAoX19yZXRfcHUpCVwKLQkJICAgICA6ICIwIiAoKHR5cGVvZigqKHB0cikpKSh4KSksICJjIiAocHRyKSkKLQotI2RlZmluZSBfX3B1dF91c2VyXzQoeCwgcHRyKQkJCQkJXAotCWFzbSB2b2xhdGlsZSgiY2FsbCBfX3B1dF91c2VyXzQiIDogIj1hIiAoX19yZXRfcHUpCVwKLQkJICAgICA6ICIwIiAoKHR5cGVvZigqKHB0cikpKSh4KSksICJjIiAocHRyKSkKLQotI2RlZmluZSBfX3B1dF91c2VyXzgoeCwgcHRyKQkJCQkJXAotCWFzbSB2b2xhdGlsZSgiY2FsbCBfX3B1dF91c2VyXzgiIDogIj1hIiAoX19yZXRfcHUpCVwKLQkJICAgICA6ICJBIiAoKHR5cGVvZigqKHB0cikpKSh4KSksICJjIiAocHRyKSkKLQotI2RlZmluZSBfX3B1dF91c2VyX1goeCwgcHRyKQkJCQkJXAotCWFzbSB2b2xhdGlsZSgiY2FsbCBfX3B1dF91c2VyX1giIDogIj1hIiAoX19yZXRfcHUpCVwKLQkJICAgICA6ICJjIiAocHRyKSkKLQotLyoqCi0gKiBwdXRfdXNlcjogLSBXcml0ZSBhIHNpbXBsZSB2YWx1ZSBpbnRvIHVzZXIgc3BhY2UuCi0gKiBAeDogICBWYWx1ZSB0byBjb3B5IHRvIHVzZXIgc3BhY2UuCi0gKiBAcHRyOiBEZXN0aW5hdGlvbiBhZGRyZXNzLCBpbiB1c2VyIHNwYWNlLgotICoKLSAqIENvbnRleHQ6IFVzZXIgY29udGV4dCBvbmx5LiAgVGhpcyBmdW5jdGlvbiBtYXkgc2xlZXAuCi0gKgotICogVGhpcyBtYWNybyBjb3BpZXMgYSBzaW5nbGUgc2ltcGxlIHZhbHVlIGZyb20ga2VybmVsIHNwYWNlIHRvIHVzZXIKLSAqIHNwYWNlLiAgSXQgc3VwcG9ydHMgc2ltcGxlIHR5cGVzIGxpa2UgY2hhciBhbmQgaW50LCBidXQgbm90IGxhcmdlcgotICogZGF0YSB0eXBlcyBsaWtlIHN0cnVjdHVyZXMgb3IgYXJyYXlzLgotICoKLSAqIEBwdHIgbXVzdCBoYXZlIHBvaW50ZXItdG8tc2ltcGxlLXZhcmlhYmxlIHR5cGUsIGFuZCBAeCBtdXN0IGJlIGFzc2lnbmFibGUKLSAqIHRvIHRoZSByZXN1bHQgb2YgZGVyZWZlcmVuY2luZyBAcHRyLgotICoKLSAqIFJldHVybnMgemVybyBvbiBzdWNjZXNzLCBvciAtRUZBVUxUIG9uIGVycm9yLgotICovCi0jaWZkZWYgQ09ORklHX1g4Nl9XUF9XT1JLU19PSwotCi0jZGVmaW5lIHB1dF91c2VyKHgsIHB0cikJCQkJCVwKLSh7CQkJCQkJCQlcCi0JaW50IF9fcmV0X3B1OwkJCQkJCVwKLQlfX3R5cGVvZl9fKCoocHRyKSkgX19wdV92YWw7CQkJCVwKLQlfX2Noa191c2VyX3B0cihwdHIpOwkJCQkJXAotCV9fcHVfdmFsID0geDsJCQkJCQlcCi0Jc3dpdGNoIChzaXplb2YoKihwdHIpKSkgewkJCQlcCi0JY2FzZSAxOgkJCQkJCQlcCi0JCV9fcHV0X3VzZXJfMShfX3B1X3ZhbCwgcHRyKTsJCQlcCi0JCWJyZWFrOwkJCQkJCVwKLQljYXNlIDI6CQkJCQkJCVwKLQkJX19wdXRfdXNlcl8yKF9fcHVfdmFsLCBwdHIpOwkJCVwKLQkJYnJlYWs7CQkJCQkJXAotCWNhc2UgNDoJCQkJCQkJXAotCQlfX3B1dF91c2VyXzQoX19wdV92YWwsIHB0cik7CQkJXAotCQlicmVhazsJCQkJCQlcCi0JY2FzZSA4OgkJCQkJCQlcCi0JCV9fcHV0X3VzZXJfOChfX3B1X3ZhbCwgcHRyKTsJCQlcCi0JCWJyZWFrOwkJCQkJCVwKLQlkZWZhdWx0OgkJCQkJCVwKLQkJX19wdXRfdXNlcl9YKF9fcHVfdmFsLCBwdHIpOwkJCVwKLQkJYnJlYWs7CQkJCQkJXAotCX0JCQkJCQkJXAotCV9fcmV0X3B1OwkJCQkJCVwKLX0pCi0KLSNlbHNlCi0jZGVmaW5lIHB1dF91c2VyKHgsIHB0cikJCQkJCVwKLSh7CQkJCQkJCQlcCi0JaW50IF9fcmV0X3B1OwkJCQkJCVwKLQlfX3R5cGVvZl9fKCoocHRyKSlfX3B1c190bXAgPSB4OwkJCVwKLQlfX3JldF9wdSA9IDA7CQkJCQkJXAotCWlmICh1bmxpa2VseShfX2NvcHlfdG9fdXNlcl9sbChwdHIsICZfX3B1c190bXAsCQlcCi0JCQkJICAgICAgIHNpemVvZigqKHB0cikpKSAhPSAwKSkJXAotCQlfX3JldF9wdSA9IC1FRkFVTFQ7CQkJCVwKLQlfX3JldF9wdTsJCQkJCQlcCi19KQotCi0KLSNlbmRpZgotCi0vKioKLSAqIF9fZ2V0X3VzZXI6IC0gR2V0IGEgc2ltcGxlIHZhcmlhYmxlIGZyb20gdXNlciBzcGFjZSwgd2l0aCBsZXNzIGNoZWNraW5nLgotICogQHg6ICAgVmFyaWFibGUgdG8gc3RvcmUgcmVzdWx0LgotICogQHB0cjogU291cmNlIGFkZHJlc3MsIGluIHVzZXIgc3BhY2UuCi0gKgotICogQ29udGV4dDogVXNlciBjb250ZXh0IG9ubHkuICBUaGlzIGZ1bmN0aW9uIG1heSBzbGVlcC4KLSAqCi0gKiBUaGlzIG1hY3JvIGNvcGllcyBhIHNpbmdsZSBzaW1wbGUgdmFyaWFibGUgZnJvbSB1c2VyIHNwYWNlIHRvIGtlcm5lbAotICogc3BhY2UuICBJdCBzdXBwb3J0cyBzaW1wbGUgdHlwZXMgbGlrZSBjaGFyIGFuZCBpbnQsIGJ1dCBub3QgbGFyZ2VyCi0gKiBkYXRhIHR5cGVzIGxpa2Ugc3RydWN0dXJlcyBvciBhcnJheXMuCi0gKgotICogQHB0ciBtdXN0IGhhdmUgcG9pbnRlci10by1zaW1wbGUtdmFyaWFibGUgdHlwZSwgYW5kIHRoZSByZXN1bHQgb2YKLSAqIGRlcmVmZXJlbmNpbmcgQHB0ciBtdXN0IGJlIGFzc2lnbmFibGUgdG8gQHggd2l0aG91dCBhIGNhc3QuCi0gKgotICogQ2FsbGVyIG11c3QgY2hlY2sgdGhlIHBvaW50ZXIgd2l0aCBhY2Nlc3Nfb2soKSBiZWZvcmUgY2FsbGluZyB0aGlzCi0gKiBmdW5jdGlvbi4KLSAqCi0gKiBSZXR1cm5zIHplcm8gb24gc3VjY2Vzcywgb3IgLUVGQVVMVCBvbiBlcnJvci4KLSAqIE9uIGVycm9yLCB0aGUgdmFyaWFibGUgQHggaXMgc2V0IHRvIHplcm8uCi0gKi8KLSNkZWZpbmUgX19nZXRfdXNlcih4LCBwdHIpCQkJCVwKLQlfX2dldF91c2VyX25vY2hlY2soKHgpLCAocHRyKSwgc2l6ZW9mKCoocHRyKSkpCi0KLQotLyoqCi0gKiBfX3B1dF91c2VyOiAtIFdyaXRlIGEgc2ltcGxlIHZhbHVlIGludG8gdXNlciBzcGFjZSwgd2l0aCBsZXNzIGNoZWNraW5nLgotICogQHg6ICAgVmFsdWUgdG8gY29weSB0byB1c2VyIHNwYWNlLgotICogQHB0cjogRGVzdGluYXRpb24gYWRkcmVzcywgaW4gdXNlciBzcGFjZS4KLSAqCi0gKiBDb250ZXh0OiBVc2VyIGNvbnRleHQgb25seS4gIFRoaXMgZnVuY3Rpb24gbWF5IHNsZWVwLgotICoKLSAqIFRoaXMgbWFjcm8gY29waWVzIGEgc2luZ2xlIHNpbXBsZSB2YWx1ZSBmcm9tIGtlcm5lbCBzcGFjZSB0byB1c2VyCi0gKiBzcGFjZS4gIEl0IHN1cHBvcnRzIHNpbXBsZSB0eXBlcyBsaWtlIGNoYXIgYW5kIGludCwgYnV0IG5vdCBsYXJnZXIKLSAqIGRhdGEgdHlwZXMgbGlrZSBzdHJ1Y3R1cmVzIG9yIGFycmF5cy4KLSAqCi0gKiBAcHRyIG11c3QgaGF2ZSBwb2ludGVyLXRvLXNpbXBsZS12YXJpYWJsZSB0eXBlLCBhbmQgQHggbXVzdCBiZSBhc3NpZ25hYmxlCi0gKiB0byB0aGUgcmVzdWx0IG9mIGRlcmVmZXJlbmNpbmcgQHB0ci4KLSAqCi0gKiBDYWxsZXIgbXVzdCBjaGVjayB0aGUgcG9pbnRlciB3aXRoIGFjY2Vzc19vaygpIGJlZm9yZSBjYWxsaW5nIHRoaXMKLSAqIGZ1bmN0aW9uLgotICoKLSAqIFJldHVybnMgemVybyBvbiBzdWNjZXNzLCBvciAtRUZBVUxUIG9uIGVycm9yLgotICovCi0jZGVmaW5lIF9fcHV0X3VzZXIoeCwgcHRyKQkJCQkJCVwKLQlfX3B1dF91c2VyX25vY2hlY2soKF9fdHlwZW9mX18oKihwdHIpKSkoeCksIChwdHIpLCBzaXplb2YoKihwdHIpKSkKLQotI2RlZmluZSBfX3B1dF91c2VyX25vY2hlY2soeCwgcHRyLCBzaXplKQkJCVwKLSh7CQkJCQkJCQlcCi0JbG9uZyBfX3B1X2VycjsJCQkJCQlcCi0JX19wdXRfdXNlcl9zaXplKCh4KSwgKHB0ciksIChzaXplKSwgX19wdV9lcnIsIC1FRkFVTFQpOwlcCi0JX19wdV9lcnI7CQkJCQkJXAotfSkKLQotCi0jZGVmaW5lIF9fcHV0X3VzZXJfdTY0KHgsIGFkZHIsIGVycikJCQkJCVwKLQlhc20gdm9sYXRpbGUoIjE6CW1vdmwgJSVlYXgsMCglMilcbiIJCQlcCi0JCSAgICAgIjI6CW1vdmwgJSVlZHgsNCglMilcbiIJCQlcCi0JCSAgICAgIjM6XG4iCQkJCQkJXAotCQkgICAgICIuc2VjdGlvbiAuZml4dXAsXCJheFwiXG4iCQkJCVwKLQkJICAgICAiNDoJbW92bCAlMywlMFxuIgkJCQlcCi0JCSAgICAgIglqbXAgM2JcbiIJCQkJCVwKLQkJICAgICAiLnByZXZpb3VzXG4iCQkJCQlcCi0JCSAgICAgX0FTTV9FWFRBQkxFKDFiLCA0YikJCQkJXAotCQkgICAgIF9BU01fRVhUQUJMRSgyYiwgNGIpCQkJCVwKLQkJICAgICA6ICI9ciIgKGVycikJCQkJCVwKLQkJICAgICA6ICJBIiAoeCksICJyIiAoYWRkciksICJpIiAoLUVGQVVMVCksICIwIiAoZXJyKSkKLQotI2lmZGVmIENPTkZJR19YODZfV1BfV09SS1NfT0sKLQotI2RlZmluZSBfX3B1dF91c2VyX3NpemUoeCwgcHRyLCBzaXplLCByZXR2YWwsIGVycnJldCkJCQlcCi1kbyB7CQkJCQkJCQkJXAotCXJldHZhbCA9IDA7CQkJCQkJCVwKLQlfX2Noa191c2VyX3B0cihwdHIpOwkJCQkJCVwKLQlzd2l0Y2ggKHNpemUpIHsJCQkJCQkJXAotCWNhc2UgMToJCQkJCQkJCVwKLQkJX19wdXRfdXNlcl9hc20oeCwgcHRyLCByZXR2YWwsICJiIiwgImIiLCAiaXEiLCBlcnJyZXQpOwlcCi0JCWJyZWFrOwkJCQkJCQlcCi0JY2FzZSAyOgkJCQkJCQkJXAotCQlfX3B1dF91c2VyX2FzbSh4LCBwdHIsIHJldHZhbCwgInciLCAidyIsICJpciIsIGVycnJldCk7CVwKLQkJYnJlYWs7CQkJCQkJCVwKLQljYXNlIDQ6CQkJCQkJCQlcCi0JCV9fcHV0X3VzZXJfYXNtKHgsIHB0ciwgcmV0dmFsLCAibCIsICIiLCAgImlyIiwgZXJycmV0KTsJXAotCQlicmVhazsJCQkJCQkJXAotCWNhc2UgODoJCQkJCQkJCVwKLQkJX19wdXRfdXNlcl91NjQoKF9fdHlwZW9mX18oKnB0cikpKHgpLCBwdHIsIHJldHZhbCk7CVwKLQkJYnJlYWs7CQkJCQkJCVwKLQlkZWZhdWx0OgkJCQkJCQlcCi0JCV9fcHV0X3VzZXJfYmFkKCk7CQkJCQlcCi0JfQkJCQkJCQkJXAotfSB3aGlsZSAoMCkKLQotI2Vsc2UKLQotI2RlZmluZSBfX3B1dF91c2VyX3NpemUoeCwgcHRyLCBzaXplLCByZXR2YWwsIGVycnJldCkJCQlcCi1kbyB7CQkJCQkJCQkJXAotCV9fdHlwZW9mX18oKihwdHIpKV9fcHVzX3RtcCA9IHg7CQkJCVwKLQlyZXR2YWwgPSAwOwkJCQkJCQlcCi0JCQkJCQkJCQlcCi0JaWYgKHVubGlrZWx5KF9fY29weV90b191c2VyX2xsKHB0ciwgJl9fcHVzX3RtcCwgc2l6ZSkgIT0gMCkpCVwKLQkJcmV0dmFsID0gZXJycmV0OwkJCQkJXAotfSB3aGlsZSAoMCkKLQotI2VuZGlmCi1zdHJ1Y3QgX19sYXJnZV9zdHJ1Y3QgeyB1bnNpZ25lZCBsb25nIGJ1ZlsxMDBdOyB9OwotI2RlZmluZSBfX20oeCkgKCooc3RydWN0IF9fbGFyZ2Vfc3RydWN0IF9fdXNlciAqKSh4KSkKLQotLyoKLSAqIFRlbGwgZ2NjIHdlIHJlYWQgZnJvbSBtZW1vcnkgaW5zdGVhZCBvZiB3cml0aW5nOiB0aGlzIGlzIGJlY2F1c2UKLSAqIHdlIGRvIG5vdCB3cml0ZSB0byBhbnkgbWVtb3J5IGdjYyBrbm93cyBhYm91dCwgc28gdGhlcmUgYXJlIG5vCi0gKiBhbGlhc2luZyBpc3N1ZXMuCi0gKi8KLSNkZWZpbmUgX19wdXRfdXNlcl9hc20oeCwgYWRkciwgZXJyLCBpdHlwZSwgcnR5cGUsIGx0eXBlLCBlcnJyZXQpCVwKLQlhc20gdm9sYXRpbGUoIjE6CW1vdiJpdHlwZSIgJSJydHlwZSIxLCUyXG4iCQlcCi0JCSAgICAgIjI6XG4iCQkJCQkJXAotCQkgICAgICIuc2VjdGlvbiAuZml4dXAsXCJheFwiXG4iCQkJCVwKLQkJICAgICAiMzoJbW92bCAlMywlMFxuIgkJCQlcCi0JCSAgICAgIglqbXAgMmJcbiIJCQkJCVwKLQkJICAgICAiLnByZXZpb3VzXG4iCQkJCQlcCi0JCSAgICAgX0FTTV9FWFRBQkxFKDFiLCAzYikJCQkJXAotCQkgICAgIDogIj1yIihlcnIpCQkJCQlcCi0JCSAgICAgOiBsdHlwZSAoeCksICJtIiAoX19tKGFkZHIpKSwgImkiIChlcnJyZXQpLCAiMCIgKGVycikpCi0KLQotI2RlZmluZSBfX2dldF91c2VyX25vY2hlY2soeCwgcHRyLCBzaXplKQkJCQlcCi0oewkJCQkJCQkJCVwKLQlsb25nIF9fZ3VfZXJyOwkJCQkJCQlcCi0JdW5zaWduZWQgbG9uZyBfX2d1X3ZhbDsJCQkJCQlcCi0JX19nZXRfdXNlcl9zaXplKF9fZ3VfdmFsLCAocHRyKSwgKHNpemUpLCBfX2d1X2VyciwgLUVGQVVMVCk7CVwKLQkoeCkgPSAoX190eXBlb2ZfXygqKHB0cikpKV9fZ3VfdmFsOwkJCQlcCi0JX19ndV9lcnI7CQkJCQkJCVwKLX0pCi0KLWV4dGVybiBsb25nIF9fZ2V0X3VzZXJfYmFkKHZvaWQpOwotCi0jZGVmaW5lIF9fZ2V0X3VzZXJfc2l6ZSh4LCBwdHIsIHNpemUsIHJldHZhbCwgZXJycmV0KQkJCVwKLWRvIHsJCQkJCQkJCQlcCi0JcmV0dmFsID0gMDsJCQkJCQkJXAotCV9fY2hrX3VzZXJfcHRyKHB0cik7CQkJCQkJXAotCXN3aXRjaCAoc2l6ZSkgewkJCQkJCQlcCi0JY2FzZSAxOgkJCQkJCQkJXAotCQlfX2dldF91c2VyX2FzbSh4LCBwdHIsIHJldHZhbCwgImIiLCAiYiIsICI9cSIsIGVycnJldCk7CVwKLQkJYnJlYWs7CQkJCQkJCVwKLQljYXNlIDI6CQkJCQkJCQlcCi0JCV9fZ2V0X3VzZXJfYXNtKHgsIHB0ciwgcmV0dmFsLCAidyIsICJ3IiwgIj1yIiwgZXJycmV0KTsJXAotCQlicmVhazsJCQkJCQkJXAotCWNhc2UgNDoJCQkJCQkJCVwKLQkJX19nZXRfdXNlcl9hc20oeCwgcHRyLCByZXR2YWwsICJsIiwgIiIsICI9ciIsIGVycnJldCk7CVwKLQkJYnJlYWs7CQkJCQkJCVwKLQlkZWZhdWx0OgkJCQkJCQlcCi0JCSh4KSA9IF9fZ2V0X3VzZXJfYmFkKCk7CQkJCQlcCi0JfQkJCQkJCQkJXAotfSB3aGlsZSAoMCkKLQotI2RlZmluZSBfX2dldF91c2VyX2FzbSh4LCBhZGRyLCBlcnIsIGl0eXBlLCBydHlwZSwgbHR5cGUsIGVycnJldCkJXAotCWFzbSB2b2xhdGlsZSgiMToJbW92Iml0eXBlIiAlMiwlInJ0eXBlIjFcbiIJCVwKLQkJICAgICAiMjpcbiIJCQkJCQlcCi0JCSAgICAgIi5zZWN0aW9uIC5maXh1cCxcImF4XCJcbiIJCQkJXAotCQkgICAgICIzOgltb3ZsICUzLCUwXG4iCQkJCVwKLQkJICAgICAiCXhvciJpdHlwZSIgJSJydHlwZSIxLCUicnR5cGUiMVxuIgkJXAotCQkgICAgICIJam1wIDJiXG4iCQkJCQlcCi0JCSAgICAgIi5wcmV2aW91c1xuIgkJCQkJXAotCQkgICAgIF9BU01fRVhUQUJMRSgxYiwgM2IpCQkJCVwKLQkJICAgICA6ICI9ciIgKGVyciksIGx0eXBlICh4KQkJCQlcCi0JCSAgICAgOiAibSIgKF9fbShhZGRyKSksICJpIiAoZXJycmV0KSwgIjAiIChlcnIpKQotCi0KIHVuc2lnbmVkIGxvbmcgX19tdXN0X2NoZWNrIF9fY29weV90b191c2VyX2xsCiAJCSh2b2lkIF9fdXNlciAqdG8sIGNvbnN0IHZvaWQgKmZyb20sIHVuc2lnbmVkIGxvbmcgbik7CiB1bnNpZ25lZCBsb25nIF9fbXVzdF9jaGVjayBfX2NvcHlfZnJvbV91c2VyX2xsCkBAIC01NzYsOCArMTU2LDYgQEAKIAlyZXR1cm4gX19jb3B5X2Zyb21fdXNlcl9sbCh0bywgZnJvbSwgbik7CiB9CiAKLSNkZWZpbmUgQVJDSF9IQVNfTk9DQUNIRV9VQUNDRVNTCi0KIHN0YXRpYyBfX2Fsd2F5c19pbmxpbmUgdW5zaWduZWQgbG9uZyBfX2NvcHlfZnJvbV91c2VyX25vY2FjaGUodm9pZCAqdG8sCiAJCQkJY29uc3Qgdm9pZCBfX3VzZXIgKmZyb20sIHVuc2lnbmVkIGxvbmcgbikKIHsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni91YWNjZXNzXzY0LmggYi9pbmNsdWRlL2FzbS14ODYvdWFjY2Vzc182NC5oCmluZGV4IGI4YTJmNDMuLjUxNWQ0ZGMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni91YWNjZXNzXzY0LmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3VhY2Nlc3NfNjQuaApAQCAtOSwyNjUgKzksNiBAQAogI2luY2x1ZGUgPGxpbnV4L3ByZWZldGNoLmg+CiAjaW5jbHVkZSA8YXNtL3BhZ2UuaD4KIAotI2RlZmluZSBWRVJJRllfUkVBRCAwCi0jZGVmaW5lIFZFUklGWV9XUklURSAxCi0KLS8qCi0gKiBUaGUgZnMgdmFsdWUgZGV0ZXJtaW5lcyB3aGV0aGVyIGFyZ3VtZW50IHZhbGlkaXR5IGNoZWNraW5nIHNob3VsZCBiZQotICogcGVyZm9ybWVkIG9yIG5vdC4gIElmIGdldF9mcygpID09IFVTRVJfRFMsIGNoZWNraW5nIGlzIHBlcmZvcm1lZCwgd2l0aAotICogZ2V0X2ZzKCkgPT0gS0VSTkVMX0RTLCBjaGVja2luZyBpcyBieXBhc3NlZC4KLSAqCi0gKiBGb3IgaGlzdG9yaWNhbCByZWFzb25zLCB0aGVzZSBtYWNyb3MgYXJlIGdyb3NzbHkgbWlzbmFtZWQuCi0gKi8KLQotI2RlZmluZSBNQUtFX01NX1NFRyhzKQkoKG1tX3NlZ21lbnRfdCkgeyAocykgfSkKLQotI2RlZmluZSBLRVJORUxfRFMJTUFLRV9NTV9TRUcoMHhGRkZGRkZGRkZGRkZGRkZGVUwpCi0jZGVmaW5lIFVTRVJfRFMJCU1BS0VfTU1fU0VHKFBBR0VfT0ZGU0VUKQotCi0jZGVmaW5lIGdldF9kcygpCShLRVJORUxfRFMpCi0jZGVmaW5lIGdldF9mcygpCShjdXJyZW50X3RocmVhZF9pbmZvKCktPmFkZHJfbGltaXQpCi0jZGVmaW5lIHNldF9mcyh4KQkoY3VycmVudF90aHJlYWRfaW5mbygpLT5hZGRyX2xpbWl0ID0gKHgpKQotCi0jZGVmaW5lIHNlZ21lbnRfZXEoYSwgYikJKChhKS5zZWcgPT0gKGIpLnNlZykKLQotI2RlZmluZSBfX2FkZHJfb2soYWRkcikgKCEoKHVuc2lnbmVkIGxvbmcpKGFkZHIpICYJCQlcCi0JCQkgICAoY3VycmVudF90aHJlYWRfaW5mbygpLT5hZGRyX2xpbWl0LnNlZykpKQotCi0vKgotICogVWhodWgsIHRoaXMgbmVlZHMgNjUtYml0IGFyaXRobWV0aWMuIFdlIGhhdmUgYSBjYXJyeS4uCi0gKi8KLSNkZWZpbmUgX19yYW5nZV9ub3Rfb2soYWRkciwgc2l6ZSkJCQkJCVwKLSh7CQkJCQkJCQkJXAotCXVuc2lnbmVkIGxvbmcgZmxhZywgcm9rc3VtOwkJCQkJXAotCV9fY2hrX3VzZXJfcHRyKGFkZHIpOwkJCQkJCVwKLQlhc20oIiMgcmFuZ2Vfb2tcblxyIgkJCQkJCVwKLQkgICAgImFkZHEgJTMsJTEgOyBzYmJxICUwLCUwIDsgY21wcSAlMSwlNCA7IHNiYnEgJDAsJTAiCQlcCi0JICAgIDogIj0mciIgKGZsYWcpLCAiPXIiIChyb2tzdW0pCQkJCVwKLQkgICAgOiAiMSIgKGFkZHIpLCAiZyIgKChsb25nKShzaXplKSksCQkJCVwKLQkgICAgICAiZyIgKGN1cnJlbnRfdGhyZWFkX2luZm8oKS0+YWRkcl9saW1pdC5zZWcpKTsJCVwKLQlmbGFnOwkJCQkJCQkJXAotfSkKLQotI2RlZmluZSBhY2Nlc3Nfb2sodHlwZSwgYWRkciwgc2l6ZSkgKF9fcmFuZ2Vfbm90X29rKGFkZHIsIHNpemUpID09IDApCi0KLS8qCi0gKiBUaGUgZXhjZXB0aW9uIHRhYmxlIGNvbnNpc3RzIG9mIHBhaXJzIG9mIGFkZHJlc3NlczogdGhlIGZpcnN0IGlzIHRoZQotICogYWRkcmVzcyBvZiBhbiBpbnN0cnVjdGlvbiB0aGF0IGlzIGFsbG93ZWQgdG8gZmF1bHQsIGFuZCB0aGUgc2Vjb25kIGlzCi0gKiB0aGUgYWRkcmVzcyBhdCB3aGljaCB0aGUgcHJvZ3JhbSBzaG91bGQgY29udGludWUuICBObyByZWdpc3RlcnMgYXJlCi0gKiBtb2RpZmllZCwgc28gaXQgaXMgZW50aXJlbHkgdXAgdG8gdGhlIGNvbnRpbnVhdGlvbiBjb2RlIHRvIGZpZ3VyZSBvdXQKLSAqIHdoYXQgdG8gZG8uCi0gKgotICogQWxsIHRoZSByb3V0aW5lcyBiZWxvdyB1c2UgYml0cyBvZiBmaXh1cCBjb2RlIHRoYXQgYXJlIG91dCBvZiBsaW5lCi0gKiB3aXRoIHRoZSBtYWluIGluc3RydWN0aW9uIHBhdGguICBUaGlzIG1lYW5zIHdoZW4gZXZlcnl0aGluZyBpcyB3ZWxsLAotICogd2UgZG9uJ3QgZXZlbiBoYXZlIHRvIGp1bXAgb3ZlciB0aGVtLiAgRnVydGhlciwgdGhleSBkbyBub3QgaW50cnVkZQotICogb24gb3VyIGNhY2hlIG9yIHRsYiBlbnRyaWVzLgotICovCi0KLXN0cnVjdCBleGNlcHRpb25fdGFibGVfZW50cnkgewotCXVuc2lnbmVkIGxvbmcgaW5zbiwgZml4dXA7Ci19OwotCi1leHRlcm4gaW50IGZpeHVwX2V4Y2VwdGlvbihzdHJ1Y3QgcHRfcmVncyAqcmVncyk7Ci0KLSNkZWZpbmUgQVJDSF9IQVNfU0VBUkNIX0VYVEFCTEUKLQotLyoKLSAqIFRoZXNlIGFyZSB0aGUgbWFpbiBzaW5nbGUtdmFsdWUgdHJhbnNmZXIgcm91dGluZXMuICBUaGV5IGF1dG9tYXRpY2FsbHkKLSAqIHVzZSB0aGUgcmlnaHQgc2l6ZSBpZiB3ZSBqdXN0IGhhdmUgdGhlIHJpZ2h0IHBvaW50ZXIgdHlwZS4KLSAqCi0gKiBUaGlzIGdldHMga2luZCBvZiB1Z2x5LiBXZSB3YW50IHRvIHJldHVybiBfdHdvXyB2YWx1ZXMgaW4gImdldF91c2VyKCkiCi0gKiBhbmQgeWV0IHdlIGRvbid0IHdhbnQgdG8gZG8gYW55IHBvaW50ZXJzLCBiZWNhdXNlIHRoYXQgaXMgdG9vIG11Y2gKLSAqIG9mIGEgcGVyZm9ybWFuY2UgaW1wYWN0LiBUaHVzIHdlIGhhdmUgYSBmZXcgcmF0aGVyIHVnbHkgbWFjcm9zIGhlcmUsCi0gKiBhbmQgaGlkZSBhbGwgdGhlIHVnbGluZXNzIGZyb20gdGhlIHVzZXIuCi0gKgotICogVGhlICJfX3h4eCIgdmVyc2lvbnMgb2YgdGhlIHVzZXIgYWNjZXNzIGZ1bmN0aW9ucyBhcmUgdmVyc2lvbnMgdGhhdAotICogZG8gbm90IHZlcmlmeSB0aGUgYWRkcmVzcyBzcGFjZSwgdGhhdCBtdXN0IGhhdmUgYmVlbiBkb25lIHByZXZpb3VzbHkKLSAqIHdpdGggYSBzZXBhcmF0ZSAiYWNjZXNzX29rKCkiIGNhbGwgKHRoaXMgaXMgdXNlZCB3aGVuIHdlIGRvIG11bHRpcGxlCi0gKiBhY2Nlc3NlcyB0byB0aGUgc2FtZSBhcmVhIG9mIHVzZXIgbWVtb3J5KS4KLSAqLwotCi0jZGVmaW5lIF9fZ2V0X3VzZXJfeChzaXplLCByZXQsIHgsIHB0cikJCSAgICAgIFwKLQlhc20gdm9sYXRpbGUoImNhbGwgX19nZXRfdXNlcl8iICNzaXplCSAgICAgIFwKLQkJICAgICA6ICI9YSIgKHJldCksIj1kIiAoeCkJICAgICAgXAotCQkgICAgIDogImMiIChwdHIpCQkgICAgICBcCi0JCSAgICAgOiAicjgiKQotCi0vKiBDYXJlZnVsOiB3ZSBoYXZlIHRvIGNhc3QgdGhlIHJlc3VsdCB0byB0aGUgdHlwZSBvZiB0aGUgcG9pbnRlcgotICogZm9yIHNpZ24gcmVhc29ucyAqLwotCi0jZGVmaW5lIGdldF91c2VyKHgsIHB0cikJCQkJCQlcCi0oewkJCQkJCQkJCVwKLQl1bnNpZ25lZCBsb25nIF9fdmFsX2d1OwkJCQkJCVwKLQlpbnQgX19yZXRfZ3U7CQkJCQkJCVwKLQlfX2Noa191c2VyX3B0cihwdHIpOwkJCQkJCVwKLQlzd2l0Y2ggKHNpemVvZigqKHB0cikpKSB7CQkJCQlcCi0JY2FzZSAxOgkJCQkJCQkJXAotCQlfX2dldF91c2VyX3goMSwgX19yZXRfZ3UsIF9fdmFsX2d1LCBwdHIpOwkJXAotCQlicmVhazsJCQkJCQkJXAotCWNhc2UgMjoJCQkJCQkJCVwKLQkJX19nZXRfdXNlcl94KDIsIF9fcmV0X2d1LCBfX3ZhbF9ndSwgcHRyKTsJCVwKLQkJYnJlYWs7CQkJCQkJCVwKLQljYXNlIDQ6CQkJCQkJCQlcCi0JCV9fZ2V0X3VzZXJfeCg0LCBfX3JldF9ndSwgX192YWxfZ3UsIHB0cik7CQlcCi0JCWJyZWFrOwkJCQkJCQlcCi0JY2FzZSA4OgkJCQkJCQkJXAotCQlfX2dldF91c2VyX3goOCwgX19yZXRfZ3UsIF9fdmFsX2d1LCBwdHIpOwkJXAotCQlicmVhazsJCQkJCQkJXAotCWRlZmF1bHQ6CQkJCQkJCVwKLQkJX19nZXRfdXNlcl9iYWQoKTsJCQkJCVwKLQkJYnJlYWs7CQkJCQkJCVwKLQl9CQkJCQkJCQlcCi0JKHgpID0gKF9fZm9yY2UgdHlwZW9mKCoocHRyKSkpX192YWxfZ3U7CQkJCVwKLQlfX3JldF9ndTsJCQkJCQkJXAotfSkKLQotZXh0ZXJuIHZvaWQgX19wdXRfdXNlcl8xKHZvaWQpOwotZXh0ZXJuIHZvaWQgX19wdXRfdXNlcl8yKHZvaWQpOwotZXh0ZXJuIHZvaWQgX19wdXRfdXNlcl80KHZvaWQpOwotZXh0ZXJuIHZvaWQgX19wdXRfdXNlcl84KHZvaWQpOwotZXh0ZXJuIHZvaWQgX19wdXRfdXNlcl9iYWQodm9pZCk7Ci0KLSNkZWZpbmUgX19wdXRfdXNlcl94KHNpemUsIHJldCwgeCwgcHRyKQkJCQkJXAotCWFzbSB2b2xhdGlsZSgiY2FsbCBfX3B1dF91c2VyXyIgI3NpemUJCQkJXAotCQkgICAgIDoiPWEiIChyZXQpCQkJCQlcCi0JCSAgICAgOiJjIiAocHRyKSwiZCIgKHgpCQkJCQlcCi0JCSAgICAgOiJyOCIpCi0KLSNkZWZpbmUgcHV0X3VzZXIoeCwgcHRyKQkJCQkJCVwKLQlfX3B1dF91c2VyX2NoZWNrKChfX3R5cGVvZl9fKCoocHRyKSkpKHgpLCAocHRyKSwgc2l6ZW9mKCoocHRyKSkpCi0KLSNkZWZpbmUgX19nZXRfdXNlcih4LCBwdHIpCQkJCQkJXAotCV9fZ2V0X3VzZXJfbm9jaGVjaygoeCksIChwdHIpLCBzaXplb2YoKihwdHIpKSkKLSNkZWZpbmUgX19wdXRfdXNlcih4LCBwdHIpCQkJCQkJXAotCV9fcHV0X3VzZXJfbm9jaGVjaygoX190eXBlb2ZfXygqKHB0cikpKSh4KSwgKHB0ciksIHNpemVvZigqKHB0cikpKQotCi0jZGVmaW5lIF9fZ2V0X3VzZXJfdW5hbGlnbmVkIF9fZ2V0X3VzZXIKLSNkZWZpbmUgX19wdXRfdXNlcl91bmFsaWduZWQgX19wdXRfdXNlcgotCi0jZGVmaW5lIF9fcHV0X3VzZXJfbm9jaGVjayh4LCBwdHIsIHNpemUpCQlcCi0oewkJCQkJCQlcCi0JaW50IF9fcHVfZXJyOwkJCQkJXAotCV9fcHV0X3VzZXJfc2l6ZSgoeCksIChwdHIpLCAoc2l6ZSksIF9fcHVfZXJyKTsJXAotCV9fcHVfZXJyOwkJCQkJXAotfSkKLQotCi0jZGVmaW5lIF9fcHV0X3VzZXJfY2hlY2soeCwgcHRyLCBzaXplKQkJCQlcCi0oewkJCQkJCQkJXAotCWludCBfX3B1X2VycjsJCQkJCQlcCi0JdHlwZW9mKCoocHRyKSkgX191c2VyICpfX3B1X2FkZHIgPSAocHRyKTsJCVwKLQlzd2l0Y2ggKHNpemUpIHsJCQkJCQlcCi0JY2FzZSAxOgkJCQkJCQlcCi0JCV9fcHV0X3VzZXJfeCgxLCBfX3B1X2VyciwgeCwgX19wdV9hZGRyKTsJXAotCQlicmVhazsJCQkJCQlcCi0JY2FzZSAyOgkJCQkJCQlcCi0JCV9fcHV0X3VzZXJfeCgyLCBfX3B1X2VyciwgeCwgX19wdV9hZGRyKTsJXAotCQlicmVhazsJCQkJCQlcCi0JY2FzZSA0OgkJCQkJCQlcCi0JCV9fcHV0X3VzZXJfeCg0LCBfX3B1X2VyciwgeCwgX19wdV9hZGRyKTsJXAotCQlicmVhazsJCQkJCQlcCi0JY2FzZSA4OgkJCQkJCQlcCi0JCV9fcHV0X3VzZXJfeCg4LCBfX3B1X2VyciwgeCwgX19wdV9hZGRyKTsJXAotCQlicmVhazsJCQkJCQlcCi0JZGVmYXVsdDoJCQkJCQlcCi0JCV9fcHV0X3VzZXJfYmFkKCk7CQkJCVwKLQl9CQkJCQkJCVwKLQlfX3B1X2VycjsJCQkJCQlcCi19KQotCi0jZGVmaW5lIF9fcHV0X3VzZXJfc2l6ZSh4LCBwdHIsIHNpemUsIHJldHZhbCkJCQkJXAotZG8gewkJCQkJCQkJCVwKLQlyZXR2YWwgPSAwOwkJCQkJCQlcCi0JX19jaGtfdXNlcl9wdHIocHRyKTsJCQkJCQlcCi0Jc3dpdGNoIChzaXplKSB7CQkJCQkJCVwKLQljYXNlIDE6CQkJCQkJCQlcCi0JCV9fcHV0X3VzZXJfYXNtKHgsIHB0ciwgcmV0dmFsLCAiYiIsICJiIiwgImlxIiwgLUVGQVVMVCk7XAotCQlicmVhazsJCQkJCQkJXAotCWNhc2UgMjoJCQkJCQkJCVwKLQkJX19wdXRfdXNlcl9hc20oeCwgcHRyLCByZXR2YWwsICJ3IiwgInciLCAiaXIiLCAtRUZBVUxUKTtcCi0JCWJyZWFrOwkJCQkJCQlcCi0JY2FzZSA0OgkJCQkJCQkJXAotCQlfX3B1dF91c2VyX2FzbSh4LCBwdHIsIHJldHZhbCwgImwiLCAiayIsICJpciIsIC1FRkFVTFQpO1wKLQkJYnJlYWs7CQkJCQkJCVwKLQljYXNlIDg6CQkJCQkJCQlcCi0JCV9fcHV0X3VzZXJfYXNtKHgsIHB0ciwgcmV0dmFsLCAicSIsICIiLCAiWnIiLCAtRUZBVUxUKTsJXAotCQlicmVhazsJCQkJCQkJXAotCWRlZmF1bHQ6CQkJCQkJCVwKLQkJX19wdXRfdXNlcl9iYWQoKTsJCQkJCVwKLQl9CQkJCQkJCQlcCi19IHdoaWxlICgwKQotCi0vKiBGSVhNRTogdGhpcyBoYWNrIGlzIGRlZmluaXRlbHkgd3JvbmcgLUFLICovCi1zdHJ1Y3QgX19sYXJnZV9zdHJ1Y3QgeyB1bnNpZ25lZCBsb25nIGJ1ZlsxMDBdOyB9OwotI2RlZmluZSBfX20oeCkgKCooc3RydWN0IF9fbGFyZ2Vfc3RydWN0IF9fdXNlciAqKSh4KSkKLQotLyoKLSAqIFRlbGwgZ2NjIHdlIHJlYWQgZnJvbSBtZW1vcnkgaW5zdGVhZCBvZiB3cml0aW5nOiB0aGlzIGlzIGJlY2F1c2UKLSAqIHdlIGRvIG5vdCB3cml0ZSB0byBhbnkgbWVtb3J5IGdjYyBrbm93cyBhYm91dCwgc28gdGhlcmUgYXJlIG5vCi0gKiBhbGlhc2luZyBpc3N1ZXMuCi0gKi8KLSNkZWZpbmUgX19wdXRfdXNlcl9hc20oeCwgYWRkciwgZXJyLCBpdHlwZSwgcnR5cGUsIGx0eXBlLCBlcnJubykJXAotCWFzbSB2b2xhdGlsZSgiMToJbW92Iml0eXBlIiAlInJ0eXBlIjEsJTJcbiIJCVwKLQkJICAgICAiMjpcbiIJCQkJCQlcCi0JCSAgICAgIi5zZWN0aW9uIC5maXh1cCwgXCJheFwiXG4iCQkJXAotCQkgICAgICIzOgltb3YgJTMsJTBcbiIJCQkJXAotCQkgICAgICIJam1wIDJiXG4iCQkJCQlcCi0JCSAgICAgIi5wcmV2aW91c1xuIgkJCQkJXAotCQkgICAgIF9BU01fRVhUQUJMRSgxYiwgM2IpCQkJCVwKLQkJICAgICA6ICI9ciIoZXJyKQkJCQkJXAotCQkgICAgIDogbHR5cGUgKHgpLCAibSIgKF9fbShhZGRyKSksICJpIiAoZXJybm8pLCAiMCIgKGVycikpCi0KLQotI2RlZmluZSBfX2dldF91c2VyX25vY2hlY2soeCwgcHRyLCBzaXplKQkJCVwKLSh7CQkJCQkJCQlcCi0JaW50IF9fZ3VfZXJyOwkJCQkJCVwKLQl1bnNpZ25lZCBsb25nIF9fZ3VfdmFsOwkJCQkJXAotCV9fZ2V0X3VzZXJfc2l6ZShfX2d1X3ZhbCwgKHB0ciksIChzaXplKSwgX19ndV9lcnIpOwlcCi0JKHgpID0gKF9fZm9yY2UgdHlwZW9mKCoocHRyKSkpX19ndV92YWw7CQkJXAotCV9fZ3VfZXJyOwkJCQkJCVwKLX0pCi0KLWV4dGVybiBpbnQgX19nZXRfdXNlcl8xKHZvaWQpOwotZXh0ZXJuIGludCBfX2dldF91c2VyXzIodm9pZCk7Ci1leHRlcm4gaW50IF9fZ2V0X3VzZXJfNCh2b2lkKTsKLWV4dGVybiBpbnQgX19nZXRfdXNlcl84KHZvaWQpOwotZXh0ZXJuIGludCBfX2dldF91c2VyX2JhZCh2b2lkKTsKLQotI2RlZmluZSBfX2dldF91c2VyX3NpemUoeCwgcHRyLCBzaXplLCByZXR2YWwpCQkJCVwKLWRvIHsJCQkJCQkJCQlcCi0JcmV0dmFsID0gMDsJCQkJCQkJXAotCV9fY2hrX3VzZXJfcHRyKHB0cik7CQkJCQkJXAotCXN3aXRjaCAoc2l6ZSkgewkJCQkJCQlcCi0JY2FzZSAxOgkJCQkJCQkJXAotCQlfX2dldF91c2VyX2FzbSh4LCBwdHIsIHJldHZhbCwgImIiLCAiYiIsICI9cSIsIC1FRkFVTFQpO1wKLQkJYnJlYWs7CQkJCQkJCVwKLQljYXNlIDI6CQkJCQkJCQlcCi0JCV9fZ2V0X3VzZXJfYXNtKHgsIHB0ciwgcmV0dmFsLCAidyIsICJ3IiwgIj1yIiwgLUVGQVVMVCk7XAotCQlicmVhazsJCQkJCQkJXAotCWNhc2UgNDoJCQkJCQkJCVwKLQkJX19nZXRfdXNlcl9hc20oeCwgcHRyLCByZXR2YWwsICJsIiwgImsiLCAiPXIiLCAtRUZBVUxUKTtcCi0JCWJyZWFrOwkJCQkJCQlcCi0JY2FzZSA4OgkJCQkJCQkJXAotCQlfX2dldF91c2VyX2FzbSh4LCBwdHIsIHJldHZhbCwgInEiLCAiIiwgIj1yIiwgLUVGQVVMVCk7CVwKLQkJYnJlYWs7CQkJCQkJCVwKLQlkZWZhdWx0OgkJCQkJCQlcCi0JCSh4KSA9IF9fZ2V0X3VzZXJfYmFkKCk7CQkJCQlcCi0JfQkJCQkJCQkJXAotfSB3aGlsZSAoMCkKLQotI2RlZmluZSBfX2dldF91c2VyX2FzbSh4LCBhZGRyLCBlcnIsIGl0eXBlLCBydHlwZSwgbHR5cGUsIGVycm5vKQlcCi0JYXNtIHZvbGF0aWxlKCIxOgltb3YiaXR5cGUiICUyLCUicnR5cGUiMVxuIgkJXAotCQkgICAgICIyOlxuIgkJCQkJCVwKLQkJICAgICAiLnNlY3Rpb24gLmZpeHVwLCBcImF4XCJcbiIJCQlcCi0JCSAgICAgIjM6CW1vdiAlMywlMFxuIgkJCQlcCi0JCSAgICAgIgl4b3IiaXR5cGUiICUicnR5cGUiMSwlInJ0eXBlIjFcbiIJCVwKLQkJICAgICAiCWptcCAyYlxuIgkJCQkJXAotCQkgICAgICIucHJldmlvdXNcbiIJCQkJCVwKLQkJICAgICBfQVNNX0VYVEFCTEUoMWIsIDNiKQkJCQlcCi0JCSAgICAgOiAiPXIiIChlcnIpLCBsdHlwZSAoeCkJCQkJXAotCQkgICAgIDogIm0iIChfX20oYWRkcikpLCAiaSIoZXJybm8pLCAiMCIoZXJyKSkKLQogLyoKICAqIENvcHkgVG8vRnJvbSBVc2Vyc3BhY2UKICAqLwpAQCAtNDM3LDcgKzE3OCw2IEBACiAJcmV0dXJuIGNvcHlfdXNlcl9nZW5lcmljKChfX2ZvcmNlIHZvaWQgKilkc3QsIHNyYywgc2l6ZSk7CiB9CiAKLSNkZWZpbmUgQVJDSF9IQVNfTk9DQUNIRV9VQUNDRVNTIDEKIGV4dGVybiBsb25nIF9fY29weV91c2VyX25vY2FjaGUodm9pZCAqZHN0LCBjb25zdCB2b2lkIF9fdXNlciAqc3JjLAogCQkJCXVuc2lnbmVkIHNpemUsIGludCB6ZXJvcmVzdCk7CiAKQEAgLTQ1NSw0ICsxOTUsNyBAQAogCXJldHVybiBfX2NvcHlfdXNlcl9ub2NhY2hlKGRzdCwgc3JjLCBzaXplLCAwKTsKIH0KIAordW5zaWduZWQgbG9uZworY29weV91c2VyX2hhbmRsZV90YWlsKGNoYXIgKnRvLCBjaGFyICpmcm9tLCB1bnNpZ25lZCBsZW4sIHVuc2lnbmVkIHplcm9yZXN0KTsKKwogI2VuZGlmIC8qIF9fWDg2XzY0X1VBQ0NFU1NfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3VuaXN0ZF82NC5oIGIvaW5jbHVkZS9hc20teDg2L3VuaXN0ZF82NC5oCmluZGV4IGZlMjZlMzYuLjljMWE0YTMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni91bmlzdGRfNjQuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvdW5pc3RkXzY0LmgKQEAgLTI5MCw3ICsyOTAsNyBAQAogI2RlZmluZSBfX05SX3J0X3NpZ3F1ZXVlaW5mbwkJCTEyOQogX19TWVNDQUxMKF9fTlJfcnRfc2lncXVldWVpbmZvLCBzeXNfcnRfc2lncXVldWVpbmZvKQogI2RlZmluZSBfX05SX3J0X3NpZ3N1c3BlbmQJCQkxMzAKLV9fU1lTQ0FMTChfX05SX3J0X3NpZ3N1c3BlbmQsIHN0dWJfcnRfc2lnc3VzcGVuZCkKK19fU1lTQ0FMTChfX05SX3J0X3NpZ3N1c3BlbmQsIHN5c19ydF9zaWdzdXNwZW5kKQogI2RlZmluZSBfX05SX3NpZ2FsdHN0YWNrCQkJMTMxCiBfX1NZU0NBTEwoX19OUl9zaWdhbHRzdGFjaywgc3R1Yl9zaWdhbHRzdGFjaykKICNkZWZpbmUgX19OUl91dGltZQkJCQkxMzIKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni91di91dl9iYXUuaCBiL2luY2x1ZGUvYXNtLXg4Ni91di91dl9iYXUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MWFjMGRmCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20teDg2L3V2L3V2X2JhdS5oCkBAIC0wLDAgKzEsMzM3IEBACisvKgorICogVGhpcyBmaWxlIGlzIHN1YmplY3QgdG8gdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UuICBTZWUgdGhlIGZpbGUgIkNPUFlJTkciIGluIHRoZSBtYWluIGRpcmVjdG9yeSBvZiB0aGlzIGFyY2hpdmUKKyAqIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogU0dJIFVWIEJyb2FkY2FzdCBBc3Npc3QgVW5pdCBkZWZpbml0aW9ucworICoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBTaWxpY29uIEdyYXBoaWNzLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKi8KKworI2lmbmRlZiBfX0FTTV9YODZfVVZfQkFVX18KKyNkZWZpbmUgX19BU01fWDg2X1VWX0JBVV9fCisKKyNpbmNsdWRlIDxsaW51eC9iaXRtYXAuaD4KKyNkZWZpbmUgQklUU1BFUkJZVEUgOAorCisvKgorICogQnJvYWRjYXN0IEFzc2lzdCBVbml0IG1lc3NhZ2luZyBzdHJ1Y3R1cmVzCisgKgorICogU2VsZWN0aXZlIEJyb2FkY2FzdCBhY3RpdmF0aW9ucyBhcmUgaW5kdWNlZCBieSBzb2Z0d2FyZSBhY3Rpb24KKyAqIHNwZWNpZnlpbmcgYSBwYXJ0aWN1bGFyIDgtZGVzY3JpcHRvciAic2V0IiB2aWEgYSA2LWJpdCBpbmRleCB3cml0dGVuCisgKiB0byBhbiBNTVIuCisgKiBUaHVzIHRoZXJlIGFyZSA2NCB1bmlxdWUgNTEyLWJ5dGUgc2V0cyBvZiBTQiBkZXNjcmlwdG9ycyAtIG9uZSBzZXQgZm9yCisgKiBlYWNoIDYtYml0IGluZGV4IHZhbHVlLiBUaGVzZSBkZXNjcmlwdG9yIHNldHMgYXJlIG1hcHBlZCBpbiBzZXF1ZW5jZQorICogc3RhcnRpbmcgd2l0aCBzZXQgMCBsb2NhdGVkIGF0IHRoZSBhZGRyZXNzIHNwZWNpZmllZCBpbiB0aGUKKyAqIEJBVV9TQl9ERVNDUklQVE9SX0JBU0UgcmVnaXN0ZXIsIHNldCAxIGlzIGxvY2F0ZWQgYXQgQkFTRSArIDUxMiwKKyAqIHNldCAyIGlzIGF0IEJBU0UgKyAyKjUxMiwgc2V0IDMgYXQgQkFTRSArIDMqNTEyLCBhbmQgc28gb24uCisgKgorICogV2Ugd2lsbCB1c2UgMzEgc2V0cywgb25lIGZvciBzZW5kaW5nIEJBVSBtZXNzYWdlcyBmcm9tIGVhY2ggb2YgdGhlIDMyCisgKiBjcHUncyBvbiB0aGUgbm9kZS4KKyAqCisgKiBUTEIgc2hvb3Rkb3duIHdpbGwgdXNlIHRoZSBmaXJzdCBvZiB0aGUgOCBkZXNjcmlwdG9ycyBvZiBlYWNoIHNldC4KKyAqIEVhY2ggb2YgdGhlIGRlc2NyaXB0b3JzIGlzIDY0IGJ5dGVzIGluIHNpemUgKDgqNjQgPSA1MTIgYnl0ZXMgaW4gYSBzZXQpLgorICovCisKKyNkZWZpbmUgVVZfSVRFTVNfUEVSX0RFU0NSSVBUT1IJCTgKKyNkZWZpbmUgVVZfQ1BVU19QRVJfQUNUX1NUQVRVUwkJMzIKKyNkZWZpbmUgVVZfQUNUX1NUQVRVU19NQVNLCQkweDMKKyNkZWZpbmUgVVZfQUNUX1NUQVRVU19TSVpFCQkyCisjZGVmaW5lIFVWX0FDVElWQVRJT05fREVTQ1JJUFRPUl9TSVpFCTMyCisjZGVmaW5lIFVWX0RJU1RSSUJVVElPTl9TSVpFCQkyNTYKKyNkZWZpbmUgVVZfU1dfQUNLX05QRU5ESU5HCQk4CisjZGVmaW5lIFVWX0JBVV9NRVNTQUdFCQkJMjAwCisvKgorICogTWVzc2FnaW5nIGlycTsgc2VlIGlycV82NC5oIGFuZCBpbmNsdWRlL2FzbS14ODYvaHdfaXJxXzY0LmgKKyAqIFRvIGJlIGR5bmFtaWNhbGx5IGFsbG9jYXRlZCBpbiB0aGUgZnV0dXJlCisgKi8KKyNkZWZpbmUgVVZfTkVUX0VORFBPSU5UX0lOVEQJCTB4MzgKKyNkZWZpbmUgVVZfREVTQ19CQVNFX1BOT0RFX1NISUZUCTQ5CisjZGVmaW5lIFVWX1BBWUxPQURRX1BOT0RFX1NISUZUCQk0OQorI2RlZmluZSBVVl9QVENfQkFTRU5BTUUJCQkic2dpX3V2L3B0Y19zdGF0aXN0aWNzIgorI2RlZmluZSB1dl9waHlzbm9kZWFkZHIoeCkJCSgoX19wYSgodW5zaWduZWQgbG9uZykoeCkpICYgdXZfbW1hc2spKQorCisvKgorICogYml0cyBpbiBVVkhfTEJfQkFVX1NCX0FDVElWQVRJT05fU1RBVFVTXzAvMQorICovCisjZGVmaW5lIERFU0NfU1RBVFVTX0lETEUJCTAKKyNkZWZpbmUgREVTQ19TVEFUVVNfQUNUSVZFCQkxCisjZGVmaW5lIERFU0NfU1RBVFVTX0RFU1RJTkFUSU9OX1RJTUVPVVQJMgorI2RlZmluZSBERVNDX1NUQVRVU19TT1VSQ0VfVElNRU9VVAkzCisKKy8qCisgKiBzb3VyY2Ugc2lkZSB0aHJlc2hob2xkcyBhdCB3aGljaCBtZXNzYWdlIHJldHJpZXMgcHJpbnQgYSB3YXJuaW5nCisgKi8KKyNkZWZpbmUgU09VUkNFX1RJTUVPVVRfTElNSVQJCTIwCisjZGVmaW5lIERFU1RJTkFUSU9OX1RJTUVPVVRfTElNSVQJMjAKKworLyoKKyAqIG51bWJlciBvZiBlbnRyaWVzIGluIHRoZSBkZXN0aW5hdGlvbiBzaWRlIHBheWxvYWQgcXVldWUKKyAqLworI2RlZmluZSBERVNUX1FfU0laRQkJCTE3CisvKgorICogbnVtYmVyIG9mIGRlc3RpbmF0aW9uIHNpZGUgc29mdHdhcmUgYWNrIHJlc291cmNlcworICovCisjZGVmaW5lIERFU1RfTlVNX1JFU09VUkNFUwkJOAorI2RlZmluZSBNQVhfQ1BVU19QRVJfTk9ERQkJMzIKKy8qCisgKiBjb21wbGV0aW9uIHN0YXR1c2VzIGZvciBzZW5kaW5nIGEgVExCIGZsdXNoIG1lc3NhZ2UKKyAqLworI2RlZmluZQlGTFVTSF9SRVRSWQkJCTEKKyNkZWZpbmUJRkxVU0hfR0lWRVVQCQkJMgorI2RlZmluZQlGTFVTSF9DT01QTEVURQkJCTMKKworLyoKKyAqIERpc3RyaWJ1dGlvbjogMzIgYnl0ZXMgKDI1NiBiaXRzKSAoYnl0ZXMgMC0weDFmIG9mIGRlc2NyaXB0b3IpCisgKiBJZiB0aGUgJ211bHRpbGV2ZWwnIGZsYWcgaW4gdGhlIGhlYWRlciBwb3J0aW9uIG9mIHRoZSBkZXNjcmlwdG9yCisgKiBoYXMgYmVlbiBzZXQgdG8gMCwgdGhlbiBlbmRwb2ludCBtdWx0aS11bmljYXN0IG1vZGUgaXMgc2VsZWN0ZWQuCisgKiBUaGUgZGlzdHJpYnV0aW9uIHNwZWNpZmljYXRpb24gKDMyIGJ5dGVzKSBpcyBpbnRlcnByZXRlZCBhcyBhIDI1Ni1iaXQKKyAqIGRpc3RyaWJ1dGlvbiB2ZWN0b3IuIEFkamFjZW50IGJpdHMgY29ycmVzcG9uZCB0byBjb25zZWN1dGl2ZSBldmVuIG51bWJlcmVkCisgKiBub2RlSURzLiBUaGUgcmVzdWx0IG9mIGFkZGluZyB0aGUgaW5kZXggb2YgYSBnaXZlbiBiaXQgdG8gdGhlIDE1LWJpdAorICogJ2Jhc2VfZGVzdF9ub2RlaWQnIGZpZWxkIG9mIHRoZSBoZWFkZXIgY29ycmVzcG9uZHMgdG8gdGhlCisgKiBkZXN0aW5hdGlvbiBub2RlSUQgYXNzb2NpYXRlZCB3aXRoIHRoYXQgc3BlY2lmaWVkIGJpdC4KKyAqLworc3RydWN0IGJhdV90YXJnZXRfbm9kZW1hc2sgeworCXVuc2lnbmVkIGxvbmcgYml0c1tCSVRTX1RPX0xPTkdTKDI1NildOworfTsKKworLyoKKyAqIG1hc2sgb2YgY3B1J3Mgb24gYSBub2RlCisgKiAoZHVyaW5nIGluaXRpYWxpemF0aW9uIHdlIG5lZWQgdG8gY2hlY2sgdGhhdCB1bnNpZ25lZCBsb25nIGhhcworICogIGVub3VnaCBiaXRzIGZvciBtYXguIGNwdSdzIHBlciBub2RlKQorICovCitzdHJ1Y3QgYmF1X2xvY2FsX2NwdW1hc2sgeworCXVuc2lnbmVkIGxvbmcgYml0czsKK307CisKKy8qCisgKiBQYXlsb2FkOiAxNiBieXRlcyAoMTI4IGJpdHMpIChieXRlcyAweDIwLTB4MmYgb2YgZGVzY3JpcHRvcikKKyAqIG9ubHkgMTIgYnl0ZXMgKDk2IGJpdHMpIG9mIHRoZSBwYXlsb2FkIGFyZWEgYXJlIHVzYWJsZS4KKyAqIEFuIGFkZGl0aW9uYWwgMyBieXRlcyAoYml0cyAyNzo0KSBvZiB0aGUgaGVhZGVyIGFkZHJlc3MgYXJlIGNhcnJpZWQKKyAqIHRvIHRoZSBuZXh0IGJ5dGVzIG9mIHRoZSBkZXN0aW5hdGlvbiBwYXlsb2FkIHF1ZXVlLgorICogQW5kIGFuIGFkZGl0aW9uYWwgMiBieXRlcyBvZiB0aGUgaGVhZGVyIFN1cHBsX0EgZmllbGQgYXJlIGFsc28KKyAqIGNhcnJpZWQgdG8gdGhlIGRlc3RpbmF0aW9uIHBheWxvYWQgcXVldWUuCisgKiBCdXQgdGhlIGZpcnN0IGJ5dGUgb2YgdGhlIFN1cHBsX0EgYmVjb21lcyBiaXRzIDEyNzoxMjAgKHRoZSAxNnRoIGJ5dGUpCisgKiBvZiB0aGUgZGVzdGluYXRpb24gcGF5bG9hZCBxdWV1ZSwgd2hpY2ggaXMgd3JpdHRlbiBieSB0aGUgaGFyZHdhcmUKKyAqIHdpdGggdGhlIHMvdyBhY2sgcmVzb3VyY2UgYml0IHZlY3Rvci4KKyAqIFsgZWZmZWN0aXZlIG1lc3NhZ2UgY29udGVudHMgKDE2IGJ5dGVzICgxMjggYml0cykgbWF4aW11bSksIG5vdCBjb3VudGluZworICogICB0aGUgcy93IGFjayBiaXQgdmVjdG9yICBdCisgKi8KKworLyoKKyAqIFRoZSBwYXlsb2FkIGlzIHNvZnR3YXJlLWRlZmluZWQgZm9yIElOVEQgdHJhbnNhY3Rpb25zCisgKi8KK3N0cnVjdCBiYXVfbXNnX3BheWxvYWQgeworCXVuc2lnbmVkIGxvbmcgYWRkcmVzczsJCS8qIHNpZ25pZmllcyBhIHBhZ2Ugb3IgYWxsIFRMQidzCisJCQkJCQlvZiB0aGUgY3B1ICovCisJLyogNjQgYml0cyAqLworCXVuc2lnbmVkIHNob3J0IHNlbmRpbmdfY3B1OwkvKiBmaWxsZWQgaW4gYnkgc2VuZGVyICovCisJLyogMTYgYml0cyAqLworCXVuc2lnbmVkIHNob3J0IGFja25vd2xlZGdlX2NvdW50Oy8qIGZpbGxlZCBpbiBieSBkZXN0aW5hdGlvbiAqLworCS8qIDE2IGJpdHMgKi8KKwl1bnNpZ25lZCBpbnQgcmVzZXJ2ZWQxOjMyOwkvKiBub3QgdXNhYmxlICovCit9OworCisKKy8qCisgKiBNZXNzYWdlIGhlYWRlcjogIDE2IGJ5dGVzICgxMjggYml0cykgKGJ5dGVzIDB4MzAtMHgzZiBvZiBkZXNjcmlwdG9yKQorICogc2VlIHRhYmxlIDQuMi4zLjAuMSBpbiBicm9hY2FzdF9hc3Npc3Qgc3BlYy4KKyAqLworc3RydWN0IGJhdV9tc2dfaGVhZGVyIHsKKwlpbnQgZGVzdF9zdWJub2RlaWQ6NjsJLyogbXVzdCBiZSB6ZXJvICovCisJLyogYml0cyA1OjAgKi8KKwlpbnQgYmFzZV9kZXN0X25vZGVpZDoxNTsgLyogbmFzaWQ+PjEgKHBub2RlKSBvZiBmaXJzdCBiaXQgaW4gbm9kZV9tYXAgKi8KKwkvKiBiaXRzIDIwOjYgKi8KKwlpbnQgY29tbWFuZDo4OwkJLyogbWVzc2FnZSB0eXBlICovCisJLyogYml0cyAyODoyMSAqLworCQkJCS8qIDB4Mzg6IFNOM25ldCBFbmRQb2ludCBNZXNzYWdlICovCisJaW50IHJzdmRfMTozOwkJLyogbXVzdCBiZSB6ZXJvICovCisJLyogYml0cyAzMToyOSAqLworCQkJCS8qIGludCB3aWxsIGFsaWduIG9uIDMyIGJpdHMgKi8KKwlpbnQgcnN2ZF8yOjk7CQkvKiBtdXN0IGJlIHplcm8gKi8KKwkvKiBiaXRzIDQwOjMyICovCisJCQkJLyogU3VwcGxfQSBpcyA1Ni00MSAqLworCWludCBwYXlsb2FkXzJhOjg7CS8qIGJlY29tZXMgYnl0ZSAxNiBvZiBtc2cgKi8KKwkvKiBiaXRzIDQ4OjQxICovCS8qIG5vdCBjdXJyZW50bHkgdXNpbmcgKi8KKwlpbnQgcGF5bG9hZF8yYjo4OwkvKiBiZWNvbWVzIGJ5dGUgMTcgb2YgbXNnICovCisJLyogYml0cyA1Njo0OSAqLwkvKiBub3QgY3VycmVudGx5IHVzaW5nICovCisJCQkJLyogQWRkcmVzcyBmaWVsZCAoOTY6NTcpIGlzIG5ldmVyIHVzZWQgYXMgYW4KKwkJCQkgICBhZGRyZXNzICh0aGVzZSBhcmUgYWRkcmVzcyBiaXRzIDQyOjMpICovCisJaW50IHJzdmRfMzoxOwkJLyogbXVzdCBiZSB6ZXJvICovCisJLyogYml0IDU3ICovCisJCQkJLyogYWRkcmVzcyBiaXRzIDI3OjQgYXJlIHBheWxvYWQgKi8KKwkJCQkvKiB0aGVzZSAyNCBiaXRzIGJlY29tZSBieXRlcyAxMi0xNCBvZiBtc2cgKi8KKwlpbnQgcmVwbGllZF90bzoxOwkvKiBzZW50IGFzIDAgYnkgdGhlIHNvdXJjZSB0byBieXRlIDEyICovCisJLyogYml0IDU4ICovCisKKwlpbnQgcGF5bG9hZF8xYTo1OwkvKiBub3QgY3VycmVudGx5IHVzZWQgKi8KKwkvKiBiaXRzIDYzOjU5ICovCisJaW50IHBheWxvYWRfMWI6ODsJLyogbm90IGN1cnJlbnRseSB1c2VkICovCisJLyogYml0cyA3MTo2NCAqLworCWludCBwYXlsb2FkXzFjOjg7CS8qIG5vdCBjdXJyZW50bHkgdXNlZCAqLworCS8qIGJpdHMgNzk6NzIgKi8KKwlpbnQgcGF5bG9hZF8xZDoyOwkvKiBub3QgY3VycmVudGx5IHVzZWQgKi8KKwkvKiBiaXRzIDgxOjgwICovCisKKwlpbnQgcnN2ZF80Ojc7CQkvKiBtdXN0IGJlIHplcm8gKi8KKwkvKiBiaXRzIDg4OjgyICovCisJaW50IHN3X2Fja19mbGFnOjE7CS8qIHNvZnR3YXJlIGFja25vd2xlZGdlIGZsYWcgKi8KKwkvKiBiaXQgODkgKi8KKwkJCQkvKiBJTlREIHRyYXNhY3Rpb25zIGF0IGRlc3RpbmF0aW9uIGFyZSB0bworCQkJCSAgIHdhaXQgZm9yIHNvZnR3YXJlIGFja25vd2xlZGdlICovCisJaW50IHJzdmRfNTo2OwkJLyogbXVzdCBiZSB6ZXJvICovCisJLyogYml0cyA5NTo5MCAqLworCWludCByc3ZkXzY6NTsJCS8qIG11c3QgYmUgemVybyAqLworCS8qIGJpdHMgMTAwOjk2ICovCisJaW50IGludF9ib3RoOjE7CQkvKiBpZiAxLCBpbnRlcnJ1cHQgYm90aCBzb2NrZXRzIG9uIHRoZSBibGFkZSAqLworCS8qIGJpdCAxMDEqLworCWludCBmYWlybmVzczozOwkJLyogdXN1YWxseSB6ZXJvICovCisJLyogYml0cyAxMDQ6MTAyICovCisJaW50IG11bHRpbGV2ZWw6MTsJLyogbXVsdGktbGV2ZWwgbXVsdGljYXN0IGZvcm1hdCAqLworCS8qIGJpdCAxMDUgKi8KKwkJCQkvKiAwIGZvciBUTEI6IGVuZHBvaW50IG11bHRpLXVuaWNhc3QgbWVzc2FnZXMgKi8KKwlpbnQgY2hhaW5pbmc6MTsJCS8qIG5leHQgZGVzY3JpcHRvciBpcyBwYXJ0IG9mIHRoaXMgYWN0aXZhdGlvbiovCisJLyogYml0IDEwNiAqLworCWludCByc3ZkXzc6MjE7CQkvKiBtdXN0IGJlIHplcm8gKi8KKwkvKiBiaXRzIDEyNzoxMDcgKi8KK307CisKKy8qCisgKiBUaGUgYWN0aXZhdGlvbiBkZXNjcmlwdG9yOgorICogVGhlIGZvcm1hdCBvZiB0aGUgbWVzc2FnZSB0byBzZW5kLCBwbHVzIGFsbCBhY2NvbXBhbnlpbmcgY29udHJvbAorICogU2hvdWxkIGJlIDY0IGJ5dGVzCisgKi8KK3N0cnVjdCBiYXVfZGVzYyB7CisJc3RydWN0IGJhdV90YXJnZXRfbm9kZW1hc2sgZGlzdHJpYnV0aW9uOworCS8qCisJICogbWVzc2FnZSB0ZW1wbGF0ZSwgY29uc2lzdGluZyBvZiBoZWFkZXIgYW5kIHBheWxvYWQ6CisJICovCisJc3RydWN0IGJhdV9tc2dfaGVhZGVyIGhlYWRlcjsKKwlzdHJ1Y3QgYmF1X21zZ19wYXlsb2FkIHBheWxvYWQ7Cit9OworLyoKKyAqICAgLXBheWxvYWQtLSAgICAtLS0tLS0tLS1oZWFkZXItLS0tLS0KKyAqICAgYnl0ZXMgMC0xMSAgICBiaXRzIDQxLTU2ICBiaXRzIDU4LTgxCisgKiAgICAgICBBICAgICAgICAgICBCICAoMikgICAgICBDICgzKQorICoKKyAqICAgICAgICAgICAgQS9CL0MgYXJlIG1vdmVkIHRvOgorICogICAgICAgQSAgICAgICAgICAgIEMgICAgICAgICAgQgorICogICBieXRlcyAwLTExICBieXRlcyAxMi0xNCAgYnl0ZXMgMTYtMTcgIChieXRlIDE1IGZpbGxlZCBpbiBieSBodyBhcyB2ZWN0b3IpCisgKiAgIC0tLS0tLS0tLS0tLXBheWxvYWQgcXVldWUtLS0tLS0tLS0tLQorICovCisKKy8qCisgKiBUaGUgcGF5bG9hZCBxdWV1ZSBvbiB0aGUgZGVzdGluYXRpb24gc2lkZSBpcyBhbiBhcnJheSBvZiB0aGVzZS4KKyAqIFdpdGggQkFVX01JU0NfQ09OVFJPTCBzZXQgZm9yIHNvZnR3YXJlIGFja25vd2xlZGdlIG1vZGUsIHRoZSBtZXNzYWdlcworICogYXJlIDMyIGJ5dGVzICgyIG1pY3JvcGFja2V0cykgKDI1NiBiaXRzKSBpbiBsZW5ndGgsIGJ1dCBjb250YWluIG9ubHkgMTcKKyAqIGJ5dGVzIG9mIHVzYWJsZSBkYXRhLCBpbmNsdWRpbmcgdGhlIHN3IGFjayB2ZWN0b3IgaW4gYnl0ZSAxNSAoYml0cyAxMjc6MTIwKQorICogKDEyIGJ5dGVzIGNvbWUgZnJvbSBiYXVfbXNnX3BheWxvYWQsIDMgZnJvbSBwYXlsb2FkXzEsIDIgZnJvbQorICogIHN3X2Fja192ZWN0b3IgYW5kIHBheWxvYWRfMikKKyAqICJFbmFibGluZyBTb2Z0d2FyZSBBY2tub3dsZWRnbWVudCBtb2RlIChzZWUgU2VjdGlvbiA0LjMuMyBTb2Z0d2FyZQorICogIEFja25vd2xlZGdlIFByb2Nlc3NpbmcpIGFsc28gc2VsZWN0cyAzMiBieXRlICgxNyBieXRlcyB1c2FibGUpIHBheWxvYWQKKyAqICBvcGVyYXRpb24uIgorICovCitzdHJ1Y3QgYmF1X3BheWxvYWRfcXVldWVfZW50cnkgeworCXVuc2lnbmVkIGxvbmcgYWRkcmVzczsJCS8qIHNpZ25pZmllcyBhIHBhZ2Ugb3IgYWxsIFRMQidzCisJCQkJCQlvZiB0aGUgY3B1ICovCisJLyogNjQgYml0cywgYnl0ZXMgMC03ICovCisKKwl1bnNpZ25lZCBzaG9ydCBzZW5kaW5nX2NwdTsJLyogY3B1IHRoYXQgc2VudCB0aGUgbWVzc2FnZSAqLworCS8qIDE2IGJpdHMsIGJ5dGVzIDgtOSAqLworCisJdW5zaWduZWQgc2hvcnQgYWNrbm93bGVkZ2VfY291bnQ7IC8qIGZpbGxlZCBpbiBieSBkZXN0aW5hdGlvbiAqLworCS8qIDE2IGJpdHMsIGJ5dGVzIDEwLTExICovCisKKwl1bnNpZ25lZCBzaG9ydCByZXBsaWVkX3RvOjE7CS8qIHNlbnQgYXMgMCBieSB0aGUgc291cmNlICovCisJLyogMSBiaXQgKi8KKwl1bnNpZ25lZCBzaG9ydCB1bnVzZWQxOjc7ICAgICAgIC8qIG5vdCBjdXJyZW50bHkgdXNpbmcgKi8KKwkvKiA3IGJpdHM6IGJ5dGUgMTIpICovCisKKwl1bnNpZ25lZCBjaGFyIHVudXNlZDJbMl07CS8qIG5vdCBjdXJyZW50bHkgdXNpbmcgKi8KKwkvKiBieXRlcyAxMy0xNCAqLworCisJdW5zaWduZWQgY2hhciBzd19hY2tfdmVjdG9yOwkvKiBmaWxsZWQgaW4gYnkgdGhlIGhhcmR3YXJlICovCisJLyogYnl0ZSAxNSAoYml0cyAxMjc6MTIwKSAqLworCisJdW5zaWduZWQgY2hhciB1bnVzZWQ0WzNdOwkvKiBub3QgY3VycmVudGx5IHVzaW5nIGJ5dGVzIDE3LTE5ICovCisJLyogYnl0ZXMgMTctMTkgKi8KKworCWludCBudW1iZXJfb2ZfY3B1czsJCS8qIGZpbGxlZCBpbiBhdCBkZXN0aW5hdGlvbiAqLworCS8qIDMyIGJpdHMsIGJ5dGVzIDIwLTIzIChhbGlnbmVkKSAqLworCisJdW5zaWduZWQgY2hhciB1bnVzZWQ1WzhdOyAgICAgICAvKiBub3QgdXNpbmcgKi8KKwkvKiBieXRlcyAyNC0zMSAqLworfTsKKworLyoKKyAqIG9uZSBmb3IgZXZlcnkgc2xvdCBpbiB0aGUgZGVzdGluYXRpb24gcGF5bG9hZCBxdWV1ZQorICovCitzdHJ1Y3QgYmF1X21zZ19zdGF0dXMgeworCXN0cnVjdCBiYXVfbG9jYWxfY3B1bWFzayBzZWVuX2J5OwkvKiBtYXAgb2YgY3B1J3MgKi8KK307CisKKy8qCisgKiBvbmUgZm9yIGV2ZXJ5IHNsb3QgaW4gdGhlIGRlc3RpbmF0aW9uIHNvZnR3YXJlIGFjayByZXNvdXJjZXMKKyAqLworc3RydWN0IGJhdV9zd19hY2tfc3RhdHVzIHsKKwlzdHJ1Y3QgYmF1X3BheWxvYWRfcXVldWVfZW50cnkgKm1zZzsJLyogYXNzb2NpYXRlZCBtZXNzYWdlICovCisJaW50IHdhdGNoZXI7CQkJCS8qIGNwdSBtb25pdG9yaW5nLCBvciAtMSAqLworfTsKKworLyoKKyAqIG9uZSBvbiBldmVyeSBub2RlIGFuZCBwZXItY3B1OyB0byBsb2NhdGUgdGhlIHNvZnR3YXJlIHRhYmxlcworICovCitzdHJ1Y3QgYmF1X2NvbnRyb2wgeworCXN0cnVjdCBiYXVfZGVzYyAqZGVzY3JpcHRvcl9iYXNlOworCXN0cnVjdCBiYXVfcGF5bG9hZF9xdWV1ZV9lbnRyeSAqYmF1X21zZ19oZWFkOworCXN0cnVjdCBiYXVfcGF5bG9hZF9xdWV1ZV9lbnRyeSAqdmFfcXVldWVfZmlyc3Q7CisJc3RydWN0IGJhdV9wYXlsb2FkX3F1ZXVlX2VudHJ5ICp2YV9xdWV1ZV9sYXN0OworCXN0cnVjdCBiYXVfbXNnX3N0YXR1cyAqbXNnX3N0YXR1c2VzOworCWludCAqd2F0Y2hpbmc7IC8qIHBvaW50ZXIgdG8gYXJyYXkgKi8KK307CisKKy8qCisgKiBUaGlzIHN0cnVjdHVyZSBpcyBhbGxvY2F0ZWQgcGVyX2NwdSBmb3IgVVYgVExCIHNob290ZG93biBzdGF0aXN0aWNzLgorICovCitzdHJ1Y3QgcHRjX3N0YXRzIHsKKwl1bnNpZ25lZCBsb25nIHB0Y19pOwkvKiBudW1iZXIgb2YgSVBJLXN0eWxlIGZsdXNoZXMgKi8KKwl1bnNpZ25lZCBsb25nIHJlcXVlc3RvcjsJLyogbnVtYmVyIG9mIG5vZGVzIHRoaXMgY3B1IHNlbnQgdG8gKi8KKwl1bnNpZ25lZCBsb25nIHJlcXVlc3RlZTsJLyogdGltZXMgY3B1IHdhcyByZW1vdGVseSByZXF1ZXN0ZWQgKi8KKwl1bnNpZ25lZCBsb25nIGFsbHRsYjsJLyogdGltZXMgYWxsIHRsYidzIG9uIHRoaXMgY3B1IHdlcmUgZmx1c2hlZCAqLworCXVuc2lnbmVkIGxvbmcgb25ldGxiOwkvKiB0aW1lcyBqdXN0IG9uZSB0bGIgb24gdGhpcyBjcHUgd2FzIGZsdXNoZWQgKi8KKwl1bnNpZ25lZCBsb25nIHNfcmV0cnk7CS8qIHJldHJpZXMgb24gc291cmNlIHNpZGUgdGltZW91dHMgKi8KKwl1bnNpZ25lZCBsb25nIGRfcmV0cnk7CS8qIHJldHJpZXMgb24gZGVzdGluYXRpb24gc2lkZSB0aW1lb3V0cyAqLworCXVuc2lnbmVkIGxvbmcgc2ZsdXNoOwkvKiBjeWNsZXMgc3BlbnQgaW4gdXZfZmx1c2hfdGxiX290aGVycyAqLworCXVuc2lnbmVkIGxvbmcgZGZsdXNoOwkvKiBjeWNsZXMgc3BlbnQgb24gZGVzdGluYXRpb24gc2lkZSAqLworCXVuc2lnbmVkIGxvbmcgcmV0cmllc29rOyAvKiBzdWNjZXNzZXMgb24gcmV0cmllcyAqLworCXVuc2lnbmVkIGxvbmcgbm9tc2c7CS8qIGludGVycnVwdHMgd2l0aCBubyBtZXNzYWdlICovCisJdW5zaWduZWQgbG9uZyBtdWx0bXNnOwkvKiBpbnRlcnJ1cHRzIHdpdGggbXVsdGlwbGUgbWVzc2FnZXMgKi8KKwl1bnNpZ25lZCBsb25nIG50YXJnZXRlZDsvKiBub2RlcyB0YXJnZXRlZCAqLworfTsKKworc3RhdGljIGlubGluZSBpbnQgYmF1X25vZGVfaXNzZXQoaW50IG5vZGUsIHN0cnVjdCBiYXVfdGFyZ2V0X25vZGVtYXNrICpkc3RwKQoreworCXJldHVybiBjb25zdGFudF90ZXN0X2JpdChub2RlLCAmZHN0cC0+Yml0c1swXSk7Cit9CitzdGF0aWMgaW5saW5lIHZvaWQgYmF1X25vZGVfc2V0KGludCBub2RlLCBzdHJ1Y3QgYmF1X3RhcmdldF9ub2RlbWFzayAqZHN0cCkKK3sKKwlfX3NldF9iaXQobm9kZSwgJmRzdHAtPmJpdHNbMF0pOworfQorc3RhdGljIGlubGluZSB2b2lkIGJhdV9ub2Rlc19jbGVhcihzdHJ1Y3QgYmF1X3RhcmdldF9ub2RlbWFzayAqZHN0cCwgaW50IG5iaXRzKQoreworCWJpdG1hcF96ZXJvKCZkc3RwLT5iaXRzWzBdLCBuYml0cyk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBiYXVfY3B1Yml0c19jbGVhcihzdHJ1Y3QgYmF1X2xvY2FsX2NwdW1hc2sgKmRzdHAsIGludCBuYml0cykKK3sKKwliaXRtYXBfemVybygmZHN0cC0+Yml0cywgbmJpdHMpOworfQorCisjZGVmaW5lIGNwdWJpdF9pc3NldChjcHUsIGJhdV9sb2NhbF9jcHVtYXNrKSBcCisJdGVzdF9iaXQoKGNwdSksIChiYXVfbG9jYWxfY3B1bWFzaykuYml0cykKKworZXh0ZXJuIGludCB1dl9mbHVzaF90bGJfb3RoZXJzKGNwdW1hc2tfdCAqLCBzdHJ1Y3QgbW1fc3RydWN0ICosIHVuc2lnbmVkIGxvbmcpOworZXh0ZXJuIHZvaWQgdXZfYmF1X21lc3NhZ2VfaW50cjEodm9pZCk7CitleHRlcm4gdm9pZCB1dl9iYXVfdGltZW91dF9pbnRyMSh2b2lkKTsKKworI2VuZGlmIC8qIF9fQVNNX1g4Nl9VVl9CQVVfXyAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3V2L3V2X2h1Yi5oIGIvaW5jbHVkZS9hc20teDg2L3V2L3V2X2h1Yi5oCmluZGV4IDI2YjkyNDAuLmE0ZWYyNmUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni91di91dl9odWIuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvdXYvdXZfaHViLmgKQEAgLTUsNyArNSw3IEBACiAgKgogICogU0dJIFVWIGFyY2hpdGVjdHVyYWwgZGVmaW5pdGlvbnMKICAqCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDcgU2lsaWNvbiBHcmFwaGljcywgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMDggU2lsaWNvbiBHcmFwaGljcywgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICovCiAKICNpZm5kZWYgX19BU01fWDg2X1VWX0hVQl9IX18KQEAgLTIwLDI2ICsyMCw0OSBAQAogLyoKICAqIEFkZHJlc3NpbmcgVGVybWlub2xvZ3kKICAqCi0gKiAJTkFTSUQgLSBuZXR3b3JrIElEIG9mIGEgcm91dGVyLCBNYnJpY2sgb3IgQ2JyaWNrLiBOYXNpZCB2YWx1ZXMgb2YKLSAqIAkJcm91dGVycyBhbHdheXMgaGF2ZSBsb3cgYml0IG9mIDEsIEMvTUJyaWNrcyBoYXZlIGxvdyBiaXQKLSAqIAkJZXF1YWwgdG8gMC4gTW9zdCBhZGRyZXNzaW5nIG1hY3JvcyB0aGF0IHRhcmdldCBVViBodWIgY2hpcHMKLSAqIAkJcmlnaHQgc2hpZnQgdGhlIE5BU0lEIGJ5IDEgdG8gZXhjbHVkZSB0aGUgYWx3YXlzLXplcm8gYml0LgorICoJTSAgICAgICAtIFRoZSBsb3cgTSBiaXRzIG9mIGEgcGh5c2ljYWwgYWRkcmVzcyByZXByZXNlbnQgdGhlIG9mZnNldAorICoJCSAgaW50byB0aGUgYmxhZGUgbG9jYWwgbWVtb3J5LiBSQU0gbWVtb3J5IG9uIGEgYmxhZGUgaXMgcGh5c2ljYWxseQorICoJCSAgY29udGlndW91cyAoYWx0aG91Z2ggdmFyaW91cyBJTyBzcGFjZXMgbWF5IHB1bmNoIGhvbGVzIGluCisgKgkJICBpdCkuLgogICoKLSAqCVNOQVNJRCAtIE5BU0lEIHJpZ2h0IHNoaWZ0ZWQgYnkgMSBiaXQuCisgKiAJTgktIE51bWJlciBvZiBiaXRzIGluIHRoZSBub2RlIHBvcnRpb24gb2YgYSBzb2NrZXQgcGh5c2ljYWwKKyAqIAkJICBhZGRyZXNzLgorICoKKyAqIAlOQVNJRCAgIC0gbmV0d29yayBJRCBvZiBhIHJvdXRlciwgTWJyaWNrIG9yIENicmljay4gTmFzaWQgdmFsdWVzIG9mCisgKiAJIAkgIHJvdXRlcnMgYWx3YXlzIGhhdmUgbG93IGJpdCBvZiAxLCBDL01Ccmlja3MgaGF2ZSBsb3cgYml0CisgKiAJCSAgZXF1YWwgdG8gMC4gTW9zdCBhZGRyZXNzaW5nIG1hY3JvcyB0aGF0IHRhcmdldCBVViBodWIgY2hpcHMKKyAqIAkJICByaWdodCBzaGlmdCB0aGUgTkFTSUQgYnkgMSB0byBleGNsdWRlIHRoZSBhbHdheXMtemVybyBiaXQuCisgKiAJCSAgTkFTSURzIGNvbnRhaW4gdXAgdG8gMTUgYml0cy4KKyAqCisgKglHTk9ERSAgIC0gTkFTSUQgcmlnaHQgc2hpZnRlZCBieSAxIGJpdC4gTW9zdCBtbXJzIGNvbnRhaW4gZ25vZGVzIGluc3RlYWQKKyAqCQkgIG9mIG5hc2lkcy4KKyAqCisgKiAJUE5PREUgICAtIHRoZSBsb3cgTiBiaXRzIG9mIHRoZSBHTk9ERS4gVGhlIFBOT0RFIGlzIHRoZSBtb3N0IHVzZWZ1bCB2YXJpYW50CisgKiAJCSAgb2YgdGhlIG5hc2lkIGZvciBzb2NrZXQgdXNhZ2UuCisgKgorICoKKyAqICBOdW1hTGluayBHbG9iYWwgUGh5c2ljYWwgQWRkcmVzcyBGb3JtYXQ6CisgKiAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKyAqICB8MDAuLjAwMHwgICAgICBHTk9ERSAgICAgICAgICAgICB8ICAgICAgTm9kZU9mZnNldCAgICAgfAorICogICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisgKiAgICAgICAgICB8PC0tLS0tLS01MyAtIE0gYml0cyAtLS0+fDwtLS0tLS0tLU0gYml0cyAtLS0tLT4KKyAqCisgKglNIC0gbnVtYmVyIG9mIG5vZGUgb2Zmc2V0IGJpdHMgKDM1IC4uIDQwKQogICoKICAqCiAgKiAgTWVtb3J5L1VWLUhVQiBQcm9jZXNzb3IgU29ja2V0IEFkZHJlc3MgRm9ybWF0OgotICogICstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotICogIHwwMC4uMDAwMHwgICAgU05BU0lEICAgICB8ICAgICAgTm9kZU9mZnNldCAgICAgfAotICogICstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotICogICAgICAgICAgIDwtLS0gTiBiaXRzIC0tLT58PC0tLS0tLS0tTSBiaXRzIC0tLS0tPgorICogICstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisgKiAgfDAwLi4wMDAwMDAwMDAwMDB8ICAgUE5PREUgICAgICAgfCAgICAgIE5vZGVPZmZzZXQgICAgIHwKKyAqICArLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICogICAgICAgICAgICAgICAgICAgPC0tLSBOIGJpdHMgLS0tPnw8LS0tLS0tLS1NIGJpdHMgLS0tLS0+CiAgKgotICoJTSBudW1iZXIgb2Ygbm9kZSBvZmZzZXQgYml0cyAoMzUgLi4gNDApCi0gKglOIG51bWJlciBvZiBTTkFTSUQgYml0cyAoMCAuLiAxMCkKKyAqCU0gLSBudW1iZXIgb2Ygbm9kZSBvZmZzZXQgYml0cyAoMzUgLi4gNDApCisgKglOIC0gbnVtYmVyIG9mIFBOT0RFIGJpdHMgKDAgLi4gMTApCiAgKgogICoJCU5vdGU6IE0gKyBOIGNhbm5vdCBjdXJyZW50bHkgZXhjZWVkIDQ0ICh4ODZfNjQpIG9yIDQ2IChJQTY0KS4KICAqCQlUaGUgYWN0dWFsIHZhbHVlcyBhcmUgY29uZmlndXJhdGlvbiBkZXBlbmRlbnQgYW5kIGFyZSBzZXQgYXQKLSAqCQlib290IHRpbWUKKyAqCQlib290IHRpbWUuIE0gJiBOIHZhbHVlcyBhcmUgc2V0IGJ5IHRoZSBoYXJkd2FyZS9CSU9TIGF0IGJvb3QuCisgKgogICoKICAqIEFQSUNJRCBmb3JtYXQKICAqIAlOT1RFISEhISEhIFRoaXMgaXMgdGhlIGN1cnJlbnQgZm9ybWF0IG9mIHRoZSBBUElDSUQuIEhvd2V2ZXIsIGNvZGUKQEAgLTQ4LDE0ICs3MSwxNCBAQAogICoKICAqIAkJMTExMTExMDAwMDAwMDAwMAogICogCQk1NDMyMTA5ODc2NTQzMjEwCi0gKgkJbm5ubm5ubm5ubmxjMGNjaAorICoJCXBwcHBwcHBwcHBsYzBjY2gKICAqCQlzc3Nzc3Nzc3NzcwogICoKLSAqCQkJbiAgPSBzbmFzaWQgYml0cworICoJCQlwICA9IHBub2RlIGJpdHMKICAqCQkJbCA9ICBzb2NrZXQgbnVtYmVyIG9uIGJvYXJkCiAgKgkJCWMgID0gY29yZQogICoJCQloICA9IGh5cGVydGhyZWFkCi0gKgkJCXMgID0gYml0cyB0aGF0IGFyZSBpbiB0aGUgc29ja2V0IENTUgorICoJCQlzICA9IGJpdHMgdGhhdCBhcmUgaW4gdGhlIFNPQ0tFVF9JRCBDU1IKICAqCiAgKglOb3RlOiBQcm9jZXNzb3Igb25seSBzdXBwb3J0cyAxMiBiaXRzIGluIHRoZSBBUElDSUQgcmVnaXN0ZXIuIFRoZSBBQ1BJCiAgKgkgICAgICB0YWJsZXMgaG9sZCBhbGwgMTYgYml0cy4gU29mdHdhcmUgbmVlZHMgdG8gYmUgYXdhcmUgb2YgdGhpcy4KQEAgLTc0LDcgKzk3LDcgQEAKICAqIFRoaXMgdmFsdWUgaXMgYWxzbyB0aGUgdmFsdWUgb2YgdGhlIG1heGltdW0gbnVtYmVyIG9mIG5vbi1yb3V0ZXIgTkFTSURzCiAgKiBpbiB0aGUgbnVtYWxpbmsgZmFicmljLgogICoKLSAqIE5PVEU6IGEgYnJpY2sgbWF5IGJlIDEgb3IgMiBPUyBub2Rlcy4gRG9uJ3QgZ2V0IHRoZXNlIGNvbmZ1c2VkLgorICogTk9URTogYSBicmljayBtYXkgY29udGFpbiAxIG9yIDIgT1Mgbm9kZXMuIERvbid0IGdldCB0aGVzZSBjb25mdXNlZC4KICAqLwogI2RlZmluZSBVVl9NQVhfTlVNQUxJTktfQkxBREVTCTE2Mzg0CiAKQEAgLTk2LDggKzExOSwxMiBAQAogICovCiBzdHJ1Y3QgdXZfaHViX2luZm9fcyB7CiAJdW5zaWduZWQgbG9uZwlnbG9iYWxfbW1yX2Jhc2U7Ci0JdW5zaWduZWQgc2hvcnQJbG9jYWxfbmFzaWQ7Ci0JdW5zaWduZWQgc2hvcnQJZ25vZGVfdXBwZXI7CisJdW5zaWduZWQgbG9uZwlncGFfbWFzazsKKwl1bnNpZ25lZCBsb25nCWdub2RlX3VwcGVyOworCXVuc2lnbmVkIGxvbmcJbG93bWVtX3JlbWFwX3RvcDsKKwl1bnNpZ25lZCBsb25nCWxvd21lbV9yZW1hcF9iYXNlOworCXVuc2lnbmVkIHNob3J0CXBub2RlOworCXVuc2lnbmVkIHNob3J0CXBub2RlX21hc2s7CiAJdW5zaWduZWQgc2hvcnQJY29oZXJlbmN5X2RvbWFpbl9udW1iZXI7CiAJdW5zaWduZWQgc2hvcnQJbnVtYV9ibGFkZV9pZDsKIAl1bnNpZ25lZCBjaGFyCWJsYWRlX3Byb2Nlc3Nvcl9pZDsKQEAgLTExMiw4MyArMTM5LDEyNiBAQAogICogTG9jYWwgJiBHbG9iYWwgTU1SIHNwYWNlIG1hY3Jvcy4KICAqIAlOb3RlOiBtYWNyb3MgYXJlIGludGVuZGVkIHRvIGJlIHVzZWQgT05MWSBieSBpbmxpbmUgZnVuY3Rpb25zCiAgKiAJaW4gdGhpcyBmaWxlIC0gbm90IGJ5IG90aGVyIGtlcm5lbCBjb2RlLgorICogCQluIC0gIE5BU0lEIChmdWxsIDE1LWJpdCBnbG9iYWwgbmFzaWQpCisgKiAJCWcgLSAgR05PREUgKGZ1bGwgMTUtYml0IGdsb2JhbCBuYXNpZCwgcmlnaHQgc2hpZnRlZCAxKQorICogCQlwIC0gIFBOT0RFIChsb2NhbCBwYXJ0IG9mIG5zaWRzLCByaWdodCBzaGlmdGVkIDEpCiAgKi8KLSNkZWZpbmUgVVZfU05BU0lEKG4pCQkJKChuKSA+PiAxKQotI2RlZmluZSBVVl9OQVNJRChuKQkJCSgobikgPDwgMSkKKyNkZWZpbmUgVVZfTkFTSURfVE9fUE5PREUobikJCSgoKG4pID4+IDEpICYgdXZfaHViX2luZm8tPnBub2RlX21hc2spCisjZGVmaW5lIFVWX1BOT0RFX1RPX05BU0lEKHApCQkoKChwKSA8PCAxKSB8IHV2X2h1Yl9pbmZvLT5nbm9kZV91cHBlcikKIAogI2RlZmluZSBVVl9MT0NBTF9NTVJfQkFTRQkJMHhmNDAwMDAwMFVMCiAjZGVmaW5lIFVWX0dMT0JBTF9NTVIzMl9CQVNFCQkweGY4MDAwMDAwVUwKICNkZWZpbmUgVVZfR0xPQkFMX01NUjY0X0JBU0UJCSh1dl9odWJfaW5mby0+Z2xvYmFsX21tcl9iYXNlKQorI2RlZmluZSBVVl9MT0NBTF9NTVJfU0laRQkJKDY0VUwgKiAxMDI0ICogMTAyNCkKKyNkZWZpbmUgVVZfR0xPQkFMX01NUjMyX1NJWkUJCSg2NFVMICogMTAyNCAqIDEwMjQpCiAKLSNkZWZpbmUgVVZfR0xPQkFMX01NUjMyX1NOQVNJRF9NQVNLCTB4M2ZmCi0jZGVmaW5lIFVWX0dMT0JBTF9NTVIzMl9TTkFTSURfU0hJRlQJMTUKLSNkZWZpbmUgVVZfR0xPQkFMX01NUjY0X1NOQVNJRF9TSElGVAkyNgorI2RlZmluZSBVVl9HTE9CQUxfTU1SMzJfUE5PREVfU0hJRlQJMTUKKyNkZWZpbmUgVVZfR0xPQkFMX01NUjY0X1BOT0RFX1NISUZUCTI2CiAKLSNkZWZpbmUgVVZfR0xPQkFMX01NUjMyX05BU0lEX0JJVFMobikJCQkJCVwKLQkJKCgoVVZfU05BU0lEKG4pICYgVVZfR0xPQkFMX01NUjMyX1NOQVNJRF9NQVNLKSkgPDwJXAotCQkoVVZfR0xPQkFMX01NUjMyX1NOQVNJRF9TSElGVCkpCisjZGVmaW5lIFVWX0dMT0JBTF9NTVIzMl9QTk9ERV9CSVRTKHApCSgocCkgPDwgKFVWX0dMT0JBTF9NTVIzMl9QTk9ERV9TSElGVCkpCiAKLSNkZWZpbmUgVVZfR0xPQkFMX01NUjY0X05BU0lEX0JJVFMobikJCQkJCVwKLQkoKHVuc2lnbmVkIGxvbmcpVVZfU05BU0lEKG4pIDw8IFVWX0dMT0JBTF9NTVI2NF9TTkFTSURfU0hJRlQpCisjZGVmaW5lIFVWX0dMT0JBTF9NTVI2NF9QTk9ERV9CSVRTKHApCQkJCQlcCisJKCh1bnNpZ25lZCBsb25nKShwKSA8PCBVVl9HTE9CQUxfTU1SNjRfUE5PREVfU0hJRlQpCiAKLSNkZWZpbmUgVVZfQVBJQ19OQVNJRF9TSElGVAk2CisjZGVmaW5lIFVWX0FQSUNfUE5PREVfU0hJRlQJNgogCiAvKgotICogRXh0cmFjdCBhIE5BU0lEIGZyb20gYW4gQVBJQ0lEIChmdWxsIGFwaWNpZCwgbm90IHByb2Nlc3NvciBzdWJzZXQpCisgKiBNYWNyb3MgZm9yIGNvbnZlcnRpbmcgYmV0d2VlbiBrZXJuZWwgdmlydHVhbCBhZGRyZXNzZXMsIHNvY2tldCBsb2NhbCBwaHlzaWNhbAorICogYWRkcmVzc2VzLCBhbmQgVVYgZ2xvYmFsIHBoeXNpY2FsIGFkZHJlc3Nlcy4KKyAqIAlOb3RlOiB1c2UgdGhlIHN0YW5kYXJkIF9fcGEoKSAmIF9fdmEoKSBtYWNyb3MgZm9yIGNvbnZlcnRpbmcKKyAqIAkgICAgICBiZXR3ZWVuIHNvY2tldCB2aXJ0dWFsIGFuZCBzb2NrZXQgcGh5c2ljYWwgYWRkcmVzc2VzLgogICovCi1zdGF0aWMgaW5saW5lIGludCB1dl9hcGljaWRfdG9fbmFzaWQoaW50IGFwaWNpZCkKKworLyogc29ja2V0IHBoeXMgUkFNIC0tPiBVViBnbG9iYWwgcGh5c2ljYWwgYWRkcmVzcyAqLworc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIHV2X3NvY19waHlzX3JhbV90b19ncGEodW5zaWduZWQgbG9uZyBwYWRkcikKIHsKLQlyZXR1cm4gKFVWX05BU0lEKGFwaWNpZCA+PiBVVl9BUElDX05BU0lEX1NISUZUKSk7CisJaWYgKHBhZGRyIDwgdXZfaHViX2luZm8tPmxvd21lbV9yZW1hcF90b3ApCisJCXBhZGRyICs9IHV2X2h1Yl9pbmZvLT5sb3dtZW1fcmVtYXBfYmFzZTsKKwlyZXR1cm4gcGFkZHIgfCB1dl9odWJfaW5mby0+Z25vZGVfdXBwZXI7Cit9CisKKworLyogc29ja2V0IHZpcnR1YWwgLS0+IFVWIGdsb2JhbCBwaHlzaWNhbCBhZGRyZXNzICovCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgdXZfZ3BhKHZvaWQgKnYpCit7CisJcmV0dXJuIF9fcGEodikgfCB1dl9odWJfaW5mby0+Z25vZGVfdXBwZXI7Cit9CisKKy8qIHNvY2tldCB2aXJ0dWFsIC0tPiBVViBnbG9iYWwgcGh5c2ljYWwgYWRkcmVzcyAqLworc3RhdGljIGlubGluZSB2b2lkICp1dl92Z3BhKHZvaWQgKnYpCit7CisJcmV0dXJuICh2b2lkICopdXZfZ3BhKHYpOworfQorCisvKiBVViBnbG9iYWwgcGh5c2ljYWwgYWRkcmVzcyAtLT4gc29ja2V0IHZpcnR1YWwgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCAqdXZfdmEodW5zaWduZWQgbG9uZyBncGEpCit7CisJcmV0dXJuIF9fdmEoZ3BhICYgdXZfaHViX2luZm8tPmdwYV9tYXNrKTsKK30KKworLyogcG5vZGUsIG9mZnNldCAtLT4gc29ja2V0IHZpcnR1YWwgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCAqdXZfcG5vZGVfb2Zmc2V0X3RvX3ZhZGRyKGludCBwbm9kZSwgdW5zaWduZWQgbG9uZyBvZmZzZXQpCit7CisJcmV0dXJuIF9fdmEoKCh1bnNpZ25lZCBsb25nKXBub2RlIDw8IHV2X2h1Yl9pbmZvLT5tX3ZhbCkgfCBvZmZzZXQpOworfQorCisKKy8qCisgKiBFeHRyYWN0IGEgUE5PREUgZnJvbSBhbiBBUElDSUQgKGZ1bGwgYXBpY2lkLCBub3QgcHJvY2Vzc29yIHN1YnNldCkKKyAqLworc3RhdGljIGlubGluZSBpbnQgdXZfYXBpY2lkX3RvX3Bub2RlKGludCBhcGljaWQpCit7CisJcmV0dXJuIChhcGljaWQgPj4gVVZfQVBJQ19QTk9ERV9TSElGVCk7CiB9CiAKIC8qCiAgKiBBY2Nlc3MgZ2xvYmFsIE1NUnMgdXNpbmcgdGhlIGxvdyBtZW1vcnkgTU1SMzIgc3BhY2UuIFRoaXMgcmVnaW9uIHN1cHBvcnRzCiAgKiBmYXN0ZXIgTU1SIGFjY2VzcyBidXQgbm90IGFsbCBNTVJzIGFyZSBhY2Nlc3NpYmxlIGluIHRoaXMgc3BhY2UuCiAgKi8KLXN0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyAqdXZfZ2xvYmFsX21tcjMyX2FkZHJlc3MoaW50IG5hc2lkLAorc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nICp1dl9nbG9iYWxfbW1yMzJfYWRkcmVzcyhpbnQgcG5vZGUsCiAJCQkJdW5zaWduZWQgbG9uZyBvZmZzZXQpCiB7CiAJcmV0dXJuIF9fdmEoVVZfR0xPQkFMX01NUjMyX0JBU0UgfAotCQkgICAgICAgVVZfR0xPQkFMX01NUjMyX05BU0lEX0JJVFMobmFzaWQpIHwgb2Zmc2V0KTsKKwkJICAgICAgIFVWX0dMT0JBTF9NTVIzMl9QTk9ERV9CSVRTKHBub2RlKSB8IG9mZnNldCk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCB1dl93cml0ZV9nbG9iYWxfbW1yMzIoaW50IG5hc2lkLCB1bnNpZ25lZCBsb25nIG9mZnNldCwKK3N0YXRpYyBpbmxpbmUgdm9pZCB1dl93cml0ZV9nbG9iYWxfbW1yMzIoaW50IHBub2RlLCB1bnNpZ25lZCBsb25nIG9mZnNldCwKIAkJCQkgdW5zaWduZWQgbG9uZyB2YWwpCiB7Ci0JKnV2X2dsb2JhbF9tbXIzMl9hZGRyZXNzKG5hc2lkLCBvZmZzZXQpID0gdmFsOworCSp1dl9nbG9iYWxfbW1yMzJfYWRkcmVzcyhwbm9kZSwgb2Zmc2V0KSA9IHZhbDsKIH0KIAotc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIHV2X3JlYWRfZ2xvYmFsX21tcjMyKGludCBuYXNpZCwKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyB1dl9yZWFkX2dsb2JhbF9tbXIzMihpbnQgcG5vZGUsCiAJCQkJCQkgdW5zaWduZWQgbG9uZyBvZmZzZXQpCiB7Ci0JcmV0dXJuICp1dl9nbG9iYWxfbW1yMzJfYWRkcmVzcyhuYXNpZCwgb2Zmc2V0KTsKKwlyZXR1cm4gKnV2X2dsb2JhbF9tbXIzMl9hZGRyZXNzKHBub2RlLCBvZmZzZXQpOwogfQogCiAvKgogICogQWNjZXNzIEdsb2JhbCBNTVIgc3BhY2UgdXNpbmcgdGhlIE1NUiBzcGFjZSBsb2NhdGVkIGF0IHRoZSB0b3Agb2YgcGh5c2ljYWwKICAqIG1lbW9yeS4KICAqLwotc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nICp1dl9nbG9iYWxfbW1yNjRfYWRkcmVzcyhpbnQgbmFzaWQsCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgKnV2X2dsb2JhbF9tbXI2NF9hZGRyZXNzKGludCBwbm9kZSwKIAkJCQl1bnNpZ25lZCBsb25nIG9mZnNldCkKIHsKIAlyZXR1cm4gX192YShVVl9HTE9CQUxfTU1SNjRfQkFTRSB8Ci0JCSAgICAgICBVVl9HTE9CQUxfTU1SNjRfTkFTSURfQklUUyhuYXNpZCkgfCBvZmZzZXQpOworCQkgICAgVVZfR0xPQkFMX01NUjY0X1BOT0RFX0JJVFMocG5vZGUpIHwgb2Zmc2V0KTsKIH0KIAotc3RhdGljIGlubGluZSB2b2lkIHV2X3dyaXRlX2dsb2JhbF9tbXI2NChpbnQgbmFzaWQsIHVuc2lnbmVkIGxvbmcgb2Zmc2V0LAorc3RhdGljIGlubGluZSB2b2lkIHV2X3dyaXRlX2dsb2JhbF9tbXI2NChpbnQgcG5vZGUsIHVuc2lnbmVkIGxvbmcgb2Zmc2V0LAogCQkJCXVuc2lnbmVkIGxvbmcgdmFsKQogewotCSp1dl9nbG9iYWxfbW1yNjRfYWRkcmVzcyhuYXNpZCwgb2Zmc2V0KSA9IHZhbDsKKwkqdXZfZ2xvYmFsX21tcjY0X2FkZHJlc3MocG5vZGUsIG9mZnNldCkgPSB2YWw7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyB1dl9yZWFkX2dsb2JhbF9tbXI2NChpbnQgbmFzaWQsCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgdXZfcmVhZF9nbG9iYWxfbW1yNjQoaW50IHBub2RlLAogCQkJCQkJIHVuc2lnbmVkIGxvbmcgb2Zmc2V0KQogewotCXJldHVybiAqdXZfZ2xvYmFsX21tcjY0X2FkZHJlc3MobmFzaWQsIG9mZnNldCk7CisJcmV0dXJuICp1dl9nbG9iYWxfbW1yNjRfYWRkcmVzcyhwbm9kZSwgb2Zmc2V0KTsKIH0KIAogLyoKLSAqIEFjY2VzcyBub2RlIGxvY2FsIE1NUnMuIEZhc3RlciB0aGFuIHVzaW5nIGdsb2JhbCBzcGFjZSBidXQgb25seSBsb2NhbCBNTVJzCisgKiBBY2Nlc3MgaHViIGxvY2FsIE1NUnMuIEZhc3RlciB0aGFuIHVzaW5nIGdsb2JhbCBzcGFjZSBidXQgb25seSBsb2NhbCBNTVJzCiAgKiBhcmUgYWNjZXNzaWJsZS4KICAqLwogc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nICp1dl9sb2NhbF9tbXJfYWRkcmVzcyh1bnNpZ25lZCBsb25nIG9mZnNldCkKQEAgLTIwNywxNSArMjc3LDE1IEBACiB9CiAKIC8qCi0gKiBTdHJ1Y3R1cmVzIGFuZCBkZWZpbml0aW9ucyBmb3IgY29udmVydGluZyBiZXR3ZWVuIGNwdSwgbm9kZSwgYW5kIGJsYWRlCisgKiBTdHJ1Y3R1cmVzIGFuZCBkZWZpbml0aW9ucyBmb3IgY29udmVydGluZyBiZXR3ZWVuIGNwdSwgbm9kZSwgcG5vZGUsIGFuZCBibGFkZQogICogbnVtYmVycy4KICAqLwogc3RydWN0IHV2X2JsYWRlX2luZm8gewotCXVuc2lnbmVkIHNob3J0CW5yX3Bvc2libGVfY3B1czsKKwl1bnNpZ25lZCBzaG9ydAlucl9wb3NzaWJsZV9jcHVzOwogCXVuc2lnbmVkIHNob3J0CW5yX29ubGluZV9jcHVzOwotCXVuc2lnbmVkIHNob3J0CW5hc2lkOworCXVuc2lnbmVkIHNob3J0CXBub2RlOwogfTsKLXN0cnVjdCB1dl9ibGFkZV9pbmZvICp1dl9ibGFkZV9pbmZvOworZXh0ZXJuIHN0cnVjdCB1dl9ibGFkZV9pbmZvICp1dl9ibGFkZV9pbmZvOwogZXh0ZXJuIHNob3J0ICp1dl9ub2RlX3RvX2JsYWRlOwogZXh0ZXJuIHNob3J0ICp1dl9jcHVfdG9fYmxhZGU7CiBleHRlcm4gc2hvcnQgdXZfcG9zc2libGVfYmxhZGVzOwpAQCAtMjQ0LDE2ICszMTQsMTYgQEAKIAlyZXR1cm4gdXZfbm9kZV90b19ibGFkZVtuaWRdOwogfQogCi0vKiBDb252ZXJ0IGEgYmxhZGUgaWQgdG8gdGhlIE5BU0lEIG9mIHRoZSBibGFkZSAqLwotc3RhdGljIGlubGluZSBpbnQgdXZfYmxhZGVfdG9fbmFzaWQoaW50IGJpZCkKKy8qIENvbnZlcnQgYSBibGFkZSBpZCB0byB0aGUgUE5PREUgb2YgdGhlIGJsYWRlICovCitzdGF0aWMgaW5saW5lIGludCB1dl9ibGFkZV90b19wbm9kZShpbnQgYmlkKQogewotCXJldHVybiB1dl9ibGFkZV9pbmZvW2JpZF0ubmFzaWQ7CisJcmV0dXJuIHV2X2JsYWRlX2luZm9bYmlkXS5wbm9kZTsKIH0KIAogLyogRGV0ZXJtaW5lIHRoZSBudW1iZXIgb2YgcG9zc2libGUgY3B1cyBvbiBhIGJsYWRlICovCiBzdGF0aWMgaW5saW5lIGludCB1dl9ibGFkZV9ucl9wb3NzaWJsZV9jcHVzKGludCBiaWQpCiB7Ci0JcmV0dXJuIHV2X2JsYWRlX2luZm9bYmlkXS5ucl9wb3NpYmxlX2NwdXM7CisJcmV0dXJuIHV2X2JsYWRlX2luZm9bYmlkXS5ucl9wb3NzaWJsZV9jcHVzOwogfQogCiAvKiBEZXRlcm1pbmUgdGhlIG51bWJlciBvZiBvbmxpbmUgY3B1cyBvbiBhIGJsYWRlICovCkBAIC0yNjIsMTYgKzMzMiwxNiBAQAogCXJldHVybiB1dl9ibGFkZV9pbmZvW2JpZF0ubnJfb25saW5lX2NwdXM7CiB9CiAKLS8qIENvbnZlcnQgYSBjcHUgaWQgdG8gdGhlIE5BU0lEIG9mIHRoZSBibGFkZSBjb250YWluaW5nIHRoZSBjcHUgKi8KLXN0YXRpYyBpbmxpbmUgaW50IHV2X2NwdV90b19uYXNpZChpbnQgY3B1KQorLyogQ29udmVydCBhIGNwdSBpZCB0byB0aGUgUE5PREUgb2YgdGhlIGJsYWRlIGNvbnRhaW5pbmcgdGhlIGNwdSAqLworc3RhdGljIGlubGluZSBpbnQgdXZfY3B1X3RvX3Bub2RlKGludCBjcHUpCiB7Ci0JcmV0dXJuIHV2X2JsYWRlX2luZm9bdXZfY3B1X3RvX2JsYWRlX2lkKGNwdSldLm5hc2lkOworCXJldHVybiB1dl9ibGFkZV9pbmZvW3V2X2NwdV90b19ibGFkZV9pZChjcHUpXS5wbm9kZTsKIH0KIAotLyogQ29udmVydCBhIG5vZGUgbnVtYmVyIHRvIHRoZSBOQVNJRCBvZiB0aGUgYmxhZGUgKi8KLXN0YXRpYyBpbmxpbmUgaW50IHV2X25vZGVfdG9fbmFzaWQoaW50IG5pZCkKKy8qIENvbnZlcnQgYSBsaW51eCBub2RlIG51bWJlciB0byB0aGUgUE5PREUgb2YgdGhlIGJsYWRlICovCitzdGF0aWMgaW5saW5lIGludCB1dl9ub2RlX3RvX3Bub2RlKGludCBuaWQpCiB7Ci0JcmV0dXJuIHV2X2JsYWRlX2luZm9bdXZfbm9kZV90b19ibGFkZV9pZChuaWQpXS5uYXNpZDsKKwlyZXR1cm4gdXZfYmxhZGVfaW5mb1t1dl9ub2RlX3RvX2JsYWRlX2lkKG5pZCldLnBub2RlOwogfQogCiAvKiBNYXhpbXVtIHBvc3NpYmxlIG51bWJlciBvZiBibGFkZXMgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni91di91dl9tbXJzLmggYi9pbmNsdWRlL2FzbS14ODYvdXYvdXZfbW1ycy5oCmluZGV4IDNiNjlmZTYuLjE1MWZkN2YgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni91di91dl9tbXJzLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3V2L3V2X21tcnMuaApAQCAtMTEsMTcgKzExLDI5MCBAQAogI2lmbmRlZiBfX0FTTV9YODZfVVZfTU1SU19fCiAjZGVmaW5lIF9fQVNNX1g4Nl9VVl9NTVJTX18KIAotLyoKLSAqICAgICAgIEFVVE8gR0VORVJBVEVEIC0gRG8gbm90IGVkaXQKLSAqLworI2RlZmluZSBVVl9NTVJfRU5BQkxFCQkoMVVMIDw8IDYzKQogCi0gI2RlZmluZSBVVl9NTVJfRU5BQkxFCQkoMVVMIDw8IDYzKQorLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworLyogICAgICAgICAgICAgICAgICAgICAgICAgICBVVkhfQkFVX0RBVEFfQ09ORklHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworI2RlZmluZSBVVkhfQkFVX0RBVEFfQ09ORklHIDB4NjE2ODBVTAorI2RlZmluZSBVVkhfQkFVX0RBVEFfQ09ORklHXzMyIDB4MDQzOAorCisjZGVmaW5lIFVWSF9CQVVfREFUQV9DT05GSUdfVkVDVE9SX1NIRlQgMAorI2RlZmluZSBVVkhfQkFVX0RBVEFfQ09ORklHX1ZFQ1RPUl9NQVNLIDB4MDAwMDAwMDAwMDAwMDBmZlVMCisjZGVmaW5lIFVWSF9CQVVfREFUQV9DT05GSUdfRE1fU0hGVCA4CisjZGVmaW5lIFVWSF9CQVVfREFUQV9DT05GSUdfRE1fTUFTSyAweDAwMDAwMDAwMDAwMDA3MDBVTAorI2RlZmluZSBVVkhfQkFVX0RBVEFfQ09ORklHX0RFU1RNT0RFX1NIRlQgMTEKKyNkZWZpbmUgVVZIX0JBVV9EQVRBX0NPTkZJR19ERVNUTU9ERV9NQVNLIDB4MDAwMDAwMDAwMDAwMDgwMFVMCisjZGVmaW5lIFVWSF9CQVVfREFUQV9DT05GSUdfU1RBVFVTX1NIRlQgMTIKKyNkZWZpbmUgVVZIX0JBVV9EQVRBX0NPTkZJR19TVEFUVVNfTUFTSyAweDAwMDAwMDAwMDAwMDEwMDBVTAorI2RlZmluZSBVVkhfQkFVX0RBVEFfQ09ORklHX1BfU0hGVCAxMworI2RlZmluZSBVVkhfQkFVX0RBVEFfQ09ORklHX1BfTUFTSyAweDAwMDAwMDAwMDAwMDIwMDBVTAorI2RlZmluZSBVVkhfQkFVX0RBVEFfQ09ORklHX1RfU0hGVCAxNQorI2RlZmluZSBVVkhfQkFVX0RBVEFfQ09ORklHX1RfTUFTSyAweDAwMDAwMDAwMDAwMDgwMDBVTAorI2RlZmluZSBVVkhfQkFVX0RBVEFfQ09ORklHX01fU0hGVCAxNgorI2RlZmluZSBVVkhfQkFVX0RBVEFfQ09ORklHX01fTUFTSyAweDAwMDAwMDAwMDAwMTAwMDBVTAorI2RlZmluZSBVVkhfQkFVX0RBVEFfQ09ORklHX0FQSUNfSURfU0hGVCAzMgorI2RlZmluZSBVVkhfQkFVX0RBVEFfQ09ORklHX0FQSUNfSURfTUFTSyAweGZmZmZmZmZmMDAwMDAwMDBVTAorCit1bmlvbiB1dmhfYmF1X2RhdGFfY29uZmlnX3UgeworICAgIHVuc2lnbmVkIGxvbmcJdjsKKyAgICBzdHJ1Y3QgdXZoX2JhdV9kYXRhX2NvbmZpZ19zIHsKKwl1bnNpZ25lZCBsb25nCXZlY3Rvcl8gIDogIDg7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJZG0gICAgICAgOiAgMzsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlkZXN0bW9kZSA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXN0YXR1cyAgIDogIDE7ICAvKiBSTyAqLworCXVuc2lnbmVkIGxvbmcJcCAgICAgICAgOiAgMTsgIC8qIFJPICovCisJdW5zaWduZWQgbG9uZwlyc3ZkXzE0ICA6ICAxOyAgLyogICAgKi8KKwl1bnNpZ25lZCBsb25nCXQgICAgICAgIDogIDE7ICAvKiBSTyAqLworCXVuc2lnbmVkIGxvbmcJbSAgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlyc3ZkXzE3XzMxOiAxNTsgIC8qICAgICovCisJdW5zaWduZWQgbG9uZwlhcGljX2lkICA6IDMyOyAgLyogUlcgKi8KKyAgICB9IHM7Cit9OworCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisvKiAgICAgICAgICAgICAgICAgICAgICAgICAgIFVWSF9FVkVOVF9PQ0NVUlJFRDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDAgMHg3MDAwMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfMzIgMHgwMDVlOAorCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfTEJfSENFUlJfU0hGVCAwCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfTEJfSENFUlJfTUFTSyAweDAwMDAwMDAwMDAwMDAwMDFVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0dSMF9IQ0VSUl9TSEZUIDEKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9HUjBfSENFUlJfTUFTSyAweDAwMDAwMDAwMDAwMDAwMDJVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0dSMV9IQ0VSUl9TSEZUIDIKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9HUjFfSENFUlJfTUFTSyAweDAwMDAwMDAwMDAwMDAwMDRVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xIX0hDRVJSX1NIRlQgMworI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xIX0hDRVJSX01BU0sgMHgwMDAwMDAwMDAwMDAwMDA4VUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9SSF9IQ0VSUl9TSEZUIDQKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9SSF9IQ0VSUl9NQVNLIDB4MDAwMDAwMDAwMDAwMDAxMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfWE5fSENFUlJfU0hGVCA1CisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfWE5fSENFUlJfTUFTSyAweDAwMDAwMDAwMDAwMDAwMjBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX1NJX0hDRVJSX1NIRlQgNgorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX1NJX0hDRVJSX01BU0sgMHgwMDAwMDAwMDAwMDAwMDQwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MQl9BT0VSUjBfU0hGVCA3CisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfTEJfQU9FUlIwX01BU0sgMHgwMDAwMDAwMDAwMDAwMDgwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9HUjBfQU9FUlIwX1NIRlQgOAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0dSMF9BT0VSUjBfTUFTSyAweDAwMDAwMDAwMDAwMDAxMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0dSMV9BT0VSUjBfU0hGVCA5CisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfR1IxX0FPRVJSMF9NQVNLIDB4MDAwMDAwMDAwMDAwMDIwMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfTEhfQU9FUlIwX1NIRlQgMTAKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MSF9BT0VSUjBfTUFTSyAweDAwMDAwMDAwMDAwMDA0MDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX1JIX0FPRVJSMF9TSEZUIDExCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfUkhfQU9FUlIwX01BU0sgMHgwMDAwMDAwMDAwMDAwODAwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9YTl9BT0VSUjBfU0hGVCAxMgorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX1hOX0FPRVJSMF9NQVNLIDB4MDAwMDAwMDAwMDAwMTAwMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfU0lfQU9FUlIwX1NIRlQgMTMKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9TSV9BT0VSUjBfTUFTSyAweDAwMDAwMDAwMDAwMDIwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0FPRVJSMV9TSEZUIDE0CisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfTEJfQU9FUlIxX01BU0sgMHgwMDAwMDAwMDAwMDA0MDAwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9HUjBfQU9FUlIxX1NIRlQgMTUKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9HUjBfQU9FUlIxX01BU0sgMHgwMDAwMDAwMDAwMDA4MDAwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9HUjFfQU9FUlIxX1NIRlQgMTYKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9HUjFfQU9FUlIxX01BU0sgMHgwMDAwMDAwMDAwMDEwMDAwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MSF9BT0VSUjFfU0hGVCAxNworI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xIX0FPRVJSMV9NQVNLIDB4MDAwMDAwMDAwMDAyMDAwMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfUkhfQU9FUlIxX1NIRlQgMTgKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9SSF9BT0VSUjFfTUFTSyAweDAwMDAwMDAwMDAwNDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX1hOX0FPRVJSMV9TSEZUIDE5CisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfWE5fQU9FUlIxX01BU0sgMHgwMDAwMDAwMDAwMDgwMDAwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9TSV9BT0VSUjFfU0hGVCAyMAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX1NJX0FPRVJSMV9NQVNLIDB4MDAwMDAwMDAwMDEwMDAwMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfUkhfVlBJX0lOVF9TSEZUIDIxCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfUkhfVlBJX0lOVF9NQVNLIDB4MDAwMDAwMDAwMDIwMDAwMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfU1lTVEVNX1NIVVRET1dOX0lOVF9TSEZUIDIyCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfU1lTVEVNX1NIVVRET1dOX0lOVF9NQVNLIDB4MDAwMDAwMDAwMDQwMDAwMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfTEJfSVJRX0lOVF8wX1NIRlQgMjMKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MQl9JUlFfSU5UXzBfTUFTSyAweDAwMDAwMDAwMDA4MDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0lSUV9JTlRfMV9TSEZUIDI0CisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfTEJfSVJRX0lOVF8xX01BU0sgMHgwMDAwMDAwMDAxMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MQl9JUlFfSU5UXzJfU0hGVCAyNQorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0lSUV9JTlRfMl9NQVNLIDB4MDAwMDAwMDAwMjAwMDAwMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfTEJfSVJRX0lOVF8zX1NIRlQgMjYKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MQl9JUlFfSU5UXzNfTUFTSyAweDAwMDAwMDAwMDQwMDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0lSUV9JTlRfNF9TSEZUIDI3CisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfTEJfSVJRX0lOVF80X01BU0sgMHgwMDAwMDAwMDA4MDAwMDAwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MQl9JUlFfSU5UXzVfU0hGVCAyOAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0lSUV9JTlRfNV9NQVNLIDB4MDAwMDAwMDAxMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfTEJfSVJRX0lOVF82X1NIRlQgMjkKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MQl9JUlFfSU5UXzZfTUFTSyAweDAwMDAwMDAwMjAwMDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0lSUV9JTlRfN19TSEZUIDMwCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfTEJfSVJRX0lOVF83X01BU0sgMHgwMDAwMDAwMDQwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MQl9JUlFfSU5UXzhfU0hGVCAzMQorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0lSUV9JTlRfOF9NQVNLIDB4MDAwMDAwMDA4MDAwMDAwMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfTEJfSVJRX0lOVF85X1NIRlQgMzIKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MQl9JUlFfSU5UXzlfTUFTSyAweDAwMDAwMDAxMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0lSUV9JTlRfMTBfU0hGVCAzMworI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0lSUV9JTlRfMTBfTUFTSyAweDAwMDAwMDAyMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0lSUV9JTlRfMTFfU0hGVCAzNAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0lSUV9JTlRfMTFfTUFTSyAweDAwMDAwMDA0MDAwMDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0lSUV9JTlRfMTJfU0hGVCAzNQorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0lSUV9JTlRfMTJfTUFTSyAweDAwMDAwMDA4MDAwMDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0lSUV9JTlRfMTNfU0hGVCAzNgorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0lSUV9JTlRfMTNfTUFTSyAweDAwMDAwMDEwMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0lSUV9JTlRfMTRfU0hGVCAzNworI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0lSUV9JTlRfMTRfTUFTSyAweDAwMDAwMDIwMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0lSUV9JTlRfMTVfU0hGVCAzOAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0lSUV9JTlRfMTVfTUFTSyAweDAwMDAwMDQwMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0wxX05NSV9JTlRfU0hGVCAzOQorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0wxX05NSV9JTlRfTUFTSyAweDAwMDAwMDgwMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX1NUT1BfQ0xPQ0tfU0hGVCA0MAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX1NUT1BfQ0xPQ0tfTUFTSyAweDAwMDAwMTAwMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0FTSUNfVE9fTDFfU0hGVCA0MQorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0FTSUNfVE9fTDFfTUFTSyAweDAwMDAwMjAwMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0wxX1RPX0FTSUNfU0hGVCA0MgorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0wxX1RPX0FTSUNfTUFTSyAweDAwMDAwNDAwMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xUQ19JTlRfU0hGVCA0MworI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xUQ19JTlRfTUFTSyAweDAwMDAwODAwMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xBX1NFUV9UUklHR0VSX1NIRlQgNDQKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MQV9TRVFfVFJJR0dFUl9NQVNLIDB4MDAwMDEwMDAwMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfSVBJX0lOVF9TSEZUIDQ1CisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfSVBJX0lOVF9NQVNLIDB4MDAwMDIwMDAwMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfRVhUSU9fSU5UMF9TSEZUIDQ2CisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfRVhUSU9fSU5UMF9NQVNLIDB4MDAwMDQwMDAwMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfRVhUSU9fSU5UMV9TSEZUIDQ3CisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfRVhUSU9fSU5UMV9NQVNLIDB4MDAwMDgwMDAwMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfRVhUSU9fSU5UMl9TSEZUIDQ4CisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfRVhUSU9fSU5UMl9NQVNLIDB4MDAwMTAwMDAwMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfRVhUSU9fSU5UM19TSEZUIDQ5CisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfRVhUSU9fSU5UM19NQVNLIDB4MDAwMjAwMDAwMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfUFJPRklMRV9JTlRfU0hGVCA1MAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX1BST0ZJTEVfSU5UX01BU0sgMHgwMDA0MDAwMDAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9SVEMwX1NIRlQgNTEKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9SVEMwX01BU0sgMHgwMDA4MDAwMDAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9SVEMxX1NIRlQgNTIKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9SVEMxX01BU0sgMHgwMDEwMDAwMDAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9SVEMyX1NIRlQgNTMKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9SVEMyX01BU0sgMHgwMDIwMDAwMDAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9SVEMzX1NIRlQgNTQKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9SVEMzX01BU0sgMHgwMDQwMDAwMDAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9CQVVfREFUQV9TSEZUIDU1CisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfQkFVX0RBVEFfTUFTSyAweDAwODAwMDAwMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX1BPV0VSX01BTkFHRU1FTlRfUkVRX1NIRlQgNTYKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9QT1dFUl9NQU5BR0VNRU5UX1JFUV9NQVNLIDB4MDEwMDAwMDAwMDAwMDAwMFVMCit1bmlvbiB1dmhfZXZlbnRfb2NjdXJyZWQwX3UgeworICAgIHVuc2lnbmVkIGxvbmcJdjsKKyAgICBzdHJ1Y3QgdXZoX2V2ZW50X29jY3VycmVkMF9zIHsKKwl1bnNpZ25lZCBsb25nCWxiX2hjZXJyICAgICAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlncjBfaGNlcnIgICAgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJZ3IxX2hjZXJyICAgICAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCWxoX2hjZXJyICAgICAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlyaF9oY2VyciAgICAgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJeG5faGNlcnIgICAgICAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCXNpX2hjZXJyICAgICAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlsYl9hb2VycjAgICAgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJZ3IwX2FvZXJyMCAgICAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCWdyMV9hb2VycjAgICAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlsaF9hb2VycjAgICAgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJcmhfYW9lcnIwICAgICAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCXhuX2FvZXJyMCAgICAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlzaV9hb2VycjAgICAgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJbGJfYW9lcnIxICAgICAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCWdyMF9hb2VycjEgICAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlncjFfYW9lcnIxICAgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJbGhfYW9lcnIxICAgICAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCXJoX2FvZXJyMSAgICAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwl4bl9hb2VycjEgICAgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJc2lfYW9lcnIxICAgICAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCXJoX3ZwaV9pbnQgICAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlzeXN0ZW1fc2h1dGRvd25faW50ICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJbGJfaXJxX2ludF8wICAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCWxiX2lycV9pbnRfMSAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlsYl9pcnFfaW50XzIgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJbGJfaXJxX2ludF8zICAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCWxiX2lycV9pbnRfNCAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlsYl9pcnFfaW50XzUgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJbGJfaXJxX2ludF82ICAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCWxiX2lycV9pbnRfNyAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlsYl9pcnFfaW50XzggICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJbGJfaXJxX2ludF85ICAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCWxiX2lycV9pbnRfMTAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlsYl9pcnFfaW50XzExICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJbGJfaXJxX2ludF8xMiAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCWxiX2lycV9pbnRfMTMgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlsYl9pcnFfaW50XzE0ICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJbGJfaXJxX2ludF8xNSAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCWwxX25taV9pbnQgICAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlzdG9wX2Nsb2NrICAgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJYXNpY190b19sMSAgICAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCWwxX3RvX2FzaWMgICAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlsdGNfaW50ICAgICAgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJbGFfc2VxX3RyaWdnZXIgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCWlwaV9pbnQgICAgICAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlleHRpb19pbnQwICAgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJZXh0aW9faW50MSAgICAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCWV4dGlvX2ludDIgICAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlleHRpb19pbnQzICAgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJcHJvZmlsZV9pbnQgICAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCXJ0YzAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlydGMxICAgICAgICAgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJcnRjMiAgICAgICAgICAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCXJ0YzMgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwliYXVfZGF0YSAgICAgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJcG93ZXJfbWFuYWdlbWVudF9yZXEgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCXJzdmRfNTdfNjMgICAgICAgICAgIDogIDc7ICAvKiAgICAqLworICAgIH0gczsKK307CisKKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICAgVVZIX0VWRU5UX09DQ1VSUkVEMF9BTElBUyAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9BTElBUyAweDAwMDAwMDAwMDAwNzAwMDhVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0FMSUFTXzMyIDB4MDA1ZjAKKworLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVVZIX0lOVF9DTVBCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworI2RlZmluZSBVVkhfSU5UX0NNUEIgMHgyMjA4MFVMCisKKyNkZWZpbmUgVVZIX0lOVF9DTVBCX1JFQUxfVElNRV9DTVBCX1NIRlQgMAorI2RlZmluZSBVVkhfSU5UX0NNUEJfUkVBTF9USU1FX0NNUEJfTUFTSyAweDAwZmZmZmZmZmZmZmZmZmZVTAorCit1bmlvbiB1dmhfaW50X2NtcGJfdSB7CisgICAgdW5zaWduZWQgbG9uZwl2OworICAgIHN0cnVjdCB1dmhfaW50X2NtcGJfcyB7CisJdW5zaWduZWQgbG9uZwlyZWFsX3RpbWVfY21wYiA6IDU2OyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXJzdmRfNTZfNjMgICAgIDogIDg7ICAvKiAgICAqLworICAgIH0gczsKK307CisKKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVWSF9JTlRfQ01QQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKyNkZWZpbmUgVVZIX0lOVF9DTVBDIDB4MjIxMDBVTAorCisjZGVmaW5lIFVWSF9JTlRfQ01QQ19SRUFMX1RJTUVfQ01QQ19TSEZUIDAKKyNkZWZpbmUgVVZIX0lOVF9DTVBDX1JFQUxfVElNRV9DTVBDX01BU0sgMHgwMGZmZmZmZmZmZmZmZmZmVUwKKwordW5pb24gdXZoX2ludF9jbXBjX3UgeworICAgIHVuc2lnbmVkIGxvbmcJdjsKKyAgICBzdHJ1Y3QgdXZoX2ludF9jbXBjX3MgeworCXVuc2lnbmVkIGxvbmcJcmVhbF90aW1lX2NtcGMgOiA1NjsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlyc3ZkXzU2XzYzICAgICA6ICA4OyAgLyogICAgKi8KKyAgICB9IHM7Cit9OworCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVVkhfSU5UX0NNUEQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisjZGVmaW5lIFVWSF9JTlRfQ01QRCAweDIyMTgwVUwKKworI2RlZmluZSBVVkhfSU5UX0NNUERfUkVBTF9USU1FX0NNUERfU0hGVCAwCisjZGVmaW5lIFVWSF9JTlRfQ01QRF9SRUFMX1RJTUVfQ01QRF9NQVNLIDB4MDBmZmZmZmZmZmZmZmZmZlVMCisKK3VuaW9uIHV2aF9pbnRfY21wZF91IHsKKyAgICB1bnNpZ25lZCBsb25nCXY7CisgICAgc3RydWN0IHV2aF9pbnRfY21wZF9zIHsKKwl1bnNpZ25lZCBsb25nCXJlYWxfdGltZV9jbXBkIDogNTY7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJcnN2ZF81Nl82MyAgICAgOiAgODsgIC8qICAgICovCisgICAgfSBzOworfTsKIAogLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwogLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVVZIX0lQSV9JTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwogLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwogI2RlZmluZSBVVkhfSVBJX0lOVCAweDYwNTAwVUwKLSNkZWZpbmUgVVZIX0lQSV9JTlRfMzIgMHgwMzYwCisjZGVmaW5lIFVWSF9JUElfSU5UXzMyIDB4MDM0OAogCiAjZGVmaW5lIFVWSF9JUElfSU5UX1ZFQ1RPUl9TSEZUIDAKICNkZWZpbmUgVVZIX0lQSV9JTlRfVkVDVE9SX01BU0sgMHgwMDAwMDAwMDAwMDAwMGZmVUwKQEAgLTUxLDcgKzMyNCw3IEBACiAvKiAgICAgICAgICAgICAgICAgICBVVkhfTEJfQkFVX0lOVERfUEFZTE9BRF9RVUVVRV9GSVJTVCAgICAgICAgICAgICAgICAgICAgICovCiAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAjZGVmaW5lIFVWSF9MQl9CQVVfSU5URF9QQVlMT0FEX1FVRVVFX0ZJUlNUIDB4MzIwMDUwVUwKLSNkZWZpbmUgVVZIX0xCX0JBVV9JTlREX1BBWUxPQURfUVVFVUVfRklSU1RfMzIgMHgwMDlmMAorI2RlZmluZSBVVkhfTEJfQkFVX0lOVERfUEFZTE9BRF9RVUVVRV9GSVJTVF8zMiAweDAwOWMwCiAKICNkZWZpbmUgVVZIX0xCX0JBVV9JTlREX1BBWUxPQURfUVVFVUVfRklSU1RfQUREUkVTU19TSEZUIDQKICNkZWZpbmUgVVZIX0xCX0JBVV9JTlREX1BBWUxPQURfUVVFVUVfRklSU1RfQUREUkVTU19NQVNLIDB4MDAwMDA3ZmZmZmZmZmZmMFVMCkBAIC03Myw3ICszNDYsNyBAQAogLyogICAgICAgICAgICAgICAgICAgIFVWSF9MQl9CQVVfSU5URF9QQVlMT0FEX1FVRVVFX0xBU1QgICAgICAgICAgICAgICAgICAgICAqLwogLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwogI2RlZmluZSBVVkhfTEJfQkFVX0lOVERfUEFZTE9BRF9RVUVVRV9MQVNUIDB4MzIwMDYwVUwKLSNkZWZpbmUgVVZIX0xCX0JBVV9JTlREX1BBWUxPQURfUVVFVUVfTEFTVF8zMiAweDAwOWY4CisjZGVmaW5lIFVWSF9MQl9CQVVfSU5URF9QQVlMT0FEX1FVRVVFX0xBU1RfMzIgMHgwMDljOAogCiAjZGVmaW5lIFVWSF9MQl9CQVVfSU5URF9QQVlMT0FEX1FVRVVFX0xBU1RfQUREUkVTU19TSEZUIDQKICNkZWZpbmUgVVZIX0xCX0JBVV9JTlREX1BBWUxPQURfUVVFVUVfTEFTVF9BRERSRVNTX01BU0sgMHgwMDAwMDdmZmZmZmZmZmYwVUwKQEAgLTkxLDcgKzM2NCw3IEBACiAvKiAgICAgICAgICAgICAgICAgICAgVVZIX0xCX0JBVV9JTlREX1BBWUxPQURfUVVFVUVfVEFJTCAgICAgICAgICAgICAgICAgICAgICovCiAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAjZGVmaW5lIFVWSF9MQl9CQVVfSU5URF9QQVlMT0FEX1FVRVVFX1RBSUwgMHgzMjAwNzBVTAotI2RlZmluZSBVVkhfTEJfQkFVX0lOVERfUEFZTE9BRF9RVUVVRV9UQUlMXzMyIDB4MDBhMDAKKyNkZWZpbmUgVVZIX0xCX0JBVV9JTlREX1BBWUxPQURfUVVFVUVfVEFJTF8zMiAweDAwOWQwCiAKICNkZWZpbmUgVVZIX0xCX0JBVV9JTlREX1BBWUxPQURfUVVFVUVfVEFJTF9BRERSRVNTX1NIRlQgNAogI2RlZmluZSBVVkhfTEJfQkFVX0lOVERfUEFZTE9BRF9RVUVVRV9UQUlMX0FERFJFU1NfTUFTSyAweDAwMDAwN2ZmZmZmZmZmZjBVTApAQCAtMTA5LDYgKzM4Miw3IEBACiAvKiAgICAgICAgICAgICAgICAgICBVVkhfTEJfQkFVX0lOVERfU09GVFdBUkVfQUNLTk9XTEVER0UgICAgICAgICAgICAgICAgICAgICovCiAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAjZGVmaW5lIFVWSF9MQl9CQVVfSU5URF9TT0ZUV0FSRV9BQ0tOT1dMRURHRSAweDMyMDA4MFVMCisjZGVmaW5lIFVWSF9MQl9CQVVfSU5URF9TT0ZUV0FSRV9BQ0tOT1dMRURHRV8zMiAweDBhNjgKIAogI2RlZmluZSBVVkhfTEJfQkFVX0lOVERfU09GVFdBUkVfQUNLTk9XTEVER0VfUEVORElOR18wX1NIRlQgMAogI2RlZmluZSBVVkhfTEJfQkFVX0lOVERfU09GVFdBUkVfQUNLTk9XTEVER0VfUEVORElOR18wX01BU0sgMHgwMDAwMDAwMDAwMDAwMDAxVUwKQEAgLTE2OSwxMiArNDQzLDEzIEBACiAvKiAgICAgICAgICAgICAgICBVVkhfTEJfQkFVX0lOVERfU09GVFdBUkVfQUNLTk9XTEVER0VfQUxJQVMgICAgICAgICAgICAgICAgICovCiAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAjZGVmaW5lIFVWSF9MQl9CQVVfSU5URF9TT0ZUV0FSRV9BQ0tOT1dMRURHRV9BTElBUyAweDAwMDAwMDAwMDAzMjAwODhVTAorI2RlZmluZSBVVkhfTEJfQkFVX0lOVERfU09GVFdBUkVfQUNLTk9XTEVER0VfQUxJQVNfMzIgMHgwYTcwCiAKIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KIC8qICAgICAgICAgICAgICAgICAgICAgVVZIX0xCX0JBVV9TQl9BQ1RJVkFUSU9OX0NPTlRST0wgICAgICAgICAgICAgICAgICAgICAgKi8KIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICNkZWZpbmUgVVZIX0xCX0JBVV9TQl9BQ1RJVkFUSU9OX0NPTlRST0wgMHgzMjAwMjBVTAotI2RlZmluZSBVVkhfTEJfQkFVX1NCX0FDVElWQVRJT05fQ09OVFJPTF8zMiAweDAwOWQ4CisjZGVmaW5lIFVWSF9MQl9CQVVfU0JfQUNUSVZBVElPTl9DT05UUk9MXzMyIDB4MDA5YTgKIAogI2RlZmluZSBVVkhfTEJfQkFVX1NCX0FDVElWQVRJT05fQ09OVFJPTF9JTkRFWF9TSEZUIDAKICNkZWZpbmUgVVZIX0xCX0JBVV9TQl9BQ1RJVkFUSU9OX0NPTlRST0xfSU5ERVhfTUFTSyAweDAwMDAwMDAwMDAwMDAwM2ZVTApAQCAtMTk3LDcgKzQ3Miw3IEBACiAvKiAgICAgICAgICAgICAgICAgICAgVVZIX0xCX0JBVV9TQl9BQ1RJVkFUSU9OX1NUQVRVU18wICAgICAgICAgICAgICAgICAgICAgICovCiAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAjZGVmaW5lIFVWSF9MQl9CQVVfU0JfQUNUSVZBVElPTl9TVEFUVVNfMCAweDMyMDAzMFVMCi0jZGVmaW5lIFVWSF9MQl9CQVVfU0JfQUNUSVZBVElPTl9TVEFUVVNfMF8zMiAweDAwOWUwCisjZGVmaW5lIFVWSF9MQl9CQVVfU0JfQUNUSVZBVElPTl9TVEFUVVNfMF8zMiAweDAwOWIwCiAKICNkZWZpbmUgVVZIX0xCX0JBVV9TQl9BQ1RJVkFUSU9OX1NUQVRVU18wX1NUQVRVU19TSEZUIDAKICNkZWZpbmUgVVZIX0xCX0JBVV9TQl9BQ1RJVkFUSU9OX1NUQVRVU18wX1NUQVRVU19NQVNLIDB4ZmZmZmZmZmZmZmZmZmZmZlVMCkBAIC0yMTMsNyArNDg4LDcgQEAKIC8qICAgICAgICAgICAgICAgICAgICBVVkhfTEJfQkFVX1NCX0FDVElWQVRJT05fU1RBVFVTXzEgICAgICAgICAgICAgICAgICAgICAgKi8KIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICNkZWZpbmUgVVZIX0xCX0JBVV9TQl9BQ1RJVkFUSU9OX1NUQVRVU18xIDB4MzIwMDQwVUwKLSNkZWZpbmUgVVZIX0xCX0JBVV9TQl9BQ1RJVkFUSU9OX1NUQVRVU18xXzMyIDB4MDA5ZTgKKyNkZWZpbmUgVVZIX0xCX0JBVV9TQl9BQ1RJVkFUSU9OX1NUQVRVU18xXzMyIDB4MDA5YjgKIAogI2RlZmluZSBVVkhfTEJfQkFVX1NCX0FDVElWQVRJT05fU1RBVFVTXzFfU1RBVFVTX1NIRlQgMAogI2RlZmluZSBVVkhfTEJfQkFVX1NCX0FDVElWQVRJT05fU1RBVFVTXzFfU1RBVFVTX01BU0sgMHhmZmZmZmZmZmZmZmZmZmZmVUwKQEAgLTIyOSw3ICs1MDQsNyBAQAogLyogICAgICAgICAgICAgICAgICAgICAgVVZIX0xCX0JBVV9TQl9ERVNDUklQVE9SX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAqLwogLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwogI2RlZmluZSBVVkhfTEJfQkFVX1NCX0RFU0NSSVBUT1JfQkFTRSAweDMyMDAxMFVMCi0jZGVmaW5lIFVWSF9MQl9CQVVfU0JfREVTQ1JJUFRPUl9CQVNFXzMyIDB4MDA5ZDAKKyNkZWZpbmUgVVZIX0xCX0JBVV9TQl9ERVNDUklQVE9SX0JBU0VfMzIgMHgwMDlhMAogCiAjZGVmaW5lIFVWSF9MQl9CQVVfU0JfREVTQ1JJUFRPUl9CQVNFX1BBR0VfQUREUkVTU19TSEZUIDEyCiAjZGVmaW5lIFVWSF9MQl9CQVVfU0JfREVTQ1JJUFRPUl9CQVNFX1BBR0VfQUREUkVTU19NQVNLIDB4MDAwMDA3ZmZmZmZmZjAwMFVMCkBAIC0yNDgsNiArNTIzLDMzNCBAQAogfTsKIAogLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworLyogICAgICAgICAgICAgICAgICAgICAgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFICAgICAgICAgICAgICAgICAgICAgICAqLworLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEUgMHg1MGIyMFVMCisKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX01DQVNUX09CRVNFX01TR19TSEZUIDAKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX01DQVNUX09CRVNFX01TR19NQVNLIDB4MDAwMDAwMDAwMDAwMDAwMVVMCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9NQ0FTVF9EQVRBX1NCX0VSUl9TSEZUIDEKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX01DQVNUX0RBVEFfU0JfRVJSX01BU0sgMHgwMDAwMDAwMDAwMDAwMDAyVUwKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX01DQVNUX05BQ0tfQlVGRl9QQVJJVFlfU0hGVCAyCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9NQ0FTVF9OQUNLX0JVRkZfUEFSSVRZX01BU0sgMHgwMDAwMDAwMDAwMDAwMDA0VUwKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX01DQVNUX1RJTUVPVVRfU0hGVCAzCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9NQ0FTVF9USU1FT1VUX01BU0sgMHgwMDAwMDAwMDAwMDAwMDA4VUwKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX01DQVNUX0lOQUNUSVZFX1JFUExZX1NIRlQgNAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfTUNBU1RfSU5BQ1RJVkVfUkVQTFlfTUFTSyAweDAwMDAwMDAwMDAwMDAwMTBVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfTUNBU1RfVVBHUkFERV9FUlJPUl9TSEZUIDUKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX01DQVNUX1VQR1JBREVfRVJST1JfTUFTSyAweDAwMDAwMDAwMDAwMDAwMjBVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfTUNBU1RfUkVHX0NPVU5UX1VOREVSRkxPV19TSEZUIDYKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX01DQVNUX1JFR19DT1VOVF9VTkRFUkZMT1dfTUFTSyAweDAwMDAwMDAwMDAwMDAwNDBVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfTUNBU1RfUkVQX09CRVNFX01TR19TSEZUIDcKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX01DQVNUX1JFUF9PQkVTRV9NU0dfTUFTSyAweDAwMDAwMDAwMDAwMDAwODBVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfVUNBQ0hFX1JFUV9SVU5UX01TR19TSEZUIDgKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX1VDQUNIRV9SRVFfUlVOVF9NU0dfTUFTSyAweDAwMDAwMDAwMDAwMDAxMDBVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfVUNBQ0hFX1JFUV9PQkVTRV9NU0dfU0hGVCA5CisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9VQ0FDSEVfUkVRX09CRVNFX01TR19NQVNLIDB4MDAwMDAwMDAwMDAwMDIwMFVMCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9VQ0FDSEVfUkVRX0RBVEFfU0JfRVJSX1NIRlQgMTAKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX1VDQUNIRV9SRVFfREFUQV9TQl9FUlJfTUFTSyAweDAwMDAwMDAwMDAwMDA0MDBVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfVUNBQ0hFX1JFUF9SVU5UX01TR19TSEZUIDExCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9VQ0FDSEVfUkVQX1JVTlRfTVNHX01BU0sgMHgwMDAwMDAwMDAwMDAwODAwVUwKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX1VDQUNIRV9SRVBfT0JFU0VfTVNHX1NIRlQgMTIKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX1VDQUNIRV9SRVBfT0JFU0VfTVNHX01BU0sgMHgwMDAwMDAwMDAwMDAxMDAwVUwKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX1VDQUNIRV9SRVBfREFUQV9TQl9FUlJfU0hGVCAxMworI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfVUNBQ0hFX1JFUF9EQVRBX1NCX0VSUl9NQVNLIDB4MDAwMDAwMDAwMDAwMjAwMFVMCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9VQ0FDSEVfUkVQX0NPTU1BTkRfRVJSX1NIRlQgMTQKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX1VDQUNIRV9SRVBfQ09NTUFORF9FUlJfTUFTSyAweDAwMDAwMDAwMDAwMDQwMDBVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfVUNBQ0hFX1BFTkRfVElNRU9VVF9TSEZUIDE1CisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9VQ0FDSEVfUEVORF9USU1FT1VUX01BU0sgMHgwMDAwMDAwMDAwMDA4MDAwVUwKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX01BQ0NfUkVRX1JVTlRfTVNHX1NIRlQgMTYKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX01BQ0NfUkVRX1JVTlRfTVNHX01BU0sgMHgwMDAwMDAwMDAwMDEwMDAwVUwKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX01BQ0NfUkVRX09CRVNFX01TR19TSEZUIDE3CisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9NQUNDX1JFUV9PQkVTRV9NU0dfTUFTSyAweDAwMDAwMDAwMDAwMjAwMDBVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfTUFDQ19SRVFfREFUQV9TQl9FUlJfU0hGVCAxOAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfTUFDQ19SRVFfREFUQV9TQl9FUlJfTUFTSyAweDAwMDAwMDAwMDAwNDAwMDBVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfTUFDQ19SRVBfUlVOVF9NU0dfU0hGVCAxOQorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfTUFDQ19SRVBfUlVOVF9NU0dfTUFTSyAweDAwMDAwMDAwMDAwODAwMDBVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfTUFDQ19SRVBfT0JFU0VfTVNHX1NIRlQgMjAKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX01BQ0NfUkVQX09CRVNFX01TR19NQVNLIDB4MDAwMDAwMDAwMDEwMDAwMFVMCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9NQUNDX1JFUF9EQVRBX1NCX0VSUl9TSEZUIDIxCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9NQUNDX1JFUF9EQVRBX1NCX0VSUl9NQVNLIDB4MDAwMDAwMDAwMDIwMDAwMFVMCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9NQUNDX0FNT19USU1FT1VUX1NIRlQgMjIKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX01BQ0NfQU1PX1RJTUVPVVRfTUFTSyAweDAwMDAwMDAwMDA0MDAwMDBVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfTUFDQ19QVVRfVElNRU9VVF9TSEZUIDIzCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9NQUNDX1BVVF9USU1FT1VUX01BU0sgMHgwMDAwMDAwMDAwODAwMDAwVUwKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX01BQ0NfU1BVUklPVVNfRVZFTlRfU0hGVCAyNAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfTUFDQ19TUFVSSU9VU19FVkVOVF9NQVNLIDB4MDAwMDAwMDAwMTAwMDAwMFVMCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9JT0hfREVTVElOQVRJT05fVEFCTEVfUEFSSVRZX1NIRlQgMjUKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX0lPSF9ERVNUSU5BVElPTl9UQUJMRV9QQVJJVFlfTUFTSyAweDAwMDAwMDAwMDIwMDAwMDBVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfR0VUX0hBRF9FUlJPUl9SRVBMWV9TSEZUIDI2CisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9HRVRfSEFEX0VSUk9SX1JFUExZX01BU0sgMHgwMDAwMDAwMDA0MDAwMDAwVUwKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX0dFVF9USU1FT1VUX1NIRlQgMjcKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX0dFVF9USU1FT1VUX01BU0sgMHgwMDAwMDAwMDA4MDAwMDAwVUwKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX0xPQ0tfTUFOQUdFUl9IQURfRVJST1JfUkVQTFlfU0hGVCAyOAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfTE9DS19NQU5BR0VSX0hBRF9FUlJPUl9SRVBMWV9NQVNLIDB4MDAwMDAwMDAxMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9QVVRfSEFEX0VSUk9SX1JFUExZX1NIRlQgMjkKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX1BVVF9IQURfRVJST1JfUkVQTFlfTUFTSyAweDAwMDAwMDAwMjAwMDAwMDBVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfUFVUX1RJTUVPVVRfU0hGVCAzMAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfUFVUX1RJTUVPVVRfTUFTSyAweDAwMDAwMDAwNDAwMDAwMDBVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfU0JfQUNUSVZBVElPTl9PVkVSUlVOX1NIRlQgMzEKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX1NCX0FDVElWQVRJT05fT1ZFUlJVTl9NQVNLIDB4MDAwMDAwMDA4MDAwMDAwMFVMCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9DT01QTEVURURfR0JfQUNUSVZBVElPTl9IQURfRVJST1JfUkVQTFlfU0hGVCAzMgorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfQ09NUExFVEVEX0dCX0FDVElWQVRJT05fSEFEX0VSUk9SX1JFUExZX01BU0sgMHgwMDAwMDAwMTAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX0NPTVBMRVRFRF9HQl9BQ1RJVkFUSU9OX1RJTUVPVVRfU0hGVCAzMworI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfQ09NUExFVEVEX0dCX0FDVElWQVRJT05fVElNRU9VVF9NQVNLIDB4MDAwMDAwMDIwMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9ERVNDUklQVE9SX0JVRkZFUl8wX1BBUklUWV9TSEZUIDM0CisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9ERVNDUklQVE9SX0JVRkZFUl8wX1BBUklUWV9NQVNLIDB4MDAwMDAwMDQwMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9ERVNDUklQVE9SX0JVRkZFUl8xX1BBUklUWV9TSEZUIDM1CisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9ERVNDUklQVE9SX0JVRkZFUl8xX1BBUklUWV9NQVNLIDB4MDAwMDAwMDgwMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9TT0NLRVRfREVTVElOQVRJT05fVEFCTEVfUEFSSVRZX1NIRlQgMzYKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX1NPQ0tFVF9ERVNUSU5BVElPTl9UQUJMRV9QQVJJVFlfTUFTSyAweDAwMDAwMDEwMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfQkFVX1JFUExZX1BBWUxPQURfQ09SUlVQVElPTl9TSEZUIDM3CisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9CQVVfUkVQTFlfUEFZTE9BRF9DT1JSVVBUSU9OX01BU0sgMHgwMDAwMDAyMDAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX0lPX1BPUlRfREVTVElOQVRJT05fVEFCTEVfUEFSSVRZX1NIRlQgMzgKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX0lPX1BPUlRfREVTVElOQVRJT05fVEFCTEVfUEFSSVRZX01BU0sgMHgwMDAwMDA0MDAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX0lOVERfU09GVF9BQ0tfVElNRU9VVF9TSEZUIDM5CisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9JTlREX1NPRlRfQUNLX1RJTUVPVVRfTUFTSyAweDAwMDAwMDgwMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfSU5UX1JFUF9PQkVTRV9NU0dfU0hGVCA0MAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfSU5UX1JFUF9PQkVTRV9NU0dfTUFTSyAweDAwMDAwMTAwMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfSU5UX1JFUF9DT01NQU5EX0VSUl9TSEZUIDQxCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9JTlRfUkVQX0NPTU1BTkRfRVJSX01BU0sgMHgwMDAwMDIwMDAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX0lOVF9USU1FT1VUX1NIRlQgNDIKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX0lOVF9USU1FT1VUX01BU0sgMHgwMDAwMDQwMDAwMDAwMDAwVUwKKwordW5pb24gdXZoX2xiX21jYXN0X2FvZXJyMF9ycHRfZW5hYmxlX3UgeworICAgIHVuc2lnbmVkIGxvbmcJdjsKKyAgICBzdHJ1Y3QgdXZoX2xiX21jYXN0X2FvZXJyMF9ycHRfZW5hYmxlX3MgeworCXVuc2lnbmVkIGxvbmcJbWNhc3Rfb2Jlc2VfbXNnICAgICAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbWNhc3RfZGF0YV9zYl9lcnIgICAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbWNhc3RfbmFja19idWZmX3Bhcml0eSAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbWNhc3RfdGltZW91dCAgICAgICAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbWNhc3RfaW5hY3RpdmVfcmVwbHkgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbWNhc3RfdXBncmFkZV9lcnJvciAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbWNhc3RfcmVnX2NvdW50X3VuZGVyZmxvdyAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbWNhc3RfcmVwX29iZXNlX21zZyAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJdWNhY2hlX3JlcV9ydW50X21zZyAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJdWNhY2hlX3JlcV9vYmVzZV9tc2cgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJdWNhY2hlX3JlcV9kYXRhX3NiX2VyciAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJdWNhY2hlX3JlcF9ydW50X21zZyAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJdWNhY2hlX3JlcF9vYmVzZV9tc2cgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJdWNhY2hlX3JlcF9kYXRhX3NiX2VyciAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJdWNhY2hlX3JlcF9jb21tYW5kX2VyciAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJdWNhY2hlX3BlbmRfdGltZW91dCAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbWFjY19yZXFfcnVudF9tc2cgICAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbWFjY19yZXFfb2Jlc2VfbXNnICAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbWFjY19yZXFfZGF0YV9zYl9lcnIgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbWFjY19yZXBfcnVudF9tc2cgICAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbWFjY19yZXBfb2Jlc2VfbXNnICAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbWFjY19yZXBfZGF0YV9zYl9lcnIgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbWFjY19hbW9fdGltZW91dCAgICAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbWFjY19wdXRfdGltZW91dCAgICAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbWFjY19zcHVyaW91c19ldmVudCAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJaW9oX2Rlc3RpbmF0aW9uX3RhYmxlX3Bhcml0eSAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJZ2V0X2hhZF9lcnJvcl9yZXBseSAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJZ2V0X3RpbWVvdXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbG9ja19tYW5hZ2VyX2hhZF9lcnJvcl9yZXBseSAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJcHV0X2hhZF9lcnJvcl9yZXBseSAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJcHV0X3RpbWVvdXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJc2JfYWN0aXZhdGlvbl9vdmVycnVuICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJY29tcGxldGVkX2diX2FjdGl2YXRpb25faGFkX2Vycm9yX3JlcGx5IDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJY29tcGxldGVkX2diX2FjdGl2YXRpb25fdGltZW91dCAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJZGVzY3JpcHRvcl9idWZmZXJfMF9wYXJpdHkgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJZGVzY3JpcHRvcl9idWZmZXJfMV9wYXJpdHkgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJc29ja2V0X2Rlc3RpbmF0aW9uX3RhYmxlX3Bhcml0eSAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJYmF1X3JlcGx5X3BheWxvYWRfY29ycnVwdGlvbiAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJaW9fcG9ydF9kZXN0aW5hdGlvbl90YWJsZV9wYXJpdHkgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJaW50ZF9zb2Z0X2Fja190aW1lb3V0ICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJaW50X3JlcF9vYmVzZV9tc2cgICAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJaW50X3JlcF9jb21tYW5kX2VyciAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJaW50X3RpbWVvdXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJcnN2ZF80M182MyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogMjE7ICAvKiAgICAqLworICAgIH0gczsKK307CisKKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICAgICBVVkhfTE9DQUxfSU5UMF9DT05GSUcgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfQ09ORklHIDB4NjEwMDBVTAorCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0NPTkZJR19WRUNUT1JfU0hGVCAwCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0NPTkZJR19WRUNUT1JfTUFTSyAweDAwMDAwMDAwMDAwMDAwZmZVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9DT05GSUdfRE1fU0hGVCA4CisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0NPTkZJR19ETV9NQVNLIDB4MDAwMDAwMDAwMDAwMDcwMFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0NPTkZJR19ERVNUTU9ERV9TSEZUIDExCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0NPTkZJR19ERVNUTU9ERV9NQVNLIDB4MDAwMDAwMDAwMDAwMDgwMFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0NPTkZJR19TVEFUVVNfU0hGVCAxMgorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9DT05GSUdfU1RBVFVTX01BU0sgMHgwMDAwMDAwMDAwMDAxMDAwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfQ09ORklHX1BfU0hGVCAxMworI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9DT05GSUdfUF9NQVNLIDB4MDAwMDAwMDAwMDAwMjAwMFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0NPTkZJR19UX1NIRlQgMTUKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfQ09ORklHX1RfTUFTSyAweDAwMDAwMDAwMDAwMDgwMDBVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9DT05GSUdfTV9TSEZUIDE2CisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0NPTkZJR19NX01BU0sgMHgwMDAwMDAwMDAwMDEwMDAwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfQ09ORklHX0FQSUNfSURfU0hGVCAzMgorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9DT05GSUdfQVBJQ19JRF9NQVNLIDB4ZmZmZmZmZmYwMDAwMDAwMFVMCisKK3VuaW9uIHV2aF9sb2NhbF9pbnQwX2NvbmZpZ191IHsKKyAgICB1bnNpZ25lZCBsb25nCXY7CisgICAgc3RydWN0IHV2aF9sb2NhbF9pbnQwX2NvbmZpZ19zIHsKKwl1bnNpZ25lZCBsb25nCXZlY3Rvcl8gIDogIDg7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJZG0gICAgICAgOiAgMzsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlkZXN0bW9kZSA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXN0YXR1cyAgIDogIDE7ICAvKiBSTyAqLworCXVuc2lnbmVkIGxvbmcJcCAgICAgICAgOiAgMTsgIC8qIFJPICovCisJdW5zaWduZWQgbG9uZwlyc3ZkXzE0ICA6ICAxOyAgLyogICAgKi8KKwl1bnNpZ25lZCBsb25nCXQgICAgICAgIDogIDE7ICAvKiBSTyAqLworCXVuc2lnbmVkIGxvbmcJbSAgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlyc3ZkXzE3XzMxOiAxNTsgIC8qICAgICovCisJdW5zaWduZWQgbG9uZwlhcGljX2lkICA6IDMyOyAgLyogUlcgKi8KKyAgICB9IHM7Cit9OworCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisvKiAgICAgICAgICAgICAgICAgICAgICAgICAgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRSAweDY1MDAwVUwKKworI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEJfSENFUlJfU0hGVCAwCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MQl9IQ0VSUl9NQVNLIDB4MDAwMDAwMDAwMDAwMDAwMVVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9HUjBfSENFUlJfU0hGVCAxCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9HUjBfSENFUlJfTUFTSyAweDAwMDAwMDAwMDAwMDAwMDJVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfR1IxX0hDRVJSX1NIRlQgMgorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfR1IxX0hDRVJSX01BU0sgMHgwMDAwMDAwMDAwMDAwMDA0VUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xIX0hDRVJSX1NIRlQgMworI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEhfSENFUlJfTUFTSyAweDAwMDAwMDAwMDAwMDAwMDhVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfUkhfSENFUlJfU0hGVCA0CisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9SSF9IQ0VSUl9NQVNLIDB4MDAwMDAwMDAwMDAwMDAxMFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9YTl9IQ0VSUl9TSEZUIDUKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX1hOX0hDRVJSX01BU0sgMHgwMDAwMDAwMDAwMDAwMDIwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX1NJX0hDRVJSX1NIRlQgNgorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfU0lfSENFUlJfTUFTSyAweDAwMDAwMDAwMDAwMDAwNDBVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEJfQU9FUlIwX1NIRlQgNworI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEJfQU9FUlIwX01BU0sgMHgwMDAwMDAwMDAwMDAwMDgwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0dSMF9BT0VSUjBfU0hGVCA4CisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9HUjBfQU9FUlIwX01BU0sgMHgwMDAwMDAwMDAwMDAwMTAwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0dSMV9BT0VSUjBfU0hGVCA5CisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9HUjFfQU9FUlIwX01BU0sgMHgwMDAwMDAwMDAwMDAwMjAwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xIX0FPRVJSMF9TSEZUIDEwCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MSF9BT0VSUjBfTUFTSyAweDAwMDAwMDAwMDAwMDA0MDBVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfUkhfQU9FUlIwX1NIRlQgMTEKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX1JIX0FPRVJSMF9NQVNLIDB4MDAwMDAwMDAwMDAwMDgwMFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9YTl9BT0VSUjBfU0hGVCAxMgorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfWE5fQU9FUlIwX01BU0sgMHgwMDAwMDAwMDAwMDAxMDAwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX1NJX0FPRVJSMF9TSEZUIDEzCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9TSV9BT0VSUjBfTUFTSyAweDAwMDAwMDAwMDAwMDIwMDBVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEJfQU9FUlIxX1NIRlQgMTQKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xCX0FPRVJSMV9NQVNLIDB4MDAwMDAwMDAwMDAwNDAwMFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9HUjBfQU9FUlIxX1NIRlQgMTUKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0dSMF9BT0VSUjFfTUFTSyAweDAwMDAwMDAwMDAwMDgwMDBVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfR1IxX0FPRVJSMV9TSEZUIDE2CisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9HUjFfQU9FUlIxX01BU0sgMHgwMDAwMDAwMDAwMDEwMDAwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xIX0FPRVJSMV9TSEZUIDE3CisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MSF9BT0VSUjFfTUFTSyAweDAwMDAwMDAwMDAwMjAwMDBVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfUkhfQU9FUlIxX1NIRlQgMTgKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX1JIX0FPRVJSMV9NQVNLIDB4MDAwMDAwMDAwMDA0MDAwMFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9YTl9BT0VSUjFfU0hGVCAxOQorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfWE5fQU9FUlIxX01BU0sgMHgwMDAwMDAwMDAwMDgwMDAwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX1NJX0FPRVJSMV9TSEZUIDIwCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9TSV9BT0VSUjFfTUFTSyAweDAwMDAwMDAwMDAxMDAwMDBVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfUkhfVlBJX0lOVF9TSEZUIDIxCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9SSF9WUElfSU5UX01BU0sgMHgwMDAwMDAwMDAwMjAwMDAwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX1NZU1RFTV9TSFVURE9XTl9JTlRfU0hGVCAyMgorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfU1lTVEVNX1NIVVRET1dOX0lOVF9NQVNLIDB4MDAwMDAwMDAwMDQwMDAwMFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MQl9JUlFfSU5UXzBfU0hGVCAyMworI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEJfSVJRX0lOVF8wX01BU0sgMHgwMDAwMDAwMDAwODAwMDAwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xCX0lSUV9JTlRfMV9TSEZUIDI0CisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MQl9JUlFfSU5UXzFfTUFTSyAweDAwMDAwMDAwMDEwMDAwMDBVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEJfSVJRX0lOVF8yX1NIRlQgMjUKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xCX0lSUV9JTlRfMl9NQVNLIDB4MDAwMDAwMDAwMjAwMDAwMFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MQl9JUlFfSU5UXzNfU0hGVCAyNgorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEJfSVJRX0lOVF8zX01BU0sgMHgwMDAwMDAwMDA0MDAwMDAwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xCX0lSUV9JTlRfNF9TSEZUIDI3CisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MQl9JUlFfSU5UXzRfTUFTSyAweDAwMDAwMDAwMDgwMDAwMDBVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEJfSVJRX0lOVF81X1NIRlQgMjgKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xCX0lSUV9JTlRfNV9NQVNLIDB4MDAwMDAwMDAxMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MQl9JUlFfSU5UXzZfU0hGVCAyOQorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEJfSVJRX0lOVF82X01BU0sgMHgwMDAwMDAwMDIwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xCX0lSUV9JTlRfN19TSEZUIDMwCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MQl9JUlFfSU5UXzdfTUFTSyAweDAwMDAwMDAwNDAwMDAwMDBVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEJfSVJRX0lOVF84X1NIRlQgMzEKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xCX0lSUV9JTlRfOF9NQVNLIDB4MDAwMDAwMDA4MDAwMDAwMFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MQl9JUlFfSU5UXzlfU0hGVCAzMgorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEJfSVJRX0lOVF85X01BU0sgMHgwMDAwMDAwMTAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xCX0lSUV9JTlRfMTBfU0hGVCAzMworI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEJfSVJRX0lOVF8xMF9NQVNLIDB4MDAwMDAwMDIwMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MQl9JUlFfSU5UXzExX1NIRlQgMzQKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xCX0lSUV9JTlRfMTFfTUFTSyAweDAwMDAwMDA0MDAwMDAwMDBVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEJfSVJRX0lOVF8xMl9TSEZUIDM1CisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MQl9JUlFfSU5UXzEyX01BU0sgMHgwMDAwMDAwODAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xCX0lSUV9JTlRfMTNfU0hGVCAzNgorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEJfSVJRX0lOVF8xM19NQVNLIDB4MDAwMDAwMTAwMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MQl9JUlFfSU5UXzE0X1NIRlQgMzcKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xCX0lSUV9JTlRfMTRfTUFTSyAweDAwMDAwMDIwMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEJfSVJRX0lOVF8xNV9TSEZUIDM4CisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MQl9JUlFfSU5UXzE1X01BU0sgMHgwMDAwMDA0MDAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0wxX05NSV9JTlRfU0hGVCAzOQorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTDFfTk1JX0lOVF9NQVNLIDB4MDAwMDAwODAwMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9TVE9QX0NMT0NLX1NIRlQgNDAKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX1NUT1BfQ0xPQ0tfTUFTSyAweDAwMDAwMTAwMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfQVNJQ19UT19MMV9TSEZUIDQxCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9BU0lDX1RPX0wxX01BU0sgMHgwMDAwMDIwMDAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0wxX1RPX0FTSUNfU0hGVCA0MgorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTDFfVE9fQVNJQ19NQVNLIDB4MDAwMDA0MDAwMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MVENfSU5UX1NIRlQgNDMKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xUQ19JTlRfTUFTSyAweDAwMDAwODAwMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEFfU0VRX1RSSUdHRVJfU0hGVCA0NAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEFfU0VRX1RSSUdHRVJfTUFTSyAweDAwMDAxMDAwMDAwMDAwMDBVTAorCit1bmlvbiB1dmhfbG9jYWxfaW50MF9lbmFibGVfdSB7CisgICAgdW5zaWduZWQgbG9uZwl2OworICAgIHN0cnVjdCB1dmhfbG9jYWxfaW50MF9lbmFibGVfcyB7CisJdW5zaWduZWQgbG9uZwlsYl9oY2VyciAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJZ3IwX2hjZXJyICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWdyMV9oY2VyciAgICAgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlsaF9oY2VyciAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJcmhfaGNlcnIgICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXhuX2hjZXJyICAgICAgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlzaV9oY2VyciAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbGJfYW9lcnIwICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWdyMF9hb2VycjAgICAgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlncjFfYW9lcnIwICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbGhfYW9lcnIwICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXJoX2FvZXJyMCAgICAgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwl4bl9hb2VycjAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJc2lfYW9lcnIwICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWxiX2FvZXJyMSAgICAgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlncjBfYW9lcnIxICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJZ3IxX2FvZXJyMSAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWxoX2FvZXJyMSAgICAgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlyaF9hb2VycjEgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJeG5fYW9lcnIxICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXNpX2FvZXJyMSAgICAgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlyaF92cGlfaW50ICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJc3lzdGVtX3NodXRkb3duX2ludCA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWxiX2lycV9pbnRfMCAgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlsYl9pcnFfaW50XzEgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbGJfaXJxX2ludF8yICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWxiX2lycV9pbnRfMyAgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlsYl9pcnFfaW50XzQgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbGJfaXJxX2ludF81ICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWxiX2lycV9pbnRfNiAgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlsYl9pcnFfaW50XzcgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbGJfaXJxX2ludF84ICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWxiX2lycV9pbnRfOSAgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlsYl9pcnFfaW50XzEwICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbGJfaXJxX2ludF8xMSAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWxiX2lycV9pbnRfMTIgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlsYl9pcnFfaW50XzEzICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbGJfaXJxX2ludF8xNCAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWxiX2lycV9pbnRfMTUgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlsMV9ubWlfaW50ICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJc3RvcF9jbG9jayAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWFzaWNfdG9fbDEgICAgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlsMV90b19hc2ljICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbHRjX2ludCAgICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWxhX3NlcV90cmlnZ2VyICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlyc3ZkXzQ1XzYzICAgICAgICAgIDogMTk7ICAvKiAgICAqLworICAgIH0gczsKK307CisKKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KIC8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVWSF9OT0RFX0lEICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICNkZWZpbmUgVVZIX05PREVfSUQgMHgwVUwKQEAgLTI4NCwxNCArODg3LDEwMSBAQAogfTsKIAogLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworLyogICAgICAgICAgICAgICAgICAgICAgICAgIFVWSF9OT0RFX1BSRVNFTlRfVEFCTEUgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworI2RlZmluZSBVVkhfTk9ERV9QUkVTRU5UX1RBQkxFIDB4MTQwMFVMCisjZGVmaW5lIFVWSF9OT0RFX1BSRVNFTlRfVEFCTEVfREVQVEggMTYKKworI2RlZmluZSBVVkhfTk9ERV9QUkVTRU5UX1RBQkxFX05PREVTX1NIRlQgMAorI2RlZmluZSBVVkhfTk9ERV9QUkVTRU5UX1RBQkxFX05PREVTX01BU0sgMHhmZmZmZmZmZmZmZmZmZmZmVUwKKwordW5pb24gdXZoX25vZGVfcHJlc2VudF90YWJsZV91IHsKKyAgICB1bnNpZ25lZCBsb25nCXY7CisgICAgc3RydWN0IHV2aF9ub2RlX3ByZXNlbnRfdGFibGVfcyB7CisJdW5zaWduZWQgbG9uZwlub2RlcyA6IDY0OyAgLyogUlcgKi8KKyAgICB9IHM7Cit9OworCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisvKiAgICAgICAgICAgICAgICBVVkhfUkhfR0FNX0FMSUFTMjEwX1JFRElSRUNUX0NPTkZJR18wX01NUiAgICAgICAgICAgICAgICAgICovCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisjZGVmaW5lIFVWSF9SSF9HQU1fQUxJQVMyMTBfUkVESVJFQ1RfQ09ORklHXzBfTU1SIDB4MTYwMDBkMFVMCisKKyNkZWZpbmUgVVZIX1JIX0dBTV9BTElBUzIxMF9SRURJUkVDVF9DT05GSUdfMF9NTVJfREVTVF9CQVNFX1NIRlQgMjQKKyNkZWZpbmUgVVZIX1JIX0dBTV9BTElBUzIxMF9SRURJUkVDVF9DT05GSUdfMF9NTVJfREVTVF9CQVNFX01BU0sgMHgwMDAwM2ZmZmZmMDAwMDAwVUwKKwordW5pb24gdXZoX3JoX2dhbV9hbGlhczIxMF9yZWRpcmVjdF9jb25maWdfMF9tbXJfdSB7CisgICAgdW5zaWduZWQgbG9uZwl2OworICAgIHN0cnVjdCB1dmhfcmhfZ2FtX2FsaWFzMjEwX3JlZGlyZWN0X2NvbmZpZ18wX21tcl9zIHsKKwl1bnNpZ25lZCBsb25nCXJzdmRfMF8yMyA6IDI0OyAgLyogICAgKi8KKwl1bnNpZ25lZCBsb25nCWRlc3RfYmFzZSA6IDIyOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXJzdmRfNDZfNjM6IDE4OyAgLyogICAgKi8KKyAgICB9IHM7Cit9OworCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisvKiAgICAgICAgICAgICAgICBVVkhfUkhfR0FNX0FMSUFTMjEwX1JFRElSRUNUX0NPTkZJR18xX01NUiAgICAgICAgICAgICAgICAgICovCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisjZGVmaW5lIFVWSF9SSF9HQU1fQUxJQVMyMTBfUkVESVJFQ1RfQ09ORklHXzFfTU1SIDB4MTYwMDBlMFVMCisKKyNkZWZpbmUgVVZIX1JIX0dBTV9BTElBUzIxMF9SRURJUkVDVF9DT05GSUdfMV9NTVJfREVTVF9CQVNFX1NIRlQgMjQKKyNkZWZpbmUgVVZIX1JIX0dBTV9BTElBUzIxMF9SRURJUkVDVF9DT05GSUdfMV9NTVJfREVTVF9CQVNFX01BU0sgMHgwMDAwM2ZmZmZmMDAwMDAwVUwKKwordW5pb24gdXZoX3JoX2dhbV9hbGlhczIxMF9yZWRpcmVjdF9jb25maWdfMV9tbXJfdSB7CisgICAgdW5zaWduZWQgbG9uZwl2OworICAgIHN0cnVjdCB1dmhfcmhfZ2FtX2FsaWFzMjEwX3JlZGlyZWN0X2NvbmZpZ18xX21tcl9zIHsKKwl1bnNpZ25lZCBsb25nCXJzdmRfMF8yMyA6IDI0OyAgLyogICAgKi8KKwl1bnNpZ25lZCBsb25nCWRlc3RfYmFzZSA6IDIyOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXJzdmRfNDZfNjM6IDE4OyAgLyogICAgKi8KKyAgICB9IHM7Cit9OworCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisvKiAgICAgICAgICAgICAgICBVVkhfUkhfR0FNX0FMSUFTMjEwX1JFRElSRUNUX0NPTkZJR18yX01NUiAgICAgICAgICAgICAgICAgICovCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisjZGVmaW5lIFVWSF9SSF9HQU1fQUxJQVMyMTBfUkVESVJFQ1RfQ09ORklHXzJfTU1SIDB4MTYwMDBmMFVMCisKKyNkZWZpbmUgVVZIX1JIX0dBTV9BTElBUzIxMF9SRURJUkVDVF9DT05GSUdfMl9NTVJfREVTVF9CQVNFX1NIRlQgMjQKKyNkZWZpbmUgVVZIX1JIX0dBTV9BTElBUzIxMF9SRURJUkVDVF9DT05GSUdfMl9NTVJfREVTVF9CQVNFX01BU0sgMHgwMDAwM2ZmZmZmMDAwMDAwVUwKKwordW5pb24gdXZoX3JoX2dhbV9hbGlhczIxMF9yZWRpcmVjdF9jb25maWdfMl9tbXJfdSB7CisgICAgdW5zaWduZWQgbG9uZwl2OworICAgIHN0cnVjdCB1dmhfcmhfZ2FtX2FsaWFzMjEwX3JlZGlyZWN0X2NvbmZpZ18yX21tcl9zIHsKKwl1bnNpZ25lZCBsb25nCXJzdmRfMF8yMyA6IDI0OyAgLyogICAgKi8KKwl1bnNpZ25lZCBsb25nCWRlc3RfYmFzZSA6IDIyOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXJzdmRfNDZfNjM6IDE4OyAgLyogICAgKi8KKyAgICB9IHM7Cit9OworCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisvKiAgICAgICAgICAgICAgICAgICAgVVZIX1JIX0dBTV9DRkdfT1ZFUkxBWV9DT05GSUdfTU1SICAgICAgICAgICAgICAgICAgICAgICovCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisjZGVmaW5lIFVWSF9SSF9HQU1fQ0ZHX09WRVJMQVlfQ09ORklHX01NUiAweDE2MDAwMjBVTAorCisjZGVmaW5lIFVWSF9SSF9HQU1fQ0ZHX09WRVJMQVlfQ09ORklHX01NUl9CQVNFX1NIRlQgMjYKKyNkZWZpbmUgVVZIX1JIX0dBTV9DRkdfT1ZFUkxBWV9DT05GSUdfTU1SX0JBU0VfTUFTSyAweDAwMDAzZmZmZmMwMDAwMDBVTAorI2RlZmluZSBVVkhfUkhfR0FNX0NGR19PVkVSTEFZX0NPTkZJR19NTVJfRU5BQkxFX1NIRlQgNjMKKyNkZWZpbmUgVVZIX1JIX0dBTV9DRkdfT1ZFUkxBWV9DT05GSUdfTU1SX0VOQUJMRV9NQVNLIDB4ODAwMDAwMDAwMDAwMDAwMFVMCisKK3VuaW9uIHV2aF9yaF9nYW1fY2ZnX292ZXJsYXlfY29uZmlnX21tcl91IHsKKyAgICB1bnNpZ25lZCBsb25nCXY7CisgICAgc3RydWN0IHV2aF9yaF9nYW1fY2ZnX292ZXJsYXlfY29uZmlnX21tcl9zIHsKKwl1bnNpZ25lZCBsb25nCXJzdmRfMF8yNTogMjY7ICAvKiAgICAqLworCXVuc2lnbmVkIGxvbmcJYmFzZSAgIDogMjA7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJcnN2ZF80Nl82MjogMTc7ICAvKiAgICAqLworCXVuc2lnbmVkIGxvbmcJZW5hYmxlIDogIDE7ICAvKiBSVyAqLworICAgIH0gczsKK307CisKKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KIC8qICAgICAgICAgICAgICAgICAgICBVVkhfUkhfR0FNX0dSVV9PVkVSTEFZX0NPTkZJR19NTVIgICAgICAgICAgICAgICAgICAgICAgKi8KIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICNkZWZpbmUgVVZIX1JIX0dBTV9HUlVfT1ZFUkxBWV9DT05GSUdfTU1SIDB4MTYwMDAxMFVMCiAKICNkZWZpbmUgVVZIX1JIX0dBTV9HUlVfT1ZFUkxBWV9DT05GSUdfTU1SX0JBU0VfU0hGVCAyOAogI2RlZmluZSBVVkhfUkhfR0FNX0dSVV9PVkVSTEFZX0NPTkZJR19NTVJfQkFTRV9NQVNLIDB4MDAwMDNmZmZmMDAwMDAwMFVMCi0jZGVmaW5lIFVWSF9SSF9HQU1fR1JVX09WRVJMQVlfQ09ORklHX01NUl9HUjRfU0hGVCA0NgotI2RlZmluZSBVVkhfUkhfR0FNX0dSVV9PVkVSTEFZX0NPTkZJR19NTVJfR1I0X01BU0sgMHgwMDAwNDAwMDAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX1JIX0dBTV9HUlVfT1ZFUkxBWV9DT05GSUdfTU1SX0dSNF9TSEZUIDQ4CisjZGVmaW5lIFVWSF9SSF9HQU1fR1JVX09WRVJMQVlfQ09ORklHX01NUl9HUjRfTUFTSyAweDAwMDEwMDAwMDAwMDAwMDBVTAogI2RlZmluZSBVVkhfUkhfR0FNX0dSVV9PVkVSTEFZX0NPTkZJR19NTVJfTl9HUlVfU0hGVCA1MgogI2RlZmluZSBVVkhfUkhfR0FNX0dSVV9PVkVSTEFZX0NPTkZJR19NTVJfTl9HUlVfTUFTSyAweDAwZjAwMDAwMDAwMDAwMDBVTAogI2RlZmluZSBVVkhfUkhfR0FNX0dSVV9PVkVSTEFZX0NPTkZJR19NTVJfRU5BQkxFX1NIRlQgNjMKQEAgLTMwMiw4ICs5OTIsOSBAQAogICAgIHN0cnVjdCB1dmhfcmhfZ2FtX2dydV9vdmVybGF5X2NvbmZpZ19tbXJfcyB7CiAJdW5zaWduZWQgbG9uZwlyc3ZkXzBfMjc6IDI4OyAgLyogICAgKi8KIAl1bnNpZ25lZCBsb25nCWJhc2UgICA6IDE4OyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXJzdmRfNDZfNDc6ICAyOyAgLyogICAgKi8KIAl1bnNpZ25lZCBsb25nCWdyNCAgICA6ICAxOyAgLyogUlcgKi8KLQl1bnNpZ25lZCBsb25nCXJzdmRfNDdfNTE6ICA1OyAgLyogICAgKi8KKwl1bnNpZ25lZCBsb25nCXJzdmRfNDlfNTE6ICAzOyAgLyogICAgKi8KIAl1bnNpZ25lZCBsb25nCW5fZ3J1ICA6ICA0OyAgLyogUlcgKi8KIAl1bnNpZ25lZCBsb25nCXJzdmRfNTZfNjI6ICA3OyAgLyogICAgKi8KIAl1bnNpZ25lZCBsb25nCWVuYWJsZSA6ICAxOyAgLyogUlcgKi8KQEAgLTMxMSw2ICsxMDAyLDMyIEBACiB9OwogCiAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisvKiAgICAgICAgICAgICAgICAgICBVVkhfUkhfR0FNX01NSU9IX09WRVJMQVlfQ09ORklHX01NUiAgICAgICAgICAgICAgICAgICAgICovCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisjZGVmaW5lIFVWSF9SSF9HQU1fTU1JT0hfT1ZFUkxBWV9DT05GSUdfTU1SIDB4MTYwMDAzMFVMCisKKyNkZWZpbmUgVVZIX1JIX0dBTV9NTUlPSF9PVkVSTEFZX0NPTkZJR19NTVJfQkFTRV9TSEZUIDMwCisjZGVmaW5lIFVWSF9SSF9HQU1fTU1JT0hfT1ZFUkxBWV9DT05GSUdfTU1SX0JBU0VfTUFTSyAweDAwMDAzZmZmYzAwMDAwMDBVTAorI2RlZmluZSBVVkhfUkhfR0FNX01NSU9IX09WRVJMQVlfQ09ORklHX01NUl9NX0lPX1NIRlQgNDYKKyNkZWZpbmUgVVZIX1JIX0dBTV9NTUlPSF9PVkVSTEFZX0NPTkZJR19NTVJfTV9JT19NQVNLIDB4MDAwZmMwMDAwMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9SSF9HQU1fTU1JT0hfT1ZFUkxBWV9DT05GSUdfTU1SX05fSU9fU0hGVCA1MgorI2RlZmluZSBVVkhfUkhfR0FNX01NSU9IX09WRVJMQVlfQ09ORklHX01NUl9OX0lPX01BU0sgMHgwMGYwMDAwMDAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX1JIX0dBTV9NTUlPSF9PVkVSTEFZX0NPTkZJR19NTVJfRU5BQkxFX1NIRlQgNjMKKyNkZWZpbmUgVVZIX1JIX0dBTV9NTUlPSF9PVkVSTEFZX0NPTkZJR19NTVJfRU5BQkxFX01BU0sgMHg4MDAwMDAwMDAwMDAwMDAwVUwKKwordW5pb24gdXZoX3JoX2dhbV9tbWlvaF9vdmVybGF5X2NvbmZpZ19tbXJfdSB7CisgICAgdW5zaWduZWQgbG9uZwl2OworICAgIHN0cnVjdCB1dmhfcmhfZ2FtX21taW9oX292ZXJsYXlfY29uZmlnX21tcl9zIHsKKwl1bnNpZ25lZCBsb25nCXJzdmRfMF8yOTogMzA7ICAvKiAgICAqLworCXVuc2lnbmVkIGxvbmcJYmFzZSAgIDogMTY7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbV9pbyAgIDogIDY7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbl9pbyAgIDogIDQ7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJcnN2ZF81Nl82MjogIDc7ICAvKiAgICAqLworCXVuc2lnbmVkIGxvbmcJZW5hYmxlIDogIDE7ICAvKiBSVyAqLworICAgIH0gczsKK307CisKKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KIC8qICAgICAgICAgICAgICAgICAgICBVVkhfUkhfR0FNX01NUl9PVkVSTEFZX0NPTkZJR19NTVIgICAgICAgICAgICAgICAgICAgICAgKi8KIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICNkZWZpbmUgVVZIX1JIX0dBTV9NTVJfT1ZFUkxBWV9DT05GSUdfTU1SIDB4MTYwMDAyOFVMCkBAIC0zMzYsNyArMTA1Myw3IEBACiAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVWSF9SVEMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCiAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCi0jZGVmaW5lIFVWSF9SVEMgMHgyODAwMFVMCisjZGVmaW5lIFVWSF9SVEMgMHgzNDAwMDBVTAogCiAjZGVmaW5lIFVWSF9SVENfUkVBTF9USU1FX0NMT0NLX1NIRlQgMAogI2RlZmluZSBVVkhfUlRDX1JFQUxfVElNRV9DTE9DS19NQVNLIDB4MDBmZmZmZmZmZmZmZmZmZlVMCkBAIC0zNTAsNiArMTA2NywxMzkgQEAKIH07CiAKIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICAgICAgVVZIX1JUQzFfSU5UX0NPTkZJRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKyNkZWZpbmUgVVZIX1JUQzFfSU5UX0NPTkZJRyAweDYxNWMwVUwKKworI2RlZmluZSBVVkhfUlRDMV9JTlRfQ09ORklHX1ZFQ1RPUl9TSEZUIDAKKyNkZWZpbmUgVVZIX1JUQzFfSU5UX0NPTkZJR19WRUNUT1JfTUFTSyAweDAwMDAwMDAwMDAwMDAwZmZVTAorI2RlZmluZSBVVkhfUlRDMV9JTlRfQ09ORklHX0RNX1NIRlQgOAorI2RlZmluZSBVVkhfUlRDMV9JTlRfQ09ORklHX0RNX01BU0sgMHgwMDAwMDAwMDAwMDAwNzAwVUwKKyNkZWZpbmUgVVZIX1JUQzFfSU5UX0NPTkZJR19ERVNUTU9ERV9TSEZUIDExCisjZGVmaW5lIFVWSF9SVEMxX0lOVF9DT05GSUdfREVTVE1PREVfTUFTSyAweDAwMDAwMDAwMDAwMDA4MDBVTAorI2RlZmluZSBVVkhfUlRDMV9JTlRfQ09ORklHX1NUQVRVU19TSEZUIDEyCisjZGVmaW5lIFVWSF9SVEMxX0lOVF9DT05GSUdfU1RBVFVTX01BU0sgMHgwMDAwMDAwMDAwMDAxMDAwVUwKKyNkZWZpbmUgVVZIX1JUQzFfSU5UX0NPTkZJR19QX1NIRlQgMTMKKyNkZWZpbmUgVVZIX1JUQzFfSU5UX0NPTkZJR19QX01BU0sgMHgwMDAwMDAwMDAwMDAyMDAwVUwKKyNkZWZpbmUgVVZIX1JUQzFfSU5UX0NPTkZJR19UX1NIRlQgMTUKKyNkZWZpbmUgVVZIX1JUQzFfSU5UX0NPTkZJR19UX01BU0sgMHgwMDAwMDAwMDAwMDA4MDAwVUwKKyNkZWZpbmUgVVZIX1JUQzFfSU5UX0NPTkZJR19NX1NIRlQgMTYKKyNkZWZpbmUgVVZIX1JUQzFfSU5UX0NPTkZJR19NX01BU0sgMHgwMDAwMDAwMDAwMDEwMDAwVUwKKyNkZWZpbmUgVVZIX1JUQzFfSU5UX0NPTkZJR19BUElDX0lEX1NIRlQgMzIKKyNkZWZpbmUgVVZIX1JUQzFfSU5UX0NPTkZJR19BUElDX0lEX01BU0sgMHhmZmZmZmZmZjAwMDAwMDAwVUwKKwordW5pb24gdXZoX3J0YzFfaW50X2NvbmZpZ191IHsKKyAgICB1bnNpZ25lZCBsb25nCXY7CisgICAgc3RydWN0IHV2aF9ydGMxX2ludF9jb25maWdfcyB7CisJdW5zaWduZWQgbG9uZwl2ZWN0b3JfICA6ICA4OyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWRtICAgICAgIDogIDM7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJZGVzdG1vZGUgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlzdGF0dXMgICA6ICAxOyAgLyogUk8gKi8KKwl1bnNpZ25lZCBsb25nCXAgICAgICAgIDogIDE7ICAvKiBSTyAqLworCXVuc2lnbmVkIGxvbmcJcnN2ZF8xNCAgOiAgMTsgIC8qICAgICovCisJdW5zaWduZWQgbG9uZwl0ICAgICAgICA6ICAxOyAgLyogUk8gKi8KKwl1bnNpZ25lZCBsb25nCW0gICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJcnN2ZF8xN18zMTogMTU7ICAvKiAgICAqLworCXVuc2lnbmVkIGxvbmcJYXBpY19pZCAgOiAzMjsgIC8qIFJXICovCisgICAgfSBzOworfTsKKworLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworLyogICAgICAgICAgICAgICAgICAgICAgICAgICBVVkhfUlRDMl9JTlRfQ09ORklHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworI2RlZmluZSBVVkhfUlRDMl9JTlRfQ09ORklHIDB4NjE2MDBVTAorCisjZGVmaW5lIFVWSF9SVEMyX0lOVF9DT05GSUdfVkVDVE9SX1NIRlQgMAorI2RlZmluZSBVVkhfUlRDMl9JTlRfQ09ORklHX1ZFQ1RPUl9NQVNLIDB4MDAwMDAwMDAwMDAwMDBmZlVMCisjZGVmaW5lIFVWSF9SVEMyX0lOVF9DT05GSUdfRE1fU0hGVCA4CisjZGVmaW5lIFVWSF9SVEMyX0lOVF9DT05GSUdfRE1fTUFTSyAweDAwMDAwMDAwMDAwMDA3MDBVTAorI2RlZmluZSBVVkhfUlRDMl9JTlRfQ09ORklHX0RFU1RNT0RFX1NIRlQgMTEKKyNkZWZpbmUgVVZIX1JUQzJfSU5UX0NPTkZJR19ERVNUTU9ERV9NQVNLIDB4MDAwMDAwMDAwMDAwMDgwMFVMCisjZGVmaW5lIFVWSF9SVEMyX0lOVF9DT05GSUdfU1RBVFVTX1NIRlQgMTIKKyNkZWZpbmUgVVZIX1JUQzJfSU5UX0NPTkZJR19TVEFUVVNfTUFTSyAweDAwMDAwMDAwMDAwMDEwMDBVTAorI2RlZmluZSBVVkhfUlRDMl9JTlRfQ09ORklHX1BfU0hGVCAxMworI2RlZmluZSBVVkhfUlRDMl9JTlRfQ09ORklHX1BfTUFTSyAweDAwMDAwMDAwMDAwMDIwMDBVTAorI2RlZmluZSBVVkhfUlRDMl9JTlRfQ09ORklHX1RfU0hGVCAxNQorI2RlZmluZSBVVkhfUlRDMl9JTlRfQ09ORklHX1RfTUFTSyAweDAwMDAwMDAwMDAwMDgwMDBVTAorI2RlZmluZSBVVkhfUlRDMl9JTlRfQ09ORklHX01fU0hGVCAxNgorI2RlZmluZSBVVkhfUlRDMl9JTlRfQ09ORklHX01fTUFTSyAweDAwMDAwMDAwMDAwMTAwMDBVTAorI2RlZmluZSBVVkhfUlRDMl9JTlRfQ09ORklHX0FQSUNfSURfU0hGVCAzMgorI2RlZmluZSBVVkhfUlRDMl9JTlRfQ09ORklHX0FQSUNfSURfTUFTSyAweGZmZmZmZmZmMDAwMDAwMDBVTAorCit1bmlvbiB1dmhfcnRjMl9pbnRfY29uZmlnX3UgeworICAgIHVuc2lnbmVkIGxvbmcJdjsKKyAgICBzdHJ1Y3QgdXZoX3J0YzJfaW50X2NvbmZpZ19zIHsKKwl1bnNpZ25lZCBsb25nCXZlY3Rvcl8gIDogIDg7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJZG0gICAgICAgOiAgMzsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlkZXN0bW9kZSA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXN0YXR1cyAgIDogIDE7ICAvKiBSTyAqLworCXVuc2lnbmVkIGxvbmcJcCAgICAgICAgOiAgMTsgIC8qIFJPICovCisJdW5zaWduZWQgbG9uZwlyc3ZkXzE0ICA6ICAxOyAgLyogICAgKi8KKwl1bnNpZ25lZCBsb25nCXQgICAgICAgIDogIDE7ICAvKiBSTyAqLworCXVuc2lnbmVkIGxvbmcJbSAgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlyc3ZkXzE3XzMxOiAxNTsgIC8qICAgICovCisJdW5zaWduZWQgbG9uZwlhcGljX2lkICA6IDMyOyAgLyogUlcgKi8KKyAgICB9IHM7Cit9OworCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisvKiAgICAgICAgICAgICAgICAgICAgICAgICAgIFVWSF9SVEMzX0lOVF9DT05GSUcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisjZGVmaW5lIFVWSF9SVEMzX0lOVF9DT05GSUcgMHg2MTY0MFVMCisKKyNkZWZpbmUgVVZIX1JUQzNfSU5UX0NPTkZJR19WRUNUT1JfU0hGVCAwCisjZGVmaW5lIFVWSF9SVEMzX0lOVF9DT05GSUdfVkVDVE9SX01BU0sgMHgwMDAwMDAwMDAwMDAwMGZmVUwKKyNkZWZpbmUgVVZIX1JUQzNfSU5UX0NPTkZJR19ETV9TSEZUIDgKKyNkZWZpbmUgVVZIX1JUQzNfSU5UX0NPTkZJR19ETV9NQVNLIDB4MDAwMDAwMDAwMDAwMDcwMFVMCisjZGVmaW5lIFVWSF9SVEMzX0lOVF9DT05GSUdfREVTVE1PREVfU0hGVCAxMQorI2RlZmluZSBVVkhfUlRDM19JTlRfQ09ORklHX0RFU1RNT0RFX01BU0sgMHgwMDAwMDAwMDAwMDAwODAwVUwKKyNkZWZpbmUgVVZIX1JUQzNfSU5UX0NPTkZJR19TVEFUVVNfU0hGVCAxMgorI2RlZmluZSBVVkhfUlRDM19JTlRfQ09ORklHX1NUQVRVU19NQVNLIDB4MDAwMDAwMDAwMDAwMTAwMFVMCisjZGVmaW5lIFVWSF9SVEMzX0lOVF9DT05GSUdfUF9TSEZUIDEzCisjZGVmaW5lIFVWSF9SVEMzX0lOVF9DT05GSUdfUF9NQVNLIDB4MDAwMDAwMDAwMDAwMjAwMFVMCisjZGVmaW5lIFVWSF9SVEMzX0lOVF9DT05GSUdfVF9TSEZUIDE1CisjZGVmaW5lIFVWSF9SVEMzX0lOVF9DT05GSUdfVF9NQVNLIDB4MDAwMDAwMDAwMDAwODAwMFVMCisjZGVmaW5lIFVWSF9SVEMzX0lOVF9DT05GSUdfTV9TSEZUIDE2CisjZGVmaW5lIFVWSF9SVEMzX0lOVF9DT05GSUdfTV9NQVNLIDB4MDAwMDAwMDAwMDAxMDAwMFVMCisjZGVmaW5lIFVWSF9SVEMzX0lOVF9DT05GSUdfQVBJQ19JRF9TSEZUIDMyCisjZGVmaW5lIFVWSF9SVEMzX0lOVF9DT05GSUdfQVBJQ19JRF9NQVNLIDB4ZmZmZmZmZmYwMDAwMDAwMFVMCisKK3VuaW9uIHV2aF9ydGMzX2ludF9jb25maWdfdSB7CisgICAgdW5zaWduZWQgbG9uZwl2OworICAgIHN0cnVjdCB1dmhfcnRjM19pbnRfY29uZmlnX3MgeworCXVuc2lnbmVkIGxvbmcJdmVjdG9yXyAgOiAgODsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlkbSAgICAgICA6ICAzOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWRlc3Rtb2RlIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJc3RhdHVzICAgOiAgMTsgIC8qIFJPICovCisJdW5zaWduZWQgbG9uZwlwICAgICAgICA6ICAxOyAgLyogUk8gKi8KKwl1bnNpZ25lZCBsb25nCXJzdmRfMTQgIDogIDE7ICAvKiAgICAqLworCXVuc2lnbmVkIGxvbmcJdCAgICAgICAgOiAgMTsgIC8qIFJPICovCisJdW5zaWduZWQgbG9uZwltICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXJzdmRfMTdfMzE6IDE1OyAgLyogICAgKi8KKwl1bnNpZ25lZCBsb25nCWFwaWNfaWQgIDogMzI7ICAvKiBSVyAqLworICAgIH0gczsKK307CisKKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVWSF9SVENfSU5DX1JBVElPICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKyNkZWZpbmUgVVZIX1JUQ19JTkNfUkFUSU8gMHgzNTAwMDBVTAorCisjZGVmaW5lIFVWSF9SVENfSU5DX1JBVElPX0ZSQUNUSU9OX1NIRlQgMAorI2RlZmluZSBVVkhfUlRDX0lOQ19SQVRJT19GUkFDVElPTl9NQVNLIDB4MDAwMDAwMDAwMDBmZmZmZlVMCisjZGVmaW5lIFVWSF9SVENfSU5DX1JBVElPX1JBVElPX1NIRlQgMjAKKyNkZWZpbmUgVVZIX1JUQ19JTkNfUkFUSU9fUkFUSU9fTUFTSyAweDAwMDAwMDAwMDA3MDAwMDBVTAorCit1bmlvbiB1dmhfcnRjX2luY19yYXRpb191IHsKKyAgICB1bnNpZ25lZCBsb25nCXY7CisgICAgc3RydWN0IHV2aF9ydGNfaW5jX3JhdGlvX3MgeworCXVuc2lnbmVkIGxvbmcJZnJhY3Rpb24gOiAyMDsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlyYXRpbyAgICA6ICAzOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXJzdmRfMjNfNjM6IDQxOyAgLyogICAgKi8KKyAgICB9IHM7Cit9OworCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAvKiAgICAgICAgICAgICAgICAgICAgICAgICAgVVZIX1NJX0FERFJfTUFQX0NPTkZJRyAgICAgICAgICAgICAgICAgICAgICAgICAgICovCiAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAjZGVmaW5lIFVWSF9TSV9BRERSX01BUF9DT05GSUcgMHhjODAwMDBVTApAQCAtMzY5LDUgKzEyMTksNzcgQEAKICAgICB9IHM7CiB9OwogCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisvKiAgICAgICAgICAgICAgICAgICAgICAgVVZIX1NJX0FMSUFTMF9PVkVSTEFZX0NPTkZJRyAgICAgICAgICAgICAgICAgICAgICAgICovCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisjZGVmaW5lIFVWSF9TSV9BTElBUzBfT1ZFUkxBWV9DT05GSUcgMHhjODAwMDhVTAorCisjZGVmaW5lIFVWSF9TSV9BTElBUzBfT1ZFUkxBWV9DT05GSUdfQkFTRV9TSEZUIDI0CisjZGVmaW5lIFVWSF9TSV9BTElBUzBfT1ZFUkxBWV9DT05GSUdfQkFTRV9NQVNLIDB4MDAwMDAwMDBmZjAwMDAwMFVMCisjZGVmaW5lIFVWSF9TSV9BTElBUzBfT1ZFUkxBWV9DT05GSUdfTV9BTElBU19TSEZUIDQ4CisjZGVmaW5lIFVWSF9TSV9BTElBUzBfT1ZFUkxBWV9DT05GSUdfTV9BTElBU19NQVNLIDB4MDAxZjAwMDAwMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9TSV9BTElBUzBfT1ZFUkxBWV9DT05GSUdfRU5BQkxFX1NIRlQgNjMKKyNkZWZpbmUgVVZIX1NJX0FMSUFTMF9PVkVSTEFZX0NPTkZJR19FTkFCTEVfTUFTSyAweDgwMDAwMDAwMDAwMDAwMDBVTAorCit1bmlvbiB1dmhfc2lfYWxpYXMwX292ZXJsYXlfY29uZmlnX3UgeworICAgIHVuc2lnbmVkIGxvbmcJdjsKKyAgICBzdHJ1Y3QgdXZoX3NpX2FsaWFzMF9vdmVybGF5X2NvbmZpZ19zIHsKKwl1bnNpZ25lZCBsb25nCXJzdmRfMF8yMzogMjQ7ICAvKiAgICAqLworCXVuc2lnbmVkIGxvbmcJYmFzZSAgICA6ICA4OyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXJzdmRfMzJfNDc6IDE2OyAgLyogICAgKi8KKwl1bnNpZ25lZCBsb25nCW1fYWxpYXMgOiAgNTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlyc3ZkXzUzXzYyOiAxMDsgIC8qICAgICovCisJdW5zaWduZWQgbG9uZwllbmFibGUgIDogIDE7ICAvKiBSVyAqLworICAgIH0gczsKK307CisKKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICBVVkhfU0lfQUxJQVMxX09WRVJMQVlfQ09ORklHICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKyNkZWZpbmUgVVZIX1NJX0FMSUFTMV9PVkVSTEFZX0NPTkZJRyAweGM4MDAxMFVMCisKKyNkZWZpbmUgVVZIX1NJX0FMSUFTMV9PVkVSTEFZX0NPTkZJR19CQVNFX1NIRlQgMjQKKyNkZWZpbmUgVVZIX1NJX0FMSUFTMV9PVkVSTEFZX0NPTkZJR19CQVNFX01BU0sgMHgwMDAwMDAwMGZmMDAwMDAwVUwKKyNkZWZpbmUgVVZIX1NJX0FMSUFTMV9PVkVSTEFZX0NPTkZJR19NX0FMSUFTX1NIRlQgNDgKKyNkZWZpbmUgVVZIX1NJX0FMSUFTMV9PVkVSTEFZX0NPTkZJR19NX0FMSUFTX01BU0sgMHgwMDFmMDAwMDAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX1NJX0FMSUFTMV9PVkVSTEFZX0NPTkZJR19FTkFCTEVfU0hGVCA2MworI2RlZmluZSBVVkhfU0lfQUxJQVMxX09WRVJMQVlfQ09ORklHX0VOQUJMRV9NQVNLIDB4ODAwMDAwMDAwMDAwMDAwMFVMCisKK3VuaW9uIHV2aF9zaV9hbGlhczFfb3ZlcmxheV9jb25maWdfdSB7CisgICAgdW5zaWduZWQgbG9uZwl2OworICAgIHN0cnVjdCB1dmhfc2lfYWxpYXMxX292ZXJsYXlfY29uZmlnX3MgeworCXVuc2lnbmVkIGxvbmcJcnN2ZF8wXzIzOiAyNDsgIC8qICAgICovCisJdW5zaWduZWQgbG9uZwliYXNlICAgIDogIDg7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJcnN2ZF8zMl80NzogMTY7ICAvKiAgICAqLworCXVuc2lnbmVkIGxvbmcJbV9hbGlhcyA6ICA1OyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXJzdmRfNTNfNjI6IDEwOyAgLyogICAgKi8KKwl1bnNpZ25lZCBsb25nCWVuYWJsZSAgOiAgMTsgIC8qIFJXICovCisgICAgfSBzOworfTsKKworLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworLyogICAgICAgICAgICAgICAgICAgICAgIFVWSF9TSV9BTElBUzJfT1ZFUkxBWV9DT05GSUcgICAgICAgICAgICAgICAgICAgICAgICAqLworLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworI2RlZmluZSBVVkhfU0lfQUxJQVMyX09WRVJMQVlfQ09ORklHIDB4YzgwMDE4VUwKKworI2RlZmluZSBVVkhfU0lfQUxJQVMyX09WRVJMQVlfQ09ORklHX0JBU0VfU0hGVCAyNAorI2RlZmluZSBVVkhfU0lfQUxJQVMyX09WRVJMQVlfQ09ORklHX0JBU0VfTUFTSyAweDAwMDAwMDAwZmYwMDAwMDBVTAorI2RlZmluZSBVVkhfU0lfQUxJQVMyX09WRVJMQVlfQ09ORklHX01fQUxJQVNfU0hGVCA0OAorI2RlZmluZSBVVkhfU0lfQUxJQVMyX09WRVJMQVlfQ09ORklHX01fQUxJQVNfTUFTSyAweDAwMWYwMDAwMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfU0lfQUxJQVMyX09WRVJMQVlfQ09ORklHX0VOQUJMRV9TSEZUIDYzCisjZGVmaW5lIFVWSF9TSV9BTElBUzJfT1ZFUkxBWV9DT05GSUdfRU5BQkxFX01BU0sgMHg4MDAwMDAwMDAwMDAwMDAwVUwKKwordW5pb24gdXZoX3NpX2FsaWFzMl9vdmVybGF5X2NvbmZpZ191IHsKKyAgICB1bnNpZ25lZCBsb25nCXY7CisgICAgc3RydWN0IHV2aF9zaV9hbGlhczJfb3ZlcmxheV9jb25maWdfcyB7CisJdW5zaWduZWQgbG9uZwlyc3ZkXzBfMjM6IDI0OyAgLyogICAgKi8KKwl1bnNpZ25lZCBsb25nCWJhc2UgICAgOiAgODsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlyc3ZkXzMyXzQ3OiAxNjsgIC8qICAgICovCisJdW5zaWduZWQgbG9uZwltX2FsaWFzIDogIDU7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJcnN2ZF81M182MjogMTA7ICAvKiAgICAqLworCXVuc2lnbmVkIGxvbmcJZW5hYmxlICA6ICAxOyAgLyogUlcgKi8KKyAgICB9IHM7Cit9OworCiAKICNlbmRpZiAvKiBfX0FTTV9YODZfVVZfTU1SU19fICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvbWFjaC12aXN3cy9jb2JhbHQuaCBiL2luY2x1ZGUvYXNtLXg4Ni92aXN3cy9jb2JhbHQuaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gaW5jbHVkZS9hc20teDg2L21hY2gtdmlzd3MvY29iYWx0LmgKcmVuYW1lIHRvIGluY2x1ZGUvYXNtLXg4Ni92aXN3cy9jb2JhbHQuaApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L21hY2gtdmlzd3MvbGl0aGl1bS5oIGIvaW5jbHVkZS9hc20teDg2L3Zpc3dzL2xpdGhpdW0uaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gaW5jbHVkZS9hc20teDg2L21hY2gtdmlzd3MvbGl0aGl1bS5oCnJlbmFtZSB0byBpbmNsdWRlL2FzbS14ODYvdmlzd3MvbGl0aGl1bS5oCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvbWFjaC12aXN3cy9waWl4NC5oIGIvaW5jbHVkZS9hc20teDg2L3Zpc3dzL3BpaXg0LmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGluY2x1ZGUvYXNtLXg4Ni9tYWNoLXZpc3dzL3BpaXg0LmgKcmVuYW1lIHRvIGluY2x1ZGUvYXNtLXg4Ni92aXN3cy9waWl4NC5oCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvdmlzd3Mvc2dpdncuaCBiL2luY2x1ZGUvYXNtLXg4Ni92aXN3cy9zZ2l2dy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVmYmY2M2UKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS14ODYvdmlzd3Mvc2dpdncuaApAQCAtMCwwICsxLDUgQEAKKy8qCisgKiBGcmFtZSBidWZmZXIgcG9zaXRpb24gYW5kIHNpemU6CisgKi8KK2V4dGVybiB1bnNpZ25lZCBsb25nIHNnaXZ3ZmJfbWVtX3BoeXM7CitleHRlcm4gdW5zaWduZWQgbG9uZyBzZ2l2d2ZiX21lbV9zaXplOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3ZtODYuaCBiL2luY2x1ZGUvYXNtLXg4Ni92bTg2LmgKaW5kZXggMDc0YjM1Ny4uNWNlMzUxMyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L3ZtODYuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvdm04Ni5oCkBAIC0xNCwxMiArMTQsNiBAQAogCiAjaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci1mbGFncy5oPgogCi0jaWZkZWYgQ09ORklHX1ZNODYKLSNkZWZpbmUgWDg2X1ZNX01BU0sJWDg2X0VGTEFHU19WTQotI2Vsc2UKLSNkZWZpbmUgWDg2X1ZNX01BU0sJMCAvKiBObyBWTTg2IHN1cHBvcnQgKi8KLSNlbmRpZgotCiAjZGVmaW5lIEJJT1NTRUcJCTB4MGYwMDAKIAogI2RlZmluZSBDUFVfMDg2CQkwCkBAIC0xMjEsNyArMTE1LDYgQEAKIAl1bnNpZ25lZCBsb25nIGlzX3ZtODZwdXM6MTsJICAgICAgLyogZm9yIHZtODYgaW50ZXJuYWwgdXNlICovCiAJdW5zaWduZWQgY2hhciB2bTg2ZGJnX2ludHh4dGFiWzMyXTsgICAvKiBmb3IgZGVidWdnZXIgKi8KIH07Ci0KIHN0cnVjdCB2bTg2cGx1c19zdHJ1Y3QgewogCXN0cnVjdCB2bTg2X3JlZ3MgcmVnczsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwpAQCAtMTMzLDYgKzEyNiw5IEBACiB9OwogCiAjaWZkZWYgX19LRVJORUxfXworCisjaW5jbHVkZSA8YXNtL3B0cmFjZS5oPgorCiAvKgogICogVGhpcyBpcyB0aGUgKGtlcm5lbCkgc3RhY2stbGF5b3V0IHdoZW4gd2UgaGF2ZSBkb25lIGEgIlNBVkVfQUxMIiBmcm9tIHZtODYKICAqIG1vZGUgLSB0aGUgbWFpbiBjaGFuZ2UgaXMgdGhhdCB0aGUgb2xkIHNlZ21lbnQgZGVzY3JpcHRvcnMgYXJlbid0CkBAIC0xNDEsNyArMTM3LDYgQEAKICAqIGF0IHRoZSBlbmQgb2YgdGhlIHN0cnVjdHVyZS4gTG9vayBhdCBwdHJhY2UuaCB0byBzZWUgdGhlICJub3JtYWwiCiAgKiBzZXR1cC4gRm9yIHVzZXIgc3BhY2UgbGF5b3V0IHNlZSAnc3RydWN0IHZtODZfcmVncycgYWJvdmUuCiAgKi8KLSNpbmNsdWRlIDxhc20vcHRyYWNlLmg+CiAKIHN0cnVjdCBrZXJuZWxfdm04Nl9yZWdzIHsKIC8qCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvdm1pX3RpbWUuaCBiL2luY2x1ZGUvYXNtLXg4Ni92bWlfdGltZS5oCmluZGV4IDQ3ODE4ODEuLmMzMTE4YzMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni92bWlfdGltZS5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni92bWlfdGltZS5oCkBAIC01MCw3ICs1MCw3IEBACiBleHRlcm4gdW5zaWduZWQgbG9uZyB2bWlfZ2V0X3dhbGxjbG9jayh2b2lkKTsKIGV4dGVybiBpbnQgdm1pX3NldF93YWxsY2xvY2sodW5zaWduZWQgbG9uZyBub3cpOwogZXh0ZXJuIHVuc2lnbmVkIGxvbmcgbG9uZyB2bWlfc2NoZWRfY2xvY2sodm9pZCk7Ci1leHRlcm4gdW5zaWduZWQgbG9uZyB2bWlfY3B1X2toeih2b2lkKTsKK2V4dGVybiB1bnNpZ25lZCBsb25nIHZtaV90c2Nfa2h6KHZvaWQpOwogCiAjaWZkZWYgQ09ORklHX1g4Nl9MT0NBTF9BUElDCiBleHRlcm4gdm9pZCBfX2RldmluaXQgdm1pX3RpbWVfYnNwX2luaXQodm9pZCk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvdnN5c2NhbGwuaCBiL2luY2x1ZGUvYXNtLXg4Ni92c3lzY2FsbC5oCmluZGV4IDE3YjM3MDAuLjZiNjZmZjkgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni92c3lzY2FsbC5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni92c3lzY2FsbC5oCkBAIC0yNCw3ICsyNCw4IEBACiAJKCh1bnVzZWQsIF9fc2VjdGlvbl9fICgiLnZzeXNjYWxsX2d0b2RfZGF0YSIpLGFsaWduZWQoMTYpKSkKICNkZWZpbmUgX19zZWN0aW9uX3ZzeXNjYWxsX2Nsb2NrIF9fYXR0cmlidXRlX18gXAogCSgodW51c2VkLCBfX3NlY3Rpb25fXyAoIi52c3lzY2FsbF9jbG9jayIpLGFsaWduZWQoMTYpKSkKLSNkZWZpbmUgX192c3lzY2FsbF9mbiBfX2F0dHJpYnV0ZV9fICgodW51c2VkLF9fc2VjdGlvbl9fKCIudnN5c2NhbGxfZm4iKSkpCisjZGVmaW5lIF9fdnN5c2NhbGxfZm4gXAorCV9fYXR0cmlidXRlX18gKCh1bnVzZWQsIF9fc2VjdGlvbl9fKCIudnN5c2NhbGxfZm4iKSkpIG5vdHJhY2UKIAogI2RlZmluZSBWR0VUQ1BVX1JEVFNDUAkxCiAjZGVmaW5lIFZHRVRDUFVfTFNMCTIKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni94ZW4vZXZlbnRzLmggYi9pbmNsdWRlL2FzbS14ODYveGVuL2V2ZW50cy5oCmluZGV4IDU5NjMxMmEuLmY4ZDU3ZWEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni94ZW4vZXZlbnRzLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3hlbi9ldmVudHMuaApAQCAtNCw2ICs0LDcgQEAKIGVudW0gaXBpX3ZlY3RvciB7CiAJWEVOX1JFU0NIRURVTEVfVkVDVE9SLAogCVhFTl9DQUxMX0ZVTkNUSU9OX1ZFQ1RPUiwKKwlYRU5fQ0FMTF9GVU5DVElPTl9TSU5HTEVfVkVDVE9SLAogCiAJWEVOX05SX0lQSVMsCiB9OwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3hlbi9oeXBlcmNhbGwuaCBiL2luY2x1ZGUvYXNtLXg4Ni94ZW4vaHlwZXJjYWxsLmgKaW5kZXggYzJjY2Q5OS4uMmE0ZjliNCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L3hlbi9oeXBlcmNhbGwuaAorKysgYi9pbmNsdWRlL2FzbS14ODYveGVuL2h5cGVyY2FsbC5oCkBAIC0xNzYsOSArMTc2LDkgQEAKIH0KIAogc3RhdGljIGlubGluZSBpbnQKLUhZUEVSVklTT1Jfc2NoZWRfb3AoaW50IGNtZCwgdW5zaWduZWQgbG9uZyBhcmcpCitIWVBFUlZJU09SX3NjaGVkX29wKGludCBjbWQsIHZvaWQgKmFyZykKIHsKLQlyZXR1cm4gX2h5cGVyY2FsbDIoaW50LCBzY2hlZF9vcCwgY21kLCBhcmcpOworCXJldHVybiBfaHlwZXJjYWxsMihpbnQsIHNjaGVkX29wX25ldywgY21kLCBhcmcpOwogfQogCiBzdGF0aWMgaW5saW5lIGxvbmcKQEAgLTMxNSw2ICszMTUsMTMgQEAKIH0KIAogc3RhdGljIGlubGluZSB2b2lkCitNVUxUSV9mcHVfdGFza3N3aXRjaChzdHJ1Y3QgbXVsdGljYWxsX2VudHJ5ICptY2wsIGludCBzZXQpCit7CisJbWNsLT5vcCA9IF9fSFlQRVJWSVNPUl9mcHVfdGFza3N3aXRjaDsKKwltY2wtPmFyZ3NbMF0gPSBzZXQ7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZAogTVVMVElfdXBkYXRlX3ZhX21hcHBpbmcoc3RydWN0IG11bHRpY2FsbF9lbnRyeSAqbWNsLCB1bnNpZ25lZCBsb25nIHZhLAogCQkJcHRlX3QgbmV3X3ZhbCwgdW5zaWduZWQgbG9uZyBmbGFncykKIHsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni94ZW4vcGFnZS5oIGIvaW5jbHVkZS9hc20teDg2L3hlbi9wYWdlLmgKaW5kZXggZTExZjI0MC4uMzc3YzA0NSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L3hlbi9wYWdlLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3hlbi9wYWdlLmgKQEAgLTI2LDE1ICsyNiwyMCBAQAogI2RlZmluZSBGT1JFSUdOX0ZSQU1FX0JJVAkoMVVMPDwzMSkKICNkZWZpbmUgRk9SRUlHTl9GUkFNRShtKQkoKG0pIHwgRk9SRUlHTl9GUkFNRV9CSVQpCiAKLWV4dGVybiB1bnNpZ25lZCBsb25nICpwaHlzX3RvX21hY2hpbmVfbWFwcGluZzsKKy8qIE1heGltdW0gYW1vdW50IG9mIG1lbW9yeSB3ZSBjYW4gaGFuZGxlIGluIGEgZG9tYWluIGluIHBhZ2VzICovCisjZGVmaW5lIE1BWF9ET01BSU5fUEFHRVMJCQkJCQlcCisgICAgKCh1bnNpZ25lZCBsb25nKSgodTY0KUNPTkZJR19YRU5fTUFYX0RPTUFJTl9NRU1PUlkgKiAxMDI0ICogMTAyNCAqIDEwMjQgLyBQQUdFX1NJWkUpKQorCisKK2V4dGVybiB1bnNpZ25lZCBsb25nIGdldF9waHlzX3RvX21hY2hpbmUodW5zaWduZWQgbG9uZyBwZm4pOworZXh0ZXJuIHZvaWQgc2V0X3BoeXNfdG9fbWFjaGluZSh1bnNpZ25lZCBsb25nIHBmbiwgdW5zaWduZWQgbG9uZyBtZm4pOwogCiBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgcGZuX3RvX21mbih1bnNpZ25lZCBsb25nIHBmbikKIHsKIAlpZiAoeGVuX2ZlYXR1cmUoWEVORkVBVF9hdXRvX3RyYW5zbGF0ZWRfcGh5c21hcCkpCiAJCXJldHVybiBwZm47CiAKLQlyZXR1cm4gcGh5c190b19tYWNoaW5lX21hcHBpbmdbKHVuc2lnbmVkIGludCkocGZuKV0gJgotCQl+Rk9SRUlHTl9GUkFNRV9CSVQ7CisJcmV0dXJuIGdldF9waHlzX3RvX21hY2hpbmUocGZuKSAmIH5GT1JFSUdOX0ZSQU1FX0JJVDsKIH0KIAogc3RhdGljIGlubGluZSBpbnQgcGh5c190b19tYWNoaW5lX21hcHBpbmdfdmFsaWQodW5zaWduZWQgbG9uZyBwZm4pCkBAIC00Miw3ICs0Nyw3IEBACiAJaWYgKHhlbl9mZWF0dXJlKFhFTkZFQVRfYXV0b190cmFuc2xhdGVkX3BoeXNtYXApKQogCQlyZXR1cm4gMTsKIAotCXJldHVybiAocGh5c190b19tYWNoaW5lX21hcHBpbmdbcGZuXSAhPSBJTlZBTElEX1AyTV9FTlRSWSk7CisJcmV0dXJuIGdldF9waHlzX3RvX21hY2hpbmUocGZuKSAhPSBJTlZBTElEX1AyTV9FTlRSWTsKIH0KIAogc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIG1mbl90b19wZm4odW5zaWduZWQgbG9uZyBtZm4pCkBAIC0xMDYsMjAgKzExMSwxMiBAQAogCXVuc2lnbmVkIGxvbmcgcGZuID0gbWZuX3RvX3BmbihtZm4pOwogCWlmICgocGZuIDwgbWF4X21hcG5yKQogCSAgICAmJiAheGVuX2ZlYXR1cmUoWEVORkVBVF9hdXRvX3RyYW5zbGF0ZWRfcGh5c21hcCkKLQkgICAgJiYgKHBoeXNfdG9fbWFjaGluZV9tYXBwaW5nW3Bmbl0gIT0gbWZuKSkKKwkgICAgJiYgKGdldF9waHlzX3RvX21hY2hpbmUocGZuKSAhPSBtZm4pKQogCQlyZXR1cm4gbWF4X21hcG5yOyAvKiBmb3JjZSAhcGZuX3ZhbGlkKCkgKi8KKwkvKiBYWFggZml4bWU7IG5vdCB0cnVlIHdpdGggc3BhcnNlbWVtICovCiAJcmV0dXJuIHBmbjsKIH0KIAotc3RhdGljIGlubGluZSB2b2lkIHNldF9waHlzX3RvX21hY2hpbmUodW5zaWduZWQgbG9uZyBwZm4sIHVuc2lnbmVkIGxvbmcgbWZuKQotewotCWlmICh4ZW5fZmVhdHVyZShYRU5GRUFUX2F1dG9fdHJhbnNsYXRlZF9waHlzbWFwKSkgewotCQlCVUdfT04ocGZuICE9IG1mbiAmJiBtZm4gIT0gSU5WQUxJRF9QMk1fRU5UUlkpOwotCQlyZXR1cm47Ci0JfQotCXBoeXNfdG9fbWFjaGluZV9tYXBwaW5nW3Bmbl0gPSBtZm47Ci19Ci0KIC8qIFZJUlQgPC0+IE1BQ0hJTkUgY29udmVyc2lvbiAqLwogI2RlZmluZSB2aXJ0X3RvX21hY2hpbmUodikJKHBoeXNfdG9fbWFjaGluZShYUEFERFIoX19wYSh2KSkpKQogI2RlZmluZSB2aXJ0X3RvX21mbih2KQkJKHBmbl90b19tZm4oUEZOX0RPV04oX19wYSh2KSkpKQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3hvcl8zMi5oIGIvaW5jbHVkZS9hc20teDg2L3hvcl8zMi5oCmluZGV4IDA2N2I1YzEuLjkyMWI0NTggMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni94b3JfMzIuaAorKysgYi9pbmNsdWRlL2FzbS14ODYveG9yXzMyLmgKQEAgLTEsMyArMSw2IEBACisjaWZuZGVmIEFTTV9YODZfX1hPUl8zMl9ICisjZGVmaW5lIEFTTV9YODZfX1hPUl8zMl9ICisKIC8qCiAgKiBPcHRpbWl6ZWQgUkFJRC01IGNoZWNrc3VtbWluZyBmdW5jdGlvbnMgZm9yIE1NWCBhbmQgU1NFLgogICoKQEAgLTg4MSwzICs4ODQsNSBAQAogICAgZGVhbHMgd2l0aCBhIGxvYWQgdG8gYSBsaW5lIHRoYXQgaXMgYmVpbmcgcHJlZmV0Y2hlZC4gICovCiAjZGVmaW5lIFhPUl9TRUxFQ1RfVEVNUExBVEUoRkFTVEVTVCkJCQlcCiAJKGNwdV9oYXNfeG1tID8gJnhvcl9ibG9ja19wSUlJX3NzZSA6IEZBU1RFU1QpCisKKyNlbmRpZiAvKiBBU01fWDg2X19YT1JfMzJfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3hvcl82NC5oIGIvaW5jbHVkZS9hc20teDg2L3hvcl82NC5oCmluZGV4IDI0OTU3ZTMuLjJkM2ExOGQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni94b3JfNjQuaAorKysgYi9pbmNsdWRlL2FzbS14ODYveG9yXzY0LmgKQEAgLTEsMyArMSw2IEBACisjaWZuZGVmIEFTTV9YODZfX1hPUl82NF9ICisjZGVmaW5lIEFTTV9YODZfX1hPUl82NF9ICisKIC8qCiAgKiBPcHRpbWl6ZWQgUkFJRC01IGNoZWNrc3VtbWluZyBmdW5jdGlvbnMgZm9yIE1NWCBhbmQgU1NFLgogICoKQEAgLTM1NCwzICszNTcsNSBAQAogICAgV2UgbWF5IGFsc28gYmUgYWJsZSB0byBsb2FkIGludG8gdGhlIEwxIG9ubHkgZGVwZW5kaW5nIG9uIGhvdyB0aGUgY3B1CiAgICBkZWFscyB3aXRoIGEgbG9hZCB0byBhIGxpbmUgdGhhdCBpcyBiZWluZyBwcmVmZXRjaGVkLiAgKi8KICNkZWZpbmUgWE9SX1NFTEVDVF9URU1QTEFURShGQVNURVNUKSAoJnhvcl9ibG9ja19zc2UpCisKKyNlbmRpZiAvKiBBU01fWDg2X19YT1JfNjRfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9jcnlwdG8vaGFzaC5oIGIvaW5jbHVkZS9jcnlwdG8vaGFzaC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQxMjQ5OGUKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2NyeXB0by9oYXNoLmgKQEAgLTAsMCArMSwxNTQgQEAKKy8qCisgKiBIYXNoOiBIYXNoIGFsZ29yaXRobXMgdW5kZXIgdGhlIGNyeXB0byBBUEkKKyAqIAorICogQ29weXJpZ2h0IChjKSAyMDA4IEhlcmJlcnQgWHUgPGhlcmJlcnRAZ29uZG9yLmFwYW5hLm9yZy5hdT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAorICogdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUKKyAqIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgCisgKiBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKi8KKworI2lmbmRlZiBfQ1JZUFRPX0hBU0hfSAorI2RlZmluZSBfQ1JZUFRPX0hBU0hfSAorCisjaW5jbHVkZSA8bGludXgvY3J5cHRvLmg+CisKK3N0cnVjdCBjcnlwdG9fYWhhc2ggeworCXN0cnVjdCBjcnlwdG9fdGZtIGJhc2U7Cit9OworCitzdGF0aWMgaW5saW5lIHN0cnVjdCBjcnlwdG9fYWhhc2ggKl9fY3J5cHRvX2FoYXNoX2Nhc3Qoc3RydWN0IGNyeXB0b190Zm0gKnRmbSkKK3sKKwlyZXR1cm4gKHN0cnVjdCBjcnlwdG9fYWhhc2ggKil0Zm07Cit9CisKK3N0YXRpYyBpbmxpbmUgc3RydWN0IGNyeXB0b19haGFzaCAqY3J5cHRvX2FsbG9jX2FoYXNoKGNvbnN0IGNoYXIgKmFsZ19uYW1lLAorCQkJCQkJICAgICAgdTMyIHR5cGUsIHUzMiBtYXNrKQoreworCXR5cGUgJj0gfkNSWVBUT19BTEdfVFlQRV9NQVNLOworCW1hc2sgJj0gfkNSWVBUT19BTEdfVFlQRV9NQVNLOworCXR5cGUgfD0gQ1JZUFRPX0FMR19UWVBFX0FIQVNIOworCW1hc2sgfD0gQ1JZUFRPX0FMR19UWVBFX0FIQVNIX01BU0s7CisKKwlyZXR1cm4gX19jcnlwdG9fYWhhc2hfY2FzdChjcnlwdG9fYWxsb2NfYmFzZShhbGdfbmFtZSwgdHlwZSwgbWFzaykpOworfQorCitzdGF0aWMgaW5saW5lIHN0cnVjdCBjcnlwdG9fdGZtICpjcnlwdG9fYWhhc2hfdGZtKHN0cnVjdCBjcnlwdG9fYWhhc2ggKnRmbSkKK3sKKwlyZXR1cm4gJnRmbS0+YmFzZTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGNyeXB0b19mcmVlX2FoYXNoKHN0cnVjdCBjcnlwdG9fYWhhc2ggKnRmbSkKK3sKKwljcnlwdG9fZnJlZV90Zm0oY3J5cHRvX2FoYXNoX3RmbSh0Zm0pKTsKK30KKworc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgY3J5cHRvX2FoYXNoX2FsaWdubWFzaygKKwlzdHJ1Y3QgY3J5cHRvX2FoYXNoICp0Zm0pCit7CisJcmV0dXJuIGNyeXB0b190Zm1fYWxnX2FsaWdubWFzayhjcnlwdG9fYWhhc2hfdGZtKHRmbSkpOworfQorCitzdGF0aWMgaW5saW5lIHN0cnVjdCBhaGFzaF90Zm0gKmNyeXB0b19haGFzaF9jcnQoc3RydWN0IGNyeXB0b19haGFzaCAqdGZtKQoreworCXJldHVybiAmY3J5cHRvX2FoYXNoX3RmbSh0Zm0pLT5jcnRfYWhhc2g7Cit9CisKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IGNyeXB0b19haGFzaF9kaWdlc3RzaXplKHN0cnVjdCBjcnlwdG9fYWhhc2ggKnRmbSkKK3sKKwlyZXR1cm4gY3J5cHRvX2FoYXNoX2NydCh0Zm0pLT5kaWdlc3RzaXplOworfQorCitzdGF0aWMgaW5saW5lIHUzMiBjcnlwdG9fYWhhc2hfZ2V0X2ZsYWdzKHN0cnVjdCBjcnlwdG9fYWhhc2ggKnRmbSkKK3sKKwlyZXR1cm4gY3J5cHRvX3RmbV9nZXRfZmxhZ3MoY3J5cHRvX2FoYXNoX3RmbSh0Zm0pKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGNyeXB0b19haGFzaF9zZXRfZmxhZ3Moc3RydWN0IGNyeXB0b19haGFzaCAqdGZtLCB1MzIgZmxhZ3MpCit7CisJY3J5cHRvX3RmbV9zZXRfZmxhZ3MoY3J5cHRvX2FoYXNoX3RmbSh0Zm0pLCBmbGFncyk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBjcnlwdG9fYWhhc2hfY2xlYXJfZmxhZ3Moc3RydWN0IGNyeXB0b19haGFzaCAqdGZtLCB1MzIgZmxhZ3MpCit7CisJY3J5cHRvX3RmbV9jbGVhcl9mbGFncyhjcnlwdG9fYWhhc2hfdGZtKHRmbSksIGZsYWdzKTsKK30KKworc3RhdGljIGlubGluZSBzdHJ1Y3QgY3J5cHRvX2FoYXNoICpjcnlwdG9fYWhhc2hfcmVxdGZtKAorCXN0cnVjdCBhaGFzaF9yZXF1ZXN0ICpyZXEpCit7CisJcmV0dXJuIF9fY3J5cHRvX2FoYXNoX2Nhc3QocmVxLT5iYXNlLnRmbSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IGNyeXB0b19haGFzaF9yZXFzaXplKHN0cnVjdCBjcnlwdG9fYWhhc2ggKnRmbSkKK3sKKwlyZXR1cm4gY3J5cHRvX2FoYXNoX2NydCh0Zm0pLT5yZXFzaXplOworfQorCitzdGF0aWMgaW5saW5lIGludCBjcnlwdG9fYWhhc2hfc2V0a2V5KHN0cnVjdCBjcnlwdG9fYWhhc2ggKnRmbSwKKwkJCQkgICAgICBjb25zdCB1OCAqa2V5LCB1bnNpZ25lZCBpbnQga2V5bGVuKQoreworCXN0cnVjdCBhaGFzaF90Zm0gKmNydCA9IGNyeXB0b19haGFzaF9jcnQodGZtKTsKKworCXJldHVybiBjcnQtPnNldGtleSh0Zm0sIGtleSwga2V5bGVuKTsKK30KKworc3RhdGljIGlubGluZSBpbnQgY3J5cHRvX2FoYXNoX2RpZ2VzdChzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqcmVxKQoreworCXN0cnVjdCBhaGFzaF90Zm0gKmNydCA9IGNyeXB0b19haGFzaF9jcnQoY3J5cHRvX2FoYXNoX3JlcXRmbShyZXEpKTsKKwlyZXR1cm4gY3J0LT5kaWdlc3QocmVxKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGFoYXNoX3JlcXVlc3Rfc2V0X3RmbShzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqcmVxLAorCQkJCQkgc3RydWN0IGNyeXB0b19haGFzaCAqdGZtKQoreworCXJlcS0+YmFzZS50Zm0gPSBjcnlwdG9fYWhhc2hfdGZtKHRmbSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgc3RydWN0IGFoYXNoX3JlcXVlc3QgKmFoYXNoX3JlcXVlc3RfYWxsb2MoCisJc3RydWN0IGNyeXB0b19haGFzaCAqdGZtLCBnZnBfdCBnZnApCit7CisJc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcTsKKworCXJlcSA9IGttYWxsb2Moc2l6ZW9mKHN0cnVjdCBhaGFzaF9yZXF1ZXN0KSArCisJCSAgICAgIGNyeXB0b19haGFzaF9yZXFzaXplKHRmbSksIGdmcCk7CisKKwlpZiAobGlrZWx5KHJlcSkpCisJCWFoYXNoX3JlcXVlc3Rfc2V0X3RmbShyZXEsIHRmbSk7CisKKwlyZXR1cm4gcmVxOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgYWhhc2hfcmVxdWVzdF9mcmVlKHN0cnVjdCBhaGFzaF9yZXF1ZXN0ICpyZXEpCit7CisJa2ZyZWUocmVxKTsKK30KKworc3RhdGljIGlubGluZSBzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqYWhhc2hfcmVxdWVzdF9jYXN0KAorCXN0cnVjdCBjcnlwdG9fYXN5bmNfcmVxdWVzdCAqcmVxKQoreworCXJldHVybiBjb250YWluZXJfb2YocmVxLCBzdHJ1Y3QgYWhhc2hfcmVxdWVzdCwgYmFzZSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBhaGFzaF9yZXF1ZXN0X3NldF9jYWxsYmFjayhzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqcmVxLAorCQkJCQkgICAgICB1MzIgZmxhZ3MsCisJCQkJCSAgICAgIGNyeXB0b19jb21wbGV0aW9uX3QgY29tcGxldGUsCisJCQkJCSAgICAgIHZvaWQgKmRhdGEpCit7CisJcmVxLT5iYXNlLmNvbXBsZXRlID0gY29tcGxldGU7CisJcmVxLT5iYXNlLmRhdGEgPSBkYXRhOworCXJlcS0+YmFzZS5mbGFncyA9IGZsYWdzOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgYWhhc2hfcmVxdWVzdF9zZXRfY3J5cHQoc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcSwKKwkJCQkJICAgc3RydWN0IHNjYXR0ZXJsaXN0ICpzcmMsIHU4ICpyZXN1bHQsCisJCQkJCSAgIHVuc2lnbmVkIGludCBuYnl0ZXMpCit7CisJcmVxLT5zcmMgPSBzcmM7CisJcmVxLT5uYnl0ZXMgPSBuYnl0ZXM7CisJcmVxLT5yZXN1bHQgPSByZXN1bHQ7Cit9CisKKyNlbmRpZgkvKiBfQ1JZUFRPX0hBU0hfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9jcnlwdG8vaW50ZXJuYWwvaGFzaC5oIGIvaW5jbHVkZS9jcnlwdG8vaW50ZXJuYWwvaGFzaC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkxN2FlNTcKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2NyeXB0by9pbnRlcm5hbC9oYXNoLmgKQEAgLTAsMCArMSw3OCBAQAorLyoKKyAqIEhhc2ggYWxnb3JpdGhtcy4KKyAqIAorICogQ29weXJpZ2h0IChjKSAyMDA4IEhlcmJlcnQgWHUgPGhlcmJlcnRAZ29uZG9yLmFwYW5hLm9yZy5hdT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAorICogdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUKKyAqIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgCisgKiBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKi8KKworI2lmbmRlZiBfQ1JZUFRPX0lOVEVSTkFMX0hBU0hfSAorI2RlZmluZSBfQ1JZUFRPX0lOVEVSTkFMX0hBU0hfSAorCisjaW5jbHVkZSA8Y3J5cHRvL2FsZ2FwaS5oPgorI2luY2x1ZGUgPGNyeXB0by9oYXNoLmg+CisKK3N0cnVjdCBhaGFzaF9yZXF1ZXN0Oworc3RydWN0IHNjYXR0ZXJsaXN0OworCitzdHJ1Y3QgY3J5cHRvX2hhc2hfd2FsayB7CisJY2hhciAqZGF0YTsKKworCXVuc2lnbmVkIGludCBvZmZzZXQ7CisJdW5zaWduZWQgaW50IGFsaWdubWFzazsKKworCXN0cnVjdCBwYWdlICpwZzsKKwl1bnNpZ25lZCBpbnQgZW50cnlsZW47CisKKwl1bnNpZ25lZCBpbnQgdG90YWw7CisJc3RydWN0IHNjYXR0ZXJsaXN0ICpzZzsKKworCXVuc2lnbmVkIGludCBmbGFnczsKK307CisKK2V4dGVybiBjb25zdCBzdHJ1Y3QgY3J5cHRvX3R5cGUgY3J5cHRvX2FoYXNoX3R5cGU7CisKK2ludCBjcnlwdG9faGFzaF93YWxrX2RvbmUoc3RydWN0IGNyeXB0b19oYXNoX3dhbGsgKndhbGssIGludCBlcnIpOworaW50IGNyeXB0b19oYXNoX3dhbGtfZmlyc3Qoc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcSwKKwkJCSAgIHN0cnVjdCBjcnlwdG9faGFzaF93YWxrICp3YWxrKTsKKworc3RhdGljIGlubGluZSB2b2lkICpjcnlwdG9fYWhhc2hfY3R4KHN0cnVjdCBjcnlwdG9fYWhhc2ggKnRmbSkKK3sKKwlyZXR1cm4gY3J5cHRvX3RmbV9jdHgoJnRmbS0+YmFzZSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgc3RydWN0IGFoYXNoX2FsZyAqY3J5cHRvX2FoYXNoX2FsZygKKwlzdHJ1Y3QgY3J5cHRvX2FoYXNoICp0Zm0pCit7CisJcmV0dXJuICZjcnlwdG9fYWhhc2hfdGZtKHRmbSktPl9fY3J0X2FsZy0+Y3JhX2FoYXNoOworfQorCitzdGF0aWMgaW5saW5lIGludCBhaGFzaF9lbnF1ZXVlX3JlcXVlc3Qoc3RydWN0IGNyeXB0b19xdWV1ZSAqcXVldWUsCisJCQkJCSAgICAgc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcXVlc3QpCit7CisJcmV0dXJuIGNyeXB0b19lbnF1ZXVlX3JlcXVlc3QocXVldWUsICZyZXF1ZXN0LT5iYXNlKTsKK30KKworc3RhdGljIGlubGluZSBzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqYWhhc2hfZGVxdWV1ZV9yZXF1ZXN0KAorCXN0cnVjdCBjcnlwdG9fcXVldWUgKnF1ZXVlKQoreworCXJldHVybiBhaGFzaF9yZXF1ZXN0X2Nhc3QoY3J5cHRvX2RlcXVldWVfcmVxdWVzdChxdWV1ZSkpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgKmFoYXNoX3JlcXVlc3RfY3R4KHN0cnVjdCBhaGFzaF9yZXF1ZXN0ICpyZXEpCit7CisJcmV0dXJuIHJlcS0+X19jdHg7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IGFoYXNoX3RmbV9pbl9xdWV1ZShzdHJ1Y3QgY3J5cHRvX3F1ZXVlICpxdWV1ZSwKKwkJCQkJICBzdHJ1Y3QgY3J5cHRvX2FoYXNoICp0Zm0pCit7CisJcmV0dXJuIGNyeXB0b190Zm1faW5fcXVldWUocXVldWUsIGNyeXB0b19haGFzaF90Zm0odGZtKSk7Cit9CisKKyNlbmRpZgkvKiBfQ1JZUFRPX0lOVEVSTkFMX0hBU0hfSCAqLworCmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9LYnVpbGQgYi9pbmNsdWRlL2RybS9LYnVpbGQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODJiNjk4MwotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvZHJtL0tidWlsZApAQCAtMCwwICsxLDEwIEBACit1bmlmZGVmLXkgKz0gZHJtLmggZHJtX3NhcmVhLmgKK3VuaWZkZWYteSArPSBpODEwX2RybS5oCit1bmlmZGVmLXkgKz0gaTgzMF9kcm0uaAordW5pZmRlZi15ICs9IGk5MTVfZHJtLmgKK3VuaWZkZWYteSArPSBtZ2FfZHJtLmgKK3VuaWZkZWYteSArPSByMTI4X2RybS5oCit1bmlmZGVmLXkgKz0gcmFkZW9uX2RybS5oCit1bmlmZGVmLXkgKz0gc2lzX2RybS5oCit1bmlmZGVmLXkgKz0gc2F2YWdlX2RybS5oCit1bmlmZGVmLXkgKz0gdmlhX2RybS5oCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2RybS5oIGIvaW5jbHVkZS9kcm0vZHJtLmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vZHJtLmgKcmVuYW1lIHRvIGluY2x1ZGUvZHJtL2RybS5oCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2RybVAuaCBiL2luY2x1ZGUvZHJtL2RybVAuaApzaW1pbGFyaXR5IGluZGV4IDk5JQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2RybVAuaApyZW5hbWUgdG8gaW5jbHVkZS9kcm0vZHJtUC5oCmluZGV4IDA3NjRiNjYuLjFjMWIxM2UgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9kcm0vZHJtUC5oCisrKyBiL2luY2x1ZGUvZHJtL2RybVAuaApAQCAtMTA4OSw2ICsxMDg5LDcgQEAKIGV4dGVybiBpbnQgZHJtX21tX2FkZF9zcGFjZV90b190YWlsKHN0cnVjdCBkcm1fbW0gKm1tLCB1bnNpZ25lZCBsb25nIHNpemUpOwogCiBleHRlcm4gdm9pZCBkcm1fY29yZV9pb3JlbWFwKHN0cnVjdCBkcm1fbWFwICptYXAsIHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOworZXh0ZXJuIHZvaWQgZHJtX2NvcmVfaW9yZW1hcF93YyhzdHJ1Y3QgZHJtX21hcCAqbWFwLCBzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKIGV4dGVybiB2b2lkIGRybV9jb3JlX2lvcmVtYXBmcmVlKHN0cnVjdCBkcm1fbWFwICptYXAsIHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwogCiBzdGF0aWMgX19pbmxpbmVfXyBzdHJ1Y3QgZHJtX21hcCAqZHJtX2NvcmVfZmluZG1hcChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9kcm1fY29yZS5oIGIvaW5jbHVkZS9kcm0vZHJtX2NvcmUuaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9kcm1fY29yZS5oCnJlbmFtZSB0byBpbmNsdWRlL2RybS9kcm1fY29yZS5oCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2RybV9oYXNodGFiLmggYi9pbmNsdWRlL2RybS9kcm1faGFzaHRhYi5oCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2RybV9oYXNodGFiLmgKcmVuYW1lIHRvIGluY2x1ZGUvZHJtL2RybV9oYXNodGFiLmgKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vZHJtX21lbW9yeS5oIGIvaW5jbHVkZS9kcm0vZHJtX21lbW9yeS5oCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2RybV9tZW1vcnkuaApyZW5hbWUgdG8gaW5jbHVkZS9kcm0vZHJtX21lbW9yeS5oCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2RybV9tZW1vcnlfZGVidWcuaCBiL2luY2x1ZGUvZHJtL2RybV9tZW1vcnlfZGVidWcuaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9kcm1fbWVtb3J5X2RlYnVnLmgKcmVuYW1lIHRvIGluY2x1ZGUvZHJtL2RybV9tZW1vcnlfZGVidWcuaApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9kcm1fb3NfbGludXguaCBiL2luY2x1ZGUvZHJtL2RybV9vc19saW51eC5oCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2RybV9vc19saW51eC5oCnJlbmFtZSB0byBpbmNsdWRlL2RybS9kcm1fb3NfbGludXguaApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9kcm1fcGNpaWRzLmggYi9pbmNsdWRlL2RybS9kcm1fcGNpaWRzLmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vZHJtX3BjaWlkcy5oCnJlbmFtZSB0byBpbmNsdWRlL2RybS9kcm1fcGNpaWRzLmgKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vZHJtX3NhcmVhLmggYi9pbmNsdWRlL2RybS9kcm1fc2FyZWEuaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9kcm1fc2FyZWEuaApyZW5hbWUgdG8gaW5jbHVkZS9kcm0vZHJtX3NhcmVhLmgKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vZHJtX3NtYW4uaCBiL2luY2x1ZGUvZHJtL2RybV9zbWFuLmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vZHJtX3NtYW4uaApyZW5hbWUgdG8gaW5jbHVkZS9kcm0vZHJtX3NtYW4uaApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9pODEwX2RybS5oIGIvaW5jbHVkZS9kcm0vaTgxMF9kcm0uaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9pODEwX2RybS5oCnJlbmFtZSB0byBpbmNsdWRlL2RybS9pODEwX2RybS5oCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2k4MzBfZHJtLmggYi9pbmNsdWRlL2RybS9pODMwX2RybS5oCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2k4MzBfZHJtLmgKcmVuYW1lIHRvIGluY2x1ZGUvZHJtL2k4MzBfZHJtLmgKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vaTkxNV9kcm0uaCBiL2luY2x1ZGUvZHJtL2k5MTVfZHJtLmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vaTkxNV9kcm0uaApyZW5hbWUgdG8gaW5jbHVkZS9kcm0vaTkxNV9kcm0uaApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9tZ2FfZHJtLmggYi9pbmNsdWRlL2RybS9tZ2FfZHJtLmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vbWdhX2RybS5oCnJlbmFtZSB0byBpbmNsdWRlL2RybS9tZ2FfZHJtLmgKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vcjEyOF9kcm0uaCBiL2luY2x1ZGUvZHJtL3IxMjhfZHJtLmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vcjEyOF9kcm0uaApyZW5hbWUgdG8gaW5jbHVkZS9kcm0vcjEyOF9kcm0uaApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9yYWRlb25fZHJtLmggYi9pbmNsdWRlL2RybS9yYWRlb25fZHJtLmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vcmFkZW9uX2RybS5oCnJlbmFtZSB0byBpbmNsdWRlL2RybS9yYWRlb25fZHJtLmgKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vc2F2YWdlX2RybS5oIGIvaW5jbHVkZS9kcm0vc2F2YWdlX2RybS5oCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3NhdmFnZV9kcm0uaApyZW5hbWUgdG8gaW5jbHVkZS9kcm0vc2F2YWdlX2RybS5oCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3Npc19kcm0uaCBiL2luY2x1ZGUvZHJtL3Npc19kcm0uaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9zaXNfZHJtLmgKcmVuYW1lIHRvIGluY2x1ZGUvZHJtL3Npc19kcm0uaApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS92aWFfZHJtLmggYi9pbmNsdWRlL2RybS92aWFfZHJtLmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vdmlhX2RybS5oCnJlbmFtZSB0byBpbmNsdWRlL2RybS92aWFfZHJtLmgKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvYWNwaS5oIGIvaW5jbHVkZS9saW51eC9hY3BpLmgKaW5kZXggNDFmN2NlNy4uMDYwMTA3NSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9hY3BpLmgKKysrIGIvaW5jbHVkZS9saW51eC9hY3BpLmgKQEAgLTgyLDYgKzgyLDcgQEAKIGludCBlYXJseV9hY3BpX2Jvb3RfaW5pdCh2b2lkKTsKIGludCBhY3BpX2Jvb3RfaW5pdCAodm9pZCk7CiBpbnQgYWNwaV9ib290X3RhYmxlX2luaXQgKHZvaWQpOworaW50IGFjcGlfbXBzX2NoZWNrICh2b2lkKTsKIGludCBhY3BpX251bWFfaW5pdCAodm9pZCk7CiAKIGludCBhY3BpX3RhYmxlX2luaXQgKHZvaWQpOwpAQCAtMjUwLDYgKzI1MSwxMSBAQAogCXJldHVybiAwOwogfQogCitzdGF0aWMgaW5saW5lIGludCBhY3BpX21wc19jaGVjayh2b2lkKQoreworCXJldHVybiAwOworfQorCiBzdGF0aWMgaW5saW5lIGludCBhY3BpX2NoZWNrX3Jlc291cmNlX2NvbmZsaWN0KHN0cnVjdCByZXNvdXJjZSAqcmVzKQogewogCXJldHVybiAwOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9iaW8uaCBiL2luY2x1ZGUvbGludXgvYmlvLmgKaW5kZXggNjFjMTVlYS4uMDkzM2ExNCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9iaW8uaAorKysgYi9pbmNsdWRlL2xpbnV4L2Jpby5oCkBAIC02NCw2ICs2NCw3IEBACiAKIHN0cnVjdCBiaW9fc2V0Owogc3RydWN0IGJpbzsKK3N0cnVjdCBiaW9faW50ZWdyaXR5X3BheWxvYWQ7CiB0eXBlZGVmIHZvaWQgKGJpb19lbmRfaW9fdCkgKHN0cnVjdCBiaW8gKiwgaW50KTsKIHR5cGVkZWYgdm9pZCAoYmlvX2Rlc3RydWN0b3JfdCkgKHN0cnVjdCBiaW8gKik7CiAKQEAgLTExMiw2ICsxMTMsOSBAQAogCWF0b21pY190CQliaV9jbnQ7CQkvKiBwaW4gY291bnQgKi8KIAogCXZvaWQJCQkqYmlfcHJpdmF0ZTsKKyNpZiBkZWZpbmVkKENPTkZJR19CTEtfREVWX0lOVEVHUklUWSkKKwlzdHJ1Y3QgYmlvX2ludGVncml0eV9wYXlsb2FkICpiaV9pbnRlZ3JpdHk7ICAvKiBkYXRhIGludGVncml0eSAqLworI2VuZGlmCiAKIAliaW9fZGVzdHJ1Y3Rvcl90CSpiaV9kZXN0cnVjdG9yOwkvKiBkZXN0cnVjdG9yICovCiB9OwpAQCAtMjcxLDYgKzI3NSwyOSBAQAogICovCiAjZGVmaW5lIGJpb19nZXQoYmlvKQlhdG9taWNfaW5jKCYoYmlvKS0+YmlfY250KQogCisjaWYgZGVmaW5lZChDT05GSUdfQkxLX0RFVl9JTlRFR1JJVFkpCisvKgorICogYmlvIGludGVncml0eSBwYXlsb2FkCisgKi8KK3N0cnVjdCBiaW9faW50ZWdyaXR5X3BheWxvYWQgeworCXN0cnVjdCBiaW8JCSpiaXBfYmlvOwkvKiBwYXJlbnQgYmlvICovCisJc3RydWN0IGJpb192ZWMJCSpiaXBfdmVjOwkvKiBpbnRlZ3JpdHkgZGF0YSB2ZWN0b3IgKi8KKworCXNlY3Rvcl90CQliaXBfc2VjdG9yOwkvKiB2aXJ0dWFsIHN0YXJ0IHNlY3RvciAqLworCisJdm9pZAkJCSpiaXBfYnVmOwkvKiBnZW5lcmF0ZWQgaW50ZWdyaXR5IGRhdGEgKi8KKwliaW9fZW5kX2lvX3QJCSpiaXBfZW5kX2lvOwkvKiBzYXZlZCBJL08gY29tcGxldGlvbiBmbiAqLworCisJaW50CQkJYmlwX2Vycm9yOwkvKiBzYXZlZCBJL08gZXJyb3IgKi8KKwl1bnNpZ25lZCBpbnQJCWJpcF9zaXplOworCisJdW5zaWduZWQgc2hvcnQJCWJpcF9wb29sOwkvKiBwb29sIHRoZSBpdmVjIGNhbWUgZnJvbSAqLworCXVuc2lnbmVkIHNob3J0CQliaXBfdmNudDsJLyogIyBvZiBpbnRlZ3JpdHkgYmlvX3ZlY3MgKi8KKwl1bnNpZ25lZCBzaG9ydAkJYmlwX2lkeDsJLyogY3VycmVudCBiaXBfdmVjIGluZGV4ICovCisKKwlzdHJ1Y3Qgd29ya19zdHJ1Y3QJYmlwX3dvcms7CS8qIEkvTyBjb21wbGV0aW9uICovCit9OworI2VuZGlmIC8qIENPTkZJR19CTEtfREVWX0lOVEVHUklUWSAqLwogCiAvKgogICogQSBiaW9fcGFpciBpcyB1c2VkIHdoZW4gd2UgbmVlZCB0byBzcGxpdCBhIGJpby4KQEAgLTI4MywxMCArMzEwLDE0IEBACiAgKiAgIGluIGJpbzIuYmlfcHJpdmF0ZQogICovCiBzdHJ1Y3QgYmlvX3BhaXIgewotCXN0cnVjdCBiaW8JYmlvMSwgYmlvMjsKLQlzdHJ1Y3QgYmlvX3ZlYwlidjEsIGJ2MjsKLQlhdG9taWNfdAljbnQ7Ci0JaW50CQllcnJvcjsKKwlzdHJ1Y3QgYmlvCQkJYmlvMSwgYmlvMjsKKwlzdHJ1Y3QgYmlvX3ZlYwkJCWJ2MSwgYnYyOworI2lmIGRlZmluZWQoQ09ORklHX0JMS19ERVZfSU5URUdSSVRZKQorCXN0cnVjdCBiaW9faW50ZWdyaXR5X3BheWxvYWQJYmlwMSwgYmlwMjsKKwlzdHJ1Y3QgYmlvX3ZlYwkJCWl2MSwgaXYyOworI2VuZGlmCisJYXRvbWljX3QJCQljbnQ7CisJaW50CQkJCWVycm9yOwogfTsKIGV4dGVybiBzdHJ1Y3QgYmlvX3BhaXIgKmJpb19zcGxpdChzdHJ1Y3QgYmlvICpiaSwgbWVtcG9vbF90ICpwb29sLAogCQkJCSAgaW50IGZpcnN0X3NlY3RvcnMpOwpAQCAtMzMzLDYgKzM2NCwzOSBAQAogCQkJCSAgICAgaW50LCBpbnQpOwogZXh0ZXJuIGludCBiaW9fdW5jb3B5X3VzZXIoc3RydWN0IGJpbyAqKTsKIHZvaWQgemVyb19maWxsX2JpbyhzdHJ1Y3QgYmlvICpiaW8pOworZXh0ZXJuIHN0cnVjdCBiaW9fdmVjICpidmVjX2FsbG9jX2JzKGdmcF90LCBpbnQsIHVuc2lnbmVkIGxvbmcgKiwgc3RydWN0IGJpb19zZXQgKik7CitleHRlcm4gdW5zaWduZWQgaW50IGJ2ZWNfbnJfdmVjcyh1bnNpZ25lZCBzaG9ydCBpZHgpOworCisvKgorICogYmlvX3NldCBpcyB1c2VkIHRvIGFsbG93IG90aGVyIHBvcnRpb25zIG9mIHRoZSBJTyBzeXN0ZW0gdG8KKyAqIGFsbG9jYXRlIHRoZWlyIG93biBwcml2YXRlIG1lbW9yeSBwb29scyBmb3IgYmlvIGFuZCBpb3ZlYyBzdHJ1Y3R1cmVzLgorICogVGhlc2UgbWVtb3J5IHBvb2xzIGluIHR1cm4gYWxsIGFsbG9jYXRlIGZyb20gdGhlIGJpb19zbGFiCisgKiBhbmQgdGhlIGJ2ZWNfc2xhYnNbXS4KKyAqLworI2RlZmluZSBCSU9fUE9PTF9TSVpFIDIKKyNkZWZpbmUgQklPVkVDX05SX1BPT0xTIDYKKworc3RydWN0IGJpb19zZXQgeworCW1lbXBvb2xfdCAqYmlvX3Bvb2w7CisjaWYgZGVmaW5lZChDT05GSUdfQkxLX0RFVl9JTlRFR1JJVFkpCisJbWVtcG9vbF90ICpiaW9faW50ZWdyaXR5X3Bvb2w7CisjZW5kaWYKKwltZW1wb29sX3QgKmJ2ZWNfcG9vbHNbQklPVkVDX05SX1BPT0xTXTsKK307CisKK3N0cnVjdCBiaW92ZWNfc2xhYiB7CisJaW50IG5yX3ZlY3M7CisJY2hhciAqbmFtZTsKKwlzdHJ1Y3Qga21lbV9jYWNoZSAqc2xhYjsKK307CisKK2V4dGVybiBzdHJ1Y3QgYmlvX3NldCAqZnNfYmlvX3NldDsKKworLyoKKyAqIGEgc21hbGwgbnVtYmVyIG9mIGVudHJpZXMgaXMgZmluZSwgbm90IGdvaW5nIHRvIGJlIHBlcmZvcm1hbmNlIGNyaXRpY2FsLgorICogYmFzaWNhbGx5IHdlIGp1c3QgbmVlZCB0byBzdXJ2aXZlCisgKi8KKyNkZWZpbmUgQklPX1NQTElUX0VOVFJJRVMgMgogCiAjaWZkZWYgQ09ORklHX0hJR0hNRU0KIC8qCkBAIC0zODEsNSArNDQ1LDYzIEBACiAJX19iaW9fa21hcF9pcnEoKGJpbyksIChiaW8pLT5iaV9pZHgsIChmbGFncykpCiAjZGVmaW5lIGJpb19rdW5tYXBfaXJxKGJ1ZixmbGFncykJX19iaW9fa3VubWFwX2lycShidWYsIGZsYWdzKQogCisjaWYgZGVmaW5lZChDT05GSUdfQkxLX0RFVl9JTlRFR1JJVFkpCisKKyNkZWZpbmUgYmlwX3ZlY19pZHgoYmlwLCBpZHgpCSgmKGJpcC0+YmlwX3ZlY1soaWR4KV0pKQorI2RlZmluZSBiaXBfdmVjKGJpcCkJCWJpcF92ZWNfaWR4KGJpcCwgMCkKKworI2RlZmluZSBfX2JpcF9mb3JfZWFjaF92ZWMoYnZsLCBiaXAsIGksIHN0YXJ0X2lkeCkJCQlcCisJZm9yIChidmwgPSBiaXBfdmVjX2lkeCgoYmlwKSwgKHN0YXJ0X2lkeCkpLCBpID0gKHN0YXJ0X2lkeCk7CVwKKwkgICAgIGkgPCAoYmlwKS0+YmlwX3ZjbnQ7CQkJCQlcCisJICAgICBidmwrKywgaSsrKQorCisjZGVmaW5lIGJpcF9mb3JfZWFjaF92ZWMoYnZsLCBiaXAsIGkpCQkJCQlcCisJX19iaXBfZm9yX2VhY2hfdmVjKGJ2bCwgYmlwLCBpLCAoYmlwKS0+YmlwX2lkeCkKKworc3RhdGljIGlubGluZSBpbnQgYmlvX2ludGVncml0eShzdHJ1Y3QgYmlvICpiaW8pCit7CisjaWYgZGVmaW5lZChDT05GSUdfQkxLX0RFVl9JTlRFR1JJVFkpCisJcmV0dXJuIGJpby0+YmlfaW50ZWdyaXR5ICE9IE5VTEw7CisjZWxzZQorCXJldHVybiAwOworI2VuZGlmCit9CisKK2V4dGVybiBzdHJ1Y3QgYmlvX2ludGVncml0eV9wYXlsb2FkICpiaW9faW50ZWdyaXR5X2FsbG9jX2Jpb3NldChzdHJ1Y3QgYmlvICosIGdmcF90LCB1bnNpZ25lZCBpbnQsIHN0cnVjdCBiaW9fc2V0ICopOworZXh0ZXJuIHN0cnVjdCBiaW9faW50ZWdyaXR5X3BheWxvYWQgKmJpb19pbnRlZ3JpdHlfYWxsb2Moc3RydWN0IGJpbyAqLCBnZnBfdCwgdW5zaWduZWQgaW50KTsKK2V4dGVybiB2b2lkIGJpb19pbnRlZ3JpdHlfZnJlZShzdHJ1Y3QgYmlvICosIHN0cnVjdCBiaW9fc2V0ICopOworZXh0ZXJuIGludCBiaW9faW50ZWdyaXR5X2FkZF9wYWdlKHN0cnVjdCBiaW8gKiwgc3RydWN0IHBhZ2UgKiwgdW5zaWduZWQgaW50LCB1bnNpZ25lZCBpbnQpOworZXh0ZXJuIGludCBiaW9faW50ZWdyaXR5X2VuYWJsZWQoc3RydWN0IGJpbyAqYmlvKTsKK2V4dGVybiBpbnQgYmlvX2ludGVncml0eV9zZXRfdGFnKHN0cnVjdCBiaW8gKiwgdm9pZCAqLCB1bnNpZ25lZCBpbnQpOworZXh0ZXJuIGludCBiaW9faW50ZWdyaXR5X2dldF90YWcoc3RydWN0IGJpbyAqLCB2b2lkICosIHVuc2lnbmVkIGludCk7CitleHRlcm4gaW50IGJpb19pbnRlZ3JpdHlfcHJlcChzdHJ1Y3QgYmlvICopOworZXh0ZXJuIHZvaWQgYmlvX2ludGVncml0eV9lbmRpbyhzdHJ1Y3QgYmlvICosIGludCk7CitleHRlcm4gdm9pZCBiaW9faW50ZWdyaXR5X2FkdmFuY2Uoc3RydWN0IGJpbyAqLCB1bnNpZ25lZCBpbnQpOworZXh0ZXJuIHZvaWQgYmlvX2ludGVncml0eV90cmltKHN0cnVjdCBiaW8gKiwgdW5zaWduZWQgaW50LCB1bnNpZ25lZCBpbnQpOworZXh0ZXJuIHZvaWQgYmlvX2ludGVncml0eV9zcGxpdChzdHJ1Y3QgYmlvICosIHN0cnVjdCBiaW9fcGFpciAqLCBpbnQpOworZXh0ZXJuIGludCBiaW9faW50ZWdyaXR5X2Nsb25lKHN0cnVjdCBiaW8gKiwgc3RydWN0IGJpbyAqLCBzdHJ1Y3QgYmlvX3NldCAqKTsKK2V4dGVybiBpbnQgYmlvc2V0X2ludGVncml0eV9jcmVhdGUoc3RydWN0IGJpb19zZXQgKiwgaW50KTsKK2V4dGVybiB2b2lkIGJpb3NldF9pbnRlZ3JpdHlfZnJlZShzdHJ1Y3QgYmlvX3NldCAqKTsKK2V4dGVybiB2b2lkIGJpb19pbnRlZ3JpdHlfaW5pdF9zbGFiKHZvaWQpOworCisjZWxzZSAvKiBDT05GSUdfQkxLX0RFVl9JTlRFR1JJVFkgKi8KKworI2RlZmluZSBiaW9faW50ZWdyaXR5KGEpCQkoMCkKKyNkZWZpbmUgYmlvc2V0X2ludGVncml0eV9jcmVhdGUoYSwgYikJKDApCisjZGVmaW5lIGJpb19pbnRlZ3JpdHlfcHJlcChhKQkJKDApCisjZGVmaW5lIGJpb19pbnRlZ3JpdHlfZW5hYmxlZChhKQkoMCkKKyNkZWZpbmUgYmlvX2ludGVncml0eV9jbG9uZShhLCBiLCBjKQkoMCkKKyNkZWZpbmUgYmlvc2V0X2ludGVncml0eV9mcmVlKGEpCWRvIHsgfSB3aGlsZSAoMCkKKyNkZWZpbmUgYmlvX2ludGVncml0eV9mcmVlKGEsIGIpCWRvIHsgfSB3aGlsZSAoMCkKKyNkZWZpbmUgYmlvX2ludGVncml0eV9lbmRpbyhhLCBiKQlkbyB7IH0gd2hpbGUgKDApCisjZGVmaW5lIGJpb19pbnRlZ3JpdHlfYWR2YW5jZShhLCBiKQlkbyB7IH0gd2hpbGUgKDApCisjZGVmaW5lIGJpb19pbnRlZ3JpdHlfdHJpbShhLCBiLCBjKQlkbyB7IH0gd2hpbGUgKDApCisjZGVmaW5lIGJpb19pbnRlZ3JpdHlfc3BsaXQoYSwgYiwgYykJZG8geyB9IHdoaWxlICgwKQorI2RlZmluZSBiaW9faW50ZWdyaXR5X3NldF90YWcoYSwgYiwgYykJZG8geyB9IHdoaWxlICgwKQorI2RlZmluZSBiaW9faW50ZWdyaXR5X2dldF90YWcoYSwgYiwgYykJZG8geyB9IHdoaWxlICgwKQorI2RlZmluZSBiaW9faW50ZWdyaXR5X2luaXRfc2xhYihhKQlkbyB7IH0gd2hpbGUgKDApCisKKyNlbmRpZiAvKiBDT05GSUdfQkxLX0RFVl9JTlRFR1JJVFkgKi8KKwogI2VuZGlmIC8qIENPTkZJR19CTE9DSyAqLwogI2VuZGlmIC8qIF9fTElOVVhfQklPX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvYmxrZGV2LmggYi9pbmNsdWRlL2xpbnV4L2Jsa2Rldi5oCmluZGV4IGQyYTFiNzEuLjMyYTQ0MWIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvYmxrZGV2LmgKKysrIGIvaW5jbHVkZS9saW51eC9ibGtkZXYuaApAQCAtMjMsNyArMjMsNiBAQAogc3RydWN0IHNjc2lfaW9jdGxfY29tbWFuZDsKIAogc3RydWN0IHJlcXVlc3RfcXVldWU7Ci10eXBlZGVmIHN0cnVjdCByZXF1ZXN0X3F1ZXVlIHJlcXVlc3RfcXVldWVfdCBfX2RlcHJlY2F0ZWQ7CiBzdHJ1Y3QgZWxldmF0b3JfcXVldWU7CiB0eXBlZGVmIHN0cnVjdCBlbGV2YXRvcl9xdWV1ZSBlbGV2YXRvcl90Owogc3RydWN0IHJlcXVlc3RfcG1fc3RhdGU7CkBAIC0zNCwxMiArMzMsNiBAQAogI2RlZmluZSBCTEtERVZfTUlOX1JRCTQKICNkZWZpbmUgQkxLREVWX01BWF9SUQkxMjgJLyogRGVmYXVsdCBtYXhpbXVtICovCiAKLWludCBwdXRfaW9fY29udGV4dChzdHJ1Y3QgaW9fY29udGV4dCAqaW9jKTsKLXZvaWQgZXhpdF9pb19jb250ZXh0KHZvaWQpOwotc3RydWN0IGlvX2NvbnRleHQgKmdldF9pb19jb250ZXh0KGdmcF90IGdmcF9mbGFncywgaW50IG5vZGUpOwotc3RydWN0IGlvX2NvbnRleHQgKmFsbG9jX2lvX2NvbnRleHQoZ2ZwX3QgZ2ZwX2ZsYWdzLCBpbnQgbm9kZSk7Ci12b2lkIGNvcHlfaW9fY29udGV4dChzdHJ1Y3QgaW9fY29udGV4dCAqKnBkc3QsIHN0cnVjdCBpb19jb250ZXh0ICoqcHNyYyk7Ci0KIHN0cnVjdCByZXF1ZXN0OwogdHlwZWRlZiB2b2lkIChycV9lbmRfaW9fZm4pKHN0cnVjdCByZXF1ZXN0ICosIGludCk7CiAKQEAgLTExMyw2ICsxMDYsNyBAQAogCV9fUkVRX0FMTE9DRUQsCQkvKiByZXF1ZXN0IGNhbWUgZnJvbSBvdXIgYWxsb2MgcG9vbCAqLwogCV9fUkVRX1JXX01FVEEsCQkvKiBtZXRhZGF0YSBpbyByZXF1ZXN0ICovCiAJX19SRVFfQ09QWV9VU0VSLAkvKiBjb250YWlucyBjb3BpZXMgb2YgdXNlciBwYWdlcyAqLworCV9fUkVRX0lOVEVHUklUWSwJLyogaW50ZWdyaXR5IG1ldGFkYXRhIGhhcyBiZWVuIHJlbWFwcGVkICovCiAJX19SRVFfTlJfQklUUywJCS8qIHN0b3BzIGhlcmUgKi8KIH07CiAKQEAgLTEzNSw2ICsxMjksNyBAQAogI2RlZmluZSBSRVFfQUxMT0NFRAkoMSA8PCBfX1JFUV9BTExPQ0VEKQogI2RlZmluZSBSRVFfUldfTUVUQQkoMSA8PCBfX1JFUV9SV19NRVRBKQogI2RlZmluZSBSRVFfQ09QWV9VU0VSCSgxIDw8IF9fUkVRX0NPUFlfVVNFUikKKyNkZWZpbmUgUkVRX0lOVEVHUklUWQkoMSA8PCBfX1JFUV9JTlRFR1JJVFkpCiAKICNkZWZpbmUgQkxLX01BWF9DREIJMTYKIApAQCAtMjU5LDcgKzI1NCwxNCBAQAogdHlwZWRlZiB2b2lkICh1bnBsdWdfZm4pIChzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqKTsKIAogc3RydWN0IGJpb192ZWM7Ci10eXBlZGVmIGludCAobWVyZ2VfYnZlY19mbikgKHN0cnVjdCByZXF1ZXN0X3F1ZXVlICosIHN0cnVjdCBiaW8gKiwgc3RydWN0IGJpb192ZWMgKik7CitzdHJ1Y3QgYnZlY19tZXJnZV9kYXRhIHsKKwlzdHJ1Y3QgYmxvY2tfZGV2aWNlICpiaV9iZGV2OworCXNlY3Rvcl90IGJpX3NlY3RvcjsKKwl1bnNpZ25lZCBiaV9zaXplOworCXVuc2lnbmVkIGxvbmcgYmlfcnc7Cit9OwordHlwZWRlZiBpbnQgKG1lcmdlX2J2ZWNfZm4pIChzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqLCBzdHJ1Y3QgYnZlY19tZXJnZV9kYXRhICosCisJCQkgICAgIHN0cnVjdCBiaW9fdmVjICopOwogdHlwZWRlZiB2b2lkIChwcmVwYXJlX2ZsdXNoX2ZuKSAoc3RydWN0IHJlcXVlc3RfcXVldWUgKiwgc3RydWN0IHJlcXVlc3QgKik7CiB0eXBlZGVmIHZvaWQgKHNvZnRpcnFfZG9uZV9mbikoc3RydWN0IHJlcXVlc3QgKik7CiB0eXBlZGVmIGludCAoZG1hX2RyYWluX25lZWRlZF9mbikoc3RydWN0IHJlcXVlc3QgKik7CkBAIC00MjYsNiArNDI4LDMyIEBACiAJX19zZXRfYml0KGZsYWcsICZxLT5xdWV1ZV9mbGFncyk7CiB9CiAKK3N0YXRpYyBpbmxpbmUgaW50IHF1ZXVlX2ZsYWdfdGVzdF9hbmRfY2xlYXIodW5zaWduZWQgaW50IGZsYWcsCisJCQkJCSAgICBzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcSkKK3sKKwlXQVJOX09OX09OQ0UoIXF1ZXVlX2lzX2xvY2tlZChxKSk7CisKKwlpZiAodGVzdF9iaXQoZmxhZywgJnEtPnF1ZXVlX2ZsYWdzKSkgeworCQlfX2NsZWFyX2JpdChmbGFnLCAmcS0+cXVldWVfZmxhZ3MpOworCQlyZXR1cm4gMTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGlubGluZSBpbnQgcXVldWVfZmxhZ190ZXN0X2FuZF9zZXQodW5zaWduZWQgaW50IGZsYWcsCisJCQkJCSAgc3RydWN0IHJlcXVlc3RfcXVldWUgKnEpCit7CisJV0FSTl9PTl9PTkNFKCFxdWV1ZV9pc19sb2NrZWQocSkpOworCisJaWYgKCF0ZXN0X2JpdChmbGFnLCAmcS0+cXVldWVfZmxhZ3MpKSB7CisJCV9fc2V0X2JpdChmbGFnLCAmcS0+cXVldWVfZmxhZ3MpOworCQlyZXR1cm4gMDsKKwl9CisKKwlyZXR1cm4gMTsKK30KKwogc3RhdGljIGlubGluZSB2b2lkIHF1ZXVlX2ZsYWdfc2V0KHVuc2lnbmVkIGludCBmbGFnLCBzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcSkKIHsKIAlXQVJOX09OX09OQ0UoIXF1ZXVlX2lzX2xvY2tlZChxKSk7CkBAIC02MjMsNyArNjUxLDYgQEAKIGV4dGVybiB2b2lkIGJsa19ycV9pbml0KHN0cnVjdCByZXF1ZXN0X3F1ZXVlICpxLCBzdHJ1Y3QgcmVxdWVzdCAqcnEpOwogZXh0ZXJuIHZvaWQgYmxrX3B1dF9yZXF1ZXN0KHN0cnVjdCByZXF1ZXN0ICopOwogZXh0ZXJuIHZvaWQgX19ibGtfcHV0X3JlcXVlc3Qoc3RydWN0IHJlcXVlc3RfcXVldWUgKiwgc3RydWN0IHJlcXVlc3QgKik7Ci1leHRlcm4gdm9pZCBibGtfZW5kX3N5bmNfcnEoc3RydWN0IHJlcXVlc3QgKnJxLCBpbnQgZXJyb3IpOwogZXh0ZXJuIHN0cnVjdCByZXF1ZXN0ICpibGtfZ2V0X3JlcXVlc3Qoc3RydWN0IHJlcXVlc3RfcXVldWUgKiwgaW50LCBnZnBfdCk7CiBleHRlcm4gdm9pZCBibGtfaW5zZXJ0X3JlcXVlc3Qoc3RydWN0IHJlcXVlc3RfcXVldWUgKiwgc3RydWN0IHJlcXVlc3QgKiwgaW50LCB2b2lkICopOwogZXh0ZXJuIHZvaWQgYmxrX3JlcXVldWVfcmVxdWVzdChzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqLCBzdHJ1Y3QgcmVxdWVzdCAqKTsKQEAgLTY3Niw3ICs3MDMsNiBAQAogCQkJICBzdHJ1Y3QgcmVxdWVzdCAqLCBpbnQpOwogZXh0ZXJuIHZvaWQgYmxrX2V4ZWN1dGVfcnFfbm93YWl0KHN0cnVjdCByZXF1ZXN0X3F1ZXVlICosIHN0cnVjdCBnZW5kaXNrICosCiAJCQkJICBzdHJ1Y3QgcmVxdWVzdCAqLCBpbnQsIHJxX2VuZF9pb19mbiAqKTsKLWV4dGVybiBpbnQgYmxrX3ZlcmlmeV9jb21tYW5kKHVuc2lnbmVkIGNoYXIgKiwgaW50KTsKIGV4dGVybiB2b2lkIGJsa191bnBsdWcoc3RydWN0IHJlcXVlc3RfcXVldWUgKnEpOwogCiBzdGF0aWMgaW5saW5lIHN0cnVjdCByZXF1ZXN0X3F1ZXVlICpiZGV2X2dldF9xdWV1ZShzdHJ1Y3QgYmxvY2tfZGV2aWNlICpiZGV2KQpAQCAtNzQ5LDYgKzc3NSw3IEBACiBleHRlcm4gdm9pZCBibGtfcXVldWVfaGFyZHNlY3Rfc2l6ZShzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqLCB1bnNpZ25lZCBzaG9ydCk7CiBleHRlcm4gdm9pZCBibGtfcXVldWVfc3RhY2tfbGltaXRzKHN0cnVjdCByZXF1ZXN0X3F1ZXVlICp0LCBzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqYik7CiBleHRlcm4gdm9pZCBibGtfcXVldWVfZG1hX3BhZChzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqLCB1bnNpZ25lZCBpbnQpOworZXh0ZXJuIHZvaWQgYmxrX3F1ZXVlX3VwZGF0ZV9kbWFfcGFkKHN0cnVjdCByZXF1ZXN0X3F1ZXVlICosIHVuc2lnbmVkIGludCk7CiBleHRlcm4gaW50IGJsa19xdWV1ZV9kbWFfZHJhaW4oc3RydWN0IHJlcXVlc3RfcXVldWUgKnEsCiAJCQkgICAgICAgZG1hX2RyYWluX25lZWRlZF9mbiAqZG1hX2RyYWluX25lZWRlZCwKIAkJCSAgICAgICB2b2lkICpidWYsIHVuc2lnbmVkIGludCBzaXplKTsKQEAgLTgwMiw2ICs4MjksMTUgQEAKIAogZXh0ZXJuIGludCBibGtkZXZfaXNzdWVfZmx1c2goc3RydWN0IGJsb2NrX2RldmljZSAqLCBzZWN0b3JfdCAqKTsKIAorLyoKKyogY29tbWFuZCBmaWx0ZXIgZnVuY3Rpb25zCisqLworZXh0ZXJuIGludCBibGtfdmVyaWZ5X2NvbW1hbmQoc3RydWN0IGZpbGUgKmZpbGUsIHVuc2lnbmVkIGNoYXIgKmNtZCk7CitleHRlcm4gaW50IGJsa19jbWRfZmlsdGVyX3ZlcmlmeV9jb21tYW5kKHN0cnVjdCBibGtfc2NzaV9jbWRfZmlsdGVyICpmaWx0ZXIsCisJCQkJCSB1bnNpZ25lZCBjaGFyICpjbWQsIG1vZGVfdCAqZl9tb2RlKTsKK2V4dGVybiBpbnQgYmxrX3JlZ2lzdGVyX2ZpbHRlcihzdHJ1Y3QgZ2VuZGlzayAqZGlzayk7CitleHRlcm4gdm9pZCBibGtfdW5yZWdpc3Rlcl9maWx0ZXIoc3RydWN0IGdlbmRpc2sgKmRpc2spOworCiAjZGVmaW5lIE1BWF9QSFlTX1NFR01FTlRTIDEyOAogI2RlZmluZSBNQVhfSFdfU0VHTUVOVFMgMTI4CiAjZGVmaW5lIFNBRkVfTUFYX1NFQ1RPUlMgMjU1CkBAIC04NjUsNiArOTAxLDEwNSBAQAogI2RlZmluZSBNT0RVTEVfQUxJQVNfQkxPQ0tERVZfTUFKT1IobWFqb3IpIFwKIAlNT0RVTEVfQUxJQVMoImJsb2NrLW1ham9yLSIgX19zdHJpbmdpZnkobWFqb3IpICItKiIpCiAKKyNpZiBkZWZpbmVkKENPTkZJR19CTEtfREVWX0lOVEVHUklUWSkKKworI2RlZmluZSBJTlRFR1JJVFlfRkxBR19SRUFECTIJLyogdmVyaWZ5IGRhdGEgaW50ZWdyaXR5IG9uIHJlYWQgKi8KKyNkZWZpbmUgSU5URUdSSVRZX0ZMQUdfV1JJVEUJNAkvKiBnZW5lcmF0ZSBkYXRhIGludGVncml0eSBvbiB3cml0ZSAqLworCitzdHJ1Y3QgYmxrX2ludGVncml0eV9leGNoZyB7CisJdm9pZAkJCSpwcm90X2J1ZjsKKwl2b2lkCQkJKmRhdGFfYnVmOworCXNlY3Rvcl90CQlzZWN0b3I7CisJdW5zaWduZWQgaW50CQlkYXRhX3NpemU7CisJdW5zaWduZWQgc2hvcnQJCXNlY3Rvcl9zaXplOworCWNvbnN0IGNoYXIJCSpkaXNrX25hbWU7Cit9OworCit0eXBlZGVmIHZvaWQgKGludGVncml0eV9nZW5fZm4pIChzdHJ1Y3QgYmxrX2ludGVncml0eV9leGNoZyAqKTsKK3R5cGVkZWYgaW50IChpbnRlZ3JpdHlfdnJmeV9mbikgKHN0cnVjdCBibGtfaW50ZWdyaXR5X2V4Y2hnICopOwordHlwZWRlZiB2b2lkIChpbnRlZ3JpdHlfc2V0X3RhZ19mbikgKHZvaWQgKiwgdm9pZCAqLCB1bnNpZ25lZCBpbnQpOwordHlwZWRlZiB2b2lkIChpbnRlZ3JpdHlfZ2V0X3RhZ19mbikgKHZvaWQgKiwgdm9pZCAqLCB1bnNpZ25lZCBpbnQpOworCitzdHJ1Y3QgYmxrX2ludGVncml0eSB7CisJaW50ZWdyaXR5X2dlbl9mbgkqZ2VuZXJhdGVfZm47CisJaW50ZWdyaXR5X3ZyZnlfZm4JKnZlcmlmeV9mbjsKKwlpbnRlZ3JpdHlfc2V0X3RhZ19mbgkqc2V0X3RhZ19mbjsKKwlpbnRlZ3JpdHlfZ2V0X3RhZ19mbgkqZ2V0X3RhZ19mbjsKKworCXVuc2lnbmVkIHNob3J0CQlmbGFnczsKKwl1bnNpZ25lZCBzaG9ydAkJdHVwbGVfc2l6ZTsKKwl1bnNpZ25lZCBzaG9ydAkJc2VjdG9yX3NpemU7CisJdW5zaWduZWQgc2hvcnQJCXRhZ19zaXplOworCisJY29uc3QgY2hhcgkJKm5hbWU7CisKKwlzdHJ1Y3Qga29iamVjdAkJa29iajsKK307CisKK2V4dGVybiBpbnQgYmxrX2ludGVncml0eV9yZWdpc3RlcihzdHJ1Y3QgZ2VuZGlzayAqLCBzdHJ1Y3QgYmxrX2ludGVncml0eSAqKTsKK2V4dGVybiB2b2lkIGJsa19pbnRlZ3JpdHlfdW5yZWdpc3RlcihzdHJ1Y3QgZ2VuZGlzayAqKTsKK2V4dGVybiBpbnQgYmxrX2ludGVncml0eV9jb21wYXJlKHN0cnVjdCBibG9ja19kZXZpY2UgKiwgc3RydWN0IGJsb2NrX2RldmljZSAqKTsKK2V4dGVybiBpbnQgYmxrX3JxX21hcF9pbnRlZ3JpdHlfc2coc3RydWN0IHJlcXVlc3QgKiwgc3RydWN0IHNjYXR0ZXJsaXN0ICopOworZXh0ZXJuIGludCBibGtfcnFfY291bnRfaW50ZWdyaXR5X3NnKHN0cnVjdCByZXF1ZXN0ICopOworCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIHNob3J0IGJsa19pbnRlZ3JpdHlfdHVwbGVfc2l6ZShzdHJ1Y3QgYmxrX2ludGVncml0eSAqYmkpCit7CisJaWYgKGJpKQorCQlyZXR1cm4gYmktPnR1cGxlX3NpemU7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGlubGluZSBzdHJ1Y3QgYmxrX2ludGVncml0eSAqYmRldl9nZXRfaW50ZWdyaXR5KHN0cnVjdCBibG9ja19kZXZpY2UgKmJkZXYpCit7CisJcmV0dXJuIGJkZXYtPmJkX2Rpc2stPmludGVncml0eTsKK30KKworc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgYmRldl9nZXRfdGFnX3NpemUoc3RydWN0IGJsb2NrX2RldmljZSAqYmRldikKK3sKKwlzdHJ1Y3QgYmxrX2ludGVncml0eSAqYmkgPSBiZGV2X2dldF9pbnRlZ3JpdHkoYmRldik7CisKKwlpZiAoYmkpCisJCXJldHVybiBiaS0+dGFnX3NpemU7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGlubGluZSBpbnQgYmRldl9pbnRlZ3JpdHlfZW5hYmxlZChzdHJ1Y3QgYmxvY2tfZGV2aWNlICpiZGV2LCBpbnQgcncpCit7CisJc3RydWN0IGJsa19pbnRlZ3JpdHkgKmJpID0gYmRldl9nZXRfaW50ZWdyaXR5KGJkZXYpOworCisJaWYgKGJpID09IE5VTEwpCisJCXJldHVybiAwOworCisJaWYgKHJ3ID09IFJFQUQgJiYgYmktPnZlcmlmeV9mbiAhPSBOVUxMICYmCisJICAgIChiaS0+ZmxhZ3MgJiBJTlRFR1JJVFlfRkxBR19SRUFEKSkKKwkJcmV0dXJuIDE7CisKKwlpZiAocncgPT0gV1JJVEUgJiYgYmktPmdlbmVyYXRlX2ZuICE9IE5VTEwgJiYKKwkgICAgKGJpLT5mbGFncyAmIElOVEVHUklUWV9GTEFHX1dSSVRFKSkKKwkJcmV0dXJuIDE7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGlubGluZSBpbnQgYmxrX2ludGVncml0eV9ycShzdHJ1Y3QgcmVxdWVzdCAqcnEpCit7CisJcmV0dXJuIGJpb19pbnRlZ3JpdHkocnEtPmJpbyk7Cit9CisKKyNlbHNlIC8qIENPTkZJR19CTEtfREVWX0lOVEVHUklUWSAqLworCisjZGVmaW5lIGJsa19pbnRlZ3JpdHlfcnEocnEpCQkJKDApCisjZGVmaW5lIGJsa19ycV9jb3VudF9pbnRlZ3JpdHlfc2coYSkJCSgwKQorI2RlZmluZSBibGtfcnFfbWFwX2ludGVncml0eV9zZyhhLCBiKQkJKDApCisjZGVmaW5lIGJkZXZfZ2V0X2ludGVncml0eShhKQkJCSgwKQorI2RlZmluZSBiZGV2X2dldF90YWdfc2l6ZShhKQkJCSgwKQorI2RlZmluZSBibGtfaW50ZWdyaXR5X2NvbXBhcmUoYSwgYikJCSgwKQorI2RlZmluZSBibGtfaW50ZWdyaXR5X3JlZ2lzdGVyKGEsIGIpCQkoMCkKKyNkZWZpbmUgYmxrX2ludGVncml0eV91bnJlZ2lzdGVyKGEpCQlkbyB7IH0gd2hpbGUgKDApOworCisjZW5kaWYgLyogQ09ORklHX0JMS19ERVZfSU5URUdSSVRZICovCiAKICNlbHNlIC8qIENPTkZJR19CTE9DSyAqLwogLyoKQEAgLTg3NywxNyArMTAxMiw2IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBleGl0X2lvX2NvbnRleHQodm9pZCkKLXsKLX0KLQotc3RydWN0IGlvX2NvbnRleHQ7Ci1zdGF0aWMgaW5saW5lIGludCBwdXRfaW9fY29udGV4dChzdHJ1Y3QgaW9fY29udGV4dCAqaW9jKQotewotCXJldHVybiAxOwotfQotCi0KICNlbmRpZiAvKiBDT05GSUdfQkxPQ0sgKi8KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2Jsa3RyYWNlX2FwaS5oIGIvaW5jbHVkZS9saW51eC9ibGt0cmFjZV9hcGkuaAppbmRleCBlM2VmOTAzLi5kMDg0YjhkIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2Jsa3RyYWNlX2FwaS5oCisrKyBiL2luY2x1ZGUvbGludXgvYmxrdHJhY2VfYXBpLmgKQEAgLTEyOSw2ICsxMjksNyBAQAogCXUzMiBkZXY7CiAJc3RydWN0IGRlbnRyeSAqZGlyOwogCXN0cnVjdCBkZW50cnkgKmRyb3BwZWRfZmlsZTsKKwlzdHJ1Y3QgZGVudHJ5ICptc2dfZmlsZTsKIAlhdG9taWNfdCBkcm9wcGVkOwogfTsKIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9ib290bWVtLmggYi9pbmNsdWRlL2xpbnV4L2Jvb3RtZW0uaAppbmRleCA2ODY4OTViLi5hMWQ5Yjc5IDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2Jvb3RtZW0uaAorKysgYi9pbmNsdWRlL2xpbnV4L2Jvb3RtZW0uaApAQCAtODQsNiArODQsOCBAQAogCV9fYWxsb2NfYm9vdG1lbV9sb3coeCwgUEFHRV9TSVpFLCAwKQogI2VuZGlmIC8qICFDT05GSUdfSEFWRV9BUkNIX0JPT1RNRU1fTk9ERSAqLwogCitleHRlcm4gaW50IHJlc2VydmVfYm9vdG1lbV9nZW5lcmljKHVuc2lnbmVkIGxvbmcgYWRkciwgdW5zaWduZWQgbG9uZyBzaXplLAorCQkJCSAgIGludCBmbGFncyk7CiBleHRlcm4gdW5zaWduZWQgbG9uZyBmcmVlX2FsbF9ib290bWVtKHZvaWQpOwogZXh0ZXJuIHVuc2lnbmVkIGxvbmcgZnJlZV9hbGxfYm9vdG1lbV9ub2RlKHBnX2RhdGFfdCAqcGdkYXQpOwogZXh0ZXJuIHZvaWQgKl9fYWxsb2NfYm9vdG1lbV9ub2RlKHBnX2RhdGFfdCAqcGdkYXQsCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2NvbnNvbGUuaCBiL2luY2x1ZGUvbGludXgvY29uc29sZS5oCmluZGV4IGE0ZjI3ZmIuLjI0OGU2ZTMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvY29uc29sZS5oCisrKyBiL2luY2x1ZGUvbGludXgvY29uc29sZS5oCkBAIC0xMDgsNiArMTA4LDggQEAKIAlzdHJ1Y3QJIGNvbnNvbGUgKm5leHQ7CiB9OwogCitleHRlcm4gaW50IGNvbnNvbGVfc2V0X29uX2NtZGxpbmU7CisKIGV4dGVybiBpbnQgYWRkX3ByZWZlcnJlZF9jb25zb2xlKGNoYXIgKm5hbWUsIGludCBpZHgsIGNoYXIgKm9wdGlvbnMpOwogZXh0ZXJuIGludCB1cGRhdGVfY29uc29sZV9jbWRsaW5lKGNoYXIgKm5hbWUsIGludCBpZHgsIGNoYXIgKm5hbWVfbmV3LCBpbnQgaWR4X25ldywgY2hhciAqb3B0aW9ucyk7CiBleHRlcm4gdm9pZCByZWdpc3Rlcl9jb25zb2xlKHN0cnVjdCBjb25zb2xlICopOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9jcnlwdG8uaCBiL2luY2x1ZGUvbGludXgvY3J5cHRvLmgKaW5kZXggNDI1ODI0Yi4uYzQzZGM0NyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9jcnlwdG8uaAorKysgYi9pbmNsdWRlL2xpbnV4L2NyeXB0by5oCkBAIC0zMCwxNSArMzAsMTcgQEAKICAqLwogI2RlZmluZSBDUllQVE9fQUxHX1RZUEVfTUFTSwkJMHgwMDAwMDAwZgogI2RlZmluZSBDUllQVE9fQUxHX1RZUEVfQ0lQSEVSCQkweDAwMDAwMDAxCi0jZGVmaW5lIENSWVBUT19BTEdfVFlQRV9ESUdFU1QJCTB4MDAwMDAwMDIKLSNkZWZpbmUgQ1JZUFRPX0FMR19UWVBFX0hBU0gJCTB4MDAwMDAwMDMKKyNkZWZpbmUgQ1JZUFRPX0FMR19UWVBFX0NPTVBSRVNTCTB4MDAwMDAwMDIKKyNkZWZpbmUgQ1JZUFRPX0FMR19UWVBFX0FFQUQJCTB4MDAwMDAwMDMKICNkZWZpbmUgQ1JZUFRPX0FMR19UWVBFX0JMS0NJUEhFUgkweDAwMDAwMDA0CiAjZGVmaW5lIENSWVBUT19BTEdfVFlQRV9BQkxLQ0lQSEVSCTB4MDAwMDAwMDUKICNkZWZpbmUgQ1JZUFRPX0FMR19UWVBFX0dJVkNJUEhFUgkweDAwMDAwMDA2Ci0jZGVmaW5lIENSWVBUT19BTEdfVFlQRV9DT01QUkVTUwkweDAwMDAwMDA4Ci0jZGVmaW5lIENSWVBUT19BTEdfVFlQRV9BRUFECQkweDAwMDAwMDA5CisjZGVmaW5lIENSWVBUT19BTEdfVFlQRV9ESUdFU1QJCTB4MDAwMDAwMDgKKyNkZWZpbmUgQ1JZUFRPX0FMR19UWVBFX0hBU0gJCTB4MDAwMDAwMDkKKyNkZWZpbmUgQ1JZUFRPX0FMR19UWVBFX0FIQVNICQkweDAwMDAwMDBhCiAKICNkZWZpbmUgQ1JZUFRPX0FMR19UWVBFX0hBU0hfTUFTSwkweDAwMDAwMDBlCisjZGVmaW5lIENSWVBUT19BTEdfVFlQRV9BSEFTSF9NQVNLCTB4MDAwMDAwMGMKICNkZWZpbmUgQ1JZUFRPX0FMR19UWVBFX0JMS0NJUEhFUl9NQVNLCTB4MDAwMDAwMGMKIAogI2RlZmluZSBDUllQVE9fQUxHX0xBUlZBTAkJMHgwMDAwMDAxMApAQCAtMTAyLDYgKzEwNCw3IEBACiBzdHJ1Y3QgY3J5cHRvX2FlYWQ7CiBzdHJ1Y3QgY3J5cHRvX2Jsa2NpcGhlcjsKIHN0cnVjdCBjcnlwdG9faGFzaDsKK3N0cnVjdCBjcnlwdG9fYWhhc2g7CiBzdHJ1Y3QgY3J5cHRvX3RmbTsKIHN0cnVjdCBjcnlwdG9fdHlwZTsKIHN0cnVjdCBhZWFkX2dpdmNyeXB0X3JlcXVlc3Q7CkBAIC0xMzEsNiArMTM0LDE2IEBACiAJdm9pZCAqX19jdHhbXSBDUllQVE9fTUlOQUxJR05fQVRUUjsKIH07CiAKK3N0cnVjdCBhaGFzaF9yZXF1ZXN0IHsKKwlzdHJ1Y3QgY3J5cHRvX2FzeW5jX3JlcXVlc3QgYmFzZTsKKworCXVuc2lnbmVkIGludCBuYnl0ZXM7CisJc3RydWN0IHNjYXR0ZXJsaXN0ICpzcmM7CisJdTgJCSAgICpyZXN1bHQ7CisKKwl2b2lkICpfX2N0eFtdIENSWVBUT19NSU5BTElHTl9BVFRSOworfTsKKwogLyoqCiAgKglzdHJ1Y3QgYWVhZF9yZXF1ZXN0IC0gQUVBRCByZXF1ZXN0CiAgKglAYmFzZTogQ29tbW9uIGF0dHJpYnV0ZXMgZm9yIGFzeW5jIGNyeXB0byByZXF1ZXN0cwpAQCAtMTk1LDYgKzIwOCwxNyBAQAogCXVuc2lnbmVkIGludCBpdnNpemU7CiB9OwogCitzdHJ1Y3QgYWhhc2hfYWxnIHsKKwlpbnQgKCppbml0KShzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqcmVxKTsKKwlpbnQgKCp1cGRhdGUpKHN0cnVjdCBhaGFzaF9yZXF1ZXN0ICpyZXEpOworCWludCAoKmZpbmFsKShzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqcmVxKTsKKwlpbnQgKCpkaWdlc3QpKHN0cnVjdCBhaGFzaF9yZXF1ZXN0ICpyZXEpOworCWludCAoKnNldGtleSkoc3RydWN0IGNyeXB0b19haGFzaCAqdGZtLCBjb25zdCB1OCAqa2V5LAorCQkJdW5zaWduZWQgaW50IGtleWxlbik7CisKKwl1bnNpZ25lZCBpbnQgZGlnZXN0c2l6ZTsKK307CisKIHN0cnVjdCBhZWFkX2FsZyB7CiAJaW50ICgqc2V0a2V5KShzdHJ1Y3QgY3J5cHRvX2FlYWQgKnRmbSwgY29uc3QgdTggKmtleSwKIAkgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBrZXlsZW4pOwpAQCAtMjcyLDYgKzI5Niw3IEBACiAjZGVmaW5lIGNyYV9jaXBoZXIJY3JhX3UuY2lwaGVyCiAjZGVmaW5lIGNyYV9kaWdlc3QJY3JhX3UuZGlnZXN0CiAjZGVmaW5lIGNyYV9oYXNoCWNyYV91Lmhhc2gKKyNkZWZpbmUgY3JhX2FoYXNoCWNyYV91LmFoYXNoCiAjZGVmaW5lIGNyYV9jb21wcmVzcwljcmFfdS5jb21wcmVzcwogCiBzdHJ1Y3QgY3J5cHRvX2FsZyB7CkBAIC0yOTgsNiArMzIzLDcgQEAKIAkJc3RydWN0IGNpcGhlcl9hbGcgY2lwaGVyOwogCQlzdHJ1Y3QgZGlnZXN0X2FsZyBkaWdlc3Q7CiAJCXN0cnVjdCBoYXNoX2FsZyBoYXNoOworCQlzdHJ1Y3QgYWhhc2hfYWxnIGFoYXNoOwogCQlzdHJ1Y3QgY29tcHJlc3NfYWxnIGNvbXByZXNzOwogCX0gY3JhX3U7CiAKQEAgLTM4Myw2ICs0MDksMTggQEAKIAl1bnNpZ25lZCBpbnQgZGlnZXN0c2l6ZTsKIH07CiAKK3N0cnVjdCBhaGFzaF90Zm0geworCWludCAoKmluaXQpKHN0cnVjdCBhaGFzaF9yZXF1ZXN0ICpyZXEpOworCWludCAoKnVwZGF0ZSkoc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcSk7CisJaW50ICgqZmluYWwpKHN0cnVjdCBhaGFzaF9yZXF1ZXN0ICpyZXEpOworCWludCAoKmRpZ2VzdCkoc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcSk7CisJaW50ICgqc2V0a2V5KShzdHJ1Y3QgY3J5cHRvX2FoYXNoICp0Zm0sIGNvbnN0IHU4ICprZXksCisJCQl1bnNpZ25lZCBpbnQga2V5bGVuKTsKKworCXVuc2lnbmVkIGludCBkaWdlc3RzaXplOworCXVuc2lnbmVkIGludCByZXFzaXplOworfTsKKwogc3RydWN0IGNvbXByZXNzX3RmbSB7CiAJaW50ICgqY290X2NvbXByZXNzKShzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtLAogCSAgICAgICAgICAgICAgICAgICAgY29uc3QgdTggKnNyYywgdW5zaWduZWQgaW50IHNsZW4sCkBAIC0zOTcsNiArNDM1LDcgQEAKICNkZWZpbmUgY3J0X2Jsa2NpcGhlcgljcnRfdS5ibGtjaXBoZXIKICNkZWZpbmUgY3J0X2NpcGhlcgljcnRfdS5jaXBoZXIKICNkZWZpbmUgY3J0X2hhc2gJY3J0X3UuaGFzaAorI2RlZmluZSBjcnRfYWhhc2gJY3J0X3UuYWhhc2gKICNkZWZpbmUgY3J0X2NvbXByZXNzCWNydF91LmNvbXByZXNzCiAKIHN0cnVjdCBjcnlwdG9fdGZtIHsKQEAgLTQwOSw2ICs0NDgsNyBAQAogCQlzdHJ1Y3QgYmxrY2lwaGVyX3RmbSBibGtjaXBoZXI7CiAJCXN0cnVjdCBjaXBoZXJfdGZtIGNpcGhlcjsKIAkJc3RydWN0IGhhc2hfdGZtIGhhc2g7CisJCXN0cnVjdCBhaGFzaF90Zm0gYWhhc2g7CiAJCXN0cnVjdCBjb21wcmVzc190Zm0gY29tcHJlc3M7CiAJfSBjcnRfdTsKIAkKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvZGNhY2hlLmggYi9pbmNsdWRlL2xpbnV4L2RjYWNoZS5oCmluZGV4IGQ5ODJlYjguLjk4MjAyYzYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvZGNhY2hlLmgKKysrIGIvaW5jbHVkZS9saW51eC9kY2FjaGUuaApAQCAtMyw2ICszLDcgQEAKIAogI2luY2x1ZGUgPGFzbS9hdG9taWMuaD4KICNpbmNsdWRlIDxsaW51eC9saXN0Lmg+CisjaW5jbHVkZSA8bGludXgvcmN1bGlzdC5oPgogI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvY2FjaGUuaD4KICNpbmNsdWRlIDxsaW51eC9yY3VwZGF0ZS5oPgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9kZWxheS5oIGIvaW5jbHVkZS9saW51eC9kZWxheS5oCmluZGV4IDU0NTUyZDIuLmZkODMyYzYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvZGVsYXkuaAorKysgYi9pbmNsdWRlL2xpbnV4L2RlbGF5LmgKQEAgLTQxLDYgKzQxLDcgQEAKICNkZWZpbmUgbmRlbGF5KHgpIG5kZWxheSh4KQogI2VuZGlmCiAKK2V4dGVybiB1bnNpZ25lZCBsb25nIGxwal9maW5lOwogdm9pZCBjYWxpYnJhdGVfZGVsYXkodm9pZCk7CiB2b2lkIG1zbGVlcCh1bnNpZ25lZCBpbnQgbXNlY3MpOwogdW5zaWduZWQgbG9uZyBtc2xlZXBfaW50ZXJydXB0aWJsZSh1bnNpZ25lZCBpbnQgbXNlY3MpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9lZmkuaCBiL2luY2x1ZGUvbGludXgvZWZpLmgKaW5kZXggYTVmMzU5YS4uODA3MzczZCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9lZmkuaAorKysgYi9pbmNsdWRlL2xpbnV4L2VmaS5oCkBAIC0yODcsNyArMjg3LDYgQEAKIGV4dGVybiB2b2lkIGVmaV9pbml0ICh2b2lkKTsKIGV4dGVybiB2b2lkICplZmlfZ2V0X3BhbF9hZGRyICh2b2lkKTsKIGV4dGVybiB2b2lkIGVmaV9tYXBfcGFsX2NvZGUgKHZvaWQpOwotZXh0ZXJuIHZvaWQgZWZpX21hcF9tZW1tYXAodm9pZCk7CiBleHRlcm4gdm9pZCBlZmlfbWVtbWFwX3dhbGsgKGVmaV9mcmVlbWVtX2NhbGxiYWNrX3QgY2FsbGJhY2ssIHZvaWQgKmFyZyk7CiBleHRlcm4gdm9pZCBlZmlfZ2V0dGltZW9mZGF5IChzdHJ1Y3QgdGltZXNwZWMgKnRzKTsKIGV4dGVybiB2b2lkIGVmaV9lbnRlcl92aXJ0dWFsX21vZGUgKHZvaWQpOwkvKiBzd2l0Y2ggRUZJIHRvIHZpcnR1YWwgbW9kZSwgaWYgcG9zc2libGUgKi8KQEAgLTI5NSwxNCArMjk0LDExIEBACiBleHRlcm4gdTMyIGVmaV9tZW1fdHlwZSAodW5zaWduZWQgbG9uZyBwaHlzX2FkZHIpOwogZXh0ZXJuIHU2NCBlZmlfbWVtX2F0dHJpYnV0ZXMgKHVuc2lnbmVkIGxvbmcgcGh5c19hZGRyKTsKIGV4dGVybiB1NjQgZWZpX21lbV9hdHRyaWJ1dGUgKHVuc2lnbmVkIGxvbmcgcGh5c19hZGRyLCB1bnNpZ25lZCBsb25nIHNpemUpOwotZXh0ZXJuIGludCBlZmlfbWVtX2F0dHJpYnV0ZV9yYW5nZSAodW5zaWduZWQgbG9uZyBwaHlzX2FkZHIsIHVuc2lnbmVkIGxvbmcgc2l6ZSwKLQkJCQkgICAgdTY0IGF0dHIpOwogZXh0ZXJuIGludCBfX2luaXQgZWZpX3VhcnRfY29uc29sZV9vbmx5ICh2b2lkKTsKIGV4dGVybiB2b2lkIGVmaV9pbml0aWFsaXplX2lvbWVtX3Jlc291cmNlcyhzdHJ1Y3QgcmVzb3VyY2UgKmNvZGVfcmVzb3VyY2UsCiAJCXN0cnVjdCByZXNvdXJjZSAqZGF0YV9yZXNvdXJjZSwgc3RydWN0IHJlc291cmNlICpic3NfcmVzb3VyY2UpOwogZXh0ZXJuIHVuc2lnbmVkIGxvbmcgZWZpX2dldF90aW1lKHZvaWQpOwogZXh0ZXJuIGludCBlZmlfc2V0X3J0Y19tbXNzKHVuc2lnbmVkIGxvbmcgbm93dGltZSk7Ci1leHRlcm4gaW50IGlzX2F2YWlsYWJsZV9tZW1vcnkoZWZpX21lbW9yeV9kZXNjX3QgKiBtZCk7CiBleHRlcm4gc3RydWN0IGVmaV9tZW1vcnlfbWFwIG1lbW1hcDsKIAogLyoqCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2Zpcm13YXJlLW1hcC5oIGIvaW5jbHVkZS9saW51eC9maXJtd2FyZS1tYXAuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hY2JkYmNjCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9saW51eC9maXJtd2FyZS1tYXAuaApAQCAtMCwwICsxLDc0IEBACisvKgorICogaW5jbHVkZS9saW51eC9maXJtd2FyZS1tYXAuaDoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDggU1VTRSBMSU5VWCBQcm9kdWN0cyBHbWJICisgKiAgYnkgQmVybmhhcmQgV2FsbGUgPGJ3YWxsZUBzdXNlLmRlPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHYyLjAgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKi8KKyNpZm5kZWYgX0xJTlVYX0ZJUk1XQVJFX01BUF9ICisjZGVmaW5lIF9MSU5VWF9GSVJNV0FSRV9NQVBfSAorCisjaW5jbHVkZSA8bGludXgvbGlzdC5oPgorI2luY2x1ZGUgPGxpbnV4L2tvYmplY3QuaD4KKworLyoKKyAqIHByb3ZpZGUgYSBkdW1teSBpbnRlcmZhY2UgaWYgQ09ORklHX0ZJUk1XQVJFX01FTU1BUCBpcyBkaXNhYmxlZAorICovCisjaWZkZWYgQ09ORklHX0ZJUk1XQVJFX01FTU1BUAorCisvKioKKyAqIEFkZHMgYSBmaXJtd2FyZSBtYXBwaW5nIGVudHJ5LiBUaGlzIGZ1bmN0aW9uIHVzZXMga21hbGxvYygpIGZvciBtZW1vcnkKKyAqIGFsbG9jYXRpb24uIFVzZSBmaXJtd2FyZV9tYXBfYWRkX2Vhcmx5KCkgaWYgeW91IHdhbnQgdG8gdXNlIHRoZSBib290bWVtCisgKiBhbGxvY2F0b3IuCisgKgorICogVGhhdCBmdW5jdGlvbiBtdXN0IGJlIGNhbGxlZCBiZWZvcmUgbGF0ZV9pbml0Y2FsbC4KKyAqCisgKiBAc3RhcnQ6IFN0YXJ0IG9mIHRoZSBtZW1vcnkgcmFuZ2UuCisgKiBAZW5kOiAgIEVuZCBvZiB0aGUgbWVtb3J5IHJhbmdlIChpbmNsdXNpdmUpLgorICogQHR5cGU6ICBUeXBlIG9mIHRoZSBtZW1vcnkgcmFuZ2UuCisgKgorICogUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIG9yIC1FTk9NRU0gaWYgbm8gbWVtb3J5IGNvdWxkIGJlIGFsbG9jYXRlZC4KKyAqLworaW50IGZpcm13YXJlX21hcF9hZGQocmVzb3VyY2Vfc2l6ZV90IHN0YXJ0LCByZXNvdXJjZV9zaXplX3QgZW5kLAorCQkgICAgIGNvbnN0IGNoYXIgKnR5cGUpOworCisvKioKKyAqIEFkZHMgYSBmaXJtd2FyZSBtYXBwaW5nIGVudHJ5LiBUaGlzIGZ1bmN0aW9uIHVzZXMgdGhlIGJvb3RtZW0gYWxsb2NhdG9yCisgKiBmb3IgbWVtb3J5IGFsbG9jYXRpb24uIFVzZSBmaXJtd2FyZV9tYXBfYWRkKCkgaWYgeW91IHdhbnQgdG8gdXNlIGttYWxsb2MoKS4KKyAqCisgKiBUaGF0IGZ1bmN0aW9uIG11c3QgYmUgY2FsbGVkIGJlZm9yZSBsYXRlX2luaXRjYWxsLgorICoKKyAqIEBzdGFydDogU3RhcnQgb2YgdGhlIG1lbW9yeSByYW5nZS4KKyAqIEBlbmQ6ICAgRW5kIG9mIHRoZSBtZW1vcnkgcmFuZ2UgKGluY2x1c2l2ZSkuCisgKiBAdHlwZTogIFR5cGUgb2YgdGhlIG1lbW9yeSByYW5nZS4KKyAqCisgKiBSZXR1cm5zIDAgb24gc3VjY2Vzcywgb3IgLUVOT01FTSBpZiBubyBtZW1vcnkgY291bGQgYmUgYWxsb2NhdGVkLgorICovCitpbnQgZmlybXdhcmVfbWFwX2FkZF9lYXJseShyZXNvdXJjZV9zaXplX3Qgc3RhcnQsIHJlc291cmNlX3NpemVfdCBlbmQsCisJCQkgICBjb25zdCBjaGFyICp0eXBlKTsKKworI2Vsc2UgLyogQ09ORklHX0ZJUk1XQVJFX01FTU1BUCAqLworCitzdGF0aWMgaW5saW5lIGludCBmaXJtd2FyZV9tYXBfYWRkKHJlc291cmNlX3NpemVfdCBzdGFydCwgcmVzb3VyY2Vfc2l6ZV90IGVuZCwKKwkJCQkgICBjb25zdCBjaGFyICp0eXBlKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW5saW5lIGludCBmaXJtd2FyZV9tYXBfYWRkX2Vhcmx5KHJlc291cmNlX3NpemVfdCBzdGFydCwKKwkJCQkJIHJlc291cmNlX3NpemVfdCBlbmQsIGNvbnN0IGNoYXIgKnR5cGUpCit7CisJcmV0dXJuIDA7Cit9CisKKyNlbmRpZiAvKiBDT05GSUdfRklSTVdBUkVfTUVNTUFQICovCisKKyNlbmRpZiAvKiBfTElOVVhfRklSTVdBUkVfTUFQX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvZmlybXdhcmUuaCBiL2luY2x1ZGUvbGludXgvZmlybXdhcmUuaAppbmRleCA2YzdlZmYyLi5jOGVjZjViIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2Zpcm13YXJlLmgKKysrIGIvaW5jbHVkZS9saW51eC9maXJtd2FyZS5oCkBAIC0xLDE4ICsxLDM5IEBACiAjaWZuZGVmIF9MSU5VWF9GSVJNV0FSRV9ICiAjZGVmaW5lIF9MSU5VWF9GSVJNV0FSRV9ICisKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorI2luY2x1ZGUgPGxpbnV4L2NvbXBpbGVyLmg+CisKICNkZWZpbmUgRklSTVdBUkVfTkFNRV9NQVggMzAgCiAjZGVmaW5lIEZXX0FDVElPTl9OT0hPVFBMVUcgMAogI2RlZmluZSBGV19BQ1RJT05fSE9UUExVRyAxCiAKIHN0cnVjdCBmaXJtd2FyZSB7CiAJc2l6ZV90IHNpemU7Ci0JdTggKmRhdGE7CisJY29uc3QgdTggKmRhdGE7CiB9OwogCiBzdHJ1Y3QgZGV2aWNlOwogCitzdHJ1Y3QgYnVpbHRpbl9mdyB7CisJY2hhciAqbmFtZTsKKwl2b2lkICpkYXRhOworCXVuc2lnbmVkIGxvbmcgc2l6ZTsKK307CisKKy8qIFdlIGhhdmUgdG8gcGxheSB0cmlja3MgaGVyZSBtdWNoIGxpa2Ugc3RyaW5naWZ5KCkgdG8gZ2V0IHRoZQorICAgX19DT1VOVEVSX18gbWFjcm8gdG8gYmUgZXhwYW5kZWQgYXMgd2Ugd2FudCBpdCAqLworI2RlZmluZSBfX2Z3X2NvbmNhdDEoeCwgeSkgeCMjeQorI2RlZmluZSBfX2Z3X2NvbmNhdCh4LCB5KSBfX2Z3X2NvbmNhdDEoeCwgeSkKKworI2RlZmluZSBERUNMQVJFX0JVSUxUSU5fRklSTVdBUkUobmFtZSwgYmxvYikJCQkJICAgICBcCisJREVDTEFSRV9CVUlMVElOX0ZJUk1XQVJFX1NJWkUobmFtZSwgJihibG9iKSwgc2l6ZW9mKGJsb2IpKQorCisjZGVmaW5lIERFQ0xBUkVfQlVJTFRJTl9GSVJNV0FSRV9TSVpFKG5hbWUsIGJsb2IsIHNpemUpCQkJICAgICBcCisJc3RhdGljIGNvbnN0IHN0cnVjdCBidWlsdGluX2Z3IF9fZndfY29uY2F0KF9fYnVpbHRpbl9mdyxfX0NPVU5URVJfXykgXAorCV9fdXNlZCBfX3NlY3Rpb24oLmJ1aWx0aW5fZncpID0geyBuYW1lLCBibG9iLCBzaXplIH0KKwogI2lmIGRlZmluZWQoQ09ORklHX0ZXX0xPQURFUikgfHwgKGRlZmluZWQoQ09ORklHX0ZXX0xPQURFUl9NT0RVTEUpICYmIGRlZmluZWQoTU9EVUxFKSkKIGludCByZXF1ZXN0X2Zpcm13YXJlKGNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqKmZ3LCBjb25zdCBjaGFyICpuYW1lLAogCQkgICAgIHN0cnVjdCBkZXZpY2UgKmRldmljZSk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2ZzLmggYi9pbmNsdWRlL2xpbnV4L2ZzLmgKaW5kZXggZDhlMjc2Mi4uNTJlNTEwYSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9mcy5oCisrKyBiL2luY2x1ZGUvbGludXgvZnMuaApAQCAtMTc0MCw2ICsxNzQwLDggQEAKIAkJCQlwZ29mZl90IHN0YXJ0LCBwZ29mZl90IGVuZCk7CiBleHRlcm4gaW50IF9fZmlsZW1hcF9mZGF0YXdyaXRlX3JhbmdlKHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLAogCQkJCWxvZmZfdCBzdGFydCwgbG9mZl90IGVuZCwgaW50IHN5bmNfbW9kZSk7CitleHRlcm4gaW50IGZpbGVtYXBfZmRhdGF3cml0ZV9yYW5nZShzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywKKwkJCQlsb2ZmX3Qgc3RhcnQsIGxvZmZfdCBlbmQpOwogCiBleHRlcm4gbG9uZyBkb19mc3luYyhzdHJ1Y3QgZmlsZSAqZmlsZSwgaW50IGRhdGFzeW5jKTsKIGV4dGVybiB2b2lkIHN5bmNfc3VwZXJzKHZvaWQpOwpAQCAtMTg3MCw3ICsxODcyLDggQEAKIGZpbGVfcmFfc3RhdGVfaW5pdChzdHJ1Y3QgZmlsZV9yYV9zdGF0ZSAqcmEsIHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nKTsKIGV4dGVybiBsb2ZmX3Qgbm9fbGxzZWVrKHN0cnVjdCBmaWxlICpmaWxlLCBsb2ZmX3Qgb2Zmc2V0LCBpbnQgb3JpZ2luKTsKIGV4dGVybiBsb2ZmX3QgZ2VuZXJpY19maWxlX2xsc2VlayhzdHJ1Y3QgZmlsZSAqZmlsZSwgbG9mZl90IG9mZnNldCwgaW50IG9yaWdpbik7Ci1leHRlcm4gbG9mZl90IHJlbW90ZV9sbHNlZWsoc3RydWN0IGZpbGUgKmZpbGUsIGxvZmZfdCBvZmZzZXQsIGludCBvcmlnaW4pOworZXh0ZXJuIGxvZmZfdCBnZW5lcmljX2ZpbGVfbGxzZWVrX3VubG9ja2VkKHN0cnVjdCBmaWxlICpmaWxlLCBsb2ZmX3Qgb2Zmc2V0LAorCQkJaW50IG9yaWdpbik7CiBleHRlcm4gaW50IGdlbmVyaWNfZmlsZV9vcGVuKHN0cnVjdCBpbm9kZSAqIGlub2RlLCBzdHJ1Y3QgZmlsZSAqIGZpbHApOwogZXh0ZXJuIGludCBub25zZWVrYWJsZV9vcGVuKHN0cnVjdCBpbm9kZSAqIGlub2RlLCBzdHJ1Y3QgZmlsZSAqIGZpbHApOwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2Z0cmFjZS5oIGIvaW5jbHVkZS9saW51eC9mdHJhY2UuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMzY4ZDA0Ci0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9saW51eC9mdHJhY2UuaApAQCAtMCwwICsxLDE0NCBAQAorI2lmbmRlZiBfTElOVVhfRlRSQUNFX0gKKyNkZWZpbmUgX0xJTlVYX0ZUUkFDRV9ICisKKyNpZmRlZiBDT05GSUdfRlRSQUNFCisKKyNpbmNsdWRlIDxsaW51eC9saW5rYWdlLmg+CisjaW5jbHVkZSA8bGludXgvZnMuaD4KKworZXh0ZXJuIGludCBmdHJhY2VfZW5hYmxlZDsKK2V4dGVybiBpbnQKK2Z0cmFjZV9lbmFibGVfc3lzY3RsKHN0cnVjdCBjdGxfdGFibGUgKnRhYmxlLCBpbnQgd3JpdGUsCisJCSAgICAgc3RydWN0IGZpbGUgKmZpbHAsIHZvaWQgX191c2VyICpidWZmZXIsIHNpemVfdCAqbGVucCwKKwkJICAgICBsb2ZmX3QgKnBwb3MpOworCit0eXBlZGVmIHZvaWQgKCpmdHJhY2VfZnVuY190KSh1bnNpZ25lZCBsb25nIGlwLCB1bnNpZ25lZCBsb25nIHBhcmVudF9pcCk7CisKK3N0cnVjdCBmdHJhY2Vfb3BzIHsKKwlmdHJhY2VfZnVuY190CSAgZnVuYzsKKwlzdHJ1Y3QgZnRyYWNlX29wcyAqbmV4dDsKK307CisKKy8qCisgKiBUaGUgZnRyYWNlX29wcyBtdXN0IGJlIGEgc3RhdGljIGFuZCBzaG91bGQgYWxzbworICogYmUgcmVhZF9tb3N0bHkuICBUaGVzZSBmdW5jdGlvbnMgZG8gbW9kaWZ5IHJlYWRfbW9zdGx5IHZhcmlhYmxlcworICogc28gdXNlIHRoZW0gc3BhcmVseS4gTmV2ZXIgZnJlZSBhbiBmdHJhY2Vfb3Agb3IgbW9kaWZ5IHRoZQorICogbmV4dCBwb2ludGVyIGFmdGVyIGl0IGhhcyBiZWVuIHJlZ2lzdGVyZWQuIEV2ZW4gYWZ0ZXIgdW5yZWdpc3RlcmluZworICogaXQsIHRoZSBuZXh0IHBvaW50ZXIgbWF5IHN0aWxsIGJlIHVzZWQgaW50ZXJuYWxseS4KKyAqLworaW50IHJlZ2lzdGVyX2Z0cmFjZV9mdW5jdGlvbihzdHJ1Y3QgZnRyYWNlX29wcyAqb3BzKTsKK2ludCB1bnJlZ2lzdGVyX2Z0cmFjZV9mdW5jdGlvbihzdHJ1Y3QgZnRyYWNlX29wcyAqb3BzKTsKK3ZvaWQgY2xlYXJfZnRyYWNlX2Z1bmN0aW9uKHZvaWQpOworCitleHRlcm4gdm9pZCBmdHJhY2Vfc3R1Yih1bnNpZ25lZCBsb25nIGEwLCB1bnNpZ25lZCBsb25nIGExKTsKKworI2Vsc2UgLyogIUNPTkZJR19GVFJBQ0UgKi8KKyMgZGVmaW5lIHJlZ2lzdGVyX2Z0cmFjZV9mdW5jdGlvbihvcHMpIGRvIHsgfSB3aGlsZSAoMCkKKyMgZGVmaW5lIHVucmVnaXN0ZXJfZnRyYWNlX2Z1bmN0aW9uKG9wcykgZG8geyB9IHdoaWxlICgwKQorIyBkZWZpbmUgY2xlYXJfZnRyYWNlX2Z1bmN0aW9uKG9wcykgZG8geyB9IHdoaWxlICgwKQorI2VuZGlmIC8qIENPTkZJR19GVFJBQ0UgKi8KKworI2lmZGVmIENPTkZJR19EWU5BTUlDX0ZUUkFDRQorIyBkZWZpbmUgRlRSQUNFX0hBU0hCSVRTCTEwCisjIGRlZmluZSBGVFJBQ0VfSEFTSFNJWkUJKDE8PEZUUkFDRV9IQVNIQklUUykKKworZW51bSB7CisJRlRSQUNFX0ZMX0ZSRUUJCT0gKDEgPDwgMCksCisJRlRSQUNFX0ZMX0ZBSUxFRAk9ICgxIDw8IDEpLAorCUZUUkFDRV9GTF9GSUxURVIJPSAoMSA8PCAyKSwKKwlGVFJBQ0VfRkxfRU5BQkxFRAk9ICgxIDw8IDMpLAorCUZUUkFDRV9GTF9OT1RSQUNFCT0gKDEgPDwgNCksCisJRlRSQUNFX0ZMX0NPTlZFUlRFRAk9ICgxIDw8IDUpLAorCUZUUkFDRV9GTF9GUk9aRU4JPSAoMSA8PCA2KSwKK307CisKK3N0cnVjdCBkeW5fZnRyYWNlIHsKKwlzdHJ1Y3QgaGxpc3Rfbm9kZSBub2RlOworCXVuc2lnbmVkIGxvbmcJICBpcDsgLyogYWRkcmVzcyBvZiBtY291bnQgY2FsbC1zaXRlICovCisJdW5zaWduZWQgbG9uZwkgIGZsYWdzOworfTsKKworaW50IGZ0cmFjZV9mb3JjZV91cGRhdGUodm9pZCk7Cit2b2lkIGZ0cmFjZV9zZXRfZmlsdGVyKHVuc2lnbmVkIGNoYXIgKmJ1ZiwgaW50IGxlbiwgaW50IHJlc2V0KTsKKworLyogZGVmaW5lZCBpbiBhcmNoICovCitleHRlcm4gaW50IGZ0cmFjZV9pcF9jb252ZXJ0ZWQodW5zaWduZWQgbG9uZyBpcCk7CitleHRlcm4gdW5zaWduZWQgY2hhciAqZnRyYWNlX25vcF9yZXBsYWNlKHZvaWQpOworZXh0ZXJuIHVuc2lnbmVkIGNoYXIgKmZ0cmFjZV9jYWxsX3JlcGxhY2UodW5zaWduZWQgbG9uZyBpcCwgdW5zaWduZWQgbG9uZyBhZGRyKTsKK2V4dGVybiBpbnQgZnRyYWNlX2R5bl9hcmNoX2luaXQodm9pZCAqZGF0YSk7CitleHRlcm4gaW50IGZ0cmFjZV9tY291bnRfc2V0KHVuc2lnbmVkIGxvbmcgKmRhdGEpOworZXh0ZXJuIGludCBmdHJhY2VfbW9kaWZ5X2NvZGUodW5zaWduZWQgbG9uZyBpcCwgdW5zaWduZWQgY2hhciAqb2xkX2NvZGUsCisJCQkgICAgICB1bnNpZ25lZCBjaGFyICpuZXdfY29kZSk7CitleHRlcm4gaW50IGZ0cmFjZV91cGRhdGVfZnRyYWNlX2Z1bmMoZnRyYWNlX2Z1bmNfdCBmdW5jKTsKK2V4dGVybiB2b2lkIGZ0cmFjZV9jYWxsZXIodm9pZCk7CitleHRlcm4gdm9pZCBmdHJhY2VfY2FsbCh2b2lkKTsKK2V4dGVybiB2b2lkIG1jb3VudF9jYWxsKHZvaWQpOworCitleHRlcm4gaW50IHNraXBfdHJhY2UodW5zaWduZWQgbG9uZyBpcCk7CisKK3ZvaWQgZnRyYWNlX2Rpc2FibGVfZGFlbW9uKHZvaWQpOwordm9pZCBmdHJhY2VfZW5hYmxlX2RhZW1vbih2b2lkKTsKKworI2Vsc2UKKyMgZGVmaW5lIHNraXBfdHJhY2UoaXApCQkJCSh7IDA7IH0pCisjIGRlZmluZSBmdHJhY2VfZm9yY2VfdXBkYXRlKCkJCQkoeyAwOyB9KQorIyBkZWZpbmUgZnRyYWNlX3NldF9maWx0ZXIoYnVmLCBsZW4sIHJlc2V0KQlkbyB7IH0gd2hpbGUgKDApCisjIGRlZmluZSBmdHJhY2VfZGlzYWJsZV9kYWVtb24oKQkJZG8geyB9IHdoaWxlICgwKQorIyBkZWZpbmUgZnRyYWNlX2VuYWJsZV9kYWVtb24oKQkJCWRvIHsgfSB3aGlsZSAoMCkKKyNlbmRpZiAvKiBDT05GSUdfRFlOQU1JQ19GVFJBQ0UgKi8KKworLyogdG90YWxseSBkaXNhYmxlIGZ0cmFjZSAtIGNhbiBub3QgcmUtZW5hYmxlIGFmdGVyIHRoaXMgKi8KK3ZvaWQgZnRyYWNlX2tpbGwodm9pZCk7Cit2b2lkIGZ0cmFjZV9raWxsX2F0b21pYyh2b2lkKTsKKworc3RhdGljIGlubGluZSB2b2lkIHRyYWNlcl9kaXNhYmxlKHZvaWQpCit7CisjaWZkZWYgQ09ORklHX0ZUUkFDRQorCWZ0cmFjZV9lbmFibGVkID0gMDsKKyNlbmRpZgorfQorCisjaWZkZWYgQ09ORklHX0ZSQU1FX1BPSU5URVIKKy8qIFRPRE86IG5lZWQgdG8gZml4IHRoaXMgZm9yIEFSTSAqLworIyBkZWZpbmUgQ0FMTEVSX0FERFIwICgodW5zaWduZWQgbG9uZylfX2J1aWx0aW5fcmV0dXJuX2FkZHJlc3MoMCkpCisjIGRlZmluZSBDQUxMRVJfQUREUjEgKCh1bnNpZ25lZCBsb25nKV9fYnVpbHRpbl9yZXR1cm5fYWRkcmVzcygxKSkKKyMgZGVmaW5lIENBTExFUl9BRERSMiAoKHVuc2lnbmVkIGxvbmcpX19idWlsdGluX3JldHVybl9hZGRyZXNzKDIpKQorIyBkZWZpbmUgQ0FMTEVSX0FERFIzICgodW5zaWduZWQgbG9uZylfX2J1aWx0aW5fcmV0dXJuX2FkZHJlc3MoMykpCisjIGRlZmluZSBDQUxMRVJfQUREUjQgKCh1bnNpZ25lZCBsb25nKV9fYnVpbHRpbl9yZXR1cm5fYWRkcmVzcyg0KSkKKyMgZGVmaW5lIENBTExFUl9BRERSNSAoKHVuc2lnbmVkIGxvbmcpX19idWlsdGluX3JldHVybl9hZGRyZXNzKDUpKQorIyBkZWZpbmUgQ0FMTEVSX0FERFI2ICgodW5zaWduZWQgbG9uZylfX2J1aWx0aW5fcmV0dXJuX2FkZHJlc3MoNikpCisjZWxzZQorIyBkZWZpbmUgQ0FMTEVSX0FERFIwICgodW5zaWduZWQgbG9uZylfX2J1aWx0aW5fcmV0dXJuX2FkZHJlc3MoMCkpCisjIGRlZmluZSBDQUxMRVJfQUREUjEgMFVMCisjIGRlZmluZSBDQUxMRVJfQUREUjIgMFVMCisjIGRlZmluZSBDQUxMRVJfQUREUjMgMFVMCisjIGRlZmluZSBDQUxMRVJfQUREUjQgMFVMCisjIGRlZmluZSBDQUxMRVJfQUREUjUgMFVMCisjIGRlZmluZSBDQUxMRVJfQUREUjYgMFVMCisjZW5kaWYKKworI2lmZGVmIENPTkZJR19JUlFTT0ZGX1RSQUNFUgorICBleHRlcm4gdm9pZCB0aW1lX2hhcmRpcnFzX29uKHVuc2lnbmVkIGxvbmcgYTAsIHVuc2lnbmVkIGxvbmcgYTEpOworICBleHRlcm4gdm9pZCB0aW1lX2hhcmRpcnFzX29mZih1bnNpZ25lZCBsb25nIGEwLCB1bnNpZ25lZCBsb25nIGExKTsKKyNlbHNlCisjIGRlZmluZSB0aW1lX2hhcmRpcnFzX29uKGEwLCBhMSkJCWRvIHsgfSB3aGlsZSAoMCkKKyMgZGVmaW5lIHRpbWVfaGFyZGlycXNfb2ZmKGEwLCBhMSkJCWRvIHsgfSB3aGlsZSAoMCkKKyNlbmRpZgorCisjaWZkZWYgQ09ORklHX1BSRUVNUFRfVFJBQ0VSCisgIGV4dGVybiB2b2lkIHRyYWNlX3ByZWVtcHRfb24odW5zaWduZWQgbG9uZyBhMCwgdW5zaWduZWQgbG9uZyBhMSk7CisgIGV4dGVybiB2b2lkIHRyYWNlX3ByZWVtcHRfb2ZmKHVuc2lnbmVkIGxvbmcgYTAsIHVuc2lnbmVkIGxvbmcgYTEpOworI2Vsc2UKKyMgZGVmaW5lIHRyYWNlX3ByZWVtcHRfb24oYTAsIGExKQkJZG8geyB9IHdoaWxlICgwKQorIyBkZWZpbmUgdHJhY2VfcHJlZW1wdF9vZmYoYTAsIGExKQkJZG8geyB9IHdoaWxlICgwKQorI2VuZGlmCisKKyNpZmRlZiBDT05GSUdfVFJBQ0lORworZXh0ZXJuIHZvaWQKK2Z0cmFjZV9zcGVjaWFsKHVuc2lnbmVkIGxvbmcgYXJnMSwgdW5zaWduZWQgbG9uZyBhcmcyLCB1bnNpZ25lZCBsb25nIGFyZzMpOworI2Vsc2UKK3N0YXRpYyBpbmxpbmUgdm9pZAorZnRyYWNlX3NwZWNpYWwodW5zaWduZWQgbG9uZyBhcmcxLCB1bnNpZ25lZCBsb25nIGFyZzIsIHVuc2lnbmVkIGxvbmcgYXJnMykgeyB9CisjZW5kaWYKKworI2VuZGlmIC8qIF9MSU5VWF9GVFJBQ0VfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9nZW5oZC5oIGIvaW5jbHVkZS9saW51eC9nZW5oZC5oCmluZGV4IGFlN2FlYzMuLmU4Nzg3NDEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvZ2VuaGQuaAorKysgYi9pbmNsdWRlL2xpbnV4L2dlbmhkLmgKQEAgLTExMCw2ICsxMTAsMTQgQEAKICNkZWZpbmUgR0VOSERfRkxfU1VQUFJFU1NfUEFSVElUSU9OX0lORk8JMzIKICNkZWZpbmUgR0VOSERfRkxfRkFJTAkJCQk2NAogCisjZGVmaW5lIEJMS19TQ1NJX01BWF9DTURTCSgyNTYpCisjZGVmaW5lIEJMS19TQ1NJX0NNRF9QRVJfTE9ORwkoQkxLX1NDU0lfTUFYX0NNRFMgLyAoc2l6ZW9mKGxvbmcpICogOCkpCisKK3N0cnVjdCBibGtfc2NzaV9jbWRfZmlsdGVyIHsKKwl1bnNpZ25lZCBsb25nIHJlYWRfb2tbQkxLX1NDU0lfQ01EX1BFUl9MT05HXTsKKwl1bnNpZ25lZCBsb25nIHdyaXRlX29rW0JMS19TQ1NJX0NNRF9QRVJfTE9OR107CisJc3RydWN0IGtvYmplY3Qga29iajsKK307CiAKIHN0cnVjdCBnZW5kaXNrIHsKIAlpbnQgbWFqb3I7CQkJLyogbWFqb3IgbnVtYmVyIG9mIGRyaXZlciAqLwpAQCAtMTIwLDYgKzEyOCw3IEBACiAJc3RydWN0IGhkX3N0cnVjdCAqKnBhcnQ7CS8qIFtpbmRleGVkIGJ5IG1pbm9yXSAqLwogCXN0cnVjdCBibG9ja19kZXZpY2Vfb3BlcmF0aW9ucyAqZm9wczsKIAlzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcXVldWU7CisJc3RydWN0IGJsa19zY3NpX2NtZF9maWx0ZXIgY21kX2ZpbHRlcjsKIAl2b2lkICpwcml2YXRlX2RhdGE7CiAJc2VjdG9yX3QgY2FwYWNpdHk7CiAKQEAgLTE0MSw2ICsxNTAsOSBAQAogCXN0cnVjdCBkaXNrX3N0YXRzIGRrc3RhdHM7CiAjZW5kaWYKIAlzdHJ1Y3Qgd29ya19zdHJ1Y3QgYXN5bmNfbm90aWZ5OworI2lmZGVmICBDT05GSUdfQkxLX0RFVl9JTlRFR1JJVFkKKwlzdHJ1Y3QgYmxrX2ludGVncml0eSAqaW50ZWdyaXR5OworI2VuZGlmCiB9OwogCiAvKiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvaTJjLWFsZ28tcGNmLmggYi9pbmNsdWRlL2xpbnV4L2kyYy1hbGdvLXBjZi5oCmluZGV4IDc3YWZiYjYuLjAxNzdkMjggMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvaTJjLWFsZ28tcGNmLmgKKysrIGIvaW5jbHVkZS9saW51eC9pMmMtYWxnby1wY2YuaApAQCAtMzMsOSArMzMsMTEgQEAKIAlpbnQgICgqZ2V0Y2xvY2spICh2b2lkICpkYXRhKTsKIAl2b2lkICgqd2FpdGZvcnBpbikgKHZvaWQpOwogCi0JLyogbG9jYWwgc2V0dGluZ3MgKi8KLQlpbnQgdWRlbGF5OwotCWludCB0aW1lb3V0OworCS8qIE11bHRpLW1hc3RlciBsb3N0IGFyYml0cmF0aW9uIGJhY2stb2ZmIGRlbGF5IChtc2VjcykKKwkgKiBUaGlzIHNob3VsZCBiZSBzZXQgYnkgdGhlIGJ1cyBhZGFwdGVyIG9yIGtub3dsZWRnYWJsZSBjbGllbnQKKwkgKiBpZiBidXMgaXMgbXVsdGktbWFzdGVyZWQsIGVsc2UgemVybworCSAqLworCXVuc2lnbmVkIGxvbmcgbGFiX21kZWxheTsKIH07CiAKIGludCBpMmNfcGNmX2FkZF9idXMoc3RydWN0IGkyY19hZGFwdGVyICopOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9pMmMtaWQuaCBiL2luY2x1ZGUvbGludXgvaTJjLWlkLmgKaW5kZXggNTgwYWNjOS4uZWYxM2I3YzYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvaTJjLWlkLmgKKysrIGIvaW5jbHVkZS9saW51eC9pMmMtaWQuaApAQCAtOTEsOCArOTEsNiBAQAogI2RlZmluZSBJMkNfRFJJVkVSSURfTTUyNzkwIAk5NSAgICAgIC8qIE1pdHN1YmlzaGkgTTUyNzkwU1AvRlAgQVYgc3dpdGNoICovCiAjZGVmaW5lIEkyQ19EUklWRVJJRF9DUzUzNDUJOTYJLyogY3M1MzQ1IGF1ZGlvIHByb2Nlc3NvcgkqLwogCi0jZGVmaW5lIEkyQ19EUklWRVJJRF9JMkNERVYJOTAwCi0KICNkZWZpbmUgSTJDX0RSSVZFUklEX09WNzY3MCAxMDQ4CS8qIE9tbml2aXNpb24gNzY3MCBjYW1lcmEgKi8KIAogLyoKQEAgLTExMSw3ICsxMDksNiBAQAogI2RlZmluZSBJMkNfSFdfQl9SSVZBCQkweDAxMDAxMCAvKiBSaXZhIGJhc2VkIGdyYXBoaWNzIGNhcmRzICovCiAjZGVmaW5lIEkyQ19IV19CX0lPQwkJMHgwMTAwMTEgLyogSU9DIGJpdC13aWdnbGluZyAqLwogI2RlZmluZSBJMkNfSFdfQl9JWFAyMDAwCTB4MDEwMDE2IC8qIEdQSU8gb24gSVhQMjAwMCBzeXN0ZW1zICovCi0jZGVmaW5lIEkyQ19IV19CX1MzVklBCQkweDAxMDAxOCAvKiBTM1ZpYSBQcm9TYXZhZ2UgYWRhcHRlciAqLwogI2RlZmluZSBJMkNfSFdfQl9aUjM2MDY3CTB4MDEwMDE5IC8qIFpvcmFuLTM2MDU3LzM2MDY3IGJhc2VkIGJvYXJkcyAqLwogI2RlZmluZSBJMkNfSFdfQl9QQ0lMWU5YCTB4MDEwMDFhIC8qIFRJIFBDSUx5bnggSTJDIGFkYXB0ZXIgKi8KICNkZWZpbmUgSTJDX0hXX0JfQ1gyMzg4eAkweDAxMDAxYiAvKiBjb25uZXhhbnQgMjM4OHggYmFzZWQgdHYgY2FyZHMgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvaTJjLmggYi9pbmNsdWRlL2xpbnV4L2kyYy5oCmluZGV4IDhkYzczMDEuLjA4YmUwZDIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvaTJjLmgKKysrIGIvaW5jbHVkZS9saW51eC9pMmMuaApAQCAtMzUsNiArMzUsOCBAQAogI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CS8qIGZvciBjb21wbGV0aW9uICovCiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KIAorZXh0ZXJuIHN0cnVjdCBidXNfdHlwZSBpMmNfYnVzX3R5cGU7CisKIC8qIC0tLSBHZW5lcmFsIG9wdGlvbnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCSovCiAKIHN0cnVjdCBpMmNfbXNnOwpAQCAtNDMsNiArNDUsNyBAQAogc3RydWN0IGkyY19jbGllbnQ7CiBzdHJ1Y3QgaTJjX2RyaXZlcjsKIHVuaW9uIGkyY19zbWJ1c19kYXRhOworc3RydWN0IGkyY19ib2FyZF9pbmZvOwogCiAvKgogICogVGhlIG1hc3RlciByb3V0aW5lcyBhcmUgdGhlIG9uZXMgbm9ybWFsbHkgdXNlZCB0byB0cmFuc21pdCBkYXRhIHRvIGRldmljZXMKQEAgLTY5LDkgKzcyLDggQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuaW9uIGkyY19zbWJ1c19kYXRhICogZGF0YSk7CiAKIC8qIE5vdyBmb2xsb3cgdGhlICduaWNlJyBhY2Nlc3Mgcm91dGluZXMuIFRoZXNlIGFsc28gZG9jdW1lbnQgdGhlIGNhbGxpbmcKLSAgIGNvbnZlbnRpb25zIG9mIHNtYnVzX2FjY2Vzcy4gKi8KKyAgIGNvbnZlbnRpb25zIG9mIGkyY19zbWJ1c194ZmVyLiAqLwogCi1leHRlcm4gczMyIGkyY19zbWJ1c193cml0ZV9xdWljayhzdHJ1Y3QgaTJjX2NsaWVudCAqIGNsaWVudCwgdTggdmFsdWUpOwogZXh0ZXJuIHMzMiBpMmNfc21idXNfcmVhZF9ieXRlKHN0cnVjdCBpMmNfY2xpZW50ICogY2xpZW50KTsKIGV4dGVybiBzMzIgaTJjX3NtYnVzX3dyaXRlX2J5dGUoc3RydWN0IGkyY19jbGllbnQgKiBjbGllbnQsIHU4IHZhbHVlKTsKIGV4dGVybiBzMzIgaTJjX3NtYnVzX3JlYWRfYnl0ZV9kYXRhKHN0cnVjdCBpMmNfY2xpZW50ICogY2xpZW50LCB1OCBjb21tYW5kKTsKQEAgLTkzLDE1ICs5NSwzMyBAQAogCQkJCQkgIHU4IGNvbW1hbmQsIHU4IGxlbmd0aCwKIAkJCQkJICBjb25zdCB1OCAqdmFsdWVzKTsKIAotLyoKLSAqIEEgZHJpdmVyIGlzIGNhcGFibGUgb2YgaGFuZGxpbmcgb25lIG9yIG1vcmUgcGh5c2ljYWwgZGV2aWNlcyBwcmVzZW50IG9uCi0gKiBJMkMgYWRhcHRlcnMuIFRoaXMgaW5mb3JtYXRpb24gaXMgdXNlZCB0byBpbmZvcm0gdGhlIGRyaXZlciBvZiBhZGFwdGVyCi0gKiBldmVudHMuCisvKioKKyAqIHN0cnVjdCBpMmNfZHJpdmVyIC0gcmVwcmVzZW50IGFuIEkyQyBkZXZpY2UgZHJpdmVyCisgKiBAY2xhc3M6IFdoYXQga2luZCBvZiBpMmMgZGV2aWNlIHdlIGluc3RhbnRpYXRlIChmb3IgZGV0ZWN0KQorICogQGRldGVjdDogQ2FsbGJhY2sgZm9yIGRldmljZSBkZXRlY3Rpb24KKyAqIEBhZGRyZXNzX2RhdGE6IFRoZSBJMkMgYWRkcmVzc2VzIHRvIHByb2JlLCBpZ25vcmUgb3IgZm9yY2UgKGZvciBkZXRlY3QpCisgKiBAY2xpZW50czogTGlzdCBvZiBkZXRlY3RlZCBjbGllbnRzIHdlIGNyZWF0ZWQgKGZvciBpMmMtY29yZSB1c2Ugb25seSkKICAqCiAgKiBUaGUgZHJpdmVyLm93bmVyIGZpZWxkIHNob3VsZCBiZSBzZXQgdG8gdGhlIG1vZHVsZSBvd25lciBvZiB0aGlzIGRyaXZlci4KICAqIFRoZSBkcml2ZXIubmFtZSBmaWVsZCBzaG91bGQgYmUgc2V0IHRvIHRoZSBuYW1lIG9mIHRoaXMgZHJpdmVyLgorICoKKyAqIEZvciBhdXRvbWF0aWMgZGV2aWNlIGRldGVjdGlvbiwgYm90aCBAZGV0ZWN0IGFuZCBAYWRkcmVzc19kYXRhIG11c3QKKyAqIGJlIGRlZmluZWQuIEBjbGFzcyBzaG91bGQgYWxzbyBiZSBzZXQsIG90aGVyd2lzZSBvbmx5IGRldmljZXMgZm9yY2VkCisgKiB3aXRoIG1vZHVsZSBwYXJhbWV0ZXJzIHdpbGwgYmUgY3JlYXRlZC4gVGhlIGRldGVjdCBmdW5jdGlvbiBtdXN0CisgKiBmaWxsIGF0IGxlYXN0IHRoZSBuYW1lIGZpZWxkIG9mIHRoZSBpMmNfYm9hcmRfaW5mbyBzdHJ1Y3R1cmUgaXQgaXMKKyAqIGhhbmRlZCB1cG9uIHN1Y2Nlc3NmdWwgZGV0ZWN0aW9uLCBhbmQgcG9zc2libHkgYWxzbyB0aGUgZmxhZ3MgZmllbGQuCisgKgorICogSWYgQGRldGVjdCBpcyBtaXNzaW5nLCB0aGUgZHJpdmVyIHdpbGwgc3RpbGwgd29yayBmaW5lIGZvciBlbnVtZXJhdGVkCisgKiBkZXZpY2VzLiBEZXRlY3RlZCBkZXZpY2VzIHNpbXBseSB3b24ndCBiZSBzdXBwb3J0ZWQuIFRoaXMgaXMgZXhwZWN0ZWQKKyAqIGZvciB0aGUgbWFueSBJMkMvU01CdXMgZGV2aWNlcyB3aGljaCBjYW4ndCBiZSBkZXRlY3RlZCByZWxpYWJseSwgYW5kCisgKiB0aGUgb25lcyB3aGljaCBjYW4gYWx3YXlzIGJlIGVudW1lcmF0ZWQgaW4gcHJhY3RpY2UuCisgKgorICogVGhlIGkyY19jbGllbnQgc3RydWN0dXJlIHdoaWNoIGlzIGhhbmRlZCB0byB0aGUgQGRldGVjdCBjYWxsYmFjayBpcworICogbm90IGEgcmVhbCBpMmNfY2xpZW50LiBJdCBpcyBpbml0aWFsaXplZCBqdXN0IGVub3VnaCBzbyB0aGF0IHlvdSBjYW4KKyAqIGNhbGwgaTJjX3NtYnVzX3JlYWRfYnl0ZV9kYXRhIGFuZCBmcmllbmRzIG9uIGl0LiBEb24ndCBkbyBhbnl0aGluZworICogZWxzZSB3aXRoIGl0LiBJbiBwYXJ0aWN1bGFyLCBjYWxsaW5nIGRldl9kYmcgYW5kIGZyaWVuZHMgb24gaXQgaXMKKyAqIG5vdCBhbGxvd2VkLgogICovCi0KIHN0cnVjdCBpMmNfZHJpdmVyIHsKIAlpbnQgaWQ7CiAJdW5zaWduZWQgaW50IGNsYXNzOwpAQCAtMTQxLDYgKzE2MSwxMSBAQAogCiAJc3RydWN0IGRldmljZV9kcml2ZXIgZHJpdmVyOwogCWNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkICppZF90YWJsZTsKKworCS8qIERldmljZSBkZXRlY3Rpb24gY2FsbGJhY2sgZm9yIGF1dG9tYXRpYyBkZXZpY2UgY3JlYXRpb24gKi8KKwlpbnQgKCpkZXRlY3QpKHN0cnVjdCBpMmNfY2xpZW50ICosIGludCBraW5kLCBzdHJ1Y3QgaTJjX2JvYXJkX2luZm8gKik7CisJY29uc3Qgc3RydWN0IGkyY19jbGllbnRfYWRkcmVzc19kYXRhICphZGRyZXNzX2RhdGE7CisJc3RydWN0IGxpc3RfaGVhZCBjbGllbnRzOwogfTsKICNkZWZpbmUgdG9faTJjX2RyaXZlcihkKSBjb250YWluZXJfb2YoZCwgc3RydWN0IGkyY19kcml2ZXIsIGRyaXZlcikKIApAQCAtMTU2LDYgKzE4MSw3IEBACiAgKiBAZGV2OiBEcml2ZXIgbW9kZWwgZGV2aWNlIG5vZGUgZm9yIHRoZSBzbGF2ZS4KICAqIEBpcnE6IGluZGljYXRlcyB0aGUgSVJRIGdlbmVyYXRlZCBieSB0aGlzIGRldmljZSAoaWYgYW55KQogICogQGxpc3Q6IGxpc3Qgb2YgYWN0aXZlL2J1c3kgY2xpZW50cyAoREVQUkVDQVRFRCkKKyAqIEBkZXRlY3RlZDogbWVtYmVyIG9mIGFuIGkyY19kcml2ZXIuY2xpZW50cyBsaXN0CiAgKiBAcmVsZWFzZWQ6IHVzZWQgdG8gc3luY2hyb25pemUgY2xpZW50IHJlbGVhc2VzICYgZGV0YWNoZXMgYW5kIHJlZmVyZW5jZXMKICAqCiAgKiBBbiBpMmNfY2xpZW50IGlkZW50aWZpZXMgYSBzaW5nbGUgZGV2aWNlIChpLmUuIGNoaXApIGNvbm5lY3RlZCB0byBhbgpAQCAtMTczLDYgKzE5OSw3IEBACiAJc3RydWN0IGRldmljZSBkZXY7CQkvKiB0aGUgZGV2aWNlIHN0cnVjdHVyZQkJKi8KIAlpbnQgaXJxOwkJCS8qIGlycSBpc3N1ZWQgYnkgZGV2aWNlCQkqLwogCXN0cnVjdCBsaXN0X2hlYWQgbGlzdDsJCS8qIERFUFJFQ0FURUQgKi8KKwlzdHJ1Y3QgbGlzdF9oZWFkIGRldGVjdGVkOwogCXN0cnVjdCBjb21wbGV0aW9uIHJlbGVhc2VkOwogfTsKICNkZWZpbmUgdG9faTJjX2NsaWVudChkKSBjb250YWluZXJfb2YoZCwgc3RydWN0IGkyY19jbGllbnQsIGRldikKQEAgLTM1MCwxMCArMzc3LDExIEBACiAjZGVmaW5lIEkyQ19DTEFTU19IV01PTgkJKDE8PDApCS8qIGxtX3NlbnNvcnMsIC4uLiAqLwogI2RlZmluZSBJMkNfQ0xBU1NfVFZfQU5BTE9HCSgxPDwxKQkvKiBidHR2ICsgZnJpZW5kcyAqLwogI2RlZmluZSBJMkNfQ0xBU1NfVFZfRElHSVRBTAkoMTw8MikJLyogZHZiIGNhcmRzICovCi0jZGVmaW5lIEkyQ19DTEFTU19EREMJCSgxPDwzKQkvKiBpMmMtbWF0cm94ZmIgPyAqLworI2RlZmluZSBJMkNfQ0xBU1NfRERDCQkoMTw8MykJLyogRERDIGJ1cyBvbiBncmFwaGljcyBhZGFwdGVycyAqLwogI2RlZmluZSBJMkNfQ0xBU1NfQ0FNX0FOQUxPRwkoMTw8NCkJLyogY2FtZXJhIHdpdGggYW5hbG9nIENDRCAqLwogI2RlZmluZSBJMkNfQ0xBU1NfQ0FNX0RJR0lUQUwJKDE8PDUpCS8qIG1vc3Qgd2ViY2FtcyAqLwogI2RlZmluZSBJMkNfQ0xBU1NfU09VTkQJCSgxPDw2KQkvKiBzb3VuZCBkZXZpY2VzICovCisjZGVmaW5lIEkyQ19DTEFTU19TUEQJCSgxPDw3KQkvKiBTUEQgRUVQUk9NcyBhbmQgc2ltaWxhciAqLwogI2RlZmluZSBJMkNfQ0xBU1NfQUxMCQkoVUlOVF9NQVgpIC8qIGFsbCBvZiB0aGUgYWJvdmUgKi8KIAogLyogaTJjX2NsaWVudF9hZGRyZXNzX2RhdGEgaXMgdGhlIHN0cnVjdCBmb3IgaG9sZGluZyBkZWZhdWx0IGNsaWVudApAQCAtNTM3LDcgKzU2NSw3IEBACiAJICAgICAgICAgICAgICAgICAgICAgICAvKiBhbmQgb25lIG1vcmUgZm9yIHVzZXItc3BhY2UgY29tcGF0aWJpbGl0eSAqLwogfTsKIAotLyogc21idXNfYWNjZXNzIHJlYWQgb3Igd3JpdGUgbWFya2VycyAqLworLyogaTJjX3NtYnVzX3hmZXIgcmVhZCBvciB3cml0ZSBtYXJrZXJzICovCiAjZGVmaW5lIEkyQ19TTUJVU19SRUFECTEKICNkZWZpbmUgSTJDX1NNQlVTX1dSSVRFCTAKIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9pMmMvYXQyNC5oIGIvaW5jbHVkZS9saW51eC9pMmMvYXQyNC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY2ZWRkNTIKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2xpbnV4L2kyYy9hdDI0LmgKQEAgLTAsMCArMSwyOCBAQAorI2lmbmRlZiBfTElOVVhfQVQyNF9ICisjZGVmaW5lIF9MSU5VWF9BVDI0X0gKKworI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisKKy8qCisgKiBBcyBzZWVuIHRocm91Z2ggTGludXggSTJDLCBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRoZSBtb3N0IGNvbW1vbiB0eXBlcyBvZiBJMkMKKyAqIG1lbW9yeSBpbmNsdWRlOgorICogLSBIb3cgbXVjaCBtZW1vcnkgaXMgYXZhaWxhYmxlICh1c3VhbGx5IHNwZWNpZmllZCBpbiBiaXQpPworICogLSBXaGF0IHdyaXRlIHBhZ2Ugc2l6ZSBkb2VzIGl0IHN1cHBvcnQ/CisgKiAtIFNwZWNpYWwgZmxhZ3MgKDE2IGJpdCBhZGRyZXNzZXMsIHJlYWRfb25seSwgd29ybGQgcmVhZGFibGUuLi4pPworICoKKyAqIElmIHlvdSBzZXQgdXAgYSBjdXN0b20gZWVwcm9tIHR5cGUsIHBsZWFzZSBkb3VibGUtY2hlY2sgdGhlIHBhcmFtZXRlcnMuCisgKiBFc3BlY2lhbGx5IHBhZ2Vfc2l6ZSBuZWVkcyBleHRyYSBjYXJlLCBhcyB5b3UgcmlzayBkYXRhIGxvc3MgaWYgeW91ciB2YWx1ZQorICogaXMgYmlnZ2VyIHRoYW4gd2hhdCB0aGUgY2hpcCBhY3R1YWxseSBzdXBwb3J0cyEKKyAqLworCitzdHJ1Y3QgYXQyNF9wbGF0Zm9ybV9kYXRhIHsKKwl1MzIJCWJ5dGVfbGVuOwkJLyogc2l6ZSAoc3VtIG9mIGFsbCBhZGRyKSAqLworCXUxNgkJcGFnZV9zaXplOwkJLyogZm9yIHdyaXRlcyAqLworCXU4CQlmbGFnczsKKyNkZWZpbmUgQVQyNF9GTEFHX0FERFIxNgkweDgwCS8qIGFkZHJlc3MgcG9pbnRlciBpcyAxNiBiaXQgKi8KKyNkZWZpbmUgQVQyNF9GTEFHX1JFQURPTkxZCTB4NDAJLyogc3lzZnMtZW50cnkgd2lsbCBiZSByZWFkLW9ubHkgKi8KKyNkZWZpbmUgQVQyNF9GTEFHX0lSVUdPCQkweDIwCS8qIHN5c2ZzLWVudHJ5IHdpbGwgYmUgd29ybGQtcmVhZGFibGUgKi8KKyNkZWZpbmUgQVQyNF9GTEFHX1RBS0U4QUREUgkweDEwCS8qIHRha2UgYWx3YXlzIDggYWRkcmVzc2VzICgyNGMwMCkgKi8KK307CisKKyNlbmRpZiAvKiBfTElOVVhfQVQyNF9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2lkZS5oIGIvaW5jbHVkZS9saW51eC9pZGUuaAppbmRleCBlZGRiNmRhLi5hYzRlZWIyIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2lkZS5oCisrKyBiL2luY2x1ZGUvbGludXgvaWRlLmgKQEAgLTM2NCw3ICszNjQsNiBAQAogICAgICAgICB1OAl3Y2FjaGU7CQkvKiBzdGF0dXMgb2Ygd3JpdGUgY2FjaGUgKi8KIAl1OAlhY291c3RpYzsJLyogYWNvdXN0aWMgbWFuYWdlbWVudCAqLwogCXU4CW1lZGlhOwkJLyogZGlzaywgY2Ryb20sIHRhcGUsIGZsb3BweSwgLi4uICovCi0JdTgJY3RsOwkJLyogIm5vcm1hbCIgdmFsdWUgZm9yIENvbnRyb2wgcmVnaXN0ZXIgKi8KIAl1OAlyZWFkeV9zdGF0OwkvKiBtaW4gc3RhdHVzIHZhbHVlIGZvciBkcml2ZSByZWFkeSAqLwogCXU4CW11bHRfY291bnQ7CS8qIGN1cnJlbnQgbXVsdGlwbGUgc2VjdG9yIHNldHRpbmcgKi8KIAl1OAltdWx0X3JlcTsJLyogcmVxdWVzdGVkIG11bHRpcGxlIHNlY3RvciBzZXR0aW5nICovCkBAIC00OTMsNyArNDkyLDcgQEAKIAl2b2lkICgqaWRlX2RtYV9jbGVhcl9pcnEpKGlkZV9kcml2ZV90ICpkcml2ZSk7CiAKIAl2b2lkICgqT1VUQikodTggYWRkciwgdW5zaWduZWQgbG9uZyBwb3J0KTsKLQl2b2lkICgqT1VUQlNZTkMpKGlkZV9kcml2ZV90ICpkcml2ZSwgdTggYWRkciwgdW5zaWduZWQgbG9uZyBwb3J0KTsKKwl2b2lkICgqT1VUQlNZTkMpKHN0cnVjdCBod2lmX3MgKmh3aWYsIHU4IGFkZHIsIHVuc2lnbmVkIGxvbmcgcG9ydCk7CiAKIAl1OCAgKCpJTkIpKHVuc2lnbmVkIGxvbmcgcG9ydCk7CiAKQEAgLTUzMiw3ICs1MzEsNiBAQAogCXVuc2lnbmVkCXNlcmlhbGl6ZWQgOiAxOwkvKiBzZXJpYWxpemVkIGFsbCBjaGFubmVsIG9wZXJhdGlvbiAqLwogCXVuc2lnbmVkCXNoYXJpbmdfaXJxOiAxOwkvKiAxID0gc2hhcmluZyBpcnEgd2l0aCBhbm90aGVyIGh3aWYgKi8KIAl1bnNpZ25lZAlzZ19tYXBwZWQgIDogMTsJLyogc2dfdGFibGUgYW5kIHNnX25lbnRzIGFyZSByZWFkeSAqLwotCXVuc2lnbmVkCW1taW8gICAgICAgOiAxOyAvKiBob3N0IHVzZXMgTU1JTyAqLwogCiAJc3RydWN0IGRldmljZQkJZ2VuZGV2OwogCXN0cnVjdCBkZXZpY2UJCSpwb3J0ZGV2OwpAQCAtNjA0LDEyICs2MDIsMTMgQEAKIAlQQ19GTEFHX1NVUFBSRVNTX0VSUk9SCQk9ICgxIDw8IDEpLAogCVBDX0ZMQUdfV0FJVF9GT1JfRFNDCQk9ICgxIDw8IDIpLAogCVBDX0ZMQUdfRE1BX09LCQkJPSAoMSA8PCAzKSwKLQlQQ19GTEFHX0RNQV9SRUNPTU1FTkRFRAkJPSAoMSA8PCA0KSwKLQlQQ19GTEFHX0RNQV9JTl9QUk9HUkVTUwkJPSAoMSA8PCA1KSwKLQlQQ19GTEFHX0RNQV9FUlJPUgkJPSAoMSA8PCA2KSwKLQlQQ19GTEFHX1dSSVRJTkcJCQk9ICgxIDw8IDcpLAorCVBDX0ZMQUdfRE1BX0lOX1BST0dSRVNTCQk9ICgxIDw8IDQpLAorCVBDX0ZMQUdfRE1BX0VSUk9SCQk9ICgxIDw8IDUpLAorCVBDX0ZMQUdfV1JJVElORwkJCT0gKDEgPDwgNiksCiAJLyogY29tbWFuZCB0aW1lZCBvdXQgKi8KLQlQQ19GTEFHX1RJTUVET1VUCQk9ICgxIDw8IDgpLAorCVBDX0ZMQUdfVElNRURPVVQJCT0gKDEgPDwgNyksCisJUENfRkxBR19aSVBfRFJJVkUJCT0gKDEgPDwgOCksCisJUENfRkxBR19EUlFfSU5URVJSVVBUCQk9ICgxIDw8IDkpLAogfTsKIAogc3RydWN0IGlkZV9hdGFwaV9wYyB7CkBAIC02NDIsOCArNjQxLDggQEAKIAkgKiB0byBjaGFuZ2UvcmVtb3ZhbCBsYXRlci4KIAkgKi8KIAl1OCBwY19idWZbMjU2XTsKLQl2b2lkICgqaWRlZmxvcHB5X2NhbGxiYWNrKSAoaWRlX2RyaXZlX3QgKik7Ci0JaWRlX3N0YXJ0c3RvcF90ICgqaWRldGFwZV9jYWxsYmFjaykgKGlkZV9kcml2ZV90ICopOworCisJdm9pZCAoKmNhbGxiYWNrKShpZGVfZHJpdmVfdCAqKTsKIAogCS8qIGlkZXRhcGUgb25seSAqLwogCXN0cnVjdCBpZGV0YXBlX2JoICpiaDsKQEAgLTgxMywxMCArODEyLDYgQEAKICNpZm5kZWYgX0lERV9DCiBleHRlcm4JaWRlX2h3aWZfdAlpZGVfaHdpZnNbXTsJCS8qIG1hc3RlciBkYXRhIHJlcG9zaXRvcnkgKi8KICNlbmRpZgotZXh0ZXJuIGludCBpZGVfbm9hY3BpOwotZXh0ZXJuIGludCBpZGVfYWNwaWd0ZjsKLWV4dGVybiBpbnQgaWRlX2FjcGlvbmJvb3Q7Ci1leHRlcm4gaW50IG5vYXV0b2RtYTsKIAogZXh0ZXJuIGludCBpZGVfdmxiX2NsazsKIGV4dGVybiBpbnQgaWRlX3BjaV9jbGs7CkBAIC04NTcsMjUgKzg1MiwxMiBAQAogCiBleHRlcm4gaWRlX3N0YXJ0c3RvcF90IGlkZV9kb19yZXNldCAoaWRlX2RyaXZlX3QgKik7CiAKLWV4dGVybiB2b2lkIGlkZV9pbml0X2RyaXZlX2NtZCAoc3RydWN0IHJlcXVlc3QgKnJxKTsKLQotLyoKLSAqICJhY3Rpb24iIHBhcmFtZXRlciB0eXBlIGZvciBpZGVfZG9fZHJpdmVfY21kKCkgYmVsb3cuCi0gKi8KLXR5cGVkZWYgZW51bSB7Ci0JaWRlX3dhaXQsCS8qIGluc2VydCBycSBhdCBlbmQgb2YgbGlzdCwgYW5kIHdhaXQgZm9yIGl0ICovCi0JaWRlX3ByZWVtcHQsCS8qIGluc2VydCBycSBpbiBmcm9udCBvZiBjdXJyZW50IHJlcXVlc3QgKi8KLQlpZGVfaGVhZF93YWl0LAkvKiBpbnNlcnQgcnEgaW4gZnJvbnQgb2YgY3VycmVudCByZXF1ZXN0IGFuZCB3YWl0IGZvciBpdCAqLwotCWlkZV9lbmQJCS8qIGluc2VydCBycSBhdCBlbmQgb2YgbGlzdCwgYnV0IGRvbid0IHdhaXQgZm9yIGl0ICovCi19IGlkZV9hY3Rpb25fdDsKLQotZXh0ZXJuIGludCBpZGVfZG9fZHJpdmVfY21kKGlkZV9kcml2ZV90ICosIHN0cnVjdCByZXF1ZXN0ICosIGlkZV9hY3Rpb25fdCk7CitleHRlcm4gdm9pZCBpZGVfZG9fZHJpdmVfY21kKGlkZV9kcml2ZV90ICosIHN0cnVjdCByZXF1ZXN0ICopOwogCiBleHRlcm4gdm9pZCBpZGVfZW5kX2RyaXZlX2NtZChpZGVfZHJpdmVfdCAqLCB1OCwgdTgpOwogCiBlbnVtIHsKIAlJREVfVEZMQUdfTEJBNDgJCQk9ICgxIDw8IDApLAotCUlERV9URkxBR19OT19TRUxFQ1RfTUFTSwk9ICgxIDw8IDEpLAogCUlERV9URkxBR19GTEFHR0VECQk9ICgxIDw8IDIpLAogCUlERV9URkxBR19PVVRfREFUQQkJPSAoMSA8PCAzKSwKIAlJREVfVEZMQUdfT1VUX0hPQl9GRUFUVVJFCT0gKDEgPDwgNCksCkBAIC05ODAsMTEgKzk2MiwyMyBAQAogdm9pZCBpZGVfdGZfZHVtcChjb25zdCBjaGFyICosIHN0cnVjdCBpZGVfdGFza2ZpbGUgKik7CiAKIGV4dGVybiB2b2lkIFNFTEVDVF9EUklWRShpZGVfZHJpdmVfdCAqKTsKK3ZvaWQgU0VMRUNUX01BU0soaWRlX2RyaXZlX3QgKiwgaW50KTsKIAogZXh0ZXJuIGludCBkcml2ZV9pc19yZWFkeShpZGVfZHJpdmVfdCAqKTsKIAogdm9pZCBpZGVfcGt0Y21kX3RmX2xvYWQoaWRlX2RyaXZlX3QgKiwgdTMyLCB1MTYsIHU4KTsKIAoraWRlX3N0YXJ0c3RvcF90IGlkZV9wY19pbnRyKGlkZV9kcml2ZV90ICpkcml2ZSwgc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMsCisJaWRlX2hhbmRsZXJfdCAqaGFuZGxlciwgdW5zaWduZWQgaW50IHRpbWVvdXQsIGlkZV9leHBpcnlfdCAqZXhwaXJ5LAorCXZvaWQgKCp1cGRhdGVfYnVmZmVycykoaWRlX2RyaXZlX3QgKiwgc3RydWN0IGlkZV9hdGFwaV9wYyAqKSwKKwl2b2lkICgqcmV0cnlfcGMpKGlkZV9kcml2ZV90ICopLCB2b2lkICgqZHNjX2hhbmRsZSkoaWRlX2RyaXZlX3QgKiksCisJdm9pZCAoKmlvX2J1ZmZlcnMpKGlkZV9kcml2ZV90ICosIHN0cnVjdCBpZGVfYXRhcGlfcGMgKiwgdW5zaWduZWQgaW50LAorCQkJICAgaW50KSk7CitpZGVfc3RhcnRzdG9wX3QgaWRlX3RyYW5zZmVyX3BjKGlkZV9kcml2ZV90ICosIHN0cnVjdCBpZGVfYXRhcGlfcGMgKiwKKwkJCQlpZGVfaGFuZGxlcl90ICosIHVuc2lnbmVkIGludCwgaWRlX2V4cGlyeV90ICopOworaWRlX3N0YXJ0c3RvcF90IGlkZV9pc3N1ZV9wYyhpZGVfZHJpdmVfdCAqLCBzdHJ1Y3QgaWRlX2F0YXBpX3BjICosCisJCQkgICAgIGlkZV9oYW5kbGVyX3QgKiwgdW5zaWduZWQgaW50LCBpZGVfZXhwaXJ5X3QgKik7CisKIGlkZV9zdGFydHN0b3BfdCBkb19yd190YXNrZmlsZShpZGVfZHJpdmVfdCAqLCBpZGVfdGFza190ICopOwogCiB2b2lkIHRhc2tfZW5kX3JlcXVlc3QoaWRlX2RyaXZlX3QgKiwgc3RydWN0IHJlcXVlc3QgKiwgdTgpOwpAQCAtOTk2LDggKzk5MCw2IEBACiBpbnQgaWRlX2NtZF9pb2N0bChpZGVfZHJpdmVfdCAqLCB1bnNpZ25lZCBpbnQsIHVuc2lnbmVkIGxvbmcpOwogaW50IGlkZV90YXNrX2lvY3RsKGlkZV9kcml2ZV90ICosIHVuc2lnbmVkIGludCwgdW5zaWduZWQgbG9uZyk7CiAKLWV4dGVybiBpbnQgc3lzdGVtX2J1c19jbG9jayh2b2lkKTsKLQogZXh0ZXJuIGludCBpZGVfZHJpdmVpZF91cGRhdGUoaWRlX2RyaXZlX3QgKik7CiBleHRlcm4gaW50IGlkZV9jb25maWdfZHJpdmVfc3BlZWQoaWRlX2RyaXZlX3QgKiwgdTgpOwogZXh0ZXJuIHU4IGVpZ2h0eV9uaW50eV90aHJlZSAoaWRlX2RyaXZlX3QgKik7CkBAIC0xMzQ5LDcgKzEzNDEsOCBAQAogewogCWlkZV9od2lmX3QgKmh3aWYgPSBkcml2ZS0+aHdpZjsKIAotCWh3aWYtPk9VVEIoZHJpdmUtPmN0bCB8IChvbiA/IDAgOiAyKSwgaHdpZi0+aW9fcG9ydHMuY3RsX2FkZHIpOworCWh3aWYtPk9VVEJTWU5DKGh3aWYsIEFUQV9ERVZDVExfT0JTIHwgKG9uID8gMCA6IDIpLAorCQkgICAgICAgaHdpZi0+aW9fcG9ydHMuY3RsX2FkZHIpOwogfQogCiBzdGF0aWMgaW5saW5lIHU4IGlkZV9yZWFkX3N0YXR1cyhpZGVfZHJpdmVfdCAqZHJpdmUpCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2loZXguaCBiL2luY2x1ZGUvbGludXgvaWhleC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJiYWFjZTIKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2xpbnV4L2loZXguaApAQCAtMCwwICsxLDc0IEBACisvKgorICogQ29tcGFjdCBiaW5hcnkgcmVwcmVzZW50YXRpb24gb2YgaWhleCByZWNvcmRzLiBTb21lIGRldmljZXMgbmVlZCB0aGVpcgorICogZmlybXdhcmUgbG9hZGVkIGluIHN0cmFuZ2Ugb3JkZXJzIHJhdGhlciB0aGFuIGEgc2luZ2xlIGJpZyBibG9iLCBidXQKKyAqIGFjdHVhbGx5IHBhcnNpbmcgaWhleC1hcy10ZXh0IHdpdGhpbiB0aGUga2VybmVsIHNlZW1zIHNpbGx5LiBUaHVzLC4uLgorICovCisKKyNpZm5kZWYgX19MSU5VWF9JSEVYX0hfXworI2RlZmluZSBfX0xJTlVYX0lIRVhfSF9fCisKKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorI2luY2x1ZGUgPGxpbnV4L2Zpcm13YXJlLmg+CisjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+CisKKy8qIEludGVsIEhFWCBmaWxlcyBhY3R1YWxseSBsaW1pdCB0aGUgbGVuZ3RoIHRvIDI1NiBieXRlcywgYnV0IHdlIGhhdmUKKyAgIGRyaXZlcnMgd2hpY2ggd291bGQgYmVuZWZpdCBmcm9tIHVzaW5nIHNlcGFyYXRlIHJlY29yZHMgd2hpY2ggYXJlCisgICBsb25nZXIgdGhhbiB0aGF0LCBzbyB3ZSBleHRlbmQgdG8gMTYgYml0cyBvZiBsZW5ndGggKi8KK3N0cnVjdCBpaGV4X2JpbnJlYyB7CisJX19iZTMyIGFkZHI7CisJX19iZTE2IGxlbjsKKwl1aW50OF90IGRhdGFbMF07Cit9IF9fYXR0cmlidXRlX18oKGFsaWduZWQoNCkpKTsKKworLyogRmluZCB0aGUgbmV4dCByZWNvcmQsIHRha2luZyBpbnRvIGFjY291bnQgdGhlIDQtYnl0ZSBhbGlnbm1lbnQgKi8KK3N0YXRpYyBpbmxpbmUgY29uc3Qgc3RydWN0IGloZXhfYmlucmVjICoKK2loZXhfbmV4dF9iaW5yZWMoY29uc3Qgc3RydWN0IGloZXhfYmlucmVjICpyZWMpCit7CisJaW50IG5leHQgPSAoKGJlMTZfdG9fY3B1KHJlYy0+bGVuKSArIDUpICYgfjMpIC0gMjsKKwlyZWMgPSAodm9pZCAqKSZyZWMtPmRhdGFbbmV4dF07CisKKwlyZXR1cm4gYmUxNl90b19jcHUocmVjLT5sZW4pID8gcmVjIDogTlVMTDsKK30KKworLyogQ2hlY2sgdGhhdCBpaGV4X25leHRfYmlucmVjKCkgd29uJ3QgdGFrZSB1cyBvZmYgdGhlIGVuZCBvZiB0aGUgaW1hZ2UuLi4gKi8KK3N0YXRpYyBpbmxpbmUgaW50IGloZXhfdmFsaWRhdGVfZncoY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdykKK3sKKwljb25zdCBzdHJ1Y3QgaWhleF9iaW5yZWMgKnJlYzsKKwlzaXplX3Qgb2ZzID0gMDsKKworCXdoaWxlIChvZnMgPD0gZnctPnNpemUgLSBzaXplb2YoKnJlYykpIHsKKwkJcmVjID0gKHZvaWQgKikmZnctPmRhdGFbb2ZzXTsKKworCQkvKiBaZXJvIGxlbmd0aCBtYXJrcyBlbmQgb2YgcmVjb3JkcyAqLworCQlpZiAoIWJlMTZfdG9fY3B1KHJlYy0+bGVuKSkKKwkJCXJldHVybiAwOworCisJCS8qIFBvaW50IHRvIG5leHQgcmVjb3JkLi4uICovCisJCW9mcyArPSAoc2l6ZW9mKCpyZWMpICsgYmUxNl90b19jcHUocmVjLT5sZW4pICsgMykgJiB+MzsKKwl9CisJcmV0dXJuIC1FSU5WQUw7Cit9CisKKy8qIFJlcXVlc3QgZmlybXdhcmUgYW5kIHZhbGlkYXRlIGl0IHNvIHRoYXQgd2UgY2FuIHRydXN0IHdlIHdvbid0CisgKiBydW4gb2ZmIHRoZSBlbmQgd2hpbGUgcmVhZGluZyByZWNvcmRzLi4uICovCitzdGF0aWMgaW5saW5lIGludCByZXF1ZXN0X2loZXhfZmlybXdhcmUoY29uc3Qgc3RydWN0IGZpcm13YXJlICoqZncsCisJCQkJCWNvbnN0IGNoYXIgKmZ3X25hbWUsCisJCQkJCXN0cnVjdCBkZXZpY2UgKmRldikKK3sKKwljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmxmdzsKKwlpbnQgcmV0OworCisJcmV0ID0gcmVxdWVzdF9maXJtd2FyZSgmbGZ3LCBmd19uYW1lLCBkZXYpOworCWlmIChyZXQpCisJCXJldHVybiByZXQ7CisJcmV0ID0gaWhleF92YWxpZGF0ZV9mdyhsZncpOworCWlmIChyZXQpIHsKKwkJZGV2X2VycihkZXYsICJGaXJtd2FyZSBcIiVzXCIgbm90IHZhbGlkIElIRVggcmVjb3Jkc1xuIiwKKwkJCWZ3X25hbWUpOworCQlyZWxlYXNlX2Zpcm13YXJlKGxmdyk7CisJCXJldHVybiByZXQ7CisJfQorCSpmdyA9IGxmdzsKKwlyZXR1cm4gMDsKK30KKyNlbmRpZiAvKiBfX0xJTlVYX0lIRVhfSF9fICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2ludGVycnVwdC5oIGIvaW5jbHVkZS9saW51eC9pbnRlcnJ1cHQuaAppbmRleCBmMWZjNzQ3Li42MmFhNGY4IDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2ludGVycnVwdC5oCisrKyBiL2luY2x1ZGUvbGludXgvaW50ZXJydXB0LmgKQEAgLTEwNCw4ICsxMDQsMTEgQEAKIAogI2lmIGRlZmluZWQoQ09ORklHX1NNUCkgJiYgZGVmaW5lZChDT05GSUdfR0VORVJJQ19IQVJESVJRUykKIAorZXh0ZXJuIGNwdW1hc2tfdCBpcnFfZGVmYXVsdF9hZmZpbml0eTsKKwogZXh0ZXJuIGludCBpcnFfc2V0X2FmZmluaXR5KHVuc2lnbmVkIGludCBpcnEsIGNwdW1hc2tfdCBjcHVtYXNrKTsKIGV4dGVybiBpbnQgaXJxX2Nhbl9zZXRfYWZmaW5pdHkodW5zaWduZWQgaW50IGlycSk7CitleHRlcm4gaW50IGlycV9zZWxlY3RfYWZmaW5pdHkodW5zaWduZWQgaW50IGlycSk7CiAKICNlbHNlIC8qIENPTkZJR19TTVAgKi8KIApAQCAtMTE5LDYgKzEyMiw4IEBACiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBpbmxpbmUgaW50IGlycV9zZWxlY3RfYWZmaW5pdHkodW5zaWduZWQgaW50IGlycSkgIHsgcmV0dXJuIDA7IH0KKwogI2VuZGlmIC8qIENPTkZJR19TTVAgJiYgQ09ORklHX0dFTkVSSUNfSEFSRElSUVMgKi8KIAogI2lmZGVmIENPTkZJR19HRU5FUklDX0hBUkRJUlFTCkBAIC0yODUsMTIgKzI5MCwxMSBAQAogc3RydWN0IHNvZnRpcnFfYWN0aW9uCiB7CiAJdm9pZAkoKmFjdGlvbikoc3RydWN0IHNvZnRpcnFfYWN0aW9uICopOwotCXZvaWQJKmRhdGE7CiB9OwogCiBhc21saW5rYWdlIHZvaWQgZG9fc29mdGlycSh2b2lkKTsKIGFzbWxpbmthZ2Ugdm9pZCBfX2RvX3NvZnRpcnEodm9pZCk7Ci1leHRlcm4gdm9pZCBvcGVuX3NvZnRpcnEoaW50IG5yLCB2b2lkICgqYWN0aW9uKShzdHJ1Y3Qgc29mdGlycV9hY3Rpb24qKSwgdm9pZCAqZGF0YSk7CitleHRlcm4gdm9pZCBvcGVuX3NvZnRpcnEoaW50IG5yLCB2b2lkICgqYWN0aW9uKShzdHJ1Y3Qgc29mdGlycV9hY3Rpb24gKikpOwogZXh0ZXJuIHZvaWQgc29mdGlycV9pbml0KHZvaWQpOwogI2RlZmluZSBfX3JhaXNlX3NvZnRpcnFfaXJxb2ZmKG5yKSBkbyB7IG9yX3NvZnRpcnFfcGVuZGluZygxVUwgPDwgKG5yKSk7IH0gd2hpbGUgKDApCiBleHRlcm4gdm9pZCByYWlzZV9zb2Z0aXJxX2lycW9mZih1bnNpZ25lZCBpbnQgbnIpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9pb2NvbnRleHQuaCBiL2luY2x1ZGUvbGludXgvaW9jb250ZXh0LmgKaW5kZXggMmI3YTExOC4uMDhiOTg3YiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9pb2NvbnRleHQuaAorKysgYi9pbmNsdWRlL2xpbnV4L2lvY29udGV4dC5oCkBAIC05OSw0ICs5OSwyMiBAQAogCXJldHVybiBOVUxMOwogfQogCisjaWZkZWYgQ09ORklHX0JMT0NLCitpbnQgcHV0X2lvX2NvbnRleHQoc3RydWN0IGlvX2NvbnRleHQgKmlvYyk7Cit2b2lkIGV4aXRfaW9fY29udGV4dCh2b2lkKTsKK3N0cnVjdCBpb19jb250ZXh0ICpnZXRfaW9fY29udGV4dChnZnBfdCBnZnBfZmxhZ3MsIGludCBub2RlKTsKK3N0cnVjdCBpb19jb250ZXh0ICphbGxvY19pb19jb250ZXh0KGdmcF90IGdmcF9mbGFncywgaW50IG5vZGUpOwordm9pZCBjb3B5X2lvX2NvbnRleHQoc3RydWN0IGlvX2NvbnRleHQgKipwZHN0LCBzdHJ1Y3QgaW9fY29udGV4dCAqKnBzcmMpOworI2Vsc2UKK3N0YXRpYyBpbmxpbmUgdm9pZCBleGl0X2lvX2NvbnRleHQodm9pZCkKK3sKK30KKworc3RydWN0IGlvX2NvbnRleHQ7CitzdGF0aWMgaW5saW5lIGludCBwdXRfaW9fY29udGV4dChzdHJ1Y3QgaW9fY29udGV4dCAqaW9jKQoreworCXJldHVybiAxOworfQorI2VuZGlmCisKICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9pcnEuaCBiL2luY2x1ZGUvbGludXgvaXJxLmgKaW5kZXggNTUyZTBlYy4uOGNjYjQ2MiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9pcnEuaAorKysgYi9pbmNsdWRlL2xpbnV4L2lycS5oCkBAIC0yNDQsMTUgKzI0NCw2IEBACiB9CiAjZW5kaWYKIAotI2lmZGVmIENPTkZJR19BVVRPX0lSUV9BRkZJTklUWQotZXh0ZXJuIGludCBzZWxlY3Rfc21wX2FmZmluaXR5KHVuc2lnbmVkIGludCBpcnEpOwotI2Vsc2UKLXN0YXRpYyBpbmxpbmUgaW50IHNlbGVjdF9zbXBfYWZmaW5pdHkodW5zaWduZWQgaW50IGlycSkKLXsKLQlyZXR1cm4gMTsKLX0KLSNlbmRpZgotCiBleHRlcm4gaW50IG5vX2lycV9hZmZpbml0eTsKIAogc3RhdGljIGlubGluZSBpbnQgaXJxX2JhbGFuY2luZ19kaXNhYmxlZCh1bnNpZ25lZCBpbnQgaXJxKQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9pcnFmbGFncy5oIGIvaW5jbHVkZS9saW51eC9pcnFmbGFncy5oCmluZGV4IGU2MDBjNGUuLjJiMWMyZTUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvaXJxZmxhZ3MuaAorKysgYi9pbmNsdWRlL2xpbnV4L2lycWZsYWdzLmgKQEAgLTEyLDEwICsxMiwxMCBAQAogI2RlZmluZSBfTElOVVhfVFJBQ0VfSVJRRkxBR1NfSAogCiAjaWZkZWYgQ09ORklHX1RSQUNFX0lSUUZMQUdTCi0gIGV4dGVybiB2b2lkIHRyYWNlX2hhcmRpcnFzX29uKHZvaWQpOwotICBleHRlcm4gdm9pZCB0cmFjZV9oYXJkaXJxc19vZmYodm9pZCk7CiAgIGV4dGVybiB2b2lkIHRyYWNlX3NvZnRpcnFzX29uKHVuc2lnbmVkIGxvbmcgaXApOwogICBleHRlcm4gdm9pZCB0cmFjZV9zb2Z0aXJxc19vZmYodW5zaWduZWQgbG9uZyBpcCk7CisgIGV4dGVybiB2b2lkIHRyYWNlX2hhcmRpcnFzX29uKHZvaWQpOworICBleHRlcm4gdm9pZCB0cmFjZV9oYXJkaXJxc19vZmYodm9pZCk7CiAjIGRlZmluZSB0cmFjZV9oYXJkaXJxX2NvbnRleHQocCkJKChwKS0+aGFyZGlycV9jb250ZXh0KQogIyBkZWZpbmUgdHJhY2Vfc29mdGlycV9jb250ZXh0KHApCSgocCktPnNvZnRpcnFfY29udGV4dCkKICMgZGVmaW5lIHRyYWNlX2hhcmRpcnFzX2VuYWJsZWQocCkJKChwKS0+aGFyZGlycXNfZW5hYmxlZCkKQEAgLTQxLDYgKzQxLDE1IEBACiAjIGRlZmluZSBJTklUX1RSQUNFX0lSUUZMQUdTCiAjZW5kaWYKIAorI2lmIGRlZmluZWQoQ09ORklHX0lSUVNPRkZfVFJBQ0VSKSB8fCBcCisJZGVmaW5lZChDT05GSUdfUFJFRU1QVF9UUkFDRVIpCisgZXh0ZXJuIHZvaWQgc3RvcF9jcml0aWNhbF90aW1pbmdzKHZvaWQpOworIGV4dGVybiB2b2lkIHN0YXJ0X2NyaXRpY2FsX3RpbWluZ3Modm9pZCk7CisjZWxzZQorIyBkZWZpbmUgc3RvcF9jcml0aWNhbF90aW1pbmdzKCkgZG8geyB9IHdoaWxlICgwKQorIyBkZWZpbmUgc3RhcnRfY3JpdGljYWxfdGltaW5ncygpIGRvIHsgfSB3aGlsZSAoMCkKKyNlbmRpZgorCiAjaWZkZWYgQ09ORklHX1RSQUNFX0lSUUZMQUdTX1NVUFBPUlQKIAogI2luY2x1ZGUgPGFzbS9pcnFmbGFncy5oPgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9qYmQyLmggYi9pbmNsdWRlL2xpbnV4L2piZDIuaAppbmRleCBkMTQ3ZjBmLi4zZGQyMDkwIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2piZDIuaAorKysgYi9pbmNsdWRlL2xpbnV4L2piZDIuaApAQCAtMTY4LDYgKzE2OCw4IEBACiAJdW5zaWduZWQgY2hhciAgIGhfY2hrc3VtX3NpemU7CiAJdW5zaWduZWQgY2hhciAJaF9wYWRkaW5nWzJdOwogCV9fYmUzMiAJCWhfY2hrc3VtW0pCRDJfQ0hFQ0tTVU1fQllURVNdOworCV9fYmU2NAkJaF9jb21taXRfc2VjOworCV9fYmUzMgkJaF9jb21taXRfbnNlYzsKIH07CiAKIC8qCkBAIC0zNzksNiArMzgxLDM4IEBACiAJYml0X3NwaW5fdW5sb2NrKEJIX0pvdXJuYWxIZWFkLCAmYmgtPmJfc3RhdGUpOwogfQogCisvKiBGbGFncyBpbiBqYmRfaW5vZGUtPmlfZmxhZ3MgKi8KKyNkZWZpbmUgX19KSV9DT01NSVRfUlVOTklORyAwCisvKiBDb21taXQgb2YgdGhlIGlub2RlIGRhdGEgaW4gcHJvZ3Jlc3MuIFdlIHVzZSB0aGlzIGZsYWcgdG8gcHJvdGVjdCB1cyBmcm9tCisgKiBjb25jdXJyZW50IGRlbGV0aW9uIG9mIGlub2RlLiBXZSBjYW5ub3QgdXNlIHJlZmVyZW5jZSB0byBpbm9kZSBmb3IgdGhpcworICogc2luY2Ugd2UgY2Fubm90IGFmZm9yZCBkb2luZyBsYXN0IGlwdXQoKSBvbiBiZWhhbGYgb2Yga2pvdXJuYWxkCisgKi8KKyNkZWZpbmUgSklfQ09NTUlUX1JVTk5JTkcgKDEgPDwgX19KSV9DT01NSVRfUlVOTklORykKKworLyoqCisgKiBzdHJ1Y3QgamJkX2lub2RlIGlzIHRoZSBzdHJ1Y3R1cmUgbGlua2luZyBpbm9kZXMgaW4gb3JkZXJlZCBtb2RlCisgKiAgIHByZXNlbnQgaW4gYSB0cmFuc2FjdGlvbiBzbyB0aGF0IHdlIGNhbiBzeW5jIHRoZW0gZHVyaW5nIGNvbW1pdC4KKyAqLworc3RydWN0IGpiZDJfaW5vZGUgeworCS8qIFdoaWNoIHRyYW5zYWN0aW9uIGRvZXMgdGhpcyBpbm9kZSBiZWxvbmcgdG8/IEVpdGhlciB0aGUgcnVubmluZworCSAqIHRyYW5zYWN0aW9uIG9yIHRoZSBjb21taXR0aW5nIG9uZS4gW2pfbGlzdF9sb2NrXSAqLworCXRyYW5zYWN0aW9uX3QgKmlfdHJhbnNhY3Rpb247CisKKwkvKiBQb2ludGVyIHRvIHRoZSBydW5uaW5nIHRyYW5zYWN0aW9uIG1vZGlmeWluZyBpbm9kZSdzIGRhdGEgaW4gY2FzZQorCSAqIHRoZXJlIGlzIGFscmVhZHkgYSBjb21taXR0aW5nIHRyYW5zYWN0aW9uIHRvdWNoaW5nIGl0LiBbal9saXN0X2xvY2tdICovCisJdHJhbnNhY3Rpb25fdCAqaV9uZXh0X3RyYW5zYWN0aW9uOworCisJLyogTGlzdCBvZiBpbm9kZXMgaW4gdGhlIGlfdHJhbnNhY3Rpb24gW2pfbGlzdF9sb2NrXSAqLworCXN0cnVjdCBsaXN0X2hlYWQgaV9saXN0OworCisJLyogVkZTIGlub2RlIHRoaXMgaW5vZGUgYmVsb25ncyB0byBbY29uc3RhbnQgZHVyaW5nIHRoZSBsaWZldGltZQorCSAqIG9mIHRoZSBzdHJ1Y3R1cmVdICovCisJc3RydWN0IGlub2RlICppX3Zmc19pbm9kZTsKKworCS8qIEZsYWdzIG9mIGlub2RlIFtqX2xpc3RfbG9ja10gKi8KKwl1bnNpZ25lZCBpbnQgaV9mbGFnczsKK307CisKIHN0cnVjdCBqYmQyX3Jldm9rZV90YWJsZV9zOwogCiAvKioKQEAgLTUwOSwyNCArNTQzLDEyIEBACiAJc3RydWN0IGpvdXJuYWxfaGVhZAkqdF9yZXNlcnZlZF9saXN0OwogCiAJLyoKLQkgKiBEb3VibHktbGlua2VkIGNpcmN1bGFyIGxpc3Qgb2YgYWxsIGJ1ZmZlcnMgdW5kZXIgd3JpdGVvdXQgZHVyaW5nCi0JICogY29tbWl0IFtqX2xpc3RfbG9ja10KLQkgKi8KLQlzdHJ1Y3Qgam91cm5hbF9oZWFkCSp0X2xvY2tlZF9saXN0OwotCi0JLyoKIAkgKiBEb3VibHktbGlua2VkIGNpcmN1bGFyIGxpc3Qgb2YgYWxsIG1ldGFkYXRhIGJ1ZmZlcnMgb3duZWQgYnkgdGhpcwogCSAqIHRyYW5zYWN0aW9uIFtqX2xpc3RfbG9ja10KIAkgKi8KIAlzdHJ1Y3Qgam91cm5hbF9oZWFkCSp0X2J1ZmZlcnM7CiAKIAkvKgotCSAqIERvdWJseS1saW5rZWQgY2lyY3VsYXIgbGlzdCBvZiBhbGwgZGF0YSBidWZmZXJzIHN0aWxsIHRvIGJlCi0JICogZmx1c2hlZCBiZWZvcmUgdGhpcyB0cmFuc2FjdGlvbiBjYW4gYmUgY29tbWl0dGVkIFtqX2xpc3RfbG9ja10KLQkgKi8KLQlzdHJ1Y3Qgam91cm5hbF9oZWFkCSp0X3N5bmNfZGF0YWxpc3Q7Ci0KLQkvKgogCSAqIERvdWJseS1saW5rZWQgY2lyY3VsYXIgbGlzdCBvZiBhbGwgZm9yZ2V0IGJ1ZmZlcnMgKHN1cGVyc2VkZWQKIAkgKiBidWZmZXJzIHdoaWNoIHdlIGNhbiB1bi1jaGVja3BvaW50IG9uY2UgdGhpcyB0cmFuc2FjdGlvbiBjb21taXRzKQogCSAqIFtqX2xpc3RfbG9ja10KQEAgLTU2NSw2ICs1ODcsMTIgQEAKIAlzdHJ1Y3Qgam91cm5hbF9oZWFkCSp0X2xvZ19saXN0OwogCiAJLyoKKwkgKiBMaXN0IG9mIGlub2RlcyB3aG9zZSBkYXRhIHdlJ3ZlIG1vZGlmaWVkIGluIGRhdGE9b3JkZXJlZCBtb2RlLgorCSAqIFtqX2xpc3RfbG9ja10KKwkgKi8KKwlzdHJ1Y3QgbGlzdF9oZWFkCXRfaW5vZGVfbGlzdDsKKworCS8qCiAJICogUHJvdGVjdHMgaW5mbyByZWxhdGVkIHRvIGhhbmRsZXMKIAkgKi8KIAlzcGlubG9ja190CQl0X2hhbmRsZV9sb2NrOwpAQCAtMTAwNCw3ICsxMDMyLDYgQEAKIGV4dGVybiBpbnQJIGpiZDJfam91cm5hbF9nZXRfd3JpdGVfYWNjZXNzKGhhbmRsZV90ICosIHN0cnVjdCBidWZmZXJfaGVhZCAqKTsKIGV4dGVybiBpbnQJIGpiZDJfam91cm5hbF9nZXRfY3JlYXRlX2FjY2VzcyAoaGFuZGxlX3QgKiwgc3RydWN0IGJ1ZmZlcl9oZWFkICopOwogZXh0ZXJuIGludAkgamJkMl9qb3VybmFsX2dldF91bmRvX2FjY2VzcyhoYW5kbGVfdCAqLCBzdHJ1Y3QgYnVmZmVyX2hlYWQgKik7Ci1leHRlcm4gaW50CSBqYmQyX2pvdXJuYWxfZGlydHlfZGF0YSAoaGFuZGxlX3QgKiwgc3RydWN0IGJ1ZmZlcl9oZWFkICopOwogZXh0ZXJuIGludAkgamJkMl9qb3VybmFsX2RpcnR5X21ldGFkYXRhIChoYW5kbGVfdCAqLCBzdHJ1Y3QgYnVmZmVyX2hlYWQgKik7CiBleHRlcm4gdm9pZAkgamJkMl9qb3VybmFsX3JlbGVhc2VfYnVmZmVyIChoYW5kbGVfdCAqLCBzdHJ1Y3QgYnVmZmVyX2hlYWQgKik7CiBleHRlcm4gaW50CSBqYmQyX2pvdXJuYWxfZm9yZ2V0IChoYW5kbGVfdCAqLCBzdHJ1Y3QgYnVmZmVyX2hlYWQgKik7CkBAIC0xMDQ0LDYgKzEwNzEsMTAgQEAKIGV4dGVybiBpbnQJICAgamJkMl9qb3VybmFsX2NsZWFyX2VyciAgKGpvdXJuYWxfdCAqKTsKIGV4dGVybiBpbnQJICAgamJkMl9qb3VybmFsX2JtYXAoam91cm5hbF90ICosIHVuc2lnbmVkIGxvbmcsIHVuc2lnbmVkIGxvbmcgbG9uZyAqKTsKIGV4dGVybiBpbnQJICAgamJkMl9qb3VybmFsX2ZvcmNlX2NvbW1pdChqb3VybmFsX3QgKik7CitleHRlcm4gaW50CSAgIGpiZDJfam91cm5hbF9maWxlX2lub2RlKGhhbmRsZV90ICpoYW5kbGUsIHN0cnVjdCBqYmQyX2lub2RlICppbm9kZSk7CitleHRlcm4gaW50CSAgIGpiZDJfam91cm5hbF9iZWdpbl9vcmRlcmVkX3RydW5jYXRlKHN0cnVjdCBqYmQyX2lub2RlICppbm9kZSwgbG9mZl90IG5ld19zaXplKTsKK2V4dGVybiB2b2lkCSAgIGpiZDJfam91cm5hbF9pbml0X2piZF9pbm9kZShzdHJ1Y3QgamJkMl9pbm9kZSAqamlub2RlLCBzdHJ1Y3QgaW5vZGUgKmlub2RlKTsKK2V4dGVybiB2b2lkCSAgIGpiZDJfam91cm5hbF9yZWxlYXNlX2piZF9pbm9kZShqb3VybmFsX3QgKmpvdXJuYWwsIHN0cnVjdCBqYmQyX2lub2RlICpqaW5vZGUpOwogCiAvKgogICogam91cm5hbF9oZWFkIG1hbmFnZW1lbnQKQEAgLTExNzksMTUgKzEyMTAsMTMgQEAKIAogLyogam91cm5hbGluZyBidWZmZXIgdHlwZXMgKi8KICNkZWZpbmUgQkpfTm9uZQkJMAkvKiBOb3Qgam91cm5hbGVkICovCi0jZGVmaW5lIEJKX1N5bmNEYXRhCTEJLyogTm9ybWFsIGRhdGE6IGZsdXNoIGJlZm9yZSBjb21taXQgKi8KLSNkZWZpbmUgQkpfTWV0YWRhdGEJMgkvKiBOb3JtYWwgam91cm5hbGVkIG1ldGFkYXRhICovCi0jZGVmaW5lIEJKX0ZvcmdldAkzCS8qIEJ1ZmZlciBzdXBlcnNlZGVkIGJ5IHRoaXMgdHJhbnNhY3Rpb24gKi8KLSNkZWZpbmUgQkpfSU8JCTQJLyogQnVmZmVyIGlzIGZvciB0ZW1wb3JhcnkgSU8gdXNlICovCi0jZGVmaW5lIEJKX1NoYWRvdwk1CS8qIEJ1ZmZlciBjb250ZW50cyBiZWluZyBzaGFkb3dlZCB0byB0aGUgbG9nICovCi0jZGVmaW5lIEJKX0xvZ0N0bAk2CS8qIEJ1ZmZlciBjb250YWlucyBsb2cgZGVzY3JpcHRvcnMgKi8KLSNkZWZpbmUgQkpfUmVzZXJ2ZWQJNwkvKiBCdWZmZXIgaXMgcmVzZXJ2ZWQgZm9yIGFjY2VzcyBieSBqb3VybmFsICovCi0jZGVmaW5lIEJKX0xvY2tlZAk4CS8qIExvY2tlZCBmb3IgSS9PIGR1cmluZyBjb21taXQgKi8KLSNkZWZpbmUgQkpfVHlwZXMJOQorI2RlZmluZSBCSl9NZXRhZGF0YQkxCS8qIE5vcm1hbCBqb3VybmFsZWQgbWV0YWRhdGEgKi8KKyNkZWZpbmUgQkpfRm9yZ2V0CTIJLyogQnVmZmVyIHN1cGVyc2VkZWQgYnkgdGhpcyB0cmFuc2FjdGlvbiAqLworI2RlZmluZSBCSl9JTwkJMwkvKiBCdWZmZXIgaXMgZm9yIHRlbXBvcmFyeSBJTyB1c2UgKi8KKyNkZWZpbmUgQkpfU2hhZG93CTQJLyogQnVmZmVyIGNvbnRlbnRzIGJlaW5nIHNoYWRvd2VkIHRvIHRoZSBsb2cgKi8KKyNkZWZpbmUgQkpfTG9nQ3RsCTUJLyogQnVmZmVyIGNvbnRhaW5zIGxvZyBkZXNjcmlwdG9ycyAqLworI2RlZmluZSBCSl9SZXNlcnZlZAk2CS8qIEJ1ZmZlciBpcyByZXNlcnZlZCBmb3IgYWNjZXNzIGJ5IGpvdXJuYWwgKi8KKyNkZWZpbmUgQkpfVHlwZXMJNwogCiBleHRlcm4gaW50IGpiZF9ibG9ja3NfcGVyX3BhZ2Uoc3RydWN0IGlub2RlICppbm9kZSk7CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgva2VybmVsLmggYi9pbmNsdWRlL2xpbnV4L2tlcm5lbC5oCmluZGV4IDJlNzAwMDYuLmY5Y2Q3YTUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgva2VybmVsLmgKKysrIGIvaW5jbHVkZS9saW51eC9rZXJuZWwuaApAQCAtMTg3LDkgKzE4Nyw2IEBACiAJX19hdHRyaWJ1dGVfXyAoKGZvcm1hdCAocHJpbnRmLCAxLCAwKSkpOwogYXNtbGlua2FnZSBpbnQgcHJpbnRrKGNvbnN0IGNoYXIgKiBmbXQsIC4uLikKIAlfX2F0dHJpYnV0ZV9fICgoZm9ybWF0IChwcmludGYsIDEsIDIpKSkgX19jb2xkOwotZXh0ZXJuIGludCBsb2dfYnVmX2dldF9sZW4odm9pZCk7Ci1leHRlcm4gaW50IGxvZ19idWZfcmVhZChpbnQgaWR4KTsKLWV4dGVybiBpbnQgbG9nX2J1Zl9jb3B5KGNoYXIgKmRlc3QsIGludCBpZHgsIGludCBsZW4pOwogCiBleHRlcm4gaW50IHByaW50a19yYXRlbGltaXRfamlmZmllczsKIGV4dGVybiBpbnQgcHJpbnRrX3JhdGVsaW1pdF9idXJzdDsKQEAgLTIwNSw5ICsyMDIsNiBAQAogc3RhdGljIGlubGluZSBpbnQgcHJpbnRrKGNvbnN0IGNoYXIgKnMsIC4uLikKIAlfX2F0dHJpYnV0ZV9fICgoZm9ybWF0IChwcmludGYsIDEsIDIpKSk7CiBzdGF0aWMgaW5saW5lIGludCBfX2NvbGQgcHJpbnRrKGNvbnN0IGNoYXIgKnMsIC4uLikgeyByZXR1cm4gMDsgfQotc3RhdGljIGlubGluZSBpbnQgbG9nX2J1Zl9nZXRfbGVuKHZvaWQpIHsgcmV0dXJuIDA7IH0KLXN0YXRpYyBpbmxpbmUgaW50IGxvZ19idWZfcmVhZChpbnQgaWR4KSB7IHJldHVybiAwOyB9Ci1zdGF0aWMgaW5saW5lIGludCBsb2dfYnVmX2NvcHkoY2hhciAqZGVzdCwgaW50IGlkeCwgaW50IGxlbikgeyByZXR1cm4gMDsgfQogc3RhdGljIGlubGluZSBpbnQgcHJpbnRrX3JhdGVsaW1pdCh2b2lkKSB7IHJldHVybiAwOyB9CiBzdGF0aWMgaW5saW5lIGludCBfX3ByaW50a19yYXRlbGltaXQoaW50IHJhdGVsaW1pdF9qaWZmaWVzLCBcCiAJCQkJICAgICBpbnQgcmF0ZWxpbWl0X2J1cnN0KSB7IHJldHVybiAwOyB9CkBAIC0yMTYsNyArMjEwLDcgQEAKIAkJeyByZXR1cm4gZmFsc2U7IH0KICNlbmRpZgogCi1leHRlcm4gdm9pZCBfX2F0dHJpYnV0ZV9fKChmb3JtYXQocHJpbnRmLCAxLCAyKSkpCitleHRlcm4gdm9pZCBhc21saW5rYWdlIF9fYXR0cmlidXRlX18oKGZvcm1hdChwcmludGYsIDEsIDIpKSkKIAllYXJseV9wcmludGsoY29uc3QgY2hhciAqZm10LCAuLi4pOwogCiB1bnNpZ25lZCBsb25nIGludF9zcXJ0KHVuc2lnbmVkIGxvbmcpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9rZXJuZWxfc3RhdC5oIGIvaW5jbHVkZS9saW51eC9rZXJuZWxfc3RhdC5oCmluZGV4IGU4ZmZjZTguLmNmOWY0MGEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgva2VybmVsX3N0YXQuaAorKysgYi9pbmNsdWRlL2xpbnV4L2tlcm5lbF9zdGF0LmgKQEAgLTEsMTEgKzEsMTEgQEAKICNpZm5kZWYgX0xJTlVYX0tFUk5FTF9TVEFUX0gKICNkZWZpbmUgX0xJTlVYX0tFUk5FTF9TVEFUX0gKIAotI2luY2x1ZGUgPGFzbS9pcnEuaD4KICNpbmNsdWRlIDxsaW51eC9zbXAuaD4KICNpbmNsdWRlIDxsaW51eC90aHJlYWRzLmg+CiAjaW5jbHVkZSA8bGludXgvcGVyY3B1Lmg+CiAjaW5jbHVkZSA8bGludXgvY3B1bWFzay5oPgorI2luY2x1ZGUgPGFzbS9pcnEuaD4KICNpbmNsdWRlIDxhc20vY3B1dGltZS5oPgogCiAvKgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9rcHJvYmVzLmggYi9pbmNsdWRlL2xpbnV4L2twcm9iZXMuaAppbmRleCAxMDM2NjMxLi4wNGEzNTU2IDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2twcm9iZXMuaAorKysgYi9pbmNsdWRlL2xpbnV4L2twcm9iZXMuaApAQCAtMjU5LDYgKzI1OSwxMCBAQAogc3RydWN0IGpwcm9iZTsKIHN0cnVjdCBrcmV0cHJvYmU7CiAKK3N0YXRpYyBpbmxpbmUgc3RydWN0IGtwcm9iZSAqZ2V0X2twcm9iZSh2b2lkICphZGRyKQoreworCXJldHVybiBOVUxMOworfQogc3RhdGljIGlubGluZSBzdHJ1Y3Qga3Byb2JlICprcHJvYmVfcnVubmluZyh2b2lkKQogewogCXJldHVybiBOVUxMOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9saWJhdGEuaCBiL2luY2x1ZGUvbGludXgvbGliYXRhLmgKaW5kZXggZTU3ZTVkMC4uNWIyNDdiOCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9saWJhdGEuaAorKysgYi9pbmNsdWRlL2xpbnV4L2xpYmF0YS5oCkBAIC0yNyw2ICsyNyw3IEBACiAjZGVmaW5lIF9fTElOVVhfTElCQVRBX0hfXwogCiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KKyNpbmNsdWRlIDxsaW51eC9qaWZmaWVzLmg+CiAjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CiAjaW5jbHVkZSA8bGludXgvZG1hLW1hcHBpbmcuaD4KICNpbmNsdWRlIDxsaW51eC9zY2F0dGVybGlzdC5oPgpAQCAtMTE1LDcgKzExNiw3IEBACiAJLyogdGFnIEFUQV9NQVhfUVVFVUUgLSAxIGlzIHJlc2VydmVkIGZvciBpbnRlcm5hbCBjb21tYW5kcyAqLwogCUFUQV9NQVhfUVVFVUUJCT0gMzIsCiAJQVRBX1RBR19JTlRFUk5BTAk9IEFUQV9NQVhfUVVFVUUgLSAxLAotCUFUQV9TSE9SVF9QQVVTRQkJPSAoSFogPj4gNikgKyAxLAorCUFUQV9TSE9SVF9QQVVTRQkJPSAxNiwKIAogCUFUQVBJX01BWF9EUkFJTgkJPSAxNiA8PCAxMCwKIApAQCAtMTY4LDYgKzE2OSw3IEBACiAJQVRBX0xGTEFHX0FTU1VNRV9DTEFTUwk9IEFUQV9MRkxBR19BU1NVTUVfQVRBIHwgQVRBX0xGTEFHX0FTU1VNRV9TRU1CLAogCUFUQV9MRkxBR19OT19SRVRSWQk9ICgxIDw8IDUpLCAvKiBkb24ndCByZXRyeSB0aGlzIGxpbmsgKi8KIAlBVEFfTEZMQUdfRElTQUJMRUQJPSAoMSA8PCA2KSwgLyogbGluayBpcyBkaXNhYmxlZCAqLworCUFUQV9MRkxBR19TV19BQ1RJVklUWQk9ICgxIDw8IDcpLCAvKiBrZWVwIGFjdGl2aXR5IHN0YXRzICovCiAKIAkvKiBzdHJ1Y3QgYXRhX3BvcnQgZmxhZ3MgKi8KIAlBVEFfRkxBR19TTEFWRV9QT1NTCT0gKDEgPDwgMCksIC8qIGhvc3Qgc3VwcG9ydHMgc2xhdmUgZGV2ICovCkBAIC0xOTAsNiArMTkyLDEwIEBACiAJQVRBX0ZMQUdfQU4JCT0gKDEgPDwgMTgpLCAvKiBjb250cm9sbGVyIHN1cHBvcnRzIEFOICovCiAJQVRBX0ZMQUdfUE1QCQk9ICgxIDw8IDE5KSwgLyogY29udHJvbGxlciBzdXBwb3J0cyBQTVAgKi8KIAlBVEFfRkxBR19JUE0JCT0gKDEgPDwgMjApLCAvKiBkcml2ZXIgY2FuIGhhbmRsZSBJUE0gKi8KKwlBVEFfRkxBR19FTQkJPSAoMSA8PCAyMSksIC8qIGRyaXZlciBzdXBwb3J0cyBlbmNsb3N1cmUKKwkJCQkJICAgICAgKiBtYW5hZ2VtZW50ICovCisJQVRBX0ZMQUdfU1dfQUNUSVZJVFkJPSAoMSA8PCAyMiksIC8qIGRyaXZlciBzdXBwb3J0cyBzdyBhY3Rpdml0eQorCQkJCQkgICAgICAqIGxlZCAqLwogCiAJLyogVGhlIGZvbGxvd2luZyBmbGFnIGJlbG9uZ3MgdG8gYXAtPnBmbGFncyBidXQgaXMga2VwdCBpbgogCSAqIGFwLT5mbGFncyBiZWNhdXNlIGl0J3MgcmVmZXJlbmNlZCBpbiBtYW55IExMRHMgYW5kIHdpbGwgYmUKQEAgLTIzNCwxNyArMjQwLDE2IEBACiAJLyogYml0cyAyNDozMSBvZiBob3N0LT5mbGFncyBhcmUgcmVzZXJ2ZWQgZm9yIExMRCBzcGVjaWZpYyBmbGFncyAqLwogCiAJLyogdmFyaW91cyBsZW5ndGhzIG9mIHRpbWUgKi8KLQlBVEFfVE1PVVRfQk9PVAkJPSAzMCAqIEhaLAkvKiBoZXVyaXN0aWMgKi8KLQlBVEFfVE1PVVRfQk9PVF9RVUlDSwk9IDcgKiBIWiwJLyogaGV1cmlzdGljICovCi0JQVRBX1RNT1VUX0lOVEVSTkFMCT0gMzAgKiBIWiwKLQlBVEFfVE1PVVRfSU5URVJOQUxfUVVJQ0sgPSA1ICogSFosCisJQVRBX1RNT1VUX0JPT1QJCT0gMzAwMDAsCS8qIGhldXJpc3RpYyAqLworCUFUQV9UTU9VVF9CT09UX1FVSUNLCT0gIDcwMDAsCS8qIGhldXJpc3RpYyAqLworCUFUQV9UTU9VVF9JTlRFUk5BTF9RVUlDSyA9IDUwMDAsCiAKIAkvKiBGSVhNRTogR29WYXVsdCBuZWVkcyAycyBidXQgd2UgY2FuJ3QgYWZmb3JkIHRoYXQgd2l0aG91dAogCSAqIHBhcmFsbGVsIHByb2JpbmcuICA4MDBtcyBpcyBlbm91Z2ggZm9yIGlWRFIgZGlzawogCSAqIEhIRDQyNDAyMEY3U1YwMC4gIEluY3JlYXNlIHRvIDJzZWNzIHdoZW4gcGFyYWxsZWwgcHJvYmluZwogCSAqIGlzIGluIHBsYWNlLgogCSAqLwotCUFUQV9UTU9VVF9GRl9XQUlUCT0gNCAqIEhaIC8gNSwKKwlBVEFfVE1PVVRfRkZfV0FJVAk9ICA4MDAsCiAKIAkvKiBTcGVjIG1hbmRhdGVzIHRvIHdhaXQgZm9yICI+PSAybXMiIGJlZm9yZSBjaGVja2luZyBzdGF0dXMKIAkgKiBhZnRlciByZXNldC4gIFdlIHdhaXQgMTUwbXMsIGJlY2F1c2UgdGhhdCB3YXMgdGhlIG1hZ2ljCkBAIC0yNTYsMTQgKzI2MSwxNCBAQAogCSAqCiAJICogT2xkIGRyaXZlcnMvaWRlIHVzZXMgdGhlIDJtUyBydWxlIGFuZCB0aGVuIHdhaXRzIGZvciByZWFkeS4KIAkgKi8KLQlBVEFfV0FJVF9BRlRFUl9SRVNFVF9NU0VDUyA9IDE1MCwKKwlBVEFfV0FJVF9BRlRFUl9SRVNFVAk9ICAxNTAsCiAKIAkvKiBJZiBQTVAgaXMgc3VwcG9ydGVkLCB3ZSBoYXZlIHRvIGRvIGZvbGxvdy11cCBTUlNULiAgQXMgc29tZQogCSAqIFBNUHMgZG9uJ3Qgc2VuZCBEMkggUmVnIEZJUyBhZnRlciBoYXJkcmVzZXQsIExMRHMgYXJlCiAJICogYWR2aXNlZCB0byB3YWl0IG9ubHkgZm9yIHRoZSBmb2xsb3dpbmcgZHVyYXRpb24gYmVmb3JlCiAJICogZG9pbmcgU1JTVC4KIAkgKi8KLQlBVEFfVE1PVVRfUE1QX1NSU1RfV0FJVAk9IDEgKiBIWiwKKwlBVEFfVE1PVVRfUE1QX1NSU1RfV0FJVAk9IDEwMDAsCiAKIAkvKiBBVEEgYnVzIHN0YXRlcyAqLwogCUJVU19VTktOT1dOCQk9IDAsCkBAIC0zNDAsNiArMzQ1LDExIEBACiAKIAlTQVRBX1BNUF9SV19USU1FT1VUCT0gMzAwMCwJCS8qIFBNUCByZWFkL3dyaXRlIHRpbWVvdXQgKi8KIAorCS8qIFRoaXMgc2hvdWxkIG1hdGNoIHRoZSBhY3R1YWwgdGFibGUgc2l6ZSBvZgorCSAqIGF0YV9laF9jbWRfdGltZW91dF90YWJsZSBpbiBsaWJhdGEtZWguYy4KKwkgKi8KKwlBVEFfRUhfQ01EX1RJTUVPVVRfVEFCTEVfU0laRSA9IDUsCisKIAkvKiBIb3JrYWdlIHR5cGVzLiBNYXkgYmUgc2V0IGJ5IGxpYmF0YSBvciBjb250cm9sbGVyIG9uIGRyaXZlcwogCSAgIChzb21lIGhvcmthZ2UgbWF5IGJlIGRyaXZlL2NvbnRyb2xsZXIgcGFpciBkZXBlbmRhbnQgKi8KIApAQCAtNDQxLDYgKzQ1MSwxNSBAQAogCU1FRElVTV9QT1dFUiwKIH07CiBleHRlcm4gc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgZGV2X2F0dHJfbGlua19wb3dlcl9tYW5hZ2VtZW50X3BvbGljeTsKK2V4dGVybiBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSBkZXZfYXR0cl9lbV9tZXNzYWdlX3R5cGU7CitleHRlcm4gc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgZGV2X2F0dHJfZW1fbWVzc2FnZTsKK2V4dGVybiBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSBkZXZfYXR0cl9zd19hY3Rpdml0eTsKKworZW51bSBzd19hY3Rpdml0eSB7CisJT0ZGLAorCUJMSU5LX09OLAorCUJMSU5LX09GRiwKK307CiAKICNpZmRlZiBDT05GSUdfQVRBX1NGRgogc3RydWN0IGF0YV9pb3BvcnRzIHsKQEAgLTU5NywxMCArNjE2LDE0IEBACiBzdHJ1Y3QgYXRhX2VoX2NvbnRleHQgewogCXN0cnVjdCBhdGFfZWhfaW5mbwlpOwogCWludAkJCXRyaWVzW0FUQV9NQVhfREVWSUNFU107CisJaW50CQkJY21kX3RpbWVvdXRfaWR4W0FUQV9NQVhfREVWSUNFU10KKwkJCQkJICAgICAgIFtBVEFfRUhfQ01EX1RJTUVPVVRfVEFCTEVfU0laRV07CiAJdW5zaWduZWQgaW50CQljbGFzc2VzW0FUQV9NQVhfREVWSUNFU107CiAJdW5zaWduZWQgaW50CQlkaWRfcHJvYmVfbWFzazsKIAl1bnNpZ25lZCBpbnQJCXNhdmVkX25jcV9lbmFibGVkOwogCXU4CQkJc2F2ZWRfeGZlcl9tb2RlW0FUQV9NQVhfREVWSUNFU107CisJLyogdGltZXN0YW1wIGZvciB0aGUgbGFzdCByZXNldCBhdHRlbXB0IG9yIHN1Y2Nlc3MgKi8KKwl1bnNpZ25lZCBsb25nCQlsYXN0X3Jlc2V0OwogfTsKIAogc3RydWN0IGF0YV9hY3BpX2RyaXZlCkBAIC02OTIsNiArNzE1LDcgQEAKIAlzdHJ1Y3QgdGltZXJfbGlzdAlmYXN0ZHJhaW5fdGltZXI7CiAJdW5zaWduZWQgbG9uZwkJZmFzdGRyYWluX2NudDsKIAorCWludAkJCWVtX21lc3NhZ2VfdHlwZTsKIAl2b2lkCQkJKnByaXZhdGVfZGF0YTsKIAogI2lmZGVmIENPTkZJR19BVEFfQUNQSQpAQCAtNzgzLDYgKzgwNywxMiBAQAogCXU4ICAgKCpibWRtYV9zdGF0dXMpKHN0cnVjdCBhdGFfcG9ydCAqYXApOwogI2VuZGlmIC8qIENPTkZJR19BVEFfU0ZGICovCiAKKwlzc2l6ZV90ICgqZW1fc2hvdykoc3RydWN0IGF0YV9wb3J0ICphcCwgY2hhciAqYnVmKTsKKwlzc2l6ZV90ICgqZW1fc3RvcmUpKHN0cnVjdCBhdGFfcG9ydCAqYXAsIGNvbnN0IGNoYXIgKm1lc3NhZ2UsCisJCQkgICAgc2l6ZV90IHNpemUpOworCXNzaXplX3QgKCpzd19hY3Rpdml0eV9zaG93KShzdHJ1Y3QgYXRhX2RldmljZSAqZGV2LCBjaGFyICpidWYpOworCXNzaXplX3QgKCpzd19hY3Rpdml0eV9zdG9yZSkoc3RydWN0IGF0YV9kZXZpY2UgKmRldiwKKwkJCQkgICAgIGVudW0gc3dfYWN0aXZpdHkgdmFsKTsKIAkvKgogCSAqIE9ic29sZXRlCiAJICovCkBAIC04OTUsOCArOTI1LDcgQEAKICNlbmRpZgogZXh0ZXJuIGludCBhdGFfcmF0ZWxpbWl0KHZvaWQpOwogZXh0ZXJuIHUzMiBhdGFfd2FpdF9yZWdpc3Rlcih2b2lkIF9faW9tZW0gKnJlZywgdTMyIG1hc2ssIHUzMiB2YWwsCi0JCQkgICAgIHVuc2lnbmVkIGxvbmcgaW50ZXJ2YWxfbXNlYywKLQkJCSAgICAgdW5zaWduZWQgbG9uZyB0aW1lb3V0X21zZWMpOworCQkJICAgICB1bnNpZ25lZCBsb25nIGludGVydmFsLCB1bnNpZ25lZCBsb25nIHRpbWVvdXQpOwogZXh0ZXJuIGludCBhdGFwaV9jbWRfdHlwZSh1OCBvcGNvZGUpOwogZXh0ZXJuIHZvaWQgYXRhX3RmX3RvX2Zpcyhjb25zdCBzdHJ1Y3QgYXRhX3Rhc2tmaWxlICp0ZiwKIAkJCSAgdTggcG1wLCBpbnQgaXNfY21kLCB1OCAqZmlzKTsKQEAgLTEzODksNiArMTQxOCwxMiBAQAogCXJldHVybiAwOwogfQogCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgYXRhX2RlYWRsaW5lKHVuc2lnbmVkIGxvbmcgZnJvbV9qaWZmaWVzLAorCQkJCQkgdW5zaWduZWQgbG9uZyB0aW1lb3V0X21zZWNzKQoreworCXJldHVybiBmcm9tX2ppZmZpZXMgKyBtc2Vjc190b19qaWZmaWVzKHRpbWVvdXRfbXNlY3MpOworfQorCiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogUE1QIC0gZHJpdmVycy9hdGEvbGliYXRhLXBtcC5jCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2xpbmthZ2UuaCBiL2luY2x1ZGUvbGludXgvbGlua2FnZS5oCmluZGV4IDIxMTk2MTAuLjU2YmEzNzMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvbGlua2FnZS5oCisrKyBiL2luY2x1ZGUvbGludXgvbGlua2FnZS5oCkBAIC0xLDggKzEsMTEgQEAKICNpZm5kZWYgX0xJTlVYX0xJTktBR0VfSAogI2RlZmluZSBfTElOVVhfTElOS0FHRV9ICiAKKyNpbmNsdWRlIDxsaW51eC9jb21waWxlci5oPgogI2luY2x1ZGUgPGFzbS9saW5rYWdlLmg+CiAKKyNkZWZpbmUgbm90cmFjZSBfX2F0dHJpYnV0ZV9fKChub19pbnN0cnVtZW50X2Z1bmN0aW9uKSkKKwogI2lmZGVmIF9fY3BsdXNwbHVzCiAjZGVmaW5lIENQUF9BU01MSU5LQUdFIGV4dGVybiAiQyIKICNlbHNlCkBAIC0xNyw2ICsyMCw5IEBACiAjIGRlZmluZSBhc21yZWdwYXJtCiAjZW5kaWYKIAorI2RlZmluZSBfX3BhZ2VfYWxpZ25lZF9kYXRhCV9fc2VjdGlvbiguZGF0YS5wYWdlX2FsaWduZWQpIF9fYWxpZ25lZChQQUdFX1NJWkUpCisjZGVmaW5lIF9fcGFnZV9hbGlnbmVkX2JzcwlfX3NlY3Rpb24oLmJzcy5wYWdlX2FsaWduZWQpIF9fYWxpZ25lZChQQUdFX1NJWkUpCisKIC8qCiAgKiBUaGlzIGlzIHVzZWQgYnkgYXJjaGl0ZWN0dXJlcyB0byBrZWVwIGFyZ3VtZW50cyBvbiB0aGUgc3RhY2sKICAqIHVudG91Y2hlZCBieSB0aGUgY29tcGlsZXIgYnkga2VlcGluZyB0aGVtIGxpdmUgdW50aWwgdGhlIGVuZC4KZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvbGlzdC5oIGIvaW5jbHVkZS9saW51eC9saXN0LmgKaW5kZXggMDhjZjRmNi4uMTM5ZWM0MSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9saXN0LmgKKysrIGIvaW5jbHVkZS9saW51eC9saXN0LmgKQEAgLTg1LDY1ICs4NSw2IEBACiB9CiAKIC8qCi0gKiBJbnNlcnQgYSBuZXcgZW50cnkgYmV0d2VlbiB0d28ga25vd24gY29uc2VjdXRpdmUgZW50cmllcy4KLSAqCi0gKiBUaGlzIGlzIG9ubHkgZm9yIGludGVybmFsIGxpc3QgbWFuaXB1bGF0aW9uIHdoZXJlIHdlIGtub3cKLSAqIHRoZSBwcmV2L25leHQgZW50cmllcyBhbHJlYWR5IQotICovCi1zdGF0aWMgaW5saW5lIHZvaWQgX19saXN0X2FkZF9yY3Uoc3RydWN0IGxpc3RfaGVhZCAqIG5ldywKLQkJc3RydWN0IGxpc3RfaGVhZCAqIHByZXYsIHN0cnVjdCBsaXN0X2hlYWQgKiBuZXh0KQotewotCW5ldy0+bmV4dCA9IG5leHQ7Ci0JbmV3LT5wcmV2ID0gcHJldjsKLQlzbXBfd21iKCk7Ci0JbmV4dC0+cHJldiA9IG5ldzsKLQlwcmV2LT5uZXh0ID0gbmV3OwotfQotCi0vKioKLSAqIGxpc3RfYWRkX3JjdSAtIGFkZCBhIG5ldyBlbnRyeSB0byByY3UtcHJvdGVjdGVkIGxpc3QKLSAqIEBuZXc6IG5ldyBlbnRyeSB0byBiZSBhZGRlZAotICogQGhlYWQ6IGxpc3QgaGVhZCB0byBhZGQgaXQgYWZ0ZXIKLSAqCi0gKiBJbnNlcnQgYSBuZXcgZW50cnkgYWZ0ZXIgdGhlIHNwZWNpZmllZCBoZWFkLgotICogVGhpcyBpcyBnb29kIGZvciBpbXBsZW1lbnRpbmcgc3RhY2tzLgotICoKLSAqIFRoZSBjYWxsZXIgbXVzdCB0YWtlIHdoYXRldmVyIHByZWNhdXRpb25zIGFyZSBuZWNlc3NhcnkKLSAqIChzdWNoIGFzIGhvbGRpbmcgYXBwcm9wcmlhdGUgbG9ja3MpIHRvIGF2b2lkIHJhY2luZwotICogd2l0aCBhbm90aGVyIGxpc3QtbXV0YXRpb24gcHJpbWl0aXZlLCBzdWNoIGFzIGxpc3RfYWRkX3JjdSgpCi0gKiBvciBsaXN0X2RlbF9yY3UoKSwgcnVubmluZyBvbiB0aGlzIHNhbWUgbGlzdC4KLSAqIEhvd2V2ZXIsIGl0IGlzIHBlcmZlY3RseSBsZWdhbCB0byBydW4gY29uY3VycmVudGx5IHdpdGgKLSAqIHRoZSBfcmN1IGxpc3QtdHJhdmVyc2FsIHByaW1pdGl2ZXMsIHN1Y2ggYXMKLSAqIGxpc3RfZm9yX2VhY2hfZW50cnlfcmN1KCkuCi0gKi8KLXN0YXRpYyBpbmxpbmUgdm9pZCBsaXN0X2FkZF9yY3Uoc3RydWN0IGxpc3RfaGVhZCAqbmV3LCBzdHJ1Y3QgbGlzdF9oZWFkICpoZWFkKQotewotCV9fbGlzdF9hZGRfcmN1KG5ldywgaGVhZCwgaGVhZC0+bmV4dCk7Ci19Ci0KLS8qKgotICogbGlzdF9hZGRfdGFpbF9yY3UgLSBhZGQgYSBuZXcgZW50cnkgdG8gcmN1LXByb3RlY3RlZCBsaXN0Ci0gKiBAbmV3OiBuZXcgZW50cnkgdG8gYmUgYWRkZWQKLSAqIEBoZWFkOiBsaXN0IGhlYWQgdG8gYWRkIGl0IGJlZm9yZQotICoKLSAqIEluc2VydCBhIG5ldyBlbnRyeSBiZWZvcmUgdGhlIHNwZWNpZmllZCBoZWFkLgotICogVGhpcyBpcyB1c2VmdWwgZm9yIGltcGxlbWVudGluZyBxdWV1ZXMuCi0gKgotICogVGhlIGNhbGxlciBtdXN0IHRha2Ugd2hhdGV2ZXIgcHJlY2F1dGlvbnMgYXJlIG5lY2Vzc2FyeQotICogKHN1Y2ggYXMgaG9sZGluZyBhcHByb3ByaWF0ZSBsb2NrcykgdG8gYXZvaWQgcmFjaW5nCi0gKiB3aXRoIGFub3RoZXIgbGlzdC1tdXRhdGlvbiBwcmltaXRpdmUsIHN1Y2ggYXMgbGlzdF9hZGRfdGFpbF9yY3UoKQotICogb3IgbGlzdF9kZWxfcmN1KCksIHJ1bm5pbmcgb24gdGhpcyBzYW1lIGxpc3QuCi0gKiBIb3dldmVyLCBpdCBpcyBwZXJmZWN0bHkgbGVnYWwgdG8gcnVuIGNvbmN1cnJlbnRseSB3aXRoCi0gKiB0aGUgX3JjdSBsaXN0LXRyYXZlcnNhbCBwcmltaXRpdmVzLCBzdWNoIGFzCi0gKiBsaXN0X2Zvcl9lYWNoX2VudHJ5X3JjdSgpLgotICovCi1zdGF0aWMgaW5saW5lIHZvaWQgbGlzdF9hZGRfdGFpbF9yY3Uoc3RydWN0IGxpc3RfaGVhZCAqbmV3LAotCQkJCQlzdHJ1Y3QgbGlzdF9oZWFkICpoZWFkKQotewotCV9fbGlzdF9hZGRfcmN1KG5ldywgaGVhZC0+cHJldiwgaGVhZCk7Ci19Ci0KLS8qCiAgKiBEZWxldGUgYSBsaXN0IGVudHJ5IGJ5IG1ha2luZyB0aGUgcHJldi9uZXh0IGVudHJpZXMKICAqIHBvaW50IHRvIGVhY2ggb3RoZXIuCiAgKgpAQCAtMTc0LDM2ICsxMTUsNiBAQAogI2VuZGlmCiAKIC8qKgotICogbGlzdF9kZWxfcmN1IC0gZGVsZXRlcyBlbnRyeSBmcm9tIGxpc3Qgd2l0aG91dCByZS1pbml0aWFsaXphdGlvbgotICogQGVudHJ5OiB0aGUgZWxlbWVudCB0byBkZWxldGUgZnJvbSB0aGUgbGlzdC4KLSAqCi0gKiBOb3RlOiBsaXN0X2VtcHR5KCkgb24gZW50cnkgZG9lcyBub3QgcmV0dXJuIHRydWUgYWZ0ZXIgdGhpcywKLSAqIHRoZSBlbnRyeSBpcyBpbiBhbiB1bmRlZmluZWQgc3RhdGUuIEl0IGlzIHVzZWZ1bCBmb3IgUkNVIGJhc2VkCi0gKiBsb2NrZnJlZSB0cmF2ZXJzYWwuCi0gKgotICogSW4gcGFydGljdWxhciwgaXQgbWVhbnMgdGhhdCB3ZSBjYW4gbm90IHBvaXNvbiB0aGUgZm9yd2FyZAotICogcG9pbnRlcnMgdGhhdCBtYXkgc3RpbGwgYmUgdXNlZCBmb3Igd2Fsa2luZyB0aGUgbGlzdC4KLSAqCi0gKiBUaGUgY2FsbGVyIG11c3QgdGFrZSB3aGF0ZXZlciBwcmVjYXV0aW9ucyBhcmUgbmVjZXNzYXJ5Ci0gKiAoc3VjaCBhcyBob2xkaW5nIGFwcHJvcHJpYXRlIGxvY2tzKSB0byBhdm9pZCByYWNpbmcKLSAqIHdpdGggYW5vdGhlciBsaXN0LW11dGF0aW9uIHByaW1pdGl2ZSwgc3VjaCBhcyBsaXN0X2RlbF9yY3UoKQotICogb3IgbGlzdF9hZGRfcmN1KCksIHJ1bm5pbmcgb24gdGhpcyBzYW1lIGxpc3QuCi0gKiBIb3dldmVyLCBpdCBpcyBwZXJmZWN0bHkgbGVnYWwgdG8gcnVuIGNvbmN1cnJlbnRseSB3aXRoCi0gKiB0aGUgX3JjdSBsaXN0LXRyYXZlcnNhbCBwcmltaXRpdmVzLCBzdWNoIGFzCi0gKiBsaXN0X2Zvcl9lYWNoX2VudHJ5X3JjdSgpLgotICoKLSAqIE5vdGUgdGhhdCB0aGUgY2FsbGVyIGlzIG5vdCBwZXJtaXR0ZWQgdG8gaW1tZWRpYXRlbHkgZnJlZQotICogdGhlIG5ld2x5IGRlbGV0ZWQgZW50cnkuICBJbnN0ZWFkLCBlaXRoZXIgc3luY2hyb25pemVfcmN1KCkKLSAqIG9yIGNhbGxfcmN1KCkgbXVzdCBiZSB1c2VkIHRvIGRlZmVyIGZyZWVpbmcgdW50aWwgYW4gUkNVCi0gKiBncmFjZSBwZXJpb2QgaGFzIGVsYXBzZWQuCi0gKi8KLXN0YXRpYyBpbmxpbmUgdm9pZCBsaXN0X2RlbF9yY3Uoc3RydWN0IGxpc3RfaGVhZCAqZW50cnkpCi17Ci0JX19saXN0X2RlbChlbnRyeS0+cHJldiwgZW50cnktPm5leHQpOwotCWVudHJ5LT5wcmV2ID0gTElTVF9QT0lTT04yOwotfQotCi0vKioKICAqIGxpc3RfcmVwbGFjZSAtIHJlcGxhY2Ugb2xkIGVudHJ5IGJ5IG5ldyBvbmUKICAqIEBvbGQgOiB0aGUgZWxlbWVudCB0byBiZSByZXBsYWNlZAogICogQG5ldyA6IHRoZSBuZXcgZWxlbWVudCB0byBpbnNlcnQKQEAgLTIyNywyNSArMTM4LDYgQEAKIH0KIAogLyoqCi0gKiBsaXN0X3JlcGxhY2VfcmN1IC0gcmVwbGFjZSBvbGQgZW50cnkgYnkgbmV3IG9uZQotICogQG9sZCA6IHRoZSBlbGVtZW50IHRvIGJlIHJlcGxhY2VkCi0gKiBAbmV3IDogdGhlIG5ldyBlbGVtZW50IHRvIGluc2VydAotICoKLSAqIFRoZSBAb2xkIGVudHJ5IHdpbGwgYmUgcmVwbGFjZWQgd2l0aCB0aGUgQG5ldyBlbnRyeSBhdG9taWNhbGx5LgotICogTm90ZTogQG9sZCBzaG91bGQgbm90IGJlIGVtcHR5LgotICovCi1zdGF0aWMgaW5saW5lIHZvaWQgbGlzdF9yZXBsYWNlX3JjdShzdHJ1Y3QgbGlzdF9oZWFkICpvbGQsCi0JCQkJc3RydWN0IGxpc3RfaGVhZCAqbmV3KQotewotCW5ldy0+bmV4dCA9IG9sZC0+bmV4dDsKLQluZXctPnByZXYgPSBvbGQtPnByZXY7Ci0Jc21wX3dtYigpOwotCW5ldy0+bmV4dC0+cHJldiA9IG5ldzsKLQluZXctPnByZXYtPm5leHQgPSBuZXc7Ci0Jb2xkLT5wcmV2ID0gTElTVF9QT0lTT04yOwotfQotCi0vKioKICAqIGxpc3RfZGVsX2luaXQgLSBkZWxldGVzIGVudHJ5IGZyb20gbGlzdCBhbmQgcmVpbml0aWFsaXplIGl0LgogICogQGVudHJ5OiB0aGUgZWxlbWVudCB0byBkZWxldGUgZnJvbSB0aGUgbGlzdC4KICAqLwpAQCAtMzY5LDYyICsyNjEsNiBAQAogfQogCiAvKioKLSAqIGxpc3Rfc3BsaWNlX2luaXRfcmN1IC0gc3BsaWNlIGFuIFJDVS1wcm90ZWN0ZWQgbGlzdCBpbnRvIGFuIGV4aXN0aW5nIGxpc3QuCi0gKiBAbGlzdDoJdGhlIFJDVS1wcm90ZWN0ZWQgbGlzdCB0byBzcGxpY2UKLSAqIEBoZWFkOgl0aGUgcGxhY2UgaW4gdGhlIGxpc3QgdG8gc3BsaWNlIHRoZSBmaXJzdCBsaXN0IGludG8KLSAqIEBzeW5jOglmdW5jdGlvbiB0byBzeW5jOiBzeW5jaHJvbml6ZV9yY3UoKSwgc3luY2hyb25pemVfc2NoZWQoKSwgLi4uCi0gKgotICogQGhlYWQgY2FuIGJlIFJDVS1yZWFkIHRyYXZlcnNlZCBjb25jdXJyZW50bHkgd2l0aCB0aGlzIGZ1bmN0aW9uLgotICoKLSAqIE5vdGUgdGhhdCB0aGlzIGZ1bmN0aW9uIGJsb2Nrcy4KLSAqCi0gKiBJbXBvcnRhbnQgbm90ZTogdGhlIGNhbGxlciBtdXN0IHRha2Ugd2hhdGV2ZXIgYWN0aW9uIGlzIG5lY2Vzc2FyeSB0bwotICoJcHJldmVudCBhbnkgb3RoZXIgdXBkYXRlcyB0byBAaGVhZC4gIEluIHByaW5jaXBsZSwgaXQgaXMgcG9zc2libGUKLSAqCXRvIG1vZGlmeSB0aGUgbGlzdCBhcyBzb29uIGFzIHN5bmMoKSBiZWdpbnMgZXhlY3V0aW9uLgotICoJSWYgdGhpcyBzb3J0IG9mIHRoaW5nIGJlY29tZXMgbmVjZXNzYXJ5LCBhbiBhbHRlcm5hdGl2ZSB2ZXJzaW9uCi0gKgliYXNlZCBvbiBjYWxsX3JjdSgpIGNvdWxkIGJlIGNyZWF0ZWQuICBCdXQgb25seSBpZiAtcmVhbGx5LQotICoJbmVlZGVkIC0tIHRoZXJlIGlzIG5vIHNob3J0YWdlIG9mIFJDVSBBUEkgbWVtYmVycy4KLSAqLwotc3RhdGljIGlubGluZSB2b2lkIGxpc3Rfc3BsaWNlX2luaXRfcmN1KHN0cnVjdCBsaXN0X2hlYWQgKmxpc3QsCi0JCQkJCXN0cnVjdCBsaXN0X2hlYWQgKmhlYWQsCi0JCQkJCXZvaWQgKCpzeW5jKSh2b2lkKSkKLXsKLQlzdHJ1Y3QgbGlzdF9oZWFkICpmaXJzdCA9IGxpc3QtPm5leHQ7Ci0Jc3RydWN0IGxpc3RfaGVhZCAqbGFzdCA9IGxpc3QtPnByZXY7Ci0Jc3RydWN0IGxpc3RfaGVhZCAqYXQgPSBoZWFkLT5uZXh0OwotCi0JaWYgKGxpc3RfZW1wdHkoaGVhZCkpCi0JCXJldHVybjsKLQotCS8qICJmaXJzdCIgYW5kICJsYXN0IiB0cmFja2luZyBsaXN0LCBzbyBpbml0aWFsaXplIGl0LiAqLwotCi0JSU5JVF9MSVNUX0hFQUQobGlzdCk7Ci0KLQkvKgotCSAqIEF0IHRoaXMgcG9pbnQsIHRoZSBsaXN0IGJvZHkgc3RpbGwgcG9pbnRzIHRvIHRoZSBzb3VyY2UgbGlzdC4KLQkgKiBXYWl0IGZvciBhbnkgcmVhZGVycyB0byBmaW5pc2ggdXNpbmcgdGhlIGxpc3QgYmVmb3JlIHNwbGljaW5nCi0JICogdGhlIGxpc3QgYm9keSBpbnRvIHRoZSBuZXcgbGlzdC4gIEFueSBuZXcgcmVhZGVycyB3aWxsIHNlZQotCSAqIGFuIGVtcHR5IGxpc3QuCi0JICovCi0KLQlzeW5jKCk7Ci0KLQkvKgotCSAqIFJlYWRlcnMgYXJlIGZpbmlzaGVkIHdpdGggdGhlIHNvdXJjZSBsaXN0LCBzbyBwZXJmb3JtIHNwbGljZS4KLQkgKiBUaGUgb3JkZXIgaXMgaW1wb3J0YW50IGlmIHRoZSBuZXcgbGlzdCBpcyBnbG9iYWwgYW5kIGFjY2Vzc2libGUKLQkgKiB0byBjb25jdXJyZW50IFJDVSByZWFkZXJzLiAgTm90ZSB0aGF0IFJDVSByZWFkZXJzIGFyZSBub3QKLQkgKiBwZXJtaXR0ZWQgdG8gdHJhdmVyc2UgdGhlIHByZXYgcG9pbnRlcnMgd2l0aG91dCBleGNsdWRpbmcKLQkgKiB0aGlzIGZ1bmN0aW9uLgotCSAqLwotCi0JbGFzdC0+bmV4dCA9IGF0OwotCXNtcF93bWIoKTsKLQloZWFkLT5uZXh0ID0gZmlyc3Q7Ci0JZmlyc3QtPnByZXYgPSBoZWFkOwotCWF0LT5wcmV2ID0gbGFzdDsKLX0KLQotLyoqCiAgKiBsaXN0X2VudHJ5IC0gZ2V0IHRoZSBzdHJ1Y3QgZm9yIHRoaXMgZW50cnkKICAqIEBwdHI6CXRoZSAmc3RydWN0IGxpc3RfaGVhZCBwb2ludGVyLgogICogQHR5cGU6CXRoZSB0eXBlIG9mIHRoZSBzdHJ1Y3QgdGhpcyBpcyBlbWJlZGRlZCBpbi4KQEAgLTYyOSw1NyArNDY1LDYgQEAKIAkgICAgICZwb3MtPm1lbWJlciAhPSAoaGVhZCk7IAkJCQkJXAogCSAgICAgcG9zID0gbiwgbiA9IGxpc3RfZW50cnkobi0+bWVtYmVyLnByZXYsIHR5cGVvZigqbiksIG1lbWJlcikpCiAKLS8qKgotICogbGlzdF9mb3JfZWFjaF9yY3UJLQlpdGVyYXRlIG92ZXIgYW4gcmN1LXByb3RlY3RlZCBsaXN0Ci0gKiBAcG9zOgl0aGUgJnN0cnVjdCBsaXN0X2hlYWQgdG8gdXNlIGFzIGEgbG9vcCBjdXJzb3IuCi0gKiBAaGVhZDoJdGhlIGhlYWQgZm9yIHlvdXIgbGlzdC4KLSAqCi0gKiBUaGlzIGxpc3QtdHJhdmVyc2FsIHByaW1pdGl2ZSBtYXkgc2FmZWx5IHJ1biBjb25jdXJyZW50bHkgd2l0aAotICogdGhlIF9yY3UgbGlzdC1tdXRhdGlvbiBwcmltaXRpdmVzIHN1Y2ggYXMgbGlzdF9hZGRfcmN1KCkKLSAqIGFzIGxvbmcgYXMgdGhlIHRyYXZlcnNhbCBpcyBndWFyZGVkIGJ5IHJjdV9yZWFkX2xvY2soKS4KLSAqLwotI2RlZmluZSBsaXN0X2Zvcl9lYWNoX3JjdShwb3MsIGhlYWQpIFwKLQlmb3IgKHBvcyA9IHJjdV9kZXJlZmVyZW5jZSgoaGVhZCktPm5leHQpOyBcCi0JCXByZWZldGNoKHBvcy0+bmV4dCksIHBvcyAhPSAoaGVhZCk7IFwKLQkJcG9zID0gcmN1X2RlcmVmZXJlbmNlKHBvcy0+bmV4dCkpCi0KLSNkZWZpbmUgX19saXN0X2Zvcl9lYWNoX3JjdShwb3MsIGhlYWQpIFwKLQlmb3IgKHBvcyA9IHJjdV9kZXJlZmVyZW5jZSgoaGVhZCktPm5leHQpOyBcCi0JCXBvcyAhPSAoaGVhZCk7IFwKLQkJcG9zID0gcmN1X2RlcmVmZXJlbmNlKHBvcy0+bmV4dCkpCi0KLS8qKgotICogbGlzdF9mb3JfZWFjaF9lbnRyeV9yY3UJLQlpdGVyYXRlIG92ZXIgcmN1IGxpc3Qgb2YgZ2l2ZW4gdHlwZQotICogQHBvczoJdGhlIHR5cGUgKiB0byB1c2UgYXMgYSBsb29wIGN1cnNvci4KLSAqIEBoZWFkOgl0aGUgaGVhZCBmb3IgeW91ciBsaXN0LgotICogQG1lbWJlcjoJdGhlIG5hbWUgb2YgdGhlIGxpc3Rfc3RydWN0IHdpdGhpbiB0aGUgc3RydWN0LgotICoKLSAqIFRoaXMgbGlzdC10cmF2ZXJzYWwgcHJpbWl0aXZlIG1heSBzYWZlbHkgcnVuIGNvbmN1cnJlbnRseSB3aXRoCi0gKiB0aGUgX3JjdSBsaXN0LW11dGF0aW9uIHByaW1pdGl2ZXMgc3VjaCBhcyBsaXN0X2FkZF9yY3UoKQotICogYXMgbG9uZyBhcyB0aGUgdHJhdmVyc2FsIGlzIGd1YXJkZWQgYnkgcmN1X3JlYWRfbG9jaygpLgotICovCi0jZGVmaW5lIGxpc3RfZm9yX2VhY2hfZW50cnlfcmN1KHBvcywgaGVhZCwgbWVtYmVyKSBcCi0JZm9yIChwb3MgPSBsaXN0X2VudHJ5KHJjdV9kZXJlZmVyZW5jZSgoaGVhZCktPm5leHQpLCB0eXBlb2YoKnBvcyksIG1lbWJlcik7IFwKLQkJcHJlZmV0Y2gocG9zLT5tZW1iZXIubmV4dCksICZwb3MtPm1lbWJlciAhPSAoaGVhZCk7IFwKLQkJcG9zID0gbGlzdF9lbnRyeShyY3VfZGVyZWZlcmVuY2UocG9zLT5tZW1iZXIubmV4dCksIHR5cGVvZigqcG9zKSwgbWVtYmVyKSkKLQotCi0vKioKLSAqIGxpc3RfZm9yX2VhY2hfY29udGludWVfcmN1Ci0gKiBAcG9zOgl0aGUgJnN0cnVjdCBsaXN0X2hlYWQgdG8gdXNlIGFzIGEgbG9vcCBjdXJzb3IuCi0gKiBAaGVhZDoJdGhlIGhlYWQgZm9yIHlvdXIgbGlzdC4KLSAqCi0gKiBJdGVyYXRlIG92ZXIgYW4gcmN1LXByb3RlY3RlZCBsaXN0LCBjb250aW51aW5nIGFmdGVyIGN1cnJlbnQgcG9pbnQuCi0gKgotICogVGhpcyBsaXN0LXRyYXZlcnNhbCBwcmltaXRpdmUgbWF5IHNhZmVseSBydW4gY29uY3VycmVudGx5IHdpdGgKLSAqIHRoZSBfcmN1IGxpc3QtbXV0YXRpb24gcHJpbWl0aXZlcyBzdWNoIGFzIGxpc3RfYWRkX3JjdSgpCi0gKiBhcyBsb25nIGFzIHRoZSB0cmF2ZXJzYWwgaXMgZ3VhcmRlZCBieSByY3VfcmVhZF9sb2NrKCkuCi0gKi8KLSNkZWZpbmUgbGlzdF9mb3JfZWFjaF9jb250aW51ZV9yY3UocG9zLCBoZWFkKSBcCi0JZm9yICgocG9zKSA9IHJjdV9kZXJlZmVyZW5jZSgocG9zKS0+bmV4dCk7IFwKLQkJcHJlZmV0Y2goKHBvcyktPm5leHQpLCAocG9zKSAhPSAoaGVhZCk7IFwKLQkJKHBvcykgPSByY3VfZGVyZWZlcmVuY2UoKHBvcyktPm5leHQpKQotCiAvKgogICogRG91YmxlIGxpbmtlZCBsaXN0cyB3aXRoIGEgc2luZ2xlIHBvaW50ZXIgbGlzdCBoZWFkLgogICogTW9zdGx5IHVzZWZ1bCBmb3IgaGFzaCB0YWJsZXMgd2hlcmUgdGhlIHR3byBwb2ludGVyIGxpc3QgaGVhZCBpcwpAQCAtNzMwLDMxICs1MTUsNiBAQAogCW4tPnBwcmV2ID0gTElTVF9QT0lTT04yOwogfQogCi0vKioKLSAqIGhsaXN0X2RlbF9yY3UgLSBkZWxldGVzIGVudHJ5IGZyb20gaGFzaCBsaXN0IHdpdGhvdXQgcmUtaW5pdGlhbGl6YXRpb24KLSAqIEBuOiB0aGUgZWxlbWVudCB0byBkZWxldGUgZnJvbSB0aGUgaGFzaCBsaXN0LgotICoKLSAqIE5vdGU6IGxpc3RfdW5oYXNoZWQoKSBvbiBlbnRyeSBkb2VzIG5vdCByZXR1cm4gdHJ1ZSBhZnRlciB0aGlzLAotICogdGhlIGVudHJ5IGlzIGluIGFuIHVuZGVmaW5lZCBzdGF0ZS4gSXQgaXMgdXNlZnVsIGZvciBSQ1UgYmFzZWQKLSAqIGxvY2tmcmVlIHRyYXZlcnNhbC4KLSAqCi0gKiBJbiBwYXJ0aWN1bGFyLCBpdCBtZWFucyB0aGF0IHdlIGNhbiBub3QgcG9pc29uIHRoZSBmb3J3YXJkCi0gKiBwb2ludGVycyB0aGF0IG1heSBzdGlsbCBiZSB1c2VkIGZvciB3YWxraW5nIHRoZSBoYXNoIGxpc3QuCi0gKgotICogVGhlIGNhbGxlciBtdXN0IHRha2Ugd2hhdGV2ZXIgcHJlY2F1dGlvbnMgYXJlIG5lY2Vzc2FyeQotICogKHN1Y2ggYXMgaG9sZGluZyBhcHByb3ByaWF0ZSBsb2NrcykgdG8gYXZvaWQgcmFjaW5nCi0gKiB3aXRoIGFub3RoZXIgbGlzdC1tdXRhdGlvbiBwcmltaXRpdmUsIHN1Y2ggYXMgaGxpc3RfYWRkX2hlYWRfcmN1KCkKLSAqIG9yIGhsaXN0X2RlbF9yY3UoKSwgcnVubmluZyBvbiB0aGlzIHNhbWUgbGlzdC4KLSAqIEhvd2V2ZXIsIGl0IGlzIHBlcmZlY3RseSBsZWdhbCB0byBydW4gY29uY3VycmVudGx5IHdpdGgKLSAqIHRoZSBfcmN1IGxpc3QtdHJhdmVyc2FsIHByaW1pdGl2ZXMsIHN1Y2ggYXMKLSAqIGhsaXN0X2Zvcl9lYWNoX2VudHJ5KCkuCi0gKi8KLXN0YXRpYyBpbmxpbmUgdm9pZCBobGlzdF9kZWxfcmN1KHN0cnVjdCBobGlzdF9ub2RlICpuKQotewotCV9faGxpc3RfZGVsKG4pOwotCW4tPnBwcmV2ID0gTElTVF9QT0lTT04yOwotfQotCiBzdGF0aWMgaW5saW5lIHZvaWQgaGxpc3RfZGVsX2luaXQoc3RydWN0IGhsaXN0X25vZGUgKm4pCiB7CiAJaWYgKCFobGlzdF91bmhhc2hlZChuKSkgewpAQCAtNzYzLDI3ICs1MjMsNiBAQAogCX0KIH0KIAotLyoqCi0gKiBobGlzdF9yZXBsYWNlX3JjdSAtIHJlcGxhY2Ugb2xkIGVudHJ5IGJ5IG5ldyBvbmUKLSAqIEBvbGQgOiB0aGUgZWxlbWVudCB0byBiZSByZXBsYWNlZAotICogQG5ldyA6IHRoZSBuZXcgZWxlbWVudCB0byBpbnNlcnQKLSAqCi0gKiBUaGUgQG9sZCBlbnRyeSB3aWxsIGJlIHJlcGxhY2VkIHdpdGggdGhlIEBuZXcgZW50cnkgYXRvbWljYWxseS4KLSAqLwotc3RhdGljIGlubGluZSB2b2lkIGhsaXN0X3JlcGxhY2VfcmN1KHN0cnVjdCBobGlzdF9ub2RlICpvbGQsCi0JCQkJCXN0cnVjdCBobGlzdF9ub2RlICpuZXcpCi17Ci0Jc3RydWN0IGhsaXN0X25vZGUgKm5leHQgPSBvbGQtPm5leHQ7Ci0KLQluZXctPm5leHQgPSBuZXh0OwotCW5ldy0+cHByZXYgPSBvbGQtPnBwcmV2OwotCXNtcF93bWIoKTsKLQlpZiAobmV4dCkKLQkJbmV3LT5uZXh0LT5wcHJldiA9ICZuZXctPm5leHQ7Ci0JKm5ldy0+cHByZXYgPSBuZXc7Ci0Jb2xkLT5wcHJldiA9IExJU1RfUE9JU09OMjsKLX0KLQogc3RhdGljIGlubGluZSB2b2lkIGhsaXN0X2FkZF9oZWFkKHN0cnVjdCBobGlzdF9ub2RlICpuLCBzdHJ1Y3QgaGxpc3RfaGVhZCAqaCkKIHsKIAlzdHJ1Y3QgaGxpc3Rfbm9kZSAqZmlyc3QgPSBoLT5maXJzdDsKQEAgLTc5NCwzOCArNTMzLDYgQEAKIAluLT5wcHJldiA9ICZoLT5maXJzdDsKIH0KIAotCi0vKioKLSAqIGhsaXN0X2FkZF9oZWFkX3JjdQotICogQG46IHRoZSBlbGVtZW50IHRvIGFkZCB0byB0aGUgaGFzaCBsaXN0LgotICogQGg6IHRoZSBsaXN0IHRvIGFkZCB0by4KLSAqCi0gKiBEZXNjcmlwdGlvbjoKLSAqIEFkZHMgdGhlIHNwZWNpZmllZCBlbGVtZW50IHRvIHRoZSBzcGVjaWZpZWQgaGxpc3QsCi0gKiB3aGlsZSBwZXJtaXR0aW5nIHJhY2luZyB0cmF2ZXJzYWxzLgotICoKLSAqIFRoZSBjYWxsZXIgbXVzdCB0YWtlIHdoYXRldmVyIHByZWNhdXRpb25zIGFyZSBuZWNlc3NhcnkKLSAqIChzdWNoIGFzIGhvbGRpbmcgYXBwcm9wcmlhdGUgbG9ja3MpIHRvIGF2b2lkIHJhY2luZwotICogd2l0aCBhbm90aGVyIGxpc3QtbXV0YXRpb24gcHJpbWl0aXZlLCBzdWNoIGFzIGhsaXN0X2FkZF9oZWFkX3JjdSgpCi0gKiBvciBobGlzdF9kZWxfcmN1KCksIHJ1bm5pbmcgb24gdGhpcyBzYW1lIGxpc3QuCi0gKiBIb3dldmVyLCBpdCBpcyBwZXJmZWN0bHkgbGVnYWwgdG8gcnVuIGNvbmN1cnJlbnRseSB3aXRoCi0gKiB0aGUgX3JjdSBsaXN0LXRyYXZlcnNhbCBwcmltaXRpdmVzLCBzdWNoIGFzCi0gKiBobGlzdF9mb3JfZWFjaF9lbnRyeV9yY3UoKSwgdXNlZCB0byBwcmV2ZW50IG1lbW9yeS1jb25zaXN0ZW5jeQotICogcHJvYmxlbXMgb24gQWxwaGEgQ1BVcy4gIFJlZ2FyZGxlc3Mgb2YgdGhlIHR5cGUgb2YgQ1BVLCB0aGUKLSAqIGxpc3QtdHJhdmVyc2FsIHByaW1pdGl2ZSBtdXN0IGJlIGd1YXJkZWQgYnkgcmN1X3JlYWRfbG9jaygpLgotICovCi1zdGF0aWMgaW5saW5lIHZvaWQgaGxpc3RfYWRkX2hlYWRfcmN1KHN0cnVjdCBobGlzdF9ub2RlICpuLAotCQkJCQlzdHJ1Y3QgaGxpc3RfaGVhZCAqaCkKLXsKLQlzdHJ1Y3QgaGxpc3Rfbm9kZSAqZmlyc3QgPSBoLT5maXJzdDsKLQluLT5uZXh0ID0gZmlyc3Q7Ci0Jbi0+cHByZXYgPSAmaC0+Zmlyc3Q7Ci0Jc21wX3dtYigpOwotCWlmIChmaXJzdCkKLQkJZmlyc3QtPnBwcmV2ID0gJm4tPm5leHQ7Ci0JaC0+Zmlyc3QgPSBuOwotfQotCiAvKiBuZXh0IG11c3QgYmUgIT0gTlVMTCAqLwogc3RhdGljIGlubGluZSB2b2lkIGhsaXN0X2FkZF9iZWZvcmUoc3RydWN0IGhsaXN0X25vZGUgKm4sCiAJCQkJCXN0cnVjdCBobGlzdF9ub2RlICpuZXh0KQpAQCAtODQ3LDYzICs1NTQsNiBAQAogCQluZXh0LT5uZXh0LT5wcHJldiAgPSAmbmV4dC0+bmV4dDsKIH0KIAotLyoqCi0gKiBobGlzdF9hZGRfYmVmb3JlX3JjdQotICogQG46IHRoZSBuZXcgZWxlbWVudCB0byBhZGQgdG8gdGhlIGhhc2ggbGlzdC4KLSAqIEBuZXh0OiB0aGUgZXhpc3RpbmcgZWxlbWVudCB0byBhZGQgdGhlIG5ldyBlbGVtZW50IGJlZm9yZS4KLSAqCi0gKiBEZXNjcmlwdGlvbjoKLSAqIEFkZHMgdGhlIHNwZWNpZmllZCBlbGVtZW50IHRvIHRoZSBzcGVjaWZpZWQgaGxpc3QKLSAqIGJlZm9yZSB0aGUgc3BlY2lmaWVkIG5vZGUgd2hpbGUgcGVybWl0dGluZyByYWNpbmcgdHJhdmVyc2Fscy4KLSAqCi0gKiBUaGUgY2FsbGVyIG11c3QgdGFrZSB3aGF0ZXZlciBwcmVjYXV0aW9ucyBhcmUgbmVjZXNzYXJ5Ci0gKiAoc3VjaCBhcyBob2xkaW5nIGFwcHJvcHJpYXRlIGxvY2tzKSB0byBhdm9pZCByYWNpbmcKLSAqIHdpdGggYW5vdGhlciBsaXN0LW11dGF0aW9uIHByaW1pdGl2ZSwgc3VjaCBhcyBobGlzdF9hZGRfaGVhZF9yY3UoKQotICogb3IgaGxpc3RfZGVsX3JjdSgpLCBydW5uaW5nIG9uIHRoaXMgc2FtZSBsaXN0LgotICogSG93ZXZlciwgaXQgaXMgcGVyZmVjdGx5IGxlZ2FsIHRvIHJ1biBjb25jdXJyZW50bHkgd2l0aAotICogdGhlIF9yY3UgbGlzdC10cmF2ZXJzYWwgcHJpbWl0aXZlcywgc3VjaCBhcwotICogaGxpc3RfZm9yX2VhY2hfZW50cnlfcmN1KCksIHVzZWQgdG8gcHJldmVudCBtZW1vcnktY29uc2lzdGVuY3kKLSAqIHByb2JsZW1zIG9uIEFscGhhIENQVXMuCi0gKi8KLXN0YXRpYyBpbmxpbmUgdm9pZCBobGlzdF9hZGRfYmVmb3JlX3JjdShzdHJ1Y3QgaGxpc3Rfbm9kZSAqbiwKLQkJCQkJc3RydWN0IGhsaXN0X25vZGUgKm5leHQpCi17Ci0Jbi0+cHByZXYgPSBuZXh0LT5wcHJldjsKLQluLT5uZXh0ID0gbmV4dDsKLQlzbXBfd21iKCk7Ci0JbmV4dC0+cHByZXYgPSAmbi0+bmV4dDsKLQkqKG4tPnBwcmV2KSA9IG47Ci19Ci0KLS8qKgotICogaGxpc3RfYWRkX2FmdGVyX3JjdQotICogQHByZXY6IHRoZSBleGlzdGluZyBlbGVtZW50IHRvIGFkZCB0aGUgbmV3IGVsZW1lbnQgYWZ0ZXIuCi0gKiBAbjogdGhlIG5ldyBlbGVtZW50IHRvIGFkZCB0byB0aGUgaGFzaCBsaXN0LgotICoKLSAqIERlc2NyaXB0aW9uOgotICogQWRkcyB0aGUgc3BlY2lmaWVkIGVsZW1lbnQgdG8gdGhlIHNwZWNpZmllZCBobGlzdAotICogYWZ0ZXIgdGhlIHNwZWNpZmllZCBub2RlIHdoaWxlIHBlcm1pdHRpbmcgcmFjaW5nIHRyYXZlcnNhbHMuCi0gKgotICogVGhlIGNhbGxlciBtdXN0IHRha2Ugd2hhdGV2ZXIgcHJlY2F1dGlvbnMgYXJlIG5lY2Vzc2FyeQotICogKHN1Y2ggYXMgaG9sZGluZyBhcHByb3ByaWF0ZSBsb2NrcykgdG8gYXZvaWQgcmFjaW5nCi0gKiB3aXRoIGFub3RoZXIgbGlzdC1tdXRhdGlvbiBwcmltaXRpdmUsIHN1Y2ggYXMgaGxpc3RfYWRkX2hlYWRfcmN1KCkKLSAqIG9yIGhsaXN0X2RlbF9yY3UoKSwgcnVubmluZyBvbiB0aGlzIHNhbWUgbGlzdC4KLSAqIEhvd2V2ZXIsIGl0IGlzIHBlcmZlY3RseSBsZWdhbCB0byBydW4gY29uY3VycmVudGx5IHdpdGgKLSAqIHRoZSBfcmN1IGxpc3QtdHJhdmVyc2FsIHByaW1pdGl2ZXMsIHN1Y2ggYXMKLSAqIGhsaXN0X2Zvcl9lYWNoX2VudHJ5X3JjdSgpLCB1c2VkIHRvIHByZXZlbnQgbWVtb3J5LWNvbnNpc3RlbmN5Ci0gKiBwcm9ibGVtcyBvbiBBbHBoYSBDUFVzLgotICovCi1zdGF0aWMgaW5saW5lIHZvaWQgaGxpc3RfYWRkX2FmdGVyX3JjdShzdHJ1Y3QgaGxpc3Rfbm9kZSAqcHJldiwKLQkJCQkgICAgICAgc3RydWN0IGhsaXN0X25vZGUgKm4pCi17Ci0Jbi0+bmV4dCA9IHByZXYtPm5leHQ7Ci0Jbi0+cHByZXYgPSAmcHJldi0+bmV4dDsKLQlzbXBfd21iKCk7Ci0JcHJldi0+bmV4dCA9IG47Ci0JaWYgKG4tPm5leHQpCi0JCW4tPm5leHQtPnBwcmV2ID0gJm4tPm5leHQ7Ci19Ci0KICNkZWZpbmUgaGxpc3RfZW50cnkocHRyLCB0eXBlLCBtZW1iZXIpIGNvbnRhaW5lcl9vZihwdHIsdHlwZSxtZW1iZXIpCiAKICNkZWZpbmUgaGxpc3RfZm9yX2VhY2gocG9zLCBoZWFkKSBcCkBAIC05NjQsMjEgKzYxNCw0IEBACiAJCSh7IHRwb3MgPSBobGlzdF9lbnRyeShwb3MsIHR5cGVvZigqdHBvcyksIG1lbWJlcik7IDE7fSk7IFwKIAkgICAgIHBvcyA9IG4pCiAKLS8qKgotICogaGxpc3RfZm9yX2VhY2hfZW50cnlfcmN1IC0gaXRlcmF0ZSBvdmVyIHJjdSBsaXN0IG9mIGdpdmVuIHR5cGUKLSAqIEB0cG9zOgl0aGUgdHlwZSAqIHRvIHVzZSBhcyBhIGxvb3AgY3Vyc29yLgotICogQHBvczoJdGhlICZzdHJ1Y3QgaGxpc3Rfbm9kZSB0byB1c2UgYXMgYSBsb29wIGN1cnNvci4KLSAqIEBoZWFkOgl0aGUgaGVhZCBmb3IgeW91ciBsaXN0LgotICogQG1lbWJlcjoJdGhlIG5hbWUgb2YgdGhlIGhsaXN0X25vZGUgd2l0aGluIHRoZSBzdHJ1Y3QuCi0gKgotICogVGhpcyBsaXN0LXRyYXZlcnNhbCBwcmltaXRpdmUgbWF5IHNhZmVseSBydW4gY29uY3VycmVudGx5IHdpdGgKLSAqIHRoZSBfcmN1IGxpc3QtbXV0YXRpb24gcHJpbWl0aXZlcyBzdWNoIGFzIGhsaXN0X2FkZF9oZWFkX3JjdSgpCi0gKiBhcyBsb25nIGFzIHRoZSB0cmF2ZXJzYWwgaXMgZ3VhcmRlZCBieSByY3VfcmVhZF9sb2NrKCkuCi0gKi8KLSNkZWZpbmUgaGxpc3RfZm9yX2VhY2hfZW50cnlfcmN1KHRwb3MsIHBvcywgaGVhZCwgbWVtYmVyKQkJIFwKLQlmb3IgKHBvcyA9IHJjdV9kZXJlZmVyZW5jZSgoaGVhZCktPmZpcnN0KTsJCQkgXAotCSAgICAgICAgcG9zICYmICh7IHByZWZldGNoKHBvcy0+bmV4dCk7IDE7fSkgJiYJCQkgXAotCQkoeyB0cG9zID0gaGxpc3RfZW50cnkocG9zLCB0eXBlb2YoKnRwb3MpLCBtZW1iZXIpOyAxO30pOyBcCi0JICAgICBwb3MgPSByY3VfZGVyZWZlcmVuY2UocG9zLT5uZXh0KSkKLQogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2xtX2ludGVyZmFjZS5oIGIvaW5jbHVkZS9saW51eC9sbV9pbnRlcmZhY2UuaAppbmRleCBmMjc0OTk3Yi4uMmVkOGZhMSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9sbV9pbnRlcmZhY2UuaAorKysgYi9pbmNsdWRlL2xpbnV4L2xtX2ludGVyZmFjZS5oCkBAIC0xMjIsMTEgKzEyMiw5IEBACiAgKi8KIAogI2RlZmluZSBMTV9PVVRfU1RfTUFTSwkJMHgwMDAwMDAwMwotI2RlZmluZSBMTV9PVVRfQ0FDSEVBQkxFCTB4MDAwMDAwMDQKICNkZWZpbmUgTE1fT1VUX0NBTkNFTEVECQkweDAwMDAwMDA4CiAjZGVmaW5lIExNX09VVF9BU1lOQwkJMHgwMDAwMDA4MAogI2RlZmluZSBMTV9PVVRfRVJST1IJCTB4MDAwMDAxMDAKLSNkZWZpbmUgTE1fT1VUX0NPTlZfREVBRExLCTB4MDAwMDAyMDAKIAogLyoKICAqIGxtX2NhbGxiYWNrX3QgdHlwZXMKQEAgLTEzOCw5ICsxMzYsNiBAQAogICogTE1fQ0JfTkVFRF9SRUNPVkVSWQogICogVGhlIGdpdmVuIGpvdXJuYWwgbmVlZHMgdG8gYmUgcmVjb3ZlcmVkLgogICoKLSAqIExNX0NCX0RST1BMT0NLUwotICogUmVkdWNlIHRoZSBudW1iZXIgb2YgY2FjaGVkIGxvY2tzLgotICoKICAqIExNX0NCX0FTWU5DCiAgKiBUaGUgZ2l2ZW4gbG9jayBoYXMgYmVlbiBncmFudGVkLgogICovCkBAIC0xNDksNyArMTQ0LDYgQEAKICNkZWZpbmUgTE1fQ0JfTkVFRF9ECQkyNTgKICNkZWZpbmUgTE1fQ0JfTkVFRF9TCQkyNTkKICNkZWZpbmUgTE1fQ0JfTkVFRF9SRUNPVkVSWQkyNjAKLSNkZWZpbmUgTE1fQ0JfRFJPUExPQ0tTCQkyNjEKICNkZWZpbmUgTE1fQ0JfQVNZTkMJCTI2MgogCiAvKgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9sb2NrZGVwLmggYi9pbmNsdWRlL2xpbnV4L2xvY2tkZXAuaAppbmRleCA0YzRkMjM2Li4yNDg2ZWI0IDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2xvY2tkZXAuaAorKysgYi9pbmNsdWRlL2xpbnV4L2xvY2tkZXAuaApAQCAtMTgyLDYgKzE4Miw5IEBACiAgKiBXZSByZWNvcmQgbG9jayBkZXBlbmRlbmN5IGNoYWlucywgc28gdGhhdCB3ZSBjYW4gY2FjaGUgdGhlbToKICAqLwogc3RydWN0IGxvY2tfY2hhaW4geworCXU4CQkJCWlycV9jb250ZXh0OworCXU4CQkJCWRlcHRoOworCXUxNgkJCQliYXNlOwogCXN0cnVjdCBsaXN0X2hlYWQJCWVudHJ5OwogCXU2NAkJCQljaGFpbl9rZXk7CiB9OwpAQCAtMjc2LDE0ICsyNzksNiBAQAogCQkJCSAobG9jayktPmRlcF9tYXAua2V5LCBzdWIpCiAKIC8qCi0gKiBUbyBpbml0aWFsaXplIGEgbG9ja2RlcF9tYXAgc3RhdGljYWxseSB1c2UgdGhpcyBtYWNyby4KLSAqIE5vdGUgdGhhdCBfbmFtZSBtdXN0IG5vdCBiZSBOVUxMLgotICovCi0jZGVmaW5lIFNUQVRJQ19MT0NLREVQX01BUF9JTklUKF9uYW1lLCBfa2V5KSBcCi0JeyAubmFtZSA9IChfbmFtZSksIC5rZXkgPSAodm9pZCAqKShfa2V5KSwgfQotCi0KLS8qCiAgKiBBY3F1aXJlIGEgbG9jay4KICAqCiAgKiBWYWx1ZXMgZm9yICJyZWFkIjoKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvbWFya2VyLmggYi9pbmNsdWRlL2xpbnV4L21hcmtlci5oCmluZGV4IDQzMGY2YWQuLjEyOTA2NTMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvbWFya2VyLmgKKysrIGIvaW5jbHVkZS9saW51eC9tYXJrZXIuaApAQCAtNDQsOCArNDQsOCBAQAogCQkJCSAqLwogCWNoYXIgc3RhdGU7CQkvKiBNYXJrZXIgc3RhdGUuICovCiAJY2hhciBwdHlwZTsJCS8qIHByb2JlIHR5cGUgOiAwIDogc2luZ2xlLCAxIDogbXVsdGkgKi8KLQl2b2lkICgqY2FsbCkoY29uc3Qgc3RydWN0IG1hcmtlciAqbWRhdGEsCS8qIFByb2JlIHdyYXBwZXIgKi8KLQkJdm9pZCAqY2FsbF9wcml2YXRlLCBjb25zdCBjaGFyICpmbXQsIC4uLik7CisJCQkJLyogUHJvYmUgd3JhcHBlciAqLworCXZvaWQgKCpjYWxsKShjb25zdCBzdHJ1Y3QgbWFya2VyICptZGF0YSwgdm9pZCAqY2FsbF9wcml2YXRlLCAuLi4pOwogCXN0cnVjdCBtYXJrZXJfcHJvYmVfY2xvc3VyZSBzaW5nbGU7CiAJc3RydWN0IG1hcmtlcl9wcm9iZV9jbG9zdXJlICptdWx0aTsKIH0gX19hdHRyaWJ1dGVfXygoYWxpZ25lZCg4KSkpOwpAQCAtNTgsOCArNTgsMTIgQEAKICAqIE1ha2Ugc3VyZSB0aGUgYWxpZ25tZW50IG9mIHRoZSBzdHJ1Y3R1cmUgaW4gdGhlIF9fbWFya2VycyBzZWN0aW9uIHdpbGwKICAqIG5vdCBhZGQgdW53YW50ZWQgcGFkZGluZyBiZXR3ZWVuIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHNlY3Rpb24gYW5kIHRoZQogICogc3RydWN0dXJlLiBGb3JjZSBhbGlnbm1lbnQgdG8gdGhlIHNhbWUgYWxpZ25tZW50IGFzIHRoZSBzZWN0aW9uIHN0YXJ0LgorICoKKyAqIFRoZSAiZ2VuZXJpYyIgYXJndW1lbnQgY29udHJvbHMgd2hpY2ggbWFya2VyIGVuYWJsaW5nIG1lY2hhbmlzbSBtdXN0IGJlIHVzZWQuCisgKiBJZiBnZW5lcmljIGlzIHRydWUsIGEgdmFyaWFibGUgcmVhZCBpcyB1c2VkLgorICogSWYgZ2VuZXJpYyBpcyBmYWxzZSwgaW1tZWRpYXRlIHZhbHVlcyBhcmUgdXNlZC4KICAqLwotI2RlZmluZSBfX3RyYWNlX21hcmsobmFtZSwgY2FsbF9wcml2YXRlLCBmb3JtYXQsIGFyZ3MuLi4pCQlcCisjZGVmaW5lIF9fdHJhY2VfbWFyayhnZW5lcmljLCBuYW1lLCBjYWxsX3ByaXZhdGUsIGZvcm1hdCwgYXJncy4uLikJXAogCWRvIHsJCQkJCQkJCVwKIAkJc3RhdGljIGNvbnN0IGNoYXIgX19tc3RydGFiXyMjbmFtZVtdCQkJXAogCQlfX2F0dHJpYnV0ZV9fKChzZWN0aW9uKCJfX21hcmtlcnNfc3RyaW5ncyIpKSkJCVwKQEAgLTcyLDE1ICs3NiwxNCBAQAogCQlfX21hcmtfY2hlY2tfZm9ybWF0KGZvcm1hdCwgIyMgYXJncyk7CQkJXAogCQlpZiAodW5saWtlbHkoX19tYXJrXyMjbmFtZS5zdGF0ZSkpIHsJCQlcCiAJCQkoKl9fbWFya18jI25hbWUuY2FsbCkJCQkJXAotCQkJCSgmX19tYXJrXyMjbmFtZSwgY2FsbF9wcml2YXRlLAkJXAotCQkJCWZvcm1hdCwgIyMgYXJncyk7CQkJXAorCQkJCSgmX19tYXJrXyMjbmFtZSwgY2FsbF9wcml2YXRlLCAjIyBhcmdzKTtcCiAJCX0JCQkJCQkJXAogCX0gd2hpbGUgKDApCiAKIGV4dGVybiB2b2lkIG1hcmtlcl91cGRhdGVfcHJvYmVfcmFuZ2Uoc3RydWN0IG1hcmtlciAqYmVnaW4sCiAJc3RydWN0IG1hcmtlciAqZW5kKTsKICNlbHNlIC8qICFDT05GSUdfTUFSS0VSUyAqLwotI2RlZmluZSBfX3RyYWNlX21hcmsobmFtZSwgY2FsbF9wcml2YXRlLCBmb3JtYXQsIGFyZ3MuLi4pIFwKKyNkZWZpbmUgX190cmFjZV9tYXJrKGdlbmVyaWMsIG5hbWUsIGNhbGxfcHJpdmF0ZSwgZm9ybWF0LCBhcmdzLi4uKSBcCiAJCV9fbWFya19jaGVja19mb3JtYXQoZm9ybWF0LCAjIyBhcmdzKQogc3RhdGljIGlubGluZSB2b2lkIG1hcmtlcl91cGRhdGVfcHJvYmVfcmFuZ2Uoc3RydWN0IG1hcmtlciAqYmVnaW4sCiAJc3RydWN0IG1hcmtlciAqZW5kKQpAQCAtODgsMTUgKzkxLDMwIEBACiAjZW5kaWYgLyogQ09ORklHX01BUktFUlMgKi8KIAogLyoqCi0gKiB0cmFjZV9tYXJrIC0gTWFya2VyCisgKiB0cmFjZV9tYXJrIC0gTWFya2VyIHVzaW5nIGNvZGUgcGF0Y2hpbmcKICAqIEBuYW1lOiBtYXJrZXIgbmFtZSwgbm90IHF1b3RlZC4KICAqIEBmb3JtYXQ6IGZvcm1hdCBzdHJpbmcKICAqIEBhcmdzLi4uOiB2YXJpYWJsZSBhcmd1bWVudCBsaXN0CiAgKgotICogUGxhY2VzIGEgbWFya2VyLgorICogUGxhY2VzIGEgbWFya2VyIHVzaW5nIG9wdGltaXplZCBjb2RlIHBhdGNoaW5nIHRlY2huaXF1ZSAoaW12X3JlYWQoKSkKKyAqIHRvIGJlIGVuYWJsZWQgd2hlbiBpbW1lZGlhdGUgdmFsdWVzIGFyZSBwcmVzZW50LgogICovCiAjZGVmaW5lIHRyYWNlX21hcmsobmFtZSwgZm9ybWF0LCBhcmdzLi4uKSBcCi0JX190cmFjZV9tYXJrKG5hbWUsIE5VTEwsIGZvcm1hdCwgIyMgYXJncykKKwlfX3RyYWNlX21hcmsoMCwgbmFtZSwgTlVMTCwgZm9ybWF0LCAjIyBhcmdzKQorCisvKioKKyAqIF90cmFjZV9tYXJrIC0gTWFya2VyIHVzaW5nIHZhcmlhYmxlIHJlYWQKKyAqIEBuYW1lOiBtYXJrZXIgbmFtZSwgbm90IHF1b3RlZC4KKyAqIEBmb3JtYXQ6IGZvcm1hdCBzdHJpbmcKKyAqIEBhcmdzLi4uOiB2YXJpYWJsZSBhcmd1bWVudCBsaXN0CisgKgorICogUGxhY2VzIGEgbWFya2VyIHVzaW5nIGEgc3RhbmRhcmQgbWVtb3J5IHJlYWQgKF9pbXZfcmVhZCgpKSB0byBiZQorICogZW5hYmxlZC4gU2hvdWxkIGJlIHVzZWQgZm9yIG1hcmtlcnMgaW4gY29kZSBwYXRocyB3aGVyZSBpbnN0cnVjdGlvbgorICogbW9kaWZpY2F0aW9uIGJhc2VkIGVuYWJsaW5nIGlzIG5vdCB3ZWxjb21lLiAoX19pbml0IGFuZCBfX2V4aXQgZnVuY3Rpb25zLAorICogbG9ja2RlcCwgc29tZSB0cmFwcywgcHJpbnRrKS4KKyAqLworI2RlZmluZSBfdHJhY2VfbWFyayhuYW1lLCBmb3JtYXQsIGFyZ3MuLi4pIFwKKwlfX3RyYWNlX21hcmsoMSwgbmFtZSwgTlVMTCwgZm9ybWF0LCAjIyBhcmdzKQogCiAvKioKICAqIE1BUktfTk9BUkdTIC0gRm9ybWF0IHN0cmluZyBmb3IgYSBtYXJrZXIgd2l0aCBubyBhcmd1bWVudC4KQEAgLTExNyw5ICsxMzUsOSBAQAogZXh0ZXJuIG1hcmtlcl9wcm9iZV9mdW5jIF9fbWFya19lbXB0eV9mdW5jdGlvbjsKIAogZXh0ZXJuIHZvaWQgbWFya2VyX3Byb2JlX2NiKGNvbnN0IHN0cnVjdCBtYXJrZXIgKm1kYXRhLAotCXZvaWQgKmNhbGxfcHJpdmF0ZSwgY29uc3QgY2hhciAqZm10LCAuLi4pOworCXZvaWQgKmNhbGxfcHJpdmF0ZSwgLi4uKTsKIGV4dGVybiB2b2lkIG1hcmtlcl9wcm9iZV9jYl9ub2FyZyhjb25zdCBzdHJ1Y3QgbWFya2VyICptZGF0YSwKLQl2b2lkICpjYWxsX3ByaXZhdGUsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKTsKKwl2b2lkICpjYWxsX3ByaXZhdGUsIC4uLik7CiAKIC8qCiAgKiBDb25uZWN0IGEgcHJvYmUgdG8gYSBtYXJrZXIuCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L21seDQvZGV2aWNlLmggYi9pbmNsdWRlL2xpbnV4L21seDQvZGV2aWNlLmgKaW5kZXggYTc0NDM4My4uODFiM2RkNSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9tbHg0L2RldmljZS5oCisrKyBiL2luY2x1ZGUvbGludXgvbWx4NC9kZXZpY2UuaApAQCAtMzk4LDcgKzM5OCw4IEBACiBpbnQgbWx4NF9JTklUX1BPUlQoc3RydWN0IG1seDRfZGV2ICpkZXYsIGludCBwb3J0KTsKIGludCBtbHg0X0NMT1NFX1BPUlQoc3RydWN0IG1seDRfZGV2ICpkZXYsIGludCBwb3J0KTsKIAotaW50IG1seDRfbXVsdGljYXN0X2F0dGFjaChzdHJ1Y3QgbWx4NF9kZXYgKmRldiwgc3RydWN0IG1seDRfcXAgKnFwLCB1OCBnaWRbMTZdKTsKK2ludCBtbHg0X211bHRpY2FzdF9hdHRhY2goc3RydWN0IG1seDRfZGV2ICpkZXYsIHN0cnVjdCBtbHg0X3FwICpxcCwgdTggZ2lkWzE2XSwKKwkJCSAgaW50IGJsb2NrX21jYXN0X2xvb3BiYWNrKTsKIGludCBtbHg0X211bHRpY2FzdF9kZXRhY2goc3RydWN0IG1seDRfZGV2ICpkZXYsIHN0cnVjdCBtbHg0X3FwICpxcCwgdTggZ2lkWzE2XSk7CiAKIGludCBtbHg0X21hcF9waHlzX2ZtcihzdHJ1Y3QgbWx4NF9kZXYgKmRldiwgc3RydWN0IG1seDRfZm1yICpmbXIsIHU2NCAqcGFnZV9saXN0LApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9tbS5oIGIvaW5jbHVkZS9saW51eC9tbS5oCmluZGV4IDU4NmE5NDMuLmNmMWNkM2EgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvbW0uaAorKysgYi9pbmNsdWRlL2xpbnV4L21tLmgKQEAgLTk5OCw4ICs5OTgsOCBAQAogZXh0ZXJuIHZvaWQgZnJlZV9hcmVhX2luaXRfbm9kZXModW5zaWduZWQgbG9uZyAqbWF4X3pvbmVfcGZuKTsKIGV4dGVybiB2b2lkIGFkZF9hY3RpdmVfcmFuZ2UodW5zaWduZWQgaW50IG5pZCwgdW5zaWduZWQgbG9uZyBzdGFydF9wZm4sCiAJCQkJCXVuc2lnbmVkIGxvbmcgZW5kX3Bmbik7Ci1leHRlcm4gdm9pZCBzaHJpbmtfYWN0aXZlX3JhbmdlKHVuc2lnbmVkIGludCBuaWQsIHVuc2lnbmVkIGxvbmcgb2xkX2VuZF9wZm4sCi0JCQkJCQl1bnNpZ25lZCBsb25nIG5ld19lbmRfcGZuKTsKK2V4dGVybiB2b2lkIHJlbW92ZV9hY3RpdmVfcmFuZ2UodW5zaWduZWQgaW50IG5pZCwgdW5zaWduZWQgbG9uZyBzdGFydF9wZm4sCisJCQkJCXVuc2lnbmVkIGxvbmcgZW5kX3Bmbik7CiBleHRlcm4gdm9pZCBwdXNoX25vZGVfYm91bmRhcmllcyh1bnNpZ25lZCBpbnQgbmlkLCB1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwKIAkJCQkJdW5zaWduZWQgbG9uZyBlbmRfcGZuKTsKIGV4dGVybiB2b2lkIHJlbW92ZV9hbGxfYWN0aXZlX3Jhbmdlcyh2b2lkKTsKQEAgLTEwMTEsNiArMTAxMSw4IEBACiBleHRlcm4gdW5zaWduZWQgbG9uZyBmaW5kX21heF9wZm5fd2l0aF9hY3RpdmVfcmVnaW9ucyh2b2lkKTsKIGV4dGVybiB2b2lkIGZyZWVfYm9vdG1lbV93aXRoX2FjdGl2ZV9yZWdpb25zKGludCBuaWQsCiAJCQkJCQl1bnNpZ25lZCBsb25nIG1heF9sb3dfcGZuKTsKK3R5cGVkZWYgaW50ICgqd29ya19mbl90KSh1bnNpZ25lZCBsb25nLCB1bnNpZ25lZCBsb25nLCB2b2lkICopOworZXh0ZXJuIHZvaWQgd29ya193aXRoX2FjdGl2ZV9yZWdpb25zKGludCBuaWQsIHdvcmtfZm5fdCB3b3JrX2ZuLCB2b2lkICpkYXRhKTsKIGV4dGVybiB2b2lkIHNwYXJzZV9tZW1vcnlfcHJlc2VudF93aXRoX2FjdGl2ZV9yZWdpb25zKGludCBuaWQpOwogI2lmbmRlZiBDT05GSUdfSEFWRV9BUkNIX0VBUkxZX1BGTl9UT19OSUQKIGV4dGVybiBpbnQgZWFybHlfcGZuX3RvX25pZCh1bnNpZ25lZCBsb25nIHBmbik7CkBAIC0xMDI0LDYgKzEwMjYsNyBAQAogZXh0ZXJuIHZvaWQgc2hvd19tZW0odm9pZCk7CiBleHRlcm4gdm9pZCBzaV9tZW1pbmZvKHN0cnVjdCBzeXNpbmZvICogdmFsKTsKIGV4dGVybiB2b2lkIHNpX21lbWluZm9fbm9kZShzdHJ1Y3Qgc3lzaW5mbyAqdmFsLCBpbnQgbmlkKTsKK2V4dGVybiBpbnQgYWZ0ZXJfYm9vdG1lbTsKIAogI2lmZGVmIENPTkZJR19OVU1BCiBleHRlcm4gdm9pZCBzZXR1cF9wZXJfY3B1X3BhZ2VzZXQodm9pZCk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L21taW90cmFjZS5oIGIvaW5jbHVkZS9saW51eC9tbWlvdHJhY2UuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MWQxOWUxCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9saW51eC9tbWlvdHJhY2UuaApAQCAtMCwwICsxLDg1IEBACisjaWZuZGVmIE1NSU9UUkFDRV9ICisjZGVmaW5lIE1NSU9UUkFDRV9ICisKKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KKworc3RydWN0IGttbWlvX3Byb2JlOworc3RydWN0IHB0X3JlZ3M7CisKK3R5cGVkZWYgdm9pZCAoKmttbWlvX3ByZV9oYW5kbGVyX3QpKHN0cnVjdCBrbW1pb19wcm9iZSAqLAorCQkJCXN0cnVjdCBwdF9yZWdzICosIHVuc2lnbmVkIGxvbmcgYWRkcik7Cit0eXBlZGVmIHZvaWQgKCprbW1pb19wb3N0X2hhbmRsZXJfdCkoc3RydWN0IGttbWlvX3Byb2JlICosCisJCQkJdW5zaWduZWQgbG9uZyBjb25kaXRpb24sIHN0cnVjdCBwdF9yZWdzICopOworCitzdHJ1Y3Qga21taW9fcHJvYmUgeworCXN0cnVjdCBsaXN0X2hlYWQgbGlzdDsgLyoga21taW8gaW50ZXJuYWwgbGlzdCAqLworCXVuc2lnbmVkIGxvbmcgYWRkcjsgLyogc3RhcnQgbG9jYXRpb24gb2YgdGhlIHByb2JlIHBvaW50ICovCisJdW5zaWduZWQgbG9uZyBsZW47IC8qIGxlbmd0aCBvZiB0aGUgcHJvYmUgcmVnaW9uICovCisJa21taW9fcHJlX2hhbmRsZXJfdCBwcmVfaGFuZGxlcjsgLyogQ2FsbGVkIGJlZm9yZSBhZGRyIGlzIGV4ZWN1dGVkLiAqLworCWttbWlvX3Bvc3RfaGFuZGxlcl90IHBvc3RfaGFuZGxlcjsgLyogQ2FsbGVkIGFmdGVyIGFkZHIgaXMgZXhlY3V0ZWQgKi8KKwl2b2lkICpwcml2YXRlOworfTsKKworLyoga21taW8gaXMgYWN0aXZlIGJ5IHNvbWUga21taW9fcHJvYmVzPyAqLworc3RhdGljIGlubGluZSBpbnQgaXNfa21taW9fYWN0aXZlKHZvaWQpCit7CisJZXh0ZXJuIHVuc2lnbmVkIGludCBrbW1pb19jb3VudDsKKwlyZXR1cm4ga21taW9fY291bnQ7Cit9CisKK2V4dGVybiBpbnQgcmVnaXN0ZXJfa21taW9fcHJvYmUoc3RydWN0IGttbWlvX3Byb2JlICpwKTsKK2V4dGVybiB2b2lkIHVucmVnaXN0ZXJfa21taW9fcHJvYmUoc3RydWN0IGttbWlvX3Byb2JlICpwKTsKKworLyogQ2FsbGVkIGZyb20gcGFnZSBmYXVsdCBoYW5kbGVyLiAqLworZXh0ZXJuIGludCBrbW1pb19oYW5kbGVyKHN0cnVjdCBwdF9yZWdzICpyZWdzLCB1bnNpZ25lZCBsb25nIGFkZHIpOworCisvKiBDYWxsZWQgZnJvbSBpb3JlbWFwLmMgKi8KKyNpZmRlZiBDT05GSUdfTU1JT1RSQUNFCitleHRlcm4gdm9pZCBtbWlvdHJhY2VfaW9yZW1hcChyZXNvdXJjZV9zaXplX3Qgb2Zmc2V0LCB1bnNpZ25lZCBsb25nIHNpemUsCisJCQkJCQkJdm9pZCBfX2lvbWVtICphZGRyKTsKK2V4dGVybiB2b2lkIG1taW90cmFjZV9pb3VubWFwKHZvbGF0aWxlIHZvaWQgX19pb21lbSAqYWRkcik7CisjZWxzZQorc3RhdGljIGlubGluZSB2b2lkIG1taW90cmFjZV9pb3JlbWFwKHJlc291cmNlX3NpemVfdCBvZmZzZXQsCisJCQkJCXVuc2lnbmVkIGxvbmcgc2l6ZSwgdm9pZCBfX2lvbWVtICphZGRyKQoreworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgbW1pb3RyYWNlX2lvdW5tYXAodm9sYXRpbGUgdm9pZCBfX2lvbWVtICphZGRyKQoreworfQorI2VuZGlmIC8qIENPTkZJR19NTUlPVFJBQ0VfSE9PS1MgKi8KKworZW51bSBtbV9pb19vcGNvZGUgeworCU1NSU9fUkVBRCA9IDB4MSwgICAgIC8qIHN0cnVjdCBtbWlvdHJhY2VfcncgKi8KKwlNTUlPX1dSSVRFID0gMHgyLCAgICAvKiBzdHJ1Y3QgbW1pb3RyYWNlX3J3ICovCisJTU1JT19QUk9CRSA9IDB4MywgICAgLyogc3RydWN0IG1taW90cmFjZV9tYXAgKi8KKwlNTUlPX1VOUFJPQkUgPSAweDQsICAvKiBzdHJ1Y3QgbW1pb3RyYWNlX21hcCAqLworCU1NSU9fTUFSS0VSID0gMHg1LCAgIC8qIHJhdyBjaGFyIGRhdGEgKi8KKwlNTUlPX1VOS05PV05fT1AgPSAweDYsIC8qIHN0cnVjdCBtbWlvdHJhY2VfcncgKi8KK307CisKK3N0cnVjdCBtbWlvdHJhY2VfcncgeworCXJlc291cmNlX3NpemVfdCBwaHlzOwkvKiBQQ0kgYWRkcmVzcyBvZiByZWdpc3RlciAqLworCXVuc2lnbmVkIGxvbmcgdmFsdWU7CisJdW5zaWduZWQgbG9uZyBwYzsJLyogb3B0aW9uYWwgcHJvZ3JhbSBjb3VudGVyICovCisJaW50IG1hcF9pZDsKKwl1bnNpZ25lZCBjaGFyIG9wY29kZTsJLyogb25lIG9mIE1NSU9fe1JFQUQsV1JJVEUsVU5LTk9XTl9PUH0gKi8KKwl1bnNpZ25lZCBjaGFyIHdpZHRoOwkvKiBzaXplIG9mIHJlZ2lzdGVyIGFjY2VzcyBpbiBieXRlcyAqLworfTsKKworc3RydWN0IG1taW90cmFjZV9tYXAgeworCXJlc291cmNlX3NpemVfdCBwaHlzOwkvKiBiYXNlIGFkZHJlc3MgaW4gUENJIHNwYWNlICovCisJdW5zaWduZWQgbG9uZyB2aXJ0OwkvKiBiYXNlIHZpcnR1YWwgYWRkcmVzcyAqLworCXVuc2lnbmVkIGxvbmcgbGVuOwkvKiBtYXBwaW5nIHNpemUgKi8KKwlpbnQgbWFwX2lkOworCXVuc2lnbmVkIGNoYXIgb3Bjb2RlOwkvKiBNTUlPX1BST0JFIG9yIE1NSU9fVU5QUk9CRSAqLworfTsKKworLyogaW4ga2VybmVsL3RyYWNlL3RyYWNlX21taW90cmFjZS5jICovCitleHRlcm4gdm9pZCBlbmFibGVfbW1pb3RyYWNlKHZvaWQpOworZXh0ZXJuIHZvaWQgZGlzYWJsZV9tbWlvdHJhY2Uodm9pZCk7CitleHRlcm4gdm9pZCBtbWlvX3RyYWNlX3J3KHN0cnVjdCBtbWlvdHJhY2VfcncgKnJ3KTsKK2V4dGVybiB2b2lkIG1taW9fdHJhY2VfbWFwcGluZyhzdHJ1Y3QgbW1pb3RyYWNlX21hcCAqbWFwKTsKKworI2VuZGlmIC8qIE1NSU9UUkFDRV9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L21vZF9kZXZpY2V0YWJsZS5oIGIvaW5jbHVkZS9saW51eC9tb2RfZGV2aWNldGFibGUuaAppbmRleCA2OWIyMzQyLi5jNGRiNTgyIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L21vZF9kZXZpY2V0YWJsZS5oCisrKyBiL2luY2x1ZGUvbGludXgvbW9kX2RldmljZXRhYmxlLmgKQEAgLTE1OSw2ICsxNTksMTUgQEAKIAogI2RlZmluZSBBUF9ERVZJQ0VfSURfTUFUQ0hfREVWSUNFX1RZUEUJCTB4MDEKIAorLyogczM5MCBjc3MgYnVzIGRldmljZXMgKHN1YmNoYW5uZWxzKSAqLworc3RydWN0IGNzc19kZXZpY2VfaWQgeworCV9fdTggbWF0Y2hfZmxhZ3M7CisJX191OCB0eXBlOyAvKiBzdWJjaGFubmVsIHR5cGUgKi8KKwlfX3UxNiBwYWQyOworCV9fdTMyIHBhZDM7CisJa2VybmVsX3Vsb25nX3QgZHJpdmVyX2RhdGE7Cit9OworCiAjZGVmaW5lIEFDUElfSURfTEVOCTE2IC8qIG9ubHkgOSBieXRlcyBuZWVkZWQgaGVyZSwgMTYgYnl0ZXMgYXJlIHVzZWQgKi8KIAkJCSAgIC8qIHRvIHdvcmthcm91bmQgY3Jvc3Njb21waWxlIGlzc3VlcyAqLwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L21wYWdlLmggYi9pbmNsdWRlL2xpbnV4L21wYWdlLmgKaW5kZXggMDY4YTBjOS4uNWM0MjgyMSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9tcGFnZS5oCisrKyBiL2luY2x1ZGUvbGludXgvbXBhZ2UuaApAQCAtMTEsMTEgKzExLDIxIEBACiAgKi8KICNpZmRlZiBDT05GSUdfQkxPQ0sKIAorc3RydWN0IG1wYWdlX2RhdGEgeworCXN0cnVjdCBiaW8gKmJpbzsKKwlzZWN0b3JfdCBsYXN0X2Jsb2NrX2luX2JpbzsKKwlnZXRfYmxvY2tfdCAqZ2V0X2Jsb2NrOworCXVuc2lnbmVkIHVzZV93cml0ZXBhZ2U7Cit9OworCiBzdHJ1Y3Qgd3JpdGViYWNrX2NvbnRyb2w7CiAKK3N0cnVjdCBiaW8gKm1wYWdlX2Jpb19zdWJtaXQoaW50IHJ3LCBzdHJ1Y3QgYmlvICpiaW8pOwogaW50IG1wYWdlX3JlYWRwYWdlcyhzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywgc3RydWN0IGxpc3RfaGVhZCAqcGFnZXMsCiAJCQkJdW5zaWduZWQgbnJfcGFnZXMsIGdldF9ibG9ja190IGdldF9ibG9jayk7CiBpbnQgbXBhZ2VfcmVhZHBhZ2Uoc3RydWN0IHBhZ2UgKnBhZ2UsIGdldF9ibG9ja190IGdldF9ibG9jayk7CitpbnQgX19tcGFnZV93cml0ZXBhZ2Uoc3RydWN0IHBhZ2UgKnBhZ2UsIHN0cnVjdCB3cml0ZWJhY2tfY29udHJvbCAqd2JjLAorCQkgICAgICB2b2lkICpkYXRhKTsKIGludCBtcGFnZV93cml0ZXBhZ2VzKHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLAogCQlzdHJ1Y3Qgd3JpdGViYWNrX2NvbnRyb2wgKndiYywgZ2V0X2Jsb2NrX3QgZ2V0X2Jsb2NrKTsKIGludCBtcGFnZV93cml0ZXBhZ2Uoc3RydWN0IHBhZ2UgKnBhZ2UsIGdldF9ibG9ja190ICpnZXRfYmxvY2ssCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3BhZ2UtZmxhZ3MuaCBiL2luY2x1ZGUvbGludXgvcGFnZS1mbGFncy5oCmluZGV4IGYzMWRlYmYuLjBkMmE0ZTcgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvcGFnZS1mbGFncy5oCisrKyBiL2luY2x1ZGUvbGludXgvcGFnZS1mbGFncy5oCkBAIC0xNTcsNiArMTU3LDcgQEAKIF9fUEFHRUZMQUcoU2xhYiwgc2xhYikKIFBBR0VGTEFHKENoZWNrZWQsIG93bmVyX3ByaXZfMSkJCS8qIFVzZWQgYnkgc29tZSBmaWxlc3lzdGVtcyAqLwogUEFHRUZMQUcoUGlubmVkLCBvd25lcl9wcml2XzEpIFRFU1RTQ0ZMQUcoUGlubmVkLCBvd25lcl9wcml2XzEpIC8qIFhlbiAqLworUEFHRUZMQUcoU2F2ZVBpbm5lZCwgZGlydHkpOwkJCQkJLyogWGVuICovCiBQQUdFRkxBRyhSZXNlcnZlZCwgcmVzZXJ2ZWQpIF9fQ0xFQVJQQUdFRkxBRyhSZXNlcnZlZCwgcmVzZXJ2ZWQpCiBQQUdFRkxBRyhQcml2YXRlLCBwcml2YXRlKSBfX0NMRUFSUEFHRUZMQUcoUHJpdmF0ZSwgcHJpdmF0ZSkKIAlfX1NFVFBBR0VGTEFHKFByaXZhdGUsIHByaXZhdGUpCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3BhZ2VibG9jay1mbGFncy5oIGIvaW5jbHVkZS9saW51eC9wYWdlYmxvY2stZmxhZ3MuaAppbmRleCBlODc1OTA1Li5lOGMwNjEyIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L3BhZ2VibG9jay1mbGFncy5oCisrKyBiL2luY2x1ZGUvbGludXgvcGFnZWJsb2NrLWZsYWdzLmgKQEAgLTI1LDEzICsyNSwxMSBAQAogCiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KIAotLyogTWFjcm8gdG8gYWlkIHRoZSBkZWZpbml0aW9uIG9mIHJhbmdlcyBvZiBiaXRzICovCi0jZGVmaW5lIFBCX3JhbmdlKG5hbWUsIHJlcXVpcmVkX2JpdHMpIFwKLQluYW1lLCBuYW1lICMjIF9lbmQgPSAobmFtZSArIHJlcXVpcmVkX2JpdHMpIC0gMQotCiAvKiBCaXQgaW5kaWNlcyB0aGF0IGFmZmVjdCBhIHdob2xlIGJsb2NrIG9mIHBhZ2VzICovCiBlbnVtIHBhZ2VibG9ja19iaXRzIHsKLQlQQl9yYW5nZShQQl9taWdyYXRlLCAzKSwgLyogMyBiaXRzIHJlcXVpcmVkIGZvciBtaWdyYXRlIHR5cGVzICovCisJUEJfbWlncmF0ZSwKKwlQQl9taWdyYXRlX2VuZCA9IFBCX21pZ3JhdGUgKyAzIC0gMSwKKwkJCS8qIDMgYml0cyByZXF1aXJlZCBmb3IgbWlncmF0ZSB0eXBlcyAqLwogCU5SX1BBR0VCTE9DS19CSVRTCiB9OwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3BlcmNwdV9jb3VudGVyLmggYi9pbmNsdWRlL2xpbnV4L3BlcmNwdV9jb3VudGVyLmgKaW5kZXggOTAwN2NjZC4uMjA4Mzg4OCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9wZXJjcHVfY291bnRlci5oCisrKyBiL2luY2x1ZGUvbGludXgvcGVyY3B1X2NvdW50ZXIuaApAQCAtMzUsNyArMzUsNyBAQAogdm9pZCBwZXJjcHVfY291bnRlcl9kZXN0cm95KHN0cnVjdCBwZXJjcHVfY291bnRlciAqZmJjKTsKIHZvaWQgcGVyY3B1X2NvdW50ZXJfc2V0KHN0cnVjdCBwZXJjcHVfY291bnRlciAqZmJjLCBzNjQgYW1vdW50KTsKIHZvaWQgX19wZXJjcHVfY291bnRlcl9hZGQoc3RydWN0IHBlcmNwdV9jb3VudGVyICpmYmMsIHM2NCBhbW91bnQsIHMzMiBiYXRjaCk7Ci1zNjQgX19wZXJjcHVfY291bnRlcl9zdW0oc3RydWN0IHBlcmNwdV9jb3VudGVyICpmYmMpOworczY0IF9fcGVyY3B1X2NvdW50ZXJfc3VtKHN0cnVjdCBwZXJjcHVfY291bnRlciAqZmJjLCBpbnQgc2V0KTsKIAogc3RhdGljIGlubGluZSB2b2lkIHBlcmNwdV9jb3VudGVyX2FkZChzdHJ1Y3QgcGVyY3B1X2NvdW50ZXIgKmZiYywgczY0IGFtb3VudCkKIHsKQEAgLTQ0LDEzICs0NCwxOSBAQAogCiBzdGF0aWMgaW5saW5lIHM2NCBwZXJjcHVfY291bnRlcl9zdW1fcG9zaXRpdmUoc3RydWN0IHBlcmNwdV9jb3VudGVyICpmYmMpCiB7Ci0JczY0IHJldCA9IF9fcGVyY3B1X2NvdW50ZXJfc3VtKGZiYyk7CisJczY0IHJldCA9IF9fcGVyY3B1X2NvdW50ZXJfc3VtKGZiYywgMCk7CiAJcmV0dXJuIHJldCA8IDAgPyAwIDogcmV0OwogfQogCitzdGF0aWMgaW5saW5lIHM2NCBwZXJjcHVfY291bnRlcl9zdW1fYW5kX3NldChzdHJ1Y3QgcGVyY3B1X2NvdW50ZXIgKmZiYykKK3sKKwlyZXR1cm4gX19wZXJjcHVfY291bnRlcl9zdW0oZmJjLCAxKTsKK30KKworCiBzdGF0aWMgaW5saW5lIHM2NCBwZXJjcHVfY291bnRlcl9zdW0oc3RydWN0IHBlcmNwdV9jb3VudGVyICpmYmMpCiB7Ci0JcmV0dXJuIF9fcGVyY3B1X2NvdW50ZXJfc3VtKGZiYyk7CisJcmV0dXJuIF9fcGVyY3B1X2NvdW50ZXJfc3VtKGZiYywgMCk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgczY0IHBlcmNwdV9jb3VudGVyX3JlYWQoc3RydWN0IHBlcmNwdV9jb3VudGVyICpmYmMpCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3ByZWVtcHQuaCBiL2luY2x1ZGUvbGludXgvcHJlZW1wdC5oCmluZGV4IDIzZjBjNTQuLjcyYjFhMTAgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvcHJlZW1wdC5oCisrKyBiL2luY2x1ZGUvbGludXgvcHJlZW1wdC5oCkBAIC0xMCw3ICsxMCw3IEBACiAjaW5jbHVkZSA8bGludXgvbGlua2FnZS5oPgogI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KIAotI2lmZGVmIENPTkZJR19ERUJVR19QUkVFTVBUCisjaWYgZGVmaW5lZChDT05GSUdfREVCVUdfUFJFRU1QVCkgfHwgZGVmaW5lZChDT05GSUdfUFJFRU1QVF9UUkFDRVIpCiAgIGV4dGVybiB2b2lkIGFkZF9wcmVlbXB0X2NvdW50KGludCB2YWwpOwogICBleHRlcm4gdm9pZCBzdWJfcHJlZW1wdF9jb3VudChpbnQgdmFsKTsKICNlbHNlCkBAIC01Miw2ICs1MiwzNCBAQAogCXByZWVtcHRfY2hlY2tfcmVzY2hlZCgpOyBcCiB9IHdoaWxlICgwKQogCisvKiBGb3IgZGVidWdnaW5nIGFuZCB0cmFjZXIgaW50ZXJuYWxzIG9ubHkhICovCisjZGVmaW5lIGFkZF9wcmVlbXB0X2NvdW50X25vdHJhY2UodmFsKQkJCVwKKwlkbyB7IHByZWVtcHRfY291bnQoKSArPSAodmFsKTsgfSB3aGlsZSAoMCkKKyNkZWZpbmUgc3ViX3ByZWVtcHRfY291bnRfbm90cmFjZSh2YWwpCQkJXAorCWRvIHsgcHJlZW1wdF9jb3VudCgpIC09ICh2YWwpOyB9IHdoaWxlICgwKQorI2RlZmluZSBpbmNfcHJlZW1wdF9jb3VudF9ub3RyYWNlKCkgYWRkX3ByZWVtcHRfY291bnRfbm90cmFjZSgxKQorI2RlZmluZSBkZWNfcHJlZW1wdF9jb3VudF9ub3RyYWNlKCkgc3ViX3ByZWVtcHRfY291bnRfbm90cmFjZSgxKQorCisjZGVmaW5lIHByZWVtcHRfZGlzYWJsZV9ub3RyYWNlKCkgXAorZG8geyBcCisJaW5jX3ByZWVtcHRfY291bnRfbm90cmFjZSgpOyBcCisJYmFycmllcigpOyBcCit9IHdoaWxlICgwKQorCisjZGVmaW5lIHByZWVtcHRfZW5hYmxlX25vX3Jlc2NoZWRfbm90cmFjZSgpIFwKK2RvIHsgXAorCWJhcnJpZXIoKTsgXAorCWRlY19wcmVlbXB0X2NvdW50X25vdHJhY2UoKTsgXAorfSB3aGlsZSAoMCkKKworLyogcHJlZW1wdF9jaGVja19yZXNjaGVkIGlzIE9LIHRvIHRyYWNlICovCisjZGVmaW5lIHByZWVtcHRfZW5hYmxlX25vdHJhY2UoKSBcCitkbyB7IFwKKwlwcmVlbXB0X2VuYWJsZV9ub19yZXNjaGVkX25vdHJhY2UoKTsgXAorCWJhcnJpZXIoKTsgXAorCXByZWVtcHRfY2hlY2tfcmVzY2hlZCgpOyBcCit9IHdoaWxlICgwKQorCiAjZWxzZQogCiAjZGVmaW5lIHByZWVtcHRfZGlzYWJsZSgpCQlkbyB7IH0gd2hpbGUgKDApCkBAIC01OSw2ICs4NywxMCBAQAogI2RlZmluZSBwcmVlbXB0X2VuYWJsZSgpCQlkbyB7IH0gd2hpbGUgKDApCiAjZGVmaW5lIHByZWVtcHRfY2hlY2tfcmVzY2hlZCgpCQlkbyB7IH0gd2hpbGUgKDApCiAKKyNkZWZpbmUgcHJlZW1wdF9kaXNhYmxlX25vdHJhY2UoKQkJZG8geyB9IHdoaWxlICgwKQorI2RlZmluZSBwcmVlbXB0X2VuYWJsZV9ub19yZXNjaGVkX25vdHJhY2UoKQlkbyB7IH0gd2hpbGUgKDApCisjZGVmaW5lIHByZWVtcHRfZW5hYmxlX25vdHJhY2UoKQkJZG8geyB9IHdoaWxlICgwKQorCiAjZW5kaWYKIAogI2lmZGVmIENPTkZJR19QUkVFTVBUX05PVElGSUVSUwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9wdHJhY2UuaCBiL2luY2x1ZGUvbGludXgvcHRyYWNlLmgKaW5kZXggZjk4NTAxYi4uYzZmNWY5ZCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9wdHJhY2UuaAorKysgYi9pbmNsdWRlL2xpbnV4L3B0cmFjZS5oCkBAIC05NSw4ICs5NSwxMiBAQAogCQkJICBzdHJ1Y3QgdGFza19zdHJ1Y3QgKm5ld19wYXJlbnQpOwogZXh0ZXJuIHZvaWQgX19wdHJhY2VfdW5saW5rKHN0cnVjdCB0YXNrX3N0cnVjdCAqY2hpbGQpOwogZXh0ZXJuIHZvaWQgcHRyYWNlX3VudHJhY2Uoc3RydWN0IHRhc2tfc3RydWN0ICpjaGlsZCk7Ci1leHRlcm4gaW50IHB0cmFjZV9tYXlfYXR0YWNoKHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzayk7Ci1leHRlcm4gaW50IF9fcHRyYWNlX21heV9hdHRhY2goc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrKTsKKyNkZWZpbmUgUFRSQUNFX01PREVfUkVBRCAgIDEKKyNkZWZpbmUgUFRSQUNFX01PREVfQVRUQUNIIDIKKy8qIFJldHVybnMgMCBvbiBzdWNjZXNzLCAtZXJybm8gb24gZGVuaWFsLiAqLworZXh0ZXJuIGludCBfX3B0cmFjZV9tYXlfYWNjZXNzKHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzaywgdW5zaWduZWQgaW50IG1vZGUpOworLyogUmV0dXJucyB0cnVlIG9uIHN1Y2Nlc3MsIGZhbHNlIG9uIGRlbmlhbC4gKi8KK2V4dGVybiBib29sIHB0cmFjZV9tYXlfYWNjZXNzKHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzaywgdW5zaWduZWQgaW50IG1vZGUpOwogCiBzdGF0aWMgaW5saW5lIGludCBwdHJhY2VfcmVwYXJlbnRlZChzdHJ1Y3QgdGFza19zdHJ1Y3QgKmNoaWxkKQogewpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9wd20uaCBiL2luY2x1ZGUvbGludXgvcHdtLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzk0NWY4MAotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvbGludXgvcHdtLmgKQEAgLTAsMCArMSwzMSBAQAorI2lmbmRlZiBfX0xJTlVYX1BXTV9ICisjZGVmaW5lIF9fTElOVVhfUFdNX0gKKworc3RydWN0IHB3bV9kZXZpY2U7CisKKy8qCisgKiBwd21fcmVxdWVzdCAtIHJlcXVlc3QgYSBQV00gZGV2aWNlCisgKi8KK3N0cnVjdCBwd21fZGV2aWNlICpwd21fcmVxdWVzdChpbnQgcHdtX2lkLCBjb25zdCBjaGFyICpsYWJlbCk7CisKKy8qCisgKiBwd21fZnJlZSAtIGZyZWUgYSBQV00gZGV2aWNlCisgKi8KK3ZvaWQgcHdtX2ZyZWUoc3RydWN0IHB3bV9kZXZpY2UgKnB3bSk7CisKKy8qCisgKiBwd21fY29uZmlnIC0gY2hhbmdlIGEgUFdNIGRldmljZSBjb25maWd1cmF0aW9uCisgKi8KK2ludCBwd21fY29uZmlnKHN0cnVjdCBwd21fZGV2aWNlICpwd20sIGludCBkdXR5X25zLCBpbnQgcGVyaW9kX25zKTsKKworLyoKKyAqIHB3bV9lbmFibGUgLSBzdGFydCBhIFBXTSBvdXRwdXQgdG9nZ2xpbmcKKyAqLworaW50IHB3bV9lbmFibGUoc3RydWN0IHB3bV9kZXZpY2UgKnB3bSk7CisKKy8qCisgKiBwd21fZGlzYWJsZSAtIHN0b3AgYSBQV00gb3V0cHV0IHRvZ2dsaW5nCisgKi8KK3ZvaWQgcHdtX2Rpc2FibGUoc3RydWN0IHB3bV9kZXZpY2UgKnB3bSk7CisKKyNlbmRpZiAvKiBfX0FTTV9BUkNIX1BXTV9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3B3bV9iYWNrbGlnaHQuaCBiL2luY2x1ZGUvbGludXgvcHdtX2JhY2tsaWdodC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdhOTc1NGMKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2xpbnV4L3B3bV9iYWNrbGlnaHQuaApAQCAtMCwwICsxLDE3IEBACisvKgorICogR2VuZXJpYyBQV00gYmFja2xpZ2h0IGRyaXZlciBkYXRhIC0gc2VlIGRyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L3B3bV9ibC5jCisgKi8KKyNpZm5kZWYgX19MSU5VWF9QV01fQkFDS0xJR0hUX0gKKyNkZWZpbmUgX19MSU5VWF9QV01fQkFDS0xJR0hUX0gKKworc3RydWN0IHBsYXRmb3JtX3B3bV9iYWNrbGlnaHRfZGF0YSB7CisJaW50IHB3bV9pZDsKKwl1bnNpZ25lZCBpbnQgbWF4X2JyaWdodG5lc3M7CisJdW5zaWduZWQgaW50IGRmdF9icmlnaHRuZXNzOworCXVuc2lnbmVkIGludCBwd21fcGVyaW9kX25zOworCWludCAoKmluaXQpKHN0cnVjdCBkZXZpY2UgKmRldik7CisJaW50ICgqbm90aWZ5KShpbnQgYnJpZ2h0bmVzcyk7CisJdm9pZCAoKmV4aXQpKHN0cnVjdCBkZXZpY2UgKmRldik7Cit9OworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvcmN1Y2xhc3NpYy5oIGIvaW5jbHVkZS9saW51eC9yY3VjbGFzc2ljLmgKaW5kZXggYjNhYTA1Yi4uOGM3NzQ5MCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9yY3VjbGFzc2ljLmgKKysrIGIvaW5jbHVkZS9saW51eC9yY3VjbGFzc2ljLmgKQEAgLTE1MSw3ICsxNTEsMTAgQEAKIAogI2RlZmluZSBfX3N5bmNocm9uaXplX3NjaGVkKCkgc3luY2hyb25pemVfcmN1KCkKIAorI2RlZmluZSBjYWxsX3JjdV9zY2hlZChoZWFkLCBmdW5jKSBjYWxsX3JjdShoZWFkLCBmdW5jKQorCiBleHRlcm4gdm9pZCBfX3JjdV9pbml0KHZvaWQpOworI2RlZmluZSByY3VfaW5pdF9zY2hlZCgpCWRvIHsgfSB3aGlsZSAoMCkKIGV4dGVybiB2b2lkIHJjdV9jaGVja19jYWxsYmFja3MoaW50IGNwdSwgaW50IHVzZXIpOwogZXh0ZXJuIHZvaWQgcmN1X3Jlc3RhcnRfY3B1KGludCBjcHUpOwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3JjdWxpc3QuaCBiL2luY2x1ZGUvbGludXgvcmN1bGlzdC5oCmluZGV4IGJkZTQ1ODYuLmIwZjM5YmUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvcmN1bGlzdC5oCisrKyBiL2luY2x1ZGUvbGludXgvcmN1bGlzdC5oCkBAIC0xLDYgKzEsMzczIEBACiAjaWZuZGVmIF9MSU5VWF9SQ1VMSVNUX0gKICNkZWZpbmUgX0xJTlVYX1JDVUxJU1RfSAogCi0jaW5jbHVkZSA8bGludXgvbGlzdC5oPgorI2lmZGVmIF9fS0VSTkVMX18KIAotI2VuZGlmCS8qIF9MSU5VWF9SQ1VMSVNUX0ggKi8KKy8qCisgKiBSQ1UtcHJvdGVjdGVkIGxpc3QgdmVyc2lvbgorICovCisjaW5jbHVkZSA8bGludXgvbGlzdC5oPgorI2luY2x1ZGUgPGxpbnV4L3JjdXBkYXRlLmg+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+CiAjaW5jbHVkZSA8bGludXgvbm90aWZpZXIuaD4KICNpbmNsdWRlIDxsaW51eC9jcHUuaD4KICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogCi1zdHJ1Y3QgcmN1X3N5bmNocm9uaXplIHsKLQlzdHJ1Y3QgcmN1X2hlYWQgaGVhZDsKLQlzdHJ1Y3QgY29tcGxldGlvbiBjb21wbGV0aW9uOworZW51bSByY3VfYmFycmllciB7CisJUkNVX0JBUlJJRVJfU1RELAorCVJDVV9CQVJSSUVSX0JILAorCVJDVV9CQVJSSUVSX1NDSEVELAogfTsKIAogc3RhdGljIERFRklORV9QRVJfQ1BVKHN0cnVjdCByY3VfaGVhZCwgcmN1X2JhcnJpZXJfaGVhZCkgPSB7TlVMTH07CkBAIC02MCw3ICs2MCw3IEBACiAgKiBBd2FrZW4gdGhlIGNvcnJlc3BvbmRpbmcgc3luY2hyb25pemVfcmN1KCkgaW5zdGFuY2Ugbm93IHRoYXQgYQogICogZ3JhY2UgcGVyaW9kIGhhcyBlbGFwc2VkLgogICovCi1zdGF0aWMgdm9pZCB3YWtlbWVfYWZ0ZXJfcmN1KHN0cnVjdCByY3VfaGVhZCAgKmhlYWQpCit2b2lkIHdha2VtZV9hZnRlcl9yY3Uoc3RydWN0IHJjdV9oZWFkICAqaGVhZCkKIHsKIAlzdHJ1Y3QgcmN1X3N5bmNocm9uaXplICpyY3U7CiAKQEAgLTc3LDE3ICs3Nyw3IEBACiAgKiBzZWN0aW9ucyBhcmUgZGVsaW1pdGVkIGJ5IHJjdV9yZWFkX2xvY2soKSBhbmQgcmN1X3JlYWRfdW5sb2NrKCksCiAgKiBhbmQgbWF5IGJlIG5lc3RlZC4KICAqLwotdm9pZCBzeW5jaHJvbml6ZV9yY3Uodm9pZCkKLXsKLQlzdHJ1Y3QgcmN1X3N5bmNocm9uaXplIHJjdTsKLQotCWluaXRfY29tcGxldGlvbigmcmN1LmNvbXBsZXRpb24pOwotCS8qIFdpbGwgd2FrZSBtZSBhZnRlciBSQ1UgZmluaXNoZWQgKi8KLQljYWxsX3JjdSgmcmN1LmhlYWQsIHdha2VtZV9hZnRlcl9yY3UpOwotCi0JLyogV2FpdCBmb3IgaXQgKi8KLQl3YWl0X2Zvcl9jb21wbGV0aW9uKCZyY3UuY29tcGxldGlvbik7Ci19CitzeW5jaHJvbml6ZV9yY3VfeHh4KHN5bmNocm9uaXplX3JjdSwgY2FsbF9yY3UpCiBFWFBPUlRfU1lNQk9MX0dQTChzeW5jaHJvbml6ZV9yY3UpOwogCiBzdGF0aWMgdm9pZCByY3VfYmFycmllcl9jYWxsYmFjayhzdHJ1Y3QgcmN1X2hlYWQgKm5vdHVzZWQpCkBAIC05OSwxOSArODksMzAgQEAKIC8qCiAgKiBDYWxsZWQgd2l0aCBwcmVlbXB0aW9uIGRpc2FibGVkLCBhbmQgZnJvbSBjcm9zcy1jcHUgSVJRIGNvbnRleHQuCiAgKi8KLXN0YXRpYyB2b2lkIHJjdV9iYXJyaWVyX2Z1bmModm9pZCAqbm90dXNlZCkKK3N0YXRpYyB2b2lkIHJjdV9iYXJyaWVyX2Z1bmModm9pZCAqdHlwZSkKIHsKIAlpbnQgY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOwogCXN0cnVjdCByY3VfaGVhZCAqaGVhZCA9ICZwZXJfY3B1KHJjdV9iYXJyaWVyX2hlYWQsIGNwdSk7CiAKIAlhdG9taWNfaW5jKCZyY3VfYmFycmllcl9jcHVfY291bnQpOwotCWNhbGxfcmN1KGhlYWQsIHJjdV9iYXJyaWVyX2NhbGxiYWNrKTsKKwlzd2l0Y2ggKChlbnVtIHJjdV9iYXJyaWVyKXR5cGUpIHsKKwljYXNlIFJDVV9CQVJSSUVSX1NURDoKKwkJY2FsbF9yY3UoaGVhZCwgcmN1X2JhcnJpZXJfY2FsbGJhY2spOworCQlicmVhazsKKwljYXNlIFJDVV9CQVJSSUVSX0JIOgorCQljYWxsX3JjdV9iaChoZWFkLCByY3VfYmFycmllcl9jYWxsYmFjayk7CisJCWJyZWFrOworCWNhc2UgUkNVX0JBUlJJRVJfU0NIRUQ6CisJCWNhbGxfcmN1X3NjaGVkKGhlYWQsIHJjdV9iYXJyaWVyX2NhbGxiYWNrKTsKKwkJYnJlYWs7CisJfQogfQogCi0vKioKLSAqIHJjdV9iYXJyaWVyIC0gV2FpdCB1bnRpbCBhbGwgdGhlIGluLWZsaWdodCBSQ1VzIGFyZSBjb21wbGV0ZS4KKy8qCisgKiBPcmNoZXN0cmF0ZSB0aGUgc3BlY2lmaWVkIHR5cGUgb2YgUkNVIGJhcnJpZXIsIHdhaXRpbmcgZm9yIGFsbAorICogUkNVIGNhbGxiYWNrcyBvZiB0aGUgc3BlY2lmaWVkIHR5cGUgdG8gY29tcGxldGUuCiAgKi8KLXZvaWQgcmN1X2JhcnJpZXIodm9pZCkKK3N0YXRpYyB2b2lkIF9yY3VfYmFycmllcihlbnVtIHJjdV9iYXJyaWVyIHR5cGUpCiB7CiAJQlVHX09OKGluX2ludGVycnVwdCgpKTsKIAkvKiBUYWtlIGNwdWNvbnRyb2wgbXV0ZXggdG8gcHJvdGVjdCBhZ2FpbnN0IENQVSBob3RwbHVnICovCkBAIC0xMjcsMTMgKzEyOCwzOSBAQAogCSAqIHVudGlsIGFsbCB0aGUgY2FsbGJhY2tzIGFyZSBxdWV1ZWQuCiAJICovCiAJcmN1X3JlYWRfbG9jaygpOwotCW9uX2VhY2hfY3B1KHJjdV9iYXJyaWVyX2Z1bmMsIE5VTEwsIDAsIDEpOworCW9uX2VhY2hfY3B1KHJjdV9iYXJyaWVyX2Z1bmMsICh2b2lkICopdHlwZSwgMSk7CiAJcmN1X3JlYWRfdW5sb2NrKCk7CiAJd2FpdF9mb3JfY29tcGxldGlvbigmcmN1X2JhcnJpZXJfY29tcGxldGlvbik7CiAJbXV0ZXhfdW5sb2NrKCZyY3VfYmFycmllcl9tdXRleCk7CiB9CisKKy8qKgorICogcmN1X2JhcnJpZXIgLSBXYWl0IHVudGlsIGFsbCBpbi1mbGlnaHQgY2FsbF9yY3UoKSBjYWxsYmFja3MgY29tcGxldGUuCisgKi8KK3ZvaWQgcmN1X2JhcnJpZXIodm9pZCkKK3sKKwlfcmN1X2JhcnJpZXIoUkNVX0JBUlJJRVJfU1REKTsKK30KIEVYUE9SVF9TWU1CT0xfR1BMKHJjdV9iYXJyaWVyKTsKIAorLyoqCisgKiByY3VfYmFycmllcl9iaCAtIFdhaXQgdW50aWwgYWxsIGluLWZsaWdodCBjYWxsX3JjdV9iaCgpIGNhbGxiYWNrcyBjb21wbGV0ZS4KKyAqLwordm9pZCByY3VfYmFycmllcl9iaCh2b2lkKQoreworCV9yY3VfYmFycmllcihSQ1VfQkFSUklFUl9CSCk7Cit9CitFWFBPUlRfU1lNQk9MX0dQTChyY3VfYmFycmllcl9iaCk7CisKKy8qKgorICogcmN1X2JhcnJpZXJfc2NoZWQgLSBXYWl0IGZvciBpbi1mbGlnaHQgY2FsbF9yY3Vfc2NoZWQoKSBjYWxsYmFja3MuCisgKi8KK3ZvaWQgcmN1X2JhcnJpZXJfc2NoZWQodm9pZCkKK3sKKwlfcmN1X2JhcnJpZXIoUkNVX0JBUlJJRVJfU0NIRUQpOworfQorRVhQT1JUX1NZTUJPTF9HUEwocmN1X2JhcnJpZXJfc2NoZWQpOworCiB2b2lkIF9faW5pdCByY3VfaW5pdCh2b2lkKQogewogCV9fcmN1X2luaXQoKTsKZGlmZiAtLWdpdCBhL2tlcm5lbC9yY3VwcmVlbXB0LmMgYi9rZXJuZWwvcmN1cHJlZW1wdC5jCmluZGV4IDVlMDJiNzc0Li42ZjYyYjc3IDEwMDY0NAotLS0gYS9rZXJuZWwvcmN1cHJlZW1wdC5jCisrKyBiL2tlcm5lbC9yY3VwcmVlbXB0LmMKQEAgLTQ2LDExICs0NiwxMSBAQAogI2luY2x1ZGUgPGFzbS9hdG9taWMuaD4KICNpbmNsdWRlIDxsaW51eC9iaXRvcHMuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9rdGhyZWFkLmg+CiAjaW5jbHVkZSA8bGludXgvY29tcGxldGlvbi5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZXBhcmFtLmg+CiAjaW5jbHVkZSA8bGludXgvcGVyY3B1Lmg+CiAjaW5jbHVkZSA8bGludXgvbm90aWZpZXIuaD4KLSNpbmNsdWRlIDxsaW51eC9yY3VwZGF0ZS5oPgogI2luY2x1ZGUgPGxpbnV4L2NwdS5oPgogI2luY2x1ZGUgPGxpbnV4L3JhbmRvbS5oPgogI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CkBAIC04MiwxNCArODIsMTggQEAKIAlzcGlubG9ja190CWxvY2s7CQkvKiBQcm90ZWN0IHJjdV9kYXRhIGZpZWxkcy4gKi8KIAlsb25nCQljb21wbGV0ZWQ7CS8qIE51bWJlciBvZiBsYXN0IGNvbXBsZXRlZCBiYXRjaC4gKi8KIAlpbnQJCXdhaXRsaXN0Y291bnQ7Ci0Jc3RydWN0IHRhc2tsZXRfc3RydWN0IHJjdV90YXNrbGV0OwogCXN0cnVjdCByY3VfaGVhZCAqbmV4dGxpc3Q7CiAJc3RydWN0IHJjdV9oZWFkICoqbmV4dHRhaWw7CiAJc3RydWN0IHJjdV9oZWFkICp3YWl0bGlzdFtHUF9TVEFHRVNdOwogCXN0cnVjdCByY3VfaGVhZCAqKndhaXR0YWlsW0dQX1NUQUdFU107Ci0Jc3RydWN0IHJjdV9oZWFkICpkb25lbGlzdDsKKwlzdHJ1Y3QgcmN1X2hlYWQgKmRvbmVsaXN0OwkvKiBmcm9tIHdhaXRsaXN0ICYgd2FpdHNjaGVkbGlzdCAqLwogCXN0cnVjdCByY3VfaGVhZCAqKmRvbmV0YWlsOwogCWxvbmcgcmN1X2ZsaXBjdHJbMl07CisJc3RydWN0IHJjdV9oZWFkICpuZXh0c2NoZWRsaXN0OworCXN0cnVjdCByY3VfaGVhZCAqKm5leHRzY2hlZHRhaWw7CisJc3RydWN0IHJjdV9oZWFkICp3YWl0c2NoZWRsaXN0OworCXN0cnVjdCByY3VfaGVhZCAqKndhaXRzY2hlZHRhaWw7CisJaW50IHJjdV9zY2hlZF9zbGVlcGluZzsKICNpZmRlZiBDT05GSUdfUkNVX1RSQUNFCiAJc3RydWN0IHJjdXByZWVtcHRfdHJhY2UgdHJhY2U7CiAjZW5kaWYgLyogI2lmZGVmIENPTkZJR19SQ1VfVFJBQ0UgKi8KQEAgLTEzMSwxMSArMTM1LDI0IEBACiAJcmN1X3RyeV9mbGlwX3dhaXRtYl9zdGF0ZSwKIH07CiAKKy8qCisgKiBTdGF0ZXMgZm9yIHJjdV9jdHJsYmxrLnJjdV9zY2hlZF9zbGVlcC4KKyAqLworCitlbnVtIHJjdV9zY2hlZF9zbGVlcF9zdGF0ZXMgeworCXJjdV9zY2hlZF9ub3Rfc2xlZXBpbmcsCS8qIE5vdCBzbGVlcGluZywgY2FsbGJhY2tzIG5lZWQgR1AuICAqLworCXJjdV9zY2hlZF9zbGVlcF9wcmVwLAkvKiBUaGlua2luZyBvZiBzbGVlcGluZywgcmVjaGVja2luZy4gKi8KKwlyY3Vfc2NoZWRfc2xlZXBpbmcsCS8qIFNsZWVwaW5nLCBhd2FrZW4gaWYgR1AgbmVlZGVkLiAqLworfTsKKwogc3RydWN0IHJjdV9jdHJsYmxrIHsKIAlzcGlubG9ja190CWZsaXBsb2NrOwkvKiBQcm90ZWN0IHN0YXRlLW1hY2hpbmUgdHJhbnNpdGlvbnMuICovCiAJbG9uZwkJY29tcGxldGVkOwkvKiBOdW1iZXIgb2YgbGFzdCBjb21wbGV0ZWQgYmF0Y2guICovCiAJZW51bSByY3VfdHJ5X2ZsaXBfc3RhdGVzIHJjdV90cnlfZmxpcF9zdGF0ZTsgLyogVGhlIGN1cnJlbnQgc3RhdGUgb2YKIAkJCQkJCQl0aGUgcmN1IHN0YXRlIG1hY2hpbmUgKi8KKwlzcGlubG9ja190CXNjaGVkbG9jazsJLyogUHJvdGVjdCByY3Vfc2NoZWQgc2xlZXAgc3RhdGUuICovCisJZW51bSByY3Vfc2NoZWRfc2xlZXBfc3RhdGVzIHNjaGVkX3NsZWVwOyAvKiByY3Vfc2NoZWQgc3RhdGUuICovCisJd2FpdF9xdWV1ZV9oZWFkX3Qgc2NoZWRfd3E7CS8qIFBsYWNlIGZvciByY3Vfc2NoZWQgdG8gc2xlZXAuICovCiB9OwogCiBzdGF0aWMgREVGSU5FX1BFUl9DUFUoc3RydWN0IHJjdV9kYXRhLCByY3VfZGF0YSk7CkBAIC0xNDMsOCArMTYwLDEyIEBACiAJLmZsaXBsb2NrID0gX19TUElOX0xPQ0tfVU5MT0NLRUQocmN1X2N0cmxibGsuZmxpcGxvY2spLAogCS5jb21wbGV0ZWQgPSAwLAogCS5yY3VfdHJ5X2ZsaXBfc3RhdGUgPSByY3VfdHJ5X2ZsaXBfaWRsZV9zdGF0ZSwKKwkuc2NoZWRsb2NrID0gX19TUElOX0xPQ0tfVU5MT0NLRUQocmN1X2N0cmxibGsuc2NoZWRsb2NrKSwKKwkuc2NoZWRfc2xlZXAgPSByY3Vfc2NoZWRfbm90X3NsZWVwaW5nLAorCS5zY2hlZF93cSA9IF9fV0FJVF9RVUVVRV9IRUFEX0lOSVRJQUxJWkVSKHJjdV9jdHJsYmxrLnNjaGVkX3dxKSwKIH07CiAKK3N0YXRpYyBzdHJ1Y3QgdGFza19zdHJ1Y3QgKnJjdV9zY2hlZF9ncmFjZV9wZXJpb2RfdGFzazsKIAogI2lmZGVmIENPTkZJR19SQ1VfVFJBQ0UKIHN0YXRpYyBjaGFyICpyY3VfdHJ5X2ZsaXBfc3RhdGVfbmFtZXNbXSA9CkBAIC0yMDcsNiArMjI4LDggQEAKICAqLwogI2RlZmluZSBSQ1VfVFJBQ0VfUkRQKGYsIHJkcCkgUkNVX1RSQUNFKGYsICYoKHJkcCktPnRyYWNlKSk7CiAKKyNkZWZpbmUgUkNVX1NDSEVEX0JBVENIX1RJTUUgKEhaIC8gNTApCisKIC8qCiAgKiBSZXR1cm4gdGhlIG51bWJlciBvZiBSQ1UgYmF0Y2hlcyBwcm9jZXNzZWQgdGh1cyBmYXIuICBVc2VmdWwKICAqIGZvciBkZWJ1ZyBhbmQgc3RhdGlzdGljcy4KQEAgLTQxMSwzMiArNDM0LDM0IEBACiAJfQogfQogCi0jaWZkZWYgQ09ORklHX05PX0haCitERUZJTkVfUEVSX0NQVV9TSEFSRURfQUxJR05FRChzdHJ1Y3QgcmN1X2R5bnRpY2tfc2NoZWQsIHJjdV9keW50aWNrX3NjaGVkKSA9IHsKKwkuZHludGlja3MgPSAxLAorfTsKIAotREVGSU5FX1BFUl9DUFUobG9uZywgZHludGlja3NfcHJvZ3Jlc3NfY291bnRlcikgPSAxOwotc3RhdGljIERFRklORV9QRVJfQ1BVKGxvbmcsIHJjdV9keW50aWNrX3NuYXBzaG90KTsKKyNpZmRlZiBDT05GSUdfTk9fSFoKIHN0YXRpYyBERUZJTkVfUEVSX0NQVShpbnQsIHJjdV91cGRhdGVfZmxhZyk7CiAKIC8qKgogICogcmN1X2lycV9lbnRlciAtIENhbGxlZCBmcm9tIEhhcmQgaXJxIGhhbmRsZXJzIGFuZCBOTUkvU01JLgogICoKICAqIElmIHRoZSBDUFUgd2FzIGlkbGUgd2l0aCBkeW5hbWljIHRpY2tzIGFjdGl2ZSwgdGhpcyB1cGRhdGVzIHRoZQotICogZHludGlja3NfcHJvZ3Jlc3NfY291bnRlciB0byBsZXQgdGhlIFJDVSBoYW5kbGluZyBrbm93IHRoYXQgdGhlCisgKiByY3VfZHludGlja19zY2hlZC5keW50aWNrcyB0byBsZXQgdGhlIFJDVSBoYW5kbGluZyBrbm93IHRoYXQgdGhlCiAgKiBDUFUgaXMgYWN0aXZlLgogICovCiB2b2lkIHJjdV9pcnFfZW50ZXIodm9pZCkKIHsKIAlpbnQgY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOworCXN0cnVjdCByY3VfZHludGlja19zY2hlZCAqcmRzc3AgPSAmcGVyX2NwdShyY3VfZHludGlja19zY2hlZCwgY3B1KTsKIAogCWlmIChwZXJfY3B1KHJjdV91cGRhdGVfZmxhZywgY3B1KSkKIAkJcGVyX2NwdShyY3VfdXBkYXRlX2ZsYWcsIGNwdSkrKzsKIAogCS8qCiAJICogT25seSB1cGRhdGUgaWYgd2UgYXJlIGNvbWluZyBmcm9tIGEgc3RvcHBlZCB0aWNrcyBtb2RlCi0JICogKGR5bnRpY2tzX3Byb2dyZXNzX2NvdW50ZXIgaXMgZXZlbikuCisJICogKHJjdV9keW50aWNrX3NjaGVkLmR5bnRpY2tzIGlzIGV2ZW4pLgogCSAqLwogCWlmICghaW5faW50ZXJydXB0KCkgJiYKLQkgICAgKHBlcl9jcHUoZHludGlja3NfcHJvZ3Jlc3NfY291bnRlciwgY3B1KSAmIDB4MSkgPT0gMCkgeworCSAgICAocmRzc3AtPmR5bnRpY2tzICYgMHgxKSA9PSAwKSB7CiAJCS8qCiAJCSAqIFRoZSBmb2xsb3dpbmcgbWlnaHQgc2VlbSBsaWtlIHdlIGNvdWxkIGhhdmUgYSByYWNlCiAJCSAqIHdpdGggTk1JL1NNSXMuIEJ1dCB0aGlzIHJlYWxseSBpc24ndCBhIHByb2JsZW0uCkBAIC00NTksMTIgKzQ4NCwxMiBAQAogCQkgKiBSQ1UgcmVhZC1zaWRlIGNyaXRpY2FsIHNlY3Rpb25zIG9uIHRoaXMgQ1BVIHdvdWxkCiAJCSAqIGhhdmUgYWxyZWFkeSBjb21wbGV0ZWQuCiAJCSAqLwotCQlwZXJfY3B1KGR5bnRpY2tzX3Byb2dyZXNzX2NvdW50ZXIsIGNwdSkrKzsKKwkJcmRzc3AtPmR5bnRpY2tzKys7CiAJCS8qCiAJCSAqIFRoZSBmb2xsb3dpbmcgbWVtb3J5IGJhcnJpZXIgZW5zdXJlcyB0aGF0IGFueQogCQkgKiByY3VfcmVhZF9sb2NrKCkgcHJpbWl0aXZlcyBpbiB0aGUgaXJxIGhhbmRsZXIKIAkJICogYXJlIHNlZW4gYnkgb3RoZXIgQ1BVcyB0byBmb2xsb3cgdGhlIGFib3ZlCi0JCSAqIGluY3JlbWVudCB0byBkeW50aWNrc19wcm9ncmVzc19jb3VudGVyLiBUaGlzIGlzCisJCSAqIGluY3JlbWVudCB0byByY3VfZHludGlja19zY2hlZC5keW50aWNrcy4gVGhpcyBpcwogCQkgKiByZXF1aXJlZCBpbiBvcmRlciBmb3Igb3RoZXIgQ1BVcyB0byBjb3JyZWN0bHkKIAkJICogZGV0ZXJtaW5lIHdoZW4gaXQgaXMgc2FmZSB0byBhZHZhbmNlIHRoZSBSQ1UKIAkJICogZ3JhY2UtcGVyaW9kIHN0YXRlIG1hY2hpbmUuCkBAIC00NzIsNyArNDk3LDcgQEAKIAkJc21wX21iKCk7IC8qIHNlZSBhYm92ZSBibG9jayBjb21tZW50LiAqLwogCQkvKgogCQkgKiBTaW5jZSB3ZSBjYW4ndCBkZXRlcm1pbmUgdGhlIGR5bmFtaWMgdGljayBtb2RlIGZyb20KLQkJICogdGhlIGR5bnRpY2tzX3Byb2dyZXNzX2NvdW50ZXIgYWZ0ZXIgdGhpcyByb3V0aW5lLAorCQkgKiB0aGUgcmN1X2R5bnRpY2tfc2NoZWQuZHludGlja3MgYWZ0ZXIgdGhpcyByb3V0aW5lLAogCQkgKiB3ZSB1c2UgYSBzZWNvbmQgZmxhZyB0byBhY2tub3dsZWRnZSB0aGF0IHdlIGNhbWUKIAkJICogZnJvbSBhbiBpZGxlIHN0YXRlIHdpdGggdGlja3Mgc3RvcHBlZC4KIAkJICovCkBAIC00ODAsNyArNTA1LDcgQEAKIAkJLyoKIAkJICogSWYgd2UgdGFrZSBhbiBOTUkvU01JIG5vdywgdGhleSB3aWxsIGFsc28gaW5jcmVtZW50CiAJCSAqIHRoZSByY3VfdXBkYXRlX2ZsYWcsIGFuZCB3aWxsIG5vdCB1cGRhdGUgdGhlCi0JCSAqIGR5bnRpY2tzX3Byb2dyZXNzX2NvdW50ZXIgb24gZXhpdC4gVGhhdCBpcyBmb3IKKwkJICogcmN1X2R5bnRpY2tfc2NoZWQuZHludGlja3Mgb24gZXhpdC4gVGhhdCBpcyBmb3IKIAkJICogdGhpcyBJUlEgdG8gZG8uCiAJCSAqLwogCX0KQEAgLTQ5MCwxMiArNTE1LDEzIEBACiAgKiByY3VfaXJxX2V4aXQgLSBDYWxsZWQgZnJvbSBleGl0aW5nIEhhcmQgaXJxIGNvbnRleHQuCiAgKgogICogSWYgdGhlIENQVSB3YXMgaWRsZSB3aXRoIGR5bmFtaWMgdGlja3MgYWN0aXZlLCB1cGRhdGUgdGhlCi0gKiBkeW50aWNrc19wcm9ncmVzc19jb3VudGVyIHRvIHB1dCBsZXQgdGhlIFJDVSBoYW5kbGluZyBiZQorICogcmN1X2R5bnRpY2tfc2NoZWQuZHludGlja3MgdG8gcHV0IGxldCB0aGUgUkNVIGhhbmRsaW5nIGJlCiAgKiBhd2FyZSB0aGF0IHRoZSBDUFUgaXMgZ29pbmcgYmFjayB0byBpZGxlIHdpdGggbm8gdGlja3MuCiAgKi8KIHZvaWQgcmN1X2lycV9leGl0KHZvaWQpCiB7CiAJaW50IGNwdSA9IHNtcF9wcm9jZXNzb3JfaWQoKTsKKwlzdHJ1Y3QgcmN1X2R5bnRpY2tfc2NoZWQgKnJkc3NwID0gJnBlcl9jcHUocmN1X2R5bnRpY2tfc2NoZWQsIGNwdSk7CiAKIAkvKgogCSAqIHJjdV91cGRhdGVfZmxhZyBpcyBzZXQgaWYgd2UgaW50ZXJydXB0ZWQgdGhlIENQVQpAQCAtNTAzLDcgKzUyOSw3IEBACiAJICogT25jZSB0aGlzIG9jY3Vycywgd2Uga2VlcCB0cmFjayBvZiBpbnRlcnJ1cHQgbmVzdGluZwogCSAqIGJlY2F1c2UgYSBOTUkvU01JIGNvdWxkIGFsc28gY29tZSBpbiwgYW5kIHdlIHN0aWxsCiAJICogb25seSB3YW50IHRoZSBJUlEgdGhhdCBzdGFydGVkIHRoZSBpbmNyZW1lbnQgb2YgdGhlCi0JICogZHludGlja3NfcHJvZ3Jlc3NfY291bnRlciB0byBiZSB0aGUgb25lIHRoYXQgbW9kaWZpZXMKKwkgKiByY3VfZHludGlja19zY2hlZC5keW50aWNrcyB0byBiZSB0aGUgb25lIHRoYXQgbW9kaWZpZXMKIAkgKiBpdCBvbiBleGl0LgogCSAqLwogCWlmIChwZXJfY3B1KHJjdV91cGRhdGVfZmxhZywgY3B1KSkgewpAQCAtNTE1LDI4ICs1NDEsMjkgQEAKIAogCQkvKgogCQkgKiBJZiBhbiBOTUkvU01JIGhhcHBlbnMgbm93IHdlIGFyZSBzdGlsbAotCQkgKiBwcm90ZWN0ZWQgYnkgdGhlIGR5bnRpY2tzX3Byb2dyZXNzX2NvdW50ZXIgYmVpbmcgb2RkLgorCQkgKiBwcm90ZWN0ZWQgYnkgdGhlIHJjdV9keW50aWNrX3NjaGVkLmR5bnRpY2tzIGJlaW5nIG9kZC4KIAkJICovCiAKIAkJLyoKIAkJICogVGhlIGZvbGxvd2luZyBtZW1vcnkgYmFycmllciBlbnN1cmVzIHRoYXQgYW55CiAJCSAqIHJjdV9yZWFkX3VubG9jaygpIHByaW1pdGl2ZXMgaW4gdGhlIGlycSBoYW5kbGVyCiAJCSAqIGFyZSBzZWVuIGJ5IG90aGVyIENQVXMgdG8gcHJlY2VlZCB0aGUgZm9sbG93aW5nCi0JCSAqIGluY3JlbWVudCB0byBkeW50aWNrc19wcm9ncmVzc19jb3VudGVyLiBUaGlzCisJCSAqIGluY3JlbWVudCB0byByY3VfZHludGlja19zY2hlZC5keW50aWNrcy4gVGhpcwogCQkgKiBpcyByZXF1aXJlZCBpbiBvcmRlciBmb3Igb3RoZXIgQ1BVcyB0byBkZXRlcm1pbmUKIAkJICogd2hlbiBpdCBpcyBzYWZlIHRvIGFkdmFuY2UgdGhlIFJDVSBncmFjZS1wZXJpb2QKIAkJICogc3RhdGUgbWFjaGluZS4KIAkJICovCiAJCXNtcF9tYigpOyAvKiBzZWUgYWJvdmUgYmxvY2sgY29tbWVudC4gKi8KLQkJcGVyX2NwdShkeW50aWNrc19wcm9ncmVzc19jb3VudGVyLCBjcHUpKys7Ci0JCVdBUk5fT04ocGVyX2NwdShkeW50aWNrc19wcm9ncmVzc19jb3VudGVyLCBjcHUpICYgMHgxKTsKKwkJcmRzc3AtPmR5bnRpY2tzKys7CisJCVdBUk5fT04ocmRzc3AtPmR5bnRpY2tzICYgMHgxKTsKIAl9CiB9CiAKIHN0YXRpYyB2b2lkIGR5bnRpY2tfc2F2ZV9wcm9ncmVzc19jb3VudGVyKGludCBjcHUpCiB7Ci0JcGVyX2NwdShyY3VfZHludGlja19zbmFwc2hvdCwgY3B1KSA9Ci0JCXBlcl9jcHUoZHludGlja3NfcHJvZ3Jlc3NfY291bnRlciwgY3B1KTsKKwlzdHJ1Y3QgcmN1X2R5bnRpY2tfc2NoZWQgKnJkc3NwID0gJnBlcl9jcHUocmN1X2R5bnRpY2tfc2NoZWQsIGNwdSk7CisKKwlyZHNzcC0+ZHludGlja3Nfc25hcCA9IHJkc3NwLT5keW50aWNrczsKIH0KIAogc3RhdGljIGlubGluZSBpbnQKQEAgLTU0NCw5ICs1NzEsMTAgQEAKIHsKIAlsb25nIGN1cnI7CiAJbG9uZyBzbmFwOworCXN0cnVjdCByY3VfZHludGlja19zY2hlZCAqcmRzc3AgPSAmcGVyX2NwdShyY3VfZHludGlja19zY2hlZCwgY3B1KTsKIAotCWN1cnIgPSBwZXJfY3B1KGR5bnRpY2tzX3Byb2dyZXNzX2NvdW50ZXIsIGNwdSk7Ci0Jc25hcCA9IHBlcl9jcHUocmN1X2R5bnRpY2tfc25hcHNob3QsIGNwdSk7CisJY3VyciA9IHJkc3NwLT5keW50aWNrczsKKwlzbmFwID0gcmRzc3AtPmR5bnRpY2tzX3NuYXA7CiAJc21wX21iKCk7IC8qIGZvcmNlIG9yZGVyaW5nIHdpdGggY3B1IGVudGVyaW5nL2xlYXZpbmcgZHludGlja3MuICovCiAKIAkvKgpAQCAtNTY3LDcgKzU5NSw3IEBACiAJICogdGhhdCB0aGlzIENQVSBhbHJlYWR5IGFja25vd2xlZGdlZCB0aGUgY291bnRlci4KIAkgKi8KIAotCWlmICgoY3VyciAtIHNuYXApID4gMiB8fCAoc25hcCAmIDB4MSkgPT0gMCkKKwlpZiAoKGN1cnIgLSBzbmFwKSA+IDIgfHwgKGN1cnIgJiAweDEpID09IDApCiAJCXJldHVybiAwOwogCiAJLyogV2UgbmVlZCB0aGlzIENQVSB0byBleHBsaWNpdGx5IGFja25vd2xlZGdlIHRoZSBjb3VudGVyIGZsaXAuICovCkBAIC01ODAsOSArNjA4LDEwIEBACiB7CiAJbG9uZyBjdXJyOwogCWxvbmcgc25hcDsKKwlzdHJ1Y3QgcmN1X2R5bnRpY2tfc2NoZWQgKnJkc3NwID0gJnBlcl9jcHUocmN1X2R5bnRpY2tfc2NoZWQsIGNwdSk7CiAKLQljdXJyID0gcGVyX2NwdShkeW50aWNrc19wcm9ncmVzc19jb3VudGVyLCBjcHUpOwotCXNuYXAgPSBwZXJfY3B1KHJjdV9keW50aWNrX3NuYXBzaG90LCBjcHUpOworCWN1cnIgPSByZHNzcC0+ZHludGlja3M7CisJc25hcCA9IHJkc3NwLT5keW50aWNrc19zbmFwOwogCXNtcF9tYigpOyAvKiBmb3JjZSBvcmRlcmluZyB3aXRoIGNwdSBlbnRlcmluZy9sZWF2aW5nIGR5bnRpY2tzLiAqLwogCiAJLyoKQEAgLTYwOSwxNCArNjM4LDg2IEBACiAJcmV0dXJuIDE7CiB9CiAKK3N0YXRpYyB2b2lkIGR5bnRpY2tfc2F2ZV9wcm9ncmVzc19jb3VudGVyX3NjaGVkKGludCBjcHUpCit7CisJc3RydWN0IHJjdV9keW50aWNrX3NjaGVkICpyZHNzcCA9ICZwZXJfY3B1KHJjdV9keW50aWNrX3NjaGVkLCBjcHUpOworCisJcmRzc3AtPnNjaGVkX2R5bnRpY2tzX3NuYXAgPSByZHNzcC0+ZHludGlja3M7Cit9CisKK3N0YXRpYyBpbnQgcmN1X3FzY3RyX2luY19uZWVkZWRfZHludGljayhpbnQgY3B1KQoreworCWxvbmcgY3VycjsKKwlsb25nIHNuYXA7CisJc3RydWN0IHJjdV9keW50aWNrX3NjaGVkICpyZHNzcCA9ICZwZXJfY3B1KHJjdV9keW50aWNrX3NjaGVkLCBjcHUpOworCisJY3VyciA9IHJkc3NwLT5keW50aWNrczsKKwlzbmFwID0gcmRzc3AtPnNjaGVkX2R5bnRpY2tzX3NuYXA7CisJc21wX21iKCk7IC8qIGZvcmNlIG9yZGVyaW5nIHdpdGggY3B1IGVudGVyaW5nL2xlYXZpbmcgZHludGlja3MuICovCisKKwkvKgorCSAqIElmIHRoZSBDUFUgcmVtYWluZWQgaW4gZHludGlja3MgbW9kZSBmb3IgdGhlIGVudGlyZSB0aW1lCisJICogYW5kIGRpZG4ndCB0YWtlIGFueSBpbnRlcnJ1cHRzLCBOTUlzLCBTTUlzLCBvciB3aGF0ZXZlciwKKwkgKiB0aGVuIGl0IGNhbm5vdCBiZSBpbiB0aGUgbWlkZGxlIG9mIGFuIHJjdV9yZWFkX2xvY2soKSwgc28KKwkgKiB0aGUgbmV4dCByY3VfcmVhZF9sb2NrKCkgaXQgZXhlY3V0ZXMgbXVzdCB1c2UgdGhlIG5ldyB2YWx1ZQorCSAqIG9mIHRoZSBjb3VudGVyLiAgVGhlcmVmb3JlLCB0aGlzIENQVSBoYXMgYmVlbiBpbiBhIHF1aWVzY2VudAorCSAqIHN0YXRlIHRoZSBlbnRpcmUgdGltZSwgYW5kIHdlIGRvbid0IG5lZWQgdG8gd2FpdCBmb3IgaXQuCisJICovCisKKwlpZiAoKGN1cnIgPT0gc25hcCkgJiYgKChjdXJyICYgMHgxKSA9PSAwKSkKKwkJcmV0dXJuIDA7CisKKwkvKgorCSAqIElmIHRoZSBDUFUgcGFzc2VkIHRocm91Z2ggb3IgZW50ZXJlZCBhIGR5bnRpY2tzIGlkbGUgcGhhc2Ugd2l0aAorCSAqIG5vIGFjdGl2ZSBpcnEgaGFuZGxlcnMsIHRoZW4sIGFzIGFib3ZlLCB0aGlzIENQVSBoYXMgYWxyZWFkeQorCSAqIHBhc3NlZCB0aHJvdWdoIGEgcXVpZXNjZW50IHN0YXRlLgorCSAqLworCisJaWYgKChjdXJyIC0gc25hcCkgPiAyIHx8IChzbmFwICYgMHgxKSA9PSAwKQorCQlyZXR1cm4gMDsKKworCS8qIFdlIG5lZWQgdGhpcyBDUFUgdG8gZ28gdGhyb3VnaCBhIHF1aWVzY2VudCBzdGF0ZS4gKi8KKworCXJldHVybiAxOworfQorCiAjZWxzZSAvKiAhQ09ORklHX05PX0haICovCiAKLSMgZGVmaW5lIGR5bnRpY2tfc2F2ZV9wcm9ncmVzc19jb3VudGVyKGNwdSkJZG8geyB9IHdoaWxlICgwKQotIyBkZWZpbmUgcmN1X3RyeV9mbGlwX3dhaXRhY2tfbmVlZGVkKGNwdSkJKDEpCi0jIGRlZmluZSByY3VfdHJ5X2ZsaXBfd2FpdG1iX25lZWRlZChjcHUpCSgxKQorIyBkZWZpbmUgZHludGlja19zYXZlX3Byb2dyZXNzX2NvdW50ZXIoY3B1KQkJZG8geyB9IHdoaWxlICgwKQorIyBkZWZpbmUgcmN1X3RyeV9mbGlwX3dhaXRhY2tfbmVlZGVkKGNwdSkJCSgxKQorIyBkZWZpbmUgcmN1X3RyeV9mbGlwX3dhaXRtYl9uZWVkZWQoY3B1KQkJKDEpCisKKyMgZGVmaW5lIGR5bnRpY2tfc2F2ZV9wcm9ncmVzc19jb3VudGVyX3NjaGVkKGNwdSkJZG8geyB9IHdoaWxlICgwKQorIyBkZWZpbmUgcmN1X3FzY3RyX2luY19uZWVkZWRfZHludGljayhjcHUpCQkoMSkKIAogI2VuZGlmIC8qIENPTkZJR19OT19IWiAqLwogCitzdGF0aWMgdm9pZCBzYXZlX3FzY3RyX3NjaGVkKGludCBjcHUpCit7CisJc3RydWN0IHJjdV9keW50aWNrX3NjaGVkICpyZHNzcCA9ICZwZXJfY3B1KHJjdV9keW50aWNrX3NjaGVkLCBjcHUpOworCisJcmRzc3AtPnNjaGVkX3FzX3NuYXAgPSByZHNzcC0+c2NoZWRfcXM7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IHJjdV9xc2N0cl9pbmNfbmVlZGVkKGludCBjcHUpCit7CisJc3RydWN0IHJjdV9keW50aWNrX3NjaGVkICpyZHNzcCA9ICZwZXJfY3B1KHJjdV9keW50aWNrX3NjaGVkLCBjcHUpOworCisJLyoKKwkgKiBJZiB0aGVyZSBoYXMgYmVlbiBhIHF1aWVzY2VudCBzdGF0ZSwgbm8gbW9yZSBuZWVkIHRvIHdhaXQKKwkgKiBvbiB0aGlzIENQVS4KKwkgKi8KKworCWlmIChyZHNzcC0+c2NoZWRfcXMgIT0gcmRzc3AtPnNjaGVkX3FzX3NuYXApIHsKKwkJc21wX21iKCk7IC8qIGZvcmNlIG9yZGVyaW5nIHdpdGggY3B1IGVudGVyaW5nIHNjaGVkdWxlKCkuICovCisJCXJldHVybiAwOworCX0KKworCS8qIFdlIG5lZWQgdGhpcyBDUFUgdG8gZ28gdGhyb3VnaCBhIHF1aWVzY2VudCBzdGF0ZS4gKi8KKworCXJldHVybiAxOworfQorCiAvKgogICogR2V0IGhlcmUgd2hlbiBSQ1UgaXMgaWRsZS4gIERlY2lkZSB3aGV0aGVyIHdlIG5lZWQgdG8KICAqIG1vdmUgb3V0IG9mIGlkbGUgc3RhdGUsIGFuZCByZXR1cm4gbm9uLXplcm8gaWYgc28uCkBAIC04MTksNiArOTIwLDI2IEBACiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAlzdHJ1Y3QgcmN1X2RhdGEgKnJkcCA9IFJDVV9EQVRBX0NQVShjcHUpOwogCisJLyoKKwkgKiBJZiB0aGlzIENQVSB0b29rIGl0cyBpbnRlcnJ1cHQgZnJvbSB1c2VyIG1vZGUgb3IgZnJvbSB0aGUKKwkgKiBpZGxlIGxvb3AsIGFuZCB0aGlzIGlzIG5vdCBhIG5lc3RlZCBpbnRlcnJ1cHQsIHRoZW4KKwkgKiB0aGlzIENQVSBoYXMgdG8gaGF2ZSBleGl0ZWQgYWxsIHByaW9yIHByZWVwdC1kaXNhYmxlCisJICogc2VjdGlvbnMgb2YgY29kZS4gIFNvIGluY3JlbWVudCB0aGUgY291bnRlciB0byBub3RlIHRoaXMuCisJICoKKwkgKiBUaGUgbWVtb3J5IGJhcnJpZXIgaXMgbmVlZGVkIHRvIGhhbmRsZSB0aGUgY2FzZSB3aGVyZQorCSAqIHdyaXRlcyBmcm9tIGEgcHJlZW1wdC1kaXNhYmxlIHNlY3Rpb24gb2YgY29kZSBnZXQgcmVvcmRlcmVkCisJICogaW50byBzY2hlZHVsZSgpIGJ5IHRoaXMgQ1BVJ3Mgd3JpdGUgYnVmZmVyLiAgU28gdGhlIG1lbW9yeQorCSAqIGJhcnJpZXIgbWFrZXMgc3VyZSB0aGF0IHRoZSByY3VfcXNjdHJfaW5jKCkgaXMgc2VlbiBieSBvdGhlcgorCSAqIENQVXMgdG8gaGFwcGVuIGFmdGVyIGFueSBzdWNoIHdyaXRlLgorCSAqLworCisJaWYgKHVzZXIgfHwKKwkgICAgKGlkbGVfY3B1KGNwdSkgJiYgIWluX3NvZnRpcnEoKSAmJgorCSAgICAgaGFyZGlycV9jb3VudCgpIDw9ICgxIDw8IEhBUkRJUlFfU0hJRlQpKSkgeworCQlzbXBfbWIoKTsJLyogR3VhcmQgYWdhaW5zdCBhZ2dyZXNzaXZlIHNjaGVkdWxlKCkuICovCisJICAgICAJcmN1X3FzY3RyX2luYyhjcHUpOworCX0KKwogCXJjdV9jaGVja19tYihjcHUpOwogCWlmIChyY3VfY3RybGJsay5jb21wbGV0ZWQgPT0gcmRwLT5jb21wbGV0ZWQpCiAJCXJjdV90cnlfZmxpcCgpOwpAQCAtODY5LDYgKzk5MCw4IEBACiAJc3RydWN0IHJjdV9oZWFkICpsaXN0ID0gTlVMTDsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCXN0cnVjdCByY3VfZGF0YSAqcmRwID0gUkNVX0RBVEFfQ1BVKGNwdSk7CisJc3RydWN0IHJjdV9oZWFkICpzY2hlZGxpc3QgPSBOVUxMOworCXN0cnVjdCByY3VfaGVhZCAqKnNjaGVkdGFpbCA9ICZzY2hlZGxpc3Q7CiAJc3RydWN0IHJjdV9oZWFkICoqdGFpbCA9ICZsaXN0OwogCiAJLyoKQEAgLTg4Miw2ICsxMDA1LDExIEBACiAJCXJjdV9vZmZsaW5lX2NwdV9lbnF1ZXVlKHJkcC0+d2FpdGxpc3RbaV0sIHJkcC0+d2FpdHRhaWxbaV0sCiAJCQkJCQlsaXN0LCB0YWlsKTsKIAlyY3Vfb2ZmbGluZV9jcHVfZW5xdWV1ZShyZHAtPm5leHRsaXN0LCByZHAtPm5leHR0YWlsLCBsaXN0LCB0YWlsKTsKKwlyY3Vfb2ZmbGluZV9jcHVfZW5xdWV1ZShyZHAtPndhaXRzY2hlZGxpc3QsIHJkcC0+d2FpdHNjaGVkdGFpbCwKKwkJCQlzY2hlZGxpc3QsIHNjaGVkdGFpbCk7CisJcmN1X29mZmxpbmVfY3B1X2VucXVldWUocmRwLT5uZXh0c2NoZWRsaXN0LCByZHAtPm5leHRzY2hlZHRhaWwsCisJCQkJc2NoZWRsaXN0LCBzY2hlZHRhaWwpOworCXJkcC0+cmN1X3NjaGVkX3NsZWVwaW5nID0gMDsKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZyZHAtPmxvY2ssIGZsYWdzKTsKIAlyZHAtPndhaXRsaXN0Y291bnQgPSAwOwogCkBAIC05MTYsMzYgKzEwNDQsNTAgQEAKIAkgKiBmaXguCiAJICovCiAKLQlsb2NhbF9pcnFfc2F2ZShmbGFncyk7CisJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOyAgLyogZGlzYWJsZSBwcmVlbXB0IHRpbGwgd2Uga25vdyB3aGF0IGxvY2suICovCiAJcmRwID0gUkNVX0RBVEFfTUUoKTsKIAlzcGluX2xvY2soJnJkcC0+bG9jayk7CiAJKnJkcC0+bmV4dHRhaWwgPSBsaXN0OwogCWlmIChsaXN0KQogCQlyZHAtPm5leHR0YWlsID0gdGFpbDsKKwkqcmRwLT5uZXh0c2NoZWR0YWlsID0gc2NoZWRsaXN0OworCWlmIChzY2hlZGxpc3QpCisJCXJkcC0+bmV4dHNjaGVkdGFpbCA9IHNjaGVkdGFpbDsKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZyZHAtPmxvY2ssIGZsYWdzKTsKIH0KIAotdm9pZCBfX2RldmluaXQgcmN1X29ubGluZV9jcHUoaW50IGNwdSkKLXsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCi0Jc3Bpbl9sb2NrX2lycXNhdmUoJnJjdV9jdHJsYmxrLmZsaXBsb2NrLCBmbGFncyk7Ci0JY3B1X3NldChjcHUsIHJjdV9jcHVfb25saW5lX21hcCk7Ci0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcmN1X2N0cmxibGsuZmxpcGxvY2ssIGZsYWdzKTsKLX0KLQogI2Vsc2UgLyogI2lmZGVmIENPTkZJR19IT1RQTFVHX0NQVSAqLwogCiB2b2lkIHJjdV9vZmZsaW5lX2NwdShpbnQgY3B1KQogewogfQogCi12b2lkIF9fZGV2aW5pdCByY3Vfb25saW5lX2NwdShpbnQgY3B1KQotewotfQotCiAjZW5kaWYgLyogI2Vsc2UgI2lmZGVmIENPTkZJR19IT1RQTFVHX0NQVSAqLwogCit2b2lkIF9fY3B1aW5pdCByY3Vfb25saW5lX2NwdShpbnQgY3B1KQoreworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJc3RydWN0IHJjdV9kYXRhICpyZHA7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmcmN1X2N0cmxibGsuZmxpcGxvY2ssIGZsYWdzKTsKKwljcHVfc2V0KGNwdSwgcmN1X2NwdV9vbmxpbmVfbWFwKTsKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZyY3VfY3RybGJsay5mbGlwbG9jaywgZmxhZ3MpOworCisJLyoKKwkgKiBUaGUgcmN1X3NjaGVkIGdyYWNlLXBlcmlvZCBwcm9jZXNzaW5nIG1pZ2h0IGhhdmUgYnlwYXNzZWQKKwkgKiB0aGlzIENQVSwgZ2l2ZW4gdGhhdCBpdCB3YXMgbm90IGluIHRoZSByY3VfY3B1X29ubGluZV9tYXAKKwkgKiB3aGVuIHRoZSBncmFjZS1wZXJpb2Qgc2NhbiBzdGFydGVkLiAgVGhpcyBtZWFucyB0aGF0IHRoZQorCSAqIGdyYWNlLXBlcmlvZCB0YXNrIG1pZ2h0IHNsZWVwLiAgU28gbWFrZSBzdXJlIHRoYXQgaWYgdGhpcworCSAqIHNob3VsZCBoYXBwZW4sIHRoZSBmaXJzdCBjYWxsYmFjayBwb3N0ZWQgdG8gdGhpcyBDUFUgd2lsbAorCSAqIHdha2UgdXAgdGhlIGdyYWNlLXBlcmlvZCB0YXNrIGlmIG5lZWQgYmUuCisJICovCisKKwlyZHAgPSBSQ1VfREFUQV9DUFUoY3B1KTsKKwlzcGluX2xvY2tfaXJxc2F2ZSgmcmRwLT5sb2NrLCBmbGFncyk7CisJcmRwLT5yY3Vfc2NoZWRfc2xlZXBpbmcgPSAxOworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnJkcC0+bG9jaywgZmxhZ3MpOworfQorCiBzdGF0aWMgdm9pZCByY3VfcHJvY2Vzc19jYWxsYmFja3Moc3RydWN0IHNvZnRpcnFfYWN0aW9uICp1bnVzZWQpCiB7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKQEAgLTk4NiwzMyArMTEyOCwxOTggQEAKIAkqcmRwLT5uZXh0dGFpbCA9IGhlYWQ7CiAJcmRwLT5uZXh0dGFpbCA9ICZoZWFkLT5uZXh0OwogCVJDVV9UUkFDRV9SRFAocmN1cHJlZW1wdF90cmFjZV9uZXh0X2FkZCwgcmRwKTsKLQlzcGluX3VubG9jaygmcmRwLT5sb2NrKTsKLQlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcmRwLT5sb2NrLCBmbGFncyk7CiB9CiBFWFBPUlRfU1lNQk9MX0dQTChjYWxsX3JjdSk7CiAKK3ZvaWQgY2FsbF9yY3Vfc2NoZWQoc3RydWN0IHJjdV9oZWFkICpoZWFkLCB2b2lkICgqZnVuYykoc3RydWN0IHJjdV9oZWFkICpyY3UpKQoreworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJc3RydWN0IHJjdV9kYXRhICpyZHA7CisJaW50IHdha2VfZ3AgPSAwOworCisJaGVhZC0+ZnVuYyA9IGZ1bmM7CisJaGVhZC0+bmV4dCA9IE5VTEw7CisJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOworCXJkcCA9IFJDVV9EQVRBX01FKCk7CisJc3Bpbl9sb2NrKCZyZHAtPmxvY2spOworCSpyZHAtPm5leHRzY2hlZHRhaWwgPSBoZWFkOworCXJkcC0+bmV4dHNjaGVkdGFpbCA9ICZoZWFkLT5uZXh0OworCWlmIChyZHAtPnJjdV9zY2hlZF9zbGVlcGluZykgeworCisJCS8qIEdyYWNlLXBlcmlvZCBwcm9jZXNzaW5nIG1pZ2h0IGJlIHNsZWVwaW5nLi4uICovCisKKwkJcmRwLT5yY3Vfc2NoZWRfc2xlZXBpbmcgPSAwOworCQl3YWtlX2dwID0gMTsKKwl9CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcmRwLT5sb2NrLCBmbGFncyk7CisJaWYgKHdha2VfZ3ApIHsKKworCQkvKiBXYWtlIHVwIGdyYWNlLXBlcmlvZCBwcm9jZXNzaW5nLCB1bmxlc3Mgc29tZW9uZSBiZWF0IHVzLiAqLworCisJCXNwaW5fbG9ja19pcnFzYXZlKCZyY3VfY3RybGJsay5zY2hlZGxvY2ssIGZsYWdzKTsKKwkJaWYgKHJjdV9jdHJsYmxrLnNjaGVkX3NsZWVwICE9IHJjdV9zY2hlZF9zbGVlcGluZykKKwkJCXdha2VfZ3AgPSAwOworCQlyY3VfY3RybGJsay5zY2hlZF9zbGVlcCA9IHJjdV9zY2hlZF9ub3Rfc2xlZXBpbmc7CisJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnJjdV9jdHJsYmxrLnNjaGVkbG9jaywgZmxhZ3MpOworCQlpZiAod2FrZV9ncCkKKwkJCXdha2VfdXBfaW50ZXJydXB0aWJsZSgmcmN1X2N0cmxibGsuc2NoZWRfd3EpOworCX0KK30KK0VYUE9SVF9TWU1CT0xfR1BMKGNhbGxfcmN1X3NjaGVkKTsKKwogLyoKICAqIFdhaXQgdW50aWwgYWxsIGN1cnJlbnRseSBydW5uaW5nIHByZWVtcHRfZGlzYWJsZSgpIGNvZGUgc2VnbWVudHMKICAqIChpbmNsdWRpbmcgaGFyZHdhcmUtaXJxLWRpc2FibGUgc2VnbWVudHMpIGNvbXBsZXRlLiAgTm90ZSB0aGF0CiAgKiBpbiAtcnQgdGhpcyBkb2VzIC1ub3QtIG5lY2Vzc2FyaWx5IHJlc3VsdCBpbiBhbGwgY3VycmVudGx5IGV4ZWN1dGluZwogICogaW50ZXJydXB0IC1oYW5kbGVycy0gaGF2aW5nIGNvbXBsZXRlZC4KICAqLwotdm9pZCBfX3N5bmNocm9uaXplX3NjaGVkKHZvaWQpCi17Ci0JY3B1bWFza190IG9sZG1hc2s7Ci0JaW50IGNwdTsKLQotCWlmIChzY2hlZF9nZXRhZmZpbml0eSgwLCAmb2xkbWFzaykgPCAwKQotCQlvbGRtYXNrID0gY3B1X3Bvc3NpYmxlX21hcDsKLQlmb3JfZWFjaF9vbmxpbmVfY3B1KGNwdSkgewotCQlzY2hlZF9zZXRhZmZpbml0eSgwLCAmY3B1bWFza19vZl9jcHUoY3B1KSk7Ci0JCXNjaGVkdWxlKCk7Ci0JfQotCXNjaGVkX3NldGFmZmluaXR5KDAsICZvbGRtYXNrKTsKLX0KK3N5bmNocm9uaXplX3JjdV94eHgoX19zeW5jaHJvbml6ZV9zY2hlZCwgY2FsbF9yY3Vfc2NoZWQpCiBFWFBPUlRfU1lNQk9MX0dQTChfX3N5bmNocm9uaXplX3NjaGVkKTsKIAogLyoKKyAqIGt0aHJlYWQgZnVuY3Rpb24gdGhhdCBtYW5hZ2VzIGNhbGxfcmN1X3NjaGVkIGdyYWNlIHBlcmlvZHMuCisgKi8KK3N0YXRpYyBpbnQgcmN1X3NjaGVkX2dyYWNlX3BlcmlvZCh2b2lkICphcmcpCit7CisJaW50IGNvdWxkc2xlZXA7CQkvKiBtaWdodCBzbGVlcCBhZnRlciBjdXJyZW50IHBhc3MuICovCisJaW50IGNvdWxkc2xlZXBuZXh0ID0gMDsgLyogbWlnaHQgc2xlZXAgYWZ0ZXIgbmV4dCBwYXNzLiAqLworCWludCBjcHU7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwlzdHJ1Y3QgcmN1X2RhdGEgKnJkcDsKKwlpbnQgcmV0OworCisJLyoKKwkgKiBFYWNoIHBhc3MgdGhyb3VnaCB0aGUgZm9sbG93aW5nIGxvb3AgaGFuZGxlcyBvbmUKKwkgKiByY3Vfc2NoZWQgZ3JhY2UgcGVyaW9kIGN5Y2xlLgorCSAqLworCWRvIHsKKwkJLyogU2F2ZSBlYWNoIENQVSdzIGN1cnJlbnQgc3RhdGUuICovCisKKwkJZm9yX2VhY2hfb25saW5lX2NwdShjcHUpIHsKKwkJCWR5bnRpY2tfc2F2ZV9wcm9ncmVzc19jb3VudGVyX3NjaGVkKGNwdSk7CisJCQlzYXZlX3FzY3RyX3NjaGVkKGNwdSk7CisJCX0KKworCQkvKgorCQkgKiBTbGVlcCBmb3IgYWJvdXQgYW4gUkNVIGdyYWNlLXBlcmlvZCdzIHdvcnRoIHRvCisJCSAqIGFsbG93IGJldHRlciBiYXRjaGluZyBhbmQgdG8gY29uc3VtZSBsZXNzIENQVS4KKwkJICovCisJCXNjaGVkdWxlX3RpbWVvdXRfaW50ZXJydXB0aWJsZShSQ1VfU0NIRURfQkFUQ0hfVElNRSk7CisKKwkJLyoKKwkJICogSWYgdGhlcmUgd2FzIG5vdGhpbmcgdG8gZG8gbGFzdCB0aW1lLCBwcmVwYXJlIHRvCisJCSAqIHNsZWVwIGF0IHRoZSBlbmQgb2YgdGhlIGN1cnJlbnQgZ3JhY2UgcGVyaW9kIGN5Y2xlLgorCQkgKi8KKwkJY291bGRzbGVlcCA9IGNvdWxkc2xlZXBuZXh0OworCQljb3VsZHNsZWVwbmV4dCA9IDE7CisJCWlmIChjb3VsZHNsZWVwKSB7CisJCQlzcGluX2xvY2tfaXJxc2F2ZSgmcmN1X2N0cmxibGsuc2NoZWRsb2NrLCBmbGFncyk7CisJCQlyY3VfY3RybGJsay5zY2hlZF9zbGVlcCA9IHJjdV9zY2hlZF9zbGVlcF9wcmVwOworCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcmN1X2N0cmxibGsuc2NoZWRsb2NrLCBmbGFncyk7CisJCX0KKworCQkvKgorCQkgKiBXYWl0IG9uIGVhY2ggQ1BVIGluIHR1cm4gdG8gaGF2ZSBlaXRoZXIgdmlzaXRlZAorCQkgKiBhIHF1aWVzY2VudCBzdGF0ZSBvciBiZWVuIGluIGR5bnRpY2tzLWlkbGUgbW9kZS4KKwkJICovCisJCWZvcl9lYWNoX29ubGluZV9jcHUoY3B1KSB7CisJCQl3aGlsZSAocmN1X3FzY3RyX2luY19uZWVkZWQoY3B1KSAmJgorCQkJICAgICAgIHJjdV9xc2N0cl9pbmNfbmVlZGVkX2R5bnRpY2soY3B1KSkgeworCQkJCS8qIHJlc2NoZWRfY3B1KGNwdSk7IEBAQCAqLworCQkJCXNjaGVkdWxlX3RpbWVvdXRfaW50ZXJydXB0aWJsZSgxKTsKKwkJCX0KKwkJfQorCisJCS8qIEFkdmFuY2UgY2FsbGJhY2tzIGZvciBlYWNoIENQVS4gICovCisKKwkJZm9yX2VhY2hfb25saW5lX2NwdShjcHUpIHsKKworCQkJcmRwID0gUkNVX0RBVEFfQ1BVKGNwdSk7CisJCQlzcGluX2xvY2tfaXJxc2F2ZSgmcmRwLT5sb2NrLCBmbGFncyk7CisKKwkJCS8qCisJCQkgKiBXZSBhcmUgcnVubmluZyBvbiB0aGlzIENQVSBpcnEtZGlzYWJsZWQsIHNvIG5vCisJCQkgKiBDUFUgY2FuIGdvIG9mZmxpbmUgdW50aWwgd2UgcmUtZW5hYmxlIGlycXMuCisJCQkgKiBUaGUgY3VycmVudCBDUFUgbWlnaHQgaGF2ZSBhbHJlYWR5IGdvbmUKKwkJCSAqIG9mZmxpbmUgKGJldHdlZW4gdGhlIGZvcl9lYWNoX29mZmxpbmVfY3B1IGFuZAorCQkJICogdGhlIHNwaW5fbG9ja19pcnFzYXZlKSwgYnV0IGluIHRoYXQgY2FzZSBhbGwgaXRzCisJCQkgKiBjYWxsYmFjayBsaXN0cyB3aWxsIGJlIGVtcHR5LCBzbyBubyBoYXJtIGRvbmUuCisJCQkgKgorCQkJICogQWR2YW5jZSB0aGUgY2FsbGJhY2tzISAgV2Ugc2hhcmUgbm9ybWFsIFJDVSdzCisJCQkgKiBkb25lbGlzdCwgc2luY2UgY2FsbGJhY2tzIGFyZSBpbnZva2VkIHRoZQorCQkJICogc2FtZSB3YXkgaW4gZWl0aGVyIGNhc2UuCisJCQkgKi8KKwkJCWlmIChyZHAtPndhaXRzY2hlZGxpc3QgIT0gTlVMTCkgeworCQkJCSpyZHAtPmRvbmV0YWlsID0gcmRwLT53YWl0c2NoZWRsaXN0OworCQkJCXJkcC0+ZG9uZXRhaWwgPSByZHAtPndhaXRzY2hlZHRhaWw7CisKKwkJCQkvKgorCQkJCSAqIE5leHQgcmN1X2NoZWNrX2NhbGxiYWNrcygpIHdpbGwKKwkJCQkgKiBkbyB0aGUgcmVxdWlyZWQgcmFpc2Vfc29mdGlycSgpLgorCQkJCSAqLworCQkJfQorCQkJaWYgKHJkcC0+bmV4dHNjaGVkbGlzdCAhPSBOVUxMKSB7CisJCQkJcmRwLT53YWl0c2NoZWRsaXN0ID0gcmRwLT5uZXh0c2NoZWRsaXN0OworCQkJCXJkcC0+d2FpdHNjaGVkdGFpbCA9IHJkcC0+bmV4dHNjaGVkdGFpbDsKKwkJCQljb3VsZHNsZWVwID0gMDsKKwkJCQljb3VsZHNsZWVwbmV4dCA9IDA7CisJCQl9IGVsc2UgeworCQkJCXJkcC0+d2FpdHNjaGVkbGlzdCA9IE5VTEw7CisJCQkJcmRwLT53YWl0c2NoZWR0YWlsID0gJnJkcC0+d2FpdHNjaGVkbGlzdDsKKwkJCX0KKwkJCXJkcC0+bmV4dHNjaGVkbGlzdCA9IE5VTEw7CisJCQlyZHAtPm5leHRzY2hlZHRhaWwgPSAmcmRwLT5uZXh0c2NoZWRsaXN0OworCisJCQkvKiBNYXJrIHNsZWVwIGludGVudGlvbi4gKi8KKworCQkJcmRwLT5yY3Vfc2NoZWRfc2xlZXBpbmcgPSBjb3VsZHNsZWVwOworCisJCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZyZHAtPmxvY2ssIGZsYWdzKTsKKwkJfQorCisJCS8qIElmIHdlIHNhdyBjYWxsYmFja3Mgb24gdGhlIGxhc3Qgc2NhbiwgZ28gZGVhbCB3aXRoIHRoZW0uICovCisKKwkJaWYgKCFjb3VsZHNsZWVwKQorCQkJY29udGludWU7CisKKwkJLyogQXR0ZW1wdCB0byBibG9jay4uLiAqLworCisJCXNwaW5fbG9ja19pcnFzYXZlKCZyY3VfY3RybGJsay5zY2hlZGxvY2ssIGZsYWdzKTsKKwkJaWYgKHJjdV9jdHJsYmxrLnNjaGVkX3NsZWVwICE9IHJjdV9zY2hlZF9zbGVlcF9wcmVwKSB7CisKKwkJCS8qCisJCQkgKiBTb21lb25lIHBvc3RlZCBhIGNhbGxiYWNrIGFmdGVyIHdlIHNjYW5uZWQuCisJCQkgKiBHbyB0YWtlIGNhcmUgb2YgaXQuCisJCQkgKi8KKwkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnJjdV9jdHJsYmxrLnNjaGVkbG9jaywgZmxhZ3MpOworCQkJY291bGRzbGVlcG5leHQgPSAwOworCQkJY29udGludWU7CisJCX0KKworCQkvKiBCbG9jayB1bnRpbCB0aGUgbmV4dCBwZXJzb24gcG9zdHMgYSBjYWxsYmFjay4gKi8KKworCQlyY3VfY3RybGJsay5zY2hlZF9zbGVlcCA9IHJjdV9zY2hlZF9zbGVlcGluZzsKKwkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcmN1X2N0cmxibGsuc2NoZWRsb2NrLCBmbGFncyk7CisJCXJldCA9IDA7CisJCV9fd2FpdF9ldmVudF9pbnRlcnJ1cHRpYmxlKHJjdV9jdHJsYmxrLnNjaGVkX3dxLAorCQkJcmN1X2N0cmxibGsuc2NoZWRfc2xlZXAgIT0gcmN1X3NjaGVkX3NsZWVwaW5nLAorCQkJcmV0KTsKKworCQkvKgorCQkgKiBTaWduYWxzIHdvdWxkIHByZXZlbnQgdXMgZnJvbSBzbGVlcGluZywgYW5kIHdlIGNhbm5vdAorCQkgKiBkbyBtdWNoIHdpdGggdGhlbSBpbiBhbnkgY2FzZS4gIFNvIGZsdXNoIHRoZW0uCisJCSAqLworCQlpZiAocmV0KQorCQkJZmx1c2hfc2lnbmFscyhjdXJyZW50KTsKKwkJY291bGRzbGVlcG5leHQgPSAwOworCisJfSB3aGlsZSAoIWt0aHJlYWRfc2hvdWxkX3N0b3AoKSk7CisKKwlyZXR1cm4gKDApOworfQorCisvKgogICogQ2hlY2sgdG8gc2VlIGlmIGFueSBmdXR1cmUgUkNVLXJlbGF0ZWQgd29yayB3aWxsIG5lZWQgdG8gYmUgZG9uZQogICogYnkgdGhlIGN1cnJlbnQgQ1BVLCBldmVuIGlmIG5vbmUgbmVlZCBiZSBkb25lIGltbWVkaWF0ZWx5LCByZXR1cm5pbmcKICAqIDEgaWYgc28uICBBc3N1bWVzIHRoYXQgbm90aWZpZXJzIHdvdWxkIHRha2UgY2FyZSBvZiBoYW5kbGluZyBhbnkKQEAgLTEwMjcsNyArMTMzNCw5IEBACiAKIAlyZXR1cm4gKHJkcC0+ZG9uZWxpc3QgIT0gTlVMTCB8fAogCQkhIXJkcC0+d2FpdGxpc3Rjb3VudCB8fAotCQlyZHAtPm5leHRsaXN0ICE9IE5VTEwpOworCQlyZHAtPm5leHRsaXN0ICE9IE5VTEwgfHwKKwkJcmRwLT5uZXh0c2NoZWRsaXN0ICE9IE5VTEwgfHwKKwkJcmRwLT53YWl0c2NoZWRsaXN0ICE9IE5VTEwpOwogfQogCiBpbnQgcmN1X3BlbmRpbmcoaW50IGNwdSkKQEAgLTEwMzgsNyArMTM0Nyw5IEBACiAKIAlpZiAocmRwLT5kb25lbGlzdCAhPSBOVUxMIHx8CiAJICAgICEhcmRwLT53YWl0bGlzdGNvdW50IHx8Ci0JICAgIHJkcC0+bmV4dGxpc3QgIT0gTlVMTCkKKwkgICAgcmRwLT5uZXh0bGlzdCAhPSBOVUxMIHx8CisJICAgIHJkcC0+bmV4dHNjaGVkbGlzdCAhPSBOVUxMIHx8CisJICAgIHJkcC0+d2FpdHNjaGVkbGlzdCAhPSBOVUxMKQogCQlyZXR1cm4gMTsKIAogCS8qIFRoZSBSQ1UgY29yZSBuZWVkcyBhbiBhY2tub3dsZWRnZW1lbnQgZnJvbSB0aGlzIENQVS4gKi8KQEAgLTExMDUsNiArMTQxNiwxMSBAQAogCQlyZHAtPmRvbmV0YWlsID0gJnJkcC0+ZG9uZWxpc3Q7CiAJCXJkcC0+cmN1X2ZsaXBjdHJbMF0gPSAwOwogCQlyZHAtPnJjdV9mbGlwY3RyWzFdID0gMDsKKwkJcmRwLT5uZXh0c2NoZWRsaXN0ID0gTlVMTDsKKwkJcmRwLT5uZXh0c2NoZWR0YWlsID0gJnJkcC0+bmV4dHNjaGVkbGlzdDsKKwkJcmRwLT53YWl0c2NoZWRsaXN0ID0gTlVMTDsKKwkJcmRwLT53YWl0c2NoZWR0YWlsID0gJnJkcC0+d2FpdHNjaGVkbGlzdDsKKwkJcmRwLT5yY3Vfc2NoZWRfc2xlZXBpbmcgPSAwOwogCX0KIAlyZWdpc3Rlcl9jcHVfbm90aWZpZXIoJnJjdV9uYik7CiAKQEAgLTExMjMsMTUgKzE0MzksMTkgQEAKIAlmb3JfZWFjaF9vbmxpbmVfY3B1KGNwdSkKIAkJcmN1X2NwdV9ub3RpZnkoJnJjdV9uYiwgQ1BVX1VQX1BSRVBBUkUsCSh2b2lkICopKGxvbmcpIGNwdSk7CiAKLQlvcGVuX3NvZnRpcnEoUkNVX1NPRlRJUlEsIHJjdV9wcm9jZXNzX2NhbGxiYWNrcywgTlVMTCk7CisJb3Blbl9zb2Z0aXJxKFJDVV9TT0ZUSVJRLCByY3VfcHJvY2Vzc19jYWxsYmFja3MpOwogfQogCiAvKgotICogRGVwcmVjYXRlZCwgdXNlIHN5bmNocm9uaXplX3JjdSgpIG9yIHN5bmNocm9uaXplX3NjaGVkKCkgaW5zdGVhZC4KKyAqIExhdGUtYm9vdC10aW1lIFJDVSBpbml0aWFsaXphdGlvbiB0aGF0IG11c3Qgd2FpdCB1bnRpbCBhZnRlciBzY2hlZHVsZXIKKyAqIGhhcyBiZWVuIGluaXRpYWxpemVkLgogICovCi12b2lkIHN5bmNocm9uaXplX2tlcm5lbCh2b2lkKQordm9pZCBfX2luaXQgcmN1X2luaXRfc2NoZWQodm9pZCkKIHsKLQlzeW5jaHJvbml6ZV9yY3UoKTsKKwlyY3Vfc2NoZWRfZ3JhY2VfcGVyaW9kX3Rhc2sgPSBrdGhyZWFkX3J1bihyY3Vfc2NoZWRfZ3JhY2VfcGVyaW9kLAorCQkJCQkJICBOVUxMLAorCQkJCQkJICAicmN1X3NjaGVkX2dyYWNlX3BlcmlvZCIpOworCVdBUk5fT04oSVNfRVJSKHJjdV9zY2hlZF9ncmFjZV9wZXJpb2RfdGFzaykpOwogfQogCiAjaWZkZWYgQ09ORklHX1JDVV9UUkFDRQpkaWZmIC0tZ2l0IGEva2VybmVsL3JjdXByZWVtcHRfdHJhY2UuYyBiL2tlcm5lbC9yY3VwcmVlbXB0X3RyYWNlLmMKaW5kZXggNDlhYzQ5NDcuLjVlZGY4MmMgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9yY3VwcmVlbXB0X3RyYWNlLmMKKysrIGIva2VybmVsL3JjdXByZWVtcHRfdHJhY2UuYwpAQCAtMzgsNyArMzgsNiBAQAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZXBhcmFtLmg+CiAjaW5jbHVkZSA8bGludXgvcGVyY3B1Lmg+CiAjaW5jbHVkZSA8bGludXgvbm90aWZpZXIuaD4KLSNpbmNsdWRlIDxsaW51eC9yY3VwZGF0ZS5oPgogI2luY2x1ZGUgPGxpbnV4L2NwdS5oPgogI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CiAjaW5jbHVkZSA8bGludXgvcmN1cHJlZW1wdF90cmFjZS5oPgpkaWZmIC0tZ2l0IGEva2VybmVsL3JjdXRvcnR1cmUuYyBiL2tlcm5lbC9yY3V0b3J0dXJlLmMKaW5kZXggMzNhY2M0MjQuLjkwYjViMTIgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9yY3V0b3J0dXJlLmMKKysrIGIva2VybmVsL3JjdXRvcnR1cmUuYwpAQCAtNTcsNyArNTcsOSBAQAogCQkJCS8qICBEZWZhdWx0cyB0byAib25seSBhdCBlbmQgb2YgdGVzdCIuICovCiBzdGF0aWMgaW50IHZlcmJvc2U7CQkvKiBQcmludCBtb3JlIGRlYnVnIGluZm8uICovCiBzdGF0aWMgaW50IHRlc3Rfbm9faWRsZV9oejsJLyogVGVzdCBSQ1UncyBzdXBwb3J0IGZvciB0aWNrbGVzcyBpZGxlIENQVXMuICovCi1zdGF0aWMgaW50IHNodWZmbGVfaW50ZXJ2YWwgPSA1OyAvKiBJbnRlcnZhbCBiZXR3ZWVuIHNodWZmbGVzIChpbiBzZWMpKi8KK3N0YXRpYyBpbnQgc2h1ZmZsZV9pbnRlcnZhbCA9IDM7IC8qIEludGVydmFsIGJldHdlZW4gc2h1ZmZsZXMgKGluIHNlYykqLworc3RhdGljIGludCBzdHV0dGVyID0gNTsJCS8qIFN0YXJ0L3N0b3AgdGVzdGluZyBpbnRlcnZhbCAoaW4gc2VjKSAqLworc3RhdGljIGludCBpcnFyZWFkZXIgPSAxOwkvKiBSQ1UgcmVhZGVycyBmcm9tIGlycSAodGltZXJzKS4gKi8KIHN0YXRpYyBjaGFyICp0b3J0dXJlX3R5cGUgPSAicmN1IjsgLyogV2hhdCBSQ1UgaW1wbGVtZW50YXRpb24gdG8gdG9ydHVyZS4gKi8KIAogbW9kdWxlX3BhcmFtKG5yZWFkZXJzLCBpbnQsIDA0NDQpOwpAQCAtNzIsNiArNzQsMTAgQEAKIE1PRFVMRV9QQVJNX0RFU0ModGVzdF9ub19pZGxlX2h6LCAiVGVzdCBzdXBwb3J0IGZvciB0aWNrbGVzcyBpZGxlIENQVXMiKTsKIG1vZHVsZV9wYXJhbShzaHVmZmxlX2ludGVydmFsLCBpbnQsIDA0NDQpOwogTU9EVUxFX1BBUk1fREVTQyhzaHVmZmxlX2ludGVydmFsLCAiTnVtYmVyIG9mIHNlY29uZHMgYmV0d2VlbiBzaHVmZmxlcyIpOworbW9kdWxlX3BhcmFtKHN0dXR0ZXIsIGludCwgMDQ0NCk7CitNT0RVTEVfUEFSTV9ERVNDKHN0dXR0ZXIsICJOdW1iZXIgb2Ygc2Vjb25kcyB0byBydW4vaGFsdCB0ZXN0Iik7Cittb2R1bGVfcGFyYW0oaXJxcmVhZGVyLCBpbnQsIDA0NDQpOworTU9EVUxFX1BBUk1fREVTQyhpcnFyZWFkZXIsICJBbGxvdyBSQ1UgcmVhZGVycyBmcm9tIGlycSBoYW5kbGVycyIpOwogbW9kdWxlX3BhcmFtKHRvcnR1cmVfdHlwZSwgY2hhcnAsIDA0NDQpOwogTU9EVUxFX1BBUk1fREVTQyh0b3J0dXJlX3R5cGUsICJUeXBlIG9mIFJDVSB0byB0b3J0dXJlIChyY3UsIHJjdV9iaCwgc3JjdSkiKTsKIApAQCAtOTEsNiArOTcsNyBAQAogc3RhdGljIHN0cnVjdCB0YXNrX3N0cnVjdCAqKnJlYWRlcl90YXNrczsKIHN0YXRpYyBzdHJ1Y3QgdGFza19zdHJ1Y3QgKnN0YXRzX3Rhc2s7CiBzdGF0aWMgc3RydWN0IHRhc2tfc3RydWN0ICpzaHVmZmxlcl90YXNrOworc3RhdGljIHN0cnVjdCB0YXNrX3N0cnVjdCAqc3R1dHRlcl90YXNrOwogCiAjZGVmaW5lIFJDVV9UT1JUVVJFX1BJUEVfTEVOIDEwCiAKQEAgLTExNyw4ICsxMjQsMTggQEAKIHN0YXRpYyBhdG9taWNfdCBuX3JjdV90b3J0dXJlX2ZyZWU7CiBzdGF0aWMgYXRvbWljX3Qgbl9yY3VfdG9ydHVyZV9tYmVycm9yOwogc3RhdGljIGF0b21pY190IG5fcmN1X3RvcnR1cmVfZXJyb3I7CitzdGF0aWMgbG9uZyBuX3JjdV90b3J0dXJlX3RpbWVycyA9IDA7CiBzdGF0aWMgc3RydWN0IGxpc3RfaGVhZCByY3VfdG9ydHVyZV9yZW1vdmVkOwogCitzdGF0aWMgaW50IHN0dXR0ZXJfcGF1c2VfdGVzdCA9IDA7CisKKyNpZiBkZWZpbmVkKE1PRFVMRSkgfHwgZGVmaW5lZChDT05GSUdfUkNVX1RPUlRVUkVfVEVTVF9SVU5OQUJMRSkKKyNkZWZpbmUgUkNVVE9SVFVSRV9SVU5OQUJMRV9JTklUIDEKKyNlbHNlCisjZGVmaW5lIFJDVVRPUlRVUkVfUlVOTkFCTEVfSU5JVCAwCisjZW5kaWYKK2ludCByY3V0b3J0dXJlX3J1bm5hYmxlID0gUkNVVE9SVFVSRV9SVU5OQUJMRV9JTklUOworCiAvKgogICogQWxsb2NhdGUgYW4gZWxlbWVudCBmcm9tIHRoZSByY3VfdG9ydHVyZXMgcG9vbC4KICAqLwpAQCAtMTc5LDYgKzE5NiwxNiBAQAogCXJldHVybiBzd2FodzMyKHJyc3AtPnJyc19zdGF0ZSk7CiB9CiAKK3N0YXRpYyB2b2lkCityY3Vfc3R1dHRlcl93YWl0KHZvaWQpCit7CisJd2hpbGUgKHN0dXR0ZXJfcGF1c2VfdGVzdCB8fCAhcmN1dG9ydHVyZV9ydW5uYWJsZSkKKwkJaWYgKHJjdXRvcnR1cmVfcnVubmFibGUpCisJCQlzY2hlZHVsZV90aW1lb3V0X2ludGVycnVwdGlibGUoMSk7CisJCWVsc2UKKwkJCXNjaGVkdWxlX3RpbWVvdXRfaW50ZXJydXB0aWJsZShyb3VuZF9qaWZmaWVzX3JlbGF0aXZlKEhaKSk7Cit9CisKIC8qCiAgKiBPcGVyYXRpb25zIHZlY3RvciBmb3Igc2VsZWN0aW5nIGRpZmZlcmVudCB0eXBlcyBvZiB0ZXN0cy4KICAqLwpAQCAtMTkyLDcgKzIxOSw5IEBACiAJaW50ICgqY29tcGxldGVkKSh2b2lkKTsKIAl2b2lkICgqZGVmZXJyZWRmcmVlKShzdHJ1Y3QgcmN1X3RvcnR1cmUgKnApOwogCXZvaWQgKCpzeW5jKSh2b2lkKTsKKwl2b2lkICgqY2JfYmFycmllcikodm9pZCk7CiAJaW50ICgqc3RhdHMpKGNoYXIgKnBhZ2UpOworCWludCBpcnFjYXBhYmxlOwogCWNoYXIgKm5hbWU7CiB9Owogc3RhdGljIHN0cnVjdCByY3VfdG9ydHVyZV9vcHMgKmN1cl9vcHMgPSBOVUxMOwpAQCAtMjY1LDcgKzI5NCw5IEBACiAJLmNvbXBsZXRlZCA9IHJjdV90b3J0dXJlX2NvbXBsZXRlZCwKIAkuZGVmZXJyZWRmcmVlID0gcmN1X3RvcnR1cmVfZGVmZXJyZWRfZnJlZSwKIAkuc3luYyA9IHN5bmNocm9uaXplX3JjdSwKKwkuY2JfYmFycmllciA9IHJjdV9iYXJyaWVyLAogCS5zdGF0cyA9IE5VTEwsCisJLmlycWNhcGFibGUgPSAxLAogCS5uYW1lID0gInJjdSIKIH07CiAKQEAgLTMwNCw3ICszMzUsOSBAQAogCS5jb21wbGV0ZWQgPSByY3VfdG9ydHVyZV9jb21wbGV0ZWQsCiAJLmRlZmVycmVkZnJlZSA9IHJjdV9zeW5jX3RvcnR1cmVfZGVmZXJyZWRfZnJlZSwKIAkuc3luYyA9IHN5bmNocm9uaXplX3JjdSwKKwkuY2JfYmFycmllciA9IE5VTEwsCiAJLnN0YXRzID0gTlVMTCwKKwkuaXJxY2FwYWJsZSA9IDEsCiAJLm5hbWUgPSAicmN1X3N5bmMiCiB9OwogCkBAIC0zNjQsNyArMzk3LDkgQEAKIAkuY29tcGxldGVkID0gcmN1X2JoX3RvcnR1cmVfY29tcGxldGVkLAogCS5kZWZlcnJlZGZyZWUgPSByY3VfYmhfdG9ydHVyZV9kZWZlcnJlZF9mcmVlLAogCS5zeW5jID0gcmN1X2JoX3RvcnR1cmVfc3luY2hyb25pemUsCisJLmNiX2JhcnJpZXIgPSByY3VfYmFycmllcl9iaCwKIAkuc3RhdHMgPSBOVUxMLAorCS5pcnFjYXBhYmxlID0gMSwKIAkubmFtZSA9ICJyY3VfYmgiCiB9OwogCkBAIC0zNzcsNyArNDEyLDkgQEAKIAkuY29tcGxldGVkID0gcmN1X2JoX3RvcnR1cmVfY29tcGxldGVkLAogCS5kZWZlcnJlZGZyZWUgPSByY3Vfc3luY190b3J0dXJlX2RlZmVycmVkX2ZyZWUsCiAJLnN5bmMgPSByY3VfYmhfdG9ydHVyZV9zeW5jaHJvbml6ZSwKKwkuY2JfYmFycmllciA9IE5VTEwsCiAJLnN0YXRzID0gTlVMTCwKKwkuaXJxY2FwYWJsZSA9IDEsCiAJLm5hbWUgPSAicmN1X2JoX3N5bmMiCiB9OwogCkBAIC00NTgsNiArNDk1LDcgQEAKIAkuY29tcGxldGVkID0gc3JjdV90b3J0dXJlX2NvbXBsZXRlZCwKIAkuZGVmZXJyZWRmcmVlID0gcmN1X3N5bmNfdG9ydHVyZV9kZWZlcnJlZF9mcmVlLAogCS5zeW5jID0gc3JjdV90b3J0dXJlX3N5bmNocm9uaXplLAorCS5jYl9iYXJyaWVyID0gTlVMTCwKIAkuc3RhdHMgPSBzcmN1X3RvcnR1cmVfc3RhdHMsCiAJLm5hbWUgPSAic3JjdSIKIH07CkBAIC00ODIsNiArNTIwLDExIEBACiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyB2b2lkIHJjdV9zY2hlZF90b3J0dXJlX2RlZmVycmVkX2ZyZWUoc3RydWN0IHJjdV90b3J0dXJlICpwKQoreworCWNhbGxfcmN1X3NjaGVkKCZwLT5ydG9ydF9yY3UsIHJjdV90b3J0dXJlX2NiKTsKK30KKwogc3RhdGljIHZvaWQgc2NoZWRfdG9ydHVyZV9zeW5jaHJvbml6ZSh2b2lkKQogewogCXN5bmNocm9uaXplX3NjaGVkKCk7CkBAIC00OTQsMTAgKzUzNywyNiBAQAogCS5yZWFkZGVsYXkgPSByY3VfcmVhZF9kZWxheSwgIC8qIGp1c3QgcmV1c2UgcmN1J3MgdmVyc2lvbi4gKi8KIAkucmVhZHVubG9jayA9IHNjaGVkX3RvcnR1cmVfcmVhZF91bmxvY2ssCiAJLmNvbXBsZXRlZCA9IHNjaGVkX3RvcnR1cmVfY29tcGxldGVkLAorCS5kZWZlcnJlZGZyZWUgPSByY3Vfc2NoZWRfdG9ydHVyZV9kZWZlcnJlZF9mcmVlLAorCS5zeW5jID0gc2NoZWRfdG9ydHVyZV9zeW5jaHJvbml6ZSwKKwkuY2JfYmFycmllciA9IHJjdV9iYXJyaWVyX3NjaGVkLAorCS5zdGF0cyA9IE5VTEwsCisJLmlycWNhcGFibGUgPSAxLAorCS5uYW1lID0gInNjaGVkIgorfTsKKworc3RhdGljIHN0cnVjdCByY3VfdG9ydHVyZV9vcHMgc2NoZWRfb3BzX3N5bmMgPSB7CisJLmluaXQgPSByY3Vfc3luY190b3J0dXJlX2luaXQsCisJLmNsZWFudXAgPSBOVUxMLAorCS5yZWFkbG9jayA9IHNjaGVkX3RvcnR1cmVfcmVhZF9sb2NrLAorCS5yZWFkZGVsYXkgPSByY3VfcmVhZF9kZWxheSwgIC8qIGp1c3QgcmV1c2UgcmN1J3MgdmVyc2lvbi4gKi8KKwkucmVhZHVubG9jayA9IHNjaGVkX3RvcnR1cmVfcmVhZF91bmxvY2ssCisJLmNvbXBsZXRlZCA9IHNjaGVkX3RvcnR1cmVfY29tcGxldGVkLAogCS5kZWZlcnJlZGZyZWUgPSByY3Vfc3luY190b3J0dXJlX2RlZmVycmVkX2ZyZWUsCiAJLnN5bmMgPSBzY2hlZF90b3J0dXJlX3N5bmNocm9uaXplLAorCS5jYl9iYXJyaWVyID0gTlVMTCwKIAkuc3RhdHMgPSBOVUxMLAotCS5uYW1lID0gInNjaGVkIgorCS5uYW1lID0gInNjaGVkX3N5bmMiCiB9OwogCiAvKgpAQCAtNTM3LDYgKzU5Niw3IEBACiAJCX0KIAkJcmN1X3RvcnR1cmVfY3VycmVudF92ZXJzaW9uKys7CiAJCW9sZGJhdGNoID0gY3VyX29wcy0+Y29tcGxldGVkKCk7CisJCXJjdV9zdHV0dGVyX3dhaXQoKTsKIAl9IHdoaWxlICgha3RocmVhZF9zaG91bGRfc3RvcCgpICYmICFmdWxsc3RvcCk7CiAJVkVSQk9TRV9QUklOVEtfU1RSSU5HKCJyY3VfdG9ydHVyZV93cml0ZXIgdGFzayBzdG9wcGluZyIpOwogCXdoaWxlICgha3RocmVhZF9zaG91bGRfc3RvcCgpKQpAQCAtNTYwLDYgKzYyMCw3IEBACiAJCXNjaGVkdWxlX3RpbWVvdXRfdW5pbnRlcnJ1cHRpYmxlKDEgKyByY3VfcmFuZG9tKCZyYW5kKSUxMCk7CiAJCXVkZWxheShyY3VfcmFuZG9tKCZyYW5kKSAmIDB4M2ZmKTsKIAkJY3VyX29wcy0+c3luYygpOworCQlyY3Vfc3R1dHRlcl93YWl0KCk7CiAJfSB3aGlsZSAoIWt0aHJlYWRfc2hvdWxkX3N0b3AoKSAmJiAhZnVsbHN0b3ApOwogCiAJVkVSQk9TRV9QUklOVEtfU1RSSU5HKCJyY3VfdG9ydHVyZV9mYWtld3JpdGVyIHRhc2sgc3RvcHBpbmciKTsKQEAgLTU2OSw2ICs2MzAsNTIgQEAKIH0KIAogLyoKKyAqIFJDVSB0b3J0dXJlIHJlYWRlciBmcm9tIHRpbWVyIGhhbmRsZXIuICBEZXJlZmVyZW5jZXMgcmN1X3RvcnR1cmVfY3VycmVudCwKKyAqIGluY3JlbWVudGluZyB0aGUgY29ycmVzcG9uZGluZyBlbGVtZW50IG9mIHRoZSBwaXBlbGluZSBhcnJheS4gIFRoZQorICogY291bnRlciBpbiB0aGUgZWxlbWVudCBzaG91bGQgbmV2ZXIgYmUgZ3JlYXRlciB0aGFuIDEsIG90aGVyd2lzZSwgdGhlCisgKiBSQ1UgaW1wbGVtZW50YXRpb24gaXMgYnJva2VuLgorICovCitzdGF0aWMgdm9pZCByY3VfdG9ydHVyZV90aW1lcih1bnNpZ25lZCBsb25nIHVudXNlZCkKK3sKKwlpbnQgaWR4OworCWludCBjb21wbGV0ZWQ7CisJc3RhdGljIERFRklORV9SQ1VfUkFORE9NKHJhbmQpOworCXN0YXRpYyBERUZJTkVfU1BJTkxPQ0socmFuZF9sb2NrKTsKKwlzdHJ1Y3QgcmN1X3RvcnR1cmUgKnA7CisJaW50IHBpcGVfY291bnQ7CisKKwlpZHggPSBjdXJfb3BzLT5yZWFkbG9jaygpOworCWNvbXBsZXRlZCA9IGN1cl9vcHMtPmNvbXBsZXRlZCgpOworCXAgPSByY3VfZGVyZWZlcmVuY2UocmN1X3RvcnR1cmVfY3VycmVudCk7CisJaWYgKHAgPT0gTlVMTCkgeworCQkvKiBMZWF2ZSBiZWNhdXNlIHJjdV90b3J0dXJlX3dyaXRlciBpcyBub3QgeWV0IHVuZGVyd2F5ICovCisJCWN1cl9vcHMtPnJlYWR1bmxvY2soaWR4KTsKKwkJcmV0dXJuOworCX0KKwlpZiAocC0+cnRvcnRfbWJ0ZXN0ID09IDApCisJCWF0b21pY19pbmMoJm5fcmN1X3RvcnR1cmVfbWJlcnJvcik7CisJc3Bpbl9sb2NrKCZyYW5kX2xvY2spOworCWN1cl9vcHMtPnJlYWRkZWxheSgmcmFuZCk7CisJbl9yY3VfdG9ydHVyZV90aW1lcnMrKzsKKwlzcGluX3VubG9jaygmcmFuZF9sb2NrKTsKKwlwcmVlbXB0X2Rpc2FibGUoKTsKKwlwaXBlX2NvdW50ID0gcC0+cnRvcnRfcGlwZV9jb3VudDsKKwlpZiAocGlwZV9jb3VudCA+IFJDVV9UT1JUVVJFX1BJUEVfTEVOKSB7CisJCS8qIFNob3VsZCBub3QgaGFwcGVuLCBidXQuLi4gKi8KKwkJcGlwZV9jb3VudCA9IFJDVV9UT1JUVVJFX1BJUEVfTEVOOworCX0KKwkrK19fZ2V0X2NwdV92YXIocmN1X3RvcnR1cmVfY291bnQpW3BpcGVfY291bnRdOworCWNvbXBsZXRlZCA9IGN1cl9vcHMtPmNvbXBsZXRlZCgpIC0gY29tcGxldGVkOworCWlmIChjb21wbGV0ZWQgPiBSQ1VfVE9SVFVSRV9QSVBFX0xFTikgeworCQkvKiBTaG91bGQgbm90IGhhcHBlbiwgYnV0Li4uICovCisJCWNvbXBsZXRlZCA9IFJDVV9UT1JUVVJFX1BJUEVfTEVOOworCX0KKwkrK19fZ2V0X2NwdV92YXIocmN1X3RvcnR1cmVfYmF0Y2gpW2NvbXBsZXRlZF07CisJcHJlZW1wdF9lbmFibGUoKTsKKwljdXJfb3BzLT5yZWFkdW5sb2NrKGlkeCk7Cit9CisKKy8qCiAgKiBSQ1UgdG9ydHVyZSByZWFkZXIga3RocmVhZC4gIFJlcGVhdGVkbHkgZGVyZWZlcmVuY2VzIHJjdV90b3J0dXJlX2N1cnJlbnQsCiAgKiBpbmNyZW1lbnRpbmcgdGhlIGNvcnJlc3BvbmRpbmcgZWxlbWVudCBvZiB0aGUgcGlwZWxpbmUgYXJyYXkuICBUaGUKICAqIGNvdW50ZXIgaW4gdGhlIGVsZW1lbnQgc2hvdWxkIG5ldmVyIGJlIGdyZWF0ZXIgdGhhbiAxLCBvdGhlcndpc2UsIHRoZQpAQCAtNTgyLDExICs2ODksMTggQEAKIAlERUZJTkVfUkNVX1JBTkRPTShyYW5kKTsKIAlzdHJ1Y3QgcmN1X3RvcnR1cmUgKnA7CiAJaW50IHBpcGVfY291bnQ7CisJc3RydWN0IHRpbWVyX2xpc3QgdDsKIAogCVZFUkJPU0VfUFJJTlRLX1NUUklORygicmN1X3RvcnR1cmVfcmVhZGVyIHRhc2sgc3RhcnRlZCIpOwogCXNldF91c2VyX25pY2UoY3VycmVudCwgMTkpOworCWlmIChpcnFyZWFkZXIgJiYgY3VyX29wcy0+aXJxY2FwYWJsZSkKKwkJc2V0dXBfdGltZXJfb25fc3RhY2soJnQsIHJjdV90b3J0dXJlX3RpbWVyLCAwKTsKIAogCWRvIHsKKwkJaWYgKGlycXJlYWRlciAmJiBjdXJfb3BzLT5pcnFjYXBhYmxlKSB7CisJCQlpZiAoIXRpbWVyX3BlbmRpbmcoJnQpKQorCQkJCW1vZF90aW1lcigmdCwgMSk7CisJCX0KIAkJaWR4ID0gY3VyX29wcy0+cmVhZGxvY2soKTsKIAkJY29tcGxldGVkID0gY3VyX29wcy0+Y29tcGxldGVkKCk7CiAJCXAgPSByY3VfZGVyZWZlcmVuY2UocmN1X3RvcnR1cmVfY3VycmVudCk7CkBAIC02MTUsOCArNzI5LDExIEBACiAJCXByZWVtcHRfZW5hYmxlKCk7CiAJCWN1cl9vcHMtPnJlYWR1bmxvY2soaWR4KTsKIAkJc2NoZWR1bGUoKTsKKwkJcmN1X3N0dXR0ZXJfd2FpdCgpOwogCX0gd2hpbGUgKCFrdGhyZWFkX3Nob3VsZF9zdG9wKCkgJiYgIWZ1bGxzdG9wKTsKIAlWRVJCT1NFX1BSSU5US19TVFJJTkcoInJjdV90b3J0dXJlX3JlYWRlciB0YXNrIHN0b3BwaW5nIik7CisJaWYgKGlycXJlYWRlciAmJiBjdXJfb3BzLT5pcnFjYXBhYmxlKQorCQlkZWxfdGltZXJfc3luYygmdCk7CiAJd2hpbGUgKCFrdGhyZWFkX3Nob3VsZF9zdG9wKCkpCiAJCXNjaGVkdWxlX3RpbWVvdXRfdW5pbnRlcnJ1cHRpYmxlKDEpOwogCXJldHVybiAwOwpAQCAtNjQ3LDIwICs3NjQsMjIgQEAKIAljbnQgKz0gc3ByaW50ZigmcGFnZVtjbnRdLCAiJXMlcyAiLCB0b3J0dXJlX3R5cGUsIFRPUlRVUkVfRkxBRyk7CiAJY250ICs9IHNwcmludGYoJnBhZ2VbY250XSwKIAkJICAgICAgICJydGM6ICVwIHZlcjogJWxkIHRmbGU6ICVkIHJ0YTogJWQgcnRhZjogJWQgcnRmOiAlZCAiCi0JCSAgICAgICAicnRtYmU6ICVkIiwKKwkJICAgICAgICJydG1iZTogJWQgbnQ6ICVsZCIsCiAJCSAgICAgICByY3VfdG9ydHVyZV9jdXJyZW50LAogCQkgICAgICAgcmN1X3RvcnR1cmVfY3VycmVudF92ZXJzaW9uLAogCQkgICAgICAgbGlzdF9lbXB0eSgmcmN1X3RvcnR1cmVfZnJlZWxpc3QpLAogCQkgICAgICAgYXRvbWljX3JlYWQoJm5fcmN1X3RvcnR1cmVfYWxsb2MpLAogCQkgICAgICAgYXRvbWljX3JlYWQoJm5fcmN1X3RvcnR1cmVfYWxsb2NfZmFpbCksCiAJCSAgICAgICBhdG9taWNfcmVhZCgmbl9yY3VfdG9ydHVyZV9mcmVlKSwKLQkJICAgICAgIGF0b21pY19yZWFkKCZuX3JjdV90b3J0dXJlX21iZXJyb3IpKTsKKwkJICAgICAgIGF0b21pY19yZWFkKCZuX3JjdV90b3J0dXJlX21iZXJyb3IpLAorCQkgICAgICAgbl9yY3VfdG9ydHVyZV90aW1lcnMpOwogCWlmIChhdG9taWNfcmVhZCgmbl9yY3VfdG9ydHVyZV9tYmVycm9yKSAhPSAwKQogCQljbnQgKz0gc3ByaW50ZigmcGFnZVtjbnRdLCAiICEhISIpOwogCWNudCArPSBzcHJpbnRmKCZwYWdlW2NudF0sICJcbiVzJXMgIiwgdG9ydHVyZV90eXBlLCBUT1JUVVJFX0ZMQUcpOwogCWlmIChpID4gMSkgewogCQljbnQgKz0gc3ByaW50ZigmcGFnZVtjbnRdLCAiISEhICIpOwogCQlhdG9taWNfaW5jKCZuX3JjdV90b3J0dXJlX2Vycm9yKTsKKwkJV0FSTl9PTl9PTkNFKDEpOwogCX0KIAljbnQgKz0gc3ByaW50ZigmcGFnZVtjbnRdLCAiUmVhZGVyIFBpcGU6ICIpOwogCWZvciAoaSA9IDA7IGkgPCBSQ1VfVE9SVFVSRV9QSVBFX0xFTiArIDE7IGkrKykKQEAgLTc4NSwxNSArOTA0LDM0IEBACiAJcmV0dXJuIDA7CiB9CiAKKy8qIENhdXNlIHRoZSByY3V0b3J0dXJlIHRlc3QgdG8gInN0dXR0ZXIiLCBzdGFydGluZyBhbmQgc3RvcHBpbmcgYWxsCisgKiB0aHJlYWRzIHBlcmlvZGljYWxseS4KKyAqLworc3RhdGljIGludAorcmN1X3RvcnR1cmVfc3R1dHRlcih2b2lkICphcmcpCit7CisJVkVSQk9TRV9QUklOVEtfU1RSSU5HKCJyY3VfdG9ydHVyZV9zdHV0dGVyIHRhc2sgc3RhcnRlZCIpOworCWRvIHsKKwkJc2NoZWR1bGVfdGltZW91dF9pbnRlcnJ1cHRpYmxlKHN0dXR0ZXIgKiBIWik7CisJCXN0dXR0ZXJfcGF1c2VfdGVzdCA9IDE7CisJCWlmICgha3RocmVhZF9zaG91bGRfc3RvcCgpKQorCQkJc2NoZWR1bGVfdGltZW91dF9pbnRlcnJ1cHRpYmxlKHN0dXR0ZXIgKiBIWik7CisJCXN0dXR0ZXJfcGF1c2VfdGVzdCA9IDA7CisJfSB3aGlsZSAoIWt0aHJlYWRfc2hvdWxkX3N0b3AoKSk7CisJVkVSQk9TRV9QUklOVEtfU1RSSU5HKCJyY3VfdG9ydHVyZV9zdHV0dGVyIHRhc2sgc3RvcHBpbmciKTsKKwlyZXR1cm4gMDsKK30KKwogc3RhdGljIGlubGluZSB2b2lkCiByY3VfdG9ydHVyZV9wcmludF9tb2R1bGVfcGFybXMoY2hhciAqdGFnKQogewogCXByaW50ayhLRVJOX0FMRVJUICIlcyIgVE9SVFVSRV9GTEFHCiAJCSItLS0gJXM6IG5yZWFkZXJzPSVkIG5mYWtld3JpdGVycz0lZCAiCiAJCSJzdGF0X2ludGVydmFsPSVkIHZlcmJvc2U9JWQgdGVzdF9ub19pZGxlX2h6PSVkICIKLQkJInNodWZmbGVfaW50ZXJ2YWwgPSAlZFxuIiwKKwkJInNodWZmbGVfaW50ZXJ2YWw9JWQgc3R1dHRlcj0lZCBpcnFyZWFkZXI9JWRcbiIsCiAJCXRvcnR1cmVfdHlwZSwgdGFnLCBucmVhbHJlYWRlcnMsIG5mYWtld3JpdGVycywKLQkJc3RhdF9pbnRlcnZhbCwgdmVyYm9zZSwgdGVzdF9ub19pZGxlX2h6LCBzaHVmZmxlX2ludGVydmFsKTsKKwkJc3RhdF9pbnRlcnZhbCwgdmVyYm9zZSwgdGVzdF9ub19pZGxlX2h6LCBzaHVmZmxlX2ludGVydmFsLAorCQlzdHV0dGVyLCBpcnFyZWFkZXIpOwogfQogCiBzdGF0aWMgdm9pZApAQCAtODAyLDYgKzk0MCwxMSBAQAogCWludCBpOwogCiAJZnVsbHN0b3AgPSAxOworCWlmIChzdHV0dGVyX3Rhc2spIHsKKwkJVkVSQk9TRV9QUklOVEtfU1RSSU5HKCJTdG9wcGluZyByY3VfdG9ydHVyZV9zdHV0dGVyIHRhc2siKTsKKwkJa3RocmVhZF9zdG9wKHN0dXR0ZXJfdGFzayk7CisJfQorCXN0dXR0ZXJfdGFzayA9IE5VTEw7CiAJaWYgKHNodWZmbGVyX3Rhc2spIHsKIAkJVkVSQk9TRV9QUklOVEtfU1RSSU5HKCJTdG9wcGluZyByY3VfdG9ydHVyZV9zaHVmZmxlIHRhc2siKTsKIAkJa3RocmVhZF9zdG9wKHNodWZmbGVyX3Rhc2spOwpAQCAtODQ4LDcgKzk5MSw5IEBACiAJc3RhdHNfdGFzayA9IE5VTEw7CiAKIAkvKiBXYWl0IGZvciBhbGwgUkNVIGNhbGxiYWNrcyB0byBmaXJlLiAgKi8KLQlyY3VfYmFycmllcigpOworCisJaWYgKGN1cl9vcHMtPmNiX2JhcnJpZXIgIT0gTlVMTCkKKwkJY3VyX29wcy0+Y2JfYmFycmllcigpOwogCiAJcmN1X3RvcnR1cmVfc3RhdHNfcHJpbnQoKTsgIC8qIC1BZnRlci0gdGhlIHN0YXRzIHRocmVhZCBpcyBzdG9wcGVkISAqLwogCkBAIC04NjgsNyArMTAxMyw3IEBACiAJaW50IGZpcnN0ZXJyID0gMDsKIAlzdGF0aWMgc3RydWN0IHJjdV90b3J0dXJlX29wcyAqdG9ydHVyZV9vcHNbXSA9CiAJCXsgJnJjdV9vcHMsICZyY3Vfc3luY19vcHMsICZyY3VfYmhfb3BzLCAmcmN1X2JoX3N5bmNfb3BzLAotCQkgICZzcmN1X29wcywgJnNjaGVkX29wcywgfTsKKwkJICAmc3JjdV9vcHMsICZzY2hlZF9vcHMsICZzY2hlZF9vcHNfc3luYywgfTsKIAogCS8qIFByb2Nlc3MgYXJncyBhbmQgdGVsbCB0aGUgd29ybGQgdGhhdCB0aGUgdG9ydHVyZXIgaXMgb24gdGhlIGpvYi4gKi8KIAlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRSh0b3J0dXJlX29wcyk7IGkrKykgewpAQCAtOTg4LDYgKzExMzMsMTkgQEAKIAkJCWdvdG8gdW53aW5kOwogCQl9CiAJfQorCWlmIChzdHV0dGVyIDwgMCkKKwkJc3R1dHRlciA9IDA7CisJaWYgKHN0dXR0ZXIpIHsKKwkJLyogQ3JlYXRlIHRoZSBzdHV0dGVyIHRocmVhZCAqLworCQlzdHV0dGVyX3Rhc2sgPSBrdGhyZWFkX3J1bihyY3VfdG9ydHVyZV9zdHV0dGVyLCBOVUxMLAorCQkJCQkgICJyY3VfdG9ydHVyZV9zdHV0dGVyIik7CisJCWlmIChJU19FUlIoc3R1dHRlcl90YXNrKSkgeworCQkJZmlyc3RlcnIgPSBQVFJfRVJSKHN0dXR0ZXJfdGFzayk7CisJCQlWRVJCT1NFX1BSSU5US19FUlJTVFJJTkcoIkZhaWxlZCB0byBjcmVhdGUgc3R1dHRlciIpOworCQkJc3R1dHRlcl90YXNrID0gTlVMTDsKKwkJCWdvdG8gdW53aW5kOworCQl9CisJfQogCXJldHVybiAwOwogCiB1bndpbmQ6CmRpZmYgLS1naXQgYS9rZXJuZWwvc2NoZWQuYyBiL2tlcm5lbC9zY2hlZC5jCmluZGV4IDk0ZWFkNDMuLjk5ZTZkODUgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9zY2hlZC5jCisrKyBiL2tlcm5lbC9zY2hlZC5jCkBAIC03MCwxMCArNzAsMTMgQEAKICNpbmNsdWRlIDxsaW51eC9ib290bWVtLmg+CiAjaW5jbHVkZSA8bGludXgvZGVidWdmcy5oPgogI2luY2x1ZGUgPGxpbnV4L2N0eXBlLmg+CisjaW5jbHVkZSA8bGludXgvZnRyYWNlLmg+CiAKICNpbmNsdWRlIDxhc20vdGxiLmg+CiAjaW5jbHVkZSA8YXNtL2lycV9yZWdzLmg+CiAKKyNpbmNsdWRlICJzY2hlZF9jcHVwcmkuaCIKKwogLyoKICAqIENvbnZlcnQgdXNlci1uaWNlIHZhbHVlcyBbIC0yMCAuLi4gMCAuLi4gMTkgXQogICogdG8gc3RhdGljIHByaW9yaXR5IFsgTUFYX1JUX1BSSU8uLk1BWF9QUklPLTEgXSwKQEAgLTI4OSwxNSArMjkyLDE1IEBACiBzdGF0aWMgREVGSU5FX1BFUl9DUFUoc3RydWN0IHNjaGVkX2VudGl0eSwgaW5pdF9zY2hlZF9lbnRpdHkpOwogLyogRGVmYXVsdCB0YXNrIGdyb3VwJ3MgY2ZzX3JxIG9uIGVhY2ggY3B1ICovCiBzdGF0aWMgREVGSU5FX1BFUl9DUFUoc3RydWN0IGNmc19ycSwgaW5pdF9jZnNfcnEpIF9fX19jYWNoZWxpbmVfYWxpZ25lZF9pbl9zbXA7Ci0jZW5kaWYKKyNlbmRpZiAvKiBDT05GSUdfRkFJUl9HUk9VUF9TQ0hFRCAqLwogCiAjaWZkZWYgQ09ORklHX1JUX0dST1VQX1NDSEVECiBzdGF0aWMgREVGSU5FX1BFUl9DUFUoc3RydWN0IHNjaGVkX3J0X2VudGl0eSwgaW5pdF9zY2hlZF9ydF9lbnRpdHkpOwogc3RhdGljIERFRklORV9QRVJfQ1BVKHN0cnVjdCBydF9ycSwgaW5pdF9ydF9ycSkgX19fX2NhY2hlbGluZV9hbGlnbmVkX2luX3NtcDsKLSNlbmRpZgotI2Vsc2UKKyNlbmRpZiAvKiBDT05GSUdfUlRfR1JPVVBfU0NIRUQgKi8KKyNlbHNlIC8qICFDT05GSUdfRkFJUl9HUk9VUF9TQ0hFRCAqLwogI2RlZmluZSByb290X3Rhc2tfZ3JvdXAgaW5pdF90YXNrX2dyb3VwCi0jZW5kaWYKKyNlbmRpZiAvKiBDT05GSUdfRkFJUl9HUk9VUF9TQ0hFRCAqLwogCiAvKiB0YXNrX2dyb3VwX2xvY2sgc2VyaWFsaXplcyBhZGQvcmVtb3ZlIG9mIHRhc2sgZ3JvdXBzIGFuZCBhbHNvIGNoYW5nZXMgdG8KICAqIGEgdGFzayBncm91cCdzIGNwdSBzaGFyZXMuCkBAIC0zMDcsOSArMzEwLDkgQEAKICNpZmRlZiBDT05GSUdfRkFJUl9HUk9VUF9TQ0hFRAogI2lmZGVmIENPTkZJR19VU0VSX1NDSEVECiAjIGRlZmluZSBJTklUX1RBU0tfR1JPVVBfTE9BRAkoMipOSUNFXzBfTE9BRCkKLSNlbHNlCisjZWxzZSAvKiAhQ09ORklHX1VTRVJfU0NIRUQgKi8KICMgZGVmaW5lIElOSVRfVEFTS19HUk9VUF9MT0FECU5JQ0VfMF9MT0FECi0jZW5kaWYKKyNlbmRpZiAvKiBDT05GSUdfVVNFUl9TQ0hFRCAqLwogCiAvKgogICogQSB3ZWlnaHQgb2YgMCBvciAxIGNhbiBjYXVzZSBhcml0aG1ldGljcyBwcm9ibGVtcy4KQEAgLTM2Myw2ICszNjYsMTAgQEAKICNlbHNlCiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBzZXRfdGFza19ycShzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAsIHVuc2lnbmVkIGludCBjcHUpIHsgfQorc3RhdGljIGlubGluZSBzdHJ1Y3QgdGFza19ncm91cCAqdGFza19ncm91cChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnApCit7CisJcmV0dXJuIE5VTEw7Cit9CiAKICNlbmRpZgkvKiBDT05GSUdfR1JPVVBfU0NIRUQgKi8KIApAQCAtMzczLDYgKzM4MCw3IEBACiAKIAl1NjQgZXhlY19jbG9jazsKIAl1NjQgbWluX3ZydW50aW1lOworCXU2NCBwYWlyX3N0YXJ0OwogCiAJc3RydWN0IHJiX3Jvb3QgdGFza3NfdGltZWxpbmU7CiAJc3RydWN0IHJiX25vZGUgKnJiX2xlZnRtb3N0OwpAQCAtNDAxLDYgKzQwOSwzMSBAQAogCSAqLwogCXN0cnVjdCBsaXN0X2hlYWQgbGVhZl9jZnNfcnFfbGlzdDsKIAlzdHJ1Y3QgdGFza19ncm91cCAqdGc7CS8qIGdyb3VwIHRoYXQgIm93bnMiIHRoaXMgcnVucXVldWUgKi8KKworI2lmZGVmIENPTkZJR19TTVAKKwkvKgorCSAqIHRoZSBwYXJ0IG9mIGxvYWQud2VpZ2h0IGNvbnRyaWJ1dGVkIGJ5IHRhc2tzCisJICovCisJdW5zaWduZWQgbG9uZyB0YXNrX3dlaWdodDsKKworCS8qCisJICogICBoX2xvYWQgPSB3ZWlnaHQgKiBmKHRnKQorCSAqCisJICogV2hlcmUgZih0ZykgaXMgdGhlIHJlY3Vyc2l2ZSB3ZWlnaHQgZnJhY3Rpb24gYXNzaWduZWQgdG8KKwkgKiB0aGlzIGdyb3VwLgorCSAqLworCXVuc2lnbmVkIGxvbmcgaF9sb2FkOworCisJLyoKKwkgKiB0aGlzIGNwdSdzIHBhcnQgb2YgdGctPnNoYXJlcworCSAqLworCXVuc2lnbmVkIGxvbmcgc2hhcmVzOworCisJLyoKKwkgKiBsb2FkLndlaWdodCBhdCB0aGUgdGltZSB3ZSBzZXQgc2hhcmVzCisJICovCisJdW5zaWduZWQgbG9uZyBycV93ZWlnaHQ7CisjZW5kaWYKICNlbmRpZgogfTsKIApAQCAtNDUyLDYgKzQ4NSw5IEBACiAJICovCiAJY3B1bWFza190IHJ0b19tYXNrOwogCWF0b21pY190IHJ0b19jb3VudDsKKyNpZmRlZiBDT05GSUdfU01QCisJc3RydWN0IGNwdXByaSBjcHVwcmk7CisjZW5kaWYKIH07CiAKIC8qCkBAIC01MjYsNiArNTYyLDkgQEAKIAlpbnQgcHVzaF9jcHU7CiAJLyogY3B1IG9mIHRoaXMgcnVucXVldWU6ICovCiAJaW50IGNwdTsKKwlpbnQgb25saW5lOworCisJdW5zaWduZWQgbG9uZyBhdmdfbG9hZF9wZXJfdGFzazsKIAogCXN0cnVjdCB0YXNrX3N0cnVjdCAqbWlncmF0aW9uX3RocmVhZDsKIAlzdHJ1Y3QgbGlzdF9oZWFkIG1pZ3JhdGlvbl9xdWV1ZTsKQEAgLTYwNyw2ICs2NDYsMjQgQEAKICMgZGVmaW5lIGNvbnN0X2RlYnVnIHN0YXRpYyBjb25zdAogI2VuZGlmCiAKKy8qKgorICogcnVucXVldWVfaXNfbG9ja2VkCisgKgorICogUmV0dXJucyB0cnVlIGlmIHRoZSBjdXJyZW50IGNwdSBydW5xdWV1ZSBpcyBsb2NrZWQuCisgKiBUaGlzIGludGVyZmFjZSBhbGxvd3MgcHJpbnRrIHRvIGJlIGNhbGxlZCB3aXRoIHRoZSBydW5xdWV1ZSBsb2NrCisgKiBoZWxkIGFuZCBrbm93IHdoZXRoZXIgb3Igbm90IGl0IGlzIE9LIHRvIHdha2UgdXAgdGhlIGtsb2dkLgorICovCitpbnQgcnVucXVldWVfaXNfbG9ja2VkKHZvaWQpCit7CisJaW50IGNwdSA9IGdldF9jcHUoKTsKKwlzdHJ1Y3QgcnEgKnJxID0gY3B1X3JxKGNwdSk7CisJaW50IHJldDsKKworCXJldCA9IHNwaW5faXNfbG9ja2VkKCZycS0+bG9jayk7CisJcHV0X2NwdSgpOworCXJldHVybiByZXQ7Cit9CisKIC8qCiAgKiBEZWJ1Z2dpbmc6IHZhcmlvdXMgZmVhdHVyZSBiaXRzCiAgKi8KQEAgLTc0OSw2ICs4MDYsMTIgQEAKIGNvbnN0X2RlYnVnIHVuc2lnbmVkIGludCBzeXNjdGxfc2NoZWRfbnJfbWlncmF0ZSA9IDMyOwogCiAvKgorICogcmF0ZWxpbWl0IGZvciB1cGRhdGluZyB0aGUgZ3JvdXAgc2hhcmVzLgorICogZGVmYXVsdDogMC41bXMKKyAqLworY29uc3RfZGVidWcgdW5zaWduZWQgaW50IHN5c2N0bF9zY2hlZF9zaGFyZXNfcmF0ZWxpbWl0ID0gNTAwMDAwOworCisvKgogICogcGVyaW9kIG92ZXIgd2hpY2ggd2UgbWVhc3VyZSAtcnQgdGFzayBjcHUgdXNhZ2UgaW4gdXMuCiAgKiBkZWZhdWx0OiAxcwogICovCkBAIC03NzUsODIgKzgzOCw2IEBACiAJcmV0dXJuICh1NjQpc3lzY3RsX3NjaGVkX3J0X3J1bnRpbWUgKiBOU0VDX1BFUl9VU0VDOwogfQogCi11bnNpZ25lZCBsb25nIGxvbmcgdGltZV9zeW5jX3RocmVzaCA9IDEwMDAwMDsKLQotc3RhdGljIERFRklORV9QRVJfQ1BVKHVuc2lnbmVkIGxvbmcgbG9uZywgdGltZV9vZmZzZXQpOwotc3RhdGljIERFRklORV9QRVJfQ1BVKHVuc2lnbmVkIGxvbmcgbG9uZywgcHJldl9jcHVfdGltZSk7Ci0KLS8qCi0gKiBHbG9iYWwgbG9jayB3aGljaCB3ZSB0YWtlIGV2ZXJ5IG5vdyBhbmQgdGhlbiB0byBzeW5jaHJvbml6ZQotICogdGhlIENQVXMgdGltZS4gVGhpcyBtZXRob2QgaXMgbm90IHdhcnAtc2FmZSwgYnV0IGl0J3MgZ29vZAotICogZW5vdWdoIHRvIHN5bmNocm9uaXplIHNsb3dseSBkaXZlcmdpbmcgdGltZSBzb3VyY2VzIGFuZCB0aHVzCi0gKiBpdCdzIGdvb2QgZW5vdWdoIGZvciB0cmFjaW5nOgotICovCi1zdGF0aWMgREVGSU5FX1NQSU5MT0NLKHRpbWVfc3luY19sb2NrKTsKLXN0YXRpYyB1bnNpZ25lZCBsb25nIGxvbmcgcHJldl9nbG9iYWxfdGltZTsKLQotc3RhdGljIHVuc2lnbmVkIGxvbmcgbG9uZyBfX3N5bmNfY3B1X2Nsb2NrKHVuc2lnbmVkIGxvbmcgbG9uZyB0aW1lLCBpbnQgY3B1KQotewotCS8qCi0JICogV2Ugd2FudCB0aGlzIGlubGluZWQsIHRvIG5vdCBnZXQgdHJhY2VyIGZ1bmN0aW9uIGNhbGxzCi0JICogaW4gdGhpcyBjcml0aWNhbCBzZWN0aW9uOgotCSAqLwotCXNwaW5fYWNxdWlyZSgmdGltZV9zeW5jX2xvY2suZGVwX21hcCwgMCwgMCwgX1RISVNfSVBfKTsKLQlfX3Jhd19zcGluX2xvY2soJnRpbWVfc3luY19sb2NrLnJhd19sb2NrKTsKLQotCWlmICh0aW1lIDwgcHJldl9nbG9iYWxfdGltZSkgewotCQlwZXJfY3B1KHRpbWVfb2Zmc2V0LCBjcHUpICs9IHByZXZfZ2xvYmFsX3RpbWUgLSB0aW1lOwotCQl0aW1lID0gcHJldl9nbG9iYWxfdGltZTsKLQl9IGVsc2UgewotCQlwcmV2X2dsb2JhbF90aW1lID0gdGltZTsKLQl9Ci0KLQlfX3Jhd19zcGluX3VubG9jaygmdGltZV9zeW5jX2xvY2sucmF3X2xvY2spOwotCXNwaW5fcmVsZWFzZSgmdGltZV9zeW5jX2xvY2suZGVwX21hcCwgMSwgX1RISVNfSVBfKTsKLQotCXJldHVybiB0aW1lOwotfQotCi1zdGF0aWMgdW5zaWduZWQgbG9uZyBsb25nIF9fY3B1X2Nsb2NrKGludCBjcHUpCi17Ci0JdW5zaWduZWQgbG9uZyBsb25nIG5vdzsKLQotCS8qCi0JICogT25seSBjYWxsIHNjaGVkX2Nsb2NrKCkgaWYgdGhlIHNjaGVkdWxlciBoYXMgYWxyZWFkeSBiZWVuCi0JICogaW5pdGlhbGl6ZWQgKHNvbWUgY29kZSBtaWdodCBjYWxsIGNwdV9jbG9jaygpIHZlcnkgZWFybHkpOgotCSAqLwotCWlmICh1bmxpa2VseSghc2NoZWR1bGVyX3J1bm5pbmcpKQotCQlyZXR1cm4gMDsKLQotCW5vdyA9IHNjaGVkX2Nsb2NrX2NwdShjcHUpOwotCi0JcmV0dXJuIG5vdzsKLX0KLQotLyoKLSAqIEZvciBrZXJuZWwtaW50ZXJuYWwgdXNlOiBoaWdoLXNwZWVkIChidXQgc2xpZ2h0bHkgaW5jb3JyZWN0KSBwZXItY3B1Ci0gKiBjbG9jayBjb25zdHJ1Y3RlZCBmcm9tIHNjaGVkX2Nsb2NrKCk6Ci0gKi8KLXVuc2lnbmVkIGxvbmcgbG9uZyBjcHVfY2xvY2soaW50IGNwdSkKLXsKLQl1bnNpZ25lZCBsb25nIGxvbmcgcHJldl9jcHVfdGltZSwgdGltZSwgZGVsdGFfdGltZTsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCi0JbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOwotCXByZXZfY3B1X3RpbWUgPSBwZXJfY3B1KHByZXZfY3B1X3RpbWUsIGNwdSk7Ci0JdGltZSA9IF9fY3B1X2Nsb2NrKGNwdSkgKyBwZXJfY3B1KHRpbWVfb2Zmc2V0LCBjcHUpOwotCWRlbHRhX3RpbWUgPSB0aW1lLXByZXZfY3B1X3RpbWU7Ci0KLQlpZiAodW5saWtlbHkoZGVsdGFfdGltZSA+IHRpbWVfc3luY190aHJlc2gpKSB7Ci0JCXRpbWUgPSBfX3N5bmNfY3B1X2Nsb2NrKHRpbWUsIGNwdSk7Ci0JCXBlcl9jcHUocHJldl9jcHVfdGltZSwgY3B1KSA9IHRpbWU7Ci0JfQotCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKLQotCXJldHVybiB0aW1lOwotfQotRVhQT1JUX1NZTUJPTF9HUEwoY3B1X2Nsb2NrKTsKLQogI2lmbmRlZiBwcmVwYXJlX2FyY2hfc3dpdGNoCiAjIGRlZmluZSBwcmVwYXJlX2FyY2hfc3dpdGNoKG5leHQpCWRvIHsgfSB3aGlsZSAoMCkKICNlbmRpZgpAQCAtMTMxMywxNSArMTMwMCwxNSBAQAogCWlmICghdHNrX2lzX3BvbGxpbmcocnEtPmlkbGUpKQogCQlzbXBfc2VuZF9yZXNjaGVkdWxlKGNwdSk7CiB9Ci0jZW5kaWYKKyNlbmRpZiAvKiBDT05GSUdfTk9fSFogKi8KIAotI2Vsc2UKKyNlbHNlIC8qICFDT05GSUdfU01QICovCiBzdGF0aWMgdm9pZCBfX3Jlc2NoZWRfdGFzayhzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAsIGludCB0aWZfYml0KQogewogCWFzc2VydF9zcGluX2xvY2tlZCgmdGFza19ycShwKS0+bG9jayk7CiAJc2V0X3Rza190aHJlYWRfZmxhZyhwLCB0aWZfYml0KTsKIH0KLSNlbmRpZgorI2VuZGlmIC8qIENPTkZJR19TTVAgKi8KIAogI2lmIEJJVFNfUEVSX0xPTkcgPT0gMzIKICMgZGVmaW5lIFdNVUxUX0NPTlNUCSh+MFVMKQpAQCAtMTMzNiw2ICsxMzIzLDkgQEAKICAqLwogI2RlZmluZSBTUlIoeCwgeSkgKCgoeCkgKyAoMVVMIDw8ICgoeSkgLSAxKSkpID4+ICh5KSkKIAorLyoKKyAqIGRlbHRhICo9IHdlaWdodCAvIGx3CisgKi8KIHN0YXRpYyB1bnNpZ25lZCBsb25nCiBjYWxjX2RlbHRhX21pbmUodW5zaWduZWQgbG9uZyBkZWx0YV9leGVjLCB1bnNpZ25lZCBsb25nIHdlaWdodCwKIAkJc3RydWN0IGxvYWRfd2VpZ2h0ICpsdykKQEAgLTEzNjMsMTIgKzEzNTMsNiBAQAogCXJldHVybiAodW5zaWduZWQgbG9uZyltaW4odG1wLCAodTY0KSh1bnNpZ25lZCBsb25nKUxPTkdfTUFYKTsKIH0KIAotc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nCi1jYWxjX2RlbHRhX2ZhaXIodW5zaWduZWQgbG9uZyBkZWx0YV9leGVjLCBzdHJ1Y3QgbG9hZF93ZWlnaHQgKmx3KQotewotCXJldHVybiBjYWxjX2RlbHRhX21pbmUoZGVsdGFfZXhlYywgTklDRV8wX0xPQUQsIGx3KTsKLX0KLQogc3RhdGljIGlubGluZSB2b2lkIHVwZGF0ZV9sb2FkX2FkZChzdHJ1Y3QgbG9hZF93ZWlnaHQgKmx3LCB1bnNpZ25lZCBsb25nIGluYykKIHsKIAlsdy0+d2VpZ2h0ICs9IGluYzsKQEAgLTE0NzksMTggKzE0NjMsMjEyIEBACiAjaWZkZWYgQ09ORklHX1NNUAogc3RhdGljIHVuc2lnbmVkIGxvbmcgc291cmNlX2xvYWQoaW50IGNwdSwgaW50IHR5cGUpOwogc3RhdGljIHVuc2lnbmVkIGxvbmcgdGFyZ2V0X2xvYWQoaW50IGNwdSwgaW50IHR5cGUpOwotc3RhdGljIHVuc2lnbmVkIGxvbmcgY3B1X2F2Z19sb2FkX3Blcl90YXNrKGludCBjcHUpOwogc3RhdGljIGludCB0YXNrX2hvdChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAsIHU2NCBub3csIHN0cnVjdCBzY2hlZF9kb21haW4gKnNkKTsKLSNlbHNlIC8qIENPTkZJR19TTVAgKi8KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgY3B1X2F2Z19sb2FkX3Blcl90YXNrKGludCBjcHUpCit7CisJc3RydWN0IHJxICpycSA9IGNwdV9ycShjcHUpOworCisJaWYgKHJxLT5ucl9ydW5uaW5nKQorCQlycS0+YXZnX2xvYWRfcGVyX3Rhc2sgPSBycS0+bG9hZC53ZWlnaHQgLyBycS0+bnJfcnVubmluZzsKKworCXJldHVybiBycS0+YXZnX2xvYWRfcGVyX3Rhc2s7Cit9CisKKyNpZmRlZiBDT05GSUdfRkFJUl9HUk9VUF9TQ0hFRAorCit0eXBlZGVmIHZvaWQgKCp0Z192aXNpdG9yKShzdHJ1Y3QgdGFza19ncm91cCAqLCBpbnQsIHN0cnVjdCBzY2hlZF9kb21haW4gKik7CisKKy8qCisgKiBJdGVyYXRlIHRoZSBmdWxsIHRyZWUsIGNhbGxpbmcgQGRvd24gd2hlbiBmaXJzdCBlbnRlcmluZyBhIG5vZGUgYW5kIEB1cCB3aGVuCisgKiBsZWF2aW5nIGl0IGZvciB0aGUgZmluYWwgdGltZS4KKyAqLworc3RhdGljIHZvaWQKK3dhbGtfdGdfdHJlZSh0Z192aXNpdG9yIGRvd24sIHRnX3Zpc2l0b3IgdXAsIGludCBjcHUsIHN0cnVjdCBzY2hlZF9kb21haW4gKnNkKQoreworCXN0cnVjdCB0YXNrX2dyb3VwICpwYXJlbnQsICpjaGlsZDsKKworCXJjdV9yZWFkX2xvY2soKTsKKwlwYXJlbnQgPSAmcm9vdF90YXNrX2dyb3VwOworZG93bjoKKwkoKmRvd24pKHBhcmVudCwgY3B1LCBzZCk7CisJbGlzdF9mb3JfZWFjaF9lbnRyeV9yY3UoY2hpbGQsICZwYXJlbnQtPmNoaWxkcmVuLCBzaWJsaW5ncykgeworCQlwYXJlbnQgPSBjaGlsZDsKKwkJZ290byBkb3duOworCit1cDoKKwkJY29udGludWU7CisJfQorCSgqdXApKHBhcmVudCwgY3B1LCBzZCk7CisKKwljaGlsZCA9IHBhcmVudDsKKwlwYXJlbnQgPSBwYXJlbnQtPnBhcmVudDsKKwlpZiAocGFyZW50KQorCQlnb3RvIHVwOworCXJjdV9yZWFkX3VubG9jaygpOworfQorCitzdGF0aWMgdm9pZCBfX3NldF9zZV9zaGFyZXMoc3RydWN0IHNjaGVkX2VudGl0eSAqc2UsIHVuc2lnbmVkIGxvbmcgc2hhcmVzKTsKKworLyoKKyAqIENhbGN1bGF0ZSBhbmQgc2V0IHRoZSBjcHUncyBncm91cCBzaGFyZXMuCisgKi8KK3N0YXRpYyB2b2lkCitfX3VwZGF0ZV9ncm91cF9zaGFyZXNfY3B1KHN0cnVjdCB0YXNrX2dyb3VwICp0ZywgaW50IGNwdSwKKwkJCSAgdW5zaWduZWQgbG9uZyBzZF9zaGFyZXMsIHVuc2lnbmVkIGxvbmcgc2RfcnFfd2VpZ2h0KQoreworCWludCBib29zdCA9IDA7CisJdW5zaWduZWQgbG9uZyBzaGFyZXM7CisJdW5zaWduZWQgbG9uZyBycV93ZWlnaHQ7CisKKwlpZiAoIXRnLT5zZVtjcHVdKQorCQlyZXR1cm47CisKKwlycV93ZWlnaHQgPSB0Zy0+Y2ZzX3JxW2NwdV0tPmxvYWQud2VpZ2h0OworCisJLyoKKwkgKiBJZiB0aGVyZSBhcmUgY3VycmVudGx5IG5vIHRhc2tzIG9uIHRoZSBjcHUgcHJldGVuZCB0aGVyZSBpcyBvbmUgb2YKKwkgKiBhdmVyYWdlIGxvYWQgc28gdGhhdCB3aGVuIGEgbmV3IHRhc2sgZ2V0cyB0byBydW4gaGVyZSBpdCB3aWxsIG5vdAorCSAqIGdldCBkZWxheWVkIGJ5IGdyb3VwIHN0YXJ2YXRpb24uCisJICovCisJaWYgKCFycV93ZWlnaHQpIHsKKwkJYm9vc3QgPSAxOworCQlycV93ZWlnaHQgPSBOSUNFXzBfTE9BRDsKKwl9CisKKwlpZiAodW5saWtlbHkocnFfd2VpZ2h0ID4gc2RfcnFfd2VpZ2h0KSkKKwkJcnFfd2VpZ2h0ID0gc2RfcnFfd2VpZ2h0OworCisJLyoKKwkgKiAgICAgICAgICAgXFN1bSBzaGFyZXMgKiBycV93ZWlnaHQKKwkgKiBzaGFyZXMgPSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKwkgKiAgICAgICAgICAgICAgIFxTdW0gcnFfd2VpZ2h0CisJICoKKwkgKi8KKwlzaGFyZXMgPSAoc2Rfc2hhcmVzICogcnFfd2VpZ2h0KSAvIChzZF9ycV93ZWlnaHQgKyAxKTsKKworCS8qCisJICogcmVjb3JkIHRoZSBhY3R1YWwgbnVtYmVyIG9mIHNoYXJlcywgbm90IHRoZSBib29zdGVkIGFtb3VudC4KKwkgKi8KKwl0Zy0+Y2ZzX3JxW2NwdV0tPnNoYXJlcyA9IGJvb3N0ID8gMCA6IHNoYXJlczsKKwl0Zy0+Y2ZzX3JxW2NwdV0tPnJxX3dlaWdodCA9IHJxX3dlaWdodDsKKworCWlmIChzaGFyZXMgPCBNSU5fU0hBUkVTKQorCQlzaGFyZXMgPSBNSU5fU0hBUkVTOworCWVsc2UgaWYgKHNoYXJlcyA+IE1BWF9TSEFSRVMpCisJCXNoYXJlcyA9IE1BWF9TSEFSRVM7CisKKwlfX3NldF9zZV9zaGFyZXModGctPnNlW2NwdV0sIHNoYXJlcyk7Cit9CisKKy8qCisgKiBSZS1jb21wdXRlIHRoZSB0YXNrIGdyb3VwIHRoZWlyIHBlciBjcHUgc2hhcmVzIG92ZXIgdGhlIGdpdmVuIGRvbWFpbi4KKyAqIFRoaXMgbmVlZHMgdG8gYmUgZG9uZSBpbiBhIGJvdHRvbS11cCBmYXNoaW9uIGJlY2F1c2UgdGhlIHJxIHdlaWdodCBvZiBhCisgKiBwYXJlbnQgZ3JvdXAgZGVwZW5kcyBvbiB0aGUgc2hhcmVzIG9mIGl0cyBjaGlsZCBncm91cHMuCisgKi8KK3N0YXRpYyB2b2lkCit0Z19zaGFyZXNfdXAoc3RydWN0IHRhc2tfZ3JvdXAgKnRnLCBpbnQgY3B1LCBzdHJ1Y3Qgc2NoZWRfZG9tYWluICpzZCkKK3sKKwl1bnNpZ25lZCBsb25nIHJxX3dlaWdodCA9IDA7CisJdW5zaWduZWQgbG9uZyBzaGFyZXMgPSAwOworCWludCBpOworCisJZm9yX2VhY2hfY3B1X21hc2soaSwgc2QtPnNwYW4pIHsKKwkJcnFfd2VpZ2h0ICs9IHRnLT5jZnNfcnFbaV0tPmxvYWQud2VpZ2h0OworCQlzaGFyZXMgKz0gdGctPmNmc19ycVtpXS0+c2hhcmVzOworCX0KKworCWlmICgoIXNoYXJlcyAmJiBycV93ZWlnaHQpIHx8IHNoYXJlcyA+IHRnLT5zaGFyZXMpCisJCXNoYXJlcyA9IHRnLT5zaGFyZXM7CisKKwlpZiAoIXNkLT5wYXJlbnQgfHwgIShzZC0+cGFyZW50LT5mbGFncyAmIFNEX0xPQURfQkFMQU5DRSkpCisJCXNoYXJlcyA9IHRnLT5zaGFyZXM7CisKKwlpZiAoIXJxX3dlaWdodCkKKwkJcnFfd2VpZ2h0ID0gY3B1c193ZWlnaHQoc2QtPnNwYW4pICogTklDRV8wX0xPQUQ7CisKKwlmb3JfZWFjaF9jcHVfbWFzayhpLCBzZC0+c3BhbikgeworCQlzdHJ1Y3QgcnEgKnJxID0gY3B1X3JxKGkpOworCQl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJCXNwaW5fbG9ja19pcnFzYXZlKCZycS0+bG9jaywgZmxhZ3MpOworCQlfX3VwZGF0ZV9ncm91cF9zaGFyZXNfY3B1KHRnLCBpLCBzaGFyZXMsIHJxX3dlaWdodCk7CisJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnJxLT5sb2NrLCBmbGFncyk7CisJfQorfQorCisvKgorICogQ29tcHV0ZSB0aGUgY3B1J3MgaGllcmFyY2hpY2FsIGxvYWQgZmFjdG9yIGZvciBlYWNoIHRhc2sgZ3JvdXAuCisgKiBUaGlzIG5lZWRzIHRvIGJlIGRvbmUgaW4gYSB0b3AtZG93biBmYXNoaW9uIGJlY2F1c2UgdGhlIGxvYWQgb2YgYSBjaGlsZAorICogZ3JvdXAgaXMgYSBmcmFjdGlvbiBvZiBpdHMgcGFyZW50cyBsb2FkLgorICovCitzdGF0aWMgdm9pZAordGdfbG9hZF9kb3duKHN0cnVjdCB0YXNrX2dyb3VwICp0ZywgaW50IGNwdSwgc3RydWN0IHNjaGVkX2RvbWFpbiAqc2QpCit7CisJdW5zaWduZWQgbG9uZyBsb2FkOworCisJaWYgKCF0Zy0+cGFyZW50KSB7CisJCWxvYWQgPSBjcHVfcnEoY3B1KS0+bG9hZC53ZWlnaHQ7CisJfSBlbHNlIHsKKwkJbG9hZCA9IHRnLT5wYXJlbnQtPmNmc19ycVtjcHVdLT5oX2xvYWQ7CisJCWxvYWQgKj0gdGctPmNmc19ycVtjcHVdLT5zaGFyZXM7CisJCWxvYWQgLz0gdGctPnBhcmVudC0+Y2ZzX3JxW2NwdV0tPmxvYWQud2VpZ2h0ICsgMTsKKwl9CisKKwl0Zy0+Y2ZzX3JxW2NwdV0tPmhfbG9hZCA9IGxvYWQ7Cit9CisKK3N0YXRpYyB2b2lkCit0Z19ub3Aoc3RydWN0IHRhc2tfZ3JvdXAgKnRnLCBpbnQgY3B1LCBzdHJ1Y3Qgc2NoZWRfZG9tYWluICpzZCkKK3sKK30KKworc3RhdGljIHZvaWQgdXBkYXRlX3NoYXJlcyhzdHJ1Y3Qgc2NoZWRfZG9tYWluICpzZCkKK3sKKwl1NjQgbm93ID0gY3B1X2Nsb2NrKHJhd19zbXBfcHJvY2Vzc29yX2lkKCkpOworCXM2NCBlbGFwc2VkID0gbm93IC0gc2QtPmxhc3RfdXBkYXRlOworCisJaWYgKGVsYXBzZWQgPj0gKHM2NCkodTY0KXN5c2N0bF9zY2hlZF9zaGFyZXNfcmF0ZWxpbWl0KSB7CisJCXNkLT5sYXN0X3VwZGF0ZSA9IG5vdzsKKwkJd2Fsa190Z190cmVlKHRnX25vcCwgdGdfc2hhcmVzX3VwLCAwLCBzZCk7CisJfQorfQorCitzdGF0aWMgdm9pZCB1cGRhdGVfc2hhcmVzX2xvY2tlZChzdHJ1Y3QgcnEgKnJxLCBzdHJ1Y3Qgc2NoZWRfZG9tYWluICpzZCkKK3sKKwlzcGluX3VubG9jaygmcnEtPmxvY2spOworCXVwZGF0ZV9zaGFyZXMoc2QpOworCXNwaW5fbG9jaygmcnEtPmxvY2spOworfQorCitzdGF0aWMgdm9pZCB1cGRhdGVfaF9sb2FkKGludCBjcHUpCit7CisJd2Fsa190Z190cmVlKHRnX2xvYWRfZG93biwgdGdfbm9wLCBjcHUsIE5VTEwpOworfQorCisjZWxzZQorCitzdGF0aWMgaW5saW5lIHZvaWQgdXBkYXRlX3NoYXJlcyhzdHJ1Y3Qgc2NoZWRfZG9tYWluICpzZCkKK3sKK30KKworc3RhdGljIGlubGluZSB2b2lkIHVwZGF0ZV9zaGFyZXNfbG9ja2VkKHN0cnVjdCBycSAqcnEsIHN0cnVjdCBzY2hlZF9kb21haW4gKnNkKQoreworfQorCisjZW5kaWYKKworI2VuZGlmCiAKICNpZmRlZiBDT05GSUdfRkFJUl9HUk9VUF9TQ0hFRAogc3RhdGljIHZvaWQgY2ZzX3JxX3NldF9zaGFyZXMoc3RydWN0IGNmc19ycSAqY2ZzX3JxLCB1bnNpZ25lZCBsb25nIHNoYXJlcykKIHsKKyNpZmRlZiBDT05GSUdfU01QCisJY2ZzX3JxLT5zaGFyZXMgPSBzaGFyZXM7CisjZW5kaWYKIH0KICNlbmRpZgogCi0jZW5kaWYgLyogQ09ORklHX1NNUCAqLwotCiAjaW5jbHVkZSAic2NoZWRfc3RhdHMuaCIKICNpbmNsdWRlICJzY2hlZF9pZGxldGFzay5jIgogI2luY2x1ZGUgInNjaGVkX2ZhaXIuYyIKQEAgLTE1MDAsMjcgKzE2NzgsMTcgQEAKICNlbmRpZgogCiAjZGVmaW5lIHNjaGVkX2NsYXNzX2hpZ2hlc3QgKCZydF9zY2hlZF9jbGFzcykKKyNkZWZpbmUgZm9yX2VhY2hfY2xhc3MoY2xhc3MpIFwKKyAgIGZvciAoY2xhc3MgPSBzY2hlZF9jbGFzc19oaWdoZXN0OyBjbGFzczsgY2xhc3MgPSBjbGFzcy0+bmV4dCkKIAotc3RhdGljIGlubGluZSB2b2lkIGluY19sb2FkKHN0cnVjdCBycSAqcnEsIGNvbnN0IHN0cnVjdCB0YXNrX3N0cnVjdCAqcCkKLXsKLQl1cGRhdGVfbG9hZF9hZGQoJnJxLT5sb2FkLCBwLT5zZS5sb2FkLndlaWdodCk7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCBkZWNfbG9hZChzdHJ1Y3QgcnEgKnJxLCBjb25zdCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKnApCi17Ci0JdXBkYXRlX2xvYWRfc3ViKCZycS0+bG9hZCwgcC0+c2UubG9hZC53ZWlnaHQpOwotfQotCi1zdGF0aWMgdm9pZCBpbmNfbnJfcnVubmluZyhzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAsIHN0cnVjdCBycSAqcnEpCitzdGF0aWMgdm9pZCBpbmNfbnJfcnVubmluZyhzdHJ1Y3QgcnEgKnJxKQogewogCXJxLT5ucl9ydW5uaW5nKys7Ci0JaW5jX2xvYWQocnEsIHApOwogfQogCi1zdGF0aWMgdm9pZCBkZWNfbnJfcnVubmluZyhzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAsIHN0cnVjdCBycSAqcnEpCitzdGF0aWMgdm9pZCBkZWNfbnJfcnVubmluZyhzdHJ1Y3QgcnEgKnJxKQogewogCXJxLT5ucl9ydW5uaW5nLS07Ci0JZGVjX2xvYWQocnEsIHApOwogfQogCiBzdGF0aWMgdm9pZCBzZXRfbG9hZF93ZWlnaHQoc3RydWN0IHRhc2tfc3RydWN0ICpwKQpAQCAtMTU0NCw2ICsxNzEyLDEyIEBACiAJcC0+c2UubG9hZC5pbnZfd2VpZ2h0ID0gcHJpb190b193bXVsdFtwLT5zdGF0aWNfcHJpbyAtIE1BWF9SVF9QUklPXTsKIH0KIAorc3RhdGljIHZvaWQgdXBkYXRlX2F2Zyh1NjQgKmF2ZywgdTY0IHNhbXBsZSkKK3sKKwlzNjQgZGlmZiA9IHNhbXBsZSAtICphdmc7CisJKmF2ZyArPSBkaWZmID4+IDM7Cit9CisKIHN0YXRpYyB2b2lkIGVucXVldWVfdGFzayhzdHJ1Y3QgcnEgKnJxLCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAsIGludCB3YWtldXApCiB7CiAJc2NoZWRfaW5mb19xdWV1ZWQocCk7CkBAIC0xNTUzLDYgKzE3MjcsMTMgQEAKIAogc3RhdGljIHZvaWQgZGVxdWV1ZV90YXNrKHN0cnVjdCBycSAqcnEsIHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgaW50IHNsZWVwKQogeworCWlmIChzbGVlcCAmJiBwLT5zZS5sYXN0X3dha2V1cCkgeworCQl1cGRhdGVfYXZnKCZwLT5zZS5hdmdfb3ZlcmxhcCwKKwkJCSAgIHAtPnNlLnN1bV9leGVjX3J1bnRpbWUgLSBwLT5zZS5sYXN0X3dha2V1cCk7CisJCXAtPnNlLmxhc3Rfd2FrZXVwID0gMDsKKwl9CisKKwlzY2hlZF9pbmZvX2RlcXVldWVkKHApOwogCXAtPnNjaGVkX2NsYXNzLT5kZXF1ZXVlX3Rhc2socnEsIHAsIHNsZWVwKTsKIAlwLT5zZS5vbl9ycSA9IDA7CiB9CkBAIC0xNjEyLDcgKzE3OTMsNyBAQAogCQlycS0+bnJfdW5pbnRlcnJ1cHRpYmxlLS07CiAKIAllbnF1ZXVlX3Rhc2socnEsIHAsIHdha2V1cCk7Ci0JaW5jX25yX3J1bm5pbmcocCwgcnEpOworCWluY19ucl9ydW5uaW5nKHJxKTsKIH0KIAogLyoKQEAgLTE2MjQsNyArMTgwNSw3IEBACiAJCXJxLT5ucl91bmludGVycnVwdGlibGUrKzsKIAogCWRlcXVldWVfdGFzayhycSwgcCwgc2xlZXApOwotCWRlY19ucl9ydW5uaW5nKHAsIHJxKTsKKwlkZWNfbnJfcnVubmluZyhycSk7CiB9CiAKIC8qKgpAQCAtMTYzNiwxMiArMTgxNyw2IEBACiAJcmV0dXJuIGNwdV9jdXJyKHRhc2tfY3B1KHApKSA9PSBwOwogfQogCi0vKiBVc2VkIGluc3RlYWQgb2Ygc291cmNlX2xvYWQgd2hlbiB3ZSBrbm93IHRoZSB0eXBlID09IDAgKi8KLXVuc2lnbmVkIGxvbmcgd2VpZ2h0ZWRfY3B1bG9hZChjb25zdCBpbnQgY3B1KQotewotCXJldHVybiBjcHVfcnEoY3B1KS0+bG9hZC53ZWlnaHQ7Ci19Ci0KIHN0YXRpYyBpbmxpbmUgdm9pZCBfX3NldF90YXNrX2NwdShzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAsIHVuc2lnbmVkIGludCBjcHUpCiB7CiAJc2V0X3Rhc2tfcnEocCwgY3B1KTsKQEAgLTE2NzAsNiArMTg0NSwxMiBAQAogCiAjaWZkZWYgQ09ORklHX1NNUAogCisvKiBVc2VkIGluc3RlYWQgb2Ygc291cmNlX2xvYWQgd2hlbiB3ZSBrbm93IHRoZSB0eXBlID09IDAgKi8KK3N0YXRpYyB1bnNpZ25lZCBsb25nIHdlaWdodGVkX2NwdWxvYWQoY29uc3QgaW50IGNwdSkKK3sKKwlyZXR1cm4gY3B1X3JxKGNwdSktPmxvYWQud2VpZ2h0OworfQorCiAvKgogICogSXMgdGhpcyB0YXNrIGxpa2VseSBjYWNoZS1ob3Q6CiAgKi8KQEAgLTE4ODAsNyArMjA2MSw3IEBACiAJc3RydWN0IHJxICpycSA9IGNwdV9ycShjcHUpOwogCXVuc2lnbmVkIGxvbmcgdG90YWwgPSB3ZWlnaHRlZF9jcHVsb2FkKGNwdSk7CiAKLQlpZiAodHlwZSA9PSAwKQorCWlmICh0eXBlID09IDAgfHwgIXNjaGVkX2ZlYXQoTEJfQklBUykpCiAJCXJldHVybiB0b3RhbDsKIAogCXJldHVybiBtaW4ocnEtPmNwdV9sb2FkW3R5cGUtMV0sIHRvdGFsKTsKQEAgLTE4OTUsMjUgKzIwNzYsMTMgQEAKIAlzdHJ1Y3QgcnEgKnJxID0gY3B1X3JxKGNwdSk7CiAJdW5zaWduZWQgbG9uZyB0b3RhbCA9IHdlaWdodGVkX2NwdWxvYWQoY3B1KTsKIAotCWlmICh0eXBlID09IDApCisJaWYgKHR5cGUgPT0gMCB8fCAhc2NoZWRfZmVhdChMQl9CSUFTKSkKIAkJcmV0dXJuIHRvdGFsOwogCiAJcmV0dXJuIG1heChycS0+Y3B1X2xvYWRbdHlwZS0xXSwgdG90YWwpOwogfQogCiAvKgotICogUmV0dXJuIHRoZSBhdmVyYWdlIGxvYWQgcGVyIHRhc2sgb24gdGhlIGNwdSdzIHJ1biBxdWV1ZQotICovCi1zdGF0aWMgdW5zaWduZWQgbG9uZyBjcHVfYXZnX2xvYWRfcGVyX3Rhc2soaW50IGNwdSkKLXsKLQlzdHJ1Y3QgcnEgKnJxID0gY3B1X3JxKGNwdSk7Ci0JdW5zaWduZWQgbG9uZyB0b3RhbCA9IHdlaWdodGVkX2NwdWxvYWQoY3B1KTsKLQl1bnNpZ25lZCBsb25nIG4gPSBycS0+bnJfcnVubmluZzsKLQotCXJldHVybiBuID8gdG90YWwgLyBuIDogU0NIRURfTE9BRF9TQ0FMRTsKLX0KLQotLyoKICAqIGZpbmRfaWRsZXN0X2dyb3VwIGZpbmRzIGFuZCByZXR1cm5zIHRoZSBsZWFzdCBidXN5IENQVSBncm91cCB3aXRoaW4gdGhlCiAgKiBkb21haW4uCiAgKi8KQEAgLTIwMTksNiArMjE4OCw5IEBACiAJCQlzZCA9IHRtcDsKIAl9CiAKKwlpZiAoc2QpCisJCXVwZGF0ZV9zaGFyZXMoc2QpOworCiAJd2hpbGUgKHNkKSB7CiAJCWNwdW1hc2tfdCBzcGFuLCB0bXBtYXNrOwogCQlzdHJ1Y3Qgc2NoZWRfZ3JvdXAgKmdyb3VwOwpAQCAtMjA4NSw2ICsyMjU3LDIyIEBACiAJaWYgKCFzY2hlZF9mZWF0KFNZTkNfV0FLRVVQUykpCiAJCXN5bmMgPSAwOwogCisjaWZkZWYgQ09ORklHX1NNUAorCWlmIChzY2hlZF9mZWF0KExCX1dBS0VVUF9VUERBVEUpKSB7CisJCXN0cnVjdCBzY2hlZF9kb21haW4gKnNkOworCisJCXRoaXNfY3B1ID0gcmF3X3NtcF9wcm9jZXNzb3JfaWQoKTsKKwkJY3B1ID0gdGFza19jcHUocCk7CisKKwkJZm9yX2VhY2hfZG9tYWluKHRoaXNfY3B1LCBzZCkgeworCQkJaWYgKGNwdV9pc3NldChjcHUsIHNkLT5zcGFuKSkgeworCQkJCXVwZGF0ZV9zaGFyZXMoc2QpOworCQkJCWJyZWFrOworCQkJfQorCQl9CisJfQorI2VuZGlmCisKIAlzbXBfd21iKCk7CiAJcnEgPSB0YXNrX3JxX2xvY2socCwgJmZsYWdzKTsKIAlvbGRfc3RhdGUgPSBwLT5zdGF0ZTsKQEAgLTIxMzEsNyArMjMxOSw3IEBACiAJCQl9CiAJCX0KIAl9Ci0jZW5kaWYKKyNlbmRpZiAvKiBDT05GSUdfU0NIRURTVEFUUyAqLwogCiBvdXRfYWN0aXZhdGU6CiAjZW5kaWYgLyogQ09ORklHX1NNUCAqLwpAQCAtMjE0OSw2ICsyMzM3LDkgQEAKIAlzdWNjZXNzID0gMTsKIAogb3V0X3J1bm5pbmc6CisJdHJhY2VfbWFyayhrZXJuZWxfc2NoZWRfd2FrZXVwLAorCQkicGlkICVkIHN0YXRlICVsZCAjIyBycSAlcCB0YXNrICVwIHJxLT5jdXJyICVwIiwKKwkJcC0+cGlkLCBwLT5zdGF0ZSwgcnEsIHAsIHJxLT5jdXJyKTsKIAljaGVja19wcmVlbXB0X2N1cnIocnEsIHApOwogCiAJcC0+c3RhdGUgPSBUQVNLX1JVTk5JTkc7CkBAIC0yMTU3LDYgKzIzNDgsOCBAQAogCQlwLT5zY2hlZF9jbGFzcy0+dGFza193YWtlX3VwKHJxLCBwKTsKICNlbmRpZgogb3V0OgorCWN1cnJlbnQtPnNlLmxhc3Rfd2FrZXVwID0gY3VycmVudC0+c2Uuc3VtX2V4ZWNfcnVudGltZTsKKwogCXRhc2tfcnFfdW5sb2NrKHJxLCAmZmxhZ3MpOwogCiAJcmV0dXJuIHN1Y2Nlc3M7CkBAIC0yMjc3LDggKzI0NzAsMTEgQEAKIAkJICogbWFuYWdlbWVudCAoaWYgYW55KToKIAkJICovCiAJCXAtPnNjaGVkX2NsYXNzLT50YXNrX25ldyhycSwgcCk7Ci0JCWluY19ucl9ydW5uaW5nKHAsIHJxKTsKKwkJaW5jX25yX3J1bm5pbmcocnEpOwogCX0KKwl0cmFjZV9tYXJrKGtlcm5lbF9zY2hlZF93YWtldXBfbmV3LAorCQkicGlkICVkIHN0YXRlICVsZCAjIyBycSAlcCB0YXNrICVwIHJxLT5jdXJyICVwIiwKKwkJcC0+cGlkLCBwLT5zdGF0ZSwgcnEsIHAsIHJxLT5jdXJyKTsKIAljaGVja19wcmVlbXB0X2N1cnIocnEsIHApOwogI2lmZGVmIENPTkZJR19TTVAKIAlpZiAocC0+c2NoZWRfY2xhc3MtPnRhc2tfd2FrZV91cCkKQEAgLTIzMzEsNyArMjUyNyw3IEBACiAJCW5vdGlmaWVyLT5vcHMtPnNjaGVkX291dChub3RpZmllciwgbmV4dCk7CiB9CiAKLSNlbHNlCisjZWxzZSAvKiAhQ09ORklHX1BSRUVNUFRfTk9USUZJRVJTICovCiAKIHN0YXRpYyB2b2lkIGZpcmVfc2NoZWRfaW5fcHJlZW1wdF9ub3RpZmllcnMoc3RydWN0IHRhc2tfc3RydWN0ICpjdXJyKQogewpAQCAtMjM0Myw3ICsyNTM5LDcgQEAKIHsKIH0KIAotI2VuZGlmCisjZW5kaWYgLyogQ09ORklHX1BSRUVNUFRfTk9USUZJRVJTICovCiAKIC8qKgogICogcHJlcGFyZV90YXNrX3N3aXRjaCAtIHByZXBhcmUgdG8gc3dpdGNoIHRhc2tzCkBAIC0yNDUxLDYgKzI2NDcsMTEgQEAKIAlzdHJ1Y3QgbW1fc3RydWN0ICptbSwgKm9sZG1tOwogCiAJcHJlcGFyZV90YXNrX3N3aXRjaChycSwgcHJldiwgbmV4dCk7CisJdHJhY2VfbWFyayhrZXJuZWxfc2NoZWRfc2NoZWR1bGUsCisJCSJwcmV2X3BpZCAlZCBuZXh0X3BpZCAlZCBwcmV2X3N0YXRlICVsZCAiCisJCSIjIyBycSAlcCBwcmV2ICVwIG5leHQgJXAiLAorCQlwcmV2LT5waWQsIG5leHQtPnBpZCwgcHJldi0+c3RhdGUsCisJCXJxLCBwcmV2LCBuZXh0KTsKIAltbSA9IG5leHQtPm1tOwogCW9sZG1tID0gcHJldi0+YWN0aXZlX21tOwogCS8qCkBAIC0yNzg1LDcgKzI5ODYsNyBAQAogCSAgICAgIGVudW0gY3B1X2lkbGVfdHlwZSBpZGxlLCBpbnQgKmFsbF9waW5uZWQsCiAJICAgICAgaW50ICp0aGlzX2Jlc3RfcHJpbywgc3RydWN0IHJxX2l0ZXJhdG9yICppdGVyYXRvcikKIHsKLQlpbnQgbG9vcHMgPSAwLCBwdWxsZWQgPSAwLCBwaW5uZWQgPSAwLCBza2lwX2Zvcl9sb2FkOworCWludCBsb29wcyA9IDAsIHB1bGxlZCA9IDAsIHBpbm5lZCA9IDA7CiAJc3RydWN0IHRhc2tfc3RydWN0ICpwOwogCWxvbmcgcmVtX2xvYWRfbW92ZSA9IG1heF9sb2FkX21vdmU7CiAKQEAgLTI4MDEsMTQgKzMwMDIsOCBAQAogbmV4dDoKIAlpZiAoIXAgfHwgbG9vcHMrKyA+IHN5c2N0bF9zY2hlZF9ucl9taWdyYXRlKQogCQlnb3RvIG91dDsKLQkvKgotCSAqIFRvIGhlbHAgZGlzdHJpYnV0ZSBoaWdoIHByaW9yaXR5IHRhc2tzIGFjcm9zcyBDUFVzIHdlIGRvbid0Ci0JICogc2tpcCBhIHRhc2sgaWYgaXQgd2lsbCBiZSB0aGUgaGlnaGVzdCBwcmlvcml0eSB0YXNrIChpLmUuIHNtYWxsZXN0Ci0JICogcHJpbyB2YWx1ZSkgb24gaXRzIG5ldyBxdWV1ZSByZWdhcmRsZXNzIG9mIGl0cyBsb2FkIHdlaWdodAotCSAqLwotCXNraXBfZm9yX2xvYWQgPSAocC0+c2UubG9hZC53ZWlnaHQgPj4gMSkgPiByZW1fbG9hZF9tb3ZlICsKLQkJCQkJCQkgU0NIRURfTE9BRF9TQ0FMRV9GVVpaOwotCWlmICgoc2tpcF9mb3JfbG9hZCAmJiBwLT5wcmlvID49ICp0aGlzX2Jlc3RfcHJpbykgfHwKKworCWlmICgocC0+c2UubG9hZC53ZWlnaHQgPj4gMSkgPiByZW1fbG9hZF9tb3ZlIHx8CiAJICAgICFjYW5fbWlncmF0ZV90YXNrKHAsIGJ1c2llc3QsIHRoaXNfY3B1LCBzZCwgaWRsZSwgJnBpbm5lZCkpIHsKIAkJcCA9IGl0ZXJhdG9yLT5uZXh0KGl0ZXJhdG9yLT5hcmcpOwogCQlnb3RvIG5leHQ7CkBAIC0yODYzLDYgKzMwNTgsMTAgQEAKIAkJCQltYXhfbG9hZF9tb3ZlIC0gdG90YWxfbG9hZF9tb3ZlZCwKIAkJCQlzZCwgaWRsZSwgYWxsX3Bpbm5lZCwgJnRoaXNfYmVzdF9wcmlvKTsKIAkJY2xhc3MgPSBjbGFzcy0+bmV4dDsKKworCQlpZiAoaWRsZSA9PSBDUFVfTkVXTFlfSURMRSAmJiB0aGlzX3JxLT5ucl9ydW5uaW5nKQorCQkJYnJlYWs7CisKIAl9IHdoaWxlIChjbGFzcyAmJiBtYXhfbG9hZF9tb3ZlID4gdG90YWxfbG9hZF9tb3ZlZCk7CiAKIAlyZXR1cm4gdG90YWxfbG9hZF9tb3ZlZCA+IDA7CkBAIC0yOTM5LDYgKzMxMzgsNyBAQAogCW1heF9sb2FkID0gdGhpc19sb2FkID0gdG90YWxfbG9hZCA9IHRvdGFsX3B3ciA9IDA7CiAJYnVzaWVzdF9sb2FkX3Blcl90YXNrID0gYnVzaWVzdF9ucl9ydW5uaW5nID0gMDsKIAl0aGlzX2xvYWRfcGVyX3Rhc2sgPSB0aGlzX25yX3J1bm5pbmcgPSAwOworCiAJaWYgKGlkbGUgPT0gQ1BVX05PVF9JRExFKQogCQlsb2FkX2lkeCA9IHNkLT5idXN5X2lkeDsKIAllbHNlIGlmIChpZGxlID09IENQVV9ORVdMWV9JRExFKQpAQCAtMjk1Myw2ICszMTUzLDggQEAKIAkJaW50IF9fZ3JvdXBfaW1iID0gMDsKIAkJdW5zaWduZWQgaW50IGJhbGFuY2VfY3B1ID0gLTEsIGZpcnN0X2lkbGVfY3B1ID0gMDsKIAkJdW5zaWduZWQgbG9uZyBzdW1fbnJfcnVubmluZywgc3VtX3dlaWdodGVkX2xvYWQ7CisJCXVuc2lnbmVkIGxvbmcgc3VtX2F2Z19sb2FkX3Blcl90YXNrOworCQl1bnNpZ25lZCBsb25nIGF2Z19sb2FkX3Blcl90YXNrOwogCiAJCWxvY2FsX2dyb3VwID0gY3B1X2lzc2V0KHRoaXNfY3B1LCBncm91cC0+Y3B1bWFzayk7CiAKQEAgLTI5NjEsNiArMzE2Myw4IEBACiAKIAkJLyogVGFsbHkgdXAgdGhlIGxvYWQgb2YgYWxsIENQVXMgaW4gdGhlIGdyb3VwICovCiAJCXN1bV93ZWlnaHRlZF9sb2FkID0gc3VtX25yX3J1bm5pbmcgPSBhdmdfbG9hZCA9IDA7CisJCXN1bV9hdmdfbG9hZF9wZXJfdGFzayA9IGF2Z19sb2FkX3Blcl90YXNrID0gMDsKKwogCQltYXhfY3B1X2xvYWQgPSAwOwogCQltaW5fY3B1X2xvYWQgPSB+MFVMOwogCkBAIC0yOTk0LDYgKzMxOTgsOCBAQAogCQkJYXZnX2xvYWQgKz0gbG9hZDsKIAkJCXN1bV9ucl9ydW5uaW5nICs9IHJxLT5ucl9ydW5uaW5nOwogCQkJc3VtX3dlaWdodGVkX2xvYWQgKz0gd2VpZ2h0ZWRfY3B1bG9hZChpKTsKKworCQkJc3VtX2F2Z19sb2FkX3Blcl90YXNrICs9IGNwdV9hdmdfbG9hZF9wZXJfdGFzayhpKTsKIAkJfQogCiAJCS8qCkBAIC0zMDE1LDcgKzMyMjEsMjAgQEAKIAkJYXZnX2xvYWQgPSBzZ19kaXZfY3B1X3Bvd2VyKGdyb3VwLAogCQkJCWF2Z19sb2FkICogU0NIRURfTE9BRF9TQ0FMRSk7CiAKLQkJaWYgKChtYXhfY3B1X2xvYWQgLSBtaW5fY3B1X2xvYWQpID4gU0NIRURfTE9BRF9TQ0FMRSkKKworCQkvKgorCQkgKiBDb25zaWRlciB0aGUgZ3JvdXAgdW5iYWxhbmNlZCB3aGVuIHRoZSBpbWJhbGFuY2UgaXMgbGFyZ2VyCisJCSAqIHRoYW4gdGhlIGF2ZXJhZ2Ugd2VpZ2h0IG9mIHR3byB0YXNrcy4KKwkJICoKKwkJICogQVBaOiB3aXRoIGNncm91cCB0aGUgYXZnIHRhc2sgd2VpZ2h0IGNhbiB2YXJ5IHdpbGRseSBhbmQKKwkJICogICAgICBtaWdodCBub3QgYmUgYSBzdWl0YWJsZSBudW1iZXIgLSBzaG91bGQgd2Uga2VlcCBhCisJCSAqICAgICAgbm9ybWFsaXplZCBucl9ydW5uaW5nIG51bWJlciBzb21ld2hlcmUgdGhhdCBuZWdhdGVzCisJCSAqICAgICAgdGhlIGhpZXJhcmNoeT8KKwkJICovCisJCWF2Z19sb2FkX3Blcl90YXNrID0gc2dfZGl2X2NwdV9wb3dlcihncm91cCwKKwkJCQlzdW1fYXZnX2xvYWRfcGVyX3Rhc2sgKiBTQ0hFRF9MT0FEX1NDQUxFKTsKKworCQlpZiAoKG1heF9jcHVfbG9hZCAtIG1pbl9jcHVfbG9hZCkgPiAyKmF2Z19sb2FkX3Blcl90YXNrKQogCQkJX19ncm91cF9pbWIgPSAxOwogCiAJCWdyb3VwX2NhcGFjaXR5ID0gZ3JvdXAtPl9fY3B1X3Bvd2VyIC8gU0NIRURfTE9BRF9TQ0FMRTsKQEAgLTMxNTYsOSArMzM3NSw5IEBACiAJCQlpZiAoYnVzaWVzdF9sb2FkX3Blcl90YXNrID4gdGhpc19sb2FkX3Blcl90YXNrKQogCQkJCWltYm4gPSAxOwogCQl9IGVsc2UKLQkJCXRoaXNfbG9hZF9wZXJfdGFzayA9IFNDSEVEX0xPQURfU0NBTEU7CisJCQl0aGlzX2xvYWRfcGVyX3Rhc2sgPSBjcHVfYXZnX2xvYWRfcGVyX3Rhc2sodGhpc19jcHUpOwogCi0JCWlmIChtYXhfbG9hZCAtIHRoaXNfbG9hZCArIFNDSEVEX0xPQURfU0NBTEVfRlVaWiA+PQorCQlpZiAobWF4X2xvYWQgLSB0aGlzX2xvYWQgKyAyKmJ1c2llc3RfbG9hZF9wZXJfdGFzayA+PQogCQkJCQlidXNpZXN0X2xvYWRfcGVyX3Rhc2sgKiBpbWJuKSB7CiAJCQkqaW1iYWxhbmNlID0gYnVzaWVzdF9sb2FkX3Blcl90YXNrOwogCQkJcmV0dXJuIGJ1c2llc3Q7CkBAIC0zMjg0LDYgKzM1MDMsNyBAQAogCXNjaGVkc3RhdF9pbmMoc2QsIGxiX2NvdW50W2lkbGVdKTsKIAogcmVkbzoKKwl1cGRhdGVfc2hhcmVzKHNkKTsKIAlncm91cCA9IGZpbmRfYnVzaWVzdF9ncm91cChzZCwgdGhpc19jcHUsICZpbWJhbGFuY2UsIGlkbGUsICZzZF9pZGxlLAogCQkJCSAgIGNwdXMsIGJhbGFuY2UpOwogCkBAIC0zMzg2LDggKzM2MDYsOSBAQAogCiAJaWYgKCFsZF9tb3ZlZCAmJiAhc2RfaWRsZSAmJiBzZC0+ZmxhZ3MgJiBTRF9TSEFSRV9DUFVQT1dFUiAmJgogCSAgICAhdGVzdF9zZF9wYXJlbnQoc2QsIFNEX1BPV0VSU0FWSU5HU19CQUxBTkNFKSkKLQkJcmV0dXJuIC0xOwotCXJldHVybiBsZF9tb3ZlZDsKKwkJbGRfbW92ZWQgPSAtMTsKKworCWdvdG8gb3V0OwogCiBvdXRfYmFsYW5jZWQ6CiAJc2NoZWRzdGF0X2luYyhzZCwgbGJfYmFsYW5jZWRbaWRsZV0pOwpAQCAtMzQwMiw4ICszNjIzLDEzIEBACiAKIAlpZiAoIXNkX2lkbGUgJiYgc2QtPmZsYWdzICYgU0RfU0hBUkVfQ1BVUE9XRVIgJiYKIAkgICAgIXRlc3Rfc2RfcGFyZW50KHNkLCBTRF9QT1dFUlNBVklOR1NfQkFMQU5DRSkpCi0JCXJldHVybiAtMTsKLQlyZXR1cm4gMDsKKwkJbGRfbW92ZWQgPSAtMTsKKwllbHNlCisJCWxkX21vdmVkID0gMDsKK291dDoKKwlpZiAobGRfbW92ZWQpCisJCXVwZGF0ZV9zaGFyZXMoc2QpOworCXJldHVybiBsZF9tb3ZlZDsKIH0KIAogLyoKQEAgLTM0MzgsNiArMzY2NCw3IEBACiAKIAlzY2hlZHN0YXRfaW5jKHNkLCBsYl9jb3VudFtDUFVfTkVXTFlfSURMRV0pOwogcmVkbzoKKwl1cGRhdGVfc2hhcmVzX2xvY2tlZCh0aGlzX3JxLCBzZCk7CiAJZ3JvdXAgPSBmaW5kX2J1c2llc3RfZ3JvdXAoc2QsIHRoaXNfY3B1LCAmaW1iYWxhbmNlLCBDUFVfTkVXTFlfSURMRSwKIAkJCQkgICAmc2RfaWRsZSwgY3B1cywgTlVMTCk7CiAJaWYgKCFncm91cCkgewpAQCAtMzQ4MSw2ICszNzA4LDcgQEAKIAl9IGVsc2UKIAkJc2QtPm5yX2JhbGFuY2VfZmFpbGVkID0gMDsKIAorCXVwZGF0ZV9zaGFyZXNfbG9ja2VkKHRoaXNfcnEsIHNkKTsKIAlyZXR1cm4gbGRfbW92ZWQ7CiAKIG91dF9iYWxhbmNlZDoKQEAgLTM2NzIsNiArMzkwMCw3IEBACiAJLyogRWFybGllc3QgdGltZSB3aGVuIHdlIGhhdmUgdG8gZG8gcmViYWxhbmNlIGFnYWluICovCiAJdW5zaWduZWQgbG9uZyBuZXh0X2JhbGFuY2UgPSBqaWZmaWVzICsgNjAqSFo7CiAJaW50IHVwZGF0ZV9uZXh0X2JhbGFuY2UgPSAwOworCWludCBuZWVkX3NlcmlhbGl6ZTsKIAljcHVtYXNrX3QgdG1wOwogCiAJZm9yX2VhY2hfZG9tYWluKGNwdSwgc2QpIHsKQEAgLTM2ODksOCArMzkxOCw5IEBACiAJCWlmIChpbnRlcnZhbCA+IEhaKk5SX0NQVVMvMTApCiAJCQlpbnRlcnZhbCA9IEhaKk5SX0NQVVMvMTA7CiAKKwkJbmVlZF9zZXJpYWxpemUgPSBzZC0+ZmxhZ3MgJiBTRF9TRVJJQUxJWkU7CiAKLQkJaWYgKHNkLT5mbGFncyAmIFNEX1NFUklBTElaRSkgeworCQlpZiAobmVlZF9zZXJpYWxpemUpIHsKIAkJCWlmICghc3Bpbl90cnlsb2NrKCZiYWxhbmNpbmcpKQogCQkJCWdvdG8gb3V0OwogCQl9CkBAIC0zNzA2LDcgKzM5MzYsNyBAQAogCQkJfQogCQkJc2QtPmxhc3RfYmFsYW5jZSA9IGppZmZpZXM7CiAJCX0KLQkJaWYgKHNkLT5mbGFncyAmIFNEX1NFUklBTElaRSkKKwkJaWYgKG5lZWRfc2VyaWFsaXplKQogCQkJc3Bpbl91bmxvY2soJmJhbGFuY2luZyk7CiBvdXQ6CiAJCWlmICh0aW1lX2FmdGVyKG5leHRfYmFsYW5jZSwgc2QtPmxhc3RfYmFsYW5jZSArIGludGVydmFsKSkgewpAQCAtNDAyMSwyNiArNDI1MSw0NCBAQAogI2VuZGlmCiB9CiAKLSNpZiBkZWZpbmVkKENPTkZJR19QUkVFTVBUKSAmJiBkZWZpbmVkKENPTkZJR19ERUJVR19QUkVFTVBUKQorI2lmIGRlZmluZWQoQ09ORklHX1BSRUVNUFQpICYmIChkZWZpbmVkKENPTkZJR19ERUJVR19QUkVFTVBUKSB8fCBcCisJCQkJZGVmaW5lZChDT05GSUdfUFJFRU1QVF9UUkFDRVIpKQorCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgZ2V0X3BhcmVudF9pcCh1bnNpZ25lZCBsb25nIGFkZHIpCit7CisJaWYgKGluX2xvY2tfZnVuY3Rpb25zKGFkZHIpKSB7CisJCWFkZHIgPSBDQUxMRVJfQUREUjI7CisJCWlmIChpbl9sb2NrX2Z1bmN0aW9ucyhhZGRyKSkKKwkJCWFkZHIgPSBDQUxMRVJfQUREUjM7CisJfQorCXJldHVybiBhZGRyOworfQogCiB2b2lkIF9fa3Byb2JlcyBhZGRfcHJlZW1wdF9jb3VudChpbnQgdmFsKQogeworI2lmZGVmIENPTkZJR19ERUJVR19QUkVFTVBUCiAJLyoKIAkgKiBVbmRlcmZsb3c/CiAJICovCiAJaWYgKERFQlVHX0xPQ0tTX1dBUk5fT04oKHByZWVtcHRfY291bnQoKSA8IDApKSkKIAkJcmV0dXJuOworI2VuZGlmCiAJcHJlZW1wdF9jb3VudCgpICs9IHZhbDsKKyNpZmRlZiBDT05GSUdfREVCVUdfUFJFRU1QVAogCS8qCiAJICogU3BpbmxvY2sgY291bnQgb3ZlcmZsb3dpbmcgc29vbj8KIAkgKi8KIAlERUJVR19MT0NLU19XQVJOX09OKChwcmVlbXB0X2NvdW50KCkgJiBQUkVFTVBUX01BU0spID49CiAJCQkJUFJFRU1QVF9NQVNLIC0gMTApOworI2VuZGlmCisJaWYgKHByZWVtcHRfY291bnQoKSA9PSB2YWwpCisJCXRyYWNlX3ByZWVtcHRfb2ZmKENBTExFUl9BRERSMCwgZ2V0X3BhcmVudF9pcChDQUxMRVJfQUREUjEpKTsKIH0KIEVYUE9SVF9TWU1CT0woYWRkX3ByZWVtcHRfY291bnQpOwogCiB2b2lkIF9fa3Byb2JlcyBzdWJfcHJlZW1wdF9jb3VudChpbnQgdmFsKQogeworI2lmZGVmIENPTkZJR19ERUJVR19QUkVFTVBUCiAJLyoKIAkgKiBVbmRlcmZsb3c/CiAJICovCkBAIC00MDUyLDcgKzQzMDAsMTAgQEAKIAlpZiAoREVCVUdfTE9DS1NfV0FSTl9PTigodmFsIDwgUFJFRU1QVF9NQVNLKSAmJgogCQkJIShwcmVlbXB0X2NvdW50KCkgJiBQUkVFTVBUX01BU0spKSkKIAkJcmV0dXJuOworI2VuZGlmCiAKKwlpZiAocHJlZW1wdF9jb3VudCgpID09IHZhbCkKKwkJdHJhY2VfcHJlZW1wdF9vbihDQUxMRVJfQUREUjAsIGdldF9wYXJlbnRfaXAoQ0FMTEVSX0FERFIxKSk7CiAJcHJlZW1wdF9jb3VudCgpIC09IHZhbDsKIH0KIEVYUE9SVF9TWU1CT0woc3ViX3ByZWVtcHRfY291bnQpOwpAQCAtNDA3MCw2ICs0MzIxLDcgQEAKIAkJcHJldi0+Y29tbSwgcHJldi0+cGlkLCBwcmVlbXB0X2NvdW50KCkpOwogCiAJZGVidWdfc2hvd19oZWxkX2xvY2tzKHByZXYpOworCXByaW50X21vZHVsZXMoKTsKIAlpZiAoaXJxc19kaXNhYmxlZCgpKQogCQlwcmludF9pcnF0cmFjZV9ldmVudHMocHJldik7CiAKQEAgLTQxNDMsNyArNDM5NSw3IEBACiAJc3RydWN0IHRhc2tfc3RydWN0ICpwcmV2LCAqbmV4dDsKIAl1bnNpZ25lZCBsb25nICpzd2l0Y2hfY291bnQ7CiAJc3RydWN0IHJxICpycTsKLQlpbnQgY3B1OworCWludCBjcHUsIGhydGljayA9IHNjaGVkX2ZlYXQoSFJUSUNLKTsKIAogbmVlZF9yZXNjaGVkOgogCXByZWVtcHRfZGlzYWJsZSgpOwpAQCAtNDE1OCw3ICs0NDEwLDggQEAKIAogCXNjaGVkdWxlX2RlYnVnKHByZXYpOwogCi0JaHJ0aWNrX2NsZWFyKHJxKTsKKwlpZiAoaHJ0aWNrKQorCQlocnRpY2tfY2xlYXIocnEpOwogCiAJLyoKIAkgKiBEbyB0aGUgcnEtY2xvY2sgdXBkYXRlIG91dHNpZGUgdGhlIHJxIGxvY2s6CkBAIC00MjA0LDcgKzQ0NTcsOCBAQAogCX0gZWxzZQogCQlzcGluX3VubG9ja19pcnEoJnJxLT5sb2NrKTsKIAotCWhydGlja19zZXQocnEpOworCWlmIChocnRpY2spCisJCWhydGlja19zZXQocnEpOwogCiAJaWYgKHVubGlrZWx5KHJlYWNxdWlyZV9rZXJuZWxfbG9jayhjdXJyZW50KSA8IDApKQogCQlnb3RvIG5lZWRfcmVzY2hlZF9ub25wcmVlbXB0aWJsZTsKQEAgLTQ1ODYsMTAgKzQ4NDAsOCBAQAogCQlnb3RvIG91dF91bmxvY2s7CiAJfQogCW9uX3JxID0gcC0+c2Uub25fcnE7Ci0JaWYgKG9uX3JxKSB7CisJaWYgKG9uX3JxKQogCQlkZXF1ZXVlX3Rhc2socnEsIHAsIDApOwotCQlkZWNfbG9hZChycSwgcCk7Ci0JfQogCiAJcC0+c3RhdGljX3ByaW8gPSBOSUNFX1RPX1BSSU8obmljZSk7CiAJc2V0X2xvYWRfd2VpZ2h0KHApOwpAQCAtNDU5OSw3ICs0ODUxLDYgQEAKIAogCWlmIChvbl9ycSkgewogCQllbnF1ZXVlX3Rhc2socnEsIHAsIDApOwotCQlpbmNfbG9hZChycSwgcCk7CiAJCS8qCiAJCSAqIElmIHRoZSB0YXNrIGluY3JlYXNlZCBpdHMgcHJpb3JpdHkgb3IgaXMgcnVubmluZyBhbmQKIAkJICogbG93ZXJlZCBpdHMgcHJpb3JpdHksIHRoZW4gcmVzY2hlZHVsZSBpdHMgQ1BVOgpAQCAtNDc0NCwxNiArNDk5NSw4IEBACiAJc2V0X2xvYWRfd2VpZ2h0KHApOwogfQogCi0vKioKLSAqIHNjaGVkX3NldHNjaGVkdWxlciAtIGNoYW5nZSB0aGUgc2NoZWR1bGluZyBwb2xpY3kgYW5kL29yIFJUIHByaW9yaXR5IG9mIGEgdGhyZWFkLgotICogQHA6IHRoZSB0YXNrIGluIHF1ZXN0aW9uLgotICogQHBvbGljeTogbmV3IHBvbGljeS4KLSAqIEBwYXJhbTogc3RydWN0dXJlIGNvbnRhaW5pbmcgdGhlIG5ldyBSVCBwcmlvcml0eS4KLSAqCi0gKiBOT1RFIHRoYXQgdGhlIHRhc2sgbWF5IGJlIGFscmVhZHkgZGVhZC4KLSAqLwotaW50IHNjaGVkX3NldHNjaGVkdWxlcihzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAsIGludCBwb2xpY3ksCi0JCSAgICAgICBzdHJ1Y3Qgc2NoZWRfcGFyYW0gKnBhcmFtKQorc3RhdGljIGludCBfX3NjaGVkX3NldHNjaGVkdWxlcihzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAsIGludCBwb2xpY3ksCisJCQkJc3RydWN0IHNjaGVkX3BhcmFtICpwYXJhbSwgYm9vbCB1c2VyKQogewogCWludCByZXR2YWwsIG9sZHByaW8sIG9sZHBvbGljeSA9IC0xLCBvbl9ycSwgcnVubmluZzsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwpAQCAtNDc4NSw3ICs1MDI4LDcgQEAKIAkvKgogCSAqIEFsbG93IHVucHJpdmlsZWdlZCBSVCB0YXNrcyB0byBkZWNyZWFzZSBwcmlvcml0eToKIAkgKi8KLQlpZiAoIWNhcGFibGUoQ0FQX1NZU19OSUNFKSkgeworCWlmICh1c2VyICYmICFjYXBhYmxlKENBUF9TWVNfTklDRSkpIHsKIAkJaWYgKHJ0X3BvbGljeShwb2xpY3kpKSB7CiAJCQl1bnNpZ25lZCBsb25nIHJsaW1fcnRwcmlvOwogCkBAIC00ODIxLDcgKzUwNjQsOCBAQAogCSAqIERvIG5vdCBhbGxvdyByZWFsdGltZSB0YXNrcyBpbnRvIGdyb3VwcyB0aGF0IGhhdmUgbm8gcnVudGltZQogCSAqIGFzc2lnbmVkLgogCSAqLwotCWlmIChydF9wb2xpY3kocG9saWN5KSAmJiB0YXNrX2dyb3VwKHApLT5ydF9iYW5kd2lkdGgucnRfcnVudGltZSA9PSAwKQorCWlmICh1c2VyCisJICAgICYmIHJ0X3BvbGljeShwb2xpY3kpICYmIHRhc2tfZ3JvdXAocCktPnJ0X2JhbmR3aWR0aC5ydF9ydW50aW1lID09IDApCiAJCXJldHVybiAtRVBFUk07CiAjZW5kaWYKIApAQCAtNDg3MCw4ICs1MTE0LDM5IEBACiAKIAlyZXR1cm4gMDsKIH0KKworLyoqCisgKiBzY2hlZF9zZXRzY2hlZHVsZXIgLSBjaGFuZ2UgdGhlIHNjaGVkdWxpbmcgcG9saWN5IGFuZC9vciBSVCBwcmlvcml0eSBvZiBhIHRocmVhZC4KKyAqIEBwOiB0aGUgdGFzayBpbiBxdWVzdGlvbi4KKyAqIEBwb2xpY3k6IG5ldyBwb2xpY3kuCisgKiBAcGFyYW06IHN0cnVjdHVyZSBjb250YWluaW5nIHRoZSBuZXcgUlQgcHJpb3JpdHkuCisgKgorICogTk9URSB0aGF0IHRoZSB0YXNrIG1heSBiZSBhbHJlYWR5IGRlYWQuCisgKi8KK2ludCBzY2hlZF9zZXRzY2hlZHVsZXIoc3RydWN0IHRhc2tfc3RydWN0ICpwLCBpbnQgcG9saWN5LAorCQkgICAgICAgc3RydWN0IHNjaGVkX3BhcmFtICpwYXJhbSkKK3sKKwlyZXR1cm4gX19zY2hlZF9zZXRzY2hlZHVsZXIocCwgcG9saWN5LCBwYXJhbSwgdHJ1ZSk7Cit9CiBFWFBPUlRfU1lNQk9MX0dQTChzY2hlZF9zZXRzY2hlZHVsZXIpOwogCisvKioKKyAqIHNjaGVkX3NldHNjaGVkdWxlcl9ub2NoZWNrIC0gY2hhbmdlIHRoZSBzY2hlZHVsaW5nIHBvbGljeSBhbmQvb3IgUlQgcHJpb3JpdHkgb2YgYSB0aHJlYWQgZnJvbSBrZXJuZWxzcGFjZS4KKyAqIEBwOiB0aGUgdGFzayBpbiBxdWVzdGlvbi4KKyAqIEBwb2xpY3k6IG5ldyBwb2xpY3kuCisgKiBAcGFyYW06IHN0cnVjdHVyZSBjb250YWluaW5nIHRoZSBuZXcgUlQgcHJpb3JpdHkuCisgKgorICogSnVzdCBsaWtlIHNjaGVkX3NldHNjaGVkdWxlciwgb25seSBkb24ndCBib3RoZXIgY2hlY2tpbmcgaWYgdGhlCisgKiBjdXJyZW50IGNvbnRleHQgaGFzIHBlcm1pc3Npb24uICBGb3IgZXhhbXBsZSwgdGhpcyBpcyBuZWVkZWQgaW4KKyAqIHN0b3BfbWFjaGluZSgpOiB3ZSBjcmVhdGUgdGVtcG9yYXJ5IGhpZ2ggcHJpb3JpdHkgd29ya2VyIHRocmVhZHMsCisgKiBidXQgb3VyIGNhbGxlciBtaWdodCBub3QgaGF2ZSB0aGF0IGNhcGFiaWxpdHkuCisgKi8KK2ludCBzY2hlZF9zZXRzY2hlZHVsZXJfbm9jaGVjayhzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAsIGludCBwb2xpY3ksCisJCQkgICAgICAgc3RydWN0IHNjaGVkX3BhcmFtICpwYXJhbSkKK3sKKwlyZXR1cm4gX19zY2hlZF9zZXRzY2hlZHVsZXIocCwgcG9saWN5LCBwYXJhbSwgZmFsc2UpOworfQorCiBzdGF0aWMgaW50CiBkb19zY2hlZF9zZXRzY2hlZHVsZXIocGlkX3QgcGlkLCBpbnQgcG9saWN5LCBzdHJ1Y3Qgc2NoZWRfcGFyYW0gX191c2VyICpwYXJhbSkKIHsKQEAgLTUwNzAsMjQgKzUzNDUsNiBAQAogCXJldHVybiBzY2hlZF9zZXRhZmZpbml0eShwaWQsICZuZXdfbWFzayk7CiB9CiAKLS8qCi0gKiBSZXByZXNlbnRzIGFsbCBjcHUncyBwcmVzZW50IGluIHRoZSBzeXN0ZW0KLSAqIEluIHN5c3RlbXMgY2FwYWJsZSBvZiBob3RwbHVnLCB0aGlzIG1hcCBjb3VsZCBkeW5hbWljYWxseSBncm93Ci0gKiBhcyBuZXcgY3B1J3MgYXJlIGRldGVjdGVkIGluIHRoZSBzeXN0ZW0gdmlhIGFueSBwbGF0Zm9ybSBzcGVjaWZpYwotICogbWV0aG9kLCBzdWNoIGFzIEFDUEkgZm9yIGUuZy4KLSAqLwotCi1jcHVtYXNrX3QgY3B1X3ByZXNlbnRfbWFwIF9fcmVhZF9tb3N0bHk7Ci1FWFBPUlRfU1lNQk9MKGNwdV9wcmVzZW50X21hcCk7Ci0KLSNpZm5kZWYgQ09ORklHX1NNUAotY3B1bWFza190IGNwdV9vbmxpbmVfbWFwIF9fcmVhZF9tb3N0bHkgPSBDUFVfTUFTS19BTEw7Ci1FWFBPUlRfU1lNQk9MKGNwdV9vbmxpbmVfbWFwKTsKLQotY3B1bWFza190IGNwdV9wb3NzaWJsZV9tYXAgX19yZWFkX21vc3RseSA9IENQVV9NQVNLX0FMTDsKLUVYUE9SVF9TWU1CT0woY3B1X3Bvc3NpYmxlX21hcCk7Ci0jZW5kaWYKLQogbG9uZyBzY2hlZF9nZXRhZmZpbml0eShwaWRfdCBwaWQsIGNwdW1hc2tfdCAqbWFzaykKIHsKIAlzdHJ1Y3QgdGFza19zdHJ1Y3QgKnA7CkBAIC01Mzg0LDcgKzU2NDEsNyBAQAogCXJldHVybiByZXR2YWw7CiB9CiAKLXN0YXRpYyBjb25zdCBjaGFyIHN0YXRfbmFtW10gPSAiUlNEVHRaWCI7CitzdGF0aWMgY29uc3QgY2hhciBzdGF0X25hbVtdID0gVEFTS19TVEFURV9UT19DSEFSX1NUUjsKIAogdm9pZCBzY2hlZF9zaG93X3Rhc2soc3RydWN0IHRhc2tfc3RydWN0ICpwKQogewpAQCAtNTU3MSw2ICs1ODI4LDEyIEBACiAJCWdvdG8gb3V0OwogCX0KIAorCWlmICh1bmxpa2VseSgocC0+ZmxhZ3MgJiBQRl9USFJFQURfQk9VTkQpICYmIHAgIT0gY3VycmVudCAmJgorCQkgICAgICFjcHVzX2VxdWFsKHAtPmNwdXNfYWxsb3dlZCwgKm5ld19tYXNrKSkpIHsKKwkJcmV0ID0gLUVJTlZBTDsKKwkJZ290byBvdXQ7CisJfQorCiAJaWYgKHAtPnNjaGVkX2NsYXNzLT5zZXRfY3B1c19hbGxvd2VkKQogCQlwLT5zY2hlZF9jbGFzcy0+c2V0X2NwdXNfYWxsb3dlZChwLCBuZXdfbWFzayk7CiAJZWxzZSB7CkBAIC01NjIyLDEwICs1ODg1LDEwIEBACiAJZG91YmxlX3JxX2xvY2socnFfc3JjLCBycV9kZXN0KTsKIAkvKiBBbHJlYWR5IG1vdmVkLiAqLwogCWlmICh0YXNrX2NwdShwKSAhPSBzcmNfY3B1KQotCQlnb3RvIG91dDsKKwkJZ290byBkb25lOwogCS8qIEFmZmluaXR5IGNoYW5nZWQgKGFnYWluKS4gKi8KIAlpZiAoIWNwdV9pc3NldChkZXN0X2NwdSwgcC0+Y3B1c19hbGxvd2VkKSkKLQkJZ290byBvdXQ7CisJCWdvdG8gZmFpbDsKIAogCW9uX3JxID0gcC0+c2Uub25fcnE7CiAJaWYgKG9uX3JxKQpAQCAtNTYzNiw4ICs1ODk5LDkgQEAKIAkJYWN0aXZhdGVfdGFzayhycV9kZXN0LCBwLCAwKTsKIAkJY2hlY2tfcHJlZW1wdF9jdXJyKHJxX2Rlc3QsIHApOwogCX0KK2RvbmU6CiAJcmV0ID0gMTsKLW91dDoKK2ZhaWw6CiAJZG91YmxlX3JxX3VubG9jayhycV9zcmMsIHJxX2Rlc3QpOwogCXJldHVybiByZXQ7CiB9CkBAIC02MDU5LDYgKzYzMjMsMzYgQEAKIH0KICNlbmRpZgogCitzdGF0aWMgdm9pZCBzZXRfcnFfb25saW5lKHN0cnVjdCBycSAqcnEpCit7CisJaWYgKCFycS0+b25saW5lKSB7CisJCWNvbnN0IHN0cnVjdCBzY2hlZF9jbGFzcyAqY2xhc3M7CisKKwkJY3B1X3NldChycS0+Y3B1LCBycS0+cmQtPm9ubGluZSk7CisJCXJxLT5vbmxpbmUgPSAxOworCisJCWZvcl9lYWNoX2NsYXNzKGNsYXNzKSB7CisJCQlpZiAoY2xhc3MtPnJxX29ubGluZSkKKwkJCQljbGFzcy0+cnFfb25saW5lKHJxKTsKKwkJfQorCX0KK30KKworc3RhdGljIHZvaWQgc2V0X3JxX29mZmxpbmUoc3RydWN0IHJxICpycSkKK3sKKwlpZiAocnEtPm9ubGluZSkgeworCQljb25zdCBzdHJ1Y3Qgc2NoZWRfY2xhc3MgKmNsYXNzOworCisJCWZvcl9lYWNoX2NsYXNzKGNsYXNzKSB7CisJCQlpZiAoY2xhc3MtPnJxX29mZmxpbmUpCisJCQkJY2xhc3MtPnJxX29mZmxpbmUocnEpOworCQl9CisKKwkJY3B1X2NsZWFyKHJxLT5jcHUsIHJxLT5yZC0+b25saW5lKTsKKwkJcnEtPm9ubGluZSA9IDA7CisJfQorfQorCiAvKgogICogbWlncmF0aW9uX2NhbGwgLSBjYWxsYmFjayB0aGF0IGdldHMgdHJpZ2dlcmVkIHdoZW4gYSBDUFUgaXMgYWRkZWQuCiAgKiBIZXJlIHdlIGNhbiBzdGFydCB1cCB0aGUgbmVjZXNzYXJ5IG1pZ3JhdGlvbiB0aHJlYWQgZm9yIHRoZSBuZXcgQ1BVLgpAQCAtNjA5Niw3ICs2MzkwLDggQEAKIAkJc3Bpbl9sb2NrX2lycXNhdmUoJnJxLT5sb2NrLCBmbGFncyk7CiAJCWlmIChycS0+cmQpIHsKIAkJCUJVR19PTighY3B1X2lzc2V0KGNwdSwgcnEtPnJkLT5zcGFuKSk7Ci0JCQljcHVfc2V0KGNwdSwgcnEtPnJkLT5vbmxpbmUpOworCisJCQlzZXRfcnFfb25saW5lKHJxKTsKIAkJfQogCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZycS0+bG9jaywgZmxhZ3MpOwogCQlicmVhazsKQEAgLTYxNTcsNyArNjQ1Miw3IEBACiAJCXNwaW5fbG9ja19pcnFzYXZlKCZycS0+bG9jaywgZmxhZ3MpOwogCQlpZiAocnEtPnJkKSB7CiAJCQlCVUdfT04oIWNwdV9pc3NldChjcHUsIHJxLT5yZC0+c3BhbikpOwotCQkJY3B1X2NsZWFyKGNwdSwgcnEtPnJkLT5vbmxpbmUpOworCQkJc2V0X3JxX29mZmxpbmUocnEpOwogCQl9CiAJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnJxLT5sb2NrLCBmbGFncyk7CiAJCWJyZWFrOwpAQCAtNjE5MSw2ICs2NDg2LDI4IEBACiAKICNpZmRlZiBDT05GSUdfU0NIRURfREVCVUcKIAorc3RhdGljIGlubGluZSBjb25zdCBjaGFyICpzZF9sZXZlbF90b19zdHJpbmcoZW51bSBzY2hlZF9kb21haW5fbGV2ZWwgbHZsKQoreworCXN3aXRjaCAobHZsKSB7CisJY2FzZSBTRF9MVl9OT05FOgorCQkJcmV0dXJuICJOT05FIjsKKwljYXNlIFNEX0xWX1NJQkxJTkc6CisJCQlyZXR1cm4gIlNJQkxJTkciOworCWNhc2UgU0RfTFZfTUM6CisJCQlyZXR1cm4gIk1DIjsKKwljYXNlIFNEX0xWX0NQVToKKwkJCXJldHVybiAiQ1BVIjsKKwljYXNlIFNEX0xWX05PREU6CisJCQlyZXR1cm4gIk5PREUiOworCWNhc2UgU0RfTFZfQUxMTk9ERVM6CisJCQlyZXR1cm4gIkFMTE5PREVTIjsKKwljYXNlIFNEX0xWX01BWDoKKwkJCXJldHVybiAiTUFYIjsKKworCX0KKwlyZXR1cm4gIk1BWCI7Cit9CisKIHN0YXRpYyBpbnQgc2NoZWRfZG9tYWluX2RlYnVnX29uZShzdHJ1Y3Qgc2NoZWRfZG9tYWluICpzZCwgaW50IGNwdSwgaW50IGxldmVsLAogCQkJCSAgY3B1bWFza190ICpncm91cG1hc2spCiB7CkBAIC02MjEwLDcgKzY1MjcsOCBAQAogCQlyZXR1cm4gLTE7CiAJfQogCi0JcHJpbnRrKEtFUk5fQ09OVCAic3BhbiAlc1xuIiwgc3RyKTsKKwlwcmludGsoS0VSTl9DT05UICJzcGFuICVzIGxldmVsICVzXG4iLAorCQlzdHIsIHNkX2xldmVsX3RvX3N0cmluZyhzZC0+bGV2ZWwpKTsKIAogCWlmICghY3B1X2lzc2V0KGNwdSwgc2QtPnNwYW4pKSB7CiAJCXByaW50ayhLRVJOX0VSUiAiRVJST1I6IGRvbWFpbi0+c3BhbiBkb2VzIG5vdCBjb250YWluICIKQEAgLTYyOTQsOSArNjYxMiw5IEBACiAJfQogCWtmcmVlKGdyb3VwbWFzayk7CiB9Ci0jZWxzZQorI2Vsc2UgLyogIUNPTkZJR19TQ0hFRF9ERUJVRyAqLwogIyBkZWZpbmUgc2NoZWRfZG9tYWluX2RlYnVnKHNkLCBjcHUpIGRvIHsgfSB3aGlsZSAoMCkKLSNlbmRpZgorI2VuZGlmIC8qIENPTkZJR19TQ0hFRF9ERUJVRyAqLwogCiBzdGF0aWMgaW50IHNkX2RlZ2VuZXJhdGUoc3RydWN0IHNjaGVkX2RvbWFpbiAqc2QpCiB7CkBAIC02MzU2LDIwICs2Njc0LDE2IEBACiBzdGF0aWMgdm9pZCBycV9hdHRhY2hfcm9vdChzdHJ1Y3QgcnEgKnJxLCBzdHJ1Y3Qgcm9vdF9kb21haW4gKnJkKQogewogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0JY29uc3Qgc3RydWN0IHNjaGVkX2NsYXNzICpjbGFzczsKIAogCXNwaW5fbG9ja19pcnFzYXZlKCZycS0+bG9jaywgZmxhZ3MpOwogCiAJaWYgKHJxLT5yZCkgewogCQlzdHJ1Y3Qgcm9vdF9kb21haW4gKm9sZF9yZCA9IHJxLT5yZDsKIAotCQlmb3IgKGNsYXNzID0gc2NoZWRfY2xhc3NfaGlnaGVzdDsgY2xhc3M7IGNsYXNzID0gY2xhc3MtPm5leHQpIHsKLQkJCWlmIChjbGFzcy0+bGVhdmVfZG9tYWluKQotCQkJCWNsYXNzLT5sZWF2ZV9kb21haW4ocnEpOwotCQl9CisJCWlmIChjcHVfaXNzZXQocnEtPmNwdSwgb2xkX3JkLT5vbmxpbmUpKQorCQkJc2V0X3JxX29mZmxpbmUocnEpOwogCiAJCWNwdV9jbGVhcihycS0+Y3B1LCBvbGRfcmQtPnNwYW4pOwotCQljcHVfY2xlYXIocnEtPmNwdSwgb2xkX3JkLT5vbmxpbmUpOwogCiAJCWlmIChhdG9taWNfZGVjX2FuZF90ZXN0KCZvbGRfcmQtPnJlZmNvdW50KSkKIAkJCWtmcmVlKG9sZF9yZCk7CkBAIC02MzgwLDEyICs2Njk0LDcgQEAKIAogCWNwdV9zZXQocnEtPmNwdSwgcmQtPnNwYW4pOwogCWlmIChjcHVfaXNzZXQocnEtPmNwdSwgY3B1X29ubGluZV9tYXApKQotCQljcHVfc2V0KHJxLT5jcHUsIHJkLT5vbmxpbmUpOwotCi0JZm9yIChjbGFzcyA9IHNjaGVkX2NsYXNzX2hpZ2hlc3Q7IGNsYXNzOyBjbGFzcyA9IGNsYXNzLT5uZXh0KSB7Ci0JCWlmIChjbGFzcy0+am9pbl9kb21haW4pCi0JCQljbGFzcy0+am9pbl9kb21haW4ocnEpOwotCX0KKwkJc2V0X3JxX29ubGluZShycSk7CiAKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZycS0+bG9jaywgZmxhZ3MpOwogfQpAQCAtNjM5Niw2ICs2NzA1LDggQEAKIAogCWNwdXNfY2xlYXIocmQtPnNwYW4pOwogCWNwdXNfY2xlYXIocmQtPm9ubGluZSk7CisKKwljcHVwcmlfaW5pdCgmcmQtPmNwdXByaSk7CiB9CiAKIHN0YXRpYyB2b2lkIGluaXRfZGVmcm9vdGRvbWFpbih2b2lkKQpAQCAtNjUzOCw5ICs2ODQ5LDkgQEAKIAogCW1pbl92YWwgPSBJTlRfTUFYOwogCi0JZm9yIChpID0gMDsgaSA8IE1BWF9OVU1OT0RFUzsgaSsrKSB7CisJZm9yIChpID0gMDsgaSA8IG5yX25vZGVfaWRzOyBpKyspIHsKIAkJLyogU3RhcnQgYXQgQG5vZGUgKi8KLQkJbiA9IChub2RlICsgaSkgJSBNQVhfTlVNTk9ERVM7CisJCW4gPSAobm9kZSArIGkpICUgbnJfbm9kZV9pZHM7CiAKIAkJaWYgKCFucl9jcHVzX25vZGUobikpCiAJCQljb250aW51ZTsKQEAgLTY1OTAsNyArNjkwMSw3IEBACiAJCWNwdXNfb3IoKnNwYW4sICpzcGFuLCAqbm9kZW1hc2spOwogCX0KIH0KLSNlbmRpZgorI2VuZGlmIC8qIENPTkZJR19OVU1BICovCiAKIGludCBzY2hlZF9zbXRfcG93ZXJfc2F2aW5ncyA9IDAsIHNjaGVkX21jX3Bvd2VyX3NhdmluZ3MgPSAwOwogCkBAIC02NjA5LDcgKzY5MjAsNyBAQAogCQkqc2cgPSAmcGVyX2NwdShzY2hlZF9ncm91cF9jcHVzLCBjcHUpOwogCXJldHVybiBjcHU7CiB9Ci0jZW5kaWYKKyNlbmRpZiAvKiBDT05GSUdfU0NIRURfU01UICovCiAKIC8qCiAgKiBtdWx0aS1jb3JlIHNjaGVkLWRvbWFpbnM6CkBAIC02NjE3LDcgKzY5MjgsNyBAQAogI2lmZGVmIENPTkZJR19TQ0hFRF9NQwogc3RhdGljIERFRklORV9QRVJfQ1BVKHN0cnVjdCBzY2hlZF9kb21haW4sIGNvcmVfZG9tYWlucyk7CiBzdGF0aWMgREVGSU5FX1BFUl9DUFUoc3RydWN0IHNjaGVkX2dyb3VwLCBzY2hlZF9ncm91cF9jb3JlKTsKLSNlbmRpZgorI2VuZGlmIC8qIENPTkZJR19TQ0hFRF9NQyAqLwogCiAjaWYgZGVmaW5lZChDT05GSUdfU0NIRURfTUMpICYmIGRlZmluZWQoQ09ORklHX1NDSEVEX1NNVCkKIHN0YXRpYyBpbnQKQEAgLTY3MTksNyArNzAzMCw3IEBACiAJCXNnID0gc2ctPm5leHQ7CiAJfSB3aGlsZSAoc2cgIT0gZ3JvdXBfaGVhZCk7CiB9Ci0jZW5kaWYKKyNlbmRpZiAvKiBDT05GSUdfTlVNQSAqLwogCiAjaWZkZWYgQ09ORklHX05VTUEKIC8qIEZyZWUgbWVtb3J5IGFsbG9jYXRlZCBmb3IgdmFyaW91cyBzY2hlZF9ncm91cCBzdHJ1Y3R1cmVzICovCkBAIC02NzM0LDcgKzcwNDUsNyBAQAogCQlpZiAoIXNjaGVkX2dyb3VwX25vZGVzKQogCQkJY29udGludWU7CiAKLQkJZm9yIChpID0gMDsgaSA8IE1BWF9OVU1OT0RFUzsgaSsrKSB7CisJCWZvciAoaSA9IDA7IGkgPCBucl9ub2RlX2lkczsgaSsrKSB7CiAJCQlzdHJ1Y3Qgc2NoZWRfZ3JvdXAgKm9sZHNnLCAqc2cgPSBzY2hlZF9ncm91cF9ub2Rlc1tpXTsKIAogCQkJKm5vZGVtYXNrID0gbm9kZV90b19jcHVtYXNrKGkpOwpAQCAtNjc1NiwxMSArNzA2NywxMSBAQAogCQlzY2hlZF9ncm91cF9ub2Rlc19ieWNwdVtjcHVdID0gTlVMTDsKIAl9CiB9Ci0jZWxzZQorI2Vsc2UgLyogIUNPTkZJR19OVU1BICovCiBzdGF0aWMgdm9pZCBmcmVlX3NjaGVkX2dyb3Vwcyhjb25zdCBjcHVtYXNrX3QgKmNwdV9tYXAsIGNwdW1hc2tfdCAqbm9kZW1hc2spCiB7CiB9Ci0jZW5kaWYKKyNlbmRpZiAvKiBDT05GSUdfTlVNQSAqLwogCiAvKgogICogSW5pdGlhbGl6ZSBzY2hlZCBncm91cHMgY3B1X3Bvd2VyLgpAQCAtNjkyNyw3ICs3MjM4LDcgQEAKIAkvKgogCSAqIEFsbG9jYXRlIHRoZSBwZXItbm9kZSBsaXN0IG9mIHNjaGVkIGdyb3VwcwogCSAqLwotCXNjaGVkX2dyb3VwX25vZGVzID0ga2NhbGxvYyhNQVhfTlVNTk9ERVMsIHNpemVvZihzdHJ1Y3Qgc2NoZWRfZ3JvdXAgKiksCisJc2NoZWRfZ3JvdXBfbm9kZXMgPSBrY2FsbG9jKG5yX25vZGVfaWRzLCBzaXplb2Yoc3RydWN0IHNjaGVkX2dyb3VwICopLAogCQkJCSAgICBHRlBfS0VSTkVMKTsKIAlpZiAoIXNjaGVkX2dyb3VwX25vZGVzKSB7CiAJCXByaW50ayhLRVJOX1dBUk5JTkcgIkNhbiBub3QgYWxsb2Mgc2NoZWQgZ3JvdXAgbm9kZSBsaXN0XG4iKTsKQEAgLTcwNjYsNyArNzM3Nyw3IEBACiAjZW5kaWYKIAogCS8qIFNldCB1cCBwaHlzaWNhbCBncm91cHMgKi8KLQlmb3IgKGkgPSAwOyBpIDwgTUFYX05VTU5PREVTOyBpKyspIHsKKwlmb3IgKGkgPSAwOyBpIDwgbnJfbm9kZV9pZHM7IGkrKykgewogCQlTQ0hFRF9DUFVNQVNLX1ZBUihub2RlbWFzaywgYWxsbWFza3MpOwogCQlTQ0hFRF9DUFVNQVNLX1ZBUihzZW5kX2NvdmVyZWQsIGFsbG1hc2tzKTsKIApAQCAtNzA5MCw3ICs3NDAxLDcgQEAKIAkJCQkJc2VuZF9jb3ZlcmVkLCB0bXBtYXNrKTsKIAl9CiAKLQlmb3IgKGkgPSAwOyBpIDwgTUFYX05VTU5PREVTOyBpKyspIHsKKwlmb3IgKGkgPSAwOyBpIDwgbnJfbm9kZV9pZHM7IGkrKykgewogCQkvKiBTZXQgdXAgbm9kZSBncm91cHMgKi8KIAkJc3RydWN0IHNjaGVkX2dyb3VwICpzZywgKnByZXY7CiAJCVNDSEVEX0NQVU1BU0tfVkFSKG5vZGVtYXNrLCBhbGxtYXNrcyk7CkBAIC03MTI5LDkgKzc0NDAsOSBAQAogCQljcHVzX29yKCpjb3ZlcmVkLCAqY292ZXJlZCwgKm5vZGVtYXNrKTsKIAkJcHJldiA9IHNnOwogCi0JCWZvciAoaiA9IDA7IGogPCBNQVhfTlVNTk9ERVM7IGorKykgeworCQlmb3IgKGogPSAwOyBqIDwgbnJfbm9kZV9pZHM7IGorKykgewogCQkJU0NIRURfQ1BVTUFTS19WQVIobm90Y292ZXJlZCwgYWxsbWFza3MpOwotCQkJaW50IG4gPSAoaSArIGopICUgTUFYX05VTU5PREVTOworCQkJaW50IG4gPSAoaSArIGopICUgbnJfbm9kZV9pZHM7CiAJCQlub2RlX3RvX2NwdW1hc2tfcHRyKHBub2RlbWFzaywgbik7CiAKIAkJCWNwdXNfY29tcGxlbWVudCgqbm90Y292ZXJlZCwgKmNvdmVyZWQpOwpAQCAtNzE4NCw3ICs3NDk1LDcgQEAKIAl9CiAKICNpZmRlZiBDT05GSUdfTlVNQQotCWZvciAoaSA9IDA7IGkgPCBNQVhfTlVNTk9ERVM7IGkrKykKKwlmb3IgKGkgPSAwOyBpIDwgbnJfbm9kZV9pZHM7IGkrKykKIAkJaW5pdF9udW1hX3NjaGVkX2dyb3Vwc19wb3dlcihzY2hlZF9ncm91cF9ub2Rlc1tpXSk7CiAKIAlpZiAoc2RfYWxsbm9kZXMpIHsKQEAgLTc0NjksNyArNzc4MCw3IEBACiAjZW5kaWYKIAlyZXR1cm4gZXJyOwogfQotI2VuZGlmCisjZW5kaWYgLyogQ09ORklHX1NDSEVEX01DIHx8IENPTkZJR19TQ0hFRF9TTVQgKi8KIAogLyoKICAqIEZvcmNlIGEgcmVpbml0aWFsaXphdGlvbiBvZiB0aGUgc2NoZWQgZG9tYWlucyBoaWVyYXJjaHkuIFRoZSBkb21haW5zCkBAIC03NDgwLDIxICs3NzkxLDI4IEBACiBzdGF0aWMgaW50IHVwZGF0ZV9zY2hlZF9kb21haW5zKHN0cnVjdCBub3RpZmllcl9ibG9jayAqbmZiLAogCQkJCXVuc2lnbmVkIGxvbmcgYWN0aW9uLCB2b2lkICpoY3B1KQogeworCWludCBjcHUgPSAoaW50KShsb25nKWhjcHU7CisKIAlzd2l0Y2ggKGFjdGlvbikgewotCWNhc2UgQ1BVX1VQX1BSRVBBUkU6Ci0JY2FzZSBDUFVfVVBfUFJFUEFSRV9GUk9aRU46CiAJY2FzZSBDUFVfRE9XTl9QUkVQQVJFOgogCWNhc2UgQ1BVX0RPV05fUFJFUEFSRV9GUk9aRU46CisJCWRpc2FibGVfcnVudGltZShjcHVfcnEoY3B1KSk7CisJCS8qIGZhbGwtdGhyb3VnaCAqLworCWNhc2UgQ1BVX1VQX1BSRVBBUkU6CisJY2FzZSBDUFVfVVBfUFJFUEFSRV9GUk9aRU46CiAJCWRldGFjaF9kZXN0cm95X2RvbWFpbnMoJmNwdV9vbmxpbmVfbWFwKTsKIAkJZnJlZV9zY2hlZF9kb21haW5zKCk7CiAJCXJldHVybiBOT1RJRllfT0s7CiAKLQljYXNlIENQVV9VUF9DQU5DRUxFRDoKLQljYXNlIENQVV9VUF9DQU5DRUxFRF9GUk9aRU46CisKIAljYXNlIENQVV9ET1dOX0ZBSUxFRDoKIAljYXNlIENQVV9ET1dOX0ZBSUxFRF9GUk9aRU46CiAJY2FzZSBDUFVfT05MSU5FOgogCWNhc2UgQ1BVX09OTElORV9GUk9aRU46CisJCWVuYWJsZV9ydW50aW1lKGNwdV9ycShjcHUpKTsKKwkJLyogZmFsbC10aHJvdWdoICovCisJY2FzZSBDUFVfVVBfQ0FOQ0VMRUQ6CisJY2FzZSBDUFVfVVBfQ0FOQ0VMRURfRlJPWkVOOgogCWNhc2UgQ1BVX0RFQUQ6CiAJY2FzZSBDUFVfREVBRF9GUk9aRU46CiAJCS8qCkBAIC03Njk0LDggKzgwMTIsOCBAQAogCiAJCXJvb3RfdGFza19ncm91cC5jZnNfcnEgPSAoc3RydWN0IGNmc19ycSAqKilwdHI7CiAJCXB0ciArPSBucl9jcHVfaWRzICogc2l6ZW9mKHZvaWQgKiopOwotI2VuZGlmCi0jZW5kaWYKKyNlbmRpZiAvKiBDT05GSUdfVVNFUl9TQ0hFRCAqLworI2VuZGlmIC8qIENPTkZJR19GQUlSX0dST1VQX1NDSEVEICovCiAjaWZkZWYgQ09ORklHX1JUX0dST1VQX1NDSEVECiAJCWluaXRfdGFza19ncm91cC5ydF9zZSA9IChzdHJ1Y3Qgc2NoZWRfcnRfZW50aXR5ICoqKXB0cjsKIAkJcHRyICs9IG5yX2NwdV9pZHMgKiBzaXplb2Yodm9pZCAqKik7CkBAIC03NzA5LDggKzgwMjcsOCBAQAogCiAJCXJvb3RfdGFza19ncm91cC5ydF9ycSA9IChzdHJ1Y3QgcnRfcnEgKiopcHRyOwogCQlwdHIgKz0gbnJfY3B1X2lkcyAqIHNpemVvZih2b2lkICoqKTsKLSNlbmRpZgotI2VuZGlmCisjZW5kaWYgLyogQ09ORklHX1VTRVJfU0NIRUQgKi8KKyNlbmRpZiAvKiBDT05GSUdfUlRfR1JPVVBfU0NIRUQgKi8KIAl9CiAKICNpZmRlZiBDT05GSUdfU01QCkBAIC03NzI2LDggKzgwNDQsOCBAQAogI2lmZGVmIENPTkZJR19VU0VSX1NDSEVECiAJaW5pdF9ydF9iYW5kd2lkdGgoJnJvb3RfdGFza19ncm91cC5ydF9iYW5kd2lkdGgsCiAJCQlnbG9iYWxfcnRfcGVyaW9kKCksIFJVTlRJTUVfSU5GKTsKLSNlbmRpZgotI2VuZGlmCisjZW5kaWYgLyogQ09ORklHX1VTRVJfU0NIRUQgKi8KKyNlbmRpZiAvKiBDT05GSUdfUlRfR1JPVVBfU0NIRUQgKi8KIAogI2lmZGVmIENPTkZJR19HUk9VUF9TQ0hFRAogCWxpc3RfYWRkKCZpbml0X3Rhc2tfZ3JvdXAubGlzdCwgJnRhc2tfZ3JvdXBzKTsKQEAgLTc3MzcsOCArODA1NSw4IEBACiAJSU5JVF9MSVNUX0hFQUQoJnJvb3RfdGFza19ncm91cC5jaGlsZHJlbik7CiAJaW5pdF90YXNrX2dyb3VwLnBhcmVudCA9ICZyb290X3Rhc2tfZ3JvdXA7CiAJbGlzdF9hZGQoJmluaXRfdGFza19ncm91cC5zaWJsaW5ncywgJnJvb3RfdGFza19ncm91cC5jaGlsZHJlbik7Ci0jZW5kaWYKLSNlbmRpZgorI2VuZGlmIC8qIENPTkZJR19VU0VSX1NDSEVEICovCisjZW5kaWYgLyogQ09ORklHX0dST1VQX1NDSEVEICovCiAKIAlmb3JfZWFjaF9wb3NzaWJsZV9jcHUoaSkgewogCQlzdHJ1Y3QgcnEgKnJxOwpAQCAtNzgxOCw2ICs4MTM2LDcgQEAKIAkJcnEtPm5leHRfYmFsYW5jZSA9IGppZmZpZXM7CiAJCXJxLT5wdXNoX2NwdSA9IDA7CiAJCXJxLT5jcHUgPSBpOworCQlycS0+b25saW5lID0gMDsKIAkJcnEtPm1pZ3JhdGlvbl90aHJlYWQgPSBOVUxMOwogCQlJTklUX0xJU1RfSEVBRCgmcnEtPm1pZ3JhdGlvbl9xdWV1ZSk7CiAJCXJxX2F0dGFjaF9yb290KHJxLCAmZGVmX3Jvb3RfZG9tYWluKTsKQEAgLTc4MzMsNyArODE1Miw3IEBACiAjZW5kaWYKIAogI2lmZGVmIENPTkZJR19TTVAKLQlvcGVuX3NvZnRpcnEoU0NIRURfU09GVElSUSwgcnVuX3JlYmFsYW5jZV9kb21haW5zLCBOVUxMKTsKKwlvcGVuX3NvZnRpcnEoU0NIRURfU09GVElSUSwgcnVuX3JlYmFsYW5jZV9kb21haW5zKTsKICNlbmRpZgogCiAjaWZkZWYgQ09ORklHX1JUX01VVEVYRVMKQEAgLTgwNTcsNyArODM3Niw3IEBACiB7CiAJbGlzdF9kZWxfcmN1KCZ0Zy0+Y2ZzX3JxW2NwdV0tPmxlYWZfY2ZzX3JxX2xpc3QpOwogfQotI2Vsc2UKKyNlbHNlIC8qICFDT05GR19GQUlSX0dST1VQX1NDSEVEICovCiBzdGF0aWMgaW5saW5lIHZvaWQgZnJlZV9mYWlyX3NjaGVkX2dyb3VwKHN0cnVjdCB0YXNrX2dyb3VwICp0ZykKIHsKIH0KQEAgLTgwNzUsNyArODM5NCw3IEBACiBzdGF0aWMgaW5saW5lIHZvaWQgdW5yZWdpc3Rlcl9mYWlyX3NjaGVkX2dyb3VwKHN0cnVjdCB0YXNrX2dyb3VwICp0ZywgaW50IGNwdSkKIHsKIH0KLSNlbmRpZgorI2VuZGlmIC8qIENPTkZJR19GQUlSX0dST1VQX1NDSEVEICovCiAKICNpZmRlZiBDT05GSUdfUlRfR1JPVVBfU0NIRUQKIHN0YXRpYyB2b2lkIGZyZWVfcnRfc2NoZWRfZ3JvdXAoc3RydWN0IHRhc2tfZ3JvdXAgKnRnKQpAQCAtODE0Niw3ICs4NDY1LDcgQEAKIHsKIAlsaXN0X2RlbF9yY3UoJnRnLT5ydF9ycVtjcHVdLT5sZWFmX3J0X3JxX2xpc3QpOwogfQotI2Vsc2UKKyNlbHNlIC8qICFDT05GSUdfUlRfR1JPVVBfU0NIRUQgKi8KIHN0YXRpYyBpbmxpbmUgdm9pZCBmcmVlX3J0X3NjaGVkX2dyb3VwKHN0cnVjdCB0YXNrX2dyb3VwICp0ZykKIHsKIH0KQEAgLTgxNjQsNyArODQ4Myw3IEBACiBzdGF0aWMgaW5saW5lIHZvaWQgdW5yZWdpc3Rlcl9ydF9zY2hlZF9ncm91cChzdHJ1Y3QgdGFza19ncm91cCAqdGcsIGludCBjcHUpCiB7CiB9Ci0jZW5kaWYKKyNlbmRpZiAvKiBDT05GSUdfUlRfR1JPVVBfU0NIRUQgKi8KIAogI2lmZGVmIENPTkZJR19HUk9VUF9TQ0hFRAogc3RhdGljIHZvaWQgZnJlZV9zY2hlZF9ncm91cChzdHJ1Y3QgdGFza19ncm91cCAqdGcpCkBAIC04Mjc1LDE3ICs4NTk0LDE0IEBACiAKIAl0YXNrX3JxX3VubG9jayhycSwgJmZsYWdzKTsKIH0KLSNlbmRpZgorI2VuZGlmIC8qIENPTkZJR19HUk9VUF9TQ0hFRCAqLwogCiAjaWZkZWYgQ09ORklHX0ZBSVJfR1JPVVBfU0NIRUQKLXN0YXRpYyB2b2lkIHNldF9zZV9zaGFyZXMoc3RydWN0IHNjaGVkX2VudGl0eSAqc2UsIHVuc2lnbmVkIGxvbmcgc2hhcmVzKQorc3RhdGljIHZvaWQgX19zZXRfc2Vfc2hhcmVzKHN0cnVjdCBzY2hlZF9lbnRpdHkgKnNlLCB1bnNpZ25lZCBsb25nIHNoYXJlcykKIHsKIAlzdHJ1Y3QgY2ZzX3JxICpjZnNfcnEgPSBzZS0+Y2ZzX3JxOwotCXN0cnVjdCBycSAqcnEgPSBjZnNfcnEtPnJxOwogCWludCBvbl9ycTsKIAotCXNwaW5fbG9ja19pcnEoJnJxLT5sb2NrKTsKLQogCW9uX3JxID0gc2UtPm9uX3JxOwogCWlmIChvbl9ycSkKIAkJZGVxdWV1ZV9lbnRpdHkoY2ZzX3JxLCBzZSwgMCk7CkBAIC04Mjk1LDggKzg2MTEsMTcgQEAKIAogCWlmIChvbl9ycSkKIAkJZW5xdWV1ZV9lbnRpdHkoY2ZzX3JxLCBzZSwgMCk7Cit9CiAKLQlzcGluX3VubG9ja19pcnEoJnJxLT5sb2NrKTsKK3N0YXRpYyB2b2lkIHNldF9zZV9zaGFyZXMoc3RydWN0IHNjaGVkX2VudGl0eSAqc2UsIHVuc2lnbmVkIGxvbmcgc2hhcmVzKQoreworCXN0cnVjdCBjZnNfcnEgKmNmc19ycSA9IHNlLT5jZnNfcnE7CisJc3RydWN0IHJxICpycSA9IGNmc19ycS0+cnE7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZycS0+bG9jaywgZmxhZ3MpOworCV9fc2V0X3NlX3NoYXJlcyhzZSwgc2hhcmVzKTsKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZycS0+bG9jaywgZmxhZ3MpOwogfQogCiBzdGF0aWMgREVGSU5FX01VVEVYKHNoYXJlc19tdXRleCk7CkBAIC04MzM1LDggKzg2NjAsMTMgQEAKIAkgKiB3L28gdHJpcHBpbmcgcmViYWxhbmNlX3NoYXJlIG9yIGxvYWRfYmFsYW5jZV9mYWlyLgogCSAqLwogCXRnLT5zaGFyZXMgPSBzaGFyZXM7Ci0JZm9yX2VhY2hfcG9zc2libGVfY3B1KGkpCisJZm9yX2VhY2hfcG9zc2libGVfY3B1KGkpIHsKKwkJLyoKKwkJICogZm9yY2UgYSByZWJhbGFuY2UKKwkJICovCisJCWNmc19ycV9zZXRfc2hhcmVzKHRnLT5jZnNfcnFbaV0sIDApOwogCQlzZXRfc2Vfc2hhcmVzKHRnLT5zZVtpXSwgc2hhcmVzKTsKKwl9CiAKIAkvKgogCSAqIEVuYWJsZSBsb2FkIGJhbGFuY2UgYWN0aXZpdHkgb24gdGhpcyBncm91cCwgYnkgaW5zZXJ0aW5nIGl0IGJhY2sgb24KQEAgLTgzNzUsNyArODcwNSw3IEBACiAjaWZkZWYgQ09ORklHX0NHUk9VUF9TQ0hFRAogc3RhdGljIGludCBfX3J0X3NjaGVkdWxhYmxlKHN0cnVjdCB0YXNrX2dyb3VwICp0ZywgdTY0IHBlcmlvZCwgdTY0IHJ1bnRpbWUpCiB7Ci0Jc3RydWN0IHRhc2tfZ3JvdXAgKnRnaSwgKnBhcmVudCA9IHRnID8gdGctPnBhcmVudCA6IE5VTEw7CisJc3RydWN0IHRhc2tfZ3JvdXAgKnRnaSwgKnBhcmVudCA9IHRnLT5wYXJlbnQ7CiAJdW5zaWduZWQgbG9uZyB0b3RhbCA9IDA7CiAKIAlpZiAoIXBhcmVudCkgewpAQCAtODM5OSw3ICs4NzI5LDcgQEAKIAl9CiAJcmN1X3JlYWRfdW5sb2NrKCk7CiAKLQlyZXR1cm4gdG90YWwgKyB0b19yYXRpbyhwZXJpb2QsIHJ1bnRpbWUpIDwKKwlyZXR1cm4gdG90YWwgKyB0b19yYXRpbyhwZXJpb2QsIHJ1bnRpbWUpIDw9CiAJCXRvX3JhdGlvKGt0aW1lX3RvX25zKHBhcmVudC0+cnRfYmFuZHdpZHRoLnJ0X3BlcmlvZCksCiAJCQkJcGFyZW50LT5ydF9iYW5kd2lkdGgucnRfcnVudGltZSk7CiB9CkBAIC04NTE5LDE2ICs4ODQ5LDIxIEBACiAKIHN0YXRpYyBpbnQgc2NoZWRfcnRfZ2xvYmFsX2NvbnN0cmFpbnRzKHZvaWQpCiB7CisJc3RydWN0IHRhc2tfZ3JvdXAgKnRnID0gJnJvb3RfdGFza19ncm91cDsKKwl1NjQgcnRfcnVudGltZSwgcnRfcGVyaW9kOwogCWludCByZXQgPSAwOwogCisJcnRfcGVyaW9kID0ga3RpbWVfdG9fbnModGctPnJ0X2JhbmR3aWR0aC5ydF9wZXJpb2QpOworCXJ0X3J1bnRpbWUgPSB0Zy0+cnRfYmFuZHdpZHRoLnJ0X3J1bnRpbWU7CisKIAltdXRleF9sb2NrKCZydF9jb25zdHJhaW50c19tdXRleCk7Ci0JaWYgKCFfX3J0X3NjaGVkdWxhYmxlKE5VTEwsIDEsIDApKQorCWlmICghX19ydF9zY2hlZHVsYWJsZSh0ZywgcnRfcGVyaW9kLCBydF9ydW50aW1lKSkKIAkJcmV0ID0gLUVJTlZBTDsKIAltdXRleF91bmxvY2soJnJ0X2NvbnN0cmFpbnRzX211dGV4KTsKIAogCXJldHVybiByZXQ7CiB9Ci0jZWxzZQorI2Vsc2UgLyogIUNPTkZJR19SVF9HUk9VUF9TQ0hFRCAqLwogc3RhdGljIGludCBzY2hlZF9ydF9nbG9iYWxfY29uc3RyYWludHModm9pZCkKIHsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwpAQCAtODU0Niw3ICs4ODgxLDcgQEAKIAogCXJldHVybiAwOwogfQotI2VuZGlmCisjZW5kaWYgLyogQ09ORklHX1JUX0dST1VQX1NDSEVEICovCiAKIGludCBzY2hlZF9ydF9oYW5kbGVyKHN0cnVjdCBjdGxfdGFibGUgKnRhYmxlLCBpbnQgd3JpdGUsCiAJCXN0cnVjdCBmaWxlICpmaWxwLCB2b2lkIF9fdXNlciAqYnVmZmVyLCBzaXplX3QgKmxlbnAsCkBAIC04NjU0LDcgKzg5ODksNyBAQAogCiAJcmV0dXJuICh1NjQpIHRnLT5zaGFyZXM7CiB9Ci0jZW5kaWYKKyNlbmRpZiAvKiBDT05GSUdfRkFJUl9HUk9VUF9TQ0hFRCAqLwogCiAjaWZkZWYgQ09ORklHX1JUX0dST1VQX1NDSEVECiBzdGF0aWMgaW50IGNwdV9ydF9ydW50aW1lX3dyaXRlKHN0cnVjdCBjZ3JvdXAgKmNncnAsIHN0cnVjdCBjZnR5cGUgKmNmdCwKQEAgLTg2NzgsNyArOTAxMyw3IEBACiB7CiAJcmV0dXJuIHNjaGVkX2dyb3VwX3J0X3BlcmlvZChjZ3JvdXBfdGcoY2dycCkpOwogfQotI2VuZGlmCisjZW5kaWYgLyogQ09ORklHX1JUX0dST1VQX1NDSEVEICovCiAKIHN0YXRpYyBzdHJ1Y3QgY2Z0eXBlIGNwdV9maWxlc1tdID0gewogI2lmZGVmIENPTkZJR19GQUlSX0dST1VQX1NDSEVECmRpZmYgLS1naXQgYS9rZXJuZWwvc2NoZWRfY2xvY2suYyBiL2tlcm5lbC9zY2hlZF9jbG9jay5jCmluZGV4IGNlMDUyNzEuLjIyZWQ1NWQgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9zY2hlZF9jbG9jay5jCisrKyBiL2tlcm5lbC9zY2hlZF9jbG9jay5jCkBAIC0zLDYgKzMsOSBAQAogICoKICAqICBDb3B5cmlnaHQgKEMpIDIwMDggUmVkIEhhdCwgSW5jLiwgUGV0ZXIgWmlqbHN0cmEgPHB6aWpsc3RyQHJlZGhhdC5jb20+CiAgKgorICogIFVwZGF0ZXMgYW5kIGVuaGFuY2VtZW50czoKKyAqICAgIENvcHlyaWdodCAoQykgMjAwOCBSZWQgSGF0LCBJbmMuIFN0ZXZlbiBSb3N0ZWR0IDxzcm9zdGVkdEByZWRoYXQuY29tPgorICoKICAqIEJhc2VkIG9uIGNvZGUgYnk6CiAgKiAgIEluZ28gTW9sbmFyIDxtaW5nb0ByZWRoYXQuY29tPgogICogICBHdWlsbGF1bWUgQ2hhemFyYWluIDxndWljaGF6QGdtYWlsLmNvbT4KQEAgLTMyLDYgKzM1LDExIEBACiAKICNpZmRlZiBDT05GSUdfSEFWRV9VTlNUQUJMRV9TQ0hFRF9DTE9DSwogCisjZGVmaW5lIE1VTFRJX1NISUZUIDE1CisvKiBNYXggaXMgZG91YmxlLCBNaW4gaXMgMS8yICovCisjZGVmaW5lIE1BWF9NVUxUSSAoMkxMIDw8IE1VTFRJX1NISUZUKQorI2RlZmluZSBNSU5fTVVMVEkgKDFMTCA8PCAoTVVMVElfU0hJRlQtMSkpCisKIHN0cnVjdCBzY2hlZF9jbG9ja19kYXRhIHsKIAkvKgogCSAqIFJhdyBzcGlubG9jayAtIHRoaXMgaXMgYSBzcGVjaWFsIGNhc2U6IHRoaXMgbWlnaHQgYmUgY2FsbGVkCkBAIC00MCwxMSArNDgsMTUgQEAKIAkgKi8KIAlyYXdfc3BpbmxvY2tfdAkJbG9jazsKIAotCXVuc2lnbmVkIGxvbmcJCXByZXZfamlmZmllczsKKwl1bnNpZ25lZCBsb25nCQl0aWNrX2ppZmZpZXM7CiAJdTY0CQkJcHJldl9yYXc7CiAJdTY0CQkJdGlja19yYXc7CiAJdTY0CQkJdGlja19ndG9kOwogCXU2NAkJCWNsb2NrOworCXM2NAkJCW11bHRpOworI2lmZGVmIENPTkZJR19OT19IWgorCWludAkJCWNoZWNrX21heDsKKyNlbmRpZgogfTsKIAogc3RhdGljIERFRklORV9QRVJfQ1BVX1NIQVJFRF9BTElHTkVEKHN0cnVjdCBzY2hlZF9jbG9ja19kYXRhLCBzY2hlZF9jbG9ja19kYXRhKTsKQEAgLTcxLDQxICs4Myw5MSBAQAogCQlzdHJ1Y3Qgc2NoZWRfY2xvY2tfZGF0YSAqc2NkID0gY3B1X3NkYyhjcHUpOwogCiAJCXNjZC0+bG9jayA9IChyYXdfc3BpbmxvY2tfdClfX1JBV19TUElOX0xPQ0tfVU5MT0NLRUQ7Ci0JCXNjZC0+cHJldl9qaWZmaWVzID0gbm93X2ppZmZpZXM7CisJCXNjZC0+dGlja19qaWZmaWVzID0gbm93X2ppZmZpZXM7CiAJCXNjZC0+cHJldl9yYXcgPSAwOwogCQlzY2QtPnRpY2tfcmF3ID0gMDsKIAkJc2NkLT50aWNrX2d0b2QgPSBrdGltZV9ub3c7CiAJCXNjZC0+Y2xvY2sgPSBrdGltZV9ub3c7CisJCXNjZC0+bXVsdGkgPSAxIDw8IE1VTFRJX1NISUZUOworI2lmZGVmIENPTkZJR19OT19IWgorCQlzY2QtPmNoZWNrX21heCA9IDE7CisjZW5kaWYKIAl9CiAKIAlzY2hlZF9jbG9ja19ydW5uaW5nID0gMTsKIH0KIAorI2lmZGVmIENPTkZJR19OT19IWgorLyoKKyAqIFRoZSBkeW5hbWljIHRpY2tzIG1ha2VzIHRoZSBkZWx0YSBqaWZmaWVzIGluYWNjdXJhdGUuIFRoaXMKKyAqIHByZXZlbnRzIHVzIGZyb20gY2hlY2tpbmcgdGhlIG1heGltdW0gdGltZSB1cGRhdGUuCisgKiBEaXNhYmxlIHRoZSBtYXhpbXVtIGNoZWNrIGR1cmluZyBzdG9wcGVkIHRpY2tzLgorICovCit2b2lkIHNjaGVkX2Nsb2NrX3RpY2tfc3RvcChpbnQgY3B1KQoreworCXN0cnVjdCBzY2hlZF9jbG9ja19kYXRhICpzY2QgPSBjcHVfc2RjKGNwdSk7CisKKwlzY2QtPmNoZWNrX21heCA9IDA7Cit9CisKK3ZvaWQgc2NoZWRfY2xvY2tfdGlja19zdGFydChpbnQgY3B1KQoreworCXN0cnVjdCBzY2hlZF9jbG9ja19kYXRhICpzY2QgPSBjcHVfc2RjKGNwdSk7CisKKwlzY2QtPmNoZWNrX21heCA9IDE7Cit9CisKK3N0YXRpYyBpbnQgY2hlY2tfbWF4KHN0cnVjdCBzY2hlZF9jbG9ja19kYXRhICpzY2QpCit7CisJcmV0dXJuIHNjZC0+Y2hlY2tfbWF4OworfQorI2Vsc2UKK3N0YXRpYyBpbnQgY2hlY2tfbWF4KHN0cnVjdCBzY2hlZF9jbG9ja19kYXRhICpzY2QpCit7CisJcmV0dXJuIDE7Cit9CisjZW5kaWYgLyogQ09ORklHX05PX0haICovCisKIC8qCiAgKiB1cGRhdGUgdGhlIHBlcmNwdSBzY2QgZnJvbSB0aGUgcmF3IEBub3cgdmFsdWUKICAqCiAgKiAgLSBmaWx0ZXIgb3V0IGJhY2t3YXJkIG1vdGlvbgogICogIC0gdXNlIGppZmZpZXMgdG8gZ2VuZXJhdGUgYSBtaW4sbWF4IHdpbmRvdyB0byBjbGlwIHRoZSByYXcgdmFsdWVzCiAgKi8KLXN0YXRpYyB2b2lkIF9fdXBkYXRlX3NjaGVkX2Nsb2NrKHN0cnVjdCBzY2hlZF9jbG9ja19kYXRhICpzY2QsIHU2NCBub3cpCitzdGF0aWMgdm9pZCBfX3VwZGF0ZV9zY2hlZF9jbG9jayhzdHJ1Y3Qgc2NoZWRfY2xvY2tfZGF0YSAqc2NkLCB1NjQgbm93LCB1NjQgKnRpbWUpCiB7CiAJdW5zaWduZWQgbG9uZyBub3dfamlmZmllcyA9IGppZmZpZXM7Ci0JbG9uZyBkZWx0YV9qaWZmaWVzID0gbm93X2ppZmZpZXMgLSBzY2QtPnByZXZfamlmZmllczsKKwlsb25nIGRlbHRhX2ppZmZpZXMgPSBub3dfamlmZmllcyAtIHNjZC0+dGlja19qaWZmaWVzOwogCXU2NCBjbG9jayA9IHNjZC0+Y2xvY2s7CiAJdTY0IG1pbl9jbG9jaywgbWF4X2Nsb2NrOwogCXM2NCBkZWx0YSA9IG5vdyAtIHNjZC0+cHJldl9yYXc7CiAKIAlXQVJOX09OX09OQ0UoIWlycXNfZGlzYWJsZWQoKSk7Ci0JbWluX2Nsb2NrID0gc2NkLT50aWNrX2d0b2QgKyBkZWx0YV9qaWZmaWVzICogVElDS19OU0VDOworCisJLyoKKwkgKiBBdCBzY2hlZHVsZSB0aWNrIHRoZSBjbG9jayBjYW4gYmUganVzdCB1bmRlciB0aGUgZ3RvZC4gV2UgZG9uJ3QKKwkgKiB3YW50IHRvIHB1c2ggaXQgdG9vIHByZW1hdHVyZWx5LgorCSAqLworCW1pbl9jbG9jayA9IHNjZC0+dGlja19ndG9kICsgKGRlbHRhX2ppZmZpZXMgKiBUSUNLX05TRUMpOworCWlmIChtaW5fY2xvY2sgPiBUSUNLX05TRUMpCisJCW1pbl9jbG9jayAtPSBUSUNLX05TRUMgLyAyOwogCiAJaWYgKHVubGlrZWx5KGRlbHRhIDwgMCkpIHsKIAkJY2xvY2srKzsKIAkJZ290byBvdXQ7CiAJfQogCi0JbWF4X2Nsb2NrID0gbWluX2Nsb2NrICsgVElDS19OU0VDOworCS8qCisJICogVGhlIGNsb2NrIG11c3Qgc3RheSB3aXRoaW4gYSBqaWZmaWUgb2YgdGhlIGd0b2QuCisJICogQnV0IHNpbmNlIHdlIG1heSBiZSBhdCB0aGUgc3RhcnQgb2YgYSBqaWZmeSBvciB0aGUgZW5kIG9mIG9uZQorCSAqIHdlIGFkZCBhbm90aGVyIGppZmZ5IGJ1ZmZlci4KKwkgKi8KKwltYXhfY2xvY2sgPSBzY2QtPnRpY2tfZ3RvZCArICgyICsgZGVsdGFfamlmZmllcykgKiBUSUNLX05TRUM7CiAKLQlpZiAodW5saWtlbHkoY2xvY2sgKyBkZWx0YSA+IG1heF9jbG9jaykpIHsKKwlkZWx0YSAqPSBzY2QtPm11bHRpOworCWRlbHRhID4+PSBNVUxUSV9TSElGVDsKKworCWlmICh1bmxpa2VseShjbG9jayArIGRlbHRhID4gbWF4X2Nsb2NrKSAmJiBjaGVja19tYXgoc2NkKSkgewogCQlpZiAoY2xvY2sgPCBtYXhfY2xvY2spCiAJCQljbG9jayA9IG1heF9jbG9jazsKIAkJZWxzZQpAQCAtMTE4LDkgKzE4MCwxMiBAQAogCWlmICh1bmxpa2VseShjbG9jayA8IG1pbl9jbG9jaykpCiAJCWNsb2NrID0gbWluX2Nsb2NrOwogCi0Jc2NkLT5wcmV2X3JhdyA9IG5vdzsKLQlzY2QtPnByZXZfamlmZmllcyA9IG5vd19qaWZmaWVzOwotCXNjZC0+Y2xvY2sgPSBjbG9jazsKKwlpZiAodGltZSkKKwkJKnRpbWUgPSBjbG9jazsKKwllbHNlIHsKKwkJc2NkLT5wcmV2X3JhdyA9IG5vdzsKKwkJc2NkLT5jbG9jayA9IGNsb2NrOworCX0KIH0KIAogc3RhdGljIHZvaWQgbG9ja19kb3VibGVfY2xvY2soc3RydWN0IHNjaGVkX2Nsb2NrX2RhdGEgKmRhdGExLApAQCAtMTYwLDI1ICsyMjUsMzAgQEAKIAkJbm93IC09IG15X3NjZC0+dGlja19yYXc7CiAJCW5vdyArPSBzY2QtPnRpY2tfcmF3OwogCi0JCW5vdyAtPSBteV9zY2QtPnRpY2tfZ3RvZDsKLQkJbm93ICs9IHNjZC0+dGlja19ndG9kOworCQlub3cgKz0gbXlfc2NkLT50aWNrX2d0b2Q7CisJCW5vdyAtPSBzY2QtPnRpY2tfZ3RvZDsKIAogCQlfX3Jhd19zcGluX3VubG9jaygmbXlfc2NkLT5sb2NrKTsKKworCQlfX3VwZGF0ZV9zY2hlZF9jbG9jayhzY2QsIG5vdywgJmNsb2NrKTsKKworCQlfX3Jhd19zcGluX3VubG9jaygmc2NkLT5sb2NrKTsKKwogCX0gZWxzZSB7CiAJCV9fcmF3X3NwaW5fbG9jaygmc2NkLT5sb2NrKTsKKwkJX191cGRhdGVfc2NoZWRfY2xvY2soc2NkLCBub3csIE5VTEwpOworCQljbG9jayA9IHNjZC0+Y2xvY2s7CisJCV9fcmF3X3NwaW5fdW5sb2NrKCZzY2QtPmxvY2spOwogCX0KIAotCV9fdXBkYXRlX3NjaGVkX2Nsb2NrKHNjZCwgbm93KTsKLQljbG9jayA9IHNjZC0+Y2xvY2s7Ci0KLQlfX3Jhd19zcGluX3VubG9jaygmc2NkLT5sb2NrKTsKLQogCXJldHVybiBjbG9jazsKIH0KIAogdm9pZCBzY2hlZF9jbG9ja190aWNrKHZvaWQpCiB7CiAJc3RydWN0IHNjaGVkX2Nsb2NrX2RhdGEgKnNjZCA9IHRoaXNfc2NkKCk7CisJdW5zaWduZWQgbG9uZyBub3dfamlmZmllcyA9IGppZmZpZXM7CisJczY0IG11bHQsIGRlbHRhX2d0b2QsIGRlbHRhX3JhdzsKIAl1NjQgbm93LCBub3dfZ3RvZDsKIAogCWlmICh1bmxpa2VseSghc2NoZWRfY2xvY2tfcnVubmluZykpCkBAIC0xODYsMTggKzI1NiwzMyBAQAogCiAJV0FSTl9PTl9PTkNFKCFpcnFzX2Rpc2FibGVkKCkpOwogCi0Jbm93ID0gc2NoZWRfY2xvY2soKTsKIAlub3dfZ3RvZCA9IGt0aW1lX3RvX25zKGt0aW1lX2dldCgpKTsKKwlub3cgPSBzY2hlZF9jbG9jaygpOwogCiAJX19yYXdfc3Bpbl9sb2NrKCZzY2QtPmxvY2spOwotCV9fdXBkYXRlX3NjaGVkX2Nsb2NrKHNjZCwgbm93KTsKKwlfX3VwZGF0ZV9zY2hlZF9jbG9jayhzY2QsIG5vdywgTlVMTCk7CiAJLyoKIAkgKiB1cGRhdGUgdGlja19ndG9kIGFmdGVyIF9fdXBkYXRlX3NjaGVkX2Nsb2NrKCkgYmVjYXVzZSB0aGF0IHdpbGwKIAkgKiBhbHJlYWR5IG9ic2VydmUgMSBuZXcgamlmZnk7IGFkZGluZyBhIG5ldyB0aWNrX2d0b2QgdG8gdGhhdCB3b3VsZAogCSAqIGluY3JlYXNlIHRoZSBjbG9jayAyIGppZmZpZXMuCiAJICovCisJZGVsdGFfZ3RvZCA9IG5vd19ndG9kIC0gc2NkLT50aWNrX2d0b2Q7CisJZGVsdGFfcmF3ID0gbm93IC0gc2NkLT50aWNrX3JhdzsKKworCWlmICgobG9uZylkZWx0YV9yYXcgPiAwKSB7CisJCW11bHQgPSBkZWx0YV9ndG9kIDw8IE1VTFRJX1NISUZUOworCQlkb19kaXYobXVsdCwgZGVsdGFfcmF3KTsKKwkJc2NkLT5tdWx0aSA9IG11bHQ7CisJCWlmIChzY2QtPm11bHRpID4gTUFYX01VTFRJKQorCQkJc2NkLT5tdWx0aSA9IE1BWF9NVUxUSTsKKwkJZWxzZSBpZiAoc2NkLT5tdWx0aSA8IE1JTl9NVUxUSSkKKwkJCXNjZC0+bXVsdGkgPSBNSU5fTVVMVEk7CisJfSBlbHNlCisJCXNjZC0+bXVsdGkgPSAxIDw8IE1VTFRJX1NISUZUOworCiAJc2NkLT50aWNrX3JhdyA9IG5vdzsKIAlzY2QtPnRpY2tfZ3RvZCA9IG5vd19ndG9kOworCXNjZC0+dGlja19qaWZmaWVzID0gbm93X2ppZmZpZXM7CiAJX19yYXdfc3Bpbl91bmxvY2soJnNjZC0+bG9jayk7CiB9CiAKQEAgLTIyNyw2ICszMTIsNyBAQAogCV9fcmF3X3NwaW5fbG9jaygmc2NkLT5sb2NrKTsKIAlzY2QtPnByZXZfcmF3ID0gbm93OwogCXNjZC0+Y2xvY2sgKz0gZGVsdGFfbnM7CisJc2NkLT5tdWx0aSA9IDEgPDwgTVVMVElfU0hJRlQ7CiAJX19yYXdfc3Bpbl91bmxvY2soJnNjZC0+bG9jayk7CiAKIAl0b3VjaF9zb2Z0bG9ja3VwX3dhdGNoZG9nKCk7CkBAIC0yNDQsMyArMzMwLDE2IEBACiB7CiAJcmV0dXJuICh1bnNpZ25lZCBsb25nIGxvbmcpamlmZmllcyAqIChOU0VDX1BFUl9TRUMgLyBIWik7CiB9CisKK3Vuc2lnbmVkIGxvbmcgbG9uZyBjcHVfY2xvY2soaW50IGNwdSkKK3sKKwl1bnNpZ25lZCBsb25nIGxvbmcgY2xvY2s7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKKwljbG9jayA9IHNjaGVkX2Nsb2NrX2NwdShjcHUpOworCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKKworCXJldHVybiBjbG9jazsKK30KK0VYUE9SVF9TWU1CT0xfR1BMKGNwdV9jbG9jayk7CmRpZmYgLS1naXQgYS9rZXJuZWwvc2NoZWRfY3B1cHJpLmMgYi9rZXJuZWwvc2NoZWRfY3B1cHJpLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTIxNTRmZQotLS0gL2Rldi9udWxsCisrKyBiL2tlcm5lbC9zY2hlZF9jcHVwcmkuYwpAQCAtMCwwICsxLDE3NCBAQAorLyoKKyAqICBrZXJuZWwvc2NoZWRfY3B1cHJpLmMKKyAqCisgKiAgQ1BVIHByaW9yaXR5IG1hbmFnZW1lbnQKKyAqCisgKiAgQ29weXJpZ2h0IChDKSAyMDA3LTIwMDggTm92ZWxsCisgKgorICogIEF1dGhvcjogR3JlZ29yeSBIYXNraW5zIDxnaGFza2luc0Bub3ZlbGwuY29tPgorICoKKyAqICBUaGlzIGNvZGUgdHJhY2tzIHRoZSBwcmlvcml0eSBvZiBlYWNoIENQVSBzbyB0aGF0IGdsb2JhbCBtaWdyYXRpb24KKyAqICBkZWNpc2lvbnMgYXJlIGVhc3kgdG8gY2FsY3VsYXRlLiAgRWFjaCBDUFUgY2FuIGJlIGluIGEgc3RhdGUgYXMgZm9sbG93czoKKyAqCisgKiAgICAgICAgICAgICAgICAgKElOVkFMSUQpLCBJRExFLCBOT1JNQUwsIFJUMSwgLi4uIFJUOTkKKyAqCisgKiAgZ29pbmcgZnJvbSB0aGUgbG93ZXN0IHByaW9yaXR5IHRvIHRoZSBoaWdoZXN0LiAgQ1BVcyBpbiB0aGUgSU5WQUxJRCBzdGF0ZQorICogIGFyZSBub3QgZWxpZ2libGUgZm9yIHJvdXRpbmcuICBUaGUgc3lzdGVtIG1haW50YWlucyB0aGlzIHN0YXRlIHdpdGgKKyAqICBhIDIgZGltZW5zaW9uYWwgYml0bWFwICh0aGUgZmlyc3QgZm9yIHByaW9yaXR5IGNsYXNzLCB0aGUgc2Vjb25kIGZvciBjcHVzCisgKiAgaW4gdGhhdCBjbGFzcykuICBUaGVyZWZvcmUgYSB0eXBpY2FsIGFwcGxpY2F0aW9uIHdpdGhvdXQgYWZmaW5pdHkKKyAqICByZXN0cmljdGlvbnMgY2FuIGZpbmQgYSBzdWl0YWJsZSBDUFUgd2l0aCBPKDEpIGNvbXBsZXhpdHkgKGUuZy4gdHdvIGJpdAorICogIHNlYXJjaGVzKS4gIEZvciB0YXNrcyB3aXRoIGFmZmluaXR5IHJlc3RyaWN0aW9ucywgdGhlIGFsZ29yaXRobSBoYXMgYQorICogIHdvcnN0IGNhc2UgY29tcGxleGl0eSBvZiBPKG1pbigxMDIsIG5yX2RvbWNwdXMpKSwgdGhvdWdoIHRoZSBzY2VuYXJpbyB0aGF0CisgKiAgeWllbGRzIHRoZSB3b3JzdCBjYXNlIHNlYXJjaCBpcyBmYWlybHkgY29udHJpdmVkLgorICoKKyAqICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqICBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgdmVyc2lvbiAyCisgKiAgb2YgdGhlIExpY2Vuc2UuCisgKi8KKworI2luY2x1ZGUgInNjaGVkX2NwdXByaS5oIgorCisvKiBDb252ZXJ0IGJldHdlZW4gYSAxNDAgYmFzZWQgdGFzay0+cHJpbywgYW5kIG91ciAxMDIgYmFzZWQgY3B1cHJpICovCitzdGF0aWMgaW50IGNvbnZlcnRfcHJpbyhpbnQgcHJpbykKK3sKKwlpbnQgY3B1cHJpOworCisJaWYgKHByaW8gPT0gQ1BVUFJJX0lOVkFMSUQpCisJCWNwdXByaSA9IENQVVBSSV9JTlZBTElEOworCWVsc2UgaWYgKHByaW8gPT0gTUFYX1BSSU8pCisJCWNwdXByaSA9IENQVVBSSV9JRExFOworCWVsc2UgaWYgKHByaW8gPj0gTUFYX1JUX1BSSU8pCisJCWNwdXByaSA9IENQVVBSSV9OT1JNQUw7CisJZWxzZQorCQljcHVwcmkgPSBNQVhfUlRfUFJJTyAtIHByaW8gKyAxOworCisJcmV0dXJuIGNwdXByaTsKK30KKworI2RlZmluZSBmb3JfZWFjaF9jcHVwcmlfYWN0aXZlKGFycmF5LCBpZHgpICAgICAgICAgICAgICAgICAgICBcCisgIGZvciAoaWR4ID0gZmluZF9maXJzdF9iaXQoYXJyYXksIENQVVBSSV9OUl9QUklPUklUSUVTKTsgICAgIFwKKyAgICAgICBpZHggPCBDUFVQUklfTlJfUFJJT1JJVElFUzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgIGlkeCA9IGZpbmRfbmV4dF9iaXQoYXJyYXksIENQVVBSSV9OUl9QUklPUklUSUVTLCBpZHgrMSkpCisKKy8qKgorICogY3B1cHJpX2ZpbmQgLSBmaW5kIHRoZSBiZXN0IChsb3dlc3QtcHJpKSBDUFUgaW4gdGhlIHN5c3RlbQorICogQGNwOiBUaGUgY3B1cHJpIGNvbnRleHQKKyAqIEBwOiBUaGUgdGFzaworICogQGxvd2VzdF9tYXNrOiBBIG1hc2sgdG8gZmlsbCBpbiB3aXRoIHNlbGVjdGVkIENQVXMKKyAqCisgKiBOb3RlOiBUaGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIHJlY29tbWVuZGVkIENQVXMgYXMgY2FsY3VsYXRlZCBkdXJpbmcgdGhlCisgKiBjdXJyZW50IGludm9rYXRpb24uICBCeSB0aGUgdGltZSB0aGUgY2FsbCByZXR1cm5zLCB0aGUgQ1BVcyBtYXkgaGF2ZSBpbgorICogZmFjdCBjaGFuZ2VkIHByaW9yaXRpZXMgYW55IG51bWJlciBvZiB0aW1lcy4gIFdoaWxlIG5vdCBpZGVhbCwgaXQgaXMgbm90CisgKiBhbiBpc3N1ZSBvZiBjb3JyZWN0bmVzcyBzaW5jZSB0aGUgbm9ybWFsIHJlYmFsYW5jZXIgbG9naWMgd2lsbCBjb3JyZWN0CisgKiBhbnkgZGlzY3JlcGFuY2llcyBjcmVhdGVkIGJ5IHJhY2luZyBhZ2FpbnN0IHRoZSB1bmNlcnRhaW50eSBvZiB0aGUgY3VycmVudAorICogcHJpb3JpdHkgY29uZmlndXJhdGlvbi4KKyAqCisgKiBSZXR1cm5zOiAoaW50KWJvb2wgLSBDUFVzIHdlcmUgZm91bmQKKyAqLworaW50IGNwdXByaV9maW5kKHN0cnVjdCBjcHVwcmkgKmNwLCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAsCisJCWNwdW1hc2tfdCAqbG93ZXN0X21hc2spCit7CisJaW50ICAgICAgICAgICAgICAgICAgaWR4ICAgICAgPSAwOworCWludCAgICAgICAgICAgICAgICAgIHRhc2tfcHJpID0gY29udmVydF9wcmlvKHAtPnByaW8pOworCisJZm9yX2VhY2hfY3B1cHJpX2FjdGl2ZShjcC0+cHJpX2FjdGl2ZSwgaWR4KSB7CisJCXN0cnVjdCBjcHVwcmlfdmVjICp2ZWMgID0gJmNwLT5wcmlfdG9fY3B1W2lkeF07CisJCWNwdW1hc2tfdCBtYXNrOworCisJCWlmIChpZHggPj0gdGFza19wcmkpCisJCQlicmVhazsKKworCQljcHVzX2FuZChtYXNrLCBwLT5jcHVzX2FsbG93ZWQsIHZlYy0+bWFzayk7CisKKwkJaWYgKGNwdXNfZW1wdHkobWFzaykpCisJCQljb250aW51ZTsKKworCQkqbG93ZXN0X21hc2sgPSBtYXNrOworCQlyZXR1cm4gMTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBjcHVwcmlfc2V0IC0gdXBkYXRlIHRoZSBjcHUgcHJpb3JpdHkgc2V0dGluZworICogQGNwOiBUaGUgY3B1cHJpIGNvbnRleHQKKyAqIEBjcHU6IFRoZSB0YXJnZXQgY3B1CisgKiBAcHJpOiBUaGUgcHJpb3JpdHkgKElOVkFMSUQtUlQ5OSkgdG8gYXNzaWduIHRvIHRoaXMgQ1BVCisgKgorICogTm90ZTogQXNzdW1lcyBjcHVfcnEoY3B1KS0+bG9jayBpcyBsb2NrZWQKKyAqCisgKiBSZXR1cm5zOiAodm9pZCkKKyAqLwordm9pZCBjcHVwcmlfc2V0KHN0cnVjdCBjcHVwcmkgKmNwLCBpbnQgY3B1LCBpbnQgbmV3cHJpKQoreworCWludCAgICAgICAgICAgICAgICAgKmN1cnJwcmkgPSAmY3AtPmNwdV90b19wcmlbY3B1XTsKKwlpbnQgICAgICAgICAgICAgICAgICBvbGRwcmkgID0gKmN1cnJwcmk7CisJdW5zaWduZWQgbG9uZyAgICAgICAgZmxhZ3M7CisKKwluZXdwcmkgPSBjb252ZXJ0X3ByaW8obmV3cHJpKTsKKworCUJVR19PTihuZXdwcmkgPj0gQ1BVUFJJX05SX1BSSU9SSVRJRVMpOworCisJaWYgKG5ld3ByaSA9PSBvbGRwcmkpCisJCXJldHVybjsKKworCS8qCisJICogSWYgdGhlIGNwdSB3YXMgY3VycmVudGx5IG1hcHBlZCB0byBhIGRpZmZlcmVudCB2YWx1ZSwgd2UKKwkgKiBmaXJzdCBuZWVkIHRvIHVubWFwIHRoZSBvbGQgdmFsdWUKKwkgKi8KKwlpZiAobGlrZWx5KG9sZHByaSAhPSBDUFVQUklfSU5WQUxJRCkpIHsKKwkJc3RydWN0IGNwdXByaV92ZWMgKnZlYyAgPSAmY3AtPnByaV90b19jcHVbb2xkcHJpXTsKKworCQlzcGluX2xvY2tfaXJxc2F2ZSgmdmVjLT5sb2NrLCBmbGFncyk7CisKKwkJdmVjLT5jb3VudC0tOworCQlpZiAoIXZlYy0+Y291bnQpCisJCQljbGVhcl9iaXQob2xkcHJpLCBjcC0+cHJpX2FjdGl2ZSk7CisJCWNwdV9jbGVhcihjcHUsIHZlYy0+bWFzayk7CisKKwkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmdmVjLT5sb2NrLCBmbGFncyk7CisJfQorCisJaWYgKGxpa2VseShuZXdwcmkgIT0gQ1BVUFJJX0lOVkFMSUQpKSB7CisJCXN0cnVjdCBjcHVwcmlfdmVjICp2ZWMgPSAmY3AtPnByaV90b19jcHVbbmV3cHJpXTsKKworCQlzcGluX2xvY2tfaXJxc2F2ZSgmdmVjLT5sb2NrLCBmbGFncyk7CisKKwkJY3B1X3NldChjcHUsIHZlYy0+bWFzayk7CisJCXZlYy0+Y291bnQrKzsKKwkJaWYgKHZlYy0+Y291bnQgPT0gMSkKKwkJCXNldF9iaXQobmV3cHJpLCBjcC0+cHJpX2FjdGl2ZSk7CisKKwkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmdmVjLT5sb2NrLCBmbGFncyk7CisJfQorCisJKmN1cnJwcmkgPSBuZXdwcmk7Cit9CisKKy8qKgorICogY3B1cHJpX2luaXQgLSBpbml0aWFsaXplIHRoZSBjcHVwcmkgc3RydWN0dXJlCisgKiBAY3A6IFRoZSBjcHVwcmkgY29udGV4dAorICoKKyAqIFJldHVybnM6ICh2b2lkKQorICovCit2b2lkIGNwdXByaV9pbml0KHN0cnVjdCBjcHVwcmkgKmNwKQoreworCWludCBpOworCisJbWVtc2V0KGNwLCAwLCBzaXplb2YoKmNwKSk7CisKKwlmb3IgKGkgPSAwOyBpIDwgQ1BVUFJJX05SX1BSSU9SSVRJRVM7IGkrKykgeworCQlzdHJ1Y3QgY3B1cHJpX3ZlYyAqdmVjID0gJmNwLT5wcmlfdG9fY3B1W2ldOworCisJCXNwaW5fbG9ja19pbml0KCZ2ZWMtPmxvY2spOworCQl2ZWMtPmNvdW50ID0gMDsKKwkJY3B1c19jbGVhcih2ZWMtPm1hc2spOworCX0KKworCWZvcl9lYWNoX3Bvc3NpYmxlX2NwdShpKQorCQljcC0+Y3B1X3RvX3ByaVtpXSA9IENQVVBSSV9JTlZBTElEOworfQorCisKZGlmZiAtLWdpdCBhL2tlcm5lbC9zY2hlZF9jcHVwcmkuaCBiL2tlcm5lbC9zY2hlZF9jcHVwcmkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMjU4MTFiMAotLS0gL2Rldi9udWxsCisrKyBiL2tlcm5lbC9zY2hlZF9jcHVwcmkuaApAQCAtMCwwICsxLDM2IEBACisjaWZuZGVmIF9MSU5VWF9DUFVQUklfSAorI2RlZmluZSBfTElOVVhfQ1BVUFJJX0gKKworI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CisKKyNkZWZpbmUgQ1BVUFJJX05SX1BSSU9SSVRJRVMJKE1BWF9SVF9QUklPICsgMikKKyNkZWZpbmUgQ1BVUFJJX05SX1BSSV9XT1JEUwlCSVRTX1RPX0xPTkdTKENQVVBSSV9OUl9QUklPUklUSUVTKQorCisjZGVmaW5lIENQVVBSSV9JTlZBTElEIC0xCisjZGVmaW5lIENQVVBSSV9JRExFICAgICAwCisjZGVmaW5lIENQVVBSSV9OT1JNQUwgICAxCisvKiB2YWx1ZXMgMi0xMDEgYXJlIFJUIHByaW9yaXRpZXMgMC05OSAqLworCitzdHJ1Y3QgY3B1cHJpX3ZlYyB7CisJc3BpbmxvY2tfdCBsb2NrOworCWludCAgICAgICAgY291bnQ7CisJY3B1bWFza190ICBtYXNrOworfTsKKworc3RydWN0IGNwdXByaSB7CisJc3RydWN0IGNwdXByaV92ZWMgcHJpX3RvX2NwdVtDUFVQUklfTlJfUFJJT1JJVElFU107CisJbG9uZyAgICAgICAgICAgICAgcHJpX2FjdGl2ZVtDUFVQUklfTlJfUFJJX1dPUkRTXTsKKwlpbnQgICAgICAgICAgICAgICBjcHVfdG9fcHJpW05SX0NQVVNdOworfTsKKworI2lmZGVmIENPTkZJR19TTVAKK2ludCAgY3B1cHJpX2ZpbmQoc3RydWN0IGNwdXByaSAqY3AsCisJCSBzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAsIGNwdW1hc2tfdCAqbG93ZXN0X21hc2spOwordm9pZCBjcHVwcmlfc2V0KHN0cnVjdCBjcHVwcmkgKmNwLCBpbnQgY3B1LCBpbnQgcHJpKTsKK3ZvaWQgY3B1cHJpX2luaXQoc3RydWN0IGNwdXByaSAqY3ApOworI2Vsc2UKKyNkZWZpbmUgY3B1cHJpX3NldChjcCwgY3B1LCBwcmkpIGRvIHsgfSB3aGlsZSAoMCkKKyNkZWZpbmUgY3B1cHJpX2luaXQoKSBkbyB7IH0gd2hpbGUgKDApCisjZW5kaWYKKworI2VuZGlmIC8qIF9MSU5VWF9DUFVQUklfSCAqLwpkaWZmIC0tZ2l0IGEva2VybmVsL3NjaGVkX2RlYnVnLmMgYi9rZXJuZWwvc2NoZWRfZGVidWcuYwppbmRleCA4YmI3MTMwLi5iYmU2YjMxIDEwMDY0NAotLS0gYS9rZXJuZWwvc2NoZWRfZGVidWcuYworKysgYi9rZXJuZWwvc2NoZWRfZGVidWcuYwpAQCAtMTE5LDkgKzExOSw3IEBACiAJc3RydWN0IHNjaGVkX2VudGl0eSAqbGFzdDsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCi0jaWYgIWRlZmluZWQoQ09ORklHX0NHUk9VUF9TQ0hFRCkgfHwgIWRlZmluZWQoQ09ORklHX1VTRVJfU0NIRUQpCi0JU0VRX3ByaW50ZihtLCAiXG5jZnNfcnFbJWRdOlxuIiwgY3B1KTsKLSNlbHNlCisjaWYgZGVmaW5lZChDT05GSUdfQ0dST1VQX1NDSEVEKSAmJiBkZWZpbmVkKENPTkZJR19GQUlSX0dST1VQX1NDSEVEKQogCWNoYXIgcGF0aFsxMjhdID0gIiI7CiAJc3RydWN0IGNncm91cCAqY2dyb3VwID0gTlVMTDsKIAlzdHJ1Y3QgdGFza19ncm91cCAqdGcgPSBjZnNfcnEtPnRnOwpAQCAtMTMzLDYgKzEzMSw4IEBACiAJCWNncm91cF9wYXRoKGNncm91cCwgcGF0aCwgc2l6ZW9mKHBhdGgpKTsKIAogCVNFUV9wcmludGYobSwgIlxuY2ZzX3JxWyVkXTolc1xuIiwgY3B1LCBwYXRoKTsKKyNlbHNlCisJU0VRX3ByaW50ZihtLCAiXG5jZnNfcnFbJWRdOlxuIiwgY3B1KTsKICNlbmRpZgogCiAJU0VRX3ByaW50ZihtLCAiICAuJS0zMHM6ICVMZC4lMDZsZFxuIiwgImV4ZWNfY2xvY2siLApAQCAtMTYyLDExICsxNjIsNjQgQEAKIAlTRVFfcHJpbnRmKG0sICIgIC4lLTMwczogJWxkXG4iLCAibnJfcnVubmluZyIsIGNmc19ycS0+bnJfcnVubmluZyk7CiAJU0VRX3ByaW50ZihtLCAiICAuJS0zMHM6ICVsZFxuIiwgImxvYWQiLCBjZnNfcnEtPmxvYWQud2VpZ2h0KTsKICNpZmRlZiBDT05GSUdfU0NIRURTVEFUUwotCVNFUV9wcmludGYobSwgIiAgLiUtMzBzOiAlZFxuIiwgImJrbF9jb3VudCIsCi0JCQlycS0+YmtsX2NvdW50KTsKKyNkZWZpbmUgUChuKSBTRVFfcHJpbnRmKG0sICIgIC4lLTMwczogJWRcbiIsICNuLCBycS0+bik7CisKKwlQKHlsZF9leHBfZW1wdHkpOworCVAoeWxkX2FjdF9lbXB0eSk7CisJUCh5bGRfYm90aF9lbXB0eSk7CisJUCh5bGRfY291bnQpOworCisJUChzY2hlZF9zd2l0Y2gpOworCVAoc2NoZWRfY291bnQpOworCVAoc2NoZWRfZ29pZGxlKTsKKworCVAodHR3dV9jb3VudCk7CisJUCh0dHd1X2xvY2FsKTsKKworCVAoYmtsX2NvdW50KTsKKworI3VuZGVmIFAKICNlbmRpZgogCVNFUV9wcmludGYobSwgIiAgLiUtMzBzOiAlbGRcbiIsICJucl9zcHJlYWRfb3ZlciIsCiAJCQljZnNfcnEtPm5yX3NwcmVhZF9vdmVyKTsKKyNpZmRlZiBDT05GSUdfRkFJUl9HUk9VUF9TQ0hFRAorI2lmZGVmIENPTkZJR19TTVAKKwlTRVFfcHJpbnRmKG0sICIgIC4lLTMwczogJWx1XG4iLCAic2hhcmVzIiwgY2ZzX3JxLT5zaGFyZXMpOworI2VuZGlmCisjZW5kaWYKK30KKwordm9pZCBwcmludF9ydF9ycShzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIGludCBjcHUsIHN0cnVjdCBydF9ycSAqcnRfcnEpCit7CisjaWYgZGVmaW5lZChDT05GSUdfQ0dST1VQX1NDSEVEKSAmJiBkZWZpbmVkKENPTkZJR19SVF9HUk9VUF9TQ0hFRCkKKwljaGFyIHBhdGhbMTI4XSA9ICIiOworCXN0cnVjdCBjZ3JvdXAgKmNncm91cCA9IE5VTEw7CisJc3RydWN0IHRhc2tfZ3JvdXAgKnRnID0gcnRfcnEtPnRnOworCisJaWYgKHRnKQorCQljZ3JvdXAgPSB0Zy0+Y3NzLmNncm91cDsKKworCWlmIChjZ3JvdXApCisJCWNncm91cF9wYXRoKGNncm91cCwgcGF0aCwgc2l6ZW9mKHBhdGgpKTsKKworCVNFUV9wcmludGYobSwgIlxucnRfcnFbJWRdOiVzXG4iLCBjcHUsIHBhdGgpOworI2Vsc2UKKwlTRVFfcHJpbnRmKG0sICJcbnJ0X3JxWyVkXTpcbiIsIGNwdSk7CisjZW5kaWYKKworCisjZGVmaW5lIFAoeCkgXAorCVNFUV9wcmludGYobSwgIiAgLiUtMzBzOiAlTGRcbiIsICN4LCAobG9uZyBsb25nKShydF9ycS0+eCkpCisjZGVmaW5lIFBOKHgpIFwKKwlTRVFfcHJpbnRmKG0sICIgIC4lLTMwczogJUxkLiUwNmxkXG4iLCAjeCwgU1BMSVRfTlMocnRfcnEtPngpKQorCisJUChydF9ucl9ydW5uaW5nKTsKKwlQKHJ0X3Rocm90dGxlZCk7CisJUE4ocnRfdGltZSk7CisJUE4ocnRfcnVudGltZSk7CisKKyN1bmRlZiBQTgorI3VuZGVmIFAKIH0KIAogc3RhdGljIHZvaWQgcHJpbnRfY3B1KHN0cnVjdCBzZXFfZmlsZSAqbSwgaW50IGNwdSkKQEAgLTIwOCw2ICsyNjEsNyBAQAogI3VuZGVmIFBOCiAKIAlwcmludF9jZnNfc3RhdHMobSwgY3B1KTsKKwlwcmludF9ydF9zdGF0cyhtLCBjcHUpOwogCiAJcHJpbnRfcnEobSwgcnEsIGNwdSk7CiB9CmRpZmYgLS1naXQgYS9rZXJuZWwvc2NoZWRfZmFpci5jIGIva2VybmVsL3NjaGVkX2ZhaXIuYwppbmRleCAwOGFlODQ4Li5mMmFhOTg3IDEwMDY0NAotLS0gYS9rZXJuZWwvc2NoZWRfZmFpci5jCisrKyBiL2tlcm5lbC9zY2hlZF9mYWlyLmMKQEAgLTYzLDEzICs2MywxMyBAQAogCiAvKgogICogU0NIRURfT1RIRVIgd2FrZS11cCBncmFudWxhcml0eS4KLSAqIChkZWZhdWx0OiAxMCBtc2VjICogKDEgKyBpbG9nKG5jcHVzKSksIHVuaXRzOiBuYW5vc2Vjb25kcykKKyAqIChkZWZhdWx0OiA1IG1zZWMgKiAoMSArIGlsb2cobmNwdXMpKSwgdW5pdHM6IG5hbm9zZWNvbmRzKQogICoKICAqIFRoaXMgb3B0aW9uIGRlbGF5cyB0aGUgcHJlZW1wdGlvbiBlZmZlY3RzIG9mIGRlY291cGxlZCB3b3JrbG9hZHMKICAqIGFuZCByZWR1Y2VzIHRoZWlyIG92ZXItc2NoZWR1bGluZy4gU3luY2hyb25vdXMgd29ya2xvYWRzIHdpbGwgc3RpbGwKICAqIGhhdmUgaW1tZWRpYXRlIHdha2V1cC9zbGVlcCBsYXRlbmNpZXMuCiAgKi8KLXVuc2lnbmVkIGludCBzeXNjdGxfc2NoZWRfd2FrZXVwX2dyYW51bGFyaXR5ID0gMTAwMDAwMDBVTDsKK3Vuc2lnbmVkIGludCBzeXNjdGxfc2NoZWRfd2FrZXVwX2dyYW51bGFyaXR5ID0gNTAwMDAwMFVMOwogCiBjb25zdF9kZWJ1ZyB1bnNpZ25lZCBpbnQgc3lzY3RsX3NjaGVkX21pZ3JhdGlvbl9jb3N0ID0gNTAwMDAwVUw7CiAKQEAgLTMzNCw2ICszMzQsMzQgQEAKICNlbmRpZgogCiAvKgorICogZGVsdGEgKj0gdyAvIHJ3CisgKi8KK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZworY2FsY19kZWx0YV93ZWlnaHQodW5zaWduZWQgbG9uZyBkZWx0YSwgc3RydWN0IHNjaGVkX2VudGl0eSAqc2UpCit7CisJZm9yX2VhY2hfc2NoZWRfZW50aXR5KHNlKSB7CisJCWRlbHRhID0gY2FsY19kZWx0YV9taW5lKGRlbHRhLAorCQkJCXNlLT5sb2FkLndlaWdodCwgJmNmc19ycV9vZihzZSktPmxvYWQpOworCX0KKworCXJldHVybiBkZWx0YTsKK30KKworLyoKKyAqIGRlbHRhICo9IHJ3IC8gdworICovCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcKK2NhbGNfZGVsdGFfZmFpcih1bnNpZ25lZCBsb25nIGRlbHRhLCBzdHJ1Y3Qgc2NoZWRfZW50aXR5ICpzZSkKK3sKKwlmb3JfZWFjaF9zY2hlZF9lbnRpdHkoc2UpIHsKKwkJZGVsdGEgPSBjYWxjX2RlbHRhX21pbmUoZGVsdGEsCisJCQkJY2ZzX3JxX29mKHNlKS0+bG9hZC53ZWlnaHQsICZzZS0+bG9hZCk7CisJfQorCisJcmV0dXJuIGRlbHRhOworfQorCisvKgogICogVGhlIGlkZWEgaXMgdG8gc2V0IGEgcGVyaW9kIGluIHdoaWNoIGVhY2ggdGFzayBydW5zIG9uY2UuCiAgKgogICogV2hlbiB0aGVyZSBhcmUgdG9vIG1hbnkgdGFza3MgKHN5c2N0bF9zY2hlZF9ucl9sYXRlbmN5KSB3ZSBoYXZlIHRvIHN0cmV0Y2gKQEAgLTM2Miw0NyArMzkwLDgwIEBACiAgKi8KIHN0YXRpYyB1NjQgc2NoZWRfc2xpY2Uoc3RydWN0IGNmc19ycSAqY2ZzX3JxLCBzdHJ1Y3Qgc2NoZWRfZW50aXR5ICpzZSkKIHsKLQl1NjQgc2xpY2UgPSBfX3NjaGVkX3BlcmlvZChjZnNfcnEtPm5yX3J1bm5pbmcpOwotCi0JZm9yX2VhY2hfc2NoZWRfZW50aXR5KHNlKSB7Ci0JCWNmc19ycSA9IGNmc19ycV9vZihzZSk7Ci0KLQkJc2xpY2UgKj0gc2UtPmxvYWQud2VpZ2h0OwotCQlkb19kaXYoc2xpY2UsIGNmc19ycS0+bG9hZC53ZWlnaHQpOwotCX0KLQotCi0JcmV0dXJuIHNsaWNlOworCXJldHVybiBjYWxjX2RlbHRhX3dlaWdodChfX3NjaGVkX3BlcmlvZChjZnNfcnEtPm5yX3J1bm5pbmcpLCBzZSk7CiB9CiAKIC8qCiAgKiBXZSBjYWxjdWxhdGUgdGhlIHZydW50aW1lIHNsaWNlIG9mIGEgdG8gYmUgaW5zZXJ0ZWQgdGFzawogICoKLSAqIHZzID0gcy93ID0gcC9ydworICogdnMgPSBzKnJ3L3cgPSBwCiAgKi8KIHN0YXRpYyB1NjQgc2NoZWRfdnNsaWNlX2FkZChzdHJ1Y3QgY2ZzX3JxICpjZnNfcnEsIHN0cnVjdCBzY2hlZF9lbnRpdHkgKnNlKQogewogCXVuc2lnbmVkIGxvbmcgbnJfcnVubmluZyA9IGNmc19ycS0+bnJfcnVubmluZzsKLQl1bnNpZ25lZCBsb25nIHdlaWdodDsKLQl1NjQgdnNsaWNlOwogCiAJaWYgKCFzZS0+b25fcnEpCiAJCW5yX3J1bm5pbmcrKzsKIAotCXZzbGljZSA9IF9fc2NoZWRfcGVyaW9kKG5yX3J1bm5pbmcpOworCXJldHVybiBfX3NjaGVkX3BlcmlvZChucl9ydW5uaW5nKTsKK30KKworLyoKKyAqIFRoZSBnb2FsIG9mIGNhbGNfZGVsdGFfYXN5bSgpIGlzIHRvIGJlIGFzeW1tZXRyaWNhbGx5IGFyb3VuZCBOSUNFXzBfTE9BRCwgaW4KKyAqIHRoYXQgaXQgZmF2b3VycyA+PTAgb3ZlciA8MC4KKyAqCisgKiAgIC0yMCAgICAgICAgIHwKKyAqICAgICAgICAgICAgICAgfAorICogICAgIDAgLS0tLS0tLS0rLS0tLS0tLQorICogICAgICAgICAgICAgLicKKyAqICAgIDE5ICAgICAuJworICoKKyAqLworc3RhdGljIHVuc2lnbmVkIGxvbmcKK2NhbGNfZGVsdGFfYXN5bSh1bnNpZ25lZCBsb25nIGRlbHRhLCBzdHJ1Y3Qgc2NoZWRfZW50aXR5ICpzZSkKK3sKKwlzdHJ1Y3QgbG9hZF93ZWlnaHQgbHcgPSB7CisJCS53ZWlnaHQgPSBOSUNFXzBfTE9BRCwKKwkJLmludl93ZWlnaHQgPSAxVUwgPDwgKFdNVUxUX1NISUZULU5JQ0VfMF9TSElGVCkKKwl9OwogCiAJZm9yX2VhY2hfc2NoZWRfZW50aXR5KHNlKSB7Ci0JCWNmc19ycSA9IGNmc19ycV9vZihzZSk7CisJCXN0cnVjdCBsb2FkX3dlaWdodCAqc2VfbHcgPSAmc2UtPmxvYWQ7CisJCXVuc2lnbmVkIGxvbmcgcncgPSBjZnNfcnFfb2Yoc2UpLT5sb2FkLndlaWdodDsKIAotCQl3ZWlnaHQgPSBjZnNfcnEtPmxvYWQud2VpZ2h0OwotCQlpZiAoIXNlLT5vbl9ycSkKLQkJCXdlaWdodCArPSBzZS0+bG9hZC53ZWlnaHQ7CisjaWZkZWYgQ09ORklHX0ZBSVJfU0NIRURfR1JPVVAKKwkJc3RydWN0IGNmc19ycSAqY2ZzX3JxID0gc2UtPm15X3E7CisJCXN0cnVjdCB0YXNrX2dyb3VwICp0ZyA9IE5VTEwKIAotCQl2c2xpY2UgKj0gTklDRV8wX0xPQUQ7Ci0JCWRvX2Rpdih2c2xpY2UsIHdlaWdodCk7CisJCWlmIChjZnNfcnEpCisJCQl0ZyA9IGNmc19ycS0+dGc7CisKKwkJaWYgKHRnICYmIHRnLT5zaGFyZXMgPCBOSUNFXzBfTE9BRCkgeworCQkJLyoKKwkJCSAqIHNjYWxlIHNoYXJlcyB0byB3aGF0IGl0IHdvdWxkIGhhdmUgYmVlbiBoYWQKKwkJCSAqIHRnLT53ZWlnaHQgYmVlbiBOSUNFXzBfTE9BRDoKKwkJCSAqCisJCQkgKiAgIHdlaWdodCA9IDEwMjQgKiBzaGFyZXMgLyB0Zy0+d2VpZ2h0CisJCQkgKi8KKwkJCWx3LndlaWdodCAqPSBzZS0+bG9hZC53ZWlnaHQ7CisJCQlsdy53ZWlnaHQgLz0gdGctPnNoYXJlczsKKworCQkJbHcuaW52X3dlaWdodCA9IDA7CisKKwkJCXNlX2x3ID0gJmx3OworCQkJcncgKz0gbHcud2VpZ2h0IC0gc2UtPmxvYWQud2VpZ2h0OworCQl9IGVsc2UKKyNlbmRpZgorCisJCWlmIChzZS0+bG9hZC53ZWlnaHQgPCBOSUNFXzBfTE9BRCkgeworCQkJc2VfbHcgPSAmbHc7CisJCQlydyArPSBOSUNFXzBfTE9BRCAtIHNlLT5sb2FkLndlaWdodDsKKwkJfQorCisJCWRlbHRhID0gY2FsY19kZWx0YV9taW5lKGRlbHRhLCBydywgc2VfbHcpOwogCX0KIAotCXJldHVybiB2c2xpY2U7CisJcmV0dXJuIGRlbHRhOwogfQogCiAvKgpAQCAtNDE5LDExICs0ODAsNyBAQAogCiAJY3Vyci0+c3VtX2V4ZWNfcnVudGltZSArPSBkZWx0YV9leGVjOwogCXNjaGVkc3RhdF9hZGQoY2ZzX3JxLCBleGVjX2Nsb2NrLCBkZWx0YV9leGVjKTsKLQlkZWx0YV9leGVjX3dlaWdodGVkID0gZGVsdGFfZXhlYzsKLQlpZiAodW5saWtlbHkoY3Vyci0+bG9hZC53ZWlnaHQgIT0gTklDRV8wX0xPQUQpKSB7Ci0JCWRlbHRhX2V4ZWNfd2VpZ2h0ZWQgPSBjYWxjX2RlbHRhX2ZhaXIoZGVsdGFfZXhlY193ZWlnaHRlZCwKLQkJCQkJCQkmY3Vyci0+bG9hZCk7Ci0JfQorCWRlbHRhX2V4ZWNfd2VpZ2h0ZWQgPSBjYWxjX2RlbHRhX2ZhaXIoZGVsdGFfZXhlYywgY3Vycik7CiAJY3Vyci0+dnJ1bnRpbWUgKz0gZGVsdGFfZXhlY193ZWlnaHRlZDsKIH0KIApAQCAtNTEwLDEwICs1NjcsMjcgQEAKICAqIFNjaGVkdWxpbmcgY2xhc3MgcXVldWVpbmcgbWV0aG9kczoKICAqLwogCisjaWYgZGVmaW5lZCBDT05GSUdfU01QICYmIGRlZmluZWQgQ09ORklHX0ZBSVJfR1JPVVBfU0NIRUQKK3N0YXRpYyB2b2lkCithZGRfY2ZzX3Rhc2tfd2VpZ2h0KHN0cnVjdCBjZnNfcnEgKmNmc19ycSwgdW5zaWduZWQgbG9uZyB3ZWlnaHQpCit7CisJY2ZzX3JxLT50YXNrX3dlaWdodCArPSB3ZWlnaHQ7Cit9CisjZWxzZQorc3RhdGljIGlubGluZSB2b2lkCithZGRfY2ZzX3Rhc2tfd2VpZ2h0KHN0cnVjdCBjZnNfcnEgKmNmc19ycSwgdW5zaWduZWQgbG9uZyB3ZWlnaHQpCit7Cit9CisjZW5kaWYKKwogc3RhdGljIHZvaWQKIGFjY291bnRfZW50aXR5X2VucXVldWUoc3RydWN0IGNmc19ycSAqY2ZzX3JxLCBzdHJ1Y3Qgc2NoZWRfZW50aXR5ICpzZSkKIHsKIAl1cGRhdGVfbG9hZF9hZGQoJmNmc19ycS0+bG9hZCwgc2UtPmxvYWQud2VpZ2h0KTsKKwlpZiAoIXBhcmVudF9lbnRpdHkoc2UpKQorCQlpbmNfY3B1X2xvYWQocnFfb2YoY2ZzX3JxKSwgc2UtPmxvYWQud2VpZ2h0KTsKKwlpZiAoZW50aXR5X2lzX3Rhc2soc2UpKQorCQlhZGRfY2ZzX3Rhc2tfd2VpZ2h0KGNmc19ycSwgc2UtPmxvYWQud2VpZ2h0KTsKIAljZnNfcnEtPm5yX3J1bm5pbmcrKzsKIAlzZS0+b25fcnEgPSAxOwogCWxpc3RfYWRkKCZzZS0+Z3JvdXBfbm9kZSwgJmNmc19ycS0+dGFza3MpOwpAQCAtNTIzLDYgKzU5NywxMCBAQAogYWNjb3VudF9lbnRpdHlfZGVxdWV1ZShzdHJ1Y3QgY2ZzX3JxICpjZnNfcnEsIHN0cnVjdCBzY2hlZF9lbnRpdHkgKnNlKQogewogCXVwZGF0ZV9sb2FkX3N1YigmY2ZzX3JxLT5sb2FkLCBzZS0+bG9hZC53ZWlnaHQpOworCWlmICghcGFyZW50X2VudGl0eShzZSkpCisJCWRlY19jcHVfbG9hZChycV9vZihjZnNfcnEpLCBzZS0+bG9hZC53ZWlnaHQpOworCWlmIChlbnRpdHlfaXNfdGFzayhzZSkpCisJCWFkZF9jZnNfdGFza193ZWlnaHQoY2ZzX3JxLCAtc2UtPmxvYWQud2VpZ2h0KTsKIAljZnNfcnEtPm5yX3J1bm5pbmctLTsKIAlzZS0+b25fcnEgPSAwOwogCWxpc3RfZGVsX2luaXQoJnNlLT5ncm91cF9ub2RlKTsKQEAgLTYwOSw4ICs2ODcsMTcgQEAKIAogCWlmICghaW5pdGlhbCkgewogCQkvKiBzbGVlcHMgdXB0byBhIHNpbmdsZSBsYXRlbmN5IGRvbid0IGNvdW50LiAqLwotCQlpZiAoc2NoZWRfZmVhdChORVdfRkFJUl9TTEVFUEVSUykpCi0JCQl2cnVudGltZSAtPSBzeXNjdGxfc2NoZWRfbGF0ZW5jeTsKKwkJaWYgKHNjaGVkX2ZlYXQoTkVXX0ZBSVJfU0xFRVBFUlMpKSB7CisJCQl1bnNpZ25lZCBsb25nIHRocmVzaCA9IHN5c2N0bF9zY2hlZF9sYXRlbmN5OworCisJCQkvKgorCQkJICogY29udmVydCB0aGUgc2xlZXBlciB0aHJlc2hvbGQgaW50byB2aXJ0dWFsIHRpbWUKKwkJCSAqLworCQkJaWYgKHNjaGVkX2ZlYXQoTk9STUFMSVpFRF9TTEVFUEVSKSkKKwkJCQl0aHJlc2ggPSBjYWxjX2RlbHRhX2ZhaXIodGhyZXNoLCBzZSk7CisKKwkJCXZydW50aW1lIC09IHRocmVzaDsKKwkJfQogCiAJCS8qIGVuc3VyZSB3ZSBuZXZlciBnYWluIHRpbWUgYnkgYmVpbmcgcGxhY2VkIGJhY2t3YXJkcy4gKi8KIAkJdnJ1bnRpbWUgPSBtYXhfdnJ1bnRpbWUoc2UtPnZydW50aW1lLCB2cnVudGltZSk7CkBAIC02MzksMjEgKzcyNiw2IEBACiAJCV9fZW5xdWV1ZV9lbnRpdHkoY2ZzX3JxLCBzZSk7CiB9CiAKLXN0YXRpYyB2b2lkIHVwZGF0ZV9hdmcodTY0ICphdmcsIHU2NCBzYW1wbGUpCi17Ci0JczY0IGRpZmYgPSBzYW1wbGUgLSAqYXZnOwotCSphdmcgKz0gZGlmZiA+PiAzOwotfQotCi1zdGF0aWMgdm9pZCB1cGRhdGVfYXZnX3N0YXRzKHN0cnVjdCBjZnNfcnEgKmNmc19ycSwgc3RydWN0IHNjaGVkX2VudGl0eSAqc2UpCi17Ci0JaWYgKCFzZS0+bGFzdF93YWtldXApCi0JCXJldHVybjsKLQotCXVwZGF0ZV9hdmcoJnNlLT5hdmdfb3ZlcmxhcCwgc2UtPnN1bV9leGVjX3J1bnRpbWUgLSBzZS0+bGFzdF93YWtldXApOwotCXNlLT5sYXN0X3dha2V1cCA9IDA7Ci19Ci0KIHN0YXRpYyB2b2lkCiBkZXF1ZXVlX2VudGl0eShzdHJ1Y3QgY2ZzX3JxICpjZnNfcnEsIHN0cnVjdCBzY2hlZF9lbnRpdHkgKnNlLCBpbnQgc2xlZXApCiB7CkBAIC02NjQsNyArNzM2LDYgQEAKIAogCXVwZGF0ZV9zdGF0c19kZXF1ZXVlKGNmc19ycSwgc2UpOwogCWlmIChzbGVlcCkgewotCQl1cGRhdGVfYXZnX3N0YXRzKGNmc19ycSwgc2UpOwogI2lmZGVmIENPTkZJR19TQ0hFRFNUQVRTCiAJCWlmIChlbnRpdHlfaXNfdGFzayhzZSkpIHsKIAkJCXN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrID0gdGFza19vZihzZSk7CkBAIC03MjYsMTcgKzc5NywxNiBAQAogCXNlLT5wcmV2X3N1bV9leGVjX3J1bnRpbWUgPSBzZS0+c3VtX2V4ZWNfcnVudGltZTsKIH0KIAotc3RhdGljIGludAotd2FrZXVwX3ByZWVtcHRfZW50aXR5KHN0cnVjdCBzY2hlZF9lbnRpdHkgKmN1cnIsIHN0cnVjdCBzY2hlZF9lbnRpdHkgKnNlKTsKLQogc3RhdGljIHN0cnVjdCBzY2hlZF9lbnRpdHkgKgogcGlja19uZXh0KHN0cnVjdCBjZnNfcnEgKmNmc19ycSwgc3RydWN0IHNjaGVkX2VudGl0eSAqc2UpCiB7Ci0JaWYgKCFjZnNfcnEtPm5leHQpCi0JCXJldHVybiBzZTsKKwlzdHJ1Y3QgcnEgKnJxID0gcnFfb2YoY2ZzX3JxKTsKKwl1NjQgcGFpcl9zbGljZSA9IHJxLT5jbG9jayAtIGNmc19ycS0+cGFpcl9zdGFydDsKIAotCWlmICh3YWtldXBfcHJlZW1wdF9lbnRpdHkoY2ZzX3JxLT5uZXh0LCBzZSkgIT0gMCkKKwlpZiAoIWNmc19ycS0+bmV4dCB8fCBwYWlyX3NsaWNlID4gc2NoZWRfc2xpY2UoY2ZzX3JxLCBjZnNfcnEtPm5leHQpKSB7CisJCWNmc19ycS0+cGFpcl9zdGFydCA9IHJxLT5jbG9jazsKIAkJcmV0dXJuIHNlOworCX0KIAogCXJldHVybiBjZnNfcnEtPm5leHQ7CiB9CkBAIC04MzUsNyArOTA1LDcgQEAKIAkJaHJ0aWNrX3N0YXJ0KHJxLCBkZWx0YSwgcmVxdWV1ZSk7CiAJfQogfQotI2Vsc2UKKyNlbHNlIC8qICFDT05GSUdfU0NIRURfSFJUSUNLICovCiBzdGF0aWMgaW5saW5lIHZvaWQKIGhydGlja19zdGFydF9mYWlyKHN0cnVjdCBycSAqcnEsIHN0cnVjdCB0YXNrX3N0cnVjdCAqcCkKIHsKQEAgLTk3Niw3ICsxMDQ2LDcgQEAKIAl9CiAJcmV0dXJuIGNwdTsKIH0KLSNlbHNlCisjZWxzZSAvKiAhQVJDSF9IQVNfU0NIRURfV0FLRV9JRExFKi8KIHN0YXRpYyBpbmxpbmUgaW50IHdha2VfaWRsZShpbnQgY3B1LCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKnApCiB7CiAJcmV0dXJuIGNwdTsKQEAgLTk4Nyw2ICsxMDU3LDg5IEBACiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc2NoZWRfY2xhc3MgZmFpcl9zY2hlZF9jbGFzczsKIAorI2lmZGVmIENPTkZJR19GQUlSX0dST1VQX1NDSEVECisvKgorICogZWZmZWN0aXZlX2xvYWQoKSBjYWxjdWxhdGVzIHRoZSBsb2FkIGNoYW5nZSBhcyBzZWVuIGZyb20gdGhlIHJvb3RfdGFza19ncm91cAorICoKKyAqIEFkZGluZyBsb2FkIHRvIGEgZ3JvdXAgZG9lc24ndCBtYWtlIGEgZ3JvdXAgaGVhdmllciwgYnV0IGNhbiBjYXVzZSBtb3ZlbWVudAorICogb2YgZ3JvdXAgc2hhcmVzIGJldHdlZW4gY3B1cy4gQXNzdW1pbmcgdGhlIHNoYXJlcyB3ZXJlIHBlcmZlY3RseSBhbGlnbmVkIG9uZQorICogY2FuIGNhbGN1bGF0ZSB0aGUgc2hpZnQgaW4gc2hhcmVzLgorICoKKyAqIFRoZSBwcm9ibGVtIGlzIHRoYXQgcGVyZmVjdGx5IGFsaWduaW5nIHRoZSBzaGFyZXMgaXMgcmF0aGVyIGV4cGVuc2l2ZSwgaGVuY2UKKyAqIHdlIHRyeSB0byBhdm9pZCBkb2luZyB0aGF0IHRvbyBvZnRlbiAtIHNlZSB1cGRhdGVfc2hhcmVzKCksIHdoaWNoIHJhdGVsaW1pdHMKKyAqIHRoaXMgY2hhbmdlLgorICoKKyAqIFdlIGNvbXBlbnNhdGUgdGhpcyBieSBub3Qgb25seSB0YWtpbmcgdGhlIGN1cnJlbnQgZGVsdGEgaW50byBhY2NvdW50LCBidXQKKyAqIGFsc28gY29uc2lkZXJpbmcgdGhlIGRlbHRhIGJldHdlZW4gd2hlbiB0aGUgc2hhcmVzIHdlcmUgbGFzdCBhZGp1c3RlZCBhbmQKKyAqIG5vdy4KKyAqCisgKiBXZSBzdGlsbCBzYXcgYSBwZXJmb3JtYW5jZSBkaXAsIHNvbWUgdHJhY2luZyBsZWFybmVkIHVzIHRoYXQgYmV0d2VlbgorICogY2dyb3VwOi8gYW5kIGNncm91cDovZm9vIGJhbGFuY2luZyB0aGUgbnVtYmVyIG9mIGFmZmluZSB3YWtldXBzIGluY3JlYXNlZAorICogc2lnbmlmaWNhbnRseS4gVGhlcmVmb3JlIHRyeSB0byBiaWFzIHRoZSBlcnJvciBpbiBkaXJlY3Rpb24gb2YgZmFpbGluZworICogdGhlIGFmZmluZSB3YWtldXAuCisgKgorICovCitzdGF0aWMgbG9uZyBlZmZlY3RpdmVfbG9hZChzdHJ1Y3QgdGFza19ncm91cCAqdGcsIGludCBjcHUsCisJCWxvbmcgd2wsIGxvbmcgd2cpCit7CisJc3RydWN0IHNjaGVkX2VudGl0eSAqc2UgPSB0Zy0+c2VbY3B1XTsKKwlsb25nIG1vcmVfdzsKKworCWlmICghdGctPnBhcmVudCkKKwkJcmV0dXJuIHdsOworCisJLyoKKwkgKiBCeSBub3QgdGFraW5nIHRoZSBkZWNyZWFzZSBvZiBzaGFyZXMgb24gdGhlIG90aGVyIGNwdSBpbnRvCisJICogYWNjb3VudCBvdXIgZXJyb3IgbGVhbnMgdG93YXJkcyByZWR1Y2luZyB0aGUgYWZmaW5lIHdha2V1cHMuCisJICovCisJaWYgKCF3bCAmJiBzY2hlZF9mZWF0KEFTWU1fRUZGX0xPQUQpKQorCQlyZXR1cm4gd2w7CisKKwkvKgorCSAqIEluc3RlYWQgb2YgdXNpbmcgdGhpcyBpbmNyZW1lbnQsIGFsc28gYWRkIHRoZSBkaWZmZXJlbmNlCisJICogYmV0d2VlbiB3aGVuIHRoZSBzaGFyZXMgd2VyZSBsYXN0IHVwZGF0ZWQgYW5kIG5vdy4KKwkgKi8KKwltb3JlX3cgPSBzZS0+bXlfcS0+bG9hZC53ZWlnaHQgLSBzZS0+bXlfcS0+cnFfd2VpZ2h0OworCXdsICs9IG1vcmVfdzsKKwl3ZyArPSBtb3JlX3c7CisKKwlmb3JfZWFjaF9zY2hlZF9lbnRpdHkoc2UpIHsKKyNkZWZpbmUgRChuKSAobGlrZWx5KG4pID8gKG4pIDogMSkKKworCQlsb25nIFMsIHJ3LCBzLCBhLCBiOworCisJCVMgPSBzZS0+bXlfcS0+dGctPnNoYXJlczsKKwkJcyA9IHNlLT5teV9xLT5zaGFyZXM7CisJCXJ3ID0gc2UtPm15X3EtPnJxX3dlaWdodDsKKworCQlhID0gUyoocncgKyB3bCk7CisJCWIgPSBTKnJ3ICsgcyp3ZzsKKworCQl3bCA9IHMqKGEtYikvRChiKTsKKwkJLyoKKwkJICogQXNzdW1lIHRoZSBncm91cCBpcyBhbHJlYWR5IHJ1bm5pbmcgYW5kIHdpbGwKKwkJICogdGh1cyBhbHJlYWR5IGJlIGFjY291bnRlZCBmb3IgaW4gdGhlIHdlaWdodC4KKwkJICoKKwkJICogVGhhdCBpcywgbW92aW5nIHNoYXJlcyBiZXR3ZWVuIENQVXMsIGRvZXMgbm90CisJCSAqIGFsdGVyIHRoZSBncm91cCB3ZWlnaHQuCisJCSAqLworCQl3ZyA9IDA7CisjdW5kZWYgRAorCX0KKworCXJldHVybiB3bDsKK30KKworI2Vsc2UKKworc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIGVmZmVjdGl2ZV9sb2FkKHN0cnVjdCB0YXNrX2dyb3VwICp0ZywgaW50IGNwdSwKKwkJdW5zaWduZWQgbG9uZyB3bCwgdW5zaWduZWQgbG9uZyB3ZykKK3sKKwlyZXR1cm4gd2w7Cit9CisKKyNlbmRpZgorCiBzdGF0aWMgaW50CiB3YWtlX2FmZmluZShzdHJ1Y3QgcnEgKnJxLCBzdHJ1Y3Qgc2NoZWRfZG9tYWluICp0aGlzX3NkLCBzdHJ1Y3QgcnEgKnRoaXNfcnEsCiAJICAgIHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgaW50IHByZXZfY3B1LCBpbnQgdGhpc19jcHUsIGludCBzeW5jLApAQCAtOTk0LDggKzExNDcsMTAgQEAKIAkgICAgdW5zaWduZWQgaW50IGltYmFsYW5jZSkKIHsKIAlzdHJ1Y3QgdGFza19zdHJ1Y3QgKmN1cnIgPSB0aGlzX3JxLT5jdXJyOworCXN0cnVjdCB0YXNrX2dyb3VwICp0ZzsKIAl1bnNpZ25lZCBsb25nIHRsID0gdGhpc19sb2FkOwogCXVuc2lnbmVkIGxvbmcgdGxfcGVyX3Rhc2s7CisJdW5zaWduZWQgbG9uZyB3ZWlnaHQ7CiAJaW50IGJhbGFuY2VkOwogCiAJaWYgKCEodGhpc19zZC0+ZmxhZ3MgJiBTRF9XQUtFX0FGRklORSkgfHwgIXNjaGVkX2ZlYXQoQUZGSU5FX1dBS0VVUFMpKQpAQCAtMTAwNiwxOSArMTE2MSwyOCBAQAogCSAqIGVmZmVjdCBvZiB0aGUgY3VycmVudGx5IHJ1bm5pbmcgdGFzayBmcm9tIHRoZSBsb2FkCiAJICogb2YgdGhlIGN1cnJlbnQgQ1BVOgogCSAqLwotCWlmIChzeW5jKQotCQl0bCAtPSBjdXJyZW50LT5zZS5sb2FkLndlaWdodDsKKwlpZiAoc3luYykgeworCQl0ZyA9IHRhc2tfZ3JvdXAoY3VycmVudCk7CisJCXdlaWdodCA9IGN1cnJlbnQtPnNlLmxvYWQud2VpZ2h0OwogCi0JYmFsYW5jZWQgPSAxMDAqKHRsICsgcC0+c2UubG9hZC53ZWlnaHQpIDw9IGltYmFsYW5jZSpsb2FkOworCQl0bCArPSBlZmZlY3RpdmVfbG9hZCh0ZywgdGhpc19jcHUsIC13ZWlnaHQsIC13ZWlnaHQpOworCQlsb2FkICs9IGVmZmVjdGl2ZV9sb2FkKHRnLCBwcmV2X2NwdSwgMCwgLXdlaWdodCk7CisJfQorCisJdGcgPSB0YXNrX2dyb3VwKHApOworCXdlaWdodCA9IHAtPnNlLmxvYWQud2VpZ2h0OworCisJYmFsYW5jZWQgPSAxMDAqKHRsICsgZWZmZWN0aXZlX2xvYWQodGcsIHRoaXNfY3B1LCB3ZWlnaHQsIHdlaWdodCkpIDw9CisJCWltYmFsYW5jZSoobG9hZCArIGVmZmVjdGl2ZV9sb2FkKHRnLCBwcmV2X2NwdSwgMCwgd2VpZ2h0KSk7CiAKIAkvKgogCSAqIElmIHRoZSBjdXJyZW50bHkgcnVubmluZyB0YXNrIHdpbGwgc2xlZXAgd2l0aGluCiAJICogYSByZWFzb25hYmxlIGFtb3VudCBvZiB0aW1lIHRoZW4gYXR0cmFjdCB0aGlzIG5ld2x5CiAJICogd29rZW4gdGFzazoKIAkgKi8KLQlpZiAoc3luYyAmJiBiYWxhbmNlZCAmJiBjdXJyLT5zY2hlZF9jbGFzcyA9PSAmZmFpcl9zY2hlZF9jbGFzcykgeworCWlmIChzeW5jICYmIGJhbGFuY2VkKSB7CiAJCWlmIChjdXJyLT5zZS5hdmdfb3ZlcmxhcCA8IHN5c2N0bF9zY2hlZF9taWdyYXRpb25fY29zdCAmJgotCQkJCXAtPnNlLmF2Z19vdmVybGFwIDwgc3lzY3RsX3NjaGVkX21pZ3JhdGlvbl9jb3N0KQorCQkgICAgcC0+c2UuYXZnX292ZXJsYXAgPCBzeXNjdGxfc2NoZWRfbWlncmF0aW9uX2Nvc3QpCiAJCQlyZXR1cm4gMTsKIAl9CiAKQEAgLTExMTEsMTEgKzEyNzUsMTMgQEAKIAl1bnNpZ25lZCBsb25nIGdyYW4gPSBzeXNjdGxfc2NoZWRfd2FrZXVwX2dyYW51bGFyaXR5OwogCiAJLyoKLQkgKiBNb3JlIGVhc2lseSBwcmVlbXB0IC0gbmljZSB0YXNrcywgd2hpbGUgbm90IG1ha2luZwotCSAqIGl0IGhhcmRlciBmb3IgKyBuaWNlIHRhc2tzLgorCSAqIE1vcmUgZWFzaWx5IHByZWVtcHQgLSBuaWNlIHRhc2tzLCB3aGlsZSBub3QgbWFraW5nIGl0IGhhcmRlciBmb3IKKwkgKiArIG5pY2UgdGFza3MuCiAJICovCi0JaWYgKHVubGlrZWx5KHNlLT5sb2FkLndlaWdodCA+IE5JQ0VfMF9MT0FEKSkKLQkJZ3JhbiA9IGNhbGNfZGVsdGFfZmFpcihncmFuLCAmc2UtPmxvYWQpOworCWlmIChzY2hlZF9mZWF0KEFTWU1fR1JBTikpCisJCWdyYW4gPSBjYWxjX2RlbHRhX2FzeW0oc3lzY3RsX3NjaGVkX3dha2V1cF9ncmFudWxhcml0eSwgc2UpOworCWVsc2UKKwkJZ3JhbiA9IGNhbGNfZGVsdGFfZmFpcihzeXNjdGxfc2NoZWRfd2FrZXVwX2dyYW51bGFyaXR5LCBzZSk7CiAKIAlyZXR1cm4gZ3JhbjsKIH0KQEAgLTExNzcsNyArMTM0Myw2IEBACiAJCXJldHVybjsKIAl9CiAKLQlzZS0+bGFzdF93YWtldXAgPSBzZS0+c3VtX2V4ZWNfcnVudGltZTsKIAlpZiAodW5saWtlbHkoc2UgPT0gcHNlKSkKIAkJcmV0dXJuOwogCkBAIC0xMjc1LDIzICsxNDQwLDE4IEBACiAJc3RydWN0IHRhc2tfc3RydWN0ICpwID0gTlVMTDsKIAlzdHJ1Y3Qgc2NoZWRfZW50aXR5ICpzZTsKIAotCWlmIChuZXh0ID09ICZjZnNfcnEtPnRhc2tzKQotCQlyZXR1cm4gTlVMTDsKLQotCS8qIFNraXAgb3ZlciBlbnRpdGllcyB0aGF0IGFyZSBub3QgdGFza3MgKi8KLQlkbyB7CisJd2hpbGUgKG5leHQgIT0gJmNmc19ycS0+dGFza3MpIHsKIAkJc2UgPSBsaXN0X2VudHJ5KG5leHQsIHN0cnVjdCBzY2hlZF9lbnRpdHksIGdyb3VwX25vZGUpOwogCQluZXh0ID0gbmV4dC0+bmV4dDsKLQl9IHdoaWxlIChuZXh0ICE9ICZjZnNfcnEtPnRhc2tzICYmICFlbnRpdHlfaXNfdGFzayhzZSkpOwogCi0JaWYgKG5leHQgPT0gJmNmc19ycS0+dGFza3MpCi0JCXJldHVybiBOVUxMOworCQkvKiBTa2lwIG92ZXIgZW50aXRpZXMgdGhhdCBhcmUgbm90IHRhc2tzICovCisJCWlmIChlbnRpdHlfaXNfdGFzayhzZSkpIHsKKwkJCXAgPSB0YXNrX29mKHNlKTsKKwkJCWJyZWFrOworCQl9CisJfQogCiAJY2ZzX3JxLT5iYWxhbmNlX2l0ZXJhdG9yID0gbmV4dDsKLQotCWlmIChlbnRpdHlfaXNfdGFzayhzZSkpCi0JCXAgPSB0YXNrX29mKHNlKTsKLQogCXJldHVybiBwOwogfQogCkBAIC0xMzA5LDc1ICsxNDY5LDgyIEBACiAJcmV0dXJuIF9fbG9hZF9iYWxhbmNlX2l0ZXJhdG9yKGNmc19ycSwgY2ZzX3JxLT5iYWxhbmNlX2l0ZXJhdG9yKTsKIH0KIAotI2lmZGVmIENPTkZJR19GQUlSX0dST1VQX1NDSEVECi1zdGF0aWMgaW50IGNmc19ycV9iZXN0X3ByaW8oc3RydWN0IGNmc19ycSAqY2ZzX3JxKQorc3RhdGljIHVuc2lnbmVkIGxvbmcKK19fbG9hZF9iYWxhbmNlX2ZhaXIoc3RydWN0IHJxICp0aGlzX3JxLCBpbnQgdGhpc19jcHUsIHN0cnVjdCBycSAqYnVzaWVzdCwKKwkJdW5zaWduZWQgbG9uZyBtYXhfbG9hZF9tb3ZlLCBzdHJ1Y3Qgc2NoZWRfZG9tYWluICpzZCwKKwkJZW51bSBjcHVfaWRsZV90eXBlIGlkbGUsIGludCAqYWxsX3Bpbm5lZCwgaW50ICp0aGlzX2Jlc3RfcHJpbywKKwkJc3RydWN0IGNmc19ycSAqY2ZzX3JxKQogewotCXN0cnVjdCBzY2hlZF9lbnRpdHkgKmN1cnI7Ci0Jc3RydWN0IHRhc2tfc3RydWN0ICpwOworCXN0cnVjdCBycV9pdGVyYXRvciBjZnNfcnFfaXRlcmF0b3I7CiAKLQlpZiAoIWNmc19ycS0+bnJfcnVubmluZyB8fCAhZmlyc3RfZmFpcihjZnNfcnEpKQotCQlyZXR1cm4gTUFYX1BSSU87CisJY2ZzX3JxX2l0ZXJhdG9yLnN0YXJ0ID0gbG9hZF9iYWxhbmNlX3N0YXJ0X2ZhaXI7CisJY2ZzX3JxX2l0ZXJhdG9yLm5leHQgPSBsb2FkX2JhbGFuY2VfbmV4dF9mYWlyOworCWNmc19ycV9pdGVyYXRvci5hcmcgPSBjZnNfcnE7CiAKLQljdXJyID0gY2ZzX3JxLT5jdXJyOwotCWlmICghY3VycikKLQkJY3VyciA9IF9fcGlja19uZXh0X2VudGl0eShjZnNfcnEpOwotCi0JcCA9IHRhc2tfb2YoY3Vycik7Ci0KLQlyZXR1cm4gcC0+cHJpbzsKKwlyZXR1cm4gYmFsYW5jZV90YXNrcyh0aGlzX3JxLCB0aGlzX2NwdSwgYnVzaWVzdCwKKwkJCW1heF9sb2FkX21vdmUsIHNkLCBpZGxlLCBhbGxfcGlubmVkLAorCQkJdGhpc19iZXN0X3ByaW8sICZjZnNfcnFfaXRlcmF0b3IpOwogfQotI2VuZGlmCiAKKyNpZmRlZiBDT05GSUdfRkFJUl9HUk9VUF9TQ0hFRAogc3RhdGljIHVuc2lnbmVkIGxvbmcKIGxvYWRfYmFsYW5jZV9mYWlyKHN0cnVjdCBycSAqdGhpc19ycSwgaW50IHRoaXNfY3B1LCBzdHJ1Y3QgcnEgKmJ1c2llc3QsCiAJCSAgdW5zaWduZWQgbG9uZyBtYXhfbG9hZF9tb3ZlLAogCQkgIHN0cnVjdCBzY2hlZF9kb21haW4gKnNkLCBlbnVtIGNwdV9pZGxlX3R5cGUgaWRsZSwKIAkJICBpbnQgKmFsbF9waW5uZWQsIGludCAqdGhpc19iZXN0X3ByaW8pCiB7Ci0Jc3RydWN0IGNmc19ycSAqYnVzeV9jZnNfcnE7CiAJbG9uZyByZW1fbG9hZF9tb3ZlID0gbWF4X2xvYWRfbW92ZTsKLQlzdHJ1Y3QgcnFfaXRlcmF0b3IgY2ZzX3JxX2l0ZXJhdG9yOworCWludCBidXNpZXN0X2NwdSA9IGNwdV9vZihidXNpZXN0KTsKKwlzdHJ1Y3QgdGFza19ncm91cCAqdGc7CiAKLQljZnNfcnFfaXRlcmF0b3Iuc3RhcnQgPSBsb2FkX2JhbGFuY2Vfc3RhcnRfZmFpcjsKLQljZnNfcnFfaXRlcmF0b3IubmV4dCA9IGxvYWRfYmFsYW5jZV9uZXh0X2ZhaXI7CisJcmN1X3JlYWRfbG9jaygpOworCXVwZGF0ZV9oX2xvYWQoYnVzaWVzdF9jcHUpOwogCi0JZm9yX2VhY2hfbGVhZl9jZnNfcnEoYnVzaWVzdCwgYnVzeV9jZnNfcnEpIHsKLSNpZmRlZiBDT05GSUdfRkFJUl9HUk9VUF9TQ0hFRAotCQlzdHJ1Y3QgY2ZzX3JxICp0aGlzX2Nmc19ycTsKLQkJbG9uZyBpbWJhbGFuY2U7Ci0JCXVuc2lnbmVkIGxvbmcgbWF4bG9hZDsKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KHRnLCAmdGFza19ncm91cHMsIGxpc3QpIHsKKwkJc3RydWN0IGNmc19ycSAqYnVzaWVzdF9jZnNfcnEgPSB0Zy0+Y2ZzX3JxW2J1c2llc3RfY3B1XTsKKwkJdW5zaWduZWQgbG9uZyBidXNpZXN0X2hfbG9hZCA9IGJ1c2llc3RfY2ZzX3JxLT5oX2xvYWQ7CisJCXVuc2lnbmVkIGxvbmcgYnVzaWVzdF93ZWlnaHQgPSBidXNpZXN0X2Nmc19ycS0+bG9hZC53ZWlnaHQ7CisJCXU2NCByZW1fbG9hZCwgbW92ZWRfbG9hZDsKIAotCQl0aGlzX2Nmc19ycSA9IGNwdV9jZnNfcnEoYnVzeV9jZnNfcnEsIHRoaXNfY3B1KTsKLQotCQlpbWJhbGFuY2UgPSBidXN5X2Nmc19ycS0+bG9hZC53ZWlnaHQgLSB0aGlzX2Nmc19ycS0+bG9hZC53ZWlnaHQ7Ci0JCS8qIERvbid0IHB1bGwgaWYgdGhpc19jZnNfcnEgaGFzIG1vcmUgbG9hZCB0aGFuIGJ1c3lfY2ZzX3JxICovCi0JCWlmIChpbWJhbGFuY2UgPD0gMCkKKwkJLyoKKwkJICogZW1wdHkgZ3JvdXAKKwkJICovCisJCWlmICghYnVzaWVzdF9jZnNfcnEtPnRhc2tfd2VpZ2h0KQogCQkJY29udGludWU7CiAKLQkJLyogRG9uJ3QgcHVsbCBtb3JlIHRoYW4gaW1iYWxhbmNlLzIgKi8KLQkJaW1iYWxhbmNlIC89IDI7Ci0JCW1heGxvYWQgPSBtaW4ocmVtX2xvYWRfbW92ZSwgaW1iYWxhbmNlKTsKKwkJcmVtX2xvYWQgPSAodTY0KXJlbV9sb2FkX21vdmUgKiBidXNpZXN0X3dlaWdodDsKKwkJcmVtX2xvYWQgPSBkaXZfdTY0KHJlbV9sb2FkLCBidXNpZXN0X2hfbG9hZCArIDEpOwogCi0JCSp0aGlzX2Jlc3RfcHJpbyA9IGNmc19ycV9iZXN0X3ByaW8odGhpc19jZnNfcnEpOwotI2Vsc2UKLSMgZGVmaW5lIG1heGxvYWQgcmVtX2xvYWRfbW92ZQotI2VuZGlmCi0JCS8qCi0JCSAqIHBhc3MgYnVzeV9jZnNfcnEgYXJndW1lbnQgaW50bwotCQkgKiBsb2FkX2JhbGFuY2VfW3N0YXJ0fG5leHRdX2ZhaXIgaXRlcmF0b3JzCi0JCSAqLwotCQljZnNfcnFfaXRlcmF0b3IuYXJnID0gYnVzeV9jZnNfcnE7Ci0JCXJlbV9sb2FkX21vdmUgLT0gYmFsYW5jZV90YXNrcyh0aGlzX3JxLCB0aGlzX2NwdSwgYnVzaWVzdCwKLQkJCQkJICAgICAgIG1heGxvYWQsIHNkLCBpZGxlLCBhbGxfcGlubmVkLAotCQkJCQkgICAgICAgdGhpc19iZXN0X3ByaW8sCi0JCQkJCSAgICAgICAmY2ZzX3JxX2l0ZXJhdG9yKTsKKwkJbW92ZWRfbG9hZCA9IF9fbG9hZF9iYWxhbmNlX2ZhaXIodGhpc19ycSwgdGhpc19jcHUsIGJ1c2llc3QsCisJCQkJcmVtX2xvYWQsIHNkLCBpZGxlLCBhbGxfcGlubmVkLCB0aGlzX2Jlc3RfcHJpbywKKwkJCQl0Zy0+Y2ZzX3JxW2J1c2llc3RfY3B1XSk7CiAKLQkJaWYgKHJlbV9sb2FkX21vdmUgPD0gMCkKKwkJaWYgKCFtb3ZlZF9sb2FkKQorCQkJY29udGludWU7CisKKwkJbW92ZWRfbG9hZCAqPSBidXNpZXN0X2hfbG9hZDsKKwkJbW92ZWRfbG9hZCA9IGRpdl91NjQobW92ZWRfbG9hZCwgYnVzaWVzdF93ZWlnaHQgKyAxKTsKKworCQlyZW1fbG9hZF9tb3ZlIC09IG1vdmVkX2xvYWQ7CisJCWlmIChyZW1fbG9hZF9tb3ZlIDwgMCkKIAkJCWJyZWFrOwogCX0KKwlyY3VfcmVhZF91bmxvY2soKTsKIAogCXJldHVybiBtYXhfbG9hZF9tb3ZlIC0gcmVtX2xvYWRfbW92ZTsKIH0KKyNlbHNlCitzdGF0aWMgdW5zaWduZWQgbG9uZworbG9hZF9iYWxhbmNlX2ZhaXIoc3RydWN0IHJxICp0aGlzX3JxLCBpbnQgdGhpc19jcHUsIHN0cnVjdCBycSAqYnVzaWVzdCwKKwkJICB1bnNpZ25lZCBsb25nIG1heF9sb2FkX21vdmUsCisJCSAgc3RydWN0IHNjaGVkX2RvbWFpbiAqc2QsIGVudW0gY3B1X2lkbGVfdHlwZSBpZGxlLAorCQkgIGludCAqYWxsX3Bpbm5lZCwgaW50ICp0aGlzX2Jlc3RfcHJpbykKK3sKKwlyZXR1cm4gX19sb2FkX2JhbGFuY2VfZmFpcih0aGlzX3JxLCB0aGlzX2NwdSwgYnVzaWVzdCwKKwkJCW1heF9sb2FkX21vdmUsIHNkLCBpZGxlLCBhbGxfcGlubmVkLAorCQkJdGhpc19iZXN0X3ByaW8sICZidXNpZXN0LT5jZnMpOworfQorI2VuZGlmCiAKIHN0YXRpYyBpbnQKIG1vdmVfb25lX3Rhc2tfZmFpcihzdHJ1Y3QgcnEgKnRoaXNfcnEsIGludCB0aGlzX2NwdSwgc3RydWN0IHJxICpidXNpZXN0LApAQCAtMTQwMiw3ICsxNTY5LDcgQEAKIAogCXJldHVybiAwOwogfQotI2VuZGlmCisjZW5kaWYgLyogQ09ORklHX1NNUCAqLwogCiAvKgogICogc2NoZWR1bGVyIHRpY2sgaGl0dGluZyBhIHRhc2sgb2Ygb3VyIHNjaGVkdWxpbmcgY2xhc3M6CmRpZmYgLS1naXQgYS9rZXJuZWwvc2NoZWRfZmVhdHVyZXMuaCBiL2tlcm5lbC9zY2hlZF9mZWF0dXJlcy5oCmluZGV4IDFjNzI4M2MuLjg2MmIwNmIgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9zY2hlZF9mZWF0dXJlcy5oCisrKyBiL2tlcm5lbC9zY2hlZF9mZWF0dXJlcy5oCkBAIC0xLDQgKzEsNSBAQAogU0NIRURfRkVBVChORVdfRkFJUl9TTEVFUEVSUywgMSkKK1NDSEVEX0ZFQVQoTk9STUFMSVpFRF9TTEVFUEVSLCAxKQogU0NIRURfRkVBVChXQUtFVVBfUFJFRU1QVCwgMSkKIFNDSEVEX0ZFQVQoU1RBUlRfREVCSVQsIDEpCiBTQ0hFRF9GRUFUKEFGRklORV9XQUtFVVBTLCAxKQpAQCAtNiw1ICs3LDcgQEAKIFNDSEVEX0ZFQVQoU1lOQ19XQUtFVVBTLCAxKQogU0NIRURfRkVBVChIUlRJQ0ssIDEpCiBTQ0hFRF9GRUFUKERPVUJMRV9USUNLLCAwKQotU0NIRURfRkVBVChOT1JNQUxJWkVEX1NMRUVQRVIsIDEpCi1TQ0hFRF9GRUFUKERFQURMSU5FLCAxKQorU0NIRURfRkVBVChBU1lNX0dSQU4sIDEpCitTQ0hFRF9GRUFUKExCX0JJQVMsIDApCitTQ0hFRF9GRUFUKExCX1dBS0VVUF9VUERBVEUsIDEpCitTQ0hFRF9GRUFUKEFTWU1fRUZGX0xPQUQsIDEpCmRpZmYgLS1naXQgYS9rZXJuZWwvc2NoZWRfcnQuYyBiL2tlcm5lbC9zY2hlZF9ydC5jCmluZGV4IDBmM2MxOTEuLjQ3Y2VhYzkgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9zY2hlZF9ydC5jCisrKyBiL2tlcm5lbC9zY2hlZF9ydC5jCkBAIC0xMiw2ICsxMiw5IEBACiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBydF9zZXRfb3ZlcmxvYWQoc3RydWN0IHJxICpycSkKIHsKKwlpZiAoIXJxLT5vbmxpbmUpCisJCXJldHVybjsKKwogCWNwdV9zZXQocnEtPmNwdSwgcnEtPnJkLT5ydG9fbWFzayk7CiAJLyoKIAkgKiBNYWtlIHN1cmUgdGhlIG1hc2sgaXMgdmlzaWJsZSBiZWZvcmUgd2Ugc2V0CkBAIC0yNiw2ICsyOSw5IEBACiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBydF9jbGVhcl9vdmVybG9hZChzdHJ1Y3QgcnEgKnJxKQogeworCWlmICghcnEtPm9ubGluZSkKKwkJcmV0dXJuOworCiAJLyogdGhlIG9yZGVyIGhlcmUgcmVhbGx5IGRvZXNuJ3QgbWF0dGVyICovCiAJYXRvbWljX2RlYygmcnEtPnJkLT5ydG9fY291bnQpOwogCWNwdV9jbGVhcihycS0+Y3B1LCBycS0+cmQtPnJ0b19tYXNrKTsKQEAgLTE1NSw3ICsxNjEsNyBAQAogCXJldHVybiAmcnRfcnEtPnRnLT5ydF9iYW5kd2lkdGg7CiB9CiAKLSNlbHNlCisjZWxzZSAvKiAhQ09ORklHX1JUX0dST1VQX1NDSEVEICovCiAKIHN0YXRpYyBpbmxpbmUgdTY0IHNjaGVkX3J0X3J1bnRpbWUoc3RydWN0IHJ0X3JxICpydF9ycSkKIHsKQEAgLTIyMCw3ICsyMjYsMTYwIEBACiAJcmV0dXJuICZkZWZfcnRfYmFuZHdpZHRoOwogfQogCi0jZW5kaWYKKyNlbmRpZiAvKiBDT05GSUdfUlRfR1JPVVBfU0NIRUQgKi8KKworI2lmZGVmIENPTkZJR19TTVAKK3N0YXRpYyBpbnQgZG9fYmFsYW5jZV9ydW50aW1lKHN0cnVjdCBydF9ycSAqcnRfcnEpCit7CisJc3RydWN0IHJ0X2JhbmR3aWR0aCAqcnRfYiA9IHNjaGVkX3J0X2JhbmR3aWR0aChydF9ycSk7CisJc3RydWN0IHJvb3RfZG9tYWluICpyZCA9IGNwdV9ycShzbXBfcHJvY2Vzc29yX2lkKCkpLT5yZDsKKwlpbnQgaSwgd2VpZ2h0LCBtb3JlID0gMDsKKwl1NjQgcnRfcGVyaW9kOworCisJd2VpZ2h0ID0gY3B1c193ZWlnaHQocmQtPnNwYW4pOworCisJc3Bpbl9sb2NrKCZydF9iLT5ydF9ydW50aW1lX2xvY2spOworCXJ0X3BlcmlvZCA9IGt0aW1lX3RvX25zKHJ0X2ItPnJ0X3BlcmlvZCk7CisJZm9yX2VhY2hfY3B1X21hc2soaSwgcmQtPnNwYW4pIHsKKwkJc3RydWN0IHJ0X3JxICppdGVyID0gc2NoZWRfcnRfcGVyaW9kX3J0X3JxKHJ0X2IsIGkpOworCQlzNjQgZGlmZjsKKworCQlpZiAoaXRlciA9PSBydF9ycSkKKwkJCWNvbnRpbnVlOworCisJCXNwaW5fbG9jaygmaXRlci0+cnRfcnVudGltZV9sb2NrKTsKKwkJaWYgKGl0ZXItPnJ0X3J1bnRpbWUgPT0gUlVOVElNRV9JTkYpCisJCQlnb3RvIG5leHQ7CisKKwkJZGlmZiA9IGl0ZXItPnJ0X3J1bnRpbWUgLSBpdGVyLT5ydF90aW1lOworCQlpZiAoZGlmZiA+IDApIHsKKwkJCWRvX2RpdihkaWZmLCB3ZWlnaHQpOworCQkJaWYgKHJ0X3JxLT5ydF9ydW50aW1lICsgZGlmZiA+IHJ0X3BlcmlvZCkKKwkJCQlkaWZmID0gcnRfcGVyaW9kIC0gcnRfcnEtPnJ0X3J1bnRpbWU7CisJCQlpdGVyLT5ydF9ydW50aW1lIC09IGRpZmY7CisJCQlydF9ycS0+cnRfcnVudGltZSArPSBkaWZmOworCQkJbW9yZSA9IDE7CisJCQlpZiAocnRfcnEtPnJ0X3J1bnRpbWUgPT0gcnRfcGVyaW9kKSB7CisJCQkJc3Bpbl91bmxvY2soJml0ZXItPnJ0X3J1bnRpbWVfbG9jayk7CisJCQkJYnJlYWs7CisJCQl9CisJCX0KK25leHQ6CisJCXNwaW5fdW5sb2NrKCZpdGVyLT5ydF9ydW50aW1lX2xvY2spOworCX0KKwlzcGluX3VubG9jaygmcnRfYi0+cnRfcnVudGltZV9sb2NrKTsKKworCXJldHVybiBtb3JlOworfQorCitzdGF0aWMgdm9pZCBfX2Rpc2FibGVfcnVudGltZShzdHJ1Y3QgcnEgKnJxKQoreworCXN0cnVjdCByb290X2RvbWFpbiAqcmQgPSBycS0+cmQ7CisJc3RydWN0IHJ0X3JxICpydF9ycTsKKworCWlmICh1bmxpa2VseSghc2NoZWR1bGVyX3J1bm5pbmcpKQorCQlyZXR1cm47CisKKwlmb3JfZWFjaF9sZWFmX3J0X3JxKHJ0X3JxLCBycSkgeworCQlzdHJ1Y3QgcnRfYmFuZHdpZHRoICpydF9iID0gc2NoZWRfcnRfYmFuZHdpZHRoKHJ0X3JxKTsKKwkJczY0IHdhbnQ7CisJCWludCBpOworCisJCXNwaW5fbG9jaygmcnRfYi0+cnRfcnVudGltZV9sb2NrKTsKKwkJc3Bpbl9sb2NrKCZydF9ycS0+cnRfcnVudGltZV9sb2NrKTsKKwkJaWYgKHJ0X3JxLT5ydF9ydW50aW1lID09IFJVTlRJTUVfSU5GIHx8CisJCQkJcnRfcnEtPnJ0X3J1bnRpbWUgPT0gcnRfYi0+cnRfcnVudGltZSkKKwkJCWdvdG8gYmFsYW5jZWQ7CisJCXNwaW5fdW5sb2NrKCZydF9ycS0+cnRfcnVudGltZV9sb2NrKTsKKworCQl3YW50ID0gcnRfYi0+cnRfcnVudGltZSAtIHJ0X3JxLT5ydF9ydW50aW1lOworCisJCWZvcl9lYWNoX2NwdV9tYXNrKGksIHJkLT5zcGFuKSB7CisJCQlzdHJ1Y3QgcnRfcnEgKml0ZXIgPSBzY2hlZF9ydF9wZXJpb2RfcnRfcnEocnRfYiwgaSk7CisJCQlzNjQgZGlmZjsKKworCQkJaWYgKGl0ZXIgPT0gcnRfcnEpCisJCQkJY29udGludWU7CisKKwkJCXNwaW5fbG9jaygmaXRlci0+cnRfcnVudGltZV9sb2NrKTsKKwkJCWlmICh3YW50ID4gMCkgeworCQkJCWRpZmYgPSBtaW5fdChzNjQsIGl0ZXItPnJ0X3J1bnRpbWUsIHdhbnQpOworCQkJCWl0ZXItPnJ0X3J1bnRpbWUgLT0gZGlmZjsKKwkJCQl3YW50IC09IGRpZmY7CisJCQl9IGVsc2UgeworCQkJCWl0ZXItPnJ0X3J1bnRpbWUgLT0gd2FudDsKKwkJCQl3YW50IC09IHdhbnQ7CisJCQl9CisJCQlzcGluX3VubG9jaygmaXRlci0+cnRfcnVudGltZV9sb2NrKTsKKworCQkJaWYgKCF3YW50KQorCQkJCWJyZWFrOworCQl9CisKKwkJc3Bpbl9sb2NrKCZydF9ycS0+cnRfcnVudGltZV9sb2NrKTsKKwkJQlVHX09OKHdhbnQpOworYmFsYW5jZWQ6CisJCXJ0X3JxLT5ydF9ydW50aW1lID0gUlVOVElNRV9JTkY7CisJCXNwaW5fdW5sb2NrKCZydF9ycS0+cnRfcnVudGltZV9sb2NrKTsKKwkJc3Bpbl91bmxvY2soJnJ0X2ItPnJ0X3J1bnRpbWVfbG9jayk7CisJfQorfQorCitzdGF0aWMgdm9pZCBkaXNhYmxlX3J1bnRpbWUoc3RydWN0IHJxICpycSkKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJnJxLT5sb2NrLCBmbGFncyk7CisJX19kaXNhYmxlX3J1bnRpbWUocnEpOworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnJxLT5sb2NrLCBmbGFncyk7Cit9CisKK3N0YXRpYyB2b2lkIF9fZW5hYmxlX3J1bnRpbWUoc3RydWN0IHJxICpycSkKK3sKKwlzdHJ1Y3QgcnRfcnEgKnJ0X3JxOworCisJaWYgKHVubGlrZWx5KCFzY2hlZHVsZXJfcnVubmluZykpCisJCXJldHVybjsKKworCWZvcl9lYWNoX2xlYWZfcnRfcnEocnRfcnEsIHJxKSB7CisJCXN0cnVjdCBydF9iYW5kd2lkdGggKnJ0X2IgPSBzY2hlZF9ydF9iYW5kd2lkdGgocnRfcnEpOworCisJCXNwaW5fbG9jaygmcnRfYi0+cnRfcnVudGltZV9sb2NrKTsKKwkJc3Bpbl9sb2NrKCZydF9ycS0+cnRfcnVudGltZV9sb2NrKTsKKwkJcnRfcnEtPnJ0X3J1bnRpbWUgPSBydF9iLT5ydF9ydW50aW1lOworCQlydF9ycS0+cnRfdGltZSA9IDA7CisJCXNwaW5fdW5sb2NrKCZydF9ycS0+cnRfcnVudGltZV9sb2NrKTsKKwkJc3Bpbl91bmxvY2soJnJ0X2ItPnJ0X3J1bnRpbWVfbG9jayk7CisJfQorfQorCitzdGF0aWMgdm9pZCBlbmFibGVfcnVudGltZShzdHJ1Y3QgcnEgKnJxKQoreworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmcnEtPmxvY2ssIGZsYWdzKTsKKwlfX2VuYWJsZV9ydW50aW1lKHJxKTsKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZycS0+bG9jaywgZmxhZ3MpOworfQorCitzdGF0aWMgaW50IGJhbGFuY2VfcnVudGltZShzdHJ1Y3QgcnRfcnEgKnJ0X3JxKQoreworCWludCBtb3JlID0gMDsKKworCWlmIChydF9ycS0+cnRfdGltZSA+IHJ0X3JxLT5ydF9ydW50aW1lKSB7CisJCXNwaW5fdW5sb2NrKCZydF9ycS0+cnRfcnVudGltZV9sb2NrKTsKKwkJbW9yZSA9IGRvX2JhbGFuY2VfcnVudGltZShydF9ycSk7CisJCXNwaW5fbG9jaygmcnRfcnEtPnJ0X3J1bnRpbWVfbG9jayk7CisJfQorCisJcmV0dXJuIG1vcmU7Cit9CisjZWxzZSAvKiAhQ09ORklHX1NNUCAqLworc3RhdGljIGlubGluZSBpbnQgYmFsYW5jZV9ydW50aW1lKHN0cnVjdCBydF9ycSAqcnRfcnEpCit7CisJcmV0dXJuIDA7Cit9CisjZW5kaWYgLyogQ09ORklHX1NNUCAqLwogCiBzdGF0aWMgaW50IGRvX3NjaGVkX3J0X3BlcmlvZF90aW1lcihzdHJ1Y3QgcnRfYmFuZHdpZHRoICpydF9iLCBpbnQgb3ZlcnJ1bikKIHsKQEAgLTI0MSw2ICs0MDAsOCBAQAogCQkJdTY0IHJ1bnRpbWU7CiAKIAkJCXNwaW5fbG9jaygmcnRfcnEtPnJ0X3J1bnRpbWVfbG9jayk7CisJCQlpZiAocnRfcnEtPnJ0X3Rocm90dGxlZCkKKwkJCQliYWxhbmNlX3J1bnRpbWUocnRfcnEpOwogCQkJcnVudGltZSA9IHJ0X3JxLT5ydF9ydW50aW1lOwogCQkJcnRfcnEtPnJ0X3RpbWUgLT0gbWluKHJ0X3JxLT5ydF90aW1lLCBvdmVycnVuKnJ1bnRpbWUpOwogCQkJaWYgKHJ0X3JxLT5ydF90aHJvdHRsZWQgJiYgcnRfcnEtPnJ0X3RpbWUgPCBydW50aW1lKSB7CkBAIC0yNjEsNDcgKzQyMiw2IEBACiAJcmV0dXJuIGlkbGU7CiB9CiAKLSNpZmRlZiBDT05GSUdfU01QCi1zdGF0aWMgaW50IGJhbGFuY2VfcnVudGltZShzdHJ1Y3QgcnRfcnEgKnJ0X3JxKQotewotCXN0cnVjdCBydF9iYW5kd2lkdGggKnJ0X2IgPSBzY2hlZF9ydF9iYW5kd2lkdGgocnRfcnEpOwotCXN0cnVjdCByb290X2RvbWFpbiAqcmQgPSBjcHVfcnEoc21wX3Byb2Nlc3Nvcl9pZCgpKS0+cmQ7Ci0JaW50IGksIHdlaWdodCwgbW9yZSA9IDA7Ci0JdTY0IHJ0X3BlcmlvZDsKLQotCXdlaWdodCA9IGNwdXNfd2VpZ2h0KHJkLT5zcGFuKTsKLQotCXNwaW5fbG9jaygmcnRfYi0+cnRfcnVudGltZV9sb2NrKTsKLQlydF9wZXJpb2QgPSBrdGltZV90b19ucyhydF9iLT5ydF9wZXJpb2QpOwotCWZvcl9lYWNoX2NwdV9tYXNrKGksIHJkLT5zcGFuKSB7Ci0JCXN0cnVjdCBydF9ycSAqaXRlciA9IHNjaGVkX3J0X3BlcmlvZF9ydF9ycShydF9iLCBpKTsKLQkJczY0IGRpZmY7Ci0KLQkJaWYgKGl0ZXIgPT0gcnRfcnEpCi0JCQljb250aW51ZTsKLQotCQlzcGluX2xvY2soJml0ZXItPnJ0X3J1bnRpbWVfbG9jayk7Ci0JCWRpZmYgPSBpdGVyLT5ydF9ydW50aW1lIC0gaXRlci0+cnRfdGltZTsKLQkJaWYgKGRpZmYgPiAwKSB7Ci0JCQlkb19kaXYoZGlmZiwgd2VpZ2h0KTsKLQkJCWlmIChydF9ycS0+cnRfcnVudGltZSArIGRpZmYgPiBydF9wZXJpb2QpCi0JCQkJZGlmZiA9IHJ0X3BlcmlvZCAtIHJ0X3JxLT5ydF9ydW50aW1lOwotCQkJaXRlci0+cnRfcnVudGltZSAtPSBkaWZmOwotCQkJcnRfcnEtPnJ0X3J1bnRpbWUgKz0gZGlmZjsKLQkJCW1vcmUgPSAxOwotCQkJaWYgKHJ0X3JxLT5ydF9ydW50aW1lID09IHJ0X3BlcmlvZCkgewotCQkJCXNwaW5fdW5sb2NrKCZpdGVyLT5ydF9ydW50aW1lX2xvY2spOwotCQkJCWJyZWFrOwotCQkJfQotCQl9Ci0JCXNwaW5fdW5sb2NrKCZpdGVyLT5ydF9ydW50aW1lX2xvY2spOwotCX0KLQlzcGluX3VubG9jaygmcnRfYi0+cnRfcnVudGltZV9sb2NrKTsKLQotCXJldHVybiBtb3JlOwotfQotI2VuZGlmCi0KIHN0YXRpYyBpbmxpbmUgaW50IHJ0X3NlX3ByaW8oc3RydWN0IHNjaGVkX3J0X2VudGl0eSAqcnRfc2UpCiB7CiAjaWZkZWYgQ09ORklHX1JUX0dST1VQX1NDSEVECkBAIC0zMjcsMTggKzQ0NywxMCBAQAogCWlmIChzY2hlZF9ydF9ydW50aW1lKHJ0X3JxKSA+PSBzY2hlZF9ydF9wZXJpb2QocnRfcnEpKQogCQlyZXR1cm4gMDsKIAotI2lmZGVmIENPTkZJR19TTVAKLQlpZiAocnRfcnEtPnJ0X3RpbWUgPiBydW50aW1lKSB7Ci0JCWludCBtb3JlOwotCi0JCXNwaW5fdW5sb2NrKCZydF9ycS0+cnRfcnVudGltZV9sb2NrKTsKLQkJbW9yZSA9IGJhbGFuY2VfcnVudGltZShydF9ycSk7Ci0JCXNwaW5fbG9jaygmcnRfcnEtPnJ0X3J1bnRpbWVfbG9jayk7Ci0KLQkJaWYgKG1vcmUpCi0JCQlydW50aW1lID0gc2NoZWRfcnRfcnVudGltZShydF9ycSk7Ci0JfQotI2VuZGlmCisJYmFsYW5jZV9ydW50aW1lKHJ0X3JxKTsKKwlydW50aW1lID0gc2NoZWRfcnRfcnVudGltZShydF9ycSk7CisJaWYgKHJ1bnRpbWUgPT0gUlVOVElNRV9JTkYpCisJCXJldHVybiAwOwogCiAJaWYgKHJ0X3JxLT5ydF90aW1lID4gcnVudGltZSkgewogCQlydF9ycS0+cnRfdGhyb3R0bGVkID0gMTsKQEAgLTM5MiwxMiArNTA0LDIxIEBACiAJV0FSTl9PTighcnRfcHJpbyhydF9zZV9wcmlvKHJ0X3NlKSkpOwogCXJ0X3JxLT5ydF9ucl9ydW5uaW5nKys7CiAjaWYgZGVmaW5lZCBDT05GSUdfU01QIHx8IGRlZmluZWQgQ09ORklHX1JUX0dST1VQX1NDSEVECi0JaWYgKHJ0X3NlX3ByaW8ocnRfc2UpIDwgcnRfcnEtPmhpZ2hlc3RfcHJpbykKKwlpZiAocnRfc2VfcHJpbyhydF9zZSkgPCBydF9ycS0+aGlnaGVzdF9wcmlvKSB7CisJCXN0cnVjdCBycSAqcnEgPSBycV9vZl9ydF9ycShydF9ycSk7CisKIAkJcnRfcnEtPmhpZ2hlc3RfcHJpbyA9IHJ0X3NlX3ByaW8ocnRfc2UpOworI2lmZGVmIENPTkZJR19TTVAKKwkJaWYgKHJxLT5vbmxpbmUpCisJCQljcHVwcmlfc2V0KCZycS0+cmQtPmNwdXByaSwgcnEtPmNwdSwKKwkJCQkgICBydF9zZV9wcmlvKHJ0X3NlKSk7CisjZW5kaWYKKwl9CiAjZW5kaWYKICNpZmRlZiBDT05GSUdfU01QCiAJaWYgKHJ0X3NlLT5ucl9jcHVzX2FsbG93ZWQgPiAxKSB7CiAJCXN0cnVjdCBycSAqcnEgPSBycV9vZl9ydF9ycShydF9ycSk7CisKIAkJcnEtPnJ0LnJ0X25yX21pZ3JhdG9yeSsrOwogCX0KIApAQCAtNDE3LDYgKzUzOCwxMCBAQAogc3RhdGljIGlubGluZQogdm9pZCBkZWNfcnRfdGFza3Moc3RydWN0IHNjaGVkX3J0X2VudGl0eSAqcnRfc2UsIHN0cnVjdCBydF9ycSAqcnRfcnEpCiB7CisjaWZkZWYgQ09ORklHX1NNUAorCWludCBoaWdoZXN0X3ByaW8gPSBydF9ycS0+aGlnaGVzdF9wcmlvOworI2VuZGlmCisKIAlXQVJOX09OKCFydF9wcmlvKHJ0X3NlX3ByaW8ocnRfc2UpKSk7CiAJV0FSTl9PTighcnRfcnEtPnJ0X25yX3J1bm5pbmcpOwogCXJ0X3JxLT5ydF9ucl9ydW5uaW5nLS07CkBAIC00NDAsNiArNTY1LDE0IEBACiAJCXJxLT5ydC5ydF9ucl9taWdyYXRvcnktLTsKIAl9CiAKKwlpZiAocnRfcnEtPmhpZ2hlc3RfcHJpbyAhPSBoaWdoZXN0X3ByaW8pIHsKKwkJc3RydWN0IHJxICpycSA9IHJxX29mX3J0X3JxKHJ0X3JxKTsKKworCQlpZiAocnEtPm9ubGluZSkKKwkJCWNwdXByaV9zZXQoJnJxLT5yZC0+Y3B1cHJpLCBycS0+Y3B1LAorCQkJCSAgIHJ0X3JxLT5oaWdoZXN0X3ByaW8pOworCX0KKwogCXVwZGF0ZV9ydF9taWdyYXRpb24ocnFfb2ZfcnRfcnEocnRfcnEpKTsKICNlbmRpZiAvKiBDT05GSUdfU01QICovCiAjaWZkZWYgQ09ORklHX1JUX0dST1VQX1NDSEVECkBAIC00NTUsNiArNTg4LDcgQEAKIAlzdHJ1Y3QgcnRfcnEgKnJ0X3JxID0gcnRfcnFfb2Zfc2UocnRfc2UpOwogCXN0cnVjdCBydF9wcmlvX2FycmF5ICphcnJheSA9ICZydF9ycS0+YWN0aXZlOwogCXN0cnVjdCBydF9ycSAqZ3JvdXBfcnEgPSBncm91cF9ydF9ycShydF9zZSk7CisJc3RydWN0IGxpc3RfaGVhZCAqcXVldWUgPSBhcnJheS0+cXVldWUgKyBydF9zZV9wcmlvKHJ0X3NlKTsKIAogCS8qCiAJICogRG9uJ3QgZW5xdWV1ZSB0aGUgZ3JvdXAgaWYgaXRzIHRocm90dGxlZCwgb3Igd2hlbiBlbXB0eS4KQEAgLTQ2NSw3ICs1OTksMTEgQEAKIAlpZiAoZ3JvdXBfcnEgJiYgKHJ0X3JxX3Rocm90dGxlZChncm91cF9ycSkgfHwgIWdyb3VwX3JxLT5ydF9ucl9ydW5uaW5nKSkKIAkJcmV0dXJuOwogCi0JbGlzdF9hZGRfdGFpbCgmcnRfc2UtPnJ1bl9saXN0LCBhcnJheS0+cXVldWUgKyBydF9zZV9wcmlvKHJ0X3NlKSk7CisJaWYgKHJ0X3NlLT5ucl9jcHVzX2FsbG93ZWQgPT0gMSkKKwkJbGlzdF9hZGQoJnJ0X3NlLT5ydW5fbGlzdCwgcXVldWUpOworCWVsc2UKKwkJbGlzdF9hZGRfdGFpbCgmcnRfc2UtPnJ1bl9saXN0LCBxdWV1ZSk7CisKIAlfX3NldF9iaXQocnRfc2VfcHJpbyhydF9zZSksIGFycmF5LT5iaXRtYXApOwogCiAJaW5jX3J0X3Rhc2tzKHJ0X3NlLCBydF9ycSk7CkBAIC01MzIsNiArNjcwLDggQEAKIAkJcnRfc2UtPnRpbWVvdXQgPSAwOwogCiAJZW5xdWV1ZV9ydF9lbnRpdHkocnRfc2UpOworCisJaW5jX2NwdV9sb2FkKHJxLCBwLT5zZS5sb2FkLndlaWdodCk7CiB9CiAKIHN0YXRpYyB2b2lkIGRlcXVldWVfdGFza19ydChzdHJ1Y3QgcnEgKnJxLCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAsIGludCBzbGVlcCkKQEAgLTU0MCw2ICs2ODAsOCBAQAogCiAJdXBkYXRlX2N1cnJfcnQocnEpOwogCWRlcXVldWVfcnRfZW50aXR5KHJ0X3NlKTsKKworCWRlY19jcHVfbG9hZChycSwgcC0+c2UubG9hZC53ZWlnaHQpOwogfQogCiAvKgpAQCAtNTUwLDEwICs2OTIsMTIgQEAKIHZvaWQgcmVxdWV1ZV9ydF9lbnRpdHkoc3RydWN0IHJ0X3JxICpydF9ycSwgc3RydWN0IHNjaGVkX3J0X2VudGl0eSAqcnRfc2UpCiB7CiAJc3RydWN0IHJ0X3ByaW9fYXJyYXkgKmFycmF5ID0gJnJ0X3JxLT5hY3RpdmU7Ci0Jc3RydWN0IGxpc3RfaGVhZCAqcXVldWUgPSBhcnJheS0+cXVldWUgKyBydF9zZV9wcmlvKHJ0X3NlKTsKIAotCWlmIChvbl9ydF9ycShydF9zZSkpCi0JCWxpc3RfbW92ZV90YWlsKCZydF9zZS0+cnVuX2xpc3QsIHF1ZXVlKTsKKwlpZiAob25fcnRfcnEocnRfc2UpKSB7CisJCWxpc3RfZGVsX2luaXQoJnJ0X3NlLT5ydW5fbGlzdCk7CisJCWxpc3RfYWRkX3RhaWwoJnJ0X3NlLT5ydW5fbGlzdCwKKwkJCSAgICAgIGFycmF5LT5xdWV1ZSArIHJ0X3NlX3ByaW8ocnRfc2UpKTsKKwl9CiB9CiAKIHN0YXRpYyB2b2lkIHJlcXVldWVfdGFza19ydChzdHJ1Y3QgcnEgKnJxLCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKnApCkBAIC02MTYsOCArNzYwLDM3IEBACiAgKi8KIHN0YXRpYyB2b2lkIGNoZWNrX3ByZWVtcHRfY3Vycl9ydChzdHJ1Y3QgcnEgKnJxLCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKnApCiB7Ci0JaWYgKHAtPnByaW8gPCBycS0+Y3Vyci0+cHJpbykKKwlpZiAocC0+cHJpbyA8IHJxLT5jdXJyLT5wcmlvKSB7CiAJCXJlc2NoZWRfdGFzayhycS0+Y3Vycik7CisJCXJldHVybjsKKwl9CisKKyNpZmRlZiBDT05GSUdfU01QCisJLyoKKwkgKiBJZjoKKwkgKgorCSAqIC0gdGhlIG5ld2x5IHdva2VuIHRhc2sgaXMgb2YgZXF1YWwgcHJpb3JpdHkgdG8gdGhlIGN1cnJlbnQgdGFzaworCSAqIC0gdGhlIG5ld2x5IHdva2VuIHRhc2sgaXMgbm9uLW1pZ3JhdGFibGUgd2hpbGUgY3VycmVudCBpcyBtaWdyYXRhYmxlCisJICogLSBjdXJyZW50IHdpbGwgYmUgcHJlZW1wdGVkIG9uIHRoZSBuZXh0IHJlc2NoZWR1bGUKKwkgKgorCSAqIHdlIHNob3VsZCBjaGVjayB0byBzZWUgaWYgY3VycmVudCBjYW4gcmVhZGlseSBtb3ZlIHRvIGEgZGlmZmVyZW50CisJICogY3B1LiAgSWYgc28sIHdlIHdpbGwgcmVzY2hlZHVsZSB0byBhbGxvdyB0aGUgcHVzaCBsb2dpYyB0byB0cnkKKwkgKiB0byBtb3ZlIGN1cnJlbnQgc29tZXdoZXJlIGVsc2UsIG1ha2luZyByb29tIGZvciBvdXIgbm9uLW1pZ3JhdGFibGUKKwkgKiB0YXNrLgorCSAqLworCWlmKChwLT5wcmlvID09IHJxLT5jdXJyLT5wcmlvKQorCSAgICYmIHAtPnJ0Lm5yX2NwdXNfYWxsb3dlZCA9PSAxCisJICAgJiYgcnEtPmN1cnItPnJ0Lm5yX2NwdXNfYWxsb3dlZCAhPSAxKSB7CisJCWNwdW1hc2tfdCBtYXNrOworCisJCWlmIChjcHVwcmlfZmluZCgmcnEtPnJkLT5jcHVwcmksIHJxLT5jdXJyLCAmbWFzaykpCisJCQkvKgorCQkJICogVGhlcmUgYXBwZWFycyB0byBiZSBvdGhlciBjcHVzIHRoYXQgY2FuIGFjY2VwdAorCQkJICogY3VycmVudCwgc28gbGV0cyByZXNjaGVkdWxlIHRvIHRyeSBhbmQgcHVzaCBpdCBhd2F5CisJCQkgKi8KKwkJCXJlc2NoZWRfdGFzayhycS0+Y3Vycik7CisJfQorI2VuZGlmCiB9CiAKIHN0YXRpYyBzdHJ1Y3Qgc2NoZWRfcnRfZW50aXR5ICpwaWNrX25leHRfcnRfZW50aXR5KHN0cnVjdCBycSAqcnEsCkBAIC03MjAsNzMgKzg5Myw2IEBACiAKIHN0YXRpYyBERUZJTkVfUEVSX0NQVShjcHVtYXNrX3QsIGxvY2FsX2NwdV9tYXNrKTsKIAotc3RhdGljIGludCBmaW5kX2xvd2VzdF9jcHVzKHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzaywgY3B1bWFza190ICpsb3dlc3RfbWFzaykKLXsKLQlpbnQgICAgICAgbG93ZXN0X3ByaW8gPSAtMTsKLQlpbnQgICAgICAgbG93ZXN0X2NwdSAgPSAtMTsKLQlpbnQgICAgICAgY291bnQgICAgICAgPSAwOwotCWludCAgICAgICBjcHU7Ci0KLQljcHVzX2FuZCgqbG93ZXN0X21hc2ssIHRhc2tfcnEodGFzayktPnJkLT5vbmxpbmUsIHRhc2stPmNwdXNfYWxsb3dlZCk7Ci0KLQkvKgotCSAqIFNjYW4gZWFjaCBycSBmb3IgdGhlIGxvd2VzdCBwcmlvLgotCSAqLwotCWZvcl9lYWNoX2NwdV9tYXNrKGNwdSwgKmxvd2VzdF9tYXNrKSB7Ci0JCXN0cnVjdCBycSAqcnEgPSBjcHVfcnEoY3B1KTsKLQotCQkvKiBXZSBsb29rIGZvciBsb3dlc3QgUlQgcHJpbyBvciBub24tcnQgQ1BVICovCi0JCWlmIChycS0+cnQuaGlnaGVzdF9wcmlvID49IE1BWF9SVF9QUklPKSB7Ci0JCQkvKgotCQkJICogaWYgd2UgYWxyZWFkeSBmb3VuZCBhIGxvdyBSVCBxdWV1ZQotCQkJICogYW5kIG5vdyB3ZSBmb3VuZCB0aGlzIG5vbi1ydCBxdWV1ZQotCQkJICogY2xlYXIgdGhlIG1hc2sgYW5kIHNldCBvdXIgYml0LgotCQkJICogT3RoZXJ3aXNlIGp1c3QgcmV0dXJuIHRoZSBxdWV1ZSBhcyBpcwotCQkJICogYW5kIHRoZSBjb3VudD09MSB3aWxsIGNhdXNlIHRoZSBhbGdvcml0aG0KLQkJCSAqIHRvIHVzZSB0aGUgZmlyc3QgYml0IGZvdW5kLgotCQkJICovCi0JCQlpZiAobG93ZXN0X2NwdSAhPSAtMSkgewotCQkJCWNwdXNfY2xlYXIoKmxvd2VzdF9tYXNrKTsKLQkJCQljcHVfc2V0KHJxLT5jcHUsICpsb3dlc3RfbWFzayk7Ci0JCQl9Ci0JCQlyZXR1cm4gMTsKLQkJfQotCi0JCS8qIG5vIGxvY2tpbmcgZm9yIG5vdyAqLwotCQlpZiAoKHJxLT5ydC5oaWdoZXN0X3ByaW8gPiB0YXNrLT5wcmlvKQotCQkgICAgJiYgKHJxLT5ydC5oaWdoZXN0X3ByaW8gPj0gbG93ZXN0X3ByaW8pKSB7Ci0JCQlpZiAocnEtPnJ0LmhpZ2hlc3RfcHJpbyA+IGxvd2VzdF9wcmlvKSB7Ci0JCQkJLyogbmV3IGxvdyAtIGNsZWFyIG9sZCBkYXRhICovCi0JCQkJbG93ZXN0X3ByaW8gPSBycS0+cnQuaGlnaGVzdF9wcmlvOwotCQkJCWxvd2VzdF9jcHUgPSBjcHU7Ci0JCQkJY291bnQgPSAwOwotCQkJfQotCQkJY291bnQrKzsKLQkJfSBlbHNlCi0JCQljcHVfY2xlYXIoY3B1LCAqbG93ZXN0X21hc2spOwotCX0KLQotCS8qCi0JICogQ2xlYXIgb3V0IGFsbCB0aGUgc2V0IGJpdHMgdGhhdCByZXByZXNlbnQKLQkgKiBydW5xdWV1ZXMgdGhhdCB3ZXJlIG9mIGhpZ2hlciBwcmlvIHRoYW4KLQkgKiB0aGUgbG93ZXN0X3ByaW8uCi0JICovCi0JaWYgKGxvd2VzdF9jcHUgPiAwKSB7Ci0JCS8qCi0JCSAqIFBlcmhhcHMgd2UgY291bGQgYWRkIGFub3RoZXIgY3B1bWFzayBvcCB0bwotCQkgKiB6ZXJvIG91dCBiaXRzLiBMaWtlIGNwdV96ZXJvX2JpdHMoY3B1bWFzaywgbnJiaXRzKTsKLQkJICogVGhlbiB0aGF0IGNvdWxkIGJlIG9wdGltaXplZCB0byB1c2UgbWVtc2V0IGFuZCBzdWNoLgotCQkgKi8KLQkJZm9yX2VhY2hfY3B1X21hc2soY3B1LCAqbG93ZXN0X21hc2spIHsKLQkJCWlmIChjcHUgPj0gbG93ZXN0X2NwdSkKLQkJCQlicmVhazsKLQkJCWNwdV9jbGVhcihjcHUsICpsb3dlc3RfbWFzayk7Ci0JCX0KLQl9Ci0KLQlyZXR1cm4gY291bnQ7Ci19Ci0KIHN0YXRpYyBpbmxpbmUgaW50IHBpY2tfb3B0aW1hbF9jcHUoaW50IHRoaXNfY3B1LCBjcHVtYXNrX3QgKm1hc2spCiB7CiAJaW50IGZpcnN0OwpAQCAtODA4LDE5ICs5MTQsMTQgQEAKIAljcHVtYXNrX3QgKmxvd2VzdF9tYXNrID0gJl9fZ2V0X2NwdV92YXIobG9jYWxfY3B1X21hc2spOwogCWludCB0aGlzX2NwdSA9IHNtcF9wcm9jZXNzb3JfaWQoKTsKIAlpbnQgY3B1ICAgICAgPSB0YXNrX2NwdSh0YXNrKTsKLQlpbnQgY291bnQgICAgPSBmaW5kX2xvd2VzdF9jcHVzKHRhc2ssIGxvd2VzdF9tYXNrKTsKIAotCWlmICghY291bnQpCisJaWYgKHRhc2stPnJ0Lm5yX2NwdXNfYWxsb3dlZCA9PSAxKQorCQlyZXR1cm4gLTE7IC8qIE5vIG90aGVyIHRhcmdldHMgcG9zc2libGUgKi8KKworCWlmICghY3B1cHJpX2ZpbmQoJnRhc2tfcnEodGFzayktPnJkLT5jcHVwcmksIHRhc2ssIGxvd2VzdF9tYXNrKSkKIAkJcmV0dXJuIC0xOyAvKiBObyB0YXJnZXRzIGZvdW5kICovCiAKIAkvKgotCSAqIFRoZXJlIGlzIG5vIHNlbnNlIGluIHBlcmZvcm1pbmcgYW4gb3B0aW1hbCBzZWFyY2ggaWYgb25seSBvbmUKLQkgKiB0YXJnZXQgaXMgZm91bmQuCi0JICovCi0JaWYgKGNvdW50ID09IDEpCi0JCXJldHVybiBmaXJzdF9jcHUoKmxvd2VzdF9tYXNrKTsKLQotCS8qCiAJICogQXQgdGhpcyBwb2ludCB3ZSBoYXZlIGJ1aWx0IGEgbWFzayBvZiBjcHVzIHJlcHJlc2VudGluZyB0aGUKIAkgKiBsb3dlc3QgcHJpb3JpdHkgdGFza3MgaW4gdGhlIHN5c3RlbS4gIE5vdyB3ZSB3YW50IHRvIGVsZWN0CiAJICogdGhlIGJlc3Qgb25lIGJhc2VkIG9uIG91ciBhZmZpbml0eSBhbmQgdG9wb2xvZ3kuCkBAIC0xMTYzLDE3ICsxMjY0LDI1IEBACiB9CiAKIC8qIEFzc3VtZXMgcnEtPmxvY2sgaXMgaGVsZCAqLwotc3RhdGljIHZvaWQgam9pbl9kb21haW5fcnQoc3RydWN0IHJxICpycSkKK3N0YXRpYyB2b2lkIHJxX29ubGluZV9ydChzdHJ1Y3QgcnEgKnJxKQogewogCWlmIChycS0+cnQub3ZlcmxvYWRlZCkKIAkJcnRfc2V0X292ZXJsb2FkKHJxKTsKKworCV9fZW5hYmxlX3J1bnRpbWUocnEpOworCisJY3B1cHJpX3NldCgmcnEtPnJkLT5jcHVwcmksIHJxLT5jcHUsIHJxLT5ydC5oaWdoZXN0X3ByaW8pOwogfQogCiAvKiBBc3N1bWVzIHJxLT5sb2NrIGlzIGhlbGQgKi8KLXN0YXRpYyB2b2lkIGxlYXZlX2RvbWFpbl9ydChzdHJ1Y3QgcnEgKnJxKQorc3RhdGljIHZvaWQgcnFfb2ZmbGluZV9ydChzdHJ1Y3QgcnEgKnJxKQogewogCWlmIChycS0+cnQub3ZlcmxvYWRlZCkKIAkJcnRfY2xlYXJfb3ZlcmxvYWQocnEpOworCisJX19kaXNhYmxlX3J1bnRpbWUocnEpOworCisJY3B1cHJpX3NldCgmcnEtPnJkLT5jcHVwcmksIHJxLT5jcHUsIENQVVBSSV9JTlZBTElEKTsKIH0KIAogLyoKQEAgLTEzMzYsOCArMTQ0NSw4IEBACiAJLmxvYWRfYmFsYW5jZQkJPSBsb2FkX2JhbGFuY2VfcnQsCiAJLm1vdmVfb25lX3Rhc2sJCT0gbW92ZV9vbmVfdGFza19ydCwKIAkuc2V0X2NwdXNfYWxsb3dlZCAgICAgICA9IHNldF9jcHVzX2FsbG93ZWRfcnQsCi0JLmpvaW5fZG9tYWluICAgICAgICAgICAgPSBqb2luX2RvbWFpbl9ydCwKLQkubGVhdmVfZG9tYWluICAgICAgICAgICA9IGxlYXZlX2RvbWFpbl9ydCwKKwkucnFfb25saW5lICAgICAgICAgICAgICA9IHJxX29ubGluZV9ydCwKKwkucnFfb2ZmbGluZSAgICAgICAgICAgICA9IHJxX29mZmxpbmVfcnQsCiAJLnByZV9zY2hlZHVsZQkJPSBwcmVfc2NoZWR1bGVfcnQsCiAJLnBvc3Rfc2NoZWR1bGUJCT0gcG9zdF9zY2hlZHVsZV9ydCwKIAkudGFza193YWtlX3VwCQk9IHRhc2tfd2FrZV91cF9ydCwKQEAgLTEzNTAsMyArMTQ1OSwxNyBAQAogCS5wcmlvX2NoYW5nZWQJCT0gcHJpb19jaGFuZ2VkX3J0LAogCS5zd2l0Y2hlZF90bwkJPSBzd2l0Y2hlZF90b19ydCwKIH07CisKKyNpZmRlZiBDT05GSUdfU0NIRURfREVCVUcKK2V4dGVybiB2b2lkIHByaW50X3J0X3JxKHN0cnVjdCBzZXFfZmlsZSAqbSwgaW50IGNwdSwgc3RydWN0IHJ0X3JxICpydF9ycSk7CisKK3N0YXRpYyB2b2lkIHByaW50X3J0X3N0YXRzKHN0cnVjdCBzZXFfZmlsZSAqbSwgaW50IGNwdSkKK3sKKwlzdHJ1Y3QgcnRfcnEgKnJ0X3JxOworCisJcmN1X3JlYWRfbG9jaygpOworCWZvcl9lYWNoX2xlYWZfcnRfcnEocnRfcnEsIGNwdV9ycShjcHUpKQorCQlwcmludF9ydF9ycShtLCBjcHUsIHJ0X3JxKTsKKwlyY3VfcmVhZF91bmxvY2soKTsKK30KKyNlbmRpZiAvKiBDT05GSUdfU0NIRURfREVCVUcgKi8KZGlmZiAtLWdpdCBhL2tlcm5lbC9zY2hlZF9zdGF0cy5oIGIva2VybmVsL3NjaGVkX3N0YXRzLmgKaW5kZXggODAxNzllZi4uODM4NWQ0MyAxMDA2NDQKLS0tIGEva2VybmVsL3NjaGVkX3N0YXRzLmgKKysrIGIva2VybmVsL3NjaGVkX3N0YXRzLmgKQEAgLTExOCw2ICsxMTgsMTMgQEAKIAlpZiAocnEpCiAJCXJxLT5ycV9zY2hlZF9pbmZvLmNwdV90aW1lICs9IGRlbHRhOwogfQorCitzdGF0aWMgaW5saW5lIHZvaWQKK3JxX3NjaGVkX2luZm9fZGVxdWV1ZWQoc3RydWN0IHJxICpycSwgdW5zaWduZWQgbG9uZyBsb25nIGRlbHRhKQoreworCWlmIChycSkKKwkJcnEtPnJxX3NjaGVkX2luZm8ucnVuX2RlbGF5ICs9IGRlbHRhOworfQogIyBkZWZpbmUgc2NoZWRzdGF0X2luYyhycSwgZmllbGQpCWRvIHsgKHJxKS0+ZmllbGQrKzsgfSB3aGlsZSAoMCkKICMgZGVmaW5lIHNjaGVkc3RhdF9hZGQocnEsIGZpZWxkLCBhbXQpCWRvIHsgKHJxKS0+ZmllbGQgKz0gKGFtdCk7IH0gd2hpbGUgKDApCiAjIGRlZmluZSBzY2hlZHN0YXRfc2V0KHZhciwgdmFsKQlkbyB7IHZhciA9ICh2YWwpOyB9IHdoaWxlICgwKQpAQCAtMTI2LDYgKzEzMyw5IEBACiBycV9zY2hlZF9pbmZvX2Fycml2ZShzdHJ1Y3QgcnEgKnJxLCB1bnNpZ25lZCBsb25nIGxvbmcgZGVsdGEpCiB7fQogc3RhdGljIGlubGluZSB2b2lkCitycV9zY2hlZF9pbmZvX2RlcXVldWVkKHN0cnVjdCBycSAqcnEsIHVuc2lnbmVkIGxvbmcgbG9uZyBkZWx0YSkKK3t9CitzdGF0aWMgaW5saW5lIHZvaWQKIHJxX3NjaGVkX2luZm9fZGVwYXJ0KHN0cnVjdCBycSAqcnEsIHVuc2lnbmVkIGxvbmcgbG9uZyBkZWx0YSkKIHt9CiAjIGRlZmluZSBzY2hlZHN0YXRfaW5jKHJxLCBmaWVsZCkJZG8geyB9IHdoaWxlICgwKQpAQCAtMTM0LDYgKzE0NCwxMSBAQAogI2VuZGlmCiAKICNpZiBkZWZpbmVkKENPTkZJR19TQ0hFRFNUQVRTKSB8fCBkZWZpbmVkKENPTkZJR19UQVNLX0RFTEFZX0FDQ1QpCitzdGF0aWMgaW5saW5lIHZvaWQgc2NoZWRfaW5mb19yZXNldF9kZXF1ZXVlZChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnQpCit7CisJdC0+c2NoZWRfaW5mby5sYXN0X3F1ZXVlZCA9IDA7Cit9CisKIC8qCiAgKiBDYWxsZWQgd2hlbiBhIHByb2Nlc3MgaXMgZGVxdWV1ZWQgZnJvbSB0aGUgYWN0aXZlIGFycmF5IGFuZCBnaXZlbgogICogdGhlIGNwdS4gIFdlIHNob3VsZCBub3RlIHRoYXQgd2l0aCB0aGUgZXhjZXB0aW9uIG9mIGludGVyYWN0aXZlCkBAIC0xNDMsMTUgKzE1OCwyMiBAQAogICogYWN0aXZlIHF1ZXVlLCB0aHVzIGRlbGF5aW5nIHRhc2tzIGluIHRoZSBleHBpcmVkIHF1ZXVlIGZyb20gcnVubmluZzsKICAqIHNlZSBzY2hlZHVsZXJfdGljaygpKS4KICAqCi0gKiBUaGlzIGZ1bmN0aW9uIGlzIG9ubHkgY2FsbGVkIGZyb20gc2NoZWRfaW5mb19hcnJpdmUoKSwgcmF0aGVyIHRoYW4KLSAqIGRlcXVldWVfdGFzaygpLiBFdmVuIHRob3VnaCBhIHRhc2sgbWF5IGJlIHF1ZXVlZCBhbmQgZGVxdWV1ZWQgbXVsdGlwbGUKLSAqIHRpbWVzIGFzIGl0IGlzIHNodWZmbGVkIGFib3V0LCB3ZSdyZSByZWFsbHkgaW50ZXJlc3RlZCBpbiBrbm93aW5nIGhvdwotICogbG9uZyBpdCB3YXMgZnJvbSB0aGUgKmZpcnN0KiB0aW1lIGl0IHdhcyBxdWV1ZWQgdG8gdGhlIHRpbWUgdGhhdCBpdAotICogZmluYWxseSBoaXQgYSBjcHUuCisgKiBUaG91Z2ggd2UgYXJlIGludGVyZXN0ZWQgaW4ga25vd2luZyBob3cgbG9uZyBpdCB3YXMgZnJvbSB0aGUgKmZpcnN0KiB0aW1lIGEKKyAqIHRhc2sgd2FzIHF1ZXVlZCB0byB0aGUgdGltZSB0aGF0IGl0IGZpbmFsbHkgaGl0IGEgY3B1LCB3ZSBjYWxsIHRoaXMgcm91dGluZQorICogZnJvbSBkZXF1ZXVlX3Rhc2soKSB0byBhY2NvdW50IGZvciBwb3NzaWJsZSBycS0+Y2xvY2sgc2tldyBhY3Jvc3MgY3B1cy4gVGhlCisgKiBkZWx0YSB0YWtlbiBvbiBlYWNoIGNwdSB3b3VsZCBhbm51bCB0aGUgc2tldy4KICAqLwogc3RhdGljIGlubGluZSB2b2lkIHNjaGVkX2luZm9fZGVxdWV1ZWQoc3RydWN0IHRhc2tfc3RydWN0ICp0KQogewotCXQtPnNjaGVkX2luZm8ubGFzdF9xdWV1ZWQgPSAwOworCXVuc2lnbmVkIGxvbmcgbG9uZyBub3cgPSB0YXNrX3JxKHQpLT5jbG9jaywgZGVsdGEgPSAwOworCisJaWYgKHVubGlrZWx5KHNjaGVkX2luZm9fb24oKSkpCisJCWlmICh0LT5zY2hlZF9pbmZvLmxhc3RfcXVldWVkKQorCQkJZGVsdGEgPSBub3cgLSB0LT5zY2hlZF9pbmZvLmxhc3RfcXVldWVkOworCXNjaGVkX2luZm9fcmVzZXRfZGVxdWV1ZWQodCk7CisJdC0+c2NoZWRfaW5mby5ydW5fZGVsYXkgKz0gZGVsdGE7CisKKwlycV9zY2hlZF9pbmZvX2RlcXVldWVkKHRhc2tfcnEodCksIGRlbHRhKTsKIH0KIAogLyoKQEAgLTE2NSw3ICsxODcsNyBAQAogCiAJaWYgKHQtPnNjaGVkX2luZm8ubGFzdF9xdWV1ZWQpCiAJCWRlbHRhID0gbm93IC0gdC0+c2NoZWRfaW5mby5sYXN0X3F1ZXVlZDsKLQlzY2hlZF9pbmZvX2RlcXVldWVkKHQpOworCXNjaGVkX2luZm9fcmVzZXRfZGVxdWV1ZWQodCk7CiAJdC0+c2NoZWRfaW5mby5ydW5fZGVsYXkgKz0gZGVsdGE7CiAJdC0+c2NoZWRfaW5mby5sYXN0X2Fycml2YWwgPSBub3c7CiAJdC0+c2NoZWRfaW5mby5wY291bnQrKzsKQEAgLTI0Miw3ICsyNjQsOSBAQAogCQlfX3NjaGVkX2luZm9fc3dpdGNoKHByZXYsIG5leHQpOwogfQogI2Vsc2UKLSNkZWZpbmUgc2NoZWRfaW5mb19xdWV1ZWQodCkJCWRvIHsgfSB3aGlsZSAoMCkKLSNkZWZpbmUgc2NoZWRfaW5mb19zd2l0Y2godCwgbmV4dCkJZG8geyB9IHdoaWxlICgwKQorI2RlZmluZSBzY2hlZF9pbmZvX3F1ZXVlZCh0KQkJCWRvIHsgfSB3aGlsZSAoMCkKKyNkZWZpbmUgc2NoZWRfaW5mb19yZXNldF9kZXF1ZXVlZCh0KQlkbyB7IH0gd2hpbGUgKDApCisjZGVmaW5lIHNjaGVkX2luZm9fZGVxdWV1ZWQodCkJCQlkbyB7IH0gd2hpbGUgKDApCisjZGVmaW5lIHNjaGVkX2luZm9fc3dpdGNoKHQsIG5leHQpCQlkbyB7IH0gd2hpbGUgKDApCiAjZW5kaWYgLyogQ09ORklHX1NDSEVEU1RBVFMgfHwgQ09ORklHX1RBU0tfREVMQVlfQUNDVCAqLwogCmRpZmYgLS1naXQgYS9rZXJuZWwvc2VtYXBob3JlLmMgYi9rZXJuZWwvc2VtYXBob3JlLmMKaW5kZXggNWMyOTQyZS4uYWFhZWFlOCAxMDA2NDQKLS0tIGEva2VybmVsL3NlbWFwaG9yZS5jCisrKyBiL2tlcm5lbC9zZW1hcGhvcmUuYwpAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CiAjaW5jbHVkZSA8bGludXgvc2VtYXBob3JlLmg+CiAjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KKyNpbmNsdWRlIDxsaW51eC9mdHJhY2UuaD4KIAogc3RhdGljIG5vaW5saW5lIHZvaWQgX19kb3duKHN0cnVjdCBzZW1hcGhvcmUgKnNlbSk7CiBzdGF0aWMgbm9pbmxpbmUgaW50IF9fZG93bl9pbnRlcnJ1cHRpYmxlKHN0cnVjdCBzZW1hcGhvcmUgKnNlbSk7CmRpZmYgLS1naXQgYS9rZXJuZWwvc21wLmMgYi9rZXJuZWwvc21wLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDYyYzc4NQotLS0gL2Rldi9udWxsCisrKyBiL2tlcm5lbC9zbXAuYwpAQCAtMCwwICsxLDM4MyBAQAorLyoKKyAqIEdlbmVyaWMgaGVscGVycyBmb3Igc21wIGlwaSBjYWxscworICoKKyAqIChDKSBKZW5zIEF4Ym9lIDxqZW5zLmF4Ym9lQG9yYWNsZS5jb20+IDIwMDgKKyAqCisgKi8KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvcGVyY3B1Lmg+CisjaW5jbHVkZSA8bGludXgvcmN1cGRhdGUuaD4KKyNpbmNsdWRlIDxsaW51eC9yY3VsaXN0Lmg+CisjaW5jbHVkZSA8bGludXgvc21wLmg+CisKK3N0YXRpYyBERUZJTkVfUEVSX0NQVShzdHJ1Y3QgY2FsbF9zaW5nbGVfcXVldWUsIGNhbGxfc2luZ2xlX3F1ZXVlKTsKK3N0YXRpYyBMSVNUX0hFQUQoY2FsbF9mdW5jdGlvbl9xdWV1ZSk7CitfX2NhY2hlbGluZV9hbGlnbmVkX2luX3NtcCBERUZJTkVfU1BJTkxPQ0soY2FsbF9mdW5jdGlvbl9sb2NrKTsKKworZW51bSB7CisJQ1NEX0ZMQUdfV0FJVAkJPSAweDAxLAorCUNTRF9GTEFHX0FMTE9DCQk9IDB4MDIsCit9OworCitzdHJ1Y3QgY2FsbF9mdW5jdGlvbl9kYXRhIHsKKwlzdHJ1Y3QgY2FsbF9zaW5nbGVfZGF0YSBjc2Q7CisJc3BpbmxvY2tfdCBsb2NrOworCXVuc2lnbmVkIGludCByZWZzOworCWNwdW1hc2tfdCBjcHVtYXNrOworCXN0cnVjdCByY3VfaGVhZCByY3VfaGVhZDsKK307CisKK3N0cnVjdCBjYWxsX3NpbmdsZV9xdWV1ZSB7CisJc3RydWN0IGxpc3RfaGVhZCBsaXN0OworCXNwaW5sb2NrX3QgbG9jazsKK307CisKK3ZvaWQgX19jcHVpbml0IGluaXRfY2FsbF9zaW5nbGVfZGF0YSh2b2lkKQoreworCWludCBpOworCisJZm9yX2VhY2hfcG9zc2libGVfY3B1KGkpIHsKKwkJc3RydWN0IGNhbGxfc2luZ2xlX3F1ZXVlICpxID0gJnBlcl9jcHUoY2FsbF9zaW5nbGVfcXVldWUsIGkpOworCisJCXNwaW5fbG9ja19pbml0KCZxLT5sb2NrKTsKKwkJSU5JVF9MSVNUX0hFQUQoJnEtPmxpc3QpOworCX0KK30KKworc3RhdGljIHZvaWQgY3NkX2ZsYWdfd2FpdChzdHJ1Y3QgY2FsbF9zaW5nbGVfZGF0YSAqZGF0YSkKK3sKKwkvKiBXYWl0IGZvciByZXNwb25zZSAqLworCWRvIHsKKwkJLyoKKwkJICogV2UgbmVlZCB0byBzZWUgdGhlIGZsYWdzIHN0b3JlIGluIHRoZSBJUEkgaGFuZGxlcgorCQkgKi8KKwkJc21wX21iKCk7CisJCWlmICghKGRhdGEtPmZsYWdzICYgQ1NEX0ZMQUdfV0FJVCkpCisJCQlicmVhazsKKwkJY3B1X3JlbGF4KCk7CisJfSB3aGlsZSAoMSk7Cit9CisKKy8qCisgKiBJbnNlcnQgYSBwcmV2aW91c2x5IGFsbG9jYXRlZCBjYWxsX3NpbmdsZV9kYXRhIGVsZW1lbnQgZm9yIGV4ZWN1dGlvbgorICogb24gdGhlIGdpdmVuIENQVS4gZGF0YSBtdXN0IGFscmVhZHkgaGF2ZSAtPmZ1bmMsIC0+aW5mbywgYW5kIC0+ZmxhZ3Mgc2V0LgorICovCitzdGF0aWMgdm9pZCBnZW5lcmljX2V4ZWNfc2luZ2xlKGludCBjcHUsIHN0cnVjdCBjYWxsX3NpbmdsZV9kYXRhICpkYXRhKQoreworCXN0cnVjdCBjYWxsX3NpbmdsZV9xdWV1ZSAqZHN0ID0gJnBlcl9jcHUoY2FsbF9zaW5nbGVfcXVldWUsIGNwdSk7CisJaW50IHdhaXQgPSBkYXRhLT5mbGFncyAmIENTRF9GTEFHX1dBSVQsIGlwaTsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJmRzdC0+bG9jaywgZmxhZ3MpOworCWlwaSA9IGxpc3RfZW1wdHkoJmRzdC0+bGlzdCk7CisJbGlzdF9hZGRfdGFpbCgmZGF0YS0+bGlzdCwgJmRzdC0+bGlzdCk7CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZHN0LT5sb2NrLCBmbGFncyk7CisKKwlpZiAoaXBpKQorCQlhcmNoX3NlbmRfY2FsbF9mdW5jdGlvbl9zaW5nbGVfaXBpKGNwdSk7CisKKwlpZiAod2FpdCkKKwkJY3NkX2ZsYWdfd2FpdChkYXRhKTsKK30KKworc3RhdGljIHZvaWQgcmN1X2ZyZWVfY2FsbF9kYXRhKHN0cnVjdCByY3VfaGVhZCAqaGVhZCkKK3sKKwlzdHJ1Y3QgY2FsbF9mdW5jdGlvbl9kYXRhICpkYXRhOworCisJZGF0YSA9IGNvbnRhaW5lcl9vZihoZWFkLCBzdHJ1Y3QgY2FsbF9mdW5jdGlvbl9kYXRhLCByY3VfaGVhZCk7CisKKwlrZnJlZShkYXRhKTsKK30KKworLyoKKyAqIEludm9rZWQgYnkgYXJjaCB0byBoYW5kbGUgYW4gSVBJIGZvciBjYWxsIGZ1bmN0aW9uLiBNdXN0IGJlIGNhbGxlZCB3aXRoCisgKiBpbnRlcnJ1cHRzIGRpc2FibGVkLgorICovCit2b2lkIGdlbmVyaWNfc21wX2NhbGxfZnVuY3Rpb25faW50ZXJydXB0KHZvaWQpCit7CisJc3RydWN0IGNhbGxfZnVuY3Rpb25fZGF0YSAqZGF0YTsKKwlpbnQgY3B1ID0gZ2V0X2NwdSgpOworCisJLyoKKwkgKiBJdCdzIG9rIHRvIHVzZSBsaXN0X2Zvcl9lYWNoX3JjdSgpIGhlcmUgZXZlbiB0aG91Z2ggd2UgbWF5IGRlbGV0ZQorCSAqICdwb3MnLCBzaW5jZSBsaXN0X2RlbF9yY3UoKSBkb2Vzbid0IGNsZWFyIC0+bmV4dAorCSAqLworCXJjdV9yZWFkX2xvY2soKTsKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5X3JjdShkYXRhLCAmY2FsbF9mdW5jdGlvbl9xdWV1ZSwgY3NkLmxpc3QpIHsKKwkJaW50IHJlZnM7CisKKwkJaWYgKCFjcHVfaXNzZXQoY3B1LCBkYXRhLT5jcHVtYXNrKSkKKwkJCWNvbnRpbnVlOworCisJCWRhdGEtPmNzZC5mdW5jKGRhdGEtPmNzZC5pbmZvKTsKKworCQlzcGluX2xvY2soJmRhdGEtPmxvY2spOworCQljcHVfY2xlYXIoY3B1LCBkYXRhLT5jcHVtYXNrKTsKKwkJV0FSTl9PTihkYXRhLT5yZWZzID09IDApOworCQlkYXRhLT5yZWZzLS07CisJCXJlZnMgPSBkYXRhLT5yZWZzOworCQlzcGluX3VubG9jaygmZGF0YS0+bG9jayk7CisKKwkJaWYgKHJlZnMpCisJCQljb250aW51ZTsKKworCQlzcGluX2xvY2soJmNhbGxfZnVuY3Rpb25fbG9jayk7CisJCWxpc3RfZGVsX3JjdSgmZGF0YS0+Y3NkLmxpc3QpOworCQlzcGluX3VubG9jaygmY2FsbF9mdW5jdGlvbl9sb2NrKTsKKworCQlpZiAoZGF0YS0+Y3NkLmZsYWdzICYgQ1NEX0ZMQUdfV0FJVCkgeworCQkJLyoKKwkJCSAqIHNlcmlhbGl6ZSBzdG9yZXMgdG8gZGF0YSB3aXRoIHRoZSBmbGFnIGNsZWFyCisJCQkgKiBhbmQgd2FrZXVwCisJCQkgKi8KKwkJCXNtcF93bWIoKTsKKwkJCWRhdGEtPmNzZC5mbGFncyAmPSB+Q1NEX0ZMQUdfV0FJVDsKKwkJfSBlbHNlCisJCQljYWxsX3JjdSgmZGF0YS0+cmN1X2hlYWQsIHJjdV9mcmVlX2NhbGxfZGF0YSk7CisJfQorCXJjdV9yZWFkX3VubG9jaygpOworCisJcHV0X2NwdSgpOworfQorCisvKgorICogSW52b2tlZCBieSBhcmNoIHRvIGhhbmRsZSBhbiBJUEkgZm9yIGNhbGwgZnVuY3Rpb24gc2luZ2xlLiBNdXN0IGJlIGNhbGxlZAorICogZnJvbSB0aGUgYXJjaCB3aXRoIGludGVycnVwdHMgZGlzYWJsZWQuCisgKi8KK3ZvaWQgZ2VuZXJpY19zbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGVfaW50ZXJydXB0KHZvaWQpCit7CisJc3RydWN0IGNhbGxfc2luZ2xlX3F1ZXVlICpxID0gJl9fZ2V0X2NwdV92YXIoY2FsbF9zaW5nbGVfcXVldWUpOworCUxJU1RfSEVBRChsaXN0KTsKKworCS8qCisJICogTmVlZCB0byBzZWUgb3RoZXIgc3RvcmVzIHRvIGxpc3QgaGVhZCBmb3IgY2hlY2tpbmcgd2hldGhlcgorCSAqIGxpc3QgaXMgZW1wdHkgd2l0aG91dCBob2xkaW5nIHEtPmxvY2sKKwkgKi8KKwlzbXBfbWIoKTsKKwl3aGlsZSAoIWxpc3RfZW1wdHkoJnEtPmxpc3QpKSB7CisJCXVuc2lnbmVkIGludCBkYXRhX2ZsYWdzOworCisJCXNwaW5fbG9jaygmcS0+bG9jayk7CisJCWxpc3RfcmVwbGFjZV9pbml0KCZxLT5saXN0LCAmbGlzdCk7CisJCXNwaW5fdW5sb2NrKCZxLT5sb2NrKTsKKworCQl3aGlsZSAoIWxpc3RfZW1wdHkoJmxpc3QpKSB7CisJCQlzdHJ1Y3QgY2FsbF9zaW5nbGVfZGF0YSAqZGF0YTsKKworCQkJZGF0YSA9IGxpc3RfZW50cnkobGlzdC5uZXh0LCBzdHJ1Y3QgY2FsbF9zaW5nbGVfZGF0YSwKKwkJCQkJCWxpc3QpOworCQkJbGlzdF9kZWwoJmRhdGEtPmxpc3QpOworCisJCQkvKgorCQkJICogJ2RhdGEnIGNhbiBiZSBpbnZhbGlkIGFmdGVyIHRoaXMgY2FsbCBpZgorCQkJICogZmxhZ3MgPT0gMCAod2hlbiBjYWxsZWQgdGhyb3VnaAorCQkJICogZ2VuZXJpY19leGVjX3NpbmdsZSgpLCBzbyBzYXZlIHRoZW0gYXdheSBiZWZvcmUKKwkJCSAqIG1ha2luZyB0aGUgY2FsbC4KKwkJCSAqLworCQkJZGF0YV9mbGFncyA9IGRhdGEtPmZsYWdzOworCisJCQlkYXRhLT5mdW5jKGRhdGEtPmluZm8pOworCisJCQlpZiAoZGF0YV9mbGFncyAmIENTRF9GTEFHX1dBSVQpIHsKKwkJCQlzbXBfd21iKCk7CisJCQkJZGF0YS0+ZmxhZ3MgJj0gfkNTRF9GTEFHX1dBSVQ7CisJCQl9IGVsc2UgaWYgKGRhdGFfZmxhZ3MgJiBDU0RfRkxBR19BTExPQykKKwkJCQlrZnJlZShkYXRhKTsKKwkJfQorCQkvKgorCQkgKiBTZWUgY29tbWVudCBvbiBvdXRlciBsb29wCisJCSAqLworCQlzbXBfbWIoKTsKKwl9Cit9CisKKy8qCisgKiBzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUgLSBSdW4gYSBmdW5jdGlvbiBvbiBhIHNwZWNpZmljIENQVQorICogQGZ1bmM6IFRoZSBmdW5jdGlvbiB0byBydW4uIFRoaXMgbXVzdCBiZSBmYXN0IGFuZCBub24tYmxvY2tpbmcuCisgKiBAaW5mbzogQW4gYXJiaXRyYXJ5IHBvaW50ZXIgdG8gcGFzcyB0byB0aGUgZnVuY3Rpb24uCisgKiBAd2FpdDogSWYgdHJ1ZSwgd2FpdCB1bnRpbCBmdW5jdGlvbiBoYXMgY29tcGxldGVkIG9uIG90aGVyIENQVXMuCisgKgorICogUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIGVsc2UgYSBuZWdhdGl2ZSBzdGF0dXMgY29kZS4gTm90ZSB0aGF0IEB3YWl0CisgKiB3aWxsIGJlIGltcGxpY2l0bHkgdHVybmVkIG9uIGluIGNhc2Ugb2YgYWxsb2NhdGlvbiBmYWlsdXJlcywgc2luY2UKKyAqIHdlIGZhbGwgYmFjayB0byBvbi1zdGFjayBhbGxvY2F0aW9uLgorICovCitpbnQgc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGludCBjcHUsIHZvaWQgKCpmdW5jKSAodm9pZCAqaW5mbyksIHZvaWQgKmluZm8sCisJCQkgICAgIGludCB3YWl0KQoreworCXN0cnVjdCBjYWxsX3NpbmdsZV9kYXRhIGQ7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwkvKiBwcmV2ZW50IHByZWVtcHRpb24gYW5kIHJlc2NoZWR1bGUgb24gYW5vdGhlciBwcm9jZXNzb3IgKi8KKwlpbnQgbWUgPSBnZXRfY3B1KCk7CisKKwkvKiBDYW4gZGVhZGxvY2sgd2hlbiBjYWxsZWQgd2l0aCBpbnRlcnJ1cHRzIGRpc2FibGVkICovCisJV0FSTl9PTihpcnFzX2Rpc2FibGVkKCkpOworCisJaWYgKGNwdSA9PSBtZSkgeworCQlsb2NhbF9pcnFfc2F2ZShmbGFncyk7CisJCWZ1bmMoaW5mbyk7CisJCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKKwl9IGVsc2UgeworCQlzdHJ1Y3QgY2FsbF9zaW5nbGVfZGF0YSAqZGF0YSA9IE5VTEw7CisKKwkJaWYgKCF3YWl0KSB7CisJCQlkYXRhID0ga21hbGxvYyhzaXplb2YoKmRhdGEpLCBHRlBfQVRPTUlDKTsKKwkJCWlmIChkYXRhKQorCQkJCWRhdGEtPmZsYWdzID0gQ1NEX0ZMQUdfQUxMT0M7CisJCX0KKwkJaWYgKCFkYXRhKSB7CisJCQlkYXRhID0gJmQ7CisJCQlkYXRhLT5mbGFncyA9IENTRF9GTEFHX1dBSVQ7CisJCX0KKworCQlkYXRhLT5mdW5jID0gZnVuYzsKKwkJZGF0YS0+aW5mbyA9IGluZm87CisJCWdlbmVyaWNfZXhlY19zaW5nbGUoY3B1LCBkYXRhKTsKKwl9CisKKwlwdXRfY3B1KCk7CisJcmV0dXJuIDA7Cit9CitFWFBPUlRfU1lNQk9MKHNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZSk7CisKKy8qKgorICogX19zbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoKTogUnVuIGEgZnVuY3Rpb24gb24gYW5vdGhlciBDUFUKKyAqIEBjcHU6IFRoZSBDUFUgdG8gcnVuIG9uLgorICogQGRhdGE6IFByZS1hbGxvY2F0ZWQgYW5kIHNldHVwIGRhdGEgc3RydWN0dXJlCisgKgorICogTGlrZSBzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoKSwgYnV0IGFsbG93IGNhbGxlciB0byBwYXNzIGluIGEgcHJlLWFsbG9jYXRlZAorICogZGF0YSBzdHJ1Y3R1cmUuIFVzZWZ1bCBmb3IgZW1iZWRkaW5nIEBkYXRhIGluc2lkZSBvdGhlciBzdHJ1Y3R1cmVzLCBmb3IKKyAqIGluc3RhbmNlLgorICoKKyAqLwordm9pZCBfX3NtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShpbnQgY3B1LCBzdHJ1Y3QgY2FsbF9zaW5nbGVfZGF0YSAqZGF0YSkKK3sKKwkvKiBDYW4gZGVhZGxvY2sgd2hlbiBjYWxsZWQgd2l0aCBpbnRlcnJ1cHRzIGRpc2FibGVkICovCisJV0FSTl9PTigoZGF0YS0+ZmxhZ3MgJiBDU0RfRkxBR19XQUlUKSAmJiBpcnFzX2Rpc2FibGVkKCkpOworCisJZ2VuZXJpY19leGVjX3NpbmdsZShjcHUsIGRhdGEpOworfQorCisvKioKKyAqIHNtcF9jYWxsX2Z1bmN0aW9uX21hc2soKTogUnVuIGEgZnVuY3Rpb24gb24gYSBzZXQgb2Ygb3RoZXIgQ1BVcy4KKyAqIEBtYXNrOiBUaGUgc2V0IG9mIGNwdXMgdG8gcnVuIG9uLgorICogQGZ1bmM6IFRoZSBmdW5jdGlvbiB0byBydW4uIFRoaXMgbXVzdCBiZSBmYXN0IGFuZCBub24tYmxvY2tpbmcuCisgKiBAaW5mbzogQW4gYXJiaXRyYXJ5IHBvaW50ZXIgdG8gcGFzcyB0byB0aGUgZnVuY3Rpb24uCisgKiBAd2FpdDogSWYgdHJ1ZSwgd2FpdCAoYXRvbWljYWxseSkgdW50aWwgZnVuY3Rpb24gaGFzIGNvbXBsZXRlZCBvbiBvdGhlciBDUFVzLgorICoKKyAqIFJldHVybnMgMCBvbiBzdWNjZXNzLCBlbHNlIGEgbmVnYXRpdmUgc3RhdHVzIGNvZGUuCisgKgorICogSWYgQHdhaXQgaXMgdHJ1ZSwgdGhlbiByZXR1cm5zIG9uY2UgQGZ1bmMgaGFzIHJldHVybmVkLiBOb3RlIHRoYXQgQHdhaXQKKyAqIHdpbGwgYmUgaW1wbGljaXRseSB0dXJuZWQgb24gaW4gY2FzZSBvZiBhbGxvY2F0aW9uIGZhaWx1cmVzLCBzaW5jZQorICogd2UgZmFsbCBiYWNrIHRvIG9uLXN0YWNrIGFsbG9jYXRpb24uCisgKgorICogWW91IG11c3Qgbm90IGNhbGwgdGhpcyBmdW5jdGlvbiB3aXRoIGRpc2FibGVkIGludGVycnVwdHMgb3IgZnJvbSBhCisgKiBoYXJkd2FyZSBpbnRlcnJ1cHQgaGFuZGxlciBvciBmcm9tIGEgYm90dG9tIGhhbGYgaGFuZGxlci4gUHJlZW1wdGlvbgorICogbXVzdCBiZSBkaXNhYmxlZCB3aGVuIGNhbGxpbmcgdGhpcyBmdW5jdGlvbi4KKyAqLworaW50IHNtcF9jYWxsX2Z1bmN0aW9uX21hc2soY3B1bWFza190IG1hc2ssIHZvaWQgKCpmdW5jKSh2b2lkICopLCB2b2lkICppbmZvLAorCQkJICAgaW50IHdhaXQpCit7CisJc3RydWN0IGNhbGxfZnVuY3Rpb25fZGF0YSBkOworCXN0cnVjdCBjYWxsX2Z1bmN0aW9uX2RhdGEgKmRhdGEgPSBOVUxMOworCWNwdW1hc2tfdCBhbGxidXRzZWxmOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJaW50IGNwdSwgbnVtX2NwdXM7CisKKwkvKiBDYW4gZGVhZGxvY2sgd2hlbiBjYWxsZWQgd2l0aCBpbnRlcnJ1cHRzIGRpc2FibGVkICovCisJV0FSTl9PTihpcnFzX2Rpc2FibGVkKCkpOworCisJY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOworCWFsbGJ1dHNlbGYgPSBjcHVfb25saW5lX21hcDsKKwljcHVfY2xlYXIoY3B1LCBhbGxidXRzZWxmKTsKKwljcHVzX2FuZChtYXNrLCBtYXNrLCBhbGxidXRzZWxmKTsKKwludW1fY3B1cyA9IGNwdXNfd2VpZ2h0KG1hc2spOworCisJLyoKKwkgKiBJZiB6ZXJvIENQVXMsIHJldHVybi4gSWYganVzdCBhIHNpbmdsZSBDUFUsIHR1cm4gdGhpcyByZXF1ZXN0CisJICogaW50byBhIHRhcmdldHRlZCBzaW5nbGUgY2FsbCBpbnN0ZWFkIHNpbmNlIGl0J3MgZmFzdGVyLgorCSAqLworCWlmICghbnVtX2NwdXMpCisJCXJldHVybiAwOworCWVsc2UgaWYgKG51bV9jcHVzID09IDEpIHsKKwkJY3B1ID0gZmlyc3RfY3B1KG1hc2spOworCQlyZXR1cm4gc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGNwdSwgZnVuYywgaW5mbywgd2FpdCk7CisJfQorCisJaWYgKCF3YWl0KSB7CisJCWRhdGEgPSBrbWFsbG9jKHNpemVvZigqZGF0YSksIEdGUF9BVE9NSUMpOworCQlpZiAoZGF0YSkKKwkJCWRhdGEtPmNzZC5mbGFncyA9IENTRF9GTEFHX0FMTE9DOworCX0KKwlpZiAoIWRhdGEpIHsKKwkJZGF0YSA9ICZkOworCQlkYXRhLT5jc2QuZmxhZ3MgPSBDU0RfRkxBR19XQUlUOworCQl3YWl0ID0gMTsKKwl9CisKKwlzcGluX2xvY2tfaW5pdCgmZGF0YS0+bG9jayk7CisJZGF0YS0+Y3NkLmZ1bmMgPSBmdW5jOworCWRhdGEtPmNzZC5pbmZvID0gaW5mbzsKKwlkYXRhLT5yZWZzID0gbnVtX2NwdXM7CisJZGF0YS0+Y3B1bWFzayA9IG1hc2s7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmY2FsbF9mdW5jdGlvbl9sb2NrLCBmbGFncyk7CisJbGlzdF9hZGRfdGFpbF9yY3UoJmRhdGEtPmNzZC5saXN0LCAmY2FsbF9mdW5jdGlvbl9xdWV1ZSk7CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY2FsbF9mdW5jdGlvbl9sb2NrLCBmbGFncyk7CisKKwkvKiBTZW5kIGEgbWVzc2FnZSB0byBhbGwgQ1BVcyBpbiB0aGUgbWFwICovCisJYXJjaF9zZW5kX2NhbGxfZnVuY3Rpb25faXBpKG1hc2spOworCisJLyogb3B0aW9uYWxseSB3YWl0IGZvciB0aGUgQ1BVcyB0byBjb21wbGV0ZSAqLworCWlmICh3YWl0KQorCQljc2RfZmxhZ193YWl0KCZkYXRhLT5jc2QpOworCisJcmV0dXJuIDA7Cit9CitFWFBPUlRfU1lNQk9MKHNtcF9jYWxsX2Z1bmN0aW9uX21hc2spOworCisvKioKKyAqIHNtcF9jYWxsX2Z1bmN0aW9uKCk6IFJ1biBhIGZ1bmN0aW9uIG9uIGFsbCBvdGhlciBDUFVzLgorICogQGZ1bmM6IFRoZSBmdW5jdGlvbiB0byBydW4uIFRoaXMgbXVzdCBiZSBmYXN0IGFuZCBub24tYmxvY2tpbmcuCisgKiBAaW5mbzogQW4gYXJiaXRyYXJ5IHBvaW50ZXIgdG8gcGFzcyB0byB0aGUgZnVuY3Rpb24uCisgKiBAd2FpdDogSWYgdHJ1ZSwgd2FpdCAoYXRvbWljYWxseSkgdW50aWwgZnVuY3Rpb24gaGFzIGNvbXBsZXRlZCBvbiBvdGhlciBDUFVzLgorICoKKyAqIFJldHVybnMgMCBvbiBzdWNjZXNzLCBlbHNlIGEgbmVnYXRpdmUgc3RhdHVzIGNvZGUuCisgKgorICogSWYgQHdhaXQgaXMgdHJ1ZSwgdGhlbiByZXR1cm5zIG9uY2UgQGZ1bmMgaGFzIHJldHVybmVkOyBvdGhlcndpc2UKKyAqIGl0IHJldHVybnMganVzdCBiZWZvcmUgdGhlIHRhcmdldCBjcHUgY2FsbHMgQGZ1bmMuIEluIGNhc2Ugb2YgYWxsb2NhdGlvbgorICogZmFpbHVyZSwgQHdhaXQgd2lsbCBiZSBpbXBsaWNpdGx5IHR1cm5lZCBvbi4KKyAqCisgKiBZb3UgbXVzdCBub3QgY2FsbCB0aGlzIGZ1bmN0aW9uIHdpdGggZGlzYWJsZWQgaW50ZXJydXB0cyBvciBmcm9tIGEKKyAqIGhhcmR3YXJlIGludGVycnVwdCBoYW5kbGVyIG9yIGZyb20gYSBib3R0b20gaGFsZiBoYW5kbGVyLgorICovCitpbnQgc21wX2NhbGxfZnVuY3Rpb24odm9pZCAoKmZ1bmMpKHZvaWQgKiksIHZvaWQgKmluZm8sIGludCB3YWl0KQoreworCWludCByZXQ7CisKKwlwcmVlbXB0X2Rpc2FibGUoKTsKKwlyZXQgPSBzbXBfY2FsbF9mdW5jdGlvbl9tYXNrKGNwdV9vbmxpbmVfbWFwLCBmdW5jLCBpbmZvLCB3YWl0KTsKKwlwcmVlbXB0X2VuYWJsZSgpOworCXJldHVybiByZXQ7Cit9CitFWFBPUlRfU1lNQk9MKHNtcF9jYWxsX2Z1bmN0aW9uKTsKKwordm9pZCBpcGlfY2FsbF9sb2NrKHZvaWQpCit7CisJc3Bpbl9sb2NrKCZjYWxsX2Z1bmN0aW9uX2xvY2spOworfQorCit2b2lkIGlwaV9jYWxsX3VubG9jayh2b2lkKQoreworCXNwaW5fdW5sb2NrKCZjYWxsX2Z1bmN0aW9uX2xvY2spOworfQorCit2b2lkIGlwaV9jYWxsX2xvY2tfaXJxKHZvaWQpCit7CisJc3Bpbl9sb2NrX2lycSgmY2FsbF9mdW5jdGlvbl9sb2NrKTsKK30KKwordm9pZCBpcGlfY2FsbF91bmxvY2tfaXJxKHZvaWQpCit7CisJc3Bpbl91bmxvY2tfaXJxKCZjYWxsX2Z1bmN0aW9uX2xvY2spOworfQpkaWZmIC0tZ2l0IGEva2VybmVsL3NvZnRpcnEuYyBiL2tlcm5lbC9zb2Z0aXJxLmMKaW5kZXggMzZlMDYxNy4uODFlMmZlMCAxMDA2NDQKLS0tIGEva2VybmVsL3NvZnRpcnEuYworKysgYi9rZXJuZWwvc29mdGlycS5jCkBAIC0xMzEsNDggKzEzMSwxMSBAQAogCiBFWFBPUlRfU1lNQk9MKF9sb2NhbF9iaF9lbmFibGUpOwogCi12b2lkIGxvY2FsX2JoX2VuYWJsZSh2b2lkKQorc3RhdGljIGlubGluZSB2b2lkIF9sb2NhbF9iaF9lbmFibGVfaXAodW5zaWduZWQgbG9uZyBpcCkKIHsKKwlXQVJOX09OX09OQ0UoaW5faXJxKCkgfHwgaXJxc19kaXNhYmxlZCgpKTsKICNpZmRlZiBDT05GSUdfVFJBQ0VfSVJRRkxBR1MKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCi0JV0FSTl9PTl9PTkNFKGluX2lycSgpKTsKLSNlbmRpZgotCVdBUk5fT05fT05DRShpcnFzX2Rpc2FibGVkKCkpOwotCi0jaWZkZWYgQ09ORklHX1RSQUNFX0lSUUZMQUdTCi0JbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOwotI2VuZGlmCi0JLyoKLQkgKiBBcmUgc29mdGlycXMgZ29pbmcgdG8gYmUgdHVybmVkIG9uIG5vdzoKLQkgKi8KLQlpZiAoc29mdGlycV9jb3VudCgpID09IFNPRlRJUlFfT0ZGU0VUKQotCQl0cmFjZV9zb2Z0aXJxc19vbigodW5zaWduZWQgbG9uZylfX2J1aWx0aW5fcmV0dXJuX2FkZHJlc3MoMCkpOwotCS8qCi0JICogS2VlcCBwcmVlbXB0aW9uIGRpc2FibGVkIHVudGlsIHdlIGFyZSBkb25lIHdpdGgKLQkgKiBzb2Z0aXJxIHByb2Nlc3Npbmc6Ci0gCSAqLwotIAlzdWJfcHJlZW1wdF9jb3VudChTT0ZUSVJRX09GRlNFVCAtIDEpOwotCi0JaWYgKHVubGlrZWx5KCFpbl9pbnRlcnJ1cHQoKSAmJiBsb2NhbF9zb2Z0aXJxX3BlbmRpbmcoKSkpCi0JCWRvX3NvZnRpcnEoKTsKLQotCWRlY19wcmVlbXB0X2NvdW50KCk7Ci0jaWZkZWYgQ09ORklHX1RSQUNFX0lSUUZMQUdTCi0JbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOwotI2VuZGlmCi0JcHJlZW1wdF9jaGVja19yZXNjaGVkKCk7Ci19Ci1FWFBPUlRfU1lNQk9MKGxvY2FsX2JoX2VuYWJsZSk7Ci0KLXZvaWQgbG9jYWxfYmhfZW5hYmxlX2lwKHVuc2lnbmVkIGxvbmcgaXApCi17Ci0jaWZkZWYgQ09ORklHX1RSQUNFX0lSUUZMQUdTCi0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQotCVdBUk5fT05fT05DRShpbl9pcnEoKSk7Ci0KLQlsb2NhbF9pcnFfc2F2ZShmbGFncyk7CisJbG9jYWxfaXJxX2Rpc2FibGUoKTsKICNlbmRpZgogCS8qCiAJICogQXJlIHNvZnRpcnFzIGdvaW5nIHRvIGJlIHR1cm5lZCBvbiBub3c6CkBAIC0xOTAsMTAgKzE1MywyMSBAQAogCiAJZGVjX3ByZWVtcHRfY291bnQoKTsKICNpZmRlZiBDT05GSUdfVFJBQ0VfSVJRRkxBR1MKLQlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7CisJbG9jYWxfaXJxX2VuYWJsZSgpOwogI2VuZGlmCiAJcHJlZW1wdF9jaGVja19yZXNjaGVkKCk7CiB9CisKK3ZvaWQgbG9jYWxfYmhfZW5hYmxlKHZvaWQpCit7CisJX2xvY2FsX2JoX2VuYWJsZV9pcCgodW5zaWduZWQgbG9uZylfX2J1aWx0aW5fcmV0dXJuX2FkZHJlc3MoMCkpOworfQorRVhQT1JUX1NZTUJPTChsb2NhbF9iaF9lbmFibGUpOworCit2b2lkIGxvY2FsX2JoX2VuYWJsZV9pcCh1bnNpZ25lZCBsb25nIGlwKQoreworCV9sb2NhbF9iaF9lbmFibGVfaXAoaXApOworfQogRVhQT1JUX1NZTUJPTChsb2NhbF9iaF9lbmFibGVfaXApOwogCiAvKgpAQCAtMzQ3LDkgKzMyMSw4IEBACiAJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOwogfQogCi12b2lkIG9wZW5fc29mdGlycShpbnQgbnIsIHZvaWQgKCphY3Rpb24pKHN0cnVjdCBzb2Z0aXJxX2FjdGlvbiopLCB2b2lkICpkYXRhKQordm9pZCBvcGVuX3NvZnRpcnEoaW50IG5yLCB2b2lkICgqYWN0aW9uKShzdHJ1Y3Qgc29mdGlycV9hY3Rpb24gKikpCiB7Ci0Jc29mdGlycV92ZWNbbnJdLmRhdGEgPSBkYXRhOwogCXNvZnRpcnFfdmVjW25yXS5hY3Rpb24gPSBhY3Rpb247CiB9CiAKQEAgLTM2MCwxMCArMzMzLDggQEAKIAlzdHJ1Y3QgdGFza2xldF9zdHJ1Y3QgKip0YWlsOwogfTsKIAotLyogU29tZSBjb21waWxlcnMgZGlzb2JleSBzZWN0aW9uIGF0dHJpYnV0ZSBvbiBzdGF0aWNzIHdoZW4gbm90Ci0gICBpbml0aWFsaXplZCAtLSBSUiAqLwotc3RhdGljIERFRklORV9QRVJfQ1BVKHN0cnVjdCB0YXNrbGV0X2hlYWQsIHRhc2tsZXRfdmVjKSA9IHsgTlVMTCB9Owotc3RhdGljIERFRklORV9QRVJfQ1BVKHN0cnVjdCB0YXNrbGV0X2hlYWQsIHRhc2tsZXRfaGlfdmVjKSA9IHsgTlVMTCB9Oworc3RhdGljIERFRklORV9QRVJfQ1BVKHN0cnVjdCB0YXNrbGV0X2hlYWQsIHRhc2tsZXRfdmVjKTsKK3N0YXRpYyBERUZJTkVfUEVSX0NQVShzdHJ1Y3QgdGFza2xldF9oZWFkLCB0YXNrbGV0X2hpX3ZlYyk7CiAKIHZvaWQgX190YXNrbGV0X3NjaGVkdWxlKHN0cnVjdCB0YXNrbGV0X3N0cnVjdCAqdCkKIHsKQEAgLTUwMyw4ICs0NzQsOCBAQAogCQkJJnBlcl9jcHUodGFza2xldF9oaV92ZWMsIGNwdSkuaGVhZDsKIAl9CiAKLQlvcGVuX3NvZnRpcnEoVEFTS0xFVF9TT0ZUSVJRLCB0YXNrbGV0X2FjdGlvbiwgTlVMTCk7Ci0Jb3Blbl9zb2Z0aXJxKEhJX1NPRlRJUlEsIHRhc2tsZXRfaGlfYWN0aW9uLCBOVUxMKTsKKwlvcGVuX3NvZnRpcnEoVEFTS0xFVF9TT0ZUSVJRLCB0YXNrbGV0X2FjdGlvbik7CisJb3Blbl9zb2Z0aXJxKEhJX1NPRlRJUlEsIHRhc2tsZXRfaGlfYWN0aW9uKTsKIH0KIAogc3RhdGljIGludCBrc29mdGlycWQodm9pZCAqIF9fYmluZF9jcHUpCkBAIC02NDUsNyArNjE2LDcgQEAKIAogCQlwID0gcGVyX2NwdShrc29mdGlycWQsIGhvdGNwdSk7CiAJCXBlcl9jcHUoa3NvZnRpcnFkLCBob3RjcHUpID0gTlVMTDsKLQkJc2NoZWRfc2V0c2NoZWR1bGVyKHAsIFNDSEVEX0ZJRk8sICZwYXJhbSk7CisJCXNjaGVkX3NldHNjaGVkdWxlcl9ub2NoZWNrKHAsIFNDSEVEX0ZJRk8sICZwYXJhbSk7CiAJCWt0aHJlYWRfc3RvcChwKTsKIAkJdGFrZW92ZXJfdGFza2xldHMoaG90Y3B1KTsKIAkJYnJlYWs7CkBAIC02NzQsMTIgKzY0NSwxMiBAQAogLyoKICAqIENhbGwgYSBmdW5jdGlvbiBvbiBhbGwgcHJvY2Vzc29ycwogICovCi1pbnQgb25fZWFjaF9jcHUodm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywgaW50IHJldHJ5LCBpbnQgd2FpdCkKK2ludCBvbl9lYWNoX2NwdSh2b2lkICgqZnVuYykgKHZvaWQgKmluZm8pLCB2b2lkICppbmZvLCBpbnQgd2FpdCkKIHsKIAlpbnQgcmV0ID0gMDsKIAogCXByZWVtcHRfZGlzYWJsZSgpOwotCXJldCA9IHNtcF9jYWxsX2Z1bmN0aW9uKGZ1bmMsIGluZm8sIHJldHJ5LCB3YWl0KTsKKwlyZXQgPSBzbXBfY2FsbF9mdW5jdGlvbihmdW5jLCBpbmZvLCB3YWl0KTsKIAlsb2NhbF9pcnFfZGlzYWJsZSgpOwogCWZ1bmMoaW5mbyk7CiAJbG9jYWxfaXJxX2VuYWJsZSgpOwpkaWZmIC0tZ2l0IGEva2VybmVsL3NwaW5sb2NrLmMgYi9rZXJuZWwvc3BpbmxvY2suYwppbmRleCBhZTI4YzgyLi5hMWZiNTRjIDEwMDY0NAotLS0gYS9rZXJuZWwvc3BpbmxvY2suYworKysgYi9rZXJuZWwvc3BpbmxvY2suYwpAQCAtNDM2LDcgKzQzNiw3IEBACiB9CiBFWFBPUlRfU1lNQk9MKF9zcGluX3RyeWxvY2tfYmgpOwogCi1pbnQgaW5fbG9ja19mdW5jdGlvbnModW5zaWduZWQgbG9uZyBhZGRyKQorbm90cmFjZSBpbnQgaW5fbG9ja19mdW5jdGlvbnModW5zaWduZWQgbG9uZyBhZGRyKQogewogCS8qIExpbmtlciBhZGRzIHRoZXNlOiBzdGFydCBhbmQgZW5kIG9mIF9fbG9ja2Z1bmMgZnVuY3Rpb25zICovCiAJZXh0ZXJuIGNoYXIgX19sb2NrX3RleHRfc3RhcnRbXSwgX19sb2NrX3RleHRfZW5kW107CmRpZmYgLS1naXQgYS9rZXJuZWwvc3RhY2t0cmFjZS5jIGIva2VybmVsL3N0YWNrdHJhY2UuYwppbmRleCBiNzE4MTZlLi45NGI1MjdlIDEwMDY0NAotLS0gYS9rZXJuZWwvc3RhY2t0cmFjZS5jCisrKyBiL2tlcm5lbC9zdGFja3RyYWNlLmMKQEAgLTYsMTkgKzYsMjEgQEAKICAqICBDb3B5cmlnaHQgKEMpIDIwMDYgUmVkIEhhdCwgSW5jLiwgSW5nbyBNb2xuYXIgPG1pbmdvQHJlZGhhdC5jb20+CiAgKi8KICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L2thbGxzeW1zLmg+CiAjaW5jbHVkZSA8bGludXgvc3RhY2t0cmFjZS5oPgogCiB2b2lkIHByaW50X3N0YWNrX3RyYWNlKHN0cnVjdCBzdGFja190cmFjZSAqdHJhY2UsIGludCBzcGFjZXMpCiB7Ci0JaW50IGksIGo7CisJaW50IGk7CisKKwlpZiAoV0FSTl9PTighdHJhY2UtPmVudHJpZXMpKQorCQlyZXR1cm47CiAKIAlmb3IgKGkgPSAwOyBpIDwgdHJhY2UtPm5yX2VudHJpZXM7IGkrKykgewotCQl1bnNpZ25lZCBsb25nIGlwID0gdHJhY2UtPmVudHJpZXNbaV07Ci0KLQkJZm9yIChqID0gMDsgaiA8IHNwYWNlcyArIDE7IGorKykKLQkJCXByaW50aygiICIpOwotCQlwcmludF9pcF9zeW0oaXApOworCQlwcmludGsoIiUqYyIsIDEgKyBzcGFjZXMsICcgJyk7CisJCXByaW50X2lwX3N5bSh0cmFjZS0+ZW50cmllc1tpXSk7CiAJfQogfQorRVhQT1JUX1NZTUJPTF9HUEwocHJpbnRfc3RhY2tfdHJhY2UpOwogCmRpZmYgLS1naXQgYS9rZXJuZWwvc3RvcF9tYWNoaW5lLmMgYi9rZXJuZWwvc3RvcF9tYWNoaW5lLmMKaW5kZXggYjczNTBiYi4uYmE5YjIwNSAxMDA2NDQKLS0tIGEva2VybmVsL3N0b3BfbWFjaGluZS5jCisrKyBiL2tlcm5lbC9zdG9wX21hY2hpbmUuYwpAQCAtMTg3LDcgKzE4Nyw3IEBACiAJCXN0cnVjdCBzY2hlZF9wYXJhbSBwYXJhbSA9IHsgLnNjaGVkX3ByaW9yaXR5ID0gTUFYX1JUX1BSSU8tMSB9OwogCiAJCS8qIE9uZSBoaWdoLXByaW8gdGhyZWFkIHBlciBjcHUuICBXZSdsbCBkbyB0aGlzIG9uZS4gKi8KLQkJc2NoZWRfc2V0c2NoZWR1bGVyKHAsIFNDSEVEX0ZJRk8sICZwYXJhbSk7CisJCXNjaGVkX3NldHNjaGVkdWxlcl9ub2NoZWNrKHAsIFNDSEVEX0ZJRk8sICZwYXJhbSk7CiAJCWt0aHJlYWRfYmluZChwLCBjcHUpOwogCQl3YWtlX3VwX3Byb2Nlc3MocCk7CiAJCXdhaXRfZm9yX2NvbXBsZXRpb24oJnNtZGF0YS5kb25lKTsKZGlmZiAtLWdpdCBhL2tlcm5lbC9zeXNjdGwuYyBiL2tlcm5lbC9zeXNjdGwuYwppbmRleCAyOTExNjY1Li42YjE2ZTE2IDEwMDY0NAotLS0gYS9rZXJuZWwvc3lzY3RsLmMKKysrIGIva2VybmVsL3N5c2N0bC5jCkBAIC00Niw2ICs0Niw3IEBACiAjaW5jbHVkZSA8bGludXgvbmZzX2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvYWNwaS5oPgogI2luY2x1ZGUgPGxpbnV4L3JlYm9vdC5oPgorI2luY2x1ZGUgPGxpbnV4L2Z0cmFjZS5oPgogCiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KICNpbmNsdWRlIDxhc20vcHJvY2Vzc29yLmg+CkBAIC04Miw2ICs4Myw5IEBACiBleHRlcm4gaW50IHN5c2N0bF9zdGF0X2ludGVydmFsOwogZXh0ZXJuIGludCBsYXRlbmN5dG9wX2VuYWJsZWQ7CiBleHRlcm4gaW50IHN5c2N0bF9ucl9vcGVuX21pbiwgc3lzY3RsX25yX29wZW5fbWF4OworI2lmZGVmIENPTkZJR19SQ1VfVE9SVFVSRV9URVNUCitleHRlcm4gaW50IHJjdXRvcnR1cmVfcnVubmFibGU7CisjZW5kaWYgLyogI2lmZGVmIENPTkZJR19SQ1VfVE9SVFVSRV9URVNUICovCiAKIC8qIENvbnN0YW50cyB1c2VkIGZvciBtaW5pbXVtIGFuZCAgbWF4aW11bSAqLwogI2lmIGRlZmluZWQoQ09ORklHX0RFVEVDVF9TT0ZUTE9DS1VQKSB8fCBkZWZpbmVkKENPTkZJR19ISUdITUVNKQpAQCAtMTMyLDggKzEzNiw2IEBACiBleHRlcm4gaW50IHNwaW5fcmV0cnk7CiAjZW5kaWYKIAotZXh0ZXJuIGludCBzeXNjdGxfaHpfdGltZXI7Ci0KICNpZmRlZiBDT05GSUdfQlNEX1BST0NFU1NfQUNDVAogZXh0ZXJuIGludCBhY2N0X3Bhcm1bXTsKICNlbmRpZgpAQCAtMjY2LDYgKzI2OCwxNCBAQAogCX0sCiAJewogCQkuY3RsX25hbWUJPSBDVExfVU5OVU1CRVJFRCwKKwkJLnByb2NuYW1lCT0gInNjaGVkX3NoYXJlc19yYXRlbGltaXQiLAorCQkuZGF0YQkJPSAmc3lzY3RsX3NjaGVkX3NoYXJlc19yYXRlbGltaXQsCisJCS5tYXhsZW4JCT0gc2l6ZW9mKHVuc2lnbmVkIGludCksCisJCS5tb2RlCQk9IDA2NDQsCisJCS5wcm9jX2hhbmRsZXIJPSAmcHJvY19kb2ludHZlYywKKwl9LAorCXsKKwkJLmN0bF9uYW1lCT0gQ1RMX1VOTlVNQkVSRUQsCiAJCS5wcm9jbmFtZQk9ICJzY2hlZF9jaGlsZF9ydW5zX2ZpcnN0IiwKIAkJLmRhdGEJCT0gJnN5c2N0bF9zY2hlZF9jaGlsZF9ydW5zX2ZpcnN0LAogCQkubWF4bGVuCQk9IHNpemVvZih1bnNpZ25lZCBpbnQpLApAQCAtNDU1LDYgKzQ2NSwxNiBAQAogCQkubW9kZQkJPSAwNjQ0LAogCQkucHJvY19oYW5kbGVyCT0gJnByb2NfZG9pbnR2ZWMsCiAJfSwKKyNpZmRlZiBDT05GSUdfRlRSQUNFCisJeworCQkuY3RsX25hbWUJPSBDVExfVU5OVU1CRVJFRCwKKwkJLnByb2NuYW1lCT0gImZ0cmFjZV9lbmFibGVkIiwKKwkJLmRhdGEJCT0gJmZ0cmFjZV9lbmFibGVkLAorCQkubWF4bGVuCQk9IHNpemVvZihpbnQpLAorCQkubW9kZQkJPSAwNjQ0LAorCQkucHJvY19oYW5kbGVyCT0gJmZ0cmFjZV9lbmFibGVfc3lzY3RsLAorCX0sCisjZW5kaWYKICNpZmRlZiBDT05GSUdfS01PRAogCXsKIAkJLmN0bF9uYW1lCT0gS0VSTl9NT0RQUk9CRSwKQEAgLTU2MywxNiArNTgzLDYgQEAKIAkJLnByb2NfaGFuZGxlcgk9ICZwcm9jX2RvaW50dmVjLAogCX0sCiAjZW5kaWYKLSNpZmRlZiBDT05GSUdfTk9fSURMRV9IWgotCXsKLQkJLmN0bF9uYW1lICAgICAgID0gS0VSTl9IWl9USU1FUiwKLQkJLnByb2NuYW1lICAgICAgID0gImh6X3RpbWVyIiwKLQkJLmRhdGEgICAgICAgICAgID0gJnN5c2N0bF9oel90aW1lciwKLQkJLm1heGxlbiAgICAgICAgID0gc2l6ZW9mKGludCksCi0JCS5tb2RlICAgICAgICAgICA9IDA2NDQsCi0JCS5wcm9jX2hhbmRsZXIgICA9ICZwcm9jX2RvaW50dmVjLAotCX0sCi0jZW5kaWYKIAl7CiAJCS5jdGxfbmFtZQk9IEtFUk5fUzM5MF9VU0VSX0RFQlVHX0xPR0dJTkcsCiAJCS5wcm9jbmFtZQk9ICJ1c2VycHJvY2Vzc19kZWJ1ZyIsCkBAIC04MTMsNiArODIzLDE2IEBACiAJCS5jaGlsZAkJPSBrZXlfc3lzY3RscywKIAl9LAogI2VuZGlmCisjaWZkZWYgQ09ORklHX1JDVV9UT1JUVVJFX1RFU1QKKwl7CisJCS5jdGxfbmFtZSAgICAgICA9IENUTF9VTk5VTUJFUkVELAorCQkucHJvY25hbWUgICAgICAgPSAicmN1dG9ydHVyZV9ydW5uYWJsZSIsCisJCS5kYXRhICAgICAgICAgICA9ICZyY3V0b3J0dXJlX3J1bm5hYmxlLAorCQkubWF4bGVuICAgICAgICAgPSBzaXplb2YoaW50KSwKKwkJLm1vZGUgICAgICAgICAgID0gMDY0NCwKKwkJLnByb2NfaGFuZGxlciAgID0gJnByb2NfZG9pbnR2ZWMsCisJfSwKKyNlbmRpZgogLyoKICAqIE5PVEU6IGRvIG5vdCBhZGQgbmV3IGVudHJpZXMgdG8gdGhpcyB0YWJsZSB1bmxlc3MgeW91IGhhdmUgcmVhZAogICogRG9jdW1lbnRhdGlvbi9zeXNjdGwvY3RsX3VubnVtYmVyZWQudHh0CmRpZmYgLS1naXQgYS9rZXJuZWwvdGltZS90aWNrLWJyb2FkY2FzdC5jIGIva2VybmVsL3RpbWUvdGljay1icm9hZGNhc3QuYwppbmRleCA1N2ExZjAyLi5mNDhkMGYwIDEwMDY0NAotLS0gYS9rZXJuZWwvdGltZS90aWNrLWJyb2FkY2FzdC5jCisrKyBiL2tlcm5lbC90aW1lL3RpY2stYnJvYWRjYXN0LmMKQEAgLTMwLDYgKzMwLDcgQEAKIHN0cnVjdCB0aWNrX2RldmljZSB0aWNrX2Jyb2FkY2FzdF9kZXZpY2U7CiBzdGF0aWMgY3B1bWFza190IHRpY2tfYnJvYWRjYXN0X21hc2s7CiBzdGF0aWMgREVGSU5FX1NQSU5MT0NLKHRpY2tfYnJvYWRjYXN0X2xvY2spOworc3RhdGljIGludCB0aWNrX2Jyb2FkY2FzdF9mb3JjZTsKIAogI2lmZGVmIENPTkZJR19USUNLX09ORVNIT1QKIHN0YXRpYyB2b2lkIHRpY2tfYnJvYWRjYXN0X2NsZWFyX29uZXNob3QoaW50IGNwdSk7CkBAIC0yMzIsMTAgKzIzMywxMSBAQAogCQkJCQkJICAgICBDTE9DS19FVlRfTU9ERV9TSFVURE9XTik7CiAJCX0KIAkJaWYgKCpyZWFzb24gPT0gQ0xPQ0tfRVZUX05PVElGWV9CUk9BRENBU1RfRk9SQ0UpCi0JCQlkZXYtPmZlYXR1cmVzIHw9IENMT0NLX0VWVF9GRUFUX0RVTU1ZOworCQkJdGlja19icm9hZGNhc3RfZm9yY2UgPSAxOwogCQlicmVhazsKIAljYXNlIENMT0NLX0VWVF9OT1RJRllfQlJPQURDQVNUX09GRjoKLQkJaWYgKGNwdV9pc3NldChjcHUsIHRpY2tfYnJvYWRjYXN0X21hc2spKSB7CisJCWlmICghdGlja19icm9hZGNhc3RfZm9yY2UgJiYKKwkJICAgIGNwdV9pc3NldChjcHUsIHRpY2tfYnJvYWRjYXN0X21hc2spKSB7CiAJCQljcHVfY2xlYXIoY3B1LCB0aWNrX2Jyb2FkY2FzdF9tYXNrKTsKIAkJCWlmICh0ZC0+bW9kZSA9PSBUSUNLREVWX01PREVfUEVSSU9ESUMpCiAJCQkJdGlja19zZXR1cF9wZXJpb2RpYyhkZXYsIDApOwpAQCAtMjY2LDcgKzI2OCw3IEBACiAJCSAgICAgICAib2ZmbGluZSBDUFUgIyVkXG4iLCAqb25jcHUpOwogCWVsc2UKIAkJc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKCpvbmNwdSwgdGlja19kb19icm9hZGNhc3Rfb25fb2ZmLAotCQkJCQkgJnJlYXNvbiwgMSwgMSk7CisJCQkJCSAmcmVhc29uLCAxKTsKIH0KIAogLyoKZGlmZiAtLWdpdCBhL2tlcm5lbC90aW1lL3RpY2stc2NoZWQuYyBiL2tlcm5lbC90aW1lL3RpY2stc2NoZWQuYwppbmRleCBiODU0YTg5Li5iZWVmN2NjIDEwMDY0NAotLS0gYS9rZXJuZWwvdGltZS90aWNrLXNjaGVkLmMKKysrIGIva2VybmVsL3RpbWUvdGljay1zY2hlZC5jCkBAIC00OCw2ICs0OCwxMyBAQAogCXVuc2lnbmVkIGxvbmcgdGlja3MgPSAwOwogCWt0aW1lX3QgZGVsdGE7CiAKKwkvKgorCSAqIERvIGEgcXVpY2sgY2hlY2sgd2l0aG91dCBob2xkaW5nIHh0aW1lX2xvY2s6CisJICovCisJZGVsdGEgPSBrdGltZV9zdWIobm93LCBsYXN0X2ppZmZpZXNfdXBkYXRlKTsKKwlpZiAoZGVsdGEudHY2NCA8IHRpY2tfcGVyaW9kLnR2NjQpCisJCXJldHVybjsKKwogCS8qIFJlZXZhbHV0ZSB3aXRoIHh0aW1lX2xvY2sgaGVsZCAqLwogCXdyaXRlX3NlcWxvY2soJnh0aW1lX2xvY2spOwogCkBAIC0yMjgsNiArMjM1LDcgQEAKIAkJCSAgICAgICBsb2NhbF9zb2Z0aXJxX3BlbmRpbmcoKSk7CiAJCQlyYXRlbGltaXQrKzsKIAkJfQorCQlnb3RvIGVuZDsKIAl9CiAKIAl0cy0+aWRsZV9jYWxscysrOwpAQCAtMjc2LDYgKzI4NCw3IEBACiAJCQl0cy0+dGlja19zdG9wcGVkID0gMTsKIAkJCXRzLT5pZGxlX2ppZmZpZXMgPSBsYXN0X2ppZmZpZXM7CiAJCQlyY3VfZW50ZXJfbm9oeigpOworCQkJc2NoZWRfY2xvY2tfdGlja19zdG9wKGNwdSk7CiAJCX0KIAogCQkvKgpAQCAtMzc1LDYgKzM4NCw3IEBACiAJc2VsZWN0X25vaHpfbG9hZF9iYWxhbmNlcigwKTsKIAlub3cgPSBrdGltZV9nZXQoKTsKIAl0aWNrX2RvX3VwZGF0ZV9qaWZmaWVzNjQobm93KTsKKwlzY2hlZF9jbG9ja190aWNrX3N0YXJ0KGNwdSk7CiAJY3B1X2NsZWFyKGNwdSwgbm9oel9jcHVfbWFzayk7CiAKIAkvKgpkaWZmIC0tZ2l0IGEva2VybmVsL3RpbWVyLmMgYi9rZXJuZWwvdGltZXIuYwppbmRleCBjZWFjYzY2Li4wM2JjN2YxIDEwMDY0NAotLS0gYS9rZXJuZWwvdGltZXIuYworKysgYi9rZXJuZWwvdGltZXIuYwpAQCAtODEyLDcgKzgxMiw3IEBACiAJc3Bpbl91bmxvY2tfaXJxKCZiYXNlLT5sb2NrKTsKIH0KIAotI2lmIGRlZmluZWQoQ09ORklHX05PX0lETEVfSFopIHx8IGRlZmluZWQoQ09ORklHX05PX0haKQorI2lmZGVmIENPTkZJR19OT19IWgogLyoKICAqIEZpbmQgb3V0IHdoZW4gdGhlIG5leHQgdGltZXIgZXZlbnQgaXMgZHVlIHRvIGhhcHBlbi4gVGhpcwogICogaXMgdXNlZCBvbiBTLzM5MCB0byBzdG9wIGFsbCBhY3Rpdml0eSB3aGVuIGEgY3B1cyBpcyBpZGxlLgpAQCAtOTQ3LDE0ICs5NDcsNiBAQAogCiAJcmV0dXJuIGNtcF9uZXh0X2hydGltZXJfZXZlbnQobm93LCBleHBpcmVzKTsKIH0KLQotI2lmZGVmIENPTkZJR19OT19JRExFX0haCi11bnNpZ25lZCBsb25nIG5leHRfdGltZXJfaW50ZXJydXB0KHZvaWQpCi17Ci0JcmV0dXJuIGdldF9uZXh0X3RpbWVyX2ludGVycnVwdChqaWZmaWVzKTsKLX0KLSNlbmRpZgotCiAjZW5kaWYKIAogI2lmbmRlZiBDT05GSUdfVklSVF9DUFVfQUNDT1VOVElORwpAQCAtMTUwMiw3ICsxNDk0LDcgQEAKIAogCUJVR19PTihlcnIgPT0gTk9USUZZX0JBRCk7CiAJcmVnaXN0ZXJfY3B1X25vdGlmaWVyKCZ0aW1lcnNfbmIpOwotCW9wZW5fc29mdGlycShUSU1FUl9TT0ZUSVJRLCBydW5fdGltZXJfc29mdGlycSwgTlVMTCk7CisJb3Blbl9zb2Z0aXJxKFRJTUVSX1NPRlRJUlEsIHJ1bl90aW1lcl9zb2Z0aXJxKTsKIH0KIAogLyoqCmRpZmYgLS1naXQgYS9rZXJuZWwvdHJhY2UvS2NvbmZpZyBiL2tlcm5lbC90cmFjZS9LY29uZmlnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI2M2U5ZTYKLS0tIC9kZXYvbnVsbAorKysgYi9rZXJuZWwvdHJhY2UvS2NvbmZpZwpAQCAtMCwwICsxLDEzNSBAQAorIworIyBBcmNoaXRlY3R1cmVzIHRoYXQgb2ZmZXIgYW4gRlRSQUNFIGltcGxlbWVudGF0aW9uIHNob3VsZCBzZWxlY3QgSEFWRV9GVFJBQ0U6CisjCitjb25maWcgSEFWRV9GVFJBQ0UKKwlib29sCisKK2NvbmZpZyBIQVZFX0RZTkFNSUNfRlRSQUNFCisJYm9vbAorCitjb25maWcgVFJBQ0VSX01BWF9UUkFDRQorCWJvb2wKKworY29uZmlnIFRSQUNJTkcKKwlib29sCisJc2VsZWN0IERFQlVHX0ZTCisJc2VsZWN0IFNUQUNLVFJBQ0UKKworY29uZmlnIEZUUkFDRQorCWJvb2wgIktlcm5lbCBGdW5jdGlvbiBUcmFjZXIiCisJZGVwZW5kcyBvbiBIQVZFX0ZUUkFDRQorCXNlbGVjdCBGUkFNRV9QT0lOVEVSCisJc2VsZWN0IFRSQUNJTkcKKwlzZWxlY3QgQ09OVEVYVF9TV0lUQ0hfVFJBQ0VSCisJaGVscAorCSAgRW5hYmxlIHRoZSBrZXJuZWwgdG8gdHJhY2UgZXZlcnkga2VybmVsIGZ1bmN0aW9uLiBUaGlzIGlzIGRvbmUKKwkgIGJ5IHVzaW5nIGEgY29tcGlsZXIgZmVhdHVyZSB0byBpbnNlcnQgYSBzbWFsbCwgNS1ieXRlIE5vLU9wZXJhdGlvbgorCSAgaW5zdHJ1Y3Rpb24gdG8gdGhlIGJlZ2lubmluZyBvZiBldmVyeSBrZXJuZWwgZnVuY3Rpb24sIHdoaWNoIE5PUAorCSAgc2VxdWVuY2UgaXMgdGhlbiBkeW5hbWljYWxseSBwYXRjaGVkIGludG8gYSB0cmFjZXIgY2FsbCB3aGVuCisJICB0cmFjaW5nIGlzIGVuYWJsZWQgYnkgdGhlIGFkbWluaXN0cmF0b3IuIElmIGl0J3MgcnVudGltZSBkaXNhYmxlZAorCSAgKHRoZSBib290dXAgZGVmYXVsdCksIHRoZW4gdGhlIG92ZXJoZWFkIG9mIHRoZSBpbnN0cnVjdGlvbnMgaXMgdmVyeQorCSAgc21hbGwgYW5kIG5vdCBtZWFzdXJhYmxlIGV2ZW4gaW4gbWljcm8tYmVuY2htYXJrcy4KKworY29uZmlnIElSUVNPRkZfVFJBQ0VSCisJYm9vbCAiSW50ZXJydXB0cy1vZmYgTGF0ZW5jeSBUcmFjZXIiCisJZGVmYXVsdCBuCisJZGVwZW5kcyBvbiBUUkFDRV9JUlFGTEFHU19TVVBQT1JUCisJZGVwZW5kcyBvbiBHRU5FUklDX1RJTUUKKwlkZXBlbmRzIG9uIEhBVkVfRlRSQUNFCisJc2VsZWN0IFRSQUNFX0lSUUZMQUdTCisJc2VsZWN0IFRSQUNJTkcKKwlzZWxlY3QgVFJBQ0VSX01BWF9UUkFDRQorCWhlbHAKKwkgIFRoaXMgb3B0aW9uIG1lYXN1cmVzIHRoZSB0aW1lIHNwZW50IGluIGlycXMtb2ZmIGNyaXRpY2FsCisJICBzZWN0aW9ucywgd2l0aCBtaWNyb3NlY29uZCBhY2N1cmFjeS4KKworCSAgVGhlIGRlZmF1bHQgbWVhc3VyZW1lbnQgbWV0aG9kIGlzIGEgbWF4aW11bSBzZWFyY2gsIHdoaWNoIGlzCisJICBkaXNhYmxlZCBieSBkZWZhdWx0IGFuZCBjYW4gYmUgcnVudGltZSAocmUtKXN0YXJ0ZWQKKwkgIHZpYToKKworCSAgICAgIGVjaG8gMCA+IC9kZWJ1Z2ZzL3RyYWNpbmcvdHJhY2luZ19tYXhfbGF0ZW5jeQorCisJICAoTm90ZSB0aGF0IGtlcm5lbCBzaXplIGFuZCBvdmVyaGVhZCBpbmNyZWFzZXMgd2l0aCB0aGlzIG9wdGlvbgorCSAgZW5hYmxlZC4gVGhpcyBvcHRpb24gYW5kIHRoZSBwcmVlbXB0LW9mZiB0aW1pbmcgb3B0aW9uIGNhbiBiZQorCSAgdXNlZCB0b2dldGhlciBvciBzZXBhcmF0ZWx5LikKKworY29uZmlnIFBSRUVNUFRfVFJBQ0VSCisJYm9vbCAiUHJlZW1wdGlvbi1vZmYgTGF0ZW5jeSBUcmFjZXIiCisJZGVmYXVsdCBuCisJZGVwZW5kcyBvbiBHRU5FUklDX1RJTUUKKwlkZXBlbmRzIG9uIFBSRUVNUFQKKwlkZXBlbmRzIG9uIEhBVkVfRlRSQUNFCisJc2VsZWN0IFRSQUNJTkcKKwlzZWxlY3QgVFJBQ0VSX01BWF9UUkFDRQorCWhlbHAKKwkgIFRoaXMgb3B0aW9uIG1lYXN1cmVzIHRoZSB0aW1lIHNwZW50IGluIHByZWVtcHRpb24gb2ZmIGNyaXRpY2FsCisJICBzZWN0aW9ucywgd2l0aCBtaWNyb3NlY29uZCBhY2N1cmFjeS4KKworCSAgVGhlIGRlZmF1bHQgbWVhc3VyZW1lbnQgbWV0aG9kIGlzIGEgbWF4aW11bSBzZWFyY2gsIHdoaWNoIGlzCisJICBkaXNhYmxlZCBieSBkZWZhdWx0IGFuZCBjYW4gYmUgcnVudGltZSAocmUtKXN0YXJ0ZWQKKwkgIHZpYToKKworCSAgICAgIGVjaG8gMCA+IC9kZWJ1Z2ZzL3RyYWNpbmcvdHJhY2luZ19tYXhfbGF0ZW5jeQorCisJICAoTm90ZSB0aGF0IGtlcm5lbCBzaXplIGFuZCBvdmVyaGVhZCBpbmNyZWFzZXMgd2l0aCB0aGlzIG9wdGlvbgorCSAgZW5hYmxlZC4gVGhpcyBvcHRpb24gYW5kIHRoZSBpcnFzLW9mZiB0aW1pbmcgb3B0aW9uIGNhbiBiZQorCSAgdXNlZCB0b2dldGhlciBvciBzZXBhcmF0ZWx5LikKKworY29uZmlnIFNZU1BST0ZfVFJBQ0VSCisJYm9vbCAiU3lzcHJvZiBUcmFjZXIiCisJZGVwZW5kcyBvbiBYODYKKwlzZWxlY3QgVFJBQ0lORworCWhlbHAKKwkgIFRoaXMgdHJhY2VyIHByb3ZpZGVzIHRoZSB0cmFjZSBuZWVkZWQgYnkgdGhlICdTeXNwcm9mJyB1c2Vyc3BhY2UKKwkgIHRvb2wuCisKK2NvbmZpZyBTQ0hFRF9UUkFDRVIKKwlib29sICJTY2hlZHVsaW5nIExhdGVuY3kgVHJhY2VyIgorCWRlcGVuZHMgb24gSEFWRV9GVFJBQ0UKKwlzZWxlY3QgVFJBQ0lORworCXNlbGVjdCBDT05URVhUX1NXSVRDSF9UUkFDRVIKKwlzZWxlY3QgVFJBQ0VSX01BWF9UUkFDRQorCWhlbHAKKwkgIFRoaXMgdHJhY2VyIHRyYWNrcyB0aGUgbGF0ZW5jeSBvZiB0aGUgaGlnaGVzdCBwcmlvcml0eSB0YXNrCisJICB0byBiZSBzY2hlZHVsZWQgaW4sIHN0YXJ0aW5nIGZyb20gdGhlIHBvaW50IGl0IGhhcyB3b2tlbiB1cC4KKworY29uZmlnIENPTlRFWFRfU1dJVENIX1RSQUNFUgorCWJvb2wgIlRyYWNlIHByb2Nlc3MgY29udGV4dCBzd2l0Y2hlcyIKKwlkZXBlbmRzIG9uIEhBVkVfRlRSQUNFCisJc2VsZWN0IFRSQUNJTkcKKwlzZWxlY3QgTUFSS0VSUworCWhlbHAKKwkgIFRoaXMgdHJhY2VyIGdldHMgY2FsbGVkIGZyb20gdGhlIGNvbnRleHQgc3dpdGNoIGFuZCByZWNvcmRzCisJICBhbGwgc3dpdGNoaW5nIG9mIHRhc2tzLgorCitjb25maWcgRFlOQU1JQ19GVFJBQ0UKKwlib29sICJlbmFibGUvZGlzYWJsZSBmdHJhY2UgdHJhY2Vwb2ludHMgZHluYW1pY2FsbHkiCisJZGVwZW5kcyBvbiBGVFJBQ0UKKwlkZXBlbmRzIG9uIEhBVkVfRFlOQU1JQ19GVFJBQ0UKKwlkZWZhdWx0IHkKKwloZWxwCisgICAgICAgICBUaGlzIG9wdGlvbiB3aWxsIG1vZGlmeSBhbGwgdGhlIGNhbGxzIHRvIGZ0cmFjZSBkeW5hbWljYWxseQorCSAod2lsbCBwYXRjaCB0aGVtIG91dCBvZiB0aGUgYmluYXJ5IGltYWdlIGFuZCByZXBsYWNlcyB0aGVtCisJIHdpdGggYSBOby1PcCBpbnN0cnVjdGlvbikgYXMgdGhleSBhcmUgY2FsbGVkLiBBIHRhYmxlIGlzCisJIGNyZWF0ZWQgdG8gZHluYW1pY2FsbHkgZW5hYmxlIHRoZW0gYWdhaW4uCisKKwkgVGhpcyB3YXkgYSBDT05GSUdfRlRSQUNFIGtlcm5lbCBpcyBzbGlnaHRseSBsYXJnZXIsIGJ1dCBvdGhlcndpc2UKKwkgaGFzIG5hdGl2ZSBwZXJmb3JtYW5jZSBhcyBsb25nIGFzIG5vIHRyYWNpbmcgaXMgYWN0aXZlLgorCisJIFRoZSBjaGFuZ2VzIHRvIHRoZSBjb2RlIGFyZSBkb25lIGJ5IGEga2VybmVsIHRocmVhZCB0aGF0CisJIHdha2VzIHVwIG9uY2UgYSBzZWNvbmQgYW5kIGNoZWNrcyB0byBzZWUgaWYgYW55IGZ0cmFjZSBjYWxscworCSB3ZXJlIG1hZGUuIElmIHNvLCBpdCBydW5zIHN0b3BfbWFjaGluZSAoc3RvcHMgYWxsIENQVVMpCisJIGFuZCBtb2RpZmllcyB0aGUgY29kZSB0byBqdW1wIG92ZXIgdGhlIGNhbGwgdG8gZnRyYWNlLgorCitjb25maWcgRlRSQUNFX1NFTEZURVNUCisJYm9vbAorCitjb25maWcgRlRSQUNFX1NUQVJUVVBfVEVTVAorCWJvb2wgIlBlcmZvcm0gYSBzdGFydHVwIHRlc3Qgb24gZnRyYWNlIgorCWRlcGVuZHMgb24gVFJBQ0lORworCXNlbGVjdCBGVFJBQ0VfU0VMRlRFU1QKKwloZWxwCisJICBUaGlzIG9wdGlvbiBwZXJmb3JtcyBhIHNlcmllcyBvZiBzdGFydHVwIHRlc3RzIG9uIGZ0cmFjZS4gT24gYm9vdHVwCisJICBhIHNlcmllcyBvZiB0ZXN0cyBhcmUgbWFkZSB0byB2ZXJpZnkgdGhhdCB0aGUgdHJhY2VyIGlzCisJICBmdW5jdGlvbmluZyBwcm9wZXJseS4gSXQgd2lsbCBkbyB0ZXN0cyBvbiBhbGwgdGhlIGNvbmZpZ3VyZWQKKwkgIHRyYWNlcnMgb2YgZnRyYWNlLgpkaWZmIC0tZ2l0IGEva2VybmVsL3RyYWNlL01ha2VmaWxlIGIva2VybmVsL3RyYWNlL01ha2VmaWxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcxZDE3ZGUKLS0tIC9kZXYvbnVsbAorKysgYi9rZXJuZWwvdHJhY2UvTWFrZWZpbGUKQEAgLTAsMCArMSwyNCBAQAorCisjIERvIG5vdCBpbnN0cnVtZW50IHRoZSB0cmFjZXIgaXRzZWxmOgorCitpZmRlZiBDT05GSUdfRlRSQUNFCitPUklHX0NGTEFHUyA6PSAkKEtCVUlMRF9DRkxBR1MpCitLQlVJTERfQ0ZMQUdTID0gJChzdWJzdCAtcGcsLCQoT1JJR19DRkxBR1MpKQorCisjIHNlbGZ0ZXN0IG5lZWRzIGluc3RydW1lbnRhdGlvbgorQ0ZMQUdTX3RyYWNlX3NlbGZ0ZXN0X2R5bmFtaWMubyA9IC1wZworb2JqLXkgKz0gdHJhY2Vfc2VsZnRlc3RfZHluYW1pYy5vCitlbmRpZgorCitvYmotJChDT05GSUdfRlRSQUNFKSArPSBsaWJmdHJhY2UubworCitvYmotJChDT05GSUdfVFJBQ0lORykgKz0gdHJhY2Uubworb2JqLSQoQ09ORklHX0NPTlRFWFRfU1dJVENIX1RSQUNFUikgKz0gdHJhY2Vfc2NoZWRfc3dpdGNoLm8KK29iai0kKENPTkZJR19TWVNQUk9GX1RSQUNFUikgKz0gdHJhY2Vfc3lzcHJvZi5vCitvYmotJChDT05GSUdfRlRSQUNFKSArPSB0cmFjZV9mdW5jdGlvbnMubworb2JqLSQoQ09ORklHX0lSUVNPRkZfVFJBQ0VSKSArPSB0cmFjZV9pcnFzb2ZmLm8KK29iai0kKENPTkZJR19QUkVFTVBUX1RSQUNFUikgKz0gdHJhY2VfaXJxc29mZi5vCitvYmotJChDT05GSUdfU0NIRURfVFJBQ0VSKSArPSB0cmFjZV9zY2hlZF93YWtldXAubworb2JqLSQoQ09ORklHX01NSU9UUkFDRSkgKz0gdHJhY2VfbW1pb3RyYWNlLm8KKworbGliZnRyYWNlLXkgOj0gZnRyYWNlLm8KZGlmZiAtLWdpdCBhL2tlcm5lbC90cmFjZS9mdHJhY2UuYyBiL2tlcm5lbC90cmFjZS9mdHJhY2UuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MjMxYTNkCi0tLSAvZGV2L251bGwKKysrIGIva2VybmVsL3RyYWNlL2Z0cmFjZS5jCkBAIC0wLDAgKzEsMTcyNyBAQAorLyoKKyAqIEluZnJhc3RydWN0dXJlIGZvciBwcm9maWxpbmcgY29kZSBpbnNlcnRlZCBieSAnZ2NjIC1wZycuCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMDggU3RldmVuIFJvc3RlZHQgPHNyb3N0ZWR0QHJlZGhhdC5jb20+CisgKiBDb3B5cmlnaHQgKEMpIDIwMDQtMjAwOCBJbmdvIE1vbG5hciA8bWluZ29AcmVkaGF0LmNvbT4KKyAqCisgKiBPcmlnaW5hbGx5IHBvcnRlZCBmcm9tIHRoZSAtcnQgcGF0Y2ggYnk6CisgKiAgIENvcHlyaWdodCAoQykgMjAwNyBBcm5hbGRvIENhcnZhbGhvIGRlIE1lbG8gPGFjbWVAcmVkaGF0LmNvbT4KKyAqCisgKiBCYXNlZCBvbiBjb2RlIGluIHRoZSBsYXRlbmN5X3RyYWNlciwgdGhhdCBpczoKKyAqCisgKiAgQ29weXJpZ2h0IChDKSAyMDA0LTIwMDYgSW5nbyBNb2xuYXIKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDQgV2lsbGlhbSBMZWUgSXJ3aW4gSUlJCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L3N0b3BfbWFjaGluZS5oPgorI2luY2x1ZGUgPGxpbnV4L2Nsb2Nrc291cmNlLmg+CisjaW5jbHVkZSA8bGludXgva2FsbHN5bXMuaD4KKyNpbmNsdWRlIDxsaW51eC9zZXFfZmlsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2RlYnVnZnMuaD4KKyNpbmNsdWRlIDxsaW51eC9oYXJkaXJxLmg+CisjaW5jbHVkZSA8bGludXgva3RocmVhZC5oPgorI2luY2x1ZGUgPGxpbnV4L3VhY2Nlc3MuaD4KKyNpbmNsdWRlIDxsaW51eC9rcHJvYmVzLmg+CisjaW5jbHVkZSA8bGludXgvZnRyYWNlLmg+CisjaW5jbHVkZSA8bGludXgvc3lzY3RsLmg+CisjaW5jbHVkZSA8bGludXgvY3R5cGUuaD4KKyNpbmNsdWRlIDxsaW51eC9oYXNoLmg+CisjaW5jbHVkZSA8bGludXgvbGlzdC5oPgorCisjaW5jbHVkZSA8YXNtL2Z0cmFjZS5oPgorCisjaW5jbHVkZSAidHJhY2UuaCIKKworLyogZnRyYWNlX2VuYWJsZWQgaXMgYSBtZXRob2QgdG8gdHVybiBmdHJhY2Ugb24gb3Igb2ZmICovCitpbnQgZnRyYWNlX2VuYWJsZWQgX19yZWFkX21vc3RseTsKK3N0YXRpYyBpbnQgbGFzdF9mdHJhY2VfZW5hYmxlZDsKKworLyoKKyAqIGZ0cmFjZV9kaXNhYmxlZCBpcyBzZXQgd2hlbiBhbiBhbm9tYWx5IGlzIGRpc2NvdmVyZWQuCisgKiBmdHJhY2VfZGlzYWJsZWQgaXMgbXVjaCBzdHJvbmdlciB0aGFuIGZ0cmFjZV9lbmFibGVkLgorICovCitzdGF0aWMgaW50IGZ0cmFjZV9kaXNhYmxlZCBfX3JlYWRfbW9zdGx5OworCitzdGF0aWMgREVGSU5FX1NQSU5MT0NLKGZ0cmFjZV9sb2NrKTsKK3N0YXRpYyBERUZJTkVfTVVURVgoZnRyYWNlX3N5c2N0bF9sb2NrKTsKKworc3RhdGljIHN0cnVjdCBmdHJhY2Vfb3BzIGZ0cmFjZV9saXN0X2VuZCBfX3JlYWRfbW9zdGx5ID0KK3sKKwkuZnVuYyA9IGZ0cmFjZV9zdHViLAorfTsKKworc3RhdGljIHN0cnVjdCBmdHJhY2Vfb3BzICpmdHJhY2VfbGlzdCBfX3JlYWRfbW9zdGx5ID0gJmZ0cmFjZV9saXN0X2VuZDsKK2Z0cmFjZV9mdW5jX3QgZnRyYWNlX3RyYWNlX2Z1bmN0aW9uIF9fcmVhZF9tb3N0bHkgPSBmdHJhY2Vfc3R1YjsKKworc3RhdGljIHZvaWQgZnRyYWNlX2xpc3RfZnVuYyh1bnNpZ25lZCBsb25nIGlwLCB1bnNpZ25lZCBsb25nIHBhcmVudF9pcCkKK3sKKwlzdHJ1Y3QgZnRyYWNlX29wcyAqb3AgPSBmdHJhY2VfbGlzdDsKKworCS8qIGluIGNhc2Ugc29tZW9uZSBhY3R1YWxseSBwb3J0cyB0aGlzIHRvIGFscGhhISAqLworCXJlYWRfYmFycmllcl9kZXBlbmRzKCk7CisKKwl3aGlsZSAob3AgIT0gJmZ0cmFjZV9saXN0X2VuZCkgeworCQkvKiBzaWxseSBhbHBoYSAqLworCQlyZWFkX2JhcnJpZXJfZGVwZW5kcygpOworCQlvcC0+ZnVuYyhpcCwgcGFyZW50X2lwKTsKKwkJb3AgPSBvcC0+bmV4dDsKKwl9OworfQorCisvKioKKyAqIGNsZWFyX2Z0cmFjZV9mdW5jdGlvbiAtIHJlc2V0IHRoZSBmdHJhY2UgZnVuY3Rpb24KKyAqCisgKiBUaGlzIE5VTExzIHRoZSBmdHJhY2UgZnVuY3Rpb24gYW5kIGluIGVzc2VuY2Ugc3RvcHMKKyAqIHRyYWNpbmcuICBUaGVyZSBtYXkgYmUgbGFnCisgKi8KK3ZvaWQgY2xlYXJfZnRyYWNlX2Z1bmN0aW9uKHZvaWQpCit7CisJZnRyYWNlX3RyYWNlX2Z1bmN0aW9uID0gZnRyYWNlX3N0dWI7Cit9CisKK3N0YXRpYyBpbnQgX19yZWdpc3Rlcl9mdHJhY2VfZnVuY3Rpb24oc3RydWN0IGZ0cmFjZV9vcHMgKm9wcykKK3sKKwkvKiBTaG91bGQgbmV2ZXIgYmUgY2FsbGVkIGJ5IGludGVycnVwdHMgKi8KKwlzcGluX2xvY2soJmZ0cmFjZV9sb2NrKTsKKworCW9wcy0+bmV4dCA9IGZ0cmFjZV9saXN0OworCS8qCisJICogV2UgYXJlIGVudGVyaW5nIG9wcyBpbnRvIHRoZSBmdHJhY2VfbGlzdCBidXQgYW5vdGhlcgorCSAqIENQVSBtaWdodCBiZSB3YWxraW5nIHRoYXQgbGlzdC4gV2UgbmVlZCB0byBtYWtlIHN1cmUKKwkgKiB0aGUgb3BzLT5uZXh0IHBvaW50ZXIgaXMgdmFsaWQgYmVmb3JlIGFub3RoZXIgQ1BVIHNlZXMKKwkgKiB0aGUgb3BzIHBvaW50ZXIgaW5jbHVkZWQgaW50byB0aGUgZnRyYWNlX2xpc3QuCisJICovCisJc21wX3dtYigpOworCWZ0cmFjZV9saXN0ID0gb3BzOworCisJaWYgKGZ0cmFjZV9lbmFibGVkKSB7CisJCS8qCisJCSAqIEZvciBvbmUgZnVuYywgc2ltcGx5IGNhbGwgaXQgZGlyZWN0bHkuCisJCSAqIEZvciBtb3JlIHRoYW4gb25lIGZ1bmMsIGNhbGwgdGhlIGNoYWluLgorCQkgKi8KKwkJaWYgKG9wcy0+bmV4dCA9PSAmZnRyYWNlX2xpc3RfZW5kKQorCQkJZnRyYWNlX3RyYWNlX2Z1bmN0aW9uID0gb3BzLT5mdW5jOworCQllbHNlCisJCQlmdHJhY2VfdHJhY2VfZnVuY3Rpb24gPSBmdHJhY2VfbGlzdF9mdW5jOworCX0KKworCXNwaW5fdW5sb2NrKCZmdHJhY2VfbG9jayk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBfX3VucmVnaXN0ZXJfZnRyYWNlX2Z1bmN0aW9uKHN0cnVjdCBmdHJhY2Vfb3BzICpvcHMpCit7CisJc3RydWN0IGZ0cmFjZV9vcHMgKipwOworCWludCByZXQgPSAwOworCisJc3Bpbl9sb2NrKCZmdHJhY2VfbG9jayk7CisKKwkvKgorCSAqIElmIHdlIGFyZSByZW1vdmluZyB0aGUgbGFzdCBmdW5jdGlvbiwgdGhlbiBzaW1wbHkgcG9pbnQKKwkgKiB0byB0aGUgZnRyYWNlX3N0dWIuCisJICovCisJaWYgKGZ0cmFjZV9saXN0ID09IG9wcyAmJiBvcHMtPm5leHQgPT0gJmZ0cmFjZV9saXN0X2VuZCkgeworCQlmdHJhY2VfdHJhY2VfZnVuY3Rpb24gPSBmdHJhY2Vfc3R1YjsKKwkJZnRyYWNlX2xpc3QgPSAmZnRyYWNlX2xpc3RfZW5kOworCQlnb3RvIG91dDsKKwl9CisKKwlmb3IgKHAgPSAmZnRyYWNlX2xpc3Q7ICpwICE9ICZmdHJhY2VfbGlzdF9lbmQ7IHAgPSAmKCpwKS0+bmV4dCkKKwkJaWYgKCpwID09IG9wcykKKwkJCWJyZWFrOworCisJaWYgKCpwICE9IG9wcykgeworCQlyZXQgPSAtMTsKKwkJZ290byBvdXQ7CisJfQorCisJKnAgPSAoKnApLT5uZXh0OworCisJaWYgKGZ0cmFjZV9lbmFibGVkKSB7CisJCS8qIElmIHdlIG9ubHkgaGF2ZSBvbmUgZnVuYyBsZWZ0LCB0aGVuIGNhbGwgdGhhdCBkaXJlY3RseSAqLworCQlpZiAoZnRyYWNlX2xpc3QgPT0gJmZ0cmFjZV9saXN0X2VuZCB8fAorCQkgICAgZnRyYWNlX2xpc3QtPm5leHQgPT0gJmZ0cmFjZV9saXN0X2VuZCkKKwkJCWZ0cmFjZV90cmFjZV9mdW5jdGlvbiA9IGZ0cmFjZV9saXN0LT5mdW5jOworCX0KKworIG91dDoKKwlzcGluX3VubG9jaygmZnRyYWNlX2xvY2spOworCisJcmV0dXJuIHJldDsKK30KKworI2lmZGVmIENPTkZJR19EWU5BTUlDX0ZUUkFDRQorCitzdGF0aWMgc3RydWN0IHRhc2tfc3RydWN0ICpmdHJhY2VkX3Rhc2s7CisKK2VudW0geworCUZUUkFDRV9FTkFCTEVfQ0FMTFMJCT0gKDEgPDwgMCksCisJRlRSQUNFX0RJU0FCTEVfQ0FMTFMJCT0gKDEgPDwgMSksCisJRlRSQUNFX1VQREFURV9UUkFDRV9GVU5DCT0gKDEgPDwgMiksCisJRlRSQUNFX0VOQUJMRV9NQ09VTlQJCT0gKDEgPDwgMyksCisJRlRSQUNFX0RJU0FCTEVfTUNPVU5UCQk9ICgxIDw8IDQpLAorfTsKKworc3RhdGljIGludCBmdHJhY2VfZmlsdGVyZWQ7CitzdGF0aWMgaW50IHRyYWNpbmdfb247CitzdGF0aWMgaW50IGZyb3plbl9yZWNvcmRfY291bnQ7CisKK3N0YXRpYyBzdHJ1Y3QgaGxpc3RfaGVhZCBmdHJhY2VfaGFzaFtGVFJBQ0VfSEFTSFNJWkVdOworCitzdGF0aWMgREVGSU5FX1BFUl9DUFUoaW50LCBmdHJhY2Vfc2h1dGRvd25fZGlzYWJsZV9jcHUpOworCitzdGF0aWMgREVGSU5FX1NQSU5MT0NLKGZ0cmFjZV9zaHV0ZG93bl9sb2NrKTsKK3N0YXRpYyBERUZJTkVfTVVURVgoZnRyYWNlZF9sb2NrKTsKK3N0YXRpYyBERUZJTkVfTVVURVgoZnRyYWNlX3JlZ2V4X2xvY2spOworCitzdHJ1Y3QgZnRyYWNlX3BhZ2UgeworCXN0cnVjdCBmdHJhY2VfcGFnZQkqbmV4dDsKKwl1bnNpZ25lZCBsb25nCQlpbmRleDsKKwlzdHJ1Y3QgZHluX2Z0cmFjZQlyZWNvcmRzW107Cit9OworCisjZGVmaW5lIEVOVFJJRVNfUEVSX1BBR0UgXAorICAoKFBBR0VfU0laRSAtIHNpemVvZihzdHJ1Y3QgZnRyYWNlX3BhZ2UpKSAvIHNpemVvZihzdHJ1Y3QgZHluX2Z0cmFjZSkpCisKKy8qIGVzdGltYXRlIGZyb20gcnVubmluZyBkaWZmZXJlbnQga2VybmVscyAqLworI2RlZmluZSBOUl9UT19JTklUCQkxMDAwMAorCitzdGF0aWMgc3RydWN0IGZ0cmFjZV9wYWdlCSpmdHJhY2VfcGFnZXNfc3RhcnQ7CitzdGF0aWMgc3RydWN0IGZ0cmFjZV9wYWdlCSpmdHJhY2VfcGFnZXM7CisKK3N0YXRpYyBpbnQgZnRyYWNlZF90cmlnZ2VyOworc3RhdGljIGludCBmdHJhY2VkX3N1c3BlbmQ7CitzdGF0aWMgaW50IGZ0cmFjZWRfc3RvcDsKKworc3RhdGljIGludCBmdHJhY2VfcmVjb3JkX3N1c3BlbmQ7CisKK3N0YXRpYyBzdHJ1Y3QgZHluX2Z0cmFjZSAqZnRyYWNlX2ZyZWVfcmVjb3JkczsKKworCisjaWZkZWYgQ09ORklHX0tQUk9CRVMKK3N0YXRpYyBpbmxpbmUgdm9pZCBmcmVlemVfcmVjb3JkKHN0cnVjdCBkeW5fZnRyYWNlICpyZWMpCit7CisJaWYgKCEocmVjLT5mbGFncyAmIEZUUkFDRV9GTF9GUk9aRU4pKSB7CisJCXJlYy0+ZmxhZ3MgfD0gRlRSQUNFX0ZMX0ZST1pFTjsKKwkJZnJvemVuX3JlY29yZF9jb3VudCsrOworCX0KK30KKworc3RhdGljIGlubGluZSB2b2lkIHVuZnJlZXplX3JlY29yZChzdHJ1Y3QgZHluX2Z0cmFjZSAqcmVjKQoreworCWlmIChyZWMtPmZsYWdzICYgRlRSQUNFX0ZMX0ZST1pFTikgeworCQlyZWMtPmZsYWdzICY9IH5GVFJBQ0VfRkxfRlJPWkVOOworCQlmcm96ZW5fcmVjb3JkX2NvdW50LS07CisJfQorfQorCitzdGF0aWMgaW5saW5lIGludCByZWNvcmRfZnJvemVuKHN0cnVjdCBkeW5fZnRyYWNlICpyZWMpCit7CisJcmV0dXJuIHJlYy0+ZmxhZ3MgJiBGVFJBQ0VfRkxfRlJPWkVOOworfQorI2Vsc2UKKyMgZGVmaW5lIGZyZWV6ZV9yZWNvcmQocmVjKQkJCSh7IDA7IH0pCisjIGRlZmluZSB1bmZyZWV6ZV9yZWNvcmQocmVjKQkJCSh7IDA7IH0pCisjIGRlZmluZSByZWNvcmRfZnJvemVuKHJlYykJCQkoeyAwOyB9KQorI2VuZGlmIC8qIENPTkZJR19LUFJPQkVTICovCisKK2ludCBza2lwX3RyYWNlKHVuc2lnbmVkIGxvbmcgaXApCit7CisJdW5zaWduZWQgbG9uZyBmbDsKKwlzdHJ1Y3QgZHluX2Z0cmFjZSAqcmVjOworCXN0cnVjdCBobGlzdF9ub2RlICp0OworCXN0cnVjdCBobGlzdF9oZWFkICpoZWFkOworCisJaWYgKGZyb3plbl9yZWNvcmRfY291bnQgPT0gMCkKKwkJcmV0dXJuIDA7CisKKwloZWFkID0gJmZ0cmFjZV9oYXNoW2hhc2hfbG9uZyhpcCwgRlRSQUNFX0hBU0hCSVRTKV07CisJaGxpc3RfZm9yX2VhY2hfZW50cnlfcmN1KHJlYywgdCwgaGVhZCwgbm9kZSkgeworCQlpZiAocmVjLT5pcCA9PSBpcCkgeworCQkJaWYgKHJlY29yZF9mcm96ZW4ocmVjKSkgeworCQkJCWlmIChyZWMtPmZsYWdzICYgRlRSQUNFX0ZMX0ZBSUxFRCkKKwkJCQkJcmV0dXJuIDE7CisKKwkJCQlpZiAoIShyZWMtPmZsYWdzICYgRlRSQUNFX0ZMX0NPTlZFUlRFRCkpCisJCQkJCXJldHVybiAxOworCisJCQkJaWYgKCF0cmFjaW5nX29uIHx8ICFmdHJhY2VfZW5hYmxlZCkKKwkJCQkJcmV0dXJuIDE7CisKKwkJCQlpZiAoZnRyYWNlX2ZpbHRlcmVkKSB7CisJCQkJCWZsID0gcmVjLT5mbGFncyAmIChGVFJBQ0VfRkxfRklMVEVSIHwKKwkJCQkJCQkgICBGVFJBQ0VfRkxfTk9UUkFDRSk7CisJCQkJCWlmICghZmwgfHwgKGZsICYgRlRSQUNFX0ZMX05PVFJBQ0UpKQorCQkJCQkJcmV0dXJuIDE7CisJCQkJfQorCQkJfQorCQkJYnJlYWs7CisJCX0KKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGlubGluZSBpbnQKK2Z0cmFjZV9pcF9pbl9oYXNoKHVuc2lnbmVkIGxvbmcgaXAsIHVuc2lnbmVkIGxvbmcga2V5KQoreworCXN0cnVjdCBkeW5fZnRyYWNlICpwOworCXN0cnVjdCBobGlzdF9ub2RlICp0OworCWludCBmb3VuZCA9IDA7CisKKwlobGlzdF9mb3JfZWFjaF9lbnRyeV9yY3UocCwgdCwgJmZ0cmFjZV9oYXNoW2tleV0sIG5vZGUpIHsKKwkJaWYgKHAtPmlwID09IGlwKSB7CisJCQlmb3VuZCA9IDE7CisJCQlicmVhazsKKwkJfQorCX0KKworCXJldHVybiBmb3VuZDsKK30KKworc3RhdGljIGlubGluZSB2b2lkCitmdHJhY2VfYWRkX2hhc2goc3RydWN0IGR5bl9mdHJhY2UgKm5vZGUsIHVuc2lnbmVkIGxvbmcga2V5KQoreworCWhsaXN0X2FkZF9oZWFkX3JjdSgmbm9kZS0+bm9kZSwgJmZ0cmFjZV9oYXNoW2tleV0pOworfQorCisvKiBjYWxsZWQgZnJvbSBrc3RvcF9tYWNoaW5lICovCitzdGF0aWMgaW5saW5lIHZvaWQgZnRyYWNlX2RlbF9oYXNoKHN0cnVjdCBkeW5fZnRyYWNlICpub2RlKQoreworCWhsaXN0X2RlbCgmbm9kZS0+bm9kZSk7Cit9CisKK3N0YXRpYyB2b2lkIGZ0cmFjZV9mcmVlX3JlYyhzdHJ1Y3QgZHluX2Z0cmFjZSAqcmVjKQoreworCS8qIG5vIGxvY2tpbmcsIG9ubHkgY2FsbGVkIGZyb20ga3N0b3BfbWFjaGluZSAqLworCisJcmVjLT5pcCA9ICh1bnNpZ25lZCBsb25nKWZ0cmFjZV9mcmVlX3JlY29yZHM7CisJZnRyYWNlX2ZyZWVfcmVjb3JkcyA9IHJlYzsKKwlyZWMtPmZsYWdzIHw9IEZUUkFDRV9GTF9GUkVFOworfQorCitzdGF0aWMgc3RydWN0IGR5bl9mdHJhY2UgKmZ0cmFjZV9hbGxvY19keW5fbm9kZSh1bnNpZ25lZCBsb25nIGlwKQoreworCXN0cnVjdCBkeW5fZnRyYWNlICpyZWM7CisKKwkvKiBGaXJzdCBjaGVjayBmb3IgZnJlZWQgcmVjb3JkcyAqLworCWlmIChmdHJhY2VfZnJlZV9yZWNvcmRzKSB7CisJCXJlYyA9IGZ0cmFjZV9mcmVlX3JlY29yZHM7CisKKwkJaWYgKHVubGlrZWx5KCEocmVjLT5mbGFncyAmIEZUUkFDRV9GTF9GUkVFKSkpIHsKKwkJCVdBUk5fT05fT05DRSgxKTsKKwkJCWZ0cmFjZV9mcmVlX3JlY29yZHMgPSBOVUxMOworCQkJZnRyYWNlX2Rpc2FibGVkID0gMTsKKwkJCWZ0cmFjZV9lbmFibGVkID0gMDsKKwkJCXJldHVybiBOVUxMOworCQl9CisKKwkJZnRyYWNlX2ZyZWVfcmVjb3JkcyA9ICh2b2lkICopcmVjLT5pcDsKKwkJbWVtc2V0KHJlYywgMCwgc2l6ZW9mKCpyZWMpKTsKKwkJcmV0dXJuIHJlYzsKKwl9CisKKwlpZiAoZnRyYWNlX3BhZ2VzLT5pbmRleCA9PSBFTlRSSUVTX1BFUl9QQUdFKSB7CisJCWlmICghZnRyYWNlX3BhZ2VzLT5uZXh0KQorCQkJcmV0dXJuIE5VTEw7CisJCWZ0cmFjZV9wYWdlcyA9IGZ0cmFjZV9wYWdlcy0+bmV4dDsKKwl9CisKKwlyZXR1cm4gJmZ0cmFjZV9wYWdlcy0+cmVjb3Jkc1tmdHJhY2VfcGFnZXMtPmluZGV4KytdOworfQorCitzdGF0aWMgdm9pZAorZnRyYWNlX3JlY29yZF9pcCh1bnNpZ25lZCBsb25nIGlwKQoreworCXN0cnVjdCBkeW5fZnRyYWNlICpub2RlOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJdW5zaWduZWQgbG9uZyBrZXk7CisJaW50IHJlc2NoZWQ7CisJaW50IGF0b21pYzsKKwlpbnQgY3B1OworCisJaWYgKCFmdHJhY2VfZW5hYmxlZCB8fCBmdHJhY2VfZGlzYWJsZWQpCisJCXJldHVybjsKKworCXJlc2NoZWQgPSBuZWVkX3Jlc2NoZWQoKTsKKwlwcmVlbXB0X2Rpc2FibGVfbm90cmFjZSgpOworCisJLyoKKwkgKiBXZSBzaW1wbHkgbmVlZCB0byBwcm90ZWN0IGFnYWluc3QgcmVjdXJzaW9uLgorCSAqIFVzZSB0aGUgdGhlIHJhdyB2ZXJzaW9uIG9mIHNtcF9wcm9jZXNzb3JfaWQgYW5kIG5vdAorCSAqIF9fZ2V0X2NwdV92YXIgd2hpY2ggY2FuIGNhbGwgZGVidWcgaG9va3MgdGhhdCBjYW4KKwkgKiBjYXVzZSBhIHJlY3Vyc2l2ZSBjcmFzaCBoZXJlLgorCSAqLworCWNwdSA9IHJhd19zbXBfcHJvY2Vzc29yX2lkKCk7CisJcGVyX2NwdShmdHJhY2Vfc2h1dGRvd25fZGlzYWJsZV9jcHUsIGNwdSkrKzsKKwlpZiAocGVyX2NwdShmdHJhY2Vfc2h1dGRvd25fZGlzYWJsZV9jcHUsIGNwdSkgIT0gMSkKKwkJZ290byBvdXQ7CisKKwlpZiAodW5saWtlbHkoZnRyYWNlX3JlY29yZF9zdXNwZW5kKSkKKwkJZ290byBvdXQ7CisKKwlrZXkgPSBoYXNoX2xvbmcoaXAsIEZUUkFDRV9IQVNIQklUUyk7CisKKwlXQVJOX09OX09OQ0Uoa2V5ID49IEZUUkFDRV9IQVNIU0laRSk7CisKKwlpZiAoZnRyYWNlX2lwX2luX2hhc2goaXAsIGtleSkpCisJCWdvdG8gb3V0OworCisJYXRvbWljID0gaXJxc19kaXNhYmxlZCgpOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJmZ0cmFjZV9zaHV0ZG93bl9sb2NrLCBmbGFncyk7CisKKwkvKiBUaGlzIGlwIG1heSBoYXZlIGhpdCB0aGUgaGFzaCBiZWZvcmUgdGhlIGxvY2sgKi8KKwlpZiAoZnRyYWNlX2lwX2luX2hhc2goaXAsIGtleSkpCisJCWdvdG8gb3V0X3VubG9jazsKKworCW5vZGUgPSBmdHJhY2VfYWxsb2NfZHluX25vZGUoaXApOworCWlmICghbm9kZSkKKwkJZ290byBvdXRfdW5sb2NrOworCisJbm9kZS0+aXAgPSBpcDsKKworCWZ0cmFjZV9hZGRfaGFzaChub2RlLCBrZXkpOworCisJZnRyYWNlZF90cmlnZ2VyID0gMTsKKworIG91dF91bmxvY2s6CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZnRyYWNlX3NodXRkb3duX2xvY2ssIGZsYWdzKTsKKyBvdXQ6CisJcGVyX2NwdShmdHJhY2Vfc2h1dGRvd25fZGlzYWJsZV9jcHUsIGNwdSktLTsKKworCS8qIHByZXZlbnQgcmVjdXJzaW9uIHdpdGggc2NoZWR1bGVyICovCisJaWYgKHJlc2NoZWQpCisJCXByZWVtcHRfZW5hYmxlX25vX3Jlc2NoZWRfbm90cmFjZSgpOworCWVsc2UKKwkJcHJlZW1wdF9lbmFibGVfbm90cmFjZSgpOworfQorCisjZGVmaW5lIEZUUkFDRV9BRERSICgobG9uZykoZnRyYWNlX2NhbGxlcikpCisKK3N0YXRpYyBpbnQKK19fZnRyYWNlX3JlcGxhY2VfY29kZShzdHJ1Y3QgZHluX2Z0cmFjZSAqcmVjLAorCQkgICAgICB1bnNpZ25lZCBjaGFyICpvbGQsIHVuc2lnbmVkIGNoYXIgKm5ldywgaW50IGVuYWJsZSkKK3sKKwl1bnNpZ25lZCBsb25nIGlwLCBmbDsKKworCWlwID0gcmVjLT5pcDsKKworCWlmIChmdHJhY2VfZmlsdGVyZWQgJiYgZW5hYmxlKSB7CisJCS8qCisJCSAqIElmIGZpbHRlcmluZyBpcyBvbjoKKwkJICoKKwkJICogSWYgdGhpcyByZWNvcmQgaXMgc2V0IHRvIGJlIGZpbHRlcmVkIGFuZAorCQkgKiBpcyBlbmFibGVkIHRoZW4gZG8gbm90aGluZy4KKwkJICoKKwkJICogSWYgdGhpcyByZWNvcmQgaXMgc2V0IHRvIGJlIGZpbHRlcmVkIGFuZAorCQkgKiBpdCBpcyBub3QgZW5hYmxlZCwgZW5hYmxlIGl0LgorCQkgKgorCQkgKiBJZiB0aGlzIHJlY29yZCBpcyBub3Qgc2V0IHRvIGJlIGZpbHRlcmVkCisJCSAqIGFuZCBpdCBpcyBub3QgZW5hYmxlZCBkbyBub3RoaW5nLgorCQkgKgorCQkgKiBJZiB0aGlzIHJlY29yZCBpcyBzZXQgbm90IHRvIHRyYWNlIHRoZW4KKwkJICogZG8gbm90aGluZy4KKwkJICoKKwkJICogSWYgdGhpcyByZWNvcmQgaXMgc2V0IG5vdCB0byB0cmFjZSBhbmQKKwkJICogaXQgaXMgZW5hYmxlZCB0aGVuIGRpc2FibGUgaXQuCisJCSAqCisJCSAqIElmIHRoaXMgcmVjb3JkIGlzIG5vdCBzZXQgdG8gYmUgZmlsdGVyZWQgYW5kCisJCSAqIGl0IGlzIGVuYWJsZWQsIGRpc2FibGUgaXQuCisJCSAqLworCisJCWZsID0gcmVjLT5mbGFncyAmIChGVFJBQ0VfRkxfRklMVEVSIHwgRlRSQUNFX0ZMX05PVFJBQ0UgfAorCQkJCSAgIEZUUkFDRV9GTF9FTkFCTEVEKTsKKworCQlpZiAoKGZsID09ICAoRlRSQUNFX0ZMX0ZJTFRFUiB8IEZUUkFDRV9GTF9FTkFCTEVEKSkgfHwKKwkJICAgIChmbCA9PSAgKEZUUkFDRV9GTF9GSUxURVIgfCBGVFJBQ0VfRkxfTk9UUkFDRSkpIHx8CisJCSAgICAhZmwgfHwgKGZsID09IEZUUkFDRV9GTF9OT1RSQUNFKSkKKwkJCXJldHVybiAwOworCisJCS8qCisJCSAqIElmIGl0IGlzIGVuYWJsZWQgZGlzYWJsZSBpdCwKKwkJICogb3RoZXJ3aXNlIGVuYWJsZSBpdCEKKwkJICovCisJCWlmIChmbCAmIEZUUkFDRV9GTF9FTkFCTEVEKSB7CisJCQkvKiBzd2FwIG5ldyBhbmQgb2xkICovCisJCQluZXcgPSBvbGQ7CisJCQlvbGQgPSBmdHJhY2VfY2FsbF9yZXBsYWNlKGlwLCBGVFJBQ0VfQUREUik7CisJCQlyZWMtPmZsYWdzICY9IH5GVFJBQ0VfRkxfRU5BQkxFRDsKKwkJfSBlbHNlIHsKKwkJCW5ldyA9IGZ0cmFjZV9jYWxsX3JlcGxhY2UoaXAsIEZUUkFDRV9BRERSKTsKKwkJCXJlYy0+ZmxhZ3MgfD0gRlRSQUNFX0ZMX0VOQUJMRUQ7CisJCX0KKwl9IGVsc2UgeworCisJCWlmIChlbmFibGUpIHsKKwkJCS8qCisJCQkgKiBJZiB0aGlzIHJlY29yZCBpcyBzZXQgbm90IHRvIHRyYWNlIGFuZCBpcworCQkJICogbm90IGVuYWJsZWQsIGRvIG5vdGhpbmcuCisJCQkgKi8KKwkJCWZsID0gcmVjLT5mbGFncyAmIChGVFJBQ0VfRkxfTk9UUkFDRSB8IEZUUkFDRV9GTF9FTkFCTEVEKTsKKwkJCWlmIChmbCA9PSBGVFJBQ0VfRkxfTk9UUkFDRSkKKwkJCQlyZXR1cm4gMDsKKworCQkJbmV3ID0gZnRyYWNlX2NhbGxfcmVwbGFjZShpcCwgRlRSQUNFX0FERFIpOworCQl9IGVsc2UKKwkJCW9sZCA9IGZ0cmFjZV9jYWxsX3JlcGxhY2UoaXAsIEZUUkFDRV9BRERSKTsKKworCQlpZiAoZW5hYmxlKSB7CisJCQlpZiAocmVjLT5mbGFncyAmIEZUUkFDRV9GTF9FTkFCTEVEKQorCQkJCXJldHVybiAwOworCQkJcmVjLT5mbGFncyB8PSBGVFJBQ0VfRkxfRU5BQkxFRDsKKwkJfSBlbHNlIHsKKwkJCWlmICghKHJlYy0+ZmxhZ3MgJiBGVFJBQ0VfRkxfRU5BQkxFRCkpCisJCQkJcmV0dXJuIDA7CisJCQlyZWMtPmZsYWdzICY9IH5GVFJBQ0VfRkxfRU5BQkxFRDsKKwkJfQorCX0KKworCXJldHVybiBmdHJhY2VfbW9kaWZ5X2NvZGUoaXAsIG9sZCwgbmV3KTsKK30KKworc3RhdGljIHZvaWQgZnRyYWNlX3JlcGxhY2VfY29kZShpbnQgZW5hYmxlKQoreworCWludCBpLCBmYWlsZWQ7CisJdW5zaWduZWQgY2hhciAqbmV3ID0gTlVMTCwgKm9sZCA9IE5VTEw7CisJc3RydWN0IGR5bl9mdHJhY2UgKnJlYzsKKwlzdHJ1Y3QgZnRyYWNlX3BhZ2UgKnBnOworCisJaWYgKGVuYWJsZSkKKwkJb2xkID0gZnRyYWNlX25vcF9yZXBsYWNlKCk7CisJZWxzZQorCQluZXcgPSBmdHJhY2Vfbm9wX3JlcGxhY2UoKTsKKworCWZvciAocGcgPSBmdHJhY2VfcGFnZXNfc3RhcnQ7IHBnOyBwZyA9IHBnLT5uZXh0KSB7CisJCWZvciAoaSA9IDA7IGkgPCBwZy0+aW5kZXg7IGkrKykgeworCQkJcmVjID0gJnBnLT5yZWNvcmRzW2ldOworCisJCQkvKiBkb24ndCBtb2RpZnkgY29kZSB0aGF0IGhhcyBhbHJlYWR5IGZhdWx0ZWQgKi8KKwkJCWlmIChyZWMtPmZsYWdzICYgRlRSQUNFX0ZMX0ZBSUxFRCkKKwkJCQljb250aW51ZTsKKworCQkJLyogaWdub3JlIHVwZGF0ZXMgdG8gdGhpcyByZWNvcmQncyBtY291bnQgc2l0ZSAqLworCQkJaWYgKGdldF9rcHJvYmUoKHZvaWQgKilyZWMtPmlwKSkgeworCQkJCWZyZWV6ZV9yZWNvcmQocmVjKTsKKwkJCQljb250aW51ZTsKKwkJCX0gZWxzZSB7CisJCQkJdW5mcmVlemVfcmVjb3JkKHJlYyk7CisJCQl9CisKKwkJCWZhaWxlZCA9IF9fZnRyYWNlX3JlcGxhY2VfY29kZShyZWMsIG9sZCwgbmV3LCBlbmFibGUpOworCQkJaWYgKGZhaWxlZCAmJiAocmVjLT5mbGFncyAmIEZUUkFDRV9GTF9DT05WRVJURUQpKSB7CisJCQkJcmVjLT5mbGFncyB8PSBGVFJBQ0VfRkxfRkFJTEVEOworCQkJCWlmICgoc3lzdGVtX3N0YXRlID09IFNZU1RFTV9CT09USU5HKSB8fAorCQkJCSAgICAhY29yZV9rZXJuZWxfdGV4dChyZWMtPmlwKSkgeworCQkJCQlmdHJhY2VfZGVsX2hhc2gocmVjKTsKKwkJCQkJZnRyYWNlX2ZyZWVfcmVjKHJlYyk7CisJCQkJfQorCQkJfQorCQl9CisJfQorfQorCitzdGF0aWMgdm9pZCBmdHJhY2Vfc2h1dGRvd25fcmVwbGVuaXNoKHZvaWQpCit7CisJaWYgKGZ0cmFjZV9wYWdlcy0+bmV4dCkKKwkJcmV0dXJuOworCisJLyogYWxsb2NhdGUgYW5vdGhlciBwYWdlICovCisJZnRyYWNlX3BhZ2VzLT5uZXh0ID0gKHZvaWQgKilnZXRfemVyb2VkX3BhZ2UoR0ZQX0tFUk5FTCk7Cit9CisKK3N0YXRpYyBpbnQKK2Z0cmFjZV9jb2RlX2Rpc2FibGUoc3RydWN0IGR5bl9mdHJhY2UgKnJlYykKK3sKKwl1bnNpZ25lZCBsb25nIGlwOworCXVuc2lnbmVkIGNoYXIgKm5vcCwgKmNhbGw7CisJaW50IGZhaWxlZDsKKworCWlwID0gcmVjLT5pcDsKKworCW5vcCA9IGZ0cmFjZV9ub3BfcmVwbGFjZSgpOworCWNhbGwgPSBmdHJhY2VfY2FsbF9yZXBsYWNlKGlwLCBNQ09VTlRfQUREUik7CisKKwlmYWlsZWQgPSBmdHJhY2VfbW9kaWZ5X2NvZGUoaXAsIGNhbGwsIG5vcCk7CisJaWYgKGZhaWxlZCkgeworCQlyZWMtPmZsYWdzIHw9IEZUUkFDRV9GTF9GQUlMRUQ7CisJCXJldHVybiAwOworCX0KKwlyZXR1cm4gMTsKK30KKworc3RhdGljIGludCBfX2Z0cmFjZV91cGRhdGVfY29kZSh2b2lkICppZ25vcmUpOworCitzdGF0aWMgaW50IF9fZnRyYWNlX21vZGlmeV9jb2RlKHZvaWQgKmRhdGEpCit7CisJdW5zaWduZWQgbG9uZyBhZGRyOworCWludCAqY29tbWFuZCA9IGRhdGE7CisKKwlpZiAoKmNvbW1hbmQgJiBGVFJBQ0VfRU5BQkxFX0NBTExTKSB7CisJCS8qCisJCSAqIFVwZGF0ZSBhbnkgcmVjb3JkZWQgaXBzIG5vdyB0aGF0IHdlIGhhdmUgdGhlCisJCSAqIG1hY2hpbmUgc3RvcHBlZAorCQkgKi8KKwkJX19mdHJhY2VfdXBkYXRlX2NvZGUoTlVMTCk7CisJCWZ0cmFjZV9yZXBsYWNlX2NvZGUoMSk7CisJCXRyYWNpbmdfb24gPSAxOworCX0gZWxzZSBpZiAoKmNvbW1hbmQgJiBGVFJBQ0VfRElTQUJMRV9DQUxMUykgeworCQlmdHJhY2VfcmVwbGFjZV9jb2RlKDApOworCQl0cmFjaW5nX29uID0gMDsKKwl9CisKKwlpZiAoKmNvbW1hbmQgJiBGVFJBQ0VfVVBEQVRFX1RSQUNFX0ZVTkMpCisJCWZ0cmFjZV91cGRhdGVfZnRyYWNlX2Z1bmMoZnRyYWNlX3RyYWNlX2Z1bmN0aW9uKTsKKworCWlmICgqY29tbWFuZCAmIEZUUkFDRV9FTkFCTEVfTUNPVU5UKSB7CisJCWFkZHIgPSAodW5zaWduZWQgbG9uZylmdHJhY2VfcmVjb3JkX2lwOworCQlmdHJhY2VfbWNvdW50X3NldCgmYWRkcik7CisJfSBlbHNlIGlmICgqY29tbWFuZCAmIEZUUkFDRV9ESVNBQkxFX01DT1VOVCkgeworCQlhZGRyID0gKHVuc2lnbmVkIGxvbmcpZnRyYWNlX3N0dWI7CisJCWZ0cmFjZV9tY291bnRfc2V0KCZhZGRyKTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgZnRyYWNlX3J1bl91cGRhdGVfY29kZShpbnQgY29tbWFuZCkKK3sKKwlzdG9wX21hY2hpbmVfcnVuKF9fZnRyYWNlX21vZGlmeV9jb2RlLCAmY29tbWFuZCwgTlJfQ1BVUyk7Cit9CisKK3ZvaWQgZnRyYWNlX2Rpc2FibGVfZGFlbW9uKHZvaWQpCit7CisJLyogU3RvcCB0aGUgZGFlbW9uIGZyb20gY2FsbGluZyBrc3RvcF9tYWNoaW5lICovCisJbXV0ZXhfbG9jaygmZnRyYWNlZF9sb2NrKTsKKwlmdHJhY2VkX3N0b3AgPSAxOworCW11dGV4X3VubG9jaygmZnRyYWNlZF9sb2NrKTsKKworCWZ0cmFjZV9mb3JjZV91cGRhdGUoKTsKK30KKwordm9pZCBmdHJhY2VfZW5hYmxlX2RhZW1vbih2b2lkKQoreworCW11dGV4X2xvY2soJmZ0cmFjZWRfbG9jayk7CisJZnRyYWNlZF9zdG9wID0gMDsKKwltdXRleF91bmxvY2soJmZ0cmFjZWRfbG9jayk7CisKKwlmdHJhY2VfZm9yY2VfdXBkYXRlKCk7Cit9CisKK3N0YXRpYyBmdHJhY2VfZnVuY190IHNhdmVkX2Z0cmFjZV9mdW5jOworCitzdGF0aWMgdm9pZCBmdHJhY2Vfc3RhcnR1cCh2b2lkKQoreworCWludCBjb21tYW5kID0gMDsKKworCWlmICh1bmxpa2VseShmdHJhY2VfZGlzYWJsZWQpKQorCQlyZXR1cm47CisKKwltdXRleF9sb2NrKCZmdHJhY2VkX2xvY2spOworCWZ0cmFjZWRfc3VzcGVuZCsrOworCWlmIChmdHJhY2VkX3N1c3BlbmQgPT0gMSkKKwkJY29tbWFuZCB8PSBGVFJBQ0VfRU5BQkxFX0NBTExTOworCisJaWYgKHNhdmVkX2Z0cmFjZV9mdW5jICE9IGZ0cmFjZV90cmFjZV9mdW5jdGlvbikgeworCQlzYXZlZF9mdHJhY2VfZnVuYyA9IGZ0cmFjZV90cmFjZV9mdW5jdGlvbjsKKwkJY29tbWFuZCB8PSBGVFJBQ0VfVVBEQVRFX1RSQUNFX0ZVTkM7CisJfQorCisJaWYgKCFjb21tYW5kIHx8ICFmdHJhY2VfZW5hYmxlZCkKKwkJZ290byBvdXQ7CisKKwlmdHJhY2VfcnVuX3VwZGF0ZV9jb2RlKGNvbW1hbmQpOworIG91dDoKKwltdXRleF91bmxvY2soJmZ0cmFjZWRfbG9jayk7Cit9CisKK3N0YXRpYyB2b2lkIGZ0cmFjZV9zaHV0ZG93bih2b2lkKQoreworCWludCBjb21tYW5kID0gMDsKKworCWlmICh1bmxpa2VseShmdHJhY2VfZGlzYWJsZWQpKQorCQlyZXR1cm47CisKKwltdXRleF9sb2NrKCZmdHJhY2VkX2xvY2spOworCWZ0cmFjZWRfc3VzcGVuZC0tOworCWlmICghZnRyYWNlZF9zdXNwZW5kKQorCQljb21tYW5kIHw9IEZUUkFDRV9ESVNBQkxFX0NBTExTOworCisJaWYgKHNhdmVkX2Z0cmFjZV9mdW5jICE9IGZ0cmFjZV90cmFjZV9mdW5jdGlvbikgeworCQlzYXZlZF9mdHJhY2VfZnVuYyA9IGZ0cmFjZV90cmFjZV9mdW5jdGlvbjsKKwkJY29tbWFuZCB8PSBGVFJBQ0VfVVBEQVRFX1RSQUNFX0ZVTkM7CisJfQorCisJaWYgKCFjb21tYW5kIHx8ICFmdHJhY2VfZW5hYmxlZCkKKwkJZ290byBvdXQ7CisKKwlmdHJhY2VfcnVuX3VwZGF0ZV9jb2RlKGNvbW1hbmQpOworIG91dDoKKwltdXRleF91bmxvY2soJmZ0cmFjZWRfbG9jayk7Cit9CisKK3N0YXRpYyB2b2lkIGZ0cmFjZV9zdGFydHVwX3N5c2N0bCh2b2lkKQoreworCWludCBjb21tYW5kID0gRlRSQUNFX0VOQUJMRV9NQ09VTlQ7CisKKwlpZiAodW5saWtlbHkoZnRyYWNlX2Rpc2FibGVkKSkKKwkJcmV0dXJuOworCisJbXV0ZXhfbG9jaygmZnRyYWNlZF9sb2NrKTsKKwkvKiBGb3JjZSB1cGRhdGUgbmV4dCB0aW1lICovCisJc2F2ZWRfZnRyYWNlX2Z1bmMgPSBOVUxMOworCS8qIGZ0cmFjZWRfc3VzcGVuZCBpcyB0cnVlIGlmIHdlIHdhbnQgZnRyYWNlIHJ1bm5pbmcgKi8KKwlpZiAoZnRyYWNlZF9zdXNwZW5kKQorCQljb21tYW5kIHw9IEZUUkFDRV9FTkFCTEVfQ0FMTFM7CisKKwlmdHJhY2VfcnVuX3VwZGF0ZV9jb2RlKGNvbW1hbmQpOworCW11dGV4X3VubG9jaygmZnRyYWNlZF9sb2NrKTsKK30KKworc3RhdGljIHZvaWQgZnRyYWNlX3NodXRkb3duX3N5c2N0bCh2b2lkKQoreworCWludCBjb21tYW5kID0gRlRSQUNFX0RJU0FCTEVfTUNPVU5UOworCisJaWYgKHVubGlrZWx5KGZ0cmFjZV9kaXNhYmxlZCkpCisJCXJldHVybjsKKworCW11dGV4X2xvY2soJmZ0cmFjZWRfbG9jayk7CisJLyogZnRyYWNlZF9zdXNwZW5kIGlzIHRydWUgaWYgZnRyYWNlIGlzIHJ1bm5pbmcgKi8KKwlpZiAoZnRyYWNlZF9zdXNwZW5kKQorCQljb21tYW5kIHw9IEZUUkFDRV9ESVNBQkxFX0NBTExTOworCisJZnRyYWNlX3J1bl91cGRhdGVfY29kZShjb21tYW5kKTsKKwltdXRleF91bmxvY2soJmZ0cmFjZWRfbG9jayk7Cit9CisKK3N0YXRpYyBjeWNsZV90CQlmdHJhY2VfdXBkYXRlX3RpbWU7CitzdGF0aWMgdW5zaWduZWQgbG9uZwlmdHJhY2VfdXBkYXRlX2NudDsKK3Vuc2lnbmVkIGxvbmcJCWZ0cmFjZV91cGRhdGVfdG90X2NudDsKKworc3RhdGljIGludCBfX2Z0cmFjZV91cGRhdGVfY29kZSh2b2lkICppZ25vcmUpCit7CisJaW50IGksIHNhdmVfZnRyYWNlX2VuYWJsZWQ7CisJY3ljbGVfdCBzdGFydCwgc3RvcDsKKwlzdHJ1Y3QgZHluX2Z0cmFjZSAqcDsKKwlzdHJ1Y3QgaGxpc3Rfbm9kZSAqdCwgKm47CisJc3RydWN0IGhsaXN0X2hlYWQgKmhlYWQsIHRlbXBfbGlzdDsKKworCS8qIERvbid0IGJlIHJlY29yZGluZyBmdW5jcyBub3cgKi8KKwlmdHJhY2VfcmVjb3JkX3N1c3BlbmQrKzsKKwlzYXZlX2Z0cmFjZV9lbmFibGVkID0gZnRyYWNlX2VuYWJsZWQ7CisJZnRyYWNlX2VuYWJsZWQgPSAwOworCisJc3RhcnQgPSBmdHJhY2Vfbm93KHJhd19zbXBfcHJvY2Vzc29yX2lkKCkpOworCWZ0cmFjZV91cGRhdGVfY250ID0gMDsKKworCS8qIE5vIGxvY2tzIG5lZWRlZCwgdGhlIG1hY2hpbmUgaXMgc3RvcHBlZCEgKi8KKwlmb3IgKGkgPSAwOyBpIDwgRlRSQUNFX0hBU0hTSVpFOyBpKyspIHsKKwkJSU5JVF9ITElTVF9IRUFEKCZ0ZW1wX2xpc3QpOworCQloZWFkID0gJmZ0cmFjZV9oYXNoW2ldOworCisJCS8qIGFsbCBDUFVTIGFyZSBzdG9wcGVkLCB3ZSBhcmUgc2FmZSB0byBtb2RpZnkgY29kZSAqLworCQlobGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKHAsIHQsIG4sIGhlYWQsIG5vZGUpIHsKKwkJCS8qIFNraXAgb3ZlciBmYWlsZWQgcmVjb3JkcyB3aGljaCBoYXZlIG5vdCBiZWVuCisJCQkgKiBmcmVlZC4gKi8KKwkJCWlmIChwLT5mbGFncyAmIEZUUkFDRV9GTF9GQUlMRUQpCisJCQkJY29udGludWU7CisKKwkJCS8qIFVuY29udmVydGVkIHJlY29yZHMgYXJlIGFsd2F5cyBhdCB0aGUgaGVhZCBvZiB0aGUKKwkJCSAqIGhhc2ggYnVja2V0LiBPbmNlIHdlIGVuY291bnRlciBhIGNvbnZlcnRlZCByZWNvcmQsCisJCQkgKiBzaW1wbHkgc2tpcCBvdmVyIHRvIHRoZSBuZXh0IGJ1Y2tldC4gU2F2ZXMgZnRyYWNlZAorCQkJICogc29tZSBwcm9jZXNzb3IgY3ljbGVzIChmdHJhY2UgZG9lcyBpdHMgYmlkIGZvcgorCQkJICogZ2xvYmFsIHdhcm1pbmcgOi1wICkuICovCisJCQlpZiAocC0+ZmxhZ3MgJiAoRlRSQUNFX0ZMX0NPTlZFUlRFRCkpCisJCQkJYnJlYWs7CisKKwkJCS8qIElnbm9yZSB1cGRhdGVzIHRvIHRoaXMgcmVjb3JkJ3MgbWNvdW50IHNpdGUuCisJCQkgKiBSZWludHJvZHVjZSB0aGlzIHJlY29yZCBhdCB0aGUgaGVhZCBvZiB0aGlzCisJCQkgKiBidWNrZXQgdG8gYXR0ZW1wdCB0byAiY29udmVydCIgaXQgYWdhaW4gaWYKKwkJCSAqIHRoZSBrcHJvYmUgb24gaXQgaXMgdW5yZWdpc3RlcmVkIGJlZm9yZSB0aGUKKwkJCSAqIG5leHQgcnVuLiAqLworCQkJaWYgKGdldF9rcHJvYmUoKHZvaWQgKilwLT5pcCkpIHsKKwkJCQlmdHJhY2VfZGVsX2hhc2gocCk7CisJCQkJSU5JVF9ITElTVF9OT0RFKCZwLT5ub2RlKTsKKwkJCQlobGlzdF9hZGRfaGVhZCgmcC0+bm9kZSwgJnRlbXBfbGlzdCk7CisJCQkJZnJlZXplX3JlY29yZChwKTsKKwkJCQljb250aW51ZTsKKwkJCX0gZWxzZSB7CisJCQkJdW5mcmVlemVfcmVjb3JkKHApOworCQkJfQorCisJCQkvKiBjb252ZXJ0IHJlY29yZCAoaS5lLCBwYXRjaCBtY291bnQtY2FsbCB3aXRoIE5PUCkgKi8KKwkJCWlmIChmdHJhY2VfY29kZV9kaXNhYmxlKHApKSB7CisJCQkJcC0+ZmxhZ3MgfD0gRlRSQUNFX0ZMX0NPTlZFUlRFRDsKKwkJCQlmdHJhY2VfdXBkYXRlX2NudCsrOworCQkJfSBlbHNlIHsKKwkJCQlpZiAoKHN5c3RlbV9zdGF0ZSA9PSBTWVNURU1fQk9PVElORykgfHwKKwkJCQkgICAgIWNvcmVfa2VybmVsX3RleHQocC0+aXApKSB7CisJCQkJCWZ0cmFjZV9kZWxfaGFzaChwKTsKKwkJCQkJZnRyYWNlX2ZyZWVfcmVjKHApOworCQkJCX0KKwkJCX0KKwkJfQorCisJCWhsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUocCwgdCwgbiwgJnRlbXBfbGlzdCwgbm9kZSkgeworCQkJaGxpc3RfZGVsKCZwLT5ub2RlKTsKKwkJCUlOSVRfSExJU1RfTk9ERSgmcC0+bm9kZSk7CisJCQlobGlzdF9hZGRfaGVhZCgmcC0+bm9kZSwgaGVhZCk7CisJCX0KKwl9CisKKwlzdG9wID0gZnRyYWNlX25vdyhyYXdfc21wX3Byb2Nlc3Nvcl9pZCgpKTsKKwlmdHJhY2VfdXBkYXRlX3RpbWUgPSBzdG9wIC0gc3RhcnQ7CisJZnRyYWNlX3VwZGF0ZV90b3RfY250ICs9IGZ0cmFjZV91cGRhdGVfY250OworCWZ0cmFjZWRfdHJpZ2dlciA9IDA7CisKKwlmdHJhY2VfZW5hYmxlZCA9IHNhdmVfZnRyYWNlX2VuYWJsZWQ7CisJZnRyYWNlX3JlY29yZF9zdXNwZW5kLS07CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBmdHJhY2VfdXBkYXRlX2NvZGUodm9pZCkKK3sKKwlpZiAodW5saWtlbHkoZnRyYWNlX2Rpc2FibGVkKSB8fAorCSAgICAhZnRyYWNlX2VuYWJsZWQgfHwgIWZ0cmFjZWRfdHJpZ2dlcikKKwkJcmV0dXJuIDA7CisKKwlzdG9wX21hY2hpbmVfcnVuKF9fZnRyYWNlX3VwZGF0ZV9jb2RlLCBOVUxMLCBOUl9DUFVTKTsKKworCXJldHVybiAxOworfQorCitzdGF0aWMgaW50IGZ0cmFjZWQodm9pZCAqaWdub3JlKQoreworCXVuc2lnbmVkIGxvbmcgdXNlY3M7CisKKwl3aGlsZSAoIWt0aHJlYWRfc2hvdWxkX3N0b3AoKSkgeworCisJCXNldF9jdXJyZW50X3N0YXRlKFRBU0tfSU5URVJSVVBUSUJMRSk7CisKKwkJLyogY2hlY2sgb25jZSBhIHNlY29uZCAqLworCQlzY2hlZHVsZV90aW1lb3V0KEhaKTsKKworCQlpZiAodW5saWtlbHkoZnRyYWNlX2Rpc2FibGVkKSkKKwkJCWNvbnRpbnVlOworCisJCW11dGV4X2xvY2soJmZ0cmFjZV9zeXNjdGxfbG9jayk7CisJCW11dGV4X2xvY2soJmZ0cmFjZWRfbG9jayk7CisJCWlmICghZnRyYWNlZF9zdXNwZW5kICYmICFmdHJhY2VkX3N0b3AgJiYKKwkJICAgIGZ0cmFjZV91cGRhdGVfY29kZSgpKSB7CisJCQl1c2VjcyA9IG5zZWNzX3RvX3VzZWNzKGZ0cmFjZV91cGRhdGVfdGltZSk7CisJCQlpZiAoZnRyYWNlX3VwZGF0ZV90b3RfY250ID4gMTAwMDAwKSB7CisJCQkJZnRyYWNlX3VwZGF0ZV90b3RfY250ID0gMDsKKwkJCQlwcl9pbmZvKCJobSwgZGZ0cmFjZSBvdmVyZmxvdzogJWx1IGNoYW5nZSVzIgorCQkJCQkiICglbHUgdG90YWwpIGluICVsdSB1c2VjJXNcbiIsCisJCQkJCWZ0cmFjZV91cGRhdGVfY250LAorCQkJCQlmdHJhY2VfdXBkYXRlX2NudCAhPSAxID8gInMiIDogIiIsCisJCQkJCWZ0cmFjZV91cGRhdGVfdG90X2NudCwKKwkJCQkJdXNlY3MsIHVzZWNzICE9IDEgPyAicyIgOiAiIik7CisJCQkJZnRyYWNlX2Rpc2FibGVkID0gMTsKKwkJCQlXQVJOX09OX09OQ0UoMSk7CisJCQl9CisJCX0KKwkJbXV0ZXhfdW5sb2NrKCZmdHJhY2VkX2xvY2spOworCQltdXRleF91bmxvY2soJmZ0cmFjZV9zeXNjdGxfbG9jayk7CisKKwkJZnRyYWNlX3NodXRkb3duX3JlcGxlbmlzaCgpOworCX0KKwlfX3NldF9jdXJyZW50X3N0YXRlKFRBU0tfUlVOTklORyk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IGZ0cmFjZV9keW5fdGFibGVfYWxsb2Modm9pZCkKK3sKKwlzdHJ1Y3QgZnRyYWNlX3BhZ2UgKnBnOworCWludCBjbnQ7CisJaW50IGk7CisKKwkvKiBhbGxvY2F0ZSBhIGZldyBwYWdlcyAqLworCWZ0cmFjZV9wYWdlc19zdGFydCA9ICh2b2lkICopZ2V0X3plcm9lZF9wYWdlKEdGUF9LRVJORUwpOworCWlmICghZnRyYWNlX3BhZ2VzX3N0YXJ0KQorCQlyZXR1cm4gLTE7CisKKwkvKgorCSAqIEFsbG9jYXRlIGEgZmV3IG1vcmUgcGFnZXMuCisJICoKKwkgKiBUT0RPOiBoYXZlIHNvbWUgcGFyc2VyIHNlYXJjaCB2bWxpbnV4IGJlZm9yZQorCSAqICAgZmluYWwgbGlua2luZyB0byBmaW5kIGFsbCBjYWxscyB0byBmdHJhY2UuCisJICogICBUaGVuIHdlIGNhbjoKKwkgKiAgICBhKSBrbm93IGhvdyBtYW55IHBhZ2VzIHRvIGFsbG9jYXRlLgorCSAqICAgICBhbmQvb3IKKwkgKiAgICBiKSBzZXQgdXAgdGhlIHRhYmxlIHRoZW4uCisJICoKKwkgKiAgVGhlIGR5bmFtaWMgY29kZSBpcyBzdGlsbCBuZWNlc3NhcnkgZm9yCisJICogIG1vZHVsZXMuCisJICovCisKKwlwZyA9IGZ0cmFjZV9wYWdlcyA9IGZ0cmFjZV9wYWdlc19zdGFydDsKKworCWNudCA9IE5SX1RPX0lOSVQgLyBFTlRSSUVTX1BFUl9QQUdFOworCisJZm9yIChpID0gMDsgaSA8IGNudDsgaSsrKSB7CisJCXBnLT5uZXh0ID0gKHZvaWQgKilnZXRfemVyb2VkX3BhZ2UoR0ZQX0tFUk5FTCk7CisKKwkJLyogSWYgd2UgZmFpbCwgd2UnbGwgdHJ5IGxhdGVyIGFueXdheSAqLworCQlpZiAoIXBnLT5uZXh0KQorCQkJYnJlYWs7CisKKwkJcGcgPSBwZy0+bmV4dDsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworZW51bSB7CisJRlRSQUNFX0lURVJfRklMVEVSCT0gKDEgPDwgMCksCisJRlRSQUNFX0lURVJfQ09OVAk9ICgxIDw8IDEpLAorCUZUUkFDRV9JVEVSX05PVFJBQ0UJPSAoMSA8PCAyKSwKKwlGVFJBQ0VfSVRFUl9GQUlMVVJFUwk9ICgxIDw8IDMpLAorfTsKKworI2RlZmluZSBGVFJBQ0VfQlVGRl9NQVggKEtTWU1fU1lNQk9MX0xFTis0KSAvKiByb29tIGZvciB3aWxkY2FyZHMgKi8KKworc3RydWN0IGZ0cmFjZV9pdGVyYXRvciB7CisJbG9mZl90CQkJcG9zOworCXN0cnVjdCBmdHJhY2VfcGFnZQkqcGc7CisJdW5zaWduZWQJCWlkeDsKKwl1bnNpZ25lZAkJZmxhZ3M7CisJdW5zaWduZWQgY2hhcgkJYnVmZmVyW0ZUUkFDRV9CVUZGX01BWCsxXTsKKwl1bnNpZ25lZAkJYnVmZmVyX2lkeDsKKwl1bnNpZ25lZAkJZmlsdGVyZWQ7Cit9OworCitzdGF0aWMgdm9pZCAqCit0X25leHQoc3RydWN0IHNlcV9maWxlICptLCB2b2lkICp2LCBsb2ZmX3QgKnBvcykKK3sKKwlzdHJ1Y3QgZnRyYWNlX2l0ZXJhdG9yICppdGVyID0gbS0+cHJpdmF0ZTsKKwlzdHJ1Y3QgZHluX2Z0cmFjZSAqcmVjID0gTlVMTDsKKworCSgqcG9zKSsrOworCisgcmV0cnk6CisJaWYgKGl0ZXItPmlkeCA+PSBpdGVyLT5wZy0+aW5kZXgpIHsKKwkJaWYgKGl0ZXItPnBnLT5uZXh0KSB7CisJCQlpdGVyLT5wZyA9IGl0ZXItPnBnLT5uZXh0OworCQkJaXRlci0+aWR4ID0gMDsKKwkJCWdvdG8gcmV0cnk7CisJCX0KKwl9IGVsc2UgeworCQlyZWMgPSAmaXRlci0+cGctPnJlY29yZHNbaXRlci0+aWR4KytdOworCQlpZiAoKCEoaXRlci0+ZmxhZ3MgJiBGVFJBQ0VfSVRFUl9GQUlMVVJFUykgJiYKKwkJICAgICAocmVjLT5mbGFncyAmIEZUUkFDRV9GTF9GQUlMRUQpKSB8fAorCisJCSAgICAoKGl0ZXItPmZsYWdzICYgRlRSQUNFX0lURVJfRkFJTFVSRVMpICYmCisJCSAgICAgKCEocmVjLT5mbGFncyAmIEZUUkFDRV9GTF9GQUlMRUQpIHx8CisJCSAgICAgIChyZWMtPmZsYWdzICYgRlRSQUNFX0ZMX0ZSRUUpKSkgfHwKKworCQkgICAgKChpdGVyLT5mbGFncyAmIEZUUkFDRV9JVEVSX0ZJTFRFUikgJiYKKwkJICAgICAhKHJlYy0+ZmxhZ3MgJiBGVFJBQ0VfRkxfRklMVEVSKSkgfHwKKworCQkgICAgKChpdGVyLT5mbGFncyAmIEZUUkFDRV9JVEVSX05PVFJBQ0UpICYmCisJCSAgICAgIShyZWMtPmZsYWdzICYgRlRSQUNFX0ZMX05PVFJBQ0UpKSkgeworCQkJcmVjID0gTlVMTDsKKwkJCWdvdG8gcmV0cnk7CisJCX0KKwl9CisKKwlpdGVyLT5wb3MgPSAqcG9zOworCisJcmV0dXJuIHJlYzsKK30KKworc3RhdGljIHZvaWQgKnRfc3RhcnQoc3RydWN0IHNlcV9maWxlICptLCBsb2ZmX3QgKnBvcykKK3sKKwlzdHJ1Y3QgZnRyYWNlX2l0ZXJhdG9yICppdGVyID0gbS0+cHJpdmF0ZTsKKwl2b2lkICpwID0gTlVMTDsKKwlsb2ZmX3QgbCA9IC0xOworCisJaWYgKCpwb3MgIT0gaXRlci0+cG9zKSB7CisJCWZvciAocCA9IHRfbmV4dChtLCBwLCAmbCk7IHAgJiYgbCA8ICpwb3M7IHAgPSB0X25leHQobSwgcCwgJmwpKQorCQkJOworCX0gZWxzZSB7CisJCWwgPSAqcG9zOworCQlwID0gdF9uZXh0KG0sIHAsICZsKTsKKwl9CisKKwlyZXR1cm4gcDsKK30KKworc3RhdGljIHZvaWQgdF9zdG9wKHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqcCkKK3sKK30KKworc3RhdGljIGludCB0X3Nob3coc3RydWN0IHNlcV9maWxlICptLCB2b2lkICp2KQoreworCXN0cnVjdCBkeW5fZnRyYWNlICpyZWMgPSB2OworCWNoYXIgc3RyW0tTWU1fU1lNQk9MX0xFTl07CisKKwlpZiAoIXJlYykKKwkJcmV0dXJuIDA7CisKKwlrYWxsc3ltc19sb29rdXAocmVjLT5pcCwgTlVMTCwgTlVMTCwgTlVMTCwgc3RyKTsKKworCXNlcV9wcmludGYobSwgIiVzXG4iLCBzdHIpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzdHJ1Y3Qgc2VxX29wZXJhdGlvbnMgc2hvd19mdHJhY2Vfc2VxX29wcyA9IHsKKwkuc3RhcnQgPSB0X3N0YXJ0LAorCS5uZXh0ID0gdF9uZXh0LAorCS5zdG9wID0gdF9zdG9wLAorCS5zaG93ID0gdF9zaG93LAorfTsKKworc3RhdGljIGludAorZnRyYWNlX2F2YWlsX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCit7CisJc3RydWN0IGZ0cmFjZV9pdGVyYXRvciAqaXRlcjsKKwlpbnQgcmV0OworCisJaWYgKHVubGlrZWx5KGZ0cmFjZV9kaXNhYmxlZCkpCisJCXJldHVybiAtRU5PREVWOworCisJaXRlciA9IGt6YWxsb2Moc2l6ZW9mKCppdGVyKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFpdGVyKQorCQlyZXR1cm4gLUVOT01FTTsKKworCWl0ZXItPnBnID0gZnRyYWNlX3BhZ2VzX3N0YXJ0OworCWl0ZXItPnBvcyA9IC0xOworCisJcmV0ID0gc2VxX29wZW4oZmlsZSwgJnNob3dfZnRyYWNlX3NlcV9vcHMpOworCWlmICghcmV0KSB7CisJCXN0cnVjdCBzZXFfZmlsZSAqbSA9IGZpbGUtPnByaXZhdGVfZGF0YTsKKworCQltLT5wcml2YXRlID0gaXRlcjsKKwl9IGVsc2UgeworCQlrZnJlZShpdGVyKTsKKwl9CisKKwlyZXR1cm4gcmV0OworfQorCitpbnQgZnRyYWNlX2F2YWlsX3JlbGVhc2Uoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCit7CisJc3RydWN0IHNlcV9maWxlICptID0gKHN0cnVjdCBzZXFfZmlsZSAqKWZpbGUtPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3QgZnRyYWNlX2l0ZXJhdG9yICppdGVyID0gbS0+cHJpdmF0ZTsKKworCXNlcV9yZWxlYXNlKGlub2RlLCBmaWxlKTsKKwlrZnJlZShpdGVyKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50CitmdHJhY2VfZmFpbHVyZXNfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKK3sKKwlpbnQgcmV0OworCXN0cnVjdCBzZXFfZmlsZSAqbTsKKwlzdHJ1Y3QgZnRyYWNlX2l0ZXJhdG9yICppdGVyOworCisJcmV0ID0gZnRyYWNlX2F2YWlsX29wZW4oaW5vZGUsIGZpbGUpOworCWlmICghcmV0KSB7CisJCW0gPSAoc3RydWN0IHNlcV9maWxlICopZmlsZS0+cHJpdmF0ZV9kYXRhOworCQlpdGVyID0gKHN0cnVjdCBmdHJhY2VfaXRlcmF0b3IgKiltLT5wcml2YXRlOworCQlpdGVyLT5mbGFncyA9IEZUUkFDRV9JVEVSX0ZBSUxVUkVTOworCX0KKworCXJldHVybiByZXQ7Cit9CisKKworc3RhdGljIHZvaWQgZnRyYWNlX2ZpbHRlcl9yZXNldChpbnQgZW5hYmxlKQoreworCXN0cnVjdCBmdHJhY2VfcGFnZSAqcGc7CisJc3RydWN0IGR5bl9mdHJhY2UgKnJlYzsKKwl1bnNpZ25lZCBsb25nIHR5cGUgPSBlbmFibGUgPyBGVFJBQ0VfRkxfRklMVEVSIDogRlRSQUNFX0ZMX05PVFJBQ0U7CisJdW5zaWduZWQgaTsKKworCS8qIGtlZXAga3N0b3AgbWFjaGluZSBmcm9tIHJ1bm5pbmcgKi8KKwlwcmVlbXB0X2Rpc2FibGUoKTsKKwlpZiAoZW5hYmxlKQorCQlmdHJhY2VfZmlsdGVyZWQgPSAwOworCXBnID0gZnRyYWNlX3BhZ2VzX3N0YXJ0OworCXdoaWxlIChwZykgeworCQlmb3IgKGkgPSAwOyBpIDwgcGctPmluZGV4OyBpKyspIHsKKwkJCXJlYyA9ICZwZy0+cmVjb3Jkc1tpXTsKKwkJCWlmIChyZWMtPmZsYWdzICYgRlRSQUNFX0ZMX0ZBSUxFRCkKKwkJCQljb250aW51ZTsKKwkJCXJlYy0+ZmxhZ3MgJj0gfnR5cGU7CisJCX0KKwkJcGcgPSBwZy0+bmV4dDsKKwl9CisJcHJlZW1wdF9lbmFibGUoKTsKK30KKworc3RhdGljIGludAorZnRyYWNlX3JlZ2V4X29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUsIGludCBlbmFibGUpCit7CisJc3RydWN0IGZ0cmFjZV9pdGVyYXRvciAqaXRlcjsKKwlpbnQgcmV0ID0gMDsKKworCWlmICh1bmxpa2VseShmdHJhY2VfZGlzYWJsZWQpKQorCQlyZXR1cm4gLUVOT0RFVjsKKworCWl0ZXIgPSBremFsbG9jKHNpemVvZigqaXRlciksIEdGUF9LRVJORUwpOworCWlmICghaXRlcikKKwkJcmV0dXJuIC1FTk9NRU07CisKKwltdXRleF9sb2NrKCZmdHJhY2VfcmVnZXhfbG9jayk7CisJaWYgKChmaWxlLT5mX21vZGUgJiBGTU9ERV9XUklURSkgJiYKKwkgICAgIShmaWxlLT5mX2ZsYWdzICYgT19BUFBFTkQpKQorCQlmdHJhY2VfZmlsdGVyX3Jlc2V0KGVuYWJsZSk7CisKKwlpZiAoZmlsZS0+Zl9tb2RlICYgRk1PREVfUkVBRCkgeworCQlpdGVyLT5wZyA9IGZ0cmFjZV9wYWdlc19zdGFydDsKKwkJaXRlci0+cG9zID0gLTE7CisJCWl0ZXItPmZsYWdzID0gZW5hYmxlID8gRlRSQUNFX0lURVJfRklMVEVSIDoKKwkJCUZUUkFDRV9JVEVSX05PVFJBQ0U7CisKKwkJcmV0ID0gc2VxX29wZW4oZmlsZSwgJnNob3dfZnRyYWNlX3NlcV9vcHMpOworCQlpZiAoIXJldCkgeworCQkJc3RydWN0IHNlcV9maWxlICptID0gZmlsZS0+cHJpdmF0ZV9kYXRhOworCQkJbS0+cHJpdmF0ZSA9IGl0ZXI7CisJCX0gZWxzZQorCQkJa2ZyZWUoaXRlcik7CisJfSBlbHNlCisJCWZpbGUtPnByaXZhdGVfZGF0YSA9IGl0ZXI7CisJbXV0ZXhfdW5sb2NrKCZmdHJhY2VfcmVnZXhfbG9jayk7CisKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50CitmdHJhY2VfZmlsdGVyX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCit7CisJcmV0dXJuIGZ0cmFjZV9yZWdleF9vcGVuKGlub2RlLCBmaWxlLCAxKTsKK30KKworc3RhdGljIGludAorZnRyYWNlX25vdHJhY2Vfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKK3sKKwlyZXR1cm4gZnRyYWNlX3JlZ2V4X29wZW4oaW5vZGUsIGZpbGUsIDApOworfQorCitzdGF0aWMgc3NpemVfdAorZnRyYWNlX3JlZ2V4X3JlYWQoc3RydWN0IGZpbGUgKmZpbGUsIGNoYXIgX191c2VyICp1YnVmLAorCQkgICAgICAgc2l6ZV90IGNudCwgbG9mZl90ICpwcG9zKQoreworCWlmIChmaWxlLT5mX21vZGUgJiBGTU9ERV9SRUFEKQorCQlyZXR1cm4gc2VxX3JlYWQoZmlsZSwgdWJ1ZiwgY250LCBwcG9zKTsKKwllbHNlCisJCXJldHVybiAtRVBFUk07Cit9CisKK3N0YXRpYyBsb2ZmX3QKK2Z0cmFjZV9yZWdleF9sc2VlayhzdHJ1Y3QgZmlsZSAqZmlsZSwgbG9mZl90IG9mZnNldCwgaW50IG9yaWdpbikKK3sKKwlsb2ZmX3QgcmV0OworCisJaWYgKGZpbGUtPmZfbW9kZSAmIEZNT0RFX1JFQUQpCisJCXJldCA9IHNlcV9sc2VlayhmaWxlLCBvZmZzZXQsIG9yaWdpbik7CisJZWxzZQorCQlmaWxlLT5mX3BvcyA9IHJldCA9IDE7CisKKwlyZXR1cm4gcmV0OworfQorCitlbnVtIHsKKwlNQVRDSF9GVUxMLAorCU1BVENIX0ZST05UX09OTFksCisJTUFUQ0hfTUlERExFX09OTFksCisJTUFUQ0hfRU5EX09OTFksCit9OworCitzdGF0aWMgdm9pZAorZnRyYWNlX21hdGNoKHVuc2lnbmVkIGNoYXIgKmJ1ZmYsIGludCBsZW4sIGludCBlbmFibGUpCit7CisJY2hhciBzdHJbS1NZTV9TWU1CT0xfTEVOXTsKKwljaGFyICpzZWFyY2ggPSBOVUxMOworCXN0cnVjdCBmdHJhY2VfcGFnZSAqcGc7CisJc3RydWN0IGR5bl9mdHJhY2UgKnJlYzsKKwlpbnQgdHlwZSA9IE1BVENIX0ZVTEw7CisJdW5zaWduZWQgbG9uZyBmbGFnID0gZW5hYmxlID8gRlRSQUNFX0ZMX0ZJTFRFUiA6IEZUUkFDRV9GTF9OT1RSQUNFOworCXVuc2lnbmVkIGksIG1hdGNoID0gMCwgc2VhcmNoX2xlbiA9IDA7CisKKwlmb3IgKGkgPSAwOyBpIDwgbGVuOyBpKyspIHsKKwkJaWYgKGJ1ZmZbaV0gPT0gJyonKSB7CisJCQlpZiAoIWkpIHsKKwkJCQlzZWFyY2ggPSBidWZmICsgaSArIDE7CisJCQkJdHlwZSA9IE1BVENIX0VORF9PTkxZOworCQkJCXNlYXJjaF9sZW4gPSBsZW4gLSAoaSArIDEpOworCQkJfSBlbHNlIHsKKwkJCQlpZiAodHlwZSA9PSBNQVRDSF9FTkRfT05MWSkgeworCQkJCQl0eXBlID0gTUFUQ0hfTUlERExFX09OTFk7CisJCQkJfSBlbHNlIHsKKwkJCQkJbWF0Y2ggPSBpOworCQkJCQl0eXBlID0gTUFUQ0hfRlJPTlRfT05MWTsKKwkJCQl9CisJCQkJYnVmZltpXSA9IDA7CisJCQkJYnJlYWs7CisJCQl9CisJCX0KKwl9CisKKwkvKiBrZWVwIGtzdG9wIG1hY2hpbmUgZnJvbSBydW5uaW5nICovCisJcHJlZW1wdF9kaXNhYmxlKCk7CisJaWYgKGVuYWJsZSkKKwkJZnRyYWNlX2ZpbHRlcmVkID0gMTsKKwlwZyA9IGZ0cmFjZV9wYWdlc19zdGFydDsKKwl3aGlsZSAocGcpIHsKKwkJZm9yIChpID0gMDsgaSA8IHBnLT5pbmRleDsgaSsrKSB7CisJCQlpbnQgbWF0Y2hlZCA9IDA7CisJCQljaGFyICpwdHI7CisKKwkJCXJlYyA9ICZwZy0+cmVjb3Jkc1tpXTsKKwkJCWlmIChyZWMtPmZsYWdzICYgRlRSQUNFX0ZMX0ZBSUxFRCkKKwkJCQljb250aW51ZTsKKwkJCWthbGxzeW1zX2xvb2t1cChyZWMtPmlwLCBOVUxMLCBOVUxMLCBOVUxMLCBzdHIpOworCQkJc3dpdGNoICh0eXBlKSB7CisJCQljYXNlIE1BVENIX0ZVTEw6CisJCQkJaWYgKHN0cmNtcChzdHIsIGJ1ZmYpID09IDApCisJCQkJCW1hdGNoZWQgPSAxOworCQkJCWJyZWFrOworCQkJY2FzZSBNQVRDSF9GUk9OVF9PTkxZOgorCQkJCWlmIChtZW1jbXAoc3RyLCBidWZmLCBtYXRjaCkgPT0gMCkKKwkJCQkJbWF0Y2hlZCA9IDE7CisJCQkJYnJlYWs7CisJCQljYXNlIE1BVENIX01JRERMRV9PTkxZOgorCQkJCWlmIChzdHJzdHIoc3RyLCBzZWFyY2gpKQorCQkJCQltYXRjaGVkID0gMTsKKwkJCQlicmVhazsKKwkJCWNhc2UgTUFUQ0hfRU5EX09OTFk6CisJCQkJcHRyID0gc3Ryc3RyKHN0ciwgc2VhcmNoKTsKKwkJCQlpZiAocHRyICYmIChwdHJbc2VhcmNoX2xlbl0gPT0gMCkpCisJCQkJCW1hdGNoZWQgPSAxOworCQkJCWJyZWFrOworCQkJfQorCQkJaWYgKG1hdGNoZWQpCisJCQkJcmVjLT5mbGFncyB8PSBmbGFnOworCQl9CisJCXBnID0gcGctPm5leHQ7CisJfQorCXByZWVtcHRfZW5hYmxlKCk7Cit9CisKK3N0YXRpYyBzc2l6ZV90CitmdHJhY2VfcmVnZXhfd3JpdGUoc3RydWN0IGZpbGUgKmZpbGUsIGNvbnN0IGNoYXIgX191c2VyICp1YnVmLAorCQkgICBzaXplX3QgY250LCBsb2ZmX3QgKnBwb3MsIGludCBlbmFibGUpCit7CisJc3RydWN0IGZ0cmFjZV9pdGVyYXRvciAqaXRlcjsKKwljaGFyIGNoOworCXNpemVfdCByZWFkID0gMDsKKwlzc2l6ZV90IHJldDsKKworCWlmICghY250IHx8IGNudCA8IDApCisJCXJldHVybiAwOworCisJbXV0ZXhfbG9jaygmZnRyYWNlX3JlZ2V4X2xvY2spOworCisJaWYgKGZpbGUtPmZfbW9kZSAmIEZNT0RFX1JFQUQpIHsKKwkJc3RydWN0IHNlcV9maWxlICptID0gZmlsZS0+cHJpdmF0ZV9kYXRhOworCQlpdGVyID0gbS0+cHJpdmF0ZTsKKwl9IGVsc2UKKwkJaXRlciA9IGZpbGUtPnByaXZhdGVfZGF0YTsKKworCWlmICghKnBwb3MpIHsKKwkJaXRlci0+ZmxhZ3MgJj0gfkZUUkFDRV9JVEVSX0NPTlQ7CisJCWl0ZXItPmJ1ZmZlcl9pZHggPSAwOworCX0KKworCXJldCA9IGdldF91c2VyKGNoLCB1YnVmKyspOworCWlmIChyZXQpCisJCWdvdG8gb3V0OworCXJlYWQrKzsKKwljbnQtLTsKKworCWlmICghKGl0ZXItPmZsYWdzICYgfkZUUkFDRV9JVEVSX0NPTlQpKSB7CisJCS8qIHNraXAgd2hpdGUgc3BhY2UgKi8KKwkJd2hpbGUgKGNudCAmJiBpc3NwYWNlKGNoKSkgeworCQkJcmV0ID0gZ2V0X3VzZXIoY2gsIHVidWYrKyk7CisJCQlpZiAocmV0KQorCQkJCWdvdG8gb3V0OworCQkJcmVhZCsrOworCQkJY250LS07CisJCX0KKworCQlpZiAoaXNzcGFjZShjaCkpIHsKKwkJCWZpbGUtPmZfcG9zICs9IHJlYWQ7CisJCQlyZXQgPSByZWFkOworCQkJZ290byBvdXQ7CisJCX0KKworCQlpdGVyLT5idWZmZXJfaWR4ID0gMDsKKwl9CisKKwl3aGlsZSAoY250ICYmICFpc3NwYWNlKGNoKSkgeworCQlpZiAoaXRlci0+YnVmZmVyX2lkeCA8IEZUUkFDRV9CVUZGX01BWCkKKwkJCWl0ZXItPmJ1ZmZlcltpdGVyLT5idWZmZXJfaWR4KytdID0gY2g7CisJCWVsc2UgeworCQkJcmV0ID0gLUVJTlZBTDsKKwkJCWdvdG8gb3V0OworCQl9CisJCXJldCA9IGdldF91c2VyKGNoLCB1YnVmKyspOworCQlpZiAocmV0KQorCQkJZ290byBvdXQ7CisJCXJlYWQrKzsKKwkJY250LS07CisJfQorCisJaWYgKGlzc3BhY2UoY2gpKSB7CisJCWl0ZXItPmZpbHRlcmVkKys7CisJCWl0ZXItPmJ1ZmZlcltpdGVyLT5idWZmZXJfaWR4XSA9IDA7CisJCWZ0cmFjZV9tYXRjaChpdGVyLT5idWZmZXIsIGl0ZXItPmJ1ZmZlcl9pZHgsIGVuYWJsZSk7CisJCWl0ZXItPmJ1ZmZlcl9pZHggPSAwOworCX0gZWxzZQorCQlpdGVyLT5mbGFncyB8PSBGVFJBQ0VfSVRFUl9DT05UOworCisKKwlmaWxlLT5mX3BvcyArPSByZWFkOworCisJcmV0ID0gcmVhZDsKKyBvdXQ6CisJbXV0ZXhfdW5sb2NrKCZmdHJhY2VfcmVnZXhfbG9jayk7CisKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgc3NpemVfdAorZnRyYWNlX2ZpbHRlcl93cml0ZShzdHJ1Y3QgZmlsZSAqZmlsZSwgY29uc3QgY2hhciBfX3VzZXIgKnVidWYsCisJCSAgICBzaXplX3QgY250LCBsb2ZmX3QgKnBwb3MpCit7CisJcmV0dXJuIGZ0cmFjZV9yZWdleF93cml0ZShmaWxlLCB1YnVmLCBjbnQsIHBwb3MsIDEpOworfQorCitzdGF0aWMgc3NpemVfdAorZnRyYWNlX25vdHJhY2Vfd3JpdGUoc3RydWN0IGZpbGUgKmZpbGUsIGNvbnN0IGNoYXIgX191c2VyICp1YnVmLAorCQkgICAgIHNpemVfdCBjbnQsIGxvZmZfdCAqcHBvcykKK3sKKwlyZXR1cm4gZnRyYWNlX3JlZ2V4X3dyaXRlKGZpbGUsIHVidWYsIGNudCwgcHBvcywgMCk7Cit9CisKK3N0YXRpYyB2b2lkCitmdHJhY2Vfc2V0X3JlZ2V4KHVuc2lnbmVkIGNoYXIgKmJ1ZiwgaW50IGxlbiwgaW50IHJlc2V0LCBpbnQgZW5hYmxlKQoreworCWlmICh1bmxpa2VseShmdHJhY2VfZGlzYWJsZWQpKQorCQlyZXR1cm47CisKKwltdXRleF9sb2NrKCZmdHJhY2VfcmVnZXhfbG9jayk7CisJaWYgKHJlc2V0KQorCQlmdHJhY2VfZmlsdGVyX3Jlc2V0KGVuYWJsZSk7CisJaWYgKGJ1ZikKKwkJZnRyYWNlX21hdGNoKGJ1ZiwgbGVuLCBlbmFibGUpOworCW11dGV4X3VubG9jaygmZnRyYWNlX3JlZ2V4X2xvY2spOworfQorCisvKioKKyAqIGZ0cmFjZV9zZXRfZmlsdGVyIC0gc2V0IGEgZnVuY3Rpb24gdG8gZmlsdGVyIG9uIGluIGZ0cmFjZQorICogQGJ1ZiAtIHRoZSBzdHJpbmcgdGhhdCBob2xkcyB0aGUgZnVuY3Rpb24gZmlsdGVyIHRleHQuCisgKiBAbGVuIC0gdGhlIGxlbmd0aCBvZiB0aGUgc3RyaW5nLgorICogQHJlc2V0IC0gbm9uIHplcm8gdG8gcmVzZXQgYWxsIGZpbHRlcnMgYmVmb3JlIGFwcGx5aW5nIHRoaXMgZmlsdGVyLgorICoKKyAqIEZpbHRlcnMgZGVub3RlIHdoaWNoIGZ1bmN0aW9ucyBzaG91bGQgYmUgZW5hYmxlZCB3aGVuIHRyYWNpbmcgaXMgZW5hYmxlZC4KKyAqIElmIEBidWYgaXMgTlVMTCBhbmQgcmVzZXQgaXMgc2V0LCBhbGwgZnVuY3Rpb25zIHdpbGwgYmUgZW5hYmxlZCBmb3IgdHJhY2luZy4KKyAqLwordm9pZCBmdHJhY2Vfc2V0X2ZpbHRlcih1bnNpZ25lZCBjaGFyICpidWYsIGludCBsZW4sIGludCByZXNldCkKK3sKKwlmdHJhY2Vfc2V0X3JlZ2V4KGJ1ZiwgbGVuLCByZXNldCwgMSk7Cit9CisKKy8qKgorICogZnRyYWNlX3NldF9ub3RyYWNlIC0gc2V0IGEgZnVuY3Rpb24gdG8gbm90IHRyYWNlIGluIGZ0cmFjZQorICogQGJ1ZiAtIHRoZSBzdHJpbmcgdGhhdCBob2xkcyB0aGUgZnVuY3Rpb24gbm90cmFjZSB0ZXh0LgorICogQGxlbiAtIHRoZSBsZW5ndGggb2YgdGhlIHN0cmluZy4KKyAqIEByZXNldCAtIG5vbiB6ZXJvIHRvIHJlc2V0IGFsbCBmaWx0ZXJzIGJlZm9yZSBhcHBseWluZyB0aGlzIGZpbHRlci4KKyAqCisgKiBOb3RyYWNlIEZpbHRlcnMgZGVub3RlIHdoaWNoIGZ1bmN0aW9ucyBzaG91bGQgbm90IGJlIGVuYWJsZWQgd2hlbiB0cmFjaW5nCisgKiBpcyBlbmFibGVkLiBJZiBAYnVmIGlzIE5VTEwgYW5kIHJlc2V0IGlzIHNldCwgYWxsIGZ1bmN0aW9ucyB3aWxsIGJlIGVuYWJsZWQKKyAqIGZvciB0cmFjaW5nLgorICovCit2b2lkIGZ0cmFjZV9zZXRfbm90cmFjZSh1bnNpZ25lZCBjaGFyICpidWYsIGludCBsZW4sIGludCByZXNldCkKK3sKKwlmdHJhY2Vfc2V0X3JlZ2V4KGJ1ZiwgbGVuLCByZXNldCwgMCk7Cit9CisKK3N0YXRpYyBpbnQKK2Z0cmFjZV9yZWdleF9yZWxlYXNlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlLCBpbnQgZW5hYmxlKQoreworCXN0cnVjdCBzZXFfZmlsZSAqbSA9IChzdHJ1Y3Qgc2VxX2ZpbGUgKilmaWxlLT5wcml2YXRlX2RhdGE7CisJc3RydWN0IGZ0cmFjZV9pdGVyYXRvciAqaXRlcjsKKworCW11dGV4X2xvY2soJmZ0cmFjZV9yZWdleF9sb2NrKTsKKwlpZiAoZmlsZS0+Zl9tb2RlICYgRk1PREVfUkVBRCkgeworCQlpdGVyID0gbS0+cHJpdmF0ZTsKKworCQlzZXFfcmVsZWFzZShpbm9kZSwgZmlsZSk7CisJfSBlbHNlCisJCWl0ZXIgPSBmaWxlLT5wcml2YXRlX2RhdGE7CisKKwlpZiAoaXRlci0+YnVmZmVyX2lkeCkgeworCQlpdGVyLT5maWx0ZXJlZCsrOworCQlpdGVyLT5idWZmZXJbaXRlci0+YnVmZmVyX2lkeF0gPSAwOworCQlmdHJhY2VfbWF0Y2goaXRlci0+YnVmZmVyLCBpdGVyLT5idWZmZXJfaWR4LCBlbmFibGUpOworCX0KKworCW11dGV4X2xvY2soJmZ0cmFjZV9zeXNjdGxfbG9jayk7CisJbXV0ZXhfbG9jaygmZnRyYWNlZF9sb2NrKTsKKwlpZiAoaXRlci0+ZmlsdGVyZWQgJiYgZnRyYWNlZF9zdXNwZW5kICYmIGZ0cmFjZV9lbmFibGVkKQorCQlmdHJhY2VfcnVuX3VwZGF0ZV9jb2RlKEZUUkFDRV9FTkFCTEVfQ0FMTFMpOworCW11dGV4X3VubG9jaygmZnRyYWNlZF9sb2NrKTsKKwltdXRleF91bmxvY2soJmZ0cmFjZV9zeXNjdGxfbG9jayk7CisKKwlrZnJlZShpdGVyKTsKKwltdXRleF91bmxvY2soJmZ0cmFjZV9yZWdleF9sb2NrKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludAorZnRyYWNlX2ZpbHRlcl9yZWxlYXNlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQoreworCXJldHVybiBmdHJhY2VfcmVnZXhfcmVsZWFzZShpbm9kZSwgZmlsZSwgMSk7Cit9CisKK3N0YXRpYyBpbnQKK2Z0cmFjZV9ub3RyYWNlX3JlbGVhc2Uoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCit7CisJcmV0dXJuIGZ0cmFjZV9yZWdleF9yZWxlYXNlKGlub2RlLCBmaWxlLCAwKTsKK30KKworc3RhdGljIHNzaXplX3QKK2Z0cmFjZWRfcmVhZChzdHJ1Y3QgZmlsZSAqZmlscCwgY2hhciBfX3VzZXIgKnVidWYsCisJCSAgICAgc2l6ZV90IGNudCwgbG9mZl90ICpwcG9zKQoreworCS8qIGRvbid0IHdvcnJ5IGFib3V0IHJhY2VzICovCisJY2hhciAqYnVmID0gZnRyYWNlZF9zdG9wID8gImRpc2FibGVkXG4iIDogImVuYWJsZWRcbiI7CisJaW50IHIgPSBzdHJsZW4oYnVmKTsKKworCXJldHVybiBzaW1wbGVfcmVhZF9mcm9tX2J1ZmZlcih1YnVmLCBjbnQsIHBwb3MsIGJ1Ziwgcik7Cit9CisKK3N0YXRpYyBzc2l6ZV90CitmdHJhY2VkX3dyaXRlKHN0cnVjdCBmaWxlICpmaWxwLCBjb25zdCBjaGFyIF9fdXNlciAqdWJ1ZiwKKwkJICAgICAgc2l6ZV90IGNudCwgbG9mZl90ICpwcG9zKQoreworCWNoYXIgYnVmWzY0XTsKKwlsb25nIHZhbDsKKwlpbnQgcmV0OworCisJaWYgKGNudCA+PSBzaXplb2YoYnVmKSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlpZiAoY29weV9mcm9tX3VzZXIoJmJ1ZiwgdWJ1ZiwgY250KSkKKwkJcmV0dXJuIC1FRkFVTFQ7CisKKwlpZiAoc3RybmNtcChidWYsICJlbmFibGUiLCA2KSA9PSAwKQorCQl2YWwgPSAxOworCWVsc2UgaWYgKHN0cm5jbXAoYnVmLCAiZGlzYWJsZSIsIDcpID09IDApCisJCXZhbCA9IDA7CisJZWxzZSB7CisJCWJ1ZltjbnRdID0gMDsKKworCQlyZXQgPSBzdHJpY3Rfc3RydG91bChidWYsIDEwLCAmdmFsKTsKKwkJaWYgKHJldCA8IDApCisJCQlyZXR1cm4gcmV0OworCisJCXZhbCA9ICEhdmFsOworCX0KKworCWlmICh2YWwpCisJCWZ0cmFjZV9lbmFibGVfZGFlbW9uKCk7CisJZWxzZQorCQlmdHJhY2VfZGlzYWJsZV9kYWVtb24oKTsKKworCWZpbHAtPmZfcG9zICs9IGNudDsKKworCXJldHVybiBjbnQ7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIGZ0cmFjZV9hdmFpbF9mb3BzID0geworCS5vcGVuID0gZnRyYWNlX2F2YWlsX29wZW4sCisJLnJlYWQgPSBzZXFfcmVhZCwKKwkubGxzZWVrID0gc2VxX2xzZWVrLAorCS5yZWxlYXNlID0gZnRyYWNlX2F2YWlsX3JlbGVhc2UsCit9OworCitzdGF0aWMgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBmdHJhY2VfZmFpbHVyZXNfZm9wcyA9IHsKKwkub3BlbiA9IGZ0cmFjZV9mYWlsdXJlc19vcGVuLAorCS5yZWFkID0gc2VxX3JlYWQsCisJLmxsc2VlayA9IHNlcV9sc2VlaywKKwkucmVsZWFzZSA9IGZ0cmFjZV9hdmFpbF9yZWxlYXNlLAorfTsKKworc3RhdGljIHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgZnRyYWNlX2ZpbHRlcl9mb3BzID0geworCS5vcGVuID0gZnRyYWNlX2ZpbHRlcl9vcGVuLAorCS5yZWFkID0gZnRyYWNlX3JlZ2V4X3JlYWQsCisJLndyaXRlID0gZnRyYWNlX2ZpbHRlcl93cml0ZSwKKwkubGxzZWVrID0gZnRyYWNlX3JlZ2V4X2xzZWVrLAorCS5yZWxlYXNlID0gZnRyYWNlX2ZpbHRlcl9yZWxlYXNlLAorfTsKKworc3RhdGljIHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgZnRyYWNlX25vdHJhY2VfZm9wcyA9IHsKKwkub3BlbiA9IGZ0cmFjZV9ub3RyYWNlX29wZW4sCisJLnJlYWQgPSBmdHJhY2VfcmVnZXhfcmVhZCwKKwkud3JpdGUgPSBmdHJhY2Vfbm90cmFjZV93cml0ZSwKKwkubGxzZWVrID0gZnRyYWNlX3JlZ2V4X2xzZWVrLAorCS5yZWxlYXNlID0gZnRyYWNlX25vdHJhY2VfcmVsZWFzZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIGZ0cmFjZWRfZm9wcyA9IHsKKwkub3BlbiA9IHRyYWNpbmdfb3Blbl9nZW5lcmljLAorCS5yZWFkID0gZnRyYWNlZF9yZWFkLAorCS53cml0ZSA9IGZ0cmFjZWRfd3JpdGUsCit9OworCisvKioKKyAqIGZ0cmFjZV9mb3JjZV91cGRhdGUgLSBmb3JjZSBhbiB1cGRhdGUgdG8gYWxsIHJlY29yZGluZyBmdHJhY2UgZnVuY3Rpb25zCisgKi8KK2ludCBmdHJhY2VfZm9yY2VfdXBkYXRlKHZvaWQpCit7CisJaW50IHJldCA9IDA7CisKKwlpZiAodW5saWtlbHkoZnRyYWNlX2Rpc2FibGVkKSkKKwkJcmV0dXJuIC1FTk9ERVY7CisKKwltdXRleF9sb2NrKCZmdHJhY2Vfc3lzY3RsX2xvY2spOworCW11dGV4X2xvY2soJmZ0cmFjZWRfbG9jayk7CisKKwkvKgorCSAqIElmIGZ0cmFjZWRfdHJpZ2dlciBpcyBub3Qgc2V0LCB0aGVuIHRoZXJlIGlzIG5vdGhpbmcKKwkgKiB0byB1cGRhdGUuCisJICovCisJaWYgKGZ0cmFjZWRfdHJpZ2dlciAmJiAhZnRyYWNlX3VwZGF0ZV9jb2RlKCkpCisJCXJldCA9IC1FQlVTWTsKKworCW11dGV4X3VubG9jaygmZnRyYWNlZF9sb2NrKTsKKwltdXRleF91bmxvY2soJmZ0cmFjZV9zeXNjdGxfbG9jayk7CisKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgdm9pZCBmdHJhY2VfZm9yY2Vfc2h1dGRvd24odm9pZCkKK3sKKwlzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2s7CisJaW50IGNvbW1hbmQgPSBGVFJBQ0VfRElTQUJMRV9DQUxMUyB8IEZUUkFDRV9VUERBVEVfVFJBQ0VfRlVOQzsKKworCW11dGV4X2xvY2soJmZ0cmFjZWRfbG9jayk7CisJdGFzayA9IGZ0cmFjZWRfdGFzazsKKwlmdHJhY2VkX3Rhc2sgPSBOVUxMOworCWZ0cmFjZWRfc3VzcGVuZCA9IC0xOworCWZ0cmFjZV9ydW5fdXBkYXRlX2NvZGUoY29tbWFuZCk7CisJbXV0ZXhfdW5sb2NrKCZmdHJhY2VkX2xvY2spOworCisJaWYgKHRhc2spCisJCWt0aHJlYWRfc3RvcCh0YXNrKTsKK30KKworc3RhdGljIF9faW5pdCBpbnQgZnRyYWNlX2luaXRfZGVidWdmcyh2b2lkKQoreworCXN0cnVjdCBkZW50cnkgKmRfdHJhY2VyOworCXN0cnVjdCBkZW50cnkgKmVudHJ5OworCisJZF90cmFjZXIgPSB0cmFjaW5nX2luaXRfZGVudHJ5KCk7CisKKwllbnRyeSA9IGRlYnVnZnNfY3JlYXRlX2ZpbGUoImF2YWlsYWJsZV9maWx0ZXJfZnVuY3Rpb25zIiwgMDQ0NCwKKwkJCQkgICAgZF90cmFjZXIsIE5VTEwsICZmdHJhY2VfYXZhaWxfZm9wcyk7CisJaWYgKCFlbnRyeSkKKwkJcHJfd2FybmluZygiQ291bGQgbm90IGNyZWF0ZSBkZWJ1Z2ZzICIKKwkJCSAgICInYXZhaWxhYmxlX2ZpbHRlcl9mdW5jdGlvbnMnIGVudHJ5XG4iKTsKKworCWVudHJ5ID0gZGVidWdmc19jcmVhdGVfZmlsZSgiZmFpbHVyZXMiLCAwNDQ0LAorCQkJCSAgICBkX3RyYWNlciwgTlVMTCwgJmZ0cmFjZV9mYWlsdXJlc19mb3BzKTsKKwlpZiAoIWVudHJ5KQorCQlwcl93YXJuaW5nKCJDb3VsZCBub3QgY3JlYXRlIGRlYnVnZnMgJ2ZhaWx1cmVzJyBlbnRyeVxuIik7CisKKwllbnRyeSA9IGRlYnVnZnNfY3JlYXRlX2ZpbGUoInNldF9mdHJhY2VfZmlsdGVyIiwgMDY0NCwgZF90cmFjZXIsCisJCQkJICAgIE5VTEwsICZmdHJhY2VfZmlsdGVyX2ZvcHMpOworCWlmICghZW50cnkpCisJCXByX3dhcm5pbmcoIkNvdWxkIG5vdCBjcmVhdGUgZGVidWdmcyAiCisJCQkgICAiJ3NldF9mdHJhY2VfZmlsdGVyJyBlbnRyeVxuIik7CisKKwllbnRyeSA9IGRlYnVnZnNfY3JlYXRlX2ZpbGUoInNldF9mdHJhY2Vfbm90cmFjZSIsIDA2NDQsIGRfdHJhY2VyLAorCQkJCSAgICBOVUxMLCAmZnRyYWNlX25vdHJhY2VfZm9wcyk7CisJaWYgKCFlbnRyeSkKKwkJcHJfd2FybmluZygiQ291bGQgbm90IGNyZWF0ZSBkZWJ1Z2ZzICIKKwkJCSAgICInc2V0X2Z0cmFjZV9ub3RyYWNlJyBlbnRyeVxuIik7CisKKwllbnRyeSA9IGRlYnVnZnNfY3JlYXRlX2ZpbGUoImZ0cmFjZWRfZW5hYmxlZCIsIDA2NDQsIGRfdHJhY2VyLAorCQkJCSAgICBOVUxMLCAmZnRyYWNlZF9mb3BzKTsKKwlpZiAoIWVudHJ5KQorCQlwcl93YXJuaW5nKCJDb3VsZCBub3QgY3JlYXRlIGRlYnVnZnMgIgorCQkJICAgIidmdHJhY2VkX2VuYWJsZWQnIGVudHJ5XG4iKTsKKwlyZXR1cm4gMDsKK30KKworZnNfaW5pdGNhbGwoZnRyYWNlX2luaXRfZGVidWdmcyk7CisKK3N0YXRpYyBpbnQgX19pbml0IGZ0cmFjZV9keW5hbWljX2luaXQodm9pZCkKK3sKKwlzdHJ1Y3QgdGFza19zdHJ1Y3QgKnA7CisJdW5zaWduZWQgbG9uZyBhZGRyOworCWludCByZXQ7CisKKwlhZGRyID0gKHVuc2lnbmVkIGxvbmcpZnRyYWNlX3JlY29yZF9pcDsKKworCXN0b3BfbWFjaGluZV9ydW4oZnRyYWNlX2R5bl9hcmNoX2luaXQsICZhZGRyLCBOUl9DUFVTKTsKKworCS8qIGZ0cmFjZV9keW5fYXJjaF9pbml0IHBsYWNlcyB0aGUgcmV0dXJuIGNvZGUgaW4gYWRkciAqLworCWlmIChhZGRyKSB7CisJCXJldCA9IChpbnQpYWRkcjsKKwkJZ290byBmYWlsZWQ7CisJfQorCisJcmV0ID0gZnRyYWNlX2R5bl90YWJsZV9hbGxvYygpOworCWlmIChyZXQpCisJCWdvdG8gZmFpbGVkOworCisJcCA9IGt0aHJlYWRfcnVuKGZ0cmFjZWQsIE5VTEwsICJmdHJhY2VkIik7CisJaWYgKElTX0VSUihwKSkgeworCQlyZXQgPSAtMTsKKwkJZ290byBmYWlsZWQ7CisJfQorCisJbGFzdF9mdHJhY2VfZW5hYmxlZCA9IGZ0cmFjZV9lbmFibGVkID0gMTsKKwlmdHJhY2VkX3Rhc2sgPSBwOworCisJcmV0dXJuIDA7CisKKyBmYWlsZWQ6CisJZnRyYWNlX2Rpc2FibGVkID0gMTsKKwlyZXR1cm4gcmV0OworfQorCitjb3JlX2luaXRjYWxsKGZ0cmFjZV9keW5hbWljX2luaXQpOworI2Vsc2UKKyMgZGVmaW5lIGZ0cmFjZV9zdGFydHVwKCkJCWRvIHsgfSB3aGlsZSAoMCkKKyMgZGVmaW5lIGZ0cmFjZV9zaHV0ZG93bigpCQlkbyB7IH0gd2hpbGUgKDApCisjIGRlZmluZSBmdHJhY2Vfc3RhcnR1cF9zeXNjdGwoKQlkbyB7IH0gd2hpbGUgKDApCisjIGRlZmluZSBmdHJhY2Vfc2h1dGRvd25fc3lzY3RsKCkJZG8geyB9IHdoaWxlICgwKQorIyBkZWZpbmUgZnRyYWNlX2ZvcmNlX3NodXRkb3duKCkJZG8geyB9IHdoaWxlICgwKQorI2VuZGlmIC8qIENPTkZJR19EWU5BTUlDX0ZUUkFDRSAqLworCisvKioKKyAqIGZ0cmFjZV9raWxsX2F0b21pYyAtIGtpbGwgZnRyYWNlIGZyb20gY3JpdGljYWwgc2VjdGlvbnMKKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHNob3VsZCBiZSB1c2VkIGJ5IHBhbmljIGNvZGUuIEl0IHN0b3BzIGZ0cmFjZQorICogYnV0IGluIGEgbm90IHNvIG5pY2Ugd2F5LiBJZiB5b3UgbmVlZCB0byBzaW1wbHkga2lsbCBmdHJhY2UKKyAqIGZyb20gYSBub24tYXRvbWljIHNlY3Rpb24sIHVzZSBmdHJhY2Vfa2lsbC4KKyAqLwordm9pZCBmdHJhY2Vfa2lsbF9hdG9taWModm9pZCkKK3sKKwlmdHJhY2VfZGlzYWJsZWQgPSAxOworCWZ0cmFjZV9lbmFibGVkID0gMDsKKyNpZmRlZiBDT05GSUdfRFlOQU1JQ19GVFJBQ0UKKwlmdHJhY2VkX3N1c3BlbmQgPSAtMTsKKyNlbmRpZgorCWNsZWFyX2Z0cmFjZV9mdW5jdGlvbigpOworfQorCisvKioKKyAqIGZ0cmFjZV9raWxsIC0gdG90YWxseSBzaHV0ZG93biBmdHJhY2UKKyAqCisgKiBUaGlzIGlzIGEgc2FmZXR5IG1lYXN1cmUuIElmIHNvbWV0aGluZyB3YXMgZGV0ZWN0ZWQgdGhhdCBzZWVtcworICogd3JvbmcsIGNhbGxpbmcgdGhpcyBmdW5jdGlvbiB3aWxsIGtlZXAgZnRyYWNlIGZyb20gZG9pbmcKKyAqIGFueSBtb3JlIG1vZGlmaWNhdGlvbnMsIGFuZCB1cGRhdGVzLgorICogdXNlZCB3aGVuIHNvbWV0aGluZyB3ZW50IHdyb25nLgorICovCit2b2lkIGZ0cmFjZV9raWxsKHZvaWQpCit7CisJbXV0ZXhfbG9jaygmZnRyYWNlX3N5c2N0bF9sb2NrKTsKKwlmdHJhY2VfZGlzYWJsZWQgPSAxOworCWZ0cmFjZV9lbmFibGVkID0gMDsKKworCWNsZWFyX2Z0cmFjZV9mdW5jdGlvbigpOworCW11dGV4X3VubG9jaygmZnRyYWNlX3N5c2N0bF9sb2NrKTsKKworCS8qIFRyeSB0byB0b3RhbGx5IGRpc2FibGUgZnRyYWNlICovCisJZnRyYWNlX2ZvcmNlX3NodXRkb3duKCk7Cit9CisKKy8qKgorICogcmVnaXN0ZXJfZnRyYWNlX2Z1bmN0aW9uIC0gcmVnaXN0ZXIgYSBmdW5jdGlvbiBmb3IgcHJvZmlsaW5nCisgKiBAb3BzIC0gb3BzIHN0cnVjdHVyZSB0aGF0IGhvbGRzIHRoZSBmdW5jdGlvbiBmb3IgcHJvZmlsaW5nLgorICoKKyAqIFJlZ2lzdGVyIGEgZnVuY3Rpb24gdG8gYmUgY2FsbGVkIGJ5IGFsbCBmdW5jdGlvbnMgaW4gdGhlCisgKiBrZXJuZWwuCisgKgorICogTm90ZTogQG9wcy0+ZnVuYyBhbmQgYWxsIHRoZSBmdW5jdGlvbnMgaXQgY2FsbHMgbXVzdCBiZSBsYWJlbGVkCisgKiAgICAgICB3aXRoICJub3RyYWNlIiwgb3RoZXJ3aXNlIGl0IHdpbGwgZ28gaW50byBhCisgKiAgICAgICByZWN1cnNpdmUgbG9vcC4KKyAqLworaW50IHJlZ2lzdGVyX2Z0cmFjZV9mdW5jdGlvbihzdHJ1Y3QgZnRyYWNlX29wcyAqb3BzKQoreworCWludCByZXQ7CisKKwlpZiAodW5saWtlbHkoZnRyYWNlX2Rpc2FibGVkKSkKKwkJcmV0dXJuIC0xOworCisJbXV0ZXhfbG9jaygmZnRyYWNlX3N5c2N0bF9sb2NrKTsKKwlyZXQgPSBfX3JlZ2lzdGVyX2Z0cmFjZV9mdW5jdGlvbihvcHMpOworCWZ0cmFjZV9zdGFydHVwKCk7CisJbXV0ZXhfdW5sb2NrKCZmdHJhY2Vfc3lzY3RsX2xvY2spOworCisJcmV0dXJuIHJldDsKK30KKworLyoqCisgKiB1bnJlZ2lzdGVyX2Z0cmFjZV9mdW5jdGlvbiAtIHVucmVzZ2lzdGVyIGEgZnVuY3Rpb24gZm9yIHByb2ZpbGluZy4KKyAqIEBvcHMgLSBvcHMgc3RydWN0dXJlIHRoYXQgaG9sZHMgdGhlIGZ1bmN0aW9uIHRvIHVucmVnaXN0ZXIKKyAqCisgKiBVbnJlZ2lzdGVyIGEgZnVuY3Rpb24gdGhhdCB3YXMgYWRkZWQgdG8gYmUgY2FsbGVkIGJ5IGZ0cmFjZSBwcm9maWxpbmcuCisgKi8KK2ludCB1bnJlZ2lzdGVyX2Z0cmFjZV9mdW5jdGlvbihzdHJ1Y3QgZnRyYWNlX29wcyAqb3BzKQoreworCWludCByZXQ7CisKKwltdXRleF9sb2NrKCZmdHJhY2Vfc3lzY3RsX2xvY2spOworCXJldCA9IF9fdW5yZWdpc3Rlcl9mdHJhY2VfZnVuY3Rpb24ob3BzKTsKKwlmdHJhY2Vfc2h1dGRvd24oKTsKKwltdXRleF91bmxvY2soJmZ0cmFjZV9zeXNjdGxfbG9jayk7CisKKwlyZXR1cm4gcmV0OworfQorCitpbnQKK2Z0cmFjZV9lbmFibGVfc3lzY3RsKHN0cnVjdCBjdGxfdGFibGUgKnRhYmxlLCBpbnQgd3JpdGUsCisJCSAgICAgc3RydWN0IGZpbGUgKmZpbGUsIHZvaWQgX191c2VyICpidWZmZXIsIHNpemVfdCAqbGVucCwKKwkJICAgICBsb2ZmX3QgKnBwb3MpCit7CisJaW50IHJldDsKKworCWlmICh1bmxpa2VseShmdHJhY2VfZGlzYWJsZWQpKQorCQlyZXR1cm4gLUVOT0RFVjsKKworCW11dGV4X2xvY2soJmZ0cmFjZV9zeXNjdGxfbG9jayk7CisKKwlyZXQgID0gcHJvY19kb2ludHZlYyh0YWJsZSwgd3JpdGUsIGZpbGUsIGJ1ZmZlciwgbGVucCwgcHBvcyk7CisKKwlpZiAocmV0IHx8ICF3cml0ZSB8fCAobGFzdF9mdHJhY2VfZW5hYmxlZCA9PSBmdHJhY2VfZW5hYmxlZCkpCisJCWdvdG8gb3V0OworCisJbGFzdF9mdHJhY2VfZW5hYmxlZCA9IGZ0cmFjZV9lbmFibGVkOworCisJaWYgKGZ0cmFjZV9lbmFibGVkKSB7CisKKwkJZnRyYWNlX3N0YXJ0dXBfc3lzY3RsKCk7CisKKwkJLyogd2UgYXJlIHN0YXJ0aW5nIGZ0cmFjZSBhZ2FpbiAqLworCQlpZiAoZnRyYWNlX2xpc3QgIT0gJmZ0cmFjZV9saXN0X2VuZCkgeworCQkJaWYgKGZ0cmFjZV9saXN0LT5uZXh0ID09ICZmdHJhY2VfbGlzdF9lbmQpCisJCQkJZnRyYWNlX3RyYWNlX2Z1bmN0aW9uID0gZnRyYWNlX2xpc3QtPmZ1bmM7CisJCQllbHNlCisJCQkJZnRyYWNlX3RyYWNlX2Z1bmN0aW9uID0gZnRyYWNlX2xpc3RfZnVuYzsKKwkJfQorCisJfSBlbHNlIHsKKwkJLyogc3RvcHBpbmcgZnRyYWNlIGNhbGxzIChqdXN0IHNlbmQgdG8gZnRyYWNlX3N0dWIpICovCisJCWZ0cmFjZV90cmFjZV9mdW5jdGlvbiA9IGZ0cmFjZV9zdHViOworCisJCWZ0cmFjZV9zaHV0ZG93bl9zeXNjdGwoKTsKKwl9CisKKyBvdXQ6CisJbXV0ZXhfdW5sb2NrKCZmdHJhY2Vfc3lzY3RsX2xvY2spOworCXJldHVybiByZXQ7Cit9CmRpZmYgLS1naXQgYS9rZXJuZWwvdHJhY2UvdHJhY2UuYyBiL2tlcm5lbC90cmFjZS90cmFjZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg2OGUxMjEKLS0tIC9kZXYvbnVsbAorKysgYi9rZXJuZWwvdHJhY2UvdHJhY2UuYwpAQCAtMCwwICsxLDMxNjEgQEAKKy8qCisgKiByaW5nIGJ1ZmZlciBiYXNlZCBmdW5jdGlvbiB0cmFjZXIKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDctMjAwOCBTdGV2ZW4gUm9zdGVkdCA8c3Jvc3RlZHRAcmVkaGF0LmNvbT4KKyAqIENvcHlyaWdodCAoQykgMjAwOCBJbmdvIE1vbG5hciA8bWluZ29AcmVkaGF0LmNvbT4KKyAqCisgKiBPcmlnaW5hbGx5IHRha2VuIGZyb20gdGhlIFJUIHBhdGNoIGJ5OgorICogICAgQXJuYWxkbyBDYXJ2YWxobyBkZSBNZWxvIDxhY21lQHJlZGhhdC5jb20+CisgKgorICogQmFzZWQgb24gY29kZSBmcm9tIHRoZSBsYXRlbmN5X3RyYWNlciwgdGhhdCBpczoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDQtMjAwNiBJbmdvIE1vbG5hcgorICogIENvcHlyaWdodCAoQykgMjAwNCBXaWxsaWFtIExlZSBJcndpbiBJSUkKKyAqLworI2luY2x1ZGUgPGxpbnV4L3V0c3JlbGVhc2UuaD4KKyNpbmNsdWRlIDxsaW51eC9rYWxsc3ltcy5oPgorI2luY2x1ZGUgPGxpbnV4L3NlcV9maWxlLmg+CisjaW5jbHVkZSA8bGludXgvZGVidWdmcy5oPgorI2luY2x1ZGUgPGxpbnV4L3BhZ2VtYXAuaD4KKyNpbmNsdWRlIDxsaW51eC9oYXJkaXJxLmg+CisjaW5jbHVkZSA8bGludXgvbGlua2FnZS5oPgorI2luY2x1ZGUgPGxpbnV4L3VhY2Nlc3MuaD4KKyNpbmNsdWRlIDxsaW51eC9mdHJhY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9wZXJjcHUuaD4KKyNpbmNsdWRlIDxsaW51eC9jdHlwZS5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9wb2xsLmg+CisjaW5jbHVkZSA8bGludXgvZ2ZwLmg+CisjaW5jbHVkZSA8bGludXgvZnMuaD4KKyNpbmNsdWRlIDxsaW51eC9rcHJvYmVzLmg+CisjaW5jbHVkZSA8bGludXgvd3JpdGViYWNrLmg+CisKKyNpbmNsdWRlIDxsaW51eC9zdGFja3RyYWNlLmg+CisKKyNpbmNsdWRlICJ0cmFjZS5oIgorCit1bnNpZ25lZCBsb25nIF9fcmVhZF9tb3N0bHkJdHJhY2luZ19tYXhfbGF0ZW5jeSA9IChjeWNsZV90KVVMT05HX01BWDsKK3Vuc2lnbmVkIGxvbmcgX19yZWFkX21vc3RseQl0cmFjaW5nX3RocmVzaDsKKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX19yZWFkX21vc3RseQl0cmFjaW5nX25yX2J1ZmZlcnM7CitzdGF0aWMgY3B1bWFza190IF9fcmVhZF9tb3N0bHkJCXRyYWNpbmdfYnVmZmVyX21hc2s7CisKKyNkZWZpbmUgZm9yX2VhY2hfdHJhY2luZ19jcHUoY3B1KQlcCisJZm9yX2VhY2hfY3B1X21hc2soY3B1LCB0cmFjaW5nX2J1ZmZlcl9tYXNrKQorCitzdGF0aWMgaW50IHRyYWNlX2FsbG9jX3BhZ2Uodm9pZCk7CitzdGF0aWMgaW50IHRyYWNlX2ZyZWVfcGFnZSh2b2lkKTsKKworc3RhdGljIGludCB0cmFjaW5nX2Rpc2FibGVkID0gMTsKKworc3RhdGljIHVuc2lnbmVkIGxvbmcgdHJhY2luZ19wYWdlc19hbGxvY2F0ZWQ7CisKK2xvbmcKK25zMnVzZWNzKGN5Y2xlX3QgbnNlYykKK3sKKwluc2VjICs9IDUwMDsKKwlkb19kaXYobnNlYywgMTAwMCk7CisJcmV0dXJuIG5zZWM7Cit9CisKK2N5Y2xlX3QgZnRyYWNlX25vdyhpbnQgY3B1KQoreworCXJldHVybiBjcHVfY2xvY2soY3B1KTsKK30KKworLyoKKyAqIFRoZSBnbG9iYWxfdHJhY2UgaXMgdGhlIGRlc2NyaXB0b3IgdGhhdCBob2xkcyB0aGUgdHJhY2luZworICogYnVmZmVycyBmb3IgdGhlIGxpdmUgdHJhY2luZy4gRm9yIGVhY2ggQ1BVLCBpdCBjb250YWlucworICogYSBsaW5rIGxpc3Qgb2YgcGFnZXMgdGhhdCB3aWxsIHN0b3JlIHRyYWNlIGVudHJpZXMuIFRoZQorICogcGFnZSBkZXNjcmlwdG9yIG9mIHRoZSBwYWdlcyBpbiB0aGUgbWVtb3J5IGlzIHVzZWQgdG8gaG9sZAorICogdGhlIGxpbmsgbGlzdCBieSBsaW5raW5nIHRoZSBscnUgaXRlbSBpbiB0aGUgcGFnZSBkZXNjcmlwdG9yCisgKiB0byBlYWNoIG9mIHRoZSBwYWdlcyBpbiB0aGUgYnVmZmVyIHBlciBDUFUuCisgKgorICogRm9yIGVhY2ggYWN0aXZlIENQVSB0aGVyZSBpcyBhIGRhdGEgZmllbGQgdGhhdCBob2xkcyB0aGUKKyAqIHBhZ2VzIGZvciB0aGUgYnVmZmVyIGZvciB0aGF0IENQVS4gRWFjaCBDUFUgaGFzIHRoZSBzYW1lIG51bWJlcgorICogb2YgcGFnZXMgYWxsb2NhdGVkIGZvciBpdHMgYnVmZmVyLgorICovCitzdGF0aWMgc3RydWN0IHRyYWNlX2FycmF5CWdsb2JhbF90cmFjZTsKKworc3RhdGljIERFRklORV9QRVJfQ1BVKHN0cnVjdCB0cmFjZV9hcnJheV9jcHUsIGdsb2JhbF90cmFjZV9jcHUpOworCisvKgorICogVGhlIG1heF90ciBpcyB1c2VkIHRvIHNuYXBzaG90IHRoZSBnbG9iYWxfdHJhY2Ugd2hlbiBhIG1heGltdW0KKyAqIGxhdGVuY3kgaXMgcmVhY2hlZC4gU29tZSB0cmFjZXJzIHdpbGwgdXNlIHRoaXMgdG8gc3RvcmUgYSBtYXhpbXVtCisgKiB0cmFjZSB3aGlsZSBpdCBjb250aW51ZXMgZXhhbWluaW5nIGxpdmUgdHJhY2VzLgorICoKKyAqIFRoZSBidWZmZXJzIGZvciB0aGUgbWF4X3RyIGFyZSBzZXQgdXAgdGhlIHNhbWUgYXMgdGhlIGdsb2JhbF90cmFjZS4KKyAqIFdoZW4gYSBzbmFwc2hvdCBpcyB0YWtlbiwgdGhlIGxpbmsgbGlzdCBvZiB0aGUgbWF4X3RyIGlzIHN3YXBwZWQKKyAqIHdpdGggdGhlIGxpbmsgbGlzdCBvZiB0aGUgZ2xvYmFsX3RyYWNlIGFuZCB0aGUgYnVmZmVycyBhcmUgcmVzZXQgZm9yCisgKiB0aGUgZ2xvYmFsX3RyYWNlIHNvIHRoZSB0cmFjaW5nIGNhbiBjb250aW51ZS4KKyAqLworc3RhdGljIHN0cnVjdCB0cmFjZV9hcnJheQltYXhfdHI7CisKK3N0YXRpYyBERUZJTkVfUEVSX0NQVShzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1LCBtYXhfZGF0YSk7CisKKy8qIHRyYWNlcl9lbmFibGVkIGlzIHVzZWQgdG8gdG9nZ2xlIGFjdGl2YXRpb24gb2YgYSB0cmFjZXIgKi8KK3N0YXRpYyBpbnQJCQl0cmFjZXJfZW5hYmxlZCA9IDE7CisKKy8qIGZ1bmN0aW9uIHRyYWNpbmcgZW5hYmxlZCAqLworaW50CQkJCWZ0cmFjZV9mdW5jdGlvbl9lbmFibGVkOworCisvKgorICogdHJhY2VfbnJfZW50cmllcyBpcyB0aGUgbnVtYmVyIG9mIGVudHJpZXMgdGhhdCBpcyBhbGxvY2F0ZWQKKyAqIGZvciBhIGJ1ZmZlci4gTm90ZSwgdGhlIG51bWJlciBvZiBlbnRyaWVzIGlzIGFsd2F5cyByb3VuZGVkCisgKiB0byBFTlRSSUVTX1BFUl9QQUdFLgorICovCitzdGF0aWMgdW5zaWduZWQgbG9uZwkJdHJhY2VfbnJfZW50cmllcyA9IDY1NTM2VUw7CisKKy8qIHRyYWNlX3R5cGVzIGhvbGRzIGEgbGluayBsaXN0IG9mIGF2YWlsYWJsZSB0cmFjZXJzLiAqLworc3RhdGljIHN0cnVjdCB0cmFjZXIJCSp0cmFjZV90eXBlcyBfX3JlYWRfbW9zdGx5OworCisvKiBjdXJyZW50X3RyYWNlIHBvaW50cyB0byB0aGUgdHJhY2VyIHRoYXQgaXMgY3VycmVudGx5IGFjdGl2ZSAqLworc3RhdGljIHN0cnVjdCB0cmFjZXIJCSpjdXJyZW50X3RyYWNlIF9fcmVhZF9tb3N0bHk7CisKKy8qCisgKiBtYXhfdHJhY2VyX3R5cGVfbGVuIGlzIHVzZWQgdG8gc2ltcGxpZnkgdGhlIGFsbG9jYXRpbmcgb2YKKyAqIGJ1ZmZlcnMgdG8gcmVhZCB1c2Vyc3BhY2UgdHJhY2VyIG5hbWVzLiBXZSBrZWVwIHRyYWNrIG9mCisgKiB0aGUgbG9uZ2VzdCB0cmFjZXIgbmFtZSByZWdpc3RlcmVkLgorICovCitzdGF0aWMgaW50CQkJbWF4X3RyYWNlcl90eXBlX2xlbjsKKworLyoKKyAqIHRyYWNlX3R5cGVzX2xvY2sgaXMgdXNlZCB0byBwcm90ZWN0IHRoZSB0cmFjZV90eXBlcyBsaXN0LgorICogVGhpcyBsb2NrIGlzIGFsc28gdXNlZCB0byBrZWVwIHVzZXIgYWNjZXNzIHNlcmlhbGl6ZWQuCisgKiBBY2Nlc3NlcyBmcm9tIHVzZXJzcGFjZSB3aWxsIGdyYWIgdGhpcyBsb2NrIHdoaWxlIHVzZXJzcGFjZQorICogYWN0aXZpdGllcyBoYXBwZW4gaW5zaWRlIHRoZSBrZXJuZWwuCisgKi8KK3N0YXRpYyBERUZJTkVfTVVURVgodHJhY2VfdHlwZXNfbG9jayk7CisKKy8qIHRyYWNlX3dhaXQgaXMgYSB3YWl0cXVldWUgZm9yIHRhc2tzIGJsb2NrZWQgb24gdHJhY2VfcG9sbCAqLworc3RhdGljIERFQ0xBUkVfV0FJVF9RVUVVRV9IRUFEKHRyYWNlX3dhaXQpOworCisvKiB0cmFjZV9mbGFncyBob2xkcyBpdGVyX2N0cmwgb3B0aW9ucyAqLwordW5zaWduZWQgbG9uZyB0cmFjZV9mbGFncyA9IFRSQUNFX0lURVJfUFJJTlRfUEFSRU5UOworCitzdGF0aWMgbm90cmFjZSB2b2lkIG5vX3RyYWNlX2luaXQoc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwlpbnQgY3B1OworCisJZnRyYWNlX2Z1bmN0aW9uX2VuYWJsZWQgPSAwOworCWlmKHRyLT5jdHJsKQorCQlmb3JfZWFjaF9vbmxpbmVfY3B1KGNwdSkKKwkJCXRyYWNpbmdfcmVzZXQodHItPmRhdGFbY3B1XSk7CisJdHJhY2VyX2VuYWJsZWQgPSAwOworfQorCisvKiBkdW1teSB0cmFjZSB0byBkaXNhYmxlIHRyYWNpbmcgKi8KK3N0YXRpYyBzdHJ1Y3QgdHJhY2VyIG5vX3RyYWNlciBfX3JlYWRfbW9zdGx5ID0geworCS5uYW1lCQk9ICJub25lIiwKKwkuaW5pdAkJPSBub190cmFjZV9pbml0Cit9OworCisKKy8qKgorICogdHJhY2Vfd2FrZV91cCAtIHdha2UgdXAgdGFza3Mgd2FpdGluZyBmb3IgdHJhY2UgaW5wdXQKKyAqCisgKiBTaW1wbHkgd2FrZXMgdXAgYW55IHRhc2sgdGhhdCBpcyBibG9ja2VkIG9uIHRoZSB0cmFjZV93YWl0CisgKiBxdWV1ZS4gVGhlc2UgaXMgdXNlZCB3aXRoIHRyYWNlX3BvbGwgZm9yIHRhc2tzIHBvbGxpbmcgdGhlIHRyYWNlLgorICovCit2b2lkIHRyYWNlX3dha2VfdXAodm9pZCkKK3sKKwkvKgorCSAqIFRoZSBydW5xdWV1ZV9pc19sb2NrZWQoKSBjYW4gZmFpbCwgYnV0IHRoaXMgaXMgdGhlIGJlc3Qgd2UKKwkgKiBoYXZlIGZvciBub3c6CisJICovCisJaWYgKCEodHJhY2VfZmxhZ3MgJiBUUkFDRV9JVEVSX0JMT0NLKSAmJiAhcnVucXVldWVfaXNfbG9ja2VkKCkpCisJCXdha2VfdXAoJnRyYWNlX3dhaXQpOworfQorCisjZGVmaW5lIEVOVFJJRVNfUEVSX1BBR0UgKFBBR0VfU0laRSAvIHNpemVvZihzdHJ1Y3QgdHJhY2VfZW50cnkpKQorCitzdGF0aWMgaW50IF9faW5pdCBzZXRfbnJfZW50cmllcyhjaGFyICpzdHIpCit7CisJdW5zaWduZWQgbG9uZyBucl9lbnRyaWVzOworCWludCByZXQ7CisKKwlpZiAoIXN0cikKKwkJcmV0dXJuIDA7CisJcmV0ID0gc3RyaWN0X3N0cnRvdWwoc3RyLCAwLCAmbnJfZW50cmllcyk7CisJLyogbnJfZW50cmllcyBjYW4gbm90IGJlIHplcm8gKi8KKwlpZiAocmV0IDwgMCB8fCBucl9lbnRyaWVzID09IDApCisJCXJldHVybiAwOworCXRyYWNlX25yX2VudHJpZXMgPSBucl9lbnRyaWVzOworCXJldHVybiAxOworfQorX19zZXR1cCgidHJhY2VfZW50cmllcz0iLCBzZXRfbnJfZW50cmllcyk7CisKK3Vuc2lnbmVkIGxvbmcgbnNlY3NfdG9fdXNlY3ModW5zaWduZWQgbG9uZyBuc2VjcykKK3sKKwlyZXR1cm4gbnNlY3MgLyAxMDAwOworfQorCisvKgorICogdHJhY2VfZmxhZ190eXBlIGlzIGFuIGVudW1lcmF0aW9uIHRoYXQgaG9sZHMgZGlmZmVyZW50CisgKiBzdGF0ZXMgd2hlbiBhIHRyYWNlIG9jY3Vycy4gVGhlc2UgYXJlOgorICogIElSUVNfT0ZGCS0gaW50ZXJydXB0cyB3ZXJlIGRpc2FibGVkCisgKiAgTkVFRF9SRVNDRUQgLSByZXNjaGVkdWxlIGlzIHJlcXVlc3RlZAorICogIEhBUkRJUlEJLSBpbnNpZGUgYW4gaW50ZXJydXB0IGhhbmRsZXIKKyAqICBTT0ZUSVJRCS0gaW5zaWRlIGEgc29mdGlycSBoYW5kbGVyCisgKi8KK2VudW0gdHJhY2VfZmxhZ190eXBlIHsKKwlUUkFDRV9GTEFHX0lSUVNfT0ZGCQk9IDB4MDEsCisJVFJBQ0VfRkxBR19ORUVEX1JFU0NIRUQJCT0gMHgwMiwKKwlUUkFDRV9GTEFHX0hBUkRJUlEJCT0gMHgwNCwKKwlUUkFDRV9GTEFHX1NPRlRJUlEJCT0gMHgwOCwKK307CisKKy8qCisgKiBUUkFDRV9JVEVSX1NZTV9NQVNLIG1hc2tzIHRoZSBvcHRpb25zIGluIHRyYWNlX2ZsYWdzIHRoYXQKKyAqIGNvbnRyb2wgdGhlIG91dHB1dCBvZiBrZXJuZWwgc3ltYm9scy4KKyAqLworI2RlZmluZSBUUkFDRV9JVEVSX1NZTV9NQVNLIFwKKwkoVFJBQ0VfSVRFUl9QUklOVF9QQVJFTlR8VFJBQ0VfSVRFUl9TWU1fT0ZGU0VUfFRSQUNFX0lURVJfU1lNX0FERFIpCisKKy8qIFRoZXNlIG11c3QgbWF0Y2ggdGhlIGJpdCBwb3N0aW9ucyBpbiB0cmFjZV9pdGVyYXRvcl9mbGFncyAqLworc3RhdGljIGNvbnN0IGNoYXIgKnRyYWNlX29wdGlvbnNbXSA9IHsKKwkicHJpbnQtcGFyZW50IiwKKwkic3ltLW9mZnNldCIsCisJInN5bS1hZGRyIiwKKwkidmVyYm9zZSIsCisJInJhdyIsCisJImhleCIsCisJImJpbiIsCisJImJsb2NrIiwKKwkic3RhY2t0cmFjZSIsCisJInNjaGVkLXRyZWUiLAorCU5VTEwKK307CisKKy8qCisgKiBmdHJhY2VfbWF4X2xvY2sgaXMgdXNlZCB0byBwcm90ZWN0IHRoZSBzd2FwcGluZyBvZiBidWZmZXJzCisgKiB3aGVuIHRha2luZyBhIG1heCBzbmFwc2hvdC4gVGhlIGJ1ZmZlcnMgdGhlbXNlbHZlcyBhcmUKKyAqIHByb3RlY3RlZCBieSBwZXJfY3B1IHNwaW5sb2Nrcy4gQnV0IHRoZSBhY3Rpb24gb2YgdGhlIHN3YXAKKyAqIG5lZWRzIGl0cyBvd24gbG9jay4KKyAqCisgKiBUaGlzIGlzIGRlZmluZWQgYXMgYSByYXdfc3BpbmxvY2tfdCBpbiBvcmRlciB0byBoZWxwCisgKiB3aXRoIHBlcmZvcm1hbmNlIHdoZW4gbG9ja2RlcCBkZWJ1Z2dpbmcgaXMgZW5hYmxlZC4KKyAqLworc3RhdGljIHJhd19zcGlubG9ja190IGZ0cmFjZV9tYXhfbG9jayA9CisJKHJhd19zcGlubG9ja190KV9fUkFXX1NQSU5fTE9DS19VTkxPQ0tFRDsKKworLyoKKyAqIENvcHkgdGhlIG5ldyBtYXhpbXVtIHRyYWNlIGludG8gdGhlIHNlcGFyYXRlIG1heGltdW0tdHJhY2UKKyAqIHN0cnVjdHVyZS4gKHRoaXMgd2F5IHRoZSBtYXhpbXVtIHRyYWNlIGlzIHBlcm1hbmVudGx5IHNhdmVkLAorICogZm9yIGxhdGVyIHJldHJpZXZhbCB2aWEgL2RlYnVnZnMvdHJhY2luZy9sYXRlbmN5X3RyYWNlKQorICovCitzdGF0aWMgdm9pZAorX191cGRhdGVfbWF4X3RyKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIsIHN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrLCBpbnQgY3B1KQoreworCXN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGEgPSB0ci0+ZGF0YVtjcHVdOworCisJbWF4X3RyLmNwdSA9IGNwdTsKKwltYXhfdHIudGltZV9zdGFydCA9IGRhdGEtPnByZWVtcHRfdGltZXN0YW1wOworCisJZGF0YSA9IG1heF90ci5kYXRhW2NwdV07CisJZGF0YS0+c2F2ZWRfbGF0ZW5jeSA9IHRyYWNpbmdfbWF4X2xhdGVuY3k7CisKKwltZW1jcHkoZGF0YS0+Y29tbSwgdHNrLT5jb21tLCBUQVNLX0NPTU1fTEVOKTsKKwlkYXRhLT5waWQgPSB0c2stPnBpZDsKKwlkYXRhLT51aWQgPSB0c2stPnVpZDsKKwlkYXRhLT5uaWNlID0gdHNrLT5zdGF0aWNfcHJpbyAtIDIwIC0gTUFYX1JUX1BSSU87CisJZGF0YS0+cG9saWN5ID0gdHNrLT5wb2xpY3k7CisJZGF0YS0+cnRfcHJpb3JpdHkgPSB0c2stPnJ0X3ByaW9yaXR5OworCisJLyogcmVjb3JkIHRoaXMgdGFza3MgY29tbSAqLworCXRyYWNpbmdfcmVjb3JkX2NtZGxpbmUoY3VycmVudCk7Cit9CisKKyNkZWZpbmUgQ0hFQ0tfQ09ORChjb25kKQkJCVwKKwlpZiAodW5saWtlbHkoY29uZCkpIHsJCQlcCisJCXRyYWNpbmdfZGlzYWJsZWQgPSAxOwkJXAorCQlXQVJOX09OKDEpOwkJCVwKKwkJcmV0dXJuIC0xOwkJCVwKKwl9CisKKy8qKgorICogY2hlY2tfcGFnZXMgLSBpbnRlZ3JpdHkgY2hlY2sgb2YgdHJhY2UgYnVmZmVycworICoKKyAqIEFzIGEgc2FmdHkgbWVhc3VyZSB3ZSBjaGVjayB0byBtYWtlIHN1cmUgdGhlIGRhdGEgcGFnZXMgaGF2ZSBub3QKKyAqIGJlZW4gY29ycnVwdGVkLgorICovCitpbnQgY2hlY2tfcGFnZXMoc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YSkKK3sKKwlzdHJ1Y3QgcGFnZSAqcGFnZSwgKnRtcDsKKworCUNIRUNLX0NPTkQoZGF0YS0+dHJhY2VfcGFnZXMubmV4dC0+cHJldiAhPSAmZGF0YS0+dHJhY2VfcGFnZXMpOworCUNIRUNLX0NPTkQoZGF0YS0+dHJhY2VfcGFnZXMucHJldi0+bmV4dCAhPSAmZGF0YS0+dHJhY2VfcGFnZXMpOworCisJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKHBhZ2UsIHRtcCwgJmRhdGEtPnRyYWNlX3BhZ2VzLCBscnUpIHsKKwkJQ0hFQ0tfQ09ORChwYWdlLT5scnUubmV4dC0+cHJldiAhPSAmcGFnZS0+bHJ1KTsKKwkJQ0hFQ0tfQ09ORChwYWdlLT5scnUucHJldi0+bmV4dCAhPSAmcGFnZS0+bHJ1KTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBoZWFkX3BhZ2UgLSBwYWdlIGFkZHJlc3Mgb2YgdGhlIGZpcnN0IHBhZ2UgaW4gcGVyX2NwdSBidWZmZXIuCisgKgorICogaGVhZF9wYWdlIHJldHVybnMgdGhlIHBhZ2UgYWRkcmVzcyBvZiB0aGUgZmlyc3QgcGFnZSBpbgorICogYSBwZXJfY3B1IGJ1ZmZlci4gVGhpcyBhbHNvIHByZWZvcm1zIHZhcmlvdXMgY29uc2lzdGVuY3kKKyAqIGNoZWNrcyB0byBtYWtlIHN1cmUgdGhlIGJ1ZmZlciBoYXMgbm90IGJlZW4gY29ycnVwdGVkLgorICovCit2b2lkICpoZWFkX3BhZ2Uoc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YSkKK3sKKwlzdHJ1Y3QgcGFnZSAqcGFnZTsKKworCWlmIChsaXN0X2VtcHR5KCZkYXRhLT50cmFjZV9wYWdlcykpCisJCXJldHVybiBOVUxMOworCisJcGFnZSA9IGxpc3RfZW50cnkoZGF0YS0+dHJhY2VfcGFnZXMubmV4dCwgc3RydWN0IHBhZ2UsIGxydSk7CisJQlVHX09OKCZwYWdlLT5scnUgPT0gJmRhdGEtPnRyYWNlX3BhZ2VzKTsKKworCXJldHVybiBwYWdlX2FkZHJlc3MocGFnZSk7Cit9CisKKy8qKgorICogdHJhY2Vfc2VxX3ByaW50ZiAtIHNlcXVlbmNlIHByaW50aW5nIG9mIHRyYWNlIGluZm9ybWF0aW9uCisgKiBAczogdHJhY2Ugc2VxdWVuY2UgZGVzY3JpcHRvcgorICogQGZtdDogcHJpbnRmIGZvcm1hdCBzdHJpbmcKKyAqCisgKiBUaGUgdHJhY2VyIG1heSB1c2UgZWl0aGVyIHNlcXVlbmNlIG9wZXJhdGlvbnMgb3IgaXRzIG93bgorICogY29weSB0byB1c2VyIHJvdXRpbmVzLiBUbyBzaW1wbGlmeSBmb3JtYXRpbmcgb2YgYSB0cmFjZQorICogdHJhY2Vfc2VxX3ByaW50ZiBpcyB1c2VkIHRvIHN0b3JlIHN0cmluZ3MgaW50byBhIHNwZWNpYWwKKyAqIGJ1ZmZlciAoQHMpLiBUaGVuIHRoZSBvdXRwdXQgbWF5IGJlIGVpdGhlciB1c2VkIGJ5CisgKiB0aGUgc2VxdWVuY2VyIG9yIHB1bGxlZCBpbnRvIGFub3RoZXIgYnVmZmVyLgorICovCitpbnQKK3RyYWNlX3NlcV9wcmludGYoc3RydWN0IHRyYWNlX3NlcSAqcywgY29uc3QgY2hhciAqZm10LCAuLi4pCit7CisJaW50IGxlbiA9IChQQUdFX1NJWkUgLSAxKSAtIHMtPmxlbjsKKwl2YV9saXN0IGFwOworCWludCByZXQ7CisKKwlpZiAoIWxlbikKKwkJcmV0dXJuIDA7CisKKwl2YV9zdGFydChhcCwgZm10KTsKKwlyZXQgPSB2c25wcmludGYocy0+YnVmZmVyICsgcy0+bGVuLCBsZW4sIGZtdCwgYXApOworCXZhX2VuZChhcCk7CisKKwkvKiBJZiB3ZSBjYW4ndCB3cml0ZSBpdCBhbGwsIGRvbid0IGJvdGhlciB3cml0aW5nIGFueXRoaW5nICovCisJaWYgKHJldCA+PSBsZW4pCisJCXJldHVybiAwOworCisJcy0+bGVuICs9IHJldDsKKworCXJldHVybiBsZW47Cit9CisKKy8qKgorICogdHJhY2Vfc2VxX3B1dHMgLSB0cmFjZSBzZXF1ZW5jZSBwcmludGluZyBvZiBzaW1wbGUgc3RyaW5nCisgKiBAczogdHJhY2Ugc2VxdWVuY2UgZGVzY3JpcHRvcgorICogQHN0cjogc2ltcGxlIHN0cmluZyB0byByZWNvcmQKKyAqCisgKiBUaGUgdHJhY2VyIG1heSB1c2UgZWl0aGVyIHRoZSBzZXF1ZW5jZSBvcGVyYXRpb25zIG9yIGl0cyBvd24KKyAqIGNvcHkgdG8gdXNlciByb3V0aW5lcy4gVGhpcyBmdW5jdGlvbiByZWNvcmRzIGEgc2ltcGxlIHN0cmluZworICogaW50byBhIHNwZWNpYWwgYnVmZmVyIChAcykgZm9yIGxhdGVyIHJldHJpZXZhbCBieSBhIHNlcXVlbmNlcgorICogb3Igb3RoZXIgbWVjaGFuaXNtLgorICovCitzdGF0aWMgaW50Cit0cmFjZV9zZXFfcHV0cyhzdHJ1Y3QgdHJhY2Vfc2VxICpzLCBjb25zdCBjaGFyICpzdHIpCit7CisJaW50IGxlbiA9IHN0cmxlbihzdHIpOworCisJaWYgKGxlbiA+ICgoUEFHRV9TSVpFIC0gMSkgLSBzLT5sZW4pKQorCQlyZXR1cm4gMDsKKworCW1lbWNweShzLT5idWZmZXIgKyBzLT5sZW4sIHN0ciwgbGVuKTsKKwlzLT5sZW4gKz0gbGVuOworCisJcmV0dXJuIGxlbjsKK30KKworc3RhdGljIGludAordHJhY2Vfc2VxX3B1dGMoc3RydWN0IHRyYWNlX3NlcSAqcywgdW5zaWduZWQgY2hhciBjKQoreworCWlmIChzLT5sZW4gPj0gKFBBR0VfU0laRSAtIDEpKQorCQlyZXR1cm4gMDsKKworCXMtPmJ1ZmZlcltzLT5sZW4rK10gPSBjOworCisJcmV0dXJuIDE7Cit9CisKK3N0YXRpYyBpbnQKK3RyYWNlX3NlcV9wdXRtZW0oc3RydWN0IHRyYWNlX3NlcSAqcywgdm9pZCAqbWVtLCBzaXplX3QgbGVuKQoreworCWlmIChsZW4gPiAoKFBBR0VfU0laRSAtIDEpIC0gcy0+bGVuKSkKKwkJcmV0dXJuIDA7CisKKwltZW1jcHkocy0+YnVmZmVyICsgcy0+bGVuLCBtZW0sIGxlbik7CisJcy0+bGVuICs9IGxlbjsKKworCXJldHVybiBsZW47Cit9CisKKyNkZWZpbmUgSEVYX0NIQVJTIDE3CitzdGF0aWMgY29uc3QgY2hhciBoZXgyYXNjW10gPSAiMDEyMzQ1Njc4OWFiY2RlZiI7CisKK3N0YXRpYyBpbnQKK3RyYWNlX3NlcV9wdXRtZW1faGV4KHN0cnVjdCB0cmFjZV9zZXEgKnMsIHZvaWQgKm1lbSwgc2l6ZV90IGxlbikKK3sKKwl1bnNpZ25lZCBjaGFyIGhleFtIRVhfQ0hBUlNdOworCXVuc2lnbmVkIGNoYXIgKmRhdGEgPSBtZW07CisJdW5zaWduZWQgY2hhciBieXRlOworCWludCBpLCBqOworCisJQlVHX09OKGxlbiA+PSBIRVhfQ0hBUlMpOworCisjaWZkZWYgX19CSUdfRU5ESUFOCisJZm9yIChpID0gMCwgaiA9IDA7IGkgPCBsZW47IGkrKykgeworI2Vsc2UKKwlmb3IgKGkgPSBsZW4tMSwgaiA9IDA7IGkgPj0gMDsgaS0tKSB7CisjZW5kaWYKKwkJYnl0ZSA9IGRhdGFbaV07CisKKwkJaGV4W2orK10gPSBoZXgyYXNjW2J5dGUgJiAweDBmXTsKKwkJaGV4W2orK10gPSBoZXgyYXNjW2J5dGUgPj4gNF07CisJfQorCWhleFtqKytdID0gJyAnOworCisJcmV0dXJuIHRyYWNlX3NlcV9wdXRtZW0ocywgaGV4LCBqKTsKK30KKworc3RhdGljIHZvaWQKK3RyYWNlX3NlcV9yZXNldChzdHJ1Y3QgdHJhY2Vfc2VxICpzKQoreworCXMtPmxlbiA9IDA7CisJcy0+cmVhZHBvcyA9IDA7Cit9CisKK3NzaXplX3QgdHJhY2Vfc2VxX3RvX3VzZXIoc3RydWN0IHRyYWNlX3NlcSAqcywgY2hhciBfX3VzZXIgKnVidWYsIHNpemVfdCBjbnQpCit7CisJaW50IGxlbjsKKwlpbnQgcmV0OworCisJaWYgKHMtPmxlbiA8PSBzLT5yZWFkcG9zKQorCQlyZXR1cm4gLUVCVVNZOworCisJbGVuID0gcy0+bGVuIC0gcy0+cmVhZHBvczsKKwlpZiAoY250ID4gbGVuKQorCQljbnQgPSBsZW47CisJcmV0ID0gY29weV90b191c2VyKHVidWYsIHMtPmJ1ZmZlciArIHMtPnJlYWRwb3MsIGNudCk7CisJaWYgKHJldCkKKwkJcmV0dXJuIC1FRkFVTFQ7CisKKwlzLT5yZWFkcG9zICs9IGxlbjsKKwlyZXR1cm4gY250OworfQorCitzdGF0aWMgdm9pZAordHJhY2VfcHJpbnRfc2VxKHN0cnVjdCBzZXFfZmlsZSAqbSwgc3RydWN0IHRyYWNlX3NlcSAqcykKK3sKKwlpbnQgbGVuID0gcy0+bGVuID49IFBBR0VfU0laRSA/IFBBR0VfU0laRSAtIDEgOiBzLT5sZW47CisKKwlzLT5idWZmZXJbbGVuXSA9IDA7CisJc2VxX3B1dHMobSwgcy0+YnVmZmVyKTsKKworCXRyYWNlX3NlcV9yZXNldChzKTsKK30KKworLyoKKyAqIGZsaXAgdGhlIHRyYWNlIGJ1ZmZlcnMgYmV0d2VlbiB0d28gdHJhY2UgZGVzY3JpcHRvcnMuCisgKiBUaGlzIHVzdWFsbHkgaXMgdGhlIGJ1ZmZlcnMgYmV0d2VlbiB0aGUgZ2xvYmFsX3RyYWNlIGFuZAorICogdGhlIG1heF90ciB0byByZWNvcmQgYSBzbmFwc2hvdCBvZiBhIGN1cnJlbnQgdHJhY2UuCisgKgorICogVGhlIGZ0cmFjZV9tYXhfbG9jayBtdXN0IGJlIGhlbGQuCisgKi8KK3N0YXRpYyB2b2lkCitmbGlwX3RyYWNlKHN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKnRyMSwgc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqdHIyKQoreworCXN0cnVjdCBsaXN0X2hlYWQgZmxpcF9wYWdlczsKKworCUlOSVRfTElTVF9IRUFEKCZmbGlwX3BhZ2VzKTsKKworCW1lbWNweSgmdHIxLT50cmFjZV9oZWFkX2lkeCwgJnRyMi0+dHJhY2VfaGVhZF9pZHgsCisJCXNpemVvZihzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1KSAtCisJCW9mZnNldG9mKHN0cnVjdCB0cmFjZV9hcnJheV9jcHUsIHRyYWNlX2hlYWRfaWR4KSk7CisKKwljaGVja19wYWdlcyh0cjEpOworCWNoZWNrX3BhZ2VzKHRyMik7CisJbGlzdF9zcGxpY2VfaW5pdCgmdHIxLT50cmFjZV9wYWdlcywgJmZsaXBfcGFnZXMpOworCWxpc3Rfc3BsaWNlX2luaXQoJnRyMi0+dHJhY2VfcGFnZXMsICZ0cjEtPnRyYWNlX3BhZ2VzKTsKKwlsaXN0X3NwbGljZV9pbml0KCZmbGlwX3BhZ2VzLCAmdHIyLT50cmFjZV9wYWdlcyk7CisJQlVHX09OKCFsaXN0X2VtcHR5KCZmbGlwX3BhZ2VzKSk7CisJY2hlY2tfcGFnZXModHIxKTsKKwljaGVja19wYWdlcyh0cjIpOworfQorCisvKioKKyAqIHVwZGF0ZV9tYXhfdHIgLSBzbmFwc2hvdCBhbGwgdHJhY2UgYnVmZmVycyBmcm9tIGdsb2JhbF90cmFjZSB0byBtYXhfdHIKKyAqIEB0cjogdHJhY2VyCisgKiBAdHNrOiB0aGUgdGFzayB3aXRoIHRoZSBsYXRlbmN5CisgKiBAY3B1OiBUaGUgY3B1IHRoYXQgaW5pdGlhdGVkIHRoZSB0cmFjZS4KKyAqCisgKiBGbGlwIHRoZSBidWZmZXJzIGJldHdlZW4gdGhlIEB0ciBhbmQgdGhlIG1heF90ciBhbmQgcmVjb3JkIGluZm9ybWF0aW9uCisgKiBhYm91dCB3aGljaCB0YXNrIHdhcyB0aGUgY2F1c2Ugb2YgdGhpcyBsYXRlbmN5LgorICovCit2b2lkCit1cGRhdGVfbWF4X3RyKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIsIHN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrLCBpbnQgY3B1KQoreworCXN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGE7CisJaW50IGk7CisKKwlXQVJOX09OX09OQ0UoIWlycXNfZGlzYWJsZWQoKSk7CisJX19yYXdfc3Bpbl9sb2NrKCZmdHJhY2VfbWF4X2xvY2spOworCS8qIGNsZWFyIG91dCBhbGwgdGhlIHByZXZpb3VzIHRyYWNlcyAqLworCWZvcl9lYWNoX3RyYWNpbmdfY3B1KGkpIHsKKwkJZGF0YSA9IHRyLT5kYXRhW2ldOworCQlmbGlwX3RyYWNlKG1heF90ci5kYXRhW2ldLCBkYXRhKTsKKwkJdHJhY2luZ19yZXNldChkYXRhKTsKKwl9CisKKwlfX3VwZGF0ZV9tYXhfdHIodHIsIHRzaywgY3B1KTsKKwlfX3Jhd19zcGluX3VubG9jaygmZnRyYWNlX21heF9sb2NrKTsKK30KKworLyoqCisgKiB1cGRhdGVfbWF4X3RyX3NpbmdsZSAtIG9ubHkgY29weSBvbmUgdHJhY2Ugb3ZlciwgYW5kIHJlc2V0IHRoZSByZXN0CisgKiBAdHIgLSB0cmFjZXIKKyAqIEB0c2sgLSB0YXNrIHdpdGggdGhlIGxhdGVuY3kKKyAqIEBjcHUgLSB0aGUgY3B1IG9mIHRoZSBidWZmZXIgdG8gY29weS4KKyAqCisgKiBGbGlwIHRoZSB0cmFjZSBvZiBhIHNpbmdsZSBDUFUgYnVmZmVyIGJldHdlZW4gdGhlIEB0ciBhbmQgdGhlIG1heF90ci4KKyAqLwordm9pZAordXBkYXRlX21heF90cl9zaW5nbGUoc3RydWN0IHRyYWNlX2FycmF5ICp0ciwgc3RydWN0IHRhc2tfc3RydWN0ICp0c2ssIGludCBjcHUpCit7CisJc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YSA9IHRyLT5kYXRhW2NwdV07CisJaW50IGk7CisKKwlXQVJOX09OX09OQ0UoIWlycXNfZGlzYWJsZWQoKSk7CisJX19yYXdfc3Bpbl9sb2NrKCZmdHJhY2VfbWF4X2xvY2spOworCWZvcl9lYWNoX3RyYWNpbmdfY3B1KGkpCisJCXRyYWNpbmdfcmVzZXQobWF4X3RyLmRhdGFbaV0pOworCisJZmxpcF90cmFjZShtYXhfdHIuZGF0YVtjcHVdLCBkYXRhKTsKKwl0cmFjaW5nX3Jlc2V0KGRhdGEpOworCisJX191cGRhdGVfbWF4X3RyKHRyLCB0c2ssIGNwdSk7CisJX19yYXdfc3Bpbl91bmxvY2soJmZ0cmFjZV9tYXhfbG9jayk7Cit9CisKKy8qKgorICogcmVnaXN0ZXJfdHJhY2VyIC0gcmVnaXN0ZXIgYSB0cmFjZXIgd2l0aCB0aGUgZnRyYWNlIHN5c3RlbS4KKyAqIEB0eXBlIC0gdGhlIHBsdWdpbiBmb3IgdGhlIHRyYWNlcgorICoKKyAqIFJlZ2lzdGVyIGEgbmV3IHBsdWdpbiB0cmFjZXIuCisgKi8KK2ludCByZWdpc3Rlcl90cmFjZXIoc3RydWN0IHRyYWNlciAqdHlwZSkKK3sKKwlzdHJ1Y3QgdHJhY2VyICp0OworCWludCBsZW47CisJaW50IHJldCA9IDA7CisKKwlpZiAoIXR5cGUtPm5hbWUpIHsKKwkJcHJfaW5mbygiVHJhY2VyIG11c3QgaGF2ZSBhIG5hbWVcbiIpOworCQlyZXR1cm4gLTE7CisJfQorCisJbXV0ZXhfbG9jaygmdHJhY2VfdHlwZXNfbG9jayk7CisJZm9yICh0ID0gdHJhY2VfdHlwZXM7IHQ7IHQgPSB0LT5uZXh0KSB7CisJCWlmIChzdHJjbXAodHlwZS0+bmFtZSwgdC0+bmFtZSkgPT0gMCkgeworCQkJLyogYWxyZWFkeSBmb3VuZCAqLworCQkJcHJfaW5mbygiVHJhY2UgJXMgYWxyZWFkeSByZWdpc3RlcmVkXG4iLAorCQkJCXR5cGUtPm5hbWUpOworCQkJcmV0ID0gLTE7CisJCQlnb3RvIG91dDsKKwkJfQorCX0KKworI2lmZGVmIENPTkZJR19GVFJBQ0VfU1RBUlRVUF9URVNUCisJaWYgKHR5cGUtPnNlbGZ0ZXN0KSB7CisJCXN0cnVjdCB0cmFjZXIgKnNhdmVkX3RyYWNlciA9IGN1cnJlbnRfdHJhY2U7CisJCXN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGE7CisJCXN0cnVjdCB0cmFjZV9hcnJheSAqdHIgPSAmZ2xvYmFsX3RyYWNlOworCQlpbnQgc2F2ZWRfY3RybCA9IHRyLT5jdHJsOworCQlpbnQgaTsKKwkJLyoKKwkJICogUnVuIGEgc2VsZnRlc3Qgb24gdGhpcyB0cmFjZXIuCisJCSAqIEhlcmUgd2UgcmVzZXQgdGhlIHRyYWNlIGJ1ZmZlciwgYW5kIHNldCB0aGUgY3VycmVudAorCQkgKiB0cmFjZXIgdG8gYmUgdGhpcyB0cmFjZXIuIFRoZSB0cmFjZXIgY2FuIHRoZW4gcnVuIHNvbWUKKwkJICogaW50ZXJuYWwgdHJhY2luZyB0byB2ZXJpZnkgdGhhdCBldmVyeXRoaW5nIGlzIGluIG9yZGVyLgorCQkgKiBJZiB3ZSBmYWlsLCB3ZSBkbyBub3QgcmVnaXN0ZXIgdGhpcyB0cmFjZXIuCisJCSAqLworCQlmb3JfZWFjaF90cmFjaW5nX2NwdShpKSB7CisJCQlkYXRhID0gdHItPmRhdGFbaV07CisJCQlpZiAoIWhlYWRfcGFnZShkYXRhKSkKKwkJCQljb250aW51ZTsKKwkJCXRyYWNpbmdfcmVzZXQoZGF0YSk7CisJCX0KKwkJY3VycmVudF90cmFjZSA9IHR5cGU7CisJCXRyLT5jdHJsID0gMDsKKwkJLyogdGhlIHRlc3QgaXMgcmVzcG9uc2libGUgZm9yIGluaXRpYWxpemluZyBhbmQgZW5hYmxpbmcgKi8KKwkJcHJfaW5mbygiVGVzdGluZyB0cmFjZXIgJXM6ICIsIHR5cGUtPm5hbWUpOworCQlyZXQgPSB0eXBlLT5zZWxmdGVzdCh0eXBlLCB0cik7CisJCS8qIHRoZSB0ZXN0IGlzIHJlc3BvbnNpYmxlIGZvciByZXNldHRpbmcgdG9vICovCisJCWN1cnJlbnRfdHJhY2UgPSBzYXZlZF90cmFjZXI7CisJCXRyLT5jdHJsID0gc2F2ZWRfY3RybDsKKwkJaWYgKHJldCkgeworCQkJcHJpbnRrKEtFUk5fQ09OVCAiRkFJTEVEIVxuIik7CisJCQlnb3RvIG91dDsKKwkJfQorCQkvKiBPbmx5IHJlc2V0IG9uIHBhc3NpbmcsIHRvIGF2b2lkIHRvdWNoaW5nIGNvcnJ1cHRlZCBidWZmZXJzICovCisJCWZvcl9lYWNoX3RyYWNpbmdfY3B1KGkpIHsKKwkJCWRhdGEgPSB0ci0+ZGF0YVtpXTsKKwkJCWlmICghaGVhZF9wYWdlKGRhdGEpKQorCQkJCWNvbnRpbnVlOworCQkJdHJhY2luZ19yZXNldChkYXRhKTsKKwkJfQorCQlwcmludGsoS0VSTl9DT05UICJQQVNTRURcbiIpOworCX0KKyNlbmRpZgorCisJdHlwZS0+bmV4dCA9IHRyYWNlX3R5cGVzOworCXRyYWNlX3R5cGVzID0gdHlwZTsKKwlsZW4gPSBzdHJsZW4odHlwZS0+bmFtZSk7CisJaWYgKGxlbiA+IG1heF90cmFjZXJfdHlwZV9sZW4pCisJCW1heF90cmFjZXJfdHlwZV9sZW4gPSBsZW47CisKKyBvdXQ6CisJbXV0ZXhfdW5sb2NrKCZ0cmFjZV90eXBlc19sb2NrKTsKKworCXJldHVybiByZXQ7Cit9CisKK3ZvaWQgdW5yZWdpc3Rlcl90cmFjZXIoc3RydWN0IHRyYWNlciAqdHlwZSkKK3sKKwlzdHJ1Y3QgdHJhY2VyICoqdDsKKwlpbnQgbGVuOworCisJbXV0ZXhfbG9jaygmdHJhY2VfdHlwZXNfbG9jayk7CisJZm9yICh0ID0gJnRyYWNlX3R5cGVzOyAqdDsgdCA9ICYoKnQpLT5uZXh0KSB7CisJCWlmICgqdCA9PSB0eXBlKQorCQkJZ290byBmb3VuZDsKKwl9CisJcHJfaW5mbygiVHJhY2UgJXMgbm90IHJlZ2lzdGVyZWRcbiIsIHR5cGUtPm5hbWUpOworCWdvdG8gb3V0OworCisgZm91bmQ6CisJKnQgPSAoKnQpLT5uZXh0OworCWlmIChzdHJsZW4odHlwZS0+bmFtZSkgIT0gbWF4X3RyYWNlcl90eXBlX2xlbikKKwkJZ290byBvdXQ7CisKKwltYXhfdHJhY2VyX3R5cGVfbGVuID0gMDsKKwlmb3IgKHQgPSAmdHJhY2VfdHlwZXM7ICp0OyB0ID0gJigqdCktPm5leHQpIHsKKwkJbGVuID0gc3RybGVuKCgqdCktPm5hbWUpOworCQlpZiAobGVuID4gbWF4X3RyYWNlcl90eXBlX2xlbikKKwkJCW1heF90cmFjZXJfdHlwZV9sZW4gPSBsZW47CisJfQorIG91dDoKKwltdXRleF91bmxvY2soJnRyYWNlX3R5cGVzX2xvY2spOworfQorCit2b2lkIHRyYWNpbmdfcmVzZXQoc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YSkKK3sKKwlkYXRhLT50cmFjZV9pZHggPSAwOworCWRhdGEtPm92ZXJydW4gPSAwOworCWRhdGEtPnRyYWNlX2hlYWQgPSBkYXRhLT50cmFjZV90YWlsID0gaGVhZF9wYWdlKGRhdGEpOworCWRhdGEtPnRyYWNlX2hlYWRfaWR4ID0gMDsKKwlkYXRhLT50cmFjZV90YWlsX2lkeCA9IDA7Cit9CisKKyNkZWZpbmUgU0FWRURfQ01ETElORVMgMTI4CitzdGF0aWMgdW5zaWduZWQgbWFwX3BpZF90b19jbWRsaW5lW1BJRF9NQVhfREVGQVVMVCsxXTsKK3N0YXRpYyB1bnNpZ25lZCBtYXBfY21kbGluZV90b19waWRbU0FWRURfQ01ETElORVNdOworc3RhdGljIGNoYXIgc2F2ZWRfY21kbGluZXNbU0FWRURfQ01ETElORVNdW1RBU0tfQ09NTV9MRU5dOworc3RhdGljIGludCBjbWRsaW5lX2lkeDsKK3N0YXRpYyBERUZJTkVfU1BJTkxPQ0sodHJhY2VfY21kbGluZV9sb2NrKTsKKworLyogdGVtcG9yYXJ5IGRpc2FibGUgcmVjb3JkaW5nICovCithdG9taWNfdCB0cmFjZV9yZWNvcmRfY21kbGluZV9kaXNhYmxlZCBfX3JlYWRfbW9zdGx5OworCitzdGF0aWMgdm9pZCB0cmFjZV9pbml0X2NtZGxpbmVzKHZvaWQpCit7CisJbWVtc2V0KCZtYXBfcGlkX3RvX2NtZGxpbmUsIC0xLCBzaXplb2YobWFwX3BpZF90b19jbWRsaW5lKSk7CisJbWVtc2V0KCZtYXBfY21kbGluZV90b19waWQsIC0xLCBzaXplb2YobWFwX2NtZGxpbmVfdG9fcGlkKSk7CisJY21kbGluZV9pZHggPSAwOworfQorCit2b2lkIHRyYWNlX3N0b3BfY21kbGluZV9yZWNvcmRpbmcodm9pZCk7CisKK3N0YXRpYyB2b2lkIHRyYWNlX3NhdmVfY21kbGluZShzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzaykKK3sKKwl1bnNpZ25lZCBtYXA7CisJdW5zaWduZWQgaWR4OworCisJaWYgKCF0c2stPnBpZCB8fCB1bmxpa2VseSh0c2stPnBpZCA+IFBJRF9NQVhfREVGQVVMVCkpCisJCXJldHVybjsKKworCS8qCisJICogSXQncyBub3QgdGhlIGVuZCBvZiB0aGUgd29ybGQgaWYgd2UgZG9uJ3QgZ2V0CisJICogdGhlIGxvY2ssIGJ1dCB3ZSBhbHNvIGRvbid0IHdhbnQgdG8gc3BpbgorCSAqIG5vciBkbyB3ZSB3YW50IHRvIGRpc2FibGUgaW50ZXJydXB0cywKKwkgKiBzbyBpZiB3ZSBtaXNzIGhlcmUsIHRoZW4gYmV0dGVyIGx1Y2sgbmV4dCB0aW1lLgorCSAqLworCWlmICghc3Bpbl90cnlsb2NrKCZ0cmFjZV9jbWRsaW5lX2xvY2spKQorCQlyZXR1cm47CisKKwlpZHggPSBtYXBfcGlkX3RvX2NtZGxpbmVbdHNrLT5waWRdOworCWlmIChpZHggPj0gU0FWRURfQ01ETElORVMpIHsKKwkJaWR4ID0gKGNtZGxpbmVfaWR4ICsgMSkgJSBTQVZFRF9DTURMSU5FUzsKKworCQltYXAgPSBtYXBfY21kbGluZV90b19waWRbaWR4XTsKKwkJaWYgKG1hcCA8PSBQSURfTUFYX0RFRkFVTFQpCisJCQltYXBfcGlkX3RvX2NtZGxpbmVbbWFwXSA9ICh1bnNpZ25lZCktMTsKKworCQltYXBfcGlkX3RvX2NtZGxpbmVbdHNrLT5waWRdID0gaWR4OworCisJCWNtZGxpbmVfaWR4ID0gaWR4OworCX0KKworCW1lbWNweSgmc2F2ZWRfY21kbGluZXNbaWR4XSwgdHNrLT5jb21tLCBUQVNLX0NPTU1fTEVOKTsKKworCXNwaW5fdW5sb2NrKCZ0cmFjZV9jbWRsaW5lX2xvY2spOworfQorCitzdGF0aWMgY2hhciAqdHJhY2VfZmluZF9jbWRsaW5lKGludCBwaWQpCit7CisJY2hhciAqY21kbGluZSA9ICI8Li4uPiI7CisJdW5zaWduZWQgbWFwOworCisJaWYgKCFwaWQpCisJCXJldHVybiAiPGlkbGU+IjsKKworCWlmIChwaWQgPiBQSURfTUFYX0RFRkFVTFQpCisJCWdvdG8gb3V0OworCisJbWFwID0gbWFwX3BpZF90b19jbWRsaW5lW3BpZF07CisJaWYgKG1hcCA+PSBTQVZFRF9DTURMSU5FUykKKwkJZ290byBvdXQ7CisKKwljbWRsaW5lID0gc2F2ZWRfY21kbGluZXNbbWFwXTsKKworIG91dDoKKwlyZXR1cm4gY21kbGluZTsKK30KKwordm9pZCB0cmFjaW5nX3JlY29yZF9jbWRsaW5lKHN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrKQoreworCWlmIChhdG9taWNfcmVhZCgmdHJhY2VfcmVjb3JkX2NtZGxpbmVfZGlzYWJsZWQpKQorCQlyZXR1cm47CisKKwl0cmFjZV9zYXZlX2NtZGxpbmUodHNrKTsKK30KKworc3RhdGljIGlubGluZSBzdHJ1Y3QgbGlzdF9oZWFkICoKK3RyYWNlX25leHRfbGlzdChzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhLCBzdHJ1Y3QgbGlzdF9oZWFkICpuZXh0KQoreworCS8qCisJICogUm91bmRyb2JpbiAtIGJ1dCBza2lwIHRoZSBoZWFkICh3aGljaCBpcyBub3QgYSByZWFsIHBhZ2UpOgorCSAqLworCW5leHQgPSBuZXh0LT5uZXh0OworCWlmICh1bmxpa2VseShuZXh0ID09ICZkYXRhLT50cmFjZV9wYWdlcykpCisJCW5leHQgPSBuZXh0LT5uZXh0OworCUJVR19PTihuZXh0ID09ICZkYXRhLT50cmFjZV9wYWdlcyk7CisKKwlyZXR1cm4gbmV4dDsKK30KKworc3RhdGljIGlubGluZSB2b2lkICoKK3RyYWNlX25leHRfcGFnZShzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhLCB2b2lkICphZGRyKQoreworCXN0cnVjdCBsaXN0X2hlYWQgKm5leHQ7CisJc3RydWN0IHBhZ2UgKnBhZ2U7CisKKwlwYWdlID0gdmlydF90b19wYWdlKGFkZHIpOworCisJbmV4dCA9IHRyYWNlX25leHRfbGlzdChkYXRhLCAmcGFnZS0+bHJ1KTsKKwlwYWdlID0gbGlzdF9lbnRyeShuZXh0LCBzdHJ1Y3QgcGFnZSwgbHJ1KTsKKworCXJldHVybiBwYWdlX2FkZHJlc3MocGFnZSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgc3RydWN0IHRyYWNlX2VudHJ5ICoKK3RyYWNpbmdfZ2V0X3RyYWNlX2VudHJ5KHN0cnVjdCB0cmFjZV9hcnJheSAqdHIsIHN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGEpCit7CisJdW5zaWduZWQgbG9uZyBpZHgsIGlkeF9uZXh0OworCXN0cnVjdCB0cmFjZV9lbnRyeSAqZW50cnk7CisKKwlkYXRhLT50cmFjZV9pZHgrKzsKKwlpZHggPSBkYXRhLT50cmFjZV9oZWFkX2lkeDsKKwlpZHhfbmV4dCA9IGlkeCArIDE7CisKKwlCVUdfT04oaWR4ICogVFJBQ0VfRU5UUllfU0laRSA+PSBQQUdFX1NJWkUpOworCisJZW50cnkgPSBkYXRhLT50cmFjZV9oZWFkICsgaWR4ICogVFJBQ0VfRU5UUllfU0laRTsKKworCWlmICh1bmxpa2VseShpZHhfbmV4dCA+PSBFTlRSSUVTX1BFUl9QQUdFKSkgeworCQlkYXRhLT50cmFjZV9oZWFkID0gdHJhY2VfbmV4dF9wYWdlKGRhdGEsIGRhdGEtPnRyYWNlX2hlYWQpOworCQlpZHhfbmV4dCA9IDA7CisJfQorCisJaWYgKGRhdGEtPnRyYWNlX2hlYWQgPT0gZGF0YS0+dHJhY2VfdGFpbCAmJgorCSAgICBpZHhfbmV4dCA9PSBkYXRhLT50cmFjZV90YWlsX2lkeCkgeworCQkvKiBvdmVycnVuICovCisJCWRhdGEtPm92ZXJydW4rKzsKKwkJZGF0YS0+dHJhY2VfdGFpbF9pZHgrKzsKKwkJaWYgKGRhdGEtPnRyYWNlX3RhaWxfaWR4ID49IEVOVFJJRVNfUEVSX1BBR0UpIHsKKwkJCWRhdGEtPnRyYWNlX3RhaWwgPQorCQkJCXRyYWNlX25leHRfcGFnZShkYXRhLCBkYXRhLT50cmFjZV90YWlsKTsKKwkJCWRhdGEtPnRyYWNlX3RhaWxfaWR4ID0gMDsKKwkJfQorCX0KKworCWRhdGEtPnRyYWNlX2hlYWRfaWR4ID0gaWR4X25leHQ7CisKKwlyZXR1cm4gZW50cnk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZAordHJhY2luZ19nZW5lcmljX2VudHJ5X3VwZGF0ZShzdHJ1Y3QgdHJhY2VfZW50cnkgKmVudHJ5LCB1bnNpZ25lZCBsb25nIGZsYWdzKQoreworCXN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrID0gY3VycmVudDsKKwl1bnNpZ25lZCBsb25nIHBjOworCisJcGMgPSBwcmVlbXB0X2NvdW50KCk7CisKKwllbnRyeS0+cHJlZW1wdF9jb3VudAk9IHBjICYgMHhmZjsKKwllbnRyeS0+cGlkCQk9ICh0c2spID8gdHNrLT5waWQgOiAwOworCWVudHJ5LT50CQk9IGZ0cmFjZV9ub3cocmF3X3NtcF9wcm9jZXNzb3JfaWQoKSk7CisJZW50cnktPmZsYWdzID0gKGlycXNfZGlzYWJsZWRfZmxhZ3MoZmxhZ3MpID8gVFJBQ0VfRkxBR19JUlFTX09GRiA6IDApIHwKKwkJKChwYyAmIEhBUkRJUlFfTUFTSykgPyBUUkFDRV9GTEFHX0hBUkRJUlEgOiAwKSB8CisJCSgocGMgJiBTT0ZUSVJRX01BU0spID8gVFJBQ0VfRkxBR19TT0ZUSVJRIDogMCkgfAorCQkobmVlZF9yZXNjaGVkKCkgPyBUUkFDRV9GTEFHX05FRURfUkVTQ0hFRCA6IDApOworfQorCit2b2lkCit0cmFjZV9mdW5jdGlvbihzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyLCBzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhLAorCSAgICAgICB1bnNpZ25lZCBsb25nIGlwLCB1bnNpZ25lZCBsb25nIHBhcmVudF9pcCwgdW5zaWduZWQgbG9uZyBmbGFncykKK3sKKwlzdHJ1Y3QgdHJhY2VfZW50cnkgKmVudHJ5OworCXVuc2lnbmVkIGxvbmcgaXJxX2ZsYWdzOworCisJcmF3X2xvY2FsX2lycV9zYXZlKGlycV9mbGFncyk7CisJX19yYXdfc3Bpbl9sb2NrKCZkYXRhLT5sb2NrKTsKKwllbnRyeQkJCT0gdHJhY2luZ19nZXRfdHJhY2VfZW50cnkodHIsIGRhdGEpOworCXRyYWNpbmdfZ2VuZXJpY19lbnRyeV91cGRhdGUoZW50cnksIGZsYWdzKTsKKwllbnRyeS0+dHlwZQkJPSBUUkFDRV9GTjsKKwllbnRyeS0+Zm4uaXAJCT0gaXA7CisJZW50cnktPmZuLnBhcmVudF9pcAk9IHBhcmVudF9pcDsKKwlfX3Jhd19zcGluX3VubG9jaygmZGF0YS0+bG9jayk7CisJcmF3X2xvY2FsX2lycV9yZXN0b3JlKGlycV9mbGFncyk7Cit9CisKK3ZvaWQKK2Z0cmFjZShzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyLCBzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhLAorICAgICAgIHVuc2lnbmVkIGxvbmcgaXAsIHVuc2lnbmVkIGxvbmcgcGFyZW50X2lwLCB1bnNpZ25lZCBsb25nIGZsYWdzKQoreworCWlmIChsaWtlbHkoIWF0b21pY19yZWFkKCZkYXRhLT5kaXNhYmxlZCkpKQorCQl0cmFjZV9mdW5jdGlvbih0ciwgZGF0YSwgaXAsIHBhcmVudF9pcCwgZmxhZ3MpOworfQorCisjaWZkZWYgQ09ORklHX01NSU9UUkFDRQordm9pZCBfX3RyYWNlX21taW90cmFjZV9ydyhzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyLCBzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhLAorCQkJCQkJc3RydWN0IG1taW90cmFjZV9ydyAqcncpCit7CisJc3RydWN0IHRyYWNlX2VudHJ5ICplbnRyeTsKKwl1bnNpZ25lZCBsb25nIGlycV9mbGFnczsKKworCXJhd19sb2NhbF9pcnFfc2F2ZShpcnFfZmxhZ3MpOworCV9fcmF3X3NwaW5fbG9jaygmZGF0YS0+bG9jayk7CisKKwllbnRyeQkJCT0gdHJhY2luZ19nZXRfdHJhY2VfZW50cnkodHIsIGRhdGEpOworCXRyYWNpbmdfZ2VuZXJpY19lbnRyeV91cGRhdGUoZW50cnksIDApOworCWVudHJ5LT50eXBlCQk9IFRSQUNFX01NSU9fUlc7CisJZW50cnktPm1taW9ydwkJPSAqcnc7CisKKwlfX3Jhd19zcGluX3VubG9jaygmZGF0YS0+bG9jayk7CisJcmF3X2xvY2FsX2lycV9yZXN0b3JlKGlycV9mbGFncyk7CisKKwl0cmFjZV93YWtlX3VwKCk7Cit9CisKK3ZvaWQgX190cmFjZV9tbWlvdHJhY2VfbWFwKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIsIHN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGEsCisJCQkJCQlzdHJ1Y3QgbW1pb3RyYWNlX21hcCAqbWFwKQoreworCXN0cnVjdCB0cmFjZV9lbnRyeSAqZW50cnk7CisJdW5zaWduZWQgbG9uZyBpcnFfZmxhZ3M7CisKKwlyYXdfbG9jYWxfaXJxX3NhdmUoaXJxX2ZsYWdzKTsKKwlfX3Jhd19zcGluX2xvY2soJmRhdGEtPmxvY2spOworCisJZW50cnkJCQk9IHRyYWNpbmdfZ2V0X3RyYWNlX2VudHJ5KHRyLCBkYXRhKTsKKwl0cmFjaW5nX2dlbmVyaWNfZW50cnlfdXBkYXRlKGVudHJ5LCAwKTsKKwllbnRyeS0+dHlwZQkJPSBUUkFDRV9NTUlPX01BUDsKKwllbnRyeS0+bW1pb21hcAkJPSAqbWFwOworCisJX19yYXdfc3Bpbl91bmxvY2soJmRhdGEtPmxvY2spOworCXJhd19sb2NhbF9pcnFfcmVzdG9yZShpcnFfZmxhZ3MpOworCisJdHJhY2Vfd2FrZV91cCgpOworfQorI2VuZGlmCisKK3ZvaWQgX190cmFjZV9zdGFjayhzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyLAorCQkgICBzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhLAorCQkgICB1bnNpZ25lZCBsb25nIGZsYWdzLAorCQkgICBpbnQgc2tpcCkKK3sKKwlzdHJ1Y3QgdHJhY2VfZW50cnkgKmVudHJ5OworCXN0cnVjdCBzdGFja190cmFjZSB0cmFjZTsKKworCWlmICghKHRyYWNlX2ZsYWdzICYgVFJBQ0VfSVRFUl9TVEFDS1RSQUNFKSkKKwkJcmV0dXJuOworCisJZW50cnkJCQk9IHRyYWNpbmdfZ2V0X3RyYWNlX2VudHJ5KHRyLCBkYXRhKTsKKwl0cmFjaW5nX2dlbmVyaWNfZW50cnlfdXBkYXRlKGVudHJ5LCBmbGFncyk7CisJZW50cnktPnR5cGUJCT0gVFJBQ0VfU1RBQ0s7CisKKwltZW1zZXQoJmVudHJ5LT5zdGFjaywgMCwgc2l6ZW9mKGVudHJ5LT5zdGFjaykpOworCisJdHJhY2UubnJfZW50cmllcwk9IDA7CisJdHJhY2UubWF4X2VudHJpZXMJPSBGVFJBQ0VfU1RBQ0tfRU5UUklFUzsKKwl0cmFjZS5za2lwCQk9IHNraXA7CisJdHJhY2UuZW50cmllcwkJPSBlbnRyeS0+c3RhY2suY2FsbGVyOworCisJc2F2ZV9zdGFja190cmFjZSgmdHJhY2UpOworfQorCit2b2lkCitfX3RyYWNlX3NwZWNpYWwodm9pZCAqX190ciwgdm9pZCAqX19kYXRhLAorCQl1bnNpZ25lZCBsb25nIGFyZzEsIHVuc2lnbmVkIGxvbmcgYXJnMiwgdW5zaWduZWQgbG9uZyBhcmczKQoreworCXN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGEgPSBfX2RhdGE7CisJc3RydWN0IHRyYWNlX2FycmF5ICp0ciA9IF9fdHI7CisJc3RydWN0IHRyYWNlX2VudHJ5ICplbnRyeTsKKwl1bnNpZ25lZCBsb25nIGlycV9mbGFnczsKKworCXJhd19sb2NhbF9pcnFfc2F2ZShpcnFfZmxhZ3MpOworCV9fcmF3X3NwaW5fbG9jaygmZGF0YS0+bG9jayk7CisJZW50cnkJCQk9IHRyYWNpbmdfZ2V0X3RyYWNlX2VudHJ5KHRyLCBkYXRhKTsKKwl0cmFjaW5nX2dlbmVyaWNfZW50cnlfdXBkYXRlKGVudHJ5LCAwKTsKKwllbnRyeS0+dHlwZQkJPSBUUkFDRV9TUEVDSUFMOworCWVudHJ5LT5zcGVjaWFsLmFyZzEJPSBhcmcxOworCWVudHJ5LT5zcGVjaWFsLmFyZzIJPSBhcmcyOworCWVudHJ5LT5zcGVjaWFsLmFyZzMJPSBhcmczOworCV9fdHJhY2Vfc3RhY2sodHIsIGRhdGEsIGlycV9mbGFncywgNCk7CisJX19yYXdfc3Bpbl91bmxvY2soJmRhdGEtPmxvY2spOworCXJhd19sb2NhbF9pcnFfcmVzdG9yZShpcnFfZmxhZ3MpOworCisJdHJhY2Vfd2FrZV91cCgpOworfQorCit2b2lkCit0cmFjaW5nX3NjaGVkX3N3aXRjaF90cmFjZShzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyLAorCQkJICAgc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YSwKKwkJCSAgIHN0cnVjdCB0YXNrX3N0cnVjdCAqcHJldiwKKwkJCSAgIHN0cnVjdCB0YXNrX3N0cnVjdCAqbmV4dCwKKwkJCSAgIHVuc2lnbmVkIGxvbmcgZmxhZ3MpCit7CisJc3RydWN0IHRyYWNlX2VudHJ5ICplbnRyeTsKKwl1bnNpZ25lZCBsb25nIGlycV9mbGFnczsKKworCXJhd19sb2NhbF9pcnFfc2F2ZShpcnFfZmxhZ3MpOworCV9fcmF3X3NwaW5fbG9jaygmZGF0YS0+bG9jayk7CisJZW50cnkJCQk9IHRyYWNpbmdfZ2V0X3RyYWNlX2VudHJ5KHRyLCBkYXRhKTsKKwl0cmFjaW5nX2dlbmVyaWNfZW50cnlfdXBkYXRlKGVudHJ5LCBmbGFncyk7CisJZW50cnktPnR5cGUJCT0gVFJBQ0VfQ1RYOworCWVudHJ5LT5jdHgucHJldl9waWQJPSBwcmV2LT5waWQ7CisJZW50cnktPmN0eC5wcmV2X3ByaW8JPSBwcmV2LT5wcmlvOworCWVudHJ5LT5jdHgucHJldl9zdGF0ZQk9IHByZXYtPnN0YXRlOworCWVudHJ5LT5jdHgubmV4dF9waWQJPSBuZXh0LT5waWQ7CisJZW50cnktPmN0eC5uZXh0X3ByaW8JPSBuZXh0LT5wcmlvOworCWVudHJ5LT5jdHgubmV4dF9zdGF0ZQk9IG5leHQtPnN0YXRlOworCV9fdHJhY2Vfc3RhY2sodHIsIGRhdGEsIGZsYWdzLCA1KTsKKwlfX3Jhd19zcGluX3VubG9jaygmZGF0YS0+bG9jayk7CisJcmF3X2xvY2FsX2lycV9yZXN0b3JlKGlycV9mbGFncyk7Cit9CisKK3ZvaWQKK3RyYWNpbmdfc2NoZWRfd2FrZXVwX3RyYWNlKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIsCisJCQkgICBzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhLAorCQkJICAgc3RydWN0IHRhc2tfc3RydWN0ICp3YWtlZSwKKwkJCSAgIHN0cnVjdCB0YXNrX3N0cnVjdCAqY3VyciwKKwkJCSAgIHVuc2lnbmVkIGxvbmcgZmxhZ3MpCit7CisJc3RydWN0IHRyYWNlX2VudHJ5ICplbnRyeTsKKwl1bnNpZ25lZCBsb25nIGlycV9mbGFnczsKKworCXJhd19sb2NhbF9pcnFfc2F2ZShpcnFfZmxhZ3MpOworCV9fcmF3X3NwaW5fbG9jaygmZGF0YS0+bG9jayk7CisJZW50cnkJCQk9IHRyYWNpbmdfZ2V0X3RyYWNlX2VudHJ5KHRyLCBkYXRhKTsKKwl0cmFjaW5nX2dlbmVyaWNfZW50cnlfdXBkYXRlKGVudHJ5LCBmbGFncyk7CisJZW50cnktPnR5cGUJCT0gVFJBQ0VfV0FLRTsKKwllbnRyeS0+Y3R4LnByZXZfcGlkCT0gY3Vyci0+cGlkOworCWVudHJ5LT5jdHgucHJldl9wcmlvCT0gY3Vyci0+cHJpbzsKKwllbnRyeS0+Y3R4LnByZXZfc3RhdGUJPSBjdXJyLT5zdGF0ZTsKKwllbnRyeS0+Y3R4Lm5leHRfcGlkCT0gd2FrZWUtPnBpZDsKKwllbnRyeS0+Y3R4Lm5leHRfcHJpbwk9IHdha2VlLT5wcmlvOworCWVudHJ5LT5jdHgubmV4dF9zdGF0ZQk9IHdha2VlLT5zdGF0ZTsKKwlfX3RyYWNlX3N0YWNrKHRyLCBkYXRhLCBmbGFncywgNik7CisJX19yYXdfc3Bpbl91bmxvY2soJmRhdGEtPmxvY2spOworCXJhd19sb2NhbF9pcnFfcmVzdG9yZShpcnFfZmxhZ3MpOworCisJdHJhY2Vfd2FrZV91cCgpOworfQorCit2b2lkCitmdHJhY2Vfc3BlY2lhbCh1bnNpZ25lZCBsb25nIGFyZzEsIHVuc2lnbmVkIGxvbmcgYXJnMiwgdW5zaWduZWQgbG9uZyBhcmczKQoreworCXN0cnVjdCB0cmFjZV9hcnJheSAqdHIgPSAmZ2xvYmFsX3RyYWNlOworCXN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGE7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwlsb25nIGRpc2FibGVkOworCWludCBjcHU7CisKKwlpZiAodHJhY2luZ19kaXNhYmxlZCB8fCBjdXJyZW50X3RyYWNlID09ICZub190cmFjZXIgfHwgIXRyLT5jdHJsKQorCQlyZXR1cm47CisKKwlsb2NhbF9pcnFfc2F2ZShmbGFncyk7CisJY3B1ID0gcmF3X3NtcF9wcm9jZXNzb3JfaWQoKTsKKwlkYXRhID0gdHItPmRhdGFbY3B1XTsKKwlkaXNhYmxlZCA9IGF0b21pY19pbmNfcmV0dXJuKCZkYXRhLT5kaXNhYmxlZCk7CisKKwlpZiAobGlrZWx5KGRpc2FibGVkID09IDEpKQorCQlfX3RyYWNlX3NwZWNpYWwodHIsIGRhdGEsIGFyZzEsIGFyZzIsIGFyZzMpOworCisJYXRvbWljX2RlYygmZGF0YS0+ZGlzYWJsZWQpOworCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKK30KKworI2lmZGVmIENPTkZJR19GVFJBQ0UKK3N0YXRpYyB2b2lkCitmdW5jdGlvbl90cmFjZV9jYWxsKHVuc2lnbmVkIGxvbmcgaXAsIHVuc2lnbmVkIGxvbmcgcGFyZW50X2lwKQoreworCXN0cnVjdCB0cmFjZV9hcnJheSAqdHIgPSAmZ2xvYmFsX3RyYWNlOworCXN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGE7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwlsb25nIGRpc2FibGVkOworCWludCBjcHU7CisKKwlpZiAodW5saWtlbHkoIWZ0cmFjZV9mdW5jdGlvbl9lbmFibGVkKSkKKwkJcmV0dXJuOworCisJaWYgKHNraXBfdHJhY2UoaXApKQorCQlyZXR1cm47CisKKwlsb2NhbF9pcnFfc2F2ZShmbGFncyk7CisJY3B1ID0gcmF3X3NtcF9wcm9jZXNzb3JfaWQoKTsKKwlkYXRhID0gdHItPmRhdGFbY3B1XTsKKwlkaXNhYmxlZCA9IGF0b21pY19pbmNfcmV0dXJuKCZkYXRhLT5kaXNhYmxlZCk7CisKKwlpZiAobGlrZWx5KGRpc2FibGVkID09IDEpKQorCQl0cmFjZV9mdW5jdGlvbih0ciwgZGF0YSwgaXAsIHBhcmVudF9pcCwgZmxhZ3MpOworCisJYXRvbWljX2RlYygmZGF0YS0+ZGlzYWJsZWQpOworCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKK30KKworc3RhdGljIHN0cnVjdCBmdHJhY2Vfb3BzIHRyYWNlX29wcyBfX3JlYWRfbW9zdGx5ID0KK3sKKwkuZnVuYyA9IGZ1bmN0aW9uX3RyYWNlX2NhbGwsCit9OworCit2b2lkIHRyYWNpbmdfc3RhcnRfZnVuY3Rpb25fdHJhY2Uodm9pZCkKK3sKKwlmdHJhY2VfZnVuY3Rpb25fZW5hYmxlZCA9IDA7CisJcmVnaXN0ZXJfZnRyYWNlX2Z1bmN0aW9uKCZ0cmFjZV9vcHMpOworCWlmICh0cmFjZXJfZW5hYmxlZCkKKwkJZnRyYWNlX2Z1bmN0aW9uX2VuYWJsZWQgPSAxOworfQorCit2b2lkIHRyYWNpbmdfc3RvcF9mdW5jdGlvbl90cmFjZSh2b2lkKQoreworCWZ0cmFjZV9mdW5jdGlvbl9lbmFibGVkID0gMDsKKwl1bnJlZ2lzdGVyX2Z0cmFjZV9mdW5jdGlvbigmdHJhY2Vfb3BzKTsKK30KKyNlbmRpZgorCitlbnVtIHRyYWNlX2ZpbGVfdHlwZSB7CisJVFJBQ0VfRklMRV9MQVRfRk1UCT0gMSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgdHJhY2VfZW50cnkgKgordHJhY2VfZW50cnlfaWR4KHN0cnVjdCB0cmFjZV9hcnJheSAqdHIsIHN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGEsCisJCXN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlciwgaW50IGNwdSkKK3sKKwlzdHJ1Y3QgcGFnZSAqcGFnZTsKKwlzdHJ1Y3QgdHJhY2VfZW50cnkgKmFycmF5OworCisJaWYgKGl0ZXItPm5leHRfaWR4W2NwdV0gPj0gdHItPmVudHJpZXMgfHwKKwkgICAgaXRlci0+bmV4dF9pZHhbY3B1XSA+PSBkYXRhLT50cmFjZV9pZHggfHwKKwkgICAgKGRhdGEtPnRyYWNlX2hlYWQgPT0gZGF0YS0+dHJhY2VfdGFpbCAmJgorCSAgICAgZGF0YS0+dHJhY2VfaGVhZF9pZHggPT0gZGF0YS0+dHJhY2VfdGFpbF9pZHgpKQorCQlyZXR1cm4gTlVMTDsKKworCWlmICghaXRlci0+bmV4dF9wYWdlW2NwdV0pIHsKKwkJLyogSW5pdGlhbGl6ZSB0aGUgaXRlcmF0b3IgZm9yIHRoaXMgY3B1IHRyYWNlIGJ1ZmZlciAqLworCQlXQVJOX09OKCFkYXRhLT50cmFjZV90YWlsKTsKKwkJcGFnZSA9IHZpcnRfdG9fcGFnZShkYXRhLT50cmFjZV90YWlsKTsKKwkJaXRlci0+bmV4dF9wYWdlW2NwdV0gPSAmcGFnZS0+bHJ1OworCQlpdGVyLT5uZXh0X3BhZ2VfaWR4W2NwdV0gPSBkYXRhLT50cmFjZV90YWlsX2lkeDsKKwl9CisKKwlwYWdlID0gbGlzdF9lbnRyeShpdGVyLT5uZXh0X3BhZ2VbY3B1XSwgc3RydWN0IHBhZ2UsIGxydSk7CisJQlVHX09OKCZkYXRhLT50cmFjZV9wYWdlcyA9PSAmcGFnZS0+bHJ1KTsKKworCWFycmF5ID0gcGFnZV9hZGRyZXNzKHBhZ2UpOworCisJV0FSTl9PTihpdGVyLT5uZXh0X3BhZ2VfaWR4W2NwdV0gPj0gRU5UUklFU19QRVJfUEFHRSk7CisJcmV0dXJuICZhcnJheVtpdGVyLT5uZXh0X3BhZ2VfaWR4W2NwdV1dOworfQorCitzdGF0aWMgc3RydWN0IHRyYWNlX2VudHJ5ICoKK2ZpbmRfbmV4dF9lbnRyeShzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIsIGludCAqZW50X2NwdSkKK3sKKwlzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyID0gaXRlci0+dHI7CisJc3RydWN0IHRyYWNlX2VudHJ5ICplbnQsICpuZXh0ID0gTlVMTDsKKwlpbnQgbmV4dF9jcHUgPSAtMTsKKwlpbnQgY3B1OworCisJZm9yX2VhY2hfdHJhY2luZ19jcHUoY3B1KSB7CisJCWlmICghaGVhZF9wYWdlKHRyLT5kYXRhW2NwdV0pKQorCQkJY29udGludWU7CisJCWVudCA9IHRyYWNlX2VudHJ5X2lkeCh0ciwgdHItPmRhdGFbY3B1XSwgaXRlciwgY3B1KTsKKwkJLyoKKwkJICogUGljayB0aGUgZW50cnkgd2l0aCB0aGUgc21hbGxlc3QgdGltZXN0YW1wOgorCQkgKi8KKwkJaWYgKGVudCAmJiAoIW5leHQgfHwgZW50LT50IDwgbmV4dC0+dCkpIHsKKwkJCW5leHQgPSBlbnQ7CisJCQluZXh0X2NwdSA9IGNwdTsKKwkJfQorCX0KKworCWlmIChlbnRfY3B1KQorCQkqZW50X2NwdSA9IG5leHRfY3B1OworCisJcmV0dXJuIG5leHQ7Cit9CisKK3N0YXRpYyB2b2lkIHRyYWNlX2l0ZXJhdG9yX2luY3JlbWVudChzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIpCit7CisJaXRlci0+aWR4Kys7CisJaXRlci0+bmV4dF9pZHhbaXRlci0+Y3B1XSsrOworCWl0ZXItPm5leHRfcGFnZV9pZHhbaXRlci0+Y3B1XSsrOworCisJaWYgKGl0ZXItPm5leHRfcGFnZV9pZHhbaXRlci0+Y3B1XSA+PSBFTlRSSUVTX1BFUl9QQUdFKSB7CisJCXN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGEgPSBpdGVyLT50ci0+ZGF0YVtpdGVyLT5jcHVdOworCisJCWl0ZXItPm5leHRfcGFnZV9pZHhbaXRlci0+Y3B1XSA9IDA7CisJCWl0ZXItPm5leHRfcGFnZVtpdGVyLT5jcHVdID0KKwkJCXRyYWNlX25leHRfbGlzdChkYXRhLCBpdGVyLT5uZXh0X3BhZ2VbaXRlci0+Y3B1XSk7CisJfQorfQorCitzdGF0aWMgdm9pZCB0cmFjZV9jb25zdW1lKHN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlcikKK3sKKwlzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhID0gaXRlci0+dHItPmRhdGFbaXRlci0+Y3B1XTsKKworCWRhdGEtPnRyYWNlX3RhaWxfaWR4Kys7CisJaWYgKGRhdGEtPnRyYWNlX3RhaWxfaWR4ID49IEVOVFJJRVNfUEVSX1BBR0UpIHsKKwkJZGF0YS0+dHJhY2VfdGFpbCA9IHRyYWNlX25leHRfcGFnZShkYXRhLCBkYXRhLT50cmFjZV90YWlsKTsKKwkJZGF0YS0+dHJhY2VfdGFpbF9pZHggPSAwOworCX0KKworCS8qIENoZWNrIGlmIHdlIGVtcHR5IGl0LCB0aGVuIHJlc2V0IHRoZSBpbmRleCAqLworCWlmIChkYXRhLT50cmFjZV9oZWFkID09IGRhdGEtPnRyYWNlX3RhaWwgJiYKKwkgICAgZGF0YS0+dHJhY2VfaGVhZF9pZHggPT0gZGF0YS0+dHJhY2VfdGFpbF9pZHgpCisJCWRhdGEtPnRyYWNlX2lkeCA9IDA7Cit9CisKK3N0YXRpYyB2b2lkICpmaW5kX25leHRfZW50cnlfaW5jKHN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlcikKK3sKKwlzdHJ1Y3QgdHJhY2VfZW50cnkgKm5leHQ7CisJaW50IG5leHRfY3B1ID0gLTE7CisKKwluZXh0ID0gZmluZF9uZXh0X2VudHJ5KGl0ZXIsICZuZXh0X2NwdSk7CisKKwlpdGVyLT5wcmV2X2VudCA9IGl0ZXItPmVudDsKKwlpdGVyLT5wcmV2X2NwdSA9IGl0ZXItPmNwdTsKKworCWl0ZXItPmVudCA9IG5leHQ7CisJaXRlci0+Y3B1ID0gbmV4dF9jcHU7CisKKwlpZiAobmV4dCkKKwkJdHJhY2VfaXRlcmF0b3JfaW5jcmVtZW50KGl0ZXIpOworCisJcmV0dXJuIG5leHQgPyBpdGVyIDogTlVMTDsKK30KKworc3RhdGljIHZvaWQgKnNfbmV4dChzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKnYsIGxvZmZfdCAqcG9zKQoreworCXN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlciA9IG0tPnByaXZhdGU7CisJdm9pZCAqbGFzdF9lbnQgPSBpdGVyLT5lbnQ7CisJaW50IGkgPSAoaW50KSpwb3M7CisJdm9pZCAqZW50OworCisJKCpwb3MpKys7CisKKwkvKiBjYW4ndCBnbyBiYWNrd2FyZHMgKi8KKwlpZiAoaXRlci0+aWR4ID4gaSkKKwkJcmV0dXJuIE5VTEw7CisKKwlpZiAoaXRlci0+aWR4IDwgMCkKKwkJZW50ID0gZmluZF9uZXh0X2VudHJ5X2luYyhpdGVyKTsKKwllbHNlCisJCWVudCA9IGl0ZXI7CisKKwl3aGlsZSAoZW50ICYmIGl0ZXItPmlkeCA8IGkpCisJCWVudCA9IGZpbmRfbmV4dF9lbnRyeV9pbmMoaXRlcik7CisKKwlpdGVyLT5wb3MgPSAqcG9zOworCisJaWYgKGxhc3RfZW50ICYmICFlbnQpCisJCXNlcV9wdXRzKG0sICJcblxudmltOmZ0PWhlbHBcbiIpOworCisJcmV0dXJuIGVudDsKK30KKworc3RhdGljIHZvaWQgKnNfc3RhcnQoc3RydWN0IHNlcV9maWxlICptLCBsb2ZmX3QgKnBvcykKK3sKKwlzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIgPSBtLT5wcml2YXRlOworCXZvaWQgKnAgPSBOVUxMOworCWxvZmZfdCBsID0gMDsKKwlpbnQgaTsKKworCW11dGV4X2xvY2soJnRyYWNlX3R5cGVzX2xvY2spOworCisJaWYgKCFjdXJyZW50X3RyYWNlIHx8IGN1cnJlbnRfdHJhY2UgIT0gaXRlci0+dHJhY2UpIHsKKwkJbXV0ZXhfdW5sb2NrKCZ0cmFjZV90eXBlc19sb2NrKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCisJYXRvbWljX2luYygmdHJhY2VfcmVjb3JkX2NtZGxpbmVfZGlzYWJsZWQpOworCisJLyogbGV0IHRoZSB0cmFjZXIgZ3JhYiBsb2NrcyBoZXJlIGlmIG5lZWRlZCAqLworCWlmIChjdXJyZW50X3RyYWNlLT5zdGFydCkKKwkJY3VycmVudF90cmFjZS0+c3RhcnQoaXRlcik7CisKKwlpZiAoKnBvcyAhPSBpdGVyLT5wb3MpIHsKKwkJaXRlci0+ZW50ID0gTlVMTDsKKwkJaXRlci0+Y3B1ID0gMDsKKwkJaXRlci0+aWR4ID0gLTE7CisJCWl0ZXItPnByZXZfZW50ID0gTlVMTDsKKwkJaXRlci0+cHJldl9jcHUgPSAtMTsKKworCQlmb3JfZWFjaF90cmFjaW5nX2NwdShpKSB7CisJCQlpdGVyLT5uZXh0X2lkeFtpXSA9IDA7CisJCQlpdGVyLT5uZXh0X3BhZ2VbaV0gPSBOVUxMOworCQl9CisKKwkJZm9yIChwID0gaXRlcjsgcCAmJiBsIDwgKnBvczsgcCA9IHNfbmV4dChtLCBwLCAmbCkpCisJCQk7CisKKwl9IGVsc2UgeworCQlsID0gKnBvcyAtIDE7CisJCXAgPSBzX25leHQobSwgcCwgJmwpOworCX0KKworCXJldHVybiBwOworfQorCitzdGF0aWMgdm9pZCBzX3N0b3Aoc3RydWN0IHNlcV9maWxlICptLCB2b2lkICpwKQoreworCXN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlciA9IG0tPnByaXZhdGU7CisKKwlhdG9taWNfZGVjKCZ0cmFjZV9yZWNvcmRfY21kbGluZV9kaXNhYmxlZCk7CisKKwkvKiBsZXQgdGhlIHRyYWNlciByZWxlYXNlIGxvY2tzIGhlcmUgaWYgbmVlZGVkICovCisJaWYgKGN1cnJlbnRfdHJhY2UgJiYgY3VycmVudF90cmFjZSA9PSBpdGVyLT50cmFjZSAmJiBpdGVyLT50cmFjZS0+c3RvcCkKKwkJaXRlci0+dHJhY2UtPnN0b3AoaXRlcik7CisKKwltdXRleF91bmxvY2soJnRyYWNlX3R5cGVzX2xvY2spOworfQorCisjZGVmaW5lIEtSRVRQUk9CRV9NU0cgIlt1bmtub3duL2tyZXRwcm9iZSdkXSIKKworI2lmZGVmIENPTkZJR19LUkVUUFJPQkVTCitzdGF0aWMgaW5saW5lIGludCBrcmV0cHJvYmVkKHVuc2lnbmVkIGxvbmcgYWRkcikKK3sKKwlyZXR1cm4gYWRkciA9PSAodW5zaWduZWQgbG9uZylrcmV0cHJvYmVfdHJhbXBvbGluZTsKK30KKyNlbHNlCitzdGF0aWMgaW5saW5lIGludCBrcmV0cHJvYmVkKHVuc2lnbmVkIGxvbmcgYWRkcikKK3sKKwlyZXR1cm4gMDsKK30KKyNlbmRpZiAvKiBDT05GSUdfS1JFVFBST0JFUyAqLworCitzdGF0aWMgaW50CitzZXFfcHJpbnRfc3ltX3Nob3J0KHN0cnVjdCB0cmFjZV9zZXEgKnMsIGNvbnN0IGNoYXIgKmZtdCwgdW5zaWduZWQgbG9uZyBhZGRyZXNzKQoreworI2lmZGVmIENPTkZJR19LQUxMU1lNUworCWNoYXIgc3RyW0tTWU1fU1lNQk9MX0xFTl07CisKKwlrYWxsc3ltc19sb29rdXAoYWRkcmVzcywgTlVMTCwgTlVMTCwgTlVMTCwgc3RyKTsKKworCXJldHVybiB0cmFjZV9zZXFfcHJpbnRmKHMsIGZtdCwgc3RyKTsKKyNlbmRpZgorCXJldHVybiAxOworfQorCitzdGF0aWMgaW50CitzZXFfcHJpbnRfc3ltX29mZnNldChzdHJ1Y3QgdHJhY2Vfc2VxICpzLCBjb25zdCBjaGFyICpmbXQsCisJCSAgICAgdW5zaWduZWQgbG9uZyBhZGRyZXNzKQoreworI2lmZGVmIENPTkZJR19LQUxMU1lNUworCWNoYXIgc3RyW0tTWU1fU1lNQk9MX0xFTl07CisKKwlzcHJpbnRfc3ltYm9sKHN0ciwgYWRkcmVzcyk7CisJcmV0dXJuIHRyYWNlX3NlcV9wcmludGYocywgZm10LCBzdHIpOworI2VuZGlmCisJcmV0dXJuIDE7Cit9CisKKyNpZm5kZWYgQ09ORklHXzY0QklUCisjIGRlZmluZSBJUF9GTVQgIiUwOGx4IgorI2Vsc2UKKyMgZGVmaW5lIElQX0ZNVCAiJTAxNmx4IgorI2VuZGlmCisKK3N0YXRpYyBpbnQKK3NlcV9wcmludF9pcF9zeW0oc3RydWN0IHRyYWNlX3NlcSAqcywgdW5zaWduZWQgbG9uZyBpcCwgdW5zaWduZWQgbG9uZyBzeW1fZmxhZ3MpCit7CisJaW50IHJldDsKKworCWlmICghaXApCisJCXJldHVybiB0cmFjZV9zZXFfcHJpbnRmKHMsICIwIik7CisKKwlpZiAoc3ltX2ZsYWdzICYgVFJBQ0VfSVRFUl9TWU1fT0ZGU0VUKQorCQlyZXQgPSBzZXFfcHJpbnRfc3ltX29mZnNldChzLCAiJXMiLCBpcCk7CisJZWxzZQorCQlyZXQgPSBzZXFfcHJpbnRfc3ltX3Nob3J0KHMsICIlcyIsIGlwKTsKKworCWlmICghcmV0KQorCQlyZXR1cm4gMDsKKworCWlmIChzeW1fZmxhZ3MgJiBUUkFDRV9JVEVSX1NZTV9BRERSKQorCQlyZXQgPSB0cmFjZV9zZXFfcHJpbnRmKHMsICIgPCIgSVBfRk1UICI+IiwgaXApOworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyB2b2lkIHByaW50X2xhdF9oZWxwX2hlYWRlcihzdHJ1Y3Qgc2VxX2ZpbGUgKm0pCit7CisJc2VxX3B1dHMobSwgIiMgICAgICAgICAgICAgICAgXy0tLS0tLT0+IENQVSMgICAgICAgICAgICBcbiIpOworCXNlcV9wdXRzKG0sICIjICAgICAgICAgICAgICAgLyBfLS0tLS09PiBpcnFzLW9mZiAgICAgICAgXG4iKTsKKwlzZXFfcHV0cyhtLCAiIyAgICAgICAgICAgICAgfCAvIF8tLS0tPT4gbmVlZC1yZXNjaGVkICAgIFxuIik7CisJc2VxX3B1dHMobSwgIiMgICAgICAgICAgICAgIHx8IC8gXy0tLT0+IGhhcmRpcnEvc29mdGlycSBcbiIpOworCXNlcV9wdXRzKG0sICIjICAgICAgICAgICAgICB8fHwgLyBfLS09PiBwcmVlbXB0LWRlcHRoICAgXG4iKTsKKwlzZXFfcHV0cyhtLCAiIyAgICAgICAgICAgICAgfHx8fCAvICAgICAgICAgICAgICAgICAgICAgIFxuIik7CisJc2VxX3B1dHMobSwgIiMgICAgICAgICAgICAgIHx8fHx8ICAgICBkZWxheSAgICAgICAgICAgICBcbiIpOworCXNlcV9wdXRzKG0sICIjICBjbWQgICAgIHBpZCB8fHx8fCB0aW1lICB8ICAgY2FsbGVyICAgICAgXG4iKTsKKwlzZXFfcHV0cyhtLCAiIyAgICAgXFwgICAvICAgIHx8fHx8ICAgXFwgICB8ICAgLyAgICAgICAgICAgXG4iKTsKK30KKworc3RhdGljIHZvaWQgcHJpbnRfZnVuY19oZWxwX2hlYWRlcihzdHJ1Y3Qgc2VxX2ZpbGUgKm0pCit7CisJc2VxX3B1dHMobSwgIiMgICAgICAgICAgIFRBU0stUElEICAgQ1BVIyAgICBUSU1FU1RBTVAgIEZVTkNUSU9OXG4iKTsKKwlzZXFfcHV0cyhtLCAiIyAgICAgICAgICAgICAgfCB8ICAgICAgfCAgICAgICAgICB8ICAgICAgICAgfFxuIik7Cit9CisKKworc3RhdGljIHZvaWQKK3ByaW50X3RyYWNlX2hlYWRlcihzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlcikKK3sKKwl1bnNpZ25lZCBsb25nIHN5bV9mbGFncyA9ICh0cmFjZV9mbGFncyAmIFRSQUNFX0lURVJfU1lNX01BU0spOworCXN0cnVjdCB0cmFjZV9hcnJheSAqdHIgPSBpdGVyLT50cjsKKwlzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhID0gdHItPmRhdGFbdHItPmNwdV07CisJc3RydWN0IHRyYWNlciAqdHlwZSA9IGN1cnJlbnRfdHJhY2U7CisJdW5zaWduZWQgbG9uZyB0b3RhbCAgID0gMDsKKwl1bnNpZ25lZCBsb25nIGVudHJpZXMgPSAwOworCWludCBjcHU7CisJY29uc3QgY2hhciAqbmFtZSA9ICJwcmVlbXB0aW9uIjsKKworCWlmICh0eXBlKQorCQluYW1lID0gdHlwZS0+bmFtZTsKKworCWZvcl9lYWNoX3RyYWNpbmdfY3B1KGNwdSkgeworCQlpZiAoaGVhZF9wYWdlKHRyLT5kYXRhW2NwdV0pKSB7CisJCQl0b3RhbCArPSB0ci0+ZGF0YVtjcHVdLT50cmFjZV9pZHg7CisJCQlpZiAodHItPmRhdGFbY3B1XS0+dHJhY2VfaWR4ID4gdHItPmVudHJpZXMpCisJCQkJZW50cmllcyArPSB0ci0+ZW50cmllczsKKwkJCWVsc2UKKwkJCQllbnRyaWVzICs9IHRyLT5kYXRhW2NwdV0tPnRyYWNlX2lkeDsKKwkJfQorCX0KKworCXNlcV9wcmludGYobSwgIiVzIGxhdGVuY3kgdHJhY2UgdjEuMS41IG9uICVzXG4iLAorCQkgICBuYW1lLCBVVFNfUkVMRUFTRSk7CisJc2VxX3B1dHMobSwgIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIgorCQkgIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIik7CisJc2VxX3ByaW50ZihtLCAiIGxhdGVuY3k6ICVsdSB1cywgIyVsdS8lbHUsIENQVSMlZCB8IgorCQkgICAiIChNOiVzIFZQOiVkLCBLUDolZCwgU1A6JWQgSFA6JWQiLAorCQkgICBuc2Vjc190b191c2VjcyhkYXRhLT5zYXZlZF9sYXRlbmN5KSwKKwkJICAgZW50cmllcywKKwkJICAgdG90YWwsCisJCSAgIHRyLT5jcHUsCisjaWYgZGVmaW5lZChDT05GSUdfUFJFRU1QVF9OT05FKQorCQkgICAic2VydmVyIiwKKyNlbGlmIGRlZmluZWQoQ09ORklHX1BSRUVNUFRfVk9MVU5UQVJZKQorCQkgICAiZGVza3RvcCIsCisjZWxpZiBkZWZpbmVkKENPTkZJR19QUkVFTVBUKQorCQkgICAicHJlZW1wdCIsCisjZWxzZQorCQkgICAidW5rbm93biIsCisjZW5kaWYKKwkJICAgLyogVGhlc2UgYXJlIHJlc2VydmVkIGZvciBsYXRlciB1c2UgKi8KKwkJICAgMCwgMCwgMCwgMCk7CisjaWZkZWYgQ09ORklHX1NNUAorCXNlcV9wcmludGYobSwgIiAjUDolZClcbiIsIG51bV9vbmxpbmVfY3B1cygpKTsKKyNlbHNlCisJc2VxX3B1dHMobSwgIilcbiIpOworI2VuZGlmCisJc2VxX3B1dHMobSwgIiAgICAtLS0tLS0tLS0tLS0tLS0tLVxuIik7CisJc2VxX3ByaW50ZihtLCAiICAgIHwgdGFzazogJS4xNnMtJWQgIgorCQkgICAiKHVpZDolZCBuaWNlOiVsZCBwb2xpY3k6JWxkIHJ0X3ByaW86JWxkKVxuIiwKKwkJICAgZGF0YS0+Y29tbSwgZGF0YS0+cGlkLCBkYXRhLT51aWQsIGRhdGEtPm5pY2UsCisJCSAgIGRhdGEtPnBvbGljeSwgZGF0YS0+cnRfcHJpb3JpdHkpOworCXNlcV9wdXRzKG0sICIgICAgLS0tLS0tLS0tLS0tLS0tLS1cbiIpOworCisJaWYgKGRhdGEtPmNyaXRpY2FsX3N0YXJ0KSB7CisJCXNlcV9wdXRzKG0sICIgPT4gc3RhcnRlZCBhdDogIik7CisJCXNlcV9wcmludF9pcF9zeW0oJml0ZXItPnNlcSwgZGF0YS0+Y3JpdGljYWxfc3RhcnQsIHN5bV9mbGFncyk7CisJCXRyYWNlX3ByaW50X3NlcShtLCAmaXRlci0+c2VxKTsKKwkJc2VxX3B1dHMobSwgIlxuID0+IGVuZGVkIGF0OiAgICIpOworCQlzZXFfcHJpbnRfaXBfc3ltKCZpdGVyLT5zZXEsIGRhdGEtPmNyaXRpY2FsX2VuZCwgc3ltX2ZsYWdzKTsKKwkJdHJhY2VfcHJpbnRfc2VxKG0sICZpdGVyLT5zZXEpOworCQlzZXFfcHV0cyhtLCAiXG4iKTsKKwl9CisKKwlzZXFfcHV0cyhtLCAiXG4iKTsKK30KKworc3RhdGljIHZvaWQKK2xhdF9wcmludF9nZW5lcmljKHN0cnVjdCB0cmFjZV9zZXEgKnMsIHN0cnVjdCB0cmFjZV9lbnRyeSAqZW50cnksIGludCBjcHUpCit7CisJaW50IGhhcmRpcnEsIHNvZnRpcnE7CisJY2hhciAqY29tbTsKKworCWNvbW0gPSB0cmFjZV9maW5kX2NtZGxpbmUoZW50cnktPnBpZCk7CisKKwl0cmFjZV9zZXFfcHJpbnRmKHMsICIlOC44cy0lLTVkICIsIGNvbW0sIGVudHJ5LT5waWQpOworCXRyYWNlX3NlcV9wcmludGYocywgIiVkIiwgY3B1KTsKKwl0cmFjZV9zZXFfcHJpbnRmKHMsICIlYyVjIiwKKwkJCShlbnRyeS0+ZmxhZ3MgJiBUUkFDRV9GTEFHX0lSUVNfT0ZGKSA/ICdkJyA6ICcuJywKKwkJCSgoZW50cnktPmZsYWdzICYgVFJBQ0VfRkxBR19ORUVEX1JFU0NIRUQpID8gJ04nIDogJy4nKSk7CisKKwloYXJkaXJxID0gZW50cnktPmZsYWdzICYgVFJBQ0VfRkxBR19IQVJESVJROworCXNvZnRpcnEgPSBlbnRyeS0+ZmxhZ3MgJiBUUkFDRV9GTEFHX1NPRlRJUlE7CisJaWYgKGhhcmRpcnEgJiYgc29mdGlycSkgeworCQl0cmFjZV9zZXFfcHV0YyhzLCAnSCcpOworCX0gZWxzZSB7CisJCWlmIChoYXJkaXJxKSB7CisJCQl0cmFjZV9zZXFfcHV0YyhzLCAnaCcpOworCQl9IGVsc2UgeworCQkJaWYgKHNvZnRpcnEpCisJCQkJdHJhY2Vfc2VxX3B1dGMocywgJ3MnKTsKKwkJCWVsc2UKKwkJCQl0cmFjZV9zZXFfcHV0YyhzLCAnLicpOworCQl9CisJfQorCisJaWYgKGVudHJ5LT5wcmVlbXB0X2NvdW50KQorCQl0cmFjZV9zZXFfcHJpbnRmKHMsICIleCIsIGVudHJ5LT5wcmVlbXB0X2NvdW50KTsKKwllbHNlCisJCXRyYWNlX3NlcV9wdXRzKHMsICIuIik7Cit9CisKK3Vuc2lnbmVkIGxvbmcgcHJlZW1wdF9tYXJrX3RocmVzaCA9IDEwMDsKKworc3RhdGljIHZvaWQKK2xhdF9wcmludF90aW1lc3RhbXAoc3RydWN0IHRyYWNlX3NlcSAqcywgdW5zaWduZWQgbG9uZyBsb25nIGFic191c2VjcywKKwkJICAgIHVuc2lnbmVkIGxvbmcgcmVsX3VzZWNzKQoreworCXRyYWNlX3NlcV9wcmludGYocywgIiAlNGxsZHVzIiwgYWJzX3VzZWNzKTsKKwlpZiAocmVsX3VzZWNzID4gcHJlZW1wdF9tYXJrX3RocmVzaCkKKwkJdHJhY2Vfc2VxX3B1dHMocywgIiE6ICIpOworCWVsc2UgaWYgKHJlbF91c2VjcyA+IDEpCisJCXRyYWNlX3NlcV9wdXRzKHMsICIrOiAiKTsKKwllbHNlCisJCXRyYWNlX3NlcV9wdXRzKHMsICIgOiAiKTsKK30KKworc3RhdGljIGNvbnN0IGNoYXIgc3RhdGVfdG9fY2hhcltdID0gVEFTS19TVEFURV9UT19DSEFSX1NUUjsKKworc3RhdGljIGludAorcHJpbnRfbGF0X2ZtdChzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIsIHVuc2lnbmVkIGludCB0cmFjZV9pZHgsIGludCBjcHUpCit7CisJc3RydWN0IHRyYWNlX3NlcSAqcyA9ICZpdGVyLT5zZXE7CisJdW5zaWduZWQgbG9uZyBzeW1fZmxhZ3MgPSAodHJhY2VfZmxhZ3MgJiBUUkFDRV9JVEVSX1NZTV9NQVNLKTsKKwlzdHJ1Y3QgdHJhY2VfZW50cnkgKm5leHRfZW50cnkgPSBmaW5kX25leHRfZW50cnkoaXRlciwgTlVMTCk7CisJdW5zaWduZWQgbG9uZyB2ZXJib3NlID0gKHRyYWNlX2ZsYWdzICYgVFJBQ0VfSVRFUl9WRVJCT1NFKTsKKwlzdHJ1Y3QgdHJhY2VfZW50cnkgKmVudHJ5ID0gaXRlci0+ZW50OworCXVuc2lnbmVkIGxvbmcgYWJzX3VzZWNzOworCXVuc2lnbmVkIGxvbmcgcmVsX3VzZWNzOworCWNoYXIgKmNvbW07CisJaW50IFMsIFQ7CisJaW50IGk7CisJdW5zaWduZWQgc3RhdGU7CisKKwlpZiAoIW5leHRfZW50cnkpCisJCW5leHRfZW50cnkgPSBlbnRyeTsKKwlyZWxfdXNlY3MgPSBuczJ1c2VjcyhuZXh0X2VudHJ5LT50IC0gZW50cnktPnQpOworCWFic191c2VjcyA9IG5zMnVzZWNzKGVudHJ5LT50IC0gaXRlci0+dHItPnRpbWVfc3RhcnQpOworCisJaWYgKHZlcmJvc2UpIHsKKwkJY29tbSA9IHRyYWNlX2ZpbmRfY21kbGluZShlbnRyeS0+cGlkKTsKKwkJdHJhY2Vfc2VxX3ByaW50ZihzLCAiJTE2cyAlNWQgJWQgJWQgJTA4eCAlMDh4IFslMDhseF0iCisJCQkJICIgJWxkLiUwM2xkbXMgKCslbGQuJTAzbGRtcyk6ICIsCisJCQkJIGNvbW0sCisJCQkJIGVudHJ5LT5waWQsIGNwdSwgZW50cnktPmZsYWdzLAorCQkJCSBlbnRyeS0+cHJlZW1wdF9jb3VudCwgdHJhY2VfaWR4LAorCQkJCSBuczJ1c2VjcyhlbnRyeS0+dCksCisJCQkJIGFic191c2Vjcy8xMDAwLAorCQkJCSBhYnNfdXNlY3MgJSAxMDAwLCByZWxfdXNlY3MvMTAwMCwKKwkJCQkgcmVsX3VzZWNzICUgMTAwMCk7CisJfSBlbHNlIHsKKwkJbGF0X3ByaW50X2dlbmVyaWMocywgZW50cnksIGNwdSk7CisJCWxhdF9wcmludF90aW1lc3RhbXAocywgYWJzX3VzZWNzLCByZWxfdXNlY3MpOworCX0KKwlzd2l0Y2ggKGVudHJ5LT50eXBlKSB7CisJY2FzZSBUUkFDRV9GTjoKKwkJc2VxX3ByaW50X2lwX3N5bShzLCBlbnRyeS0+Zm4uaXAsIHN5bV9mbGFncyk7CisJCXRyYWNlX3NlcV9wdXRzKHMsICIgKCIpOworCQlpZiAoa3JldHByb2JlZChlbnRyeS0+Zm4ucGFyZW50X2lwKSkKKwkJCXRyYWNlX3NlcV9wdXRzKHMsIEtSRVRQUk9CRV9NU0cpOworCQllbHNlCisJCQlzZXFfcHJpbnRfaXBfc3ltKHMsIGVudHJ5LT5mbi5wYXJlbnRfaXAsIHN5bV9mbGFncyk7CisJCXRyYWNlX3NlcV9wdXRzKHMsICIpXG4iKTsKKwkJYnJlYWs7CisJY2FzZSBUUkFDRV9DVFg6CisJY2FzZSBUUkFDRV9XQUtFOgorCQlUID0gZW50cnktPmN0eC5uZXh0X3N0YXRlIDwgc2l6ZW9mKHN0YXRlX3RvX2NoYXIpID8KKwkJCXN0YXRlX3RvX2NoYXJbZW50cnktPmN0eC5uZXh0X3N0YXRlXSA6ICdYJzsKKworCQlzdGF0ZSA9IGVudHJ5LT5jdHgucHJldl9zdGF0ZSA/IF9fZmZzKGVudHJ5LT5jdHgucHJldl9zdGF0ZSkgKyAxIDogMDsKKwkJUyA9IHN0YXRlIDwgc2l6ZW9mKHN0YXRlX3RvX2NoYXIpIC0gMSA/IHN0YXRlX3RvX2NoYXJbc3RhdGVdIDogJ1gnOworCQljb21tID0gdHJhY2VfZmluZF9jbWRsaW5lKGVudHJ5LT5jdHgubmV4dF9waWQpOworCQl0cmFjZV9zZXFfcHJpbnRmKHMsICIgJTVkOiUzZDolYyAlcyAlNWQ6JTNkOiVjICVzXG4iLAorCQkJCSBlbnRyeS0+Y3R4LnByZXZfcGlkLAorCQkJCSBlbnRyeS0+Y3R4LnByZXZfcHJpbywKKwkJCQkgUywgZW50cnktPnR5cGUgPT0gVFJBQ0VfQ1RYID8gIj09PiIgOiAiICArIiwKKwkJCQkgZW50cnktPmN0eC5uZXh0X3BpZCwKKwkJCQkgZW50cnktPmN0eC5uZXh0X3ByaW8sCisJCQkJIFQsIGNvbW0pOworCQlicmVhazsKKwljYXNlIFRSQUNFX1NQRUNJQUw6CisJCXRyYWNlX3NlcV9wcmludGYocywgIiMgJWxkICVsZCAlbGRcbiIsCisJCQkJIGVudHJ5LT5zcGVjaWFsLmFyZzEsCisJCQkJIGVudHJ5LT5zcGVjaWFsLmFyZzIsCisJCQkJIGVudHJ5LT5zcGVjaWFsLmFyZzMpOworCQlicmVhazsKKwljYXNlIFRSQUNFX1NUQUNLOgorCQlmb3IgKGkgPSAwOyBpIDwgRlRSQUNFX1NUQUNLX0VOVFJJRVM7IGkrKykgeworCQkJaWYgKGkpCisJCQkJdHJhY2Vfc2VxX3B1dHMocywgIiA8PSAiKTsKKwkJCXNlcV9wcmludF9pcF9zeW0ocywgZW50cnktPnN0YWNrLmNhbGxlcltpXSwgc3ltX2ZsYWdzKTsKKwkJfQorCQl0cmFjZV9zZXFfcHV0cyhzLCAiXG4iKTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJdHJhY2Vfc2VxX3ByaW50ZihzLCAiVW5rbm93biB0eXBlICVkXG4iLCBlbnRyeS0+dHlwZSk7CisJfQorCXJldHVybiAxOworfQorCitzdGF0aWMgaW50IHByaW50X3RyYWNlX2ZtdChzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIpCit7CisJc3RydWN0IHRyYWNlX3NlcSAqcyA9ICZpdGVyLT5zZXE7CisJdW5zaWduZWQgbG9uZyBzeW1fZmxhZ3MgPSAodHJhY2VfZmxhZ3MgJiBUUkFDRV9JVEVSX1NZTV9NQVNLKTsKKwlzdHJ1Y3QgdHJhY2VfZW50cnkgKmVudHJ5OworCXVuc2lnbmVkIGxvbmcgdXNlY19yZW07CisJdW5zaWduZWQgbG9uZyBsb25nIHQ7CisJdW5zaWduZWQgbG9uZyBzZWNzOworCWNoYXIgKmNvbW07CisJaW50IHJldDsKKwlpbnQgUywgVDsKKwlpbnQgaTsKKworCWVudHJ5ID0gaXRlci0+ZW50OworCisJY29tbSA9IHRyYWNlX2ZpbmRfY21kbGluZShpdGVyLT5lbnQtPnBpZCk7CisKKwl0ID0gbnMydXNlY3MoZW50cnktPnQpOworCXVzZWNfcmVtID0gZG9fZGl2KHQsIDEwMDAwMDBVTEwpOworCXNlY3MgPSAodW5zaWduZWQgbG9uZyl0OworCisJcmV0ID0gdHJhY2Vfc2VxX3ByaW50ZihzLCAiJTE2cy0lLTVkICIsIGNvbW0sIGVudHJ5LT5waWQpOworCWlmICghcmV0KQorCQlyZXR1cm4gMDsKKwlyZXQgPSB0cmFjZV9zZXFfcHJpbnRmKHMsICJbJTAyZF0gIiwgaXRlci0+Y3B1KTsKKwlpZiAoIXJldCkKKwkJcmV0dXJuIDA7CisJcmV0ID0gdHJhY2Vfc2VxX3ByaW50ZihzLCAiJTVsdS4lMDZsdTogIiwgc2VjcywgdXNlY19yZW0pOworCWlmICghcmV0KQorCQlyZXR1cm4gMDsKKworCXN3aXRjaCAoZW50cnktPnR5cGUpIHsKKwljYXNlIFRSQUNFX0ZOOgorCQlyZXQgPSBzZXFfcHJpbnRfaXBfc3ltKHMsIGVudHJ5LT5mbi5pcCwgc3ltX2ZsYWdzKTsKKwkJaWYgKCFyZXQpCisJCQlyZXR1cm4gMDsKKwkJaWYgKChzeW1fZmxhZ3MgJiBUUkFDRV9JVEVSX1BSSU5UX1BBUkVOVCkgJiYKKwkJCQkJCWVudHJ5LT5mbi5wYXJlbnRfaXApIHsKKwkJCXJldCA9IHRyYWNlX3NlcV9wcmludGYocywgIiA8LSIpOworCQkJaWYgKCFyZXQpCisJCQkJcmV0dXJuIDA7CisJCQlpZiAoa3JldHByb2JlZChlbnRyeS0+Zm4ucGFyZW50X2lwKSkKKwkJCQlyZXQgPSB0cmFjZV9zZXFfcHV0cyhzLCBLUkVUUFJPQkVfTVNHKTsKKwkJCWVsc2UKKwkJCQlyZXQgPSBzZXFfcHJpbnRfaXBfc3ltKHMsIGVudHJ5LT5mbi5wYXJlbnRfaXAsCisJCQkJCQkgICAgICAgc3ltX2ZsYWdzKTsKKwkJCWlmICghcmV0KQorCQkJCXJldHVybiAwOworCQl9CisJCXJldCA9IHRyYWNlX3NlcV9wcmludGYocywgIlxuIik7CisJCWlmICghcmV0KQorCQkJcmV0dXJuIDA7CisJCWJyZWFrOworCWNhc2UgVFJBQ0VfQ1RYOgorCWNhc2UgVFJBQ0VfV0FLRToKKwkJUyA9IGVudHJ5LT5jdHgucHJldl9zdGF0ZSA8IHNpemVvZihzdGF0ZV90b19jaGFyKSA/CisJCQlzdGF0ZV90b19jaGFyW2VudHJ5LT5jdHgucHJldl9zdGF0ZV0gOiAnWCc7CisJCVQgPSBlbnRyeS0+Y3R4Lm5leHRfc3RhdGUgPCBzaXplb2Yoc3RhdGVfdG9fY2hhcikgPworCQkJc3RhdGVfdG9fY2hhcltlbnRyeS0+Y3R4Lm5leHRfc3RhdGVdIDogJ1gnOworCQlyZXQgPSB0cmFjZV9zZXFfcHJpbnRmKHMsICIgJTVkOiUzZDolYyAlcyAlNWQ6JTNkOiVjXG4iLAorCQkJCSAgICAgICBlbnRyeS0+Y3R4LnByZXZfcGlkLAorCQkJCSAgICAgICBlbnRyeS0+Y3R4LnByZXZfcHJpbywKKwkJCQkgICAgICAgUywKKwkJCQkgICAgICAgZW50cnktPnR5cGUgPT0gVFJBQ0VfQ1RYID8gIj09PiIgOiAiICArIiwKKwkJCQkgICAgICAgZW50cnktPmN0eC5uZXh0X3BpZCwKKwkJCQkgICAgICAgZW50cnktPmN0eC5uZXh0X3ByaW8sCisJCQkJICAgICAgIFQpOworCQlpZiAoIXJldCkKKwkJCXJldHVybiAwOworCQlicmVhazsKKwljYXNlIFRSQUNFX1NQRUNJQUw6CisJCXJldCA9IHRyYWNlX3NlcV9wcmludGYocywgIiMgJWxkICVsZCAlbGRcbiIsCisJCQkJIGVudHJ5LT5zcGVjaWFsLmFyZzEsCisJCQkJIGVudHJ5LT5zcGVjaWFsLmFyZzIsCisJCQkJIGVudHJ5LT5zcGVjaWFsLmFyZzMpOworCQlpZiAoIXJldCkKKwkJCXJldHVybiAwOworCQlicmVhazsKKwljYXNlIFRSQUNFX1NUQUNLOgorCQlmb3IgKGkgPSAwOyBpIDwgRlRSQUNFX1NUQUNLX0VOVFJJRVM7IGkrKykgeworCQkJaWYgKGkpIHsKKwkJCQlyZXQgPSB0cmFjZV9zZXFfcHV0cyhzLCAiIDw9ICIpOworCQkJCWlmICghcmV0KQorCQkJCQlyZXR1cm4gMDsKKwkJCX0KKwkJCXJldCA9IHNlcV9wcmludF9pcF9zeW0ocywgZW50cnktPnN0YWNrLmNhbGxlcltpXSwKKwkJCQkJICAgICAgIHN5bV9mbGFncyk7CisJCQlpZiAoIXJldCkKKwkJCQlyZXR1cm4gMDsKKwkJfQorCQlyZXQgPSB0cmFjZV9zZXFfcHV0cyhzLCAiXG4iKTsKKwkJaWYgKCFyZXQpCisJCQlyZXR1cm4gMDsKKwkJYnJlYWs7CisJfQorCXJldHVybiAxOworfQorCitzdGF0aWMgaW50IHByaW50X3Jhd19mbXQoc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyKQoreworCXN0cnVjdCB0cmFjZV9zZXEgKnMgPSAmaXRlci0+c2VxOworCXN0cnVjdCB0cmFjZV9lbnRyeSAqZW50cnk7CisJaW50IHJldDsKKwlpbnQgUywgVDsKKworCWVudHJ5ID0gaXRlci0+ZW50OworCisJcmV0ID0gdHJhY2Vfc2VxX3ByaW50ZihzLCAiJWQgJWQgJWxsdSAiLAorCQllbnRyeS0+cGlkLCBpdGVyLT5jcHUsIGVudHJ5LT50KTsKKwlpZiAoIXJldCkKKwkJcmV0dXJuIDA7CisKKwlzd2l0Y2ggKGVudHJ5LT50eXBlKSB7CisJY2FzZSBUUkFDRV9GTjoKKwkJcmV0ID0gdHJhY2Vfc2VxX3ByaW50ZihzLCAiJXggJXhcbiIsCisJCQkJCWVudHJ5LT5mbi5pcCwgZW50cnktPmZuLnBhcmVudF9pcCk7CisJCWlmICghcmV0KQorCQkJcmV0dXJuIDA7CisJCWJyZWFrOworCWNhc2UgVFJBQ0VfQ1RYOgorCWNhc2UgVFJBQ0VfV0FLRToKKwkJUyA9IGVudHJ5LT5jdHgucHJldl9zdGF0ZSA8IHNpemVvZihzdGF0ZV90b19jaGFyKSA/CisJCQlzdGF0ZV90b19jaGFyW2VudHJ5LT5jdHgucHJldl9zdGF0ZV0gOiAnWCc7CisJCVQgPSBlbnRyeS0+Y3R4Lm5leHRfc3RhdGUgPCBzaXplb2Yoc3RhdGVfdG9fY2hhcikgPworCQkJc3RhdGVfdG9fY2hhcltlbnRyeS0+Y3R4Lm5leHRfc3RhdGVdIDogJ1gnOworCQlpZiAoZW50cnktPnR5cGUgPT0gVFJBQ0VfV0FLRSkKKwkJCVMgPSAnKyc7CisJCXJldCA9IHRyYWNlX3NlcV9wcmludGYocywgIiVkICVkICVjICVkICVkICVjXG4iLAorCQkJCSAgICAgICBlbnRyeS0+Y3R4LnByZXZfcGlkLAorCQkJCSAgICAgICBlbnRyeS0+Y3R4LnByZXZfcHJpbywKKwkJCQkgICAgICAgUywKKwkJCQkgICAgICAgZW50cnktPmN0eC5uZXh0X3BpZCwKKwkJCQkgICAgICAgZW50cnktPmN0eC5uZXh0X3ByaW8sCisJCQkJICAgICAgIFQpOworCQlpZiAoIXJldCkKKwkJCXJldHVybiAwOworCQlicmVhazsKKwljYXNlIFRSQUNFX1NQRUNJQUw6CisJY2FzZSBUUkFDRV9TVEFDSzoKKwkJcmV0ID0gdHJhY2Vfc2VxX3ByaW50ZihzLCAiIyAlbGQgJWxkICVsZFxuIiwKKwkJCQkgZW50cnktPnNwZWNpYWwuYXJnMSwKKwkJCQkgZW50cnktPnNwZWNpYWwuYXJnMiwKKwkJCQkgZW50cnktPnNwZWNpYWwuYXJnMyk7CisJCWlmICghcmV0KQorCQkJcmV0dXJuIDA7CisJCWJyZWFrOworCX0KKwlyZXR1cm4gMTsKK30KKworI2RlZmluZSBTRVFfUFVUX0ZJRUxEX1JFVChzLCB4KQkJCQlcCitkbyB7CQkJCQkJCVwKKwlpZiAoIXRyYWNlX3NlcV9wdXRtZW0ocywgJih4KSwgc2l6ZW9mKHgpKSkJXAorCQlyZXR1cm4gMDsJCQkJXAorfSB3aGlsZSAoMCkKKworI2RlZmluZSBTRVFfUFVUX0hFWF9GSUVMRF9SRVQocywgeCkJCQlcCitkbyB7CQkJCQkJCVwKKwlpZiAoIXRyYWNlX3NlcV9wdXRtZW1faGV4KHMsICYoeCksIHNpemVvZih4KSkpCVwKKwkJcmV0dXJuIDA7CQkJCVwKK30gd2hpbGUgKDApCisKK3N0YXRpYyBpbnQgcHJpbnRfaGV4X2ZtdChzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIpCit7CisJc3RydWN0IHRyYWNlX3NlcSAqcyA9ICZpdGVyLT5zZXE7CisJdW5zaWduZWQgY2hhciBuZXdsaW5lID0gJ1xuJzsKKwlzdHJ1Y3QgdHJhY2VfZW50cnkgKmVudHJ5OworCWludCBTLCBUOworCisJZW50cnkgPSBpdGVyLT5lbnQ7CisKKwlTRVFfUFVUX0hFWF9GSUVMRF9SRVQocywgZW50cnktPnBpZCk7CisJU0VRX1BVVF9IRVhfRklFTERfUkVUKHMsIGl0ZXItPmNwdSk7CisJU0VRX1BVVF9IRVhfRklFTERfUkVUKHMsIGVudHJ5LT50KTsKKworCXN3aXRjaCAoZW50cnktPnR5cGUpIHsKKwljYXNlIFRSQUNFX0ZOOgorCQlTRVFfUFVUX0hFWF9GSUVMRF9SRVQocywgZW50cnktPmZuLmlwKTsKKwkJU0VRX1BVVF9IRVhfRklFTERfUkVUKHMsIGVudHJ5LT5mbi5wYXJlbnRfaXApOworCQlicmVhazsKKwljYXNlIFRSQUNFX0NUWDoKKwljYXNlIFRSQUNFX1dBS0U6CisJCVMgPSBlbnRyeS0+Y3R4LnByZXZfc3RhdGUgPCBzaXplb2Yoc3RhdGVfdG9fY2hhcikgPworCQkJc3RhdGVfdG9fY2hhcltlbnRyeS0+Y3R4LnByZXZfc3RhdGVdIDogJ1gnOworCQlUID0gZW50cnktPmN0eC5uZXh0X3N0YXRlIDwgc2l6ZW9mKHN0YXRlX3RvX2NoYXIpID8KKwkJCXN0YXRlX3RvX2NoYXJbZW50cnktPmN0eC5uZXh0X3N0YXRlXSA6ICdYJzsKKwkJaWYgKGVudHJ5LT50eXBlID09IFRSQUNFX1dBS0UpCisJCQlTID0gJysnOworCQlTRVFfUFVUX0hFWF9GSUVMRF9SRVQocywgZW50cnktPmN0eC5wcmV2X3BpZCk7CisJCVNFUV9QVVRfSEVYX0ZJRUxEX1JFVChzLCBlbnRyeS0+Y3R4LnByZXZfcHJpbyk7CisJCVNFUV9QVVRfSEVYX0ZJRUxEX1JFVChzLCBTKTsKKwkJU0VRX1BVVF9IRVhfRklFTERfUkVUKHMsIGVudHJ5LT5jdHgubmV4dF9waWQpOworCQlTRVFfUFVUX0hFWF9GSUVMRF9SRVQocywgZW50cnktPmN0eC5uZXh0X3ByaW8pOworCQlTRVFfUFVUX0hFWF9GSUVMRF9SRVQocywgZW50cnktPmZuLnBhcmVudF9pcCk7CisJCVNFUV9QVVRfSEVYX0ZJRUxEX1JFVChzLCBUKTsKKwkJYnJlYWs7CisJY2FzZSBUUkFDRV9TUEVDSUFMOgorCWNhc2UgVFJBQ0VfU1RBQ0s6CisJCVNFUV9QVVRfSEVYX0ZJRUxEX1JFVChzLCBlbnRyeS0+c3BlY2lhbC5hcmcxKTsKKwkJU0VRX1BVVF9IRVhfRklFTERfUkVUKHMsIGVudHJ5LT5zcGVjaWFsLmFyZzIpOworCQlTRVFfUFVUX0hFWF9GSUVMRF9SRVQocywgZW50cnktPnNwZWNpYWwuYXJnMyk7CisJCWJyZWFrOworCX0KKwlTRVFfUFVUX0ZJRUxEX1JFVChzLCBuZXdsaW5lKTsKKworCXJldHVybiAxOworfQorCitzdGF0aWMgaW50IHByaW50X2Jpbl9mbXQoc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyKQoreworCXN0cnVjdCB0cmFjZV9zZXEgKnMgPSAmaXRlci0+c2VxOworCXN0cnVjdCB0cmFjZV9lbnRyeSAqZW50cnk7CisKKwllbnRyeSA9IGl0ZXItPmVudDsKKworCVNFUV9QVVRfRklFTERfUkVUKHMsIGVudHJ5LT5waWQpOworCVNFUV9QVVRfRklFTERfUkVUKHMsIGVudHJ5LT5jcHUpOworCVNFUV9QVVRfRklFTERfUkVUKHMsIGVudHJ5LT50KTsKKworCXN3aXRjaCAoZW50cnktPnR5cGUpIHsKKwljYXNlIFRSQUNFX0ZOOgorCQlTRVFfUFVUX0ZJRUxEX1JFVChzLCBlbnRyeS0+Zm4uaXApOworCQlTRVFfUFVUX0ZJRUxEX1JFVChzLCBlbnRyeS0+Zm4ucGFyZW50X2lwKTsKKwkJYnJlYWs7CisJY2FzZSBUUkFDRV9DVFg6CisJCVNFUV9QVVRfRklFTERfUkVUKHMsIGVudHJ5LT5jdHgucHJldl9waWQpOworCQlTRVFfUFVUX0ZJRUxEX1JFVChzLCBlbnRyeS0+Y3R4LnByZXZfcHJpbyk7CisJCVNFUV9QVVRfRklFTERfUkVUKHMsIGVudHJ5LT5jdHgucHJldl9zdGF0ZSk7CisJCVNFUV9QVVRfRklFTERfUkVUKHMsIGVudHJ5LT5jdHgubmV4dF9waWQpOworCQlTRVFfUFVUX0ZJRUxEX1JFVChzLCBlbnRyeS0+Y3R4Lm5leHRfcHJpbyk7CisJCVNFUV9QVVRfRklFTERfUkVUKHMsIGVudHJ5LT5jdHgubmV4dF9zdGF0ZSk7CisJCWJyZWFrOworCWNhc2UgVFJBQ0VfU1BFQ0lBTDoKKwljYXNlIFRSQUNFX1NUQUNLOgorCQlTRVFfUFVUX0ZJRUxEX1JFVChzLCBlbnRyeS0+c3BlY2lhbC5hcmcxKTsKKwkJU0VRX1BVVF9GSUVMRF9SRVQocywgZW50cnktPnNwZWNpYWwuYXJnMik7CisJCVNFUV9QVVRfRklFTERfUkVUKHMsIGVudHJ5LT5zcGVjaWFsLmFyZzMpOworCQlicmVhazsKKwl9CisJcmV0dXJuIDE7Cit9CisKK3N0YXRpYyBpbnQgdHJhY2VfZW1wdHkoc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyKQoreworCXN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGE7CisJaW50IGNwdTsKKworCWZvcl9lYWNoX3RyYWNpbmdfY3B1KGNwdSkgeworCQlkYXRhID0gaXRlci0+dHItPmRhdGFbY3B1XTsKKworCQlpZiAoaGVhZF9wYWdlKGRhdGEpICYmIGRhdGEtPnRyYWNlX2lkeCAmJgorCQkgICAgKGRhdGEtPnRyYWNlX3RhaWwgIT0gZGF0YS0+dHJhY2VfaGVhZCB8fAorCQkgICAgIGRhdGEtPnRyYWNlX3RhaWxfaWR4ICE9IGRhdGEtPnRyYWNlX2hlYWRfaWR4KSkKKwkJCXJldHVybiAwOworCX0KKwlyZXR1cm4gMTsKK30KKworc3RhdGljIGludCBwcmludF90cmFjZV9saW5lKHN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlcikKK3sKKwlpZiAoaXRlci0+dHJhY2UgJiYgaXRlci0+dHJhY2UtPnByaW50X2xpbmUpCisJCXJldHVybiBpdGVyLT50cmFjZS0+cHJpbnRfbGluZShpdGVyKTsKKworCWlmICh0cmFjZV9mbGFncyAmIFRSQUNFX0lURVJfQklOKQorCQlyZXR1cm4gcHJpbnRfYmluX2ZtdChpdGVyKTsKKworCWlmICh0cmFjZV9mbGFncyAmIFRSQUNFX0lURVJfSEVYKQorCQlyZXR1cm4gcHJpbnRfaGV4X2ZtdChpdGVyKTsKKworCWlmICh0cmFjZV9mbGFncyAmIFRSQUNFX0lURVJfUkFXKQorCQlyZXR1cm4gcHJpbnRfcmF3X2ZtdChpdGVyKTsKKworCWlmIChpdGVyLT5pdGVyX2ZsYWdzICYgVFJBQ0VfRklMRV9MQVRfRk1UKQorCQlyZXR1cm4gcHJpbnRfbGF0X2ZtdChpdGVyLCBpdGVyLT5pZHgsIGl0ZXItPmNwdSk7CisKKwlyZXR1cm4gcHJpbnRfdHJhY2VfZm10KGl0ZXIpOworfQorCitzdGF0aWMgaW50IHNfc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKnYpCit7CisJc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyID0gdjsKKworCWlmIChpdGVyLT5lbnQgPT0gTlVMTCkgeworCQlpZiAoaXRlci0+dHIpIHsKKwkJCXNlcV9wcmludGYobSwgIiMgdHJhY2VyOiAlc1xuIiwgaXRlci0+dHJhY2UtPm5hbWUpOworCQkJc2VxX3B1dHMobSwgIiNcbiIpOworCQl9CisJCWlmIChpdGVyLT5pdGVyX2ZsYWdzICYgVFJBQ0VfRklMRV9MQVRfRk1UKSB7CisJCQkvKiBwcmludCBub3RoaW5nIGlmIHRoZSBidWZmZXJzIGFyZSBlbXB0eSAqLworCQkJaWYgKHRyYWNlX2VtcHR5KGl0ZXIpKQorCQkJCXJldHVybiAwOworCQkJcHJpbnRfdHJhY2VfaGVhZGVyKG0sIGl0ZXIpOworCQkJaWYgKCEodHJhY2VfZmxhZ3MgJiBUUkFDRV9JVEVSX1ZFUkJPU0UpKQorCQkJCXByaW50X2xhdF9oZWxwX2hlYWRlcihtKTsKKwkJfSBlbHNlIHsKKwkJCWlmICghKHRyYWNlX2ZsYWdzICYgVFJBQ0VfSVRFUl9WRVJCT1NFKSkKKwkJCQlwcmludF9mdW5jX2hlbHBfaGVhZGVyKG0pOworCQl9CisJfSBlbHNlIHsKKwkJcHJpbnRfdHJhY2VfbGluZShpdGVyKTsKKwkJdHJhY2VfcHJpbnRfc2VxKG0sICZpdGVyLT5zZXEpOworCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMgc3RydWN0IHNlcV9vcGVyYXRpb25zIHRyYWNlcl9zZXFfb3BzID0geworCS5zdGFydAkJPSBzX3N0YXJ0LAorCS5uZXh0CQk9IHNfbmV4dCwKKwkuc3RvcAkJPSBzX3N0b3AsCisJLnNob3cJCT0gc19zaG93LAorfTsKKworc3RhdGljIHN0cnVjdCB0cmFjZV9pdGVyYXRvciAqCitfX3RyYWNpbmdfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSwgaW50ICpyZXQpCit7CisJc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyOworCisJaWYgKHRyYWNpbmdfZGlzYWJsZWQpIHsKKwkJKnJldCA9IC1FTk9ERVY7CisJCXJldHVybiBOVUxMOworCX0KKworCWl0ZXIgPSBremFsbG9jKHNpemVvZigqaXRlciksIEdGUF9LRVJORUwpOworCWlmICghaXRlcikgeworCQkqcmV0ID0gLUVOT01FTTsKKwkJZ290byBvdXQ7CisJfQorCisJbXV0ZXhfbG9jaygmdHJhY2VfdHlwZXNfbG9jayk7CisJaWYgKGN1cnJlbnRfdHJhY2UgJiYgY3VycmVudF90cmFjZS0+cHJpbnRfbWF4KQorCQlpdGVyLT50ciA9ICZtYXhfdHI7CisJZWxzZQorCQlpdGVyLT50ciA9IGlub2RlLT5pX3ByaXZhdGU7CisJaXRlci0+dHJhY2UgPSBjdXJyZW50X3RyYWNlOworCWl0ZXItPnBvcyA9IC0xOworCisJLyogVE9ETyBzdG9wIHRyYWNlciAqLworCSpyZXQgPSBzZXFfb3BlbihmaWxlLCAmdHJhY2VyX3NlcV9vcHMpOworCWlmICghKnJldCkgeworCQlzdHJ1Y3Qgc2VxX2ZpbGUgKm0gPSBmaWxlLT5wcml2YXRlX2RhdGE7CisJCW0tPnByaXZhdGUgPSBpdGVyOworCisJCS8qIHN0b3AgdGhlIHRyYWNlIHdoaWxlIGR1bXBpbmcgKi8KKwkJaWYgKGl0ZXItPnRyLT5jdHJsKSB7CisJCQl0cmFjZXJfZW5hYmxlZCA9IDA7CisJCQlmdHJhY2VfZnVuY3Rpb25fZW5hYmxlZCA9IDA7CisJCX0KKworCQlpZiAoaXRlci0+dHJhY2UgJiYgaXRlci0+dHJhY2UtPm9wZW4pCisJCQlpdGVyLT50cmFjZS0+b3BlbihpdGVyKTsKKwl9IGVsc2UgeworCQlrZnJlZShpdGVyKTsKKwkJaXRlciA9IE5VTEw7CisJfQorCW11dGV4X3VubG9jaygmdHJhY2VfdHlwZXNfbG9jayk7CisKKyBvdXQ6CisJcmV0dXJuIGl0ZXI7Cit9CisKK2ludCB0cmFjaW5nX29wZW5fZ2VuZXJpYyhzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlscCkKK3sKKwlpZiAodHJhY2luZ19kaXNhYmxlZCkKKwkJcmV0dXJuIC1FTk9ERVY7CisKKwlmaWxwLT5wcml2YXRlX2RhdGEgPSBpbm9kZS0+aV9wcml2YXRlOworCXJldHVybiAwOworfQorCitpbnQgdHJhY2luZ19yZWxlYXNlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQoreworCXN0cnVjdCBzZXFfZmlsZSAqbSA9IChzdHJ1Y3Qgc2VxX2ZpbGUgKilmaWxlLT5wcml2YXRlX2RhdGE7CisJc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyID0gbS0+cHJpdmF0ZTsKKworCW11dGV4X2xvY2soJnRyYWNlX3R5cGVzX2xvY2spOworCWlmIChpdGVyLT50cmFjZSAmJiBpdGVyLT50cmFjZS0+Y2xvc2UpCisJCWl0ZXItPnRyYWNlLT5jbG9zZShpdGVyKTsKKworCS8qIHJlZW5hYmxlIHRyYWNpbmcgaWYgaXQgd2FzIHByZXZpb3VzbHkgZW5hYmxlZCAqLworCWlmIChpdGVyLT50ci0+Y3RybCkgeworCQl0cmFjZXJfZW5hYmxlZCA9IDE7CisJCS8qCisJCSAqIEl0IGlzIHNhZmUgdG8gZW5hYmxlIGZ1bmN0aW9uIHRyYWNpbmcgZXZlbiBpZiBpdAorCQkgKiBpc24ndCB1c2VkCisJCSAqLworCQlmdHJhY2VfZnVuY3Rpb25fZW5hYmxlZCA9IDE7CisJfQorCW11dGV4X3VubG9jaygmdHJhY2VfdHlwZXNfbG9jayk7CisKKwlzZXFfcmVsZWFzZShpbm9kZSwgZmlsZSk7CisJa2ZyZWUoaXRlcik7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgdHJhY2luZ19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQoreworCWludCByZXQ7CisKKwlfX3RyYWNpbmdfb3Blbihpbm9kZSwgZmlsZSwgJnJldCk7CisKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IHRyYWNpbmdfbHRfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKK3sKKwlzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXI7CisJaW50IHJldDsKKworCWl0ZXIgPSBfX3RyYWNpbmdfb3Blbihpbm9kZSwgZmlsZSwgJnJldCk7CisKKwlpZiAoIXJldCkKKwkJaXRlci0+aXRlcl9mbGFncyB8PSBUUkFDRV9GSUxFX0xBVF9GTVQ7CisKKwlyZXR1cm4gcmV0OworfQorCisKK3N0YXRpYyB2b2lkICoKK3RfbmV4dChzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKnYsIGxvZmZfdCAqcG9zKQoreworCXN0cnVjdCB0cmFjZXIgKnQgPSBtLT5wcml2YXRlOworCisJKCpwb3MpKys7CisKKwlpZiAodCkKKwkJdCA9IHQtPm5leHQ7CisKKwltLT5wcml2YXRlID0gdDsKKworCXJldHVybiB0OworfQorCitzdGF0aWMgdm9pZCAqdF9zdGFydChzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIGxvZmZfdCAqcG9zKQoreworCXN0cnVjdCB0cmFjZXIgKnQgPSBtLT5wcml2YXRlOworCWxvZmZfdCBsID0gMDsKKworCW11dGV4X2xvY2soJnRyYWNlX3R5cGVzX2xvY2spOworCWZvciAoOyB0ICYmIGwgPCAqcG9zOyB0ID0gdF9uZXh0KG0sIHQsICZsKSkKKwkJOworCisJcmV0dXJuIHQ7Cit9CisKK3N0YXRpYyB2b2lkIHRfc3RvcChzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKnApCit7CisJbXV0ZXhfdW5sb2NrKCZ0cmFjZV90eXBlc19sb2NrKTsKK30KKworc3RhdGljIGludCB0X3Nob3coc3RydWN0IHNlcV9maWxlICptLCB2b2lkICp2KQoreworCXN0cnVjdCB0cmFjZXIgKnQgPSB2OworCisJaWYgKCF0KQorCQlyZXR1cm4gMDsKKworCXNlcV9wcmludGYobSwgIiVzIiwgdC0+bmFtZSk7CisJaWYgKHQtPm5leHQpCisJCXNlcV9wdXRjKG0sICcgJyk7CisJZWxzZQorCQlzZXFfcHV0YyhtLCAnXG4nKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgc3RydWN0IHNlcV9vcGVyYXRpb25zIHNob3dfdHJhY2VzX3NlcV9vcHMgPSB7CisJLnN0YXJ0CQk9IHRfc3RhcnQsCisJLm5leHQJCT0gdF9uZXh0LAorCS5zdG9wCQk9IHRfc3RvcCwKKwkuc2hvdwkJPSB0X3Nob3csCit9OworCitzdGF0aWMgaW50IHNob3dfdHJhY2VzX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCit7CisJaW50IHJldDsKKworCWlmICh0cmFjaW5nX2Rpc2FibGVkKQorCQlyZXR1cm4gLUVOT0RFVjsKKworCXJldCA9IHNlcV9vcGVuKGZpbGUsICZzaG93X3RyYWNlc19zZXFfb3BzKTsKKwlpZiAoIXJldCkgeworCQlzdHJ1Y3Qgc2VxX2ZpbGUgKm0gPSBmaWxlLT5wcml2YXRlX2RhdGE7CisJCW0tPnByaXZhdGUgPSB0cmFjZV90eXBlczsKKwl9CisKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyB0cmFjaW5nX2ZvcHMgPSB7CisJLm9wZW4JCT0gdHJhY2luZ19vcGVuLAorCS5yZWFkCQk9IHNlcV9yZWFkLAorCS5sbHNlZWsJCT0gc2VxX2xzZWVrLAorCS5yZWxlYXNlCT0gdHJhY2luZ19yZWxlYXNlLAorfTsKKworc3RhdGljIHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgdHJhY2luZ19sdF9mb3BzID0geworCS5vcGVuCQk9IHRyYWNpbmdfbHRfb3BlbiwKKwkucmVhZAkJPSBzZXFfcmVhZCwKKwkubGxzZWVrCQk9IHNlcV9sc2VlaywKKwkucmVsZWFzZQk9IHRyYWNpbmdfcmVsZWFzZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIHNob3dfdHJhY2VzX2ZvcHMgPSB7CisJLm9wZW4JCT0gc2hvd190cmFjZXNfb3BlbiwKKwkucmVhZAkJPSBzZXFfcmVhZCwKKwkucmVsZWFzZQk9IHNlcV9yZWxlYXNlLAorfTsKKworLyoKKyAqIE9ubHkgdHJhY2Ugb24gYSBDUFUgaWYgdGhlIGJpdG1hc2sgaXMgc2V0OgorICovCitzdGF0aWMgY3B1bWFza190IHRyYWNpbmdfY3B1bWFzayA9IENQVV9NQVNLX0FMTDsKKworLyoKKyAqIFdoZW4gdHJhY2luZy90cmFjaW5nX2NwdV9tYXNrIGlzIG1vZGlmaWVkIHRoZW4gdGhpcyBob2xkcworICogdGhlIG5ldyBiaXRtYXNrIHdlIGFyZSBhYm91dCB0byBpbnN0YWxsOgorICovCitzdGF0aWMgY3B1bWFza190IHRyYWNpbmdfY3B1bWFza19uZXc7CisKKy8qCisgKiBUaGUgdHJhY2VyIGl0c2VsZiB3aWxsIG5vdCB0YWtlIHRoaXMgbG9jaywgYnV0IHN0aWxsIHdlIHdhbnQKKyAqIHRvIHByb3ZpZGUgYSBjb25zaXN0ZW50IGNwdW1hc2sgdG8gdXNlci1zcGFjZToKKyAqLworc3RhdGljIERFRklORV9NVVRFWCh0cmFjaW5nX2NwdW1hc2tfdXBkYXRlX2xvY2spOworCisvKgorICogVGVtcG9yYXJ5IHN0b3JhZ2UgZm9yIHRoZSBjaGFyYWN0ZXIgcmVwcmVzZW50YXRpb24gb2YgdGhlCisgKiBDUFUgYml0bWFzayAoYW5kIG9uZSBtb3JlIGJ5dGUgZm9yIHRoZSBuZXdsaW5lKToKKyAqLworc3RhdGljIGNoYXIgbWFza19zdHJbTlJfQ1BVUyArIDFdOworCitzdGF0aWMgc3NpemVfdAordHJhY2luZ19jcHVtYXNrX3JlYWQoc3RydWN0IGZpbGUgKmZpbHAsIGNoYXIgX191c2VyICp1YnVmLAorCQkgICAgIHNpemVfdCBjb3VudCwgbG9mZl90ICpwcG9zKQoreworCWludCBsZW47CisKKwltdXRleF9sb2NrKCZ0cmFjaW5nX2NwdW1hc2tfdXBkYXRlX2xvY2spOworCisJbGVuID0gY3B1bWFza19zY25wcmludGYobWFza19zdHIsIGNvdW50LCB0cmFjaW5nX2NwdW1hc2spOworCWlmIChjb3VudCAtIGxlbiA8IDIpIHsKKwkJY291bnQgPSAtRUlOVkFMOworCQlnb3RvIG91dF9lcnI7CisJfQorCWxlbiArPSBzcHJpbnRmKG1hc2tfc3RyICsgbGVuLCAiXG4iKTsKKwljb3VudCA9IHNpbXBsZV9yZWFkX2Zyb21fYnVmZmVyKHVidWYsIGNvdW50LCBwcG9zLCBtYXNrX3N0ciwgTlJfQ1BVUysxKTsKKworb3V0X2VycjoKKwltdXRleF91bmxvY2soJnRyYWNpbmdfY3B1bWFza191cGRhdGVfbG9jayk7CisKKwlyZXR1cm4gY291bnQ7Cit9CisKK3N0YXRpYyBzc2l6ZV90Cit0cmFjaW5nX2NwdW1hc2tfd3JpdGUoc3RydWN0IGZpbGUgKmZpbHAsIGNvbnN0IGNoYXIgX191c2VyICp1YnVmLAorCQkgICAgICBzaXplX3QgY291bnQsIGxvZmZfdCAqcHBvcykKK3sKKwlpbnQgZXJyLCBjcHU7CisKKwltdXRleF9sb2NrKCZ0cmFjaW5nX2NwdW1hc2tfdXBkYXRlX2xvY2spOworCWVyciA9IGNwdW1hc2tfcGFyc2VfdXNlcih1YnVmLCBjb3VudCwgdHJhY2luZ19jcHVtYXNrX25ldyk7CisJaWYgKGVycikKKwkJZ290byBlcnJfdW5sb2NrOworCisJcmF3X2xvY2FsX2lycV9kaXNhYmxlKCk7CisJX19yYXdfc3Bpbl9sb2NrKCZmdHJhY2VfbWF4X2xvY2spOworCWZvcl9lYWNoX3RyYWNpbmdfY3B1KGNwdSkgeworCQkvKgorCQkgKiBJbmNyZWFzZS9kZWNyZWFzZSB0aGUgZGlzYWJsZWQgY291bnRlciBpZiB3ZSBhcmUKKwkJICogYWJvdXQgdG8gZmxpcCBhIGJpdCBpbiB0aGUgY3B1bWFzazoKKwkJICovCisJCWlmIChjcHVfaXNzZXQoY3B1LCB0cmFjaW5nX2NwdW1hc2spICYmCisJCQkJIWNwdV9pc3NldChjcHUsIHRyYWNpbmdfY3B1bWFza19uZXcpKSB7CisJCQlhdG9taWNfaW5jKCZnbG9iYWxfdHJhY2UuZGF0YVtjcHVdLT5kaXNhYmxlZCk7CisJCX0KKwkJaWYgKCFjcHVfaXNzZXQoY3B1LCB0cmFjaW5nX2NwdW1hc2spICYmCisJCQkJY3B1X2lzc2V0KGNwdSwgdHJhY2luZ19jcHVtYXNrX25ldykpIHsKKwkJCWF0b21pY19kZWMoJmdsb2JhbF90cmFjZS5kYXRhW2NwdV0tPmRpc2FibGVkKTsKKwkJfQorCX0KKwlfX3Jhd19zcGluX3VubG9jaygmZnRyYWNlX21heF9sb2NrKTsKKwlyYXdfbG9jYWxfaXJxX2VuYWJsZSgpOworCisJdHJhY2luZ19jcHVtYXNrID0gdHJhY2luZ19jcHVtYXNrX25ldzsKKworCW11dGV4X3VubG9jaygmdHJhY2luZ19jcHVtYXNrX3VwZGF0ZV9sb2NrKTsKKworCXJldHVybiBjb3VudDsKKworZXJyX3VubG9jazoKKwltdXRleF91bmxvY2soJnRyYWNpbmdfY3B1bWFza191cGRhdGVfbG9jayk7CisKKwlyZXR1cm4gZXJyOworfQorCitzdGF0aWMgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyB0cmFjaW5nX2NwdW1hc2tfZm9wcyA9IHsKKwkub3BlbgkJPSB0cmFjaW5nX29wZW5fZ2VuZXJpYywKKwkucmVhZAkJPSB0cmFjaW5nX2NwdW1hc2tfcmVhZCwKKwkud3JpdGUJCT0gdHJhY2luZ19jcHVtYXNrX3dyaXRlLAorfTsKKworc3RhdGljIHNzaXplX3QKK3RyYWNpbmdfaXRlcl9jdHJsX3JlYWQoc3RydWN0IGZpbGUgKmZpbHAsIGNoYXIgX191c2VyICp1YnVmLAorCQkgICAgICAgc2l6ZV90IGNudCwgbG9mZl90ICpwcG9zKQoreworCWNoYXIgKmJ1ZjsKKwlpbnQgciA9IDA7CisJaW50IGxlbiA9IDA7CisJaW50IGk7CisKKwkvKiBjYWx1bGF0ZSBtYXggc2l6ZSAqLworCWZvciAoaSA9IDA7IHRyYWNlX29wdGlvbnNbaV07IGkrKykgeworCQlsZW4gKz0gc3RybGVuKHRyYWNlX29wdGlvbnNbaV0pOworCQlsZW4gKz0gMzsgLyogIm5vIiBhbmQgc3BhY2UgKi8KKwl9CisKKwkvKiArMiBmb3IgXG4gYW5kIFwwICovCisJYnVmID0ga21hbGxvYyhsZW4gKyAyLCBHRlBfS0VSTkVMKTsKKwlpZiAoIWJ1ZikKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlmb3IgKGkgPSAwOyB0cmFjZV9vcHRpb25zW2ldOyBpKyspIHsKKwkJaWYgKHRyYWNlX2ZsYWdzICYgKDEgPDwgaSkpCisJCQlyICs9IHNwcmludGYoYnVmICsgciwgIiVzICIsIHRyYWNlX29wdGlvbnNbaV0pOworCQllbHNlCisJCQlyICs9IHNwcmludGYoYnVmICsgciwgIm5vJXMgIiwgdHJhY2Vfb3B0aW9uc1tpXSk7CisJfQorCisJciArPSBzcHJpbnRmKGJ1ZiArIHIsICJcbiIpOworCVdBUk5fT04ociA+PSBsZW4gKyAyKTsKKworCXIgPSBzaW1wbGVfcmVhZF9mcm9tX2J1ZmZlcih1YnVmLCBjbnQsIHBwb3MsIGJ1Ziwgcik7CisKKwlrZnJlZShidWYpOworCisJcmV0dXJuIHI7Cit9CisKK3N0YXRpYyBzc2l6ZV90Cit0cmFjaW5nX2l0ZXJfY3RybF93cml0ZShzdHJ1Y3QgZmlsZSAqZmlscCwgY29uc3QgY2hhciBfX3VzZXIgKnVidWYsCisJCQlzaXplX3QgY250LCBsb2ZmX3QgKnBwb3MpCit7CisJY2hhciBidWZbNjRdOworCWNoYXIgKmNtcCA9IGJ1ZjsKKwlpbnQgbmVnID0gMDsKKwlpbnQgaTsKKworCWlmIChjbnQgPj0gc2l6ZW9mKGJ1ZikpCisJCXJldHVybiAtRUlOVkFMOworCisJaWYgKGNvcHlfZnJvbV91c2VyKCZidWYsIHVidWYsIGNudCkpCisJCXJldHVybiAtRUZBVUxUOworCisJYnVmW2NudF0gPSAwOworCisJaWYgKHN0cm5jbXAoYnVmLCAibm8iLCAyKSA9PSAwKSB7CisJCW5lZyA9IDE7CisJCWNtcCArPSAyOworCX0KKworCWZvciAoaSA9IDA7IHRyYWNlX29wdGlvbnNbaV07IGkrKykgeworCQlpbnQgbGVuID0gc3RybGVuKHRyYWNlX29wdGlvbnNbaV0pOworCisJCWlmIChzdHJuY21wKGNtcCwgdHJhY2Vfb3B0aW9uc1tpXSwgbGVuKSA9PSAwKSB7CisJCQlpZiAobmVnKQorCQkJCXRyYWNlX2ZsYWdzICY9IH4oMSA8PCBpKTsKKwkJCWVsc2UKKwkJCQl0cmFjZV9mbGFncyB8PSAoMSA8PCBpKTsKKwkJCWJyZWFrOworCQl9CisJfQorCS8qCisJICogSWYgbm8gb3B0aW9uIGNvdWxkIGJlIHNldCwgcmV0dXJuIGFuIGVycm9yOgorCSAqLworCWlmICghdHJhY2Vfb3B0aW9uc1tpXSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlmaWxwLT5mX3BvcyArPSBjbnQ7CisKKwlyZXR1cm4gY250OworfQorCitzdGF0aWMgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyB0cmFjaW5nX2l0ZXJfZm9wcyA9IHsKKwkub3BlbgkJPSB0cmFjaW5nX29wZW5fZ2VuZXJpYywKKwkucmVhZAkJPSB0cmFjaW5nX2l0ZXJfY3RybF9yZWFkLAorCS53cml0ZQkJPSB0cmFjaW5nX2l0ZXJfY3RybF93cml0ZSwKK307CisKK3N0YXRpYyBjb25zdCBjaGFyIHJlYWRtZV9tc2dbXSA9CisJInRyYWNpbmcgbWluaS1IT1dUTzpcblxuIgorCSIjIG1rZGlyIC9kZWJ1Z1xuIgorCSIjIG1vdW50IC10IGRlYnVnZnMgbm9kZXYgL2RlYnVnXG5cbiIKKwkiIyBjYXQgL2RlYnVnL3RyYWNpbmcvYXZhaWxhYmxlX3RyYWNlcnNcbiIKKwkid2FrZXVwIHByZWVtcHRpcnFzb2ZmIHByZWVtcHRvZmYgaXJxc29mZiBmdHJhY2Ugc2NoZWRfc3dpdGNoIG5vbmVcblxuIgorCSIjIGNhdCAvZGVidWcvdHJhY2luZy9jdXJyZW50X3RyYWNlclxuIgorCSJub25lXG4iCisJIiMgZWNobyBzY2hlZF9zd2l0Y2ggPiAvZGVidWcvdHJhY2luZy9jdXJyZW50X3RyYWNlclxuIgorCSIjIGNhdCAvZGVidWcvdHJhY2luZy9jdXJyZW50X3RyYWNlclxuIgorCSJzY2hlZF9zd2l0Y2hcbiIKKwkiIyBjYXQgL2RlYnVnL3RyYWNpbmcvaXRlcl9jdHJsXG4iCisJIm5vcHJpbnQtcGFyZW50IG5vc3ltLW9mZnNldCBub3N5bS1hZGRyIG5vdmVyYm9zZVxuIgorCSIjIGVjaG8gcHJpbnQtcGFyZW50ID4gL2RlYnVnL3RyYWNpbmcvaXRlcl9jdHJsXG4iCisJIiMgZWNobyAxID4gL2RlYnVnL3RyYWNpbmcvdHJhY2luZ19lbmFibGVkXG4iCisJIiMgY2F0IC9kZWJ1Zy90cmFjaW5nL3RyYWNlID4gL3RtcC90cmFjZS50eHRcbiIKKwkiZWNobyAwID4gL2RlYnVnL3RyYWNpbmcvdHJhY2luZ19lbmFibGVkXG4iCis7CisKK3N0YXRpYyBzc2l6ZV90Cit0cmFjaW5nX3JlYWRtZV9yZWFkKHN0cnVjdCBmaWxlICpmaWxwLCBjaGFyIF9fdXNlciAqdWJ1ZiwKKwkJICAgICAgIHNpemVfdCBjbnQsIGxvZmZfdCAqcHBvcykKK3sKKwlyZXR1cm4gc2ltcGxlX3JlYWRfZnJvbV9idWZmZXIodWJ1ZiwgY250LCBwcG9zLAorCQkJCQlyZWFkbWVfbXNnLCBzdHJsZW4ocmVhZG1lX21zZykpOworfQorCitzdGF0aWMgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyB0cmFjaW5nX3JlYWRtZV9mb3BzID0geworCS5vcGVuCQk9IHRyYWNpbmdfb3Blbl9nZW5lcmljLAorCS5yZWFkCQk9IHRyYWNpbmdfcmVhZG1lX3JlYWQsCit9OworCitzdGF0aWMgc3NpemVfdAordHJhY2luZ19jdHJsX3JlYWQoc3RydWN0IGZpbGUgKmZpbHAsIGNoYXIgX191c2VyICp1YnVmLAorCQkgIHNpemVfdCBjbnQsIGxvZmZfdCAqcHBvcykKK3sKKwlzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyID0gZmlscC0+cHJpdmF0ZV9kYXRhOworCWNoYXIgYnVmWzY0XTsKKwlpbnQgcjsKKworCXIgPSBzcHJpbnRmKGJ1ZiwgIiVsZFxuIiwgdHItPmN0cmwpOworCXJldHVybiBzaW1wbGVfcmVhZF9mcm9tX2J1ZmZlcih1YnVmLCBjbnQsIHBwb3MsIGJ1Ziwgcik7Cit9CisKK3N0YXRpYyBzc2l6ZV90Cit0cmFjaW5nX2N0cmxfd3JpdGUoc3RydWN0IGZpbGUgKmZpbHAsIGNvbnN0IGNoYXIgX191c2VyICp1YnVmLAorCQkgICBzaXplX3QgY250LCBsb2ZmX3QgKnBwb3MpCit7CisJc3RydWN0IHRyYWNlX2FycmF5ICp0ciA9IGZpbHAtPnByaXZhdGVfZGF0YTsKKwljaGFyIGJ1Zls2NF07CisJbG9uZyB2YWw7CisJaW50IHJldDsKKworCWlmIChjbnQgPj0gc2l6ZW9mKGJ1ZikpCisJCXJldHVybiAtRUlOVkFMOworCisJaWYgKGNvcHlfZnJvbV91c2VyKCZidWYsIHVidWYsIGNudCkpCisJCXJldHVybiAtRUZBVUxUOworCisJYnVmW2NudF0gPSAwOworCisJcmV0ID0gc3RyaWN0X3N0cnRvdWwoYnVmLCAxMCwgJnZhbCk7CisJaWYgKHJldCA8IDApCisJCXJldHVybiByZXQ7CisKKwl2YWwgPSAhIXZhbDsKKworCW11dGV4X2xvY2soJnRyYWNlX3R5cGVzX2xvY2spOworCWlmICh0ci0+Y3RybCBeIHZhbCkgeworCQlpZiAodmFsKQorCQkJdHJhY2VyX2VuYWJsZWQgPSAxOworCQllbHNlCisJCQl0cmFjZXJfZW5hYmxlZCA9IDA7CisKKwkJdHItPmN0cmwgPSB2YWw7CisKKwkJaWYgKGN1cnJlbnRfdHJhY2UgJiYgY3VycmVudF90cmFjZS0+Y3RybF91cGRhdGUpCisJCQljdXJyZW50X3RyYWNlLT5jdHJsX3VwZGF0ZSh0cik7CisJfQorCW11dGV4X3VubG9jaygmdHJhY2VfdHlwZXNfbG9jayk7CisKKwlmaWxwLT5mX3BvcyArPSBjbnQ7CisKKwlyZXR1cm4gY250OworfQorCitzdGF0aWMgc3NpemVfdAordHJhY2luZ19zZXRfdHJhY2VfcmVhZChzdHJ1Y3QgZmlsZSAqZmlscCwgY2hhciBfX3VzZXIgKnVidWYsCisJCSAgICAgICBzaXplX3QgY250LCBsb2ZmX3QgKnBwb3MpCit7CisJY2hhciBidWZbbWF4X3RyYWNlcl90eXBlX2xlbisyXTsKKwlpbnQgcjsKKworCW11dGV4X2xvY2soJnRyYWNlX3R5cGVzX2xvY2spOworCWlmIChjdXJyZW50X3RyYWNlKQorCQlyID0gc3ByaW50ZihidWYsICIlc1xuIiwgY3VycmVudF90cmFjZS0+bmFtZSk7CisJZWxzZQorCQlyID0gc3ByaW50ZihidWYsICJcbiIpOworCW11dGV4X3VubG9jaygmdHJhY2VfdHlwZXNfbG9jayk7CisKKwlyZXR1cm4gc2ltcGxlX3JlYWRfZnJvbV9idWZmZXIodWJ1ZiwgY250LCBwcG9zLCBidWYsIHIpOworfQorCitzdGF0aWMgc3NpemVfdAordHJhY2luZ19zZXRfdHJhY2Vfd3JpdGUoc3RydWN0IGZpbGUgKmZpbHAsIGNvbnN0IGNoYXIgX191c2VyICp1YnVmLAorCQkJc2l6ZV90IGNudCwgbG9mZl90ICpwcG9zKQoreworCXN0cnVjdCB0cmFjZV9hcnJheSAqdHIgPSAmZ2xvYmFsX3RyYWNlOworCXN0cnVjdCB0cmFjZXIgKnQ7CisJY2hhciBidWZbbWF4X3RyYWNlcl90eXBlX2xlbisxXTsKKwlpbnQgaTsKKworCWlmIChjbnQgPiBtYXhfdHJhY2VyX3R5cGVfbGVuKQorCQljbnQgPSBtYXhfdHJhY2VyX3R5cGVfbGVuOworCisJaWYgKGNvcHlfZnJvbV91c2VyKCZidWYsIHVidWYsIGNudCkpCisJCXJldHVybiAtRUZBVUxUOworCisJYnVmW2NudF0gPSAwOworCisJLyogc3RyaXAgZW5kaW5nIHdoaXRlc3BhY2UuICovCisJZm9yIChpID0gY250IC0gMTsgaSA+IDAgJiYgaXNzcGFjZShidWZbaV0pOyBpLS0pCisJCWJ1ZltpXSA9IDA7CisKKwltdXRleF9sb2NrKCZ0cmFjZV90eXBlc19sb2NrKTsKKwlmb3IgKHQgPSB0cmFjZV90eXBlczsgdDsgdCA9IHQtPm5leHQpIHsKKwkJaWYgKHN0cmNtcCh0LT5uYW1lLCBidWYpID09IDApCisJCQlicmVhazsKKwl9CisJaWYgKCF0IHx8IHQgPT0gY3VycmVudF90cmFjZSkKKwkJZ290byBvdXQ7CisKKwlpZiAoY3VycmVudF90cmFjZSAmJiBjdXJyZW50X3RyYWNlLT5yZXNldCkKKwkJY3VycmVudF90cmFjZS0+cmVzZXQodHIpOworCisJY3VycmVudF90cmFjZSA9IHQ7CisJaWYgKHQtPmluaXQpCisJCXQtPmluaXQodHIpOworCisgb3V0OgorCW11dGV4X3VubG9jaygmdHJhY2VfdHlwZXNfbG9jayk7CisKKwlmaWxwLT5mX3BvcyArPSBjbnQ7CisKKwlyZXR1cm4gY250OworfQorCitzdGF0aWMgc3NpemVfdAordHJhY2luZ19tYXhfbGF0X3JlYWQoc3RydWN0IGZpbGUgKmZpbHAsIGNoYXIgX191c2VyICp1YnVmLAorCQkgICAgIHNpemVfdCBjbnQsIGxvZmZfdCAqcHBvcykKK3sKKwl1bnNpZ25lZCBsb25nICpwdHIgPSBmaWxwLT5wcml2YXRlX2RhdGE7CisJY2hhciBidWZbNjRdOworCWludCByOworCisJciA9IHNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksICIlbGRcbiIsCisJCSAgICAgKnB0ciA9PSAodW5zaWduZWQgbG9uZyktMSA/IC0xIDogbnNlY3NfdG9fdXNlY3MoKnB0cikpOworCWlmIChyID4gc2l6ZW9mKGJ1ZikpCisJCXIgPSBzaXplb2YoYnVmKTsKKwlyZXR1cm4gc2ltcGxlX3JlYWRfZnJvbV9idWZmZXIodWJ1ZiwgY250LCBwcG9zLCBidWYsIHIpOworfQorCitzdGF0aWMgc3NpemVfdAordHJhY2luZ19tYXhfbGF0X3dyaXRlKHN0cnVjdCBmaWxlICpmaWxwLCBjb25zdCBjaGFyIF9fdXNlciAqdWJ1ZiwKKwkJICAgICAgc2l6ZV90IGNudCwgbG9mZl90ICpwcG9zKQoreworCWxvbmcgKnB0ciA9IGZpbHAtPnByaXZhdGVfZGF0YTsKKwljaGFyIGJ1Zls2NF07CisJbG9uZyB2YWw7CisJaW50IHJldDsKKworCWlmIChjbnQgPj0gc2l6ZW9mKGJ1ZikpCisJCXJldHVybiAtRUlOVkFMOworCisJaWYgKGNvcHlfZnJvbV91c2VyKCZidWYsIHVidWYsIGNudCkpCisJCXJldHVybiAtRUZBVUxUOworCisJYnVmW2NudF0gPSAwOworCisJcmV0ID0gc3RyaWN0X3N0cnRvdWwoYnVmLCAxMCwgJnZhbCk7CisJaWYgKHJldCA8IDApCisJCXJldHVybiByZXQ7CisKKwkqcHRyID0gdmFsICogMTAwMDsKKworCXJldHVybiBjbnQ7Cit9CisKK3N0YXRpYyBhdG9taWNfdCB0cmFjaW5nX3JlYWRlcjsKKworc3RhdGljIGludCB0cmFjaW5nX29wZW5fcGlwZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlscCkKK3sKKwlzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXI7CisKKwlpZiAodHJhY2luZ19kaXNhYmxlZCkKKwkJcmV0dXJuIC1FTk9ERVY7CisKKwkvKiBXZSBvbmx5IGFsbG93IGZvciByZWFkZXIgb2YgdGhlIHBpcGUgKi8KKwlpZiAoYXRvbWljX2luY19yZXR1cm4oJnRyYWNpbmdfcmVhZGVyKSAhPSAxKSB7CisJCWF0b21pY19kZWMoJnRyYWNpbmdfcmVhZGVyKTsKKwkJcmV0dXJuIC1FQlVTWTsKKwl9CisKKwkvKiBjcmVhdGUgYSBidWZmZXIgdG8gc3RvcmUgdGhlIGluZm9ybWF0aW9uIHRvIHBhc3MgdG8gdXNlcnNwYWNlICovCisJaXRlciA9IGt6YWxsb2Moc2l6ZW9mKCppdGVyKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFpdGVyKQorCQlyZXR1cm4gLUVOT01FTTsKKworCW11dGV4X2xvY2soJnRyYWNlX3R5cGVzX2xvY2spOworCWl0ZXItPnRyID0gJmdsb2JhbF90cmFjZTsKKwlpdGVyLT50cmFjZSA9IGN1cnJlbnRfdHJhY2U7CisJZmlscC0+cHJpdmF0ZV9kYXRhID0gaXRlcjsKKworCWlmIChpdGVyLT50cmFjZS0+cGlwZV9vcGVuKQorCQlpdGVyLT50cmFjZS0+cGlwZV9vcGVuKGl0ZXIpOworCW11dGV4X3VubG9jaygmdHJhY2VfdHlwZXNfbG9jayk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCB0cmFjaW5nX3JlbGVhc2VfcGlwZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKK3sKKwlzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIgPSBmaWxlLT5wcml2YXRlX2RhdGE7CisKKwlrZnJlZShpdGVyKTsKKwlhdG9taWNfZGVjKCZ0cmFjaW5nX3JlYWRlcik7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHVuc2lnbmVkIGludAordHJhY2luZ19wb2xsX3BpcGUoc3RydWN0IGZpbGUgKmZpbHAsIHBvbGxfdGFibGUgKnBvbGxfdGFibGUpCit7CisJc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyID0gZmlscC0+cHJpdmF0ZV9kYXRhOworCisJaWYgKHRyYWNlX2ZsYWdzICYgVFJBQ0VfSVRFUl9CTE9DSykgeworCQkvKgorCQkgKiBBbHdheXMgc2VsZWN0IGFzIHJlYWRhYmxlIHdoZW4gaW4gYmxvY2tpbmcgbW9kZQorCQkgKi8KKwkJcmV0dXJuIFBPTExJTiB8IFBPTExSRE5PUk07CisJfSBlbHNlIHsKKwkJaWYgKCF0cmFjZV9lbXB0eShpdGVyKSkKKwkJCXJldHVybiBQT0xMSU4gfCBQT0xMUkROT1JNOworCQlwb2xsX3dhaXQoZmlscCwgJnRyYWNlX3dhaXQsIHBvbGxfdGFibGUpOworCQlpZiAoIXRyYWNlX2VtcHR5KGl0ZXIpKQorCQkJcmV0dXJuIFBPTExJTiB8IFBPTExSRE5PUk07CisKKwkJcmV0dXJuIDA7CisJfQorfQorCisvKgorICogQ29uc3VtZXIgcmVhZGVyLgorICovCitzdGF0aWMgc3NpemVfdAordHJhY2luZ19yZWFkX3BpcGUoc3RydWN0IGZpbGUgKmZpbHAsIGNoYXIgX191c2VyICp1YnVmLAorCQkgIHNpemVfdCBjbnQsIGxvZmZfdCAqcHBvcykKK3sKKwlzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIgPSBmaWxwLT5wcml2YXRlX2RhdGE7CisJc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YTsKKwlzdGF0aWMgY3B1bWFza190IG1hc2s7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKyNpZmRlZiBDT05GSUdfRlRSQUNFCisJaW50IGZ0cmFjZV9zYXZlOworI2VuZGlmCisJaW50IGNwdTsKKwlzc2l6ZV90IHNyZXQ7CisKKwkvKiByZXR1cm4gYW55IGxlZnRvdmVyIGRhdGEgKi8KKwlzcmV0ID0gdHJhY2Vfc2VxX3RvX3VzZXIoJml0ZXItPnNlcSwgdWJ1ZiwgY250KTsKKwlpZiAoc3JldCAhPSAtRUJVU1kpCisJCXJldHVybiBzcmV0OworCXNyZXQgPSAwOworCisJdHJhY2Vfc2VxX3Jlc2V0KCZpdGVyLT5zZXEpOworCisJbXV0ZXhfbG9jaygmdHJhY2VfdHlwZXNfbG9jayk7CisJaWYgKGl0ZXItPnRyYWNlLT5yZWFkKSB7CisJCXNyZXQgPSBpdGVyLT50cmFjZS0+cmVhZChpdGVyLCBmaWxwLCB1YnVmLCBjbnQsIHBwb3MpOworCQlpZiAoc3JldCkKKwkJCWdvdG8gb3V0OworCX0KKworCXdoaWxlICh0cmFjZV9lbXB0eShpdGVyKSkgeworCisJCWlmICgoZmlscC0+Zl9mbGFncyAmIE9fTk9OQkxPQ0spKSB7CisJCQlzcmV0ID0gLUVBR0FJTjsKKwkJCWdvdG8gb3V0OworCQl9CisKKwkJLyoKKwkJICogVGhpcyBpcyBhIG1ha2Utc2hpZnQgd2FpdHF1ZXVlLiBUaGUgcmVhc29uIHdlIGRvbid0IHVzZQorCQkgKiBhbiBhY3R1YWwgd2FpdCBxdWV1ZSBpcyBiZWNhdXNlOgorCQkgKiAgMSkgd2Ugb25seSBldmVyIGhhdmUgb25lIHdhaXRlcgorCQkgKiAgMikgdGhlIHRyYWNpbmcsIHRyYWNlcyBhbGwgZnVuY3Rpb25zLCB3ZSBkb24ndCB3YW50CisJCSAqICAgICB0aGUgb3ZlcmhlYWQgb2YgY2FsbGluZyB3YWtlX3VwIGFuZCBmcmllbmRzCisJCSAqICAgICAoYW5kIHRyYWNpbmcgdGhlbSB0b28pCisJCSAqICAgICBBbnl3YXksIHRoaXMgaXMgcmVhbGx5IHZlcnkgcHJpbWl0aXZlIHdha2V1cC4KKwkJICovCisJCXNldF9jdXJyZW50X3N0YXRlKFRBU0tfSU5URVJSVVBUSUJMRSk7CisJCWl0ZXItPnRyLT53YWl0ZXIgPSBjdXJyZW50OworCisJCW11dGV4X3VubG9jaygmdHJhY2VfdHlwZXNfbG9jayk7CisKKwkJLyogc2xlZXAgZm9yIDEwMCBtc2VjcywgYW5kIHRyeSBhZ2Fpbi4gKi8KKwkJc2NoZWR1bGVfdGltZW91dChIWi8xMCk7CisKKwkJbXV0ZXhfbG9jaygmdHJhY2VfdHlwZXNfbG9jayk7CisKKwkJaXRlci0+dHItPndhaXRlciA9IE5VTEw7CisKKwkJaWYgKHNpZ25hbF9wZW5kaW5nKGN1cnJlbnQpKSB7CisJCQlzcmV0ID0gLUVJTlRSOworCQkJZ290byBvdXQ7CisJCX0KKworCQlpZiAoaXRlci0+dHJhY2UgIT0gY3VycmVudF90cmFjZSkKKwkJCWdvdG8gb3V0OworCisJCS8qCisJCSAqIFdlIGJsb2NrIHVudGlsIHdlIHJlYWQgc29tZXRoaW5nIGFuZCB0cmFjaW5nIGlzIGRpc2FibGVkLgorCQkgKiBXZSBzdGlsbCBibG9jayBpZiB0cmFjaW5nIGlzIGRpc2FibGVkLCBidXQgd2UgaGF2ZSBuZXZlcgorCQkgKiByZWFkIGFueXRoaW5nLiBUaGlzIGFsbG93cyBhIHVzZXIgdG8gY2F0IHRoaXMgZmlsZSwgYW5kCisJCSAqIHRoZW4gZW5hYmxlIHRyYWNpbmcuIEJ1dCBhZnRlciB3ZSBoYXZlIHJlYWQgc29tZXRoaW5nLAorCQkgKiB3ZSBnaXZlIGFuIEVPRiB3aGVuIHRyYWNpbmcgaXMgYWdhaW4gZGlzYWJsZWQuCisJCSAqCisJCSAqIGl0ZXItPnBvcyB3aWxsIGJlIDAgaWYgd2UgaGF2ZW4ndCByZWFkIGFueXRoaW5nLgorCQkgKi8KKwkJaWYgKCF0cmFjZXJfZW5hYmxlZCAmJiBpdGVyLT5wb3MpCisJCQlicmVhazsKKworCQljb250aW51ZTsKKwl9CisKKwkvKiBzdG9wIHdoZW4gdHJhY2luZyBpcyBmaW5pc2hlZCAqLworCWlmICh0cmFjZV9lbXB0eShpdGVyKSkKKwkJZ290byBvdXQ7CisKKwlpZiAoY250ID49IFBBR0VfU0laRSkKKwkJY250ID0gUEFHRV9TSVpFIC0gMTsKKworCS8qIHJlc2V0IGFsbCBidXQgdHIsIHRyYWNlLCBhbmQgb3ZlcnJ1bnMgKi8KKwltZW1zZXQoJml0ZXItPnNlcSwgMCwKKwkgICAgICAgc2l6ZW9mKHN0cnVjdCB0cmFjZV9pdGVyYXRvcikgLQorCSAgICAgICBvZmZzZXRvZihzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IsIHNlcSkpOworCWl0ZXItPnBvcyA9IC0xOworCisJLyoKKwkgKiBXZSBuZWVkIHRvIHN0b3AgYWxsIHRyYWNpbmcgb24gYWxsIENQVVMgdG8gcmVhZCB0aGUKKwkgKiB0aGUgbmV4dCBidWZmZXIuIFRoaXMgaXMgYSBiaXQgZXhwZW5zaXZlLCBidXQgaXMKKwkgKiBub3QgZG9uZSBvZnRlbi4gV2UgZmlsbCBhbGwgd2hhdCB3ZSBjYW4gcmVhZCwKKwkgKiBhbmQgdGhlbiByZWxlYXNlIHRoZSBsb2NrcyBhZ2Fpbi4KKwkgKi8KKworCWNwdXNfY2xlYXIobWFzayk7CisJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOworI2lmZGVmIENPTkZJR19GVFJBQ0UKKwlmdHJhY2Vfc2F2ZSA9IGZ0cmFjZV9lbmFibGVkOworCWZ0cmFjZV9lbmFibGVkID0gMDsKKyNlbmRpZgorCXNtcF93bWIoKTsKKwlmb3JfZWFjaF90cmFjaW5nX2NwdShjcHUpIHsKKwkJZGF0YSA9IGl0ZXItPnRyLT5kYXRhW2NwdV07CisKKwkJaWYgKCFoZWFkX3BhZ2UoZGF0YSkgfHwgIWRhdGEtPnRyYWNlX2lkeCkKKwkJCWNvbnRpbnVlOworCisJCWF0b21pY19pbmMoJmRhdGEtPmRpc2FibGVkKTsKKwkJY3B1X3NldChjcHUsIG1hc2spOworCX0KKworCWZvcl9lYWNoX2NwdV9tYXNrKGNwdSwgbWFzaykgeworCQlkYXRhID0gaXRlci0+dHItPmRhdGFbY3B1XTsKKwkJX19yYXdfc3Bpbl9sb2NrKCZkYXRhLT5sb2NrKTsKKworCQlpZiAoZGF0YS0+b3ZlcnJ1biA+IGl0ZXItPmxhc3Rfb3ZlcnJ1bltjcHVdKQorCQkJaXRlci0+b3ZlcnJ1bltjcHVdICs9CisJCQkJZGF0YS0+b3ZlcnJ1biAtIGl0ZXItPmxhc3Rfb3ZlcnJ1bltjcHVdOworCQlpdGVyLT5sYXN0X292ZXJydW5bY3B1XSA9IGRhdGEtPm92ZXJydW47CisJfQorCisJd2hpbGUgKGZpbmRfbmV4dF9lbnRyeV9pbmMoaXRlcikgIT0gTlVMTCkgeworCQlpbnQgcmV0OworCQlpbnQgbGVuID0gaXRlci0+c2VxLmxlbjsKKworCQlyZXQgPSBwcmludF90cmFjZV9saW5lKGl0ZXIpOworCQlpZiAoIXJldCkgeworCQkJLyogZG9uJ3QgcHJpbnQgcGFydGlhbCBsaW5lcyAqLworCQkJaXRlci0+c2VxLmxlbiA9IGxlbjsKKwkJCWJyZWFrOworCQl9CisKKwkJdHJhY2VfY29uc3VtZShpdGVyKTsKKworCQlpZiAoaXRlci0+c2VxLmxlbiA+PSBjbnQpCisJCQlicmVhazsKKwl9CisKKwlmb3JfZWFjaF9jcHVfbWFzayhjcHUsIG1hc2spIHsKKwkJZGF0YSA9IGl0ZXItPnRyLT5kYXRhW2NwdV07CisJCV9fcmF3X3NwaW5fdW5sb2NrKCZkYXRhLT5sb2NrKTsKKwl9CisKKwlmb3JfZWFjaF9jcHVfbWFzayhjcHUsIG1hc2spIHsKKwkJZGF0YSA9IGl0ZXItPnRyLT5kYXRhW2NwdV07CisJCWF0b21pY19kZWMoJmRhdGEtPmRpc2FibGVkKTsKKwl9CisjaWZkZWYgQ09ORklHX0ZUUkFDRQorCWZ0cmFjZV9lbmFibGVkID0gZnRyYWNlX3NhdmU7CisjZW5kaWYKKwlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7CisKKwkvKiBOb3cgY29weSB3aGF0IHdlIGhhdmUgdG8gdGhlIHVzZXIgKi8KKwlzcmV0ID0gdHJhY2Vfc2VxX3RvX3VzZXIoJml0ZXItPnNlcSwgdWJ1ZiwgY250KTsKKwlpZiAoaXRlci0+c2VxLnJlYWRwb3MgPj0gaXRlci0+c2VxLmxlbikKKwkJdHJhY2Vfc2VxX3Jlc2V0KCZpdGVyLT5zZXEpOworCWlmIChzcmV0ID09IC1FQlVTWSkKKwkJc3JldCA9IDA7CisKK291dDoKKwltdXRleF91bmxvY2soJnRyYWNlX3R5cGVzX2xvY2spOworCisJcmV0dXJuIHNyZXQ7Cit9CisKK3N0YXRpYyBzc2l6ZV90Cit0cmFjaW5nX2VudHJpZXNfcmVhZChzdHJ1Y3QgZmlsZSAqZmlscCwgY2hhciBfX3VzZXIgKnVidWYsCisJCSAgICAgc2l6ZV90IGNudCwgbG9mZl90ICpwcG9zKQoreworCXN0cnVjdCB0cmFjZV9hcnJheSAqdHIgPSBmaWxwLT5wcml2YXRlX2RhdGE7CisJY2hhciBidWZbNjRdOworCWludCByOworCisJciA9IHNwcmludGYoYnVmLCAiJWx1XG4iLCB0ci0+ZW50cmllcyk7CisJcmV0dXJuIHNpbXBsZV9yZWFkX2Zyb21fYnVmZmVyKHVidWYsIGNudCwgcHBvcywgYnVmLCByKTsKK30KKworc3RhdGljIHNzaXplX3QKK3RyYWNpbmdfZW50cmllc193cml0ZShzdHJ1Y3QgZmlsZSAqZmlscCwgY29uc3QgY2hhciBfX3VzZXIgKnVidWYsCisJCSAgICAgIHNpemVfdCBjbnQsIGxvZmZfdCAqcHBvcykKK3sKKwl1bnNpZ25lZCBsb25nIHZhbDsKKwljaGFyIGJ1Zls2NF07CisJaW50IGksIHJldDsKKworCWlmIChjbnQgPj0gc2l6ZW9mKGJ1ZikpCisJCXJldHVybiAtRUlOVkFMOworCisJaWYgKGNvcHlfZnJvbV91c2VyKCZidWYsIHVidWYsIGNudCkpCisJCXJldHVybiAtRUZBVUxUOworCisJYnVmW2NudF0gPSAwOworCisJcmV0ID0gc3RyaWN0X3N0cnRvdWwoYnVmLCAxMCwgJnZhbCk7CisJaWYgKHJldCA8IDApCisJCXJldHVybiByZXQ7CisKKwkvKiBtdXN0IGhhdmUgYXQgbGVhc3QgMSBlbnRyeSAqLworCWlmICghdmFsKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCW11dGV4X2xvY2soJnRyYWNlX3R5cGVzX2xvY2spOworCisJaWYgKGN1cnJlbnRfdHJhY2UgIT0gJm5vX3RyYWNlcikgeworCQljbnQgPSAtRUJVU1k7CisJCXByX2luZm8oImZ0cmFjZTogc2V0IGN1cnJlbnRfdHJhY2VyIHRvIG5vbmUiCisJCQkiIGJlZm9yZSBtb2RpZnlpbmcgYnVmZmVyIHNpemVcbiIpOworCQlnb3RvIG91dDsKKwl9CisKKwlpZiAodmFsID4gZ2xvYmFsX3RyYWNlLmVudHJpZXMpIHsKKwkJbG9uZyBwYWdlc19yZXF1ZXN0ZWQ7CisJCXVuc2lnbmVkIGxvbmcgZnJlZWFibGVfcGFnZXM7CisKKwkJLyogbWFrZSBzdXJlIHdlIGhhdmUgZW5vdWdoIG1lbW9yeSBiZWZvcmUgbWFwcGluZyAqLworCQlwYWdlc19yZXF1ZXN0ZWQgPQorCQkJKHZhbCArIChFTlRSSUVTX1BFUl9QQUdFLTEpKSAvIEVOVFJJRVNfUEVSX1BBR0U7CisKKwkJLyogYWNjb3VudCBmb3IgZWFjaCBidWZmZXIgKGFuZCBtYXhfdHIpICovCisJCXBhZ2VzX3JlcXVlc3RlZCAqPSB0cmFjaW5nX25yX2J1ZmZlcnMgKiAyOworCisJCS8qIENoZWNrIGZvciBvdmVyZmxvdyAqLworCQlpZiAocGFnZXNfcmVxdWVzdGVkIDwgMCkgeworCQkJY250ID0gLUVOT01FTTsKKwkJCWdvdG8gb3V0OworCQl9CisKKwkJZnJlZWFibGVfcGFnZXMgPSBkZXRlcm1pbmVfZGlydHlhYmxlX21lbW9yeSgpOworCisJCS8qIHdlIG9ubHkgYWxsb3cgdG8gcmVxdWVzdCAxLzQgb2YgdXNlYWJsZSBtZW1vcnkgKi8KKwkJaWYgKHBhZ2VzX3JlcXVlc3RlZCA+CisJCSAgICAoKGZyZWVhYmxlX3BhZ2VzICsgdHJhY2luZ19wYWdlc19hbGxvY2F0ZWQpIC8gNCkpIHsKKwkJCWNudCA9IC1FTk9NRU07CisJCQlnb3RvIG91dDsKKwkJfQorCisJCXdoaWxlIChnbG9iYWxfdHJhY2UuZW50cmllcyA8IHZhbCkgeworCQkJaWYgKHRyYWNlX2FsbG9jX3BhZ2UoKSkgeworCQkJCWNudCA9IC1FTk9NRU07CisJCQkJZ290byBvdXQ7CisJCQl9CisJCQkvKiBkb3VibGUgY2hlY2sgdGhhdCB3ZSBkb24ndCBnbyBvdmVyIHRoZSBrbm93biBwYWdlcyAqLworCQkJaWYgKHRyYWNpbmdfcGFnZXNfYWxsb2NhdGVkID4gcGFnZXNfcmVxdWVzdGVkKQorCQkJCWJyZWFrOworCQl9CisKKwl9IGVsc2UgeworCQkvKiBpbmNsdWRlIHRoZSBudW1iZXIgb2YgZW50cmllcyBpbiB2YWwgKGluYyBvZiBwYWdlIGVudHJpZXMpICovCisJCXdoaWxlIChnbG9iYWxfdHJhY2UuZW50cmllcyA+IHZhbCArIChFTlRSSUVTX1BFUl9QQUdFIC0gMSkpCisJCQl0cmFjZV9mcmVlX3BhZ2UoKTsKKwl9CisKKwkvKiBjaGVjayBpbnRlZ3JpdHkgKi8KKwlmb3JfZWFjaF90cmFjaW5nX2NwdShpKQorCQljaGVja19wYWdlcyhnbG9iYWxfdHJhY2UuZGF0YVtpXSk7CisKKwlmaWxwLT5mX3BvcyArPSBjbnQ7CisKKwkvKiBJZiBjaGVjayBwYWdlcyBmYWlsZWQsIHJldHVybiBFTk9NRU0gKi8KKwlpZiAodHJhY2luZ19kaXNhYmxlZCkKKwkJY250ID0gLUVOT01FTTsKKyBvdXQ6CisJbWF4X3RyLmVudHJpZXMgPSBnbG9iYWxfdHJhY2UuZW50cmllczsKKwltdXRleF91bmxvY2soJnRyYWNlX3R5cGVzX2xvY2spOworCisJcmV0dXJuIGNudDsKK30KKworc3RhdGljIHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgdHJhY2luZ19tYXhfbGF0X2ZvcHMgPSB7CisJLm9wZW4JCT0gdHJhY2luZ19vcGVuX2dlbmVyaWMsCisJLnJlYWQJCT0gdHJhY2luZ19tYXhfbGF0X3JlYWQsCisJLndyaXRlCQk9IHRyYWNpbmdfbWF4X2xhdF93cml0ZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIHRyYWNpbmdfY3RybF9mb3BzID0geworCS5vcGVuCQk9IHRyYWNpbmdfb3Blbl9nZW5lcmljLAorCS5yZWFkCQk9IHRyYWNpbmdfY3RybF9yZWFkLAorCS53cml0ZQkJPSB0cmFjaW5nX2N0cmxfd3JpdGUsCit9OworCitzdGF0aWMgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBzZXRfdHJhY2VyX2ZvcHMgPSB7CisJLm9wZW4JCT0gdHJhY2luZ19vcGVuX2dlbmVyaWMsCisJLnJlYWQJCT0gdHJhY2luZ19zZXRfdHJhY2VfcmVhZCwKKwkud3JpdGUJCT0gdHJhY2luZ19zZXRfdHJhY2Vfd3JpdGUsCit9OworCitzdGF0aWMgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyB0cmFjaW5nX3BpcGVfZm9wcyA9IHsKKwkub3BlbgkJPSB0cmFjaW5nX29wZW5fcGlwZSwKKwkucG9sbAkJPSB0cmFjaW5nX3BvbGxfcGlwZSwKKwkucmVhZAkJPSB0cmFjaW5nX3JlYWRfcGlwZSwKKwkucmVsZWFzZQk9IHRyYWNpbmdfcmVsZWFzZV9waXBlLAorfTsKKworc3RhdGljIHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgdHJhY2luZ19lbnRyaWVzX2ZvcHMgPSB7CisJLm9wZW4JCT0gdHJhY2luZ19vcGVuX2dlbmVyaWMsCisJLnJlYWQJCT0gdHJhY2luZ19lbnRyaWVzX3JlYWQsCisJLndyaXRlCQk9IHRyYWNpbmdfZW50cmllc193cml0ZSwKK307CisKKyNpZmRlZiBDT05GSUdfRFlOQU1JQ19GVFJBQ0UKKworc3RhdGljIHNzaXplX3QKK3RyYWNpbmdfcmVhZF9sb25nKHN0cnVjdCBmaWxlICpmaWxwLCBjaGFyIF9fdXNlciAqdWJ1ZiwKKwkJICBzaXplX3QgY250LCBsb2ZmX3QgKnBwb3MpCit7CisJdW5zaWduZWQgbG9uZyAqcCA9IGZpbHAtPnByaXZhdGVfZGF0YTsKKwljaGFyIGJ1Zls2NF07CisJaW50IHI7CisKKwlyID0gc3ByaW50ZihidWYsICIlbGRcbiIsICpwKTsKKworCXJldHVybiBzaW1wbGVfcmVhZF9mcm9tX2J1ZmZlcih1YnVmLCBjbnQsIHBwb3MsIGJ1Ziwgcik7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIHRyYWNpbmdfcmVhZF9sb25nX2ZvcHMgPSB7CisJLm9wZW4JCT0gdHJhY2luZ19vcGVuX2dlbmVyaWMsCisJLnJlYWQJCT0gdHJhY2luZ19yZWFkX2xvbmcsCit9OworI2VuZGlmCisKK3N0YXRpYyBzdHJ1Y3QgZGVudHJ5ICpkX3RyYWNlcjsKKworc3RydWN0IGRlbnRyeSAqdHJhY2luZ19pbml0X2RlbnRyeSh2b2lkKQoreworCXN0YXRpYyBpbnQgb25jZTsKKworCWlmIChkX3RyYWNlcikKKwkJcmV0dXJuIGRfdHJhY2VyOworCisJZF90cmFjZXIgPSBkZWJ1Z2ZzX2NyZWF0ZV9kaXIoInRyYWNpbmciLCBOVUxMKTsKKworCWlmICghZF90cmFjZXIgJiYgIW9uY2UpIHsKKwkJb25jZSA9IDE7CisJCXByX3dhcm5pbmcoIkNvdWxkIG5vdCBjcmVhdGUgZGVidWdmcyBkaXJlY3RvcnkgJ3RyYWNpbmcnXG4iKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCisJcmV0dXJuIGRfdHJhY2VyOworfQorCisjaWZkZWYgQ09ORklHX0ZUUkFDRV9TRUxGVEVTVAorLyogTGV0IHNlbGZ0ZXN0IGhhdmUgYWNjZXNzIHRvIHN0YXRpYyBmdW5jdGlvbnMgaW4gdGhpcyBmaWxlICovCisjaW5jbHVkZSAidHJhY2Vfc2VsZnRlc3QuYyIKKyNlbmRpZgorCitzdGF0aWMgX19pbml0IHZvaWQgdHJhY2VyX2luaXRfZGVidWdmcyh2b2lkKQoreworCXN0cnVjdCBkZW50cnkgKmRfdHJhY2VyOworCXN0cnVjdCBkZW50cnkgKmVudHJ5OworCisJZF90cmFjZXIgPSB0cmFjaW5nX2luaXRfZGVudHJ5KCk7CisKKwllbnRyeSA9IGRlYnVnZnNfY3JlYXRlX2ZpbGUoInRyYWNpbmdfZW5hYmxlZCIsIDA2NDQsIGRfdHJhY2VyLAorCQkJCSAgICAmZ2xvYmFsX3RyYWNlLCAmdHJhY2luZ19jdHJsX2ZvcHMpOworCWlmICghZW50cnkpCisJCXByX3dhcm5pbmcoIkNvdWxkIG5vdCBjcmVhdGUgZGVidWdmcyAndHJhY2luZ19lbmFibGVkJyBlbnRyeVxuIik7CisKKwllbnRyeSA9IGRlYnVnZnNfY3JlYXRlX2ZpbGUoIml0ZXJfY3RybCIsIDA2NDQsIGRfdHJhY2VyLAorCQkJCSAgICBOVUxMLCAmdHJhY2luZ19pdGVyX2ZvcHMpOworCWlmICghZW50cnkpCisJCXByX3dhcm5pbmcoIkNvdWxkIG5vdCBjcmVhdGUgZGVidWdmcyAnaXRlcl9jdHJsJyBlbnRyeVxuIik7CisKKwllbnRyeSA9IGRlYnVnZnNfY3JlYXRlX2ZpbGUoInRyYWNpbmdfY3B1bWFzayIsIDA2NDQsIGRfdHJhY2VyLAorCQkJCSAgICBOVUxMLCAmdHJhY2luZ19jcHVtYXNrX2ZvcHMpOworCWlmICghZW50cnkpCisJCXByX3dhcm5pbmcoIkNvdWxkIG5vdCBjcmVhdGUgZGVidWdmcyAndHJhY2luZ19jcHVtYXNrJyBlbnRyeVxuIik7CisKKwllbnRyeSA9IGRlYnVnZnNfY3JlYXRlX2ZpbGUoImxhdGVuY3lfdHJhY2UiLCAwNDQ0LCBkX3RyYWNlciwKKwkJCQkgICAgJmdsb2JhbF90cmFjZSwgJnRyYWNpbmdfbHRfZm9wcyk7CisJaWYgKCFlbnRyeSkKKwkJcHJfd2FybmluZygiQ291bGQgbm90IGNyZWF0ZSBkZWJ1Z2ZzICdsYXRlbmN5X3RyYWNlJyBlbnRyeVxuIik7CisKKwllbnRyeSA9IGRlYnVnZnNfY3JlYXRlX2ZpbGUoInRyYWNlIiwgMDQ0NCwgZF90cmFjZXIsCisJCQkJICAgICZnbG9iYWxfdHJhY2UsICZ0cmFjaW5nX2ZvcHMpOworCWlmICghZW50cnkpCisJCXByX3dhcm5pbmcoIkNvdWxkIG5vdCBjcmVhdGUgZGVidWdmcyAndHJhY2UnIGVudHJ5XG4iKTsKKworCWVudHJ5ID0gZGVidWdmc19jcmVhdGVfZmlsZSgiYXZhaWxhYmxlX3RyYWNlcnMiLCAwNDQ0LCBkX3RyYWNlciwKKwkJCQkgICAgJmdsb2JhbF90cmFjZSwgJnNob3dfdHJhY2VzX2ZvcHMpOworCWlmICghZW50cnkpCisJCXByX3dhcm5pbmcoIkNvdWxkIG5vdCBjcmVhdGUgZGVidWdmcyAndHJhY2UnIGVudHJ5XG4iKTsKKworCWVudHJ5ID0gZGVidWdmc19jcmVhdGVfZmlsZSgiY3VycmVudF90cmFjZXIiLCAwNDQ0LCBkX3RyYWNlciwKKwkJCQkgICAgJmdsb2JhbF90cmFjZSwgJnNldF90cmFjZXJfZm9wcyk7CisJaWYgKCFlbnRyeSkKKwkJcHJfd2FybmluZygiQ291bGQgbm90IGNyZWF0ZSBkZWJ1Z2ZzICd0cmFjZScgZW50cnlcbiIpOworCisJZW50cnkgPSBkZWJ1Z2ZzX2NyZWF0ZV9maWxlKCJ0cmFjaW5nX21heF9sYXRlbmN5IiwgMDY0NCwgZF90cmFjZXIsCisJCQkJICAgICZ0cmFjaW5nX21heF9sYXRlbmN5LAorCQkJCSAgICAmdHJhY2luZ19tYXhfbGF0X2ZvcHMpOworCWlmICghZW50cnkpCisJCXByX3dhcm5pbmcoIkNvdWxkIG5vdCBjcmVhdGUgZGVidWdmcyAiCisJCQkgICAiJ3RyYWNpbmdfbWF4X2xhdGVuY3knIGVudHJ5XG4iKTsKKworCWVudHJ5ID0gZGVidWdmc19jcmVhdGVfZmlsZSgidHJhY2luZ190aHJlc2giLCAwNjQ0LCBkX3RyYWNlciwKKwkJCQkgICAgJnRyYWNpbmdfdGhyZXNoLCAmdHJhY2luZ19tYXhfbGF0X2ZvcHMpOworCWlmICghZW50cnkpCisJCXByX3dhcm5pbmcoIkNvdWxkIG5vdCBjcmVhdGUgZGVidWdmcyAiCisJCQkgICAiJ3RyYWNpbmdfdGhyZWFzaCcgZW50cnlcbiIpOworCWVudHJ5ID0gZGVidWdmc19jcmVhdGVfZmlsZSgiUkVBRE1FIiwgMDY0NCwgZF90cmFjZXIsCisJCQkJICAgIE5VTEwsICZ0cmFjaW5nX3JlYWRtZV9mb3BzKTsKKwlpZiAoIWVudHJ5KQorCQlwcl93YXJuaW5nKCJDb3VsZCBub3QgY3JlYXRlIGRlYnVnZnMgJ1JFQURNRScgZW50cnlcbiIpOworCisJZW50cnkgPSBkZWJ1Z2ZzX2NyZWF0ZV9maWxlKCJ0cmFjZV9waXBlIiwgMDY0NCwgZF90cmFjZXIsCisJCQkJICAgIE5VTEwsICZ0cmFjaW5nX3BpcGVfZm9wcyk7CisJaWYgKCFlbnRyeSkKKwkJcHJfd2FybmluZygiQ291bGQgbm90IGNyZWF0ZSBkZWJ1Z2ZzICIKKwkJCSAgICIndHJhY2luZ190aHJlYXNoJyBlbnRyeVxuIik7CisKKwllbnRyeSA9IGRlYnVnZnNfY3JlYXRlX2ZpbGUoInRyYWNlX2VudHJpZXMiLCAwNjQ0LCBkX3RyYWNlciwKKwkJCQkgICAgJmdsb2JhbF90cmFjZSwgJnRyYWNpbmdfZW50cmllc19mb3BzKTsKKwlpZiAoIWVudHJ5KQorCQlwcl93YXJuaW5nKCJDb3VsZCBub3QgY3JlYXRlIGRlYnVnZnMgIgorCQkJICAgIid0cmFjaW5nX3RocmVhc2gnIGVudHJ5XG4iKTsKKworI2lmZGVmIENPTkZJR19EWU5BTUlDX0ZUUkFDRQorCWVudHJ5ID0gZGVidWdmc19jcmVhdGVfZmlsZSgiZHluX2Z0cmFjZV90b3RhbF9pbmZvIiwgMDQ0NCwgZF90cmFjZXIsCisJCQkJICAgICZmdHJhY2VfdXBkYXRlX3RvdF9jbnQsCisJCQkJICAgICZ0cmFjaW5nX3JlYWRfbG9uZ19mb3BzKTsKKwlpZiAoIWVudHJ5KQorCQlwcl93YXJuaW5nKCJDb3VsZCBub3QgY3JlYXRlIGRlYnVnZnMgIgorCQkJICAgIidkeW5fZnRyYWNlX3RvdGFsX2luZm8nIGVudHJ5XG4iKTsKKyNlbmRpZgorI2lmZGVmIENPTkZJR19TWVNQUk9GX1RSQUNFUgorCWluaXRfdHJhY2VyX3N5c3Byb2ZfZGVidWdmcyhkX3RyYWNlcik7CisjZW5kaWYKK30KKworc3RhdGljIGludCB0cmFjZV9hbGxvY19wYWdlKHZvaWQpCit7CisJc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YTsKKwlzdHJ1Y3QgcGFnZSAqcGFnZSwgKnRtcDsKKwlMSVNUX0hFQUQocGFnZXMpOworCXZvaWQgKmFycmF5OworCXVuc2lnbmVkIHBhZ2VzX2FsbG9jYXRlZCA9IDA7CisJaW50IGk7CisKKwkvKiBmaXJzdCBhbGxvY2F0ZSBhIHBhZ2UgZm9yIGVhY2ggQ1BVICovCisJZm9yX2VhY2hfdHJhY2luZ19jcHUoaSkgeworCQlhcnJheSA9ICh2b2lkICopX19nZXRfZnJlZV9wYWdlKEdGUF9LRVJORUwpOworCQlpZiAoYXJyYXkgPT0gTlVMTCkgeworCQkJcHJpbnRrKEtFUk5fRVJSICJ0cmFjZXI6IGZhaWxlZCB0byBhbGxvY2F0ZSBwYWdlIgorCQkJICAgICAgICJmb3IgdHJhY2UgYnVmZmVyIVxuIik7CisJCQlnb3RvIGZyZWVfcGFnZXM7CisJCX0KKworCQlwYWdlc19hbGxvY2F0ZWQrKzsKKwkJcGFnZSA9IHZpcnRfdG9fcGFnZShhcnJheSk7CisJCWxpc3RfYWRkKCZwYWdlLT5scnUsICZwYWdlcyk7CisKKy8qIE9ubHkgYWxsb2NhdGUgaWYgd2UgYXJlIGFjdHVhbGx5IHVzaW5nIHRoZSBtYXggdHJhY2UgKi8KKyNpZmRlZiBDT05GSUdfVFJBQ0VSX01BWF9UUkFDRQorCQlhcnJheSA9ICh2b2lkICopX19nZXRfZnJlZV9wYWdlKEdGUF9LRVJORUwpOworCQlpZiAoYXJyYXkgPT0gTlVMTCkgeworCQkJcHJpbnRrKEtFUk5fRVJSICJ0cmFjZXI6IGZhaWxlZCB0byBhbGxvY2F0ZSBwYWdlIgorCQkJICAgICAgICJmb3IgdHJhY2UgYnVmZmVyIVxuIik7CisJCQlnb3RvIGZyZWVfcGFnZXM7CisJCX0KKwkJcGFnZXNfYWxsb2NhdGVkKys7CisJCXBhZ2UgPSB2aXJ0X3RvX3BhZ2UoYXJyYXkpOworCQlsaXN0X2FkZCgmcGFnZS0+bHJ1LCAmcGFnZXMpOworI2VuZGlmCisJfQorCisJLyogTm93IHRoYXQgd2Ugc3VjY2Vzc2Z1bGx5IGFsbG9jYXRlIGEgcGFnZSBwZXIgQ1BVLCBhZGQgdGhlbSAqLworCWZvcl9lYWNoX3RyYWNpbmdfY3B1KGkpIHsKKwkJZGF0YSA9IGdsb2JhbF90cmFjZS5kYXRhW2ldOworCQlwYWdlID0gbGlzdF9lbnRyeShwYWdlcy5uZXh0LCBzdHJ1Y3QgcGFnZSwgbHJ1KTsKKwkJbGlzdF9kZWxfaW5pdCgmcGFnZS0+bHJ1KTsKKwkJbGlzdF9hZGRfdGFpbCgmcGFnZS0+bHJ1LCAmZGF0YS0+dHJhY2VfcGFnZXMpOworCQlDbGVhclBhZ2VMUlUocGFnZSk7CisKKyNpZmRlZiBDT05GSUdfVFJBQ0VSX01BWF9UUkFDRQorCQlkYXRhID0gbWF4X3RyLmRhdGFbaV07CisJCXBhZ2UgPSBsaXN0X2VudHJ5KHBhZ2VzLm5leHQsIHN0cnVjdCBwYWdlLCBscnUpOworCQlsaXN0X2RlbF9pbml0KCZwYWdlLT5scnUpOworCQlsaXN0X2FkZF90YWlsKCZwYWdlLT5scnUsICZkYXRhLT50cmFjZV9wYWdlcyk7CisJCVNldFBhZ2VMUlUocGFnZSk7CisjZW5kaWYKKwl9CisJdHJhY2luZ19wYWdlc19hbGxvY2F0ZWQgKz0gcGFnZXNfYWxsb2NhdGVkOworCWdsb2JhbF90cmFjZS5lbnRyaWVzICs9IEVOVFJJRVNfUEVSX1BBR0U7CisKKwlyZXR1cm4gMDsKKworIGZyZWVfcGFnZXM6CisJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKHBhZ2UsIHRtcCwgJnBhZ2VzLCBscnUpIHsKKwkJbGlzdF9kZWxfaW5pdCgmcGFnZS0+bHJ1KTsKKwkJX19mcmVlX3BhZ2UocGFnZSk7CisJfQorCXJldHVybiAtRU5PTUVNOworfQorCitzdGF0aWMgaW50IHRyYWNlX2ZyZWVfcGFnZSh2b2lkKQoreworCXN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGE7CisJc3RydWN0IHBhZ2UgKnBhZ2U7CisJc3RydWN0IGxpc3RfaGVhZCAqcDsKKwlpbnQgaTsKKwlpbnQgcmV0ID0gMDsKKworCS8qIGZyZWUgb25lIHBhZ2UgZnJvbSBlYWNoIGJ1ZmZlciAqLworCWZvcl9lYWNoX3RyYWNpbmdfY3B1KGkpIHsKKwkJZGF0YSA9IGdsb2JhbF90cmFjZS5kYXRhW2ldOworCQlwID0gZGF0YS0+dHJhY2VfcGFnZXMubmV4dDsKKwkJaWYgKHAgPT0gJmRhdGEtPnRyYWNlX3BhZ2VzKSB7CisJCQkvKiBzaG91bGQgbmV2ZXIgaGFwcGVuICovCisJCQlXQVJOX09OKDEpOworCQkJdHJhY2luZ19kaXNhYmxlZCA9IDE7CisJCQlyZXQgPSAtMTsKKwkJCWJyZWFrOworCQl9CisJCXBhZ2UgPSBsaXN0X2VudHJ5KHAsIHN0cnVjdCBwYWdlLCBscnUpOworCQlDbGVhclBhZ2VMUlUocGFnZSk7CisJCWxpc3RfZGVsKCZwYWdlLT5scnUpOworCQl0cmFjaW5nX3BhZ2VzX2FsbG9jYXRlZC0tOworCQl0cmFjaW5nX3BhZ2VzX2FsbG9jYXRlZC0tOworCQlfX2ZyZWVfcGFnZShwYWdlKTsKKworCQl0cmFjaW5nX3Jlc2V0KGRhdGEpOworCisjaWZkZWYgQ09ORklHX1RSQUNFUl9NQVhfVFJBQ0UKKwkJZGF0YSA9IG1heF90ci5kYXRhW2ldOworCQlwID0gZGF0YS0+dHJhY2VfcGFnZXMubmV4dDsKKwkJaWYgKHAgPT0gJmRhdGEtPnRyYWNlX3BhZ2VzKSB7CisJCQkvKiBzaG91bGQgbmV2ZXIgaGFwcGVuICovCisJCQlXQVJOX09OKDEpOworCQkJdHJhY2luZ19kaXNhYmxlZCA9IDE7CisJCQlyZXQgPSAtMTsKKwkJCWJyZWFrOworCQl9CisJCXBhZ2UgPSBsaXN0X2VudHJ5KHAsIHN0cnVjdCBwYWdlLCBscnUpOworCQlDbGVhclBhZ2VMUlUocGFnZSk7CisJCWxpc3RfZGVsKCZwYWdlLT5scnUpOworCQlfX2ZyZWVfcGFnZShwYWdlKTsKKworCQl0cmFjaW5nX3Jlc2V0KGRhdGEpOworI2VuZGlmCisJfQorCWdsb2JhbF90cmFjZS5lbnRyaWVzIC09IEVOVFJJRVNfUEVSX1BBR0U7CisKKwlyZXR1cm4gcmV0OworfQorCitfX2luaXQgc3RhdGljIGludCB0cmFjZXJfYWxsb2NfYnVmZmVycyh2b2lkKQoreworCXN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGE7CisJdm9pZCAqYXJyYXk7CisJc3RydWN0IHBhZ2UgKnBhZ2U7CisJaW50IHBhZ2VzID0gMDsKKwlpbnQgcmV0ID0gLUVOT01FTTsKKwlpbnQgaTsKKworCS8qIFRPRE86IG1ha2UgdGhlIG51bWJlciBvZiBidWZmZXJzIGhvdCBwbHVnZ2FibGUgd2l0aCBDUFVTICovCisJdHJhY2luZ19ucl9idWZmZXJzID0gbnVtX3Bvc3NpYmxlX2NwdXMoKTsKKwl0cmFjaW5nX2J1ZmZlcl9tYXNrID0gY3B1X3Bvc3NpYmxlX21hcDsKKworCS8qIEFsbG9jYXRlIHRoZSBmaXJzdCBwYWdlIGZvciBhbGwgYnVmZmVycyAqLworCWZvcl9lYWNoX3RyYWNpbmdfY3B1KGkpIHsKKwkJZGF0YSA9IGdsb2JhbF90cmFjZS5kYXRhW2ldID0gJnBlcl9jcHUoZ2xvYmFsX3RyYWNlX2NwdSwgaSk7CisJCW1heF90ci5kYXRhW2ldID0gJnBlcl9jcHUobWF4X2RhdGEsIGkpOworCisJCWFycmF5ID0gKHZvaWQgKilfX2dldF9mcmVlX3BhZ2UoR0ZQX0tFUk5FTCk7CisJCWlmIChhcnJheSA9PSBOVUxMKSB7CisJCQlwcmludGsoS0VSTl9FUlIgInRyYWNlcjogZmFpbGVkIHRvIGFsbG9jYXRlIHBhZ2UiCisJCQkgICAgICAgImZvciB0cmFjZSBidWZmZXIhXG4iKTsKKwkJCWdvdG8gZnJlZV9idWZmZXJzOworCQl9CisKKwkJLyogc2V0IHRoZSBhcnJheSB0byB0aGUgbGlzdCAqLworCQlJTklUX0xJU1RfSEVBRCgmZGF0YS0+dHJhY2VfcGFnZXMpOworCQlwYWdlID0gdmlydF90b19wYWdlKGFycmF5KTsKKwkJbGlzdF9hZGQoJnBhZ2UtPmxydSwgJmRhdGEtPnRyYWNlX3BhZ2VzKTsKKwkJLyogdXNlIHRoZSBMUlUgZmxhZyB0byBkaWZmZXJlbnRpYXRlIHRoZSB0d28gYnVmZmVycyAqLworCQlDbGVhclBhZ2VMUlUocGFnZSk7CisKKwkJZGF0YS0+bG9jayA9IChyYXdfc3BpbmxvY2tfdClfX1JBV19TUElOX0xPQ0tfVU5MT0NLRUQ7CisJCW1heF90ci5kYXRhW2ldLT5sb2NrID0gKHJhd19zcGlubG9ja190KV9fUkFXX1NQSU5fTE9DS19VTkxPQ0tFRDsKKworLyogT25seSBhbGxvY2F0ZSBpZiB3ZSBhcmUgYWN0dWFsbHkgdXNpbmcgdGhlIG1heCB0cmFjZSAqLworI2lmZGVmIENPTkZJR19UUkFDRVJfTUFYX1RSQUNFCisJCWFycmF5ID0gKHZvaWQgKilfX2dldF9mcmVlX3BhZ2UoR0ZQX0tFUk5FTCk7CisJCWlmIChhcnJheSA9PSBOVUxMKSB7CisJCQlwcmludGsoS0VSTl9FUlIgInRyYWNlcjogZmFpbGVkIHRvIGFsbG9jYXRlIHBhZ2UiCisJCQkgICAgICAgImZvciB0cmFjZSBidWZmZXIhXG4iKTsKKwkJCWdvdG8gZnJlZV9idWZmZXJzOworCQl9CisKKwkJSU5JVF9MSVNUX0hFQUQoJm1heF90ci5kYXRhW2ldLT50cmFjZV9wYWdlcyk7CisJCXBhZ2UgPSB2aXJ0X3RvX3BhZ2UoYXJyYXkpOworCQlsaXN0X2FkZCgmcGFnZS0+bHJ1LCAmbWF4X3RyLmRhdGFbaV0tPnRyYWNlX3BhZ2VzKTsKKwkJU2V0UGFnZUxSVShwYWdlKTsKKyNlbmRpZgorCX0KKworCS8qCisJICogU2luY2Ugd2UgYWxsb2NhdGUgYnkgb3JkZXJzIG9mIHBhZ2VzLCB3ZSBtYXkgYmUgYWJsZSB0bworCSAqIHJvdW5kIHVwIGEgYml0LgorCSAqLworCWdsb2JhbF90cmFjZS5lbnRyaWVzID0gRU5UUklFU19QRVJfUEFHRTsKKwlwYWdlcysrOworCisJd2hpbGUgKGdsb2JhbF90cmFjZS5lbnRyaWVzIDwgdHJhY2VfbnJfZW50cmllcykgeworCQlpZiAodHJhY2VfYWxsb2NfcGFnZSgpKQorCQkJYnJlYWs7CisJCXBhZ2VzKys7CisJfQorCW1heF90ci5lbnRyaWVzID0gZ2xvYmFsX3RyYWNlLmVudHJpZXM7CisKKwlwcl9pbmZvKCJ0cmFjZXI6ICVkIHBhZ2VzIGFsbG9jYXRlZCBmb3IgJWxkIGVudHJpZXMgb2YgJWxkIGJ5dGVzXG4iLAorCQlwYWdlcywgdHJhY2VfbnJfZW50cmllcywgKGxvbmcpVFJBQ0VfRU5UUllfU0laRSk7CisJcHJfaW5mbygiICAgYWN0dWFsIGVudHJpZXMgJWxkXG4iLCBnbG9iYWxfdHJhY2UuZW50cmllcyk7CisKKwl0cmFjZXJfaW5pdF9kZWJ1Z2ZzKCk7CisKKwl0cmFjZV9pbml0X2NtZGxpbmVzKCk7CisKKwlyZWdpc3Rlcl90cmFjZXIoJm5vX3RyYWNlcik7CisJY3VycmVudF90cmFjZSA9ICZub190cmFjZXI7CisKKwkvKiBBbGwgc2VlbXMgT0ssIGVuYWJsZSB0cmFjaW5nICovCisJZ2xvYmFsX3RyYWNlLmN0cmwgPSB0cmFjZXJfZW5hYmxlZDsKKwl0cmFjaW5nX2Rpc2FibGVkID0gMDsKKworCXJldHVybiAwOworCisgZnJlZV9idWZmZXJzOgorCWZvciAoaS0tIDsgaSA+PSAwOyBpLS0pIHsKKwkJc3RydWN0IHBhZ2UgKnBhZ2UsICp0bXA7CisJCXN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGEgPSBnbG9iYWxfdHJhY2UuZGF0YVtpXTsKKworCQlpZiAoZGF0YSkgeworCQkJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKHBhZ2UsIHRtcCwKKwkJCQkJCSAmZGF0YS0+dHJhY2VfcGFnZXMsIGxydSkgeworCQkJCWxpc3RfZGVsX2luaXQoJnBhZ2UtPmxydSk7CisJCQkJX19mcmVlX3BhZ2UocGFnZSk7CisJCQl9CisJCX0KKworI2lmZGVmIENPTkZJR19UUkFDRVJfTUFYX1RSQUNFCisJCWRhdGEgPSBtYXhfdHIuZGF0YVtpXTsKKwkJaWYgKGRhdGEpIHsKKwkJCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShwYWdlLCB0bXAsCisJCQkJCQkgJmRhdGEtPnRyYWNlX3BhZ2VzLCBscnUpIHsKKwkJCQlsaXN0X2RlbF9pbml0KCZwYWdlLT5scnUpOworCQkJCV9fZnJlZV9wYWdlKHBhZ2UpOworCQkJfQorCQl9CisjZW5kaWYKKwl9CisJcmV0dXJuIHJldDsKK30KK2ZzX2luaXRjYWxsKHRyYWNlcl9hbGxvY19idWZmZXJzKTsKZGlmZiAtLWdpdCBhL2tlcm5lbC90cmFjZS90cmFjZS5oIGIva2VybmVsL3RyYWNlL3RyYWNlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjY5Zjg2NwotLS0gL2Rldi9udWxsCisrKyBiL2tlcm5lbC90cmFjZS90cmFjZS5oCkBAIC0wLDAgKzEsMzM5IEBACisjaWZuZGVmIF9MSU5VWF9LRVJORUxfVFJBQ0VfSAorI2RlZmluZSBfTElOVVhfS0VSTkVMX1RSQUNFX0gKKworI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CisjaW5jbHVkZSA8YXNtL2F0b21pYy5oPgorI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CisjaW5jbHVkZSA8bGludXgvY2xvY2tzb3VyY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9tbWlvdHJhY2UuaD4KKworZW51bSB0cmFjZV90eXBlIHsKKwlfX1RSQUNFX0ZJUlNUX1RZUEUgPSAwLAorCisJVFJBQ0VfRk4sCisJVFJBQ0VfQ1RYLAorCVRSQUNFX1dBS0UsCisJVFJBQ0VfU1RBQ0ssCisJVFJBQ0VfU1BFQ0lBTCwKKwlUUkFDRV9NTUlPX1JXLAorCVRSQUNFX01NSU9fTUFQLAorCisJX19UUkFDRV9MQVNUX1RZUEUKK307CisKKy8qCisgKiBGdW5jdGlvbiB0cmFjZSBlbnRyeSAtIGZ1bmN0aW9uIGFkZHJlc3MgYW5kIHBhcmVudCBmdW5jdGlvbiBhZGRyZXM6CisgKi8KK3N0cnVjdCBmdHJhY2VfZW50cnkgeworCXVuc2lnbmVkIGxvbmcJCWlwOworCXVuc2lnbmVkIGxvbmcJCXBhcmVudF9pcDsKK307CisKKy8qCisgKiBDb250ZXh0IHN3aXRjaCB0cmFjZSBlbnRyeSAtIHdoaWNoIHRhc2sgKGFuZCBwcmlvKSB3ZSBzd2l0Y2hlZCBmcm9tL3RvOgorICovCitzdHJ1Y3QgY3R4X3N3aXRjaF9lbnRyeSB7CisJdW5zaWduZWQgaW50CQlwcmV2X3BpZDsKKwl1bnNpZ25lZCBjaGFyCQlwcmV2X3ByaW87CisJdW5zaWduZWQgY2hhcgkJcHJldl9zdGF0ZTsKKwl1bnNpZ25lZCBpbnQJCW5leHRfcGlkOworCXVuc2lnbmVkIGNoYXIJCW5leHRfcHJpbzsKKwl1bnNpZ25lZCBjaGFyCQluZXh0X3N0YXRlOworfTsKKworLyoKKyAqIFNwZWNpYWwgKGZyZWUtZm9ybSkgdHJhY2UgZW50cnk6CisgKi8KK3N0cnVjdCBzcGVjaWFsX2VudHJ5IHsKKwl1bnNpZ25lZCBsb25nCQlhcmcxOworCXVuc2lnbmVkIGxvbmcJCWFyZzI7CisJdW5zaWduZWQgbG9uZwkJYXJnMzsKK307CisKKy8qCisgKiBTdGFjay10cmFjZSBlbnRyeToKKyAqLworCisjZGVmaW5lIEZUUkFDRV9TVEFDS19FTlRSSUVTCTgKKworc3RydWN0IHN0YWNrX2VudHJ5IHsKKwl1bnNpZ25lZCBsb25nCQljYWxsZXJbRlRSQUNFX1NUQUNLX0VOVFJJRVNdOworfTsKKworLyoKKyAqIFRoZSB0cmFjZSBlbnRyeSAtIHRoZSBtb3N0IGJhc2ljIHVuaXQgb2YgdHJhY2luZy4gVGhpcyBpcyB3aGF0CisgKiBpcyBwcmludGVkIGluIHRoZSBlbmQgYXMgYSBzaW5nbGUgbGluZSBpbiB0aGUgdHJhY2Ugb3V0cHV0LCBzdWNoIGFzOgorICoKKyAqICAgICBiYXNoLTE1ODE2IFswMV0gICAyMzUuMTk3NTg1OiBpZGxlX2NwdSA8LSBpcnFfZW50ZXIKKyAqLworc3RydWN0IHRyYWNlX2VudHJ5IHsKKwljaGFyCQkJdHlwZTsKKwljaGFyCQkJY3B1OworCWNoYXIJCQlmbGFnczsKKwljaGFyCQkJcHJlZW1wdF9jb3VudDsKKwlpbnQJCQlwaWQ7CisJY3ljbGVfdAkJCXQ7CisJdW5pb24geworCQlzdHJ1Y3QgZnRyYWNlX2VudHJ5CQlmbjsKKwkJc3RydWN0IGN0eF9zd2l0Y2hfZW50cnkJCWN0eDsKKwkJc3RydWN0IHNwZWNpYWxfZW50cnkJCXNwZWNpYWw7CisJCXN0cnVjdCBzdGFja19lbnRyeQkJc3RhY2s7CisJCXN0cnVjdCBtbWlvdHJhY2VfcncJCW1taW9ydzsKKwkJc3RydWN0IG1taW90cmFjZV9tYXAJCW1taW9tYXA7CisJfTsKK307CisKKyNkZWZpbmUgVFJBQ0VfRU5UUllfU0laRQlzaXplb2Yoc3RydWN0IHRyYWNlX2VudHJ5KQorCisvKgorICogVGhlIENQVSB0cmFjZSBhcnJheSAtIGl0IGNvbnNpc3RzIG9mIHRob3VzYW5kcyBvZiB0cmFjZSBlbnRyaWVzCisgKiBwbHVzIHNvbWUgb3RoZXIgZGVzY3JpcHRvciBkYXRhOiAoZm9yIGV4YW1wbGUgd2hpY2ggdGFzayBzdGFydGVkCisgKiB0aGUgdHJhY2UsIGV0Yy4pCisgKi8KK3N0cnVjdCB0cmFjZV9hcnJheV9jcHUgeworCXN0cnVjdCBsaXN0X2hlYWQJdHJhY2VfcGFnZXM7CisJYXRvbWljX3QJCWRpc2FibGVkOworCXJhd19zcGlubG9ja190CQlsb2NrOworCXN0cnVjdCBsb2NrX2NsYXNzX2tleQlsb2NrX2tleTsKKworCS8qIHRoZXNlIGZpZWxkcyBnZXQgY29waWVkIGludG8gbWF4LXRyYWNlOiAqLworCXVuc2lnbmVkCQl0cmFjZV9oZWFkX2lkeDsKKwl1bnNpZ25lZAkJdHJhY2VfdGFpbF9pZHg7CisJdm9pZAkJCSp0cmFjZV9oZWFkOyAvKiBwcm9kdWNlciAqLworCXZvaWQJCQkqdHJhY2VfdGFpbDsgLyogY29uc3VtZXIgKi8KKwl1bnNpZ25lZCBsb25nCQl0cmFjZV9pZHg7CisJdW5zaWduZWQgbG9uZwkJb3ZlcnJ1bjsKKwl1bnNpZ25lZCBsb25nCQlzYXZlZF9sYXRlbmN5OworCXVuc2lnbmVkIGxvbmcJCWNyaXRpY2FsX3N0YXJ0OworCXVuc2lnbmVkIGxvbmcJCWNyaXRpY2FsX2VuZDsKKwl1bnNpZ25lZCBsb25nCQljcml0aWNhbF9zZXF1ZW5jZTsKKwl1bnNpZ25lZCBsb25nCQluaWNlOworCXVuc2lnbmVkIGxvbmcJCXBvbGljeTsKKwl1bnNpZ25lZCBsb25nCQlydF9wcmlvcml0eTsKKwljeWNsZV90CQkJcHJlZW1wdF90aW1lc3RhbXA7CisJcGlkX3QJCQlwaWQ7CisJdWlkX3QJCQl1aWQ7CisJY2hhcgkJCWNvbW1bVEFTS19DT01NX0xFTl07Cit9OworCitzdHJ1Y3QgdHJhY2VfaXRlcmF0b3I7CisKKy8qCisgKiBUaGUgdHJhY2UgYXJyYXkgLSBhbiBhcnJheSBvZiBwZXItQ1BVIHRyYWNlIGFycmF5cy4gVGhpcyBpcyB0aGUKKyAqIGhpZ2hlc3QgbGV2ZWwgZGF0YSBzdHJ1Y3R1cmUgdGhhdCBpbmRpdmlkdWFsIHRyYWNlcnMgZGVhbCB3aXRoLgorICogVGhleSBoYXZlIG9uL29mZiBzdGF0ZSBhcyB3ZWxsOgorICovCitzdHJ1Y3QgdHJhY2VfYXJyYXkgeworCXVuc2lnbmVkIGxvbmcJCWVudHJpZXM7CisJbG9uZwkJCWN0cmw7CisJaW50CQkJY3B1OworCWN5Y2xlX3QJCQl0aW1lX3N0YXJ0OworCXN0cnVjdCB0YXNrX3N0cnVjdAkqd2FpdGVyOworCXN0cnVjdCB0cmFjZV9hcnJheV9jcHUJKmRhdGFbTlJfQ1BVU107Cit9OworCisvKgorICogQSBzcGVjaWZpYyB0cmFjZXIsIHJlcHJlc2VudGVkIGJ5IG1ldGhvZHMgdGhhdCBvcGVyYXRlIG9uIGEgdHJhY2UgYXJyYXk6CisgKi8KK3N0cnVjdCB0cmFjZXIgeworCWNvbnN0IGNoYXIJCSpuYW1lOworCXZvaWQJCQkoKmluaXQpKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpOworCXZvaWQJCQkoKnJlc2V0KShzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKTsKKwl2b2lkCQkJKCpvcGVuKShzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIpOworCXZvaWQJCQkoKnBpcGVfb3Blbikoc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyKTsKKwl2b2lkCQkJKCpjbG9zZSkoc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyKTsKKwl2b2lkCQkJKCpzdGFydCkoc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyKTsKKwl2b2lkCQkJKCpzdG9wKShzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIpOworCXNzaXplX3QJCQkoKnJlYWQpKHN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlciwKKwkJCQkJc3RydWN0IGZpbGUgKmZpbHAsIGNoYXIgX191c2VyICp1YnVmLAorCQkJCQlzaXplX3QgY250LCBsb2ZmX3QgKnBwb3MpOworCXZvaWQJCQkoKmN0cmxfdXBkYXRlKShzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKTsKKyNpZmRlZiBDT05GSUdfRlRSQUNFX1NUQVJUVVBfVEVTVAorCWludAkJCSgqc2VsZnRlc3QpKHN0cnVjdCB0cmFjZXIgKnRyYWNlLAorCQkJCQkgICAgc3RydWN0IHRyYWNlX2FycmF5ICp0cik7CisjZW5kaWYKKwlpbnQJCQkoKnByaW50X2xpbmUpKHN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlcik7CisJc3RydWN0IHRyYWNlcgkJKm5leHQ7CisJaW50CQkJcHJpbnRfbWF4OworfTsKKworc3RydWN0IHRyYWNlX3NlcSB7CisJdW5zaWduZWQgY2hhcgkJYnVmZmVyW1BBR0VfU0laRV07CisJdW5zaWduZWQgaW50CQlsZW47CisJdW5zaWduZWQgaW50CQlyZWFkcG9zOworfTsKKworLyoKKyAqIFRyYWNlIGl0ZXJhdG9yIC0gdXNlZCBieSBwcmludG91dCByb3V0aW5lcyB3aG8gcHJlc2VudCB0cmFjZQorICogcmVzdWx0cyB0byB1c2VycyBhbmQgd2hpY2ggcm91dGluZXMgbWlnaHQgc2xlZXAsIGV0YzoKKyAqLworc3RydWN0IHRyYWNlX2l0ZXJhdG9yIHsKKwlzdHJ1Y3QgdHJhY2VfYXJyYXkJKnRyOworCXN0cnVjdCB0cmFjZXIJCSp0cmFjZTsKKwl2b2lkCQkJKnByaXZhdGU7CisJbG9uZwkJCWxhc3Rfb3ZlcnJ1bltOUl9DUFVTXTsKKwlsb25nCQkJb3ZlcnJ1bltOUl9DUFVTXTsKKworCS8qIFRoZSBiZWxvdyBpcyB6ZXJvZWQgb3V0IGluIHBpcGVfcmVhZCAqLworCXN0cnVjdCB0cmFjZV9zZXEJc2VxOworCXN0cnVjdCB0cmFjZV9lbnRyeQkqZW50OworCWludAkJCWNwdTsKKworCXN0cnVjdCB0cmFjZV9lbnRyeQkqcHJldl9lbnQ7CisJaW50CQkJcHJldl9jcHU7CisKKwl1bnNpZ25lZCBsb25nCQlpdGVyX2ZsYWdzOworCWxvZmZfdAkJCXBvczsKKwl1bnNpZ25lZCBsb25nCQluZXh0X2lkeFtOUl9DUFVTXTsKKwlzdHJ1Y3QgbGlzdF9oZWFkCSpuZXh0X3BhZ2VbTlJfQ1BVU107CisJdW5zaWduZWQJCW5leHRfcGFnZV9pZHhbTlJfQ1BVU107CisJbG9uZwkJCWlkeDsKK307CisKK3ZvaWQgdHJhY2luZ19yZXNldChzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhKTsKK2ludCB0cmFjaW5nX29wZW5fZ2VuZXJpYyhzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlscCk7CitzdHJ1Y3QgZGVudHJ5ICp0cmFjaW5nX2luaXRfZGVudHJ5KHZvaWQpOwordm9pZCBpbml0X3RyYWNlcl9zeXNwcm9mX2RlYnVnZnMoc3RydWN0IGRlbnRyeSAqZF90cmFjZXIpOworCit2b2lkIGZ0cmFjZShzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyLAorCQkJICAgIHN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGEsCisJCQkgICAgdW5zaWduZWQgbG9uZyBpcCwKKwkJCSAgICB1bnNpZ25lZCBsb25nIHBhcmVudF9pcCwKKwkJCSAgICB1bnNpZ25lZCBsb25nIGZsYWdzKTsKK3ZvaWQgdHJhY2luZ19zY2hlZF9zd2l0Y2hfdHJhY2Uoc3RydWN0IHRyYWNlX2FycmF5ICp0ciwKKwkJCQlzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhLAorCQkJCXN0cnVjdCB0YXNrX3N0cnVjdCAqcHJldiwKKwkJCQlzdHJ1Y3QgdGFza19zdHJ1Y3QgKm5leHQsCisJCQkJdW5zaWduZWQgbG9uZyBmbGFncyk7Cit2b2lkIHRyYWNpbmdfcmVjb3JkX2NtZGxpbmUoc3RydWN0IHRhc2tfc3RydWN0ICp0c2spOworCit2b2lkIHRyYWNpbmdfc2NoZWRfd2FrZXVwX3RyYWNlKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIsCisJCQkJc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YSwKKwkJCQlzdHJ1Y3QgdGFza19zdHJ1Y3QgKndha2VlLAorCQkJCXN0cnVjdCB0YXNrX3N0cnVjdCAqY3VyLAorCQkJCXVuc2lnbmVkIGxvbmcgZmxhZ3MpOwordm9pZCB0cmFjZV9zcGVjaWFsKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIsCisJCSAgIHN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGEsCisJCSAgIHVuc2lnbmVkIGxvbmcgYXJnMSwKKwkJICAgdW5zaWduZWQgbG9uZyBhcmcyLAorCQkgICB1bnNpZ25lZCBsb25nIGFyZzMpOwordm9pZCB0cmFjZV9mdW5jdGlvbihzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyLAorCQkgICAgc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YSwKKwkJICAgIHVuc2lnbmVkIGxvbmcgaXAsCisJCSAgICB1bnNpZ25lZCBsb25nIHBhcmVudF9pcCwKKwkJICAgIHVuc2lnbmVkIGxvbmcgZmxhZ3MpOworCit2b2lkIHRyYWNpbmdfc3RhcnRfY21kbGluZV9yZWNvcmQodm9pZCk7Cit2b2lkIHRyYWNpbmdfc3RvcF9jbWRsaW5lX3JlY29yZCh2b2lkKTsKK2ludCByZWdpc3Rlcl90cmFjZXIoc3RydWN0IHRyYWNlciAqdHlwZSk7Cit2b2lkIHVucmVnaXN0ZXJfdHJhY2VyKHN0cnVjdCB0cmFjZXIgKnR5cGUpOworCitleHRlcm4gdW5zaWduZWQgbG9uZyBuc2Vjc190b191c2Vjcyh1bnNpZ25lZCBsb25nIG5zZWNzKTsKKworZXh0ZXJuIHVuc2lnbmVkIGxvbmcgdHJhY2luZ19tYXhfbGF0ZW5jeTsKK2V4dGVybiB1bnNpZ25lZCBsb25nIHRyYWNpbmdfdGhyZXNoOworCit2b2lkIHVwZGF0ZV9tYXhfdHIoc3RydWN0IHRyYWNlX2FycmF5ICp0ciwgc3RydWN0IHRhc2tfc3RydWN0ICp0c2ssIGludCBjcHUpOwordm9pZCB1cGRhdGVfbWF4X3RyX3NpbmdsZShzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyLAorCQkJICBzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzaywgaW50IGNwdSk7CisKK2V4dGVybiBjeWNsZV90IGZ0cmFjZV9ub3coaW50IGNwdSk7CisKKyNpZmRlZiBDT05GSUdfRlRSQUNFCit2b2lkIHRyYWNpbmdfc3RhcnRfZnVuY3Rpb25fdHJhY2Uodm9pZCk7Cit2b2lkIHRyYWNpbmdfc3RvcF9mdW5jdGlvbl90cmFjZSh2b2lkKTsKKyNlbHNlCisjIGRlZmluZSB0cmFjaW5nX3N0YXJ0X2Z1bmN0aW9uX3RyYWNlKCkJCWRvIHsgfSB3aGlsZSAoMCkKKyMgZGVmaW5lIHRyYWNpbmdfc3RvcF9mdW5jdGlvbl90cmFjZSgpCQlkbyB7IH0gd2hpbGUgKDApCisjZW5kaWYKKworI2lmZGVmIENPTkZJR19DT05URVhUX1NXSVRDSF9UUkFDRVIKK3R5cGVkZWYgdm9pZAorKCp0cmFjZXJfc3dpdGNoX2Z1bmNfdCkodm9pZCAqcHJpdmF0ZSwKKwkJCXZvaWQgKl9fcnEsCisJCQlzdHJ1Y3QgdGFza19zdHJ1Y3QgKnByZXYsCisJCQlzdHJ1Y3QgdGFza19zdHJ1Y3QgKm5leHQpOworCitzdHJ1Y3QgdHJhY2VyX3N3aXRjaF9vcHMgeworCXRyYWNlcl9zd2l0Y2hfZnVuY190CQlmdW5jOworCXZvaWQJCQkJKnByaXZhdGU7CisJc3RydWN0IHRyYWNlcl9zd2l0Y2hfb3BzCSpuZXh0OworfTsKKworI2VuZGlmIC8qIENPTkZJR19DT05URVhUX1NXSVRDSF9UUkFDRVIgKi8KKworI2lmZGVmIENPTkZJR19EWU5BTUlDX0ZUUkFDRQorZXh0ZXJuIHVuc2lnbmVkIGxvbmcgZnRyYWNlX3VwZGF0ZV90b3RfY250OworI2RlZmluZSBEWU5fRlRSQUNFX1RFU1RfTkFNRSB0cmFjZV9zZWxmdGVzdF9keW5hbWljX3Rlc3RfZnVuYworZXh0ZXJuIGludCBEWU5fRlRSQUNFX1RFU1RfTkFNRSh2b2lkKTsKKyNlbmRpZgorCisjaWZkZWYgQ09ORklHX01NSU9UUkFDRQorZXh0ZXJuIHZvaWQgX190cmFjZV9tbWlvdHJhY2Vfcncoc3RydWN0IHRyYWNlX2FycmF5ICp0ciwKKwkJCQlzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhLAorCQkJCXN0cnVjdCBtbWlvdHJhY2VfcncgKnJ3KTsKK2V4dGVybiB2b2lkIF9fdHJhY2VfbW1pb3RyYWNlX21hcChzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyLAorCQkJCXN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGEsCisJCQkJc3RydWN0IG1taW90cmFjZV9tYXAgKm1hcCk7CisjZW5kaWYKKworI2lmZGVmIENPTkZJR19GVFJBQ0VfU1RBUlRVUF9URVNUCisjaWZkZWYgQ09ORklHX0ZUUkFDRQorZXh0ZXJuIGludCB0cmFjZV9zZWxmdGVzdF9zdGFydHVwX2Z1bmN0aW9uKHN0cnVjdCB0cmFjZXIgKnRyYWNlLAorCQkJCQkgICBzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKTsKKyNlbmRpZgorI2lmZGVmIENPTkZJR19JUlFTT0ZGX1RSQUNFUgorZXh0ZXJuIGludCB0cmFjZV9zZWxmdGVzdF9zdGFydHVwX2lycXNvZmYoc3RydWN0IHRyYWNlciAqdHJhY2UsCisJCQkJCSAgc3RydWN0IHRyYWNlX2FycmF5ICp0cik7CisjZW5kaWYKKyNpZmRlZiBDT05GSUdfUFJFRU1QVF9UUkFDRVIKK2V4dGVybiBpbnQgdHJhY2Vfc2VsZnRlc3Rfc3RhcnR1cF9wcmVlbXB0b2ZmKHN0cnVjdCB0cmFjZXIgKnRyYWNlLAorCQkJCQkgICAgIHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpOworI2VuZGlmCisjaWYgZGVmaW5lZChDT05GSUdfSVJRU09GRl9UUkFDRVIpICYmIGRlZmluZWQoQ09ORklHX1BSRUVNUFRfVFJBQ0VSKQorZXh0ZXJuIGludCB0cmFjZV9zZWxmdGVzdF9zdGFydHVwX3ByZWVtcHRpcnFzb2ZmKHN0cnVjdCB0cmFjZXIgKnRyYWNlLAorCQkJCQkJIHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpOworI2VuZGlmCisjaWZkZWYgQ09ORklHX1NDSEVEX1RSQUNFUgorZXh0ZXJuIGludCB0cmFjZV9zZWxmdGVzdF9zdGFydHVwX3dha2V1cChzdHJ1Y3QgdHJhY2VyICp0cmFjZSwKKwkJCQkJIHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpOworI2VuZGlmCisjaWZkZWYgQ09ORklHX0NPTlRFWFRfU1dJVENIX1RSQUNFUgorZXh0ZXJuIGludCB0cmFjZV9zZWxmdGVzdF9zdGFydHVwX3NjaGVkX3N3aXRjaChzdHJ1Y3QgdHJhY2VyICp0cmFjZSwKKwkJCQkJICAgICAgIHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpOworI2VuZGlmCisjaWZkZWYgQ09ORklHX1NZU1BST0ZfVFJBQ0VSCitleHRlcm4gaW50IHRyYWNlX3NlbGZ0ZXN0X3N0YXJ0dXBfc3lzcHJvZihzdHJ1Y3QgdHJhY2VyICp0cmFjZSwKKwkJCQkJICAgICAgIHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpOworI2VuZGlmCisjZW5kaWYgLyogQ09ORklHX0ZUUkFDRV9TVEFSVFVQX1RFU1QgKi8KKworZXh0ZXJuIHZvaWQgKmhlYWRfcGFnZShzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhKTsKK2V4dGVybiBpbnQgdHJhY2Vfc2VxX3ByaW50ZihzdHJ1Y3QgdHJhY2Vfc2VxICpzLCBjb25zdCBjaGFyICpmbXQsIC4uLik7CitleHRlcm4gc3NpemVfdCB0cmFjZV9zZXFfdG9fdXNlcihzdHJ1Y3QgdHJhY2Vfc2VxICpzLCBjaGFyIF9fdXNlciAqdWJ1ZiwKKwkJCQkgc2l6ZV90IGNudCk7CitleHRlcm4gbG9uZyBuczJ1c2VjcyhjeWNsZV90IG5zZWMpOworCitleHRlcm4gdW5zaWduZWQgbG9uZyB0cmFjZV9mbGFnczsKKworLyoKKyAqIHRyYWNlX2l0ZXJhdG9yX2ZsYWdzIGlzIGFuIGVudW1lcmF0aW9uIHRoYXQgZGVmaW5lcyBiaXQKKyAqIHBvc2l0aW9ucyBpbnRvIHRyYWNlX2ZsYWdzIHRoYXQgY29udHJvbHMgdGhlIG91dHB1dC4KKyAqCisgKiBOT1RFOiBUaGVzZSBiaXRzIG11c3QgbWF0Y2ggdGhlIHRyYWNlX29wdGlvbnMgYXJyYXkgaW4KKyAqICAgICAgIHRyYWNlLmMuCisgKi8KK2VudW0gdHJhY2VfaXRlcmF0b3JfZmxhZ3MgeworCVRSQUNFX0lURVJfUFJJTlRfUEFSRU5UCQk9IDB4MDEsCisJVFJBQ0VfSVRFUl9TWU1fT0ZGU0VUCQk9IDB4MDIsCisJVFJBQ0VfSVRFUl9TWU1fQUREUgkJPSAweDA0LAorCVRSQUNFX0lURVJfVkVSQk9TRQkJPSAweDA4LAorCVRSQUNFX0lURVJfUkFXCQkJPSAweDEwLAorCVRSQUNFX0lURVJfSEVYCQkJPSAweDIwLAorCVRSQUNFX0lURVJfQklOCQkJPSAweDQwLAorCVRSQUNFX0lURVJfQkxPQ0sJCT0gMHg4MCwKKwlUUkFDRV9JVEVSX1NUQUNLVFJBQ0UJCT0gMHgxMDAsCisJVFJBQ0VfSVRFUl9TQ0hFRF9UUkVFCQk9IDB4MjAwLAorfTsKKworI2VuZGlmIC8qIF9MSU5VWF9LRVJORUxfVFJBQ0VfSCAqLwpkaWZmIC0tZ2l0IGEva2VybmVsL3RyYWNlL3RyYWNlX2Z1bmN0aW9ucy5jIGIva2VybmVsL3RyYWNlL3RyYWNlX2Z1bmN0aW9ucy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMxMjE0NDgKLS0tIC9kZXYvbnVsbAorKysgYi9rZXJuZWwvdHJhY2UvdHJhY2VfZnVuY3Rpb25zLmMKQEAgLTAsMCArMSw4MSBAQAorLyoKKyAqIHJpbmcgYnVmZmVyIGJhc2VkIGZ1bmN0aW9uIHRyYWNlcgorICoKKyAqIENvcHlyaWdodCAoQykgMjAwNy0yMDA4IFN0ZXZlbiBSb3N0ZWR0IDxzcm9zdGVkdEByZWRoYXQuY29tPgorICogQ29weXJpZ2h0IChDKSAyMDA4IEluZ28gTW9sbmFyIDxtaW5nb0ByZWRoYXQuY29tPgorICoKKyAqIEJhc2VkIG9uIGNvZGUgZnJvbSB0aGUgbGF0ZW5jeV90cmFjZXIsIHRoYXQgaXM6CisgKgorICogIENvcHlyaWdodCAoQykgMjAwNC0yMDA2IEluZ28gTW9sbmFyCisgKiAgQ29weXJpZ2h0IChDKSAyMDA0IFdpbGxpYW0gTGVlIElyd2luIElJSQorICovCisjaW5jbHVkZSA8bGludXgvZGVidWdmcy5oPgorI2luY2x1ZGUgPGxpbnV4L3VhY2Nlc3MuaD4KKyNpbmNsdWRlIDxsaW51eC9mdHJhY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9mcy5oPgorCisjaW5jbHVkZSAidHJhY2UuaCIKKworc3RhdGljIHZvaWQgZnVuY3Rpb25fcmVzZXQoc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwlpbnQgY3B1OworCisJdHItPnRpbWVfc3RhcnQgPSBmdHJhY2Vfbm93KHRyLT5jcHUpOworCisJZm9yX2VhY2hfb25saW5lX2NwdShjcHUpCisJCXRyYWNpbmdfcmVzZXQodHItPmRhdGFbY3B1XSk7Cit9CisKK3N0YXRpYyB2b2lkIHN0YXJ0X2Z1bmN0aW9uX3RyYWNlKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJdHItPmNwdSA9IGdldF9jcHUoKTsKKwlmdW5jdGlvbl9yZXNldCh0cik7CisJcHV0X2NwdSgpOworCisJdHJhY2luZ19zdGFydF9jbWRsaW5lX3JlY29yZCgpOworCXRyYWNpbmdfc3RhcnRfZnVuY3Rpb25fdHJhY2UoKTsKK30KKworc3RhdGljIHZvaWQgc3RvcF9mdW5jdGlvbl90cmFjZShzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCXRyYWNpbmdfc3RvcF9mdW5jdGlvbl90cmFjZSgpOworCXRyYWNpbmdfc3RvcF9jbWRsaW5lX3JlY29yZCgpOworfQorCitzdGF0aWMgdm9pZCBmdW5jdGlvbl90cmFjZV9pbml0KHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJaWYgKHRyLT5jdHJsKQorCQlzdGFydF9mdW5jdGlvbl90cmFjZSh0cik7Cit9CisKK3N0YXRpYyB2b2lkIGZ1bmN0aW9uX3RyYWNlX3Jlc2V0KHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJaWYgKHRyLT5jdHJsKQorCQlzdG9wX2Z1bmN0aW9uX3RyYWNlKHRyKTsKK30KKworc3RhdGljIHZvaWQgZnVuY3Rpb25fdHJhY2VfY3RybF91cGRhdGUoc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwlpZiAodHItPmN0cmwpCisJCXN0YXJ0X2Z1bmN0aW9uX3RyYWNlKHRyKTsKKwllbHNlCisJCXN0b3BfZnVuY3Rpb25fdHJhY2UodHIpOworfQorCitzdGF0aWMgc3RydWN0IHRyYWNlciBmdW5jdGlvbl90cmFjZSBfX3JlYWRfbW9zdGx5ID0KK3sKKwkubmFtZQkgICAgID0gImZ0cmFjZSIsCisJLmluaXQJICAgICA9IGZ1bmN0aW9uX3RyYWNlX2luaXQsCisJLnJlc2V0CSAgICAgPSBmdW5jdGlvbl90cmFjZV9yZXNldCwKKwkuY3RybF91cGRhdGUgPSBmdW5jdGlvbl90cmFjZV9jdHJsX3VwZGF0ZSwKKyNpZmRlZiBDT05GSUdfRlRSQUNFX1NFTEZURVNUCisJLnNlbGZ0ZXN0ICAgID0gdHJhY2Vfc2VsZnRlc3Rfc3RhcnR1cF9mdW5jdGlvbiwKKyNlbmRpZgorfTsKKworc3RhdGljIF9faW5pdCBpbnQgaW5pdF9mdW5jdGlvbl90cmFjZSh2b2lkKQoreworCXJldHVybiByZWdpc3Rlcl90cmFjZXIoJmZ1bmN0aW9uX3RyYWNlKTsKK30KKworZGV2aWNlX2luaXRjYWxsKGluaXRfZnVuY3Rpb25fdHJhY2UpOwpkaWZmIC0tZ2l0IGEva2VybmVsL3RyYWNlL3RyYWNlX2lycXNvZmYuYyBiL2tlcm5lbC90cmFjZS90cmFjZV9pcnFzb2ZmLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDIxZDZmZQotLS0gL2Rldi9udWxsCisrKyBiL2tlcm5lbC90cmFjZS90cmFjZV9pcnFzb2ZmLmMKQEAgLTAsMCArMSw0ODYgQEAKKy8qCisgKiB0cmFjZSBpcnFzIG9mZiBjcml0aWNhbGwgdGltaW5ncworICoKKyAqIENvcHlyaWdodCAoQykgMjAwNy0yMDA4IFN0ZXZlbiBSb3N0ZWR0IDxzcm9zdGVkdEByZWRoYXQuY29tPgorICogQ29weXJpZ2h0IChDKSAyMDA4IEluZ28gTW9sbmFyIDxtaW5nb0ByZWRoYXQuY29tPgorICoKKyAqIEZyb20gY29kZSBpbiB0aGUgbGF0ZW5jeV90cmFjZXIsIHRoYXQgaXM6CisgKgorICogIENvcHlyaWdodCAoQykgMjAwNC0yMDA2IEluZ28gTW9sbmFyCisgKiAgQ29weXJpZ2h0IChDKSAyMDA0IFdpbGxpYW0gTGVlIElyd2luIElJSQorICovCisjaW5jbHVkZSA8bGludXgva2FsbHN5bXMuaD4KKyNpbmNsdWRlIDxsaW51eC9kZWJ1Z2ZzLmg+CisjaW5jbHVkZSA8bGludXgvdWFjY2Vzcy5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2Z0cmFjZS5oPgorI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CisKKyNpbmNsdWRlICJ0cmFjZS5oIgorCitzdGF0aWMgc3RydWN0IHRyYWNlX2FycmF5CQkqaXJxc29mZl90cmFjZSBfX3JlYWRfbW9zdGx5Oworc3RhdGljIGludAkJCQl0cmFjZXJfZW5hYmxlZCBfX3JlYWRfbW9zdGx5OworCitzdGF0aWMgREVGSU5FX1BFUl9DUFUoaW50LCB0cmFjaW5nX2NwdSk7CisKK3N0YXRpYyBERUZJTkVfU1BJTkxPQ0sobWF4X3RyYWNlX2xvY2spOworCitlbnVtIHsKKwlUUkFDRVJfSVJRU19PRkYJCT0gKDEgPDwgMSksCisJVFJBQ0VSX1BSRUVNUFRfT0ZGCT0gKDEgPDwgMiksCit9OworCitzdGF0aWMgaW50IHRyYWNlX3R5cGUgX19yZWFkX21vc3RseTsKKworI2lmZGVmIENPTkZJR19QUkVFTVBUX1RSQUNFUgorc3RhdGljIGlubGluZSBpbnQKK3ByZWVtcHRfdHJhY2Uodm9pZCkKK3sKKwlyZXR1cm4gKCh0cmFjZV90eXBlICYgVFJBQ0VSX1BSRUVNUFRfT0ZGKSAmJiBwcmVlbXB0X2NvdW50KCkpOworfQorI2Vsc2UKKyMgZGVmaW5lIHByZWVtcHRfdHJhY2UoKSAoMCkKKyNlbmRpZgorCisjaWZkZWYgQ09ORklHX0lSUVNPRkZfVFJBQ0VSCitzdGF0aWMgaW5saW5lIGludAoraXJxX3RyYWNlKHZvaWQpCit7CisJcmV0dXJuICgodHJhY2VfdHlwZSAmIFRSQUNFUl9JUlFTX09GRikgJiYKKwkJaXJxc19kaXNhYmxlZCgpKTsKK30KKyNlbHNlCisjIGRlZmluZSBpcnFfdHJhY2UoKSAoMCkKKyNlbmRpZgorCisvKgorICogU2VxdWVuY2UgY291bnQgLSB3ZSByZWNvcmQgaXQgd2hlbiBzdGFydGluZyBhIG1lYXN1cmVtZW50IGFuZAorICogc2tpcCB0aGUgbGF0ZW5jeSBpZiB0aGUgc2VxdWVuY2UgaGFzIGNoYW5nZWQgLSBzb21lIG90aGVyIHNlY3Rpb24KKyAqIGRpZCBhIG1heGltdW0gYW5kIGNvdWxkIGRpc3R1cmIgb3VyIG1lYXN1cmVtZW50IHdpdGggc2VyaWFsIGNvbnNvbGUKKyAqIHByaW50b3V0cywgZXRjLiBUcnVseSBjb2luY2lkaW5nIG1heGltdW0gbGF0ZW5jaWVzIHNob3VsZCBiZSByYXJlCisgKiBhbmQgd2hhdCBoYXBwZW5zIHRvZ2V0aGVyIGhhcHBlbnMgc2VwYXJhdGVseSBhcyB3ZWxsLCBzbyB0aGlzIGRvZXNudAorICogZGVjcmVhc2UgdGhlIHZhbGlkaXR5IG9mIHRoZSBtYXhpbXVtIGZvdW5kOgorICovCitzdGF0aWMgX19jYWNoZWxpbmVfYWxpZ25lZF9pbl9zbXAJdW5zaWduZWQgbG9uZyBtYXhfc2VxdWVuY2U7CisKKyNpZmRlZiBDT05GSUdfRlRSQUNFCisvKgorICogaXJxc29mZiB1c2VzIGl0cyBvd24gdHJhY2VyIGZ1bmN0aW9uIHRvIGtlZXAgdGhlIG92ZXJoZWFkIGRvd246CisgKi8KK3N0YXRpYyB2b2lkCitpcnFzb2ZmX3RyYWNlcl9jYWxsKHVuc2lnbmVkIGxvbmcgaXAsIHVuc2lnbmVkIGxvbmcgcGFyZW50X2lwKQoreworCXN0cnVjdCB0cmFjZV9hcnJheSAqdHIgPSBpcnFzb2ZmX3RyYWNlOworCXN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGE7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwlsb25nIGRpc2FibGVkOworCWludCBjcHU7CisKKwkvKgorCSAqIERvZXMgbm90IG1hdHRlciBpZiB3ZSBwcmVlbXB0LiBXZSB0ZXN0IHRoZSBmbGFncworCSAqIGFmdGVyd2FyZCwgdG8gc2VlIGlmIGlycXMgYXJlIGRpc2FibGVkIG9yIG5vdC4KKwkgKiBJZiB3ZSBwcmVlbXB0IGFuZCBnZXQgYSBmYWxzZSBwb3NpdGl2ZSwgdGhlIGZsYWdzCisJICogdGVzdCB3aWxsIGZhaWwuCisJICovCisJY3B1ID0gcmF3X3NtcF9wcm9jZXNzb3JfaWQoKTsKKwlpZiAobGlrZWx5KCFwZXJfY3B1KHRyYWNpbmdfY3B1LCBjcHUpKSkKKwkJcmV0dXJuOworCisJbG9jYWxfc2F2ZV9mbGFncyhmbGFncyk7CisJLyogc2xpZ2h0IGNoYW5jZSB0byBnZXQgYSBmYWxzZSBwb3NpdGl2ZSBvbiB0cmFjaW5nX2NwdSAqLworCWlmICghaXJxc19kaXNhYmxlZF9mbGFncyhmbGFncykpCisJCXJldHVybjsKKworCWRhdGEgPSB0ci0+ZGF0YVtjcHVdOworCWRpc2FibGVkID0gYXRvbWljX2luY19yZXR1cm4oJmRhdGEtPmRpc2FibGVkKTsKKworCWlmIChsaWtlbHkoZGlzYWJsZWQgPT0gMSkpCisJCXRyYWNlX2Z1bmN0aW9uKHRyLCBkYXRhLCBpcCwgcGFyZW50X2lwLCBmbGFncyk7CisKKwlhdG9taWNfZGVjKCZkYXRhLT5kaXNhYmxlZCk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgZnRyYWNlX29wcyB0cmFjZV9vcHMgX19yZWFkX21vc3RseSA9Cit7CisJLmZ1bmMgPSBpcnFzb2ZmX3RyYWNlcl9jYWxsLAorfTsKKyNlbmRpZiAvKiBDT05GSUdfRlRSQUNFICovCisKKy8qCisgKiBTaG91bGQgdGhpcyBuZXcgbGF0ZW5jeSBiZSByZXBvcnRlZC9yZWNvcmRlZD8KKyAqLworc3RhdGljIGludCByZXBvcnRfbGF0ZW5jeShjeWNsZV90IGRlbHRhKQoreworCWlmICh0cmFjaW5nX3RocmVzaCkgeworCQlpZiAoZGVsdGEgPCB0cmFjaW5nX3RocmVzaCkKKwkJCXJldHVybiAwOworCX0gZWxzZSB7CisJCWlmIChkZWx0YSA8PSB0cmFjaW5nX21heF9sYXRlbmN5KQorCQkJcmV0dXJuIDA7CisJfQorCXJldHVybiAxOworfQorCitzdGF0aWMgdm9pZAorY2hlY2tfY3JpdGljYWxfdGltaW5nKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIsCisJCSAgICAgIHN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGEsCisJCSAgICAgIHVuc2lnbmVkIGxvbmcgcGFyZW50X2lwLAorCQkgICAgICBpbnQgY3B1KQoreworCXVuc2lnbmVkIGxvbmcgbGF0ZW5jeSwgdDAsIHQxOworCWN5Y2xlX3QgVDAsIFQxLCBkZWx0YTsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJLyoKKwkgKiB1c2VjcyBjb252ZXJzaW9uIGlzIHNsb3cgc28gd2UgdHJ5IHRvIGRlbGF5IHRoZSBjb252ZXJzaW9uCisJICogYXMgbG9uZyBhcyBwb3NzaWJsZToKKwkgKi8KKwlUMCA9IGRhdGEtPnByZWVtcHRfdGltZXN0YW1wOworCVQxID0gZnRyYWNlX25vdyhjcHUpOworCWRlbHRhID0gVDEtVDA7CisKKwlsb2NhbF9zYXZlX2ZsYWdzKGZsYWdzKTsKKworCWlmICghcmVwb3J0X2xhdGVuY3koZGVsdGEpKQorCQlnb3RvIG91dDsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZtYXhfdHJhY2VfbG9jaywgZmxhZ3MpOworCisJLyogY2hlY2sgaWYgd2UgYXJlIHN0aWxsIHRoZSBtYXggbGF0ZW5jeSAqLworCWlmICghcmVwb3J0X2xhdGVuY3koZGVsdGEpKQorCQlnb3RvIG91dF91bmxvY2s7CisKKwl0cmFjZV9mdW5jdGlvbih0ciwgZGF0YSwgQ0FMTEVSX0FERFIwLCBwYXJlbnRfaXAsIGZsYWdzKTsKKworCWxhdGVuY3kgPSBuc2Vjc190b191c2VjcyhkZWx0YSk7CisKKwlpZiAoZGF0YS0+Y3JpdGljYWxfc2VxdWVuY2UgIT0gbWF4X3NlcXVlbmNlKQorCQlnb3RvIG91dF91bmxvY2s7CisKKwl0cmFjaW5nX21heF9sYXRlbmN5ID0gZGVsdGE7CisJdDAgPSBuc2Vjc190b191c2VjcyhUMCk7CisJdDEgPSBuc2Vjc190b191c2VjcyhUMSk7CisKKwlkYXRhLT5jcml0aWNhbF9lbmQgPSBwYXJlbnRfaXA7CisKKwl1cGRhdGVfbWF4X3RyX3NpbmdsZSh0ciwgY3VycmVudCwgY3B1KTsKKworCW1heF9zZXF1ZW5jZSsrOworCitvdXRfdW5sb2NrOgorCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJm1heF90cmFjZV9sb2NrLCBmbGFncyk7CisKK291dDoKKwlkYXRhLT5jcml0aWNhbF9zZXF1ZW5jZSA9IG1heF9zZXF1ZW5jZTsKKwlkYXRhLT5wcmVlbXB0X3RpbWVzdGFtcCA9IGZ0cmFjZV9ub3coY3B1KTsKKwl0cmFjaW5nX3Jlc2V0KGRhdGEpOworCXRyYWNlX2Z1bmN0aW9uKHRyLCBkYXRhLCBDQUxMRVJfQUREUjAsIHBhcmVudF9pcCwgZmxhZ3MpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQKK3N0YXJ0X2NyaXRpY2FsX3RpbWluZyh1bnNpZ25lZCBsb25nIGlwLCB1bnNpZ25lZCBsb25nIHBhcmVudF9pcCkKK3sKKwlpbnQgY3B1OworCXN0cnVjdCB0cmFjZV9hcnJheSAqdHIgPSBpcnFzb2ZmX3RyYWNlOworCXN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGE7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCWlmIChsaWtlbHkoIXRyYWNlcl9lbmFibGVkKSkKKwkJcmV0dXJuOworCisJY3B1ID0gcmF3X3NtcF9wcm9jZXNzb3JfaWQoKTsKKworCWlmIChwZXJfY3B1KHRyYWNpbmdfY3B1LCBjcHUpKQorCQlyZXR1cm47CisKKwlkYXRhID0gdHItPmRhdGFbY3B1XTsKKworCWlmICh1bmxpa2VseSghZGF0YSkgfHwgYXRvbWljX3JlYWQoJmRhdGEtPmRpc2FibGVkKSkKKwkJcmV0dXJuOworCisJYXRvbWljX2luYygmZGF0YS0+ZGlzYWJsZWQpOworCisJZGF0YS0+Y3JpdGljYWxfc2VxdWVuY2UgPSBtYXhfc2VxdWVuY2U7CisJZGF0YS0+cHJlZW1wdF90aW1lc3RhbXAgPSBmdHJhY2Vfbm93KGNwdSk7CisJZGF0YS0+Y3JpdGljYWxfc3RhcnQgPSBwYXJlbnRfaXAgPyA6IGlwOworCXRyYWNpbmdfcmVzZXQoZGF0YSk7CisKKwlsb2NhbF9zYXZlX2ZsYWdzKGZsYWdzKTsKKworCXRyYWNlX2Z1bmN0aW9uKHRyLCBkYXRhLCBpcCwgcGFyZW50X2lwLCBmbGFncyk7CisKKwlwZXJfY3B1KHRyYWNpbmdfY3B1LCBjcHUpID0gMTsKKworCWF0b21pY19kZWMoJmRhdGEtPmRpc2FibGVkKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkCitzdG9wX2NyaXRpY2FsX3RpbWluZyh1bnNpZ25lZCBsb25nIGlwLCB1bnNpZ25lZCBsb25nIHBhcmVudF9pcCkKK3sKKwlpbnQgY3B1OworCXN0cnVjdCB0cmFjZV9hcnJheSAqdHIgPSBpcnFzb2ZmX3RyYWNlOworCXN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGE7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCWNwdSA9IHJhd19zbXBfcHJvY2Vzc29yX2lkKCk7CisJLyogQWx3YXlzIGNsZWFyIHRoZSB0cmFjaW5nIGNwdSBvbiBzdG9wcGluZyB0aGUgdHJhY2UgKi8KKwlpZiAodW5saWtlbHkocGVyX2NwdSh0cmFjaW5nX2NwdSwgY3B1KSkpCisJCXBlcl9jcHUodHJhY2luZ19jcHUsIGNwdSkgPSAwOworCWVsc2UKKwkJcmV0dXJuOworCisJaWYgKCF0cmFjZXJfZW5hYmxlZCkKKwkJcmV0dXJuOworCisJZGF0YSA9IHRyLT5kYXRhW2NwdV07CisKKwlpZiAodW5saWtlbHkoIWRhdGEpIHx8IHVubGlrZWx5KCFoZWFkX3BhZ2UoZGF0YSkpIHx8CisJICAgICFkYXRhLT5jcml0aWNhbF9zdGFydCB8fCBhdG9taWNfcmVhZCgmZGF0YS0+ZGlzYWJsZWQpKQorCQlyZXR1cm47CisKKwlhdG9taWNfaW5jKCZkYXRhLT5kaXNhYmxlZCk7CisKKwlsb2NhbF9zYXZlX2ZsYWdzKGZsYWdzKTsKKwl0cmFjZV9mdW5jdGlvbih0ciwgZGF0YSwgaXAsIHBhcmVudF9pcCwgZmxhZ3MpOworCWNoZWNrX2NyaXRpY2FsX3RpbWluZyh0ciwgZGF0YSwgcGFyZW50X2lwID8gOiBpcCwgY3B1KTsKKwlkYXRhLT5jcml0aWNhbF9zdGFydCA9IDA7CisJYXRvbWljX2RlYygmZGF0YS0+ZGlzYWJsZWQpOworfQorCisvKiBzdGFydCBhbmQgc3RvcCBjcml0aWNhbCB0aW1pbmdzIHVzZWQgdG8gZm9yIHN0b3BwYWdlIChpbiBpZGxlKSAqLwordm9pZCBzdGFydF9jcml0aWNhbF90aW1pbmdzKHZvaWQpCit7CisJaWYgKHByZWVtcHRfdHJhY2UoKSB8fCBpcnFfdHJhY2UoKSkKKwkJc3RhcnRfY3JpdGljYWxfdGltaW5nKENBTExFUl9BRERSMCwgQ0FMTEVSX0FERFIxKTsKK30KKwordm9pZCBzdG9wX2NyaXRpY2FsX3RpbWluZ3Modm9pZCkKK3sKKwlpZiAocHJlZW1wdF90cmFjZSgpIHx8IGlycV90cmFjZSgpKQorCQlzdG9wX2NyaXRpY2FsX3RpbWluZyhDQUxMRVJfQUREUjAsIENBTExFUl9BRERSMSk7Cit9CisKKyNpZmRlZiBDT05GSUdfSVJRU09GRl9UUkFDRVIKKyNpZmRlZiBDT05GSUdfUFJPVkVfTE9DS0lORwordm9pZCB0aW1lX2hhcmRpcnFzX29uKHVuc2lnbmVkIGxvbmcgYTAsIHVuc2lnbmVkIGxvbmcgYTEpCit7CisJaWYgKCFwcmVlbXB0X3RyYWNlKCkgJiYgaXJxX3RyYWNlKCkpCisJCXN0b3BfY3JpdGljYWxfdGltaW5nKGEwLCBhMSk7Cit9CisKK3ZvaWQgdGltZV9oYXJkaXJxc19vZmYodW5zaWduZWQgbG9uZyBhMCwgdW5zaWduZWQgbG9uZyBhMSkKK3sKKwlpZiAoIXByZWVtcHRfdHJhY2UoKSAmJiBpcnFfdHJhY2UoKSkKKwkJc3RhcnRfY3JpdGljYWxfdGltaW5nKGEwLCBhMSk7Cit9CisKKyNlbHNlIC8qICFDT05GSUdfUFJPVkVfTE9DS0lORyAqLworCisvKgorICogU3R1YnM6CisgKi8KKwordm9pZCBlYXJseV9ib290X2lycXNfb2ZmKHZvaWQpCit7Cit9CisKK3ZvaWQgZWFybHlfYm9vdF9pcnFzX29uKHZvaWQpCit7Cit9CisKK3ZvaWQgdHJhY2Vfc29mdGlycXNfb24odW5zaWduZWQgbG9uZyBpcCkKK3sKK30KKwordm9pZCB0cmFjZV9zb2Z0aXJxc19vZmYodW5zaWduZWQgbG9uZyBpcCkKK3sKK30KKworaW5saW5lIHZvaWQgcHJpbnRfaXJxdHJhY2VfZXZlbnRzKHN0cnVjdCB0YXNrX3N0cnVjdCAqY3VycikKK3sKK30KKworLyoKKyAqIFdlIGFyZSBvbmx5IGludGVyZXN0ZWQgaW4gaGFyZGlycSBvbi9vZmYgZXZlbnRzOgorICovCit2b2lkIHRyYWNlX2hhcmRpcnFzX29uKHZvaWQpCit7CisJaWYgKCFwcmVlbXB0X3RyYWNlKCkgJiYgaXJxX3RyYWNlKCkpCisJCXN0b3BfY3JpdGljYWxfdGltaW5nKENBTExFUl9BRERSMCwgQ0FMTEVSX0FERFIxKTsKK30KK0VYUE9SVF9TWU1CT0wodHJhY2VfaGFyZGlycXNfb24pOworCit2b2lkIHRyYWNlX2hhcmRpcnFzX29mZih2b2lkKQoreworCWlmICghcHJlZW1wdF90cmFjZSgpICYmIGlycV90cmFjZSgpKQorCQlzdGFydF9jcml0aWNhbF90aW1pbmcoQ0FMTEVSX0FERFIwLCBDQUxMRVJfQUREUjEpOworfQorRVhQT1JUX1NZTUJPTCh0cmFjZV9oYXJkaXJxc19vZmYpOworCit2b2lkIHRyYWNlX2hhcmRpcnFzX29uX2NhbGxlcih1bnNpZ25lZCBsb25nIGNhbGxlcl9hZGRyKQoreworCWlmICghcHJlZW1wdF90cmFjZSgpICYmIGlycV90cmFjZSgpKQorCQlzdG9wX2NyaXRpY2FsX3RpbWluZyhDQUxMRVJfQUREUjAsIGNhbGxlcl9hZGRyKTsKK30KK0VYUE9SVF9TWU1CT0wodHJhY2VfaGFyZGlycXNfb25fY2FsbGVyKTsKKwordm9pZCB0cmFjZV9oYXJkaXJxc19vZmZfY2FsbGVyKHVuc2lnbmVkIGxvbmcgY2FsbGVyX2FkZHIpCit7CisJaWYgKCFwcmVlbXB0X3RyYWNlKCkgJiYgaXJxX3RyYWNlKCkpCisJCXN0YXJ0X2NyaXRpY2FsX3RpbWluZyhDQUxMRVJfQUREUjAsIGNhbGxlcl9hZGRyKTsKK30KK0VYUE9SVF9TWU1CT0wodHJhY2VfaGFyZGlycXNfb2ZmX2NhbGxlcik7CisKKyNlbmRpZiAvKiBDT05GSUdfUFJPVkVfTE9DS0lORyAqLworI2VuZGlmIC8qICBDT05GSUdfSVJRU09GRl9UUkFDRVIgKi8KKworI2lmZGVmIENPTkZJR19QUkVFTVBUX1RSQUNFUgordm9pZCB0cmFjZV9wcmVlbXB0X29uKHVuc2lnbmVkIGxvbmcgYTAsIHVuc2lnbmVkIGxvbmcgYTEpCit7CisJc3RvcF9jcml0aWNhbF90aW1pbmcoYTAsIGExKTsKK30KKwordm9pZCB0cmFjZV9wcmVlbXB0X29mZih1bnNpZ25lZCBsb25nIGEwLCB1bnNpZ25lZCBsb25nIGExKQoreworCXN0YXJ0X2NyaXRpY2FsX3RpbWluZyhhMCwgYTEpOworfQorI2VuZGlmIC8qIENPTkZJR19QUkVFTVBUX1RSQUNFUiAqLworCitzdGF0aWMgdm9pZCBzdGFydF9pcnFzb2ZmX3RyYWNlcihzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCXJlZ2lzdGVyX2Z0cmFjZV9mdW5jdGlvbigmdHJhY2Vfb3BzKTsKKwl0cmFjZXJfZW5hYmxlZCA9IDE7Cit9CisKK3N0YXRpYyB2b2lkIHN0b3BfaXJxc29mZl90cmFjZXIoc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwl0cmFjZXJfZW5hYmxlZCA9IDA7CisJdW5yZWdpc3Rlcl9mdHJhY2VfZnVuY3Rpb24oJnRyYWNlX29wcyk7Cit9CisKK3N0YXRpYyB2b2lkIF9faXJxc29mZl90cmFjZXJfaW5pdChzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCWlycXNvZmZfdHJhY2UgPSB0cjsKKwkvKiBtYWtlIHN1cmUgdGhhdCB0aGUgdHJhY2VyIGlzIHZpc2libGUgKi8KKwlzbXBfd21iKCk7CisKKwlpZiAodHItPmN0cmwpCisJCXN0YXJ0X2lycXNvZmZfdHJhY2VyKHRyKTsKK30KKworc3RhdGljIHZvaWQgaXJxc29mZl90cmFjZXJfcmVzZXQoc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwlpZiAodHItPmN0cmwpCisJCXN0b3BfaXJxc29mZl90cmFjZXIodHIpOworfQorCitzdGF0aWMgdm9pZCBpcnFzb2ZmX3RyYWNlcl9jdHJsX3VwZGF0ZShzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCWlmICh0ci0+Y3RybCkKKwkJc3RhcnRfaXJxc29mZl90cmFjZXIodHIpOworCWVsc2UKKwkJc3RvcF9pcnFzb2ZmX3RyYWNlcih0cik7Cit9CisKK3N0YXRpYyB2b2lkIGlycXNvZmZfdHJhY2VyX29wZW4oc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyKQoreworCS8qIHN0b3AgdGhlIHRyYWNlIHdoaWxlIGR1bXBpbmcgKi8KKwlpZiAoaXRlci0+dHItPmN0cmwpCisJCXN0b3BfaXJxc29mZl90cmFjZXIoaXRlci0+dHIpOworfQorCitzdGF0aWMgdm9pZCBpcnFzb2ZmX3RyYWNlcl9jbG9zZShzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIpCit7CisJaWYgKGl0ZXItPnRyLT5jdHJsKQorCQlzdGFydF9pcnFzb2ZmX3RyYWNlcihpdGVyLT50cik7Cit9CisKKyNpZmRlZiBDT05GSUdfSVJRU09GRl9UUkFDRVIKK3N0YXRpYyB2b2lkIGlycXNvZmZfdHJhY2VyX2luaXQoc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwl0cmFjZV90eXBlID0gVFJBQ0VSX0lSUVNfT0ZGOworCisJX19pcnFzb2ZmX3RyYWNlcl9pbml0KHRyKTsKK30KK3N0YXRpYyBzdHJ1Y3QgdHJhY2VyIGlycXNvZmZfdHJhY2VyIF9fcmVhZF9tb3N0bHkgPQoreworCS5uYW1lCQk9ICJpcnFzb2ZmIiwKKwkuaW5pdAkJPSBpcnFzb2ZmX3RyYWNlcl9pbml0LAorCS5yZXNldAkJPSBpcnFzb2ZmX3RyYWNlcl9yZXNldCwKKwkub3BlbgkJPSBpcnFzb2ZmX3RyYWNlcl9vcGVuLAorCS5jbG9zZQkJPSBpcnFzb2ZmX3RyYWNlcl9jbG9zZSwKKwkuY3RybF91cGRhdGUJPSBpcnFzb2ZmX3RyYWNlcl9jdHJsX3VwZGF0ZSwKKwkucHJpbnRfbWF4CT0gMSwKKyNpZmRlZiBDT05GSUdfRlRSQUNFX1NFTEZURVNUCisJLnNlbGZ0ZXN0ICAgID0gdHJhY2Vfc2VsZnRlc3Rfc3RhcnR1cF9pcnFzb2ZmLAorI2VuZGlmCit9OworIyBkZWZpbmUgcmVnaXN0ZXJfaXJxc29mZih0cmFjZSkgcmVnaXN0ZXJfdHJhY2VyKCZ0cmFjZSkKKyNlbHNlCisjIGRlZmluZSByZWdpc3Rlcl9pcnFzb2ZmKHRyYWNlKSBkbyB7IH0gd2hpbGUgKDApCisjZW5kaWYKKworI2lmZGVmIENPTkZJR19QUkVFTVBUX1RSQUNFUgorc3RhdGljIHZvaWQgcHJlZW1wdG9mZl90cmFjZXJfaW5pdChzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCXRyYWNlX3R5cGUgPSBUUkFDRVJfUFJFRU1QVF9PRkY7CisKKwlfX2lycXNvZmZfdHJhY2VyX2luaXQodHIpOworfQorCitzdGF0aWMgc3RydWN0IHRyYWNlciBwcmVlbXB0b2ZmX3RyYWNlciBfX3JlYWRfbW9zdGx5ID0KK3sKKwkubmFtZQkJPSAicHJlZW1wdG9mZiIsCisJLmluaXQJCT0gcHJlZW1wdG9mZl90cmFjZXJfaW5pdCwKKwkucmVzZXQJCT0gaXJxc29mZl90cmFjZXJfcmVzZXQsCisJLm9wZW4JCT0gaXJxc29mZl90cmFjZXJfb3BlbiwKKwkuY2xvc2UJCT0gaXJxc29mZl90cmFjZXJfY2xvc2UsCisJLmN0cmxfdXBkYXRlCT0gaXJxc29mZl90cmFjZXJfY3RybF91cGRhdGUsCisJLnByaW50X21heAk9IDEsCisjaWZkZWYgQ09ORklHX0ZUUkFDRV9TRUxGVEVTVAorCS5zZWxmdGVzdCAgICA9IHRyYWNlX3NlbGZ0ZXN0X3N0YXJ0dXBfcHJlZW1wdG9mZiwKKyNlbmRpZgorfTsKKyMgZGVmaW5lIHJlZ2lzdGVyX3ByZWVtcHRvZmYodHJhY2UpIHJlZ2lzdGVyX3RyYWNlcigmdHJhY2UpCisjZWxzZQorIyBkZWZpbmUgcmVnaXN0ZXJfcHJlZW1wdG9mZih0cmFjZSkgZG8geyB9IHdoaWxlICgwKQorI2VuZGlmCisKKyNpZiBkZWZpbmVkKENPTkZJR19JUlFTT0ZGX1RSQUNFUikgJiYgXAorCWRlZmluZWQoQ09ORklHX1BSRUVNUFRfVFJBQ0VSKQorCitzdGF0aWMgdm9pZCBwcmVlbXB0aXJxc29mZl90cmFjZXJfaW5pdChzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCXRyYWNlX3R5cGUgPSBUUkFDRVJfSVJRU19PRkYgfCBUUkFDRVJfUFJFRU1QVF9PRkY7CisKKwlfX2lycXNvZmZfdHJhY2VyX2luaXQodHIpOworfQorCitzdGF0aWMgc3RydWN0IHRyYWNlciBwcmVlbXB0aXJxc29mZl90cmFjZXIgX19yZWFkX21vc3RseSA9Cit7CisJLm5hbWUJCT0gInByZWVtcHRpcnFzb2ZmIiwKKwkuaW5pdAkJPSBwcmVlbXB0aXJxc29mZl90cmFjZXJfaW5pdCwKKwkucmVzZXQJCT0gaXJxc29mZl90cmFjZXJfcmVzZXQsCisJLm9wZW4JCT0gaXJxc29mZl90cmFjZXJfb3BlbiwKKwkuY2xvc2UJCT0gaXJxc29mZl90cmFjZXJfY2xvc2UsCisJLmN0cmxfdXBkYXRlCT0gaXJxc29mZl90cmFjZXJfY3RybF91cGRhdGUsCisJLnByaW50X21heAk9IDEsCisjaWZkZWYgQ09ORklHX0ZUUkFDRV9TRUxGVEVTVAorCS5zZWxmdGVzdCAgICA9IHRyYWNlX3NlbGZ0ZXN0X3N0YXJ0dXBfcHJlZW1wdGlycXNvZmYsCisjZW5kaWYKK307CisKKyMgZGVmaW5lIHJlZ2lzdGVyX3ByZWVtcHRpcnFzb2ZmKHRyYWNlKSByZWdpc3Rlcl90cmFjZXIoJnRyYWNlKQorI2Vsc2UKKyMgZGVmaW5lIHJlZ2lzdGVyX3ByZWVtcHRpcnFzb2ZmKHRyYWNlKSBkbyB7IH0gd2hpbGUgKDApCisjZW5kaWYKKworX19pbml0IHN0YXRpYyBpbnQgaW5pdF9pcnFzb2ZmX3RyYWNlcih2b2lkKQoreworCXJlZ2lzdGVyX2lycXNvZmYoaXJxc29mZl90cmFjZXIpOworCXJlZ2lzdGVyX3ByZWVtcHRvZmYocHJlZW1wdG9mZl90cmFjZXIpOworCXJlZ2lzdGVyX3ByZWVtcHRpcnFzb2ZmKHByZWVtcHRpcnFzb2ZmX3RyYWNlcik7CisKKwlyZXR1cm4gMDsKK30KK2RldmljZV9pbml0Y2FsbChpbml0X2lycXNvZmZfdHJhY2VyKTsKZGlmZiAtLWdpdCBhL2tlcm5lbC90cmFjZS90cmFjZV9tbWlvdHJhY2UuYyBiL2tlcm5lbC90cmFjZS90cmFjZV9tbWlvdHJhY2UuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMTNkYzE5Ci0tLSAvZGV2L251bGwKKysrIGIva2VybmVsL3RyYWNlL3RyYWNlX21taW90cmFjZS5jCkBAIC0wLDAgKzEsMjk1IEBACisvKgorICogTWVtb3J5IG1hcHBlZCBJL08gdHJhY2luZworICoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBQZWtrYSBQYWFsYW5lbiA8cHFAaWtpLmZpPgorICovCisKKyNkZWZpbmUgREVCVUcgMQorCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvbW1pb3RyYWNlLmg+CisjaW5jbHVkZSA8bGludXgvcGNpLmg+CisKKyNpbmNsdWRlICJ0cmFjZS5oIgorCitzdHJ1Y3QgaGVhZGVyX2l0ZXIgeworCXN0cnVjdCBwY2lfZGV2ICpkZXY7Cit9OworCitzdGF0aWMgc3RydWN0IHRyYWNlX2FycmF5ICptbWlvX3RyYWNlX2FycmF5Oworc3RhdGljIGJvb2wgb3ZlcnJ1bl9kZXRlY3RlZDsKKworc3RhdGljIHZvaWQgbW1pb19yZXNldF9kYXRhKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJaW50IGNwdTsKKworCW92ZXJydW5fZGV0ZWN0ZWQgPSBmYWxzZTsKKwl0ci0+dGltZV9zdGFydCA9IGZ0cmFjZV9ub3codHItPmNwdSk7CisKKwlmb3JfZWFjaF9vbmxpbmVfY3B1KGNwdSkKKwkJdHJhY2luZ19yZXNldCh0ci0+ZGF0YVtjcHVdKTsKK30KKworc3RhdGljIHZvaWQgbW1pb190cmFjZV9pbml0KHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJcHJfZGVidWcoImluICVzXG4iLCBfX2Z1bmNfXyk7CisJbW1pb190cmFjZV9hcnJheSA9IHRyOworCWlmICh0ci0+Y3RybCkgeworCQltbWlvX3Jlc2V0X2RhdGEodHIpOworCQllbmFibGVfbW1pb3RyYWNlKCk7CisJfQorfQorCitzdGF0aWMgdm9pZCBtbWlvX3RyYWNlX3Jlc2V0KHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJcHJfZGVidWcoImluICVzXG4iLCBfX2Z1bmNfXyk7CisJaWYgKHRyLT5jdHJsKQorCQlkaXNhYmxlX21taW90cmFjZSgpOworCW1taW9fcmVzZXRfZGF0YSh0cik7CisJbW1pb190cmFjZV9hcnJheSA9IE5VTEw7Cit9CisKK3N0YXRpYyB2b2lkIG1taW9fdHJhY2VfY3RybF91cGRhdGUoc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwlwcl9kZWJ1ZygiaW4gJXNcbiIsIF9fZnVuY19fKTsKKwlpZiAodHItPmN0cmwpIHsKKwkJbW1pb19yZXNldF9kYXRhKHRyKTsKKwkJZW5hYmxlX21taW90cmFjZSgpOworCX0gZWxzZSB7CisJCWRpc2FibGVfbW1pb3RyYWNlKCk7CisJfQorfQorCitzdGF0aWMgaW50IG1taW9fcHJpbnRfcGNpZGV2KHN0cnVjdCB0cmFjZV9zZXEgKnMsIGNvbnN0IHN0cnVjdCBwY2lfZGV2ICpkZXYpCit7CisJaW50IHJldCA9IDA7CisJaW50IGk7CisJcmVzb3VyY2Vfc2l6ZV90IHN0YXJ0LCBlbmQ7CisJY29uc3Qgc3RydWN0IHBjaV9kcml2ZXIgKmRydiA9IHBjaV9kZXZfZHJpdmVyKGRldik7CisKKwkvKiBYWFg6IGluY29tcGxldGUgY2hlY2tzIGZvciB0cmFjZV9zZXFfcHJpbnRmKCkgcmV0dXJuIHZhbHVlICovCisJcmV0ICs9IHRyYWNlX3NlcV9wcmludGYocywgIlBDSURFViAlMDJ4JTAyeCAlMDR4JTA0eCAleCIsCisJCQkJZGV2LT5idXMtPm51bWJlciwgZGV2LT5kZXZmbiwKKwkJCQlkZXYtPnZlbmRvciwgZGV2LT5kZXZpY2UsIGRldi0+aXJxKTsKKwkvKgorCSAqIFhYWDogaXMgcGNpX3Jlc291cmNlX3RvX3VzZXIoKSBhcHByb3ByaWF0ZSwgc2luY2Ugd2UgYXJlCisJICogc3VwcG9zZWQgdG8gaW50ZXJwcmV0IHRoZSBfX2lvcmVtYXAoKSBwaHlzX2FkZHIgYXJndW1lbnQgYmFzZWQgb24KKwkgKiB0aGVzZSBwcmludGVkIHZhbHVlcz8KKwkgKi8KKwlmb3IgKGkgPSAwOyBpIDwgNzsgaSsrKSB7CisJCXBjaV9yZXNvdXJjZV90b191c2VyKGRldiwgaSwgJmRldi0+cmVzb3VyY2VbaV0sICZzdGFydCwgJmVuZCk7CisJCXJldCArPSB0cmFjZV9zZXFfcHJpbnRmKHMsICIgJWxseCIsCisJCQkodW5zaWduZWQgbG9uZyBsb25nKShzdGFydCB8CisJCQkoZGV2LT5yZXNvdXJjZVtpXS5mbGFncyAmIFBDSV9SRUdJT05fRkxBR19NQVNLKSkpOworCX0KKwlmb3IgKGkgPSAwOyBpIDwgNzsgaSsrKSB7CisJCXBjaV9yZXNvdXJjZV90b191c2VyKGRldiwgaSwgJmRldi0+cmVzb3VyY2VbaV0sICZzdGFydCwgJmVuZCk7CisJCXJldCArPSB0cmFjZV9zZXFfcHJpbnRmKHMsICIgJWxseCIsCisJCQlkZXYtPnJlc291cmNlW2ldLnN0YXJ0IDwgZGV2LT5yZXNvdXJjZVtpXS5lbmQgPworCQkJKHVuc2lnbmVkIGxvbmcgbG9uZykoZW5kIC0gc3RhcnQpICsgMSA6IDApOworCX0KKwlpZiAoZHJ2KQorCQlyZXQgKz0gdHJhY2Vfc2VxX3ByaW50ZihzLCAiICVzXG4iLCBkcnYtPm5hbWUpOworCWVsc2UKKwkJcmV0ICs9IHRyYWNlX3NlcV9wcmludGYocywgIiBcbiIpOworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyB2b2lkIGRlc3Ryb3lfaGVhZGVyX2l0ZXIoc3RydWN0IGhlYWRlcl9pdGVyICpoaXRlcikKK3sKKwlpZiAoIWhpdGVyKQorCQlyZXR1cm47CisJcGNpX2Rldl9wdXQoaGl0ZXItPmRldik7CisJa2ZyZWUoaGl0ZXIpOworfQorCitzdGF0aWMgdm9pZCBtbWlvX3BpcGVfb3BlbihzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIpCit7CisJc3RydWN0IGhlYWRlcl9pdGVyICpoaXRlcjsKKwlzdHJ1Y3QgdHJhY2Vfc2VxICpzID0gJml0ZXItPnNlcTsKKworCXRyYWNlX3NlcV9wcmludGYocywgIlZFUlNJT04gMjAwNzA4MjRcbiIpOworCisJaGl0ZXIgPSBremFsbG9jKHNpemVvZigqaGl0ZXIpLCBHRlBfS0VSTkVMKTsKKwlpZiAoIWhpdGVyKQorCQlyZXR1cm47CisKKwloaXRlci0+ZGV2ID0gcGNpX2dldF9kZXZpY2UoUENJX0FOWV9JRCwgUENJX0FOWV9JRCwgTlVMTCk7CisJaXRlci0+cHJpdmF0ZSA9IGhpdGVyOworfQorCisvKiBYWFg6IFRoaXMgaXMgbm90IGNhbGxlZCB3aGVuIHRoZSBwaXBlIGlzIGNsb3NlZCEgKi8KK3N0YXRpYyB2b2lkIG1taW9fY2xvc2Uoc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyKQoreworCXN0cnVjdCBoZWFkZXJfaXRlciAqaGl0ZXIgPSBpdGVyLT5wcml2YXRlOworCWRlc3Ryb3lfaGVhZGVyX2l0ZXIoaGl0ZXIpOworCWl0ZXItPnByaXZhdGUgPSBOVUxMOworfQorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBjb3VudF9vdmVycnVucyhzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIpCit7CisJaW50IGNwdTsKKwl1bnNpZ25lZCBsb25nIGNudCA9IDA7CisJZm9yX2VhY2hfb25saW5lX2NwdShjcHUpIHsKKwkJY250ICs9IGl0ZXItPm92ZXJydW5bY3B1XTsKKwkJaXRlci0+b3ZlcnJ1bltjcHVdID0gMDsKKwl9CisJcmV0dXJuIGNudDsKK30KKworc3RhdGljIHNzaXplX3QgbW1pb19yZWFkKHN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlciwgc3RydWN0IGZpbGUgKmZpbHAsCisJCQkJY2hhciBfX3VzZXIgKnVidWYsIHNpemVfdCBjbnQsIGxvZmZfdCAqcHBvcykKK3sKKwlzc2l6ZV90IHJldDsKKwlzdHJ1Y3QgaGVhZGVyX2l0ZXIgKmhpdGVyID0gaXRlci0+cHJpdmF0ZTsKKwlzdHJ1Y3QgdHJhY2Vfc2VxICpzID0gJml0ZXItPnNlcTsKKwl1bnNpZ25lZCBsb25nIG47CisKKwluID0gY291bnRfb3ZlcnJ1bnMoaXRlcik7CisJaWYgKG4pIHsKKwkJLyogWFhYOiBUaGlzIGlzIGxhdGVyIHRoYW4gd2hlcmUgZXZlbnRzIHdlcmUgbG9zdC4gKi8KKwkJdHJhY2Vfc2VxX3ByaW50ZihzLCAiTUFSSyAwLjAwMDAwMCBMb3N0ICVsdSBldmVudHMuXG4iLCBuKTsKKwkJaWYgKCFvdmVycnVuX2RldGVjdGVkKQorCQkJcHJfd2FybmluZygibW1pb3RyYWNlIGhhcyBsb3N0IGV2ZW50cy5cbiIpOworCQlvdmVycnVuX2RldGVjdGVkID0gdHJ1ZTsKKwkJZ290byBwcmludF9vdXQ7CisJfQorCisJaWYgKCFoaXRlcikKKwkJcmV0dXJuIDA7CisKKwltbWlvX3ByaW50X3BjaWRldihzLCBoaXRlci0+ZGV2KTsKKwloaXRlci0+ZGV2ID0gcGNpX2dldF9kZXZpY2UoUENJX0FOWV9JRCwgUENJX0FOWV9JRCwgaGl0ZXItPmRldik7CisKKwlpZiAoIWhpdGVyLT5kZXYpIHsKKwkJZGVzdHJveV9oZWFkZXJfaXRlcihoaXRlcik7CisJCWl0ZXItPnByaXZhdGUgPSBOVUxMOworCX0KKworcHJpbnRfb3V0OgorCXJldCA9IHRyYWNlX3NlcV90b191c2VyKHMsIHVidWYsIGNudCk7CisJcmV0dXJuIChyZXQgPT0gLUVCVVNZKSA/IDAgOiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgbW1pb19wcmludF9ydyhzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIpCit7CisJc3RydWN0IHRyYWNlX2VudHJ5ICplbnRyeSA9IGl0ZXItPmVudDsKKwlzdHJ1Y3QgbW1pb3RyYWNlX3J3ICpydwk9ICZlbnRyeS0+bW1pb3J3OworCXN0cnVjdCB0cmFjZV9zZXEgKnMJPSAmaXRlci0+c2VxOworCXVuc2lnbmVkIGxvbmcgbG9uZyB0CT0gbnMydXNlY3MoZW50cnktPnQpOworCXVuc2lnbmVkIGxvbmcgdXNlY19yZW0JPSBkb19kaXYodCwgMTAwMDAwMFVMTCk7CisJdW5zaWduZWQgc2VjcwkJPSAodW5zaWduZWQgbG9uZyl0OworCWludCByZXQgPSAxOworCisJc3dpdGNoIChlbnRyeS0+bW1pb3J3Lm9wY29kZSkgeworCWNhc2UgTU1JT19SRUFEOgorCQlyZXQgPSB0cmFjZV9zZXFfcHJpbnRmKHMsCisJCQkiUiAlZCAlbHUuJTA2bHUgJWQgMHglbGx4IDB4JWx4IDB4JWx4ICVkXG4iLAorCQkJcnctPndpZHRoLCBzZWNzLCB1c2VjX3JlbSwgcnctPm1hcF9pZCwKKwkJCSh1bnNpZ25lZCBsb25nIGxvbmcpcnctPnBoeXMsCisJCQlydy0+dmFsdWUsIHJ3LT5wYywgMCk7CisJCWJyZWFrOworCWNhc2UgTU1JT19XUklURToKKwkJcmV0ID0gdHJhY2Vfc2VxX3ByaW50ZihzLAorCQkJIlcgJWQgJWx1LiUwNmx1ICVkIDB4JWxseCAweCVseCAweCVseCAlZFxuIiwKKwkJCXJ3LT53aWR0aCwgc2VjcywgdXNlY19yZW0sIHJ3LT5tYXBfaWQsCisJCQkodW5zaWduZWQgbG9uZyBsb25nKXJ3LT5waHlzLAorCQkJcnctPnZhbHVlLCBydy0+cGMsIDApOworCQlicmVhazsKKwljYXNlIE1NSU9fVU5LTk9XTl9PUDoKKwkJcmV0ID0gdHJhY2Vfc2VxX3ByaW50ZihzLAorCQkJIlVOS05PV04gJWx1LiUwNmx1ICVkIDB4JWxseCAlMDJ4LCUwMngsJTAyeCAweCVseCAlZFxuIiwKKwkJCXNlY3MsIHVzZWNfcmVtLCBydy0+bWFwX2lkLAorCQkJKHVuc2lnbmVkIGxvbmcgbG9uZylydy0+cGh5cywKKwkJCShydy0+dmFsdWUgPj4gMTYpICYgMHhmZiwgKHJ3LT52YWx1ZSA+PiA4KSAmIDB4ZmYsCisJCQkocnctPnZhbHVlID4+IDApICYgMHhmZiwgcnctPnBjLCAwKTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcmV0ID0gdHJhY2Vfc2VxX3ByaW50ZihzLCAicncgd2hhdD9cbiIpOworCQlicmVhazsKKwl9CisJaWYgKHJldCkKKwkJcmV0dXJuIDE7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgbW1pb19wcmludF9tYXAoc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyKQoreworCXN0cnVjdCB0cmFjZV9lbnRyeSAqZW50cnkgPSBpdGVyLT5lbnQ7CisJc3RydWN0IG1taW90cmFjZV9tYXAgKm0JPSAmZW50cnktPm1taW9tYXA7CisJc3RydWN0IHRyYWNlX3NlcSAqcwk9ICZpdGVyLT5zZXE7CisJdW5zaWduZWQgbG9uZyBsb25nIHQJPSBuczJ1c2VjcyhlbnRyeS0+dCk7CisJdW5zaWduZWQgbG9uZyB1c2VjX3JlbQk9IGRvX2Rpdih0LCAxMDAwMDAwVUxMKTsKKwl1bnNpZ25lZCBzZWNzCQk9ICh1bnNpZ25lZCBsb25nKXQ7CisJaW50IHJldCA9IDE7CisKKwlzd2l0Y2ggKGVudHJ5LT5tbWlvcncub3Bjb2RlKSB7CisJY2FzZSBNTUlPX1BST0JFOgorCQlyZXQgPSB0cmFjZV9zZXFfcHJpbnRmKHMsCisJCQkiTUFQICVsdS4lMDZsdSAlZCAweCVsbHggMHglbHggMHglbHggMHglbHggJWRcbiIsCisJCQlzZWNzLCB1c2VjX3JlbSwgbS0+bWFwX2lkLAorCQkJKHVuc2lnbmVkIGxvbmcgbG9uZyltLT5waHlzLCBtLT52aXJ0LCBtLT5sZW4sCisJCQkwVUwsIDApOworCQlicmVhazsKKwljYXNlIE1NSU9fVU5QUk9CRToKKwkJcmV0ID0gdHJhY2Vfc2VxX3ByaW50ZihzLAorCQkJIlVOTUFQICVsdS4lMDZsdSAlZCAweCVseCAlZFxuIiwKKwkJCXNlY3MsIHVzZWNfcmVtLCBtLT5tYXBfaWQsIDBVTCwgMCk7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXJldCA9IHRyYWNlX3NlcV9wcmludGYocywgIm1hcCB3aGF0P1xuIik7CisJCWJyZWFrOworCX0KKwlpZiAocmV0KQorCQlyZXR1cm4gMTsKKwlyZXR1cm4gMDsKK30KKworLyogcmV0dXJuIDAgdG8gYWJvcnQgcHJpbnRpbmcgd2l0aG91dCBjb25zdW1pbmcgY3VycmVudCBlbnRyeSBpbiBwaXBlIG1vZGUgKi8KK3N0YXRpYyBpbnQgbW1pb19wcmludF9saW5lKHN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlcikKK3sKKwlzd2l0Y2ggKGl0ZXItPmVudC0+dHlwZSkgeworCWNhc2UgVFJBQ0VfTU1JT19SVzoKKwkJcmV0dXJuIG1taW9fcHJpbnRfcncoaXRlcik7CisJY2FzZSBUUkFDRV9NTUlPX01BUDoKKwkJcmV0dXJuIG1taW9fcHJpbnRfbWFwKGl0ZXIpOworCWRlZmF1bHQ6CisJCXJldHVybiAxOyAvKiBpZ25vcmUgdW5rbm93biBlbnRyaWVzICovCisJfQorfQorCitzdGF0aWMgc3RydWN0IHRyYWNlciBtbWlvX3RyYWNlciBfX3JlYWRfbW9zdGx5ID0KK3sKKwkubmFtZQkJPSAibW1pb3RyYWNlIiwKKwkuaW5pdAkJPSBtbWlvX3RyYWNlX2luaXQsCisJLnJlc2V0CQk9IG1taW9fdHJhY2VfcmVzZXQsCisJLnBpcGVfb3Blbgk9IG1taW9fcGlwZV9vcGVuLAorCS5jbG9zZQkJPSBtbWlvX2Nsb3NlLAorCS5yZWFkCQk9IG1taW9fcmVhZCwKKwkuY3RybF91cGRhdGUJPSBtbWlvX3RyYWNlX2N0cmxfdXBkYXRlLAorCS5wcmludF9saW5lCT0gbW1pb19wcmludF9saW5lLAorfTsKKworX19pbml0IHN0YXRpYyBpbnQgaW5pdF9tbWlvX3RyYWNlKHZvaWQpCit7CisJcmV0dXJuIHJlZ2lzdGVyX3RyYWNlcigmbW1pb190cmFjZXIpOworfQorZGV2aWNlX2luaXRjYWxsKGluaXRfbW1pb190cmFjZSk7CisKK3ZvaWQgbW1pb190cmFjZV9ydyhzdHJ1Y3QgbW1pb3RyYWNlX3J3ICpydykKK3sKKwlzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyID0gbW1pb190cmFjZV9hcnJheTsKKwlzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhID0gdHItPmRhdGFbc21wX3Byb2Nlc3Nvcl9pZCgpXTsKKwlfX3RyYWNlX21taW90cmFjZV9ydyh0ciwgZGF0YSwgcncpOworfQorCit2b2lkIG1taW9fdHJhY2VfbWFwcGluZyhzdHJ1Y3QgbW1pb3RyYWNlX21hcCAqbWFwKQoreworCXN0cnVjdCB0cmFjZV9hcnJheSAqdHIgPSBtbWlvX3RyYWNlX2FycmF5OworCXN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGE7CisKKwlwcmVlbXB0X2Rpc2FibGUoKTsKKwlkYXRhID0gdHItPmRhdGFbc21wX3Byb2Nlc3Nvcl9pZCgpXTsKKwlfX3RyYWNlX21taW90cmFjZV9tYXAodHIsIGRhdGEsIG1hcCk7CisJcHJlZW1wdF9lbmFibGUoKTsKK30KZGlmZiAtLWdpdCBhL2tlcm5lbC90cmFjZS90cmFjZV9zY2hlZF9zd2l0Y2guYyBiL2tlcm5lbC90cmFjZS90cmFjZV9zY2hlZF9zd2l0Y2guYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYjgxN2EyCi0tLSAvZGV2L251bGwKKysrIGIva2VybmVsL3RyYWNlL3RyYWNlX3NjaGVkX3N3aXRjaC5jCkBAIC0wLDAgKzEsMjg2IEBACisvKgorICogdHJhY2UgY29udGV4dCBzd2l0Y2gKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDcgU3RldmVuIFJvc3RlZHQgPHNyb3N0ZWR0QHJlZGhhdC5jb20+CisgKgorICovCisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvZnMuaD4KKyNpbmNsdWRlIDxsaW51eC9kZWJ1Z2ZzLmg+CisjaW5jbHVkZSA8bGludXgva2FsbHN5bXMuaD4KKyNpbmNsdWRlIDxsaW51eC91YWNjZXNzLmg+CisjaW5jbHVkZSA8bGludXgvbWFya2VyLmg+CisjaW5jbHVkZSA8bGludXgvZnRyYWNlLmg+CisKKyNpbmNsdWRlICJ0cmFjZS5oIgorCitzdGF0aWMgc3RydWN0IHRyYWNlX2FycmF5CSpjdHhfdHJhY2U7CitzdGF0aWMgaW50IF9fcmVhZF9tb3N0bHkJdHJhY2VyX2VuYWJsZWQ7CitzdGF0aWMgYXRvbWljX3QJCQlzY2hlZF9yZWY7CisKK3N0YXRpYyB2b2lkCitzY2hlZF9zd2l0Y2hfZnVuYyh2b2lkICpwcml2YXRlLCB2b2lkICpfX3JxLCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKnByZXYsCisJCQlzdHJ1Y3QgdGFza19zdHJ1Y3QgKm5leHQpCit7CisJc3RydWN0IHRyYWNlX2FycmF5ICoqcHRyID0gcHJpdmF0ZTsKKwlzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyID0gKnB0cjsKKwlzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJbG9uZyBkaXNhYmxlZDsKKwlpbnQgY3B1OworCisJdHJhY2luZ19yZWNvcmRfY21kbGluZShwcmV2KTsKKwl0cmFjaW5nX3JlY29yZF9jbWRsaW5lKG5leHQpOworCisJaWYgKCF0cmFjZXJfZW5hYmxlZCkKKwkJcmV0dXJuOworCisJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOworCWNwdSA9IHJhd19zbXBfcHJvY2Vzc29yX2lkKCk7CisJZGF0YSA9IHRyLT5kYXRhW2NwdV07CisJZGlzYWJsZWQgPSBhdG9taWNfaW5jX3JldHVybigmZGF0YS0+ZGlzYWJsZWQpOworCisJaWYgKGxpa2VseShkaXNhYmxlZCA9PSAxKSkKKwkJdHJhY2luZ19zY2hlZF9zd2l0Y2hfdHJhY2UodHIsIGRhdGEsIHByZXYsIG5leHQsIGZsYWdzKTsKKworCWF0b21pY19kZWMoJmRhdGEtPmRpc2FibGVkKTsKKwlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7Cit9CisKK3N0YXRpYyBub3RyYWNlIHZvaWQKK3NjaGVkX3N3aXRjaF9jYWxsYmFjayh2b2lkICpwcm9iZV9kYXRhLCB2b2lkICpjYWxsX2RhdGEsCisJCSAgICAgIGNvbnN0IGNoYXIgKmZvcm1hdCwgdmFfbGlzdCAqYXJncykKK3sKKwlzdHJ1Y3QgdGFza19zdHJ1Y3QgKnByZXY7CisJc3RydWN0IHRhc2tfc3RydWN0ICpuZXh0OworCXN0cnVjdCBycSAqX19ycTsKKworCWlmICghYXRvbWljX3JlYWQoJnNjaGVkX3JlZikpCisJCXJldHVybjsKKworCS8qIHNraXAgcHJldl9waWQgJWQgbmV4dF9waWQgJWQgcHJldl9zdGF0ZSAlbGQgKi8KKwkodm9pZCl2YV9hcmcoKmFyZ3MsIGludCk7CisJKHZvaWQpdmFfYXJnKCphcmdzLCBpbnQpOworCSh2b2lkKXZhX2FyZygqYXJncywgbG9uZyk7CisJX19ycSA9IHZhX2FyZygqYXJncywgdHlwZW9mKF9fcnEpKTsKKwlwcmV2ID0gdmFfYXJnKCphcmdzLCB0eXBlb2YocHJldikpOworCW5leHQgPSB2YV9hcmcoKmFyZ3MsIHR5cGVvZihuZXh0KSk7CisKKwkvKgorCSAqIElmIHRyYWNlcl9zd2l0Y2hfZnVuYyBvbmx5IHBvaW50cyB0byB0aGUgbG9jYWwKKwkgKiBzd2l0Y2ggZnVuYywgaXQgc3RpbGwgbmVlZHMgdGhlIHB0ciBwYXNzZWQgdG8gaXQuCisJICovCisJc2NoZWRfc3dpdGNoX2Z1bmMocHJvYmVfZGF0YSwgX19ycSwgcHJldiwgbmV4dCk7Cit9CisKK3N0YXRpYyB2b2lkCit3YWtldXBfZnVuYyh2b2lkICpwcml2YXRlLCB2b2lkICpfX3JxLCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKndha2VlLCBzdHJ1Y3QKKwkJCXRhc2tfc3RydWN0ICpjdXJyKQoreworCXN0cnVjdCB0cmFjZV9hcnJheSAqKnB0ciA9IHByaXZhdGU7CisJc3RydWN0IHRyYWNlX2FycmF5ICp0ciA9ICpwdHI7CisJc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YTsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCWxvbmcgZGlzYWJsZWQ7CisJaW50IGNwdTsKKworCWlmICghdHJhY2VyX2VuYWJsZWQpCisJCXJldHVybjsKKworCXRyYWNpbmdfcmVjb3JkX2NtZGxpbmUoY3Vycik7CisKKwlsb2NhbF9pcnFfc2F2ZShmbGFncyk7CisJY3B1ID0gcmF3X3NtcF9wcm9jZXNzb3JfaWQoKTsKKwlkYXRhID0gdHItPmRhdGFbY3B1XTsKKwlkaXNhYmxlZCA9IGF0b21pY19pbmNfcmV0dXJuKCZkYXRhLT5kaXNhYmxlZCk7CisKKwlpZiAobGlrZWx5KGRpc2FibGVkID09IDEpKQorCQl0cmFjaW5nX3NjaGVkX3dha2V1cF90cmFjZSh0ciwgZGF0YSwgd2FrZWUsIGN1cnIsIGZsYWdzKTsKKworCWF0b21pY19kZWMoJmRhdGEtPmRpc2FibGVkKTsKKwlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7Cit9CisKK3N0YXRpYyBub3RyYWNlIHZvaWQKK3dha2VfdXBfY2FsbGJhY2sodm9pZCAqcHJvYmVfZGF0YSwgdm9pZCAqY2FsbF9kYXRhLAorCQkgY29uc3QgY2hhciAqZm9ybWF0LCB2YV9saXN0ICphcmdzKQoreworCXN0cnVjdCB0YXNrX3N0cnVjdCAqY3VycjsKKwlzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2s7CisJc3RydWN0IHJxICpfX3JxOworCisJaWYgKGxpa2VseSghdHJhY2VyX2VuYWJsZWQpKQorCQlyZXR1cm47CisKKwkvKiBTa2lwIHBpZCAlZCBzdGF0ZSAlbGQgKi8KKwkodm9pZCl2YV9hcmcoKmFyZ3MsIGludCk7CisJKHZvaWQpdmFfYXJnKCphcmdzLCBsb25nKTsKKwkvKiBub3cgZ2V0IHRoZSBtZWF0OiAicnEgJXAgdGFzayAlcCBycS0+Y3VyciAlcCIgKi8KKwlfX3JxID0gdmFfYXJnKCphcmdzLCB0eXBlb2YoX19ycSkpOworCXRhc2sgPSB2YV9hcmcoKmFyZ3MsIHR5cGVvZih0YXNrKSk7CisJY3VyciA9IHZhX2FyZygqYXJncywgdHlwZW9mKGN1cnIpKTsKKworCXRyYWNpbmdfcmVjb3JkX2NtZGxpbmUodGFzayk7CisJdHJhY2luZ19yZWNvcmRfY21kbGluZShjdXJyKTsKKworCXdha2V1cF9mdW5jKHByb2JlX2RhdGEsIF9fcnEsIHRhc2ssIGN1cnIpOworfQorCitzdGF0aWMgdm9pZCBzY2hlZF9zd2l0Y2hfcmVzZXQoc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwlpbnQgY3B1OworCisJdHItPnRpbWVfc3RhcnQgPSBmdHJhY2Vfbm93KHRyLT5jcHUpOworCisJZm9yX2VhY2hfb25saW5lX2NwdShjcHUpCisJCXRyYWNpbmdfcmVzZXQodHItPmRhdGFbY3B1XSk7Cit9CisKK3N0YXRpYyBpbnQgdHJhY2luZ19zY2hlZF9yZWdpc3Rlcih2b2lkKQoreworCWludCByZXQ7CisKKwlyZXQgPSBtYXJrZXJfcHJvYmVfcmVnaXN0ZXIoImtlcm5lbF9zY2hlZF93YWtldXAiLAorCQkJInBpZCAlZCBzdGF0ZSAlbGQgIyMgcnEgJXAgdGFzayAlcCBycS0+Y3VyciAlcCIsCisJCQl3YWtlX3VwX2NhbGxiYWNrLAorCQkJJmN0eF90cmFjZSk7CisJaWYgKHJldCkgeworCQlwcl9pbmZvKCJ3YWtldXAgdHJhY2U6IENvdWxkbid0IGFkZCBtYXJrZXIiCisJCQkiIHByb2JlIHRvIGtlcm5lbF9zY2hlZF93YWtldXBcbiIpOworCQlyZXR1cm4gcmV0OworCX0KKworCXJldCA9IG1hcmtlcl9wcm9iZV9yZWdpc3Rlcigia2VybmVsX3NjaGVkX3dha2V1cF9uZXciLAorCQkJInBpZCAlZCBzdGF0ZSAlbGQgIyMgcnEgJXAgdGFzayAlcCBycS0+Y3VyciAlcCIsCisJCQl3YWtlX3VwX2NhbGxiYWNrLAorCQkJJmN0eF90cmFjZSk7CisJaWYgKHJldCkgeworCQlwcl9pbmZvKCJ3YWtldXAgdHJhY2U6IENvdWxkbid0IGFkZCBtYXJrZXIiCisJCQkiIHByb2JlIHRvIGtlcm5lbF9zY2hlZF93YWtldXBfbmV3XG4iKTsKKwkJZ290byBmYWlsX2RlcHJvYmU7CisJfQorCisJcmV0ID0gbWFya2VyX3Byb2JlX3JlZ2lzdGVyKCJrZXJuZWxfc2NoZWRfc2NoZWR1bGUiLAorCQkicHJldl9waWQgJWQgbmV4dF9waWQgJWQgcHJldl9zdGF0ZSAlbGQgIgorCQkiIyMgcnEgJXAgcHJldiAlcCBuZXh0ICVwIiwKKwkJc2NoZWRfc3dpdGNoX2NhbGxiYWNrLAorCQkmY3R4X3RyYWNlKTsKKwlpZiAocmV0KSB7CisJCXByX2luZm8oInNjaGVkIHRyYWNlOiBDb3VsZG4ndCBhZGQgbWFya2VyIgorCQkJIiBwcm9iZSB0byBrZXJuZWxfc2NoZWRfc2NoZWR1bGVcbiIpOworCQlnb3RvIGZhaWxfZGVwcm9iZV93YWtlX25ldzsKKwl9CisKKwlyZXR1cm4gcmV0OworZmFpbF9kZXByb2JlX3dha2VfbmV3OgorCW1hcmtlcl9wcm9iZV91bnJlZ2lzdGVyKCJrZXJuZWxfc2NoZWRfd2FrZXVwX25ldyIsCisJCQkJd2FrZV91cF9jYWxsYmFjaywKKwkJCQkmY3R4X3RyYWNlKTsKK2ZhaWxfZGVwcm9iZToKKwltYXJrZXJfcHJvYmVfdW5yZWdpc3Rlcigia2VybmVsX3NjaGVkX3dha2V1cCIsCisJCQkJd2FrZV91cF9jYWxsYmFjaywKKwkJCQkmY3R4X3RyYWNlKTsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgdm9pZCB0cmFjaW5nX3NjaGVkX3VucmVnaXN0ZXIodm9pZCkKK3sKKwltYXJrZXJfcHJvYmVfdW5yZWdpc3Rlcigia2VybmVsX3NjaGVkX3NjaGVkdWxlIiwKKwkJCQlzY2hlZF9zd2l0Y2hfY2FsbGJhY2ssCisJCQkJJmN0eF90cmFjZSk7CisJbWFya2VyX3Byb2JlX3VucmVnaXN0ZXIoImtlcm5lbF9zY2hlZF93YWtldXBfbmV3IiwKKwkJCQl3YWtlX3VwX2NhbGxiYWNrLAorCQkJCSZjdHhfdHJhY2UpOworCW1hcmtlcl9wcm9iZV91bnJlZ2lzdGVyKCJrZXJuZWxfc2NoZWRfd2FrZXVwIiwKKwkJCQl3YWtlX3VwX2NhbGxiYWNrLAorCQkJCSZjdHhfdHJhY2UpOworfQorCitzdGF0aWMgdm9pZCB0cmFjaW5nX3N0YXJ0X3NjaGVkX3N3aXRjaCh2b2lkKQoreworCWxvbmcgcmVmOworCisJcmVmID0gYXRvbWljX2luY19yZXR1cm4oJnNjaGVkX3JlZik7CisJaWYgKHJlZiA9PSAxKQorCQl0cmFjaW5nX3NjaGVkX3JlZ2lzdGVyKCk7Cit9CisKK3N0YXRpYyB2b2lkIHRyYWNpbmdfc3RvcF9zY2hlZF9zd2l0Y2godm9pZCkKK3sKKwlsb25nIHJlZjsKKworCXJlZiA9IGF0b21pY19kZWNfYW5kX3Rlc3QoJnNjaGVkX3JlZik7CisJaWYgKHJlZikKKwkJdHJhY2luZ19zY2hlZF91bnJlZ2lzdGVyKCk7Cit9CisKK3ZvaWQgdHJhY2luZ19zdGFydF9jbWRsaW5lX3JlY29yZCh2b2lkKQoreworCXRyYWNpbmdfc3RhcnRfc2NoZWRfc3dpdGNoKCk7Cit9CisKK3ZvaWQgdHJhY2luZ19zdG9wX2NtZGxpbmVfcmVjb3JkKHZvaWQpCit7CisJdHJhY2luZ19zdG9wX3NjaGVkX3N3aXRjaCgpOworfQorCitzdGF0aWMgdm9pZCBzdGFydF9zY2hlZF90cmFjZShzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCXNjaGVkX3N3aXRjaF9yZXNldCh0cik7CisJdHJhY2luZ19zdGFydF9jbWRsaW5lX3JlY29yZCgpOworCXRyYWNlcl9lbmFibGVkID0gMTsKK30KKworc3RhdGljIHZvaWQgc3RvcF9zY2hlZF90cmFjZShzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCXRyYWNlcl9lbmFibGVkID0gMDsKKwl0cmFjaW5nX3N0b3BfY21kbGluZV9yZWNvcmQoKTsKK30KKworc3RhdGljIHZvaWQgc2NoZWRfc3dpdGNoX3RyYWNlX2luaXQoc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwljdHhfdHJhY2UgPSB0cjsKKworCWlmICh0ci0+Y3RybCkKKwkJc3RhcnRfc2NoZWRfdHJhY2UodHIpOworfQorCitzdGF0aWMgdm9pZCBzY2hlZF9zd2l0Y2hfdHJhY2VfcmVzZXQoc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwlpZiAodHItPmN0cmwpCisJCXN0b3Bfc2NoZWRfdHJhY2UodHIpOworfQorCitzdGF0aWMgdm9pZCBzY2hlZF9zd2l0Y2hfdHJhY2VfY3RybF91cGRhdGUoc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwkvKiBXaGVuIHN0YXJ0aW5nIGEgbmV3IHRyYWNlLCByZXNldCB0aGUgYnVmZmVycyAqLworCWlmICh0ci0+Y3RybCkKKwkJc3RhcnRfc2NoZWRfdHJhY2UodHIpOworCWVsc2UKKwkJc3RvcF9zY2hlZF90cmFjZSh0cik7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgdHJhY2VyIHNjaGVkX3N3aXRjaF90cmFjZSBfX3JlYWRfbW9zdGx5ID0KK3sKKwkubmFtZQkJPSAic2NoZWRfc3dpdGNoIiwKKwkuaW5pdAkJPSBzY2hlZF9zd2l0Y2hfdHJhY2VfaW5pdCwKKwkucmVzZXQJCT0gc2NoZWRfc3dpdGNoX3RyYWNlX3Jlc2V0LAorCS5jdHJsX3VwZGF0ZQk9IHNjaGVkX3N3aXRjaF90cmFjZV9jdHJsX3VwZGF0ZSwKKyNpZmRlZiBDT05GSUdfRlRSQUNFX1NFTEZURVNUCisJLnNlbGZ0ZXN0ICAgID0gdHJhY2Vfc2VsZnRlc3Rfc3RhcnR1cF9zY2hlZF9zd2l0Y2gsCisjZW5kaWYKK307CisKK19faW5pdCBzdGF0aWMgaW50IGluaXRfc2NoZWRfc3dpdGNoX3RyYWNlKHZvaWQpCit7CisJaW50IHJldCA9IDA7CisKKwlpZiAoYXRvbWljX3JlYWQoJnNjaGVkX3JlZikpCisJCXJldCA9IHRyYWNpbmdfc2NoZWRfcmVnaXN0ZXIoKTsKKwlpZiAocmV0KSB7CisJCXByX2luZm8oImVycm9yIHJlZ2lzdGVyaW5nIHNjaGVkdWxlciB0cmFjZVxuIik7CisJCXJldHVybiByZXQ7CisJfQorCXJldHVybiByZWdpc3Rlcl90cmFjZXIoJnNjaGVkX3N3aXRjaF90cmFjZSk7Cit9CitkZXZpY2VfaW5pdGNhbGwoaW5pdF9zY2hlZF9zd2l0Y2hfdHJhY2UpOwpkaWZmIC0tZ2l0IGEva2VybmVsL3RyYWNlL3RyYWNlX3NjaGVkX3dha2V1cC5jIGIva2VybmVsL3RyYWNlL3RyYWNlX3NjaGVkX3dha2V1cC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNjOGQ2MWQKLS0tIC9kZXYvbnVsbAorKysgYi9rZXJuZWwvdHJhY2UvdHJhY2Vfc2NoZWRfd2FrZXVwLmMKQEAgLTAsMCArMSw0NDggQEAKKy8qCisgKiB0cmFjZSB0YXNrIHdha2V1cCB0aW1pbmdzCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMDggU3RldmVuIFJvc3RlZHQgPHNyb3N0ZWR0QHJlZGhhdC5jb20+CisgKiBDb3B5cmlnaHQgKEMpIDIwMDggSW5nbyBNb2xuYXIgPG1pbmdvQHJlZGhhdC5jb20+CisgKgorICogQmFzZWQgb24gY29kZSBmcm9tIHRoZSBsYXRlbmN5X3RyYWNlciwgdGhhdCBpczoKKyAqCisgKiAgQ29weXJpZ2h0IChDKSAyMDA0LTIwMDYgSW5nbyBNb2xuYXIKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDQgV2lsbGlhbSBMZWUgSXJ3aW4gSUlJCisgKi8KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9mcy5oPgorI2luY2x1ZGUgPGxpbnV4L2RlYnVnZnMuaD4KKyNpbmNsdWRlIDxsaW51eC9rYWxsc3ltcy5oPgorI2luY2x1ZGUgPGxpbnV4L3VhY2Nlc3MuaD4KKyNpbmNsdWRlIDxsaW51eC9mdHJhY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9tYXJrZXIuaD4KKworI2luY2x1ZGUgInRyYWNlLmgiCisKK3N0YXRpYyBzdHJ1Y3QgdHJhY2VfYXJyYXkJKndha2V1cF90cmFjZTsKK3N0YXRpYyBpbnQgX19yZWFkX21vc3RseQl0cmFjZXJfZW5hYmxlZDsKKworc3RhdGljIHN0cnVjdCB0YXNrX3N0cnVjdAkqd2FrZXVwX3Rhc2s7CitzdGF0aWMgaW50CQkJd2FrZXVwX2NwdTsKK3N0YXRpYyB1bnNpZ25lZAkJCXdha2V1cF9wcmlvID0gLTE7CisKK3N0YXRpYyBERUZJTkVfU1BJTkxPQ0sod2FrZXVwX2xvY2spOworCitzdGF0aWMgdm9pZCBfX3dha2V1cF9yZXNldChzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKTsKKworI2lmZGVmIENPTkZJR19GVFJBQ0UKKy8qCisgKiBpcnFzb2ZmIHVzZXMgaXRzIG93biB0cmFjZXIgZnVuY3Rpb24gdG8ga2VlcCB0aGUgb3ZlcmhlYWQgZG93bjoKKyAqLworc3RhdGljIHZvaWQKK3dha2V1cF90cmFjZXJfY2FsbCh1bnNpZ25lZCBsb25nIGlwLCB1bnNpZ25lZCBsb25nIHBhcmVudF9pcCkKK3sKKwlzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyID0gd2FrZXVwX3RyYWNlOworCXN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGE7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwlsb25nIGRpc2FibGVkOworCWludCByZXNjaGVkOworCWludCBjcHU7CisKKwlpZiAobGlrZWx5KCF3YWtldXBfdGFzaykpCisJCXJldHVybjsKKworCXJlc2NoZWQgPSBuZWVkX3Jlc2NoZWQoKTsKKwlwcmVlbXB0X2Rpc2FibGVfbm90cmFjZSgpOworCisJY3B1ID0gcmF3X3NtcF9wcm9jZXNzb3JfaWQoKTsKKwlkYXRhID0gdHItPmRhdGFbY3B1XTsKKwlkaXNhYmxlZCA9IGF0b21pY19pbmNfcmV0dXJuKCZkYXRhLT5kaXNhYmxlZCk7CisJaWYgKHVubGlrZWx5KGRpc2FibGVkICE9IDEpKQorCQlnb3RvIG91dDsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZ3YWtldXBfbG9jaywgZmxhZ3MpOworCisJaWYgKHVubGlrZWx5KCF3YWtldXBfdGFzaykpCisJCWdvdG8gdW5sb2NrOworCisJLyoKKwkgKiBUaGUgdGFzayBjYW4ndCBkaXNhcHBlYXIgYmVjYXVzZSBpdCBuZWVkcyB0bworCSAqIHdha2UgdXAgZmlyc3QsIGFuZCB3ZSBoYXZlIHRoZSB3YWtldXBfbG9jay4KKwkgKi8KKwlpZiAodGFza19jcHUod2FrZXVwX3Rhc2spICE9IGNwdSkKKwkJZ290byB1bmxvY2s7CisKKwl0cmFjZV9mdW5jdGlvbih0ciwgZGF0YSwgaXAsIHBhcmVudF9pcCwgZmxhZ3MpOworCisgdW5sb2NrOgorCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJndha2V1cF9sb2NrLCBmbGFncyk7CisKKyBvdXQ6CisJYXRvbWljX2RlYygmZGF0YS0+ZGlzYWJsZWQpOworCisJLyoKKwkgKiBUbyBwcmV2ZW50IHJlY3Vyc2lvbiBmcm9tIHRoZSBzY2hlZHVsZXIsIGlmIHRoZQorCSAqIHJlc2NoZWQgZmxhZyB3YXMgc2V0IGJlZm9yZSB3ZSBlbnRlcmVkLCB0aGVuCisJICogZG9uJ3QgcmVzY2hlZHVsZS4KKwkgKi8KKwlpZiAocmVzY2hlZCkKKwkJcHJlZW1wdF9lbmFibGVfbm9fcmVzY2hlZF9ub3RyYWNlKCk7CisJZWxzZQorCQlwcmVlbXB0X2VuYWJsZV9ub3RyYWNlKCk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgZnRyYWNlX29wcyB0cmFjZV9vcHMgX19yZWFkX21vc3RseSA9Cit7CisJLmZ1bmMgPSB3YWtldXBfdHJhY2VyX2NhbGwsCit9OworI2VuZGlmIC8qIENPTkZJR19GVFJBQ0UgKi8KKworLyoKKyAqIFNob3VsZCB0aGlzIG5ldyBsYXRlbmN5IGJlIHJlcG9ydGVkL3JlY29yZGVkPworICovCitzdGF0aWMgaW50IHJlcG9ydF9sYXRlbmN5KGN5Y2xlX3QgZGVsdGEpCit7CisJaWYgKHRyYWNpbmdfdGhyZXNoKSB7CisJCWlmIChkZWx0YSA8IHRyYWNpbmdfdGhyZXNoKQorCQkJcmV0dXJuIDA7CisJfSBlbHNlIHsKKwkJaWYgKGRlbHRhIDw9IHRyYWNpbmdfbWF4X2xhdGVuY3kpCisJCQlyZXR1cm4gMDsKKwl9CisJcmV0dXJuIDE7Cit9CisKK3N0YXRpYyB2b2lkIG5vdHJhY2UKK3dha2V1cF9zY2hlZF9zd2l0Y2godm9pZCAqcHJpdmF0ZSwgdm9pZCAqcnEsIHN0cnVjdCB0YXNrX3N0cnVjdCAqcHJldiwKKwlzdHJ1Y3QgdGFza19zdHJ1Y3QgKm5leHQpCit7CisJdW5zaWduZWQgbG9uZyBsYXRlbmN5ID0gMCwgdDAgPSAwLCB0MSA9IDA7CisJc3RydWN0IHRyYWNlX2FycmF5ICoqcHRyID0gcHJpdmF0ZTsKKwlzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyID0gKnB0cjsKKwlzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhOworCWN5Y2xlX3QgVDAsIFQxLCBkZWx0YTsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCWxvbmcgZGlzYWJsZWQ7CisJaW50IGNwdTsKKworCWlmICh1bmxpa2VseSghdHJhY2VyX2VuYWJsZWQpKQorCQlyZXR1cm47CisKKwkvKgorCSAqIFdoZW4gd2Ugc3RhcnQgYSBuZXcgdHJhY2UsIHdlIHNldCB3YWtldXBfdGFzayB0byBOVUxMCisJICogYW5kIHRoZW4gc2V0IHRyYWNlcl9lbmFibGVkID0gMS4gV2Ugd2FudCB0byBtYWtlIHN1cmUKKwkgKiB0aGF0IGFub3RoZXIgQ1BVIGRvZXMgbm90IHNlZSB0aGUgdHJhY2VyX2VuYWJsZWQgPSAxCisJICogYW5kIHRoZSB3YWtldXBfdGFzayB3aXRoIGFuIG9sZGVyIHRhc2ssIHRoYXQgbWlnaHQKKwkgKiBhY3R1YWxseSBiZSB0aGUgc2FtZSBhcyBuZXh0LgorCSAqLworCXNtcF9ybWIoKTsKKworCWlmIChuZXh0ICE9IHdha2V1cF90YXNrKQorCQlyZXR1cm47CisKKwkvKiBUaGUgdGFzayB3ZSBhcmUgd2FpdGluZyBmb3IgaXMgd2FraW5nIHVwICovCisJZGF0YSA9IHRyLT5kYXRhW3dha2V1cF9jcHVdOworCisJLyogZGlzYWJsZSBsb2NhbCBkYXRhLCBub3Qgd2FrZXVwX2NwdSBkYXRhICovCisJY3B1ID0gcmF3X3NtcF9wcm9jZXNzb3JfaWQoKTsKKwlkaXNhYmxlZCA9IGF0b21pY19pbmNfcmV0dXJuKCZ0ci0+ZGF0YVtjcHVdLT5kaXNhYmxlZCk7CisJaWYgKGxpa2VseShkaXNhYmxlZCAhPSAxKSkKKwkJZ290byBvdXQ7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmd2FrZXVwX2xvY2ssIGZsYWdzKTsKKworCS8qIFdlIGNvdWxkIHJhY2Ugd2l0aCBncmFiYmluZyB3YWtldXBfbG9jayAqLworCWlmICh1bmxpa2VseSghdHJhY2VyX2VuYWJsZWQgfHwgbmV4dCAhPSB3YWtldXBfdGFzaykpCisJCWdvdG8gb3V0X3VubG9jazsKKworCXRyYWNlX2Z1bmN0aW9uKHRyLCBkYXRhLCBDQUxMRVJfQUREUjEsIENBTExFUl9BRERSMiwgZmxhZ3MpOworCisJLyoKKwkgKiB1c2VjcyBjb252ZXJzaW9uIGlzIHNsb3cgc28gd2UgdHJ5IHRvIGRlbGF5IHRoZSBjb252ZXJzaW9uCisJICogYXMgbG9uZyBhcyBwb3NzaWJsZToKKwkgKi8KKwlUMCA9IGRhdGEtPnByZWVtcHRfdGltZXN0YW1wOworCVQxID0gZnRyYWNlX25vdyhjcHUpOworCWRlbHRhID0gVDEtVDA7CisKKwlpZiAoIXJlcG9ydF9sYXRlbmN5KGRlbHRhKSkKKwkJZ290byBvdXRfdW5sb2NrOworCisJbGF0ZW5jeSA9IG5zZWNzX3RvX3VzZWNzKGRlbHRhKTsKKworCXRyYWNpbmdfbWF4X2xhdGVuY3kgPSBkZWx0YTsKKwl0MCA9IG5zZWNzX3RvX3VzZWNzKFQwKTsKKwl0MSA9IG5zZWNzX3RvX3VzZWNzKFQxKTsKKworCXVwZGF0ZV9tYXhfdHIodHIsIHdha2V1cF90YXNrLCB3YWtldXBfY3B1KTsKKworb3V0X3VubG9jazoKKwlfX3dha2V1cF9yZXNldCh0cik7CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmd2FrZXVwX2xvY2ssIGZsYWdzKTsKK291dDoKKwlhdG9taWNfZGVjKCZ0ci0+ZGF0YVtjcHVdLT5kaXNhYmxlZCk7Cit9CisKK3N0YXRpYyBub3RyYWNlIHZvaWQKK3NjaGVkX3N3aXRjaF9jYWxsYmFjayh2b2lkICpwcm9iZV9kYXRhLCB2b2lkICpjYWxsX2RhdGEsCisJCSAgICAgIGNvbnN0IGNoYXIgKmZvcm1hdCwgdmFfbGlzdCAqYXJncykKK3sKKwlzdHJ1Y3QgdGFza19zdHJ1Y3QgKnByZXY7CisJc3RydWN0IHRhc2tfc3RydWN0ICpuZXh0OworCXN0cnVjdCBycSAqX19ycTsKKworCS8qIHNraXAgcHJldl9waWQgJWQgbmV4dF9waWQgJWQgcHJldl9zdGF0ZSAlbGQgKi8KKwkodm9pZCl2YV9hcmcoKmFyZ3MsIGludCk7CisJKHZvaWQpdmFfYXJnKCphcmdzLCBpbnQpOworCSh2b2lkKXZhX2FyZygqYXJncywgbG9uZyk7CisJX19ycSA9IHZhX2FyZygqYXJncywgdHlwZW9mKF9fcnEpKTsKKwlwcmV2ID0gdmFfYXJnKCphcmdzLCB0eXBlb2YocHJldikpOworCW5leHQgPSB2YV9hcmcoKmFyZ3MsIHR5cGVvZihuZXh0KSk7CisKKwl0cmFjaW5nX3JlY29yZF9jbWRsaW5lKHByZXYpOworCisJLyoKKwkgKiBJZiB0cmFjZXJfc3dpdGNoX2Z1bmMgb25seSBwb2ludHMgdG8gdGhlIGxvY2FsCisJICogc3dpdGNoIGZ1bmMsIGl0IHN0aWxsIG5lZWRzIHRoZSBwdHIgcGFzc2VkIHRvIGl0LgorCSAqLworCXdha2V1cF9zY2hlZF9zd2l0Y2gocHJvYmVfZGF0YSwgX19ycSwgcHJldiwgbmV4dCk7Cit9CisKK3N0YXRpYyB2b2lkIF9fd2FrZXVwX3Jlc2V0KHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YTsKKwlpbnQgY3B1OworCisJYXNzZXJ0X3NwaW5fbG9ja2VkKCZ3YWtldXBfbG9jayk7CisKKwlmb3JfZWFjaF9wb3NzaWJsZV9jcHUoY3B1KSB7CisJCWRhdGEgPSB0ci0+ZGF0YVtjcHVdOworCQl0cmFjaW5nX3Jlc2V0KGRhdGEpOworCX0KKworCXdha2V1cF9jcHUgPSAtMTsKKwl3YWtldXBfcHJpbyA9IC0xOworCisJaWYgKHdha2V1cF90YXNrKQorCQlwdXRfdGFza19zdHJ1Y3Qod2FrZXVwX3Rhc2spOworCisJd2FrZXVwX3Rhc2sgPSBOVUxMOworfQorCitzdGF0aWMgdm9pZCB3YWtldXBfcmVzZXQoc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJndha2V1cF9sb2NrLCBmbGFncyk7CisJX193YWtldXBfcmVzZXQodHIpOworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJndha2V1cF9sb2NrLCBmbGFncyk7Cit9CisKK3N0YXRpYyB2b2lkCit3YWtldXBfY2hlY2tfc3RhcnQoc3RydWN0IHRyYWNlX2FycmF5ICp0ciwgc3RydWN0IHRhc2tfc3RydWN0ICpwLAorCQkgICBzdHJ1Y3QgdGFza19zdHJ1Y3QgKmN1cnIpCit7CisJaW50IGNwdSA9IHNtcF9wcm9jZXNzb3JfaWQoKTsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCWxvbmcgZGlzYWJsZWQ7CisKKwlpZiAobGlrZWx5KCFydF90YXNrKHApKSB8fAorCQkJcC0+cHJpbyA+PSB3YWtldXBfcHJpbyB8fAorCQkJcC0+cHJpbyA+PSBjdXJyLT5wcmlvKQorCQlyZXR1cm47CisKKwlkaXNhYmxlZCA9IGF0b21pY19pbmNfcmV0dXJuKCZ0ci0+ZGF0YVtjcHVdLT5kaXNhYmxlZCk7CisJaWYgKHVubGlrZWx5KGRpc2FibGVkICE9IDEpKQorCQlnb3RvIG91dDsKKworCS8qIGludGVycnVwdHMgc2hvdWxkIGJlIG9mZiBmcm9tIHRyeV90b193YWtlX3VwICovCisJc3Bpbl9sb2NrKCZ3YWtldXBfbG9jayk7CisKKwkvKiBjaGVjayBmb3IgcmFjZXMuICovCisJaWYgKCF0cmFjZXJfZW5hYmxlZCB8fCBwLT5wcmlvID49IHdha2V1cF9wcmlvKQorCQlnb3RvIG91dF9sb2NrZWQ7CisKKwkvKiByZXNldCB0aGUgdHJhY2UgKi8KKwlfX3dha2V1cF9yZXNldCh0cik7CisKKwl3YWtldXBfY3B1ID0gdGFza19jcHUocCk7CisJd2FrZXVwX3ByaW8gPSBwLT5wcmlvOworCisJd2FrZXVwX3Rhc2sgPSBwOworCWdldF90YXNrX3N0cnVjdCh3YWtldXBfdGFzayk7CisKKwlsb2NhbF9zYXZlX2ZsYWdzKGZsYWdzKTsKKworCXRyLT5kYXRhW3dha2V1cF9jcHVdLT5wcmVlbXB0X3RpbWVzdGFtcCA9IGZ0cmFjZV9ub3coY3B1KTsKKwl0cmFjZV9mdW5jdGlvbih0ciwgdHItPmRhdGFbd2FrZXVwX2NwdV0sCisJCSAgICAgICBDQUxMRVJfQUREUjEsIENBTExFUl9BRERSMiwgZmxhZ3MpOworCitvdXRfbG9ja2VkOgorCXNwaW5fdW5sb2NrKCZ3YWtldXBfbG9jayk7CitvdXQ6CisJYXRvbWljX2RlYygmdHItPmRhdGFbY3B1XS0+ZGlzYWJsZWQpOworfQorCitzdGF0aWMgbm90cmFjZSB2b2lkCit3YWtlX3VwX2NhbGxiYWNrKHZvaWQgKnByb2JlX2RhdGEsIHZvaWQgKmNhbGxfZGF0YSwKKwkJIGNvbnN0IGNoYXIgKmZvcm1hdCwgdmFfbGlzdCAqYXJncykKK3sKKwlzdHJ1Y3QgdHJhY2VfYXJyYXkgKipwdHIgPSBwcm9iZV9kYXRhOworCXN0cnVjdCB0cmFjZV9hcnJheSAqdHIgPSAqcHRyOworCXN0cnVjdCB0YXNrX3N0cnVjdCAqY3VycjsKKwlzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2s7CisJc3RydWN0IHJxICpfX3JxOworCisJaWYgKGxpa2VseSghdHJhY2VyX2VuYWJsZWQpKQorCQlyZXR1cm47CisKKwkvKiBTa2lwIHBpZCAlZCBzdGF0ZSAlbGQgKi8KKwkodm9pZCl2YV9hcmcoKmFyZ3MsIGludCk7CisJKHZvaWQpdmFfYXJnKCphcmdzLCBsb25nKTsKKwkvKiBub3cgZ2V0IHRoZSBtZWF0OiAicnEgJXAgdGFzayAlcCBycS0+Y3VyciAlcCIgKi8KKwlfX3JxID0gdmFfYXJnKCphcmdzLCB0eXBlb2YoX19ycSkpOworCXRhc2sgPSB2YV9hcmcoKmFyZ3MsIHR5cGVvZih0YXNrKSk7CisJY3VyciA9IHZhX2FyZygqYXJncywgdHlwZW9mKGN1cnIpKTsKKworCXRyYWNpbmdfcmVjb3JkX2NtZGxpbmUodGFzayk7CisJdHJhY2luZ19yZWNvcmRfY21kbGluZShjdXJyKTsKKworCXdha2V1cF9jaGVja19zdGFydCh0ciwgdGFzaywgY3Vycik7Cit9CisKK3N0YXRpYyB2b2lkIHN0YXJ0X3dha2V1cF90cmFjZXIoc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwlpbnQgcmV0OworCisJcmV0ID0gbWFya2VyX3Byb2JlX3JlZ2lzdGVyKCJrZXJuZWxfc2NoZWRfd2FrZXVwIiwKKwkJCSJwaWQgJWQgc3RhdGUgJWxkICMjIHJxICVwIHRhc2sgJXAgcnEtPmN1cnIgJXAiLAorCQkJd2FrZV91cF9jYWxsYmFjaywKKwkJCSZ3YWtldXBfdHJhY2UpOworCWlmIChyZXQpIHsKKwkJcHJfaW5mbygid2FrZXVwIHRyYWNlOiBDb3VsZG4ndCBhZGQgbWFya2VyIgorCQkJIiBwcm9iZSB0byBrZXJuZWxfc2NoZWRfd2FrZXVwXG4iKTsKKwkJcmV0dXJuOworCX0KKworCXJldCA9IG1hcmtlcl9wcm9iZV9yZWdpc3Rlcigia2VybmVsX3NjaGVkX3dha2V1cF9uZXciLAorCQkJInBpZCAlZCBzdGF0ZSAlbGQgIyMgcnEgJXAgdGFzayAlcCBycS0+Y3VyciAlcCIsCisJCQl3YWtlX3VwX2NhbGxiYWNrLAorCQkJJndha2V1cF90cmFjZSk7CisJaWYgKHJldCkgeworCQlwcl9pbmZvKCJ3YWtldXAgdHJhY2U6IENvdWxkbid0IGFkZCBtYXJrZXIiCisJCQkiIHByb2JlIHRvIGtlcm5lbF9zY2hlZF93YWtldXBfbmV3XG4iKTsKKwkJZ290byBmYWlsX2RlcHJvYmU7CisJfQorCisJcmV0ID0gbWFya2VyX3Byb2JlX3JlZ2lzdGVyKCJrZXJuZWxfc2NoZWRfc2NoZWR1bGUiLAorCQkicHJldl9waWQgJWQgbmV4dF9waWQgJWQgcHJldl9zdGF0ZSAlbGQgIgorCQkiIyMgcnEgJXAgcHJldiAlcCBuZXh0ICVwIiwKKwkJc2NoZWRfc3dpdGNoX2NhbGxiYWNrLAorCQkmd2FrZXVwX3RyYWNlKTsKKwlpZiAocmV0KSB7CisJCXByX2luZm8oInNjaGVkIHRyYWNlOiBDb3VsZG4ndCBhZGQgbWFya2VyIgorCQkJIiBwcm9iZSB0byBrZXJuZWxfc2NoZWRfc2NoZWR1bGVcbiIpOworCQlnb3RvIGZhaWxfZGVwcm9iZV93YWtlX25ldzsKKwl9CisKKwl3YWtldXBfcmVzZXQodHIpOworCisJLyoKKwkgKiBEb24ndCBsZXQgdGhlIHRyYWNlcl9lbmFibGVkID0gMSBzaG93IHVwIGJlZm9yZQorCSAqIHRoZSB3YWtldXBfdGFzayBpcyByZXNldC4gVGhpcyBtYXkgYmUgb3ZlcmtpbGwgc2luY2UKKwkgKiB3YWtldXBfcmVzZXQgZG9lcyBhIHNwaW5fdW5sb2NrIGFmdGVyIHNldHRpbmcgdGhlCisJICogd2FrZXVwX3Rhc2sgdG8gTlVMTCwgYnV0IEkgd2FudCB0byBiZSBzYWZlLgorCSAqIFRoaXMgaXMgYSBzbG93IHBhdGggYW55d2F5LgorCSAqLworCXNtcF93bWIoKTsKKworCXJlZ2lzdGVyX2Z0cmFjZV9mdW5jdGlvbigmdHJhY2Vfb3BzKTsKKworCXRyYWNlcl9lbmFibGVkID0gMTsKKworCXJldHVybjsKK2ZhaWxfZGVwcm9iZV93YWtlX25ldzoKKwltYXJrZXJfcHJvYmVfdW5yZWdpc3Rlcigia2VybmVsX3NjaGVkX3dha2V1cF9uZXciLAorCQkJCXdha2VfdXBfY2FsbGJhY2ssCisJCQkJJndha2V1cF90cmFjZSk7CitmYWlsX2RlcHJvYmU6CisJbWFya2VyX3Byb2JlX3VucmVnaXN0ZXIoImtlcm5lbF9zY2hlZF93YWtldXAiLAorCQkJCXdha2VfdXBfY2FsbGJhY2ssCisJCQkJJndha2V1cF90cmFjZSk7Cit9CisKK3N0YXRpYyB2b2lkIHN0b3Bfd2FrZXVwX3RyYWNlcihzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCXRyYWNlcl9lbmFibGVkID0gMDsKKwl1bnJlZ2lzdGVyX2Z0cmFjZV9mdW5jdGlvbigmdHJhY2Vfb3BzKTsKKwltYXJrZXJfcHJvYmVfdW5yZWdpc3Rlcigia2VybmVsX3NjaGVkX3NjaGVkdWxlIiwKKwkJCQlzY2hlZF9zd2l0Y2hfY2FsbGJhY2ssCisJCQkJJndha2V1cF90cmFjZSk7CisJbWFya2VyX3Byb2JlX3VucmVnaXN0ZXIoImtlcm5lbF9zY2hlZF93YWtldXBfbmV3IiwKKwkJCQl3YWtlX3VwX2NhbGxiYWNrLAorCQkJCSZ3YWtldXBfdHJhY2UpOworCW1hcmtlcl9wcm9iZV91bnJlZ2lzdGVyKCJrZXJuZWxfc2NoZWRfd2FrZXVwIiwKKwkJCQl3YWtlX3VwX2NhbGxiYWNrLAorCQkJCSZ3YWtldXBfdHJhY2UpOworfQorCitzdGF0aWMgdm9pZCB3YWtldXBfdHJhY2VyX2luaXQoc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwl3YWtldXBfdHJhY2UgPSB0cjsKKworCWlmICh0ci0+Y3RybCkKKwkJc3RhcnRfd2FrZXVwX3RyYWNlcih0cik7Cit9CisKK3N0YXRpYyB2b2lkIHdha2V1cF90cmFjZXJfcmVzZXQoc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwlpZiAodHItPmN0cmwpIHsKKwkJc3RvcF93YWtldXBfdHJhY2VyKHRyKTsKKwkJLyogbWFrZSBzdXJlIHdlIHB1dCBiYWNrIGFueSB0YXNrcyB3ZSBhcmUgdHJhY2luZyAqLworCQl3YWtldXBfcmVzZXQodHIpOworCX0KK30KKworc3RhdGljIHZvaWQgd2FrZXVwX3RyYWNlcl9jdHJsX3VwZGF0ZShzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCWlmICh0ci0+Y3RybCkKKwkJc3RhcnRfd2FrZXVwX3RyYWNlcih0cik7CisJZWxzZQorCQlzdG9wX3dha2V1cF90cmFjZXIodHIpOworfQorCitzdGF0aWMgdm9pZCB3YWtldXBfdHJhY2VyX29wZW4oc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyKQoreworCS8qIHN0b3AgdGhlIHRyYWNlIHdoaWxlIGR1bXBpbmcgKi8KKwlpZiAoaXRlci0+dHItPmN0cmwpCisJCXN0b3Bfd2FrZXVwX3RyYWNlcihpdGVyLT50cik7Cit9CisKK3N0YXRpYyB2b2lkIHdha2V1cF90cmFjZXJfY2xvc2Uoc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyKQoreworCS8qIGZvcmdldCBhYm91dCBhbnkgcHJvY2Vzc2VzIHdlIHdlcmUgcmVjb3JkaW5nICovCisJaWYgKGl0ZXItPnRyLT5jdHJsKQorCQlzdGFydF93YWtldXBfdHJhY2VyKGl0ZXItPnRyKTsKK30KKworc3RhdGljIHN0cnVjdCB0cmFjZXIgd2FrZXVwX3RyYWNlciBfX3JlYWRfbW9zdGx5ID0KK3sKKwkubmFtZQkJPSAid2FrZXVwIiwKKwkuaW5pdAkJPSB3YWtldXBfdHJhY2VyX2luaXQsCisJLnJlc2V0CQk9IHdha2V1cF90cmFjZXJfcmVzZXQsCisJLm9wZW4JCT0gd2FrZXVwX3RyYWNlcl9vcGVuLAorCS5jbG9zZQkJPSB3YWtldXBfdHJhY2VyX2Nsb3NlLAorCS5jdHJsX3VwZGF0ZQk9IHdha2V1cF90cmFjZXJfY3RybF91cGRhdGUsCisJLnByaW50X21heAk9IDEsCisjaWZkZWYgQ09ORklHX0ZUUkFDRV9TRUxGVEVTVAorCS5zZWxmdGVzdCAgICA9IHRyYWNlX3NlbGZ0ZXN0X3N0YXJ0dXBfd2FrZXVwLAorI2VuZGlmCit9OworCitfX2luaXQgc3RhdGljIGludCBpbml0X3dha2V1cF90cmFjZXIodm9pZCkKK3sKKwlpbnQgcmV0OworCisJcmV0ID0gcmVnaXN0ZXJfdHJhY2VyKCZ3YWtldXBfdHJhY2VyKTsKKwlpZiAocmV0KQorCQlyZXR1cm4gcmV0OworCisJcmV0dXJuIDA7Cit9CitkZXZpY2VfaW5pdGNhbGwoaW5pdF93YWtldXBfdHJhY2VyKTsKZGlmZiAtLWdpdCBhL2tlcm5lbC90cmFjZS90cmFjZV9zZWxmdGVzdC5jIGIva2VybmVsL3RyYWNlL3RyYWNlX3NlbGZ0ZXN0LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDkxMWI3ZQotLS0gL2Rldi9udWxsCisrKyBiL2tlcm5lbC90cmFjZS90cmFjZV9zZWxmdGVzdC5jCkBAIC0wLDAgKzEsNTYzIEBACisvKiBJbmNsdWRlIGluIHRyYWNlLmMgKi8KKworI2luY2x1ZGUgPGxpbnV4L2t0aHJlYWQuaD4KKyNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgorCitzdGF0aWMgaW5saW5lIGludCB0cmFjZV92YWxpZF9lbnRyeShzdHJ1Y3QgdHJhY2VfZW50cnkgKmVudHJ5KQoreworCXN3aXRjaCAoZW50cnktPnR5cGUpIHsKKwljYXNlIFRSQUNFX0ZOOgorCWNhc2UgVFJBQ0VfQ1RYOgorCWNhc2UgVFJBQ0VfV0FLRToKKwljYXNlIFRSQUNFX1NUQUNLOgorCWNhc2UgVFJBQ0VfU1BFQ0lBTDoKKwkJcmV0dXJuIDE7CisJfQorCXJldHVybiAwOworfQorCitzdGF0aWMgaW50Cit0cmFjZV90ZXN0X2J1ZmZlcl9jcHUoc3RydWN0IHRyYWNlX2FycmF5ICp0ciwgc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YSkKK3sKKwlzdHJ1Y3QgdHJhY2VfZW50cnkgKmVudHJpZXM7CisJc3RydWN0IHBhZ2UgKnBhZ2U7CisJaW50IGlkeCA9IDA7CisJaW50IGk7CisKKwlCVUdfT04obGlzdF9lbXB0eSgmZGF0YS0+dHJhY2VfcGFnZXMpKTsKKwlwYWdlID0gbGlzdF9lbnRyeShkYXRhLT50cmFjZV9wYWdlcy5uZXh0LCBzdHJ1Y3QgcGFnZSwgbHJ1KTsKKwllbnRyaWVzID0gcGFnZV9hZGRyZXNzKHBhZ2UpOworCisJY2hlY2tfcGFnZXMoZGF0YSk7CisJaWYgKGhlYWRfcGFnZShkYXRhKSAhPSBlbnRyaWVzKQorCQlnb3RvIGZhaWxlZDsKKworCS8qCisJICogVGhlIHN0YXJ0aW5nIHRyYWNlIGJ1ZmZlciBhbHdheXMgaGFzIHZhbGlkIGVsZW1lbnRzLAorCSAqIGlmIGFueSBlbGVtZW50IGV4aXN0cy4KKwkgKi8KKwllbnRyaWVzID0gaGVhZF9wYWdlKGRhdGEpOworCisJZm9yIChpID0gMDsgaSA8IHRyLT5lbnRyaWVzOyBpKyspIHsKKworCQlpZiAoaSA8IGRhdGEtPnRyYWNlX2lkeCAmJiAhdHJhY2VfdmFsaWRfZW50cnkoJmVudHJpZXNbaWR4XSkpIHsKKwkJCXByaW50ayhLRVJOX0NPTlQgIi4uIGludmFsaWQgZW50cnkgJWQgIiwKKwkJCQllbnRyaWVzW2lkeF0udHlwZSk7CisJCQlnb3RvIGZhaWxlZDsKKwkJfQorCisJCWlkeCsrOworCQlpZiAoaWR4ID49IEVOVFJJRVNfUEVSX1BBR0UpIHsKKwkJCXBhZ2UgPSB2aXJ0X3RvX3BhZ2UoZW50cmllcyk7CisJCQlpZiAocGFnZS0+bHJ1Lm5leHQgPT0gJmRhdGEtPnRyYWNlX3BhZ2VzKSB7CisJCQkJaWYgKGkgIT0gdHItPmVudHJpZXMgLSAxKSB7CisJCQkJCXByaW50ayhLRVJOX0NPTlQgIi4uIGVudHJpZXMgYnVmZmVyIG1pc21hdGNoIik7CisJCQkJCWdvdG8gZmFpbGVkOworCQkJCX0KKwkJCX0gZWxzZSB7CisJCQkJcGFnZSA9IGxpc3RfZW50cnkocGFnZS0+bHJ1Lm5leHQsIHN0cnVjdCBwYWdlLCBscnUpOworCQkJCWVudHJpZXMgPSBwYWdlX2FkZHJlc3MocGFnZSk7CisJCQl9CisJCQlpZHggPSAwOworCQl9CisJfQorCisJcGFnZSA9IHZpcnRfdG9fcGFnZShlbnRyaWVzKTsKKwlpZiAocGFnZS0+bHJ1Lm5leHQgIT0gJmRhdGEtPnRyYWNlX3BhZ2VzKSB7CisJCXByaW50ayhLRVJOX0NPTlQgIi4uIHRvbyBtYW55IGVudHJpZXMiKTsKKwkJZ290byBmYWlsZWQ7CisJfQorCisJcmV0dXJuIDA7CisKKyBmYWlsZWQ6CisJLyogZGlzYWJsZSB0cmFjaW5nICovCisJdHJhY2luZ19kaXNhYmxlZCA9IDE7CisJcHJpbnRrKEtFUk5fQ09OVCAiLi4gY29ycnVwdGVkIHRyYWNlIGJ1ZmZlciAuLiAiKTsKKwlyZXR1cm4gLTE7Cit9CisKKy8qCisgKiBUZXN0IHRoZSB0cmFjZSBidWZmZXIgdG8gc2VlIGlmIGFsbCB0aGUgZWxlbWVudHMKKyAqIGFyZSBzdGlsbCBzYW5lLgorICovCitzdGF0aWMgaW50IHRyYWNlX3Rlc3RfYnVmZmVyKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIsIHVuc2lnbmVkIGxvbmcgKmNvdW50KQoreworCXVuc2lnbmVkIGxvbmcgZmxhZ3MsIGNudCA9IDA7CisJaW50IGNwdSwgcmV0ID0gMDsKKworCS8qIERvbid0IGFsbG93IGZsaXBwaW5nIG9mIG1heCB0cmFjZXMgbm93ICovCisJcmF3X2xvY2FsX2lycV9zYXZlKGZsYWdzKTsKKwlfX3Jhd19zcGluX2xvY2soJmZ0cmFjZV9tYXhfbG9jayk7CisJZm9yX2VhY2hfcG9zc2libGVfY3B1KGNwdSkgeworCQlpZiAoIWhlYWRfcGFnZSh0ci0+ZGF0YVtjcHVdKSkKKwkJCWNvbnRpbnVlOworCisJCWNudCArPSB0ci0+ZGF0YVtjcHVdLT50cmFjZV9pZHg7CisKKwkJcmV0ID0gdHJhY2VfdGVzdF9idWZmZXJfY3B1KHRyLCB0ci0+ZGF0YVtjcHVdKTsKKwkJaWYgKHJldCkKKwkJCWJyZWFrOworCX0KKwlfX3Jhd19zcGluX3VubG9jaygmZnRyYWNlX21heF9sb2NrKTsKKwlyYXdfbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOworCisJaWYgKGNvdW50KQorCQkqY291bnQgPSBjbnQ7CisKKwlyZXR1cm4gcmV0OworfQorCisjaWZkZWYgQ09ORklHX0ZUUkFDRQorCisjaWZkZWYgQ09ORklHX0RZTkFNSUNfRlRSQUNFCisKKyNkZWZpbmUgX19TVFIoeCkgI3gKKyNkZWZpbmUgU1RSKHgpIF9fU1RSKHgpCisKKy8qIFRlc3QgZHluYW1pYyBjb2RlIG1vZGlmaWNhdGlvbiBhbmQgZnRyYWNlIGZpbHRlcnMgKi8KK2ludCB0cmFjZV9zZWxmdGVzdF9zdGFydHVwX2R5bmFtaWNfdHJhY2luZyhzdHJ1Y3QgdHJhY2VyICp0cmFjZSwKKwkJCQkJICAgc3RydWN0IHRyYWNlX2FycmF5ICp0ciwKKwkJCQkJICAgaW50ICgqZnVuYykodm9pZCkpCit7CisJdW5zaWduZWQgbG9uZyBjb3VudDsKKwlpbnQgcmV0OworCWludCBzYXZlX2Z0cmFjZV9lbmFibGVkID0gZnRyYWNlX2VuYWJsZWQ7CisJaW50IHNhdmVfdHJhY2VyX2VuYWJsZWQgPSB0cmFjZXJfZW5hYmxlZDsKKwljaGFyICpmdW5jX25hbWU7CisKKwkvKiBUaGUgZnRyYWNlIHRlc3QgUEFTU0VEICovCisJcHJpbnRrKEtFUk5fQ09OVCAiUEFTU0VEXG4iKTsKKwlwcl9pbmZvKCJUZXN0aW5nIGR5bmFtaWMgZnRyYWNlOiAiKTsKKworCS8qIGVuYWJsZSB0cmFjaW5nLCBhbmQgcmVjb3JkIHRoZSBmaWx0ZXIgZnVuY3Rpb24gKi8KKwlmdHJhY2VfZW5hYmxlZCA9IDE7CisJdHJhY2VyX2VuYWJsZWQgPSAxOworCisJLyogcGFzc2VkIGluIGJ5IHBhcmFtZXRlciB0byBmb29sIGdjYyBmcm9tIG9wdGltaXppbmcgKi8KKwlmdW5jKCk7CisKKwkvKiB1cGRhdGUgdGhlIHJlY29yZHMgKi8KKwlyZXQgPSBmdHJhY2VfZm9yY2VfdXBkYXRlKCk7CisJaWYgKHJldCkgeworCQlwcmludGsoS0VSTl9DT05UICIuLiBmdHJhY2VkIGZhaWxlZCAuLiAiKTsKKwkJcmV0dXJuIHJldDsKKwl9CisKKwkvKgorCSAqIFNvbWUgYXJjaHMgKmNvdWdoKlBvd2VyUEMqY291Z2gqIGFkZCBjaGFyYWNodGVycyB0byB0aGUKKwkgKiBzdGFydCBvZiB0aGUgZnVuY3Rpb24gbmFtZXMuIFdlIHNpbXBseSBwdXQgYSAnKicgdG8KKwkgKiBhY2NvbW9kYXRlIHRoZW0uCisJICovCisJZnVuY19uYW1lID0gIioiIFNUUihEWU5fRlRSQUNFX1RFU1RfTkFNRSk7CisKKwkvKiBmaWx0ZXIgb25seSBvbiBvdXIgZnVuY3Rpb24gKi8KKwlmdHJhY2Vfc2V0X2ZpbHRlcihmdW5jX25hbWUsIHN0cmxlbihmdW5jX25hbWUpLCAxKTsKKworCS8qIGVuYWJsZSB0cmFjaW5nICovCisJdHItPmN0cmwgPSAxOworCXRyYWNlLT5pbml0KHRyKTsKKwkvKiBTbGVlcCBmb3IgYSAxLzEwIG9mIGEgc2Vjb25kICovCisJbXNsZWVwKDEwMCk7CisKKwkvKiB3ZSBzaG91bGQgaGF2ZSBub3RoaW5nIGluIHRoZSBidWZmZXIgKi8KKwlyZXQgPSB0cmFjZV90ZXN0X2J1ZmZlcih0ciwgJmNvdW50KTsKKwlpZiAocmV0KQorCQlnb3RvIG91dDsKKworCWlmIChjb3VudCkgeworCQlyZXQgPSAtMTsKKwkJcHJpbnRrKEtFUk5fQ09OVCAiLi4gZmlsdGVyIGRpZCBub3QgZmlsdGVyIC4uICIpOworCQlnb3RvIG91dDsKKwl9CisKKwkvKiBjYWxsIG91ciBmdW5jdGlvbiBhZ2FpbiAqLworCWZ1bmMoKTsKKworCS8qIHNsZWVwIGFnYWluICovCisJbXNsZWVwKDEwMCk7CisKKwkvKiBzdG9wIHRoZSB0cmFjaW5nLiAqLworCXRyLT5jdHJsID0gMDsKKwl0cmFjZS0+Y3RybF91cGRhdGUodHIpOworCWZ0cmFjZV9lbmFibGVkID0gMDsKKworCS8qIGNoZWNrIHRoZSB0cmFjZSBidWZmZXIgKi8KKwlyZXQgPSB0cmFjZV90ZXN0X2J1ZmZlcih0ciwgJmNvdW50KTsKKwl0cmFjZS0+cmVzZXQodHIpOworCisJLyogd2Ugc2hvdWxkIG9ubHkgaGF2ZSBvbmUgaXRlbSAqLworCWlmICghcmV0ICYmIGNvdW50ICE9IDEpIHsKKwkJcHJpbnRrKEtFUk5fQ09OVCAiLi4gZmlsdGVyIGZhaWxlZCBjb3VudD0lbGQgLi4iLCBjb3VudCk7CisJCXJldCA9IC0xOworCQlnb3RvIG91dDsKKwl9Cisgb3V0OgorCWZ0cmFjZV9lbmFibGVkID0gc2F2ZV9mdHJhY2VfZW5hYmxlZDsKKwl0cmFjZXJfZW5hYmxlZCA9IHNhdmVfdHJhY2VyX2VuYWJsZWQ7CisKKwkvKiBFbmFibGUgdHJhY2luZyBvbiBhbGwgZnVuY3Rpb25zIGFnYWluICovCisJZnRyYWNlX3NldF9maWx0ZXIoTlVMTCwgMCwgMSk7CisKKwlyZXR1cm4gcmV0OworfQorI2Vsc2UKKyMgZGVmaW5lIHRyYWNlX3NlbGZ0ZXN0X3N0YXJ0dXBfZHluYW1pY190cmFjaW5nKHRyYWNlLCB0ciwgZnVuYykgKHsgMDsgfSkKKyNlbmRpZiAvKiBDT05GSUdfRFlOQU1JQ19GVFJBQ0UgKi8KKy8qCisgKiBTaW1wbGUgdmVyaWZpY2F0aW9uIHRlc3Qgb2YgZnRyYWNlIGZ1bmN0aW9uIHRyYWNlci4KKyAqIEVuYWJsZSBmdHJhY2UsIHNsZWVwIDEvMTAgc2Vjb25kLCBhbmQgdGhlbiByZWFkIHRoZSB0cmFjZQorICogYnVmZmVyIHRvIHNlZSBpZiBhbGwgaXMgaW4gb3JkZXIuCisgKi8KK2ludAordHJhY2Vfc2VsZnRlc3Rfc3RhcnR1cF9mdW5jdGlvbihzdHJ1Y3QgdHJhY2VyICp0cmFjZSwgc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwl1bnNpZ25lZCBsb25nIGNvdW50OworCWludCByZXQ7CisJaW50IHNhdmVfZnRyYWNlX2VuYWJsZWQgPSBmdHJhY2VfZW5hYmxlZDsKKwlpbnQgc2F2ZV90cmFjZXJfZW5hYmxlZCA9IHRyYWNlcl9lbmFibGVkOworCisJLyogbWFrZSBzdXJlIG1zbGVlcCBoYXMgYmVlbiByZWNvcmRlZCAqLworCW1zbGVlcCgxKTsKKworCS8qIGZvcmNlIHRoZSByZWNvcmRlZCBmdW5jdGlvbnMgdG8gYmUgdHJhY2VkICovCisJcmV0ID0gZnRyYWNlX2ZvcmNlX3VwZGF0ZSgpOworCWlmIChyZXQpIHsKKwkJcHJpbnRrKEtFUk5fQ09OVCAiLi4gZnRyYWNlZCBmYWlsZWQgLi4gIik7CisJCXJldHVybiByZXQ7CisJfQorCisJLyogc3RhcnQgdGhlIHRyYWNpbmcgKi8KKwlmdHJhY2VfZW5hYmxlZCA9IDE7CisJdHJhY2VyX2VuYWJsZWQgPSAxOworCisJdHItPmN0cmwgPSAxOworCXRyYWNlLT5pbml0KHRyKTsKKwkvKiBTbGVlcCBmb3IgYSAxLzEwIG9mIGEgc2Vjb25kICovCisJbXNsZWVwKDEwMCk7CisJLyogc3RvcCB0aGUgdHJhY2luZy4gKi8KKwl0ci0+Y3RybCA9IDA7CisJdHJhY2UtPmN0cmxfdXBkYXRlKHRyKTsKKwlmdHJhY2VfZW5hYmxlZCA9IDA7CisKKwkvKiBjaGVjayB0aGUgdHJhY2UgYnVmZmVyICovCisJcmV0ID0gdHJhY2VfdGVzdF9idWZmZXIodHIsICZjb3VudCk7CisJdHJhY2UtPnJlc2V0KHRyKTsKKworCWlmICghcmV0ICYmICFjb3VudCkgeworCQlwcmludGsoS0VSTl9DT05UICIuLiBubyBlbnRyaWVzIGZvdW5kIC4uIik7CisJCXJldCA9IC0xOworCQlnb3RvIG91dDsKKwl9CisKKwlyZXQgPSB0cmFjZV9zZWxmdGVzdF9zdGFydHVwX2R5bmFtaWNfdHJhY2luZyh0cmFjZSwgdHIsCisJCQkJCQkgICAgIERZTl9GVFJBQ0VfVEVTVF9OQU1FKTsKKworIG91dDoKKwlmdHJhY2VfZW5hYmxlZCA9IHNhdmVfZnRyYWNlX2VuYWJsZWQ7CisJdHJhY2VyX2VuYWJsZWQgPSBzYXZlX3RyYWNlcl9lbmFibGVkOworCisJLyoga2lsbCBmdHJhY2UgdG90YWxseSBpZiB3ZSBmYWlsZWQgKi8KKwlpZiAocmV0KQorCQlmdHJhY2Vfa2lsbCgpOworCisJcmV0dXJuIHJldDsKK30KKyNlbmRpZiAvKiBDT05GSUdfRlRSQUNFICovCisKKyNpZmRlZiBDT05GSUdfSVJRU09GRl9UUkFDRVIKK2ludAordHJhY2Vfc2VsZnRlc3Rfc3RhcnR1cF9pcnFzb2ZmKHN0cnVjdCB0cmFjZXIgKnRyYWNlLCBzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCXVuc2lnbmVkIGxvbmcgc2F2ZV9tYXggPSB0cmFjaW5nX21heF9sYXRlbmN5OworCXVuc2lnbmVkIGxvbmcgY291bnQ7CisJaW50IHJldDsKKworCS8qIHN0YXJ0IHRoZSB0cmFjaW5nICovCisJdHItPmN0cmwgPSAxOworCXRyYWNlLT5pbml0KHRyKTsKKwkvKiByZXNldCB0aGUgbWF4IGxhdGVuY3kgKi8KKwl0cmFjaW5nX21heF9sYXRlbmN5ID0gMDsKKwkvKiBkaXNhYmxlIGludGVycnVwdHMgZm9yIGEgYml0ICovCisJbG9jYWxfaXJxX2Rpc2FibGUoKTsKKwl1ZGVsYXkoMTAwKTsKKwlsb2NhbF9pcnFfZW5hYmxlKCk7CisJLyogc3RvcCB0aGUgdHJhY2luZy4gKi8KKwl0ci0+Y3RybCA9IDA7CisJdHJhY2UtPmN0cmxfdXBkYXRlKHRyKTsKKwkvKiBjaGVjayBib3RoIHRyYWNlIGJ1ZmZlcnMgKi8KKwlyZXQgPSB0cmFjZV90ZXN0X2J1ZmZlcih0ciwgTlVMTCk7CisJaWYgKCFyZXQpCisJCXJldCA9IHRyYWNlX3Rlc3RfYnVmZmVyKCZtYXhfdHIsICZjb3VudCk7CisJdHJhY2UtPnJlc2V0KHRyKTsKKworCWlmICghcmV0ICYmICFjb3VudCkgeworCQlwcmludGsoS0VSTl9DT05UICIuLiBubyBlbnRyaWVzIGZvdW5kIC4uIik7CisJCXJldCA9IC0xOworCX0KKworCXRyYWNpbmdfbWF4X2xhdGVuY3kgPSBzYXZlX21heDsKKworCXJldHVybiByZXQ7Cit9CisjZW5kaWYgLyogQ09ORklHX0lSUVNPRkZfVFJBQ0VSICovCisKKyNpZmRlZiBDT05GSUdfUFJFRU1QVF9UUkFDRVIKK2ludAordHJhY2Vfc2VsZnRlc3Rfc3RhcnR1cF9wcmVlbXB0b2ZmKHN0cnVjdCB0cmFjZXIgKnRyYWNlLCBzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCXVuc2lnbmVkIGxvbmcgc2F2ZV9tYXggPSB0cmFjaW5nX21heF9sYXRlbmN5OworCXVuc2lnbmVkIGxvbmcgY291bnQ7CisJaW50IHJldDsKKworCS8qIHN0YXJ0IHRoZSB0cmFjaW5nICovCisJdHItPmN0cmwgPSAxOworCXRyYWNlLT5pbml0KHRyKTsKKwkvKiByZXNldCB0aGUgbWF4IGxhdGVuY3kgKi8KKwl0cmFjaW5nX21heF9sYXRlbmN5ID0gMDsKKwkvKiBkaXNhYmxlIHByZWVtcHRpb24gZm9yIGEgYml0ICovCisJcHJlZW1wdF9kaXNhYmxlKCk7CisJdWRlbGF5KDEwMCk7CisJcHJlZW1wdF9lbmFibGUoKTsKKwkvKiBzdG9wIHRoZSB0cmFjaW5nLiAqLworCXRyLT5jdHJsID0gMDsKKwl0cmFjZS0+Y3RybF91cGRhdGUodHIpOworCS8qIGNoZWNrIGJvdGggdHJhY2UgYnVmZmVycyAqLworCXJldCA9IHRyYWNlX3Rlc3RfYnVmZmVyKHRyLCBOVUxMKTsKKwlpZiAoIXJldCkKKwkJcmV0ID0gdHJhY2VfdGVzdF9idWZmZXIoJm1heF90ciwgJmNvdW50KTsKKwl0cmFjZS0+cmVzZXQodHIpOworCisJaWYgKCFyZXQgJiYgIWNvdW50KSB7CisJCXByaW50ayhLRVJOX0NPTlQgIi4uIG5vIGVudHJpZXMgZm91bmQgLi4iKTsKKwkJcmV0ID0gLTE7CisJfQorCisJdHJhY2luZ19tYXhfbGF0ZW5jeSA9IHNhdmVfbWF4OworCisJcmV0dXJuIHJldDsKK30KKyNlbmRpZiAvKiBDT05GSUdfUFJFRU1QVF9UUkFDRVIgKi8KKworI2lmIGRlZmluZWQoQ09ORklHX0lSUVNPRkZfVFJBQ0VSKSAmJiBkZWZpbmVkKENPTkZJR19QUkVFTVBUX1RSQUNFUikKK2ludAordHJhY2Vfc2VsZnRlc3Rfc3RhcnR1cF9wcmVlbXB0aXJxc29mZihzdHJ1Y3QgdHJhY2VyICp0cmFjZSwgc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwl1bnNpZ25lZCBsb25nIHNhdmVfbWF4ID0gdHJhY2luZ19tYXhfbGF0ZW5jeTsKKwl1bnNpZ25lZCBsb25nIGNvdW50OworCWludCByZXQ7CisKKwkvKiBzdGFydCB0aGUgdHJhY2luZyAqLworCXRyLT5jdHJsID0gMTsKKwl0cmFjZS0+aW5pdCh0cik7CisKKwkvKiByZXNldCB0aGUgbWF4IGxhdGVuY3kgKi8KKwl0cmFjaW5nX21heF9sYXRlbmN5ID0gMDsKKworCS8qIGRpc2FibGUgcHJlZW1wdGlvbiBhbmQgaW50ZXJydXB0cyBmb3IgYSBiaXQgKi8KKwlwcmVlbXB0X2Rpc2FibGUoKTsKKwlsb2NhbF9pcnFfZGlzYWJsZSgpOworCXVkZWxheSgxMDApOworCXByZWVtcHRfZW5hYmxlKCk7CisJLyogcmV2ZXJzZSB0aGUgb3JkZXIgb2YgcHJlZW1wdCB2cyBpcnFzICovCisJbG9jYWxfaXJxX2VuYWJsZSgpOworCisJLyogc3RvcCB0aGUgdHJhY2luZy4gKi8KKwl0ci0+Y3RybCA9IDA7CisJdHJhY2UtPmN0cmxfdXBkYXRlKHRyKTsKKwkvKiBjaGVjayBib3RoIHRyYWNlIGJ1ZmZlcnMgKi8KKwlyZXQgPSB0cmFjZV90ZXN0X2J1ZmZlcih0ciwgTlVMTCk7CisJaWYgKHJldCkKKwkJZ290byBvdXQ7CisKKwlyZXQgPSB0cmFjZV90ZXN0X2J1ZmZlcigmbWF4X3RyLCAmY291bnQpOworCWlmIChyZXQpCisJCWdvdG8gb3V0OworCisJaWYgKCFyZXQgJiYgIWNvdW50KSB7CisJCXByaW50ayhLRVJOX0NPTlQgIi4uIG5vIGVudHJpZXMgZm91bmQgLi4iKTsKKwkJcmV0ID0gLTE7CisJCWdvdG8gb3V0OworCX0KKworCS8qIGRvIHRoZSB0ZXN0IGJ5IGRpc2FibGluZyBpbnRlcnJ1cHRzIGZpcnN0IHRoaXMgdGltZSAqLworCXRyYWNpbmdfbWF4X2xhdGVuY3kgPSAwOworCXRyLT5jdHJsID0gMTsKKwl0cmFjZS0+Y3RybF91cGRhdGUodHIpOworCXByZWVtcHRfZGlzYWJsZSgpOworCWxvY2FsX2lycV9kaXNhYmxlKCk7CisJdWRlbGF5KDEwMCk7CisJcHJlZW1wdF9lbmFibGUoKTsKKwkvKiByZXZlcnNlIHRoZSBvcmRlciBvZiBwcmVlbXB0IHZzIGlycXMgKi8KKwlsb2NhbF9pcnFfZW5hYmxlKCk7CisKKwkvKiBzdG9wIHRoZSB0cmFjaW5nLiAqLworCXRyLT5jdHJsID0gMDsKKwl0cmFjZS0+Y3RybF91cGRhdGUodHIpOworCS8qIGNoZWNrIGJvdGggdHJhY2UgYnVmZmVycyAqLworCXJldCA9IHRyYWNlX3Rlc3RfYnVmZmVyKHRyLCBOVUxMKTsKKwlpZiAocmV0KQorCQlnb3RvIG91dDsKKworCXJldCA9IHRyYWNlX3Rlc3RfYnVmZmVyKCZtYXhfdHIsICZjb3VudCk7CisKKwlpZiAoIXJldCAmJiAhY291bnQpIHsKKwkJcHJpbnRrKEtFUk5fQ09OVCAiLi4gbm8gZW50cmllcyBmb3VuZCAuLiIpOworCQlyZXQgPSAtMTsKKwkJZ290byBvdXQ7CisJfQorCisgb3V0OgorCXRyYWNlLT5yZXNldCh0cik7CisJdHJhY2luZ19tYXhfbGF0ZW5jeSA9IHNhdmVfbWF4OworCisJcmV0dXJuIHJldDsKK30KKyNlbmRpZiAvKiBDT05GSUdfSVJRU09GRl9UUkFDRVIgJiYgQ09ORklHX1BSRUVNUFRfVFJBQ0VSICovCisKKyNpZmRlZiBDT05GSUdfU0NIRURfVFJBQ0VSCitzdGF0aWMgaW50IHRyYWNlX3dha2V1cF90ZXN0X3RocmVhZCh2b2lkICpkYXRhKQoreworCS8qIE1ha2UgdGhpcyBhIFJUIHRocmVhZCwgZG9lc24ndCBuZWVkIHRvIGJlIHRvbyBoaWdoICovCisJc3RydWN0IHNjaGVkX3BhcmFtIHBhcmFtID0geyAuc2NoZWRfcHJpb3JpdHkgPSA1IH07CisJc3RydWN0IGNvbXBsZXRpb24gKnggPSBkYXRhOworCisJc2NoZWRfc2V0c2NoZWR1bGVyKGN1cnJlbnQsIFNDSEVEX0ZJRk8sICZwYXJhbSk7CisKKwkvKiBNYWtlIGl0IGtub3cgd2UgaGF2ZSBhIG5ldyBwcmlvICovCisJY29tcGxldGUoeCk7CisKKwkvKiBub3cgZ28gdG8gc2xlZXAgYW5kIGxldCB0aGUgdGVzdCB3YWtlIHVzIHVwICovCisJc2V0X2N1cnJlbnRfc3RhdGUoVEFTS19JTlRFUlJVUFRJQkxFKTsKKwlzY2hlZHVsZSgpOworCisJLyogd2UgYXJlIGF3YWtlLCBub3cgd2FpdCB0byBkaXNhcHBlYXIgKi8KKwl3aGlsZSAoIWt0aHJlYWRfc2hvdWxkX3N0b3AoKSkgeworCQkvKgorCQkgKiBUaGlzIGlzIGFuIFJUIHRhc2ssIGRvIHNob3J0IHNsZWVwcyB0byBsZXQKKwkJICogb3RoZXJzIHJ1bi4KKwkJICovCisJCW1zbGVlcCgxMDApOworCX0KKworCXJldHVybiAwOworfQorCitpbnQKK3RyYWNlX3NlbGZ0ZXN0X3N0YXJ0dXBfd2FrZXVwKHN0cnVjdCB0cmFjZXIgKnRyYWNlLCBzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCXVuc2lnbmVkIGxvbmcgc2F2ZV9tYXggPSB0cmFjaW5nX21heF9sYXRlbmN5OworCXN0cnVjdCB0YXNrX3N0cnVjdCAqcDsKKwlzdHJ1Y3QgY29tcGxldGlvbiBpc3J0OworCXVuc2lnbmVkIGxvbmcgY291bnQ7CisJaW50IHJldDsKKworCWluaXRfY29tcGxldGlvbigmaXNydCk7CisKKwkvKiBjcmVhdGUgYSBoaWdoIHByaW8gdGhyZWFkICovCisJcCA9IGt0aHJlYWRfcnVuKHRyYWNlX3dha2V1cF90ZXN0X3RocmVhZCwgJmlzcnQsICJmdHJhY2UtdGVzdCIpOworCWlmIChJU19FUlIocCkpIHsKKwkJcHJpbnRrKEtFUk5fQ09OVCAiRmFpbGVkIHRvIGNyZWF0ZSBmdHJhY2Ugd2FrZXVwIHRlc3QgdGhyZWFkICIpOworCQlyZXR1cm4gLTE7CisJfQorCisJLyogbWFrZSBzdXJlIHRoZSB0aHJlYWQgaXMgcnVubmluZyBhdCBhbiBSVCBwcmlvICovCisJd2FpdF9mb3JfY29tcGxldGlvbigmaXNydCk7CisKKwkvKiBzdGFydCB0aGUgdHJhY2luZyAqLworCXRyLT5jdHJsID0gMTsKKwl0cmFjZS0+aW5pdCh0cik7CisJLyogcmVzZXQgdGhlIG1heCBsYXRlbmN5ICovCisJdHJhY2luZ19tYXhfbGF0ZW5jeSA9IDA7CisKKwkvKiBzbGVlcCB0byBsZXQgdGhlIFJUIHRocmVhZCBzbGVlcCB0b28gKi8KKwltc2xlZXAoMTAwKTsKKworCS8qCisJICogWWVzIHRoaXMgaXMgc2xpZ2h0bHkgcmFjeS4gSXQgaXMgcG9zc2libGUgdGhhdCBmb3Igc29tZQorCSAqIHN0cmFuZ2UgcmVhc29uIHRoYXQgdGhlIFJUIHRocmVhZCB3ZSBjcmVhdGVkLCBkaWQgbm90CisJICogY2FsbCBzY2hlZHVsZSBmb3IgMTAwbXMgYWZ0ZXIgZG9pbmcgdGhlIGNvbXBsZXRpb24sCisJICogYW5kIHdlIGRvIGEgd2FrZXVwIG9uIGEgdGFzayB0aGF0IGFscmVhZHkgaXMgYXdha2UuCisJICogQnV0IHRoYXQgaXMgZXh0cmVtZWx5IHVubGlrZWx5LCBhbmQgdGhlIHdvcnN0IHRoaW5nIHRoYXQKKwkgKiBoYXBwZW5zIGluIHN1Y2ggYSBjYXNlLCBpcyB0aGF0IHdlIGRpc2FibGUgdHJhY2luZy4KKwkgKiBIb25lc3RseSwgaWYgdGhpcyByYWNlIGRvZXMgaGFwcGVuIHNvbWV0aGluZyBpcyBob3JyaWJsZQorCSAqIHdyb25nIHdpdGggdGhlIHN5c3RlbS4KKwkgKi8KKworCXdha2VfdXBfcHJvY2VzcyhwKTsKKworCS8qIHN0b3AgdGhlIHRyYWNpbmcuICovCisJdHItPmN0cmwgPSAwOworCXRyYWNlLT5jdHJsX3VwZGF0ZSh0cik7CisJLyogY2hlY2sgYm90aCB0cmFjZSBidWZmZXJzICovCisJcmV0ID0gdHJhY2VfdGVzdF9idWZmZXIodHIsIE5VTEwpOworCWlmICghcmV0KQorCQlyZXQgPSB0cmFjZV90ZXN0X2J1ZmZlcigmbWF4X3RyLCAmY291bnQpOworCisKKwl0cmFjZS0+cmVzZXQodHIpOworCisJdHJhY2luZ19tYXhfbGF0ZW5jeSA9IHNhdmVfbWF4OworCisJLyoga2lsbCB0aGUgdGhyZWFkICovCisJa3RocmVhZF9zdG9wKHApOworCisJaWYgKCFyZXQgJiYgIWNvdW50KSB7CisJCXByaW50ayhLRVJOX0NPTlQgIi4uIG5vIGVudHJpZXMgZm91bmQgLi4iKTsKKwkJcmV0ID0gLTE7CisJfQorCisJcmV0dXJuIHJldDsKK30KKyNlbmRpZiAvKiBDT05GSUdfU0NIRURfVFJBQ0VSICovCisKKyNpZmRlZiBDT05GSUdfQ09OVEVYVF9TV0lUQ0hfVFJBQ0VSCitpbnQKK3RyYWNlX3NlbGZ0ZXN0X3N0YXJ0dXBfc2NoZWRfc3dpdGNoKHN0cnVjdCB0cmFjZXIgKnRyYWNlLCBzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCXVuc2lnbmVkIGxvbmcgY291bnQ7CisJaW50IHJldDsKKworCS8qIHN0YXJ0IHRoZSB0cmFjaW5nICovCisJdHItPmN0cmwgPSAxOworCXRyYWNlLT5pbml0KHRyKTsKKwkvKiBTbGVlcCBmb3IgYSAxLzEwIG9mIGEgc2Vjb25kICovCisJbXNsZWVwKDEwMCk7CisJLyogc3RvcCB0aGUgdHJhY2luZy4gKi8KKwl0ci0+Y3RybCA9IDA7CisJdHJhY2UtPmN0cmxfdXBkYXRlKHRyKTsKKwkvKiBjaGVjayB0aGUgdHJhY2UgYnVmZmVyICovCisJcmV0ID0gdHJhY2VfdGVzdF9idWZmZXIodHIsICZjb3VudCk7CisJdHJhY2UtPnJlc2V0KHRyKTsKKworCWlmICghcmV0ICYmICFjb3VudCkgeworCQlwcmludGsoS0VSTl9DT05UICIuLiBubyBlbnRyaWVzIGZvdW5kIC4uIik7CisJCXJldCA9IC0xOworCX0KKworCXJldHVybiByZXQ7Cit9CisjZW5kaWYgLyogQ09ORklHX0NPTlRFWFRfU1dJVENIX1RSQUNFUiAqLworCisjaWZkZWYgQ09ORklHX1NZU1BST0ZfVFJBQ0VSCitpbnQKK3RyYWNlX3NlbGZ0ZXN0X3N0YXJ0dXBfc3lzcHJvZihzdHJ1Y3QgdHJhY2VyICp0cmFjZSwgc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwl1bnNpZ25lZCBsb25nIGNvdW50OworCWludCByZXQ7CisKKwkvKiBzdGFydCB0aGUgdHJhY2luZyAqLworCXRyLT5jdHJsID0gMTsKKwl0cmFjZS0+aW5pdCh0cik7CisJLyogU2xlZXAgZm9yIGEgMS8xMCBvZiBhIHNlY29uZCAqLworCW1zbGVlcCgxMDApOworCS8qIHN0b3AgdGhlIHRyYWNpbmcuICovCisJdHItPmN0cmwgPSAwOworCXRyYWNlLT5jdHJsX3VwZGF0ZSh0cik7CisJLyogY2hlY2sgdGhlIHRyYWNlIGJ1ZmZlciAqLworCXJldCA9IHRyYWNlX3Rlc3RfYnVmZmVyKHRyLCAmY291bnQpOworCXRyYWNlLT5yZXNldCh0cik7CisKKwlyZXR1cm4gcmV0OworfQorI2VuZGlmIC8qIENPTkZJR19TWVNQUk9GX1RSQUNFUiAqLwpkaWZmIC0tZ2l0IGEva2VybmVsL3RyYWNlL3RyYWNlX3NlbGZ0ZXN0X2R5bmFtaWMuYyBiL2tlcm5lbC90cmFjZS90cmFjZV9zZWxmdGVzdF9keW5hbWljLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTRkZDc3YwotLS0gL2Rldi9udWxsCisrKyBiL2tlcm5lbC90cmFjZS90cmFjZV9zZWxmdGVzdF9keW5hbWljLmMKQEAgLTAsMCArMSw3IEBACisjaW5jbHVkZSAidHJhY2UuaCIKKworaW50IERZTl9GVFJBQ0VfVEVTVF9OQU1FKHZvaWQpCit7CisJLyogdXNlZCB0byBjYWxsIG1jb3VudCAqLworCXJldHVybiAwOworfQpkaWZmIC0tZ2l0IGEva2VybmVsL3RyYWNlL3RyYWNlX3N5c3Byb2YuYyBiL2tlcm5lbC90cmFjZS90cmFjZV9zeXNwcm9mLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjMwMWUxZQotLS0gL2Rldi9udWxsCisrKyBiL2tlcm5lbC90cmFjZS90cmFjZV9zeXNwcm9mLmMKQEAgLTAsMCArMSwzNjMgQEAKKy8qCisgKiB0cmFjZSBzdGFjayB0cmFjZXMKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDQtMjAwOCwgU29lcmVuIFNhbmRtYW5uCisgKiBDb3B5cmlnaHQgKEMpIDIwMDcgU3RldmVuIFJvc3RlZHQgPHNyb3N0ZWR0QHJlZGhhdC5jb20+CisgKiBDb3B5cmlnaHQgKEMpIDIwMDggSW5nbyBNb2xuYXIgPG1pbmdvQHJlZGhhdC5jb20+CisgKi8KKyNpbmNsdWRlIDxsaW51eC9rYWxsc3ltcy5oPgorI2luY2x1ZGUgPGxpbnV4L2RlYnVnZnMuaD4KKyNpbmNsdWRlIDxsaW51eC9ocnRpbWVyLmg+CisjaW5jbHVkZSA8bGludXgvdWFjY2Vzcy5oPgorI2luY2x1ZGUgPGxpbnV4L2Z0cmFjZS5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2lycS5oPgorI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CisKKyNpbmNsdWRlIDxhc20vc3RhY2t0cmFjZS5oPgorCisjaW5jbHVkZSAidHJhY2UuaCIKKworc3RhdGljIHN0cnVjdCB0cmFjZV9hcnJheQkqc3lzcHJvZl90cmFjZTsKK3N0YXRpYyBpbnQgX19yZWFkX21vc3RseQl0cmFjZXJfZW5hYmxlZDsKKworLyoKKyAqIDEgbXNlYyBzYW1wbGUgaW50ZXJ2YWwgYnkgZGVmYXVsdDoKKyAqLworc3RhdGljIHVuc2lnbmVkIGxvbmcgc2FtcGxlX3BlcmlvZCA9IDEwMDAwMDA7CitzdGF0aWMgY29uc3QgdW5zaWduZWQgaW50IHNhbXBsZV9tYXhfZGVwdGggPSA1MTI7CisKK3N0YXRpYyBERUZJTkVfTVVURVgoc2FtcGxlX3RpbWVyX2xvY2spOworLyoKKyAqIFBlciBDUFUgaHJ0aW1lcnMgdGhhdCBkbyB0aGUgcHJvZmlsaW5nOgorICovCitzdGF0aWMgREVGSU5FX1BFUl9DUFUoc3RydWN0IGhydGltZXIsIHN0YWNrX3RyYWNlX2hydGltZXIpOworCitzdHJ1Y3Qgc3RhY2tfZnJhbWUgeworCWNvbnN0IHZvaWQgX191c2VyCSpuZXh0X2ZwOworCXVuc2lnbmVkIGxvbmcJCXJldHVybl9hZGRyZXNzOworfTsKKworc3RhdGljIGludCBjb3B5X3N0YWNrX2ZyYW1lKGNvbnN0IHZvaWQgX191c2VyICpmcCwgc3RydWN0IHN0YWNrX2ZyYW1lICpmcmFtZSkKK3sKKwlpbnQgcmV0OworCisJaWYgKCFhY2Nlc3Nfb2soVkVSSUZZX1JFQUQsIGZwLCBzaXplb2YoKmZyYW1lKSkpCisJCXJldHVybiAwOworCisJcmV0ID0gMTsKKwlwYWdlZmF1bHRfZGlzYWJsZSgpOworCWlmIChfX2NvcHlfZnJvbV91c2VyX2luYXRvbWljKGZyYW1lLCBmcCwgc2l6ZW9mKCpmcmFtZSkpKQorCQlyZXQgPSAwOworCXBhZ2VmYXVsdF9lbmFibGUoKTsKKworCXJldHVybiByZXQ7Cit9CisKK3N0cnVjdCBiYWNrdHJhY2VfaW5mbyB7CisJc3RydWN0IHRyYWNlX2FycmF5X2NwdQkqZGF0YTsKKwlzdHJ1Y3QgdHJhY2VfYXJyYXkJKnRyOworCWludAkJCXBvczsKK307CisKK3N0YXRpYyB2b2lkCitiYWNrdHJhY2Vfd2FybmluZ19zeW1ib2wodm9pZCAqZGF0YSwgY2hhciAqbXNnLCB1bnNpZ25lZCBsb25nIHN5bWJvbCkKK3sKKwkvKiBJZ25vcmUgd2FybmluZ3MgKi8KK30KKworc3RhdGljIHZvaWQgYmFja3RyYWNlX3dhcm5pbmcodm9pZCAqZGF0YSwgY2hhciAqbXNnKQoreworCS8qIElnbm9yZSB3YXJuaW5ncyAqLworfQorCitzdGF0aWMgaW50IGJhY2t0cmFjZV9zdGFjayh2b2lkICpkYXRhLCBjaGFyICpuYW1lKQoreworCS8qIERvbid0IGJvdGhlciB3aXRoIElSUSBzdGFja3MgZm9yIG5vdyAqLworCXJldHVybiAtMTsKK30KKworc3RhdGljIHZvaWQgYmFja3RyYWNlX2FkZHJlc3Modm9pZCAqZGF0YSwgdW5zaWduZWQgbG9uZyBhZGRyLCBpbnQgcmVsaWFibGUpCit7CisJc3RydWN0IGJhY2t0cmFjZV9pbmZvICppbmZvID0gZGF0YTsKKworCWlmIChpbmZvLT5wb3MgPCBzYW1wbGVfbWF4X2RlcHRoICYmIHJlbGlhYmxlKSB7CisJCV9fdHJhY2Vfc3BlY2lhbChpbmZvLT50ciwgaW5mby0+ZGF0YSwgMSwgYWRkciwgMCk7CisKKwkJaW5mby0+cG9zKys7CisJfQorfQorCitjb25zdCBzdGF0aWMgc3RydWN0IHN0YWNrdHJhY2Vfb3BzIGJhY2t0cmFjZV9vcHMgPSB7CisJLndhcm5pbmcJCT0gYmFja3RyYWNlX3dhcm5pbmcsCisJLndhcm5pbmdfc3ltYm9sCQk9IGJhY2t0cmFjZV93YXJuaW5nX3N5bWJvbCwKKwkuc3RhY2sJCQk9IGJhY2t0cmFjZV9zdGFjaywKKwkuYWRkcmVzcwkJPSBiYWNrdHJhY2VfYWRkcmVzcywKK307CisKK3N0YXRpYyBpbnQKK3RyYWNlX2tlcm5lbChzdHJ1Y3QgcHRfcmVncyAqcmVncywgc3RydWN0IHRyYWNlX2FycmF5ICp0ciwKKwkgICAgIHN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGEpCit7CisJc3RydWN0IGJhY2t0cmFjZV9pbmZvIGluZm87CisJdW5zaWduZWQgbG9uZyBicDsKKwljaGFyICpzdGFjazsKKworCWluZm8udHIgPSB0cjsKKwlpbmZvLmRhdGEgPSBkYXRhOworCWluZm8ucG9zID0gMTsKKworCV9fdHJhY2Vfc3BlY2lhbChpbmZvLnRyLCBpbmZvLmRhdGEsIDEsIHJlZ3MtPmlwLCAwKTsKKworCXN0YWNrID0gKChjaGFyICopcmVncyArIHNpemVvZihzdHJ1Y3QgcHRfcmVncykpOworI2lmZGVmIENPTkZJR19GUkFNRV9QT0lOVEVSCisJYnAgPSByZWdzLT5icDsKKyNlbHNlCisJYnAgPSAwOworI2VuZGlmCisKKwlkdW1wX3RyYWNlKE5VTEwsIHJlZ3MsICh2b2lkICopc3RhY2ssIGJwLCAmYmFja3RyYWNlX29wcywgJmluZm8pOworCisJcmV0dXJuIGluZm8ucG9zOworfQorCitzdGF0aWMgdm9pZCB0aW1lcl9ub3RpZnkoc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIGludCBjcHUpCit7CisJc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YTsKKwlzdHJ1Y3Qgc3RhY2tfZnJhbWUgZnJhbWU7CisJc3RydWN0IHRyYWNlX2FycmF5ICp0cjsKKwljb25zdCB2b2lkIF9fdXNlciAqZnA7CisJaW50IGlzX3VzZXI7CisJaW50IGk7CisKKwlpZiAoIXJlZ3MpCisJCXJldHVybjsKKworCXRyID0gc3lzcHJvZl90cmFjZTsKKwlkYXRhID0gdHItPmRhdGFbY3B1XTsKKwlpc191c2VyID0gdXNlcl9tb2RlKHJlZ3MpOworCisJaWYgKCFjdXJyZW50IHx8IGN1cnJlbnQtPnBpZCA9PSAwKQorCQlyZXR1cm47CisKKwlpZiAoaXNfdXNlciAmJiBjdXJyZW50LT5zdGF0ZSAhPSBUQVNLX1JVTk5JTkcpCisJCXJldHVybjsKKworCV9fdHJhY2Vfc3BlY2lhbCh0ciwgZGF0YSwgMCwgMCwgY3VycmVudC0+cGlkKTsKKworCWlmICghaXNfdXNlcikKKwkJaSA9IHRyYWNlX2tlcm5lbChyZWdzLCB0ciwgZGF0YSk7CisJZWxzZQorCQlpID0gMDsKKworCS8qCisJICogVHJhY2UgdXNlciBzdGFjayBpZiB3ZSBhcmUgbm90IGEga2VybmVsIHRocmVhZAorCSAqLworCWlmIChjdXJyZW50LT5tbSAmJiBpIDwgc2FtcGxlX21heF9kZXB0aCkgeworCQlyZWdzID0gKHN0cnVjdCBwdF9yZWdzICopY3VycmVudC0+dGhyZWFkLnNwMCAtIDE7CisKKwkJZnAgPSAodm9pZCBfX3VzZXIgKilyZWdzLT5icDsKKworCQlfX3RyYWNlX3NwZWNpYWwodHIsIGRhdGEsIDIsIHJlZ3MtPmlwLCAwKTsKKworCQl3aGlsZSAoaSA8IHNhbXBsZV9tYXhfZGVwdGgpIHsKKwkJCWZyYW1lLm5leHRfZnAgPSAwOworCQkJZnJhbWUucmV0dXJuX2FkZHJlc3MgPSAwOworCQkJaWYgKCFjb3B5X3N0YWNrX2ZyYW1lKGZwLCAmZnJhbWUpKQorCQkJCWJyZWFrOworCQkJaWYgKCh1bnNpZ25lZCBsb25nKWZwIDwgcmVncy0+c3ApCisJCQkJYnJlYWs7CisKKwkJCV9fdHJhY2Vfc3BlY2lhbCh0ciwgZGF0YSwgMiwgZnJhbWUucmV0dXJuX2FkZHJlc3MsCisJCQkJCSh1bnNpZ25lZCBsb25nKWZwKTsKKwkJCWZwID0gZnJhbWUubmV4dF9mcDsKKworCQkJaSsrOworCQl9CisKKwl9CisKKwkvKgorCSAqIFNwZWNpYWwgdHJhY2UgZW50cnkgaWYgd2Ugb3ZlcmZsb3cgdGhlIG1heCBkZXB0aDoKKwkgKi8KKwlpZiAoaSA9PSBzYW1wbGVfbWF4X2RlcHRoKQorCQlfX3RyYWNlX3NwZWNpYWwodHIsIGRhdGEsIC0xLCAtMSwgLTEpOworCisJX190cmFjZV9zcGVjaWFsKHRyLCBkYXRhLCAzLCBjdXJyZW50LT5waWQsIGkpOworfQorCitzdGF0aWMgZW51bSBocnRpbWVyX3Jlc3RhcnQgc3RhY2tfdHJhY2VfdGltZXJfZm4oc3RydWN0IGhydGltZXIgKmhydGltZXIpCit7CisJLyogdHJhY2UgaGVyZSAqLworCXRpbWVyX25vdGlmeShnZXRfaXJxX3JlZ3MoKSwgc21wX3Byb2Nlc3Nvcl9pZCgpKTsKKworCWhydGltZXJfZm9yd2FyZF9ub3coaHJ0aW1lciwgbnNfdG9fa3RpbWUoc2FtcGxlX3BlcmlvZCkpOworCisJcmV0dXJuIEhSVElNRVJfUkVTVEFSVDsKK30KKworc3RhdGljIHZvaWQgc3RhcnRfc3RhY2tfdGltZXIoaW50IGNwdSkKK3sKKwlzdHJ1Y3QgaHJ0aW1lciAqaHJ0aW1lciA9ICZwZXJfY3B1KHN0YWNrX3RyYWNlX2hydGltZXIsIGNwdSk7CisKKwlocnRpbWVyX2luaXQoaHJ0aW1lciwgQ0xPQ0tfTU9OT1RPTklDLCBIUlRJTUVSX01PREVfUkVMKTsKKwlocnRpbWVyLT5mdW5jdGlvbiA9IHN0YWNrX3RyYWNlX3RpbWVyX2ZuOworCWhydGltZXItPmNiX21vZGUgPSBIUlRJTUVSX0NCX0lSUVNBRkVfTk9fU09GVElSUTsKKworCWhydGltZXJfc3RhcnQoaHJ0aW1lciwgbnNfdG9fa3RpbWUoc2FtcGxlX3BlcmlvZCksIEhSVElNRVJfTU9ERV9SRUwpOworfQorCitzdGF0aWMgdm9pZCBzdGFydF9zdGFja190aW1lcnModm9pZCkKK3sKKwljcHVtYXNrX3Qgc2F2ZWRfbWFzayA9IGN1cnJlbnQtPmNwdXNfYWxsb3dlZDsKKwlpbnQgY3B1OworCisJZm9yX2VhY2hfb25saW5lX2NwdShjcHUpIHsKKwkJc2V0X2NwdXNfYWxsb3dlZF9wdHIoY3VycmVudCwgJmNwdW1hc2tfb2ZfY3B1KGNwdSkpOworCQlzdGFydF9zdGFja190aW1lcihjcHUpOworCX0KKwlzZXRfY3B1c19hbGxvd2VkX3B0cihjdXJyZW50LCAmc2F2ZWRfbWFzayk7Cit9CisKK3N0YXRpYyB2b2lkIHN0b3Bfc3RhY2tfdGltZXIoaW50IGNwdSkKK3sKKwlzdHJ1Y3QgaHJ0aW1lciAqaHJ0aW1lciA9ICZwZXJfY3B1KHN0YWNrX3RyYWNlX2hydGltZXIsIGNwdSk7CisKKwlocnRpbWVyX2NhbmNlbChocnRpbWVyKTsKK30KKworc3RhdGljIHZvaWQgc3RvcF9zdGFja190aW1lcnModm9pZCkKK3sKKwlpbnQgY3B1OworCisJZm9yX2VhY2hfb25saW5lX2NwdShjcHUpCisJCXN0b3Bfc3RhY2tfdGltZXIoY3B1KTsKK30KKworc3RhdGljIHZvaWQgc3RhY2tfcmVzZXQoc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwlpbnQgY3B1OworCisJdHItPnRpbWVfc3RhcnQgPSBmdHJhY2Vfbm93KHRyLT5jcHUpOworCisJZm9yX2VhY2hfb25saW5lX2NwdShjcHUpCisJCXRyYWNpbmdfcmVzZXQodHItPmRhdGFbY3B1XSk7Cit9CisKK3N0YXRpYyB2b2lkIHN0YXJ0X3N0YWNrX3RyYWNlKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJbXV0ZXhfbG9jaygmc2FtcGxlX3RpbWVyX2xvY2spOworCXN0YWNrX3Jlc2V0KHRyKTsKKwlzdGFydF9zdGFja190aW1lcnMoKTsKKwl0cmFjZXJfZW5hYmxlZCA9IDE7CisJbXV0ZXhfdW5sb2NrKCZzYW1wbGVfdGltZXJfbG9jayk7Cit9CisKK3N0YXRpYyB2b2lkIHN0b3Bfc3RhY2tfdHJhY2Uoc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwltdXRleF9sb2NrKCZzYW1wbGVfdGltZXJfbG9jayk7CisJc3RvcF9zdGFja190aW1lcnMoKTsKKwl0cmFjZXJfZW5hYmxlZCA9IDA7CisJbXV0ZXhfdW5sb2NrKCZzYW1wbGVfdGltZXJfbG9jayk7Cit9CisKK3N0YXRpYyB2b2lkIHN0YWNrX3RyYWNlX2luaXQoc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwlzeXNwcm9mX3RyYWNlID0gdHI7CisKKwlpZiAodHItPmN0cmwpCisJCXN0YXJ0X3N0YWNrX3RyYWNlKHRyKTsKK30KKworc3RhdGljIHZvaWQgc3RhY2tfdHJhY2VfcmVzZXQoc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwlpZiAodHItPmN0cmwpCisJCXN0b3Bfc3RhY2tfdHJhY2UodHIpOworfQorCitzdGF0aWMgdm9pZCBzdGFja190cmFjZV9jdHJsX3VwZGF0ZShzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCS8qIFdoZW4gc3RhcnRpbmcgYSBuZXcgdHJhY2UsIHJlc2V0IHRoZSBidWZmZXJzICovCisJaWYgKHRyLT5jdHJsKQorCQlzdGFydF9zdGFja190cmFjZSh0cik7CisJZWxzZQorCQlzdG9wX3N0YWNrX3RyYWNlKHRyKTsKK30KKworc3RhdGljIHN0cnVjdCB0cmFjZXIgc3RhY2tfdHJhY2UgX19yZWFkX21vc3RseSA9Cit7CisJLm5hbWUJCT0gInN5c3Byb2YiLAorCS5pbml0CQk9IHN0YWNrX3RyYWNlX2luaXQsCisJLnJlc2V0CQk9IHN0YWNrX3RyYWNlX3Jlc2V0LAorCS5jdHJsX3VwZGF0ZQk9IHN0YWNrX3RyYWNlX2N0cmxfdXBkYXRlLAorI2lmZGVmIENPTkZJR19GVFJBQ0VfU0VMRlRFU1QKKwkuc2VsZnRlc3QgICAgPSB0cmFjZV9zZWxmdGVzdF9zdGFydHVwX3N5c3Byb2YsCisjZW5kaWYKK307CisKK19faW5pdCBzdGF0aWMgaW50IGluaXRfc3RhY2tfdHJhY2Uodm9pZCkKK3sKKwlyZXR1cm4gcmVnaXN0ZXJfdHJhY2VyKCZzdGFja190cmFjZSk7Cit9CitkZXZpY2VfaW5pdGNhbGwoaW5pdF9zdGFja190cmFjZSk7CisKKyNkZWZpbmUgTUFYX0xPTkdfRElHSVRTIDIyCisKK3N0YXRpYyBzc2l6ZV90CitzeXNwcm9mX3NhbXBsZV9yZWFkKHN0cnVjdCBmaWxlICpmaWxwLCBjaGFyIF9fdXNlciAqdWJ1ZiwKKwkJICAgIHNpemVfdCBjbnQsIGxvZmZfdCAqcHBvcykKK3sKKwljaGFyIGJ1ZltNQVhfTE9OR19ESUdJVFNdOworCWludCByOworCisJciA9IHNwcmludGYoYnVmLCAiJWxkXG4iLCBuc2Vjc190b191c2VjcyhzYW1wbGVfcGVyaW9kKSk7CisKKwlyZXR1cm4gc2ltcGxlX3JlYWRfZnJvbV9idWZmZXIodWJ1ZiwgY250LCBwcG9zLCBidWYsIHIpOworfQorCitzdGF0aWMgc3NpemVfdAorc3lzcHJvZl9zYW1wbGVfd3JpdGUoc3RydWN0IGZpbGUgKmZpbHAsIGNvbnN0IGNoYXIgX191c2VyICp1YnVmLAorCQkgICAgIHNpemVfdCBjbnQsIGxvZmZfdCAqcHBvcykKK3sKKwljaGFyIGJ1ZltNQVhfTE9OR19ESUdJVFNdOworCXVuc2lnbmVkIGxvbmcgdmFsOworCisJaWYgKGNudCA+IE1BWF9MT05HX0RJR0lUUy0xKQorCQljbnQgPSBNQVhfTE9OR19ESUdJVFMtMTsKKworCWlmIChjb3B5X2Zyb21fdXNlcigmYnVmLCB1YnVmLCBjbnQpKQorCQlyZXR1cm4gLUVGQVVMVDsKKworCWJ1ZltjbnRdID0gMDsKKworCXZhbCA9IHNpbXBsZV9zdHJ0b3VsKGJ1ZiwgTlVMTCwgMTApOworCS8qCisJICogRW5mb3JjZSBhIG1pbmltdW0gc2FtcGxlIHBlcmlvZCBvZiAxMDAgdXNlY3M6CisJICovCisJaWYgKHZhbCA8IDEwMCkKKwkJdmFsID0gMTAwOworCisJbXV0ZXhfbG9jaygmc2FtcGxlX3RpbWVyX2xvY2spOworCXN0b3Bfc3RhY2tfdGltZXJzKCk7CisJc2FtcGxlX3BlcmlvZCA9IHZhbCAqIDEwMDA7CisJc3RhcnRfc3RhY2tfdGltZXJzKCk7CisJbXV0ZXhfdW5sb2NrKCZzYW1wbGVfdGltZXJfbG9jayk7CisKKwlyZXR1cm4gY250OworfQorCitzdGF0aWMgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBzeXNwcm9mX3NhbXBsZV9mb3BzID0geworCS5yZWFkCQk9IHN5c3Byb2Zfc2FtcGxlX3JlYWQsCisJLndyaXRlCQk9IHN5c3Byb2Zfc2FtcGxlX3dyaXRlLAorfTsKKwordm9pZCBpbml0X3RyYWNlcl9zeXNwcm9mX2RlYnVnZnMoc3RydWN0IGRlbnRyeSAqZF90cmFjZXIpCit7CisJc3RydWN0IGRlbnRyeSAqZW50cnk7CisKKwllbnRyeSA9IGRlYnVnZnNfY3JlYXRlX2ZpbGUoInN5c3Byb2Zfc2FtcGxlX3BlcmlvZCIsIDA2NDQsCisJCQlkX3RyYWNlciwgTlVMTCwgJnN5c3Byb2Zfc2FtcGxlX2ZvcHMpOworCWlmIChlbnRyeSkKKwkJcmV0dXJuOworCXByX3dhcm5pbmcoIkNvdWxkIG5vdCBjcmVhdGUgZGVidWdmcyAnZHluX2Z0cmFjZV90b3RhbF9pbmZvJyBlbnRyeVxuIik7Cit9CmRpZmYgLS1naXQgYS9saWIvS2NvbmZpZy5kZWJ1ZyBiL2xpYi9LY29uZmlnLmRlYnVnCmluZGV4IGQyMDk5ZjQuLmRmMjcxMzIgMTAwNjQ0Ci0tLSBhL2xpYi9LY29uZmlnLmRlYnVnCisrKyBiL2xpYi9LY29uZmlnLmRlYnVnCkBAIC00MTksNyArNDE5LDYgQEAKIAogY29uZmlnIFNUQUNLVFJBQ0UKIAlib29sCi0JZGVwZW5kcyBvbiBERUJVR19LRVJORUwKIAlkZXBlbmRzIG9uIFNUQUNLVFJBQ0VfU1VQUE9SVAogCiBjb25maWcgREVCVUdfS09CSkVDVApAQCAtNTMxLDE2ICs1MzAsMzQgQEAKIGNvbmZpZyBSQ1VfVE9SVFVSRV9URVNUCiAJdHJpc3RhdGUgInRvcnR1cmUgdGVzdHMgZm9yIFJDVSIKIAlkZXBlbmRzIG9uIERFQlVHX0tFUk5FTAotCWRlcGVuZHMgb24gbQogCWRlZmF1bHQgbgogCWhlbHAKIAkgIFRoaXMgb3B0aW9uIHByb3ZpZGVzIGEga2VybmVsIG1vZHVsZSB0aGF0IHJ1bnMgdG9ydHVyZSB0ZXN0cwogCSAgb24gdGhlIFJDVSBpbmZyYXN0cnVjdHVyZS4gIFRoZSBrZXJuZWwgbW9kdWxlIG1heSBiZSBidWlsdAogCSAgYWZ0ZXIgdGhlIGZhY3Qgb24gdGhlIHJ1bm5pbmcga2VybmVsIHRvIGJlIHRlc3RlZCwgaWYgZGVzaXJlZC4KIAorCSAgU2F5IFkgaGVyZSBpZiB5b3Ugd2FudCBSQ1UgdG9ydHVyZSB0ZXN0cyB0byBiZSBidWlsdCBpbnRvCisJICB0aGUga2VybmVsLgogCSAgU2F5IE0gaWYgeW91IHdhbnQgdGhlIFJDVSB0b3J0dXJlIHRlc3RzIHRvIGJ1aWxkIGFzIGEgbW9kdWxlLgogCSAgU2F5IE4gaWYgeW91IGFyZSB1bnN1cmUuCiAKK2NvbmZpZyBSQ1VfVE9SVFVSRV9URVNUX1JVTk5BQkxFCisJYm9vbCAidG9ydHVyZSB0ZXN0cyBmb3IgUkNVIHJ1bm5hYmxlIGJ5IGRlZmF1bHQiCisJZGVwZW5kcyBvbiBSQ1VfVE9SVFVSRV9URVNUID0geQorCWRlZmF1bHQgbgorCWhlbHAKKwkgIFRoaXMgb3B0aW9uIHByb3ZpZGVzIGEgd2F5IHRvIGJ1aWxkIHRoZSBSQ1UgdG9ydHVyZSB0ZXN0cworCSAgZGlyZWN0bHkgaW50byB0aGUga2VybmVsIHdpdGhvdXQgdGhlbSBzdGFydGluZyB1cCBhdCBib290CisJICB0aW1lLiAgWW91IGNhbiB1c2UgL3Byb2Mvc3lzL2tlcm5lbC9yY3V0b3J0dXJlX3J1bm5hYmxlCisJICB0byBtYW51YWxseSBvdmVycmlkZSB0aGlzIHNldHRpbmcuICBUaGlzIC9wcm9jIGZpbGUgaXMKKwkgIGF2YWlsYWJsZSBvbmx5IHdoZW4gdGhlIFJDVSB0b3J0dXJlIHRlc3RzIGhhdmUgYmVlbiBidWlsdAorCSAgaW50byB0aGUga2VybmVsLgorCisJICBTYXkgWSBoZXJlIGlmIHlvdSB3YW50IHRoZSBSQ1UgdG9ydHVyZSB0ZXN0cyB0byBzdGFydCBkdXJpbmcKKwkgIGJvb3QgKHlvdSBwcm9iYWJseSBkb24ndCkuCisJICBTYXkgTiBoZXJlIGlmIHlvdSB3YW50IHRoZSBSQ1UgdG9ydHVyZSB0ZXN0cyB0byBzdGFydCBvbmx5CisJICBhZnRlciBiZWluZyBtYW51YWxseSBlbmFibGVkIHZpYSAvcHJvYy4KKwogY29uZmlnIEtQUk9CRVNfU0FOSVRZX1RFU1QKIAlib29sICJLcHJvYmVzIHNhbml0eSB0ZXN0cyIKIAlkZXBlbmRzIG9uIERFQlVHX0tFUk5FTApAQCAtNTYzLDYgKzU4MCw5IEBACiAJICBmb3IgZGlzdHJpYnV0aW9ucyBvciBnZW5lcmFsIGtlcm5lbHMsIGJ1dCBvbmx5IGZvciBrZXJuZWwKIAkgIGRldmVsb3BlcnMgd29ya2luZyBvbiBhcmNoaXRlY3R1cmUgY29kZS4KIAorCSAgTm90ZSB0aGF0IGlmIHlvdSB3YW50IHRvIGFsc28gdGVzdCBzYXZlZCBiYWNrdHJhY2VzLCB5b3Ugd2lsbAorCSAgaGF2ZSB0byBlbmFibGUgU1RBQ0tUUkFDRSBhcyB3ZWxsLgorCiAJICBTYXkgTiBpZiB5b3UgYXJlIHVuc3VyZS4KIAogY29uZmlnIExLRFRNCkBAIC02MzQsNiArNjU0LDggQEAKIAkgIEVuYWJsZSB0aGlzIG9wdGlvbiBpZiB5b3Ugd2FudCB0byB1c2UgdGhlIExhdGVuY3lUT1AgdG9vbAogCSAgdG8gZmluZCBvdXQgd2hpY2ggdXNlcnNwYWNlIGlzIGJsb2NraW5nIG9uIHdoYXQga2VybmVsIG9wZXJhdGlvbnMuCiAKK3NvdXJjZSBrZXJuZWwvdHJhY2UvS2NvbmZpZworCiBjb25maWcgUFJPVklERV9PSENJMTM5NF9ETUFfSU5JVAogCWJvb2wgIlJlbW90ZSBkZWJ1Z2dpbmcgb3ZlciBGaXJlV2lyZSBlYXJseSBvbiBib290IgogCWRlcGVuZHMgb24gUENJICYmIFg4NgpkaWZmIC0tZ2l0IGEvbGliL01ha2VmaWxlIGIvbGliL01ha2VmaWxlCmluZGV4IDc0YjBjZmIuLjRiODM2YTUgMTAwNjQ0Ci0tLSBhL2xpYi9NYWtlZmlsZQorKysgYi9saWIvTWFrZWZpbGUKQEAgLTgsNiArOCwxNSBAQAogCSBzaGExLm8gaXJxX3JlZ3MubyByZWNpcHJvY2FsX2Rpdi5vIGFyZ3Zfc3BsaXQubyBcCiAJIHByb3BvcnRpb25zLm8gcHJpb19oZWFwLm8gcmF0ZWxpbWl0Lm8KIAoraWZkZWYgQ09ORklHX0ZUUkFDRQorIyBEbyBub3QgcHJvZmlsZSBzdHJpbmcubywgc2luY2UgaXQgbWF5IGJlIHVzZWQgaW4gZWFybHkgYm9vdCBvciB2ZHNvCitDRkxBR1NfUkVNT1ZFX3N0cmluZy5vID0gLXBnCisjIEFsc28gZG8gbm90IHByb2ZpbGUgYW55IGRlYnVnIHV0aWxpdGllcworQ0ZMQUdTX1JFTU9WRV9zcGlubG9ja19kZWJ1Zy5vID0gLXBnCitDRkxBR1NfUkVNT1ZFX2xpc3RfZGVidWcubyA9IC1wZworQ0ZMQUdTX1JFTU9WRV9kZWJ1Z29iamVjdHMubyA9IC1wZworZW5kaWYKKwogbGliLSQoQ09ORklHX01NVSkgKz0gaW9yZW1hcC5vCiBsaWItJChDT05GSUdfU01QKSArPSBjcHVtYXNrLm8KIApkaWZmIC0tZ2l0IGEvbGliL3BlcmNwdV9jb3VudGVyLmMgYi9saWIvcGVyY3B1X2NvdW50ZXIuYwppbmRleCAxMTkxNzQ0Li40YThiYTRiIDEwMDY0NAotLS0gYS9saWIvcGVyY3B1X2NvdW50ZXIuYworKysgYi9saWIvcGVyY3B1X2NvdW50ZXIuYwpAQCAtNTIsNyArNTIsNyBAQAogICogQWRkIHVwIGFsbCB0aGUgcGVyLWNwdSBjb3VudHMsIHJldHVybiB0aGUgcmVzdWx0LiAgVGhpcyBpcyBhIG1vcmUgYWNjdXJhdGUKICAqIGJ1dCBtdWNoIHNsb3dlciB2ZXJzaW9uIG9mIHBlcmNwdV9jb3VudGVyX3JlYWRfcG9zaXRpdmUoKQogICovCi1zNjQgX19wZXJjcHVfY291bnRlcl9zdW0oc3RydWN0IHBlcmNwdV9jb3VudGVyICpmYmMpCitzNjQgX19wZXJjcHVfY291bnRlcl9zdW0oc3RydWN0IHBlcmNwdV9jb3VudGVyICpmYmMsIGludCBzZXQpCiB7CiAJczY0IHJldDsKIAlpbnQgY3B1OwpAQCAtNjIsNyArNjIsMTIgQEAKIAlmb3JfZWFjaF9vbmxpbmVfY3B1KGNwdSkgewogCQlzMzIgKnBjb3VudCA9IHBlcl9jcHVfcHRyKGZiYy0+Y291bnRlcnMsIGNwdSk7CiAJCXJldCArPSAqcGNvdW50OworCQlpZiAoc2V0KQorCQkJKnBjb3VudCA9IDA7CiAJfQorCWlmIChzZXQpCisJCWZiYy0+Y291bnQgPSByZXQ7CisKIAlzcGluX3VubG9jaygmZmJjLT5sb2NrKTsKIAlyZXR1cm4gcmV0OwogfQpkaWZmIC0tZ2l0IGEvbGliL3NtcF9wcm9jZXNzb3JfaWQuYyBiL2xpYi9zbXBfcHJvY2Vzc29yX2lkLmMKaW5kZXggNmM5MGZiOS4uM2I0ZGMwOSAxMDA2NDQKLS0tIGEvbGliL3NtcF9wcm9jZXNzb3JfaWQuYworKysgYi9saWIvc21wX3Byb2Nlc3Nvcl9pZC5jCkBAIC03LDcgKzcsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2thbGxzeW1zLmg+CiAjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KIAotdW5zaWduZWQgaW50IGRlYnVnX3NtcF9wcm9jZXNzb3JfaWQodm9pZCkKK25vdHJhY2UgdW5zaWduZWQgaW50IGRlYnVnX3NtcF9wcm9jZXNzb3JfaWQodm9pZCkKIHsKIAl1bnNpZ25lZCBsb25nIHByZWVtcHRfY291bnQgPSBwcmVlbXB0X2NvdW50KCk7CiAJaW50IHRoaXNfY3B1ID0gcmF3X3NtcF9wcm9jZXNzb3JfaWQoKTsKQEAgLTM3LDcgKzM3LDcgQEAKIAkvKgogCSAqIEF2b2lkIHJlY3Vyc2lvbjoKIAkgKi8KLQlwcmVlbXB0X2Rpc2FibGUoKTsKKwlwcmVlbXB0X2Rpc2FibGVfbm90cmFjZSgpOwogCiAJaWYgKCFwcmludGtfcmF0ZWxpbWl0KCkpCiAJCWdvdG8gb3V0X2VuYWJsZTsKQEAgLTQ5LDcgKzQ5LDcgQEAKIAlkdW1wX3N0YWNrKCk7CiAKIG91dF9lbmFibGU6Ci0JcHJlZW1wdF9lbmFibGVfbm9fcmVzY2hlZCgpOworCXByZWVtcHRfZW5hYmxlX25vX3Jlc2NoZWRfbm90cmFjZSgpOwogb3V0OgogCXJldHVybiB0aGlzX2NwdTsKIH0KZGlmZiAtLWdpdCBhL2xpYi90ZXh0c2VhcmNoLmMgYi9saWIvdGV4dHNlYXJjaC5jCmluZGV4IGJlOGJkYTMuLmEzZTUwMGEgMTAwNjQ0Ci0tLSBhL2xpYi90ZXh0c2VhcmNoLmMKKysrIGIvbGliL3RleHRzZWFyY2guYwpAQCAtOTcsNiArOTcsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiAjaW5jbHVkZSA8bGludXgvc3RyaW5nLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3JjdWxpc3QuaD4KICNpbmNsdWRlIDxsaW51eC9yY3VwZGF0ZS5oPgogI2luY2x1ZGUgPGxpbnV4L2Vyci5oPgogI2luY2x1ZGUgPGxpbnV4L3RleHRzZWFyY2guaD4KZGlmZiAtLWdpdCBhL21tL0tjb25maWcgYi9tbS9LY29uZmlnCmluZGV4IDNhYTgxOWQ2Li5jNGRlODUyIDEwMDY0NAotLS0gYS9tbS9LY29uZmlnCisrKyBiL21tL0tjb25maWcKQEAgLTEyOSw3ICsxMjksNyBAQAogCWJvb2wgIkFsbG93IGZvciBtZW1vcnkgaG90LWFkZCIKIAlkZXBlbmRzIG9uIFNQQVJTRU1FTSB8fCBYODZfNjRfQUNQSV9OVU1BCiAJZGVwZW5kcyBvbiBIT1RQTFVHICYmICFISUJFUk5BVElPTiAmJiBBUkNIX0VOQUJMRV9NRU1PUllfSE9UUExVRwotCWRlcGVuZHMgb24gKElBNjQgfHwgWDg2IHx8IFBQQzY0IHx8IFNVUEVSSCkKKwlkZXBlbmRzIG9uIChJQTY0IHx8IFg4NiB8fCBQUEM2NCB8fCBTVVBFUkggfHwgUzM5MCkKIAogY29tbWVudCAiTWVtb3J5IGhvdHBsdWcgaXMgY3VycmVudGx5IGluY29tcGF0aWJsZSB3aXRoIFNvZnR3YXJlIFN1c3BlbmQiCiAJZGVwZW5kcyBvbiBTUEFSU0VNRU0gJiYgSE9UUExVRyAmJiBISUJFUk5BVElPTgpAQCAtMTk5LDcgKzE5OSw3IEBACiBjb25maWcgTlJfUVVJQ0sKIAlpbnQKIAlkZXBlbmRzIG9uIFFVSUNLTElTVAotCWRlZmF1bHQgIjIiIGlmIFNVUEVSSAorCWRlZmF1bHQgIjIiIGlmIFNVUEVSSCB8fCBBVlIzMgogCWRlZmF1bHQgIjEiCiAKIGNvbmZpZyBWSVJUX1RPX0JVUwpkaWZmIC0tZ2l0IGEvbW0vZmlsZW1hcC5jIGIvbW0vZmlsZW1hcC5jCmluZGV4IDFlNmE3ZDMuLjY1ZDlkOWUgMTAwNjQ0Ci0tLSBhL21tL2ZpbGVtYXAuYworKysgYi9tbS9maWxlbWFwLmMKQEAgLTIzNiwxMSArMjM2LDEyIEBACiB9CiBFWFBPUlRfU1lNQk9MKGZpbGVtYXBfZmRhdGF3cml0ZSk7CiAKLXN0YXRpYyBpbnQgZmlsZW1hcF9mZGF0YXdyaXRlX3JhbmdlKHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLCBsb2ZmX3Qgc3RhcnQsCitpbnQgZmlsZW1hcF9mZGF0YXdyaXRlX3JhbmdlKHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLCBsb2ZmX3Qgc3RhcnQsCiAJCQkJbG9mZl90IGVuZCkKIHsKIAlyZXR1cm4gX19maWxlbWFwX2ZkYXRhd3JpdGVfcmFuZ2UobWFwcGluZywgc3RhcnQsIGVuZCwgV0JfU1lOQ19BTEwpOwogfQorRVhQT1JUX1NZTUJPTChmaWxlbWFwX2ZkYXRhd3JpdGVfcmFuZ2UpOwogCiAvKioKICAqIGZpbGVtYXBfZmx1c2ggLSBtb3N0bHkgYSBub24tYmxvY2tpbmcgZmx1c2gKZGlmZiAtLWdpdCBhL21tL21wcm90ZWN0LmMgYi9tbS9tcHJvdGVjdC5jCmluZGV4IGE1YmYzMWMuLmFjZmU3YzggMTAwNjQ0Ci0tLSBhL21tL21wcm90ZWN0LmMKKysrIGIvbW0vbXByb3RlY3QuYwpAQCAtNDcsMTkgKzQ3LDE3IEBACiAJCWlmIChwdGVfcHJlc2VudChvbGRwdGUpKSB7CiAJCQlwdGVfdCBwdGVudDsKIAotCQkJLyogQXZvaWQgYW4gU01QIHJhY2Ugd2l0aCBoYXJkd2FyZSB1cGRhdGVkIGRpcnR5L2NsZWFuCi0JCQkgKiBiaXRzIGJ5IHdpcGluZyB0aGUgcHRlIGFuZCB0aGVuIHNldHRpbmcgdGhlIG5ldyBwdGUKLQkJCSAqIGludG8gcGxhY2UuCi0JCQkgKi8KLQkJCXB0ZW50ID0gcHRlcF9nZXRfYW5kX2NsZWFyKG1tLCBhZGRyLCBwdGUpOworCQkJcHRlbnQgPSBwdGVwX21vZGlmeV9wcm90X3N0YXJ0KG1tLCBhZGRyLCBwdGUpOwogCQkJcHRlbnQgPSBwdGVfbW9kaWZ5KHB0ZW50LCBuZXdwcm90KTsKKwogCQkJLyoKIAkJCSAqIEF2b2lkIHRha2luZyB3cml0ZSBmYXVsdHMgZm9yIHBhZ2VzIHdlIGtub3cgdG8gYmUKIAkJCSAqIGRpcnR5LgogCQkJICovCiAJCQlpZiAoZGlydHlfYWNjb3VudGFibGUgJiYgcHRlX2RpcnR5KHB0ZW50KSkKIAkJCQlwdGVudCA9IHB0ZV9ta3dyaXRlKHB0ZW50KTsKLQkJCXNldF9wdGVfYXQobW0sIGFkZHIsIHB0ZSwgcHRlbnQpOworCisJCQlwdGVwX21vZGlmeV9wcm90X2NvbW1pdChtbSwgYWRkciwgcHRlLCBwdGVudCk7CiAjaWZkZWYgQ09ORklHX01JR1JBVElPTgogCQl9IGVsc2UgaWYgKCFwdGVfZmlsZShvbGRwdGUpKSB7CiAJCQlzd3BfZW50cnlfdCBlbnRyeSA9IHB0ZV90b19zd3BfZW50cnkob2xkcHRlKTsKZGlmZiAtLWdpdCBhL21tL3BhZ2Utd3JpdGViYWNrLmMgYi9tbS9wYWdlLXdyaXRlYmFjay5jCmluZGV4IDc4OWI2YWQuLjk0YzZkODkgMTAwNjQ0Ci0tLSBhL21tL3BhZ2Utd3JpdGViYWNrLmMKKysrIGIvbW0vcGFnZS13cml0ZWJhY2suYwpAQCAtMTI2LDggKzEyNiw2IEBACiBzdGF0aWMgc3RydWN0IHByb3BfZGVzY3JpcHRvciB2bV9jb21wbGV0aW9uczsKIHN0YXRpYyBzdHJ1Y3QgcHJvcF9kZXNjcmlwdG9yIHZtX2RpcnRpZXM7CiAKLXN0YXRpYyB1bnNpZ25lZCBsb25nIGRldGVybWluZV9kaXJ0eWFibGVfbWVtb3J5KHZvaWQpOwotCiAvKgogICogY291cGxlIHRoZSBwZXJpb2QgdG8gdGhlIGRpcnR5X3JhdGlvOgogICoKQEAgLTM0Nyw3ICszNDUsMTMgQEAKICNlbmRpZgogfQogCi1zdGF0aWMgdW5zaWduZWQgbG9uZyBkZXRlcm1pbmVfZGlydHlhYmxlX21lbW9yeSh2b2lkKQorLyoqCisgKiBkZXRlcm1pbmVfZGlydHlhYmxlX21lbW9yeSAtIGFtb3VudCBvZiBtZW1vcnkgdGhhdCBtYXkgYmUgdXNlZAorICoKKyAqIFJldHVybnMgdGhlIG51bWViciBvZiBwYWdlcyB0aGF0IGNhbiBjdXJyZW50bHkgYmUgZnJlZWQgYW5kIHVzZWQKKyAqIGJ5IHRoZSBrZXJuZWwgZm9yIGRpcmVjdCBtYXBwaW5ncy4KKyAqLwordW5zaWduZWQgbG9uZyBkZXRlcm1pbmVfZGlydHlhYmxlX21lbW9yeSh2b2lkKQogewogCXVuc2lnbmVkIGxvbmcgeDsKIApAQCAtOTU2LDYgKzk2MCw5IEBACiAJfQogCWlmICh3YmMtPnJhbmdlX2N5Y2xpYyB8fCAocmFuZ2Vfd2hvbGUgJiYgd2JjLT5ucl90b193cml0ZSA+IDApKQogCQltYXBwaW5nLT53cml0ZWJhY2tfaW5kZXggPSBpbmRleDsKKworCWlmICh3YmMtPnJhbmdlX2NvbnQpCisJCXdiYy0+cmFuZ2Vfc3RhcnQgPSBpbmRleCA8PCBQQUdFX0NBQ0hFX1NISUZUOwogCXJldHVybiByZXQ7CiB9CiBFWFBPUlRfU1lNQk9MKHdyaXRlX2NhY2hlX3BhZ2VzKTsKZGlmZiAtLWdpdCBhL21tL3BhZ2VfYWxsb2MuYyBiL21tL3BhZ2VfYWxsb2MuYwppbmRleCBmMzJmYWUzLi43OWFjNGFmIDEwMDY0NAotLS0gYS9tbS9wYWdlX2FsbG9jLmMKKysrIGIvbW0vcGFnZV9hbGxvYy5jCkBAIC05MTgsNyArOTE4LDcgQEAKICAqLwogdm9pZCBkcmFpbl9hbGxfcGFnZXModm9pZCkKIHsKLQlvbl9lYWNoX2NwdShkcmFpbl9sb2NhbF9wYWdlcywgTlVMTCwgMCwgMSk7CisJb25fZWFjaF9jcHUoZHJhaW5fbG9jYWxfcGFnZXMsIE5VTEwsIDEpOwogfQogCiAjaWZkZWYgQ09ORklHX0hJQkVSTkFUSU9OCkBAIC0yOTI5LDYgKzI5MjksMTggQEAKIAl9CiB9CiAKK3ZvaWQgX19pbml0IHdvcmtfd2l0aF9hY3RpdmVfcmVnaW9ucyhpbnQgbmlkLCB3b3JrX2ZuX3Qgd29ya19mbiwgdm9pZCAqZGF0YSkKK3sKKwlpbnQgaTsKKwlpbnQgcmV0OworCisJZm9yX2VhY2hfYWN0aXZlX3JhbmdlX2luZGV4X2luX25pZChpLCBuaWQpIHsKKwkJcmV0ID0gd29ya19mbihlYXJseV9ub2RlX21hcFtpXS5zdGFydF9wZm4sCisJCQkgICAgICBlYXJseV9ub2RlX21hcFtpXS5lbmRfcGZuLCBkYXRhKTsKKwkJaWYgKHJldCkKKwkJCWJyZWFrOworCX0KK30KIC8qKgogICogc3BhcnNlX21lbW9yeV9wcmVzZW50X3dpdGhfYWN0aXZlX3JlZ2lvbnMgLSBDYWxsIG1lbW9yeV9wcmVzZW50IGZvciBlYWNoIGFjdGl2ZSByYW5nZQogICogQG5pZDogVGhlIG5vZGUgdG8gY2FsbCBtZW1vcnlfcHJlc2VudCBmb3IuIElmIE1BWF9OVU1OT0RFUywgYWxsIG5vZGVzIHdpbGwgYmUgdXNlZC4KQEAgLTM0NjEsNiArMzQ3MywxMSBAQAogCWNhbGN1bGF0ZV9ub2RlX3RvdGFscGFnZXMocGdkYXQsIHpvbmVzX3NpemUsIHpob2xlc19zaXplKTsKIAogCWFsbG9jX25vZGVfbWVtX21hcChwZ2RhdCk7CisjaWZkZWYgQ09ORklHX0ZMQVRfTk9ERV9NRU1fTUFQCisJcHJpbnRrKEtFUk5fREVCVUcgImZyZWVfYXJlYV9pbml0X25vZGU6IG5vZGUgJWQsIHBnZGF0ICUwOGx4LCBub2RlX21lbV9tYXAgJTA4bHhcbiIsCisJCW5pZCwgKHVuc2lnbmVkIGxvbmcpcGdkYXQsCisJCSh1bnNpZ25lZCBsb25nKXBnZGF0LT5ub2RlX21lbV9tYXApOworI2VuZGlmCiAKIAlmcmVlX2FyZWFfaW5pdF9jb3JlKHBnZGF0LCB6b25lc19zaXplLCB6aG9sZXNfc2l6ZSk7CiB9CkBAIC0zNTAzLDcgKzM1MjAsNyBAQAogewogCWludCBpOwogCi0JcHJpbnRrKEtFUk5fREVCVUcgIkVudGVyaW5nIGFkZF9hY3RpdmVfcmFuZ2UoJWQsICVsdSwgJWx1KSAiCisJcHJpbnRrKEtFUk5fREVCVUcgIkVudGVyaW5nIGFkZF9hY3RpdmVfcmFuZ2UoJWQsICUjbHgsICUjbHgpICIKIAkJCSAgIiVkIGVudHJpZXMgb2YgJWQgdXNlZFxuIiwKIAkJCSAgbmlkLCBzdGFydF9wZm4sIGVuZF9wZm4sCiAJCQkgIG5yX25vZGVtYXBfZW50cmllcywgTUFYX0FDVElWRV9SRUdJT05TKTsKQEAgLTM1NDcsMjcgKzM1NjQsNjggQEAKIH0KIAogLyoqCi0gKiBzaHJpbmtfYWN0aXZlX3JhbmdlIC0gU2hyaW5rIGFuIGV4aXN0aW5nIHJlZ2lzdGVyZWQgcmFuZ2Ugb2YgUEZOcworICogcmVtb3ZlX2FjdGl2ZV9yYW5nZSAtIFNocmluayBhbiBleGlzdGluZyByZWdpc3RlcmVkIHJhbmdlIG9mIFBGTnMKICAqIEBuaWQ6IFRoZSBub2RlIGlkIHRoZSByYW5nZSBpcyBvbiB0aGF0IHNob3VsZCBiZSBzaHJ1bmsKLSAqIEBvbGRfZW5kX3BmbjogVGhlIG9sZCBlbmQgUEZOIG9mIHRoZSByYW5nZQotICogQG5ld19lbmRfcGZuOiBUaGUgbmV3IFBGTiBvZiB0aGUgcmFuZ2UKKyAqIEBzdGFydF9wZm46IFRoZSBuZXcgUEZOIG9mIHRoZSByYW5nZQorICogQGVuZF9wZm46IFRoZSBuZXcgUEZOIG9mIHRoZSByYW5nZQogICoKICAqIGkzODYgd2l0aCBOVU1BIHVzZSBhbGxvY19yZW1hcCgpIHRvIHN0b3JlIGEgbm9kZV9tZW1fbWFwIG9uIGEgbG9jYWwgbm9kZS4KLSAqIFRoZSBtYXAgaXMga2VwdCBhdCB0aGUgZW5kIHBoeXNpY2FsIHBhZ2UgcmFuZ2UgdGhhdCBoYXMgYWxyZWFkeSBiZWVuCi0gKiByZWdpc3RlcmVkIHdpdGggYWRkX2FjdGl2ZV9yYW5nZSgpLiBUaGlzIGZ1bmN0aW9uIGFsbG93cyBhbiBhcmNoIHRvIHNocmluawotICogYW4gZXhpc3RpbmcgcmVnaXN0ZXJlZCByYW5nZS4KKyAqIFRoZSBtYXAgaXMga2VwdCBuZWFyIHRoZSBlbmQgcGh5c2ljYWwgcGFnZSByYW5nZSB0aGF0IGhhcyBhbHJlYWR5IGJlZW4KKyAqIHJlZ2lzdGVyZWQuIFRoaXMgZnVuY3Rpb24gYWxsb3dzIGFuIGFyY2ggdG8gc2hyaW5rIGFuIGV4aXN0aW5nIHJlZ2lzdGVyZWQKKyAqIHJhbmdlLgogICovCi12b2lkIF9faW5pdCBzaHJpbmtfYWN0aXZlX3JhbmdlKHVuc2lnbmVkIGludCBuaWQsIHVuc2lnbmVkIGxvbmcgb2xkX2VuZF9wZm4sCi0JCQkJCQl1bnNpZ25lZCBsb25nIG5ld19lbmRfcGZuKQordm9pZCBfX2luaXQgcmVtb3ZlX2FjdGl2ZV9yYW5nZSh1bnNpZ25lZCBpbnQgbmlkLCB1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwKKwkJCQl1bnNpZ25lZCBsb25nIGVuZF9wZm4pCiB7Ci0JaW50IGk7CisJaW50IGksIGo7CisJaW50IHJlbW92ZWQgPSAwOworCisJcHJpbnRrKEtFUk5fREVCVUcgInJlbW92ZV9hY3RpdmVfcmFuZ2UgKCVkLCAlbHUsICVsdSlcbiIsCisJCQkgIG5pZCwgc3RhcnRfcGZuLCBlbmRfcGZuKTsKIAogCS8qIEZpbmQgdGhlIG9sZCBhY3RpdmUgcmVnaW9uIGVuZCBhbmQgc2hyaW5rICovCi0JZm9yX2VhY2hfYWN0aXZlX3JhbmdlX2luZGV4X2luX25pZChpLCBuaWQpCi0JCWlmIChlYXJseV9ub2RlX21hcFtpXS5lbmRfcGZuID09IG9sZF9lbmRfcGZuKSB7Ci0JCQllYXJseV9ub2RlX21hcFtpXS5lbmRfcGZuID0gbmV3X2VuZF9wZm47Ci0JCQlicmVhazsKKwlmb3JfZWFjaF9hY3RpdmVfcmFuZ2VfaW5kZXhfaW5fbmlkKGksIG5pZCkgeworCQlpZiAoZWFybHlfbm9kZV9tYXBbaV0uc3RhcnRfcGZuID49IHN0YXJ0X3BmbiAmJgorCQkgICAgZWFybHlfbm9kZV9tYXBbaV0uZW5kX3BmbiA8PSBlbmRfcGZuKSB7CisJCQkvKiBjbGVhciBpdCAqLworCQkJZWFybHlfbm9kZV9tYXBbaV0uc3RhcnRfcGZuID0gMDsKKwkJCWVhcmx5X25vZGVfbWFwW2ldLmVuZF9wZm4gPSAwOworCQkJcmVtb3ZlZCA9IDE7CisJCQljb250aW51ZTsKIAkJfQorCQlpZiAoZWFybHlfbm9kZV9tYXBbaV0uc3RhcnRfcGZuIDwgc3RhcnRfcGZuICYmCisJCSAgICBlYXJseV9ub2RlX21hcFtpXS5lbmRfcGZuID4gc3RhcnRfcGZuKSB7CisJCQl1bnNpZ25lZCBsb25nIHRlbXBfZW5kX3BmbiA9IGVhcmx5X25vZGVfbWFwW2ldLmVuZF9wZm47CisJCQllYXJseV9ub2RlX21hcFtpXS5lbmRfcGZuID0gc3RhcnRfcGZuOworCQkJaWYgKHRlbXBfZW5kX3BmbiA+IGVuZF9wZm4pCisJCQkJYWRkX2FjdGl2ZV9yYW5nZShuaWQsIGVuZF9wZm4sIHRlbXBfZW5kX3Bmbik7CisJCQljb250aW51ZTsKKwkJfQorCQlpZiAoZWFybHlfbm9kZV9tYXBbaV0uc3RhcnRfcGZuID49IHN0YXJ0X3BmbiAmJgorCQkgICAgZWFybHlfbm9kZV9tYXBbaV0uZW5kX3BmbiA+IGVuZF9wZm4gJiYKKwkJICAgIGVhcmx5X25vZGVfbWFwW2ldLnN0YXJ0X3BmbiA8IGVuZF9wZm4pIHsKKwkJCWVhcmx5X25vZGVfbWFwW2ldLnN0YXJ0X3BmbiA9IGVuZF9wZm47CisJCQljb250aW51ZTsKKwkJfQorCX0KKworCWlmICghcmVtb3ZlZCkKKwkJcmV0dXJuOworCisJLyogcmVtb3ZlIHRoZSBibGFuayBvbmVzICovCisJZm9yIChpID0gbnJfbm9kZW1hcF9lbnRyaWVzIC0gMTsgaSA+IDA7IGktLSkgeworCQlpZiAoZWFybHlfbm9kZV9tYXBbaV0ubmlkICE9IG5pZCkKKwkJCWNvbnRpbnVlOworCQlpZiAoZWFybHlfbm9kZV9tYXBbaV0uZW5kX3BmbikKKwkJCWNvbnRpbnVlOworCQkvKiB3ZSBmb3VuZCBpdCwgZ2V0IHJpZCBvZiBpdCAqLworCQlmb3IgKGogPSBpOyBqIDwgbnJfbm9kZW1hcF9lbnRyaWVzIC0gMTsgaisrKQorCQkJbWVtY3B5KCZlYXJseV9ub2RlX21hcFtqXSwgJmVhcmx5X25vZGVfbWFwW2orMV0sCisJCQkJc2l6ZW9mKGVhcmx5X25vZGVfbWFwW2pdKSk7CisJCWogPSBucl9ub2RlbWFwX2VudHJpZXMgLSAxOworCQltZW1zZXQoJmVhcmx5X25vZGVfbWFwW2pdLCAwLCBzaXplb2YoZWFybHlfbm9kZV9tYXBbal0pKTsKKwkJbnJfbm9kZW1hcF9lbnRyaWVzLS07CisJfQogfQogCiAvKioKQEAgLTM2MTEsNyArMzY2OSw3IEBACiB9CiAKIC8qIEZpbmQgdGhlIGxvd2VzdCBwZm4gZm9yIGEgbm9kZSAqLwotdW5zaWduZWQgbG9uZyBfX2luaXQgZmluZF9taW5fcGZuX2Zvcl9ub2RlKHVuc2lnbmVkIGxvbmcgbmlkKQordW5zaWduZWQgbG9uZyBfX2luaXQgZmluZF9taW5fcGZuX2Zvcl9ub2RlKGludCBuaWQpCiB7CiAJaW50IGk7CiAJdW5zaWduZWQgbG9uZyBtaW5fcGZuID0gVUxPTkdfTUFYOwpAQCAtMzYyMiw3ICszNjgwLDcgQEAKIAogCWlmIChtaW5fcGZuID09IFVMT05HX01BWCkgewogCQlwcmludGsoS0VSTl9XQVJOSU5HCi0JCQkiQ291bGQgbm90IGZpbmQgc3RhcnRfcGZuIGZvciBub2RlICVsdVxuIiwgbmlkKTsKKwkJCSJDb3VsZCBub3QgZmluZCBzdGFydF9wZm4gZm9yIG5vZGUgJWRcbiIsIG5pZCk7CiAJCXJldHVybiAwOwogCX0KIApAQCAtMzg3OCw3ICszOTM2LDcgQEAKIAlmb3IgKGkgPSAwOyBpIDwgTUFYX05SX1pPTkVTOyBpKyspIHsKIAkJaWYgKGkgPT0gWk9ORV9NT1ZBQkxFKQogCQkJY29udGludWU7Ci0JCXByaW50aygiICAlLThzICU4bHUgLT4gJThsdVxuIiwKKwkJcHJpbnRrKCIgICUtOHMgJTAjMTBseCAtPiAlMCMxMGx4XG4iLAogCQkJCXpvbmVfbmFtZXNbaV0sCiAJCQkJYXJjaF96b25lX2xvd2VzdF9wb3NzaWJsZV9wZm5baV0sCiAJCQkJYXJjaF96b25lX2hpZ2hlc3RfcG9zc2libGVfcGZuW2ldKTsKQEAgLTM4OTQsNyArMzk1Miw3IEBACiAJLyogUHJpbnQgb3V0IHRoZSBlYXJseV9ub2RlX21hcFtdICovCiAJcHJpbnRrKCJlYXJseV9ub2RlX21hcFslZF0gYWN0aXZlIFBGTiByYW5nZXNcbiIsIG5yX25vZGVtYXBfZW50cmllcyk7CiAJZm9yIChpID0gMDsgaSA8IG5yX25vZGVtYXBfZW50cmllczsgaSsrKQotCQlwcmludGsoIiAgJTNkOiAlOGx1IC0+ICU4bHVcbiIsIGVhcmx5X25vZGVfbWFwW2ldLm5pZCwKKwkJcHJpbnRrKCIgICUzZDogJTAjMTBseCAtPiAlMCMxMGx4XG4iLCBlYXJseV9ub2RlX21hcFtpXS5uaWQsCiAJCQkJCQllYXJseV9ub2RlX21hcFtpXS5zdGFydF9wZm4sCiAJCQkJCQllYXJseV9ub2RlX21hcFtpXS5lbmRfcGZuKTsKIApkaWZmIC0tZ2l0IGEvbW0vc2xhYi5jIGIvbW0vc2xhYi5jCmluZGV4IDA0NjYwN2YuLjA1MmU3ZDY0IDEwMDY0NAotLS0gYS9tbS9zbGFiLmMKKysrIGIvbW0vc2xhYi5jCkBAIC0xOTAxLDE1ICsxOTAxLDcgQEAKICNlbmRpZgogCiAjaWYgREVCVUcKLS8qKgotICogc2xhYl9kZXN0cm95X29ianMgLSBkZXN0cm95IGEgc2xhYiBhbmQgaXRzIG9iamVjdHMKLSAqIEBjYWNoZXA6IGNhY2hlIHBvaW50ZXIgYmVpbmcgZGVzdHJveWVkCi0gKiBAc2xhYnA6IHNsYWIgcG9pbnRlciBiZWluZyBkZXN0cm95ZWQKLSAqCi0gKiBDYWxsIHRoZSByZWdpc3RlcmVkIGRlc3RydWN0b3IgZm9yIGVhY2ggb2JqZWN0IGluIGEgc2xhYiB0aGF0IGlzIGJlaW5nCi0gKiBkZXN0cm95ZWQuCi0gKi8KLXN0YXRpYyB2b2lkIHNsYWJfZGVzdHJveV9vYmpzKHN0cnVjdCBrbWVtX2NhY2hlICpjYWNoZXAsIHN0cnVjdCBzbGFiICpzbGFicCkKK3N0YXRpYyB2b2lkIHNsYWJfZGVzdHJveV9kZWJ1Z2NoZWNrKHN0cnVjdCBrbWVtX2NhY2hlICpjYWNoZXAsIHN0cnVjdCBzbGFiICpzbGFicCkKIHsKIAlpbnQgaTsKIAlmb3IgKGkgPSAwOyBpIDwgY2FjaGVwLT5udW07IGkrKykgewpAQCAtMTkzOCw3ICsxOTMwLDcgQEAKIAl9CiB9CiAjZWxzZQotc3RhdGljIHZvaWQgc2xhYl9kZXN0cm95X29ianMoc3RydWN0IGttZW1fY2FjaGUgKmNhY2hlcCwgc3RydWN0IHNsYWIgKnNsYWJwKQorc3RhdGljIHZvaWQgc2xhYl9kZXN0cm95X2RlYnVnY2hlY2soc3RydWN0IGttZW1fY2FjaGUgKmNhY2hlcCwgc3RydWN0IHNsYWIgKnNsYWJwKQogewogfQogI2VuZGlmCkBAIC0xOTU2LDcgKzE5NDgsNyBAQAogewogCXZvaWQgKmFkZHIgPSBzbGFicC0+c19tZW0gLSBzbGFicC0+Y29sb3Vyb2ZmOwogCi0Jc2xhYl9kZXN0cm95X29ianMoY2FjaGVwLCBzbGFicCk7CisJc2xhYl9kZXN0cm95X2RlYnVnY2hlY2soY2FjaGVwLCBzbGFicCk7CiAJaWYgKHVubGlrZWx5KGNhY2hlcC0+ZmxhZ3MgJiBTTEFCX0RFU1RST1lfQllfUkNVKSkgewogCQlzdHJ1Y3Qgc2xhYl9yY3UgKnNsYWJfcmN1OwogCkBAIC0yNDU0LDcgKzI0NDYsNyBAQAogCXN0cnVjdCBrbWVtX2xpc3QzICpsMzsKIAlpbnQgbm9kZTsKIAotCW9uX2VhY2hfY3B1KGRvX2RyYWluLCBjYWNoZXAsIDEsIDEpOworCW9uX2VhY2hfY3B1KGRvX2RyYWluLCBjYWNoZXAsIDEpOwogCWNoZWNrX2lycV9vbigpOwogCWZvcl9lYWNoX29ubGluZV9ub2RlKG5vZGUpIHsKIAkJbDMgPSBjYWNoZXAtPm5vZGVsaXN0c1tub2RlXTsKQEAgLTM5MzksNyArMzkzMSw3IEBACiAJfQogCW5ldy0+Y2FjaGVwID0gY2FjaGVwOwogCi0Jb25fZWFjaF9jcHUoZG9fY2N1cGRhdGVfbG9jYWwsICh2b2lkICopbmV3LCAxLCAxKTsKKwlvbl9lYWNoX2NwdShkb19jY3VwZGF0ZV9sb2NhbCwgKHZvaWQgKiluZXcsIDEpOwogCiAJY2hlY2tfaXJxX29uKCk7CiAJY2FjaGVwLT5iYXRjaGNvdW50ID0gYmF0Y2hjb3VudDsKZGlmZiAtLWdpdCBhL21tL3NsdWIuYyBiL21tL3NsdWIuYwppbmRleCAxYTQyN2MwLi4zNWFiMzhhIDEwMDY0NAotLS0gYS9tbS9zbHViLmMKKysrIGIvbW0vc2x1Yi5jCkBAIC00MTEsNyArNDExLDcgQEAKIAlpZiAoYWRkcikgewogCQlwLT5hZGRyID0gYWRkcjsKIAkJcC0+Y3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOwotCQlwLT5waWQgPSBjdXJyZW50ID8gY3VycmVudC0+cGlkIDogLTE7CisJCXAtPnBpZCA9IGN1cnJlbnQtPnBpZDsKIAkJcC0+d2hlbiA9IGppZmZpZXM7CiAJfSBlbHNlCiAJCW1lbXNldChwLCAwLCBzaXplb2Yoc3RydWN0IHRyYWNrKSk7CkBAIC00MzEsOSArNDMxLDggQEAKIAlpZiAoIXQtPmFkZHIpCiAJCXJldHVybjsKIAotCXByaW50ayhLRVJOX0VSUiAiSU5GTzogJXMgaW4gIiwgcyk7Ci0JX19wcmludF9zeW1ib2woIiVzIiwgKHVuc2lnbmVkIGxvbmcpdC0+YWRkcik7Ci0JcHJpbnRrKCIgYWdlPSVsdSBjcHU9JXUgcGlkPSVkXG4iLCBqaWZmaWVzIC0gdC0+d2hlbiwgdC0+Y3B1LCB0LT5waWQpOworCXByaW50ayhLRVJOX0VSUiAiSU5GTzogJXMgaW4gJXBTIGFnZT0lbHUgY3B1PSV1IHBpZD0lZFxuIiwKKwkJcywgdC0+YWRkciwgamlmZmllcyAtIHQtPndoZW4sIHQtPmNwdSwgdC0+cGlkKTsKIH0KIAogc3RhdGljIHZvaWQgcHJpbnRfdHJhY2tpbmcoc3RydWN0IGttZW1fY2FjaGUgKnMsIHZvaWQgKm9iamVjdCkKQEAgLTE0OTcsNyArMTQ5Niw3IEBACiBzdGF0aWMgdm9pZCBmbHVzaF9hbGwoc3RydWN0IGttZW1fY2FjaGUgKnMpCiB7CiAjaWZkZWYgQ09ORklHX1NNUAotCW9uX2VhY2hfY3B1KGZsdXNoX2NwdV9zbGFiLCBzLCAxLCAxKTsKKwlvbl9lYWNoX2NwdShmbHVzaF9jcHVfc2xhYiwgcywgMSk7CiAjZWxzZQogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAKQEAgLTE2MjgsOSArMTYyNywxMSBAQAogCXZvaWQgKipvYmplY3Q7CiAJc3RydWN0IGttZW1fY2FjaGVfY3B1ICpjOwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJdW5zaWduZWQgaW50IG9ianNpemU7CiAKIAlsb2NhbF9pcnFfc2F2ZShmbGFncyk7CiAJYyA9IGdldF9jcHVfc2xhYihzLCBzbXBfcHJvY2Vzc29yX2lkKCkpOworCW9ianNpemUgPSBjLT5vYmpzaXplOwogCWlmICh1bmxpa2VseSghYy0+ZnJlZWxpc3QgfHwgIW5vZGVfbWF0Y2goYywgbm9kZSkpKQogCiAJCW9iamVjdCA9IF9fc2xhYl9hbGxvYyhzLCBnZnBmbGFncywgbm9kZSwgYWRkciwgYyk7CkBAIC0xNjQzLDcgKzE2NDQsNyBAQAogCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKIAogCWlmICh1bmxpa2VseSgoZ2ZwZmxhZ3MgJiBfX0dGUF9aRVJPKSAmJiBvYmplY3QpKQotCQltZW1zZXQob2JqZWN0LCAwLCBjLT5vYmpzaXplKTsKKwkJbWVtc2V0KG9iamVjdCwgMCwgb2Jqc2l6ZSk7CiAKIAlyZXR1cm4gb2JqZWN0OwogfQpAQCAtMjc2NSw2ICsyNzY2LDcgQEAKIAogCXBhZ2UgPSB2aXJ0X3RvX2hlYWRfcGFnZSh4KTsKIAlpZiAodW5saWtlbHkoIVBhZ2VTbGFiKHBhZ2UpKSkgeworCQlCVUdfT04oIVBhZ2VDb21wb3VuZChwYWdlKSk7CiAJCXB1dF9wYWdlKHBhZ2UpOwogCQlyZXR1cm47CiAJfQpkaWZmIC0tZ2l0IGEvbmV0LzgwMi9wc25hcC5jIGIvbmV0LzgwMi9wc25hcC5jCmluZGV4IDMxMTI4Y2IuLmVhNDY0MzkgMTAwNjQ0Ci0tLSBhL25ldC84MDIvcHNuYXAuYworKysgYi9uZXQvODAyL3BzbmFwLmMKQEAgLTIwLDYgKzIwLDcgQEAKICNpbmNsdWRlIDxsaW51eC9tbS5oPgogI2luY2x1ZGUgPGxpbnV4L2luLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3JjdWxpc3QuaD4KIAogc3RhdGljIExJU1RfSEVBRChzbmFwX2xpc3QpOwogc3RhdGljIERFRklORV9TUElOTE9DSyhzbmFwX2xvY2spOwpkaWZmIC0tZ2l0IGEvbmV0LzgwMjFxL3ZsYW4uYyBiL25ldC84MDIxcS92bGFuLmMKaW5kZXggYWIyMjI1ZC4uMDhmMTRmNiAxMDA2NDQKLS0tIGEvbmV0LzgwMjFxL3ZsYW4uYworKysgYi9uZXQvODAyMXEvdmxhbi5jCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSA8bGludXgvbW0uaD4KICNpbmNsdWRlIDxsaW51eC9pbi5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9yY3VsaXN0Lmg+CiAjaW5jbHVkZSA8bmV0L3A4MDIyLmg+CiAjaW5jbHVkZSA8bmV0L2FycC5oPgogI2luY2x1ZGUgPGxpbnV4L3J0bmV0bGluay5oPgpkaWZmIC0tZ2l0IGEvbmV0L2JyaWRnZS9icl9mZGIuYyBiL25ldC9icmlkZ2UvYnJfZmRiLmMKaW5kZXggNzJjNTk3Ni4uMTQyMDYwZiAxMDA2NDQKLS0tIGEvbmV0L2JyaWRnZS9icl9mZGIuYworKysgYi9uZXQvYnJpZGdlL2JyX2ZkYi5jCkBAIC0xNSw2ICsxNSw3IEBACiAKICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvcmN1bGlzdC5oPgogI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvdGltZXMuaD4KICNpbmNsdWRlIDxsaW51eC9uZXRkZXZpY2UuaD4KZGlmZiAtLWdpdCBhL25ldC9icmlkZ2UvYnJfc3RwLmMgYi9uZXQvYnJpZGdlL2JyX3N0cC5jCmluZGV4IGUzODAzNGEuLjllOTZmZmMgMTAwNjQ0Ci0tLSBhL25ldC9icmlkZ2UvYnJfc3RwLmMKKysrIGIvbmV0L2JyaWRnZS9icl9zdHAuYwpAQCAtMTMsNiArMTMsNyBAQAogICoJMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICAqLwogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L3JjdWxpc3QuaD4KIAogI2luY2x1ZGUgImJyX3ByaXZhdGUuaCIKICNpbmNsdWRlICJicl9wcml2YXRlX3N0cC5oIgpkaWZmIC0tZ2l0IGEvbmV0L2NvcmUvZGV2LmMgYi9uZXQvY29yZS9kZXYuYwppbmRleCBmY2EyM2EzLi44MjFjYjE2IDEwMDY0NAotLS0gYS9uZXQvY29yZS9kZXYuYworKysgYi9uZXQvY29yZS9kZXYuYwpAQCAtNDU4NSw4ICs0NTg1LDggQEAKIAogCWRldl9ib290X3BoYXNlID0gMDsKIAotCW9wZW5fc29mdGlycShORVRfVFhfU09GVElSUSwgbmV0X3R4X2FjdGlvbiwgTlVMTCk7Ci0Jb3Blbl9zb2Z0aXJxKE5FVF9SWF9TT0ZUSVJRLCBuZXRfcnhfYWN0aW9uLCBOVUxMKTsKKwlvcGVuX3NvZnRpcnEoTkVUX1RYX1NPRlRJUlEsIG5ldF90eF9hY3Rpb24pOworCW9wZW5fc29mdGlycShORVRfUlhfU09GVElSUSwgbmV0X3J4X2FjdGlvbik7CiAKIAlob3RjcHVfbm90aWZpZXIoZGV2X2NwdV9jYWxsYmFjaywgMCk7CiAJZHN0X2luaXQoKTsKZGlmZiAtLWdpdCBhL25ldC9jb3JlL2Zsb3cuYyBiL25ldC9jb3JlL2Zsb3cuYwppbmRleCAxOTk5MTE3Li41Y2Y4MTA1IDEwMDY0NAotLS0gYS9uZXQvY29yZS9mbG93LmMKKysrIGIvbmV0L2NvcmUvZmxvdy5jCkBAIC0yOTgsNyArMjk4LDcgQEAKIAlpbml0X2NvbXBsZXRpb24oJmluZm8uY29tcGxldGlvbik7CiAKIAlsb2NhbF9iaF9kaXNhYmxlKCk7Ci0Jc21wX2NhbGxfZnVuY3Rpb24oZmxvd19jYWNoZV9mbHVzaF9wZXJfY3B1LCAmaW5mbywgMSwgMCk7CisJc21wX2NhbGxfZnVuY3Rpb24oZmxvd19jYWNoZV9mbHVzaF9wZXJfY3B1LCAmaW5mbywgMCk7CiAJZmxvd19jYWNoZV9mbHVzaF90YXNrbGV0KCh1bnNpZ25lZCBsb25nKSZpbmZvKTsKIAlsb2NhbF9iaF9lbmFibGUoKTsKIApkaWZmIC0tZ2l0IGEvbmV0L2lwdjQvZmliX3RyaWUuYyBiL25ldC9pcHY0L2ZpYl90cmllLmMKaW5kZXggNGIwMmQxNC4uZTE2MDBhZCAxMDA2NDQKLS0tIGEvbmV0L2lwdjQvZmliX3RyaWUuYworKysgYi9uZXQvaXB2NC9maWJfdHJpZS5jCkBAIC0xMzU5LDE3ICsxMzU5LDE3IEBACiAJCQl0LT5zdGF0cy5zZW1hbnRpY19tYXRjaF9taXNzKys7CiAjZW5kaWYKIAkJaWYgKGVyciA8PSAwKQotCQkJcmV0dXJuIHBsZW47CisJCQlyZXR1cm4gZXJyOwogCX0KIAotCXJldHVybiAtMTsKKwlyZXR1cm4gMTsKIH0KIAogc3RhdGljIGludCBmbl90cmllX2xvb2t1cChzdHJ1Y3QgZmliX3RhYmxlICp0YiwgY29uc3Qgc3RydWN0IGZsb3dpICpmbHAsCiAJCQkgIHN0cnVjdCBmaWJfcmVzdWx0ICpyZXMpCiB7CiAJc3RydWN0IHRyaWUgKnQgPSAoc3RydWN0IHRyaWUgKikgdGItPnRiX2RhdGE7Ci0JaW50IHBsZW4sIHJldCA9IDA7CisJaW50IHJldDsKIAlzdHJ1Y3Qgbm9kZSAqbjsKIAlzdHJ1Y3QgdG5vZGUgKnBuOwogCWludCBwb3MsIGJpdHM7CkBAIC0xMzkzLDEwICsxMzkzLDcgQEAKIAogCS8qIEp1c3QgYSBsZWFmPyAqLwogCWlmIChJU19MRUFGKG4pKSB7Ci0JCXBsZW4gPSBjaGVja19sZWFmKHQsIChzdHJ1Y3QgbGVhZiAqKW4sIGtleSwgZmxwLCByZXMpOwotCQlpZiAocGxlbiA8IDApCi0JCQlnb3RvIGZhaWxlZDsKLQkJcmV0ID0gMDsKKwkJcmV0ID0gY2hlY2tfbGVhZih0LCAoc3RydWN0IGxlYWYgKiluLCBrZXksIGZscCwgcmVzKTsKIAkJZ290byBmb3VuZDsKIAl9CiAKQEAgLTE0MjEsMTEgKzE0MTgsOSBAQAogCQl9CiAKIAkJaWYgKElTX0xFQUYobikpIHsKLQkJCXBsZW4gPSBjaGVja19sZWFmKHQsIChzdHJ1Y3QgbGVhZiAqKW4sIGtleSwgZmxwLCByZXMpOwotCQkJaWYgKHBsZW4gPCAwKQorCQkJcmV0ID0gY2hlY2tfbGVhZih0LCAoc3RydWN0IGxlYWYgKiluLCBrZXksIGZscCwgcmVzKTsKKwkJCWlmIChyZXQgPiAwKQogCQkJCWdvdG8gYmFja3RyYWNlOwotCi0JCQlyZXQgPSAwOwogCQkJZ290byBmb3VuZDsKIAkJfQogCmRpZmYgLS1naXQgYS9uZXQvaXB2NC9uZXRmaWx0ZXIvbmZfbmF0X3NubXBfYmFzaWMuYyBiL25ldC9pcHY0L25ldGZpbHRlci9uZl9uYXRfc25tcF9iYXNpYy5jCmluZGV4IDc3NTBjOTcuLmZmZWFmZmMgMTAwNjQ0Ci0tLSBhL25ldC9pcHY0L25ldGZpbHRlci9uZl9uYXRfc25tcF9iYXNpYy5jCisrKyBiL25ldC9pcHY0L25ldGZpbHRlci9uZl9uYXRfc25tcF9iYXNpYy5jCkBAIC00MzksOCArNDM5LDggQEAKIAkJCQkgICAgIHVuc2lnbmVkIGludCAqbGVuKQogewogCXVuc2lnbmVkIGxvbmcgc3ViaWQ7Ci0JdW5zaWduZWQgaW50ICBzaXplOwogCXVuc2lnbmVkIGxvbmcgKm9wdHI7CisJc2l6ZV90IHNpemU7CiAKIAlzaXplID0gZW9jIC0gY3R4LT5wb2ludGVyICsgMTsKIApkaWZmIC0tZ2l0IGEvbmV0L2lwdjQvdGNwX3Byb2JlLmMgYi9uZXQvaXB2NC90Y3BfcHJvYmUuYwppbmRleCA1ZmYwY2U2Li43ZGRjMzBmIDEwMDY0NAotLS0gYS9uZXQvaXB2NC90Y3BfcHJvYmUuYworKysgYi9uZXQvaXB2NC90Y3BfcHJvYmUuYwpAQCAtMjI0LDcgKzIyNCw3IEBACiAJaWYgKGJ1ZnNpemUgPCAwKQogCQlyZXR1cm4gLUVJTlZBTDsKIAotCXRjcF9wcm9iZS5sb2cgPSBrY2FsbG9jKHNpemVvZihzdHJ1Y3QgdGNwX2xvZyksIGJ1ZnNpemUsIEdGUF9LRVJORUwpOworCXRjcF9wcm9iZS5sb2cgPSBrY2FsbG9jKGJ1ZnNpemUsIHNpemVvZihzdHJ1Y3QgdGNwX2xvZyksIEdGUF9LRVJORUwpOwogCWlmICghdGNwX3Byb2JlLmxvZykKIAkJZ290byBlcnIwOwogCmRpZmYgLS1naXQgYS9uZXQvaXB2Ni9hZGRyY29uZi5jIGIvbmV0L2lwdjYvYWRkcmNvbmYuYwppbmRleCAxNDc1ODhmLi5mZjYxYTVjIDEwMDY0NAotLS0gYS9uZXQvaXB2Ni9hZGRyY29uZi5jCisrKyBiL25ldC9pcHY2L2FkZHJjb25mLmMKQEAgLTc0OSwxMiArNzQ5LDEyIEBACiAJfQogCXdyaXRlX3VubG9ja19iaCgmaWRldi0+bG9jayk7CiAKKwlhZGRyY29uZl9kZWxfdGltZXIoaWZwKTsKKwogCWlwdjZfaWZhX25vdGlmeShSVE1fREVMQUREUiwgaWZwKTsKIAogCWF0b21pY19ub3RpZmllcl9jYWxsX2NoYWluKCZpbmV0NmFkZHJfY2hhaW4sIE5FVERFVl9ET1dOLCBpZnApOwogCi0JYWRkcmNvbmZfZGVsX3RpbWVyKGlmcCk7Ci0KIAkvKgogCSAqIFB1cmdlIG9yIHVwZGF0ZSBjb3JyZXNwb25kaW5nIHByZWZpeAogCSAqCmRpZmYgLS1naXQgYS9uZXQvaXB2Ni9leHRoZHJzLmMgYi9uZXQvaXB2Ni9leHRoZHJzLmMKaW5kZXggM2NkMWM5OS4uZGNmOTRmZGZiIDEwMDY0NAotLS0gYS9uZXQvaXB2Ni9leHRoZHJzLmMKKysrIGIvbmV0L2lwdjYvZXh0aGRycy5jCkBAIC00NDUsNyArNDQ1LDcgQEAKIAkJCWtmcmVlX3NrYihza2IpOwogCQkJcmV0dXJuIC0xOwogCQl9Ci0JCWlmICghaXB2Nl9jaGtfaG9tZV9hZGRyKCZpbml0X25ldCwgYWRkcikpIHsKKwkJaWYgKCFpcHY2X2Noa19ob21lX2FkZHIoZGV2X25ldChza2ItPmRzdC0+ZGV2KSwgYWRkcikpIHsKIAkJCUlQNl9JTkNfU1RBVFNfQkgoaXA2X2RzdF9pZGV2KHNrYi0+ZHN0KSwKIAkJCQkJIElQU1RBVFNfTUlCX0lOQUREUkVSUk9SUyk7CiAJCQlrZnJlZV9za2Ioc2tiKTsKZGlmZiAtLWdpdCBhL25ldC9pcmRhL2lybmV0L2lybmV0LmggYi9uZXQvaXJkYS9pcm5ldC9pcm5ldC5oCmluZGV4IGIwMDFjMzYuLmJjY2Y0ZDAgMTAwNjQ0Ci0tLSBhL25ldC9pcmRhL2lybmV0L2lybmV0LmgKKysrIGIvbmV0L2lyZGEvaXJuZXQvaXJuZXQuaApAQCAtMjQxLDYgKzI0MSw3IEBACiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAKICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3NrYnVmZi5oPgogI2luY2x1ZGUgPGxpbnV4L3R0eS5oPgogI2luY2x1ZGUgPGxpbnV4L3Byb2NfZnMuaD4KZGlmZiAtLWdpdCBhL25ldC9pcmRhL2lybmV0L2lybmV0X3BwcC5jIGIvbmV0L2lyZGEvaXJuZXQvaXJuZXRfcHBwLmMKaW5kZXggZTBlYWI1OS4uZTg0YTcwZCAxMDA2NDQKLS0tIGEvbmV0L2lyZGEvaXJuZXQvaXJuZXRfcHBwLmMKKysrIGIvbmV0L2lyZGEvaXJuZXQvaXJuZXRfcHBwLmMKQEAgLTQ3OSw2ICs0NzksNyBAQAogICBhcCA9IGt6YWxsb2Moc2l6ZW9mKCphcCksIEdGUF9LRVJORUwpOwogICBEQUJPUlQoYXAgPT0gTlVMTCwgLUVOT01FTSwgRlNfRVJST1IsICJDYW4ndCBhbGxvY2F0ZSBzdHJ1Y3QgaXJuZXQuLi5cbiIpOwogCisgIGxvY2tfa2VybmVsKCk7CiAgIC8qIGluaXRpYWxpemUgdGhlIGlybmV0IHN0cnVjdHVyZSAqLwogICBhcC0+ZmlsZSA9IGZpbGU7CiAKQEAgLTUwMCw2ICs1MDEsNyBAQAogICAgIHsKICAgICAgIERFUlJPUihGU19FUlJPUiwgIkNhbid0IHNldHVwIElyREEgbGluay4uLlxuIik7CiAgICAgICBrZnJlZShhcCk7CisgICAgICB1bmxvY2tfa2VybmVsKCk7CiAgICAgICByZXR1cm4gZXJyOwogICAgIH0KIApAQCAtNTEwLDYgKzUxMiw3IEBACiAgIGZpbGUtPnByaXZhdGVfZGF0YSA9IGFwOwogCiAgIERFWElUKEZTX1RSQUNFLCAiIC0gYXA9MHglcFxuIiwgYXApOworICB1bmxvY2tfa2VybmVsKCk7CiAgIHJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9uZXQvaXJkYS9pcm5ldGxpbmsuYyBiL25ldC9pcmRhL2lybmV0bGluay5jCmluZGV4IDllMWZiODIuLjJmMDVlYzEgMTAwNjQ0Ci0tLSBhL25ldC9pcmRhL2lybmV0bGluay5jCisrKyBiL25ldC9pcmRhL2lybmV0bGluay5jCkBAIC0xMDEsOCArMTAxLDggQEAKIAogCWhkciA9IGdlbmxtc2dfcHV0KG1zZywgaW5mby0+c25kX3BpZCwgaW5mby0+c25kX3NlcSwKIAkJCSAgJmlyZGFfbmxfZmFtaWx5LCAwLCAgSVJEQV9OTF9DTURfR0VUX01PREUpOwotCWlmIChJU19FUlIoaGRyKSkgewotCQlyZXQgPSBQVFJfRVJSKGhkcik7CisJaWYgKGhkciA9PSBOVUxMKSB7CisJCXJldCA9IC1FTVNHU0laRTsKIAkJZ290byBlcnJfb3V0OwogCX0KIApkaWZmIC0tZ2l0IGEvbmV0L2l1Y3YvYWZfaXVjdi5jIGIvbmV0L2l1Y3YvYWZfaXVjdi5jCmluZGV4IDdiMDAzOGYuLmJkYTcxMDEgMTAwNjQ0Ci0tLSBhL25ldC9pdWN2L2FmX2l1Y3YuYworKysgYi9uZXQvaXVjdi9hZl9pdWN2LmMKQEAgLTExMzUsOCArMTEzNSw3IEBACiAJCWlmICh0aGlzKQogCQkJa2ZyZWVfc2tiKHRoaXMpOwogCX0KLQlpZiAoIXRoaXMpCi0JCXByaW50ayhLRVJOX0VSUiAiQUZfSVVDViBtc2cgdGFnICV1IG5vdCBmb3VuZFxuIiwgbXNnLT50YWcpOworCUJVR19PTighdGhpcyk7CiAKIAlpZiAoc2stPnNrX3N0YXRlID09IElVQ1ZfQ0xPU0lORykgewogCQlpZiAoc2tiX3F1ZXVlX2VtcHR5KCZpdWN2X3NrKHNrKS0+c2VuZF9za2JfcSkpIHsKQEAgLTExOTYsNyArMTE5NSw3IEBACiAJfQogCWNwY21kKCJRVUVSWSBVU0VSSUQiLCBpdWN2X3VzZXJpZCwgc2l6ZW9mKGl1Y3ZfdXNlcmlkKSwgJmVycik7CiAJaWYgKHVubGlrZWx5KGVycikpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJBRl9JVUNWIG5lZWRzIHRoZSBWTSB1c2VyaWRcbiIpOworCQlXQVJOX09OKGVycik7CiAJCWVyciA9IC1FUFJPVE9OT1NVUFBPUlQ7CiAJCWdvdG8gb3V0OwogCX0KQEAgLTEyMTAsNyArMTIwOSw2IEBACiAJZXJyID0gc29ja19yZWdpc3RlcigmaXVjdl9zb2NrX2ZhbWlseV9vcHMpOwogCWlmIChlcnIpCiAJCWdvdG8gb3V0X3Byb3RvOwotCXByaW50ayhLRVJOX0lORk8gIkFGX0lVQ1YgbG93bGV2ZWwgZHJpdmVyIGluaXRpYWxpemVkXG4iKTsKIAlyZXR1cm4gMDsKIAogb3V0X3Byb3RvOgpAQCAtMTIyNiw4ICsxMjI0LDYgQEAKIAlzb2NrX3VucmVnaXN0ZXIoUEZfSVVDVik7CiAJcHJvdG9fdW5yZWdpc3RlcigmaXVjdl9wcm90byk7CiAJaXVjdl91bnJlZ2lzdGVyKCZhZl9pdWN2X2hhbmRsZXIsIDApOwotCi0JcHJpbnRrKEtFUk5fSU5GTyAiQUZfSVVDViBsb3dsZXZlbCBkcml2ZXIgdW5sb2FkZWRcbiIpOwogfQogCiBtb2R1bGVfaW5pdChhZml1Y3ZfaW5pdCk7CmRpZmYgLS1naXQgYS9uZXQvaXVjdi9pdWN2LmMgYi9uZXQvaXVjdi9pdWN2LmMKaW5kZXggOTE4OTcwNy4uY2MzNGFjNyAxMDA2NDQKLS0tIGEvbmV0L2l1Y3YvaXVjdi5jCisrKyBiL25ldC9pdWN2L2l1Y3YuYwpAQCAtNDgwLDcgKzQ4MCw3IEBACiAJCWlmIChjcHVfaXNzZXQoY3B1LCBpdWN2X2J1ZmZlcl9jcHVtYXNrKSAmJgogCQkgICAgIWNwdV9pc3NldChjcHUsIGl1Y3ZfaXJxX2NwdW1hc2spKQogCQkJc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGNwdSwgaXVjdl9hbGxvd19jcHUsCi0JCQkJCQkgTlVMTCwgMCwgMSk7CisJCQkJCQkgTlVMTCwgMSk7CiAJcHJlZW1wdF9lbmFibGUoKTsKIH0KIApAQCAtNDk4LDcgKzQ5OCw3IEBACiAJY3B1bWFzayA9IGl1Y3ZfaXJxX2NwdW1hc2s7CiAJY3B1X2NsZWFyKGZpcnN0X2NwdShpdWN2X2lycV9jcHVtYXNrKSwgY3B1bWFzayk7CiAJZm9yX2VhY2hfY3B1X21hc2soY3B1LCBjcHVtYXNrKQotCQlzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoY3B1LCBpdWN2X2Jsb2NrX2NwdSwgTlVMTCwgMCwgMSk7CisJCXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShjcHUsIGl1Y3ZfYmxvY2tfY3B1LCBOVUxMLCAxKTsKIH0KIAogLyoqCkBAIC01MjMsNyArNTIzLDcgQEAKIAlyYyA9IC1FSU87CiAJcHJlZW1wdF9kaXNhYmxlKCk7CiAJZm9yX2VhY2hfb25saW5lX2NwdShjcHUpCi0JCXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShjcHUsIGl1Y3ZfZGVjbGFyZV9jcHUsIE5VTEwsIDAsIDEpOworCQlzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoY3B1LCBpdWN2X2RlY2xhcmVfY3B1LCBOVUxMLCAxKTsKIAlwcmVlbXB0X2VuYWJsZSgpOwogCWlmIChjcHVzX2VtcHR5KGl1Y3ZfYnVmZmVyX2NwdW1hc2spKQogCQkvKiBObyBjcHUgY291bGQgZGVjbGFyZSBhbiBpdWN2IGJ1ZmZlci4gKi8KQEAgLTU0NSw3ICs1NDUsNyBAQAogICovCiBzdGF0aWMgdm9pZCBpdWN2X2Rpc2FibGUodm9pZCkKIHsKLQlvbl9lYWNoX2NwdShpdWN2X3JldHJpZXZlX2NwdSwgTlVMTCwgMCwgMSk7CisJb25fZWFjaF9jcHUoaXVjdl9yZXRyaWV2ZV9jcHUsIE5VTEwsIDEpOwogCWtmcmVlKGl1Y3ZfcGF0aF90YWJsZSk7CiB9CiAKQEAgLTU4MCw3ICs1ODAsNyBAQAogCWNhc2UgQ1BVX09OTElORV9GUk9aRU46CiAJY2FzZSBDUFVfRE9XTl9GQUlMRUQ6CiAJY2FzZSBDUFVfRE9XTl9GQUlMRURfRlJPWkVOOgotCQlzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoY3B1LCBpdWN2X2RlY2xhcmVfY3B1LCBOVUxMLCAwLCAxKTsKKwkJc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGNwdSwgaXVjdl9kZWNsYXJlX2NwdSwgTlVMTCwgMSk7CiAJCWJyZWFrOwogCWNhc2UgQ1BVX0RPV05fUFJFUEFSRToKIAljYXNlIENQVV9ET1dOX1BSRVBBUkVfRlJPWkVOOgpAQCAtNTg5LDEwICs1ODksMTAgQEAKIAkJaWYgKGNwdXNfZW1wdHkoY3B1bWFzaykpCiAJCQkvKiBDYW4ndCBvZmZsaW5lIGxhc3QgSVVDViBlbmFibGVkIGNwdS4gKi8KIAkJCXJldHVybiBOT1RJRllfQkFEOwotCQlzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoY3B1LCBpdWN2X3JldHJpZXZlX2NwdSwgTlVMTCwgMCwgMSk7CisJCXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShjcHUsIGl1Y3ZfcmV0cmlldmVfY3B1LCBOVUxMLCAxKTsKIAkJaWYgKGNwdXNfZW1wdHkoaXVjdl9pcnFfY3B1bWFzaykpCiAJCQlzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoZmlyc3RfY3B1KGl1Y3ZfYnVmZmVyX2NwdW1hc2spLAotCQkJCQkJIGl1Y3ZfYWxsb3dfY3B1LCBOVUxMLCAwLCAxKTsKKwkJCQkJCSBpdWN2X2FsbG93X2NwdSwgTlVMTCwgMSk7CiAJCWJyZWFrOwogCX0KIAlyZXR1cm4gTk9USUZZX09LOwpAQCAtNjUyLDcgKzY1Miw3IEBACiAJICogcGVuZGluZyBpbnRlcnJ1cHRzIGZvcmNlIHRoZW0gdG8gdGhlIHdvcmsgcXVldWUgYnkgY2FsbGluZwogCSAqIGFuIGVtcHR5IGZ1bmN0aW9uIG9uIGFsbCBjcHVzLgogCSAqLwotCXNtcF9jYWxsX2Z1bmN0aW9uKF9faXVjdl9jbGVhbnVwX3F1ZXVlLCBOVUxMLCAwLCAxKTsKKwlzbXBfY2FsbF9mdW5jdGlvbihfX2l1Y3ZfY2xlYW51cF9xdWV1ZSwgTlVMTCwgMSk7CiAJc3Bpbl9sb2NrX2lycSgmaXVjdl9xdWV1ZV9sb2NrKTsKIAlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUocCwgbiwgJml1Y3ZfdGFza19xdWV1ZSwgbGlzdCkgewogCQkvKiBSZW1vdmUgc3RhbGUgd29yayBpdGVtcyBmcm9tIHRoZSB0YXNrIHF1ZXVlLiAqLwpAQCAtMTU1OSwxNiArMTU1OSwxMSBAQAogCiAJcCA9IGl1Y3ZfaXJxX2RhdGFbc21wX3Byb2Nlc3Nvcl9pZCgpXTsKIAlpZiAocC0+aXBwYXRoaWQgPj0gaXVjdl9tYXhfcGF0aGlkKSB7Ci0JCXByaW50ayhLRVJOX1dBUk5JTkcgIml1Y3ZfZG9faW50OiBHb3QgaW50ZXJydXB0IHdpdGggIgotCQkgICAgICAgInBhdGhpZCAlZCA+IG1heF9jb25uZWN0aW9ucyAoJWxkKVxuIiwKLQkJICAgICAgIHAtPmlwcGF0aGlkLCBpdWN2X21heF9wYXRoaWQgLSAxKTsKKwkJV0FSTl9PTihwLT5pcHBhdGhpZCA+PSBpdWN2X21heF9wYXRoaWQpOwogCQlpdWN2X3NldmVyX3BhdGhpZChwLT5pcHBhdGhpZCwgaXVjdl9lcnJvcl9ub19saXN0ZW5lcik7CiAJCXJldHVybjsKIAl9Ci0JaWYgKHAtPmlwdHlwZSAgPCAweDAxIHx8IHAtPmlwdHlwZSA+IDB4MDkpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJpdWN2X2RvX2ludDogdW5rbm93biBpdWN2IGludGVycnVwdFxuIik7Ci0JCXJldHVybjsKLQl9CisJQlVHX09OKHAtPmlwdHlwZSAgPCAweDAxIHx8IHAtPmlwdHlwZSA+IDB4MDkpOwogCXdvcmsgPSBrbWFsbG9jKHNpemVvZihzdHJ1Y3QgaXVjdl9pcnFfbGlzdCksIEdGUF9BVE9NSUMpOwogCWlmICghd29yaykgewogCQlwcmludGsoS0VSTl9XQVJOSU5HICJpdWN2X2V4dGVybmFsX2ludGVycnVwdDogb3V0IG9mIG1lbW9yeVxuIik7CmRpZmYgLS1naXQgYS9uZXQvbWFjODAyMTEvbWFpbi5jIGIvbmV0L21hYzgwMjExL21haW4uYwppbmRleCA5OGMwYjVlLi5kZjA4MzZmIDEwMDY0NAotLS0gYS9uZXQvbWFjODAyMTEvbWFpbi5jCisrKyBiL25ldC9tYWM4MDIxMS9tYWluLmMKQEAgLTUzMCw4ICs1MzAsNiBAQAogCQkJCWxvY2FsLT5zdGFfaHdfc2Nhbm5pbmcgPSAwOwogCQl9CiAKLQkJZmx1c2hfd29ya3F1ZXVlKGxvY2FsLT5ody53b3JrcXVldWUpOwotCiAJCXNkYXRhLT51LnN0YS5mbGFncyAmPSB+SUVFRTgwMjExX1NUQV9QUklWQUNZX0lOVk9LRUQ7CiAJCWtmcmVlKHNkYXRhLT51LnN0YS5leHRyYV9pZSk7CiAJCXNkYXRhLT51LnN0YS5leHRyYV9pZSA9IE5VTEw7CkBAIC01NTUsNiArNTUzLDggQEAKIAogCQlpZWVlODAyMTFfbGVkX3JhZGlvKGxvY2FsLCAwKTsKIAorCQlmbHVzaF93b3JrcXVldWUobG9jYWwtPmh3LndvcmtxdWV1ZSk7CisKIAkJdGFza2xldF9kaXNhYmxlKCZsb2NhbC0+dHhfcGVuZGluZ190YXNrbGV0KTsKIAkJdGFza2xldF9kaXNhYmxlKCZsb2NhbC0+dGFza2xldCk7CiAJfQpkaWZmIC0tZ2l0IGEvbmV0L21hYzgwMjExL21sbWUuYyBiL25ldC9tYWM4MDIxMS9tbG1lLmMKaW5kZXggNGQyYjU4Mi4uYjQwNDUzNyAxMDA2NDQKLS0tIGEvbmV0L21hYzgwMjExL21sbWUuYworKysgYi9uZXQvbWFjODAyMTEvbWxtZS5jCkBAIC01NDcsMTUgKzU0NywxNCBAQAogCQkJc2RhdGEtPmJzc19jb25mLmh0X2Jzc19jb25mID0gJmNvbmYtPmh0X2Jzc19jb25mOwogCQl9CiAKLQkJbmV0aWZfY2Fycmllcl9vbihkZXYpOwogCQlpZnN0YS0+ZmxhZ3MgfD0gSUVFRTgwMjExX1NUQV9QUkVWX0JTU0lEX1NFVDsKIAkJbWVtY3B5KGlmc3RhLT5wcmV2X2Jzc2lkLCBzZGF0YS0+dS5zdGEuYnNzaWQsIEVUSF9BTEVOKTsKIAkJbWVtY3B5KHdycXUuYXBfYWRkci5zYV9kYXRhLCBzZGF0YS0+dS5zdGEuYnNzaWQsIEVUSF9BTEVOKTsKIAkJaWVlZTgwMjExX3N0YV9zZW5kX2Fzc29jaW5mbyhkZXYsIGlmc3RhKTsKIAl9IGVsc2UgeworCQluZXRpZl9jYXJyaWVyX29mZihkZXYpOwogCQlpZWVlODAyMTFfc3RhX3RlYXJfZG93bl9CQV9zZXNzaW9ucyhkZXYsIGlmc3RhLT5ic3NpZCk7CiAJCWlmc3RhLT5mbGFncyAmPSB+SUVFRTgwMjExX1NUQV9BU1NPQ0lBVEVEOwotCQluZXRpZl9jYXJyaWVyX29mZihkZXYpOwogCQlpZWVlODAyMTFfcmVzZXRfZXJwX2luZm8oZGV2KTsKIAogCQlzZGF0YS0+YnNzX2NvbmYuYXNzb2NfaHQgPSAwOwpAQCAtNTY5LDYgKzU2OCwxMCBAQAogCiAJc2RhdGEtPmJzc19jb25mLmFzc29jID0gYXNzb2M7CiAJaWVlZTgwMjExX2Jzc19pbmZvX2NoYW5nZV9ub3RpZnkoc2RhdGEsIGNoYW5nZWQpOworCisJaWYgKGFzc29jKQorCQluZXRpZl9jYXJyaWVyX29uKGRldik7CisKIAl3cnF1LmFwX2FkZHIuc2FfZmFtaWx5ID0gQVJQSFJEX0VUSEVSOwogCXdpcmVsZXNzX3NlbmRfZXZlbnQoZGV2LCBTSU9DR0lXQVAsICZ3cnF1LCBOVUxMKTsKIH0KQEAgLTM2MTEsOCArMzYxNCwxMCBAQAogCXNwaW5fdW5sb2NrX2JoKCZsb2NhbC0+c3RhX2Jzc19sb2NrKTsKIAogI2lmZGVmIENPTkZJR19NQUM4MDIxMV9JQlNTX0RFQlVHCi0JcHJpbnRrKEtFUk5fREVCVUcgIiAgIHN0YV9maW5kX2lic3M6IHNlbGVjdGVkICVzIGN1cnJlbnQgIgotCSAgICAgICAiJXNcbiIsIHByaW50X21hYyhtYWMsIGJzc2lkKSwgcHJpbnRfbWFjKG1hYzIsIGlmc3RhLT5ic3NpZCkpOworCWlmIChmb3VuZCkKKwkJcHJpbnRrKEtFUk5fREVCVUcgIiAgIHN0YV9maW5kX2lic3M6IHNlbGVjdGVkICVzIGN1cnJlbnQgIgorCQkgICAgICAgIiVzXG4iLCBwcmludF9tYWMobWFjLCBic3NpZCksCisJCSAgICAgICBwcmludF9tYWMobWFjMiwgaWZzdGEtPmJzc2lkKSk7CiAjZW5kaWYgLyogQ09ORklHX01BQzgwMjExX0lCU1NfREVCVUcgKi8KIAlpZiAoZm91bmQgJiYgbWVtY21wKGlmc3RhLT5ic3NpZCwgYnNzaWQsIEVUSF9BTEVOKSAhPSAwICYmCiAJICAgIChic3MgPSBpZWVlODAyMTFfcnhfYnNzX2dldChkZXYsIGJzc2lkLApkaWZmIC0tZ2l0IGEvbmV0L21hYzgwMjExL3JjODAyMTFfcGlkLmggYi9uZXQvbWFjODAyMTEvcmM4MDIxMV9waWQuaAppbmRleCAwNGFmYzEzLi40ZWE3Yjk3IDEwMDY0NAotLS0gYS9uZXQvbWFjODAyMTEvcmM4MDIxMV9waWQuaAorKysgYi9uZXQvbWFjODAyMTEvcmM4MDIxMV9waWQuaApAQCAtMTQxLDcgKzE0MSw2IEBACiAgKglyYXRlIGJlaGF2aW91ciB2YWx1ZXMgKGxvd2VyIG1lYW5zIHdlIHNob3VsZCB0cnVzdCBtb3JlIHdoYXQgd2UgbGVhcm50CiAgKglhYm91dCBiZWhhdmlvdXIgb2YgcmF0ZXMsIGhpZ2hlciBtZWFucyB3ZSBzaG91bGQgdHJ1c3QgbW9yZSB0aGUgbmF0dXJhbAogICoJb3JkZXJpbmcgb2YgcmF0ZXMpCi0gKiBAZmFzdF9zdGFydDogaWYgWSwgcHVzaCBoaWdoIHJhdGVzIHJpZ2h0IGFmdGVyIGluaXRpYWxpemF0aW9uCiAgKi8KIHN0cnVjdCByY19waWRfZGVidWdmc19lbnRyaWVzIHsKIAlzdHJ1Y3QgZGVudHJ5ICpkaXI7CkBAIC0xNTQsNyArMTUzLDYgQEAKIAlzdHJ1Y3QgZGVudHJ5ICpzaGFycGVuX2ZhY3RvcjsKIAlzdHJ1Y3QgZGVudHJ5ICpzaGFycGVuX2R1cmF0aW9uOwogCXN0cnVjdCBkZW50cnkgKm5vcm1fb2Zmc2V0OwotCXN0cnVjdCBkZW50cnkgKmZhc3Rfc3RhcnQ7CiB9OwogCiB2b2lkIHJhdGVfY29udHJvbF9waWRfZXZlbnRfdHhfc3RhdHVzKHN0cnVjdCByY19waWRfZXZlbnRfYnVmZmVyICpidWYsCkBAIC0yNjcsOSArMjY1LDYgQEAKIAkvKiBOb3JtYWxpemF0aW9uIG9mZnNldC4gKi8KIAl1bnNpZ25lZCBpbnQgbm9ybV9vZmZzZXQ7CiAKLQkvKiBGYXN0IHN0YXJzdCBwYXJhbWV0ZXIuICovCi0JdW5zaWduZWQgaW50IGZhc3Rfc3RhcnQ7Ci0KIAkvKiBSYXRlcyBpbmZvcm1hdGlvbi4gKi8KIAlzdHJ1Y3QgcmNfcGlkX3JhdGVpbmZvICpyaW5mbzsKIApkaWZmIC0tZ2l0IGEvbmV0L21hYzgwMjExL3JjODAyMTFfcGlkX2FsZ28uYyBiL25ldC9tYWM4MDIxMS9yYzgwMjExX3BpZF9hbGdvLmMKaW5kZXggYTg0OWI3NC4uYmNkMjdjMWQgMTAwNjQ0Ci0tLSBhL25ldC9tYWM4MDIxMS9yYzgwMjExX3BpZF9hbGdvLmMKKysrIGIvbmV0L21hYzgwMjExL3JjODAyMTFfcGlkX2FsZ28uYwpAQCAtMzk4LDEzICszOTgsMjUgQEAKIAkJcmV0dXJuIE5VTEw7CiAJfQogCisJcGluZm8tPnRhcmdldCA9IFJDX1BJRF9UQVJHRVRfUEY7CisJcGluZm8tPnNhbXBsaW5nX3BlcmlvZCA9IFJDX1BJRF9JTlRFUlZBTDsKKwlwaW5mby0+Y29lZmZfcCA9IFJDX1BJRF9DT0VGRl9QOworCXBpbmZvLT5jb2VmZl9pID0gUkNfUElEX0NPRUZGX0k7CisJcGluZm8tPmNvZWZmX2QgPSBSQ19QSURfQ09FRkZfRDsKKwlwaW5mby0+c21vb3RoaW5nX3NoaWZ0ID0gUkNfUElEX1NNT09USElOR19TSElGVDsKKwlwaW5mby0+c2hhcnBlbl9mYWN0b3IgPSBSQ19QSURfU0hBUlBFTklOR19GQUNUT1I7CisJcGluZm8tPnNoYXJwZW5fZHVyYXRpb24gPSBSQ19QSURfU0hBUlBFTklOR19EVVJBVElPTjsKKwlwaW5mby0+bm9ybV9vZmZzZXQgPSBSQ19QSURfTk9STV9PRkZTRVQ7CisJcGluZm8tPnJpbmZvID0gcmluZm87CisJcGluZm8tPm9sZHJhdGUgPSAwOworCiAJLyogU29ydCB0aGUgcmF0ZXMuIFRoaXMgaXMgb3B0aW1pemVkIGZvciB0aGUgbW9zdCBjb21tb24gY2FzZSAoaS5lLgogCSAqIGFsbW9zdC1zb3J0ZWQgQ0NLK09GRE0gcmF0ZXMpLiBLaW5kIG9mIGJ1YmJsZS1zb3J0IHdpdGggcmV2ZXJzZWQKIAkgKiBtYXBwaW5nIHRvby4gKi8KIAlmb3IgKGkgPSAwOyBpIDwgc2JhbmQtPm5fYml0cmF0ZXM7IGkrKykgewogCQlyaW5mb1tpXS5pbmRleCA9IGk7CiAJCXJpbmZvW2ldLnJldl9pbmRleCA9IGk7Ci0JCWlmIChwaW5mby0+ZmFzdF9zdGFydCkKKwkJaWYgKFJDX1BJRF9GQVNUX1NUQVJUKQogCQkJcmluZm9baV0uZGlmZiA9IDA7CiAJCWVsc2UKIAkJCXJpbmZvW2ldLmRpZmYgPSBpICogcGluZm8tPm5vcm1fb2Zmc2V0OwpAQCAtNDI1LDE5ICs0MzcsNiBAQAogCQkJYnJlYWs7CiAJfQogCi0JcGluZm8tPnRhcmdldCA9IFJDX1BJRF9UQVJHRVRfUEY7Ci0JcGluZm8tPnNhbXBsaW5nX3BlcmlvZCA9IFJDX1BJRF9JTlRFUlZBTDsKLQlwaW5mby0+Y29lZmZfcCA9IFJDX1BJRF9DT0VGRl9QOwotCXBpbmZvLT5jb2VmZl9pID0gUkNfUElEX0NPRUZGX0k7Ci0JcGluZm8tPmNvZWZmX2QgPSBSQ19QSURfQ09FRkZfRDsKLQlwaW5mby0+c21vb3RoaW5nX3NoaWZ0ID0gUkNfUElEX1NNT09USElOR19TSElGVDsKLQlwaW5mby0+c2hhcnBlbl9mYWN0b3IgPSBSQ19QSURfU0hBUlBFTklOR19GQUNUT1I7Ci0JcGluZm8tPnNoYXJwZW5fZHVyYXRpb24gPSBSQ19QSURfU0hBUlBFTklOR19EVVJBVElPTjsKLQlwaW5mby0+bm9ybV9vZmZzZXQgPSBSQ19QSURfTk9STV9PRkZTRVQ7Ci0JcGluZm8tPmZhc3Rfc3RhcnQgPSBSQ19QSURfRkFTVF9TVEFSVDsKLQlwaW5mby0+cmluZm8gPSByaW5mbzsKLQlwaW5mby0+b2xkcmF0ZSA9IDA7Ci0KICNpZmRlZiBDT05GSUdfTUFDODAyMTFfREVCVUdGUwogCWRlID0gJnBpbmZvLT5kZW50cmllczsKIAlkZS0+ZGlyID0gZGVidWdmc19jcmVhdGVfZGlyKCJyYzgwMjExX3BpZCIsCkBAIC00NjUsOSArNDY0LDYgQEAKIAlkZS0+bm9ybV9vZmZzZXQgPSBkZWJ1Z2ZzX2NyZWF0ZV91MzIoIm5vcm1fb2Zmc2V0IiwKIAkJCQkJICAgICBTX0lSVVNSIHwgU19JV1VTUiwgZGUtPmRpciwKIAkJCQkJICAgICAmcGluZm8tPm5vcm1fb2Zmc2V0KTsKLQlkZS0+ZmFzdF9zdGFydCA9IGRlYnVnZnNfY3JlYXRlX2Jvb2woImZhc3Rfc3RhcnQiLAotCQkJCQkgICAgIFNfSVJVU1IgfCBTX0lXVVNSLCBkZS0+ZGlyLAotCQkJCQkgICAgICZwaW5mby0+ZmFzdF9zdGFydCk7CiAjZW5kaWYKIAogCXJldHVybiBwaW5mbzsKQEAgLTQ3OSw3ICs0NzUsNiBAQAogI2lmZGVmIENPTkZJR19NQUM4MDIxMV9ERUJVR0ZTCiAJc3RydWN0IHJjX3BpZF9kZWJ1Z2ZzX2VudHJpZXMgKmRlID0gJnBpbmZvLT5kZW50cmllczsKIAotCWRlYnVnZnNfcmVtb3ZlKGRlLT5mYXN0X3N0YXJ0KTsKIAlkZWJ1Z2ZzX3JlbW92ZShkZS0+bm9ybV9vZmZzZXQpOwogCWRlYnVnZnNfcmVtb3ZlKGRlLT5zaGFycGVuX2R1cmF0aW9uKTsKIAlkZWJ1Z2ZzX3JlbW92ZShkZS0+c2hhcnBlbl9mYWN0b3IpOwpkaWZmIC0tZ2l0IGEvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfaGVscGVyLmMgYi9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19oZWxwZXIuYwppbmRleCA3ZDFiMTE3Li44ZTBiNGM4IDEwMDY0NAotLS0gYS9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19oZWxwZXIuYworKysgYi9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19oZWxwZXIuYwpAQCAtMjAsNiArMjAsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2Vyci5oPgogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgogI2luY2x1ZGUgPGxpbnV4L25ldGRldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3JjdWxpc3QuaD4KIAogI2luY2x1ZGUgPG5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrLmg+CiAjaW5jbHVkZSA8bmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfbDNwcm90by5oPgpkaWZmIC0tZ2l0IGEvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfbmV0bGluay5jIGIvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfbmV0bGluay5jCmluZGV4IDBlZGVmY2YuLjA3N2JjZDIgMTAwNjQ0Ci0tLSBhL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX25ldGxpbmsuYworKysgYi9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19uZXRsaW5rLmMKQEAgLTE4LDYgKzE4LDcgQEAKICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvcmN1bGlzdC5oPgogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiAjaW5jbHVkZSA8bGludXgvdGltZXIuaD4KICNpbmNsdWRlIDxsaW51eC9za2J1ZmYuaD4KZGlmZiAtLWdpdCBhL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX3Byb3RvX3RjcC5jIGIvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfcHJvdG9fdGNwLmMKaW5kZXggMjcxY2QwMS4uZGQyOGZiMiAxMDA2NDQKLS0tIGEvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfcHJvdG9fdGNwLmMKKysrIGIvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfcHJvdG9fdGNwLmMKQEAgLTg0NCw5ICs4NDQsMTUgQEAKIAkJCS8qIEF0dGVtcHQgdG8gcmVvcGVuIGEgY2xvc2VkL2Fib3J0ZWQgY29ubmVjdGlvbi4KIAkJCSAqIERlbGV0ZSB0aGlzIGNvbm5lY3Rpb24gYW5kIGxvb2sgdXAgYWdhaW4uICovCiAJCQl3cml0ZV91bmxvY2tfYmgoJnRjcF9sb2NrKTsKLQkJCWlmIChkZWxfdGltZXIoJmN0LT50aW1lb3V0KSkKKwkJCS8qIE9ubHkgcmVwZWF0IGlmIHdlIGNhbiBhY3R1YWxseSByZW1vdmUgdGhlIHRpbWVyLgorCQkJICogRGVzdHJ1Y3Rpb24gbWF5IGFscmVhZHkgYmUgaW4gcHJvZ3Jlc3MgaW4gcHJvY2VzcworCQkJICogY29udGV4dCBhbmQgd2UgbXVzdCBnaXZlIGl0IGEgY2hhbmNlIHRvIHRlcm1pbmF0ZS4KKwkJCSAqLworCQkJaWYgKGRlbF90aW1lcigmY3QtPnRpbWVvdXQpKSB7CiAJCQkJY3QtPnRpbWVvdXQuZnVuY3Rpb24oKHVuc2lnbmVkIGxvbmcpY3QpOwotCQkJcmV0dXJuIC1ORl9SRVBFQVQ7CisJCQkJcmV0dXJuIC1ORl9SRVBFQVQ7CisJCQl9CisJCQlyZXR1cm4gLU5GX0RST1A7CiAJCX0KIAkJLyogRmFsbCB0aHJvdWdoICovCiAJY2FzZSBUQ1BfQ09OTlRSQUNLX0lHTk9SRToKZGlmZiAtLWdpdCBhL25ldC9uZXRsYWJlbC9uZXRsYWJlbF9jaXBzb192NC5jIGIvbmV0L25ldGxhYmVsL25ldGxhYmVsX2NpcHNvX3Y0LmMKaW5kZXggZmRjMTRhMC4uOTA4MGM2MSAxMDA2NDQKLS0tIGEvbmV0L25ldGxhYmVsL25ldGxhYmVsX2NpcHNvX3Y0LmMKKysrIGIvbmV0L25ldGxhYmVsL25ldGxhYmVsX2NpcHNvX3Y0LmMKQEAgLTU4NCwxMiArNTg0LDcgQEAKIAlyY3VfcmVhZF91bmxvY2soKTsKIAogCWdlbmxtc2dfZW5kKGFuc19za2IsIGRhdGEpOwotCi0JcmV0X3ZhbCA9IGdlbmxtc2dfcmVwbHkoYW5zX3NrYiwgaW5mbyk7Ci0JaWYgKHJldF92YWwgIT0gMCkKLQkJZ290byBsaXN0X2ZhaWx1cmU7Ci0KLQlyZXR1cm4gMDsKKwlyZXR1cm4gZ2VubG1zZ19yZXBseShhbnNfc2tiLCBpbmZvKTsKIAogbGlzdF9yZXRyeToKIAkvKiBYWFggLSB0aGlzIGxpbWl0IGlzIGEgZ3Vlc3N0aW1hdGUgKi8KZGlmZiAtLWdpdCBhL25ldC9uZXRsYWJlbC9uZXRsYWJlbF9kb21haW5oYXNoLmMgYi9uZXQvbmV0bGFiZWwvbmV0bGFiZWxfZG9tYWluaGFzaC5jCmluZGV4IDAyYzJmN2MuLjY0M2MwMzIgMTAwNjQ0Ci0tLSBhL25ldC9uZXRsYWJlbC9uZXRsYWJlbF9kb21haW5oYXNoLmMKKysrIGIvbmV0L25ldGxhYmVsL25ldGxhYmVsX2RvbWFpbmhhc2guYwpAQCAtMzAsOCArMzAsNyBAQAogICovCiAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgotI2luY2x1ZGUgPGxpbnV4L3JjdXBkYXRlLmg+Ci0jaW5jbHVkZSA8bGludXgvbGlzdC5oPgorI2luY2x1ZGUgPGxpbnV4L3JjdWxpc3QuaD4KICNpbmNsdWRlIDxsaW51eC9za2J1ZmYuaD4KICNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgpkaWZmIC0tZ2l0IGEvbmV0L25ldGxhYmVsL25ldGxhYmVsX21nbXQuYyBiL25ldC9uZXRsYWJlbC9uZXRsYWJlbF9tZ210LmMKaW5kZXggMjJjMTkxMi4uNDRiZTVkNSAxMDA2NDQKLS0tIGEvbmV0L25ldGxhYmVsL25ldGxhYmVsX21nbXQuYworKysgYi9uZXQvbmV0bGFiZWwvbmV0bGFiZWxfbWdtdC5jCkBAIC0zODYsMTEgKzM4Niw3IEBACiAJcmN1X3JlYWRfdW5sb2NrKCk7CiAKIAlnZW5sbXNnX2VuZChhbnNfc2tiLCBkYXRhKTsKLQotCXJldF92YWwgPSBnZW5sbXNnX3JlcGx5KGFuc19za2IsIGluZm8pOwotCWlmIChyZXRfdmFsICE9IDApCi0JCWdvdG8gbGlzdGRlZl9mYWlsdXJlOwotCXJldHVybiAwOworCXJldHVybiBnZW5sbXNnX3JlcGx5KGFuc19za2IsIGluZm8pOwogCiBsaXN0ZGVmX2ZhaWx1cmVfbG9jazoKIAlyY3VfcmVhZF91bmxvY2soKTsKQEAgLTUwMSwxMSArNDk3LDcgQEAKIAkJZ290byB2ZXJzaW9uX2ZhaWx1cmU7CiAKIAlnZW5sbXNnX2VuZChhbnNfc2tiLCBkYXRhKTsKLQotCXJldF92YWwgPSBnZW5sbXNnX3JlcGx5KGFuc19za2IsIGluZm8pOwotCWlmIChyZXRfdmFsICE9IDApCi0JCWdvdG8gdmVyc2lvbl9mYWlsdXJlOwotCXJldHVybiAwOworCXJldHVybiBnZW5sbXNnX3JlcGx5KGFuc19za2IsIGluZm8pOwogCiB2ZXJzaW9uX2ZhaWx1cmU6CiAJa2ZyZWVfc2tiKGFuc19za2IpOwpkaWZmIC0tZ2l0IGEvbmV0L25ldGxhYmVsL25ldGxhYmVsX3VubGFiZWxlZC5jIGIvbmV0L25ldGxhYmVsL25ldGxhYmVsX3VubGFiZWxlZC5jCmluZGV4IDUyYjI2MTEuLjU2ZjgwODcgMTAwNjQ0Ci0tLSBhL25ldC9uZXRsYWJlbC9uZXRsYWJlbF91bmxhYmVsZWQuYworKysgYi9uZXQvbmV0bGFiZWwvbmV0bGFiZWxfdW5sYWJlbGVkLmMKQEAgLTExMDcsMTEgKzExMDcsNyBAQAogCQlnb3RvIGxpc3RfZmFpbHVyZTsKIAogCWdlbmxtc2dfZW5kKGFuc19za2IsIGRhdGEpOwotCi0JcmV0X3ZhbCA9IGdlbmxtc2dfcmVwbHkoYW5zX3NrYiwgaW5mbyk7Ci0JaWYgKHJldF92YWwgIT0gMCkKLQkJZ290byBsaXN0X2ZhaWx1cmU7Ci0JcmV0dXJuIDA7CisJcmV0dXJuIGdlbmxtc2dfcmVwbHkoYW5zX3NrYiwgaW5mbyk7CiAKIGxpc3RfZmFpbHVyZToKIAlrZnJlZV9za2IoYW5zX3NrYik7CmRpZmYgLS1naXQgYS9uZXQvc2N0cC9zbV9zdGF0ZWZ1bnMuYyBiL25ldC9zY3RwL3NtX3N0YXRlZnVucy5jCmluZGV4IDBjOWQ1YTYuLmZjZGI0NWQgMTAwNjQ0Ci0tLSBhL25ldC9zY3RwL3NtX3N0YXRlZnVucy5jCisrKyBiL25ldC9zY3RwL3NtX3N0YXRlZnVucy5jCkBAIC01ODk5LDEyICs1ODk5LDYgQEAKIAkJcmV0dXJuIFNDVFBfSUVSUk9SX05PX0RBVEE7CiAJfQogCi0JLyogSWYgZGVmaW5hdGVseSBhY2NlcHRpbmcgdGhlIERBVEEgY2h1bmssIHJlY29yZCBpdHMgVFNOLCBvdGhlcndpc2UKLQkgKiB3YWl0IGZvciByZW5lZ2UgcHJvY2Vzc2luZy4KLQkgKi8KLQlpZiAoU0NUUF9DTURfQ0hVTktfVUxQID09IGRlbGl2ZXIpCi0JCXNjdHBfYWRkX2NtZF9zZihjb21tYW5kcywgU0NUUF9DTURfUkVQT1JUX1RTTiwgU0NUUF9VMzIodHNuKSk7Ci0KIAljaHVuay0+ZGF0YV9hY2NlcHRlZCA9IDE7CiAKIAkvKiBOb3RlOiBTb21lIGNodW5rcyBtYXkgZ2V0IG92ZXJjb3VudGVkIChpZiB3ZSBkcm9wKSBvciBvdmVyY291bnRlZApAQCAtNTkyNCw2ICs1OTE4LDkgQEAKIAkgKiBhbmQgZGlzY2FyZCB0aGUgREFUQSBjaHVuay4KIAkgKi8KIAlpZiAobnRvaHMoZGF0YV9oZHItPnN0cmVhbSkgPj0gYXNvYy0+Yy5zaW5pdF9tYXhfaW5zdHJlYW1zKSB7CisJCS8qIE1hcmsgdHNuIGFzIHJlY2VpdmVkIGV2ZW4gdGhvdWdoIHdlIGRyb3AgaXQgKi8KKwkJc2N0cF9hZGRfY21kX3NmKGNvbW1hbmRzLCBTQ1RQX0NNRF9SRVBPUlRfVFNOLCBTQ1RQX1UzMih0c24pKTsKKwogCQllcnIgPSBzY3RwX21ha2Vfb3BfZXJyb3IoYXNvYywgY2h1bmssIFNDVFBfRVJST1JfSU5WX1NUUk0sCiAJCQkJCSAmZGF0YV9oZHItPnN0cmVhbSwKIAkJCQkJIHNpemVvZihkYXRhX2hkci0+c3RyZWFtKSk7CmRpZmYgLS1naXQgYS9uZXQvc2N0cC91bHBldmVudC5jIGIvbmV0L3NjdHAvdWxwZXZlbnQuYwppbmRleCBjZTZjZGE2Li5hMWY2NTRhIDEwMDY0NAotLS0gYS9uZXQvc2N0cC91bHBldmVudC5jCisrKyBiL25ldC9zY3RwL3VscGV2ZW50LmMKQEAgLTcxMCw2ICs3MTAsMTEgQEAKIAlpZiAoIXNrYikKIAkJZ290byBmYWlsOwogCisJLyogTm93IHRoYXQgYWxsIG1lbW9yeSBhbGxvY2F0aW9ucyBmb3IgdGhpcyBjaHVuayBzdWNjZWVkZWQsIHdlCisJICogY2FuIG1hcmsgaXQgYXMgcmVjZWl2ZWQgc28gdGhlIHRzbl9tYXAgaXMgdXBkYXRlZCBjb3JyZWN0bHkuCisJICovCisJc2N0cF90c25tYXBfbWFyaygmYXNvYy0+cGVlci50c25fbWFwLCBudG9obChjaHVuay0+c3ViaC5kYXRhX2hkci0+dHNuKSk7CisKIAkvKiBGaXJzdCBjYWxjdWxhdGUgdGhlIHBhZGRpbmcsIHNvIHdlIGRvbid0IGluYWR2ZXJ0ZW50bHkKIAkgKiBwYXNzIHVwIHRoZSB3cm9uZyBsZW5ndGggdG8gdGhlIHVzZXIuCiAJICoKZGlmZiAtLWdpdCBhL25ldC94ZnJtL3hmcm1fdXNlci5jIGIvbmV0L3hmcm0veGZybV91c2VyLmMKaW5kZXggYjk3NmQ5ZS4uMDRjNDE1MCAxMDA2NDQKLS0tIGEvbmV0L3hmcm0veGZybV91c2VyLmMKKysrIGIvbmV0L3hmcm0veGZybV91c2VyLmMKQEAgLTI3Nyw5ICsyNzcsOCBAQAogCW1lbWNweSgmeC0+cHJvcHMuc2FkZHIsICZwLT5zYWRkciwgc2l6ZW9mKHgtPnByb3BzLnNhZGRyKSk7CiAJeC0+cHJvcHMuZmxhZ3MgPSBwLT5mbGFnczsKIAotCWlmICgheC0+c2VsLmZhbWlseSkKKwlpZiAoIXgtPnNlbC5mYW1pbHkgJiYgIShwLT5mbGFncyAmIFhGUk1fU1RBVEVfQUZfVU5TUEVDKSkKIAkJeC0+c2VsLmZhbWlseSA9IHAtPmZhbWlseTsKLQogfQogCiAvKgpkaWZmIC0tZ2l0IGEvc2NyaXB0cy9NYWtlZmlsZS5md2luc3QgYi9zY3JpcHRzL01ha2VmaWxlLmZ3aW5zdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZDJmNDYwCi0tLSAvZGV2L251bGwKKysrIGIvc2NyaXB0cy9NYWtlZmlsZS5md2luc3QKQEAgLTAsMCArMSw0NSBAQAorIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorIyBJbnN0YWxsaW5nIGZpcm13YXJlCisjCisjIFdlIGRvbid0IGluY2x1ZGUgdGhlIC5jb25maWcsIHNvIGFsbCBmaXJtd2FyZSBmaWxlcyBhcmUgaW4gJChmdy1zaGlwcGVkLSkKKyMgcmF0aGVyIHRoYW4gaW4gJChmdy1zaGlwcGVkLXkpIG9yICQoZnctc2hpcHBlZC1uKS4KKyMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworSU5TVEFMTCA6PSBpbnN0YWxsCitzcmMgOj0gJChvYmopCisKKyMgRm9yIG1vZHVsZXNfaW5zdGFsbCBpbnN0YWxsaW5nIGZpcm13YXJlLCB3ZSB3YW50IHRvIHNlZSAuY29uZmlnCisjIEJ1dCBmb3IgZmlybXdhcmVfaW5zdGFsbCwgd2UgZG9uJ3QgY2FyZSwgYnV0IGRvbid0IHdhbnQgdG8gcmVxdWlyZSBpdC4KKy1pbmNsdWRlICQob2JqdHJlZSkvLmNvbmZpZworCitpbmNsdWRlIHNjcmlwdHMvS2J1aWxkLmluY2x1ZGUKK2luY2x1ZGUgJChzcmN0cmVlKS8kKG9iaikvTWFrZWZpbGUKKworaW5jbHVkZSBzY3JpcHRzL01ha2VmaWxlLmhvc3QKKworbW9kLWZ3IDo9ICQoYWRkcHJlZml4ICQoSU5TVEFMTF9GV19QQVRIKS8sJChmdy1zaGlwcGVkLW0pKQorCisjIElmIENPTkZJR19GSVJNV0FSRV9JTl9LRVJORUwgaXNuJ3Qgc2V0LCB0aGVuIGluc3RhbGwgdGhlIAorIyBmaXJtd2FyZSBmb3IgaW4ta2VybmVsIGRyaXZlcnMgdG9vLgoraWZuZGVmIENPTkZJR19GSVJNV0FSRV9JTl9LRVJORUwKK21vZC1mdyArPSAkKGFkZHByZWZpeCAkKElOU1RBTExfRldfUEFUSCkvLCQoZnctc2hpcHBlZC15KSkKK2VuZGlmCisKK2luc3RhbGxlZC1mdyA6PSAkKGFkZHByZWZpeCAkKElOU1RBTExfRldfUEFUSCkvLCQoZnctc2hpcHBlZC1hbGwpKQoraW5zdGFsbGVkLWZ3LWRpcnMgOj0gJChzb3J0ICQoZGlyICQoaW5zdGFsbGVkLWZ3KSkpICQoSU5TVEFMTF9GV19QQVRIKS8uCisKK3F1aWV0X2NtZF9pbnN0YWxsID0gSU5TVEFMTCAkKHN1YnN0ICQoc3JjdHJlZSkvLCwkQCkKKyAgICAgIGNtZF9pbnN0YWxsID0gJChJTlNUQUxMKSAtbTA2NDQgJDwgJEAKKworJChpbnN0YWxsZWQtZnctZGlycyk6CisJJChjYWxsIGNtZCxta2RpcikKKworJChpbnN0YWxsZWQtZncpOiAkKElOU1RBTExfRldfUEFUSCkvJTogJChvYmopLyUgfCAkKElOU1RBTExfRldfUEFUSCkvJCQoZGlyICUpLworCSQoY2FsbCBjbWQsaW5zdGFsbCkKKworLlBIT05ZOiBfX2Z3X2luc3RhbGwgX19md19tb2RpbnN0IEZPUkNFCisKK19fZndfaW5zdGFsbDogJChpbnN0YWxsZWQtZncpCitfX2Z3X21vZGluc3Q6ICQobW9kLWZ3KQorCitGT1JDRToKZGlmZiAtLWdpdCBhL3NjcmlwdHMvTWFrZWZpbGUubGliIGIvc2NyaXB0cy9NYWtlZmlsZS5saWIKaW5kZXggOGU0NDAyMy4uZWE0OGI4MiAxMDA2NDQKLS0tIGEvc2NyaXB0cy9NYWtlZmlsZS5saWIKKysrIGIvc2NyaXB0cy9NYWtlZmlsZS5saWIKQEAgLTk2LDcgKzk2LDggQEAKIG1vZG5hbWVfZmxhZ3MgID0gJChpZiAkKGZpbHRlciAxLCQod29yZHMgJChtb2RuYW1lKSkpLFwKICAgICAgICAgICAgICAgICAgLUQiS0JVSUxEX01PRE5BTUU9S0JVSUxEX1NUUigkKGNhbGwgbmFtZS1maXgsJChtb2RuYW1lKSkpIikKIAotX2NfZmxhZ3MgICAgICAgPSAkKEtCVUlMRF9DRkxBR1MpICQoY2NmbGFncy15KSAkKENGTEFHU18kKGJhc2V0YXJnZXQpLm8pCitvcmlnX2NfZmxhZ3MgICA9ICQoS0JVSUxEX0NGTEFHUykgJChjY2ZsYWdzLXkpICQoQ0ZMQUdTXyQoYmFzZXRhcmdldCkubykKK19jX2ZsYWdzICAgICAgID0gJChmaWx0ZXItb3V0ICQoQ0ZMQUdTX1JFTU9WRV8kKGJhc2V0YXJnZXQpLm8pLCAkKG9yaWdfY19mbGFncykpCiBfYV9mbGFncyAgICAgICA9ICQoS0JVSUxEX0FGTEFHUykgJChhc2ZsYWdzLXkpICQoQUZMQUdTXyQoYmFzZXRhcmdldCkubykKIF9jcHBfZmxhZ3MgICAgID0gJChLQlVJTERfQ1BQRkxBR1MpICQoY3BwZmxhZ3MteSkgJChDUFBGTEFHU18kKEBGKSkKIApkaWZmIC0tZ2l0IGEvc2NyaXB0cy9tb2QvZmlsZTJhbGlhcy5jIGIvc2NyaXB0cy9tb2QvZmlsZTJhbGlhcy5jCmluZGV4IGNlYTRhNzkuLjM3ZDVjMzYgMTAwNjQ0Ci0tLSBhL3NjcmlwdHMvbW9kL2ZpbGUyYWxpYXMuYworKysgYi9zY3JpcHRzL21vZC9maWxlMmFsaWFzLmMKQEAgLTMwNCw2ICszMDQsMTQgQEAKIAlyZXR1cm4gMTsKIH0KIAorLyogbG9va3MgbGlrZTogImNzczp0TiIgKi8KK3N0YXRpYyBpbnQgZG9fY3NzX2VudHJ5KGNvbnN0IGNoYXIgKmZpbGVuYW1lLAorCQkJc3RydWN0IGNzc19kZXZpY2VfaWQgKmlkLCBjaGFyICphbGlhcykKK3sKKwlzcHJpbnRmKGFsaWFzLCAiY3NzOnQlMDFYIiwgaWQtPnR5cGUpOworCXJldHVybiAxOworfQorCiAvKiBMb29rcyBsaWtlOiAic2VyaW86dHlOcHJOaWROZXhOIiAqLwogc3RhdGljIGludCBkb19zZXJpb19lbnRyeShjb25zdCBjaGFyICpmaWxlbmFtZSwKIAkJCSAgc3RydWN0IHNlcmlvX2RldmljZV9pZCAqaWQsIGNoYXIgKmFsaWFzKQpAQCAtNjgwLDYgKzY4OCwxMCBAQAogCQlkb190YWJsZShzeW12YWwsIHN5bS0+c3Rfc2l6ZSwKIAkJCSBzaXplb2Yoc3RydWN0IGFwX2RldmljZV9pZCksICJhcCIsCiAJCQkgZG9fYXBfZW50cnksIG1vZCk7CisJZWxzZSBpZiAoc3ltX2lzKHN5bW5hbWUsICJfX21vZF9jc3NfZGV2aWNlX3RhYmxlIikpCisJCWRvX3RhYmxlKHN5bXZhbCwgc3ltLT5zdF9zaXplLAorCQkJIHNpemVvZihzdHJ1Y3QgY3NzX2RldmljZV9pZCksICJjc3MiLAorCQkJIGRvX2Nzc19lbnRyeSwgbW9kKTsKIAllbHNlIGlmIChzeW1faXMoc3ltbmFtZSwgIl9fbW9kX3NlcmlvX2RldmljZV90YWJsZSIpKQogCQlkb190YWJsZShzeW12YWwsIHN5bS0+c3Rfc2l6ZSwKIAkJCSBzaXplb2Yoc3RydWN0IHNlcmlvX2RldmljZV9pZCksICJzZXJpbyIsCmRpZmYgLS1naXQgYS9zZWN1cml0eS9LY29uZmlnIGIvc2VjdXJpdHkvS2NvbmZpZwppbmRleCA0OWI1MWY5Li42MmVkNDcxIDEwMDY0NAotLS0gYS9zZWN1cml0eS9LY29uZmlnCisrKyBiL3NlY3VyaXR5L0tjb25maWcKQEAgLTczLDE3ICs3Myw5IEBACiAJICBJUFNlYy4KIAkgIElmIHlvdSBhcmUgdW5zdXJlIGhvdyB0byBhbnN3ZXIgdGhpcyBxdWVzdGlvbiwgYW5zd2VyIE4uCiAKLWNvbmZpZyBTRUNVUklUWV9DQVBBQklMSVRJRVMKLQlib29sICJEZWZhdWx0IExpbnV4IENhcGFiaWxpdGllcyIKLQlkZXBlbmRzIG9uIFNFQ1VSSVRZCi0JZGVmYXVsdCB5Ci0JaGVscAotCSAgVGhpcyBlbmFibGVzIHRoZSAiZGVmYXVsdCIgTGludXggY2FwYWJpbGl0aWVzIGZ1bmN0aW9uYWxpdHkuCi0JICBJZiB5b3UgYXJlIHVuc3VyZSBob3cgdG8gYW5zd2VyIHRoaXMgcXVlc3Rpb24sIGFuc3dlciBZLgotCiBjb25maWcgU0VDVVJJVFlfRklMRV9DQVBBQklMSVRJRVMKIAlib29sICJGaWxlIFBPU0lYIENhcGFiaWxpdGllcyAoRVhQRVJJTUVOVEFMKSIKLQlkZXBlbmRzIG9uIChTRUNVUklUWT1uIHx8IFNFQ1VSSVRZX0NBUEFCSUxJVElFUyE9bikgJiYgRVhQRVJJTUVOVEFMCisJZGVwZW5kcyBvbiBFWFBFUklNRU5UQUwKIAlkZWZhdWx0IG4KIAloZWxwCiAJICBUaGlzIGVuYWJsZXMgZmlsZXN5c3RlbSBjYXBhYmlsaXRpZXMsIGFsbG93aW5nIHlvdSB0byBnaXZlCmRpZmYgLS1naXQgYS9zZWN1cml0eS9NYWtlZmlsZSBiL3NlY3VyaXR5L01ha2VmaWxlCmluZGV4IDdlZjExMDcuLmY2NTQyNjAgMTAwNjQ0Ci0tLSBhL3NlY3VyaXR5L01ha2VmaWxlCisrKyBiL3NlY3VyaXR5L01ha2VmaWxlCkBAIC02LDE2ICs2LDEzIEBACiBzdWJkaXItJChDT05GSUdfU0VDVVJJVFlfU0VMSU5VWCkJKz0gc2VsaW51eAogc3ViZGlyLSQoQ09ORklHX1NFQ1VSSVRZX1NNQUNLKQkJKz0gc21hY2sKIAotIyBpZiB3ZSBkb24ndCBzZWxlY3QgYSBzZWN1cml0eSBtb2RlbCwgdXNlIHRoZSBkZWZhdWx0IGNhcGFiaWxpdGllcwotaWZuZXEgKCQoQ09ORklHX1NFQ1VSSVRZKSx5KQorIyBhbHdheXMgZW5hYmxlIGRlZmF1bHQgY2FwYWJpbGl0aWVzCiBvYmoteQkJKz0gY29tbW9uY2FwLm8KLWVuZGlmCiAKICMgT2JqZWN0IGZpbGUgbGlzdHMKLW9iai0kKENPTkZJR19TRUNVUklUWSkJCQkrPSBzZWN1cml0eS5vIGR1bW15Lm8gaW5vZGUubworb2JqLSQoQ09ORklHX1NFQ1VSSVRZKQkJCSs9IHNlY3VyaXR5Lm8gY2FwYWJpbGl0eS5vIGlub2RlLm8KICMgTXVzdCBwcmVjZWRlIGNhcGFiaWxpdHkubyBpbiBvcmRlciB0byBzdGFjayBwcm9wZXJseS4KIG9iai0kKENPTkZJR19TRUNVUklUWV9TRUxJTlVYKQkJKz0gc2VsaW51eC9idWlsdC1pbi5vCi1vYmotJChDT05GSUdfU0VDVVJJVFlfU01BQ0spCQkrPSBjb21tb25jYXAubyBzbWFjay9idWlsdC1pbi5vCi1vYmotJChDT05GSUdfU0VDVVJJVFlfQ0FQQUJJTElUSUVTKQkrPSBjb21tb25jYXAubyBjYXBhYmlsaXR5Lm8KLW9iai0kKENPTkZJR19TRUNVUklUWV9ST09UUExVRykJCSs9IGNvbW1vbmNhcC5vIHJvb3RfcGx1Zy5vCitvYmotJChDT05GSUdfU0VDVVJJVFlfU01BQ0spCQkrPSBzbWFjay9idWlsdC1pbi5vCitvYmotJChDT05GSUdfU0VDVVJJVFlfUk9PVFBMVUcpCQkrPSByb290X3BsdWcubwogb2JqLSQoQ09ORklHX0NHUk9VUF9ERVZJQ0UpCQkrPSBkZXZpY2VfY2dyb3VwLm8KZGlmZiAtLWdpdCBhL3NlY3VyaXR5L2NhcGFiaWxpdHkuYyBiL3NlY3VyaXR5L2NhcGFiaWxpdHkuYwppbmRleCAzOGFjNTRlLi41YjAxYzBiIDEwMDY0NAotLS0gYS9zZWN1cml0eS9jYXBhYmlsaXR5LmMKKysrIGIvc2VjdXJpdHkvY2FwYWJpbGl0eS5jCkBAIC0xLDYgKzEsOCBAQAogLyoKICAqICBDYXBhYmlsaXRpZXMgTGludXggU2VjdXJpdHkgTW9kdWxlCiAgKgorICogIFRoaXMgaXMgdGhlIGRlZmF1bHQgc2VjdXJpdHkgbW9kdWxlIGluIGNhc2Ugbm8gb3RoZXIgbW9kdWxlIGlzIGxvYWRlZC4KKyAqCiAgKglUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogICoJaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICAqCXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCkBAIC04LDc1ICsxMCw5ODggQEAKICAqCiAgKi8KIAotI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KLSNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KICNpbmNsdWRlIDxsaW51eC9zZWN1cml0eS5oPgotI2luY2x1ZGUgPGxpbnV4L2ZpbGUuaD4KLSNpbmNsdWRlIDxsaW51eC9tbS5oPgotI2luY2x1ZGUgPGxpbnV4L21tYW4uaD4KLSNpbmNsdWRlIDxsaW51eC9wYWdlbWFwLmg+Ci0jaW5jbHVkZSA8bGludXgvc3dhcC5oPgotI2luY2x1ZGUgPGxpbnV4L3NrYnVmZi5oPgotI2luY2x1ZGUgPGxpbnV4L25ldGxpbmsuaD4KLSNpbmNsdWRlIDxsaW51eC9wdHJhY2UuaD4KLSNpbmNsdWRlIDxsaW51eC9tb2R1bGVwYXJhbS5oPgogCi1zdGF0aWMgc3RydWN0IHNlY3VyaXR5X29wZXJhdGlvbnMgY2FwYWJpbGl0eV9vcHMgPSB7Ci0JLnB0cmFjZSA9CQkJY2FwX3B0cmFjZSwKLQkuY2FwZ2V0ID0JCQljYXBfY2FwZ2V0LAotCS5jYXBzZXRfY2hlY2sgPQkJCWNhcF9jYXBzZXRfY2hlY2ssCi0JLmNhcHNldF9zZXQgPQkJCWNhcF9jYXBzZXRfc2V0LAotCS5jYXBhYmxlID0JCQljYXBfY2FwYWJsZSwKLQkuc2V0dGltZSA9CQkJY2FwX3NldHRpbWUsCi0JLm5ldGxpbmtfc2VuZCA9CQkJY2FwX25ldGxpbmtfc2VuZCwKLQkubmV0bGlua19yZWN2ID0JCQljYXBfbmV0bGlua19yZWN2LAotCi0JLmJwcm1fYXBwbHlfY3JlZHMgPQkJY2FwX2Jwcm1fYXBwbHlfY3JlZHMsCi0JLmJwcm1fc2V0X3NlY3VyaXR5ID0JCWNhcF9icHJtX3NldF9zZWN1cml0eSwKLQkuYnBybV9zZWN1cmVleGVjID0JCWNhcF9icHJtX3NlY3VyZWV4ZWMsCi0KLQkuaW5vZGVfc2V0eGF0dHIgPQkJY2FwX2lub2RlX3NldHhhdHRyLAotCS5pbm9kZV9yZW1vdmV4YXR0ciA9CQljYXBfaW5vZGVfcmVtb3ZleGF0dHIsCi0JLmlub2RlX25lZWRfa2lsbHByaXYgPQkJY2FwX2lub2RlX25lZWRfa2lsbHByaXYsCi0JLmlub2RlX2tpbGxwcml2ID0JCWNhcF9pbm9kZV9raWxscHJpdiwKLQotCS50YXNrX3NldHNjaGVkdWxlciA9CQljYXBfdGFza19zZXRzY2hlZHVsZXIsCi0JLnRhc2tfc2V0aW9wcmlvID0JCWNhcF90YXNrX3NldGlvcHJpbywKLQkudGFza19zZXRuaWNlID0JCQljYXBfdGFza19zZXRuaWNlLAotCS50YXNrX3Bvc3Rfc2V0dWlkID0JCWNhcF90YXNrX3Bvc3Rfc2V0dWlkLAotCS50YXNrX3ByY3RsID0gICAgICAgICAgICAgICAgICAgY2FwX3Rhc2tfcHJjdGwsCi0JLnRhc2tfcmVwYXJlbnRfdG9faW5pdCA9CWNhcF90YXNrX3JlcGFyZW50X3RvX2luaXQsCi0KLQkuc3lzbG9nID0gICAgICAgICAgICAgICAgICAgICAgIGNhcF9zeXNsb2csCi0KLQkudm1fZW5vdWdoX21lbW9yeSA9ICAgICAgICAgICAgIGNhcF92bV9lbm91Z2hfbWVtb3J5LAotfTsKLQotLyogZmxhZyB0byBrZWVwIHRyYWNrIG9mIGhvdyB3ZSB3ZXJlIHJlZ2lzdGVyZWQgKi8KLXN0YXRpYyBpbnQgc2Vjb25kYXJ5OwotCi1zdGF0aWMgaW50IGNhcGFiaWxpdHlfZGlzYWJsZTsKLW1vZHVsZV9wYXJhbV9uYW1lZChkaXNhYmxlLCBjYXBhYmlsaXR5X2Rpc2FibGUsIGludCwgMCk7Ci0KLXN0YXRpYyBpbnQgX19pbml0IGNhcGFiaWxpdHlfaW5pdCAodm9pZCkKK3N0YXRpYyBpbnQgY2FwX2FjY3Qoc3RydWN0IGZpbGUgKmZpbGUpCiB7Ci0JaWYgKGNhcGFiaWxpdHlfZGlzYWJsZSkgewotCQlwcmludGsoS0VSTl9JTkZPICJDYXBhYmlsaXRpZXMgZGlzYWJsZWQgYXQgaW5pdGlhbGl6YXRpb25cbiIpOwotCQlyZXR1cm4gMDsKLQl9Ci0JLyogcmVnaXN0ZXIgb3Vyc2VsdmVzIHdpdGggdGhlIHNlY3VyaXR5IGZyYW1ld29yayAqLwotCWlmIChyZWdpc3Rlcl9zZWN1cml0eSAoJmNhcGFiaWxpdHlfb3BzKSkgewotCQkvKiB0cnkgcmVnaXN0ZXJpbmcgd2l0aCBwcmltYXJ5IG1vZHVsZSAqLwotCQlpZiAobW9kX3JlZ19zZWN1cml0eSAoS0JVSUxEX01PRE5BTUUsICZjYXBhYmlsaXR5X29wcykpIHsKLQkJCXByaW50ayAoS0VSTl9JTkZPICJGYWlsdXJlIHJlZ2lzdGVyaW5nIGNhcGFiaWxpdGllcyAiCi0JCQkJIndpdGggcHJpbWFyeSBzZWN1cml0eSBtb2R1bGUuXG4iKTsKLQkJCXJldHVybiAtRUlOVkFMOwotCQl9Ci0JCXNlY29uZGFyeSA9IDE7Ci0JfQotCXByaW50ayAoS0VSTl9JTkZPICJDYXBhYmlsaXR5IExTTSBpbml0aWFsaXplZCVzXG4iLAotCQlzZWNvbmRhcnkgPyAiIGFzIHNlY29uZGFyeSIgOiAiIik7CiAJcmV0dXJuIDA7CiB9CiAKLXNlY3VyaXR5X2luaXRjYWxsIChjYXBhYmlsaXR5X2luaXQpOworc3RhdGljIGludCBjYXBfc3lzY3RsKGN0bF90YWJsZSAqdGFibGUsIGludCBvcCkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfcXVvdGFjdGwoaW50IGNtZHMsIGludCB0eXBlLCBpbnQgaWQsIHN0cnVjdCBzdXBlcl9ibG9jayAqc2IpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3F1b3RhX29uKHN0cnVjdCBkZW50cnkgKmRlbnRyeSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfYnBybV9hbGxvY19zZWN1cml0eShzdHJ1Y3QgbGludXhfYmlucHJtICpicHJtKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBjYXBfYnBybV9mcmVlX3NlY3VyaXR5KHN0cnVjdCBsaW51eF9iaW5wcm0gKmJwcm0pCit7Cit9CisKK3N0YXRpYyB2b2lkIGNhcF9icHJtX3Bvc3RfYXBwbHlfY3JlZHMoc3RydWN0IGxpbnV4X2JpbnBybSAqYnBybSkKK3sKK30KKworc3RhdGljIGludCBjYXBfYnBybV9jaGVja19zZWN1cml0eShzdHJ1Y3QgbGludXhfYmlucHJtICpicHJtKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9zYl9hbGxvY19zZWN1cml0eShzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBjYXBfc2JfZnJlZV9zZWN1cml0eShzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiKQoreworfQorCitzdGF0aWMgaW50IGNhcF9zYl9jb3B5X2RhdGEoY2hhciAqb3JpZywgY2hhciAqY29weSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfc2Jfa2Vybl9tb3VudChzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLCB2b2lkICpkYXRhKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9zYl9zaG93X29wdGlvbnMoc3RydWN0IHNlcV9maWxlICptLCBzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9zYl9zdGF0ZnMoc3RydWN0IGRlbnRyeSAqZGVudHJ5KQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9zYl9tb3VudChjaGFyICpkZXZfbmFtZSwgc3RydWN0IHBhdGggKnBhdGgsIGNoYXIgKnR5cGUsCisJCQl1bnNpZ25lZCBsb25nIGZsYWdzLCB2b2lkICpkYXRhKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9zYl9jaGVja19zYihzdHJ1Y3QgdmZzbW91bnQgKm1udCwgc3RydWN0IHBhdGggKnBhdGgpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NiX3Vtb3VudChzdHJ1Y3QgdmZzbW91bnQgKm1udCwgaW50IGZsYWdzKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBjYXBfc2JfdW1vdW50X2Nsb3NlKHN0cnVjdCB2ZnNtb3VudCAqbW50KQoreworfQorCitzdGF0aWMgdm9pZCBjYXBfc2JfdW1vdW50X2J1c3koc3RydWN0IHZmc21vdW50ICptbnQpCit7Cit9CisKK3N0YXRpYyB2b2lkIGNhcF9zYl9wb3N0X3JlbW91bnQoc3RydWN0IHZmc21vdW50ICptbnQsIHVuc2lnbmVkIGxvbmcgZmxhZ3MsCisJCQkJdm9pZCAqZGF0YSkKK3sKK30KKworc3RhdGljIHZvaWQgY2FwX3NiX3Bvc3RfYWRkbW91bnQoc3RydWN0IHZmc21vdW50ICptbnQsIHN0cnVjdCBwYXRoICpwYXRoKQoreworfQorCitzdGF0aWMgaW50IGNhcF9zYl9waXZvdHJvb3Qoc3RydWN0IHBhdGggKm9sZF9wYXRoLCBzdHJ1Y3QgcGF0aCAqbmV3X3BhdGgpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGNhcF9zYl9wb3N0X3Bpdm90cm9vdChzdHJ1Y3QgcGF0aCAqb2xkX3BhdGgsIHN0cnVjdCBwYXRoICpuZXdfcGF0aCkKK3sKK30KKworc3RhdGljIGludCBjYXBfc2Jfc2V0X21udF9vcHRzKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsCisJCQkgICAgICAgc3RydWN0IHNlY3VyaXR5X21udF9vcHRzICpvcHRzKQoreworCWlmICh1bmxpa2VseShvcHRzLT5udW1fbW50X29wdHMpKQorCQlyZXR1cm4gLUVPUE5PVFNVUFA7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGNhcF9zYl9jbG9uZV9tbnRfb3B0cyhjb25zdCBzdHJ1Y3Qgc3VwZXJfYmxvY2sgKm9sZHNiLAorCQkJCSAgc3RydWN0IHN1cGVyX2Jsb2NrICpuZXdzYikKK3sKK30KKworc3RhdGljIGludCBjYXBfc2JfcGFyc2Vfb3B0c19zdHIoY2hhciAqb3B0aW9ucywgc3RydWN0IHNlY3VyaXR5X21udF9vcHRzICpvcHRzKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9pbm9kZV9hbGxvY19zZWN1cml0eShzdHJ1Y3QgaW5vZGUgKmlub2RlKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBjYXBfaW5vZGVfZnJlZV9zZWN1cml0eShzdHJ1Y3QgaW5vZGUgKmlub2RlKQoreworfQorCitzdGF0aWMgaW50IGNhcF9pbm9kZV9pbml0X3NlY3VyaXR5KHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBpbm9kZSAqZGlyLAorCQkJCSAgIGNoYXIgKipuYW1lLCB2b2lkICoqdmFsdWUsIHNpemVfdCAqbGVuKQoreworCXJldHVybiAtRU9QTk9UU1VQUDsKK30KKworc3RhdGljIGludCBjYXBfaW5vZGVfY3JlYXRlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBkZW50cnkgKmRlbnRyeSwKKwkJCSAgICBpbnQgbWFzaykKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfaW5vZGVfbGluayhzdHJ1Y3QgZGVudHJ5ICpvbGRfZGVudHJ5LCBzdHJ1Y3QgaW5vZGUgKmlub2RlLAorCQkJICBzdHJ1Y3QgZGVudHJ5ICpuZXdfZGVudHJ5KQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9pbm9kZV91bmxpbmsoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGRlbnRyeSAqZGVudHJ5KQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9pbm9kZV9zeW1saW5rKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBkZW50cnkgKmRlbnRyeSwKKwkJCSAgICAgY29uc3QgY2hhciAqbmFtZSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfaW5vZGVfbWtkaXIoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGRlbnRyeSAqZGVudHJ5LAorCQkJICAgaW50IG1hc2spCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2lub2RlX3JtZGlyKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBkZW50cnkgKmRlbnRyeSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfaW5vZGVfbWtub2Qoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGRlbnRyeSAqZGVudHJ5LAorCQkJICAgaW50IG1vZGUsIGRldl90IGRldikKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfaW5vZGVfcmVuYW1lKHN0cnVjdCBpbm9kZSAqb2xkX2lub2RlLCBzdHJ1Y3QgZGVudHJ5ICpvbGRfZGVudHJ5LAorCQkJICAgIHN0cnVjdCBpbm9kZSAqbmV3X2lub2RlLCBzdHJ1Y3QgZGVudHJ5ICpuZXdfZGVudHJ5KQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9pbm9kZV9yZWFkbGluayhzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2lub2RlX2ZvbGxvd19saW5rKHN0cnVjdCBkZW50cnkgKmRlbnRyeSwKKwkJCQkgc3RydWN0IG5hbWVpZGF0YSAqbmFtZWlkYXRhKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9pbm9kZV9wZXJtaXNzaW9uKHN0cnVjdCBpbm9kZSAqaW5vZGUsIGludCBtYXNrLAorCQkJCXN0cnVjdCBuYW1laWRhdGEgKm5kKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9pbm9kZV9zZXRhdHRyKHN0cnVjdCBkZW50cnkgKmRlbnRyeSwgc3RydWN0IGlhdHRyICppYXR0cikKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfaW5vZGVfZ2V0YXR0cihzdHJ1Y3QgdmZzbW91bnQgKm1udCwgc3RydWN0IGRlbnRyeSAqZGVudHJ5KQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBjYXBfaW5vZGVfZGVsZXRlKHN0cnVjdCBpbm9kZSAqaW5vKQoreworfQorCitzdGF0aWMgdm9pZCBjYXBfaW5vZGVfcG9zdF9zZXR4YXR0cihzdHJ1Y3QgZGVudHJ5ICpkZW50cnksIGNvbnN0IGNoYXIgKm5hbWUsCisJCQkJICAgIGNvbnN0IHZvaWQgKnZhbHVlLCBzaXplX3Qgc2l6ZSwgaW50IGZsYWdzKQoreworfQorCitzdGF0aWMgaW50IGNhcF9pbm9kZV9nZXR4YXR0cihzdHJ1Y3QgZGVudHJ5ICpkZW50cnksIGNvbnN0IGNoYXIgKm5hbWUpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2lub2RlX2xpc3R4YXR0cihzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2lub2RlX2dldHNlY3VyaXR5KGNvbnN0IHN0cnVjdCBpbm9kZSAqaW5vZGUsIGNvbnN0IGNoYXIgKm5hbWUsCisJCQkJIHZvaWQgKipidWZmZXIsIGJvb2wgYWxsb2MpCit7CisJcmV0dXJuIC1FT1BOT1RTVVBQOworfQorCitzdGF0aWMgaW50IGNhcF9pbm9kZV9zZXRzZWN1cml0eShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBjb25zdCBjaGFyICpuYW1lLAorCQkJCSBjb25zdCB2b2lkICp2YWx1ZSwgc2l6ZV90IHNpemUsIGludCBmbGFncykKK3sKKwlyZXR1cm4gLUVPUE5PVFNVUFA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2lub2RlX2xpc3RzZWN1cml0eShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBjaGFyICpidWZmZXIsCisJCQkJICBzaXplX3QgYnVmZmVyX3NpemUpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGNhcF9pbm9kZV9nZXRzZWNpZChjb25zdCBzdHJ1Y3QgaW5vZGUgKmlub2RlLCB1MzIgKnNlY2lkKQoreworCSpzZWNpZCA9IDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2ZpbGVfcGVybWlzc2lvbihzdHJ1Y3QgZmlsZSAqZmlsZSwgaW50IG1hc2spCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2ZpbGVfYWxsb2Nfc2VjdXJpdHkoc3RydWN0IGZpbGUgKmZpbGUpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGNhcF9maWxlX2ZyZWVfc2VjdXJpdHkoc3RydWN0IGZpbGUgKmZpbGUpCit7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2ZpbGVfaW9jdGwoc3RydWN0IGZpbGUgKmZpbGUsIHVuc2lnbmVkIGludCBjb21tYW5kLAorCQkJICB1bnNpZ25lZCBsb25nIGFyZykKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfZmlsZV9tbWFwKHN0cnVjdCBmaWxlICpmaWxlLCB1bnNpZ25lZCBsb25nIHJlcXByb3QsCisJCQkgdW5zaWduZWQgbG9uZyBwcm90LCB1bnNpZ25lZCBsb25nIGZsYWdzLAorCQkJIHVuc2lnbmVkIGxvbmcgYWRkciwgdW5zaWduZWQgbG9uZyBhZGRyX29ubHkpCit7CisJaWYgKChhZGRyIDwgbW1hcF9taW5fYWRkcikgJiYgIWNhcGFibGUoQ0FQX1NZU19SQVdJTykpCisJCXJldHVybiAtRUFDQ0VTOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9maWxlX21wcm90ZWN0KHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hLCB1bnNpZ25lZCBsb25nIHJlcXByb3QsCisJCQkgICAgIHVuc2lnbmVkIGxvbmcgcHJvdCkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfZmlsZV9sb2NrKHN0cnVjdCBmaWxlICpmaWxlLCB1bnNpZ25lZCBpbnQgY21kKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9maWxlX2ZjbnRsKHN0cnVjdCBmaWxlICpmaWxlLCB1bnNpZ25lZCBpbnQgY21kLAorCQkJICB1bnNpZ25lZCBsb25nIGFyZykKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfZmlsZV9zZXRfZm93bmVyKHN0cnVjdCBmaWxlICpmaWxlKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9maWxlX3NlbmRfc2lnaW90YXNrKHN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrLAorCQkJCSAgIHN0cnVjdCBmb3duX3N0cnVjdCAqZm93biwgaW50IHNpZykKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfZmlsZV9yZWNlaXZlKHN0cnVjdCBmaWxlICpmaWxlKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9kZW50cnlfb3BlbihzdHJ1Y3QgZmlsZSAqZmlsZSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfdGFza19jcmVhdGUodW5zaWduZWQgbG9uZyBjbG9uZV9mbGFncykKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfdGFza19hbGxvY19zZWN1cml0eShzdHJ1Y3QgdGFza19zdHJ1Y3QgKnApCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGNhcF90YXNrX2ZyZWVfc2VjdXJpdHkoc3RydWN0IHRhc2tfc3RydWN0ICpwKQoreworfQorCitzdGF0aWMgaW50IGNhcF90YXNrX3NldHVpZCh1aWRfdCBpZDAsIHVpZF90IGlkMSwgdWlkX3QgaWQyLCBpbnQgZmxhZ3MpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3Rhc2tfc2V0Z2lkKGdpZF90IGlkMCwgZ2lkX3QgaWQxLCBnaWRfdCBpZDIsIGludCBmbGFncykKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfdGFza19zZXRwZ2lkKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgcGlkX3QgcGdpZCkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfdGFza19nZXRwZ2lkKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfdGFza19nZXRzaWQoc3RydWN0IHRhc2tfc3RydWN0ICpwKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBjYXBfdGFza19nZXRzZWNpZChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAsIHUzMiAqc2VjaWQpCit7CisJKnNlY2lkID0gMDsKK30KKworc3RhdGljIGludCBjYXBfdGFza19zZXRncm91cHMoc3RydWN0IGdyb3VwX2luZm8gKmdyb3VwX2luZm8pCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3Rhc2tfZ2V0aW9wcmlvKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfdGFza19zZXRybGltaXQodW5zaWduZWQgaW50IHJlc291cmNlLCBzdHJ1Y3QgcmxpbWl0ICpuZXdfcmxpbSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfdGFza19nZXRzY2hlZHVsZXIoc3RydWN0IHRhc2tfc3RydWN0ICpwKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF90YXNrX21vdmVtZW1vcnkoc3RydWN0IHRhc2tfc3RydWN0ICpwKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF90YXNrX3dhaXQoc3RydWN0IHRhc2tfc3RydWN0ICpwKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF90YXNrX2tpbGwoc3RydWN0IHRhc2tfc3RydWN0ICpwLCBzdHJ1Y3Qgc2lnaW5mbyAqaW5mbywKKwkJCSBpbnQgc2lnLCB1MzIgc2VjaWQpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGNhcF90YXNrX3RvX2lub2RlKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgc3RydWN0IGlub2RlICppbm9kZSkKK3sKK30KKworc3RhdGljIGludCBjYXBfaXBjX3Blcm1pc3Npb24oc3RydWN0IGtlcm5faXBjX3Blcm0gKmlwY3AsIHNob3J0IGZsYWcpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGNhcF9pcGNfZ2V0c2VjaWQoc3RydWN0IGtlcm5faXBjX3Blcm0gKmlwY3AsIHUzMiAqc2VjaWQpCit7CisJKnNlY2lkID0gMDsKK30KKworc3RhdGljIGludCBjYXBfbXNnX21zZ19hbGxvY19zZWN1cml0eShzdHJ1Y3QgbXNnX21zZyAqbXNnKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBjYXBfbXNnX21zZ19mcmVlX3NlY3VyaXR5KHN0cnVjdCBtc2dfbXNnICptc2cpCit7Cit9CisKK3N0YXRpYyBpbnQgY2FwX21zZ19xdWV1ZV9hbGxvY19zZWN1cml0eShzdHJ1Y3QgbXNnX3F1ZXVlICptc3EpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGNhcF9tc2dfcXVldWVfZnJlZV9zZWN1cml0eShzdHJ1Y3QgbXNnX3F1ZXVlICptc3EpCit7Cit9CisKK3N0YXRpYyBpbnQgY2FwX21zZ19xdWV1ZV9hc3NvY2lhdGUoc3RydWN0IG1zZ19xdWV1ZSAqbXNxLCBpbnQgbXNxZmxnKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9tc2dfcXVldWVfbXNnY3RsKHN0cnVjdCBtc2dfcXVldWUgKm1zcSwgaW50IGNtZCkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfbXNnX3F1ZXVlX21zZ3NuZChzdHJ1Y3QgbXNnX3F1ZXVlICptc3EsIHN0cnVjdCBtc2dfbXNnICptc2csCisJCQkJaW50IG1zZ2ZsZykKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfbXNnX3F1ZXVlX21zZ3JjdihzdHJ1Y3QgbXNnX3F1ZXVlICptc3EsIHN0cnVjdCBtc2dfbXNnICptc2csCisJCQkJc3RydWN0IHRhc2tfc3RydWN0ICp0YXJnZXQsIGxvbmcgdHlwZSwgaW50IG1vZGUpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NobV9hbGxvY19zZWN1cml0eShzdHJ1Y3Qgc2htaWRfa2VybmVsICpzaHApCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGNhcF9zaG1fZnJlZV9zZWN1cml0eShzdHJ1Y3Qgc2htaWRfa2VybmVsICpzaHApCit7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NobV9hc3NvY2lhdGUoc3RydWN0IHNobWlkX2tlcm5lbCAqc2hwLCBpbnQgc2htZmxnKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9zaG1fc2htY3RsKHN0cnVjdCBzaG1pZF9rZXJuZWwgKnNocCwgaW50IGNtZCkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfc2htX3NobWF0KHN0cnVjdCBzaG1pZF9rZXJuZWwgKnNocCwgY2hhciBfX3VzZXIgKnNobWFkZHIsCisJCQkgaW50IHNobWZsZykKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfc2VtX2FsbG9jX3NlY3VyaXR5KHN0cnVjdCBzZW1fYXJyYXkgKnNtYSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgY2FwX3NlbV9mcmVlX3NlY3VyaXR5KHN0cnVjdCBzZW1fYXJyYXkgKnNtYSkKK3sKK30KKworc3RhdGljIGludCBjYXBfc2VtX2Fzc29jaWF0ZShzdHJ1Y3Qgc2VtX2FycmF5ICpzbWEsIGludCBzZW1mbGcpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NlbV9zZW1jdGwoc3RydWN0IHNlbV9hcnJheSAqc21hLCBpbnQgY21kKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9zZW1fc2Vtb3Aoc3RydWN0IHNlbV9hcnJheSAqc21hLCBzdHJ1Y3Qgc2VtYnVmICpzb3BzLAorCQkJIHVuc2lnbmVkIG5zb3BzLCBpbnQgYWx0ZXIpCit7CisJcmV0dXJuIDA7Cit9CisKKyNpZmRlZiBDT05GSUdfU0VDVVJJVFlfTkVUV09SSworc3RhdGljIGludCBjYXBfdW5peF9zdHJlYW1fY29ubmVjdChzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBzdHJ1Y3Qgc29ja2V0ICpvdGhlciwKKwkJCQkgICBzdHJ1Y3Qgc29jayAqbmV3c2spCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3VuaXhfbWF5X3NlbmQoc3RydWN0IHNvY2tldCAqc29jaywgc3RydWN0IHNvY2tldCAqb3RoZXIpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NvY2tldF9jcmVhdGUoaW50IGZhbWlseSwgaW50IHR5cGUsIGludCBwcm90b2NvbCwgaW50IGtlcm4pCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NvY2tldF9wb3N0X2NyZWF0ZShzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBpbnQgZmFtaWx5LCBpbnQgdHlwZSwKKwkJCQkgIGludCBwcm90b2NvbCwgaW50IGtlcm4pCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NvY2tldF9iaW5kKHN0cnVjdCBzb2NrZXQgKnNvY2ssIHN0cnVjdCBzb2NrYWRkciAqYWRkcmVzcywKKwkJCSAgIGludCBhZGRybGVuKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9zb2NrZXRfY29ubmVjdChzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBzdHJ1Y3Qgc29ja2FkZHIgKmFkZHJlc3MsCisJCQkgICAgICBpbnQgYWRkcmxlbikKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfc29ja2V0X2xpc3RlbihzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBpbnQgYmFja2xvZykKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfc29ja2V0X2FjY2VwdChzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBzdHJ1Y3Qgc29ja2V0ICpuZXdzb2NrKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBjYXBfc29ja2V0X3Bvc3RfYWNjZXB0KHN0cnVjdCBzb2NrZXQgKnNvY2ssIHN0cnVjdCBzb2NrZXQgKm5ld3NvY2spCit7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NvY2tldF9zZW5kbXNnKHN0cnVjdCBzb2NrZXQgKnNvY2ssIHN0cnVjdCBtc2doZHIgKm1zZywgaW50IHNpemUpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NvY2tldF9yZWN2bXNnKHN0cnVjdCBzb2NrZXQgKnNvY2ssIHN0cnVjdCBtc2doZHIgKm1zZywKKwkJCSAgICAgIGludCBzaXplLCBpbnQgZmxhZ3MpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NvY2tldF9nZXRzb2NrbmFtZShzdHJ1Y3Qgc29ja2V0ICpzb2NrKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9zb2NrZXRfZ2V0cGVlcm5hbWUoc3RydWN0IHNvY2tldCAqc29jaykKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfc29ja2V0X3NldHNvY2tvcHQoc3RydWN0IHNvY2tldCAqc29jaywgaW50IGxldmVsLCBpbnQgb3B0bmFtZSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfc29ja2V0X2dldHNvY2tvcHQoc3RydWN0IHNvY2tldCAqc29jaywgaW50IGxldmVsLCBpbnQgb3B0bmFtZSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfc29ja2V0X3NodXRkb3duKHN0cnVjdCBzb2NrZXQgKnNvY2ssIGludCBob3cpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NvY2tldF9zb2NrX3Jjdl9za2Ioc3RydWN0IHNvY2sgKnNrLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9zb2NrZXRfZ2V0cGVlcnNlY19zdHJlYW0oc3RydWN0IHNvY2tldCAqc29jaywKKwkJCQkJY2hhciBfX3VzZXIgKm9wdHZhbCwKKwkJCQkJaW50IF9fdXNlciAqb3B0bGVuLCB1bnNpZ25lZCBsZW4pCit7CisJcmV0dXJuIC1FTk9QUk9UT09QVDsKK30KKworc3RhdGljIGludCBjYXBfc29ja2V0X2dldHBlZXJzZWNfZGdyYW0oc3RydWN0IHNvY2tldCAqc29jaywKKwkJCQkgICAgICAgc3RydWN0IHNrX2J1ZmYgKnNrYiwgdTMyICpzZWNpZCkKK3sKKwlyZXR1cm4gLUVOT1BST1RPT1BUOworfQorCitzdGF0aWMgaW50IGNhcF9za19hbGxvY19zZWN1cml0eShzdHJ1Y3Qgc29jayAqc2ssIGludCBmYW1pbHksIGdmcF90IHByaW9yaXR5KQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBjYXBfc2tfZnJlZV9zZWN1cml0eShzdHJ1Y3Qgc29jayAqc2spCit7Cit9CisKK3N0YXRpYyB2b2lkIGNhcF9za19jbG9uZV9zZWN1cml0eShjb25zdCBzdHJ1Y3Qgc29jayAqc2ssIHN0cnVjdCBzb2NrICpuZXdzaykKK3sKK30KKworc3RhdGljIHZvaWQgY2FwX3NrX2dldHNlY2lkKHN0cnVjdCBzb2NrICpzaywgdTMyICpzZWNpZCkKK3sKK30KKworc3RhdGljIHZvaWQgY2FwX3NvY2tfZ3JhZnQoc3RydWN0IHNvY2sgKnNrLCBzdHJ1Y3Qgc29ja2V0ICpwYXJlbnQpCit7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2luZXRfY29ubl9yZXF1ZXN0KHN0cnVjdCBzb2NrICpzaywgc3RydWN0IHNrX2J1ZmYgKnNrYiwKKwkJCQkgc3RydWN0IHJlcXVlc3Rfc29jayAqcmVxKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBjYXBfaW5ldF9jc2tfY2xvbmUoc3RydWN0IHNvY2sgKm5ld3NrLAorCQkJICAgICAgIGNvbnN0IHN0cnVjdCByZXF1ZXN0X3NvY2sgKnJlcSkKK3sKK30KKworc3RhdGljIHZvaWQgY2FwX2luZXRfY29ubl9lc3RhYmxpc2hlZChzdHJ1Y3Qgc29jayAqc2ssIHN0cnVjdCBza19idWZmICpza2IpCit7Cit9CisKK3N0YXRpYyB2b2lkIGNhcF9yZXFfY2xhc3NpZnlfZmxvdyhjb25zdCBzdHJ1Y3QgcmVxdWVzdF9zb2NrICpyZXEsCisJCQkJICBzdHJ1Y3QgZmxvd2kgKmZsKQoreworfQorI2VuZGlmCS8qIENPTkZJR19TRUNVUklUWV9ORVRXT1JLICovCisKKyNpZmRlZiBDT05GSUdfU0VDVVJJVFlfTkVUV09SS19YRlJNCitzdGF0aWMgaW50IGNhcF94ZnJtX3BvbGljeV9hbGxvY19zZWN1cml0eShzdHJ1Y3QgeGZybV9zZWNfY3R4ICoqY3R4cCwKKwkJCQkJICBzdHJ1Y3QgeGZybV91c2VyX3NlY19jdHggKnNlY19jdHgpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3hmcm1fcG9saWN5X2Nsb25lX3NlY3VyaXR5KHN0cnVjdCB4ZnJtX3NlY19jdHggKm9sZF9jdHgsCisJCQkJCSAgc3RydWN0IHhmcm1fc2VjX2N0eCAqKm5ld19jdHhwKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBjYXBfeGZybV9wb2xpY3lfZnJlZV9zZWN1cml0eShzdHJ1Y3QgeGZybV9zZWNfY3R4ICpjdHgpCit7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3hmcm1fcG9saWN5X2RlbGV0ZV9zZWN1cml0eShzdHJ1Y3QgeGZybV9zZWNfY3R4ICpjdHgpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3hmcm1fc3RhdGVfYWxsb2Nfc2VjdXJpdHkoc3RydWN0IHhmcm1fc3RhdGUgKngsCisJCQkJCSBzdHJ1Y3QgeGZybV91c2VyX3NlY19jdHggKnNlY19jdHgsCisJCQkJCSB1MzIgc2VjaWQpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGNhcF94ZnJtX3N0YXRlX2ZyZWVfc2VjdXJpdHkoc3RydWN0IHhmcm1fc3RhdGUgKngpCit7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3hmcm1fc3RhdGVfZGVsZXRlX3NlY3VyaXR5KHN0cnVjdCB4ZnJtX3N0YXRlICp4KQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF94ZnJtX3BvbGljeV9sb29rdXAoc3RydWN0IHhmcm1fc2VjX2N0eCAqY3R4LCB1MzIgc2tfc2lkLCB1OCBkaXIpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3hmcm1fc3RhdGVfcG9sX2Zsb3dfbWF0Y2goc3RydWN0IHhmcm1fc3RhdGUgKngsCisJCQkJCSBzdHJ1Y3QgeGZybV9wb2xpY3kgKnhwLAorCQkJCQkgc3RydWN0IGZsb3dpICpmbCkKK3sKKwlyZXR1cm4gMTsKK30KKworc3RhdGljIGludCBjYXBfeGZybV9kZWNvZGVfc2Vzc2lvbihzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCB1MzIgKmZsLCBpbnQgY2thbGwpCit7CisJcmV0dXJuIDA7Cit9CisKKyNlbmRpZiAvKiBDT05GSUdfU0VDVVJJVFlfTkVUV09SS19YRlJNICovCitzdGF0aWMgdm9pZCBjYXBfZF9pbnN0YW50aWF0ZShzdHJ1Y3QgZGVudHJ5ICpkZW50cnksIHN0cnVjdCBpbm9kZSAqaW5vZGUpCit7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2dldHByb2NhdHRyKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgY2hhciAqbmFtZSwgY2hhciAqKnZhbHVlKQoreworCXJldHVybiAtRUlOVkFMOworfQorCitzdGF0aWMgaW50IGNhcF9zZXRwcm9jYXR0cihzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAsIGNoYXIgKm5hbWUsIHZvaWQgKnZhbHVlLAorCQkJICAgc2l6ZV90IHNpemUpCit7CisJcmV0dXJuIC1FSU5WQUw7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NlY2lkX3RvX3NlY2N0eCh1MzIgc2VjaWQsIGNoYXIgKipzZWNkYXRhLCB1MzIgKnNlY2xlbikKK3sKKwlyZXR1cm4gLUVPUE5PVFNVUFA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NlY2N0eF90b19zZWNpZChjb25zdCBjaGFyICpzZWNkYXRhLCB1MzIgc2VjbGVuLCB1MzIgKnNlY2lkKQoreworCXJldHVybiAtRU9QTk9UU1VQUDsKK30KKworc3RhdGljIHZvaWQgY2FwX3JlbGVhc2Vfc2VjY3R4KGNoYXIgKnNlY2RhdGEsIHUzMiBzZWNsZW4pCit7Cit9CisKKyNpZmRlZiBDT05GSUdfS0VZUworc3RhdGljIGludCBjYXBfa2V5X2FsbG9jKHN0cnVjdCBrZXkgKmtleSwgc3RydWN0IHRhc2tfc3RydWN0ICpjdHgsCisJCQkgdW5zaWduZWQgbG9uZyBmbGFncykKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgY2FwX2tleV9mcmVlKHN0cnVjdCBrZXkgKmtleSkKK3sKK30KKworc3RhdGljIGludCBjYXBfa2V5X3Blcm1pc3Npb24oa2V5X3JlZl90IGtleV9yZWYsIHN0cnVjdCB0YXNrX3N0cnVjdCAqY29udGV4dCwKKwkJCSAgICAgIGtleV9wZXJtX3QgcGVybSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfa2V5X2dldHNlY3VyaXR5KHN0cnVjdCBrZXkgKmtleSwgY2hhciAqKl9idWZmZXIpCit7CisJKl9idWZmZXIgPSBOVUxMOworCXJldHVybiAwOworfQorCisjZW5kaWYgLyogQ09ORklHX0tFWVMgKi8KKworI2lmZGVmIENPTkZJR19BVURJVAorc3RhdGljIGludCBjYXBfYXVkaXRfcnVsZV9pbml0KHUzMiBmaWVsZCwgdTMyIG9wLCBjaGFyICpydWxlc3RyLCB2b2lkICoqbHNtcnVsZSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfYXVkaXRfcnVsZV9rbm93bihzdHJ1Y3QgYXVkaXRfa3J1bGUgKmtydWxlKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9hdWRpdF9ydWxlX21hdGNoKHUzMiBzZWNpZCwgdTMyIGZpZWxkLCB1MzIgb3AsIHZvaWQgKmxzbXJ1bGUsCisJCQkJc3RydWN0IGF1ZGl0X2NvbnRleHQgKmFjdHgpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGNhcF9hdWRpdF9ydWxlX2ZyZWUodm9pZCAqbHNtcnVsZSkKK3sKK30KKyNlbmRpZiAvKiBDT05GSUdfQVVESVQgKi8KKworc3RydWN0IHNlY3VyaXR5X29wZXJhdGlvbnMgZGVmYXVsdF9zZWN1cml0eV9vcHMgPSB7CisJLm5hbWUJPSAiZGVmYXVsdCIsCit9OworCisjZGVmaW5lIHNldF90b19jYXBfaWZfbnVsbChvcHMsIGZ1bmN0aW9uKQkJCQlcCisJZG8gewkJCQkJCQkJXAorCQlpZiAoIW9wcy0+ZnVuY3Rpb24pIHsJCQkJCVwKKwkJCW9wcy0+ZnVuY3Rpb24gPSBjYXBfIyNmdW5jdGlvbjsJCQlcCisJCQlwcl9kZWJ1ZygiSGFkIHRvIG92ZXJyaWRlIHRoZSAiICNmdW5jdGlvbglcCisJCQkJICIgc2VjdXJpdHkgb3BlcmF0aW9uIHdpdGggdGhlIGRlZmF1bHQuXG4iKTtcCisJCQl9CQkJCQkJXAorCX0gd2hpbGUgKDApCisKK3ZvaWQgc2VjdXJpdHlfZml4dXBfb3BzKHN0cnVjdCBzZWN1cml0eV9vcGVyYXRpb25zICpvcHMpCit7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgcHRyYWNlKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBjYXBnZXQpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGNhcHNldF9jaGVjayk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgY2Fwc2V0X3NldCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgYWNjdCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgY2FwYWJsZSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgcXVvdGFjdGwpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHF1b3RhX29uKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzeXNjdGwpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHN5c2xvZyk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc2V0dGltZSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgdm1fZW5vdWdoX21lbW9yeSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgYnBybV9hbGxvY19zZWN1cml0eSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgYnBybV9mcmVlX3NlY3VyaXR5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBicHJtX2FwcGx5X2NyZWRzKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBicHJtX3Bvc3RfYXBwbHlfY3JlZHMpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGJwcm1fc2V0X3NlY3VyaXR5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBicHJtX2NoZWNrX3NlY3VyaXR5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBicHJtX3NlY3VyZWV4ZWMpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNiX2FsbG9jX3NlY3VyaXR5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzYl9mcmVlX3NlY3VyaXR5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzYl9jb3B5X2RhdGEpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNiX2tlcm5fbW91bnQpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNiX3Nob3dfb3B0aW9ucyk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc2Jfc3RhdGZzKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzYl9tb3VudCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc2JfY2hlY2tfc2IpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNiX3Vtb3VudCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc2JfdW1vdW50X2Nsb3NlKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzYl91bW91bnRfYnVzeSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc2JfcG9zdF9yZW1vdW50KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzYl9wb3N0X2FkZG1vdW50KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzYl9waXZvdHJvb3QpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNiX3Bvc3RfcGl2b3Ryb290KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzYl9zZXRfbW50X29wdHMpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNiX2Nsb25lX21udF9vcHRzKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzYl9wYXJzZV9vcHRzX3N0cik7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgaW5vZGVfYWxsb2Nfc2VjdXJpdHkpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGlub2RlX2ZyZWVfc2VjdXJpdHkpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGlub2RlX2luaXRfc2VjdXJpdHkpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGlub2RlX2NyZWF0ZSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgaW5vZGVfbGluayk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgaW5vZGVfdW5saW5rKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBpbm9kZV9zeW1saW5rKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBpbm9kZV9ta2Rpcik7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgaW5vZGVfcm1kaXIpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGlub2RlX21rbm9kKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBpbm9kZV9yZW5hbWUpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGlub2RlX3JlYWRsaW5rKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBpbm9kZV9mb2xsb3dfbGluayk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgaW5vZGVfcGVybWlzc2lvbik7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgaW5vZGVfc2V0YXR0cik7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgaW5vZGVfZ2V0YXR0cik7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgaW5vZGVfZGVsZXRlKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBpbm9kZV9zZXR4YXR0cik7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgaW5vZGVfcG9zdF9zZXR4YXR0cik7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgaW5vZGVfZ2V0eGF0dHIpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGlub2RlX2xpc3R4YXR0cik7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgaW5vZGVfcmVtb3ZleGF0dHIpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGlub2RlX25lZWRfa2lsbHByaXYpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGlub2RlX2tpbGxwcml2KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBpbm9kZV9nZXRzZWN1cml0eSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgaW5vZGVfc2V0c2VjdXJpdHkpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGlub2RlX2xpc3RzZWN1cml0eSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgaW5vZGVfZ2V0c2VjaWQpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGZpbGVfcGVybWlzc2lvbik7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgZmlsZV9hbGxvY19zZWN1cml0eSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgZmlsZV9mcmVlX3NlY3VyaXR5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBmaWxlX2lvY3RsKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBmaWxlX21tYXApOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGZpbGVfbXByb3RlY3QpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGZpbGVfbG9jayk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgZmlsZV9mY250bCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgZmlsZV9zZXRfZm93bmVyKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBmaWxlX3NlbmRfc2lnaW90YXNrKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBmaWxlX3JlY2VpdmUpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGRlbnRyeV9vcGVuKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCB0YXNrX2NyZWF0ZSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgdGFza19hbGxvY19zZWN1cml0eSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgdGFza19mcmVlX3NlY3VyaXR5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCB0YXNrX3NldHVpZCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgdGFza19wb3N0X3NldHVpZCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgdGFza19zZXRnaWQpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHRhc2tfc2V0cGdpZCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgdGFza19nZXRwZ2lkKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCB0YXNrX2dldHNpZCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgdGFza19nZXRzZWNpZCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgdGFza19zZXRncm91cHMpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHRhc2tfc2V0bmljZSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgdGFza19zZXRpb3ByaW8pOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHRhc2tfZ2V0aW9wcmlvKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCB0YXNrX3NldHJsaW1pdCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgdGFza19zZXRzY2hlZHVsZXIpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHRhc2tfZ2V0c2NoZWR1bGVyKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCB0YXNrX21vdmVtZW1vcnkpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHRhc2tfd2FpdCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgdGFza19raWxsKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCB0YXNrX3ByY3RsKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCB0YXNrX3JlcGFyZW50X3RvX2luaXQpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHRhc2tfdG9faW5vZGUpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGlwY19wZXJtaXNzaW9uKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBpcGNfZ2V0c2VjaWQpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIG1zZ19tc2dfYWxsb2Nfc2VjdXJpdHkpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIG1zZ19tc2dfZnJlZV9zZWN1cml0eSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgbXNnX3F1ZXVlX2FsbG9jX3NlY3VyaXR5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBtc2dfcXVldWVfZnJlZV9zZWN1cml0eSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgbXNnX3F1ZXVlX2Fzc29jaWF0ZSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgbXNnX3F1ZXVlX21zZ2N0bCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgbXNnX3F1ZXVlX21zZ3NuZCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgbXNnX3F1ZXVlX21zZ3Jjdik7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc2htX2FsbG9jX3NlY3VyaXR5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzaG1fZnJlZV9zZWN1cml0eSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc2htX2Fzc29jaWF0ZSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc2htX3NobWN0bCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc2htX3NobWF0KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzZW1fYWxsb2Nfc2VjdXJpdHkpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNlbV9mcmVlX3NlY3VyaXR5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzZW1fYXNzb2NpYXRlKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzZW1fc2VtY3RsKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzZW1fc2Vtb3ApOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIG5ldGxpbmtfc2VuZCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgbmV0bGlua19yZWN2KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBkX2luc3RhbnRpYXRlKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBnZXRwcm9jYXR0cik7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc2V0cHJvY2F0dHIpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNlY2lkX3RvX3NlY2N0eCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc2VjY3R4X3RvX3NlY2lkKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCByZWxlYXNlX3NlY2N0eCk7CisjaWZkZWYgQ09ORklHX1NFQ1VSSVRZX05FVFdPUksKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCB1bml4X3N0cmVhbV9jb25uZWN0KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCB1bml4X21heV9zZW5kKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzb2NrZXRfY3JlYXRlKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzb2NrZXRfcG9zdF9jcmVhdGUpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNvY2tldF9iaW5kKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzb2NrZXRfY29ubmVjdCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc29ja2V0X2xpc3Rlbik7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc29ja2V0X2FjY2VwdCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc29ja2V0X3Bvc3RfYWNjZXB0KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzb2NrZXRfc2VuZG1zZyk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc29ja2V0X3JlY3Ztc2cpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNvY2tldF9nZXRzb2NrbmFtZSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc29ja2V0X2dldHBlZXJuYW1lKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzb2NrZXRfc2V0c29ja29wdCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc29ja2V0X2dldHNvY2tvcHQpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNvY2tldF9zaHV0ZG93bik7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc29ja2V0X3NvY2tfcmN2X3NrYik7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc29ja2V0X2dldHBlZXJzZWNfc3RyZWFtKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzb2NrZXRfZ2V0cGVlcnNlY19kZ3JhbSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc2tfYWxsb2Nfc2VjdXJpdHkpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNrX2ZyZWVfc2VjdXJpdHkpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNrX2Nsb25lX3NlY3VyaXR5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBza19nZXRzZWNpZCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc29ja19ncmFmdCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgaW5ldF9jb25uX3JlcXVlc3QpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGluZXRfY3NrX2Nsb25lKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBpbmV0X2Nvbm5fZXN0YWJsaXNoZWQpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHJlcV9jbGFzc2lmeV9mbG93KTsKKyNlbmRpZgkvKiBDT05GSUdfU0VDVVJJVFlfTkVUV09SSyAqLworI2lmZGVmIENPTkZJR19TRUNVUklUWV9ORVRXT1JLX1hGUk0KKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCB4ZnJtX3BvbGljeV9hbGxvY19zZWN1cml0eSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgeGZybV9wb2xpY3lfY2xvbmVfc2VjdXJpdHkpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHhmcm1fcG9saWN5X2ZyZWVfc2VjdXJpdHkpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHhmcm1fcG9saWN5X2RlbGV0ZV9zZWN1cml0eSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgeGZybV9zdGF0ZV9hbGxvY19zZWN1cml0eSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgeGZybV9zdGF0ZV9mcmVlX3NlY3VyaXR5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCB4ZnJtX3N0YXRlX2RlbGV0ZV9zZWN1cml0eSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgeGZybV9wb2xpY3lfbG9va3VwKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCB4ZnJtX3N0YXRlX3BvbF9mbG93X21hdGNoKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCB4ZnJtX2RlY29kZV9zZXNzaW9uKTsKKyNlbmRpZgkvKiBDT05GSUdfU0VDVVJJVFlfTkVUV09SS19YRlJNICovCisjaWZkZWYgQ09ORklHX0tFWVMKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBrZXlfYWxsb2MpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGtleV9mcmVlKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBrZXlfcGVybWlzc2lvbik7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywga2V5X2dldHNlY3VyaXR5KTsKKyNlbmRpZgkvKiBDT05GSUdfS0VZUyAqLworI2lmZGVmIENPTkZJR19BVURJVAorCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGF1ZGl0X3J1bGVfaW5pdCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgYXVkaXRfcnVsZV9rbm93bik7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgYXVkaXRfcnVsZV9tYXRjaCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgYXVkaXRfcnVsZV9mcmVlKTsKKyNlbmRpZgorfQpkaWZmIC0tZ2l0IGEvc2VjdXJpdHkvY29tbW9uY2FwLmMgYi9zZWN1cml0eS9jb21tb25jYXAuYwppbmRleCAzM2QzNDMzLi4wYjY1MzdhIDEwMDY0NAotLS0gYS9zZWN1cml0eS9jb21tb25jYXAuYworKysgYi9zZWN1cml0eS9jb21tb25jYXAuYwpAQCAtNjMsNyArNjMsOCBAQAogCXJldHVybiAwOwogfQogCi1pbnQgY2FwX3B0cmFjZSAoc3RydWN0IHRhc2tfc3RydWN0ICpwYXJlbnQsIHN0cnVjdCB0YXNrX3N0cnVjdCAqY2hpbGQpCitpbnQgY2FwX3B0cmFjZSAoc3RydWN0IHRhc2tfc3RydWN0ICpwYXJlbnQsIHN0cnVjdCB0YXNrX3N0cnVjdCAqY2hpbGQsCisJCXVuc2lnbmVkIGludCBtb2RlKQogewogCS8qIERlcml2ZWQgZnJvbSBhcmNoL2kzODYva2VybmVsL3B0cmFjZS5jOnN5c19wdHJhY2UuICovCiAJaWYgKCFjYXBfaXNzdWJzZXQoY2hpbGQtPmNhcF9wZXJtaXR0ZWQsIHBhcmVudC0+Y2FwX3Blcm1pdHRlZCkgJiYKZGlmZiAtLWdpdCBhL3NlY3VyaXR5L2RldmljZV9jZ3JvdXAuYyBiL3NlY3VyaXR5L2RldmljZV9jZ3JvdXAuYwppbmRleCBmZDc2NGEwLi5kZGQ5MmNlIDEwMDY0NAotLS0gYS9zZWN1cml0eS9kZXZpY2VfY2dyb3VwLmMKKysrIGIvc2VjdXJpdHkvZGV2aWNlX2Nncm91cC5jCkBAIC0yMjIsNyArMjIyLDcgQEAKICNkZWZpbmUgREVWQ0dfREVOWSAyCiAjZGVmaW5lIERFVkNHX0xJU1QgMwogCi0jZGVmaW5lIE1BSk1JTkxFTiAxMAorI2RlZmluZSBNQUpNSU5MRU4gMTMKICNkZWZpbmUgQUNDTEVOIDQKIAogc3RhdGljIHZvaWQgc2V0X2FjY2VzcyhjaGFyICphY2MsIHNob3J0IGFjY2VzcykKQEAgLTI1NCw3ICsyNTQsNyBAQAogCWlmIChtID09IH4wKQogCQlzcHJpbnRmKHN0ciwgIioiKTsKIAllbHNlCi0JCXNucHJpbnRmKHN0ciwgTUFKTUlOTEVOLCAiJWQiLCBtKTsKKwkJc25wcmludGYoc3RyLCBNQUpNSU5MRU4sICIldSIsIG0pOwogfQogCiBzdGF0aWMgaW50IGRldmNncm91cF9zZXFfcmVhZChzdHJ1Y3QgY2dyb3VwICpjZ3JvdXAsIHN0cnVjdCBjZnR5cGUgKmNmdCwKQEAgLTMwMCw3ICszMDAsNyBAQAogCQkJY29udGludWU7CiAJCWlmICh3aGl0ZW0tPm1pbm9yICE9IH4wICYmIHdoaXRlbS0+bWlub3IgIT0gcmVmd2gtPm1pbm9yKQogCQkJY29udGludWU7Ci0JCWlmIChyZWZ3aC0+YWNjZXNzICYgKH4od2hpdGVtLT5hY2Nlc3MgfCBBQ0NfTUFTSykpKQorCQlpZiAocmVmd2gtPmFjY2VzcyAmICh+d2hpdGVtLT5hY2Nlc3MpKQogCQkJY29udGludWU7CiAJCXJldHVybiAxOwogCX0KZGlmZiAtLWdpdCBhL3NlY3VyaXR5L2R1bW15LmMgYi9zZWN1cml0eS9kdW1teS5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiODkxNjg4Li4wMDAwMDAwCi0tLSBhL3NlY3VyaXR5L2R1bW15LmMKKysrIC9kZXYvbnVsbApAQCAtMSwxMjUxICswLDAgQEAKLS8qCi0gKiBTdHViIGZ1bmN0aW9ucyBmb3IgdGhlIGRlZmF1bHQgc2VjdXJpdHkgZnVuY3Rpb24gcG9pbnRlcnMgaW4gY2FzZSBubwotICogc2VjdXJpdHkgbW9kZWwgaXMgbG9hZGVkLgotICoKLSAqIENvcHlyaWdodCAoQykgMjAwMSBXaXJlWCBDb21tdW5pY2F0aW9ucywgSW5jIDxjaHJpc0B3aXJleC5jb20+Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMDEtMjAwMiAgR3JlZyBLcm9haC1IYXJ0bWFuIDxncmVnQGtyb2FoLmNvbT4KLSAqIENvcHlyaWdodCAoQykgMjAwMSBOZXR3b3JrcyBBc3NvY2lhdGVzIFRlY2hub2xvZ3ksIEluYyA8c3NtYWxsZXlAbmFpLmNvbT4KLSAqCi0gKglUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotICoJaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSAqCXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCi0gKgkoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICovCi0KLSN1bmRlZiBERUJVRwotCi0jaW5jbHVkZSA8bGludXgvY2FwYWJpbGl0eS5oPgotI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgotI2luY2x1ZGUgPGxpbnV4L21tYW4uaD4KLSNpbmNsdWRlIDxsaW51eC9wYWdlbWFwLmg+Ci0jaW5jbHVkZSA8bGludXgvc3dhcC5oPgotI2luY2x1ZGUgPGxpbnV4L3NlY3VyaXR5Lmg+Ci0jaW5jbHVkZSA8bGludXgvc2tidWZmLmg+Ci0jaW5jbHVkZSA8bGludXgvbmV0bGluay5oPgotI2luY2x1ZGUgPG5ldC9zb2NrLmg+Ci0jaW5jbHVkZSA8bGludXgveGF0dHIuaD4KLSNpbmNsdWRlIDxsaW51eC9odWdldGxiLmg+Ci0jaW5jbHVkZSA8bGludXgvcHRyYWNlLmg+Ci0jaW5jbHVkZSA8bGludXgvZmlsZS5oPgotI2luY2x1ZGUgPGxpbnV4L3ByY3RsLmg+Ci0jaW5jbHVkZSA8bGludXgvc2VjdXJlYml0cy5oPgotCi1zdGF0aWMgaW50IGR1bW15X3B0cmFjZSAoc3RydWN0IHRhc2tfc3RydWN0ICpwYXJlbnQsIHN0cnVjdCB0YXNrX3N0cnVjdCAqY2hpbGQpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfY2FwZ2V0IChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhcmdldCwga2VybmVsX2NhcF90ICogZWZmZWN0aXZlLAotCQkJIGtlcm5lbF9jYXBfdCAqIGluaGVyaXRhYmxlLCBrZXJuZWxfY2FwX3QgKiBwZXJtaXR0ZWQpCi17Ci0JaWYgKHRhcmdldC0+ZXVpZCA9PSAwKSB7Ci0JCWNhcF9zZXRfZnVsbCgqcGVybWl0dGVkKTsKLQkJY2FwX3NldF9pbml0X2VmZigqZWZmZWN0aXZlKTsKLQl9IGVsc2UgewotCQljYXBfY2xlYXIoKnBlcm1pdHRlZCk7Ci0JCWNhcF9jbGVhcigqZWZmZWN0aXZlKTsKLQl9Ci0KLQljYXBfY2xlYXIoKmluaGVyaXRhYmxlKTsKLQotCWlmICh0YXJnZXQtPmZzdWlkICE9IDApIHsKLQkJKnBlcm1pdHRlZCA9IGNhcF9kcm9wX2ZzX3NldCgqcGVybWl0dGVkKTsKLQkJKmVmZmVjdGl2ZSA9IGNhcF9kcm9wX2ZzX3NldCgqZWZmZWN0aXZlKTsKLQl9Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfY2Fwc2V0X2NoZWNrIChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhcmdldCwKLQkJCSAgICAgICBrZXJuZWxfY2FwX3QgKiBlZmZlY3RpdmUsCi0JCQkgICAgICAga2VybmVsX2NhcF90ICogaW5oZXJpdGFibGUsCi0JCQkgICAgICAga2VybmVsX2NhcF90ICogcGVybWl0dGVkKQotewotCXJldHVybiAtRVBFUk07Ci19Ci0KLXN0YXRpYyB2b2lkIGR1bW15X2NhcHNldF9zZXQgKHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFyZ2V0LAotCQkJICAgICAga2VybmVsX2NhcF90ICogZWZmZWN0aXZlLAotCQkJICAgICAga2VybmVsX2NhcF90ICogaW5oZXJpdGFibGUsCi0JCQkgICAgICBrZXJuZWxfY2FwX3QgKiBwZXJtaXR0ZWQpCi17Ci0JcmV0dXJuOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2FjY3QgKHN0cnVjdCBmaWxlICpmaWxlKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2NhcGFibGUgKHN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrLCBpbnQgY2FwKQotewotCWlmIChjYXBfcmFpc2VkICh0c2stPmNhcF9lZmZlY3RpdmUsIGNhcCkpCi0JCXJldHVybiAwOwotCXJldHVybiAtRVBFUk07Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc3lzY3RsIChjdGxfdGFibGUgKiB0YWJsZSwgaW50IG9wKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3F1b3RhY3RsIChpbnQgY21kcywgaW50IHR5cGUsIGludCBpZCwgc3RydWN0IHN1cGVyX2Jsb2NrICpzYikKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9xdW90YV9vbiAoc3RydWN0IGRlbnRyeSAqZGVudHJ5KQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3N5c2xvZyAoaW50IHR5cGUpCi17Ci0JaWYgKCh0eXBlICE9IDMgJiYgdHlwZSAhPSAxMCkgJiYgY3VycmVudC0+ZXVpZCkKLQkJcmV0dXJuIC1FUEVSTTsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9zZXR0aW1lKHN0cnVjdCB0aW1lc3BlYyAqdHMsIHN0cnVjdCB0aW1lem9uZSAqdHopCi17Ci0JaWYgKCFjYXBhYmxlKENBUF9TWVNfVElNRSkpCi0JCXJldHVybiAtRVBFUk07Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfdm1fZW5vdWdoX21lbW9yeShzdHJ1Y3QgbW1fc3RydWN0ICptbSwgbG9uZyBwYWdlcykKLXsKLQlpbnQgY2FwX3N5c19hZG1pbiA9IDA7Ci0KLQlpZiAoZHVtbXlfY2FwYWJsZShjdXJyZW50LCBDQVBfU1lTX0FETUlOKSA9PSAwKQotCQljYXBfc3lzX2FkbWluID0gMTsKLQlyZXR1cm4gX192bV9lbm91Z2hfbWVtb3J5KG1tLCBwYWdlcywgY2FwX3N5c19hZG1pbik7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfYnBybV9hbGxvY19zZWN1cml0eSAoc3RydWN0IGxpbnV4X2JpbnBybSAqYnBybSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQgZHVtbXlfYnBybV9mcmVlX3NlY3VyaXR5IChzdHJ1Y3QgbGludXhfYmlucHJtICpicHJtKQotewotCXJldHVybjsKLX0KLQotc3RhdGljIHZvaWQgZHVtbXlfYnBybV9hcHBseV9jcmVkcyAoc3RydWN0IGxpbnV4X2JpbnBybSAqYnBybSwgaW50IHVuc2FmZSkKLXsKLQlpZiAoYnBybS0+ZV91aWQgIT0gY3VycmVudC0+dWlkIHx8IGJwcm0tPmVfZ2lkICE9IGN1cnJlbnQtPmdpZCkgewotCQlzZXRfZHVtcGFibGUoY3VycmVudC0+bW0sIHN1aWRfZHVtcGFibGUpOwotCi0JCWlmICgodW5zYWZlICYgfkxTTV9VTlNBRkVfUFRSQUNFX0NBUCkgJiYgIWNhcGFibGUoQ0FQX1NFVFVJRCkpIHsKLQkJCWJwcm0tPmVfdWlkID0gY3VycmVudC0+dWlkOwotCQkJYnBybS0+ZV9naWQgPSBjdXJyZW50LT5naWQ7Ci0JCX0KLQl9Ci0KLQljdXJyZW50LT5zdWlkID0gY3VycmVudC0+ZXVpZCA9IGN1cnJlbnQtPmZzdWlkID0gYnBybS0+ZV91aWQ7Ci0JY3VycmVudC0+c2dpZCA9IGN1cnJlbnQtPmVnaWQgPSBjdXJyZW50LT5mc2dpZCA9IGJwcm0tPmVfZ2lkOwotCi0JZHVtbXlfY2FwZ2V0KGN1cnJlbnQsICZjdXJyZW50LT5jYXBfZWZmZWN0aXZlLCAmY3VycmVudC0+Y2FwX2luaGVyaXRhYmxlLCAmY3VycmVudC0+Y2FwX3Blcm1pdHRlZCk7Ci19Ci0KLXN0YXRpYyB2b2lkIGR1bW15X2Jwcm1fcG9zdF9hcHBseV9jcmVkcyAoc3RydWN0IGxpbnV4X2JpbnBybSAqYnBybSkKLXsKLQlyZXR1cm47Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfYnBybV9zZXRfc2VjdXJpdHkgKHN0cnVjdCBsaW51eF9iaW5wcm0gKmJwcm0pCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfYnBybV9jaGVja19zZWN1cml0eSAoc3RydWN0IGxpbnV4X2JpbnBybSAqYnBybSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9icHJtX3NlY3VyZWV4ZWMgKHN0cnVjdCBsaW51eF9iaW5wcm0gKmJwcm0pCi17Ci0JLyogVGhlIG5ldyB1c2VybGFuZCB3aWxsIHNpbXBseSB1c2UgdGhlIHZhbHVlIHByb3ZpZGVkCi0JICAgaW4gdGhlIEFUX1NFQ1VSRSBmaWVsZCB0byBkZWNpZGUgd2hldGhlciBzZWN1cmUgbW9kZQotCSAgIGlzIHJlcXVpcmVkLiAgSGVuY2UsIHRoaXMgbG9naWMgaXMgcmVxdWlyZWQgdG8gcHJlc2VydmUKLQkgICB0aGUgbGVnYWN5IGRlY2lzaW9uIGFsZ29yaXRobSB1c2VkIGJ5IHRoZSBvbGQgdXNlcmxhbmQuICovCi0JcmV0dXJuIChjdXJyZW50LT5ldWlkICE9IGN1cnJlbnQtPnVpZCB8fAotCQljdXJyZW50LT5lZ2lkICE9IGN1cnJlbnQtPmdpZCk7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc2JfYWxsb2Nfc2VjdXJpdHkgKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkIGR1bW15X3NiX2ZyZWVfc2VjdXJpdHkgKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IpCi17Ci0JcmV0dXJuOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NiX2NvcHlfZGF0YSAoY2hhciAqb3JpZywgY2hhciAqY29weSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9zYl9rZXJuX21vdW50IChzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLCB2b2lkICpkYXRhKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NiX3N0YXRmcyAoc3RydWN0IGRlbnRyeSAqZGVudHJ5KQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NiX21vdW50IChjaGFyICpkZXZfbmFtZSwgc3RydWN0IHBhdGggKnBhdGgsIGNoYXIgKnR5cGUsCi0JCQkgICB1bnNpZ25lZCBsb25nIGZsYWdzLCB2b2lkICpkYXRhKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NiX2NoZWNrX3NiIChzdHJ1Y3QgdmZzbW91bnQgKm1udCwgc3RydWN0IHBhdGggKnBhdGgpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc2JfdW1vdW50IChzdHJ1Y3QgdmZzbW91bnQgKm1udCwgaW50IGZsYWdzKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgdm9pZCBkdW1teV9zYl91bW91bnRfY2xvc2UgKHN0cnVjdCB2ZnNtb3VudCAqbW50KQotewotCXJldHVybjsKLX0KLQotc3RhdGljIHZvaWQgZHVtbXlfc2JfdW1vdW50X2J1c3kgKHN0cnVjdCB2ZnNtb3VudCAqbW50KQotewotCXJldHVybjsKLX0KLQotc3RhdGljIHZvaWQgZHVtbXlfc2JfcG9zdF9yZW1vdW50IChzdHJ1Y3QgdmZzbW91bnQgKm1udCwgdW5zaWduZWQgbG9uZyBmbGFncywKLQkJCQkgICB2b2lkICpkYXRhKQotewotCXJldHVybjsKLX0KLQotCi1zdGF0aWMgdm9pZCBkdW1teV9zYl9wb3N0X2FkZG1vdW50IChzdHJ1Y3QgdmZzbW91bnQgKm1udCwgc3RydWN0IHBhdGggKnBhdGgpCi17Ci0JcmV0dXJuOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NiX3Bpdm90cm9vdCAoc3RydWN0IHBhdGggKm9sZF9wYXRoLCBzdHJ1Y3QgcGF0aCAqbmV3X3BhdGgpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkIGR1bW15X3NiX3Bvc3RfcGl2b3Ryb290IChzdHJ1Y3QgcGF0aCAqb2xkX3BhdGgsIHN0cnVjdCBwYXRoICpuZXdfcGF0aCkKLXsKLQlyZXR1cm47Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc2JfZ2V0X21udF9vcHRzKGNvbnN0IHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsCi0JCQkJIHN0cnVjdCBzZWN1cml0eV9tbnRfb3B0cyAqb3B0cykKLXsKLQlzZWN1cml0eV9pbml0X21udF9vcHRzKG9wdHMpOwotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NiX3NldF9tbnRfb3B0cyhzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLAotCQkJCSBzdHJ1Y3Qgc2VjdXJpdHlfbW50X29wdHMgKm9wdHMpCi17Ci0JaWYgKHVubGlrZWx5KG9wdHMtPm51bV9tbnRfb3B0cykpCi0JCXJldHVybiAtRU9QTk9UU1VQUDsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQgZHVtbXlfc2JfY2xvbmVfbW50X29wdHMoY29uc3Qgc3RydWN0IHN1cGVyX2Jsb2NrICpvbGRzYiwKLQkJCQkgICAgc3RydWN0IHN1cGVyX2Jsb2NrICpuZXdzYikKLXsKLQlyZXR1cm47Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc2JfcGFyc2Vfb3B0c19zdHIoY2hhciAqb3B0aW9ucywgc3RydWN0IHNlY3VyaXR5X21udF9vcHRzICpvcHRzKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2lub2RlX2FsbG9jX3NlY3VyaXR5IChzdHJ1Y3QgaW5vZGUgKmlub2RlKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgdm9pZCBkdW1teV9pbm9kZV9mcmVlX3NlY3VyaXR5IChzdHJ1Y3QgaW5vZGUgKmlub2RlKQotewotCXJldHVybjsKLX0KLQotc3RhdGljIGludCBkdW1teV9pbm9kZV9pbml0X3NlY3VyaXR5IChzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgaW5vZGUgKmRpciwKLQkJCQkgICAgICBjaGFyICoqbmFtZSwgdm9pZCAqKnZhbHVlLCBzaXplX3QgKmxlbikKLXsKLQlyZXR1cm4gLUVPUE5PVFNVUFA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfaW5vZGVfY3JlYXRlIChzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnksCi0JCQkgICAgICAgaW50IG1hc2spCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfaW5vZGVfbGluayAoc3RydWN0IGRlbnRyeSAqb2xkX2RlbnRyeSwgc3RydWN0IGlub2RlICppbm9kZSwKLQkJCSAgICAgc3RydWN0IGRlbnRyeSAqbmV3X2RlbnRyeSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9pbm9kZV91bmxpbmsgKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBkZW50cnkgKmRlbnRyeSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9pbm9kZV9zeW1saW5rIChzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnksCi0JCQkJY29uc3QgY2hhciAqbmFtZSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9pbm9kZV9ta2RpciAoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGRlbnRyeSAqZGVudHJ5LAotCQkJICAgICAgaW50IG1hc2spCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfaW5vZGVfcm1kaXIgKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBkZW50cnkgKmRlbnRyeSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9pbm9kZV9ta25vZCAoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGRlbnRyeSAqZGVudHJ5LAotCQkJICAgICAgaW50IG1vZGUsIGRldl90IGRldikKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9pbm9kZV9yZW5hbWUgKHN0cnVjdCBpbm9kZSAqb2xkX2lub2RlLAotCQkJICAgICAgIHN0cnVjdCBkZW50cnkgKm9sZF9kZW50cnksCi0JCQkgICAgICAgc3RydWN0IGlub2RlICpuZXdfaW5vZGUsCi0JCQkgICAgICAgc3RydWN0IGRlbnRyeSAqbmV3X2RlbnRyeSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9pbm9kZV9yZWFkbGluayAoc3RydWN0IGRlbnRyeSAqZGVudHJ5KQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2lub2RlX2ZvbGxvd19saW5rIChzdHJ1Y3QgZGVudHJ5ICpkZW50cnksCi0JCQkJICAgIHN0cnVjdCBuYW1laWRhdGEgKm5hbWVpZGF0YSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9pbm9kZV9wZXJtaXNzaW9uIChzdHJ1Y3QgaW5vZGUgKmlub2RlLCBpbnQgbWFzaywgc3RydWN0IG5hbWVpZGF0YSAqbmQpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfaW5vZGVfc2V0YXR0ciAoc3RydWN0IGRlbnRyeSAqZGVudHJ5LCBzdHJ1Y3QgaWF0dHIgKmlhdHRyKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2lub2RlX2dldGF0dHIgKHN0cnVjdCB2ZnNtb3VudCAqbW50LCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkIGR1bW15X2lub2RlX2RlbGV0ZSAoc3RydWN0IGlub2RlICppbm8pCi17Ci0JcmV0dXJuOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2lub2RlX3NldHhhdHRyIChzdHJ1Y3QgZGVudHJ5ICpkZW50cnksIGNvbnN0IGNoYXIgKm5hbWUsCi0JCQkJIGNvbnN0IHZvaWQgKnZhbHVlLCBzaXplX3Qgc2l6ZSwgaW50IGZsYWdzKQotewotCWlmICghc3RybmNtcChuYW1lLCBYQVRUUl9TRUNVUklUWV9QUkVGSVgsCi0JCSAgICAgc2l6ZW9mKFhBVFRSX1NFQ1VSSVRZX1BSRUZJWCkgLSAxKSAmJgotCSAgICAhY2FwYWJsZShDQVBfU1lTX0FETUlOKSkKLQkJcmV0dXJuIC1FUEVSTTsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQgZHVtbXlfaW5vZGVfcG9zdF9zZXR4YXR0ciAoc3RydWN0IGRlbnRyeSAqZGVudHJ5LCBjb25zdCBjaGFyICpuYW1lLAotCQkJCSAgICAgICBjb25zdCB2b2lkICp2YWx1ZSwgc2l6ZV90IHNpemUsCi0JCQkJICAgICAgIGludCBmbGFncykKLXsKLX0KLQotc3RhdGljIGludCBkdW1teV9pbm9kZV9nZXR4YXR0ciAoc3RydWN0IGRlbnRyeSAqZGVudHJ5LCBjb25zdCBjaGFyICpuYW1lKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2lub2RlX2xpc3R4YXR0ciAoc3RydWN0IGRlbnRyeSAqZGVudHJ5KQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2lub2RlX3JlbW92ZXhhdHRyIChzdHJ1Y3QgZGVudHJ5ICpkZW50cnksIGNvbnN0IGNoYXIgKm5hbWUpCi17Ci0JaWYgKCFzdHJuY21wKG5hbWUsIFhBVFRSX1NFQ1VSSVRZX1BSRUZJWCwKLQkJICAgICBzaXplb2YoWEFUVFJfU0VDVVJJVFlfUFJFRklYKSAtIDEpICYmCi0JICAgICFjYXBhYmxlKENBUF9TWVNfQURNSU4pKQotCQlyZXR1cm4gLUVQRVJNOwotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2lub2RlX25lZWRfa2lsbHByaXYoc3RydWN0IGRlbnRyeSAqZGVudHJ5KQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2lub2RlX2tpbGxwcml2KHN0cnVjdCBkZW50cnkgKmRlbnRyeSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9pbm9kZV9nZXRzZWN1cml0eShjb25zdCBzdHJ1Y3QgaW5vZGUgKmlub2RlLCBjb25zdCBjaGFyICpuYW1lLCB2b2lkICoqYnVmZmVyLCBib29sIGFsbG9jKQotewotCXJldHVybiAtRU9QTk9UU1VQUDsKLX0KLQotc3RhdGljIGludCBkdW1teV9pbm9kZV9zZXRzZWN1cml0eShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBjb25zdCBjaGFyICpuYW1lLCBjb25zdCB2b2lkICp2YWx1ZSwgc2l6ZV90IHNpemUsIGludCBmbGFncykKLXsKLQlyZXR1cm4gLUVPUE5PVFNVUFA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfaW5vZGVfbGlzdHNlY3VyaXR5KHN0cnVjdCBpbm9kZSAqaW5vZGUsIGNoYXIgKmJ1ZmZlciwgc2l6ZV90IGJ1ZmZlcl9zaXplKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgdm9pZCBkdW1teV9pbm9kZV9nZXRzZWNpZChjb25zdCBzdHJ1Y3QgaW5vZGUgKmlub2RlLCB1MzIgKnNlY2lkKQotewotCSpzZWNpZCA9IDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfZmlsZV9wZXJtaXNzaW9uIChzdHJ1Y3QgZmlsZSAqZmlsZSwgaW50IG1hc2spCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfZmlsZV9hbGxvY19zZWN1cml0eSAoc3RydWN0IGZpbGUgKmZpbGUpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkIGR1bW15X2ZpbGVfZnJlZV9zZWN1cml0eSAoc3RydWN0IGZpbGUgKmZpbGUpCi17Ci0JcmV0dXJuOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2ZpbGVfaW9jdGwgKHN0cnVjdCBmaWxlICpmaWxlLCB1bnNpZ25lZCBpbnQgY29tbWFuZCwKLQkJCSAgICAgdW5zaWduZWQgbG9uZyBhcmcpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfZmlsZV9tbWFwIChzdHJ1Y3QgZmlsZSAqZmlsZSwgdW5zaWduZWQgbG9uZyByZXFwcm90LAotCQkJICAgIHVuc2lnbmVkIGxvbmcgcHJvdCwKLQkJCSAgICB1bnNpZ25lZCBsb25nIGZsYWdzLAotCQkJICAgIHVuc2lnbmVkIGxvbmcgYWRkciwKLQkJCSAgICB1bnNpZ25lZCBsb25nIGFkZHJfb25seSkKLXsKLQlpZiAoKGFkZHIgPCBtbWFwX21pbl9hZGRyKSAmJiAhY2FwYWJsZShDQVBfU1lTX1JBV0lPKSkKLQkJcmV0dXJuIC1FQUNDRVM7Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfZmlsZV9tcHJvdGVjdCAoc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEsCi0JCQkJdW5zaWduZWQgbG9uZyByZXFwcm90LAotCQkJCXVuc2lnbmVkIGxvbmcgcHJvdCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9maWxlX2xvY2sgKHN0cnVjdCBmaWxlICpmaWxlLCB1bnNpZ25lZCBpbnQgY21kKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2ZpbGVfZmNudGwgKHN0cnVjdCBmaWxlICpmaWxlLCB1bnNpZ25lZCBpbnQgY21kLAotCQkJICAgICB1bnNpZ25lZCBsb25nIGFyZykKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9maWxlX3NldF9mb3duZXIgKHN0cnVjdCBmaWxlICpmaWxlKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2ZpbGVfc2VuZF9zaWdpb3Rhc2sgKHN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrLAotCQkJCSAgICAgIHN0cnVjdCBmb3duX3N0cnVjdCAqZm93biwgaW50IHNpZykKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9maWxlX3JlY2VpdmUgKHN0cnVjdCBmaWxlICpmaWxlKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2RlbnRyeV9vcGVuIChzdHJ1Y3QgZmlsZSAqZmlsZSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV90YXNrX2NyZWF0ZSAodW5zaWduZWQgbG9uZyBjbG9uZV9mbGFncykKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV90YXNrX2FsbG9jX3NlY3VyaXR5IChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnApCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkIGR1bW15X3Rhc2tfZnJlZV9zZWN1cml0eSAoc3RydWN0IHRhc2tfc3RydWN0ICpwKQotewotCXJldHVybjsKLX0KLQotc3RhdGljIGludCBkdW1teV90YXNrX3NldHVpZCAodWlkX3QgaWQwLCB1aWRfdCBpZDEsIHVpZF90IGlkMiwgaW50IGZsYWdzKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3Rhc2tfcG9zdF9zZXR1aWQgKHVpZF90IGlkMCwgdWlkX3QgaWQxLCB1aWRfdCBpZDIsIGludCBmbGFncykKLXsKLQlkdW1teV9jYXBnZXQoY3VycmVudCwgJmN1cnJlbnQtPmNhcF9lZmZlY3RpdmUsICZjdXJyZW50LT5jYXBfaW5oZXJpdGFibGUsICZjdXJyZW50LT5jYXBfcGVybWl0dGVkKTsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV90YXNrX3NldGdpZCAoZ2lkX3QgaWQwLCBnaWRfdCBpZDEsIGdpZF90IGlkMiwgaW50IGZsYWdzKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3Rhc2tfc2V0cGdpZCAoc3RydWN0IHRhc2tfc3RydWN0ICpwLCBwaWRfdCBwZ2lkKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3Rhc2tfZ2V0cGdpZCAoc3RydWN0IHRhc2tfc3RydWN0ICpwKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3Rhc2tfZ2V0c2lkIChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnApCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkIGR1bW15X3Rhc2tfZ2V0c2VjaWQgKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgdTMyICpzZWNpZCkKLXsKLQkqc2VjaWQgPSAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3Rhc2tfc2V0Z3JvdXBzIChzdHJ1Y3QgZ3JvdXBfaW5mbyAqZ3JvdXBfaW5mbykKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV90YXNrX3NldG5pY2UgKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgaW50IG5pY2UpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfdGFza19zZXRpb3ByaW8gKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgaW50IGlvcHJpbykKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV90YXNrX2dldGlvcHJpbyAoc3RydWN0IHRhc2tfc3RydWN0ICpwKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3Rhc2tfc2V0cmxpbWl0ICh1bnNpZ25lZCBpbnQgcmVzb3VyY2UsIHN0cnVjdCBybGltaXQgKm5ld19ybGltKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3Rhc2tfc2V0c2NoZWR1bGVyIChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAsIGludCBwb2xpY3ksCi0JCQkJICAgIHN0cnVjdCBzY2hlZF9wYXJhbSAqbHApCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfdGFza19nZXRzY2hlZHVsZXIgKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV90YXNrX21vdmVtZW1vcnkgKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV90YXNrX3dhaXQgKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV90YXNrX2tpbGwgKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgc3RydWN0IHNpZ2luZm8gKmluZm8sCi0JCQkgICAgaW50IHNpZywgdTMyIHNlY2lkKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3Rhc2tfcHJjdGwgKGludCBvcHRpb24sIHVuc2lnbmVkIGxvbmcgYXJnMiwgdW5zaWduZWQgbG9uZyBhcmczLAotCQkJICAgICB1bnNpZ25lZCBsb25nIGFyZzQsIHVuc2lnbmVkIGxvbmcgYXJnNSwgbG9uZyAqcmNfcCkKLXsKLQlzd2l0Y2ggKG9wdGlvbikgewotCWNhc2UgUFJfQ0FQQlNFVF9SRUFEOgotCQkqcmNfcCA9IChjYXBfdmFsaWQoYXJnMikgPyAxIDogLUVJTlZBTCk7Ci0JCWJyZWFrOwotCWNhc2UgUFJfR0VUX0tFRVBDQVBTOgotCQkqcmNfcCA9IGlzc2VjdXJlKFNFQ1VSRV9LRUVQX0NBUFMpOwotCQlicmVhazsKLQljYXNlIFBSX1NFVF9LRUVQQ0FQUzoKLQkJaWYgKGFyZzIgPiAxKQotCQkJKnJjX3AgPSAtRUlOVkFMOwotCQllbHNlIGlmIChhcmcyKQotCQkJY3VycmVudC0+c2VjdXJlYml0cyB8PSBpc3NlY3VyZV9tYXNrKFNFQ1VSRV9LRUVQX0NBUFMpOwotCQllbHNlCi0JCQljdXJyZW50LT5zZWN1cmViaXRzICY9Ci0JCQkJfmlzc2VjdXJlX21hc2soU0VDVVJFX0tFRVBfQ0FQUyk7Ci0JCWJyZWFrOwotCWRlZmF1bHQ6Ci0JCXJldHVybiAwOwotCX0KLQotCXJldHVybiAxOwotfQotCi1zdGF0aWMgdm9pZCBkdW1teV90YXNrX3JlcGFyZW50X3RvX2luaXQgKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCkKLXsKLQlwLT5ldWlkID0gcC0+ZnN1aWQgPSAwOwotCXJldHVybjsKLX0KLQotc3RhdGljIHZvaWQgZHVtbXlfdGFza190b19pbm9kZShzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAsIHN0cnVjdCBpbm9kZSAqaW5vZGUpCi17IH0KLQotc3RhdGljIGludCBkdW1teV9pcGNfcGVybWlzc2lvbiAoc3RydWN0IGtlcm5faXBjX3Blcm0gKmlwY3AsIHNob3J0IGZsYWcpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkIGR1bW15X2lwY19nZXRzZWNpZChzdHJ1Y3Qga2Vybl9pcGNfcGVybSAqaXBjcCwgdTMyICpzZWNpZCkKLXsKLQkqc2VjaWQgPSAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X21zZ19tc2dfYWxsb2Nfc2VjdXJpdHkgKHN0cnVjdCBtc2dfbXNnICptc2cpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkIGR1bW15X21zZ19tc2dfZnJlZV9zZWN1cml0eSAoc3RydWN0IG1zZ19tc2cgKm1zZykKLXsKLQlyZXR1cm47Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfbXNnX3F1ZXVlX2FsbG9jX3NlY3VyaXR5IChzdHJ1Y3QgbXNnX3F1ZXVlICptc3EpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkIGR1bW15X21zZ19xdWV1ZV9mcmVlX3NlY3VyaXR5IChzdHJ1Y3QgbXNnX3F1ZXVlICptc3EpCi17Ci0JcmV0dXJuOwotfQotCi1zdGF0aWMgaW50IGR1bW15X21zZ19xdWV1ZV9hc3NvY2lhdGUgKHN0cnVjdCBtc2dfcXVldWUgKm1zcSwgCi0JCQkJICAgICAgaW50IG1zcWZsZykKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9tc2dfcXVldWVfbXNnY3RsIChzdHJ1Y3QgbXNnX3F1ZXVlICptc3EsIGludCBjbWQpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfbXNnX3F1ZXVlX21zZ3NuZCAoc3RydWN0IG1zZ19xdWV1ZSAqbXNxLCBzdHJ1Y3QgbXNnX21zZyAqbXNnLAotCQkJCSAgIGludCBtc2dmbGcpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfbXNnX3F1ZXVlX21zZ3JjdiAoc3RydWN0IG1zZ19xdWV1ZSAqbXNxLCBzdHJ1Y3QgbXNnX21zZyAqbXNnLAotCQkJCSAgIHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFyZ2V0LCBsb25nIHR5cGUsCi0JCQkJICAgaW50IG1vZGUpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc2htX2FsbG9jX3NlY3VyaXR5IChzdHJ1Y3Qgc2htaWRfa2VybmVsICpzaHApCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkIGR1bW15X3NobV9mcmVlX3NlY3VyaXR5IChzdHJ1Y3Qgc2htaWRfa2VybmVsICpzaHApCi17Ci0JcmV0dXJuOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NobV9hc3NvY2lhdGUgKHN0cnVjdCBzaG1pZF9rZXJuZWwgKnNocCwgaW50IHNobWZsZykKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9zaG1fc2htY3RsIChzdHJ1Y3Qgc2htaWRfa2VybmVsICpzaHAsIGludCBjbWQpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc2htX3NobWF0IChzdHJ1Y3Qgc2htaWRfa2VybmVsICpzaHAsIGNoYXIgX191c2VyICpzaG1hZGRyLAotCQkJICAgIGludCBzaG1mbGcpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc2VtX2FsbG9jX3NlY3VyaXR5IChzdHJ1Y3Qgc2VtX2FycmF5ICpzbWEpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkIGR1bW15X3NlbV9mcmVlX3NlY3VyaXR5IChzdHJ1Y3Qgc2VtX2FycmF5ICpzbWEpCi17Ci0JcmV0dXJuOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NlbV9hc3NvY2lhdGUgKHN0cnVjdCBzZW1fYXJyYXkgKnNtYSwgaW50IHNlbWZsZykKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9zZW1fc2VtY3RsIChzdHJ1Y3Qgc2VtX2FycmF5ICpzbWEsIGludCBjbWQpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc2VtX3NlbW9wIChzdHJ1Y3Qgc2VtX2FycmF5ICpzbWEsIAotCQkJICAgIHN0cnVjdCBzZW1idWYgKnNvcHMsIHVuc2lnbmVkIG5zb3BzLCBpbnQgYWx0ZXIpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfbmV0bGlua19zZW5kIChzdHJ1Y3Qgc29jayAqc2ssIHN0cnVjdCBza19idWZmICpza2IpCi17Ci0JTkVUTElOS19DQihza2IpLmVmZl9jYXAgPSBjdXJyZW50LT5jYXBfZWZmZWN0aXZlOwotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X25ldGxpbmtfcmVjdiAoc3RydWN0IHNrX2J1ZmYgKnNrYiwgaW50IGNhcCkKLXsKLQlpZiAoIWNhcF9yYWlzZWQgKE5FVExJTktfQ0IgKHNrYikuZWZmX2NhcCwgY2FwKSkKLQkJcmV0dXJuIC1FUEVSTTsKLQlyZXR1cm4gMDsKLX0KLQotI2lmZGVmIENPTkZJR19TRUNVUklUWV9ORVRXT1JLCi1zdGF0aWMgaW50IGR1bW15X3VuaXhfc3RyZWFtX2Nvbm5lY3QgKHN0cnVjdCBzb2NrZXQgKnNvY2ssCi0JCQkJICAgICAgc3RydWN0IHNvY2tldCAqb3RoZXIsCi0JCQkJICAgICAgc3RydWN0IHNvY2sgKm5ld3NrKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3VuaXhfbWF5X3NlbmQgKHN0cnVjdCBzb2NrZXQgKnNvY2ssCi0JCQkJc3RydWN0IHNvY2tldCAqb3RoZXIpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc29ja2V0X2NyZWF0ZSAoaW50IGZhbWlseSwgaW50IHR5cGUsCi0JCQkJaW50IHByb3RvY29sLCBpbnQga2VybikKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9zb2NrZXRfcG9zdF9jcmVhdGUgKHN0cnVjdCBzb2NrZXQgKnNvY2ssIGludCBmYW1pbHksIGludCB0eXBlLAotCQkJCSAgICAgaW50IHByb3RvY29sLCBpbnQga2VybikKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9zb2NrZXRfYmluZCAoc3RydWN0IHNvY2tldCAqc29jaywgc3RydWN0IHNvY2thZGRyICphZGRyZXNzLAotCQkJICAgICAgaW50IGFkZHJsZW4pCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc29ja2V0X2Nvbm5lY3QgKHN0cnVjdCBzb2NrZXQgKnNvY2ssIHN0cnVjdCBzb2NrYWRkciAqYWRkcmVzcywKLQkJCQkgaW50IGFkZHJsZW4pCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc29ja2V0X2xpc3RlbiAoc3RydWN0IHNvY2tldCAqc29jaywgaW50IGJhY2tsb2cpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc29ja2V0X2FjY2VwdCAoc3RydWN0IHNvY2tldCAqc29jaywgc3RydWN0IHNvY2tldCAqbmV3c29jaykKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQgZHVtbXlfc29ja2V0X3Bvc3RfYWNjZXB0IChzdHJ1Y3Qgc29ja2V0ICpzb2NrLCAKLQkJCQkgICAgICBzdHJ1Y3Qgc29ja2V0ICpuZXdzb2NrKQotewotCXJldHVybjsKLX0KLQotc3RhdGljIGludCBkdW1teV9zb2NrZXRfc2VuZG1zZyAoc3RydWN0IHNvY2tldCAqc29jaywgc3RydWN0IG1zZ2hkciAqbXNnLAotCQkJCSBpbnQgc2l6ZSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9zb2NrZXRfcmVjdm1zZyAoc3RydWN0IHNvY2tldCAqc29jaywgc3RydWN0IG1zZ2hkciAqbXNnLAotCQkJCSBpbnQgc2l6ZSwgaW50IGZsYWdzKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NvY2tldF9nZXRzb2NrbmFtZSAoc3RydWN0IHNvY2tldCAqc29jaykKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9zb2NrZXRfZ2V0cGVlcm5hbWUgKHN0cnVjdCBzb2NrZXQgKnNvY2spCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc29ja2V0X3NldHNvY2tvcHQgKHN0cnVjdCBzb2NrZXQgKnNvY2ssIGludCBsZXZlbCwgaW50IG9wdG5hbWUpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc29ja2V0X2dldHNvY2tvcHQgKHN0cnVjdCBzb2NrZXQgKnNvY2ssIGludCBsZXZlbCwgaW50IG9wdG5hbWUpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc29ja2V0X3NodXRkb3duIChzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBpbnQgaG93KQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NvY2tldF9zb2NrX3Jjdl9za2IgKHN0cnVjdCBzb2NrICpzaywgc3RydWN0IHNrX2J1ZmYgKnNrYikKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9zb2NrZXRfZ2V0cGVlcnNlY19zdHJlYW0oc3RydWN0IHNvY2tldCAqc29jaywgY2hhciBfX3VzZXIgKm9wdHZhbCwKLQkJCQkJICBpbnQgX191c2VyICpvcHRsZW4sIHVuc2lnbmVkIGxlbikKLXsKLQlyZXR1cm4gLUVOT1BST1RPT1BUOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NvY2tldF9nZXRwZWVyc2VjX2RncmFtKHN0cnVjdCBzb2NrZXQgKnNvY2ssIHN0cnVjdCBza19idWZmICpza2IsIHUzMiAqc2VjaWQpCi17Ci0JcmV0dXJuIC1FTk9QUk9UT09QVDsKLX0KLQotc3RhdGljIGlubGluZSBpbnQgZHVtbXlfc2tfYWxsb2Nfc2VjdXJpdHkgKHN0cnVjdCBzb2NrICpzaywgaW50IGZhbWlseSwgZ2ZwX3QgcHJpb3JpdHkpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCBkdW1teV9za19mcmVlX3NlY3VyaXR5IChzdHJ1Y3Qgc29jayAqc2spCi17Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCBkdW1teV9za19jbG9uZV9zZWN1cml0eSAoY29uc3Qgc3RydWN0IHNvY2sgKnNrLCBzdHJ1Y3Qgc29jayAqbmV3c2spCi17Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCBkdW1teV9za19nZXRzZWNpZChzdHJ1Y3Qgc29jayAqc2ssIHUzMiAqc2VjaWQpCi17Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCBkdW1teV9zb2NrX2dyYWZ0KHN0cnVjdCBzb2NrKiBzaywgc3RydWN0IHNvY2tldCAqcGFyZW50KQotewotfQotCi1zdGF0aWMgaW5saW5lIGludCBkdW1teV9pbmV0X2Nvbm5fcmVxdWVzdChzdHJ1Y3Qgc29jayAqc2ssCi0JCQlzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgcmVxdWVzdF9zb2NrICpyZXEpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCBkdW1teV9pbmV0X2Nza19jbG9uZShzdHJ1Y3Qgc29jayAqbmV3c2ssCi0JCQljb25zdCBzdHJ1Y3QgcmVxdWVzdF9zb2NrICpyZXEpCi17Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCBkdW1teV9pbmV0X2Nvbm5fZXN0YWJsaXNoZWQoc3RydWN0IHNvY2sgKnNrLAotCQkJc3RydWN0IHNrX2J1ZmYgKnNrYikKLXsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIGR1bW15X3JlcV9jbGFzc2lmeV9mbG93KGNvbnN0IHN0cnVjdCByZXF1ZXN0X3NvY2sgKnJlcSwKLQkJCXN0cnVjdCBmbG93aSAqZmwpCi17Ci19Ci0jZW5kaWYJLyogQ09ORklHX1NFQ1VSSVRZX05FVFdPUksgKi8KLQotI2lmZGVmIENPTkZJR19TRUNVUklUWV9ORVRXT1JLX1hGUk0KLXN0YXRpYyBpbnQgZHVtbXlfeGZybV9wb2xpY3lfYWxsb2Nfc2VjdXJpdHkoc3RydWN0IHhmcm1fc2VjX2N0eCAqKmN0eHAsCi0JCQkJCSAgICBzdHJ1Y3QgeGZybV91c2VyX3NlY19jdHggKnNlY19jdHgpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgaW50IGR1bW15X3hmcm1fcG9saWN5X2Nsb25lX3NlY3VyaXR5KHN0cnVjdCB4ZnJtX3NlY19jdHggKm9sZF9jdHgsCi0JCQkJCSAgIHN0cnVjdCB4ZnJtX3NlY19jdHggKipuZXdfY3R4cCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQgZHVtbXlfeGZybV9wb2xpY3lfZnJlZV9zZWN1cml0eShzdHJ1Y3QgeGZybV9zZWNfY3R4ICpjdHgpCi17Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfeGZybV9wb2xpY3lfZGVsZXRlX3NlY3VyaXR5KHN0cnVjdCB4ZnJtX3NlY19jdHggKmN0eCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV94ZnJtX3N0YXRlX2FsbG9jX3NlY3VyaXR5KHN0cnVjdCB4ZnJtX3N0YXRlICp4LAotCXN0cnVjdCB4ZnJtX3VzZXJfc2VjX2N0eCAqc2VjX2N0eCwgdTMyIHNlY2lkKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgdm9pZCBkdW1teV94ZnJtX3N0YXRlX2ZyZWVfc2VjdXJpdHkoc3RydWN0IHhmcm1fc3RhdGUgKngpCi17Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfeGZybV9zdGF0ZV9kZWxldGVfc2VjdXJpdHkoc3RydWN0IHhmcm1fc3RhdGUgKngpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfeGZybV9wb2xpY3lfbG9va3VwKHN0cnVjdCB4ZnJtX3NlY19jdHggKmN0eCwKLQkJCQkgICAgdTMyIHNrX3NpZCwgdTggZGlyKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3hmcm1fc3RhdGVfcG9sX2Zsb3dfbWF0Y2goc3RydWN0IHhmcm1fc3RhdGUgKngsCi0JCQkJc3RydWN0IHhmcm1fcG9saWN5ICp4cCwgc3RydWN0IGZsb3dpICpmbCkKLXsKLQlyZXR1cm4gMTsKLX0KLQotc3RhdGljIGludCBkdW1teV94ZnJtX2RlY29kZV9zZXNzaW9uKHN0cnVjdCBza19idWZmICpza2IsIHUzMiAqZmwsIGludCBja2FsbCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotI2VuZGlmIC8qIENPTkZJR19TRUNVUklUWV9ORVRXT1JLX1hGUk0gKi8KLXN0YXRpYyBpbnQgZHVtbXlfcmVnaXN0ZXJfc2VjdXJpdHkgKGNvbnN0IGNoYXIgKm5hbWUsIHN0cnVjdCBzZWN1cml0eV9vcGVyYXRpb25zICpvcHMpCi17Ci0JcmV0dXJuIC1FSU5WQUw7Ci19Ci0KLXN0YXRpYyB2b2lkIGR1bW15X2RfaW5zdGFudGlhdGUgKHN0cnVjdCBkZW50cnkgKmRlbnRyeSwgc3RydWN0IGlub2RlICppbm9kZSkKLXsKLQlyZXR1cm47Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfZ2V0cHJvY2F0dHIoc3RydWN0IHRhc2tfc3RydWN0ICpwLCBjaGFyICpuYW1lLCBjaGFyICoqdmFsdWUpCi17Ci0JcmV0dXJuIC1FSU5WQUw7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc2V0cHJvY2F0dHIoc3RydWN0IHRhc2tfc3RydWN0ICpwLCBjaGFyICpuYW1lLCB2b2lkICp2YWx1ZSwgc2l6ZV90IHNpemUpCi17Ci0JcmV0dXJuIC1FSU5WQUw7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc2VjaWRfdG9fc2VjY3R4KHUzMiBzZWNpZCwgY2hhciAqKnNlY2RhdGEsIHUzMiAqc2VjbGVuKQotewotCXJldHVybiAtRU9QTk9UU1VQUDsKLX0KLQotc3RhdGljIGludCBkdW1teV9zZWNjdHhfdG9fc2VjaWQoY29uc3QgY2hhciAqc2VjZGF0YSwgdTMyIHNlY2xlbiwgdTMyICpzZWNpZCkKLXsKLQlyZXR1cm4gLUVPUE5PVFNVUFA7Ci19Ci0KLXN0YXRpYyB2b2lkIGR1bW15X3JlbGVhc2Vfc2VjY3R4KGNoYXIgKnNlY2RhdGEsIHUzMiBzZWNsZW4pCi17Ci19Ci0KLSNpZmRlZiBDT05GSUdfS0VZUwotc3RhdGljIGlubGluZSBpbnQgZHVtbXlfa2V5X2FsbG9jKHN0cnVjdCBrZXkgKmtleSwgc3RydWN0IHRhc2tfc3RydWN0ICpjdHgsCi0JCQkJICB1bnNpZ25lZCBsb25nIGZsYWdzKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQgZHVtbXlfa2V5X2ZyZWUoc3RydWN0IGtleSAqa2V5KQotewotfQotCi1zdGF0aWMgaW5saW5lIGludCBkdW1teV9rZXlfcGVybWlzc2lvbihrZXlfcmVmX3Qga2V5X3JlZiwKLQkJCQkgICAgICAgc3RydWN0IHRhc2tfc3RydWN0ICpjb250ZXh0LAotCQkJCSAgICAgICBrZXlfcGVybV90IHBlcm0pCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfa2V5X2dldHNlY3VyaXR5KHN0cnVjdCBrZXkgKmtleSwgY2hhciAqKl9idWZmZXIpCi17Ci0JKl9idWZmZXIgPSBOVUxMOwotCXJldHVybiAwOwotfQotCi0jZW5kaWYgLyogQ09ORklHX0tFWVMgKi8KLQotI2lmZGVmIENPTkZJR19BVURJVAotc3RhdGljIGlubGluZSBpbnQgZHVtbXlfYXVkaXRfcnVsZV9pbml0KHUzMiBmaWVsZCwgdTMyIG9wLCBjaGFyICpydWxlc3RyLAotCQkJCQl2b2lkICoqbHNtcnVsZSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGlubGluZSBpbnQgZHVtbXlfYXVkaXRfcnVsZV9rbm93bihzdHJ1Y3QgYXVkaXRfa3J1bGUgKmtydWxlKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW5saW5lIGludCBkdW1teV9hdWRpdF9ydWxlX21hdGNoKHUzMiBzZWNpZCwgdTMyIGZpZWxkLCB1MzIgb3AsCi0JCQkJCSB2b2lkICpsc21ydWxlLAotCQkJCQkgc3RydWN0IGF1ZGl0X2NvbnRleHQgKmFjdHgpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCBkdW1teV9hdWRpdF9ydWxlX2ZyZWUodm9pZCAqbHNtcnVsZSkKLXsgfQotCi0jZW5kaWYgLyogQ09ORklHX0FVRElUICovCi0KLXN0cnVjdCBzZWN1cml0eV9vcGVyYXRpb25zIGR1bW15X3NlY3VyaXR5X29wcyA9IHsKLQkubmFtZSA9ICJkdW1teSIsCi19OwotCi0jZGVmaW5lIHNldF90b19kdW1teV9pZl9udWxsKG9wcywgZnVuY3Rpb24pCQkJCVwKLQlkbyB7CQkJCQkJCQlcCi0JCWlmICghb3BzLT5mdW5jdGlvbikgewkJCQkJXAotCQkJb3BzLT5mdW5jdGlvbiA9IGR1bW15XyMjZnVuY3Rpb247CQlcCi0JCQlwcl9kZWJ1ZygiSGFkIHRvIG92ZXJyaWRlIHRoZSAiICNmdW5jdGlvbglcCi0JCQkJICIgc2VjdXJpdHkgb3BlcmF0aW9uIHdpdGggdGhlIGR1bW15IG9uZS5cbiIpO1wKLQkJCX0JCQkJCQlcCi0JfSB3aGlsZSAoMCkKLQotdm9pZCBzZWN1cml0eV9maXh1cF9vcHMgKHN0cnVjdCBzZWN1cml0eV9vcGVyYXRpb25zICpvcHMpCi17Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBwdHJhY2UpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgY2FwZ2V0KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGNhcHNldF9jaGVjayk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBjYXBzZXRfc2V0KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGFjY3QpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgY2FwYWJsZSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBxdW90YWN0bCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBxdW90YV9vbik7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzeXNjdGwpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc3lzbG9nKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNldHRpbWUpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgdm1fZW5vdWdoX21lbW9yeSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBicHJtX2FsbG9jX3NlY3VyaXR5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGJwcm1fZnJlZV9zZWN1cml0eSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBicHJtX2FwcGx5X2NyZWRzKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGJwcm1fcG9zdF9hcHBseV9jcmVkcyk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBicHJtX3NldF9zZWN1cml0eSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBicHJtX2NoZWNrX3NlY3VyaXR5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGJwcm1fc2VjdXJlZXhlYyk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzYl9hbGxvY19zZWN1cml0eSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzYl9mcmVlX3NlY3VyaXR5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNiX2NvcHlfZGF0YSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzYl9rZXJuX21vdW50KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNiX3N0YXRmcyk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzYl9tb3VudCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzYl9jaGVja19zYik7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzYl91bW91bnQpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2JfdW1vdW50X2Nsb3NlKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNiX3Vtb3VudF9idXN5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNiX3Bvc3RfcmVtb3VudCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzYl9wb3N0X2FkZG1vdW50KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNiX3Bpdm90cm9vdCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzYl9wb3N0X3Bpdm90cm9vdCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzYl9nZXRfbW50X29wdHMpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2Jfc2V0X21udF9vcHRzKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNiX2Nsb25lX21udF9vcHRzKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNiX3BhcnNlX29wdHNfc3RyKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGlub2RlX2FsbG9jX3NlY3VyaXR5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGlub2RlX2ZyZWVfc2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgaW5vZGVfaW5pdF9zZWN1cml0eSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBpbm9kZV9jcmVhdGUpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgaW5vZGVfbGluayk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBpbm9kZV91bmxpbmspOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgaW5vZGVfc3ltbGluayk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBpbm9kZV9ta2Rpcik7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBpbm9kZV9ybWRpcik7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBpbm9kZV9ta25vZCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBpbm9kZV9yZW5hbWUpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgaW5vZGVfcmVhZGxpbmspOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgaW5vZGVfZm9sbG93X2xpbmspOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgaW5vZGVfcGVybWlzc2lvbik7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBpbm9kZV9zZXRhdHRyKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGlub2RlX2dldGF0dHIpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgaW5vZGVfZGVsZXRlKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGlub2RlX3NldHhhdHRyKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGlub2RlX3Bvc3Rfc2V0eGF0dHIpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgaW5vZGVfZ2V0eGF0dHIpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgaW5vZGVfbGlzdHhhdHRyKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGlub2RlX3JlbW92ZXhhdHRyKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGlub2RlX25lZWRfa2lsbHByaXYpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgaW5vZGVfa2lsbHByaXYpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgaW5vZGVfZ2V0c2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgaW5vZGVfc2V0c2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgaW5vZGVfbGlzdHNlY3VyaXR5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGlub2RlX2dldHNlY2lkKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGZpbGVfcGVybWlzc2lvbik7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBmaWxlX2FsbG9jX3NlY3VyaXR5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGZpbGVfZnJlZV9zZWN1cml0eSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBmaWxlX2lvY3RsKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGZpbGVfbW1hcCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBmaWxlX21wcm90ZWN0KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGZpbGVfbG9jayk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBmaWxlX2ZjbnRsKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGZpbGVfc2V0X2Zvd25lcik7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBmaWxlX3NlbmRfc2lnaW90YXNrKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGZpbGVfcmVjZWl2ZSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBkZW50cnlfb3Blbik7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCB0YXNrX2NyZWF0ZSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCB0YXNrX2FsbG9jX3NlY3VyaXR5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHRhc2tfZnJlZV9zZWN1cml0eSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCB0YXNrX3NldHVpZCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCB0YXNrX3Bvc3Rfc2V0dWlkKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHRhc2tfc2V0Z2lkKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHRhc2tfc2V0cGdpZCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCB0YXNrX2dldHBnaWQpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgdGFza19nZXRzaWQpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgdGFza19nZXRzZWNpZCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCB0YXNrX3NldGdyb3Vwcyk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCB0YXNrX3NldG5pY2UpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgdGFza19zZXRpb3ByaW8pOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgdGFza19nZXRpb3ByaW8pOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgdGFza19zZXRybGltaXQpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgdGFza19zZXRzY2hlZHVsZXIpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgdGFza19nZXRzY2hlZHVsZXIpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgdGFza19tb3ZlbWVtb3J5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHRhc2tfd2FpdCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCB0YXNrX2tpbGwpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgdGFza19wcmN0bCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCB0YXNrX3JlcGFyZW50X3RvX2luaXQpOwotIAlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHRhc2tfdG9faW5vZGUpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgaXBjX3Blcm1pc3Npb24pOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgaXBjX2dldHNlY2lkKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIG1zZ19tc2dfYWxsb2Nfc2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgbXNnX21zZ19mcmVlX3NlY3VyaXR5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIG1zZ19xdWV1ZV9hbGxvY19zZWN1cml0eSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBtc2dfcXVldWVfZnJlZV9zZWN1cml0eSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBtc2dfcXVldWVfYXNzb2NpYXRlKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIG1zZ19xdWV1ZV9tc2djdGwpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgbXNnX3F1ZXVlX21zZ3NuZCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBtc2dfcXVldWVfbXNncmN2KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNobV9hbGxvY19zZWN1cml0eSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzaG1fZnJlZV9zZWN1cml0eSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzaG1fYXNzb2NpYXRlKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNobV9zaG1jdGwpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2htX3NobWF0KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNlbV9hbGxvY19zZWN1cml0eSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzZW1fZnJlZV9zZWN1cml0eSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzZW1fYXNzb2NpYXRlKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNlbV9zZW1jdGwpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2VtX3NlbW9wKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIG5ldGxpbmtfc2VuZCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBuZXRsaW5rX3JlY3YpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgcmVnaXN0ZXJfc2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgZF9pbnN0YW50aWF0ZSk7Ci0gCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgZ2V0cHJvY2F0dHIpOwotIAlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNldHByb2NhdHRyKTsKLSAJc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzZWNpZF90b19zZWNjdHgpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2VjY3R4X3RvX3NlY2lkKTsKLSAJc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCByZWxlYXNlX3NlY2N0eCk7Ci0jaWZkZWYgQ09ORklHX1NFQ1VSSVRZX05FVFdPUksKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHVuaXhfc3RyZWFtX2Nvbm5lY3QpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgdW5peF9tYXlfc2VuZCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzb2NrZXRfY3JlYXRlKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNvY2tldF9wb3N0X2NyZWF0ZSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzb2NrZXRfYmluZCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzb2NrZXRfY29ubmVjdCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzb2NrZXRfbGlzdGVuKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNvY2tldF9hY2NlcHQpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc29ja2V0X3Bvc3RfYWNjZXB0KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNvY2tldF9zZW5kbXNnKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNvY2tldF9yZWN2bXNnKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNvY2tldF9nZXRzb2NrbmFtZSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzb2NrZXRfZ2V0cGVlcm5hbWUpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc29ja2V0X3NldHNvY2tvcHQpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc29ja2V0X2dldHNvY2tvcHQpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc29ja2V0X3NodXRkb3duKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNvY2tldF9zb2NrX3Jjdl9za2IpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc29ja2V0X2dldHBlZXJzZWNfc3RyZWFtKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNvY2tldF9nZXRwZWVyc2VjX2RncmFtKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNrX2FsbG9jX3NlY3VyaXR5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNrX2ZyZWVfc2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2tfY2xvbmVfc2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2tfZ2V0c2VjaWQpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc29ja19ncmFmdCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBpbmV0X2Nvbm5fcmVxdWVzdCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBpbmV0X2Nza19jbG9uZSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBpbmV0X2Nvbm5fZXN0YWJsaXNoZWQpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgcmVxX2NsYXNzaWZ5X2Zsb3cpOwotICNlbmRpZgkvKiBDT05GSUdfU0VDVVJJVFlfTkVUV09SSyAqLwotI2lmZGVmICBDT05GSUdfU0VDVVJJVFlfTkVUV09SS19YRlJNCi0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCB4ZnJtX3BvbGljeV9hbGxvY19zZWN1cml0eSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCB4ZnJtX3BvbGljeV9jbG9uZV9zZWN1cml0eSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCB4ZnJtX3BvbGljeV9mcmVlX3NlY3VyaXR5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHhmcm1fcG9saWN5X2RlbGV0ZV9zZWN1cml0eSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCB4ZnJtX3N0YXRlX2FsbG9jX3NlY3VyaXR5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHhmcm1fc3RhdGVfZnJlZV9zZWN1cml0eSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCB4ZnJtX3N0YXRlX2RlbGV0ZV9zZWN1cml0eSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCB4ZnJtX3BvbGljeV9sb29rdXApOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgeGZybV9zdGF0ZV9wb2xfZmxvd19tYXRjaCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCB4ZnJtX2RlY29kZV9zZXNzaW9uKTsKLSNlbmRpZgkvKiBDT05GSUdfU0VDVVJJVFlfTkVUV09SS19YRlJNICovCi0jaWZkZWYgQ09ORklHX0tFWVMKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGtleV9hbGxvYyk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBrZXlfZnJlZSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBrZXlfcGVybWlzc2lvbik7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBrZXlfZ2V0c2VjdXJpdHkpOwotI2VuZGlmCS8qIENPTkZJR19LRVlTICovCi0jaWZkZWYgQ09ORklHX0FVRElUCi0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBhdWRpdF9ydWxlX2luaXQpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgYXVkaXRfcnVsZV9rbm93bik7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBhdWRpdF9ydWxlX21hdGNoKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGF1ZGl0X3J1bGVfZnJlZSk7Ci0jZW5kaWYKLX0KLQpkaWZmIC0tZ2l0IGEvc2VjdXJpdHkvcm9vdF9wbHVnLmMgYi9zZWN1cml0eS9yb290X3BsdWcuYwppbmRleCBhNDFjZjQyLi5iZTBlYmVjIDEwMDY0NAotLS0gYS9zZWN1cml0eS9yb290X3BsdWcuYworKysgYi9zZWN1cml0eS9yb290X3BsdWcuYwpAQCAtMjgsOSArMjgsNiBAQAogI2luY2x1ZGUgPGxpbnV4L3VzYi5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZXBhcmFtLmg+CiAKLS8qIGZsYWcgdG8ga2VlcCB0cmFjayBvZiBob3cgd2Ugd2VyZSByZWdpc3RlcmVkICovCi1zdGF0aWMgaW50IHNlY29uZGFyeTsKLQogLyogZGVmYXVsdCBpcyBhIGdlbmVyaWMgdHlwZSBvZiB1c2IgdG8gc2VyaWFsIGNvbnZlcnRlciAqLwogc3RhdGljIGludCB2ZW5kb3JfaWQgPSAweDA1NTc7CiBzdGF0aWMgaW50IHByb2R1Y3RfaWQgPSAweDIwMDg7CkBAIC05NywxMyArOTQsNyBAQAogCWlmIChyZWdpc3Rlcl9zZWN1cml0eSAoJnJvb3RwbHVnX3NlY3VyaXR5X29wcykpIHsKIAkJcHJpbnRrIChLRVJOX0lORk8gCiAJCQkiRmFpbHVyZSByZWdpc3RlcmluZyBSb290IFBsdWcgbW9kdWxlIHdpdGggdGhlIGtlcm5lbFxuIik7Ci0JCS8qIHRyeSByZWdpc3RlcmluZyB3aXRoIHByaW1hcnkgbW9kdWxlICovCi0JCWlmIChtb2RfcmVnX3NlY3VyaXR5IChNWV9OQU1FLCAmcm9vdHBsdWdfc2VjdXJpdHlfb3BzKSkgewotCQkJcHJpbnRrIChLRVJOX0lORk8gIkZhaWx1cmUgcmVnaXN0ZXJpbmcgUm9vdCBQbHVnICIKLQkJCQkiIG1vZHVsZSB3aXRoIHByaW1hcnkgc2VjdXJpdHkgbW9kdWxlLlxuIik7CiAJCQlyZXR1cm4gLUVJTlZBTDsKLQkJfQotCQlzZWNvbmRhcnkgPSAxOwogCX0KIAlwcmludGsgKEtFUk5fSU5GTyAiUm9vdCBQbHVnIG1vZHVsZSBpbml0aWFsaXplZCwgIgogCQkidmVuZG9yX2lkID0gJTQuNHgsIHByb2R1Y3QgaWQgPSAlNC40eFxuIiwgdmVuZG9yX2lkLCBwcm9kdWN0X2lkKTsKZGlmZiAtLWdpdCBhL3NlY3VyaXR5L3NlY3VyaXR5LmMgYi9zZWN1cml0eS9zZWN1cml0eS5jCmluZGV4IDU5ODM4YTkuLjU5ZjIzYjUgMTAwNjQ0Ci0tLSBhL3NlY3VyaXR5L3NlY3VyaXR5LmMKKysrIGIvc2VjdXJpdHkvc2VjdXJpdHkuYwpAQCAtMjAsOCArMjAsOCBAQAogLyogQm9vdC10aW1lIExTTSB1c2VyIGNob2ljZSAqLwogc3RhdGljIF9faW5pdGRhdGEgY2hhciBjaG9zZW5fbHNtW1NFQ1VSSVRZX05BTUVfTUFYICsgMV07CiAKLS8qIHRoaW5ncyB0aGF0IGxpdmUgaW4gZHVtbXkuYyAqLwotZXh0ZXJuIHN0cnVjdCBzZWN1cml0eV9vcGVyYXRpb25zIGR1bW15X3NlY3VyaXR5X29wczsKKy8qIHRoaW5ncyB0aGF0IGxpdmUgaW4gY2FwYWJpbGl0eS5jICovCitleHRlcm4gc3RydWN0IHNlY3VyaXR5X29wZXJhdGlvbnMgZGVmYXVsdF9zZWN1cml0eV9vcHM7CiBleHRlcm4gdm9pZCBzZWN1cml0eV9maXh1cF9vcHMoc3RydWN0IHNlY3VyaXR5X29wZXJhdGlvbnMgKm9wcyk7CiAKIHN0cnVjdCBzZWN1cml0eV9vcGVyYXRpb25zICpzZWN1cml0eV9vcHM7CS8qIEluaXRpYWxpemVkIHRvIE5VTEwgKi8KQEAgLTU3LDEzICs1Nyw4IEBACiB7CiAJcHJpbnRrKEtFUk5fSU5GTyAiU2VjdXJpdHkgRnJhbWV3b3JrIGluaXRpYWxpemVkXG4iKTsKIAotCWlmICh2ZXJpZnkoJmR1bW15X3NlY3VyaXR5X29wcykpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICIlcyBjb3VsZCBub3QgdmVyaWZ5ICIKLQkJICAgICAgICJkdW1teV9zZWN1cml0eV9vcHMgc3RydWN0dXJlLlxuIiwgX19mdW5jX18pOwotCQlyZXR1cm4gLUVJTzsKLQl9Ci0KLQlzZWN1cml0eV9vcHMgPSAmZHVtbXlfc2VjdXJpdHlfb3BzOworCXNlY3VyaXR5X2ZpeHVwX29wcygmZGVmYXVsdF9zZWN1cml0eV9vcHMpOworCXNlY3VyaXR5X29wcyA9ICZkZWZhdWx0X3NlY3VyaXR5X29wczsKIAlkb19zZWN1cml0eV9pbml0Y2FsbHMoKTsKIAogCXJldHVybiAwOwpAQCAtMTIyLDcgKzExNyw3IEBACiAJCXJldHVybiAtRUlOVkFMOwogCX0KIAotCWlmIChzZWN1cml0eV9vcHMgIT0gJmR1bW15X3NlY3VyaXR5X29wcykKKwlpZiAoc2VjdXJpdHlfb3BzICE9ICZkZWZhdWx0X3NlY3VyaXR5X29wcykKIAkJcmV0dXJuIC1FQUdBSU47CiAKIAlzZWN1cml0eV9vcHMgPSBvcHM7CkBAIC0xMzAsNDAgKzEyNSwxMiBAQAogCXJldHVybiAwOwogfQogCi0vKioKLSAqIG1vZF9yZWdfc2VjdXJpdHkgLSBhbGxvd3Mgc2VjdXJpdHkgbW9kdWxlcyB0byBiZSAic3RhY2tlZCIKLSAqIEBuYW1lOiBhIHBvaW50ZXIgdG8gYSBzdHJpbmcgd2l0aCB0aGUgbmFtZSBvZiB0aGUgc2VjdXJpdHlfb3B0aW9ucyB0byBiZSByZWdpc3RlcmVkCi0gKiBAb3BzOiBhIHBvaW50ZXIgdG8gdGhlIHN0cnVjdCBzZWN1cml0eV9vcHRpb25zIHRoYXQgaXMgdG8gYmUgcmVnaXN0ZXJlZAotICoKLSAqIFRoaXMgZnVuY3Rpb24gYWxsb3dzIHNlY3VyaXR5IG1vZHVsZXMgdG8gYmUgc3RhY2tlZCBpZiB0aGUgY3VycmVudGx5IGxvYWRlZAotICogc2VjdXJpdHkgbW9kdWxlIGFsbG93cyB0aGlzIHRvIGhhcHBlbi4gIEl0IHBhc3NlcyB0aGUgQG5hbWUgYW5kIEBvcHMgdG8gdGhlCi0gKiByZWdpc3Rlcl9zZWN1cml0eSBmdW5jdGlvbiBvZiB0aGUgY3VycmVudGx5IGxvYWRlZCBzZWN1cml0eSBtb2R1bGUuCi0gKgotICogVGhlIHJldHVybiB2YWx1ZSBkZXBlbmRzIG9uIHRoZSBjdXJyZW50bHkgbG9hZGVkIHNlY3VyaXR5IG1vZHVsZSwgd2l0aCAwIGFzCi0gKiBzdWNjZXNzLgotICovCi1pbnQgbW9kX3JlZ19zZWN1cml0eShjb25zdCBjaGFyICpuYW1lLCBzdHJ1Y3Qgc2VjdXJpdHlfb3BlcmF0aW9ucyAqb3BzKQotewotCWlmICh2ZXJpZnkob3BzKSkgewotCQlwcmludGsoS0VSTl9JTkZPICIlcyBjb3VsZCBub3QgdmVyaWZ5ICIKLQkJICAgICAgICJzZWN1cml0eSBvcGVyYXRpb25zLlxuIiwgX19mdW5jX18pOwotCQlyZXR1cm4gLUVJTlZBTDsKLQl9Ci0KLQlpZiAob3BzID09IHNlY3VyaXR5X29wcykgewotCQlwcmludGsoS0VSTl9JTkZPICIlcyBzZWN1cml0eSBvcGVyYXRpb25zICIKLQkJICAgICAgICJhbHJlYWR5IHJlZ2lzdGVyZWQuXG4iLCBfX2Z1bmNfXyk7Ci0JCXJldHVybiAtRUlOVkFMOwotCX0KLQotCXJldHVybiBzZWN1cml0eV9vcHMtPnJlZ2lzdGVyX3NlY3VyaXR5KG5hbWUsIG9wcyk7Ci19Ci0KIC8qIFNlY3VyaXR5IG9wZXJhdGlvbnMgKi8KIAotaW50IHNlY3VyaXR5X3B0cmFjZShzdHJ1Y3QgdGFza19zdHJ1Y3QgKnBhcmVudCwgc3RydWN0IHRhc2tfc3RydWN0ICpjaGlsZCkKK2ludCBzZWN1cml0eV9wdHJhY2Uoc3RydWN0IHRhc2tfc3RydWN0ICpwYXJlbnQsIHN0cnVjdCB0YXNrX3N0cnVjdCAqY2hpbGQsCisJCSAgICB1bnNpZ25lZCBpbnQgbW9kZSkKIHsKLQlyZXR1cm4gc2VjdXJpdHlfb3BzLT5wdHJhY2UocGFyZW50LCBjaGlsZCk7CisJcmV0dXJuIHNlY3VyaXR5X29wcy0+cHRyYWNlKHBhcmVudCwgY2hpbGQsIG1vZGUpOwogfQogCiBpbnQgc2VjdXJpdHlfY2FwZ2V0KHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFyZ2V0LApAQCAtMjkxLDYgKzI1OCwxMSBAQAogCXJldHVybiBzZWN1cml0eV9vcHMtPnNiX2tlcm5fbW91bnQoc2IsIGRhdGEpOwogfQogCitpbnQgc2VjdXJpdHlfc2Jfc2hvd19vcHRpb25zKHN0cnVjdCBzZXFfZmlsZSAqbSwgc3RydWN0IHN1cGVyX2Jsb2NrICpzYikKK3sKKwlyZXR1cm4gc2VjdXJpdHlfb3BzLT5zYl9zaG93X29wdGlvbnMobSwgc2IpOworfQorCiBpbnQgc2VjdXJpdHlfc2Jfc3RhdGZzKHN0cnVjdCBkZW50cnkgKmRlbnRyeSkKIHsKIAlyZXR1cm4gc2VjdXJpdHlfb3BzLT5zYl9zdGF0ZnMoZGVudHJ5KTsKQEAgLTM0MiwxMiArMzE0LDYgQEAKIAlzZWN1cml0eV9vcHMtPnNiX3Bvc3RfcGl2b3Ryb290KG9sZF9wYXRoLCBuZXdfcGF0aCk7CiB9CiAKLWludCBzZWN1cml0eV9zYl9nZXRfbW50X29wdHMoY29uc3Qgc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwKLQkJCQlzdHJ1Y3Qgc2VjdXJpdHlfbW50X29wdHMgKm9wdHMpCi17Ci0JcmV0dXJuIHNlY3VyaXR5X29wcy0+c2JfZ2V0X21udF9vcHRzKHNiLCBvcHRzKTsKLX0KLQogaW50IHNlY3VyaXR5X3NiX3NldF9tbnRfb3B0cyhzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLAogCQkJCXN0cnVjdCBzZWN1cml0eV9tbnRfb3B0cyAqb3B0cykKIHsKQEAgLTg5NCw3ICs4NjAsNyBAQAogCiB2b2lkIHNlY3VyaXR5X3JlbGVhc2Vfc2VjY3R4KGNoYXIgKnNlY2RhdGEsIHUzMiBzZWNsZW4pCiB7Ci0JcmV0dXJuIHNlY3VyaXR5X29wcy0+cmVsZWFzZV9zZWNjdHgoc2VjZGF0YSwgc2VjbGVuKTsKKwlzZWN1cml0eV9vcHMtPnJlbGVhc2Vfc2VjY3R4KHNlY2RhdGEsIHNlY2xlbik7CiB9CiBFWFBPUlRfU1lNQk9MKHNlY3VyaXR5X3JlbGVhc2Vfc2VjY3R4KTsKIApAQCAtMTAxMSwxMiArOTc3LDEyIEBACiAKIHZvaWQgc2VjdXJpdHlfc2tfZnJlZShzdHJ1Y3Qgc29jayAqc2spCiB7Ci0JcmV0dXJuIHNlY3VyaXR5X29wcy0+c2tfZnJlZV9zZWN1cml0eShzayk7CisJc2VjdXJpdHlfb3BzLT5za19mcmVlX3NlY3VyaXR5KHNrKTsKIH0KIAogdm9pZCBzZWN1cml0eV9za19jbG9uZShjb25zdCBzdHJ1Y3Qgc29jayAqc2ssIHN0cnVjdCBzb2NrICpuZXdzaykKIHsKLQlyZXR1cm4gc2VjdXJpdHlfb3BzLT5za19jbG9uZV9zZWN1cml0eShzaywgbmV3c2spOworCXNlY3VyaXR5X29wcy0+c2tfY2xvbmVfc2VjdXJpdHkoc2ssIG5ld3NrKTsKIH0KIAogdm9pZCBzZWN1cml0eV9za19jbGFzc2lmeV9mbG93KHN0cnVjdCBzb2NrICpzaywgc3RydWN0IGZsb3dpICpmbCkKZGlmZiAtLWdpdCBhL3NlY3VyaXR5L3NlbGludXgvaG9va3MuYyBiL3NlY3VyaXR5L3NlbGludXgvaG9va3MuYwppbmRleCAxYzg2NGMwLi42M2YxMzFmIDEwMDY0NAotLS0gYS9zZWN1cml0eS9zZWxpbnV4L2hvb2tzLmMKKysrIGIvc2VjdXJpdHkvc2VsaW51eC9ob29rcy5jCkBAIC05LDcgKzksOCBAQAogICoJICAgICAgSmFtZXMgTW9ycmlzIDxqbW9ycmlzQHJlZGhhdC5jb20+CiAgKgogICogIENvcHlyaWdodCAoQykgMjAwMSwyMDAyIE5ldHdvcmtzIEFzc29jaWF0ZXMgVGVjaG5vbG9neSwgSW5jLgotICogIENvcHlyaWdodCAoQykgMjAwMyBSZWQgSGF0LCBJbmMuLCBKYW1lcyBNb3JyaXMgPGptb3JyaXNAcmVkaGF0LmNvbT4KKyAqICBDb3B5cmlnaHQgKEMpIDIwMDMtMjAwOCBSZWQgSGF0LCBJbmMuLCBKYW1lcyBNb3JyaXMgPGptb3JyaXNAcmVkaGF0LmNvbT4KKyAqCQkJCQkgICBFcmljIFBhcmlzIDxlcGFyaXNAcmVkaGF0LmNvbT4KICAqICBDb3B5cmlnaHQgKEMpIDIwMDQtMjAwNSBUcnVzdGVkIENvbXB1dGVyIFNvbHV0aW9ucywgSW5jLgogICoJCQkgICAgPGRnb2VkZGVsQHRydXN0ZWRjcy5jb20+CiAgKiAgQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3IEhld2xldHQtUGFja2FyZCBEZXZlbG9wbWVudCBDb21wYW55LCBMLlAuCkBAIC00Miw5ICs0Myw3IEBACiAjaW5jbHVkZSA8bGludXgvZmR0YWJsZS5oPgogI2luY2x1ZGUgPGxpbnV4L25hbWVpLmg+CiAjaW5jbHVkZSA8bGludXgvbW91bnQuaD4KLSNpbmNsdWRlIDxsaW51eC9leHQyX2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvcHJvY19mcy5oPgotI2luY2x1ZGUgPGxpbnV4L2tkLmg+CiAjaW5jbHVkZSA8bGludXgvbmV0ZmlsdGVyX2lwdjQuaD4KICNpbmNsdWRlIDxsaW51eC9uZXRmaWx0ZXJfaXB2Ni5oPgogI2luY2x1ZGUgPGxpbnV4L3R0eS5oPgpAQCAtNTMsNyArNTIsNyBAQAogI2luY2x1ZGUgPG5ldC90Y3AuaD4JCS8qIHN0cnVjdCBvcl9jYWxsYWJsZSB1c2VkIGluIHNvY2tfcmN2X3NrYiAqLwogI2luY2x1ZGUgPG5ldC9uZXRfbmFtZXNwYWNlLmg+CiAjaW5jbHVkZSA8bmV0L25ldGxhYmVsLmg+Ci0jaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KKyNpbmNsdWRlIDxsaW51eC91YWNjZXNzLmg+CiAjaW5jbHVkZSA8YXNtL2lvY3Rscy5oPgogI2luY2x1ZGUgPGFzbS9hdG9taWMuaD4KICNpbmNsdWRlIDxsaW51eC9iaXRvcHMuaD4KQEAgLTEwNCw3ICsxMDMsOSBAQAogCiBzdGF0aWMgaW50IF9faW5pdCBlbmZvcmNpbmdfc2V0dXAoY2hhciAqc3RyKQogewotCXNlbGludXhfZW5mb3JjaW5nID0gc2ltcGxlX3N0cnRvbChzdHIsIE5VTEwsIDApOworCXVuc2lnbmVkIGxvbmcgZW5mb3JjaW5nOworCWlmICghc3RyaWN0X3N0cnRvdWwoc3RyLCAwLCAmZW5mb3JjaW5nKSkKKwkJc2VsaW51eF9lbmZvcmNpbmcgPSBlbmZvcmNpbmcgPyAxIDogMDsKIAlyZXR1cm4gMTsKIH0KIF9fc2V0dXAoImVuZm9yY2luZz0iLCBlbmZvcmNpbmdfc2V0dXApOwpAQCAtMTE1LDcgKzExNiw5IEBACiAKIHN0YXRpYyBpbnQgX19pbml0IHNlbGludXhfZW5hYmxlZF9zZXR1cChjaGFyICpzdHIpCiB7Ci0Jc2VsaW51eF9lbmFibGVkID0gc2ltcGxlX3N0cnRvbChzdHIsIE5VTEwsIDApOworCXVuc2lnbmVkIGxvbmcgZW5hYmxlZDsKKwlpZiAoIXN0cmljdF9zdHJ0b3VsKHN0ciwgMCwgJmVuYWJsZWQpKQorCQlzZWxpbnV4X2VuYWJsZWQgPSBlbmFibGVkID8gMSA6IDA7CiAJcmV0dXJuIDE7CiB9CiBfX3NldHVwKCJzZWxpbnV4PSIsIHNlbGludXhfZW5hYmxlZF9zZXR1cCk7CkBAIC0xMjMsMTMgKzEyNiwxMSBAQAogaW50IHNlbGludXhfZW5hYmxlZCA9IDE7CiAjZW5kaWYKIAotLyogT3JpZ2luYWwgKGR1bW15KSBzZWN1cml0eSBtb2R1bGUuICovCi1zdGF0aWMgc3RydWN0IHNlY3VyaXR5X29wZXJhdGlvbnMgKm9yaWdpbmFsX29wczsKIAotLyogTWluaW1hbCBzdXBwb3J0IGZvciBhIHNlY29uZGFyeSBzZWN1cml0eSBtb2R1bGUsCi0gICBqdXN0IHRvIGFsbG93IHRoZSB1c2Ugb2YgdGhlIGR1bW15IG9yIGNhcGFiaWxpdHkgbW9kdWxlcy4KLSAgIFRoZSBvd2xzbSBtb2R1bGUgY2FuIGFsdGVybmF0aXZlbHkgYmUgdXNlZCBhcyBhIHNlY29uZGFyeQotICAgbW9kdWxlIGFzIGxvbmcgYXMgQ09ORklHX09XTFNNX0ZEIGlzIG5vdCBlbmFibGVkLiAqLworLyoKKyAqIE1pbmltYWwgc3VwcG9ydCBmb3IgYSBzZWNvbmRhcnkgc2VjdXJpdHkgbW9kdWxlLAorICoganVzdCB0byBhbGxvdyB0aGUgdXNlIG9mIHRoZSBjYXBhYmlsaXR5IG1vZHVsZS4KKyAqLwogc3RhdGljIHN0cnVjdCBzZWN1cml0eV9vcGVyYXRpb25zICpzZWNvbmRhcnlfb3BzOwogCiAvKiBMaXN0cyBvZiBpbm9kZSBhbmQgc3VwZXJibG9jayBzZWN1cml0eSBzdHJ1Y3R1cmVzIGluaXRpYWxpemVkCkBAIC01OTQsNyArNTk1LDcgQEAKIAkgKi8KIAlpZiAoc2JzZWMtPmluaXRpYWxpemVkICYmIChzYi0+c190eXBlLT5mc19mbGFncyAmIEZTX0JJTkFSWV9NT1VOVERBVEEpCiAJICAgICYmIChudW1fb3B0cyA9PSAwKSkKLQkgICAgICAgIGdvdG8gb3V0OworCQlnb3RvIG91dDsKIAogCS8qCiAJICogcGFyc2UgdGhlIG1vdW50IG9wdGlvbnMsIGNoZWNrIGlmIHRoZXkgYXJlIHZhbGlkIHNpZHMuCkBAIC05NTYsNiArOTU3LDU3IEBACiAJcmV0dXJuIHJjOwogfQogCit2b2lkIHNlbGludXhfd3JpdGVfb3B0cyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHN0cnVjdCBzZWN1cml0eV9tbnRfb3B0cyAqb3B0cykKK3sKKwlpbnQgaTsKKwljaGFyICpwcmVmaXg7CisKKwlmb3IgKGkgPSAwOyBpIDwgb3B0cy0+bnVtX21udF9vcHRzOyBpKyspIHsKKwkJY2hhciAqaGFzX2NvbW1hID0gc3RyY2hyKG9wdHMtPm1udF9vcHRzW2ldLCAnLCcpOworCisJCXN3aXRjaCAob3B0cy0+bW50X29wdHNfZmxhZ3NbaV0pIHsKKwkJY2FzZSBDT05URVhUX01OVDoKKwkJCXByZWZpeCA9IENPTlRFWFRfU1RSOworCQkJYnJlYWs7CisJCWNhc2UgRlNDT05URVhUX01OVDoKKwkJCXByZWZpeCA9IEZTQ09OVEVYVF9TVFI7CisJCQlicmVhazsKKwkJY2FzZSBST09UQ09OVEVYVF9NTlQ6CisJCQlwcmVmaXggPSBST09UQ09OVEVYVF9TVFI7CisJCQlicmVhazsKKwkJY2FzZSBERUZDT05URVhUX01OVDoKKwkJCXByZWZpeCA9IERFRkNPTlRFWFRfU1RSOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQlCVUcoKTsKKwkJfTsKKwkJLyogd2UgbmVlZCBhIGNvbW1hIGJlZm9yZSBlYWNoIG9wdGlvbiAqLworCQlzZXFfcHV0YyhtLCAnLCcpOworCQlzZXFfcHV0cyhtLCBwcmVmaXgpOworCQlpZiAoaGFzX2NvbW1hKQorCQkJc2VxX3B1dGMobSwgJ1wiJyk7CisJCXNlcV9wdXRzKG0sIG9wdHMtPm1udF9vcHRzW2ldKTsKKwkJaWYgKGhhc19jb21tYSkKKwkJCXNlcV9wdXRjKG0sICdcIicpOworCX0KK30KKworc3RhdGljIGludCBzZWxpbnV4X3NiX3Nob3dfb3B0aW9ucyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHN0cnVjdCBzdXBlcl9ibG9jayAqc2IpCit7CisJc3RydWN0IHNlY3VyaXR5X21udF9vcHRzIG9wdHM7CisJaW50IHJjOworCisJcmMgPSBzZWxpbnV4X2dldF9tbnRfb3B0cyhzYiwgJm9wdHMpOworCWlmIChyYykKKwkJcmV0dXJuIHJjOworCisJc2VsaW51eF93cml0ZV9vcHRzKG0sICZvcHRzKTsKKworCXNlY3VyaXR5X2ZyZWVfbW50X29wdHMoJm9wdHMpOworCisJcmV0dXJuIHJjOworfQorCiBzdGF0aWMgaW5saW5lIHUxNiBpbm9kZV9tb2RlX3RvX3NlY3VyaXR5X2NsYXNzKHVtb2RlX3QgbW9kZSkKIHsKIAlzd2l0Y2ggKG1vZGUgJiBTX0lGTVQpIHsKQEAgLTE2ODIsMTQgKzE3MzQsMjMgQEAKIAogLyogSG9vayBmdW5jdGlvbnMgYmVnaW4gaGVyZS4gKi8KIAotc3RhdGljIGludCBzZWxpbnV4X3B0cmFjZShzdHJ1Y3QgdGFza19zdHJ1Y3QgKnBhcmVudCwgc3RydWN0IHRhc2tfc3RydWN0ICpjaGlsZCkKK3N0YXRpYyBpbnQgc2VsaW51eF9wdHJhY2Uoc3RydWN0IHRhc2tfc3RydWN0ICpwYXJlbnQsCisJCQkgIHN0cnVjdCB0YXNrX3N0cnVjdCAqY2hpbGQsCisJCQkgIHVuc2lnbmVkIGludCBtb2RlKQogewogCWludCByYzsKIAotCXJjID0gc2Vjb25kYXJ5X29wcy0+cHRyYWNlKHBhcmVudCwgY2hpbGQpOworCXJjID0gc2Vjb25kYXJ5X29wcy0+cHRyYWNlKHBhcmVudCwgY2hpbGQsIG1vZGUpOwogCWlmIChyYykKIAkJcmV0dXJuIHJjOwogCisJaWYgKG1vZGUgPT0gUFRSQUNFX01PREVfUkVBRCkgeworCQlzdHJ1Y3QgdGFza19zZWN1cml0eV9zdHJ1Y3QgKnRzZWMgPSBwYXJlbnQtPnNlY3VyaXR5OworCQlzdHJ1Y3QgdGFza19zZWN1cml0eV9zdHJ1Y3QgKmNzZWMgPSBjaGlsZC0+c2VjdXJpdHk7CisJCXJldHVybiBhdmNfaGFzX3Blcm0odHNlYy0+c2lkLCBjc2VjLT5zaWQsCisJCQkJICAgIFNFQ0NMQVNTX0ZJTEUsIEZJTEVfX1JFQUQsIE5VTEwpOworCX0KKwogCXJldHVybiB0YXNrX2hhc19wZXJtKHBhcmVudCwgY2hpbGQsIFBST0NFU1NfX1BUUkFDRSk7CiB9CiAKQEAgLTI0OTUsNyArMjU1Niw3IEBACiAJfQogCiAJaWYgKHZhbHVlICYmIGxlbikgewotCQlyYyA9IHNlY3VyaXR5X3NpZF90b19jb250ZXh0KG5ld3NpZCwgJmNvbnRleHQsICZjbGVuKTsKKwkJcmMgPSBzZWN1cml0eV9zaWRfdG9fY29udGV4dF9mb3JjZShuZXdzaWQsICZjb250ZXh0LCAmY2xlbik7CiAJCWlmIChyYykgewogCQkJa2ZyZWUobmFtZXApOwogCQkJcmV0dXJuIHJjOwpAQCAtMjY2OSw2ICsyNzMwLDExIEBACiAJCXJldHVybiByYzsKIAogCXJjID0gc2VjdXJpdHlfY29udGV4dF90b19zaWQodmFsdWUsIHNpemUsICZuZXdzaWQpOworCWlmIChyYyA9PSAtRUlOVkFMKSB7CisJCWlmICghY2FwYWJsZShDQVBfTUFDX0FETUlOKSkKKwkJCXJldHVybiByYzsKKwkJcmMgPSBzZWN1cml0eV9jb250ZXh0X3RvX3NpZF9mb3JjZSh2YWx1ZSwgc2l6ZSwgJm5ld3NpZCk7CisJfQogCWlmIChyYykKIAkJcmV0dXJuIHJjOwogCkBAIC0yNjkwLDcgKzI3NTYsNyBAQAogfQogCiBzdGF0aWMgdm9pZCBzZWxpbnV4X2lub2RlX3Bvc3Rfc2V0eGF0dHIoc3RydWN0IGRlbnRyeSAqZGVudHJ5LCBjb25zdCBjaGFyICpuYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZvaWQgKnZhbHVlLCBzaXplX3Qgc2l6ZSwKKwkJCQkJY29uc3Qgdm9pZCAqdmFsdWUsIHNpemVfdCBzaXplLAogCQkJCQlpbnQgZmxhZ3MpCiB7CiAJc3RydWN0IGlub2RlICppbm9kZSA9IGRlbnRyeS0+ZF9pbm9kZTsKQEAgLTI3MDMsMTAgKzI3NjksMTEgQEAKIAkJcmV0dXJuOwogCX0KIAotCXJjID0gc2VjdXJpdHlfY29udGV4dF90b19zaWQodmFsdWUsIHNpemUsICZuZXdzaWQpOworCXJjID0gc2VjdXJpdHlfY29udGV4dF90b19zaWRfZm9yY2UodmFsdWUsIHNpemUsICZuZXdzaWQpOwogCWlmIChyYykgewotCQlwcmludGsoS0VSTl9XQVJOSU5HICIlczogIHVuYWJsZSB0byBvYnRhaW4gU0lEIGZvciBjb250ZXh0ICIKLQkJICAgICAgICIlcywgcmM9JWRcbiIsIF9fZnVuY19fLCAoY2hhciAqKXZhbHVlLCAtcmMpOworCQlwcmludGsoS0VSTl9FUlIgIlNFTGludXg6ICB1bmFibGUgdG8gbWFwIGNvbnRleHQgdG8gU0lEIgorCQkgICAgICAgImZvciAoJXMsICVsdSksIHJjPSVkXG4iLAorCQkgICAgICAgaW5vZGUtPmlfc2ItPnNfaWQsIGlub2RlLT5pX2lubywgLXJjKTsKIAkJcmV0dXJuOwogCX0KIApAQCAtMjczNSw5ICsyODAyLDcgQEAKIH0KIAogLyoKLSAqIENvcHkgdGhlIGluLWNvcmUgaW5vZGUgc2VjdXJpdHkgY29udGV4dCB2YWx1ZSB0byB0aGUgdXNlci4gIElmIHRoZQotICogZ2V0eGF0dHIoKSBwcmlvciB0byB0aGlzIHN1Y2NlZWRlZCwgY2hlY2sgdG8gc2VlIGlmIHdlIG5lZWQgdG8KLSAqIGNhbm9uaWNhbGl6ZSB0aGUgdmFsdWUgdG8gYmUgZmluYWxseSByZXR1cm5lZCB0byB0aGUgdXNlci4KKyAqIENvcHkgdGhlIGlub2RlIHNlY3VyaXR5IGNvbnRleHQgdmFsdWUgdG8gdGhlIHVzZXIuCiAgKgogICogUGVybWlzc2lvbiBjaGVjayBpcyBoYW5kbGVkIGJ5IHNlbGludXhfaW5vZGVfZ2V0eGF0dHIgaG9vay4KICAqLwpAQCAtMjc0NiwxMiArMjgxMSwzMyBAQAogCXUzMiBzaXplOwogCWludCBlcnJvcjsKIAljaGFyICpjb250ZXh0ID0gTlVMTDsKKwlzdHJ1Y3QgdGFza19zZWN1cml0eV9zdHJ1Y3QgKnRzZWMgPSBjdXJyZW50LT5zZWN1cml0eTsKIAlzdHJ1Y3QgaW5vZGVfc2VjdXJpdHlfc3RydWN0ICppc2VjID0gaW5vZGUtPmlfc2VjdXJpdHk7CiAKIAlpZiAoc3RyY21wKG5hbWUsIFhBVFRSX1NFTElOVVhfU1VGRklYKSkKIAkJcmV0dXJuIC1FT1BOT1RTVVBQOwogCi0JZXJyb3IgPSBzZWN1cml0eV9zaWRfdG9fY29udGV4dChpc2VjLT5zaWQsICZjb250ZXh0LCAmc2l6ZSk7CisJLyoKKwkgKiBJZiB0aGUgY2FsbGVyIGhhcyBDQVBfTUFDX0FETUlOLCB0aGVuIGdldCB0aGUgcmF3IGNvbnRleHQKKwkgKiB2YWx1ZSBldmVuIGlmIGl0IGlzIG5vdCBkZWZpbmVkIGJ5IGN1cnJlbnQgcG9saWN5OyBvdGhlcndpc2UsCisJICogdXNlIHRoZSBpbi1jb3JlIHZhbHVlIHVuZGVyIGN1cnJlbnQgcG9saWN5LgorCSAqIFVzZSB0aGUgbm9uLWF1ZGl0aW5nIGZvcm1zIG9mIHRoZSBwZXJtaXNzaW9uIGNoZWNrcyBzaW5jZQorCSAqIGdldHhhdHRyIG1heSBiZSBjYWxsZWQgYnkgdW5wcml2aWxlZ2VkIHByb2Nlc3NlcyBjb21tb25seQorCSAqIGFuZCBsYWNrIG9mIHBlcm1pc3Npb24ganVzdCBtZWFucyB0aGF0IHdlIGZhbGwgYmFjayB0byB0aGUKKwkgKiBpbi1jb3JlIGNvbnRleHQgdmFsdWUsIG5vdCBhIGRlbmlhbC4KKwkgKi8KKwllcnJvciA9IHNlY29uZGFyeV9vcHMtPmNhcGFibGUoY3VycmVudCwgQ0FQX01BQ19BRE1JTik7CisJaWYgKCFlcnJvcikKKwkJZXJyb3IgPSBhdmNfaGFzX3Blcm1fbm9hdWRpdCh0c2VjLT5zaWQsIHRzZWMtPnNpZCwKKwkJCQkJICAgICBTRUNDTEFTU19DQVBBQklMSVRZMiwKKwkJCQkJICAgICBDQVBBQklMSVRZMl9fTUFDX0FETUlOLAorCQkJCQkgICAgIDAsCisJCQkJCSAgICAgTlVMTCk7CisJaWYgKCFlcnJvcikKKwkJZXJyb3IgPSBzZWN1cml0eV9zaWRfdG9fY29udGV4dF9mb3JjZShpc2VjLT5zaWQsICZjb250ZXh0LAorCQkJCQkJICAgICAgJnNpemUpOworCWVsc2UKKwkJZXJyb3IgPSBzZWN1cml0eV9zaWRfdG9fY29udGV4dChpc2VjLT5zaWQsICZjb250ZXh0LCAmc2l6ZSk7CiAJaWYgKGVycm9yKQogCQlyZXR1cm4gZXJyb3I7CiAJZXJyb3IgPSBzaXplOwpAQCAtMjg2NSw0NiArMjk1MSwxNiBAQAogc3RhdGljIGludCBzZWxpbnV4X2ZpbGVfaW9jdGwoc3RydWN0IGZpbGUgKmZpbGUsIHVuc2lnbmVkIGludCBjbWQsCiAJCQkgICAgICB1bnNpZ25lZCBsb25nIGFyZykKIHsKLQlpbnQgZXJyb3IgPSAwOworCXUzMiBhdiA9IDA7CiAKLQlzd2l0Y2ggKGNtZCkgewotCWNhc2UgRklPTlJFQUQ6Ci0JLyogZmFsbCB0aHJvdWdoICovCi0JY2FzZSBGSUJNQVA6Ci0JLyogZmFsbCB0aHJvdWdoICovCi0JY2FzZSBGSUdFVEJTWjoKLQkvKiBmYWxsIHRocm91Z2ggKi8KLQljYXNlIEVYVDJfSU9DX0dFVEZMQUdTOgotCS8qIGZhbGwgdGhyb3VnaCAqLwotCWNhc2UgRVhUMl9JT0NfR0VUVkVSU0lPTjoKLQkJZXJyb3IgPSBmaWxlX2hhc19wZXJtKGN1cnJlbnQsIGZpbGUsIEZJTEVfX0dFVEFUVFIpOwotCQlicmVhazsKKwlpZiAoX0lPQ19ESVIoY21kKSAmIF9JT0NfV1JJVEUpCisJCWF2IHw9IEZJTEVfX1dSSVRFOworCWlmIChfSU9DX0RJUihjbWQpICYgX0lPQ19SRUFEKQorCQlhdiB8PSBGSUxFX19SRUFEOworCWlmICghYXYpCisJCWF2ID0gRklMRV9fSU9DVEw7CiAKLQljYXNlIEVYVDJfSU9DX1NFVEZMQUdTOgotCS8qIGZhbGwgdGhyb3VnaCAqLwotCWNhc2UgRVhUMl9JT0NfU0VUVkVSU0lPTjoKLQkJZXJyb3IgPSBmaWxlX2hhc19wZXJtKGN1cnJlbnQsIGZpbGUsIEZJTEVfX1NFVEFUVFIpOwotCQlicmVhazsKLQotCS8qIHN5c19pb2N0bCgpIGNoZWNrcyAqLwotCWNhc2UgRklPTkJJTzoKLQkvKiBmYWxsIHRocm91Z2ggKi8KLQljYXNlIEZJT0FTWU5DOgotCQllcnJvciA9IGZpbGVfaGFzX3Blcm0oY3VycmVudCwgZmlsZSwgMCk7Ci0JCWJyZWFrOwotCi0JY2FzZSBLRFNLQkVOVDoKLQljYXNlIEtEU0tCU0VOVDoKLQkJZXJyb3IgPSB0YXNrX2hhc19jYXBhYmlsaXR5KGN1cnJlbnQsIENBUF9TWVNfVFRZX0NPTkZJRyk7Ci0JCWJyZWFrOwotCi0JLyogZGVmYXVsdCBjYXNlIGFzc3VtZXMgdGhhdCB0aGUgY29tbWFuZCB3aWxsIGdvCi0JICogdG8gdGhlIGZpbGUncyBpb2N0bCgpIGZ1bmN0aW9uLgotCSAqLwotCWRlZmF1bHQ6Ci0JCWVycm9yID0gZmlsZV9oYXNfcGVybShjdXJyZW50LCBmaWxlLCBGSUxFX19JT0NUTCk7Ci0JfQotCXJldHVybiBlcnJvcjsKKwlyZXR1cm4gZmlsZV9oYXNfcGVybShjdXJyZW50LCBmaWxlLCBhdik7CiB9CiAKIHN0YXRpYyBpbnQgZmlsZV9tYXBfcHJvdF9jaGVjayhzdHJ1Y3QgZmlsZSAqZmlsZSwgdW5zaWduZWQgbG9uZyBwcm90LCBpbnQgc2hhcmVkKQpAQCAtMzY2Myw3ICszNzE5LDcgQEAKIAkJc3RydWN0IHNvY2thZGRyX2luNiAqYWRkcjYgPSBOVUxMOwogCQl1bnNpZ25lZCBzaG9ydCBzbnVtOwogCQlzdHJ1Y3Qgc29jayAqc2sgPSBzb2NrLT5zazsKLQkJdTMyIHNpZCwgbm9kZV9wZXJtLCBhZGRybGVuOworCQl1MzIgc2lkLCBub2RlX3Blcm07CiAKIAkJdHNlYyA9IGN1cnJlbnQtPnNlY3VyaXR5OwogCQlpc2VjID0gU09DS19JTk9ERShzb2NrKS0+aV9zZWN1cml0eTsKQEAgLTM2NzEsMTIgKzM3MjcsMTAgQEAKIAkJaWYgKGZhbWlseSA9PSBQRl9JTkVUKSB7CiAJCQlhZGRyNCA9IChzdHJ1Y3Qgc29ja2FkZHJfaW4gKilhZGRyZXNzOwogCQkJc251bSA9IG50b2hzKGFkZHI0LT5zaW5fcG9ydCk7Ci0JCQlhZGRybGVuID0gc2l6ZW9mKGFkZHI0LT5zaW5fYWRkci5zX2FkZHIpOwogCQkJYWRkcnAgPSAoY2hhciAqKSZhZGRyNC0+c2luX2FkZHIuc19hZGRyOwogCQl9IGVsc2UgewogCQkJYWRkcjYgPSAoc3RydWN0IHNvY2thZGRyX2luNiAqKWFkZHJlc3M7CiAJCQlzbnVtID0gbnRvaHMoYWRkcjYtPnNpbjZfcG9ydCk7Ci0JCQlhZGRybGVuID0gc2l6ZW9mKGFkZHI2LT5zaW42X2FkZHIuczZfYWRkcik7CiAJCQlhZGRycCA9IChjaGFyICopJmFkZHI2LT5zaW42X2FkZHIuczZfYWRkcjsKIAkJfQogCkBAIC01MDQ3LDI0ICs1MTAxLDYgQEAKIAkqc2VjaWQgPSBpc2VjLT5zaWQ7CiB9CiAKLS8qIG1vZHVsZSBzdGFja2luZyBvcGVyYXRpb25zICovCi1zdGF0aWMgaW50IHNlbGludXhfcmVnaXN0ZXJfc2VjdXJpdHkoY29uc3QgY2hhciAqbmFtZSwgc3RydWN0IHNlY3VyaXR5X29wZXJhdGlvbnMgKm9wcykKLXsKLQlpZiAoc2Vjb25kYXJ5X29wcyAhPSBvcmlnaW5hbF9vcHMpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICIlczogIFRoZXJlIGlzIGFscmVhZHkgYSBzZWNvbmRhcnkgc2VjdXJpdHkgIgotCQkgICAgICAgIm1vZHVsZSByZWdpc3RlcmVkLlxuIiwgX19mdW5jX18pOwotCQlyZXR1cm4gLUVJTlZBTDsKLQl9Ci0KLQlzZWNvbmRhcnlfb3BzID0gb3BzOwotCi0JcHJpbnRrKEtFUk5fSU5GTyAiJXM6ICBSZWdpc3RlcmluZyBzZWNvbmRhcnkgbW9kdWxlICVzXG4iLAotCSAgICAgICBfX2Z1bmNfXywKLQkgICAgICAgbmFtZSk7Ci0KLQlyZXR1cm4gMDsKLX0KLQogc3RhdGljIHZvaWQgc2VsaW51eF9kX2luc3RhbnRpYXRlKHN0cnVjdCBkZW50cnkgKmRlbnRyeSwgc3RydWN0IGlub2RlICppbm9kZSkKIHsKIAlpZiAoaW5vZGUpCkBAIC01MTUzLDYgKzUxODksMTIgQEAKIAkJCXNpemUtLTsKIAkJfQogCQllcnJvciA9IHNlY3VyaXR5X2NvbnRleHRfdG9fc2lkKHZhbHVlLCBzaXplLCAmc2lkKTsKKwkJaWYgKGVycm9yID09IC1FSU5WQUwgJiYgIXN0cmNtcChuYW1lLCAiZnNjcmVhdGUiKSkgeworCQkJaWYgKCFjYXBhYmxlKENBUF9NQUNfQURNSU4pKQorCQkJCXJldHVybiBlcnJvcjsKKwkJCWVycm9yID0gc2VjdXJpdHlfY29udGV4dF90b19zaWRfZm9yY2UodmFsdWUsIHNpemUsCisJCQkJCQkJICAgICAgJnNpZCk7CisJCX0KIAkJaWYgKGVycm9yKQogCQkJcmV0dXJuIGVycm9yOwogCX0KQEAgLTUxODYsMTIgKzUyMjgsMTIgQEAKIAkJCXN0cnVjdCB0YXNrX3N0cnVjdCAqZywgKnQ7CiAJCQlzdHJ1Y3QgbW1fc3RydWN0ICptbSA9IHAtPm1tOwogCQkJcmVhZF9sb2NrKCZ0YXNrbGlzdF9sb2NrKTsKLQkJCWRvX2VhY2hfdGhyZWFkKGcsIHQpCisJCQlkb19lYWNoX3RocmVhZChnLCB0KSB7CiAJCQkJaWYgKHQtPm1tID09IG1tICYmIHQgIT0gcCkgewogCQkJCQlyZWFkX3VubG9jaygmdGFza2xpc3RfbG9jayk7CiAJCQkJCXJldHVybiAtRVBFUk07CiAJCQkJfQotCQkJd2hpbGVfZWFjaF90aHJlYWQoZywgdCk7CisJCQl9IHdoaWxlX2VhY2hfdGhyZWFkKGcsIHQpOwogCQkJcmVhZF91bmxvY2soJnRhc2tsaXN0X2xvY2spOwogCQl9CiAKQEAgLTUzNDMsMTAgKzUzODUsMTAgQEAKIAkuc2JfZnJlZV9zZWN1cml0eSA9CQlzZWxpbnV4X3NiX2ZyZWVfc2VjdXJpdHksCiAJLnNiX2NvcHlfZGF0YSA9CQkJc2VsaW51eF9zYl9jb3B5X2RhdGEsCiAJLnNiX2tlcm5fbW91bnQgPQkJc2VsaW51eF9zYl9rZXJuX21vdW50LAorCS5zYl9zaG93X29wdGlvbnMgPQkJc2VsaW51eF9zYl9zaG93X29wdGlvbnMsCiAJLnNiX3N0YXRmcyA9CQkJc2VsaW51eF9zYl9zdGF0ZnMsCiAJLnNiX21vdW50ID0JCQlzZWxpbnV4X21vdW50LAogCS5zYl91bW91bnQgPQkJCXNlbGludXhfdW1vdW50LAotCS5zYl9nZXRfbW50X29wdHMgPQkJc2VsaW51eF9nZXRfbW50X29wdHMsCiAJLnNiX3NldF9tbnRfb3B0cyA9CQlzZWxpbnV4X3NldF9tbnRfb3B0cywKIAkuc2JfY2xvbmVfbW50X29wdHMgPQkJc2VsaW51eF9zYl9jbG9uZV9tbnRfb3B0cywKIAkuc2JfcGFyc2Vfb3B0c19zdHIgPSAJCXNlbGludXhfcGFyc2Vfb3B0c19zdHIsCkBAIC01Mzc4LDcgKzU0MjAsNyBAQAogCS5pbm9kZV9saXN0c2VjdXJpdHkgPQkJc2VsaW51eF9pbm9kZV9saXN0c2VjdXJpdHksCiAJLmlub2RlX25lZWRfa2lsbHByaXYgPQkJc2VsaW51eF9pbm9kZV9uZWVkX2tpbGxwcml2LAogCS5pbm9kZV9raWxscHJpdiA9CQlzZWxpbnV4X2lub2RlX2tpbGxwcml2LAotCS5pbm9kZV9nZXRzZWNpZCA9ICAgICAgICAgICAgICAgc2VsaW51eF9pbm9kZV9nZXRzZWNpZCwKKwkuaW5vZGVfZ2V0c2VjaWQgPQkJc2VsaW51eF9pbm9kZV9nZXRzZWNpZCwKIAogCS5maWxlX3Blcm1pc3Npb24gPQkJc2VsaW51eF9maWxlX3Blcm1pc3Npb24sCiAJLmZpbGVfYWxsb2Nfc2VjdXJpdHkgPQkJc2VsaW51eF9maWxlX2FsbG9jX3NlY3VyaXR5LApAQCAtNTQxOSw3ICs1NDYxLDcgQEAKIAkudGFza190b19pbm9kZSA9CQlzZWxpbnV4X3Rhc2tfdG9faW5vZGUsCiAKIAkuaXBjX3Blcm1pc3Npb24gPQkJc2VsaW51eF9pcGNfcGVybWlzc2lvbiwKLQkuaXBjX2dldHNlY2lkID0gICAgICAgICAgICAgICAgIHNlbGludXhfaXBjX2dldHNlY2lkLAorCS5pcGNfZ2V0c2VjaWQgPQkJCXNlbGludXhfaXBjX2dldHNlY2lkLAogCiAJLm1zZ19tc2dfYWxsb2Nfc2VjdXJpdHkgPQlzZWxpbnV4X21zZ19tc2dfYWxsb2Nfc2VjdXJpdHksCiAJLm1zZ19tc2dfZnJlZV9zZWN1cml0eSA9CXNlbGludXhfbXNnX21zZ19mcmVlX3NlY3VyaXR5LApAQCAtNTQ0Myw4ICs1NDg1LDYgQEAKIAkuc2VtX3NlbWN0bCA9CQkJc2VsaW51eF9zZW1fc2VtY3RsLAogCS5zZW1fc2Vtb3AgPQkJCXNlbGludXhfc2VtX3NlbW9wLAogCi0JLnJlZ2lzdGVyX3NlY3VyaXR5ID0JCXNlbGludXhfcmVnaXN0ZXJfc2VjdXJpdHksCi0KIAkuZF9pbnN0YW50aWF0ZSA9CQlzZWxpbnV4X2RfaW5zdGFudGlhdGUsCiAKIAkuZ2V0cHJvY2F0dHIgPQkJCXNlbGludXhfZ2V0cHJvY2F0dHIsCkBAIC01NTM4LDcgKzU1NzgsNyBAQAogCQkJCQkgICAgMCwgU0xBQl9QQU5JQywgTlVMTCk7CiAJYXZjX2luaXQoKTsKIAotCW9yaWdpbmFsX29wcyA9IHNlY29uZGFyeV9vcHMgPSBzZWN1cml0eV9vcHM7CisJc2Vjb25kYXJ5X29wcyA9IHNlY3VyaXR5X29wczsKIAlpZiAoIXNlY29uZGFyeV9vcHMpCiAJCXBhbmljKCJTRUxpbnV4OiBObyBpbml0aWFsIHNlY3VyaXR5IG9wZXJhdGlvbnNcbiIpOwogCWlmIChyZWdpc3Rlcl9zZWN1cml0eSgmc2VsaW51eF9vcHMpKQpkaWZmIC0tZ2l0IGEvc2VjdXJpdHkvc2VsaW51eC9pbmNsdWRlL2F1ZGl0LmggYi9zZWN1cml0eS9zZWxpbnV4L2luY2x1ZGUvYXVkaXQuaAppbmRleCA2YzhiOWVmLi4xYmRmOTczIDEwMDY0NAotLS0gYS9zZWN1cml0eS9zZWxpbnV4L2luY2x1ZGUvYXVkaXQuaAorKysgYi9zZWN1cml0eS9zZWxpbnV4L2luY2x1ZGUvYXVkaXQuaApAQCAtMSw3ICsxLDcgQEAKIC8qCiAgKiBTRUxpbnV4IHN1cHBvcnQgZm9yIHRoZSBBdWRpdCBMU00gaG9va3MKICAqCi0gKiBNb3N0IG9mIGJlbG93IGhlYWRlciB3YXMgbW92ZWQgZnJvbSBpbmNsdWRlL2xpbnV4L3NlbGludXguaCB3aGljaCAKKyAqIE1vc3Qgb2YgYmVsb3cgaGVhZGVyIHdhcyBtb3ZlZCBmcm9tIGluY2x1ZGUvbGludXgvc2VsaW51eC5oIHdoaWNoCiAgKiBpcyByZWxlYXNlZCB1bmRlciBiZWxvdyBjb3B5cmlnaHRzOgogICoKICAqIEF1dGhvcjogSmFtZXMgTW9ycmlzIDxqbW9ycmlzQHJlZGhhdC5jb20+CkBAIC01Miw3ICs1Miw3IEBACiAgKgktZXJybm8gb24gZmFpbHVyZS4KICAqLwogaW50IHNlbGludXhfYXVkaXRfcnVsZV9tYXRjaCh1MzIgc2lkLCB1MzIgZmllbGQsIHUzMiBvcCwgdm9pZCAqcnVsZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGF1ZGl0X2NvbnRleHQgKmFjdHgpOworCQkJICAgICBzdHJ1Y3QgYXVkaXRfY29udGV4dCAqYWN0eCk7CiAKIC8qKgogICoJc2VsaW51eF9hdWRpdF9ydWxlX2tub3duIC0gY2hlY2sgdG8gc2VlIGlmIHJ1bGUgY29udGFpbnMgc2VsaW51eCBmaWVsZHMuCmRpZmYgLS1naXQgYS9zZWN1cml0eS9zZWxpbnV4L2luY2x1ZGUvYXZjLmggYi9zZWN1cml0eS9zZWxpbnV4L2luY2x1ZGUvYXZjLmgKaW5kZXggOGUyM2Q3YS4uN2I5NzY5ZiAxMDA2NDQKLS0tIGEvc2VjdXJpdHkvc2VsaW51eC9pbmNsdWRlL2F2Yy5oCisrKyBiL3NlY3VyaXR5L3NlbGludXgvaW5jbHVkZS9hdmMuaApAQCAtNzUsMTMgKzc1LDEyIEBACiAKIC8qIEluaXRpYWxpemUgYW4gQVZDIGF1ZGl0IGRhdGEgc3RydWN0dXJlLiAqLwogI2RlZmluZSBBVkNfQVVESVRfREFUQV9JTklUKF9kLF90KSBcCi0gICAgICAgIHsgbWVtc2V0KChfZCksIDAsIHNpemVvZihzdHJ1Y3QgYXZjX2F1ZGl0X2RhdGEpKTsgKF9kKS0+dHlwZSA9IEFWQ19BVURJVF9EQVRBXyMjX3Q7IH0KKwl7IG1lbXNldCgoX2QpLCAwLCBzaXplb2Yoc3RydWN0IGF2Y19hdWRpdF9kYXRhKSk7IChfZCktPnR5cGUgPSBBVkNfQVVESVRfREFUQV8jI190OyB9CiAKIC8qCiAgKiBBVkMgc3RhdGlzdGljcwogICovCi1zdHJ1Y3QgYXZjX2NhY2hlX3N0YXRzCi17CitzdHJ1Y3QgYXZjX2NhY2hlX3N0YXRzIHsKIAl1bnNpZ25lZCBpbnQgbG9va3VwczsKIAl1bnNpZ25lZCBpbnQgaGl0czsKIAl1bnNpZ25lZCBpbnQgbWlzc2VzOwpAQCAtOTcsOCArOTYsOCBAQAogdm9pZCBfX2luaXQgYXZjX2luaXQodm9pZCk7CiAKIHZvaWQgYXZjX2F1ZGl0KHUzMiBzc2lkLCB1MzIgdHNpZCwKLSAgICAgICAgICAgICAgIHUxNiB0Y2xhc3MsIHUzMiByZXF1ZXN0ZWQsCi0gICAgICAgICAgICAgICBzdHJ1Y3QgYXZfZGVjaXNpb24gKmF2ZCwgaW50IHJlc3VsdCwgc3RydWN0IGF2Y19hdWRpdF9kYXRhICphdWRpdGRhdGEpOworCSAgICAgICB1MTYgdGNsYXNzLCB1MzIgcmVxdWVzdGVkLAorCSAgICAgICBzdHJ1Y3QgYXZfZGVjaXNpb24gKmF2ZCwgaW50IHJlc3VsdCwgc3RydWN0IGF2Y19hdWRpdF9kYXRhICphdWRpdGRhdGEpOwogCiAjZGVmaW5lIEFWQ19TVFJJQ1QgMSAvKiBJZ25vcmUgcGVybWlzc2l2ZSBtb2RlLiAqLwogaW50IGF2Y19oYXNfcGVybV9ub2F1ZGl0KHUzMiBzc2lkLCB1MzIgdHNpZCwKQEAgLTEwNyw4ICsxMDYsOCBAQAogCQkJIHN0cnVjdCBhdl9kZWNpc2lvbiAqYXZkKTsKIAogaW50IGF2Y19oYXNfcGVybSh1MzIgc3NpZCwgdTMyIHRzaWQsCi0gICAgICAgICAgICAgICAgIHUxNiB0Y2xhc3MsIHUzMiByZXF1ZXN0ZWQsCi0gICAgICAgICAgICAgICAgIHN0cnVjdCBhdmNfYXVkaXRfZGF0YSAqYXVkaXRkYXRhKTsKKwkJIHUxNiB0Y2xhc3MsIHUzMiByZXF1ZXN0ZWQsCisJCSBzdHJ1Y3QgYXZjX2F1ZGl0X2RhdGEgKmF1ZGl0ZGF0YSk7CiAKIHUzMiBhdmNfcG9saWN5X3NlcW5vKHZvaWQpOwogCkBAIC0xMjIsNyArMTIxLDcgQEAKICNkZWZpbmUgQVZDX0NBTExCQUNLX0FVRElUREVOWV9ESVNBQkxFCTEyOAogCiBpbnQgYXZjX2FkZF9jYWxsYmFjayhpbnQgKCpjYWxsYmFjaykodTMyIGV2ZW50LCB1MzIgc3NpZCwgdTMyIHRzaWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdTE2IHRjbGFzcywgdTMyIHBlcm1zLAorCQkJCSAgICAgdTE2IHRjbGFzcywgdTMyIHBlcm1zLAogCQkJCSAgICAgdTMyICpvdXRfcmV0YWluZWQpLAogCQkgICAgIHUzMiBldmVudHMsIHUzMiBzc2lkLCB1MzIgdHNpZCwKIAkJICAgICB1MTYgdGNsYXNzLCB1MzIgcGVybXMpOwpkaWZmIC0tZ2l0IGEvc2VjdXJpdHkvc2VsaW51eC9pbmNsdWRlL29ianNlYy5oIGIvc2VjdXJpdHkvc2VsaW51eC9pbmNsdWRlL29ianNlYy5oCmluZGV4IDAzMmMyMzUuLjkxMDcwYWIgMTAwNjQ0Ci0tLSBhL3NlY3VyaXR5L3NlbGludXgvaW5jbHVkZS9vYmpzZWMuaAorKysgYi9zZWN1cml0eS9zZWxpbnV4L2luY2x1ZGUvb2Jqc2VjLmgKQEAgLTQ0LDcgKzQ0LDYgQEAKIAl1MTYgc2NsYXNzOwkJLyogc2VjdXJpdHkgY2xhc3Mgb2YgdGhpcyBvYmplY3QgKi8KIAl1bnNpZ25lZCBjaGFyIGluaXRpYWxpemVkOwkvKiBpbml0aWFsaXphdGlvbiBmbGFnICovCiAJc3RydWN0IG11dGV4IGxvY2s7Ci0JdW5zaWduZWQgY2hhciBpbmhlcml0OwkvKiBpbmhlcml0IFNJRCBmcm9tIHBhcmVudCBlbnRyeSAqLwogfTsKIAogc3RydWN0IGZpbGVfc2VjdXJpdHlfc3RydWN0IHsKZGlmZiAtLWdpdCBhL3NlY3VyaXR5L3NlbGludXgvaW5jbHVkZS9zZWN1cml0eS5oIGIvc2VjdXJpdHkvc2VsaW51eC9pbmNsdWRlL3NlY3VyaXR5LmgKaW5kZXggYWQzMGFjNC4uN2M1NDMwMCAxMDA2NDQKLS0tIGEvc2VjdXJpdHkvc2VsaW51eC9pbmNsdWRlL3NlY3VyaXR5LmgKKysrIGIvc2VjdXJpdHkvc2VsaW51eC9pbmNsdWRlL3NlY3VyaXR5LmgKQEAgLTkzLDEyICs5MywxNyBAQAogaW50IHNlY3VyaXR5X3NpZF90b19jb250ZXh0KHUzMiBzaWQsIGNoYXIgKipzY29udGV4dCwKIAl1MzIgKnNjb250ZXh0X2xlbik7CiAKK2ludCBzZWN1cml0eV9zaWRfdG9fY29udGV4dF9mb3JjZSh1MzIgc2lkLCBjaGFyICoqc2NvbnRleHQsIHUzMiAqc2NvbnRleHRfbGVuKTsKKwogaW50IHNlY3VyaXR5X2NvbnRleHRfdG9fc2lkKGNvbnN0IGNoYXIgKnNjb250ZXh0LCB1MzIgc2NvbnRleHRfbGVuLAogCXUzMiAqb3V0X3NpZCk7CiAKIGludCBzZWN1cml0eV9jb250ZXh0X3RvX3NpZF9kZWZhdWx0KGNvbnN0IGNoYXIgKnNjb250ZXh0LCB1MzIgc2NvbnRleHRfbGVuLAogCQkJCSAgICB1MzIgKm91dF9zaWQsIHUzMiBkZWZfc2lkLCBnZnBfdCBnZnBfZmxhZ3MpOwogCitpbnQgc2VjdXJpdHlfY29udGV4dF90b19zaWRfZm9yY2UoY29uc3QgY2hhciAqc2NvbnRleHQsIHUzMiBzY29udGV4dF9sZW4sCisJCQkJICB1MzIgKnNpZCk7CisKIGludCBzZWN1cml0eV9nZXRfdXNlcl9zaWRzKHUzMiBjYWxsc2lkLCBjaGFyICp1c2VybmFtZSwKIAkJCSAgIHUzMiAqKnNpZHMsIHUzMiAqbmVsKTsKIApkaWZmIC0tZ2l0IGEvc2VjdXJpdHkvc2VsaW51eC9uZXRub2RlLmMgYi9zZWN1cml0eS9zZWxpbnV4L25ldG5vZGUuYwppbmRleCBiNmNjZDA5My4uNzEwMDA3MiAxMDA2NDQKLS0tIGEvc2VjdXJpdHkvc2VsaW51eC9uZXRub2RlLmMKKysrIGIvc2VjdXJpdHkvc2VsaW51eC9uZXRub2RlLmMKQEAgLTM4LDcgKzM4LDYgQEAKICNpbmNsdWRlIDxsaW51eC9pcHY2Lmg+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+IGZvciBpbXBvcnRhbnQgaW5mb3JtYXRpb24KQEAgLTIyOSw3ICsyMjgsNyBAQAogCSAgY29uZmlndXJlIHRoZSBjYXJkJ3MgcmVzb3VyY2VzLgogCiBjb21tZW50ICJNU05EIFBpbm5hY2xlIERTUCBzZWN0aW9uIHdpbGwgYmUgY29uZmlndXJlZCB0byBhYm92ZSBwYXJhbWV0ZXJzLiIKLQlkZXBlbmRzIG9uIFNPVU5EX1BSSU1FICYmIFNPVU5EX01TTkRQSU49eSAmJiBNU05EUElOX05PTlBOUAorCWRlcGVuZHMgb24gU09VTkRfTVNORFBJTj15ICYmIE1TTkRQSU5fTk9OUE5QCiAKIGNvbmZpZyBNU05EUElOX0NGRwogCWhleCAiTVNORCBQaW5uYWNsZSBjb25maWcgcG9ydCAyNTAsMjYwLDI3MCIKQEAgLTI0Miw3ICsyNDEsNyBAQAogCSAgTW9kZSIuCiAKIGNvbW1lbnQgIlBpbm5hY2xlLXNwZWNpZmljIERldmljZSBDb25maWd1cmF0aW9uICgwIGRpc2FibGVzKSIKLQlkZXBlbmRzIG9uIFNPVU5EX1BSSU1FICYmIFNPVU5EX01TTkRQSU49eSAmJiBNU05EUElOX05PTlBOUAorCWRlcGVuZHMgb24gU09VTkRfTVNORFBJTj15ICYmIE1TTkRQSU5fTk9OUE5QCiAKIGNvbmZpZyBNU05EUElOX01QVV9JTwogCWhleCAiTVNORCBQaW5uYWNsZSBNUFUgSS9PIChlLmcuIDMzMCkiCkBAIC0yOTQsNyArMjkzLDcgQEAKIAogY29uZmlnIE1TTkRfRklGT1NJWkUKIAlpbnQgIk1TTkQgYnVmZmVyIHNpemUgKGtCKSIKLQlkZXBlbmRzIG9uIFNPVU5EX1BSSU1FICYmIChTT1VORF9NU05EUElOPXkgfHwgU09VTkRfTVNORENMQVM9eSkKKwlkZXBlbmRzIG9uIFNPVU5EX01TTkRQSU49eSB8fCBTT1VORF9NU05EQ0xBUz15CiAJZGVmYXVsdCAiMTI4IgogCWhlbHAKIAkgIENvbmZpZ3VyZXMgdGhlIHNpemUgb2YgZWFjaCBhdWRpbyBidWZmZXIsIGluIGtpbG9ieXRlcywgZm9yCkBAIC0zMDIsOSArMzAxLDkgQEAKIAkgIGFuZCBQaW5uYWNsZSkuIExhcmdlciB2YWx1ZXMgcmVkdWNlIHRoZSBjaGFuY2Ugb2YgZGF0YSBvdmVycnVucyBhdAogCSAgdGhlIGV4cGVuc2Ugb2Ygb3ZlcmFsbCBsYXRlbmN5LiBJZiB1bnN1cmUsIHVzZSB0aGUgZGVmYXVsdC4KIAotY29uZmlnIFNPVU5EX09TUworbWVudWNvbmZpZyBTT1VORF9PU1MKIAl0cmlzdGF0ZSAiT1NTIHNvdW5kIG1vZHVsZXMiCi0JZGVwZW5kcyBvbiBTT1VORF9QUklNRSAmJiBJU0FfRE1BX0FQSSAmJiBWSVJUX1RPX0JVUworCWRlcGVuZHMgb24gSVNBX0RNQV9BUEkgJiYgVklSVF9UT19CVVMKIAloZWxwCiAJICBPU1MgaXMgdGhlIE9wZW4gU291bmQgU3lzdGVtIHN1aXRlIG9mIHNvdW5kIGNhcmQgZHJpdmVycy4gIFRoZXkgbWFrZQogCSAgc291bmQgcHJvZ3JhbW1pbmcgZWFzaWVyIHNpbmNlIHRoZXkgcHJvdmlkZSBhIGNvbW1vbiBBUEkuICBTYXkgWSBvcgpAQCAtMzEyLDE2ICszMTEsMTYgQEAKIAkgIGRyaXZlciBmb3IgeW91ciBzb3VuZCBjYXJkIGFib3ZlLCB0aGVuIHBpY2sgeW91ciBkcml2ZXIgZnJvbSB0aGUKIAkgIGxpc3QgYmVsb3cuCiAKK2lmIFNPVU5EX09TUworCiBjb25maWcgU09VTkRfVFJBQ0VJTklUCiAJYm9vbCAiVmVyYm9zZSBpbml0aWFsaXNhdGlvbiIKLQlkZXBlbmRzIG9uIFNPVU5EX09TUwogCWhlbHAKIAkgIFZlcmJvc2Ugc291bmRjYXJkIGluaXRpYWxpemF0aW9uIC0tIGFmZmVjdHMgdGhlIGZvcm1hdCBvZiBhdXRvcHJvYmUKIAkgIGFuZCBpbml0aWFsaXphdGlvbiBtZXNzYWdlcyBhdCBib290IHRpbWUuCiAKIGNvbmZpZyBTT1VORF9ETUFQCiAJYm9vbCAiUGVyc2lzdGVudCBETUEgYnVmZmVycyIKLQlkZXBlbmRzIG9uIFNPVU5EX09TUwogCS0tLWhlbHAtLS0KIAkgIExpbnV4IGNhbiBvZnRlbiBoYXZlIHByb2JsZW1zIGFsbG9jYXRpbmcgRE1BIGJ1ZmZlcnMgZm9yIElTQSBzb3VuZAogCSAgY2FyZHMgb24gbWFjaGluZXMgd2l0aCBtb3JlIHRoYW4gMTZNQiBvZiBSQU0uIFRoaXMgaXMgYmVjYXVzZSBJU0EKQEAgLTMzOCw4ICszMzcsNiBAQAogCiBjb25maWcgU09VTkRfU1NDQVBFCiAJdHJpc3RhdGUgIkVuc29uaXEgU291bmRTY2FwZSBzdXBwb3J0IgotCWRlcGVuZHMgb24gU09VTkRfT1NTCi0JZGVwZW5kcyBvbiBWSVJUX1RPX0JVUwogCWhlbHAKIAkgIEFuc3dlciBZIGlmIHlvdSBoYXZlIGEgc291bmQgY2FyZCBiYXNlZCBvbiB0aGUgRW5zb25pcSBTb3VuZFNjYXBlCiAJICBjaGlwc2V0LiBTdWNoIGNhcmRzIGFyZSBiZWluZyBtYW51ZmFjdHVyZWQgYXQgbGVhc3QgYnkgRW5zb25pcSwgU3BlYQpAQCAtMzUyLDEzICszNDksMTEgQEAKIAogY29uZmlnIFNPVU5EX1ZNSURJCiAJdHJpc3RhdGUgIkxvb3BiYWNrIE1JREkgZGV2aWNlIHN1cHBvcnQiCi0JZGVwZW5kcyBvbiBTT1VORF9PU1MKIAloZWxwCiAJICBTdXBwb3J0IGZvciBNSURJIGxvb3BiYWNrIG9uIHBvcnQgMSBvciAyLgogCiBjb25maWcgU09VTkRfVFJJWAogCXRyaXN0YXRlICJNZWRpYVRyaXggQXVkaW9Ucml4IFBybyBzdXBwb3J0IgotCWRlcGVuZHMgb24gU09VTkRfT1NTCiAJaGVscAogCSAgQW5zd2VyIFkgaWYgeW91IGhhdmUgdGhlIEF1ZGlvVHJpWCBQcm8gc291bmQgY2FyZCBtYW51ZmFjdHVyZWQKIAkgIGJ5IE1lZGlhVHJpeC4KQEAgLTM4Miw3ICszNzcsNiBAQAogCiBjb25maWcgU09VTkRfTVNTCiAJdHJpc3RhdGUgIk1pY3Jvc29mdCBTb3VuZCBTeXN0ZW0gc3VwcG9ydCIKLQlkZXBlbmRzIG9uIFNPVU5EX09TUwogCS0tLWhlbHAtLS0KIAkgIEFnYWluIHRoaW5rIGNhcmVmdWxseSBiZWZvcmUgYW5zd2VyaW5nIFkgdG8gdGhpcyBxdWVzdGlvbi4gIEl0J3MKIAkgIHNhZmUgdG8gYW5zd2VyIFkgaWYgeW91IGhhdmUgdGhlIG9yaWdpbmFsIFdpbmRvd3MgU291bmQgU3lzdGVtIGNhcmQKQEAgLTQxNCw3ICs0MDgsNiBAQAogCiBjb25maWcgU09VTkRfTVBVNDAxCiAJdHJpc3RhdGUgIk1QVS00MDEgc3VwcG9ydCAoTk9UIGZvciBTQjE2KSIKLQlkZXBlbmRzIG9uIFNPVU5EX09TUwogCS0tLWhlbHAtLS0KIAkgIEJlIGNhcmVmdWwgd2l0aCB0aGlzIHF1ZXN0aW9uLiAgVGhlIE1QVTQwMSBpbnRlcmZhY2UgaXMgc3VwcG9ydGVkIGJ5CiAJICBhbGwgc291bmQgY2FyZHMuICBIb3dldmVyLCBzb21lIG5hdGl2ZWx5IHN1cHBvcnRlZCBjYXJkcyBoYXZlIHRoZWlyCkBAIC00MzAsNyArNDIzLDYgQEAKIAogY29uZmlnIFNPVU5EX1BBUwogCXRyaXN0YXRlICJQcm9BdWRpb1NwZWN0cnVtIDE2IHN1cHBvcnQiCi0JZGVwZW5kcyBvbiBTT1VORF9PU1MKIAktLS1oZWxwLS0tCiAJICBBbnN3ZXIgWSBvbmx5IGlmIHlvdSBoYXZlIGEgUHJvIEF1ZGlvIFNwZWN0cnVtIDE2LCBQcm9BdWRpbyBTdHVkaW8KIAkgIDE2IG9yIExvZ2l0ZWNoIFNvdW5kTWFuIDE2IHNvdW5kIGNhcmQuIEFuc3dlciBOIGlmIHlvdSBoYXZlIHNvbWUKQEAgLTQ1Miw3ICs0NDQsNiBAQAogCiBjb25maWcgU09VTkRfUFNTCiAJdHJpc3RhdGUgIlBTUyAoQUQxODQ4LCBBRFNQLTIxMTUsIEVTQzYxNCkgc3VwcG9ydCIKLQlkZXBlbmRzIG9uIFNPVU5EX09TUwogCWhlbHAKIAkgIEFuc3dlciBZIG9yIE0gaWYgeW91IGhhdmUgYW4gT3JjaGlkIFNXMzIsIENhcmRpbmFsIERTUDE2LCBCZWV0aG92ZW4KIAkgIEFEU1AtMTYgb3Igc29tZSBvdGhlciBjYXJkIGJhc2VkIG9uIHRoZSBQU1MgY2hpcHNldCAoQUQxODQ4IGNvZGVjICsKQEAgLTQ5NSw3ICs0ODYsNiBAQAogCiBjb25maWcgU09VTkRfU0IKIAl0cmlzdGF0ZSAiMTAwJSBTb3VuZCBCbGFzdGVyIGNvbXBhdGlibGVzIChTQjE2LzMyLzY0LCBFU1MsIEphenoxNikgc3VwcG9ydCIKLQlkZXBlbmRzIG9uIFNPVU5EX09TUwogCS0tLWhlbHAtLS0KIAkgIEFuc3dlciBZIGlmIHlvdSBoYXZlIGFuIG9yaWdpbmFsIFNvdW5kIEJsYXN0ZXIgY2FyZCBtYWRlIGJ5IENyZWF0aXZlCiAJICBMYWJzIG9yIGEgMTAwJSBoYXJkd2FyZSBjb21wYXRpYmxlIGNsb25lIChsaWtlIHRoZSBUaHVuZGVyYm9hcmQgb3IKQEAgLTUyMiw3ICs1MTIsNiBAQAogCiBjb25maWcgU09VTkRfWU0zODEyCiAJdHJpc3RhdGUgIllhbWFoYSBGTSBzeW50aGVzaXplciAoWU0zODEyL09QTC0zKSBzdXBwb3J0IgotCWRlcGVuZHMgb24gU09VTkRfT1NTCiAJLS0taGVscC0tLQogCSAgQW5zd2VyIFkgaWYgeW91ciBjYXJkIGhhcyBhIEZNIGNoaXAgbWFkZSBieSBZYW1haGEgKE9QTDIvT1BMMy9PUEw0KS4KIAkgIEFuc3dlcmluZyBZIGlzIHVzdWFsbHkgYSBzYWZlIGFuZCByZWNvbW1lbmRlZCBjaG9pY2UsIGhvd2V2ZXIgc29tZQpAQCAtNTM4LDcgKzUyNyw2IEBACiAKIGNvbmZpZyBTT1VORF9VQVJUNjg1MAogCXRyaXN0YXRlICI2ODUwIFVBUlQgc3VwcG9ydCIKLQlkZXBlbmRzIG9uIFNPVU5EX09TUwogCWhlbHAKIAkgIFRoaXMgb3B0aW9uIGVuYWJsZXMgc3VwcG9ydCBmb3IgTUlESSBpbnRlcmZhY2VzIGJhc2VkIG9uIHRoZSA2ODUwCiAJICBVQVJUIGNoaXAuIFRoaXMgaW50ZXJmYWNlIGlzIHJhcmVseSBmb3VuZCBvbiBzb3VuZCBjYXJkcy4gSXQncyBzYWZlCkBAIC01NDksNyArNTM3LDYgQEAKIAogY29uZmlnIFNPVU5EX0FFRFNQMTYKIAl0cmlzdGF0ZSAiR2FsbGFudCBBdWRpbyBDYXJkcyAoU0MtNjAwMCBhbmQgU0MtNjYwMCBiYXNlZCkiCi0JZGVwZW5kcyBvbiBTT1VORF9PU1MKIAktLS1oZWxwLS0tCiAJICBBbnN3ZXIgWSBpZiB5b3UgaGF2ZSBhIEdhbGxhbnQncyBBdWRpbyBFeGNlbCBEU1AgMTYgY2FyZC4gVGhpcwogCSAgZHJpdmVyIHN1cHBvcnRzIEF1ZGlvIEV4Y2VsIERTUCAxNiBidXQgbm90IHRoZSBJSUkgbm9yIFBuUCB2ZXJzaW9ucwpAQCAtNjMwLDE0ICs2MTcsMTQgQEAKIAogY29uZmlnIFNPVU5EX1ZJREMKIAl0cmlzdGF0ZSAiVklEQyAxNi1iaXQgc291bmQiCi0JZGVwZW5kcyBvbiBBUk0gJiYgKEFSQ0hfQUNPUk4gfHwgQVJDSF9DTFBTNzUwMCkgJiYgU09VTkRfT1NTCisJZGVwZW5kcyBvbiBBUk0gJiYgKEFSQ0hfQUNPUk4gfHwgQVJDSF9DTFBTNzUwMCkKIAloZWxwCiAJICAxNi1iaXQgc3VwcG9ydCBmb3IgdGhlIFZJREMgb25ib2FyZCBzb3VuZCBoYXJkd2FyZSBmb3VuZCBvbiBBY29ybgogCSAgbWFjaGluZXMuCiAKIGNvbmZpZyBTT1VORF9XQVZFQVJUSVNUCiAJdHJpc3RhdGUgIk5ldHdpbmRlciBXYXZlQXJ0aXN0IgotCWRlcGVuZHMgb24gQVJNICYmIFNPVU5EX09TUyAmJiBBUkNIX05FVFdJTkRFUgorCWRlcGVuZHMgb24gQVJNICYmIEFSQ0hfTkVUV0lOREVSCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIHRoZSBSb2Nrd2VsbCBXYXZlQXJ0aXN0IHNvdW5kCiAJICBzeXN0ZW0uICBUaGlzIGRyaXZlciBpcyBtYWlubHkgZm9yIHRoZSBOZXRXaW5kZXIuCkBAIC02NDYsOSArNjMzLDExIEBACiAJdHJpc3RhdGUgIlhwcmVzc0F1ZGlvIFNvdW5kIEJsYXN0ZXIgZW11bGF0aW9uIgogCWRlcGVuZHMgb24gU09VTkRfU0IKIAorZW5kaWYJIyBTT1VORF9PU1MKKwogY29uZmlnIFNPVU5EX1NIX0RBQ19BVURJTwogCXRyaXN0YXRlICJTdXBlckggREFDIGF1ZGlvIHN1cHBvcnQiCi0JZGVwZW5kcyBvbiBTT1VORF9QUklNRSAmJiBDUFVfU0gzCisJZGVwZW5kcyBvbiBDUFVfU0gzCiAKIGNvbmZpZyBTT1VORF9TSF9EQUNfQVVESU9fQ0hBTk5FTAogCWludCAiREFDIGNoYW5uZWwiCmRpZmYgLS1naXQgYS9zb3VuZC9vc3MvZG1hc291bmQvZG1hc291bmRfY29yZS5jIGIvc291bmQvb3NzL2RtYXNvdW5kL2RtYXNvdW5kX2NvcmUuYwppbmRleCBhMDAzYzBlLi45NWZjNWM2IDEwMDY0NAotLS0gYS9zb3VuZC9vc3MvZG1hc291bmQvZG1hc291bmRfY29yZS5jCisrKyBiL3NvdW5kL29zcy9kbWFzb3VuZC9kbWFzb3VuZF9jb3JlLmMKQEAgLTIxMSwxMCArMjExLDYgQEAKIHN0YXRpYyBpbnQgaXJxX2luc3RhbGxlZDsKICNlbmRpZiAvKiBNT0RVTEUgKi8KIAotLyogc29mdHdhcmUgaW1wbGVtZW50ZWQgcmVjb3JkaW5nIHZvbHVtZSEgKi8KLXVpbnQgc29mdHdhcmVfaW5wdXRfdm9sdW1lID0gU1dfSU5QVVRfVk9MVU1FX1NDQUxFICogU1dfSU5QVVRfVk9MVU1FX0RFRkFVTFQ7Ci1FWFBPUlRfU1lNQk9MKHNvZnR3YXJlX2lucHV0X3ZvbHVtZSk7Ci0KIC8qIGNvbnRyb2wgb3ZlciB3aG8gY2FuIG1vZGlmeSByZXNvdXJjZXMgc2hhcmVkIGJldHdlZW4gcGxheS9yZWNvcmQgKi8KIHN0YXRpYyBtb2RlX3Qgc2hhcmVkX3Jlc291cmNlX293bmVyOwogc3RhdGljIGludCBzaGFyZWRfcmVzb3VyY2VzX2luaXRpYWxpc2VkOwpAQCAtMTE4OCw3ICsxMTg0LDcgQEAKIAogLyogcHVibGlzaCB0aGlzIGZ1bmN0aW9uIGZvciB1c2UgYnkgbG93LWxldmVsIGNvZGUsIGlmIHJlcXVpcmVkICovCiAKLWNoYXIgKmdldF9hZm10X3N0cmluZyhpbnQgYWZtdCkKK3N0YXRpYyBjaGFyICpnZXRfYWZtdF9zdHJpbmcoaW50IGFmbXQpCiB7CiAgICAgICAgIHN3aXRjaChhZm10KSB7CiAgICAgICAgICAgICBjYXNlIEFGTVRfTVVfTEFXOgpAQCAtMTU1MSw0ICsxNTQ3LDMgQEAKIEVYUE9SVF9TWU1CT0woZG1hc291bmRfdWxhdzJkbWE4KTsKIEVYUE9SVF9TWU1CT0woZG1hc291bmRfYWxhdzJkbWE4KTsKICNlbmRpZgotRVhQT1JUX1NZTUJPTChnZXRfYWZtdF9zdHJpbmcpIDsKZGlmZiAtLWdpdCBhL3NvdW5kL29zcy9kbWFzb3VuZC9kbWFzb3VuZF9wYXVsYS5jIGIvc291bmQvb3NzL2RtYXNvdW5kL2RtYXNvdW5kX3BhdWxhLmMKaW5kZXggMjAyZTgxMC4uMDZlOWU4OCAxMDA2NDQKLS0tIGEvc291bmQvb3NzL2RtYXNvdW5kL2RtYXNvdW5kX3BhdWxhLmMKKysrIGIvc291bmQvb3NzL2RtYXNvdW5kL2RtYXNvdW5kX3BhdWxhLmMKQEAgLTcxMCw3ICs3MTAsNyBAQAogLyoqKiBDb25maWcgJiBTZXR1cCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogCiAKLWludCBfX2luaXQgZG1hc291bmRfcGF1bGFfaW5pdCh2b2lkKQorc3RhdGljIGludCBfX2luaXQgZG1hc291bmRfcGF1bGFfaW5pdCh2b2lkKQogewogCWludCBlcnI7CiAKZGlmZiAtLWdpdCBhL3NvdW5kL29zcy9kbWFzb3VuZC9kbWFzb3VuZF9xNDAuYyBiL3NvdW5kL29zcy9kbWFzb3VuZC9kbWFzb3VuZF9xNDAuYwppbmRleCBiMzM3OWRkLi4xODU1YjE0IDEwMDY0NAotLS0gYS9zb3VuZC9vc3MvZG1hc291bmQvZG1hc291bmRfcTQwLmMKKysrIGIvc291bmQvb3NzL2RtYXNvdW5kL2RtYXNvdW5kX3E0MC5jCkBAIC02MTEsNyArNjExLDcgQEAKIC8qKiogQ29uZmlnICYgU2V0dXAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIAogCi1pbnQgX19pbml0IGRtYXNvdW5kX3E0MF9pbml0KHZvaWQpCitzdGF0aWMgaW50IF9faW5pdCBkbWFzb3VuZF9xNDBfaW5pdCh2b2lkKQogewogCWlmIChNQUNIX0lTX1E0MCkgewogCSAgICBkbWFzb3VuZC5tYWNoID0gbWFjaFE0MDsKZGlmZiAtLWdpdCBhL3NvdW5kL29zcy9tc25kLmMgYi9zb3VuZC9vc3MvbXNuZC5jCmluZGV4IGJhMzhkNjIuLmU0MjgyZDkgMTAwNjQ0Ci0tLSBhL3NvdW5kL29zcy9tc25kLmMKKysrIGIvc291bmQvb3NzL21zbmQuYwpAQCAtMjAsOCArMjAsNiBAQAogICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICAqIEZvdW5kYXRpb24sIEluYy4sIDY3NSBNYXNzIEF2ZSwgQ2FtYnJpZGdlLCBNQSAwMjEzOSwgVVNBLgogICoKLSAqICRJZDogbXNuZC5jLHYgMS4xNyAxOTk5LzAzLzIxIDE2OjUwOjA5IGFuZHJld3R2IEV4cCAkCi0gKgogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogCiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CmRpZmYgLS1naXQgYS9zb3VuZC9vc3MvbXNuZC5oIGIvc291bmQvb3NzL21zbmQuaAppbmRleCBkMGNhNTgyLi42MWIzOTU1IDEwMDY0NAotLS0gYS9zb3VuZC9vc3MvbXNuZC5oCisrKyBiL3NvdW5kL29zcy9tc25kLmgKQEAgLTI0LDggKzI0LDYgQEAKICAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiAgKiBGb3VuZGF0aW9uLCBJbmMuLCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEgMDIxMzksIFVTQS4KICAqCi0gKiAkSWQ6IG1zbmQuaCx2IDEuMzYgMTk5OS8wMy8yMSAxNzowNTo0MiBhbmRyZXd0diBFeHAgJAotICoKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KICNpZm5kZWYgX19NU05EX0gKICNkZWZpbmUgX19NU05EX0gKZGlmZiAtLWdpdCBhL3NvdW5kL29zcy9tc25kX2NsYXNzaWMuaCBiL3NvdW5kL29zcy9tc25kX2NsYXNzaWMuaAppbmRleCA3ZmZlYTUyLi4xYTE3ZGRlIDEwMDY0NAotLS0gYS9zb3VuZC9vc3MvbXNuZF9jbGFzc2ljLmgKKysrIGIvc291bmQvb3NzL21zbmRfY2xhc3NpYy5oCkBAIC0yNCw4ICsyNCw2IEBACiAgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogICogRm91bmRhdGlvbiwgSW5jLiwgNjc1IE1hc3MgQXZlLCBDYW1icmlkZ2UsIE1BIDAyMTM5LCBVU0EuCiAgKiAKLSAqICRJZDogbXNuZF9jbGFzc2ljLmgsdiAxLjEwIDE5OTkvMDMvMjEgMTc6MzY6MDkgYW5kcmV3dHYgRXhwICQKLSAqCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAjaWZuZGVmIF9fTVNORF9DTEFTU0lDX0gKICNkZWZpbmUgX19NU05EX0NMQVNTSUNfSApkaWZmIC0tZ2l0IGEvc291bmQvb3NzL21zbmRfcGlubmFjbGUuYyBiL3NvdW5kL29zcy9tc25kX3Bpbm5hY2xlLmMKaW5kZXggZjFmNDllYi4uYmYyN2UwMCAxMDA2NDQKLS0tIGEvc291bmQvb3NzL21zbmRfcGlubmFjbGUuYworKysgYi9zb3VuZC9vc3MvbXNuZF9waW5uYWNsZS5jCkBAIC0yOSwxMyArMjksOCBAQAogICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICAqIEZvdW5kYXRpb24sIEluYy4sIDY3NSBNYXNzIEF2ZSwgQ2FtYnJpZGdlLCBNQSAwMjEzOSwgVVNBLgogICoKLSAqICRJZDogbXNuZF9waW5uYWNsZS5jLHYgMS44IDIwMDAvMTIvMzAgMDA6MzM6MjEgc3ljYW1vcmUgRXhwICQKLSAqCiAgKiAxMi0zLTIwMDAgIE1vZGlmaWVkIElPIHBvcnQgdmFsaWRhdGlvbiAgU3RldmUgU3ljYW1vcmUKICAqCi0gKgotICogJCQkOiBtc25kX3Bpbm5hY2xlLmMsdiAxLjc1IDE5OTkvMDMvMjEgMTY6NTA6MDkgYW5kcmV3dHYgJCQkICQKLSAqCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAKICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KZGlmZiAtLWdpdCBhL3NvdW5kL29zcy9tc25kX3Bpbm5hY2xlLmggYi9zb3VuZC9vc3MvbXNuZF9waW5uYWNsZS5oCmluZGV4IGNjZTkxMTQuLmMxOGQ2NmMgMTAwNjQ0Ci0tLSBhL3NvdW5kL29zcy9tc25kX3Bpbm5hY2xlLmgKKysrIGIvc291bmQvb3NzL21zbmRfcGlubmFjbGUuaApAQCAtMjQsOCArMjQsNiBAQAogICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICAqIEZvdW5kYXRpb24sIEluYy4sIDY3NSBNYXNzIEF2ZSwgQ2FtYnJpZGdlLCBNQSAwMjEzOSwgVVNBLgogICoKLSAqICRJZDogbXNuZF9waW5uYWNsZS5oLHYgMS4xMSAxOTk5LzAzLzIxIDE3OjM2OjA5IGFuZHJld3R2IEV4cCAkCi0gKgogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogI2lmbmRlZiBfX01TTkRfUElOTkFDTEVfSAogI2RlZmluZSBfX01TTkRfUElOTkFDTEVfSApkaWZmIC0tZ2l0IGEvc291bmQvb3NzL3Z3c25kLmMgYi9zb3VuZC9vc3MvdndzbmQuYwppbmRleCAyYzVhYWE1Li5kY2JiM2Y3IDEwMDY0NAotLS0gYS9zb3VuZC9vc3MvdndzbmQuYworKysgYi9zb3VuZC9vc3MvdndzbmQuYwpAQCAtMTUwLDcgKzE1MCw3IEBACiAjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KIAotI2luY2x1ZGUgPGFzbS9tYWNoLXZpc3dzL2NvYmFsdC5oPgorI2luY2x1ZGUgPGFzbS92aXN3cy9jb2JhbHQuaD4KIAogI2luY2x1ZGUgInNvdW5kX2NvbmZpZy5oIgogCmRpZmYgLS1naXQgYS9zb3VuZC9wYXJpc2MvS2NvbmZpZyBiL3NvdW5kL3BhcmlzYy9LY29uZmlnCmluZGV4IGE1YTdmOWQuLjliNjFkOTUgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BhcmlzYy9LY29uZmlnCisrKyBiL3NvdW5kL3BhcmlzYy9LY29uZmlnCkBAIC0xLDE1ICsxLDIwIEBACiAjIEFMU0EgUEEtUklTQyBkcml2ZXJzCiAKLW1lbnUgIkdTQyBkZXZpY2VzIgotCWRlcGVuZHMgb24gU05EIT1uICYmIEdTQworbWVudWNvbmZpZyBTTkRfR1NDCisJYm9vbCAiR1NDIHNvdW5kIGRldmljZXMiCisJZGVwZW5kcyBvbiBHU0MKKwlkZWZhdWx0IHkKKwloZWxwCisJICBTdXBwb3J0IGZvciBHU0Mgc291bmQgZGV2aWNlcyBvbiBQQS1SSVNDIGFyY2hpdGVjdHVyZXMuCisKK2lmIFNORF9HU0MKIAogY29uZmlnIFNORF9IQVJNT05ZCiAJdHJpc3RhdGUgIkhhcm1vbnkvVml2YWNlIHNvdW5kIGNoaXAiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX1BDTQogCWhlbHAKIAkgIFNheSAnWScgb3IgJ00nIHRvIGluY2x1ZGUgc3VwcG9ydCBmb3IgdGhlIEhhcm1vbnkvVml2YWNlIHNvdW5kCiAJICBjaGlwIGZvdW5kIGluIG1vc3QgR1NDLWJhc2VkIFBBLVJJU0Mgd29ya3N0YXRpb25zLiAgSXQncyBmcmVxdWVudGx5CiAJICBwcm92aWRlZCBhcyBwYXJ0IG9mIHRoZSBMYXNpIG11bHRpLWZ1bmN0aW9uIElDLgogCi1lbmRtZW51CitlbmRpZgkjIFNORF9HU0MKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9LY29uZmlnIGIvc291bmQvcGNpL0tjb25maWcKaW5kZXggN2U0NzQyMS4uZjdkOTViMiAxMDA2NDQKLS0tIGEvc291bmQvcGNpL0tjb25maWcKKysrIGIvc291bmQvcGNpL0tjb25maWcKQEAgLTEsMTEgKzEsMTYgQEAKICMgQUxTQSBQQ0kgZHJpdmVycwogCi1tZW51ICJQQ0kgZGV2aWNlcyIKLQlkZXBlbmRzIG9uIFNORCE9biAmJiBQQ0kKK21lbnVjb25maWcgU05EX1BDSQorCWJvb2wgIlBDSSBzb3VuZCBkZXZpY2VzIgorCWRlcGVuZHMgb24gUENJCisJZGVmYXVsdCB5CisJaGVscAorCSAgU3VwcG9ydCBmb3Igc291bmQgZGV2aWNlcyBjb25uZWN0ZWQgdmlhIHRoZSBQQ0kgYnVzLgorCitpZiBTTkRfUENJCiAKIGNvbmZpZyBTTkRfQUQxODg5CiAJdHJpc3RhdGUgIkFuYWxvZyBEZXZpY2VzIEFEMTg4OSIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfQUM5N19DT0RFQwogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciB0aGUgaW50ZWdyYXRlZCBBQzk3IHNvdW5kCkBAIC0xNyw3ICsyMiw2IEBACiAKIGNvbmZpZyBTTkRfQUxTMzAwCiAJdHJpc3RhdGUgIkF2YW5jZSBMb2dpYyBBTFMzMDAvQUxTMzAwKyIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfUENNCiAJc2VsZWN0IFNORF9BQzk3X0NPREVDCiAJc2VsZWN0IFNORF9PUEwzX0xJQgpAQCAtMjksNyArMzMsNyBAQAogCiBjb25maWcgU05EX0FMUzQwMDAKIAl0cmlzdGF0ZSAiQXZhbmNlIExvZ2ljIEFMUzQwMDAiCi0JZGVwZW5kcyBvbiBTTkQgJiYgSVNBX0RNQV9BUEkKKwlkZXBlbmRzIG9uIElTQV9ETUFfQVBJCiAJc2VsZWN0IFNORF9PUEwzX0xJQgogCXNlbGVjdCBTTkRfTVBVNDAxX1VBUlQKIAlzZWxlY3QgU05EX1BDTQpAQCAtNDMsNyArNDcsNiBAQAogCiBjb25maWcgU05EX0FMSTU0NTEKIAl0cmlzdGF0ZSAiQUxpIE01NDUxIFBDSSBBdWRpbyBDb250cm9sbGVyIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVAogCXNlbGVjdCBTTkRfQUM5N19DT0RFQwogCWhlbHAKQEAgLTU3LDcgKzYwLDYgQEAKIAogY29uZmlnIFNORF9BVElJWFAKIAl0cmlzdGF0ZSAiQVRJIElYUCBBQzk3IENvbnRyb2xsZXIiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX0FDOTdfQ09ERUMKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgc3VwcG9ydCBmb3IgdGhlIGludGVncmF0ZWQgQUM5NyBzb3VuZApAQCAtNjksNyArNzEsNiBAQAogCiBjb25maWcgU05EX0FUSUlYUF9NT0RFTQogCXRyaXN0YXRlICJBVEkgSVhQIE1vZGVtIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9BQzk3X0NPREVDCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIHRoZSBpbnRlZ3JhdGVkIE1DOTcgbW9kZW0gb24KQEAgLTgwLDcgKzgxLDYgQEAKIAogY29uZmlnIFNORF9BVTg4MTAKIAl0cmlzdGF0ZSAiQXVyZWFsIEFkdmFudGFnZSIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfTVBVNDAxX1VBUlQKIAlzZWxlY3QgU05EX0FDOTdfQ09ERUMKIAloZWxwCkBAIC05NSw3ICs5NSw2IEBACiAKIGNvbmZpZyBTTkRfQVU4ODIwCiAJdHJpc3RhdGUgIkF1cmVhbCBWb3J0ZXgiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX01QVTQwMV9VQVJUCiAJc2VsZWN0IFNORF9BQzk3X0NPREVDCiAJaGVscApAQCAtMTA5LDcgKzEwOCw2IEBACiAKIGNvbmZpZyBTTkRfQVU4ODMwCiAJdHJpc3RhdGUgIkF1cmVhbCBWb3J0ZXggMiIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfTVBVNDAxX1VBUlQKIAlzZWxlY3QgU05EX0FDOTdfQ09ERUMKIAloZWxwCkBAIC0xMjQsNyArMTIyLDYgQEAKIAogY29uZmlnIFNORF9BVzIKIAl0cmlzdGF0ZSAiRW1hZ2ljIEF1ZGlvd2VyayAyIgotCWRlcGVuZHMgb24gU05ECiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIEVtYWdpYyBBdWRpb3dlcmsgMiBzb3VuZGNhcmRzLgogCkBAIC0xMzksNyArMTM2LDcgQEAKIAogY29uZmlnIFNORF9BWlQzMzI4CiAJdHJpc3RhdGUgIkF6dGVjaCBBWkYzMzI4IC8gUENJMTY4IChFWFBFUklNRU5UQUwpIgotCWRlcGVuZHMgb24gU05EICYmIEVYUEVSSU1FTlRBTAorCWRlcGVuZHMgb24gRVhQRVJJTUVOVEFMCiAJc2VsZWN0IFNORF9PUEwzX0xJQgogCXNlbGVjdCBTTkRfTVBVNDAxX1VBUlQKIAlzZWxlY3QgU05EX1BDTQpAQCAtMTUyLDcgKzE0OSw2IEBACiAKIGNvbmZpZyBTTkRfQlQ4N1gKIAl0cmlzdGF0ZSAiQnQ4N3ggQXVkaW8gQ2FwdHVyZSIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfUENNCiAJaGVscAogCSAgSWYgeW91IHdhbnQgdG8gcmVjb3JkIGF1ZGlvIGZyb20gVFYgY2FyZHMgYmFzZWQgb24KQEAgLTE3NCw3ICsxNzAsNiBAQAogCiBjb25maWcgU05EX0NBMDEwNgogCXRyaXN0YXRlICJTQiBBdWRpZ3kgTFMgLyBMaXZlIDI0Yml0IgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9BQzk3X0NPREVDCiAJc2VsZWN0IFNORF9SQVdNSURJCiAJc2VsZWN0IFNORF9WTUFTVEVSCkBAIC0xODcsNyArMTgyLDYgQEAKIAogY29uZmlnIFNORF9DTUlQQ0kKIAl0cmlzdGF0ZSAiQy1NZWRpYSA4MzM4LCA4NzM4LCA4NzY4LCA4NzcwIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9PUEwzX0xJQgogCXNlbGVjdCBTTkRfTVBVNDAxX1VBUlQKIAlzZWxlY3QgU05EX1BDTQpAQCAtMjAxLDEzICsxOTUsMTEgQEAKIAogY29uZmlnIFNORF9PWFlHRU5fTElCCiAgICAgICAgIHRyaXN0YXRlCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX1BDTQogCXNlbGVjdCBTTkRfTVBVNDAxX1VBUlQKIAogY29uZmlnIFNORF9PWFlHRU4KIAl0cmlzdGF0ZSAiQy1NZWRpYSA4Nzg4IChPeHlnZW4pIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9PWFlHRU5fTElCCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIHNvdW5kIGNhcmRzIGJhc2VkIG9uIHRoZQpAQCAtMjI1LDcgKzIxNyw2IEBACiAKIGNvbmZpZyBTTkRfQ1M0MjgxCiAJdHJpc3RhdGUgIkNpcnJ1cyBMb2dpYyAoU291bmQgRnVzaW9uKSBDUzQyODEiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX09QTDNfTElCCiAJc2VsZWN0IFNORF9SQVdNSURJCiAJc2VsZWN0IFNORF9BQzk3X0NPREVDCkBAIC0yMzcsNyArMjI4LDYgQEAKIAogY29uZmlnIFNORF9DUzQ2WFgKIAl0cmlzdGF0ZSAiQ2lycnVzIExvZ2ljIChTb3VuZCBGdXNpb24pIENTNDI4MC9DUzQ2MXgvQ1M0NjJ4L0NTNDYzeCIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfUkFXTUlESQogCXNlbGVjdCBTTkRfQUM5N19DT0RFQwogCWhlbHAKQEAgLTI1OCw3ICsyNDgsNyBAQAogCiBjb25maWcgU05EX0NTNTUzMAogCXRyaXN0YXRlICJDUzU1MzAgQXVkaW8iCi0JZGVwZW5kcyBvbiBTTkQgJiYgSVNBX0RNQV9BUEkKKwlkZXBlbmRzIG9uIElTQV9ETUFfQVBJCiAJc2VsZWN0IFNORF9TQjE2X0RTUAogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciBhdWRpbyBvbiBDeXJpeC9OYXRTZW1pIENTNTUzMCBjaGlwcy4KQEAgLTI2OCw3ICsyNTgsNyBAQAogCiBjb25maWcgU05EX0NTNTUzNUFVRElPCiAJdHJpc3RhdGUgIkNTNTUzNS9DUzU1MzYgQXVkaW8iCi0JZGVwZW5kcyBvbiBTTkQgJiYgWDg2ICYmICFYODZfNjQKKwlkZXBlbmRzIG9uIFg4NiAmJiAhWDg2XzY0CiAJc2VsZWN0IFNORF9QQ00KIAlzZWxlY3QgU05EX0FDOTdfQ09ERUMKIAloZWxwCkBAIC0yODYsNyArMjc2LDYgQEAKIAogY29uZmlnIFNORF9EQVJMQTIwCiAJdHJpc3RhdGUgIihFY2hvYXVkaW8pIERhcmxhMjAiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgRldfTE9BREVSCiAJc2VsZWN0IFNORF9QQ00KIAloZWxwCkBAIC0yOTcsNyArMjg2LDYgQEAKIAogY29uZmlnIFNORF9HSU5BMjAKIAl0cmlzdGF0ZSAiKEVjaG9hdWRpbykgR2luYTIwIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IEZXX0xPQURFUgogCXNlbGVjdCBTTkRfUENNCiAJaGVscApAQCAtMzA4LDcgKzI5Niw2IEBACiAKIGNvbmZpZyBTTkRfTEFZTEEyMAogCXRyaXN0YXRlICIoRWNob2F1ZGlvKSBMYXlsYTIwIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IEZXX0xPQURFUgogCXNlbGVjdCBTTkRfUkFXTUlESQogCXNlbGVjdCBTTkRfUENNCkBAIC0zMjAsNyArMzA3LDYgQEAKIAogY29uZmlnIFNORF9EQVJMQTI0CiAJdHJpc3RhdGUgIihFY2hvYXVkaW8pIERhcmxhMjQiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgRldfTE9BREVSCiAJc2VsZWN0IFNORF9QQ00KIAloZWxwCkBAIC0zMzEsNyArMzE3LDYgQEAKIAogY29uZmlnIFNORF9HSU5BMjQKIAl0cmlzdGF0ZSAiKEVjaG9hdWRpbykgR2luYTI0IgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IEZXX0xPQURFUgogCXNlbGVjdCBTTkRfUENNCiAJaGVscApAQCAtMzQyLDcgKzMyNyw2IEBACiAKIGNvbmZpZyBTTkRfTEFZTEEyNAogCXRyaXN0YXRlICIoRWNob2F1ZGlvKSBMYXlsYTI0IgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IEZXX0xPQURFUgogCXNlbGVjdCBTTkRfUkFXTUlESQogCXNlbGVjdCBTTkRfUENNCkBAIC0zNTQsNyArMzM4LDYgQEAKIAogY29uZmlnIFNORF9NT05BCiAJdHJpc3RhdGUgIihFY2hvYXVkaW8pIE1vbmEiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgRldfTE9BREVSCiAJc2VsZWN0IFNORF9SQVdNSURJCiAJc2VsZWN0IFNORF9QQ00KQEAgLTM2Niw3ICszNDksNiBAQAogCiBjb25maWcgU05EX01JQQogCXRyaXN0YXRlICIoRWNob2F1ZGlvKSBNaWEiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgRldfTE9BREVSCiAJc2VsZWN0IFNORF9SQVdNSURJCiAJc2VsZWN0IFNORF9QQ00KQEAgLTM3OCw3ICszNjAsNiBAQAogCiBjb25maWcgU05EX0VDSE8zRwogCXRyaXN0YXRlICIoRWNob2F1ZGlvKSAzRyBjYXJkcyIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBGV19MT0FERVIKIAlzZWxlY3QgU05EX1JBV01JREkKIAlzZWxlY3QgU05EX1BDTQpAQCAtMzkwLDcgKzM3MSw2IEBACiAKIGNvbmZpZyBTTkRfSU5ESUdPCiAJdHJpc3RhdGUgIihFY2hvYXVkaW8pIEluZGlnbyIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBGV19MT0FERVIKIAlzZWxlY3QgU05EX1BDTQogCWhlbHAKQEAgLTQwMSw3ICszODEsNiBAQAogCiBjb25maWcgU05EX0lORElHT0lPCiAJdHJpc3RhdGUgIihFY2hvYXVkaW8pIEluZGlnbyBJTyIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBGV19MT0FERVIKIAlzZWxlY3QgU05EX1BDTQogCWhlbHAKQEAgLTQxMiw3ICszOTEsNiBAQAogCiBjb25maWcgU05EX0lORElHT0RKCiAJdHJpc3RhdGUgIihFY2hvYXVkaW8pIEluZGlnbyBESiIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBGV19MT0FERVIKIAlzZWxlY3QgU05EX1BDTQogCWhlbHAKQEAgLTQyMyw3ICs0MDEsNiBAQAogCiBjb25maWcgU05EX0VNVTEwSzEKIAl0cmlzdGF0ZSAiRW11MTBrMSAoU0IgTGl2ZSEsIEF1ZGlneSwgRS1tdSBBUFMpIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IEZXX0xPQURFUgogCXNlbGVjdCBTTkRfSFdERVAKIAlzZWxlY3QgU05EX1JBV01JREkKQEAgLTQ0MSw3ICs0MTgsNiBAQAogCiBjb25maWcgU05EX0VNVTEwSzFYCiAJdHJpc3RhdGUgIkVtdTEwazFYIChEZWxsIE9FTSBWZXJzaW9uKSIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfQUM5N19DT0RFQwogCXNlbGVjdCBTTkRfUkFXTUlESQogCWhlbHAKQEAgLTQ1Myw3ICs0MjksNiBAQAogCiBjb25maWcgU05EX0VOUzEzNzAKIAl0cmlzdGF0ZSAiKENyZWF0aXZlKSBFbnNvbmlxIEF1ZGlvUENJIDEzNzAiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX1JBV01JREkKIAlzZWxlY3QgU05EX1BDTQogCWhlbHAKQEAgLTQ2NCw3ICs0MzksNiBAQAogCiBjb25maWcgU05EX0VOUzEzNzEKIAl0cmlzdGF0ZSAiKENyZWF0aXZlKSBFbnNvbmlxIEF1ZGlvUENJIDEzNzEvMTM3MyIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfUkFXTUlESQogCXNlbGVjdCBTTkRfQUM5N19DT0RFQwogCWhlbHAKQEAgLTQ3Niw3ICs0NTAsNiBAQAogCiBjb25maWcgU05EX0VTMTkzOAogCXRyaXN0YXRlICJFU1MgRVMxOTM4LzE5NDYvMTk2OSAoU29sby0xKSIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfT1BMM19MSUIKIAlzZWxlY3QgU05EX01QVTQwMV9VQVJUCiAJc2VsZWN0IFNORF9BQzk3X0NPREVDCkBAIC00ODksNyArNDYyLDYgQEAKIAogY29uZmlnIFNORF9FUzE5NjgKIAl0cmlzdGF0ZSAiRVNTIEVTMTk2OC8xOTc4IChNYWVzdHJvLTEvMi8yRSkiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX01QVTQwMV9VQVJUCiAJc2VsZWN0IFNORF9BQzk3X0NPREVDCiAJaGVscApAQCAtNTAxLDcgKzQ3Myw2IEBACiAKIGNvbmZpZyBTTkRfRk04MDEKIAl0cmlzdGF0ZSAiRm9ydGVNZWRpYSBGTTgwMSIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfT1BMM19MSUIKIAlzZWxlY3QgU05EX01QVTQwMV9VQVJUCiAJc2VsZWN0IFNORF9BQzk3X0NPREVDCkBAIC01MjgsNyArNDk5LDYgQEAKIAogY29uZmlnIFNORF9IREFfSU5URUwKIAl0cmlzdGF0ZSAiSW50ZWwgSEQgQXVkaW8iCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX1BDTQogCXNlbGVjdCBTTkRfVk1BU1RFUgogCWhlbHAKQEAgLTYzNyw3ICs2MDcsNiBAQAogCiBjb25maWcgU05EX0hEU1AKIAl0cmlzdGF0ZSAiUk1FIEhhbW1lcmZhbGwgRFNQIEF1ZGlvIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9IV0RFUAogCXNlbGVjdCBTTkRfUkFXTUlESQogCXNlbGVjdCBTTkRfUENNCkBAIC02NTAsNyArNjE5LDYgQEAKIAogY29uZmlnIFNORF9IRFNQTQogCXRyaXN0YXRlICJSTUUgSGFtbWVyZmFsbCBEU1AgTUFESSIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfSFdERVAKIAlzZWxlY3QgU05EX1JBV01JREkKIAlzZWxlY3QgU05EX1BDTQpAQCAtNjYzLDcgKzYzMSw2IEBACiAKIGNvbmZpZyBTTkRfSElGSUVSCiAJdHJpc3RhdGUgIlRlbXBvVGVjIEhpRmllciBGYW50YXNpYSIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfT1hZR0VOX0xJQgogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciB0aGUgTWVkaWFUZWsvVGVtcG9UZWMgSGlGaWVyCkBAIC02NzQsNyArNjQxLDYgQEAKIAogY29uZmlnIFNORF9JQ0UxNzEyCiAJdHJpc3RhdGUgIklDRW5zZW1ibGUgSUNFMTcxMiAoRW52eTI0KSIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfTVBVNDAxX1VBUlQKIAlzZWxlY3QgU05EX0FDOTdfQ09ERUMKIAloZWxwCkBAIC02OTEsOCArNjU3LDcgQEAKIAogY29uZmlnIFNORF9JQ0UxNzI0CiAJdHJpc3RhdGUgIklDRS9WVDE3MjQvMTcyMCAoRW52eTI0SFQvUFQpIgotCWRlcGVuZHMgb24gU05ECi0Jc2VsZWN0IFNORF9NUFU0MDFfVUFSVAorCXNlbGVjdCBTTkRfUkFXTUlESQogCXNlbGVjdCBTTkRfQUM5N19DT0RFQwogCXNlbGVjdCBTTkRfVk1BU1RFUgogCWhlbHAKQEAgLTcwOSw3ICs2NzQsNiBAQAogCiBjb25maWcgU05EX0lOVEVMOFgwCiAJdHJpc3RhdGUgIkludGVsL1NpUy9uVmlkaWEvQU1EL0FMaSBBQzk3IENvbnRyb2xsZXIiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX0FDOTdfQ09ERUMKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgc3VwcG9ydCBmb3IgdGhlIGludGVncmF0ZWQgQUM5NyBzb3VuZApAQCAtNzIyLDcgKzY4Niw2IEBACiAKIGNvbmZpZyBTTkRfSU5URUw4WDBNCiAJdHJpc3RhdGUgIkludGVsL1NpUy9uVmlkaWEvQU1EIE1DOTcgTW9kZW0iCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX0FDOTdfQ09ERUMKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgc3VwcG9ydCBmb3IgdGhlIGludGVncmF0ZWQgTUM5NyBtb2RlbSBvbgpAQCAtNzMzLDggKzY5Niw2IEBACiAKIGNvbmZpZyBTTkRfS09SRzEyMTIKIAl0cmlzdGF0ZSAiS29yZyAxMjEyIElPIgotCWRlcGVuZHMgb24gU05ECi0Jc2VsZWN0IEZXX0xPQURFUiBpZiAhU05EX0tPUkcxMjEyX0ZJUk1XQVJFX0lOX0tFUk5FTAogCXNlbGVjdCBTTkRfUENNCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIEtvcmcgMTIxMklPIHNvdW5kY2FyZHMuCkBAIC03NDIsMTkgKzcwMyw4IEBACiAJICBUbyBjb21waWxlIHRoaXMgZHJpdmVyIGFzIGEgbW9kdWxlLCBjaG9vc2UgTSBoZXJlOiB0aGUgbW9kdWxlCiAJICB3aWxsIGJlIGNhbGxlZCBzbmQta29yZzEyMTIuCiAKLWNvbmZpZyBTTkRfS09SRzEyMTJfRklSTVdBUkVfSU5fS0VSTkVMCi0JYm9vbCAiSW4ta2VybmVsIGZpcm13YXJlIGZvciBLb3JnMTIxMiBkcml2ZXIiCi0JZGVwZW5kcyBvbiBTTkRfS09SRzEyMTIKLQlkZWZhdWx0IHkKLQloZWxwCi0JICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgdGhlIHN0YXRpYyBmaXJtd2FyZSBidWlsdCBpbiB0aGUga2VybmVsCi0JICBmb3IgdGhlIEtvcmcxMjEyIGRyaXZlci4gIElmIHlvdSBjaG9vc2UgTiBoZXJlLCB5b3UgbmVlZCB0bwotCSAgaW5zdGFsbCB0aGUgZmlybXdhcmUgZmlsZXMgZnJvbSB0aGUgYWxzYS1maXJtd2FyZSBwYWNrYWdlLgotCiBjb25maWcgU05EX01BRVNUUk8zCiAJdHJpc3RhdGUgIkVTUyBBbGxlZ3JvL01hZXN0cm8zIgotCWRlcGVuZHMgb24gU05ECi0Jc2VsZWN0IEZXX0xPQURFUiBpZiAhU05EX01BRVNUUk8zX0ZJUk1XQVJFX0lOX0tFUk5FTAogCXNlbGVjdCBTTkRfQUM5N19DT0RFQwogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciBzb3VuZGNhcmRzIGJhc2VkIG9uIEVTUyBNYWVzdHJvIDMKQEAgLTc2MywxOCArNzEzLDggQEAKIAkgIFRvIGNvbXBpbGUgdGhpcyBkcml2ZXIgYXMgYSBtb2R1bGUsIGNob29zZSBNIGhlcmU6IHRoZSBtb2R1bGUKIAkgIHdpbGwgYmUgY2FsbGVkIHNuZC1tYWVzdHJvMy4KIAotY29uZmlnIFNORF9NQUVTVFJPM19GSVJNV0FSRV9JTl9LRVJORUwKLQlib29sICJJbi1rZXJuZWwgZmlybXdhcmUgZm9yIE1hZXN0cm8zIGRyaXZlciIKLQlkZXBlbmRzIG9uIFNORF9NQUVTVFJPMwotCWRlZmF1bHQgeQotCWhlbHAKLQkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSB0aGUgc3RhdGljIGZpcm13YXJlIGJ1aWx0IGluIHRoZSBrZXJuZWwKLQkgIGZvciB0aGUgTWFlc3RybzMgZHJpdmVyLiAgSWYgeW91IGNob29zZSBOIGhlcmUsIHlvdSBuZWVkIHRvCi0JICBpbnN0YWxsIHRoZSBmaXJtd2FyZSBmaWxlcyBmcm9tIHRoZSBhbHNhLWZpcm13YXJlIHBhY2thZ2UuCi0KIGNvbmZpZyBTTkRfTUlYQVJUCiAJdHJpc3RhdGUgIkRpZ2lncmFtIG1pWGFydCIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfSFdERVAKIAlzZWxlY3QgU05EX1BDTQogCWhlbHAKQEAgLTc4Niw3ICs3MjYsNiBAQAogCiBjb25maWcgU05EX05NMjU2CiAJdHJpc3RhdGUgIk5lb01hZ2ljIE5NMjU2QVYvWlgiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX0FDOTdfQ09ERUMKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgc3VwcG9ydCBmb3IgTmVvTWFnaWMgTk0yNTZBVi9aWCBjaGlwcy4KQEAgLTc5Niw3ICs3MzUsNiBAQAogCiBjb25maWcgU05EX1BDWEhSCiAJdHJpc3RhdGUgIkRpZ2lncmFtIFBDWEhSIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9QQ00KIAlzZWxlY3QgU05EX0hXREVQCiAJaGVscApAQCAtODA3LDcgKzc0NSw2IEBACiAKIGNvbmZpZyBTTkRfUklQVElERQogCXRyaXN0YXRlICJDb25leGFudCBSaXB0aWRlIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IEZXX0xPQURFUgogCXNlbGVjdCBTTkRfT1BMM19MSUIKIAlzZWxlY3QgU05EX01QVTQwMV9VQVJUCkBAIC04MjAsNyArNzU3LDYgQEAKIAogY29uZmlnIFNORF9STUUzMgogCXRyaXN0YXRlICJSTUUgRGlnaTMyLCAzMi84LCAzMiBQUk8iCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX1BDTQogCWhlbHAKIAkgIFNheSBZIHRvIGluY2x1ZGUgc3VwcG9ydCBmb3IgUk1FIERpZ2kzMiwgRGlnaTMyIFBSTyBhbmQKQEAgLTgzMiw3ICs3NjgsNiBAQAogCiBjb25maWcgU05EX1JNRTk2CiAJdHJpc3RhdGUgIlJNRSBEaWdpOTYsIDk2LzgsIDk2LzggUFJPIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9QQ00KIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgc3VwcG9ydCBmb3IgUk1FIERpZ2k5NiwgRGlnaTk2LzggYW5kCkBAIC04NDMsNyArNzc4LDYgQEAKIAogY29uZmlnIFNORF9STUU5NjUyCiAJdHJpc3RhdGUgIlJNRSBEaWdpOTY1MiAoSGFtbWVyZmFsbCkiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX1BDTQogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciBSTUUgSGFtbWVyZmFsbCAoUk1FCkBAIC04NTQsNyArNzg4LDcgQEAKIAogY29uZmlnIFNORF9TSVM3MDE5CiAJdHJpc3RhdGUgIlNpUyA3MDE5IEF1ZGlvIEFjY2VsZXJhdG9yIgotCWRlcGVuZHMgb24gU05EICYmIFg4NiAmJiAhWDg2XzY0CisJZGVwZW5kcyBvbiBYODYgJiYgIVg4Nl82NAogCXNlbGVjdCBTTkRfQUM5N19DT0RFQwogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciB0aGUgU2lTIDcwMTkgQXVkaW8gQWNjZWxlcmF0b3IuCkBAIC04NjQsNyArNzk4LDYgQEAKIAogY29uZmlnIFNORF9TT05JQ1ZJQkVTCiAJdHJpc3RhdGUgIlMzIFNvbmljVmliZXMiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX09QTDNfTElCCiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVAogCXNlbGVjdCBTTkRfQUM5N19DT0RFQwpAQCAtODc3LDcgKzgxMCw2IEBACiAKIGNvbmZpZyBTTkRfVFJJREVOVAogCXRyaXN0YXRlICJUcmlkZW50IDRELVdhdmUgRFgvTlg7IFNpUyA3MDE4IgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVAogCXNlbGVjdCBTTkRfQUM5N19DT0RFQwogCWhlbHAKQEAgLTg4OSw3ICs4MjEsNiBAQAogCiBjb25maWcgU05EX1ZJQTgyWFgKIAl0cmlzdGF0ZSAiVklBIDgyQzY4NkEvQiwgODIzMy84MjM1IEFDOTcgQ29udHJvbGxlciIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfTVBVNDAxX1VBUlQKIAlzZWxlY3QgU05EX0FDOTdfQ09ERUMKIAloZWxwCkBAIC05MDEsNyArODMyLDYgQEAKIAogY29uZmlnIFNORF9WSUE4MlhYX01PREVNCiAJdHJpc3RhdGUgIlZJQSA4MkM2ODZBL0IsIDgyMzMgYmFzZWQgTW9kZW1zIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9BQzk3X0NPREVDCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIHRoZSBpbnRlZ3JhdGVkIE1DOTcgbW9kZW0gb24KQEAgLTkxMiw3ICs4NDIsNiBAQAogCiBjb25maWcgU05EX1ZJUlRVT1NPCiAJdHJpc3RhdGUgIkFzdXMgVmlydHVvc28gMTAwLzIwMCAoWG9uYXIpIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9PWFlHRU5fTElCCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIHNvdW5kIGNhcmRzIGJhc2VkIG9uIHRoZQpAQCAtOTIzLDcgKzg1Miw2IEBACiAKIGNvbmZpZyBTTkRfVlgyMjIKIAl0cmlzdGF0ZSAiRGlnaWdyYW0gVlgyMjIiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX1ZYX0xJQgogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciBEaWdpZ3JhbSBWWDIyMiBzb3VuZGNhcmRzLgpAQCAtOTMzLDggKzg2MSw2IEBACiAKIGNvbmZpZyBTTkRfWU1GUENJCiAJdHJpc3RhdGUgIllhbWFoYSBZTUY3MjQvNzQwLzc0NC83NTQiCi0JZGVwZW5kcyBvbiBTTkQKLQlzZWxlY3QgRldfTE9BREVSIGlmICFTTkRfWU1GUENJX0ZJUk1XQVJFX0lOX0tFUk5FTAogCXNlbGVjdCBTTkRfT1BMM19MSUIKIAlzZWxlY3QgU05EX01QVTQwMV9VQVJUCiAJc2VsZWN0IFNORF9BQzk3X0NPREVDCkBAIC05NDUsMzQgKzg3MSw0IEBACiAJICBUbyBjb21waWxlIHRoaXMgZHJpdmVyIGFzIGEgbW9kdWxlLCBjaG9vc2UgTSBoZXJlOiB0aGUgbW9kdWxlCiAJICB3aWxsIGJlIGNhbGxlZCBzbmQteW1mcGNpLgogCi1jb25maWcgU05EX1lNRlBDSV9GSVJNV0FSRV9JTl9LRVJORUwKLQlib29sICJJbi1rZXJuZWwgZmlybXdhcmUgZm9yIFlNRlBDSSBkcml2ZXIiCi0JZGVwZW5kcyBvbiBTTkRfWU1GUENJCi0JZGVmYXVsdCB5Ci0JaGVscAotCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHRoZSBzdGF0aWMgZmlybXdhcmUgYnVpbHQgaW4gdGhlIGtlcm5lbAotCSAgZm9yIHRoZSBZTUZQQ0kgZHJpdmVyLiAgSWYgeW91IGNob29zZSBOIGhlcmUsIHlvdSBuZWVkIHRvCi0JICBpbnN0YWxsIHRoZSBmaXJtd2FyZSBmaWxlcyBmcm9tIHRoZSBhbHNhLWZpcm13YXJlIHBhY2thZ2UuCi0KLWNvbmZpZyBTTkRfQUM5N19QT1dFUl9TQVZFCi0JYm9vbCAiQUM5NyBQb3dlci1TYXZpbmcgTW9kZSIKLQlkZXBlbmRzIG9uIFNORF9BQzk3X0NPREVDICYmIEVYUEVSSU1FTlRBTAotCWRlZmF1bHQgbgotCWhlbHAKLQkgIFNheSBZIGhlcmUgdG8gZW5hYmxlIHRoZSBhZ2dyZXNzaXZlIHBvd2VyLXNhdmluZyBzdXBwb3J0IG9mCi0JICBBQzk3IGNvZGVjcy4gIEluIHRoaXMgbW9kZSwgdGhlIHBvd2VyLW1vZGUgaXMgZHluYW1pY2FsbHkKLQkgIGNvbnRyb2xsZWQgYXQgZWFjaCBvcGVuL2Nsb3NlLgotCi0JICBUaGUgbW9kZSBpcyBhY3RpdmF0ZWQgYnkgcGFzc2luZyBwb3dlcl9zYXZlPTEgb3B0aW9uIHRvCi0JICBzbmQtYWM5Ny1jb2RlYyBkcml2ZXIuICBZb3UgY2FuIHRvZ2dsZSBpdCBkeW5hbWljYWxseSBvdmVyCi0JICBzeXNmcywgdG9vLgotCi1jb25maWcgU05EX0FDOTdfUE9XRVJfU0FWRV9ERUZBVUxUCi0JaW50ICJEZWZhdWx0IHRpbWUtb3V0IGZvciBBQzk3IHBvd2VyLXNhdmUgbW9kZSIKLQlkZXBlbmRzIG9uIFNORF9BQzk3X1BPV0VSX1NBVkUKLQlkZWZhdWx0IDAKLQloZWxwCi0JICBUaGUgZGVmYXVsdCB0aW1lLW91dCB2YWx1ZSBpbiBzZWNvbmRzIGZvciBBQzk3IGF1dG9tYXRpYwotCSAgcG93ZXItc2F2ZSBtb2RlLiAgMCBtZWFucyB0byBkaXNhYmxlIHRoZSBwb3dlci1zYXZlIG1vZGUuCi0KLWVuZG1lbnUKK2VuZGlmCSMgU05EX1BDSQpkaWZmIC0tZ2l0IGEvc291bmQvcGNpL01ha2VmaWxlIGIvc291bmQvcGNpL01ha2VmaWxlCmluZGV4IDg1ZWYxNGIuLjY1YjI1ZDIgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9NYWtlZmlsZQorKysgYi9zb3VuZC9wY2kvTWFrZWZpbGUKQEAgLTEzLDcgKzEzLDcgQEAKIHNuZC1jbWlwY2ktb2JqcyA6PSBjbWlwY2kubwogc25kLWNzNDI4MS1vYmpzIDo9IGNzNDI4MS5vCiBzbmQtY3M1NTMwLW9ianMgOj0gY3M1NTMwLm8KLXNuZC1lbnMxMzcwLW9ianMgOj0gZW5zMTM3MC5vCitzbmQtZW5zMTM3MC1vYmpzIDo9IGVuczEzNzAubyBhazQ1MzFfY29kZWMubwogc25kLWVuczEzNzEtb2JqcyA6PSBlbnMxMzcxLm8KIHNuZC1lczE5Mzgtb2JqcyA6PSBlczE5Mzgubwogc25kLWVzMTk2OC1vYmpzIDo9IGVzMTk2OC5vCmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvYWM5Ny9NYWtlZmlsZSBiL3NvdW5kL3BjaS9hYzk3L01ha2VmaWxlCmluZGV4IDBiZTQ4YjEuLjQxZmEzMjIgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9hYzk3L01ha2VmaWxlCisrKyBiL3NvdW5kL3BjaS9hYzk3L01ha2VmaWxlCkBAIC0zLDE2ICszLDggQEAKICMgQ29weXJpZ2h0IChjKSAyMDAxIGJ5IEphcm9zbGF2IEt5c2VsYSA8cGVyZXhAcGVyZXguY3o+CiAjCiAKLXNuZC1hYzk3LWNvZGVjLW9ianMgOj0gYWM5N19jb2RlYy5vIGFjOTdfcGNtLm8KLQotaWZuZXEgKCQoQ09ORklHX1BST0NfRlMpLCkKLXNuZC1hYzk3LWNvZGVjLW9ianMgKz0gYWM5N19wcm9jLm8KLWVuZGlmCi0KLXNuZC1hazQ1MzEtY29kZWMtb2JqcyA6PSBhazQ1MzFfY29kZWMubworc25kLWFjOTctY29kZWMteSA6PSBhYzk3X2NvZGVjLm8gYWM5N19wY20ubworc25kLWFjOTctY29kZWMtJChDT05GSUdfUFJPQ19GUykgKz0gYWM5N19wcm9jLm8KIAogIyBUb3BsZXZlbCBNb2R1bGUgRGVwZW5kZW5jeQogb2JqLSQoQ09ORklHX1NORF9BQzk3X0NPREVDKSArPSBzbmQtYWM5Ny1jb2RlYy5vCi1vYmotJChDT05GSUdfU05EX0VOUzEzNzApICs9IHNuZC1hazQ1MzEtY29kZWMubwotCi1vYmotbSA6PSAkKHNvcnQgJChvYmotbSkpCmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvYWM5Ny9hYzk3X2NvZGVjLmMgYi9zb3VuZC9wY2kvYWM5Ny9hYzk3X2NvZGVjLmMKaW5kZXggNDVmZDI5MC4uMDczNjRjMCAxMDA2NDQKLS0tIGEvc291bmQvcGNpL2FjOTcvYWM5N19jb2RlYy5jCisrKyBiL3NvdW5kL3BjaS9hYzk3L2FjOTdfY29kZWMuYwpAQCAtNDksOCArNDksOSBAQAogCiAjaWZkZWYgQ09ORklHX1NORF9BQzk3X1BPV0VSX1NBVkUKIHN0YXRpYyBpbnQgcG93ZXJfc2F2ZSA9IENPTkZJR19TTkRfQUM5N19QT1dFUl9TQVZFX0RFRkFVTFQ7Ci1tb2R1bGVfcGFyYW0ocG93ZXJfc2F2ZSwgYm9vbCwgMDY0NCk7Ci1NT0RVTEVfUEFSTV9ERVNDKHBvd2VyX3NhdmUsICJFbmFibGUgQUM5NyBwb3dlci1zYXZpbmcgY29udHJvbCIpOworbW9kdWxlX3BhcmFtKHBvd2VyX3NhdmUsIGludCwgMDY0NCk7CitNT0RVTEVfUEFSTV9ERVNDKHBvd2VyX3NhdmUsICJBdXRvbWF0aWMgcG93ZXItc2F2aW5nIHRpbWVvdXQgIgorCQkgIihpbiBzZWNvbmQsIDAgPSBkaXNhYmxlKS4iKTsKICNlbmRpZgogLyoKIApAQCAtMjI5NCw5ICsyMjk1LDExIEBACiAJcG93ZXIgfD0gQUM5N19QRF9QUjAgfCBBQzk3X1BEX1BSMTsJLyogQURDICYgREFDIHBvd2VyZG93biAqLwogCXNuZF9hYzk3X3dyaXRlKGFjOTcsIEFDOTdfUE9XRVJET1dOLCBwb3dlcik7CiAJdWRlbGF5KDEwMCk7Ci0JcG93ZXIgfD0gQUM5N19QRF9QUjIgfCBBQzk3X1BEX1BSMzsJLyogQW5hbG9nIE1peGVyIHBvd2VyZG93biAqLworCXBvd2VyIHw9IEFDOTdfUERfUFIyOwkvKiBBbmFsb2cgTWl4ZXIgcG93ZXJkb3duIChWcmVmIG9uKSAqLwogCXNuZF9hYzk3X3dyaXRlKGFjOTcsIEFDOTdfUE9XRVJET1dOLCBwb3dlcik7CiAJaWYgKGFjOTdfaXNfcG93ZXJfc2F2ZV9tb2RlKGFjOTcpKSB7CisJCXBvd2VyIHw9IEFDOTdfUERfUFIzOwkvKiBBbmFsb2cgTWl4ZXIgcG93ZXJkb3duICovCisJCXNuZF9hYzk3X3dyaXRlKGFjOTcsIEFDOTdfUE9XRVJET1dOLCBwb3dlcik7CiAJCXVkZWxheSgxMDApOwogCQkvKiBBQy1saW5rIHBvd2VyZG93biwgaW50ZXJuYWwgQ2xrIGRpc2FibGUgKi8KIAkJLyogRklYTUU6IHRoaXMgbWF5IGNhdXNlIGNsaWNrIG5vaXNlcyBvbiBzb21lIGJvYXJkcyAqLwpAQCAtMjM2Miw3ICsyMzY1LDcgQEAKIAkJICogIHRoYXQgb3Blbi9jbG9zZSBmcmVxdWVudGx5KQogCQkgKi8KIAkJc2NoZWR1bGVfZGVsYXllZF93b3JrKCZhYzk3LT5wb3dlcl93b3JrLAotCQkJCSAgICAgIG1zZWNzX3RvX2ppZmZpZXMoMjAwMCkpOworCQkJCSAgICAgIG1zZWNzX3RvX2ppZmZpZXMocG93ZXJfc2F2ZSAqIDEwMDApKTsKIAllbHNlIHsKIAkJY2FuY2VsX2RlbGF5ZWRfd29yaygmYWM5Ny0+cG93ZXJfd29yayk7CiAJCXVwZGF0ZV9wb3dlcl9yZWdzKGFjOTcpOwpkaWZmIC0tZ2l0IGEvc291bmQvcGNpL2FjOTcvYWM5N19wYXRjaC5jIGIvc291bmQvcGNpL2FjOTcvYWM5N19wYXRjaC5jCmluZGV4IDEyOTJkY2UuLjA3NDZlOWMgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9hYzk3L2FjOTdfcGF0Y2guYworKysgYi9zb3VuZC9wY2kvYWM5Ny9hYzk3X3BhdGNoLmMKQEAgLTY2OSw2ICs2NjksNyBAQAogQUM5N19TSU5HTEUoIk1pYyAyIFZvbHVtZSIsIEFDOTdfTUlDLCAwLCAzMSwgMSksCiBBQzk3X1NJTkdMRSgiTWljIDIwZEIgQm9vc3QgU3dpdGNoIiwgQUM5N19NSUMsIDcsIDEsIDApLAogCitBQzk3X1NJTkdMRSgiTWFzdGVyIExlZnQgSW52IFN3aXRjaCIsIEFDOTdfTUFTVEVSLCA2LCAxLCAwKSwKIEFDOTdfU0lOR0xFKCJNYXN0ZXIgWkMgU3dpdGNoIiwgQUM5N19NQVNURVIsIDcsIDEsIDApLAogQUM5N19TSU5HTEUoIkhlYWRwaG9uZSBaQyBTd2l0Y2giLCBBQzk3X0hFQURQSE9ORSwgNywgMSwgMCksCiBBQzk3X1NJTkdMRSgiTW9ubyBaQyBTd2l0Y2giLCBBQzk3X01BU1RFUl9NT05PLCA3LCAxLCAwKSwKQEAgLTMzNTIsOCArMzM1Myw2NiBAQAogQUM5N19TSU5HTEUoIkRvd25taXggU3Vycm91bmQgdG8gRnJvbnQiLCAweDVhLCAxMSwgMSwgMCksCiB9OwogCitzdGF0aWMgY29uc3QgY2hhciAqc2xhdmVfdm9sc192dDE2MTZbXSA9IHsKKwkiRnJvbnQgUGxheWJhY2sgVm9sdW1lIiwKKwkiU3Vycm91bmQgUGxheWJhY2sgVm9sdW1lIiwKKwkiQ2VudGVyIFBsYXliYWNrIFZvbHVtZSIsCisJIkxGRSBQbGF5YmFjayBWb2x1bWUiLAorCU5VTEwKK307CisKK3N0YXRpYyBjb25zdCBjaGFyICpzbGF2ZV9zd3NfdnQxNjE2W10gPSB7CisJIkZyb250IFBsYXliYWNrIFN3aXRjaCIsCisJIlN1cnJvdW5kIFBsYXliYWNrIFN3aXRjaCIsCisJIkNlbnRlciBQbGF5YmFjayBTd2l0Y2giLAorCSJMRkUgUGxheWJhY2sgU3dpdGNoIiwKKwlOVUxMCit9OworCisvKiBmaW5kIGEgbWl4ZXIgY29udHJvbCBlbGVtZW50IHdpdGggdGhlIGdpdmVuIG5hbWUgKi8KK3N0YXRpYyBzdHJ1Y3Qgc25kX2tjb250cm9sICpzbmRfYWM5N19maW5kX21peGVyX2N0bChzdHJ1Y3Qgc25kX2FjOTcgKmFjOTcsCisJCQkJCQkgICAgY29uc3QgY2hhciAqbmFtZSkKK3sKKwlzdHJ1Y3Qgc25kX2N0bF9lbGVtX2lkIGlkOworCW1lbXNldCgmaWQsIDAsIHNpemVvZihpZCkpOworCWlkLmlmYWNlID0gU05EUlZfQ1RMX0VMRU1fSUZBQ0VfTUlYRVI7CisJc3RyY3B5KGlkLm5hbWUsIG5hbWUpOworCXJldHVybiBzbmRfY3RsX2ZpbmRfaWQoYWM5Ny0+YnVzLT5jYXJkLCAmaWQpOworfQorCisvKiBjcmVhdGUgYSB2aXJ0dWFsIG1hc3RlciBjb250cm9sIGFuZCBhZGQgc2xhdmVzICovCitpbnQgc25kX2FjOTdfYWRkX3ZtYXN0ZXIoc3RydWN0IHNuZF9hYzk3ICphYzk3LCBjaGFyICpuYW1lLAorCQkJIGNvbnN0IHVuc2lnbmVkIGludCAqdGx2LCBjb25zdCBjaGFyICoqc2xhdmVzKQoreworCXN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjdGw7CisJY29uc3QgY2hhciAqKnM7CisJaW50IGVycjsKKworCWtjdGwgPSBzbmRfY3RsX21ha2VfdmlydHVhbF9tYXN0ZXIobmFtZSwgdGx2KTsKKwlpZiAoIWtjdGwpCisJCXJldHVybiAtRU5PTUVNOworCWVyciA9IHNuZF9jdGxfYWRkKGFjOTctPmJ1cy0+Y2FyZCwga2N0bCk7CisJaWYgKGVyciA8IDApCisJCXJldHVybiBlcnI7CisKKwlmb3IgKHMgPSBzbGF2ZXM7ICpzOyBzKyspIHsKKwkJc3RydWN0IHNuZF9rY29udHJvbCAqc2N0bDsKKworCQlzY3RsID0gc25kX2FjOTdfZmluZF9taXhlcl9jdGwoYWM5NywgKnMpOworCQlpZiAoIXNjdGwpIHsKKwkJCXNuZF9wcmludGRkKCJDYW5ub3QgZmluZCBzbGF2ZSAlcywgc2tpcHBlZFxuIiwgKnMpOworCQkJY29udGludWU7CisJCX0KKwkJZXJyID0gc25kX2N0bF9hZGRfc2xhdmUoa2N0bCwgc2N0bCk7CisJCWlmIChlcnIgPCAwKQorCQkJcmV0dXJuIGVycjsKKwl9CisJcmV0dXJuIDA7Cit9CisKIHN0YXRpYyBpbnQgcGF0Y2hfdnQxNjE2X3NwZWNpZmljKHN0cnVjdCBzbmRfYWM5NyAqIGFjOTcpCiB7CisJc3RydWN0IHNuZF9rY29udHJvbCAqa2N0bDsKIAlpbnQgZXJyOwogCiAJaWYgKHNuZF9hYzk3X3RyeV9iaXQoYWM5NywgMHg1YSwgOSkpCkBAIC0zMzYxLDYgKzM0MjAsMjQgQEAKIAkJCXJldHVybiBlcnI7CiAJaWYgKChlcnIgPSBwYXRjaF9idWlsZF9jb250cm9scyhhYzk3LCAmc25kX2FjOTdfY29udHJvbHNfdnQxNjE2WzFdLCBBUlJBWV9TSVpFKHNuZF9hYzk3X2NvbnRyb2xzX3Z0MTYxNikgLSAxKSkgPCAwKQogCQlyZXR1cm4gZXJyOworCisJLyogVGhlcmUgaXMgYWxyZWFkeSBhIG1pc25hbWVkIG1hc3RlciBzd2l0Y2guICBSZW5hbWUgaXQuICAqLworCWtjdGwgPSBzbmRfYWM5N19maW5kX21peGVyX2N0bChhYzk3LCAiTWFzdGVyIFBsYXliYWNrIFZvbHVtZSIpOworCWlmICgha2N0bCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlzbmRfYWM5N19yZW5hbWVfdm9sX2N0bChhYzk3LCAiTWFzdGVyIFBsYXliYWNrIiwgIkZyb250IFBsYXliYWNrIik7CisKKwllcnIgPSBzbmRfYWM5N19hZGRfdm1hc3RlcihhYzk3LCAiTWFzdGVyIFBsYXliYWNrIFZvbHVtZSIsCisJCQkJICAga2N0bC0+dGx2LnAsIHNsYXZlX3ZvbHNfdnQxNjE2KTsKKwlpZiAoZXJyIDwgMCkKKwkJcmV0dXJuIGVycjsKKworCWVyciA9IHNuZF9hYzk3X2FkZF92bWFzdGVyKGFjOTcsICJNYXN0ZXIgUGxheWJhY2sgU3dpdGNoIiwKKwkJCQkgICBOVUxMLCBzbGF2ZV9zd3NfdnQxNjE2KTsKKwlpZiAoZXJyIDwgMCkKKwkJcmV0dXJuIGVycjsKKwogCXJldHVybiAwOwogfQogCkBAIC0zNjMzLDcgKzM3MTAsNyBAQAogewogCWFjOTctPmJ1aWxkX29wcyA9ICZwYXRjaF91Y2IxNDAwX29wczsKIAkvKiBlbmFibGUgaGVhZHBob25lIGRyaXZlciBhbmQgc21hcnQgbG93IHBvd2VyIG1vZGUgYnkgZGVmYXVsdCAqLwotCXNuZF9hYzk3X3dyaXRlKGFjOTcsIDB4NmEsIDB4MDA1MCk7Ci0Jc25kX2FjOTdfd3JpdGUoYWM5NywgMHg2YywgMHgwMDMwKTsKKwlzbmRfYWM5N193cml0ZV9jYWNoZShhYzk3LCAweDZhLCAweDAwNTApOworCXNuZF9hYzk3X3dyaXRlX2NhY2hlKGFjOTcsIDB4NmMsIDB4MDAzMCk7CiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvYWM5Ny9hazQ1MzFfY29kZWMuYyBiL3NvdW5kL3BjaS9hazQ1MzFfY29kZWMuYwpzaW1pbGFyaXR5IGluZGV4IDk2JQpyZW5hbWUgZnJvbSBzb3VuZC9wY2kvYWM5Ny9hazQ1MzFfY29kZWMuYwpyZW5hbWUgdG8gc291bmQvcGNpL2FrNDUzMV9jb2RlYy5jCmluZGV4IGMwYzE2MzM5Li4zM2QzN2IxIDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvYWM5Ny9hazQ1MzFfY29kZWMuYworKysgYi9zb3VuZC9wY2kvYWs0NTMxX2NvZGVjLmMKQEAgLTI4LDkgKzI4LDExIEBACiAjaW5jbHVkZSA8c291bmQvYWs0NTMxX2NvZGVjLmg+CiAjaW5jbHVkZSA8c291bmQvdGx2Lmg+CiAKKy8qCiBNT0RVTEVfQVVUSE9SKCJKYXJvc2xhdiBLeXNlbGEgPHBlcmV4QHBlcmV4LmN6PiIpOwogTU9EVUxFX0RFU0NSSVBUSU9OKCJVbml2ZXJzYWwgcm91dGluZXMgZm9yIEFLNDUzMSBjb2RlYyIpOwogTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOworKi8KIAogI2lmZGVmIENPTkZJR19QUk9DX0ZTCiBzdGF0aWMgdm9pZCBzbmRfYWs0NTMxX3Byb2NfaW5pdChzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQsIHN0cnVjdCBzbmRfYWs0NTMxICphazQ1MzEpOwpAQCAtMjcwLDcgKzI3Miw3IEBACiBzdGF0aWMgY29uc3QgREVDTEFSRV9UTFZfREJfU0NBTEUoZGJfc2NhbGVfbW9ubywgLTI4MDAsIDQwMCwgMCk7CiBzdGF0aWMgY29uc3QgREVDTEFSRV9UTFZfREJfU0NBTEUoZGJfc2NhbGVfaW5wdXQsIC01MDAwLCAyMDAsIDApOwogCi1zdGF0aWMgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgc25kX2FrNDUzMV9jb250cm9sc1tdID0geworc3RhdGljIHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHNuZF9hazQ1MzFfY29udHJvbHNbXSBfX2RldmluaXRkYXRhID0gewogCiBBSzQ1MzFfRE9VQkxFX1RMVigiTWFzdGVyIFBsYXliYWNrIFN3aXRjaCIsIDAsCiAJCSAgQUs0NTMxX0xNQVNURVIsIEFLNDUzMV9STUFTVEVSLCA3LCA3LCAxLCAxLApAQCAtMzc5LDggKzM4MSw5IEBACiAJMHgwMQkJLyogMTk6IE1pYyBBbXAgU2V0dXAgKi8KIH07CiAKLWludCBzbmRfYWs0NTMxX21peGVyKHN0cnVjdCBzbmRfY2FyZCAqY2FyZCwgc3RydWN0IHNuZF9hazQ1MzEgKl9hazQ1MzEsCi0JCSAgICAgc3RydWN0IHNuZF9hazQ1MzEgKipyYWs0NTMxKQoraW50IF9fZGV2aW5pdCBzbmRfYWs0NTMxX21peGVyKHN0cnVjdCBzbmRfY2FyZCAqY2FyZCwKKwkJCSAgICAgICBzdHJ1Y3Qgc25kX2FrNDUzMSAqX2FrNDUzMSwKKwkJCSAgICAgICBzdHJ1Y3Qgc25kX2FrNDUzMSAqKnJhazQ1MzEpCiB7CiAJdW5zaWduZWQgaW50IGlkeDsKIAlpbnQgZXJyOwpAQCAtNDc2LDcgKzQ3OSw4IEBACiAJCSAgICBhazQ1MzEtPnJlZ3NbQUs0NTMxX01JQ19HQUlOXSAmIDEgPyAiKzMwZEIiIDogIiswZEIiKTsKIH0KIAotc3RhdGljIHZvaWQgc25kX2FrNDUzMV9wcm9jX2luaXQoc3RydWN0IHNuZF9jYXJkICpjYXJkLCBzdHJ1Y3Qgc25kX2FrNDUzMSAqYWs0NTMxKQorc3RhdGljIHZvaWQgX19kZXZpbml0CitzbmRfYWs0NTMxX3Byb2NfaW5pdChzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQsIHN0cnVjdCBzbmRfYWs0NTMxICphazQ1MzEpCiB7CiAJc3RydWN0IHNuZF9pbmZvX2VudHJ5ICplbnRyeTsKIApAQCAtNDg0LDI1ICs0ODgsMyBAQAogCQlzbmRfaW5mb19zZXRfdGV4dF9vcHMoZW50cnksIGFrNDUzMSwgc25kX2FrNDUzMV9wcm9jX3JlYWQpOwogfQogI2VuZGlmCi0KLUVYUE9SVF9TWU1CT0woc25kX2FrNDUzMV9taXhlcik7Ci0jaWZkZWYgQ09ORklHX1BNCi1FWFBPUlRfU1lNQk9MKHNuZF9hazQ1MzFfc3VzcGVuZCk7Ci1FWFBPUlRfU1lNQk9MKHNuZF9hazQ1MzFfcmVzdW1lKTsKLSNlbmRpZgotCi0vKgotICogIElOSVQgcGFydAotICovCi0KLXN0YXRpYyBpbnQgX19pbml0IGFsc2FfYWs0NTMxX2luaXQodm9pZCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQgX19leGl0IGFsc2FfYWs0NTMxX2V4aXQodm9pZCkKLXsKLX0KLQotbW9kdWxlX2luaXQoYWxzYV9hazQ1MzFfaW5pdCkKLW1vZHVsZV9leGl0KGFsc2FfYWs0NTMxX2V4aXQpCmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvYXU4OHgwL2F1ODh4MF9nYW1lLmMgYi9zb3VuZC9wY2kvYXU4OHgwL2F1ODh4MF9nYW1lLmMKaW5kZXggYmMyMTJmNC4uZTI5MWFhNSAxMDA2NDQKLS0tIGEvc291bmQvcGNpL2F1ODh4MC9hdTg4eDBfZ2FtZS5jCisrKyBiL3NvdW5kL3BjaS9hdTg4eDAvYXU4OHgwX2dhbWUuYwpAQCAtMSw2ICsxLDQgQEAKIC8qCi0gKiAkSWQ6IGF1ODh4MF9nYW1lLmMsdiAxLjkgMjAwMy8wOS8yMiAwMzo1MToyOCBtamFuZGVyIEV4cCAkCi0gKgogICogIE1hbnVlbCBKYW5kZXIuCiAgKgogICogIEJhc2VkIG9uIHRoZSB3b3JrIG9mOgpkaWZmIC0tZ2l0IGEvc291bmQvcGNpL2F6dDMzMjguYyBiL3NvdW5kL3BjaS9henQzMzI4LmMKaW5kZXggNWY2M2FmNi4uMjJmMThmMyAxMDA2NDQKLS0tIGEvc291bmQvcGNpL2F6dDMzMjguYworKysgYi9zb3VuZC9wY2kvYXp0MzMyOC5jCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqICBhenQzMzI4LmMgLSBkcml2ZXIgZm9yIEF6dGVjaCBBWkYzMzI4IGJhc2VkIHNvdW5kY2FyZHMgKGUuZy4gUENJMTY4KS4KLSAqICBDb3B5cmlnaHQgKEMpIDIwMDIsIDIwMDUsIDIwMDYsIDIwMDcgYnkgQW5kcmVhcyBNb2hyIDxhbmRpIEFUIGxpc2FzLmRlPgorICogIENvcHlyaWdodCAoQykgMjAwMiwgMjAwNSAtIDIwMDggYnkgQW5kcmVhcyBNb2hyIDxhbmRpIEFUIGxpc2FzLmRlPgogICoKICAqICBGcmFtZXdvcmsgYm9ycm93ZWQgZnJvbSBCYXJ0IEhhcnRnZXJzJ3MgYWxzNDAwMC5jLgogICogIERyaXZlciBkZXZlbG9wZWQgb24gUENJMTY4IEFQKFcpIHZlcnNpb24gKFBDSSByZXYuIDEwLCBzdWJzeXN0ZW0gSUQgMTgwMSksCkBAIC0zNSw5ICszNSwyMCBAQAogICogICgzIHdlZWtzJyB3b3J0aCBvZiBldmVuaW5ncyBmaWxsZWQgd2l0aCBkcml2ZXIgd29yaykuCiAgKiAgKGFuZCBubywgSSBkaWQgTk9UIGdvIHRoZSBlYXN5IHdheTogdG8gcGljayB1cCBhIFNCIFBDSTEyOCBmb3IgOSBFdXJvcykKICAqCi0gKiAgVGhlIEFaRjMzMjggY2hpcCAobm90ZTogQVpGMzMyOCwgKm5vdCogQVpUMzMyOCwgdGhhdCdzIGp1c3QgdGhlIGRyaXZlciBuYW1lCi0gKiAgZm9yIGNvbXBhdGliaWxpdHkgcmVhc29ucykgaGFzIHRoZSBmb2xsb3dpbmcgZmVhdHVyZXM6CisgKiAgSXQgaXMgcXVpdGUgbGlrZWx5IHRoYXQgdGhlIEFaRjMzMjggY2hpcCBpcyB0aGUgUENJIGNvdXNpbiBvZiB0aGUKKyAqICBBWkYzMzE4ICgiYXp0MTAyMCBwbnAiLCAiTU0gUHJvIDE2IikgSVNBIGNoaXAsIGdpdmVuIHZlcnkgc2ltaWxhciBzcGVjcy4KICAqCisgKiAgVGhlIEFaRjMzMjggY2hpcCAobm90ZTogQVpGMzMyOCwgKm5vdCogQVpUMzMyOCwgdGhhdCdzIGp1c3QgdGhlIGRyaXZlciBuYW1lCisgKiAgZm9yIGNvbXBhdGliaWxpdHkgcmVhc29ucykgZnJvbSBBemZpbiAoam9pbnQtdmVudHVyZSBvZiBBenRlY2ggYW5kIEZpbmNpdGVjLAorICogIEZpbmNpdGVjIGFjcXVpcmVkIGJ5IE5hdGlvbmFsIFNlbWljb25kdWN0b3IgaW4gMjAwMiwgdG9nZXRoZXIgd2l0aCB0aGUKKyAqICBGaW5jaXRlYy1yZWxhdGVkIGNvbXBhbnkgQVJTbWlrcm8pIGhhcyB0aGUgZm9sbG93aW5nIGZlYXR1cmVzOgorICoKKyAqICAtIGNvbXBhdGliaWxpdHkgJiBjb21wbGlhbmNlOgorICogICAgLSBNaWNyb3NvZnQgUEMgOTcgKCJQQyA5NyBIYXJkd2FyZSBEZXNpZ24gR3VpZGUiLAorICogICAgICAgICAgICAgICAgICAgICAgIGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS93aGRjL2FyY2hpdmUvcGNndWlkZXMubXNweCkKKyAqICAgIC0gTWljcm9zb2Z0IFBDIDk4IEJhc2VsaW5lIEF1ZGlvCisgKiAgICAtIE1QVTQwMSBVQVJUCisgKiAgICAtIFNvdW5kIEJsYXN0ZXIgRW11bGF0aW9uIChET1MgQm94KQogICogIC0gYnVpbHRpbiBBQzk3IGNvbmZvcm1hbnQgY29kZWMgKFNOUiBvdmVyIDgwZEIpCiAgKiAgICBOb3RlIHRoYXQgImNvbmZvcm1hbnQiICE9ICJjb21wbGlhbnQiISEgdGhpcyBjaGlwJ3MgbWl4ZXIgcmVnaXN0ZXIgbGF5b3V0CiAgKiAgICAqZGlmZmVycyogZnJvbSB0aGUgc3RhbmRhcmQgQUM5NyBsYXlvdXQ6CkBAIC00OCwyMSArNTksMjggQEAKICAqICAgIGFkZHJlc3NlcyBpbGxlZ2FsbHkuIFNvIGZhciB1bmZvcnR1bmF0ZWx5IGl0IGxvb2tzIGxpa2UgdGhlIHZlcnkgZmxleGlibGUKICAqICAgIEFMU0EgQUM5NyBzdXBwb3J0IGlzIHN0aWxsIG5vdCBlbm91Z2ggdG8gZWFzaWx5IGNvbXBlbnNhdGUgZm9yIHN1Y2ggYQogICogICAgZ3JhdmUgbGF5b3V0IHZpb2xhdGlvbiBkZXNwaXRlIGFsbCB0d2Vha3MgYW5kIHF1aXJrcyBtZWNoYW5pc21zIGl0IG9mZmVycy4KLSAqICAtIGJ1aWx0aW4gZ2VudWluZSBPUEwzCisgKiAgLSBidWlsdGluIGdlbnVpbmUgT1BMMyAtIHZlcmlmaWVkIHRvIHdvcmsgZmluZSwgMjAwODA1MDYKICAqICAtIGZ1bGwgZHVwbGV4IDE2Yml0IHBsYXliYWNrL3JlY29yZCBhdCBpbmRlcGVuZGVudCBzYW1wbGluZyByYXRlCi0gKiAgLSBNUFU0MDEgKCsgbGVnYWN5IGFkZHJlc3Mgc3VwcG9ydCkgRklYTUU6IGhvdyB0byBlbmFibGUgbGVnYWN5IGFkZHI/PworICogIC0gTVBVNDAxICgrIGxlZ2FjeSBhZGRyZXNzIHN1cHBvcnQsIGNsYWltZWQgYnkgb25lIG9mZmljaWFsIHNwZWMgc2hlZXQpCisgKiAgICBGSVhNRTogaG93IHRvIGVuYWJsZSBsZWdhY3kgYWRkcj8/CiAgKiAgLSBnYW1lIHBvcnQgKGxlZ2FjeSBhZGRyZXNzIHN1cHBvcnQpCi0gKiAgLSBidWlsdGluIDNEIGVuaGFuY2VtZW50IChzYWlkIHRvIGJlIFlBTUFIQSBZbWVyc2lvbikKICAqICAtIGJ1aWx0aW4gRGlyZWN0SW5wdXQgc3VwcG9ydCwgaGVscHMgcmVkdWNlIENQVSBvdmVyaGVhZCAoaW50ZXJydXB0LWRyaXZlbgotICogICAgZmVhdHVyZXMgc3VwcG9ydGVkKQorICogICAgZmVhdHVyZXMgc3VwcG9ydGVkKS4gLSBTZWUgY29tbW9uIHRlcm0gIkRpZ2l0YWwgRW5oYW5jZWQgR2FtZSBQb3J0Ii4uLgorICogICAgKHByb2JhYmx5IERpcmVjdElucHV0IDMuMCBzcGVjIC0gY29uZmlybSkKKyAqICAtIGJ1aWx0aW4gM0QgZW5oYW5jZW1lbnQgKHNhaWQgdG8gYmUgWUFNQUhBIFltZXJzaW9uKQogICogIC0gYnVpbHQtaW4gR2VuZXJhbCBEaXJlY3RYIHRpbWVyIGhhdmluZyBhIDIwIGJpdHMgY291bnRlcgogICogICAgd2l0aCAxdXMgcmVzb2x1dGlvbiAoc2VlIGJlbG93ISkKLSAqICAtIEkyUyBzZXJpYWwgcG9ydCBmb3IgZXh0ZXJuYWwgREFDCisgKiAgLSBJMlMgc2VyaWFsIG91dHB1dCBwb3J0IGZvciBleHRlcm5hbCBEQUMKICAqICAtIHN1cHBvcnRzIDMzTUh6IFBDSSBzcGVjIDIuMSwgUENJIHBvd2VyIG1hbmFnZW1lbnQgMS4wLCBjb21wbGlhbnQgd2l0aCBBQ1BJCiAgKiAgLSBzdXBwb3J0cyBoYXJkd2FyZSB2b2x1bWUgY29udHJvbAogICogIC0gc2luZ2xlIGNoaXAgbG93IGNvc3Qgc29sdXRpb24gKDEyOCBwaW4gUUZQKQogICogIC0gc3VwcG9ydHMgcHJvZ3JhbW1hYmxlIFN1Yi12ZW5kb3IgYW5kIFN1Yi1zeXN0ZW0gSUQKICAqICAgIHJlcXVpcmVkIGZvciBNaWNyb3NvZnQncyBsb2dvIGNvbXBsaWFuY2UgKEZJWE1FOiB3aGVyZT8pCisgKiAgICBBdCBsZWFzdCB0aGUgVHJpZGVudCA0RCBXYXZlIERYIGhhcyBvbmUgYml0IHNvbWV3aGVyZQorICogICAgdG8gZW5hYmxlIHdyaXRlcyB0byBQQ0kgc3Vic3lzdGVtIFZJRCByZWdpc3RlcnMsIHRoYXQgc2hvdWxkIGJlIGl0LgorICogICAgVGhpcyBtaWdodCBlYXNpbHkgYmUgaW4gZXh0ZW5kZWQgUENJIHJlZyBzcGFjZSwgc2luY2UgUENJMTY4IGFsc28gaGFzCisgKiAgICBzb21lIGN1c3RvbSBkYXRhIHN0YXJ0aW5nIGF0IDB4ODAuIFdoYXQga2luZCBvZiBjb25maWcgc2V0dGluZ3MKKyAqICAgIGFyZSBsb2NhdGVkIGluIG91ciBleHRlbmRlZCBQQ0kgc3BhY2UgYW55d2F5Pz8KICAqICAtIFBDSTE2OCBBUChXKSBjYXJkOiBwb3dlciBhbXBsaWZpZXIgd2l0aCA0IFdhdHRzL2NoYW5uZWwgYXQgNCBPaG1zCiAgKgogICogIE5vdGUgdGhhdCB0aGlzIGRyaXZlciBub3cgaXMgYWN0dWFsbHkgKmJldHRlciogdGhhbiB0aGUgV2luZG93cyBkcml2ZXIsCkBAIC03NCw2ICs5MiwyNCBAQAogICogIC0gInRpbWlkaXR5IC1pQXYgLUIyLDggLU9zIC1FRnJldmVyYj0wIgogICogIC0gInBtaWRpIC1wIDEyODowIGphenoubWlkIgogICoKKyAqICBPUEwzIGhhcmR3YXJlIHBsYXliYWNrIHRlc3RpbmcsIHRyeSBzb21ldGhpbmcgbGlrZToKKyAqICBjYXQgL3Byb2MvYXNvdW5kL2h3ZGVwCisgKiAgYW5kCisgKiAgYWNvbm5lY3QgLW8KKyAqICBUaGVuIHVzZQorICogIHNiaWxvYWQgLURodzp4LHkgLS1vcGwzIC91c3Ivc2hhcmUvc291bmRzL29wbDMvc3RkLm8zIC4uLi4uLi4vZHJ1bXMubzMKKyAqICB3aGVyZSB4LHkgaXMgdGhlIHh4LXl5IG51bWJlciBhcyBnaXZlbiBpbiBod2RlcC4KKyAqICBUaGVuIHRyeQorICogIHBtaWRpIC1wIGE6YiBqYXp6Lm1pZAorICogIHdoZXJlIGE6YiBpcyB0aGUgY2xpZW50IG51bWJlciBwbHVzIDAgdXN1YWxseSwgYXMgZ2l2ZW4gYnkgYWNvbm5lY3QgYWJvdmUuCisgKiAgT2gsIGFuZCBtYWtlIHN1cmUgdG8gdW5tdXRlIHRoZSBGTSBtaXhlciBjb250cm9sIChkb2ghKQorICogIE5PVEU6IHBvd2VyIHVzZSBkdXJpbmcgT1BMMyBwbGF5YmFjayBpcyBfVkVSWV8gaGlnaCAoNzBXIC0tPiA5MFchKQorICogIGRlc3BpdGUgbm8gQ1BVIGFjdGl2aXR5LCBwb3NzaWJseSBkdWUgdG8gaGluZGVyaW5nIEFDUEkgaWRsaW5nIHNvbWVob3cuCisgKiAgU2hvdWxkbid0IGJlIGEgcHJvYmxlbSBvZiB0aGUgQVpGMzMyOCBjaGlwIGl0c2VsZiwgSSdkIGhvcGUuCisgKiAgSGlnaGVyIFBDTSAvIEZNIG1peGVyIGxldmVscyBzZWVtIHRvIGNvbmZsaWN0IChjYXVzZXMgY3JhY2tsaW5nKSwKKyAqICBhdCBsZWFzdCBzb21ldGltZXMuICAgTWF5YmUgZXZlbiB1c2Ugd2l0aCBoYXJkd2FyZSBzZXF1ZW5jZXIgdGltZXIgYWJvdmUgOikKKyAqICBhZHBsYXkvYWRwbHVnLXV0aWxzIG1pZ2h0IHNvb24gb2ZmZXIgaGFyZHdhcmUtYmFzZWQgT1BMMyBwbGF5YmFjaywgdG9vLgorICoKICAqICBDZXJ0YWluIFBDSSB2ZXJzaW9ucyBvZiB0aGlzIGNhcmQgYXJlIHN1c2NlcHRpYmxlIHRvIERNQSB0cmFmZmljIHVuZGVycnVucwogICogIGluIHNvbWUgc3lzdGVtcyAocmVzdWx0aW5nIGluIHNvdW5kIGNyYWNrbGluZy9jbGlja2luZy9wb3BwaW5nKSwKICAqICBwcm9iYWJseSBiZWNhdXNlIHRoZXkgZG9uJ3QgaGF2ZSBhIERNQSBGSUZPIGJ1ZmZlciBvciBzby4KQEAgLTg3LDYgKzEyMyw4IEBACiAgKiAgYmV0dGVyIHRoYW4gYSBWSUEsIHlldCBpcm9uaWNhbGx5IEkgc3RpbGwgZ2V0IGNyYWNrbGluZywgbGlrZSBtYW55IG90aGVyCiAgKiAgcGVvcGxlIHdpdGggdGhlIHNhbWUgY2hpcHNldC4KICAqICBQb3NzaWJsZSByZW1lZGllczoKKyAqICAtIHVzZSBzcGVha2VyIChhbXBsaWZpZXIpIG91dHB1dCBpbnN0ZWFkIG9mIGhlYWRwaG9uZSBvdXRwdXQKKyAqICAgIChpbiBjYXNlIGNyYWNrbGluZyBpcyBkdWUgdG8gb3ZlcmxvYWRlZCBvdXRwdXQgY2xpcHBpbmcpCiAgKiAgLSBwbHVnIGNhcmQgaW50byBhIGRpZmZlcmVudCBQQ0kgc2xvdCwgcHJlZmVycmFibHkgb25lIHRoYXQgaXNuJ3Qgc2hhcmVkCiAgKiAgICB0b28gbXVjaCAodGhpcyBoZWxwcyBhIGxvdCwgYnV0IG5vdCBjb21wbGV0ZWx5ISkKICAqICAtIGdldCByaWQgb2YgUENJIFZHQSBjYXJkLCB1c2UgQUdQIGluc3RlYWQKQEAgLTk0LDE4ICsxMzIsMjMgQEAKICAqICAtIGZpZGRsZSB3aXRoIFBDSSBsYXRlbmN5IHNldHRpbmdzIChzZXRwY2kgLXYgLXMgQlVTSUQgbGF0ZW5jeV90aW1lcj1YWCkKICAqICAgIE5vdCB0b28gaGVscGZ1bC4KICAqICAtIERpc2FibGUgQUNQSS9wb3dlciBtYW5hZ2VtZW50LyJBdXRvIERldGVjdCBSQU0vUENJIENsayIgaW4gQklPUwotICogCisgKgogICogQlVHUwotICogIC0gZnVsbC1kdXBsZXggbWlnaHQgKnN0aWxsKiBiZSBwcm9ibGVtYXRpYywgbm90IGZ1bGx5IHRlc3RlZCByZWNlbnRseQorICogIC0gZnVsbC1kdXBsZXggbWlnaHQgKnN0aWxsKiBiZSBwcm9ibGVtYXRpYywgaG93ZXZlciBhIHJlY2VudCB0ZXN0IHdhcyBmaW5lCiAgKiAgLSAobm9uLWJ1ZykgIkJhc3MvVHJlYmxlIG9yIDNEIHNldHRpbmdzIGRvbid0IHdvcmsiIC0gdGhleSBkbyBnZXQgZXZhbHVhdGVkCiAgKiAgICBpZiB5b3Ugc2V0IFBDTSBvdXRwdXQgc3dpdGNoIHRvICJwcmUgM0QiIGluc3RlYWQgb2YgInBvc3QgM0QiLgogICogICAgSWYgdGhpcyBjYW4ndCBiZSBzZXQsIHRoZW4gZ2V0IGEgbWl4ZXIgYXBwbGljYXRpb24gdGhhdCBJc24ndCBTdHVwaWQgKHRtKQogICogICAgKGUuZy4ga21peCwgZ2FtaXgpIC0gdW5mb3J0dW5hdGVseSBzZXZlcmFsIGFyZSEhCi0gKiAKKyAqICAtIGxvY2tpbmcgaXMgbm90IGVudGlyZWx5IGNsZWFuLCBlc3BlY2lhbGx5IHRoZSBhdWRpbyBzdHJlYW0gYWN0aXZpdHkKKyAqICAgIGludHMgLS0+IG1heSBiZSByYWN5CisgKiAgLSBhbiBfdW5jb25uZWN0ZWRfIHNlY29uZGFyeSBqb3lzdGljayBhdCB0aGUgZ2FtZXBvcnQgd2lsbCBiZSByZXBvcnRlZAorICogICAgdG8gYmUgImFjdGl2ZSIgKGZsb2F0aW5nIHZhbHVlcywgbm90IHByZWNpc2VseSAtMSkgZHVlIHRvIHRoZSB3YXkgd2UgbmVlZAorICogICAgdG8gcmVhZCB0aGUgRGlnaXRhbCBFbmhhbmNlZCBHYW1lIFBvcnQuIE5vdCBzdXJlIHdoZXRoZXIgaXQgaXMgZml4YWJsZS4KKyAqCiAgKiBUT0RPCiAgKiAgLSB0ZXN0IE1QVTQwMSBNSURJIHBsYXliYWNrIGV0Yy4KLSAqICAtIGFkZCBzb21lIHBvd2VyIG1pY3JvLW1hbmFnZW1lbnQgKGRpc2FibGUgdmFyaW91cyB1bml0cyBvZiB0aGUgY2FyZAotICogICAgYXMgbG9uZyBhcyB0aGV5J3JlIHVudXNlZCkuIEhvd2V2ZXIgdGhpcyByZXF1aXJlcyBJL08gcG9ydHMgd2hpY2ggSQorICogIC0gYWRkIG1vcmUgcG93ZXIgbWljcm8tbWFuYWdlbWVudCAoZGlzYWJsZSB2YXJpb3VzIHVuaXRzIG9mIHRoZSBjYXJkCisgKiAgICBhcyBsb25nIGFzIHRoZXkncmUgdW51c2VkKS4gSG93ZXZlciB0aGlzIHJlcXVpcmVzIG1vcmUgSS9PIHBvcnRzIHdoaWNoIEkKICAqICAgIGhhdmVuJ3QgZmlndXJlZCBvdXQgeWV0IGFuZCB3aGljaCB0aHVzIG1pZ2h0IG5vdCBldmVuIGV4aXN0Li4uCiAgKiAgICBUaGUgc3RhbmRhcmQgc3VzcGVuZC9yZXN1bWUgZnVuY3Rpb25hbGl0eSBjb3VsZCBwcm9iYWJseSBtYWtlIHVzZSBvZgogICogICAgc29tZSBpbXByb3ZlbWVudCwgdG9vLi4uCkBAIC0xMTMsNiArMTU2LDcgQEAKICAqICAtIGZpZ3VyZSBvdXQgc29tZSBjbGV2ZXJseSBldmlsIHNjaGVtZSB0byBwb3NzaWJseSBtYWtlIEFMU0EgQUM5NyBjb2RlCiAgKiAgICBmdWxseSBhY2NlcHQgb3VyIHF1aXRlIGluY29tcGF0aWJsZSAiIkFDOTciIiBtaXhlciBhbmQgdGh1cyBzYXZlIHNvbWUKICAqICAgIGNvZGUgKGJ1dCBJJ20gbm90IHRvbyBvcHRpbWlzdGljIHRoYXQgZG9pbmcgdGhpcyBpcyBwb3NzaWJsZSBhdCBhbGwpCisgKiAgLSB1c2UgTU1JTyAobWVtb3J5LW1hcHBlZCBJL08pPyBTbGlnaHRseSBmYXN0ZXIgYWNjZXNzLCBlLmcuIGZvciBnYW1lcG9ydC4KICAqLwogCiAjaW5jbHVkZSA8YXNtL2lvLmg+CkBAIC0xMzgsNyArMTgyLDcgQEAKIE1PRFVMRV9TVVBQT1JURURfREVWSUNFKCJ7e0F6dGVjaCxBWkYzMzI4fX0iKTsKIAogI2lmIGRlZmluZWQoQ09ORklHX0dBTUVQT1JUKSB8fCAoZGVmaW5lZChNT0RVTEUpICYmIGRlZmluZWQoQ09ORklHX0dBTUVQT1JUX01PRFVMRSkpCi0jZGVmaW5lIFNVUFBPUlRfSk9ZU1RJQ0sgMQorI2RlZmluZSBTVVBQT1JUX0dBTUVQT1JUIDEKICNlbmRpZgogCiAjZGVmaW5lIERFQlVHX01JU0MJMApAQCAtMTQ3LDEzICsxOTEsMTQgQEAKICNkZWZpbmUgREVCVUdfUExBWV9SRUMJMAogI2RlZmluZSBERUJVR19JTwkwCiAjZGVmaW5lIERFQlVHX1RJTUVSCTAKKyNkZWZpbmUgREVCVUdfR0FNRQkwCiAjZGVmaW5lIE1JWEVSX1RFU1RJTkcJMAogCiAjaWYgREVCVUdfTUlTQwogI2RlZmluZSBzbmRfYXpmMzMyOF9kYmdtaXNjKGZvcm1hdCwgYXJncy4uLikgcHJpbnRrKEtFUk5fRVJSIGZvcm1hdCwgIyNhcmdzKQogI2Vsc2UKICNkZWZpbmUgc25kX2F6ZjMzMjhfZGJnbWlzYyhmb3JtYXQsIGFyZ3MuLi4pCi0jZW5kaWYJCQorI2VuZGlmCiAKICNpZiBERUJVR19DQUxMUwogI2RlZmluZSBzbmRfYXpmMzMyOF9kYmdjYWxscyhmb3JtYXQsIGFyZ3MuLi4pIHByaW50ayhmb3JtYXQsICMjYXJncykKQEAgLTE2MywyNSArMjA4LDMxIEBACiAjZGVmaW5lIHNuZF9hemYzMzI4X2RiZ2NhbGxzKGZvcm1hdCwgYXJncy4uLikKICNkZWZpbmUgc25kX2F6ZjMzMjhfZGJnY2FsbGVudGVyKCkKICNkZWZpbmUgc25kX2F6ZjMzMjhfZGJnY2FsbGxlYXZlKCkKLSNlbmRpZgkJCisjZW5kaWYKIAogI2lmIERFQlVHX01JWEVSCiAjZGVmaW5lIHNuZF9hemYzMzI4X2RiZ21peGVyKGZvcm1hdCwgYXJncy4uLikgcHJpbnRrKGZvcm1hdCwgIyNhcmdzKQogI2Vsc2UKICNkZWZpbmUgc25kX2F6ZjMzMjhfZGJnbWl4ZXIoZm9ybWF0LCBhcmdzLi4uKQotI2VuZGlmCQkKKyNlbmRpZgogCiAjaWYgREVCVUdfUExBWV9SRUMKICNkZWZpbmUgc25kX2F6ZjMzMjhfZGJncGxheShmb3JtYXQsIGFyZ3MuLi4pIHByaW50ayhLRVJOX0VSUiBmb3JtYXQsICMjYXJncykKICNlbHNlCiAjZGVmaW5lIHNuZF9hemYzMzI4X2RiZ3BsYXkoZm9ybWF0LCBhcmdzLi4uKQotI2VuZGlmCQkKKyNlbmRpZgogCiAjaWYgREVCVUdfTUlTQwogI2RlZmluZSBzbmRfYXpmMzMyOF9kYmd0aW1lcihmb3JtYXQsIGFyZ3MuLi4pIHByaW50ayhLRVJOX0VSUiBmb3JtYXQsICMjYXJncykKICNlbHNlCiAjZGVmaW5lIHNuZF9hemYzMzI4X2RiZ3RpbWVyKGZvcm1hdCwgYXJncy4uLikKLSNlbmRpZgkJCisjZW5kaWYKKworI2lmIERFQlVHX0dBTUUKKyNkZWZpbmUgc25kX2F6ZjMzMjhfZGJnZ2FtZShmb3JtYXQsIGFyZ3MuLi4pIHByaW50ayhLRVJOX0VSUiBmb3JtYXQsICMjYXJncykKKyNlbHNlCisjZGVmaW5lIHNuZF9hemYzMzI4X2RiZ2dhbWUoZm9ybWF0LCBhcmdzLi4uKQorI2VuZGlmCiAKIHN0YXRpYyBpbnQgaW5kZXhbU05EUlZfQ0FSRFNdID0gU05EUlZfREVGQVVMVF9JRFg7CS8qIEluZGV4IDAtTUFYICovCiBtb2R1bGVfcGFyYW1fYXJyYXkoaW5kZXgsIGludCwgTlVMTCwgMDQ0NCk7CkBAIC0xOTUsNTEgKzI0Niw2MiBAQAogbW9kdWxlX3BhcmFtX2FycmF5KGVuYWJsZSwgYm9vbCwgTlVMTCwgMDQ0NCk7CiBNT0RVTEVfUEFSTV9ERVNDKGVuYWJsZSwgIkVuYWJsZSBBWkYzMzI4IHNvdW5kY2FyZC4iKTsKIAotI2lmZGVmIFNVUFBPUlRfSk9ZU1RJQ0sKLXN0YXRpYyBpbnQgam95c3RpY2tbU05EUlZfQ0FSRFNdOwotbW9kdWxlX3BhcmFtX2FycmF5KGpveXN0aWNrLCBib29sLCBOVUxMLCAwNDQ0KTsKLU1PRFVMRV9QQVJNX0RFU0Moam95c3RpY2ssICJFbmFibGUgam95c3RpY2sgZm9yIEFaRjMzMjggc291bmRjYXJkLiIpOwotI2VuZGlmCi0KIHN0YXRpYyBpbnQgc2VxdGltZXJfc2NhbGluZyA9IDEyODsKIG1vZHVsZV9wYXJhbShzZXF0aW1lcl9zY2FsaW5nLCBpbnQsIDA0NDQpOwogTU9EVUxFX1BBUk1fREVTQyhzZXF0aW1lcl9zY2FsaW5nLCAiU2V0IDEwMjQwMDBIeiBzZXF1ZW5jZXIgdGltZXIgc2NhbGUgZmFjdG9yIChsb2NrdXAgZGFuZ2VyISkuIERlZmF1bHQgMTI4LiIpOwogCitzdHJ1Y3Qgc25kX2F6ZjMzMjhfYXVkaW9fc3RyZWFtIHsKKwlzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbTsKKwlpbnQgZW5hYmxlZDsKKwlpbnQgcnVubmluZzsKKwl1bnNpZ25lZCBsb25nIHBvcnRiYXNlOworfTsKKworZW51bSBzbmRfYXpmMzMyOF9zdHJlYW1faW5kZXggeworICBBWkZfUExBWUJBQ0sgPSAwLAorICBBWkZfQ0FQVFVSRSA9IDEsCit9OworCiBzdHJ1Y3Qgc25kX2F6ZjMzMjggewogCS8qIG9mdGVuLXVzZWQgZmllbGRzIHRvd2FyZHMgYmVnaW5uaW5nLCB0aGVuIGdyb3VwZWQgKi8KLQl1bnNpZ25lZCBsb25nIGNvZGVjX3BvcnQ7Ci0JdW5zaWduZWQgbG9uZyBpbzJfcG9ydDsKLQl1bnNpZ25lZCBsb25nIG1wdV9wb3J0OwotCXVuc2lnbmVkIGxvbmcgc3ludGhfcG9ydDsKLQl1bnNpZ25lZCBsb25nIG1peGVyX3BvcnQ7CisKKwl1bnNpZ25lZCBsb25nIGNvZGVjX2lvOyAvKiB1c3VhbGx5IDB4YjAwMCwgc2l6ZSAxMjggKi8KKwl1bnNpZ25lZCBsb25nIGdhbWVfaW87ICAvKiB1c3VhbGx5IDB4YjQwMCwgc2l6ZSA4ICovCisJdW5zaWduZWQgbG9uZyBtcHVfaW87ICAgLyogdXN1YWxseSAweGI4MDAsIHNpemUgNCAqLworCXVuc2lnbmVkIGxvbmcgb3BsM19pbzsgLyogdXN1YWxseSAweGJjMDAsIHNpemUgOCAqLworCXVuc2lnbmVkIGxvbmcgbWl4ZXJfaW87IC8qIHVzdWFsbHkgMHhjMDAwLCBzaXplIDY0ICovCiAKIAlzcGlubG9ja190IHJlZ19sb2NrOwogCiAJc3RydWN0IHNuZF90aW1lciAqdGltZXI7Ci0JCisKIAlzdHJ1Y3Qgc25kX3BjbSAqcGNtOwotCXN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqcGxheWJhY2tfc3Vic3RyZWFtOwotCXN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqY2FwdHVyZV9zdWJzdHJlYW07Ci0JdW5zaWduZWQgaW50IGlzX3BsYXlpbmc7Ci0JdW5zaWduZWQgaW50IGlzX3JlY29yZGluZzsKKwlzdHJ1Y3Qgc25kX2F6ZjMzMjhfYXVkaW9fc3RyZWFtIGF1ZGlvX3N0cmVhbVsyXTsKIAogCXN0cnVjdCBzbmRfY2FyZCAqY2FyZDsKIAlzdHJ1Y3Qgc25kX3Jhd21pZGkgKnJtaWRpOwogCi0jaWZkZWYgU1VQUE9SVF9KT1lTVElDSworI2lmZGVmIFNVUFBPUlRfR0FNRVBPUlQKIAlzdHJ1Y3QgZ2FtZXBvcnQgKmdhbWVwb3J0OworCWludCBheGVzWzRdOwogI2VuZGlmCiAKIAlzdHJ1Y3QgcGNpX2RldiAqcGNpOwogCWludCBpcnE7CiAKKwkvKiByZWdpc3RlciAweDZhIGlzIHdyaXRlLW9ubHksIHRodXMgbmVlZCB0byByZW1lbWJlciBzZXR0aW5nLgorCSAqIElmIHdlIG5lZWQgdG8gYWRkIG1vcmUgcmVnaXN0ZXJzIGhlcmUsIHRoZW4gd2UgbWlnaHQgdHJ5IHRvIGZvbGQgdGhpcworCSAqIGludG8gc29tZSB0cmFuc3BhcmVudCBjb21iaW5lZCBzaGFkb3cgcmVnaXN0ZXIgaGFuZGxpbmcgd2l0aAorCSAqIENPTkZJR19QTSByZWdpc3RlciBzdG9yYWdlIGJlbG93LCBidXQgdGhhdCdzIHNsaWdodGx5IGRpZmZpY3VsdC4gKi8KKwl1MTYgc2hhZG93X3JlZ19jb2RlY182QUg7CisKICNpZmRlZiBDT05GSUdfUE0KIAkvKiByZWdpc3RlciB2YWx1ZSBjb250YWluZXJzIGZvciBwb3dlciBtYW5hZ2VtZW50CiAJICogTm90ZTogbm90IGFsd2F5cyBmdWxsIEkvTyByYW5nZSBwcmVzZXJ2ZWQgKGp1c3QgbGlrZSBXaW4gZHJpdmVyISkgKi8KLQl1MTYgc2F2ZWRfcmVnc19jb2RlYyBbQVpGX0lPX1NJWkVfQ09ERUNfUE0gLyAyXTsKLQl1MTYgc2F2ZWRfcmVnc19pbzIgICBbQVpGX0lPX1NJWkVfSU8yX1BNIC8gMl07Ci0JdTE2IHNhdmVkX3JlZ3NfbXB1ICAgW0FaRl9JT19TSVpFX01QVV9QTSAvIDJdOwotCXUxNiBzYXZlZF9yZWdzX3N5bnRoW0FaRl9JT19TSVpFX1NZTlRIX1BNIC8gMl07CisJdTE2IHNhdmVkX3JlZ3NfY29kZWNbQVpGX0lPX1NJWkVfQ09ERUNfUE0gLyAyXTsKKwl1MTYgc2F2ZWRfcmVnc19nYW1lIFtBWkZfSU9fU0laRV9HQU1FX1BNIC8gMl07CisJdTE2IHNhdmVkX3JlZ3NfbXB1ICBbQVpGX0lPX1NJWkVfTVBVX1BNIC8gMl07CisJdTE2IHNhdmVkX3JlZ3Nfb3BsMyBbQVpGX0lPX1NJWkVfT1BMM19QTSAvIDJdOwogCXUxNiBzYXZlZF9yZWdzX21peGVyW0FaRl9JT19TSVpFX01JWEVSX1BNIC8gMl07CiAjZW5kaWYKIH07CkBAIC0yNTIsMTI2ICszMTQsMTY2IEBACiAKIE1PRFVMRV9ERVZJQ0VfVEFCTEUocGNpLCBzbmRfYXpmMzMyOF9pZHMpOwogCi1zdGF0aWMgaW5saW5lIHZvaWQKLXNuZF9hemYzMzI4X2NvZGVjX291dGIoY29uc3Qgc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwLCBpbnQgcmVnLCB1OCB2YWx1ZSkKKworc3RhdGljIGludAorc25kX2F6ZjMzMjhfaW9fcmVnX3NldGIodW5zaWduZWQgcmVnLCB1OCBtYXNrLCBpbnQgZG9fc2V0KQogewotCW91dGIodmFsdWUsIGNoaXAtPmNvZGVjX3BvcnQgKyByZWcpOworCXU4IHByZXYgPSBpbmIocmVnKSwgbmV3OworCisJbmV3ID0gKGRvX3NldCkgPyAocHJldnxtYXNrKSA6IChwcmV2ICYgfm1hc2spOworCS8qIHdlIG5lZWQgdG8gYWx3YXlzIHdyaXRlIHRoZSBuZXcgdmFsdWUgbm8gbWF0dGVyIHdoZXRoZXIgaXQgZGlmZmVycworCSAqIG9yIG5vdCwgc2luY2Ugc29tZSByZWdpc3RlciBiaXRzIGRvbid0IGluZGljYXRlIHRoZWlyIHNldHRpbmcgKi8KKwlvdXRiKG5ldywgcmVnKTsKKwlpZiAobmV3ICE9IHByZXYpCisJCXJldHVybiAxOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZAorc25kX2F6ZjMzMjhfY29kZWNfb3V0Yihjb25zdCBzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsIHVuc2lnbmVkIHJlZywgdTggdmFsdWUpCit7CisJb3V0Yih2YWx1ZSwgY2hpcC0+Y29kZWNfaW8gKyByZWcpOwogfQogCiBzdGF0aWMgaW5saW5lIHU4Ci1zbmRfYXpmMzMyOF9jb2RlY19pbmIoY29uc3Qgc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwLCBpbnQgcmVnKQorc25kX2F6ZjMzMjhfY29kZWNfaW5iKGNvbnN0IHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwgdW5zaWduZWQgcmVnKQogewotCXJldHVybiBpbmIoY2hpcC0+Y29kZWNfcG9ydCArIHJlZyk7CisJcmV0dXJuIGluYihjaGlwLT5jb2RlY19pbyArIHJlZyk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZAotc25kX2F6ZjMzMjhfY29kZWNfb3V0dyhjb25zdCBzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsIGludCByZWcsIHUxNiB2YWx1ZSkKK3NuZF9hemYzMzI4X2NvZGVjX291dHcoY29uc3Qgc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwLCB1bnNpZ25lZCByZWcsIHUxNiB2YWx1ZSkKIHsKLQlvdXR3KHZhbHVlLCBjaGlwLT5jb2RlY19wb3J0ICsgcmVnKTsKKwlvdXR3KHZhbHVlLCBjaGlwLT5jb2RlY19pbyArIHJlZyk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdTE2Ci1zbmRfYXpmMzMyOF9jb2RlY19pbncoY29uc3Qgc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwLCBpbnQgcmVnKQorc25kX2F6ZjMzMjhfY29kZWNfaW53KGNvbnN0IHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwgdW5zaWduZWQgcmVnKQogewotCXJldHVybiBpbncoY2hpcC0+Y29kZWNfcG9ydCArIHJlZyk7CisJcmV0dXJuIGludyhjaGlwLT5jb2RlY19pbyArIHJlZyk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZAotc25kX2F6ZjMzMjhfY29kZWNfb3V0bChjb25zdCBzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsIGludCByZWcsIHUzMiB2YWx1ZSkKK3NuZF9hemYzMzI4X2NvZGVjX291dGwoY29uc3Qgc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwLCB1bnNpZ25lZCByZWcsIHUzMiB2YWx1ZSkKIHsKLQlvdXRsKHZhbHVlLCBjaGlwLT5jb2RlY19wb3J0ICsgcmVnKTsKKwlvdXRsKHZhbHVlLCBjaGlwLT5jb2RlY19pbyArIHJlZyk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdTMyCitzbmRfYXpmMzMyOF9jb2RlY19pbmwoY29uc3Qgc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwLCB1bnNpZ25lZCByZWcpCit7CisJcmV0dXJuIGlubChjaGlwLT5jb2RlY19pbyArIHJlZyk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZAotc25kX2F6ZjMzMjhfaW8yX291dGIoY29uc3Qgc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwLCBpbnQgcmVnLCB1OCB2YWx1ZSkKK3NuZF9hemYzMzI4X2dhbWVfb3V0Yihjb25zdCBzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsIHVuc2lnbmVkIHJlZywgdTggdmFsdWUpCiB7Ci0Jb3V0Yih2YWx1ZSwgY2hpcC0+aW8yX3BvcnQgKyByZWcpOworCW91dGIodmFsdWUsIGNoaXAtPmdhbWVfaW8gKyByZWcpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQKK3NuZF9hemYzMzI4X2dhbWVfb3V0dyhjb25zdCBzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsIHVuc2lnbmVkIHJlZywgdTE2IHZhbHVlKQoreworCW91dHcodmFsdWUsIGNoaXAtPmdhbWVfaW8gKyByZWcpOwogfQogCiBzdGF0aWMgaW5saW5lIHU4Ci1zbmRfYXpmMzMyOF9pbzJfaW5iKGNvbnN0IHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwgaW50IHJlZykKK3NuZF9hemYzMzI4X2dhbWVfaW5iKGNvbnN0IHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwgdW5zaWduZWQgcmVnKQogewotCXJldHVybiBpbmIoY2hpcC0+aW8yX3BvcnQgKyByZWcpOwotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQKLXNuZF9hemYzMzI4X21peGVyX291dHcoY29uc3Qgc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwLCBpbnQgcmVnLCB1MTYgdmFsdWUpCi17Ci0Jb3V0dyh2YWx1ZSwgY2hpcC0+bWl4ZXJfcG9ydCArIHJlZyk7CisJcmV0dXJuIGluYihjaGlwLT5nYW1lX2lvICsgcmVnKTsKIH0KIAogc3RhdGljIGlubGluZSB1MTYKLXNuZF9hemYzMzI4X21peGVyX2ludyhjb25zdCBzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsIGludCByZWcpCitzbmRfYXpmMzMyOF9nYW1lX2ludyhjb25zdCBzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsIHVuc2lnbmVkIHJlZykKIHsKLQlyZXR1cm4gaW53KGNoaXAtPm1peGVyX3BvcnQgKyByZWcpOworCXJldHVybiBpbncoY2hpcC0+Z2FtZV9pbyArIHJlZyk7CiB9CiAKLXN0YXRpYyB2b2lkCi1zbmRfYXpmMzMyOF9taXhlcl9zZXRfbXV0ZShjb25zdCBzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsIGludCByZWcsIGludCBkb19tdXRlKQorc3RhdGljIGlubGluZSB2b2lkCitzbmRfYXpmMzMyOF9taXhlcl9vdXR3KGNvbnN0IHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwgdW5zaWduZWQgcmVnLCB1MTYgdmFsdWUpCiB7Ci0JdW5zaWduZWQgbG9uZyBwb3J0YmFzZSA9IGNoaXAtPm1peGVyX3BvcnQgKyByZWcgKyAxOwotCXVuc2lnbmVkIGNoYXIgb2xkdmFsOworCW91dHcodmFsdWUsIGNoaXAtPm1peGVyX2lvICsgcmVnKTsKK30KKworc3RhdGljIGlubGluZSB1MTYKK3NuZF9hemYzMzI4X21peGVyX2ludyhjb25zdCBzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsIHVuc2lnbmVkIHJlZykKK3sKKwlyZXR1cm4gaW53KGNoaXAtPm1peGVyX2lvICsgcmVnKTsKK30KKworI2RlZmluZSBBWkZfTVVURV9CSVQgMHg4MAorCitzdGF0aWMgaW50CitzbmRfYXpmMzMyOF9taXhlcl9zZXRfbXV0ZShjb25zdCBzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsCisJCQkgICB1bnNpZ25lZCByZWcsIGludCBkb19tdXRlCispCit7CisJdW5zaWduZWQgbG9uZyBwb3J0YmFzZSA9IGNoaXAtPm1peGVyX2lvICsgcmVnICsgMTsKKwlpbnQgdXBkYXRlZDsKIAogCS8qIHRoZSBtdXRlIGJpdCBpcyBvbiB0aGUgKnNlY29uZCogKGkuZS4gcmlnaHQpIHJlZ2lzdGVyIG9mIGEKIAkgKiBsZWZ0L3JpZ2h0IGNoYW5uZWwgc2V0dGluZyAqLwotCW9sZHZhbCA9IGluYihwb3J0YmFzZSk7Ci0JaWYgKGRvX211dGUpCi0JCW9sZHZhbCB8PSAweDgwOwotCWVsc2UKLQkJb2xkdmFsICY9IH4weDgwOwotCW91dGIob2xkdmFsLCBwb3J0YmFzZSk7CisJdXBkYXRlZCA9IHNuZF9hemYzMzI4X2lvX3JlZ19zZXRiKHBvcnRiYXNlLCBBWkZfTVVURV9CSVQsIGRvX211dGUpOworCisJLyogaW5kaWNhdGUgd2hldGhlciBpdCB3YXMgbXV0ZWQgYmVmb3JlICovCisJcmV0dXJuIChkb19tdXRlKSA/ICF1cGRhdGVkIDogdXBkYXRlZDsKIH0KIAogc3RhdGljIHZvaWQKLXNuZF9hemYzMzI4X21peGVyX3dyaXRlX3ZvbHVtZV9ncmFkdWFsbHkoY29uc3Qgc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwLCBpbnQgcmVnLCB1bnNpZ25lZCBjaGFyIGRzdF92b2xfbGVmdCwgdW5zaWduZWQgY2hhciBkc3Rfdm9sX3JpZ2h0LCBpbnQgY2hhbl9zZWwsIGludCBkZWxheSkKK3NuZF9hemYzMzI4X21peGVyX3dyaXRlX3ZvbHVtZV9ncmFkdWFsbHkoY29uc3Qgc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwLAorCQkJCQkgdW5zaWduZWQgcmVnLAorCQkJCQkgdW5zaWduZWQgY2hhciBkc3Rfdm9sX2xlZnQsCisJCQkJCSB1bnNpZ25lZCBjaGFyIGRzdF92b2xfcmlnaHQsCisJCQkJCSBpbnQgY2hhbl9zZWwsIGludCBkZWxheQorKQogewotCXVuc2lnbmVkIGxvbmcgcG9ydGJhc2UgPSBjaGlwLT5taXhlcl9wb3J0ICsgcmVnOworCXVuc2lnbmVkIGxvbmcgcG9ydGJhc2UgPSBjaGlwLT5taXhlcl9pbyArIHJlZzsKIAl1bnNpZ25lZCBjaGFyIGN1cnJfdm9sX2xlZnQgPSAwLCBjdXJyX3ZvbF9yaWdodCA9IDA7Ci0JaW50IGxlZnRfZG9uZSA9IDAsIHJpZ2h0X2RvbmUgPSAwOwotCQorCWludCBsZWZ0X2NoYW5nZSA9IDAsIHJpZ2h0X2NoYW5nZSA9IDA7CisKIAlzbmRfYXpmMzMyOF9kYmdjYWxsZW50ZXIoKTsKLQlpZiAoY2hhbl9zZWwgJiBTRVRfQ0hBTl9MRUZUKQorCisJaWYgKGNoYW5fc2VsICYgU0VUX0NIQU5fTEVGVCkgewogCQljdXJyX3ZvbF9sZWZ0ICA9IGluYihwb3J0YmFzZSArIDEpOwotCWVsc2UKLQkJbGVmdF9kb25lID0gMTsKLQlpZiAoY2hhbl9zZWwgJiBTRVRfQ0hBTl9SSUdIVCkKKworCQkvKiB0YWtlIGNhcmUgb2YgbXV0aW5nIGZsYWcgY29udGFpbmVkIGluIGxlZnQgY2hhbm5lbCAqLworCQlpZiAoY3Vycl92b2xfbGVmdCAmIEFaRl9NVVRFX0JJVCkKKwkJCWRzdF92b2xfbGVmdCB8PSBBWkZfTVVURV9CSVQ7CisJCWVsc2UKKwkJCWRzdF92b2xfbGVmdCAmPSB+QVpGX01VVEVfQklUOworCisJCWxlZnRfY2hhbmdlID0gKGN1cnJfdm9sX2xlZnQgPiBkc3Rfdm9sX2xlZnQpID8gLTEgOiAxOworCX0KKworCWlmIChjaGFuX3NlbCAmIFNFVF9DSEFOX1JJR0hUKSB7CiAJCWN1cnJfdm9sX3JpZ2h0ID0gaW5iKHBvcnRiYXNlICsgMCk7Ci0JZWxzZQotCQlyaWdodF9kb25lID0gMTsKLQkKLQkvKiB0YWtlIGNhcmUgb2YgbXV0aW5nIGZsYWcgKDB4ODApIGNvbnRhaW5lZCBpbiBsZWZ0IGNoYW5uZWwgKi8KLQlpZiAoY3Vycl92b2xfbGVmdCAmIDB4ODApCi0JCWRzdF92b2xfbGVmdCB8PSAweDgwOwotCWVsc2UKLQkJZHN0X3ZvbF9sZWZ0ICY9IH4weDgwOworCisJCXJpZ2h0X2NoYW5nZSA9IChjdXJyX3ZvbF9yaWdodCA+IGRzdF92b2xfcmlnaHQpID8gLTEgOiAxOworCX0KIAogCWRvIHsKLQkJaWYgKCFsZWZ0X2RvbmUpIHsKLQkJCWlmIChjdXJyX3ZvbF9sZWZ0ID4gZHN0X3ZvbF9sZWZ0KQotCQkJCWN1cnJfdm9sX2xlZnQtLTsKLQkJCWVsc2UKLQkJCWlmIChjdXJyX3ZvbF9sZWZ0IDwgZHN0X3ZvbF9sZWZ0KQotCQkJCWN1cnJfdm9sX2xlZnQrKzsKLQkJCWVsc2UKLQkJCSAgICBsZWZ0X2RvbmUgPSAxOwotCQkJb3V0YihjdXJyX3ZvbF9sZWZ0LCBwb3J0YmFzZSArIDEpOworCQlpZiAobGVmdF9jaGFuZ2UpIHsKKwkJCWlmIChjdXJyX3ZvbF9sZWZ0ICE9IGRzdF92b2xfbGVmdCkgeworCQkJCWN1cnJfdm9sX2xlZnQgKz0gbGVmdF9jaGFuZ2U7CisJCQkJb3V0YihjdXJyX3ZvbF9sZWZ0LCBwb3J0YmFzZSArIDEpOworCQkJfSBlbHNlCisJCQkgICAgbGVmdF9jaGFuZ2UgPSAwOwogCQl9Ci0JCWlmICghcmlnaHRfZG9uZSkgewotCQkJaWYgKGN1cnJfdm9sX3JpZ2h0ID4gZHN0X3ZvbF9yaWdodCkKLQkJCQljdXJyX3ZvbF9yaWdodC0tOwotCQkJZWxzZQotCQkJaWYgKGN1cnJfdm9sX3JpZ2h0IDwgZHN0X3ZvbF9yaWdodCkKLQkJCQljdXJyX3ZvbF9yaWdodCsrOwotCQkJZWxzZQotCQkJICAgIHJpZ2h0X2RvbmUgPSAxOworCQlpZiAocmlnaHRfY2hhbmdlKSB7CisJCQlpZiAoY3Vycl92b2xfcmlnaHQgIT0gZHN0X3ZvbF9yaWdodCkgeworCQkJCWN1cnJfdm9sX3JpZ2h0ICs9IHJpZ2h0X2NoYW5nZTsKKwogCQkJLyogZHVyaW5nIHZvbHVtZSBjaGFuZ2UsIHRoZSByaWdodCBjaGFubmVsIGlzIGNyYWNrbGluZwogCQkJICogc29tZXdoYXQgbW9yZSB0aGFuIHRoZSBsZWZ0IGNoYW5uZWwsIHVuZm9ydHVuYXRlbHkuCiAJCQkgKiBUaGlzIHNlZW1zIHRvIGJlIGEgaGFyZHdhcmUgaXNzdWUuICovCi0JCQlvdXRiKGN1cnJfdm9sX3JpZ2h0LCBwb3J0YmFzZSArIDApOworCQkJCW91dGIoY3Vycl92b2xfcmlnaHQsIHBvcnRiYXNlICsgMCk7CisJCQl9IGVsc2UKKwkJCSAgICByaWdodF9jaGFuZ2UgPSAwOwogCQl9CiAJCWlmIChkZWxheSkKIAkJCW1kZWxheShkZWxheSk7Ci0JfSB3aGlsZSAoKCFsZWZ0X2RvbmUpIHx8ICghcmlnaHRfZG9uZSkpOworCX0gd2hpbGUgKChsZWZ0X2NoYW5nZSkgfHwgKHJpZ2h0X2NoYW5nZSkpOwogCXNuZF9hemYzMzI4X2RiZ2NhbGxsZWF2ZSgpOwogfQogCkBAIC0zNzksNyArNDgxLDcgQEAKICAqIGdlbmVyYWwgbWl4ZXIgZWxlbWVudAogICovCiBzdHJ1Y3QgYXpmMzMyOF9taXhlcl9yZWcgewotCXVuc2lnbmVkIGludCByZWc7CisJdW5zaWduZWQgcmVnOwogCXVuc2lnbmVkIGludCBsY2hhbl9zaGlmdCwgcmNoYW5fc2hpZnQ7CiAJdW5zaWduZWQgaW50IG1hc2s7CiAJdW5zaWduZWQgaW50IGludmVydDogMTsKQEAgLTU0NCwxMyArNjQ2LDE0IEBACiAJCSJNaXgiLCAiTWljIgogCX07CiAJc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCB0ZXh0czNbXSA9IHsKLSAgICAgICAgICAgICAgICAiTWljIiwgIkNEIiwgIlZpZGVvIiwgIkF1eCIsCisJCSJNaWMiLCAiQ0QiLCAiVmlkZW8iLCAiQXV4IiwKIAkJIkxpbmUiLCAiTWl4IiwgIk1peCBNb25vIiwgIlBob25lIgogICAgICAgICB9OwogCXN0YXRpYyBjb25zdCBjaGFyICogY29uc3QgdGV4dHM0W10gPSB7CiAJCSJwcmUgM0QiLCAicG9zdCAzRCIKICAgICAgICAgfTsKIAlzdHJ1Y3QgYXpmMzMyOF9taXhlcl9yZWcgcmVnOworCWNvbnN0IGNoYXIgKiBjb25zdCAqcCA9IE5VTEw7CiAKIAlzbmRfYXpmMzMyOF9taXhlcl9yZWdfZGVjb2RlKCZyZWcsIGtjb250cm9sLT5wcml2YXRlX3ZhbHVlKTsKICAgICAgICAgdWluZm8tPnR5cGUgPSBTTkRSVl9DVExfRUxFTV9UWVBFX0VOVU1FUkFURUQ7CkBAIC01NjEsMTggKzY2NCwyMCBAQAogCWlmIChyZWcucmVnID09IElEWF9NSVhFUl9BRFZDVEwyKSB7CiAJCXN3aXRjaChyZWcubGNoYW5fc2hpZnQpIHsKIAkJY2FzZSA4OiAvKiBtb2RlbSBvdXQgc2VsICovCi0JCQlzdHJjcHkodWluZm8tPnZhbHVlLmVudW1lcmF0ZWQubmFtZSwgdGV4dHMxW3VpbmZvLT52YWx1ZS5lbnVtZXJhdGVkLml0ZW1dKTsKKwkJCXAgPSB0ZXh0czE7CiAJCQlicmVhazsKIAkJY2FzZSA5OiAvKiBtb25vIHNlbCBzb3VyY2UgKi8KLQkJCXN0cmNweSh1aW5mby0+dmFsdWUuZW51bWVyYXRlZC5uYW1lLCB0ZXh0czJbdWluZm8tPnZhbHVlLmVudW1lcmF0ZWQuaXRlbV0pOworCQkJcCA9IHRleHRzMjsKIAkJCWJyZWFrOwogCQljYXNlIDE1OiAvKiBQQ00gT3V0IFBhdGggKi8KLQkJCXN0cmNweSh1aW5mby0+dmFsdWUuZW51bWVyYXRlZC5uYW1lLCB0ZXh0czRbdWluZm8tPnZhbHVlLmVudW1lcmF0ZWQuaXRlbV0pOworCQkJcCA9IHRleHRzNDsKIAkJCWJyZWFrOwogCQl9CiAJfSBlbHNlCi0gICAgICAgIAlzdHJjcHkodWluZm8tPnZhbHVlLmVudW1lcmF0ZWQubmFtZSwgdGV4dHMzW3VpbmZvLT52YWx1ZS5lbnVtZXJhdGVkLml0ZW1dCi0pOworCWlmIChyZWcucmVnID09IElEWF9NSVhFUl9SRUNfU0VMRUNUKQorCQlwID0gdGV4dHMzOworCisJc3RyY3B5KHVpbmZvLT52YWx1ZS5lbnVtZXJhdGVkLm5hbWUsIHBbdWluZm8tPnZhbHVlLmVudW1lcmF0ZWQuaXRlbV0pOwogICAgICAgICByZXR1cm4gMDsKIH0KIApAQCAtNTgzLDcgKzY4OCw3IEBACiAgICAgICAgIHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCA9IHNuZF9rY29udHJvbF9jaGlwKGtjb250cm9sKTsKIAlzdHJ1Y3QgYXpmMzMyOF9taXhlcl9yZWcgcmVnOwogICAgICAgICB1bnNpZ25lZCBzaG9ydCB2YWw7Ci0gICAgICAgIAorCiAJc25kX2F6ZjMzMjhfbWl4ZXJfcmVnX2RlY29kZSgmcmVnLCBrY29udHJvbC0+cHJpdmF0ZV92YWx1ZSk7CiAJdmFsID0gc25kX2F6ZjMzMjhfbWl4ZXJfaW53KGNoaXAsIHJlZy5yZWcpOwogCWlmIChyZWcucmVnID09IElEWF9NSVhFUl9SRUNfU0VMRUNUKSB7CkBAIC02MDUsNyArNzEwLDcgQEAKICAgICAgICAgc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwID0gc25kX2tjb250cm9sX2NoaXAoa2NvbnRyb2wpOwogCXN0cnVjdCBhemYzMzI4X21peGVyX3JlZyByZWc7CiAJdW5zaWduZWQgaW50IG9yZWcsIG5yZWcsIHZhbDsKLSAgICAgICAgCisKIAlzbmRfYXpmMzMyOF9taXhlcl9yZWdfZGVjb2RlKCZyZWcsIGtjb250cm9sLT5wcml2YXRlX3ZhbHVlKTsKIAlvcmVnID0gc25kX2F6ZjMzMjhfbWl4ZXJfaW53KGNoaXAsIHJlZy5yZWcpOwogCXZhbCA9IG9yZWc7CkBAIC02MzEsOSArNzM2LDExIEBACiBzdGF0aWMgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgc25kX2F6ZjMzMjhfbWl4ZXJfY29udHJvbHNbXSBfX2RldmluaXRkYXRhID0gewogCUFaRjMzMjhfTUlYRVJfU1dJVENIKCJNYXN0ZXIgUGxheWJhY2sgU3dpdGNoIiwgSURYX01JWEVSX1BMQVlfTUFTVEVSLCAxNSwgMSksCiAJQVpGMzMyOF9NSVhFUl9WT0xfU1RFUkVPKCJNYXN0ZXIgUGxheWJhY2sgVm9sdW1lIiwgSURYX01JWEVSX1BMQVlfTUFTVEVSLCAweDFmLCAxKSwKLQlBWkYzMzI4X01JWEVSX1NXSVRDSCgiV2F2ZSBQbGF5YmFjayBTd2l0Y2giLCBJRFhfTUlYRVJfV0FWRU9VVCwgMTUsIDEpLAotCUFaRjMzMjhfTUlYRVJfVk9MX1NURVJFTygiV2F2ZSBQbGF5YmFjayBWb2x1bWUiLCBJRFhfTUlYRVJfV0FWRU9VVCwgMHgxZiwgMSksCi0JQVpGMzMyOF9NSVhFUl9TV0lUQ0goIldhdmUgM0QgQnlwYXNzIFBsYXliYWNrIFN3aXRjaCIsIElEWF9NSVhFUl9BRFZDVEwyLCA3LCAxKSwKKwlBWkYzMzI4X01JWEVSX1NXSVRDSCgiUENNIFBsYXliYWNrIFN3aXRjaCIsIElEWF9NSVhFUl9XQVZFT1VULCAxNSwgMSksCisJQVpGMzMyOF9NSVhFUl9WT0xfU1RFUkVPKCJQQ00gUGxheWJhY2sgVm9sdW1lIiwKKwkJCQkJSURYX01JWEVSX1dBVkVPVVQsIDB4MWYsIDEpLAorCUFaRjMzMjhfTUlYRVJfU1dJVENIKCJQQ00gM0QgQnlwYXNzIFBsYXliYWNrIFN3aXRjaCIsCisJCQkJCUlEWF9NSVhFUl9BRFZDVEwyLCA3LCAxKSwKIAlBWkYzMzI4X01JWEVSX1NXSVRDSCgiRk0gUGxheWJhY2sgU3dpdGNoIiwgSURYX01JWEVSX0ZNU1lOVEgsIDE1LCAxKSwKIAlBWkYzMzI4X01JWEVSX1ZPTF9TVEVSRU8oIkZNIFBsYXliYWNrIFZvbHVtZSIsIElEWF9NSVhFUl9GTVNZTlRILCAweDFmLCAxKSwKIAlBWkYzMzI4X01JWEVSX1NXSVRDSCgiQ0QgUGxheWJhY2sgU3dpdGNoIiwgSURYX01JWEVSX0NEQVVESU8sIDE1LCAxKSwKQEAgLTcxNywxNSArODI0LDE2IEBACiAJc25kX2F6ZjMzMjhfbWl4ZXJfb3V0dyhjaGlwLCBJRFhfTUlYRVJfUkVTRVQsIDB4MDAwMCk7CiAKIAkvKiBtdXRlIGFuZCB6ZXJvIHZvbHVtZSBjaGFubmVscyAqLwotCWZvciAoaWR4ID0gMDsgaWR4IDwgQVJSQVlfU0laRShzbmRfYXpmMzMyOF9pbml0X3ZhbHVlcyk7IGlkeCsrKSB7CisJZm9yIChpZHggPSAwOyBpZHggPCBBUlJBWV9TSVpFKHNuZF9hemYzMzI4X2luaXRfdmFsdWVzKTsgKytpZHgpIHsKIAkJc25kX2F6ZjMzMjhfbWl4ZXJfb3V0dyhjaGlwLAogCQkJc25kX2F6ZjMzMjhfaW5pdF92YWx1ZXNbaWR4XVswXSwKIAkJCXNuZF9hemYzMzI4X2luaXRfdmFsdWVzW2lkeF1bMV0pOwogCX0KLQkKKwogCS8qIGFkZCBtaXhlciBjb250cm9scyAqLwogCXN3ID0gc25kX2F6ZjMzMjhfbWl4ZXJfY29udHJvbHM7Ci0JZm9yIChpZHggPSAwOyBpZHggPCBBUlJBWV9TSVpFKHNuZF9hemYzMzI4X21peGVyX2NvbnRyb2xzKTsgaWR4KyssIHN3KyspIHsKKwlmb3IgKGlkeCA9IDA7IGlkeCA8IEFSUkFZX1NJWkUoc25kX2F6ZjMzMjhfbWl4ZXJfY29udHJvbHMpOworCQkJKytpZHgsICsrc3cpIHsKIAkJaWYgKChlcnIgPSBzbmRfY3RsX2FkZChjaGlwLT5jYXJkLCBzbmRfY3RsX25ldzEoc3csIGNoaXApKSkgPCAwKQogCQkJcmV0dXJuIGVycjsKIAl9CkBAIC03NTcsOSArODY1LDkgQEAKIH0KIAogc3RhdGljIHZvaWQKLXNuZF9hemYzMzI4X3NldGZtdChzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsCi0JCQkgICAgICAgdW5zaWduZWQgaW50IHJlZywKLQkJCSAgICAgICB1bnNpZ25lZCBpbnQgYml0cmF0ZSwKK3NuZF9hemYzMzI4X2NvZGVjX3NldGZtdChzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsCisJCQkgICAgICAgdW5zaWduZWQgcmVnLAorCQkJICAgICAgIGVudW0gYXpmX2ZyZXFfdCBiaXRyYXRlLAogCQkJICAgICAgIHVuc2lnbmVkIGludCBmb3JtYXRfd2lkdGgsCiAJCQkgICAgICAgdW5zaWduZWQgaW50IGNoYW5uZWxzCiApCkBAIC03NjksMjQgKzg3NywyNSBAQAogCiAJc25kX2F6ZjMzMjhfZGJnY2FsbGVudGVyKCk7CiAJc3dpdGNoIChiaXRyYXRlKSB7Ci0JY2FzZSAgNDAwMDogdmFsIHw9IFNPVU5ERk9STUFUX0ZSRVFfU1VTUEVDVEVEXzQwMDA7IGJyZWFrOwotCWNhc2UgIDQ4MDA6IHZhbCB8PSBTT1VOREZPUk1BVF9GUkVRX1NVU1BFQ1RFRF80ODAwOyBicmVhazsKLQljYXNlICA1NTEyOiB2YWwgfD0gU09VTkRGT1JNQVRfRlJFUV81NTEwOyBicmVhazsgLyogdGhlIEFaRjMzMjggbmFtZXMgaXQgIjU1MTAiIGZvciBzb21lIHN0cmFuZ2UgcmVhc29uICovCi0JY2FzZSAgNjYyMDogdmFsIHw9IFNPVU5ERk9STUFUX0ZSRVFfNjYyMDsgYnJlYWs7Ci0JY2FzZSAgODAwMDogdmFsIHw9IFNPVU5ERk9STUFUX0ZSRVFfODAwMDsgYnJlYWs7Ci0JY2FzZSAgOTYwMDogdmFsIHw9IFNPVU5ERk9STUFUX0ZSRVFfOTYwMDsgYnJlYWs7Ci0JY2FzZSAxMTAyNTogdmFsIHw9IFNPVU5ERk9STUFUX0ZSRVFfMTEwMjU7IGJyZWFrOwotCWNhc2UgMTMyNDA6IHZhbCB8PSBTT1VOREZPUk1BVF9GUkVRX1NVU1BFQ1RFRF8xMzI0MDsgYnJlYWs7Ci0JY2FzZSAxNjAwMDogdmFsIHw9IFNPVU5ERk9STUFUX0ZSRVFfMTYwMDA7IGJyZWFrOwotCWNhc2UgMjIwNTA6IHZhbCB8PSBTT1VOREZPUk1BVF9GUkVRXzIyMDUwOyBicmVhazsKLQljYXNlIDMyMDAwOiB2YWwgfD0gU09VTkRGT1JNQVRfRlJFUV8zMjAwMDsgYnJlYWs7Ci0JY2FzZSA0NDEwMDogdmFsIHw9IFNPVU5ERk9STUFUX0ZSRVFfNDQxMDA7IGJyZWFrOwotCWNhc2UgNDgwMDA6IHZhbCB8PSBTT1VOREZPUk1BVF9GUkVRXzQ4MDAwOyBicmVhazsKLQljYXNlIDY2MjAwOiB2YWwgfD0gU09VTkRGT1JNQVRfRlJFUV9TVVNQRUNURURfNjYyMDA7IGJyZWFrOworCWNhc2UgQVpGX0ZSRVFfNDAwMDogIHZhbCB8PSBTT1VOREZPUk1BVF9GUkVRX1NVU1BFQ1RFRF80MDAwOyBicmVhazsKKwljYXNlIEFaRl9GUkVRXzQ4MDA6ICB2YWwgfD0gU09VTkRGT1JNQVRfRlJFUV9TVVNQRUNURURfNDgwMDsgYnJlYWs7CisJY2FzZSBBWkZfRlJFUV81NTEyOgorCQkvKiB0aGUgQVpGMzMyOCBuYW1lcyBpdCAiNTUxMCIgZm9yIHNvbWUgc3RyYW5nZSByZWFzb24gKi8KKwkJCSAgICAgdmFsIHw9IFNPVU5ERk9STUFUX0ZSRVFfNTUxMDsgYnJlYWs7CisJY2FzZSBBWkZfRlJFUV82NjIwOiAgdmFsIHw9IFNPVU5ERk9STUFUX0ZSRVFfNjYyMDsgYnJlYWs7CisJY2FzZSBBWkZfRlJFUV84MDAwOiAgdmFsIHw9IFNPVU5ERk9STUFUX0ZSRVFfODAwMDsgYnJlYWs7CisJY2FzZSBBWkZfRlJFUV85NjAwOiAgdmFsIHw9IFNPVU5ERk9STUFUX0ZSRVFfOTYwMDsgYnJlYWs7CisJY2FzZSBBWkZfRlJFUV8xMTAyNTogdmFsIHw9IFNPVU5ERk9STUFUX0ZSRVFfMTEwMjU7IGJyZWFrOworCWNhc2UgQVpGX0ZSRVFfMTMyNDA6IHZhbCB8PSBTT1VOREZPUk1BVF9GUkVRX1NVU1BFQ1RFRF8xMzI0MDsgYnJlYWs7CisJY2FzZSBBWkZfRlJFUV8xNjAwMDogdmFsIHw9IFNPVU5ERk9STUFUX0ZSRVFfMTYwMDA7IGJyZWFrOworCWNhc2UgQVpGX0ZSRVFfMjIwNTA6IHZhbCB8PSBTT1VOREZPUk1BVF9GUkVRXzIyMDUwOyBicmVhazsKKwljYXNlIEFaRl9GUkVRXzMyMDAwOiB2YWwgfD0gU09VTkRGT1JNQVRfRlJFUV8zMjAwMDsgYnJlYWs7CiAJZGVmYXVsdDoKIAkJc25kX3ByaW50ayhLRVJOX1dBUk5JTkcgInVua25vd24gYml0cmF0ZSAlZCwgYXNzdW1pbmcgNDQuMWtIeiFcbiIsIGJpdHJhdGUpOwotCQl2YWwgfD0gU09VTkRGT1JNQVRfRlJFUV80NDEwMDsKLQkJYnJlYWs7CisJCS8qIGZhbGwtdGhyb3VnaCAqLworCWNhc2UgQVpGX0ZSRVFfNDQxMDA6IHZhbCB8PSBTT1VOREZPUk1BVF9GUkVRXzQ0MTAwOyBicmVhazsKKwljYXNlIEFaRl9GUkVRXzQ4MDAwOiB2YWwgfD0gU09VTkRGT1JNQVRfRlJFUV80ODAwMDsgYnJlYWs7CisJY2FzZSBBWkZfRlJFUV82NjIwMDogdmFsIHw9IFNPVU5ERk9STUFUX0ZSRVFfU1VTUEVDVEVEXzY2MjAwOyBicmVhazsKIAl9CiAJLyogdmFsID0gMHhmZjA3OyAzbTI3Ljk5M3MgKDY1MzAxSHo7IC0+IDY0MDAwSHo/Pz8pIGhtbSwgNjYxMjAsIDY1OTY3LCA2NjEyMyAqLwogCS8qIHZhbCA9IDB4ZmYwOTsgMTdtMTUuMDk4cyAoMTMxMjMsNDc4SHo7IC0+IDEyMDAwSHo/Pz8pIGhtbSwgMTMyMzcuMkh6PyAqLwpAQCAtODA1LDEwICs5MTQsMTAgQEAKIAkJdmFsIHw9IFNPVU5ERk9STUFUX0ZMQUdfMTZCSVQ7CiAKIAlzcGluX2xvY2tfaXJxc2F2ZSgmY2hpcC0+cmVnX2xvY2ssIGZsYWdzKTsKLQkKKwogCS8qIHNldCBiaXRyYXRlL2Zvcm1hdCAqLwogCXNuZF9hemYzMzI4X2NvZGVjX291dHcoY2hpcCwgcmVnLCB2YWwpOwotCQorCiAJLyogY2hhbmdpbmcgdGhlIGJpdHJhdGUvZm9ybWF0IHNldHRpbmdzIHN3aXRjaGVzIG9mZiB0aGUKIAkgKiBhdWRpbyBvdXRwdXQgd2l0aCBhbiBhbm5veWluZyBjbGljayBpbiBjYXNlIG9mIDgvMTZiaXQgZm9ybWF0IGNoYW5nZQogCSAqIChtYXliZSBzaHV0dGluZyBkb3duIERBQy9BREM/KSwgdGh1cyBpbW1lZGlhdGVseQpAQCAtODMwLDMxICs5MzksOTUgQEAKIAlzbmRfYXpmMzMyOF9kYmdjYWxsbGVhdmUoKTsKIH0KIAorc3RhdGljIGlubGluZSB2b2lkCitzbmRfYXpmMzMyOF9jb2RlY19zZXRmbXRfbG93cG93ZXIoc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwLAorCQkJICAgIHVuc2lnbmVkIHJlZworKQoreworCS8qIGNob29zZSBsb3dlc3QgZnJlcXVlbmN5IGZvciBsb3cgcG93ZXIgY29uc3VtcHRpb24uCisJICogV2hpbGUgdGhpcyB3aWxsIGNhdXNlIGxvdWRlciBub2lzZSBkdWUgdG8gcmF0aGVyIGNvYXJzZSBmcmVxdWVuY3ksCisJICogaXQgc2hvdWxkIG5ldmVyIG1hdHRlciBzaW5jZSBvdXRwdXQgc2hvdWxkIGFsd2F5cworCSAqIGdldCBkaXNhYmxlZCBwcm9wZXJseSB3aGVuIGlkbGUgYW55d2F5LiAqLworCXNuZF9hemYzMzI4X2NvZGVjX3NldGZtdChjaGlwLCByZWcsIEFaRl9GUkVRXzQwMDAsIDgsIDEpOworfQorCitzdGF0aWMgdm9pZAorc25kX2F6ZjMzMjhfY29kZWNfcmVnXzZBSF91cGRhdGUoc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwLAorCQkJCQl1bnNpZ25lZCBiaXRtYXNrLAorCQkJCQlpbnQgZW5hYmxlCispCit7CisJaWYgKGVuYWJsZSkKKwkJY2hpcC0+c2hhZG93X3JlZ19jb2RlY182QUggJj0gfmJpdG1hc2s7CisJZWxzZQorCQljaGlwLT5zaGFkb3dfcmVnX2NvZGVjXzZBSCB8PSBiaXRtYXNrOworCXNuZF9hemYzMzI4X2RiZ3BsYXkoIjZBSF91cGRhdGUgbWFzayAweCUwNHggZW5hYmxlICVkOiB2YWwgMHglMDR4XG4iLAorCQkJYml0bWFzaywgZW5hYmxlLCBjaGlwLT5zaGFkb3dfcmVnX2NvZGVjXzZBSCk7CisJc25kX2F6ZjMzMjhfY29kZWNfb3V0dyhjaGlwLCBJRFhfSU9fNkFILCBjaGlwLT5zaGFkb3dfcmVnX2NvZGVjXzZBSCk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZAorc25kX2F6ZjMzMjhfY29kZWNfZW5hYmxlKHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwgaW50IGVuYWJsZSkKK3sKKwlzbmRfYXpmMzMyOF9kYmdwbGF5KCJjb2RlY19lbmFibGUgJWRcbiIsIGVuYWJsZSk7CisJLyogbm8gaWRlYSB3aGF0IGV4YWN0bHkgaXMgYmVpbmcgZG9uZSBoZXJlLCBidXQgSSBzdHJvbmdseSBhc3N1bWUgaXQncworCSAqIFBNIHJlbGF0ZWQgKi8KKwlzbmRfYXpmMzMyOF9jb2RlY19yZWdfNkFIX3VwZGF0ZSgKKwkJY2hpcCwgSU9fNkFfUEFVU0VfUExBWUJBQ0tfQklUOCwgZW5hYmxlCisJKTsKK30KKworc3RhdGljIHZvaWQKK3NuZF9hemYzMzI4X2NvZGVjX2FjdGl2aXR5KHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwKKwkJCQllbnVtIHNuZF9hemYzMzI4X3N0cmVhbV9pbmRleCBzdHJlYW1fdHlwZSwKKwkJCQlpbnQgZW5hYmxlCispCit7CisJaW50IG5lZWRfY2hhbmdlID0gKGNoaXAtPmF1ZGlvX3N0cmVhbVtzdHJlYW1fdHlwZV0ucnVubmluZyAhPSBlbmFibGUpOworCisJc25kX2F6ZjMzMjhfZGJncGxheSgKKwkJImNvZGVjX2FjdGl2aXR5OiB0eXBlICVkLCBlbmFibGUgJWQsIG5lZWRfY2hhbmdlICVkXG4iLAorCQkJCXN0cmVhbV90eXBlLCBlbmFibGUsIG5lZWRfY2hhbmdlCisJKTsKKwlpZiAobmVlZF9jaGFuZ2UpIHsKKwkJZW51bSBzbmRfYXpmMzMyOF9zdHJlYW1faW5kZXggb3RoZXIgPQorCQkJKHN0cmVhbV90eXBlID09IEFaRl9QTEFZQkFDSykgPworCQkJCUFaRl9DQVBUVVJFIDogQVpGX1BMQVlCQUNLOworCQkvKiBzbWFsbCBjaGVjayB0byBwcmV2ZW50IHNodXR0aW5nIGRvd24gdGhlIG90aGVyIHBhcnR5CisJCSAqIGluIGNhc2UgaXQncyBhY3RpdmUgKi8KKwkJaWYgKChlbmFibGUpIHx8ICEoY2hpcC0+YXVkaW9fc3RyZWFtW290aGVyXS5ydW5uaW5nKSkKKwkJCXNuZF9hemYzMzI4X2NvZGVjX2VuYWJsZShjaGlwLCBlbmFibGUpOworCisJCS8qIC4uLmFuZCBhZGp1c3QgY2xvY2ssIHRvbworCQkgKiAocmVkdWNlIG5vaXNlIGFuZCBwb3dlciBjb25zdW1wdGlvbikgKi8KKwkJaWYgKCFlbmFibGUpCisJCQlzbmRfYXpmMzMyOF9jb2RlY19zZXRmbXRfbG93cG93ZXIoCisJCQkJY2hpcCwKKwkJCQljaGlwLT5hdWRpb19zdHJlYW1bc3RyZWFtX3R5cGVdLnBvcnRiYXNlCisJCQkJCSsgSURYX0lPX1BMQVlfU09VTkRGT1JNQVQKKwkJCSk7CisJfQorCWNoaXAtPmF1ZGlvX3N0cmVhbVtzdHJlYW1fdHlwZV0ucnVubmluZyA9IGVuYWJsZTsKK30KKwogc3RhdGljIHZvaWQKIHNuZF9hemYzMzI4X3NldGRtYWEoc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwLAogCQkJCWxvbmcgdW5zaWduZWQgaW50IGFkZHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBjb3VudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IHNpemUsCi0JCQkJaW50IGRvX3JlY29yZGluZykKKwkJCQllbnVtIHNuZF9hemYzMzI4X3N0cmVhbV9pbmRleCBzdHJlYW1fdHlwZQorKQogewotCXVuc2lnbmVkIGxvbmcgZmxhZ3MsIHBvcnRiYXNlOwotCXVuc2lnbmVkIGludCBpc19ydW5uaW5nOwotCiAJc25kX2F6ZjMzMjhfZGJnY2FsbGVudGVyKCk7Ci0JaWYgKGRvX3JlY29yZGluZykgewotCQkvKiBhY2Nlc3MgY2FwdHVyZSByZWdpc3RlcnMsIGkuZS4gc2tpcCBwbGF5YmFjayByZWcgc2VjdGlvbiAqLwotCQlwb3J0YmFzZSA9IGNoaXAtPmNvZGVjX3BvcnQgKyAweDIwOwotCQlpc19ydW5uaW5nID0gY2hpcC0+aXNfcmVjb3JkaW5nOwotCX0gZWxzZSB7Ci0JCS8qIGFjY2VzcyB0aGUgcGxheWJhY2sgcmVnaXN0ZXIgc2VjdGlvbiAqLwotCQlwb3J0YmFzZSA9IGNoaXAtPmNvZGVjX3BvcnQgKyAweDAwOwotCQlpc19ydW5uaW5nID0gY2hpcC0+aXNfcGxheWluZzsKLQl9CisJaWYgKCFjaGlwLT5hdWRpb19zdHJlYW1bc3RyZWFtX3R5cGVdLnJ1bm5pbmcpIHsKKwkJLyogQVpGMzMyOCB1c2VzIGEgdHdvIGJ1ZmZlciBwb2ludGVyIERNQSBwbGF5YmFjayBhcHByb2FjaCAqLwogCi0JLyogQVpGMzMyOCB1c2VzIGEgdHdvIGJ1ZmZlciBwb2ludGVyIERNQSBwbGF5YmFjayBhcHByb2FjaCAqLwotCWlmICghaXNfcnVubmluZykgewotCQl1bnNpZ25lZCBsb25nIGFkZHJfYXJlYTI7Ci0JCXVuc2lnbmVkIGxvbmcgY291bnRfYXJlYXMsIGNvdW50X3RtcDsgLyogd2lkdGggMzJiaXQgLS0gb3ZlcmZsb3chISAqLworCQl1bnNpZ25lZCBsb25nIGZsYWdzLCBwb3J0YmFzZSwgYWRkcl9hcmVhMjsKKworCQkvKiB3aWR0aCAzMmJpdCAocHJldmVudCBvdmVyZmxvdyk6ICovCisJCXVuc2lnbmVkIGxvbmcgY291bnRfYXJlYXMsIGNvdW50X3RtcDsKKworCQlwb3J0YmFzZSA9IGNoaXAtPmF1ZGlvX3N0cmVhbVtzdHJlYW1fdHlwZV0ucG9ydGJhc2U7CiAJCWNvdW50X2FyZWFzID0gc2l6ZS8yOwogCQlhZGRyX2FyZWEyID0gYWRkcitjb3VudF9hcmVhczsKIAkJY291bnRfYXJlYXMtLTsgLyogbWF4LiBpbmRleCAqLwpAQCAtODg0LDExICsxMDU3LDExIEBACiAKIAlzbmRfYXpmMzMyOF9kYmdjYWxsZW50ZXIoKTsKICNpZiAwCi0Jc25kX2F6ZjMzMjhfc2V0Zm10KGNoaXAsIElEWF9JT19QTEFZX1NPVU5ERk9STUFULAorCXNuZF9hemYzMzI4X2NvZGVjX3NldGZtdChjaGlwLCBJRFhfSU9fUExBWV9TT1VOREZPUk1BVCwKIAkJcnVudGltZS0+cmF0ZSwKIAkJc25kX3BjbV9mb3JtYXRfd2lkdGgocnVudGltZS0+Zm9ybWF0KSwKIAkJcnVudGltZS0+Y2hhbm5lbHMpOwotCXNuZF9hemYzMzI4X3NldGRtYWEoY2hpcCwgcnVudGltZS0+ZG1hX2FkZHIsIGNvdW50LCBzaXplLCAwKTsKKwlzbmRfYXpmMzMyOF9zZXRkbWFhKGNoaXAsIHJ1bnRpbWUtPmRtYV9hZGRyLCBjb3VudCwgc2l6ZSwgQVpGX1BMQVlCQUNLKTsKICNlbmRpZgogCXNuZF9hemYzMzI4X2RiZ2NhbGxsZWF2ZSgpOwogCXJldHVybiAwOwpAQCAtOTA2LDExICsxMDc5LDExIEBACiAKIAlzbmRfYXpmMzMyOF9kYmdjYWxsZW50ZXIoKTsKICNpZiAwCi0Jc25kX2F6ZjMzMjhfc2V0Zm10KGNoaXAsIElEWF9JT19SRUNfU09VTkRGT1JNQVQsCisJc25kX2F6ZjMzMjhfY29kZWNfc2V0Zm10KGNoaXAsIElEWF9JT19SRUNfU09VTkRGT1JNQVQsCiAJCXJ1bnRpbWUtPnJhdGUsCiAJCXNuZF9wY21fZm9ybWF0X3dpZHRoKHJ1bnRpbWUtPmZvcm1hdCksCiAJCXJ1bnRpbWUtPmNoYW5uZWxzKTsKLQlzbmRfYXpmMzMyOF9zZXRkbWFhKGNoaXAsIHJ1bnRpbWUtPmRtYV9hZGRyLCBjb3VudCwgc2l6ZSwgMSk7CisJc25kX2F6ZjMzMjhfc2V0ZG1hYShjaGlwLCBydW50aW1lLT5kbWFfYWRkciwgY291bnQsIHNpemUsIEFaRl9DQVBUVVJFKTsKICNlbmRpZgogCXNuZF9hemYzMzI4X2RiZ2NhbGxsZWF2ZSgpOwogCXJldHVybiAwOwpAQCAtOTIzLDYgKzEwOTYsNyBAQAogCXN0cnVjdCBzbmRfcGNtX3J1bnRpbWUgKnJ1bnRpbWUgPSBzdWJzdHJlYW0tPnJ1bnRpbWU7CiAJaW50IHJlc3VsdCA9IDA7CiAJdW5zaWduZWQgaW50IHN0YXR1czE7CisJaW50IHByZXZpb3VzbHlfbXV0ZWQ7CiAKIAlzbmRfYXpmMzMyOF9kYmdjYWxscygic25kX2F6ZjMzMjhfcGxheWJhY2tfdHJpZ2dlciBjbWQgJWRcbiIsIGNtZCk7CiAKQEAgLTkzMCwyMCArMTEwNCwyMyBAQAogCWNhc2UgU05EUlZfUENNX1RSSUdHRVJfU1RBUlQ6CiAJCXNuZF9hemYzMzI4X2RiZ3BsYXkoIlNUQVJUIFBMQVlCQUNLXG4iKTsKIAotCQkvKiBtdXRlIFdhdmVPdXQgKi8KLQkJc25kX2F6ZjMzMjhfbWl4ZXJfc2V0X211dGUoY2hpcCwgSURYX01JWEVSX1dBVkVPVVQsIDEpOworCQkvKiBtdXRlIFdhdmVPdXQgKGF2b2lkIGNsaWNraW5nIGR1cmluZyBzZXR1cCkgKi8KKwkJcHJldmlvdXNseV9tdXRlZCA9CisJCQlzbmRfYXpmMzMyOF9taXhlcl9zZXRfbXV0ZShjaGlwLCBJRFhfTUlYRVJfV0FWRU9VVCwgMSk7CiAKLQkJc25kX2F6ZjMzMjhfc2V0Zm10KGNoaXAsIElEWF9JT19QTEFZX1NPVU5ERk9STUFULAorCQlzbmRfYXpmMzMyOF9jb2RlY19zZXRmbXQoY2hpcCwgSURYX0lPX1BMQVlfU09VTkRGT1JNQVQsCiAJCQlydW50aW1lLT5yYXRlLAogCQkJc25kX3BjbV9mb3JtYXRfd2lkdGgocnVudGltZS0+Zm9ybWF0KSwKIAkJCXJ1bnRpbWUtPmNoYW5uZWxzKTsKIAogCQlzcGluX2xvY2soJmNoaXAtPnJlZ19sb2NrKTsKLQkJLyogc3RvcCBwbGF5YmFjayAqLworCQkvKiBmaXJzdCwgcmVtZW1iZXIgY3VycmVudCB2YWx1ZTogKi8KIAkJc3RhdHVzMSA9IHNuZF9hemYzMzI4X2NvZGVjX2ludyhjaGlwLCBJRFhfSU9fUExBWV9GTEFHUyk7CisKKwkJLyogc3RvcCBwbGF5YmFjayAqLwogCQlzdGF0dXMxICY9IH5ETUFfUkVTVU1FOwogCQlzbmRfYXpmMzMyOF9jb2RlY19vdXR3KGNoaXAsIElEWF9JT19QTEFZX0ZMQUdTLCBzdGF0dXMxKTsKLQkgICAgCisKIAkJLyogRklYTUU6IGNsZWFyIGludGVycnVwdHMgb3Igd2hhdD8/PyAqLwogCQlzbmRfYXpmMzMyOF9jb2RlY19vdXR3KGNoaXAsIElEWF9JT19QTEFZX0lSUVRZUEUsIDB4ZmZmZik7CiAJCXNwaW5fdW5sb2NrKCZjaGlwLT5yZWdfbG9jayk7CkBAIC05NTEsNyArMTEyOCw3IEBACiAJCXNuZF9hemYzMzI4X3NldGRtYWEoY2hpcCwgcnVudGltZS0+ZG1hX2FkZHIsCiAJCQlzbmRfcGNtX2xpYl9wZXJpb2RfYnl0ZXMoc3Vic3RyZWFtKSwKIAkJCXNuZF9wY21fbGliX2J1ZmZlcl9ieXRlcyhzdWJzdHJlYW0pLAotCQkJMCk7CisJCQlBWkZfUExBWUJBQ0spOwogCiAJCXNwaW5fbG9jaygmY2hpcC0+cmVnX2xvY2spOwogI2lmZGVmIFdJTjlYCkBAIC05NzgsMzAgKzExNTUsMzUgQEAKIAkJCURNQV9TT01FVEhJTkdfRUxTRSk7CiAjZW5kaWYKIAkJc3Bpbl91bmxvY2soJmNoaXAtPnJlZ19sb2NrKTsKKwkJc25kX2F6ZjMzMjhfY29kZWNfYWN0aXZpdHkoY2hpcCwgQVpGX1BMQVlCQUNLLCAxKTsKIAogCQkvKiBub3cgdW5tdXRlIFdhdmVPdXQgKi8KLQkJc25kX2F6ZjMzMjhfbWl4ZXJfc2V0X211dGUoY2hpcCwgSURYX01JWEVSX1dBVkVPVVQsIDApOworCQlpZiAoIXByZXZpb3VzbHlfbXV0ZWQpCisJCQlzbmRfYXpmMzMyOF9taXhlcl9zZXRfbXV0ZShjaGlwLCBJRFhfTUlYRVJfV0FWRU9VVCwgMCk7CiAKLQkJY2hpcC0+aXNfcGxheWluZyA9IDE7CiAJCXNuZF9hemYzMzI4X2RiZ3BsYXkoIlNUQVJURUQgUExBWUJBQ0tcbiIpOwogCQlicmVhazsKIAljYXNlIFNORFJWX1BDTV9UUklHR0VSX1JFU1VNRToKIAkJc25kX2F6ZjMzMjhfZGJncGxheSgiUkVTVU1FIFBMQVlCQUNLXG4iKTsKIAkJLyogcmVzdW1lIHBsYXliYWNrIGlmIHdlIHdlcmUgYWN0aXZlICovCi0JCWlmIChjaGlwLT5pc19wbGF5aW5nKQorCQlzcGluX2xvY2soJmNoaXAtPnJlZ19sb2NrKTsKKwkJaWYgKGNoaXAtPmF1ZGlvX3N0cmVhbVtBWkZfUExBWUJBQ0tdLnJ1bm5pbmcpCiAJCQlzbmRfYXpmMzMyOF9jb2RlY19vdXR3KGNoaXAsIElEWF9JT19QTEFZX0ZMQUdTLAogCQkJCXNuZF9hemYzMzI4X2NvZGVjX2ludyhjaGlwLCBJRFhfSU9fUExBWV9GTEFHUykgfCBETUFfUkVTVU1FKTsKKwkJc3Bpbl91bmxvY2soJmNoaXAtPnJlZ19sb2NrKTsKIAkJYnJlYWs7CiAJY2FzZSBTTkRSVl9QQ01fVFJJR0dFUl9TVE9QOgogCQlzbmRfYXpmMzMyOF9kYmdwbGF5KCJTVE9QIFBMQVlCQUNLXG4iKTsKIAotCQkvKiBtdXRlIFdhdmVPdXQgKi8KLQkJc25kX2F6ZjMzMjhfbWl4ZXJfc2V0X211dGUoY2hpcCwgSURYX01JWEVSX1dBVkVPVVQsIDEpOworCQkvKiBtdXRlIFdhdmVPdXQgKGF2b2lkIGNsaWNraW5nIGR1cmluZyBzZXR1cCkgKi8KKwkJcHJldmlvdXNseV9tdXRlZCA9CisJCQlzbmRfYXpmMzMyOF9taXhlcl9zZXRfbXV0ZShjaGlwLCBJRFhfTUlYRVJfV0FWRU9VVCwgMSk7CiAKIAkJc3Bpbl9sb2NrKCZjaGlwLT5yZWdfbG9jayk7Ci0JCS8qIHN0b3AgcGxheWJhY2sgKi8KKwkJLyogZmlyc3QsIHJlbWVtYmVyIGN1cnJlbnQgdmFsdWU6ICovCiAJCXN0YXR1czEgPSBzbmRfYXpmMzMyOF9jb2RlY19pbncoY2hpcCwgSURYX0lPX1BMQVlfRkxBR1MpOwogCisJCS8qIHN0b3AgcGxheWJhY2sgKi8KIAkJc3RhdHVzMSAmPSB+RE1BX1JFU1VNRTsKIAkJc25kX2F6ZjMzMjhfY29kZWNfb3V0dyhjaGlwLCBJRFhfSU9fUExBWV9GTEFHUywgc3RhdHVzMSk7CiAKQEAgLTEwMTMsMTAgKzExOTUsMTIgQEAKIAkJc3RhdHVzMSAmPSB+RE1BX1BMQVlfU09NRVRISU5HMTsKIAkJc25kX2F6ZjMzMjhfY29kZWNfb3V0dyhjaGlwLCBJRFhfSU9fUExBWV9GTEFHUywgc3RhdHVzMSk7CiAJCXNwaW5fdW5sb2NrKCZjaGlwLT5yZWdfbG9jayk7Ci0JICAgIAorCQlzbmRfYXpmMzMyOF9jb2RlY19hY3Rpdml0eShjaGlwLCBBWkZfUExBWUJBQ0ssIDApOworCiAJCS8qIG5vdyB1bm11dGUgV2F2ZU91dCAqLwotCQlzbmRfYXpmMzMyOF9taXhlcl9zZXRfbXV0ZShjaGlwLCBJRFhfTUlYRVJfV0FWRU9VVCwgMCk7Ci0JCWNoaXAtPmlzX3BsYXlpbmcgPSAwOworCQlpZiAoIXByZXZpb3VzbHlfbXV0ZWQpCisJCQlzbmRfYXpmMzMyOF9taXhlcl9zZXRfbXV0ZShjaGlwLCBJRFhfTUlYRVJfV0FWRU9VVCwgMCk7CisKIAkJc25kX2F6ZjMzMjhfZGJncGxheSgiU1RPUFBFRCBQTEFZQkFDS1xuIik7CiAJCWJyZWFrOwogCWNhc2UgU05EUlZfUENNX1RSSUdHRVJfU1VTUEVORDoKQEAgLTEwMzUsNyArMTIxOSw3IEBACiAJCXByaW50ayhLRVJOX0VSUiAiRklYTUU6IHVua25vd24gdHJpZ2dlciBtb2RlIVxuIik7CiAgICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CiAJfQotCQorCiAJc25kX2F6ZjMzMjhfZGJnY2FsbGxlYXZlKCk7CiAJcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTEwNTcsMTcgKzEyNDEsMTkgQEAKIAogCQlzbmRfYXpmMzMyOF9kYmdwbGF5KCJTVEFSVCBDQVBUVVJFXG4iKTsKIAotCQlzbmRfYXpmMzMyOF9zZXRmbXQoY2hpcCwgSURYX0lPX1JFQ19TT1VOREZPUk1BVCwKKwkJc25kX2F6ZjMzMjhfY29kZWNfc2V0Zm10KGNoaXAsIElEWF9JT19SRUNfU09VTkRGT1JNQVQsCiAJCQlydW50aW1lLT5yYXRlLAogCQkJc25kX3BjbV9mb3JtYXRfd2lkdGgocnVudGltZS0+Zm9ybWF0KSwKIAkJCXJ1bnRpbWUtPmNoYW5uZWxzKTsKIAogCQlzcGluX2xvY2soJmNoaXAtPnJlZ19sb2NrKTsKLQkJLyogc3RvcCByZWNvcmRpbmcgKi8KKwkJLyogZmlyc3QsIHJlbWVtYmVyIGN1cnJlbnQgdmFsdWU6ICovCiAJCXN0YXR1czEgPSBzbmRfYXpmMzMyOF9jb2RlY19pbncoY2hpcCwgSURYX0lPX1JFQ19GTEFHUyk7CisKKwkJLyogc3RvcCByZWNvcmRpbmcgKi8KIAkJc3RhdHVzMSAmPSB+RE1BX1JFU1VNRTsKIAkJc25kX2F6ZjMzMjhfY29kZWNfb3V0dyhjaGlwLCBJRFhfSU9fUkVDX0ZMQUdTLCBzdGF0dXMxKTsKLQkgICAgCisKIAkJLyogRklYTUU6IGNsZWFyIGludGVycnVwdHMgb3Igd2hhdD8/PyAqLwogCQlzbmRfYXpmMzMyOF9jb2RlY19vdXR3KGNoaXAsIElEWF9JT19SRUNfSVJRVFlQRSwgMHhmZmZmKTsKIAkJc3Bpbl91bmxvY2soJmNoaXAtPnJlZ19sb2NrKTsKQEAgLTEwNzUsNyArMTI2MSw3IEBACiAJCXNuZF9hemYzMzI4X3NldGRtYWEoY2hpcCwgcnVudGltZS0+ZG1hX2FkZHIsCiAJCQlzbmRfcGNtX2xpYl9wZXJpb2RfYnl0ZXMoc3Vic3RyZWFtKSwKIAkJCXNuZF9wY21fbGliX2J1ZmZlcl9ieXRlcyhzdWJzdHJlYW0pLAotCQkJMSk7CisJCQlBWkZfQ0FQVFVSRSk7CiAKIAkJc3Bpbl9sb2NrKCZjaGlwLT5yZWdfbG9jayk7CiAjaWZkZWYgV0lOOVgKQEAgLTExMDIsMjQgKzEyODgsMjcgQEAKIAkJCURNQV9TT01FVEhJTkdfRUxTRSk7CiAjZW5kaWYKIAkJc3Bpbl91bmxvY2soJmNoaXAtPnJlZ19sb2NrKTsKKwkJc25kX2F6ZjMzMjhfY29kZWNfYWN0aXZpdHkoY2hpcCwgQVpGX0NBUFRVUkUsIDEpOwogCi0JCWNoaXAtPmlzX3JlY29yZGluZyA9IDE7CiAJCXNuZF9hemYzMzI4X2RiZ3BsYXkoIlNUQVJURUQgQ0FQVFVSRVxuIik7CiAJCWJyZWFrOwogCWNhc2UgU05EUlZfUENNX1RSSUdHRVJfUkVTVU1FOgogCQlzbmRfYXpmMzMyOF9kYmdwbGF5KCJSRVNVTUUgQ0FQVFVSRVxuIik7CiAJCS8qIHJlc3VtZSByZWNvcmRpbmcgaWYgd2Ugd2VyZSBhY3RpdmUgKi8KLQkJaWYgKGNoaXAtPmlzX3JlY29yZGluZykKKwkJc3Bpbl9sb2NrKCZjaGlwLT5yZWdfbG9jayk7CisJCWlmIChjaGlwLT5hdWRpb19zdHJlYW1bQVpGX0NBUFRVUkVdLnJ1bm5pbmcpCiAJCQlzbmRfYXpmMzMyOF9jb2RlY19vdXR3KGNoaXAsIElEWF9JT19SRUNfRkxBR1MsCiAJCQkJc25kX2F6ZjMzMjhfY29kZWNfaW53KGNoaXAsIElEWF9JT19SRUNfRkxBR1MpIHwgRE1BX1JFU1VNRSk7CisJCXNwaW5fdW5sb2NrKCZjaGlwLT5yZWdfbG9jayk7CiAJCWJyZWFrOwogICAgICAgICBjYXNlIFNORFJWX1BDTV9UUklHR0VSX1NUT1A6CiAJCXNuZF9hemYzMzI4X2RiZ3BsYXkoIlNUT1AgQ0FQVFVSRVxuIik7CiAKIAkJc3Bpbl9sb2NrKCZjaGlwLT5yZWdfbG9jayk7Ci0JCS8qIHN0b3AgcmVjb3JkaW5nICovCisJCS8qIGZpcnN0LCByZW1lbWJlciBjdXJyZW50IHZhbHVlOiAqLwogCQlzdGF0dXMxID0gc25kX2F6ZjMzMjhfY29kZWNfaW53KGNoaXAsIElEWF9JT19SRUNfRkxBR1MpOwogCisJCS8qIHN0b3AgcmVjb3JkaW5nICovCiAJCXN0YXR1czEgJj0gfkRNQV9SRVNVTUU7CiAJCXNuZF9hemYzMzI4X2NvZGVjX291dHcoY2hpcCwgSURYX0lPX1JFQ19GTEFHUywgc3RhdHVzMSk7CiAKQEAgLTExMjksOCArMTMxOCw4IEBACiAJCXN0YXR1czEgJj0gfkRNQV9QTEFZX1NPTUVUSElORzE7CiAJCXNuZF9hemYzMzI4X2NvZGVjX291dHcoY2hpcCwgSURYX0lPX1JFQ19GTEFHUywgc3RhdHVzMSk7CiAJCXNwaW5fdW5sb2NrKCZjaGlwLT5yZWdfbG9jayk7Ci0JICAgIAotCQljaGlwLT5pc19yZWNvcmRpbmcgPSAwOworCQlzbmRfYXpmMzMyOF9jb2RlY19hY3Rpdml0eShjaGlwLCBBWkZfQ0FQVFVSRSwgMCk7CisKIAkJc25kX2F6ZjMzMjhfZGJncGxheSgiU1RPUFBFRCBDQVBUVVJFXG4iKTsKIAkJYnJlYWs7CiAJY2FzZSBTTkRSVl9QQ01fVFJJR0dFUl9TVVNQRU5EOgpAQCAtMTE0OSw3ICsxMzM4LDcgQEAKIAkJcHJpbnRrKEtFUk5fRVJSICJGSVhNRTogdW5rbm93biB0cmlnZ2VyIG1vZGUhXG4iKTsKICAgICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKIAl9Ci0JCisKIAlzbmRfYXpmMzMyOF9kYmdjYWxsbGVhdmUoKTsKIAlyZXR1cm4gcmVzdWx0OwogfQpAQCAtMTE2MiwxMSArMTM1MSwxMSBAQAogCXNuZF9wY21fdWZyYW1lc190IGZybXJlczsKIAogI2lmZGVmIFFVRVJZX0hBUkRXQVJFCi0JYnVmcHRyID0gaW5sKGNoaXAtPmNvZGVjX3BvcnQrSURYX0lPX1BMQVlfRE1BX1NUQVJUXzEpOworCWJ1ZnB0ciA9IHNuZF9hemYzMzI4X2NvZGVjX2lubChjaGlwLCBJRFhfSU9fUExBWV9ETUFfU1RBUlRfMSk7CiAjZWxzZQogCWJ1ZnB0ciA9IHN1YnN0cmVhbS0+cnVudGltZS0+ZG1hX2FkZHI7CiAjZW5kaWYKLQlyZXN1bHQgPSBpbmwoY2hpcC0+Y29kZWNfcG9ydCtJRFhfSU9fUExBWV9ETUFfQ1VSUlBPUyk7CisJcmVzdWx0ID0gc25kX2F6ZjMzMjhfY29kZWNfaW5sKGNoaXAsIElEWF9JT19QTEFZX0RNQV9DVVJSUE9TKTsKIAogCS8qIGNhbGN1bGF0ZSBvZmZzZXQgKi8KIAlyZXN1bHQgLT0gYnVmcHRyOwpAQCAtMTE4MywxMSArMTM3MiwxMSBAQAogCXNuZF9wY21fdWZyYW1lc190IGZybXJlczsKIAogI2lmZGVmIFFVRVJZX0hBUkRXQVJFCi0JYnVmcHRyID0gaW5sKGNoaXAtPmNvZGVjX3BvcnQrSURYX0lPX1JFQ19ETUFfU1RBUlRfMSk7CisJYnVmcHRyID0gc25kX2F6ZjMzMjhfY29kZWNfaW5sKGNoaXAsIElEWF9JT19SRUNfRE1BX1NUQVJUXzEpOwogI2Vsc2UKIAlidWZwdHIgPSBzdWJzdHJlYW0tPnJ1bnRpbWUtPmRtYV9hZGRyOwogI2VuZGlmCi0JcmVzdWx0ID0gaW5sKGNoaXAtPmNvZGVjX3BvcnQrSURYX0lPX1JFQ19ETUFfQ1VSUlBPUyk7CisJcmVzdWx0ID0gc25kX2F6ZjMzMjhfY29kZWNfaW5sKGNoaXAsIElEWF9JT19SRUNfRE1BX0NVUlJQT1MpOwogCiAJLyogY2FsY3VsYXRlIG9mZnNldCAqLwogCXJlc3VsdCAtPSBidWZwdHI7CkBAIC0xMTk2LDI3ICsxMzg1LDI0MSBAQAogCXJldHVybiBmcm1yZXM7CiB9CiAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZmRlZiBTVVBQT1JUX0dBTUVQT1JUCitzdGF0aWMgaW5saW5lIHZvaWQKK3NuZF9hemYzMzI4X2dhbWVwb3J0X2lycV9lbmFibGUoc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwLCBpbnQgZW5hYmxlKQoreworCXNuZF9hemYzMzI4X2lvX3JlZ19zZXRiKAorCQljaGlwLT5nYW1lX2lvK0lEWF9HQU1FX0hXQ09ORklHLAorCQlHQU1FX0hXQ0ZHX0lSUV9FTkFCTEUsCisJCWVuYWJsZQorCSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZAorc25kX2F6ZjMzMjhfZ2FtZXBvcnRfbGVnYWN5X2FkZHJlc3NfZW5hYmxlKHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwgaW50IGVuYWJsZSkKK3sKKwlzbmRfYXpmMzMyOF9pb19yZWdfc2V0YigKKwkJY2hpcC0+Z2FtZV9pbytJRFhfR0FNRV9IV0NPTkZJRywKKwkJR0FNRV9IV0NGR19MRUdBQ1lfQUREUkVTU19FTkFCTEUsCisJCWVuYWJsZQorCSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZAorc25kX2F6ZjMzMjhfZ2FtZXBvcnRfYXhpc19jaXJjdWl0X2VuYWJsZShzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsIGludCBlbmFibGUpCit7CisJc25kX2F6ZjMzMjhfY29kZWNfcmVnXzZBSF91cGRhdGUoCisJCWNoaXAsIElPXzZBX1NPTUVUSElORzJfR0FNRVBPUlQsIGVuYWJsZQorCSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZAorc25kX2F6ZjMzMjhfZ2FtZXBvcnRfaW50ZXJydXB0KHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCkKK3sKKwkvKgorCSAqIHNrZWxldG9uIGhhbmRsZXIgb25seQorCSAqICh3ZSBkbyBub3Qgd2FudCBheGlzIHJlYWRpbmcgaW4gaW50ZXJydXB0IGhhbmRsZXIgLSB0b28gbXVjaCBsb2FkISkKKwkgKi8KKwlzbmRfYXpmMzMyOF9kYmdnYW1lKCJnYW1lcG9ydCBpcnFcbiIpOworCisJIC8qIHRoaXMgc2hvdWxkIEFDSyB0aGUgZ2FtZXBvcnQgSVJRIHByb3Blcmx5LCBob3BlZnVsbHkuICovCisJc25kX2F6ZjMzMjhfZ2FtZV9pbncoY2hpcCwgSURYX0dBTUVfQVhJU19WQUxVRSk7Cit9CisKK3N0YXRpYyBpbnQKK3NuZF9hemYzMzI4X2dhbWVwb3J0X29wZW4oc3RydWN0IGdhbWVwb3J0ICpnYW1lcG9ydCwgaW50IG1vZGUpCit7CisJc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwID0gZ2FtZXBvcnRfZ2V0X3BvcnRfZGF0YShnYW1lcG9ydCk7CisJaW50IHJlczsKKworCXNuZF9hemYzMzI4X2RiZ2dhbWUoImdhbWVwb3J0X29wZW4sIG1vZGUgJWRcbiIsIG1vZGUpOworCXN3aXRjaCAobW9kZSkgeworCWNhc2UgR0FNRVBPUlRfTU9ERV9DT09LRUQ6CisJY2FzZSBHQU1FUE9SVF9NT0RFX1JBVzoKKwkJcmVzID0gMDsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcmVzID0gLTE7CisJCWJyZWFrOworCX0KKworCXNuZF9hemYzMzI4X2dhbWVwb3J0X2F4aXNfY2lyY3VpdF9lbmFibGUoY2hpcCwgKHJlcyA9PSAwKSk7CisKKwlyZXR1cm4gcmVzOworfQorCitzdGF0aWMgdm9pZAorc25kX2F6ZjMzMjhfZ2FtZXBvcnRfY2xvc2Uoc3RydWN0IGdhbWVwb3J0ICpnYW1lcG9ydCkKK3sKKwlzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAgPSBnYW1lcG9ydF9nZXRfcG9ydF9kYXRhKGdhbWVwb3J0KTsKKworCXNuZF9hemYzMzI4X2RiZ2dhbWUoImdhbWVwb3J0X2Nsb3NlXG4iKTsKKwlzbmRfYXpmMzMyOF9nYW1lcG9ydF9heGlzX2NpcmN1aXRfZW5hYmxlKGNoaXAsIDApOworfQorCitzdGF0aWMgaW50CitzbmRfYXpmMzMyOF9nYW1lcG9ydF9jb29rZWRfcmVhZChzdHJ1Y3QgZ2FtZXBvcnQgKmdhbWVwb3J0LAorCQkJCSBpbnQgKmF4ZXMsCisJCQkJIGludCAqYnV0dG9ucworKQoreworCXN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCA9IGdhbWVwb3J0X2dldF9wb3J0X2RhdGEoZ2FtZXBvcnQpOworCWludCBpOworCXU4IHZhbDsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJc25kX2Fzc2VydChjaGlwLCByZXR1cm4gMCk7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmY2hpcC0+cmVnX2xvY2ssIGZsYWdzKTsKKwl2YWwgPSBzbmRfYXpmMzMyOF9nYW1lX2luYihjaGlwLCBJRFhfR0FNRV9MRUdBQ1lfQ09NUEFUSUJMRSk7CisJKmJ1dHRvbnMgPSAofih2YWwpID4+IDQpICYgMHhmOworCisJLyogb2ssIHRoaXMgb25lIGlzIGEgYml0IGRpcnR5OiBjb29rZWRfcmVhZCBpcyBiZWluZyBwb2xsZWQgYnkgYSB0aW1lciwKKwkgKiB0aHVzIHdlJ3JlIGF0b21pYyBhbmQgY2Fubm90IGFjdGl2ZWx5IHdhaXQgaW4gaGVyZQorCSAqICh3aGljaCB3b3VsZCBiZSB1c2VmdWwgZm9yIHVzIHNpbmNlIGl0IHByb2JhYmx5IHdvdWxkIGJlIGJldHRlcgorCSAqIHRvIHRyaWdnZXIgYSBtZWFzdXJlbWVudCBpbiBoZXJlLCB0aGVuIHdhaXQgYSBzaG9ydCBhbW91bnQgb2YKKwkgKiB0aW1lIHVudGlsIGl0J3MgZmluaXNoZWQsIHRoZW4gcmVhZCB2YWx1ZXMgb2YgX3RoaXNfIG1lYXN1cmVtZW50KS4KKwkgKgorCSAqIFRodXMgd2Ugc2ltcGx5IHJlc29ydCB0byByZWFkaW5nIHZhbHVlcyBpZiB0aGV5J3JlIGF2YWlsYWJsZSBhbHJlYWR5CisJICogYW5kIHRyaWdnZXIgdGhlIG5leHQgbWVhc3VyZW1lbnQuCisJICovCisKKwl2YWwgPSBzbmRfYXpmMzMyOF9nYW1lX2luYihjaGlwLCBJRFhfR0FNRV9BWEVTX0NPTkZJRyk7CisJaWYgKHZhbCAmIEdBTUVfQVhFU19TQU1QTElOR19SRUFEWSkgeworCQlmb3IgKGkgPSAwOyBpIDwgNDsgKytpKSB7CisJCQkvKiBjb25maWd1cmUgdGhlIGF4aXMgdG8gcmVhZCAqLworCQkJdmFsID0gKGkgPDwgNCkgfCAweDBmOworCQkJc25kX2F6ZjMzMjhfZ2FtZV9vdXRiKGNoaXAsIElEWF9HQU1FX0FYRVNfQ09ORklHLCB2YWwpOworCisJCQljaGlwLT5heGVzW2ldID0gc25kX2F6ZjMzMjhfZ2FtZV9pbncoCisJCQkJCQljaGlwLCBJRFhfR0FNRV9BWElTX1ZBTFVFCisJCQkJCSk7CisJCX0KKwl9CisKKwkvKiB0cmlnZ2VyIG5leHQgYXhlcyBzYW1wbGluZywgdG8gYmUgZXZhbHVhdGVkIHRoZSBuZXh0IHRpbWUgd2UKKwkgKiBlbnRlciB0aGlzIGZ1bmN0aW9uICovCisKKwkvKiBmb3Igc29tZSB2ZXJ5LCB2ZXJ5IHN0cmFuZ2UgcmVhc29uIHdlIGNhbm5vdCBlbmFibGUKKwkgKiBNZWFzdXJlbWVudCBSZWFkeSBtb25pdG9yaW5nIGZvciBhbGwgYXhlcyBoZXJlLAorCSAqIGF0IGxlYXN0IG5vdCB3aGVuIG9ubHkgb25lIGpveXN0aWNrIGNvbm5lY3RlZCAqLworCXZhbCA9IDB4MDM7IC8qIHdlJ3JlIGFibGUgdG8gbW9uaXRvciBheGVzIDEgYW5kIDIgb25seSAqLworCXNuZF9hemYzMzI4X2dhbWVfb3V0YihjaGlwLCBJRFhfR0FNRV9BWEVTX0NPTkZJRywgdmFsKTsKKworCXNuZF9hemYzMzI4X2dhbWVfb3V0dyhjaGlwLCBJRFhfR0FNRV9BWElTX1ZBTFVFLCAweGZmZmYpOworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmNoaXAtPnJlZ19sb2NrLCBmbGFncyk7CisKKwlmb3IgKGkgPSAwOyBpIDwgNDsgaSsrKSB7CisJCWF4ZXNbaV0gPSBjaGlwLT5heGVzW2ldOworCQlpZiAoYXhlc1tpXSA9PSAweGZmZmYpCisJCQlheGVzW2ldID0gLTE7CisJfQorCisJc25kX2F6ZjMzMjhfZGJnZ2FtZSgiY29va2VkX3JlYWQ6IGF4ZXMgJWQgJWQgJWQgJWQgYnV0dG9ucyAlZFxuIiwKKwkJYXhlc1swXSwgYXhlc1sxXSwgYXhlc1syXSwgYXhlc1szXSwgKmJ1dHRvbnMKKwkpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgX19kZXZpbml0CitzbmRfYXpmMzMyOF9nYW1lcG9ydChzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsIGludCBkZXYpCit7CisJc3RydWN0IGdhbWVwb3J0ICpncDsKKworCWNoaXAtPmdhbWVwb3J0ID0gZ3AgPSBnYW1lcG9ydF9hbGxvY2F0ZV9wb3J0KCk7CisJaWYgKCFncCkgeworCQlwcmludGsoS0VSTl9FUlIgImF6dDMzMjg6IGNhbm5vdCBhbGxvYyBtZW1vcnkgZm9yIGdhbWVwb3J0XG4iKTsKKwkJcmV0dXJuIC1FTk9NRU07CisJfQorCisJZ2FtZXBvcnRfc2V0X25hbWUoZ3AsICJBWkYzMzI4IEdhbWVwb3J0Iik7CisJZ2FtZXBvcnRfc2V0X3BoeXMoZ3AsICJwY2klcy9nYW1lcG9ydDAiLCBwY2lfbmFtZShjaGlwLT5wY2kpKTsKKwlnYW1lcG9ydF9zZXRfZGV2X3BhcmVudChncCwgJmNoaXAtPnBjaS0+ZGV2KTsKKwlncC0+aW8gPSBjaGlwLT5nYW1lX2lvOworCWdhbWVwb3J0X3NldF9wb3J0X2RhdGEoZ3AsIGNoaXApOworCisJZ3AtPm9wZW4gPSBzbmRfYXpmMzMyOF9nYW1lcG9ydF9vcGVuOworCWdwLT5jbG9zZSA9IHNuZF9hemYzMzI4X2dhbWVwb3J0X2Nsb3NlOworCWdwLT5mdXp6ID0gMTY7IC8qIHNlZW1zIG9rICovCisJZ3AtPmNvb2tlZF9yZWFkID0gc25kX2F6ZjMzMjhfZ2FtZXBvcnRfY29va2VkX3JlYWQ7CisKKwkvKiBESVNBQkxFIGxlZ2FjeSBhZGRyZXNzOiB3ZSBkb24ndCBuZWVkIGl0ISAqLworCXNuZF9hemYzMzI4X2dhbWVwb3J0X2xlZ2FjeV9hZGRyZXNzX2VuYWJsZShjaGlwLCAwKTsKKworCXNuZF9hemYzMzI4X2dhbWVwb3J0X2F4aXNfY2lyY3VpdF9lbmFibGUoY2hpcCwgMCk7CisKKwlnYW1lcG9ydF9yZWdpc3Rlcl9wb3J0KGNoaXAtPmdhbWVwb3J0KTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZAorc25kX2F6ZjMzMjhfZ2FtZXBvcnRfZnJlZShzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXApCit7CisJaWYgKGNoaXAtPmdhbWVwb3J0KSB7CisJCWdhbWVwb3J0X3VucmVnaXN0ZXJfcG9ydChjaGlwLT5nYW1lcG9ydCk7CisJCWNoaXAtPmdhbWVwb3J0ID0gTlVMTDsKKwl9CisJc25kX2F6ZjMzMjhfZ2FtZXBvcnRfaXJxX2VuYWJsZShjaGlwLCAwKTsKK30KKyNlbHNlCitzdGF0aWMgaW5saW5lIGludAorc25kX2F6ZjMzMjhfZ2FtZXBvcnQoc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwLCBpbnQgZGV2KSB7IHJldHVybiAtRU5PU1lTOyB9CitzdGF0aWMgaW5saW5lIHZvaWQKK3NuZF9hemYzMzI4X2dhbWVwb3J0X2ZyZWUoc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwKSB7IH0KK3N0YXRpYyBpbmxpbmUgdm9pZAorc25kX2F6ZjMzMjhfZ2FtZXBvcnRfaW50ZXJydXB0KHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCkKK3sKKwlwcmludGsoS0VSTl9XQVJOSU5HICJodWgsIGdhbWUgcG9ydCBJUlEgb2NjdXJyZWQhP1xuIik7Cit9CisjZW5kaWYgLyogU1VQUE9SVF9HQU1FUE9SVCAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitzdGF0aWMgaW5saW5lIHZvaWQKK3NuZF9hemYzMzI4X2lycV9sb2dfdW5rbm93bl90eXBlKHU4IHdoaWNoKQoreworCXNuZF9hemYzMzI4X2RiZ3BsYXkoCisJImF6dDMzMjg6IHVua25vd24gSVJRIHR5cGUgKCV4KSBvY2N1cnJlZCwgcGxlYXNlIHJlcG9ydCFcbiIsCisJCXdoaWNoCisJKTsKK30KKwogc3RhdGljIGlycXJldHVybl90CiBzbmRfYXpmMzMyOF9pbnRlcnJ1cHQoaW50IGlycSwgdm9pZCAqZGV2X2lkKQogewogCXN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCA9IGRldl9pZDsKIAl1OCBzdGF0dXMsIHdoaWNoOworI2lmIERFQlVHX1BMQVlfUkVDCiAJc3RhdGljIHVuc2lnbmVkIGxvbmcgaXJxX2NvdW50OworI2VuZGlmCiAKIAlzdGF0dXMgPSBzbmRfYXpmMzMyOF9jb2RlY19pbmIoY2hpcCwgSURYX0lPX0lSUVNUQVRVUyk7CiAKICAgICAgICAgLyogZmFzdCBwYXRoIG91dCwgdG8gZWFzZSBpbnRlcnJ1cHQgc2hhcmluZyAqLwotCWlmICghKHN0YXR1cyAmIChJUlFfUExBWUJBQ0t8SVJRX1JFQ09SRElOR3xJUlFfTVBVNDAxfElSUV9USU1FUikpKQorCWlmICghKHN0YXR1cyAmCisJCShJUlFfUExBWUJBQ0t8SVJRX1JFQ09SRElOR3xJUlFfR0FNRVBPUlR8SVJRX01QVTQwMXxJUlFfVElNRVIpCisJKSkKIAkJcmV0dXJuIElSUV9OT05FOyAvKiBtdXN0IGJlIGludGVycnVwdCBmb3IgYW5vdGhlciBkZXZpY2UgKi8KIAotCXNuZF9hemYzMzI4X2RiZ3BsYXkoIkludGVycnVwdCAlbGQhXG5JRFhfSU9fUExBWV9GTEFHUyAlMDR4LCBJRFhfSU9fUExBWV9JUlFUWVBFICUwNHgsIElEWF9JT19JUlFTVEFUVVMgJTA0eFxuIiwKLQkJaXJxX2NvdW50LAotCQlzbmRfYXpmMzMyOF9jb2RlY19pbncoY2hpcCwgSURYX0lPX1BMQVlfRkxBR1MpLAotCQlzbmRfYXpmMzMyOF9jb2RlY19pbncoY2hpcCwgSURYX0lPX1BMQVlfSVJRVFlQRSksCi0JCXN0YXR1cyk7Ci0JCQorCXNuZF9hemYzMzI4X2RiZ3BsYXkoCisJCSJpcnFfY291bnQgJWxkISBJRFhfSU9fUExBWV9GTEFHUyAlMDR4LCAiCisJCSJJRFhfSU9fUExBWV9JUlFUWVBFICUwNHgsIElEWF9JT19JUlFTVEFUVVMgJTA0eFxuIiwKKwkJCWlycV9jb3VudCsrIC8qIGRlYnVnLW9ubHkgKi8sCisJCQlzbmRfYXpmMzMyOF9jb2RlY19pbncoY2hpcCwgSURYX0lPX1BMQVlfRkxBR1MpLAorCQkJc25kX2F6ZjMzMjhfY29kZWNfaW53KGNoaXAsIElEWF9JT19QTEFZX0lSUVRZUEUpLAorCQkJc3RhdHVzCisJKTsKKwogCWlmIChzdGF0dXMgJiBJUlFfVElNRVIpIHsKLQkJLyogc25kX2F6ZjMzMjhfZGJncGxheSgidGltZXIgJWxkXG4iLCBpbmwoY2hpcC0+Y29kZWNfcG9ydCtJRFhfSU9fVElNRVJfVkFMVUUpICYgVElNRVJfVkFMVUVfTUFTSyk7ICovCisJCS8qIHNuZF9hemYzMzI4X2RiZ3BsYXkoInRpbWVyICVsZFxuIiwKKwkJCXNuZF9hemYzMzI4X2NvZGVjX2lubChjaGlwLCBJRFhfSU9fVElNRVJfVkFMVUUpCisJCQkJJiBUSU1FUl9WQUxVRV9NQVNLCisJCSk7ICovCiAJCWlmIChjaGlwLT50aW1lcikKIAkJCXNuZF90aW1lcl9pbnRlcnJ1cHQoY2hpcC0+dGltZXIsIGNoaXAtPnRpbWVyLT5zdGlja3MpOwogCQkvKiBBQ0sgdGltZXIgKi8KQEAgLTEyMzIsMTUgKzE2MzUsMjAgQEAKIAkJc25kX2F6ZjMzMjhfY29kZWNfb3V0YihjaGlwLCBJRFhfSU9fUExBWV9JUlFUWVBFLCB3aGljaCk7CiAgICAgICAgICAgICAgICAJc3Bpbl91bmxvY2soJmNoaXAtPnJlZ19sb2NrKTsKIAotCQlpZiAoY2hpcC0+cGNtICYmIGNoaXAtPnBsYXliYWNrX3N1YnN0cmVhbSkgewotCQkJc25kX3BjbV9wZXJpb2RfZWxhcHNlZChjaGlwLT5wbGF5YmFja19zdWJzdHJlYW0pOworCQlpZiAoY2hpcC0+cGNtICYmIGNoaXAtPmF1ZGlvX3N0cmVhbVtBWkZfUExBWUJBQ0tdLnN1YnN0cmVhbSkgeworCQkJc25kX3BjbV9wZXJpb2RfZWxhcHNlZCgKKwkJCQljaGlwLT5hdWRpb19zdHJlYW1bQVpGX1BMQVlCQUNLXS5zdWJzdHJlYW0KKwkJCSk7CiAJCQlzbmRfYXpmMzMyOF9kYmdwbGF5KCJQTEFZIHBlcmlvZCBkb25lICgjJXgpLCBAICV4XG4iLAogCQkJCXdoaWNoLAotCQkJCWlubChjaGlwLT5jb2RlY19wb3J0K0lEWF9JT19QTEFZX0RNQV9DVVJSUE9TKSk7CisJCQkJc25kX2F6ZjMzMjhfY29kZWNfaW5sKAorCQkJCQljaGlwLCBJRFhfSU9fUExBWV9ETUFfQ1VSUlBPUworCQkJCSkKKwkJCSk7CiAJCX0gZWxzZQotCQkJc25kX2F6ZjMzMjhfZGJncGxheSgiYXp0MzMyODogb3VjaCwgaXJxIGhhbmRsZXIgcHJvYmxlbSFcbiIpOworCQkJcHJpbnRrKEtFUk5fV0FSTklORyAiYXp0MzMyODogaXJxIGhhbmRsZXIgcHJvYmxlbSFcbiIpOwogCQlpZiAod2hpY2ggJiBJUlFfUExBWV9TT01FVEhJTkcpCi0JCQlzbmRfYXpmMzMyOF9kYmdwbGF5KCJhenQzMzI4OiB1bmtub3duIHBsYXkgSVJRIHR5cGUgb2NjdXJyZWQsIHBsZWFzZSByZXBvcnQhXG4iKTsKKwkJCXNuZF9hemYzMzI4X2lycV9sb2dfdW5rbm93bl90eXBlKHdoaWNoKTsKIAl9CiAJaWYgKHN0YXR1cyAmIElSUV9SRUNPUkRJTkcpIHsKICAgICAgICAgICAgICAgICBzcGluX2xvY2soJmNoaXAtPnJlZ19sb2NrKTsKQEAgLTEyNDksMTYgKzE2NTcsMjMgQEAKIAkJc25kX2F6ZjMzMjhfY29kZWNfb3V0YihjaGlwLCBJRFhfSU9fUkVDX0lSUVRZUEUsIHdoaWNoKTsKIAkJc3Bpbl91bmxvY2soJmNoaXAtPnJlZ19sb2NrKTsKIAotCQlpZiAoY2hpcC0+cGNtICYmIGNoaXAtPmNhcHR1cmVfc3Vic3RyZWFtKSB7Ci0JCQlzbmRfcGNtX3BlcmlvZF9lbGFwc2VkKGNoaXAtPmNhcHR1cmVfc3Vic3RyZWFtKTsKKwkJaWYgKGNoaXAtPnBjbSAmJiBjaGlwLT5hdWRpb19zdHJlYW1bQVpGX0NBUFRVUkVdLnN1YnN0cmVhbSkgeworCQkJc25kX3BjbV9wZXJpb2RfZWxhcHNlZCgKKwkJCQljaGlwLT5hdWRpb19zdHJlYW1bQVpGX0NBUFRVUkVdLnN1YnN0cmVhbQorCQkJKTsKIAkJCXNuZF9hemYzMzI4X2RiZ3BsYXkoIlJFQyAgcGVyaW9kIGRvbmUgKCMleCksIEAgJXhcbiIsCiAJCQkJd2hpY2gsCi0JCQkJaW5sKGNoaXAtPmNvZGVjX3BvcnQrSURYX0lPX1JFQ19ETUFfQ1VSUlBPUykpOworCQkJCXNuZF9hemYzMzI4X2NvZGVjX2lubCgKKwkJCQkJY2hpcCwgSURYX0lPX1JFQ19ETUFfQ1VSUlBPUworCQkJCSkKKwkJCSk7CiAJCX0gZWxzZQotCQkJc25kX2F6ZjMzMjhfZGJncGxheSgiYXp0MzMyODogb3VjaCwgaXJxIGhhbmRsZXIgcHJvYmxlbSFcbiIpOworCQkJcHJpbnRrKEtFUk5fV0FSTklORyAiYXp0MzMyODogaXJxIGhhbmRsZXIgcHJvYmxlbSFcbiIpOwogCQlpZiAod2hpY2ggJiBJUlFfUkVDX1NPTUVUSElORykKLQkJCXNuZF9hemYzMzI4X2RiZ3BsYXkoImF6dDMzMjg6IHVua25vd24gcmVjIElSUSB0eXBlIG9jY3VycmVkLCBwbGVhc2UgcmVwb3J0IVxuIik7CisJCQlzbmRfYXpmMzMyOF9pcnFfbG9nX3Vua25vd25fdHlwZSh3aGljaCk7CiAJfQorCWlmIChzdGF0dXMgJiBJUlFfR0FNRVBPUlQpCisJCXNuZF9hemYzMzI4X2dhbWVwb3J0X2ludGVycnVwdChjaGlwKTsKIAkvKiBNUFU0MDEgaGFzIGxlc3MgY3JpdGljYWwgSVJRIHJlcXVpcmVtZW50cwogCSAqIHRoYW4gdGltZXIgYW5kIHBsYXliYWNrL3JlY29yZGluZywgcmlnaHQ/ICovCiAJaWYgKHN0YXR1cyAmIElSUV9NUFU0MDEpIHsKQEAgLTEyNjgsNyArMTY4Myw2IEBACiAJCSAqIElmIHNvLCB0aGVuIEkgZG9uJ3Qga25vdyBob3cuLi4gKi8KIAkJc25kX2F6ZjMzMjhfZGJncGxheSgiYXp0MzMyODogTVBVNDAxIElSUVxuIik7CiAJfQotCWlycV9jb3VudCsrOwogCXJldHVybiBJUlFfSEFORExFRDsKIH0KIApAQCAtMTI4Nyw4ICsxNzAxLDggQEAKIAkucmF0ZXMgPQkJU05EUlZfUENNX1JBVEVfNTUxMiB8CiAJCQkJU05EUlZfUENNX1JBVEVfODAwMF80ODAwMCB8CiAJCQkJU05EUlZfUENNX1JBVEVfS05PVCwKLQkucmF0ZV9taW4gPQkJNDAwMCwKLQkucmF0ZV9tYXggPQkJNjYyMDAsCisJLnJhdGVfbWluID0JCUFaRl9GUkVRXzQwMDAsCisJLnJhdGVfbWF4ID0JCUFaRl9GUkVRXzY2MjAwLAogCS5jaGFubmVsc19taW4gPQkJMSwKIAkuY2hhbm5lbHNfbWF4ID0JCTIsCiAJLmJ1ZmZlcl9ieXRlc19tYXggPQk2NTUzNiwKQEAgLTEzMTUsOCArMTcyOSw4IEBACiAJLnJhdGVzID0JCVNORFJWX1BDTV9SQVRFXzU1MTIgfAogCQkJCVNORFJWX1BDTV9SQVRFXzgwMDBfNDgwMDAgfAogCQkJCVNORFJWX1BDTV9SQVRFX0tOT1QsCi0JLnJhdGVfbWluID0JCTQwMDAsCi0JLnJhdGVfbWF4ID0JCTY2MjAwLAorCS5yYXRlX21pbiA9CQlBWkZfRlJFUV80MDAwLAorCS5yYXRlX21heCA9CQlBWkZfRlJFUV82NjIwMCwKIAkuY2hhbm5lbHNfbWluID0JCTEsCiAJLmNoYW5uZWxzX21heCA9CQkyLAogCS5idWZmZXJfYnl0ZXNfbWF4ID0JNjU1MzYsCkBAIC0xMzI5LDEwICsxNzQzLDI0IEBACiAKIAogc3RhdGljIHVuc2lnbmVkIGludCBzbmRfYXpmMzMyOF9maXhlZF9yYXRlc1tdID0gewotCTQwMDAsIDQ4MDAsIDU1MTIsIDY2MjAsIDgwMDAsIDk2MDAsIDExMDI1LCAxMzI0MCwgMTYwMDAsIDIyMDUwLCAzMjAwMCwKLQk0NDEwMCwgNDgwMDAsIDY2MjAwIH07CisJQVpGX0ZSRVFfNDAwMCwKKwlBWkZfRlJFUV80ODAwLAorCUFaRl9GUkVRXzU1MTIsCisJQVpGX0ZSRVFfNjYyMCwKKwlBWkZfRlJFUV84MDAwLAorCUFaRl9GUkVRXzk2MDAsCisJQVpGX0ZSRVFfMTEwMjUsCisJQVpGX0ZSRVFfMTMyNDAsCisJQVpGX0ZSRVFfMTYwMDAsCisJQVpGX0ZSRVFfMjIwNTAsCisJQVpGX0ZSRVFfMzIwMDAsCisJQVpGX0ZSRVFfNDQxMDAsCisJQVpGX0ZSRVFfNDgwMDAsCisJQVpGX0ZSRVFfNjYyMDAKK307CisKIHN0YXRpYyBzdHJ1Y3Qgc25kX3BjbV9od19jb25zdHJhaW50X2xpc3Qgc25kX2F6ZjMzMjhfaHdfY29uc3RyYWludHNfcmF0ZXMgPSB7Ci0JLmNvdW50ID0gQVJSQVlfU0laRShzbmRfYXpmMzMyOF9maXhlZF9yYXRlcyksIAorCS5jb3VudCA9IEFSUkFZX1NJWkUoc25kX2F6ZjMzMjhfZml4ZWRfcmF0ZXMpLAogCS5saXN0ID0gc25kX2F6ZjMzMjhfZml4ZWRfcmF0ZXMsCiAJLm1hc2sgPSAwLAogfTsKQEAgLTEzNDYsNyArMTc3NCw3IEBACiAJc3RydWN0IHNuZF9wY21fcnVudGltZSAqcnVudGltZSA9IHN1YnN0cmVhbS0+cnVudGltZTsKIAogCXNuZF9hemYzMzI4X2RiZ2NhbGxlbnRlcigpOwotCWNoaXAtPnBsYXliYWNrX3N1YnN0cmVhbSA9IHN1YnN0cmVhbTsKKwljaGlwLT5hdWRpb19zdHJlYW1bQVpGX1BMQVlCQUNLXS5zdWJzdHJlYW0gPSBzdWJzdHJlYW07CiAJcnVudGltZS0+aHcgPSBzbmRfYXpmMzMyOF9wbGF5YmFjazsKIAlzbmRfcGNtX2h3X2NvbnN0cmFpbnRfbGlzdChydW50aW1lLCAwLCBTTkRSVl9QQ01fSFdfUEFSQU1fUkFURSwKIAkJCQkgICAmc25kX2F6ZjMzMjhfaHdfY29uc3RyYWludHNfcmF0ZXMpOwpAQCAtMTM2MSw3ICsxNzg5LDcgQEAKIAlzdHJ1Y3Qgc25kX3BjbV9ydW50aW1lICpydW50aW1lID0gc3Vic3RyZWFtLT5ydW50aW1lOwogCiAJc25kX2F6ZjMzMjhfZGJnY2FsbGVudGVyKCk7Ci0JY2hpcC0+Y2FwdHVyZV9zdWJzdHJlYW0gPSBzdWJzdHJlYW07CisJY2hpcC0+YXVkaW9fc3RyZWFtW0FaRl9DQVBUVVJFXS5zdWJzdHJlYW0gPSBzdWJzdHJlYW07CiAJcnVudGltZS0+aHcgPSBzbmRfYXpmMzMyOF9jYXB0dXJlOwogCXNuZF9wY21faHdfY29uc3RyYWludF9saXN0KHJ1bnRpbWUsIDAsIFNORFJWX1BDTV9IV19QQVJBTV9SQVRFLAogCQkJCSAgICZzbmRfYXpmMzMyOF9od19jb25zdHJhaW50c19yYXRlcyk7CkBAIC0xMzc1LDcgKzE4MDMsNyBAQAogCXN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCA9IHNuZF9wY21fc3Vic3RyZWFtX2NoaXAoc3Vic3RyZWFtKTsKIAogCXNuZF9hemYzMzI4X2RiZ2NhbGxlbnRlcigpOwotCWNoaXAtPnBsYXliYWNrX3N1YnN0cmVhbSA9IE5VTEw7CisJY2hpcC0+YXVkaW9fc3RyZWFtW0FaRl9QTEFZQkFDS10uc3Vic3RyZWFtID0gTlVMTDsKIAlzbmRfYXpmMzMyOF9kYmdjYWxsbGVhdmUoKTsKIAlyZXR1cm4gMDsKIH0KQEAgLTEzODYsNyArMTgxNCw3IEBACiAJc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwID0gc25kX3BjbV9zdWJzdHJlYW1fY2hpcChzdWJzdHJlYW0pOwogCiAJc25kX2F6ZjMzMjhfZGJnY2FsbGVudGVyKCk7Ci0JY2hpcC0+Y2FwdHVyZV9zdWJzdHJlYW0gPSBOVUxMOworCWNoaXAtPmF1ZGlvX3N0cmVhbVtBWkZfQ0FQVFVSRV0uc3Vic3RyZWFtID0gTlVMTDsKIAlzbmRfYXpmMzMyOF9kYmdjYWxsbGVhdmUoKTsKIAlyZXR1cm4gMDsKIH0KQEAgLTE0NDEsMTAyICsxODY5LDggQEAKIAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIAotI2lmZGVmIFNVUFBPUlRfSk9ZU1RJQ0sKLXN0YXRpYyBpbnQgX19kZXZpbml0Ci1zbmRfYXpmMzMyOF9jb25maWdfam95c3RpY2soc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwLCBpbnQgZGV2KQotewotCXN0cnVjdCBnYW1lcG9ydCAqZ3A7Ci0Jc3RydWN0IHJlc291cmNlICpyOwotCi0JaWYgKCFqb3lzdGlja1tkZXZdKQotCQlyZXR1cm4gLUVOT0RFVjsKLQotCWlmICghKHIgPSByZXF1ZXN0X3JlZ2lvbigweDIwMCwgOCwgIkFaRjMzMjggZ2FtZXBvcnQiKSkpIHsKLQkJcHJpbnRrKEtFUk5fV0FSTklORyAiYXp0MzMyODogY2Fubm90IHJlc2VydmUgam95c3RpY2sgcG9ydHNcbiIpOwotCQlyZXR1cm4gLUVCVVNZOwotCX0KLQotCWNoaXAtPmdhbWVwb3J0ID0gZ3AgPSBnYW1lcG9ydF9hbGxvY2F0ZV9wb3J0KCk7Ci0JaWYgKCFncCkgewotCQlwcmludGsoS0VSTl9FUlIgImF6dDMzMjg6IGNhbm5vdCBhbGxvY2F0ZSBtZW1vcnkgZm9yIGdhbWVwb3J0XG4iKTsKLQkJcmVsZWFzZV9hbmRfZnJlZV9yZXNvdXJjZShyKTsKLQkJcmV0dXJuIC1FTk9NRU07Ci0JfQotCi0JZ2FtZXBvcnRfc2V0X25hbWUoZ3AsICJBWkYzMzI4IEdhbWVwb3J0Iik7Ci0JZ2FtZXBvcnRfc2V0X3BoeXMoZ3AsICJwY2klcy9nYW1lcG9ydDAiLCBwY2lfbmFtZShjaGlwLT5wY2kpKTsKLQlnYW1lcG9ydF9zZXRfZGV2X3BhcmVudChncCwgJmNoaXAtPnBjaS0+ZGV2KTsKLQlncC0+aW8gPSAweDIwMDsKLQlnYW1lcG9ydF9zZXRfcG9ydF9kYXRhKGdwLCByKTsKLQotCXNuZF9hemYzMzI4X2lvMl9vdXRiKGNoaXAsIElEWF9JTzJfTEVHQUNZX0FERFIsCi0JCQkgICAgICBzbmRfYXpmMzMyOF9pbzJfaW5iKGNoaXAsIElEWF9JTzJfTEVHQUNZX0FERFIpIHwgTEVHQUNZX0pPWSk7Ci0KLQlnYW1lcG9ydF9yZWdpc3Rlcl9wb3J0KGNoaXAtPmdhbWVwb3J0KTsKLQotCXJldHVybiAwOwotfQotCi1zdGF0aWMgdm9pZAotc25kX2F6ZjMzMjhfZnJlZV9qb3lzdGljayhzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXApCi17Ci0JaWYgKGNoaXAtPmdhbWVwb3J0KSB7Ci0JCXN0cnVjdCByZXNvdXJjZSAqciA9IGdhbWVwb3J0X2dldF9wb3J0X2RhdGEoY2hpcC0+Z2FtZXBvcnQpOwotCi0JCWdhbWVwb3J0X3VucmVnaXN0ZXJfcG9ydChjaGlwLT5nYW1lcG9ydCk7Ci0JCWNoaXAtPmdhbWVwb3J0ID0gTlVMTDsKLQkJLyogZGlzYWJsZSBnYW1lcG9ydCAqLwotCQlzbmRfYXpmMzMyOF9pbzJfb3V0YihjaGlwLCBJRFhfSU8yX0xFR0FDWV9BRERSLAotCQkJCSAgICAgIHNuZF9hemYzMzI4X2lvMl9pbmIoY2hpcCwgSURYX0lPMl9MRUdBQ1lfQUREUikgJiB+TEVHQUNZX0pPWSk7Ci0JCXJlbGVhc2VfYW5kX2ZyZWVfcmVzb3VyY2Uocik7Ci0JfQotfQotI2Vsc2UKLXN0YXRpYyBpbmxpbmUgaW50Ci1zbmRfYXpmMzMyOF9jb25maWdfam95c3RpY2soc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwLCBpbnQgZGV2KSB7IHJldHVybiAtRU5PU1lTOyB9Ci1zdGF0aWMgaW5saW5lIHZvaWQKLXNuZF9hemYzMzI4X2ZyZWVfam95c3RpY2soc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwKSB7IH0KLSNlbmRpZgotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotCi1zdGF0aWMgaW50Ci1zbmRfYXpmMzMyOF9mcmVlKHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCkKLXsKLSAgICAgICAgaWYgKGNoaXAtPmlycSA8IDApCi0gICAgICAgICAgICAgICAgZ290byBfX2VuZF9odzsKLQotCS8qIHJlc2V0IChjbG9zZSkgbWl4ZXIgKi8KLQlzbmRfYXpmMzMyOF9taXhlcl9zZXRfbXV0ZShjaGlwLCBJRFhfTUlYRVJfUExBWV9NQVNURVIsIDEpOyAvKiBmaXJzdCBtdXRlIG1hc3RlciB2b2x1bWUgKi8KLQlzbmRfYXpmMzMyOF9taXhlcl9vdXR3KGNoaXAsIElEWF9NSVhFUl9SRVNFVCwgMHgwMDAwKTsKLQotICAgICAgICAvKiBpbnRlcnJ1cHQgc2V0dXAgLSBtYXNrIGV2ZXJ5dGhpbmcgKEZJWE1FISkgKi8KLQkvKiB3ZWxsLCBhdCBsZWFzdCB3ZSBrbm93IGhvdyB0byBkaXNhYmxlIHRoZSB0aW1lciBJUlEgKi8KLQlzbmRfYXpmMzMyOF9jb2RlY19vdXRiKGNoaXAsIElEWF9JT19USU1FUl9WQUxVRSArIDMsIDB4MDApOwotCi0JaWYgKGNoaXAtPmlycSA+PSAwKQotICAgICAgICAJc3luY2hyb25pemVfaXJxKGNoaXAtPmlycSk7Ci1fX2VuZF9odzoKLQlzbmRfYXpmMzMyOF9mcmVlX2pveXN0aWNrKGNoaXApOwotICAgICAgICBpZiAoY2hpcC0+aXJxID49IDApCi0JCWZyZWVfaXJxKGNoaXAtPmlycSwgY2hpcCk7Ci0JcGNpX3JlbGVhc2VfcmVnaW9ucyhjaGlwLT5wY2kpOwotCXBjaV9kaXNhYmxlX2RldmljZShjaGlwLT5wY2kpOwotCi0gICAgICAgIGtmcmVlKGNoaXApOwotICAgICAgICByZXR1cm4gMDsKLX0KLQotc3RhdGljIGludAotc25kX2F6ZjMzMjhfZGV2X2ZyZWUoc3RydWN0IHNuZF9kZXZpY2UgKmRldmljZSkKLXsKLQlzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAgPSBkZXZpY2UtPmRldmljZV9kYXRhOwotCXJldHVybiBzbmRfYXpmMzMyOF9mcmVlKGNoaXApOwotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotCi0vKioqIE5PVEU6IHRoZSBwaHlzaWNhbCB0aW1lciByZXNvbHV0aW9uIGFjdHVhbGx5IGlzIDEwMjQwMDAgdGlja3MgcGVyIHNlY29uZCwKKy8qKiogTk9URTogdGhlIHBoeXNpY2FsIHRpbWVyIHJlc29sdXRpb24gYWN0dWFsbHkgaXMgMTAyNDAwMCB0aWNrcyBwZXIgc2Vjb25kCisgKioqIChwcm9iYWJseSBkZXJpdmVkIGZyb20gbWFpbiBjcnlzdGFsIHZpYSBhIGRpdmlkZXIgb2YgMjQpLAogICoqKiBidXQgYW5ub3VuY2luZyB0aG9zZSBhdHRyaWJ1dGVzIHRvIHVzZXItc3BhY2Ugd291bGQgbWFrZSBwcm9ncmFtcwogICoqKiBjb25maWd1cmUgdGhlIHRpbWVyIHRvIGEgMSB0aWNrIHZhbHVlLCByZXN1bHRpbmcgaW4gYW4gYWJzb2x1dGVseSBmYXRhbAogICoqKiB0aW1lciBJUlEgc3Rvcm0uCkBAIC0xNTY0LDcgKzE4OTgsNyBAQAogCQlkZWxheSA9IDQ5OyAvKiBtaW5pbXVtIHRpbWUgaXMgNDkgdGlja3MgKi8KIAl9CiAJc25kX2F6ZjMzMjhfZGJndGltZXIoInNldHRpbmcgdGltZXIgY291bnRkb3duIHZhbHVlICVkLCBhZGQgQ09VTlRET1dOfElSUVxuIiwgZGVsYXkpOwotCWRlbGF5IHw9IFRJTUVSX0VOQUJMRV9DT1VOVERPV04gfCBUSU1FUl9FTkFCTEVfSVJROworCWRlbGF5IHw9IFRJTUVSX0NPVU5URE9XTl9FTkFCTEUgfCBUSU1FUl9JUlFfRU5BQkxFOwogCXNwaW5fbG9ja19pcnFzYXZlKCZjaGlwLT5yZWdfbG9jaywgZmxhZ3MpOwogCXNuZF9hemYzMzI4X2NvZGVjX291dGwoY2hpcCwgSURYX0lPX1RJTUVSX1ZBTFVFLCBkZWxheSk7CiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY2hpcC0+cmVnX2xvY2ssIGZsYWdzKTsKQEAgLTE1ODIsNyArMTkxNiw3IEBACiAJY2hpcCA9IHNuZF90aW1lcl9jaGlwKHRpbWVyKTsKIAlzcGluX2xvY2tfaXJxc2F2ZSgmY2hpcC0+cmVnX2xvY2ssIGZsYWdzKTsKIAkvKiBkaXNhYmxlIHRpbWVyIGNvdW50ZG93biBhbmQgaW50ZXJydXB0ICovCi0JLyogRklYTUU6IHNob3VsZCB3ZSB3cml0ZSBUSU1FUl9BQ0tfSVJRIGhlcmU/ICovCisJLyogRklYTUU6IHNob3VsZCB3ZSB3cml0ZSBUSU1FUl9JUlFfQUNLIGhlcmU/ICovCiAJc25kX2F6ZjMzMjhfY29kZWNfb3V0YihjaGlwLCBJRFhfSU9fVElNRVJfVkFMVUUgKyAzLCAwKTsKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjaGlwLT5yZWdfbG9jaywgZmxhZ3MpOwogCXNuZF9hemYzMzI4X2RiZ2NhbGxsZWF2ZSgpOwpAQCAtMTYyNiw5ICsxOTYwLDEwIEBACiAKIAlzbmRfYXpmMzMyOF90aW1lcl9ody5yZXNvbHV0aW9uICo9IHNlcXRpbWVyX3NjYWxpbmc7CiAJc25kX2F6ZjMzMjhfdGltZXJfaHcudGlja3MgLz0gc2VxdGltZXJfc2NhbGluZzsKLQlpZiAoKGVyciA9IHNuZF90aW1lcl9uZXcoY2hpcC0+Y2FyZCwgIkFaRjMzMjgiLCAmdGlkLCAmdGltZXIpKSA8IDApIHsKKworCWVyciA9IHNuZF90aW1lcl9uZXcoY2hpcC0+Y2FyZCwgIkFaRjMzMjgiLCAmdGlkLCAmdGltZXIpOworCWlmIChlcnIgPCAwKQogCQlnb3RvIG91dDsKLQl9CiAKIAlzdHJjcHkodGltZXItPm5hbWUsICJBWkYzMzI4IHRpbWVyIik7CiAJdGltZXItPnByaXZhdGVfZGF0YSA9IGNoaXA7CkBAIC0xNjM2LDYgKzE5NzEsOCBAQAogCiAJY2hpcC0+dGltZXIgPSB0aW1lcjsKIAorCXNuZF9hemYzMzI4X3RpbWVyX3N0b3AodGltZXIpOworCiAJZXJyID0gMDsKIAogb3V0OgpAQCAtMTY0NSwxMCArMTk4Miw0NCBAQAogCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogCitzdGF0aWMgaW50CitzbmRfYXpmMzMyOF9mcmVlKHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCkKK3sKKwlpZiAoY2hpcC0+aXJxIDwgMCkKKwkJZ290byBfX2VuZF9odzsKKworCS8qIHJlc2V0IChjbG9zZSkgbWl4ZXI6CisJICogZmlyc3QgbXV0ZSBtYXN0ZXIgdm9sdW1lLCB0aGVuIHJlc2V0CisJICovCisJc25kX2F6ZjMzMjhfbWl4ZXJfc2V0X211dGUoY2hpcCwgSURYX01JWEVSX1BMQVlfTUFTVEVSLCAxKTsKKwlzbmRfYXpmMzMyOF9taXhlcl9vdXR3KGNoaXAsIElEWF9NSVhFUl9SRVNFVCwgMHgwMDAwKTsKKworCXNuZF9hemYzMzI4X3RpbWVyX3N0b3AoY2hpcC0+dGltZXIpOworCXNuZF9hemYzMzI4X2dhbWVwb3J0X2ZyZWUoY2hpcCk7CisKKwlpZiAoY2hpcC0+aXJxID49IDApCisJCXN5bmNocm9uaXplX2lycShjaGlwLT5pcnEpOworX19lbmRfaHc6CisJaWYgKGNoaXAtPmlycSA+PSAwKQorCQlmcmVlX2lycShjaGlwLT5pcnEsIGNoaXApOworCXBjaV9yZWxlYXNlX3JlZ2lvbnMoY2hpcC0+cGNpKTsKKwlwY2lfZGlzYWJsZV9kZXZpY2UoY2hpcC0+cGNpKTsKKworCWtmcmVlKGNoaXApOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50CitzbmRfYXpmMzMyOF9kZXZfZnJlZShzdHJ1Y3Qgc25kX2RldmljZSAqZGV2aWNlKQoreworCXN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCA9IGRldmljZS0+ZGV2aWNlX2RhdGE7CisJcmV0dXJuIHNuZF9hemYzMzI4X2ZyZWUoY2hpcCk7Cit9CisKICNpZiAwCiAvKiBjaGVjayB3aGV0aGVyIGEgYml0IGNhbiBiZSBtb2RpZmllZCAqLwogc3RhdGljIHZvaWQKLXNuZF9hemYzMzI4X3Rlc3RfYml0KHVuc2lnbmVkIGludCByZWcsIGludCBiaXQpCitzbmRfYXpmMzMyOF90ZXN0X2JpdCh1bnNpZ25lZCB1bnNpZ25lZCByZWcsIGludCBiaXQpCiB7CiAJdW5zaWduZWQgY2hhciB2YWwsIHZhbG9mZiwgdmFsb247CiAKQEAgLTE2NTksNDIgKzIwMzAsNzQgQEAKIAogCW91dGIodmFsfCgxIDw8IGJpdCksIHJlZyk7CiAJdmFsb24gPSBpbmIocmVnKTsKLQkKKwogCW91dGIodmFsLCByZWcpOwogCi0JcHJpbnRrKEtFUk5fRVJSICJyZWcgJTA0eCBiaXQgJWQ6ICUwMnggJTAyeCAlMDJ4XG4iLCByZWcsIGJpdCwgdmFsLCB2YWxvZmYsIHZhbG9uKTsKKwlwcmludGsoS0VSTl9FUlIgInJlZyAlMDR4IGJpdCAlZDogJTAyeCAlMDJ4ICUwMnhcbiIsCisJCQkJcmVnLCBiaXQsIHZhbCwgdmFsb2ZmLCB2YWxvbgorCSk7CiB9CiAjZW5kaWYKIAotI2lmIERFQlVHX01JU0MKLXN0YXRpYyB2b2lkCitzdGF0aWMgaW5saW5lIHZvaWQKIHNuZF9hemYzMzI4X2RlYnVnX3Nob3dfcG9ydHMoY29uc3Qgc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwKQogeworI2lmIERFQlVHX01JU0MKIAl1MTYgdG1wOwogCi0Jc25kX2F6ZjMzMjhfZGJnbWlzYygiY29kZWNfcG9ydCAweCVseCwgaW8yX3BvcnQgMHglbHgsIG1wdV9wb3J0IDB4JWx4LCBzeW50aF9wb3J0IDB4JWx4LCBtaXhlcl9wb3J0IDB4JWx4LCBpcnEgJWRcbiIsIGNoaXAtPmNvZGVjX3BvcnQsIGNoaXAtPmlvMl9wb3J0LCBjaGlwLT5tcHVfcG9ydCwgY2hpcC0+c3ludGhfcG9ydCwgY2hpcC0+bWl4ZXJfcG9ydCwgY2hpcC0+aXJxKTsKKwlzbmRfYXpmMzMyOF9kYmdtaXNjKAorCQkiY29kZWNfaW8gMHglbHgsIGdhbWVfaW8gMHglbHgsIG1wdV9pbyAweCVseCwgIgorCQkib3BsM19pbyAweCVseCwgbWl4ZXJfaW8gMHglbHgsIGlycSAlZFxuIiwKKwkJY2hpcC0+Y29kZWNfaW8sIGNoaXAtPmdhbWVfaW8sIGNoaXAtPm1wdV9pbywKKwkJY2hpcC0+b3BsM19pbywgY2hpcC0+bWl4ZXJfaW8sIGNoaXAtPmlycQorCSk7CiAKLQlzbmRfYXpmMzMyOF9kYmdtaXNjKCJpbzIgJTAyeCAlMDJ4ICUwMnggJTAyeCAlMDJ4ICUwMnhcbiIsIHNuZF9hemYzMzI4X2lvMl9pbmIoY2hpcCwgMCksIHNuZF9hemYzMzI4X2lvMl9pbmIoY2hpcCwgMSksIHNuZF9hemYzMzI4X2lvMl9pbmIoY2hpcCwgMiksIHNuZF9hemYzMzI4X2lvMl9pbmIoY2hpcCwgMyksIHNuZF9hemYzMzI4X2lvMl9pbmIoY2hpcCwgNCksIHNuZF9hemYzMzI4X2lvMl9pbmIoY2hpcCwgNSkpOworCXNuZF9hemYzMzI4X2RiZ21pc2MoImdhbWUgJTAyeCAlMDJ4ICUwMnggJTAyeCAlMDJ4ICUwMnhcbiIsCisJCXNuZF9hemYzMzI4X2dhbWVfaW5iKGNoaXAsIDApLAorCQlzbmRfYXpmMzMyOF9nYW1lX2luYihjaGlwLCAxKSwKKwkJc25kX2F6ZjMzMjhfZ2FtZV9pbmIoY2hpcCwgMiksCisJCXNuZF9hemYzMzI4X2dhbWVfaW5iKGNoaXAsIDMpLAorCQlzbmRfYXpmMzMyOF9nYW1lX2luYihjaGlwLCA0KSwKKwkJc25kX2F6ZjMzMjhfZ2FtZV9pbmIoY2hpcCwgNSkKKwkpOwogCi0JZm9yICh0bXA9MDsgdG1wIDw9IDB4MDE7IHRtcCArPSAxKQotCQlzbmRfYXpmMzMyOF9kYmdtaXNjKCIweCUwMng6IG9wbCAweCUwNHgsIG1wdTMwMCAweCUwNHgsIG1wdTMxMCAweCUwNHgsIG1wdTMyMCAweCUwNHgsIG1wdTMzMCAweCUwNHhcbiIsIHRtcCwgaW5iKDB4Mzg4ICsgdG1wKSwgaW5iKDB4MzAwICsgdG1wKSwgaW5iKDB4MzEwICsgdG1wKSwgaW5iKDB4MzIwICsgdG1wKSwgaW5iKDB4MzMwICsgdG1wKSk7CisJZm9yICh0bXAgPSAwOyB0bXAgPCAweDA3OyB0bXAgKz0gMSkKKwkJc25kX2F6ZjMzMjhfZGJnbWlzYygibXB1X2lvIDB4JTA0eFxuIiwgaW5iKGNoaXAtPm1wdV9pbyArIHRtcCkpOworCisJZm9yICh0bXAgPSAwOyB0bXAgPD0gMHgwNzsgdG1wICs9IDEpCisJCXNuZF9hemYzMzI4X2RiZ21pc2MoIjB4JTAyeDogZ2FtZTIwMCAweCUwNHgsIGdhbWUyMDggMHglMDR4XG4iLAorCQkJdG1wLCBpbmIoMHgyMDAgKyB0bXApLCBpbmIoMHgyMDggKyB0bXApKTsKKworCWZvciAodG1wID0gMDsgdG1wIDw9IDB4MDE7IHRtcCArPSAxKQorCQlzbmRfYXpmMzMyOF9kYmdtaXNjKAorCQkJIjB4JTAyeDogbXB1MzAwIDB4JTA0eCwgbXB1MzEwIDB4JTA0eCwgbXB1MzIwIDB4JTA0eCwgIgorCQkJIm1wdTMzMCAweCUwNHggb3BsMzg4IDB4JTA0eCBvcGwzOGMgMHglMDR4XG4iLAorCQkJCXRtcCwKKwkJCQlpbmIoMHgzMDAgKyB0bXApLAorCQkJCWluYigweDMxMCArIHRtcCksCisJCQkJaW5iKDB4MzIwICsgdG1wKSwKKwkJCQlpbmIoMHgzMzAgKyB0bXApLAorCQkJCWluYigweDM4OCArIHRtcCksCisJCQkJaW5iKDB4MzhjICsgdG1wKQorCQkpOwogCiAJZm9yICh0bXAgPSAwOyB0bXAgPCBBWkZfSU9fU0laRV9DT0RFQzsgdG1wICs9IDIpCi0JCXNuZF9hemYzMzI4X2RiZ21pc2MoImNvZGVjIDB4JTAyeDogMHglMDR4XG4iLCB0bXAsIHNuZF9hemYzMzI4X2NvZGVjX2ludyhjaGlwLCB0bXApKTsKKwkJc25kX2F6ZjMzMjhfZGJnbWlzYygiY29kZWMgMHglMDJ4OiAweCUwNHhcbiIsCisJCQl0bXAsIHNuZF9hemYzMzI4X2NvZGVjX2ludyhjaGlwLCB0bXApCisJCSk7CiAKIAlmb3IgKHRtcCA9IDA7IHRtcCA8IEFaRl9JT19TSVpFX01JWEVSOyB0bXAgKz0gMikKLQkJc25kX2F6ZjMzMjhfZGJnbWlzYygibWl4ZXIgMHglMDJ4OiAweCUwNHhcbiIsIHRtcCwgc25kX2F6ZjMzMjhfbWl4ZXJfaW53KGNoaXAsIHRtcCkpOworCQlzbmRfYXpmMzMyOF9kYmdtaXNjKCJtaXhlciAweCUwMng6IDB4JTA0eFxuIiwKKwkJCXRtcCwgc25kX2F6ZjMzMjhfbWl4ZXJfaW53KGNoaXAsIHRtcCkKKwkJKTsKKyNlbmRpZiAvKiBERUJVR19NSVNDICovCiB9Ci0jZWxzZQotc3RhdGljIGlubGluZSB2b2lkCi1zbmRfYXpmMzMyOF9kZWJ1Z19zaG93X3BvcnRzKGNvbnN0IHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCkge30KLSNlbmRpZgogCiBzdGF0aWMgaW50IF9fZGV2aW5pdAogc25kX2F6ZjMzMjhfY3JlYXRlKHN0cnVjdCBzbmRfY2FyZCAqY2FyZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHBjaV9kZXYgKnBjaSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBkZXZpY2VfdHlwZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHNuZF9hemYzMzI4ICoqIHJjaGlwKQorCQkgICBzdHJ1Y3QgcGNpX2RldiAqcGNpLAorCQkgICB1bnNpZ25lZCBsb25nIGRldmljZV90eXBlLAorCQkgICBzdHJ1Y3Qgc25kX2F6ZjMzMjggKipyY2hpcCkKIHsKIAlzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXA7CiAJaW50IGVycjsKQEAgLTE3MDUsNyArMjEwOCw4IEBACiAKIAkqcmNoaXAgPSBOVUxMOwogCi0JaWYgKChlcnIgPSBwY2lfZW5hYmxlX2RldmljZShwY2kpKSA8IDApCisJZXJyID0gcGNpX2VuYWJsZV9kZXZpY2UocGNpKTsKKwlpZiAoZXJyIDwgMCkKIAkJcmV0dXJuIGVycjsKIAogCWNoaXAgPSBremFsbG9jKHNpemVvZigqY2hpcCksIEdGUF9LRVJORUwpOwpAQCAtMTcyMSwyMCArMjEyNSwyNSBAQAogCS8qIGNoZWNrIGlmIHdlIGNhbiByZXN0cmljdCBQQ0kgRE1BIHRyYW5zZmVycyB0byAyNCBiaXRzICovCiAJaWYgKHBjaV9zZXRfZG1hX21hc2socGNpLCBETUFfMjRCSVRfTUFTSykgPCAwIHx8CiAJICAgIHBjaV9zZXRfY29uc2lzdGVudF9kbWFfbWFzayhwY2ksIERNQV8yNEJJVF9NQVNLKSA8IDApIHsKLQkJc25kX3ByaW50ayhLRVJOX0VSUiAiYXJjaGl0ZWN0dXJlIGRvZXMgbm90IHN1cHBvcnQgMjRiaXQgUENJIGJ1c21hc3RlciBETUFcbiIpOworCQlzbmRfcHJpbnRrKEtFUk5fRVJSICJhcmNoaXRlY3R1cmUgZG9lcyBub3Qgc3VwcG9ydCAiCisJCQkJCSIyNGJpdCBQQ0kgYnVzbWFzdGVyIERNQVxuIgorCQkpOwogCQllcnIgPSAtRU5YSU87CiAJCWdvdG8gb3V0X2VycjsKIAl9CiAKLQlpZiAoKGVyciA9IHBjaV9yZXF1ZXN0X3JlZ2lvbnMocGNpLCAiQXp0ZWNoIEFaRjMzMjgiKSkgPCAwKSB7CisJZXJyID0gcGNpX3JlcXVlc3RfcmVnaW9ucyhwY2ksICJBenRlY2ggQVpGMzMyOCIpOworCWlmIChlcnIgPCAwKQogCQlnb3RvIG91dF9lcnI7Ci0JfQogCi0JY2hpcC0+Y29kZWNfcG9ydCA9IHBjaV9yZXNvdXJjZV9zdGFydChwY2ksIDApOwotCWNoaXAtPmlvMl9wb3J0ICAgPSBwY2lfcmVzb3VyY2Vfc3RhcnQocGNpLCAxKTsKLQljaGlwLT5tcHVfcG9ydCAgID0gcGNpX3Jlc291cmNlX3N0YXJ0KHBjaSwgMik7Ci0JY2hpcC0+c3ludGhfcG9ydCA9IHBjaV9yZXNvdXJjZV9zdGFydChwY2ksIDMpOwotCWNoaXAtPm1peGVyX3BvcnQgPSBwY2lfcmVzb3VyY2Vfc3RhcnQocGNpLCA0KTsKKwljaGlwLT5jb2RlY19pbyA9IHBjaV9yZXNvdXJjZV9zdGFydChwY2ksIDApOworCWNoaXAtPmdhbWVfaW8gID0gcGNpX3Jlc291cmNlX3N0YXJ0KHBjaSwgMSk7CisJY2hpcC0+bXB1X2lvICAgPSBwY2lfcmVzb3VyY2Vfc3RhcnQocGNpLCAyKTsKKwljaGlwLT5vcGwzX2lvID0gcGNpX3Jlc291cmNlX3N0YXJ0KHBjaSwgMyk7CisJY2hpcC0+bWl4ZXJfaW8gPSBwY2lfcmVzb3VyY2Vfc3RhcnQocGNpLCA0KTsKKworCWNoaXAtPmF1ZGlvX3N0cmVhbVtBWkZfUExBWUJBQ0tdLnBvcnRiYXNlID0gY2hpcC0+Y29kZWNfaW8gKyAweDAwOworCWNoaXAtPmF1ZGlvX3N0cmVhbVtBWkZfQ0FQVFVSRV0ucG9ydGJhc2UgICA9IGNoaXAtPmNvZGVjX2lvICsgMHgyMDsKIAogCWlmIChyZXF1ZXN0X2lycShwY2ktPmlycSwgc25kX2F6ZjMzMjhfaW50ZXJydXB0LAogCQkJSVJRRl9TSEFSRUQsIGNhcmQtPnNob3J0bmFtZSwgY2hpcCkpIHsKQEAgLTE3NDcsMjkgKzIxNTYsMjkgQEAKIAlzeW5jaHJvbml6ZV9pcnEoY2hpcC0+aXJxKTsKIAogCXNuZF9hemYzMzI4X2RlYnVnX3Nob3dfcG9ydHMoY2hpcCk7Ci0JCi0JaWYgKChlcnIgPSBzbmRfZGV2aWNlX25ldyhjYXJkLCBTTkRSVl9ERVZfTE9XTEVWRUwsIGNoaXAsICZvcHMpKSA8IDApIHsKKworCWVyciA9IHNuZF9kZXZpY2VfbmV3KGNhcmQsIFNORFJWX0RFVl9MT1dMRVZFTCwgY2hpcCwgJm9wcyk7CisJaWYgKGVyciA8IDApCiAJCWdvdG8gb3V0X2VycjsKLQl9CiAKIAkvKiBjcmVhdGUgbWl4ZXIgaW50ZXJmYWNlICYgc3dpdGNoZXMgKi8KLQlpZiAoKGVyciA9IHNuZF9hemYzMzI4X21peGVyX25ldyhjaGlwKSkgPCAwKQorCWVyciA9IHNuZF9hemYzMzI4X21peGVyX25ldyhjaGlwKTsKKwlpZiAoZXJyIDwgMCkKIAkJZ290byBvdXRfZXJyOwogCi0jaWYgMAotCS8qIHNldCB2ZXJ5IGxvdyBiaXRyYXRlIHRvIHJlZHVjZSBub2lzZSBhbmQgcG93ZXIgY29uc3VtcHRpb24/ICovCi0Jc25kX2F6ZjMzMjhfc2V0Zm10KGNoaXAsIElEWF9JT19QTEFZX1NPVU5ERk9STUFULCA1NTEyLCA4LCAxKTsKLSNlbmRpZgorCS8qIHNodXRkb3duIGNvZGVjcyB0byBzYXZlIHBvd2VyICovCisJCS8qIGhhdmUgc25kX2F6ZjMzMjhfY29kZWNfYWN0aXZpdHkoKSBhY3QgcHJvcGVybHkgKi8KKwljaGlwLT5hdWRpb19zdHJlYW1bQVpGX1BMQVlCQUNLXS5ydW5uaW5nID0gMTsKKwlzbmRfYXpmMzMyOF9jb2RlY19hY3Rpdml0eShjaGlwLCBBWkZfUExBWUJBQ0ssIDApOwogCiAJLyogc3RhbmRhcmQgY2hpcCBpbml0IHN0dWZmICovCi0JLyogZGVmYXVsdCBJUlEgaW5pdCB2YWx1ZSAqLworCQkvKiBkZWZhdWx0IElSUSBpbml0IHZhbHVlICovCiAJdG1wID0gRE1BX1BMQVlfU09NRVRISU5HMnxETUFfRVBJTE9HVUVfU09NRVRISU5HfERNQV9TT01FVEhJTkdfRUxTRTsKIAogCXNwaW5fbG9ja19pcnEoJmNoaXAtPnJlZ19sb2NrKTsKIAlzbmRfYXpmMzMyOF9jb2RlY19vdXRiKGNoaXAsIElEWF9JT19QTEFZX0ZMQUdTLCB0bXApOwogCXNuZF9hemYzMzI4X2NvZGVjX291dGIoY2hpcCwgSURYX0lPX1JFQ19GTEFHUywgdG1wKTsKIAlzbmRfYXpmMzMyOF9jb2RlY19vdXRiKGNoaXAsIElEWF9JT19TT01FVEhJTkdfRkxBR1MsIHRtcCk7Ci0Jc25kX2F6ZjMzMjhfY29kZWNfb3V0YihjaGlwLCBJRFhfSU9fVElNRVJfVkFMVUUgKyAzLCAweDAwKTsgLyogZGlzYWJsZSB0aW1lciAqLwogCXNwaW5fdW5sb2NrX2lycSgmY2hpcC0+cmVnX2xvY2spOwogCiAJc25kX2NhcmRfc2V0X2RldihjYXJkLCAmcGNpLT5kZXYpOwpAQCAtMTgwNSw1MiArMjIxNCw2MSBAQAogCQlyZXR1cm4gLUVOT0VOVDsKIAl9CiAKLQljYXJkID0gc25kX2NhcmRfbmV3KGluZGV4W2Rldl0sIGlkW2Rldl0sIFRISVNfTU9EVUxFLCAwICk7CisJY2FyZCA9IHNuZF9jYXJkX25ldyhpbmRleFtkZXZdLCBpZFtkZXZdLCBUSElTX01PRFVMRSwgMCk7CiAJaWYgKGNhcmQgPT0gTlVMTCkKIAkJcmV0dXJuIC1FTk9NRU07CiAKIAlzdHJjcHkoY2FyZC0+ZHJpdmVyLCAiQVpGMzMyOCIpOwogCXN0cmNweShjYXJkLT5zaG9ydG5hbWUsICJBenRlY2ggQVpGMzMyOCAoUENJMTY4KSIpOwogCi0gICAgICAgIGlmICgoZXJyID0gc25kX2F6ZjMzMjhfY3JlYXRlKGNhcmQsIHBjaSwgcGNpX2lkLT5kcml2ZXJfZGF0YSwgJmNoaXApKSA8IDApIHsKKwllcnIgPSBzbmRfYXpmMzMyOF9jcmVhdGUoY2FyZCwgcGNpLCBwY2lfaWQtPmRyaXZlcl9kYXRhLCAmY2hpcCk7CisJaWYgKGVyciA8IDApCiAJCWdvdG8gb3V0X2VycjsKLQl9CiAKIAljYXJkLT5wcml2YXRlX2RhdGEgPSBjaGlwOwogCi0JaWYgKChlcnIgPSBzbmRfbXB1NDAxX3VhcnRfbmV3KCBjYXJkLCAwLCBNUFU0MDFfSFdfTVBVNDAxLAotCQkJCSAgICAgICAgY2hpcC0+bXB1X3BvcnQsIE1QVTQwMV9JTkZPX0lOVEVHUkFURUQsCi0JCQkJCXBjaS0+aXJxLCAwLCAmY2hpcC0+cm1pZGkpKSA8IDApIHsKLQkJc25kX3ByaW50ayhLRVJOX0VSUiAiYXpmMzMyODogbm8gTVBVLTQwMSBkZXZpY2UgYXQgMHglbHg/XG4iLCBjaGlwLT5tcHVfcG9ydCk7CisJZXJyID0gc25kX21wdTQwMV91YXJ0X25ldygKKwkJY2FyZCwgMCwgTVBVNDAxX0hXX01QVTQwMSwgY2hpcC0+bXB1X2lvLCBNUFU0MDFfSU5GT19JTlRFR1JBVEVELAorCQlwY2ktPmlycSwgMCwgJmNoaXAtPnJtaWRpCisJKTsKKwlpZiAoZXJyIDwgMCkgeworCQlzbmRfcHJpbnRrKEtFUk5fRVJSICJhemYzMzI4OiBubyBNUFUtNDAxIGRldmljZSBhdCAweCVseD9cbiIsCisJCQkJY2hpcC0+bXB1X2lvCisJCSk7CiAJCWdvdG8gb3V0X2VycjsKIAl9CiAKLQlpZiAoKGVyciA9IHNuZF9hemYzMzI4X3RpbWVyKGNoaXAsIDApKSA8IDApIHsKKwllcnIgPSBzbmRfYXpmMzMyOF90aW1lcihjaGlwLCAwKTsKKwlpZiAoZXJyIDwgMCkKIAkJZ290byBvdXRfZXJyOwotCX0KIAotCWlmICgoZXJyID0gc25kX2F6ZjMzMjhfcGNtKGNoaXAsIDApKSA8IDApIHsKKwllcnIgPSBzbmRfYXpmMzMyOF9wY20oY2hpcCwgMCk7CisJaWYgKGVyciA8IDApCiAJCWdvdG8gb3V0X2VycjsKLQl9CiAKLQlpZiAoc25kX29wbDNfY3JlYXRlKGNhcmQsIGNoaXAtPnN5bnRoX3BvcnQsIGNoaXAtPnN5bnRoX3BvcnQrMiwKKwlpZiAoc25kX29wbDNfY3JlYXRlKGNhcmQsIGNoaXAtPm9wbDNfaW8sIGNoaXAtPm9wbDNfaW8rMiwKIAkJCSAgICBPUEwzX0hXX0FVVE8sIDEsICZvcGwzKSA8IDApIHsKIAkJc25kX3ByaW50ayhLRVJOX0VSUiAiYXpmMzMyODogbm8gT1BMMyBkZXZpY2UgYXQgMHglbHgtMHglbHg/XG4iLAotCQkJICAgY2hpcC0+c3ludGhfcG9ydCwgY2hpcC0+c3ludGhfcG9ydCsyICk7CisJCQkgICBjaGlwLT5vcGwzX2lvLCBjaGlwLT5vcGwzX2lvKzIKKwkJKTsKIAl9IGVsc2UgewotCQlpZiAoKGVyciA9IHNuZF9vcGwzX2h3ZGVwX25ldyhvcGwzLCAwLCAxLCBOVUxMKSkgPCAwKSB7CisJCS8qIG5lZWQgdG8gdXNlIElEcyAxLCAyIHNpbmNlIElEIDAgaXMgc25kX2F6ZjMzMjhfdGltZXIgYWJvdmUgKi8KKwkJZXJyID0gc25kX29wbDNfdGltZXJfbmV3KG9wbDMsIDEsIDIpOworCQlpZiAoZXJyIDwgMCkKIAkJCWdvdG8gb3V0X2VycjsKLQkJfQorCQllcnIgPSBzbmRfb3BsM19od2RlcF9uZXcob3BsMywgMCwgMSwgTlVMTCk7CisJCWlmIChlcnIgPCAwKQorCQkJZ290byBvdXRfZXJyOwogCX0KIAogCW9wbDMtPnByaXZhdGVfZGF0YSA9IGNoaXA7CiAKIAlzcHJpbnRmKGNhcmQtPmxvbmduYW1lLCAiJXMgYXQgMHglbHgsIGlycSAlaSIsCi0JCWNhcmQtPnNob3J0bmFtZSwgY2hpcC0+Y29kZWNfcG9ydCwgY2hpcC0+aXJxKTsKKwkJY2FyZC0+c2hvcnRuYW1lLCBjaGlwLT5jb2RlY19pbywgY2hpcC0+aXJxKTsKIAotCWlmICgoZXJyID0gc25kX2NhcmRfcmVnaXN0ZXIoY2FyZCkpIDwgMCkgeworCWVyciA9IHNuZF9jYXJkX3JlZ2lzdGVyKGNhcmQpOworCWlmIChlcnIgPCAwKQogCQlnb3RvIG91dF9lcnI7Ci0JfQogCiAjaWZkZWYgTU9EVUxFCiAJcHJpbnRrKApAQCAtMTg2MSwxOSArMjI3OSwxOCBAQAogCTEwMjQwMDAgLyBzZXF0aW1lcl9zY2FsaW5nLCBzZXF0aW1lcl9zY2FsaW5nKTsKICNlbmRpZgogCi0JaWYgKHNuZF9hemYzMzI4X2NvbmZpZ19qb3lzdGljayhjaGlwLCBkZXYpIDwgMCkKLQkJc25kX2F6ZjMzMjhfaW8yX291dGIoY2hpcCwgSURYX0lPMl9MRUdBQ1lfQUREUiwKLQkJCSAgICAgIHNuZF9hemYzMzI4X2lvMl9pbmIoY2hpcCwgSURYX0lPMl9MRUdBQ1lfQUREUikgJiB+TEVHQUNZX0pPWSk7CisJc25kX2F6ZjMzMjhfZ2FtZXBvcnQoY2hpcCwgZGV2KTsKIAogCXBjaV9zZXRfZHJ2ZGF0YShwY2ksIGNhcmQpOwogCWRldisrOwogCiAJZXJyID0gMDsKIAlnb3RvIG91dDsKLQkKKwogb3V0X2VycjoKKwlzbmRfcHJpbnRrKEtFUk5fRVJSICJhemYzMzI4OiBzb21ldGhpbmcgZmFpbGVkLCBleGl0aW5nXG4iKTsKIAlzbmRfY2FyZF9mcmVlKGNhcmQpOwotCQorCiBvdXQ6CiAJc25kX2F6ZjMzMjhfZGJnY2FsbGxlYXZlKCk7CiAJcmV0dXJuIGVycjsKQEAgLTE4OTQsMjcgKzIzMTEsMzEgQEAKIHsKIAlzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQgPSBwY2lfZ2V0X2RydmRhdGEocGNpKTsKIAlzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAgPSBjYXJkLT5wcml2YXRlX2RhdGE7Ci0JaW50IHJlZzsKKwl1bnNpZ25lZCByZWc7CiAKIAlzbmRfcG93ZXJfY2hhbmdlX3N0YXRlKGNhcmQsIFNORFJWX0NUTF9QT1dFUl9EM2hvdCk7Ci0JCisKIAlzbmRfcGNtX3N1c3BlbmRfYWxsKGNoaXAtPnBjbSk7CiAKLQlmb3IgKHJlZyA9IDA7IHJlZyA8IEFaRl9JT19TSVpFX01JWEVSX1BNIC8gMjsgcmVnKyspCi0JCWNoaXAtPnNhdmVkX3JlZ3NfbWl4ZXJbcmVnXSA9IGludyhjaGlwLT5taXhlcl9wb3J0ICsgcmVnICogMik7CisJZm9yIChyZWcgPSAwOyByZWcgPCBBWkZfSU9fU0laRV9NSVhFUl9QTSAvIDI7ICsrcmVnKQorCQljaGlwLT5zYXZlZF9yZWdzX21peGVyW3JlZ10gPSBpbncoY2hpcC0+bWl4ZXJfaW8gKyByZWcgKiAyKTsKIAogCS8qIG1ha2Ugc3VyZSB0byBkaXNhYmxlIG1hc3RlciB2b2x1bWUgZXRjLiB0byBwcmV2ZW50IGxvb3Bpbmcgc291bmQgKi8KIAlzbmRfYXpmMzMyOF9taXhlcl9zZXRfbXV0ZShjaGlwLCBJRFhfTUlYRVJfUExBWV9NQVNURVIsIDEpOwogCXNuZF9hemYzMzI4X21peGVyX3NldF9tdXRlKGNoaXAsIElEWF9NSVhFUl9XQVZFT1VULCAxKTsKLQkKLQlmb3IgKHJlZyA9IDA7IHJlZyA8IEFaRl9JT19TSVpFX0NPREVDX1BNIC8gMjsgcmVnKyspCi0JCWNoaXAtPnNhdmVkX3JlZ3NfY29kZWNbcmVnXSA9IGludyhjaGlwLT5jb2RlY19wb3J0ICsgcmVnICogMik7Ci0JZm9yIChyZWcgPSAwOyByZWcgPCBBWkZfSU9fU0laRV9JTzJfUE0gLyAyOyByZWcrKykKLQkJY2hpcC0+c2F2ZWRfcmVnc19pbzJbcmVnXSA9IGludyhjaGlwLT5pbzJfcG9ydCArIHJlZyAqIDIpOwotCWZvciAocmVnID0gMDsgcmVnIDwgQVpGX0lPX1NJWkVfTVBVX1BNIC8gMjsgcmVnKyspCi0JCWNoaXAtPnNhdmVkX3JlZ3NfbXB1W3JlZ10gPSBpbncoY2hpcC0+bXB1X3BvcnQgKyByZWcgKiAyKTsKLQlmb3IgKHJlZyA9IDA7IHJlZyA8IEFaRl9JT19TSVpFX1NZTlRIX1BNIC8gMjsgcmVnKyspCi0JCWNoaXAtPnNhdmVkX3JlZ3Nfc3ludGhbcmVnXSA9IGludyhjaGlwLT5zeW50aF9wb3J0ICsgcmVnICogMik7CisKKwlmb3IgKHJlZyA9IDA7IHJlZyA8IEFaRl9JT19TSVpFX0NPREVDX1BNIC8gMjsgKytyZWcpCisJCWNoaXAtPnNhdmVkX3JlZ3NfY29kZWNbcmVnXSA9IGludyhjaGlwLT5jb2RlY19pbyArIHJlZyAqIDIpOworCisJLyogbWFudWFsbHkgc3RvcmUgdGhlIG9uZSBjdXJyZW50bHkgcmVsZXZhbnQgd3JpdGUtb25seSByZWcsIHRvbyAqLworCWNoaXAtPnNhdmVkX3JlZ3NfY29kZWNbSURYX0lPXzZBSCAvIDJdID0gY2hpcC0+c2hhZG93X3JlZ19jb2RlY182QUg7CisKKwlmb3IgKHJlZyA9IDA7IHJlZyA8IEFaRl9JT19TSVpFX0dBTUVfUE0gLyAyOyArK3JlZykKKwkJY2hpcC0+c2F2ZWRfcmVnc19nYW1lW3JlZ10gPSBpbncoY2hpcC0+Z2FtZV9pbyArIHJlZyAqIDIpOworCWZvciAocmVnID0gMDsgcmVnIDwgQVpGX0lPX1NJWkVfTVBVX1BNIC8gMjsgKytyZWcpCisJCWNoaXAtPnNhdmVkX3JlZ3NfbXB1W3JlZ10gPSBpbncoY2hpcC0+bXB1X2lvICsgcmVnICogMik7CisJZm9yIChyZWcgPSAwOyByZWcgPCBBWkZfSU9fU0laRV9PUEwzX1BNIC8gMjsgKytyZWcpCisJCWNoaXAtPnNhdmVkX3JlZ3Nfb3BsM1tyZWddID0gaW53KGNoaXAtPm9wbDNfaW8gKyByZWcgKiAyKTsKIAogCXBjaV9kaXNhYmxlX2RldmljZShwY2kpOwogCXBjaV9zYXZlX3N0YXRlKHBjaSk7CkBAIC0xOTI3LDcgKzIzNDgsNyBAQAogewogCXN0cnVjdCBzbmRfY2FyZCAqY2FyZCA9IHBjaV9nZXRfZHJ2ZGF0YShwY2kpOwogCXN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCA9IGNhcmQtPnByaXZhdGVfZGF0YTsKLQlpbnQgcmVnOworCXVuc2lnbmVkIHJlZzsKIAogCXBjaV9zZXRfcG93ZXJfc3RhdGUocGNpLCBQQ0lfRDApOwogCXBjaV9yZXN0b3JlX3N0YXRlKHBjaSk7CkBAIC0xOTM5LDIzICsyMzYwLDIxIEBACiAJfQogCXBjaV9zZXRfbWFzdGVyKHBjaSk7CiAKLQlmb3IgKHJlZyA9IDA7IHJlZyA8IEFaRl9JT19TSVpFX0lPMl9QTSAvIDI7IHJlZysrKQotCQlvdXR3KGNoaXAtPnNhdmVkX3JlZ3NfaW8yW3JlZ10sIGNoaXAtPmlvMl9wb3J0ICsgcmVnICogMik7Ci0JZm9yIChyZWcgPSAwOyByZWcgPCBBWkZfSU9fU0laRV9NUFVfUE0gLyAyOyByZWcrKykKLQkJb3V0dyhjaGlwLT5zYXZlZF9yZWdzX21wdVtyZWddLCBjaGlwLT5tcHVfcG9ydCArIHJlZyAqIDIpOwotCWZvciAocmVnID0gMDsgcmVnIDwgQVpGX0lPX1NJWkVfU1lOVEhfUE0gLyAyOyByZWcrKykKLQkJb3V0dyhjaGlwLT5zYXZlZF9yZWdzX3N5bnRoW3JlZ10sIGNoaXAtPnN5bnRoX3BvcnQgKyByZWcgKiAyKTsKLQlmb3IgKHJlZyA9IDA7IHJlZyA8IEFaRl9JT19TSVpFX01JWEVSX1BNIC8gMjsgcmVnKyspCi0JCW91dHcoY2hpcC0+c2F2ZWRfcmVnc19taXhlcltyZWddLCBjaGlwLT5taXhlcl9wb3J0ICsgcmVnICogMik7Ci0JZm9yIChyZWcgPSAwOyByZWcgPCBBWkZfSU9fU0laRV9DT0RFQ19QTSAvIDI7IHJlZysrKQotCQlvdXR3KGNoaXAtPnNhdmVkX3JlZ3NfY29kZWNbcmVnXSwgY2hpcC0+Y29kZWNfcG9ydCArIHJlZyAqIDIpOworCWZvciAocmVnID0gMDsgcmVnIDwgQVpGX0lPX1NJWkVfR0FNRV9QTSAvIDI7ICsrcmVnKQorCQlvdXR3KGNoaXAtPnNhdmVkX3JlZ3NfZ2FtZVtyZWddLCBjaGlwLT5nYW1lX2lvICsgcmVnICogMik7CisJZm9yIChyZWcgPSAwOyByZWcgPCBBWkZfSU9fU0laRV9NUFVfUE0gLyAyOyArK3JlZykKKwkJb3V0dyhjaGlwLT5zYXZlZF9yZWdzX21wdVtyZWddLCBjaGlwLT5tcHVfaW8gKyByZWcgKiAyKTsKKwlmb3IgKHJlZyA9IDA7IHJlZyA8IEFaRl9JT19TSVpFX09QTDNfUE0gLyAyOyArK3JlZykKKwkJb3V0dyhjaGlwLT5zYXZlZF9yZWdzX29wbDNbcmVnXSwgY2hpcC0+b3BsM19pbyArIHJlZyAqIDIpOworCWZvciAocmVnID0gMDsgcmVnIDwgQVpGX0lPX1NJWkVfTUlYRVJfUE0gLyAyOyArK3JlZykKKwkJb3V0dyhjaGlwLT5zYXZlZF9yZWdzX21peGVyW3JlZ10sIGNoaXAtPm1peGVyX2lvICsgcmVnICogMik7CisJZm9yIChyZWcgPSAwOyByZWcgPCBBWkZfSU9fU0laRV9DT0RFQ19QTSAvIDI7ICsrcmVnKQorCQlvdXR3KGNoaXAtPnNhdmVkX3JlZ3NfY29kZWNbcmVnXSwgY2hpcC0+Y29kZWNfaW8gKyByZWcgKiAyKTsKIAogCXNuZF9wb3dlcl9jaGFuZ2Vfc3RhdGUoY2FyZCwgU05EUlZfQ1RMX1BPV0VSX0QwKTsKIAlyZXR1cm4gMDsKIH0KLSNlbmRpZgotCi0KKyNlbmRpZiAvKiBDT05GSUdfUE0gKi8KIAogCiBzdGF0aWMgc3RydWN0IHBjaV9kcml2ZXIgZHJpdmVyID0gewpkaWZmIC0tZ2l0IGEvc291bmQvcGNpL2F6dDMzMjguaCBiL3NvdW5kL3BjaS9henQzMzI4LmgKaW5kZXggNjc5ZmE5OS4uN2UzZTg5NCAxMDA2NDQKLS0tIGEvc291bmQvcGNpL2F6dDMzMjguaAorKysgYi9zb3VuZC9wY2kvYXp0MzMyOC5oCkBAIC0xLDcgKzEsOCBAQAogI2lmbmRlZiBfX1NPVU5EX0FaVDMzMjhfSAogI2RlZmluZSBfX1NPVU5EX0FaVDMzMjhfSAogCi0vKiAiUFUiID09ICJwb3dlci11cCB2YWx1ZSIsIGFzIHRlc3RlZCBvbiBQQ0kxNjggUENJIHJldi4gMTAgKi8KKy8qICJQVSIgPT0gInBvd2VyLXVwIHZhbHVlIiwgYXMgdGVzdGVkIG9uIFBDSTE2OCBQQ0kgcmV2LiAxMAorICogIldSSVRFX09OTFkiICA9PSByZWdpc3RlciBkb2VzIG5vdCBpbmRpY2F0ZSBhY3R1YWwgYml0IHZhbHVlcyAqLwogCiAvKioqIG1haW4gSS9PIGFyZWEgcG9ydCBpbmRpY2VzICoqKi8KIC8qIChvbmx5IDB4NzAgb2YgMHg4MCBieXRlcyBzYXZlZC9yZXN0b3JlZCBieSBXaW5kb3dzIGRyaXZlcikgKi8KQEAgLTU0LDcgKzU1LDEwIEBACiAgICNkZWZpbmUgU09VTkRGT1JNQVRfWFRBTDEJCTB4MDAKICAgI2RlZmluZSBTT1VOREZPUk1BVF9YVEFMMgkJMHgwMQogICAgIC8qIGFsbCBfU1VTUEVDVEVEXyB2YWx1ZXMgYXJlIG5vdCB1c2VkIGJ5IFdpbmRvd3MgZHJpdmVycywgc28gd2UgZG9uJ3QKLSAgICAgKiBoYXZlIGFueSBoYXJkIGZhY3RzLCBvbmx5IHJvdWdoIG1lYXN1cmVtZW50cyAqLworICAgICAqIGhhdmUgYW55IGhhcmQgZmFjdHMsIG9ubHkgcm91Z2ggbWVhc3VyZW1lbnRzLgorICAgICAqIEFsbCB3ZSBrbm93IGlzIHRoYXQgdGhlIGNyeXN0YWwgdXNlZCBvbiB0aGUgYm9hcmQgaGFzIDI0LjU3Nk1IeiwKKyAgICAgKiBsaWtlIG1hbnkgc291bmRjYXJkcyAod2hpY2ggcmVzdWx0cyBpbiB0aGUgZnJlcXVlbmNpZXMgYmVsb3cgd2hlbgorICAgICAqIHVzaW5nIGNlcnRhaW4gZGl2aWRlciB2YWx1ZXMgc2VsZWN0ZWQgYnkgdGhlIHZhbHVlcyBiZWxvdykgKi8KICAgICAjZGVmaW5lIFNPVU5ERk9STUFUX0ZSRVFfU1VTUEVDVEVEXzQwMDAJMHgwYyB8IFNPVU5ERk9STUFUX1hUQUwxCiAgICAgI2RlZmluZSBTT1VOREZPUk1BVF9GUkVRX1NVU1BFQ1RFRF80ODAwCTB4MGEgfCBTT1VOREZPUk1BVF9YVEFMMQogICAgICNkZWZpbmUgU09VTkRGT1JNQVRfRlJFUV81NTEwCQkweDBjIHwgU09VTkRGT1JNQVRfWFRBTDIKQEAgLTcyLDYgKzc2LDI2IEBACiAgICNkZWZpbmUgU09VTkRGT1JNQVRfRkxBR18xNkJJVAkweDAwMTAKICAgI2RlZmluZSBTT1VOREZPUk1BVF9GTEFHXzJDSEFOTkVMUwkweDAwMjAKIAorLyogZGVmaW5lIGZyZXF1ZW5jeSBoZWxwZXJzLCBmb3IgbWF4aW11bSB2YWx1ZSBzYWZldHkgKi8KK2VudW0gYXpmX2ZyZXFfdCB7CisjZGVmaW5lIEFaRl9GUkVRKHJhdGUpIEFaRl9GUkVRXyMjcmF0ZSA9IHJhdGUKKyAgQVpGX0ZSRVEoNDAwMCksCisgIEFaRl9GUkVRKDQ4MDApLAorICBBWkZfRlJFUSg1NTEyKSwKKyAgQVpGX0ZSRVEoNjYyMCksCisgIEFaRl9GUkVRKDgwMDApLAorICBBWkZfRlJFUSg5NjAwKSwKKyAgQVpGX0ZSRVEoMTEwMjUpLAorICBBWkZfRlJFUSgxMzI0MCksCisgIEFaRl9GUkVRKDE2MDAwKSwKKyAgQVpGX0ZSRVEoMjIwNTApLAorICBBWkZfRlJFUSgzMjAwMCksCisgIEFaRl9GUkVRKDQ0MTAwKSwKKyAgQVpGX0ZSRVEoNDgwMDApLAorICBBWkZfRlJFUSg2NjIwMCksCisjdW5kZWYgQVpGX0ZSRVEKK30gQVpGX0ZSRVFVRU5DSUVTOworCiAvKiogcmVjb3JkaW5nIGFyZWEgKHNlZSBhbHNvOiBwbGF5YmFjayBiaXQgZmxhZyBkZWZpbml0aW9ucykgKiovCiAjZGVmaW5lIElEWF9JT19SRUNfRkxBR1MJMHgyMCAvKiA/PywgUFU6MHgwMDAwICovCiAjZGVmaW5lIElEWF9JT19SRUNfSVJRVFlQRQkweDIyIC8qID8/LCBQVToweDAwMDAgKi8KQEAgLTk3LDQwICsxMjEsMTcxIEBACiAKIC8qKiBEaXJlY3RYIHRpbWVyLCBtYWluIGludGVycnVwdCBhcmVhIChGSVhNRTogYW5kIHNvbWV0aGluZyBlbHNlPykgKiovIAogI2RlZmluZSBJRFhfSU9fVElNRVJfVkFMVUUJMHg2MCAvKiBmb3VuZCB0aGlzIHRpbWVyIGFyZWEgYnkgcHVyZSBsdWNrIDotKSAqLwotICAjZGVmaW5lIFRJTUVSX1ZBTFVFX01BU0sJCTB4MDAwZmZmZmZVTCAvKiB0aW1lciBjb3VudGRvd24gdmFsdWU7IHRyaWdnZXJzIElSUSB3aGVuIHRpbWVyIGlzIGZpbmlzaGVkICovCi0gICNkZWZpbmUgVElNRVJfRU5BQkxFX0NPVU5URE9XTgkweDAxMDAwMDAwVUwgLyogYWN0aXZhdGUgdGhlIHRpbWVyIGNvdW50ZG93biAqLwotICAjZGVmaW5lIFRJTUVSX0VOQUJMRV9JUlEJCTB4MDIwMDAwMDBVTCAvKiB0cmlnZ2VyIHRpbWVyIElSUSBvbiB6ZXJvIHRyYW5zaXRpb24gKi8KLSAgI2RlZmluZSBUSU1FUl9BQ0tfSVJRCQkJMHgwNDAwMDAwMFVMIC8qIGJlaW5nIHNldCBpbiBJUlEgaGFuZGxlciBpbiBjYXNlIHBvcnQgMHgwMCAoaG1tLCBub3QgcG9ydCAweDY0IT8hPykgaGFkIDB4MDAyMCBzZXQgdXBvbiBJUlEgaGFuZGxlciAqLworICAvKiB0aW1lciBjb3VudGRvd24gdmFsdWU7IHRyaWdnZXJzIElSUSB3aGVuIHRpbWVyIGlzIGZpbmlzaGVkICovCisgICNkZWZpbmUgVElNRVJfVkFMVUVfTUFTSwkJMHgwMDBmZmZmZlVMCisgIC8qIGFjdGl2YXRlIHRpbWVyIGNvdW50ZG93biAqLworICAjZGVmaW5lIFRJTUVSX0NPVU5URE9XTl9FTkFCTEUJMHgwMTAwMDAwMFVMCisgIC8qIHRyaWdnZXIgdGltZXIgSVJRIG9uIHplcm8gdHJhbnNpdGlvbiAqLworICAjZGVmaW5lIFRJTUVSX0lSUV9FTkFCTEUJCTB4MDIwMDAwMDBVTAorICAvKiBiZWluZyBzZXQgaW4gSVJRIGhhbmRsZXIgaW4gY2FzZSBwb3J0IDB4MDAgKGhtbSwgbm90IHBvcnQgMHg2NCE/IT8pCisgICAqIGhhZCAweDAwMjAgc2V0IHVwb24gSVJRIGhhbmRsZXIgKi8KKyAgI2RlZmluZSBUSU1FUl9JUlFfQUNLCQkJMHgwNDAwMDAwMFVMCiAjZGVmaW5lIElEWF9JT19JUlFTVEFUVVMgICAgICAgIDB4NjQKLSAgI2RlZmluZSBJUlFfUExBWUJBQ0sJCQkweDAwMDEKLSAgI2RlZmluZSBJUlFfUkVDT1JESU5HCQkJMHgwMDAyCi0gICNkZWZpbmUgSVJRX01QVTQwMQkJCTB4MDAxMAotICAjZGVmaW5lIElSUV9USU1FUgkJCTB4MDAyMCAvKiBEaXJlY3RYIHRpbWVyICovCi0gICNkZWZpbmUgSVJRX1VOS05PV04xCQkJMHgwMDQwIC8qIHByb2JhYmx5IHVudXNlZCwgb3IgcG9zc2libHkgSTJTIHBvcnQ/IG9yIGdhbWVwb3J0IElSUT8gKi8KLSAgI2RlZmluZSBJUlFfVU5LTk9XTjIJCQkweDAwODAgLyogcHJvYmFibHkgdW51c2VkLCBvciBwb3NzaWJseSBJMlMgcG9ydD8gb3IgZ2FtZXBvcnQgSVJRPyAqLworICAvKiBzb21lIElSUSBiaXQgaW4gaGVyZSBtaWdodCBhbHNvIGJlIHVzZWQgdG8gc2lnbmFsIGEgcG93ZXItbWFuYWdlbWVudCB0aW1lcgorICAgKiB0aW1lb3V0LCB0byByZXF1ZXN0IHNodXRkb3duIG9mIHRoZSBjaGlwIChlLmcuIEFEMTgxNUpTIGhhcyBzdWNoIGEgdGhpbmcpLgorICAgKiBTb21lIE9QTDMgaGFyZHdhcmUgKGUuZy4gaW4gTE00NTYwKSBoYXMgc29tZSBzcGVjaWFsIHRpbWVyIGhhcmR3YXJlIHdoaWNoCisgICAqIGNhbiB0cmlnZ2VyIGFuIE9QTDMgdGltZXIgSVJRLCBzbyBtYXliZSB0aGVyZSdzIHN1Y2ggYSB0aGluZyBhcyB3ZWxsLi4uICovCisKKyAgI2RlZmluZSBJUlFfUExBWUJBQ0sJMHgwMDAxCisgICNkZWZpbmUgSVJRX1JFQ09SRElORwkweDAwMDIKKyAgI2RlZmluZSBJUlFfVU5LTk9XTjEJMHgwMDA0IC8qIG1vc3QgcHJvYmFibHkgSTJTIHBvcnQgKi8KKyAgI2RlZmluZSBJUlFfR0FNRVBPUlQJMHgwMDA4IC8qIEludGVycnVwdCBvZiBEaWdpdGFsKGx5KSBFbmhhbmNlZCBHYW1lIFBvcnQgKi8KKyAgI2RlZmluZSBJUlFfTVBVNDAxCTB4MDAxMAorICAjZGVmaW5lIElSUV9USU1FUgkweDAwMjAgLyogRGlyZWN0WCB0aW1lciAqLworICAjZGVmaW5lIElSUV9VTktOT1dOMgkweDAwNDAgLyogcHJvYmFibHkgdW51c2VkLCBvciBwb3NzaWJseSBJMlMgcG9ydD8gKi8KKyAgI2RlZmluZSBJUlFfVU5LTk9XTjMJMHgwMDgwIC8qIHByb2JhYmx5IHVudXNlZCwgb3IgcG9zc2libHkgSTJTIHBvcnQ/ICovCiAjZGVmaW5lIElEWF9JT182NkgJCTB4NjYgICAgLyogd3JpdGluZyAweGZmZmYgcmV0dXJucyAweDAwMDAgKi8KLSNkZWZpbmUgSURYX0lPX1NPTUVfVkFMVUUJMHg2OAkvKiB0aGlzIGlzIHNldCB0byBlLmcuIDB4M2ZmIG9yIDB4MzAwLCBhbmQgd3JpdGFibGU7IG1heWJlIHNvbWUgYnVmZmVyIGxpbWl0LCBidXQgSSBjb3VsZG4ndCBmaW5kIG91dCBtb3JlLCBQVToweDAwZmYgKi8KLSNkZWZpbmUgSURYX0lPXzZBSAkJMHg2QQkvKiB0aGlzIFdPUkQgY2FuIGJlIHNldCB0byBoYXZlIGJpdHMgMHgwMDI4IGFjdGl2YXRlZCAoRklYTUU6IGNvcnJlY3Q/Pyk7IGFjdHVhbGx5IGluaGliaXRzIFBDTSBwbGF5YmFjayEhISBtYXliZSBwb3dlciBtYW5hZ2VtZW50Pz8gKi8KLSAgI2RlZmluZSBJT182QV9QQVVTRV9QTEFZQkFDSwkJMHgwMjAwIC8qIGJpdCA5OyBzdXJlLCB0aGlzIHBhdXNlcyBwbGF5YmFjaywgYnV0IHdoYXQgdGhlIGhlY2sgaXMgdGhpcyByZWFsbHkgYWJvdXQ/PyAqLwotI2RlZmluZSBJRFhfSU9fNkNICQkweDZDCi0jZGVmaW5lIElEWF9JT182RUgJCTB4NkUJLyogd3JpdGluZyAweGZmZmYgcmV0dXJucyAweDgzZmUgKi8KLS8qIGZ1cnRoZXIgSS9PIGluZGljZXMgbm90IHNhdmVkL3Jlc3RvcmVkLCBzbyBwcm9iYWJseSBub3QgdXNlZCAqLworICAvKiB0aGlzIGlzIHNldCB0byBlLmcuIDB4M2ZmIG9yIDB4MzAwLCBhbmQgd3JpdGFibGU7CisgICAqIG1heWJlIHNvbWUgYnVmZmVyIGxpbWl0LCBidXQgSSBjb3VsZG4ndCBmaW5kIG91dCBtb3JlLCBQVToweDAwZmY6ICovCisjZGVmaW5lIElEWF9JT19TT01FX1ZBTFVFCTB4NjgKKyAgI2RlZmluZSBJT182OF9SQU5ET01fVE9HR0xFMQkweDAxMDAJLyogdG9nZ2xlcyByYW5kb21seSAqLworICAjZGVmaW5lIElPXzY4X1JBTkRPTV9UT0dHTEUyCTB4MDIwMAkvKiB0b2dnbGVzIHJhbmRvbWx5ICovCisgIC8qIHVtbSwgbm9wZSwgYmVoYXZpb3VyIG9mIHRoZXNlIGJpdHMgY2hhbmdlcyBkZXBlbmRpbmcgb24gd2hhdCB3ZSB3cm90ZQorICAgKiB0byAweDZiISEKKyAgICogQW5kIHRoZXkgY2hhbmdlIHVwb24gcGxheWJhY2svc3RvcCwgdG9vOgorICAgKiBXcml0aW5nIGEgdmFsdWUgdG8gMHg2OCB3aWxsIGRpc3BsYXkgdGhpcyBleGFjdCB2YWx1ZSBkdXJpbmcgcGxheWJhY2ssCisgICAqIHRvbyBidXQgd2hlbiBzdG9wcGVkIGl0IGNhbiBmYWxsIGJhY2sgdG8gYSByYXRoZXIgZGlmZmVyZW50CisgICAqIHNlZW1pbmdseSByYW5kb20gdmFsdWUpLiBIbW0sIHBvc3NpYmx5IHRoaXMgaXMgYSByZWdpc3RlciB3aGljaAorICAgKiBoYXMgYSByZW1vdGUgc2hhZG93IHdoaWNoIG5lZWRzIHByb3BlciBkZXZpY2Ugc3VwcGx5IHdoaWNoIG9ubHkgZXhpc3RzCisgICAqIGluIGNhc2UgcGxheWJhY2sgaXMgYWN0aXZlPyBPciBpcyB0aGlzIGRyaXZlci1pbmR1Y2VkPworICAgKi8KKworLyogdGhpcyBXT1JEIGNhbiBiZSBzZXQgdG8gaGF2ZSBiaXRzIDB4MDAyOCBhY3RpdmF0ZWQgKEZJWE1FOiBjb3JyZWN0Pz8pOworICogYWN0dWFsbHkgaW5oaWJpdHMgUENNIHBsYXliYWNrISEhIG1heWJlIHBvd2VyIG1hbmFnZW1lbnQ/PzogKi8KKyNkZWZpbmUgSURYX0lPXzZBSAkJMHg2QSAvKiBXUklURV9PTkxZISAqLworICAvKiBiaXQgNTogZW5hYmxpbmcgdGhpcyB3aWxsIGFjdGl2YXRlIHBlcm1hbmVudCBjb3VudGluZyBvZiBieXRlcyAyLzMKKyAgICogYXQgZ2FtZXBvcnQgSS9PICgweGI0MDIvMykgKGVxdWFsIHZhbHVlcyBlYWNoKSBhbmQgY2F1c2UKKyAgICogZ2FtZXBvcnQgbGVnYWN5IEkvTyBhdCAweDAyMDAgdG8gYmUgX0RJU0FCTEVEXyEKKyAgICogSXMgdGhpcyBEaWdpdGFsIEVuaGFuY2VkIEdhbWUgUG9ydCBFbmFibGU/Pz8gT3IgbWF5YmUgaXQncyBUZXN0bW9kZQorICAgKiBmb3IgRW5oYW5jZWQgRGlnaXRhbCBHYW1lcG9ydCAoc2VlIDREIFdhdmUgRFggY2FyZCk6ICovCisgICNkZWZpbmUgSU9fNkFfU09NRVRISU5HMV9HQU1FUE9SVAkweDAwMjAKKyAgLyogYml0IDg7IHN1cmUsIHRoaXMgX3BhdXNlc18gcGxheWJhY2sgKGxhdGVyIHJlc3VtZXMgYXQgc2FtZSBzcG90ISksCisgICAqIGJ1dCB3aGF0IHRoZSBoZWNrIGlzIHRoaXMgcmVhbGx5IGFib3V0Pz86ICovCisgICNkZWZpbmUgSU9fNkFfUEFVU0VfUExBWUJBQ0tfQklUOAkweDAxMDAKKyAgLyogYml0IDk7IHN1cmUsIHRoaXMgX3BhdXNlc18gcGxheWJhY2sgKGxhdGVyIHJlc3VtZXMgYXQgc2FtZSBzcG90ISksCisgICAqIGJ1dCB3aGF0IHRoZSBoZWNrIGlzIHRoaXMgcmVhbGx5IGFib3V0Pz86ICovCisgICNkZWZpbmUgSU9fNkFfUEFVU0VfUExBWUJBQ0tfQklUOQkweDAyMDAKKwkvKiBCSVQ4IGFuZCBCSVQ5IGFyZSBfTk9UXyBhYmxlIHRvIGFmZmVjdCBPUEwzIE1JREkgcGxheWJhY2ssCisJICogdGh1cyBpdCBzdWdnZXN0cyBpbmZsdWVuY2Ugb24gUENNIG9ubHkhIQorCSAqIEhvd2V2ZXIgT1RPSCB0aGVyZSBzZWVtcyB0byBiZSBubyBiaXQgYW55d2hlcmUgYXJvdW5kIGhlcmUKKwkgKiB3aGljaCBpcyBhYmxlIHRvIGRpc2FibGUgT1BMMy4uLiAqLworICAvKiBiaXQgMTA6IGVuYWJsaW5nIHRoaXMgYWN0dWFsbHkgY2hhbmdlcyB2YWx1ZXMgYXQgbGVnYWN5IGdhbWVwb3J0CisgICAqIEkvTyBhZGRyZXNzICgweDIwMCk7IGlzIHRoaXMgZW5hYmxpbmcgb2YgdGhlIERpZ2l0YWwgRW5oYW5jZWQgR2FtZSBQb3J0Pz8/CisgICAqIE9yIG1heWJlIHRoaXMgc2ltcGx5IHN3aXRjaGVzIG9mZiB0aGUgTkU1NTggY2lyY3VpdCwgc2luY2UgZW5hYmxpbmcgdGhpcworICAgKiBzdGlsbCBsZXRzIHVzIGV2YWx1YXRlIGJ1dHRvbiBzdGF0ZXMsIGJ1dCBub3QgYXhpcyBzdGF0ZXMgKi8KKyAgI2RlZmluZSBJT182QV9TT01FVEhJTkcyX0dBTUVQT1JUICAgICAgMHgwNDAwCisJLyogd3JpdGluZyAweDAzMDA6IGNhdXNlcyBxdWl0ZSBzb21lIGNyYWNrbGluZyBkdXJpbmcKKwkgKiBQQyBhY3Rpdml0eSBzdWNoIGFzIHN3aXRjaGluZyB3aW5kb3dzIChQQ0kgdHJhZmZpYz8/CisJICogLS0+IEZJRk8vdGltaW5nIHNldHRpbmdzPz8/KSAqLworCS8qIHdyaXRpbmcgMHgwMTAwIHBsdXMvb3IgMHgwMjAwIGluaGliaXRzIHBsYXliYWNrICovCisJLyogc2luY2UgdGhlIFdpbmRvd3MgLklORiBmaWxlIGhhcyBGbGFnX0VuYWJsZV9Kb3lTdGljayBhbmQKKwkgKiBGbGFnX0VuYWJsZV9TQl9ET1NfRW11bGF0aW9uIGRpcmVjdGx5IHRvZ2V0aGVyLCBpdCBzdGFuZHMgdG8gcmVhc29uCisJICogdGhhdCBzb21lIG90aGVyIGJpdCBpbiB0aGlzIHNhbWUgcmVnaXN0ZXIgbWlnaHQgYmUgcmVzcG9uc2libGUKKwkgKiBmb3IgU0IgRE9TIEVtdWxhdGlvbiBhY3RpdmF0aW9uIChub3RlIHRoYXQgdGhlIGZpbGUgZGlkIE5PVCBkZWZpbmUKKwkgKiBhIHN3aXRjaCBmb3IgT1BMMyEpICovCisjZGVmaW5lIElEWF9JT182Q0gJCTB4NkMJLyogdW5rbm93bjsgZnVsbHkgcmVhZC13cml0YWJsZSAqLworI2RlZmluZSBJRFhfSU9fNkVICQkweDZFCisJLyogd3JpdGluZyAweGZmZmYgcmV0dXJucyAweDgzZmUgKG9yIDB4MDNmZSBvbmx5KS4KKwkgKiB3cml0aW5nIDB4ODMgKGFuZCBvbmx5IDB4ODMhISkgdG8gMHg2ZiB3aWxsIGNhdXNlIDB4NmMgdG8gc3dpdGNoCisJICogZnJvbSAwMDAwIHRvIGZmZmYuICovCisKKy8qIGZ1cnRoZXIgSS9PIGluZGljZXMgbm90IHNhdmVkL3Jlc3RvcmVkIGFuZCBub3QgcmVhZGFibGUgYWZ0ZXIgd3JpdGluZywKKyAqIHNvIHByb2JhYmx5IG5vdCB1c2VkICovCiAKIAotLyoqKiBJL08gMiBhcmVhIHBvcnQgaW5kaWNlcyAqKiovCisvKioqIEdhbWVwb3J0IGFyZWEgcG9ydCBpbmRpY2VzICoqKi8KIC8qIChvbmx5IDB4MDYgb2YgMHgwOCBieXRlcyBzYXZlZC9yZXN0b3JlZCBieSBXaW5kb3dzIGRyaXZlcikgKi8gCi0jZGVmaW5lIEFaRl9JT19TSVpFX0lPMgkJMHgwOAotI2RlZmluZSBBWkZfSU9fU0laRV9JTzJfUE0JMHgwNgorI2RlZmluZSBBWkZfSU9fU0laRV9HQU1FCQkweDA4CisjZGVmaW5lIEFaRl9JT19TSVpFX0dBTUVfUE0JMHgwNgogCi0jZGVmaW5lIElEWF9JTzJfTEVHQUNZX0FERFIJMHgwNAotICAjZGVmaW5lIExFR0FDWV9TT01FVEhJTkcJCTB4MDEgLyogT1BMMz8/ICovCi0gICNkZWZpbmUgTEVHQUNZX0pPWQkJCTB4MDgKK2VudW0geworCUFaRl9HQU1FX0xFR0FDWV9JT19QT1JUID0gMHgyMDAKK30gQVpGX0dBTUVfQ09ORklHUzsKIAorI2RlZmluZSBJRFhfR0FNRV9MRUdBQ1lfQ09NUEFUSUJMRQkweDAwCisJLyogaW4gc29tZSBvcGVyYXRpb24gbW9kZSwgd3JpdGluZyBhbnl0aGluZyB0byB0aGlzIHBvcnQKKwkgKiB0cmlnZ2VycyBhbiBpbnRlcnJ1cHQ6CisJICogeXVwLCB0aGF0J3MgaW4gY2FzZSBJRFhfR0FNRV8wMUggaGFzIG9uZSBvZiB0aGUKKwkgKiBheGlzIG1lYXN1cmVtZW50IGJpdHMgZW5hYmxlZAorCSAqIChhbmQgb2YgY291cnNlIG9uZSBuZWVkcyB0byBoYXZlIEdBTUVfSFdDRkdfSVJRX0VOQUJMRSwgdG9vKSAqLworCisjZGVmaW5lIElEWF9HQU1FX0FYRVNfQ09ORklHICAgICAgICAgICAgMHgwMQorCS8qIE5PVEU6IGxheW91dCBvZiB0aGlzIHJlZ2lzdGVyIGF3ZnVsbHkgc2ltaWxhciAocmVhZDogImlkZW50aWNhbD8/IikKKwkgKiB0byBBRDE4MTVKUy5wZGYgKHAuMjkpICovCisKKyAgLyogZW5hYmxlcyBheGlzIDEgKFggYXhpcykgbWVhc3VyZW1lbnQ6ICovCisgICNkZWZpbmUgR0FNRV9BWEVTX0VOQUJMRV8xCQkweDAxCisgIC8qIGVuYWJsZXMgYXhpcyAyIChZIGF4aXMpIG1lYXN1cmVtZW50OiAqLworICAjZGVmaW5lIEdBTUVfQVhFU19FTkFCTEVfMgkJMHgwMgorICAvKiBlbmFibGVzIGF4aXMgMyAoWCBheGlzKSBtZWFzdXJlbWVudDogKi8KKyAgI2RlZmluZSBHQU1FX0FYRVNfRU5BQkxFXzMJCTB4MDQKKyAgLyogZW5hYmxlcyBheGlzIDQgKFkgYXhpcykgbWVhc3VyZW1lbnQ6ICovCisgICNkZWZpbmUgR0FNRV9BWEVTX0VOQUJMRV80CQkweDA4CisgIC8qIHNlbGVjdHMgdGhlIGN1cnJlbnQgYXhpcyB0byByZWFkIHRoZSBtZWFzdXJlZCB2YWx1ZSBvZgorICAgKiAoYXQgSURYX0dBTUVfQVhJU19WQUxVRSk6CisgICAqIDAwID0gYXhpcyAxLCAwMSA9IGF4aXMgMiwgMTAgPSBheGlzIDMsIDExID0gYXhpcyA0OiAqLworICAjZGVmaW5lIEdBTUVfQVhFU19SRUFEX01BU0sJCTB4MzAKKyAgLyogZW5hYmxlIHRvIGhhdmUgdGhlIGxhdGNoIGNvbnRpbnVvdXNseSBhY2NlcHQgQURDIHZhbHVlcworICAgKiAoYW5kIGNvbnRpbnVvdXNseSBjYXVzZSBpbnRlcnJ1cHRzIGluIGNhc2UgaW50ZXJydXB0cyBhcmUgZW5hYmxlZCk7CisgICAqIEFEMTgxNUpTLnBkZiBzYXlzIGl0J3MgfjE2bXMgaW50ZXJ2YWwgdGhlcmU6ICovCisgICNkZWZpbmUgR0FNRV9BWEVTX0xBVENIX0VOQUJMRQkweDQwCisgIC8qIGpveXN0aWNrIGRhdGEgKG1lYXN1cmVkIGF4ZXMpIHJlYWR5IGZvciByZWFkaW5nOiAqLworICAjZGVmaW5lIEdBTUVfQVhFU19TQU1QTElOR19SRUFEWQkweDgwCisKKyAgLyogTk9URTogb3RoZXIgY2FyZCBzcGVjcyAoU2lTOTYwIGFuZCBvdGhlcnMhKSBzdGF0ZSB0aGF0IHRoZQorICAgKiBnYW1lIHBvc2l0aW9uIGxhdGNoZXMgc2hvdWxkIGJlIGZyb3plbiB3aGVuIHJlYWRpbmcgYW5kIGJlIGZyZWVkCisgICAqICg9PSByZXNldD8pIGFmdGVyIHJlYWRpbmchISEKKyAgICogRnJlZXppbmcgbW9zdCBsaWtlbHkgbWVhbnMgZGlzYWJsaW5nIDB4NDAgKEdBTUVfQVhFU19MQVRDSF9FTkFCTEUpLAorICAgKiAgYnV0IGhvdyB0byBmcmVlIHRoZSB2YWx1ZT8gKi8KKyAgLyogQW4gaW50ZXJuZXQgc2VhcmNoIGZvciAiZ2FtZXBvcnQgbGF0Y2ggQURDIiBzaG91bGQgcHJvdmlkZSBzb21lIGluc2lnaHQKKyAgICogaW50byBob3cgdG8gcHJvZ3JhbSBzdWNoIGEgZ2FtZXBvcnQgc3lzdGVtLiAqLworCisgIC8qIHdyaXRpbmcgMHhmMCB0byAwMUggb25jZSByZXNldCBib3RoIGNvdW50ZXJzIHRvIDAsIGluIHNvbWUgc3BlY2lhbCBtb2RlIT8KKyAgICogeXVwLCBpbiBjYXNlIDZBSCAweDIwIGlzIG5vdCBlbmFibGVkCisgICAqIChhbmQgMHg0MCBpcyBzdWZmaWNpZW50LCAweGYwIGlzIG5vdCBuZWVkZWQpICovCisKKyNkZWZpbmUgSURYX0dBTUVfQVhJU19WQUxVRQkweDAyCisJLyogUjogdmFsdWUgb2YgY3VycmVudGx5IGNvbmZpZ3VyZWQgYXhpcyAod29yZCB2YWx1ZSEpOworCSAqIFc6IHRyaWdnZXIgYXhpcyBtZWFzdXJlbWVudCAqLworCisjZGVmaW5lIElEWF9HQU1FX0hXQ09ORklHCTB4MDQKKwkvKiBub3RlOiBiaXRzIDQgdG8gNyBhcmUgbmV2ZXIgc2V0ICg9PSAwKSB3aGVuIHJlYWRpbmchCisJICogLS0+IHJlc2VydmVkIGJpdHM/ICovCisgIC8qIGVuYWJsZXMgSVJRIG5vdGlmaWNhdGlvbiB1cG9uIGF4ZXMgbWVhc3VyZW1lbnQgcmVhZHk6ICovCisgICNkZWZpbmUgR0FNRV9IV0NGR19JUlFfRU5BQkxFCQkJMHgwMQorICAvKiB0aGVzZSBiaXRzIGNob29zZSBhIGRpZmZlcmVudCBmcmVxdWVuY3kgZm9yIHRoZQorICAgKiAgaW50ZXJuYWwgQURDIGNvdW50ZXIgaW5jcmVtZW50LgorICAgKiBobW0sIHNlZW1zIHRvIGJlIGEgY29tYm8gb2YgYml0czoKKyAgICogMDAgLS0+IHN0YW5kYXJkIGZyZXF1ZW5jeQorICAgKiAxMCAtLT4gMS8yCisgICAqIDAxIC0tPiAxLzIwCisgICAqIDExIC0tPiAxLzIwMDogKi8KKyAgI2RlZmluZSBHQU1FX0hXQ0ZHX0FEQ19DT1VOVEVSX0ZSRVFfTUFTSwkweDA2CisKKyAgLyogZW5hYmxlIGdhbWVwb3J0IGxlZ2FjeSBJL08gYWRkcmVzcyAoMHgyMDApCisgICAqIEkgd2FzIHVuYWJsZSB0byBsb2NhdGUgYW55IGNvbmZpZ3VyYWJpbGl0eSBmb3IgYSBkaWZmZXJlbnQgYWRkcmVzczogKi8KKyAgI2RlZmluZSBHQU1FX0hXQ0ZHX0xFR0FDWV9BRERSRVNTX0VOQUJMRQkweDA4CisKKy8qKiogTVBVNDAxICoqKi8KICNkZWZpbmUgQVpGX0lPX1NJWkVfTVBVCQkweDA0CiAjZGVmaW5lIEFaRl9JT19TSVpFX01QVV9QTQkweDA0CiAKLSNkZWZpbmUgQVpGX0lPX1NJWkVfU1lOVEgJMHgwOAotI2RlZmluZSBBWkZfSU9fU0laRV9TWU5USF9QTQkweDA2CisvKioqIE9QTDMgc3ludGggKioqLworI2RlZmluZSBBWkZfSU9fU0laRV9PUEwzCTB4MDgKKyNkZWZpbmUgQVpGX0lPX1NJWkVfT1BMM19QTQkweDA2CisvKiBobW0sIGdpdmVuIHRoYXQgYSBzdGFuZGFyZCBPUEwzIGhhcyA0IHJlZ2lzdGVycyBvbmx5LAorICogdGhlcmUgbWlnaHQgYmUgc29tZSBlbmhhbmNlZCBmdW5jdGlvbmFsaXR5IGx1cmtpbmcgYXQgdGhlIGVuZAorICogKGVzcGVjaWFsbHkgc2luY2UgcmVnaXN0ZXIgMHgwNCBoYXMgYSAibm9uLWVtcHR5IiB2YWx1ZSAweGZlKSAqLwogCiAvKioqIG1peGVyIEkvTyBhcmVhIHBvcnQgaW5kaWNlcyAqKiovCiAvKiAob25seSAweDIyIG9mIDB4NDAgYnl0ZXMgc2F2ZWQvcmVzdG9yZWQgYnkgV2luZG93cyBkcml2ZXIpCmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvY2EwMTA2L2NhMDEwNl9tYWluLmMgYi9zb3VuZC9wY2kvY2EwMTA2L2NhMDEwNl9tYWluLmMKaW5kZXggZWNiZTc5Yi4uMmY4YjI4YSAxMDA2NDQKLS0tIGEvc291bmQvcGNpL2NhMDEwNi9jYTAxMDZfbWFpbi5jCisrKyBiL3NvdW5kL3BjaS9jYTAxMDYvY2EwMTA2X21haW4uYwpAQCAtMjQ5LDYgKzI0OSwxMSBAQAogCSAgIC5uYW1lICAgPSAiTVNJIEs4TiBEaWFtb25kIE1CIFtTQjA0MzhdIiwKIAkgICAuZ3Bpb190eXBlID0gMiwKIAkgICAuaTJjX2FkYyA9IDEgfSAsCisJIC8qIEFub3RoZXIgTVNJIEs4TiBEaWFtb25kIE1CLCB3aGljaCBoYXMgYXBwcmVudGx5IGEgZGlmZmVyZW50IFNTSUQgKi8KKwkgeyAuc2VyaWFsID0gMHgxMDA5MTEwMiwKKwkgICAubmFtZSAgID0gIk1TSSBLOE4gRGlhbW9uZCBNQiIsCisJICAgLmdwaW9fdHlwZSA9IDIsCisJICAgLmkyY19hZGMgPSAxIH0gLAogCSAvKiBTaHV0dGxlIFhQQyBTRDMxUCB3aGljaCBoYXMgYW4gb25ib2FyZCBDcmVhdGl2ZSBMYWJzCiAJICAqIFNvdW5kIEJsYXN0ZXIgTGl2ZSEgMjQtYml0IEVBWAogCSAgKiBoaWdoLWRlZmluaXRpb24gNy4xIGF1ZGlvIHByb2Nlc3NvciIuCmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvZW11MTBrMS9lbXUxMGsxX21haW4uYyBiL3NvdW5kL3BjaS9lbXUxMGsxL2VtdTEwazFfbWFpbi5jCmluZGV4IDU0OGM5Y2MuLjJmMjgzZWEgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9lbXUxMGsxL2VtdTEwazFfbWFpbi5jCisrKyBiL3NvdW5kL3BjaS9lbXUxMGsxL2VtdTEwazFfbWFpbi5jCkBAIC0xNTI4LDYgKzE1MjgsNyBAQAogCSAuY2EwMTUxX2NoaXAgPSAxLAogCSAuc3BrNzEgPSAxLAogCSAuc3BkaWZfYnVnID0gMSwKKwkgLmludmVydF9zaGFyZWRfc3BkaWYgPSAxLAkvKiBkaWdpdGFsL2FuYWxvZyBzd2l0Y2ggc3dhcHBlZCAqLwogCSAuYWRjXzEzNjF0ID0gMSwgIC8qIDI0IGJpdCBjYXB0dXJlIGluc3RlYWQgb2YgMTZiaXQuIEZpeGVzIEFMU0EgYnVnIzMyNCAqLwogCSAuYWM5N19jaGlwID0gMX0gLAogCXsudmVuZG9yID0gMHgxMTAyLCAuZGV2aWNlID0gMHgwMDA0LCAucmV2aXNpb24gPSAweDA0LApkaWZmIC0tZ2l0IGEvc291bmQvcGNpL2VtdTEwazEvZW11bWl4ZXIuYyBiL3NvdW5kL3BjaS9lbXUxMGsxL2VtdW1peGVyLmMKaW5kZXggZmQyMjEyMC4uZjM0YmJmYiAxMDA2NDQKLS0tIGEvc291bmQvcGNpL2VtdTEwazEvZW11bWl4ZXIuYworKysgYi9zb3VuZC9wY2kvZW11MTBrMS9lbXVtaXhlci5jCkBAIC0xNTc4LDYgKzE1NzgsMTAgQEAKIAkJdWNvbnRyb2wtPnZhbHVlLmludGVnZXIudmFsdWVbMF0gPSBpbmwoZW11LT5wb3J0ICsgQV9JT0NGRykgJiBBX0lPQ0ZHX0dQT1VUMCA/IDEgOiAwOwogCWVsc2UKIAkJdWNvbnRyb2wtPnZhbHVlLmludGVnZXIudmFsdWVbMF0gPSBpbmwoZW11LT5wb3J0ICsgSENGRykgJiBIQ0ZHX0dQT1VUMCA/IDEgOiAwOworCWlmIChlbXUtPmNhcmRfY2FwYWJpbGl0aWVzLT5pbnZlcnRfc2hhcmVkX3NwZGlmKQorCQl1Y29udHJvbC0+dmFsdWUuaW50ZWdlci52YWx1ZVswXSA9CisJCQkhdWNvbnRyb2wtPnZhbHVlLmludGVnZXIudmFsdWVbMF07CisJCQogCXJldHVybiAwOwogfQogCkBAIC0xNTg2LDE1ICsxNTkwLDE4IEBACiB7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAlzdHJ1Y3Qgc25kX2VtdTEwazEgKmVtdSA9IHNuZF9rY29udHJvbF9jaGlwKGtjb250cm9sKTsKLQl1bnNpZ25lZCBpbnQgcmVnLCB2YWw7CisJdW5zaWduZWQgaW50IHJlZywgdmFsLCBzdzsKIAlpbnQgY2hhbmdlID0gMDsKIAorCXN3ID0gdWNvbnRyb2wtPnZhbHVlLmludGVnZXIudmFsdWVbMF07CisJaWYgKGVtdS0+Y2FyZF9jYXBhYmlsaXRpZXMtPmludmVydF9zaGFyZWRfc3BkaWYpCisJCXN3ID0gIXN3OwogCXNwaW5fbG9ja19pcnFzYXZlKCZlbXUtPnJlZ19sb2NrLCBmbGFncyk7CiAJaWYgKCBlbXUtPmNhcmRfY2FwYWJpbGl0aWVzLT5pMmNfYWRjKSB7CiAJCS8qIERvIG5vdGhpbmcgZm9yIEF1ZGlneSAyIFpTIE5vdGVib29rICovCiAJfSBlbHNlIGlmIChlbXUtPmF1ZGlneSkgewogCQlyZWcgPSBpbmwoZW11LT5wb3J0ICsgQV9JT0NGRyk7Ci0JCXZhbCA9IHVjb250cm9sLT52YWx1ZS5pbnRlZ2VyLnZhbHVlWzBdID8gQV9JT0NGR19HUE9VVDAgOiAwOworCQl2YWwgPSBzdyA/IEFfSU9DRkdfR1BPVVQwIDogMDsKIAkJY2hhbmdlID0gKHJlZyAmIEFfSU9DRkdfR1BPVVQwKSAhPSB2YWw7CiAJCWlmIChjaGFuZ2UpIHsKIAkJCXJlZyAmPSB+QV9JT0NGR19HUE9VVDA7CkBAIC0xNjAzLDcgKzE2MTAsNyBAQAogCQl9CiAJfQogCXJlZyA9IGlubChlbXUtPnBvcnQgKyBIQ0ZHKTsKLQl2YWwgPSB1Y29udHJvbC0+dmFsdWUuaW50ZWdlci52YWx1ZVswXSA/IEhDRkdfR1BPVVQwIDogMDsKKwl2YWwgPSBzdyA/IEhDRkdfR1BPVVQwIDogMDsKIAljaGFuZ2UgfD0gKHJlZyAmIEhDRkdfR1BPVVQwKSAhPSB2YWw7CiAJaWYgKGNoYW5nZSkgewogCQlyZWcgJj0gfkhDRkdfR1BPVVQwOwpkaWZmIC0tZ2l0IGEvc291bmQvcGNpL2VtdTEwazEvbWVtb3J5LmMgYi9zb3VuZC9wY2kvZW11MTBrMS9tZW1vcnkuYwppbmRleCA5MTZjMWRiLi43ZDM3OWY1IDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvZW11MTBrMS9tZW1vcnkuYworKysgYi9zb3VuZC9wY2kvZW11MTBrMS9tZW1vcnkuYwpAQCAtNDM3LDQzICs0MzcsNDkgQEAKIAkqbGFzdF9wYWdlX3JldCA9IGxhc3RfcGFnZTsKIH0KIAorLyogcmVsZWFzZSBhbGxvY2F0ZWQgcGFnZXMgKi8KK3N0YXRpYyB2b2lkIF9fc3ludGhfZnJlZV9wYWdlcyhzdHJ1Y3Qgc25kX2VtdTEwazEgKmVtdSwgaW50IGZpcnN0X3BhZ2UsCisJCQkgICAgICAgaW50IGxhc3RfcGFnZSkKK3sKKwlpbnQgcGFnZTsKKworCWZvciAocGFnZSA9IGZpcnN0X3BhZ2U7IHBhZ2UgPD0gbGFzdF9wYWdlOyBwYWdlKyspIHsKKwkJZnJlZV9wYWdlKCh1bnNpZ25lZCBsb25nKWVtdS0+cGFnZV9wdHJfdGFibGVbcGFnZV0pOworCQllbXUtPnBhZ2VfYWRkcl90YWJsZVtwYWdlXSA9IDA7CisJCWVtdS0+cGFnZV9wdHJfdGFibGVbcGFnZV0gPSBOVUxMOworCX0KK30KKwogLyoKICAqIGFsbG9jYXRlIGtlcm5lbCBwYWdlcwogICovCiBzdGF0aWMgaW50IHN5bnRoX2FsbG9jX3BhZ2VzKHN0cnVjdCBzbmRfZW11MTBrMSAqZW11LCBzdHJ1Y3Qgc25kX2VtdTEwazFfbWVtYmxrICpibGspCiB7CiAJaW50IHBhZ2UsIGZpcnN0X3BhZ2UsIGxhc3RfcGFnZTsKLQlzdHJ1Y3Qgc25kX2RtYV9idWZmZXIgZG1hYjsKIAogCWVtdTEwazFfbWVtYmxrX2luaXQoYmxrKTsKIAlnZXRfc2luZ2xlX3BhZ2VfcmFuZ2UoZW11LT5tZW1oZHIsIGJsaywgJmZpcnN0X3BhZ2UsICZsYXN0X3BhZ2UpOwogCS8qIGFsbG9jYXRlIGtlcm5lbCBwYWdlcyAqLwogCWZvciAocGFnZSA9IGZpcnN0X3BhZ2U7IHBhZ2UgPD0gbGFzdF9wYWdlOyBwYWdlKyspIHsKLQkJaWYgKHNuZF9kbWFfYWxsb2NfcGFnZXMoU05EUlZfRE1BX1RZUEVfREVWLCBzbmRfZG1hX3BjaV9kYXRhKGVtdS0+cGNpKSwKLQkJCQkJUEFHRV9TSVpFLCAmZG1hYikgPCAwKQotCQkJZ290byBfX2ZhaWw7Ci0JCWlmICghIGlzX3ZhbGlkX3BhZ2UoZW11LCBkbWFiLmFkZHIpKSB7Ci0JCQlzbmRfZG1hX2ZyZWVfcGFnZXMoJmRtYWIpOwotCQkJZ290byBfX2ZhaWw7CisJCS8qIGZpcnN0IHRyeSB0byBhbGxvY2F0ZSBmcm9tIDw0R0Igem9uZSAqLworCQlzdHJ1Y3QgcGFnZSAqcCA9IGFsbG9jX3BhZ2UoR0ZQX0tFUk5FTCB8IEdGUF9ETUEzMiB8CisJCQkJCSAgICBfX0dGUF9OT1dBUk4pOworCQlpZiAoIXAgfHwgKHBhZ2VfdG9fcGZuKHApICYgfihlbXUtPmRtYV9tYXNrID4+IFBBR0VfU0hJRlQpKSkgeworCQkJaWYgKHApCisJCQkJX19mcmVlX3BhZ2UocCk7CisJCQkvKiB0cnkgdG8gYWxsb2NhdGUgZnJvbSA8MTZNQiB6b25lICovCisJCQlwID0gYWxsb2NfcGFnZShHRlBfQVRPTUlDIHwgR0ZQX0RNQSB8CisJCQkJICAgICAgIF9fR0ZQX05PUkVUUlkgfCAvKiBubyBPT00ta2lsbGVyICovCisJCQkJICAgICAgIF9fR0ZQX05PV0FSTik7CiAJCX0KLQkJZW11LT5wYWdlX2FkZHJfdGFibGVbcGFnZV0gPSBkbWFiLmFkZHI7Ci0JCWVtdS0+cGFnZV9wdHJfdGFibGVbcGFnZV0gPSBkbWFiLmFyZWE7CisJCWlmICghcCkgeworCQkJX19zeW50aF9mcmVlX3BhZ2VzKGVtdSwgZmlyc3RfcGFnZSwgcGFnZSAtIDEpOworCQkJcmV0dXJuIC1FTk9NRU07CisJCX0KKwkJZW11LT5wYWdlX2FkZHJfdGFibGVbcGFnZV0gPSBwYWdlX3RvX3BoeXMocCk7CisJCWVtdS0+cGFnZV9wdHJfdGFibGVbcGFnZV0gPSBwYWdlX2FkZHJlc3MocCk7CiAJfQogCXJldHVybiAwOwotCi1fX2ZhaWw6Ci0JLyogcmVsZWFzZSBhbGxvY2F0ZWQgcGFnZXMgKi8KLQlsYXN0X3BhZ2UgPSBwYWdlIC0gMTsKLQlmb3IgKHBhZ2UgPSBmaXJzdF9wYWdlOyBwYWdlIDw9IGxhc3RfcGFnZTsgcGFnZSsrKSB7Ci0JCWRtYWIuYXJlYSA9IGVtdS0+cGFnZV9wdHJfdGFibGVbcGFnZV07Ci0JCWRtYWIuYWRkciA9IGVtdS0+cGFnZV9hZGRyX3RhYmxlW3BhZ2VdOwotCQlkbWFiLmJ5dGVzID0gUEFHRV9TSVpFOwotCQlzbmRfZG1hX2ZyZWVfcGFnZXMoJmRtYWIpOwotCQllbXUtPnBhZ2VfYWRkcl90YWJsZVtwYWdlXSA9IDA7Ci0JCWVtdS0+cGFnZV9wdHJfdGFibGVbcGFnZV0gPSBOVUxMOwotCX0KLQotCXJldHVybiAtRU5PTUVNOwogfQogCiAvKgpAQCAtNDgxLDIzICs0ODcsMTAgQEAKICAqLwogc3RhdGljIGludCBzeW50aF9mcmVlX3BhZ2VzKHN0cnVjdCBzbmRfZW11MTBrMSAqZW11LCBzdHJ1Y3Qgc25kX2VtdTEwazFfbWVtYmxrICpibGspCiB7Ci0JaW50IHBhZ2UsIGZpcnN0X3BhZ2UsIGxhc3RfcGFnZTsKLQlzdHJ1Y3Qgc25kX2RtYV9idWZmZXIgZG1hYjsKKwlpbnQgZmlyc3RfcGFnZSwgbGFzdF9wYWdlOwogCiAJZ2V0X3NpbmdsZV9wYWdlX3JhbmdlKGVtdS0+bWVtaGRyLCBibGssICZmaXJzdF9wYWdlLCAmbGFzdF9wYWdlKTsKLQlkbWFiLmRldi50eXBlID0gU05EUlZfRE1BX1RZUEVfREVWOwotCWRtYWIuZGV2LmRldiA9IHNuZF9kbWFfcGNpX2RhdGEoZW11LT5wY2kpOwotCWZvciAocGFnZSA9IGZpcnN0X3BhZ2U7IHBhZ2UgPD0gbGFzdF9wYWdlOyBwYWdlKyspIHsKLQkJaWYgKGVtdS0+cGFnZV9wdHJfdGFibGVbcGFnZV0gPT0gTlVMTCkKLQkJCWNvbnRpbnVlOwotCQlkbWFiLmFyZWEgPSBlbXUtPnBhZ2VfcHRyX3RhYmxlW3BhZ2VdOwotCQlkbWFiLmFkZHIgPSBlbXUtPnBhZ2VfYWRkcl90YWJsZVtwYWdlXTsKLQkJZG1hYi5ieXRlcyA9IFBBR0VfU0laRTsKLQkJc25kX2RtYV9mcmVlX3BhZ2VzKCZkbWFiKTsKLQkJZW11LT5wYWdlX2FkZHJfdGFibGVbcGFnZV0gPSAwOwotCQllbXUtPnBhZ2VfcHRyX3RhYmxlW3BhZ2VdID0gTlVMTDsKLQl9Ci0KKwlfX3N5bnRoX2ZyZWVfcGFnZXMoZW11LCBmaXJzdF9wYWdlLCBsYXN0X3BhZ2UpOwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvaGRhL2hkYV9jb2RlYy5jIGIvc291bmQvcGNpL2hkYS9oZGFfY29kZWMuYwppbmRleCBhNmJlNmUzLi5kMmUxMDkzIDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvaGRhL2hkYV9jb2RlYy5jCisrKyBiL3NvdW5kL3BjaS9oZGEvaGRhX2NvZGVjLmMKQEAgLTIzMzUsNyArMjMzNSw3IEBACiAJaWYgKCF0YmwpCiAJCXJldHVybiAtMTsKIAlpZiAodGJsLT52YWx1ZSA+PSAwICYmIHRibC0+dmFsdWUgPCBudW1fY29uZmlncykgewotI2lmZGVmIENPTkZJR19TTkRfREVCVUdfREVURUNUCisjaWZkZWYgQ09ORklHX1NORF9ERUJVR19WRVJCT1NFCiAJCWNoYXIgdG1wWzEwXTsKIAkJY29uc3QgY2hhciAqbW9kZWwgPSBOVUxMOwogCQlpZiAobW9kZWxzKQpkaWZmIC0tZ2l0IGEvc291bmQvcGNpL2hkYS9oZGFfY29kZWMuaCBiL3NvdW5kL3BjaS9oZGEvaGRhX2NvZGVjLmgKaW5kZXggZGNkMzkwYi4uZWZjNjgyOCAxMDA2NDQKLS0tIGEvc291bmQvcGNpL2hkYS9oZGFfY29kZWMuaAorKysgYi9zb3VuZC9wY2kvaGRhL2hkYV9jb2RlYy5oCkBAIC03OCw3ICs3OCw3IEBACiAjZGVmaW5lIEFDX1ZFUkJfR0VUX0JFRVBfQ09OVFJPTAkJMHgwZjBhCiAjZGVmaW5lIEFDX1ZFUkJfR0VUX0VBUERfQlRMRU5BQkxFCQkweDBmMGMKICNkZWZpbmUgQUNfVkVSQl9HRVRfRElHSV9DT05WRVJUXzEJCTB4MGYwZAotI2RlZmluZSBBQ19WRVJCX0dFVF9ESUdJX0NPTlZFUlRfMgkJMHgwZjBlCisjZGVmaW5lIEFDX1ZFUkJfR0VUX0RJR0lfQ09OVkVSVF8yCQkweDBmMGUgLyogdW51c2VkICovCiAjZGVmaW5lIEFDX1ZFUkJfR0VUX1ZPTFVNRV9LTk9CX0NPTlRST0wJCTB4MGYwZgogLyogZjEwLWYxYTogR1BJTyAqLwogI2RlZmluZSBBQ19WRVJCX0dFVF9HUElPX0RBVEEJCQkweDBmMTUKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9oZGEvaGRhX2h3ZGVwLmMgYi9zb3VuZC9wY2kvaGRhL2hkYV9od2RlcC5jCmluZGV4IDIxNzdkOWEuLjZlMThhNDIgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9oZGEvaGRhX2h3ZGVwLmMKKysrIGIvc291bmQvcGNpL2hkYS9oZGFfaHdkZXAuYwpAQCAtODgsNyArODgsNyBAQAogCiBzdGF0aWMgaW50IGhkYV9od2RlcF9vcGVuKHN0cnVjdCBzbmRfaHdkZXAgKmh3LCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKLSNpZm5kZWYgQ09ORklHX1NORF9ERUJVR19ERVRFQ1QKKyNpZm5kZWYgQ09ORklHX1NORF9ERUJVR19WRVJCT1NFCiAJaWYgKCFjYXBhYmxlKENBUF9TWVNfUkFXSU8pKQogCQlyZXR1cm4gLUVBQ0NFUzsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvc291bmQvcGNpL2hkYS9oZGFfaW50ZWwuYyBiL3NvdW5kL3BjaS9oZGEvaGRhX2ludGVsLmMKaW5kZXggYjNhNjE4ZS4uMTY3MTVhNiAxMDA2NDQKLS0tIGEvc291bmQvcGNpL2hkYS9oZGFfaW50ZWwuYworKysgYi9zb3VuZC9wY2kvaGRhL2hkYV9pbnRlbC5jCkBAIC01NSw2ICs1NSw3IEBACiBzdGF0aWMgaW50IGVuYWJsZVtTTkRSVl9DQVJEU10gPSBTTkRSVl9ERUZBVUxUX0VOQUJMRV9QTlA7CiBzdGF0aWMgY2hhciAqbW9kZWxbU05EUlZfQ0FSRFNdOwogc3RhdGljIGludCBwb3NpdGlvbl9maXhbU05EUlZfQ0FSRFNdOworc3RhdGljIGludCBiZGxfcG9zX2FkaltTTkRSVl9DQVJEU10gPSB7WzAgLi4uIChTTkRSVl9DQVJEUy0xKV0gPSAtMX07CiBzdGF0aWMgaW50IHByb2JlX21hc2tbU05EUlZfQ0FSRFNdID0ge1swIC4uLiAoU05EUlZfQ0FSRFMtMSldID0gLTF9Owogc3RhdGljIGludCBzaW5nbGVfY21kOwogc3RhdGljIGludCBlbmFibGVfbXNpOwpAQCAtNjksNyArNzAsOSBAQAogTU9EVUxFX1BBUk1fREVTQyhtb2RlbCwgIlVzZSB0aGUgZ2l2ZW4gYm9hcmQgbW9kZWwuIik7CiBtb2R1bGVfcGFyYW1fYXJyYXkocG9zaXRpb25fZml4LCBpbnQsIE5VTEwsIDA0NDQpOwogTU9EVUxFX1BBUk1fREVTQyhwb3NpdGlvbl9maXgsICJGaXggRE1BIHBvaW50ZXIgIgotCQkgIigwID0gYXV0bywgMSA9IG5vbmUsIDIgPSBQT1NCVUYsIDMgPSBGSUZPIHNpemUpLiIpOworCQkgIigwID0gYXV0bywgMSA9IG5vbmUsIDIgPSBQT1NCVUYpLiIpOworbW9kdWxlX3BhcmFtX2FycmF5KGJkbF9wb3NfYWRqLCBpbnQsIE5VTEwsIDA2NDQpOworTU9EVUxFX1BBUk1fREVTQyhiZGxfcG9zX2FkaiwgIkJETCBwb3NpdGlvbiBhZGp1c3RtZW50IG9mZnNldC4iKTsKIG1vZHVsZV9wYXJhbV9hcnJheShwcm9iZV9tYXNrLCBpbnQsIE5VTEwsIDA0NDQpOwogTU9EVUxFX1BBUk1fREVTQyhwcm9iZV9tYXNrLCAiQml0bWFzayB0byBwcm9iZSBjb2RlY3MgKGRlZmF1bHQgPSAtMSkuIik7CiBtb2R1bGVfcGFyYW0oc2luZ2xlX2NtZCwgYm9vbCwgMDQ0NCk7CkBAIC0xOTcsNiArMjAwLDEwIEBACiAjZGVmaW5lIEFUSUhETUlfTlVNX0NBUFRVUkUJMAogI2RlZmluZSBBVElIRE1JX05VTV9QTEFZQkFDSwkxCiAKKy8qIFRFUkEgaGFzIDQgcGxheWJhY2sgYW5kIDMgY2FwdHVyZSAqLworI2RlZmluZSBURVJBX05VTV9DQVBUVVJFCTMKKyNkZWZpbmUgVEVSQV9OVU1fUExBWUJBQ0sJNAorCiAvKiB0aGlzIG51bWJlciBpcyBzdGF0aWNhbGx5IGRlZmluZWQgZm9yIHNpbXBsaWNpdHkgKi8KICNkZWZpbmUgTUFYX0FaWF9ERVYJCTE2CiAKQEAgLTI1OSw5ICsyNjYsOCBAQAogLyogcG9zaXRpb24gZml4IG1vZGUgKi8KIGVudW0gewogCVBPU19GSVhfQVVUTywKLQlQT1NfRklYX05PTkUsCisJUE9TX0ZJWF9MUElCLAogCVBPU19GSVhfUE9TQlVGLAotCVBPU19GSVhfRklGTywKIH07CiAKIC8qIERlZmluZXMgZm9yIEFUSSBIRCBBdWRpbyBzdXBwb3J0IGluIFNCNDUwIHNvdXRoIGJyaWRnZSAqLwpAQCAtMjg1LDYgKzI5MSw3IEBACiAJdTMyICpwb3NidWY7CQkvKiBwb3NpdGlvbiBidWZmZXIgcG9pbnRlciAqLwogCiAJdW5zaWduZWQgaW50IGJ1ZnNpemU7CS8qIHNpemUgb2YgdGhlIHBsYXkgYnVmZmVyIGluIGJ5dGVzICovCisJdW5zaWduZWQgaW50IHBlcmlvZF9ieXRlczsgLyogc2l6ZSBvZiB0aGUgcGVyaW9kIGluIGJ5dGVzICovCiAJdW5zaWduZWQgaW50IGZyYWdzOwkvKiBudW1iZXIgZm9yIHBlcmlvZCBpbiB0aGUgcGxheSBidWZmZXIgKi8KIAl1bnNpZ25lZCBpbnQgZmlmb19zaXplOwkvKiBGSUZPIHNpemUgKi8KIApAQCAtMzAxLDExICszMDgsMTEgQEAKIAkJCQkJICovCiAJdW5zaWduZWQgY2hhciBzdHJlYW1fdGFnOwkvKiBhc3NpZ25lZCBzdHJlYW0gKi8KIAl1bnNpZ25lZCBjaGFyIGluZGV4OwkJLyogc3RyZWFtIGluZGV4ICovCi0JLyogZm9yIHNhbml0eSBjaGVjayBvZiBwb3NpdGlvbiBidWZmZXIgKi8KLQl1bnNpZ25lZCBpbnQgcGVyaW9kX2ludHI7CiAKIAl1bnNpZ25lZCBpbnQgb3BlbmVkIDoxOwogCXVuc2lnbmVkIGludCBydW5uaW5nIDoxOworCXVuc2lnbmVkIGludCBpcnFfcGVuZGluZyA6MTsKKwl1bnNpZ25lZCBpbnQgaXJxX2lnbm9yZSA6MTsKIH07CiAKIC8qIENPUkIvUklSQiAqLwpAQCAtMzIzLDYgKzMzMCw3IEBACiBzdHJ1Y3QgYXp4IHsKIAlzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQ7CiAJc3RydWN0IHBjaV9kZXYgKnBjaTsKKwlpbnQgZGV2X2luZGV4OwogCiAJLyogY2hpcCB0eXBlIHNwZWNpZmljICovCiAJaW50IGRyaXZlcl90eXBlOwpAQCAtMzY2LDkgKzM3NCwxMyBAQAogCXVuc2lnbmVkIGludCBzaW5nbGVfY21kIDoxOwogCXVuc2lnbmVkIGludCBwb2xsaW5nX21vZGUgOjE7CiAJdW5zaWduZWQgaW50IG1zaSA6MTsKKwl1bnNpZ25lZCBpbnQgaXJxX3BlbmRpbmdfd2FybmVkIDoxOwogCiAJLyogZm9yIGRlYnVnZ2luZyAqLwogCXVuc2lnbmVkIGludCBsYXN0X2NtZDsJLyogbGFzdCBpc3N1ZWQgY29tbWFuZCAodG8gc3luYykgKi8KKworCS8qIGZvciBwZW5kaW5nIGlycXMgKi8KKwlzdHJ1Y3Qgd29ya19zdHJ1Y3QgaXJxX3BlbmRpbmdfd29yazsKIH07CiAKIC8qIGRyaXZlciB0eXBlcyAqLwpAQCAtMzgxLDYgKzM5Myw3IEBACiAJQVpYX0RSSVZFUl9TSVMsCiAJQVpYX0RSSVZFUl9VTEksCiAJQVpYX0RSSVZFUl9OVklESUEsCisJQVpYX0RSSVZFUl9URVJBLAogfTsKIAogc3RhdGljIGNoYXIgKmRyaXZlcl9zaG9ydF9uYW1lc1tdIF9fZGV2aW5pdGRhdGEgPSB7CkBAIC0zOTIsNiArNDA1LDcgQEAKIAlbQVpYX0RSSVZFUl9TSVNdID0gIkhEQSBTSVM5NjYiLAogCVtBWlhfRFJJVkVSX1VMSV0gPSAiSERBIFVMSSBNNTQ2MSIsCiAJW0FaWF9EUklWRVJfTlZJRElBXSA9ICJIREEgTlZpZGlhIiwKKwlbQVpYX0RSSVZFUl9URVJBXSA9ICJIREEgVGVyYWRpY2kiLCAKIH07CiAKIC8qCkBAIC00MjYsMTEgKzQ0MCw2IEBACiAvKiBmb3IgcGNtIHN1cHBvcnQgKi8KICNkZWZpbmUgZ2V0X2F6eF9kZXYoc3Vic3RyZWFtKSAoc3Vic3RyZWFtLT5ydW50aW1lLT5wcml2YXRlX2RhdGEpCiAKLS8qIEdldCB0aGUgdXBwZXIgMzJiaXQgb2YgdGhlIGdpdmVuIGRtYV9hZGRyX3QKLSAqIENvbXBpbGVyIHNob3VsZCBvcHRpbWl6ZSBhbmQgZWxpbWluYXRlIHRoZSBjb2RlIGlmIGRtYV9hZGRyX3QgaXMgMzJiaXQKLSAqLwotI2RlZmluZSB1cHBlcl8zMmJpdChhZGRyKSAoc2l6ZW9mKGFkZHIpID4gNCA/ICh1MzIpKChhZGRyKSA+PiAzMikgOiAodTMyKTApCi0KIHN0YXRpYyBpbnQgYXp4X2FjcXVpcmVfaXJxKHN0cnVjdCBhenggKmNoaXAsIGludCBkb19kaXNjb25uZWN0KTsKIAogLyoKQEAgLTQ2MSw3ICs0NzAsNyBAQAogCWNoaXAtPmNvcmIuYWRkciA9IGNoaXAtPnJiLmFkZHI7CiAJY2hpcC0+Y29yYi5idWYgPSAodTMyICopY2hpcC0+cmIuYXJlYTsKIAlhenhfd3JpdGVsKGNoaXAsIENPUkJMQkFTRSwgKHUzMiljaGlwLT5jb3JiLmFkZHIpOwotCWF6eF93cml0ZWwoY2hpcCwgQ09SQlVCQVNFLCB1cHBlcl8zMmJpdChjaGlwLT5jb3JiLmFkZHIpKTsKKwlhenhfd3JpdGVsKGNoaXAsIENPUkJVQkFTRSwgdXBwZXJfMzJfYml0cyhjaGlwLT5jb3JiLmFkZHIpKTsKIAogCS8qIHNldCB0aGUgY29yYiBzaXplIHRvIDI1NiBlbnRyaWVzIChVTEkgcmVxdWlyZXMgZXhwbGljaXRseSkgKi8KIAlhenhfd3JpdGViKGNoaXAsIENPUkJTSVpFLCAweDAyKTsKQEAgLTQ3Niw3ICs0ODUsNyBAQAogCWNoaXAtPnJpcmIuYWRkciA9IGNoaXAtPnJiLmFkZHIgKyAyMDQ4OwogCWNoaXAtPnJpcmIuYnVmID0gKHUzMiAqKShjaGlwLT5yYi5hcmVhICsgMjA0OCk7CiAJYXp4X3dyaXRlbChjaGlwLCBSSVJCTEJBU0UsICh1MzIpY2hpcC0+cmlyYi5hZGRyKTsKLQlhenhfd3JpdGVsKGNoaXAsIFJJUkJVQkFTRSwgdXBwZXJfMzJiaXQoY2hpcC0+cmlyYi5hZGRyKSk7CisJYXp4X3dyaXRlbChjaGlwLCBSSVJCVUJBU0UsIHVwcGVyXzMyX2JpdHMoY2hpcC0+cmlyYi5hZGRyKSk7CiAKIAkvKiBzZXQgdGhlIHJpcmIgc2l6ZSB0byAyNTYgZW50cmllcyAoVUxJIHJlcXVpcmVzIGV4cGxpY2l0bHkpICovCiAJYXp4X3dyaXRlYihjaGlwLCBSSVJCU0laRSwgMHgwMik7CkBAIC04NDcsNyArODU2LDcgQEAKIAogCS8qIHByb2dyYW0gdGhlIHBvc2l0aW9uIGJ1ZmZlciAqLwogCWF6eF93cml0ZWwoY2hpcCwgRFBMQkFTRSwgKHUzMiljaGlwLT5wb3NidWYuYWRkcik7Ci0JYXp4X3dyaXRlbChjaGlwLCBEUFVCQVNFLCB1cHBlcl8zMmJpdChjaGlwLT5wb3NidWYuYWRkcikpOworCWF6eF93cml0ZWwoY2hpcCwgRFBVQkFTRSwgdXBwZXJfMzJfYml0cyhjaGlwLT5wb3NidWYuYWRkcikpOwogCiAJY2hpcC0+aW5pdGlhbGl6ZWQgPSAxOwogfQpAQCAtOTA4LDYgKzkxNyw4IEBACiB9CiAKIAorc3RhdGljIGludCBhenhfcG9zaXRpb25fb2soc3RydWN0IGF6eCAqY2hpcCwgc3RydWN0IGF6eF9kZXYgKmF6eF9kZXYpOworCiAvKgogICogaW50ZXJydXB0IGhhbmRsZXIKICAqLwpAQCAtOTMwLDExICs5NDEsMjMgQEAKIAkJYXp4X2RldiA9ICZjaGlwLT5henhfZGV2W2ldOwogCQlpZiAoc3RhdHVzICYgYXp4X2Rldi0+c2RfaW50X3N0YV9tYXNrKSB7CiAJCQlhenhfc2Rfd3JpdGViKGF6eF9kZXYsIFNEX1NUUywgU0RfSU5UX01BU0spOwotCQkJaWYgKGF6eF9kZXYtPnN1YnN0cmVhbSAmJiBhenhfZGV2LT5ydW5uaW5nKSB7Ci0JCQkJYXp4X2Rldi0+cGVyaW9kX2ludHIrKzsKKwkJCWlmICghYXp4X2Rldi0+c3Vic3RyZWFtIHx8ICFhenhfZGV2LT5ydW5uaW5nKQorCQkJCWNvbnRpbnVlOworCQkJLyogaWdub3JlIHRoZSBmaXJzdCBkdW1teSBJUlEgKGR1ZSB0byBwb3NfYWRqKSAqLworCQkJaWYgKGF6eF9kZXYtPmlycV9pZ25vcmUpIHsKKwkJCQlhenhfZGV2LT5pcnFfaWdub3JlID0gMDsKKwkJCQljb250aW51ZTsKKwkJCX0KKwkJCS8qIGNoZWNrIHdoZXRoZXIgdGhpcyBJUlEgaXMgcmVhbGx5IGFjY2VwdGFibGUgKi8KKwkJCWlmIChhenhfcG9zaXRpb25fb2soY2hpcCwgYXp4X2RldikpIHsKKwkJCQlhenhfZGV2LT5pcnFfcGVuZGluZyA9IDA7CiAJCQkJc3Bpbl91bmxvY2soJmNoaXAtPnJlZ19sb2NrKTsKIAkJCQlzbmRfcGNtX3BlcmlvZF9lbGFwc2VkKGF6eF9kZXYtPnN1YnN0cmVhbSk7CiAJCQkJc3Bpbl9sb2NrKCZjaGlwLT5yZWdfbG9jayk7CisJCQl9IGVsc2UgeworCQkJCS8qIGJvZ3VzIElSUSwgcHJvY2VzcyBpdCBsYXRlciAqLworCQkJCWF6eF9kZXYtPmlycV9wZW5kaW5nID0gMTsKKwkJCQlzY2hlZHVsZV93b3JrKCZjaGlwLT5pcnFfcGVuZGluZ193b3JrKTsKIAkJCX0KIAkJfQogCX0KQEAgLTk1OSw1OSArOTgyLDEwNyBAQAogCiAKIC8qCi0gKiBzZXQgdXAgQkRMIGVudHJpZXMKKyAqIHNldCB1cCBhIEJETCBlbnRyeQogICovCi1zdGF0aWMgaW50IGF6eF9zZXR1cF9wZXJpb2RzKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtLAotCQkJICAgICBzdHJ1Y3QgYXp4X2RldiAqYXp4X2RldikKK3N0YXRpYyBpbnQgc2V0dXBfYmRsZShzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSwKKwkJICAgICAgc3RydWN0IGF6eF9kZXYgKmF6eF9kZXYsIHUzMiAqKmJkbHAsCisJCSAgICAgIGludCBvZnMsIGludCBzaXplLCBpbnQgd2l0aF9pb2MpCiB7CiAJc3RydWN0IHNuZF9zZ19idWYgKnNnYnVmID0gc25kX3BjbV9zdWJzdHJlYW1fc2didWYoc3Vic3RyZWFtKTsKKwl1MzIgKmJkbCA9ICpiZGxwOworCisJd2hpbGUgKHNpemUgPiAwKSB7CisJCWRtYV9hZGRyX3QgYWRkcjsKKwkJaW50IGNodW5rOworCisJCWlmIChhenhfZGV2LT5mcmFncyA+PSBBWlhfTUFYX0JETF9FTlRSSUVTKQorCQkJcmV0dXJuIC1FSU5WQUw7CisKKwkJYWRkciA9IHNuZF9wY21fc2didWZfZ2V0X2FkZHIoc2didWYsIG9mcyk7CisJCS8qIHByb2dyYW0gdGhlIGFkZHJlc3MgZmllbGQgb2YgdGhlIEJETCBlbnRyeSAqLworCQliZGxbMF0gPSBjcHVfdG9fbGUzMigodTMyKWFkZHIpOworCQliZGxbMV0gPSBjcHVfdG9fbGUzMih1cHBlcl8zMl9iaXRzKGFkZHIpKTsKKwkJLyogcHJvZ3JhbSB0aGUgc2l6ZSBmaWVsZCBvZiB0aGUgQkRMIGVudHJ5ICovCisJCWNodW5rID0gUEFHRV9TSVpFIC0gKG9mcyAlIFBBR0VfU0laRSk7CisJCWlmIChzaXplIDwgY2h1bmspCisJCQljaHVuayA9IHNpemU7CisJCWJkbFsyXSA9IGNwdV90b19sZTMyKGNodW5rKTsKKwkJLyogcHJvZ3JhbSB0aGUgSU9DIHRvIGVuYWJsZSBpbnRlcnJ1cHQKKwkJICogb25seSB3aGVuIHRoZSB3aG9sZSBmcmFnbWVudCBpcyBwcm9jZXNzZWQKKwkJICovCisJCXNpemUgLT0gY2h1bms7CisJCWJkbFszXSA9IChzaXplIHx8ICF3aXRoX2lvYykgPyAwIDogY3B1X3RvX2xlMzIoMHgwMSk7CisJCWJkbCArPSA0OworCQlhenhfZGV2LT5mcmFncysrOworCQlvZnMgKz0gY2h1bms7CisJfQorCSpiZGxwID0gYmRsOworCXJldHVybiBvZnM7Cit9CisKKy8qCisgKiBzZXQgdXAgQkRMIGVudHJpZXMKKyAqLworc3RhdGljIGludCBhenhfc2V0dXBfcGVyaW9kcyhzdHJ1Y3QgYXp4ICpjaGlwLAorCQkJICAgICBzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSwKKwkJCSAgICAgc3RydWN0IGF6eF9kZXYgKmF6eF9kZXYpCit7CiAJdTMyICpiZGw7CiAJaW50IGksIG9mcywgcGVyaW9kcywgcGVyaW9kX2J5dGVzOworCWludCBwb3NfYWRqOwogCiAJLyogcmVzZXQgQkRMIGFkZHJlc3MgKi8KIAlhenhfc2Rfd3JpdGVsKGF6eF9kZXYsIFNEX0JETFBMLCAwKTsKIAlhenhfc2Rfd3JpdGVsKGF6eF9kZXYsIFNEX0JETFBVLCAwKTsKIAogCXBlcmlvZF9ieXRlcyA9IHNuZF9wY21fbGliX3BlcmlvZF9ieXRlcyhzdWJzdHJlYW0pOworCWF6eF9kZXYtPnBlcmlvZF9ieXRlcyA9IHBlcmlvZF9ieXRlczsKIAlwZXJpb2RzID0gYXp4X2Rldi0+YnVmc2l6ZSAvIHBlcmlvZF9ieXRlczsKIAogCS8qIHByb2dyYW0gdGhlIGluaXRpYWwgQkRMIGVudHJpZXMgKi8KIAliZGwgPSAodTMyICopYXp4X2Rldi0+YmRsLmFyZWE7CiAJb2ZzID0gMDsKIAlhenhfZGV2LT5mcmFncyA9IDA7Ci0JZm9yIChpID0gMDsgaSA8IHBlcmlvZHM7IGkrKykgewotCQlpbnQgc2l6ZSwgcmVzdDsKLQkJaWYgKGkgPj0gQVpYX01BWF9CRExfRU5UUklFUykgewotCQkJc25kX3ByaW50ayhLRVJOX0VSUiAiVG9vIG1hbnkgQkRMIGVudHJpZXM6ICIKLQkJCQkgICAiYnVmZmVyPSVkLCBwZXJpb2Q9JWRcbiIsCi0JCQkJICAgYXp4X2Rldi0+YnVmc2l6ZSwgcGVyaW9kX2J5dGVzKTsKLQkJCS8qIHJlc2V0ICovCi0JCQlhenhfc2Rfd3JpdGVsKGF6eF9kZXYsIFNEX0JETFBMLCAwKTsKLQkJCWF6eF9zZF93cml0ZWwoYXp4X2RldiwgU0RfQkRMUFUsIDApOwotCQkJcmV0dXJuIC1FSU5WQUw7CisJYXp4X2Rldi0+aXJxX2lnbm9yZSA9IDA7CisJcG9zX2FkaiA9IGJkbF9wb3NfYWRqW2NoaXAtPmRldl9pbmRleF07CisJaWYgKHBvc19hZGogPiAwKSB7CisJCXN0cnVjdCBzbmRfcGNtX3J1bnRpbWUgKnJ1bnRpbWUgPSBzdWJzdHJlYW0tPnJ1bnRpbWU7CisJCXBvc19hZGogPSAocG9zX2FkaiAqIHJ1bnRpbWUtPnJhdGUgKyA0Nzk5OSkgLyA0ODAwMDsKKwkJaWYgKCFwb3NfYWRqKQorCQkJcG9zX2FkaiA9IDE7CisJCXBvc19hZGogPSBmcmFtZXNfdG9fYnl0ZXMocnVudGltZSwgcG9zX2Fkaik7CisJCWlmIChwb3NfYWRqID49IHBlcmlvZF9ieXRlcykgeworCQkJc25kX3ByaW50ayhLRVJOX1dBUk5JTkcgIlRvbyBiaWcgYWRqdXN0bWVudCAlZFxuIiwKKwkJCQkgICBiZGxfcG9zX2FkaltjaGlwLT5kZXZfaW5kZXhdKTsKKwkJCXBvc19hZGogPSAwOworCQl9IGVsc2UgeworCQkJb2ZzID0gc2V0dXBfYmRsZShzdWJzdHJlYW0sIGF6eF9kZXYsCisJCQkJCSAmYmRsLCBvZnMsIHBvc19hZGosIDEpOworCQkJaWYgKG9mcyA8IDApCisJCQkJZ290byBlcnJvcjsKKwkJCWF6eF9kZXYtPmlycV9pZ25vcmUgPSAxOwogCQl9Ci0JCXJlc3QgPSBwZXJpb2RfYnl0ZXM7Ci0JCWRvIHsKLQkJCWRtYV9hZGRyX3QgYWRkciA9IHNuZF9wY21fc2didWZfZ2V0X2FkZHIoc2didWYsIG9mcyk7Ci0JCQkvKiBwcm9ncmFtIHRoZSBhZGRyZXNzIGZpZWxkIG9mIHRoZSBCREwgZW50cnkgKi8KLQkJCWJkbFswXSA9IGNwdV90b19sZTMyKCh1MzIpYWRkcik7Ci0JCQliZGxbMV0gPSBjcHVfdG9fbGUzMih1cHBlcl8zMmJpdChhZGRyKSk7Ci0JCQkvKiBwcm9ncmFtIHRoZSBzaXplIGZpZWxkIG9mIHRoZSBCREwgZW50cnkgKi8KLQkJCXNpemUgPSBQQUdFX1NJWkUgLSAob2ZzICUgUEFHRV9TSVpFKTsKLQkJCWlmIChyZXN0IDwgc2l6ZSkKLQkJCQlzaXplID0gcmVzdDsKLQkJCWJkbFsyXSA9IGNwdV90b19sZTMyKHNpemUpOwotCQkJLyogcHJvZ3JhbSB0aGUgSU9DIHRvIGVuYWJsZSBpbnRlcnJ1cHQKLQkJCSAqIG9ubHkgd2hlbiB0aGUgd2hvbGUgZnJhZ21lbnQgaXMgcHJvY2Vzc2VkCi0JCQkgKi8KLQkJCXJlc3QgLT0gc2l6ZTsKLQkJCWJkbFszXSA9IHJlc3QgPyAwIDogY3B1X3RvX2xlMzIoMHgwMSk7Ci0JCQliZGwgKz0gNDsKLQkJCWF6eF9kZXYtPmZyYWdzKys7Ci0JCQlvZnMgKz0gc2l6ZTsKLQkJfSB3aGlsZSAocmVzdCA+IDApOworCX0gZWxzZQorCQlwb3NfYWRqID0gMDsKKwlmb3IgKGkgPSAwOyBpIDwgcGVyaW9kczsgaSsrKSB7CisJCWlmIChpID09IHBlcmlvZHMgLSAxICYmIHBvc19hZGopCisJCQlvZnMgPSBzZXR1cF9iZGxlKHN1YnN0cmVhbSwgYXp4X2RldiwgJmJkbCwgb2ZzLAorCQkJCQkgcGVyaW9kX2J5dGVzIC0gcG9zX2FkaiwgMCk7CisJCWVsc2UKKwkJCW9mcyA9IHNldHVwX2JkbGUoc3Vic3RyZWFtLCBhenhfZGV2LCAmYmRsLCBvZnMsCisJCQkJCSBwZXJpb2RfYnl0ZXMsIDEpOworCQlpZiAob2ZzIDwgMCkKKwkJCWdvdG8gZXJyb3I7CiAJfQogCXJldHVybiAwOworCisgZXJyb3I6CisJc25kX3ByaW50ayhLRVJOX0VSUiAiVG9vIG1hbnkgQkRMIGVudHJpZXM6IGJ1ZmZlcj0lZCwgcGVyaW9kPSVkXG4iLAorCQkgICBhenhfZGV2LT5idWZzaXplLCBwZXJpb2RfYnl0ZXMpOworCS8qIHJlc2V0ICovCisJYXp4X3NkX3dyaXRlbChhenhfZGV2LCBTRF9CRExQTCwgMCk7CisJYXp4X3NkX3dyaXRlbChhenhfZGV2LCBTRF9CRExQVSwgMCk7CisJcmV0dXJuIC1FSU5WQUw7CiB9CiAKIC8qCkBAIC0xMDYyLDcgKzExMzMsNyBAQAogCS8qIGxvd2VyIEJETCBhZGRyZXNzICovCiAJYXp4X3NkX3dyaXRlbChhenhfZGV2LCBTRF9CRExQTCwgKHUzMilhenhfZGV2LT5iZGwuYWRkcik7CiAJLyogdXBwZXIgQkRMIGFkZHJlc3MgKi8KLQlhenhfc2Rfd3JpdGVsKGF6eF9kZXYsIFNEX0JETFBVLCB1cHBlcl8zMmJpdChhenhfZGV2LT5iZGwuYWRkcikpOworCWF6eF9zZF93cml0ZWwoYXp4X2RldiwgU0RfQkRMUFUsIHVwcGVyXzMyX2JpdHMoYXp4X2Rldi0+YmRsLmFkZHIpKTsKIAogCS8qIGVuYWJsZSB0aGUgcG9zaXRpb24gYnVmZmVyICovCiAJaWYgKGNoaXAtPnBvc2l0aW9uX2ZpeCA9PSBQT1NfRklYX1BPU0JVRiB8fApAQCAtMTA4NSw3ICsxMTU2LDcgQEAKICAqLwogCiBzdGF0aWMgdW5zaWduZWQgaW50IGF6eF9tYXhfY29kZWNzW10gX19kZXZpbml0ZGF0YSA9IHsKLQlbQVpYX0RSSVZFUl9JQ0hdID0gMywKKwlbQVpYX0RSSVZFUl9JQ0hdID0gNCwJCS8qIFNvbWUgSUNIOSBib2FyZHMgdXNlIFNEMyAqLwogCVtBWlhfRFJJVkVSX1NDSF0gPSAzLAogCVtBWlhfRFJJVkVSX0FUSV0gPSA0LAogCVtBWlhfRFJJVkVSX0FUSUhETUldID0gNCwKQEAgLTEwOTMsNiArMTE2NCw3IEBACiAJW0FaWF9EUklWRVJfU0lTXSA9IDMsCQkvKiBGSVhNRTogY29ycmVjdD8gKi8KIAlbQVpYX0RSSVZFUl9VTEldID0gMywJCS8qIEZJWE1FOiBjb3JyZWN0PyAqLwogCVtBWlhfRFJJVkVSX05WSURJQV0gPSAzLAkvKiBGSVhNRTogY29ycmVjdD8gKi8KKwlbQVpYX0RSSVZFUl9URVJBXSA9IDEsCiB9OwogCiBzdGF0aWMgaW50IF9fZGV2aW5pdCBhenhfY29kZWNfY3JlYXRlKHN0cnVjdCBhenggKmNoaXAsIGNvbnN0IGNoYXIgKm1vZGVsLApAQCAtMTMxNiw3ICsxMzg4LDcgQEAKIAogCXNuZF9wcmludGRkKCJhenhfcGNtX3ByZXBhcmU6IGJ1ZnNpemU9MHgleCwgZm9ybWF0PTB4JXhcbiIsCiAJCSAgICBhenhfZGV2LT5idWZzaXplLCBhenhfZGV2LT5mb3JtYXRfdmFsKTsKLQlpZiAoYXp4X3NldHVwX3BlcmlvZHMoc3Vic3RyZWFtLCBhenhfZGV2KSA8IDApCisJaWYgKGF6eF9zZXR1cF9wZXJpb2RzKGNoaXAsIHN1YnN0cmVhbSwgYXp4X2RldikgPCAwKQogCQlyZXR1cm4gLUVJTlZBTDsKIAlhenhfc2V0dXBfY29udHJvbGxlcihjaGlwLCBhenhfZGV2KTsKIAlpZiAoc3Vic3RyZWFtLT5zdHJlYW0gPT0gU05EUlZfUENNX1NUUkVBTV9QTEFZQkFDSykKQEAgLTE0MjEsMzUgKzE0OTMsMTEzIEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBzbmRfcGNtX3VmcmFtZXNfdCBhenhfcGNtX3BvaW50ZXIoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCitzdGF0aWMgdW5zaWduZWQgaW50IGF6eF9nZXRfcG9zaXRpb24oc3RydWN0IGF6eCAqY2hpcCwKKwkJCQkgICAgIHN0cnVjdCBhenhfZGV2ICphenhfZGV2KQogewotCXN0cnVjdCBhenhfcGNtICphcGNtID0gc25kX3BjbV9zdWJzdHJlYW1fY2hpcChzdWJzdHJlYW0pOwotCXN0cnVjdCBhenggKmNoaXAgPSBhcGNtLT5jaGlwOwotCXN0cnVjdCBhenhfZGV2ICphenhfZGV2ID0gZ2V0X2F6eF9kZXYoc3Vic3RyZWFtKTsKIAl1bnNpZ25lZCBpbnQgcG9zOwogCiAJaWYgKGNoaXAtPnBvc2l0aW9uX2ZpeCA9PSBQT1NfRklYX1BPU0JVRiB8fAogCSAgICBjaGlwLT5wb3NpdGlvbl9maXggPT0gUE9TX0ZJWF9BVVRPKSB7CiAJCS8qIHVzZSB0aGUgcG9zaXRpb24gYnVmZmVyICovCiAJCXBvcyA9IGxlMzJfdG9fY3B1KCphenhfZGV2LT5wb3NidWYpOwotCQlpZiAoY2hpcC0+cG9zaXRpb25fZml4ID09IFBPU19GSVhfQVVUTyAmJgotCQkgICAgYXp4X2Rldi0+cGVyaW9kX2ludHIgPT0gMSAmJiAhcG9zKSB7Ci0JCQlwcmludGsoS0VSTl9XQVJOSU5HCi0JCQkgICAgICAgImhkYS1pbnRlbDogSW52YWxpZCBwb3NpdGlvbiBidWZmZXIsICIKLQkJCSAgICAgICAidXNpbmcgTFBJQiByZWFkIG1ldGhvZCBpbnN0ZWFkLlxuIik7Ci0JCQljaGlwLT5wb3NpdGlvbl9maXggPSBQT1NfRklYX05PTkU7Ci0JCQlnb3RvIHJlYWRfbHBpYjsKLQkJfQogCX0gZWxzZSB7Ci0JcmVhZF9scGliOgogCQkvKiByZWFkIExQSUIgKi8KIAkJcG9zID0gYXp4X3NkX3JlYWRsKGF6eF9kZXYsIFNEX0xQSUIpOwotCQlpZiAoY2hpcC0+cG9zaXRpb25fZml4ID09IFBPU19GSVhfRklGTykKLQkJCXBvcyArPSBhenhfZGV2LT5maWZvX3NpemU7CiAJfQogCWlmIChwb3MgPj0gYXp4X2Rldi0+YnVmc2l6ZSkKIAkJcG9zID0gMDsKLQlyZXR1cm4gYnl0ZXNfdG9fZnJhbWVzKHN1YnN0cmVhbS0+cnVudGltZSwgcG9zKTsKKwlyZXR1cm4gcG9zOworfQorCitzdGF0aWMgc25kX3BjbV91ZnJhbWVzX3QgYXp4X3BjbV9wb2ludGVyKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQoreworCXN0cnVjdCBhenhfcGNtICphcGNtID0gc25kX3BjbV9zdWJzdHJlYW1fY2hpcChzdWJzdHJlYW0pOworCXN0cnVjdCBhenggKmNoaXAgPSBhcGNtLT5jaGlwOworCXN0cnVjdCBhenhfZGV2ICphenhfZGV2ID0gZ2V0X2F6eF9kZXYoc3Vic3RyZWFtKTsKKwlyZXR1cm4gYnl0ZXNfdG9fZnJhbWVzKHN1YnN0cmVhbS0+cnVudGltZSwKKwkJCSAgICAgICBhenhfZ2V0X3Bvc2l0aW9uKGNoaXAsIGF6eF9kZXYpKTsKK30KKworLyoKKyAqIENoZWNrIHdoZXRoZXIgdGhlIGN1cnJlbnQgRE1BIHBvc2l0aW9uIGlzIGFjY2VwdGFibGUgZm9yIHVwZGF0aW5nCisgKiBwZXJpb2RzLiAgUmV0dXJucyBub24temVybyBpZiBpdCdzIE9LLgorICoKKyAqIE1hbnkgSEQtYXVkaW8gY29udHJvbGxlcnMgYXBwZWFyIHByZXR0eSBpbmFjY3VyYXRlIGFib3V0CisgKiB0aGUgdXBkYXRlLUlSUSB0aW1pbmcuICBUaGUgSVJRIGlzIGlzc3VlZCBiZWZvcmUgYWN0dWFsbHkgdGhlCisgKiBkYXRhIGlzIHByb2Nlc3NlZC4gIFNvLCB3ZSBuZWVkIHRvIHByb2Nlc3MgaXQgYWZ0ZXJ3b3JkcyBpbiBhCisgKiB3b3JrcXVldWUuCisgKi8KK3N0YXRpYyBpbnQgYXp4X3Bvc2l0aW9uX29rKHN0cnVjdCBhenggKmNoaXAsIHN0cnVjdCBhenhfZGV2ICphenhfZGV2KQoreworCXVuc2lnbmVkIGludCBwb3M7CisKKwlwb3MgPSBhenhfZ2V0X3Bvc2l0aW9uKGNoaXAsIGF6eF9kZXYpOworCWlmIChjaGlwLT5wb3NpdGlvbl9maXggPT0gUE9TX0ZJWF9BVVRPKSB7CisJCWlmICghcG9zKSB7CisJCQlwcmludGsoS0VSTl9XQVJOSU5HCisJCQkgICAgICAgImhkYS1pbnRlbDogSW52YWxpZCBwb3NpdGlvbiBidWZmZXIsICIKKwkJCSAgICAgICAidXNpbmcgTFBJQiByZWFkIG1ldGhvZCBpbnN0ZWFkLlxuIik7CisJCQljaGlwLT5wb3NpdGlvbl9maXggPSBQT1NfRklYX0xQSUI7CisJCQlwb3MgPSBhenhfZ2V0X3Bvc2l0aW9uKGNoaXAsIGF6eF9kZXYpOworCQl9IGVsc2UKKwkJCWNoaXAtPnBvc2l0aW9uX2ZpeCA9IFBPU19GSVhfUE9TQlVGOworCX0KKworCWlmIChwb3MgJSBhenhfZGV2LT5wZXJpb2RfYnl0ZXMgPiBhenhfZGV2LT5wZXJpb2RfYnl0ZXMgLyAyKQorCQlyZXR1cm4gMDsgLyogTkcgLSBpdCdzIGJlbG93IHRoZSBwZXJpb2QgYm91bmRhcnkgKi8KKwlyZXR1cm4gMTsgLyogT0ssIGl0J3MgZmluZSAqLworfQorCisvKgorICogVGhlIHdvcmsgZm9yIHBlbmRpbmcgUENNIHBlcmlvZCB1cGRhdGVzLgorICovCitzdGF0aWMgdm9pZCBhenhfaXJxX3BlbmRpbmdfd29yayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCit7CisJc3RydWN0IGF6eCAqY2hpcCA9IGNvbnRhaW5lcl9vZih3b3JrLCBzdHJ1Y3QgYXp4LCBpcnFfcGVuZGluZ193b3JrKTsKKwlpbnQgaSwgcGVuZGluZzsKKworCWlmICghY2hpcC0+aXJxX3BlbmRpbmdfd2FybmVkKSB7CisJCXByaW50ayhLRVJOX1dBUk5JTkcKKwkJICAgICAgICJoZGEtaW50ZWw6IElSUSB0aW1pbmcgd29ya2Fyb3VuZCBpcyBhY3RpdmF0ZWQgIgorCQkgICAgICAgImZvciBjYXJkICMlZC4gU3VnZ2VzdCBhIGJpZ2dlciBiZGxfcG9zX2Fkai5cbiIsCisJCSAgICAgICBjaGlwLT5jYXJkLT5udW1iZXIpOworCQljaGlwLT5pcnFfcGVuZGluZ193YXJuZWQgPSAxOworCX0KKworCWZvciAoOzspIHsKKwkJcGVuZGluZyA9IDA7CisJCXNwaW5fbG9ja19pcnEoJmNoaXAtPnJlZ19sb2NrKTsKKwkJZm9yIChpID0gMDsgaSA8IGNoaXAtPm51bV9zdHJlYW1zOyBpKyspIHsKKwkJCXN0cnVjdCBhenhfZGV2ICphenhfZGV2ID0gJmNoaXAtPmF6eF9kZXZbaV07CisJCQlpZiAoIWF6eF9kZXYtPmlycV9wZW5kaW5nIHx8CisJCQkgICAgIWF6eF9kZXYtPnN1YnN0cmVhbSB8fAorCQkJICAgICFhenhfZGV2LT5ydW5uaW5nKQorCQkJCWNvbnRpbnVlOworCQkJaWYgKGF6eF9wb3NpdGlvbl9vayhjaGlwLCBhenhfZGV2KSkgeworCQkJCWF6eF9kZXYtPmlycV9wZW5kaW5nID0gMDsKKwkJCQlzcGluX3VubG9jaygmY2hpcC0+cmVnX2xvY2spOworCQkJCXNuZF9wY21fcGVyaW9kX2VsYXBzZWQoYXp4X2Rldi0+c3Vic3RyZWFtKTsKKwkJCQlzcGluX2xvY2soJmNoaXAtPnJlZ19sb2NrKTsKKwkJCX0gZWxzZQorCQkJCXBlbmRpbmcrKzsKKwkJfQorCQlzcGluX3VubG9ja19pcnEoJmNoaXAtPnJlZ19sb2NrKTsKKwkJaWYgKCFwZW5kaW5nKQorCQkJcmV0dXJuOworCQljb25kX3Jlc2NoZWQoKTsKKwl9Cit9CisKKy8qIGNsZWFyIGlycV9wZW5kaW5nIGZsYWdzIGFuZCBhc3N1cmUgbm8gb24tZ29pbmcgd29ya3EgKi8KK3N0YXRpYyB2b2lkIGF6eF9jbGVhcl9pcnFfcGVuZGluZyhzdHJ1Y3QgYXp4ICpjaGlwKQoreworCWludCBpOworCisJc3Bpbl9sb2NrX2lycSgmY2hpcC0+cmVnX2xvY2spOworCWZvciAoaSA9IDA7IGkgPCBjaGlwLT5udW1fc3RyZWFtczsgaSsrKQorCQljaGlwLT5henhfZGV2W2ldLmlycV9wZW5kaW5nID0gMDsKKwlzcGluX3VubG9ja19pcnEoJmNoaXAtPnJlZ19sb2NrKTsKKwlmbHVzaF9zY2hlZHVsZWRfd29yaygpOwogfQogCiBzdGF0aWMgc3RydWN0IHNuZF9wY21fb3BzIGF6eF9wY21fb3BzID0gewpAQCAtMTY3Niw2ICsxODI2LDcgQEAKIAlpbnQgaTsKIAogCXNuZF9wb3dlcl9jaGFuZ2Vfc3RhdGUoY2FyZCwgU05EUlZfQ1RMX1BPV0VSX0QzaG90KTsKKwlhenhfY2xlYXJfaXJxX3BlbmRpbmcoY2hpcCk7CiAJZm9yIChpID0gMDsgaSA8IEFaWF9NQVhfUENNUzsgaSsrKQogCQlzbmRfcGNtX3N1c3BlbmRfYWxsKGNoaXAtPnBjbVtpXSk7CiAJaWYgKGNoaXAtPmluaXRpYWxpemVkKQpAQCAtMTczMiw2ICsxODgzLDcgQEAKIAlpbnQgaTsKIAogCWlmIChjaGlwLT5pbml0aWFsaXplZCkgeworCQlhenhfY2xlYXJfaXJxX3BlbmRpbmcoY2hpcCk7CiAJCWZvciAoaSA9IDA7IGkgPCBjaGlwLT5udW1fc3RyZWFtczsgaSsrKQogCQkJYXp4X3N0cmVhbV9zdG9wKGNoaXAsICZjaGlwLT5henhfZGV2W2ldKTsKIAkJYXp4X3N0b3BfY2hpcChjaGlwKTsKQEAgLTE3NzAsOSArMTkyMiw5IEBACiAgKiB3aGl0ZS9ibGFjay1saXN0aW5nIGZvciBwb3NpdGlvbl9maXgKICAqLwogc3RhdGljIHN0cnVjdCBzbmRfcGNpX3F1aXJrIHBvc2l0aW9uX2ZpeF9saXN0W10gX19kZXZpbml0ZGF0YSA9IHsKLQlTTkRfUENJX1FVSVJLKDB4MTAyOCwgMHgwMWNjLCAiRGVsbCBEODIwIiwgUE9TX0ZJWF9OT05FKSwKLQlTTkRfUENJX1FVSVJLKDB4MTAyOCwgMHgwMWRlLCAiRGVsbCBQcmVjaXNpb24gMzkwIiwgUE9TX0ZJWF9OT05FKSwKLQlTTkRfUENJX1FVSVJLKDB4MTA0MywgMHg4MTNkLCAiQVNVUyBQNUFEMiIsIFBPU19GSVhfTk9ORSksCisJU05EX1BDSV9RVUlSSygweDEwMjgsIDB4MDFjYywgIkRlbGwgRDgyMCIsIFBPU19GSVhfTFBJQiksCisJU05EX1BDSV9RVUlSSygweDEwMjgsIDB4MDFkZSwgIkRlbGwgUHJlY2lzaW9uIDM5MCIsIFBPU19GSVhfTFBJQiksCisJU05EX1BDSV9RVUlSSygweDEwNDMsIDB4ODEzZCwgIkFTVVMgUDVBRDIiLCBQT1NfRklYX0xQSUIpLAogCXt9CiB9OwogCkBAIC0xODU3LDEyICsyMDA5LDI1IEBACiAJY2hpcC0+aXJxID0gLTE7CiAJY2hpcC0+ZHJpdmVyX3R5cGUgPSBkcml2ZXJfdHlwZTsKIAljaGlwLT5tc2kgPSBlbmFibGVfbXNpOworCWNoaXAtPmRldl9pbmRleCA9IGRldjsKKwlJTklUX1dPUksoJmNoaXAtPmlycV9wZW5kaW5nX3dvcmssIGF6eF9pcnFfcGVuZGluZ193b3JrKTsKIAogCWNoaXAtPnBvc2l0aW9uX2ZpeCA9IGNoZWNrX3Bvc2l0aW9uX2ZpeChjaGlwLCBwb3NpdGlvbl9maXhbZGV2XSk7CiAJY2hlY2tfcHJvYmVfbWFzayhjaGlwLCBkZXYpOwogCiAJY2hpcC0+c2luZ2xlX2NtZCA9IHNpbmdsZV9jbWQ7CiAKKwlpZiAoYmRsX3Bvc19hZGpbZGV2XSA8IDApIHsKKwkJc3dpdGNoIChjaGlwLT5kcml2ZXJfdHlwZSkgeworCQljYXNlIEFaWF9EUklWRVJfSUNIOgorCQkJYmRsX3Bvc19hZGpbZGV2XSA9IDE7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCWJkbF9wb3NfYWRqW2Rldl0gPSAzMjsKKwkJCWJyZWFrOworCQl9CisJfQorCiAjaWYgQklUU19QRVJfTE9ORyAhPSA2NAogCS8qIEZpeCB1cCBiYXNlIGFkZHJlc3Mgb24gVUxJIE01NDYxICovCiAJaWYgKGNoaXAtPmRyaXZlcl90eXBlID09IEFaWF9EUklWRVJfVUxJKSB7CkBAIC0yMDg5LDYgKzIyNTQsNyBAQAogCXsgUENJX0RFVklDRSgweDgwODYsIDB4MjdkOCksIC5kcml2ZXJfZGF0YSA9IEFaWF9EUklWRVJfSUNIIH0sCiAJeyBQQ0lfREVWSUNFKDB4ODA4NiwgMHgyNjlhKSwgLmRyaXZlcl9kYXRhID0gQVpYX0RSSVZFUl9JQ0ggfSwKIAl7IFBDSV9ERVZJQ0UoMHg4MDg2LCAweDI4NGIpLCAuZHJpdmVyX2RhdGEgPSBBWlhfRFJJVkVSX0lDSCB9LAorCXsgUENJX0RFVklDRSgweDgwODYsIDB4MjkxMSksIC5kcml2ZXJfZGF0YSA9IEFaWF9EUklWRVJfSUNIIH0sCiAJeyBQQ0lfREVWSUNFKDB4ODA4NiwgMHgyOTNlKSwgLmRyaXZlcl9kYXRhID0gQVpYX0RSSVZFUl9JQ0ggfSwKIAl7IFBDSV9ERVZJQ0UoMHg4MDg2LCAweDI5M2YpLCAuZHJpdmVyX2RhdGEgPSBBWlhfRFJJVkVSX0lDSCB9LAogCXsgUENJX0RFVklDRSgweDgwODYsIDB4M2EzZSksIC5kcml2ZXJfZGF0YSA9IEFaWF9EUklWRVJfSUNIIH0sCkBAIC0yMTQxLDYgKzIzMDcsOCBAQAogCXsgUENJX0RFVklDRSgweDEwZGUsIDB4MGJkNSksIC5kcml2ZXJfZGF0YSA9IEFaWF9EUklWRVJfTlZJRElBIH0sCiAJeyBQQ0lfREVWSUNFKDB4MTBkZSwgMHgwYmQ2KSwgLmRyaXZlcl9kYXRhID0gQVpYX0RSSVZFUl9OVklESUEgfSwKIAl7IFBDSV9ERVZJQ0UoMHgxMGRlLCAweDBiZDcpLCAuZHJpdmVyX2RhdGEgPSBBWlhfRFJJVkVSX05WSURJQSB9LAorCS8qIFRlcmFkaWNpICovCisJeyBQQ0lfREVWSUNFKDB4NjU0OSwgMHgxMjAwKSwgLmRyaXZlcl9kYXRhID0gQVpYX0RSSVZFUl9URVJBIH0sCiAJeyAwLCB9CiB9OwogTU9EVUxFX0RFVklDRV9UQUJMRShwY2ksIGF6eF9pZHMpOwpkaWZmIC0tZ2l0IGEvc291bmQvcGNpL2hkYS9oZGFfcHJvYy5jIGIvc291bmQvcGNpL2hkYS9oZGFfcHJvYy5jCmluZGV4IDU2MzNmNzcuLjFlNWFmZjUgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9oZGEvaGRhX3Byb2MuYworKysgYi9zb3VuZC9wY2kvaGRhL2hkYV9wcm9jLmMKQEAgLTM2Niw4ICszNjYsNiBAQAogewogCXVuc2lnbmVkIGludCBkaWdpMSA9IHNuZF9oZGFfY29kZWNfcmVhZChjb2RlYywgbmlkLCAwLAogCQkJCQkJQUNfVkVSQl9HRVRfRElHSV9DT05WRVJUXzEsIDApOwotCXVuc2lnbmVkIGludCBkaWdpMiA9IHNuZF9oZGFfY29kZWNfcmVhZChjb2RlYywgbmlkLCAwLAotCQkJCQkJQUNfVkVSQl9HRVRfRElHSV9DT05WRVJUXzIsIDApOwogCXNuZF9pcHJpbnRmKGJ1ZmZlciwgIiAgRGlnaXRhbDoiKTsKIAlpZiAoZGlnaTEgJiBBQ19ESUcxX0VOQUJMRSkKIAkJc25kX2lwcmludGYoYnVmZmVyLCAiIEVuYWJsZWQiKTsKQEAgLTM4Niw3ICszODQsOCBAQAogCWlmIChkaWdpMSAmIEFDX0RJRzFfTEVWRUwpCiAJCXNuZF9pcHJpbnRmKGJ1ZmZlciwgIiBHZW5MZXZlbCIpOwogCXNuZF9pcHJpbnRmKGJ1ZmZlciwgIlxuIik7Ci0Jc25kX2lwcmludGYoYnVmZmVyLCAiICBEaWdpdGFsIGNhdGVnb3J5OiAweCV4XG4iLCBkaWdpMiAmIEFDX0RJRzJfQ0MpOworCXNuZF9pcHJpbnRmKGJ1ZmZlciwgIiAgRGlnaXRhbCBjYXRlZ29yeTogMHgleFxuIiwKKwkJICAgIChkaWdpMSA+PiA4KSAmIEFDX0RJRzJfQ0MpOwogfQogCiBzdGF0aWMgY29uc3QgY2hhciAqZ2V0X3B3cl9zdGF0ZSh1MzIgc3RhdGUpCmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvaGRhL3BhdGNoX2FuYWxvZy5jIGIvc291bmQvcGNpL2hkYS9wYXRjaF9hbmFsb2cuYwppbmRleCBhOTllODZkLi5lODAwM2Q5IDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvaGRhL3BhdGNoX2FuYWxvZy5jCisrKyBiL3NvdW5kL3BjaS9oZGEvcGF0Y2hfYW5hbG9nLmMKQEAgLTIzLDcgKzIzLDYgQEAKICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KICNpbmNsdWRlIDxsaW51eC9wY2kuaD4KLSNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgogCiAjaW5jbHVkZSA8c291bmQvY29yZS5oPgogI2luY2x1ZGUgImhkYV9jb2RlYy5oIgpAQCAtNjQsNyArNjMsNiBAQAogCS8qIFBDTSBpbmZvcm1hdGlvbiAqLwogCXN0cnVjdCBoZGFfcGNtIHBjbV9yZWNbM107CS8qIHVzZWQgaW4gYWxjX2J1aWxkX3BjbXMoKSAqLwogCi0Jc3RydWN0IG11dGV4IGFtcF9tdXRleDsJLyogUENNIHZvbHVtZS9tdXRlIGNvbnRyb2wgbXV0ZXggKi8KIAl1bnNpZ25lZCBpbnQgc3BkaWZfcm91dGU7CiAKIAkvKiBkeW5hbWljIGNvbnRyb2xzLCBpbml0X3ZlcmJzIGFuZCBpbnB1dF9tdXggKi8KQEAgLTE2MTgsNiArMTYxNiw3IEBACiAKIHN0YXRpYyBzdHJ1Y3Qgc25kX3BjaV9xdWlyayBhZDE5ODFfY2ZnX3RibFtdID0gewogCVNORF9QQ0lfUVVJUksoMHgxMDE0LCAweDA1OTcsICJMZW5vdm8gWjYwIiwgQUQxOTgxX1RISU5LUEFEKSwKKwlTTkRfUENJX1FVSVJLKDB4MTAxNCwgMHgwNWI3LCAiTGVub3ZvIFo2MG0iLCBBRDE5ODFfVEhJTktQQUQpLAogCS8qIEFsbCBIUCBtb2RlbHMgKi8KIAlTTkRfUENJX1FVSVJLKDB4MTAzYywgMCwgIkhQIG54IiwgQUQxOTgxX0hQKSwKIAlTTkRfUENJX1FVSVJLKDB4MTE3OSwgMHgwMDAxLCAiVG9zaGliYSBVMjA1IiwgQUQxOTgxX1RPU0hJQkEpLApAQCAtMjYyMyw3ICsyNjIyLDcgQEAKIHsKIAlzdHJ1Y3QgYWQxOTh4X3NwZWMgKnNwZWMgPSBjb2RlYy0+c3BlYzsKIAloZGFfbmlkX3QgbmlkOwotCWludCBpZHgsIGVycjsKKwlpbnQgaSwgaWR4LCBlcnI7CiAJY2hhciBuYW1lWzMyXTsKIAogCWlmICghIHBpbikKQEAgLTI2MzEsMTYgKzI2MzAsMjYgQEAKIAogCWlkeCA9IGFkMTk4OF9waW5faWR4KHBpbik7CiAJbmlkID0gYWQxOTg4X2lkeF90b19kYWMoY29kZWMsIGlkeCk7Ci0JLyogc3BlY2lmeSB0aGUgREFDIGFzIHRoZSBleHRyYSBvdXRwdXQgKi8KLQlpZiAoISBzcGVjLT5tdWx0aW91dC5ocF9uaWQpCi0JCXNwZWMtPm11bHRpb3V0LmhwX25pZCA9IG5pZDsKLQllbHNlCi0JCXNwZWMtPm11bHRpb3V0LmV4dHJhX291dF9uaWRbMF0gPSBuaWQ7Ci0JLyogY29udHJvbCBIUCB2b2x1bWUvc3dpdGNoIG9uIHRoZSBvdXRwdXQgbWl4ZXIgYW1wICovCi0Jc3ByaW50ZihuYW1lLCAiJXMgUGxheWJhY2sgVm9sdW1lIiwgcGZ4KTsKLQlpZiAoKGVyciA9IGFkZF9jb250cm9sKHNwZWMsIEFEX0NUTF9XSURHRVRfVk9MLCBuYW1lLAotCQkJICAgICAgIEhEQV9DT01QT1NFX0FNUF9WQUwobmlkLCAzLCAwLCBIREFfT1VUUFVUKSkpIDwgMCkKLQkJcmV0dXJuIGVycjsKKwkvKiBjaGVjayB3aGV0aGVyIHRoZSBjb3JyZXNwb25kaW5nIERBQyB3YXMgYWxyZWFkeSB0YWtlbiAqLworCWZvciAoaSA9IDA7IGkgPCBzcGVjLT5hdXRvY2ZnLmxpbmVfb3V0czsgaSsrKSB7CisJCWhkYV9uaWRfdCBwaW4gPSBzcGVjLT5hdXRvY2ZnLmxpbmVfb3V0X3BpbnNbaV07CisJCWhkYV9uaWRfdCBkYWMgPSBhZDE5ODhfaWR4X3RvX2RhYyhjb2RlYywgYWQxOTg4X3Bpbl9pZHgocGluKSk7CisJCWlmIChkYWMgPT0gbmlkKQorCQkJYnJlYWs7CisJfQorCWlmIChpID49IHNwZWMtPmF1dG9jZmcubGluZV9vdXRzKSB7CisJCS8qIHNwZWNpZnkgdGhlIERBQyBhcyB0aGUgZXh0cmEgb3V0cHV0ICovCisJCWlmICghc3BlYy0+bXVsdGlvdXQuaHBfbmlkKQorCQkJc3BlYy0+bXVsdGlvdXQuaHBfbmlkID0gbmlkOworCQllbHNlCisJCQlzcGVjLT5tdWx0aW91dC5leHRyYV9vdXRfbmlkWzBdID0gbmlkOworCQkvKiBjb250cm9sIEhQIHZvbHVtZS9zd2l0Y2ggb24gdGhlIG91dHB1dCBtaXhlciBhbXAgKi8KKwkJc3ByaW50ZihuYW1lLCAiJXMgUGxheWJhY2sgVm9sdW1lIiwgcGZ4KTsKKwkJZXJyID0gYWRkX2NvbnRyb2woc3BlYywgQURfQ1RMX1dJREdFVF9WT0wsIG5hbWUsCisJCQkJICBIREFfQ09NUE9TRV9BTVBfVkFMKG5pZCwgMywgMCwgSERBX09VVFBVVCkpOworCQlpZiAoZXJyIDwgMCkKKwkJCXJldHVybiBlcnI7CisJfQogCW5pZCA9IGFkMTk4OF9taXhlcl9uaWRzW2lkeF07CiAJc3ByaW50ZihuYW1lLCAiJXMgUGxheWJhY2sgU3dpdGNoIiwgcGZ4KTsKIAlpZiAoKGVyciA9IGFkZF9jb250cm9sKHNwZWMsIEFEX0NUTF9CSU5EX01VVEUsIG5hbWUsCkBAIC0zMTc3LDcgKzMxODYsNiBAQAogCWlmIChzcGVjID09IE5VTEwpCiAJCXJldHVybiAtRU5PTUVNOwogCi0JbXV0ZXhfaW5pdCgmc3BlYy0+YW1wX211dGV4KTsKIAljb2RlYy0+c3BlYyA9IHNwZWM7CiAKIAlzcGVjLT5tdWx0aW91dC5tYXhfY2hhbm5lbHMgPSAyOwpAQCAtMzg0Nyw3ICszODU1LDYgQEAKIAlpZiAoc3BlYyA9PSBOVUxMKQogCQlyZXR1cm4gLUVOT01FTTsKIAotCW11dGV4X2luaXQoJnNwZWMtPmFtcF9tdXRleCk7CiAJY29kZWMtPnNwZWMgPSBzcGVjOwogCiAJc3BlYy0+bXVsdGlvdXQubWF4X2NoYW5uZWxzID0gMjsKQEAgLTQxNTIsNyArNDE1OSw2IEBACiAJaWYgKHNwZWMgPT0gTlVMTCkKIAkJcmV0dXJuIC1FTk9NRU07CiAKLQltdXRleF9pbml0KCZzcGVjLT5hbXBfbXV0ZXgpOwogCWNvZGVjLT5zcGVjID0gc3BlYzsKIAogCXNwZWMtPm11bHRpb3V0Lm1heF9jaGFubmVscyA9IDY7CmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvaGRhL3BhdGNoX2NvbmV4YW50LmMgYi9zb3VuZC9wY2kvaGRhL3BhdGNoX2NvbmV4YW50LmMKaW5kZXggMzZmZDg1Mi4uN2MxZWIyMyAxMDA2NDQKLS0tIGEvc291bmQvcGNpL2hkYS9wYXRjaF9jb25leGFudC5jCisrKyBiL3NvdW5kL3BjaS9oZGEvcGF0Y2hfY29uZXhhbnQuYwpAQCAtODIsNyArODIsNiBAQAogCS8qIFBDTSBpbmZvcm1hdGlvbiAqLwogCXN0cnVjdCBoZGFfcGNtIHBjbV9yZWNbMl07CS8qIHVzZWQgaW4gYnVpbGRfcGNtcygpICovCiAKLQlzdHJ1Y3QgbXV0ZXggYW1wX211dGV4OwkvKiBQQ00gdm9sdW1lL211dGUgY29udHJvbCBtdXRleCAqLwogCXVuc2lnbmVkIGludCBzcGRpZl9yb3V0ZTsKIAogCS8qIGR5bmFtaWMgY29udHJvbHMsIGluaXRfdmVyYnMgYW5kIGlucHV0X211eCAqLwpAQCAtNjg3LDcgKzY4Niw3IEBACiAKIHN0YXRpYyBzdHJ1Y3QgaGRhX3ZlcmIgY3h0NTA0NV9pbml0X3ZlcmJzW10gPSB7CiAJLyogTGluZSBpbiwgTWljICovCi0JezB4MTIsIEFDX1ZFUkJfU0VUX1BJTl9XSURHRVRfQ09OVFJPTCwgUElOX0lOIH0sCisJezB4MTIsIEFDX1ZFUkJfU0VUX1BJTl9XSURHRVRfQ09OVFJPTCwgUElOX0lOfEFDX1BJTkNUTF9WUkVGXzgwIH0sCiAJezB4MTQsIEFDX1ZFUkJfU0VUX1BJTl9XSURHRVRfQ09OVFJPTCwgUElOX0lOfEFDX1BJTkNUTF9WUkVGXzgwIH0sCiAJLyogSFAsIEFtcCAgKi8KIAl7MHgxMCwgQUNfVkVSQl9TRVRfUElOX1dJREdFVF9DT05UUk9MLCBQSU5fT1VUfSwKQEAgLTkwNywxMCArOTA2LDEyIEBACiAJU05EX1BDSV9RVUlSSygweDEwM2MsIDB4MzBjZiwgIkhQIERWOTUzM0VHIiwgQ1hUNTA0NV9MQVBUT1BfSFBTRU5TRSksCiAJU05EX1BDSV9RVUlSSygweDEwM2MsIDB4MzBkNSwgIkhQIDUzMCIsIENYVDUwNDVfTEFQVE9QX0hQNTMwKSwKIAlTTkRfUENJX1FVSVJLKDB4MTAzYywgMHgzMGQ5LCAiSFAgU3BhcnRhbiIsIENYVDUwNDVfTEFQVE9QX0hQU0VOU0UpLAorCVNORF9QQ0lfUVVJUksoMHgxMTc5LCAweGZmMzEsICJUb3NoaWJhIFAxMDUiLCBDWFQ1MDQ1X0xBUFRPUF9NSUNTRU5TRSksCiAJU05EX1BDSV9RVUlSSygweDE1MmQsIDB4MDc1MywgIkJlbnEgUjU1RSIsIENYVDUwNDVfQkVOUSksCiAJU05EX1BDSV9RVUlSSygweDE3MzQsIDB4MTBhZCwgIkZ1aml0c3UgU2kxNTIwIiwgQ1hUNTA0NV9MQVBUT1BfTUlDU0VOU0UpLAogCVNORF9QQ0lfUVVJUksoMHgxNzM0LCAweDEwY2IsICJGdWppdHN1IFNpMzUxNSIsIENYVDUwNDVfTEFQVE9QX0hQTUlDU0VOU0UpLAotCVNORF9QQ0lfUVVJUksoMHgxNzM0LCAweDExMGUsICJGdWppdHN1IFY1NTA1IiwgQ1hUNTA0NV9MQVBUT1BfSFBTRU5TRSksCisJU05EX1BDSV9RVUlSSygweDE3MzQsIDB4MTEwZSwgIkZ1aml0c3UgVjU1MDUiLAorCQkgICAgICBDWFQ1MDQ1X0xBUFRPUF9IUE1JQ1NFTlNFKSwKIAlTTkRfUENJX1FVSVJLKDB4MTUwOSwgMHgxZTQwLCAiRklDIiwgQ1hUNTA0NV9MQVBUT1BfSFBNSUNTRU5TRSksCiAJU05EX1BDSV9RVUlSSygweDE1MDksIDB4MmYwNSwgIkZJQyIsIENYVDUwNDVfTEFQVE9QX0hQTUlDU0VOU0UpLAogCVNORF9QQ0lfUVVJUksoMHgxNTA5LCAweDJmMDYsICJGSUMiLCBDWFQ1MDQ1X0xBUFRPUF9IUE1JQ1NFTlNFKSwKQEAgLTkyOCw3ICs5MjksNiBAQAogCXNwZWMgPSBremFsbG9jKHNpemVvZigqc3BlYyksIEdGUF9LRVJORUwpOwogCWlmICghc3BlYykKIAkJcmV0dXJuIC1FTk9NRU07Ci0JbXV0ZXhfaW5pdCgmc3BlYy0+YW1wX211dGV4KTsKIAljb2RlYy0+c3BlYyA9IHNwZWM7CiAKIAlzcGVjLT5tdWx0aW91dC5tYXhfY2hhbm5lbHMgPSAyOwpAQCAtOTYzLDYgKzk2Myw3IEBACiAJCWNvZGVjLT5wYXRjaF9vcHMuaW5pdCA9IGN4dDUwNDVfaW5pdDsKIAkJYnJlYWs7CiAJY2FzZSBDWFQ1MDQ1X0xBUFRPUF9NSUNTRU5TRToKKwkJY29kZWMtPnBhdGNoX29wcy51bnNvbF9ldmVudCA9IGN4dDUwNDVfaHBfdW5zb2xfZXZlbnQ7CiAJCXNwZWMtPmlucHV0X211eCA9ICZjeHQ1MDQ1X2NhcHR1cmVfc291cmNlOwogCQlzcGVjLT5udW1faW5pdF92ZXJicyA9IDI7CiAJCXNwZWMtPmluaXRfdmVyYnNbMV0gPSBjeHQ1MDQ1X21pY19zZW5zZV9pbml0X3ZlcmJzOwpAQCAtMTAwNywxNSArMTAwOCwxOSBAQAogI2VuZGlmCQogCX0KIAotCS8qCi0JICogRml4IG1heCBQQ00gbGV2ZWwgdG8gMCBkQgotCSAqIChvcmlnaW5hbGwgaXQgaGFzIDB4MmIgc3RlcHMgd2l0aCAwZEIgb2Zmc2V0IDB4MTQpCi0JICovCi0Jc25kX2hkYV9vdmVycmlkZV9hbXBfY2Fwcyhjb2RlYywgMHgxNywgSERBX0lOUFVULAotCQkJCSAgKDB4MTQgPDwgQUNfQU1QQ0FQX09GRlNFVF9TSElGVCkgfAotCQkJCSAgKDB4MTQgPDwgQUNfQU1QQ0FQX05VTV9TVEVQU19TSElGVCkgfAotCQkJCSAgKDB4MDUgPDwgQUNfQU1QQ0FQX1NURVBfU0laRV9TSElGVCkgfAotCQkJCSAgKDEgPDwgQUNfQU1QQ0FQX01VVEVfU0hJRlQpKTsKKwlzd2l0Y2ggKGNvZGVjLT5zdWJzeXN0ZW1faWQgPj4gMTYpIHsKKwljYXNlIDB4MTAzYzoKKwkJLyogSFAgbGFwdG9wIGhhcyBhIHJlYWxseSBiYWQgc291bmQgb3ZlciAwZEIgb24gTklEIDB4MTcuCisJCSAqIEZpeCBtYXggUENNIGxldmVsIHRvIDAgZEIKKwkJICogKG9yaWdpbmFsbCBpdCBoYXMgMHgyYiBzdGVwcyB3aXRoIDBkQiBvZmZzZXQgMHgxNCkKKwkJICovCisJCXNuZF9oZGFfb3ZlcnJpZGVfYW1wX2NhcHMoY29kZWMsIDB4MTcsIEhEQV9JTlBVVCwKKwkJCQkJICAoMHgxNCA8PCBBQ19BTVBDQVBfT0ZGU0VUX1NISUZUKSB8CisJCQkJCSAgKDB4MTQgPDwgQUNfQU1QQ0FQX05VTV9TVEVQU19TSElGVCkgfAorCQkJCQkgICgweDA1IDw8IEFDX0FNUENBUF9TVEVQX1NJWkVfU0hJRlQpIHwKKwkJCQkJICAoMSA8PCBBQ19BTVBDQVBfTVVURV9TSElGVCkpOworCQlicmVhazsKKwl9CiAKIAlyZXR1cm4gMDsKIH0KQEAgLTE0NzcsNyArMTQ4Miw2IEBACiAJc3BlYyA9IGt6YWxsb2Moc2l6ZW9mKCpzcGVjKSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCFzcGVjKQogCQlyZXR1cm4gLUVOT01FTTsKLQltdXRleF9pbml0KCZzcGVjLT5hbXBfbXV0ZXgpOwogCWNvZGVjLT5zcGVjID0gc3BlYzsKIAogCXNwZWMtPm11bHRpb3V0Lm1heF9jaGFubmVscyA9IDI7CkBAIC0xNzM2LDcgKzE3NDAsNiBAQAogCXNwZWMgPSBremFsbG9jKHNpemVvZigqc3BlYyksIEdGUF9LRVJORUwpOwogCWlmICghc3BlYykKIAkJcmV0dXJuIC1FTk9NRU07Ci0JbXV0ZXhfaW5pdCgmc3BlYy0+YW1wX211dGV4KTsKIAljb2RlYy0+c3BlYyA9IHNwZWM7CiAKIAljb2RlYy0+cGF0Y2hfb3BzID0gY29uZXhhbnRfcGF0Y2hfb3BzOwpkaWZmIC0tZ2l0IGEvc291bmQvcGNpL2hkYS9wYXRjaF9yZWFsdGVrLmMgYi9zb3VuZC9wY2kvaGRhL3BhdGNoX3JlYWx0ZWsuYwppbmRleCBiMGEyYTI2Li4yODA3YmM4IDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvaGRhL3BhdGNoX3JlYWx0ZWsuYworKysgYi9zb3VuZC9wY2kvaGRhL3BhdGNoX3JlYWx0ZWsuYwpAQCAtMTYzLDYgKzE2MywxMCBAQAogCUFMQzY2Ml9MRU5PVk9fMTAxRSwKIAlBTEM2NjJfQVNVU19FRUVQQ19QNzAxLAogCUFMQzY2Ml9BU1VTX0VFRVBDX0VQMjAsCisJQUxDNjYzX0FTVVNfTTUxVkEsCisJQUxDNjYzX0FTVVNfRzcxViwKKwlBTEM2NjNfQVNVU19IMTMsCisJQUxDNjYzX0FTVVNfRzUwViwKIAlBTEM2NjJfQVVUTywKIAlBTEM2NjJfTU9ERUxfTEFTVCwKIH07CkBAIC0yMDUsNiArMjA5LDcgQEAKIAlBTEM4ODNfTUlUQUMsCiAJQUxDODgzX0NMRVZPX003MjAsCiAJQUxDODgzX0ZVSklUU1VfUEkyNTE1LAorCUFMQzg4M18zU1RfNmNoX0lOVEVMLAogCUFMQzg4M19BVVRPLAogCUFMQzg4M19NT0RFTF9MQVNULAogfTsKQEAgLTI4MCw2ICsyODUsMTAgQEAKICNpZmRlZiBDT05GSUdfU05EX0hEQV9QT1dFUl9TQVZFCiAJc3RydWN0IGhkYV9sb29wYmFja19jaGVjayBsb29wYmFjazsKICNlbmRpZgorCisJLyogZm9yIFBMTCBmaXggKi8KKwloZGFfbmlkX3QgcGxsX25pZDsKKwl1bnNpZ25lZCBpbnQgcGxsX2NvZWZfaWR4LCBwbGxfY29lZl9iaXQ7CiB9OwogCiAvKgpAQCAtNzQ3LDYgKzc1NiwzOCBAQAogCXsgfQogfTsKIAorLyoKKyAqIEZpeCBoYXJkd2FyZSBQTEwgaXNzdWUKKyAqIE9uIHNvbWUgY29kZWNzLCB0aGUgYW5hbG9nIFBMTCBnYXRpbmcgY29udHJvbCBtdXN0IGJlIG9mZiB3aGlsZQorICogdGhlIGRlZmF1bHQgdmFsdWUgaXMgMS4KKyAqLworc3RhdGljIHZvaWQgYWxjX2ZpeF9wbGwoc3RydWN0IGhkYV9jb2RlYyAqY29kZWMpCit7CisJc3RydWN0IGFsY19zcGVjICpzcGVjID0gY29kZWMtPnNwZWM7CisJdW5zaWduZWQgaW50IHZhbDsKKworCWlmICghc3BlYy0+cGxsX25pZCkKKwkJcmV0dXJuOworCXNuZF9oZGFfY29kZWNfd3JpdGUoY29kZWMsIHNwZWMtPnBsbF9uaWQsIDAsIEFDX1ZFUkJfU0VUX0NPRUZfSU5ERVgsCisJCQkgICAgc3BlYy0+cGxsX2NvZWZfaWR4KTsKKwl2YWwgPSBzbmRfaGRhX2NvZGVjX3JlYWQoY29kZWMsIHNwZWMtPnBsbF9uaWQsIDAsCisJCQkJIEFDX1ZFUkJfR0VUX1BST0NfQ09FRiwgMCk7CisJc25kX2hkYV9jb2RlY193cml0ZShjb2RlYywgc3BlYy0+cGxsX25pZCwgMCwgQUNfVkVSQl9TRVRfQ09FRl9JTkRFWCwKKwkJCSAgICBzcGVjLT5wbGxfY29lZl9pZHgpOworCXNuZF9oZGFfY29kZWNfd3JpdGUoY29kZWMsIHNwZWMtPnBsbF9uaWQsIDAsIEFDX1ZFUkJfU0VUX1BST0NfQ09FRiwKKwkJCSAgICB2YWwgJiB+KDEgPDwgc3BlYy0+cGxsX2NvZWZfYml0KSk7Cit9CisKK3N0YXRpYyB2b2lkIGFsY19maXhfcGxsX2luaXQoc3RydWN0IGhkYV9jb2RlYyAqY29kZWMsIGhkYV9uaWRfdCBuaWQsCisJCQkgICAgIHVuc2lnbmVkIGludCBjb2VmX2lkeCwgdW5zaWduZWQgaW50IGNvZWZfYml0KQoreworCXN0cnVjdCBhbGNfc3BlYyAqc3BlYyA9IGNvZGVjLT5zcGVjOworCXNwZWMtPnBsbF9uaWQgPSBuaWQ7CisJc3BlYy0+cGxsX2NvZWZfaWR4ID0gY29lZl9pZHg7CisJc3BlYy0+cGxsX2NvZWZfYml0ID0gY29lZl9iaXQ7CisJYWxjX2ZpeF9wbGwoY29kZWMpOworfQorCiBzdGF0aWMgdm9pZCBhbGNfc2t1X2F1dG9tdXRlKHN0cnVjdCBoZGFfY29kZWMgKmNvZGVjKQogewogCXN0cnVjdCBhbGNfc3BlYyAqc3BlYyA9IGNvZGVjLT5zcGVjOwpAQCAtNzc2LDYgKzgxNywyNCBAQAogCWFsY19za3VfYXV0b211dGUoY29kZWMpOwogfQogCisvKiBhZGRpdGlvbmFsIGluaXRpYWxpemF0aW9uIGZvciBBTEM4ODggdmFyaWFudHMgKi8KK3N0YXRpYyB2b2lkIGFsYzg4OF9jb2VmX2luaXQoc3RydWN0IGhkYV9jb2RlYyAqY29kZWMpCit7CisJdW5zaWduZWQgaW50IHRtcDsKKworCXNuZF9oZGFfY29kZWNfd3JpdGUoY29kZWMsIDB4MjAsIDAsIEFDX1ZFUkJfU0VUX0NPRUZfSU5ERVgsIDApOworCXRtcCA9IHNuZF9oZGFfY29kZWNfcmVhZChjb2RlYywgMHgyMCwgMCwgQUNfVkVSQl9HRVRfUFJPQ19DT0VGLCAwKTsKKwlzbmRfaGRhX2NvZGVjX3dyaXRlKGNvZGVjLCAweDIwLCAwLCBBQ19WRVJCX1NFVF9DT0VGX0lOREVYLCA3KTsKKwlpZiAoKHRtcCAmIDB4ZjApID09IDIpCisJCS8qIGFsYzg4OFMtVkMgKi8KKwkJc25kX2hkYV9jb2RlY19yZWFkKGNvZGVjLCAweDIwLCAwLAorCQkJCSAgIEFDX1ZFUkJfU0VUX1BST0NfQ09FRiwgMHg4MzApOworCSBlbHNlCisJCSAvKiBhbGM4ODgtVkIgKi8KKwkJIHNuZF9oZGFfY29kZWNfcmVhZChjb2RlYywgMHgyMCwgMCwKKwkJCQkgICAgQUNfVkVSQl9TRVRfUFJPQ19DT0VGLCAweDMwMzApOworfQorCiAvKiAzMi1iaXQgc3Vic3lzdGVtIElEIGZvciBCSU9TIGxvYWRpbmcgaW4gSEQgQXVkaW8gY29kZWMuCiAgKgkzMSB+IDE2IDoJTWFudWZhY3R1cmUgSUQKICAqCTE1IH4gOAk6CVNLVSBJRApAQCAtODUxLDggKzkxMCwxMCBAQAogCQljYXNlIDB4MTBlYzAyNjc6CiAJCWNhc2UgMHgxMGVjMDI2ODoKIAkJY2FzZSAweDEwZWMwMjY5OgorCQljYXNlIDB4MTBlYzA2NjA6CisJCWNhc2UgMHgxMGVjMDY2MjoKKwkJY2FzZSAweDEwZWMwNjYzOgogCQljYXNlIDB4MTBlYzA4NjI6Ci0JCWNhc2UgMHgxMGVjMDY2MjoJCiAJCWNhc2UgMHgxMGVjMDg4OToKIAkJCXNuZF9oZGFfY29kZWNfd3JpdGUoY29kZWMsIDB4MTQsIDAsCiAJCQkJCSAgICBBQ19WRVJCX1NFVF9FQVBEX0JUTEVOQUJMRSwgMik7CkBAIC04NzcsNyArOTM4LDYgQEAKIAkJY2FzZSAweDEwZWMwODgyOgogCQljYXNlIDB4MTBlYzA4ODM6CiAJCWNhc2UgMHgxMGVjMDg4NToKLQkJY2FzZSAweDEwZWMwODg4OgogCQljYXNlIDB4MTBlYzA4ODk6CiAJCQlzbmRfaGRhX2NvZGVjX3dyaXRlKGNvZGVjLCAweDIwLCAwLAogCQkJCQkgICAgQUNfVkVSQl9TRVRfQ09FRl9JTkRFWCwgNyk7CkBAIC04ODksNiArOTQ5LDkgQEAKIAkJCQkJICAgIEFDX1ZFUkJfU0VUX1BST0NfQ09FRiwKIAkJCQkJICAgIHRtcCB8IDB4MjAxMCk7CiAJCQlicmVhazsKKwkJY2FzZSAweDEwZWMwODg4OgorCQkJYWxjODg4X2NvZWZfaW5pdChjb2RlYyk7CisJCQlicmVhazsKIAkJY2FzZSAweDEwZWMwMjY3OgogCQljYXNlIDB4MTBlYzAyNjg6CiAJCQlzbmRfaGRhX2NvZGVjX3dyaXRlKGNvZGVjLCAweDIwLCAwLApAQCAtMjM3Myw2ICsyNDM2LDggQEAKIAlzdHJ1Y3QgYWxjX3NwZWMgKnNwZWMgPSBjb2RlYy0+c3BlYzsKIAl1bnNpZ25lZCBpbnQgaTsKIAorCWFsY19maXhfcGxsKGNvZGVjKTsKKwogCWZvciAoaSA9IDA7IGkgPCBzcGVjLT5udW1faW5pdF92ZXJiczsgaSsrKQogCQlzbmRfaGRhX3NlcXVlbmNlX3dyaXRlKGNvZGVjLCBzcGVjLT5pbml0X3ZlcmJzW2ldKTsKIApAQCAtMzAwOSw2ICszMDc0LDcgQEAKIAlTTkRfUENJX1FVSVJLKDB4MTY5NSwgMHg0MDBkLCAiRVBvWCIsIEFMQzg4MF81U1RfRElHKSwKIAlTTkRfUENJX1FVSVJLKDB4MTY5NSwgMHg0MDEyLCAiRVBveCBFUC01TERBIiwgQUxDODgwXzVTVF9ESUcpLAogCVNORF9QQ0lfUVVJUksoMHgxNzM0LCAweDEwN2MsICJGU0MgRjE3MzQiLCBBTEM4ODBfRjE3MzQpLAorCVNORF9QQ0lfUVVJUksoMHgxNzM0LCAweDEwOTQsICJGU0MgQW1pbG8gTTE0NTFHIiwgQUxDODgwX0ZVSklUU1UpLAogCVNORF9QQ0lfUVVJUksoMHgxNzM0LCAweDEwYWMsICJGU0MiLCBBTEM4ODBfVU5JV0lMTCksCiAJU05EX1BDSV9RVUlSSygweDE3MzQsIDB4MTBiMCwgIkZ1aml0c3UiLCBBTEM4ODBfRlVKSVRTVSksCiAJU05EX1BDSV9RVUlSSygweDE4NTQsIDB4MDAxOCwgIkxHIExXMjAiLCBBTEM4ODBfTEdfTFcpLApAQCAtNTEwMSw3ICs1MTY3LDcgQEAKIAlTTkRfUENJX1FVSVJLKDB4MTAzYywgMHgyODA4LCAiSFAgZDU3MDAiLCBBTEMyNjBfSFBfMzAxMyksCiAJU05EX1BDSV9RVUlSSygweDEwM2MsIDB4MjgwYSwgIkhQIGQ1NzUwIiwgQUxDMjYwX0hQXzMwMTMpLAogCVNORF9QQ0lfUVVJUksoMHgxMDNjLCAweDMwMTAsICJIUCIsIEFMQzI2MF9IUF8zMDEzKSwKLQlTTkRfUENJX1FVSVJLKDB4MTAzYywgMHgzMDExLCAiSFAiLCBBTEMyNjBfSFApLAorCVNORF9QQ0lfUVVJUksoMHgxMDNjLCAweDMwMTEsICJIUCIsIEFMQzI2MF9IUF8zMDEzKSwKIAlTTkRfUENJX1FVSVJLKDB4MTAzYywgMHgzMDEyLCAiSFAiLCBBTEMyNjBfSFBfMzAxMyksCiAJU05EX1BDSV9RVUlSSygweDEwM2MsIDB4MzAxMywgIkhQIiwgQUxDMjYwX0hQXzMwMTMpLAogCVNORF9QQ0lfUVVJUksoMHgxMDNjLCAweDMwMTQsICJIUCIsIEFMQzI2MF9IUCksCkBAIC02MTI3LDYgKzYxOTMsNyBAQAogCVNORF9QQ0lfUVVJUksoMHgxMDQzLCAweDgxN2YsICJBc3VzIFA1TEQyIiwgQUxDODgyXzZTVF9ESUcpLAogCVNORF9QQ0lfUVVJUksoMHgxMDQzLCAweDgxZDgsICJBc3VzIFA1V0QiLCBBTEM4ODJfNlNUX0RJRyksCiAJU05EX1BDSV9RVUlSSygweDEwNWIsIDB4NjY2OCwgIkZveGNvbm4iLCBBTEM4ODJfNlNUX0RJRyksCisJU05EX1BDSV9RVUlSSygweDEwNmIsIDB4MDBhMCwgIkFwcGxlIGlNYWMgMjQnJyIsIEFMQzg4NV9JTUFDMjQpLAogCVNORF9QQ0lfUVVJUksoMHgxNDU4LCAweGEwMDIsICJHaWdhYnl0ZSBQMzUgRFMzUiIsIEFMQzg4Ml82U1RfRElHKSwKIAlTTkRfUENJX1FVSVJLKDB4MTQ2MiwgMHgyOGZiLCAiVGFyZ2EgVDgiLCBBTEM4ODJfVEFSR0EpLCAvKiBNU0ktMTA0OSBUOCAgKi8KIAlTTkRfUENJX1FVSVJLKDB4MTQ2MiwgMHg2NjY4LCAiTVNJIiwgQUxDODgyXzZTVF9ESUcpLApAQCAtNjM1Myw3ICs2NDIwLDkgQEAKIAkJCWNvbnRpbnVlOwogCQl2cmVmID0gUElOX0lOOwogCQlpZiAoMSAvKmkgPD0gQVVUT19QSU5fRlJPTlRfTUlDKi8pIHsKLQkJCWlmIChzbmRfaGRhX3BhcmFtX3JlYWQoY29kZWMsIG5pZCwgQUNfUEFSX1BJTl9DQVApICYKKwkJCXVuc2lnbmVkIGludCBwaW5jYXA7CisJCQlwaW5jYXAgPSBzbmRfaGRhX3BhcmFtX3JlYWQoY29kZWMsIG5pZCwgQUNfUEFSX1BJTl9DQVApOworCQkJaWYgKChwaW5jYXAgPj4gQUNfUElOQ0FQX1ZSRUZfU0hJRlQpICYKIAkJCSAgICBBQ19QSU5DQVBfVlJFRl84MCkKIAkJCQl2cmVmID0gUElOX1ZSRUY4MDsKIAkJfQpAQCAtNjQ1MCw4ICs2NTE5LDkgQEAKIAkJY2FzZSAweDEwNmIxMDAwOiAvKiBpTWFjIDI0ICovCiAJCQlib2FyZF9jb25maWcgPSBBTEM4ODVfSU1BQzI0OwogCQkJYnJlYWs7Ci0JCWNhc2UgMHgxMDZiMDBhMTogLyogTWFjYm9vayAqLworCQljYXNlIDB4MTA2YjAwYTE6IC8qIE1hY2Jvb2sgKG1pZ2h0IGJlIHdyb25nIC0gUENJIFNTSUQ/KSAqLwogCQljYXNlIDB4MTA2YjJjMDA6IC8qIE1hY2Jvb2sgUHJvIHJldjMgKi8KKwkJY2FzZSAweDEwNmIzNjAwOiAvKiBNYWNib29rIDMuMSAqLwogCQkJYm9hcmRfY29uZmlnID0gQUxDODg1X01CUDM7CiAJCQlicmVhazsKIAkJZGVmYXVsdDoKQEAgLTY0ODUsMTQgKzY1NTUsMjAgQEAKIAlpZiAoYm9hcmRfY29uZmlnICE9IEFMQzg4Ml9BVVRPKQogCQlzZXR1cF9wcmVzZXQoc3BlYywgJmFsYzg4Ml9wcmVzZXRzW2JvYXJkX2NvbmZpZ10pOwogCi0Jc3BlYy0+c3RyZWFtX25hbWVfYW5hbG9nID0gIkFMQzg4MiBBbmFsb2ciOworCWlmIChjb2RlYy0+dmVuZG9yX2lkID09IDB4MTBlYzA4ODUpIHsKKwkJc3BlYy0+c3RyZWFtX25hbWVfYW5hbG9nID0gIkFMQzg4NSBBbmFsb2ciOworCQlzcGVjLT5zdHJlYW1fbmFtZV9kaWdpdGFsID0gIkFMQzg4NSBEaWdpdGFsIjsKKwl9IGVsc2UgeworCQlzcGVjLT5zdHJlYW1fbmFtZV9hbmFsb2cgPSAiQUxDODgyIEFuYWxvZyI7CisJCXNwZWMtPnN0cmVhbV9uYW1lX2RpZ2l0YWwgPSAiQUxDODgyIERpZ2l0YWwiOworCX0KKwogCXNwZWMtPnN0cmVhbV9hbmFsb2dfcGxheWJhY2sgPSAmYWxjODgyX3BjbV9hbmFsb2dfcGxheWJhY2s7CiAJc3BlYy0+c3RyZWFtX2FuYWxvZ19jYXB0dXJlID0gJmFsYzg4Ml9wY21fYW5hbG9nX2NhcHR1cmU7CiAJLyogRklYTUU6IHNldHVwIERBQzUgKi8KIAkvKnNwZWMtPnN0cmVhbV9hbmFsb2dfYWx0X3BsYXliYWNrID0gJmFsYzg4MF9wY21fYW5hbG9nX2FsdF9wbGF5YmFjazsqLwogCXNwZWMtPnN0cmVhbV9hbmFsb2dfYWx0X2NhcHR1cmUgPSAmYWxjODgwX3BjbV9hbmFsb2dfYWx0X2NhcHR1cmU7CiAKLQlzcGVjLT5zdHJlYW1fbmFtZV9kaWdpdGFsID0gIkFMQzg4MiBEaWdpdGFsIjsKIAlzcGVjLT5zdHJlYW1fZGlnaXRhbF9wbGF5YmFjayA9ICZhbGM4ODJfcGNtX2RpZ2l0YWxfcGxheWJhY2s7CiAJc3BlYy0+c3RyZWFtX2RpZ2l0YWxfY2FwdHVyZSA9ICZhbGM4ODJfcGNtX2RpZ2l0YWxfY2FwdHVyZTsKIApAQCAtNjU2OSw2ICs2NjQ1LDE2IEBACiAJfSwKIH07CiAKK3N0YXRpYyBzdHJ1Y3QgaGRhX2lucHV0X211eCBhbGM4ODNfM3N0YWNrXzZjaF9pbnRlbCA9IHsKKwkubnVtX2l0ZW1zID0gNCwKKwkuaXRlbXMgPSB7CisJCXsgIk1pYyIsIDB4MSB9LAorCQl7ICJGcm9udCBNaWMiLCAweDAgfSwKKwkJeyAiTGluZSIsIDB4MiB9LAorCQl7ICJDRCIsIDB4NCB9LAorCX0sCit9OworCiBzdGF0aWMgc3RydWN0IGhkYV9pbnB1dF9tdXggYWxjODgzX2xlbm92b18xMDFlX2NhcHR1cmVfc291cmNlID0gewogCS5udW1faXRlbXMgPSAyLAogCS5pdGVtcyA9IHsKQEAgLTY2NTAsNiArNjczNiw0OCBAQAogfTsKIAogLyoKKyAqIDJjaCBtb2RlCisgKi8KK3N0YXRpYyBzdHJ1Y3QgaGRhX3ZlcmIgYWxjODgzXzNTVF9jaDJfaW50ZWxfaW5pdFtdID0geworCXsgMHgxOSwgQUNfVkVSQl9TRVRfUElOX1dJREdFVF9DT05UUk9MLCBQSU5fVlJFRjgwIH0sCisJeyAweDE5LCBBQ19WRVJCX1NFVF9BTVBfR0FJTl9NVVRFLCBBTVBfT1VUX01VVEUgfSwKKwl7IDB4MWEsIEFDX1ZFUkJfU0VUX1BJTl9XSURHRVRfQ09OVFJPTCwgUElOX0lOIH0sCisJeyAweDFhLCBBQ19WRVJCX1NFVF9BTVBfR0FJTl9NVVRFLCBBTVBfT1VUX01VVEUgfSwKKwl7IH0gLyogZW5kICovCit9OworCisvKgorICogNGNoIG1vZGUKKyAqLworc3RhdGljIHN0cnVjdCBoZGFfdmVyYiBhbGM4ODNfM1NUX2NoNF9pbnRlbF9pbml0W10gPSB7CisJeyAweDE5LCBBQ19WRVJCX1NFVF9QSU5fV0lER0VUX0NPTlRST0wsIFBJTl9WUkVGODAgfSwKKwl7IDB4MTksIEFDX1ZFUkJfU0VUX0FNUF9HQUlOX01VVEUsIEFNUF9PVVRfTVVURSB9LAorCXsgMHgxYSwgQUNfVkVSQl9TRVRfUElOX1dJREdFVF9DT05UUk9MLCBQSU5fT1VUIH0sCisJeyAweDFhLCBBQ19WRVJCX1NFVF9BTVBfR0FJTl9NVVRFLCBBTVBfT1VUX1VOTVVURSB9LAorCXsgMHgxYSwgQUNfVkVSQl9TRVRfQ09OTkVDVF9TRUwsIDB4MDEgfSwKKwl7IH0gLyogZW5kICovCit9OworCisvKgorICogNmNoIG1vZGUKKyAqLworc3RhdGljIHN0cnVjdCBoZGFfdmVyYiBhbGM4ODNfM1NUX2NoNl9pbnRlbF9pbml0W10gPSB7CisJeyAweDE5LCBBQ19WRVJCX1NFVF9QSU5fV0lER0VUX0NPTlRST0wsIFBJTl9PVVQgfSwKKwl7IDB4MTksIEFDX1ZFUkJfU0VUX0FNUF9HQUlOX01VVEUsIEFNUF9PVVRfVU5NVVRFIH0sCisJeyAweDE5LCBBQ19WRVJCX1NFVF9DT05ORUNUX1NFTCwgMHgwMiB9LAorCXsgMHgxYSwgQUNfVkVSQl9TRVRfUElOX1dJREdFVF9DT05UUk9MLCBQSU5fT1VUIH0sCisJeyAweDFhLCBBQ19WRVJCX1NFVF9BTVBfR0FJTl9NVVRFLCBBTVBfT1VUX1VOTVVURSB9LAorCXsgMHgxYSwgQUNfVkVSQl9TRVRfQ09OTkVDVF9TRUwsIDB4MDEgfSwKKwl7IH0gLyogZW5kICovCit9OworCitzdGF0aWMgc3RydWN0IGhkYV9jaGFubmVsX21vZGUgYWxjODgzXzNTVF82Y2hfaW50ZWxfbW9kZXNbM10gPSB7CisJeyAyLCBhbGM4ODNfM1NUX2NoMl9pbnRlbF9pbml0IH0sCisJeyA0LCBhbGM4ODNfM1NUX2NoNF9pbnRlbF9pbml0IH0sCisJeyA2LCBhbGM4ODNfM1NUX2NoNl9pbnRlbF9pbml0IH0sCit9OworCisvKgogICogNmNoIG1vZGUKICAqLwogc3RhdGljIHN0cnVjdCBoZGFfdmVyYiBhbGM4ODNfc2l4c3RhY2tfY2g2X2luaXRbXSA9IHsKQEAgLTY4ODEsMTUgKzcwMDksNTQgQEAKIAl7IH0gLyogZW5kICovCiB9OwogCitzdGF0aWMgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgYWxjODgzXzNTVF82Y2hfaW50ZWxfbWl4ZXJbXSA9IHsKKwlIREFfQ09ERUNfVk9MVU1FKCJGcm9udCBQbGF5YmFjayBWb2x1bWUiLCAweDBjLCAweDAsIEhEQV9PVVRQVVQpLAorCUhEQV9CSU5EX01VVEUoIkZyb250IFBsYXliYWNrIFN3aXRjaCIsIDB4MGMsIDIsIEhEQV9JTlBVVCksCisJSERBX0NPREVDX1ZPTFVNRSgiU3Vycm91bmQgUGxheWJhY2sgVm9sdW1lIiwgMHgwZCwgMHgwLCBIREFfT1VUUFVUKSwKKwlIREFfQklORF9NVVRFKCJTdXJyb3VuZCBQbGF5YmFjayBTd2l0Y2giLCAweDBkLCAyLCBIREFfSU5QVVQpLAorCUhEQV9DT0RFQ19WT0xVTUVfTU9OTygiQ2VudGVyIFBsYXliYWNrIFZvbHVtZSIsIDB4MGUsIDEsIDB4MCwKKwkJCSAgICAgIEhEQV9PVVRQVVQpLAorCUhEQV9DT0RFQ19WT0xVTUVfTU9OTygiTEZFIFBsYXliYWNrIFZvbHVtZSIsIDB4MGUsIDIsIDB4MCwgSERBX09VVFBVVCksCisJSERBX0JJTkRfTVVURV9NT05PKCJDZW50ZXIgUGxheWJhY2sgU3dpdGNoIiwgMHgwZSwgMSwgMiwgSERBX0lOUFVUKSwKKwlIREFfQklORF9NVVRFX01PTk8oIkxGRSBQbGF5YmFjayBTd2l0Y2giLCAweDBlLCAyLCAyLCBIREFfSU5QVVQpLAorCUhEQV9DT0RFQ19NVVRFKCJIZWFkcGhvbmUgUGxheWJhY2sgU3dpdGNoIiwgMHgxNSwgMHgwLCBIREFfT1VUUFVUKSwKKwlIREFfQ09ERUNfVk9MVU1FKCJDRCBQbGF5YmFjayBWb2x1bWUiLCAweDBiLCAweDA0LCBIREFfSU5QVVQpLAorCUhEQV9DT0RFQ19NVVRFKCJDRCBQbGF5YmFjayBTd2l0Y2giLCAweDBiLCAweDA0LCBIREFfSU5QVVQpLAorCUhEQV9DT0RFQ19WT0xVTUUoIkxpbmUgUGxheWJhY2sgVm9sdW1lIiwgMHgwYiwgMHgwMiwgSERBX0lOUFVUKSwKKwlIREFfQ09ERUNfTVVURSgiTGluZSBQbGF5YmFjayBTd2l0Y2giLCAweDBiLCAweDAyLCBIREFfSU5QVVQpLAorCUhEQV9DT0RFQ19WT0xVTUUoIk1pYyBQbGF5YmFjayBWb2x1bWUiLCAweDBiLCAweDEsIEhEQV9JTlBVVCksCisJSERBX0NPREVDX1ZPTFVNRSgiTWljIEJvb3N0IiwgMHgxOSwgMCwgSERBX0lOUFVUKSwKKwlIREFfQ09ERUNfTVVURSgiTWljIFBsYXliYWNrIFN3aXRjaCIsIDB4MGIsIDB4MSwgSERBX0lOUFVUKSwKKwlIREFfQ09ERUNfVk9MVU1FKCJGcm9udCBNaWMgUGxheWJhY2sgVm9sdW1lIiwgMHgwYiwgMHgwLCBIREFfSU5QVVQpLAorCUhEQV9DT0RFQ19WT0xVTUUoIkZyb250IE1pYyBCb29zdCIsIDB4MTgsIDAsIEhEQV9JTlBVVCksCisJSERBX0NPREVDX01VVEUoIkZyb250IE1pYyBQbGF5YmFjayBTd2l0Y2giLCAweDBiLCAweDAsIEhEQV9JTlBVVCksCisJSERBX0NPREVDX1ZPTFVNRSgiUEMgU3BlYWtlciBQbGF5YmFjayBWb2x1bWUiLCAweDBiLCAweDA1LCBIREFfSU5QVVQpLAorCUhEQV9DT0RFQ19NVVRFKCJQQyBTcGVha2VyIFBsYXliYWNrIFN3aXRjaCIsIDB4MGIsIDB4MDUsIEhEQV9JTlBVVCksCisJSERBX0NPREVDX1ZPTFVNRSgiQ2FwdHVyZSBWb2x1bWUiLCAweDA4LCAweDAsIEhEQV9JTlBVVCksCisJSERBX0NPREVDX01VVEUoIkNhcHR1cmUgU3dpdGNoIiwgMHgwOCwgMHgwLCBIREFfSU5QVVQpLAorCUhEQV9DT0RFQ19WT0xVTUVfSURYKCJDYXB0dXJlIFZvbHVtZSIsIDEsIDB4MDksIDB4MCwgSERBX0lOUFVUKSwKKwlIREFfQ09ERUNfTVVURV9JRFgoIkNhcHR1cmUgU3dpdGNoIiwgMSwgMHgwOSwgMHgwLCBIREFfSU5QVVQpLAorCXsKKwkJLmlmYWNlID0gU05EUlZfQ1RMX0VMRU1fSUZBQ0VfTUlYRVIsCisJCS8qIC5uYW1lID0gIkNhcHR1cmUgU291cmNlIiwgKi8KKwkJLm5hbWUgPSAiSW5wdXQgU291cmNlIiwKKwkJLmNvdW50ID0gMiwKKwkJLmluZm8gPSBhbGM4ODNfbXV4X2VudW1faW5mbywKKwkJLmdldCA9IGFsYzg4M19tdXhfZW51bV9nZXQsCisJCS5wdXQgPSBhbGM4ODNfbXV4X2VudW1fcHV0LAorCX0sCisJeyB9IC8qIGVuZCAqLworfTsKKwogc3RhdGljIHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IGFsYzg4M19maXZlc3RhY2tfbWl4ZXJbXSA9IHsKIAlIREFfQ09ERUNfVk9MVU1FKCJGcm9udCBQbGF5YmFjayBWb2x1bWUiLCAweDBjLCAweDAsIEhEQV9PVVRQVVQpLAotCUhEQV9DT0RFQ19NVVRFKCJGcm9udCBQbGF5YmFjayBTd2l0Y2giLCAweDE0LCAweDAsIEhEQV9PVVRQVVQpLAorCUhEQV9CSU5EX01VVEUoIkZyb250IFBsYXliYWNrIFN3aXRjaCIsIDB4MGMsIDIsIEhEQV9JTlBVVCksCiAJSERBX0NPREVDX1ZPTFVNRSgiU3Vycm91bmQgUGxheWJhY2sgVm9sdW1lIiwgMHgwZCwgMHgwLCBIREFfT1VUUFVUKSwKLQlIREFfQ09ERUNfTVVURSgiU3Vycm91bmQgUGxheWJhY2sgU3dpdGNoIiwgMHgxNSwgMHgwLCBIREFfT1VUUFVUKSwKKwlIREFfQklORF9NVVRFKCJTdXJyb3VuZCBQbGF5YmFjayBTd2l0Y2giLCAweDBkLCAyLCBIREFfSU5QVVQpLAogCUhEQV9DT0RFQ19WT0xVTUVfTU9OTygiQ2VudGVyIFBsYXliYWNrIFZvbHVtZSIsIDB4MGUsIDEsIDB4MCwgSERBX09VVFBVVCksCiAJSERBX0NPREVDX1ZPTFVNRV9NT05PKCJMRkUgUGxheWJhY2sgVm9sdW1lIiwgMHgwZSwgMiwgMHgwLCBIREFfT1VUUFVUKSwKLQlIREFfQ09ERUNfTVVURV9NT05PKCJDZW50ZXIgUGxheWJhY2sgU3dpdGNoIiwgMHgxNiwgMSwgMHgwLCBIREFfT1VUUFVUKSwKLQlIREFfQ09ERUNfTVVURV9NT05PKCJMRkUgUGxheWJhY2sgU3dpdGNoIiwgMHgxNiwgMiwgMHgwLCBIREFfT1VUUFVUKSwKKwlIREFfQklORF9NVVRFX01PTk8oIkNlbnRlciBQbGF5YmFjayBTd2l0Y2giLCAweDBlLCAxLCAyLCBIREFfSU5QVVQpLAorCUhEQV9CSU5EX01VVEVfTU9OTygiTEZFIFBsYXliYWNrIFN3aXRjaCIsIDB4MGUsIDIsIDIsIEhEQV9JTlBVVCksCiAJSERBX0NPREVDX01VVEUoIkhlYWRwaG9uZSBQbGF5YmFjayBTd2l0Y2giLCAweDFiLCAweDAsIEhEQV9PVVRQVVQpLAogCUhEQV9DT0RFQ19WT0xVTUUoIkNEIFBsYXliYWNrIFZvbHVtZSIsIDB4MGIsIDB4MDQsIEhEQV9JTlBVVCksCiAJSERBX0NPREVDX01VVEUoIkNEIFBsYXliYWNrIFN3aXRjaCIsIDB4MGIsIDB4MDQsIEhEQV9JTlBVVCksCkBAIC03NzI5LDYgKzc4OTYsNyBAQAogCVtBTEM4ODNfTUlUQUNdCQk9ICJtaXRhYyIsCiAJW0FMQzg4M19DTEVWT19NNzIwXQk9ICJjbGV2by1tNzIwIiwKIAlbQUxDODgzX0ZVSklUU1VfUEkyNTE1XSA9ICJmdWppdHN1LXBpMjUxNSIsCisJW0FMQzg4M18zU1RfNmNoX0lOVEVMXQk9ICIzc3RhY2stNmNoLWludGVsIiwKIAlbQUxDODgzX0FVVE9dCQk9ICJhdXRvIiwKIH07CiAKQEAgLTc3ODYsNiArNzk1NCw4IEBACiAJU05EX1BDSV9RVUlSSygweDE3YzAsIDB4NDA3MSwgIk1FRElPTiBNRDIiLCBBTEM4ODNfTUVESU9OX01EMiksCiAJU05EX1BDSV9RVUlSSygweDE3ZjIsIDB4NTAwMCwgIkFsYmF0cm9uIEtJNjkwLUFNMiIsIEFMQzg4M182U1RfRElHKSwKIAlTTkRfUENJX1FVSVJLKDB4MTk5MSwgMHg1NjI1LCAiSGFpZXIgVzY2IiwgQUxDODgzX0hBSUVSX1c2NiksCisJU05EX1BDSV9RVUlSSygweDgwODYsIDB4MDAwMSwgIkRHMzNCVUMiLCBBTEM4ODNfM1NUXzZjaF9JTlRFTCksCisJU05EX1BDSV9RVUlSSygweDgwODYsIDB4MDAwMiwgIkRHMzNGQkMiLCBBTEM4ODNfM1NUXzZjaF9JTlRFTCksCiAJU05EX1BDSV9RVUlSSygweDgwODYsIDB4ZDYwMSwgIkQxMDJHR0MiLCBBTEM4ODNfM1NUXzZjaCksCiAJe30KIH07CkBAIC03ODI0LDYgKzc5OTQsMTggQEAKIAkJLm5lZWRfZGFjX2ZpeCA9IDEsCiAJCS5pbnB1dF9tdXggPSAmYWxjODgzX2NhcHR1cmVfc291cmNlLAogCX0sCisJW0FMQzg4M18zU1RfNmNoX0lOVEVMXSA9IHsKKwkJLm1peGVycyA9IHsgYWxjODgzXzNTVF82Y2hfaW50ZWxfbWl4ZXIsIGFsYzg4M19jaG1vZGVfbWl4ZXIgfSwKKwkJLmluaXRfdmVyYnMgPSB7IGFsYzg4M19pbml0X3ZlcmJzIH0sCisJCS5udW1fZGFjcyA9IEFSUkFZX1NJWkUoYWxjODgzX2RhY19uaWRzKSwKKwkJLmRhY19uaWRzID0gYWxjODgzX2RhY19uaWRzLAorCQkuZGlnX291dF9uaWQgPSBBTEM4ODNfRElHT1VUX05JRCwKKwkJLmRpZ19pbl9uaWQgPSBBTEM4ODNfRElHSU5fTklELAorCQkubnVtX2NoYW5uZWxfbW9kZSA9IEFSUkFZX1NJWkUoYWxjODgzXzNTVF82Y2hfaW50ZWxfbW9kZXMpLAorCQkuY2hhbm5lbF9tb2RlID0gYWxjODgzXzNTVF82Y2hfaW50ZWxfbW9kZXMsCisJCS5uZWVkX2RhY19maXggPSAxLAorCQkuaW5wdXRfbXV4ID0gJmFsYzg4M18zc3RhY2tfNmNoX2ludGVsLAorCX0sCiAJW0FMQzg4M182U1RfRElHXSA9IHsKIAkJLm1peGVycyA9IHsgYWxjODgzX2Jhc2VfbWl4ZXIsIGFsYzg4M19jaG1vZGVfbWl4ZXIgfSwKIAkJLmluaXRfdmVyYnMgPSB7IGFsYzg4M19pbml0X3ZlcmJzIH0sCkBAIC04MTQ1LDYgKzgzMjcsOCBAQAogCiAJY29kZWMtPnNwZWMgPSBzcGVjOwogCisJYWxjX2ZpeF9wbGxfaW5pdChjb2RlYywgMHgyMCwgMHgwYSwgMTApOworCiAJYm9hcmRfY29uZmlnID0gc25kX2hkYV9jaGVja19ib2FyZF9jb25maWcoY29kZWMsIEFMQzg4M19NT0RFTF9MQVNULAogCQkJCQkJICBhbGM4ODNfbW9kZWxzLAogCQkJCQkJICBhbGM4ODNfY2ZnX3RibCk7CkBAIC04MTcxLDEyICs4MzU1LDI1IEBACiAJaWYgKGJvYXJkX2NvbmZpZyAhPSBBTEM4ODNfQVVUTykKIAkJc2V0dXBfcHJlc2V0KHNwZWMsICZhbGM4ODNfcHJlc2V0c1tib2FyZF9jb25maWddKTsKIAotCXNwZWMtPnN0cmVhbV9uYW1lX2FuYWxvZyA9ICJBTEM4ODMgQW5hbG9nIjsKKwlzd2l0Y2ggKGNvZGVjLT52ZW5kb3JfaWQpIHsKKwljYXNlIDB4MTBlYzA4ODg6CisJCXNwZWMtPnN0cmVhbV9uYW1lX2FuYWxvZyA9ICJBTEM4ODggQW5hbG9nIjsKKwkJc3BlYy0+c3RyZWFtX25hbWVfZGlnaXRhbCA9ICJBTEM4ODggRGlnaXRhbCI7CisJCWJyZWFrOworCWNhc2UgMHgxMGVjMDg4OToKKwkJc3BlYy0+c3RyZWFtX25hbWVfYW5hbG9nID0gIkFMQzg4OSBBbmFsb2ciOworCQlzcGVjLT5zdHJlYW1fbmFtZV9kaWdpdGFsID0gIkFMQzg4OSBEaWdpdGFsIjsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJc3BlYy0+c3RyZWFtX25hbWVfYW5hbG9nID0gIkFMQzg4MyBBbmFsb2ciOworCQlzcGVjLT5zdHJlYW1fbmFtZV9kaWdpdGFsID0gIkFMQzg4MyBEaWdpdGFsIjsKKwkJYnJlYWs7CisJfQorCiAJc3BlYy0+c3RyZWFtX2FuYWxvZ19wbGF5YmFjayA9ICZhbGM4ODNfcGNtX2FuYWxvZ19wbGF5YmFjazsKIAlzcGVjLT5zdHJlYW1fYW5hbG9nX2NhcHR1cmUgPSAmYWxjODgzX3BjbV9hbmFsb2dfY2FwdHVyZTsKIAlzcGVjLT5zdHJlYW1fYW5hbG9nX2FsdF9jYXB0dXJlID0gJmFsYzg4M19wY21fYW5hbG9nX2FsdF9jYXB0dXJlOwogCi0Jc3BlYy0+c3RyZWFtX25hbWVfZGlnaXRhbCA9ICJBTEM4ODMgRGlnaXRhbCI7CiAJc3BlYy0+c3RyZWFtX2RpZ2l0YWxfcGxheWJhY2sgPSAmYWxjODgzX3BjbV9kaWdpdGFsX3BsYXliYWNrOwogCXNwZWMtPnN0cmVhbV9kaWdpdGFsX2NhcHR1cmUgPSAmYWxjODgzX3BjbV9kaWdpdGFsX2NhcHR1cmU7CiAKQEAgLTgxODksNiArODM4Niw5IEBACiAJY29kZWMtPnBhdGNoX29wcyA9IGFsY19wYXRjaF9vcHM7CiAJaWYgKGJvYXJkX2NvbmZpZyA9PSBBTEM4ODNfQVVUTykKIAkJc3BlYy0+aW5pdF9ob29rID0gYWxjODgzX2F1dG9faW5pdDsKKwllbHNlIGlmIChjb2RlYy0+dmVuZG9yX2lkID09IDB4MTBlYzA4ODgpCisJCXNwZWMtPmluaXRfaG9vayA9IGFsYzg4OF9jb2VmX2luaXQ7CisKICNpZmRlZiBDT05GSUdfU05EX0hEQV9QT1dFUl9TQVZFCiAJaWYgKCFzcGVjLT5sb29wYmFjay5hbXBsaXN0KQogCQlzcGVjLT5sb29wYmFjay5hbXBsaXN0ID0gYWxjODgzX2xvb3BiYWNrczsKQEAgLTk1MjIsNiArOTcyMiw4IEBACiAJU05EX1BDSV9RVUlSSygweDEwNGQsIDB4ODIwZiwgIlNvbnkgQVNTQU1EIiwgQUxDMjYyX1NPTllfQVNTQU1EKSwKIAlTTkRfUENJX1FVSVJLKDB4MTA0ZCwgMHg5MDBlLCAiU29ueSBBU1NBTUQiLCBBTEMyNjJfU09OWV9BU1NBTUQpLAogCVNORF9QQ0lfUVVJUksoMHgxMDRkLCAweDkwMTUsICJTb255IDB4OTAxNSIsIEFMQzI2Ml9TT05ZX0FTU0FNRCksCisJU05EX1BDSV9RVUlSSygweDExNzksIDB4MDAwMSwgIlRvc2hpYmEgZHluYWJvb2sgU1MgUlgxIiwKKwkJICAgICAgQUxDMjYyX1NPTllfQVNTQU1EKSwKIAlTTkRfUENJX1FVSVJLKDB4MTBjZiwgMHgxMzk3LCAiRnVqaXRzdSIsIEFMQzI2Ml9GVUpJVFNVKSwKIAlTTkRfUENJX1FVSVJLKDB4MTBjZiwgMHgxNDJkLCAiRnVqaXRzdSBMaWZlYm9vayBFODQxMCIsIEFMQzI2Ml9GVUpJVFNVKSwKIAlTTkRfUENJX1FVSVJLKDB4MTQ0ZCwgMHhjMDMyLCAiU2Ftc3VuZyBRMSBVbHRyYSIsIEFMQzI2Ml9VTFRSQSksCkBAIC05NzI5LDYgKzk5MzEsOCBAQAogCX0KICNlbmRpZgogCisJYWxjX2ZpeF9wbGxfaW5pdChjb2RlYywgMHgyMCwgMHgwYSwgMTApOworCiAJYm9hcmRfY29uZmlnID0gc25kX2hkYV9jaGVja19ib2FyZF9jb25maWcoY29kZWMsIEFMQzI2Ml9NT0RFTF9MQVNULAogCQkJCQkJICBhbGMyNjJfbW9kZWxzLAogCQkJCQkJICBhbGMyNjJfY2ZnX3RibCk7CkBAIC0xMDY3NCwxMiArMTA4NzgsMTggQEAKIAlpZiAoYm9hcmRfY29uZmlnICE9IEFMQzI2OF9BVVRPKQogCQlzZXR1cF9wcmVzZXQoc3BlYywgJmFsYzI2OF9wcmVzZXRzW2JvYXJkX2NvbmZpZ10pOwogCi0Jc3BlYy0+c3RyZWFtX25hbWVfYW5hbG9nID0gIkFMQzI2OCBBbmFsb2ciOworCWlmIChjb2RlYy0+dmVuZG9yX2lkID09IDB4MTBlYzAyNjcpIHsKKwkJc3BlYy0+c3RyZWFtX25hbWVfYW5hbG9nID0gIkFMQzI2NyBBbmFsb2ciOworCQlzcGVjLT5zdHJlYW1fbmFtZV9kaWdpdGFsID0gIkFMQzI2NyBEaWdpdGFsIjsKKwl9IGVsc2UgeworCQlzcGVjLT5zdHJlYW1fbmFtZV9hbmFsb2cgPSAiQUxDMjY4IEFuYWxvZyI7CisJCXNwZWMtPnN0cmVhbV9uYW1lX2RpZ2l0YWwgPSAiQUxDMjY4IERpZ2l0YWwiOworCX0KKwogCXNwZWMtPnN0cmVhbV9hbmFsb2dfcGxheWJhY2sgPSAmYWxjMjY4X3BjbV9hbmFsb2dfcGxheWJhY2s7CiAJc3BlYy0+c3RyZWFtX2FuYWxvZ19jYXB0dXJlID0gJmFsYzI2OF9wY21fYW5hbG9nX2NhcHR1cmU7CiAJc3BlYy0+c3RyZWFtX2FuYWxvZ19hbHRfY2FwdHVyZSA9ICZhbGMyNjhfcGNtX2FuYWxvZ19hbHRfY2FwdHVyZTsKIAotCXNwZWMtPnN0cmVhbV9uYW1lX2RpZ2l0YWwgPSAiQUxDMjY4IERpZ2l0YWwiOwogCXNwZWMtPnN0cmVhbV9kaWdpdGFsX3BsYXliYWNrID0gJmFsYzI2OF9wY21fZGlnaXRhbF9wbGF5YmFjazsKIAogCWlmICghcXVlcnlfYW1wX2NhcHMoY29kZWMsIDB4MWQsIEhEQV9JTlBVVCkpCkBAIC0xMTAzMyw2ICsxMTI0Myw4IEBACiAKIAljb2RlYy0+c3BlYyA9IHNwZWM7CiAKKwlhbGNfZml4X3BsbF9pbml0KGNvZGVjLCAweDIwLCAweDA0LCAxNSk7CisKIAlib2FyZF9jb25maWcgPSBzbmRfaGRhX2NoZWNrX2JvYXJkX2NvbmZpZyhjb2RlYywgQUxDMjY5X01PREVMX0xBU1QsCiAJCQkJCQkgIGFsYzI2OV9tb2RlbHMsCiAJCQkJCQkgIGFsYzI2OV9jZmdfdGJsKTsKQEAgLTEyNjMxLDYgKzEyODQzLDEyIEBACiAJeyB9CiB9OwogCitzdGF0aWMgc3RydWN0IGhkYV92ZXJiIGFsYzY2MHZkX2VhcGRfdmVyYnNbXSA9IHsKKwl7MHgxNCwgQUNfVkVSQl9TRVRfRUFQRF9CVExFTkFCTEUsIDJ9LAorCXsweDE1LCBBQ19WRVJCX1NFVF9FQVBEX0JUTEVOQUJMRSwgMn0sCisJeyB9Cit9OworCiBzdGF0aWMgc3RydWN0IGhkYV92ZXJiIGFsYzg2MXZkX2xlbm92b191bnNvbF92ZXJic1tdID0gewogCXsweDBjLCBBQ19WRVJCX1NFVF9BTVBfR0FJTl9NVVRFLCBBTVBfSU5fVU5NVVRFKDApfSwKIAl7MHgwYywgQUNfVkVSQl9TRVRfQU1QX0dBSU5fTVVURSwgQU1QX0lOX1VOTVVURSgxKX0sCkBAIC0xMjc4Niw2ICsxMzAwNCw3IEBACiAJU05EX1BDSV9RVUlSSygweDE1NjUsIDB4ODIwZCwgIkJpb3N0YXIgTkY2MVMgU0UiLCBBTEM4NjFWRF82U1RfRElHKSwKIAlTTkRfUENJX1FVSVJLKDB4MTdhYSwgMHgyMDY2LCAiTGVub3ZvIiwgQUxDODYxVkRfTEVOT1ZPKSwKIAlTTkRfUENJX1FVSVJLKDB4MTdhYSwgMHgzODAyLCAiTGVub3ZvIDMwMDAgQzIwMCIsIEFMQzg2MVZEX0xFTk9WTyksCisJU05EX1BDSV9RVUlSSygweDE3YWEsIDB4Mzg0ZSwgIkxlbm92byAzMDAwIE4yMDAiLCBBTEM4NjFWRF9MRU5PVk8pLAogCVNORF9QQ0lfUVVJUksoMHgxODQ5LCAweDA4NjIsICJBU1JvY2sgSzhORjZHLVZTVEEiLCBBTEM4NjFWRF82U1RfRElHKSwKIAl7fQogfTsKQEAgLTEzMTY4LDExICsxMzM4NywxOSBAQAogCWlmIChib2FyZF9jb25maWcgIT0gQUxDODYxVkRfQVVUTykKIAkJc2V0dXBfcHJlc2V0KHNwZWMsICZhbGM4NjF2ZF9wcmVzZXRzW2JvYXJkX2NvbmZpZ10pOwogCi0Jc3BlYy0+c3RyZWFtX25hbWVfYW5hbG9nID0gIkFMQzg2MVZEIEFuYWxvZyI7CisJaWYgKGNvZGVjLT52ZW5kb3JfaWQgPT0gMHgxMGVjMDY2MCkgeworCQlzcGVjLT5zdHJlYW1fbmFtZV9hbmFsb2cgPSAiQUxDNjYwLVZEIEFuYWxvZyI7CisJCXNwZWMtPnN0cmVhbV9uYW1lX2RpZ2l0YWwgPSAiQUxDNjYwLVZEIERpZ2l0YWwiOworCQkvKiBhbHdheXMgdHVybiBvbiBFQVBEICovCisJCXNwZWMtPmluaXRfdmVyYnNbc3BlYy0+bnVtX2luaXRfdmVyYnMrK10gPSBhbGM2NjB2ZF9lYXBkX3ZlcmJzOworCX0gZWxzZSB7CisJCXNwZWMtPnN0cmVhbV9uYW1lX2FuYWxvZyA9ICJBTEM4NjFWRCBBbmFsb2ciOworCQlzcGVjLT5zdHJlYW1fbmFtZV9kaWdpdGFsID0gIkFMQzg2MVZEIERpZ2l0YWwiOworCX0KKwogCXNwZWMtPnN0cmVhbV9hbmFsb2dfcGxheWJhY2sgPSAmYWxjODYxdmRfcGNtX2FuYWxvZ19wbGF5YmFjazsKIAlzcGVjLT5zdHJlYW1fYW5hbG9nX2NhcHR1cmUgPSAmYWxjODYxdmRfcGNtX2FuYWxvZ19jYXB0dXJlOwogCi0Jc3BlYy0+c3RyZWFtX25hbWVfZGlnaXRhbCA9ICJBTEM4NjFWRCBEaWdpdGFsIjsKIAlzcGVjLT5zdHJlYW1fZGlnaXRhbF9wbGF5YmFjayA9ICZhbGM4NjF2ZF9wY21fZGlnaXRhbF9wbGF5YmFjazsKIAlzcGVjLT5zdHJlYW1fZGlnaXRhbF9jYXB0dXJlID0gJmFsYzg2MXZkX3BjbV9kaWdpdGFsX2NhcHR1cmU7CiAKQEAgLTEzMjUxLDYgKzEzNDc4LDIzIEBACiAJfSwKIH07CiAKK3N0YXRpYyBzdHJ1Y3QgaGRhX2lucHV0X211eCBhbGM2NjNfY2FwdHVyZV9zb3VyY2UgPSB7CisJLm51bV9pdGVtcyA9IDMsCisJLml0ZW1zID0geworCQl7ICJNaWMiLCAweDAgfSwKKwkJeyAiRnJvbnQgTWljIiwgMHgxIH0sCisJCXsgIkxpbmUiLCAweDIgfSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBoZGFfaW5wdXRfbXV4IGFsYzY2M19tNTF2YV9jYXB0dXJlX3NvdXJjZSA9IHsKKwkubnVtX2l0ZW1zID0gMiwKKwkuaXRlbXMgPSB7CisJCXsgIkV4dC1NaWMiLCAweDAgfSwKKwkJeyAiRC1NaWMiLCAweDkgfSwKKwl9LAorfTsKKwogI2RlZmluZSBhbGM2NjJfbXV4X2VudW1faW5mbyBhbGNfbXV4X2VudW1faW5mbwogI2RlZmluZSBhbGM2NjJfbXV4X2VudW1fZ2V0IGFsY19tdXhfZW51bV9nZXQKICNkZWZpbmUgYWxjNjYyX211eF9lbnVtX3B1dCBhbGM4ODJfbXV4X2VudW1fcHV0CkBAIC0xMzQzMSw2ICsxMzY3NSw0NCBAQAogCXsgfSAvKiBlbmQgKi8KIH07CiAKK3N0YXRpYyBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBhbGM2NjNfbTUxdmFfbWl4ZXJbXSA9IHsKKwlIREFfQ09ERUNfVk9MVU1FKCJTcGVha2VyIFBsYXliYWNrIFZvbHVtZSIsIDB4MDIsIDB4MCwgSERBX09VVFBVVCksCisJSERBX0NPREVDX01VVEUoIlNwZWFrZXIgUGxheWJhY2sgU3dpdGNoIiwgMHgxNCwgMHgwLCBIREFfT1VUUFVUKSwKKwlIREFfQ09ERUNfTVVURSgiSGVhZHBob25lIFBsYXliYWNrIFN3aXRjaCIsIDB4MjEsIDB4MCwgSERBX09VVFBVVCksCisJSERBX0NPREVDX1ZPTFVNRSgiTWljIFBsYXliYWNrIFZvbHVtZSIsIDB4MGIsIDB4MCwgSERBX0lOUFVUKSwKKwlIREFfQ09ERUNfTVVURSgiTWljIFBsYXliYWNrIFN3aXRjaCIsIDB4MGIsIDB4MCwgSERBX0lOUFVUKSwKKwlIREFfQ09ERUNfTVVURSgiRE1pYyBQbGF5YmFjayBTd2l0Y2giLCAweDIzLCAweDksIEhEQV9JTlBVVCksCisJeyB9IC8qIGVuZCAqLworfTsKKworc3RhdGljIHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IGFsYzY2M19nNzF2X21peGVyW10gPSB7CisJSERBX0NPREVDX1ZPTFVNRSgiU3BlYWtlciBQbGF5YmFjayBWb2x1bWUiLCAweDAyLCAweDAsIEhEQV9PVVRQVVQpLAorCUhEQV9DT0RFQ19NVVRFKCJTcGVha2VyIFBsYXliYWNrIFN3aXRjaCIsIDB4MTQsIDB4MCwgSERBX09VVFBVVCksCisJSERBX0NPREVDX1ZPTFVNRSgiRnJvbnQgUGxheWJhY2sgVm9sdW1lIiwgMHgwMywgMHgwLCBIREFfT1VUUFVUKSwKKwlIREFfQ09ERUNfTVVURSgiRnJvbnQgUGxheWJhY2sgU3dpdGNoIiwgMHgxNSwgMHgwLCBIREFfT1VUUFVUKSwKKwlIREFfQ09ERUNfTVVURSgiSGVhZHBob25lIFBsYXliYWNrIFN3aXRjaCIsIDB4MjEsIDB4MCwgSERBX09VVFBVVCksCisKKwlIREFfQ09ERUNfVk9MVU1FKCJNaWMgUGxheWJhY2sgVm9sdW1lIiwgMHgwYiwgMHgwLCBIREFfSU5QVVQpLAorCUhEQV9DT0RFQ19NVVRFKCJNaWMgUGxheWJhY2sgU3dpdGNoIiwgMHgwYiwgMHgwLCBIREFfSU5QVVQpLAorCUhEQV9DT0RFQ19WT0xVTUUoImktTWljIFBsYXliYWNrIFZvbHVtZSIsIDB4MGIsIDB4MSwgSERBX0lOUFVUKSwKKwlIREFfQ09ERUNfTVVURSgiaS1NaWMgUGxheWJhY2sgU3dpdGNoIiwgMHgwYiwgMHgxLCBIREFfSU5QVVQpLAorCXsgfSAvKiBlbmQgKi8KK307CisKK3N0YXRpYyBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBhbGM2NjNfZzUwdl9taXhlcltdID0geworCUhEQV9DT0RFQ19WT0xVTUUoIlNwZWFrZXIgUGxheWJhY2sgVm9sdW1lIiwgMHgwMiwgMHgwLCBIREFfT1VUUFVUKSwKKwlIREFfQ09ERUNfTVVURSgiU3BlYWtlciBQbGF5YmFjayBTd2l0Y2giLCAweDE0LCAweDAsIEhEQV9PVVRQVVQpLAorCUhEQV9DT0RFQ19NVVRFKCJIZWFkcGhvbmUgUGxheWJhY2sgU3dpdGNoIiwgMHgyMSwgMHgwLCBIREFfT1VUUFVUKSwKKworCUhEQV9DT0RFQ19WT0xVTUUoIk1pYyBQbGF5YmFjayBWb2x1bWUiLCAweDBiLCAweDAsIEhEQV9JTlBVVCksCisJSERBX0NPREVDX01VVEUoIk1pYyBQbGF5YmFjayBTd2l0Y2giLCAweDBiLCAweDAsIEhEQV9JTlBVVCksCisJSERBX0NPREVDX1ZPTFVNRSgiaS1NaWMgUGxheWJhY2sgVm9sdW1lIiwgMHgwYiwgMHgxLCBIREFfSU5QVVQpLAorCUhEQV9DT0RFQ19NVVRFKCJpLU1pYyBQbGF5YmFjayBTd2l0Y2giLCAweDBiLCAweDEsIEhEQV9JTlBVVCksCisJSERBX0NPREVDX1ZPTFVNRSgiTGluZSBQbGF5YmFjayBWb2x1bWUiLCAweDBiLCAweDAyLCBIREFfSU5QVVQpLAorCUhEQV9DT0RFQ19NVVRFKCJMaW5lIFBsYXliYWNrIFN3aXRjaCIsIDB4MGIsIDB4MDIsIEhEQV9JTlBVVCksCisJeyB9IC8qIGVuZCAqLworfTsKKwogc3RhdGljIHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IGFsYzY2Ml9jaG1vZGVfbWl4ZXJbXSA9IHsKIAl7CiAJCS5pZmFjZSA9IFNORFJWX0NUTF9FTEVNX0lGQUNFX01JWEVSLApAQCAtMTM1MDEsNiArMTM3ODMsMTEgQEAKIAl7MHgyMywgQUNfVkVSQl9TRVRfQU1QX0dBSU5fTVVURSwgQU1QX0lOX1VOTVVURSgxKX0sCiAJezB4MjMsIEFDX1ZFUkJfU0VUX0FNUF9HQUlOX01VVEUsIEFNUF9JTl9VTk1VVEUoMil9LAogCXsweDIzLCBBQ19WRVJCX1NFVF9BTVBfR0FJTl9NVVRFLCBBTVBfSU5fVU5NVVRFKDQpfSwKKworCS8qIGFsd2F5cyB0cnVuIG9uIEVBUEQgKi8KKwl7MHgxNCwgQUNfVkVSQl9TRVRfRUFQRF9CVExFTkFCTEUsIDJ9LAorCXsweDE1LCBBQ19WRVJCX1NFVF9FQVBEX0JUTEVOQUJMRSwgMn0sCisKIAl7IH0KIH07CiAKQEAgLTEzNTcxLDYgKzEzODU4LDQzIEBACiAJeyB9CiB9OwogCitzdGF0aWMgc3RydWN0IGhkYV92ZXJiIGFsYzY2M19tNTF2YV9pbml0X3ZlcmJzW10gPSB7CisJezB4MjEsIEFDX1ZFUkJfU0VUX1BJTl9XSURHRVRfQ09OVFJPTCwgUElOX0hQfSwKKwl7MHgyMSwgQUNfVkVSQl9TRVRfQU1QX0dBSU5fTVVURSwgQU1QX09VVF9VTk1VVEV9LAorCXsweDIxLCBBQ19WRVJCX1NFVF9DT05ORUNUX1NFTCwgMHgwMH0sCS8qIEhlYWRwaG9uZSAqLworCisJezB4MjMsIEFDX1ZFUkJfU0VUX0FNUF9HQUlOX01VVEUsIEFNUF9JTl9VTk1VVEUoOSl9LAorCisJezB4MTgsIEFDX1ZFUkJfU0VUX1VOU09MSUNJVEVEX0VOQUJMRSwgQUNfVVNSU1BfRU4gfCBBTEM4ODBfTUlDX0VWRU5UfSwKKwl7MHgyMSwgQUNfVkVSQl9TRVRfVU5TT0xJQ0lURURfRU5BQkxFLCBBQ19VU1JTUF9FTiB8IEFMQzg4MF9IUF9FVkVOVH0sCisJe30KK307CisKK3N0YXRpYyBzdHJ1Y3QgaGRhX3ZlcmIgYWxjNjYzX2c3MXZfaW5pdF92ZXJic1tdID0geworCXsweDE1LCBBQ19WRVJCX1NFVF9QSU5fV0lER0VUX0NPTlRST0wsIFBJTl9IUH0sCisJLyogezB4MTUsIEFDX1ZFUkJfU0VUX0FNUF9HQUlOX01VVEUsIEFNUF9PVVRfVU5NVVRFfSwgKi8KKwkvKiB7MHgxNSwgQUNfVkVSQl9TRVRfQ09OTkVDVF9TRUwsIDB4MDF9LCAqLyAvKiBIZWFkcGhvbmUgKi8KKworCXsweDIxLCBBQ19WRVJCX1NFVF9QSU5fV0lER0VUX0NPTlRST0wsIFBJTl9IUH0sCisJezB4MjEsIEFDX1ZFUkJfU0VUX0FNUF9HQUlOX01VVEUsIEFNUF9PVVRfVU5NVVRFfSwKKwl7MHgyMSwgQUNfVkVSQl9TRVRfQ09OTkVDVF9TRUwsIDB4MDB9LAkvKiBIZWFkcGhvbmUgKi8KKworCXsweDE1LCBBQ19WRVJCX1NFVF9VTlNPTElDSVRFRF9FTkFCTEUsIEFDX1VTUlNQX0VOfEFMQzg4MF9GUk9OVF9FVkVOVH0sCisJezB4MTgsIEFDX1ZFUkJfU0VUX1VOU09MSUNJVEVEX0VOQUJMRSwgQUNfVVNSU1BfRU58QUxDODgwX01JQ19FVkVOVH0sCisJezB4MjEsIEFDX1ZFUkJfU0VUX1VOU09MSUNJVEVEX0VOQUJMRSwgQUNfVVNSU1BfRU58QUxDODgwX0hQX0VWRU5UfSwKKwl7fQorfTsKKworc3RhdGljIHN0cnVjdCBoZGFfdmVyYiBhbGM2NjNfZzUwdl9pbml0X3ZlcmJzW10gPSB7CisJezB4MjEsIEFDX1ZFUkJfU0VUX1BJTl9XSURHRVRfQ09OVFJPTCwgUElOX0hQfSwKKwl7MHgyMSwgQUNfVkVSQl9TRVRfQU1QX0dBSU5fTVVURSwgQU1QX09VVF9VTk1VVEV9LAorCXsweDIxLCBBQ19WRVJCX1NFVF9DT05ORUNUX1NFTCwgMHgwMH0sCS8qIEhlYWRwaG9uZSAqLworCisJezB4MTgsIEFDX1ZFUkJfU0VUX1VOU09MSUNJVEVEX0VOQUJMRSwgQUNfVVNSU1BfRU4gfCBBTEM4ODBfTUlDX0VWRU5UfSwKKwl7MHgyMSwgQUNfVkVSQl9TRVRfVU5TT0xJQ0lURURfRU5BQkxFLCBBQ19VU1JTUF9FTiB8IEFMQzg4MF9IUF9FVkVOVH0sCisJe30KK307CisKIC8qIGNhcHR1cmUgbWl4ZXIgZWxlbWVudHMgKi8KIHN0YXRpYyBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBhbGM2NjJfY2FwdHVyZV9taXhlcltdID0gewogCUhEQV9DT0RFQ19WT0xVTUUoIkNhcHR1cmUgVm9sdW1lIiwgMHgwOSwgMHgwLCBIREFfSU5QVVQpLApAQCAtMTM2OTIsNiArMTQwMTYsMTI1IEBACiAJYWxjNjYyX2VlZXBjX2VwMjBfYXV0b211dGUoY29kZWMpOwogfQogCitzdGF0aWMgdm9pZCBhbGM2NjNfbTUxdmFfc3BlYWtlcl9hdXRvbXV0ZShzdHJ1Y3QgaGRhX2NvZGVjICpjb2RlYykKK3sKKwl1bnNpZ25lZCBpbnQgcHJlc2VudDsKKwl1bnNpZ25lZCBjaGFyIGJpdHM7CisKKwlwcmVzZW50ID0gc25kX2hkYV9jb2RlY19yZWFkKGNvZGVjLCAweDIxLCAwLAorCQkJCSAgICAgQUNfVkVSQl9HRVRfUElOX1NFTlNFLCAwKQorCQkmIEFDX1BJTlNFTlNFX1BSRVNFTkNFOworCWJpdHMgPSBwcmVzZW50ID8gSERBX0FNUF9NVVRFIDogMDsKKwlzbmRfaGRhX2NvZGVjX2FtcF9zdGVyZW8oY29kZWMsIDB4MTQsIEhEQV9PVVRQVVQsIDAsCisJCQkJIEhEQV9BTVBfTVVURSwgYml0cyk7Cit9CisKK3N0YXRpYyB2b2lkIGFsYzY2M19tNTF2YV9taWNfYXV0b211dGUoc3RydWN0IGhkYV9jb2RlYyAqY29kZWMpCit7CisJdW5zaWduZWQgaW50IHByZXNlbnQ7CisKKwlwcmVzZW50ID0gc25kX2hkYV9jb2RlY19yZWFkKGNvZGVjLCAweDE4LCAwLAorCQkJCSAgICAgQUNfVkVSQl9HRVRfUElOX1NFTlNFLCAwKQorCQkmIEFDX1BJTlNFTlNFX1BSRVNFTkNFOworCXNuZF9oZGFfY29kZWNfd3JpdGVfY2FjaGUoY29kZWMsIDB4MjIsIDAsIEFDX1ZFUkJfU0VUX0FNUF9HQUlOX01VVEUsCisJCQkgICAgMHg3MDAwIHwgKDB4MDAgPDwgOCkgfCAocHJlc2VudCA/IDAgOiAweDgwKSk7CisJc25kX2hkYV9jb2RlY193cml0ZV9jYWNoZShjb2RlYywgMHgyMywgMCwgQUNfVkVSQl9TRVRfQU1QX0dBSU5fTVVURSwKKwkJCSAgICAweDcwMDAgfCAoMHgwMCA8PCA4KSB8IChwcmVzZW50ID8gMCA6IDB4ODApKTsKKwlzbmRfaGRhX2NvZGVjX3dyaXRlX2NhY2hlKGNvZGVjLCAweDIyLCAwLCBBQ19WRVJCX1NFVF9BTVBfR0FJTl9NVVRFLAorCQkJICAgIDB4NzAwMCB8ICgweDA5IDw8IDgpIHwgKHByZXNlbnQgPyAweDgwIDogMCkpOworCXNuZF9oZGFfY29kZWNfd3JpdGVfY2FjaGUoY29kZWMsIDB4MjMsIDAsIEFDX1ZFUkJfU0VUX0FNUF9HQUlOX01VVEUsCisJCQkgICAgMHg3MDAwIHwgKDB4MDkgPDwgOCkgfCAocHJlc2VudCA/IDB4ODAgOiAwKSk7Cit9CisKK3N0YXRpYyB2b2lkIGFsYzY2M19tNTF2YV91bnNvbF9ldmVudChzdHJ1Y3QgaGRhX2NvZGVjICpjb2RlYywKKwkJCQkJICAgdW5zaWduZWQgaW50IHJlcykKK3sKKwlzd2l0Y2ggKHJlcyA+PiAyNikgeworCWNhc2UgQUxDODgwX0hQX0VWRU5UOgorCQlhbGM2NjNfbTUxdmFfc3BlYWtlcl9hdXRvbXV0ZShjb2RlYyk7CisJCWJyZWFrOworCWNhc2UgQUxDODgwX01JQ19FVkVOVDoKKwkJYWxjNjYzX201MXZhX21pY19hdXRvbXV0ZShjb2RlYyk7CisJCWJyZWFrOworCX0KK30KKworc3RhdGljIHZvaWQgYWxjNjYzX201MXZhX2luaXRob29rKHN0cnVjdCBoZGFfY29kZWMgKmNvZGVjKQoreworCWFsYzY2M19tNTF2YV9zcGVha2VyX2F1dG9tdXRlKGNvZGVjKTsKKwlhbGM2NjNfbTUxdmFfbWljX2F1dG9tdXRlKGNvZGVjKTsKK30KKworc3RhdGljIHZvaWQgYWxjNjYzX2c3MXZfaHBfYXV0b211dGUoc3RydWN0IGhkYV9jb2RlYyAqY29kZWMpCit7CisJdW5zaWduZWQgaW50IHByZXNlbnQ7CisJdW5zaWduZWQgY2hhciBiaXRzOworCisJcHJlc2VudCA9IHNuZF9oZGFfY29kZWNfcmVhZChjb2RlYywgMHgyMSwgMCwKKwkJCQkgICAgIEFDX1ZFUkJfR0VUX1BJTl9TRU5TRSwgMCkKKwkJJiBBQ19QSU5TRU5TRV9QUkVTRU5DRTsKKwliaXRzID0gcHJlc2VudCA/IEhEQV9BTVBfTVVURSA6IDA7CisJc25kX2hkYV9jb2RlY19hbXBfc3RlcmVvKGNvZGVjLCAweDE1LCBIREFfT1VUUFVULCAwLAorCQkJCSBIREFfQU1QX01VVEUsIGJpdHMpOworCXNuZF9oZGFfY29kZWNfYW1wX3N0ZXJlbyhjb2RlYywgMHgxNCwgSERBX09VVFBVVCwgMCwKKwkJCQkgSERBX0FNUF9NVVRFLCBiaXRzKTsKK30KKworc3RhdGljIHZvaWQgYWxjNjYzX2c3MXZfZnJvbnRfYXV0b211dGUoc3RydWN0IGhkYV9jb2RlYyAqY29kZWMpCit7CisJdW5zaWduZWQgaW50IHByZXNlbnQ7CisJdW5zaWduZWQgY2hhciBiaXRzOworCisJcHJlc2VudCA9IHNuZF9oZGFfY29kZWNfcmVhZChjb2RlYywgMHgxNSwgMCwKKwkJCQkgICAgIEFDX1ZFUkJfR0VUX1BJTl9TRU5TRSwgMCkKKwkJJiBBQ19QSU5TRU5TRV9QUkVTRU5DRTsKKwliaXRzID0gcHJlc2VudCA/IEhEQV9BTVBfTVVURSA6IDA7CisJc25kX2hkYV9jb2RlY19hbXBfc3RlcmVvKGNvZGVjLCAweDE0LCBIREFfT1VUUFVULCAwLAorCQkJCSBIREFfQU1QX01VVEUsIGJpdHMpOworfQorCitzdGF0aWMgdm9pZCBhbGM2NjNfZzcxdl91bnNvbF9ldmVudChzdHJ1Y3QgaGRhX2NvZGVjICpjb2RlYywKKwkJCQkJICAgdW5zaWduZWQgaW50IHJlcykKK3sKKwlzd2l0Y2ggKHJlcyA+PiAyNikgeworCWNhc2UgQUxDODgwX0hQX0VWRU5UOgorCQlhbGM2NjNfZzcxdl9ocF9hdXRvbXV0ZShjb2RlYyk7CisJCWJyZWFrOworCWNhc2UgQUxDODgwX0ZST05UX0VWRU5UOgorCQlhbGM2NjNfZzcxdl9mcm9udF9hdXRvbXV0ZShjb2RlYyk7CisJCWJyZWFrOworCWNhc2UgQUxDODgwX01JQ19FVkVOVDoKKwkJYWxjNjYyX2VlZXBjX21pY19hdXRvbXV0ZShjb2RlYyk7CisJCWJyZWFrOworCX0KK30KKworc3RhdGljIHZvaWQgYWxjNjYzX2c3MXZfaW5pdGhvb2soc3RydWN0IGhkYV9jb2RlYyAqY29kZWMpCit7CisJYWxjNjYzX2c3MXZfZnJvbnRfYXV0b211dGUoY29kZWMpOworCWFsYzY2M19nNzF2X2hwX2F1dG9tdXRlKGNvZGVjKTsKKwlhbGM2NjJfZWVlcGNfbWljX2F1dG9tdXRlKGNvZGVjKTsKK30KKworc3RhdGljIHZvaWQgYWxjNjYzX2c1MHZfdW5zb2xfZXZlbnQoc3RydWN0IGhkYV9jb2RlYyAqY29kZWMsCisJCQkJCSAgIHVuc2lnbmVkIGludCByZXMpCit7CisJc3dpdGNoIChyZXMgPj4gMjYpIHsKKwljYXNlIEFMQzg4MF9IUF9FVkVOVDoKKwkJYWxjNjYzX201MXZhX3NwZWFrZXJfYXV0b211dGUoY29kZWMpOworCQlicmVhazsKKwljYXNlIEFMQzg4MF9NSUNfRVZFTlQ6CisJCWFsYzY2Ml9lZWVwY19taWNfYXV0b211dGUoY29kZWMpOworCQlicmVhazsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIGFsYzY2M19nNTB2X2luaXRob29rKHN0cnVjdCBoZGFfY29kZWMgKmNvZGVjKQoreworCWFsYzY2M19tNTF2YV9zcGVha2VyX2F1dG9tdXRlKGNvZGVjKTsKKwlhbGM2NjJfZWVlcGNfbWljX2F1dG9tdXRlKGNvZGVjKTsKK30KKwogI2lmZGVmIENPTkZJR19TTkRfSERBX1BPV0VSX1NBVkUKICNkZWZpbmUgYWxjNjYyX2xvb3BiYWNrcwlhbGM4ODBfbG9vcGJhY2tzCiAjZW5kaWYKQEAgLTEzNzE0LDE0ICsxNDE1NywyNCBAQAogCVtBTEM2NjJfTEVOT1ZPXzEwMUVdCT0gImxlbm92by0xMDFlIiwKIAlbQUxDNjYyX0FTVVNfRUVFUENfUDcwMV0gPSAiZWVlcGMtcDcwMSIsCiAJW0FMQzY2Ml9BU1VTX0VFRVBDX0VQMjBdID0gImVlZXBjLWVwMjAiLAorCVtBTEM2NjNfQVNVU19NNTFWQV0gPSAibTUxdmEiLAorCVtBTEM2NjNfQVNVU19HNzFWXSA9ICJnNzF2IiwKKwlbQUxDNjYzX0FTVVNfSDEzXSA9ICJoMTMiLAorCVtBTEM2NjNfQVNVU19HNTBWXSA9ICJnNTB2IiwKIAlbQUxDNjYyX0FVVE9dCQk9ICJhdXRvIiwKIH07CiAKIHN0YXRpYyBzdHJ1Y3Qgc25kX3BjaV9xdWlyayBhbGM2NjJfY2ZnX3RibFtdID0geworCVNORF9QQ0lfUVVJUksoMHgxMDQzLCAweDExYzMsICJBU1VTIEc3MVYiLCBBTEM2NjNfQVNVU19HNzFWKSwKKwlTTkRfUENJX1FVSVJLKDB4MTA0MywgMHgxODc4LCAiQVNVUyBNNTFWQSIsIEFMQzY2M19BU1VTX001MVZBKSwKKwlTTkRfUENJX1FVSVJLKDB4MTA0MywgMHgxOWEzLCAiQVNVUyBNNTFWQSIsIEFMQzY2M19BU1VTX0c1MFYpLAogCVNORF9QQ0lfUVVJUksoMHgxMDQzLCAweDgyOTAsICJBU1VTIFA1R0MtTVgiLCBBTEM2NjJfM1NUXzZjaF9ESUcpLAogCVNORF9QQ0lfUVVJUksoMHgxMDQzLCAweDgyYTEsICJBU1VTIEVlZXBjIiwgQUxDNjYyX0FTVVNfRUVFUENfUDcwMSksCiAJU05EX1BDSV9RVUlSSygweDEwNDMsIDB4ODJkMSwgIkFTVVMgRWVlcGMgRVAyMCIsIEFMQzY2Ml9BU1VTX0VFRVBDX0VQMjApLAogCVNORF9QQ0lfUVVJUksoMHgxN2FhLCAweDEwMWUsICJMZW5vdm8iLCBBTEM2NjJfTEVOT1ZPXzEwMUUpLAorCVNORF9QQ0lfUVVJUksoMHgxODU0LCAweDIwMDAsICJBU1VTIEgxMy0yMDAwIiwgQUxDNjYzX0FTVVNfSDEzKSwKKwlTTkRfUENJX1FVSVJLKDB4MTg1NCwgMHgyMDAxLCAiQVNVUyBIMTMtMjAwMSIsIEFMQzY2M19BU1VTX0gxMyksCisJU05EX1BDSV9RVUlSSygweDE4NTQsIDB4MjAwMiwgIkFTVVMgSDEzLTIwMDIiLCBBTEM2NjNfQVNVU19IMTMpLAogCXt9CiB9OwogCkBAIC0xMzgwOSw3ICsxNDI2Miw1MyBAQAogCQkudW5zb2xfZXZlbnQgPSBhbGM2NjJfZWVlcGNfZXAyMF91bnNvbF9ldmVudCwKIAkJLmluaXRfaG9vayA9IGFsYzY2Ml9lZWVwY19lcDIwX2luaXRob29rLAogCX0sCi0KKwlbQUxDNjYzX0FTVVNfTTUxVkFdID0geworCQkubWl4ZXJzID0geyBhbGM2NjNfbTUxdmFfbWl4ZXIsIGFsYzY2Ml9jYXB0dXJlX21peGVyfSwKKwkJLmluaXRfdmVyYnMgPSB7IGFsYzY2Ml9pbml0X3ZlcmJzLCBhbGM2NjNfbTUxdmFfaW5pdF92ZXJicyB9LAorCQkubnVtX2RhY3MgPSBBUlJBWV9TSVpFKGFsYzY2Ml9kYWNfbmlkcyksCisJCS5kYWNfbmlkcyA9IGFsYzY2Ml9kYWNfbmlkcywKKwkJLmRpZ19vdXRfbmlkID0gQUxDNjYyX0RJR09VVF9OSUQsCisJCS5udW1fY2hhbm5lbF9tb2RlID0gQVJSQVlfU0laRShhbGM2NjJfM1NUXzJjaF9tb2RlcyksCisJCS5jaGFubmVsX21vZGUgPSBhbGM2NjJfM1NUXzJjaF9tb2RlcywKKwkJLmlucHV0X211eCA9ICZhbGM2NjNfbTUxdmFfY2FwdHVyZV9zb3VyY2UsCisJCS51bnNvbF9ldmVudCA9IGFsYzY2M19tNTF2YV91bnNvbF9ldmVudCwKKwkJLmluaXRfaG9vayA9IGFsYzY2M19tNTF2YV9pbml0aG9vaywKKwl9LAorCVtBTEM2NjNfQVNVU19HNzFWXSA9IHsKKwkJLm1peGVycyA9IHsgYWxjNjYzX2c3MXZfbWl4ZXIsIGFsYzY2Ml9jYXB0dXJlX21peGVyfSwKKwkJLmluaXRfdmVyYnMgPSB7IGFsYzY2Ml9pbml0X3ZlcmJzLCBhbGM2NjNfZzcxdl9pbml0X3ZlcmJzIH0sCisJCS5udW1fZGFjcyA9IEFSUkFZX1NJWkUoYWxjNjYyX2RhY19uaWRzKSwKKwkJLmRhY19uaWRzID0gYWxjNjYyX2RhY19uaWRzLAorCQkuZGlnX291dF9uaWQgPSBBTEM2NjJfRElHT1VUX05JRCwKKwkJLm51bV9jaGFubmVsX21vZGUgPSBBUlJBWV9TSVpFKGFsYzY2Ml8zU1RfMmNoX21vZGVzKSwKKwkJLmNoYW5uZWxfbW9kZSA9IGFsYzY2Ml8zU1RfMmNoX21vZGVzLAorCQkuaW5wdXRfbXV4ID0gJmFsYzY2Ml9lZWVwY19jYXB0dXJlX3NvdXJjZSwKKwkJLnVuc29sX2V2ZW50ID0gYWxjNjYzX2c3MXZfdW5zb2xfZXZlbnQsCisJCS5pbml0X2hvb2sgPSBhbGM2NjNfZzcxdl9pbml0aG9vaywKKwl9LAorCVtBTEM2NjNfQVNVU19IMTNdID0geworCQkubWl4ZXJzID0geyBhbGM2NjNfbTUxdmFfbWl4ZXIsIGFsYzY2Ml9jYXB0dXJlX21peGVyfSwKKwkJLmluaXRfdmVyYnMgPSB7IGFsYzY2Ml9pbml0X3ZlcmJzLCBhbGM2NjNfbTUxdmFfaW5pdF92ZXJicyB9LAorCQkubnVtX2RhY3MgPSBBUlJBWV9TSVpFKGFsYzY2Ml9kYWNfbmlkcyksCisJCS5kYWNfbmlkcyA9IGFsYzY2Ml9kYWNfbmlkcywKKwkJLm51bV9jaGFubmVsX21vZGUgPSBBUlJBWV9TSVpFKGFsYzY2Ml8zU1RfMmNoX21vZGVzKSwKKwkJLmNoYW5uZWxfbW9kZSA9IGFsYzY2Ml8zU1RfMmNoX21vZGVzLAorCQkuaW5wdXRfbXV4ID0gJmFsYzY2M19tNTF2YV9jYXB0dXJlX3NvdXJjZSwKKwkJLnVuc29sX2V2ZW50ID0gYWxjNjYzX201MXZhX3Vuc29sX2V2ZW50LAorCQkuaW5pdF9ob29rID0gYWxjNjYzX201MXZhX2luaXRob29rLAorCX0sCisJW0FMQzY2M19BU1VTX0c1MFZdID0geworCQkubWl4ZXJzID0geyBhbGM2NjNfZzUwdl9taXhlciwgYWxjNjYyX2NhcHR1cmVfbWl4ZXJ9LAorCQkuaW5pdF92ZXJicyA9IHsgYWxjNjYyX2luaXRfdmVyYnMsIGFsYzY2M19nNTB2X2luaXRfdmVyYnMgfSwKKwkJLm51bV9kYWNzID0gQVJSQVlfU0laRShhbGM2NjJfZGFjX25pZHMpLAorCQkuZGFjX25pZHMgPSBhbGM2NjJfZGFjX25pZHMsCisJCS5kaWdfb3V0X25pZCA9IEFMQzY2Ml9ESUdPVVRfTklELAorCQkubnVtX2NoYW5uZWxfbW9kZSA9IEFSUkFZX1NJWkUoYWxjNjYyXzNTVF82Y2hfbW9kZXMpLAorCQkuY2hhbm5lbF9tb2RlID0gYWxjNjYyXzNTVF82Y2hfbW9kZXMsCisJCS5pbnB1dF9tdXggPSAmYWxjNjYzX2NhcHR1cmVfc291cmNlLAorCQkudW5zb2xfZXZlbnQgPSBhbGM2NjNfZzUwdl91bnNvbF9ldmVudCwKKwkJLmluaXRfaG9vayA9IGFsYzY2M19nNTB2X2luaXRob29rLAorCX0sCiB9OwogCiAKQEAgLTE0MDgyLDYgKzE0NTgxLDggQEAKIAogCWNvZGVjLT5zcGVjID0gc3BlYzsKIAorCWFsY19maXhfcGxsX2luaXQoY29kZWMsIDB4MjAsIDB4MDQsIDE1KTsKKwogCWJvYXJkX2NvbmZpZyA9IHNuZF9oZGFfY2hlY2tfYm9hcmRfY29uZmlnKGNvZGVjLCBBTEM2NjJfTU9ERUxfTEFTVCwKIAkJCQkJCSAgYWxjNjYyX21vZGVscywKIAkJCSAgCSAgICAgICAgICAgICAgICAgIGFsYzY2Ml9jZmdfdGJsKTsKQEAgLTE0MTA4LDExICsxNDYwOSwxNyBAQAogCWlmIChib2FyZF9jb25maWcgIT0gQUxDNjYyX0FVVE8pCiAJCXNldHVwX3ByZXNldChzcGVjLCAmYWxjNjYyX3ByZXNldHNbYm9hcmRfY29uZmlnXSk7CiAKLQlzcGVjLT5zdHJlYW1fbmFtZV9hbmFsb2cgPSAiQUxDNjYyIEFuYWxvZyI7CisJaWYgKGNvZGVjLT52ZW5kb3JfaWQgPT0gMHgxMGVjMDY2MykgeworCQlzcGVjLT5zdHJlYW1fbmFtZV9hbmFsb2cgPSAiQUxDNjYzIEFuYWxvZyI7CisJCXNwZWMtPnN0cmVhbV9uYW1lX2RpZ2l0YWwgPSAiQUxDNjYzIERpZ2l0YWwiOworCX0gZWxzZSB7CisJCXNwZWMtPnN0cmVhbV9uYW1lX2FuYWxvZyA9ICJBTEM2NjIgQW5hbG9nIjsKKwkJc3BlYy0+c3RyZWFtX25hbWVfZGlnaXRhbCA9ICJBTEM2NjIgRGlnaXRhbCI7CisJfQorCiAJc3BlYy0+c3RyZWFtX2FuYWxvZ19wbGF5YmFjayA9ICZhbGM2NjJfcGNtX2FuYWxvZ19wbGF5YmFjazsKIAlzcGVjLT5zdHJlYW1fYW5hbG9nX2NhcHR1cmUgPSAmYWxjNjYyX3BjbV9hbmFsb2dfY2FwdHVyZTsKIAotCXNwZWMtPnN0cmVhbV9uYW1lX2RpZ2l0YWwgPSAiQUxDNjYyIERpZ2l0YWwiOwogCXNwZWMtPnN0cmVhbV9kaWdpdGFsX3BsYXliYWNrID0gJmFsYzY2Ml9wY21fZGlnaXRhbF9wbGF5YmFjazsKIAlzcGVjLT5zdHJlYW1fZGlnaXRhbF9jYXB0dXJlID0gJmFsYzY2Ml9wY21fZGlnaXRhbF9jYXB0dXJlOwogCkBAIC0xNDE1MSw2ICsxNDY1OCw3IEBACiAJICAucGF0Y2ggPSBwYXRjaF9hbGM4ODMgfSwKIAl7IC5pZCA9IDB4MTBlYzA2NjIsIC5yZXYgPSAweDEwMDEwMSwgLm5hbWUgPSAiQUxDNjYyIHJldjEiLAogCSAgLnBhdGNoID0gcGF0Y2hfYWxjNjYyIH0sCisJeyAuaWQgPSAweDEwZWMwNjYzLCAubmFtZSA9ICJBTEM2NjMiLCAucGF0Y2ggPSBwYXRjaF9hbGM2NjIgfSwKIAl7IC5pZCA9IDB4MTBlYzA4ODAsIC5uYW1lID0gIkFMQzg4MCIsIC5wYXRjaCA9IHBhdGNoX2FsYzg4MCB9LAogCXsgLmlkID0gMHgxMGVjMDg4MiwgLm5hbWUgPSAiQUxDODgyIiwgLnBhdGNoID0gcGF0Y2hfYWxjODgyIH0sCiAJeyAuaWQgPSAweDEwZWMwODgzLCAubmFtZSA9ICJBTEM4ODMiLCAucGF0Y2ggPSBwYXRjaF9hbGM4ODMgfSwKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9oZGEvcGF0Y2hfc2lnbWF0ZWwuYyBiL3NvdW5kL3BjaS9oZGEvcGF0Y2hfc2lnbWF0ZWwuYwppbmRleCBhNGY0NGEwLi4wOGNiNzdmIDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvaGRhL3BhdGNoX3NpZ21hdGVsLmMKKysrIGIvc291bmQvcGNpL2hkYS9wYXRjaF9zaWdtYXRlbC5jCkBAIC02MzYsMjEgKzYzNiwyOCBAQAogCXsgMHgwZiwgQUNfVkVSQl9TRVRfQU1QX0dBSU5fTVVURSwgQU1QX0lOX1VOTVVURSgwKX0sCiB9OwogCisjZGVmaW5lIEhEX0RJU0FCTEVfUE9SVEYgMwogc3RhdGljIHN0cnVjdCBoZGFfdmVyYiBzdGFjOTJoZDcxYnh4X2FuYWxvZ19jb3JlX2luaXRbXSA9IHsKKwkvKiBzdGFydCBvZiBjb25maWcgIzEgKi8KKworCS8qIGNvbm5lY3QgcG9ydCAwZiB0byBhdWRpbyBtaXhlciAqLworCXsgMHgwZiwgQUNfVkVSQl9TRVRfQ09OTkVDVF9TRUwsIDB4Mn0sCisJeyAweDBmLCBBQ19WRVJCX1NFVF9QSU5fV0lER0VUX0NPTlRST0wsIFBJTl9PVVR9LCAvKiBTcGVha2VyICovCisJLyogdW5tdXRlIHJpZ2h0IGFuZCBsZWZ0IGNoYW5uZWxzIGZvciBub2RlIDB4MGYgKi8KKwl7IDB4MGYsIEFDX1ZFUkJfU0VUX0FNUF9HQUlOX01VVEUsIEFNUF9JTl9VTk1VVEUoMCl9LAorCS8qIHN0YXJ0IG9mIGNvbmZpZyAjMiAqLworCiAJLyogc2V0IG1hc3RlciB2b2x1bWUgYW5kIGRpcmVjdCBjb250cm9sICovCiAJeyAweDI4LCBBQ19WRVJCX1NFVF9WT0xVTUVfS05PQl9DT05UUk9MLCAweGZmfSwKIAkvKiBjb25uZWN0IGhlYWRwaG9uZSBqYWNrIHRvIGRhYzEgKi8KIAl7IDB4MGEsIEFDX1ZFUkJfU0VUX0NPTk5FQ1RfU0VMLCAweDAxfSwKLQkvKiBjb25uZWN0IHBvcnRzIDBkIGFuZCAwZiB0byBhdWRpbyBtaXhlciAqLworCS8qIGNvbm5lY3QgcG9ydCAwZCB0byBhdWRpbyBtaXhlciAqLwogCXsgMHgwZCwgQUNfVkVSQl9TRVRfQ09OTkVDVF9TRUwsIDB4Mn0sCi0JeyAweDBmLCBBQ19WRVJCX1NFVF9DT05ORUNUX1NFTCwgMHgyfSwKLQl7IDB4MGYsIEFDX1ZFUkJfU0VUX1BJTl9XSURHRVRfQ09OVFJPTCwgUElOX09VVH0sIC8qIFNwZWFrZXIgKi8KIAkvKiB1bm11dGUgZGFjMCBpbnB1dCBpbiBhdWRpbyBtaXhlciAqLwogCXsgMHgxNywgQUNfVkVSQl9TRVRfQU1QX0dBSU5fTVVURSwgMHg3MDFmfSwKLQkvKiB1bm11dGUgcmlnaHQgYW5kIGxlZnQgY2hhbm5lbHMgZm9yIG5vZGVzIDB4MGEsIDB4ZCwgMHgwZiAqLworCS8qIHVubXV0ZSByaWdodCBhbmQgbGVmdCBjaGFubmVscyBmb3Igbm9kZXMgMHgwYSwgMHhkICovCiAJeyAweDBhLCBBQ19WRVJCX1NFVF9BTVBfR0FJTl9NVVRFLCBBTVBfSU5fVU5NVVRFKDApfSwKIAl7IDB4MGQsIEFDX1ZFUkJfU0VUX0FNUF9HQUlOX01VVEUsIEFNUF9JTl9VTk1VVEUoMCl9LAotCXsgMHgwZiwgQUNfVkVSQl9TRVRfQU1QX0dBSU5fTVVURSwgQU1QX0lOX1VOTVVURSgwKX0sCiAJe30KIH07CiAKQEAgLTgxOCw2ICs4MjUsOSBAQAogCUhEQV9DT0RFQ19NVVRFX0lEWCgiQ2FwdHVyZSBTd2l0Y2giLCAweDEsIDB4MWQsIDB4MCwgSERBX09VVFBVVCksCiAJSERBX0NPREVDX1ZPTFVNRV9JRFgoIkNhcHR1cmUgTXV4IFZvbHVtZSIsIDB4MSwgMHgxYiwgMHgwLCBIREFfT1VUUFVUKSwKIAorCUhEQV9DT0RFQ19WT0xVTUUoIlBDIEJlZXAgVm9sdW1lIiwgMHgxNywgMHgyLCBIREFfSU5QVVQpLAorCUhEQV9DT0RFQ19NVVRFKCJQQyBCZWVwIFN3aXRjaCIsIDB4MTcsIDB4MiwgSERBX0lOUFVUKSwKKwogCUhEQV9DT0RFQ19NVVRFKCJBbmFsb2cgTG9vcGJhY2sgMSIsIDB4MTcsIDB4MywgSERBX0lOUFVUKSwKIAlIREFfQ09ERUNfTVVURSgiQW5hbG9nIExvb3BiYWNrIDIiLCAweDE3LCAweDQsIEhEQV9JTlBVVCksCiAJeyB9IC8qIGVuZCAqLwpAQCAtMTMxNywxMyArMTMyNywxMyBAQAogCTB4OTBhMDAwZjAsIDB4MDE0NTIwNTAsCiB9OwogCi1zdGF0aWMgdW5zaWduZWQgaW50IGRlbGxfbTRfMV9waW5fY29uZmlnc1sxM10gPSB7CitzdGF0aWMgdW5zaWduZWQgaW50IGRlbGxfbTRfMV9waW5fY29uZmlnc1sxMF0gPSB7CiAJMHgwNDIxMTAxZiwgMHgwNGExMTIyMSwgMHg0MGYwMDBmMCwgMHg5MDE3MDExMCwKIAkweDIzYTE5MDJlLCAweDIzMDE0MjUwLCAweDQwZjAwMGYwLCAweDkwYTAwMGYwLAogCTB4NDBmMDAwZjAsIDB4NGYwMDAwZjAsCiB9OwogCi1zdGF0aWMgdW5zaWduZWQgaW50IGRlbGxfbTRfMl9waW5fY29uZmlnc1sxM10gPSB7CitzdGF0aWMgdW5zaWduZWQgaW50IGRlbGxfbTRfMl9waW5fY29uZmlnc1sxMF0gPSB7CiAJMHgwNDIxMTAxZiwgMHgwNGExMTIyMSwgMHg5MGE3MDMzMCwgMHg5MDE3MDExMCwKIAkweDIzYTE5MDJlLCAweDIzMDE0MjUwLCAweDQwZjAwMGYwLCAweDQwZjAwMGYwLAogCTB4NDBmMDAwZjAsIDB4MDQ0NDEzYjAsCkBAIC0xNzU0LDEyICsxNzY0LDggQEAKIAkJICAgICAgInVua25vd24gRGVsbCIsIFNUQUNfOTIwNV9ERUxMX000MiksCiAJU05EX1BDSV9RVUlSSyhQQ0lfVkVORE9SX0lEX0RFTEwsIDB4MDFmOCwKIAkJICAgICAgIkRlbGwgUHJlY2lzaW9uIiwgU1RBQ185MjA1X0RFTExfTTQzKSwKLQlTTkRfUENJX1FVSVJLKFBDSV9WRU5ET1JfSURfREVMTCwgMHgwMjFjLAotCQkJICAiRGVsbCBQcmVjaXNpb24iLCBTVEFDXzkyMDVfREVMTF9NNDMpLAogCVNORF9QQ0lfUVVJUksoUENJX1ZFTkRPUl9JRF9ERUxMLCAweDAxZjksCiAJCSAgICAgICJEZWxsIFByZWNpc2lvbiIsIFNUQUNfOTIwNV9ERUxMX000MyksCi0JU05EX1BDSV9RVUlSSyhQQ0lfVkVORE9SX0lEX0RFTEwsIDB4MDIxYiwKLQkJICAgICAgIkRlbGwgUHJlY2lzaW9uIiwgU1RBQ185MjA1X0RFTExfTTQzKSwKIAlTTkRfUENJX1FVSVJLKFBDSV9WRU5ET1JfSURfREVMTCwgMHgwMWZhLAogCQkgICAgICAiRGVsbCBQcmVjaXNpb24iLCBTVEFDXzkyMDVfREVMTF9NNDMpLAogCVNORF9QQ0lfUVVJUksoUENJX1ZFTkRPUl9JRF9ERUxMLCAweDAxZmMsCkBAIC0xNzcwLDE4ICsxNzc2LDE0IEBACiAJCSAgICAgICJEZWxsIFByZWNpc2lvbiIsIFNUQUNfOTIwNV9ERUxMX000MyksCiAJU05EX1BDSV9RVUlSSyhQQ0lfVkVORE9SX0lEX0RFTEwsIDB4MDFmZiwKIAkJICAgICAgIkRlbGwgUHJlY2lzaW9uIE00MzAwIiwgU1RBQ185MjA1X0RFTExfTTQzKSwKLQlTTkRfUENJX1FVSVJLKFBDSV9WRU5ET1JfSURfREVMTCwgMHgwMjA2LAotCQkgICAgICAiRGVsbCBQcmVjaXNpb24iLCBTVEFDXzkyMDVfREVMTF9NNDMpLAotCVNORF9QQ0lfUVVJUksoUENJX1ZFTkRPUl9JRF9ERUxMLCAweDAxZjEsCi0JCSAgICAgICJEZWxsIEluc3Bpcm9uIiwgU1RBQ185MjA1X0RFTExfTTQ0KSwKLQlTTkRfUENJX1FVSVJLKFBDSV9WRU5ET1JfSURfREVMTCwgMHgwMWYyLAotCQkgICAgICAiRGVsbCBJbnNwaXJvbiIsIFNUQUNfOTIwNV9ERUxMX000NCksCi0JU05EX1BDSV9RVUlSSyhQQ0lfVkVORE9SX0lEX0RFTEwsIDB4MDFmYywKLQkJICAgICAgIkRlbGwgSW5zcGlyb24iLCBTVEFDXzkyMDVfREVMTF9NNDQpLAotCVNORF9QQ0lfUVVJUksoUENJX1ZFTkRPUl9JRF9ERUxMLCAweDAxZmQsCi0JCSAgICAgICJEZWxsIEluc3Bpcm9uIiwgU1RBQ185MjA1X0RFTExfTTQ0KSwKIAlTTkRfUENJX1FVSVJLKFBDSV9WRU5ET1JfSURfREVMTCwgMHgwMjA0LAogCQkgICAgICAidW5rbm93biBEZWxsIiwgU1RBQ185MjA1X0RFTExfTTQyKSwKKwlTTkRfUENJX1FVSVJLKFBDSV9WRU5ET1JfSURfREVMTCwgMHgwMjA2LAorCQkgICAgICAiRGVsbCBQcmVjaXNpb24iLCBTVEFDXzkyMDVfREVMTF9NNDMpLAorCVNORF9QQ0lfUVVJUksoUENJX1ZFTkRPUl9JRF9ERUxMLCAweDAyMWIsCisJCSAgICAgICJEZWxsIFByZWNpc2lvbiIsIFNUQUNfOTIwNV9ERUxMX000MyksCisJU05EX1BDSV9RVUlSSyhQQ0lfVkVORE9SX0lEX0RFTEwsIDB4MDIxYywKKwkJICAgICAgIkRlbGwgUHJlY2lzaW9uIiwgU1RBQ185MjA1X0RFTExfTTQzKSwKIAlTTkRfUENJX1FVSVJLKFBDSV9WRU5ET1JfSURfREVMTCwgMHgwMjFmLAogCQkgICAgICAiRGVsbCBJbnNwaXJvbiIsIFNUQUNfOTIwNV9ERUxMX000NCksCiAJU05EX1BDSV9RVUlSSyhQQ0lfVkVORE9SX0lEX0RFTEwsIDB4MDIyOCwKQEAgLTMxMDMsMTMgKzMxMDUsMTYgQEAKIAkJCQkJMCwgQUNfVkVSQl9HRVRfUElOX1dJREdFVF9DT05UUk9MLCAwKTsKIAkJaW50IGRlZl9jb25mID0gc25kX2hkYV9jb2RlY19yZWFkKGNvZGVjLCBzcGVjLT5wd3Jfbmlkc1tpXSwKIAkJCQkJMCwgQUNfVkVSQl9HRVRfQ09ORklHX0RFRkFVTFQsIDApOworCQlkZWZfY29uZiA9IGdldF9kZWZjZmdfY29ubmVjdChkZWZfY29uZik7CiAJCS8qIG91dHB1dHMgYXJlIG9ubHkgcG9ydHMgY2FwYWJsZSBvZiBwb3dlciBtYW5hZ2VtZW50CiAJCSAqIGFueSBhdHRlbXB0cyBvbiBwb3dlcmluZyBkb3duIGEgaW5wdXQgcG9ydCBjYXVzZSB0aGUKIAkJICogcmVmZXJlbmNlZCBWUkVGIHRvIGFjdCBxdWlya3kuCiAJCSAqLwogCQlpZiAocGluY3RsICYgQUNfUElOQ1RMX0lOX0VOKQogCQkJY29udGludWU7Ci0JCWlmIChnZXRfZGVmY2ZnX2Nvbm5lY3QoZGVmX2NvbmYpICE9IEFDX0pBQ0tfUE9SVF9GSVhFRCkKKwkJLyogc2tpcCBhbnkgcG9ydHMgdGhhdCBkb24ndCBoYXZlIGphY2tzIHNpbmNlIHByZXNlbmNlCisgCQkgKiBkZXRlY3Rpb24gaXMgdXNlbGVzcyAqLworCQlpZiAoZGVmX2NvbmYgJiYgZGVmX2NvbmYgIT0gQUNfSkFDS19QT1JUX0ZJWEVEKQogCQkJY29udGludWU7CiAJCWVuYWJsZV9waW5fZGV0ZWN0KGNvZGVjLCBzcGVjLT5wd3Jfbmlkc1tpXSwgZXZlbnQgfCBpKTsKIAkJY29kZWMtPnBhdGNoX29wcy51bnNvbF9ldmVudChjb2RlYywgKGV2ZW50IHwgaSkgPDwgMjYpOwpAQCAtMzYxNCw2ICszNjE5LDcgQEAKIAogCWNvZGVjLT5zcGVjID0gc3BlYzsKIAlzcGVjLT5udW1fcGlucyA9IEFSUkFZX1NJWkUoc3RhYzkyaGQ3MWJ4eF9waW5fbmlkcyk7CisJc3BlYy0+bnVtX3B3cnMgPSBBUlJBWV9TSVpFKHN0YWM5MmhkNzFieHhfcHdyX25pZHMpOwogCXNwZWMtPnBpbl9uaWRzID0gc3RhYzkyaGQ3MWJ4eF9waW5fbmlkczsKIAlzcGVjLT5ib2FyZF9jb25maWcgPSBzbmRfaGRhX2NoZWNrX2JvYXJkX2NvbmZpZyhjb2RlYywKIAkJCQkJCQlTVEFDXzkySEQ3MUJYWF9NT0RFTFMsCkBAIC0zNjQyLDYgKzM2NDgsMTkgQEAKIAkJc3BlYy0+bWl4ZXIgPSBzdGFjOTJoZDcxYnh4X21peGVyOwogCQlzcGVjLT5pbml0ID0gc3RhYzkyaGQ3MWJ4eF9jb3JlX2luaXQ7CiAJCWJyZWFrOworCWNhc2UgMHgxMTFkNzYwODogLyogNSBQb3J0IHdpdGggQW5hbG9nIE1peGVyICovCisJCS8qIG5vIG91dHB1dCBhbXBzICovCisJCXNwZWMtPm51bV9wd3JzID0gMDsKKwkJc3BlYy0+bWl4ZXIgPSBzdGFjOTJoZDcxYnh4X2FuYWxvZ19taXhlcjsKKworCQkvKiBkaXNhYmxlIFZTVyAqLworCQlzcGVjLT5pbml0ID0gJnN0YWM5MmhkNzFieHhfYW5hbG9nX2NvcmVfaW5pdFtIRF9ESVNBQkxFX1BPUlRGXTsKKwkJc3RhYzkyeHhfc2V0X2NvbmZpZ19yZWcoY29kZWMsIDB4ZiwgMHg0MGYwMDBmMCk7CisJCWJyZWFrOworCWNhc2UgMHgxMTFkNzYwMzogLyogNiBQb3J0IHdpdGggQW5hbG9nIE1peGVyICovCisJCS8qIG5vIG91dHB1dCBhbXBzICovCisJCXNwZWMtPm51bV9wd3JzID0gMDsKKwkJLyogZmFsbHRocnUgKi8KIAlkZWZhdWx0OgogCQlzcGVjLT5taXhlciA9IHN0YWM5MmhkNzFieHhfYW5hbG9nX21peGVyOwogCQlzcGVjLT5pbml0ID0gc3RhYzkyaGQ3MWJ4eF9hbmFsb2dfY29yZV9pbml0OwpAQCAtMzY1MywyMiArMzY3MiwxOSBAQAogCS8qIEdQSU8wIEhpZ2ggPSBFQVBEICovCiAJc3BlYy0+Z3Bpb19tYXNrID0gMHgwMTsKIAlzcGVjLT5ncGlvX2RpciA9IDB4MDE7Ci0Jc3BlYy0+Z3Bpb19tYXNrID0gMHgwMTsKIAlzcGVjLT5ncGlvX2RhdGEgPSAweDAxOwogCiAJc3BlYy0+bXV4X25pZHMgPSBzdGFjOTJoZDcxYnh4X211eF9uaWRzOwogCXNwZWMtPmFkY19uaWRzID0gc3RhYzkyaGQ3MWJ4eF9hZGNfbmlkczsKIAlzcGVjLT5kbWljX25pZHMgPSBzdGFjOTJoZDcxYnh4X2RtaWNfbmlkczsKIAlzcGVjLT5kbXV4X25pZHMgPSBzdGFjOTJoZDcxYnh4X2RtdXhfbmlkczsKKwlzcGVjLT5wd3JfbmlkcyA9IHN0YWM5MmhkNzFieHhfcHdyX25pZHM7CiAKIAlzcGVjLT5udW1fbXV4ZXMgPSBBUlJBWV9TSVpFKHN0YWM5MmhkNzFieHhfbXV4X25pZHMpOwogCXNwZWMtPm51bV9hZGNzID0gQVJSQVlfU0laRShzdGFjOTJoZDcxYnh4X2FkY19uaWRzKTsKIAlzcGVjLT5udW1fZG1pY3MgPSBTVEFDOTJIRDcxQlhYX05VTV9ETUlDUzsKIAlzcGVjLT5udW1fZG11eGVzID0gQVJSQVlfU0laRShzdGFjOTJoZDcxYnh4X2RtdXhfbmlkcyk7CiAKLQlzcGVjLT5udW1fcHdycyA9IEFSUkFZX1NJWkUoc3RhYzkyaGQ3MWJ4eF9wd3Jfbmlkcyk7Ci0Jc3BlYy0+cHdyX25pZHMgPSBzdGFjOTJoZDcxYnh4X3B3cl9uaWRzOwotCiAJc3BlYy0+bXVsdGlvdXQubnVtX2RhY3MgPSAxOwogCXNwZWMtPm11bHRpb3V0LmhwX25pZCA9IDB4MTE7CiAJc3BlYy0+bXVsdGlvdXQuZGFjX25pZHMgPSBzdGFjOTJoZDcxYnh4X2RhY19uaWRzOwpAQCAtNDMwNiwxMCArNDMyMiwxMSBAQAogIAl7IC5pZCA9IDB4ODM4NDc2YTUsIC5uYW1lID0gIlNUQUM5MjU1RCIsIC5wYXRjaCA9IHBhdGNoX3N0YWM5MjA1IH0sCiAgCXsgLmlkID0gMHg4Mzg0NzZhNiwgLm5hbWUgPSAiU1RBQzkyNTQiLCAucGF0Y2ggPSBwYXRjaF9zdGFjOTIwNSB9LAogIAl7IC5pZCA9IDB4ODM4NDc2YTcsIC5uYW1lID0gIlNUQUM5MjU0RCIsIC5wYXRjaCA9IHBhdGNoX3N0YWM5MjA1IH0sCisJeyAuaWQgPSAweDExMWQ3NjAzLCAubmFtZSA9ICI5MkhENzVCM1g1IiwgLnBhdGNoID0gcGF0Y2hfc3RhYzkyaGQ3MWJ4eH0sCisJeyAuaWQgPSAweDExMWQ3NjA4LCAubmFtZSA9ICI5MkhENzVCMlg1IiwgLnBhdGNoID0gcGF0Y2hfc3RhYzkyaGQ3MWJ4eH0sCiAJeyAuaWQgPSAweDExMWQ3Njc0LCAubmFtZSA9ICI5MkhENzNEMVg1IiwgLnBhdGNoID0gcGF0Y2hfc3RhYzkyaGQ3M3h4IH0sCiAJeyAuaWQgPSAweDExMWQ3Njc1LCAubmFtZSA9ICI5MkhENzNDMVg1IiwgLnBhdGNoID0gcGF0Y2hfc3RhYzkyaGQ3M3h4IH0sCiAJeyAuaWQgPSAweDExMWQ3Njc2LCAubmFtZSA9ICI5MkhENzNFMVg1IiwgLnBhdGNoID0gcGF0Y2hfc3RhYzkyaGQ3M3h4IH0sCi0JeyAuaWQgPSAweDExMWQ3NjA4LCAubmFtZSA9ICI5MkhENzFCWFgiLCAucGF0Y2ggPSBwYXRjaF9zdGFjOTJoZDcxYnh4IH0sCiAJeyAuaWQgPSAweDExMWQ3NmIwLCAubmFtZSA9ICI5MkhENzFCOFgiLCAucGF0Y2ggPSBwYXRjaF9zdGFjOTJoZDcxYnh4IH0sCiAJeyAuaWQgPSAweDExMWQ3NmIxLCAubmFtZSA9ICI5MkhENzFCOFgiLCAucGF0Y2ggPSBwYXRjaF9zdGFjOTJoZDcxYnh4IH0sCiAJeyAuaWQgPSAweDExMWQ3NmIyLCAubmFtZSA9ICI5MkhENzFCN1giLCAucGF0Y2ggPSBwYXRjaF9zdGFjOTJoZDcxYnh4IH0sCmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvaWNlMTcxMi9lbnZ5MjRodC5oIGIvc291bmQvcGNpL2ljZTE3MTIvZW52eTI0aHQuaAppbmRleCA0M2I5ZTNlLi5hMGM1ZTAwIDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvaWNlMTcxMi9lbnZ5MjRodC5oCisrKyBiL3NvdW5kL3BjaS9pY2UxNzEyL2VudnkyNGh0LmgKQEAgLTkzLDkgKzkzLDEzIEBACiAjZGVmaW5lIFZUMTcyNF9SRUdfTVBVX1RYRklGTwkJMHgwYQkvKmJ5dGUgcm8uIG51bWJlciBvZiBieXRlcyBpbiBUWCBmaWZvKi8KICNkZWZpbmUgVlQxNzI0X1JFR19NUFVfUlhGSUZPCQkweDBiCS8qYnl0ZSByby4gbnVtYmVyIG9mIGJ5dGVzIGluIFJYIGZpZm8qLwogCi0vL2FyZSB0aGVzZSAyIHRoZSB3cm9uZyB3YXkgYXJvdW5kPyB0aGV5IGRvbid0IHNlZW0gdG8gYmUgdXNlZCB5ZXQgYW55d2F5Ci0jZGVmaW5lIFZUMTcyNF9SRUdfTVBVX0NUUkwJCTB4MGMJLyogYnl0ZSAqLwotI2RlZmluZSBWVDE3MjRfUkVHX01QVV9EQVRBCQkweDBkCS8qIGJ5dGUgKi8KKyNkZWZpbmUgVlQxNzI0X1JFR19NUFVfREFUQQkJMHgwYwkvKiBieXRlICovCisjZGVmaW5lIFZUMTcyNF9SRUdfTVBVX0NUUkwJCTB4MGQJLyogYnl0ZSAqLworI2RlZmluZSAgIFZUMTcyNF9NUFVfVUFSVAkweDAxCisjZGVmaW5lICAgVlQxNzI0X01QVV9UWF9FTVBUWQkweDAyCisjZGVmaW5lICAgVlQxNzI0X01QVV9UWF9GVUxMCTB4MDQKKyNkZWZpbmUgICBWVDE3MjRfTVBVX1JYX0VNUFRZCTB4MDgKKyNkZWZpbmUgICBWVDE3MjRfTVBVX1JYX0ZVTEwJMHgxMAogCiAjZGVmaW5lIFZUMTcyNF9SRUdfTVBVX0ZJRk9fV00JMHgwZQkvKmJ5dGUgc2V0IHRoZSBoaWdoL2xvdyB3YXRlcm1hcmtzIGZvciBSWC9UWCBmaWZvcyovCiAjZGVmaW5lICAgVlQxNzI0X01QVV9SWF9GSUZPCTB4MjAJLy8xPXJ4IGZpZm8gd2F0ZXJtYXJrIDA9dHggZmlmbyB3YXRlcm1hcmsKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9pY2UxNzEyL2ljZTE3MTIuaCBiL3NvdW5kL3BjaS9pY2UxNzEyL2ljZTE3MTIuaAppbmRleCAzMjA4OTAxLi43NjJmYmQ3IDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvaWNlMTcxMi9pY2UxNzEyLmgKKysrIGIvc291bmQvcGNpL2ljZTE3MTIvaWNlMTcxMi5oCkBAIC0zMzMsNiArMzMzLDggQEAKIAl1bnNpZ25lZCBpbnQgaGFzX3NwZGlmOiAxOwkvKiBWVDE3MjAvNCAtIGhhcyBTUERJRiBJL08gKi8KIAl1bnNpZ25lZCBpbnQgZm9yY2VfcGRtYTQ6IDE7CS8qIFZUMTcyMC80IC0gUERNQTQgYXMgbm9uLXNwZGlmICovCiAJdW5zaWduZWQgaW50IGZvcmNlX3JkbWExOiAxOwkvKiBWVDE3MjAvNCAtIFJETUExIGFzIG5vbi1zcGRpZiAqLworCXVuc2lnbmVkIGludCBtaWRpX291dHB1dDogMTsJLyogVlQxNzIwLzQ6IE1JREkgb3V0cHV0IHRyaWdnZXJlZCAqLworCXVuc2lnbmVkIGludCBtaWRpX2lucHV0OiAxOwkvKiBWVDE3MjAvNDogTUlESSBpbnB1dCB0cmlnZ2VyZWQgKi8KIAl1bnNpZ25lZCBpbnQgbnVtX3RvdGFsX2RhY3M7CS8qIHRvdGFsIERBQ3MgKi8KIAl1bnNpZ25lZCBpbnQgbnVtX3RvdGFsX2FkY3M7CS8qIHRvdGFsIEFEQ3MgKi8KIAl1bnNpZ25lZCBpbnQgY3VyX3JhdGU7CQkvKiBjdXJyZW50IHJhdGUgKi8KZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9pY2UxNzEyL2ljZTE3MjQuYyBiL3NvdW5kL3BjaS9pY2UxNzEyL2ljZTE3MjQuYwppbmRleCA2NzM1MDkwLi5lNTk2ZDc3IDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvaWNlMTcxMi9pY2UxNzI0LmMKKysrIGIvc291bmQvcGNpL2ljZTE3MTIvaWNlMTcyNC5jCkBAIC0zMiw3ICszMiw3IEBACiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KICNpbmNsdWRlIDxzb3VuZC9jb3JlLmg+CiAjaW5jbHVkZSA8c291bmQvaW5mby5oPgotI2luY2x1ZGUgPHNvdW5kL21wdTQwMS5oPgorI2luY2x1ZGUgPHNvdW5kL3Jhd21pZGkuaD4KICNpbmNsdWRlIDxzb3VuZC9pbml0dmFsLmg+CiAKICNpbmNsdWRlIDxzb3VuZC9hc291bmRlZi5oPgpAQCAtMjIzLDMwICsyMjMsMTUzIEBACiB9CiAKIC8qCi0gKiBNUFU0MDEgYWNjZXNzb3IKKyAqIE1JREkKICAqLwotc3RhdGljIHVuc2lnbmVkIGNoYXIgc25kX3Z0MTcyNF9tcHU0MDFfcmVhZChzdHJ1Y3Qgc25kX21wdTQwMSAqbXB1LAotCQkJCQkgICAgdW5zaWduZWQgbG9uZyBhZGRyKQorCitzdGF0aWMgdm9pZCB2dDE3MjRfbWlkaV9jbGVhcl9yeChzdHJ1Y3Qgc25kX2ljZTE3MTIgKmljZSkKIHsKLQkvKiBmaXggc3RhdHVzIGJpdHMgdG8gdGhlIHN0YW5kYXJkIHBvc2l0aW9uICovCi0JLyogb25seSBSWF9FTVBUWSBhbmQgVFhfRlVMTCBhcmUgY2hlY2tlZCAqLwotCWlmIChhZGRyID09IE1QVTQwMUMobXB1KSkKLQkJcmV0dXJuIChpbmIoYWRkcikgJiAweDBjKSA8PCA0OwotCWVsc2UKLQkJcmV0dXJuIGluYihhZGRyKTsKKwl1bnNpZ25lZCBpbnQgY291bnQ7CisKKwlmb3IgKGNvdW50ID0gaW5iKElDRVJFRzE3MjQoaWNlLCBNUFVfUlhGSUZPKSk7IGNvdW50ID4gMDsgLS1jb3VudCkKKwkJaW5iKElDRVJFRzE3MjQoaWNlLCBNUFVfREFUQSkpOwogfQogCi1zdGF0aWMgdm9pZCBzbmRfdnQxNzI0X21wdTQwMV93cml0ZShzdHJ1Y3Qgc25kX21wdTQwMSAqbXB1LAotCQkJCSAgICB1bnNpZ25lZCBjaGFyIGRhdGEsIHVuc2lnbmVkIGxvbmcgYWRkcikKK3N0YXRpYyBpbmxpbmUgc3RydWN0IHNuZF9yYXdtaWRpX3N1YnN0cmVhbSAqCitnZXRfcmF3bWlkaV9zdWJzdHJlYW0oc3RydWN0IHNuZF9pY2UxNzEyICppY2UsIHVuc2lnbmVkIGludCBzdHJlYW0pCiB7Ci0JaWYgKGFkZHIgPT0gTVBVNDAxQyhtcHUpKSB7Ci0JCWlmIChkYXRhID09IE1QVTQwMV9FTlRFUl9VQVJUKQotCQkJb3V0YigweDAxLCBhZGRyKTsKLQkJLyogd2hhdCBlbHNlPyAqLwotCX0gZWxzZQotCQlvdXRiKGRhdGEsIGFkZHIpOworCXJldHVybiBsaXN0X2ZpcnN0X2VudHJ5KCZpY2UtPnJtaWRpWzBdLT5zdHJlYW1zW3N0cmVhbV0uc3Vic3RyZWFtcywKKwkJCQlzdHJ1Y3Qgc25kX3Jhd21pZGlfc3Vic3RyZWFtLCBsaXN0KTsKIH0KIAorc3RhdGljIHZvaWQgdnQxNzI0X21pZGlfd3JpdGUoc3RydWN0IHNuZF9pY2UxNzEyICppY2UpCit7CisJc3RydWN0IHNuZF9yYXdtaWRpX3N1YnN0cmVhbSAqczsKKwlpbnQgY291bnQsIGk7CisJdTggYnVmZmVyWzMyXTsKKworCXMgPSBnZXRfcmF3bWlkaV9zdWJzdHJlYW0oaWNlLCBTTkRSVl9SQVdNSURJX1NUUkVBTV9PVVRQVVQpOworCWNvdW50ID0gMzEgLSBpbmIoSUNFUkVHMTcyNChpY2UsIE1QVV9UWEZJRk8pKTsKKwlpZiAoY291bnQgPiAwKSB7CisJCWNvdW50ID0gc25kX3Jhd21pZGlfdHJhbnNtaXQocywgYnVmZmVyLCBjb3VudCk7CisJCWZvciAoaSA9IDA7IGkgPCBjb3VudDsgKytpKQorCQkJb3V0YihidWZmZXJbaV0sIElDRVJFRzE3MjQoaWNlLCBNUFVfREFUQSkpOworCX0KK30KKworc3RhdGljIHZvaWQgdnQxNzI0X21pZGlfcmVhZChzdHJ1Y3Qgc25kX2ljZTE3MTIgKmljZSkKK3sKKwlzdHJ1Y3Qgc25kX3Jhd21pZGlfc3Vic3RyZWFtICpzOworCWludCBjb3VudCwgaTsKKwl1OCBidWZmZXJbMzJdOworCisJcyA9IGdldF9yYXdtaWRpX3N1YnN0cmVhbShpY2UsIFNORFJWX1JBV01JRElfU1RSRUFNX0lOUFVUKTsKKwljb3VudCA9IGluYihJQ0VSRUcxNzI0KGljZSwgTVBVX1JYRklGTykpOworCWlmIChjb3VudCA+IDApIHsKKwkJY291bnQgPSBtaW4oY291bnQsIDMyKTsKKwkJZm9yIChpID0gMDsgaSA8IGNvdW50OyArK2kpCisJCQlidWZmZXJbaV0gPSBpbmIoSUNFUkVHMTcyNChpY2UsIE1QVV9EQVRBKSk7CisJCXNuZF9yYXdtaWRpX3JlY2VpdmUocywgYnVmZmVyLCBjb3VudCk7CisJfQorfQorCitzdGF0aWMgdm9pZCB2dDE3MjRfZW5hYmxlX21pZGlfaXJxKHN0cnVjdCBzbmRfcmF3bWlkaV9zdWJzdHJlYW0gKnN1YnN0cmVhbSwKKwkJCQkgICB1OCBmbGFnLCBpbnQgZW5hYmxlKQoreworCXN0cnVjdCBzbmRfaWNlMTcxMiAqaWNlID0gc3Vic3RyZWFtLT5ybWlkaS0+cHJpdmF0ZV9kYXRhOworCXU4IG1hc2s7CisKKwlzcGluX2xvY2tfaXJxKCZpY2UtPnJlZ19sb2NrKTsKKwltYXNrID0gaW5iKElDRVJFRzE3MjQoaWNlLCBJUlFNQVNLKSk7CisJaWYgKGVuYWJsZSkKKwkJbWFzayAmPSB+ZmxhZzsKKwllbHNlCisJCW1hc2sgfD0gZmxhZzsKKwlvdXRiKG1hc2ssIElDRVJFRzE3MjQoaWNlLCBJUlFNQVNLKSk7CisJc3Bpbl91bmxvY2tfaXJxKCZpY2UtPnJlZ19sb2NrKTsKK30KKworc3RhdGljIGludCB2dDE3MjRfbWlkaV9vdXRwdXRfb3BlbihzdHJ1Y3Qgc25kX3Jhd21pZGlfc3Vic3RyZWFtICpzKQoreworCXZ0MTcyNF9lbmFibGVfbWlkaV9pcnEocywgVlQxNzI0X0lSUV9NUFVfVFgsIDEpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHZ0MTcyNF9taWRpX291dHB1dF9jbG9zZShzdHJ1Y3Qgc25kX3Jhd21pZGlfc3Vic3RyZWFtICpzKQoreworCXZ0MTcyNF9lbmFibGVfbWlkaV9pcnEocywgVlQxNzI0X0lSUV9NUFVfVFgsIDApOworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCB2dDE3MjRfbWlkaV9vdXRwdXRfdHJpZ2dlcihzdHJ1Y3Qgc25kX3Jhd21pZGlfc3Vic3RyZWFtICpzLCBpbnQgdXApCit7CisJc3RydWN0IHNuZF9pY2UxNzEyICppY2UgPSBzLT5ybWlkaS0+cHJpdmF0ZV9kYXRhOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmaWNlLT5yZWdfbG9jaywgZmxhZ3MpOworCWlmICh1cCkgeworCQlpY2UtPm1pZGlfb3V0cHV0ID0gMTsKKwkJdnQxNzI0X21pZGlfd3JpdGUoaWNlKTsKKwl9IGVsc2UgeworCQlpY2UtPm1pZGlfb3V0cHV0ID0gMDsKKwl9CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaWNlLT5yZWdfbG9jaywgZmxhZ3MpOworfQorCitzdGF0aWMgdm9pZCB2dDE3MjRfbWlkaV9vdXRwdXRfZHJhaW4oc3RydWN0IHNuZF9yYXdtaWRpX3N1YnN0cmVhbSAqcykKK3sKKwlzdHJ1Y3Qgc25kX2ljZTE3MTIgKmljZSA9IHMtPnJtaWRpLT5wcml2YXRlX2RhdGE7CisJdW5zaWduZWQgbG9uZyB0aW1lb3V0OworCisJLyogMzIgYnl0ZXMgc2hvdWxkIGJlIHRyYW5zbWl0dGVkIGluIGxlc3MgdGhhbiBhYm91dCAxMiBtcyAqLworCXRpbWVvdXQgPSBqaWZmaWVzICsgbXNlY3NfdG9famlmZmllcygxNSk7CisJZG8geworCQlpZiAoaW5iKElDRVJFRzE3MjQoaWNlLCBNUFVfQ1RSTCkpICYgVlQxNzI0X01QVV9UWF9FTVBUWSkKKwkJCWJyZWFrOworCQlzY2hlZHVsZV90aW1lb3V0X3VuaW50ZXJydXB0aWJsZSgxKTsKKwl9IHdoaWxlICh0aW1lX2FmdGVyKHRpbWVvdXQsIGppZmZpZXMpKTsKK30KKworc3RhdGljIHN0cnVjdCBzbmRfcmF3bWlkaV9vcHMgdnQxNzI0X21pZGlfb3V0cHV0X29wcyA9IHsKKwkub3BlbiA9IHZ0MTcyNF9taWRpX291dHB1dF9vcGVuLAorCS5jbG9zZSA9IHZ0MTcyNF9taWRpX291dHB1dF9jbG9zZSwKKwkudHJpZ2dlciA9IHZ0MTcyNF9taWRpX291dHB1dF90cmlnZ2VyLAorCS5kcmFpbiA9IHZ0MTcyNF9taWRpX291dHB1dF9kcmFpbiwKK307CisKK3N0YXRpYyBpbnQgdnQxNzI0X21pZGlfaW5wdXRfb3BlbihzdHJ1Y3Qgc25kX3Jhd21pZGlfc3Vic3RyZWFtICpzKQoreworCXZ0MTcyNF9taWRpX2NsZWFyX3J4KHMtPnJtaWRpLT5wcml2YXRlX2RhdGEpOworCXZ0MTcyNF9lbmFibGVfbWlkaV9pcnEocywgVlQxNzI0X0lSUV9NUFVfUlgsIDEpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHZ0MTcyNF9taWRpX2lucHV0X2Nsb3NlKHN0cnVjdCBzbmRfcmF3bWlkaV9zdWJzdHJlYW0gKnMpCit7CisJdnQxNzI0X2VuYWJsZV9taWRpX2lycShzLCBWVDE3MjRfSVJRX01QVV9SWCwgMCk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIHZ0MTcyNF9taWRpX2lucHV0X3RyaWdnZXIoc3RydWN0IHNuZF9yYXdtaWRpX3N1YnN0cmVhbSAqcywgaW50IHVwKQoreworCXN0cnVjdCBzbmRfaWNlMTcxMiAqaWNlID0gcy0+cm1pZGktPnByaXZhdGVfZGF0YTsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJmljZS0+cmVnX2xvY2ssIGZsYWdzKTsKKwlpZiAodXApIHsKKwkJaWNlLT5taWRpX2lucHV0ID0gMTsKKwkJdnQxNzI0X21pZGlfcmVhZChpY2UpOworCX0gZWxzZSB7CisJCWljZS0+bWlkaV9pbnB1dCA9IDA7CisJfQorCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmljZS0+cmVnX2xvY2ssIGZsYWdzKTsKK30KKworc3RhdGljIHN0cnVjdCBzbmRfcmF3bWlkaV9vcHMgdnQxNzI0X21pZGlfaW5wdXRfb3BzID0geworCS5vcGVuID0gdnQxNzI0X21pZGlfaW5wdXRfb3BlbiwKKwkuY2xvc2UgPSB2dDE3MjRfbWlkaV9pbnB1dF9jbG9zZSwKKwkudHJpZ2dlciA9IHZ0MTcyNF9taWRpX2lucHV0X3RyaWdnZXIsCit9OworCiAKIC8qCiAgKiAgSW50ZXJydXB0IGhhbmRsZXIKQEAgLTI3OCwxMyArNDAxLDEwIEBACiAjZW5kaWYKIAkJaGFuZGxlZCA9IDE7CQkKIAkJaWYgKHN0YXR1cyAmIFZUMTcyNF9JUlFfTVBVX1RYKSB7Ci0JCQlpZiAoaWNlLT5ybWlkaVswXSkKLQkJCQlzbmRfbXB1NDAxX3VhcnRfaW50ZXJydXB0X3R4KGlycSwKLQkJCQkJaWNlLT5ybWlkaVswXS0+cHJpdmF0ZV9kYXRhKTsKLQkJCWVsc2UgLyogZGlzYWJsZSBUWCB0byBiZSBzdXJlICovCi0JCQkJb3V0YihpbmIoSUNFUkVHMTcyNChpY2UsIElSUU1BU0spKSB8Ci0JCQkJICAgICBWVDE3MjRfSVJRX01QVV9UWCwKLQkJCQkgICAgIElDRVJFRzE3MjQoaWNlLCBJUlFNQVNLKSk7CisJCQlzcGluX2xvY2soJmljZS0+cmVnX2xvY2spOworCQkJaWYgKGljZS0+bWlkaV9vdXRwdXQpCisJCQkJdnQxNzI0X21pZGlfd3JpdGUoaWNlKTsKKwkJCXNwaW5fdW5sb2NrKCZpY2UtPnJlZ19sb2NrKTsKIAkJCS8qIER1ZSB0byBteXN0ZXJpY2FsIHJlYXNvbnMsIE1QVV9UWCBpcyBhbHdheXMKIAkJCSAqIGdlbmVyYXRlZCAoYW5kIGNhbid0IGJlIGNsZWFyZWQpIHdoZW4gYSBQQ00KIAkJCSAqIHBsYXliYWNrIGlzIGdvaW5nLiAgU28gbGV0J3MgaWdub3JlIGF0IHRoZQpAQCAtMjkzLDEzICs0MTMsMTIgQEAKIAkJCXN0YXR1c19tYXNrICY9IH5WVDE3MjRfSVJRX01QVV9UWDsKIAkJfQogCQlpZiAoc3RhdHVzICYgVlQxNzI0X0lSUV9NUFVfUlgpIHsKLQkJCWlmIChpY2UtPnJtaWRpWzBdKQotCQkJCXNuZF9tcHU0MDFfdWFydF9pbnRlcnJ1cHQoaXJxLAotCQkJCQlpY2UtPnJtaWRpWzBdLT5wcml2YXRlX2RhdGEpOwotCQkJZWxzZSAvKiBkaXNhYmxlIFJYIHRvIGJlIHN1cmUgKi8KLQkJCQlvdXRiKGluYihJQ0VSRUcxNzI0KGljZSwgSVJRTUFTSykpIHwKLQkJCQkgICAgIFZUMTcyNF9JUlFfTVBVX1JYLAotCQkJCSAgICAgSUNFUkVHMTcyNChpY2UsIElSUU1BU0spKTsKKwkJCXNwaW5fbG9jaygmaWNlLT5yZWdfbG9jayk7CisJCQlpZiAoaWNlLT5taWRpX2lucHV0KQorCQkJCXZ0MTcyNF9taWRpX3JlYWQoaWNlKTsKKwkJCWVsc2UKKwkJCQl2dDE3MjRfbWlkaV9jbGVhcl9yeChpY2UpOworCQkJc3Bpbl91bmxvY2soJmljZS0+cmVnX2xvY2spOwogCQl9CiAJCS8qIGFjayBNUFUgaXJxICovCiAJCW91dGIoc3RhdHVzLCBJQ0VSRUcxNzI0KGljZSwgSVJRU1RBVCkpOwpAQCAtMjQyNSwyOCArMjU0NCwzMCBAQAogCiAJaWYgKCEgYy0+bm9fbXB1NDAxKSB7CiAJCWlmIChpY2UtPmVlcHJvbS5kYXRhW0lDRV9FRVAyX1NZU0NPTkZdICYgVlQxNzI0X0NGR19NUFU0MDEpIHsKLQkJCXN0cnVjdCBzbmRfbXB1NDAxICptcHU7Ci0JCQlpZiAoKGVyciA9IHNuZF9tcHU0MDFfdWFydF9uZXcoY2FyZCwgMCwgTVBVNDAxX0hXX0lDRTE3MTIsCi0JCQkJCQkgICAgICAgSUNFUkVHMTcyNChpY2UsIE1QVV9DVFJMKSwKLQkJCQkJCSAgICAgICAoTVBVNDAxX0lORk9fSU5URUdSQVRFRCB8Ci0JCQkJCQkJTVBVNDAxX0lORk9fTk9fQUNLIHwKLQkJCQkJCQlNUFU0MDFfSU5GT19UWF9JUlEpLAotCQkJCQkJICAgICAgIGljZS0+aXJxLCAwLAotCQkJCQkJICAgICAgICZpY2UtPnJtaWRpWzBdKSkgPCAwKSB7CisJCQlzdHJ1Y3Qgc25kX3Jhd21pZGkgKnJtaWRpOworCisJCQllcnIgPSBzbmRfcmF3bWlkaV9uZXcoY2FyZCwgIk1JREkiLCAwLCAxLCAxLCAmcm1pZGkpOworCQkJaWYgKGVyciA8IDApIHsKIAkJCQlzbmRfY2FyZF9mcmVlKGNhcmQpOwogCQkJCXJldHVybiBlcnI7CiAJCQl9Ci0JCQltcHUgPSBpY2UtPnJtaWRpWzBdLT5wcml2YXRlX2RhdGE7Ci0JCQltcHUtPnJlYWQgPSBzbmRfdnQxNzI0X21wdTQwMV9yZWFkOwotCQkJbXB1LT53cml0ZSA9IHNuZF92dDE3MjRfbXB1NDAxX3dyaXRlOwotCQkJLyogdW5tYXNrIE1QVSBSWC9UWCBpcnFzICovCi0JCQlvdXRiKGluYihJQ0VSRUcxNzI0KGljZSwgSVJRTUFTSykpICYKLQkJCSAgICAgfihWVDE3MjRfSVJRX01QVV9SWCB8IFZUMTcyNF9JUlFfTVBVX1RYKSwKLQkJCSAgICAgSUNFUkVHMTcyNChpY2UsIElSUU1BU0spKTsKKwkJCWljZS0+cm1pZGlbMF0gPSBybWlkaTsKKwkJCXJtaWRpLT5wcml2YXRlX2RhdGEgPSBpY2U7CisJCQlzdHJjcHkocm1pZGktPm5hbWUsICJJQ0UxNzI0IE1JREkiKTsKKwkJCXJtaWRpLT5pbmZvX2ZsYWdzID0gU05EUlZfUkFXTUlESV9JTkZPX09VVFBVVCB8CisJCQkJCSAgICBTTkRSVl9SQVdNSURJX0lORk9fSU5QVVQgfAorCQkJCQkgICAgU05EUlZfUkFXTUlESV9JTkZPX0RVUExFWDsKKwkJCXNuZF9yYXdtaWRpX3NldF9vcHMocm1pZGksIFNORFJWX1JBV01JRElfU1RSRUFNX09VVFBVVCwKKwkJCQkJICAgICZ2dDE3MjRfbWlkaV9vdXRwdXRfb3BzKTsKKwkJCXNuZF9yYXdtaWRpX3NldF9vcHMocm1pZGksIFNORFJWX1JBV01JRElfU1RSRUFNX0lOUFVULAorCQkJCQkgICAgJnZ0MTcyNF9taWRpX2lucHV0X29wcyk7CisKIAkJCS8qIHNldCB3YXRlcm1hcmtzICovCiAJCQlvdXRiKFZUMTcyNF9NUFVfUlhfRklGTyB8IDB4MSwKIAkJCSAgICAgSUNFUkVHMTcyNChpY2UsIE1QVV9GSUZPX1dNKSk7CiAJCQlvdXRiKDB4MSwgSUNFUkVHMTcyNChpY2UsIE1QVV9GSUZPX1dNKSk7CisJCQkvKiBzZXQgVUFSVCBtb2RlICovCisJCQlvdXRiKFZUMTcyNF9NUFVfVUFSVCwgSUNFUkVHMTcyNChpY2UsIE1QVV9DVFJMKSk7CiAJCX0KIAl9CiAKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9rb3JnMTIxMi9rb3JnMTIxMi1maXJtd2FyZS5oIGIvc291bmQvcGNpL2tvcmcxMjEyL2tvcmcxMjEyLWZpcm13YXJlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY2ZjViOTEuLjAwMDAwMDAKLS0tIGEvc291bmQvcGNpL2tvcmcxMjEyL2tvcmcxMjEyLWZpcm13YXJlLmgKKysrIC9kZXYvbnVsbApAQCAtMSw5ODcgKzAsMCBAQAotc3RhdGljIGNoYXIgZHNwQ29kZSBbXSA9IHsKLTB4MDEsMHhmZiwweDE4LDB4ZmYsMHhmNSwweGZmLDB4Y2YsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgyNiwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDM4LDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweGRmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMywweGZmLDB4M2MsMHhmZiwweGZmLDB4ZmYsMHhmYywweGZmLDB4NjcsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHhmZiwKLTB4ZmYsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZTAsMHhmZiwweDAwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDBjLDB4ZmYsCi0weDBjLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgzMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwZiwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHhmNCwweGZmLDB4NDcsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4MGEsMHhmZiwKLTB4ODIsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDhkLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDdhLDB4ZmYsCi0weDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLDB4YTAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NmEsMHhmZiwweDAwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDFjLDB4ZmYsMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxYywweGZmLAotMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxYywweGZmLDB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MWMsMHhmZiwKLTB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwweDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLAotMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLDB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwKLTB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwweDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLAotMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLDB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwKLTB4NzIsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4NWYsMHhmZiwweDAyLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDQwLDB4ZmYsCi0weDExLDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg4YiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4ODYsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDMwLDB4ZmYsCi0weDhkLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDQwLDB4ZmYsMHgwMiwweGZmLDB4OTEsMHhmZiwweGZmLDB4ZmYsMHg4MCwweGZmLAotMHgwMiwweGZmLDB4OTEsMHhmZiwweGZmLDB4ZmYsMHg5MCwweGZmLDB4OGQsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHhmZiwKLTB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDhkLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGQwLDB4ZmYsCi0weDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg4YiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg0MCwweGZmLAotMHhmZiwweGZmLDB4NDcsMHhmZiwweGZmLDB4ZmYsMHhmMCwweGZmLDB4OGQsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZTAsMHhmZiwKLTB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MTcsMHhmZiwweDAwLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDE3LDB4ZmYsCi0weDgwLDB4ZmYsMHgzNywweGZmLDB4ZmYsMHhmZiwweDAyLDB4ZmYsMHg4NCwweGZmLDB4M2IsMHhmZiwweGZmLDB4ZmYsMHgwMiwweGZmLAotMHgwMiwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHg0YSwweGZmLDB4MDIsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4NGEsMHhmZiwKLTB4MDEsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MmIsMHhmZiwweDAxLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDJiLDB4ZmYsCi0weDgwLDB4ZmYsMHg0MywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg4MiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg1MCwweGZmLAotMHg4MSwweGZmLDB4NDMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4ODIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4NjAsMHhmZiwKLTB4ODQsMHhmZiwweDQzLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDgyLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsCi0weDg1LDB4ZmYsMHg0MywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHg4MywweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhjMCwweGZmLAotMHg4MiwweGZmLDB4MzcsMHhmZiwweGZmLDB4ZmYsMHg4MSwweGZmLDB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4ODksMHhmZiwKLTB4ODgsMHhmZiwweDQzLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweDA3LDB4ZmYsCi0weDgyLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDYwLDB4ZmYsMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHgwNywweGZmLAotMHg4YywweGZmLDB4NDMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4MDcsMHhmZiwKLTB4ODMsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHhmZiwweDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweDA3LDB4ZmYsCi0weDhhLDB4ZmYsMHg0MywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHgwNywweGZmLAotMHg4MiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg1MCwweGZmLDB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4MDcsMHhmZiwKLTB4OGUsMHhmZiwweDQzLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweDA3LDB4ZmYsCi0weDgyLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHgwNywweGZmLAotMHg4MywweGZmLDB4MzcsMHhmZiwweGZmLDB4ZmYsMHgwMSwweGZmLDB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4ODksMHhmZiwKLTB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MjYsMHhmZiwweDMwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDI2LDB4ZmYsMHgyMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLAotMHg4MCwweGZmLDB4NDEsMHhmZiwweGZmLDB4ZmYsMHgwMiwweGZmLDB4ZTAsMHhmZiwweDIwLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YjYsMHhmZiwweDYzLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDYyLDB4ZmYsMHg2YSwweGZmLDB4ZmYsMHhmZiwweGE2LDB4ZmYsMHg2MiwweGZmLDB4NmEsMHhmZiwweGZmLDB4ZmYsMHhhNiwweGZmLAotMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhhNiwweGZmLDB4MDAsMHhmZiwweDA5LDB4ZmYsMHhmZiwweGZmLDB4MDcsMHhmZiwKLTB4NDAsMHhmZiwweDQxLDB4ZmYsMHhmZiwweGZmLDB4MDIsMHhmZiwweGUwLDB4ZmYsMHgyMCwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGI2LDB4ZmYsMHg2MywweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg2MiwweGZmLDB4NmEsMHhmZiwweGZmLDB4ZmYsMHhhNiwweGZmLDB4NjIsMHhmZiwweDZhLDB4ZmYsMHhmZiwweGZmLDB4YTYsMHhmZiwKLTB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YTYsMHhmZiwweDA1LDB4ZmYsMHg0MSwweGZmLDB4ZmYsMHhmZiwweDAyLDB4ZmYsCi0weGUwLDB4ZmYsMHgyMCwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg4YiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhiYiwweGZmLAotMHgwMiwweGZmLDB4NDEsMHhmZiwweGZmLDB4ZmYsMHg4MiwweGZmLDB4ZTAsMHhmZiwweDIwLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4OGIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4Y2IsMHhmZiwweDA1LDB4ZmYsMHg0MSwweGZmLDB4ZmYsMHhmZiwweGUyLDB4ZmYsCi0weGUwLDB4ZmYsMHgyMCwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg4YiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhkYiwweGZmLAotMHgyMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MzAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MjYsMHhmZiwweDAwLDB4ZmYsMHg0MSwweGZmLDB4ZmYsMHhmZiwweDAyLDB4ZmYsCi0weGUwLDB4ZmYsMHgyMCwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg4MywweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg4MiwweGZmLAotMHg4MywweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg5YiwweGZmLDB4MDMsMHhmZiwweDQxLDB4ZmYsMHhmZiwweGZmLDB4MDIsMHhmZiwKLTB4ZTAsMHhmZiwweDIwLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDgzLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGEyLDB4ZmYsCi0weDgzLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGJiLDB4ZmYsMHgyMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4NDQsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NjAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDIxLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDYwLDB4ZmYsMHg0MCwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLAotMHgwMiwweGZmLDB4MzUsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwKLTB4MDAsMHhmZiwweDNjLDB4ZmYsMHhmZiwweGZmLDB4ODUsMHhmZiwweDBhLDB4ZmYsMHgxNCwweGZmLDB4ZmYsMHhmZiwweGFlLDB4ZmYsCi0weDAwLDB4ZmYsMHhhMCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsMHgwMCwweGZmLDB4MzUsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLDB4MDIsMHhmZiwweDNjLDB4ZmYsMHhmZiwweGZmLDB4MDUsMHhmZiwKLTB4MGEsMHhmZiwweDE0LDB4ZmYsMHhmZiwweGZmLDB4ZmUsMHhmZiwweDAwLDB4ZmYsMHhhMCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsCi0weDAzLDB4ZmYsMHgzNSwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLAotMHgwMiwweGZmLDB4M2MsMHhmZiwweGZmLDB4ZmYsMHgwNSwweGZmLDB4MGIsMHhmZiwweDE0LDB4ZmYsMHhmZiwweGZmLDB4NGUsMHhmZiwKLTB4MDAsMHhmZiwweGEwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwweDAwLDB4ZmYsMHgzNSwweGZmLDB4ZmYsMHhmZiwweDAxLDB4ZmYsCi0weDc4LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDVmLDB4ZmYsMHgwMywweGZmLDB4MzUsMHhmZiwweGZmLDB4ZmYsMHgwMSwweGZmLAotMHg3OCwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHg1ZiwweGZmLDB4NWIsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4ZjAsMHhmZiwKLTB4ZmYsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4MzAsMHhmZiwweDgwLDB4ZmYsMHg0MiwweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsCi0weGZmLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDYwLDB4ZmYsMHhkZiwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHhmMCwweGZmLAotMHhmZSwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhmMCwweGZmLDB4ODAsMHhmZiwweDQyLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwKLTB4ZmYsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweGMxLDB4ZmYsMHg0MSwweGZmLDB4ZmYsMHhmZiwweDgwLDB4ZmYsCi0weGZmLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGYwLDB4ZmYsMHgwMywweGZmLDB4M2MsMHhmZiwweGZmLDB4ZmYsMHhmYywweGZmLAotMHgwMCwweGZmLDB4M2MsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLDB4MDIsMHhmZiwweDNjLDB4ZmYsMHhmZiwweGZmLDB4MjMsMHhmZiwKLTB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsCi0weDU5LDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweGRmLDB4ZmYsMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg4YiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4MTgsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MGMsMHhmZiwweDE0LDB4ZmYsMHhmZiwweGZmLDB4ZTQsMHhmZiwweDhiLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDI0LDB4ZmYsCi0weDAwLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwZCwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg4YiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MTQsMHhmZiwKLTB4ZTAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDEwLDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweGQwLDB4ZmYsCi0weDhiLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgyNCwweGZmLAotMHhlMCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MTAsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4MzAsMHhmZiwKLTB4OGIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDQ0LDB4ZmYsCi0weGUwLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgyMiwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHg5MCwweGZmLAotMHg4YiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4ODQsMHhmZiwKLTB4ZTAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDIyLDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDkwLDB4ZmYsCi0weDBjLDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDZmLDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg4NiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4NzYsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4OWYsMHhmZiwKLTB4ODYsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NTAsMHhmZiwweDg2LDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDY0LDB4ZmYsCi0weDYwLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg3NCwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHg4MSwweGZmLAotMHgwMCwweGZmLDB4MzUsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4NjAsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4N2YsMHhmZiwKLTB4NjEsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4YWYsMHhmZiwweDc3LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweGFmLDB4ZmYsCi0weDYzLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDRmLDB4ZmYsMHgwNSwweGZmLDB4MzUsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg5MiwweGZmLDB4M2IsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwKLTB4MDAsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwweDAwLDB4ZmYsMHgzYywweGZmLDB4ZmYsMHhmZiwweDY1LDB4ZmYsCi0weDBmLDB4ZmYsMHgxNCwweGZmLDB4ZmYsMHhmZiwweDZlLDB4ZmYsMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLAotMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgxMywweGZmLDB4MDAsMHhmZiwweDc4LDB4ZmYsMHhmZiwweGZmLDB4MTMsMHhmZiwKLTB4MDAsMHhmZiwweDc4LDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwweDA1LDB4ZmYsMHgzNSwweGZmLDB4ZmYsMHhmZiwweGUwLDB4ZmYsCi0weDdmLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLAotMHgwMCwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLDB4MDAsMHhmZiwweDNjLDB4ZmYsMHhmZiwweGZmLDB4NjUsMHhmZiwKLTB4MTAsMHhmZiwweDE0LDB4ZmYsMHhmZiwweGZmLDB4MGUsMHhmZiwweDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsCi0weDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDEzLDB4ZmYsMHgwMCwweGZmLDB4NTgsMHhmZiwweGZmLDB4ZmYsMHgxMywweGZmLAotMHgwMCwweGZmLDB4NTgsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLDB4NzksMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwKLTB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDBlLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsCi0weDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGUwLDB4ZmYsMHg3OCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgxNSwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHg4NSwweGZmLDB4NzUsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4OGYsMHhmZiwKLTB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4NDAsMHhmZiwweDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDgwLDB4ZmYsCi0weDAyLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDYwLDB4ZmYsMHgxMSwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLAotMHgxNiwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLDB4MGUsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwKLTB4NzUsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4OGYsMHhmZiwweDgwLDB4ZmYsMHgzNSwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg0MCwweGZmLDB4M2MsMHhmZiwweGZmLDB4ZmYsMHgwNSwweGZmLDB4MTEsMHhmZiwweDE0LDB4ZmYsMHhmZiwweGZmLDB4NGUsMHhmZiwKLTB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwweDg3LDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGYwLDB4ZmYsCi0weDg2LDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDgwLDB4ZmYsMHg5MCwweGZmLDB4MzcsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMiwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLDB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwKLTB4ODksMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsCi0weDg5LDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDMwLDB4ZmYsMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLAotMHg4OSwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg0MCwweGZmLDB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwKLTB4ODksMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4NTAsMHhmZiwweDg2LDB4ZmYsMHg5NywweGZmLDB4ZmYsMHhmZiwweDkwLDB4ZmYsCi0weDAzLDB4ZmYsMHgzNSwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg2MCwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHg3ZiwweGZmLAotMHg2MywweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHg3ZiwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4OGQsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4NjAsMHhmZiwweDgyLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDQwLDB4ZmYsCi0weDg2LDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGEwLDB4ZmYsMHg4MywweGZmLDB4MzcsMHhmZiwweGZmLDB4ZmYsMHg4MCwweGZmLAotMHg3NSwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLDB4ODMsMHhmZiwweDQzLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4ODcsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZTAsMHhmZiwweDZhLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDQwLDB4ZmYsMHg0MSwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg4YiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg5MCwweGZmLAotMHg4MCwweGZmLDB4NDEsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4OGIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4YTAsMHhmZiwKLTB4OGIsMHhmZiwweDg3LDB4ZmYsMHhmZiwweGZmLDB4OTAsMHhmZiwweDdlLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDQwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsMHgwMCwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLAotMHgwMCwweGZmLDB4M2MsMHhmZiwweGZmLDB4ZmYsMHg1NSwweGZmLDB4MTMsMHhmZiwweDE0LDB4ZmYsMHhmZiwweGZmLDB4YmUsMHhmZiwKLTB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwweDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDEzLDB4ZmYsCi0weDAwLDB4ZmYsMHg1OCwweGZmLDB4ZmYsMHhmZiwweDEzLDB4ZmYsMHgwMCwweGZmLDB4NTgsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLAotMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLDB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MTMsMHhmZiwKLTB4MDAsMHhmZiwweDU4LDB4ZmYsMHhmZiwweGZmLDB4MTMsMHhmZiwweDAwLDB4ZmYsMHg1OCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsCi0weDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgxMywweGZmLAotMHgwMCwweGZmLDB4NTgsMHhmZiwweGZmLDB4ZmYsMHgxMywweGZmLDB4MDAsMHhmZiwweDU4LDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwKLTB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwweDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsCi0weDhiLDB4ZmYsMHg5NywweGZmLDB4ZmYsMHhmZiwweDkwLDB4ZmYsMHgwNSwweGZmLDB4NDEsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg5MiwweGZmLDB4NDMsMHhmZiwweGZmLDB4ZmYsMHgwMSwweGZmLDB4ODYsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZjAsMHhmZiwKLTB4ODYsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZTEsMHhmZiwweDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGUwLDB4ZmYsCi0weDc4LDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgxNSwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHg4NSwweGZmLAotMHg3NSwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHg4ZiwweGZmLDB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NDAsMHhmZiwKLTB4NzgsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDUzLDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweGI0LDB4ZmYsCi0weDcyLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg4YiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHgzMCwweGZmLDB4MDIsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4NjAsMHhmZiwKLTB4MTEsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDE2LDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDRmLDB4ZmYsCi0weDM4LDB4ZmYsMHg0MiwweGZmLDB4ZmYsMHhmZiwweDUwLDB4ZmYsMHg0OCwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHhhMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDMwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg1MCwweGZmLAotMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MWUsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MjAsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4Y2YsMHhmZiwweDE2LDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsCi0weDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLAotMHgxOCwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHhlZiwweGZmLDB4NmEsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4YmYsMHhmZiwKLTB4NWMsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4N2YsMHhmZiwweDE4LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweGVmLDB4ZmYsCi0weDY3LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDNmLDB4ZmYsMHg1YywweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHg3ZiwweGZmLAotMHgwOCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwKLTB4MTgsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4ZWYsMHhmZiwweDY5LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDVkLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDJmLDB4ZmYsMHgxOCwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHhlZiwweGZmLAotMHg3OSwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLDB4NWMsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4N2YsMHhmZiwKLTB4MTgsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4ZWYsMHhmZiwweDVjLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDdmLDB4ZmYsCi0weDE4LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweGVmLDB4ZmYsMHg1YywweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHg3ZiwweGZmLAotMHgxOCwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHhlZiwweGZmLDB4NWQsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4MmYsMHhmZiwKLTB4MTgsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4ZWYsMHhmZiwweDVjLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDdmLDB4ZmYsCi0weDE4LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweGVmLDB4ZmYsMHg1YywweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHg3ZiwweGZmLAotMHgxOCwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHhlZiwweGZmLDB4NWMsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4N2YsMHhmZiwKLTB4MTgsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4ZWYsMHhmZiwweDVkLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDJmLDB4ZmYsCi0weDE4LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweGVmLDB4ZmYsMHg1YywweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHg3ZiwweGZmLAotMHgxOCwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHhlZiwweGZmLDB4NWMsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4N2YsMHhmZiwKLTB4MTgsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4ZWYsMHhmZiwweDVjLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDdmLDB4ZmYsCi0weDE4LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweGVmLDB4ZmYsMHg1ZCwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHgyZiwweGZmLAotMHgxOCwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHhlZiwweGZmLDB4NjYsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwKLTB4NWMsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4N2YsMHhmZiwweDE2LDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDRmLDB4ZmYsCi0weDhiLDB4ZmYsMHg4NywweGZmLDB4ZmYsMHhmZiwweDYxLDB4ZmYsMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHg4OSwweGZmLAotMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgyNiwweGZmLDB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDYsMHhmZiwKLTB4ODMsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZDAsMHhmZiwweDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDA2LDB4ZmYsCi0weDgzLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGUwLDB4ZmYsMHgzOCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgxOSwweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHg4NSwweGZmLDB4OGIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NTAsMHhmZiwKLTB4NzgsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDA3LDB4ZmYsCi0weDA0LDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDMwLDB4ZmYsMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwNywweGZmLAotMHg4MywweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhmMCwweGZmLDB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDcsMHhmZiwKLTB4MDgsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4MzAsMHhmZiwweDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDA3LDB4ZmYsCi0weDg2LDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDQwLDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMSwweGZmLAotMHg4YiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg1MSwweGZmLDB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4NDYsMHhmZiwKLTB4MDAsMHhmZiwweDA5LDB4ZmYsMHhmZiwweGZmLDB4MDYsMHhmZiwweDhiLDB4ZmYsMHg5NywweGZmLDB4ZmYsMHhmZiwweDYxLDB4ZmYsCi0weDgzLDB4ZmYsMHg4YiwweGZmLDB4ZmYsMHhmZiwweGQwLDB4ZmYsMHg4MywweGZmLDB4OGIsMHhmZiwweGZmLDB4ZmYsMHhlMSwweGZmLAotMHg4NywweGZmLDB4MzcsMHhmZiwweGZmLDB4ZmYsMHgwMSwweGZmLDB4NmUsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4YmYsMHhmZiwKLTB4ODcsMHhmZiwweDM3LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDkyLDB4ZmYsMHgzNywweGZmLDB4ZmYsMHhmZiwweDAxLDB4ZmYsCi0weDdmLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg3ZSwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHgwMSwweGZmLAotMHgyMywweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4N2UsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4ODMsMHhmZiwweDg3LDB4ZmYsMHhmZiwweGZmLDB4ZjEsMHhmZiwweDg2LDB4ZmYsMHg4YiwweGZmLDB4ZmYsMHhmZiwweDQxLDB4ZmYsCi0weDZjLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDJmLDB4ZmYsMHg4NywweGZmLDB4MzcsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg4YiwweGZmLDB4OGIsMHhmZiwweGZmLDB4ZmYsMHhhMCwweGZmLDB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwKLTB4NDAsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwweDAwLDB4ZmYsMHgzYywweGZmLDB4ZmYsMHhmZiwweDU1LDB4ZmYsCi0weDFiLDB4ZmYsMHgxNCwweGZmLDB4ZmYsMHhmZiwweGNlLDB4ZmYsMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLAotMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgxMywweGZmLDB4MDAsMHhmZiwweDc4LDB4ZmYsMHhmZiwweGZmLDB4MTMsMHhmZiwKLTB4MDAsMHhmZiwweDc4LDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwweDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsCi0weDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDEzLDB4ZmYsMHgwMCwweGZmLDB4NzgsMHhmZiwweGZmLDB4ZmYsMHgxMywweGZmLAotMHgwMCwweGZmLDB4NzgsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLDB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwKLTB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MTMsMHhmZiwweDAwLDB4ZmYsMHg3OCwweGZmLDB4ZmYsMHhmZiwweDEzLDB4ZmYsCi0weDAwLDB4ZmYsMHg3OCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsMHg4YiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhlMSwweGZmLAotMHg4YiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhmMCwweGZmLDB4MDAsMHhmZiwweDc4LDB4ZmYsMHhmZiwweGZmLDB4MTMsMHhmZiwKLTB4MDAsMHhmZiwweDc4LDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwweDhiLDB4ZmYsMHg5YiwweGZmLDB4ZmYsMHhmZiwweGEwLDB4ZmYsCi0weDhiLDB4ZmYsMHg4NywweGZmLDB4ZmYsMHhmZiwweDkwLDB4ZmYsMHg3ZSwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg0MCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLDB4MDAsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwKLTB4MDAsMHhmZiwweDNjLDB4ZmYsMHhmZiwweGZmLDB4NTUsMHhmZiwweDFkLDB4ZmYsMHgxNCwweGZmLDB4ZmYsMHhmZiwweDNlLDB4ZmYsCi0weDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgxMywweGZmLAotMHgwMCwweGZmLDB4NTgsMHhmZiwweGZmLDB4ZmYsMHgxMywweGZmLDB4MDAsMHhmZiwweDU4LDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwKLTB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwweDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDEzLDB4ZmYsCi0weDAwLDB4ZmYsMHg1OCwweGZmLDB4ZmYsMHhmZiwweDEzLDB4ZmYsMHgwMCwweGZmLDB4NTgsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLAotMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLDB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MTMsMHhmZiwKLTB4MDAsMHhmZiwweDU4LDB4ZmYsMHhmZiwweGZmLDB4MTMsMHhmZiwweDAwLDB4ZmYsMHg1OCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsCi0weDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLAotMHg4YiwweGZmLDB4OTcsMHhmZiwweGZmLDB4ZmYsMHg5MCwweGZmLDB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4OGIsMHhmZiwweDg3LDB4ZmYsMHhmZiwweGZmLDB4NjEsMHhmZiwweDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDg5LDB4ZmYsCi0weDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDI2LDB4ZmYsMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwNiwweGZmLAotMHg4MywweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhkMCwweGZmLDB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDYsMHhmZiwKLTB4ODMsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZTAsMHhmZiwweDhiLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDUxLDB4ZmYsCi0weDc5LDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg3NCwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHhiNCwweGZmLAotMHgzOCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MWUsMHhmZiwweDE0LDB4ZmYsMHhmZiwweGZmLDB4ZDUsMHhmZiwKLTB4OGIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NTAsMHhmZiwweDc4LDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDA3LDB4ZmYsMHgwNCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHgzMCwweGZmLAotMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwNywweGZmLDB4ODMsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZjAsMHhmZiwKLTB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDcsMHhmZiwweDA4LDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDMwLDB4ZmYsCi0weDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDA3LDB4ZmYsMHg4NiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg0MCwweGZmLAotMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMSwweGZmLDB4OGIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4NTEsMHhmZiwKLTB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4NDYsMHhmZiwweDAwLDB4ZmYsMHgwOSwweGZmLDB4ZmYsMHhmZiwweDA2LDB4ZmYsCi0weDhiLDB4ZmYsMHg5NywweGZmLDB4ZmYsMHhmZiwweDYxLDB4ZmYsMHg4MywweGZmLDB4OGIsMHhmZiwweGZmLDB4ZmYsMHhkMCwweGZmLAotMHg4MywweGZmLDB4OGIsMHhmZiwweGZmLDB4ZmYsMHhlMSwweGZmLDB4ODcsMHhmZiwweDM3LDB4ZmYsMHhmZiwweGZmLDB4MDEsMHhmZiwKLTB4NmUsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4YmYsMHhmZiwweDg3LDB4ZmYsMHgzNywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDkyLDB4ZmYsMHgzNywweGZmLDB4ZmYsMHhmZiwweDAxLDB4ZmYsMHg3ZiwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgyMywweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4N2UsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4ODMsMHhmZiwweDg3LDB4ZmYsMHhmZiwweGZmLDB4ZjEsMHhmZiwweDg2LDB4ZmYsMHg4YiwweGZmLDB4ZmYsMHhmZiwweDQxLDB4ZmYsCi0weDZjLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDJmLDB4ZmYsMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg4ZCwweGZmLDB4OGYsMHhmZiwweGZmLDB4ZmYsMHhjNSwweGZmLDB4MjAsMHhmZiwweDE0LDB4ZmYsMHhmZiwweGZmLDB4YWUsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDhiLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDg0LDB4ZmYsMHgwMCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg4YiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg4YSwweGZmLDB4NjQsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4ZTAsMHhmZiwKLTB4N2UsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsCi0weDAwLDB4ZmYsMHgzYywweGZmLDB4ZmYsMHhmZiwweGU1LDB4ZmYsMHgyMSwweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHg1ZSwweGZmLAotMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDU4LDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwKLTB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDA4LDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsCi0weDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxYywweGZmLAotMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxYywweGZmLDB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MWMsMHhmZiwKLTB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MWMsMHhmZiwweDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLAotMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLDB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwKLTB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwweDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLAotMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLDB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwKLTB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwweDAyLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDQwLDB4ZmYsCi0weDExLDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHg3OCwweGZmLDB4NDIsMHhmZiwweGZmLDB4ZmYsMHg1MCwweGZmLAotMHg0OCwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHhhMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHhiMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NTAsMHhmZiwKLTB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDhkLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDQwLDB4ZmYsCi0weDhkLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDUwLDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMSwweGZmLAotMHg4YiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg1MSwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGQwLDB4ZmYsCi0weDc4LDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwYywweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHg5MCwweGZmLAotMHgwYywweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHg2ZiwweGZmLDB4MjAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MDksMHhmZiwweDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsCi0weDAwLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsMHgwMCwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHgwOSwweGZmLAotMHgwMCwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHgwNiwweGZmLDB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MjYsMHhmZiwKLTB4OTgsMHhmZiwweGNjLDB4ZmYsMHhmZiwweGZmLDB4MzcsMHhmZiwweDAwLDB4ZmYsMHgzYywweGZmLDB4ZmYsMHhmZiwweGE1LDB4ZmYsCi0weDI0LDB4ZmYsMHgxNCwweGZmLDB4ZmYsMHhmZiwweGZlLDB4ZmYsMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHg3MywweGZmLAotMHgwOCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHgxNCwweGZmLDB4OTgsMHhmZiwweDIwLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDUwLDB4ZmYsMHhmZiwweGZmLDB4YzYsMHhmZiwweDY5LDB4ZmYsMHhjYywweGZmLDB4ZmYsMHhmZiwweDM3LDB4ZmYsCi0weDAwLDB4ZmYsMHgwNSwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4NTgsMHhmZiwweGZmLDB4ZmYsMHhjNiwweGZmLAotMHg5OCwweGZmLDB4MjAsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4NzIsMHhmZiwKLTB4MDgsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4MTQsMHhmZiwweDAwLDB4ZmYsMHg1MCwweGZmLDB4ZmYsMHhmZiwweGM2LDB4ZmYsCi0weDY5LDB4ZmYsMHhjYywweGZmLDB4ZmYsMHhmZiwweDM3LDB4ZmYsMHgwMCwweGZmLDB4MDUsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4NTgsMHhmZiwweGZmLDB4ZmYsMHhjNiwweGZmLDB4OTgsMHhmZiwweDIwLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4NzMsMHhmZiwweDA4LDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDE0LDB4ZmYsCi0weDAwLDB4ZmYsMHg1MCwweGZmLDB4ZmYsMHhmZiwweGM2LDB4ZmYsMHg2OSwweGZmLDB4MjAsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4MDUsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDU4LDB4ZmYsMHhmZiwweGZmLDB4YzYsMHhmZiwKLTB4MzAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDMwLDB4ZmYsMHg0NywweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHg1OCwweGZmLAotMHgxMCwweGZmLDB4MGYsMHhmZiwweGZmLDB4ZmYsMHgwMSwweGZmLDB4NjYsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MjYsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4OTQsMHhmZiwweDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDQwLDB4ZmYsMHg4MCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg0OSwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg0MCwweGZmLDB4MTYsMHhmZiwweDBmLDB4ZmYsMHhmZiwweGZmLDB4MDIsMHhmZiwKLTB4NjYsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDM4LDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweGI0LDB4ZmYsCi0weDBmLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweGY0LDB4ZmYsMHg0NywweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHgwYSwweGZmLAotMHg4MiwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4OGQsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4N2EsMHhmZiwKLTB4N2EsMHhmZiwweDI2LDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDEwLDB4ZmYsMHgyNywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDM4LDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweGI0LDB4ZmYsMHgyNywweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHhkMiwweGZmLAotMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4OGIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4MzAsMHhmZiwKLTB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsMHhhMCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2YSwweGZmLDB4MDAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwKLTB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwweDEwLDB4ZmYsMHgyNywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDI5LDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDkyLDB4ZmYsMHg0NiwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg4YiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwKLTB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsCi0weGEwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2YSwweGZmLAotMHgwMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MWMsMHhmZiwKLTB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MWMsMHhmZiwweDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDFjLDB4ZmYsCi0weDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDFjLDB4ZmYsMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLAotMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLDB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwKLTB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwweDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLAotMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLDB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwKLTB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwweDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLAotMHgwZCwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MTAsMHhmZiwweDI3LDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MzEsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4MTIsMHhmZiwweDMwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDA4LDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4NGYsMHhmZiwweGZmLDB4ZmYsMHg4OSwweGZmLAotMHg5MCwweGZmLDB4MzcsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDIsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwKLTB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MzQsMHhmZiwweDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDU1LDB4ZmYsCi0weDQ2LDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsMHgwMCwweGZmLDB4MGUsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg0ZSwweGZmLDB4YTcsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YTMsMHhmZiwweDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDRhLDB4ZmYsCi0weDQ2LDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDE4LDB4ZmYsMHgwMCwweGZmLDB4MGUsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg1ZSwweGZmLDB4YWYsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YTAsMHhmZiwweDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDVhLDB4ZmYsCi0weDQ2LDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDQ4LDB4ZmYsMHgxMCwweGZmLDB4MGYsMHhmZiwweGZmLDB4ZmYsMHhmZSwweGZmLAotMHg4NywweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhmZSwweGZmLDB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4MmUsMHhmZiwKLTB4MDIsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDYsMHhmZiwweGUwLDB4ZmYsMHgyMCwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAxLDB4ZmYsMHg2MywweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg0YSwweGZmLDB4NDksMHhmZiwweDZhLDB4ZmYsMHhmZiwweGZmLDB4YTMsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NWEsMHhmZiwweDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGEwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDVhLDB4ZmYsMHg2MywweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg0YSwweGZmLDB4NDksMHhmZiwweDZhLDB4ZmYsMHhmZiwweGZmLDB4YTMsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NWEsMHhmZiwweDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGEwLDB4ZmYsCi0weDYzLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg0YSwweGZmLAotMHg0OSwweGZmLDB4NmEsMHhmZiwweGZmLDB4ZmYsMHhhMywweGZmLDB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NWEsMHhmZiwKLTB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YTAsMHhmZiwweDYzLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDRhLDB4ZmYsMHg0OSwweGZmLDB4NmEsMHhmZiwweGZmLDB4ZmYsMHhhMywweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg1YSwweGZmLDB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YTAsMHhmZiwKLTB4NjMsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDRhLDB4ZmYsCi0weDQ5LDB4ZmYsMHg2YSwweGZmLDB4ZmYsMHhmZiwweGEzLDB4ZmYsMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg1YSwweGZmLAotMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhhMCwweGZmLDB4NjMsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NGEsMHhmZiwweDQ5LDB4ZmYsMHg2YSwweGZmLDB4ZmYsMHhmZiwweGEzLDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDVhLDB4ZmYsMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhhMCwweGZmLAotMHg2MywweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NGEsMHhmZiwKLTB4NDksMHhmZiwweDZhLDB4ZmYsMHhmZiwweGZmLDB4YTMsMHhmZiwweDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDVhLDB4ZmYsCi0weDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGExLDB4ZmYsMHg0NiwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHgyOCwweGZmLAotMHgwMCwweGZmLDB4MGUsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NGUsMHhmZiwKLTB4YTcsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGEzLDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDRhLDB4ZmYsMHg0NiwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHgzOCwweGZmLAotMHgwMCwweGZmLDB4MGUsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NWUsMHhmZiwKLTB4YWYsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGEwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDVhLDB4ZmYsMHg2MywweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg0YSwweGZmLDB4NDksMHhmZiwweDZhLDB4ZmYsMHhmZiwweGZmLDB4YTMsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NWEsMHhmZiwweDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGEwLDB4ZmYsCi0weDYzLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg0YSwweGZmLAotMHg0OSwweGZmLDB4NmEsMHhmZiwweGZmLDB4ZmYsMHhhMywweGZmLDB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NWEsMHhmZiwKLTB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YTAsMHhmZiwweDYzLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDRhLDB4ZmYsMHg0OSwweGZmLDB4NmEsMHhmZiwweGZmLDB4ZmYsMHhhMywweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg1YSwweGZmLDB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YTAsMHhmZiwKLTB4NjMsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDRhLDB4ZmYsCi0weDQ5LDB4ZmYsMHg2YSwweGZmLDB4ZmYsMHhmZiwweGEzLDB4ZmYsMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg1YSwweGZmLAotMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhhMCwweGZmLDB4NjMsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NGEsMHhmZiwweDQ5LDB4ZmYsMHg2YSwweGZmLDB4ZmYsMHhmZiwweGEzLDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDVhLDB4ZmYsMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhhMCwweGZmLAotMHg2MywweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NGEsMHhmZiwKLTB4NDksMHhmZiwweDZhLDB4ZmYsMHhmZiwweGZmLDB4YTMsMHhmZiwweDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDVhLDB4ZmYsCi0weDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGEwLDB4ZmYsMHg2MywweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg0YSwweGZmLDB4NDksMHhmZiwweDZhLDB4ZmYsMHhmZiwweGZmLDB4YTMsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NWEsMHhmZiwweDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGEzLDB4ZmYsCi0weGZmLDB4ZmYsMHg0ZiwweGZmLDB4ZmYsMHhmZiwweGYwLDB4ZmYsMHg4NiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg1MCwweGZmLAotMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwweGEwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDZhLDB4ZmYsMHgwMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLAotMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLDB4MTAsMHhmZiwweDI3LDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MzIsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4NDIsMHhmZiwweDhiLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGU0LDB4ZmYsCi0weDhiLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGY1LDB4ZmYsMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg0NCwweGZmLAotMHgwOCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4ZmYsMHhmZiwweDRmLDB4ZmYsMHhmZiwweGZmLDB4ODksMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4OGEsMHhmZiwweDAwLDB4ZmYsMHgwZSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDRlLDB4ZmYsMHhhNywweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg1YSwweGZmLDB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwKLTB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsCi0weGEwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2YSwweGZmLAotMHgwMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwKLTB4MTAsMHhmZiwweDI3LDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDM1LDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweGQyLDB4ZmYsCi0weDAwLDB4ZmYsMHg0YywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwYiwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHg4MCwweGZmLDB4MTEsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4ZjAsMHhmZiwKLTB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwweDExLDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweGUwLDB4ZmYsCi0weDQ2LDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDBhLDB4ZmYsMHg3YSwweGZmLDB4MjYsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgzNSwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHgyNCwweGZmLDB4MTAsMHhmZiwweDI3LDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MzMsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4YzUsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweGMwLDB4ZmYsCi0weDExLDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDYwLDB4ZmYsMHg4ZCwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhkMCwweGZmLAotMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwKLTB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsCi0weGEwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2YSwweGZmLAotMHgwMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwKLTB4MTAsMHhmZiwweDI3LDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDM0LDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDg1LDB4ZmYsCi0weDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDQwLDB4ZmYsMHgxMSwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2MCwweGZmLAotMHg4ZCwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhkMCwweGZmLDB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwKLTB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsCi0weGEwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2YSwweGZmLAotMHgwMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwKLTB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDExLDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDYwLDB4ZmYsCi0weDhkLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGQwLDB4ZmYsMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLAotMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwKLTB4YTAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDZhLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLAotMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4OGQsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ODAsMHhmZiwKLTB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDBkLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweGYwLDB4ZmYsMHgxMSwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHhmMCwweGZmLAotMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLDB4MTEsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4ZTAsMHhmZiwKLTB4ZmYsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4ZjAsMHhmZiwweDkwLDB4ZmYsMHgyNywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgxMCwweGZmLDB4MjcsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgzNywweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHg0MiwweGZmLDB4NDYsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4ODksMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4YTAsMHhmZiwweDQ2LDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsCi0weDg5LDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGIwLDB4ZmYsMHg0NiwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLAotMHg4OSwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhjMCwweGZmLDB4NDYsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4MzAsMHhmZiwKLTB4ODksMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZDAsMHhmZiwweDQ2LDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDQwLDB4ZmYsCi0weDg5LDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGUwLDB4ZmYsMHg0NiwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHg1MCwweGZmLAotMHg4OSwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhmMCwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwKLTB4ODYsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4NjAsMHhmZiwweDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsCi0weDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLAotMHhhMCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NmEsMHhmZiwKLTB4MDAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsCi0weDEwLDB4ZmYsMHgyNywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgzOSwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHgyMiwweGZmLAotMHg0NiwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4OGQsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwKLTB4NDYsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwweDhkLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDMwLDB4ZmYsCi0weDQ2LDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHg3OCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgzOCwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHg4NCwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDhkLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDQwLDB4ZmYsMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLAotMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwKLTB4YTAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDZhLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLAotMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4OGQsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4NTAsMHhmZiwKLTB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDAwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsMHgwMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgzMCwweGZmLAotMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4OGIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4NTAsMHhmZiwKLTB4MDAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsCi0weDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHgwZiwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHhmNCwweGZmLAotMHhlMCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NDEsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4MzAsMHhmZiwKLTB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDBmLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweGU0LDB4ZmYsCi0weGUwLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg0MiwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHg0MCwweGZmLAotMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4MGYsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4ZDQsMHhmZiwKLTB4ZTAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDQ3LDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweGEwLDB4ZmYsCi0weDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHgwZiwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHhjNCwweGZmLAotMHhlMCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NDYsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4ZDAsMHhmZiwKLTB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDBmLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweGI0LDB4ZmYsCi0weGUwLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg0OCwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHhlMCwweGZmLAotMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4MGYsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4YTQsMHhmZiwKLTB4ZTAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDRhLDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDYwLDB4ZmYsCi0weDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHgwZiwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHg5NCwweGZmLAotMHhlMCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NGMsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDBmLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDg0LDB4ZmYsCi0weGUwLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg0ZCwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHhlMCwweGZmLAotMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4MGYsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4NzQsMHhmZiwKLTB4ZTAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDRmLDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsCi0weDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHgwZiwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHg2NCwweGZmLAotMHhlMCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NGYsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4ZjAsMHhmZiwKLTB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDBlLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweGY0LDB4ZmYsCi0weGUwLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg0NCwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHg0MCwweGZmLAotMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4MGUsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4ZTQsMHhmZiwKLTB4ZTAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDQ1LDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDUwLDB4ZmYsCi0weDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHgwYSwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLAotMHhlMCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4M2QsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4ZDAsMHhmZiwKLTB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDBhLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDE0LDB4ZmYsCi0weGUwLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgzZiwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLAotMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4MGEsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MjQsMHhmZiwKLTB4ZTAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDNmLDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDgwLDB4ZmYsCi0weDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHgwYSwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgzNCwweGZmLAotMHhlMCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4M2YsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4ZjAsMHhmZiwKLTB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDBhLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDQ0LDB4ZmYsCi0weGUwLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg0MCwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHg2MCwweGZmLAotMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwweGEwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDZhLDB4ZmYsMHgwMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLAotMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLDB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwKLTB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsCi0weGEwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2YSwweGZmLAotMHgwMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4ZmYsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZjAsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDQ0LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDYwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MjEsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4ODAsMHhmZiwKLTB4ZmYsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZjAsMHhmZiwweDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsCi0weDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLAotMHhhMCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NmEsMHhmZiwKLTB4MjUsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGYwLDB4ZmYsCi0weDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLDB4YTAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NmEsMHhmZiwweGU5LDB4ZmYsMHg0MSwweGZmLDB4ZmYsMHhmZiwweDgwLDB4ZmYsCi0weGZmLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGYwLDB4ZmYsMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLAotMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwKLTB4YTAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDZhLDB4ZmYsCi0weGVkLDB4ZmYsMHg0MSwweGZmLDB4ZmYsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhmMCwweGZmLAotMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwweGEwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDZhLDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg0NCwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2MCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHhmMSwweGZmLDB4NDEsMHhmZiwweGZmLDB4ZmYsMHg4MCwweGZmLAotMHhmZiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhmMCwweGZmLDB4NDYsMHhmZiwweDg0LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwweDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NjAsMHhmZiwweGY3LDB4ZmYsMHg0ZiwweGZmLDB4ZmYsMHhmZiwweGY0LDB4ZmYsCi0weDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDc0LDB4ZmYsMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLAotMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwKLTB4YTAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDZhLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLAotMHg0NiwweGZmLDB4ODQsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwKLTB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MDYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4NDYsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHgwMiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgyMiwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDYyLDB4ZmYsMHhmNywweGZmLDB4NGYsMHhmZiwweGZmLDB4ZmYsMHhmNCwweGZmLAotMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg3NCwweGZmLDB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwKLTB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsCi0weGEwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2YSwweGZmLAotMHgwMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwKLTB4NDYsMHhmZiwweDg4LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsCi0weDAwLDB4ZmYsMHg1MCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDYwLDB4ZmYsCi0weGY3LDB4ZmYsMHg0ZiwweGZmLDB4ZmYsMHhmZiwweGY0LDB4ZmYsMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg3NCwweGZmLAotMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwweGEwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDZhLDB4ZmYsMHgwMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLAotMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLDB4NDYsMHhmZiwweDg4LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwweDAwLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4NDYsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwweDAwLDB4ZmYsMHg1OCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsCi0weDAwLDB4ZmYsMHg1MCwweGZmLDB4ZmYsMHhmZiwweDIzLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDYyLDB4ZmYsCi0weGY3LDB4ZmYsMHg0ZiwweGZmLDB4ZmYsMHhmZiwweGY0LDB4ZmYsMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg3NCwweGZmLAotMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwweGEwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDZhLDB4ZmYsMHgwMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLAotMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLDB4NDYsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4ZmYsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZTAsMHhmZiwweGZmLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGUyLDB4ZmYsCi0weDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDYyLDB4ZmYsMHhmNywweGZmLDB4NGYsMHhmZiwweGZmLDB4ZmYsMHhmNCwweGZmLAotMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg3NCwweGZmLDB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwKLTB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsCi0weGEwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2YSwweGZmLAotMHgwMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwKLTB4MDMsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NjAsMHhmZiwKLTB4MGMsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4ZjAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4ZjcsMHhmZiwweDRmLDB4ZmYsMHhmZiwweGZmLDB4ZjQsMHhmZiwKLTB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NzQsMHhmZiwweDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsCi0weDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLAotMHhhMCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NmEsMHhmZiwKLTB4MDAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsCi0weDQ2LDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDAyLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4NDYsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4MTMsMHhmZiwKLTB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDExLDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDYwLDB4ZmYsCi0weDhkLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGQwLDB4ZmYsMHgxMSwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHhmMiwweGZmLAotMHgxMSwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHhlMywweGZmLDB4ZjcsMHhmZiwweDRmLDB4ZmYsMHhmZiwweGZmLDB4ZjQsMHhmZiwKLTB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NzQsMHhmZiwweDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsCi0weDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLAotMHhhMCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NmEsMHhmZiwKLTB4MDAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsCi0weDQ2LDB4ZmYsMHg4NCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLAotMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgwNiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg0NiwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLAotMHhmZiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhlMCwweGZmLDB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MjIsMHhmZiwKLTB4NjcsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGUwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NjIsMHhmZiwweGY3LDB4ZmYsMHg0ZiwweGZmLDB4ZmYsMHhmZiwweGY0LDB4ZmYsCi0weDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDc0LDB4ZmYsMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLAotMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwKLTB4YTAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDZhLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLAotMHg0NiwweGZmLDB4ODQsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwKLTB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MDYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg0NiwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDQ2LDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhlMCwweGZmLAotMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHgzMiwweGZmLDB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4NzIsMHhmZiwKLTB4NjcsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGUwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NjcsMHhmZiwweGY3LDB4ZmYsMHg0ZiwweGZmLDB4ZmYsMHhmZiwweGY0LDB4ZmYsCi0weDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDc0LDB4ZmYsMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLAotMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwKLTB4YTAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDZhLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLAotMHg0NiwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHgwNSwweGZmLDB4MDMsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwYywweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHhmNSwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHhmNywweGZmLDB4NGYsMHhmZiwweGZmLDB4ZmYsMHhmNCwweGZmLAotMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg3NCwweGZmLDB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwKLTB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsCi0weGEwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2YSwweGZmLAotMHgwMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwKLTB4NDYsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDhkLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGMwLDB4ZmYsCi0weDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGM3LDB4ZmYsMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2NywweGZmLAotMHhmNywweGZmLDB4NGYsMHhmZiwweGZmLDB4ZmYsMHhmNCwweGZmLDB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NzQsMHhmZiwKLTB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsMHhhMCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2YSwweGZmLDB4MDAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwKLTB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwweDQ2LDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDhkLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGUwLDB4ZmYsMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhlNywweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDY3LDB4ZmYsMHhmNywweGZmLDB4NGYsMHhmZiwweGZmLDB4ZmYsMHhmNCwweGZmLAotMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg3NCwweGZmLDB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwKLTB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsCi0weGEwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2YSwweGZmLAotMHgwMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwKLTB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4ZDAsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDI0LDB4ZmYsCi0weGEwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgxMSwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2YSwweGZmLAotMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgxNCwweGZmLDB4MTgsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4NTEsMHhmZiwweDE0LDB4ZmYsMHhmZiwweGZmLDB4ODEsMHhmZiwweDkwLDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDYwLDB4ZmYsCi0weDgwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhkMCwweGZmLAotMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgxNCwweGZmLDB4YTAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MTEsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NmEsMHhmZiwweDMwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDE2LDB4ZmYsMHgxMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwNywweGZmLAotMHg5MCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHg3MSwweGZmLDB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MDksMHhmZiwKLTB4MGYsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4ZjUsMHhmZiwweDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDA3LDB4ZmYsCi0weDg4LDB4ZmYsMHg2MywweGZmLDB4ZmYsMHhmZiwweDI3LDB4ZmYsMHhlOCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwNywweGZmLAotMHg2MiwweGZmLDB4NjEsMHhmZiwweGZmLDB4ZmYsMHgyNywweGZmLDB4ODgsMHhmZiwweDJiLDB4ZmYsMHhmZiwweGZmLDB4OGIsMHhmZiwKLTB4ZTgsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDcsMHhmZiwweDYyLDB4ZmYsMHg2MSwweGZmLDB4ZmYsMHhmZiwweDE3LDB4ZmYsCi0weDg4LDB4ZmYsMHgyZiwweGZmLDB4ZmYsMHhmZiwweGZiLDB4ZmYsMHg4OSwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg5OCwweGZmLDB4MjAsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4ZWEsMHhmZiwweDIwLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4YWIsMHhmZiwweDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweGI4LDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweGNmLDB4ZmYsMHg2MiwweGZmLDB4MjEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgxMCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NjIsMHhmZiwweDIxLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MjQsMHhmZiwweDkwLDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDYwLDB4ZmYsCi0weDgwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg1MSwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg4YiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhlYiwweGZmLDB4OGIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZmMsMHhmZiwKLTB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDUxLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDhkLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGFjLDB4ZmYsMHg4MiwweGZmLDB4M2MsMHhmZiwweGZmLDB4ZmYsMHg0NSwweGZmLAotMHg1NCwweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHgyZSwweGZmLDB4ZmYsMHhmZiwweDNmLDB4ZmYsMHhmZiwweGZmLDB4ZjUsMHhmZiwKLTB4NTQsMHhmZiwweDE0LDB4ZmYsMHhmZiwweGZmLDB4MWUsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg1MSwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHgwYywweGZmLDB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4YTQsMHhmZiwKLTB4ZTAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDUzLDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweGIzLDB4ZmYsCi0weDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGQwLDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgyNCwweGZmLAotMHhhMCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4YmEsMHhmZiwKLTB4OGIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4ZjUsMHhmZiwweDExLDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDZiLDB4ZmYsCi0weDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDE0LDB4ZmYsMHgxOCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg1NSwweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHgyMSwweGZmLDB4OTAsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4NjAsMHhmZiwKLTB4ODAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsCi0weDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAxLDB4ZmYsMHg4YiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhlNCwweGZmLAotMHg4YiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhmNSwweGZmLDB4MDgsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4NjAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDQ5LDB4ZmYsMHgyYSwweGZmLDB4ZmYsMHhmZiwweGVhLDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDRlLDB4ZmYsMHg4YiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhlZSwweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg1YSwweGZmLDB4OGIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZmEsMHhmZiwKLTB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDMxLDB4ZmYsCi0weGUwLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHhjOSwweGZmLDB4MmEsMHhmZiwweGZmLDB4ZmYsMHhlYSwweGZmLAotMHg1NCwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHhkNSwweGZmLDB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NGUsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NWEsMHhmZiwweDgyLDB4ZmYsMHg0ZiwweGZmLDB4ZmYsMHhmZiwweGYwLDB4ZmYsCi0weGZmLDB4ZmYsMHg0ZiwweGZmLDB4ZmYsMHhmZiwweGYxLDB4ZmYsMHhlMCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHhjOSwweGZmLDB4MmEsMHhmZiwweGZmLDB4ZmYsMHhlYSwweGZmLDB4NTYsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4YjQsMHhmZiwKLTB4NTQsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4ZGYsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsCi0weDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHgwYywweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMiwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHg2MCwweGZmLDB4MTEsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwKLTB4MTYsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4NGYsMHhmZiwweDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGQwLDB4ZmYsCi0weDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDI0LDB4ZmYsMHhhMCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgxMSwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2YSwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MTQsMHhmZiwKLTB4MTgsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDU3LDB4ZmYsMHgxNCwweGZmLDB4ZmYsMHhmZiwweDkxLDB4ZmYsCi0weDkwLDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDYwLDB4ZmYsMHg4MCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhkMCwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MTQsMHhmZiwKLTB4YTAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDExLDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDZhLDB4ZmYsCi0weDMwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgxNiwweGZmLAotMHgxMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwNywweGZmLDB4OTAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4NzEsMHhmZiwKLTB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MDksMHhmZiwweDBmLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweGY1LDB4ZmYsCi0weDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDA3LDB4ZmYsMHg4OCwweGZmLDB4NjMsMHhmZiwweGZmLDB4ZmYsMHgyNywweGZmLAotMHhlOCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwNywweGZmLDB4NjIsMHhmZiwweDYxLDB4ZmYsMHhmZiwweGZmLDB4MjcsMHhmZiwKLTB4ODgsMHhmZiwweDJiLDB4ZmYsMHhmZiwweGZmLDB4OGIsMHhmZiwweGU4LDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDA3LDB4ZmYsCi0weDYyLDB4ZmYsMHg2MSwweGZmLDB4ZmYsMHhmZiwweDE3LDB4ZmYsMHg4OCwweGZmLDB4MmYsMHhmZiwweGZmLDB4ZmYsMHhmYiwweGZmLAotMHg4OSwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4OTgsMHhmZiwweDIwLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4ZWEsMHhmZiwweDIwLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweGFiLDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweGI4LDB4ZmYsMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHhjZiwweGZmLAotMHg2MiwweGZmLDB4MjEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MTAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4NjIsMHhmZiwweDIxLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDI0LDB4ZmYsCi0weDkwLDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDYwLDB4ZmYsMHg4MCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg1NywweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLDB4OGIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZWIsMHhmZiwKLTB4OGIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZmMsMHhmZiwweDVjLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDNmLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg1NywweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLAotMHg4ZCwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhhYywweGZmLDB4ODIsMHhmZiwweDNjLDB4ZmYsMHhmZiwweGZmLDB4NDUsMHhmZiwKLTB4NWEsMHhmZiwweDE0LDB4ZmYsMHhmZiwweGZmLDB4NGUsMHhmZiwweGZmLDB4ZmYsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGY1LDB4ZmYsCi0weDVhLDB4ZmYsMHgxNCwweGZmLDB4ZmYsMHhmZiwweDNlLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4NTcsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4MGMsMHhmZiwweDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGE0LDB4ZmYsCi0weGUwLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg1OSwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHhkMywweGZmLAotMHg1YywweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHgzZiwweGZmLDB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4ZDAsMHhmZiwKLTB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MjQsMHhmZiwweGEwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweGJhLDB4ZmYsMHg4YiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhmNSwweGZmLAotMHg1YywweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHgzZiwweGZmLDB4MTEsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NmIsMHhmZiwKLTB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MTQsMHhmZiwweDE4LDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDViLDB4ZmYsMHgxNCwweGZmLDB4ZmYsMHhmZiwweDYxLDB4ZmYsMHg5MCwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHg2MCwweGZmLAotMHg4MCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwKLTB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDEsMHhmZiwweDhiLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGU0LDB4ZmYsCi0weDhiLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGY1LDB4ZmYsMHgwOCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg2MCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NDksMHhmZiwweDJhLDB4ZmYsMHhmZiwweGZmLDB4ZWEsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NGUsMHhmZiwweDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGVlLDB4ZmYsCi0weDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGZhLDB4ZmYsMHg1ZSwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg1YiwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4OGIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwKLTB4NzgsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDBkLDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDA1LDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwOCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgxNCwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDUsMHhmZiwKLTB4OGIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4ZTAsMHhmZiwweDhiLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGYxLDB4ZmYsCi0weDYwLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg0OSwweGZmLDB4MmEsMHhmZiwweGZmLDB4ZmYsMHhlYSwweGZmLAotMHg4YiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhmYSwweGZmLDB4OGIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZWUsMHhmZiwKLTB4MGMsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDA4LDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgxNCwweGZmLAotMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwNSwweGZmLDB4OGIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4ZTAsMHhmZiwKLTB4OGIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4ZjEsMHhmZiwweDYwLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDQ5LDB4ZmYsMHgyYSwweGZmLDB4ZmYsMHhmZiwweGVhLDB4ZmYsMHg4YiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhmYSwweGZmLAotMHg4YiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhlZSwweGZmLDB4MGMsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NDAsMHhmZiwweDc4LDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDVlLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwOCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NTAsMHhmZiwKLTB4NzgsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDVmLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDU0LDB4ZmYsCi0weDBmLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweGY1LDB4ZmYsMHg5MCwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHhhOCwweGZmLAotMHgxMCwweGZmLDB4MGYsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLDB4OTAsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4OTAsMHhmZiwKLTB4ODgsMHhmZiwweDI3LDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweGI2LDB4ZmYsMHgyNywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDhiLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGZhLDB4ZmYsMHhmMiwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHgwYSwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MTQsMHhmZiwKLTB4ZTIsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDc0LDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweGUyLDB4ZmYsCi0weDM4LDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgyNCwweGZmLAotMHhlMiwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NzQsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4ZTIsMHhmZiwKLTB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDBmLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweGY1LDB4ZmYsCi0weDkwLDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDgwLDB4ZmYsMHg4YiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhlMiwweGZmLAotMHg4OCwweGZmLDB4MjcsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4OTgsMHhmZiwweDIwLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MTAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDcsMHhmZiwweGU4LDB4ZmYsMHgyMCwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweGFjLDB4ZmYsMHhmMiwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHgwYSwweGZmLDB4MDEsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwKLTB4ZTIsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDc0LDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweGUyLDB4ZmYsCi0weDM4LDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMiwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLAotMHhlMiwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NzQsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4ZTIsMHhmZiwKLTB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsCi0weDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweGQ0LDB4ZmYsMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHg4NSwweGZmLAotMHhmZiwweGZmLDB4NGYsMHhmZiwweGZmLDB4ZmYsMHg4OSwweGZmLDB4MDAsMHhmZiwweDA5LDB4ZmYsMHhmZiwweGZmLDB4MDEsMHhmZiwKLTB4ODksMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4YjgsMHhmZiwweDAwLDB4ZmYsMHgwZSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDRlLDB4ZmYsMHhhNywweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhhMywweGZmLDB4ODksMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4YTgsMHhmZiwKLTB4MDAsMHhmZiwweDBlLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDRlLDB4ZmYsCi0weGE3LDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhhMywweGZmLAotMHgwMCwweGZmLDB4MDksMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLDB4OGIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4YjAsMHhmZiwKLTB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAyLDB4ZmYsMHgzNSwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLAotMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgyNiwweGZmLDB4ODksMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4ZDgsMHhmZiwKLTB4MDAsMHhmZiwweDBlLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDRlLDB4ZmYsCi0weGE3LDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhhMywweGZmLAotMHg4OSwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhjOCwweGZmLDB4MDAsMHhmZiwweDBlLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NGUsMHhmZiwweGE3LDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGEzLDB4ZmYsMHgwMCwweGZmLDB4MDksMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLAotMHg4YiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhkMCwweGZmLDB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4MDIsMHhmZiwKLTB4MDEsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4ODAsMHhmZiwweDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweDAyLDB4ZmYsCi0weDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLAotMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwKLTB4OGIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4NDAsMHhmZiwweDMwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDQ5LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDQwLDB4ZmYsMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHg2MCwweGZmLDB4MDAsMHhmZiwweDkxLDB4ZmYsMHhmZiwweGZmLDB4ZjAsMHhmZiwKLTB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDAxLDB4ZmYsMHg0MiwweGZmLDB4ZmYsMHhmZiwweDgwLDB4ZmYsCi0weDAwLDB4ZmYsMHg5MSwweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHgwNywweGZmLDB4NDIsMHhmZiwweGZmLDB4ZmYsMHg4MCwweGZmLAotMHgwMywweGZmLDB4OTEsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4MDIsMHhmZiwweDQyLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDkxLDB4ZmYsMHhmZiwweGZmLDB4ZjAsMHhmZiwweDA4LDB4ZmYsMHg0MiwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAzLDB4ZmYsMHg5MSwweGZmLDB4ZmYsMHhmZiwweGYwLDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLAotMHgwMSwweGZmLDB4OTEsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwKLTB4MDQsMHhmZiwweDkxLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDA0LDB4ZmYsMHg0MiwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg0OSwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLAotMHg2MiwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDAwLDB4ZmYsMHg5MSwweGZmLDB4ZmYsMHhmZiwweGYwLDB4ZmYsCi0weDAxLDB4ZmYsMHg0MiwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg0OSwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLAotMHg2MiwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4NDAsMHhmZiwweDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDgwLDB4ZmYsCi0weDA1LDB4ZmYsMHgzNSwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg5MiwweGZmLDB4M2IsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLDB4MDAsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwKLTB4MDAsMHhmZiwweDNjLDB4ZmYsMHhmZiwweGZmLDB4NjUsMHhmZiwweDY1LDB4ZmYsMHgxNCwweGZmLDB4ZmYsMHhmZiwweDllLDB4ZmYsCi0weDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgxMywweGZmLAotMHgwMCwweGZmLDB4NzgsMHhmZiwweGZmLDB4ZmYsMHgxMywweGZmLDB4MDAsMHhmZiwweDc4LDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwKLTB4MDEsMHhmZiwweDQyLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDQ5LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsCi0weDYyLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHgwNSwweGZmLDB4ODEsMHhmZiwweGZmLDB4ZmYsMHhjMCwweGZmLAotMHg3OCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MjEsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4NzEsMHhmZiwKLTB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDQ5LDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDQ4LDB4ZmYsCi0weDEwLDB4ZmYsMHgwZiwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsMHg2NiwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg3NCwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHg1NCwweGZmLDB4ODYsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHhmZiwKLTB4NDksMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDYyLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsCi0weDg2LDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDgwLDB4ZmYsMHgwMSwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLAotMHhlMCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4ODYsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4OGEsMHhmZiwKLTB4NjcsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDg2LDB4ZmYsMHg4NywweGZmLDB4ZmYsMHhmZiwweGQwLDB4ZmYsCi0weDc1LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4ODIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4NDAsMHhmZiwKLTB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDA4LDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDg2LDB4ZmYsMHg4YiwweGZmLDB4ZmYsMHhmZiwweGIwLDB4ZmYsMHgwMCwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLAotMHgwMCwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHhmNCwweGZmLDB4ZmYsMHhmZiwweDRmLDB4ZmYsMHhmZiwweGZmLDB4ODksMHhmZiwKLTB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NjAsMHhmZiwweDg5LDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDQ0LDB4ZmYsCi0weDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAxLDB4ZmYsMHg4OSwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg1NSwweGZmLAotMHg2MCwweGZmLDB4MjYsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NDksMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDc4LDB4ZmYsMHhmZiwweGZmLDB4YTMsMHhmZiwweDEwLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHg3OCwweGZmLDB4ZmYsMHhmZiwweGEwLDB4ZmYsMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg2MCwweGZmLAotMHg4OSwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHgyNCwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDEsMHhmZiwKLTB4ODksMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4MzUsMHhmZiwweDYwLDB4ZmYsMHgyNiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDQ5LDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4NzgsMHhmZiwweGZmLDB4ZmYsMHhhMywweGZmLAotMHgxMCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDAsMHhmZiwweDc4LDB4ZmYsMHhmZiwweGZmLDB4YTMsMHhmZiwKLTB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NjAsMHhmZiwweDIwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsCi0weDYwLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg4ZCwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg2YSwweGZmLAotMHgwYywweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDgsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDg2LDB4ZmYsMHg4NywweGZmLDB4ZmYsMHhmZiwweGIwLDB4ZmYsCi0weDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsMHgwMSwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLAotMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgzNSwweGZmLDB4ZmYsMHhmZiwweDRmLDB4ZmYsMHhmZiwweGZmLDB4ODksMHhmZiwKLTB4MDAsMHhmZiwweDA5LDB4ZmYsMHhmZiwweGZmLDB4MDEsMHhmZiwweDg3LDB4ZmYsMHg4YiwweGZmLDB4ZmYsMHhmZiwweGUwLDB4ZmYsCi0weDAwLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDg4LDB4ZmYsMHgwMCwweGZmLDB4NzAsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLAotMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDcwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwKLTB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwweDg3LDB4ZmYsMHg5YiwweGZmLDB4ZmYsMHhmZiwweGUwLDB4ZmYsCi0weDBjLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMSwweGZmLDB4M2MsMHhmZiwweGZmLDB4ZmYsMHgwNSwweGZmLDB4NmEsMHhmZiwweDE0LDB4ZmYsMHhmZiwweGZmLDB4OWUsMHhmZiwKLTB4NjcsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4M2YsMHhmZiwweDY5LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDY2LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsMHgzOCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg2YSwweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHg4NSwweGZmLDB4OGIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NDAsMHhmZiwKLTB4NzgsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg4MiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg0MCwweGZmLAotMHg3OCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NmEsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4ZjQsMHhmZiwKLTB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsCi0weDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHg4NywweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhmMCwweGZmLAotMHg4NiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg4MCwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4OGQsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4NjAsMHhmZiwweDgyLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDQwLDB4ZmYsCi0weDg2LDB4ZmYsMHg4NywweGZmLDB4ZmYsMHhmZiwweDkwLDB4ZmYsMHgwMiwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLAotMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLDB4ODksMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwKLTB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwweDg5LDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDMwLDB4ZmYsCi0weDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsMHg4OSwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg0MCwweGZmLAotMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLDB4ODksMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4NTAsMHhmZiwKLTB4ODYsMHhmZiwweDk3LDB4ZmYsMHhmZiwweGZmLDB4OTAsMHhmZiwweDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDY0LDB4ZmYsMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgzNSwweGZmLAotMHgwMSwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHg5NiwweGZmLDB4MDAsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4MzQsMHhmZiwKLTB4MDAsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4NjUsMHhmZiwweDAxLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDk2LDB4ZmYsCi0weDAwLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsMHgwMiwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHg0OSwweGZmLAotMHgwMiwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHg0OSwweGZmLDB4MTAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDYsMHhmZiwKLTB4MTAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDIsMHhmZiwweDMwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgzYywweGZmLDB4ZmYsMHhmZiwweDI1LDB4ZmYsMHg2ZCwweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHhiZSwweGZmLAotMHg5OCwweGZmLDB4NTAsMHhmZiwweGZmLDB4ZmYsMHg3MywweGZmLDB4ODgsMHhmZiwweDUwLDB4ZmYsMHhmZiwweGZmLDB4NzMsMHhmZiwKLTB4ODMsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YzUsMHhmZiwweDg4LDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGM0LDB4ZmYsCi0weDgzLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGM1LDB4ZmYsMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhjNiwweGZmLAotMHg5OCwweGZmLDB4NTAsMHhmZiwweGZmLDB4ZmYsMHg3MywweGZmLDB4ODgsMHhmZiwweDUwLDB4ZmYsMHhmZiwweGZmLDB4NzMsMHhmZiwKLTB4ODMsMHhmZiwweDc4LDB4ZmYsMHhmZiwweGZmLDB4YzQsMHhmZiwweDg4LDB4ZmYsMHg3OCwweGZmLDB4ZmYsMHhmZiwweGM1LDB4ZmYsCi0weDgzLDB4ZmYsMHg3OCwweGZmLDB4ZmYsMHhmZiwweGM0LDB4ZmYsMHgwMCwweGZmLDB4NzgsMHhmZiwweGZmLDB4ZmYsMHhjNiwweGZmLAotMHg5OCwweGZmLDB4NTAsMHhmZiwweGZmLDB4ZmYsMHg3MywweGZmLDB4ODgsMHhmZiwweDUwLDB4ZmYsMHhmZiwweGZmLDB4NzMsMHhmZiwKLTB4ODMsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YzUsMHhmZiwweDg4LDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGM0LDB4ZmYsCi0weDgzLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGM1LDB4ZmYsMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhjNiwweGZmLAotMHgwMCwweGZmLDB4M2MsMHhmZiwweGZmLDB4ZmYsMHgyNSwweGZmLDB4NmUsMHhmZiwweDE0LDB4ZmYsMHhmZiwweGZmLDB4OGUsMHhmZiwKLTB4OTgsMHhmZiwweDUwLDB4ZmYsMHhmZiwweGZmLDB4NzMsMHhmZiwweDg4LDB4ZmYsMHg1MCwweGZmLDB4ZmYsMHhmZiwweDczLDB4ZmYsCi0weDgzLDB4ZmYsMHg3OCwweGZmLDB4ZmYsMHhmZiwweGM0LDB4ZmYsMHg4OCwweGZmLDB4NzgsMHhmZiwweGZmLDB4ZmYsMHhjNCwweGZmLAotMHgwMCwweGZmLDB4NzgsMHhmZiwweGZmLDB4ZmYsMHhjNCwweGZmLDB4MjAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweGU5LDB4ZmYsCi0weDAxLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDI4LDB4ZmYsMHgwMSwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHgyOSwweGZmLAotMHgwMCwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHg2NiwweGZmLDB4MDAsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4MzQsMHhmZiwKLTB4MDAsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4NzUsMHhmZiwweDEwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDA2LDB4ZmYsCi0weDAwLDB4ZmYsMHg0MSwweGZmLDB4ZmYsMHhmZiwweDA3LDB4ZmYsMHgzMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg5OCwweGZmLDB4NzAsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4MDAsMHhmZiwweDNjLDB4ZmYsMHhmZiwweGZmLDB4MjUsMHhmZiwKLTB4NzAsMHhmZiwweDE0LDB4ZmYsMHhmZiwweGZmLDB4MmUsMHhmZiwweDgwLDB4ZmYsMHg3MCwweGZmLDB4ZmYsMHhmZiwweDQyLDB4ZmYsCi0weDYzLDB4ZmYsMHg3MiwweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHg4MCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhhNywweGZmLAotMHgwMCwweGZmLDB4NzAsMHhmZiwweGZmLDB4ZmYsMHg0MSwweGZmLDB4NjMsMHhmZiwweDcyLDB4ZmYsMHhmZiwweGZmLDB4MjQsMHhmZiwKLTB4ODAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YTcsMHhmZiwweDAwLDB4ZmYsMHg3MCwweGZmLDB4ZmYsMHhmZiwweDQ2LDB4ZmYsCi0weDYzLDB4ZmYsMHg3MiwweGZmLDB4ZmYsMHhmZiwweDI0LDB4ZmYsMHg4MCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhhNywweGZmLAotMHgwMCwweGZmLDB4NzAsMHhmZiwweGZmLDB4ZmYsMHg0NSwweGZmLDB4NjMsMHhmZiwweDcyLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwKLTB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YTcsMHhmZiwweDgwLDB4ZmYsMHg3MCwweGZmLDB4ZmYsMHhmZiwweDQyLDB4ZmYsCi0weDYzLDB4ZmYsMHg3MiwweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHg4MCwweGZmLDB4NzAsMHhmZiwweGZmLDB4ZmYsMHg0MSwweGZmLAotMHg2MywweGZmLDB4NmEsMHhmZiwweGZmLDB4ZmYsMHhhNywweGZmLDB4MDAsMHhmZiwweDcwLDB4ZmYsMHhmZiwweGZmLDB4MjQsMHhmZiwKLTB4ODAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YTcsMHhmZiwweDAwLDB4ZmYsMHg3MCwweGZmLDB4ZmYsMHhmZiwweDQ0LDB4ZmYsCi0weDYzLDB4ZmYsMHg3MiwweGZmLDB4ZmYsMHhmZiwweDI0LDB4ZmYsMHg4MCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhhNywweGZmLAotMHhmMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwNSwweGZmLDB4MDAsMHhmZiwweDRmLDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4MGIsMHhmZiwweDgwLDB4ZmYsMHgyNywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDg4LDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHhlYSwweGZmLDB4MjAsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg3NCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YTcsMHhmZiwKLTB4MDAsMHhmZiwweDcwLDB4ZmYsMHhmZiwweGZmLDB4MjQsMHhmZiwweDgwLDB4ZmYsMHg3MCwweGZmLDB4ZmYsMHhmZiwweDQ0LDB4ZmYsCi0weDYzLDB4ZmYsMHg3MiwweGZmLDB4ZmYsMHhmZiwweDI0LDB4ZmYsMHg4MCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhhNywweGZmLAotMHgwMCwweGZmLDB4NGYsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLDB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4MGIsMHhmZiwKLTB4ODAsMHhmZiwweDI3LDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDg4LDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weGVhLDB4ZmYsMHgyMCwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg3NCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhhNywweGZmLDB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MzgsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDcyLDB4ZmYsMHgxNCwweGZmLDB4ZmYsMHhmZiwweDM1LDB4ZmYsCi0weDhiLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDMwLDB4ZmYsMHg3OCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MGUsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MTAsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwweDA4LDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDEwLDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDkwLDB4ZmYsMHgwMiwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHg0MCwweGZmLAotMHgxMSwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MTAsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4YjAsMHhmZiwweGIwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDUwLDB4ZmYsMHgzMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg0MCwweGZmLDB4NzgsMHhmZiwweDQyLDB4ZmYsMHhmZiwweGZmLDB4NTAsMHhmZiwKLTB4NDgsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4YTAsMHhmZiwweDQwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDQ5LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHgxOCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4MTgsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwKLTB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDE4LDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgxMSwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2MCwweGZmLDB4OGQsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZDAsMHhmZiwKLTB4MGIsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4ODAsMHhmZiwweDExLDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweGYwLDB4ZmYsCi0weDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsMHgxMSwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHhlMCwweGZmLAotMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDA4LDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHgyMiwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHg5ZiwweGZmLAotMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLDB4ODYsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwKLTB4MjIsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4OWYsMHhmZiwweDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDg2LDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHgyMiwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHg5ZiwweGZmLAotMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4ODYsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwKLTB4MjIsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4OWYsMHhmZiwweDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDQ4LDB4ZmYsCi0weDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsMHg4NiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhiMCwweGZmLAotMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLDB4ODYsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHhmZiwKLTB4ODYsMHhmZiwweDk3LDB4ZmYsMHhmZiwweGZmLDB4ZDAsMHhmZiwweDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDgwLDB4ZmYsMHgzNywweGZmLDB4ZmYsMHhmZiwweDAyLDB4ZmYsMHg4NCwweGZmLDB4M2IsMHhmZiwweGZmLDB4ZmYsMHgwMiwweGZmLAotMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwYiwweGZmLDB4MGMsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4OTAsMHhmZiwKLTB4MDAsMHhmZiwweDcwLDB4ZmYsMHhmZiwweGZmLDB4MGIsMHhmZiwweDBjLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweGIwLDB4ZmYsCi0weDg4LDB4ZmYsMHgzNywweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsMHg4YywweGZmLDB4M2IsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLAotMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMSwweGZmLDB4OGIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4NTEsMHhmZiwKLTB4ODIsMHhmZiwweDQzLDB4ZmYsMHhmZiwweGZmLDB4ODAsMHhmZiwweDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDYwLDB4ZmYsCi0weDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDg5LDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwYywweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg4MCwweGZmLDB4MGMsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4YTAsMHhmZiwKLTB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDgwLDB4ZmYsMHgzNywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsMHgwMiwweGZmLDB4M2MsMHhmZiwweGZmLDB4ZmYsMHg0NSwweGZmLAotMHg3NiwweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHhkZSwweGZmLDB4MDAsMHhmZiwweGEwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwKLTB4ODQsMHhmZiwweDM3LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsCi0weDAyLDB4ZmYsMHgzYywweGZmLDB4ZmYsMHhmZiwweDQ1LDB4ZmYsMHg3NywweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHgyZSwweGZmLAotMHgwMCwweGZmLDB4YTAsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLDB4N2UsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwweDAwLDB4ZmYsMHgzYywweGZmLDB4ZmYsMHhmZiwweGU1LDB4ZmYsCi0weDc3LDB4ZmYsMHgxNCwweGZmLDB4ZmYsMHhmZiwweDhlLDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4NTgsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLDB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4NjQsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4NGYsMHhmZiwweDM4LDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDc3LDB4ZmYsMHgxNCwweGZmLDB4ZmYsMHhmZiwweGU1LDB4ZmYsMHg4YiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg0MCwweGZmLAotMHg3OCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NjQsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4OGYsMHhmZiwKLTB4MzgsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDc4LDB4ZmYsMHgxNCwweGZmLDB4ZmYsMHhmZiwweDM1LDB4ZmYsCi0weDhiLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDQwLDB4ZmYsMHg3OCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MDksMHhmZiwKLTB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4ODUsMHhmZiwweDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDU2LDB4ZmYsCi0weDAwLDB4ZmYsMHgwOSwweGZmLDB4ZmYsMHhmZiwweDA2LDB4ZmYsMHgyMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMSwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHhjMSwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4NDQsMHhmZiwKLTB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4MDUsMHhmZiwweDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweDE1LDB4ZmYsCi0weDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweDA1LDB4ZmYsMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHg0NSwweGZmLAotMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4ODYsMHhmZiwweDg3LDB4ZmYsMHhmZiwweGZmLDB4ZjAsMHhmZiwKLTB4ODYsMHhmZiwweDhiLDB4ZmYsMHhmZiwweGZmLDB4ZTAsMHhmZiwweDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweGM4LDB4ZmYsCi0weDAwLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweGM4LDB4ZmYsMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLAotMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgxMywweGZmLDB4MDAsMHhmZiwweDc4LDB4ZmYsMHhmZiwweGZmLDB4MTMsMHhmZiwKLTB4MDAsMHhmZiwweDc4LDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwweDg2LDB4ZmYsMHg5NywweGZmLDB4ZmYsMHhmZiwweGYwLDB4ZmYsCi0weDg2LDB4ZmYsMHg5YiwweGZmLDB4ZmYsMHhmZiwweGUwLDB4ZmYsMHgwNSwweGZmLDB4ODEsMHhmZiwweGZmLDB4ZmYsMHhjMCwweGZmLAotMHg3OCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MjEsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4NzEsMHhmZiwKLTB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDdmLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDAxLDB4ZmYsCi0weDAwLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDA5LDB4ZmYsMHgwMCwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHgwNiwweGZmLAotMHg3ZSwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4YjEsMHhmZiwKLTB4MDgsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgzYywweGZmLDB4ZmYsMHhmZiwweGM1LDB4ZmYsCi0weDdhLDB4ZmYsMHgxNCwweGZmLDB4ZmYsMHhmZiwweGJlLDB4ZmYsMHgwMCwweGZmLDB4NTAsMHhmZiwweGZmLDB4ZmYsMHg0NiwweGZmLAotMHhlMSwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4N2EsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4ZTAsMHhmZiwKLTB4NjAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDAwLDB4ZmYsMHg1OCwweGZmLDB4ZmYsMHhmZiwweGE3LDB4ZmYsCi0weDBjLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHhjNCwweGZmLDB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsCi0weGZmLDB4ZmYsMHhmZiwweGZmIH07CmRpZmYgLS1naXQgYS9zb3VuZC9wY2kva29yZzEyMTIva29yZzEyMTIuYyBiL3NvdW5kL3BjaS9rb3JnMTIxMi9rb3JnMTIxMi5jCmluZGV4IGY0Yzg1YjUuLjRhNDRjMGYgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9rb3JnMTIxMi9rb3JnMTIxMi5jCisrKyBiL3NvdW5kL3BjaS9rb3JnMTIxMi9rb3JnMTIxMi5jCkBAIC0yNjAsMTQgKzI2MCw2IEBACiAjZGVmaW5lIENPTU1BTkRfQUNLX0RFTEFZICAgMTMgICAgICAgICAvLyBudW1iZXIgb2YgUlRDIHRpY2tzIHRvIHdhaXQgZm9yIGFuIGFja25vd2xlZGdlbWVudAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gICAgZnJvbSB0aGUgY2FyZCBhZnRlciBzZW5kaW5nIGEgY29tbWFuZC4KIAotI2lmZGVmIENPTkZJR19TTkRfS09SRzEyMTJfRklSTVdBUkVfSU5fS0VSTkVMCi0jaW5jbHVkZSAia29yZzEyMTItZmlybXdhcmUuaCIKLXN0YXRpYyBjb25zdCBzdHJ1Y3QgZmlybXdhcmUgc3RhdGljX2RzcF9jb2RlID0gewotCS5kYXRhID0gKHU4ICopZHNwQ29kZSwKLQkuc2l6ZSA9IHNpemVvZiBkc3BDb2RlCi19OwotI2VuZGlmCi0KIGVudW0gQ2xvY2tTb3VyY2VJbmRleCB7CiAgICBLMTIxMl9DTEtJRFhfQWRhdEF0NDRfMUsgPSAwLCAgICAvLyBzZWxlY3RzIHNvdXJjZSBhcyBBREFUIGF0IDQ0LjEga0h6CiAgICBLMTIxMl9DTEtJRFhfQWRhdEF0NDhLLCAgICAgICAgICAvLyBzZWxlY3RzIHNvdXJjZSBhcyBBREFUIGF0IDQ4IGtIegpAQCAtNDEyLDkgKzQwNCw3IEBACiBNT0RVTEVfREVTQ1JJUFRJT04oImtvcmcxMjEyIik7CiBNT0RVTEVfTElDRU5TRSgiR1BMIik7CiBNT0RVTEVfU1VQUE9SVEVEX0RFVklDRSgie3tLT1JHLGtvcmcxMjEyfX0iKTsKLSNpZm5kZWYgQ09ORklHX1NORF9LT1JHMTIxMl9GSVJNV0FSRV9JTl9LRVJORUwKIE1PRFVMRV9GSVJNV0FSRSgia29yZy9rMTIxMi5kc3AiKTsKLSNlbmRpZgogCiBzdGF0aWMgaW50IGluZGV4W1NORFJWX0NBUkRTXSA9IFNORFJWX0RFRkFVTFRfSURYOyAgICAgLyogSW5kZXggMC1NQVggKi8KIHN0YXRpYyBjaGFyICppZFtTTkRSVl9DQVJEU10gPSBTTkRSVl9ERUZBVUxUX1NUUjsJICAgLyogSUQgZm9yIHRoaXMgY2FyZCAqLwpAQCAtMjM0OCw5ICsyMzM4LDYgQEAKICAgICAgICAga29yZzEyMTItPkFkYXRUaW1lQ29kZVBoeSA9IGtvcmcxMjEyLT5zaGFyZWRCdWZmZXJQaHkgKwogCQlvZmZzZXRvZihzdHJ1Y3QgS29yZ1NoYXJlZEJ1ZmZlciwgQWRhdFRpbWVDb2RlKTsKIAotI2lmZGVmIENPTkZJR19TTkRfS09SRzEyMTJfRklSTVdBUkVfSU5fS0VSTkVMCi0JZHNwX2NvZGUgPSAmc3RhdGljX2RzcF9jb2RlOwotI2Vsc2UKIAllcnIgPSByZXF1ZXN0X2Zpcm13YXJlKCZkc3BfY29kZSwgImtvcmcvazEyMTIuZHNwIiwgJnBjaS0+ZGV2KTsKIAlpZiAoZXJyIDwgMCkgewogCQlyZWxlYXNlX2Zpcm13YXJlKGRzcF9jb2RlKTsKQEAgLTIzNTgsMTUgKzIzNDUsMTIgQEAKIAkJc25kX2tvcmcxMjEyX2ZyZWUoa29yZzEyMTIpOwogCQlyZXR1cm4gZXJyOwogCX0KLSNlbmRpZgogCiAJaWYgKHNuZF9kbWFfYWxsb2NfcGFnZXMoU05EUlZfRE1BX1RZUEVfREVWLCBzbmRfZG1hX3BjaV9kYXRhKHBjaSksCiAJCQkJZHNwX2NvZGUtPnNpemUsICZrb3JnMTIxMi0+ZG1hX2RzcCkgPCAwKSB7CiAJCXNuZF9wcmludGsoS0VSTl9FUlIgImtvcmcxMjEyOiBjYW5ub3QgYWxsb2NhdGUgZHNwIGNvZGUgbWVtb3J5ICglemQgYnl0ZXMpXG4iLCBkc3BfY29kZS0+c2l6ZSk7CiAgICAgICAgICAgICAgICAgc25kX2tvcmcxMjEyX2ZyZWUoa29yZzEyMTIpOwotI2lmbmRlZiBDT05GSUdfU05EX0tPUkcxMjEyX0ZJUk1XQVJFX0lOX0tFUk5FTAogCQlyZWxlYXNlX2Zpcm13YXJlKGRzcF9jb2RlKTsKLSNlbmRpZgogICAgICAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOwogICAgICAgICB9CiAKQEAgLTIzNzYsOSArMjM2MCw3IEBACiAKIAltZW1jcHkoa29yZzEyMTItPmRtYV9kc3AuYXJlYSwgZHNwX2NvZGUtPmRhdGEsIGRzcF9jb2RlLT5zaXplKTsKIAotI2lmbmRlZiBDT05GSUdfU05EX0tPUkcxMjEyX0ZJUk1XQVJFX0lOX0tFUk5FTAogCXJlbGVhc2VfZmlybXdhcmUoZHNwX2NvZGUpOwotI2VuZGlmCiAKIAlyYyA9IHNuZF9rb3JnMTIxMl9TZW5kMTIxMkNvbW1hbmQoa29yZzEyMTIsIEsxMjEyX0RCX1JlYm9vdENhcmQsIDAsIDAsIDAsIDApOwogCmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvbWFlc3RybzMuYyBiL3NvdW5kL3BjaS9tYWVzdHJvMy5jCmluZGV4IGE1MzZjNTkuLjAwMzdiZTcgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9tYWVzdHJvMy5jCisrKyBiL3NvdW5kL3BjaS9tYWVzdHJvMy5jCkBAIC01OCwxMCArNTgsOCBAQAogCQkie0VTUyxBbGxlZ3JvIFBDSX0sIgogCQkie0VTUyxBbGxlZ3JvLTEgUENJfSwiCiAJICAgICAgICAie0VTUyxDYW55b24zRC0yL0xFIFBDSX19Iik7Ci0jaWZuZGVmIENPTkZJR19TTkRfTUFFU1RSTzNfRklSTVdBUkVfSU5fS0VSTkVMCiBNT0RVTEVfRklSTVdBUkUoImVzcy9tYWVzdHJvM19hc3NwX2tlcm5lbC5mdyIpOwogTU9EVUxFX0ZJUk1XQVJFKCJlc3MvbWFlc3RybzNfYXNzcF9taW5pc3JjLmZ3Iik7Ci0jZW5kaWYKIAogc3RhdGljIGludCBpbmRleFtTTkRSVl9DQVJEU10gPSBTTkRSVl9ERUZBVUxUX0lEWDsJLyogSW5kZXggMC1NQVggKi8KIHN0YXRpYyBjaGFyICppZFtTTkRSVl9DQVJEU10gPSBTTkRSVl9ERUZBVUxUX1NUUjsJLyogSUQgZm9yIHRoaXMgY2FyZCAqLwpAQCAtMjEwMSwxNjMgKzIwOTksNiBAQAogfQogCiAKLSNpZmRlZiBDT05GSUdfU05EX01BRVNUUk8zX0ZJUk1XQVJFX0lOX0tFUk5FTAotCi0vKgotICogRFNQIENvZGUgaW1hZ2VzCi0gKi8KLQotc3RhdGljIGNvbnN0IHUxNiBhc3NwX2tlcm5lbF9pbWFnZVtdID0gewotICAgIDB4Nzk4MCwgMHgwMDMwLCAweDc5ODAsIDB4MDNCNCwgMHg3OTgwLCAweDAzQjQsIDB4Nzk4MCwgMHgwMEZCLCAweDc5ODAsIDB4MDBERCwgMHg3OTgwLCAweDAzQjQsIAotICAgIDB4Nzk4MCwgMHgwMzMyLCAweDc5ODAsIDB4MDI4NywgMHg3OTgwLCAweDAzQjQsIDB4Nzk4MCwgMHgwM0I0LCAweDc5ODAsIDB4MDNCNCwgMHg3OTgwLCAweDAzQjQsIAotICAgIDB4Nzk4MCwgMHgwMzFBLCAweDc5ODAsIDB4MDNCNCwgMHg3OTgwLCAweDAyMkYsIDB4Nzk4MCwgMHgwM0I0LCAweDc5ODAsIDB4MDNCNCwgMHg3OTgwLCAweDAzQjQsIAotICAgIDB4Nzk4MCwgMHgwM0I0LCAweDc5ODAsIDB4MDNCNCwgMHg3OTgwLCAweDAwNjMsIDB4Nzk4MCwgMHgwMDZCLCAweDc5ODAsIDB4MDNCNCwgMHg3OTgwLCAweDAzQjQsIAotICAgIDB4QkY4MCwgMHgyQzdDLCAweDg4MDYsIDB4ODgwNCwgMHhCRTQwLCAweEJDMjAsIDB4QUUwOSwgMHgxMDAwLCAweEFFMEEsIDB4MDAwMSwgMHg2OTM4LCAweEVCMDgsIAotICAgIDB4MDA1MywgMHg2OTVBLCAweEVCMDgsIDB4MDBENiwgMHgwMDA5LCAweDhCODgsIDB4Njk4MCwgMHhFMzg4LCAweDAwMzYsIDB4QkUzMCwgMHhCQzIwLCAweDY5MDksIAotICAgIDB4QjgwMSwgMHg5MDA5LCAweEJFNDEsIDB4QkU0MSwgMHg2OTI4LCAweEVCODgsIDB4MDA3OCwgMHhCRTQxLCAweEJFNDAsIDB4Nzk4MCwgMHgwMDM4LCAweEJFNDEsIAotICAgIDB4QkU0MSwgMHg5MDNBLCAweDY5MzgsIDB4RTMwOCwgMHgwMDU2LCAweDkwM0EsIDB4QkU0MSwgMHhCRTQwLCAweEVGMDAsIDB4OTAzQSwgMHg2OTM5LCAweEUzMDgsIAotICAgIDB4MDA1RSwgMHg5MDNBLCAweEVGMDAsIDB4NjkwQiwgMHg2NjBDLCAweEVGOEMsIDB4NjkwQSwgMHg2NjBDLCAweDYyMEIsIDB4NjYwOSwgMHhFRjAwLCAweDY5MTAsIAotICAgIDB4NjYwRiwgMHhFRjA0LCAweEUzODgsIDB4MDA3NSwgMHg2OTBFLCAweDY2MEYsIDB4NjIxMCwgMHg2NjBELCAweEVGMDAsIDB4NjkwRSwgMHg2NjBELCAweEVGMDAsIAotICAgIDB4QUU3MCwgMHgwMDAxLCAweEJDMjAsIDB4QUUyNywgMHgwMDAxLCAweDY5MzksIDB4RUIwOCwgMHgwMDVELCAweDY5MjYsIDB4QjgwMSwgMHg5MDI2LCAweDAwMjYsIAotICAgIDB4OEI4OCwgMHg2OTgwLCAweEUzODgsIDB4MDBDQiwgMHg5MDI4LCAweDBEMjgsIDB4NDIxMSwgMHhFMTAwLCAweDAwN0EsIDB4NDcxMSwgMHhFMTAwLCAweDAwQTAsIAotICAgIDB4N0E4MCwgMHgwMDYzLCAweEI4MTEsIDB4NjYwQSwgMHg2MjA5LCAweEUzMDQsIDB4MDA3QSwgMHgwQzBCLCAweDQwMDUsIDB4MTAwQSwgMHhCQTAxLCAweDkwMTIsIAotICAgIDB4MEMxMiwgMHg0MDAyLCAweDc5ODAsIDB4MDBBRiwgMHg3QTgwLCAweDAwNkIsIDB4QkUwMiwgMHg2MjBFLCAweDY2MEQsIDB4QkExMCwgMHhFMzQ0LCAweDAwN0EsIAotICAgIDB4MEMxMCwgMHg0MDA1LCAweDEwMEUsIDB4QkEwMSwgMHg5MDEyLCAweDBDMTIsIDB4NDAwMiwgMHgxMDAzLCAweEJBMDIsIDB4OTAxMiwgMHgwQzEyLCAweDQwMDAsIAotICAgIDB4MTAwMywgMHhFMzg4LCAweDAwQkEsIDB4MTAwNCwgMHg3OTgwLCAweDAwQkMsIDB4MTAwNCwgMHhCQTAxLCAweDkwMTIsIDB4MEMxMiwgMHg0MDAxLCAweDBDMDUsIAotICAgIDB4NDAwMywgMHgwQzA2LCAweDQwMDQsIDB4MTAxMSwgMHhCRkIwLCAweDAxRkYsIDB4OTAxMiwgMHgwQzEyLCAweDQwMDYsIDB4QkMyMCwgMHhFRjAwLCAweEFFMjYsIAotICAgIDB4MTAyOCwgMHg2OTcwLCAweEJGRDAsIDB4MDAwMSwgMHg5MDcwLCAweEUzODgsIDB4MDA3QSwgMHhBRTI4LCAweDAwMDAsIDB4RUYwMCwgMHhBRTcwLCAweDAzMDAsIAotICAgIDB4MEM3MCwgMHhCMDBDLCAweEFFNUEsIDB4MDAwMCwgMHhFRjAwLCAweDdBODAsIDB4MDM4QSwgMHg2OTdGLCAweEI4MDEsIDB4OTA3RiwgMHgwMDU2LCAweDhCODgsIAotICAgIDB4MENBMCwgMHhCMDA4LCAweEFGNzEsIDB4QjAwMCwgMHg0RTcxLCAweEUyMDAsIDB4MDBGMywgMHhBRTU2LCAweDEwNTcsIDB4MDA1NiwgMHgwQ0EwLCAweEIwMDgsIAotICAgIDB4ODA1NiwgMHg3OTgwLCAweDAzQTEsIDB4MDgxMCwgMHhCRkEwLCAweDEwNTksIDB4RTMwNCwgMHgwM0ExLCAweDgwNTYsIDB4Nzk4MCwgMHgwM0ExLCAweDdBODAsIAotICAgIDB4MDM4QSwgMHhCRjAxLCAweEJFNDMsIDB4QkU1OSwgMHg5MDdDLCAweDY5MzcsIDB4RTM4OCwgMHgwMTBELCAweEJBMDEsIDB4RTMwOCwgMHgwMTBDLCAweEFFNzEsIAotICAgIDB4MDAwNCwgMHgwQzcxLCAweDUwMDAsIDB4NjkzNiwgMHg5MDM3LCAweEJGMEEsIDB4MTA5RSwgMHg4QjhBLCAweEFGODAsIDB4ODAxNCwgMHg0QzgwLCAweEJGMEEsIAotICAgIDB4MDU2MCwgMHhGNTAwLCAweEJGMEEsIDB4MDUyMCwgMHhCOTAwLCAweEJCMTcsIDB4OTBBMCwgMHg2OTE3LCAweEUzODgsIDB4MDE0OCwgMHgwRDE3LCAweEUxMDAsIAotICAgIDB4MDEyNywgMHhCRjBDLCAweDA1NzgsIDB4QkYwRCwgMHgwNTdDLCAweDc5ODAsIDB4MDEyQiwgMHhCRjBDLCAweDA1MzgsIDB4QkYwRCwgMHgwNTNDLCAweDY5MDAsIAotICAgIDB4RTMwOCwgMHgwMTM1LCAweDhCOEMsIDB4QkU1OSwgMHhCQjA3LCAweDkwQTAsIDB4QkMyMCwgMHg3OTgwLCAweDAxNTcsIDB4MDMwQywgMHg4QjhCLCAweEI5MDMsIAotICAgIDB4ODgwOSwgMHhCRUM2LCAweDAxM0UsIDB4NjlBQywgMHg5MEFCLCAweDY5QUQsIDB4OTBBQiwgMHgwODEzLCAweDY2MEEsIDB4RTM0NCwgMHgwMTQ0LCAweDAzMDksIAotICAgIDB4ODMwQywgMHhCQzIwLCAweDc5ODAsIDB4MDE1NywgMHg2OTU1LCAweEUzODgsIDB4MDE1NywgMHg3QzM4LCAweEJGMEIsIDB4MDU3OCwgMHhGNTAwLCAweEJGMEIsIAotICAgIDB4MDUzOCwgMHhCOTA3LCAweDg4MDksIDB4QkVDNiwgMHgwMTU2LCAweDEwQUIsIDB4OTBBQSwgMHg2OTc0LCAweEUzODgsIDB4MDE2MywgMHhBRTcyLCAweDA1NDAsIAotICAgIDB4RjUwMCwgMHhBRTcyLCAweDA1MDAsIDB4QUU2MSwgMHgxMDNCLCAweDdBODAsIDB4MDJGNiwgMHg2OTc4LCAweEUzODgsIDB4MDE4MiwgMHg4QjhDLCAweEJGMEMsIAotICAgIDB4MDU2MCwgMHhFNTAwLCAweDdDNDAsIDB4MDgxNCwgMHhCQTIwLCAweDg4MTIsIDB4NzMzRCwgMHg3QTgwLCAweDAzODAsIDB4NzMzRSwgMHg3QTgwLCAweDAzODAsIAotICAgIDB4OEI4QywgMHhCRjBDLCAweDA1NkMsIDB4RTUwMCwgMHg3QzQwLCAweDA4MTQsIDB4QkEyQywgMHg4ODEyLCAweDczM0YsIDB4N0E4MCwgMHgwMzgwLCAweDczNDAsIAotICAgIDB4N0E4MCwgMHgwMzgwLCAweDY5NzUsIDB4RTM4OCwgMHgwMThFLCAweEFFNzIsIDB4MDU0OCwgMHhGNTAwLCAweEFFNzIsIDB4MDUwOCwgMHhBRTYxLCAweDEwNDEsIAotICAgIDB4N0E4MCwgMHgwMkY2LCAweDY5NzksIDB4RTM4OCwgMHgwMUFELCAweDhCOEMsIDB4QkYwQywgMHgwNTYwLCAweEU1MDAsIDB4N0M0MCwgMHgwODE0LCAweEJBMTgsIAotICAgIDB4ODgxMiwgMHg3MzQzLCAweDdBODAsIDB4MDM4MCwgMHg3MzQ0LCAweDdBODAsIDB4MDM4MCwgMHg4QjhDLCAweEJGMEMsIDB4MDU2QywgMHhFNTAwLCAweDdDNDAsIAotICAgIDB4MDgxNCwgMHhCQTI0LCAweDg4MTIsIDB4NzM0NSwgMHg3QTgwLCAweDAzODAsIDB4NzM0NiwgMHg3QTgwLCAweDAzODAsIDB4Njk3NiwgMHhFMzg4LCAweDAxQjksIAotICAgIDB4QUU3MiwgMHgwNTU4LCAweEY1MDAsIDB4QUU3MiwgMHgwNTE4LCAweEFFNjEsIDB4MTA0NywgMHg3QTgwLCAweDAyRjYsIDB4Njk3QSwgMHhFMzg4LCAweDAxRDgsIAotICAgIDB4OEI4QywgMHhCRjBDLCAweDA1NjAsIDB4RTUwMCwgMHg3QzQwLCAweDA4MTQsIDB4QkEwOCwgMHg4ODEyLCAweDczNDksIDB4N0E4MCwgMHgwMzgwLCAweDczNEEsIAotICAgIDB4N0E4MCwgMHgwMzgwLCAweDhCOEMsIDB4QkYwQywgMHgwNTZDLCAweEU1MDAsIDB4N0M0MCwgMHgwODE0LCAweEJBMTQsIDB4ODgxMiwgMHg3MzRCLCAweDdBODAsIAotICAgIDB4MDM4MCwgMHg3MzRDLCAweDdBODAsIDB4MDM4MCwgMHhCQzIxLCAweEFFMUMsIDB4MTA5MCwgMHg4QjhBLCAweEJGMEEsIDB4MDU2MCwgMHhFNTAwLCAweDdDNDAsIAotICAgIDB4MDgxMiwgMHhCODA0LCAweDg4MTMsIDB4OEI4RCwgMHhCRjBELCAweDA1NkMsIDB4RTUwMCwgMHg3QzQwLCAweDA4MTUsIDB4QjgwNCwgMHg4ODExLCAweDdBODAsIAotICAgIDB4MDM0QSwgMHg4QjhBLCAweEJGMEEsIDB4MDU2MCwgMHhFNTAwLCAweDdDNDAsIDB4NzMxRiwgMHhCOTAzLCAweDg4MDksIDB4QkVDNiwgMHgwMUY5LCAweDU0OEEsIAotICAgIDB4QkUwMywgMHg5OEEwLCAweDczMjAsIDB4QjkwMywgMHg4ODA5LCAweEJFQzYsIDB4MDIwMSwgMHg1NDhBLCAweEJFMDMsIDB4OThBMCwgMHgxRjIwLCAweDJGMUYsIAotICAgIDB4OTgyNiwgMHhCQzIwLCAweDY5MzUsIDB4RTM4OCwgMHgwM0ExLCAweDY5MzMsIDB4QjgwMSwgMHg5MDMzLCAweEJGQTAsIDB4MDJFRSwgMHhFMzA4LCAweDAzQTEsIAotICAgIDB4OTAzMywgMHhCRjAwLCAweDY5NTEsIDB4RTM4OCwgMHgwMjFGLCAweDczMzQsIDB4QkU4MCwgMHg1NzYwLCAweEJFMDMsIDB4OUY3RSwgMHhCRTU5LCAweDkwMzQsIAotICAgIDB4Njk3RSwgMHgwRDUxLCAweDkwMTMsIDB4QkMyMCwgMHg2OTVDLCAweEUzODgsIDB4MDNBMSwgMHg3MzVFLCAweEJFODAsIDB4NTc2MCwgMHhCRTAzLCAweDlGN0UsIAotICAgIDB4QkU1OSwgMHg5MDVFLCAweDY5N0UsIDB4MEQ1QywgMHg5MDEzLCAweDc5ODAsIDB4MDNBMSwgMHg3QTgwLCAweDAzOEEsIDB4QkYwMSwgMHhCRTQzLCAweDY5NzcsIAotICAgIDB4RTM4OCwgMHgwMjRFLCAweEFFNjEsIDB4MTA0RCwgMHgwMDYxLCAweDhCODgsIDB4Njk4MCwgMHhFMzg4LCAweDAyNEUsIDB4OTA3MSwgMHgwRDcxLCAweDAwMEIsIAotICAgIDB4QUZBMCwgMHg4MDEwLCAweEFGQTAsIDB4ODAxMCwgMHgwODEwLCAweDY2MEEsIDB4RTMwOCwgMHgwMjQ5LCAweDAwMDksIDB4MDgxMCwgMHg2NjBDLCAweEUzODgsIAotICAgIDB4MDI0RSwgMHg4MDBCLCAweEJDMjAsIDB4Njk3QiwgMHhFMzg4LCAweDAzQTEsIDB4QkYwQSwgMHgxMDlFLCAweDhCOEEsIDB4QUY4MCwgMHg4MDE0LCAweDRDODAsIAotICAgIDB4RTEwMCwgMHgwMjY2LCAweDY5N0MsIDB4QkY5MCwgMHgwNTYwLCAweDkwNzIsIDB4MDM3MiwgMHg2OTdDLCAweEJGOTAsIDB4MDU2NCwgMHg5MDczLCAweDA0NzMsIAotICAgIDB4Nzk4MCwgMHgwMjcwLCAweDY5N0MsIDB4QkY5MCwgMHgwNTIwLCAweDkwNzIsIDB4MDM3MiwgMHg2OTdDLCAweEJGOTAsIDB4MDUyNCwgMHg5MDczLCAweDA0NzMsIAotICAgIDB4Njk3QywgMHhCODAxLCAweDkwN0MsIDB4QkYwQSwgMHgxMEZELCAweDhCOEEsIDB4QUY4MCwgMHg4MDEwLCAweDczNEYsIDB4NTQ4QSwgMHhCRTAzLCAweDk4ODAsIAotICAgIDB4QkMyMSwgMHg3MzI2LCAweDU0OEIsIDB4QkUwMywgMHg2MThCLCAweDk4OEMsIDB4QkUwMywgMHg2MTgwLCAweDk4ODAsIDB4Nzk4MCwgMHgwM0ExLCAweDdBODAsIAotICAgIDB4MDM4QSwgMHgwRDI4LCAweDQ3MTEsIDB4RTEwMCwgMHgwMkJFLCAweEFGMTIsIDB4NDAwNiwgMHg2OTEyLCAweEJGQjAsIDB4MEMwMCwgMHhFMzg4LCAweDAyQjYsIAotICAgIDB4QkZBMCwgMHgwODAwLCAweEUzODgsIDB4MDJCMiwgMHg2OTEyLCAweEJGQjAsIDB4MEMwMCwgMHhCRkEwLCAweDA0MDAsIDB4RTM4OCwgMHgwMkEzLCAweDY5MDksIAotICAgIDB4OTAwQiwgMHg3OTgwLCAweDAyQTUsIDB4QUYwQiwgMHg0MDA1LCAweDY5MDEsIDB4OTAwNSwgMHg2OTAyLCAweDkwMDYsIDB4NDMxMSwgMHhFMTAwLCAweDAyRUQsIAotICAgIDB4NjkxMSwgMHhCRkMwLCAweDIwMDAsIDB4OTAxMSwgMHg3OTgwLCAweDAyRUQsIDB4NjkwOSwgMHg5MDBCLCAweDc5ODAsIDB4MDJCOCwgMHhBRjBCLCAweDQwMDUsIAotICAgIDB4QUYwNSwgMHg0MDAzLCAweEFGMDYsIDB4NDAwNCwgMHg3OTgwLCAweDAyRUQsIDB4QUYxMiwgMHg0MDA2LCAweDY5MTIsIDB4QkZCMCwgMHgwQzAwLCAweEUzODgsIAotICAgIDB4MDJFNywgMHhCRkEwLCAweDA4MDAsIDB4RTM4OCwgMHgwMkUzLCAweDY5MTIsIDB4QkZCMCwgMHgwQzAwLCAweEJGQTAsIDB4MDQwMCwgMHhFMzg4LCAweDAyRDQsIAotICAgIDB4NjkwRCwgMHg5MDEwLCAweDc5ODAsIDB4MDJENiwgMHhBRjEwLCAweDQwMDUsIDB4NjkwMSwgMHg5MDA1LCAweDY5MDIsIDB4OTAwNiwgMHg0MzExLCAweEUxMDAsIAotICAgIDB4MDJFRCwgMHg2OTExLCAweEJGQzAsIDB4MjAwMCwgMHg5MDExLCAweDc5ODAsIDB4MDJFRCwgMHg2OTBELCAweDkwMTAsIDB4Nzk4MCwgMHgwMkU5LCAweEFGMTAsIAotICAgIDB4NDAwNSwgMHhBRjA1LCAweDQwMDMsIDB4QUYwNiwgMHg0MDA0LCAweEJDMjAsIDB4Njk3MCwgMHg5MDcxLCAweDdBODAsIDB4MDA3OCwgMHg2OTcxLCAweDkwNzAsIAotICAgIDB4Nzk4MCwgMHgwM0ExLCAweEJDMjAsIDB4MDM2MSwgMHg4QjhCLCAweDY5ODAsIDB4RUY4OCwgMHgwMjcyLCAweDAzNzIsIDB4NzgwNCwgMHg5MDcxLCAweDBENzEsIAotICAgIDB4OEI4QSwgMHgwMDBCLCAweEI5MDMsIDB4ODgwOSwgMHhCRUM2LCAweDAzMDksIDB4NjlBOCwgMHg5MEFCLCAweDY5QTgsIDB4OTBBQSwgMHgwODEwLCAweDY2MEEsIAotICAgIDB4RTM0NCwgMHgwMzBGLCAweDAwMDksIDB4MDgxMCwgMHg2NjBDLCAweEUzODgsIDB4MDMxNCwgMHg4MDBCLCAweEJDMjAsIDB4Njk2MSwgMHhCODAxLCAweDkwNjEsIAotICAgIDB4Nzk4MCwgMHgwMkY3LCAweDdBODAsIDB4MDM4QSwgMHg1RDM1LCAweDAwMDEsIDB4NjkzNCwgMHhCODAxLCAweDkwMzQsIDB4QkYwQSwgMHgxMDlFLCAweDhCOEEsIAotICAgIDB4QUY4MCwgMHg4MDE0LCAweDQ4ODAsIDB4QUU3MiwgMHgwNTUwLCAweEY1MDAsIDB4QUU3MiwgMHgwNTEwLCAweEFFNjEsIDB4MTA1MSwgMHg3QTgwLCAweDAyRjYsIAotICAgIDB4Nzk4MCwgMHgwM0ExLCAweDdBODAsIDB4MDM4QSwgMHg1RDM1LCAweDAwMDIsIDB4Njk1RSwgMHhCODAxLCAweDkwNUUsIDB4QkYwQSwgMHgxMDlFLCAweDhCOEEsIAotICAgIDB4QUY4MCwgMHg4MDE0LCAweDQ3ODAsIDB4QUU3MiwgMHgwNTU4LCAweEY1MDAsIDB4QUU3MiwgMHgwNTE4LCAweEFFNjEsIDB4MTA1QywgMHg3QTgwLCAweDAyRjYsIAotICAgIDB4Nzk4MCwgMHgwM0ExLCAweDAwMUMsIDB4OEI4OCwgMHg2OTgwLCAweEVGODgsIDB4OTAxRCwgMHgwRDFELCAweDEwMEYsIDB4NjYxMCwgMHhFMzhDLCAweDAzNTgsIAotICAgIDB4NjkwRSwgMHg2NjEwLCAweDYyMEYsIDB4NjYwRCwgMHhCQTBGLCAweEUzMDEsIDB4MDM3QSwgMHgwNDEwLCAweDhCOEEsIDB4QjkwMywgMHg4ODA5LCAweEJFQzYsIAotICAgIDB4MDM2QywgMHg2QThDLCAweDYxQUEsIDB4OThBQiwgMHg2QThDLCAweDYxQUIsIDB4OThBRCwgMHg2QThDLCAweDYxQUQsIDB4OThBOSwgMHg2QThDLCAweDYxQTksIAotICAgIDB4OThBQSwgMHg3QzA0LCAweDhCOEIsIDB4N0MwNCwgMHg4QjhELCAweDdDMDQsIDB4OEI4OSwgMHg3QzA0LCAweDA4MTQsIDB4NjYwRSwgMHhFMzA4LCAweDAzNzksIAotICAgIDB4MDQwRCwgMHg4NDEwLCAweEJDMjEsIDB4NjkxQywgMHhCODAxLCAweDkwMUMsIDB4Nzk4MCwgMHgwMzRBLCAweEI5MDMsIDB4ODgwOSwgMHg4QjhBLCAweEJFQzYsIAotICAgIDB4MDM4OCwgMHg1NEFDLCAweEJFMDMsIDB4NjE4QywgMHg5OEFBLCAweEVGMDAsIDB4QkMyMCwgMHhCRTQ2LCAweDA4MDksIDB4OTA2QiwgMHgwODBBLCAweDkwNkMsIAotICAgIDB4MDgwQiwgMHg5MDZELCAweDA4MUEsIDB4OTA2MiwgMHgwODFCLCAweDkwNjMsIDB4MDgxRSwgMHg5MDY0LCAweEJFNTksIDB4ODgxRSwgMHg4MDY1LCAweDgxNjYsIAotICAgIDB4ODI2NywgMHg4MzY4LCAweDg0NjksIDB4ODU2QSwgMHhFRjAwLCAweEJDMjAsIDB4Njk2QiwgMHg4ODA5LCAweDY5NkMsIDB4ODgwQSwgMHg2OTZELCAweDg4MEIsIAotICAgIDB4Njk2MiwgMHg4ODFBLCAweDY5NjMsIDB4ODgxQiwgMHg2OTY0LCAweDg4MUUsIDB4MDA2NSwgMHgwMTY2LCAweDAyNjcsIDB4MDM2OCwgMHgwNDY5LCAweDA1NkEsIAotICAgIDB4QkUzQSwgCi19OwotCi0vKgotICogTWluaSBzYW1wbGUgcmF0ZSBjb252ZXJ0ZXIgY29kZSBpbWFnZQotICogdGhhdCBpcyB0byBiZSBsb2FkZWQgYXQgMHg0MDAgb24gdGhlIERTUC4KLSAqLwotc3RhdGljIGNvbnN0IHUxNiBhc3NwX21pbmlzcmNfaW1hZ2VbXSA9IHsKLQotICAgIDB4QkY4MCwgMHgxMDFFLCAweDkwNkUsIDB4MDA2RSwgMHg4Qjg4LCAweDY5ODAsIDB4RUY4OCwgMHg5MDZGLCAweDBENkYsIDB4NjkwMCwgMHhFQjA4LCAweDA0MTIsIAotICAgIDB4QkMyMCwgMHg2OTZFLCAweEI4MDEsIDB4OTA2RSwgMHg3OTgwLCAweDA0MDMsIDB4QjkwRSwgMHg4ODA3LCAweEJFNDMsIDB4QkYwMSwgMHhCRTQ3LCAweEJFNDEsIAotICAgIDB4N0E4MCwgMHgwMDJBLCAweEJFNDAsIDB4MzAyOSwgMHhFRkNDLCAweEJFNDEsIDB4N0E4MCwgMHgwMDI4LCAweEJFNDAsIDB4MzAyOCwgMHhFRkNDLCAweDY5MDcsIAotICAgIDB4RTMwOCwgMHgwNDJBLCAweDY5MDksIDB4OTAyQywgMHg3OTgwLCAweDA0MkMsIDB4NjkwRCwgMHg5MDJDLCAweDEwMDksIDB4ODgxQSwgMHgxMDBBLCAweEJBMDEsIAotICAgIDB4ODgxQiwgMHgxMDBELCAweDg4MUMsIDB4MTAwRSwgMHhCQTAxLCAweDg4MUQsIDB4QkY4MCwgMHgwMEVELCAweDg4MUUsIDB4MDUwQywgMHgwMTI0LCAweEI5MDQsIAotICAgIDB4OTAyNywgMHg2OTE4LCAweEUzMDgsIDB4MDRCMywgMHg5MDJELCAweDY5MTMsIDB4QkZBMCwgMHg3NTk4LCAweEY3MDQsIDB4QUUyRCwgMHgwMEZGLCAweDhCOEQsIAotICAgIDB4NjkxOSwgMHhFMzA4LCAweDA0NjMsIDB4NjkxQSwgMHhFMzA4LCAweDA0NTYsIDB4QjkwNywgMHg4ODA5LCAweEJFQzYsIDB4MDQ1MywgMHgxMEE5LCAweDkwQUQsIAotICAgIDB4Nzk4MCwgMHgwNDdDLCAweEI5MDMsIDB4ODgwOSwgMHhCRUM2LCAweDA0NjAsIDB4MTg4OSwgMHg2QzIyLCAweDkwQUQsIDB4MTBBOSwgMHg2RTIzLCAweDZDMjIsIAotICAgIDB4OTBBRCwgMHg3OTgwLCAweDA0N0MsIDB4MTAxQSwgMHhFMzA4LCAweDA0NkYsIDB4QjkwMywgMHg4ODA5LCAweEJFQzYsIDB4MDQ2QywgMHgxMEE5LCAweDkwQTAsIAotICAgIDB4OTBBRCwgMHg3OTgwLCAweDA0N0MsIDB4QjkwMSwgMHg4ODA5LCAweEJFQzYsIDB4MDQ3QiwgMHgxODg5LCAweDZDMjIsIDB4OTBBMCwgMHg5MEFELCAweDEwQTksIAotICAgIDB4NkUyMywgMHg2QzIyLCAweDkwQTAsIDB4OTBBRCwgMHg2OTJELCAweEUzMDgsIDB4MDQ5QywgMHgwMTI0LCAweEI3MDMsIDB4QjkwMiwgMHg4ODE4LCAweDhCODksIAotICAgIDB4MDIyQywgMHgxMDhBLCAweDdDMDQsIDB4OTBBMCwgMHg2OTJCLCAweDg4MUYsIDB4N0U4MCwgMHgwNTVCLCAweDY5MkEsIDB4ODgwOSwgMHg4Qjg5LCAweDk5QTAsIAotICAgIDB4MTA4QSwgMHg5MEEwLCAweDY5MkIsIDB4ODgxRiwgMHg3RTgwLCAweDA1NUIsIDB4NjkyQSwgMHg4ODA5LCAweDhCODksIDB4OTlBRiwgMHg3Qjk5LCAweDA0ODQsIAotICAgIDB4MDEyNCwgMHgwNjBGLCAweDEwMUIsIDB4MjAxMywgMHg5MDFCLCAweEJGQTAsIDB4N0ZGRiwgMHhFMzQ0LCAweDA0QUMsIDB4OTAxQiwgMHg4Qjg5LCAweDdBODAsIAotICAgIDB4MDUxQSwgMHg2OTI3LCAweEJBMDEsIDB4OTAyNywgMHg3QTgwLCAweDA1MjMsIDB4NjkyNywgMHhFMzA4LCAweDA0OUUsIDB4Nzk4MCwgMHgwNTBGLCAweDA2MjQsIAotICAgIDB4MTAyNiwgMHgyMDEzLCAweDkwMjYsIDB4QkZBMCwgMHg3RkZGLCAweEUzMDQsIDB4MDRDMCwgMHg4QjhELCAweDdBODAsIDB4MDUxQSwgMHg3OTgwLCAweDA0QjQsIAotICAgIDB4OTAyNiwgMHgxMDEzLCAweDMwMjYsIDB4OTAxQiwgMHg4QjhELCAweDdBODAsIDB4MDUxQSwgMHg3QTgwLCAweDA1MjMsIDB4MTAyNywgMHhCQTAxLCAweDkwMjcsIAotICAgIDB4RTMwOCwgMHgwNEI0LCAweDAxMjQsIDB4MDYwRiwgMHg4Qjg5LCAweDY5MUEsIDB4RTMwOCwgMHgwNEVBLCAweDY5MTksIDB4RTM4OCwgMHgwNEUwLCAweEI5MDMsIAotICAgIDB4ODgwOSwgMHhCRUM2LCAweDA0REQsIDB4MUZBMCwgMHgyRkFFLCAweDk4QTksIDB4Nzk4MCwgMHgwNTBGLCAweEI5MDEsIDB4ODgxOCwgMHhCOTA3LCAweDg4MDksIAotICAgIDB4QkVDNiwgMHgwNEU3LCAweDEwRUUsIDB4OTBBOSwgMHg3OTgwLCAweDA1MEYsIDB4NjkxOSwgMHhFMzA4LCAweDA0RkUsIDB4QjkwMywgMHg4ODA5LCAweEJFNDYsIAotICAgIDB4QkVDNiwgMHgwNEZBLCAweDE3QTAsIDB4QkUxRSwgMHgxRkFFLCAweEJGQkYsIDB4RkYwMCwgMHhCRTEzLCAweEJGREYsIDB4ODA4MCwgMHg5OUE5LCAweEJFNDcsIAotICAgIDB4Nzk4MCwgMHgwNTBGLCAweEI5MDEsIDB4ODgwOSwgMHhCRUM2LCAweDA1MEUsIDB4MTZBMCwgMHgyNkEwLCAweEJGQjcsIDB4RkYwMCwgMHhCRTFFLCAweDFFQTAsIAotICAgIDB4MkVBRSwgMHhCRkJGLCAweEZGMDAsIDB4QkUxMywgMHhCRkRGLCAweDgwODAsIDB4OTlBOSwgMHg4NTBDLCAweDg2MEYsIDB4NjkwNywgMHhFMzg4LCAweDA1MTYsIAotICAgIDB4MEQwNywgMHg4NTEwLCAweEJFNTksIDB4ODgxRSwgMHhCRTRBLCAweEVGMDAsIDB4MTAxRSwgMHg5MDFDLCAweDEwMUYsIDB4OTAxRCwgMHgxMEEwLCAweDkwMUUsIAotICAgIDB4MTBBMCwgMHg5MDFGLCAweEVGMDAsIDB4MTAxRSwgMHgzMDFDLCAweDkwMjAsIDB4NzMxQiwgMHg1NDIwLCAweEJFMDMsIDB4OTgyNSwgMHgxMDI1LCAweDIwMUMsIAotICAgIDB4OTAyNSwgMHg3MzI1LCAweDU0MTQsIDB4QkUwMywgMHg4QjhFLCAweDk4ODAsIDB4NjkyRiwgMHhFMzg4LCAweDA1MzksIDB4QkU1OSwgMHhCQjA3LCAweDYxODAsIAotICAgIDB4OTg4MCwgMHg4QkEwLCAweDEwMUYsIDB4MzAxRCwgMHg5MDIxLCAweDczMUIsIDB4NTQyMSwgMHhCRTAzLCAweDk4MkUsIDB4MTAyRSwgMHgyMDFELCAweDkwMkUsIAotICAgIDB4NzMyRSwgMHg1NDE1LCAweEJFMDMsIDB4OTg4MCwgMHg2OTJGLCAweEUzODgsIDB4MDU0RiwgMHhCRTU5LCAweEJCMDcsIDB4NjE4MCwgMHg5ODgwLCAweDhCQTAsIAotICAgIDB4NjkxOCwgMHhFRjA4LCAweDczMjUsIDB4NTQxNiwgMHhCRTAzLCAweDk4QTAsIDB4NzMyRSwgMHg1NDE3LCAweEJFMDMsIDB4OThBMCwgMHhFRjAwLCAweDhCQTAsIAotICAgIDB4QkVDNiwgMHgwNTZCLCAweEJFNTksIDB4QkIwNCwgMHhBQTkwLCAweEJFMDQsIDB4QkUxRSwgMHg5OUUwLCAweDhCRTAsIDB4NjlBMCwgMHg5MEQwLCAweDY5QTAsIAotICAgIDB4OTBEMCwgMHgwODFGLCAweEI4MDUsIDB4ODgxRiwgMHg4QjkwLCAweDY5QTAsIDB4OTBEMCwgMHg2OUEwLCAweDkwOTAsIDB4OEJEMCwgMHg4QkQ4LCAweEJFMUYsIAotICAgIDB4RUYwMCwgMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwgMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwgMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwgMHgwMDAwLCAweDAwMDAsIAotICAgIDB4MDAwMCwgMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwgMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwgMHgwMDAwLCAweDAwMDAsIAotfTsKLQotc3RhdGljIGNvbnN0IHN0cnVjdCBmaXJtd2FyZSBhc3NwX2tlcm5lbCA9IHsKLQkuZGF0YSA9ICh1OCAqKWFzc3Bfa2VybmVsX2ltYWdlLAotCS5zaXplID0gc2l6ZW9mIGFzc3Bfa2VybmVsX2ltYWdlCi19Owotc3RhdGljIGNvbnN0IHN0cnVjdCBmaXJtd2FyZSBhc3NwX21pbmlzcmMgPSB7Ci0JLmRhdGEgPSAodTggKilhc3NwX21pbmlzcmNfaW1hZ2UsCi0JLnNpemUgPSBzaXplb2YgYXNzcF9taW5pc3JjX2ltYWdlCi19OwotCi0jZWxzZSAvKiBDT05GSUdfU05EX01BRVNUUk8zX0ZJUk1XQVJFX0lOX0tFUk5FTCAqLwotCi0jaWZkZWYgX19MSVRUTEVfRU5ESUFOCi1zdGF0aWMgaW5saW5lIHZvaWQgc25kX20zX2NvbnZlcnRfZnJvbV9sZShjb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3KSB7IH0KLSNlbHNlCi1zdGF0aWMgdm9pZCBzbmRfbTNfY29udmVydF9mcm9tX2xlKGNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZncpCi17Ci0JaW50IGk7Ci0JdTE2ICpkYXRhID0gKHUxNiAqKWZ3LT5kYXRhOwotCi0JZm9yIChpID0gMDsgaSA8IGZ3LT5zaXplIC8gMjsgKytpKQotCQlsZTE2X3RvX2NwdXMoJmRhdGFbaV0pOwotfQotI2VuZGlmCi0KLSNlbmRpZiAvKiBDT05GSUdfU05EX01BRVNUUk8zX0ZJUk1XQVJFX0lOX0tFUk5FTCAqLwotCi0KIC8qCiAgKiBpbml0aWFsaXplIEFTU1AKICAqLwpAQCAtMjI3MSw3ICsyMTEyLDcgQEAKIHN0YXRpYyB2b2lkIHNuZF9tM19hc3NwX2luaXQoc3RydWN0IHNuZF9tMyAqY2hpcCkKIHsKIAl1bnNpZ25lZCBpbnQgaTsKLQl1MTYgKmRhdGE7CisJY29uc3QgdTE2ICpkYXRhOwogCiAJLyogemVybyBrZXJuZWwgZGF0YSAqLwogCWZvciAoaSA9IDA7IGkgPCAoUkVWX0JfREFUQV9NRU1PUllfVU5JVF9MRU5HVEggKiBOVU1fVU5JVFNfS0VSTkVMX0RBVEEpIC8gMjsgaSsrKQpAQCAtMjI4OSwxMCArMjEzMCwxMSBAQAogCQkJICBLREFUQV9ETUFfWEZFUjApOwogCiAJLyogd3JpdGUga2VybmVsIGludG8gY29kZSBtZW1vcnkuLiAqLwotCWRhdGEgPSAodTE2ICopY2hpcC0+YXNzcF9rZXJuZWxfaW1hZ2UtPmRhdGE7CisJZGF0YSA9IChjb25zdCB1MTYgKiljaGlwLT5hc3NwX2tlcm5lbF9pbWFnZS0+ZGF0YTsKIAlmb3IgKGkgPSAwIDsgaSAqIDIgPCBjaGlwLT5hc3NwX2tlcm5lbF9pbWFnZS0+c2l6ZTsgaSsrKSB7CiAJCXNuZF9tM19hc3NwX3dyaXRlKGNoaXAsIE1FTVRZUEVfSU5URVJOQUxfQ09ERSwgCi0JCQkJICBSRVZfQl9DT0RFX01FTU9SWV9CRUdJTiArIGksIGRhdGFbaV0pOworCQkJCSAgUkVWX0JfQ09ERV9NRU1PUllfQkVHSU4gKyBpLAorCQkJCSAgbGUxNl90b19jcHUoZGF0YVtpXSkpOwogCX0KIAogCS8qCkBAIC0yMzAxLDEwICsyMTQzLDEwIEBACiAJICogZHJvcCBpdCB0aGVyZS4gIEl0IHNlZW1zIHRoYXQgdGhlIG1pbmlzcmMgZG9lc24ndAogCSAqIG5lZWQgdmVjdG9ycywgc28gd2Ugd29uJ3QgYm90aGVyIHdpdGggdGhlbS4uCiAJICovCi0JZGF0YSA9ICh1MTYgKiljaGlwLT5hc3NwX21pbmlzcmNfaW1hZ2UtPmRhdGE7CisJZGF0YSA9IChjb25zdCB1MTYgKiljaGlwLT5hc3NwX21pbmlzcmNfaW1hZ2UtPmRhdGE7CiAJZm9yIChpID0gMDsgaSAqIDIgPCBjaGlwLT5hc3NwX21pbmlzcmNfaW1hZ2UtPnNpemU7IGkrKykgewogCQlzbmRfbTNfYXNzcF93cml0ZShjaGlwLCBNRU1UWVBFX0lOVEVSTkFMX0NPREUsIAotCQkJCSAgMHg0MDAgKyBpLCBkYXRhW2ldKTsKKwkJCQkgIDB4NDAwICsgaSwgbGUxNl90b19jcHUoZGF0YVtpXSkpOwogCX0KIAogCS8qCkBAIC0yNDI3LDYgKzIyNjksMjkgQEAKIAlvdXR3KDB4ZmZmZiwgaW8gKyBHUElPX01BU0spOwogfQogCitzdGF0aWMgdm9pZAorc25kX20zX2h2X2luaXQoc3RydWN0IHNuZF9tMyAqY2hpcCkKK3sKKwl1bnNpZ25lZCBsb25nIGlvID0gY2hpcC0+aW9iYXNlOworCXUxNiB2YWwgPSBHUElfVk9MX0RPV04gfCBHUElfVk9MX1VQOworCisJaWYgKCFjaGlwLT5pc19vbW5pYm9vaykKKwkJcmV0dXJuOworCisJLyoKKwkgKiBWb2x1bWUgYnV0dG9ucyBvbiBzb21lIEhQIE9tbmlCb29rIGxhcHRvcHMKKwkgKiByZXF1aXJlIHNvbWUgR1BJTyBtYWdpYyB0byB3b3JrIGNvcnJlY3RseS4KKwkgKi8KKwlvdXR3KDB4ZmZmZiwgaW8gKyBHUElPX01BU0spOworCW91dHcoMHgwMDAwLCBpbyArIEdQSU9fREFUQSk7CisKKwlvdXR3KH52YWwsIGlvICsgR1BJT19NQVNLKTsKKwlvdXR3KGludyhpbyArIEdQSU9fRElSRUNUSU9OKSAmIH52YWwsIGlvICsgR1BJT19ESVJFQ1RJT04pOworCW91dHcodmFsLCBpbyArIEdQSU9fTUFTSyk7CisKKwlvdXR3KDB4ZmZmZiwgaW8gKyBHUElPX01BU0spOworfQorCiBzdGF0aWMgaW50CiBzbmRfbTNfY2hpcF9pbml0KHN0cnVjdCBzbmRfbTMgKmNoaXApCiB7CkBAIC0yNDQyLDIxICsyMzA3LDYgQEAKIAkgICAgICAgRElTQUJMRV9MRUdBQ1kpOwogCXBjaV93cml0ZV9jb25maWdfd29yZChwY2lkZXYsIFBDSV9MRUdBQ1lfQVVESU9fQ1RSTCwgdyk7CiAKLQlpZiAoY2hpcC0+aXNfb21uaWJvb2spIHsKLQkJLyoKLQkJICogVm9sdW1lIGJ1dHRvbnMgb24gc29tZSBIUCBPbW5pQm9vayBsYXB0b3BzIGRvbid0IHdvcmsKLQkJICogY29ycmVjdGx5LiBUaGlzIG1ha2VzIHRoZW0gd29yayBmb3IgdGhlIG1vc3QgcGFydC4KLQkJICoKLQkJICogVm9sdW1lIHVwIGFuZCBkb3duIGJ1dHRvbnMgb24gdGhlIGxhcHRvcCBzaWRlIHdvcmsuCi0JCSAqIEZuK2N1cnNvcl91cCAodm9sbWUgdXApIHdvcmtzLgotCQkgKiBGbitjdXJzb3JfZG93biAodm9sdW1lIGRvd24pIGRvZXNuJ3Qgd29yay4KLQkJICogRm4rRjcgKG11dGUpIHdvcmtzIGFjdHMgYXMgdm9sdW1lIHVwLgotCQkgKi8KLQkJb3V0dyh+KEdQSV9WT0xfRE9XTnxHUElfVk9MX1VQKSwgaW8gKyBHUElPX01BU0spOwotCQlvdXR3KGludyhpbyArIEdQSU9fRElSRUNUSU9OKSAmIH4oR1BJX1ZPTF9ET1dOfEdQSV9WT0xfVVApLCBpbyArIEdQSU9fRElSRUNUSU9OKTsKLQkJb3V0dygoR1BJX1ZPTF9ET1dOfEdQSV9WT0xfVVApLCBpbyArIEdQSU9fREFUQSk7Ci0JCW91dHcoMHhmZmZmLCBpbyArIEdQSU9fTUFTSyk7Ci0JfQogCXBjaV9yZWFkX2NvbmZpZ19kd29yZChwY2lkZXYsIFBDSV9BTExFR1JPX0NPTkZJRywgJm4pOwogCW4gJj0gfihIVl9DVFJMX0VOQUJMRSB8IFJFRFVDRURfREVCT1VOQ0UgfCBIVl9CVVRUT05fRlJPTV9HRCk7CiAJbiB8PSBjaGlwLT5odl9jb25maWc7CkBAIC0yNTQ4LDEwICsyMzk4LDggQEAKIAlpZiAoY2hpcC0+aW9iYXNlKQogCQlwY2lfcmVsZWFzZV9yZWdpb25zKGNoaXAtPnBjaSk7CiAKLSNpZm5kZWYgQ09ORklHX1NORF9NQUVTVFJPM19GSVJNV0FSRV9JTl9LRVJORUwKIAlyZWxlYXNlX2Zpcm13YXJlKGNoaXAtPmFzc3Bfa2VybmVsX2ltYWdlKTsKIAlyZWxlYXNlX2Zpcm13YXJlKGNoaXAtPmFzc3BfbWluaXNyY19pbWFnZSk7Ci0jZW5kaWYKIAogCXBjaV9kaXNhYmxlX2RldmljZShjaGlwLT5wY2kpOwogCWtmcmVlKGNoaXApOwpAQCAtMjY0Miw2ICsyNDkwLDggQEAKIAlzbmRfbTNfZW5hYmxlX2ludHMoY2hpcCk7CiAJc25kX20zX2FtcF9lbmFibGUoY2hpcCwgMSk7CiAKKwlzbmRfbTNfaHZfaW5pdChjaGlwKTsKKwogCXNuZF9wb3dlcl9jaGFuZ2Vfc3RhdGUoY2FyZCwgU05EUlZfQ1RMX1BPV0VSX0QwKTsKIAlyZXR1cm4gMDsKIH0KQEAgLTI3NDEsMjkgKzI1OTEsMTkgQEAKIAkJcmV0dXJuIC1FTk9NRU07CiAJfQogCi0jaWZkZWYgQ09ORklHX1NORF9NQUVTVFJPM19GSVJNV0FSRV9JTl9LRVJORUwKLQljaGlwLT5hc3NwX2tlcm5lbF9pbWFnZSA9ICZhc3NwX2tlcm5lbDsKLSNlbHNlCiAJZXJyID0gcmVxdWVzdF9maXJtd2FyZSgmY2hpcC0+YXNzcF9rZXJuZWxfaW1hZ2UsCiAJCQkgICAgICAgImVzcy9tYWVzdHJvM19hc3NwX2tlcm5lbC5mdyIsICZwY2ktPmRldik7CiAJaWYgKGVyciA8IDApIHsKIAkJc25kX20zX2ZyZWUoY2hpcCk7CiAJCXJldHVybiBlcnI7Ci0JfSBlbHNlCi0JCXNuZF9tM19jb252ZXJ0X2Zyb21fbGUoY2hpcC0+YXNzcF9rZXJuZWxfaW1hZ2UpOwotI2VuZGlmCisJfQogCi0jaWZkZWYgQ09ORklHX1NORF9NQUVTVFJPM19GSVJNV0FSRV9JTl9LRVJORUwKLQljaGlwLT5hc3NwX21pbmlzcmNfaW1hZ2UgPSAmYXNzcF9taW5pc3JjOwotI2Vsc2UKIAllcnIgPSByZXF1ZXN0X2Zpcm13YXJlKCZjaGlwLT5hc3NwX21pbmlzcmNfaW1hZ2UsCiAJCQkgICAgICAgImVzcy9tYWVzdHJvM19hc3NwX21pbmlzcmMuZnciLCAmcGNpLT5kZXYpOwogCWlmIChlcnIgPCAwKSB7CiAJCXNuZF9tM19mcmVlKGNoaXApOwogCQlyZXR1cm4gZXJyOwotCX0gZWxzZQotCQlzbmRfbTNfY29udmVydF9mcm9tX2xlKGNoaXAtPmFzc3BfbWluaXNyY19pbWFnZSk7Ci0jZW5kaWYKKwl9CiAKIAlpZiAoKGVyciA9IHBjaV9yZXF1ZXN0X3JlZ2lvbnMocGNpLCBjYXJkLT5kcml2ZXIpKSA8IDApIHsKIAkJc25kX20zX2ZyZWUoY2hpcCk7CkBAIC0yNzgxLDYgKzI2MjEsOCBAQAogCiAJc25kX20zX2FtcF9lbmFibGUoY2hpcCwgMSk7CiAKKwlzbmRfbTNfaHZfaW5pdChjaGlwKTsKKwogCXRhc2tsZXRfaW5pdCgmY2hpcC0+aHd2b2xfdHEsIHNuZF9tM191cGRhdGVfaHdfdm9sdW1lLCAodW5zaWduZWQgbG9uZyljaGlwKTsKIAogCWlmIChyZXF1ZXN0X2lycShwY2ktPmlycSwgc25kX20zX2ludGVycnVwdCwgSVJRRl9TSEFSRUQsCmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvbWl4YXJ0L21peGFydF9od2RlcC5jIGIvc291bmQvcGNpL21peGFydC9taXhhcnRfaHdkZXAuYwppbmRleCAxMjJjMjhlLi5mOTg2MDMxIDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvbWl4YXJ0L21peGFydF9od2RlcC5jCisrKyBiL3NvdW5kL3BjaS9taXhhcnQvbWl4YXJ0X2h3ZGVwLmMKQEAgLTYxMyw3ICs2MTMsNyBAQAogCQkJICAgKGludClkc3AtPmxlbmd0aCk7CiAJCXJldHVybiAtRU5PTUVNOwogCX0KLQlpZiAoY29weV9mcm9tX3VzZXIoZncuZGF0YSwgZHNwLT5pbWFnZSwgZHNwLT5sZW5ndGgpKSB7CisJaWYgKGNvcHlfZnJvbV91c2VyKCh2b2lkICopIGZ3LmRhdGEsIGRzcC0+aW1hZ2UsIGRzcC0+bGVuZ3RoKSkgewogCQl2ZnJlZShmdy5kYXRhKTsKIAkJcmV0dXJuIC1FRkFVTFQ7CiAJfQpkaWZmIC0tZ2l0IGEvc291bmQvcGNpL25tMjU2L25tMjU2LmMgYi9zb3VuZC9wY2kvbm0yNTYvbm0yNTYuYwppbmRleCA3ZWZiODM4Li4wNmQxM2U3IDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvbm0yNTYvbm0yNTYuYworKysgYi9zb3VuZC9wY2kvbm0yNTYvbm0yNTYuYwpAQCAtMTMwMiw4ICsxMzAyLDggQEAKIAkJLnJlYWQgPSBzbmRfbm0yNTZfYWM5N19yZWFkLAogCX07CiAKLQljaGlwLT5hYzk3X3JlZ3MgPSBrY2FsbG9jKHNpemVvZihzaG9ydCksCi0JCQkJICBBUlJBWV9TSVpFKG5tMjU2X2FjOTdfaW5pdF92YWwpLCBHRlBfS0VSTkVMKTsKKwljaGlwLT5hYzk3X3JlZ3MgPSBrY2FsbG9jKEFSUkFZX1NJWkUobm0yNTZfYWM5N19pbml0X3ZhbCksCisJCQkJICBzaXplb2Yoc2hvcnQpLCBHRlBfS0VSTkVMKTsKIAlpZiAoISBjaGlwLT5hYzk3X3JlZ3MpCiAJCXJldHVybiAtRU5PTUVNOwogCmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvb3h5Z2VuL2hpZmllci5jIGIvc291bmQvcGNpL294eWdlbi9oaWZpZXIuYwppbmRleCAwOTBkZDQzLi43NDQyNDYwIDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvb3h5Z2VuL2hpZmllci5jCisrKyBiL3NvdW5kL3BjaS9veHlnZW4vaGlmaWVyLmMKQEAgLTI4LDcgKzI4LDcgQEAKIAogTU9EVUxFX0FVVEhPUigiQ2xlbWVucyBMYWRpc2NoIDxjbGVtZW5zQGxhZGlzY2guZGU+Iik7CiBNT0RVTEVfREVTQ1JJUFRJT04oIlRlbXBvVGVjIEhpRmllciBkcml2ZXIiKTsKLU1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKK01PRFVMRV9MSUNFTlNFKCJHUEwgdjIiKTsKIAogc3RhdGljIGludCBpbmRleFtTTkRSVl9DQVJEU10gPSBTTkRSVl9ERUZBVUxUX0lEWDsKIHN0YXRpYyBjaGFyICppZFtTTkRSVl9DQVJEU10gPSBTTkRSVl9ERUZBVUxUX1NUUjsKQEAgLTYyLDE2ICs2MiwyOCBAQAogCQkJIEFLNDM5Nl9XUklURSB8IChyZWcgPDwgOCkgfCB2YWx1ZSk7CiB9CiAKK3N0YXRpYyB2b2lkIHVwZGF0ZV9hazQzOTZfdm9sdW1lKHN0cnVjdCBveHlnZW4gKmNoaXApCit7CisJYWs0Mzk2X3dyaXRlKGNoaXAsIEFLNDM5Nl9MQ0hfQVRULCBjaGlwLT5kYWNfdm9sdW1lWzBdKTsKKwlhazQzOTZfd3JpdGUoY2hpcCwgQUs0Mzk2X1JDSF9BVFQsIGNoaXAtPmRhY192b2x1bWVbMV0pOworfQorCitzdGF0aWMgdm9pZCBoaWZpZXJfcmVnaXN0ZXJzX2luaXQoc3RydWN0IG94eWdlbiAqY2hpcCkKK3sKKwlzdHJ1Y3QgaGlmaWVyX2RhdGEgKmRhdGEgPSBjaGlwLT5tb2RlbF9kYXRhOworCisJYWs0Mzk2X3dyaXRlKGNoaXAsIEFLNDM5Nl9DT05UUk9MXzEsIEFLNDM5Nl9ESUZfMjRfTVNCIHwgQUs0Mzk2X1JTVE4pOworCWFrNDM5Nl93cml0ZShjaGlwLCBBSzQzOTZfQ09OVFJPTF8yLCBkYXRhLT5hazQzOTZfY3RsMik7CisJYWs0Mzk2X3dyaXRlKGNoaXAsIEFLNDM5Nl9DT05UUk9MXzMsIEFLNDM5Nl9QQ00pOworCXVwZGF0ZV9hazQzOTZfdm9sdW1lKGNoaXApOworfQorCiBzdGF0aWMgdm9pZCBoaWZpZXJfaW5pdChzdHJ1Y3Qgb3h5Z2VuICpjaGlwKQogewogCXN0cnVjdCBoaWZpZXJfZGF0YSAqZGF0YSA9IGNoaXAtPm1vZGVsX2RhdGE7CiAKIAlkYXRhLT5hazQzOTZfY3RsMiA9IEFLNDM5Nl9TTVVURSB8IEFLNDM5Nl9ERU1fT0ZGIHwgQUs0Mzk2X0RGU19OT1JNQUw7Ci0JYWs0Mzk2X3dyaXRlKGNoaXAsIEFLNDM5Nl9DT05UUk9MXzEsIEFLNDM5Nl9ESUZfMjRfTVNCIHwgQUs0Mzk2X1JTVE4pOwotCWFrNDM5Nl93cml0ZShjaGlwLCBBSzQzOTZfQ09OVFJPTF8yLCBkYXRhLT5hazQzOTZfY3RsMik7Ci0JYWs0Mzk2X3dyaXRlKGNoaXAsIEFLNDM5Nl9DT05UUk9MXzMsIEFLNDM5Nl9QQ00pOwotCWFrNDM5Nl93cml0ZShjaGlwLCBBSzQzOTZfTENIX0FUVCwgMCk7Ci0JYWs0Mzk2X3dyaXRlKGNoaXAsIEFLNDM5Nl9SQ0hfQVRULCAwKTsKKwloaWZpZXJfcmVnaXN0ZXJzX2luaXQoY2hpcCk7CiAKIAlzbmRfY29tcG9uZW50X2FkZChjaGlwLT5jYXJkLCAiQUs0Mzk2Iik7CiAJc25kX2NvbXBvbmVudF9hZGQoY2hpcC0+Y2FyZCwgIkNTNTM0MCIpOwpAQCAtMTAwLDEyICsxMTIsNiBAQAogCWFrNDM5Nl93cml0ZShjaGlwLCBBSzQzOTZfQ09OVFJPTF8xLCBBSzQzOTZfRElGXzI0X01TQiB8IEFLNDM5Nl9SU1ROKTsKIH0KIAotc3RhdGljIHZvaWQgdXBkYXRlX2FrNDM5Nl92b2x1bWUoc3RydWN0IG94eWdlbiAqY2hpcCkKLXsKLQlhazQzOTZfd3JpdGUoY2hpcCwgQUs0Mzk2X0xDSF9BVFQsIGNoaXAtPmRhY192b2x1bWVbMF0pOwotCWFrNDM5Nl93cml0ZShjaGlwLCBBSzQzOTZfUkNIX0FUVCwgY2hpcC0+ZGFjX3ZvbHVtZVsxXSk7Ci19Ci0KIHN0YXRpYyB2b2lkIHVwZGF0ZV9hazQzOTZfbXV0ZShzdHJ1Y3Qgb3h5Z2VuICpjaGlwKQogewogCXN0cnVjdCBoaWZpZXJfZGF0YSAqZGF0YSA9IGNoaXAtPm1vZGVsX2RhdGE7CkBAIC0xNDAsNiArMTQ2LDcgQEAKIAkuaW5pdCA9IGhpZmllcl9pbml0LAogCS5jb250cm9sX2ZpbHRlciA9IGhpZmllcl9jb250cm9sX2ZpbHRlciwKIAkuY2xlYW51cCA9IGhpZmllcl9jbGVhbnVwLAorCS5yZXN1bWUgPSBoaWZpZXJfcmVnaXN0ZXJzX2luaXQsCiAJLnNldF9kYWNfcGFyYW1zID0gc2V0X2FrNDM5Nl9wYXJhbXMsCiAJLnNldF9hZGNfcGFyYW1zID0gc2V0X2NzNTM0MF9wYXJhbXMsCiAJLnVwZGF0ZV9kYWNfdm9sdW1lID0gdXBkYXRlX2FrNDM5Nl92b2x1bWUsCkBAIC0xODAsNiArMTg3LDEwIEBACiAJLmlkX3RhYmxlID0gaGlmaWVyX2lkcywKIAkucHJvYmUgPSBoaWZpZXJfcHJvYmUsCiAJLnJlbW92ZSA9IF9fZGV2ZXhpdF9wKG94eWdlbl9wY2lfcmVtb3ZlKSwKKyNpZmRlZiBDT05GSUdfUE0KKwkuc3VzcGVuZCA9IG94eWdlbl9wY2lfc3VzcGVuZCwKKwkucmVzdW1lID0gb3h5Z2VuX3BjaV9yZXN1bWUsCisjZW5kaWYKIH07CiAKIHN0YXRpYyBpbnQgX19pbml0IGFsc2FfY2FyZF9oaWZpZXJfaW5pdCh2b2lkKQpkaWZmIC0tZ2l0IGEvc291bmQvcGNpL294eWdlbi9veHlnZW4uYyBiL3NvdW5kL3BjaS9veHlnZW4vb3h5Z2VuLmMKaW5kZXggNjNmMTg1Yy4uN2M4YWUzMSAxMDA2NDQKLS0tIGEvc291bmQvcGNpL294eWdlbi9veHlnZW4uYworKysgYi9zb3VuZC9wY2kvb3h5Z2VuL294eWdlbi5jCkBAIC00Myw3ICs0Myw3IEBACiAKIE1PRFVMRV9BVVRIT1IoIkNsZW1lbnMgTGFkaXNjaCA8Y2xlbWVuc0BsYWRpc2NoLmRlPiIpOwogTU9EVUxFX0RFU0NSSVBUSU9OKCJDLU1lZGlhIENNSTg3ODggZHJpdmVyIik7Ci1NT0RVTEVfTElDRU5TRSgiR1BMIik7CitNT0RVTEVfTElDRU5TRSgiR1BMIHYyIik7CiBNT0RVTEVfU1VQUE9SVEVEX0RFVklDRSgie3tDLU1lZGlhLENNSTg3ODh9fSIpOwogCiBzdGF0aWMgaW50IGluZGV4W1NORFJWX0NBUkRTXSA9IFNORFJWX0RFRkFVTFRfSURYOwpAQCAtODAsNiArODAsNyBAQAogCiBzdHJ1Y3QgZ2VuZXJpY19kYXRhIHsKIAl1OCBhazQzOTZfY3RsMjsKKwl1MTYgc2F2ZWRfd204Nzg1X3JlZ2lzdGVyc1syXTsKIH07CiAKIHN0YXRpYyB2b2lkIGFrNDM5Nl93cml0ZShzdHJ1Y3Qgb3h5Z2VuICpjaGlwLCB1bnNpZ25lZCBpbnQgY29kZWMsCkBAIC05OSwyMCArMTAwLDM1IEBACiAKIHN0YXRpYyB2b2lkIHdtODc4NV93cml0ZShzdHJ1Y3Qgb3h5Z2VuICpjaGlwLCB1OCByZWcsIHVuc2lnbmVkIGludCB2YWx1ZSkKIHsKKwlzdHJ1Y3QgZ2VuZXJpY19kYXRhICpkYXRhID0gY2hpcC0+bW9kZWxfZGF0YTsKKwogCW94eWdlbl93cml0ZV9zcGkoY2hpcCwgT1hZR0VOX1NQSV9UUklHR0VSIHwKIAkJCSBPWFlHRU5fU1BJX0RBVEFfTEVOR1RIXzIgfAogCQkJIE9YWUdFTl9TUElfQ0xPQ0tfMTYwIHwKIAkJCSAoMyA8PCBPWFlHRU5fU1BJX0NPREVDX1NISUZUKSB8CiAJCQkgT1hZR0VOX1NQSV9DRU5fTEFUQ0hfQ0xPQ0tfTE8sCiAJCQkgKHJlZyA8PCA5KSB8IHZhbHVlKTsKKwlpZiAocmVnIDwgQVJSQVlfU0laRShkYXRhLT5zYXZlZF93bTg3ODVfcmVnaXN0ZXJzKSkKKwkJZGF0YS0+c2F2ZWRfd204Nzg1X3JlZ2lzdGVyc1tyZWddID0gdmFsdWU7CiB9CiAKLXN0YXRpYyB2b2lkIGFrNDM5Nl9pbml0KHN0cnVjdCBveHlnZW4gKmNoaXApCitzdGF0aWMgdm9pZCB1cGRhdGVfYWs0Mzk2X3ZvbHVtZShzdHJ1Y3Qgb3h5Z2VuICpjaGlwKQoreworCXVuc2lnbmVkIGludCBpOworCisJZm9yIChpID0gMDsgaSA8IDQ7ICsraSkgeworCQlhazQzOTZfd3JpdGUoY2hpcCwgaSwKKwkJCSAgICAgQUs0Mzk2X0xDSF9BVFQsIGNoaXAtPmRhY192b2x1bWVbaSAqIDJdKTsKKwkJYWs0Mzk2X3dyaXRlKGNoaXAsIGksCisJCQkgICAgIEFLNDM5Nl9SQ0hfQVRULCBjaGlwLT5kYWNfdm9sdW1lW2kgKiAyICsgMV0pOworCX0KK30KKworc3RhdGljIHZvaWQgYWs0Mzk2X3JlZ2lzdGVyc19pbml0KHN0cnVjdCBveHlnZW4gKmNoaXApCiB7CiAJc3RydWN0IGdlbmVyaWNfZGF0YSAqZGF0YSA9IGNoaXAtPm1vZGVsX2RhdGE7CiAJdW5zaWduZWQgaW50IGk7CiAKLQlkYXRhLT5hazQzOTZfY3RsMiA9IEFLNDM5Nl9TTVVURSB8IEFLNDM5Nl9ERU1fT0ZGIHwgQUs0Mzk2X0RGU19OT1JNQUw7CiAJZm9yIChpID0gMDsgaSA8IDQ7ICsraSkgewogCQlhazQzOTZfd3JpdGUoY2hpcCwgaSwKIAkJCSAgICAgQUs0Mzk2X0NPTlRST0xfMSwgQUs0Mzk2X0RJRl8yNF9NU0IgfCBBSzQzOTZfUlNUTik7CkBAIC0xMjAsOSArMTM2LDE2IEBACiAJCQkgICAgIEFLNDM5Nl9DT05UUk9MXzIsIGRhdGEtPmFrNDM5Nl9jdGwyKTsKIAkJYWs0Mzk2X3dyaXRlKGNoaXAsIGksCiAJCQkgICAgIEFLNDM5Nl9DT05UUk9MXzMsIEFLNDM5Nl9QQ00pOwotCQlhazQzOTZfd3JpdGUoY2hpcCwgaSwgQUs0Mzk2X0xDSF9BVFQsIDApOwotCQlhazQzOTZfd3JpdGUoY2hpcCwgaSwgQUs0Mzk2X1JDSF9BVFQsIDApOwogCX0KKwl1cGRhdGVfYWs0Mzk2X3ZvbHVtZShjaGlwKTsKK30KKworc3RhdGljIHZvaWQgYWs0Mzk2X2luaXQoc3RydWN0IG94eWdlbiAqY2hpcCkKK3sKKwlzdHJ1Y3QgZ2VuZXJpY19kYXRhICpkYXRhID0gY2hpcC0+bW9kZWxfZGF0YTsKKworCWRhdGEtPmFrNDM5Nl9jdGwyID0gQUs0Mzk2X1NNVVRFIHwgQUs0Mzk2X0RFTV9PRkYgfCBBSzQzOTZfREZTX05PUk1BTDsKKwlhazQzOTZfcmVnaXN0ZXJzX2luaXQoY2hpcCk7CiAJc25kX2NvbXBvbmVudF9hZGQoY2hpcC0+Y2FyZCwgIkFLNDM5NiIpOwogfQogCkBAIC0xMzMsMTIgKzE1NiwyMyBAQAogCXNuZF9jb21wb25lbnRfYWRkKGNoaXAtPmNhcmQsICJBSzUzODUiKTsKIH0KIAorc3RhdGljIHZvaWQgd204Nzg1X3JlZ2lzdGVyc19pbml0KHN0cnVjdCBveHlnZW4gKmNoaXApCit7CisJc3RydWN0IGdlbmVyaWNfZGF0YSAqZGF0YSA9IGNoaXAtPm1vZGVsX2RhdGE7CisKKwl3bTg3ODVfd3JpdGUoY2hpcCwgV004Nzg1X1I3LCAwKTsKKwl3bTg3ODVfd3JpdGUoY2hpcCwgV004Nzg1X1IwLCBkYXRhLT5zYXZlZF93bTg3ODVfcmVnaXN0ZXJzWzBdKTsKKwl3bTg3ODVfd3JpdGUoY2hpcCwgV004Nzg1X1IxLCBkYXRhLT5zYXZlZF93bTg3ODVfcmVnaXN0ZXJzWzFdKTsKK30KKwogc3RhdGljIHZvaWQgd204Nzg1X2luaXQoc3RydWN0IG94eWdlbiAqY2hpcCkKIHsKLQl3bTg3ODVfd3JpdGUoY2hpcCwgV004Nzg1X1I3LCAwKTsKLQl3bTg3ODVfd3JpdGUoY2hpcCwgV004Nzg1X1IwLCBXTTg3ODVfTUNSX1NMQVZFIHwKLQkJICAgICBXTTg3ODVfT1NSX1NJTkdMRSB8IFdNODc4NV9GT1JNQVRfTEpVU1QpOwotCXdtODc4NV93cml0ZShjaGlwLCBXTTg3ODVfUjEsIFdNODc4NV9XTF8yNCk7CisJc3RydWN0IGdlbmVyaWNfZGF0YSAqZGF0YSA9IGNoaXAtPm1vZGVsX2RhdGE7CisKKwlkYXRhLT5zYXZlZF93bTg3ODVfcmVnaXN0ZXJzWzBdID0gV004Nzg1X01DUl9TTEFWRSB8CisJCVdNODc4NV9PU1JfU0lOR0xFIHwgV004Nzg1X0ZPUk1BVF9MSlVTVDsKKwlkYXRhLT5zYXZlZF93bTg3ODVfcmVnaXN0ZXJzWzFdID0gV004Nzg1X1dMXzI0OworCXdtODc4NV9yZWdpc3RlcnNfaW5pdChjaGlwKTsKIAlzbmRfY29tcG9uZW50X2FkZChjaGlwLT5jYXJkLCAiV004Nzg1Iik7CiB9CiAKQEAgLTE1OCw2ICsxOTIsMTIgQEAKIHsKIH0KIAorc3RhdGljIHZvaWQgZ2VuZXJpY19yZXN1bWUoc3RydWN0IG94eWdlbiAqY2hpcCkKK3sKKwlhazQzOTZfcmVnaXN0ZXJzX2luaXQoY2hpcCk7CisJd204Nzg1X3JlZ2lzdGVyc19pbml0KGNoaXApOworfQorCiBzdGF0aWMgdm9pZCBzZXRfYWs0Mzk2X3BhcmFtcyhzdHJ1Y3Qgb3h5Z2VuICpjaGlwLAogCQkJICAgICAgc3RydWN0IHNuZF9wY21faHdfcGFyYW1zICpwYXJhbXMpCiB7CkBAIC0xODMsMTggKzIyMyw2IEBACiAJfQogfQogCi1zdGF0aWMgdm9pZCB1cGRhdGVfYWs0Mzk2X3ZvbHVtZShzdHJ1Y3Qgb3h5Z2VuICpjaGlwKQotewotCXVuc2lnbmVkIGludCBpOwotCi0JZm9yIChpID0gMDsgaSA8IDQ7ICsraSkgewotCQlhazQzOTZfd3JpdGUoY2hpcCwgaSwKLQkJCSAgICAgQUs0Mzk2X0xDSF9BVFQsIGNoaXAtPmRhY192b2x1bWVbaSAqIDJdKTsKLQkJYWs0Mzk2X3dyaXRlKGNoaXAsIGksCi0JCQkgICAgIEFLNDM5Nl9SQ0hfQVRULCBjaGlwLT5kYWNfdm9sdW1lW2kgKiAyICsgMV0pOwotCX0KLX0KLQogc3RhdGljIHZvaWQgdXBkYXRlX2FrNDM5Nl9tdXRlKHN0cnVjdCBveHlnZW4gKmNoaXApCiB7CiAJc3RydWN0IGdlbmVyaWNfZGF0YSAqZGF0YSA9IGNoaXAtPm1vZGVsX2RhdGE7CkBAIC0yNTYsNiArMjg0LDcgQEAKIAkub3duZXIgPSBUSElTX01PRFVMRSwKIAkuaW5pdCA9IGdlbmVyaWNfaW5pdCwKIAkuY2xlYW51cCA9IGdlbmVyaWNfY2xlYW51cCwKKwkucmVzdW1lID0gZ2VuZXJpY19yZXN1bWUsCiAJLnNldF9kYWNfcGFyYW1zID0gc2V0X2FrNDM5Nl9wYXJhbXMsCiAJLnNldF9hZGNfcGFyYW1zID0gc2V0X3dtODc4NV9wYXJhbXMsCiAJLnVwZGF0ZV9kYWNfdm9sdW1lID0gdXBkYXRlX2FrNDM5Nl92b2x1bWUsCkBAIC0yODMsNiArMzEyLDcgQEAKIAkub3duZXIgPSBUSElTX01PRFVMRSwKIAkuaW5pdCA9IG1lcmlkaWFuX2luaXQsCiAJLmNsZWFudXAgPSBnZW5lcmljX2NsZWFudXAsCisJLnJlc3VtZSA9IGFrNDM5Nl9yZWdpc3RlcnNfaW5pdCwKIAkuc2V0X2RhY19wYXJhbXMgPSBzZXRfYWs0Mzk2X3BhcmFtcywKIAkuc2V0X2FkY19wYXJhbXMgPSBzZXRfYWs1Mzg1X3BhcmFtcywKIAkudXBkYXRlX2RhY192b2x1bWUgPSB1cGRhdGVfYWs0Mzk2X3ZvbHVtZSwKQEAgLTMzMSw2ICszNjEsMTAgQEAKIAkuaWRfdGFibGUgPSBveHlnZW5faWRzLAogCS5wcm9iZSA9IGdlbmVyaWNfb3h5Z2VuX3Byb2JlLAogCS5yZW1vdmUgPSBfX2RldmV4aXRfcChveHlnZW5fcGNpX3JlbW92ZSksCisjaWZkZWYgQ09ORklHX1BNCisJLnN1c3BlbmQgPSBveHlnZW5fcGNpX3N1c3BlbmQsCisJLnJlc3VtZSA9IG94eWdlbl9wY2lfcmVzdW1lLAorI2VuZGlmCiB9OwogCiBzdGF0aWMgaW50IF9faW5pdCBhbHNhX2NhcmRfb3h5Z2VuX2luaXQodm9pZCkKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9veHlnZW4vb3h5Z2VuLmggYi9zb3VuZC9wY2kvb3h5Z2VuL294eWdlbi5oCmluZGV4IGE3MWM2ZTAuLjc0YTY0NDggMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9veHlnZW4vb3h5Z2VuLmgKKysrIGIvc291bmQvcGNpL294eWdlbi9veHlnZW4uaApAQCAtMTYsNiArMTYsOCBAQAogI2RlZmluZSBQQ01fQUM5Nwk1CiAjZGVmaW5lIFBDTV9DT1VOVAk2CiAKKyNkZWZpbmUgT1hZR0VOX0lPX1NJWkUJMHgxMDAKKwogLyogbW9kZWwtc3BlY2lmaWMgY29uZmlndXJhdGlvbiBvZiBvdXRwdXRzL2lucHV0cyAqLwogI2RlZmluZSBQTEFZQkFDS18wX1RPX0kyUwkweDAwMQogI2RlZmluZSBQTEFZQkFDS18xX1RPX1NQRElGCTB4MDA0CkBAIC03OCw2ICs4MCwxMiBAQAogCXN0cnVjdCB3b3JrX3N0cnVjdCBzcGRpZl9pbnB1dF9iaXRzX3dvcms7CiAJc3RydWN0IHdvcmtfc3RydWN0IGdwaW9fd29yazsKIAl3YWl0X3F1ZXVlX2hlYWRfdCBhYzk3X3dhaXRxdWV1ZTsKKwl1bmlvbiB7CisJCXU4IF84W09YWUdFTl9JT19TSVpFXTsKKwkJX19sZTE2IF8xNltPWFlHRU5fSU9fU0laRSAvIDJdOworCQlfX2xlMzIgXzMyW09YWUdFTl9JT19TSVpFIC8gNF07CisJfSBzYXZlZF9yZWdpc3RlcnM7CisJdTE2IHNhdmVkX2FjOTdfcmVnaXN0ZXJzWzJdWzB4NDBdOwogfTsKIAogc3RydWN0IG94eWdlbl9tb2RlbCB7CkBAIC04OSw2ICs5Nyw4IEBACiAJaW50ICgqY29udHJvbF9maWx0ZXIpKHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3ICp0ZW1wbGF0ZSk7CiAJaW50ICgqbWl4ZXJfaW5pdCkoc3RydWN0IG94eWdlbiAqY2hpcCk7CiAJdm9pZCAoKmNsZWFudXApKHN0cnVjdCBveHlnZW4gKmNoaXApOworCXZvaWQgKCpzdXNwZW5kKShzdHJ1Y3Qgb3h5Z2VuICpjaGlwKTsKKwl2b2lkICgqcmVzdW1lKShzdHJ1Y3Qgb3h5Z2VuICpjaGlwKTsKIAl2b2lkICgqcGNtX2hhcmR3YXJlX2ZpbHRlcikodW5zaWduZWQgaW50IGNoYW5uZWwsCiAJCQkJICAgIHN0cnVjdCBzbmRfcGNtX2hhcmR3YXJlICpoYXJkd2FyZSk7CiAJdm9pZCAoKnNldF9kYWNfcGFyYW1zKShzdHJ1Y3Qgb3h5Z2VuICpjaGlwLApAQCAtMTE3LDYgKzEyNywxMCBAQAogaW50IG94eWdlbl9wY2lfcHJvYmUoc3RydWN0IHBjaV9kZXYgKnBjaSwgaW50IGluZGV4LCBjaGFyICppZCwKIAkJICAgICBjb25zdCBzdHJ1Y3Qgb3h5Z2VuX21vZGVsICptb2RlbCk7CiB2b2lkIG94eWdlbl9wY2lfcmVtb3ZlKHN0cnVjdCBwY2lfZGV2ICpwY2kpOworI2lmZGVmIENPTkZJR19QTQoraW50IG94eWdlbl9wY2lfc3VzcGVuZChzdHJ1Y3QgcGNpX2RldiAqcGNpLCBwbV9tZXNzYWdlX3Qgc3RhdGUpOworaW50IG94eWdlbl9wY2lfcmVzdW1lKHN0cnVjdCBwY2lfZGV2ICpwY2kpOworI2VuZGlmCiAKIC8qIG94eWdlbl9taXhlci5jICovCiAKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9veHlnZW4vb3h5Z2VuX2lvLmMgYi9zb3VuZC9wY2kvb3h5Z2VuL294eWdlbl9pby5jCmluZGV4IDU1Njk2MDYuLjgzZjEzNWYgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9veHlnZW4vb3h5Z2VuX2lvLmMKKysrIGIvc291bmQvcGNpL294eWdlbi9veHlnZW5faW8uYwpAQCAtNDQsMTggKzQ0LDIxIEBACiB2b2lkIG94eWdlbl93cml0ZTgoc3RydWN0IG94eWdlbiAqY2hpcCwgdW5zaWduZWQgaW50IHJlZywgdTggdmFsdWUpCiB7CiAJb3V0Yih2YWx1ZSwgY2hpcC0+YWRkciArIHJlZyk7CisJY2hpcC0+c2F2ZWRfcmVnaXN0ZXJzLl84W3JlZ10gPSB2YWx1ZTsKIH0KIEVYUE9SVF9TWU1CT0wob3h5Z2VuX3dyaXRlOCk7CiAKIHZvaWQgb3h5Z2VuX3dyaXRlMTYoc3RydWN0IG94eWdlbiAqY2hpcCwgdW5zaWduZWQgaW50IHJlZywgdTE2IHZhbHVlKQogewogCW91dHcodmFsdWUsIGNoaXAtPmFkZHIgKyByZWcpOworCWNoaXAtPnNhdmVkX3JlZ2lzdGVycy5fMTZbcmVnIC8gMl0gPSBjcHVfdG9fbGUxNih2YWx1ZSk7CiB9CiBFWFBPUlRfU1lNQk9MKG94eWdlbl93cml0ZTE2KTsKIAogdm9pZCBveHlnZW5fd3JpdGUzMihzdHJ1Y3Qgb3h5Z2VuICpjaGlwLCB1bnNpZ25lZCBpbnQgcmVnLCB1MzIgdmFsdWUpCiB7CiAJb3V0bCh2YWx1ZSwgY2hpcC0+YWRkciArIHJlZyk7CisJY2hpcC0+c2F2ZWRfcmVnaXN0ZXJzLl8zMltyZWcgLyA0XSA9IGNwdV90b19sZTMyKHZhbHVlKTsKIH0KIEVYUE9SVF9TWU1CT0wob3h5Z2VuX3dyaXRlMzIpOwogCkBAIC02Myw3ICs2NiwxMCBAQAogCQkJICB1OCB2YWx1ZSwgdTggbWFzaykKIHsKIAl1OCB0bXAgPSBpbmIoY2hpcC0+YWRkciArIHJlZyk7Ci0Jb3V0YigodG1wICYgfm1hc2spIHwgKHZhbHVlICYgbWFzayksIGNoaXAtPmFkZHIgKyByZWcpOworCXRtcCAmPSB+bWFzazsKKwl0bXAgfD0gdmFsdWUgJiBtYXNrOworCW91dGIodG1wLCBjaGlwLT5hZGRyICsgcmVnKTsKKwljaGlwLT5zYXZlZF9yZWdpc3RlcnMuXzhbcmVnXSA9IHRtcDsKIH0KIEVYUE9SVF9TWU1CT0wob3h5Z2VuX3dyaXRlOF9tYXNrZWQpOwogCkBAIC03MSw3ICs3NywxMCBAQAogCQkJICAgdTE2IHZhbHVlLCB1MTYgbWFzaykKIHsKIAl1MTYgdG1wID0gaW53KGNoaXAtPmFkZHIgKyByZWcpOwotCW91dHcoKHRtcCAmIH5tYXNrKSB8ICh2YWx1ZSAmIG1hc2spLCBjaGlwLT5hZGRyICsgcmVnKTsKKwl0bXAgJj0gfm1hc2s7CisJdG1wIHw9IHZhbHVlICYgbWFzazsKKwlvdXR3KHRtcCwgY2hpcC0+YWRkciArIHJlZyk7CisJY2hpcC0+c2F2ZWRfcmVnaXN0ZXJzLl8xNltyZWcgLyAyXSA9IGNwdV90b19sZTE2KHRtcCk7CiB9CiBFWFBPUlRfU1lNQk9MKG94eWdlbl93cml0ZTE2X21hc2tlZCk7CiAKQEAgLTc5LDcgKzg4LDEwIEBACiAJCQkgICB1MzIgdmFsdWUsIHUzMiBtYXNrKQogewogCXUzMiB0bXAgPSBpbmwoY2hpcC0+YWRkciArIHJlZyk7Ci0Jb3V0bCgodG1wICYgfm1hc2spIHwgKHZhbHVlICYgbWFzayksIGNoaXAtPmFkZHIgKyByZWcpOworCXRtcCAmPSB+bWFzazsKKwl0bXAgfD0gdmFsdWUgJiBtYXNrOworCW91dGwodG1wLCBjaGlwLT5hZGRyICsgcmVnKTsKKwljaGlwLT5zYXZlZF9yZWdpc3RlcnMuXzMyW3JlZyAvIDRdID0gY3B1X3RvX2xlMzIodG1wKTsKIH0KIEVYUE9SVF9TWU1CT0wob3h5Z2VuX3dyaXRlMzJfbWFza2VkKTsKIApAQCAtMTI4LDggKzE0MCwxMCBAQAogCQlveHlnZW5fd3JpdGUzMihjaGlwLCBPWFlHRU5fQUM5N19SRUdTLCByZWcpOwogCQkvKiByZXF1aXJlIHR3byAiY29tcGxldGVkIiB3cml0ZXMsIGp1c3QgdG8gYmUgc3VyZSAqLwogCQlpZiAob3h5Z2VuX2FjOTdfd2FpdChjaGlwLCBPWFlHRU5fQUM5N19JTlRfV1JJVEVfRE9ORSkgPj0gMCAmJgotCQkgICAgKytzdWNjZWVkZWQgPj0gMikKKwkJICAgICsrc3VjY2VlZGVkID49IDIpIHsKKwkJCWNoaXAtPnNhdmVkX2FjOTdfcmVnaXN0ZXJzW2NvZGVjXVtpbmRleCAvIDJdID0gZGF0YTsKIAkJCXJldHVybjsKKwkJfQogCX0KIAlzbmRfcHJpbnRrKEtFUk5fRVJSICJBQyc5NyB3cml0ZSB0aW1lb3V0XG4iKTsKIH0KZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9veHlnZW4vb3h5Z2VuX2xpYi5jIGIvc291bmQvcGNpL294eWdlbi9veHlnZW5fbGliLmMKaW5kZXggODk3Njk3ZC4uMjJmMzc4NSAxMDA2NDQKLS0tIGEvc291bmQvcGNpL294eWdlbi9veHlnZW5fbGliLmMKKysrIGIvc291bmQvcGNpL294eWdlbi9veHlnZW5fbGliLmMKQEAgLTMyLDcgKzMyLDcgQEAKIAogTU9EVUxFX0FVVEhPUigiQ2xlbWVucyBMYWRpc2NoIDxjbGVtZW5zQGxhZGlzY2guZGU+Iik7CiBNT0RVTEVfREVTQ1JJUFRJT04oIkMtTWVkaWEgQ01JODc4OCBoZWxwZXIgbGlicmFyeSIpOwotTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOworTU9EVUxFX0xJQ0VOU0UoIkdQTCB2MiIpOwogCiAKIHN0YXRpYyBpcnFyZXR1cm5fdCBveHlnZW5faW50ZXJydXB0KGludCBkdW1teSwgdm9pZCAqZGV2X2lkKQpAQCAtMTczLDcgKzE3Myw3IEBACiAJaW50IGksIGo7CiAKIAlzbmRfaXByaW50ZihidWZmZXIsICJDTUk4Nzg4XG5cbiIpOwotCWZvciAoaSA9IDA7IGkgPCAweDEwMDsgaSArPSAweDEwKSB7CisJZm9yIChpID0gMDsgaSA8IE9YWUdFTl9JT19TSVpFOyBpICs9IDB4MTApIHsKIAkJc25kX2lwcmludGYoYnVmZmVyLCAiJTAyeDoiLCBpKTsKIAkJZm9yIChqID0gMDsgaiA8IDB4MTA7ICsraikKIAkJCXNuZF9pcHJpbnRmKGJ1ZmZlciwgIiAlMDJ4Iiwgb3h5Z2VuX3JlYWQ4KGNoaXAsIGkgKyBqKSk7CkBAIC0zMTQsNiArMzE0LDEwIEBACiAJCQkJICAgIE9YWUdFTl9TUERJRl9MT0NLX01BU0sgfAogCQkJCSAgICBPWFlHRU5fU1BESUZfUkFURV9NQVNLKTsKIAlveHlnZW5fd3JpdGUzMihjaGlwLCBPWFlHRU5fU1BESUZfT1VUUFVUX0JJVFMsIGNoaXAtPnNwZGlmX2JpdHMpOworCW94eWdlbl93cml0ZTE2KGNoaXAsIE9YWUdFTl8yV0lSRV9CVVNfU1RBVFVTLAorCQkgICAgICAgT1hZR0VOXzJXSVJFX0xFTkdUSF84IHwKKwkJICAgICAgIE9YWUdFTl8yV0lSRV9JTlRFUlJVUFRfTUFTSyB8CisJCSAgICAgICBPWFlHRU5fMldJUkVfU1BFRURfU1RBTkRBUkQpOwogCW94eWdlbl9jbGVhcl9iaXRzOChjaGlwLCBPWFlHRU5fTVBVNDAxX0NPTlRST0wsIE9YWUdFTl9NUFU0MDFfTE9PUEJBQ0spOwogCW94eWdlbl93cml0ZTgoY2hpcCwgT1hZR0VOX0dQSV9JTlRFUlJVUFRfTUFTSywgMCk7CiAJb3h5Z2VuX3dyaXRlMTYoY2hpcCwgT1hZR0VOX0dQSU9fSU5URVJSVVBUX01BU0ssIDApOwpAQCAtNDU1LDcgKzQ1OSw3IEBACiAJfQogCiAJaWYgKCEocGNpX3Jlc291cmNlX2ZsYWdzKHBjaSwgMCkgJiBJT1JFU09VUkNFX0lPKSB8fAotCSAgICBwY2lfcmVzb3VyY2VfbGVuKHBjaSwgMCkgPCAweDEwMCkgeworCSAgICBwY2lfcmVzb3VyY2VfbGVuKHBjaSwgMCkgPCBPWFlHRU5fSU9fU0laRSkgewogCQlzbmRfcHJpbnRrKEtFUk5fRVJSICJpbnZhbGlkIFBDSSBJL08gcmFuZ2VcbiIpOwogCQllcnIgPSAtRU5YSU87CiAJCWdvdG8gZXJyX3BjaV9yZWdpb25zOwpAQCAtNTM0LDMgKzUzOCw5OSBAQAogCXBjaV9zZXRfZHJ2ZGF0YShwY2ksIE5VTEwpOwogfQogRVhQT1JUX1NZTUJPTChveHlnZW5fcGNpX3JlbW92ZSk7CisKKyNpZmRlZiBDT05GSUdfUE0KK2ludCBveHlnZW5fcGNpX3N1c3BlbmQoc3RydWN0IHBjaV9kZXYgKnBjaSwgcG1fbWVzc2FnZV90IHN0YXRlKQoreworCXN0cnVjdCBzbmRfY2FyZCAqY2FyZCA9IHBjaV9nZXRfZHJ2ZGF0YShwY2kpOworCXN0cnVjdCBveHlnZW4gKmNoaXAgPSBjYXJkLT5wcml2YXRlX2RhdGE7CisJdW5zaWduZWQgaW50IGksIHNhdmVkX2ludGVycnVwdF9tYXNrOworCisJc25kX3Bvd2VyX2NoYW5nZV9zdGF0ZShjYXJkLCBTTkRSVl9DVExfUE9XRVJfRDNob3QpOworCisJZm9yIChpID0gMDsgaSA8IFBDTV9DT1VOVDsgKytpKQorCQlpZiAoY2hpcC0+c3RyZWFtc1tpXSkKKwkJCXNuZF9wY21fc3VzcGVuZChjaGlwLT5zdHJlYW1zW2ldKTsKKworCWlmIChjaGlwLT5tb2RlbC0+c3VzcGVuZCkKKwkJY2hpcC0+bW9kZWwtPnN1c3BlbmQoY2hpcCk7CisKKwlzcGluX2xvY2tfaXJxKCZjaGlwLT5yZWdfbG9jayk7CisJc2F2ZWRfaW50ZXJydXB0X21hc2sgPSBjaGlwLT5pbnRlcnJ1cHRfbWFzazsKKwljaGlwLT5pbnRlcnJ1cHRfbWFzayA9IDA7CisJb3h5Z2VuX3dyaXRlMTYoY2hpcCwgT1hZR0VOX0RNQV9TVEFUVVMsIDApOworCW94eWdlbl93cml0ZTE2KGNoaXAsIE9YWUdFTl9JTlRFUlJVUFRfTUFTSywgMCk7CisJc3Bpbl91bmxvY2tfaXJxKCZjaGlwLT5yZWdfbG9jayk7CisKKwlzeW5jaHJvbml6ZV9pcnEoY2hpcC0+aXJxKTsKKwlmbHVzaF9zY2hlZHVsZWRfd29yaygpOworCWNoaXAtPmludGVycnVwdF9tYXNrID0gc2F2ZWRfaW50ZXJydXB0X21hc2s7CisKKwlwY2lfZGlzYWJsZV9kZXZpY2UocGNpKTsKKwlwY2lfc2F2ZV9zdGF0ZShwY2kpOworCXBjaV9zZXRfcG93ZXJfc3RhdGUocGNpLCBwY2lfY2hvb3NlX3N0YXRlKHBjaSwgc3RhdGUpKTsKKwlyZXR1cm4gMDsKK30KK0VYUE9SVF9TWU1CT0wob3h5Z2VuX3BjaV9zdXNwZW5kKTsKKworc3RhdGljIGNvbnN0IHUzMiByZWdpc3RlcnNfdG9fcmVzdG9yZVtPWFlHRU5fSU9fU0laRSAvIDMyXSA9IHsKKwkweGZmZmZmZmZmLCAweDAwZmYwNzdmLCAweDAwMDExZDA4LCAweDAwN2YwMGZmLAorCTB4MDAzMDAwMDAsIDB4MDAwMDBmZTQsIDB4MGZmNzAwMWYsIDB4MDAwMDAwMDAKK307CitzdGF0aWMgY29uc3QgdTMyIGFjOTdfcmVnaXN0ZXJzX3RvX3Jlc3RvcmVbMl1bMHg0MCAvIDMyXSA9IHsKKwl7IDB4MTgyODRmYTIsIDB4MDMwNjAwMDAgfSwKKwl7IDB4MDAwMDdmYTYsIDB4MDAyMDAwMDAgfQorfTsKKworc3RhdGljIGlubGluZSBpbnQgaXNfYml0X3NldChjb25zdCB1MzIgKmJpdG1hcCwgdW5zaWduZWQgaW50IGJpdCkKK3sKKwlyZXR1cm4gYml0bWFwW2JpdCAvIDMyXSAmICgxIDw8IChiaXQgJiAzMSkpOworfQorCitzdGF0aWMgdm9pZCBveHlnZW5fcmVzdG9yZV9hYzk3KHN0cnVjdCBveHlnZW4gKmNoaXAsIHVuc2lnbmVkIGludCBjb2RlYykKK3sKKwl1bnNpZ25lZCBpbnQgaTsKKworCW94eWdlbl93cml0ZV9hYzk3KGNoaXAsIGNvZGVjLCBBQzk3X1JFU0VULCAwKTsKKwltc2xlZXAoMSk7CisJZm9yIChpID0gMTsgaSA8IDB4NDA7ICsraSkKKwkJaWYgKGlzX2JpdF9zZXQoYWM5N19yZWdpc3RlcnNfdG9fcmVzdG9yZVtjb2RlY10sIGkpKQorCQkJb3h5Z2VuX3dyaXRlX2FjOTcoY2hpcCwgY29kZWMsIGkgKiAyLAorCQkJCQkgIGNoaXAtPnNhdmVkX2FjOTdfcmVnaXN0ZXJzW2NvZGVjXVtpXSk7Cit9CisKK2ludCBveHlnZW5fcGNpX3Jlc3VtZShzdHJ1Y3QgcGNpX2RldiAqcGNpKQoreworCXN0cnVjdCBzbmRfY2FyZCAqY2FyZCA9IHBjaV9nZXRfZHJ2ZGF0YShwY2kpOworCXN0cnVjdCBveHlnZW4gKmNoaXAgPSBjYXJkLT5wcml2YXRlX2RhdGE7CisJdW5zaWduZWQgaW50IGk7CisKKwlwY2lfc2V0X3Bvd2VyX3N0YXRlKHBjaSwgUENJX0QwKTsKKwlwY2lfcmVzdG9yZV9zdGF0ZShwY2kpOworCWlmIChwY2lfZW5hYmxlX2RldmljZShwY2kpIDwgMCkgeworCQlzbmRfcHJpbnRrKEtFUk5fRVJSICJjYW5ub3QgcmVlbmFibGUgZGV2aWNlIik7CisJCXNuZF9jYXJkX2Rpc2Nvbm5lY3QoY2FyZCk7CisJCXJldHVybiAtRUlPOworCX0KKwlwY2lfc2V0X21hc3RlcihwY2kpOworCisJb3h5Z2VuX3dyaXRlMTYoY2hpcCwgT1hZR0VOX0RNQV9TVEFUVVMsIDApOworCW94eWdlbl93cml0ZTE2KGNoaXAsIE9YWUdFTl9JTlRFUlJVUFRfTUFTSywgMCk7CisJZm9yIChpID0gMDsgaSA8IE9YWUdFTl9JT19TSVpFOyArK2kpCisJCWlmIChpc19iaXRfc2V0KHJlZ2lzdGVyc190b19yZXN0b3JlLCBpKSkKKwkJCW94eWdlbl93cml0ZTgoY2hpcCwgaSwgY2hpcC0+c2F2ZWRfcmVnaXN0ZXJzLl84W2ldKTsKKwlpZiAoY2hpcC0+aGFzX2FjOTdfMCkKKwkJb3h5Z2VuX3Jlc3RvcmVfYWM5NyhjaGlwLCAwKTsKKwlpZiAoY2hpcC0+aGFzX2FjOTdfMSkKKwkJb3h5Z2VuX3Jlc3RvcmVfYWM5NyhjaGlwLCAxKTsKKworCWlmIChjaGlwLT5tb2RlbC0+cmVzdW1lKQorCQljaGlwLT5tb2RlbC0+cmVzdW1lKGNoaXApOworCisJb3h5Z2VuX3dyaXRlMTYoY2hpcCwgT1hZR0VOX0lOVEVSUlVQVF9NQVNLLCBjaGlwLT5pbnRlcnJ1cHRfbWFzayk7CisKKwlzbmRfcG93ZXJfY2hhbmdlX3N0YXRlKGNhcmQsIFNORFJWX0NUTF9QT1dFUl9EMCk7CisJcmV0dXJuIDA7Cit9CitFWFBPUlRfU1lNQk9MKG94eWdlbl9wY2lfcmVzdW1lKTsKKyNlbmRpZiAvKiBDT05GSUdfUE0gKi8KZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9veHlnZW4vb3h5Z2VuX3BjbS5jIGIvc291bmQvcGNpL294eWdlbi9veHlnZW5fcGNtLmMKaW5kZXggYjE3YzQwNS4uYzRhZDY1YSAxMDA2NDQKLS0tIGEvc291bmQvcGNpL294eWdlbi9veHlnZW5fcGNtLmMKKysrIGIvc291bmQvcGNpL294eWdlbi9veHlnZW5fcGNtLmMKQEAgLTI0LDYgKzI0LDE2IEBACiAjaW5jbHVkZSA8c291bmQvcGNtX3BhcmFtcy5oPgogI2luY2x1ZGUgIm94eWdlbi5oIgogCisvKiBtb3N0IERNQSBjaGFubmVscyBoYXZlIGEgMTYtYml0IGNvdW50ZXIgZm9yIDMyLWJpdCB3b3JkcyAqLworI2RlZmluZSBCVUZGRVJfQllURVNfTUFYCQkoKDEgPDwgMTYpICogNCkKKy8qIHRoZSBtdWx0aWNoYW5uZWwgRE1BIGNoYW5uZWwgaGFzIGEgMjQtYml0IGNvdW50ZXIgKi8KKyNkZWZpbmUgQlVGRkVSX0JZVEVTX01BWF9NVUxUSUNICSgoMSA8PCAyNCkgKiA0KQorCisjZGVmaW5lIFBFUklPRF9CWVRFU19NSU4JCTY0CisKKyNkZWZpbmUgREVGQVVMVF9CVUZGRVJfQllURVMJCShCVUZGRVJfQllURVNfTUFYIC8gMikKKyNkZWZpbmUgREVGQVVMVF9CVUZGRVJfQllURVNfTVVMVElDSAkoMTAyNCAqIDEwMjQpCisKIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX3BjbV9oYXJkd2FyZSBveHlnZW5fc3RlcmVvX2hhcmR3YXJlID0gewogCS5pbmZvID0gU05EUlZfUENNX0lORk9fTU1BUCB8CiAJCVNORFJWX1BDTV9JTkZPX01NQVBfVkFMSUQgfApAQCAtNDQsMTEgKzU0LDExIEBACiAJLnJhdGVfbWF4ID0gMTkyMDAwLAogCS5jaGFubmVsc19taW4gPSAyLAogCS5jaGFubmVsc19tYXggPSAyLAotCS5idWZmZXJfYnl0ZXNfbWF4ID0gMjU2ICogMTAyNCwKLQkucGVyaW9kX2J5dGVzX21pbiA9IDEyOCwKLQkucGVyaW9kX2J5dGVzX21heCA9IDEyOCAqIDEwMjQsCisJLmJ1ZmZlcl9ieXRlc19tYXggPSBCVUZGRVJfQllURVNfTUFYLAorCS5wZXJpb2RfYnl0ZXNfbWluID0gUEVSSU9EX0JZVEVTX01JTiwKKwkucGVyaW9kX2J5dGVzX21heCA9IEJVRkZFUl9CWVRFU19NQVggLyAyLAogCS5wZXJpb2RzX21pbiA9IDIsCi0JLnBlcmlvZHNfbWF4ID0gMjA0OCwKKwkucGVyaW9kc19tYXggPSBCVUZGRVJfQllURVNfTUFYIC8gUEVSSU9EX0JZVEVTX01JTiwKIH07CiBzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9wY21faGFyZHdhcmUgb3h5Z2VuX211bHRpY2hhbm5lbF9oYXJkd2FyZSA9IHsKIAkuaW5mbyA9IFNORFJWX1BDTV9JTkZPX01NQVAgfApAQCAtNzAsMTEgKzgwLDExIEBACiAJLnJhdGVfbWF4ID0gMTkyMDAwLAogCS5jaGFubmVsc19taW4gPSAyLAogCS5jaGFubmVsc19tYXggPSA4LAotCS5idWZmZXJfYnl0ZXNfbWF4ID0gMjA0OCAqIDEwMjQsCi0JLnBlcmlvZF9ieXRlc19taW4gPSAxMjgsCi0JLnBlcmlvZF9ieXRlc19tYXggPSAyNTYgKiAxMDI0LAorCS5idWZmZXJfYnl0ZXNfbWF4ID0gQlVGRkVSX0JZVEVTX01BWF9NVUxUSUNILAorCS5wZXJpb2RfYnl0ZXNfbWluID0gUEVSSU9EX0JZVEVTX01JTiwKKwkucGVyaW9kX2J5dGVzX21heCA9IEJVRkZFUl9CWVRFU19NQVhfTVVMVElDSCAvIDIsCiAJLnBlcmlvZHNfbWluID0gMiwKLQkucGVyaW9kc19tYXggPSAxNjM4NCwKKwkucGVyaW9kc19tYXggPSBCVUZGRVJfQllURVNfTUFYX01VTFRJQ0ggLyBQRVJJT0RfQllURVNfTUlOLAogfTsKIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX3BjbV9oYXJkd2FyZSBveHlnZW5fYWM5N19oYXJkd2FyZSA9IHsKIAkuaW5mbyA9IFNORFJWX1BDTV9JTkZPX01NQVAgfApAQCAtODgsMTEgKzk4LDExIEBACiAJLnJhdGVfbWF4ID0gNDgwMDAsCiAJLmNoYW5uZWxzX21pbiA9IDIsCiAJLmNoYW5uZWxzX21heCA9IDIsCi0JLmJ1ZmZlcl9ieXRlc19tYXggPSAyNTYgKiAxMDI0LAotCS5wZXJpb2RfYnl0ZXNfbWluID0gMTI4LAotCS5wZXJpb2RfYnl0ZXNfbWF4ID0gMTI4ICogMTAyNCwKKwkuYnVmZmVyX2J5dGVzX21heCA9IEJVRkZFUl9CWVRFU19NQVgsCisJLnBlcmlvZF9ieXRlc19taW4gPSBQRVJJT0RfQllURVNfTUlOLAorCS5wZXJpb2RfYnl0ZXNfbWF4ID0gQlVGRkVSX0JZVEVTX01BWCAvIDIsCiAJLnBlcmlvZHNfbWluID0gMiwKLQkucGVyaW9kc19tYXggPSAyMDQ4LAorCS5wZXJpb2RzX21heCA9IEJVRkZFUl9CWVRFU19NQVggLyBQRVJJT0RfQllURVNfTUlOLAogfTsKIAogc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfcGNtX2hhcmR3YXJlICpjb25zdCBveHlnZW5faGFyZHdhcmVbUENNX0NPVU5UXSA9IHsKQEAgLTE1NSw2ICsxNjUsMTIgQEAKIAkJaWYgKGVyciA8IDApCiAJCQlyZXR1cm4gZXJyOwogCX0KKwlpZiAoY2hhbm5lbCA9PSBQQ01fTVVMVElDSCkgeworCQllcnIgPSBzbmRfcGNtX2h3X2NvbnN0cmFpbnRfbWlubWF4CisJCQkocnVudGltZSwgU05EUlZfUENNX0hXX1BBUkFNX1BFUklPRF9USU1FLCAwLCA4MTkyMDAwKTsKKwkJaWYgKGVyciA8IDApCisJCQlyZXR1cm4gZXJyOworCX0KIAlzbmRfcGNtX3NldF9zeW5jKHN1YnN0cmVhbSk7CiAJY2hpcC0+c3RyZWFtc1tjaGFubmVsXSA9IHN1YnN0cmVhbTsKIApAQCAtNTE3LDYgKzUzMyw3IEBACiAJc3dpdGNoIChjbWQpIHsKIAljYXNlIFNORFJWX1BDTV9UUklHR0VSX1NUT1A6CiAJY2FzZSBTTkRSVl9QQ01fVFJJR0dFUl9TVEFSVDoKKwljYXNlIFNORFJWX1BDTV9UUklHR0VSX1NVU1BFTkQ6CiAJCXBhdXNpbmcgPSAwOwogCQlicmVhazsKIAljYXNlIFNORFJWX1BDTV9UUklHR0VSX1BBVVNFX1BVU0g6CkBAIC02NjMsMTIgKzY4MCwxNCBAQAogCQkJc25kX3BjbV9saWJfcHJlYWxsb2NhdGVfcGFnZXMocGNtLT5zdHJlYW1zW1NORFJWX1BDTV9TVFJFQU1fUExBWUJBQ0tdLnN1YnN0cmVhbSwKIAkJCQkJCSAgICAgIFNORFJWX0RNQV9UWVBFX0RFViwKIAkJCQkJCSAgICAgIHNuZF9kbWFfcGNpX2RhdGEoY2hpcC0+cGNpKSwKLQkJCQkJCSAgICAgIDUxMiAqIDEwMjQsIDIwNDggKiAxMDI0KTsKKwkJCQkJCSAgICAgIERFRkFVTFRfQlVGRkVSX0JZVEVTX01VTFRJQ0gsCisJCQkJCQkgICAgICBCVUZGRVJfQllURVNfTUFYX01VTFRJQ0gpOwogCQlpZiAoaW5zKQogCQkJc25kX3BjbV9saWJfcHJlYWxsb2NhdGVfcGFnZXMocGNtLT5zdHJlYW1zW1NORFJWX1BDTV9TVFJFQU1fQ0FQVFVSRV0uc3Vic3RyZWFtLAogCQkJCQkJICAgICAgU05EUlZfRE1BX1RZUEVfREVWLAogCQkJCQkJICAgICAgc25kX2RtYV9wY2lfZGF0YShjaGlwLT5wY2kpLAotCQkJCQkJICAgICAgMTI4ICogMTAyNCwgMjU2ICogMTAyNCk7CisJCQkJCQkgICAgICBERUZBVUxUX0JVRkZFUl9CWVRFUywKKwkJCQkJCSAgICAgIEJVRkZFUl9CWVRFU19NQVgpOwogCX0KIAogCW91dHMgPSAhIShjaGlwLT5tb2RlbC0+cGNtX2Rldl9jZmcgJiBQTEFZQkFDS18xX1RPX1NQRElGKTsKQEAgLTY4OCw3ICs3MDcsOCBAQAogCQlzdHJjcHkocGNtLT5uYW1lLCAiRGlnaXRhbCIpOwogCQlzbmRfcGNtX2xpYl9wcmVhbGxvY2F0ZV9wYWdlc19mb3JfYWxsKHBjbSwgU05EUlZfRE1BX1RZUEVfREVWLAogCQkJCQkJICAgICAgc25kX2RtYV9wY2lfZGF0YShjaGlwLT5wY2kpLAotCQkJCQkJICAgICAgMTI4ICogMTAyNCwgMjU2ICogMTAyNCk7CisJCQkJCQkgICAgICBERUZBVUxUX0JVRkZFUl9CWVRFUywKKwkJCQkJCSAgICAgIEJVRkZFUl9CWVRFU19NQVgpOwogCX0KIAogCWlmIChjaGlwLT5oYXNfYWM5N18xKSB7CkBAIC03MTgsNyArNzM4LDggQEAKIAkJc3RyY3B5KHBjbS0+bmFtZSwgb3V0cyA/ICJGcm9udCBQYW5lbCIgOiAiQW5hbG9nIDIiKTsKIAkJc25kX3BjbV9saWJfcHJlYWxsb2NhdGVfcGFnZXNfZm9yX2FsbChwY20sIFNORFJWX0RNQV9UWVBFX0RFViwKIAkJCQkJCSAgICAgIHNuZF9kbWFfcGNpX2RhdGEoY2hpcC0+cGNpKSwKLQkJCQkJCSAgICAgIDEyOCAqIDEwMjQsIDI1NiAqIDEwMjQpOworCQkJCQkJICAgICAgREVGQVVMVF9CVUZGRVJfQllURVMsCisJCQkJCQkgICAgICBCVUZGRVJfQllURVNfTUFYKTsKIAl9CiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvb3h5Z2VuL3ZpcnR1b3NvLmMgYi9zb3VuZC9wY2kvb3h5Z2VuL3ZpcnR1b3NvLmMKaW5kZXggN2Y4NGZhNS4uOWEyYzE2YiAxMDA2NDQKLS0tIGEvc291bmQvcGNpL294eWdlbi92aXJ0dW9zby5jCisrKyBiL3NvdW5kL3BjaS9veHlnZW4vdmlydHVvc28uYwpAQCAtNzksNyArNzksNyBAQAogCiBNT0RVTEVfQVVUSE9SKCJDbGVtZW5zIExhZGlzY2ggPGNsZW1lbnNAbGFkaXNjaC5kZT4iKTsKIE1PRFVMRV9ERVNDUklQVElPTigiQXN1cyBBVngwMCBkcml2ZXIiKTsKLU1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKK01PRFVMRV9MSUNFTlNFKCJHUEwgdjIiKTsKIE1PRFVMRV9TVVBQT1JURURfREVWSUNFKCJ7e0FzdXMsQVYxMDB9LHtBc3VzLEFWMjAwfX0iKTsKIAogc3RhdGljIGludCBpbmRleFtTTkRSVl9DQVJEU10gPSBTTkRSVl9ERUZBVUxUX0lEWDsKQEAgLTEzMiw2ICsxMzIsOSBAQAogCXU4IGV4dF9wb3dlcl9pbnRfcmVnOwogCXU4IGV4dF9wb3dlcl9iaXQ7CiAJdTggaGFzX3Bvd2VyOworCXU4IHBjbTE3OTZfb3ZlcnNhbXBsaW5nOworCXU4IGNzNDM5OF9mbTsKKwl1OCBjczQzNjJhX2ZtOwogfTsKIAogc3RhdGljIHZvaWQgcGNtMTc5Nl93cml0ZShzdHJ1Y3Qgb3h5Z2VuICpjaGlwLCB1bnNpZ25lZCBpbnQgY29kZWMsCkBAIC0xNTksNiArMTYyLDE0IEBACiAJb3h5Z2VuX3dyaXRlX2kyYyhjaGlwLCBJMkNfREVWSUNFX0NTNDM2MkEsIHJlZywgdmFsdWUpOwogfQogCitzdGF0aWMgdm9pZCB4b25hcl9lbmFibGVfb3V0cHV0KHN0cnVjdCBveHlnZW4gKmNoaXApCit7CisJc3RydWN0IHhvbmFyX2RhdGEgKmRhdGEgPSBjaGlwLT5tb2RlbF9kYXRhOworCisJbXNsZWVwKGRhdGEtPmFudGlfcG9wX2RlbGF5KTsKKwlveHlnZW5fc2V0X2JpdHMxNihjaGlwLCBPWFlHRU5fR1BJT19EQVRBLCBkYXRhLT5vdXRwdXRfZW5hYmxlX2JpdCk7Cit9CisKIHN0YXRpYyB2b2lkIHhvbmFyX2NvbW1vbl9pbml0KHN0cnVjdCBveHlnZW4gKmNoaXApCiB7CiAJc3RydWN0IHhvbmFyX2RhdGEgKmRhdGEgPSBjaGlwLT5tb2RlbF9kYXRhOwpAQCAtMTcwLDMyICsxODEsNTkgQEAKIAkJZGF0YS0+aGFzX3Bvd2VyID0gISEob3h5Z2VuX3JlYWQ4KGNoaXAsIGRhdGEtPmV4dF9wb3dlcl9yZWcpCiAJCQkJICAgICAmIGRhdGEtPmV4dF9wb3dlcl9iaXQpOwogCX0KLQlveHlnZW5fc2V0X2JpdHMxNihjaGlwLCBPWFlHRU5fR1BJT19DT05UUk9MLCBHUElPX0NTNTN4MV9NX01BU0spOworCW94eWdlbl9zZXRfYml0czE2KGNoaXAsIE9YWUdFTl9HUElPX0NPTlRST0wsCisJCQkgIEdQSU9fQ1M1M3gxX01fTUFTSyB8IGRhdGEtPm91dHB1dF9lbmFibGVfYml0KTsKIAlveHlnZW5fd3JpdGUxNl9tYXNrZWQoY2hpcCwgT1hZR0VOX0dQSU9fREFUQSwKIAkJCSAgICAgIEdQSU9fQ1M1M3gxX01fU0lOR0xFLCBHUElPX0NTNTN4MV9NX01BU0spOwogCW94eWdlbl9hYzk3X3NldF9iaXRzKGNoaXAsIDAsIENNOTc4MF9KQUNLLCBDTTk3ODBfRk1JQzJNSUMpOwotCW1zbGVlcChkYXRhLT5hbnRpX3BvcF9kZWxheSk7Ci0Jb3h5Z2VuX3NldF9iaXRzMTYoY2hpcCwgT1hZR0VOX0dQSU9fQ09OVFJPTCwgZGF0YS0+b3V0cHV0X2VuYWJsZV9iaXQpOwotCW94eWdlbl9zZXRfYml0czE2KGNoaXAsIE9YWUdFTl9HUElPX0RBVEEsIGRhdGEtPm91dHB1dF9lbmFibGVfYml0KTsKKwl4b25hcl9lbmFibGVfb3V0cHV0KGNoaXApOworfQorCitzdGF0aWMgdm9pZCB1cGRhdGVfcGNtMTc5Nl92b2x1bWUoc3RydWN0IG94eWdlbiAqY2hpcCkKK3sKKwl1bnNpZ25lZCBpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCA0OyArK2kpIHsKKwkJcGNtMTc5Nl93cml0ZShjaGlwLCBpLCAxNiwgY2hpcC0+ZGFjX3ZvbHVtZVtpICogMl0pOworCQlwY20xNzk2X3dyaXRlKGNoaXAsIGksIDE3LCBjaGlwLT5kYWNfdm9sdW1lW2kgKiAyICsgMV0pOworCX0KK30KKworc3RhdGljIHZvaWQgdXBkYXRlX3BjbTE3OTZfbXV0ZShzdHJ1Y3Qgb3h5Z2VuICpjaGlwKQoreworCXVuc2lnbmVkIGludCBpOworCXU4IHZhbHVlOworCisJdmFsdWUgPSBQQ00xNzk2X0RNRl9ESVNBQkxFRCB8IFBDTTE3OTZfRk1UXzI0X0xKVVNUIHwgUENNMTc5Nl9BVExEOworCWlmIChjaGlwLT5kYWNfbXV0ZSkKKwkJdmFsdWUgfD0gUENNMTc5Nl9NVVRFOworCWZvciAoaSA9IDA7IGkgPCA0OyArK2kpCisJCXBjbTE3OTZfd3JpdGUoY2hpcCwgaSwgMTgsIHZhbHVlKTsKK30KKworc3RhdGljIHZvaWQgcGNtMTc5Nl9pbml0KHN0cnVjdCBveHlnZW4gKmNoaXApCit7CisJc3RydWN0IHhvbmFyX2RhdGEgKmRhdGEgPSBjaGlwLT5tb2RlbF9kYXRhOworCXVuc2lnbmVkIGludCBpOworCisJZm9yIChpID0gMDsgaSA8IDQ7ICsraSkgeworCQlwY20xNzk2X3dyaXRlKGNoaXAsIGksIDE5LCBQQ00xNzk2X0ZMVF9TSEFSUCB8IFBDTTE3OTZfQVRTXzEpOworCQlwY20xNzk2X3dyaXRlKGNoaXAsIGksIDIwLCBkYXRhLT5wY20xNzk2X292ZXJzYW1wbGluZyk7CisJCXBjbTE3OTZfd3JpdGUoY2hpcCwgaSwgMjEsIDApOworCX0KKwl1cGRhdGVfcGNtMTc5Nl9tdXRlKGNoaXApOyAvKiBzZXQgQVRMRCBiZWZvcmUgQVRML0FUUiAqLworCXVwZGF0ZV9wY20xNzk2X3ZvbHVtZShjaGlwKTsKIH0KIAogc3RhdGljIHZvaWQgeG9uYXJfZDJfaW5pdChzdHJ1Y3Qgb3h5Z2VuICpjaGlwKQogewogCXN0cnVjdCB4b25hcl9kYXRhICpkYXRhID0gY2hpcC0+bW9kZWxfZGF0YTsKLQl1bnNpZ25lZCBpbnQgaTsKIAogCWRhdGEtPmFudGlfcG9wX2RlbGF5ID0gMzAwOwogCWRhdGEtPm91dHB1dF9lbmFibGVfYml0ID0gR1BJT19EMl9PVVRQVVRfRU5BQkxFOworCWRhdGEtPnBjbTE3OTZfb3ZlcnNhbXBsaW5nID0gUENNMTc5Nl9PU182NDsKIAotCWZvciAoaSA9IDA7IGkgPCA0OyArK2kpIHsKLQkJcGNtMTc5Nl93cml0ZShjaGlwLCBpLCAxOCwgUENNMTc5Nl9NVVRFIHwgUENNMTc5Nl9ETUZfRElTQUJMRUQgfAotCQkJICAgICAgUENNMTc5Nl9GTVRfMjRfTEpVU1QgfCBQQ00xNzk2X0FUTEQpOwotCQlwY20xNzk2X3dyaXRlKGNoaXAsIGksIDE5LCBQQ00xNzk2X0ZMVF9TSEFSUCB8IFBDTTE3OTZfQVRTXzEpOwotCQlwY20xNzk2X3dyaXRlKGNoaXAsIGksIDIwLCBQQ00xNzk2X09TXzY0KTsKLQkJcGNtMTc5Nl93cml0ZShjaGlwLCBpLCAyMSwgMCk7Ci0JCXBjbTE3OTZfd3JpdGUoY2hpcCwgaSwgMTYsIDB4MGYpOyAvKiBzZXQgQVRML0FUUiBhZnRlciBBVExEICovCi0JCXBjbTE3OTZfd3JpdGUoY2hpcCwgaSwgMTcsIDB4MGYpOwotCX0KKwlwY20xNzk2X2luaXQoY2hpcCk7CiAKIAlveHlnZW5fc2V0X2JpdHMxNihjaGlwLCBPWFlHRU5fR1BJT19DT05UUk9MLCBHUElPX0QyX0FMVCk7CiAJb3h5Z2VuX2NsZWFyX2JpdHMxNihjaGlwLCBPWFlHRU5fR1BJT19EQVRBLCBHUElPX0QyX0FMVCk7CkBAIC0yMTcsMTUxICsyNTUsNiBAQAogCXhvbmFyX2QyX2luaXQoY2hpcCk7CiB9CiAKLXN0YXRpYyB2b2lkIHhvbmFyX2R4X2luaXQoc3RydWN0IG94eWdlbiAqY2hpcCkKLXsKLQlzdHJ1Y3QgeG9uYXJfZGF0YSAqZGF0YSA9IGNoaXAtPm1vZGVsX2RhdGE7Ci0KLQlkYXRhLT5hbnRpX3BvcF9kZWxheSA9IDgwMDsKLQlkYXRhLT5vdXRwdXRfZW5hYmxlX2JpdCA9IEdQSU9fRFhfT1VUUFVUX0VOQUJMRTsKLQlkYXRhLT5leHRfcG93ZXJfcmVnID0gT1hZR0VOX0dQSV9EQVRBOwotCWRhdGEtPmV4dF9wb3dlcl9pbnRfcmVnID0gT1hZR0VOX0dQSV9JTlRFUlJVUFRfTUFTSzsKLQlkYXRhLT5leHRfcG93ZXJfYml0ID0gR1BJX0RYX0VYVF9QT1dFUjsKLQotCW94eWdlbl93cml0ZTE2KGNoaXAsIE9YWUdFTl8yV0lSRV9CVVNfU1RBVFVTLAotCQkgICAgICAgT1hZR0VOXzJXSVJFX0xFTkdUSF84IHwKLQkJICAgICAgIE9YWUdFTl8yV0lSRV9JTlRFUlJVUFRfTUFTSyB8Ci0JCSAgICAgICBPWFlHRU5fMldJUkVfU1BFRURfRkFTVCk7Ci0KLQkvKiBzZXQgQ1BFTiAoY29udHJvbCBwb3J0IG1vZGUpIGFuZCBwb3dlciBkb3duICovCi0JY3M0Mzk4X3dyaXRlKGNoaXAsIDgsIENTNDM5OF9DUEVOIHwgQ1M0Mzk4X1BETik7Ci0JY3M0MzYyYV93cml0ZShjaGlwLCAweDAxLCBDUzQzNjJBX1BETiB8IENTNDM2MkFfQ1BFTik7Ci0JLyogY29uZmlndXJlICovCi0JY3M0Mzk4X3dyaXRlKGNoaXAsIDIsIENTNDM5OF9GTV9TSU5HTEUgfAotCQkgICAgIENTNDM5OF9ERU1fTk9ORSB8IENTNDM5OF9ESUZfTEpVU1QpOwotCWNzNDM5OF93cml0ZShjaGlwLCAzLCBDUzQzOThfQVRBUElfQl9SIHwgQ1M0Mzk4X0FUQVBJX0FfTCk7Ci0JY3M0Mzk4X3dyaXRlKGNoaXAsIDQsIENTNDM5OF9NVVRFUF9MT1cgfCBDUzQzOThfUEFNVVRFKTsKLQljczQzOThfd3JpdGUoY2hpcCwgNSwgMHhmZSk7Ci0JY3M0Mzk4X3dyaXRlKGNoaXAsIDYsIDB4ZmUpOwotCWNzNDM5OF93cml0ZShjaGlwLCA3LCBDUzQzOThfUk1QX0ROIHwgQ1M0Mzk4X1JNUF9VUCB8Ci0JCSAgICAgQ1M0Mzk4X1pFUk9fQ1JPU1MgfCBDUzQzOThfU09GVF9SQU1QKTsKLQljczQzNjJhX3dyaXRlKGNoaXAsIDB4MDIsIENTNDM2MkFfRElGX0xKVVNUKTsKLQljczQzNjJhX3dyaXRlKGNoaXAsIDB4MDMsIENTNDM2MkFfTVVURUNfNiB8IENTNDM2MkFfQU1VVEUgfAotCQkgICAgICBDUzQzNjJBX1JNUF9VUCB8IENTNDM2MkFfWkVST19DUk9TUyB8IENTNDM2MkFfU09GVF9SQU1QKTsKLQljczQzNjJhX3dyaXRlKGNoaXAsIDB4MDQsIENTNDM2MkFfUk1QX0ROIHwgQ1M0MzYyQV9ERU1fTk9ORSk7Ci0JY3M0MzYyYV93cml0ZShjaGlwLCAweDA1LCAwKTsKLQljczQzNjJhX3dyaXRlKGNoaXAsIDB4MDYsIENTNDM2MkFfRk1fU0lOR0xFIHwKLQkJICAgICAgQ1M0MzYyQV9BVEFQSV9CX1IgfCBDUzQzNjJBX0FUQVBJX0FfTCk7Ci0JY3M0MzYyYV93cml0ZShjaGlwLCAweDA3LCAweDdmIHwgQ1M0MzYyQV9NVVRFKTsKLQljczQzNjJhX3dyaXRlKGNoaXAsIDB4MDgsIDB4N2YgfCBDUzQzNjJBX01VVEUpOwotCWNzNDM2MmFfd3JpdGUoY2hpcCwgMHgwOSwgQ1M0MzYyQV9GTV9TSU5HTEUgfAotCQkgICAgICBDUzQzNjJBX0FUQVBJX0JfUiB8IENTNDM2MkFfQVRBUElfQV9MKTsKLQljczQzNjJhX3dyaXRlKGNoaXAsIDB4MGEsIDB4N2YgfCBDUzQzNjJBX01VVEUpOwotCWNzNDM2MmFfd3JpdGUoY2hpcCwgMHgwYiwgMHg3ZiB8IENTNDM2MkFfTVVURSk7Ci0JY3M0MzYyYV93cml0ZShjaGlwLCAweDBjLCBDUzQzNjJBX0ZNX1NJTkdMRSB8Ci0JCSAgICAgIENTNDM2MkFfQVRBUElfQl9SIHwgQ1M0MzYyQV9BVEFQSV9BX0wpOwotCWNzNDM2MmFfd3JpdGUoY2hpcCwgMHgwZCwgMHg3ZiB8IENTNDM2MkFfTVVURSk7Ci0JY3M0MzYyYV93cml0ZShjaGlwLCAweDBlLCAweDdmIHwgQ1M0MzYyQV9NVVRFKTsKLQkvKiBjbGVhciBwb3dlciBkb3duICovCi0JY3M0Mzk4X3dyaXRlKGNoaXAsIDgsIENTNDM5OF9DUEVOKTsKLQljczQzNjJhX3dyaXRlKGNoaXAsIDB4MDEsIENTNDM2MkFfQ1BFTik7Ci0KLQlveHlnZW5fc2V0X2JpdHMxNihjaGlwLCBPWFlHRU5fR1BJT19DT05UUk9MLAotCQkJICBHUElPX0RYX0ZST05UX1BBTkVMIHwgR1BJT19EWF9JTlBVVF9ST1VURSk7Ci0Jb3h5Z2VuX2NsZWFyX2JpdHMxNihjaGlwLCBPWFlHRU5fR1BJT19EQVRBLAotCQkJICAgIEdQSU9fRFhfRlJPTlRfUEFORUwgfCBHUElPX0RYX0lOUFVUX1JPVVRFKTsKLQotCXhvbmFyX2NvbW1vbl9pbml0KGNoaXApOwotCi0Jc25kX2NvbXBvbmVudF9hZGQoY2hpcC0+Y2FyZCwgIkNTNDM5OCIpOwotCXNuZF9jb21wb25lbnRfYWRkKGNoaXAtPmNhcmQsICJDUzQzNjJBIik7Ci0Jc25kX2NvbXBvbmVudF9hZGQoY2hpcC0+Y2FyZCwgIkNTNTM2MSIpOwotfQotCi1zdGF0aWMgdm9pZCB4b25hcl9jbGVhbnVwKHN0cnVjdCBveHlnZW4gKmNoaXApCi17Ci0Jc3RydWN0IHhvbmFyX2RhdGEgKmRhdGEgPSBjaGlwLT5tb2RlbF9kYXRhOwotCi0Jb3h5Z2VuX2NsZWFyX2JpdHMxNihjaGlwLCBPWFlHRU5fR1BJT19EQVRBLCBkYXRhLT5vdXRwdXRfZW5hYmxlX2JpdCk7Ci19Ci0KLXN0YXRpYyB2b2lkIHhvbmFyX2R4X2NsZWFudXAoc3RydWN0IG94eWdlbiAqY2hpcCkKLXsKLQl4b25hcl9jbGVhbnVwKGNoaXApOwotCWNzNDM2MmFfd3JpdGUoY2hpcCwgMHgwMSwgQ1M0MzYyQV9QRE4gfCBDUzQzNjJBX0NQRU4pOwotCW94eWdlbl9jbGVhcl9iaXRzOChjaGlwLCBPWFlHRU5fRlVOQ1RJT04sIE9YWUdFTl9GVU5DVElPTl9SRVNFVF9DT0RFQyk7Ci19Ci0KLXN0YXRpYyB2b2lkIHNldF9wY20xNzk2X3BhcmFtcyhzdHJ1Y3Qgb3h5Z2VuICpjaGlwLAotCQkJICAgICAgIHN0cnVjdCBzbmRfcGNtX2h3X3BhcmFtcyAqcGFyYW1zKQotewotCXVuc2lnbmVkIGludCBpOwotCXU4IHZhbHVlOwotCi0JdmFsdWUgPSBwYXJhbXNfcmF0ZShwYXJhbXMpID49IDk2MDAwID8gUENNMTc5Nl9PU18zMiA6IFBDTTE3OTZfT1NfNjQ7Ci0JZm9yIChpID0gMDsgaSA8IDQ7ICsraSkKLQkJcGNtMTc5Nl93cml0ZShjaGlwLCBpLCAyMCwgdmFsdWUpOwotfQotCi1zdGF0aWMgdm9pZCB1cGRhdGVfcGNtMTc5Nl92b2x1bWUoc3RydWN0IG94eWdlbiAqY2hpcCkKLXsKLQl1bnNpZ25lZCBpbnQgaTsKLQotCWZvciAoaSA9IDA7IGkgPCA0OyArK2kpIHsKLQkJcGNtMTc5Nl93cml0ZShjaGlwLCBpLCAxNiwgY2hpcC0+ZGFjX3ZvbHVtZVtpICogMl0pOwotCQlwY20xNzk2X3dyaXRlKGNoaXAsIGksIDE3LCBjaGlwLT5kYWNfdm9sdW1lW2kgKiAyICsgMV0pOwotCX0KLX0KLQotc3RhdGljIHZvaWQgdXBkYXRlX3BjbTE3OTZfbXV0ZShzdHJ1Y3Qgb3h5Z2VuICpjaGlwKQotewotCXVuc2lnbmVkIGludCBpOwotCXU4IHZhbHVlOwotCi0JdmFsdWUgPSBQQ00xNzk2X0ZNVF8yNF9MSlVTVCB8IFBDTTE3OTZfQVRMRDsKLQlpZiAoY2hpcC0+ZGFjX211dGUpCi0JCXZhbHVlIHw9IFBDTTE3OTZfTVVURTsKLQlmb3IgKGkgPSAwOyBpIDwgNDsgKytpKQotCQlwY20xNzk2X3dyaXRlKGNoaXAsIGksIDE4LCB2YWx1ZSk7Ci19Ci0KLXN0YXRpYyB2b2lkIHNldF9jczUzeDFfcGFyYW1zKHN0cnVjdCBveHlnZW4gKmNoaXAsCi0JCQkgICAgICBzdHJ1Y3Qgc25kX3BjbV9od19wYXJhbXMgKnBhcmFtcykKLXsKLQl1bnNpZ25lZCBpbnQgdmFsdWU7Ci0KLQlpZiAocGFyYW1zX3JhdGUocGFyYW1zKSA8PSA1NDAwMCkKLQkJdmFsdWUgPSBHUElPX0NTNTN4MV9NX1NJTkdMRTsKLQllbHNlIGlmIChwYXJhbXNfcmF0ZShwYXJhbXMpIDw9IDEwODAwMCkKLQkJdmFsdWUgPSBHUElPX0NTNTN4MV9NX0RPVUJMRTsKLQllbHNlCi0JCXZhbHVlID0gR1BJT19DUzUzeDFfTV9RVUFEOwotCW94eWdlbl93cml0ZTE2X21hc2tlZChjaGlwLCBPWFlHRU5fR1BJT19EQVRBLAotCQkJICAgICAgdmFsdWUsIEdQSU9fQ1M1M3gxX01fTUFTSyk7Ci19Ci0KLXN0YXRpYyB2b2lkIHNldF9jczQzeHhfcGFyYW1zKHN0cnVjdCBveHlnZW4gKmNoaXAsCi0JCQkgICAgICBzdHJ1Y3Qgc25kX3BjbV9od19wYXJhbXMgKnBhcmFtcykKLXsKLQl1OCBmbV9jczQzOTgsIGZtX2NzNDM2MmE7Ci0KLQlmbV9jczQzOTggPSBDUzQzOThfREVNX05PTkUgfCBDUzQzOThfRElGX0xKVVNUOwotCWZtX2NzNDM2MmEgPSBDUzQzNjJBX0FUQVBJX0JfUiB8IENTNDM2MkFfQVRBUElfQV9MOwotCWlmIChwYXJhbXNfcmF0ZShwYXJhbXMpIDw9IDUwMDAwKSB7Ci0JCWZtX2NzNDM5OCB8PSBDUzQzOThfRk1fU0lOR0xFOwotCQlmbV9jczQzNjJhIHw9IENTNDM2MkFfRk1fU0lOR0xFOwotCX0gZWxzZSBpZiAocGFyYW1zX3JhdGUocGFyYW1zKSA8PSAxMDAwMDApIHsKLQkJZm1fY3M0Mzk4IHw9IENTNDM5OF9GTV9ET1VCTEU7Ci0JCWZtX2NzNDM2MmEgfD0gQ1M0MzYyQV9GTV9ET1VCTEU7Ci0JfSBlbHNlIHsKLQkJZm1fY3M0Mzk4IHw9IENTNDM5OF9GTV9RVUFEOwotCQlmbV9jczQzNjJhIHw9IENTNDM2MkFfRk1fUVVBRDsKLQl9Ci0JY3M0Mzk4X3dyaXRlKGNoaXAsIDIsIGZtX2NzNDM5OCk7Ci0JY3M0MzYyYV93cml0ZShjaGlwLCAweDA2LCBmbV9jczQzNjJhKTsKLQljczQzNjJhX3dyaXRlKGNoaXAsIDB4MDksIGZtX2NzNDM2MmEpOwotCWNzNDM2MmFfd3JpdGUoY2hpcCwgMHgwYywgZm1fY3M0MzYyYSk7Ci19Ci0KIHN0YXRpYyB2b2lkIHVwZGF0ZV9jczQzNjJhX3ZvbHVtZXMoc3RydWN0IG94eWdlbiAqY2hpcCkKIHsKIAl1OCBtdXRlOwpAQCAtMzkzLDYgKzI4NiwxNDEgQEAKIAl1cGRhdGVfY3M0MzYyYV92b2x1bWVzKGNoaXApOwogfQogCitzdGF0aWMgdm9pZCBjczQzeHhfaW5pdChzdHJ1Y3Qgb3h5Z2VuICpjaGlwKQoreworCXN0cnVjdCB4b25hcl9kYXRhICpkYXRhID0gY2hpcC0+bW9kZWxfZGF0YTsKKworCS8qIHNldCBDUEVOIChjb250cm9sIHBvcnQgbW9kZSkgYW5kIHBvd2VyIGRvd24gKi8KKwljczQzOThfd3JpdGUoY2hpcCwgOCwgQ1M0Mzk4X0NQRU4gfCBDUzQzOThfUEROKTsKKwljczQzNjJhX3dyaXRlKGNoaXAsIDB4MDEsIENTNDM2MkFfUEROIHwgQ1M0MzYyQV9DUEVOKTsKKwkvKiBjb25maWd1cmUgKi8KKwljczQzOThfd3JpdGUoY2hpcCwgMiwgZGF0YS0+Y3M0Mzk4X2ZtKTsKKwljczQzOThfd3JpdGUoY2hpcCwgMywgQ1M0Mzk4X0FUQVBJX0JfUiB8IENTNDM5OF9BVEFQSV9BX0wpOworCWNzNDM5OF93cml0ZShjaGlwLCA3LCBDUzQzOThfUk1QX0ROIHwgQ1M0Mzk4X1JNUF9VUCB8CisJCSAgICAgQ1M0Mzk4X1pFUk9fQ1JPU1MgfCBDUzQzOThfU09GVF9SQU1QKTsKKwljczQzNjJhX3dyaXRlKGNoaXAsIDB4MDIsIENTNDM2MkFfRElGX0xKVVNUKTsKKwljczQzNjJhX3dyaXRlKGNoaXAsIDB4MDMsIENTNDM2MkFfTVVURUNfNiB8IENTNDM2MkFfQU1VVEUgfAorCQkgICAgICBDUzQzNjJBX1JNUF9VUCB8IENTNDM2MkFfWkVST19DUk9TUyB8IENTNDM2MkFfU09GVF9SQU1QKTsKKwljczQzNjJhX3dyaXRlKGNoaXAsIDB4MDQsIENTNDM2MkFfUk1QX0ROIHwgQ1M0MzYyQV9ERU1fTk9ORSk7CisJY3M0MzYyYV93cml0ZShjaGlwLCAweDA1LCAwKTsKKwljczQzNjJhX3dyaXRlKGNoaXAsIDB4MDYsIGRhdGEtPmNzNDM2MmFfZm0pOworCWNzNDM2MmFfd3JpdGUoY2hpcCwgMHgwOSwgZGF0YS0+Y3M0MzYyYV9mbSk7CisJY3M0MzYyYV93cml0ZShjaGlwLCAweDBjLCBkYXRhLT5jczQzNjJhX2ZtKTsKKwl1cGRhdGVfY3M0M3h4X3ZvbHVtZShjaGlwKTsKKwl1cGRhdGVfY3M0M3h4X211dGUoY2hpcCk7CisJLyogY2xlYXIgcG93ZXIgZG93biAqLworCWNzNDM5OF93cml0ZShjaGlwLCA4LCBDUzQzOThfQ1BFTik7CisJY3M0MzYyYV93cml0ZShjaGlwLCAweDAxLCBDUzQzNjJBX0NQRU4pOworfQorCitzdGF0aWMgdm9pZCB4b25hcl9keF9pbml0KHN0cnVjdCBveHlnZW4gKmNoaXApCit7CisJc3RydWN0IHhvbmFyX2RhdGEgKmRhdGEgPSBjaGlwLT5tb2RlbF9kYXRhOworCisJZGF0YS0+YW50aV9wb3BfZGVsYXkgPSA4MDA7CisJZGF0YS0+b3V0cHV0X2VuYWJsZV9iaXQgPSBHUElPX0RYX09VVFBVVF9FTkFCTEU7CisJZGF0YS0+ZXh0X3Bvd2VyX3JlZyA9IE9YWUdFTl9HUElfREFUQTsKKwlkYXRhLT5leHRfcG93ZXJfaW50X3JlZyA9IE9YWUdFTl9HUElfSU5URVJSVVBUX01BU0s7CisJZGF0YS0+ZXh0X3Bvd2VyX2JpdCA9IEdQSV9EWF9FWFRfUE9XRVI7CisJZGF0YS0+Y3M0Mzk4X2ZtID0gQ1M0Mzk4X0ZNX1NJTkdMRSB8IENTNDM5OF9ERU1fTk9ORSB8IENTNDM5OF9ESUZfTEpVU1Q7CisJZGF0YS0+Y3M0MzYyYV9mbSA9IENTNDM2MkFfRk1fU0lOR0xFIHwKKwkJQ1M0MzYyQV9BVEFQSV9CX1IgfCBDUzQzNjJBX0FUQVBJX0FfTDsKKworCW94eWdlbl93cml0ZTE2KGNoaXAsIE9YWUdFTl8yV0lSRV9CVVNfU1RBVFVTLAorCQkgICAgICAgT1hZR0VOXzJXSVJFX0xFTkdUSF84IHwKKwkJICAgICAgIE9YWUdFTl8yV0lSRV9JTlRFUlJVUFRfTUFTSyB8CisJCSAgICAgICBPWFlHRU5fMldJUkVfU1BFRURfRkFTVCk7CisKKwljczQzeHhfaW5pdChjaGlwKTsKKworCW94eWdlbl9zZXRfYml0czE2KGNoaXAsIE9YWUdFTl9HUElPX0NPTlRST0wsCisJCQkgIEdQSU9fRFhfRlJPTlRfUEFORUwgfCBHUElPX0RYX0lOUFVUX1JPVVRFKTsKKwlveHlnZW5fY2xlYXJfYml0czE2KGNoaXAsIE9YWUdFTl9HUElPX0RBVEEsCisJCQkgICAgR1BJT19EWF9GUk9OVF9QQU5FTCB8IEdQSU9fRFhfSU5QVVRfUk9VVEUpOworCisJeG9uYXJfY29tbW9uX2luaXQoY2hpcCk7CisKKwlzbmRfY29tcG9uZW50X2FkZChjaGlwLT5jYXJkLCAiQ1M0Mzk4Iik7CisJc25kX2NvbXBvbmVudF9hZGQoY2hpcC0+Y2FyZCwgIkNTNDM2MkEiKTsKKwlzbmRfY29tcG9uZW50X2FkZChjaGlwLT5jYXJkLCAiQ1M1MzYxIik7Cit9CisKK3N0YXRpYyB2b2lkIHhvbmFyX2NsZWFudXAoc3RydWN0IG94eWdlbiAqY2hpcCkKK3sKKwlzdHJ1Y3QgeG9uYXJfZGF0YSAqZGF0YSA9IGNoaXAtPm1vZGVsX2RhdGE7CisKKwlveHlnZW5fY2xlYXJfYml0czE2KGNoaXAsIE9YWUdFTl9HUElPX0RBVEEsIGRhdGEtPm91dHB1dF9lbmFibGVfYml0KTsKK30KKworc3RhdGljIHZvaWQgeG9uYXJfZHhfY2xlYW51cChzdHJ1Y3Qgb3h5Z2VuICpjaGlwKQoreworCXhvbmFyX2NsZWFudXAoY2hpcCk7CisJY3M0MzYyYV93cml0ZShjaGlwLCAweDAxLCBDUzQzNjJBX1BETiB8IENTNDM2MkFfQ1BFTik7CisJb3h5Z2VuX2NsZWFyX2JpdHM4KGNoaXAsIE9YWUdFTl9GVU5DVElPTiwgT1hZR0VOX0ZVTkNUSU9OX1JFU0VUX0NPREVDKTsKK30KKworc3RhdGljIHZvaWQgeG9uYXJfZDJfcmVzdW1lKHN0cnVjdCBveHlnZW4gKmNoaXApCit7CisJcGNtMTc5Nl9pbml0KGNoaXApOworCXhvbmFyX2VuYWJsZV9vdXRwdXQoY2hpcCk7Cit9CisKK3N0YXRpYyB2b2lkIHhvbmFyX2R4X3Jlc3VtZShzdHJ1Y3Qgb3h5Z2VuICpjaGlwKQoreworCWNzNDN4eF9pbml0KGNoaXApOworCXhvbmFyX2VuYWJsZV9vdXRwdXQoY2hpcCk7Cit9CisKK3N0YXRpYyB2b2lkIHNldF9wY20xNzk2X3BhcmFtcyhzdHJ1Y3Qgb3h5Z2VuICpjaGlwLAorCQkJICAgICAgIHN0cnVjdCBzbmRfcGNtX2h3X3BhcmFtcyAqcGFyYW1zKQoreworCXN0cnVjdCB4b25hcl9kYXRhICpkYXRhID0gY2hpcC0+bW9kZWxfZGF0YTsKKwl1bnNpZ25lZCBpbnQgaTsKKworCWRhdGEtPnBjbTE3OTZfb3ZlcnNhbXBsaW5nID0KKwkJcGFyYW1zX3JhdGUocGFyYW1zKSA+PSA5NjAwMCA/IFBDTTE3OTZfT1NfMzIgOiBQQ00xNzk2X09TXzY0OworCWZvciAoaSA9IDA7IGkgPCA0OyArK2kpCisJCXBjbTE3OTZfd3JpdGUoY2hpcCwgaSwgMjAsIGRhdGEtPnBjbTE3OTZfb3ZlcnNhbXBsaW5nKTsKK30KKworc3RhdGljIHZvaWQgc2V0X2NzNTN4MV9wYXJhbXMoc3RydWN0IG94eWdlbiAqY2hpcCwKKwkJCSAgICAgIHN0cnVjdCBzbmRfcGNtX2h3X3BhcmFtcyAqcGFyYW1zKQoreworCXVuc2lnbmVkIGludCB2YWx1ZTsKKworCWlmIChwYXJhbXNfcmF0ZShwYXJhbXMpIDw9IDU0MDAwKQorCQl2YWx1ZSA9IEdQSU9fQ1M1M3gxX01fU0lOR0xFOworCWVsc2UgaWYgKHBhcmFtc19yYXRlKHBhcmFtcykgPD0gMTA4MDAwKQorCQl2YWx1ZSA9IEdQSU9fQ1M1M3gxX01fRE9VQkxFOworCWVsc2UKKwkJdmFsdWUgPSBHUElPX0NTNTN4MV9NX1FVQUQ7CisJb3h5Z2VuX3dyaXRlMTZfbWFza2VkKGNoaXAsIE9YWUdFTl9HUElPX0RBVEEsCisJCQkgICAgICB2YWx1ZSwgR1BJT19DUzUzeDFfTV9NQVNLKTsKK30KKworc3RhdGljIHZvaWQgc2V0X2NzNDN4eF9wYXJhbXMoc3RydWN0IG94eWdlbiAqY2hpcCwKKwkJCSAgICAgIHN0cnVjdCBzbmRfcGNtX2h3X3BhcmFtcyAqcGFyYW1zKQoreworCXN0cnVjdCB4b25hcl9kYXRhICpkYXRhID0gY2hpcC0+bW9kZWxfZGF0YTsKKworCWRhdGEtPmNzNDM5OF9mbSA9IENTNDM5OF9ERU1fTk9ORSB8IENTNDM5OF9ESUZfTEpVU1Q7CisJZGF0YS0+Y3M0MzYyYV9mbSA9IENTNDM2MkFfQVRBUElfQl9SIHwgQ1M0MzYyQV9BVEFQSV9BX0w7CisJaWYgKHBhcmFtc19yYXRlKHBhcmFtcykgPD0gNTAwMDApIHsKKwkJZGF0YS0+Y3M0Mzk4X2ZtIHw9IENTNDM5OF9GTV9TSU5HTEU7CisJCWRhdGEtPmNzNDM2MmFfZm0gfD0gQ1M0MzYyQV9GTV9TSU5HTEU7CisJfSBlbHNlIGlmIChwYXJhbXNfcmF0ZShwYXJhbXMpIDw9IDEwMDAwMCkgeworCQlkYXRhLT5jczQzOThfZm0gfD0gQ1M0Mzk4X0ZNX0RPVUJMRTsKKwkJZGF0YS0+Y3M0MzYyYV9mbSB8PSBDUzQzNjJBX0ZNX0RPVUJMRTsKKwl9IGVsc2UgeworCQlkYXRhLT5jczQzOThfZm0gfD0gQ1M0Mzk4X0ZNX1FVQUQ7CisJCWRhdGEtPmNzNDM2MmFfZm0gfD0gQ1M0MzYyQV9GTV9RVUFEOworCX0KKwljczQzOThfd3JpdGUoY2hpcCwgMiwgZGF0YS0+Y3M0Mzk4X2ZtKTsKKwljczQzNjJhX3dyaXRlKGNoaXAsIDB4MDYsIGRhdGEtPmNzNDM2MmFfZm0pOworCWNzNDM2MmFfd3JpdGUoY2hpcCwgMHgwOSwgZGF0YS0+Y3M0MzYyYV9mbSk7CisJY3M0MzYyYV93cml0ZShjaGlwLCAweDBjLCBkYXRhLT5jczQzNjJhX2ZtKTsKK30KKwogc3RhdGljIHZvaWQgeG9uYXJfZ3Bpb19jaGFuZ2VkKHN0cnVjdCBveHlnZW4gKmNoaXApCiB7CiAJc3RydWN0IHhvbmFyX2RhdGEgKmRhdGEgPSBjaGlwLT5tb2RlbF9kYXRhOwpAQCAtNTM1LDYgKzU2Myw4IEBACiAJCS5jb250cm9sX2ZpbHRlciA9IHhvbmFyX2QyX2NvbnRyb2xfZmlsdGVyLAogCQkubWl4ZXJfaW5pdCA9IHhvbmFyX21peGVyX2luaXQsCiAJCS5jbGVhbnVwID0geG9uYXJfY2xlYW51cCwKKwkJLnN1c3BlbmQgPSB4b25hcl9jbGVhbnVwLAorCQkucmVzdW1lID0geG9uYXJfZDJfcmVzdW1lLAogCQkuc2V0X2RhY19wYXJhbXMgPSBzZXRfcGNtMTc5Nl9wYXJhbXMsCiAJCS5zZXRfYWRjX3BhcmFtcyA9IHNldF9jczUzeDFfcGFyYW1zLAogCQkudXBkYXRlX2RhY192b2x1bWUgPSB1cGRhdGVfcGNtMTc5Nl92b2x1bWUsCkBAIC01NjMsNiArNTkzLDggQEAKIAkJLmNvbnRyb2xfZmlsdGVyID0geG9uYXJfZDJfY29udHJvbF9maWx0ZXIsCiAJCS5taXhlcl9pbml0ID0geG9uYXJfbWl4ZXJfaW5pdCwKIAkJLmNsZWFudXAgPSB4b25hcl9jbGVhbnVwLAorCQkuc3VzcGVuZCA9IHhvbmFyX2NsZWFudXAsCisJCS5yZXN1bWUgPSB4b25hcl9kMl9yZXN1bWUsCiAJCS5zZXRfZGFjX3BhcmFtcyA9IHNldF9wY20xNzk2X3BhcmFtcywKIAkJLnNldF9hZGNfcGFyYW1zID0gc2V0X2NzNTN4MV9wYXJhbXMsCiAJCS51cGRhdGVfZGFjX3ZvbHVtZSA9IHVwZGF0ZV9wY20xNzk2X3ZvbHVtZSwKQEAgLTU5Miw2ICs2MjQsOCBAQAogCQkuY29udHJvbF9maWx0ZXIgPSB4b25hcl9keF9jb250cm9sX2ZpbHRlciwKIAkJLm1peGVyX2luaXQgPSB4b25hcl9keF9taXhlcl9pbml0LAogCQkuY2xlYW51cCA9IHhvbmFyX2R4X2NsZWFudXAsCisJCS5zdXNwZW5kID0geG9uYXJfZHhfY2xlYW51cCwKKwkJLnJlc3VtZSA9IHhvbmFyX2R4X3Jlc3VtZSwKIAkJLnNldF9kYWNfcGFyYW1zID0gc2V0X2NzNDN4eF9wYXJhbXMsCiAJCS5zZXRfYWRjX3BhcmFtcyA9IHNldF9jczUzeDFfcGFyYW1zLAogCQkudXBkYXRlX2RhY192b2x1bWUgPSB1cGRhdGVfY3M0M3h4X3ZvbHVtZSwKQEAgLTYzNiw2ICs2NzAsMTAgQEAKIAkuaWRfdGFibGUgPSB4b25hcl9pZHMsCiAJLnByb2JlID0geG9uYXJfcHJvYmUsCiAJLnJlbW92ZSA9IF9fZGV2ZXhpdF9wKG94eWdlbl9wY2lfcmVtb3ZlKSwKKyNpZmRlZiBDT05GSUdfUE0KKwkuc3VzcGVuZCA9IG94eWdlbl9wY2lfc3VzcGVuZCwKKwkucmVzdW1lID0gb3h5Z2VuX3BjaV9yZXN1bWUsCisjZW5kaWYKIH07CiAKIHN0YXRpYyBpbnQgX19pbml0IGFsc2FfY2FyZF94b25hcl9pbml0KHZvaWQpCmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvcGN4aHIvcGN4aHIuYyBiL3NvdW5kL3BjaS9wY3hoci9wY3hoci5jCmluZGV4IDdmZGNkYzguLjJjN2UyNTMgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9wY3hoci9wY3hoci5jCisrKyBiL3NvdW5kL3BjaS9wY3hoci9wY3hoci5jCkBAIC01MTYsNyArNTE2LDcgQEAKIAlpbnQgY2FwdHVyZV9tYXNrID0gMDsKIAlpbnQgcGxheWJhY2tfbWFzayA9IDA7CiAKLSNpZmRlZiBDT05GSUdfU05EX0RFQlVHX0RFVEVDVAorI2lmZGVmIENPTkZJR19TTkRfREVCVUdfVkVSQk9TRQogCXN0cnVjdCB0aW1ldmFsIG15X3R2MSwgbXlfdHYyOwogCWRvX2dldHRpbWVvZmRheSgmbXlfdHYxKTsKICNlbmRpZgpAQCAtNjIzLDcgKzYyMyw3IEBACiAKIAltdXRleF91bmxvY2soJm1nci0+c2V0dXBfbXV0ZXgpOwogCi0jaWZkZWYgQ09ORklHX1NORF9ERUJVR19ERVRFQ1QKKyNpZmRlZiBDT05GSUdfU05EX0RFQlVHX1ZFUkJPU0UKIAlkb19nZXR0aW1lb2ZkYXkoJm15X3R2Mik7CiAJc25kX3ByaW50ZGQoIioqKlRSSUdHRVIgVEFTS0xFVCoqKiBUSU1FID0gJWxkIChlcnIgPSAleClcbiIsCiAJCSAgICAobG9uZykobXlfdHYyLnR2X3VzZWMgLSBteV90djEudHZfdXNlYyksIGVycik7CmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvcGN4aHIvcGN4aHJfY29yZS5jIGIvc291bmQvcGNpL3BjeGhyL3BjeGhyX2NvcmUuYwppbmRleCA3OGFhODFmLi4wMDBlNmZlIDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvcGN4aHIvcGN4aHJfY29yZS5jCisrKyBiL3NvdW5kL3BjaS9wY3hoci9wY3hocl9jb3JlLmMKQEAgLTI2OSw3ICsyNjksNyBAQAogCXVuc2lnbmVkIGludCBjaGlwc2M7CiAJdW5zaWduZWQgY2hhciBkYXRhOwogCXVuc2lnbmVkIGNoYXIgbWFzazsKLQl1bnNpZ25lZCBjaGFyICppbWFnZTsKKwljb25zdCB1bnNpZ25lZCBjaGFyICppbWFnZTsKIAogCS8qIHRlc3QgZmlyc3QgeGlsaW54ICovCiAJY2hpcHNjID0gUENYSFJfSU5QTChtZ3IsIFBDWEhSX1BMWF9DSElQU0MpOwpAQCAtMzE2LDcgKzMxNiw3IEBACiAJaW50IGVycjsKIAl1bnNpZ25lZCBpbnQgaTsKIAl1bnNpZ25lZCBpbnQgbGVuOwotCXVuc2lnbmVkIGNoYXIgKmRhdGE7CisJY29uc3QgdW5zaWduZWQgY2hhciAqZGF0YTsKIAl1bnNpZ25lZCBjaGFyIGR1bW15OwogCS8qIGNoZWNrIHRoZSBsZW5ndGggb2YgYm9vdCBpbWFnZSAqLwogCXNuZF9hc3NlcnQoZHNwLT5zaXplID4gMCwgcmV0dXJuIC1FSU5WQUwpOwpAQCAtNDczLDcgKzQ3Myw3IEBACiBbQ01EX0FVRElPX0xFVkVMX0FESlVTVF0gPQkJeyAweGMyMjAwMCwgMCwgUk1IX1NTSVpFX0ZJWEVEIH0sCiB9OwogCi0jaWZkZWYgQ09ORklHX1NORF9ERUJVR19ERVRFQ1QKKyNpZmRlZiBDT05GSUdfU05EX0RFQlVHX1ZFUkJPU0UKIHN0YXRpYyBjaGFyKiBjbWRfbmFtZXNbXSA9IHsKIFtDTURfVkVSU0lPTl0gPQkJCQkiQ01EX1ZFUlNJT04iLAogW0NNRF9TVVBQT1JURURdID0JCQkiQ01EX1NVUFBPUlRFRCIsCkBAIC01NDksNyArNTQ5LDcgQEAKIAkJCQl9CiAJCQl9CiAJCX0KLSNpZmRlZiBDT05GSUdfU05EX0RFQlVHX0RFVEVDVAorI2lmZGVmIENPTkZJR19TTkRfREVCVUdfVkVSQk9TRQogCQlpZiAocm1oLT5jbWRfaWR4IDwgQ01EX0xBU1RfSU5ERVgpCiAJCQlzbmRfcHJpbnRkZCgiICAgIHN0YXRbJWRdPSV4XG4iLCBpLCBkYXRhKTsKICNlbmRpZgpAQCAtNTk3LDcgKzU5Nyw3IEBACiAJCWRhdGEgfD0gMHgwMDgwMDA7CS8qIE1BU0tfTU9SRV9USEFOXzFfV09SRF9DT01NQU5EICovCiAJZWxzZQogCQlkYXRhICY9IDB4ZmY3ZmZmOwkvKiBNQVNLXzFfV09SRF9DT01NQU5EICovCi0jaWZkZWYgQ09ORklHX1NORF9ERUJVR19ERVRFQ1QKKyNpZmRlZiBDT05GSUdfU05EX0RFQlVHX1ZFUkJPU0UKIAlpZiAocm1oLT5jbWRfaWR4IDwgQ01EX0xBU1RfSU5ERVgpCiAJCXNuZF9wcmludGRkKCJNU0cgY21kWzBdPSV4ICglcylcbiIsIGRhdGEsIGNtZF9uYW1lc1tybWgtPmNtZF9pZHhdKTsKICNlbmRpZgpAQCAtNjI0LDcgKzYyNCw3IEBACiAJCWZvciAoaT0xOyBpIDwgcm1oLT5jbWRfbGVuOyBpKyspIHsKIAkJCS8qIHNlbmQgb3RoZXIgd29yZHMgKi8KIAkJCWRhdGEgPSBybWgtPmNtZFtpXTsKLSNpZmRlZiBDT05GSUdfU05EX0RFQlVHX0RFVEVDVAorI2lmZGVmIENPTkZJR19TTkRfREVCVUdfVkVSQk9TRQogCQkJaWYgKHJtaC0+Y21kX2lkeCA8IENNRF9MQVNUX0lOREVYKQogCQkJCXNuZF9wcmludGRkKCIgICAgY21kWyVkXT0leFxuIiwgaSwgZGF0YSk7CiAjZW5kaWYKQEAgLTg0Nyw3ICs4NDcsNyBAQAogCWludCBzdGF0ZSwgaSwgZXJyOwogCWludCBhdWRpb19tYXNrOwogCi0jaWZkZWYgQ09ORklHX1NORF9ERUJVR19ERVRFQ1QKKyNpZmRlZiBDT05GSUdfU05EX0RFQlVHX1ZFUkJPU0UKIAlzdHJ1Y3QgdGltZXZhbCBteV90djEsIG15X3R2MjsKIAlkb19nZXR0aW1lb2ZkYXkoJm15X3R2MSk7CiAjZW5kaWYKQEAgLTg5NCw3ICs4OTQsNyBAQAogCQlpZiAoZXJyKQogCQkJcmV0dXJuIGVycjsKIAl9Ci0jaWZkZWYgQ09ORklHX1NORF9ERUJVR19ERVRFQ1QKKyNpZmRlZiBDT05GSUdfU05EX0RFQlVHX1ZFUkJPU0UKIAlkb19nZXR0aW1lb2ZkYXkoJm15X3R2Mik7CiAJc25kX3ByaW50ZGQoIioqKlNFVCBQSVBFIFNUQVRFKioqIFRJTUUgPSAlbGQgKGVyciA9ICV4KVxuIiwKIAkJICAgIChsb25nKShteV90djIudHZfdXNlYyAtIG15X3R2MS50dl91c2VjKSwgZXJyKTsKQEAgLTk1MSw3ICs5NTEsNyBAQAogCQkJCSAgZW51bSBwY3hocl9hc3luY19lcnJfc3JjIGVycl9zcmMsIGludCBwaXBlLAogCQkJCSAgaW50IGlzX2NhcHR1cmUpCiB7Ci0jaWZkZWYgQ09ORklHX1NORF9ERUJVR19ERVRFQ1QKKyNpZmRlZiBDT05GSUdfU05EX0RFQlVHX1ZFUkJPU0UKIAlzdGF0aWMgY2hhciogZXJyX3NyY19uYW1lW10gPSB7CiAJCVtQQ1hIUl9FUlJfUElQRV0JPSAiUGlwZSIsCiAJCVtQQ1hIUl9FUlJfU1RSRUFNXQk9ICJTdHJlYW0iLApAQCAtMTE2OSw3ICsxMTY5LDcgQEAKIAkJCQkgICAgbWdyLT5kc3BfdGltZV9sYXN0LCBkc3BfdGltZV9uZXcpOwogCQkJbWdyLT5kc3BfdGltZV9lcnIrKzsKIAkJfQotI2lmZGVmIENPTkZJR19TTkRfREVCVUdfREVURUNUCisjaWZkZWYgQ09ORklHX1NORF9ERUJVR19WRVJCT1NFCiAJCWlmIChkc3BfdGltZV9kaWZmID09IDApCiAJCQlzbmRfcHJpbnRkZCgiRVJST1IgRFNQIFRJTUUgTk8gRElGRiB0aW1lKCVkKVxuIiwgZHNwX3RpbWVfbmV3KTsKIAkJZWxzZSBpZiAoZHNwX3RpbWVfZGlmZiA+PSAoMipQQ1hIUl9HUkFOVUxBUklUWSkpCkBAIC0xMjA4LDcgKzEyMDgsNyBAQAogCQltZ3ItPnNyY19pdF9kc3AgPSByZWc7CiAJCXRhc2tsZXRfaGlfc2NoZWR1bGUoJm1nci0+bXNnX3Rhc2txKTsKIAl9Ci0jaWZkZWYgQ09ORklHX1NORF9ERUJVR19ERVRFQ1QKKyNpZmRlZiBDT05GSUdfU05EX0RFQlVHX1ZFUkJPU0UKIAlpZiAocmVnICYgUENYSFJfRkFUQUxfRFNQX0VSUikKIAkJc25kX3ByaW50ZGQoIkZBVEFMIERTUCBFUlJPUiA6ICV4XG4iLCByZWcpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvcGN4aHIvcGN4aHJfaHdkZXAuYyBiL3NvdW5kL3BjaS9wY3hoci9wY3hocl9od2RlcC5jCmluZGV4IGU2YTRiZmIuLmQyZjA0MzIgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9wY3hoci9wY3hocl9od2RlcC5jCisrKyBiL3NvdW5kL3BjaS9wY3hoci9wY3hocl9od2RlcC5jCkBAIC0zOTQsNyArMzk0LDcgQEAKIAkJCSAgICh1bnNpZ25lZCBsb25nKWZ3LnNpemUpOwogCQlyZXR1cm4gLUVOT01FTTsKIAl9Ci0JaWYgKGNvcHlfZnJvbV91c2VyKGZ3LmRhdGEsIGRzcC0+aW1hZ2UsIGRzcC0+bGVuZ3RoKSkgeworCWlmIChjb3B5X2Zyb21fdXNlcigodm9pZCAqKWZ3LmRhdGEsIGRzcC0+aW1hZ2UsIGRzcC0+bGVuZ3RoKSkgewogCQl2ZnJlZShmdy5kYXRhKTsKIAkJcmV0dXJuIC1FRkFVTFQ7CiAJfQpkaWZmIC0tZ2l0IGEvc291bmQvcGNpL3JpcHRpZGUvcmlwdGlkZS5jIGIvc291bmQvcGNpL3JpcHRpZGUvcmlwdGlkZS5jCmluZGV4IDk3OWY3ZGEuLjZhMzU5NjIgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9yaXB0aWRlL3JpcHRpZGUuYworKysgYi9zb3VuZC9wY2kvcmlwdGlkZS9yaXB0aWRlLmMKQEAgLTY4Miw3ICs2ODIsNyBAQAogCX0sCiB9OwogCi1zdGF0aWMgdTMyIGF0b2godW5zaWduZWQgY2hhciAqaW4sIHVuc2lnbmVkIGludCBsZW4pCitzdGF0aWMgdTMyIGF0b2goY29uc3QgdW5zaWduZWQgY2hhciAqaW4sIHVuc2lnbmVkIGludCBsZW4pCiB7CiAJdTMyIHN1bSA9IDA7CiAJdW5zaWduZWQgaW50IG11bHQgPSAxOwpAQCAtNzAyLDEyICs3MDIsMTIgQEAKIAlyZXR1cm4gc3VtOwogfQogCi1zdGF0aWMgaW50IHNlbmRkYXRhKHN0cnVjdCBjbWRpZiAqY2lmLCB1bnNpZ25lZCBjaGFyICppbiwgdTMyIG9mZnNldCkKK3N0YXRpYyBpbnQgc2VuZGRhdGEoc3RydWN0IGNtZGlmICpjaWYsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmluLCB1MzIgb2Zmc2V0KQogewogCXUzMiBhZGRyOwogCXUzMiBkYXRhOwogCXUzMiBpOwotCXVuc2lnbmVkIGNoYXIgKnA7CisJY29uc3QgdW5zaWduZWQgY2hhciAqcDsKIAogCWkgPSBhdG9oKCZpblsxXSwgMik7CiAJYWRkciA9IG9mZnNldCArIGF0b2goJmluWzNdLCA0KTsKQEAgLTcyNiwxMCArNzI2LDEwIEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgbG9hZGZpcm13YXJlKHN0cnVjdCBjbWRpZiAqY2lmLCB1bnNpZ25lZCBjaGFyICppbWcsCitzdGF0aWMgaW50IGxvYWRmaXJtd2FyZShzdHJ1Y3QgY21kaWYgKmNpZiwgY29uc3QgdW5zaWduZWQgY2hhciAqaW1nLAogCQkJdW5zaWduZWQgaW50IHNpemUpCiB7Ci0JdW5zaWduZWQgY2hhciAqaW47CisJY29uc3QgdW5zaWduZWQgY2hhciAqaW47CiAJdTMyIGxhZGRyLCBzYWRkciwgdCwgdmFsOwogCWludCBlcnIgPSAwOwogCmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvdHJpZGVudC90cmlkZW50X21haW4uYyBiL3NvdW5kL3BjaS90cmlkZW50L3RyaWRlbnRfbWFpbi5jCmluZGV4IGJiY2VlMmMuLmE2OWI0MjAgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS90cmlkZW50L3RyaWRlbnRfbWFpbi5jCisrKyBiL3NvdW5kL3BjaS90cmlkZW50L3RyaWRlbnRfbWFpbi5jCkBAIC0xNTkwLDcgKzE1OTAsMTAgQEAKIAlpZiAoc3BkaWZfZmxhZykgewogCQlpZiAodHJpZGVudC0+ZGV2aWNlICE9IFRSSURFTlRfREVWSUNFX0lEX1NJNzAxOCkgewogCQkJb3V0bCh0cmlkZW50LT5zcGRpZl9wY21fYml0cywgVFJJRF9SRUcodHJpZGVudCwgTlhfU1BDU1RBVFVTKSk7Ci0JCQlvdXRiKHRyaWRlbnQtPnNwZGlmX3BjbV9jdHJsLCBUUklEX1JFRyh0cmlkZW50LCBOWF9TUENUUkxfU1BDU08gKyAzKSk7CisJCQl2YWwgPSB0cmlkZW50LT5zcGRpZl9wY21fY3RybDsKKwkJCWlmICghZ28pCisJCQkJdmFsICY9IH4oMHgyOCk7CisJCQlvdXRiKHZhbCwgVFJJRF9SRUcodHJpZGVudCwgTlhfU1BDVFJMX1NQQ1NPICsgMykpOwogCQl9IGVsc2UgewogCQkJb3V0bCh0cmlkZW50LT5zcGRpZl9wY21fYml0cywgVFJJRF9SRUcodHJpZGVudCwgU0lfU1BESUZfQ1MpKTsKIAkJCXZhbCA9IGlubChUUklEX1JFRyh0cmlkZW50LCBTSV9TRVJJQUxfSU5URl9DVFJMKSkgfCBTUERJRl9FTjsKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS90cmlkZW50L3RyaWRlbnRfbWVtb3J5LmMgYi9zb3VuZC9wY2kvdHJpZGVudC90cmlkZW50X21lbW9yeS5jCmluZGV4IGRmOWI0ODcuLjNmZDdmMWIgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS90cmlkZW50L3RyaWRlbnRfbWVtb3J5LmMKKysrIGIvc291bmQvcGNpL3RyaWRlbnQvdHJpZGVudF9tZW1vcnkuYwpAQCAtMzEwLDE4MSArMzEwLDMgQEAKIAltdXRleF91bmxvY2soJmhkci0+YmxvY2tfbXV0ZXgpOwogCXJldHVybiAwOwogfQotCi0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotICogbWVtb3J5IGFsbG9jYXRpb24gdXNpbmcgbXVsdGlwbGUgcGFnZXMgKGZvciBzeW50aCkKLSAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotICogVW5saWtlIHRoZSBETUEgYWxsb2NhdGlvbiBhYm92ZSwgbm9uLWNvbnRpZ3VvdXMgcGFnZXMgYXJlCi0gKiBhc3NpZ25lZCB0byBUTEIuCi0gKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwotCi0vKgotICovCi1zdGF0aWMgaW50IHN5bnRoX2FsbG9jX3BhZ2VzKHN0cnVjdCBzbmRfdHJpZGVudCAqaHcsIHN0cnVjdCBzbmRfdXRpbF9tZW1ibGsgKmJsayk7Ci1zdGF0aWMgaW50IHN5bnRoX2ZyZWVfcGFnZXMoc3RydWN0IHNuZF90cmlkZW50ICpodywgc3RydWN0IHNuZF91dGlsX21lbWJsayAqYmxrKTsKLQotLyoKLSAqIGFsbG9jYXRlIGEgc3ludGggc2FtcGxlIGFyZWEKLSAqLwotc3RydWN0IHNuZF91dGlsX21lbWJsayAqCi1zbmRfdHJpZGVudF9zeW50aF9hbGxvYyhzdHJ1Y3Qgc25kX3RyaWRlbnQgKmh3LCB1bnNpZ25lZCBpbnQgc2l6ZSkKLXsKLQlzdHJ1Y3Qgc25kX3V0aWxfbWVtYmxrICpibGs7Ci0Jc3RydWN0IHNuZF91dGlsX21lbWhkciAqaGRyID0gaHctPnRsYi5tZW1oZHI7IAotCi0JbXV0ZXhfbG9jaygmaGRyLT5ibG9ja19tdXRleCk7Ci0JYmxrID0gX19zbmRfdXRpbF9tZW1fYWxsb2MoaGRyLCBzaXplKTsKLQlpZiAoYmxrID09IE5VTEwpIHsKLQkJbXV0ZXhfdW5sb2NrKCZoZHItPmJsb2NrX211dGV4KTsKLQkJcmV0dXJuIE5VTEw7Ci0JfQotCWlmIChzeW50aF9hbGxvY19wYWdlcyhodywgYmxrKSkgewotCQlfX3NuZF91dGlsX21lbV9mcmVlKGhkciwgYmxrKTsKLQkJbXV0ZXhfdW5sb2NrKCZoZHItPmJsb2NrX211dGV4KTsKLQkJcmV0dXJuIE5VTEw7Ci0JfQotCW11dGV4X3VubG9jaygmaGRyLT5ibG9ja19tdXRleCk7Ci0JcmV0dXJuIGJsazsKLX0KLQotRVhQT1JUX1NZTUJPTChzbmRfdHJpZGVudF9zeW50aF9hbGxvYyk7Ci0KLS8qCi0gKiBmcmVlIGEgc3ludGggc2FtcGxlIGFyZWEKLSAqLwotaW50Ci1zbmRfdHJpZGVudF9zeW50aF9mcmVlKHN0cnVjdCBzbmRfdHJpZGVudCAqaHcsIHN0cnVjdCBzbmRfdXRpbF9tZW1ibGsgKmJsaykKLXsKLQlzdHJ1Y3Qgc25kX3V0aWxfbWVtaGRyICpoZHIgPSBody0+dGxiLm1lbWhkcjsgCi0KLQltdXRleF9sb2NrKCZoZHItPmJsb2NrX211dGV4KTsKLQlzeW50aF9mcmVlX3BhZ2VzKGh3LCBibGspOwotCSBfX3NuZF91dGlsX21lbV9mcmVlKGhkciwgYmxrKTsKLQltdXRleF91bmxvY2soJmhkci0+YmxvY2tfbXV0ZXgpOwotCXJldHVybiAwOwotfQotCi1FWFBPUlRfU1lNQk9MKHNuZF90cmlkZW50X3N5bnRoX2ZyZWUpOwotCi0vKgotICogcmVzZXQgVExCIGVudHJ5IGFuZCBmcmVlIGtlcm5lbCBwYWdlCi0gKi8KLXN0YXRpYyB2b2lkIGNsZWFyX3RsYihzdHJ1Y3Qgc25kX3RyaWRlbnQgKnRyaWRlbnQsIGludCBwYWdlKQotewotCXZvaWQgKnB0ciA9IHBhZ2VfdG9fcHRyKHRyaWRlbnQsIHBhZ2UpOwotCWRtYV9hZGRyX3QgYWRkciA9IHBhZ2VfdG9fYWRkcih0cmlkZW50LCBwYWdlKTsKLQlzZXRfc2lsZW50X3RsYih0cmlkZW50LCBwYWdlKTsKLQlpZiAocHRyKSB7Ci0JCXN0cnVjdCBzbmRfZG1hX2J1ZmZlciBkbWFiOwotCQlkbWFiLmRldi50eXBlID0gU05EUlZfRE1BX1RZUEVfREVWOwotCQlkbWFiLmRldi5kZXYgPSBzbmRfZG1hX3BjaV9kYXRhKHRyaWRlbnQtPnBjaSk7Ci0JCWRtYWIuYXJlYSA9IHB0cjsKLQkJZG1hYi5hZGRyID0gYWRkcjsKLQkJZG1hYi5ieXRlcyA9IEFMSUdOX1BBR0VfU0laRTsKLQkJc25kX2RtYV9mcmVlX3BhZ2VzKCZkbWFiKTsKLQl9Ci19Ci0KLS8qIGNoZWNrIG5ldyBhbGxvY2F0aW9uIHJhbmdlICovCi1zdGF0aWMgdm9pZCBnZXRfc2luZ2xlX3BhZ2VfcmFuZ2Uoc3RydWN0IHNuZF91dGlsX21lbWhkciAqaGRyLAotCQkJCSAgc3RydWN0IHNuZF91dGlsX21lbWJsayAqYmxrLAotCQkJCSAgaW50ICpmaXJzdF9wYWdlX3JldCwgaW50ICpsYXN0X3BhZ2VfcmV0KQotewotCXN0cnVjdCBsaXN0X2hlYWQgKnA7Ci0Jc3RydWN0IHNuZF91dGlsX21lbWJsayAqcTsKLQlpbnQgZmlyc3RfcGFnZSwgbGFzdF9wYWdlOwotCWZpcnN0X3BhZ2UgPSBmaXJzdHBnKGJsayk7Ci0JaWYgKChwID0gYmxrLT5saXN0LnByZXYpICE9ICZoZHItPmJsb2NrKSB7Ci0JCXEgPSBsaXN0X2VudHJ5KHAsIHN0cnVjdCBzbmRfdXRpbF9tZW1ibGssIGxpc3QpOwotCQlpZiAobGFzdHBnKHEpID09IGZpcnN0X3BhZ2UpCi0JCQlmaXJzdF9wYWdlKys7ICAvKiBmaXJzdCBwYWdlIHdhcyBhbHJlYWR5IGFsbG9jYXRlZCAqLwotCX0KLQlsYXN0X3BhZ2UgPSBsYXN0cGcoYmxrKTsKLQlpZiAoKHAgPSBibGstPmxpc3QubmV4dCkgIT0gJmhkci0+YmxvY2spIHsKLQkJcSA9IGxpc3RfZW50cnkocCwgc3RydWN0IHNuZF91dGlsX21lbWJsaywgbGlzdCk7Ci0JCWlmIChmaXJzdHBnKHEpID09IGxhc3RfcGFnZSkKLQkJCWxhc3RfcGFnZS0tOyAvKiBsYXN0IHBhZ2Ugd2FzIGFscmVhZHkgYWxsb2NhdGVkICovCi0JfQotCSpmaXJzdF9wYWdlX3JldCA9IGZpcnN0X3BhZ2U7Ci0JKmxhc3RfcGFnZV9yZXQgPSBsYXN0X3BhZ2U7Ci19Ci0KLS8qCi0gKiBhbGxvY2F0ZSBrZXJuZWwgcGFnZXMgYW5kIGFzc2lnbiB0aGVtIHRvIFRMQgotICovCi1zdGF0aWMgaW50IHN5bnRoX2FsbG9jX3BhZ2VzKHN0cnVjdCBzbmRfdHJpZGVudCAqaHcsIHN0cnVjdCBzbmRfdXRpbF9tZW1ibGsgKmJsaykKLXsKLQlpbnQgcGFnZSwgZmlyc3RfcGFnZSwgbGFzdF9wYWdlOwotCXN0cnVjdCBzbmRfZG1hX2J1ZmZlciBkbWFiOwotCi0JZmlyc3RwZyhibGspID0gZ2V0X2FsaWduZWRfcGFnZShibGstPm9mZnNldCk7Ci0JbGFzdHBnKGJsaykgPSBnZXRfYWxpZ25lZF9wYWdlKGJsay0+b2Zmc2V0ICsgYmxrLT5zaXplIC0gMSk7Ci0JZ2V0X3NpbmdsZV9wYWdlX3JhbmdlKGh3LT50bGIubWVtaGRyLCBibGssICZmaXJzdF9wYWdlLCAmbGFzdF9wYWdlKTsKLQotCS8qIGFsbG9jYXRlIGEga2VybmVsIHBhZ2UgZm9yIGVhY2ggVHJpZGVudCBwYWdlIC0KLQkgKiBmb3J0dW5hdGVseSBUcmlkZW50IHBhZ2Ugc2l6ZSBhbmQga2VybmVsIFBBR0VfU0laRSBpcyBpZGVudGljYWwhCi0JICovCi0JZm9yIChwYWdlID0gZmlyc3RfcGFnZTsgcGFnZSA8PSBsYXN0X3BhZ2U7IHBhZ2UrKykgewotCQlpZiAoc25kX2RtYV9hbGxvY19wYWdlcyhTTkRSVl9ETUFfVFlQRV9ERVYsIHNuZF9kbWFfcGNpX2RhdGEoaHctPnBjaSksCi0JCQkJCUFMSUdOX1BBR0VfU0laRSwgJmRtYWIpIDwgMCkKLQkJCWdvdG8gX19mYWlsOwotCQlpZiAoISBpc192YWxpZF9wYWdlKGRtYWIuYWRkcikpIHsKLQkJCXNuZF9kbWFfZnJlZV9wYWdlcygmZG1hYik7Ci0JCQlnb3RvIF9fZmFpbDsKLQkJfQotCQlzZXRfdGxiX2J1cyhodywgcGFnZSwgKHVuc2lnbmVkIGxvbmcpZG1hYi5hcmVhLCBkbWFiLmFkZHIpOwotCX0KLQlyZXR1cm4gMDsKLQotX19mYWlsOgotCS8qIHJlbGVhc2UgYWxsb2NhdGVkIHBhZ2VzICovCi0JbGFzdF9wYWdlID0gcGFnZSAtIDE7Ci0JZm9yIChwYWdlID0gZmlyc3RfcGFnZTsgcGFnZSA8PSBsYXN0X3BhZ2U7IHBhZ2UrKykKLQkJY2xlYXJfdGxiKGh3LCBwYWdlKTsKLQotCXJldHVybiAtRU5PTUVNOwotfQotCi0vKgotICogZnJlZSBwYWdlcwotICovCi1zdGF0aWMgaW50IHN5bnRoX2ZyZWVfcGFnZXMoc3RydWN0IHNuZF90cmlkZW50ICp0cmlkZW50LCBzdHJ1Y3Qgc25kX3V0aWxfbWVtYmxrICpibGspCi17Ci0JaW50IHBhZ2UsIGZpcnN0X3BhZ2UsIGxhc3RfcGFnZTsKLQotCWdldF9zaW5nbGVfcGFnZV9yYW5nZSh0cmlkZW50LT50bGIubWVtaGRyLCBibGssICZmaXJzdF9wYWdlLCAmbGFzdF9wYWdlKTsKLQlmb3IgKHBhZ2UgPSBmaXJzdF9wYWdlOyBwYWdlIDw9IGxhc3RfcGFnZTsgcGFnZSsrKQotCQljbGVhcl90bGIodHJpZGVudCwgcGFnZSk7Ci0KLQlyZXR1cm4gMDsKLX0KLQotLyoKLSAqIGNvcHlfZnJvbV91c2VyKGJsayArIG9mZnNldCwgZGF0YSwgc2l6ZSkKLSAqLwotaW50IHNuZF90cmlkZW50X3N5bnRoX2NvcHlfZnJvbV91c2VyKHN0cnVjdCBzbmRfdHJpZGVudCAqdHJpZGVudCwKLQkJCQkgICAgIHN0cnVjdCBzbmRfdXRpbF9tZW1ibGsgKmJsaywKLQkJCQkgICAgIGludCBvZmZzZXQsIGNvbnN0IGNoYXIgX191c2VyICpkYXRhLCBpbnQgc2l6ZSkKLXsKLQlpbnQgcGFnZSwgbmV4dG9mcywgZW5kX29mZnNldCwgdGVtcCwgdGVtcDE7Ci0KLQlvZmZzZXQgKz0gYmxrLT5vZmZzZXQ7Ci0JZW5kX29mZnNldCA9IG9mZnNldCArIHNpemU7Ci0JcGFnZSA9IGdldF9hbGlnbmVkX3BhZ2Uob2Zmc2V0KSArIDE7Ci0JZG8gewotCQluZXh0b2ZzID0gYWxpZ25lZF9wYWdlX29mZnNldChwYWdlKTsKLQkJdGVtcCA9IG5leHRvZnMgLSBvZmZzZXQ7Ci0JCXRlbXAxID0gZW5kX29mZnNldCAtIG9mZnNldDsKLQkJaWYgKHRlbXAxIDwgdGVtcCkKLQkJCXRlbXAgPSB0ZW1wMTsKLQkJaWYgKGNvcHlfZnJvbV91c2VyKG9mZnNldF9wdHIodHJpZGVudCwgb2Zmc2V0KSwgZGF0YSwgdGVtcCkpCi0JCQlyZXR1cm4gLUVGQVVMVDsKLQkJb2Zmc2V0ID0gbmV4dG9mczsKLQkJZGF0YSArPSB0ZW1wOwotCQlwYWdlKys7Ci0JfSB3aGlsZSAob2Zmc2V0IDwgZW5kX29mZnNldCk7Ci0JcmV0dXJuIDA7Ci19Ci0KLUVYUE9SVF9TWU1CT0woc25kX3RyaWRlbnRfc3ludGhfY29weV9mcm9tX3VzZXIpOwpkaWZmIC0tZ2l0IGEvc291bmQvcGNpL3ZpYTgyeHguYyBiL3NvdW5kL3BjaS92aWE4Mnh4LmMKaW5kZXggYjU4NWNjMy4uNjc4MWJlOSAxMDA2NDQKLS0tIGEvc291bmQvcGNpL3ZpYTgyeHguYworKysgYi9zb3VuZC9wY2kvdmlhODJ4eC5jCkBAIC0xNzU3LDYgKzE3NTcsMTIgQEAKIAkJLnR5cGUgPSBBQzk3X1RVTkVfSFBfT05MWQogCX0sCiAJeworCQkuc3VidmVuZG9yID0gMHgxMDE5LAorCQkuc3ViZGV2aWNlID0gMHgxODQxLAorCQkubmFtZSA9ICJFQ1MgSzdWVEEzIiwKKwkJLnR5cGUgPSBBQzk3X1RVTkVfSFBfT05MWQorCX0sCisJewogCQkuc3VidmVuZG9yID0gMHgxODQ5LAogCQkuc3ViZGV2aWNlID0gMHgzMDU5LAogCQkubmFtZSA9ICJBU1JvY2sgSzdWTTIiLApkaWZmIC0tZ2l0IGEvc291bmQvcGNpL3Z4MjIyL3Z4MjIyX29wcy5jIGIvc291bmQvcGNpL3Z4MjIyL3Z4MjIyX29wcy5jCmluZGV4IGI0YmZjMWEuLjYzMWYzYTYgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS92eDIyMi92eDIyMl9vcHMuYworKysgYi9zb3VuZC9wY2kvdngyMjIvdngyMjJfb3BzLmMKQEAgLTM1OSw3ICszNTksNyBAQAogewogCXVuc2lnbmVkIGludCBpOwogCXVuc2lnbmVkIGludCBwb3J0OwotCXVuc2lnbmVkIGNoYXIgKmltYWdlOworCWNvbnN0IHVuc2lnbmVkIGNoYXIgKmltYWdlOwogCiAJLyogWElMSU5YIHJlc2V0ICh3YWl0IGF0IGxlYXN0IDEgbWlsaXNlY29uZCBiZXR3ZWVuIHJlc2V0IG9uIGFuZCBvZmYpLiAqLwogCXZ4X291dGwoY2hpcCwgQ05UUkwsIFZYX0NOVFJMX1JFR0lTVEVSX1ZBTFVFIHwgVlhfWElMSU5YX1JFU0VUX01BU0spOwpkaWZmIC0tZ2l0IGEvc291bmQvcGNpL3ltZnBjaS95bWZwY2lfaW1hZ2UuaCBiL3NvdW5kL3BjaS95bWZwY2kveW1mcGNpX2ltYWdlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDExMmYyZmYuLjAwMDAwMDAKLS0tIGEvc291bmQvcGNpL3ltZnBjaS95bWZwY2lfaW1hZ2UuaAorKysgL2Rldi9udWxsCkBAIC0xLDE1NjUgKzAsMCBAQAotI2lmbmRlZiBfSFdNQ09ERV8KLSNkZWZpbmUgX0hXTUNPREVfCi0KLXN0YXRpYyB1MzIgRHNwSW5zdFtZRFNYR19EU1BMRU5HVEggLyA0XSA9IHsKLQkweDAwMDAwMDgxLCAweDAwMDAwMWE0LCAweDAwMDAwMDBhLCAweDAwMDAwMDJmLAotCTB4MDAwODAyNTMsIDB4MDE4MDAzMTcsIDB4MDAwMDQwN2IsIDB4MDAwMDg0M2YsCi0JMHgwMDAxNDgzYywgMHgwMDAxOTQzYywgMHgwMDA1ZDgzYywgMHgwMDAwMWMzYywKLQkweDAwMDBjMDdiLCAweDAwMDUwYzNmLCAweDAxMjE1MDNjLCAweDAwMDAwMDAwLAotCTB4MDAwMDAwMDAsIDB4MDAwMDAwMDAsIDB4MDAwMDAwMDAsIDB4MDAwMDAwMDAsCi0JMHgwMDAwMDAwMCwgMHgwMDAwMDAwMCwgMHgwMDAwMDAwMCwgMHgwMDAwMDAwMCwKLQkweDAwMDAwMDAwLCAweDAwMDAwMDAwLCAweDAwMDAwMDAwLCAweDAwMDAwMDAwLAotCTB4MDAwMDAwMDAsIDB4MDAwMDAwMDAsIDB4MDAwMDAwMDAsIDB4MDAwMDAwMDAKLX07Ci0KLXN0YXRpYyB1MzIgQ250cmxJbnN0W1lEU1hHX0NUUkxMRU5HVEggLyA0XSA9IHsKLQkweDAwMDAwNywgMHgyNDAwMDcsIDB4MEMwMDA3LCAweDFDMDAwNywKLQkweDA2MDAwNywgMHg3MDAwMDIsIDB4MDAwMDIwLCAweDAzMDA0MCwKLQkweDAwNzEwNCwgMHgwMDQyODYsIDB4MDMwMDQwLCAweDAwMEYwRCwKLQkweDAwMDgxMCwgMHgyMDA0M0EsIDB4MDAwMjgyLCAweDAwMDIwRCwKLQkweDAwMDgxMCwgMHgyMDA0M0EsIDB4MDAxMjgyLCAweDIwMEU4MiwKLQkweDAwMUE4MiwgMHgwMzJEMEQsIDB4MDAwODEwLCAweDEwMDQzQSwKLQkweDAyRDM4RCwgMHgwMDA4MTAsIDB4MTgwNDNBLCAweDAwMDEwRCwKLQkweDAyMDAxNSwgMHgwMDAwRkQsIDB4MDAwMDIwLCAweDAzODg2MCwKLQkweDAzOTA2MCwgMHgwMzgwNjAsIDB4MDM4MDQwLCAweDAzODA0MCwKLQkweDAzODA0MCwgMHgwMTgwNDAsIDB4MDAwQTdELCAweDAzODA0MCwKLQkweDAzODA0MCwgMHgwMTgwNDAsIDB4MjAwNDAyLCAweDAwMDg4MiwKLQkweDA4MDAxQSwgMHgwMDA5MDQsIDB4MDE1OTg2LCAweDAwMDAwNywKLQkweDI2MDAwNywgMHgwMDAwMDcsIDB4MDAwMDA3LCAweDAxOEEwNiwKLQkweDAwMDAwNywgMHgwMzBDOEQsIDB4MDAwODEwLCAweDE4MDQzQSwKLQkweDI2MDAwNywgMHgwMDA4N0QsIDB4MDE4MDQyLCAweDAwMTYwQSwKLQkweDA0QTIwNiwgMHgwMDAwMDcsIDB4MDAyMThELCAweDAwMDgxMCwKLQkweDA4MDQzQSwgMHgyMUMyMDYsIDB4MDAwMDA3LCAweDAwMDdGRCwKLQkweDAxODA0MiwgMHgwODAwMEEsIDB4MDAwOTA0LCAweDAyOTM4NiwKLQkweDAwMDE5NSwgMHgwOTBEMDQsIDB4MDAwMDA3LCAweDAwMDgyMCwKLQkweDAwMDBGNSwgMHgwMDBCN0QsIDB4MDFGMDYwLCAweDAwMDBGRCwKLQkweDAzMjIwNiwgMHgwMTgwNDAsIDB4MDAwQTdELCAweDAzODA0MiwKLQkweDEzODA0QSwgMHgxODAwMEEsIDB4MDAxODIwLCAweDA1OTA2MCwKLQkweDA1ODg2MCwgMHgwMTgwNDAsIDB4MDAwMEZELCAweDAxODA0MiwKLQkweDcwMDAwQSwgMHgwMDAxMTUsIDB4MDcxMTQ0LCAweDAzMjM4NiwKLQkweDAzMDAwMCwgMHgwMDcwMjAsIDB4MDM0QTA2LCAweDAxODA0MCwKLQkweDAwMzQ4RCwgMHgwMDA4MTAsIDB4MDgwNDNBLCAweDIxRUEwNiwKLQkweDAwMDAwNywgMHgwMkQzOEQsIDB4MDAwODEwLCAweDE4MDQzQSwKLQkweDAxODIwNiwgMHgwMDAwMDcsIDB4MjQwMDA3LCAweDAwMEY4RCwKLQkweDAwMDgxMCwgMHgwMDE2M0EsIDB4MDAyNDAyLCAweDAwNUMwMiwKLQkweDAwMjhGRCwgMHgwMDAwMjAsIDB4MDE4MDQwLCAweDA4MDAwRCwKLQkweDAwMDgxNSwgMHg1MTA5ODQsIDB4MDAwMDA3LCAweDAwMDA0RCwKLQkweDAwMEU1RCwgMHgwMDBFMDIsIDB4MDA0MThELCAweDAwMDgxMCwKLQkweDA4MDQzQSwgMHgyQzhBMDYsIDB4MDAwMDA3LCAweDAwMDA4RCwKLQkweDAwMDkyNCwgMHgwMDBGMDIsIDB4MDA0NThELCAweDAwMDgxMCwKLQkweDA4MDQzQSwgMHgyQzhBMDYsIDB4MDAwMDA3LCAweDAwMzg3RCwKLQkweDAxODA0MiwgMHgwODAwMEEsIDB4MDAxMDE1LCAweDAxMDk4NCwKLQkweDAxODM4NiwgMHgwMDAwMDcsIDB4MDFBQTA2LCAweDAwMDAwNywKLQkweDAwMDhGRCwgMHgwMTgwNDIsIDB4MTgwMDBBLCAweDAwMTkwNCwKLQkweDIxODA4NiwgMHgyODAwMDcsIDB4MDAxODEwLCAweDI4MDQzQSwKLQkweDI4MEMwMiwgMHgwMDAwMEQsIDB4MDAwODEwLCAweDI4MTQzQSwKLQkweDA4ODA4RCwgMHgwMDA4MjAsIDB4MDAwMkZELCAweDAxODA0MCwKLQkweDIwMDAwNywgMHgwMDAyMEQsIDB4MTg5OTA0LCAweDAwMDAwNywKLQkweDAwNDAyRCwgMHgwMDAwQkQsIDB4MDAwMkZELCAweDAxODA0MiwKLQkweDA4MDAwQSwgMHgwMDA5MDQsIDB4MDU1QTg2LCAweDAwMDAwNywKLQkweDAwMDEwMCwgMHgwMDBBMjAsIDB4MDAwNDdELCAweDAxODA0MCwKLQkweDAxODA0MiwgMHgyMDAwMEEsIDB4MDAzMDE1LCAweDAxMjE0NCwKLQkweDAzNDk4NiwgMHgwMDAwMDcsIDB4MDAyMTA0LCAweDAzNDk4NiwKLQkweDAwMDAwNywgMHgwMDBGOEQsIDB4MDAwODEwLCAweDI4MEMzQSwKLQkweDAyMzk0NCwgMHgwNkM5ODYsIDB4MDAwMDA3LCAweDAwMTgxMCwKLQkweDI4MDQzQSwgMHgwODgxMEQsIDB4MDAwODIwLCAweDAwMDJGRCwKLQkweDAxODA0MCwgMHgyMDAwMDcsIDB4MDAyODEwLCAweDc4MDAzQSwKLQkweDAwNjg4RCwgMHgwMDA4MTAsIDB4MDgwNDNBLCAweDI4OEEwNiwKLQkweDAwMDAwNywgMHgwMDQwMEQsIDB4MDAxMDE1LCAweDE4OTkwNCwKLQkweDI5MjkwNCwgMHgzOTM5MDQsIDB4MDAwMDA3LCAweDA2MDIwNiwKLQkweDAwMDAwNywgMHgwMDA0RjUsIDB4MDAwMDdELCAweDAwMDAyMCwKLQkweDAwMDA4RCwgMHgwMTA4NjAsIDB4MDE4MDQwLCAweDAwMDQ3RCwKLQkweDAzODA0MiwgMHgyMTgwNEEsIDB4MTgwMDBBLCAweDAyMTk0NCwKLQkweDIxNTg4NiwgMHgwMDAwMDcsIDB4MDA0MDc1LCAweDcxRjEwNCwKLQkweDAwMDAwNywgMHgwMTAwNDIsIDB4MjgwMDBBLCAweDAwMjkwNCwKLQkweDIxMjA4NiwgMHgwMDAwMDcsIDB4MDAzQzBELCAweDMwQTkwNCwKLQkweDAwMDAwNywgMHgwMDA3N0QsIDB4MDE4MDQyLCAweDA4MDAwQSwKLQkweDAwMDkwNCwgMHgwN0RBODYsIDB4MDAwNTdELCAweDAwMjgyMCwKLQkweDAzQjA2MCwgMHgwN0YyMDYsIDB4MDE4MDQwLCAweDAwMzAyMCwKLQkweDAzQTg2MCwgMHgwMTgwNDAsIDB4MDAwMkZELCAweDAxODA0MiwKLQkweDA4MDAwQSwgMHgwMDA5MDQsIDB4MDdGQTg2LCAweDAwMDAwNywKLQkweDAwMDU3RCwgMHgwMTgwNDIsIDB4MjgwNDBBLCAweDAwMEU4RCwKLQkweDAwMDgxMCwgMHgyODBDM0EsIDB4MDAwMDBELCAweDAwMDgxMCwKLQkweDI4MTQzQSwgMHgwOTAwMEQsIDB4MDAwODIwLCAweDAwMDJGRCwKLQkweDAxODA0MCwgMHgyMDAwMDcsIDB4MDAzREZELCAweDAwMDAyMCwKLQkweDAxODA0MCwgMHgwMDEwN0QsIDB4MDA4RDhELCAweDAwMDgxMCwKLQkweDA4MDQzQSwgMHgyODhBMDYsIDB4MDAwMDA3LCAweDAwMDgxNSwKLQkweDA4MDAxQSwgMHgwMTA5ODQsIDB4MDk1MTg2LCAweDAwMTM3RCwKLQkweDIwMDUwMCwgMHgyODBGMjAsIDB4MzM4RjYwLCAweDNCOEY2MCwKLQkweDQzOEY2MCwgMHg0QjhGNjAsIDB4NTM4RjYwLCAweDVCOEY2MCwKLQkweDAzOEE2MCwgMHgwMTgwNDAsIDB4MDA3RkJELCAweDM4M0RDNCwKLQkweDAwMDAwNywgMHgwMDFBN0QsIDB4MDAxMzc1LCAweDAxODA0MiwKLQkweDA5MDA0QSwgMHgxMDAwMEEsIDB4MEI4RDA0LCAweDEzOTUwNCwKLQkweDAwMDAwNywgMHgwMDA4MjAsIDB4MDE5MDYwLCAweDAwMTEwNCwKLQkweDIxMjA4NiwgMHgwMTAwNDAsIDB4MDAxN0ZELCAweDAxODA0MiwKLQkweDA4MDAwQSwgMHgwMDA5MDQsIDB4MjEyMjg2LCAweDAwMDAwNywKLQkweDAwMTk3RCwgMHgwMzgwNDIsIDB4MDk4MDRBLCAweDEwMDAwQSwKLQkweDAwMDkyNCwgMHgwMDE2NjQsIDB4MDAxMUZELCAweDAzODA0MiwKLQkweDJCODA0QSwgMHgxOTgwNEEsIDB4MDAwMDhELCAweDIxODk0NCwKLQkweDAwMDAwNywgMHgwMDIyNDQsIDB4MEFFMTg2LCAweDAwMDAwNywKLQkweDAwMUE2NCwgMHgwMDJBMjQsIDB4MDAxOTdELCAweDA4MDEwMiwKLQkweDEwMDEyMiwgMHgwMDA4MjAsIDB4MDM5MDYwLCAweDAxODA0MCwKLQkweDAwM0RGRCwgMHgwMDAwOEQsIDB4MDAwODIwLCAweDAxODA0MCwKLQkweDAwMTM3NSwgMHgwMDFBN0QsIDB4MDEwMDQyLCAweDA5ODA0QSwKLQkweDEwMDAwQSwgMHgwMDAyMUQsIDB4MDE4OUU0LCAweDI5OTJFNCwKLQkweDMwOTE0NCwgMHgwMDAwMDcsIDB4MDAwNjBELCAweDAwMEExNSwKLQkweDAwMEMxRCwgMHgwMDEwMjUsIDB4MDBBOUU0LCAweDAxMkJFNCwKLQkweDAwMDQ2NCwgMHgwMUIzRTQsIDB4MDIzMkU0LCAweDAwMDQ2NCwKLQkweDAwMDQ2NCwgMHgwMDA0NjQsIDB4MDAwNDY0LCAweDAwMDQwRCwKLQkweDA4QjFDNCwgMHgwMDAwMDcsIDB4MDAwODIwLCAweDAwMEJGNSwKLQkweDAzMDA0MCwgMHgwMDE5N0QsIDB4MDM4MDQyLCAweDA5ODA0QSwKLQkweDAwMEEyNCwgMHgwODAwMEEsIDB4MDgwRTY0LCAweDAwMDAwNywKLQkweDEwMDEyMiwgMHgwMDA4MjAsIDB4MDMxMDYwLCAweDAxMDA0MCwKLQkweDAwNjRBQywgMHgwMDAyN0QsIDB4MDAwMDIwLCAweDAxODA0MCwKLQkweDAwMTA3RCwgMHgwMTgwNDIsIDB4MDAxMUZELCAweDNCODA0QSwKLQkweDA5ODA0QSwgMHgyMDAwMEEsIDB4MDAwMDk1LCAweDFBMTE0NCwKLQkweDAwQTE0NCwgMHgwRDIwODYsIDB4MDAwNDBELCAweDAwQjk4NCwKLQkweDBEMjE4NiwgMHgwMDE4RkQsIDB4MDE4MDQyLCAweDAwMTBGRCwKLQkweDA5ODA0QSwgMHgyODAwMEEsIDB4MDAwMDk1LCAweDAxMDkyNCwKLQkweDAwMkE2NCwgMHgwRDExODYsIDB4MDAwMDA3LCAweDAwMjkwNCwKLQkweDBEMjI4NiwgMHgwMDAwMDcsIDB4MEQyQTA2LCAweDA4MDAwMiwKLQkweDAwMDA4RCwgMHgwMDM4N0QsIDB4MDAwODIwLCAweDAxODA0MCwKLQkweDAwMTI3RCwgMHgwMTgwNDIsIDB4MTAwMDBBLCAweDAwMzkwNCwKLQkweDBERDE4NiwgMHgwMDA4MEQsIDB4N0ZGRkI1LCAweDAwQjk4NCwKLQkweDBEQTE4NiwgMHgwMDAwMjUsIDB4MEU3QTA2LCAweDAwMDAyRCwKLQkweDAwMDAxNSwgMHgwMDA4MkQsIDB4MDJDNzhELCAweDAwMDgyMCwKLQkweDBFQzIwNiwgMHgwMDAwMEQsIDB4N0Y4MDM1LCAweDAwQjk4NCwKLQkweDBFNzE4NiwgMHg0MDAwMjUsIDB4MDAwMDhELCAweDExMDk0NCwKLQkweDAwMDAwNywgMHgwMDAxOEQsIDB4MTA5NTA0LCAweDAwMDAwNywKLQkweDAwOTE2NCwgMHgwMDA0MjQsIDB4MDAwNDI0LCAweDAwMDQyNCwKLQkweDEwMDEwMiwgMHgyODAwMDIsIDB4MDJDNjhELCAweDAwMDgyMCwKLQkweDBFQzIwNiwgMHgwMDAxOEQsIDB4MDAwNDJELCAweDAwMDA4RCwKLQkweDEwOTUwNCwgMHgwMDAwMDcsIDB4MDAwMjBELCAweDEwOTE4NCwKLQkweDAwMDAwNywgMHgwMkM3MEQsIDB4MDAwODIwLCAweDAwMDA4RCwKLQkweDAwMzhGRCwgMHgwMTgwNDAsIDB4MDAzQkZELCAweDAwMTAyMCwKLQkweDAzQTg2MCwgMHgwMDA4MTUsIDB4MzEzMTg0LCAweDIxMjE4NCwKLQkweDAwMDAwNywgMHgwM0IwNjAsIDB4MDNBMDYwLCAweDAxODA0MCwKLQkweDAwMjJGRCwgMHgwMDAwOTUsIDB4MDEwOTI0LCAweDAwMDQyNCwKLQkweDAwMDQyNCwgMHgwMDEyNjQsIDB4MTAwMTAyLCAweDAwMDgyMCwKLQkweDAzOTA2MCwgMHgwMTgwNDAsIDB4MDAxOTI0LCAweDAwRkI4RCwKLQkweDAwMzk3RCwgMHgwMDA4MjAsIDB4MDU4MDQwLCAweDAzODA0MiwKLQkweDA5ODQ0QSwgMHgwMDA2MDYsIDB4MDgwNDBBLCAweDAwMDQyNCwKLQkweDAwMDQyNCwgMHgwMDExN0QsIDB4MDE4MDQyLCAweDA4MDAwQSwKLQkweDAwMEEyNCwgMHgyODA1MDIsIDB4MjgwQzAyLCAweDA5ODAwRCwKLQkweDAwMDgyMCwgMHgwMDAyRkQsIDB4MDE4MDQwLCAweDIwMDAwNywKLQkweDAwMjJGRCwgMHgwMTgwNDIsIDB4MDgwMDBBLCAweDAwMDA5NSwKLQkweDI4MERDNCwgMHgwMTE5MjQsIDB4MDAxOTdELCAweDAxODA0MiwKLQkweDAwMTFGRCwgMHgwOTgwNEEsIDB4MTAwMDBBLCAweDAwMDBCNSwKLQkweDExMzE0NCwgMHgwQThEMDQsIDB4MDAwMDA3LCAweDA4MEE0NCwKLQkweDEyOTUwNCwgMHgwMDAwMDcsIDB4MDAyM0ZELCAweDAwMTAyMCwKLQkweDAzODA0MCwgMHgxMDEyNDQsIDB4MDAwMDA3LCAweDAwMDgyMCwKLQkweDAzOTA2MCwgMHgwMTgwNDAsIDB4MDAwMkZELCAweDAxODA0MiwKLQkweDA4MDAwQSwgMHgwMDA5MDQsIDB4MTBGQTg2LCAweDAwMDAwNywKLQkweDAwM0JGRCwgMHgwMDAxMDAsIDB4MDAwQTEwLCAweDBCODA3QSwKLQkweDEzODA0QSwgMHgwOTA5ODQsIDB4MDAwMDA3LCAweDAwMDA5NSwKLQkweDAxM0QwNCwgMHgxMTgwODYsIDB4MTAwMDBBLCAweDEwMDAwMiwKLQkweDA5MDk4NCwgMHgwMDAwMDcsIDB4MDM4MDQyLCAweDExODA0QSwKLQkweDA5MEQwNCwgMHgwMDAwMDcsIDB4MTAwMDBBLCAweDA5MEQ4NCwKLQkweDAwMDAwNywgMHgwMDI1N0QsIDB4MDAwODIwLCAweDAxODA0MCwKLQkweDAwMDEwRCwgMHgwMDA4MTAsIDB4MjgxNDNBLCAweDAwMTI3RCwKLQkweDAxODA0MiwgMHgyMDAwMEEsIDB4MDAxOTdELCAweDAxODA0MiwKLQkweDAwMTE3RCwgMHgzMTgwNEEsIDB4MTAwMDBBLCAweDAwMzEyNCwKLQkweDAxMjgwRCwgMHgwMDM5N0QsIDB4MDAwODIwLCAweDA1ODA0MCwKLQkweDAzODA0MiwgMHgwOTg0NEEsIDB4MDAwNjA2LCAweDA4MDQwQSwKLQkweDMwMDEwMiwgMHgwMDMxMjQsIDB4MDAwNDI0LCAweDAwMDQyNCwKLQkweDAwMTIyNCwgMHgyODA1MDIsIDB4MDAxQTRDLCAweDEzMDE4NiwKLQkweDcwMDAwMiwgMHgwMDAwMkQsIDB4MDMwMDAwLCAweDAwMzg3RCwKLQkweDAxODA0MiwgMHgxMDAwMEEsIDB4MTMyQTA2LCAweDAwMjEyNCwKLQkweDAwMDBBRCwgMHgxMDAwMDIsIDB4MDAwMTBELCAweDAwMDkyNCwKLQkweDAwNkIyNCwgMHgwMTM2OEQsIDB4MDAzOTdELCAweDAwMDgyMCwKLQkweDA1ODA0MCwgMHgwMzgwNDIsIDB4MDk4NDRBLCAweDAwMDYwNiwKLQkweDA4MDQwQSwgMHgwMDMyNjQsIDB4MDAwMDhELCAweDAwMEEyNCwKLQkweDAwMTAyMCwgMHgwMDIyN0QsIDB4MDE4MDQwLCAweDAxM0MwRCwKLQkweDAwMDgxMCwgMHgwODA0M0EsIDB4MjlEMjA2LCAweDAwMDAwNywKLQkweDAwMjgyMCwgMHgwMDIwN0QsIDB4MDE4MDQwLCAweDAwMTE3RCwKLQkweDAzODA0MiwgMHgxMzgwNEEsIDB4MzM4MDBBLCAweDAwMzg3RCwKLQkweDAxODA0MiwgMHgwODAwMEEsIDB4MDAwOTA0LCAweDE2M0E4NiwKLQkweDAwMDAwNywgMHgwMDAwOEQsIDB4MDMwOTY0LCAweDAxNDc4RCwKLQkweDAwMzk3RCwgMHgwMDA4MjAsIDB4MDU4MDQwLCAweDAzODA0MiwKLQkweDA5ODQ0QSwgMHgwMDA2MDYsIDB4MDgwNDBBLCAweDM4MDEwMiwKLQkweDAwMDQyNCwgMHgwMDA0MjQsIDB4MDAxMjI0LCAweDAwMDJGRCwKLQkweDAxODA0MiwgMHgwODAwMEEsIDB4MDAwOTA0LCAweDE0QTI4NiwKLQkweDAwMDAwNywgMHgyODA1MDIsIDB4MDAxQTRDLCAweDE2Mzk4NiwKLQkweDAwMDAwNywgMHgwMzIxNjQsIDB4MDA2MzJDLCAweDAwM0RGRCwKLQkweDAxODA0MiwgMHgwODAwMEEsIDB4MDAwMDk1LCAweDA5MDkwNCwKLQkweDAwMDAwNywgMHgwMDA4MjAsIDB4MDAxQTRDLCAweDE1NjE4NiwKLQkweDAxODA0MCwgMHgwMzAwMDAsIDB4MTU3QTA2LCAweDAwMjEyNCwKLQkweDAwMDEwRCwgMHgwMDA5MjQsIDB4MDA2QjI0LCAweDAxNUI4RCwKLQkweDAwMzk3RCwgMHgwMDA4MjAsIDB4MDU4MDQwLCAweDAzODA0MiwKLQkweDA5ODQ0QSwgMHgwMDA2MDYsIDB4MDgwNDBBLCAweDAwM0E2NCwKLQkweDAwMDA5NSwgMHgwMDEyMjQsIDB4MDAwMkZELCAweDAxODA0MiwKLQkweDA4MDAwQSwgMHgwMDA5MDQsIDB4MTVEQTg2LCAweDAwMDAwNywKLQkweDAxNjI4RCwgMHgwMDA4MTAsIDB4MDgwNDNBLCAweDI5RDIwNiwKLQkweDAwMDAwNywgMHgxNEQyMDYsIDB4MDAwMDA3LCAweDAwNzAyMCwKLQkweDA4MDEwQSwgMHgxMDAxMkEsIDB4MDAyMEZELCAweDAzODg2MCwKLQkweDAzOTA2MCwgMHgwMTgwNDAsIDB4MDAyMjdELCAweDAxODA0MiwKLQkweDAwM0RGRCwgMHgwODAwMEEsIDB4MzE4NDRBLCAweDAwMDkwNCwKLQkweDE2RDg4NiwgMHgxODAwOEIsIDB4MDAwMDhELCAweDE4OTkwNCwKLQkweDAwMzEyQywgMHgxN0FBMDYsIDB4MDAwMDA3LCAweDAwMzI0QywKLQkweDE3MzM4NiwgMHgwMDAwMDcsIDB4MDAxOTA0LCAweDE3MzA4NiwKLQkweDAwMDAwNywgMHgwMDAwOTUsIDB4MTk5MTQ0LCAweDAwMjIyQywKLQkweDAwMzEyNCwgMHgwMDYzNkMsIDB4MDAwRTNELCAweDAwMTM3NSwKLQkweDAwMEJGRCwgMHgwMTAwNDIsIDB4MDk4MDRBLCAweDEwMDAwQSwKLQkweDAzOEFFQywgMHgwMzkzRUMsIDB4MDAyMjRDLCAweDE3QTk4NiwKLQkweDAwMDAwNywgMHgwMDAwOEQsIDB4MTg5OTA0LCAweDAwMjI2QywKLQkweDAwMzIyQywgMHgzMDA1MEEsIDB4MzAxREFCLCAweDAwMjA4MywKLQkweDAwMThGRCwgMHgwMTgwNDIsIDB4MDgwMDBBLCAweDAxODkyNCwKLQkweDMwMDUwMiwgMHgwMDEwODMsIDB4MDAxODc1LCAweDAxMDA0MiwKLQkweDEwMDAwQSwgMHgwMDAwOEQsIDB4MDEwOTI0LCAweDAwMTM3NSwKLQkweDMzMDU0MiwgMHgzMzBDQ0IsIDB4MzMyQ0NCLCAweDMzMzRDQiwKLQkweDMzM0NDQiwgMHgzMzQ0Q0IsIDB4MzM0Q0NCLCAweDMzNTRDQiwKLQkweDMwNUM4QiwgMHgwMDYwODMsIDB4MDAwMkY1LCAweDAxMDA0MiwKLQkweDA4MDAwQSwgMHgwMDA5MDQsIDB4MTg3QTg2LCAweDAwMDAwNywKLQkweDAwMUUyRCwgMHgwMDA1RkQsIDB4MDE4MDQyLCAweDA4MDAwQSwKLQkweDAyODkyNCwgMHgyODA1MDIsIDB4MDAwNjBELCAweDAwMDgxMCwKLQkweDI4MEMzQSwgMHgwMDAwOEQsIDB4MDAwODEwLCAweDI4MTQzQSwKLQkweDBBODA4RCwgMHgwMDA4MjAsIDB4MDAwMkY1LCAweDAxMDA0MCwKLQkweDIyMDAwNywgMHgwMDEyNzUsIDB4MDMwMDQyLCAweDIxMDA0QSwKLQkweDAwMDA4RCwgMHgxQTA5NDQsIDB4MDAwMDA3LCAweDAxOTgwRCwKLQkweDAwMDgxMCwgMHgwODA0M0EsIDB4MkIyMjA2LCAweDAwMDAwNywKLQkweDAwMDFGNSwgMHgwMzAwNDIsIDB4MEQwMDRBLCAweDEwMDAwQSwKLQkweDA4OTE0NCwgMHgwMDAwMDcsIDB4MDAwODIwLCAweDAxMDA0MCwKLQkweDAwMjVGNSwgMHgwQTMxNDQsIDB4MDAwMDA3LCAweDAwMDgyMCwKLQkweDAzMjg2MCwgMHgwMzAwNDAsIDB4MDAyMTdELCAweDAzODA0MiwKLQkweDBCODA0QSwgMHgxMDAwMEEsIDB4MDAwODIwLCAweDAzMTA2MCwKLQkweDAzMDA0MCwgMHgwMDAwOEQsIDB4MDAwMTI0LCAweDAwMDEyQywKLQkweDAwMEU2NCwgMHgwMDFBNjQsIDB4MDA2MzZDLCAweDA4MDEwQSwKLQkweDEwMDEyQSwgMHgwMDA4MjAsIDB4MDMxMDYwLCAweDAzMDA0MCwKLQkweDAwMjBGRCwgMHgwMTgwNDIsIDB4MDgwMDBBLCAweDAwMjI3RCwKLQkweDAxODA0MiwgMHgxMDAwMEEsIDB4MDAwODIwLCAweDAzMTA2MCwKLQkweDAzMDA0MCwgMHgwMDE5N0QsIDB4MDE4MDQyLCAweDA4MDAwQSwKLQkweDAwMjJGRCwgMHgwMzgwNDIsIDB4MTAwMDBBLCAweDAwMDgyMCwKLQkweDAzMTA2MCwgMHgwMzAwNDAsIDB4MDkwRDA0LCAweDAwMDAwNywKLQkweDAwMDgyMCwgMHgwMzAwNDAsIDB4MDM4MDQyLCAweDBCODA0QSwKLQkweDEwMDAwQSwgMHgwMDA4MjAsIDB4MDMxMDYwLCAweDAzMDA0MCwKLQkweDAzODA0MiwgMHgxMzgwNEEsIDB4MTk4MDRBLCAweDExMEQwNCwKLQkweDE5OEQwNCwgMHgwMDAwMDcsIDB4MDgwMDBBLCAweDAwMTAyMCwKLQkweDAzMTg2MCwgMHgwMzA4NjAsIDB4MDMwMDQwLCAweDAwMDA4RCwKLQkweDBCMDk0NCwgMHgwMDAwMDcsIDB4MDAwODIwLCAweDAxMDA0MCwKLQkweDAwMDVGNSwgMHgwMzAwNDIsIDB4MDgwMDBBLCAweDAwMDgyMCwKLQkweDAxMDA0MCwgMHgwMDAwRjUsIDB4MDEwMDQyLCAweDA4MDAwQSwKLQkweDAwMDkwNCwgMHgxQzYwODYsIDB4MDAxRTc1LCAweDAzMDA0MiwKLQkweDAxMDQ0QSwgMHgwMDBDMEEsIDB4MUM3MjA2LCAweDAwMDAwNywKLQkweDAwMDQwMiwgMHgwMDBDMDIsIDB4MDAxNzdELCAweDAwMUFGNSwKLQkweDAxODA0MiwgMHgwMzE0NEEsIDB4MDMxQzRBLCAweDAzMjQ0QSwKLQkweDAzMkM0QSwgMHgwMzM0NEEsIDB4MDMzQzRBLCAweDAzNDQ0QSwKLQkweDAwNEMwQSwgMHgwMDA0M0QsIDB4MDAxM0Y1LCAweDAwMUFGRCwKLQkweDAzMDA0MiwgMHgwQjAwNEEsIDB4MUI4MDRBLCAweDEzODA0QSwKLQkweDIwMDAwQSwgMHgwODkxNDQsIDB4MTlBMTQ0LCAweDAzODlFNCwKLQkweDAzOTlFQywgMHgwMDU1MDIsIDB4MDA1RDBBLCAweDAzMDA0MiwKLQkweDBCMDA0QSwgMHgxQjgwNEEsIDB4MTM4MDRBLCAweDIwMDAwQSwKLQkweDA4OTE0NCwgMHgxOUExNDQsIDB4MDM4OUU0LCAweDAzOTlFQywKLQkweDAwNjUwMiwgMHgwMDZEMEEsIDB4MDMwMDQyLCAweDBCMDA0QSwKLQkweDE5MDA0QSwgMHgyQjgwNEEsIDB4MTM4MDRBLCAweDIxODA0QSwKLQkweDMwMDAwQSwgMHgwODkxNDQsIDB4MTlBMTQ0LCAweDJBQjE0NCwKLQkweDAzODlFNCwgMHgwMzk5RUMsIDB4MDA3NTAyLCAweDAwN0QwQSwKLQkweDAzQTlFNCwgMHgwMDA3MDIsIDB4MDAxMDdELCAweDAwMDQxNSwKLQkweDAxODA0MiwgMHgwODAwMEEsIDB4MDEwOUU0LCAweDAwMEYwMiwKLQkweDAwMkFGNSwgMHgwMDE5RkQsIDB4MDEwMDQyLCAweDA5ODA0QSwKLQkweDEwMDAwQSwgMHgwMDA5MzQsIDB4MDAxNjc0LCAweDAwMjlGNSwKLQkweDAxMDA0MiwgMHgxMDAwMEEsIDB4MDA5MTdDLCAweDAwMjA3NSwKLQkweDAxMDA0MiwgMHgwODAwMEEsIDB4MDAwOTA0LCAweDFFRDI4NiwKLQkweDAwMjZGNSwgMHgwMDI3RjUsIDB4MDMwMDQyLCAweDA5MDA0QSwKLQkweDEwMDAwQSwgMHgwMDBBM0MsIDB4MDAxNjdDLCAweDAwMUE3NSwKLQkweDAwMEJGRCwgMHgwMTAwNDIsIDB4NTE4MDRBLCAweDQ4MDAwQSwKLQkweDE2MDAwNywgMHgwMDEwNzUsIDB4MDEwMDQyLCAweDI4MkMwQSwKLQkweDI4MUQxMiwgMHgyODI1MTIsIDB4MDAxRjMyLCAweDFFMDAwNywKLQkweDBFMDAwNywgMHgwMDE5NzUsIDB4MDEwMDQyLCAweDAwMkRGNSwKLQkweDBEMDA0QSwgMHgxMDAwMEEsIDB4MDA5MTQ0LCAweDFGQjI4NiwKLQkweDAxMDA0MiwgMHgyODM0MEEsIDB4MDAwRTVELCAweDAwMDA4RCwKLQkweDAwMDM3NSwgMHgwMDA4MjAsIDB4MDEwMDQwLCAweDA1RDJGNCwKLQkweDU0RDEwNCwgMHgwMDczNUMsIDB4MjA1Mzg2LCAweDAwMDAwNywKLQkweDBDMDAwNywgMHgwODAwMDcsIDB4MEEwMDA3LCAweDAyMDQwRCwKLQkweDAwMDgxMCwgMHgwODA0M0EsIDB4MzMyMjA2LCAweDAwMDAwNywKLQkweDIwNUEwNiwgMHgwMDAwMDcsIDB4MDgwMDA3LCAweDAwMjI3NSwKLQkweDAxMDA0MiwgMHgyMDAwMEEsIDB4MDAyMTA0LCAweDIxMjA4NiwKLQkweDAwMUUyRCwgMHgwMDAyRjUsIDB4MDEwMDQyLCAweDA4MDAwQSwKLQkweDAwMDkwNCwgMHgyMDkyODYsIDB4MDAwMDA3LCAweDAwMjAxMCwKLQkweDMwMDQzQSwgMHgwMDA1N0QsIDB4MDE4MEMzLCAweDA4MDAwQSwKLQkweDAyODkyNCwgMHgyODA1MDIsIDB4MjgwQzAyLCAweDBBODEwRCwKLQkweDAwMDgyMCwgMHgwMDAyRjUsIDB4MDEwMDQwLCAweDIyMDAwNywKLQkweDAwMDRGRCwgMHgwMTgwNDIsIDB4NzAwMDBBLCAweDAzMDAwMCwKLQkweDAwNzAyMCwgMHgwNkZBMDYsIDB4MDE4MDQwLCAweDAyMTgwRCwKLQkweDAwMDgxMCwgMHgwODA0M0EsIDB4MkIyMjA2LCAweDAwMDAwNywKLQkweDAwMDJGRCwgMHgwMTgwNDIsIDB4MDgwMDBBLCAweDAwMDkwNCwKLQkweDIxOEE4NiwgMHgwMDAwMDcsIDB4MDFGMjA2LCAweDAwMDAwNywKLQkweDAwMDg3NSwgMHgwMDA5RkQsIDB4MDAwMTBELCAweDIyMEEwNiwKLQkweDAwMDI5NSwgMHgwMDBCNzUsIDB4MDAwOTdELCAweDAwMDAwRCwKLQkweDAwMDUxNSwgMHgwMTAwNDIsIDB4MTgwMDBBLCAweDAwMTkwNCwKLQkweDI4Nzg4NiwgMHgwMDA2RjUsIDB4MDAxMDIwLCAweDAxMDA0MCwKLQkweDAwMDRGNSwgMHgwMDA4MjAsIDB4MDEwMDQwLCAweDAwMDc3NSwKLQkweDAxMDA0MiwgMHgwOTgwNEEsIDB4MTAwMDBBLCAweDAwMTEyNCwKLQkweDAwMDkwNCwgMHgyMkJBODYsIDB4MDAwODE1LCAweDA4MDEwMiwKLQkweDEwMTIwNCwgMHgyMkRBMDYsIDB4MDAwNTc1LCAweDA4MTIwNCwKLQkweDAwMDAwNywgMHgxMDAxMDIsIDB4MDAwNTc1LCAweDAwMDQyNSwKLQkweDAyMTEyNCwgMHgxMDAxMDIsIDB4MDAwODIwLCAweDAzMTA2MCwKLQkweDAxMDA0MCwgMHgwMDE5MjQsIDB4Mjg3ODg2LCAweDAwMDA4RCwKLQkweDAwMDQ2NCwgMHgwMDlEMDQsIDB4Mjc4ODg2LCAweDE4MDEwMiwKLQkweDAwMDU3NSwgMHgwMTAwNDIsIDB4MjgwNDBBLCAweDAwMDE4RCwKLQkweDAwMDkyNCwgMHgyODBEMDIsIDB4MDAwMDBELCAweDAwMDkyNCwKLQkweDI4MTUwMiwgMHgxMDAwMEQsIDB4MDAwODIwLCAweDAwMDJGNSwKLQkweDAxMDA0MCwgMHgyMDAwMDcsIDB4MDAxMTc1LCAweDAwMDJGRCwKLQkweDAxODA0MiwgMHgwODAwMEEsIDB4MDAwOTA0LCAweDIzQzI4NiwKLQkweDAwMDAwNywgMHgwMDAxMDAsIDB4MDgwQjIwLCAweDEzMEI2MCwKLQkweDFCMEI2MCwgMHgwMzBBNjAsIDB4MDEwMDQwLCAweDA1MDA0MiwKLQkweDNEMDA0QSwgMHgzNTAwNEEsIDB4MkQwMDRBLCAweDIwMDAwQSwKLQkweDAwMDZGNSwgMHgwMTAwNDIsIDB4MjgxNDBBLCAweDAwMDRGNSwKLQkweDAxMDA0MiwgMHgwODAwMEEsIDB4MDAwMzE1LCAweDAxMEQwNCwKLQkweDI0Q0E4NiwgMHgwMDQwMTUsIDB4MDAwMDk1LCAweDAxMEQwNCwKLQkweDI0Qjg4NiwgMHgxMDAwMjIsIDB4MTAwMDJBLCAweDI0RTIwNiwKLQkweDAwMDAwNywgMHgzMzMxMDQsIDB4MkFBOTA0LCAweDAwMDAwNywKLQkweDAzMjEyNCwgMHgyODA1MDIsIDB4MDAxMTI0LCAweDAwMDQyNCwKLQkweDAwMDQyNCwgMHgwMDMyMjQsIDB4MDAyOTJDLCAweDAwNjM2QywKLQkweDI1RjM4NiwgMHgwMDAwMDcsIDB4MDJCMTY0LCAweDAwMDQ2NCwKLQkweDAwMDQ2NCwgMHgwMDAwOEQsIDB4MDAwQTY0LCAweDI4MEQwMiwKLQkweDEwMDA4RCwgMHgwMDA4MjAsIDB4MDAwMkY1LCAweDAxMDA0MCwKLQkweDIyMDAwNywgMHgwMDAwOEQsIDB4MzhCOTA0LCAweDAwMDAwNywKLQkweDAzMjk2QywgMHgzMDAxMEEsIDB4MDAwMkY1LCAweDAxMDA0MiwKLQkweDA4MDAwQSwgMHgwMDA5MDQsIDB4MjVCQTg2LCAweDAwMDAwNywKLQkweDAyMzEyQywgMHgyODA1MEEsIDB4MDAwMDhELCAweDAxMDk2QywKLQkweDI4MEQwQSwgMHgxMDAxMEQsIDB4MDAwODIwLCAweDAwMDJGNSwKLQkweDAxMDA0MCwgMHgyMjAwMDcsIDB4MDAxMTI0LCAweDAwMDQyNCwKLQkweDAwMDQyNCwgMHgwMDMyMjQsIDB4MzAwMTAyLCAweDAzMjk0NCwKLQkweDI2N0E4NiwgMHgwMDAwMDcsIDB4MzAwMDAyLCAweDAwMDRGNSwKLQkweDAxMDA0MiwgMHgwODAwMEEsIDB4MDAwMzE1LCAweDAxMEQwNCwKLQkweDI2QzA4NiwgMHgwMDMxMjQsIDB4MDAwNDY0LCAweDMwMDEwMiwKLQkweDAwMDJGNSwgMHgwMTAwNDIsIDB4MDgwMDBBLCAweDAwMDkwNCwKLQkweDI2Q0E4NiwgMHgwMDAwMDcsIDB4MDAzMTI0LCAweDMwMDUwMiwKLQkweDAwMzkyNCwgMHgzMDA1ODMsIDB4MDAwODgzLCAweDAwMDVGNSwKLQkweDAxMDA0MiwgMHgyODA0MEEsIDB4MDAwMDhELCAweDAwODEyNCwKLQkweDI4MEQwMiwgMHgwMDAwOEQsIDB4MDA4MTI0LCAweDI4MTUwMiwKLQkweDEwMDE4RCwgMHgwMDA4MjAsIDB4MDAwMkY1LCAweDAxMDA0MCwKLQkweDIyMDAwNywgMHgwMDEwMjUsIDB4MDAwNTc1LCAweDAzMDA0MiwKLQkweDA5MDA0QSwgMHgxMDAwMEEsIDB4MEEwOTA0LCAweDEyMTEwNCwKLQkweDAwMDAwNywgMHgwMDEwMjAsIDB4MDUwODYwLCAweDA1MDA0MCwKLQkweDAwMDZGRCwgMHgwMTgwNDIsIDB4MDkwMDRBLCAweDEwMDAwQSwKLQkweDAwMDBBNSwgMHgwQTA5MDQsIDB4MTIxMTA0LCAweDAwMDAwNywKLQkweDAwMDgyMCwgMHgwMTkwNjAsIDB4MDEwMDQwLCAweDAwMDJGNSwKLQkweDAxMDA0MiwgMHgwODAwMEEsIDB4MDAwOTA0LCAweDI4NDI4NiwKLQkweDAwMDAwNywgMHgyMzBBMDYsIDB4MDAwMDA3LCAweDAwMDYwNiwKLQkweDAwMDAwNywgMHgwMDAyRjUsIDB4MDEwMDQyLCAweDA4MDAwQSwKLQkweDAwMDkwNCwgMHgyODkyODYsIDB4MDAwMDA3LCAweDAwMDEwMCwKLQkweDA4MEIyMCwgMHgxMzhCNjAsIDB4MUI4QjYwLCAweDIzOEI2MCwKLQkweDJCOEI2MCwgMHgzMzhCNjAsIDB4M0I4QjYwLCAweDQzOEI2MCwKLQkweDRCOEI2MCwgMHg1MzhCNjAsIDB4NUI4QjYwLCAweDYzOEI2MCwKLQkweDZCOEI2MCwgMHg3MzhCNjAsIDB4N0I4QjYwLCAweDAzOEY2MCwKLQkweDBCOEY2MCwgMHgxMzhGNjAsIDB4MUI4RjYwLCAweDIzOEY2MCwKLQkweDJCOEY2MCwgMHgzMzhGNjAsIDB4M0I4RjYwLCAweDQzOEY2MCwKLQkweDRCOEY2MCwgMHg1MzhGNjAsIDB4NUI4RjYwLCAweDYzOEY2MCwKLQkweDZCOEY2MCwgMHg3MzhGNjAsIDB4N0I4RjYwLCAweDAzOEE2MCwKLQkweDAwMDYwNiwgMHgwMTgwNDAsIDB4MDAwMDhELCAweDAwMEE2NCwKLQkweDI4MEQwMiwgMHgwMDBBMjQsIDB4MDAwMjdELCAweDAxODA0MiwKLQkweDEwMDAwQSwgMHgwMDEyMjQsIDB4MDAwM0ZELCAweDAxODA0MiwKLQkweDA4MDAwQSwgMHgwMDA5MDQsIDB4MkE4Mjg2LCAweDAwMDAwNywKLQkweDAwMDE4RCwgMHgwMDBBMjQsIDB4MDAwNDY0LCAweDAwMDQ2NCwKLQkweDA4MDEwMiwgMHgwMDA5MjQsIDB4MDAwNDI0LCAweDAwMDQyNCwKLQkweDEwMDEwMiwgMHgwMjAwMEQsIDB4MDA5MTQ0LCAweDJBRDk4NiwKLQkweDAwMDAwNywgMHgwMDAxRkQsIDB4MDE4MDQyLCAweDA4MDAwQSwKLQkweDAwMEE0NCwgMHgyQUJCODYsIDB4MDE4MDQyLCAweDBBMDAwRCwKLQkweDAwMDgyMCwgMHgwMDAyRkQsIDB4MDE4MDQwLCAweDIwMDAwNywKLQkweDAwMDI3RCwgMHgwMDEwMjAsIDB4MDAwNjA2LCAweDAxODA0MCwKLQkweDAwMDJGNSwgMHgwMTAwNDIsIDB4MDgwMDBBLCAweDAwMDkwNCwKLQkweDJCMkE4NiwgMHgwMDAwMDcsIDB4MDAwMzdELCAweDAxODA0MiwKLQkweDA4MDAwQSwgMHgwMDA5MDQsIDB4MkI1QTg2LCAweDAwMDAwNywKLQkweDAwMDA3NSwgMHgwMDJFN0QsIDB4MDEwMDQyLCAweDBCODA0QSwKLQkweDAwMDAyMCwgMHgwMDA5MDQsIDB4MDAwNjg2LCAweDAxMDA0MCwKLQkweDMxODQ0QSwgMHgzMDA0OEIsIDB4MDAwODgzLCAweDAwMDA4RCwKLQkweDAwMDgxMCwgMHgyODE0M0EsIDB4MDAwMDhELCAweDAwMDgxMCwKLQkweDI4MEMzQSwgMHgwMDA2NzUsIDB4MDEwMDQyLCAweDA4MDAwQSwKLQkweDAwMzgxNSwgMHgwMTA5MjQsIDB4MjgwNTAyLCAweDBCMDAwRCwKLQkweDAwMDgyMCwgMHgwMDAyRjUsIDB4MDEwMDQwLCAweDAwMDYwNiwKLQkweDIyMDAwNywgMHgwMDA0NjQsIDB4MDAwNDY0LCAweDAwMDYwNiwKLQkweDAwMDAwNywgMHgwMDAxMzQsIDB4MDA3RjhELCAweDAwMDkzQywKLQkweDI4MUQxMiwgMHgyODI1MTIsIDB4MDAxRjMyLCAweDBFMDAwNywKLQkweDAwMDEwRCwgMHgwMDAzN0QsIDB4MDAwODIwLCAweDAxODA0MCwKLQkweDA1RDJGNCwgMHgwMDAwMDcsIDB4MDgwMDA3LCAweDAwMDM3RCwKLQkweDAxODA0MiwgMHgwODAwMEEsIDB4MDAwOTA0LCAweDJEMDI4NiwKLQkweDAwMDAwNywgMHgwMDA2MDYsIDB4MDAwMDA3LCAweDAwMDAwNywKLQkweDAwMDAxMiwgMHgxMDAwMDcsIDB4MzIwMDA3LCAweDYwMDAwNywKLQkweDEwMDA4MCwgMHg0ODAwMUEsIDB4MDA0OTA0LCAweDJENjE4NiwKLQkweDAwMDAwNywgMHgwMDEyMTAsIDB4NTgwMDNBLCAweDAwMDE0NSwKLQkweDVDNUQwNCwgMHgwMDAwMDcsIDB4MDAwMDgwLCAweDQ4MDAxQSwKLQkweDAwNDkwNCwgMHgyREIxODYsIDB4MDAwMDA3LCAweDAwMTIxMCwKLQkweDUwMDAzQSwgMHgwMDU5MDQsIDB4MkUwODg2LCAweDAwMDA0NSwKLQkweDAwMDBDNSwgMHg3RkZGRjUsIDB4N0ZGRjdELCAweDA3RDUyNCwKLQkweDAwNDIyNCwgMHg1MDAxMDIsIDB4MjAwNTAyLCAweDAwMDA4MiwKLQkweDQwMDAxQSwgMHgwMDQxMDQsIDB4MkUzOTg2LCAweDAwMDAwNywKLQkweDAwMzg2NSwgMHg0MDAwMUEsIDB4MDA0MDIwLCAweDAwMTA0RCwKLQkweDA0QzE4NCwgMHgzMDFCODYsIDB4MDAwMDQwLCAweDA0MDAwNywKLQkweDAwMDE2NSwgMHgwMDAxNDUsIDB4MDA0MDIwLCAweDAwMDA0MCwKLQkweDAwMDc2NSwgMHgwODAwODAsIDB4NDAwMDFBLCAweDAwNDEwNCwKLQkweDJFQzk4NiwgMHgwMDAwMDcsIDB4MDAxMjEwLCAweDQwMDAzQSwKLQkweDAwNDEwNCwgMHgyRjIyODYsIDB4MDAwMDRELCAweDAwMDBDRCwKLQkweDAwNDgxMCwgMHgyMDA0M0EsIDB4MDAwODgyLCAweDQwMDAxQSwKLQkweDAwNDEwNCwgMHgyRjMxODYsIDB4MDAwMDA3LCAweDAwNDgyMCwKLQkweDAwNTkwNCwgMHgzMDA4ODYsIDB4MDAwMDQwLCAweDAwMDdFNSwKLQkweDIwMDQ4MCwgMHgyODE2QTAsIDB4MzIxNkUwLCAweDNBMTZFMCwKLQkweDQyMTZFMCwgMHgwMjEyNjAsIDB4MDAwMDQwLCAweDAwMDAzMiwKLQkweDQwMDA3NSwgMHgwMDAwN0QsIDB4MDdENTc0LCAweDIwMDUxMiwKLQkweDAwMDA4MiwgMHg0MDAwMUEsIDB4MDA0MTA0LCAweDJGRTE4NiwKLQkweDAwMDAwNywgMHgwMzcyMDYsIDB4NjQwMDA3LCAweDA2MDAwNywKLQkweDAwMDBFNSwgMHgwMDAwMjAsIDB4MDAwMDQwLCAweDAwMEE2NSwKLQkweDAwMDAyMCwgMHgwMjAwNDAsIDB4MDIwMDQwLCAweDAwMDA0MCwKLQkweDAwMDE2NSwgMHgwMDAwNDIsIDB4NzAwMDBBLCAweDAwNzEwNCwKLQkweDMwQTI4NiwgMHgwMDAwMDcsIDB4MDE4MjA2LCAweDY0MDAwNywKLQkweDA1MDAwMCwgMHgwMDcwMjAsIDB4MDAwMDQwLCAweDAzNzIwNiwKLQkweDY0MDAwNywgMHgwMDAwMDcsIDB4MDAzMDZELCAweDAyODg2MCwKLQkweDAyOTA2MCwgMHgwODAwMEEsIDB4MDI4ODYwLCAweDAwODA0MCwKLQkweDEwMDAxMiwgMHgwMDEwMEQsIDB4MDA5MTg0LCAweDMxNDE4NiwKLQkweDAwMEUwRCwgMHgwMDkxODQsIDB4MzI1MTg2LCAweDAwMDAwNywKLQkweDMwMDAwNywgMHgwMDEwMjAsIDB4MDAzQjZELCAweDAwODA0MCwKLQkweDAwMDA4MCwgMHgwODAwMUEsIDB4MDAwOTA0LCAweDMxNjE4NiwKLQkweDAwMDAwNywgMHgwMDEyMjAsIDB4MDAwREVELCAweDAwODA0MCwKLQkweDAwODA0MiwgMHgxMDAwMEEsIDB4NDAwMDBELCAweDEwOTU0NCwKLQkweDAwMDAwNywgMHgwMDEwMjAsIDB4MDAwREVELCAweDAwODA0MCwKLQkweDAwODA0MiwgMHgyMDA0MEEsIDB4MDAwMDgyLCAweDA4MDAxQSwKLQkweDAwMDkwNCwgMHgzMUYxODYsIDB4MDAwMDA3LCAweDAwM0I2RCwKLQkweDAwODA0MiwgMHgwODAwMEEsIDB4MDAwRTE1LCAweDAxMDk4NCwKLQkweDMyOUI4NiwgMHg2MDAwMDcsIDB4MDgwMDFBLCAweDAwMEMxNSwKLQkweDAxMDk4NCwgMHgzMjgzODYsIDB4MDAwMDIwLCAweDFBMDAwNywKLQkweDAwMDJFRCwgMHgwMDgwNDAsIDB4NjIwMDA3LCAweDAwMzA2RCwKLQkweDAyODA0MiwgMHgwQTgwNEEsIDB4MDAwODIwLCAweDBBODA0QSwKLQkweDAwMDYwNiwgMHgxMDgwNEEsIDB4MDAwMDA3LCAweDI4MjUxMiwKLQkweDAwMUYzMiwgMHgwNUQyRjQsIDB4NTREMTA0LCAweDAwNzM1QywKLQkweDAwMDc4NiwgMHgwMDAwMDcsIDB4MEMwMDA3LCAweDBBMDAwNywKLQkweDFDMDAwNywgMHgwMDM0NjUsIDB4MDIwMDQwLCAweDAwNDgyMCwKLQkweDAyNTA2MCwgMHg0MDAwMEEsIDB4MDI0MDYwLCAweDAwMDA0MCwKLQkweDQ1NDk0NCwgMHgwMDAwMDcsIDB4MDA0MDIwLCAweDAwM0FFNSwKLQkweDAwMDA0MCwgMHgwMDI4RTUsIDB4MDAwMDQyLCAweDQ4MDAwQSwKLQkweDAwNDkwNCwgMHgzODY4ODYsIDB4MDAyQzY1LCAweDAwMDA0MiwKLQkweDQwMDAwQSwgMHgwMDAwRDUsIDB4NDU0MTA0LCAweDAwMDAwNywKLQkweDAwMDY1NSwgMHgwNTQ1MDQsIDB4MzRGMjg2LCAweDAwMDFENSwKLQkweDA1NDUwNCwgMHgzNEYwODYsIDB4MDAyQjY1LCAweDAwMDA0MiwKLQkweDAwM0FFNSwgMHg1MDAwNEEsIDB4NDAwMDBBLCAweDQ1QzNENCwKLQkweDAwMDAwNywgMHg0NTQ1MDQsIDB4MDAwMDA3LCAweDAwMDBDRCwKLQkweDQ0NDk0NCwgMHgwMDAwMDcsIDB4NDU0NTA0LCAweDAwMDAwNywKLQkweDAwMDE0RCwgMHg1NTQ5NDQsIDB4MDAwMDA3LCAweDA0NTE0NCwKLQkweDM0RTk4NiwgMHgwMDJDNjUsIDB4MDAwMDQyLCAweDQ4MDAwQSwKLQkweDRDRDEwNCwgMHgwMDAwMDcsIDB4MDRDMTQ0LCAweDM0RjM4NiwKLQkweDAwMDAwNywgMHgxNjAwMDcsIDB4MDAyQ0U1LCAweDA0MDA0MiwKLQkweDQwMDAwQSwgMHgwMDQwMjAsIDB4MDAwMDQwLCAweDAwMjk2NSwKLQkweDAwMDA0MiwgMHg0MDAwMEEsIDB4MDA0MTA0LCAweDM1NjA4NiwKLQkweDAwMDAwNywgMHgwMDI0MDIsIDB4MzZBMjA2LCAweDAwNUMwMiwKLQkweDAwMjVFNSwgMHgwMDAwNDIsIDB4NDAwMDBBLCAweDAwNDI3NCwKLQkweDAwMkFFNSwgMHgwMDAwNDIsIDB4NDAwMDBBLCAweDAwNDI3NCwKLQkweDUwMDExMiwgMHgwMDI5RTUsIDB4MDAwMDQyLCAweDQwMDAwQSwKLQkweDAwNDIzNCwgMHg0NTQxMDQsIDB4MDAwMDA3LCAweDAwNDAyMCwKLQkweDAwMDA0MCwgMHgwMDNFRTUsIDB4MDAwMDIwLCAweDAwMDA0MCwKLQkweDAwMkRFNSwgMHg0MDAxNTIsIDB4NTAwMDBBLCAweDA0NTE0NCwKLQkweDM2NEE4NiwgMHgwMDAwQzUsIDB4MDAzRUU1LCAweDAwNDAyMCwKLQkweDAwMDA0MCwgMHgwMDJCRTUsIDB4MDAwMDQyLCAweDQwMDAwQSwKLQkweDQwNDI1NCwgMHgwMDAwMDcsIDB4MDAyQUU1LCAweDAwNDAyMCwKLQkweDAwMDA0MCwgMHg1MDAxMzIsIDB4MDQwMTM0LCAweDAwNTY3NCwKLQkweDAwMjlFNSwgMHgwMjAwNDIsIDB4NDIwMDBBLCAweDAwMDA0MiwKLQkweDUwMDAwQSwgMHgwNTQxN0MsIDB4MDAyOEU1LCAweDAwMDA0MiwKLQkweDQ4MDAwQSwgMHgwMDAwQzUsIDB4NENDMTQ0LCAweDM3MTA4NiwKLQkweDAwMjZFNSwgMHgwMDI3RTUsIDB4MDIwMDQyLCAweDQwMDA0QSwKLQkweDUwMDAwQSwgMHgwMDQyM0MsIDB4MDA1NjdDLCAweDAwMjhFNSwKLQkweDAwNDgyMCwgMHgwMDAwNDAsIDB4MjgxRDEyLCAweDI4MjUxMiwKLQkweDAwMUY3MiwgMHgwMDI5NjUsIDB4MDAwMDQyLCAweDQwMDAwQSwKLQkweDAwNDEwNCwgMHgzN0FBODYsIDB4MEUwMDA3LCAweDE2MDAwNywKLQkweDFFMDAwNywgMHgwMDNFRTUsIDB4MDAwMDQyLCAweDQwMDAwQSwKLQkweDAwNDEwNCwgMHgzN0U4ODYsIDB4MDAyRDY1LCAweDAwMDA0MiwKLQkweDI4MzQwQSwgMHgwMDM0NjUsIDB4MDIwMDQyLCAweDQyMDA0QSwKLQkweDAwNDAyMCwgMHg0QTAwNEEsIDB4NTAwMDRBLCAweDA1RDJGNCwKLQkweDU0RDEwNCwgMHgwMDczNUMsIDB4Mzg1MTg2LCAweDAwMDAwNywKLQkweDAwMDYwNiwgMHgwODAwMDcsIDB4MEMwMDA3LCAweDA4MDAwNywKLQkweDBBMDAwNywgMHgwMDAxRTUsIDB4MDIwMDQ1LCAweDAwNDAyMCwKLQkweDAwMDA2MCwgMHgwMDAzNjUsIDB4MDAwMDQwLCAweDAwMkU2NSwKLQkweDAwMUEyMCwgMHgwQTFBNjAsIDB4MDAwMDQwLCAweDAwMzQ2NSwKLQkweDAyMDA0MiwgMHg0MjAwNEEsIDB4MDA0MDIwLCAweDRBMDA0QSwKLQkweDAwMDYwNiwgMHg1MDAwNEEsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwKLQkweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMAotfTsKLQotLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLS8vICBEUy0xRSBDb250cm9sbGVyIEluc3RydWN0aW9uUkFNIENvZGUKLS8vCTE5OTkvMDYvMjEKLS8vCUJ1ZjQ0MSBzbG90IGlzIEVuYWJsZWQuCi0vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotLy8gMDQvMDkgIGNyZWF0Ci0vLyAwNC8xMiAgc3RvcCBuaXNlIGZpeAotLy8gMDYvMjEgIFdvcmtpbmdPZmYgdGltbWluZwotc3RhdGljIHUzMiBDbnRybEluc3QxRVtZRFNYR19DVFJMTEVOR1RIIC8gNF0gPSB7Ci0JMHgwMDAwMDcsIDB4MjQwMDA3LCAweDBDMDAwNywgMHgxQzAwMDcsCi0JMHgwNjAwMDcsIDB4NzAwMDAyLCAweDAwMDAyMCwgMHgwMzAwNDAsCi0JMHgwMDcxMDQsIDB4MDA0Mjg2LCAweDAzMDA0MCwgMHgwMDBGMEQsCi0JMHgwMDA4MTAsIDB4MjAwNDNBLCAweDAwMDI4MiwgMHgwMDAyMEQsCi0JMHgwMDA4MTAsIDB4MjAwNDNBLCAweDAwMTI4MiwgMHgyMDBFODIsCi0JMHgwMDgwMEQsIDB4MDAwODEwLCAweDIwMDQzQSwgMHgwMDFBODIsCi0JMHgwMzQ2MEQsIDB4MDAwODEwLCAweDEwMDQzQSwgMHgwMkVDMEQsCi0JMHgwMDA4MTAsIDB4MTgwNDNBLCAweDAwMDEwRCwgMHgwMjAwMTUsCi0JMHgwMDAwRkQsIDB4MDAwMDIwLCAweDAzODg2MCwgMHgwMzkwNjAsCi0JMHgwMzgwNjAsIDB4MDM4MDQwLCAweDAzODA0MCwgMHgwMzgwNDAsCi0JMHgwMTgwNDAsIDB4MDAwQTdELCAweDAzODA0MCwgMHgwMzgwNDAsCi0JMHgwMTgwNDAsIDB4MjAwNDAyLCAweDAwMDg4MiwgMHgwODAwMUEsCi0JMHgwMDA5MDQsIDB4MDE3MTg2LCAweDAwMDAwNywgMHgyNjAwMDcsCi0JMHg0MDAwMDcsIDB4MDAwMDA3LCAweDAzMjU4RCwgMHgwMDA4MTAsCi0JMHgxODA0M0EsIDB4MjYwMDA3LCAweDI4NDQwMiwgMHgwMDA4N0QsCi0JMHgwMTgwNDIsIDB4MDAxNjBBLCAweDA1QTIwNiwgMHgwMDAwMDcsCi0JMHg0NDAwMDcsIDB4MDAyMzBELCAweDAwMDgxMCwgMHgwODA0M0EsCi0JMHgyMkZBMDYsIDB4MDAwMDA3LCAweDAwMDdGRCwgMHgwMTgwNDIsCi0JMHgwODAwMEEsIDB4MDAwOTA0LCAweDAyQUI4NiwgMHgwMDAxOTUsCi0JMHgwOTBEMDQsIDB4MDAwMDA3LCAweDAwMDgyMCwgMHgwMDAwRjUsCi0JMHgwMDBCN0QsIDB4MDFGMDYwLCAweDAwMDBGRCwgMHgwMzNBMDYsCi0JMHgwMTgwNDAsIDB4MDAwQTdELCAweDAzODA0MiwgMHgxMzgwNEEsCi0JMHgxODAwMEEsIDB4MDAxODIwLCAweDA1OTA2MCwgMHgwNTg4NjAsCi0JMHgwMTgwNDAsIDB4MDAwMEZELCAweDAxODA0MiwgMHg3MDAwMEEsCi0JMHgwMDAxMTUsIDB4MDcxMTQ0LCAweDAzM0I4NiwgMHgwMzAwMDAsCi0JMHgwMDcwMjAsIDB4MDM2MjA2LCAweDAxODA0MCwgMHgwMDM2MEQsCi0JMHgwMDA4MTAsIDB4MDgwNDNBLCAweDIzMjIwNiwgMHgwMDAwMDcsCi0JMHgwMkVDMEQsIDB4MDAwODEwLCAweDE4MDQzQSwgMHgwMTlBMDYsCi0JMHgwMDAwMDcsIDB4MjQwMDA3LCAweDAwMEY4RCwgMHgwMDA4MTAsCi0JMHgwMDE2M0EsIDB4MDAyNDAyLCAweDAwNUMwMiwgMHgwMDI4RkQsCi0JMHgwMDAwMjAsIDB4MDE4MDQwLCAweDA4MDAwRCwgMHgwMDA4MTUsCi0JMHg1MTA5ODQsIDB4MDAwMDA3LCAweDAwMDA0RCwgMHgwMDBFNUQsCi0JMHgwMDBFMDIsIDB4MDA0MzBELCAweDAwMDgxMCwgMHgwODA0M0EsCi0JMHgyRTEyMDYsIDB4MDAwMDA3LCAweDAwMDA4RCwgMHgwMDA5MjQsCi0JMHgwMDBGMDIsIDB4MDA0NzBELCAweDAwMDgxMCwgMHgwODA0M0EsCi0JMHgyRTEyMDYsIDB4MDAwMDA3LCAweDQ4MDQ4MCwgMHgwMDEyMTAsCi0JMHgyODA0M0EsIDB4MDA3NzhELCAweDAwMDgxMCwgMHgyODBDM0EsCi0JMHgwMDA2OEQsIDB4MDAwODEwLCAweDI4MTQzQSwgMHgyODQ0MDIsCi0JMHgwMzI1OEQsIDB4MDAwODEwLCAweDE4MDQzQSwgMHgwN0ZGOEQsCi0JMHgwMDA4MjAsIDB4MDAwMkZELCAweDAxODA0MCwgMHgyNjAwMDcsCi0JMHgyMDAwMDcsIDB4MDAwMkZELCAweDAxODA0MiwgMHgwODAwMEEsCi0JMHgwMDA5MDQsIDB4MDUxMjg2LCAweDAwMDAwNywgMHgyNDAwMDcsCi0JMHgwMkVDMEQsIDB4MDAwODEwLCAweDE4MDQzQSwgMHgwMDM4N0QsCi0JMHgwMTgwNDIsIDB4MDgwMDBBLCAweDAwMTAxNSwgMHgwMTA5ODQsCi0JMHgwMTlCODYsIDB4MDAwMDA3LCAweDAxQjIwNiwgMHgwMDAwMDcsCi0JMHgwMDA4RkQsIDB4MDE4MDQyLCAweDE4MDAwQSwgMHgwMDE5MDQsCi0JMHgyMkI4ODYsIDB4MjgwMDA3LCAweDAwMTgxMCwgMHgyODA0M0EsCi0JMHgyODBDMDIsIDB4MDAwMDBELCAweDAwMDgxMCwgMHgyODE0M0EsCi0JMHgwODgwOEQsIDB4MDAwODIwLCAweDAwMDJGRCwgMHgwMTgwNDAsCi0JMHgyMDAwMDcsIDB4MDAwMjBELCAweDE4OTkwNCwgMHgwMDAwMDcsCi0JMHgwMDQwMkQsIDB4MDAwMEJELCAweDAwMDJGRCwgMHgwMTgwNDIsCi0JMHgwODAwMEEsIDB4MDAwOTA0LCAweDA2NUE4NiwgMHgwMDAwMDcsCi0JMHgwMDAxMDAsIDB4MDAwQTIwLCAweDAwMDQ3RCwgMHgwMTgwNDAsCi0JMHgwMTgwNDIsIDB4MjAwMDBBLCAweDAwMzAxNSwgMHgwMTIxNDQsCi0JMHgwMzYxODYsIDB4MDAwMDA3LCAweDAwMjEwNCwgMHgwMzYxODYsCi0JMHgwMDAwMDcsIDB4MDAwRjhELCAweDAwMDgxMCwgMHgyODBDM0EsCi0JMHgwMjM5NDQsIDB4MDdDOTg2LCAweDAwMDAwNywgMHgwMDE4MTAsCi0JMHgyODA0M0EsIDB4MDg4MTBELCAweDAwMDgyMCwgMHgwMDAyRkQsCi0JMHgwMTgwNDAsIDB4MjAwMDA3LCAweDAwMjgxMCwgMHg3ODAwM0EsCi0JMHgwMDc4OEQsIDB4MDAwODEwLCAweDA4MDQzQSwgMHgyQTEyMDYsCi0JMHgwMDAwMDcsIDB4MDA0MDBELCAweDAwMTAxNSwgMHgxODk5MDQsCi0JMHgyOTI5MDQsIDB4MzkzOTA0LCAweDAwMDAwNywgMHgwNzAyMDYsCi0JMHgwMDAwMDcsIDB4MDAwNEY1LCAweDAwMDA3RCwgMHgwMDAwMjAsCi0JMHgwMDAwOEQsIDB4MDEwODYwLCAweDAxODA0MCwgMHgwMDA0N0QsCi0JMHgwMzgwNDIsIDB4MjE4MDRBLCAweDE4MDAwQSwgMHgwMjE5NDQsCi0JMHgyMjkwODYsIDB4MDAwMDA3LCAweDAwNDA3NSwgMHg3MUYxMDQsCi0JMHgwMDAwMDcsIDB4MDEwMDQyLCAweDI4MDAwQSwgMHgwMDI5MDQsCi0JMHgyMjU4ODYsIDB4MDAwMDA3LCAweDAwM0MwRCwgMHgzMEE5MDQsCi0JMHgwMDAwMDcsIDB4MDAwNzdELCAweDAxODA0MiwgMHgwODAwMEEsCi0JMHgwMDA5MDQsIDB4MDhEQTg2LCAweDAwMDU3RCwgMHgwMDI4MjAsCi0JMHgwM0IwNjAsIDB4MDhGMjA2LCAweDAxODA0MCwgMHgwMDMwMjAsCi0JMHgwM0E4NjAsIDB4MDE4MDQwLCAweDAwMDJGRCwgMHgwMTgwNDIsCi0JMHgwODAwMEEsIDB4MDAwOTA0LCAweDA4RkE4NiwgMHgwMDAwMDcsCi0JMHgwMDA1N0QsIDB4MDE4MDQyLCAweDI4MDQwQSwgMHgwMDBFOEQsCi0JMHgwMDA4MTAsIDB4MjgwQzNBLCAweDAwMDAwRCwgMHgwMDA4MTAsCi0JMHgyODE0M0EsIDB4MDkwMDBELCAweDAwMDgyMCwgMHgwMDAyRkQsCi0JMHgwMTgwNDAsIDB4MjAwMDA3LCAweDAwM0RGRCwgMHgwMDAwMjAsCi0JMHgwMTgwNDAsIDB4MDAxMDdELCAweDAwOUQ4RCwgMHgwMDA4MTAsCi0JMHgwODA0M0EsIDB4MkExMjA2LCAweDAwMDAwNywgMHgwMDA4MTUsCi0JMHgwODAwMUEsIDB4MDEwOTg0LCAweDBBNTE4NiwgMHgwMDEzN0QsCi0JMHgyMDA1MDAsIDB4MjgwRjIwLCAweDMzOEY2MCwgMHgzQjhGNjAsCi0JMHg0MzhGNjAsIDB4NEI4RjYwLCAweDUzOEY2MCwgMHg1QjhGNjAsCi0JMHgwMzhBNjAsIDB4MDE4MDQwLCAweDAwMTA3RCwgMHgwMTgwNDIsCi0JMHgwODAwMEEsIDB4MDAwMjE1LCAweDAxMDk4NCwgMHgzQTgxODYsCi0JMHgwMDAwMDcsIDB4MDA3RkJELCAweDM4M0RDNCwgMHgwMDAwMDcsCi0JMHgwMDFBN0QsIDB4MDAxMzc1LCAweDAxODA0MiwgMHgwOTAwNEEsCi0JMHgxMDAwMEEsIDB4MEI4RDA0LCAweDEzOTUwNCwgMHgwMDAwMDcsCi0JMHgwMDA4MjAsIDB4MDE5MDYwLCAweDAwMTEwNCwgMHgyMjU4ODYsCi0JMHgwMTAwNDAsIDB4MDAxN0ZELCAweDAxODA0MiwgMHgwODAwMEEsCi0JMHgwMDA5MDQsIDB4MjI1QTg2LCAweDAwMDAwNywgMHgwMDE5N0QsCi0JMHgwMzgwNDIsIDB4MDk4MDRBLCAweDEwMDAwQSwgMHgwMDA5MjQsCi0JMHgwMDE2NjQsIDB4MDAxMUZELCAweDAzODA0MiwgMHgyQjgwNEEsCi0JMHgxOTgwNEEsIDB4MDAwMDhELCAweDIxODk0NCwgMHgwMDAwMDcsCi0JMHgwMDIyNDQsIDB4MEMxOTg2LCAweDAwMDAwNywgMHgwMDFBNjQsCi0JMHgwMDJBMjQsIDB4MDAxOTdELCAweDA4MDEwMiwgMHgxMDAxMjIsCi0JMHgwMDA4MjAsIDB4MDM5MDYwLCAweDAxODA0MCwgMHgwMDNERkQsCi0JMHgwMDAwOEQsIDB4MDAwODIwLCAweDAxODA0MCwgMHgwMDEzNzUsCi0JMHgwMDFBN0QsIDB4MDEwMDQyLCAweDA5ODA0QSwgMHgxMDAwMEEsCi0JMHgwMDAyMUQsIDB4MDE4OUU0LCAweDI5OTJFNCwgMHgzMDkxNDQsCi0JMHgwMDAwMDcsIDB4MDAwNjBELCAweDAwMEExNSwgMHgwMDBDMUQsCi0JMHgwMDEwMjUsIDB4MDBBOUU0LCAweDAxMkJFNCwgMHgwMDA0NjQsCi0JMHgwMUIzRTQsIDB4MDIzMkU0LCAweDAwMDQ2NCwgMHgwMDA0NjQsCi0JMHgwMDA0NjQsIDB4MDAwNDY0LCAweDAwMDQwRCwgMHgwOEIxQzQsCi0JMHgwMDAwMDcsIDB4MDAwODIwLCAweDAwMEJGNSwgMHgwMzAwNDAsCi0JMHgwMDE5N0QsIDB4MDM4MDQyLCAweDA5ODA0QSwgMHgwMDBBMjQsCi0JMHgwODAwMEEsIDB4MDgwRTY0LCAweDAwMDAwNywgMHgxMDAxMjIsCi0JMHgwMDA4MjAsIDB4MDMxMDYwLCAweDAxMDA0MCwgMHgwMDY0QUMsCi0JMHgwMDAyN0QsIDB4MDAwMDIwLCAweDAxODA0MCwgMHgwMDEwN0QsCi0JMHgwMTgwNDIsIDB4MDAxMUZELCAweDNCODA0QSwgMHgwOTgwNEEsCi0JMHgyMDAwMEEsIDB4MDAwMDk1LCAweDFBMTE0NCwgMHgwMEExNDQsCi0JMHgwRTU4ODYsIDB4MDAwNDBELCAweDAwQjk4NCwgMHgwRTU5ODYsCi0JMHgwMDE4RkQsIDB4MDE4MDQyLCAweDAwMTBGRCwgMHgwOTgwNEEsCi0JMHgyODAwMEEsIDB4MDAwMDk1LCAweDAxMDkyNCwgMHgwMDJBNjQsCi0JMHgwRTQ5ODYsIDB4MDAwMDA3LCAweDAwMjkwNCwgMHgwRTVBODYsCi0JMHgwMDAwMDcsIDB4MEU2MjA2LCAweDA4MDAwMiwgMHgwMDAwOEQsCi0JMHgwMDM4N0QsIDB4MDAwODIwLCAweDAxODA0MCwgMHgwMDEyN0QsCi0JMHgwMTgwNDIsIDB4MTAwMDBBLCAweDAwMzkwNCwgMHgwRjA5ODYsCi0JMHgwMDA4MEQsIDB4N0ZGRkI1LCAweDAwQjk4NCwgMHgwRUQ5ODYsCi0JMHgwMDAwMjUsIDB4MEZCMjA2LCAweDAwMDAyRCwgMHgwMDAwMTUsCi0JMHgwMDA4MkQsIDB4MDJFMDBELCAweDAwMDgyMCwgMHgwRkZBMDYsCi0JMHgwMDAwMEQsIDB4N0Y4MDM1LCAweDAwQjk4NCwgMHgwRkE5ODYsCi0JMHg0MDAwMjUsIDB4MDAwMDhELCAweDExMDk0NCwgMHgwMDAwMDcsCi0JMHgwMDAxOEQsIDB4MTA5NTA0LCAweDAwMDAwNywgMHgwMDkxNjQsCi0JMHgwMDA0MjQsIDB4MDAwNDI0LCAweDAwMDQyNCwgMHgxMDAxMDIsCi0JMHgyODAwMDIsIDB4MDJERjBELCAweDAwMDgyMCwgMHgwRkZBMDYsCi0JMHgwMDAxOEQsIDB4MDAwNDJELCAweDAwMDA4RCwgMHgxMDk1MDQsCi0JMHgwMDAwMDcsIDB4MDAwMjBELCAweDEwOTE4NCwgMHgwMDAwMDcsCi0JMHgwMkRGOEQsIDB4MDAwODIwLCAweDAwMDA4RCwgMHgwMDM4RkQsCi0JMHgwMTgwNDAsIDB4MDAzQkZELCAweDAwMTAyMCwgMHgwM0E4NjAsCi0JMHgwMDA4MTUsIDB4MzEzMTg0LCAweDIxMjE4NCwgMHgwMDAwMDcsCi0JMHgwM0IwNjAsIDB4MDNBMDYwLCAweDAxODA0MCwgMHgwMDIyRkQsCi0JMHgwMDAwOTUsIDB4MDEwOTI0LCAweDAwMDQyNCwgMHgwMDA0MjQsCi0JMHgwMDEyNjQsIDB4MTAwMTAyLCAweDAwMDgyMCwgMHgwMzkwNjAsCi0JMHgwMTgwNDAsIDB4MDAxOTI0LCAweDAxMEYwRCwgMHgwMDM5N0QsCi0JMHgwMDA4MjAsIDB4MDU4MDQwLCAweDAzODA0MiwgMHgwOTg0NEEsCi0JMHgwMDA2MDYsIDB4MDgwNDBBLCAweDAwMDQyNCwgMHgwMDA0MjQsCi0JMHgwMDExN0QsIDB4MDE4MDQyLCAweDA4MDAwQSwgMHgwMDBBMjQsCi0JMHgyODA1MDIsIDB4MjgwQzAyLCAweDA5ODAwRCwgMHgwMDA4MjAsCi0JMHgwMDAyRkQsIDB4MDE4MDQwLCAweDIwMDAwNywgMHgwMDIyRkQsCi0JMHgwMTgwNDIsIDB4MDgwMDBBLCAweDAwMDA5NSwgMHgyODBEQzQsCi0JMHgwMTE5MjQsIDB4MDAxOTdELCAweDAxODA0MiwgMHgwMDExRkQsCi0JMHgwOTgwNEEsIDB4MTAwMDBBLCAweDAwMDBCNSwgMHgxMTMxNDQsCi0JMHgwQThEMDQsIDB4MDAwMDA3LCAweDA4MEE0NCwgMHgxMjk1MDQsCi0JMHgwMDAwMDcsIDB4MDAyM0ZELCAweDAwMTAyMCwgMHgwMzgwNDAsCi0JMHgxMDEyNDQsIDB4MDAwMDA3LCAweDAwMDgyMCwgMHgwMzkwNjAsCi0JMHgwMTgwNDAsIDB4MDAwMkZELCAweDAxODA0MiwgMHgwODAwMEEsCi0JMHgwMDA5MDQsIDB4MTIzMjg2LCAweDAwMDAwNywgMHgwMDNCRkQsCi0JMHgwMDAxMDAsIDB4MDAwQTEwLCAweDBCODA3QSwgMHgxMzgwNEEsCi0JMHgwOTA5ODQsIDB4MDAwMDA3LCAweDAwMDA5NSwgMHgwMTNEMDQsCi0JMHgxMkI4ODYsIDB4MTAwMDBBLCAweDEwMDAwMiwgMHgwOTA5ODQsCi0JMHgwMDAwMDcsIDB4MDM4MDQyLCAweDExODA0QSwgMHgwOTBEMDQsCi0JMHgwMDAwMDcsIDB4MTAwMDBBLCAweDA5MEQ4NCwgMHgwMDAwMDcsCi0JMHgwMDI1N0QsIDB4MDAwODIwLCAweDAxODA0MCwgMHgwMDAxMEQsCi0JMHgwMDA4MTAsIDB4MjgxNDNBLCAweDAwMTI3RCwgMHgwMTgwNDIsCi0JMHgyMDAwMEEsIDB4MDAxOTdELCAweDAxODA0MiwgMHgwMDExN0QsCi0JMHgzMTgwNEEsIDB4MTAwMDBBLCAweDAwMzEyNCwgMHgwMTNCOEQsCi0JMHgwMDM5N0QsIDB4MDAwODIwLCAweDA1ODA0MCwgMHgwMzgwNDIsCi0JMHgwOTg0NEEsIDB4MDAwNjA2LCAweDA4MDQwQSwgMHgzMDAxMDIsCi0JMHgwMDMxMjQsIDB4MDAwNDI0LCAweDAwMDQyNCwgMHgwMDEyMjQsCi0JMHgyODA1MDIsIDB4MDAxQTRDLCAweDE0Mzk4NiwgMHg3MDAwMDIsCi0JMHgwMDAwMkQsIDB4MDMwMDAwLCAweDAwMzg3RCwgMHgwMTgwNDIsCi0JMHgxMDAwMEEsIDB4MTQ2MjA2LCAweDAwMjEyNCwgMHgwMDAwQUQsCi0JMHgxMDAwMDIsIDB4MDAwMTBELCAweDAwMDkyNCwgMHgwMDZCMjQsCi0JMHgwMTRBMEQsIDB4MDAzOTdELCAweDAwMDgyMCwgMHgwNTgwNDAsCi0JMHgwMzgwNDIsIDB4MDk4NDRBLCAweDAwMDYwNiwgMHgwODA0MEEsCi0JMHgwMDMyNjQsIDB4MDAwMDhELCAweDAwMEEyNCwgMHgwMDEwMjAsCi0JMHgwMDIyN0QsIDB4MDE4MDQwLCAweDAxNEY4RCwgMHgwMDA4MTAsCi0JMHgwODA0M0EsIDB4MkI1QTA2LCAweDAwMDAwNywgMHgwMDI4MjAsCi0JMHgwMDIwN0QsIDB4MDE4MDQwLCAweDAwMTE3RCwgMHgwMzgwNDIsCi0JMHgxMzgwNEEsIDB4MzM4MDBBLCAweDAwMzg3RCwgMHgwMTgwNDIsCi0JMHgwODAwMEEsIDB4MDAwOTA0LCAweDE3NzI4NiwgMHgwMDAwMDcsCi0JMHgwMDAwOEQsIDB4MDMwOTY0LCAweDAxNUIwRCwgMHgwMDM5N0QsCi0JMHgwMDA4MjAsIDB4MDU4MDQwLCAweDAzODA0MiwgMHgwOTg0NEEsCi0JMHgwMDA2MDYsIDB4MDgwNDBBLCAweDM4MDEwMiwgMHgwMDA0MjQsCi0JMHgwMDA0MjQsIDB4MDAxMjI0LCAweDAwMDJGRCwgMHgwMTgwNDIsCi0JMHgwODAwMEEsIDB4MDAwOTA0LCAweDE1REE4NiwgMHgwMDAwMDcsCi0JMHgyODA1MDIsIDB4MDAxQTRDLCAweDE3NzE4NiwgMHgwMDAwMDcsCi0JMHgwMzIxNjQsIDB4MDA2MzJDLCAweDAwM0RGRCwgMHgwMTgwNDIsCi0JMHgwODAwMEEsIDB4MDAwMDk1LCAweDA5MDkwNCwgMHgwMDAwMDcsCi0JMHgwMDA4MjAsIDB4MDAxQTRDLCAweDE2OTk4NiwgMHgwMTgwNDAsCi0JMHgwMzAwMDAsIDB4MTZCMjA2LCAweDAwMjEyNCwgMHgwMDAxMEQsCi0JMHgwMDA5MjQsIDB4MDA2QjI0LCAweDAxNkYwRCwgMHgwMDM5N0QsCi0JMHgwMDA4MjAsIDB4MDU4MDQwLCAweDAzODA0MiwgMHgwOTg0NEEsCi0JMHgwMDA2MDYsIDB4MDgwNDBBLCAweDAwM0E2NCwgMHgwMDAwOTUsCi0JMHgwMDEyMjQsIDB4MDAwMkZELCAweDAxODA0MiwgMHgwODAwMEEsCi0JMHgwMDA5MDQsIDB4MTcxMjg2LCAweDAwMDAwNywgMHgwMTc2MEQsCi0JMHgwMDA4MTAsIDB4MDgwNDNBLCAweDJCNUEwNiwgMHgwMDAwMDcsCi0JMHgxNjBBMDYsIDB4MDAwMDA3LCAweDAwNzAyMCwgMHgwODAxMEEsCi0JMHgxMDAxMkEsIDB4MDAyMEZELCAweDAzODg2MCwgMHgwMzkwNjAsCi0JMHgwMTgwNDAsIDB4MDAyMjdELCAweDAxODA0MiwgMHgwMDNERkQsCi0JMHgwODAwMEEsIDB4MzE4NDRBLCAweDAwMDkwNCwgMHgxODEwODYsCi0JMHgxODAwOEIsIDB4MDAwMDhELCAweDE4OTkwNCwgMHgwMDMxMkMsCi0JMHgxOEUyMDYsIDB4MDAwMDA3LCAweDAwMzI0QywgMHgxODZCODYsCi0JMHgwMDAwMDcsIDB4MDAxOTA0LCAweDE4Njg4NiwgMHgwMDAwMDcsCi0JMHgwMDAwOTUsIDB4MTk5MTQ0LCAweDAwMjIyQywgMHgwMDMxMjQsCi0JMHgwMDYzNkMsIDB4MDAwRTNELCAweDAwMTM3NSwgMHgwMDBCRkQsCi0JMHgwMTAwNDIsIDB4MDk4MDRBLCAweDEwMDAwQSwgMHgwMzhBRUMsCi0JMHgwMzkzRUMsIDB4MDAyMjRDLCAweDE4RTE4NiwgMHgwMDAwMDcsCi0JMHgwMDAwOEQsIDB4MTg5OTA0LCAweDAwMjI2QywgMHgwMDMyMkMsCi0JMHgzMDA1MEEsIDB4MzAxREFCLCAweDAwMjA4MywgMHgwMDE4RkQsCi0JMHgwMTgwNDIsIDB4MDgwMDBBLCAweDAxODkyNCwgMHgzMDA1MDIsCi0JMHgwMDEwODMsIDB4MDAxODc1LCAweDAxMDA0MiwgMHgxMDAwMEEsCi0JMHgwMDAwOEQsIDB4MDEwOTI0LCAweDAwMTM3NSwgMHgzMzA1NDIsCi0JMHgzMzBDQ0IsIDB4MzMyQ0NCLCAweDMzMzRDQiwgMHgzMzNDQ0IsCi0JMHgzMzQ0Q0IsIDB4MzM0Q0NCLCAweDMzNTRDQiwgMHgzMDVDOEIsCi0JMHgwMDYwODMsIDB4MDAwMkY1LCAweDAxMDA0MiwgMHgwODAwMEEsCi0JMHgwMDA5MDQsIDB4MTlCMjg2LCAweDAwMDAwNywgMHgwMDFFMkQsCi0JMHgwMDA1RkQsIDB4MDE4MDQyLCAweDA4MDAwQSwgMHgwMjg5MjQsCi0JMHgyODA1MDIsIDB4MDAwNjBELCAweDAwMDgxMCwgMHgyODBDM0EsCi0JMHgwMDAwOEQsIDB4MDAwODEwLCAweDI4MTQzQSwgMHgwQTgwOEQsCi0JMHgwMDA4MjAsIDB4MDAwMkY1LCAweDAxMDA0MCwgMHgyMjAwMDcsCi0JMHgwMDEyNzUsIDB4MDMwMDQyLCAweDIxMDA0QSwgMHgwMDAwOEQsCi0JMHgxQTA5NDQsIDB4MDAwMDA3LCAweDAxQUI4RCwgMHgwMDA4MTAsCi0JMHgwODA0M0EsIDB4MkNBQTA2LCAweDAwMDAwNywgMHgwMDAxRjUsCi0JMHgwMzAwNDIsIDB4MEQwMDRBLCAweDEwMDAwQSwgMHgwODkxNDQsCi0JMHgwMDAwMDcsIDB4MDAwODIwLCAweDAxMDA0MCwgMHgwMDI1RjUsCi0JMHgwQTMxNDQsIDB4MDAwMDA3LCAweDAwMDgyMCwgMHgwMzI4NjAsCi0JMHgwMzAwNDAsIDB4MDAyMTdELCAweDAzODA0MiwgMHgwQjgwNEEsCi0JMHgxMDAwMEEsIDB4MDAwODIwLCAweDAzMTA2MCwgMHgwMzAwNDAsCi0JMHgwMDAwOEQsIDB4MDAwMTI0LCAweDAwMDEyQywgMHgwMDBFNjQsCi0JMHgwMDFBNjQsIDB4MDA2MzZDLCAweDA4MDEwQSwgMHgxMDAxMkEsCi0JMHgwMDA4MjAsIDB4MDMxMDYwLCAweDAzMDA0MCwgMHgwMDIwRkQsCi0JMHgwMTgwNDIsIDB4MDgwMDBBLCAweDAwMjI3RCwgMHgwMTgwNDIsCi0JMHgxMDAwMEEsIDB4MDAwODIwLCAweDAzMTA2MCwgMHgwMzAwNDAsCi0JMHgwMDE5N0QsIDB4MDE4MDQyLCAweDA4MDAwQSwgMHgwMDIyRkQsCi0JMHgwMzgwNDIsIDB4MTAwMDBBLCAweDAwMDgyMCwgMHgwMzEwNjAsCi0JMHgwMzAwNDAsIDB4MDkwRDA0LCAweDAwMDAwNywgMHgwMDA4MjAsCi0JMHgwMzAwNDAsIDB4MDM4MDQyLCAweDBCODA0QSwgMHgxMDAwMEEsCi0JMHgwMDA4MjAsIDB4MDMxMDYwLCAweDAzMDA0MCwgMHgwMzgwNDIsCi0JMHgxMzgwNEEsIDB4MTk4MDRBLCAweDExMEQwNCwgMHgxOThEMDQsCi0JMHgwMDAwMDcsIDB4MDgwMDBBLCAweDAwMTAyMCwgMHgwMzE4NjAsCi0JMHgwMzA4NjAsIDB4MDMwMDQwLCAweDAwMDA4RCwgMHgwQjA5NDQsCi0JMHgwMDAwMDcsIDB4MDAwODIwLCAweDAxMDA0MCwgMHgwMDA1RjUsCi0JMHgwMzAwNDIsIDB4MDgwMDBBLCAweDAwMDgyMCwgMHgwMTAwNDAsCi0JMHgwMDAwRjUsIDB4MDEwMDQyLCAweDA4MDAwQSwgMHgwMDA5MDQsCi0JMHgxRDk4ODYsIDB4MDAxRTc1LCAweDAzMDA0MiwgMHgwMTA0NEEsCi0JMHgwMDBDMEEsIDB4MURBQTA2LCAweDAwMDAwNywgMHgwMDA0MDIsCi0JMHgwMDBDMDIsIDB4MDAxNzdELCAweDAwMUFGNSwgMHgwMTgwNDIsCi0JMHgwMzE0NEEsIDB4MDMxQzRBLCAweDAzMjQ0QSwgMHgwMzJDNEEsCi0JMHgwMzM0NEEsIDB4MDMzQzRBLCAweDAzNDQ0QSwgMHgwMDRDMEEsCi0JMHgwMDA0M0QsIDB4MDAxM0Y1LCAweDAwMUFGRCwgMHgwMzAwNDIsCi0JMHgwQjAwNEEsIDB4MUI4MDRBLCAweDEzODA0QSwgMHgyMDAwMEEsCi0JMHgwODkxNDQsIDB4MTlBMTQ0LCAweDAzODlFNCwgMHgwMzk5RUMsCi0JMHgwMDU1MDIsIDB4MDA1RDBBLCAweDAzMDA0MiwgMHgwQjAwNEEsCi0JMHgxQjgwNEEsIDB4MTM4MDRBLCAweDIwMDAwQSwgMHgwODkxNDQsCi0JMHgxOUExNDQsIDB4MDM4OUU0LCAweDAzOTlFQywgMHgwMDY1MDIsCi0JMHgwMDZEMEEsIDB4MDMwMDQyLCAweDBCMDA0QSwgMHgxOTAwNEEsCi0JMHgyQjgwNEEsIDB4MTM4MDRBLCAweDIxODA0QSwgMHgzMDAwMEEsCi0JMHgwODkxNDQsIDB4MTlBMTQ0LCAweDJBQjE0NCwgMHgwMzg5RTQsCi0JMHgwMzk5RUMsIDB4MDA3NTAyLCAweDAwN0QwQSwgMHgwM0E5RTQsCi0JMHgwMDA3MDIsIDB4MDAxMDdELCAweDAwMDQxNSwgMHgwMTgwNDIsCi0JMHgwODAwMEEsIDB4MDEwOUU0LCAweDAwMEYwMiwgMHgwMDJBRjUsCi0JMHgwMDE5RkQsIDB4MDEwMDQyLCAweDA5ODA0QSwgMHgxMDAwMEEsCi0JMHgwMDA5MzQsIDB4MDAxNjc0LCAweDAwMjlGNSwgMHgwMTAwNDIsCi0JMHgxMDAwMEEsIDB4MDA5MTdDLCAweDAwMjA3NSwgMHgwMTAwNDIsCi0JMHgwODAwMEEsIDB4MDAwOTA0LCAweDIwMEE4NiwgMHgwMDI2RjUsCi0JMHgwMDI3RjUsIDB4MDMwMDQyLCAweDA5MDA0QSwgMHgxMDAwMEEsCi0JMHgwMDBBM0MsIDB4MDAxNjdDLCAweDAwMUE3NSwgMHgwMDBCRkQsCi0JMHgwMTAwNDIsIDB4NTE4MDRBLCAweDQ4MDAwQSwgMHgxNjAwMDcsCi0JMHgwMDEwNzUsIDB4MDEwMDQyLCAweDI4MkMwQSwgMHgyODFEMTIsCi0JMHgyODI1MTIsIDB4MDAxRjMyLCAweDFFMDAwNywgMHgwRTAwMDcsCi0JMHgwMDE5NzUsIDB4MDEwMDQyLCAweDAwMkRGNSwgMHgwRDAwNEEsCi0JMHgxMDAwMEEsIDB4MDA5MTQ0LCAweDIwRUE4NiwgMHgwMTAwNDIsCi0JMHgyODM0MEEsIDB4MDAwRTVELCAweDAwMDA4RCwgMHgwMDAzNzUsCi0JMHgwMDA4MjAsIDB4MDEwMDQwLCAweDA1RDJGNCwgMHg1NEQxMDQsCi0JMHgwMDczNUMsIDB4MjE4Qjg2LCAweDAwMDAwNywgMHgwQzAwMDcsCi0JMHgwODAwMDcsIDB4MEEwMDA3LCAweDAyMTc4RCwgMHgwMDA4MTAsCi0JMHgwODA0M0EsIDB4MzRCMjA2LCAweDAwMDAwNywgMHgyMTkyMDYsCi0JMHgwMDAwMDcsIDB4MDgwMDA3LCAweDAwMjI3NSwgMHgwMTAwNDIsCi0JMHgyMDAwMEEsIDB4MDAyMTA0LCAweDIyNTg4NiwgMHgwMDFFMkQsCi0JMHgwMDAyRjUsIDB4MDEwMDQyLCAweDA4MDAwQSwgMHgwMDA5MDQsCi0JMHgyMUNBODYsIDB4MDAwMDA3LCAweDAwMjAxMCwgMHgzMDA0M0EsCi0JMHgwMDA1N0QsIDB4MDE4MEMzLCAweDA4MDAwQSwgMHgwMjg5MjQsCi0JMHgyODA1MDIsIDB4MjgwQzAyLCAweDBBODEwRCwgMHgwMDA4MjAsCi0JMHgwMDAyRjUsIDB4MDEwMDQwLCAweDIyMDAwNywgMHgwMDA0RkQsCi0JMHgwMTgwNDIsIDB4NzAwMDBBLCAweDAzMDAwMCwgMHgwMDcwMjAsCi0JMHgwN0ZBMDYsIDB4MDE4MDQwLCAweDAyMkI4RCwgMHgwMDA4MTAsCi0JMHgwODA0M0EsIDB4MkNBQTA2LCAweDAwMDAwNywgMHgwMDAyRkQsCi0JMHgwMTgwNDIsIDB4MDgwMDBBLCAweDAwMDkwNCwgMHgyMkMyODYsCi0JMHgwMDAwMDcsIDB4MDIwMjA2LCAweDAwMDAwNywgMHgwMDA4NzUsCi0JMHgwMDA5RkQsIDB4MDAwMTBELCAweDIzNDIwNiwgMHgwMDAyOTUsCi0JMHgwMDBCNzUsIDB4MDAwOTdELCAweDAwMDAwRCwgMHgwMDA1MTUsCi0JMHgwMTAwNDIsIDB4MTgwMDBBLCAweDAwMTkwNCwgMHgyQTAwODYsCi0JMHgwMDA2RjUsIDB4MDAxMDIwLCAweDAxMDA0MCwgMHgwMDA0RjUsCi0JMHgwMDA4MjAsIDB4MDEwMDQwLCAweDAwMDc3NSwgMHgwMTAwNDIsCi0JMHgwOTgwNEEsIDB4MTAwMDBBLCAweDAwMTEyNCwgMHgwMDA5MDQsCi0JMHgyM0YyODYsIDB4MDAwODE1LCAweDA4MDEwMiwgMHgxMDEyMDQsCi0JMHgyNDEyMDYsIDB4MDAwNTc1LCAweDA4MTIwNCwgMHgwMDAwMDcsCi0JMHgxMDAxMDIsIDB4MDAwNTc1LCAweDAwMDQyNSwgMHgwMjExMjQsCi0JMHgxMDAxMDIsIDB4MDAwODIwLCAweDAzMTA2MCwgMHgwMTAwNDAsCi0JMHgwMDE5MjQsIDB4MkEwMDg2LCAweDAwMDA4RCwgMHgwMDA0NjQsCi0JMHgwMDlEMDQsIDB4MjkxMDg2LCAweDE4MDEwMiwgMHgwMDA1NzUsCi0JMHgwMTAwNDIsIDB4MjgwNDBBLCAweDAwMDE4RCwgMHgwMDA5MjQsCi0JMHgyODBEMDIsIDB4MDAwMDBELCAweDAwMDkyNCwgMHgyODE1MDIsCi0JMHgxMDAwMEQsIDB4MDAwODIwLCAweDAwMDJGNSwgMHgwMTAwNDAsCi0JMHgyMDAwMDcsIDB4MDAxMTc1LCAweDAwMDJGRCwgMHgwMTgwNDIsCi0JMHgwODAwMEEsIDB4MDAwOTA0LCAweDI0RkE4NiwgMHgwMDAwMDcsCi0JMHgwMDAxMDAsIDB4MDgwQjIwLCAweDEzMEI2MCwgMHgxQjBCNjAsCi0JMHgwMzBBNjAsIDB4MDEwMDQwLCAweDA1MDA0MiwgMHgzRDAwNEEsCi0JMHgzNTAwNEEsIDB4MkQwMDRBLCAweDIwMDAwQSwgMHgwMDA2RjUsCi0JMHgwMTAwNDIsIDB4MjgxNDBBLCAweDAwMDRGNSwgMHgwMTAwNDIsCi0JMHgwODAwMEEsIDB4MDAwMzE1LCAweDAxMEQwNCwgMHgyNjAyODYsCi0JMHgwMDQwMTUsIDB4MDAwMDk1LCAweDAxMEQwNCwgMHgyNUYwODYsCi0JMHgxMDAwMjIsIDB4MTAwMDJBLCAweDI2MUEwNiwgMHgwMDAwMDcsCi0JMHgzMzMxMDQsIDB4MkFBOTA0LCAweDAwMDAwNywgMHgwMzIxMjQsCi0JMHgyODA1MDIsIDB4Mjg0NDAyLCAweDAwMTEyNCwgMHg0MDAxMDIsCi0JMHgwMDA0MjQsIDB4MDAwNDI0LCAweDAwMzIyNCwgMHgwMDI5MkMsCi0JMHgwMDYzNkMsIDB4Mjc3Mzg2LCAweDAwMDAwNywgMHgwMkIxNjQsCi0JMHgwMDA0NjQsIDB4MDAwNDY0LCAweDAwMDA4RCwgMHgwMDBBNjQsCi0JMHgyODBEMDIsIDB4MTAwMDhELCAweDAwMDgyMCwgMHgwMDAyRjUsCi0JMHgwMTAwNDAsIDB4MjIwMDA3LCAweDAwMDA4RCwgMHgzOEI5MDQsCi0JMHgwMDAwMDcsIDB4MDMyOTZDLCAweDMwMDEwQSwgMHgwMDAyRjUsCi0JMHgwMTAwNDIsIDB4MDgwMDBBLCAweDAwMDkwNCwgMHgyNzAyODYsCi0JMHgwMDAwMDcsIDB4MDAyMTJDLCAweDI4MDUwQSwgMHgwMDMxNkMsCi0JMHgwMDA0NkMsIDB4MDAwNDZDLCAweDI4NDUwQSwgMHgwMDExMjQsCi0JMHgwMDZCNjQsIDB4MTAwMTAyLCAweDAwMDA4RCwgMHgwMTA5NkMsCi0JMHgyODBEMEEsIDB4MTAwMTBELCAweDAwMDgyMCwgMHgwMDAyRjUsCi0JMHgwMTAwNDAsIDB4MjIwMDA3LCAweDAwNDEyNCwgMHgwMDA0MjQsCi0JMHgwMDA0MjQsIDB4MDAzMjI0LCAweDMwMDEwMiwgMHgwMzI5NDQsCi0JMHgyN0ZBODYsIDB4MDAwMDA3LCAweDMwMDAwMiwgMHgwMDA0RjUsCi0JMHgwMTAwNDIsIDB4MDgwMDBBLCAweDAwMDMxNSwgMHgwMTBEMDQsCi0JMHgyODQwODYsIDB4MDAzMTI0LCAweDAwMDQ2NCwgMHgzMDAxMDIsCi0JMHgwMDAyRjUsIDB4MDEwMDQyLCAweDA4MDAwQSwgMHgwMDA5MDQsCi0JMHgyODRBODYsIDB4MDAwMDA3LCAweDI4NDQwMiwgMHgwMDMxMjQsCi0JMHgzMDA1MDIsIDB4MDAzOTI0LCAweDMwMDU4MywgMHgwMDA4ODMsCi0JMHgwMDA1RjUsIDB4MDEwMDQyLCAweDI4MDQwQSwgMHgwMDAwOEQsCi0JMHgwMDgxMjQsIDB4MjgwRDAyLCAweDAwMDA4RCwgMHgwMDgxMjQsCi0JMHgyODE1MDIsIDB4MTAwMThELCAweDAwMDgyMCwgMHgwMDAyRjUsCi0JMHgwMTAwNDAsIDB4MjIwMDA3LCAweDAwMTAyNSwgMHgwMDA1NzUsCi0JMHgwMzAwNDIsIDB4MDkwMDRBLCAweDEwMDAwQSwgMHgwQTA5MDQsCi0JMHgxMjExMDQsIDB4MDAwMDA3LCAweDAwMTAyMCwgMHgwNTA4NjAsCi0JMHgwNTAwNDAsIDB4MDAwNkZELCAweDAxODA0MiwgMHgwOTAwNEEsCi0JMHgxMDAwMEEsIDB4MDAwMEE1LCAweDBBMDkwNCwgMHgxMjExMDQsCi0JMHgwMDAwMDcsIDB4MDAwODIwLCAweDAxOTA2MCwgMHgwMTAwNDAsCi0JMHgwMDAyRjUsIDB4MDEwMDQyLCAweDA4MDAwQSwgMHgwMDA5MDQsCi0JMHgyOUNBODYsIDB4MDAwMDA3LCAweDI0NDIwNiwgMHgwMDAwMDcsCi0JMHgwMDA2MDYsIDB4MDAwMDA3LCAweDAwMDJGNSwgMHgwMTAwNDIsCi0JMHgwODAwMEEsIDB4MDAwOTA0LCAweDJBMUE4NiwgMHgwMDAwMDcsCi0JMHgwMDAxMDAsIDB4MDgwQjIwLCAweDEzOEI2MCwgMHgxQjhCNjAsCi0JMHgyMzhCNjAsIDB4MkI4QjYwLCAweDMzOEI2MCwgMHgzQjhCNjAsCi0JMHg0MzhCNjAsIDB4NEI4QjYwLCAweDUzOEI2MCwgMHg1QjhCNjAsCi0JMHg2MzhCNjAsIDB4NkI4QjYwLCAweDczOEI2MCwgMHg3QjhCNjAsCi0JMHgwMzhGNjAsIDB4MEI4RjYwLCAweDEzOEY2MCwgMHgxQjhGNjAsCi0JMHgyMzhGNjAsIDB4MkI4RjYwLCAweDMzOEY2MCwgMHgzQjhGNjAsCi0JMHg0MzhGNjAsIDB4NEI4RjYwLCAweDUzOEY2MCwgMHg1QjhGNjAsCi0JMHg2MzhGNjAsIDB4NkI4RjYwLCAweDczOEY2MCwgMHg3QjhGNjAsCi0JMHgwMzhBNjAsIDB4MDAwNjA2LCAweDAxODA0MCwgMHgwMDAwOEQsCi0JMHgwMDBBNjQsIDB4MjgwRDAyLCAweDAwMEEyNCwgMHgwMDAyN0QsCi0JMHgwMTgwNDIsIDB4MTAwMDBBLCAweDAwMTIyNCwgMHgwMDAzRkQsCi0JMHgwMTgwNDIsIDB4MDgwMDBBLCAweDAwMDkwNCwgMHgyQzBBODYsCi0JMHgwMDAwMDcsIDB4MDAwMThELCAweDAwMEEyNCwgMHgwMDA0NjQsCi0JMHgwMDA0NjQsIDB4MDgwMTAyLCAweDAwMDkyNCwgMHgwMDA0MjQsCi0JMHgwMDA0MjQsIDB4MTAwMTAyLCAweDAyMDAwRCwgMHgwMDkxNDQsCi0JMHgyQzYxODYsIDB4MDAwMDA3LCAweDAwMDFGRCwgMHgwMTgwNDIsCi0JMHgwODAwMEEsIDB4MDAwQTQ0LCAweDJDNDM4NiwgMHgwMTgwNDIsCi0JMHgwQTAwMEQsIDB4MDAwODIwLCAweDAwMDJGRCwgMHgwMTgwNDAsCi0JMHgyMDAwMDcsIDB4MDAwMjdELCAweDAwMTAyMCwgMHgwMDA2MDYsCi0JMHgwMTgwNDAsIDB4MDAwMkY1LCAweDAxMDA0MiwgMHgwODAwMEEsCi0JMHgwMDA5MDQsIDB4MkNCMjg2LCAweDAwMDAwNywgMHgwMDAzN0QsCi0JMHgwMTgwNDIsIDB4MDgwMDBBLCAweDAwMDkwNCwgMHgyQ0UyODYsCi0JMHgwMDAwMDcsIDB4MDAwMDc1LCAweDAwMkU3RCwgMHgwMTAwNDIsCi0JMHgwQjgwNEEsIDB4MDAwMDIwLCAweDAwMDkwNCwgMHgwMDA2ODYsCi0JMHgwMTAwNDAsIDB4MzE4NDRBLCAweDMwMDQ4QiwgMHgwMDA4ODMsCi0JMHgwMDAwOEQsIDB4MDAwODEwLCAweDI4MTQzQSwgMHgwMDAwOEQsCi0JMHgwMDA4MTAsIDB4MjgwQzNBLCAweDAwMDY3NSwgMHgwMTAwNDIsCi0JMHgwODAwMEEsIDB4MDAzODE1LCAweDAxMDkyNCwgMHgyODA1MDIsCi0JMHgwQjAwMEQsIDB4MDAwODIwLCAweDAwMDJGNSwgMHgwMTAwNDAsCi0JMHgwMDA2MDYsIDB4MjIwMDA3LCAweDAwMDQ2NCwgMHgwMDA0NjQsCi0JMHgwMDA2MDYsIDB4MDAwMDA3LCAweDAwMDEzNCwgMHgwMDdGOEQsCi0JMHgwMDA5M0MsIDB4MjgxRDEyLCAweDI4MjUxMiwgMHgwMDFGMzIsCi0JMHgwRTAwMDcsIDB4MDAwMTBELCAweDAwMDM3RCwgMHgwMDA4MjAsCi0JMHgwMTgwNDAsIDB4MDVEMkY0LCAweDAwMDAwNywgMHgwODAwMDcsCi0JMHgwMDAzN0QsIDB4MDE4MDQyLCAweDA4MDAwQSwgMHgwMDA5MDQsCi0JMHgyRThBODYsIDB4MDAwMDA3LCAweDAwMDYwNiwgMHgwMDAwMDcsCi0JMHgwMDAwMDcsIDB4MDAwMDEyLCAweDEwMDAwNywgMHgzMjAwMDcsCi0JMHg2MDAwMDcsIDB4NDYwMDA3LCAweDEwMDA4MCwgMHg0ODAwMUEsCi0JMHgwMDQ5MDQsIDB4MkVGMTg2LCAweDAwMDAwNywgMHgwMDEyMTAsCi0JMHg1ODAwM0EsIDB4MDAwMTQ1LCAweDVDNUQwNCwgMHgwMDAwMDcsCi0JMHgwMDAwODAsIDB4NDgwMDFBLCAweDAwNDkwNCwgMHgyRjQxODYsCi0JMHgwMDAwMDcsIDB4MDAxMjEwLCAweDUwMDAzQSwgMHgwMDU5MDQsCi0JMHgyRjk4ODYsIDB4MDAwMDQ1LCAweDAwMDBDNSwgMHg3RkZGRjUsCi0JMHg3RkZGN0QsIDB4MDdENTI0LCAweDAwNDIyNCwgMHg1MDAxMDIsCi0JMHgyMDA1MDIsIDB4MDAwMDgyLCAweDQwMDAxQSwgMHgwMDQxMDQsCi0JMHgyRkM5ODYsIDB4MDAwMDA3LCAweDAwMzg2NSwgMHg0MDAwMUEsCi0JMHgwMDQwMjAsIDB4MDAxMDRELCAweDA0QzE4NCwgMHgzMUFCODYsCi0JMHgwMDAwNDAsIDB4MDQwMDA3LCAweDAwMDE2NSwgMHgwMDAxNDUsCi0JMHgwMDQwMjAsIDB4MDAwMDQwLCAweDAwMDc2NSwgMHgwODAwODAsCi0JMHg0MDAwMUEsIDB4MDA0MTA0LCAweDMwNTk4NiwgMHgwMDAwMDcsCi0JMHgwMDEyMTAsIDB4NDAwMDNBLCAweDAwNDEwNCwgMHgzMEIyODYsCi0JMHgwMDAwNEQsIDB4MDAwMENELCAweDAwNDgxMCwgMHgyMDA0M0EsCi0JMHgwMDA4ODIsIDB4NDAwMDFBLCAweDAwNDEwNCwgMHgzMEMxODYsCi0JMHgwMDAwMDcsIDB4MDA0ODIwLCAweDAwNTkwNCwgMHgzMTk4ODYsCi0JMHgwMDAwNDAsIDB4MDAwN0U1LCAweDIwMDQ4MCwgMHgyODE2QTAsCi0JMHgzMjE2RTAsIDB4M0ExNkUwLCAweDQyMTZFMCwgMHgwMjEyNjAsCi0JMHgwMDAwNDAsIDB4MDAwMDMyLCAweDQwMDA3NSwgMHgwMDAwN0QsCi0JMHgwN0Q1NzQsIDB4MjAwNTEyLCAweDAwMDA4MiwgMHg0MDAwMUEsCi0JMHgwMDQxMDQsIDB4MzE3MTg2LCAweDAwMDAwNywgMHgwMzhBMDYsCi0JMHg2NDAwMDcsIDB4MDAwMEU1LCAweDAwMDAyMCwgMHgwMDAwNDAsCi0JMHgwMDBBNjUsIDB4MDAwMDIwLCAweDAyMDA0MCwgMHgwMjAwNDAsCi0JMHgwMDAwNDAsIDB4MDAwMTY1LCAweDAwMDA0MiwgMHg3MDAwMEEsCi0JMHgwMDcxMDQsIDB4MzIzMjg2LCAweDAwMDAwNywgMHgwNjAwMDcsCi0JMHgwMTlBMDYsIDB4NjQwMDA3LCAweDA1MDAwMCwgMHgwMDcwMjAsCi0JMHgwMDAwNDAsIDB4MDM4QTA2LCAweDY0MDAwNywgMHgwMDAwMDcsCi0JMHgwMDMwNkQsIDB4MDI4ODYwLCAweDAyOTA2MCwgMHgwODAwMEEsCi0JMHgwMjg4NjAsIDB4MDA4MDQwLCAweDEwMDAxMiwgMHgwMDEwMEQsCi0JMHgwMDkxODQsIDB4MzJEMTg2LCAweDAwMEUwRCwgMHgwMDkxODQsCi0JMHgzM0UxODYsIDB4MDAwMDA3LCAweDMwMDAwNywgMHgwMDEwMjAsCi0JMHgwMDNCNkQsIDB4MDA4MDQwLCAweDAwMDA4MCwgMHgwODAwMUEsCi0JMHgwMDA5MDQsIDB4MzJGMTg2LCAweDAwMDAwNywgMHgwMDEyMjAsCi0JMHgwMDBERUQsIDB4MDA4MDQwLCAweDAwODA0MiwgMHgxMDAwMEEsCi0JMHg0MDAwMEQsIDB4MTA5NTQ0LCAweDAwMDAwNywgMHgwMDEwMjAsCi0JMHgwMDBERUQsIDB4MDA4MDQwLCAweDAwODA0MiwgMHgyMDA0MEEsCi0JMHgwMDAwODIsIDB4MDgwMDFBLCAweDAwMDkwNCwgMHgzMzgxODYsCi0JMHgwMDAwMDcsIDB4MDAzQjZELCAweDAwODA0MiwgMHgwODAwMEEsCi0JMHgwMDBFMTUsIDB4MDEwOTg0LCAweDM0MkI4NiwgMHg2MDAwMDcsCi0JMHgwODAwMUEsIDB4MDAwQzE1LCAweDAxMDk4NCwgMHgzNDEzODYsCi0JMHgwMDAwMjAsIDB4MUEwMDA3LCAweDAwMDJFRCwgMHgwMDgwNDAsCi0JMHg2MjAwMDcsIDB4MDAzMDZELCAweDAyODA0MiwgMHgwQTgwNEEsCi0JMHgwMDA4MjAsIDB4MEE4MDRBLCAweDAwMDYwNiwgMHgxMDgwNEEsCi0JMHgwMDAwMDcsIDB4MjgyNTEyLCAweDAwMUYzMiwgMHgwNUQyRjQsCi0JMHg1NEQxMDQsIDB4MDA3MzVDLCAweDAwMDc4NiwgMHgwMDAwMDcsCi0JMHgwQzAwMDcsIDB4MEEwMDA3LCAweDFDMDAwNywgMHgwMDM0NjUsCi0JMHgwMjAwNDAsIDB4MDA0ODIwLCAweDAyNTA2MCwgMHg0MDAwMEEsCi0JMHgwMjQwNjAsIDB4MDAwMDQwLCAweDQ1NDk0NCwgMHgwMDAwMDcsCi0JMHgwMDQwMjAsIDB4MDAzQUU1LCAweDAwMDA0MCwgMHgwMDI4RTUsCi0JMHgwMDAwNDIsIDB4NDgwMDBBLCAweDAwNDkwNCwgMHgzOUY4ODYsCi0JMHgwMDJDNjUsIDB4MDAwMDQyLCAweDQwMDAwQSwgMHgwMDAwRDUsCi0JMHg0NTQxMDQsIDB4MDAwMDA3LCAweDAwMDY1NSwgMHgwNTQ1MDQsCi0JMHgzNjgyODYsIDB4MDAwMUQ1LCAweDA1NDUwNCwgMHgzNjgwODYsCi0JMHgwMDJCNjUsIDB4MDAwMDQyLCAweDAwM0FFNSwgMHg1MDAwNEEsCi0JMHg0MDAwMEEsIDB4NDVDM0Q0LCAweDAwMDAwNywgMHg0NTQ1MDQsCi0JMHgwMDAwMDcsIDB4MDAwMENELCAweDQ0NDk0NCwgMHgwMDAwMDcsCi0JMHg0NTQ1MDQsIDB4MDAwMDA3LCAweDAwMDE0RCwgMHg1NTQ5NDQsCi0JMHgwMDAwMDcsIDB4MDQ1MTQ0LCAweDM2Nzk4NiwgMHgwMDJDNjUsCi0JMHgwMDAwNDIsIDB4NDgwMDBBLCAweDRDRDEwNCwgMHgwMDAwMDcsCi0JMHgwNEMxNDQsIDB4MzY4Mzg2LCAweDAwMDAwNywgMHgxNjAwMDcsCi0JMHgwMDJDRTUsIDB4MDQwMDQyLCAweDQwMDAwQSwgMHgwMDQwMjAsCi0JMHgwMDAwNDAsIDB4MDAyOTY1LCAweDAwMDA0MiwgMHg0MDAwMEEsCi0JMHgwMDQxMDQsIDB4MzZGMDg2LCAweDAwMDAwNywgMHgwMDI0MDIsCi0JMHgzODMyMDYsIDB4MDA1QzAyLCAweDAwMjVFNSwgMHgwMDAwNDIsCi0JMHg0MDAwMEEsIDB4MDA0Mjc0LCAweDAwMkFFNSwgMHgwMDAwNDIsCi0JMHg0MDAwMEEsIDB4MDA0Mjc0LCAweDUwMDExMiwgMHgwMDI5RTUsCi0JMHgwMDAwNDIsIDB4NDAwMDBBLCAweDAwNDIzNCwgMHg0NTQxMDQsCi0JMHgwMDAwMDcsIDB4MDA0MDIwLCAweDAwMDA0MCwgMHgwMDNFRTUsCi0JMHgwMDAwMjAsIDB4MDAwMDQwLCAweDAwMkRFNSwgMHg0MDAxNTIsCi0JMHg1MDAwMEEsIDB4MDQ1MTQ0LCAweDM3REE4NiwgMHgwMDAwQzUsCi0JMHgwMDNFRTUsIDB4MDA0MDIwLCAweDAwMDA0MCwgMHgwMDJCRTUsCi0JMHgwMDAwNDIsIDB4NDAwMDBBLCAweDQwNDI1NCwgMHgwMDAwMDcsCi0JMHgwMDJBRTUsIDB4MDA0MDIwLCAweDAwMDA0MCwgMHg1MDAxMzIsCi0JMHgwNDAxMzQsIDB4MDA1Njc0LCAweDAwMjlFNSwgMHgwMjAwNDIsCi0JMHg0MjAwMEEsIDB4MDAwMDQyLCAweDUwMDAwQSwgMHgwNTQxN0MsCi0JMHgwMDI4RTUsIDB4MDAwMDQyLCAweDQ4MDAwQSwgMHgwMDAwQzUsCi0JMHg0Q0MxNDQsIDB4MzhBMDg2LCAweDAwMjZFNSwgMHgwMDI3RTUsCi0JMHgwMjAwNDIsIDB4NDAwMDRBLCAweDUwMDAwQSwgMHgwMDQyM0MsCi0JMHgwMDU2N0MsIDB4MDAyOEU1LCAweDAwNDgyMCwgMHgwMDAwNDAsCi0JMHgyODFEMTIsIDB4MjgyNTEyLCAweDAwMUY3MiwgMHgwMDI5NjUsCi0JMHgwMDAwNDIsIDB4NDAwMDBBLCAweDAwNDEwNCwgMHgzOTNBODYsCi0JMHgwRTAwMDcsIDB4MTYwMDA3LCAweDFFMDAwNywgMHgwMDNFRTUsCi0JMHgwMDAwNDIsIDB4NDAwMDBBLCAweDAwNDEwNCwgMHgzOTc4ODYsCi0JMHgwMDJENjUsIDB4MDAwMDQyLCAweDI4MzQwQSwgMHgwMDM0NjUsCi0JMHgwMjAwNDIsIDB4NDIwMDRBLCAweDAwNDAyMCwgMHg0QTAwNEEsCi0JMHg1MDAwNEEsIDB4MDVEMkY0LCAweDU0RDEwNCwgMHgwMDczNUMsCi0JMHgzOUUxODYsIDB4MDAwMDA3LCAweDAwMDYwNiwgMHgwODAwMDcsCi0JMHgwQzAwMDcsIDB4MDgwMDA3LCAweDBBMDAwNywgMHgwMDAxRTUsCi0JMHgwMjAwNDUsIDB4MDA0MDIwLCAweDAwMDA2MCwgMHgwMDAzNjUsCi0JMHgwMDAwNDAsIDB4MDAyRTY1LCAweDAwMUEyMCwgMHgwQTFBNjAsCi0JMHgwMDAwNDAsIDB4MDAzNDY1LCAweDAyMDA0MiwgMHg0MjAwNEEsCi0JMHgwMDQwMjAsIDB4NEEwMDRBLCAweDAwMDYwNiwgMHg1MDAwNEEsCi0JMHgwMDE3RkQsIDB4MDE4MDQyLCAweDA4MDAwQSwgMHgwMDA5MDQsCi0JMHgyMjVBODYsIDB4MDAwMDA3LCAweDAwMTA3RCwgMHgwMTgwNDIsCi0JMHgwMDExRkQsIDB4MzM4MDRBLCAweDE5ODA0QSwgMHgyMDAwMEEsCi0JMHgwMDAwOTUsIDB4MkExMTQ0LCAweDAxQTE0NCwgMHgzQjkwODYsCi0JMHgwMDA0MEQsIDB4MDBCMTg0LCAweDNCOTE4NiwgMHgwMDE4RkQsCi0JMHgwMTgwNDIsIDB4MDAxMEZELCAweDA5ODA0QSwgMHgzODAwMEEsCi0JMHgwMDAwOTUsIDB4MDEwOTI0LCAweDAwM0E2NCwgMHgzQjgxODYsCi0JMHgwMDAwMDcsIDB4MDAzOTA0LCAweDNCOTI4NiwgMHgwMDAwMDcsCi0JMHgzQjlBMDYsIDB4MDAwMDBELCAweDAwMDA4RCwgMHgwMDA4MjAsCi0JMHgwMDM4N0QsIDB4MDE4MDQwLCAweDcwMDAwMiwgMHgwMDExN0QsCi0JMHgwMTgwNDIsIDB4MDAxOTdELCAweDI5ODA0QSwgMHgzMDAwMEEsCi0JMHgzODAwMDIsIDB4MDAzMTI0LCAweDAwMDQyNCwgMHgwMDA0MjQsCi0JMHgwMDJBMjQsIDB4MjgwNTAyLCAweDAwMDY4RCwgMHgwMDA4MTAsCi0JMHgyODE0M0EsIDB4MDA3NTBELCAweDAwQjEyNCwgMHgwMDIyNjQsCi0JMHgzRDAzODYsIDB4Mjg0NDAyLCAweDAwMDgxMCwgMHgyODBDM0EsCi0JMHgwQjgwMEQsIDB4MDAwODIwLCAweDAwMDJGRCwgMHgwMTgwNDAsCi0JMHgyMDAwMDcsIDB4MDA3NThELCAweDAwQjEyNCwgMHgxMDAxMDIsCi0JMHgwMTIxNDQsIDB4M0U0OTg2LCAweDAwMTgxMCwgMHgxMDAwM0EsCi0JMHgwMDM4N0QsIDB4MDE4MDQyLCAweDA4MDAwQSwgMHgwMDA5MDQsCi0JMHgzRTQ4ODYsIDB4MDMwMDAwLCAweDNFNEEwNiwgMHgwMDAwQkQsCi0JMHgwMDAwOEQsIDB4MDIzMTY0LCAweDAwMEE2NCwgMHgyODBEMDIsCi0JMHgwQjgwOEQsIDB4MDAwODIwLCAweDAwMDJGRCwgMHgwMTgwNDAsCi0JMHgyMDAwMDcsIDB4MDAzODdELCAweDAxODA0MiwgMHgwODAwMEEsCi0JMHgwMDA5MDQsIDB4M0UzMjg2LCAweDAzMDAwMCwgMHgwMDAyRkQsCi0JMHgwMTgwNDIsIDB4MDgwMDBBLCAweDAwMDkwNCwgMHgzRDgyODYsCi0JMHgwMDAwMDcsIDB4MDAyODEwLCAweDI4MDQzQSwgMHgwMDc1MEQsCi0JMHgwMzA5MjQsIDB4MDAyMjY0LCAweDI4MEQwMiwgMHgwMjMxNkMsCi0JMHgyODQ1MEEsIDB4MEI4MTBELCAweDAwMDgyMCwgMHgwMDAyRkQsCi0JMHgwMTgwNDAsIDB4MjAwMDA3LCAweDAwMDA4RCwgMHgwMDBBMjQsCi0JMHgzRTRBMDYsIDB4MTAwMTAyLCAweDAwMTgxMCwgMHgxMDAwM0EsCi0JMHgwMDAwQkQsIDB4MDAzODEwLCAweDMwMDQzQSwgMHgwMDE4N0QsCi0JMHgwMTgwNDIsIDB4MDAxOEZELCAweDA5ODA0QSwgMHgyMDAwMEEsCi0JMHgwMDAwQUQsIDB4MDI4OTI0LCAweDA3MjEyQywgMHgwMDEwMTAsCi0JMHgzMDA1ODMsIDB4MzAwRDhCLCAweDMwMTRCQiwgMHgzMDFDODMsCi0JMHgwMDIwODMsIDB4MDAxMzdELCAweDAzODA0MiwgMHgzMzg0NEEsCi0JMHgzM0FDQ0IsIDB4MzNCNENCLCAweDMzQkNDQiwgMHgzM0M0Q0IsCi0JMHgzM0NDQ0IsIDB4MzNENENCLCAweDMwNUM4QiwgMHgwMDYwODMsCi0JMHgwMDFFMEQsIDB4MDAwNUZELCAweDAxODA0MiwgMHgyMDAwMEEsCi0JMHgwMjA5MjQsIDB4MDAwNjhELCAweDAwQTk2QywgMHgwMDAwOUQsCi0JMHgwMDAyRkQsIDB4MDE4MDQyLCAweDA4MDAwQSwgMHgwMDA5MDQsCi0JMHgzRjZBODYsIDB4MDAwMDA3LCAweDI4MDUwMiwgMHgyODBEMEEsCi0JMHgyODQ0MDIsIDB4MDAxODEwLCAweDI4MTQzQSwgMHgwQzAwOEQsCi0JMHgwMDA4MjAsIDB4MDAwMkZELCAweDAxODA0MCwgMHgyMjAwMDcsCi0JMHgwMDM5MDQsIDB4MjI1ODg2LCAweDAwMUUwRCwgMHgwMDA1N0QsCi0JMHgwMTgwNDIsIDB4MjAwMDBBLCAweDAyMDkyNCwgMHgwMDAwQTUsCi0JMHgwMDAyRkQsIDB4MDE4MDQyLCAweDA4MDAwQSwgMHgwMDA5MDQsCi0JMHg0MDJBODYsIDB4MDAwMDA3LCAweDI4MDUwMiwgMHgyODBDMDIsCi0JMHgwMDIwMTAsIDB4MjgxNDNBLCAweDBDMDEwRCwgMHgwMDA4MjAsCi0JMHgwMDAyRkQsIDB4MDE4MDQwLCAweDIyNUEwNiwgMHgyMjAwMDcsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAKLX07Ci0KLSNlbmRpZgkvL19IV01DT0RFXwpkaWZmIC0tZ2l0IGEvc291bmQvcGNpL3ltZnBjaS95bWZwY2lfbWFpbi5jIGIvc291bmQvcGNpL3ltZnBjaS95bWZwY2lfbWFpbi5jCmluZGV4IDI5YjMwNTYuLjkyZDQ5YWEgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS95bWZwY2kveW1mcGNpX21haW4uYworKysgYi9zb3VuZC9wY2kveW1mcGNpL3ltZnBjaV9tYWluLmMKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KICNpbmNsdWRlIDxsaW51eC92bWFsbG9jLmg+CisjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KIAogI2luY2x1ZGUgPHNvdW5kL2NvcmUuaD4KICNpbmNsdWRlIDxzb3VuZC9jb250cm9sLmg+CkBAIC0xOTkzLDU1ICsxOTk0LDYgQEAKIAl9CiB9CiAKLSNpZmRlZiBDT05GSUdfU05EX1lNRlBDSV9GSVJNV0FSRV9JTl9LRVJORUwKLQotI2luY2x1ZGUgInltZnBjaV9pbWFnZS5oIgotCi1zdGF0aWMgc3RydWN0IGZpcm13YXJlIHNuZF95bWZwY2lfZHNwX21pY3JvY29kZSA9IHsKLQkuc2l6ZSA9IFlEU1hHX0RTUExFTkdUSCwKLQkuZGF0YSA9ICh1OCAqKURzcEluc3QsCi19Owotc3RhdGljIHN0cnVjdCBmaXJtd2FyZSBzbmRfeW1mcGNpX2NvbnRyb2xsZXJfbWljcm9jb2RlID0gewotCS5zaXplID0gWURTWEdfQ1RSTExFTkdUSCwKLQkuZGF0YSA9ICh1OCAqKUNudHJsSW5zdCwKLX07Ci1zdGF0aWMgc3RydWN0IGZpcm13YXJlIHNuZF95bWZwY2lfY29udHJvbGxlcl8xZV9taWNyb2NvZGUgPSB7Ci0JLnNpemUgPSBZRFNYR19DVFJMTEVOR1RILAotCS5kYXRhID0gKHU4ICopQ250cmxJbnN0MUUsCi19OwotI2VuZGlmCi0KLSNpZmRlZiBDT05GSUdfU05EX1lNRlBDSV9GSVJNV0FSRV9JTl9LRVJORUwKLXN0YXRpYyBpbnQgc25kX3ltZnBjaV9yZXF1ZXN0X2Zpcm13YXJlKHN0cnVjdCBzbmRfeW1mcGNpICpjaGlwKQotewotCWNoaXAtPmRzcF9taWNyb2NvZGUgPSAmc25kX3ltZnBjaV9kc3BfbWljcm9jb2RlOwotCWlmIChjaGlwLT5kZXZpY2VfaWQgPT0gUENJX0RFVklDRV9JRF9ZQU1BSEFfNzI0RiB8fAotCSAgICBjaGlwLT5kZXZpY2VfaWQgPT0gUENJX0RFVklDRV9JRF9ZQU1BSEFfNzQwQyB8fAotCSAgICBjaGlwLT5kZXZpY2VfaWQgPT0gUENJX0RFVklDRV9JRF9ZQU1BSEFfNzQ0IHx8Ci0JICAgIGNoaXAtPmRldmljZV9pZCA9PSBQQ0lfREVWSUNFX0lEX1lBTUFIQV83NTQpCi0JCWNoaXAtPmNvbnRyb2xsZXJfbWljcm9jb2RlID0KLQkJCSZzbmRfeW1mcGNpX2NvbnRyb2xsZXJfMWVfbWljcm9jb2RlOwotCWVsc2UKLQkJY2hpcC0+Y29udHJvbGxlcl9taWNyb2NvZGUgPQotCQkJJnNuZF95bWZwY2lfY29udHJvbGxlcl9taWNyb2NvZGU7Ci0JcmV0dXJuIDA7Ci19Ci0KLSNlbHNlIC8qIHVzZSBmd19sb2FkZXIgKi8KLQotI2lmZGVmIF9fTElUVExFX0VORElBTgotc3RhdGljIGlubGluZSB2b2lkIHNuZF95bWZwY2lfY29udmVydF9mcm9tX2xlKGNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZncpIHsgfQotI2Vsc2UKLXN0YXRpYyB2b2lkIHNuZF95bWZwY2lfY29udmVydF9mcm9tX2xlKGNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZncpCi17Ci0JaW50IGk7Ci0JdTMyICpkYXRhID0gKHUzMiAqKWZ3LT5kYXRhOwotCi0JZm9yIChpID0gMDsgaSA8IGZ3LT5zaXplIC8gNDsgKytpKQotCQlsZTMyX3RvX2NwdXMoJmRhdGFbaV0pOwotfQotI2VuZGlmCi0KIHN0YXRpYyBpbnQgc25kX3ltZnBjaV9yZXF1ZXN0X2Zpcm13YXJlKHN0cnVjdCBzbmRfeW1mcGNpICpjaGlwKQogewogCWludCBlcnIsIGlzXzFlOwpAQCAtMjA1MCw5ICsyMDAyLDcgQEAKIAllcnIgPSByZXF1ZXN0X2Zpcm13YXJlKCZjaGlwLT5kc3BfbWljcm9jb2RlLCAieWFtYWhhL2RzMV9kc3AuZnciLAogCQkJICAgICAgICZjaGlwLT5wY2ktPmRldik7CiAJaWYgKGVyciA+PSAwKSB7Ci0JCWlmIChjaGlwLT5kc3BfbWljcm9jb2RlLT5zaXplID09IFlEU1hHX0RTUExFTkdUSCkKLQkJCXNuZF95bWZwY2lfY29udmVydF9mcm9tX2xlKGNoaXAtPmRzcF9taWNyb2NvZGUpOwotCQllbHNlIHsKKwkJaWYgKGNoaXAtPmRzcF9taWNyb2NvZGUtPnNpemUgIT0gWURTWEdfRFNQTEVOR1RIKSB7CiAJCQlzbmRfcHJpbnRrKEtFUk5fRVJSICJEU1AgbWljcm9jb2RlIGhhcyB3cm9uZyBzaXplXG4iKTsKIAkJCWVyciA9IC1FSU5WQUw7CiAJCX0KQEAgLTIwNjcsOSArMjAxNyw3IEBACiAJZXJyID0gcmVxdWVzdF9maXJtd2FyZSgmY2hpcC0+Y29udHJvbGxlcl9taWNyb2NvZGUsIG5hbWUsCiAJCQkgICAgICAgJmNoaXAtPnBjaS0+ZGV2KTsKIAlpZiAoZXJyID49IDApIHsKLQkJaWYgKGNoaXAtPmNvbnRyb2xsZXJfbWljcm9jb2RlLT5zaXplID09IFlEU1hHX0NUUkxMRU5HVEgpCi0JCQlzbmRfeW1mcGNpX2NvbnZlcnRfZnJvbV9sZShjaGlwLT5jb250cm9sbGVyX21pY3JvY29kZSk7Ci0JCWVsc2UgeworCQlpZiAoY2hpcC0+Y29udHJvbGxlcl9taWNyb2NvZGUtPnNpemUgIT0gWURTWEdfQ1RSTExFTkdUSCkgewogCQkJc25kX3ByaW50ayhLRVJOX0VSUiAiY29udHJvbGxlciBtaWNyb2NvZGUiCiAJCQkJICAgIiBoYXMgd3Jvbmcgc2l6ZVxuIik7CiAJCQllcnIgPSAtRUlOVkFMOwpAQCAtMjA4NCwxMyArMjAzMiwxMSBAQAogTU9EVUxFX0ZJUk1XQVJFKCJ5YW1haGEvZHMxX2N0cmwuZnciKTsKIE1PRFVMRV9GSVJNV0FSRSgieWFtYWhhL2RzMWVfY3RybC5mdyIpOwogCi0jZW5kaWYKLQogc3RhdGljIHZvaWQgc25kX3ltZnBjaV9kb3dubG9hZF9pbWFnZShzdHJ1Y3Qgc25kX3ltZnBjaSAqY2hpcCkKIHsKIAlpbnQgaTsKIAl1MTYgY3RybDsKLQl1MzIgKmluc3Q7CisJY29uc3QgX19sZTMyICppbnN0OwogCiAJc25kX3ltZnBjaV93cml0ZWwoY2hpcCwgWURTWEdSX05BVElWRURBQ09VVFZPTCwgMHgwMDAwMDAwMCk7CiAJc25kX3ltZnBjaV9kaXNhYmxlX2RzcChjaGlwKTsKQEAgLTIxMDUsMTQgKzIwNTEsMTYgQEAKIAlzbmRfeW1mcGNpX3dyaXRldyhjaGlwLCBZRFNYR1JfR0xPQkFMQ1RSTCwgY3RybCAmIH4weDAwMDcpOwogCiAJLyogc2V0dXAgRFNQIGluc3RydWN0aW9uIGNvZGUgKi8KLQlpbnN0ID0gKHUzMiAqKWNoaXAtPmRzcF9taWNyb2NvZGUtPmRhdGE7CisJaW5zdCA9IChjb25zdCBfX2xlMzIgKiljaGlwLT5kc3BfbWljcm9jb2RlLT5kYXRhOwogCWZvciAoaSA9IDA7IGkgPCBZRFNYR19EU1BMRU5HVEggLyA0OyBpKyspCi0JCXNuZF95bWZwY2lfd3JpdGVsKGNoaXAsIFlEU1hHUl9EU1BJTlNUUkFNICsgKGkgPDwgMiksIGluc3RbaV0pOworCQlzbmRfeW1mcGNpX3dyaXRlbChjaGlwLCBZRFNYR1JfRFNQSU5TVFJBTSArIChpIDw8IDIpLAorCQkJCSAgbGUzMl90b19jcHUoaW5zdFtpXSkpOwogCiAJLyogc2V0dXAgY29udHJvbCBpbnN0cnVjdGlvbiBjb2RlICovCi0JaW5zdCA9ICh1MzIgKiljaGlwLT5jb250cm9sbGVyX21pY3JvY29kZS0+ZGF0YTsKKwlpbnN0ID0gKGNvbnN0IF9fbGUzMiAqKWNoaXAtPmNvbnRyb2xsZXJfbWljcm9jb2RlLT5kYXRhOwogCWZvciAoaSA9IDA7IGkgPCBZRFNYR19DVFJMTEVOR1RIIC8gNDsgaSsrKQotCQlzbmRfeW1mcGNpX3dyaXRlbChjaGlwLCBZRFNYR1JfQ1RSTElOU1RSQU0gKyAoaSA8PCAyKSwgaW5zdFtpXSk7CisJCXNuZF95bWZwY2lfd3JpdGVsKGNoaXAsIFlEU1hHUl9DVFJMSU5TVFJBTSArIChpIDw8IDIpLAorCQkJCSAgbGUzMl90b19jcHUoaW5zdFtpXSkpOwogCiAJc25kX3ltZnBjaV9lbmFibGVfZHNwKGNoaXApOwogfQpAQCAtMjIwNSw2ICsyMTUzLDcgQEAKIAlmb3IgKHJlZyA9IDB4ODA7IHJlZyA8IDB4YzA7IHJlZyArPSA0KQogCQlzbmRfeW1mcGNpX3dyaXRlbChjaGlwLCByZWcsIDApOwogCXNuZF95bWZwY2lfd3JpdGVsKGNoaXAsIFlEU1hHUl9OQVRJVkVEQUNPVVRWT0wsIDB4M2ZmZjNmZmYpOworCXNuZF95bWZwY2lfd3JpdGVsKGNoaXAsIFlEU1hHUl9CVUY0NDFPVVRWT0wsIDB4M2ZmZjNmZmYpOwogCXNuZF95bWZwY2lfd3JpdGVsKGNoaXAsIFlEU1hHUl9aVk9VVFZPTCwgMHgzZmZmM2ZmZik7CiAJc25kX3ltZnBjaV93cml0ZWwoY2hpcCwgWURTWEdSX1NQRElGT1VUVk9MLCAweDNmZmYzZmZmKTsKIAlzbmRfeW1mcGNpX3dyaXRlbChjaGlwLCBZRFNYR1JfTkFUSVZFQURDSU5WT0wsIDB4M2ZmZjNmZmYpOwpAQCAtMjI2NCwxMCArMjIxMyw4IEBACiAJcGNpX3dyaXRlX2NvbmZpZ193b3JkKGNoaXAtPnBjaSwgMHg0MCwgY2hpcC0+b2xkX2xlZ2FjeV9jdHJsKTsKIAkKIAlwY2lfZGlzYWJsZV9kZXZpY2UoY2hpcC0+cGNpKTsKLSNpZm5kZWYgQ09ORklHX1NORF9ZTUZQQ0lfRklSTVdBUkVfSU5fS0VSTkVMCiAJcmVsZWFzZV9maXJtd2FyZShjaGlwLT5kc3BfbWljcm9jb2RlKTsKIAlyZWxlYXNlX2Zpcm13YXJlKGNoaXAtPmNvbnRyb2xsZXJfbWljcm9jb2RlKTsKLSNlbmRpZgogCWtmcmVlKGNoaXApOwogCXJldHVybiAwOwogfQpAQCAtMjMyNCw2ICsyMjcxLDcgQEAKIAkJY2hpcC0+c2F2ZWRfcmVnc1tpXSA9IHNuZF95bWZwY2lfcmVhZGwoY2hpcCwgc2F2ZWRfcmVnc19pbmRleFtpXSk7CiAJY2hpcC0+c2F2ZWRfeWRzeGdyX21vZGUgPSBzbmRfeW1mcGNpX3JlYWRsKGNoaXAsIFlEU1hHUl9NT0RFKTsKIAlzbmRfeW1mcGNpX3dyaXRlbChjaGlwLCBZRFNYR1JfTkFUSVZFREFDT1VUVk9MLCAwKTsKKwlzbmRfeW1mcGNpX3dyaXRlbChjaGlwLCBZRFNYR1JfQlVGNDQxT1VUVk9MLCAwKTsKIAlzbmRfeW1mcGNpX2Rpc2FibGVfZHNwKGNoaXApOwogCXBjaV9kaXNhYmxlX2RldmljZShwY2kpOwogCXBjaV9zYXZlX3N0YXRlKHBjaSk7CmRpZmYgLS1naXQgYS9zb3VuZC9wY21jaWEvS2NvbmZpZyBiL3NvdW5kL3BjbWNpYS9LY29uZmlnCmluZGV4IGM5ZmExYTIuLjdmYmIxOTAgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjbWNpYS9LY29uZmlnCisrKyBiL3NvdW5kL3BjbWNpYS9LY29uZmlnCkBAIC0xLDExICsxLDE2IEBACiAjIEFMU0EgUENNQ0lBIGRyaXZlcnMKIAotbWVudSAiUENNQ0lBIGRldmljZXMiCi0JZGVwZW5kcyBvbiBTTkQhPW4gJiYgUENNQ0lBCittZW51Y29uZmlnIFNORF9QQ01DSUEKKwlib29sICJQQ01DSUEgc291bmQgZGV2aWNlcyIKKwlkZXBlbmRzIG9uIFBDTUNJQQorCWRlZmF1bHQgeQorCWhlbHAKKwkgIFN1cHBvcnQgZm9yIHNvdW5kIGRldmljZXMgY29ubmVjdGVkIHZpYSB0aGUgUENNQ0lBIGJ1cy4KKworaWYgU05EX1BDTUNJQSAmJiBQQ01DSUEKIAogY29uZmlnIFNORF9WWFBPQ0tFVAogCXRyaXN0YXRlICJEaWdpZ3JhbSBWWHBvY2tldCIKLQlkZXBlbmRzIG9uIFNORCAmJiBQQ01DSUEKIAlzZWxlY3QgU05EX1ZYX0xJQgogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciBEaWdpZ3JhbSBWWHBvY2tldCBhbmQKQEAgLTE2LDcgKzIxLDYgQEAKIAogY29uZmlnIFNORF9QREFVRElPQ0YKIAl0cmlzdGF0ZSAiU291bmQgQ29yZSBQREF1ZGlvQ0YiCi0JZGVwZW5kcyBvbiBTTkQgJiYgUENNQ0lBCiAJc2VsZWN0IFNORF9QQ00KIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgc3VwcG9ydCBmb3IgU291bmQgQ29yZSBQREF1ZGlvQ0YKQEAgLTI1LDQgKzI5LDUgQEAKIAkgIFRvIGNvbXBpbGUgdGhpcyBkcml2ZXIgYXMgYSBtb2R1bGUsIGNob29zZSBNIGhlcmU6IHRoZSBtb2R1bGUKIAkgIHdpbGwgYmUgY2FsbGVkIHNuZC1wZGF1ZGlvY2YuCiAKLWVuZG1lbnUKK2VuZGlmCSMgU05EX1BDTUNJQQorCmRpZmYgLS1naXQgYS9zb3VuZC9wY21jaWEvdngvdnhwX29wcy5jIGIvc291bmQvcGNtY2lhL3Z4L3Z4cF9vcHMuYwppbmRleCAxNTdiMGI1Li45OWJmMmE2IDEwMDY0NAotLS0gYS9zb3VuZC9wY21jaWEvdngvdnhwX29wcy5jCisrKyBiL3NvdW5kL3BjbWNpYS92eC92eHBfb3BzLmMKQEAgLTE1MSw3ICsxNTEsNyBAQAogCXVuc2lnbmVkIGludCBpOwogCWludCBjOwogCWludCByZWdDU1VFUiwgcmVnUlVFUjsKLQl1bnNpZ25lZCBjaGFyICppbWFnZTsKKwljb25zdCB1bnNpZ25lZCBjaGFyICppbWFnZTsKIAl1bnNpZ25lZCBjaGFyIGRhdGE7CiAKIAkvKiBTd2l0Y2ggdG8gcHJvZ3JhbW1hdGlvbiBtb2RlICovCmRpZmYgLS1naXQgYS9zb3VuZC9wcGMvS2NvbmZpZyBiL3NvdW5kL3BwYy9LY29uZmlnCmluZGV4IGNhY2IwYjEuLjc3N2RlMmIgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BwYy9LY29uZmlnCisrKyBiL3NvdW5kL3BwYy9LY29uZmlnCkBAIC0xLDE3ICsxLDE3IEBACiAjIEFMU0EgUG93ZXJNYWMgZHJpdmVycwogCi1tZW51ICJBTFNBIFBvd2VyTWFjIGRldmljZXMiCi0JZGVwZW5kcyBvbiBTTkQhPW4gJiYgUFBDCittZW51Y29uZmlnIFNORF9QUEMKKwlib29sICJQb3dlclBDIHNvdW5kIGRldmljZXMiCisJZGVwZW5kcyBvbiBQUEM2NCB8fCBQUEMzMgorCWRlZmF1bHQgeQorCWhlbHAKKwkgIFN1cHBvcnQgZm9yIHNvdW5kIGRldmljZXMgc3BlY2lmaWMgdG8gUG93ZXJQQyBhcmNoaXRlY3R1cmVzLgogCi1jb21tZW50ICJBTFNBIFBvd2VyTWFjIHJlcXVpcmVzIEkyQyIKLQlkZXBlbmRzIG9uIFNORCAmJiBJMkM9bgotCi1jb21tZW50ICJBTFNBIFBvd2VyTWFjIHJlcXVpcmVzIElOUFVUIgotCWRlcGVuZHMgb24gU05EICYmIElOUFVUPW4KK2lmIFNORF9QUEMKIAogY29uZmlnIFNORF9QT1dFUk1BQwogCXRyaXN0YXRlICJQb3dlck1hYyAoQVdBQ1MsIERBQ0EsIEJ1cmd1bmR5LCBUdW1ibGVyLCBLZXl3ZXN0KSIKLQlkZXBlbmRzIG9uIFNORCAmJiBJMkMgJiYgSU5QVVQgJiYgUFBDX1BNQUMKKwlkZXBlbmRzIG9uIEkyQyAmJiBJTlBVVCAmJiBQUENfUE1BQwogCXNlbGVjdCBTTkRfUENNCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIHRoZSBpbnRlZ3JhdGVkIHNvdW5kIGRldmljZS4KQEAgLTMyLDE0ICszMiw5IEBACiAJICBOb3RlIHRoYXQgeW91IGNhbiB0dXJuIG9uL29mZiBEUkMgbWFudWFsbHkgZXZlbiB3aXRob3V0IHRoaXMKIAkgIG9wdGlvbi4KIAotZW5kbWVudQotCi1tZW51ICJBTFNBIFBvd2VyUEMgZGV2aWNlcyIKLQlkZXBlbmRzIG9uIFNORCE9biAmJiAoIFBQQzY0IHx8IFBQQzMyICkKLQogY29uZmlnIFNORF9QUzMKIAl0cmlzdGF0ZSAiUFMzIEF1ZGlvIHN1cHBvcnQiCi0JZGVwZW5kcyBvbiBTTkQgJiYgUFMzX1BTM0FWCisJZGVwZW5kcyBvbiBQUzNfUFMzQVYKIAlzZWxlY3QgU05EX1BDTQogCWRlZmF1bHQgbQogCWhlbHAKQEAgLTUyLDQgKzQ3LDUgQEAKIAlpbnQgIlN0YXJ0dXAgZGVsYXkgdGltZSBpbiBtcyIKIAlkZXBlbmRzIG9uIFNORF9QUzMKIAlkZWZhdWx0ICIyMDAwIgotZW5kbWVudQorCitlbmRpZgkjIFNORF9QUEMKZGlmZiAtLWdpdCBhL3NvdW5kL3BwYy9kYWNhLmMgYi9zb3VuZC9wcGMvZGFjYS5jCmluZGV4IGNhOTQ1MjkuLjhhNWIyOTAgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BwYy9kYWNhLmMKKysrIGIvc291bmQvcHBjL2RhY2EuYwpAQCAtMjQ5LDkgKzI0OSw3IEBACiAJaW50IGksIGVycjsKIAlzdHJ1Y3QgcG1hY19kYWNhICptaXg7CiAKLSNpZmRlZiBDT05GSUdfS01PRAogCXJlcXVlc3RfbW9kdWxlKCJpMmMtcG93ZXJtYWMiKTsKLSNlbmRpZiAvKiBDT05GSUdfS01PRCAqLwogCiAJbWl4ID0ga3phbGxvYyhzaXplb2YoKm1peCksIEdGUF9LRVJORUwpOwogCWlmICghIG1peCkKZGlmZiAtLWdpdCBhL3NvdW5kL3BwYy90dW1ibGVyLmMgYi9zb3VuZC9wcGMvdHVtYmxlci5jCmluZGV4IDNmOGQ3MTYuLjAwOWRmOGQgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BwYy90dW1ibGVyLmMKKysrIGIvc291bmQvcHBjL3R1bWJsZXIuYwpAQCAtMTM1MCw5ICsxMzUwLDcgQEAKIAlzdHJ1Y3QgZGV2aWNlX25vZGUgKnRhc19ub2RlLCAqbnA7CiAJY2hhciAqY2hpcG5hbWU7CiAKLSNpZmRlZiBDT05GSUdfS01PRAogCXJlcXVlc3RfbW9kdWxlKCJpMmMtcG93ZXJtYWMiKTsKLSNlbmRpZiAvKiBDT05GSUdfS01PRCAqLwogCiAJbWl4ID0ga3phbGxvYyhzaXplb2YoKm1peCksIEdGUF9LRVJORUwpOwogCWlmICghIG1peCkKZGlmZiAtLWdpdCBhL3NvdW5kL3NoL0tjb25maWcgYi9zb3VuZC9zaC9LY29uZmlnCmluZGV4IGI3ZTA4ZWYuLmNmYzE0MzkgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NoL0tjb25maWcKKysrIGIvc291bmQvc2gvS2NvbmZpZwpAQCAtMSwxNCArMSwyMiBAQAogIyBBTFNBIFNIIGRyaXZlcnMKIAotbWVudSAiU1VQRVJIIGRldmljZXMiCi0JZGVwZW5kcyBvbiBTTkQhPW4gJiYgU1VQRVJICittZW51Y29uZmlnIFNORF9TVVBFUkgKKwlib29sICJTVVBFUkggc291bmQgZGV2aWNlcyIKKwlkZXBlbmRzIG9uIFNVUEVSSAorCWRlZmF1bHQgeQorCWhlbHAKKwkgIFN1cHBvcnQgZm9yIHNvdW5kIGRldmljZXMgc3BlY2lmaWMgdG8gU1VQRVJIIGFyY2hpdGVjdHVyZXMuCisJICBEcml2ZXJzIHRoYXQgYXJlIGltcGxlbWVudGVkIG9uIEFTb0MgY2FuIGJlIGZvdW5kIGluCisJICAiQUxTQSBmb3IgU29DIGF1ZGlvIHN1cHBvcnQiIHNlY3Rpb24uCisKK2lmIFNORF9TVVBFUkgKIAogY29uZmlnIFNORF9BSUNBCiAJdHJpc3RhdGUgIkRyZWFtY2FzdCBZYW1haGEgQUlDQSBzb3VuZCIKLQlkZXBlbmRzIG9uIFNIX0RSRUFNQ0FTVCAmJiBTTkQKKwlkZXBlbmRzIG9uIFNIX0RSRUFNQ0FTVAogCXNlbGVjdCBTTkRfUENNCiAJaGVscAogCSAgQUxTQSBTb3VuZCBkcml2ZXIgZm9yIHRoZSBTRUdBIERyZWFtY2FzdCBjb25zb2xlLgogCi1lbmRtZW51CitlbmRpZgkjIFNORF9TVVBFUkgKIApkaWZmIC0tZ2l0IGEvc291bmQvc29jL0tjb25maWcgYi9zb3VuZC9zb2MvS2NvbmZpZwppbmRleCAxOGYyOGFjLi5mNzQzNTMwIDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvS2NvbmZpZworKysgYi9zb3VuZC9zb2MvS2NvbmZpZwpAQCAtMiwxNSArMiw4IEBACiAjIFNvQyBhdWRpbyBjb25maWd1cmF0aW9uCiAjCiAKLW1lbnUgIlN5c3RlbSBvbiBDaGlwIGF1ZGlvIHN1cHBvcnQiCi0JZGVwZW5kcyBvbiBTTkQhPW4KLQotY29uZmlnIFNORF9TT0NfQUM5N19CVVMKLQlib29sCi0KLWNvbmZpZyBTTkRfU09DCittZW51Y29uZmlnIFNORF9TT0MKIAl0cmlzdGF0ZSAiQUxTQSBmb3IgU29DIGF1ZGlvIHN1cHBvcnQiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX1BDTQogCS0tLWhlbHAtLS0KIApAQCAtMjMsOCArMTYsMTUgQEAKIAkgIFRoaXMgQVNvQyBhdWRpbyBzdXBwb3J0IGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKIAkgIHdpbGwgYmUgY2FsbGVkIHNuZC1zb2MtY29yZS4KIAoraWYgU05EX1NPQworCitjb25maWcgU05EX1NPQ19BQzk3X0JVUworCWJvb2wKKwogIyBBbGwgdGhlIHN1cHBvcnRlZCBTb2Mncworc291cmNlICJzb3VuZC9zb2MvYXQzMi9LY29uZmlnIgogc291cmNlICJzb3VuZC9zb2MvYXQ5MS9LY29uZmlnIgorc291cmNlICJzb3VuZC9zb2MvYXUxeC9LY29uZmlnIgogc291cmNlICJzb3VuZC9zb2MvcHhhL0tjb25maWciCiBzb3VyY2UgInNvdW5kL3NvYy9zM2MyNHh4L0tjb25maWciCiBzb3VyY2UgInNvdW5kL3NvYy9zaC9LY29uZmlnIgpAQCAtMzUsNCArMzUsNSBAQAogIyBTdXBwb3J0ZWQgY29kZWNzCiBzb3VyY2UgInNvdW5kL3NvYy9jb2RlY3MvS2NvbmZpZyIKIAotZW5kbWVudQorZW5kaWYJIyBTTkRfU09DCisKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9NYWtlZmlsZSBiL3NvdW5kL3NvYy9NYWtlZmlsZQppbmRleCA3ODJkYjIxLi45MzNhNjZkIDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvTWFrZWZpbGUKKysrIGIvc291bmQvc29jL01ha2VmaWxlCkBAIC0xLDQgKzEsNSBAQAogc25kLXNvYy1jb3JlLW9ianMgOj0gc29jLWNvcmUubyBzb2MtZGFwbS5vCiAKIG9iai0kKENPTkZJR19TTkRfU09DKQkrPSBzbmQtc29jLWNvcmUubwotb2JqLSQoQ09ORklHX1NORF9TT0MpCSs9IGNvZGVjcy8gYXQ5MS8gcHhhLyBzM2MyNHh4LyBzaC8gZnNsLyBkYXZpbmNpLyBvbWFwLworb2JqLSQoQ09ORklHX1NORF9TT0MpCSs9IGNvZGVjcy8gYXQzMi8gYXQ5MS8gcHhhLyBzM2MyNHh4LyBzaC8gZnNsLyBkYXZpbmNpLworb2JqLSQoQ09ORklHX1NORF9TT0MpCSs9IG9tYXAvIGF1MXgvCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvYXQzMi9LY29uZmlnIGIvc291bmQvc29jL2F0MzIvS2NvbmZpZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMDc2NWU4Ci0tLSAvZGV2L251bGwKKysrIGIvc291bmQvc29jL2F0MzIvS2NvbmZpZwpAQCAtMCwwICsxLDM0IEBACitjb25maWcgU05EX0FUMzJfU09DCisgICAgICAgIHRyaXN0YXRlICJTb0MgQXVkaW8gZm9yIHRoZSBBdG1lbCBBVDMyIFN5c3RlbS1vbi1hLUNoaXAiCisgICAgICAgIGRlcGVuZHMgb24gQVZSMzIgJiYgU05EX1NPQworICAgICAgICBoZWxwCisgICAgICAgICAgU2F5IFkgb3IgTSBpZiB5b3Ugd2FudCB0byBhZGQgc3VwcG9ydCBmb3IgY29kZWNzIGF0dGFjaGVkIHRvIAorICAgICAgICAgIHRoZSBBVDMyIFNTQyBpbnRlcmZhY2UuICBZb3Ugd2lsbCBhbHNvIG5lZWQgdG8KKyAgICAgICAgICB0byBzZWxlY3QgdGhlIGF1ZGlvIGludGVyZmFjZXMgdG8gc3VwcG9ydCBiZWxvdy4KKworCitjb25maWcgU05EX0FUMzJfU09DX1NTQworICAgICAgICB0cmlzdGF0ZQorCisKKworY29uZmlnIFNORF9BVDMyX1NPQ19QTEFZUEFRCisgICAgICAgIHRyaXN0YXRlICJTb0MgQXVkaW8gc3VwcG9ydCBmb3IgUGxheVBhcSB3aXRoIFdNODUxMCIKKyAgICAgICAgZGVwZW5kcyBvbiBTTkRfQVQzMl9TT0MgJiYgQk9BUkRfUExBWVBBUQorICAgICAgICBzZWxlY3QgU05EX0FUMzJfU09DX1NTQworICAgICAgICBzZWxlY3QgU05EX1NPQ19XTTg1MTAKKyAgICAgICAgaGVscAorICAgICAgICAgIFNheSBZIG9yIE0gaGVyZSBpZiB5b3Ugd2FudCB0byBhZGQgc3VwcG9ydCBmb3IgU29DIGF1ZGlvCisgICAgICAgICAgb24gdGhlIExSUyBQbGF5UGFxLgorCisKKworY29uZmlnIFNORF9BVDMyX1NPQ19QTEFZUEFRX1NMQVZFCisgICAgICAgIGJvb2wgIlJ1biBDT0RFQyBvbiBQbGF5UGFxIGluIHNsYXZlIG1vZGUiCisgICAgICAgIGRlcGVuZHMgb24gU05EX0FUMzJfU09DX1BMQVlQQVEKKyAgICAgICAgZGVmYXVsdCBuCisgICAgICAgIGhlbHAKKyAgICAgICAgICBTYXkgWSBpZiB5b3Ugd2FudCB0byBydW4gd2l0aCB0aGUgQVQzMiBTU0MgZ2VuZXJhdGluZyB0aGUgQkNMSworICAgICAgICAgIGFuZCBGUkFNRSBzaWduYWxzIG9uIHRoZSBQbGF5UGFxLiAgVW5sZXNzIHlvdSB3YW50IHRvIHBsYXkKKyAgICAgICAgICB3aXRoIHRoZSBBVDMyIGFzIHRoZSBTU0MgbWFzdGVyLCB5b3UgcHJvYmFibHkgd2FudCB0byBzYXkgTiBoZXJlLAorICAgICAgICAgIGFzIHRoaXMgd2lsbCBnaXZlIHlvdSBiZXR0ZXIgc291bmQgcXVhbGl0eS4KZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9hdDMyL01ha2VmaWxlIGIvc291bmQvc29jL2F0MzIvTWFrZWZpbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzAzZTU1ZQotLS0gL2Rldi9udWxsCisrKyBiL3NvdW5kL3NvYy9hdDMyL01ha2VmaWxlCkBAIC0wLDAgKzEsMTEgQEAKKyMgQVQzMiBQbGF0Zm9ybSBTdXBwb3J0CitzbmQtc29jLWF0MzItb2JqcyA6PSBhdDMyLXBjbS5vCitzbmQtc29jLWF0MzItc3NjLW9ianMgOj0gYXQzMi1zc2MubworCitvYmotJChDT05GSUdfU05EX0FUMzJfU09DKSArPSBzbmQtc29jLWF0MzIubworb2JqLSQoQ09ORklHX1NORF9BVDMyX1NPQ19TU0MpICs9IHNuZC1zb2MtYXQzMi1zc2MubworCisjIEFUMzIgTWFjaGluZSBTdXBwb3J0CitzbmQtc29jLXBsYXlwYXEtb2JqcyA6PSBwbGF5cGFxX3dtODUxMC5vCisKK29iai0kKENPTkZJR19TTkRfQVQzMl9TT0NfUExBWVBBUSkgKz0gc25kLXNvYy1wbGF5cGFxLm8KZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9hdDMyL2F0MzItcGNtLmMgYi9zb3VuZC9zb2MvYXQzMi9hdDMyLXBjbS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQzNWYxZGEKLS0tIC9kZXYvbnVsbAorKysgYi9zb3VuZC9zb2MvYXQzMi9hdDMyLXBjbS5jCkBAIC0wLDAgKzEsNDkxIEBACisvKiBzb3VuZC9zb2MvYXQzMi9hdDMyLXBjbS5jCisgKiBBU29DIFBDTSBpbnRlcmZhY2UgZm9yIEF0bWVsIEFUMzIgU29DCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA4IExvbmcgUmFuZ2UgU3lzdGVtcworICogICAgR2VvZmZyZXkgV29zc3VtIDxnd29zc3VtQGFjbS5vcmc+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqCisgKiBOb3RlIHRoYXQgdGhpcyBpcyBiYXNpY2FsbHkgYSBwb3J0IG9mIHRoZSBzb3VuZC9zb2MvYXQ5MS1wY20uYyB0bworICogdGhlIEFWUjMyIGtlcm5lbC4gIFRoYW5rcyB0byBGcmFuayBNYW5kYXJpbm8gZm9yIHRoYXQgY29kZS4KKyAqLworCisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC9kbWEtbWFwcGluZy5oPgorI2luY2x1ZGUgPGxpbnV4L2F0bWVsX3BkYy5oPgorCisjaW5jbHVkZSA8c291bmQvY29yZS5oPgorI2luY2x1ZGUgPHNvdW5kL3BjbS5oPgorI2luY2x1ZGUgPHNvdW5kL3BjbV9wYXJhbXMuaD4KKyNpbmNsdWRlIDxzb3VuZC9zb2MuaD4KKworI2luY2x1ZGUgImF0MzItcGNtLmgiCisKKworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlwKKyAqIEhhcmR3YXJlIGRlZmluaXRpb24KK1wqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworLyogVE9ETzogVGhlc2UgdmFsdWVzIHdlcmUgdGFrZW4gZnJvbSB0aGUgQVQ5MSBwbGF0Zm9ybSBkcml2ZXIsIGNoZWNrCisgKgkgdGhlbSBhZ2FpbnN0IHJlYWwgdmFsdWVzIGZvciBBVDMyCisgKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX3BjbV9oYXJkd2FyZSBhdDMyX3BjbV9oYXJkd2FyZSA9IHsKKwkuaW5mbyA9IChTTkRSVl9QQ01fSU5GT19NTUFQIHwKKwkJIFNORFJWX1BDTV9JTkZPX01NQVBfVkFMSUQgfAorCQkgU05EUlZfUENNX0lORk9fSU5URVJMRUFWRUQgfAorCQkgU05EUlZfUENNX0lORk9fQkxPQ0tfVFJBTlNGRVIgfAorCQkgU05EUlZfUENNX0lORk9fUEFVU0UpLAorCisJLmZvcm1hdHMgPSBTTkRSVl9QQ01fRk1UQklUX1MxNiwKKwkucGVyaW9kX2J5dGVzX21pbiA9IDMyLAorCS5wZXJpb2RfYnl0ZXNfbWF4ID0gODE5MiwJLyogNTEyIGZyYW1lcyAqIDE2IGJ5dGVzIC8gZnJhbWUgKi8KKwkucGVyaW9kc19taW4gPSAyLAorCS5wZXJpb2RzX21heCA9IDEwMjQsCisJLmJ1ZmZlcl9ieXRlc19tYXggPSAzMiAqIDEwMjQsCit9OworCisKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcCisgKiBEYXRhIHR5cGVzCitcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KK3N0cnVjdCBhdDMyX3J1bnRpbWVfZGF0YSB7CisJc3RydWN0IGF0MzJfcGNtX2RtYV9wYXJhbXMgKnBhcmFtczsKKwlkbWFfYWRkcl90IGRtYV9idWZmZXI7CS8qIHBoeXNpY2FsIGFkZHJlc3Mgb2YgRE1BIGJ1ZmZlciAqLworCWRtYV9hZGRyX3QgZG1hX2J1ZmZlcl9lbmQ7IC8qIGZpcnN0IGFkZHJlc3MgYmV5b25kIERNQSBidWZmZXIgKi8KKwlzaXplX3QgcGVyaW9kX3NpemU7CisKKwlkbWFfYWRkcl90IHBlcmlvZF9wdHI7CS8qIHBoeXNpY2FsIGFkZHJlc3Mgb2YgbmV4dCBwZXJpb2QgKi8KKwlpbnQgcGVyaW9kczsJCS8qIHBlcmlvZCBpbmRleCBvZiBwZXJpb2RfcHRyICovCisKKwkvKiBTYXZlIFBEQyByZWdpc3RlcnMgKGZvciBwb3dlciBtYW5hZ2VtZW50KSAqLworCXUzMiBwZGNfeHByX3NhdmU7CisJdTMyIHBkY194Y3Jfc2F2ZTsKKwl1MzIgcGRjX3hucHJfc2F2ZTsKKwl1MzIgcGRjX3huY3Jfc2F2ZTsKK307CisKKworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlwKKyAqIEhlbHBlciBmdW5jdGlvbnMKK1wqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworc3RhdGljIGludCBhdDMyX3BjbV9wcmVhbGxvY2F0ZV9kbWFfYnVmZmVyKHN0cnVjdCBzbmRfcGNtICpwY20sIGludCBzdHJlYW0pCit7CisJc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0gPSBwY20tPnN0cmVhbXNbc3RyZWFtXS5zdWJzdHJlYW07CisJc3RydWN0IHNuZF9kbWFfYnVmZmVyICpkbWFidWYgPSAmc3Vic3RyZWFtLT5kbWFfYnVmZmVyOworCXNpemVfdCBzaXplID0gYXQzMl9wY21faGFyZHdhcmUuYnVmZmVyX2J5dGVzX21heDsKKworCWRtYWJ1Zi0+ZGV2LnR5cGUgPSBTTkRSVl9ETUFfVFlQRV9ERVY7CisJZG1hYnVmLT5kZXYuZGV2ID0gcGNtLT5jYXJkLT5kZXY7CisJZG1hYnVmLT5wcml2YXRlX2RhdGEgPSBOVUxMOworCWRtYWJ1Zi0+YXJlYSA9IGRtYV9hbGxvY19jb2hlcmVudChwY20tPmNhcmQtPmRldiwgc2l6ZSwKKwkJCQkJICAmZG1hYnVmLT5hZGRyLCBHRlBfS0VSTkVMKTsKKwlwcl9kZWJ1ZygiYXQzMl9wY206IHByZWFsbG9jYXRlX2RtYV9idWZmZXI6ICIKKwkJICJhcmVhPSVwLCBhZGRyPSVwLCBzaXplPSVsZFxuIiwKKwkJICh2b2lkICopZG1hYnVmLT5hcmVhLCAodm9pZCAqKWRtYWJ1Zi0+YWRkciwgc2l6ZSk7CisKKwlpZiAoIWRtYWJ1Zi0+YXJlYSkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlkbWFidWYtPmJ5dGVzID0gc2l6ZTsKKwlyZXR1cm4gMDsKK30KKworCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXAorICogSVNSCitcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KK3N0YXRpYyB2b2lkIGF0MzJfcGNtX2RtYV9pcnEodTMyIHNzY19zciwgc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCit7CisJc3RydWN0IHNuZF9wY21fcnVudGltZSAqcnRkID0gc3Vic3RyZWFtLT5ydW50aW1lOworCXN0cnVjdCBhdDMyX3J1bnRpbWVfZGF0YSAqcHJ0ZCA9IHJ0ZC0+cHJpdmF0ZV9kYXRhOworCXN0cnVjdCBhdDMyX3BjbV9kbWFfcGFyYW1zICpwYXJhbXMgPSBwcnRkLT5wYXJhbXM7CisJc3RhdGljIGludCBjb3VudDsKKworCWNvdW50Kys7CisJaWYgKHNzY19zciAmIHBhcmFtcy0+bWFzay0+c3NjX2VuZGJ1ZikgeworCQlwcl93YXJuaW5nKCJhdDMyLXBjbTogYnVmZmVyICVzIG9uICVzIChTU0NfU1I9JSN4LCBjb3VudD0lZClcbiIsCisJCQkgICBzdWJzdHJlYW0tPnN0cmVhbSA9PSBTTkRSVl9QQ01fU1RSRUFNX1BMQVlCQUNLID8KKwkJCSAgICJ1bmRlcnJ1biIgOiAib3ZlcnJ1biIsIHBhcmFtcy0+bmFtZSwgc3NjX3NyLCBjb3VudCk7CisKKwkJLyogcmUtc3RhcnQgdGhlIFBEQyAqLworCQlzc2Nfd3JpdGV4KHBhcmFtcy0+c3NjLT5yZWdzLCBBVE1FTF9QRENfUFRDUiwKKwkJCSAgIHBhcmFtcy0+bWFzay0+cGRjX2Rpc2FibGUpOworCQlwcnRkLT5wZXJpb2RfcHRyICs9IHBydGQtPnBlcmlvZF9zaXplOworCQlpZiAocHJ0ZC0+cGVyaW9kX3B0ciA+PSBwcnRkLT5kbWFfYnVmZmVyX2VuZCkKKwkJCXBydGQtPnBlcmlvZF9wdHIgPSBwcnRkLT5kbWFfYnVmZmVyOworCisKKwkJc3NjX3dyaXRleChwYXJhbXMtPnNzYy0+cmVncywgcGFyYW1zLT5wZGMtPnhwciwKKwkJCSAgIHBydGQtPnBlcmlvZF9wdHIpOworCQlzc2Nfd3JpdGV4KHBhcmFtcy0+c3NjLT5yZWdzLCBwYXJhbXMtPnBkYy0+eGNyLAorCQkJICAgcHJ0ZC0+cGVyaW9kX3NpemUgLyBwYXJhbXMtPnBkY194ZmVyX3NpemUpOworCQlzc2Nfd3JpdGV4KHBhcmFtcy0+c3NjLT5yZWdzLCBBVE1FTF9QRENfUFRDUiwKKwkJCSAgIHBhcmFtcy0+bWFzay0+cGRjX2VuYWJsZSk7CisJfQorCisKKwlpZiAoc3NjX3NyICYgcGFyYW1zLT5tYXNrLT5zc2NfZW5keCkgeworCQkvKiBMb2FkIHRoZSBQREMgbmV4dCBwb2ludGVyIGFuZCBjb3VudGVyIHJlZ2lzdGVycyAqLworCQlwcnRkLT5wZXJpb2RfcHRyICs9IHBydGQtPnBlcmlvZF9zaXplOworCQlpZiAocHJ0ZC0+cGVyaW9kX3B0ciA+PSBwcnRkLT5kbWFfYnVmZmVyX2VuZCkKKwkJCXBydGQtPnBlcmlvZF9wdHIgPSBwcnRkLT5kbWFfYnVmZmVyOworCQlzc2Nfd3JpdGV4KHBhcmFtcy0+c3NjLT5yZWdzLCBwYXJhbXMtPnBkYy0+eG5wciwKKwkJCSAgIHBydGQtPnBlcmlvZF9wdHIpOworCQlzc2Nfd3JpdGV4KHBhcmFtcy0+c3NjLT5yZWdzLCBwYXJhbXMtPnBkYy0+eG5jciwKKwkJCSAgIHBydGQtPnBlcmlvZF9zaXplIC8gcGFyYW1zLT5wZGNfeGZlcl9zaXplKTsKKwl9CisKKworCXNuZF9wY21fcGVyaW9kX2VsYXBzZWQoc3Vic3RyZWFtKTsKK30KKworCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXAorICogUENNIG9wZXJhdGlvbnMKK1wqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworc3RhdGljIGludCBhdDMyX3BjbV9od19wYXJhbXMoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0sCisJCQkgICAgICBzdHJ1Y3Qgc25kX3BjbV9od19wYXJhbXMgKnBhcmFtcykKK3sKKwlzdHJ1Y3Qgc25kX3BjbV9ydW50aW1lICpydW50aW1lID0gc3Vic3RyZWFtLT5ydW50aW1lOworCXN0cnVjdCBhdDMyX3J1bnRpbWVfZGF0YSAqcHJ0ZCA9IHJ1bnRpbWUtPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3Qgc25kX3NvY19wY21fcnVudGltZSAqcnRkID0gc3Vic3RyZWFtLT5wcml2YXRlX2RhdGE7CisKKwkvKiB0aGlzIG1heSBnZXQgY2FsbGVkIHNldmVyYWwgdGltZXMgYnkgb3NzIGVtdWxhdGlvbgorCSAqIHdpdGggZGlmZmVyZW50IHBhcmFtcworCSAqLworCXNuZF9wY21fc2V0X3J1bnRpbWVfYnVmZmVyKHN1YnN0cmVhbSwgJnN1YnN0cmVhbS0+ZG1hX2J1ZmZlcik7CisJcnVudGltZS0+ZG1hX2J5dGVzID0gcGFyYW1zX2J1ZmZlcl9ieXRlcyhwYXJhbXMpOworCisJcHJ0ZC0+cGFyYW1zID0gcnRkLT5kYWktPmNwdV9kYWktPmRtYV9kYXRhOworCXBydGQtPnBhcmFtcy0+ZG1hX2ludHJfaGFuZGxlciA9IGF0MzJfcGNtX2RtYV9pcnE7CisKKwlwcnRkLT5kbWFfYnVmZmVyID0gcnVudGltZS0+ZG1hX2FkZHI7CisJcHJ0ZC0+ZG1hX2J1ZmZlcl9lbmQgPSBydW50aW1lLT5kbWFfYWRkciArIHJ1bnRpbWUtPmRtYV9ieXRlczsKKwlwcnRkLT5wZXJpb2Rfc2l6ZSA9IHBhcmFtc19wZXJpb2RfYnl0ZXMocGFyYW1zKTsKKworCXByX2RlYnVnKCJod19wYXJhbXM6IERNQSBmb3IgJXMgaW5pdGlhbGl6ZWQgIgorCQkgIihkbWFfYnl0ZXM9JWxkLCBwZXJpb2Rfc2l6ZT0lbGQpXG4iLAorCQkgcHJ0ZC0+cGFyYW1zLT5uYW1lLCBydW50aW1lLT5kbWFfYnl0ZXMsIHBydGQtPnBlcmlvZF9zaXplKTsKKworCXJldHVybiAwOworfQorCisKKworc3RhdGljIGludCBhdDMyX3BjbV9od19mcmVlKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQoreworCXN0cnVjdCBhdDMyX3J1bnRpbWVfZGF0YSAqcHJ0ZCA9IHN1YnN0cmVhbS0+cnVudGltZS0+cHJpdmF0ZV9kYXRhOworCXN0cnVjdCBhdDMyX3BjbV9kbWFfcGFyYW1zICpwYXJhbXMgPSBwcnRkLT5wYXJhbXM7CisKKwlpZiAocGFyYW1zICE9IE5VTEwpIHsKKwkJc3NjX3dyaXRleChwYXJhbXMtPnNzYy0+cmVncywgU1NDX1BEQ19QVENSLAorCQkJICAgcGFyYW1zLT5tYXNrLT5wZGNfZGlzYWJsZSk7CisJCXBydGQtPnBhcmFtcy0+ZG1hX2ludHJfaGFuZGxlciA9IE5VTEw7CisJfQorCisJcmV0dXJuIDA7Cit9CisKKworCitzdGF0aWMgaW50IGF0MzJfcGNtX3ByZXBhcmUoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCit7CisJc3RydWN0IGF0MzJfcnVudGltZV9kYXRhICpwcnRkID0gc3Vic3RyZWFtLT5ydW50aW1lLT5wcml2YXRlX2RhdGE7CisJc3RydWN0IGF0MzJfcGNtX2RtYV9wYXJhbXMgKnBhcmFtcyA9IHBydGQtPnBhcmFtczsKKworCXNzY193cml0ZXgocGFyYW1zLT5zc2MtPnJlZ3MsIFNTQ19JRFIsCisJCSAgIHBhcmFtcy0+bWFzay0+c3NjX2VuZHggfCBwYXJhbXMtPm1hc2stPnNzY19lbmRidWYpOworCXNzY193cml0ZXgocGFyYW1zLT5zc2MtPnJlZ3MsIEFUTUVMX1BEQ19QVENSLAorCQkgICBwYXJhbXMtPm1hc2stPnBkY19kaXNhYmxlKTsKKworCXJldHVybiAwOworfQorCisKK3N0YXRpYyBpbnQgYXQzMl9wY21fdHJpZ2dlcihzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSwgaW50IGNtZCkKK3sKKwlzdHJ1Y3Qgc25kX3BjbV9ydW50aW1lICpydGQgPSBzdWJzdHJlYW0tPnJ1bnRpbWU7CisJc3RydWN0IGF0MzJfcnVudGltZV9kYXRhICpwcnRkID0gcnRkLT5wcml2YXRlX2RhdGE7CisJc3RydWN0IGF0MzJfcGNtX2RtYV9wYXJhbXMgKnBhcmFtcyA9IHBydGQtPnBhcmFtczsKKwlpbnQgcmV0ID0gMDsKKworCXByX2RlYnVnKCJhdDMyX3BjbV90cmlnZ2VyOiBidWZmZXJfc2l6ZSA9ICVsZCwgIgorCQkgImRtYV9hcmVhID0gJXAsIGRtYV9ieXRlcyA9ICVsZFxuIiwKKwkJIHJ0ZC0+YnVmZmVyX3NpemUsIHJ0ZC0+ZG1hX2FyZWEsIHJ0ZC0+ZG1hX2J5dGVzKTsKKworCXN3aXRjaCAoY21kKSB7CisJY2FzZSBTTkRSVl9QQ01fVFJJR0dFUl9TVEFSVDoKKwkJcHJ0ZC0+cGVyaW9kX3B0ciA9IHBydGQtPmRtYV9idWZmZXI7CisKKwkJc3NjX3dyaXRleChwYXJhbXMtPnNzYy0+cmVncywgcGFyYW1zLT5wZGMtPnhwciwKKwkJCSAgIHBydGQtPnBlcmlvZF9wdHIpOworCQlzc2Nfd3JpdGV4KHBhcmFtcy0+c3NjLT5yZWdzLCBwYXJhbXMtPnBkYy0+eGNyLAorCQkJICAgcHJ0ZC0+cGVyaW9kX3NpemUgLyBwYXJhbXMtPnBkY194ZmVyX3NpemUpOworCisJCXBydGQtPnBlcmlvZF9wdHIgKz0gcHJ0ZC0+cGVyaW9kX3NpemU7CisJCXNzY193cml0ZXgocGFyYW1zLT5zc2MtPnJlZ3MsIHBhcmFtcy0+cGRjLT54bnByLAorCQkJICAgcHJ0ZC0+cGVyaW9kX3B0cik7CisJCXNzY193cml0ZXgocGFyYW1zLT5zc2MtPnJlZ3MsIHBhcmFtcy0+cGRjLT54bmNyLAorCQkJICAgcHJ0ZC0+cGVyaW9kX3NpemUgLyBwYXJhbXMtPnBkY194ZmVyX3NpemUpOworCisJCXByX2RlYnVnKCJ0cmlnZ2VyOiBwZXJpb2RfcHRyPSVseCwgeHByPSV4LCAiCisJCQkgInhjcj0lZCwgeG5wcj0leCwgeG5jcj0lZFxuIiwKKwkJCSAodW5zaWduZWQgbG9uZylwcnRkLT5wZXJpb2RfcHRyLAorCQkJIHNzY19yZWFkeChwYXJhbXMtPnNzYy0+cmVncywgcGFyYW1zLT5wZGMtPnhwciksCisJCQkgc3NjX3JlYWR4KHBhcmFtcy0+c3NjLT5yZWdzLCBwYXJhbXMtPnBkYy0+eGNyKSwKKwkJCSBzc2NfcmVhZHgocGFyYW1zLT5zc2MtPnJlZ3MsIHBhcmFtcy0+cGRjLT54bnByKSwKKwkJCSBzc2NfcmVhZHgocGFyYW1zLT5zc2MtPnJlZ3MsIHBhcmFtcy0+cGRjLT54bmNyKSk7CisKKwkJc3NjX3dyaXRleChwYXJhbXMtPnNzYy0+cmVncywgU1NDX0lFUiwKKwkJCSAgIHBhcmFtcy0+bWFzay0+c3NjX2VuZHggfCBwYXJhbXMtPm1hc2stPnNzY19lbmRidWYpOworCQlzc2Nfd3JpdGV4KHBhcmFtcy0+c3NjLT5yZWdzLCBTU0NfUERDX1BUQ1IsCisJCQkgICBwYXJhbXMtPm1hc2stPnBkY19lbmFibGUpOworCisJCXByX2RlYnVnKCJzcj0leCwgaW1yPSV4XG4iLAorCQkJIHNzY19yZWFkeChwYXJhbXMtPnNzYy0+cmVncywgU1NDX1NSKSwKKwkJCSBzc2NfcmVhZHgocGFyYW1zLT5zc2MtPnJlZ3MsIFNTQ19JRVIpKTsKKwkJYnJlYWs7CQkvKiBTTkRSVl9QQ01fVFJJR0dFUl9TVEFSVCAqLworCisKKworCWNhc2UgU05EUlZfUENNX1RSSUdHRVJfU1RPUDoKKwljYXNlIFNORFJWX1BDTV9UUklHR0VSX1NVU1BFTkQ6CisJY2FzZSBTTkRSVl9QQ01fVFJJR0dFUl9QQVVTRV9QVVNIOgorCQlzc2Nfd3JpdGV4KHBhcmFtcy0+c3NjLT5yZWdzLCBBVE1FTF9QRENfUFRDUiwKKwkJCSAgIHBhcmFtcy0+bWFzay0+cGRjX2Rpc2FibGUpOworCQlicmVhazsKKworCisJY2FzZSBTTkRSVl9QQ01fVFJJR0dFUl9SRVNVTUU6CisJY2FzZSBTTkRSVl9QQ01fVFJJR0dFUl9QQVVTRV9SRUxFQVNFOgorCQlzc2Nfd3JpdGV4KHBhcmFtcy0+c3NjLT5yZWdzLCBBVE1FTF9QRENfUFRDUiwKKwkJCSAgIHBhcmFtcy0+bWFzay0+cGRjX2VuYWJsZSk7CisJCWJyZWFrOworCisJZGVmYXVsdDoKKwkJcmV0ID0gLUVJTlZBTDsKKwl9CisKKwlyZXR1cm4gcmV0OworfQorCisKKworc3RhdGljIHNuZF9wY21fdWZyYW1lc190IGF0MzJfcGNtX3BvaW50ZXIoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCit7CisJc3RydWN0IHNuZF9wY21fcnVudGltZSAqcnVudGltZSA9IHN1YnN0cmVhbS0+cnVudGltZTsKKwlzdHJ1Y3QgYXQzMl9ydW50aW1lX2RhdGEgKnBydGQgPSBydW50aW1lLT5wcml2YXRlX2RhdGE7CisJc3RydWN0IGF0MzJfcGNtX2RtYV9wYXJhbXMgKnBhcmFtcyA9IHBydGQtPnBhcmFtczsKKwlkbWFfYWRkcl90IHB0cjsKKwlzbmRfcGNtX3VmcmFtZXNfdCB4OworCisJcHRyID0gKGRtYV9hZGRyX3QpIHNzY19yZWFkeChwYXJhbXMtPnNzYy0+cmVncywgcGFyYW1zLT5wZGMtPnhwcik7CisJeCA9IGJ5dGVzX3RvX2ZyYW1lcyhydW50aW1lLCBwdHIgLSBwcnRkLT5kbWFfYnVmZmVyKTsKKworCWlmICh4ID09IHJ1bnRpbWUtPmJ1ZmZlcl9zaXplKQorCQl4ID0gMDsKKworCXJldHVybiB4OworfQorCisKKworc3RhdGljIGludCBhdDMyX3BjbV9vcGVuKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQoreworCXN0cnVjdCBzbmRfcGNtX3J1bnRpbWUgKnJ1bnRpbWUgPSBzdWJzdHJlYW0tPnJ1bnRpbWU7CisJc3RydWN0IGF0MzJfcnVudGltZV9kYXRhICpwcnRkOworCWludCByZXQgPSAwOworCisJc25kX3NvY19zZXRfcnVudGltZV9od3BhcmFtcyhzdWJzdHJlYW0sICZhdDMyX3BjbV9oYXJkd2FyZSk7CisKKwkvKiBlbnN1cmUgdGhhdCBidWZmZXIgc2l6ZSBpcyBhIG11bHRpcGxlIG9mIHBlcmlvZCBzaXplICovCisJcmV0ID0gc25kX3BjbV9od19jb25zdHJhaW50X2ludGVnZXIocnVudGltZSwKKwkJCQkJICAgIFNORFJWX1BDTV9IV19QQVJBTV9QRVJJT0RTKTsKKwlpZiAocmV0IDwgMCkKKwkJZ290byBvdXQ7CisKKwlwcnRkID0ga3phbGxvYyhzaXplb2YoKnBydGQpLCBHRlBfS0VSTkVMKTsKKwlpZiAocHJ0ZCA9PSBOVUxMKSB7CisJCXJldCA9IC1FTk9NRU07CisJCWdvdG8gb3V0OworCX0KKwlydW50aW1lLT5wcml2YXRlX2RhdGEgPSBwcnRkOworCisKK291dDoKKwlyZXR1cm4gcmV0OworfQorCisKKworc3RhdGljIGludCBhdDMyX3BjbV9jbG9zZShzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKK3sKKwlzdHJ1Y3QgYXQzMl9ydW50aW1lX2RhdGEgKnBydGQgPSBzdWJzdHJlYW0tPnJ1bnRpbWUtPnByaXZhdGVfZGF0YTsKKworCWtmcmVlKHBydGQpOworCXJldHVybiAwOworfQorCisKK3N0YXRpYyBpbnQgYXQzMl9wY21fbW1hcChzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSwKKwkJCSBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSkKK3sKKwlyZXR1cm4gcmVtYXBfcGZuX3JhbmdlKHZtYSwgdm1hLT52bV9zdGFydCwKKwkJCSAgICAgICBzdWJzdHJlYW0tPmRtYV9idWZmZXIuYWRkciA+PiBQQUdFX1NISUZULAorCQkJICAgICAgIHZtYS0+dm1fZW5kIC0gdm1hLT52bV9zdGFydCwgdm1hLT52bV9wYWdlX3Byb3QpOworfQorCisKKworc3RhdGljIHN0cnVjdCBzbmRfcGNtX29wcyBhdDMyX3BjbV9vcHMgPSB7CisJLm9wZW4gPSBhdDMyX3BjbV9vcGVuLAorCS5jbG9zZSA9IGF0MzJfcGNtX2Nsb3NlLAorCS5pb2N0bCA9IHNuZF9wY21fbGliX2lvY3RsLAorCS5od19wYXJhbXMgPSBhdDMyX3BjbV9od19wYXJhbXMsCisJLmh3X2ZyZWUgPSBhdDMyX3BjbV9od19mcmVlLAorCS5wcmVwYXJlID0gYXQzMl9wY21fcHJlcGFyZSwKKwkudHJpZ2dlciA9IGF0MzJfcGNtX3RyaWdnZXIsCisJLnBvaW50ZXIgPSBhdDMyX3BjbV9wb2ludGVyLAorCS5tbWFwID0gYXQzMl9wY21fbW1hcCwKK307CisKKworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlwKKyAqIEFTb0MgcGxhdGZvcm0gZHJpdmVyCitcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KK3N0YXRpYyB1NjQgYXQzMl9wY21fZG1hbWFzayA9IDB4ZmZmZmZmZmY7CisKK3N0YXRpYyBpbnQgYXQzMl9wY21fbmV3KHN0cnVjdCBzbmRfY2FyZCAqY2FyZCwKKwkJCXN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLAorCQkJc3RydWN0IHNuZF9wY20gKnBjbSkKK3sKKwlpbnQgcmV0ID0gMDsKKworCWlmICghY2FyZC0+ZGV2LT5kbWFfbWFzaykKKwkJY2FyZC0+ZGV2LT5kbWFfbWFzayA9ICZhdDMyX3BjbV9kbWFtYXNrOworCWlmICghY2FyZC0+ZGV2LT5jb2hlcmVudF9kbWFfbWFzaykKKwkJY2FyZC0+ZGV2LT5jb2hlcmVudF9kbWFfbWFzayA9IDB4ZmZmZmZmZmY7CisKKwlpZiAoZGFpLT5wbGF5YmFjay5jaGFubmVsc19taW4pIHsKKwkJcmV0ID0gYXQzMl9wY21fcHJlYWxsb2NhdGVfZG1hX2J1ZmZlcigKKwkJCSAgcGNtLCBTTkRSVl9QQ01fU1RSRUFNX1BMQVlCQUNLKTsKKwkJaWYgKHJldCkKKwkJCWdvdG8gb3V0OworCX0KKworCWlmIChkYWktPmNhcHR1cmUuY2hhbm5lbHNfbWluKSB7CisJCXByX2RlYnVnKCJhdDMyLXBjbTogQWxsb2NhdGluZyBQQ00gY2FwdHVyZSBETUEgYnVmZmVyXG4iKTsKKwkJcmV0ID0gYXQzMl9wY21fcHJlYWxsb2NhdGVfZG1hX2J1ZmZlcigKKwkJCSAgcGNtLCBTTkRSVl9QQ01fU1RSRUFNX0NBUFRVUkUpOworCQlpZiAocmV0KQorCQkJZ290byBvdXQ7CisJfQorCisKK291dDoKKwlyZXR1cm4gcmV0OworfQorCisKKworc3RhdGljIHZvaWQgYXQzMl9wY21fZnJlZV9kbWFfYnVmZmVycyhzdHJ1Y3Qgc25kX3BjbSAqcGNtKQoreworCXN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtOworCXN0cnVjdCBzbmRfZG1hX2J1ZmZlciAqYnVmOworCWludCBzdHJlYW07CisKKwlmb3IgKHN0cmVhbSA9IDA7IHN0cmVhbSA8IDI7IHN0cmVhbSsrKSB7CisJCXN1YnN0cmVhbSA9IHBjbS0+c3RyZWFtc1tzdHJlYW1dLnN1YnN0cmVhbTsKKwkJaWYgKHN1YnN0cmVhbSA9PSBOVUxMKQorCQkJY29udGludWU7CisKKwkJYnVmID0gJnN1YnN0cmVhbS0+ZG1hX2J1ZmZlcjsKKwkJaWYgKCFidWYtPmFyZWEpCisJCQljb250aW51ZTsKKwkJZG1hX2ZyZWVfY29oZXJlbnQocGNtLT5jYXJkLT5kZXYsIGJ1Zi0+Ynl0ZXMsCisJCQkJICBidWYtPmFyZWEsIGJ1Zi0+YWRkcik7CisJCWJ1Zi0+YXJlYSA9IE5VTEw7CisJfQorfQorCisKKworI2lmZGVmIENPTkZJR19QTQorc3RhdGljIGludCBhdDMyX3BjbV9zdXNwZW5kKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCisJCQkgICAgc3RydWN0IHNuZF9zb2NfZGFpICpkYWkpCit7CisJc3RydWN0IHNuZF9wY21fcnVudGltZSAqcnVudGltZSA9IGRhaS0+cnVudGltZTsKKwlzdHJ1Y3QgYXQzMl9ydW50aW1lX2RhdGEgKnBydGQ7CisJc3RydWN0IGF0MzJfcGNtX2RtYV9wYXJhbXMgKnBhcmFtczsKKworCWlmIChydW50aW1lID09IE5VTEwpCisJCXJldHVybiAwOworCXBydGQgPSBydW50aW1lLT5wcml2YXRlX2RhdGE7CisJcGFyYW1zID0gcHJ0ZC0+cGFyYW1zOworCisJLyogRGlzYWJsZSB0aGUgUERDIGFuZCBzYXZlIHRoZSBQREMgcmVnaXN0ZXJzICovCisJc3NjX3dyaXRleChwYXJhbXMtPnNzYy0+cmVncywgUERDX1BUQ1IsIHBhcmFtcy0+bWFzay0+cGRjX2Rpc2FibGUpOworCisJcHJ0ZC0+cGRjX3hwcl9zYXZlID0gc3NjX3JlYWR4KHBhcmFtcy0+c3NjLT5yZWdzLCBwYXJhbXMtPnBkYy0+eHByKTsKKwlwcnRkLT5wZGNfeGNyX3NhdmUgPSBzc2NfcmVhZHgocGFyYW1zLT5zc2MtPnJlZ3MsIHBhcmFtcy0+cGRjLT54Y3IpOworCXBydGQtPnBkY194bnByX3NhdmUgPSBzc2NfcmVhZHgocGFyYW1zLT5zc2MtPnJlZ3MsIHBhcmFtcy0+cGRjLT54bnByKTsKKwlwcnRkLT5wZGNfeG5jcl9zYXZlID0gc3NjX3JlYWR4KHBhcmFtcy0+c3NjLT5yZWdzLCBwYXJhbXMtPnBkYy0+eG5jcik7CisKKwlyZXR1cm4gMDsKK30KKworCisKK3N0YXRpYyBpbnQgYXQzMl9wY21fcmVzdW1lKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCisJCQkgICBzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSkKK3sKKwlzdHJ1Y3Qgc25kX3BjbV9ydW50aW1lICpydW50aW1lID0gZGFpLT5ydW50aW1lOworCXN0cnVjdCBhdDMyX3J1bnRpbWVfZGF0YSAqcHJ0ZDsKKwlzdHJ1Y3QgYXQzMl9wY21fZG1hX3BhcmFtcyAqcGFyYW1zOworCisJaWYgKHJ1bnRpbWUgPT0gTlVMTCkKKwkJcmV0dXJuIDA7CisJcHJ0ZCA9IHJ1bnRpbWUtPnByaXZhdGVfZGF0YTsKKwlwYXJhbXMgPSBwcnRkLT5wYXJhbXM7CisKKwkvKiBSZXN0b3JlIHRoZSBQREMgcmVnaXN0ZXJzIGFuZCBlbmFibGUgdGhlIFBEQyAqLworCXNzY193cml0ZXgocGFyYW1zLT5zc2MtPnJlZ3MsIHBhcmFtcy0+cGRjLT54cHIsIHBydGQtPnBkY194cHJfc2F2ZSk7CisJc3NjX3dyaXRleChwYXJhbXMtPnNzYy0+cmVncywgcGFyYW1zLT5wZGMtPnhjciwgcHJ0ZC0+cGRjX3hjcl9zYXZlKTsKKwlzc2Nfd3JpdGV4KHBhcmFtcy0+c3NjLT5yZWdzLCBwYXJhbXMtPnBkYy0+eG5wciwgcHJ0ZC0+cGRjX3hucHJfc2F2ZSk7CisJc3NjX3dyaXRleChwYXJhbXMtPnNzYy0+cmVncywgcGFyYW1zLT5wZGMtPnhuY3IsIHBydGQtPnBkY194bmNyX3NhdmUpOworCisJc3NjX3dyaXRleChwYXJhbXMtPnNzYy0+cmVncywgUERDX1BUQ1IsIHBhcmFtcy0+bWFzay0+cGRjX2VuYWJsZSk7CisJcmV0dXJuIDA7Cit9CisjZWxzZSAvKiBDT05GSUdfUE0gKi8KKyMgIGRlZmluZSBhdDMyX3BjbV9zdXNwZW5kCU5VTEwKKyMgIGRlZmluZSBhdDMyX3BjbV9yZXN1bWUJTlVMTAorI2VuZGlmIC8qIENPTkZJR19QTSAqLworCisKKworc3RydWN0IHNuZF9zb2NfcGxhdGZvcm0gYXQzMl9zb2NfcGxhdGZvcm0gPSB7CisJLm5hbWUgPSAiYXQzMi1hdWRpbyIsCisJLnBjbV9vcHMgPSAmYXQzMl9wY21fb3BzLAorCS5wY21fbmV3ID0gYXQzMl9wY21fbmV3LAorCS5wY21fZnJlZSA9IGF0MzJfcGNtX2ZyZWVfZG1hX2J1ZmZlcnMsCisJLnN1c3BlbmQgPSBhdDMyX3BjbV9zdXNwZW5kLAorCS5yZXN1bWUgPSBhdDMyX3BjbV9yZXN1bWUsCit9OworRVhQT1JUX1NZTUJPTF9HUEwoYXQzMl9zb2NfcGxhdGZvcm0pOworCisKKworTU9EVUxFX0FVVEhPUigiR2VvZmZyZXkgV29zc3VtIDxnd29zc3VtQGFjbS5vcmc+Iik7CitNT0RVTEVfREVTQ1JJUFRJT04oIkF0bWVsIEFUMzIgUENNIG1vZHVsZSIpOworTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2F0MzIvYXQzMi1wY20uaCBiL3NvdW5kL3NvYy9hdDMyL2F0MzItcGNtLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmE1MjQzMAotLS0gL2Rldi9udWxsCisrKyBiL3NvdW5kL3NvYy9hdDMyL2F0MzItcGNtLmgKQEAgLTAsMCArMSw3OSBAQAorLyogc291bmQvc29jL2F0MzIvYXQzMi1wY20uaAorICogQVNvQyBQQ00gaW50ZXJmYWNlIGZvciBBdG1lbCBBVDMyIFNvQworICoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBMb25nIFJhbmdlIFN5c3RlbXMKKyAqICAgIEdlb2ZmcmV5IFdvc3N1bSA8Z3dvc3N1bUBhY20ub3JnPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKi8KKworI2lmbmRlZiBfX1NPVU5EX1NPQ19BVDMyX0FUMzJfUENNX0gKKyNkZWZpbmUgX19TT1VORF9TT0NfQVQzMl9BVDMyX1BDTV9IIF9fRklMRV9fCisKKyNpbmNsdWRlIDxsaW51eC9hdG1lbC1zc2MuaD4KKworCisvKgorICogUmVnaXN0ZXJzIGFuZCBzdGF0dXMgYml0cyB0aGF0IGFyZSByZXF1aXJlZCBieSB0aGUgUENNIGRyaXZlcgorICogVE9ETzogSXMgcHRjciByZWFsbHkgdXNlZD8KKyAqLworc3RydWN0IGF0MzJfcGRjX3JlZ3MgeworCXUzMiB4cHI7CQkvKiBQREMgUlgvVFggcG9pbnRlciAqLworCXUzMiB4Y3I7CQkvKiBQREMgUlgvVFggY291bnRlciAqLworCXUzMiB4bnByOwkJLyogUERDIG5leHQgUlgvVFggcG9pbnRlciAqLworCXUzMiB4bmNyOwkJLyogUERDIG5leHQgUlgvVFggY291bnRlciAqLworCXUzMiBwdGNyOwkJLyogUERDIHRyYW5zZmVyIGNvbnRyb2wgKi8KK307CisKKworCisvKgorICogU1NDIG1hc2sgaW5mbworICovCitzdHJ1Y3QgYXQzMl9zc2NfbWFzayB7CisJdTMyIHNzY19lbmFibGU7CQkvKiBTU0MgUlgvVFggZW5hYmxlICovCisJdTMyIHNzY19kaXNhYmxlOwkvKiBTU0MgUlgvVFggZGlzYWJsZSAqLworCXUzMiBzc2NfZW5keDsJCS8qIFNTQyBFTkRUWCBvciBFTkRSWCAqLworCXUzMiBzc2NfZW5kYnVmOwkJLyogU1NDIFRYQlVGRiBvciBSWEJVRkYgKi8KKwl1MzIgcGRjX2VuYWJsZTsJCS8qIFBEQyBSWC9UWCBlbmFibGUgKi8KKwl1MzIgcGRjX2Rpc2FibGU7CS8qIFBEQyBSWC9UWCBkaXNhYmxlICovCit9OworCisKKworLyoKKyAqIFRoaXMgc3RydWN0dXJlLCBzaGFyZWQgYmV0d2VlbiB0aGUgUENNIGRyaXZlciBhbmQgdGhlIGludGVyZmFjZSwKKyAqIGNvbnRhaW5zIGFsbCBpbmZvcm1hdGlvbiByZXF1aXJlZCBieSB0aGUgUENNIGRyaXZlciB0byBwZXJmb3JtIHRoZQorICogUERDIERNQSBvcGVyYXRpb24uICBBbGwgZmllbGRzIGV4Y2VwdCBkbWFfaW50cl9oYW5kbGVyKCkgYXJlIGluaXRpYWxpemVkCisgKiBieSB0aGUgaW50ZXJmYWNlLiAgVGhlIGRtc19pbnRyX2hhbmRsZXIoKSBwb2ludGVyIGlzIHNldCBieSB0aGUgUENNCisgKiBkcml2ZXIgYW5kIGNhbGxlZCBieSB0aGUgaW50ZXJmYWNlIFNTQyBpbnRlcnJ1cHQgaGFuZGxlciBpZiBpdCBpcworICogbm9uLU5VTEwuCisgKi8KK3N0cnVjdCBhdDMyX3BjbV9kbWFfcGFyYW1zIHsKKwljaGFyICpuYW1lOwkJLyogc3RyZWFtIGlkZW50aWZpZXIgKi8KKwlpbnQgcGRjX3hmZXJfc2l6ZTsJLyogUERDIGNvdW50ZXIgaW5jcmVtZW50IGluIGJ5dGVzICovCisJc3RydWN0IHNzY19kZXZpY2UgKnNzYzsJLyogU1NDIGRldmljZSBmb3Igc3RyZWFtICovCisJc3RydWN0IGF0MzJfcGRjX3JlZ3MgKnBkYzsJLyogUERDIHJlZ2lzdGVyIGluZm8gKi8KKwlzdHJ1Y3QgYXQzMl9zc2NfbWFzayAqbWFzazsJLyogU1NDIG1hc2sgaW5mbyAqLworCXN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtOworCXZvaWQgKCpkbWFfaW50cl9oYW5kbGVyKSAodTMyLCBzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKik7Cit9OworCisKKworLyoKKyAqIFRoZSBBVDMyIEFTb0MgcGxhdGZvcm0gZHJpdmVyCisgKi8KK2V4dGVybiBzdHJ1Y3Qgc25kX3NvY19wbGF0Zm9ybSBhdDMyX3NvY19wbGF0Zm9ybTsKKworCisKKy8qCisgKiBTU0MgcmVnaXN0ZXIgYWNjZXNzIChzaW5jZSBzc2Nfd3JpdGVsKCkgLyBzc2NfcmVhZGwoKSByZXF1aXJlIGxpdGVyYWwgbmFtZSkKKyAqLworI2RlZmluZSBzc2NfcmVhZHgoYmFzZSwgcmVnKSAgICAgICAgICAgIChfX3Jhd19yZWFkbCgoYmFzZSkgKyAocmVnKSkpCisjZGVmaW5lIHNzY193cml0ZXgoYmFzZSwgcmVnLCB2YWx1ZSkgICAgX19yYXdfd3JpdGVsKCh2YWx1ZSksIChiYXNlKSArIChyZWcpKQorCisjZW5kaWYgLyogX19TT1VORF9TT0NfQVQzMl9BVDMyX1BDTV9IICovCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvYXQzMi9hdDMyLXNzYy5jIGIvc291bmQvc29jL2F0MzIvYXQzMi1zc2MuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZWY2NDkyCi0tLSAvZGV2L251bGwKKysrIGIvc291bmQvc29jL2F0MzIvYXQzMi1zc2MuYwpAQCAtMCwwICsxLDg0OSBAQAorLyogc291bmQvc29jL2F0MzIvYXQzMi1zc2MuYworICogQVNvQyBwbGF0Zm9ybSBkcml2ZXIgZm9yIEFUMzIgdXNpbmcgU1NDIGFzIERBSQorICoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBMb25nIFJhbmdlIFN5c3RlbXMKKyAqICAgIEdlb2ZmcmV5IFdvc3N1bSA8Z3dvc3N1bUBhY20ub3JnPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKgorICogTm90ZSB0aGF0IHRoaXMgaXMgYmFzaWNhbGx5IGEgcG9ydCBvZiB0aGUgc291bmQvc29jL2F0OTEtc3NjLmMgdG8KKyAqIHRoZSBBVlIzMiBrZXJuZWwuICBUaGFua3MgdG8gRnJhbmsgTWFuZGFyaW5vIGZvciB0aGF0IGNvZGUuCisgKi8KKworLyogI2RlZmluZSBERUJVRyAqLworCisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgorI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CisjaW5jbHVkZSA8bGludXgvY2xrLmg+CisjaW5jbHVkZSA8bGludXgvaW8uaD4KKyNpbmNsdWRlIDxsaW51eC9hdG1lbF9wZGMuaD4KKyNpbmNsdWRlIDxsaW51eC9hdG1lbC1zc2MuaD4KKworI2luY2x1ZGUgPHNvdW5kL2NvcmUuaD4KKyNpbmNsdWRlIDxzb3VuZC9wY20uaD4KKyNpbmNsdWRlIDxzb3VuZC9wY21fcGFyYW1zLmg+CisjaW5jbHVkZSA8c291bmQvaW5pdHZhbC5oPgorI2luY2x1ZGUgPHNvdW5kL3NvYy5oPgorCisjaW5jbHVkZSAiYXQzMi1wY20uaCIKKyNpbmNsdWRlICJhdDMyLXNzYy5oIgorCisKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlwKKyAqIENvbnN0YW50cworXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKyNkZWZpbmUgTlVNX1NTQ19ERVZJQ0VTCQkzCisKKy8qCisgKiBTU0MgZGlyZWN0aW9uIG1hc2tzCisgKi8KKyNkZWZpbmUgU1NDX0RJUl9NQVNLX1VOVVNFRAkwCisjZGVmaW5lIFNTQ19ESVJfTUFTS19QTEFZQkFDSwkxCisjZGVmaW5lIFNTQ19ESVJfTUFTS19DQVBUVVJFCTIKKworLyoKKyAqIFNTQyByZWdpc3RlciB2YWx1ZXMgdGhhdCBBdG1lbCBsZWZ0IG91dCBvZiA8bGludXgvYXRtZWwtc3NjLmg+LiAgVGhlc2UKKyAqIGFyZSBleHBlY3RlZCB0byBiZSB1c2VkIHdpdGggU1NDX0JGCisgKi8KKy8qIFNUQVJUIGJpdCBmaWVsZCB2YWx1ZXMgKi8KKyNkZWZpbmUgU1NDX1NUQVJUX0NPTlRJTlVPVVMJMAorI2RlZmluZSBTU0NfU1RBUlRfVFhfUlgJCTEKKyNkZWZpbmUgU1NDX1NUQVJUX0xPV19SRgkyCisjZGVmaW5lIFNTQ19TVEFSVF9ISUdIX1JGCTMKKyNkZWZpbmUgU1NDX1NUQVJUX0ZBTExJTkdfUkYJNAorI2RlZmluZSBTU0NfU1RBUlRfUklTSU5HX1JGCTUKKyNkZWZpbmUgU1NDX1NUQVJUX0xFVkVMX1JGCTYKKyNkZWZpbmUgU1NDX1NUQVJUX0VER0VfUkYJNworI2RlZmluZSBTU1NfU1RBUlRfQ09NUEFSRV8wCTgKKworLyogQ0tJIGJpdCBmaWVsZCB2YWx1ZXMgKi8KKyNkZWZpbmUgU1NDX0NLSV9GQUxMSU5HCQkwCisjZGVmaW5lIFNTQ19DS0lfUklTSU5HCQkxCisKKy8qIENLTyBiaXQgZmllbGQgdmFsdWVzICovCisjZGVmaW5lIFNTQ19DS09fTk9ORQkJMAorI2RlZmluZSBTU0NfQ0tPX0NPTlRJTlVPVVMJMQorI2RlZmluZSBTU0NfQ0tPX1RSQU5TRkVSCTIKKworLyogQ0tTIGJpdCBmaWVsZCB2YWx1ZXMgKi8KKyNkZWZpbmUgU1NDX0NLU19ESVYJCTAKKyNkZWZpbmUgU1NDX0NLU19DTE9DSwkJMQorI2RlZmluZSBTU0NfQ0tTX1BJTgkJMgorCisvKiBGU0VER0UgYml0IGZpZWxkIHZhbHVlcyAqLworI2RlZmluZSBTU0NfRlNFREdFX1BPU0lUSVZFCTAKKyNkZWZpbmUgU1NDX0ZTRURHRV9ORUdBVElWRQkxCisKKy8qIEZTT1MgYml0IGZpZWxkIHZhbHVlcyAqLworI2RlZmluZSBTU0NfRlNPU19OT05FCQkwCisjZGVmaW5lIFNTQ19GU09TX05FR0FUSVZFCTEKKyNkZWZpbmUgU1NDX0ZTT1NfUE9TSVRJVkUJMgorI2RlZmluZSBTU0NfRlNPU19MT1cJCTMKKyNkZWZpbmUgU1NDX0ZTT1NfSElHSAkJNAorI2RlZmluZSBTU0NfRlNPU19UT0dHTEUJCTUKKworI2RlZmluZSBTVEFSVF9ERUxBWQkJMQorCisKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlwKKyAqIE1vZHVsZSBkYXRhCitcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworLyoKKyAqIFNTQyBQREMgcmVnaXN0ZXJlZCByZXF1aXJlZCBieSB0aGUgUENNIERNQSBlbmdpbmUKKyAqLworc3RhdGljIHN0cnVjdCBhdDMyX3BkY19yZWdzIHBkY190eF9yZWcgPSB7CisJLnhwciA9IFNTQ19QRENfVFBSLAorCS54Y3IgPSBTU0NfUERDX1RDUiwKKwkueG5wciA9IFNTQ19QRENfVE5QUiwKKwkueG5jciA9IFNTQ19QRENfVE5DUiwKK307CisKKworCitzdGF0aWMgc3RydWN0IGF0MzJfcGRjX3JlZ3MgcGRjX3J4X3JlZyA9IHsKKwkueHByID0gU1NDX1BEQ19SUFIsCisJLnhjciA9IFNTQ19QRENfUkNSLAorCS54bnByID0gU1NDX1BEQ19STlBSLAorCS54bmNyID0gU1NDX1BEQ19STkNSLAorfTsKKworCisKKy8qCisgKiBTU0MgYW5kIFBEQyBzdGF0dXMgYml0cyBmb3IgdHJhbnNtaXQgYW5kIHJlY2VpdmUKKyAqLworc3RhdGljIHN0cnVjdCBhdDMyX3NzY19tYXNrIHNzY190eF9tYXNrID0geworCS5zc2NfZW5hYmxlID0gU1NDX0JJVChDUl9UWEVOKSwKKwkuc3NjX2Rpc2FibGUgPSBTU0NfQklUKENSX1RYRElTKSwKKwkuc3NjX2VuZHggPSBTU0NfQklUKFNSX0VORFRYKSwKKwkuc3NjX2VuZGJ1ZiA9IFNTQ19CSVQoU1JfVFhCVUZFKSwKKwkucGRjX2VuYWJsZSA9IFNTQ19CSVQoUERDX1BUQ1JfVFhURU4pLAorCS5wZGNfZGlzYWJsZSA9IFNTQ19CSVQoUERDX1BUQ1JfVFhURElTKSwKK307CisKKworCitzdGF0aWMgc3RydWN0IGF0MzJfc3NjX21hc2sgc3NjX3J4X21hc2sgPSB7CisJLnNzY19lbmFibGUgPSBTU0NfQklUKENSX1JYRU4pLAorCS5zc2NfZGlzYWJsZSA9IFNTQ19CSVQoQ1JfUlhESVMpLAorCS5zc2NfZW5keCA9IFNTQ19CSVQoU1JfRU5EUlgpLAorCS5zc2NfZW5kYnVmID0gU1NDX0JJVChTUl9SWEJVRkYpLAorCS5wZGNfZW5hYmxlID0gU1NDX0JJVChQRENfUFRDUl9SWFRFTiksCisJLnBkY19kaXNhYmxlID0gU1NDX0JJVChQRENfUFRDUl9SWFRESVMpLAorfTsKKworCisKKy8qCisgKiBETUEgcGFyYW1ldGVycyBmb3IgZWFjaCBTU0MKKyAqLworc3RhdGljIHN0cnVjdCBhdDMyX3BjbV9kbWFfcGFyYW1zIHNzY19kbWFfcGFyYW1zW05VTV9TU0NfREVWSUNFU11bMl0gPSB7CisJeworCSB7CisJICAubmFtZSA9ICJTU0MwIFBDTSBvdXQiLAorCSAgLnBkYyA9ICZwZGNfdHhfcmVnLAorCSAgLm1hc2sgPSAmc3NjX3R4X21hc2ssCisJICB9LAorCSB7CisJICAubmFtZSA9ICJTU0MwIFBDTSBpbiIsCisJICAucGRjID0gJnBkY19yeF9yZWcsCisJICAubWFzayA9ICZzc2NfcnhfbWFzaywKKwkgIH0sCisJIH0sCisJeworCSB7CisJICAubmFtZSA9ICJTU0MxIFBDTSBvdXQiLAorCSAgLnBkYyA9ICZwZGNfdHhfcmVnLAorCSAgLm1hc2sgPSAmc3NjX3R4X21hc2ssCisJICB9LAorCSB7CisJICAubmFtZSA9ICJTU0MxIFBDTSBpbiIsCisJICAucGRjID0gJnBkY19yeF9yZWcsCisJICAubWFzayA9ICZzc2NfcnhfbWFzaywKKwkgIH0sCisJIH0sCisJeworCSB7CisJICAubmFtZSA9ICJTU0MyIFBDTSBvdXQiLAorCSAgLnBkYyA9ICZwZGNfdHhfcmVnLAorCSAgLm1hc2sgPSAmc3NjX3R4X21hc2ssCisJICB9LAorCSB7CisJICAubmFtZSA9ICJTU0MyIFBDTSBpbiIsCisJICAucGRjID0gJnBkY19yeF9yZWcsCisJICAubWFzayA9ICZzc2NfcnhfbWFzaywKKwkgIH0sCisJIH0sCit9OworCisKKworc3RhdGljIHN0cnVjdCBhdDMyX3NzY19pbmZvIHNzY19pbmZvW05VTV9TU0NfREVWSUNFU10gPSB7CisJeworCSAubmFtZSA9ICJzc2MwIiwKKwkgLmxvY2sgPSBfX1NQSU5fTE9DS19VTkxPQ0tFRChzc2NfaW5mb1swXS5sb2NrKSwKKwkgLmRpcl9tYXNrID0gU1NDX0RJUl9NQVNLX1VOVVNFRCwKKwkgLmluaXRpYWxpemVkID0gMCwKKwkgfSwKKwl7CisJIC5uYW1lID0gInNzYzEiLAorCSAubG9jayA9IF9fU1BJTl9MT0NLX1VOTE9DS0VEKHNzY19pbmZvWzFdLmxvY2spLAorCSAuZGlyX21hc2sgPSBTU0NfRElSX01BU0tfVU5VU0VELAorCSAuaW5pdGlhbGl6ZWQgPSAwLAorCSB9LAorCXsKKwkgLm5hbWUgPSAic3NjMiIsCisJIC5sb2NrID0gX19TUElOX0xPQ0tfVU5MT0NLRUQoc3NjX2luZm9bMl0ubG9jayksCisJIC5kaXJfbWFzayA9IFNTQ19ESVJfTUFTS19VTlVTRUQsCisJIC5pbml0aWFsaXplZCA9IDAsCisJIH0sCit9OworCisKKworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXAorICogSVNSCitcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworLyoKKyAqIFNTQyBpbnRlcnJ1cHQgaGFuZGxlci4gIFBhc3NlcyBQREMgaW50ZXJydXB0cyB0byB0aGUgRE1BIGludGVycnVwdAorICogaGFuZGxlciBpbiB0aGUgUENNIGRyaXZlci4KKyAqLworc3RhdGljIGlycXJldHVybl90IGF0MzJfc3NjX2ludGVycnVwdChpbnQgaXJxLCB2b2lkICpkZXZfaWQpCit7CisJc3RydWN0IGF0MzJfc3NjX2luZm8gKnNzY19wID0gZGV2X2lkOworCXN0cnVjdCBhdDMyX3BjbV9kbWFfcGFyYW1zICpkbWFfcGFyYW1zOworCXUzMiBzc2Nfc3I7CisJdTMyIHNzY19zdWJzdHJlYW1fbWFzazsKKwlpbnQgaTsKKworCXNzY19zciA9IChzc2NfcmVhZGwoc3NjX3AtPnNzYy0+cmVncywgU1IpICYKKwkJICBzc2NfcmVhZGwoc3NjX3AtPnNzYy0+cmVncywgSU1SKSk7CisKKwkvKgorCSAqIExvb3AgdGhyb3VnaCBzdWJzdHJlYW1zIGF0dGFjaGVkIHRvIHRoaXMgU1NDLiAgSWYgYSBETUEtcmVsYXRlZAorCSAqIGludGVycnVwdCBvY2N1cmVkIG9uIHRoYXQgc3Vic3RyZWFtLCBjYWxsIHRoZSBETUEgaW50ZXJydXB0CisJICogaGFuZGxlciBmdW5jdGlvbiwgaWYgb25lIGhhcyBiZWVuIHJlZ2lzdGVyZWQgaW4gdGhlIGRtYV9wYXJhbQorCSAqIHN0cnVjdHVyZSBieSB0aGUgUENNIGRyaXZlci4KKwkgKi8KKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShzc2NfcC0+ZG1hX3BhcmFtcyk7IGkrKykgeworCQlkbWFfcGFyYW1zID0gc3NjX3AtPmRtYV9wYXJhbXNbaV07CisKKwkJaWYgKChkbWFfcGFyYW1zICE9IE5VTEwpICYmCisJCSAgICAoZG1hX3BhcmFtcy0+ZG1hX2ludHJfaGFuZGxlciAhPSBOVUxMKSkgeworCQkJc3NjX3N1YnN0cmVhbV9tYXNrID0gKGRtYV9wYXJhbXMtPm1hc2stPnNzY19lbmR4IHwKKwkJCQkJICAgICAgZG1hX3BhcmFtcy0+bWFzay0+c3NjX2VuZGJ1Zik7CisJCQlpZiAoc3NjX3NyICYgc3NjX3N1YnN0cmVhbV9tYXNrKSB7CisJCQkJZG1hX3BhcmFtcy0+ZG1hX2ludHJfaGFuZGxlcihzc2Nfc3IsCisJCQkJCQkJICAgICBkbWFfcGFyYW1zLT4KKwkJCQkJCQkgICAgIHN1YnN0cmVhbSk7CisJCQl9CisJCX0KKwl9CisKKworCXJldHVybiBJUlFfSEFORExFRDsKK30KKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlwKKyAqIERBSSBmdW5jdGlvbnMKK1wqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisvKgorICogU3RhcnR1cC4gIE9ubHkgdGhhdCBvbmUgc3Vic3RyZWFtIGFsbG93ZWQgaW4gZWFjaCBkaXJlY3Rpb24uCisgKi8KK3N0YXRpYyBpbnQgYXQzMl9zc2Nfc3RhcnR1cChzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKK3sKKwlzdHJ1Y3Qgc25kX3NvY19wY21fcnVudGltZSAqcnRkID0gc3Vic3RyZWFtLT5wcml2YXRlX2RhdGE7CisJc3RydWN0IGF0MzJfc3NjX2luZm8gKnNzY19wID0gJnNzY19pbmZvW3J0ZC0+ZGFpLT5jcHVfZGFpLT5pZF07CisJaW50IGRpcl9tYXNrOworCisJZGlyX21hc2sgPSAoKHN1YnN0cmVhbS0+c3RyZWFtID09IFNORFJWX1BDTV9TVFJFQU1fUExBWUJBQ0spID8KKwkJICAgIFNTQ19ESVJfTUFTS19QTEFZQkFDSyA6IFNTQ19ESVJfTUFTS19DQVBUVVJFKTsKKworCXNwaW5fbG9ja19pcnEoJnNzY19wLT5sb2NrKTsKKwlpZiAoc3NjX3AtPmRpcl9tYXNrICYgZGlyX21hc2spIHsKKwkJc3Bpbl91bmxvY2tfaXJxKCZzc2NfcC0+bG9jayk7CisJCXJldHVybiAtRUJVU1k7CisJfQorCXNzY19wLT5kaXJfbWFzayB8PSBkaXJfbWFzazsKKwlzcGluX3VubG9ja19pcnEoJnNzY19wLT5sb2NrKTsKKworCXJldHVybiAwOworfQorCisKKworLyoKKyAqIFNodXRkb3duLiAgQ2xlYXIgRE1BIHBhcmFtZXRlcnMgYW5kIHNodXRkb3duIHRoZSBTU0MgaWYgdGhlcmUKKyAqIGFyZSBubyBvdGhlciBzdWJzdHJlYW1zIG9wZW4uCisgKi8KK3N0YXRpYyB2b2lkIGF0MzJfc3NjX3NodXRkb3duKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQoreworCXN0cnVjdCBzbmRfc29jX3BjbV9ydW50aW1lICpydGQgPSBzdWJzdHJlYW0tPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3QgYXQzMl9zc2NfaW5mbyAqc3NjX3AgPSAmc3NjX2luZm9bcnRkLT5kYWktPmNwdV9kYWktPmlkXTsKKwlzdHJ1Y3QgYXQzMl9wY21fZG1hX3BhcmFtcyAqZG1hX3BhcmFtczsKKwlpbnQgZGlyX21hc2s7CisKKwlkbWFfcGFyYW1zID0gc3NjX3AtPmRtYV9wYXJhbXNbc3Vic3RyZWFtLT5zdHJlYW1dOworCisJaWYgKGRtYV9wYXJhbXMgIT0gTlVMTCkgeworCQlzc2Nfd3JpdGVsKGRtYV9wYXJhbXMtPnNzYy0+cmVncywgQ1IsCisJCQkgICBkbWFfcGFyYW1zLT5tYXNrLT5zc2NfZGlzYWJsZSk7CisJCXByX2RlYnVnKCIlcyBkaXNhYmxlZCBTU0NfU1I9MHglMDh4XG4iLAorCQkJIChzdWJzdHJlYW0tPnN0cmVhbSA/ICJyZWNlaXZlciIgOiAidHJhbnNtaXQiKSwKKwkJCSBzc2NfcmVhZGwoc3NjX3AtPnNzYy0+cmVncywgU1IpKTsKKworCQlkbWFfcGFyYW1zLT5zc2MgPSBOVUxMOworCQlkbWFfcGFyYW1zLT5zdWJzdHJlYW0gPSBOVUxMOworCQlzc2NfcC0+ZG1hX3BhcmFtc1tzdWJzdHJlYW0tPnN0cmVhbV0gPSBOVUxMOworCX0KKworCisJZGlyX21hc2sgPSAxIDw8IHN1YnN0cmVhbS0+c3RyZWFtOworCXNwaW5fbG9ja19pcnEoJnNzY19wLT5sb2NrKTsKKwlzc2NfcC0+ZGlyX21hc2sgJj0gfmRpcl9tYXNrOworCWlmICghc3NjX3AtPmRpcl9tYXNrKSB7CisJCS8qIFNodXRkb3duIHRoZSBTU0MgY2xvY2sgKi8KKwkJcHJfZGVidWcoImF0MzItc3NjOiBTdG9wcGluZyB1c2VyICVkIGNsb2NrXG4iLAorCQkJIHNzY19wLT5zc2MtPnVzZXIpOworCQljbGtfZGlzYWJsZShzc2NfcC0+c3NjLT5jbGspOworCisJCWlmIChzc2NfcC0+aW5pdGlhbGl6ZWQpIHsKKwkJCWZyZWVfaXJxKHNzY19wLT5zc2MtPmlycSwgc3NjX3ApOworCQkJc3NjX3AtPmluaXRpYWxpemVkID0gMDsKKwkJfQorCisJCS8qIFJlc2V0IHRoZSBTU0MgKi8KKwkJc3NjX3dyaXRlbChzc2NfcC0+c3NjLT5yZWdzLCBDUiwgU1NDX0JJVChDUl9TV1JTVCkpOworCisJCS8qIGNsZWFyIHRoZSBTU0MgZGl2aWRlcnMgKi8KKwkJc3NjX3AtPmNtcl9kaXYgPSAwOworCQlzc2NfcC0+dGNtcl9wZXJpb2QgPSAwOworCQlzc2NfcC0+cmNtcl9wZXJpb2QgPSAwOworCX0KKwlzcGluX3VubG9ja19pcnEoJnNzY19wLT5sb2NrKTsKK30KKworCisKKy8qCisgKiBTZXQgdGhlIFNTQyBzeXN0ZW0gY2xvY2sgcmF0ZQorICovCitzdGF0aWMgaW50IGF0MzJfc3NjX3NldF9kYWlfc3lzY2xrKHN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSwKKwkJCQkgICBpbnQgY2xrX2lkLCB1bnNpZ25lZCBpbnQgZnJlcSwgaW50IGRpcikKK3sKKwkvKiBUT0RPOiBXaGF0IHRoZSBoZWNrIGRvIEkgZG8gaGVyZT8gKi8KKwlyZXR1cm4gMDsKK30KKworCisKKy8qCisgKiBSZWNvcmQgREFJIGZvcm1hdCBmb3IgdXNlIGJ5IGh3X3BhcmFtcygpCisgKi8KK3N0YXRpYyBpbnQgYXQzMl9zc2Nfc2V0X2RhaV9mbXQoc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpLAorCQkJCXVuc2lnbmVkIGludCBmbXQpCit7CisJc3RydWN0IGF0MzJfc3NjX2luZm8gKnNzY19wID0gJnNzY19pbmZvW2NwdV9kYWktPmlkXTsKKworCXNzY19wLT5kYWlmbXQgPSBmbXQ7CisJcmV0dXJuIDA7Cit9CisKKworCisvKgorICogUmVjb3JkIFNTQyBjbG9jayBkaXZpZGVycyBmb3IgdXNlIGluIGh3X3BhcmFtcygpCisgKi8KK3N0YXRpYyBpbnQgYXQzMl9zc2Nfc2V0X2RhaV9jbGtkaXYoc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpLAorCQkJCSAgIGludCBkaXZfaWQsIGludCBkaXYpCit7CisJc3RydWN0IGF0MzJfc3NjX2luZm8gKnNzY19wID0gJnNzY19pbmZvW2NwdV9kYWktPmlkXTsKKworCXN3aXRjaCAoZGl2X2lkKSB7CisJY2FzZSBBVDMyX1NTQ19DTVJfRElWOgorCQkvKgorCQkgKiBUaGUgc2FtZSBtYXN0ZXIgY2xvY2sgZGl2aWRlciBpcyB1c2VkIGZvciBib3RoCisJCSAqIHRyYW5zbWl0IGFuZCByZWNlaXZlLCBzbyBpZiBhIHZhbHVlIGhhcyBhbHJlYWR5CisJCSAqIGJlZW4gc2V0LCBpdCBtdXN0IG1hdGNoIHRoaXMgdmFsdWUKKwkJICovCisJCWlmIChzc2NfcC0+Y21yX2RpdiA9PSAwKQorCQkJc3NjX3AtPmNtcl9kaXYgPSBkaXY7CisJCWVsc2UgaWYgKGRpdiAhPSBzc2NfcC0+Y21yX2RpdikKKwkJCXJldHVybiAtRUJVU1k7CisJCWJyZWFrOworCisJY2FzZSBBVDMyX1NTQ19UQ01SX1BFUklPRDoKKwkJc3NjX3AtPnRjbXJfcGVyaW9kID0gZGl2OworCQlicmVhazsKKworCWNhc2UgQVQzMl9TU0NfUkNNUl9QRVJJT0Q6CisJCXNzY19wLT5yY21yX3BlcmlvZCA9IGRpdjsKKwkJYnJlYWs7CisKKwlkZWZhdWx0OgorCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworCisKKy8qCisgKiBDb25maWd1cmUgdGhlIFNTQworICovCitzdGF0aWMgaW50IGF0MzJfc3NjX2h3X3BhcmFtcyhzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSwKKwkJCSAgICAgIHN0cnVjdCBzbmRfcGNtX2h3X3BhcmFtcyAqcGFyYW1zKQoreworCXN0cnVjdCBzbmRfc29jX3BjbV9ydW50aW1lICpydGQgPSBzdWJzdHJlYW0tPnByaXZhdGVfZGF0YTsKKwlpbnQgaWQgPSBydGQtPmRhaS0+Y3B1X2RhaS0+aWQ7CisJc3RydWN0IGF0MzJfc3NjX2luZm8gKnNzY19wID0gJnNzY19pbmZvW2lkXTsKKwlzdHJ1Y3QgYXQzMl9wY21fZG1hX3BhcmFtcyAqZG1hX3BhcmFtczsKKwlpbnQgY2hhbm5lbHMsIGJpdHM7CisJdTMyIHRmbXIsIHJmbXIsIHRjbXIsIHJjbXI7CisJaW50IHN0YXJ0X2V2ZW50OworCWludCByZXQ7CisKKworCS8qCisJICogQ3VycmVudGx5LCB0aGVyZSBpcyBvbmx5IG9uZSBzZXQgb2YgZG1hX3BhcmFtcyBmb3IgZWFjaCBkaXJlY3Rpb24uCisJICogSWYgbW9yZSBhcmUgYWRkZWQsIHRoaXMgY29kZSB3aWxsIGhhdmUgdG8gYmUgY2hhbmdlZCB0byBzZWxlY3QKKwkgKiB0aGUgcHJvcGVyIHNldAorCSAqLworCWRtYV9wYXJhbXMgPSAmc3NjX2RtYV9wYXJhbXNbaWRdW3N1YnN0cmVhbS0+c3RyZWFtXTsKKwlkbWFfcGFyYW1zLT5zc2MgPSBzc2NfcC0+c3NjOworCWRtYV9wYXJhbXMtPnN1YnN0cmVhbSA9IHN1YnN0cmVhbTsKKworCXNzY19wLT5kbWFfcGFyYW1zW3N1YnN0cmVhbS0+c3RyZWFtXSA9IGRtYV9wYXJhbXM7CisKKworCS8qCisJICogVGhlIGNwdV9kYWktPmRtYV9kYXRhIGZpZWxkIGlzIG9ubHkgdXNlZCB0byBjb21tdW5pY2F0ZSB0aGUKKwkgKiBhcHByb3ByaWF0ZSBETUEgcGFyYW1ldGVycyB0byB0aGUgUENNIGRyaXZlcidzIGh3X3BhcmFtcygpCisJICogZnVuY3Rpb24uICBJdCBzaG91bGQgbm90IGJlIHVzZWQgZm9yIG90aGVyIHB1cnBvc2VzIGFzIGl0CisJICogaXMgY29tbW9uIHRvIGFsbCBzdWJzdHJlYW1zLgorCSAqLworCXJ0ZC0+ZGFpLT5jcHVfZGFpLT5kbWFfZGF0YSA9IGRtYV9wYXJhbXM7CisKKwljaGFubmVscyA9IHBhcmFtc19jaGFubmVscyhwYXJhbXMpOworCisKKwkvKgorCSAqIERldGVybWluZSBzYW1wbGUgc2l6ZSBpbiBiaXRzIGFuZCB0aGUgUERDIGluY3JlbWVudAorCSAqLworCXN3aXRjaCAocGFyYW1zX2Zvcm1hdChwYXJhbXMpKSB7CisJY2FzZSBTTkRSVl9QQ01fRk9STUFUX1M4OgorCQliaXRzID0gODsKKwkJZG1hX3BhcmFtcy0+cGRjX3hmZXJfc2l6ZSA9IDE7CisJCWJyZWFrOworCisJY2FzZSBTTkRSVl9QQ01fRk9STUFUX1MxNjoKKwkJYml0cyA9IDE2OworCQlkbWFfcGFyYW1zLT5wZGNfeGZlcl9zaXplID0gMjsKKwkJYnJlYWs7CisKKwljYXNlIFNORFJWX1BDTV9GT1JNQVRfUzI0OgorCQliaXRzID0gMjQ7CisJCWRtYV9wYXJhbXMtPnBkY194ZmVyX3NpemUgPSA0OworCQlicmVhazsKKworCWNhc2UgU05EUlZfUENNX0ZPUk1BVF9TMzI6CisJCWJpdHMgPSAzMjsKKwkJZG1hX3BhcmFtcy0+cGRjX3hmZXJfc2l6ZSA9IDQ7CisJCWJyZWFrOworCisJZGVmYXVsdDoKKwkJcHJfd2FybmluZygiYXQzMi1zc2M6IFVuc3VwcG9ydGVkIFBDTSBmb3JtYXQgJWQiLAorCQkJICAgcGFyYW1zX2Zvcm1hdChwYXJhbXMpKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCXByX2RlYnVnKCJhdDMyLXNzYzogYml0cyA9ICVkLCBwZGNfeGZlcl9zaXplID0gJWQsIGNoYW5uZWxzID0gJWRcbiIsCisJCSBiaXRzLCBkbWFfcGFyYW1zLT5wZGNfeGZlcl9zaXplLCBjaGFubmVscyk7CisKKworCS8qCisJICogVGhlIFNTQyBvbmx5IHN1cHBvcnRzIHVwIHRvIDE2LWJpdCBzYW1wbGVzIGluIEkyUyBmb3JtYXQsIGR1ZQorCSAqIHRvIHRoZSBzaXplIG9mIHRoZSBGcmFtZSBNb2RlIFJlZ2lzdGVyIEZTTEVOIGZpZWxkLgorCSAqLworCWlmICgoc3NjX3AtPmRhaWZtdCAmIFNORF9TT0NfREFJRk1UX0ZPUk1BVF9NQVNLKSA9PSBTTkRfU09DX0RBSUZNVF9JMlMpCisJCWlmIChiaXRzID4gMTYpIHsKKwkJCXByX3dhcm5pbmcoImF0MzItc3NjOiAiCisJCQkJICAgInNhbXBsZSBzaXplICVkIGlzIHRvbyBsYXJnZSBmb3IgSTJTXG4iLAorCQkJCSAgIGJpdHMpOworCQkJcmV0dXJuIC1FSU5WQUw7CisJCX0KKworCisJLyoKKwkgKiBDb21wdXRlIHRoZSBTU0MgcmVnaXN0ZXIgc2V0dGluZ3MKKwkgKi8KKwlzd2l0Y2ggKHNzY19wLT5kYWlmbXQgJiAoU05EX1NPQ19EQUlGTVRfRk9STUFUX01BU0sgfAorCQkJCSBTTkRfU09DX0RBSUZNVF9NQVNURVJfTUFTSykpIHsKKwljYXNlIFNORF9TT0NfREFJRk1UX0kyUyB8IFNORF9TT0NfREFJRk1UX0NCU19DRlM6CisJCS8qCisJCSAqIEkyUyBmb3JtYXQsIFNTQyBwcm92aWRlcyBCQ0xLIGFuZCBMUlMgY2xvY2tzLgorCQkgKgorCQkgKiBUaGUgU1NDIHRyYW5zbWl0IGFuZCByZWNlaXZlIGNsb2NrcyBhcmUgZ2VuZXJhdGVkIGZyb20gdGhlCisJCSAqIE1DSyBkaXZpZGVyLCBhbmQgdGhlIEJDTEsgc2lnbmFsIGlzIG91dHB1dCBvbiB0aGUgU1NDIFRLIGxpbmUKKwkJICovCisJCXByX2RlYnVnKCJhdDMyLXNzYzogU1NDIG1vZGUgaXMgSTJTIEJDTEsgLyBGUkFNRSBtYXN0ZXJcbiIpOworCQlyY21yID0gKFNTQ19CRihSQ01SX1BFUklPRCwgc3NjX3AtPnJjbXJfcGVyaW9kKSB8CisJCQlTU0NfQkYoUkNNUl9TVFRETFksIFNUQVJUX0RFTEFZKSB8CisJCQlTU0NfQkYoUkNNUl9TVEFSVCwgU1NDX1NUQVJUX0ZBTExJTkdfUkYpIHwKKwkJCVNTQ19CRihSQ01SX0NLSSwgU1NDX0NLSV9SSVNJTkcpIHwKKwkJCVNTQ19CRihSQ01SX0NLTywgU1NDX0NLT19OT05FKSB8CisJCQlTU0NfQkYoUkNNUl9DS1MsIFNTQ19DS1NfRElWKSk7CisKKwkJcmZtciA9IChTU0NfQkYoUkZNUl9GU0VER0UsIFNTQ19GU0VER0VfUE9TSVRJVkUpIHwKKwkJCVNTQ19CRihSRk1SX0ZTT1MsIFNTQ19GU09TX05FR0FUSVZFKSB8CisJCQlTU0NfQkYoUkZNUl9GU0xFTiwgYml0cyAtIDEpIHwKKwkJCVNTQ19CRihSRk1SX0RBVE5CLCBjaGFubmVscyAtIDEpIHwKKwkJCVNTQ19CSVQoUkZNUl9NU0JGKSB8IFNTQ19CRihSRk1SX0RBVExFTiwgYml0cyAtIDEpKTsKKworCQl0Y21yID0gKFNTQ19CRihUQ01SX1BFUklPRCwgc3NjX3AtPnRjbXJfcGVyaW9kKSB8CisJCQlTU0NfQkYoVENNUl9TVFRETFksIFNUQVJUX0RFTEFZKSB8CisJCQlTU0NfQkYoVENNUl9TVEFSVCwgU1NDX1NUQVJUX0ZBTExJTkdfUkYpIHwKKwkJCVNTQ19CRihUQ01SX0NLSSwgU1NDX0NLSV9GQUxMSU5HKSB8CisJCQlTU0NfQkYoVENNUl9DS08sIFNTQ19DS09fQ09OVElOVU9VUykgfAorCQkJU1NDX0JGKFRDTVJfQ0tTLCBTU0NfQ0tTX0RJVikpOworCisJCXRmbXIgPSAoU1NDX0JGKFRGTVJfRlNFREdFLCBTU0NfRlNFREdFX1BPU0lUSVZFKSB8CisJCQlTU0NfQkYoVEZNUl9GU09TLCBTU0NfRlNPU19ORUdBVElWRSkgfAorCQkJU1NDX0JGKFRGTVJfRlNMRU4sIGJpdHMgLSAxKSB8CisJCQlTU0NfQkYoVEZNUl9EQVROQiwgY2hhbm5lbHMgLSAxKSB8IFNTQ19CSVQoVEZNUl9NU0JGKSB8CisJCQlTU0NfQkYoVEZNUl9EQVRMRU4sIGJpdHMgLSAxKSk7CisJCWJyZWFrOworCisKKwljYXNlIFNORF9TT0NfREFJRk1UX0kyUyB8IFNORF9TT0NfREFJRk1UX0NCTV9DRk06CisJCS8qCisJCSAqIEkyUyBmb3JtYXQsIENPREVDIHN1cHBsaWVzIEJDTEsgYW5kIExSQyBjbG9jay4KKwkJICoKKwkJICogVGhlIFNTQyB0cmFuc21pdCBjbG9jayBpcyBvYnRhaW5lZCBmcm9tIHRoZSBCQ0xLIHNpZ25hbAorCQkgKiBvbiB0aGUgVEsgbGluZSwgYW5kIHRoZSBTU0MgcmVjZWl2ZSBjbG9jayBpcyBnZW5lcmF0ZWQgZnJvbQorCQkgKiB0aGUgdHJhbnNtaXQgY2xvY2suCisJCSAqCisJCSAqIEZvciBzaW5nbGUgY2hhbm5lbCBkYXRhLCBvbmUgc2FtcGxlIGlzIHRyYW5zZmVycmVkIG9uIHRoZQorCQkgKiBmYWxsaW5nIGVkZ2Ugb2YgdGhlIExSQyBjbG9jay4gIEZvciB0d28gY2hhbm5lbCBkYXRhLCBvbmUKKwkJICogc2FtcGxlIGlzIHRyYW5zZmVycmVkIG9uIGJvdGggZWRnZXMgb2YgdGhlIExSQyBjbG9jay4KKwkJICovCisJCXByX2RlYnVnKCJhdDMyLXNzYzogU1NDIG1vZGUgaXMgSTJTIEJDTEsgLyBGUkFNRSBzbGF2ZVxuIik7CisJCXN0YXJ0X2V2ZW50ID0gKChjaGFubmVscyA9PSAxKSA/CisJCQkgICAgICAgU1NDX1NUQVJUX0ZBTExJTkdfUkYgOiBTU0NfU1RBUlRfRURHRV9SRik7CisKKwkJcmNtciA9IChTU0NfQkYoUkNNUl9TVFRETFksIFNUQVJUX0RFTEFZKSB8CisJCQlTU0NfQkYoUkNNUl9TVEFSVCwgc3RhcnRfZXZlbnQpIHwKKwkJCVNTQ19CRihSQ01SX0NLSSwgU1NDX0NLSV9SSVNJTkcpIHwKKwkJCVNTQ19CRihSQ01SX0NLTywgU1NDX0NLT19OT05FKSB8CisJCQlTU0NfQkYoUkNNUl9DS1MsIFNTQ19DS1NfQ0xPQ0spKTsKKworCQlyZm1yID0gKFNTQ19CRihSRk1SX0ZTRURHRSwgU1NDX0ZTRURHRV9QT1NJVElWRSkgfAorCQkJU1NDX0JGKFJGTVJfRlNPUywgU1NDX0ZTT1NfTk9ORSkgfAorCQkJU1NDX0JJVChSRk1SX01TQkYpIHwgU1NDX0JGKFJGTVJfREFUTEVOLCBiaXRzIC0gMSkpOworCisJCXRjbXIgPSAoU1NDX0JGKFRDTVJfU1RURExZLCBTVEFSVF9ERUxBWSkgfAorCQkJU1NDX0JGKFRDTVJfU1RBUlQsIHN0YXJ0X2V2ZW50KSB8CisJCQlTU0NfQkYoVENNUl9DS0ksIFNTQ19DS0lfRkFMTElORykgfAorCQkJU1NDX0JGKFRDTVJfQ0tPLCBTU0NfQ0tPX05PTkUpIHwKKwkJCVNTQ19CRihUQ01SX0NLUywgU1NDX0NLU19QSU4pKTsKKworCQl0Zm1yID0gKFNTQ19CRihURk1SX0ZTRURHRSwgU1NDX0ZTRURHRV9QT1NJVElWRSkgfAorCQkJU1NDX0JGKFRGTVJfRlNPUywgU1NDX0ZTT1NfTk9ORSkgfAorCQkJU1NDX0JJVChURk1SX01TQkYpIHwgU1NDX0JGKFRGTVJfREFUTEVOLCBiaXRzIC0gMSkpOworCQlicmVhazsKKworCisJY2FzZSBTTkRfU09DX0RBSUZNVF9EU1BfQSB8IFNORF9TT0NfREFJRk1UX0NCU19DRlM6CisJCS8qCisJCSAqIERTUC9QQ00gTW9kZSBBIGZvcm1hdCwgU1NDIHByb3ZpZGVzIEJDTEsgYW5kIExSQyBjbG9ja3MuCisJCSAqCisJCSAqIFRoZSBTU0MgdHJhbnNtaXQgYW5kIHJlY2VpdmUgY2xvY2tzIGFyZSBnZW5lcmF0ZWQgZnJvbSB0aGUKKwkJICogTUNLIGRpdmlkZXIsIGFuZCB0aGUgQkNMSyBzaWduYWwgaXMgb3V0cHV0IG9uIHRoZSBTU0MgVEsgbGluZQorCQkgKi8KKwkJcHJfZGVidWcoImF0MzItc3NjOiBTU0MgbW9kZSBpcyBEU1AgQSBCQ0xLIC8gRlJBTUUgbWFzdGVyXG4iKTsKKwkJcmNtciA9IChTU0NfQkYoUkNNUl9QRVJJT0QsIHNzY19wLT5yY21yX3BlcmlvZCkgfAorCQkJU1NDX0JGKFJDTVJfU1RURExZLCAxKSB8CisJCQlTU0NfQkYoUkNNUl9TVEFSVCwgU1NDX1NUQVJUX1JJU0lOR19SRikgfAorCQkJU1NDX0JGKFJDTVJfQ0tJLCBTU0NfQ0tJX1JJU0lORykgfAorCQkJU1NDX0JGKFJDTVJfQ0tPLCBTU0NfQ0tPX05PTkUpIHwKKwkJCVNTQ19CRihSQ01SX0NLUywgU1NDX0NLU19ESVYpKTsKKworCQlyZm1yID0gKFNTQ19CRihSRk1SX0ZTRURHRSwgU1NDX0ZTRURHRV9QT1NJVElWRSkgfAorCQkJU1NDX0JGKFJGTVJfRlNPUywgU1NDX0ZTT1NfUE9TSVRJVkUpIHwKKwkJCVNTQ19CRihSRk1SX0RBVE5CLCBjaGFubmVscyAtIDEpIHwKKwkJCVNTQ19CSVQoUkZNUl9NU0JGKSB8IFNTQ19CRihSRk1SX0RBVExFTiwgYml0cyAtIDEpKTsKKworCQl0Y21yID0gKFNTQ19CRihUQ01SX1BFUklPRCwgc3NjX3AtPnRjbXJfcGVyaW9kKSB8CisJCQlTU0NfQkYoVENNUl9TVFRETFksIDEpIHwKKwkJCVNTQ19CRihUQ01SX1NUQVJULCBTU0NfU1RBUlRfUklTSU5HX1JGKSB8CisJCQlTU0NfQkYoVENNUl9DS0ksIFNTQ19DS0lfUklTSU5HKSB8CisJCQlTU0NfQkYoVENNUl9DS08sIFNTQ19DS09fQ09OVElOVU9VUykgfAorCQkJU1NDX0JGKFRDTVJfQ0tTLCBTU0NfQ0tTX0RJVikpOworCisJCXRmbXIgPSAoU1NDX0JGKFRGTVJfRlNFREdFLCBTU0NfRlNFREdFX1BPU0lUSVZFKSB8CisJCQlTU0NfQkYoVEZNUl9GU09TLCBTU0NfRlNPU19QT1NJVElWRSkgfAorCQkJU1NDX0JGKFRGTVJfREFUTkIsIGNoYW5uZWxzIC0gMSkgfAorCQkJU1NDX0JJVChURk1SX01TQkYpIHwgU1NDX0JGKFRGTVJfREFUTEVOLCBiaXRzIC0gMSkpOworCQlicmVhazsKKworCisJY2FzZSBTTkRfU09DX0RBSUZNVF9EU1BfQSB8IFNORF9TT0NfREFJRk1UX0NCTV9DRk06CisJZGVmYXVsdDoKKwkJcHJfd2FybmluZygiYXQzMi1zc2M6IHVuc3VwcG9ydGVkIERBSSBmb3JtYXQgMHgleFxuIiwKKwkJCSAgIHNzY19wLT5kYWlmbXQpOworCQlyZXR1cm4gLUVJTlZBTDsKKwkJYnJlYWs7CisJfQorCXByX2RlYnVnKCJhdDMyLXNzYzogUkNNUj0lMDh4IFJGTVI9JTA4eCBUQ01SPSUwOHggVEZNUj0lMDh4XG4iLAorCQkgcmNtciwgcmZtciwgdGNtciwgdGZtcik7CisKKworCWlmICghc3NjX3AtPmluaXRpYWxpemVkKSB7CisJCS8qIGVuYWJsZSBwZXJpcGhlcmFsIGNsb2NrICovCisJCXByX2RlYnVnKCJhdDMyLXNzYzogU3RhcnRpbmcgY2xvY2tcbiIpOworCQljbGtfZW5hYmxlKHNzY19wLT5zc2MtPmNsayk7CisKKwkJLyogUmVzZXQgdGhlIFNTQyBhbmQgaXRzIFBEQyByZWdpc3RlcnMgKi8KKwkJc3NjX3dyaXRlbChzc2NfcC0+c3NjLT5yZWdzLCBDUiwgU1NDX0JJVChDUl9TV1JTVCkpOworCisJCXNzY193cml0ZWwoc3NjX3AtPnNzYy0+cmVncywgUERDX1JQUiwgMCk7CisJCXNzY193cml0ZWwoc3NjX3AtPnNzYy0+cmVncywgUERDX1JDUiwgMCk7CisJCXNzY193cml0ZWwoc3NjX3AtPnNzYy0+cmVncywgUERDX1JOUFIsIDApOworCQlzc2Nfd3JpdGVsKHNzY19wLT5zc2MtPnJlZ3MsIFBEQ19STkNSLCAwKTsKKworCQlzc2Nfd3JpdGVsKHNzY19wLT5zc2MtPnJlZ3MsIFBEQ19UUFIsIDApOworCQlzc2Nfd3JpdGVsKHNzY19wLT5zc2MtPnJlZ3MsIFBEQ19UQ1IsIDApOworCQlzc2Nfd3JpdGVsKHNzY19wLT5zc2MtPnJlZ3MsIFBEQ19UTlBSLCAwKTsKKwkJc3NjX3dyaXRlbChzc2NfcC0+c3NjLT5yZWdzLCBQRENfVE5DUiwgMCk7CisKKwkJcmV0ID0gcmVxdWVzdF9pcnEoc3NjX3AtPnNzYy0+aXJxLCBhdDMyX3NzY19pbnRlcnJ1cHQsIDAsCisJCQkJICBzc2NfcC0+bmFtZSwgc3NjX3ApOworCQlpZiAocmV0IDwgMCkgeworCQkJcHJfd2FybmluZygiYXQzMi1zc2M6IHJlcXVlc3QgaXJxIGZhaWxlZCAoJWQpXG4iLCByZXQpOworCQkJcHJfZGVidWcoImF0MzItc3NjOiBTdG9wcGluZyBjbG9ja1xuIik7CisJCQljbGtfZGlzYWJsZShzc2NfcC0+c3NjLT5jbGspOworCQkJcmV0dXJuIHJldDsKKwkJfQorCisJCXNzY19wLT5pbml0aWFsaXplZCA9IDE7CisJfQorCisJLyogU2V0IFNTQyBjbG9jayBtb2RlIHJlZ2lzdGVyICovCisJc3NjX3dyaXRlbChzc2NfcC0+c3NjLT5yZWdzLCBDTVIsIHNzY19wLT5jbXJfZGl2KTsKKworCS8qIHNldCByZWNlaXZlIGNsb2NrIG1vZGUgYW5kIGZvcm1hdCAqLworCXNzY193cml0ZWwoc3NjX3AtPnNzYy0+cmVncywgUkNNUiwgcmNtcik7CisJc3NjX3dyaXRlbChzc2NfcC0+c3NjLT5yZWdzLCBSRk1SLCByZm1yKTsKKworCS8qIHNldCB0cmFuc21pdCBjbG9jayBtb2RlIGFuZCBmb3JtYXQgKi8KKwlzc2Nfd3JpdGVsKHNzY19wLT5zc2MtPnJlZ3MsIFRDTVIsIHRjbXIpOworCXNzY193cml0ZWwoc3NjX3AtPnNzYy0+cmVncywgVEZNUiwgdGZtcik7CisKKwlwcl9kZWJ1ZygiYXQzMi1zc2M6IFNTQyBpbml0aWFsaXplZFxuIik7CisJcmV0dXJuIDA7Cit9CisKKworCitzdGF0aWMgaW50IGF0MzJfc3NjX3ByZXBhcmUoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCit7CisJc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRpbWUgKnJ0ZCA9IHN1YnN0cmVhbS0+cHJpdmF0ZV9kYXRhOworCXN0cnVjdCBhdDMyX3NzY19pbmZvICpzc2NfcCA9ICZzc2NfaW5mb1tydGQtPmRhaS0+Y3B1X2RhaS0+aWRdOworCXN0cnVjdCBhdDMyX3BjbV9kbWFfcGFyYW1zICpkbWFfcGFyYW1zOworCisJZG1hX3BhcmFtcyA9IHNzY19wLT5kbWFfcGFyYW1zW3N1YnN0cmVhbS0+c3RyZWFtXTsKKworCXNzY193cml0ZWwoZG1hX3BhcmFtcy0+c3NjLT5yZWdzLCBDUiwgZG1hX3BhcmFtcy0+bWFzay0+c3NjX2VuYWJsZSk7CisKKwlyZXR1cm4gMDsKK30KKworCisKKyNpZmRlZiBDT05GSUdfUE0KK3N0YXRpYyBpbnQgYXQzMl9zc2Nfc3VzcGVuZChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAorCQkJICAgIHN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSkKK3sKKwlzdHJ1Y3QgYXQzMl9zc2NfaW5mbyAqc3NjX3A7CisKKwlpZiAoIWNwdV9kYWktPmFjdGl2ZSkKKwkJcmV0dXJuIDA7CisKKwlzc2NfcCA9ICZzc2NfaW5mb1tjcHVfZGFpLT5pZF07CisKKwkvKiBTYXZlIHRoZSBzdGF0dXMgcmVnaXN0ZXIgYmVmb3JlIGRpc2FibGluZyB0cmFuc21pdCBhbmQgcmVjZWl2ZSAqLworCXNzY19wLT5zc2Nfc3RhdGUuc3NjX3NyID0gc3NjX3JlYWRsKHNzY19wLT5zc2MtPnJlZ3MsIFNSKTsKKwlzc2Nfd3JpdGVsKHNzY19wLT5zc2MtPnJlZ3MsIENSLCBTU0NfQklUKENSX1RYRElTKSB8IFNTQ19CSVQoQ1JfUlhESVMpKTsKKworCS8qIFNhdmUgdGhlIGN1cnJlbnQgaW50ZXJydXB0IG1hc2ssIHRoZW4gZGlzYWJsZSB1bm1hc2tlZCBpbnRlcnJ1cHRzICovCisJc3NjX3AtPnNzY19zdGF0ZS5zc2NfaW1yID0gc3NjX3JlYWRsKHNzY19wLT5zc2MtPnJlZ3MsIElNUik7CisJc3NjX3dyaXRlbChzc2NfcC0+c3NjLT5yZWdzLCBJRFIsIHNzY19wLT5zc2Nfc3RhdGUuc3NjX2ltcik7CisKKwlzc2NfcC0+c3NjX3N0YXRlLnNzY19jbXIgPSBzc2NfcmVhZGwoc3NjX3AtPnNzYy0+cmVncywgQ01SKTsKKwlzc2NfcC0+c3NjX3N0YXRlLnNzY19yY21yID0gc3NjX3JlYWRsKHNzY19wLT5zc2MtPnJlZ3MsIFJDTVIpOworCXNzY19wLT5zc2Nfc3RhdGUuc3NjX3JmbXIgPSBzc2NfcmVhZGwoc3NjX3AtPnNzYy0+cmVncywgUkZNUik7CisJc3NjX3AtPnNzY19zdGF0ZS5zc2NfdGNtciA9IHNzY19yZWFkbChzc2NfcC0+c3NjLT5yZWdzLCBUQ01SKTsKKwlzc2NfcC0+c3NjX3N0YXRlLnNzY190Zm1yID0gc3NjX3JlYWRsKHNzY19wLT5zc2MtPnJlZ3MsIFRGTVIpOworCisJcmV0dXJuIDA7Cit9CisKKworCitzdGF0aWMgaW50IGF0MzJfc3NjX3Jlc3VtZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAorCQkJICAgc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpKQoreworCXN0cnVjdCBhdDMyX3NzY19pbmZvICpzc2NfcDsKKwl1MzIgY3I7CisKKwlpZiAoIWNwdV9kYWktPmFjdGl2ZSkKKwkJcmV0dXJuIDA7CisKKwlzc2NfcCA9ICZzc2NfaW5mb1tjcHVfZGFpLT5pZF07CisKKwkvKiByZXN0b3JlIFNTQyByZWdpc3RlciBzZXR0aW5ncyAqLworCXNzY193cml0ZWwoc3NjX3AtPnNzYy0+cmVncywgVEZNUiwgc3NjX3AtPnNzY19zdGF0ZS5zc2NfdGZtcik7CisJc3NjX3dyaXRlbChzc2NfcC0+c3NjLT5yZWdzLCBUQ01SLCBzc2NfcC0+c3NjX3N0YXRlLnNzY190Y21yKTsKKwlzc2Nfd3JpdGVsKHNzY19wLT5zc2MtPnJlZ3MsIFJGTVIsIHNzY19wLT5zc2Nfc3RhdGUuc3NjX3JmbXIpOworCXNzY193cml0ZWwoc3NjX3AtPnNzYy0+cmVncywgUkNNUiwgc3NjX3AtPnNzY19zdGF0ZS5zc2NfcmNtcik7CisJc3NjX3dyaXRlbChzc2NfcC0+c3NjLT5yZWdzLCBDTVIsIHNzY19wLT5zc2Nfc3RhdGUuc3NjX2Ntcik7CisKKwkvKiByZS1lbmFibGUgaW50ZXJydXB0cyAqLworCXNzY193cml0ZWwoc3NjX3AtPnNzYy0+cmVncywgSUVSLCBzc2NfcC0+c3NjX3N0YXRlLnNzY19pbXIpOworCisJLyogUmUtZW5hYmxlIHJlY2lldmUgYW5kIHRyYW5zbWl0IGFzIGFwcHJvcHJpYXRlICovCisJY3IgPSAwOworCWNyIHw9CisJICAgIChzc2NfcC0+c3NjX3N0YXRlLnNzY19zciAmIFNTQ19CSVQoU1JfUlhFTikpID8gU1NDX0JJVChDUl9SWEVOKSA6IDA7CisJY3IgfD0KKwkgICAgKHNzY19wLT5zc2Nfc3RhdGUuc3NjX3NyICYgU1NDX0JJVChTUl9UWEVOKSkgPyBTU0NfQklUKENSX1RYRU4pIDogMDsKKwlzc2Nfd3JpdGVsKHNzY19wLT5zc2MtPnJlZ3MsIENSLCBjcik7CisKKwlyZXR1cm4gMDsKK30KKyNlbHNlIC8qIENPTkZJR19QTSAqLworIyAgZGVmaW5lIGF0MzJfc3NjX3N1c3BlbmQJTlVMTAorIyAgZGVmaW5lIGF0MzJfc3NjX3Jlc3VtZQlOVUxMCisjZW5kaWYgLyogQ09ORklHX1BNICovCisKKworI2RlZmluZSBBVDMyX1NTQ19SQVRFUyBcCisgICAgKFNORFJWX1BDTV9SQVRFXzgwMDAgIHwgU05EUlZfUENNX1JBVEVfMTEwMjUgfCBTTkRSVl9QQ01fUkFURV8xNjAwMCB8IFwKKyAgICAgU05EUlZfUENNX1JBVEVfMjIwNTAgfCBTTkRSVl9QQ01fUkFURV8zMjAwMCB8IFNORFJWX1BDTV9SQVRFXzQ0MTAwIHwgXAorICAgICBTTkRSVl9QQ01fUkFURV80ODAwMCB8IFNORFJWX1BDTV9SQVRFXzg4MjAwIHwgU05EUlZfUENNX1JBVEVfOTYwMDApCisKKworI2RlZmluZSBBVDMyX1NTQ19GT1JNQVRTIFwKKyAgICAoU05EUlZfUENNX0ZNVEJJVF9TOCAgfCBTTkRSVl9QQ01fRk1UQklUX1MxNiB8IFwKKyAgICAgU05EUlZfUENNX0ZNVEJJVF9TMjQgfCBTTkRSVl9QQ01fRk1UQklUX1MzMikKKworCitzdHJ1Y3Qgc25kX3NvY19kYWkgYXQzMl9zc2NfZGFpW05VTV9TU0NfREVWSUNFU10gPSB7CisJeworCSAubmFtZSA9ICJhdDMyLXNzYzAiLAorCSAuaWQgPSAwLAorCSAudHlwZSA9IFNORF9TT0NfREFJX1BDTSwKKwkgLnN1c3BlbmQgPSBhdDMyX3NzY19zdXNwZW5kLAorCSAucmVzdW1lID0gYXQzMl9zc2NfcmVzdW1lLAorCSAucGxheWJhY2sgPSB7CisJCSAgICAgIC5jaGFubmVsc19taW4gPSAxLAorCQkgICAgICAuY2hhbm5lbHNfbWF4ID0gMiwKKwkJICAgICAgLnJhdGVzID0gQVQzMl9TU0NfUkFURVMsCisJCSAgICAgIC5mb3JtYXRzID0gQVQzMl9TU0NfRk9STUFUUywKKwkJICAgICAgfSwKKwkgLmNhcHR1cmUgPSB7CisJCSAgICAgLmNoYW5uZWxzX21pbiA9IDEsCisJCSAgICAgLmNoYW5uZWxzX21heCA9IDIsCisJCSAgICAgLnJhdGVzID0gQVQzMl9TU0NfUkFURVMsCisJCSAgICAgLmZvcm1hdHMgPSBBVDMyX1NTQ19GT1JNQVRTLAorCQkgICAgIH0sCisJIC5vcHMgPSB7CisJCSAuc3RhcnR1cCA9IGF0MzJfc3NjX3N0YXJ0dXAsCisJCSAuc2h1dGRvd24gPSBhdDMyX3NzY19zaHV0ZG93biwKKwkJIC5wcmVwYXJlID0gYXQzMl9zc2NfcHJlcGFyZSwKKwkJIC5od19wYXJhbXMgPSBhdDMyX3NzY19od19wYXJhbXMsCisJCSB9LAorCSAuZGFpX29wcyA9IHsKKwkJICAgICAuc2V0X3N5c2NsayA9IGF0MzJfc3NjX3NldF9kYWlfc3lzY2xrLAorCQkgICAgIC5zZXRfZm10ID0gYXQzMl9zc2Nfc2V0X2RhaV9mbXQsCisJCSAgICAgLnNldF9jbGtkaXYgPSBhdDMyX3NzY19zZXRfZGFpX2Nsa2RpdiwKKwkJICAgICB9LAorCSAucHJpdmF0ZV9kYXRhID0gJnNzY19pbmZvWzBdLAorCSB9LAorCXsKKwkgLm5hbWUgPSAiYXQzMi1zc2MxIiwKKwkgLmlkID0gMSwKKwkgLnR5cGUgPSBTTkRfU09DX0RBSV9QQ00sCisJIC5zdXNwZW5kID0gYXQzMl9zc2Nfc3VzcGVuZCwKKwkgLnJlc3VtZSA9IGF0MzJfc3NjX3Jlc3VtZSwKKwkgLnBsYXliYWNrID0geworCQkgICAgICAuY2hhbm5lbHNfbWluID0gMSwKKwkJICAgICAgLmNoYW5uZWxzX21heCA9IDIsCisJCSAgICAgIC5yYXRlcyA9IEFUMzJfU1NDX1JBVEVTLAorCQkgICAgICAuZm9ybWF0cyA9IEFUMzJfU1NDX0ZPUk1BVFMsCisJCSAgICAgIH0sCisJIC5jYXB0dXJlID0geworCQkgICAgIC5jaGFubmVsc19taW4gPSAxLAorCQkgICAgIC5jaGFubmVsc19tYXggPSAyLAorCQkgICAgIC5yYXRlcyA9IEFUMzJfU1NDX1JBVEVTLAorCQkgICAgIC5mb3JtYXRzID0gQVQzMl9TU0NfRk9STUFUUywKKwkJICAgICB9LAorCSAub3BzID0geworCQkgLnN0YXJ0dXAgPSBhdDMyX3NzY19zdGFydHVwLAorCQkgLnNodXRkb3duID0gYXQzMl9zc2Nfc2h1dGRvd24sCisJCSAucHJlcGFyZSA9IGF0MzJfc3NjX3ByZXBhcmUsCisJCSAuaHdfcGFyYW1zID0gYXQzMl9zc2NfaHdfcGFyYW1zLAorCQkgfSwKKwkgLmRhaV9vcHMgPSB7CisJCSAgICAgLnNldF9zeXNjbGsgPSBhdDMyX3NzY19zZXRfZGFpX3N5c2NsaywKKwkJICAgICAuc2V0X2ZtdCA9IGF0MzJfc3NjX3NldF9kYWlfZm10LAorCQkgICAgIC5zZXRfY2xrZGl2ID0gYXQzMl9zc2Nfc2V0X2RhaV9jbGtkaXYsCisJCSAgICAgfSwKKwkgLnByaXZhdGVfZGF0YSA9ICZzc2NfaW5mb1sxXSwKKwkgfSwKKwl7CisJIC5uYW1lID0gImF0MzItc3NjMiIsCisJIC5pZCA9IDIsCisJIC50eXBlID0gU05EX1NPQ19EQUlfUENNLAorCSAuc3VzcGVuZCA9IGF0MzJfc3NjX3N1c3BlbmQsCisJIC5yZXN1bWUgPSBhdDMyX3NzY19yZXN1bWUsCisJIC5wbGF5YmFjayA9IHsKKwkJICAgICAgLmNoYW5uZWxzX21pbiA9IDEsCisJCSAgICAgIC5jaGFubmVsc19tYXggPSAyLAorCQkgICAgICAucmF0ZXMgPSBBVDMyX1NTQ19SQVRFUywKKwkJICAgICAgLmZvcm1hdHMgPSBBVDMyX1NTQ19GT1JNQVRTLAorCQkgICAgICB9LAorCSAuY2FwdHVyZSA9IHsKKwkJICAgICAuY2hhbm5lbHNfbWluID0gMSwKKwkJICAgICAuY2hhbm5lbHNfbWF4ID0gMiwKKwkJICAgICAucmF0ZXMgPSBBVDMyX1NTQ19SQVRFUywKKwkJICAgICAuZm9ybWF0cyA9IEFUMzJfU1NDX0ZPUk1BVFMsCisJCSAgICAgfSwKKwkgLm9wcyA9IHsKKwkJIC5zdGFydHVwID0gYXQzMl9zc2Nfc3RhcnR1cCwKKwkJIC5zaHV0ZG93biA9IGF0MzJfc3NjX3NodXRkb3duLAorCQkgLnByZXBhcmUgPSBhdDMyX3NzY19wcmVwYXJlLAorCQkgLmh3X3BhcmFtcyA9IGF0MzJfc3NjX2h3X3BhcmFtcywKKwkJIH0sCisJIC5kYWlfb3BzID0geworCQkgICAgIC5zZXRfc3lzY2xrID0gYXQzMl9zc2Nfc2V0X2RhaV9zeXNjbGssCisJCSAgICAgLnNldF9mbXQgPSBhdDMyX3NzY19zZXRfZGFpX2ZtdCwKKwkJICAgICAuc2V0X2Nsa2RpdiA9IGF0MzJfc3NjX3NldF9kYWlfY2xrZGl2LAorCQkgICAgIH0sCisJIC5wcml2YXRlX2RhdGEgPSAmc3NjX2luZm9bMl0sCisJIH0sCit9OworRVhQT1JUX1NZTUJPTF9HUEwoYXQzMl9zc2NfZGFpKTsKKworCitNT0RVTEVfQVVUSE9SKCJHZW9mZnJleSBXb3NzdW0gPGd3b3NzdW1AYWNtLm9yZz4iKTsKK01PRFVMRV9ERVNDUklQVElPTigiQVQzMiBTU0MgQVNvQyBJbnRlcmZhY2UiKTsKK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9hdDMyL2F0MzItc3NjLmggYi9zb3VuZC9zb2MvYXQzMi9hdDMyLXNzYy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNjMDUyZGIKLS0tIC9kZXYvbnVsbAorKysgYi9zb3VuZC9zb2MvYXQzMi9hdDMyLXNzYy5oCkBAIC0wLDAgKzEsNTkgQEAKKy8qIHNvdW5kL3NvYy9hdDMyL2F0MzItc3NjLmgKKyAqIEFTb0MgU1NDIGludGVyZmFjZSBmb3IgQXRtZWwgQVQzMiBTb0MKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggTG9uZyBSYW5nZSBTeXN0ZW1zCisgKiAgICBHZW9mZnJleSBXb3NzdW0gPGd3b3NzdW1AYWNtLm9yZz4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICovCisKKyNpZm5kZWYgX19TT1VORF9TT0NfQVQzMl9BVDMyX1NTQ19ICisjZGVmaW5lIF9fU09VTkRfU09DX0FUMzJfQVQzMl9TU0NfSCBfX0ZJTEVfXworCisjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKyNpbmNsdWRlIDxsaW51eC9hdG1lbC1zc2MuaD4KKworI2luY2x1ZGUgImF0MzItcGNtLmgiCisKKworCitzdHJ1Y3QgYXQzMl9zc2Nfc3RhdGUgeworCXUzMiBzc2NfY21yOworCXUzMiBzc2NfcmNtcjsKKwl1MzIgc3NjX3JmbXI7CisJdTMyIHNzY190Y21yOworCXUzMiBzc2NfdGZtcjsKKwl1MzIgc3NjX3NyOworCXUzMiBzc2NfaW1yOworfTsKKworCisKK3N0cnVjdCBhdDMyX3NzY19pbmZvIHsKKwljaGFyICpuYW1lOworCXN0cnVjdCBzc2NfZGV2aWNlICpzc2M7CisJc3BpbmxvY2tfdCBsb2NrOwkvKiBsb2NrIGZvciBkaXJfbWFzayAqLworCXVuc2lnbmVkIHNob3J0IGRpcl9tYXNrOwkvKiAwPXVudXNlZCwgMT1wbGF5YmFjaywgMj1jYXB0dXJlICovCisJdW5zaWduZWQgc2hvcnQgaW5pdGlhbGl6ZWQ7CS8qIHRydWUgaWYgU1NDIGhhcyBiZWVuIGluaXRpYWxpemVkICovCisJdW5zaWduZWQgc2hvcnQgZGFpZm10OworCXVuc2lnbmVkIHNob3J0IGNtcl9kaXY7CisJdW5zaWduZWQgc2hvcnQgdGNtcl9wZXJpb2Q7CisJdW5zaWduZWQgc2hvcnQgcmNtcl9wZXJpb2Q7CisJc3RydWN0IGF0MzJfcGNtX2RtYV9wYXJhbXMgKmRtYV9wYXJhbXNbMl07CisJc3RydWN0IGF0MzJfc3NjX3N0YXRlIHNzY19zdGF0ZTsKK307CisKKworLyogU1NDIGRpdmlkZXIgaWRzICovCisjZGVmaW5lIEFUMzJfU1NDX0NNUl9ESVYgICAgICAgIDAJLyogTUNLIGRpdmlkZXIgZm9yIEJDTEsgKi8KKyNkZWZpbmUgQVQzMl9TU0NfVENNUl9QRVJJT0QgICAgMQkvKiBCQ0xLIGRpdmlkZXIgZm9yIHRyYW5zbWl0IEZTICovCisjZGVmaW5lIEFUMzJfU1NDX1JDTVJfUEVSSU9EICAgIDIJLyogQkNMSyBkaXZpZGVyIGZvciByZWNlaXZlIEZTICovCisKKworZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2RhaSBhdDMyX3NzY19kYWlbXTsKKworCisKKyNlbmRpZiAvKiBfX1NPVU5EX1NPQ19BVDMyX0FUMzJfU1NDX0ggKi8KZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9hdDMyL3BsYXlwYXFfd204NTEwLmMgYi9zb3VuZC9zb2MvYXQzMi9wbGF5cGFxX3dtODUxMC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZlZTVmOGUKLS0tIC9kZXYvbnVsbAorKysgYi9zb3VuZC9zb2MvYXQzMi9wbGF5cGFxX3dtODUxMC5jCkBAIC0wLDAgKzEsNTIyIEBACisvKiBzb3VuZC9zb2MvYXQzMi9wbGF5cGFxX3dtODUxMC5jCisgKiBBU29DIG1hY2hpbmUgZHJpdmVyIGZvciBQbGF5UGFxIHVzaW5nIFdNODUxMCBjb2RlYworICoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBMb25nIFJhbmdlIFN5c3RlbXMKKyAqICAgIEdlb2ZmcmV5IFdvc3N1bSA8Z3dvc3N1bUBhY20ub3JnPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKgorICogVGhpcyBjb2RlIGlzIGxhcmdlbHkgaW5zcGlyZWQgYnkgc291bmQvc29jL2F0OTEvZXRpX2IxX3dtODczMS5jCisgKgorICogTk9URTogSWYgeW91IGRvbid0IGhhdmUgdGhlIEFUMzIgZW5oYW5jZWQgcG9ydG11eCBjb25maWd1cmVkICh3aGljaAorICogaXNuJ3QgY3VycmVudGx5IGluIHRoZSBtYWlubGluZSBvciBBdG1lbCBwYXRjaGVkIGtlcm5lbCksIHlvdSB3aWxsCisgKiBuZWVkIHRvIHNldCB0aGUgTUNMSyBwaW4gKFBBMzApIHRvIHBlcmlwaGVyYWwgQSBpbiB5b3VyIGJvYXJkIGluaXRpYWxpemF0aW9uCisgKiBjb2RlLiAgU29tZXRoaW5nIGxpa2U6CisgKglhdDMyX3NlbGVjdF9wZXJpcGgoR1BJT19QSU5fUEEoMzApLCBHUElPX1BFUklQSF9BLCAwKTsKKyAqCisgKi8KKworLyogI2RlZmluZSBERUJVRyAqLworCisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlcGFyYW0uaD4KKyNpbmNsdWRlIDxsaW51eC92ZXJzaW9uLmg+CisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KKyNpbmNsdWRlIDxsaW51eC9jbGsuaD4KKyNpbmNsdWRlIDxsaW51eC90aW1lci5oPgorI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorCisjaW5jbHVkZSA8c291bmQvY29yZS5oPgorI2luY2x1ZGUgPHNvdW5kL3BjbS5oPgorI2luY2x1ZGUgPHNvdW5kL3BjbV9wYXJhbXMuaD4KKyNpbmNsdWRlIDxzb3VuZC9zb2MuaD4KKyNpbmNsdWRlIDxzb3VuZC9zb2MtZGFwbS5oPgorCisjaW5jbHVkZSA8YXNtL2FyY2gvYXQzMmFwNzAweC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL3BvcnRtdXguaD4KKworI2luY2x1ZGUgIi4uL2NvZGVjcy93bTg1MTAuaCIKKyNpbmNsdWRlICJhdDMyLXBjbS5oIgorI2luY2x1ZGUgImF0MzItc3NjLmgiCisKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlwKKyAqIGNvbnN0YW50cworXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKyNkZWZpbmUgTUNMS19QSU4JCUdQSU9fUElOX1BBKDMwKQorI2RlZmluZSBNQ0xLX1BFUklQSAkJR1BJT19QRVJJUEhfQQorCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcCisgKiBkYXRhIHR5cGVzCitcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworLyogU1NDIGNsb2NraW5nIGRhdGEgKi8KK3N0cnVjdCBzc2NfY2xvY2tfZGF0YSB7CisJLyogQ01SIGRpdiAqLworCXVuc2lnbmVkIGludCBjbXJfZGl2OworCisJLyogRnJhbWUgcGVyaW9kIChhcyBuZWVkZWQgYnkgeENNUi5QRVJJT0QpICovCisJdW5zaWduZWQgaW50IHBlcmlvZDsKKworCS8qIFRoZSBTU0MgY2xvY2sgcmF0ZSB0aGVzZSBzZXR0aW5ncyB3aGVyZSBjYWxjdWxhdGVkIGZvciAqLworCXVuc2lnbmVkIGxvbmcgc3NjX3JhdGU7Cit9OworCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcCisgKiBtb2R1bGUgZGF0YQorXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KK3N0YXRpYyBzdHJ1Y3QgY2xrICpfZ2NsazA7CitzdGF0aWMgc3RydWN0IGNsayAqX3BsbDA7CisKKyNkZWZpbmUgQ09ERUNfQ0xLIChfZ2NsazApCisKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlwKKyAqIFNvdW5kIFNPQyBvcGVyYXRpb25zCitcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworI2lmIGRlZmluZWQgQ09ORklHX1NORF9BVDMyX1NPQ19QTEFZUEFRX1NMQVZFCitzdGF0aWMgc3RydWN0IHNzY19jbG9ja19kYXRhIHBsYXlwYXFfd204NTEwX2NhbGNfc3NjX2Nsb2NrKAorCXN0cnVjdCBzbmRfcGNtX2h3X3BhcmFtcyAqcGFyYW1zLAorCXN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSkKK3sKKwlzdHJ1Y3QgYXQzMl9zc2NfaW5mbyAqc3NjX3AgPSBjcHVfZGFpLT5wcml2YXRlX2RhdGE7CisJc3RydWN0IHNzY19kZXZpY2UgKnNzYyA9IHNzY19wLT5zc2M7CisJc3RydWN0IHNzY19jbG9ja19kYXRhIGNkOworCXVuc2lnbmVkIGludCByYXRlLCB3aWR0aF9iaXRzLCBjaGFubmVsczsKKwl1bnNpZ25lZCBpbnQgYml0cmF0ZSwgc3NjX2RpdjsKKwl1bnNpZ25lZCBhY3R1YWxfcmF0ZTsKKworCisJLyoKKwkgKiBGaWd1cmUgb3V0IHJlcXVpcmVkIGJpdHJhdGUKKwkgKi8KKwlyYXRlID0gcGFyYW1zX3JhdGUocGFyYW1zKTsKKwljaGFubmVscyA9IHBhcmFtc19jaGFubmVscyhwYXJhbXMpOworCXdpZHRoX2JpdHMgPSBzbmRfcGNtX2Zvcm1hdF9waHlzaWNhbF93aWR0aChwYXJhbXNfZm9ybWF0KHBhcmFtcykpOworCWJpdHJhdGUgPSByYXRlICogd2lkdGhfYml0cyAqIGNoYW5uZWxzOworCisKKwkvKgorCSAqIEZpZ3VyZSBvdXQgcmVxdWlyZWQgU1NDIGRpdmlkZXIgYW5kIHBlcmlvZCBmb3IgcmVxdWlyZWQgYml0cmF0ZQorCSAqLworCWNkLnNzY19yYXRlID0gY2xrX2dldF9yYXRlKHNzYy0+Y2xrKTsKKwlzc2NfZGl2ID0gY2Quc3NjX3JhdGUgLyBiaXRyYXRlOworCWNkLmNtcl9kaXYgPSBzc2NfZGl2IC8gMjsKKwlpZiAoc3NjX2RpdiAmIDEpIHsKKwkJLyogcm91bmQgY21yX2RpdiB1cCAqLworCQljZC5jbXJfZGl2Kys7CisJfQorCWNkLnBlcmlvZCA9IHdpZHRoX2JpdHMgLSAxOworCisKKwkvKgorCSAqIEZpbmQgYWN0dWFsIHJhdGUsIGNvbXBhcmUgdG8gcmVxdWVzdGVkIHJhdGUKKwkgKi8KKwlhY3R1YWxfcmF0ZSA9IChjZC5zc2NfcmF0ZSAvIChjZC5jbXJfZGl2ICogMikpIC8gKDIgKiAoY2QucGVyaW9kICsgMSkpOworCXByX2RlYnVnKCJwbGF5cGFxX3dtODUxMDogUmVxdWVzdCByYXRlID0gJWQsIGFjdHVhbCByYXRlID0gJWRcbiIsCisJCSByYXRlLCBhY3R1YWxfcmF0ZSk7CisKKworCXJldHVybiBjZDsKK30KKyNlbmRpZiAvKiBDT05GSUdfU05EX0FUMzJfU09DX1BMQVlQQVFfU0xBVkUgKi8KKworCisKK3N0YXRpYyBpbnQgcGxheXBhcV93bTg1MTBfaHdfcGFyYW1zKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtLAorCQkJCSAgICBzdHJ1Y3Qgc25kX3BjbV9od19wYXJhbXMgKnBhcmFtcykKK3sKKwlzdHJ1Y3Qgc25kX3NvY19wY21fcnVudGltZSAqcnRkID0gc3Vic3RyZWFtLT5wcml2YXRlX2RhdGE7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWkgPSBydGQtPmRhaS0+Y29kZWNfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSA9IHJ0ZC0+ZGFpLT5jcHVfZGFpOworCXN0cnVjdCBhdDMyX3NzY19pbmZvICpzc2NfcCA9IGNwdV9kYWktPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3Qgc3NjX2RldmljZSAqc3NjID0gc3NjX3AtPnNzYzsKKwl1bnNpZ25lZCBpbnQgcGxsX291dCA9IDAsIGJjbGsgPSAwLCBtY2xrX2RpdiA9IDA7CisJaW50IHJldDsKKworCisJLyogRHVlIHRvIGRpZmZpY3VsdGllcyB3aXRoIGdldHRpbmcgdGhlIGNvcnJlY3QgY2xvY2tzIGZyb20gdGhlIEFUMzIncworCSAqIFBMTDAsIHdlJ3JlIGdvaW5nIHRvIGxldCB0aGUgQ09ERUMgYmUgaW4gY2hhcmdlIG9mIGFsbCB0aGUgY2xvY2tzCisJICovCisjaWYgIWRlZmluZWQgQ09ORklHX1NORF9BVDMyX1NPQ19QTEFZUEFRX1NMQVZFCisJY29uc3QgdW5zaWduZWQgaW50IGZtdCA9IChTTkRfU09DX0RBSUZNVF9JMlMgfAorCQkJCSAgU05EX1NPQ19EQUlGTVRfTkJfTkYgfAorCQkJCSAgU05EX1NPQ19EQUlGTVRfQ0JNX0NGTSk7CisjZWxzZQorCXN0cnVjdCBzc2NfY2xvY2tfZGF0YSBjZDsKKwljb25zdCB1bnNpZ25lZCBpbnQgZm10ID0gKFNORF9TT0NfREFJRk1UX0kyUyB8CisJCQkJICBTTkRfU09DX0RBSUZNVF9OQl9ORiB8CisJCQkJICBTTkRfU09DX0RBSUZNVF9DQlNfQ0ZTKTsKKyNlbmRpZgorCisJaWYgKHNzYyA9PSBOVUxMKSB7CisJCXByX3dhcm5pbmcoInBsYXlwYXFfd204NTEwX2h3X3BhcmFtczogc3NjIGlzIE5VTEwhXG4iKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisKKwkvKgorCSAqIEZpZ3VyZSBvdXQgUExMIGFuZCBCQ0xLIGRpdmlkZXJzIGZvciBXTTg1MTAKKwkgKi8KKwlzd2l0Y2ggKHBhcmFtc19yYXRlKHBhcmFtcykpIHsKKwljYXNlIDQ4MDAwOgorCQlwbGxfb3V0ID0gMTIyODgwMDA7CisJCW1jbGtfZGl2ID0gV004NTEwX01DTEtESVZfMTsKKwkJYmNsayA9IFdNODUxMF9CQ0xLRElWXzg7CisJCWJyZWFrOworCisJY2FzZSA0NDEwMDoKKwkJcGxsX291dCA9IDExMjg5NjAwOworCQltY2xrX2RpdiA9IFdNODUxMF9NQ0xLRElWXzE7CisJCWJjbGsgPSBXTTg1MTBfQkNMS0RJVl84OworCQlicmVhazsKKworCWNhc2UgMjIwNTA6CisJCXBsbF9vdXQgPSAxMTI4OTYwMDsKKwkJbWNsa19kaXYgPSBXTTg1MTBfTUNMS0RJVl8yOworCQliY2xrID0gV004NTEwX0JDTEtESVZfODsKKwkJYnJlYWs7CisKKwljYXNlIDE2MDAwOgorCQlwbGxfb3V0ID0gMTIyODgwMDA7CisJCW1jbGtfZGl2ID0gV004NTEwX01DTEtESVZfMzsKKwkJYmNsayA9IFdNODUxMF9CQ0xLRElWXzg7CisJCWJyZWFrOworCisJY2FzZSAxMTAyNToKKwkJcGxsX291dCA9IDExMjg5NjAwOworCQltY2xrX2RpdiA9IFdNODUxMF9NQ0xLRElWXzQ7CisJCWJjbGsgPSBXTTg1MTBfQkNMS0RJVl84OworCQlicmVhazsKKworCWNhc2UgODAwMDoKKwkJcGxsX291dCA9IDEyMjg4MDAwOworCQltY2xrX2RpdiA9IFdNODUxMF9NQ0xLRElWXzY7CisJCWJjbGsgPSBXTTg1MTBfQkNMS0RJVl84OworCQlicmVhazsKKworCWRlZmF1bHQ6CisJCXByX3dhcm5pbmcoInBsYXlwYXFfd204NTEwOiBVbnN1cHBvcnRlZCBzYW1wbGUgcmF0ZSAlZFxuIiwKKwkJCSAgIHBhcmFtc19yYXRlKHBhcmFtcykpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKworCS8qCisJICogc2V0IENQVSBhbmQgQ09ERUMgREFJIGNvbmZpZ3VyYXRpb24KKwkgKi8KKwlyZXQgPSBzbmRfc29jX2RhaV9zZXRfZm10KGNvZGVjX2RhaSwgZm10KTsKKwlpZiAocmV0IDwgMCkgeworCQlwcl93YXJuaW5nKCJwbGF5cGFxX3dtODUxMDogIgorCQkJICAgIkZhaWxlZCB0byBzZXQgQ09ERUMgREFJIGZvcm1hdCAoJWQpXG4iLAorCQkJICAgcmV0KTsKKwkJcmV0dXJuIHJldDsKKwl9CisJcmV0ID0gc25kX3NvY19kYWlfc2V0X2ZtdChjcHVfZGFpLCBmbXQpOworCWlmIChyZXQgPCAwKSB7CisJCXByX3dhcm5pbmcoInBsYXlwYXFfd204NTEwOiAiCisJCQkgICAiRmFpbGVkIHRvIHNldCBDUFUgREFJIGZvcm1hdCAoJWQpXG4iLAorCQkJICAgcmV0KTsKKwkJcmV0dXJuIHJldDsKKwl9CisKKworCS8qCisJICogU2V0IENQVSBjbG9jayBjb25maWd1cmF0aW9uCisJICovCisjaWYgZGVmaW5lZCBDT05GSUdfU05EX0FUMzJfU09DX1BMQVlQQVFfU0xBVkUKKwljZCA9IHBsYXlwYXFfd204NTEwX2NhbGNfc3NjX2Nsb2NrKHBhcmFtcywgY3B1X2RhaSk7CisJcHJfZGVidWcoInBsYXlwYXFfd204NTEwOiBjbXJfZGl2ID0gJWQsIHBlcmlvZCA9ICVkXG4iLAorCQkgY2QuY21yX2RpdiwgY2QucGVyaW9kKTsKKwlyZXQgPSBzbmRfc29jX2RhaV9zZXRfY2xrZGl2KGNwdV9kYWksIEFUMzJfU1NDX0NNUl9ESVYsIGNkLmNtcl9kaXYpOworCWlmIChyZXQgPCAwKSB7CisJCXByX3dhcm5pbmcoInBsYXlwYXFfd204NTEwOiBGYWlsZWQgdG8gc2V0IENQVSBDTVJfRElWICglZClcbiIsCisJCQkgICByZXQpOworCQlyZXR1cm4gcmV0OworCX0KKwlyZXQgPSBzbmRfc29jX2RhaV9zZXRfY2xrZGl2KGNwdV9kYWksIEFUMzJfU1NDX1RDTVJfUEVSSU9ELAorCQkJCQkgIGNkLnBlcmlvZCk7CisJaWYgKHJldCA8IDApIHsKKwkJcHJfd2FybmluZygicGxheXBhcV93bTg1MTA6ICIKKwkJCSAgICJGYWlsZWQgdG8gc2V0IENQVSB0cmFuc21pdCBwZXJpb2QgKCVkKVxuIiwKKwkJCSAgIHJldCk7CisJCXJldHVybiByZXQ7CisJfQorI2VuZGlmIC8qIENPTkZJR19TTkRfQVQzMl9TT0NfUExBWVBBUV9TTEFWRSAqLworCisKKwkvKgorCSAqIFNldCBDT0RFQyBjbG9jayBjb25maWd1cmF0aW9uCisJICovCisJcHJfZGVidWcoInBsYXlwYXFfd204NTEwOiAiCisJCSAicGxsX2luID0gJWxkLCBwbGxfb3V0ID0gJXUsIGJjbGsgPSAleCwgbWNsayA9ICV4XG4iLAorCQkgY2xrX2dldF9yYXRlKENPREVDX0NMSyksIHBsbF9vdXQsIGJjbGssIG1jbGtfZGl2KTsKKworCisjaWYgIWRlZmluZWQgQ09ORklHX1NORF9BVDMyX1NPQ19QTEFZUEFRX1NMQVZFCisJcmV0ID0gc25kX3NvY19kYWlfc2V0X2Nsa2Rpdihjb2RlY19kYWksIFdNODUxMF9CQ0xLRElWLCBiY2xrKTsKKwlpZiAocmV0IDwgMCkgeworCQlwcl93YXJuaW5nCisJCSAgICAoInBsYXlwYXFfd204NTEwOiBGYWlsZWQgdG8gc2V0IENPREVDIERBSSBCQ0xLRElWICglZClcbiIsCisJCSAgICAgcmV0KTsKKwkJcmV0dXJuIHJldDsKKwl9CisjZW5kaWYgLyogQ09ORklHX1NORF9BVDMyX1NPQ19QTEFZUEFRX1NMQVZFICovCisKKworCXJldCA9IHNuZF9zb2NfZGFpX3NldF9wbGwoY29kZWNfZGFpLCAwLAorCQkJCQkgY2xrX2dldF9yYXRlKENPREVDX0NMSyksIHBsbF9vdXQpOworCWlmIChyZXQgPCAwKSB7CisJCXByX3dhcm5pbmcoInBsYXlwYXFfd204NTEwOiBGYWlsZWQgdG8gc2V0IENPREVDIERBSSBQTEwgKCVkKVxuIiwKKwkJCSAgIHJldCk7CisJCXJldHVybiByZXQ7CisJfQorCisKKwlyZXQgPSBzbmRfc29jX2RhaV9zZXRfY2xrZGl2KGNvZGVjX2RhaSwgV004NTEwX01DTEtESVYsIG1jbGtfZGl2KTsKKwlpZiAocmV0IDwgMCkgeworCQlwcl93YXJuaW5nKCJwbGF5cGFxX3dtODUxMDogRmFpbGVkIHRvIHNldCBDT0RFQyBNQ0xLRElWICglZClcbiIsCisJCQkgICByZXQpOworCQlyZXR1cm4gcmV0OworCX0KKworCisJcmV0dXJuIDA7Cit9CisKKworCitzdGF0aWMgc3RydWN0IHNuZF9zb2Nfb3BzIHBsYXlwYXFfd204NTEwX29wcyA9IHsKKwkuaHdfcGFyYW1zID0gcGxheXBhcV93bTg1MTBfaHdfcGFyYW1zLAorfTsKKworCisKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX3NvY19kYXBtX3dpZGdldCBwbGF5cGFxX2RhcG1fd2lkZ2V0c1tdID0geworCVNORF9TT0NfREFQTV9NSUMoIkludCBNaWMiLCBOVUxMKSwKKwlTTkRfU09DX0RBUE1fU1BLKCJFeHQgU3BrIiwgTlVMTCksCit9OworCisKKworc3RhdGljIGNvbnN0IGNoYXIgKmludGVyY29uW11bM10gPSB7CisJLyogc3BlYWtlciBjb25uZWN0ZWQgdG8gU1BLT1VUICovCisJeyJFeHQgU3BrIiwgTlVMTCwgIlNQS09VVFAifSwKKwl7IkV4dCBTcGsiLCBOVUxMLCAiU1BLT1VUTiJ9LAorCisJeyJNaWMgQmlhcyIsIE5VTEwsICJJbnQgTWljIn0sCisJeyJNSUNOIiwgTlVMTCwgIk1pYyBCaWFzIn0sCisJeyJNSUNQIiwgTlVMTCwgIk1pYyBCaWFzIn0sCisKKwkvKiBUZXJtaW5hdG9yICovCisJe05VTEwsIE5VTEwsIE5VTEx9LAorfTsKKworCisKK3N0YXRpYyBpbnQgcGxheXBhcV93bTg1MTBfaW5pdChzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMpCit7CisJaW50IGk7CisKKwkvKgorCSAqIEFkZCBEQVBNIHdpZGdldHMKKwkgKi8KKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShwbGF5cGFxX2RhcG1fd2lkZ2V0cyk7IGkrKykKKwkJc25kX3NvY19kYXBtX25ld19jb250cm9sKGNvZGVjLCAmcGxheXBhcV9kYXBtX3dpZGdldHNbaV0pOworCisKKworCS8qCisJICogU2V0dXAgYXVkaW8gcGF0aCBpbnRlcmNvbm5lY3RzCisJICovCisJZm9yIChpID0gMDsgaW50ZXJjb25baV1bMF0gIT0gTlVMTDsgaSsrKSB7CisJCXNuZF9zb2NfZGFwbV9jb25uZWN0X2lucHV0KGNvZGVjLAorCQkJCQkgICBpbnRlcmNvbltpXVswXSwKKwkJCQkJICAgaW50ZXJjb25baV1bMV0sIGludGVyY29uW2ldWzJdKTsKKwl9CisKKworCS8qIGFsd2F5cyBjb25uZWN0ZWQgcGlucyAqLworCXNuZF9zb2NfZGFwbV9lbmFibGVfcGluKGNvZGVjLCAiSW50IE1pYyIpOworCXNuZF9zb2NfZGFwbV9lbmFibGVfcGluKGNvZGVjLCAiRXh0IFNwayIpOworCXNuZF9zb2NfZGFwbV9zeW5jKGNvZGVjKTsKKworCisKKwkvKiBNYWtlIENTQiBzaG93IFBMTCByYXRlICovCisJc25kX3NvY19kYWlfc2V0X2Nsa2Rpdihjb2RlYy0+ZGFpLCBXTTg1MTBfT1BDTEtESVYsCisJCQkJICAgICAgIFdNODUxMF9PUENMS0RJVl8xIHwgNCk7CisKKwlyZXR1cm4gMDsKK30KKworCisKK3N0YXRpYyBzdHJ1Y3Qgc25kX3NvY19kYWlfbGluayBwbGF5cGFxX3dtODUxMF9kYWkgPSB7CisJLm5hbWUgPSAiV004NTEwIiwKKwkuc3RyZWFtX25hbWUgPSAiV004NTEwIFBDTSIsCisJLmNwdV9kYWkgPSAmYXQzMl9zc2NfZGFpWzBdLAorCS5jb2RlY19kYWkgPSAmd204NTEwX2RhaSwKKwkuaW5pdCA9IHBsYXlwYXFfd204NTEwX2luaXQsCisJLm9wcyA9ICZwbGF5cGFxX3dtODUxMF9vcHMsCit9OworCisKKworc3RhdGljIHN0cnVjdCBzbmRfc29jX21hY2hpbmUgc25kX3NvY19tYWNoaW5lX3BsYXlwYXEgPSB7CisJLm5hbWUgPSAiTFJTX1BsYXlQYXFfV004NTEwIiwKKwkuZGFpX2xpbmsgPSAmcGxheXBhcV93bTg1MTBfZGFpLAorCS5udW1fbGlua3MgPSAxLAorfTsKKworCisKK3N0YXRpYyBzdHJ1Y3Qgd204NTEwX3NldHVwX2RhdGEgcGxheXBhcV93bTg1MTBfc2V0dXAgPSB7CisJLmkyY19hZGRyZXNzID0gMHgxYSwKK307CisKKworCitzdGF0aWMgc3RydWN0IHNuZF9zb2NfZGV2aWNlIHBsYXlwYXFfd204NTEwX3NuZF9kZXZkYXRhID0geworCS5tYWNoaW5lID0gJnNuZF9zb2NfbWFjaGluZV9wbGF5cGFxLAorCS5wbGF0Zm9ybSA9ICZhdDMyX3NvY19wbGF0Zm9ybSwKKwkuY29kZWNfZGV2ID0gJnNvY19jb2RlY19kZXZfd204NTEwLAorCS5jb2RlY19kYXRhID0gJnBsYXlwYXFfd204NTEwX3NldHVwLAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBsYXlwYXFfc25kX2RldmljZTsKKworCitzdGF0aWMgaW50IF9faW5pdCBwbGF5cGFxX2Fzb2NfaW5pdCh2b2lkKQoreworCWludCByZXQgPSAwOworCXN0cnVjdCBhdDMyX3NzY19pbmZvICpzc2NfcCA9IHBsYXlwYXFfd204NTEwX2RhaS5jcHVfZGFpLT5wcml2YXRlX2RhdGE7CisJc3RydWN0IHNzY19kZXZpY2UgKnNzYyA9IE5VTEw7CisKKworCS8qCisJICogUmVxdWVzdCBTU0MgZGV2aWNlCisJICovCisJc3NjID0gc3NjX3JlcXVlc3QoMCk7CisJaWYgKElTX0VSUihzc2MpKSB7CisJCXJldCA9IFBUUl9FUlIoc3NjKTsKKwkJc3NjID0gTlVMTDsKKwkJZ290byBlcnJfc3NjOworCX0KKwlzc2NfcC0+c3NjID0gc3NjOworCisKKwkvKgorCSAqIENvbmZpZ3VyZSBNQ0xLIGZvciBXTTg1MTAKKwkgKi8KKwlfZ2NsazAgPSBjbGtfZ2V0KE5VTEwsICJnY2xrMCIpOworCWlmIChJU19FUlIoX2djbGswKSkgeworCQlfZ2NsazAgPSBOVUxMOworCQlnb3RvIGVycl9nY2xrMDsKKwl9CisJX3BsbDAgPSBjbGtfZ2V0KE5VTEwsICJwbGwwIik7CisJaWYgKElTX0VSUihfcGxsMCkpIHsKKwkJX3BsbDAgPSBOVUxMOworCQlnb3RvIGVycl9wbGwwOworCX0KKwlpZiAoY2xrX3NldF9wYXJlbnQoX2djbGswLCBfcGxsMCkpIHsKKwkJcHJfd2FybmluZygic25kLXNvYy1wbGF5cGFxOiAiCisJCQkgICAiRmFpbGVkIHRvIHNldCBQTEwwIGFzIHBhcmVudCBmb3IgREFDIGNsb2NrXG4iKTsKKwkJZ290byBlcnJfc2V0X2NsazsKKwl9CisJY2xrX3NldF9yYXRlKENPREVDX0NMSywgMTIwMDAwMDApOworCWNsa19lbmFibGUoQ09ERUNfQ0xLKTsKKworI2lmIGRlZmluZWQgQ09ORklHX0FUMzJfRU5IQU5DRURfUE9SVE1VWAorCWF0MzJfc2VsZWN0X3BlcmlwaChNQ0xLX1BJTiwgTUNMS19QRVJJUEgsIDApOworI2VuZGlmCisKKworCS8qCisJICogQ3JlYXRlIGFuZCByZWdpc3RlciBwbGF0Zm9ybSBkZXZpY2UKKwkgKi8KKwlwbGF5cGFxX3NuZF9kZXZpY2UgPSBwbGF0Zm9ybV9kZXZpY2VfYWxsb2MoInNvYy1hdWRpbyIsIDApOworCWlmIChwbGF5cGFxX3NuZF9kZXZpY2UgPT0gTlVMTCkgeworCQlyZXQgPSAtRU5PTUVNOworCQlnb3RvIGVycl9kZXZpY2VfYWxsb2M7CisJfQorCisJcGxhdGZvcm1fc2V0X2RydmRhdGEocGxheXBhcV9zbmRfZGV2aWNlLCAmcGxheXBhcV93bTg1MTBfc25kX2RldmRhdGEpOworCXBsYXlwYXFfd204NTEwX3NuZF9kZXZkYXRhLmRldiA9ICZwbGF5cGFxX3NuZF9kZXZpY2UtPmRldjsKKworCXJldCA9IHBsYXRmb3JtX2RldmljZV9hZGQocGxheXBhcV9zbmRfZGV2aWNlKTsKKwlpZiAocmV0KSB7CisJCXByX3dhcm5pbmcoInBsYXlwYXFfd204NTEwOiBwbGF0Zm9ybV9kZXZpY2VfYWRkIGZhaWxlZCAoJWQpXG4iLAorCQkJICAgcmV0KTsKKwkJZ290byBlcnJfZGV2aWNlX2FkZDsKKwl9CisKKwlyZXR1cm4gMDsKKworCitlcnJfZGV2aWNlX2FkZDoKKwlpZiAocGxheXBhcV9zbmRfZGV2aWNlICE9IE5VTEwpIHsKKwkJcGxhdGZvcm1fZGV2aWNlX3B1dChwbGF5cGFxX3NuZF9kZXZpY2UpOworCQlwbGF5cGFxX3NuZF9kZXZpY2UgPSBOVUxMOworCX0KK2Vycl9kZXZpY2VfYWxsb2M6CitlcnJfc2V0X2NsazoKKwlpZiAoX3BsbDAgIT0gTlVMTCkgeworCQljbGtfcHV0KF9wbGwwKTsKKwkJX3BsbDAgPSBOVUxMOworCX0KK2Vycl9wbGwwOgorCWlmIChfZ2NsazAgIT0gTlVMTCkgeworCQljbGtfcHV0KF9nY2xrMCk7CisJCV9nY2xrMCA9IE5VTEw7CisJfQorZXJyX2djbGswOgorCWlmIChzc2MgIT0gTlVMTCkgeworCQlzc2NfZnJlZShzc2MpOworCQlzc2MgPSBOVUxMOworCX0KK2Vycl9zc2M6CisJcmV0dXJuIHJldDsKK30KKworCitzdGF0aWMgdm9pZCBfX2V4aXQgcGxheXBhcV9hc29jX2V4aXQodm9pZCkKK3sKKwlzdHJ1Y3QgYXQzMl9zc2NfaW5mbyAqc3NjX3AgPSBwbGF5cGFxX3dtODUxMF9kYWkuY3B1X2RhaS0+cHJpdmF0ZV9kYXRhOworCXN0cnVjdCBzc2NfZGV2aWNlICpzc2M7CisKKwlpZiAoc3NjX3AgIT0gTlVMTCkgeworCQlzc2MgPSBzc2NfcC0+c3NjOworCQlpZiAoc3NjICE9IE5VTEwpCisJCQlzc2NfZnJlZShzc2MpOworCQlzc2NfcC0+c3NjID0gTlVMTDsKKwl9CisKKwlpZiAoX2djbGswICE9IE5VTEwpIHsKKwkJY2xrX3B1dChfZ2NsazApOworCQlfZ2NsazAgPSBOVUxMOworCX0KKwlpZiAoX3BsbDAgIT0gTlVMTCkgeworCQljbGtfcHV0KF9wbGwwKTsKKwkJX3BsbDAgPSBOVUxMOworCX0KKworI2lmIGRlZmluZWQgQ09ORklHX0FUMzJfRU5IQU5DRURfUE9SVE1VWAorCWF0MzJfZnJlZV9waW4oTUNMS19QSU4pOworI2VuZGlmCisKKwlwbGF0Zm9ybV9kZXZpY2VfdW5yZWdpc3RlcihwbGF5cGFxX3NuZF9kZXZpY2UpOworCXBsYXlwYXFfc25kX2RldmljZSA9IE5VTEw7Cit9CisKK21vZHVsZV9pbml0KHBsYXlwYXFfYXNvY19pbml0KTsKK21vZHVsZV9leGl0KHBsYXlwYXFfYXNvY19leGl0KTsKKworTU9EVUxFX0FVVEhPUigiR2VvZmZyZXkgV29zc3VtIDxnd29zc3VtQGFjbS5vcmc+Iik7CitNT0RVTEVfREVTQ1JJUFRJT04oIkFTb0MgbWFjaGluZSBkcml2ZXIgZm9yIExSUyBQbGF5UGFxIik7CitNT0RVTEVfTElDRU5TRSgiR1BMIik7CmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvYXQ5MS9LY29uZmlnIGIvc291bmQvc29jL2F0OTEvS2NvbmZpZwppbmRleCA1Y2I5M2ZkLi45MDUxODY1IDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvYXQ5MS9LY29uZmlnCisrKyBiL3NvdW5kL3NvYy9hdDkxL0tjb25maWcKQEAgLTEsNiArMSw2IEBACiBjb25maWcgU05EX0FUOTFfU09DCiAJdHJpc3RhdGUgIlNvQyBBdWRpbyBmb3IgdGhlIEF0bWVsIEFUOTEgU3lzdGVtLW9uLUNoaXAiCi0JZGVwZW5kcyBvbiBBUkNIX0FUOTEgJiYgU05EX1NPQworCWRlcGVuZHMgb24gQVJDSF9BVDkxCiAJaGVscAogCSAgU2F5IFkgb3IgTSBpZiB5b3Ugd2FudCB0byBhZGQgc3VwcG9ydCBmb3IgY29kZWNzIGF0dGFjaGVkIHRvCiAJICB0aGUgQVQ5MSBTU0MgaW50ZXJmYWNlLiBZb3Ugd2lsbCBhbHNvIG5lZWQKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9hdDkxL2F0OTEtcGNtLmMgYi9zb3VuZC9zb2MvYXQ5MS9hdDkxLXBjbS5jCmluZGV4IGNjYWM2YmQuLmQ0NzQ5MmIgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9hdDkxL2F0OTEtcGNtLmMKKysrIGIvc291bmQvc29jL2F0OTEvYXQ5MS1wY20uYwpAQCAtMzE4LDcgKzMxOCw3IEBACiBzdGF0aWMgdTY0IGF0OTFfcGNtX2RtYW1hc2sgPSAweGZmZmZmZmZmOwogCiBzdGF0aWMgaW50IGF0OTFfcGNtX25ldyhzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQsCi0Jc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpkYWksIHN0cnVjdCBzbmRfcGNtICpwY20pCisJc3RydWN0IHNuZF9zb2NfZGFpICpkYWksIHN0cnVjdCBzbmRfcGNtICpwY20pCiB7CiAJaW50IHJldCA9IDA7CiAKQEAgLTM2Nyw3ICszNjcsNyBAQAogCiAjaWZkZWYgQ09ORklHX1BNCiBzdGF0aWMgaW50IGF0OTFfcGNtX3N1c3BlbmQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKLQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpkYWkpCisJc3RydWN0IHNuZF9zb2NfZGFpICpkYWkpCiB7CiAJc3RydWN0IHNuZF9wY21fcnVudGltZSAqcnVudGltZSA9IGRhaS0+cnVudGltZTsKIAlzdHJ1Y3QgYXQ5MV9ydW50aW1lX2RhdGEgKnBydGQ7CkBAIC0zOTIsNyArMzkyLDcgQEAKIH0KIAogc3RhdGljIGludCBhdDkxX3BjbV9yZXN1bWUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKLQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpkYWkpCisJc3RydWN0IHNuZF9zb2NfZGFpICpkYWkpCiB7CiAJc3RydWN0IHNuZF9wY21fcnVudGltZSAqcnVudGltZSA9IGRhaS0+cnVudGltZTsKIAlzdHJ1Y3QgYXQ5MV9ydW50aW1lX2RhdGEgKnBydGQ7CmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvYXQ5MS9hdDkxLXNzYy5jIGIvc291bmQvc29jL2F0OTEvYXQ5MS1zc2MuYwppbmRleCBiYzM1ZDAwLi4wOTBlNjA3IDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvYXQ5MS9hdDkxLXNzYy5jCisrKyBiL3NvdW5kL3NvYy9hdDkxL2F0OTEtc3NjLmMKQEAgLTQxLDcgKzQxLDcgQEAKICNkZWZpbmUJREJHKHguLi4pCiAjZW5kaWYKIAotI2lmIGRlZmluZWQoQ09ORklHX0FSQ0hfQVQ5MVNBTTkyNjApCisjaWYgZGVmaW5lZChDT05GSUdfQVJDSF9BVDkxU0FNOTI2MCkgfHwgZGVmaW5lZChDT05GSUdfQVJDSF9BVDkxU0FNOUcyMCkKICNkZWZpbmUgTlVNX1NTQ19ERVZJQ0VTCQkxCiAjZWxzZQogI2RlZmluZSBOVU1fU1NDX0RFVklDRVMJCTMKQEAgLTI4MSw3ICsyODEsNyBAQAogLyoKICAqIFJlY29yZCB0aGUgU1NDIHN5c3RlbSBjbG9jayByYXRlLgogICovCi1zdGF0aWMgaW50IGF0OTFfc3NjX3NldF9kYWlfc3lzY2xrKHN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWksCitzdGF0aWMgaW50IGF0OTFfc3NjX3NldF9kYWlfc3lzY2xrKHN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSwKIAkJaW50IGNsa19pZCwgdW5zaWduZWQgaW50IGZyZXEsIGludCBkaXIpCiB7CiAJLyoKQEAgLTMwMyw3ICszMDMsNyBAQAogLyoKICAqIFJlY29yZCB0aGUgREFJIGZvcm1hdCBmb3IgdXNlIGluIGh3X3BhcmFtcygpLgogICovCi1zdGF0aWMgaW50IGF0OTFfc3NjX3NldF9kYWlfZm10KHN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWksCitzdGF0aWMgaW50IGF0OTFfc3NjX3NldF9kYWlfZm10KHN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSwKIAkJdW5zaWduZWQgaW50IGZtdCkKIHsKIAlzdHJ1Y3QgYXQ5MV9zc2NfaW5mbyAqc3NjX3AgPSAmc3NjX2luZm9bY3B1X2RhaS0+aWRdOwpAQCAtMzE1LDcgKzMxNSw3IEBACiAvKgogICogUmVjb3JkIFNTQyBjbG9jayBkaXZpZGVycyBmb3IgdXNlIGluIGh3X3BhcmFtcygpLgogICovCi1zdGF0aWMgaW50IGF0OTFfc3NjX3NldF9kYWlfY2xrZGl2KHN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWksCitzdGF0aWMgaW50IGF0OTFfc3NjX3NldF9kYWlfY2xrZGl2KHN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSwKIAlpbnQgZGl2X2lkLCBpbnQgZGl2KQogewogCXN0cnVjdCBhdDkxX3NzY19pbmZvICpzc2NfcCA9ICZzc2NfaW5mb1tjcHVfZGFpLT5pZF07CkBAIC02MzQsNyArNjM0LDcgQEAKIAogI2lmZGVmIENPTkZJR19QTQogc3RhdGljIGludCBhdDkxX3NzY19zdXNwZW5kKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCi0Jc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSkKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkpCiB7CiAJc3RydWN0IGF0OTFfc3NjX2luZm8gKnNzY19wOwogCkBAIC02NjIsNyArNjYyLDcgQEAKIH0KIAogc3RhdGljIGludCBhdDkxX3NzY19yZXN1bWUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKLQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpKQorCXN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSkKIHsKIAlzdHJ1Y3QgYXQ5MV9zc2NfaW5mbyAqc3NjX3A7CiAKQEAgLTcwMCw3ICs3MDAsNyBAQAogI2RlZmluZSBBVDkxX1NTQ19GT1JNQVRTIChTTkRSVl9QQ01fRk1UQklUX1M4ICAgICB8IFNORFJWX1BDTV9GTVRCSVRfUzE2X0xFIHxcCiAJCQkgIFNORFJWX1BDTV9GTVRCSVRfUzI0X0xFIHwgU05EUlZfUENNX0ZNVEJJVF9TMzJfTEUpCiAKLXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgYXQ5MV9zc2NfZGFpW05VTV9TU0NfREVWSUNFU10gPSB7CitzdHJ1Y3Qgc25kX3NvY19kYWkgYXQ5MV9zc2NfZGFpW05VTV9TU0NfREVWSUNFU10gPSB7CiAJewkubmFtZSA9ICJhdDkxLXNzYzAiLAogCQkuaWQgPSAwLAogCQkudHlwZSA9IFNORF9TT0NfREFJX1BDTSwKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9hdDkxL2F0OTEtc3NjLmggYi9zb3VuZC9zb2MvYXQ5MS9hdDkxLXNzYy5oCmluZGV4IGIxODhmOTcuLjZiN2JmMzggMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9hdDkxL2F0OTEtc3NjLmgKKysrIGIvc291bmQvc29jL2F0OTEvYXQ5MS1zc2MuaApAQCAtMjEsNyArMjEsNyBAQAogI2RlZmluZSBBVDkxU1NDX1RDTVJfUEVSSU9ECTEgLyogQkNMSyBkaXZpZGVyIGZvciB0cmFuc21pdCBGUyAqLwogI2RlZmluZSBBVDkxU1NDX1JDTVJfUEVSSU9ECTIgLyogQkNMSyBkaXZpZGVyIGZvciByZWNlaXZlIEZTICovCiAKLWV4dGVybiBzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpIGF0OTFfc3NjX2RhaVtdOworZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2RhaSBhdDkxX3NzY19kYWlbXTsKIAogI2VuZGlmIC8qIF9BVDkxX1NTQ19IICovCiAKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9hdDkxL2V0aV9iMV93bTg3MzEuYyBiL3NvdW5kL3NvYy9hdDkxL2V0aV9iMV93bTg3MzEuYwppbmRleCAxMzQ3ZGNmLi5kNTMyZGU5IDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvYXQ5MS9ldGlfYjFfd204NzMxLmMKKysrIGIvc291bmQvc29jL2F0OTEvZXRpX2IxX3dtODczMS5jCkBAIC01MywxOCArNTMsMTggQEAKIHN0YXRpYyBpbnQgZXRpX2IxX3N0YXJ0dXAoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCiB7CiAJc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRpbWUgKnJ0ZCA9IHN1YnN0cmVhbS0+cHJpdmF0ZV9kYXRhOwotCXN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpID0gcnRkLT5kYWktPmNvZGVjX2RhaTsKLQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWkgPSBydGQtPmRhaS0+Y29kZWNfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSA9IHJ0ZC0+ZGFpLT5jcHVfZGFpOwogCWludCByZXQ7CiAKIAkvKiBjcHUgY2xvY2sgaXMgdGhlIEFUOTEgbWFzdGVyIGNsb2NrIHNlbnQgdG8gdGhlIFNTQyAqLwotCXJldCA9IGNwdV9kYWktPmRhaV9vcHMuc2V0X3N5c2NsayhjcHVfZGFpLCBBVDkxX1NZU0NMS19NQ0ssCisJcmV0ID0gc25kX3NvY19kYWlfc2V0X3N5c2NsayhjcHVfZGFpLCBBVDkxX1NZU0NMS19NQ0ssCiAJCTYwMDAwMDAwLCBTTkRfU09DX0NMT0NLX0lOKTsKIAlpZiAocmV0IDwgMCkKIAkJcmV0dXJuIHJldDsKIAogCS8qIGNvZGVjIHN5c3RlbSBjbG9jayBpcyBzdXBwbGllZCBieSBQQ0sxLCBzZXQgdG8gMTJNSHogKi8KLQlyZXQgPSBjb2RlY19kYWktPmRhaV9vcHMuc2V0X3N5c2Nsayhjb2RlY19kYWksIFdNODczMV9TWVNDTEssCisJcmV0ID0gc25kX3NvY19kYWlfc2V0X3N5c2Nsayhjb2RlY19kYWksIFdNODczMV9TWVNDTEssCiAJCTEyMDAwMDAwLCBTTkRfU09DX0NMT0NLX0lOKTsKIAlpZiAocmV0IDwgMCkKIAkJcmV0dXJuIHJldDsKQEAgLTg3LDggKzg3LDggQEAKIAlzdHJ1Y3Qgc25kX3BjbV9od19wYXJhbXMgKnBhcmFtcykKIHsKIAlzdHJ1Y3Qgc25kX3NvY19wY21fcnVudGltZSAqcnRkID0gc3Vic3RyZWFtLT5wcml2YXRlX2RhdGE7Ci0Jc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWkgPSBydGQtPmRhaS0+Y29kZWNfZGFpOwotCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWkgPSBydGQtPmRhaS0+Y3B1X2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSA9IHJ0ZC0+ZGFpLT5jb2RlY19kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CiAJaW50IHJldDsKIAogI2lmZGVmIENPTkZJR19TTkRfQVQ5MV9TT0NfRVRJX1NMQVZFCkBAIC05NiwxMyArOTYsMTMgQEAKIAlpbnQgY21yX2RpdiwgcGVyaW9kOwogCiAJLyogc2V0IGNvZGVjIERBSSBjb25maWd1cmF0aW9uICovCi0JcmV0ID0gY29kZWNfZGFpLT5kYWlfb3BzLnNldF9mbXQoY29kZWNfZGFpLCBTTkRfU09DX0RBSUZNVF9JMlMgfAorCXJldCA9IHNuZF9zb2NfZGFpX3NldF9mbXQoY29kZWNfZGFpLCBTTkRfU09DX0RBSUZNVF9JMlMgfAogCQlTTkRfU09DX0RBSUZNVF9OQl9ORiB8IFNORF9TT0NfREFJRk1UX0NCU19DRlMpOwogCWlmIChyZXQgPCAwKQogCQlyZXR1cm4gcmV0OwogCiAJLyogc2V0IGNwdSBEQUkgY29uZmlndXJhdGlvbiAqLwotCXJldCA9IGNwdV9kYWktPmRhaV9vcHMuc2V0X2ZtdChjcHVfZGFpLCBTTkRfU09DX0RBSUZNVF9JMlMgfAorCXJldCA9IHNuZF9zb2NfZGFpX3NldF9mbXQoY3B1X2RhaSwgU05EX1NPQ19EQUlGTVRfSTJTIHwKIAkJU05EX1NPQ19EQUlGTVRfTkJfTkYgfCBTTkRfU09DX0RBSUZNVF9DQlNfQ0ZTKTsKIAlpZiAocmV0IDwgMCkKIAkJcmV0dXJuIHJldDsKQEAgLTE0MSwxNyArMTQxLDE3IEBACiAJfQogCiAJLyogc2V0IHRoZSBNQ0sgZGl2aWRlciBmb3IgQkNMSyAqLwotCXJldCA9IGNwdV9kYWktPmRhaV9vcHMuc2V0X2Nsa2RpdihjcHVfZGFpLCBBVDkxU1NDX0NNUl9ESVYsIGNtcl9kaXYpOworCXJldCA9IHNuZF9zb2NfZGFpX3NldF9jbGtkaXYoY3B1X2RhaSwgQVQ5MVNTQ19DTVJfRElWLCBjbXJfZGl2KTsKIAlpZiAocmV0IDwgMCkKIAkJcmV0dXJuIHJldDsKIAogCWlmIChzdWJzdHJlYW0tPnN0cmVhbSA9PSBTTkRSVl9QQ01fU1RSRUFNX1BMQVlCQUNLKSB7CiAJCS8qIHNldCB0aGUgQkNMSyBkaXZpZGVyIGZvciBEQUNMUkMgKi8KLQkJcmV0ID0gY3B1X2RhaS0+ZGFpX29wcy5zZXRfY2xrZGl2KGNwdV9kYWksCisJCXJldCA9IHNuZF9zb2NfZGFpX3NldF9jbGtkaXYoY3B1X2RhaSwKIAkJCQkJCUFUOTFTU0NfVENNUl9QRVJJT0QsIHBlcmlvZCk7CiAJfSBlbHNlIHsKIAkJLyogc2V0IHRoZSBCQ0xLIGRpdmlkZXIgZm9yIEFEQ0xSQyAqLwotCQlyZXQgPSBjcHVfZGFpLT5kYWlfb3BzLnNldF9jbGtkaXYoY3B1X2RhaSwKKwkJcmV0ID0gc25kX3NvY19kYWlfc2V0X2Nsa2RpdihjcHVfZGFpLAogCQkJCQkJQVQ5MVNTQ19SQ01SX1BFUklPRCwgcGVyaW9kKTsKIAl9CiAJaWYgKHJldCA8IDApCkBAIC0xNjMsMTMgKzE2MywxMyBAQAogCSAqLwogCiAJLyogc2V0IGNvZGVjIERBSSBjb25maWd1cmF0aW9uICovCi0JcmV0ID0gY29kZWNfZGFpLT5kYWlfb3BzLnNldF9mbXQoY29kZWNfZGFpLCBTTkRfU09DX0RBSUZNVF9JMlMgfAorCXJldCA9IHNuZF9zb2NfZGFpX3NldF9mbXQoY29kZWNfZGFpLCBTTkRfU09DX0RBSUZNVF9JMlMgfAogCQlTTkRfU09DX0RBSUZNVF9OQl9ORiB8IFNORF9TT0NfREFJRk1UX0NCTV9DRk0pOwogCWlmIChyZXQgPCAwKQogCQlyZXR1cm4gcmV0OwogCiAJLyogc2V0IGNwdSBEQUkgY29uZmlndXJhdGlvbiAqLwotCXJldCA9IGNwdV9kYWktPmRhaV9vcHMuc2V0X2ZtdChjcHVfZGFpLCBTTkRfU09DX0RBSUZNVF9JMlMgfAorCXJldCA9IHNuZF9zb2NfZGFpX3NldF9mbXQoY3B1X2RhaSwgU05EX1NPQ19EQUlGTVRfSTJTIHwKIAkJU05EX1NPQ19EQUlGTVRfTkJfTkYgfCBTTkRfU09DX0RBSUZNVF9DQk1fQ0ZNKTsKIAlpZiAocmV0IDwgMCkKIAkJcmV0dXJuIHJldDsKQEAgLTE5MSw3ICsxOTEsNyBAQAogCVNORF9TT0NfREFQTV9TUEsoIkV4dCBTcGsiLCBOVUxMKSwKIH07CiAKLXN0YXRpYyBjb25zdCBjaGFyICppbnRlcmNvbltdWzNdID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfc29jX2RhcG1fcm91dGUgaW50ZXJjb25bXSA9IHsKIAogCS8qIHNwZWFrZXIgY29ubmVjdGVkIHRvIExIUE9VVCAqLwogCXsiRXh0IFNwayIsIE5VTEwsICJMSFBPVVQifSwKQEAgLTE5OSw5ICsxOTksNiBAQAogCS8qIG1pYyBpcyBjb25uZWN0ZWQgdG8gTWljIEphY2ssIHdpdGggV004NzMxIE1pYyBCaWFzICovCiAJeyJNSUNJTiIsIE5VTEwsICJNaWMgQmlhcyJ9LAogCXsiTWljIEJpYXMiLCBOVUxMLCAiSW50IE1pYyJ9LAotCi0JLyogdGVybWluYXRvciAqLwotCXtOVUxMLCBOVUxMLCBOVUxMfSwKIH07CiAKIC8qCkBAIC0yMDksMzAgKzIwNiwyNCBAQAogICovCiBzdGF0aWMgaW50IGV0aV9iMV93bTg3MzFfaW5pdChzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMpCiB7Ci0JaW50IGk7Ci0KIAlEQkcoImV0aV9iMV93bTg3MzFfaW5pdCgpIGNhbGxlZFxuIik7CiAKIAkvKiBBZGQgc3BlY2lmaWMgd2lkZ2V0cyAqLwotCWZvcihpID0gMDsgaSA8IEFSUkFZX1NJWkUoZXRpX2IxX2RhcG1fd2lkZ2V0cyk7IGkrKykgewotCQlzbmRfc29jX2RhcG1fbmV3X2NvbnRyb2woY29kZWMsICZldGlfYjFfZGFwbV93aWRnZXRzW2ldKTsKLQl9CisJc25kX3NvY19kYXBtX25ld19jb250cm9scyhjb2RlYywgZXRpX2IxX2RhcG1fd2lkZ2V0cywKKwkJCQkgIEFSUkFZX1NJWkUoZXRpX2IxX2RhcG1fd2lkZ2V0cykpOwogCiAJLyogU2V0IHVwIHNwZWNpZmljIGF1ZGlvIHBhdGggaW50ZXJjb25uZWN0cyAqLwotCWZvcihpID0gMDsgaW50ZXJjb25baV1bMF0gIT0gTlVMTDsgaSsrKSB7Ci0JCXNuZF9zb2NfZGFwbV9jb25uZWN0X2lucHV0KGNvZGVjLCBpbnRlcmNvbltpXVswXSwKLQkJCWludGVyY29uW2ldWzFdLCBpbnRlcmNvbltpXVsyXSk7Ci0JfQorCXNuZF9zb2NfZGFwbV9hZGRfcm91dGUoY29kZWMsIGludGVyY29uLCBBUlJBWV9TSVpFKGludGVyY29uKSk7CiAKIAkvKiBub3QgY29ubmVjdGVkICovCi0Jc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIlJMSU5FSU4iLCAwKTsKLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiTExJTkVJTiIsIDApOworCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIlJMSU5FSU4iKTsKKwlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJMTElORUlOIik7CiAKIAkvKiBhbHdheXMgY29ubmVjdGVkICovCi0Jc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkludCBNaWMiLCAxKTsKLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiRXh0IFNwayIsIDEpOworCXNuZF9zb2NfZGFwbV9lbmFibGVfcGluKGNvZGVjLCAiSW50IE1pYyIpOworCXNuZF9zb2NfZGFwbV9lbmFibGVfcGluKGNvZGVjLCAiRXh0IFNwayIpOwogCi0Jc25kX3NvY19kYXBtX3N5bmNfZW5kcG9pbnRzKGNvZGVjKTsKKwlzbmRfc29jX2RhcG1fc3luYyhjb2RlYyk7CiAKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9hdTF4L0tjb25maWcgYi9zb3VuZC9zb2MvYXUxeC9LY29uZmlnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQxMGE4OTMKLS0tIC9kZXYvbnVsbAorKysgYi9zb3VuZC9zb2MvYXUxeC9LY29uZmlnCkBAIC0wLDAgKzEsMzIgQEAKKyMjCisjIyBBdTEyMDAvQXUxNTUwIFBTQyArIERCRE1BCisjIworY29uZmlnIFNORF9TT0NfQVUxWFBTQworCXRyaXN0YXRlICJTb0MgQXVkaW8gZm9yIEF1MTIwMC9BdTEyNTAvQXUxNTUwIgorCWRlcGVuZHMgb24gU09DX0FVMTIwMCB8fCBTT0NfQVUxNTUwCisJaGVscAorCSAgVGhpcyBvcHRpb24gZW5hYmxlcyBzdXBwb3J0IGZvciB0aGUgUHJvZ3JhbW1hYmxlIFNlcmlhbAorCSAgQ29udHJvbGxlcnMgaW4gQUM5NyBhbmQgSTJTIG1vZGUsIGFuZCB0aGUgRGVzY3JpcHRvci1CYXNlZCBETUEKKwkgIENvbnRyb2xsZXIgKERCRE1BKSBhcyBmb3VuZCBvbiB0aGUgQXUxMjAwL0F1MTI1MC9BdTE1NTAgU29DLgorCitjb25maWcgU05EX1NPQ19BVTFYUFNDX0kyUworCXRyaXN0YXRlCisKK2NvbmZpZyBTTkRfU09DX0FVMVhQU0NfQUM5NworCXRyaXN0YXRlCisJc2VsZWN0IEFDOTdfQlVTCisJc2VsZWN0IFNORF9BQzk3X0NPREVDCisJc2VsZWN0IFNORF9TT0NfQUM5N19CVVMKKworCisjIworIyMgQm9hcmRzCisjIworY29uZmlnIFNORF9TT0NfU0FNUExFX1BTQ19BQzk3CisJdHJpc3RhdGUgIlNhbXBsZSBBdTEyeDAvQXUxNTUwIFBTQyBBQzk3IHNvdW5kIG1hY2hpbmUiCisJZGVwZW5kcyBvbiBTTkRfU09DX0FVMVhQU0MKKwlzZWxlY3QgU05EX1NPQ19BVTFYUFNDX0FDOTcKKwlzZWxlY3QgU05EX1NPQ19BQzk3X0NPREVDCisJaGVscAorCSAgVGhpcyBpcyBhIHNhbXBsZSBBQzk3IHNvdW5kIG1hY2hpbmUgZm9yIHVzZSBpbiBBdTEyeDAvQXUxNTUwCisJICBiYXNlZCBzeXN0ZW1zIHdoaWNoIGhhdmUgYXVkaW8gb24gUFNDMSAoZS5nLiBEYjEyMDAgZGVtb2JvYXJkKS4KZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9hdTF4L01ha2VmaWxlIGIvc291bmQvc29jL2F1MXgvTWFrZWZpbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmM2OTUwYgotLS0gL2Rldi9udWxsCisrKyBiL3NvdW5kL3NvYy9hdTF4L01ha2VmaWxlCkBAIC0wLDAgKzEsMTMgQEAKKyMgQXUxMjAwL0F1MTU1MCBQU0MgYXVkaW8KK3NuZC1zb2MtYXUxeHBzYy1kYmRtYS1vYmpzIDo9IGRiZG1hMi5vCitzbmQtc29jLWF1MXhwc2MtaTJzLW9ianMgOj0gcHNjLWkycy5vCitzbmQtc29jLWF1MXhwc2MtYWM5Ny1vYmpzIDo9IHBzYy1hYzk3Lm8KKworb2JqLSQoQ09ORklHX1NORF9TT0NfQVUxWFBTQykgKz0gc25kLXNvYy1hdTF4cHNjLWRiZG1hLm8KK29iai0kKENPTkZJR19TTkRfU09DX0FVMVhQU0NfSTJTKSArPSBzbmQtc29jLWF1MXhwc2MtaTJzLm8KK29iai0kKENPTkZJR19TTkRfU09DX0FVMVhQU0NfQUM5NykgKz0gc25kLXNvYy1hdTF4cHNjLWFjOTcubworCisjIEJvYXJkcworc25kLXNvYy1zYW1wbGUtYWM5Ny1vYmpzIDo9IHNhbXBsZS1hYzk3Lm8KKworb2JqLSQoQ09ORklHX1NORF9TT0NfU0FNUExFX1BTQ19BQzk3KSArPSBzbmQtc29jLXNhbXBsZS1hYzk3Lm8KZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9hdTF4L2RiZG1hMi5jIGIvc291bmQvc29jL2F1MXgvZGJkbWEyLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTQ2NmQ5MwotLS0gL2Rldi9udWxsCisrKyBiL3NvdW5kL3NvYy9hdTF4L2RiZG1hMi5jCkBAIC0wLDAgKzEsNDIxIEBACisvKgorICogQXUxMngwL0F1MTU1MCBQU0MgQUxTQSBBU29DIGF1ZGlvIHN1cHBvcnQuCisgKgorICogKGMpIDIwMDctMjAwOCBNU0MgVmVydHJpZWJzZ2VzLm0uYi5ILiwKKyAqCU1hbnVlbCBMYXVzcyA8bWFub0Byb2FyaW5lbGsuaG9tZWxpbnV4Lm5ldD4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICoKKyAqIERNQSBnbHVlIGZvciBBdTF4LVBTQyBhdWRpby4KKyAqCisgKiBOT1RFOiBhbGwgb2YgdGhlc2UgZHJpdmVycyBjYW4gb25seSB3b3JrIHdpdGggYSBTSU5HTEUgaW5zdGFuY2UKKyAqCSBvZiBhIFBTQy4gTXVsdGlwbGUgaW5kZXBlbmRlbnQgYXVkaW8gZGV2aWNlcyBhcmUgaW1wb3NzaWJsZQorICoJIHdpdGggQVNvQyB2MS4KKyAqLworCisKKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvc2xhYi5oPgorI2luY2x1ZGUgPGxpbnV4L2RtYS1tYXBwaW5nLmg+CisKKyNpbmNsdWRlIDxzb3VuZC9jb3JlLmg+CisjaW5jbHVkZSA8c291bmQvcGNtLmg+CisjaW5jbHVkZSA8c291bmQvcGNtX3BhcmFtcy5oPgorI2luY2x1ZGUgPHNvdW5kL3NvYy5oPgorCisjaW5jbHVkZSA8YXNtL21hY2gtYXUxeDAwL2F1MTAwMC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLWF1MXgwMC9hdTF4eHhfZGJkbWEuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC1hdTF4MDAvYXUxeHh4X3BzYy5oPgorCisjaW5jbHVkZSAicHNjLmgiCisKKy8qI2RlZmluZSBQQ01fREVCVUcqLworCisjZGVmaW5lIE1TRyh4Li4uKQlwcmludGsoS0VSTl9JTkZPICJhdTF4cHNjX3BjbTogIiB4KQorI2lmZGVmIFBDTV9ERUJVRworI2RlZmluZSBEQkcJCU1TRworI2Vsc2UKKyNkZWZpbmUgREJHKHguLi4pCWRvIHt9IHdoaWxlICgwKQorI2VuZGlmCisKK3N0cnVjdCBhdTF4cHNjX2F1ZGlvX2RtYWRhdGEgeworCS8qIERETUEgY29udHJvbCBkYXRhICovCisJdW5zaWduZWQgaW50IGRkbWFfaWQ7CQkvKiBERE1BIGRpcmVjdGlvbiBJRCBmb3IgdGhpcyBQU0MgKi8KKwl1MzIgZGRtYV9jaGFuOwkJCS8qIERETUEgY29udGV4dCAqLworCisJLyogUENNIGNvbnRleHQgKGZvciBpcnEgaGFuZGxlcnMpICovCisJc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW07CisJdW5zaWduZWQgbG9uZyBjdXJyX3BlcmlvZDsJLyogY3VycmVudCBzZWdtZW50IERETUEgaXMgd29ya2luZyBvbiAqLworCXVuc2lnbmVkIGxvbmcgcV9wZXJpb2Q7CQkvKiBxdWV1ZSBwZXJpb2QocykgKi8KKwl1bnNpZ25lZCBsb25nIGRtYV9hcmVhOwkJLyogYWRkcmVzcyBvZiBxdWV1ZWQgRE1BIGFyZWEgKi8KKwl1bnNpZ25lZCBsb25nIGRtYV9hcmVhX3M7CS8qIHN0YXJ0IGFkZHJlc3Mgb2YgRE1BIGFyZWEgKi8KKwl1bnNpZ25lZCBsb25nIHBvczsJCS8qIGN1cnJlbnQgYnl0ZSBwb3NpdGlvbiBiZWluZyBwbGF5ZWQgKi8KKwl1bnNpZ25lZCBsb25nIHBlcmlvZHM7CQkvKiBudW1iZXIgb2YgU0cgc2VnbWVudHMgaW4gdG90YWwgKi8KKwl1bnNpZ25lZCBsb25nIHBlcmlvZF9ieXRlczsJLyogc2l6ZSBpbiBieXRlcyBvZiBvbmUgU0cgc2VnbWVudCAqLworCisJLyogcnVudGltZSBkYXRhICovCisJaW50IG1zYml0czsKK307CisKKy8qIGluc3RhbmNlIGRhdGEuIFRoZXJlIGNhbiBiZSBvbmx5IG9uZSwgTWFjTGVvZCEhISEgKi8KK3N0YXRpYyBzdHJ1Y3QgYXUxeHBzY19hdWRpb19kbWFkYXRhICphdTF4cHNjX2F1ZGlvX3BjbWRtYVsyXTsKKworLyoKKyAqIFRoZXNlIHNldHRpbmdzIGFyZSBzb21ld2hhdCBva2F5LCBhdCBsZWFzdCBvbiBteSBtYWNoaW5lIGF1ZGlvIHBsYXlzCisgKiBhbG1vc3Qgc2tpcC1mcmVlLiBFc3BlY2lhbGx5IHRoZSA2NGtCIGJ1ZmZlciBzZWVtcyB0byBoZWxwIGEgTE9ULgorICovCisjZGVmaW5lIEFVMVhQU0NfUEVSSU9EX01JTl9CWVRFUwkxMDI0CisjZGVmaW5lIEFVMVhQU0NfQlVGRkVSX01JTl9CWVRFUwk2NTUzNgorCisjZGVmaW5lIEFVMVhQU0NfUENNX0ZNVFMJCQkJCVwKKwkoU05EUlZfUENNX0ZNVEJJVF9TOCAgICAgfCBTTkRSVl9QQ01fRk1UQklUX1U4IHwJXAorCSBTTkRSVl9QQ01fRk1UQklUX1MxNl9MRSB8IFNORFJWX1BDTV9GTVRCSVRfUzE2X0JFIHwJXAorCSBTTkRSVl9QQ01fRk1UQklUX1UxNl9MRSB8IFNORFJWX1BDTV9GTVRCSVRfVTE2X0JFIHwJXAorCSBTTkRSVl9QQ01fRk1UQklUX1MzMl9MRSB8IFNORFJWX1BDTV9GTVRCSVRfUzMyX0JFIHwJXAorCSBTTkRSVl9QQ01fRk1UQklUX1UzMl9MRSB8IFNORFJWX1BDTV9GTVRCSVRfVTMyX0JFIHwJXAorCSAwKQorCisvKiBQQ00gaGFyZHdhcmUgRE1BIGNhcGFiaWxpdGllcyAtIHBsYXRmb3JtIHNwZWNpZmljICovCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9wY21faGFyZHdhcmUgYXUxeHBzY19wY21faGFyZHdhcmUgPSB7CisJLmluZm8JCSAgPSBTTkRSVl9QQ01fSU5GT19NTUFQIHwgU05EUlZfUENNX0lORk9fTU1BUF9WQUxJRCB8CisJCQkgICAgU05EUlZfUENNX0lORk9fSU5URVJMRUFWRUQsCisJLmZvcm1hdHMJICA9IEFVMVhQU0NfUENNX0ZNVFMsCisJLnBlcmlvZF9ieXRlc19taW4gPSBBVTFYUFNDX1BFUklPRF9NSU5fQllURVMsCisJLnBlcmlvZF9ieXRlc19tYXggPSA0MDk2ICogMTAyNCAtIDEsCisJLnBlcmlvZHNfbWluCSAgPSAyLAorCS5wZXJpb2RzX21heAkgID0gNDA5NiwJLyogMiB0byBhcy1tdWNoLWFzLXlvdS1saWtlICovCisJLmJ1ZmZlcl9ieXRlc19tYXggPSA0MDk2ICogMTAyNCAtIDEsCisJLmZpZm9fc2l6ZQkgID0gMTYsCQkvKiBmaWZvIGVudHJpZXMgb2YgQUM5Ny9JMlMgUFNDICovCit9OworCitzdGF0aWMgdm9pZCBhdTF4X3BjbV9xdWV1ZV90eChzdHJ1Y3QgYXUxeHBzY19hdWRpb19kbWFkYXRhICpjZCkKK3sKKwlhdTF4eHhfZGJkbWFfcHV0X3NvdXJjZV9mbGFncyhjZC0+ZGRtYV9jaGFuLAorCQkJCSh2b2lkICopcGh5c190b192aXJ0KGNkLT5kbWFfYXJlYSksCisJCQkJY2QtPnBlcmlvZF9ieXRlcywgRERNQV9GTEFHU19JRSk7CisKKwkvKiB1cGRhdGUgbmV4dC10by1xdWV1ZSBwZXJpb2QgKi8KKwkrK2NkLT5xX3BlcmlvZDsKKwljZC0+ZG1hX2FyZWEgKz0gY2QtPnBlcmlvZF9ieXRlczsKKwlpZiAoY2QtPnFfcGVyaW9kID49IGNkLT5wZXJpb2RzKSB7CisJCWNkLT5xX3BlcmlvZCA9IDA7CisJCWNkLT5kbWFfYXJlYSA9IGNkLT5kbWFfYXJlYV9zOworCX0KK30KKworc3RhdGljIHZvaWQgYXUxeF9wY21fcXVldWVfcngoc3RydWN0IGF1MXhwc2NfYXVkaW9fZG1hZGF0YSAqY2QpCit7CisJYXUxeHh4X2RiZG1hX3B1dF9kZXN0X2ZsYWdzKGNkLT5kZG1hX2NoYW4sCisJCQkJKHZvaWQgKilwaHlzX3RvX3ZpcnQoY2QtPmRtYV9hcmVhKSwKKwkJCQljZC0+cGVyaW9kX2J5dGVzLCBERE1BX0ZMQUdTX0lFKTsKKworCS8qIHVwZGF0ZSBuZXh0LXRvLXF1ZXVlIHBlcmlvZCAqLworCSsrY2QtPnFfcGVyaW9kOworCWNkLT5kbWFfYXJlYSArPSBjZC0+cGVyaW9kX2J5dGVzOworCWlmIChjZC0+cV9wZXJpb2QgPj0gY2QtPnBlcmlvZHMpIHsKKwkJY2QtPnFfcGVyaW9kID0gMDsKKwkJY2QtPmRtYV9hcmVhID0gY2QtPmRtYV9hcmVhX3M7CisJfQorfQorCitzdGF0aWMgdm9pZCBhdTF4X3BjbV9kbWF0eF9jYihpbnQgaXJxLCB2b2lkICpkZXZfaWQpCit7CisJc3RydWN0IGF1MXhwc2NfYXVkaW9fZG1hZGF0YSAqY2QgPSBkZXZfaWQ7CisKKwljZC0+cG9zICs9IGNkLT5wZXJpb2RfYnl0ZXM7CisJaWYgKCsrY2QtPmN1cnJfcGVyaW9kID49IGNkLT5wZXJpb2RzKSB7CisJCWNkLT5wb3MgPSAwOworCQljZC0+Y3Vycl9wZXJpb2QgPSAwOworCX0KKwlzbmRfcGNtX3BlcmlvZF9lbGFwc2VkKGNkLT5zdWJzdHJlYW0pOworCWF1MXhfcGNtX3F1ZXVlX3R4KGNkKTsKK30KKworc3RhdGljIHZvaWQgYXUxeF9wY21fZG1hcnhfY2IoaW50IGlycSwgdm9pZCAqZGV2X2lkKQoreworCXN0cnVjdCBhdTF4cHNjX2F1ZGlvX2RtYWRhdGEgKmNkID0gZGV2X2lkOworCisJY2QtPnBvcyArPSBjZC0+cGVyaW9kX2J5dGVzOworCWlmICgrK2NkLT5jdXJyX3BlcmlvZCA+PSBjZC0+cGVyaW9kcykgeworCQljZC0+cG9zID0gMDsKKwkJY2QtPmN1cnJfcGVyaW9kID0gMDsKKwl9CisJc25kX3BjbV9wZXJpb2RfZWxhcHNlZChjZC0+c3Vic3RyZWFtKTsKKwlhdTF4X3BjbV9xdWV1ZV9yeChjZCk7Cit9CisKK3N0YXRpYyB2b2lkIGF1MXhfcGNtX2RiZG1hX2ZyZWUoc3RydWN0IGF1MXhwc2NfYXVkaW9fZG1hZGF0YSAqcGNkKQoreworCWlmIChwY2QtPmRkbWFfY2hhbikgeworCQlhdTF4eHhfZGJkbWFfc3RvcChwY2QtPmRkbWFfY2hhbik7CisJCWF1MXh4eF9kYmRtYV9yZXNldChwY2QtPmRkbWFfY2hhbik7CisJCWF1MXh4eF9kYmRtYV9jaGFuX2ZyZWUocGNkLT5kZG1hX2NoYW4pOworCQlwY2QtPmRkbWFfY2hhbiA9IDA7CisJCXBjZC0+bXNiaXRzID0gMDsKKwl9Cit9CisKKy8qIGluIGNhc2Ugb2YgbWlzc2luZyBETUEgcmluZyBvciBjaGFuZ2VkIFRYLXNvdXJjZSAvIFJYLWRlc3QgYml0IHdpZHRocywKKyAqIGFsbG9jYXRlIChvciByZWFsbG9jYXRlKSBhIDItZGVzY3JpcHRvciBETUEgcmluZyB3aXRoIGJpdCBkZXB0aCBhY2NvcmRpbmcKKyAqIHRvIEFMU0Etc3VwcGxpZWQgc2FtcGxlIGRlcHRoLiAgVGhpcyBpcyBkdWUgdG8gbGltaXRhdGlvbnMgaW4gdGhlIGRiZG1hIGFwaQorICogKGNhbm5vdCBhZGp1c3Qgc291cmNlL2Rlc3Qgd2lkdGhzIG9mIGFscmVhZHkgYWxsb2NhdGVkIGRlc2NyaXB0b3IgcmluZykuCisgKi8KK3N0YXRpYyBpbnQgYXUxeF9wY21fZGJkbWFfcmVhbGxvYyhzdHJ1Y3QgYXUxeHBzY19hdWRpb19kbWFkYXRhICpwY2QsCisJCQkJIGludCBzdHlwZSwgaW50IG1zYml0cykKK3sKKwkvKiBETUEgb25seSBpbiA4LzE2LzMyIGJpdCB3aWR0aHMgKi8KKwlpZiAobXNiaXRzID09IDI0KQorCQltc2JpdHMgPSAzMjsKKworCS8qIGNoZWNrIGN1cnJlbnQgY29uZmlnOiBjb3JyZWN0IGJpdHMgYW5kIGRlc2NyaXB0b3JzIGFsbG9jYXRlZD8gKi8KKwlpZiAoKHBjZC0+ZGRtYV9jaGFuKSAmJiAobXNiaXRzID09IHBjZC0+bXNiaXRzKSkKKwkJZ290byBvdXQ7CS8qIGFsbCBvayEgKi8KKworCWF1MXhfcGNtX2RiZG1hX2ZyZWUocGNkKTsKKworCWlmIChzdHlwZSA9PSBQQ01fUlgpCisJCXBjZC0+ZGRtYV9jaGFuID0gYXUxeHh4X2RiZG1hX2NoYW5fYWxsb2MocGNkLT5kZG1hX2lkLAorCQkJCQlEU0NSX0NNRDBfQUxXQVlTLAorCQkJCQlhdTF4X3BjbV9kbWFyeF9jYiwgKHZvaWQgKilwY2QpOworCWVsc2UKKwkJcGNkLT5kZG1hX2NoYW4gPSBhdTF4eHhfZGJkbWFfY2hhbl9hbGxvYyhEU0NSX0NNRDBfQUxXQVlTLAorCQkJCQlwY2QtPmRkbWFfaWQsCisJCQkJCWF1MXhfcGNtX2RtYXR4X2NiLCAodm9pZCAqKXBjZCk7CisKKwlpZiAoIXBjZC0+ZGRtYV9jaGFuKQorCQlyZXR1cm4gLUVOT01FTTs7CisKKwlhdTF4eHhfZGJkbWFfc2V0X2RldndpZHRoKHBjZC0+ZGRtYV9jaGFuLCBtc2JpdHMpOworCWF1MXh4eF9kYmRtYV9yaW5nX2FsbG9jKHBjZC0+ZGRtYV9jaGFuLCAyKTsKKworCXBjZC0+bXNiaXRzID0gbXNiaXRzOworCisJYXUxeHh4X2RiZG1hX3N0b3AocGNkLT5kZG1hX2NoYW4pOworCWF1MXh4eF9kYmRtYV9yZXNldChwY2QtPmRkbWFfY2hhbik7CisKK291dDoKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBhdTF4cHNjX3BjbV9od19wYXJhbXMoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0sCisJCQkJIHN0cnVjdCBzbmRfcGNtX2h3X3BhcmFtcyAqcGFyYW1zKQoreworCXN0cnVjdCBzbmRfcGNtX3J1bnRpbWUgKnJ1bnRpbWUgPSBzdWJzdHJlYW0tPnJ1bnRpbWU7CisJc3RydWN0IGF1MXhwc2NfYXVkaW9fZG1hZGF0YSAqcGNkOworCWludCBzdHlwZSwgcmV0OworCisJcmV0ID0gc25kX3BjbV9saWJfbWFsbG9jX3BhZ2VzKHN1YnN0cmVhbSwgcGFyYW1zX2J1ZmZlcl9ieXRlcyhwYXJhbXMpKTsKKwlpZiAocmV0IDwgMCkKKwkJZ290byBvdXQ7CisKKwlzdHlwZSA9IFNVQlNUUkVBTV9UWVBFKHN1YnN0cmVhbSk7CisJcGNkID0gYXUxeHBzY19hdWRpb19wY21kbWFbc3R5cGVdOworCisJREJHKCJydW50aW1lLT5kbWFfYXJlYSA9IDB4JTA4bHggZG1hX2FkZHJfdCA9IDB4JTA4bHggZG1hX3NpemUgPSAlZCAiCisJICAgICJydW50aW1lLT5taW5fYWxpZ24gJWRcbiIsCisJCSh1bnNpZ25lZCBsb25nKXJ1bnRpbWUtPmRtYV9hcmVhLAorCQkodW5zaWduZWQgbG9uZylydW50aW1lLT5kbWFfYWRkciwgcnVudGltZS0+ZG1hX2J5dGVzLAorCQlydW50aW1lLT5taW5fYWxpZ24pOworCisJREJHKCJiaXRzICVkICBmcmFncyAlZCAgZnJhZ19ieXRlcyAlZCAgaXNfcnggJWRcbiIsIHBhcmFtcy0+bXNiaXRzLAorCQlwYXJhbXNfcGVyaW9kcyhwYXJhbXMpLCBwYXJhbXNfcGVyaW9kX2J5dGVzKHBhcmFtcyksIHN0eXBlKTsKKworCXJldCA9IGF1MXhfcGNtX2RiZG1hX3JlYWxsb2MocGNkLCBzdHlwZSwgcGFyYW1zLT5tc2JpdHMpOworCWlmIChyZXQpIHsKKwkJTVNHKCJERE1BIGNoYW5uZWwgKHJlKWFsbG9jIGZhaWxlZCFcbiIpOworCQlnb3RvIG91dDsKKwl9CisKKwlwY2QtPnN1YnN0cmVhbSA9IHN1YnN0cmVhbTsKKwlwY2QtPnBlcmlvZF9ieXRlcyA9IHBhcmFtc19wZXJpb2RfYnl0ZXMocGFyYW1zKTsKKwlwY2QtPnBlcmlvZHMgPSBwYXJhbXNfcGVyaW9kcyhwYXJhbXMpOworCXBjZC0+ZG1hX2FyZWFfcyA9IHBjZC0+ZG1hX2FyZWEgPSAodW5zaWduZWQgbG9uZylydW50aW1lLT5kbWFfYWRkcjsKKwlwY2QtPnFfcGVyaW9kID0gMDsKKwlwY2QtPmN1cnJfcGVyaW9kID0gMDsKKwlwY2QtPnBvcyA9IDA7CisKKwlyZXQgPSAwOworb3V0OgorCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgYXUxeHBzY19wY21faHdfZnJlZShzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKK3sKKwlzbmRfcGNtX2xpYl9mcmVlX3BhZ2VzKHN1YnN0cmVhbSk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgYXUxeHBzY19wY21fcHJlcGFyZShzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKK3sKKwlzdHJ1Y3QgYXUxeHBzY19hdWRpb19kbWFkYXRhICpwY2QgPQorCQkJYXUxeHBzY19hdWRpb19wY21kbWFbU1VCU1RSRUFNX1RZUEUoc3Vic3RyZWFtKV07CisKKwlhdTF4eHhfZGJkbWFfcmVzZXQocGNkLT5kZG1hX2NoYW4pOworCisJaWYgKFNVQlNUUkVBTV9UWVBFKHN1YnN0cmVhbSkgPT0gUENNX1JYKSB7CisJCWF1MXhfcGNtX3F1ZXVlX3J4KHBjZCk7CisJCWF1MXhfcGNtX3F1ZXVlX3J4KHBjZCk7CisJfSBlbHNlIHsKKwkJYXUxeF9wY21fcXVldWVfdHgocGNkKTsKKwkJYXUxeF9wY21fcXVldWVfdHgocGNkKTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBhdTF4cHNjX3BjbV90cmlnZ2VyKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtLCBpbnQgY21kKQoreworCXUzMiBjID0gYXUxeHBzY19hdWRpb19wY21kbWFbU1VCU1RSRUFNX1RZUEUoc3Vic3RyZWFtKV0tPmRkbWFfY2hhbjsKKworCXN3aXRjaCAoY21kKSB7CisJY2FzZSBTTkRSVl9QQ01fVFJJR0dFUl9TVEFSVDoKKwljYXNlIFNORFJWX1BDTV9UUklHR0VSX1JFU1VNRToKKwkJYXUxeHh4X2RiZG1hX3N0YXJ0KGMpOworCQlicmVhazsKKwljYXNlIFNORFJWX1BDTV9UUklHR0VSX1NUT1A6CisJY2FzZSBTTkRSVl9QQ01fVFJJR0dFUl9TVVNQRU5EOgorCQlhdTF4eHhfZGJkbWFfc3RvcChjKTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCXJldHVybiAwOworfQorCitzdGF0aWMgc25kX3BjbV91ZnJhbWVzX3QKK2F1MXhwc2NfcGNtX3BvaW50ZXIoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCit7CisJcmV0dXJuIGJ5dGVzX3RvX2ZyYW1lcyhzdWJzdHJlYW0tPnJ1bnRpbWUsCisJCWF1MXhwc2NfYXVkaW9fcGNtZG1hW1NVQlNUUkVBTV9UWVBFKHN1YnN0cmVhbSldLT5wb3MpOworfQorCitzdGF0aWMgaW50IGF1MXhwc2NfcGNtX29wZW4oc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCit7CisJc25kX3NvY19zZXRfcnVudGltZV9od3BhcmFtcyhzdWJzdHJlYW0sICZhdTF4cHNjX3BjbV9oYXJkd2FyZSk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgYXUxeHBzY19wY21fY2xvc2Uoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCit7CisJYXUxeF9wY21fZGJkbWFfZnJlZShhdTF4cHNjX2F1ZGlvX3BjbWRtYVtTVUJTVFJFQU1fVFlQRShzdWJzdHJlYW0pXSk7CisJcmV0dXJuIDA7Cit9CisKK3N0cnVjdCBzbmRfcGNtX29wcyBhdTF4cHNjX3BjbV9vcHMgPSB7CisJLm9wZW4JCT0gYXUxeHBzY19wY21fb3BlbiwKKwkuY2xvc2UJCT0gYXUxeHBzY19wY21fY2xvc2UsCisJLmlvY3RsCQk9IHNuZF9wY21fbGliX2lvY3RsLAorCS5od19wYXJhbXMJPSBhdTF4cHNjX3BjbV9od19wYXJhbXMsCisJLmh3X2ZyZWUJPSBhdTF4cHNjX3BjbV9od19mcmVlLAorCS5wcmVwYXJlCT0gYXUxeHBzY19wY21fcHJlcGFyZSwKKwkudHJpZ2dlcgk9IGF1MXhwc2NfcGNtX3RyaWdnZXIsCisJLnBvaW50ZXIJPSBhdTF4cHNjX3BjbV9wb2ludGVyLAorfTsKKworc3RhdGljIHZvaWQgYXUxeHBzY19wY21fZnJlZV9kbWFfYnVmZmVycyhzdHJ1Y3Qgc25kX3BjbSAqcGNtKQoreworCXNuZF9wY21fbGliX3ByZWFsbG9jYXRlX2ZyZWVfZm9yX2FsbChwY20pOworfQorCitzdGF0aWMgaW50IGF1MXhwc2NfcGNtX25ldyhzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQsCisJCQkgICBzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSwKKwkJCSAgIHN0cnVjdCBzbmRfcGNtICpwY20pCit7CisJc25kX3BjbV9saWJfcHJlYWxsb2NhdGVfcGFnZXNfZm9yX2FsbChwY20sIFNORFJWX0RNQV9UWVBFX0RFViwKKwkJY2FyZC0+ZGV2LCBBVTFYUFNDX0JVRkZFUl9NSU5fQllURVMsICg0MDk2ICogMTAyNCkgLSAxKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGF1MXhwc2NfcGNtX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJc3RydWN0IHJlc291cmNlICpyOworCWludCByZXQ7CisKKwlpZiAoYXUxeHBzY19hdWRpb19wY21kbWFbUENNX1RYXSB8fCBhdTF4cHNjX2F1ZGlvX3BjbWRtYVtQQ01fUlhdKQorCQlyZXR1cm4gLUVCVVNZOworCisJLyogVFggRE1BICovCisJYXUxeHBzY19hdWRpb19wY21kbWFbUENNX1RYXQorCQk9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBhdTF4cHNjX2F1ZGlvX2RtYWRhdGEpLCBHRlBfS0VSTkVMKTsKKwlpZiAoIWF1MXhwc2NfYXVkaW9fcGNtZG1hW1BDTV9UWF0pCisJCXJldHVybiAtRU5PTUVNOworCisJciA9IHBsYXRmb3JtX2dldF9yZXNvdXJjZShwZGV2LCBJT1JFU09VUkNFX0RNQSwgMCk7CisJaWYgKCFyKSB7CisJCXJldCA9IC1FTk9ERVY7CisJCWdvdG8gb3V0MTsKKwl9CisJKGF1MXhwc2NfYXVkaW9fcGNtZG1hW1BDTV9UWF0pLT5kZG1hX2lkID0gci0+c3RhcnQ7CisKKwkvKiBSWCBETUEgKi8KKwlhdTF4cHNjX2F1ZGlvX3BjbWRtYVtQQ01fUlhdCisJCT0ga3phbGxvYyhzaXplb2Yoc3RydWN0IGF1MXhwc2NfYXVkaW9fZG1hZGF0YSksIEdGUF9LRVJORUwpOworCWlmICghYXUxeHBzY19hdWRpb19wY21kbWFbUENNX1JYXSkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlyID0gcGxhdGZvcm1fZ2V0X3Jlc291cmNlKHBkZXYsIElPUkVTT1VSQ0VfRE1BLCAxKTsKKwlpZiAoIXIpIHsKKwkJcmV0ID0gLUVOT0RFVjsKKwkJZ290byBvdXQyOworCX0KKwkoYXUxeHBzY19hdWRpb19wY21kbWFbUENNX1JYXSktPmRkbWFfaWQgPSByLT5zdGFydDsKKworCXJldHVybiAwOworCitvdXQyOgorCWtmcmVlKGF1MXhwc2NfYXVkaW9fcGNtZG1hW1BDTV9SWF0pOworCWF1MXhwc2NfYXVkaW9fcGNtZG1hW1BDTV9SWF0gPSBOVUxMOworb3V0MToKKwlrZnJlZShhdTF4cHNjX2F1ZGlvX3BjbWRtYVtQQ01fVFhdKTsKKwlhdTF4cHNjX2F1ZGlvX3BjbWRtYVtQQ01fVFhdID0gTlVMTDsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IGF1MXhwc2NfcGNtX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCWludCBpOworCisJZm9yIChpID0gMDsgaSA8IDI7IGkrKykgeworCQlpZiAoYXUxeHBzY19hdWRpb19wY21kbWFbaV0pIHsKKwkJCWF1MXhfcGNtX2RiZG1hX2ZyZWUoYXUxeHBzY19hdWRpb19wY21kbWFbaV0pOworCQkJa2ZyZWUoYXUxeHBzY19hdWRpb19wY21kbWFbaV0pOworCQkJYXUxeHBzY19hdWRpb19wY21kbWFbaV0gPSBOVUxMOworCQl9CisJfQorCisJcmV0dXJuIDA7Cit9CisKKy8qIGF1MXhwc2MgYXVkaW8gcGxhdGZvcm0gKi8KK3N0cnVjdCBzbmRfc29jX3BsYXRmb3JtIGF1MXhwc2Nfc29jX3BsYXRmb3JtID0geworCS5uYW1lCQk9ICJhdTF4cHNjLXBjbS1kYmRtYSIsCisJLnByb2JlCQk9IGF1MXhwc2NfcGNtX3Byb2JlLAorCS5yZW1vdmUJCT0gYXUxeHBzY19wY21fcmVtb3ZlLAorCS5wY21fb3BzIAk9ICZhdTF4cHNjX3BjbV9vcHMsCisJLnBjbV9uZXcJPSBhdTF4cHNjX3BjbV9uZXcsCisJLnBjbV9mcmVlCT0gYXUxeHBzY19wY21fZnJlZV9kbWFfYnVmZmVycywKK307CitFWFBPUlRfU1lNQk9MX0dQTChhdTF4cHNjX3NvY19wbGF0Zm9ybSk7CisKK3N0YXRpYyBpbnQgX19pbml0IGF1MXhwc2NfYXVkaW9fZGJkbWFfaW5pdCh2b2lkKQoreworCWF1MXhwc2NfYXVkaW9fcGNtZG1hW1BDTV9UWF0gPSBOVUxMOworCWF1MXhwc2NfYXVkaW9fcGNtZG1hW1BDTV9SWF0gPSBOVUxMOworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBfX2V4aXQgYXUxeHBzY19hdWRpb19kYmRtYV9leGl0KHZvaWQpCit7Cit9CisKK21vZHVsZV9pbml0KGF1MXhwc2NfYXVkaW9fZGJkbWFfaW5pdCk7Cittb2R1bGVfZXhpdChhdTF4cHNjX2F1ZGlvX2RiZG1hX2V4aXQpOworCitNT0RVTEVfTElDRU5TRSgiR1BMIik7CitNT0RVTEVfREVTQ1JJUFRJT04oIkF1MTJ4MC9BdTE1NTAgUFNDIEF1ZGlvIERNQSBkcml2ZXIiKTsKK01PRFVMRV9BVVRIT1IoIk1hbnVlbCBMYXVzcyA8bWFub0Byb2FyaW5lbGsuaG9tZWxpbnV4Lm5ldD4iKTsKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9hdTF4L3BzYy1hYzk3LmMgYi9zb3VuZC9zb2MvYXUxeC9wc2MtYWM5Ny5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU3ZmFjYmEKLS0tIC9kZXYvbnVsbAorKysgYi9zb3VuZC9zb2MvYXUxeC9wc2MtYWM5Ny5jCkBAIC0wLDAgKzEsMzg3IEBACisvKgorICogQXUxMngwL0F1MTU1MCBQU0MgQUxTQSBBU29DIGF1ZGlvIHN1cHBvcnQuCisgKgorICogKGMpIDIwMDctMjAwOCBNU0MgVmVydHJpZWJzZ2VzLm0uYi5ILiwKKyAqCU1hbnVlbCBMYXVzcyA8bWFub0Byb2FyaW5lbGsuaG9tZWxpbnV4Lm5ldD4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICoKKyAqIEF1MXh4eC1QU0MgQUM5NyBnbHVlLgorICoKKyAqIE5PVEU6IGFsbCBvZiB0aGVzZSBkcml2ZXJzIGNhbiBvbmx5IHdvcmsgd2l0aCBhIFNJTkdMRSBpbnN0YW5jZQorICoJIG9mIGEgUFNDLiBNdWx0aXBsZSBpbmRlcGVuZGVudCBhdWRpbyBkZXZpY2VzIGFyZSBpbXBvc3NpYmxlCisgKgkgd2l0aCBBU29DIHYxLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KKyNpbmNsdWRlIDxsaW51eC9zdXNwZW5kLmg+CisjaW5jbHVkZSA8c291bmQvY29yZS5oPgorI2luY2x1ZGUgPHNvdW5kL3BjbS5oPgorI2luY2x1ZGUgPHNvdW5kL2luaXR2YWwuaD4KKyNpbmNsdWRlIDxzb3VuZC9zb2MuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC1hdTF4MDAvYXUxMDAwLmg+CisjaW5jbHVkZSA8YXNtL21hY2gtYXUxeDAwL2F1MXh4eF9wc2MuaD4KKworI2luY2x1ZGUgInBzYy5oIgorCisjZGVmaW5lIEFDOTdfRElSCVwKKwkoU05EX1NPQ19EQUlESVJfUExBWUJBQ0sgfCBTTkRfU09DX0RBSURJUl9DQVBUVVJFKQorCisjZGVmaW5lIEFDOTdfUkFURVMJXAorCVNORFJWX1BDTV9SQVRFXzgwMDBfNDgwMDAKKworI2RlZmluZSBBQzk3X0ZNVFMJXAorCShTTkRSVl9QQ01fRk1UQklUX1MxNl9MRSB8IFNORFJWX1BDTV9GTVRCSVRfUzIwXzNCRSkKKworI2RlZmluZSBBQzk3UENSX1NUQVJUKHN0eXBlKQlcCisJKChzdHlwZSkgPT0gUENNX1RYID8gUFNDX0FDOTdQQ1JfVFMgOiBQU0NfQUM5N1BDUl9SUykKKyNkZWZpbmUgQUM5N1BDUl9TVE9QKHN0eXBlKQlcCisJKChzdHlwZSkgPT0gUENNX1RYID8gUFNDX0FDOTdQQ1JfVFAgOiBQU0NfQUM5N1BDUl9SUCkKKyNkZWZpbmUgQUM5N1BDUl9DTFJGSUZPKHN0eXBlKQlcCisJKChzdHlwZSkgPT0gUENNX1RYID8gUFNDX0FDOTdQQ1JfVEMgOiBQU0NfQUM5N1BDUl9SQykKKworLyogaW5zdGFuY2UgZGF0YS4gVGhlcmUgY2FuIGJlIG9ubHkgb25lLCBNYWNMZW9kISEhISAqLworc3RhdGljIHN0cnVjdCBhdTF4cHNjX2F1ZGlvX2RhdGEgKmF1MXhwc2NfYWM5N193b3JrZGF0YTsKKworLyogQUM5NyBjb250cm9sbGVyIHJlYWRzIGNvZGVjIHJlZ2lzdGVyICovCitzdGF0aWMgdW5zaWduZWQgc2hvcnQgYXUxeHBzY19hYzk3X3JlYWQoc3RydWN0IHNuZF9hYzk3ICphYzk3LAorCQkJCQl1bnNpZ25lZCBzaG9ydCByZWcpCit7CisJLyogRklYTUUgKi8KKwlzdHJ1Y3QgYXUxeHBzY19hdWRpb19kYXRhICpwc2NkYXRhID0gYXUxeHBzY19hYzk3X3dvcmtkYXRhOworCXVuc2lnbmVkIHNob3J0IGRhdGEsIHRtbzsKKworCWF1X3dyaXRlbChQU0NfQUM5N0NEQ19SRCB8IFBTQ19BQzk3Q0RDX0lORFgocmVnKSwgQUM5N19DREMocHNjZGF0YSkpOworCWF1X3N5bmMoKTsKKworCXRtbyA9IDEwMDA7CisJd2hpbGUgKCghKGF1X3JlYWRsKEFDOTdfRVZOVChwc2NkYXRhKSkgJiBQU0NfQUM5N0VWTlRfQ0QpKSAmJiAtLXRtbykKKwkJdWRlbGF5KDIpOworCisJaWYgKCF0bW8pCisJCWRhdGEgPSAweGZmZmY7CisJZWxzZQorCQlkYXRhID0gYXVfcmVhZGwoQUM5N19DREMocHNjZGF0YSkpICYgMHhmZmZmOworCisJYXVfd3JpdGVsKFBTQ19BQzk3RVZOVF9DRCwgQUM5N19FVk5UKHBzY2RhdGEpKTsKKwlhdV9zeW5jKCk7CisKKwlyZXR1cm4gZGF0YTsKK30KKworLyogQUM5NyBjb250cm9sbGVyIHdyaXRlcyB0byBjb2RlYyByZWdpc3RlciAqLworc3RhdGljIHZvaWQgYXUxeHBzY19hYzk3X3dyaXRlKHN0cnVjdCBzbmRfYWM5NyAqYWM5NywgdW5zaWduZWQgc2hvcnQgcmVnLAorCQkJCXVuc2lnbmVkIHNob3J0IHZhbCkKK3sKKwkvKiBGSVhNRSAqLworCXN0cnVjdCBhdTF4cHNjX2F1ZGlvX2RhdGEgKnBzY2RhdGEgPSBhdTF4cHNjX2FjOTdfd29ya2RhdGE7CisJdW5zaWduZWQgaW50IHRtbzsKKworCWF1X3dyaXRlbChQU0NfQUM5N0NEQ19JTkRYKHJlZykgfCAodmFsICYgMHhmZmZmKSwgQUM5N19DREMocHNjZGF0YSkpOworCWF1X3N5bmMoKTsKKwl0bW8gPSAxMDAwOworCXdoaWxlICgoIShhdV9yZWFkbChBQzk3X0VWTlQocHNjZGF0YSkpICYgUFNDX0FDOTdFVk5UX0NEKSkgJiYgLS10bW8pCisJCWF1X3N5bmMoKTsKKworCWF1X3dyaXRlbChQU0NfQUM5N0VWTlRfQ0QsIEFDOTdfRVZOVChwc2NkYXRhKSk7CisJYXVfc3luYygpOworfQorCisvKiBBQzk3IGNvbnRyb2xsZXIgYXNzZXJ0cyBhIHdhcm0gcmVzZXQgKi8KK3N0YXRpYyB2b2lkIGF1MXhwc2NfYWM5N193YXJtX3Jlc2V0KHN0cnVjdCBzbmRfYWM5NyAqYWM5NykKK3sKKwkvKiBGSVhNRSAqLworCXN0cnVjdCBhdTF4cHNjX2F1ZGlvX2RhdGEgKnBzY2RhdGEgPSBhdTF4cHNjX2FjOTdfd29ya2RhdGE7CisKKwlhdV93cml0ZWwoUFNDX0FDOTdSU1RfU05DLCBBQzk3X1JTVChwc2NkYXRhKSk7CisJYXVfc3luYygpOworCW1zbGVlcCgxMCk7CisJYXVfd3JpdGVsKDAsIEFDOTdfUlNUKHBzY2RhdGEpKTsKKwlhdV9zeW5jKCk7Cit9CisKK3N0YXRpYyB2b2lkIGF1MXhwc2NfYWM5N19jb2xkX3Jlc2V0KHN0cnVjdCBzbmRfYWM5NyAqYWM5NykKK3sKKwkvKiBGSVhNRSAqLworCXN0cnVjdCBhdTF4cHNjX2F1ZGlvX2RhdGEgKnBzY2RhdGEgPSBhdTF4cHNjX2FjOTdfd29ya2RhdGE7CisJaW50IGk7CisKKwkvKiBkaXNhYmxlIFBTQyBkdXJpbmcgY29sZCByZXNldCAqLworCWF1X3dyaXRlbCgwLCBBQzk3X0NGRyhhdTF4cHNjX2FjOTdfd29ya2RhdGEpKTsKKwlhdV9zeW5jKCk7CisJYXVfd3JpdGVsKFBTQ19DVFJMX0RJU0FCTEUsIFBTQ19DVFJMKHBzY2RhdGEpKTsKKwlhdV9zeW5jKCk7CisKKwkvKiBpc3N1ZSBjb2xkIHJlc2V0ICovCisJYXVfd3JpdGVsKFBTQ19BQzk3UlNUX1JTVCwgQUM5N19SU1QocHNjZGF0YSkpOworCWF1X3N5bmMoKTsKKwltc2xlZXAoNTAwKTsKKwlhdV93cml0ZWwoMCwgQUM5N19SU1QocHNjZGF0YSkpOworCWF1X3N5bmMoKTsKKworCS8qIGVuYWJsZSBQU0MgKi8KKwlhdV93cml0ZWwoUFNDX0NUUkxfRU5BQkxFLCBQU0NfQ1RSTChwc2NkYXRhKSk7CisJYXVfc3luYygpOworCisJLyogd2FpdCBmb3IgUFNDIHRvIGluZGljYXRlIGl0J3MgcmVhZHkgKi8KKwlpID0gMTAwMDAwOworCXdoaWxlICghKChhdV9yZWFkbChBQzk3X1NUQVQocHNjZGF0YSkpICYgUFNDX0FDOTdTVEFUX1NSKSkgJiYgKC0taSkpCisJCWF1X3N5bmMoKTsKKworCWlmIChpID09IDApIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJhdTF4cHNjLWFjOTc6IFBTQyBub3QgcmVhZHkhXG4iKTsKKwkJcmV0dXJuOworCX0KKworCS8qIGVuYWJsZSB0aGUgYWM5NyBmdW5jdGlvbiAqLworCWF1X3dyaXRlbChwc2NkYXRhLT5jZmcgfCBQU0NfQUM5N0NGR19ERV9FTkFCTEUsIEFDOTdfQ0ZHKHBzY2RhdGEpKTsKKwlhdV9zeW5jKCk7CisKKwkvKiB3YWl0IGZvciBBQzk3IGNvcmUgdG8gYmVjb21lIHJlYWR5ICovCisJaSA9IDEwMDAwMDsKKwl3aGlsZSAoISgoYXVfcmVhZGwoQUM5N19TVEFUKHBzY2RhdGEpKSAmIFBTQ19BQzk3U1RBVF9EUikpICYmICgtLWkpKQorCQlhdV9zeW5jKCk7CisJaWYgKGkgPT0gMCkKKwkJcHJpbnRrKEtFUk5fRVJSICJhdTF4cHNjLWFjOTc6IEFDOTcgY3RybCBub3QgcmVhZHlcbiIpOworfQorCisvKiBBQzk3IGNvbnRyb2xsZXIgb3BlcmF0aW9ucyAqLworc3RydWN0IHNuZF9hYzk3X2J1c19vcHMgc29jX2FjOTdfb3BzID0geworCS5yZWFkCQk9IGF1MXhwc2NfYWM5N19yZWFkLAorCS53cml0ZQkJPSBhdTF4cHNjX2FjOTdfd3JpdGUsCisJLnJlc2V0CQk9IGF1MXhwc2NfYWM5N19jb2xkX3Jlc2V0LAorCS53YXJtX3Jlc2V0CT0gYXUxeHBzY19hYzk3X3dhcm1fcmVzZXQsCit9OworRVhQT1JUX1NZTUJPTF9HUEwoc29jX2FjOTdfb3BzKTsKKworc3RhdGljIGludCBhdTF4cHNjX2FjOTdfaHdfcGFyYW1zKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtLAorCQkJCSAgc3RydWN0IHNuZF9wY21faHdfcGFyYW1zICpwYXJhbXMpCit7CisJLyogRklYTUUgKi8KKwlzdHJ1Y3QgYXUxeHBzY19hdWRpb19kYXRhICpwc2NkYXRhID0gYXUxeHBzY19hYzk3X3dvcmtkYXRhOworCXVuc2lnbmVkIGxvbmcgciwgc3RhdDsKKwlpbnQgY2hhbnMsIHN0eXBlID0gU1VCU1RSRUFNX1RZUEUoc3Vic3RyZWFtKTsKKworCWNoYW5zID0gcGFyYW1zX2NoYW5uZWxzKHBhcmFtcyk7CisKKwlyID0gYXVfcmVhZGwoQUM5N19DRkcocHNjZGF0YSkpOworCXN0YXQgPSBhdV9yZWFkbChBQzk3X1NUQVQocHNjZGF0YSkpOworCisJLyogYWxyZWFkeSBhY3RpdmU/ICovCisJaWYgKHN0YXQgJiAoUFNDX0FDOTdTVEFUX1RCIHwgUFNDX0FDOTdTVEFUX1JCKSkgeworCQkvKiByZWplY3QgcGFyYW1ldGVycyBub3QgY3VycmVudGx5IHNldCB1cCAqLworCQlpZiAoKFBTQ19BQzk3Q0ZHX0dFVF9MRU4ocikgIT0gcGFyYW1zLT5tc2JpdHMpIHx8CisJCSAgICAocHNjZGF0YS0+cmF0ZSAhPSBwYXJhbXNfcmF0ZShwYXJhbXMpKSkKKwkJCXJldHVybiAtRUlOVkFMOworCX0gZWxzZSB7CisJCS8qIGRpc2FibGUgQUM5NyBkZXZpY2UgY29udHJvbGxlciBmaXJzdCAqLworCQlhdV93cml0ZWwociAmIH5QU0NfQUM5N0NGR19ERV9FTkFCTEUsIEFDOTdfQ0ZHKHBzY2RhdGEpKTsKKwkJYXVfc3luYygpOworCisJCS8qIHNldCBzYW1wbGUgYml0ZGVwdGg6IFJFR1syNDoyMV09KEJJVFMtMikvMiAqLworCQlyICY9IH5QU0NfQUM5N0NGR19MRU5fTUFTSzsKKwkJciB8PSBQU0NfQUM5N0NGR19TRVRfTEVOKHBhcmFtcy0+bXNiaXRzKTsKKworCQkvKiBjaGFubmVsczogZW5hYmxlIHNsb3RzIGZvciBmcm9udCBML1IgY2hhbm5lbCAqLworCQlpZiAoc3R5cGUgPT0gUENNX1RYKSB7CisJCQlyICY9IH5QU0NfQUM5N0NGR19UWFNMT1RfTUFTSzsKKwkJCXIgfD0gUFNDX0FDOTdDRkdfVFhTTE9UX0VOQSgzKTsKKwkJCXIgfD0gUFNDX0FDOTdDRkdfVFhTTE9UX0VOQSg0KTsKKwkJfSBlbHNlIHsKKwkJCXIgJj0gflBTQ19BQzk3Q0ZHX1JYU0xPVF9NQVNLOworCQkJciB8PSBQU0NfQUM5N0NGR19SWFNMT1RfRU5BKDMpOworCQkJciB8PSBQU0NfQUM5N0NGR19SWFNMT1RfRU5BKDQpOworCQl9CisKKwkJLyogZmluYWxseSBlbmFibGUgdGhlIEFDOTcgY29udHJvbGxlciBhZ2FpbiAqLworCQlhdV93cml0ZWwociB8IFBTQ19BQzk3Q0ZHX0RFX0VOQUJMRSwgQUM5N19DRkcocHNjZGF0YSkpOworCQlhdV9zeW5jKCk7CisKKwkJcHNjZGF0YS0+Y2ZnID0gcjsKKwkJcHNjZGF0YS0+cmF0ZSA9IHBhcmFtc19yYXRlKHBhcmFtcyk7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgYXUxeHBzY19hYzk3X3RyaWdnZXIoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0sCisJCQkJaW50IGNtZCkKK3sKKwkvKiBGSVhNRSAqLworCXN0cnVjdCBhdTF4cHNjX2F1ZGlvX2RhdGEgKnBzY2RhdGEgPSBhdTF4cHNjX2FjOTdfd29ya2RhdGE7CisJaW50IHJldCwgc3R5cGUgPSBTVUJTVFJFQU1fVFlQRShzdWJzdHJlYW0pOworCisJcmV0ID0gMDsKKworCXN3aXRjaCAoY21kKSB7CisJY2FzZSBTTkRSVl9QQ01fVFJJR0dFUl9TVEFSVDoKKwljYXNlIFNORFJWX1BDTV9UUklHR0VSX1JFU1VNRToKKwkJYXVfd3JpdGVsKEFDOTdQQ1JfU1RBUlQoc3R5cGUpLCBBQzk3X1BDUihwc2NkYXRhKSk7CisJCWF1X3N5bmMoKTsKKwkJYnJlYWs7CisJY2FzZSBTTkRSVl9QQ01fVFJJR0dFUl9TVE9QOgorCWNhc2UgU05EUlZfUENNX1RSSUdHRVJfU1VTUEVORDoKKwkJYXVfd3JpdGVsKEFDOTdQQ1JfU1RPUChzdHlwZSksIEFDOTdfUENSKHBzY2RhdGEpKTsKKwkJYXVfc3luYygpOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlyZXQgPSAtRUlOVkFMOworCX0KKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IGF1MXhwc2NfYWM5N19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAorCQkJICAgICAgc3RydWN0IHNuZF9zb2NfZGFpICpkYWkpCit7CisJaW50IHJldDsKKwlzdHJ1Y3QgcmVzb3VyY2UgKnI7CisJdW5zaWduZWQgbG9uZyBzZWw7CisKKwlpZiAoYXUxeHBzY19hYzk3X3dvcmtkYXRhKQorCQlyZXR1cm4gLUVCVVNZOworCisJYXUxeHBzY19hYzk3X3dvcmtkYXRhID0KKwkJa3phbGxvYyhzaXplb2Yoc3RydWN0IGF1MXhwc2NfYXVkaW9fZGF0YSksIEdGUF9LRVJORUwpOworCWlmICghYXUxeHBzY19hYzk3X3dvcmtkYXRhKQorCQlyZXR1cm4gLUVOT01FTTsKKworCXIgPSBwbGF0Zm9ybV9nZXRfcmVzb3VyY2UocGRldiwgSU9SRVNPVVJDRV9NRU0sIDApOworCWlmICghcikgeworCQlyZXQgPSAtRU5PREVWOworCQlnb3RvIG91dDA7CisJfQorCisJcmV0ID0gLUVCVVNZOworCWF1MXhwc2NfYWM5N193b3JrZGF0YS0+aW9hcmVhID0KKwkJcmVxdWVzdF9tZW1fcmVnaW9uKHItPnN0YXJ0LCByLT5lbmQgLSByLT5zdGFydCArIDEsCisJCQkJCSJhdTF4cHNjX2FjOTciKTsKKwlpZiAoIWF1MXhwc2NfYWM5N193b3JrZGF0YS0+aW9hcmVhKQorCQlnb3RvIG91dDA7CisKKwlhdTF4cHNjX2FjOTdfd29ya2RhdGEtPm1taW8gPSBpb3JlbWFwKHItPnN0YXJ0LCAweGZmZmYpOworCWlmICghYXUxeHBzY19hYzk3X3dvcmtkYXRhLT5tbWlvKQorCQlnb3RvIG91dDE7CisKKwkvKiBjb25maWd1cmF0aW9uOiBtYXggZG1hIHRyaWdnZXIgdGhyZXNob2xkLCBlbmFibGUgYWM5NyAqLworCSBhdTF4cHNjX2FjOTdfd29ya2RhdGEtPmNmZyA9IFBTQ19BQzk3Q0ZHX1JUX0ZJRk84IHwKKwkJCQkgICAgICBQU0NfQUM5N0NGR19UVF9GSUZPOCB8CisJCQkJICAgICAgUFNDX0FDOTdDRkdfREVfRU5BQkxFOworCisJLyogcHJlc2VydmUgUFNDIGNsb2NrIHNvdXJjZSBzZXQgdXAgYnkgcGxhdGZvcm0gKGRldi5wbGF0Zm9ybV9kYXRhCisJICogaXMgYWxyZWFkeSBvY2N1cGllZCBieSBzb2MgbGF5ZXIpCisJICovCisJc2VsID0gYXVfcmVhZGwoUFNDX1NFTChhdTF4cHNjX2FjOTdfd29ya2RhdGEpKSAmIFBTQ19TRUxfQ0xLX01BU0s7CisJYXVfd3JpdGVsKFBTQ19DVFJMX0RJU0FCTEUsIFBTQ19DVFJMKGF1MXhwc2NfYWM5N193b3JrZGF0YSkpOworCWF1X3N5bmMoKTsKKwlhdV93cml0ZWwoMCwgUFNDX1NFTChhdTF4cHNjX2FjOTdfd29ya2RhdGEpKTsKKwlhdV9zeW5jKCk7CisJYXVfd3JpdGVsKFBTQ19TRUxfUFNfQUM5N01PREUgfCBzZWwsIFBTQ19TRUwoYXUxeHBzY19hYzk3X3dvcmtkYXRhKSk7CisJYXVfc3luYygpOworCS8qIG5leHQgdXA6IGNvbGQgcmVzZXQuICBEb250IGNoZWNrIGZvciBQU0MtcmVhZHkgbm93IHNpbmNlCisJICogdGhlcmUgbWF5IG5vdCBiZSBhbnkgY29kZWMgY2xvY2sgeWV0LgorCSAqLworCisJcmV0dXJuIDA7CisKK291dDE6CisJcmVsZWFzZV9yZXNvdXJjZShhdTF4cHNjX2FjOTdfd29ya2RhdGEtPmlvYXJlYSk7CisJa2ZyZWUoYXUxeHBzY19hYzk3X3dvcmtkYXRhLT5pb2FyZWEpOworb3V0MDoKKwlrZnJlZShhdTF4cHNjX2FjOTdfd29ya2RhdGEpOworCWF1MXhwc2NfYWM5N193b3JrZGF0YSA9IE5VTEw7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIHZvaWQgYXUxeHBzY19hYzk3X3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAorCQkJCXN0cnVjdCBzbmRfc29jX2RhaSAqZGFpKQoreworCS8qIGRpc2FibGUgUFNDIGNvbXBsZXRlbHkgKi8KKwlhdV93cml0ZWwoMCwgQUM5N19DRkcoYXUxeHBzY19hYzk3X3dvcmtkYXRhKSk7CisJYXVfc3luYygpOworCWF1X3dyaXRlbChQU0NfQ1RSTF9ESVNBQkxFLCBQU0NfQ1RSTChhdTF4cHNjX2FjOTdfd29ya2RhdGEpKTsKKwlhdV9zeW5jKCk7CisKKwlpb3VubWFwKGF1MXhwc2NfYWM5N193b3JrZGF0YS0+bW1pbyk7CisJcmVsZWFzZV9yZXNvdXJjZShhdTF4cHNjX2FjOTdfd29ya2RhdGEtPmlvYXJlYSk7CisJa2ZyZWUoYXUxeHBzY19hYzk3X3dvcmtkYXRhLT5pb2FyZWEpOworCWtmcmVlKGF1MXhwc2NfYWM5N193b3JrZGF0YSk7CisJYXUxeHBzY19hYzk3X3dvcmtkYXRhID0gTlVMTDsKK30KKworc3RhdGljIGludCBhdTF4cHNjX2FjOTdfc3VzcGVuZChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAorCQkJCXN0cnVjdCBzbmRfc29jX2RhaSAqZGFpKQoreworCS8qIHNhdmUgaW50ZXJlc3RpbmcgcmVnaXN0ZXJzIGFuZCBkaXNhYmxlIFBTQyAqLworCWF1MXhwc2NfYWM5N193b3JrZGF0YS0+cG1bMF0gPQorCQkJYXVfcmVhZGwoUFNDX1NFTChhdTF4cHNjX2FjOTdfd29ya2RhdGEpKTsKKworCWF1X3dyaXRlbCgwLCBBQzk3X0NGRyhhdTF4cHNjX2FjOTdfd29ya2RhdGEpKTsKKwlhdV9zeW5jKCk7CisJYXVfd3JpdGVsKFBTQ19DVFJMX0RJU0FCTEUsIFBTQ19DVFJMKGF1MXhwc2NfYWM5N193b3JrZGF0YSkpOworCWF1X3N5bmMoKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGF1MXhwc2NfYWM5N19yZXN1bWUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKKwkJCSAgICAgICBzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSkKK3sKKwkvKiByZXN0b3JlIFBTQyBjbG9jayBjb25maWcgKi8KKwlhdV93cml0ZWwoYXUxeHBzY19hYzk3X3dvcmtkYXRhLT5wbVswXSB8IFBTQ19TRUxfUFNfQUM5N01PREUsCisJCQlQU0NfU0VMKGF1MXhwc2NfYWM5N193b3JrZGF0YSkpOworCWF1X3N5bmMoKTsKKworCS8qIGFmdGVyIHRoaXMgcG9pbnQgdGhlIGFjOTcgY29yZSB3aWxsIGNvbGQtcmVzZXQgdGhlIGNvZGVjLgorCSAqIER1cmluZyBjb2xkLXJlc2V0IHRoZSBQU0MgaXMgcmVpbml0aWFsaXplZCBhbmQgdGhlIGxhc3QKKwkgKiBjb25maWd1cmF0aW9uIHNldCB1cCBpbiBod19wYXJhbXMoKSBpcyByZXN0b3JlZC4KKwkgKi8KKwlyZXR1cm4gMDsKK30KKworc3RydWN0IHNuZF9zb2NfZGFpIGF1MXhwc2NfYWM5N19kYWkgPSB7CisJLm5hbWUJCQk9ICJhdTF4cHNjX2FjOTciLAorCS50eXBlCQkJPSBTTkRfU09DX0RBSV9BQzk3LAorCS5wcm9iZQkJCT0gYXUxeHBzY19hYzk3X3Byb2JlLAorCS5yZW1vdmUJCQk9IGF1MXhwc2NfYWM5N19yZW1vdmUsCisJLnN1c3BlbmQJCT0gYXUxeHBzY19hYzk3X3N1c3BlbmQsCisJLnJlc3VtZQkJCT0gYXUxeHBzY19hYzk3X3Jlc3VtZSwKKwkucGxheWJhY2sgPSB7CisJCS5yYXRlcwkJPSBBQzk3X1JBVEVTLAorCQkuZm9ybWF0cwk9IEFDOTdfRk1UUywKKwkJLmNoYW5uZWxzX21pbgk9IDIsCisJCS5jaGFubmVsc19tYXgJPSAyLAorCX0sCisJLmNhcHR1cmUgPSB7CisJCS5yYXRlcwkJPSBBQzk3X1JBVEVTLAorCQkuZm9ybWF0cwk9IEFDOTdfRk1UUywKKwkJLmNoYW5uZWxzX21pbgk9IDIsCisJCS5jaGFubmVsc19tYXgJPSAyLAorCX0sCisJLm9wcyA9IHsKKwkJLnRyaWdnZXIJPSBhdTF4cHNjX2FjOTdfdHJpZ2dlciwKKwkJLmh3X3BhcmFtcwk9IGF1MXhwc2NfYWM5N19od19wYXJhbXMsCisJfSwKK307CitFWFBPUlRfU1lNQk9MX0dQTChhdTF4cHNjX2FjOTdfZGFpKTsKKworc3RhdGljIGludCBfX2luaXQgYXUxeHBzY19hYzk3X2luaXQodm9pZCkKK3sKKwlhdTF4cHNjX2FjOTdfd29ya2RhdGEgPSBOVUxMOworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBfX2V4aXQgYXUxeHBzY19hYzk3X2V4aXQodm9pZCkKK3sKK30KKworbW9kdWxlX2luaXQoYXUxeHBzY19hYzk3X2luaXQpOworbW9kdWxlX2V4aXQoYXUxeHBzY19hYzk3X2V4aXQpOworCitNT0RVTEVfTElDRU5TRSgiR1BMIik7CitNT0RVTEVfREVTQ1JJUFRJT04oIkF1MTJ4MC9BdTE1NTAgUFNDIEFDOTcgQUxTQSBBU29DIGF1ZGlvIGRyaXZlciIpOworTU9EVUxFX0FVVEhPUigiTWFudWVsIExhdXNzIDxtYW5vQHJvYXJpbmVsay5ob21lbGludXgubmV0PiIpOwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2F1MXgvcHNjLWkycy5jIGIvc291bmQvc29jL2F1MXgvcHNjLWkycy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJhNGI1YzEKLS0tIC9kZXYvbnVsbAorKysgYi9zb3VuZC9zb2MvYXUxeC9wc2MtaTJzLmMKQEAgLTAsMCArMSw0MTQgQEAKKy8qCisgKiBBdTEyeDAvQXUxNTUwIFBTQyBBTFNBIEFTb0MgYXVkaW8gc3VwcG9ydC4KKyAqCisgKiAoYykgMjAwNy0yMDA4IE1TQyBWZXJ0cmllYnNnZXMubS5iLkguLAorICoJTWFudWVsIExhdXNzIDxtYW5vQHJvYXJpbmVsay5ob21lbGludXgubmV0PgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKgorICogQXUxeHh4LVBTQyBJMlMgZ2x1ZS4KKyAqCisgKiBOT1RFOiBhbGwgb2YgdGhlc2UgZHJpdmVycyBjYW4gb25seSB3b3JrIHdpdGggYSBTSU5HTEUgaW5zdGFuY2UKKyAqCSBvZiBhIFBTQy4gTXVsdGlwbGUgaW5kZXBlbmRlbnQgYXVkaW8gZGV2aWNlcyBhcmUgaW1wb3NzaWJsZQorICoJIHdpdGggQVNvQyB2MS4KKyAqIE5PVEU6IHNvIGZhciBvbmx5IFBTQyBzbGF2ZSBtb2RlIChiaXQtIGFuZCBmcmFtZWNsb2NrKSBpcyBzdXBwb3J0ZWQuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9zdXNwZW5kLmg+CisjaW5jbHVkZSA8c291bmQvY29yZS5oPgorI2luY2x1ZGUgPHNvdW5kL3BjbS5oPgorI2luY2x1ZGUgPHNvdW5kL2luaXR2YWwuaD4KKyNpbmNsdWRlIDxzb3VuZC9zb2MuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC1hdTF4MDAvYXUxMDAwLmg+CisjaW5jbHVkZSA8YXNtL21hY2gtYXUxeDAwL2F1MXh4eF9wc2MuaD4KKworI2luY2x1ZGUgInBzYy5oIgorCisvKiBzdXBwb3J0ZWQgSTJTIERBSSBoYXJkd2FyZSBmb3JtYXRzICovCisjZGVmaW5lIEFVMVhQU0NfSTJTX0RBSUZNVCBcCisJKFNORF9TT0NfREFJRk1UX0kyUyB8IFNORF9TT0NfREFJRk1UX0xFRlRfSiB8CVwKKwkgU05EX1NPQ19EQUlGTVRfTkJfTkYpCisKKy8qIHN1cHBvcnRlZCBJMlMgZGlyZWN0aW9uICovCisjZGVmaW5lIEFVMVhQU0NfSTJTX0RJUiBcCisJKFNORF9TT0NfREFJRElSX1BMQVlCQUNLIHwgU05EX1NPQ19EQUlESVJfQ0FQVFVSRSkKKworI2RlZmluZSBBVTFYUFNDX0kyU19SQVRFUyBcCisJU05EUlZfUENNX1JBVEVfODAwMF8xOTIwMDAKKworI2RlZmluZSBBVTFYUFNDX0kyU19GTVRTIFwKKwkoU05EUlZfUENNX0ZNVEJJVF9TMTZfTEUgfCBTTkRSVl9QQ01fRk1UQklUX1MyNF9MRSkKKworI2RlZmluZSBJMlNTVEFUX0JVU1koc3R5cGUpCVwKKwkoKHN0eXBlKSA9PSBQQ01fVFggPyBQU0NfSTJTU1RBVF9UQiA6IFBTQ19JMlNTVEFUX1JCKQorI2RlZmluZSBJMlNQQ1JfU1RBUlQoc3R5cGUpCVwKKwkoKHN0eXBlKSA9PSBQQ01fVFggPyBQU0NfSTJTUENSX1RTIDogUFNDX0kyU1BDUl9SUykKKyNkZWZpbmUgSTJTUENSX1NUT1Aoc3R5cGUpCVwKKwkoKHN0eXBlKSA9PSBQQ01fVFggPyBQU0NfSTJTUENSX1RQIDogUFNDX0kyU1BDUl9SUCkKKyNkZWZpbmUgSTJTUENSX0NMUkZJRk8oc3R5cGUpCVwKKwkoKHN0eXBlKSA9PSBQQ01fVFggPyBQU0NfSTJTUENSX1RDIDogUFNDX0kyU1BDUl9SQykKKworCisvKiBpbnN0YW5jZSBkYXRhLiBUaGVyZSBjYW4gYmUgb25seSBvbmUsIE1hY0xlb2QhISEhICovCitzdGF0aWMgc3RydWN0IGF1MXhwc2NfYXVkaW9fZGF0YSAqYXUxeHBzY19pMnNfd29ya2RhdGE7CisKK3N0YXRpYyBpbnQgYXUxeHBzY19pMnNfc2V0X2ZtdChzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWksCisJCQkgICAgICAgdW5zaWduZWQgaW50IGZtdCkKK3sKKwlzdHJ1Y3QgYXUxeHBzY19hdWRpb19kYXRhICpwc2NkYXRhID0gYXUxeHBzY19pMnNfd29ya2RhdGE7CisJdW5zaWduZWQgbG9uZyBjdDsKKwlpbnQgcmV0OworCisJcmV0ID0gLUVJTlZBTDsKKworCWN0ID0gcHNjZGF0YS0+Y2ZnOworCisJY3QgJj0gfihQU0NfSTJTQ0ZHX1hNIHwgUFNDX0kyU0NGR19NTEopOwkvKiBsZWZ0LWp1c3RpZmllZCAqLworCXN3aXRjaCAoZm10ICYgU05EX1NPQ19EQUlGTVRfRk9STUFUX01BU0spIHsKKwljYXNlIFNORF9TT0NfREFJRk1UX0kyUzoKKwkJY3QgfD0gUFNDX0kyU0NGR19YTTsJLyogZW5hYmxlIEkyUyBtb2RlICovCisJCWJyZWFrOworCWNhc2UgU05EX1NPQ19EQUlGTVRfTVNCOgorCQlicmVhazsKKwljYXNlIFNORF9TT0NfREFJRk1UX0xTQjoKKwkJY3QgfD0gUFNDX0kyU0NGR19NTEo7CS8qIExTQiAocmlnaHQtKSBqdXN0aWZpZWQgKi8KKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJZ290byBvdXQ7CisJfQorCisJY3QgJj0gfihQU0NfSTJTQ0ZHX0JJIHwgUFNDX0kyU0NGR19XSSk7CQkvKiBJQi1JRiAqLworCXN3aXRjaCAoZm10ICYgU05EX1NPQ19EQUlGTVRfSU5WX01BU0spIHsKKwljYXNlIFNORF9TT0NfREFJRk1UX05CX05GOgorCQljdCB8PSBQU0NfSTJTQ0ZHX0JJIHwgUFNDX0kyU0NGR19XSTsKKwkJYnJlYWs7CisJY2FzZSBTTkRfU09DX0RBSUZNVF9OQl9JRjoKKwkJY3QgfD0gUFNDX0kyU0NGR19CSTsKKwkJYnJlYWs7CisJY2FzZSBTTkRfU09DX0RBSUZNVF9JQl9ORjoKKwkJY3QgfD0gUFNDX0kyU0NGR19XSTsKKwkJYnJlYWs7CisJY2FzZSBTTkRfU09DX0RBSUZNVF9JQl9JRjoKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJZ290byBvdXQ7CisJfQorCisJc3dpdGNoIChmbXQgJiBTTkRfU09DX0RBSUZNVF9NQVNURVJfTUFTSykgeworCWNhc2UgU05EX1NPQ19EQUlGTVRfQ0JNX0NGTToJLyogQ09ERUMgbWFzdGVyICovCisJCWN0IHw9IFBTQ19JMlNDRkdfTVM7CS8qIFBTQyBJMlMgc2xhdmUgbW9kZSAqLworCQlicmVhazsKKwljYXNlIFNORF9TT0NfREFJRk1UX0NCU19DRlM6CS8qIENPREVDIHNsYXZlICovCisJCWN0ICY9IH5QU0NfSTJTQ0ZHX01TOwkvKiBQU0MgSTJTIE1hc3RlciBtb2RlICovCisJCWJyZWFrOworCWRlZmF1bHQ6CisJCWdvdG8gb3V0OworCX0KKworCXBzY2RhdGEtPmNmZyA9IGN0OworCXJldCA9IDA7CitvdXQ6CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBhdTF4cHNjX2kyc19od19wYXJhbXMoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0sCisJCQkJIHN0cnVjdCBzbmRfcGNtX2h3X3BhcmFtcyAqcGFyYW1zKQoreworCXN0cnVjdCBhdTF4cHNjX2F1ZGlvX2RhdGEgKnBzY2RhdGEgPSBhdTF4cHNjX2kyc193b3JrZGF0YTsKKworCWludCBjZmdiaXRzOworCXVuc2lnbmVkIGxvbmcgc3RhdDsKKworCS8qIGNoZWNrIGlmIHRoZSBQU0MgaXMgYWxyZWFkeSBzdHJlYW1pbmcgZGF0YSAqLworCXN0YXQgPSBhdV9yZWFkbChJMlNfU1RBVChwc2NkYXRhKSk7CisJaWYgKHN0YXQgJiAoUFNDX0kyU1NUQVRfVEIgfCBQU0NfSTJTU1RBVF9SQikpIHsKKwkJLyogcmVqZWN0IHBhcmFtZXRlcnMgbm90IGN1cnJlbnRseSBzZXQgdXAgaW4gaGFyZHdhcmUgKi8KKwkJY2ZnYml0cyA9IGF1X3JlYWRsKEkyU19DRkcocHNjZGF0YSkpOworCQlpZiAoKFBTQ19JMlNDRkdfR0VUX0xFTihjZmdiaXRzKSAhPSBwYXJhbXMtPm1zYml0cykgfHwKKwkJICAgIChwYXJhbXNfcmF0ZShwYXJhbXMpICE9IHBzY2RhdGEtPnJhdGUpKQorCQkJcmV0dXJuIC1FSU5WQUw7CisJfSBlbHNlIHsKKwkJLyogc2V0IHNhbXBsZSBiaXRkZXB0aCAqLworCQlwc2NkYXRhLT5jZmcgJj0gfigweDFmIDw8IDQpOworCQlwc2NkYXRhLT5jZmcgfD0gUFNDX0kyU0NGR19TRVRfTEVOKHBhcmFtcy0+bXNiaXRzKTsKKwkJLyogcmVtZW1iZXIgY3VycmVudCByYXRlIGZvciBvdGhlciBzdHJlYW0gKi8KKwkJcHNjZGF0YS0+cmF0ZSA9IHBhcmFtc19yYXRlKHBhcmFtcyk7CisJfQorCXJldHVybiAwOworfQorCisvKiBDb25maWd1cmUgUFNDIGxhdGU6ICBvbiBteSBkZXZlbCBzeXN0ZW1zIHRoZSBjb2RlYyAgaXMgSTJTIG1hc3RlciBhbmQKKyAqIHN1cHBsaWVzIHRoZSBpMnNiaXRjbG9jayBfX0FORF9fIGkyc01jbGsgKCEpIHRvIHRoZSBQU0MgdW5pdC4gIEFTb0MKKyAqIHVzZXMgYWdncmVzc2l2ZSBQTSBhbmQgIHN3aXRjaGVzIHRoZSBjb2RlYyBvZmYgIHdoZW4gaXQgaXMgbm90IGluIHVzZQorICogd2hpY2ggYWxzbyBtZWFucyB0aGUgUFNDIHVuaXQgZG9lc24ndCBnZXQgYW55IGNsb2NrcyBhbmQgaXMgdGhlcmVmb3JlCisgKiBkZWFkLiBUaGF0J3Mgd2h5IHRoaXMgY2h1bmsgaGVyZSBnZXRzIGNhbGxlZCBmcm9tIHRoZSB0cmlnZ2VyIGNhbGxiYWNrCisgKiBiZWNhdXNlIEkgY2FuIGJlIHJlYXNvbmFibHkgY2VydGFpbiB0aGUgY29kZWMgaXMgZHJpdmluZyB0aGUgY2xvY2tzLgorICovCitzdGF0aWMgaW50IGF1MXhwc2NfaTJzX2NvbmZpZ3VyZShzdHJ1Y3QgYXUxeHBzY19hdWRpb19kYXRhICpwc2NkYXRhKQoreworCXVuc2lnbmVkIGxvbmcgdG1vOworCisJLyogYnJpbmcgUFNDIG91dCBvZiBzbGVlcCwgYW5kIGNvbmZpZ3VyZSBJMlMgdW5pdCAqLworCWF1X3dyaXRlbChQU0NfQ1RSTF9FTkFCTEUsIFBTQ19DVFJMKHBzY2RhdGEpKTsKKwlhdV9zeW5jKCk7CisKKwl0bW8gPSAxMDAwMDAwOworCXdoaWxlICghKGF1X3JlYWRsKEkyU19TVEFUKHBzY2RhdGEpKSAmIFBTQ19JMlNTVEFUX1NSKSAmJiB0bW8pCisJCXRtby0tOworCisJaWYgKCF0bW8pCisJCWdvdG8gcHNjX2VycjsKKworCWF1X3dyaXRlbCgwLCBJMlNfQ0ZHKHBzY2RhdGEpKTsKKwlhdV9zeW5jKCk7CisJYXVfd3JpdGVsKHBzY2RhdGEtPmNmZyB8IFBTQ19JMlNDRkdfREVfRU5BQkxFLCBJMlNfQ0ZHKHBzY2RhdGEpKTsKKwlhdV9zeW5jKCk7CisKKwkvKiB3YWl0IGZvciBJMlMgY29udHJvbGxlciB0byBiZWNvbWUgcmVhZHkgKi8KKwl0bW8gPSAxMDAwMDAwOworCXdoaWxlICghKGF1X3JlYWRsKEkyU19TVEFUKHBzY2RhdGEpKSAmIFBTQ19JMlNTVEFUX0RSKSAmJiB0bW8pCisJCXRtby0tOworCisJaWYgKHRtbykKKwkJcmV0dXJuIDA7CisKK3BzY19lcnI6CisJYXVfd3JpdGVsKDAsIEkyU19DRkcocHNjZGF0YSkpOworCWF1X3dyaXRlbChQU0NfQ1RSTF9TVVNQRU5ELCBQU0NfQ1RSTChwc2NkYXRhKSk7CisJYXVfc3luYygpOworCXJldHVybiAtRVRJTUVET1VUOworfQorCitzdGF0aWMgaW50IGF1MXhwc2NfaTJzX3N0YXJ0KHN0cnVjdCBhdTF4cHNjX2F1ZGlvX2RhdGEgKnBzY2RhdGEsIGludCBzdHlwZSkKK3sKKwl1bnNpZ25lZCBsb25nIHRtbywgc3RhdDsKKwlpbnQgcmV0OworCisJcmV0ID0gMDsKKworCS8qIGlmIGJvdGggVFggYW5kIFJYIGFyZSBpZGxlLCBjb25maWd1cmUgdGhlIFBTQyAgKi8KKwlzdGF0ID0gYXVfcmVhZGwoSTJTX1NUQVQocHNjZGF0YSkpOworCWlmICghKHN0YXQgJiAoUFNDX0kyU1NUQVRfVEIgfCBQU0NfSTJTU1RBVF9SQikpKSB7CisJCXJldCA9IGF1MXhwc2NfaTJzX2NvbmZpZ3VyZShwc2NkYXRhKTsKKwkJaWYgKHJldCkKKwkJCWdvdG8gb3V0OworCX0KKworCWF1X3dyaXRlbChJMlNQQ1JfQ0xSRklGTyhzdHlwZSksIEkyU19QQ1IocHNjZGF0YSkpOworCWF1X3N5bmMoKTsKKwlhdV93cml0ZWwoSTJTUENSX1NUQVJUKHN0eXBlKSwgSTJTX1BDUihwc2NkYXRhKSk7CisJYXVfc3luYygpOworCisJLyogd2FpdCBmb3Igc3RhcnQgY29uZmlybWF0aW9uICovCisJdG1vID0gMTAwMDAwMDsKKwl3aGlsZSAoIShhdV9yZWFkbChJMlNfU1RBVChwc2NkYXRhKSkgJiBJMlNTVEFUX0JVU1koc3R5cGUpKSAmJiB0bW8pCisJCXRtby0tOworCisJaWYgKCF0bW8pIHsKKwkJYXVfd3JpdGVsKEkyU1BDUl9TVE9QKHN0eXBlKSwgSTJTX1BDUihwc2NkYXRhKSk7CisJCWF1X3N5bmMoKTsKKwkJcmV0ID0gLUVUSU1FRE9VVDsKKwl9CitvdXQ6CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBhdTF4cHNjX2kyc19zdG9wKHN0cnVjdCBhdTF4cHNjX2F1ZGlvX2RhdGEgKnBzY2RhdGEsIGludCBzdHlwZSkKK3sKKwl1bnNpZ25lZCBsb25nIHRtbywgc3RhdDsKKworCWF1X3dyaXRlbChJMlNQQ1JfU1RPUChzdHlwZSksIEkyU19QQ1IocHNjZGF0YSkpOworCWF1X3N5bmMoKTsKKworCS8qIHdhaXQgZm9yIHN0b3AgY29uZmlybWF0aW9uICovCisJdG1vID0gMTAwMDAwMDsKKwl3aGlsZSAoKGF1X3JlYWRsKEkyU19TVEFUKHBzY2RhdGEpKSAmIEkyU1NUQVRfQlVTWShzdHlwZSkpICYmIHRtbykKKwkJdG1vLS07CisKKwkvKiBpZiBib3RoIFRYIGFuZCBSWCBhcmUgaWRsZSwgZGlzYWJsZSBQU0MgKi8KKwlzdGF0ID0gYXVfcmVhZGwoSTJTX1NUQVQocHNjZGF0YSkpOworCWlmICghKHN0YXQgJiAoUFNDX0kyU1NUQVRfUkIgfCBQU0NfSTJTU1RBVF9SQikpKSB7CisJCWF1X3dyaXRlbCgwLCBJMlNfQ0ZHKHBzY2RhdGEpKTsKKwkJYXVfc3luYygpOworCQlhdV93cml0ZWwoUFNDX0NUUkxfU1VTUEVORCwgUFNDX0NUUkwocHNjZGF0YSkpOworCQlhdV9zeW5jKCk7CisJfQorCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGF1MXhwc2NfaTJzX3RyaWdnZXIoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0sIGludCBjbWQpCit7CisJc3RydWN0IGF1MXhwc2NfYXVkaW9fZGF0YSAqcHNjZGF0YSA9IGF1MXhwc2NfaTJzX3dvcmtkYXRhOworCWludCByZXQsIHN0eXBlID0gU1VCU1RSRUFNX1RZUEUoc3Vic3RyZWFtKTsKKworCXN3aXRjaCAoY21kKSB7CisJY2FzZSBTTkRSVl9QQ01fVFJJR0dFUl9TVEFSVDoKKwljYXNlIFNORFJWX1BDTV9UUklHR0VSX1JFU1VNRToKKwkJcmV0ID0gYXUxeHBzY19pMnNfc3RhcnQocHNjZGF0YSwgc3R5cGUpOworCQlicmVhazsKKwljYXNlIFNORFJWX1BDTV9UUklHR0VSX1NUT1A6CisJY2FzZSBTTkRSVl9QQ01fVFJJR0dFUl9TVVNQRU5EOgorCQlyZXQgPSBhdTF4cHNjX2kyc19zdG9wKHBzY2RhdGEsIHN0eXBlKTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcmV0ID0gLUVJTlZBTDsKKwl9CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBhdTF4cHNjX2kyc19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAorCQkJICAgICBzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSkKK3sKKwlzdHJ1Y3QgcmVzb3VyY2UgKnI7CisJdW5zaWduZWQgbG9uZyBzZWw7CisJaW50IHJldDsKKworCWlmIChhdTF4cHNjX2kyc193b3JrZGF0YSkKKwkJcmV0dXJuIC1FQlVTWTsKKworCWF1MXhwc2NfaTJzX3dvcmtkYXRhID0KKwkJa3phbGxvYyhzaXplb2Yoc3RydWN0IGF1MXhwc2NfYXVkaW9fZGF0YSksIEdGUF9LRVJORUwpOworCWlmICghYXUxeHBzY19pMnNfd29ya2RhdGEpCisJCXJldHVybiAtRU5PTUVNOworCisJciA9IHBsYXRmb3JtX2dldF9yZXNvdXJjZShwZGV2LCBJT1JFU09VUkNFX01FTSwgMCk7CisJaWYgKCFyKSB7CisJCXJldCA9IC1FTk9ERVY7CisJCWdvdG8gb3V0MDsKKwl9CisKKwlyZXQgPSAtRUJVU1k7CisJYXUxeHBzY19pMnNfd29ya2RhdGEtPmlvYXJlYSA9CisJCXJlcXVlc3RfbWVtX3JlZ2lvbihyLT5zdGFydCwgci0+ZW5kIC0gci0+c3RhcnQgKyAxLAorCQkJCQkiYXUxeHBzY19pMnMiKTsKKwlpZiAoIWF1MXhwc2NfaTJzX3dvcmtkYXRhLT5pb2FyZWEpCisJCWdvdG8gb3V0MDsKKworCWF1MXhwc2NfaTJzX3dvcmtkYXRhLT5tbWlvID0gaW9yZW1hcChyLT5zdGFydCwgMHhmZmZmKTsKKwlpZiAoIWF1MXhwc2NfaTJzX3dvcmtkYXRhLT5tbWlvKQorCQlnb3RvIG91dDE7CisKKwkvKiBwcmVzZXJ2ZSBQU0MgY2xvY2sgc291cmNlIHNldCB1cCBieSBwbGF0Zm9ybSAoZGV2LnBsYXRmb3JtX2RhdGEKKwkgKiBpcyBhbHJlYWR5IG9jY3VwaWVkIGJ5IHNvYyBsYXllcikKKwkgKi8KKwlzZWwgPSBhdV9yZWFkbChQU0NfU0VMKGF1MXhwc2NfaTJzX3dvcmtkYXRhKSkgJiBQU0NfU0VMX0NMS19NQVNLOworCWF1X3dyaXRlbChQU0NfQ1RSTF9ESVNBQkxFLCBQU0NfQ1RSTChhdTF4cHNjX2kyc193b3JrZGF0YSkpOworCWF1X3N5bmMoKTsKKwlhdV93cml0ZWwoUFNDX1NFTF9QU19JMlNNT0RFIHwgc2VsLCBQU0NfU0VMKGF1MXhwc2NfaTJzX3dvcmtkYXRhKSk7CisJYXVfd3JpdGVsKDAsIEkyU19DRkcoYXUxeHBzY19pMnNfd29ya2RhdGEpKTsKKwlhdV9zeW5jKCk7CisKKwkvKiBwcmVjb25maWd1cmU6IHNldCBtYXggcngvdHggZmlmbyBkZXB0aHMgKi8KKwlhdTF4cHNjX2kyc193b3JrZGF0YS0+Y2ZnIHw9CisJCQlQU0NfSTJTQ0ZHX1JUX0ZJRk84IHwgUFNDX0kyU0NGR19UVF9GSUZPODsKKworCS8qIGRvbid0IHdhaXQgZm9yIEkyUyBjb3JlIHRvIGJlY29tZSByZWFkeSBub3c7IGNsb2NrcyBtYXkgbm90CisJICogYmUgcnVubmluZyB5ZXQ7IGRlcGVuZGluZyBvbiBjbG9jayBpbnB1dCBmb3IgUFNDIGEgd2FpdCBtaWdodAorCSAqIHRpbWUgb3V0LgorCSAqLworCisJcmV0dXJuIDA7CisKK291dDE6CisJcmVsZWFzZV9yZXNvdXJjZShhdTF4cHNjX2kyc193b3JrZGF0YS0+aW9hcmVhKTsKKwlrZnJlZShhdTF4cHNjX2kyc193b3JrZGF0YS0+aW9hcmVhKTsKK291dDA6CisJa2ZyZWUoYXUxeHBzY19pMnNfd29ya2RhdGEpOworCWF1MXhwc2NfaTJzX3dvcmtkYXRhID0gTlVMTDsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgdm9pZCBhdTF4cHNjX2kyc19yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKKwkJCSAgICAgICBzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSkKK3sKKwlhdV93cml0ZWwoMCwgSTJTX0NGRyhhdTF4cHNjX2kyc193b3JrZGF0YSkpOworCWF1X3N5bmMoKTsKKwlhdV93cml0ZWwoUFNDX0NUUkxfRElTQUJMRSwgUFNDX0NUUkwoYXUxeHBzY19pMnNfd29ya2RhdGEpKTsKKwlhdV9zeW5jKCk7CisKKwlpb3VubWFwKGF1MXhwc2NfaTJzX3dvcmtkYXRhLT5tbWlvKTsKKwlyZWxlYXNlX3Jlc291cmNlKGF1MXhwc2NfaTJzX3dvcmtkYXRhLT5pb2FyZWEpOworCWtmcmVlKGF1MXhwc2NfaTJzX3dvcmtkYXRhLT5pb2FyZWEpOworCWtmcmVlKGF1MXhwc2NfaTJzX3dvcmtkYXRhKTsKKwlhdTF4cHNjX2kyc193b3JrZGF0YSA9IE5VTEw7Cit9CisKK3N0YXRpYyBpbnQgYXUxeHBzY19pMnNfc3VzcGVuZChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAorCQkJICAgICAgIHN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSkKK3sKKwkvKiBzYXZlIGludGVyZXN0aW5nIHJlZ2lzdGVyIGFuZCBkaXNhYmxlIFBTQyAqLworCWF1MXhwc2NfaTJzX3dvcmtkYXRhLT5wbVswXSA9CisJCWF1X3JlYWRsKFBTQ19TRUwoYXUxeHBzY19pMnNfd29ya2RhdGEpKTsKKworCWF1X3dyaXRlbCgwLCBJMlNfQ0ZHKGF1MXhwc2NfaTJzX3dvcmtkYXRhKSk7CisJYXVfc3luYygpOworCWF1X3dyaXRlbChQU0NfQ1RSTF9ESVNBQkxFLCBQU0NfQ1RSTChhdTF4cHNjX2kyc193b3JrZGF0YSkpOworCWF1X3N5bmMoKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGF1MXhwc2NfaTJzX3Jlc3VtZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAorCQkJICAgICAgc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpKQoreworCS8qIHNlbGVjdCBJMlMgbW9kZSBhbmQgUFNDIGNsb2NrICovCisJYXVfd3JpdGVsKFBTQ19DVFJMX0RJU0FCTEUsIFBTQ19DVFJMKGF1MXhwc2NfaTJzX3dvcmtkYXRhKSk7CisJYXVfc3luYygpOworCWF1X3dyaXRlbCgwLCBQU0NfU0VMKGF1MXhwc2NfaTJzX3dvcmtkYXRhKSk7CisJYXVfc3luYygpOworCWF1X3dyaXRlbChhdTF4cHNjX2kyc193b3JrZGF0YS0+cG1bMF0sCisJCQlQU0NfU0VMKGF1MXhwc2NfaTJzX3dvcmtkYXRhKSk7CisJYXVfc3luYygpOworCisJcmV0dXJuIDA7Cit9CisKK3N0cnVjdCBzbmRfc29jX2RhaSBhdTF4cHNjX2kyc19kYWkgPSB7CisJLm5hbWUJCQk9ICJhdTF4cHNjX2kycyIsCisJLnR5cGUJCQk9IFNORF9TT0NfREFJX0kyUywKKwkucHJvYmUJCQk9IGF1MXhwc2NfaTJzX3Byb2JlLAorCS5yZW1vdmUJCQk9IGF1MXhwc2NfaTJzX3JlbW92ZSwKKwkuc3VzcGVuZAkJPSBhdTF4cHNjX2kyc19zdXNwZW5kLAorCS5yZXN1bWUJCQk9IGF1MXhwc2NfaTJzX3Jlc3VtZSwKKwkucGxheWJhY2sgPSB7CisJCS5yYXRlcwkJPSBBVTFYUFNDX0kyU19SQVRFUywKKwkJLmZvcm1hdHMJPSBBVTFYUFNDX0kyU19GTVRTLAorCQkuY2hhbm5lbHNfbWluCT0gMiwKKwkJLmNoYW5uZWxzX21heAk9IDgsCS8qIDIgd2l0aG91dCBleHRlcm5hbCBoZWxwICovCisJfSwKKwkuY2FwdHVyZSA9IHsKKwkJLnJhdGVzCQk9IEFVMVhQU0NfSTJTX1JBVEVTLAorCQkuZm9ybWF0cwk9IEFVMVhQU0NfSTJTX0ZNVFMsCisJCS5jaGFubmVsc19taW4JPSAyLAorCQkuY2hhbm5lbHNfbWF4CT0gOCwJLyogMiB3aXRob3V0IGV4dGVybmFsIGhlbHAgKi8KKwl9LAorCS5vcHMgPSB7CisJCS50cmlnZ2VyCT0gYXUxeHBzY19pMnNfdHJpZ2dlciwKKwkJLmh3X3BhcmFtcwk9IGF1MXhwc2NfaTJzX2h3X3BhcmFtcywKKwl9LAorCS5kYWlfb3BzID0geworCQkuc2V0X2ZtdAk9IGF1MXhwc2NfaTJzX3NldF9mbXQsCisJfSwKK307CitFWFBPUlRfU1lNQk9MKGF1MXhwc2NfaTJzX2RhaSk7CisKK3N0YXRpYyBpbnQgX19pbml0IGF1MXhwc2NfaTJzX2luaXQodm9pZCkKK3sKKwlhdTF4cHNjX2kyc193b3JrZGF0YSA9IE5VTEw7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIF9fZXhpdCBhdTF4cHNjX2kyc19leGl0KHZvaWQpCit7Cit9CisKK21vZHVsZV9pbml0KGF1MXhwc2NfaTJzX2luaXQpOworbW9kdWxlX2V4aXQoYXUxeHBzY19pMnNfZXhpdCk7CisKK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKK01PRFVMRV9ERVNDUklQVElPTigiQXUxMngwL0F1MTU1MCBQU0MgSTJTIEFMU0EgQVNvQyBhdWRpbyBkcml2ZXIiKTsKK01PRFVMRV9BVVRIT1IoIk1hbnVlbCBMYXVzcyA8bWFub0Byb2FyaW5lbGsuaG9tZWxpbnV4Lm5ldD4iKTsKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9hdTF4L3BzYy5oIGIvc291bmQvc29jL2F1MXgvcHNjLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGZkYjFhMDQKLS0tIC9kZXYvbnVsbAorKysgYi9zb3VuZC9zb2MvYXUxeC9wc2MuaApAQCAtMCwwICsxLDUzIEBACisvKgorICogQXUxMngwL0F1MTU1MCBQU0MgQUxTQSBBU29DIGF1ZGlvIHN1cHBvcnQuCisgKgorICogKGMpIDIwMDctMjAwOCBNU0MgVmVydHJpZWJzZ2VzLm0uYi5ILiwKKyAqCU1hbnVlbCBMYXVzcyA8bWFub0Byb2FyaW5lbGsuaG9tZWxpbnV4Lm5ldD4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICoKKyAqIE5PVEU6IGFsbCBvZiB0aGVzZSBkcml2ZXJzIGNhbiBvbmx5IHdvcmsgd2l0aCBhIFNJTkdMRSBpbnN0YW5jZQorICoJIG9mIGEgUFNDLiBNdWx0aXBsZSBpbmRlcGVuZGVudCBhdWRpbyBkZXZpY2VzIGFyZSBpbXBvc3NpYmxlCisgKgkgd2l0aCBBU29DIHYxLgorICovCisKKyNpZm5kZWYgX0FVMVhfUENNX0gKKyNkZWZpbmUgX0FVMVhfUENNX0gKKworZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2RhaSBhdTF4cHNjX2FjOTdfZGFpOworZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2RhaSBhdTF4cHNjX2kyc19kYWk7CitleHRlcm4gc3RydWN0IHNuZF9zb2NfcGxhdGZvcm0gYXUxeHBzY19zb2NfcGxhdGZvcm07CitleHRlcm4gc3RydWN0IHNuZF9hYzk3X2J1c19vcHMgc29jX2FjOTdfb3BzOworCitzdHJ1Y3QgYXUxeHBzY19hdWRpb19kYXRhIHsKKwl2b2lkIF9faW9tZW0gKm1taW87CisKKwl1bnNpZ25lZCBsb25nIGNmZzsKKwl1bnNpZ25lZCBsb25nIHJhdGU7CisKKwl1bnNpZ25lZCBsb25nIHBtWzJdOworCXN0cnVjdCByZXNvdXJjZSAqaW9hcmVhOworfTsKKworI2RlZmluZSBQQ01fVFgJMAorI2RlZmluZSBQQ01fUlgJMQorCisjZGVmaW5lIFNVQlNUUkVBTV9UWVBFKHN1YnN0cmVhbSkgXAorCSgoc3Vic3RyZWFtKS0+c3RyZWFtID09IFNORFJWX1BDTV9TVFJFQU1fUExBWUJBQ0sgPyBQQ01fVFggOiBQQ01fUlgpCisKKy8qIGVhc3kgYWNjZXNzIG1hY3JvcyAqLworI2RlZmluZSBQU0NfQ1RSTCh4KQkoKHVuc2lnbmVkIGxvbmcpKCh4KS0+bW1pbykgKyBQU0NfQ1RSTF9PRkZTRVQpCisjZGVmaW5lIFBTQ19TRUwoeCkJKCh1bnNpZ25lZCBsb25nKSgoeCktPm1taW8pICsgUFNDX1NFTF9PRkZTRVQpCisjZGVmaW5lIEkyU19TVEFUKHgpCSgodW5zaWduZWQgbG9uZykoKHgpLT5tbWlvKSArIFBTQ19JMlNTVEFUX09GRlNFVCkKKyNkZWZpbmUgSTJTX0NGRyh4KQkoKHVuc2lnbmVkIGxvbmcpKCh4KS0+bW1pbykgKyBQU0NfSTJTQ0ZHX09GRlNFVCkKKyNkZWZpbmUgSTJTX1BDUih4KQkoKHVuc2lnbmVkIGxvbmcpKCh4KS0+bW1pbykgKyBQU0NfSTJTUENSX09GRlNFVCkKKyNkZWZpbmUgQUM5N19DRkcoeCkJKCh1bnNpZ25lZCBsb25nKSgoeCktPm1taW8pICsgUFNDX0FDOTdDRkdfT0ZGU0VUKQorI2RlZmluZSBBQzk3X0NEQyh4KQkoKHVuc2lnbmVkIGxvbmcpKCh4KS0+bW1pbykgKyBQU0NfQUM5N0NEQ19PRkZTRVQpCisjZGVmaW5lIEFDOTdfRVZOVCh4KQkoKHVuc2lnbmVkIGxvbmcpKCh4KS0+bW1pbykgKyBQU0NfQUM5N0VWTlRfT0ZGU0VUKQorI2RlZmluZSBBQzk3X1BDUih4KQkoKHVuc2lnbmVkIGxvbmcpKCh4KS0+bW1pbykgKyBQU0NfQUM5N1BDUl9PRkZTRVQpCisjZGVmaW5lIEFDOTdfUlNUKHgpCSgodW5zaWduZWQgbG9uZykoKHgpLT5tbWlvKSArIFBTQ19BQzk3UlNUX09GRlNFVCkKKyNkZWZpbmUgQUM5N19TVEFUKHgpCSgodW5zaWduZWQgbG9uZykoKHgpLT5tbWlvKSArIFBTQ19BQzk3U1RBVF9PRkZTRVQpCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2F1MXgvc2FtcGxlLWFjOTcuYyBiL3NvdW5kL3NvYy9hdTF4L3NhbXBsZS1hYzk3LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjc1YWU3ZgotLS0gL2Rldi9udWxsCisrKyBiL3NvdW5kL3NvYy9hdTF4L3NhbXBsZS1hYzk3LmMKQEAgLTAsMCArMSwxNDQgQEAKKy8qCisgKiBTYW1wbGUgQXUxMngwL0F1MTU1MCBQU0MgQUM5NyBzb3VuZCBtYWNoaW5lLgorICoKKyAqIENvcHlyaWdodCAoYykgMjAwNy0yMDA4IE1hbnVlbCBMYXVzcyA8bWFub0Byb2FyaW5lbGsuaG9tZWxpbnV4Lm5ldD4KKyAqCisgKiAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqICBpdCB1bmRlciB0aGUgdGVybXMgb3V0bGluZWQgaW4gdGhlIGZpbGUgQ09QWUlORyBhdCB0aGUgcm9vdCBvZiB0aGlzCisgKiAgc291cmNlIGFyY2hpdmUuCisgKgorICogVGhpcyBpcyBhIHZlcnkgZ2VuZXJpYyBBQzk3IHNvdW5kIG1hY2hpbmUgZHJpdmVyIGZvciBib2FyZHMgd2hpY2gKKyAqIGhhdmUgKEFDOTcpIGF1ZGlvIGF0IFBTQzEgKGUuZy4gREIxMjAwIGRlbW9ib2FyZHMpLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGVwYXJhbS5oPgorI2luY2x1ZGUgPGxpbnV4L3RpbWVyLmg+CisjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8c291bmQvY29yZS5oPgorI2luY2x1ZGUgPHNvdW5kL3BjbS5oPgorI2luY2x1ZGUgPHNvdW5kL3NvYy5oPgorI2luY2x1ZGUgPHNvdW5kL3NvYy1kYXBtLmg+CisjaW5jbHVkZSA8YXNtL21hY2gtYXUxeDAwL2F1MTAwMC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLWF1MXgwMC9hdTF4eHhfcHNjLmg+CisjaW5jbHVkZSA8YXNtL21hY2gtYXUxeDAwL2F1MXh4eF9kYmRtYS5oPgorCisjaW5jbHVkZSAiLi4vY29kZWNzL2FjOTcuaCIKKyNpbmNsdWRlICJwc2MuaCIKKworc3RhdGljIGludCBhdTF4cHNjX3NhbXBsZV9hYzk3X2luaXQoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjKQoreworCXNuZF9zb2NfZGFwbV9zeW5jKGNvZGVjKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHN0cnVjdCBzbmRfc29jX2RhaV9saW5rIGF1MXhwc2Nfc2FtcGxlX2FjOTdfZGFpID0geworCS5uYW1lCQk9ICJBQzk3IiwKKwkuc3RyZWFtX25hbWUJPSAiQUM5NyBIaUZpIiwKKwkuY3B1X2RhaQk9ICZhdTF4cHNjX2FjOTdfZGFpLAkvKiBzZWUgcHNjLWFjOTcuYyAqLworCS5jb2RlY19kYWkJPSAmYWM5N19kYWksCQkvKiBzZWUgY29kZWNzL2FjOTcuYyAqLworCS5pbml0CQk9IGF1MXhwc2Nfc2FtcGxlX2FjOTdfaW5pdCwKKwkub3BzCQk9IE5VTEwsCit9OworCitzdGF0aWMgc3RydWN0IHNuZF9zb2NfbWFjaGluZSBhdTF4cHNjX3NhbXBsZV9hYzk3X21hY2hpbmUgPSB7CisJLm5hbWUJCT0gIkF1MXh4eCBQU0MgQUM5NyBBdWRpbyIsCisJLmRhaV9saW5rCT0gJmF1MXhwc2Nfc2FtcGxlX2FjOTdfZGFpLAorCS5udW1fbGlua3MJPSAxLAorfTsKKworc3RhdGljIHN0cnVjdCBzbmRfc29jX2RldmljZSBhdTF4cHNjX3NhbXBsZV9hYzk3X2RldmRhdGEgPSB7CisJLm1hY2hpbmUJPSAmYXUxeHBzY19zYW1wbGVfYWM5N19tYWNoaW5lLAorCS5wbGF0Zm9ybQk9ICZhdTF4cHNjX3NvY19wbGF0Zm9ybSwgLyogc2VlIGRiZG1hMi5jICovCisJLmNvZGVjX2Rldgk9ICZzb2NfY29kZWNfZGV2X2FjOTcsCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIGF1MXhwc2NfcHNjMV9yZXNbXSA9IHsKKwlbMF0gPSB7CisJCS5zdGFydAk9IENQSFlTQUREUihQU0MxX0JBU0VfQUREUiksCisJCS5lbmQJPSBDUEhZU0FERFIoUFNDMV9CQVNFX0FERFIpICsgMHgwMDBmZmZmZiwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwKKwlbMV0gPSB7CisjaWZkZWYgQ09ORklHX1NPQ19BVTEyMDAKKwkJLnN0YXJ0CT0gQVUxMjAwX1BTQzFfSU5ULAorCQkuZW5kCT0gQVUxMjAwX1BTQzFfSU5ULAorI2VsaWYgZGVmaW5lZChDT05GSUdfU09DX0FVMTU1MCkKKwkJLnN0YXJ0CT0gQVUxNTUwX1BTQzFfSU5ULAorCQkuZW5kCT0gQVUxNTUwX1BTQzFfSU5ULAorI2VuZGlmCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfSVJRLAorCX0sCisJWzJdID0geworCQkuc3RhcnQJPSBEU0NSX0NNRDBfUFNDMV9UWCwKKwkJLmVuZAk9IERTQ1JfQ01EMF9QU0MxX1RYLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX0RNQSwKKwl9LAorCVszXSA9IHsKKwkJLnN0YXJ0CT0gRFNDUl9DTUQwX1BTQzFfUlgsCisJCS5lbmQJPSBEU0NSX0NNRDBfUFNDMV9SWCwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9ETUEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICphdTF4cHNjX3NhbXBsZV9hYzk3X2RldjsKKworc3RhdGljIGludCBfX2luaXQgYXUxeHBzY19zYW1wbGVfYWM5N19sb2FkKHZvaWQpCit7CisJaW50IHJldDsKKworI2lmZGVmIENPTkZJR19TT0NfQVUxMjAwCisJdW5zaWduZWQgbG9uZyBpbzsKKworCS8qIG1vZGlmeSBzeXNfcGluZnVuYyBmb3IgQUM5NyBvbiBQU0MxICovCisJaW8gPSBhdV9yZWFkbChTWVNfUElORlVOQyk7CisJaW8gfD0gU1lTX1BJTkZVTkNfUDFDOworCWlvICY9IH4oU1lTX1BJTkZVTkNfUDFBIHwgU1lTX1BJTkZVTkNfUDFCKTsKKwlhdV93cml0ZWwoaW8sIFNZU19QSU5GVU5DKTsKKwlhdV9zeW5jKCk7CisjZW5kaWYKKworCXJldCA9IC1FTk9NRU07CisKKwkvKiBzZXR1cCBQU0MgY2xvY2sgc291cmNlIGZvciBBQzk3IHBhcnQ6IGV4dGVybmFsIGNsb2NrIHByb3ZpZGVkCisJICogYnkgY29kZWMuICBUaGUgcHNjLWFjOTcuYyBkcml2ZXIgZGVwZW5kcyBvbiB0aGlzIHNldHRpbmchCisJICovCisJYXVfd3JpdGVsKFBTQ19TRUxfQ0xLX1NFUkNMSywgUFNDMV9CQVNFX0FERFIgKyBQU0NfU0VMX09GRlNFVCk7CisJYXVfc3luYygpOworCisJYXUxeHBzY19zYW1wbGVfYWM5N19kZXYgPSBwbGF0Zm9ybV9kZXZpY2VfYWxsb2MoInNvYy1hdWRpbyIsIC0xKTsKKwlpZiAoIWF1MXhwc2Nfc2FtcGxlX2FjOTdfZGV2KQorCQlnb3RvIG91dDsKKworCWF1MXhwc2Nfc2FtcGxlX2FjOTdfZGV2LT5yZXNvdXJjZSA9CisJCWttZW1kdXAoYXUxeHBzY19wc2MxX3Jlcywgc2l6ZW9mKHN0cnVjdCByZXNvdXJjZSkgKgorCQkJQVJSQVlfU0laRShhdTF4cHNjX3BzYzFfcmVzKSwgR0ZQX0tFUk5FTCk7CisJYXUxeHBzY19zYW1wbGVfYWM5N19kZXYtPm51bV9yZXNvdXJjZXMgPSBBUlJBWV9TSVpFKGF1MXhwc2NfcHNjMV9yZXMpOworCWF1MXhwc2Nfc2FtcGxlX2FjOTdfZGV2LT5pZCA9IDE7CisKKwlwbGF0Zm9ybV9zZXRfZHJ2ZGF0YShhdTF4cHNjX3NhbXBsZV9hYzk3X2RldiwKKwkJCSAgICAgJmF1MXhwc2Nfc2FtcGxlX2FjOTdfZGV2ZGF0YSk7CisJYXUxeHBzY19zYW1wbGVfYWM5N19kZXZkYXRhLmRldiA9ICZhdTF4cHNjX3NhbXBsZV9hYzk3X2Rldi0+ZGV2OworCXJldCA9IHBsYXRmb3JtX2RldmljZV9hZGQoYXUxeHBzY19zYW1wbGVfYWM5N19kZXYpOworCisJaWYgKHJldCkgeworCQlwbGF0Zm9ybV9kZXZpY2VfcHV0KGF1MXhwc2Nfc2FtcGxlX2FjOTdfZGV2KTsKKwkJYXUxeHBzY19zYW1wbGVfYWM5N19kZXYgPSBOVUxMOworCX0KKworb3V0OgorCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyB2b2lkIF9fZXhpdCBhdTF4cHNjX3NhbXBsZV9hYzk3X2V4aXQodm9pZCkKK3sKKwlwbGF0Zm9ybV9kZXZpY2VfdW5yZWdpc3RlcihhdTF4cHNjX3NhbXBsZV9hYzk3X2Rldik7Cit9CisKK21vZHVsZV9pbml0KGF1MXhwc2Nfc2FtcGxlX2FjOTdfbG9hZCk7Cittb2R1bGVfZXhpdChhdTF4cHNjX3NhbXBsZV9hYzk3X2V4aXQpOworCitNT0RVTEVfTElDRU5TRSgiR1BMIik7CitNT0RVTEVfREVTQ1JJUFRJT04oIkF1MXh4eCBQU0Mgc2FtcGxlIEFDOTcgbWFjaGluZSIpOworTU9EVUxFX0FVVEhPUigiTWFudWVsIExhdXNzIDxtYW5vQHJvYXJpbmVsay5ob21lbGludXgubmV0PiIpOwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2NvZGVjcy9LY29uZmlnIGIvc291bmQvc29jL2NvZGVjcy9LY29uZmlnCmluZGV4IDM5MDNhYjcuLjFkYjA0YTIgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9jb2RlY3MvS2NvbmZpZworKysgYi9zb3VuZC9zb2MvY29kZWNzL0tjb25maWcKQEAgLTEsMzEgKzEsMzcgQEAKIGNvbmZpZyBTTkRfU09DX0FDOTdfQ09ERUMKIAl0cmlzdGF0ZQotCWRlcGVuZHMgb24gU05EX1NPQworCXNlbGVjdCBTTkRfQUM5N19DT0RFQworCitjb25maWcgU05EX1NPQ19BSzQ1MzUKKwl0cmlzdGF0ZQorCitjb25maWcgU05EX1NPQ19VREExMzgwCisgICAgICAgIHRyaXN0YXRlCisKK2NvbmZpZyBTTkRfU09DX1dNODUxMAorCXRyaXN0YXRlCiAKIGNvbmZpZyBTTkRfU09DX1dNODczMQogCXRyaXN0YXRlCi0JZGVwZW5kcyBvbiBTTkRfU09DCiAKIGNvbmZpZyBTTkRfU09DX1dNODc1MAogCXRyaXN0YXRlCi0JZGVwZW5kcyBvbiBTTkRfU09DCiAKIGNvbmZpZyBTTkRfU09DX1dNODc1MwogCXRyaXN0YXRlCi0JZGVwZW5kcyBvbiBTTkRfU09DCisKK2NvbmZpZyBTTkRfU09DX1dNODk5MAorCXRyaXN0YXRlCiAKIGNvbmZpZyBTTkRfU09DX1dNOTcxMgogCXRyaXN0YXRlCi0JZGVwZW5kcyBvbiBTTkRfU09DCiAKIGNvbmZpZyBTTkRfU09DX1dNOTcxMwogCXRyaXN0YXRlCi0JZGVwZW5kcyBvbiBTTkRfU09DCiAKICMgQ2lycnVzIExvZ2ljIENTNDI3MCBDb2RlYwogY29uZmlnIFNORF9TT0NfQ1M0MjcwCiAJdHJpc3RhdGUKLQlkZXBlbmRzIG9uIFNORF9TT0MKIAogIyBDaXJydXMgTG9naWMgQ1M0MjcwIENvZGVjIEhhcmR3YXJlIE11dGUgU3VwcG9ydAogIyBTZWxlY3QgaWYgeW91IGhhdmUgZXh0ZXJuYWwgbXV0aW5nIGNpcmN1aXRyeSBhdHRhY2hlZCB0byB5b3VyIENTNDI3MC4KQEAgLTQzLDQgKzQ5LDQgQEAKIAogY29uZmlnIFNORF9TT0NfVExWMzIwQUlDM1gKIAl0cmlzdGF0ZQotCWRlcGVuZHMgb24gU05EX1NPQyAmJiBJMkMKKwlkZXBlbmRzIG9uIEkyQwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2NvZGVjcy9NYWtlZmlsZSBiL3NvdW5kL3NvYy9jb2RlY3MvTWFrZWZpbGUKaW5kZXggNGUxMzE0Yy4uZDdiOTdhYiAxMDA2NDQKLS0tIGEvc291bmQvc29jL2NvZGVjcy9NYWtlZmlsZQorKysgYi9zb3VuZC9zb2MvY29kZWNzL01ha2VmaWxlCkBAIC0xLDE2ICsxLDI0IEBACiBzbmQtc29jLWFjOTctb2JqcyA6PSBhYzk3Lm8KK3NuZC1zb2MtYWs0NTM1LW9ianMgOj0gYWs0NTM1Lm8KK3NuZC1zb2MtdWRhMTM4MC1vYmpzIDo9IHVkYTEzODAubworc25kLXNvYy13bTg1MTAtb2JqcyA6PSB3bTg1MTAubwogc25kLXNvYy13bTg3MzEtb2JqcyA6PSB3bTg3MzEubwogc25kLXNvYy13bTg3NTAtb2JqcyA6PSB3bTg3NTAubwogc25kLXNvYy13bTg3NTMtb2JqcyA6PSB3bTg3NTMubworc25kLXNvYy13bTg5OTAtb2JqcyA6PSB3bTg5OTAubwogc25kLXNvYy13bTk3MTItb2JqcyA6PSB3bTk3MTIubwogc25kLXNvYy13bTk3MTMtb2JqcyA6PSB3bTk3MTMubwogc25kLXNvYy1jczQyNzAtb2JqcyA6PSBjczQyNzAubwogc25kLXNvYy10bHYzMjBhaWMzeC1vYmpzIDo9IHRsdjMyMGFpYzN4Lm8KIAogb2JqLSQoQ09ORklHX1NORF9TT0NfQUM5N19DT0RFQykJKz0gc25kLXNvYy1hYzk3Lm8KK29iai0kKENPTkZJR19TTkRfU09DX0FLNDUzNSkJKz0gc25kLXNvYy1hazQ1MzUubworb2JqLSQoQ09ORklHX1NORF9TT0NfVURBMTM4MCkJKz0gc25kLXNvYy11ZGExMzgwLm8KK29iai0kKENPTkZJR19TTkRfU09DX1dNODUxMCkJKz0gc25kLXNvYy13bTg1MTAubwogb2JqLSQoQ09ORklHX1NORF9TT0NfV004NzMxKQkrPSBzbmQtc29jLXdtODczMS5vCiBvYmotJChDT05GSUdfU05EX1NPQ19XTTg3NTApCSs9IHNuZC1zb2Mtd204NzUwLm8KIG9iai0kKENPTkZJR19TTkRfU09DX1dNODc1MykJKz0gc25kLXNvYy13bTg3NTMubworb2JqLSQoQ09ORklHX1NORF9TT0NfV004OTkwKQkrPSBzbmQtc29jLXdtODk5MC5vCiBvYmotJChDT05GSUdfU05EX1NPQ19XTTk3MTIpCSs9IHNuZC1zb2Mtd205NzEyLm8KIG9iai0kKENPTkZJR19TTkRfU09DX1dNOTcxMykJKz0gc25kLXNvYy13bTk3MTMubwogb2JqLSQoQ09ORklHX1NORF9TT0NfQ1M0MjcwKQkrPSBzbmQtc29jLWNzNDI3MC5vCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvY29kZWNzL2FjOTcuYyBiL3NvdW5kL3NvYy9jb2RlY3MvYWM5Ny5jCmluZGV4IDJhMWZmZTM5Li42MWZkOTZjIDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvY29kZWNzL2FjOTcuYworKysgYi9zb3VuZC9zb2MvY29kZWNzL2FjOTcuYwpAQCAtMTAsOSArMTAsNiBAQAogICogIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgIGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlICBMaWNlbnNlLCBvciAoYXQgeW91cgogICogIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAgKgotICogIFJldmlzaW9uIGhpc3RvcnkKLSAqICAgIDE3dGggT2N0IDIwMDUgICBJbml0aWFsIHZlcnNpb24uCi0gKgogICogR2VuZXJpYyBBQzk3IHN1cHBvcnQuCiAgKi8KIApAQCAtMjQsNiArMjEsNyBAQAogI2luY2x1ZGUgPHNvdW5kL2FjOTdfY29kZWMuaD4KICNpbmNsdWRlIDxzb3VuZC9pbml0dmFsLmg+CiAjaW5jbHVkZSA8c291bmQvc29jLmg+CisjaW5jbHVkZSAiYWM5Ny5oIgogCiAjZGVmaW5lIEFDOTdfVkVSU0lPTiAiMC42IgogCkBAIC00Myw3ICs0MSw3IEBACiAJCVNORFJWX1BDTV9SQVRFXzIyMDUwIHwgU05EUlZfUENNX1JBVEVfNDQxMDAgfFwKIAkJU05EUlZfUENNX1JBVEVfNDgwMDApCiAKLXN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSBhYzk3X2RhaSA9IHsKK3N0cnVjdCBzbmRfc29jX2RhaSBhYzk3X2RhaSA9IHsKIAkubmFtZSA9ICJBQzk3IEhpRmkiLAogCS50eXBlID0gU05EX1NPQ19EQUlfQUM5NywKIAkucGxheWJhY2sgPSB7CkBAIC0xNDYsOSArMTQ0LDM0IEBACiAJcmV0dXJuIDA7CiB9CiAKKyNpZmRlZiBDT05GSUdfUE0KK3N0YXRpYyBpbnQgYWM5N19zb2Nfc3VzcGVuZChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LCBwbV9tZXNzYWdlX3QgbXNnKQoreworCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CisKKwlzbmRfYWM5N19zdXNwZW5kKHNvY2Rldi0+Y29kZWMtPmFjOTcpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgYWM5N19zb2NfcmVzdW1lKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKKworCXNuZF9hYzk3X3Jlc3VtZShzb2NkZXYtPmNvZGVjLT5hYzk3KTsKKworCXJldHVybiAwOworfQorI2Vsc2UKKyNkZWZpbmUgYWM5N19zb2Nfc3VzcGVuZCBOVUxMCisjZGVmaW5lIGFjOTdfc29jX3Jlc3VtZSBOVUxMCisjZW5kaWYKKwogc3RydWN0IHNuZF9zb2NfY29kZWNfZGV2aWNlIHNvY19jb2RlY19kZXZfYWM5NyA9IHsKIAkucHJvYmUgPSAJYWM5N19zb2NfcHJvYmUsCiAJLnJlbW92ZSA9IAlhYzk3X3NvY19yZW1vdmUsCisJLnN1c3BlbmQgPQlhYzk3X3NvY19zdXNwZW5kLAorCS5yZXN1bWUgPQlhYzk3X3NvY19yZXN1bWUsCiB9OwogRVhQT1JUX1NZTUJPTF9HUEwoc29jX2NvZGVjX2Rldl9hYzk3KTsKIApkaWZmIC0tZ2l0IGEvc291bmQvc29jL2NvZGVjcy9hYzk3LmggYi9zb3VuZC9zb2MvY29kZWNzL2FjOTcuaAppbmRleCAyYmY2ZDY5Li4yODFhYTQyIDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvY29kZWNzL2FjOTcuaAorKysgYi9zb3VuZC9zb2MvY29kZWNzL2FjOTcuaApAQCAtMTQsNiArMTQsNiBAQAogI2RlZmluZSBfX0xJTlVYX1NORF9TT0NfQUM5N19ICiAKIGV4dGVybiBzdHJ1Y3Qgc25kX3NvY19jb2RlY19kZXZpY2Ugc29jX2NvZGVjX2Rldl9hYzk3OwotZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSBhYzk3X2RhaTsKK2V4dGVybiBzdHJ1Y3Qgc25kX3NvY19kYWkgYWM5N19kYWk7CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2NvZGVjcy9hazQ1MzUuYyBiL3NvdW5kL3NvYy9jb2RlY3MvYWs0NTM1LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjI2MDAzYzQKLS0tIC9kZXYvbnVsbAorKysgYi9zb3VuZC9zb2MvY29kZWNzL2FrNDUzNS5jCkBAIC0wLDAgKzEsNjk2IEBACisvKgorICogYWs0NTM1LmMgIC0tICBBSzQ1MzUgQUxTQSBTb2MgQXVkaW8gZHJpdmVyCisgKgorICogQ29weXJpZ2h0IDIwMDUgT3BlbmVkaGFuZCBMdGQuCisgKgorICogQXV0aG9yOiBSaWNoYXJkIFB1cmRpZSA8cmljaGFyZEBvcGVuZWRoYW5kLmNvbT4KKyAqCisgKiBCYXNlZCBvbiB3bTg3NTMuYyBieSBMaWFtIEdpcmR3b29kCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqLworCisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlcGFyYW0uaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KKyNpbmNsdWRlIDxsaW51eC9wbS5oPgorI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPHNvdW5kL2NvcmUuaD4KKyNpbmNsdWRlIDxzb3VuZC9wY20uaD4KKyNpbmNsdWRlIDxzb3VuZC9wY21fcGFyYW1zLmg+CisjaW5jbHVkZSA8c291bmQvc29jLmg+CisjaW5jbHVkZSA8c291bmQvc29jLWRhcG0uaD4KKyNpbmNsdWRlIDxzb3VuZC9pbml0dmFsLmg+CisKKyNpbmNsdWRlICJhazQ1MzUuaCIKKworI2RlZmluZSBBVURJT19OQU1FICJhazQ1MzUiCisjZGVmaW5lIEFLNDUzNV9WRVJTSU9OICIwLjMiCisKK3N0cnVjdCBzbmRfc29jX2NvZGVjX2RldmljZSBzb2NfY29kZWNfZGV2X2FrNDUzNTsKKworLyogY29kZWMgcHJpdmF0ZSBkYXRhICovCitzdHJ1Y3QgYWs0NTM1X3ByaXYgeworCXVuc2lnbmVkIGludCBzeXNjbGs7Cit9OworCisvKgorICogYWs0NTM1IHJlZ2lzdGVyIGNhY2hlCisgKi8KK3N0YXRpYyBjb25zdCB1MTYgYWs0NTM1X3JlZ1tBSzQ1MzVfQ0FDSEVSRUdOVU1dID0geworICAgIDB4MDAwMCwgMHgwMDgwLCAweDAwMDAsIDB4MDAwMywKKyAgICAweDAwMDIsIDB4MDAwMCwgMHgwMDExLCAweDAwMDEsCisgICAgMHgwMDAwLCAweDAwNDAsIDB4MDAzNiwgMHgwMDEwLAorICAgIDB4MDAwMCwgMHgwMDAwLCAweDAwNTcsIDB4MDAwMCwKK307CisKKy8qCisgKiByZWFkIGFrNDUzNSByZWdpc3RlciBjYWNoZQorICovCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCBhazQ1MzVfcmVhZF9yZWdfY2FjaGUoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLAorCXVuc2lnbmVkIGludCByZWcpCit7CisJdTE2ICpjYWNoZSA9IGNvZGVjLT5yZWdfY2FjaGU7CisJaWYgKHJlZyA+PSBBSzQ1MzVfQ0FDSEVSRUdOVU0pCisJCXJldHVybiAtMTsKKwlyZXR1cm4gY2FjaGVbcmVnXTsKK30KKworc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgYWs0NTM1X3JlYWQoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLAorCXVuc2lnbmVkIGludCByZWcpCit7CisJdTggZGF0YTsKKwlkYXRhID0gcmVnOworCisJaWYgKGNvZGVjLT5od193cml0ZShjb2RlYy0+Y29udHJvbF9kYXRhLCAmZGF0YSwgMSkgIT0gMSkKKwkJcmV0dXJuIC1FSU87CisKKwlpZiAoY29kZWMtPmh3X3JlYWQoY29kZWMtPmNvbnRyb2xfZGF0YSwgJmRhdGEsIDEpICE9IDEpCisJCXJldHVybiAtRUlPOworCisJcmV0dXJuIGRhdGE7Cit9OworCisvKgorICogd3JpdGUgYWs0NTM1IHJlZ2lzdGVyIGNhY2hlCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBhazQ1MzVfd3JpdGVfcmVnX2NhY2hlKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywKKwl1MTYgcmVnLCB1bnNpZ25lZCBpbnQgdmFsdWUpCit7CisJdTE2ICpjYWNoZSA9IGNvZGVjLT5yZWdfY2FjaGU7CisJaWYgKHJlZyA+PSBBSzQ1MzVfQ0FDSEVSRUdOVU0pCisJCXJldHVybjsKKwljYWNoZVtyZWddID0gdmFsdWU7Cit9CisKKy8qCisgKiB3cml0ZSB0byB0aGUgQUs0NTM1IHJlZ2lzdGVyIHNwYWNlCisgKi8KK3N0YXRpYyBpbnQgYWs0NTM1X3dyaXRlKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywgdW5zaWduZWQgaW50IHJlZywKKwl1bnNpZ25lZCBpbnQgdmFsdWUpCit7CisJdTggZGF0YVsyXTsKKworCS8qIGRhdGEgaXMKKwkgKiAgIEQxNS4uRDggQUs0NTM1IHJlZ2lzdGVyIG9mZnNldAorCSAqICAgRDcuLi5EMCByZWdpc3RlciBkYXRhCisJICovCisJZGF0YVswXSA9IHJlZyAmIDB4ZmY7CisJZGF0YVsxXSA9IHZhbHVlICYgMHhmZjsKKworCWFrNDUzNV93cml0ZV9yZWdfY2FjaGUoY29kZWMsIHJlZywgdmFsdWUpOworCWlmIChjb2RlYy0+aHdfd3JpdGUoY29kZWMtPmNvbnRyb2xfZGF0YSwgZGF0YSwgMikgPT0gMikKKwkJcmV0dXJuIDA7CisJZWxzZQorCQlyZXR1cm4gLUVJTzsKK30KKworc3RhdGljIGludCBhazQ1MzVfc3luYyhzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMpCit7CisJdTE2ICpjYWNoZSA9IGNvZGVjLT5yZWdfY2FjaGU7CisJaW50IGksIHIgPSAwOworCisJZm9yIChpID0gMDsgaSA8IEFLNDUzNV9DQUNIRVJFR05VTTsgaSsrKQorCQlyIHw9IGFrNDUzNV93cml0ZShjb2RlYywgaSwgY2FjaGVbaV0pOworCisJcmV0dXJuIHI7Cit9OworCitzdGF0aWMgY29uc3QgY2hhciAqYWs0NTM1X21vbm9fZ2FpbltdID0geyIrNmRCIiwgIi0xN2RCIn07CitzdGF0aWMgY29uc3QgY2hhciAqYWs0NTM1X21vbm9fb3V0W10gPSB7IihMICsgUikvMiIsICJIaS1aIn07CitzdGF0aWMgY29uc3QgY2hhciAqYWs0NTM1X2hwX291dFtdID0geyJTdGVyZW8iLCAiTW9ubyJ9Oworc3RhdGljIGNvbnN0IGNoYXIgKmFrNDUzNV9kZWVtcFtdID0geyI0NC4xa0h6IiwgIk9mZiIsICI0OGtIeiIsICIzMmtIeiJ9Oworc3RhdGljIGNvbnN0IGNoYXIgKmFrNDUzNV9taWNfc2VsZWN0W10gPSB7IkludGVybmFsIiwgIkV4dGVybmFsIn07CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc29jX2VudW0gYWs0NTM1X2VudW1bXSA9IHsKKwlTT0NfRU5VTV9TSU5HTEUoQUs0NTM1X1NJRzEsIDcsIDIsIGFrNDUzNV9tb25vX2dhaW4pLAorCVNPQ19FTlVNX1NJTkdMRShBSzQ1MzVfU0lHMSwgNiwgMiwgYWs0NTM1X21vbm9fb3V0KSwKKwlTT0NfRU5VTV9TSU5HTEUoQUs0NTM1X01PREUyLCAyLCAyLCBhazQ1MzVfaHBfb3V0KSwKKwlTT0NfRU5VTV9TSU5HTEUoQUs0NTM1X0RBQywgMCwgNCwgYWs0NTM1X2RlZW1wKSwKKwlTT0NfRU5VTV9TSU5HTEUoQUs0NTM1X01JQywgMSwgMiwgYWs0NTM1X21pY19zZWxlY3QpLAorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IGFrNDUzNV9zbmRfY29udHJvbHNbXSA9IHsKKwlTT0NfU0lOR0xFKCJBTEMyIFN3aXRjaCIsIEFLNDUzNV9TSUcxLCAxLCAxLCAwKSwKKwlTT0NfRU5VTSgiTW9ubyAxIE91dHB1dCIsIGFrNDUzNV9lbnVtWzFdKSwKKwlTT0NfRU5VTSgiTW9ubyAxIEdhaW4iLCBhazQ1MzVfZW51bVswXSksCisJU09DX0VOVU0oIkhlYWRwaG9uZSBPdXRwdXQiLCBhazQ1MzVfZW51bVsyXSksCisJU09DX0VOVU0oIlBsYXliYWNrIERlZW1waGFzaXMiLCBhazQ1MzVfZW51bVszXSksCisJU09DX1NJTkdMRSgiQmFzcyBWb2x1bWUiLCBBSzQ1MzVfREFDLCAyLCAzLCAwKSwKKwlTT0NfU0lOR0xFKCJNaWMgQm9vc3QgKCsyMGRCKSBTd2l0Y2giLCBBSzQ1MzVfTUlDLCAwLCAxLCAwKSwKKwlTT0NfRU5VTSgiTWljIFNlbGVjdCIsIGFrNDUzNV9lbnVtWzRdKSwKKwlTT0NfU0lOR0xFKCJBTEMgT3BlcmF0aW9uIFRpbWUiLCBBSzQ1MzVfVElNRVIsIDAsIDMsIDApLAorCVNPQ19TSU5HTEUoIkFMQyBSZWNvdmVyeSBUaW1lIiwgQUs0NTM1X1RJTUVSLCAyLCAzLCAwKSwKKwlTT0NfU0lOR0xFKCJBTEMgWkMgVGltZSIsIEFLNDUzNV9USU1FUiwgNCwgMywgMCksCisJU09DX1NJTkdMRSgiQUxDIDEgU3dpdGNoIiwgQUs0NTM1X0FMQzEsIDUsIDEsIDApLAorCVNPQ19TSU5HTEUoIkFMQyAyIFN3aXRjaCIsIEFLNDUzNV9BTEMxLCA2LCAxLCAwKSwKKwlTT0NfU0lOR0xFKCJBTEMgVm9sdW1lIiwgQUs0NTM1X0FMQzIsIDAsIDEyNywgMCksCisJU09DX1NJTkdMRSgiQ2FwdHVyZSBWb2x1bWUiLCBBSzQ1MzVfUEdBLCAwLCAxMjcsIDApLAorCVNPQ19TSU5HTEUoIkxlZnQgUGxheWJhY2sgVm9sdW1lIiwgQUs0NTM1X0xBVFQsIDAsIDEyNywgMSksCisJU09DX1NJTkdMRSgiUmlnaHQgUGxheWJhY2sgVm9sdW1lIiwgQUs0NTM1X1JBVFQsIDAsIDEyNywgMSksCisJU09DX1NJTkdMRSgiQVVYIEJ5cGFzcyBWb2x1bWUiLCBBSzQ1MzVfVk9MLCAwLCAxNSwgMCksCisJU09DX1NJTkdMRSgiTWljIFNpZGV0b25lIFZvbHVtZSIsIEFLNDUzNV9WT0wsIDQsIDcsIDApLAorfTsKKworLyogYWRkIG5vbiBkYXBtIGNvbnRyb2xzICovCitzdGF0aWMgaW50IGFrNDUzNV9hZGRfY29udHJvbHMoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjKQoreworCWludCBlcnIsIGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShhazQ1MzVfc25kX2NvbnRyb2xzKTsgaSsrKSB7CisJCWVyciA9IHNuZF9jdGxfYWRkKGNvZGVjLT5jYXJkLAorCQkJc25kX3NvY19jbmV3KCZhazQ1MzVfc25kX2NvbnRyb2xzW2ldLCBjb2RlYywgTlVMTCkpOworCQlpZiAoZXJyIDwgMCkKKwkJCXJldHVybiBlcnI7CisJfQorCisJcmV0dXJuIDA7Cit9CisKKy8qIE1vbm8gMSBNaXhlciAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IGFrNDUzNV9tb25vMV9taXhlcl9jb250cm9sc1tdID0geworCVNPQ19EQVBNX1NJTkdMRSgiTWljIFNpZGV0b25lIFN3aXRjaCIsIEFLNDUzNV9TSUcxLCA0LCAxLCAwKSwKKwlTT0NfREFQTV9TSU5HTEUoIk1vbm8gUGxheWJhY2sgU3dpdGNoIiwgQUs0NTM1X1NJRzEsIDUsIDEsIDApLAorfTsKKworLyogU3RlcmVvIE1peGVyICovCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgYWs0NTM1X3N0ZXJlb19taXhlcl9jb250cm9sc1tdID0geworCVNPQ19EQVBNX1NJTkdMRSgiTWljIFNpZGV0b25lIFN3aXRjaCIsIEFLNDUzNV9TSUcyLCA0LCAxLCAwKSwKKwlTT0NfREFQTV9TSU5HTEUoIlBsYXliYWNrIFN3aXRjaCIsIEFLNDUzNV9TSUcyLCA3LCAxLCAwKSwKKwlTT0NfREFQTV9TSU5HTEUoIkF1eCBCeXBhc3MgU3dpdGNoIiwgQUs0NTM1X1NJRzIsIDUsIDEsIDApLAorfTsKKworLyogSW5wdXQgTWl4ZXIgKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBhazQ1MzVfaW5wdXRfbWl4ZXJfY29udHJvbHNbXSA9IHsKKwlTT0NfREFQTV9TSU5HTEUoIk1pYyBDYXB0dXJlIFN3aXRjaCIsIEFLNDUzNV9NSUMsIDIsIDEsIDApLAorCVNPQ19EQVBNX1NJTkdMRSgiQXV4IENhcHR1cmUgU3dpdGNoIiwgQUs0NTM1X01JQywgNSwgMSwgMCksCit9OworCisvKiBJbnB1dCBtdXggKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBhazQ1MzVfaW5wdXRfbXV4X2NvbnRyb2wgPQorCVNPQ19EQVBNX0VOVU0oIklucHV0IFNlbGVjdCIsIGFrNDUzNV9lbnVtWzRdKTsKKworLyogSFAgTCBzd2l0Y2ggKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBhazQ1MzVfaHBsX2NvbnRyb2wgPQorCVNPQ19EQVBNX1NJTkdMRSgiU3dpdGNoIiwgQUs0NTM1X1NJRzIsIDEsIDEsIDEpOworCisvKiBIUCBSIHN3aXRjaCAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IGFrNDUzNV9ocHJfY29udHJvbCA9CisJU09DX0RBUE1fU0lOR0xFKCJTd2l0Y2giLCBBSzQ1MzVfU0lHMiwgMCwgMSwgMSk7CisKKy8qIG1vbm8gMiBzd2l0Y2ggKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBhazQ1MzVfbW9ubzJfY29udHJvbCA9CisJU09DX0RBUE1fU0lOR0xFKCJTd2l0Y2giLCBBSzQ1MzVfU0lHMSwgMCwgMSwgMCk7CisKKy8qIExpbmUgb3V0IHN3aXRjaCAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IGFrNDUzNV9saW5lX2NvbnRyb2wgPQorCVNPQ19EQVBNX1NJTkdMRSgiU3dpdGNoIiwgQUs0NTM1X1NJRzIsIDYsIDEsIDApOworCisvKiBhazQ1MzUgZGFwbSB3aWRnZXRzICovCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9zb2NfZGFwbV93aWRnZXQgYWs0NTM1X2RhcG1fd2lkZ2V0c1tdID0geworCVNORF9TT0NfREFQTV9NSVhFUigiU3RlcmVvIE1peGVyIiwgU05EX1NPQ19OT1BNLCAwLCAwLAorCQkmYWs0NTM1X3N0ZXJlb19taXhlcl9jb250cm9sc1swXSwKKwkJQVJSQVlfU0laRShhazQ1MzVfc3RlcmVvX21peGVyX2NvbnRyb2xzKSksCisJU05EX1NPQ19EQVBNX01JWEVSKCJNb25vMSBNaXhlciIsIFNORF9TT0NfTk9QTSwgMCwgMCwKKwkJJmFrNDUzNV9tb25vMV9taXhlcl9jb250cm9sc1swXSwKKwkJQVJSQVlfU0laRShhazQ1MzVfbW9ubzFfbWl4ZXJfY29udHJvbHMpKSwKKwlTTkRfU09DX0RBUE1fTUlYRVIoIklucHV0IE1peGVyIiwgU05EX1NPQ19OT1BNLCAwLCAwLAorCQkmYWs0NTM1X2lucHV0X21peGVyX2NvbnRyb2xzWzBdLAorCQlBUlJBWV9TSVpFKGFrNDUzNV9pbnB1dF9taXhlcl9jb250cm9scykpLAorCVNORF9TT0NfREFQTV9NVVgoIklucHV0IE11eCIsIFNORF9TT0NfTk9QTSwgMCwgMCwKKwkJJmFrNDUzNV9pbnB1dF9tdXhfY29udHJvbCksCisJU05EX1NPQ19EQVBNX0RBQygiREFDIiwgIlBsYXliYWNrIiwgQUs0NTM1X1BNMiwgMCwgMCksCisJU05EX1NPQ19EQVBNX1NXSVRDSCgiTW9ubyAyIEVuYWJsZSIsIFNORF9TT0NfTk9QTSwgMCwgMCwKKwkJJmFrNDUzNV9tb25vMl9jb250cm9sKSwKKwkvKiBzcGVha2VyIHBvd2Vyc2F2ZSBiaXQgKi8KKwlTTkRfU09DX0RBUE1fUEdBKCJTcGVha2VyIEVuYWJsZSIsIEFLNDUzNV9NT0RFMiwgMCwgMCwgTlVMTCwgMCksCisJU05EX1NPQ19EQVBNX1NXSVRDSCgiTGluZSBPdXQgRW5hYmxlIiwgU05EX1NPQ19OT1BNLCAwLCAwLAorCQkmYWs0NTM1X2xpbmVfY29udHJvbCksCisJU05EX1NPQ19EQVBNX1NXSVRDSCgiTGVmdCBIUCBFbmFibGUiLCBTTkRfU09DX05PUE0sIDAsIDAsCisJCSZhazQ1MzVfaHBsX2NvbnRyb2wpLAorCVNORF9TT0NfREFQTV9TV0lUQ0goIlJpZ2h0IEhQIEVuYWJsZSIsIFNORF9TT0NfTk9QTSwgMCwgMCwKKwkJJmFrNDUzNV9ocHJfY29udHJvbCksCisJU05EX1NPQ19EQVBNX09VVFBVVCgiTE9VVCIpLAorCVNORF9TT0NfREFQTV9PVVRQVVQoIkhQTCIpLAorCVNORF9TT0NfREFQTV9PVVRQVVQoIlJPVVQiKSwKKwlTTkRfU09DX0RBUE1fT1VUUFVUKCJIUFIiKSwKKwlTTkRfU09DX0RBUE1fT1VUUFVUKCJTUFAiKSwKKwlTTkRfU09DX0RBUE1fT1VUUFVUKCJTUE4iKSwKKwlTTkRfU09DX0RBUE1fT1VUUFVUKCJNT1VUMSIpLAorCVNORF9TT0NfREFQTV9PVVRQVVQoIk1PVVQyIiksCisJU05EX1NPQ19EQVBNX09VVFBVVCgiTUlDT1VUIiksCisJU05EX1NPQ19EQVBNX0FEQygiQURDIiwgIkNhcHR1cmUiLCBBSzQ1MzVfUE0xLCAwLCAwKSwKKwlTTkRfU09DX0RBUE1fUEdBKCJTcGsgQW1wIiwgQUs0NTM1X1BNMiwgMywgMCwgTlVMTCwgMCksCisJU05EX1NPQ19EQVBNX1BHQSgiSFAgUiBBbXAiLCBBSzQ1MzVfUE0yLCAxLCAwLCBOVUxMLCAwKSwKKwlTTkRfU09DX0RBUE1fUEdBKCJIUCBMIEFtcCIsIEFLNDUzNV9QTTIsIDIsIDAsIE5VTEwsIDApLAorCVNORF9TT0NfREFQTV9QR0EoIk1pYyIsIEFLNDUzNV9QTTEsIDEsIDAsIE5VTEwsIDApLAorCVNORF9TT0NfREFQTV9QR0EoIkxpbmUgT3V0IiwgQUs0NTM1X1BNMSwgNCwgMCwgTlVMTCwgMCksCisJU05EX1NPQ19EQVBNX1BHQSgiTW9ubyBPdXQiLCBBSzQ1MzVfUE0xLCAzLCAwLCBOVUxMLCAwKSwKKwlTTkRfU09DX0RBUE1fUEdBKCJBVVggSW4iLCBBSzQ1MzVfUE0xLCAyLCAwLCBOVUxMLCAwKSwKKworCVNORF9TT0NfREFQTV9NSUNCSUFTKCJNaWMgSW50IEJpYXMiLCBBSzQ1MzVfTUlDLCAzLCAwKSwKKwlTTkRfU09DX0RBUE1fTUlDQklBUygiTWljIEV4dCBCaWFzIiwgQUs0NTM1X01JQywgNCwgMCksCisJU05EX1NPQ19EQVBNX0lOUFVUKCJNSUNJTiIpLAorCVNORF9TT0NfREFQTV9JTlBVVCgiTUlDRVhUIiksCisJU05EX1NPQ19EQVBNX0lOUFVUKCJBVVgiKSwKKwlTTkRfU09DX0RBUE1fSU5QVVQoIk1JTiIpLAorCVNORF9TT0NfREFQTV9JTlBVVCgiQUlOIiksCit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9zb2NfZGFwbV9yb3V0ZSBhdWRpb19tYXBbXSA9IHsKKwkvKnN0ZXJlbyBtaXhlciAqLworCXsiU3RlcmVvIE1peGVyIiwgIlBsYXliYWNrIFN3aXRjaCIsICJEQUMifSwKKwl7IlN0ZXJlbyBNaXhlciIsICJNaWMgU2lkZXRvbmUgU3dpdGNoIiwgIk1pYyJ9LAorCXsiU3RlcmVvIE1peGVyIiwgIkF1eCBCeXBhc3MgU3dpdGNoIiwgIkFVWCBJbiJ9LAorCisJLyogbW9ubzEgbWl4ZXIgKi8KKwl7Ik1vbm8xIE1peGVyIiwgIk1pYyBTaWRldG9uZSBTd2l0Y2giLCAiTWljIn0sCisJeyJNb25vMSBNaXhlciIsICJNb25vIFBsYXliYWNrIFN3aXRjaCIsICJEQUMifSwKKworCS8qIE1pYyAqLworCXsiTWljIiwgTlVMTCwgIkFJTiJ9LAorCXsiSW5wdXQgTXV4IiwgIkludGVybmFsIiwgIk1pYyBJbnQgQmlhcyJ9LAorCXsiSW5wdXQgTXV4IiwgIkV4dGVybmFsIiwgIk1pYyBFeHQgQmlhcyJ9LAorCXsiTWljIEludCBCaWFzIiwgTlVMTCwgIk1JQ0lOIn0sCisJeyJNaWMgRXh0IEJpYXMiLCBOVUxMLCAiTUlDRVhUIn0sCisJeyJNSUNPVVQiLCBOVUxMLCAiSW5wdXQgTXV4In0sCisKKwkvKiBsaW5lIG91dCAqLworCXsiTE9VVCIsIE5VTEwsICJMaW5lIE91dCBFbmFibGUifSwKKwl7IlJPVVQiLCBOVUxMLCAiTGluZSBPdXQgRW5hYmxlIn0sCisJeyJMaW5lIE91dCBFbmFibGUiLCAiU3dpdGNoIiwgIkxpbmUgT3V0In0sCisJeyJMaW5lIE91dCIsIE5VTEwsICJTdGVyZW8gTWl4ZXIifSwKKworCS8qIG1vbm8xIG91dCAqLworCXsiTU9VVDEiLCBOVUxMLCAiTW9ubyBPdXQifSwKKwl7Ik1vbm8gT3V0IiwgTlVMTCwgIk1vbm8xIE1peGVyIn0sCisKKwkvKiBsZWZ0IEhQICovCisJeyJIUEwiLCBOVUxMLCAiTGVmdCBIUCBFbmFibGUifSwKKwl7IkxlZnQgSFAgRW5hYmxlIiwgIlN3aXRjaCIsICJIUCBMIEFtcCJ9LAorCXsiSFAgTCBBbXAiLCBOVUxMLCAiU3RlcmVvIE1peGVyIn0sCisKKwkvKiByaWdodCBIUCAqLworCXsiSFBSIiwgTlVMTCwgIlJpZ2h0IEhQIEVuYWJsZSJ9LAorCXsiUmlnaHQgSFAgRW5hYmxlIiwgIlN3aXRjaCIsICJIUCBSIEFtcCJ9LAorCXsiSFAgUiBBbXAiLCBOVUxMLCAiU3RlcmVvIE1peGVyIn0sCisKKwkvKiBzcGVha2VyICovCisJeyJTUFAiLCBOVUxMLCAiU3BlYWtlciBFbmFibGUifSwKKwl7IlNQTiIsIE5VTEwsICJTcGVha2VyIEVuYWJsZSJ9LAorCXsiU3BlYWtlciBFbmFibGUiLCAiU3dpdGNoIiwgIlNwayBBbXAifSwKKwl7IlNwayBBbXAiLCBOVUxMLCAiTUlOIn0sCisKKwkvKiBtb25vIDIgKi8KKwl7Ik1PVVQyIiwgTlVMTCwgIk1vbm8gMiBFbmFibGUifSwKKwl7Ik1vbm8gMiBFbmFibGUiLCAiU3dpdGNoIiwgIlN0ZXJlbyBNaXhlciJ9LAorCisJLyogQXV4IEluICovCisJeyJBdXggSW4iLCBOVUxMLCAiQVVYIn0sCisKKwkvKiBBREMgKi8KKwl7IkFEQyIsIE5VTEwsICJJbnB1dCBNaXhlciJ9LAorCXsiSW5wdXQgTWl4ZXIiLCAiTWljIENhcHR1cmUgU3dpdGNoIiwgIk1pYyJ9LAorCXsiSW5wdXQgTWl4ZXIiLCAiQXV4IENhcHR1cmUgU3dpdGNoIiwgIkF1eCBJbiJ9LAorfTsKKworc3RhdGljIGludCBhazQ1MzVfYWRkX3dpZGdldHMoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjKQoreworCXNuZF9zb2NfZGFwbV9uZXdfY29udHJvbHMoY29kZWMsIGFrNDUzNV9kYXBtX3dpZGdldHMsCisJCQkJICBBUlJBWV9TSVpFKGFrNDUzNV9kYXBtX3dpZGdldHMpKTsKKworCXNuZF9zb2NfZGFwbV9hZGRfcm91dGVzKGNvZGVjLCBhdWRpb19tYXAsIEFSUkFZX1NJWkUoYXVkaW9fbWFwKSk7CisKKwlzbmRfc29jX2RhcG1fbmV3X3dpZGdldHMoY29kZWMpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGFrNDUzNV9zZXRfZGFpX3N5c2NsayhzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSwKKwlpbnQgY2xrX2lkLCB1bnNpZ25lZCBpbnQgZnJlcSwgaW50IGRpcikKK3sKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBjb2RlY19kYWktPmNvZGVjOworCXN0cnVjdCBhazQ1MzVfcHJpdiAqYWs0NTM1ID0gY29kZWMtPnByaXZhdGVfZGF0YTsKKworCWFrNDUzNS0+c3lzY2xrID0gZnJlcTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBhazQ1MzVfaHdfcGFyYW1zKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtLAorCXN0cnVjdCBzbmRfcGNtX2h3X3BhcmFtcyAqcGFyYW1zKQoreworCXN0cnVjdCBzbmRfc29jX3BjbV9ydW50aW1lICpydGQgPSBzdWJzdHJlYW0tPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiA9IHJ0ZC0+c29jZGV2OworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNvY2Rldi0+Y29kZWM7CisJc3RydWN0IGFrNDUzNV9wcml2ICphazQ1MzUgPSBjb2RlYy0+cHJpdmF0ZV9kYXRhOworCXU4IG1vZGUyID0gYWs0NTM1X3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBBSzQ1MzVfTU9ERTIpICYgfigweDMgPDwgNSk7CisJaW50IHJhdGUgPSBwYXJhbXNfcmF0ZShwYXJhbXMpLCBmcyA9IDI1NjsKKworCWlmIChyYXRlKQorCQlmcyA9IGFrNDUzNS0+c3lzY2xrIC8gcmF0ZTsKKworCS8qIHNldCBmcyAqLworCXN3aXRjaCAoZnMpIHsKKwljYXNlIDEwMjQ6CisJCW1vZGUyIHw9ICgweDIgPDwgNSk7CisJCWJyZWFrOworCWNhc2UgNTEyOgorCQltb2RlMiB8PSAoMHgxIDw8IDUpOworCQlicmVhazsKKwljYXNlIDI1NjoKKwkJYnJlYWs7CisJfQorCisJLyogc2V0IHJhdGUgKi8KKwlhazQ1MzVfd3JpdGUoY29kZWMsIEFLNDUzNV9NT0RFMiwgbW9kZTIpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGFrNDUzNV9zZXRfZGFpX2ZtdChzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSwKKwkJdW5zaWduZWQgaW50IGZtdCkKK3sKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBjb2RlY19kYWktPmNvZGVjOworCXU4IG1vZGUxID0gMDsKKworCS8qIGludGVyZmFjZSBmb3JtYXQgKi8KKwlzd2l0Y2ggKGZtdCAmIFNORF9TT0NfREFJRk1UX0ZPUk1BVF9NQVNLKSB7CisJY2FzZSBTTkRfU09DX0RBSUZNVF9JMlM6CisJCW1vZGUxID0gMHgwMDAyOworCQlicmVhazsKKwljYXNlIFNORF9TT0NfREFJRk1UX0xFRlRfSjoKKwkJbW9kZTEgPSAweDAwMDE7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCS8qIHVzZSAzMiBmcyBmb3IgQkNMSyB0byBzYXZlIHBvd2VyICovCisJbW9kZTEgfD0gMHg0OworCisJYWs0NTM1X3dyaXRlKGNvZGVjLCBBSzQ1MzVfTU9ERTEsIG1vZGUxKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBhazQ1MzVfbXV0ZShzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSwgaW50IG11dGUpCit7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gZGFpLT5jb2RlYzsKKwl1MTYgbXV0ZV9yZWcgPSBhazQ1MzVfcmVhZF9yZWdfY2FjaGUoY29kZWMsIEFLNDUzNV9EQUMpICYgMHhmZmRmOworCWlmICghbXV0ZSkKKwkJYWs0NTM1X3dyaXRlKGNvZGVjLCBBSzQ1MzVfREFDLCBtdXRlX3JlZyk7CisJZWxzZQorCQlhazQ1MzVfd3JpdGUoY29kZWMsIEFLNDUzNV9EQUMsIG11dGVfcmVnIHwgMHgyMCk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgYWs0NTM1X3NldF9iaWFzX2xldmVsKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywKKwllbnVtIHNuZF9zb2NfYmlhc19sZXZlbCBsZXZlbCkKK3sKKwl1MTYgaTsKKworCXN3aXRjaCAobGV2ZWwpIHsKKwljYXNlIFNORF9TT0NfQklBU19PTjoKKwkJYWs0NTM1X211dGUoY29kZWMtPmRhaSwgMCk7CisJCWJyZWFrOworCWNhc2UgU05EX1NPQ19CSUFTX1BSRVBBUkU6CisJCWFrNDUzNV9tdXRlKGNvZGVjLT5kYWksIDEpOworCQlicmVhazsKKwljYXNlIFNORF9TT0NfQklBU19TVEFOREJZOgorCQlpID0gYWs0NTM1X3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBBSzQ1MzVfUE0xKTsKKwkJYWs0NTM1X3dyaXRlKGNvZGVjLCBBSzQ1MzVfUE0xLCBpIHwgMHg4MCk7CisJCWkgPSBhazQ1MzVfcmVhZF9yZWdfY2FjaGUoY29kZWMsIEFLNDUzNV9QTTIpOworCQlhazQ1MzVfd3JpdGUoY29kZWMsIEFLNDUzNV9QTTIsIGkgJiAofjB4ODApKTsKKwkJYnJlYWs7CisJY2FzZSBTTkRfU09DX0JJQVNfT0ZGOgorCQlpID0gYWs0NTM1X3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBBSzQ1MzVfUE0xKTsKKwkJYWs0NTM1X3dyaXRlKGNvZGVjLCBBSzQ1MzVfUE0xLCBpICYgKH4weDgwKSk7CisJCWJyZWFrOworCX0KKwljb2RlYy0+Ymlhc19sZXZlbCA9IGxldmVsOworCXJldHVybiAwOworfQorCisjZGVmaW5lIEFLNDUzNV9SQVRFUyAoU05EUlZfUENNX1JBVEVfODAwMCB8IFNORFJWX1BDTV9SQVRFXzExMDI1IHxcCisJCVNORFJWX1BDTV9SQVRFXzE2MDAwIHwgU05EUlZfUENNX1JBVEVfMjIwNTAgfFwKKwkJU05EUlZfUENNX1JBVEVfNDQxMDAgfCBTTkRSVl9QQ01fUkFURV80ODAwMCkKKworc3RydWN0IHNuZF9zb2NfZGFpIGFrNDUzNV9kYWkgPSB7CisJLm5hbWUgPSAiQUs0NTM1IiwKKwkucGxheWJhY2sgPSB7CisJCS5zdHJlYW1fbmFtZSA9ICJQbGF5YmFjayIsCisJCS5jaGFubmVsc19taW4gPSAxLAorCQkuY2hhbm5lbHNfbWF4ID0gMiwKKwkJLnJhdGVzID0gQUs0NTM1X1JBVEVTLAorCQkuZm9ybWF0cyA9IFNORFJWX1BDTV9GTVRCSVRfUzE2X0xFLH0sCisJLmNhcHR1cmUgPSB7CisJCS5zdHJlYW1fbmFtZSA9ICJDYXB0dXJlIiwKKwkJLmNoYW5uZWxzX21pbiA9IDEsCisJCS5jaGFubmVsc19tYXggPSAyLAorCQkucmF0ZXMgPSBBSzQ1MzVfUkFURVMsCisJCS5mb3JtYXRzID0gU05EUlZfUENNX0ZNVEJJVF9TMTZfTEUsfSwKKwkub3BzID0geworCQkuaHdfcGFyYW1zID0gYWs0NTM1X2h3X3BhcmFtcywKKwl9LAorCS5kYWlfb3BzID0geworCQkuc2V0X2ZtdCA9IGFrNDUzNV9zZXRfZGFpX2ZtdCwKKwkJLmRpZ2l0YWxfbXV0ZSA9IGFrNDUzNV9tdXRlLAorCQkuc2V0X3N5c2NsayA9IGFrNDUzNV9zZXRfZGFpX3N5c2NsaywKKwl9LAorfTsKK0VYUE9SVF9TWU1CT0xfR1BMKGFrNDUzNV9kYWkpOworCitzdGF0aWMgaW50IGFrNDUzNV9zdXNwZW5kKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsIHBtX21lc3NhZ2VfdCBzdGF0ZSkKK3sKKwlzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNvY2Rldi0+Y29kZWM7CisKKwlhazQ1MzVfc2V0X2JpYXNfbGV2ZWwoY29kZWMsIFNORF9TT0NfQklBU19PRkYpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGFrNDUzNV9yZXN1bWUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNvY2Rldi0+Y29kZWM7CisJYWs0NTM1X3N5bmMoY29kZWMpOworCWFrNDUzNV9zZXRfYmlhc19sZXZlbChjb2RlYywgU05EX1NPQ19CSUFTX1NUQU5EQlkpOworCWFrNDUzNV9zZXRfYmlhc19sZXZlbChjb2RlYywgY29kZWMtPnN1c3BlbmRfYmlhc19sZXZlbCk7CisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBpbml0aWFsaXNlIHRoZSBBSzQ1MzUgZHJpdmVyCisgKiByZWdpc3RlciB0aGUgbWl4ZXIgYW5kIGRzcCBpbnRlcmZhY2VzIHdpdGggdGhlIGtlcm5lbAorICovCitzdGF0aWMgaW50IGFrNDUzNV9pbml0KHN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2KQoreworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNvY2Rldi0+Y29kZWM7CisJaW50IHJldCA9IDA7CisKKwljb2RlYy0+bmFtZSA9ICJBSzQ1MzUiOworCWNvZGVjLT5vd25lciA9IFRISVNfTU9EVUxFOworCWNvZGVjLT5yZWFkID0gYWs0NTM1X3JlYWRfcmVnX2NhY2hlOworCWNvZGVjLT53cml0ZSA9IGFrNDUzNV93cml0ZTsKKwljb2RlYy0+c2V0X2JpYXNfbGV2ZWwgPSBhazQ1MzVfc2V0X2JpYXNfbGV2ZWw7CisJY29kZWMtPmRhaSA9ICZhazQ1MzVfZGFpOworCWNvZGVjLT5udW1fZGFpID0gMTsKKwljb2RlYy0+cmVnX2NhY2hlX3NpemUgPSBBUlJBWV9TSVpFKGFrNDUzNV9yZWcpOworCWNvZGVjLT5yZWdfY2FjaGUgPSBrbWVtZHVwKGFrNDUzNV9yZWcsIHNpemVvZihhazQ1MzVfcmVnKSwgR0ZQX0tFUk5FTCk7CisKKwlpZiAoY29kZWMtPnJlZ19jYWNoZSA9PSBOVUxMKQorCQlyZXR1cm4gLUVOT01FTTsKKworCS8qIHJlZ2lzdGVyIHBjbXMgKi8KKwlyZXQgPSBzbmRfc29jX25ld19wY21zKHNvY2RldiwgU05EUlZfREVGQVVMVF9JRFgxLCBTTkRSVl9ERUZBVUxUX1NUUjEpOworCWlmIChyZXQgPCAwKSB7CisJCXByaW50ayhLRVJOX0VSUiAiYWs0NTM1OiBmYWlsZWQgdG8gY3JlYXRlIHBjbXNcbiIpOworCQlnb3RvIHBjbV9lcnI7CisJfQorCisJLyogcG93ZXIgb24gZGV2aWNlICovCisJYWs0NTM1X3NldF9iaWFzX2xldmVsKGNvZGVjLCBTTkRfU09DX0JJQVNfU1RBTkRCWSk7CisKKwlhazQ1MzVfYWRkX2NvbnRyb2xzKGNvZGVjKTsKKwlhazQ1MzVfYWRkX3dpZGdldHMoY29kZWMpOworCXJldCA9IHNuZF9zb2NfcmVnaXN0ZXJfY2FyZChzb2NkZXYpOworCWlmIChyZXQgPCAwKSB7CisJCXByaW50ayhLRVJOX0VSUiAiYWs0NTM1OiBmYWlsZWQgdG8gcmVnaXN0ZXIgY2FyZFxuIik7CisJCWdvdG8gY2FyZF9lcnI7CisJfQorCisJcmV0dXJuIHJldDsKKworY2FyZF9lcnI6CisJc25kX3NvY19mcmVlX3BjbXMoc29jZGV2KTsKKwlzbmRfc29jX2RhcG1fZnJlZShzb2NkZXYpOworcGNtX2VycjoKKwlrZnJlZShjb2RlYy0+cmVnX2NhY2hlKTsKKworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKmFrNDUzNV9zb2NkZXY7CisKKyNpZiBkZWZpbmVkKENPTkZJR19JMkMpIHx8IGRlZmluZWQoQ09ORklHX0kyQ19NT0RVTEUpCisKKyNkZWZpbmUgSTJDX0RSSVZFUklEX0FLNDUzNSAweGZlZmUgLyogbGlhbSAtICBuZWVkIGEgcHJvcGVyIGlkICovCisKK3N0YXRpYyB1bnNpZ25lZCBzaG9ydCBub3JtYWxfaTJjW10gPSB7IDAsIEkyQ19DTElFTlRfRU5EIH07CisKKy8qIE1hZ2ljIGRlZmluaXRpb24gb2YgYWxsIG90aGVyIHZhcmlhYmxlcyBhbmQgdGhpbmdzICovCitJMkNfQ0xJRU5UX0lOU01PRDsKKworc3RhdGljIHN0cnVjdCBpMmNfZHJpdmVyIGFrNDUzNV9pMmNfZHJpdmVyOworc3RhdGljIHN0cnVjdCBpMmNfY2xpZW50IGNsaWVudF90ZW1wbGF0ZTsKKworLyogSWYgdGhlIGkyYyBsYXllciB3ZXJlbid0IHNvIGJyb2tlbiwgd2UgY291bGQgcGFzcyB0aGlzIGtpbmQgb2YgZGF0YQorICAgYXJvdW5kICovCitzdGF0aWMgaW50IGFrNDUzNV9jb2RlY19wcm9iZShzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXAsIGludCBhZGRyLCBpbnQga2luZCkKK3sKKwlzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiA9IGFrNDUzNV9zb2NkZXY7CisJc3RydWN0IGFrNDUzNV9zZXR1cF9kYXRhICpzZXR1cCA9IHNvY2Rldi0+Y29kZWNfZGF0YTsKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzb2NkZXYtPmNvZGVjOworCXN0cnVjdCBpMmNfY2xpZW50ICppMmM7CisJaW50IHJldDsKKworCWlmIChhZGRyICE9IHNldHVwLT5pMmNfYWRkcmVzcykKKwkJcmV0dXJuIC1FTk9ERVY7CisKKwljbGllbnRfdGVtcGxhdGUuYWRhcHRlciA9IGFkYXA7CisJY2xpZW50X3RlbXBsYXRlLmFkZHIgPSBhZGRyOworCisJaTJjID0ga21lbWR1cCgmY2xpZW50X3RlbXBsYXRlLCBzaXplb2YoY2xpZW50X3RlbXBsYXRlKSwgR0ZQX0tFUk5FTCk7CisJaWYgKGkyYyA9PSBOVUxMKSB7CisJCWtmcmVlKGNvZGVjKTsKKwkJcmV0dXJuIC1FTk9NRU07CisJfQorCWkyY19zZXRfY2xpZW50ZGF0YShpMmMsIGNvZGVjKTsKKwljb2RlYy0+Y29udHJvbF9kYXRhID0gaTJjOworCisJcmV0ID0gaTJjX2F0dGFjaF9jbGllbnQoaTJjKTsKKwlpZiAocmV0IDwgMCkgeworCQlwcmludGsoS0VSTl9FUlIgImZhaWxlZCB0byBhdHRhY2ggY29kZWMgYXQgYWRkciAleFxuIiwgYWRkcik7CisJCWdvdG8gZXJyOworCX0KKworCXJldCA9IGFrNDUzNV9pbml0KHNvY2Rldik7CisJaWYgKHJldCA8IDApIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJmYWlsZWQgdG8gaW5pdGlhbGlzZSBBSzQ1MzVcbiIpOworCQlnb3RvIGVycjsKKwl9CisJcmV0dXJuIHJldDsKKworZXJyOgorCWtmcmVlKGNvZGVjKTsKKwlrZnJlZShpMmMpOworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgYWs0NTM1X2kyY19kZXRhY2goc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKK3sKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKKwlpMmNfZGV0YWNoX2NsaWVudChjbGllbnQpOworCWtmcmVlKGNvZGVjLT5yZWdfY2FjaGUpOworCWtmcmVlKGNsaWVudCk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgYWs0NTM1X2kyY19hdHRhY2goc3RydWN0IGkyY19hZGFwdGVyICphZGFwKQoreworCXJldHVybiBpMmNfcHJvYmUoYWRhcCwgJmFkZHJfZGF0YSwgYWs0NTM1X2NvZGVjX3Byb2JlKTsKK30KKworLyogY29yZ2kgaTJjIGNvZGVjIGNvbnRyb2wgbGF5ZXIgKi8KK3N0YXRpYyBzdHJ1Y3QgaTJjX2RyaXZlciBhazQ1MzVfaTJjX2RyaXZlciA9IHsKKwkuZHJpdmVyID0geworCQkubmFtZSA9ICJBSzQ1MzUgSTJDIENvZGVjIiwKKwkJLm93bmVyID0gVEhJU19NT0RVTEUsCisJfSwKKwkuaWQgPSAgICAgICAgICAgICBJMkNfRFJJVkVSSURfQUs0NTM1LAorCS5hdHRhY2hfYWRhcHRlciA9IGFrNDUzNV9pMmNfYXR0YWNoLAorCS5kZXRhY2hfY2xpZW50ID0gIGFrNDUzNV9pMmNfZGV0YWNoLAorCS5jb21tYW5kID0gICAgICAgIE5VTEwsCit9OworCitzdGF0aWMgc3RydWN0IGkyY19jbGllbnQgY2xpZW50X3RlbXBsYXRlID0geworCS5uYW1lID0gICAiQUs0NTM1IiwKKwkuZHJpdmVyID0gJmFrNDUzNV9pMmNfZHJpdmVyLAorfTsKKyNlbmRpZgorCitzdGF0aWMgaW50IGFrNDUzNV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CisJc3RydWN0IGFrNDUzNV9zZXR1cF9kYXRhICpzZXR1cDsKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWM7CisJc3RydWN0IGFrNDUzNV9wcml2ICphazQ1MzU7CisJaW50IHJldCA9IDA7CisKKwlwcmludGsoS0VSTl9JTkZPICJBSzQ1MzUgQXVkaW8gQ29kZWMgJXMiLCBBSzQ1MzVfVkVSU0lPTik7CisKKwlzZXR1cCA9IHNvY2Rldi0+Y29kZWNfZGF0YTsKKwljb2RlYyA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBzbmRfc29jX2NvZGVjKSwgR0ZQX0tFUk5FTCk7CisJaWYgKGNvZGVjID09IE5VTEwpCisJCXJldHVybiAtRU5PTUVNOworCisJYWs0NTM1ID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IGFrNDUzNV9wcml2KSwgR0ZQX0tFUk5FTCk7CisJaWYgKGFrNDUzNSA9PSBOVUxMKSB7CisJCWtmcmVlKGNvZGVjKTsKKwkJcmV0dXJuIC1FTk9NRU07CisJfQorCisJY29kZWMtPnByaXZhdGVfZGF0YSA9IGFrNDUzNTsKKwlzb2NkZXYtPmNvZGVjID0gY29kZWM7CisJbXV0ZXhfaW5pdCgmY29kZWMtPm11dGV4KTsKKwlJTklUX0xJU1RfSEVBRCgmY29kZWMtPmRhcG1fd2lkZ2V0cyk7CisJSU5JVF9MSVNUX0hFQUQoJmNvZGVjLT5kYXBtX3BhdGhzKTsKKworCWFrNDUzNV9zb2NkZXYgPSBzb2NkZXY7CisjaWYgZGVmaW5lZChDT05GSUdfSTJDKSB8fCBkZWZpbmVkKENPTkZJR19JMkNfTU9EVUxFKQorCWlmIChzZXR1cC0+aTJjX2FkZHJlc3MpIHsKKwkJbm9ybWFsX2kyY1swXSA9IHNldHVwLT5pMmNfYWRkcmVzczsKKwkJY29kZWMtPmh3X3dyaXRlID0gKGh3X3dyaXRlX3QpaTJjX21hc3Rlcl9zZW5kOworCQljb2RlYy0+aHdfcmVhZCA9IChod19yZWFkX3QpaTJjX21hc3Rlcl9yZWN2OworCQlyZXQgPSBpMmNfYWRkX2RyaXZlcigmYWs0NTM1X2kyY19kcml2ZXIpOworCQlpZiAocmV0ICE9IDApCisJCQlwcmludGsoS0VSTl9FUlIgImNhbid0IGFkZCBpMmMgZHJpdmVyIik7CisJfQorI2Vsc2UKKwkvKiBBZGQgb3RoZXIgaW50ZXJmYWNlcyBoZXJlICovCisjZW5kaWYKKwlyZXR1cm4gcmV0OworfQorCisvKiBwb3dlciBkb3duIGNoaXAgKi8KK3N0YXRpYyBpbnQgYWs0NTM1X3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc29jZGV2LT5jb2RlYzsKKworCWlmIChjb2RlYy0+Y29udHJvbF9kYXRhKQorCQlhazQ1MzVfc2V0X2JpYXNfbGV2ZWwoY29kZWMsIFNORF9TT0NfQklBU19PRkYpOworCisJc25kX3NvY19mcmVlX3BjbXMoc29jZGV2KTsKKwlzbmRfc29jX2RhcG1fZnJlZShzb2NkZXYpOworI2lmIGRlZmluZWQoQ09ORklHX0kyQykgfHwgZGVmaW5lZChDT05GSUdfSTJDX01PRFVMRSkKKwlpMmNfZGVsX2RyaXZlcigmYWs0NTM1X2kyY19kcml2ZXIpOworI2VuZGlmCisJa2ZyZWUoY29kZWMtPnByaXZhdGVfZGF0YSk7CisJa2ZyZWUoY29kZWMpOworCisJcmV0dXJuIDA7Cit9CisKK3N0cnVjdCBzbmRfc29jX2NvZGVjX2RldmljZSBzb2NfY29kZWNfZGV2X2FrNDUzNSA9IHsKKwkucHJvYmUgPSAJYWs0NTM1X3Byb2JlLAorCS5yZW1vdmUgPSAJYWs0NTM1X3JlbW92ZSwKKwkuc3VzcGVuZCA9IAlhazQ1MzVfc3VzcGVuZCwKKwkucmVzdW1lID0JYWs0NTM1X3Jlc3VtZSwKK307CitFWFBPUlRfU1lNQk9MX0dQTChzb2NfY29kZWNfZGV2X2FrNDUzNSk7CisKK01PRFVMRV9ERVNDUklQVElPTigiU29jIEFLNDUzNSBkcml2ZXIiKTsKK01PRFVMRV9BVVRIT1IoIlJpY2hhcmQgUHVyZGllIik7CitNT0RVTEVfTElDRU5TRSgiR1BMIik7CmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvY29kZWNzL2FrNDUzNS5oIGIvc291bmQvc29jL2NvZGVjcy9hazQ1MzUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOWZlMzBlCi0tLSAvZGV2L251bGwKKysrIGIvc291bmQvc29jL2NvZGVjcy9hazQ1MzUuaApAQCAtMCwwICsxLDQ2IEBACisvKgorICogYWs0NTM1LmggIC0tICBBSzQ1MzUgU29jIEF1ZGlvIGRyaXZlcgorICoKKyAqIENvcHlyaWdodCAyMDA1IE9wZW5lZGhhbmQgTHRkLgorICoKKyAqIEF1dGhvcjogUmljaGFyZCBQdXJkaWUgPHJpY2hhcmRAb3BlbmVkaGFuZC5jb20+CisgKgorICogQmFzZWQgb24gd204NzUzLmgKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICovCisKKyNpZm5kZWYgX0FLNDUzNV9ICisjZGVmaW5lIF9BSzQ1MzVfSAorCisvKiBBSzQ1MzUgcmVnaXN0ZXIgc3BhY2UgKi8KKworI2RlZmluZSBBSzQ1MzVfUE0xCQkweDAKKyNkZWZpbmUgQUs0NTM1X1BNMgkJMHgxCisjZGVmaW5lIEFLNDUzNV9TSUcxCQkweDIKKyNkZWZpbmUgQUs0NTM1X1NJRzIJCTB4MworI2RlZmluZSBBSzQ1MzVfTU9ERTEJCTB4NAorI2RlZmluZSBBSzQ1MzVfTU9ERTIJCTB4NQorI2RlZmluZSBBSzQ1MzVfREFDCQkweDYKKyNkZWZpbmUgQUs0NTM1X01JQwkJMHg3CisjZGVmaW5lIEFLNDUzNV9USU1FUgkJMHg4CisjZGVmaW5lIEFLNDUzNV9BTEMxCQkweDkKKyNkZWZpbmUgQUs0NTM1X0FMQzIJCTB4YQorI2RlZmluZSBBSzQ1MzVfUEdBCQkweGIKKyNkZWZpbmUgQUs0NTM1X0xBVFQJCTB4YworI2RlZmluZSBBSzQ1MzVfUkFUVAkJMHhkCisjZGVmaW5lIEFLNDUzNV9WT0wJCTB4ZQorI2RlZmluZSBBSzQ1MzVfU1RBVFVTCQkweGYKKworI2RlZmluZSBBSzQ1MzVfQ0FDSEVSRUdOVU0gCTB4MTAKKworc3RydWN0IGFrNDUzNV9zZXR1cF9kYXRhIHsKKwl1bnNpZ25lZCBzaG9ydCBpMmNfYWRkcmVzczsKK307CisKK2V4dGVybiBzdHJ1Y3Qgc25kX3NvY19kYWkgYWs0NTM1X2RhaTsKK2V4dGVybiBzdHJ1Y3Qgc25kX3NvY19jb2RlY19kZXZpY2Ugc29jX2NvZGVjX2Rldl9hazQ1MzU7CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2NvZGVjcy9jczQyNzAuYyBiL3NvdW5kL3NvYy9jb2RlY3MvY3M0MjcwLmMKaW5kZXggZTczZmNmZC4uOWRlYjhjNyAxMDA2NDQKLS0tIGEvc291bmQvc29jL2NvZGVjcy9jczQyNzAuYworKysgYi9zb3VuZC9zb2MvY29kZWNzL2NzNDI3MC5jCkBAIC0yMDEsNyArMjAxLDcgQEAKICAqIGRyaXZlciB3aGF0IHRoZSBpbnB1dCBzZXR0aW5ncyBjYW4gYmUuICBUaGlzIHdvdWxkIG5lZWQgdG8gYmUgaW1wbGVtZW50ZWQKICAqIGZvciBzdGFuZC1hbG9uZSBtb2RlIHRvIHdvcmsuCiAgKi8KLXN0YXRpYyBpbnQgY3M0MjcwX3NldF9kYWlfc3lzY2xrKHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpLAorc3RhdGljIGludCBjczQyNzBfc2V0X2RhaV9zeXNjbGsoc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWksCiAJCQkJIGludCBjbGtfaWQsIHVuc2lnbmVkIGludCBmcmVxLCBpbnQgZGlyKQogewogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IGNvZGVjX2RhaS0+Y29kZWM7CkBAIC0yNTEsNyArMjUxLDcgQEAKICAqIGRhdGEgZm9yIHBsYXliYWNrIG9ubHksIGJ1dCBBU29DIGN1cnJlbnRseSBkb2VzIG5vdCBzdXBwb3J0IGRpZmZlcmVudAogICogZm9ybWF0cyBmb3IgcGxheWJhY2sgdnMuIHJlY29yZC4KICAqLwotc3RhdGljIGludCBjczQyNzBfc2V0X2RhaV9mbXQoc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWksCitzdGF0aWMgaW50IGNzNDI3MF9zZXRfZGFpX2ZtdChzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSwKIAkJCSAgICAgIHVuc2lnbmVkIGludCBmb3JtYXQpCiB7CiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gY29kZWNfZGFpLT5jb2RlYzsKQEAgLTQ3MSw3ICs0NzEsNyBAQAogICogYm9hcmQgZG9lcyBub3QgaGF2ZSB0aGUgTVVURUEgb3IgTVVURUIgcGlucyBjb25uZWN0ZWQgdG8gc3VjaCBjaXJjdWl0cnksCiAgKiB0aGVuIHRoaXMgZnVuY3Rpb24gd2lsbCBkbyBub3RoaW5nLgogICovCi1zdGF0aWMgaW50IGNzNDI3MF9tdXRlKHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqZGFpLCBpbnQgbXV0ZSkKK3N0YXRpYyBpbnQgY3M0MjcwX211dGUoc3RydWN0IHNuZF9zb2NfZGFpICpkYWksIGludCBtdXRlKQogewogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IGRhaS0+Y29kZWM7CiAJaW50IHJlZzY7CkBAIC02NjcsNyArNjY3LDcgQEAKIAogI2VuZGlmIC8qIFVTRV9JMkMqLwogCi1zdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgY3M0MjcwX2RhaSA9IHsKK3N0cnVjdCBzbmRfc29jX2RhaSBjczQyNzBfZGFpID0gewogCS5uYW1lID0gIkNTNDI3MCIsCiAJLnBsYXliYWNrID0gewogCQkuc3RyZWFtX25hbWUgPSAiUGxheWJhY2siLApkaWZmIC0tZ2l0IGEvc291bmQvc29jL2NvZGVjcy9jczQyNzAuaCBiL3NvdW5kL3NvYy9jb2RlY3MvY3M0MjcwLmgKaW5kZXggMGNlZDQ5Yi4uYWRjNmNkOSAxMDA2NDQKLS0tIGEvc291bmQvc29jL2NvZGVjcy9jczQyNzAuaAorKysgYi9zb3VuZC9zb2MvY29kZWNzL2NzNDI3MC5oCkBAIC0xNiw3ICsxNiw3IEBACiAgKiBUaGUgQVNvQyBjb2RlYyBEQUkgc3RydWN0dXJlIGZvciB0aGUgQ1M0MjcwLiAgQXNzaWduIHRoaXMgc3RydWN0dXJlIHRvCiAgKiB0aGUgLmNvZGVjX2RhaSBmaWVsZCBvZiB5b3VyIG1hY2hpbmUgZHJpdmVyJ3Mgc25kX3NvY19kYWlfbGluayBzdHJ1Y3R1cmUuCiAgKi8KLWV4dGVybiBzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgY3M0MjcwX2RhaTsKK2V4dGVybiBzdHJ1Y3Qgc25kX3NvY19kYWkgY3M0MjcwX2RhaTsKIAogLyoKICAqIFRoZSBBU29DIGNvZGVjIGRldmljZSBzdHJ1Y3R1cmUgZm9yIHRoZSBDUzQyNzAuICBBc3NpZ24gdGhpcyBzdHJ1Y3R1cmUKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2RlY3MvdGx2MzIwYWljM3guYyBiL3NvdW5kL3NvYy9jb2RlY3MvdGx2MzIwYWljM3guYwppbmRleCAwOWIxNjYxLi5iMWRjZTVmIDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvY29kZWNzL3RsdjMyMGFpYzN4LmMKKysrIGIvc291bmQvc29jL2NvZGVjcy90bHYzMjBhaWMzeC5jCkBAIC0yOSw3ICsyOSw3IEBACiAgKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgKgogICogIEhlbmNlIHRoZSBtYWNoaW5lIGxheWVyIHNob3VsZCBkaXNhYmxlIHVuc3VwcG9ydGVkIGlucHV0cy9vdXRwdXRzIGJ5Ci0gKiAgc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIk1PTk9fTE9VVCIsIDApLCBldGMuCisgKiAgc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiTU9OT19MT1VUIiksIGV0Yy4KICAqLwogCiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CkBAIC00OSw3ICs0OSw3IEBACiAjaW5jbHVkZSAidGx2MzIwYWljM3guaCIKIAogI2RlZmluZSBBVURJT19OQU1FICJhaWMzeCIKLSNkZWZpbmUgQUlDM1hfVkVSU0lPTiAiMC4xIgorI2RlZmluZSBBSUMzWF9WRVJTSU9OICIwLjIiCiAKIC8qIGNvZGVjIHByaXZhdGUgZGF0YSAqLwogc3RydWN0IGFpYzN4X3ByaXYgewpAQCAtMTM4LDYgKzEzOCwyMCBAQAogCQlyZXR1cm4gLUVJTzsKIH0KIAorLyoKKyAqIHJlYWQgZnJvbSB0aGUgYWljM3ggcmVnaXN0ZXIgc3BhY2UKKyAqLworc3RhdGljIGludCBhaWMzeF9yZWFkKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywgdW5zaWduZWQgaW50IHJlZywKKwkJICAgICAgdTggKnZhbHVlKQoreworCSp2YWx1ZSA9IHJlZyAmIDB4ZmY7CisJaWYgKGNvZGVjLT5od19yZWFkKGNvZGVjLT5jb250cm9sX2RhdGEsIHZhbHVlLCAxKSAhPSAxKQorCQlyZXR1cm4gLUVJTzsKKworCWFpYzN4X3dyaXRlX3JlZ19jYWNoZShjb2RlYywgcmVnLCAqdmFsdWUpOworCXJldHVybiAwOworfQorCiAjZGVmaW5lIFNPQ19EQVBNX1NJTkdMRV9BSUMzWCh4bmFtZSwgcmVnLCBzaGlmdCwgbWFzaywgaW52ZXJ0KSBcCiB7CS5pZmFjZSA9IFNORFJWX0NUTF9FTEVNX0lGQUNFX01JWEVSLCAubmFtZSA9IHhuYW1lLCBcCiAJLmluZm8gPSBzbmRfc29jX2luZm9fdm9sc3csIFwKQEAgLTE5Miw3ICsyMDYsNyBAQAogCQl9CiAKIAkJaWYgKGZvdW5kKQotCQkJc25kX3NvY19kYXBtX3N5bmNfZW5kcG9pbnRzKHdpZGdldC0+Y29kZWMpOworCQkJc25kX3NvY19kYXBtX3N5bmMod2lkZ2V0LT5jb2RlYyk7CiAJfQogCiAJcmV0ID0gc25kX3NvY191cGRhdGVfYml0cyh3aWRnZXQtPmNvZGVjLCByZWcsIHZhbF9tYXNrLCB2YWwpOwpAQCAtMjA5LDYgKzIyMyw4IEBACiAgICAgeyAiZGlmZmVyZW50aWFsIG9mIEhQUk9VVCIsICJjb25zdGFudCBWQ00iLCAic2luZ2xlLWVuZGVkIiwKICAgICAgICJkaWZmZXJlbnRpYWwgb2YgSFBMQ09NIiwgImV4dGVybmFsIGZlZWRiYWNrIiB9Owogc3RhdGljIGNvbnN0IGNoYXIgKmFpYzN4X2xpbmVpbl9tb2RlX211eFtdID0geyAic2luZ2xlLWVuZGVkIiwgImRpZmZlcmVudGlhbCIgfTsKK3N0YXRpYyBjb25zdCBjaGFyICphaWMzeF9hZGNfaHBmW10gPQorICAgIHsgIkRpc2FibGVkIiwgIjAuMDA0NXhGcyIsICIwLjAxMjV4RnMiLCAiMC4wMjV4RnMiIH07CiAKICNkZWZpbmUgTERBQ19FTlVNCTAKICNkZWZpbmUgUkRBQ19FTlVNCTEKQEAgLTIxOCw2ICsyMzQsNyBAQAogI2RlZmluZSBMSU5FMVJfRU5VTQk1CiAjZGVmaW5lIExJTkUyTF9FTlVNCTYKICNkZWZpbmUgTElORTJSX0VOVU0JNworI2RlZmluZSBBRENfSFBGX0VOVU0JOAogCiBzdGF0aWMgY29uc3Qgc3RydWN0IHNvY19lbnVtIGFpYzN4X2VudW1bXSA9IHsKIAlTT0NfRU5VTV9TSU5HTEUoREFDX0xJTkVfTVVYLCA2LCAzLCBhaWMzeF9sZWZ0X2RhY19tdXgpLApAQCAtMjI4LDYgKzI0NSw3IEBACiAJU09DX0VOVU1fU0lOR0xFKExJTkUxUl8yX1JBRENfQ1RSTCwgNywgMiwgYWljM3hfbGluZWluX21vZGVfbXV4KSwKIAlTT0NfRU5VTV9TSU5HTEUoTElORTJMXzJfTEFEQ19DVFJMLCA3LCAyLCBhaWMzeF9saW5laW5fbW9kZV9tdXgpLAogCVNPQ19FTlVNX1NJTkdMRShMSU5FMlJfMl9SQURDX0NUUkwsIDcsIDIsIGFpYzN4X2xpbmVpbl9tb2RlX211eCksCisJU09DX0VOVU1fRE9VQkxFKEFJQzNYX0NPREVDX0RGSUxUX0NUUkwsIDYsIDQsIDQsIGFpYzN4X2FkY19ocGYpLAogfTsKIAogc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IGFpYzN4X3NuZF9jb250cm9sc1tdID0gewpAQCAtMjc4LDYgKzI5Niw4IEBACiAJLyogSW5wdXQgKi8KIAlTT0NfRE9VQkxFX1IoIlBHQSBDYXB0dXJlIFZvbHVtZSIsIExBRENfVk9MLCBSQURDX1ZPTCwgMCwgMHg3ZiwgMCksCiAJU09DX0RPVUJMRV9SKCJQR0EgQ2FwdHVyZSBTd2l0Y2giLCBMQURDX1ZPTCwgUkFEQ19WT0wsIDcsIDB4MDEsIDEpLAorCisJU09DX0VOVU0oIkFEQyBIUEYgQ3V0LW9mZiIsIGFpYzN4X2VudW1bQURDX0hQRl9FTlVNXSksCiB9OwogCiAvKiBhZGQgbm9uIGRhcG0gY29udHJvbHMgKi8KQEAgLTQ0MSwxMSArNDYxLDM0IEBACiAJU05EX1NPQ19EQVBNX01VWCgiUmlnaHQgTGluZTJSIE11eCIsIFNORF9TT0NfTk9QTSwgMCwgMCwKIAkJCSAmYWljM3hfcmlnaHRfbGluZTJfbXV4X2NvbnRyb2xzKSwKIAorCS8qCisJICogTm90IGEgcmVhbCBtaWMgYmlhcyB3aWRnZXQgYnV0IHNpbWlsYXIgZnVuY3Rpb24uIFRoaXMgaXMgZm9yIGR5bmFtaWMKKwkgKiBjb250cm9sIG9mIEdQSU8xIGRpZ2l0YWwgbWljIG1vZHVsYXRvciBjbG9jayBvdXRwdXQgZnVuY3Rpb24gd2hlbgorCSAqIHVzaW5nIGRpZ2l0YWwgbWljLgorCSAqLworCVNORF9TT0NfREFQTV9SRUcoc25kX3NvY19kYXBtX21pY2JpYXMsICJHUElPMSBkbWljIG1vZGNsayIsCisJCQkgQUlDM1hfR1BJTzFfUkVHLCA0LCAweGYsCisJCQkgQUlDM1hfR1BJTzFfRlVOQ19ESUdJVEFMX01JQ19NT0RDTEssCisJCQkgQUlDM1hfR1BJTzFfRlVOQ19ESVNBQkxFRCksCisKKwkvKgorCSAqIEFsc28gc2ltaWxhciBmdW5jdGlvbiBsaWtlIG1pYyBiaWFzLiBTZWxlY3RzIGRpZ2l0YWwgbWljIHdpdGgKKwkgKiBjb25maWd1cmFibGUgb3ZlcnNhbXBsaW5nIHJhdGUgaW5zdGVhZCBvZiBBREMgY29udmVydGVyLgorCSAqLworCVNORF9TT0NfREFQTV9SRUcoc25kX3NvY19kYXBtX21pY2JpYXMsICJETWljIFJhdGUgMTI4IiwKKwkJCSBBSUMzWF9BU0RfSU5URl9DVFJMQSwgMCwgMywgMSwgMCksCisJU05EX1NPQ19EQVBNX1JFRyhzbmRfc29jX2RhcG1fbWljYmlhcywgIkRNaWMgUmF0ZSA2NCIsCisJCQkgQUlDM1hfQVNEX0lOVEZfQ1RSTEEsIDAsIDMsIDIsIDApLAorCVNORF9TT0NfREFQTV9SRUcoc25kX3NvY19kYXBtX21pY2JpYXMsICJETWljIFJhdGUgMzIiLAorCQkJIEFJQzNYX0FTRF9JTlRGX0NUUkxBLCAwLCAzLCAzLCAwKSwKKwogCS8qIE1pYyBCaWFzICovCi0JU05EX1NPQ19EQVBNX01JQ0JJQVMoIk1pYyBCaWFzIDJWIiwgTUlDQklBU19DVFJMLCA2LCAwKSwKLQlTTkRfU09DX0RBUE1fTUlDQklBUygiTWljIEJpYXMgMi41ViIsIE1JQ0JJQVNfQ1RSTCwgNywgMCksCi0JU05EX1NPQ19EQVBNX01JQ0JJQVMoIk1pYyBCaWFzIEFWREQiLCBNSUNCSUFTX0NUUkwsIDYsIDApLAotCVNORF9TT0NfREFQTV9NSUNCSUFTKCJNaWMgQmlhcyBBVkREIiwgTUlDQklBU19DVFJMLCA3LCAwKSwKKwlTTkRfU09DX0RBUE1fUkVHKHNuZF9zb2NfZGFwbV9taWNiaWFzLCAiTWljIEJpYXMgMlYiLAorCQkJIE1JQ0JJQVNfQ1RSTCwgNiwgMywgMSwgMCksCisJU05EX1NPQ19EQVBNX1JFRyhzbmRfc29jX2RhcG1fbWljYmlhcywgIk1pYyBCaWFzIDIuNVYiLAorCQkJIE1JQ0JJQVNfQ1RSTCwgNiwgMywgMiwgMCksCisJU05EX1NPQ19EQVBNX1JFRyhzbmRfc29jX2RhcG1fbWljYmlhcywgIk1pYyBCaWFzIEFWREQiLAorCQkJIE1JQ0JJQVNfQ1RSTCwgNiwgMywgMywgMCksCiAKIAkvKiBMZWZ0IFBHQSB0byBMZWZ0IE91dHB1dCBieXBhc3MgKi8KIAlTTkRfU09DX0RBUE1fTUlYRVIoIkxlZnQgUEdBIEJ5cGFzcyBNaXhlciIsIFNORF9TT0NfTk9QTSwgMCwgMCwKQEAgLTQ4Myw3ICs1MjYsNyBAQAogCVNORF9TT0NfREFQTV9JTlBVVCgiTElORTJSIiksCiB9OwogCi1zdGF0aWMgY29uc3QgY2hhciAqaW50ZXJjb25bXVszXSA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX3NvY19kYXBtX3JvdXRlIGludGVyY29uW10gPSB7CiAJLyogTGVmdCBPdXRwdXQgKi8KIAl7IkxlZnQgREFDIE11eCIsICJEQUNfTDEiLCAiTGVmdCBEQUMifSwKIAl7IkxlZnQgREFDIE11eCIsICJEQUNfTDIiLCAiTGVmdCBEQUMifSwKQEAgLTU1NCw2ICs1OTcsNyBAQAogCXsiTGVmdCBQR0EgTWl4ZXIiLCAiTWljM0wgU3dpdGNoIiwgIk1JQzNMIn0sCiAKIAl7IkxlZnQgQURDIiwgTlVMTCwgIkxlZnQgUEdBIE1peGVyIn0sCisJeyJMZWZ0IEFEQyIsIE5VTEwsICJHUElPMSBkbWljIG1vZGNsayJ9LAogCiAJLyogUmlnaHQgSW5wdXQgKi8KIAl7IlJpZ2h0IExpbmUxUiBNdXgiLCAic2luZ2xlLWVuZGVkIiwgIkxJTkUxUiJ9LApAQCAtNTY3LDYgKzYxMSw3IEBACiAJeyJSaWdodCBQR0EgTWl4ZXIiLCAiTWljM1IgU3dpdGNoIiwgIk1JQzNSIn0sCiAKIAl7IlJpZ2h0IEFEQyIsIE5VTEwsICJSaWdodCBQR0EgTWl4ZXIifSwKKwl7IlJpZ2h0IEFEQyIsIE5VTEwsICJHUElPMSBkbWljIG1vZGNsayJ9LAogCiAJLyogTGVmdCBQR0EgQnlwYXNzICovCiAJeyJMZWZ0IFBHQSBCeXBhc3MgTWl4ZXIiLCAiTGluZSBTd2l0Y2giLCAiTGVmdCBQR0EgTWl4ZXIifSwKQEAgLTYyOCwxMDEgKzY3MywyNyBAQAogCXsiTW9ubyBPdXQiLCBOVUxMLCAiUmlnaHQgTGluZTIgQnlwYXNzIE1peGVyIn0sCiAJeyJSaWdodCBIUCBPdXQiLCBOVUxMLCAiUmlnaHQgTGluZTIgQnlwYXNzIE1peGVyIn0sCiAKLQkvKiB0ZXJtaW5hdG9yICovCi0Je05VTEwsIE5VTEwsIE5VTEx9LAorCS8qCisJICogTG9naWNhbCBwYXRoIGJldHdlZW4gZGlnaXRhbCBtaWMgZW5hYmxlIGFuZCBHUElPMSBtb2R1bGF0b3IgY2xvY2sKKwkgKiBvdXRwdXQgZnVuY3Rpb24KKwkgKi8KKwl7IkdQSU8xIGRtaWMgbW9kY2xrIiwgTlVMTCwgIkRNaWMgUmF0ZSAxMjgifSwKKwl7IkdQSU8xIGRtaWMgbW9kY2xrIiwgTlVMTCwgIkRNaWMgUmF0ZSA2NCJ9LAorCXsiR1BJTzEgZG1pYyBtb2RjbGsiLCBOVUxMLCAiRE1pYyBSYXRlIDMyIn0sCiB9OwogCiBzdGF0aWMgaW50IGFpYzN4X2FkZF93aWRnZXRzKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYykKIHsKLQlpbnQgaTsKLQotCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGFpYzN4X2RhcG1fd2lkZ2V0cyk7IGkrKykKLQkJc25kX3NvY19kYXBtX25ld19jb250cm9sKGNvZGVjLCAmYWljM3hfZGFwbV93aWRnZXRzW2ldKTsKKwlzbmRfc29jX2RhcG1fbmV3X2NvbnRyb2xzKGNvZGVjLCBhaWMzeF9kYXBtX3dpZGdldHMsCisJCQkJICBBUlJBWV9TSVpFKGFpYzN4X2RhcG1fd2lkZ2V0cykpOwogCiAJLyogc2V0IHVwIGF1ZGlvIHBhdGggaW50ZXJjb25uZWN0cyAqLwotCWZvciAoaSA9IDA7IGludGVyY29uW2ldWzBdICE9IE5VTEw7IGkrKykKLQkJc25kX3NvY19kYXBtX2Nvbm5lY3RfaW5wdXQoY29kZWMsIGludGVyY29uW2ldWzBdLAotCQkJCQkgICBpbnRlcmNvbltpXVsxXSwgaW50ZXJjb25baV1bMl0pOworCXNuZF9zb2NfZGFwbV9hZGRfcm91dGVzKGNvZGVjLCBpbnRlcmNvbiwgQVJSQVlfU0laRShpbnRlcmNvbikpOwogCiAJc25kX3NvY19kYXBtX25ld193aWRnZXRzKGNvZGVjKTsKIAlyZXR1cm4gMDsKIH0KIAotc3RydWN0IGFpYzN4X3JhdGVfZGl2cyB7Ci0JdTMyIG1jbGs7Ci0JdTMyIHJhdGU7Ci0JdTMyIGZzcmVmX3JlZzsKLQl1OCBzcl9yZWc6NDsKLQl1OCBwbGxqX3JlZzsKLQl1MTYgcGxsZF9yZWc7Ci19OwotCi0vKiBBSUMzWCBjb2RlYyBtY2xrIGNsb2NrIGRpdmlkZXIgY29lZmZpY2llbnRzICovCi1zdGF0aWMgY29uc3Qgc3RydWN0IGFpYzN4X3JhdGVfZGl2cyBhaWMzeF9kaXZzW10gPSB7Ci0JLyogOGsgKi8KLQl7MTIwMDAwMDAsIDgwMDAsIDQ4MDAwLCAweGEsIDE2LCAzODQwfSwKLQl7MTkyMDAwMDAsIDgwMDAsIDQ4MDAwLCAweGEsIDEwLCAyNDAwfSwKLQl7MjI1NzkyMDAsIDgwMDAsIDQ4MDAwLCAweGEsIDgsIDcwNzV9LAotCXszMzg2ODgwMCwgODAwMCwgNDgwMDAsIDB4YSwgNSwgODA0OX0sCi0JLyogMTEuMDI1ayAqLwotCXsxMjAwMDAwMCwgMTEwMjUsIDQ0MTAwLCAweDYsIDE1LCA1Mjh9LAotCXsxOTIwMDAwMCwgMTEwMjUsIDQ0MTAwLCAweDYsIDksIDQwODB9LAotCXsyMjU3OTIwMCwgMTEwMjUsIDQ0MTAwLCAweDYsIDgsIDB9LAotCXszMzg2ODgwMCwgMTEwMjUsIDQ0MTAwLCAweDYsIDUsIDMzMzN9LAotCS8qIDE2ayAqLwotCXsxMjAwMDAwMCwgMTYwMDAsIDQ4MDAwLCAweDQsIDE2LCAzODQwfSwKLQl7MTkyMDAwMDAsIDE2MDAwLCA0ODAwMCwgMHg0LCAxMCwgMjQwMH0sCi0JezIyNTc5MjAwLCAxNjAwMCwgNDgwMDAsIDB4NCwgOCwgNzA3NX0sCi0JezMzODY4ODAwLCAxNjAwMCwgNDgwMDAsIDB4NCwgNSwgODA0OX0sCi0JLyogMjIuMDVrICovCi0JezEyMDAwMDAwLCAyMjA1MCwgNDQxMDAsIDB4MiwgMTUsIDUyOH0sCi0JezE5MjAwMDAwLCAyMjA1MCwgNDQxMDAsIDB4MiwgOSwgNDA4MH0sCi0JezIyNTc5MjAwLCAyMjA1MCwgNDQxMDAsIDB4MiwgOCwgMH0sCi0JezMzODY4ODAwLCAyMjA1MCwgNDQxMDAsIDB4MiwgNSwgMzMzM30sCi0JLyogMzJrICovCi0JezEyMDAwMDAwLCAzMjAwMCwgNDgwMDAsIDB4MSwgMTYsIDM4NDB9LAotCXsxOTIwMDAwMCwgMzIwMDAsIDQ4MDAwLCAweDEsIDEwLCAyNDAwfSwKLQl7MjI1NzkyMDAsIDMyMDAwLCA0ODAwMCwgMHgxLCA4LCA3MDc1fSwKLQl7MzM4Njg4MDAsIDMyMDAwLCA0ODAwMCwgMHgxLCA1LCA4MDQ5fSwKLQkvKiA0NC4xayAqLwotCXsxMjAwMDAwMCwgNDQxMDAsIDQ0MTAwLCAweDAsIDE1LCA1Mjh9LAotCXsxOTIwMDAwMCwgNDQxMDAsIDQ0MTAwLCAweDAsIDksIDQwODB9LAotCXsyMjU3OTIwMCwgNDQxMDAsIDQ0MTAwLCAweDAsIDgsIDB9LAotCXszMzg2ODgwMCwgNDQxMDAsIDQ0MTAwLCAweDAsIDUsIDMzMzN9LAotCS8qIDQ4ayAqLwotCXsxMjAwMDAwMCwgNDgwMDAsIDQ4MDAwLCAweDAsIDE2LCAzODQwfSwKLQl7MTkyMDAwMDAsIDQ4MDAwLCA0ODAwMCwgMHgwLCAxMCwgMjQwMH0sCi0JezIyNTc5MjAwLCA0ODAwMCwgNDgwMDAsIDB4MCwgOCwgNzA3NX0sCi0JezMzODY4ODAwLCA0ODAwMCwgNDgwMDAsIDB4MCwgNSwgODA0OX0sCi0JLyogNjRrICovCi0JezEyMDAwMDAwLCA2NDAwMCwgOTYwMDAsIDB4MSwgMTYsIDM4NDB9LAotCXsxOTIwMDAwMCwgNjQwMDAsIDk2MDAwLCAweDEsIDEwLCAyNDAwfSwKLQl7MjI1NzkyMDAsIDY0MDAwLCA5NjAwMCwgMHgxLCA4LCA3MDc1fSwKLQl7MzM4Njg4MDAsIDY0MDAwLCA5NjAwMCwgMHgxLCA1LCA4MDQ5fSwKLQkvKiA4OC4yayAqLwotCXsxMjAwMDAwMCwgODgyMDAsIDg4MjAwLCAweDAsIDE1LCA1Mjh9LAotCXsxOTIwMDAwMCwgODgyMDAsIDg4MjAwLCAweDAsIDksIDQwODB9LAotCXsyMjU3OTIwMCwgODgyMDAsIDg4MjAwLCAweDAsIDgsIDB9LAotCXszMzg2ODgwMCwgODgyMDAsIDg4MjAwLCAweDAsIDUsIDMzMzN9LAotCS8qIDk2ayAqLwotCXsxMjAwMDAwMCwgOTYwMDAsIDk2MDAwLCAweDAsIDE2LCAzODQwfSwKLQl7MTkyMDAwMDAsIDk2MDAwLCA5NjAwMCwgMHgwLCAxMCwgMjQwMH0sCi0JezIyNTc5MjAwLCA5NjAwMCwgOTYwMDAsIDB4MCwgOCwgNzA3NX0sCi0JezMzODY4ODAwLCA5NjAwMCwgOTYwMDAsIDB4MCwgNSwgODA0OX0sCi19OwotCi1zdGF0aWMgaW5saW5lIGludCBhaWMzeF9nZXRfZGl2cyhpbnQgbWNsaywgaW50IHJhdGUpCi17Ci0JaW50IGk7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShhaWMzeF9kaXZzKTsgaSsrKSB7Ci0JCWlmIChhaWMzeF9kaXZzW2ldLnJhdGUgPT0gcmF0ZSAmJiBhaWMzeF9kaXZzW2ldLm1jbGsgPT0gbWNsaykKLQkJCXJldHVybiBpOwotCX0KLQotCXJldHVybiAwOwotfQotCiBzdGF0aWMgaW50IGFpYzN4X2h3X3BhcmFtcyhzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSwKIAkJCSAgIHN0cnVjdCBzbmRfcGNtX2h3X3BhcmFtcyAqcGFyYW1zKQogewpAQCAtNzMwLDU3ICs3MDEsOSBAQAogCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gcnRkLT5zb2NkZXY7CiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc29jZGV2LT5jb2RlYzsKIAlzdHJ1Y3QgYWljM3hfcHJpdiAqYWljM3ggPSBjb2RlYy0+cHJpdmF0ZV9kYXRhOwotCWludCBpOwotCXU4IGRhdGEsIHBsbF9wLCBwbGxfciwgcGxsX2o7Ci0JdTE2IHBsbF9kOwotCi0JaSA9IGFpYzN4X2dldF9kaXZzKGFpYzN4LT5zeXNjbGssIHBhcmFtc19yYXRlKHBhcmFtcykpOwotCi0JLyogUm91dGUgTGVmdCBEQUMgdG8gbGVmdCBjaGFubmVsIGlucHV0IGFuZAotCSAqIHJpZ2h0IERBQyB0byByaWdodCBjaGFubmVsIGlucHV0ICovCi0JZGF0YSA9IChMREFDMkxDSCB8IFJEQUMyUkNIKTsKLQlzd2l0Y2ggKGFpYzN4X2RpdnNbaV0uZnNyZWZfcmVnKSB7Ci0JY2FzZSA0NDEwMDoKLQkJZGF0YSB8PSBGU1JFRl80NDEwMDsKLQkJYnJlYWs7Ci0JY2FzZSA0ODAwMDoKLQkJZGF0YSB8PSBGU1JFRl80ODAwMDsKLQkJYnJlYWs7Ci0JY2FzZSA4ODIwMDoKLQkJZGF0YSB8PSBGU1JFRl80NDEwMCB8IERVQUxfUkFURV9NT0RFOwotCQlicmVhazsKLQljYXNlIDk2MDAwOgotCQlkYXRhIHw9IEZTUkVGXzQ4MDAwIHwgRFVBTF9SQVRFX01PREU7Ci0JCWJyZWFrOwotCX0KLQlhaWMzeF93cml0ZShjb2RlYywgQUlDM1hfQ09ERUNfREFUQVBBVEhfUkVHLCBkYXRhKTsKLQotCS8qIGNvZGVjIHNhbXBsZSByYXRlIHNlbGVjdCAqLwotCWRhdGEgPSBhaWMzeF9kaXZzW2ldLnNyX3JlZzsKLQlkYXRhIHw9IChkYXRhIDw8IDQpOwotCWFpYzN4X3dyaXRlKGNvZGVjLCBBSUMzWF9TQU1QTEVfUkFURV9TRUxfUkVHLCBkYXRhKTsKLQotCS8qIFVzZSBQTEwgZm9yIGdlbmVyYXRpb24gRnNyZWYgYnkgZXF1YXRpb246Ci0JICogRnNyZWYgPSAoTUNMSyAqIEsgKiBSKS8oMjA0OCAqIFApOwotCSAqIEZpeCBQID0gMiBhbmQgUiA9IDEgYW5kIGNhbGN1bGF0ZSBLLCBpZgotCSAqIEsgPSBKLkQsIGkuZS4gSiAtIGFuIGludGVyZ2VyIHBvcnRpb24gb2YgSyBhbmQgRCBpcyB0aGUgZnJhY3Rpb25hbAotCSAqIG9uZSB3aXRoIDQgZGlnaXRzIG9mIHByZWNpc2lvbjsKLQkgKiBFeGFtcGxlOgotCSAqIEZvciBNQ0xLID0gMjIuNTc5MiBNSHogYW5kIEZzcmVmID0gNDhrSHo6Ci0JICogU2VsZWN0IFAgPSAyLCBSPSAxLCBLID0gOC43MDc0LCB3aGljaCByZXN1bHRzIGluIEogPSA4LCBEID0gNzA3NAotCSAqLwotCXBsbF9wID0gMjsKLQlwbGxfciA9IDE7Ci0JcGxsX2ogPSBhaWMzeF9kaXZzW2ldLnBsbGpfcmVnOwotCXBsbF9kID0gYWljM3hfZGl2c1tpXS5wbGxkX3JlZzsKLQotCWRhdGEgPSBhaWMzeF9yZWFkX3JlZ19jYWNoZShjb2RlYywgQUlDM1hfUExMX1BST0dBX1JFRyk7Ci0JYWljM3hfd3JpdGUoY29kZWMsIEFJQzNYX1BMTF9QUk9HQV9SRUcsIGRhdGEgfCAocGxsX3AgPDwgUExMUF9TSElGVCkpOwotCWFpYzN4X3dyaXRlKGNvZGVjLCBBSUMzWF9PVlJGX1NUQVRVU19BTkRfUExMUl9SRUcsIHBsbF9yIDw8IFBMTFJfU0hJRlQpOwotCWFpYzN4X3dyaXRlKGNvZGVjLCBBSUMzWF9QTExfUFJPR0JfUkVHLCBwbGxfaiA8PCBQTExKX1NISUZUKTsKLQlhaWMzeF93cml0ZShjb2RlYywgQUlDM1hfUExMX1BST0dDX1JFRywgKHBsbF9kID4+IDYpIDw8IFBMTERfTVNCX1NISUZUKTsKLQlhaWMzeF93cml0ZShjb2RlYywgQUlDM1hfUExMX1BST0dEX1JFRywKLQkJICAgIChwbGxfZCAmIDB4M0YpIDw8IFBMTERfTFNCX1NISUZUKTsKKwlpbnQgY29kZWNfY2xrID0gMCwgYnlwYXNzX3BsbCA9IDAsIGZzcmVmLCBsYXN0X2NsayA9IDA7CisJdTggZGF0YSwgciwgcCwgcGxsX3EsIHBsbF9wID0gMSwgcGxsX3IgPSAxLCBwbGxfaiA9IDE7CisJdTE2IHBsbF9kID0gMTsKIAogCS8qIHNlbGVjdCBkYXRhIHdvcmQgbGVuZ3RoICovCiAJZGF0YSA9CkBAIC04MDAsMTAgKzcyMyw5OCBAQAogCX0KIAlhaWMzeF93cml0ZShjb2RlYywgQUlDM1hfQVNEX0lOVEZfQ1RSTEIsIGRhdGEpOwogCisJLyogRnNyZWYgY2FuIGJlIDQ0MTAwIG9yIDQ4MDAwICovCisJZnNyZWYgPSAocGFyYW1zX3JhdGUocGFyYW1zKSAlIDExMDI1ID09IDApID8gNDQxMDAgOiA0ODAwMDsKKworCS8qIFRyeSB0byBmaW5kIGEgdmFsdWUgZm9yIFEgd2hpY2ggYWxsb3dzIHVzIHRvIGJ5cGFzcyB0aGUgUExMIGFuZAorCSAqIGdlbmVyYXRlIENPREVDX0NMSyBkaXJlY3RseS4gKi8KKwlmb3IgKHBsbF9xID0gMjsgcGxsX3EgPCAxODsgcGxsX3ErKykKKwkJaWYgKGFpYzN4LT5zeXNjbGsgLyAoMTI4ICogcGxsX3EpID09IGZzcmVmKSB7CisJCQlieXBhc3NfcGxsID0gMTsKKwkJCWJyZWFrOworCQl9CisKKwlpZiAoYnlwYXNzX3BsbCkgeworCQlwbGxfcSAmPSAweGY7CisJCWFpYzN4X3dyaXRlKGNvZGVjLCBBSUMzWF9QTExfUFJPR0FfUkVHLCBwbGxfcSA8PCBQTExRX1NISUZUKTsKKwkJYWljM3hfd3JpdGUoY29kZWMsIEFJQzNYX0dQSU9CX1JFRywgQ09ERUNfQ0xLSU5fQ0xLRElWKTsKKwl9IGVsc2UKKwkJYWljM3hfd3JpdGUoY29kZWMsIEFJQzNYX0dQSU9CX1JFRywgQ09ERUNfQ0xLSU5fUExMRElWKTsKKworCS8qIFJvdXRlIExlZnQgREFDIHRvIGxlZnQgY2hhbm5lbCBpbnB1dCBhbmQKKwkgKiByaWdodCBEQUMgdG8gcmlnaHQgY2hhbm5lbCBpbnB1dCAqLworCWRhdGEgPSAoTERBQzJMQ0ggfCBSREFDMlJDSCk7CisJZGF0YSB8PSAoZnNyZWYgPT0gNDQxMDApID8gRlNSRUZfNDQxMDAgOiBGU1JFRl80ODAwMDsKKwlpZiAocGFyYW1zX3JhdGUocGFyYW1zKSA+PSA2NDAwMCkKKwkJZGF0YSB8PSBEVUFMX1JBVEVfTU9ERTsKKwlhaWMzeF93cml0ZShjb2RlYywgQUlDM1hfQ09ERUNfREFUQVBBVEhfUkVHLCBkYXRhKTsKKworCS8qIGNvZGVjIHNhbXBsZSByYXRlIHNlbGVjdCAqLworCWRhdGEgPSAoZnNyZWYgKiAyMCkgLyBwYXJhbXNfcmF0ZShwYXJhbXMpOworCWlmIChwYXJhbXNfcmF0ZShwYXJhbXMpIDwgNjQwMDApCisJCWRhdGEgLz0gMjsKKwlkYXRhIC89IDU7CisJZGF0YSAtPSAyOworCWRhdGEgfD0gKGRhdGEgPDwgNCk7CisJYWljM3hfd3JpdGUoY29kZWMsIEFJQzNYX1NBTVBMRV9SQVRFX1NFTF9SRUcsIGRhdGEpOworCisJaWYgKGJ5cGFzc19wbGwpCisJCXJldHVybiAwOworCisJLyogVXNlIFBMTAorCSAqIGZpbmQgYW4gYXByb3ByaWF0ZSBzZXR1cCBmb3IgaiwgZCwgciBhbmQgcCBieSBpdGVyYXRpbmcgb3ZlcgorCSAqIHAgYW5kIHIgLSBqIGFuZCBkIGFyZSBjYWxjdWxhdGVkIGZvciBlYWNoIGZyYWN0aW9uLgorCSAqIFVwIHRvIDEyOCB2YWx1ZXMgYXJlIHByb2JlZCwgdGhlIGNsb3Nlc3Qgb25lIHdpbnMgdGhlIGdhbWUuCisJICogVGhlIHN5c2NsayBpcyBkaXZpZGVkIGJ5IDEwMDAgdG8gcHJldmVudCBpbnRlZ2VyIG92ZXJmbG93cy4KKwkgKi8KKwljb2RlY19jbGsgPSAoMjA0OCAqIGZzcmVmKSAvIChhaWMzeC0+c3lzY2xrIC8gMTAwMCk7CisKKwlmb3IgKHIgPSAxOyByIDw9IDE2OyByKyspCisJCWZvciAocCA9IDE7IHAgPD0gODsgcCsrKSB7CisJCQlpbnQgY2xrLCB0bXAgPSAoY29kZWNfY2xrICogcGxsX3IgKiAxMCkgLyBwbGxfcDsKKwkJCXU4IGogPSB0bXAgLyAxMDAwMDsKKwkJCXUxNiBkID0gdG1wICUgMTAwMDA7CisKKwkJCWlmIChqID4gNjMpCisJCQkJY29udGludWU7CisKKwkJCWlmIChkICE9IDAgJiYgYWljM3gtPnN5c2NsayA8IDEwMDAwMDAwKQorCQkJCWNvbnRpbnVlOworCisJCQkvKiBUaGlzIGlzIGFjdHVhbGx5IDEwMDAgKiAoKGogKyAoZC8xMDAwMCkpICogcikgLyBwCisJCQkgKiBUaGUgdGVybSBoYWQgdG8gYmUgY29udmVydGVkIHRvIGdldCByaWQgb2YgdGhlCisJCQkgKiBkaXZpc2lvbiBieSAxMDAwMCAqLworCQkJY2xrID0gKCgxMDAwMCAqIGogKiByKSArIChkICogcikpIC8gKDEwICogcCk7CisKKwkJCS8qIGNoZWNrIHdoZXRoZXIgdGhpcyB2YWx1ZXMgZ2V0IGNsb3NlciB0aGFuIHRoZSBiZXN0CisJCQkgKiBvbmVzIHdlIGhhZCBiZWZvcmUgKi8KKwkJCWlmIChhYnMoY29kZWNfY2xrIC0gY2xrKSA8IGFicyhjb2RlY19jbGsgLSBsYXN0X2NsaykpIHsKKwkJCQlwbGxfaiA9IGo7IHBsbF9kID0gZDsgcGxsX3IgPSByOyBwbGxfcCA9IHA7CisJCQkJbGFzdF9jbGsgPSBjbGs7CisJCQl9CisKKwkJCS8qIEVhcmx5IGV4aXQgZm9yIGV4YWN0IG1hdGNoZXMgKi8KKwkJCWlmIChjbGsgPT0gY29kZWNfY2xrKQorCQkJCWJyZWFrOworCQl9CisKKwlpZiAobGFzdF9jbGsgPT0gMCkgeworCQlwcmludGsoS0VSTl9FUlIgIiVzKCk6IHVuYWJsZSB0byBzZXR1cCBQTExcbiIsIF9fZnVuY19fKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJZGF0YSA9IGFpYzN4X3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBBSUMzWF9QTExfUFJPR0FfUkVHKTsKKwlhaWMzeF93cml0ZShjb2RlYywgQUlDM1hfUExMX1BST0dBX1JFRywgZGF0YSB8IChwbGxfcCA8PCBQTExQX1NISUZUKSk7CisJYWljM3hfd3JpdGUoY29kZWMsIEFJQzNYX09WUkZfU1RBVFVTX0FORF9QTExSX1JFRywgcGxsX3IgPDwgUExMUl9TSElGVCk7CisJYWljM3hfd3JpdGUoY29kZWMsIEFJQzNYX1BMTF9QUk9HQl9SRUcsIHBsbF9qIDw8IFBMTEpfU0hJRlQpOworCWFpYzN4X3dyaXRlKGNvZGVjLCBBSUMzWF9QTExfUFJPR0NfUkVHLCAocGxsX2QgPj4gNikgPDwgUExMRF9NU0JfU0hJRlQpOworCWFpYzN4X3dyaXRlKGNvZGVjLCBBSUMzWF9QTExfUFJPR0RfUkVHLAorCQkgICAgKHBsbF9kICYgMHgzRikgPDwgUExMRF9MU0JfU0hJRlQpOworCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgYWljM3hfbXV0ZShzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmRhaSwgaW50IG11dGUpCitzdGF0aWMgaW50IGFpYzN4X211dGUoc3RydWN0IHNuZF9zb2NfZGFpICpkYWksIGludCBtdXRlKQogewogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IGRhaS0+Y29kZWM7CiAJdTggbGRhY19yZWcgPSBhaWMzeF9yZWFkX3JlZ19jYWNoZShjb2RlYywgTERBQ19WT0wpICYgfk1VVEVfT047CkBAIC04MjAsMzEgKzgzMSwyNSBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGFpYzN4X3NldF9kYWlfc3lzY2xrKHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpLAorc3RhdGljIGludCBhaWMzeF9zZXRfZGFpX3N5c2NsayhzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSwKIAkJCQlpbnQgY2xrX2lkLCB1bnNpZ25lZCBpbnQgZnJlcSwgaW50IGRpcikKIHsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBjb2RlY19kYWktPmNvZGVjOwogCXN0cnVjdCBhaWMzeF9wcml2ICphaWMzeCA9IGNvZGVjLT5wcml2YXRlX2RhdGE7CiAKLQlzd2l0Y2ggKGZyZXEpIHsKLQljYXNlIDEyMDAwMDAwOgotCWNhc2UgMTkyMDAwMDA6Ci0JY2FzZSAyMjU3OTIwMDoKLQljYXNlIDMzODY4ODAwOgotCQlhaWMzeC0+c3lzY2xrID0gZnJlcTsKLQkJcmV0dXJuIDA7Ci0JfQotCi0JcmV0dXJuIC1FSU5WQUw7CisJYWljM3gtPnN5c2NsayA9IGZyZXE7CisJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgYWljM3hfc2V0X2RhaV9mbXQoc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWksCitzdGF0aWMgaW50IGFpYzN4X3NldF9kYWlfZm10KHN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpLAogCQkJICAgICB1bnNpZ25lZCBpbnQgZm10KQogewogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IGNvZGVjX2RhaS0+Y29kZWM7CiAJc3RydWN0IGFpYzN4X3ByaXYgKmFpYzN4ID0gY29kZWMtPnByaXZhdGVfZGF0YTsKLQl1OCBpZmFjZV9hcmVnID0gMDsKLQl1OCBpZmFjZV9icmVnID0gMDsKKwl1OCBpZmFjZV9hcmVnLCBpZmFjZV9icmVnOworCisJaWZhY2VfYXJlZyA9IGFpYzN4X3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBBSUMzWF9BU0RfSU5URl9DVFJMQSkgJiAweDNmOworCWlmYWNlX2JyZWcgPSBhaWMzeF9yZWFkX3JlZ19jYWNoZShjb2RlYywgQUlDM1hfQVNEX0lOVEZfQ1RSTEIpICYgMHgzZjsKIAogCS8qIHNldCBtYXN0ZXIvc2xhdmUgYXVkaW8gaW50ZXJmYWNlICovCiAJc3dpdGNoIChmbXQgJiBTTkRfU09DX0RBSUZNVF9NQVNURVJfTUFTSykgewpAQCAtODgzLDEzICs4ODgsMTQgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBhaWMzeF9kYXBtX2V2ZW50KHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywgaW50IGV2ZW50KQorc3RhdGljIGludCBhaWMzeF9zZXRfYmlhc19sZXZlbChzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsCisJCQkJZW51bSBzbmRfc29jX2JpYXNfbGV2ZWwgbGV2ZWwpCiB7CiAJc3RydWN0IGFpYzN4X3ByaXYgKmFpYzN4ID0gY29kZWMtPnByaXZhdGVfZGF0YTsKIAl1OCByZWc7CiAKLQlzd2l0Y2ggKGV2ZW50KSB7Ci0JY2FzZSBTTkRSVl9DVExfUE9XRVJfRDA6CisJc3dpdGNoIChsZXZlbCkgeworCWNhc2UgU05EX1NPQ19CSUFTX09OOgogCQkvKiBhbGwgcG93ZXIgaXMgZHJpdmVuIGJ5IERBUE0gc3lzdGVtICovCiAJCWlmIChhaWMzeC0+bWFzdGVyKSB7CiAJCQkvKiBlbmFibGUgcGxsICovCkBAIC04OTgsMTAgKzkwNCw5IEBACiAJCQkJICAgIHJlZyB8IFBMTF9FTkFCTEUpOwogCQl9CiAJCWJyZWFrOwotCWNhc2UgU05EUlZfQ1RMX1BPV0VSX0QxOgotCWNhc2UgU05EUlZfQ1RMX1BPV0VSX0QyOgorCWNhc2UgU05EX1NPQ19CSUFTX1BSRVBBUkU6CiAJCWJyZWFrOwotCWNhc2UgU05EUlZfQ1RMX1BPV0VSX0QzaG90OgorCWNhc2UgU05EX1NPQ19CSUFTX1NUQU5EQlk6CiAJCS8qCiAJCSAqIGFsbCBwb3dlciBpcyBkcml2ZW4gYnkgREFQTSBzeXN0ZW0sCiAJCSAqIHNvIG91dHB1dCBwb3dlciBpcyBzYWZlIGlmIGJ5cGFzcyB3YXMgc2V0CkBAIC05MTMsNyArOTE4LDcgQEAKIAkJCQkgICAgcmVnICYgflBMTF9FTkFCTEUpOwogCQl9CiAJCWJyZWFrOwotCWNhc2UgU05EUlZfQ1RMX1BPV0VSX0QzY29sZDoKKwljYXNlIFNORF9TT0NfQklBU19PRkY6CiAJCS8qIGZvcmNlIGFsbCBwb3dlciBvZmYgKi8KIAkJcmVnID0gYWljM3hfcmVhZF9yZWdfY2FjaGUoY29kZWMsIExJTkUxTF8yX0xBRENfQ1RSTCk7CiAJCWFpYzN4X3dyaXRlKGNvZGVjLCBMSU5FMUxfMl9MQURDX0NUUkwsIHJlZyAmIH5MQURDX1BXUl9PTik7CkBAIC05NDksMTYgKzk1NCw0MyBAQAogCQl9CiAJCWJyZWFrOwogCX0KLQljb2RlYy0+ZGFwbV9zdGF0ZSA9IGV2ZW50OworCWNvZGVjLT5iaWFzX2xldmVsID0gbGV2ZWw7CiAKIAlyZXR1cm4gMDsKIH0KIAordm9pZCBhaWMzeF9zZXRfZ3BpbyhzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsIGludCBncGlvLCBpbnQgc3RhdGUpCit7CisJdTggcmVnID0gZ3BpbyA/IEFJQzNYX0dQSU8yX1JFRyA6IEFJQzNYX0dQSU8xX1JFRzsKKwl1OCBiaXQgPSBncGlvID8gMzogMDsKKwl1OCB2YWwgPSBhaWMzeF9yZWFkX3JlZ19jYWNoZShjb2RlYywgcmVnKSAmIH4oMSA8PCBiaXQpOworCWFpYzN4X3dyaXRlKGNvZGVjLCByZWcsIHZhbCB8ICghIXN0YXRlIDw8IGJpdCkpOworfQorRVhQT1JUX1NZTUJPTF9HUEwoYWljM3hfc2V0X2dwaW8pOworCitpbnQgYWljM3hfZ2V0X2dwaW8oc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLCBpbnQgZ3BpbykKK3sKKwl1OCByZWcgPSBncGlvID8gQUlDM1hfR1BJTzJfUkVHIDogQUlDM1hfR1BJTzFfUkVHOworCXU4IHZhbCwgYml0ID0gZ3BpbyA/IDI6IDE7CisKKwlhaWMzeF9yZWFkKGNvZGVjLCByZWcsICZ2YWwpOworCXJldHVybiAodmFsID4+IGJpdCkgJiAxOworfQorRVhQT1JUX1NZTUJPTF9HUEwoYWljM3hfZ2V0X2dwaW8pOworCitpbnQgYWljM3hfaGVhZHNldF9kZXRlY3RlZChzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMpCit7CisJdTggdmFsOworCWFpYzN4X3JlYWQoY29kZWMsIEFJQzNYX1JUX0lSUV9GTEFHU19SRUcsICZ2YWwpOworCXJldHVybiAodmFsID4+IDIpICYgMTsKK30KK0VYUE9SVF9TWU1CT0xfR1BMKGFpYzN4X2hlYWRzZXRfZGV0ZWN0ZWQpOworCiAjZGVmaW5lIEFJQzNYX1JBVEVTCVNORFJWX1BDTV9SQVRFXzgwMDBfOTYwMDAKICNkZWZpbmUgQUlDM1hfRk9STUFUUwkoU05EUlZfUENNX0ZNVEJJVF9TMTZfTEUgfCBTTkRSVl9QQ01fRk1UQklUX1MyMF8zTEUgfCBcCiAJCQkgU05EUlZfUENNX0ZNVEJJVF9TMjRfM0xFIHwgU05EUlZfUENNX0ZNVEJJVF9TMzJfTEUpCiAKLXN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSBhaWMzeF9kYWkgPSB7CitzdHJ1Y3Qgc25kX3NvY19kYWkgYWljM3hfZGFpID0gewogCS5uYW1lID0gImFpYzN4IiwKIAkucGxheWJhY2sgPSB7CiAJCS5zdHJlYW1fbmFtZSA9ICJQbGF5YmFjayIsCkBAIC05ODgsNyArMTAyMCw3IEBACiAJc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzb2NkZXYtPmNvZGVjOwogCi0JYWljM3hfZGFwbV9ldmVudChjb2RlYywgU05EUlZfQ1RMX1BPV0VSX0QzY29sZCk7CisJYWljM3hfc2V0X2JpYXNfbGV2ZWwoY29kZWMsIFNORF9TT0NfQklBU19PRkYpOwogCiAJcmV0dXJuIDA7CiB9CkBAIC0xMDA4LDcgKzEwNDAsNyBAQAogCQljb2RlYy0+aHdfd3JpdGUoY29kZWMtPmNvbnRyb2xfZGF0YSwgZGF0YSwgMik7CiAJfQogCi0JYWljM3hfZGFwbV9ldmVudChjb2RlYywgY29kZWMtPnN1c3BlbmRfZGFwbV9zdGF0ZSk7CisJYWljM3hfc2V0X2JpYXNfbGV2ZWwoY29kZWMsIGNvZGVjLT5zdXNwZW5kX2JpYXNfbGV2ZWwpOwogCiAJcmV0dXJuIDA7CiB9CkBAIC0xMDIwLDE2ICsxMDUyLDE3IEBACiBzdGF0aWMgaW50IGFpYzN4X2luaXQoc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYpCiB7CiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc29jZGV2LT5jb2RlYzsKKwlzdHJ1Y3QgYWljM3hfc2V0dXBfZGF0YSAqc2V0dXAgPSBzb2NkZXYtPmNvZGVjX2RhdGE7CiAJaW50IHJlZywgcmV0ID0gMDsKIAogCWNvZGVjLT5uYW1lID0gImFpYzN4IjsKIAljb2RlYy0+b3duZXIgPSBUSElTX01PRFVMRTsKIAljb2RlYy0+cmVhZCA9IGFpYzN4X3JlYWRfcmVnX2NhY2hlOwogCWNvZGVjLT53cml0ZSA9IGFpYzN4X3dyaXRlOwotCWNvZGVjLT5kYXBtX2V2ZW50ID0gYWljM3hfZGFwbV9ldmVudDsKKwljb2RlYy0+c2V0X2JpYXNfbGV2ZWwgPSBhaWMzeF9zZXRfYmlhc19sZXZlbDsKIAljb2RlYy0+ZGFpID0gJmFpYzN4X2RhaTsKIAljb2RlYy0+bnVtX2RhaSA9IDE7Ci0JY29kZWMtPnJlZ19jYWNoZV9zaXplID0gc2l6ZW9mKGFpYzN4X3JlZyk7CisJY29kZWMtPnJlZ19jYWNoZV9zaXplID0gQVJSQVlfU0laRShhaWMzeF9yZWcpOwogCWNvZGVjLT5yZWdfY2FjaGUgPSBrbWVtZHVwKGFpYzN4X3JlZywgc2l6ZW9mKGFpYzN4X3JlZyksIEdGUF9LRVJORUwpOwogCWlmIChjb2RlYy0+cmVnX2NhY2hlID09IE5VTEwpCiAJCXJldHVybiAtRU5PTUVNOwpAQCAtMTEwOCw3ICsxMTQxLDExIEBACiAJYWljM3hfd3JpdGUoY29kZWMsIExJTkUyUl8yX01PTk9MT1BNX1ZPTCwgREVGQVVMVF9WT0wpOwogCiAJLyogb2ZmLCB3aXRoIHBvd2VyIG9uICovCi0JYWljM3hfZGFwbV9ldmVudChjb2RlYywgU05EUlZfQ1RMX1BPV0VSX0QzaG90KTsKKwlhaWMzeF9zZXRfYmlhc19sZXZlbChjb2RlYywgU05EX1NPQ19CSUFTX1NUQU5EQlkpOworCisJLyogc2V0dXAgR1BJTyBmdW5jdGlvbnMgKi8KKwlhaWMzeF93cml0ZShjb2RlYywgQUlDM1hfR1BJTzFfUkVHLCAoc2V0dXAtPmdwaW9fZnVuY1swXSAmIDB4ZikgPDwgNCk7CisJYWljM3hfd3JpdGUoY29kZWMsIEFJQzNYX0dQSU8yX1JFRywgKHNldHVwLT5ncGlvX2Z1bmNbMV0gJiAweGYpIDw8IDQpOwogCiAJYWljM3hfYWRkX2NvbnRyb2xzKGNvZGVjKTsKIAlhaWMzeF9hZGRfd2lkZ2V0cyhjb2RlYyk7CkBAIC0xMjE3LDYgKzEyNTQsMTIgQEAKIAkubmFtZSA9ICJBSUMzWCIsCiAJLmRyaXZlciA9ICZhaWMzeF9pMmNfZHJpdmVyLAogfTsKKworc3RhdGljIGludCBhaWMzeF9pMmNfcmVhZChzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50LCB1OCAqdmFsdWUsIGludCBsZW4pCit7CisJdmFsdWVbMF0gPSBpMmNfc21idXNfcmVhZF9ieXRlX2RhdGEoY2xpZW50LCB2YWx1ZVswXSk7CisJcmV0dXJuIChsZW4gPT0gMSk7Cit9CiAjZW5kaWYKIAogc3RhdGljIGludCBhaWMzeF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQpAQCAtMTI1MSw2ICsxMjk0LDcgQEAKIAlpZiAoc2V0dXAtPmkyY19hZGRyZXNzKSB7CiAJCW5vcm1hbF9pMmNbMF0gPSBzZXR1cC0+aTJjX2FkZHJlc3M7CiAJCWNvZGVjLT5od193cml0ZSA9IChod193cml0ZV90KSBpMmNfbWFzdGVyX3NlbmQ7CisJCWNvZGVjLT5od19yZWFkID0gKGh3X3JlYWRfdCkgYWljM3hfaTJjX3JlYWQ7CiAJCXJldCA9IGkyY19hZGRfZHJpdmVyKCZhaWMzeF9pMmNfZHJpdmVyKTsKIAkJaWYgKHJldCAhPSAwKQogCQkJcHJpbnRrKEtFUk5fRVJSICJjYW4ndCBhZGQgaTJjIGRyaXZlciIpOwpAQCAtMTI2OCw3ICsxMzEyLDcgQEAKIAogCS8qIHBvd2VyIGRvd24gY2hpcCAqLwogCWlmIChjb2RlYy0+Y29udHJvbF9kYXRhKQotCQlhaWMzeF9kYXBtX2V2ZW50KGNvZGVjLCBTTkRSVl9DVExfUE9XRVJfRDMpOworCQlhaWMzeF9zZXRfYmlhc19sZXZlbChjb2RlYywgU05EX1NPQ19CSUFTX09GRik7CiAKIAlzbmRfc29jX2ZyZWVfcGNtcyhzb2NkZXYpOwogCXNuZF9zb2NfZGFwbV9mcmVlKHNvY2Rldik7CmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvY29kZWNzL3RsdjMyMGFpYzN4LmggYi9zb3VuZC9zb2MvY29kZWNzL3RsdjMyMGFpYzN4LmgKaW5kZXggZDBjZGVlYi4uZDc2YzA3OSAxMDA2NDQKLS0tIGEvc291bmQvc29jL2NvZGVjcy90bHYzMjBhaWMzeC5oCisrKyBiL3NvdW5kL3NvYy9jb2RlY3MvdGx2MzIwYWljM3guaApAQCAtMzcsNiArMzcsOCBAQAogI2RlZmluZSBBSUMzWF9BU0RfSU5URl9DVFJMQgkJOQogLyogQXVkaW8gb3ZlcmZsb3cgc3RhdHVzIGFuZCBQTEwgUiB2YWx1ZSBwcm9ncmFtbWluZyByZWdpc3RlciAqLwogI2RlZmluZSBBSUMzWF9PVlJGX1NUQVRVU19BTkRfUExMUl9SRUcJMTEKKy8qIEF1ZGlvIGNvZGVjIGRpZ2l0YWwgZmlsdGVyIGNvbnRyb2wgcmVnaXN0ZXIgKi8KKyNkZWZpbmUgQUlDM1hfQ09ERUNfREZJTFRfQ1RSTAkJMTIKIAogLyogQURDIFBHQSBHYWluIGNvbnRyb2wgcmVnaXN0ZXJzICovCiAjZGVmaW5lIExBRENfVk9MCQkJMTUKQEAgLTEwOCw2ICsxMTAsMTMgQEAKICNkZWZpbmUgREFDUjFfMl9STE9QTV9WT0wJCTkyCiAjZGVmaW5lIExMT1BNX0NUUkwJCQk4NgogI2RlZmluZSBSTE9QTV9DVFJMCQkJOTMKKy8qIEdQSU8vSVJRIHJlZ2lzdGVycyAqLworI2RlZmluZSBBSUMzWF9TVElDS1lfSVJRX0ZMQUdTX1JFRwk5NgorI2RlZmluZSBBSUMzWF9SVF9JUlFfRkxBR1NfUkVHCQk5NworI2RlZmluZSBBSUMzWF9HUElPMV9SRUcJCQk5OAorI2RlZmluZSBBSUMzWF9HUElPMl9SRUcJCQk5OQorI2RlZmluZSBBSUMzWF9HUElPQV9SRUcJCQkxMDAKKyNkZWZpbmUgQUlDM1hfR1BJT0JfUkVHCQkJMTAxCiAvKiBDbG9jayBnZW5lcmF0aW9uIGNvbnRyb2wgcmVnaXN0ZXIgKi8KICNkZWZpbmUgQUlDM1hfQ0xLR0VOX0NUUkxfUkVHCQkxMDIKIApAQCAtMTI4LDEyICsxMzcsMTUgQEAKIAogLyogUExMIHJlZ2lzdGVycyBiaXRmaWVsZHMgKi8KICNkZWZpbmUgUExMUF9TSElGVAkJMAorI2RlZmluZSBQTExRX1NISUZUCQkzCiAjZGVmaW5lIFBMTFJfU0hJRlQJCTAKICNkZWZpbmUgUExMSl9TSElGVAkJMgogI2RlZmluZSBQTExEX01TQl9TSElGVAkJMAogI2RlZmluZSBQTExEX0xTQl9TSElGVAkJMgogCiAvKiBDbG9jayBnZW5lcmF0aW9uIHJlZ2lzdGVyIGJpdHMgKi8KKyNkZWZpbmUgQ09ERUNfQ0xLSU5fUExMRElWCTAKKyNkZWZpbmUgQ09ERUNfQ0xLSU5fQ0xLRElWCTEKICNkZWZpbmUgUExMX0NMS0lOX1NISUZUCQk0CiAjZGVmaW5lIE1DTEtfU09VUkNFCQkweDAKICNkZWZpbmUgUExMX0NMS0RJVl9TSElGVAkwCkBAIC0xNzEsMTEgKzE4Myw1MiBAQAogLyogRGVmYXVsdCBpbnB1dCB2b2x1bWUgKi8KICNkZWZpbmUgREVGQVVMVF9HQUlOICAgIDB4MjAKIAotc3RydWN0IGFpYzN4X3NldHVwX2RhdGEgewotCXVuc2lnbmVkIHNob3J0IGkyY19hZGRyZXNzOworLyogR1BJTyBBUEkgKi8KK2VudW0geworCUFJQzNYX0dQSU8xX0ZVTkNfRElTQUJMRUQJCT0gMCwKKwlBSUMzWF9HUElPMV9GVU5DX0FVRElPX1dPUkRDTEtfQURDCT0gMSwKKwlBSUMzWF9HUElPMV9GVU5DX0NMT0NLX01VWAkJPSAyLAorCUFJQzNYX0dQSU8xX0ZVTkNfQ0xPQ0tfTVVYX0RJVjIJCT0gMywKKwlBSUMzWF9HUElPMV9GVU5DX0NMT0NLX01VWF9ESVY0CQk9IDQsCisJQUlDM1hfR1BJTzFfRlVOQ19DTE9DS19NVVhfRElWOAkJPSA1LAorCUFJQzNYX0dQSU8xX0ZVTkNfU0hPUlRfQ0lSQ1VJVF9JUlEJPSA2LAorCUFJQzNYX0dQSU8xX0ZVTkNfQUdDX05PSVNFX0lSUQkJPSA3LAorCUFJQzNYX0dQSU8xX0ZVTkNfSU5QVVQJCQk9IDgsCisJQUlDM1hfR1BJTzFfRlVOQ19PVVRQVVQJCQk9IDksCisJQUlDM1hfR1BJTzFfRlVOQ19ESUdJVEFMX01JQ19NT0RDTEsJPSAxMCwKKwlBSUMzWF9HUElPMV9GVU5DX0FVRElPX1dPUkRDTEsJCT0gMTEsCisJQUlDM1hfR1BJTzFfRlVOQ19CVVRUT05fSVJRCQk9IDEyLAorCUFJQzNYX0dQSU8xX0ZVTkNfSEVBRFNFVF9ERVRFQ1RfSVJRCT0gMTMsCisJQUlDM1hfR1BJTzFfRlVOQ19IRUFEU0VUX0RFVEVDVF9PUl9CVVRUT05fSVJRCT0gMTQsCisJQUlDM1hfR1BJTzFfRlVOQ19BTExfSVJRCQk9IDE2CiB9OwogCi1leHRlcm4gc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpIGFpYzN4X2RhaTsKK2VudW0geworCUFJQzNYX0dQSU8yX0ZVTkNfRElTQUJMRUQJCT0gMCwKKwlBSUMzWF9HUElPMl9GVU5DX0hFQURTRVRfREVURUNUX0lSUQk9IDIsCisJQUlDM1hfR1BJTzJfRlVOQ19JTlBVVAkJCT0gMywKKwlBSUMzWF9HUElPMl9GVU5DX09VVFBVVAkJCT0gNCwKKwlBSUMzWF9HUElPMl9GVU5DX0RJR0lUQUxfTUlDX0lOUFVUCT0gNSwKKwlBSUMzWF9HUElPMl9GVU5DX0FVRElPX0JJVENMSwkJPSA4LAorCUFJQzNYX0dQSU8yX0ZVTkNfSEVBRFNFVF9ERVRFQ1RfT1JfQlVUVE9OX0lSUSA9IDksCisJQUlDM1hfR1BJTzJfRlVOQ19BTExfSVJRCQk9IDEwLAorCUFJQzNYX0dQSU8yX0ZVTkNfU0hPUlRfQ0lSQ1VJVF9PUl9BR0NfSVJRID0gMTEsCisJQUlDM1hfR1BJTzJfRlVOQ19IRUFEU0VUX09SX0JVVFRPTl9QUkVTU19PUl9TSE9SVF9DSVJDVUlUX0lSUSA9IDEyLAorCUFJQzNYX0dQSU8yX0ZVTkNfU0hPUlRfQ0lSQ1VJVF9JUlEJPSAxMywKKwlBSUMzWF9HUElPMl9GVU5DX0FHQ19OT0lTRV9JUlEJCT0gMTQsCisJQUlDM1hfR1BJTzJfRlVOQ19CVVRUT05fUFJFU1NfSVJRCT0gMTUKK307CisKK3ZvaWQgYWljM3hfc2V0X2dwaW8oc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLCBpbnQgZ3BpbywgaW50IHN0YXRlKTsKK2ludCBhaWMzeF9nZXRfZ3BpbyhzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsIGludCBncGlvKTsKK2ludCBhaWMzeF9oZWFkc2V0X2RldGVjdGVkKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyk7CisKK3N0cnVjdCBhaWMzeF9zZXR1cF9kYXRhIHsKKwl1bnNpZ25lZCBzaG9ydCBpMmNfYWRkcmVzczsKKwl1bnNpZ25lZCBpbnQgZ3Bpb19mdW5jWzJdOworfTsKKworZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2RhaSBhaWMzeF9kYWk7CiBleHRlcm4gc3RydWN0IHNuZF9zb2NfY29kZWNfZGV2aWNlIHNvY19jb2RlY19kZXZfYWljM3g7CiAKICNlbmRpZiAvKiBfQUlDM1hfSCAqLwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2NvZGVjcy91ZGExMzgwLmMgYi9zb3VuZC9zb2MvY29kZWNzL3VkYTEzODAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNTJkNmQ5Ci0tLSAvZGV2L251bGwKKysrIGIvc291bmQvc29jL2NvZGVjcy91ZGExMzgwLmMKQEAgLTAsMCArMSw4NTIgQEAKKy8qCisgKiB1ZGExMzgwLmMgLSBQaGlsaXBzIFVEQTEzODAgQUxTQSBTb0MgYXVkaW8gZHJpdmVyCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwMDcgUGhpbGlwcCBaYWJlbCA8cGhpbGlwcC56YWJlbEBnbWFpbC5jb20+CisgKiBJbXByb3ZlZCBzdXBwb3J0IGZvciBEQVBNIGFuZCBhdWRpbyByb3V0aW5nL21peGluZyBjYXBhYmlsaXRpZXMsCisgKiBhZGRlZCBUTFYgc3VwcG9ydC4KKyAqCisgKiBNb2RpZmllZCBieSBSaWNoYXJkIFB1cmRpZSA8cmljaGFyZEBvcGVuZWRoYW5kLmNvbT4gdG8gZml0IGludG8gU29DCisgKiBjb2RlYyBtb2RlbC4KKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwMDUgR2lvcmdpbyBQYWRyaW4gPGdpb3JnaW9AbWFuZGFyaW5sb2dpcS5vcmc+CisgKiBDb3B5cmlnaHQgMjAwNSBPcGVuZWRoYW5kIEx0ZC4KKyAqLworCisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisjaW5jbHVkZSA8bGludXgvc3RyaW5nLmg+CisjaW5jbHVkZSA8bGludXgvc2xhYi5oPgorI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CisjaW5jbHVkZSA8bGludXgvaW9jdGwuaD4KKyNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgorI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgorI2luY2x1ZGUgPHNvdW5kL2NvcmUuaD4KKyNpbmNsdWRlIDxzb3VuZC9jb250cm9sLmg+CisjaW5jbHVkZSA8c291bmQvaW5pdHZhbC5oPgorI2luY2x1ZGUgPHNvdW5kL2luZm8uaD4KKyNpbmNsdWRlIDxzb3VuZC9zb2MuaD4KKyNpbmNsdWRlIDxzb3VuZC9zb2MtZGFwbS5oPgorI2luY2x1ZGUgPHNvdW5kL3Rsdi5oPgorCisjaW5jbHVkZSAidWRhMTM4MC5oIgorCisjZGVmaW5lIFVEQTEzODBfVkVSU0lPTiAiMC42IgorI2RlZmluZSBBVURJT19OQU1FICJ1ZGExMzgwIgorCisvKgorICogdWRhMTM4MCByZWdpc3RlciBjYWNoZQorICovCitzdGF0aWMgY29uc3QgdTE2IHVkYTEzODBfcmVnW1VEQTEzODBfQ0FDSEVSRUdOVU1dID0geworCTB4MDUwMiwgMHgwMDAwLCAweDAwMDAsIDB4M2YzZiwKKwkweDAyMDIsIDB4MDAwMCwgMHgwMDAwLCAweDAwMDAsCisJMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwgMHgwMDAwLAorCTB4MDAwMCwgMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwKKwkweDAwMDAsIDB4ZmYwMCwgMHgwMDAwLCAweDQ4MDAsCisJMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwgMHgwMDAwLAorCTB4MDAwMCwgMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwKKwkweDAwMDAsIDB4MDAwMCwgMHgwMDAwLCAweDAwMDAsCisJMHgwMDAwLCAweDgwMDAsIDB4MDAwMiwgMHgwMDAwLAorfTsKKworLyoKKyAqIHJlYWQgdWRhMTM4MCByZWdpc3RlciBjYWNoZQorICovCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCB1ZGExMzgwX3JlYWRfcmVnX2NhY2hlKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywKKwl1bnNpZ25lZCBpbnQgcmVnKQoreworCXUxNiAqY2FjaGUgPSBjb2RlYy0+cmVnX2NhY2hlOworCWlmIChyZWcgPT0gVURBMTM4MF9SRVNFVCkKKwkJcmV0dXJuIDA7CisJaWYgKHJlZyA+PSBVREExMzgwX0NBQ0hFUkVHTlVNKQorCQlyZXR1cm4gLTE7CisJcmV0dXJuIGNhY2hlW3JlZ107Cit9CisKKy8qCisgKiB3cml0ZSB1ZGExMzgwIHJlZ2lzdGVyIGNhY2hlCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCB1ZGExMzgwX3dyaXRlX3JlZ19jYWNoZShzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsCisJdTE2IHJlZywgdW5zaWduZWQgaW50IHZhbHVlKQoreworCXUxNiAqY2FjaGUgPSBjb2RlYy0+cmVnX2NhY2hlOworCWlmIChyZWcgPj0gVURBMTM4MF9DQUNIRVJFR05VTSkKKwkJcmV0dXJuOworCWNhY2hlW3JlZ10gPSB2YWx1ZTsKK30KKworLyoKKyAqIHdyaXRlIHRvIHRoZSBVREExMzgwIHJlZ2lzdGVyIHNwYWNlCisgKi8KK3N0YXRpYyBpbnQgdWRhMTM4MF93cml0ZShzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsIHVuc2lnbmVkIGludCByZWcsCisJdW5zaWduZWQgaW50IHZhbHVlKQoreworCXU4IGRhdGFbM107CisKKwkvKiBkYXRhIGlzCisJICogICBkYXRhWzBdIGlzIHJlZ2lzdGVyIG9mZnNldAorCSAqICAgZGF0YVsxXSBpcyBNUyBieXRlCisJICogICBkYXRhWzJdIGlzIExTIGJ5dGUKKwkgKi8KKwlkYXRhWzBdID0gcmVnOworCWRhdGFbMV0gPSAodmFsdWUgJiAweGZmMDApID4+IDg7CisJZGF0YVsyXSA9IHZhbHVlICYgMHgwMGZmOworCisJdWRhMTM4MF93cml0ZV9yZWdfY2FjaGUoY29kZWMsIHJlZywgdmFsdWUpOworCisJLyogdGhlIGludGVycG9sYXRvciAmIGRlY2ltYXRvciByZWdzIG11c3Qgb25seSBiZSB3cml0dGVuIHdoZW4gdGhlCisJICogY29kZWMgREFJIGlzIGFjdGl2ZS4KKwkgKi8KKwlpZiAoIWNvZGVjLT5hY3RpdmUgJiYgKHJlZyA+PSBVREExMzgwX01WT0wpKQorCQlyZXR1cm4gMDsKKwlwcl9kZWJ1ZygidWRhMTM4MDogaHcgd3JpdGUgJXggdmFsICV4XG4iLCByZWcsIHZhbHVlKTsKKwlpZiAoY29kZWMtPmh3X3dyaXRlKGNvZGVjLT5jb250cm9sX2RhdGEsIGRhdGEsIDMpID09IDMpIHsKKwkJdW5zaWduZWQgaW50IHZhbDsKKwkJaTJjX21hc3Rlcl9zZW5kKGNvZGVjLT5jb250cm9sX2RhdGEsIGRhdGEsIDEpOworCQlpMmNfbWFzdGVyX3JlY3YoY29kZWMtPmNvbnRyb2xfZGF0YSwgZGF0YSwgMik7CisJCXZhbCA9IChkYXRhWzBdPDw4KSB8IGRhdGFbMV07CisJCWlmICh2YWwgIT0gdmFsdWUpIHsKKwkJCXByX2RlYnVnKCJ1ZGExMzgwOiBSRUFEIEJBQ0sgVkFMICV4XG4iLAorCQkJCQkoZGF0YVswXTw8OCkgfCBkYXRhWzFdKTsKKwkJCXJldHVybiAtRUlPOworCQl9CisJCXJldHVybiAwOworCX0gZWxzZQorCQlyZXR1cm4gLUVJTzsKK30KKworI2RlZmluZSB1ZGExMzgwX3Jlc2V0KGMpCXVkYTEzODBfd3JpdGUoYywgVURBMTM4MF9SRVNFVCwgMCkKKworLyogZGVjbGFyYXRpb25zIG9mIEFMU0EgcmVnX2VsZW1fUkVBTCBjb250cm9scyAqLworc3RhdGljIGNvbnN0IGNoYXIgKnVkYTEzODBfZGVlbXBbXSA9IHsKKwkiTm9uZSIsCisJIjMya0h6IiwKKwkiNDQuMWtIeiIsCisJIjQ4a0h6IiwKKwkiOTZrSHoiLAorfTsKK3N0YXRpYyBjb25zdCBjaGFyICp1ZGExMzgwX2lucHV0X3NlbFtdID0geworCSJMaW5lIiwKKwkiTWljICsgTGluZSBSIiwKKwkiTGluZSBMIiwKKwkiTWljIiwKK307CitzdGF0aWMgY29uc3QgY2hhciAqdWRhMTM4MF9vdXRwdXRfc2VsW10gPSB7CisJIkRBQyIsCisJIkFuYWxvZyBNaXhlciIsCit9Oworc3RhdGljIGNvbnN0IGNoYXIgKnVkYTEzODBfc3BmX21vZGVbXSA9IHsKKwkiRmxhdCIsCisJIk1pbmltdW0xIiwKKwkiTWluaW11bTIiLAorCSJNYXhpbXVtIgorfTsKK3N0YXRpYyBjb25zdCBjaGFyICp1ZGExMzgwX2NhcHR1cmVfc2VsW10gPSB7CisJIkFEQyIsCisJIkRpZ2l0YWwgTWl4ZXIiCit9Oworc3RhdGljIGNvbnN0IGNoYXIgKnVkYTEzODBfc2VsX25zW10gPSB7CisJIjNyZC1vcmRlciIsCisJIjV0aC1vcmRlciIKK307CitzdGF0aWMgY29uc3QgY2hhciAqdWRhMTM4MF9taXhfY29udHJvbFtdID0geworCSJvZmYiLAorCSJQQ00gb25seSIsCisJImJlZm9yZSBzb3VuZCBwcm9jZXNzaW5nIiwKKwkiYWZ0ZXIgc291bmQgcHJvY2Vzc2luZyIKK307CitzdGF0aWMgY29uc3QgY2hhciAqdWRhMTM4MF9zZGV0X3NldHRpbmdbXSA9IHsKKwkiMzIwMCIsCisJIjQ4MDAiLAorCSI5NjAwIiwKKwkiMTkyMDAiCit9Oworc3RhdGljIGNvbnN0IGNoYXIgKnVkYTEzODBfb3Nfc2V0dGluZ1tdID0geworCSJzaW5nbGUtc3BlZWQiLAorCSJkb3VibGUtc3BlZWQgKG5vIG1peGluZykiLAorCSJxdWFkLXNwZWVkIChubyBtaXhpbmcpIgorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBzb2NfZW51bSB1ZGExMzgwX2RlZW1wX2VudW1bXSA9IHsKKwlTT0NfRU5VTV9TSU5HTEUoVURBMTM4MF9ERUVNUCwgOCwgNSwgdWRhMTM4MF9kZWVtcCksCisJU09DX0VOVU1fU0lOR0xFKFVEQTEzODBfREVFTVAsIDAsIDUsIHVkYTEzODBfZGVlbXApLAorfTsKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc29jX2VudW0gdWRhMTM4MF9pbnB1dF9zZWxfZW51bSA9CisJU09DX0VOVU1fU0lOR0xFKFVEQTEzODBfQURDLCAyLCA0LCB1ZGExMzgwX2lucHV0X3NlbCk7CQkvKiBTRUxfTUlDLCBTRUxfTE5BICovCitzdGF0aWMgY29uc3Qgc3RydWN0IHNvY19lbnVtIHVkYTEzODBfb3V0cHV0X3NlbF9lbnVtID0KKwlTT0NfRU5VTV9TSU5HTEUoVURBMTM4MF9QTSwgNywgMiwgdWRhMTM4MF9vdXRwdXRfc2VsKTsJCS8qIFIwMl9FTl9BVkMgKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc29jX2VudW0gdWRhMTM4MF9zcGZfZW51bSA9CisJU09DX0VOVU1fU0lOR0xFKFVEQTEzODBfTU9ERSwgMTQsIDQsIHVkYTEzODBfc3BmX21vZGUpOwkJLyogTSAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBzb2NfZW51bSB1ZGExMzgwX2NhcHR1cmVfc2VsX2VudW0gPQorCVNPQ19FTlVNX1NJTkdMRShVREExMzgwX0lGQUNFLCA2LCAyLCB1ZGExMzgwX2NhcHR1cmVfc2VsKTsJLyogU0VMX1NPVVJDRSAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBzb2NfZW51bSB1ZGExMzgwX3NlbF9uc19lbnVtID0KKwlTT0NfRU5VTV9TSU5HTEUoVURBMTM4MF9NSVhFUiwgMTQsIDIsIHVkYTEzODBfc2VsX25zKTsJCS8qIFNFTF9OUyAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBzb2NfZW51bSB1ZGExMzgwX21peF9lbnVtID0KKwlTT0NfRU5VTV9TSU5HTEUoVURBMTM4MF9NSVhFUiwgMTIsIDQsIHVkYTEzODBfbWl4X2NvbnRyb2wpOwkvKiBNSVgsIE1JWF9QT1MgKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc29jX2VudW0gdWRhMTM4MF9zZGV0X2VudW0gPQorCVNPQ19FTlVNX1NJTkdMRShVREExMzgwX01JWEVSLCA0LCA0LCB1ZGExMzgwX3NkZXRfc2V0dGluZyk7CS8qIFNEX1ZBTFVFICovCitzdGF0aWMgY29uc3Qgc3RydWN0IHNvY19lbnVtIHVkYTEzODBfb3NfZW51bSA9CisJU09DX0VOVU1fU0lOR0xFKFVEQTEzODBfTUlYRVIsIDAsIDMsIHVkYTEzODBfb3Nfc2V0dGluZyk7CS8qIE9TICovCisKKy8qCisgKiBmcm9tIC00OCBkQiBpbiAxLjUgZEIgc3RlcHMgKG11dGUgaW5zdGVhZCBvZiAtNDkuNSBkQikKKyAqLworc3RhdGljIERFQ0xBUkVfVExWX0RCX1NDQUxFKGFtaXhfdGx2LCAtNDk1MCwgMTUwLCAxKTsKKworLyoKKyAqIGZyb20gLTc4IGRCIGluIDEgZEIgc3RlcHMgKDMgZEIgc3RlcHMsIHJlYWxseS4gTFNCIGFyZSBpZ25vcmVkKSwKKyAqIGZyb20gLTY2IGRCIGluIDAuNSBkQiBzdGVwcyAoMiBkQiBzdGVwcywgcmVhbGx5KSBhbmQKKyAqIGZyb20gLTUyIGRCIGluIDAuMjUgZEIgc3RlcHMKKyAqLworc3RhdGljIGNvbnN0IHVuc2lnbmVkIGludCBtdm9sX3RsdltdID0geworCVRMVl9EQl9SQU5HRV9IRUFEKDMpLAorCTAsIDE1LCBUTFZfREJfU0NBTEVfSVRFTSgtODIwMCwgMTAwLCAxKSwKKwkxNiwgNDMsIFRMVl9EQl9TQ0FMRV9JVEVNKC02NjAwLCA1MCwgMCksCisJNDQsIDI1MiwgVExWX0RCX1NDQUxFX0lURU0oLTUyMDAsIDI1LCAwKSwKK307CisKKy8qCisgKiBmcm9tIC03MiBkQiBpbiAxLjUgZEIgc3RlcHMgKDYgZEIgc3RlcHMgcmVhbGx5KSwKKyAqIGZyb20gLTY2IGRCIGluIDAuNzUgZEIgc3RlcHMgKDMgZEIgc3RlcHMgcmVhbGx5KSwKKyAqIGZyb20gLTYwIGRCIGluIDAuNSBkQiBzdGVwcyAoMiBkQiBzdGVwcyByZWFsbHkpIGFuZAorICogZnJvbSAtNDYgZEIgaW4gMC4yNSBkQiBzdGVwcworICovCitzdGF0aWMgY29uc3QgdW5zaWduZWQgaW50IHZjX3RsdltdID0geworCVRMVl9EQl9SQU5HRV9IRUFEKDQpLAorCTAsIDcsIFRMVl9EQl9TQ0FMRV9JVEVNKC03ODAwLCAxNTAsIDEpLAorCTgsIDE1LCBUTFZfREJfU0NBTEVfSVRFTSgtNjYwMCwgNzUsIDApLAorCTE2LCA0MywgVExWX0RCX1NDQUxFX0lURU0oLTYwMDAsIDUwLCAwKSwKKwk0NCwgMjI4LCBUTFZfREJfU0NBTEVfSVRFTSgtNDYwMCwgMjUsIDApLAorfTsKKworLyogZnJvbSAwIHRvIDYgZEIgaW4gMiBkQiBzdGVwcyBpZiBTUEYgbW9kZSAhPSBmbGF0ICovCitzdGF0aWMgREVDTEFSRV9UTFZfREJfU0NBTEUodHJfdGx2LCAwLCAyMDAsIDApOworCisvKiBmcm9tIDAgdG8gMjQgZEIgaW4gMiBkQiBzdGVwcywgaWYgU1BGIG1vZGUgPT0gbWF4aW11bSwgb3RoZXJ3aXNlIGN1dHMKKyAqIG9mZiBhdCAxOCBkQiBtYXgpICovCitzdGF0aWMgREVDTEFSRV9UTFZfREJfU0NBTEUoYmJfdGx2LCAwLCAyMDAsIDApOworCisvKiBmcm9tIC02MyB0byAyNCBkQiBpbiAwLjUgZEIgc3RlcHMgKC0xMjguLi40OCkgKi8KK3N0YXRpYyBERUNMQVJFX1RMVl9EQl9TQ0FMRShkZWNfdGx2LCAtNjQwMCwgNTAsIDEpOworCisvKiBmcm9tIDAgdG8gMjQgZEIgaW4gMyBkQiBzdGVwcyAqLworc3RhdGljIERFQ0xBUkVfVExWX0RCX1NDQUxFKHBnYV90bHYsIDAsIDMwMCwgMCk7CisKKy8qIGZyb20gMCB0byAzMCBkQiBpbiAyIGRCIHN0ZXBzICovCitzdGF0aWMgREVDTEFSRV9UTFZfREJfU0NBTEUodmdhX3RsdiwgMCwgMjAwLCAwKTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHVkYTEzODBfc25kX2NvbnRyb2xzW10gPSB7CisJU09DX0RPVUJMRV9UTFYoIkFuYWxvZyBNaXhlciBWb2x1bWUiLCBVREExMzgwX0FNSVgsIDAsIDgsIDQ0LCAxLCBhbWl4X3RsdiksCS8qIEFWQ1IsIEFWQ0wgKi8KKwlTT0NfRE9VQkxFX1RMVigiTWFzdGVyIFBsYXliYWNrIFZvbHVtZSIsIFVEQTEzODBfTVZPTCwgMCwgOCwgMjUyLCAxLCBtdm9sX3RsdiksCS8qIE1WQ0wsIE1WQ1IgKi8KKwlTT0NfU0lOR0xFX1RMVigiQURDIFBsYXliYWNrIFZvbHVtZSIsIFVEQTEzODBfTUlYVk9MLCA4LCAyMjgsIDEsIHZjX3RsdiksCS8qIFZDMiAqLworCVNPQ19TSU5HTEVfVExWKCJQQ00gUGxheWJhY2sgVm9sdW1lIiwgVURBMTM4MF9NSVhWT0wsIDAsIDIyOCwgMSwgdmNfdGx2KSwJLyogVkMxICovCisJU09DX0VOVU0oIlNvdW5kIFByb2Nlc3NpbmcgRmlsdGVyIiwgdWRhMTM4MF9zcGZfZW51bSksCQkJCS8qIE0gKi8KKwlTT0NfRE9VQkxFX1RMVigiVG9uZSBDb250cm9sIC0gVHJlYmxlIiwgVURBMTM4MF9NT0RFLCA0LCAxMiwgMywgMCwgdHJfdGx2KSwgCS8qIFRSTCwgVFJSICovCisJU09DX0RPVUJMRV9UTFYoIlRvbmUgQ29udHJvbCAtIEJhc3MiLCBVREExMzgwX01PREUsIDAsIDgsIDE1LCAwLCBiYl90bHYpLAkvKiBCQkwsIEJCUiAqLworLyoqLwlTT0NfU0lOR0xFKCJNYXN0ZXIgUGxheWJhY2sgU3dpdGNoIiwgVURBMTM4MF9ERUVNUCwgMTQsIDEsIDEpLAkJLyogTVRNICovCisJU09DX1NJTkdMRSgiQURDIFBsYXliYWNrIFN3aXRjaCIsIFVEQTEzODBfREVFTVAsIDExLCAxLCAxKSwJCS8qIE1UMiBmcm9tIGRlY2ltYXRpb24gZmlsdGVyICovCisJU09DX0VOVU0oIkFEQyBQbGF5YmFjayBEZS1lbXBoYXNpcyIsIHVkYTEzODBfZGVlbXBfZW51bVswXSksCQkvKiBERTIgKi8KKwlTT0NfU0lOR0xFKCJQQ00gUGxheWJhY2sgU3dpdGNoIiwgVURBMTM4MF9ERUVNUCwgMywgMSwgMSksCQkvKiBNVDEsIGZyb20gZGlnaXRhbCBkYXRhIGlucHV0ICovCisJU09DX0VOVU0oIlBDTSBQbGF5YmFjayBEZS1lbXBoYXNpcyIsIHVkYTEzODBfZGVlbXBfZW51bVsxXSksCQkvKiBERTEgKi8KKwlTT0NfU0lOR0xFKCJEQUMgUG9sYXJpdHkgaW52ZXJ0aW5nIFN3aXRjaCIsIFVEQTEzODBfTUlYRVIsIDE1LCAxLCAwKSwJLyogREFfUE9MX0lOViAqLworCVNPQ19FTlVNKCJOb2lzZSBTaGFwZXIiLCB1ZGExMzgwX3NlbF9uc19lbnVtKSwJCQkJLyogU0VMX05TICovCisJU09DX0VOVU0oIkRpZ2l0YWwgTWl4ZXIgU2lnbmFsIENvbnRyb2wiLCB1ZGExMzgwX21peF9lbnVtKSwJCS8qIE1JWF9QT1MsIE1JWCAqLworCVNPQ19TSU5HTEUoIlNpbGVuY2UgU3dpdGNoIiwgVURBMTM4MF9NSVhFUiwgNywgMSwgMCksCQkJLyogU0lMRU5DRSwgZm9yY2UgREFDIG91dHB1dCB0byBzaWxlbmNlICovCisJU09DX1NJTkdMRSgiU2lsZW5jZSBEZXRlY3RvciBTd2l0Y2giLCBVREExMzgwX01JWEVSLCA2LCAxLCAwKSwJCS8qIFNERVRfT04gKi8KKwlTT0NfRU5VTSgiU2lsZW5jZSBEZXRlY3RvciBTZXR0aW5nIiwgdWRhMTM4MF9zZGV0X2VudW0pLAkJLyogU0RfVkFMVUUgKi8KKwlTT0NfRU5VTSgiT3ZlcnNhbXBsaW5nIElucHV0IiwgdWRhMTM4MF9vc19lbnVtKSwJCQkvKiBPUyAqLworCVNPQ19ET1VCTEVfUzhfVExWKCJBREMgQ2FwdHVyZSBWb2x1bWUiLCBVREExMzgwX0RFQywgLTEyOCwgNDgsIGRlY190bHYpLAkvKiBNTF9ERUMsIE1SX0RFQyAqLworLyoqLwlTT0NfU0lOR0xFKCJBREMgQ2FwdHVyZSBTd2l0Y2giLCBVREExMzgwX1BHQSwgMTUsIDEsIDEpLAkJLyogTVRfQURDICovCisJU09DX0RPVUJMRV9UTFYoIkxpbmUgQ2FwdHVyZSBWb2x1bWUiLCBVREExMzgwX1BHQSwgMCwgOCwgOCwgMCwgcGdhX3RsdiksIC8qIFBHQV9HQUlOQ1RSTEwsIFBHQV9HQUlOQ1RSTFIgKi8KKwlTT0NfU0lOR0xFKCJBREMgUG9sYXJpdHkgaW52ZXJ0aW5nIFN3aXRjaCIsIFVEQTEzODBfQURDLCAxMiwgMSwgMCksCS8qIEFEQ1BPTF9JTlYgKi8KKwlTT0NfU0lOR0xFX1RMVigiTWljIENhcHR1cmUgVm9sdW1lIiwgVURBMTM4MF9BREMsIDgsIDE1LCAwLCB2Z2FfdGx2KSwJLyogVkdBX0NUUkwgKi8KKwlTT0NfU0lOR0xFKCJEQyBGaWx0ZXIgQnlwYXNzIFN3aXRjaCIsIFVEQTEzODBfQURDLCAxLCAxLCAwKSwJCS8qIFNLSVBfRENGSUwgKGJlZm9yZSBkZWNpbWF0b3IpICovCisJU09DX1NJTkdMRSgiREMgRmlsdGVyIEVuYWJsZSBTd2l0Y2giLCBVREExMzgwX0FEQywgMCwgMSwgMCksCQkvKiBFTl9EQ0ZJTCAoYXQgb3V0cHV0IG9mIGRlY2ltYXRvcikgKi8KKwlTT0NfU0lOR0xFKCJBR0MgVGltaW5nIiwgVURBMTM4MF9BR0MsIDgsIDcsIDApLAkJCS8qIFRPRE86IGVudW0sIHNlZSB0YWJsZSA2MiAqLworCVNPQ19TSU5HTEUoIkFHQyBUYXJnZXQgbGV2ZWwiLCBVREExMzgwX0FHQywgMiwgMywgMSksCQkJLyogQUdDX0xFVkVMICovCisJLyogLTUuNSwgLTgsIC0xMS41LCAtMTQgZEJGUyAqLworCVNPQ19TSU5HTEUoIkFHQyBTd2l0Y2giLCBVREExMzgwX0FHQywgMCwgMSwgMCksCit9OworCisvKiBhZGQgbm9uIGRhcG0gY29udHJvbHMgKi8KK3N0YXRpYyBpbnQgdWRhMTM4MF9hZGRfY29udHJvbHMoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjKQoreworCWludCBlcnIsIGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRSh1ZGExMzgwX3NuZF9jb250cm9scyk7IGkrKykgeworCQllcnIgPSBzbmRfY3RsX2FkZChjb2RlYy0+Y2FyZCwKKwkJCXNuZF9zb2NfY25ldygmdWRhMTM4MF9zbmRfY29udHJvbHNbaV0sIGNvZGVjLCBOVUxMKSk7CisJCWlmIChlcnIgPCAwKQorCQkJcmV0dXJuIGVycjsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworLyogSW5wdXQgbXV4ICovCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgdWRhMTM4MF9pbnB1dF9tdXhfY29udHJvbCA9CisJU09DX0RBUE1fRU5VTSgiUm91dGUiLCB1ZGExMzgwX2lucHV0X3NlbF9lbnVtKTsKKworLyogT3V0cHV0IG11eCAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHVkYTEzODBfb3V0cHV0X211eF9jb250cm9sID0KKwlTT0NfREFQTV9FTlVNKCJSb3V0ZSIsIHVkYTEzODBfb3V0cHV0X3NlbF9lbnVtKTsKKworLyogQ2FwdHVyZSBtdXggKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyB1ZGExMzgwX2NhcHR1cmVfbXV4X2NvbnRyb2wgPQorCVNPQ19EQVBNX0VOVU0oIlJvdXRlIiwgdWRhMTM4MF9jYXB0dXJlX3NlbF9lbnVtKTsKKworCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9zb2NfZGFwbV93aWRnZXQgdWRhMTM4MF9kYXBtX3dpZGdldHNbXSA9IHsKKwlTTkRfU09DX0RBUE1fTVVYKCJJbnB1dCBNdXgiLCBTTkRfU09DX05PUE0sIDAsIDAsCisJCSZ1ZGExMzgwX2lucHV0X211eF9jb250cm9sKSwKKwlTTkRfU09DX0RBUE1fTVVYKCJPdXRwdXQgTXV4IiwgU05EX1NPQ19OT1BNLCAwLCAwLAorCQkmdWRhMTM4MF9vdXRwdXRfbXV4X2NvbnRyb2wpLAorCVNORF9TT0NfREFQTV9NVVgoIkNhcHR1cmUgTXV4IiwgU05EX1NPQ19OT1BNLCAwLCAwLAorCQkmdWRhMTM4MF9jYXB0dXJlX211eF9jb250cm9sKSwKKwlTTkRfU09DX0RBUE1fUEdBKCJMZWZ0IFBHQSIsIFVEQTEzODBfUE0sIDMsIDAsIE5VTEwsIDApLAorCVNORF9TT0NfREFQTV9QR0EoIlJpZ2h0IFBHQSIsIFVEQTEzODBfUE0sIDEsIDAsIE5VTEwsIDApLAorCVNORF9TT0NfREFQTV9QR0EoIk1pYyBMTkEiLCBVREExMzgwX1BNLCA0LCAwLCBOVUxMLCAwKSwKKwlTTkRfU09DX0RBUE1fQURDKCJMZWZ0IEFEQyIsICJMZWZ0IENhcHR1cmUiLCBVREExMzgwX1BNLCAyLCAwKSwKKwlTTkRfU09DX0RBUE1fQURDKCJSaWdodCBBREMiLCAiUmlnaHQgQ2FwdHVyZSIsIFVEQTEzODBfUE0sIDAsIDApLAorCVNORF9TT0NfREFQTV9JTlBVVCgiVklOTSIpLAorCVNORF9TT0NfREFQTV9JTlBVVCgiVklOTCIpLAorCVNORF9TT0NfREFQTV9JTlBVVCgiVklOUiIpLAorCVNORF9TT0NfREFQTV9NSVhFUigiQW5hbG9nIE1peGVyIiwgVURBMTM4MF9QTSwgNiwgMCwgTlVMTCwgMCksCisJU05EX1NPQ19EQVBNX09VVFBVVCgiVk9VVExIUCIpLAorCVNORF9TT0NfREFQTV9PVVRQVVQoIlZPVVRSSFAiKSwKKwlTTkRfU09DX0RBUE1fT1VUUFVUKCJWT1VUTCIpLAorCVNORF9TT0NfREFQTV9PVVRQVVQoIlZPVVRSIiksCisJU05EX1NPQ19EQVBNX0RBQygiREFDIiwgIlBsYXliYWNrIiwgVURBMTM4MF9QTSwgMTAsIDApLAorCVNORF9TT0NfREFQTV9QR0EoIkhlYWRQaG9uZSBEcml2ZXIiLCBVREExMzgwX1BNLCAxMywgMCwgTlVMTCwgMCksCit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9zb2NfZGFwbV9yb3V0ZSBhdWRpb19tYXBbXSA9IHsKKworCS8qIG91dHB1dCBtdXggKi8KKwl7IkhlYWRQaG9uZSBEcml2ZXIiLCBOVUxMLCAiT3V0cHV0IE11eCJ9LAorCXsiVk9VVFIiLCBOVUxMLCAiT3V0cHV0IE11eCJ9LAorCXsiVk9VVEwiLCBOVUxMLCAiT3V0cHV0IE11eCJ9LAorCisJeyJBbmFsb2cgTWl4ZXIiLCBOVUxMLCAiVklOUiJ9LAorCXsiQW5hbG9nIE1peGVyIiwgTlVMTCwgIlZJTkwifSwKKwl7IkFuYWxvZyBNaXhlciIsIE5VTEwsICJEQUMifSwKKworCXsiT3V0cHV0IE11eCIsICJEQUMiLCAiREFDIn0sCisJeyJPdXRwdXQgTXV4IiwgIkFuYWxvZyBNaXhlciIsICJBbmFsb2cgTWl4ZXIifSwKKworCS8qIHsiREFDIiwgIkRpZ2l0YWwgTWl4ZXIiLCAiSTJTIiB9ICovCisKKwkvKiBoZWFkcGhvbmUgZHJpdmVyICovCisJeyJWT1VUTEhQIiwgTlVMTCwgIkhlYWRQaG9uZSBEcml2ZXIifSwKKwl7IlZPVVRSSFAiLCBOVUxMLCAiSGVhZFBob25lIERyaXZlciJ9LAorCisJLyogaW5wdXQgbXV4ICovCisJeyJMZWZ0IEFEQyIsIE5VTEwsICJJbnB1dCBNdXgifSwKKwl7IklucHV0IE11eCIsICJNaWMiLCAiTWljIExOQSJ9LAorCXsiSW5wdXQgTXV4IiwgIk1pYyArIExpbmUgUiIsICJNaWMgTE5BIn0sCisJeyJJbnB1dCBNdXgiLCAiTGluZSBMIiwgIkxlZnQgUEdBIn0sCisJeyJJbnB1dCBNdXgiLCAiTGluZSIsICJMZWZ0IFBHQSJ9LAorCisJLyogcmlnaHQgaW5wdXQgKi8KKwl7IlJpZ2h0IEFEQyIsICJNaWMgKyBMaW5lIFIiLCAiUmlnaHQgUEdBIn0sCisJeyJSaWdodCBBREMiLCAiTGluZSIsICJSaWdodCBQR0EifSwKKworCS8qIGlucHV0cyAqLworCXsiTWljIExOQSIsIE5VTEwsICJWSU5NIn0sCisJeyJMZWZ0IFBHQSIsIE5VTEwsICJWSU5MIn0sCisJeyJSaWdodCBQR0EiLCBOVUxMLCAiVklOUiJ9LAorfTsKKworc3RhdGljIGludCB1ZGExMzgwX2FkZF93aWRnZXRzKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYykKK3sKKwlzbmRfc29jX2RhcG1fbmV3X2NvbnRyb2xzKGNvZGVjLCB1ZGExMzgwX2RhcG1fd2lkZ2V0cywKKwkJCQkgIEFSUkFZX1NJWkUodWRhMTM4MF9kYXBtX3dpZGdldHMpKTsKKworCXNuZF9zb2NfZGFwbV9hZGRfcm91dGVzKGNvZGVjLCBhdWRpb19tYXAsIEFSUkFZX1NJWkUoYXVkaW9fbWFwKSk7CisKKwlzbmRfc29jX2RhcG1fbmV3X3dpZGdldHMoY29kZWMpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHVkYTEzODBfc2V0X2RhaV9mbXQoc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWksCisJCXVuc2lnbmVkIGludCBmbXQpCit7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gY29kZWNfZGFpLT5jb2RlYzsKKwlpbnQgaWZhY2U7CisKKwkvKiBzZXQgdXAgREFJIGJhc2VkIHVwb24gZm10ICovCisJaWZhY2UgPSB1ZGExMzgwX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBVREExMzgwX0lGQUNFKTsKKwlpZmFjZSAmPSB+KFIwMV9TRk9SSV9NQVNLIHwgUjAxX1NJTSB8IFIwMV9TRk9ST19NQVNLKTsKKworCS8qIEZJWE1FOiBob3cgdG8gc2VsZWN0IEkyUyBmb3IgREFUQU8gYW5kIE1TQiBmb3IgREFUQUkgY29ycmVjdGx5PyAqLworCXN3aXRjaCAoZm10ICYgU05EX1NPQ19EQUlGTVRfRk9STUFUX01BU0spIHsKKwljYXNlIFNORF9TT0NfREFJRk1UX0kyUzoKKwkJaWZhY2UgfD0gUjAxX1NGT1JJX0kyUyB8IFIwMV9TRk9ST19JMlM7CisJCWJyZWFrOworCWNhc2UgU05EX1NPQ19EQUlGTVRfTFNCOgorCQlpZmFjZSB8PSBSMDFfU0ZPUklfTFNCMTYgfCBSMDFfU0ZPUk9fSTJTOworCQlicmVhazsKKwljYXNlIFNORF9TT0NfREFJRk1UX01TQjoKKwkJaWZhY2UgfD0gUjAxX1NGT1JJX01TQiB8IFIwMV9TRk9ST19JMlM7CisJfQorCisJaWYgKChmbXQgJiBTTkRfU09DX0RBSUZNVF9NQVNURVJfTUFTSykgPT0gU05EX1NPQ19EQUlGTVRfQ0JNX0NGTSkKKwkJaWZhY2UgfD0gUjAxX1NJTTsKKworCXVkYTEzODBfd3JpdGUoY29kZWMsIFVEQTEzODBfSUZBQ0UsIGlmYWNlKTsKKworCXJldHVybiAwOworfQorCisvKgorICogRmx1c2ggcmVnIGNhY2hlCisgKiBXZSBjYW4gb25seSB3cml0ZSB0aGUgaW50ZXJwb2xhdG9yIGFuZCBkZWNpbWF0b3IgcmVnaXN0ZXJzCisgKiB3aGVuIHRoZSBEQUkgaXMgYmVpbmcgY2xvY2tlZCBieSB0aGUgQ1BVIERBSS4gSXQncyB1cCB0byB0aGUKKyAqIG1hY2hpbmUgYW5kIGNwdSBEQUkgZHJpdmVyIHRvIGRvIHRoaXMgYmVmb3JlIHdlIGFyZSBjYWxsZWQuCisgKi8KK3N0YXRpYyBpbnQgdWRhMTM4MF9wY21fcHJlcGFyZShzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKK3sKKwlzdHJ1Y3Qgc25kX3NvY19wY21fcnVudGltZSAqcnRkID0gc3Vic3RyZWFtLT5wcml2YXRlX2RhdGE7CisJc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYgPSBydGQtPnNvY2RldjsKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzb2NkZXYtPmNvZGVjOworCWludCByZWcsIHJlZ19zdGFydCwgcmVnX2VuZCwgY2xrOworCisJaWYgKHN1YnN0cmVhbS0+c3RyZWFtID09IFNORFJWX1BDTV9TVFJFQU1fUExBWUJBQ0spIHsKKwkJcmVnX3N0YXJ0ID0gVURBMTM4MF9NVk9MOworCQlyZWdfZW5kID0gVURBMTM4MF9NSVhFUjsKKwl9IGVsc2UgeworCQlyZWdfc3RhcnQgPSBVREExMzgwX0RFQzsKKwkJcmVnX2VuZCA9IFVEQTEzODBfQUdDOworCX0KKworCS8qIEZJWE1FIGRpc2FibGUgREFDX0NMSyAqLworCWNsayA9IHVkYTEzODBfcmVhZF9yZWdfY2FjaGUoY29kZWMsIFVEQTEzODBfQ0xLKTsKKwl1ZGExMzgwX3dyaXRlKGNvZGVjLCBVREExMzgwX0NMSywgY2xrICYgflIwMF9EQUNfQ0xLKTsKKworCWZvciAocmVnID0gcmVnX3N0YXJ0OyByZWcgPD0gcmVnX2VuZDsgcmVnKyspIHsKKwkJcHJfZGVidWcoInVkYTEzODA6IGZsdXNoIHJlZyAleCB2YWwgJXg6IiwgcmVnLAorCQkJCXVkYTEzODBfcmVhZF9yZWdfY2FjaGUoY29kZWMsIHJlZykpOworCQl1ZGExMzgwX3dyaXRlKGNvZGVjLCByZWcsIHVkYTEzODBfcmVhZF9yZWdfY2FjaGUoY29kZWMsIHJlZykpOworCX0KKworCS8qIEZJWE1FIGVuYWJsZSBEQUNfQ0xLICovCisJdWRhMTM4MF93cml0ZShjb2RlYywgVURBMTM4MF9DTEssIGNsayB8IFIwMF9EQUNfQ0xLKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHVkYTEzODBfcGNtX2h3X3BhcmFtcyhzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSwKKwlzdHJ1Y3Qgc25kX3BjbV9od19wYXJhbXMgKnBhcmFtcykKK3sKKwlzdHJ1Y3Qgc25kX3NvY19wY21fcnVudGltZSAqcnRkID0gc3Vic3RyZWFtLT5wcml2YXRlX2RhdGE7CisJc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYgPSBydGQtPnNvY2RldjsKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzb2NkZXYtPmNvZGVjOworCXUxNiBjbGsgPSB1ZGExMzgwX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBVREExMzgwX0NMSyk7CisKKwkvKiBzZXQgV1NQTEwgcG93ZXIgYW5kIGRpdmlkZXIgaWYgcnVubmluZyBmcm9tIHRoaXMgY2xvY2sgKi8KKwlpZiAoY2xrICYgUjAwX0RBQ19DTEspIHsKKwkJaW50IHJhdGUgPSBwYXJhbXNfcmF0ZShwYXJhbXMpOworCQl1MTYgcG0gPSB1ZGExMzgwX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBVREExMzgwX1BNKTsKKwkJY2xrICY9IH4weDM7IC8qIGNsZWFyIFNFTF9MT09QX0RJViAqLworCQlzd2l0Y2ggKHJhdGUpIHsKKwkJY2FzZSA2MjUwIC4uLiAxMjUwMDoKKwkJCWNsayB8PSAweDA7CisJCQlicmVhazsKKwkJY2FzZSAxMjUwMSAuLi4gMjUwMDA6CisJCQljbGsgfD0gMHgxOworCQkJYnJlYWs7CisJCWNhc2UgMjUwMDEgLi4uIDUwMDAwOgorCQkJY2xrIHw9IDB4MjsKKwkJCWJyZWFrOworCQljYXNlIDUwMDAxIC4uLiAxMDAwMDA6CisJCQljbGsgfD0gMHgzOworCQkJYnJlYWs7CisJCX0KKwkJdWRhMTM4MF93cml0ZShjb2RlYywgVURBMTM4MF9QTSwgUjAyX1BPTl9QTEwgfCBwbSk7CisJfQorCisJaWYgKHN1YnN0cmVhbS0+c3RyZWFtID09IFNORFJWX1BDTV9TVFJFQU1fUExBWUJBQ0spCisJCWNsayB8PSBSMDBfRU5fREFDIHwgUjAwX0VOX0lOVDsKKwllbHNlCisJCWNsayB8PSBSMDBfRU5fQURDIHwgUjAwX0VOX0RFQzsKKworCXVkYTEzODBfd3JpdGUoY29kZWMsIFVEQTEzODBfQ0xLLCBjbGspOworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCB1ZGExMzgwX3BjbV9zaHV0ZG93bihzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKK3sKKwlzdHJ1Y3Qgc25kX3NvY19wY21fcnVudGltZSAqcnRkID0gc3Vic3RyZWFtLT5wcml2YXRlX2RhdGE7CisJc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYgPSBydGQtPnNvY2RldjsKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzb2NkZXYtPmNvZGVjOworCXUxNiBjbGsgPSB1ZGExMzgwX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBVREExMzgwX0NMSyk7CisKKwkvKiBzaHV0IGRvd24gV1NQTEwgcG93ZXIgaWYgcnVubmluZyBmcm9tIHRoaXMgY2xvY2sgKi8KKwlpZiAoY2xrICYgUjAwX0RBQ19DTEspIHsKKwkJdTE2IHBtID0gdWRhMTM4MF9yZWFkX3JlZ19jYWNoZShjb2RlYywgVURBMTM4MF9QTSk7CisJCXVkYTEzODBfd3JpdGUoY29kZWMsIFVEQTEzODBfUE0sIH5SMDJfUE9OX1BMTCAmIHBtKTsKKwl9CisKKwlpZiAoc3Vic3RyZWFtLT5zdHJlYW0gPT0gU05EUlZfUENNX1NUUkVBTV9QTEFZQkFDSykKKwkJY2xrICY9IH4oUjAwX0VOX0RBQyB8IFIwMF9FTl9JTlQpOworCWVsc2UKKwkJY2xrICY9IH4oUjAwX0VOX0FEQyB8IFIwMF9FTl9ERUMpOworCisJdWRhMTM4MF93cml0ZShjb2RlYywgVURBMTM4MF9DTEssIGNsayk7Cit9CisKK3N0YXRpYyBpbnQgdWRhMTM4MF9tdXRlKHN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpLCBpbnQgbXV0ZSkKK3sKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBjb2RlY19kYWktPmNvZGVjOworCXUxNiBtdXRlX3JlZyA9IHVkYTEzODBfcmVhZF9yZWdfY2FjaGUoY29kZWMsIFVEQTEzODBfREVFTVApICYgflIxM19NVE07CisKKwkvKiBGSVhNRTogbXV0ZShjb2RlYywwKSBpcyBjYWxsZWQgd2hlbiB0aGUgbWFnaWNpYW4gY2xvY2sgaXMgYWxyZWFkeQorCSAqIHNldCB0byBXU1BMTCwgYnV0IGZvciBzb21lIHVua25vd24gcmVhc29uIHdyaXRpbmcgdG8gaW50ZXJwb2xhdG9yCisJICogcmVnaXN0ZXJzIHdvcmtzIG9ubHkgd2hlbiBjbG9ja2VkIGJ5IFNZU0NMSyAqLworCXUxNiBjbGsgPSB1ZGExMzgwX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBVREExMzgwX0NMSyk7CisJdWRhMTM4MF93cml0ZShjb2RlYywgVURBMTM4MF9DTEssIH5SMDBfREFDX0NMSyAmIGNsayk7CisJaWYgKG11dGUpCisJCXVkYTEzODBfd3JpdGUoY29kZWMsIFVEQTEzODBfREVFTVAsIG11dGVfcmVnIHwgUjEzX01UTSk7CisJZWxzZQorCQl1ZGExMzgwX3dyaXRlKGNvZGVjLCBVREExMzgwX0RFRU1QLCBtdXRlX3JlZyk7CisJdWRhMTM4MF93cml0ZShjb2RlYywgVURBMTM4MF9DTEssIGNsayk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgdWRhMTM4MF9zZXRfYmlhc19sZXZlbChzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsCisJZW51bSBzbmRfc29jX2JpYXNfbGV2ZWwgbGV2ZWwpCit7CisJaW50IHBtID0gdWRhMTM4MF9yZWFkX3JlZ19jYWNoZShjb2RlYywgVURBMTM4MF9QTSk7CisKKwlzd2l0Y2ggKGxldmVsKSB7CisJY2FzZSBTTkRfU09DX0JJQVNfT046CisJY2FzZSBTTkRfU09DX0JJQVNfUFJFUEFSRToKKwkJdWRhMTM4MF93cml0ZShjb2RlYywgVURBMTM4MF9QTSwgUjAyX1BPTl9CSUFTIHwgcG0pOworCQlicmVhazsKKwljYXNlIFNORF9TT0NfQklBU19TVEFOREJZOgorCQl1ZGExMzgwX3dyaXRlKGNvZGVjLCBVREExMzgwX1BNLCBSMDJfUE9OX0JJQVMpOworCQlicmVhazsKKwljYXNlIFNORF9TT0NfQklBU19PRkY6CisJCXVkYTEzODBfd3JpdGUoY29kZWMsIFVEQTEzODBfUE0sIDB4MCk7CisJCWJyZWFrOworCX0KKwljb2RlYy0+Ymlhc19sZXZlbCA9IGxldmVsOworCXJldHVybiAwOworfQorCisjZGVmaW5lIFVEQTEzODBfUkFURVMgKFNORFJWX1BDTV9SQVRFXzgwMDAgfCBTTkRSVl9QQ01fUkFURV8xMTAyNSB8XAorCQkgICAgICAgU05EUlZfUENNX1JBVEVfMTYwMDAgfCBTTkRSVl9QQ01fUkFURV8yMjA1MCB8XAorCQkgICAgICAgU05EUlZfUENNX1JBVEVfNDQxMDAgfCBTTkRSVl9QQ01fUkFURV80ODAwMCkKKworc3RydWN0IHNuZF9zb2NfZGFpIHVkYTEzODBfZGFpW10gPSB7Cit7CisJLm5hbWUgPSAiVURBMTM4MCIsCisJLnBsYXliYWNrID0geworCQkuc3RyZWFtX25hbWUgPSAiUGxheWJhY2siLAorCQkuY2hhbm5lbHNfbWluID0gMSwKKwkJLmNoYW5uZWxzX21heCA9IDIsCisJCS5yYXRlcyA9IFVEQTEzODBfUkFURVMsCisJCS5mb3JtYXRzID0gU05EUlZfUENNX0ZNVEJJVF9TMTZfTEUsfSwKKwkuY2FwdHVyZSA9IHsKKwkJLnN0cmVhbV9uYW1lID0gIkNhcHR1cmUiLAorCQkuY2hhbm5lbHNfbWluID0gMSwKKwkJLmNoYW5uZWxzX21heCA9IDIsCisJCS5yYXRlcyA9IFVEQTEzODBfUkFURVMsCisJCS5mb3JtYXRzID0gU05EUlZfUENNX0ZNVEJJVF9TMTZfTEUsfSwKKwkub3BzID0geworCQkuaHdfcGFyYW1zID0gdWRhMTM4MF9wY21faHdfcGFyYW1zLAorCQkuc2h1dGRvd24gPSB1ZGExMzgwX3BjbV9zaHV0ZG93biwKKwkJLnByZXBhcmUgPSB1ZGExMzgwX3BjbV9wcmVwYXJlLAorCX0sCisJLmRhaV9vcHMgPSB7CisJCS5kaWdpdGFsX211dGUgPSB1ZGExMzgwX211dGUsCisJCS5zZXRfZm10ID0gdWRhMTM4MF9zZXRfZGFpX2ZtdCwKKwl9LAorfSwKK3sgLyogcGxheWJhY2sgb25seSAtIGR1YWwgaW50ZXJmYWNlICovCisJLm5hbWUgPSAiVURBMTM4MCIsCisJLnBsYXliYWNrID0geworCQkuc3RyZWFtX25hbWUgPSAiUGxheWJhY2siLAorCQkuY2hhbm5lbHNfbWluID0gMSwKKwkJLmNoYW5uZWxzX21heCA9IDIsCisJCS5yYXRlcyA9IFVEQTEzODBfUkFURVMsCisJCS5mb3JtYXRzID0gU05EUlZfUENNX0ZNVEJJVF9TMTZfTEUsCisJfSwKKwkub3BzID0geworCQkuaHdfcGFyYW1zID0gdWRhMTM4MF9wY21faHdfcGFyYW1zLAorCQkuc2h1dGRvd24gPSB1ZGExMzgwX3BjbV9zaHV0ZG93biwKKwkJLnByZXBhcmUgPSB1ZGExMzgwX3BjbV9wcmVwYXJlLAorCX0sCisJLmRhaV9vcHMgPSB7CisJCS5kaWdpdGFsX211dGUgPSB1ZGExMzgwX211dGUsCisJCS5zZXRfZm10ID0gdWRhMTM4MF9zZXRfZGFpX2ZtdCwKKwl9LAorfSwKK3sgLyogY2FwdHVyZSBvbmx5IC0gZHVhbCBpbnRlcmZhY2UqLworCS5uYW1lID0gIlVEQTEzODAiLAorCS5jYXB0dXJlID0geworCQkuc3RyZWFtX25hbWUgPSAiQ2FwdHVyZSIsCisJCS5jaGFubmVsc19taW4gPSAxLAorCQkuY2hhbm5lbHNfbWF4ID0gMiwKKwkJLnJhdGVzID0gVURBMTM4MF9SQVRFUywKKwkJLmZvcm1hdHMgPSBTTkRSVl9QQ01fRk1UQklUX1MxNl9MRSwKKwl9LAorCS5vcHMgPSB7CisJCS5od19wYXJhbXMgPSB1ZGExMzgwX3BjbV9od19wYXJhbXMsCisJCS5zaHV0ZG93biA9IHVkYTEzODBfcGNtX3NodXRkb3duLAorCQkucHJlcGFyZSA9IHVkYTEzODBfcGNtX3ByZXBhcmUsCisJfSwKKwkuZGFpX29wcyA9IHsKKwkJLnNldF9mbXQgPSB1ZGExMzgwX3NldF9kYWlfZm10LAorCX0sCit9LAorfTsKK0VYUE9SVF9TWU1CT0xfR1BMKHVkYTEzODBfZGFpKTsKKworc3RhdGljIGludCB1ZGExMzgwX3N1c3BlbmQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwgcG1fbWVzc2FnZV90IHN0YXRlKQoreworCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc29jZGV2LT5jb2RlYzsKKworCXVkYTEzODBfc2V0X2JpYXNfbGV2ZWwoY29kZWMsIFNORF9TT0NfQklBU19PRkYpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHVkYTEzODBfcmVzdW1lKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzb2NkZXYtPmNvZGVjOworCWludCBpOworCXU4IGRhdGFbMl07CisJdTE2ICpjYWNoZSA9IGNvZGVjLT5yZWdfY2FjaGU7CisKKwkvKiBTeW5jIHJlZ19jYWNoZSB3aXRoIHRoZSBoYXJkd2FyZSAqLworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHVkYTEzODBfcmVnKTsgaSsrKSB7CisJCWRhdGFbMF0gPSAoaSA8PCAxKSB8ICgoY2FjaGVbaV0gPj4gOCkgJiAweDAwMDEpOworCQlkYXRhWzFdID0gY2FjaGVbaV0gJiAweDAwZmY7CisJCWNvZGVjLT5od193cml0ZShjb2RlYy0+Y29udHJvbF9kYXRhLCBkYXRhLCAyKTsKKwl9CisJdWRhMTM4MF9zZXRfYmlhc19sZXZlbChjb2RlYywgU05EX1NPQ19CSUFTX1NUQU5EQlkpOworCXVkYTEzODBfc2V0X2JpYXNfbGV2ZWwoY29kZWMsIGNvZGVjLT5zdXNwZW5kX2JpYXNfbGV2ZWwpOworCXJldHVybiAwOworfQorCisvKgorICogaW5pdGlhbGlzZSB0aGUgVURBMTM4MCBkcml2ZXIKKyAqIHJlZ2lzdGVyIG1peGVyIGFuZCBkc3AgaW50ZXJmYWNlcyB3aXRoIHRoZSBrZXJuZWwKKyAqLworc3RhdGljIGludCB1ZGExMzgwX2luaXQoc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYsIGludCBkYWNfY2xrKQoreworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNvY2Rldi0+Y29kZWM7CisJaW50IHJldCA9IDA7CisKKwljb2RlYy0+bmFtZSA9ICJVREExMzgwIjsKKwljb2RlYy0+b3duZXIgPSBUSElTX01PRFVMRTsKKwljb2RlYy0+cmVhZCA9IHVkYTEzODBfcmVhZF9yZWdfY2FjaGU7CisJY29kZWMtPndyaXRlID0gdWRhMTM4MF93cml0ZTsKKwljb2RlYy0+c2V0X2JpYXNfbGV2ZWwgPSB1ZGExMzgwX3NldF9iaWFzX2xldmVsOworCWNvZGVjLT5kYWkgPSB1ZGExMzgwX2RhaTsKKwljb2RlYy0+bnVtX2RhaSA9IEFSUkFZX1NJWkUodWRhMTM4MF9kYWkpOworCWNvZGVjLT5yZWdfY2FjaGUgPSBrbWVtZHVwKHVkYTEzODBfcmVnLCBzaXplb2YodWRhMTM4MF9yZWcpLAorCQkJCSAgIEdGUF9LRVJORUwpOworCWlmIChjb2RlYy0+cmVnX2NhY2hlID09IE5VTEwpCisJCXJldHVybiAtRU5PTUVNOworCWNvZGVjLT5yZWdfY2FjaGVfc2l6ZSA9IEFSUkFZX1NJWkUodWRhMTM4MF9yZWcpOworCWNvZGVjLT5yZWdfY2FjaGVfc3RlcCA9IDE7CisJdWRhMTM4MF9yZXNldChjb2RlYyk7CisKKwkvKiByZWdpc3RlciBwY21zICovCisJcmV0ID0gc25kX3NvY19uZXdfcGNtcyhzb2NkZXYsIFNORFJWX0RFRkFVTFRfSURYMSwgU05EUlZfREVGQVVMVF9TVFIxKTsKKwlpZiAocmV0IDwgMCkgeworCQlwcl9lcnIoInVkYTEzODA6IGZhaWxlZCB0byBjcmVhdGUgcGNtc1xuIik7CisJCWdvdG8gcGNtX2VycjsKKwl9CisKKwkvKiBwb3dlciBvbiBkZXZpY2UgKi8KKwl1ZGExMzgwX3NldF9iaWFzX2xldmVsKGNvZGVjLCBTTkRfU09DX0JJQVNfU1RBTkRCWSk7CisJLyogc2V0IGNsb2NrIGlucHV0ICovCisJc3dpdGNoIChkYWNfY2xrKSB7CisJY2FzZSBVREExMzgwX0RBQ19DTEtfU1lTQ0xLOgorCQl1ZGExMzgwX3dyaXRlKGNvZGVjLCBVREExMzgwX0NMSywgMCk7CisJCWJyZWFrOworCWNhc2UgVURBMTM4MF9EQUNfQ0xLX1dTUExMOgorCQl1ZGExMzgwX3dyaXRlKGNvZGVjLCBVREExMzgwX0NMSywgUjAwX0RBQ19DTEspOworCQlicmVhazsKKwl9CisKKwkvKiB1ZGExMzgwIGluaXQgKi8KKwl1ZGExMzgwX2FkZF9jb250cm9scyhjb2RlYyk7CisJdWRhMTM4MF9hZGRfd2lkZ2V0cyhjb2RlYyk7CisJcmV0ID0gc25kX3NvY19yZWdpc3Rlcl9jYXJkKHNvY2Rldik7CisJaWYgKHJldCA8IDApIHsKKwkJcHJfZXJyKCJ1ZGExMzgwOiBmYWlsZWQgdG8gcmVnaXN0ZXIgY2FyZFxuIik7CisJCWdvdG8gY2FyZF9lcnI7CisJfQorCisJcmV0dXJuIHJldDsKKworY2FyZF9lcnI6CisJc25kX3NvY19mcmVlX3BjbXMoc29jZGV2KTsKKwlzbmRfc29jX2RhcG1fZnJlZShzb2NkZXYpOworcGNtX2VycjoKKwlrZnJlZShjb2RlYy0+cmVnX2NhY2hlKTsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgc3RydWN0IHNuZF9zb2NfZGV2aWNlICp1ZGExMzgwX3NvY2RldjsKKworI2lmIGRlZmluZWQoQ09ORklHX0kyQykgfHwgZGVmaW5lZChDT05GSUdfSTJDX01PRFVMRSkKKworI2RlZmluZSBJMkNfRFJJVkVSSURfVURBMTM4MCAweGZlZmUgLyogbGlhbSAtICBuZWVkIGEgcHJvcGVyIGlkICovCisKK3N0YXRpYyB1bnNpZ25lZCBzaG9ydCBub3JtYWxfaTJjW10gPSB7IDAsIEkyQ19DTElFTlRfRU5EIH07CisKKy8qIE1hZ2ljIGRlZmluaXRpb24gb2YgYWxsIG90aGVyIHZhcmlhYmxlcyBhbmQgdGhpbmdzICovCitJMkNfQ0xJRU5UX0lOU01PRDsKKworc3RhdGljIHN0cnVjdCBpMmNfZHJpdmVyIHVkYTEzODBfaTJjX2RyaXZlcjsKK3N0YXRpYyBzdHJ1Y3QgaTJjX2NsaWVudCBjbGllbnRfdGVtcGxhdGU7CisKKy8qIElmIHRoZSBpMmMgbGF5ZXIgd2VyZW4ndCBzbyBicm9rZW4sIHdlIGNvdWxkIHBhc3MgdGhpcyBraW5kIG9mIGRhdGEKKyAgIGFyb3VuZCAqLworCitzdGF0aWMgaW50IHVkYTEzODBfY29kZWNfcHJvYmUoc3RydWN0IGkyY19hZGFwdGVyICphZGFwLCBpbnQgYWRkciwgaW50IGtpbmQpCit7CisJc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYgPSB1ZGExMzgwX3NvY2RldjsKKwlzdHJ1Y3QgdWRhMTM4MF9zZXR1cF9kYXRhICpzZXR1cCA9IHNvY2Rldi0+Y29kZWNfZGF0YTsKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzb2NkZXYtPmNvZGVjOworCXN0cnVjdCBpMmNfY2xpZW50ICppMmM7CisJaW50IHJldDsKKworCWlmIChhZGRyICE9IHNldHVwLT5pMmNfYWRkcmVzcykKKwkJcmV0dXJuIC1FTk9ERVY7CisKKwljbGllbnRfdGVtcGxhdGUuYWRhcHRlciA9IGFkYXA7CisJY2xpZW50X3RlbXBsYXRlLmFkZHIgPSBhZGRyOworCisJaTJjID0ga21lbWR1cCgmY2xpZW50X3RlbXBsYXRlLCBzaXplb2YoY2xpZW50X3RlbXBsYXRlKSwgR0ZQX0tFUk5FTCk7CisJaWYgKGkyYyA9PSBOVUxMKSB7CisJCWtmcmVlKGNvZGVjKTsKKwkJcmV0dXJuIC1FTk9NRU07CisJfQorCWkyY19zZXRfY2xpZW50ZGF0YShpMmMsIGNvZGVjKTsKKwljb2RlYy0+Y29udHJvbF9kYXRhID0gaTJjOworCisJcmV0ID0gaTJjX2F0dGFjaF9jbGllbnQoaTJjKTsKKwlpZiAocmV0IDwgMCkgeworCQlwcl9lcnIoInVkYTEzODA6IGZhaWxlZCB0byBhdHRhY2ggY29kZWMgYXQgYWRkciAleFxuIiwgYWRkcik7CisJCWdvdG8gZXJyOworCX0KKworCXJldCA9IHVkYTEzODBfaW5pdChzb2NkZXYsIHNldHVwLT5kYWNfY2xrKTsKKwlpZiAocmV0IDwgMCkgeworCQlwcl9lcnIoInVkYTEzODA6IGZhaWxlZCB0byBpbml0aWFsaXNlIFVEQTEzODBcbiIpOworCQlnb3RvIGVycjsKKwl9CisJcmV0dXJuIHJldDsKKworZXJyOgorCWtmcmVlKGNvZGVjKTsKKwlrZnJlZShpMmMpOworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgdWRhMTM4MF9pMmNfZGV0YWNoKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCit7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7CisJaTJjX2RldGFjaF9jbGllbnQoY2xpZW50KTsKKwlrZnJlZShjb2RlYy0+cmVnX2NhY2hlKTsKKwlrZnJlZShjbGllbnQpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHVkYTEzODBfaTJjX2F0dGFjaChzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXApCit7CisJcmV0dXJuIGkyY19wcm9iZShhZGFwLCAmYWRkcl9kYXRhLCB1ZGExMzgwX2NvZGVjX3Byb2JlKTsKK30KKworc3RhdGljIHN0cnVjdCBpMmNfZHJpdmVyIHVkYTEzODBfaTJjX2RyaXZlciA9IHsKKwkuZHJpdmVyID0geworCQkubmFtZSA9ICAiVURBMTM4MCBJMkMgQ29kZWMiLAorCQkub3duZXIgPSBUSElTX01PRFVMRSwKKwl9LAorCS5pZCA9ICAgICAgICAgICAgIEkyQ19EUklWRVJJRF9VREExMzgwLAorCS5hdHRhY2hfYWRhcHRlciA9IHVkYTEzODBfaTJjX2F0dGFjaCwKKwkuZGV0YWNoX2NsaWVudCA9ICB1ZGExMzgwX2kyY19kZXRhY2gsCisJLmNvbW1hbmQgPSAgICAgICAgTlVMTCwKK307CisKK3N0YXRpYyBzdHJ1Y3QgaTJjX2NsaWVudCBjbGllbnRfdGVtcGxhdGUgPSB7CisJLm5hbWUgPSAgICJVREExMzgwIiwKKwkuZHJpdmVyID0gJnVkYTEzODBfaTJjX2RyaXZlciwKK307CisjZW5kaWYKKworc3RhdGljIGludCB1ZGExMzgwX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKKwlzdHJ1Y3QgdWRhMTM4MF9zZXR1cF9kYXRhICpzZXR1cDsKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWM7CisJaW50IHJldCA9IDA7CisKKwlwcl9pbmZvKCJVREExMzgwIEF1ZGlvIENvZGVjICVzIiwgVURBMTM4MF9WRVJTSU9OKTsKKworCXNldHVwID0gc29jZGV2LT5jb2RlY19kYXRhOworCWNvZGVjID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IHNuZF9zb2NfY29kZWMpLCBHRlBfS0VSTkVMKTsKKwlpZiAoY29kZWMgPT0gTlVMTCkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlzb2NkZXYtPmNvZGVjID0gY29kZWM7CisJbXV0ZXhfaW5pdCgmY29kZWMtPm11dGV4KTsKKwlJTklUX0xJU1RfSEVBRCgmY29kZWMtPmRhcG1fd2lkZ2V0cyk7CisJSU5JVF9MSVNUX0hFQUQoJmNvZGVjLT5kYXBtX3BhdGhzKTsKKworCXVkYTEzODBfc29jZGV2ID0gc29jZGV2OworI2lmIGRlZmluZWQoQ09ORklHX0kyQykgfHwgZGVmaW5lZChDT05GSUdfSTJDX01PRFVMRSkKKwlpZiAoc2V0dXAtPmkyY19hZGRyZXNzKSB7CisJCW5vcm1hbF9pMmNbMF0gPSBzZXR1cC0+aTJjX2FkZHJlc3M7CisJCWNvZGVjLT5od193cml0ZSA9IChod193cml0ZV90KWkyY19tYXN0ZXJfc2VuZDsKKwkJcmV0ID0gaTJjX2FkZF9kcml2ZXIoJnVkYTEzODBfaTJjX2RyaXZlcik7CisJCWlmIChyZXQgIT0gMCkKKwkJCXByaW50ayhLRVJOX0VSUiAiY2FuJ3QgYWRkIGkyYyBkcml2ZXIiKTsKKwl9CisjZWxzZQorCS8qIEFkZCBvdGhlciBpbnRlcmZhY2VzIGhlcmUgKi8KKyNlbmRpZgorCXJldHVybiByZXQ7Cit9CisKKy8qIHBvd2VyIGRvd24gY2hpcCAqLworc3RhdGljIGludCB1ZGExMzgwX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc29jZGV2LT5jb2RlYzsKKworCWlmIChjb2RlYy0+Y29udHJvbF9kYXRhKQorCQl1ZGExMzgwX3NldF9iaWFzX2xldmVsKGNvZGVjLCBTTkRfU09DX0JJQVNfT0ZGKTsKKworCXNuZF9zb2NfZnJlZV9wY21zKHNvY2Rldik7CisJc25kX3NvY19kYXBtX2ZyZWUoc29jZGV2KTsKKyNpZiBkZWZpbmVkKENPTkZJR19JMkMpIHx8IGRlZmluZWQoQ09ORklHX0kyQ19NT0RVTEUpCisJaTJjX2RlbF9kcml2ZXIoJnVkYTEzODBfaTJjX2RyaXZlcik7CisjZW5kaWYKKwlrZnJlZShjb2RlYyk7CisKKwlyZXR1cm4gMDsKK30KKworc3RydWN0IHNuZF9zb2NfY29kZWNfZGV2aWNlIHNvY19jb2RlY19kZXZfdWRhMTM4MCA9IHsKKwkucHJvYmUgPSAJdWRhMTM4MF9wcm9iZSwKKwkucmVtb3ZlID0gCXVkYTEzODBfcmVtb3ZlLAorCS5zdXNwZW5kID0gCXVkYTEzODBfc3VzcGVuZCwKKwkucmVzdW1lID0JdWRhMTM4MF9yZXN1bWUsCit9OworRVhQT1JUX1NZTUJPTF9HUEwoc29jX2NvZGVjX2Rldl91ZGExMzgwKTsKKworTU9EVUxFX0FVVEhPUigiR2lvcmdpbyBQYWRyaW4iKTsKK01PRFVMRV9ERVNDUklQVElPTigiQXVkaW8gc3VwcG9ydCBmb3IgY29kZWMgUGhpbGlwcyBVREExMzgwIik7CitNT0RVTEVfTElDRU5TRSgiR1BMIik7CmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvY29kZWNzL3VkYTEzODAuaCBiL3NvdW5kL3NvYy9jb2RlY3MvdWRhMTM4MC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUwYzYwM2UKLS0tIC9kZXYvbnVsbAorKysgYi9zb3VuZC9zb2MvY29kZWNzL3VkYTEzODAuaApAQCAtMCwwICsxLDg5IEBACisvKgorICogQXVkaW8gc3VwcG9ydCBmb3IgUGhpbGlwcyBVREExMzgwCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwMDUgR2lvcmdpbyBQYWRyaW4gPGdpb3JnaW9AbWFuZGFyaW5sb2dpcS5vcmc+CisgKi8KKworI2lmbmRlZiBfVURBMTM4MF9ICisjZGVmaW5lIF9VREExMzgwX0gKKworI2RlZmluZSBVREExMzgwX0NMSwkweDAwCisjZGVmaW5lIFVEQTEzODBfSUZBQ0UJMHgwMQorI2RlZmluZSBVREExMzgwX1BNCTB4MDIKKyNkZWZpbmUgVURBMTM4MF9BTUlYCTB4MDMKKyNkZWZpbmUgVURBMTM4MF9IUAkweDA0CisjZGVmaW5lIFVEQTEzODBfTVZPTAkweDEwCisjZGVmaW5lIFVEQTEzODBfTUlYVk9MCTB4MTEKKyNkZWZpbmUgVURBMTM4MF9NT0RFCTB4MTIKKyNkZWZpbmUgVURBMTM4MF9ERUVNUAkweDEzCisjZGVmaW5lIFVEQTEzODBfTUlYRVIJMHgxNAorI2RlZmluZSBVREExMzgwX0lOVFNUQVQJMHgxOAorI2RlZmluZSBVREExMzgwX0RFQwkweDIwCisjZGVmaW5lIFVEQTEzODBfUEdBCTB4MjEKKyNkZWZpbmUgVURBMTM4MF9BREMJMHgyMgorI2RlZmluZSBVREExMzgwX0FHQwkweDIzCisjZGVmaW5lIFVEQTEzODBfREVDU1RBVAkweDI4CisjZGVmaW5lIFVEQTEzODBfUkVTRVQJMHg3ZgorCisjZGVmaW5lIFVEQTEzODBfQ0FDSEVSRUdOVU0gMHgyNAorCisvKiBSZWdpc3RlciBmbGFncyAqLworI2RlZmluZSBSMDBfRU5fQURDCTB4MDgwMAorI2RlZmluZSBSMDBfRU5fREVDCTB4MDQwMAorI2RlZmluZSBSMDBfRU5fREFDCTB4MDIwMAorI2RlZmluZSBSMDBfRU5fSU5UCTB4MDEwMAorI2RlZmluZSBSMDBfREFDX0NMSwkweDAwMTAKKyNkZWZpbmUgUjAxX1NGT1JJX0kyUyAgIDB4MDAwMAorI2RlZmluZSBSMDFfU0ZPUklfTFNCMTYgMHgwMTAwCisjZGVmaW5lIFIwMV9TRk9SSV9MU0IxOCAweDAyMDAKKyNkZWZpbmUgUjAxX1NGT1JJX0xTQjIwIDB4MDMwMAorI2RlZmluZSBSMDFfU0ZPUklfTVNCICAgMHgwNTAwCisjZGVmaW5lIFIwMV9TRk9SSV9NQVNLICAweDA3MDAKKyNkZWZpbmUgUjAxX1NGT1JPX0kyUyAgIDB4MDAwMAorI2RlZmluZSBSMDFfU0ZPUk9fTFNCMTYgMHgwMDAxCisjZGVmaW5lIFIwMV9TRk9ST19MU0IxOCAweDAwMDIKKyNkZWZpbmUgUjAxX1NGT1JPX0xTQjIwIDB4MDAwMworI2RlZmluZSBSMDFfU0ZPUk9fTFNCMjQgMHgwMDA0CisjZGVmaW5lIFIwMV9TRk9ST19NU0IgICAweDAwMDUKKyNkZWZpbmUgUjAxX1NGT1JPX01BU0sgIDB4MDAwNworI2RlZmluZSBSMDFfU0VMX1NPVVJDRSAgMHgwMDQwCisjZGVmaW5lIFIwMV9TSU0JCTB4MDAxMAorI2RlZmluZSBSMDJfUE9OX1BMTAkweDgwMDAKKyNkZWZpbmUgUjAyX1BPTl9IUAkweDIwMDAKKyNkZWZpbmUgUjAyX1BPTl9EQUMJMHgwNDAwCisjZGVmaW5lIFIwMl9QT05fQklBUwkweDAxMDAKKyNkZWZpbmUgUjAyX0VOX0FWQwkweDAwODAKKyNkZWZpbmUgUjAyX1BPTl9BVkMJMHgwMDQwCisjZGVmaW5lIFIwMl9QT05fTE5BCTB4MDAxMAorI2RlZmluZSBSMDJfUE9OX1BHQUwJMHgwMDA4CisjZGVmaW5lIFIwMl9QT05fQURDTAkweDAwMDQKKyNkZWZpbmUgUjAyX1BPTl9QR0FSCTB4MDAwMgorI2RlZmluZSBSMDJfUE9OX0FEQ1IJMHgwMDAxCisjZGVmaW5lIFIxM19NVE0JCTB4NDAwMAorI2RlZmluZSBSMTRfU0lMRU5DRQkweDAwODAKKyNkZWZpbmUgUjE0X1NERVRfT04JMHgwMDQwCisjZGVmaW5lIFIyMV9NVF9BREMJMHg4MDAwCisjZGVmaW5lIFIyMl9TRUxfTE5BCTB4MDAwOAorI2RlZmluZSBSMjJfU0VMX01JQwkweDAwMDQKKyNkZWZpbmUgUjIyX1NLSVBfRENGSUwJMHgwMDAyCisjZGVmaW5lIFIyM19BR0NfRU4JMHgwMDAxCisKK3N0cnVjdCB1ZGExMzgwX3NldHVwX2RhdGEgeworCXVuc2lnbmVkIHNob3J0IGkyY19hZGRyZXNzOworCWludCAgICAgICAgICAgIGRhY19jbGs7CisjZGVmaW5lIFVEQTEzODBfREFDX0NMS19TWVNDTEsgMAorI2RlZmluZSBVREExMzgwX0RBQ19DTEtfV1NQTEwgIDEKK307CisKKyNkZWZpbmUgVURBMTM4MF9EQUlfRFVQTEVYCTAgLyogcGxheWJhY2sgYW5kIGNhcHR1cmUgb24gc2luZ2xlIERBSSAqLworI2RlZmluZSBVREExMzgwX0RBSV9QTEFZQkFDSwkxIC8qIHBsYXliYWNrIERBSSAqLworI2RlZmluZSBVREExMzgwX0RBSV9DQVBUVVJFCTIgLyogY2FwdHVyZSBEQUkgKi8KKworZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2RhaSB1ZGExMzgwX2RhaVszXTsKK2V4dGVybiBzdHJ1Y3Qgc25kX3NvY19jb2RlY19kZXZpY2Ugc29jX2NvZGVjX2Rldl91ZGExMzgwOworCisjZW5kaWYgLyogX1VEQTEzODBfSCAqLwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2NvZGVjcy93bTg1MTAuYyBiL3NvdW5kL3NvYy9jb2RlY3Mvd204NTEwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjczMjVmZAotLS0gL2Rldi9udWxsCisrKyBiL3NvdW5kL3NvYy9jb2RlY3Mvd204NTEwLmMKQEAgLTAsMCArMSw4MTcgQEAKKy8qCisgKiB3bTg1MTAuYyAgLS0gIFdNODUxMCBBTFNBIFNvYyBBdWRpbyBkcml2ZXIKKyAqCisgKiBDb3B5cmlnaHQgMjAwNiBXb2xmc29uIE1pY3JvZWxlY3Ryb25pY3MgUExDLgorICoKKyAqIEF1dGhvcjogTGlhbSBHaXJkd29vZCA8bGlhbS5naXJkd29vZEB3b2xmc29ubWljcm8uY29tPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZXBhcmFtLmg+CisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CisjaW5jbHVkZSA8bGludXgvcG0uaD4KKyNpbmNsdWRlIDxsaW51eC9pMmMuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxzb3VuZC9jb3JlLmg+CisjaW5jbHVkZSA8c291bmQvcGNtLmg+CisjaW5jbHVkZSA8c291bmQvcGNtX3BhcmFtcy5oPgorI2luY2x1ZGUgPHNvdW5kL3NvYy5oPgorI2luY2x1ZGUgPHNvdW5kL3NvYy1kYXBtLmg+CisjaW5jbHVkZSA8c291bmQvaW5pdHZhbC5oPgorCisjaW5jbHVkZSAid204NTEwLmgiCisKKyNkZWZpbmUgQVVESU9fTkFNRSAid204NTEwIgorI2RlZmluZSBXTTg1MTBfVkVSU0lPTiAiMC42IgorCitzdHJ1Y3Qgc25kX3NvY19jb2RlY19kZXZpY2Ugc29jX2NvZGVjX2Rldl93bTg1MTA7CisKKy8qCisgKiB3bTg1MTAgcmVnaXN0ZXIgY2FjaGUKKyAqIFdlIGNhbid0IHJlYWQgdGhlIFdNODUxMCByZWdpc3RlciBzcGFjZSB3aGVuIHdlIGFyZQorICogdXNpbmcgMiB3aXJlIGZvciBkZXZpY2UgY29udHJvbCwgc28gd2UgY2FjaGUgdGhlbSBpbnN0ZWFkLgorICovCitzdGF0aWMgY29uc3QgdTE2IHdtODUxMF9yZWdbV004NTEwX0NBQ0hFUkVHTlVNXSA9IHsKKwkweDAwMDAsIDB4MDAwMCwgMHgwMDAwLCAweDAwMDAsCisJMHgwMDUwLCAweDAwMDAsIDB4MDE0MCwgMHgwMDAwLAorCTB4MDAwMCwgMHgwMDAwLCAweDAwMDAsIDB4MDBmZiwKKwkweDAwMDAsIDB4MDAwMCwgMHgwMTAwLCAweDAwZmYsCisJMHgwMDAwLCAweDAwMDAsIDB4MDEyYywgMHgwMDJjLAorCTB4MDAyYywgMHgwMDJjLCAweDAwMmMsIDB4MDAwMCwKKwkweDAwMzIsIDB4MDAwMCwgMHgwMDAwLCAweDAwMDAsCisJMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwgMHgwMDAwLAorCTB4MDAzOCwgMHgwMDBiLCAweDAwMzIsIDB4MDAwMCwKKwkweDAwMDgsIDB4MDAwYywgMHgwMDkzLCAweDAwZTksCisJMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwgMHgwMDAwLAorCTB4MDAwMywgMHgwMDEwLCAweDAwMDAsIDB4MDAwMCwKKwkweDAwMDAsIDB4MDAwMiwgMHgwMDAxLCAweDAwMDAsCisJMHgwMDAwLCAweDAwMDAsIDB4MDAzOSwgMHgwMDAwLAorCTB4MDAwMSwKK307CisKKy8qCisgKiByZWFkIHdtODUxMCByZWdpc3RlciBjYWNoZQorICovCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCB3bTg1MTBfcmVhZF9yZWdfY2FjaGUoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLAorCXVuc2lnbmVkIGludCByZWcpCit7CisJdTE2ICpjYWNoZSA9IGNvZGVjLT5yZWdfY2FjaGU7CisJaWYgKHJlZyA9PSBXTTg1MTBfUkVTRVQpCisJCXJldHVybiAwOworCWlmIChyZWcgPj0gV004NTEwX0NBQ0hFUkVHTlVNKQorCQlyZXR1cm4gLTE7CisJcmV0dXJuIGNhY2hlW3JlZ107Cit9CisKKy8qCisgKiB3cml0ZSB3bTg1MTAgcmVnaXN0ZXIgY2FjaGUKKyAqLworc3RhdGljIGlubGluZSB2b2lkIHdtODUxMF93cml0ZV9yZWdfY2FjaGUoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLAorCXUxNiByZWcsIHVuc2lnbmVkIGludCB2YWx1ZSkKK3sKKwl1MTYgKmNhY2hlID0gY29kZWMtPnJlZ19jYWNoZTsKKwlpZiAocmVnID49IFdNODUxMF9DQUNIRVJFR05VTSkKKwkJcmV0dXJuOworCWNhY2hlW3JlZ10gPSB2YWx1ZTsKK30KKworLyoKKyAqIHdyaXRlIHRvIHRoZSBXTTg1MTAgcmVnaXN0ZXIgc3BhY2UKKyAqLworc3RhdGljIGludCB3bTg1MTBfd3JpdGUoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLCB1bnNpZ25lZCBpbnQgcmVnLAorCXVuc2lnbmVkIGludCB2YWx1ZSkKK3sKKwl1OCBkYXRhWzJdOworCisJLyogZGF0YSBpcworCSAqICAgRDE1Li5EOSBXTTg1MTAgcmVnaXN0ZXIgb2Zmc2V0CisJICogICBEOC4uLkQwIHJlZ2lzdGVyIGRhdGEKKwkgKi8KKwlkYXRhWzBdID0gKHJlZyA8PCAxKSB8ICgodmFsdWUgPj4gOCkgJiAweDAwMDEpOworCWRhdGFbMV0gPSB2YWx1ZSAmIDB4MDBmZjsKKworCXdtODUxMF93cml0ZV9yZWdfY2FjaGUoY29kZWMsIHJlZywgdmFsdWUpOworCWlmIChjb2RlYy0+aHdfd3JpdGUoY29kZWMtPmNvbnRyb2xfZGF0YSwgZGF0YSwgMikgPT0gMikKKwkJcmV0dXJuIDA7CisJZWxzZQorCQlyZXR1cm4gLUVJTzsKK30KKworI2RlZmluZSB3bTg1MTBfcmVzZXQoYykJd204NTEwX3dyaXRlKGMsIFdNODUxMF9SRVNFVCwgMCkKKworc3RhdGljIGNvbnN0IGNoYXIgKndtODUxMF9jb21wYW5kaW5nW10gPSB7ICJPZmYiLCAiTkMiLCAidS1sYXciLCAiQS1sYXciIH07CitzdGF0aWMgY29uc3QgY2hhciAqd204NTEwX2RlZW1wW10gPSB7ICJOb25lIiwgIjMya0h6IiwgIjQ0LjFrSHoiLCAiNDhrSHoiIH07CitzdGF0aWMgY29uc3QgY2hhciAqd204NTEwX2FsY1tdID0geyAiQUxDIiwgIkxpbWl0ZXIiIH07CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc29jX2VudW0gd204NTEwX2VudW1bXSA9IHsKKwlTT0NfRU5VTV9TSU5HTEUoV004NTEwX0NPTVAsIDEsIDQsIHdtODUxMF9jb21wYW5kaW5nKSwgLyogYWRjICovCisJU09DX0VOVU1fU0lOR0xFKFdNODUxMF9DT01QLCAzLCA0LCB3bTg1MTBfY29tcGFuZGluZyksIC8qIGRhYyAqLworCVNPQ19FTlVNX1NJTkdMRShXTTg1MTBfREFDLCAgNCwgNCwgd204NTEwX2RlZW1wKSwKKwlTT0NfRU5VTV9TSU5HTEUoV004NTEwX0FMQzMsICA4LCAyLCB3bTg1MTBfYWxjKSwKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyB3bTg1MTBfc25kX2NvbnRyb2xzW10gPSB7CisKK1NPQ19TSU5HTEUoIkRpZ2l0YWwgTG9vcGJhY2sgU3dpdGNoIiwgV004NTEwX0NPTVAsIDAsIDEsIDApLAorCitTT0NfRU5VTSgiREFDIENvbXBhbmRpbmciLCB3bTg1MTBfZW51bVsxXSksCitTT0NfRU5VTSgiQURDIENvbXBhbmRpbmciLCB3bTg1MTBfZW51bVswXSksCisKK1NPQ19FTlVNKCJQbGF5YmFjayBEZS1lbXBoYXNpcyIsIHdtODUxMF9lbnVtWzJdKSwKK1NPQ19TSU5HTEUoIkRBQyBJbnZlcnNpb24gU3dpdGNoIiwgV004NTEwX0RBQywgMCwgMSwgMCksCisKK1NPQ19TSU5HTEUoIk1hc3RlciBQbGF5YmFjayBWb2x1bWUiLCBXTTg1MTBfREFDVk9MLCAwLCAxMjcsIDApLAorCitTT0NfU0lOR0xFKCJIaWdoIFBhc3MgRmlsdGVyIFN3aXRjaCIsIFdNODUxMF9BREMsIDgsIDEsIDApLAorU09DX1NJTkdMRSgiSGlnaCBQYXNzIEN1dCBPZmYiLCBXTTg1MTBfQURDLCA0LCA3LCAwKSwKK1NPQ19TSU5HTEUoIkFEQyBJbnZlcnNpb24gU3dpdGNoIiwgV004NTEwX0NPTVAsIDAsIDEsIDApLAorCitTT0NfU0lOR0xFKCJDYXB0dXJlIFZvbHVtZSIsIFdNODUxMF9BRENWT0wsICAwLCAxMjcsIDApLAorCitTT0NfU0lOR0xFKCJEQUMgUGxheWJhY2sgTGltaXRlciBTd2l0Y2giLCBXTTg1MTBfREFDTElNMSwgIDgsIDEsIDApLAorU09DX1NJTkdMRSgiREFDIFBsYXliYWNrIExpbWl0ZXIgRGVjYXkiLCBXTTg1MTBfREFDTElNMSwgIDQsIDE1LCAwKSwKK1NPQ19TSU5HTEUoIkRBQyBQbGF5YmFjayBMaW1pdGVyIEF0dGFjayIsIFdNODUxMF9EQUNMSU0xLCAgMCwgMTUsIDApLAorCitTT0NfU0lOR0xFKCJEQUMgUGxheWJhY2sgTGltaXRlciBUaHJlc2hvbGQiLCBXTTg1MTBfREFDTElNMiwgIDQsIDcsIDApLAorU09DX1NJTkdMRSgiREFDIFBsYXliYWNrIExpbWl0ZXIgQm9vc3QiLCBXTTg1MTBfREFDTElNMiwgIDAsIDE1LCAwKSwKKworU09DX1NJTkdMRSgiQUxDIEVuYWJsZSBTd2l0Y2giLCBXTTg1MTBfQUxDMSwgIDgsIDEsIDApLAorU09DX1NJTkdMRSgiQUxDIENhcHR1cmUgTWF4IEdhaW4iLCBXTTg1MTBfQUxDMSwgIDMsIDcsIDApLAorU09DX1NJTkdMRSgiQUxDIENhcHR1cmUgTWluIEdhaW4iLCBXTTg1MTBfQUxDMSwgIDAsIDcsIDApLAorCitTT0NfU0lOR0xFKCJBTEMgQ2FwdHVyZSBaQyBTd2l0Y2giLCBXTTg1MTBfQUxDMiwgIDgsIDEsIDApLAorU09DX1NJTkdMRSgiQUxDIENhcHR1cmUgSG9sZCIsIFdNODUxMF9BTEMyLCAgNCwgNywgMCksCitTT0NfU0lOR0xFKCJBTEMgQ2FwdHVyZSBUYXJnZXQiLCBXTTg1MTBfQUxDMiwgIDAsIDE1LCAwKSwKKworU09DX0VOVU0oIkFMQyBDYXB0dXJlIE1vZGUiLCB3bTg1MTBfZW51bVszXSksCitTT0NfU0lOR0xFKCJBTEMgQ2FwdHVyZSBEZWNheSIsIFdNODUxMF9BTEMzLCAgNCwgMTUsIDApLAorU09DX1NJTkdMRSgiQUxDIENhcHR1cmUgQXR0YWNrIiwgV004NTEwX0FMQzMsICAwLCAxNSwgMCksCisKK1NPQ19TSU5HTEUoIkFMQyBDYXB0dXJlIE5vaXNlIEdhdGUgU3dpdGNoIiwgV004NTEwX05HQVRFLCAgMywgMSwgMCksCitTT0NfU0lOR0xFKCJBTEMgQ2FwdHVyZSBOb2lzZSBHYXRlIFRocmVzaG9sZCIsIFdNODUxMF9OR0FURSwgIDAsIDcsIDApLAorCitTT0NfU0lOR0xFKCJDYXB0dXJlIFBHQSBaQyBTd2l0Y2giLCBXTTg1MTBfSU5QUEdBLCAgNywgMSwgMCksCitTT0NfU0lOR0xFKCJDYXB0dXJlIFBHQSBWb2x1bWUiLCBXTTg1MTBfSU5QUEdBLCAgMCwgNjMsIDApLAorCitTT0NfU0lOR0xFKCJTcGVha2VyIFBsYXliYWNrIFpDIFN3aXRjaCIsIFdNODUxMF9TUEtWT0wsICA3LCAxLCAwKSwKK1NPQ19TSU5HTEUoIlNwZWFrZXIgUGxheWJhY2sgU3dpdGNoIiwgV004NTEwX1NQS1ZPTCwgIDYsIDEsIDEpLAorU09DX1NJTkdMRSgiU3BlYWtlciBQbGF5YmFjayBWb2x1bWUiLCBXTTg1MTBfU1BLVk9MLCAgMCwgNjMsIDApLAorU09DX1NJTkdMRSgiU3BlYWtlciBCb29zdCIsIFdNODUxMF9PVVRQVVQsIDIsIDEsIDApLAorCitTT0NfU0lOR0xFKCJDYXB0dXJlIEJvb3N0KCsyMGRCKSIsIFdNODUxMF9BRENCT09TVCwgIDgsIDEsIDApLAorU09DX1NJTkdMRSgiTW9ubyBQbGF5YmFjayBTd2l0Y2giLCBXTTg1MTBfTU9OT01JWCwgNiwgMSwgMSksCit9OworCisvKiBhZGQgbm9uIGRhcG0gY29udHJvbHMgKi8KK3N0YXRpYyBpbnQgd204NTEwX2FkZF9jb250cm9scyhzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMpCit7CisJaW50IGVyciwgaTsKKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHdtODUxMF9zbmRfY29udHJvbHMpOyBpKyspIHsKKwkJZXJyID0gc25kX2N0bF9hZGQoY29kZWMtPmNhcmQsCisJCQkJc25kX3NvY19jbmV3KCZ3bTg1MTBfc25kX2NvbnRyb2xzW2ldLCBjb2RlYywKKwkJCQkJTlVMTCkpOworCQlpZiAoZXJyIDwgMCkKKwkJCXJldHVybiBlcnI7CisJfQorCisJcmV0dXJuIDA7Cit9CisKKy8qIFNwZWFrZXIgT3V0cHV0IE1peGVyICovCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgd204NTEwX3NwZWFrZXJfbWl4ZXJfY29udHJvbHNbXSA9IHsKK1NPQ19EQVBNX1NJTkdMRSgiTGluZSBCeXBhc3MgU3dpdGNoIiwgV004NTEwX1NQS01JWCwgMSwgMSwgMCksCitTT0NfREFQTV9TSU5HTEUoIkF1eCBQbGF5YmFjayBTd2l0Y2giLCBXTTg1MTBfU1BLTUlYLCA1LCAxLCAwKSwKK1NPQ19EQVBNX1NJTkdMRSgiUENNIFBsYXliYWNrIFN3aXRjaCIsIFdNODUxMF9TUEtNSVgsIDAsIDEsIDApLAorfTsKKworLyogTW9ubyBPdXRwdXQgTWl4ZXIgKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyB3bTg1MTBfbW9ub19taXhlcl9jb250cm9sc1tdID0geworU09DX0RBUE1fU0lOR0xFKCJMaW5lIEJ5cGFzcyBTd2l0Y2giLCBXTTg1MTBfTU9OT01JWCwgMSwgMSwgMCksCitTT0NfREFQTV9TSU5HTEUoIkF1eCBQbGF5YmFjayBTd2l0Y2giLCBXTTg1MTBfTU9OT01JWCwgMiwgMSwgMCksCitTT0NfREFQTV9TSU5HTEUoIlBDTSBQbGF5YmFjayBTd2l0Y2giLCBXTTg1MTBfTU9OT01JWCwgMCwgMSwgMCksCit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgd204NTEwX2Jvb3N0X2NvbnRyb2xzW10gPSB7CitTT0NfREFQTV9TSU5HTEUoIk1pYyBQR0EgU3dpdGNoIiwgV004NTEwX0lOUFBHQSwgIDYsIDEsIDApLAorU09DX0RBUE1fU0lOR0xFKCJBdXggVm9sdW1lIiwgV004NTEwX0FEQ0JPT1NULCAwLCA3LCAwKSwKK1NPQ19EQVBNX1NJTkdMRSgiTWljIFZvbHVtZSIsIFdNODUxMF9BRENCT09TVCwgNCwgNywgMCksCit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgd204NTEwX21pY3BnYV9jb250cm9sc1tdID0geworU09DX0RBUE1fU0lOR0xFKCJNSUNQIFN3aXRjaCIsIFdNODUxMF9JTlBVVCwgMCwgMSwgMCksCitTT0NfREFQTV9TSU5HTEUoIk1JQ04gU3dpdGNoIiwgV004NTEwX0lOUFVULCAxLCAxLCAwKSwKK1NPQ19EQVBNX1NJTkdMRSgiQVVYIFN3aXRjaCIsIFdNODUxMF9JTlBVVCwgMiwgMSwgMCksCit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9zb2NfZGFwbV93aWRnZXQgd204NTEwX2RhcG1fd2lkZ2V0c1tdID0geworU05EX1NPQ19EQVBNX01JWEVSKCJTcGVha2VyIE1peGVyIiwgV004NTEwX1BPV0VSMywgMiwgMCwKKwkmd204NTEwX3NwZWFrZXJfbWl4ZXJfY29udHJvbHNbMF0sCisJQVJSQVlfU0laRSh3bTg1MTBfc3BlYWtlcl9taXhlcl9jb250cm9scykpLAorU05EX1NPQ19EQVBNX01JWEVSKCJNb25vIE1peGVyIiwgV004NTEwX1BPV0VSMywgMywgMCwKKwkmd204NTEwX21vbm9fbWl4ZXJfY29udHJvbHNbMF0sCisJQVJSQVlfU0laRSh3bTg1MTBfbW9ub19taXhlcl9jb250cm9scykpLAorU05EX1NPQ19EQVBNX0RBQygiREFDIiwgIkhpRmkgUGxheWJhY2siLCBXTTg1MTBfUE9XRVIzLCAwLCAwKSwKK1NORF9TT0NfREFQTV9BREMoIkFEQyIsICJIaUZpIENhcHR1cmUiLCBXTTg1MTBfUE9XRVIyLCAwLCAwKSwKK1NORF9TT0NfREFQTV9QR0EoIkF1eCBJbnB1dCIsIFdNODUxMF9QT1dFUjEsIDYsIDAsIE5VTEwsIDApLAorU05EX1NPQ19EQVBNX1BHQSgiU3BrTiBPdXQiLCBXTTg1MTBfUE9XRVIzLCA1LCAwLCBOVUxMLCAwKSwKK1NORF9TT0NfREFQTV9QR0EoIlNwa1AgT3V0IiwgV004NTEwX1BPV0VSMywgNiwgMCwgTlVMTCwgMCksCitTTkRfU09DX0RBUE1fUEdBKCJNb25vIE91dCIsIFdNODUxMF9QT1dFUjMsIDcsIDAsIE5VTEwsIDApLAorCitTTkRfU09DX0RBUE1fUEdBKCJNaWMgUEdBIiwgV004NTEwX1BPV0VSMiwgMiwgMCwKKwkJICZ3bTg1MTBfbWljcGdhX2NvbnRyb2xzWzBdLAorCQkgQVJSQVlfU0laRSh3bTg1MTBfbWljcGdhX2NvbnRyb2xzKSksCitTTkRfU09DX0RBUE1fTUlYRVIoIkJvb3N0IE1peGVyIiwgV004NTEwX1BPV0VSMiwgNCwgMCwKKwkmd204NTEwX2Jvb3N0X2NvbnRyb2xzWzBdLAorCUFSUkFZX1NJWkUod204NTEwX2Jvb3N0X2NvbnRyb2xzKSksCisKK1NORF9TT0NfREFQTV9NSUNCSUFTKCJNaWMgQmlhcyIsIFdNODUxMF9QT1dFUjEsIDQsIDApLAorCitTTkRfU09DX0RBUE1fSU5QVVQoIk1JQ04iKSwKK1NORF9TT0NfREFQTV9JTlBVVCgiTUlDUCIpLAorU05EX1NPQ19EQVBNX0lOUFVUKCJBVVgiKSwKK1NORF9TT0NfREFQTV9PVVRQVVQoIk1PTk9PVVQiKSwKK1NORF9TT0NfREFQTV9PVVRQVVQoIlNQS09VVFAiKSwKK1NORF9TT0NfREFQTV9PVVRQVVQoIlNQS09VVE4iKSwKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX3NvY19kYXBtX3JvdXRlIGF1ZGlvX21hcFtdID0geworCS8qIE1vbm8gb3V0cHV0IG1peGVyICovCisJeyJNb25vIE1peGVyIiwgIlBDTSBQbGF5YmFjayBTd2l0Y2giLCAiREFDIn0sCisJeyJNb25vIE1peGVyIiwgIkF1eCBQbGF5YmFjayBTd2l0Y2giLCAiQXV4IElucHV0In0sCisJeyJNb25vIE1peGVyIiwgIkxpbmUgQnlwYXNzIFN3aXRjaCIsICJCb29zdCBNaXhlciJ9LAorCisJLyogU3BlYWtlciBvdXRwdXQgbWl4ZXIgKi8KKwl7IlNwZWFrZXIgTWl4ZXIiLCAiUENNIFBsYXliYWNrIFN3aXRjaCIsICJEQUMifSwKKwl7IlNwZWFrZXIgTWl4ZXIiLCAiQXV4IFBsYXliYWNrIFN3aXRjaCIsICJBdXggSW5wdXQifSwKKwl7IlNwZWFrZXIgTWl4ZXIiLCAiTGluZSBCeXBhc3MgU3dpdGNoIiwgIkJvb3N0IE1peGVyIn0sCisKKwkvKiBPdXRwdXRzICovCisJeyJNb25vIE91dCIsIE5VTEwsICJNb25vIE1peGVyIn0sCisJeyJNT05PT1VUIiwgTlVMTCwgIk1vbm8gT3V0In0sCisJeyJTcGtOIE91dCIsIE5VTEwsICJTcGVha2VyIE1peGVyIn0sCisJeyJTcGtQIE91dCIsIE5VTEwsICJTcGVha2VyIE1peGVyIn0sCisJeyJTUEtPVVROIiwgTlVMTCwgIlNwa04gT3V0In0sCisJeyJTUEtPVVRQIiwgTlVMTCwgIlNwa1AgT3V0In0sCisKKwkvKiBNaWNyb3Bob25lIFBHQSAqLworCXsiTWljIFBHQSIsICJNSUNOIFN3aXRjaCIsICJNSUNOIn0sCisJeyJNaWMgUEdBIiwgIk1JQ1AgU3dpdGNoIiwgIk1JQ1AifSwKKwl7ICJNaWMgUEdBIiwgIkFVWCBTd2l0Y2giLCAiQXV4IElucHV0IiB9LAorCisJLyogQm9vc3QgTWl4ZXIgKi8KKwl7IkJvb3N0IE1peGVyIiwgIk1pYyBQR0EgU3dpdGNoIiwgIk1pYyBQR0EifSwKKwl7IkJvb3N0IE1peGVyIiwgIk1pYyBWb2x1bWUiLCAiTUlDUCJ9LAorCXsiQm9vc3QgTWl4ZXIiLCAiQXV4IFZvbHVtZSIsICJBdXggSW5wdXQifSwKKworCXsiQURDIiwgTlVMTCwgIkJvb3N0IE1peGVyIn0sCit9OworCitzdGF0aWMgaW50IHdtODUxMF9hZGRfd2lkZ2V0cyhzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMpCit7CisJc25kX3NvY19kYXBtX25ld19jb250cm9scyhjb2RlYywgd204NTEwX2RhcG1fd2lkZ2V0cywKKwkJCQkgIEFSUkFZX1NJWkUod204NTEwX2RhcG1fd2lkZ2V0cykpOworCisJc25kX3NvY19kYXBtX2FkZF9yb3V0ZXMoY29kZWMsIGF1ZGlvX21hcCwgQVJSQVlfU0laRShhdWRpb19tYXApKTsKKworCXNuZF9zb2NfZGFwbV9uZXdfd2lkZ2V0cyhjb2RlYyk7CisJcmV0dXJuIDA7Cit9CisKK3N0cnVjdCBwbGxfIHsKKwl1bnNpZ25lZCBpbnQgcHJlX2Rpdjo0OyAvKiBwcmVzY2FsZSAtIDEgKi8KKwl1bnNpZ25lZCBpbnQgbjo0OworCXVuc2lnbmVkIGludCBrOworfTsKKworc3RhdGljIHN0cnVjdCBwbGxfIHBsbF9kaXY7CisKKy8qIFRoZSBzaXplIGluIGJpdHMgb2YgdGhlIHBsbCBkaXZpZGUgbXVsdGlwbGllZCBieSAxMAorICogdG8gYWxsb3cgcm91bmRpbmcgbGF0ZXIgKi8KKyNkZWZpbmUgRklYRURfUExMX1NJWkUgKCgxIDw8IDI0KSAqIDEwKQorCitzdGF0aWMgdm9pZCBwbGxfZmFjdG9ycyh1bnNpZ25lZCBpbnQgdGFyZ2V0LCB1bnNpZ25lZCBpbnQgc291cmNlKQoreworCXVuc2lnbmVkIGxvbmcgbG9uZyBLcGFydDsKKwl1bnNpZ25lZCBpbnQgSywgTmRpdiwgTm1vZDsKKworCU5kaXYgPSB0YXJnZXQgLyBzb3VyY2U7CisJaWYgKE5kaXYgPCA2KSB7CisJCXNvdXJjZSA+Pj0gMTsKKwkJcGxsX2Rpdi5wcmVfZGl2ID0gMTsKKwkJTmRpdiA9IHRhcmdldCAvIHNvdXJjZTsKKwl9IGVsc2UKKwkJcGxsX2Rpdi5wcmVfZGl2ID0gMDsKKworCWlmICgoTmRpdiA8IDYpIHx8IChOZGl2ID4gMTIpKQorCQlwcmludGsoS0VSTl9XQVJOSU5HCisJCQkiV004NTEwIE4gdmFsdWUgJWQgb3V0d2l0aCByZWNvbW1lbmRlZCByYW5nZSFkXG4iLAorCQkJTmRpdik7CisKKwlwbGxfZGl2Lm4gPSBOZGl2OworCU5tb2QgPSB0YXJnZXQgJSBzb3VyY2U7CisJS3BhcnQgPSBGSVhFRF9QTExfU0laRSAqIChsb25nIGxvbmcpTm1vZDsKKworCWRvX2RpdihLcGFydCwgc291cmNlKTsKKworCUsgPSBLcGFydCAmIDB4RkZGRkZGRkY7CisKKwkvKiBDaGVjayBpZiB3ZSBuZWVkIHRvIHJvdW5kICovCisJaWYgKChLICUgMTApID49IDUpCisJCUsgKz0gNTsKKworCS8qIE1vdmUgZG93biB0byBwcm9wZXIgcmFuZ2Ugbm93IHJvdW5kaW5nIGlzIGRvbmUgKi8KKwlLIC89IDEwOworCisJcGxsX2Rpdi5rID0gSzsKK30KKworc3RhdGljIGludCB3bTg1MTBfc2V0X2RhaV9wbGwoc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWksCisJCWludCBwbGxfaWQsIHVuc2lnbmVkIGludCBmcmVxX2luLCB1bnNpZ25lZCBpbnQgZnJlcV9vdXQpCit7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gY29kZWNfZGFpLT5jb2RlYzsKKwl1MTYgcmVnOworCisJaWYgKGZyZXFfaW4gPT0gMCB8fCBmcmVxX291dCA9PSAwKSB7CisJCS8qIENsb2NrIENPREVDIGRpcmVjdGx5IGZyb20gTUNMSyAqLworCQlyZWcgPSB3bTg1MTBfcmVhZF9yZWdfY2FjaGUoY29kZWMsIFdNODUxMF9DTE9DSyk7CisJCXdtODUxMF93cml0ZShjb2RlYywgV004NTEwX0NMT0NLLCByZWcgJiAweDBmZik7CisKKwkJLyogVHVybiBvZmYgUExMICovCisJCXJlZyA9IHdtODUxMF9yZWFkX3JlZ19jYWNoZShjb2RlYywgV004NTEwX1BPV0VSMSk7CisJCXdtODUxMF93cml0ZShjb2RlYywgV004NTEwX1BPV0VSMSwgcmVnICYgMHgxZGYpOworCQlyZXR1cm4gMDsKKwl9CisKKwlwbGxfZmFjdG9ycyhmcmVxX291dCo4LCBmcmVxX2luKTsKKworCXdtODUxMF93cml0ZShjb2RlYywgV004NTEwX1BMTE4sIChwbGxfZGl2LnByZV9kaXYgPDwgNCkgfCBwbGxfZGl2Lm4pOworCXdtODUxMF93cml0ZShjb2RlYywgV004NTEwX1BMTEsxLCBwbGxfZGl2LmsgPj4gMTgpOworCXdtODUxMF93cml0ZShjb2RlYywgV004NTEwX1BMTEsyLCAocGxsX2Rpdi5rID4+IDkpICYgMHgxZmYpOworCXdtODUxMF93cml0ZShjb2RlYywgV004NTEwX1BMTEszLCBwbGxfZGl2LmsgJiAweDFmZik7CisJcmVnID0gd204NTEwX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBXTTg1MTBfUE9XRVIxKTsKKwl3bTg1MTBfd3JpdGUoY29kZWMsIFdNODUxMF9QT1dFUjEsIHJlZyB8IDB4MDIwKTsKKworCS8qIFJ1biBDT0RFQyBmcm9tIFBMTCBpbnN0ZWFkIG9mIE1DTEsgKi8KKwlyZWcgPSB3bTg1MTBfcmVhZF9yZWdfY2FjaGUoY29kZWMsIFdNODUxMF9DTE9DSyk7CisJd204NTEwX3dyaXRlKGNvZGVjLCBXTTg1MTBfQ0xPQ0ssIHJlZyB8IDB4MTAwKTsKKworCXJldHVybiAwOworfQorCisvKgorICogQ29uZmlndXJlIFdNODUxMCBjbG9jayBkaXZpZGVycy4KKyAqLworc3RhdGljIGludCB3bTg1MTBfc2V0X2RhaV9jbGtkaXYoc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWksCisJCWludCBkaXZfaWQsIGludCBkaXYpCit7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gY29kZWNfZGFpLT5jb2RlYzsKKwl1MTYgcmVnOworCisJc3dpdGNoIChkaXZfaWQpIHsKKwljYXNlIFdNODUxMF9PUENMS0RJVjoKKwkJcmVnID0gd204NTEwX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBXTTg1MTBfR1BJTykgJiAweDFjZjsKKwkJd204NTEwX3dyaXRlKGNvZGVjLCBXTTg1MTBfR1BJTywgcmVnIHwgZGl2KTsKKwkJYnJlYWs7CisJY2FzZSBXTTg1MTBfTUNMS0RJVjoKKwkJcmVnID0gd204NTEwX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBXTTg1MTBfQ0xPQ0spICYgMHgxZjsKKwkJd204NTEwX3dyaXRlKGNvZGVjLCBXTTg1MTBfQ0xPQ0ssIHJlZyB8IGRpdik7CisJCWJyZWFrOworCWNhc2UgV004NTEwX0FEQ0NMSzoKKwkJcmVnID0gd204NTEwX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBXTTg1MTBfQURDKSAmIDB4MWY3OworCQl3bTg1MTBfd3JpdGUoY29kZWMsIFdNODUxMF9BREMsIHJlZyB8IGRpdik7CisJCWJyZWFrOworCWNhc2UgV004NTEwX0RBQ0NMSzoKKwkJcmVnID0gd204NTEwX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBXTTg1MTBfREFDKSAmIDB4MWY3OworCQl3bTg1MTBfd3JpdGUoY29kZWMsIFdNODUxMF9EQUMsIHJlZyB8IGRpdik7CisJCWJyZWFrOworCWNhc2UgV004NTEwX0JDTEtESVY6CisJCXJlZyA9IHdtODUxMF9yZWFkX3JlZ19jYWNoZShjb2RlYywgV004NTEwX0NMT0NLKSAmIDB4MWUzOworCQl3bTg1MTBfd3JpdGUoY29kZWMsIFdNODUxMF9DTE9DSywgcmVnIHwgZGl2KTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgd204NTEwX3NldF9kYWlfZm10KHN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpLAorCQl1bnNpZ25lZCBpbnQgZm10KQoreworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IGNvZGVjX2RhaS0+Y29kZWM7CisJdTE2IGlmYWNlID0gMDsKKwl1MTYgY2xrID0gd204NTEwX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBXTTg1MTBfQ0xPQ0spICYgMHgxZmU7CisKKwkvKiBzZXQgbWFzdGVyL3NsYXZlIGF1ZGlvIGludGVyZmFjZSAqLworCXN3aXRjaCAoZm10ICYgU05EX1NPQ19EQUlGTVRfTUFTVEVSX01BU0spIHsKKwljYXNlIFNORF9TT0NfREFJRk1UX0NCTV9DRk06CisJCWNsayB8PSAweDAwMDE7CisJCWJyZWFrOworCWNhc2UgU05EX1NPQ19EQUlGTVRfQ0JTX0NGUzoKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJLyogaW50ZXJmYWNlIGZvcm1hdCAqLworCXN3aXRjaCAoZm10ICYgU05EX1NPQ19EQUlGTVRfRk9STUFUX01BU0spIHsKKwljYXNlIFNORF9TT0NfREFJRk1UX0kyUzoKKwkJaWZhY2UgfD0gMHgwMDEwOworCQlicmVhazsKKwljYXNlIFNORF9TT0NfREFJRk1UX1JJR0hUX0o6CisJCWJyZWFrOworCWNhc2UgU05EX1NPQ19EQUlGTVRfTEVGVF9KOgorCQlpZmFjZSB8PSAweDAwMDg7CisJCWJyZWFrOworCWNhc2UgU05EX1NPQ19EQUlGTVRfRFNQX0E6CisJCWlmYWNlIHw9IDB4MDAwMTg7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCS8qIGNsb2NrIGludmVyc2lvbiAqLworCXN3aXRjaCAoZm10ICYgU05EX1NPQ19EQUlGTVRfSU5WX01BU0spIHsKKwljYXNlIFNORF9TT0NfREFJRk1UX05CX05GOgorCQlicmVhazsKKwljYXNlIFNORF9TT0NfREFJRk1UX0lCX0lGOgorCQlpZmFjZSB8PSAweDAxODA7CisJCWJyZWFrOworCWNhc2UgU05EX1NPQ19EQUlGTVRfSUJfTkY6CisJCWlmYWNlIHw9IDB4MDEwMDsKKwkJYnJlYWs7CisJY2FzZSBTTkRfU09DX0RBSUZNVF9OQl9JRjoKKwkJaWZhY2UgfD0gMHgwMDgwOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwl3bTg1MTBfd3JpdGUoY29kZWMsIFdNODUxMF9JRkFDRSwgaWZhY2UpOworCXdtODUxMF93cml0ZShjb2RlYywgV004NTEwX0NMT0NLLCBjbGspOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHdtODUxMF9wY21faHdfcGFyYW1zKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtLAorCXN0cnVjdCBzbmRfcGNtX2h3X3BhcmFtcyAqcGFyYW1zKQoreworCXN0cnVjdCBzbmRfc29jX3BjbV9ydW50aW1lICpydGQgPSBzdWJzdHJlYW0tPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiA9IHJ0ZC0+c29jZGV2OworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNvY2Rldi0+Y29kZWM7CisJdTE2IGlmYWNlID0gd204NTEwX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBXTTg1MTBfSUZBQ0UpICYgMHgxOWY7CisJdTE2IGFkbiA9IHdtODUxMF9yZWFkX3JlZ19jYWNoZShjb2RlYywgV004NTEwX0FERCkgJiAweDFmMTsKKworCS8qIGJpdCBzaXplICovCisJc3dpdGNoIChwYXJhbXNfZm9ybWF0KHBhcmFtcykpIHsKKwljYXNlIFNORFJWX1BDTV9GT1JNQVRfUzE2X0xFOgorCQlicmVhazsKKwljYXNlIFNORFJWX1BDTV9GT1JNQVRfUzIwXzNMRToKKwkJaWZhY2UgfD0gMHgwMDIwOworCQlicmVhazsKKwljYXNlIFNORFJWX1BDTV9GT1JNQVRfUzI0X0xFOgorCQlpZmFjZSB8PSAweDAwNDA7CisJCWJyZWFrOworCWNhc2UgU05EUlZfUENNX0ZPUk1BVF9TMzJfTEU6CisJCWlmYWNlIHw9IDB4MDA2MDsKKwkJYnJlYWs7CisJfQorCisJLyogZmlsdGVyIGNvZWZmaWNpZW50ICovCisJc3dpdGNoIChwYXJhbXNfcmF0ZShwYXJhbXMpKSB7CisJY2FzZSBTTkRSVl9QQ01fUkFURV84MDAwOgorCQlhZG4gfD0gMHg1IDw8IDE7CisJCWJyZWFrOworCWNhc2UgU05EUlZfUENNX1JBVEVfMTEwMjU6CisJCWFkbiB8PSAweDQgPDwgMTsKKwkJYnJlYWs7CisJY2FzZSBTTkRSVl9QQ01fUkFURV8xNjAwMDoKKwkJYWRuIHw9IDB4MyA8PCAxOworCQlicmVhazsKKwljYXNlIFNORFJWX1BDTV9SQVRFXzIyMDUwOgorCQlhZG4gfD0gMHgyIDw8IDE7CisJCWJyZWFrOworCWNhc2UgU05EUlZfUENNX1JBVEVfMzIwMDA6CisJCWFkbiB8PSAweDEgPDwgMTsKKwkJYnJlYWs7CisJY2FzZSBTTkRSVl9QQ01fUkFURV80NDEwMDoKKwljYXNlIFNORFJWX1BDTV9SQVRFXzQ4MDAwOgorCQlicmVhazsKKwl9CisKKwl3bTg1MTBfd3JpdGUoY29kZWMsIFdNODUxMF9JRkFDRSwgaWZhY2UpOworCXdtODUxMF93cml0ZShjb2RlYywgV004NTEwX0FERCwgYWRuKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCB3bTg1MTBfbXV0ZShzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSwgaW50IG11dGUpCit7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gZGFpLT5jb2RlYzsKKwl1MTYgbXV0ZV9yZWcgPSB3bTg1MTBfcmVhZF9yZWdfY2FjaGUoY29kZWMsIFdNODUxMF9EQUMpICYgMHhmZmJmOworCisJaWYgKG11dGUpCisJCXdtODUxMF93cml0ZShjb2RlYywgV004NTEwX0RBQywgbXV0ZV9yZWcgfCAweDQwKTsKKwllbHNlCisJCXdtODUxMF93cml0ZShjb2RlYywgV004NTEwX0RBQywgbXV0ZV9yZWcpOworCXJldHVybiAwOworfQorCisvKiBsaWFtIG5lZWQgdG8gbWFrZSB0aGlzIGxvd2VyIHBvd2VyIHdpdGggZGFwbSAqLworc3RhdGljIGludCB3bTg1MTBfc2V0X2JpYXNfbGV2ZWwoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLAorCWVudW0gc25kX3NvY19iaWFzX2xldmVsIGxldmVsKQoreworCisJc3dpdGNoIChsZXZlbCkgeworCWNhc2UgU05EX1NPQ19CSUFTX09OOgorCQl3bTg1MTBfd3JpdGUoY29kZWMsIFdNODUxMF9QT1dFUjEsIDB4MWZmKTsKKwkJd204NTEwX3dyaXRlKGNvZGVjLCBXTTg1MTBfUE9XRVIyLCAweDFmZik7CisJCXdtODUxMF93cml0ZShjb2RlYywgV004NTEwX1BPV0VSMywgMHgxZmYpOworCQlicmVhazsKKwljYXNlIFNORF9TT0NfQklBU19QUkVQQVJFOgorCWNhc2UgU05EX1NPQ19CSUFTX1NUQU5EQlk6CisJCWJyZWFrOworCWNhc2UgU05EX1NPQ19CSUFTX09GRjoKKwkJLyogZXZlcnl0aGluZyBvZmYsIGRhYyBtdXRlLCBpbmFjdGl2ZSAqLworCQl3bTg1MTBfd3JpdGUoY29kZWMsIFdNODUxMF9QT1dFUjEsIDB4MCk7CisJCXdtODUxMF93cml0ZShjb2RlYywgV004NTEwX1BPV0VSMiwgMHgwKTsKKwkJd204NTEwX3dyaXRlKGNvZGVjLCBXTTg1MTBfUE9XRVIzLCAweDApOworCQlicmVhazsKKwl9CisJY29kZWMtPmJpYXNfbGV2ZWwgPSBsZXZlbDsKKwlyZXR1cm4gMDsKK30KKworI2RlZmluZSBXTTg1MTBfUkFURVMgKFNORFJWX1BDTV9SQVRFXzgwMDAgfCBTTkRSVl9QQ01fUkFURV8xMTAyNSB8XAorCQlTTkRSVl9QQ01fUkFURV8xNjAwMCB8IFNORFJWX1BDTV9SQVRFXzIyMDUwIHxcCisJCVNORFJWX1BDTV9SQVRFXzQ0MTAwIHwgU05EUlZfUENNX1JBVEVfNDgwMDApCisKKyNkZWZpbmUgV004NTEwX0ZPUk1BVFMgKFNORFJWX1BDTV9GTVRCSVRfUzE2X0xFIHwgU05EUlZfUENNX0ZNVEJJVF9TMjBfM0xFIHxcCisJU05EUlZfUENNX0ZNVEJJVF9TMjRfTEUgfCBTTkRSVl9QQ01fRk1UQklUX1MzMl9MRSkKKworc3RydWN0IHNuZF9zb2NfZGFpIHdtODUxMF9kYWkgPSB7CisJLm5hbWUgPSAiV004NTEwIEhpRmkiLAorCS5wbGF5YmFjayA9IHsKKwkJLnN0cmVhbV9uYW1lID0gIlBsYXliYWNrIiwKKwkJLmNoYW5uZWxzX21pbiA9IDIsCisJCS5jaGFubmVsc19tYXggPSAyLAorCQkucmF0ZXMgPSBXTTg1MTBfUkFURVMsCisJCS5mb3JtYXRzID0gV004NTEwX0ZPUk1BVFMsfSwKKwkuY2FwdHVyZSA9IHsKKwkJLnN0cmVhbV9uYW1lID0gIkNhcHR1cmUiLAorCQkuY2hhbm5lbHNfbWluID0gMiwKKwkJLmNoYW5uZWxzX21heCA9IDIsCisJCS5yYXRlcyA9IFdNODUxMF9SQVRFUywKKwkJLmZvcm1hdHMgPSBXTTg1MTBfRk9STUFUUyx9LAorCS5vcHMgPSB7CisJCS5od19wYXJhbXMgPSB3bTg1MTBfcGNtX2h3X3BhcmFtcywKKwl9LAorCS5kYWlfb3BzID0geworCQkuZGlnaXRhbF9tdXRlID0gd204NTEwX211dGUsCisJCS5zZXRfZm10ID0gd204NTEwX3NldF9kYWlfZm10LAorCQkuc2V0X2Nsa2RpdiA9IHdtODUxMF9zZXRfZGFpX2Nsa2RpdiwKKwkJLnNldF9wbGwgPSB3bTg1MTBfc2V0X2RhaV9wbGwsCisJfSwKK307CitFWFBPUlRfU1lNQk9MX0dQTCh3bTg1MTBfZGFpKTsKKworc3RhdGljIGludCB3bTg1MTBfc3VzcGVuZChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LCBwbV9tZXNzYWdlX3Qgc3RhdGUpCit7CisJc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzb2NkZXYtPmNvZGVjOworCisJd204NTEwX3NldF9iaWFzX2xldmVsKGNvZGVjLCBTTkRfU09DX0JJQVNfT0ZGKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCB3bTg1MTBfcmVzdW1lKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzb2NkZXYtPmNvZGVjOworCWludCBpOworCXU4IGRhdGFbMl07CisJdTE2ICpjYWNoZSA9IGNvZGVjLT5yZWdfY2FjaGU7CisKKwkvKiBTeW5jIHJlZ19jYWNoZSB3aXRoIHRoZSBoYXJkd2FyZSAqLworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHdtODUxMF9yZWcpOyBpKyspIHsKKwkJZGF0YVswXSA9IChpIDw8IDEpIHwgKChjYWNoZVtpXSA+PiA4KSAmIDB4MDAwMSk7CisJCWRhdGFbMV0gPSBjYWNoZVtpXSAmIDB4MDBmZjsKKwkJY29kZWMtPmh3X3dyaXRlKGNvZGVjLT5jb250cm9sX2RhdGEsIGRhdGEsIDIpOworCX0KKwl3bTg1MTBfc2V0X2JpYXNfbGV2ZWwoY29kZWMsIFNORF9TT0NfQklBU19TVEFOREJZKTsKKwl3bTg1MTBfc2V0X2JpYXNfbGV2ZWwoY29kZWMsIGNvZGVjLT5zdXNwZW5kX2JpYXNfbGV2ZWwpOworCXJldHVybiAwOworfQorCisvKgorICogaW5pdGlhbGlzZSB0aGUgV004NTEwIGRyaXZlcgorICogcmVnaXN0ZXIgdGhlIG1peGVyIGFuZCBkc3AgaW50ZXJmYWNlcyB3aXRoIHRoZSBrZXJuZWwKKyAqLworc3RhdGljIGludCB3bTg1MTBfaW5pdChzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldikKK3sKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzb2NkZXYtPmNvZGVjOworCWludCByZXQgPSAwOworCisJY29kZWMtPm5hbWUgPSAiV004NTEwIjsKKwljb2RlYy0+b3duZXIgPSBUSElTX01PRFVMRTsKKwljb2RlYy0+cmVhZCA9IHdtODUxMF9yZWFkX3JlZ19jYWNoZTsKKwljb2RlYy0+d3JpdGUgPSB3bTg1MTBfd3JpdGU7CisJY29kZWMtPnNldF9iaWFzX2xldmVsID0gd204NTEwX3NldF9iaWFzX2xldmVsOworCWNvZGVjLT5kYWkgPSAmd204NTEwX2RhaTsKKwljb2RlYy0+bnVtX2RhaSA9IDE7CisJY29kZWMtPnJlZ19jYWNoZV9zaXplID0gQVJSQVlfU0laRSh3bTg1MTBfcmVnKTsKKwljb2RlYy0+cmVnX2NhY2hlID0ga21lbWR1cCh3bTg1MTBfcmVnLCBzaXplb2Yod204NTEwX3JlZyksIEdGUF9LRVJORUwpOworCisJaWYgKGNvZGVjLT5yZWdfY2FjaGUgPT0gTlVMTCkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwl3bTg1MTBfcmVzZXQoY29kZWMpOworCisJLyogcmVnaXN0ZXIgcGNtcyAqLworCXJldCA9IHNuZF9zb2NfbmV3X3BjbXMoc29jZGV2LCBTTkRSVl9ERUZBVUxUX0lEWDEsIFNORFJWX0RFRkFVTFRfU1RSMSk7CisJaWYgKHJldCA8IDApIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJ3bTg1MTA6IGZhaWxlZCB0byBjcmVhdGUgcGNtc1xuIik7CisJCWdvdG8gcGNtX2VycjsKKwl9CisKKwkvKiBwb3dlciBvbiBkZXZpY2UgKi8KKwl3bTg1MTBfc2V0X2JpYXNfbGV2ZWwoY29kZWMsIFNORF9TT0NfQklBU19TVEFOREJZKTsKKwl3bTg1MTBfYWRkX2NvbnRyb2xzKGNvZGVjKTsKKwl3bTg1MTBfYWRkX3dpZGdldHMoY29kZWMpOworCXJldCA9IHNuZF9zb2NfcmVnaXN0ZXJfY2FyZChzb2NkZXYpOworCWlmIChyZXQgPCAwKSB7CisJCXByaW50ayhLRVJOX0VSUiAid204NTEwOiBmYWlsZWQgdG8gcmVnaXN0ZXIgY2FyZFxuIik7CisJCWdvdG8gY2FyZF9lcnI7CisJfQorCXJldHVybiByZXQ7CisKK2NhcmRfZXJyOgorCXNuZF9zb2NfZnJlZV9wY21zKHNvY2Rldik7CisJc25kX3NvY19kYXBtX2ZyZWUoc29jZGV2KTsKK3BjbV9lcnI6CisJa2ZyZWUoY29kZWMtPnJlZ19jYWNoZSk7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIHN0cnVjdCBzbmRfc29jX2RldmljZSAqd204NTEwX3NvY2RldjsKKworI2lmIGRlZmluZWQoQ09ORklHX0kyQykgfHwgZGVmaW5lZChDT05GSUdfSTJDX01PRFVMRSkKKworLyoKKyAqIFdNODUxMCAyIHdpcmUgYWRkcmVzcyBpcyAweDFhCisgKi8KKyNkZWZpbmUgSTJDX0RSSVZFUklEX1dNODUxMCAweGZlZmUgLyogbGlhbSAtICBuZWVkIGEgcHJvcGVyIGlkICovCisKK3N0YXRpYyB1bnNpZ25lZCBzaG9ydCBub3JtYWxfaTJjW10gPSB7IDAsIEkyQ19DTElFTlRfRU5EIH07CisKKy8qIE1hZ2ljIGRlZmluaXRpb24gb2YgYWxsIG90aGVyIHZhcmlhYmxlcyBhbmQgdGhpbmdzICovCitJMkNfQ0xJRU5UX0lOU01PRDsKKworc3RhdGljIHN0cnVjdCBpMmNfZHJpdmVyIHdtODUxMF9pMmNfZHJpdmVyOworc3RhdGljIHN0cnVjdCBpMmNfY2xpZW50IGNsaWVudF90ZW1wbGF0ZTsKKworLyogSWYgdGhlIGkyYyBsYXllciB3ZXJlbid0IHNvIGJyb2tlbiwgd2UgY291bGQgcGFzcyB0aGlzIGtpbmQgb2YgZGF0YQorICAgYXJvdW5kICovCisKK3N0YXRpYyBpbnQgd204NTEwX2NvZGVjX3Byb2JlKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcCwgaW50IGFkZHIsIGludCBraW5kKQoreworCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gd204NTEwX3NvY2RldjsKKwlzdHJ1Y3Qgd204NTEwX3NldHVwX2RhdGEgKnNldHVwID0gc29jZGV2LT5jb2RlY19kYXRhOworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNvY2Rldi0+Y29kZWM7CisJc3RydWN0IGkyY19jbGllbnQgKmkyYzsKKwlpbnQgcmV0OworCisJaWYgKGFkZHIgIT0gc2V0dXAtPmkyY19hZGRyZXNzKQorCQlyZXR1cm4gLUVOT0RFVjsKKworCWNsaWVudF90ZW1wbGF0ZS5hZGFwdGVyID0gYWRhcDsKKwljbGllbnRfdGVtcGxhdGUuYWRkciA9IGFkZHI7CisKKwlpMmMgPSBrbWVtZHVwKCZjbGllbnRfdGVtcGxhdGUsIHNpemVvZihjbGllbnRfdGVtcGxhdGUpLCBHRlBfS0VSTkVMKTsKKwlpZiAoaTJjID09IE5VTEwpIHsKKwkJa2ZyZWUoY29kZWMpOworCQlyZXR1cm4gLUVOT01FTTsKKwl9CisJaTJjX3NldF9jbGllbnRkYXRhKGkyYywgY29kZWMpOworCWNvZGVjLT5jb250cm9sX2RhdGEgPSBpMmM7CisKKwlyZXQgPSBpMmNfYXR0YWNoX2NsaWVudChpMmMpOworCWlmIChyZXQgPCAwKSB7CisJCXByX2VycigiZmFpbGVkIHRvIGF0dGFjaCBjb2RlYyBhdCBhZGRyICV4XG4iLCBhZGRyKTsKKwkJZ290byBlcnI7CisJfQorCisJcmV0ID0gd204NTEwX2luaXQoc29jZGV2KTsKKwlpZiAocmV0IDwgMCkgeworCQlwcl9lcnIoImZhaWxlZCB0byBpbml0aWFsaXNlIFdNODUxMFxuIik7CisJCWdvdG8gZXJyOworCX0KKwlyZXR1cm4gcmV0OworCitlcnI6CisJa2ZyZWUoY29kZWMpOworCWtmcmVlKGkyYyk7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCB3bTg1MTBfaTJjX2RldGFjaChzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQoreworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOworCWkyY19kZXRhY2hfY2xpZW50KGNsaWVudCk7CisJa2ZyZWUoY29kZWMtPnJlZ19jYWNoZSk7CisJa2ZyZWUoY2xpZW50KTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCB3bTg1MTBfaTJjX2F0dGFjaChzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXApCit7CisJcmV0dXJuIGkyY19wcm9iZShhZGFwLCAmYWRkcl9kYXRhLCB3bTg1MTBfY29kZWNfcHJvYmUpOworfQorCisvKiBjb3JnaSBpMmMgY29kZWMgY29udHJvbCBsYXllciAqLworc3RhdGljIHN0cnVjdCBpMmNfZHJpdmVyIHdtODUxMF9pMmNfZHJpdmVyID0geworCS5kcml2ZXIgPSB7CisJCS5uYW1lID0gIldNODUxMCBJMkMgQ29kZWMiLAorCQkub3duZXIgPSBUSElTX01PRFVMRSwKKwl9LAorCS5pZCA9ICAgICAgICAgICAgIEkyQ19EUklWRVJJRF9XTTg1MTAsCisJLmF0dGFjaF9hZGFwdGVyID0gd204NTEwX2kyY19hdHRhY2gsCisJLmRldGFjaF9jbGllbnQgPSAgd204NTEwX2kyY19kZXRhY2gsCisJLmNvbW1hbmQgPSAgICAgICAgTlVMTCwKK307CisKK3N0YXRpYyBzdHJ1Y3QgaTJjX2NsaWVudCBjbGllbnRfdGVtcGxhdGUgPSB7CisJLm5hbWUgPSAgICJXTTg1MTAiLAorCS5kcml2ZXIgPSAmd204NTEwX2kyY19kcml2ZXIsCit9OworI2VuZGlmCisKK3N0YXRpYyBpbnQgd204NTEwX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKKwlzdHJ1Y3Qgd204NTEwX3NldHVwX2RhdGEgKnNldHVwOworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYzsKKwlpbnQgcmV0ID0gMDsKKworCXByX2luZm8oIldNODUxMCBBdWRpbyBDb2RlYyAlcyIsIFdNODUxMF9WRVJTSU9OKTsKKworCXNldHVwID0gc29jZGV2LT5jb2RlY19kYXRhOworCWNvZGVjID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IHNuZF9zb2NfY29kZWMpLCBHRlBfS0VSTkVMKTsKKwlpZiAoY29kZWMgPT0gTlVMTCkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlzb2NkZXYtPmNvZGVjID0gY29kZWM7CisJbXV0ZXhfaW5pdCgmY29kZWMtPm11dGV4KTsKKwlJTklUX0xJU1RfSEVBRCgmY29kZWMtPmRhcG1fd2lkZ2V0cyk7CisJSU5JVF9MSVNUX0hFQUQoJmNvZGVjLT5kYXBtX3BhdGhzKTsKKworCXdtODUxMF9zb2NkZXYgPSBzb2NkZXY7CisjaWYgZGVmaW5lZChDT05GSUdfSTJDKSB8fCBkZWZpbmVkKENPTkZJR19JMkNfTU9EVUxFKQorCWlmIChzZXR1cC0+aTJjX2FkZHJlc3MpIHsKKwkJbm9ybWFsX2kyY1swXSA9IHNldHVwLT5pMmNfYWRkcmVzczsKKwkJY29kZWMtPmh3X3dyaXRlID0gKGh3X3dyaXRlX3QpaTJjX21hc3Rlcl9zZW5kOworCQlyZXQgPSBpMmNfYWRkX2RyaXZlcigmd204NTEwX2kyY19kcml2ZXIpOworCQlpZiAocmV0ICE9IDApCisJCQlwcmludGsoS0VSTl9FUlIgImNhbid0IGFkZCBpMmMgZHJpdmVyIik7CisJfQorI2Vsc2UKKwkvKiBBZGQgb3RoZXIgaW50ZXJmYWNlcyBoZXJlICovCisjZW5kaWYKKwlyZXR1cm4gcmV0OworfQorCisvKiBwb3dlciBkb3duIGNoaXAgKi8KK3N0YXRpYyBpbnQgd204NTEwX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc29jZGV2LT5jb2RlYzsKKworCWlmIChjb2RlYy0+Y29udHJvbF9kYXRhKQorCQl3bTg1MTBfc2V0X2JpYXNfbGV2ZWwoY29kZWMsIFNORF9TT0NfQklBU19PRkYpOworCisJc25kX3NvY19mcmVlX3BjbXMoc29jZGV2KTsKKwlzbmRfc29jX2RhcG1fZnJlZShzb2NkZXYpOworI2lmIGRlZmluZWQoQ09ORklHX0kyQykgfHwgZGVmaW5lZChDT05GSUdfSTJDX01PRFVMRSkKKwlpMmNfZGVsX2RyaXZlcigmd204NTEwX2kyY19kcml2ZXIpOworI2VuZGlmCisJa2ZyZWUoY29kZWMpOworCisJcmV0dXJuIDA7Cit9CisKK3N0cnVjdCBzbmRfc29jX2NvZGVjX2RldmljZSBzb2NfY29kZWNfZGV2X3dtODUxMCA9IHsKKwkucHJvYmUgPSAJd204NTEwX3Byb2JlLAorCS5yZW1vdmUgPSAJd204NTEwX3JlbW92ZSwKKwkuc3VzcGVuZCA9IAl3bTg1MTBfc3VzcGVuZCwKKwkucmVzdW1lID0Jd204NTEwX3Jlc3VtZSwKK307CitFWFBPUlRfU1lNQk9MX0dQTChzb2NfY29kZWNfZGV2X3dtODUxMCk7CisKK01PRFVMRV9ERVNDUklQVElPTigiQVNvQyBXTTg1MTAgZHJpdmVyIik7CitNT0RVTEVfQVVUSE9SKCJMaWFtIEdpcmR3b29kIik7CitNT0RVTEVfTElDRU5TRSgiR1BMIik7CmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvY29kZWNzL3dtODUxMC5oIGIvc291bmQvc29jL2NvZGVjcy93bTg1MTAuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNWQyZTQyCi0tLSAvZGV2L251bGwKKysrIGIvc291bmQvc29jL2NvZGVjcy93bTg1MTAuaApAQCAtMCwwICsxLDEwMyBAQAorLyoKKyAqIHdtODUxMC5oICAtLSAgV004NTEwIFNvYyBBdWRpbyBkcml2ZXIKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICovCisKKyNpZm5kZWYgX1dNODUxMF9ICisjZGVmaW5lIF9XTTg1MTBfSAorCisvKiBXTTg1MTAgcmVnaXN0ZXIgc3BhY2UgKi8KKworI2RlZmluZSBXTTg1MTBfUkVTRVQJCTB4MAorI2RlZmluZSBXTTg1MTBfUE9XRVIxCQkweDEKKyNkZWZpbmUgV004NTEwX1BPV0VSMgkJMHgyCisjZGVmaW5lIFdNODUxMF9QT1dFUjMJCTB4MworI2RlZmluZSBXTTg1MTBfSUZBQ0UJCTB4NAorI2RlZmluZSBXTTg1MTBfQ09NUAkJCTB4NQorI2RlZmluZSBXTTg1MTBfQ0xPQ0sJCTB4NgorI2RlZmluZSBXTTg1MTBfQURECQkJMHg3CisjZGVmaW5lIFdNODUxMF9HUElPCQkJMHg4CisjZGVmaW5lIFdNODUxMF9EQUMJCQkweGEKKyNkZWZpbmUgV004NTEwX0RBQ1ZPTAkJMHhiCisjZGVmaW5lIFdNODUxMF9BREMJCQkweGUKKyNkZWZpbmUgV004NTEwX0FEQ1ZPTAkJMHhmCisjZGVmaW5lIFdNODUxMF9FUTEJCQkweDEyCisjZGVmaW5lIFdNODUxMF9FUTIJCQkweDEzCisjZGVmaW5lIFdNODUxMF9FUTMJCQkweDE0CisjZGVmaW5lIFdNODUxMF9FUTQJCQkweDE1CisjZGVmaW5lIFdNODUxMF9FUTUJCQkweDE2CisjZGVmaW5lIFdNODUxMF9EQUNMSU0xCQkweDE4CisjZGVmaW5lIFdNODUxMF9EQUNMSU0yCQkweDE5CisjZGVmaW5lIFdNODUxMF9OT1RDSDEJCTB4MWIKKyNkZWZpbmUgV004NTEwX05PVENIMgkJMHgxYworI2RlZmluZSBXTTg1MTBfTk9UQ0gzCQkweDFkCisjZGVmaW5lIFdNODUxMF9OT1RDSDQJCTB4MWUKKyNkZWZpbmUgV004NTEwX0FMQzEJCQkweDIwCisjZGVmaW5lIFdNODUxMF9BTEMyCQkJMHgyMQorI2RlZmluZSBXTTg1MTBfQUxDMwkJCTB4MjIKKyNkZWZpbmUgV004NTEwX05HQVRFCQkweDIzCisjZGVmaW5lIFdNODUxMF9QTExOCQkJMHgyNAorI2RlZmluZSBXTTg1MTBfUExMSzEJCTB4MjUKKyNkZWZpbmUgV004NTEwX1BMTEsyCQkweDI2CisjZGVmaW5lIFdNODUxMF9QTExLMwkJMHgyNworI2RlZmluZSBXTTg1MTBfQVRURU4JCTB4MjgKKyNkZWZpbmUgV004NTEwX0lOUFVUCQkweDJjCisjZGVmaW5lIFdNODUxMF9JTlBQR0EJCTB4MmQKKyNkZWZpbmUgV004NTEwX0FEQ0JPT1NUCQkweDJmCisjZGVmaW5lIFdNODUxMF9PVVRQVVQJCTB4MzEKKyNkZWZpbmUgV004NTEwX1NQS01JWAkJMHgzMgorI2RlZmluZSBXTTg1MTBfU1BLVk9MCQkweDM2CisjZGVmaW5lIFdNODUxMF9NT05PTUlYCQkweDM4CisKKyNkZWZpbmUgV004NTEwX0NBQ0hFUkVHTlVNIAk1NworCisvKiBDbG9jayBkaXZpZGVyIElkJ3MgKi8KKyNkZWZpbmUgV004NTEwX09QQ0xLRElWCQkwCisjZGVmaW5lIFdNODUxMF9NQ0xLRElWCQkxCisjZGVmaW5lIFdNODUxMF9BRENDTEsJCTIKKyNkZWZpbmUgV004NTEwX0RBQ0NMSwkJMworI2RlZmluZSBXTTg1MTBfQkNMS0RJVgkJNAorCisvKiBEQUMgY2xvY2sgZGl2aWRlcnMgKi8KKyNkZWZpbmUgV004NTEwX0RBQ0NMS19GMgkoMSA8PCAzKQorI2RlZmluZSBXTTg1MTBfREFDQ0xLX0Y0CSgwIDw8IDMpCisKKy8qIEFEQyBjbG9jayBkaXZpZGVycyAqLworI2RlZmluZSBXTTg1MTBfQURDQ0xLX0YyCSgxIDw8IDMpCisjZGVmaW5lIFdNODUxMF9BRENDTEtfRjQJKDAgPDwgMykKKworLyogUExMIE91dCBkaXZpZGVycyAqLworI2RlZmluZSBXTTg1MTBfT1BDTEtESVZfMQkoMCA8PCA0KQorI2RlZmluZSBXTTg1MTBfT1BDTEtESVZfMgkoMSA8PCA0KQorI2RlZmluZSBXTTg1MTBfT1BDTEtESVZfMwkoMiA8PCA0KQorI2RlZmluZSBXTTg1MTBfT1BDTEtESVZfNAkoMyA8PCA0KQorCisvKiBCQ0xLIGNsb2NrIGRpdmlkZXJzICovCisjZGVmaW5lIFdNODUxMF9CQ0xLRElWXzEJKDAgPDwgMikKKyNkZWZpbmUgV004NTEwX0JDTEtESVZfMgkoMSA8PCAyKQorI2RlZmluZSBXTTg1MTBfQkNMS0RJVl80CSgyIDw8IDIpCisjZGVmaW5lIFdNODUxMF9CQ0xLRElWXzgJKDMgPDwgMikKKyNkZWZpbmUgV004NTEwX0JDTEtESVZfMTYJKDQgPDwgMikKKyNkZWZpbmUgV004NTEwX0JDTEtESVZfMzIJKDUgPDwgMikKKworLyogTUNMSyBjbG9jayBkaXZpZGVycyAqLworI2RlZmluZSBXTTg1MTBfTUNMS0RJVl8xCSgwIDw8IDUpCisjZGVmaW5lIFdNODUxMF9NQ0xLRElWXzFfNQkoMSA8PCA1KQorI2RlZmluZSBXTTg1MTBfTUNMS0RJVl8yCSgyIDw8IDUpCisjZGVmaW5lIFdNODUxMF9NQ0xLRElWXzMJKDMgPDwgNSkKKyNkZWZpbmUgV004NTEwX01DTEtESVZfNAkoNCA8PCA1KQorI2RlZmluZSBXTTg1MTBfTUNMS0RJVl82CSg1IDw8IDUpCisjZGVmaW5lIFdNODUxMF9NQ0xLRElWXzgJKDYgPDwgNSkKKyNkZWZpbmUgV004NTEwX01DTEtESVZfMTIJKDcgPDwgNSkKKworc3RydWN0IHdtODUxMF9zZXR1cF9kYXRhIHsKKwl1bnNpZ25lZCBzaG9ydCBpMmNfYWRkcmVzczsKK307CisKK2V4dGVybiBzdHJ1Y3Qgc25kX3NvY19kYWkgd204NTEwX2RhaTsKK2V4dGVybiBzdHJ1Y3Qgc25kX3NvY19jb2RlY19kZXZpY2Ugc29jX2NvZGVjX2Rldl93bTg1MTA7CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2NvZGVjcy93bTg3MzEuYyBiL3NvdW5kL3NvYy9jb2RlY3Mvd204NzMxLmMKaW5kZXggMGNmOTI2NS4uMzY5ZDM5YyAxMDA2NDQKLS0tIGEvc291bmQvc29jL2NvZGVjcy93bTg3MzEuYworKysgYi9zb3VuZC9zb2MvY29kZWNzL3dtODczMS5jCkBAIC0zMSwyNSArMzEsNiBAQAogI2RlZmluZSBBVURJT19OQU1FICJ3bTg3MzEiCiAjZGVmaW5lIFdNODczMV9WRVJTSU9OICIwLjEzIgogCi0vKgotICogRGVidWcKLSAqLwotCi0jZGVmaW5lIFdNODczMV9ERUJVRyAwCi0KLSNpZmRlZiBXTTg3MzFfREVCVUcKLSNkZWZpbmUgZGJnKGZvcm1hdCwgYXJnLi4uKSBcCi0JcHJpbnRrKEtFUk5fREVCVUcgQVVESU9fTkFNRSAiOiAiIGZvcm1hdCAiXG4iICwgIyMgYXJnKQotI2Vsc2UKLSNkZWZpbmUgZGJnKGZvcm1hdCwgYXJnLi4uKSBkbyB7fSB3aGlsZSAoMCkKLSNlbmRpZgotI2RlZmluZSBlcnIoZm9ybWF0LCBhcmcuLi4pIFwKLQlwcmludGsoS0VSTl9FUlIgQVVESU9fTkFNRSAiOiAiIGZvcm1hdCAiXG4iICwgIyMgYXJnKQotI2RlZmluZSBpbmZvKGZvcm1hdCwgYXJnLi4uKSBcCi0JcHJpbnRrKEtFUk5fSU5GTyBBVURJT19OQU1FICI6ICIgZm9ybWF0ICJcbiIgLCAjIyBhcmcpCi0jZGVmaW5lIHdhcm4oZm9ybWF0LCBhcmcuLi4pIFwKLQlwcmludGsoS0VSTl9XQVJOSU5HIEFVRElPX05BTUUgIjogIiBmb3JtYXQgIlxuIiAsICMjIGFyZykKLQogc3RydWN0IHNuZF9zb2NfY29kZWNfZGV2aWNlIHNvY19jb2RlY19kZXZfd204NzMxOwogCiAvKiBjb2RlYyBwcml2YXRlIGRhdGEgKi8KQEAgLTE5Myw3ICsxNzQsNyBAQAogU05EX1NPQ19EQVBNX0lOUFVUKCJMTElORUlOIiksCiB9OwogCi1zdGF0aWMgY29uc3QgY2hhciAqaW50ZXJjb25bXVszXSA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX3NvY19kYXBtX3JvdXRlIGludGVyY29uW10gPSB7CiAJLyogb3V0cHV0IG1peGVyICovCiAJeyJPdXRwdXQgTWl4ZXIiLCAiTGluZSBCeXBhc3MgU3dpdGNoIiwgIkxpbmUgSW5wdXQifSwKIAl7Ik91dHB1dCBNaXhlciIsICJIaUZpIFBsYXliYWNrIFN3aXRjaCIsICJEQUMifSwKQEAgLTIxNCwyMiArMTk1LDE0IEBACiAJeyJMaW5lIElucHV0IiwgTlVMTCwgIkxMSU5FSU4ifSwKIAl7IkxpbmUgSW5wdXQiLCBOVUxMLCAiUkxJTkVJTiJ9LAogCXsiTWljIEJpYXMiLCBOVUxMLCAiTUlDSU4ifSwKLQotCS8qIHRlcm1pbmF0b3IgKi8KLQl7TlVMTCwgTlVMTCwgTlVMTH0sCiB9OwogCiBzdGF0aWMgaW50IHdtODczMV9hZGRfd2lkZ2V0cyhzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMpCiB7Ci0JaW50IGk7CisJc25kX3NvY19kYXBtX25ld19jb250cm9scyhjb2RlYywgd204NzMxX2RhcG1fd2lkZ2V0cywKKwkJCQkgIEFSUkFZX1NJWkUod204NzMxX2RhcG1fd2lkZ2V0cykpOwogCi0JZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUod204NzMxX2RhcG1fd2lkZ2V0cyk7IGkrKykKLQkJc25kX3NvY19kYXBtX25ld19jb250cm9sKGNvZGVjLCAmd204NzMxX2RhcG1fd2lkZ2V0c1tpXSk7Ci0KLQkvKiBzZXQgdXAgYXVkaW8gcGF0aCBpbnRlcmNvbm5lY3RzICovCi0JZm9yIChpID0gMDsgaW50ZXJjb25baV1bMF0gIT0gTlVMTDsgaSsrKQotCQlzbmRfc29jX2RhcG1fY29ubmVjdF9pbnB1dChjb2RlYywgaW50ZXJjb25baV1bMF0sCi0JCQlpbnRlcmNvbltpXVsxXSwgaW50ZXJjb25baV1bMl0pOworCXNuZF9zb2NfZGFwbV9hZGRfcm91dGVzKGNvZGVjLCBpbnRlcmNvbiwgQVJSQVlfU0laRShpbnRlcmNvbikpOwogCiAJc25kX3NvY19kYXBtX25ld193aWRnZXRzKGNvZGVjKTsKIAlyZXR1cm4gMDsKQEAgLTM0NSw3ICszMTgsNyBAQAogCX0KIH0KIAotc3RhdGljIGludCB3bTg3MzFfbXV0ZShzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmRhaSwgaW50IG11dGUpCitzdGF0aWMgaW50IHdtODczMV9tdXRlKHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLCBpbnQgbXV0ZSkKIHsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBkYWktPmNvZGVjOwogCXUxNiBtdXRlX3JlZyA9IHdtODczMV9yZWFkX3JlZ19jYWNoZShjb2RlYywgV004NzMxX0FQRElHSSkgJiAweGZmZjc7CkBAIC0zNTcsNyArMzMwLDcgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCB3bTg3MzFfc2V0X2RhaV9zeXNjbGsoc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWksCitzdGF0aWMgaW50IHdtODczMV9zZXRfZGFpX3N5c2NsayhzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSwKIAkJaW50IGNsa19pZCwgdW5zaWduZWQgaW50IGZyZXEsIGludCBkaXIpCiB7CiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gY29kZWNfZGFpLT5jb2RlYzsKQEAgLTM3Niw3ICszNDksNyBAQAogfQogCiAKLXN0YXRpYyBpbnQgd204NzMxX3NldF9kYWlfZm10KHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpLAorc3RhdGljIGludCB3bTg3MzFfc2V0X2RhaV9mbXQoc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWksCiAJCXVuc2lnbmVkIGludCBmbXQpCiB7CiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gY29kZWNfZGFpLT5jb2RlYzsKQEAgLTQzNSwyOSArNDA4LDI5IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgd204NzMxX2RhcG1fZXZlbnQoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLCBpbnQgZXZlbnQpCitzdGF0aWMgaW50IHdtODczMV9zZXRfYmlhc19sZXZlbChzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsCisJCQkJIGVudW0gc25kX3NvY19iaWFzX2xldmVsIGxldmVsKQogewogCXUxNiByZWcgPSB3bTg3MzFfcmVhZF9yZWdfY2FjaGUoY29kZWMsIFdNODczMV9QV1IpICYgMHhmZjdmOwogCi0Jc3dpdGNoIChldmVudCkgewotCWNhc2UgU05EUlZfQ1RMX1BPV0VSX0QwOiAvKiBmdWxsIE9uICovCisJc3dpdGNoIChsZXZlbCkgeworCWNhc2UgU05EX1NPQ19CSUFTX09OOgogCQkvKiB2cmVmL21pZCwgb3NjIG9uLCBkYWMgdW5tdXRlICovCiAJCXdtODczMV93cml0ZShjb2RlYywgV004NzMxX1BXUiwgcmVnKTsKIAkJYnJlYWs7Ci0JY2FzZSBTTkRSVl9DVExfUE9XRVJfRDE6IC8qIHBhcnRpYWwgT24gKi8KLQljYXNlIFNORFJWX0NUTF9QT1dFUl9EMjogLyogcGFydGlhbCBPbiAqLworCWNhc2UgU05EX1NPQ19CSUFTX1BSRVBBUkU6CiAJCWJyZWFrOwotCWNhc2UgU05EUlZfQ1RMX1BPV0VSX0QzaG90OiAvKiBPZmYsIHdpdGggcG93ZXIgKi8KKwljYXNlIFNORF9TT0NfQklBU19TVEFOREJZOgogCQkvKiBldmVyeXRoaW5nIG9mZiBleGNlcHQgdnJlZi92bWlkLCAqLwogCQl3bTg3MzFfd3JpdGUoY29kZWMsIFdNODczMV9QV1IsIHJlZyB8IDB4MDA0MCk7CiAJCWJyZWFrOwotCWNhc2UgU05EUlZfQ1RMX1BPV0VSX0QzY29sZDogLyogT2ZmLCB3aXRob3V0IHBvd2VyICovCisJY2FzZSBTTkRfU09DX0JJQVNfT0ZGOgogCQkvKiBldmVyeXRoaW5nIG9mZiwgZGFjIG11dGUsIGluYWN0aXZlICovCiAJCXdtODczMV93cml0ZShjb2RlYywgV004NzMxX0FDVElWRSwgMHgwKTsKIAkJd204NzMxX3dyaXRlKGNvZGVjLCBXTTg3MzFfUFdSLCAweGZmZmYpOwogCQlicmVhazsKIAl9Ci0JY29kZWMtPmRhcG1fc3RhdGUgPSBldmVudDsKKwljb2RlYy0+Ymlhc19sZXZlbCA9IGxldmVsOwogCXJldHVybiAwOwogfQogCkBAIC00NzAsNyArNDQzLDcgQEAKICNkZWZpbmUgV004NzMxX0ZPUk1BVFMgKFNORFJWX1BDTV9GTVRCSVRfUzE2X0xFIHwgU05EUlZfUENNX0ZNVEJJVF9TMjBfM0xFIHxcCiAJU05EUlZfUENNX0ZNVEJJVF9TMjRfTEUpCiAKLXN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSB3bTg3MzFfZGFpID0geworc3RydWN0IHNuZF9zb2NfZGFpIHdtODczMV9kYWkgPSB7CiAJLm5hbWUgPSAiV004NzMxIiwKIAkucGxheWJhY2sgPSB7CiAJCS5zdHJlYW1fbmFtZSA9ICJQbGF5YmFjayIsCkBAIC01MDMsNyArNDc2LDcgQEAKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzb2NkZXYtPmNvZGVjOwogCiAJd204NzMxX3dyaXRlKGNvZGVjLCBXTTg3MzFfQUNUSVZFLCAweDApOwotCXdtODczMV9kYXBtX2V2ZW50KGNvZGVjLCBTTkRSVl9DVExfUE9XRVJfRDNjb2xkKTsKKwl3bTg3MzFfc2V0X2JpYXNfbGV2ZWwoY29kZWMsIFNORF9TT0NfQklBU19PRkYpOwogCXJldHVybiAwOwogfQogCkBAIC01MjEsOCArNDk0LDggQEAKIAkJZGF0YVsxXSA9IGNhY2hlW2ldICYgMHgwMGZmOwogCQljb2RlYy0+aHdfd3JpdGUoY29kZWMtPmNvbnRyb2xfZGF0YSwgZGF0YSwgMik7CiAJfQotCXdtODczMV9kYXBtX2V2ZW50KGNvZGVjLCBTTkRSVl9DVExfUE9XRVJfRDNob3QpOwotCXdtODczMV9kYXBtX2V2ZW50KGNvZGVjLCBjb2RlYy0+c3VzcGVuZF9kYXBtX3N0YXRlKTsKKwl3bTg3MzFfc2V0X2JpYXNfbGV2ZWwoY29kZWMsIFNORF9TT0NfQklBU19TVEFOREJZKTsKKwl3bTg3MzFfc2V0X2JpYXNfbGV2ZWwoY29kZWMsIGNvZGVjLT5zdXNwZW5kX2JpYXNfbGV2ZWwpOwogCXJldHVybiAwOwogfQogCkBAIC01MzksMTAgKzUxMiwxMCBAQAogCWNvZGVjLT5vd25lciA9IFRISVNfTU9EVUxFOwogCWNvZGVjLT5yZWFkID0gd204NzMxX3JlYWRfcmVnX2NhY2hlOwogCWNvZGVjLT53cml0ZSA9IHdtODczMV93cml0ZTsKLQljb2RlYy0+ZGFwbV9ldmVudCA9IHdtODczMV9kYXBtX2V2ZW50OworCWNvZGVjLT5zZXRfYmlhc19sZXZlbCA9IHdtODczMV9zZXRfYmlhc19sZXZlbDsKIAljb2RlYy0+ZGFpID0gJndtODczMV9kYWk7CiAJY29kZWMtPm51bV9kYWkgPSAxOwotCWNvZGVjLT5yZWdfY2FjaGVfc2l6ZSA9IHNpemVvZih3bTg3MzFfcmVnKTsKKwljb2RlYy0+cmVnX2NhY2hlX3NpemUgPSBBUlJBWV9TSVpFKHdtODczMV9yZWcpOwogCWNvZGVjLT5yZWdfY2FjaGUgPSBrbWVtZHVwKHdtODczMV9yZWcsIHNpemVvZih3bTg3MzFfcmVnKSwgR0ZQX0tFUk5FTCk7CiAJaWYgKGNvZGVjLT5yZWdfY2FjaGUgPT0gTlVMTCkKIAkJcmV0dXJuIC1FTk9NRU07CkBAIC01NTcsNyArNTMwLDcgQEAKIAl9CiAKIAkvKiBwb3dlciBvbiBkZXZpY2UgKi8KLQl3bTg3MzFfZGFwbV9ldmVudChjb2RlYywgU05EUlZfQ1RMX1BPV0VSX0QzaG90KTsKKwl3bTg3MzFfc2V0X2JpYXNfbGV2ZWwoY29kZWMsIFNORF9TT0NfQklBU19TVEFOREJZKTsKIAogCS8qIHNldCB0aGUgdXBkYXRlIGJpdHMgKi8KIAlyZWcgPSB3bTg3MzFfcmVhZF9yZWdfY2FjaGUoY29kZWMsIFdNODczMV9MT1VUMVYpOwpAQCAtNjMyLDEzICs2MDUsMTMgQEAKIAogCXJldCA9IGkyY19hdHRhY2hfY2xpZW50KGkyYyk7CiAJaWYgKHJldCA8IDApIHsKLQkJZXJyKCJmYWlsZWQgdG8gYXR0YWNoIGNvZGVjIGF0IGFkZHIgJXhcbiIsIGFkZHIpOworCQlwcl9lcnIoImZhaWxlZCB0byBhdHRhY2ggY29kZWMgYXQgYWRkciAleFxuIiwgYWRkcik7CiAJCWdvdG8gZXJyOwogCX0KIAogCXJldCA9IHdtODczMV9pbml0KHNvY2Rldik7CiAJaWYgKHJldCA8IDApIHsKLQkJZXJyKCJmYWlsZWQgdG8gaW5pdGlhbGlzZSBXTTg3MzFcbiIpOworCQlwcl9lcnIoImZhaWxlZCB0byBpbml0aWFsaXNlIFdNODczMVxuIik7CiAJCWdvdG8gZXJyOwogCX0KIAlyZXR1cm4gcmV0OwpAQCAtNjg5LDcgKzY2Miw3IEBACiAJc3RydWN0IHdtODczMV9wcml2ICp3bTg3MzE7CiAJaW50IHJldCA9IDA7CiAKLQlpbmZvKCJXTTg3MzEgQXVkaW8gQ29kZWMgJXMiLCBXTTg3MzFfVkVSU0lPTik7CisJcHJfaW5mbygiV004NzMxIEF1ZGlvIENvZGVjICVzIiwgV004NzMxX1ZFUlNJT04pOwogCiAJc2V0dXAgPSBzb2NkZXYtPmNvZGVjX2RhdGE7CiAJY29kZWMgPSBremFsbG9jKHNpemVvZihzdHJ1Y3Qgc25kX3NvY19jb2RlYyksIEdGUF9LRVJORUwpOwpAQCAtNzMwLDcgKzcwMyw3IEBACiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc29jZGV2LT5jb2RlYzsKIAogCWlmIChjb2RlYy0+Y29udHJvbF9kYXRhKQotCQl3bTg3MzFfZGFwbV9ldmVudChjb2RlYywgU05EUlZfQ1RMX1BPV0VSX0QzY29sZCk7CisJCXdtODczMV9zZXRfYmlhc19sZXZlbChjb2RlYywgU05EX1NPQ19CSUFTX09GRik7CiAKIAlzbmRfc29jX2ZyZWVfcGNtcyhzb2NkZXYpOwogCXNuZF9zb2NfZGFwbV9mcmVlKHNvY2Rldik7CmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvY29kZWNzL3dtODczMS5oIGIvc291bmQvc29jL2NvZGVjcy93bTg3MzEuaAppbmRleCA1YmNhYjZhLi45OWYyZTNjIDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvY29kZWNzL3dtODczMS5oCisrKyBiL3NvdW5kL3NvYy9jb2RlY3Mvd204NzMxLmgKQEAgLTM4LDcgKzM4LDcgQEAKIAl1bnNpZ25lZCBzaG9ydCBpMmNfYWRkcmVzczsKIH07CiAKLWV4dGVybiBzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgd204NzMxX2RhaTsKK2V4dGVybiBzdHJ1Y3Qgc25kX3NvY19kYWkgd204NzMxX2RhaTsKIGV4dGVybiBzdHJ1Y3Qgc25kX3NvY19jb2RlY19kZXZpY2Ugc29jX2NvZGVjX2Rldl93bTg3MzE7CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2NvZGVjcy93bTg3NTAuYyBiL3NvdW5kL3NvYy9jb2RlY3Mvd204NzUwLmMKaW5kZXggMTZjZDVkNC4uZTIzY2IwOSAxMDA2NDQKLS0tIGEvc291bmQvc29jL2NvZGVjcy93bTg3NTAuYworKysgYi9zb3VuZC9zb2MvY29kZWNzL3dtODc1MC5jCkBAIC0zMSwyNSArMzEsNiBAQAogI2RlZmluZSBBVURJT19OQU1FICJXTTg3NTAiCiAjZGVmaW5lIFdNODc1MF9WRVJTSU9OICIwLjEyIgogCi0vKgotICogRGVidWcKLSAqLwotCi0jZGVmaW5lIFdNODc1MF9ERUJVRyAwCi0KLSNpZmRlZiBXTTg3NTBfREVCVUcKLSNkZWZpbmUgZGJnKGZvcm1hdCwgYXJnLi4uKSBcCi0JcHJpbnRrKEtFUk5fREVCVUcgQVVESU9fTkFNRSAiOiAiIGZvcm1hdCAiXG4iICwgIyMgYXJnKQotI2Vsc2UKLSNkZWZpbmUgZGJnKGZvcm1hdCwgYXJnLi4uKSBkbyB7fSB3aGlsZSAoMCkKLSNlbmRpZgotI2RlZmluZSBlcnIoZm9ybWF0LCBhcmcuLi4pIFwKLQlwcmludGsoS0VSTl9FUlIgQVVESU9fTkFNRSAiOiAiIGZvcm1hdCAiXG4iICwgIyMgYXJnKQotI2RlZmluZSBpbmZvKGZvcm1hdCwgYXJnLi4uKSBcCi0JcHJpbnRrKEtFUk5fSU5GTyBBVURJT19OQU1FICI6ICIgZm9ybWF0ICJcbiIgLCAjIyBhcmcpCi0jZGVmaW5lIHdhcm4oZm9ybWF0LCBhcmcuLi4pIFwKLQlwcmludGsoS0VSTl9XQVJOSU5HIEFVRElPX05BTUUgIjogIiBmb3JtYXQgIlxuIiAsICMjIGFyZykKLQogLyogY29kZWMgcHJpdmF0ZSBkYXRhICovCiBzdHJ1Y3Qgd204NzUwX3ByaXYgewogCXVuc2lnbmVkIGludCBzeXNjbGs7CkBAIC0zNzgsNyArMzU5LDcgQEAKIAlTTkRfU09DX0RBUE1fSU5QVVQoIlJJTlBVVDMiKSwKIH07CiAKLXN0YXRpYyBjb25zdCBjaGFyICphdWRpb19tYXBbXVszXSA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX3NvY19kYXBtX3JvdXRlIGF1ZGlvX21hcFtdID0gewogCS8qIGxlZnQgbWl4ZXIgKi8KIAl7IkxlZnQgTWl4ZXIiLCAiUGxheWJhY2sgU3dpdGNoIiwgIkxlZnQgREFDIn0sCiAJeyJMZWZ0IE1peGVyIiwgIkxlZnQgQnlwYXNzIFN3aXRjaCIsICJMZWZ0IExpbmUgTXV4In0sCkBAIC00NzAsMjIgKzQ1MSwxNCBAQAogCS8qIEFEQyAqLwogCXsiTGVmdCBBREMiLCBOVUxMLCAiTGVmdCBBREMgTXV4In0sCiAJeyJSaWdodCBBREMiLCBOVUxMLCAiUmlnaHQgQURDIE11eCJ9LAotCi0JLyogdGVybWluYXRvciAqLwotCXtOVUxMLCBOVUxMLCBOVUxMfSwKIH07CiAKIHN0YXRpYyBpbnQgd204NzUwX2FkZF93aWRnZXRzKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYykKIHsKLQlpbnQgaTsKKwlzbmRfc29jX2RhcG1fbmV3X2NvbnRyb2xzKGNvZGVjLCB3bTg3NTBfZGFwbV93aWRnZXRzLAorCQkJCSAgQVJSQVlfU0laRSh3bTg3NTBfZGFwbV93aWRnZXRzKSk7CiAKLQlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRSh3bTg3NTBfZGFwbV93aWRnZXRzKTsgaSsrKQotCQlzbmRfc29jX2RhcG1fbmV3X2NvbnRyb2woY29kZWMsICZ3bTg3NTBfZGFwbV93aWRnZXRzW2ldKTsKLQotCS8qIHNldCB1cCBhdWRpbyBwYXRoIGF1ZGlvX21hcG5lY3RzICovCi0JZm9yIChpID0gMDsgYXVkaW9fbWFwW2ldWzBdICE9IE5VTEw7IGkrKykKLQkJc25kX3NvY19kYXBtX2Nvbm5lY3RfaW5wdXQoY29kZWMsIGF1ZGlvX21hcFtpXVswXSwKLQkJCWF1ZGlvX21hcFtpXVsxXSwgYXVkaW9fbWFwW2ldWzJdKTsKKwlzbmRfc29jX2RhcG1fYWRkX3JvdXRlcyhjb2RlYywgYXVkaW9fbWFwLCBBUlJBWV9TSVpFKGF1ZGlvX21hcCkpOwogCiAJc25kX3NvY19kYXBtX25ld193aWRnZXRzKGNvZGVjKTsKIAlyZXR1cm4gMDsKQEAgLTU2Myw3ICs1MzYsNyBAQAogCXJldHVybiAtRUlOVkFMOwogfQogCi1zdGF0aWMgaW50IHdtODc1MF9zZXRfZGFpX3N5c2NsayhzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSwKK3N0YXRpYyBpbnQgd204NzUwX3NldF9kYWlfc3lzY2xrKHN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpLAogCQlpbnQgY2xrX2lkLCB1bnNpZ25lZCBpbnQgZnJlcSwgaW50IGRpcikKIHsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBjb2RlY19kYWktPmNvZGVjOwpAQCAtNTgxLDcgKzU1NCw3IEBACiAJcmV0dXJuIC1FSU5WQUw7CiB9CiAKLXN0YXRpYyBpbnQgd204NzUwX3NldF9kYWlfZm10KHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpLAorc3RhdGljIGludCB3bTg3NTBfc2V0X2RhaV9mbXQoc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWksCiAJCXVuc2lnbmVkIGludCBmbXQpCiB7CiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gY29kZWNfZGFpLT5jb2RlYzsKQEAgLTY3NCw3ICs2NDcsNyBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IHdtODc1MF9tdXRlKHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqZGFpLCBpbnQgbXV0ZSkKK3N0YXRpYyBpbnQgd204NzUwX211dGUoc3RydWN0IHNuZF9zb2NfZGFpICpkYWksIGludCBtdXRlKQogewogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IGRhaS0+Y29kZWM7CiAJdTE2IG11dGVfcmVnID0gd204NzUwX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBXTTg3NTBfQURDREFDKSAmIDB4ZmZmNzsKQEAgLTY4NiwyOSArNjU5LDI5IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgd204NzUwX2RhcG1fZXZlbnQoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLCBpbnQgZXZlbnQpCitzdGF0aWMgaW50IHdtODc1MF9zZXRfYmlhc19sZXZlbChzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsCisJCQkJIGVudW0gc25kX3NvY19iaWFzX2xldmVsIGxldmVsKQogewogCXUxNiBwd3JfcmVnID0gd204NzUwX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBXTTg3NTBfUFdSMSkgJiAweGZlM2U7CiAKLQlzd2l0Y2ggKGV2ZW50KSB7Ci0JY2FzZSBTTkRSVl9DVExfUE9XRVJfRDA6IC8qIGZ1bGwgT24gKi8KKwlzd2l0Y2ggKGxldmVsKSB7CisJY2FzZSBTTkRfU09DX0JJQVNfT046CiAJCS8qIHNldCB2bWlkIHRvIDUwayBhbmQgdW5tdXRlIGRhYyAqLwogCQl3bTg3NTBfd3JpdGUoY29kZWMsIFdNODc1MF9QV1IxLCBwd3JfcmVnIHwgMHgwMGMwKTsKIAkJYnJlYWs7Ci0JY2FzZSBTTkRSVl9DVExfUE9XRVJfRDE6IC8qIHBhcnRpYWwgT24gKi8KLQljYXNlIFNORFJWX0NUTF9QT1dFUl9EMjogLyogcGFydGlhbCBPbiAqLworCWNhc2UgU05EX1NPQ19CSUFTX1BSRVBBUkU6CiAJCS8qIHNldCB2bWlkIHRvIDVrIGZvciBxdWljayBwb3dlciB1cCAqLwogCQl3bTg3NTBfd3JpdGUoY29kZWMsIFdNODc1MF9QV1IxLCBwd3JfcmVnIHwgMHgwMWMxKTsKIAkJYnJlYWs7Ci0JY2FzZSBTTkRSVl9DVExfUE9XRVJfRDNob3Q6IC8qIE9mZiwgd2l0aCBwb3dlciAqLworCWNhc2UgU05EX1NPQ19CSUFTX1NUQU5EQlk6CiAJCS8qIG11dGUgZGFjIGFuZCBzZXQgdm1pZCB0byA1MDBrLCBlbmFibGUgVlJFRiAqLwogCQl3bTg3NTBfd3JpdGUoY29kZWMsIFdNODc1MF9QV1IxLCBwd3JfcmVnIHwgMHgwMTQxKTsKIAkJYnJlYWs7Ci0JY2FzZSBTTkRSVl9DVExfUE9XRVJfRDNjb2xkOiAvKiBPZmYsIHdpdGhvdXQgcG93ZXIgKi8KKwljYXNlIFNORF9TT0NfQklBU19PRkY6CiAJCXdtODc1MF93cml0ZShjb2RlYywgV004NzUwX1BXUjEsIDB4MDAwMSk7CiAJCWJyZWFrOwogCX0KLQljb2RlYy0+ZGFwbV9zdGF0ZSA9IGV2ZW50OworCWNvZGVjLT5iaWFzX2xldmVsID0gbGV2ZWw7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTcxOSw3ICs2OTIsNyBAQAogI2RlZmluZSBXTTg3NTBfRk9STUFUUyAoU05EUlZfUENNX0ZNVEJJVF9TMTZfTEUgfCBTTkRSVl9QQ01fRk1UQklUX1MyMF8zTEUgfFwKIAlTTkRSVl9QQ01fRk1UQklUX1MyNF9MRSkKIAotc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpIHdtODc1MF9kYWkgPSB7CitzdHJ1Y3Qgc25kX3NvY19kYWkgd204NzUwX2RhaSA9IHsKIAkubmFtZSA9ICJXTTg3NTAiLAogCS5wbGF5YmFjayA9IHsKIAkJLnN0cmVhbV9uYW1lID0gIlBsYXliYWNrIiwKQEAgLTc0OCw3ICs3MjEsNyBAQAogewogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9CiAJCWNvbnRhaW5lcl9vZih3b3JrLCBzdHJ1Y3Qgc25kX3NvY19jb2RlYywgZGVsYXllZF93b3JrLndvcmspOwotCXdtODc1MF9kYXBtX2V2ZW50KGNvZGVjLCBjb2RlYy0+ZGFwbV9zdGF0ZSk7CisJd204NzUwX3NldF9iaWFzX2xldmVsKGNvZGVjLCBjb2RlYy0+Ymlhc19sZXZlbCk7CiB9CiAKIHN0YXRpYyBpbnQgd204NzUwX3N1c3BlbmQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwgcG1fbWVzc2FnZV90IHN0YXRlKQpAQCAtNzU2LDcgKzcyOSw3IEBACiAJc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzb2NkZXYtPmNvZGVjOwogCi0Jd204NzUwX2RhcG1fZXZlbnQoY29kZWMsIFNORFJWX0NUTF9QT1dFUl9EM2NvbGQpOworCXdtODc1MF9zZXRfYmlhc19sZXZlbChjb2RlYywgU05EX1NPQ19CSUFTX09GRik7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTc3NywxMiArNzUwLDEyIEBACiAJCWNvZGVjLT5od193cml0ZShjb2RlYy0+Y29udHJvbF9kYXRhLCBkYXRhLCAyKTsKIAl9CiAKLQl3bTg3NTBfZGFwbV9ldmVudChjb2RlYywgU05EUlZfQ1RMX1BPV0VSX0QzaG90KTsKKwl3bTg3NTBfc2V0X2JpYXNfbGV2ZWwoY29kZWMsIFNORF9TT0NfQklBU19TVEFOREJZKTsKIAogCS8qIGNoYXJnZSB3bTg3NTAgY2FwcyAqLwotCWlmIChjb2RlYy0+c3VzcGVuZF9kYXBtX3N0YXRlID09IFNORFJWX0NUTF9QT1dFUl9EMCkgewotCQl3bTg3NTBfZGFwbV9ldmVudChjb2RlYywgU05EUlZfQ1RMX1BPV0VSX0QyKTsKLQkJY29kZWMtPmRhcG1fc3RhdGUgPSBTTkRSVl9DVExfUE9XRVJfRDA7CisJaWYgKGNvZGVjLT5zdXNwZW5kX2JpYXNfbGV2ZWwgPT0gU05EX1NPQ19CSUFTX09OKSB7CisJCXdtODc1MF9zZXRfYmlhc19sZXZlbChjb2RlYywgU05EX1NPQ19CSUFTX1BSRVBBUkUpOworCQljb2RlYy0+Ymlhc19sZXZlbCA9IFNORF9TT0NfQklBU19PTjsKIAkJc2NoZWR1bGVfZGVsYXllZF93b3JrKCZjb2RlYy0+ZGVsYXllZF93b3JrLAogCQkJCQltc2Vjc190b19qaWZmaWVzKDEwMDApKTsKIAl9CkBAIC04MDMsMTAgKzc3NiwxMCBAQAogCWNvZGVjLT5vd25lciA9IFRISVNfTU9EVUxFOwogCWNvZGVjLT5yZWFkID0gd204NzUwX3JlYWRfcmVnX2NhY2hlOwogCWNvZGVjLT53cml0ZSA9IHdtODc1MF93cml0ZTsKLQljb2RlYy0+ZGFwbV9ldmVudCA9IHdtODc1MF9kYXBtX2V2ZW50OworCWNvZGVjLT5zZXRfYmlhc19sZXZlbCA9IHdtODc1MF9zZXRfYmlhc19sZXZlbDsKIAljb2RlYy0+ZGFpID0gJndtODc1MF9kYWk7CiAJY29kZWMtPm51bV9kYWkgPSAxOwotCWNvZGVjLT5yZWdfY2FjaGVfc2l6ZSA9IHNpemVvZih3bTg3NTBfcmVnKTsKKwljb2RlYy0+cmVnX2NhY2hlX3NpemUgPSBBUlJBWV9TSVpFKHdtODc1MF9yZWcpOwogCWNvZGVjLT5yZWdfY2FjaGUgPSBrbWVtZHVwKHdtODc1MF9yZWcsIHNpemVvZih3bTg3NTBfcmVnKSwgR0ZQX0tFUk5FTCk7CiAJaWYgKGNvZGVjLT5yZWdfY2FjaGUgPT0gTlVMTCkKIAkJcmV0dXJuIC1FTk9NRU07CkBAIC04MjEsOCArNzk0LDggQEAKIAl9CiAKIAkvKiBjaGFyZ2Ugb3V0cHV0IGNhcHMgKi8KLQl3bTg3NTBfZGFwbV9ldmVudChjb2RlYywgU05EUlZfQ1RMX1BPV0VSX0QyKTsKLQljb2RlYy0+ZGFwbV9zdGF0ZSA9IFNORFJWX0NUTF9QT1dFUl9EM2hvdDsKKwl3bTg3NTBfc2V0X2JpYXNfbGV2ZWwoY29kZWMsIFNORF9TT0NfQklBU19QUkVQQVJFKTsKKwljb2RlYy0+Ymlhc19sZXZlbCA9IFNORF9TT0NfQklBU19TVEFOREJZOwogCXNjaGVkdWxlX2RlbGF5ZWRfd29yaygmY29kZWMtPmRlbGF5ZWRfd29yaywgbXNlY3NfdG9famlmZmllcygxMDAwKSk7CiAKIAkvKiBzZXQgdGhlIHVwZGF0ZSBiaXRzICovCkBAIC05MDQsMTMgKzg3NywxMyBAQAogCiAJcmV0ID0gaTJjX2F0dGFjaF9jbGllbnQoaTJjKTsKIAlpZiAocmV0IDwgMCkgewotCQllcnIoImZhaWxlZCB0byBhdHRhY2ggY29kZWMgYXQgYWRkciAleFxuIiwgYWRkcik7CisJCXByX2VycigiZmFpbGVkIHRvIGF0dGFjaCBjb2RlYyBhdCBhZGRyICV4XG4iLCBhZGRyKTsKIAkJZ290byBlcnI7CiAJfQogCiAJcmV0ID0gd204NzUwX2luaXQoc29jZGV2KTsKIAlpZiAocmV0IDwgMCkgewotCWVycigiZmFpbGVkIHRvIGluaXRpYWxpc2UgV004NzUwXG4iKTsKKwkJcHJfZXJyKCJmYWlsZWQgdG8gaW5pdGlhbGlzZSBXTTg3NTBcbiIpOwogCQlnb3RvIGVycjsKIAl9CiAJcmV0dXJuIHJldDsKQEAgLTk2MSw3ICs5MzQsNyBAQAogCXN0cnVjdCB3bTg3NTBfcHJpdiAqd204NzUwOwogCWludCByZXQgPSAwOwogCi0JaW5mbygiV004NzUwIEF1ZGlvIENvZGVjICVzIiwgV004NzUwX1ZFUlNJT04pOworCXByX2luZm8oIldNODc1MCBBdWRpbyBDb2RlYyAlcyIsIFdNODc1MF9WRVJTSU9OKTsKIAljb2RlYyA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBzbmRfc29jX2NvZGVjKSwgR0ZQX0tFUk5FTCk7CiAJaWYgKGNvZGVjID09IE5VTEwpCiAJCXJldHVybiAtRU5PTUVNOwpAQCAtMTAyMSw3ICs5OTQsNyBAQAogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNvY2Rldi0+Y29kZWM7CiAKIAlpZiAoY29kZWMtPmNvbnRyb2xfZGF0YSkKLQkJd204NzUwX2RhcG1fZXZlbnQoY29kZWMsIFNORFJWX0NUTF9QT1dFUl9EM2NvbGQpOworCQl3bTg3NTBfc2V0X2JpYXNfbGV2ZWwoY29kZWMsIFNORF9TT0NfQklBU19PRkYpOwogCXJ1bl9kZWxheWVkX3dvcmsoJmNvZGVjLT5kZWxheWVkX3dvcmspOwogCXNuZF9zb2NfZnJlZV9wY21zKHNvY2Rldik7CiAJc25kX3NvY19kYXBtX2ZyZWUoc29jZGV2KTsKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2RlY3Mvd204NzUwLmggYi9zb3VuZC9zb2MvY29kZWNzL3dtODc1MC5oCmluZGV4IGE5N2E1NGEuLjhlZjMwZTYgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9jb2RlY3Mvd204NzUwLmgKKysrIGIvc291bmQvc29jL2NvZGVjcy93bTg3NTAuaApAQCAtNjEsNyArNjEsNyBAQAogCXVuc2lnbmVkIHNob3J0IGkyY19hZGRyZXNzOwogfTsKIAotZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSB3bTg3NTBfZGFpOworZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2RhaSB3bTg3NTBfZGFpOwogZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2NvZGVjX2RldmljZSBzb2NfY29kZWNfZGV2X3dtODc1MDsKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvY29kZWNzL3dtODc1My5jIGIvc291bmQvc29jL2NvZGVjcy93bTg3NTMuYwppbmRleCBmYjQxODI2Li44NjA0ODA5IDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvY29kZWNzL3dtODc1My5jCisrKyBiL3NvdW5kL3NvYy9jb2RlY3Mvd204NzUzLmMKQEAgLTU1LDI1ICs1NSw2IEBACiAjZGVmaW5lIEFVRElPX05BTUUgIndtODc1MyIKICNkZWZpbmUgV004NzUzX1ZFUlNJT04gIjAuMTYiCiAKLS8qCi0gKiBEZWJ1ZwotICovCi0KLSNkZWZpbmUgV004NzUzX0RFQlVHIDAKLQotI2lmZGVmIFdNODc1M19ERUJVRwotI2RlZmluZSBkYmcoZm9ybWF0LCBhcmcuLi4pIFwKLQlwcmludGsoS0VSTl9ERUJVRyBBVURJT19OQU1FICI6ICIgZm9ybWF0ICJcbiIgLCAjIyBhcmcpCi0jZWxzZQotI2RlZmluZSBkYmcoZm9ybWF0LCBhcmcuLi4pIGRvIHt9IHdoaWxlICgwKQotI2VuZGlmCi0jZGVmaW5lIGVycihmb3JtYXQsIGFyZy4uLikgXAotCXByaW50ayhLRVJOX0VSUiBBVURJT19OQU1FICI6ICIgZm9ybWF0ICJcbiIgLCAjIyBhcmcpCi0jZGVmaW5lIGluZm8oZm9ybWF0LCBhcmcuLi4pIFwKLQlwcmludGsoS0VSTl9JTkZPIEFVRElPX05BTUUgIjogIiBmb3JtYXQgIlxuIiAsICMjIGFyZykKLSNkZWZpbmUgd2Fybihmb3JtYXQsIGFyZy4uLikgXAotCXByaW50ayhLRVJOX1dBUk5JTkcgQVVESU9fTkFNRSAiOiAiIGZvcm1hdCAiXG4iICwgIyMgYXJnKQotCiBzdGF0aWMgaW50IGNhcHNfY2hhcmdlID0gMjAwMDsKIG1vZHVsZV9wYXJhbShjYXBzX2NoYXJnZSwgaW50LCAwKTsKIE1PRFVMRV9QQVJNX0RFU0MoY2Fwc19jaGFyZ2UsICJXTTg3NTMgY2FwIGNoYXJnZSB0aW1lIChtc2VjcykiKTsKQEAgLTI2MCwyOCArMjQxLDUwIEBACiAJcmV0dXJuIDE7CiB9CiAKLXN0YXRpYyBjb25zdCBERUNMQVJFX1RMVl9EQl9MSU5FQVIocmVjX21peF90bHYsIC0xNTAwLCA2MDApOworc3RhdGljIGNvbnN0IERFQ0xBUkVfVExWX0RCX1NDQUxFKHJlY19taXhfdGx2LCAtMTUwMCwgMzAwLCAwKTsKK3N0YXRpYyBjb25zdCBERUNMQVJFX1RMVl9EQl9TQ0FMRShtaWNfcHJlYW1wX3RsdiwgMTIwMCwgNjAwLCAwKTsKK3N0YXRpYyBjb25zdCBERUNMQVJFX1RMVl9EQl9TQ0FMRShhZGNfdGx2LCAtOTc1MCwgNTAsIDEpOworc3RhdGljIGNvbnN0IERFQ0xBUkVfVExWX0RCX1NDQUxFKGRhY190bHYsIC0xMjc1MCwgNTAsIDEpOworc3RhdGljIGNvbnN0IHVuc2lnbmVkIGludCBvdXRfdGx2W10gPSB7CisJVExWX0RCX1JBTkdFX0hFQUQoMiksCisJLyogMDAwMDAwMCAtIDAxMDExMTEgPSAiQW5hbG9ndWUgbXV0ZSIgKi8KKwkwLCA0OCwgVExWX0RCX1NDQUxFX0lURU0oLTI1NTAwLCAwLCAwKSwKKwk0OCwgMTI3LCBUTFZfREJfU0NBTEVfSVRFTSgtNzMwMCwgMTAwLCAwKSwKK307CitzdGF0aWMgY29uc3QgREVDTEFSRV9UTFZfREJfU0NBTEUobWl4X3RsdiwgLTE1MDAsIDMwMCwgMCk7CitzdGF0aWMgY29uc3QgREVDTEFSRV9UTFZfREJfU0NBTEUodm9pY2VfbWl4X3RsdiwgLTEyMDAsIDMwMCwgMCk7CitzdGF0aWMgY29uc3QgREVDTEFSRV9UTFZfREJfU0NBTEUocGdhX3RsdiwgLTE3MjUsIDc1LCAwKTsKIAogc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHdtODc1M19zbmRfY29udHJvbHNbXSA9IHsKLVNPQ19ET1VCTEVfUigiUENNIFZvbHVtZSIsIFdNODc1M19MREFDLCBXTTg3NTNfUkRBQywgMCwgMjU1LCAwKSwKK1NPQ19ET1VCTEVfUl9UTFYoIlBDTSBWb2x1bWUiLCBXTTg3NTNfTERBQywgV004NzUzX1JEQUMsIDAsIDI1NSwgMCwgZGFjX3RsdiksCiAKLVNPQ19ET1VCTEVfUigiQURDIENhcHR1cmUgVm9sdW1lIiwgV004NzUzX0xBREMsIFdNODc1M19SQURDLCAwLCAyNTUsIDApLAorU09DX0RPVUJMRV9SX1RMVigiQURDIENhcHR1cmUgVm9sdW1lIiwgV004NzUzX0xBREMsIFdNODc1M19SQURDLCAwLCAyNTUsIDAsCisJCSBhZGNfdGx2KSwKIAotU09DX0RPVUJMRV9SKCJIZWFkcGhvbmUgUGxheWJhY2sgVm9sdW1lIiwgV004NzUzX0xPVVQxViwgV004NzUzX1JPVVQxViwgMCwgMTI3LCAwKSwKLVNPQ19ET1VCTEVfUigiU3BlYWtlciBQbGF5YmFjayBWb2x1bWUiLCBXTTg3NTNfTE9VVDJWLCBXTTg3NTNfUk9VVDJWLCAwLCAxMjcsIDApLAorU09DX0RPVUJMRV9SX1RMVigiSGVhZHBob25lIFBsYXliYWNrIFZvbHVtZSIsIFdNODc1M19MT1VUMVYsIFdNODc1M19ST1VUMVYsCisJCSAwLCAxMjcsIDAsIG91dF90bHYpLAorU09DX0RPVUJMRV9SX1RMVigiU3BlYWtlciBQbGF5YmFjayBWb2x1bWUiLCBXTTg3NTNfTE9VVDJWLCBXTTg3NTNfUk9VVDJWLCAwLAorCQkgMTI3LCAwLCBvdXRfdGx2KSwKIAotU09DX1NJTkdMRSgiTW9ubyBQbGF5YmFjayBWb2x1bWUiLCBXTTg3NTNfTU9VVFYsIDAsIDEyNywgMCksCitTT0NfU0lOR0xFX1RMVigiTW9ubyBQbGF5YmFjayBWb2x1bWUiLCBXTTg3NTNfTU9VVFYsIDAsIDEyNywgMCwgb3V0X3RsdiksCiAKLVNPQ19ET1VCTEVfUigiQnlwYXNzIFBsYXliYWNrIFZvbHVtZSIsIFdNODc1M19MT1VUTTEsIFdNODc1M19ST1VUTTEsIDQsIDcsIDEpLAotU09DX0RPVUJMRV9SKCJTaWRldG9uZSBQbGF5YmFjayBWb2x1bWUiLCBXTTg3NTNfTE9VVE0yLCBXTTg3NTNfUk9VVE0yLCA0LCA3LCAxKSwKLVNPQ19ET1VCTEVfUigiVm9pY2UgUGxheWJhY2sgVm9sdW1lIiwgV004NzUzX0xPVVRNMiwgV004NzUzX1JPVVRNMiwgMCwgNywgMSksCitTT0NfRE9VQkxFX1JfVExWKCJCeXBhc3MgUGxheWJhY2sgVm9sdW1lIiwgV004NzUzX0xPVVRNMSwgV004NzUzX1JPVVRNMSwgNCwgNywKKwkJIDEsIG1peF90bHYpLAorU09DX0RPVUJMRV9SX1RMVigiU2lkZXRvbmUgUGxheWJhY2sgVm9sdW1lIiwgV004NzUzX0xPVVRNMiwgV004NzUzX1JPVVRNMiwgNCwKKwkJIDcsIDEsIG1peF90bHYpLAorU09DX0RPVUJMRV9SX1RMVigiVm9pY2UgUGxheWJhY2sgVm9sdW1lIiwgV004NzUzX0xPVVRNMiwgV004NzUzX1JPVVRNMiwgMCwgNywKKwkJIDEsIHZvaWNlX21peF90bHYpLAogCi1TT0NfRE9VQkxFX1IoIkhlYWRwaG9uZSBQbGF5YmFjayBaQyBTd2l0Y2giLCBXTTg3NTNfTE9VVDFWLCBXTTg3NTNfUk9VVDFWLCA3LCAxLCAwKSwKLVNPQ19ET1VCTEVfUigiU3BlYWtlciBQbGF5YmFjayBaQyBTd2l0Y2giLCBXTTg3NTNfTE9VVDJWLCBXTTg3NTNfUk9VVDJWLCA3LCAxLCAwKSwKK1NPQ19ET1VCTEVfUigiSGVhZHBob25lIFBsYXliYWNrIFpDIFN3aXRjaCIsIFdNODc1M19MT1VUMVYsIFdNODc1M19ST1VUMVYsIDcsCisJICAgICAxLCAwKSwKK1NPQ19ET1VCTEVfUigiU3BlYWtlciBQbGF5YmFjayBaQyBTd2l0Y2giLCBXTTg3NTNfTE9VVDJWLCBXTTg3NTNfUk9VVDJWLCA3LAorCSAgICAgMSwgMCksCiAKLVNPQ19TSU5HTEUoIk1vbm8gQnlwYXNzIFBsYXliYWNrIFZvbHVtZSIsIFdNODc1M19NT1VUTTEsIDQsIDcsIDEpLAotU09DX1NJTkdMRSgiTW9ubyBTaWRldG9uZSBQbGF5YmFjayBWb2x1bWUiLCBXTTg3NTNfTU9VVE0yLCA0LCA3LCAxKSwKLVNPQ19TSU5HTEUoIk1vbm8gVm9pY2UgUGxheWJhY2sgVm9sdW1lIiwgV004NzUzX01PVVRNMiwgMCwgNywgMSksCitTT0NfU0lOR0xFX1RMVigiTW9ubyBCeXBhc3MgUGxheWJhY2sgVm9sdW1lIiwgV004NzUzX01PVVRNMSwgNCwgNywgMSwgbWl4X3RsdiksCitTT0NfU0lOR0xFX1RMVigiTW9ubyBTaWRldG9uZSBQbGF5YmFjayBWb2x1bWUiLCBXTTg3NTNfTU9VVE0yLCA0LCA3LCAxLAorCSAgICAgICBtaXhfdGx2KSwKK1NPQ19TSU5HTEVfVExWKCJNb25vIFZvaWNlIFBsYXliYWNrIFZvbHVtZSIsIFdNODc1M19NT1VUTTIsIDAsIDcsIDEsCisJICAgICAgIHZvaWNlX21peF90bHYpLAogU09DX1NJTkdMRSgiTW9ubyBQbGF5YmFjayBaQyBTd2l0Y2giLCBXTTg3NTNfTU9VVFYsIDcsIDEsIDApLAogCiBTT0NfRU5VTSgiQmFzcyBCb29zdCIsIHdtODc1M19lbnVtWzBdKSwKQEAgLTI5MSwxMCArMjk0LDEzIEBACiBTT0NfU0lOR0xFKCJUcmVibGUgVm9sdW1lIiwgV004NzUzX1RSRUJMRSwgMCwgMTUsIDEpLAogU09DX0VOVU0oIlRyZWJsZSBDdXQtb2ZmIiwgd204NzUzX2VudW1bMl0pLAogCi1TT0NfRE9VQkxFX1RMVigiU2lkZXRvbmUgQ2FwdHVyZSBWb2x1bWUiLCBXTTg3NTNfUkVDTUlYMSwgMCwgNCwgNywgMSwgcmVjX21peF90bHYpLAotU09DX1NJTkdMRV9UTFYoIlZvaWNlIFNpZGV0b25lIENhcHR1cmUgVm9sdW1lIiwgV004NzUzX1JFQ01JWDIsIDAsIDcsIDEsIHJlY19taXhfdGx2KSwKK1NPQ19ET1VCTEVfVExWKCJTaWRldG9uZSBDYXB0dXJlIFZvbHVtZSIsIFdNODc1M19SRUNNSVgxLCAwLCA0LCA3LCAxLAorCSAgICAgICByZWNfbWl4X3RsdiksCitTT0NfU0lOR0xFX1RMVigiVm9pY2UgU2lkZXRvbmUgQ2FwdHVyZSBWb2x1bWUiLCBXTTg3NTNfUkVDTUlYMiwgMCwgNywgMSwKKwkgICAgICAgcmVjX21peF90bHYpLAogCi1TT0NfRE9VQkxFX1IoIkNhcHR1cmUgVm9sdW1lIiwgV004NzUzX0xJTlZPTCwgV004NzUzX1JJTlZPTCwgMCwgNjMsIDApLAorU09DX0RPVUJMRV9SX1RMVigiQ2FwdHVyZSBWb2x1bWUiLCBXTTg3NTNfTElOVk9MLCBXTTg3NTNfUklOVk9MLCAwLCA2MywgMCwKKwkJIHBnYV90bHYpLAogU09DX0RPVUJMRV9SKCJDYXB0dXJlIFpDIFN3aXRjaCIsIFdNODc1M19MSU5WT0wsIFdNODc1M19SSU5WT0wsIDYsIDEsIDApLAogU09DX0RPVUJMRV9SKCJDYXB0dXJlIFN3aXRjaCIsIFdNODc1M19MSU5WT0wsIFdNODc1M19SSU5WT0wsIDcsIDEsIDEpLAogCkBAIC0zMjYsOCArMzMyLDggQEAKIFNPQ19FTlVNKCJQbGF5YmFjayBNb25vIE1peCIsIHdtODc1M19lbnVtWzldKSwKIFNPQ19FTlVNKCJQbGF5YmFjayBQaGFzZSIsIHdtODc1M19lbnVtWzEwXSksCiAKLVNPQ19TSU5HTEUoIk1pYzIgQ2FwdHVyZSBWb2x1bWUiLCBXTTg3NTNfSU5DVEwxLCA3LCAzLCAwKSwKLVNPQ19TSU5HTEUoIk1pYzEgQ2FwdHVyZSBWb2x1bWUiLCBXTTg3NTNfSU5DVEwxLCA1LCAzLCAwKSwKK1NPQ19TSU5HTEVfVExWKCJNaWMyIENhcHR1cmUgVm9sdW1lIiwgV004NzUzX0lOQ1RMMSwgNywgMywgMCwgbWljX3ByZWFtcF90bHYpLAorU09DX1NJTkdMRV9UTFYoIk1pYzEgQ2FwdHVyZSBWb2x1bWUiLCBXTTg3NTNfSU5DVEwxLCA1LCAzLCAwLCBtaWNfcHJlYW1wX3RsdiksCiAKIFNPQ19FTlVNX0VYVCgiREFJIE1vZGUiLCB3bTg3NTNfZW51bVsyNl0sIHdtODc1M19nZXRfZGFpLCB3bTg3NTNfc2V0X2RhaSksCiAKQEAgLTUyMyw3ICs1MjksNyBAQAogU05EX1NPQ19EQVBNX1ZNSUQoIlZSRUYiKSwKIH07CiAKLXN0YXRpYyBjb25zdCBjaGFyICphdWRpb19tYXBbXVszXSA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX3NvY19kYXBtX3JvdXRlIGF1ZGlvX21hcFtdID0gewogCS8qIGxlZnQgbWl4ZXIgKi8KIAl7IkxlZnQgTWl4ZXIiLCAiTGVmdCBQbGF5YmFjayBTd2l0Y2giLCAiTGVmdCBEQUMifSwKIAl7IkxlZnQgTWl4ZXIiLCAiVm9pY2UgUGxheWJhY2sgU3dpdGNoIiwgIlZvaWNlIERBQyJ9LApAQCAtNjc0LDIzICs2ODAsMTQgQEAKIAogCS8qIEFDT1AgKi8KIAl7IkFDT1AiLCBOVUxMLCAiQUxDIE1peGVyIn0sCi0KLQkvKiB0ZXJtaW5hdG9yICovCi0Je05VTEwsIE5VTEwsIE5VTEx9LAogfTsKIAogc3RhdGljIGludCB3bTg3NTNfYWRkX3dpZGdldHMoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjKQogewotCWludCBpOworCXNuZF9zb2NfZGFwbV9uZXdfY29udHJvbHMoY29kZWMsIHdtODc1M19kYXBtX3dpZGdldHMsCisJCQkJICBBUlJBWV9TSVpFKHdtODc1M19kYXBtX3dpZGdldHMpKTsKIAotCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHdtODc1M19kYXBtX3dpZGdldHMpOyBpKyspCi0JCXNuZF9zb2NfZGFwbV9uZXdfY29udHJvbChjb2RlYywgJndtODc1M19kYXBtX3dpZGdldHNbaV0pOwotCi0JLyogc2V0IHVwIHRoZSBXTTg3NTMgYXVkaW8gbWFwICovCi0JZm9yIChpID0gMDsgYXVkaW9fbWFwW2ldWzBdICE9IE5VTEw7IGkrKykgewotCQlzbmRfc29jX2RhcG1fY29ubmVjdF9pbnB1dChjb2RlYywgYXVkaW9fbWFwW2ldWzBdLAotCQkJYXVkaW9fbWFwW2ldWzFdLCBhdWRpb19tYXBbaV1bMl0pOwotCX0KKwlzbmRfc29jX2RhcG1fYWRkX3JvdXRlcyhjb2RlYywgYXVkaW9fbWFwLCBBUlJBWV9TSVpFKGF1ZGlvX21hcCkpOwogCiAJc25kX3NvY19kYXBtX25ld193aWRnZXRzKGNvZGVjKTsKIAlyZXR1cm4gMDsKQEAgLTc0Myw3ICs3NDAsNyBAQAogCXBsbF9kaXYtPmsgPSBLOwogfQogCi1zdGF0aWMgaW50IHdtODc1M19zZXRfZGFpX3BsbChzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSwKK3N0YXRpYyBpbnQgd204NzUzX3NldF9kYWlfcGxsKHN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpLAogCQlpbnQgcGxsX2lkLCB1bnNpZ25lZCBpbnQgZnJlcV9pbiwgdW5zaWduZWQgaW50IGZyZXFfb3V0KQogewogCXUxNiByZWcsIGVuYWJsZTsKQEAgLTg2Niw3ICs4NjMsNyBAQAogLyoKICAqIENsb2NrIGFmdGVyIFBMTCBhbmQgZGl2aWRlcnMKICAqLwotc3RhdGljIGludCB3bTg3NTNfc2V0X2RhaV9zeXNjbGsoc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWksCitzdGF0aWMgaW50IHdtODc1M19zZXRfZGFpX3N5c2NsayhzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSwKIAkJaW50IGNsa19pZCwgdW5zaWduZWQgaW50IGZyZXEsIGludCBkaXIpCiB7CiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gY29kZWNfZGFpLT5jb2RlYzsKQEAgLTg5Myw3ICs4OTAsNyBAQAogLyoKICAqIFNldCdzIEFEQyBhbmQgVm9pY2UgREFDIGZvcm1hdC4KICAqLwotc3RhdGljIGludCB3bTg3NTNfdmRhY19hZGNfc2V0X2RhaV9mbXQoc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWksCitzdGF0aWMgaW50IHdtODc1M192ZGFjX2FkY19zZXRfZGFpX2ZtdChzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSwKIAkJdW5zaWduZWQgaW50IGZtdCkKIHsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBjb2RlY19kYWktPmNvZGVjOwpAQCAtOTYzLDcgKzk2MCw3IEBACiAvKgogICogU2V0J3MgUENNIGRhaSBmbXQgYW5kIEJDTEsuCiAgKi8KLXN0YXRpYyBpbnQgd204NzUzX3BjbV9zZXRfZGFpX2ZtdChzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSwKK3N0YXRpYyBpbnQgd204NzUzX3BjbV9zZXRfZGFpX2ZtdChzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSwKIAkJdW5zaWduZWQgaW50IGZtdCkKIHsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBjb2RlY19kYWktPmNvZGVjOwpAQCAtMTAyOSw3ICsxMDI2LDcgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCB3bTg3NTNfc2V0X2RhaV9jbGtkaXYoc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWksCitzdGF0aWMgaW50IHdtODc1M19zZXRfZGFpX2Nsa2RpdihzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSwKIAkJaW50IGRpdl9pZCwgaW50IGRpdikKIHsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBjb2RlY19kYWktPmNvZGVjOwpAQCAtMTA1Nyw3ICsxMDU0LDcgQEAKIC8qCiAgKiBTZXQncyBIaUZpIERBQyBmb3JtYXQuCiAgKi8KLXN0YXRpYyBpbnQgd204NzUzX2hkYWNfc2V0X2RhaV9mbXQoc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWksCitzdGF0aWMgaW50IHdtODc1M19oZGFjX3NldF9kYWlfZm10KHN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpLAogCQl1bnNpZ25lZCBpbnQgZm10KQogewogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IGNvZGVjX2RhaS0+Y29kZWM7CkBAIC0xMDkwLDcgKzEwODcsNyBAQAogLyoKICAqIFNldCdzIEkyUyBEQUkgZm9ybWF0LgogICovCi1zdGF0aWMgaW50IHdtODc1M19pMnNfc2V0X2RhaV9mbXQoc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWksCitzdGF0aWMgaW50IHdtODc1M19pMnNfc2V0X2RhaV9mbXQoc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWksCiAJCXVuc2lnbmVkIGludCBmbXQpCiB7CiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gY29kZWNfZGFpLT5jb2RlYzsKQEAgLTExOTgsNyArMTE5NSw3IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgd204NzUzX21vZGUxdl9zZXRfZGFpX2ZtdChzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSwKK3N0YXRpYyBpbnQgd204NzUzX21vZGUxdl9zZXRfZGFpX2ZtdChzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSwKIAkJdW5zaWduZWQgaW50IGZtdCkKIHsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBjb2RlY19kYWktPmNvZGVjOwpAQCAtMTIxMyw3ICsxMjEwLDcgQEAKIAlyZXR1cm4gd204NzUzX3BjbV9zZXRfZGFpX2ZtdChjb2RlY19kYWksIGZtdCk7CiB9CiAKLXN0YXRpYyBpbnQgd204NzUzX21vZGUxaF9zZXRfZGFpX2ZtdChzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSwKK3N0YXRpYyBpbnQgd204NzUzX21vZGUxaF9zZXRfZGFpX2ZtdChzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSwKIAkJdW5zaWduZWQgaW50IGZtdCkKIHsKIAlpZiAod204NzUzX2hkYWNfc2V0X2RhaV9mbXQoY29kZWNfZGFpLCBmbXQpIDwgMCkKQEAgLTEyMjEsNyArMTIxOCw3IEBACiAJcmV0dXJuIHdtODc1M19pMnNfc2V0X2RhaV9mbXQoY29kZWNfZGFpLCBmbXQpOwogfQogCi1zdGF0aWMgaW50IHdtODc1M19tb2RlMl9zZXRfZGFpX2ZtdChzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSwKK3N0YXRpYyBpbnQgd204NzUzX21vZGUyX3NldF9kYWlfZm10KHN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpLAogCQl1bnNpZ25lZCBpbnQgZm10KQogewogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IGNvZGVjX2RhaS0+Y29kZWM7CkBAIC0xMjM2LDcgKzEyMzMsNyBAQAogCXJldHVybiB3bTg3NTNfaTJzX3NldF9kYWlfZm10KGNvZGVjX2RhaSwgZm10KTsKIH0KIAotc3RhdGljIGludCB3bTg3NTNfbW9kZTNfNF9zZXRfZGFpX2ZtdChzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSwKK3N0YXRpYyBpbnQgd204NzUzX21vZGUzXzRfc2V0X2RhaV9mbXQoc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWksCiAJCXVuc2lnbmVkIGludCBmbXQpCiB7CiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gY29kZWNfZGFpLT5jb2RlYzsKQEAgLTEyNTMsNyArMTI1MCw3IEBACiAJcmV0dXJuIHdtODc1M19pMnNfc2V0X2RhaV9mbXQoY29kZWNfZGFpLCBmbXQpOwogfQogCi1zdGF0aWMgaW50IHdtODc1M19tdXRlKHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqZGFpLCBpbnQgbXV0ZSkKK3N0YXRpYyBpbnQgd204NzUzX211dGUoc3RydWN0IHNuZF9zb2NfZGFpICpkYWksIGludCBtdXRlKQogewogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IGRhaS0+Y29kZWM7CiAJdTE2IG11dGVfcmVnID0gd204NzUzX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBXTTg3NTNfREFDKSAmIDB4ZmZmNzsKQEAgLTEyNzQsMjkgKzEyNzEsMjkgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCB3bTg3NTNfZGFwbV9ldmVudChzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsIGludCBldmVudCkKK3N0YXRpYyBpbnQgd204NzUzX3NldF9iaWFzX2xldmVsKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywKKwkJCQkgZW51bSBzbmRfc29jX2JpYXNfbGV2ZWwgbGV2ZWwpCiB7CiAJdTE2IHB3cl9yZWcgPSB3bTg3NTNfcmVhZF9yZWdfY2FjaGUoY29kZWMsIFdNODc1M19QV1IxKSAmIDB4ZmUzZTsKIAotCXN3aXRjaCAoZXZlbnQpIHsKLQljYXNlIFNORFJWX0NUTF9QT1dFUl9EMDogLyogZnVsbCBPbiAqLworCXN3aXRjaCAobGV2ZWwpIHsKKwljYXNlIFNORF9TT0NfQklBU19PTjoKIAkJLyogc2V0IHZtaWQgdG8gNTBrIGFuZCB1bm11dGUgZGFjICovCiAJCXdtODc1M193cml0ZShjb2RlYywgV004NzUzX1BXUjEsIHB3cl9yZWcgfCAweDAwYzApOwogCQlicmVhazsKLQljYXNlIFNORFJWX0NUTF9QT1dFUl9EMTogLyogcGFydGlhbCBPbiAqLwotCWNhc2UgU05EUlZfQ1RMX1BPV0VSX0QyOiAvKiBwYXJ0aWFsIE9uICovCisJY2FzZSBTTkRfU09DX0JJQVNfUFJFUEFSRToKIAkJLyogc2V0IHZtaWQgdG8gNWsgZm9yIHF1aWNrIHBvd2VyIHVwICovCiAJCXdtODc1M193cml0ZShjb2RlYywgV004NzUzX1BXUjEsIHB3cl9yZWcgfCAweDAxYzEpOwogCQlicmVhazsKLQljYXNlIFNORFJWX0NUTF9QT1dFUl9EM2hvdDogLyogT2ZmLCB3aXRoIHBvd2VyICovCisJY2FzZSBTTkRfU09DX0JJQVNfU1RBTkRCWToKIAkJLyogbXV0ZSBkYWMgYW5kIHNldCB2bWlkIHRvIDUwMGssIGVuYWJsZSBWUkVGICovCiAJCXdtODc1M193cml0ZShjb2RlYywgV004NzUzX1BXUjEsIHB3cl9yZWcgfCAweDAxNDEpOwogCQlicmVhazsKLQljYXNlIFNORFJWX0NUTF9QT1dFUl9EM2NvbGQ6IC8qIE9mZiwgd2l0aG91dCBwb3dlciAqLworCWNhc2UgU05EX1NPQ19CSUFTX09GRjoKIAkJd204NzUzX3dyaXRlKGNvZGVjLCBXTTg3NTNfUFdSMSwgMHgwMDAxKTsKIAkJYnJlYWs7CiAJfQotCWNvZGVjLT5kYXBtX3N0YXRlID0gZXZlbnQ7CisJY29kZWMtPmJpYXNfbGV2ZWwgPSBsZXZlbDsKIAlyZXR1cm4gMDsKIH0KIApAQCAtMTMxOSw3ICsxMzE2LDcgQEAKICAqIDMuIFZvaWNlIGRpc2FibGVkIC0gSElGSSBvdmVyIEhJRkkKICAqIDQuIFZvaWNlIGRpc2FibGVkIC0gSElGSSBvdmVyIEhJRkksIHVzZXMgdm9pY2UgREFJIExSQyBmb3IgY2FwdHVyZQogICovCi1zdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpIHdtODc1M19hbGxfZGFpW10gPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9zb2NfZGFpIHdtODc1M19hbGxfZGFpW10gPSB7CiAvKiBEQUkgSGlGaSBtb2RlIDEgKi8KIHsJLm5hbWUgPSAiV004NzUzIEhpRmkiLAogCS5pZCA9IDEsCkBAIC0xNDU5LDcgKzE0NTYsNyBAQAogfSwKIH07CiAKLXN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSB3bTg3NTNfZGFpWzJdOworc3RydWN0IHNuZF9zb2NfZGFpIHdtODc1M19kYWlbMl07CiBFWFBPUlRfU1lNQk9MX0dQTCh3bTg3NTNfZGFpKTsKIAogc3RhdGljIHZvaWQgd204NzUzX3NldF9kYWlfbW9kZShzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsIHVuc2lnbmVkIGludCBtb2RlKQpAQCAtMTUwMCw3ICsxNDk3LDcgQEAKIHsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPQogCQljb250YWluZXJfb2Yod29yaywgc3RydWN0IHNuZF9zb2NfY29kZWMsIGRlbGF5ZWRfd29yay53b3JrKTsKLQl3bTg3NTNfZGFwbV9ldmVudChjb2RlYywgY29kZWMtPmRhcG1fc3RhdGUpOworCXdtODc1M19zZXRfYmlhc19sZXZlbChjb2RlYywgY29kZWMtPmJpYXNfbGV2ZWwpOwogfQogCiBzdGF0aWMgaW50IHdtODc1M19zdXNwZW5kKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsIHBtX21lc3NhZ2VfdCBzdGF0ZSkKQEAgLTE1MTIsNyArMTUwOSw3IEBACiAJaWYgKCFjb2RlYy0+Y2FyZCkKIAkJcmV0dXJuIDA7CiAKLQl3bTg3NTNfZGFwbV9ldmVudChjb2RlYywgU05EUlZfQ1RMX1BPV0VSX0QzY29sZCk7CisJd204NzUzX3NldF9iaWFzX2xldmVsKGNvZGVjLCBTTkRfU09DX0JJQVNfT0ZGKTsKIAlyZXR1cm4gMDsKIH0KIApAQCAtMTUzNywxMiArMTUzNCwxMiBAQAogCQljb2RlYy0+aHdfd3JpdGUoY29kZWMtPmNvbnRyb2xfZGF0YSwgZGF0YSwgMik7CiAJfQogCi0Jd204NzUzX2RhcG1fZXZlbnQoY29kZWMsIFNORFJWX0NUTF9QT1dFUl9EM2hvdCk7CisJd204NzUzX3NldF9iaWFzX2xldmVsKGNvZGVjLCBTTkRfU09DX0JJQVNfU1RBTkRCWSk7CiAKIAkvKiBjaGFyZ2Ugd204NzUzIGNhcHMgKi8KLQlpZiAoY29kZWMtPnN1c3BlbmRfZGFwbV9zdGF0ZSA9PSBTTkRSVl9DVExfUE9XRVJfRDApIHsKLQkJd204NzUzX2RhcG1fZXZlbnQoY29kZWMsIFNORFJWX0NUTF9QT1dFUl9EMik7Ci0JCWNvZGVjLT5kYXBtX3N0YXRlID0gU05EUlZfQ1RMX1BPV0VSX0QwOworCWlmIChjb2RlYy0+c3VzcGVuZF9iaWFzX2xldmVsID09IFNORF9TT0NfQklBU19PTikgeworCQl3bTg3NTNfc2V0X2JpYXNfbGV2ZWwoY29kZWMsIFNORF9TT0NfQklBU19QUkVQQVJFKTsKKwkJY29kZWMtPmJpYXNfbGV2ZWwgPSBTTkRfU09DX0JJQVNfT047CiAJCXNjaGVkdWxlX2RlbGF5ZWRfd29yaygmY29kZWMtPmRlbGF5ZWRfd29yaywKIAkJCW1zZWNzX3RvX2ppZmZpZXMoY2Fwc19jaGFyZ2UpKTsKIAl9CkBAIC0xNTYzLDEwICsxNTYwLDEwIEBACiAJY29kZWMtPm93bmVyID0gVEhJU19NT0RVTEU7CiAJY29kZWMtPnJlYWQgPSB3bTg3NTNfcmVhZF9yZWdfY2FjaGU7CiAJY29kZWMtPndyaXRlID0gd204NzUzX3dyaXRlOwotCWNvZGVjLT5kYXBtX2V2ZW50ID0gd204NzUzX2RhcG1fZXZlbnQ7CisJY29kZWMtPnNldF9iaWFzX2xldmVsID0gd204NzUzX3NldF9iaWFzX2xldmVsOwogCWNvZGVjLT5kYWkgPSB3bTg3NTNfZGFpOwogCWNvZGVjLT5udW1fZGFpID0gMjsKLQljb2RlYy0+cmVnX2NhY2hlX3NpemUgPSBzaXplb2Yod204NzUzX3JlZyk7CisJY29kZWMtPnJlZ19jYWNoZV9zaXplID0gQVJSQVlfU0laRSh3bTg3NTNfcmVnKTsKIAljb2RlYy0+cmVnX2NhY2hlID0ga21lbWR1cCh3bTg3NTNfcmVnLCBzaXplb2Yod204NzUzX3JlZyksIEdGUF9LRVJORUwpOwogCiAJaWYgKGNvZGVjLT5yZWdfY2FjaGUgPT0gTlVMTCkKQEAgLTE1ODQsOCArMTU4MSw4IEBACiAJfQogCiAJLyogY2hhcmdlIG91dHB1dCBjYXBzICovCi0Jd204NzUzX2RhcG1fZXZlbnQoY29kZWMsIFNORFJWX0NUTF9QT1dFUl9EMik7Ci0JY29kZWMtPmRhcG1fc3RhdGUgPSBTTkRSVl9DVExfUE9XRVJfRDNob3Q7CisJd204NzUzX3NldF9iaWFzX2xldmVsKGNvZGVjLCBTTkRfU09DX0JJQVNfUFJFUEFSRSk7CisJY29kZWMtPmJpYXNfbGV2ZWwgPSBTTkRfU09DX0JJQVNfU1RBTkRCWTsKIAlzY2hlZHVsZV9kZWxheWVkX3dvcmsoJmNvZGVjLT5kZWxheWVkX3dvcmssCiAJCW1zZWNzX3RvX2ppZmZpZXMoY2Fwc19jaGFyZ2UpKTsKIApAQCAtMTY3MywxMyArMTY3MCwxMyBAQAogCiAJcmV0ID0gaTJjX2F0dGFjaF9jbGllbnQoaTJjKTsKIAlpZiAocmV0IDwgMCkgewotCQllcnIoImZhaWxlZCB0byBhdHRhY2ggY29kZWMgYXQgYWRkciAleFxuIiwgYWRkcik7CisJCXByX2VycigiZmFpbGVkIHRvIGF0dGFjaCBjb2RlYyBhdCBhZGRyICV4XG4iLCBhZGRyKTsKIAkJZ290byBlcnI7CiAJfQogCiAJcmV0ID0gd204NzUzX2luaXQoc29jZGV2KTsKIAlpZiAocmV0IDwgMCkgewotCQllcnIoImZhaWxlZCB0byBpbml0aWFsaXNlIFdNODc1M1xuIik7CisJCXByX2VycigiZmFpbGVkIHRvIGluaXRpYWxpc2UgV004NzUzXG4iKTsKIAkJZ290byBlcnI7CiAJfQogCkBAIC0xNzMxLDcgKzE3MjgsNyBAQAogCXN0cnVjdCB3bTg3NTNfcHJpdiAqd204NzUzOwogCWludCByZXQgPSAwOwogCi0JaW5mbygiV004NzUzIEF1ZGlvIENvZGVjICVzIiwgV004NzUzX1ZFUlNJT04pOworCXByX2luZm8oIldNODc1MyBBdWRpbyBDb2RlYyAlcyIsIFdNODc1M19WRVJTSU9OKTsKIAogCXNldHVwID0gc29jZGV2LT5jb2RlY19kYXRhOwogCWNvZGVjID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IHNuZF9zb2NfY29kZWMpLCBHRlBfS0VSTkVMKTsKQEAgLTE3OTIsNyArMTc4OSw3IEBACiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc29jZGV2LT5jb2RlYzsKIAogCWlmIChjb2RlYy0+Y29udHJvbF9kYXRhKQotCQl3bTg3NTNfZGFwbV9ldmVudChjb2RlYywgU05EUlZfQ1RMX1BPV0VSX0QzY29sZCk7CisJCXdtODc1M19zZXRfYmlhc19sZXZlbChjb2RlYywgU05EX1NPQ19CSUFTX09GRik7CiAJcnVuX2RlbGF5ZWRfd29yaygmY29kZWMtPmRlbGF5ZWRfd29yayk7CiAJc25kX3NvY19mcmVlX3BjbXMoc29jZGV2KTsKIAlzbmRfc29jX2RhcG1fZnJlZShzb2NkZXYpOwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2NvZGVjcy93bTg3NTMuaCBiL3NvdW5kL3NvYy9jb2RlY3Mvd204NzUzLmgKaW5kZXggOTVlMmExZi4uNDRmNWYxZiAxMDA2NDQKLS0tIGEvc291bmQvc29jL2NvZGVjcy93bTg3NTMuaAorKysgYi9zb3VuZC9zb2MvY29kZWNzL3dtODc1My5oCkBAIC0xMjAsNyArMTIwLDcgQEAKICNkZWZpbmUgV004NzUzX0RBSV9ISUZJCQkwCiAjZGVmaW5lIFdNODc1M19EQUlfVk9JQ0UJCTEKIAotZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSB3bTg3NTNfZGFpWzJdOworZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2RhaSB3bTg3NTNfZGFpWzJdOwogZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2NvZGVjX2RldmljZSBzb2NfY29kZWNfZGV2X3dtODc1MzsKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvY29kZWNzL3dtODk5MC5jIGIvc291bmQvc29jL2NvZGVjcy93bTg5OTAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZWNjZTUxCi0tLSAvZGV2L251bGwKKysrIGIvc291bmQvc29jL2NvZGVjcy93bTg5OTAuYwpAQCAtMCwwICsxLDE2MjYgQEAKKy8qCisgKiB3bTg5OTAuYyAgLS0gIFdNODk5MCBBTFNBIFNvYyBBdWRpbyBkcml2ZXIKKyAqCisgKiBDb3B5cmlnaHQgMjAwOCBXb2xmc29uIE1pY3JvZWxlY3Ryb25pY3MgUExDLgorICogQXV0aG9yOiBMaWFtIEdpcmR3b29kCisgKiAgICAgICAgIGxnQG9wZW5zb3VyY2Uud29sZnNvbm1pY3JvLmNvbSBvciBsaW51eEB3b2xmc29ubWljcm8uY29tCisgKgorICogIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSAgaXQgYW5kL29yIG1vZGlmeSBpdAorICogIHVuZGVyICB0aGUgdGVybXMgb2YgIHRoZSBHTlUgR2VuZXJhbCAgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZQorICogIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgIGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlICBMaWNlbnNlLCBvciAoYXQgeW91cgorICogIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZXBhcmFtLmg+CisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CisjaW5jbHVkZSA8bGludXgvcG0uaD4KKyNpbmNsdWRlIDxsaW51eC9pMmMuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxzb3VuZC9jb3JlLmg+CisjaW5jbHVkZSA8c291bmQvcGNtLmg+CisjaW5jbHVkZSA8c291bmQvcGNtX3BhcmFtcy5oPgorI2luY2x1ZGUgPHNvdW5kL3NvYy5oPgorI2luY2x1ZGUgPHNvdW5kL3NvYy1kYXBtLmg+CisjaW5jbHVkZSA8c291bmQvaW5pdHZhbC5oPgorI2luY2x1ZGUgPHNvdW5kL3Rsdi5oPgorI2luY2x1ZGUgPGFzbS9kaXY2NC5oPgorCisjaW5jbHVkZSAid204OTkwLmgiCisKKyNkZWZpbmUgQVVESU9fTkFNRSAid204OTkwIgorI2RlZmluZSBXTTg5OTBfVkVSU0lPTiAiMC4yIgorCisvKiBjb2RlYyBwcml2YXRlIGRhdGEgKi8KK3N0cnVjdCB3bTg5OTBfcHJpdiB7CisJdW5zaWduZWQgaW50IHN5c2NsazsKKwl1bnNpZ25lZCBpbnQgcGNtY2xrOworfTsKKworLyoKKyAqIHdtODk5MCByZWdpc3RlciBjYWNoZS4gIE5vdGUgdGhhdCByZWdpc3RlciAwIGlzIG5vdCBpbmNsdWRlZCBpbiB0aGUKKyAqIGNhY2hlLgorICovCitzdGF0aWMgY29uc3QgdTE2IHdtODk5MF9yZWdbXSA9IHsKKwkweDg5OTAsICAgICAvKiBSMCAgLSBSZXNldCAqLworCTB4MDAwMCwgICAgIC8qIFIxICAtIFBvd2VyIE1hbmFnZW1lbnQgKDEpICovCisJMHg2MDAwLCAgICAgLyogUjIgIC0gUG93ZXIgTWFuYWdlbWVudCAoMikgKi8KKwkweDAwMDAsICAgICAvKiBSMyAgLSBQb3dlciBNYW5hZ2VtZW50ICgzKSAqLworCTB4NDA1MCwgICAgIC8qIFI0ICAtIEF1ZGlvIEludGVyZmFjZSAoMSkgKi8KKwkweDQwMDAsICAgICAvKiBSNSAgLSBBdWRpbyBJbnRlcmZhY2UgKDIpICovCisJMHgwMUM4LCAgICAgLyogUjYgIC0gQ2xvY2tpbmcgKDEpICovCisJMHgwMDAwLCAgICAgLyogUjcgIC0gQ2xvY2tpbmcgKDIpICovCisJMHgwMDQwLCAgICAgLyogUjggIC0gQXVkaW8gSW50ZXJmYWNlICgzKSAqLworCTB4MDA0MCwgICAgIC8qIFI5ICAtIEF1ZGlvIEludGVyZmFjZSAoNCkgKi8KKwkweDAwMDQsICAgICAvKiBSMTAgLSBEQUMgQ1RSTCAqLworCTB4MDBDMCwgICAgIC8qIFIxMSAtIExlZnQgREFDIERpZ2l0YWwgVm9sdW1lICovCisJMHgwMEMwLCAgICAgLyogUjEyIC0gUmlnaHQgREFDIERpZ2l0YWwgVm9sdW1lICovCisJMHgwMDAwLCAgICAgLyogUjEzIC0gRGlnaXRhbCBTaWRlIFRvbmUgKi8KKwkweDAxMDAsICAgICAvKiBSMTQgLSBBREMgQ1RSTCAqLworCTB4MDBDMCwgICAgIC8qIFIxNSAtIExlZnQgQURDIERpZ2l0YWwgVm9sdW1lICovCisJMHgwMEMwLCAgICAgLyogUjE2IC0gUmlnaHQgQURDIERpZ2l0YWwgVm9sdW1lICovCisJMHgwMDAwLCAgICAgLyogUjE3ICovCisJMHgwMDAwLCAgICAgLyogUjE4IC0gR1BJTyBDVFJMIDEgKi8KKwkweDEwMDAsICAgICAvKiBSMTkgLSBHUElPMSAmIEdQSU8yICovCisJMHgxMDEwLCAgICAgLyogUjIwIC0gR1BJTzMgJiBHUElPNCAqLworCTB4MTAxMCwgICAgIC8qIFIyMSAtIEdQSU81ICYgR1BJTzYgKi8KKwkweDgwMDAsICAgICAvKiBSMjIgLSBHUElPQ1RSTCAyICovCisJMHgwODAwLCAgICAgLyogUjIzIC0gR1BJT19QT0wgKi8KKwkweDAwOEIsICAgICAvKiBSMjQgLSBMZWZ0IExpbmUgSW5wdXQgMSYyIFZvbHVtZSAqLworCTB4MDA4QiwgICAgIC8qIFIyNSAtIExlZnQgTGluZSBJbnB1dCAzJjQgVm9sdW1lICovCisJMHgwMDhCLCAgICAgLyogUjI2IC0gUmlnaHQgTGluZSBJbnB1dCAxJjIgVm9sdW1lICovCisJMHgwMDhCLCAgICAgLyogUjI3IC0gUmlnaHQgTGluZSBJbnB1dCAzJjQgVm9sdW1lICovCisJMHgwMDAwLCAgICAgLyogUjI4IC0gTGVmdCBPdXRwdXQgVm9sdW1lICovCisJMHgwMDAwLCAgICAgLyogUjI5IC0gUmlnaHQgT3V0cHV0IFZvbHVtZSAqLworCTB4MDA2NiwgICAgIC8qIFIzMCAtIExpbmUgT3V0cHV0cyBWb2x1bWUgKi8KKwkweDAwMjIsICAgICAvKiBSMzEgLSBPdXQzLzQgVm9sdW1lICovCisJMHgwMDc5LCAgICAgLyogUjMyIC0gTGVmdCBPUEdBIFZvbHVtZSAqLworCTB4MDA3OSwgICAgIC8qIFIzMyAtIFJpZ2h0IE9QR0EgVm9sdW1lICovCisJMHgwMDAzLCAgICAgLyogUjM0IC0gU3BlYWtlciBWb2x1bWUgKi8KKwkweDAwMDMsICAgICAvKiBSMzUgLSBDbGFzc0QxICovCisJMHgwMDAwLCAgICAgLyogUjM2ICovCisJMHgwMTAwLCAgICAgLyogUjM3IC0gQ2xhc3NEMyAqLworCTB4MDAwMCwgICAgIC8qIFIzOCAqLworCTB4MDAwMCwgICAgIC8qIFIzOSAtIElucHV0IE1peGVyMSAqLworCTB4MDAwMCwgICAgIC8qIFI0MCAtIElucHV0IE1peGVyMiAqLworCTB4MDAwMCwgICAgIC8qIFI0MSAtIElucHV0IE1peGVyMyAqLworCTB4MDAwMCwgICAgIC8qIFI0MiAtIElucHV0IE1peGVyNCAqLworCTB4MDAwMCwgICAgIC8qIFI0MyAtIElucHV0IE1peGVyNSAqLworCTB4MDAwMCwgICAgIC8qIFI0NCAtIElucHV0IE1peGVyNiAqLworCTB4MDAwMCwgICAgIC8qIFI0NSAtIE91dHB1dCBNaXhlcjEgKi8KKwkweDAwMDAsICAgICAvKiBSNDYgLSBPdXRwdXQgTWl4ZXIyICovCisJMHgwMDAwLCAgICAgLyogUjQ3IC0gT3V0cHV0IE1peGVyMyAqLworCTB4MDAwMCwgICAgIC8qIFI0OCAtIE91dHB1dCBNaXhlcjQgKi8KKwkweDAwMDAsICAgICAvKiBSNDkgLSBPdXRwdXQgTWl4ZXI1ICovCisJMHgwMDAwLCAgICAgLyogUjUwIC0gT3V0cHV0IE1peGVyNiAqLworCTB4MDE4MCwgICAgIC8qIFI1MSAtIE91dDMvNCBNaXhlciAqLworCTB4MDAwMCwgICAgIC8qIFI1MiAtIExpbmUgTWl4ZXIxICovCisJMHgwMDAwLCAgICAgLyogUjUzIC0gTGluZSBNaXhlcjIgKi8KKwkweDAwMDAsICAgICAvKiBSNTQgLSBTcGVha2VyIE1peGVyICovCisJMHgwMDAwLCAgICAgLyogUjU1IC0gQWRkaXRpb25hbCBDb250cm9sICovCisJMHgwMDAwLCAgICAgLyogUjU2IC0gQW50aVBPUDEgKi8KKwkweDAwMDAsICAgICAvKiBSNTcgLSBBbnRpUE9QMiAqLworCTB4MDAwMCwgICAgIC8qIFI1OCAtIE1JQ0JJQVMgKi8KKwkweDAwMDAsICAgICAvKiBSNTkgKi8KKwkweDAwMDgsICAgICAvKiBSNjAgLSBQTEwxICovCisJMHgwMDMxLCAgICAgLyogUjYxIC0gUExMMiAqLworCTB4MDAyNiwgICAgIC8qIFI2MiAtIFBMTDMgKi8KK307CisKKy8qCisgKiByZWFkIHdtODk5MCByZWdpc3RlciBjYWNoZQorICovCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCB3bTg5OTBfcmVhZF9yZWdfY2FjaGUoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLAorCXVuc2lnbmVkIGludCByZWcpCit7CisJdTE2ICpjYWNoZSA9IGNvZGVjLT5yZWdfY2FjaGU7CisJQlVHX09OKHJlZyA+IChBUlJBWV9TSVpFKHdtODk5MF9yZWcpKSAtIDEpOworCXJldHVybiBjYWNoZVtyZWddOworfQorCisvKgorICogd3JpdGUgd204OTkwIHJlZ2lzdGVyIGNhY2hlCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCB3bTg5OTBfd3JpdGVfcmVnX2NhY2hlKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywKKwl1bnNpZ25lZCBpbnQgcmVnLCB1bnNpZ25lZCBpbnQgdmFsdWUpCit7CisJdTE2ICpjYWNoZSA9IGNvZGVjLT5yZWdfY2FjaGU7CisJQlVHX09OKHJlZyA+IChBUlJBWV9TSVpFKHdtODk5MF9yZWcpKSAtIDEpOworCisJLyogUmVzZXQgcmVnaXN0ZXIgaXMgdW5jYWNoZWQgKi8KKwlpZiAocmVnID09IDApCisJCXJldHVybjsKKworCWNhY2hlW3JlZ10gPSB2YWx1ZTsKK30KKworLyoKKyAqIHdyaXRlIHRvIHRoZSB3bTg5OTAgcmVnaXN0ZXIgc3BhY2UKKyAqLworc3RhdGljIGludCB3bTg5OTBfd3JpdGUoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLCB1bnNpZ25lZCBpbnQgcmVnLAorCXVuc2lnbmVkIGludCB2YWx1ZSkKK3sKKwl1OCBkYXRhWzNdOworCisJZGF0YVswXSA9IHJlZyAmIDB4RkY7CisJZGF0YVsxXSA9ICh2YWx1ZSA+PiA4KSAmIDB4RkY7CisJZGF0YVsyXSA9IHZhbHVlICYgMHhGRjsKKworCXdtODk5MF93cml0ZV9yZWdfY2FjaGUoY29kZWMsIHJlZywgdmFsdWUpOworCisJaWYgKGNvZGVjLT5od193cml0ZShjb2RlYy0+Y29udHJvbF9kYXRhLCBkYXRhLCAzKSA9PSAyKQorCQlyZXR1cm4gMDsKKwllbHNlCisJCXJldHVybiAtRUlPOworfQorCisjZGVmaW5lIHdtODk5MF9yZXNldChjKSB3bTg5OTBfd3JpdGUoYywgV004OTkwX1JFU0VULCAwKQorCitzdGF0aWMgY29uc3QgREVDTEFSRV9UTFZfREJfTElORUFSKHJlY19taXhfdGx2LCAtMTUwMCwgNjAwKTsKKworc3RhdGljIGNvbnN0IERFQ0xBUkVfVExWX0RCX0xJTkVBUihpbl9wZ2FfdGx2LCAtMTY1MCwgMzAwMCk7CisKK3N0YXRpYyBjb25zdCBERUNMQVJFX1RMVl9EQl9MSU5FQVIob3V0X21peF90bHYsIDAsIC0yMTAwKTsKKworc3RhdGljIGNvbnN0IERFQ0xBUkVfVExWX0RCX0xJTkVBUihvdXRfcGdhX3RsdiwgLTczMDAsIDYwMCk7CisKK3N0YXRpYyBjb25zdCBERUNMQVJFX1RMVl9EQl9MSU5FQVIob3V0X29taXhfdGx2LCAtNjAwLCAwKTsKKworc3RhdGljIGNvbnN0IERFQ0xBUkVfVExWX0RCX0xJTkVBUihvdXRfZGFjX3RsdiwgLTcxNjMsIDApOworCitzdGF0aWMgY29uc3QgREVDTEFSRV9UTFZfREJfTElORUFSKGluX2FkY190bHYsIC03MTYzLCAxNzYzKTsKKworc3RhdGljIGNvbnN0IERFQ0xBUkVfVExWX0RCX0xJTkVBUihvdXRfc2lkZXRvbmVfdGx2LCAtMzYwMCwgMCk7CisKK3N0YXRpYyBpbnQgd204OTl4X291dHBnYV9wdXRfdm9sc3dfdnUoc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsCisJc3RydWN0IHNuZF9jdGxfZWxlbV92YWx1ZSAqdWNvbnRyb2wpCit7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc25kX2tjb250cm9sX2NoaXAoa2NvbnRyb2wpOworCWludCByZWcgPSBrY29udHJvbC0+cHJpdmF0ZV92YWx1ZSAmIDB4ZmY7CisJaW50IHJldDsKKwl1MTYgdmFsOworCisJcmV0ID0gc25kX3NvY19wdXRfdm9sc3coa2NvbnRyb2wsIHVjb250cm9sKTsKKwlpZiAocmV0IDwgMCkKKwkJcmV0dXJuIHJldDsKKworCS8qIG5vdyBoaXQgdGhlIHZvbHVtZSB1cGRhdGUgYml0cyAoYWx3YXlzIGJpdCA4KSAqLworCXZhbCA9IHdtODk5MF9yZWFkX3JlZ19jYWNoZShjb2RlYywgcmVnKTsKKwlyZXR1cm4gd204OTkwX3dyaXRlKGNvZGVjLCByZWcsIHZhbCB8IDB4MDEwMCk7Cit9CisKKyNkZWZpbmUgU09DX1dNODk5WF9PVVRQR0FfU0lOR0xFX1JfVExWKHhuYW1lLCByZWcsIHNoaWZ0LCBtYXgsIGludmVydCxcCisJIHRsdl9hcnJheSkge1wKKwkuaWZhY2UgPSBTTkRSVl9DVExfRUxFTV9JRkFDRV9NSVhFUiwgLm5hbWUgPSAoeG5hbWUpLCBcCisJLmFjY2VzcyA9IFNORFJWX0NUTF9FTEVNX0FDQ0VTU19UTFZfUkVBRCB8XAorCQkgIFNORFJWX0NUTF9FTEVNX0FDQ0VTU19SRUFEV1JJVEUsXAorCS50bHYucCA9ICh0bHZfYXJyYXkpLCBcCisJLmluZm8gPSBzbmRfc29jX2luZm9fdm9sc3csIFwKKwkuZ2V0ID0gc25kX3NvY19nZXRfdm9sc3csIC5wdXQgPSB3bTg5OXhfb3V0cGdhX3B1dF92b2xzd192dSwgXAorCS5wcml2YXRlX3ZhbHVlID0gU09DX1NJTkdMRV9WQUxVRShyZWcsIHNoaWZ0LCBtYXgsIGludmVydCkgfQorCisKK3N0YXRpYyBjb25zdCBjaGFyICp3bTg5OTBfZGlnaXRhbF9zaWRldG9uZVtdID0KKwl7Ik5vbmUiLCAiTGVmdCBBREMiLCAiUmlnaHQgQURDIiwgIlJlc2VydmVkIn07CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc29jX2VudW0gd204OTkwX2xlZnRfZGlnaXRhbF9zaWRldG9uZV9lbnVtID0KK1NPQ19FTlVNX1NJTkdMRShXTTg5OTBfRElHSVRBTF9TSURFX1RPTkUsCisJV004OTkwX0FEQ19UT19EQUNMX1NISUZULAorCVdNODk5MF9BRENfVE9fREFDTF9NQVNLLAorCXdtODk5MF9kaWdpdGFsX3NpZGV0b25lKTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBzb2NfZW51bSB3bTg5OTBfcmlnaHRfZGlnaXRhbF9zaWRldG9uZV9lbnVtID0KK1NPQ19FTlVNX1NJTkdMRShXTTg5OTBfRElHSVRBTF9TSURFX1RPTkUsCisJV004OTkwX0FEQ19UT19EQUNSX1NISUZULAorCVdNODk5MF9BRENfVE9fREFDUl9NQVNLLAorCXdtODk5MF9kaWdpdGFsX3NpZGV0b25lKTsKKworc3RhdGljIGNvbnN0IGNoYXIgKndtODk5MF9hZGNtb2RlW10gPQorCXsiSGktZmkgbW9kZSIsICJWb2ljZSBtb2RlIDEiLCAiVm9pY2UgbW9kZSAyIiwgIlZvaWNlIG1vZGUgMyJ9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IHNvY19lbnVtIHdtODk5MF9yaWdodF9hZGNtb2RlX2VudW0gPQorU09DX0VOVU1fU0lOR0xFKFdNODk5MF9BRENfQ1RSTCwKKwlXTTg5OTBfQURDX0hQRl9DVVRfU0hJRlQsCisJV004OTkwX0FEQ19IUEZfQ1VUX01BU0ssCisJd204OTkwX2FkY21vZGUpOworCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgd204OTkwX3NuZF9jb250cm9sc1tdID0geworLyogSU5NSVhMICovCitTT0NfU0lOR0xFKCJMSU4xMiBQR0EgQm9vc3QiLCBXTTg5OTBfSU5QVVRfTUlYRVIzLCBXTTg5OTBfTDEyTU5CU1RfQklULCAxLCAwKSwKK1NPQ19TSU5HTEUoIkxJTjM0IFBHQSBCb29zdCIsIFdNODk5MF9JTlBVVF9NSVhFUjMsIFdNODk5MF9MMzRNTkJTVF9CSVQsIDEsIDApLAorLyogSU5NSVhSICovCitTT0NfU0lOR0xFKCJSSU4xMiBQR0EgQm9vc3QiLCBXTTg5OTBfSU5QVVRfTUlYRVIzLCBXTTg5OTBfUjEyTU5CU1RfQklULCAxLCAwKSwKK1NPQ19TSU5HTEUoIlJJTjM0IFBHQSBCb29zdCIsIFdNODk5MF9JTlBVVF9NSVhFUjMsIFdNODk5MF9SMzRNTkJTVF9CSVQsIDEsIDApLAorCisvKiBMT01JWCAqLworU09DX1NJTkdMRV9UTFYoIkxPTUlYIExJTjMgQnlwYXNzIFZvbHVtZSIsIFdNODk5MF9PVVRQVVRfTUlYRVIzLAorCVdNODk5MF9MTEkzTE9WT0xfU0hJRlQsIFdNODk5MF9MTEkzTE9WT0xfTUFTSywgMSwgb3V0X21peF90bHYpLAorU09DX1NJTkdMRV9UTFYoIkxPTUlYIFJJTjEyIFBHQSBCeXBhc3MgVm9sdW1lIiwgV004OTkwX09VVFBVVF9NSVhFUjMsCisJV004OTkwX0xSMTJMT1ZPTF9TSElGVCwgV004OTkwX0xSMTJMT1ZPTF9NQVNLLCAxLCBvdXRfbWl4X3RsdiksCitTT0NfU0lOR0xFX1RMVigiTE9NSVggTElOMTIgUEdBIEJ5cGFzcyBWb2x1bWUiLCBXTTg5OTBfT1VUUFVUX01JWEVSMywKKwlXTTg5OTBfTEwxMkxPVk9MX1NISUZULCBXTTg5OTBfTEwxMkxPVk9MX01BU0ssIDEsIG91dF9taXhfdGx2KSwKK1NPQ19TSU5HTEVfVExWKCJMT01JWCBSSU4zIEJ5cGFzcyBWb2x1bWUiLCBXTTg5OTBfT1VUUFVUX01JWEVSNSwKKwlXTTg5OTBfTFJJM0xPVk9MX1NISUZULCBXTTg5OTBfTFJJM0xPVk9MX01BU0ssIDEsIG91dF9taXhfdGx2KSwKK1NPQ19TSU5HTEVfVExWKCJMT01JWCBBSU5STVVYIEJ5cGFzcyBWb2x1bWUiLCBXTTg5OTBfT1VUUFVUX01JWEVSNSwKKwlXTTg5OTBfTFJCTE9WT0xfU0hJRlQsIFdNODk5MF9MUkJMT1ZPTF9NQVNLLCAxLCBvdXRfbWl4X3RsdiksCitTT0NfU0lOR0xFX1RMVigiTE9NSVggQUlOTE1VWCBCeXBhc3MgVm9sdW1lIiwgV004OTkwX09VVFBVVF9NSVhFUjUsCisJV004OTkwX0xSQkxPVk9MX1NISUZULCBXTTg5OTBfTFJCTE9WT0xfTUFTSywgMSwgb3V0X21peF90bHYpLAorCisvKiBST01JWCAqLworU09DX1NJTkdMRV9UTFYoIlJPTUlYIFJJTjMgQnlwYXNzIFZvbHVtZSIsIFdNODk5MF9PVVRQVVRfTUlYRVI0LAorCVdNODk5MF9SUkkzUk9WT0xfU0hJRlQsIFdNODk5MF9SUkkzUk9WT0xfTUFTSywgMSwgb3V0X21peF90bHYpLAorU09DX1NJTkdMRV9UTFYoIlJPTUlYIExJTjEyIFBHQSBCeXBhc3MgVm9sdW1lIiwgV004OTkwX09VVFBVVF9NSVhFUjQsCisJV004OTkwX1JMMTJST1ZPTF9TSElGVCwgV004OTkwX1JMMTJST1ZPTF9NQVNLLCAxLCBvdXRfbWl4X3RsdiksCitTT0NfU0lOR0xFX1RMVigiUk9NSVggUklOMTIgUEdBIEJ5cGFzcyBWb2x1bWUiLCBXTTg5OTBfT1VUUFVUX01JWEVSNCwKKwlXTTg5OTBfUlIxMlJPVk9MX1NISUZULCBXTTg5OTBfUlIxMlJPVk9MX01BU0ssIDEsIG91dF9taXhfdGx2KSwKK1NPQ19TSU5HTEVfVExWKCJST01JWCBMSU4zIEJ5cGFzcyBWb2x1bWUiLCBXTTg5OTBfT1VUUFVUX01JWEVSNiwKKwlXTTg5OTBfUkxJM1JPVk9MX1NISUZULCBXTTg5OTBfUkxJM1JPVk9MX01BU0ssIDEsIG91dF9taXhfdGx2KSwKK1NPQ19TSU5HTEVfVExWKCJST01JWCBBSU5MTVVYIEJ5cGFzcyBWb2x1bWUiLCBXTTg5OTBfT1VUUFVUX01JWEVSNiwKKwlXTTg5OTBfUkxCUk9WT0xfU0hJRlQsIFdNODk5MF9STEJST1ZPTF9NQVNLLCAxLCBvdXRfbWl4X3RsdiksCitTT0NfU0lOR0xFX1RMVigiUk9NSVggQUlOUk1VWCBCeXBhc3MgVm9sdW1lIiwgV004OTkwX09VVFBVVF9NSVhFUjYsCisJV004OTkwX1JSQlJPVk9MX1NISUZULCBXTTg5OTBfUlJCUk9WT0xfTUFTSywgMSwgb3V0X21peF90bHYpLAorCisvKiBMT1VUICovCitTT0NfV004OTlYX09VVFBHQV9TSU5HTEVfUl9UTFYoIkxPVVQgVm9sdW1lIiwgV004OTkwX0xFRlRfT1VUUFVUX1ZPTFVNRSwKKwlXTTg5OTBfTE9VVFZPTF9TSElGVCwgV004OTkwX0xPVVRWT0xfTUFTSywgMCwgb3V0X3BnYV90bHYpLAorU09DX1NJTkdMRSgiTE9VVCBaQyIsIFdNODk5MF9MRUZUX09VVFBVVF9WT0xVTUUsIFdNODk5MF9MT1pDX0JJVCwgMSwgMCksCisKKy8qIFJPVVQgKi8KK1NPQ19XTTg5OVhfT1VUUEdBX1NJTkdMRV9SX1RMVigiUk9VVCBWb2x1bWUiLCBXTTg5OTBfUklHSFRfT1VUUFVUX1ZPTFVNRSwKKwlXTTg5OTBfUk9VVFZPTF9TSElGVCwgV004OTkwX1JPVVRWT0xfTUFTSywgMCwgb3V0X3BnYV90bHYpLAorU09DX1NJTkdMRSgiUk9VVCBaQyIsIFdNODk5MF9SSUdIVF9PVVRQVVRfVk9MVU1FLCBXTTg5OTBfUk9aQ19CSVQsIDEsIDApLAorCisvKiBMT1BHQSAqLworU09DX1dNODk5WF9PVVRQR0FfU0lOR0xFX1JfVExWKCJMT1BHQSBWb2x1bWUiLCBXTTg5OTBfTEVGVF9PUEdBX1ZPTFVNRSwKKwlXTTg5OTBfTE9QR0FWT0xfU0hJRlQsIFdNODk5MF9MT1BHQVZPTF9NQVNLLCAwLCBvdXRfcGdhX3RsdiksCitTT0NfU0lOR0xFKCJMT1BHQSBaQyBTd2l0Y2giLCBXTTg5OTBfTEVGVF9PUEdBX1ZPTFVNRSwKKwlXTTg5OTBfTE9QR0FaQ19CSVQsIDEsIDApLAorCisvKiBST1BHQSAqLworU09DX1dNODk5WF9PVVRQR0FfU0lOR0xFX1JfVExWKCJST1BHQSBWb2x1bWUiLCBXTTg5OTBfUklHSFRfT1BHQV9WT0xVTUUsCisJV004OTkwX1JPUEdBVk9MX1NISUZULCBXTTg5OTBfUk9QR0FWT0xfTUFTSywgMCwgb3V0X3BnYV90bHYpLAorU09DX1NJTkdMRSgiUk9QR0EgWkMgU3dpdGNoIiwgV004OTkwX1JJR0hUX09QR0FfVk9MVU1FLAorCVdNODk5MF9ST1BHQVpDX0JJVCwgMSwgMCksCisKK1NPQ19TSU5HTEUoIkxPTiBNdXRlIFN3aXRjaCIsIFdNODk5MF9MSU5FX09VVFBVVFNfVk9MVU1FLAorCVdNODk5MF9MT05NVVRFX0JJVCwgMSwgMCksCitTT0NfU0lOR0xFKCJMT1AgTXV0ZSBTd2l0Y2giLCBXTTg5OTBfTElORV9PVVRQVVRTX1ZPTFVNRSwKKwlXTTg5OTBfTE9QTVVURV9CSVQsIDEsIDApLAorU09DX1NJTkdMRSgiTE9QIEF0dGVudWF0aW9uIFN3aXRjaCIsIFdNODk5MF9MSU5FX09VVFBVVFNfVk9MVU1FLAorCVdNODk5MF9MT0FUVE5fQklULCAxLCAwKSwKK1NPQ19TSU5HTEUoIlJPTiBNdXRlIFN3aXRjaCIsIFdNODk5MF9MSU5FX09VVFBVVFNfVk9MVU1FLAorCVdNODk5MF9ST05NVVRFX0JJVCwgMSwgMCksCitTT0NfU0lOR0xFKCJST1AgTXV0ZSBTd2l0Y2giLCBXTTg5OTBfTElORV9PVVRQVVRTX1ZPTFVNRSwKKwlXTTg5OTBfUk9QTVVURV9CSVQsIDEsIDApLAorU09DX1NJTkdMRSgiUk9QIEF0dGVudWF0aW9uIFN3aXRjaCIsIFdNODk5MF9MSU5FX09VVFBVVFNfVk9MVU1FLAorCVdNODk5MF9ST0FUVE5fQklULCAxLCAwKSwKKworU09DX1NJTkdMRSgiT1VUMyBNdXRlIFN3aXRjaCIsIFdNODk5MF9PVVQzXzRfVk9MVU1FLAorCVdNODk5MF9PVVQzTVVURV9CSVQsIDEsIDApLAorU09DX1NJTkdMRSgiT1VUMyBBdHRlbnVhdGlvbiBTd2l0Y2giLCBXTTg5OTBfT1VUM180X1ZPTFVNRSwKKwlXTTg5OTBfT1VUM0FUVE5fQklULCAxLCAwKSwKKworU09DX1NJTkdMRSgiT1VUNCBNdXRlIFN3aXRjaCIsIFdNODk5MF9PVVQzXzRfVk9MVU1FLAorCVdNODk5MF9PVVQ0TVVURV9CSVQsIDEsIDApLAorU09DX1NJTkdMRSgiT1VUNCBBdHRlbnVhdGlvbiBTd2l0Y2giLCBXTTg5OTBfT1VUM180X1ZPTFVNRSwKKwlXTTg5OTBfT1VUNEFUVE5fQklULCAxLCAwKSwKKworU09DX1NJTkdMRSgiU3BlYWtlciBNb2RlIFN3aXRjaCIsIFdNODk5MF9DTEFTU0QxLAorCVdNODk5MF9DRE1PREVfQklULCAxLCAwKSwKKworU09DX1NJTkdMRSgiU3BlYWtlciBPdXRwdXQgQXR0ZW51YXRpb24gVm9sdW1lIiwgV004OTkwX1NQRUFLRVJfVk9MVU1FLAorCVdNODk5MF9TUEtWT0xfU0hJRlQsIFdNODk5MF9TUEtWT0xfTUFTSywgMCksCitTT0NfU0lOR0xFKCJTcGVha2VyIERDIEJvb3N0IFZvbHVtZSIsIFdNODk5MF9DTEFTU0QzLAorCVdNODk5MF9EQ0dBSU5fU0hJRlQsIFdNODk5MF9EQ0dBSU5fTUFTSywgMCksCitTT0NfU0lOR0xFKCJTcGVha2VyIEFDIEJvb3N0IFZvbHVtZSIsIFdNODk5MF9DTEFTU0QzLAorCVdNODk5MF9BQ0dBSU5fU0hJRlQsIFdNODk5MF9BQ0dBSU5fTUFTSywgMCksCisKK1NPQ19XTTg5OVhfT1VUUEdBX1NJTkdMRV9SX1RMVigiTGVmdCBEQUMgRGlnaXRhbCBWb2x1bWUiLAorCVdNODk5MF9MRUZUX0RBQ19ESUdJVEFMX1ZPTFVNRSwKKwlXTTg5OTBfREFDTF9WT0xfU0hJRlQsCisJV004OTkwX0RBQ0xfVk9MX01BU0ssCisJMCwKKwlvdXRfZGFjX3RsdiksCisKK1NPQ19XTTg5OVhfT1VUUEdBX1NJTkdMRV9SX1RMVigiUmlnaHQgREFDIERpZ2l0YWwgVm9sdW1lIiwKKwlXTTg5OTBfUklHSFRfREFDX0RJR0lUQUxfVk9MVU1FLAorCVdNODk5MF9EQUNSX1ZPTF9TSElGVCwKKwlXTTg5OTBfREFDUl9WT0xfTUFTSywKKwkwLAorCW91dF9kYWNfdGx2KSwKKworU09DX0VOVU0oIkxlZnQgRGlnaXRhbCBTaWRldG9uZSIsIHdtODk5MF9sZWZ0X2RpZ2l0YWxfc2lkZXRvbmVfZW51bSksCitTT0NfRU5VTSgiUmlnaHQgRGlnaXRhbCBTaWRldG9uZSIsIHdtODk5MF9yaWdodF9kaWdpdGFsX3NpZGV0b25lX2VudW0pLAorCitTT0NfU0lOR0xFX1RMVigiTGVmdCBEaWdpdGFsIFNpZGV0b25lIFZvbHVtZSIsIFdNODk5MF9ESUdJVEFMX1NJREVfVE9ORSwKKwlXTTg5OTBfQURDTF9EQUNfU1ZPTF9TSElGVCwgV004OTkwX0FEQ0xfREFDX1NWT0xfTUFTSywgMCwKKwlvdXRfc2lkZXRvbmVfdGx2KSwKK1NPQ19TSU5HTEVfVExWKCJSaWdodCBEaWdpdGFsIFNpZGV0b25lIFZvbHVtZSIsIFdNODk5MF9ESUdJVEFMX1NJREVfVE9ORSwKKwlXTTg5OTBfQURDUl9EQUNfU1ZPTF9TSElGVCwgV004OTkwX0FEQ1JfREFDX1NWT0xfTUFTSywgMCwKKwlvdXRfc2lkZXRvbmVfdGx2KSwKKworU09DX1NJTkdMRSgiQURDIERpZ2l0YWwgSGlnaCBQYXNzIEZpbHRlciBTd2l0Y2giLCBXTTg5OTBfQURDX0NUUkwsCisJV004OTkwX0FEQ19IUEZfRU5BX0JJVCwgMSwgMCksCisKK1NPQ19FTlVNKCJBREMgSFBGIE1vZGUiLCB3bTg5OTBfcmlnaHRfYWRjbW9kZV9lbnVtKSwKKworU09DX1dNODk5WF9PVVRQR0FfU0lOR0xFX1JfVExWKCJMZWZ0IEFEQyBEaWdpdGFsIFZvbHVtZSIsCisJV004OTkwX0xFRlRfQURDX0RJR0lUQUxfVk9MVU1FLAorCVdNODk5MF9BRENMX1ZPTF9TSElGVCwKKwlXTTg5OTBfQURDTF9WT0xfTUFTSywKKwkwLAorCWluX2FkY190bHYpLAorCitTT0NfV004OTlYX09VVFBHQV9TSU5HTEVfUl9UTFYoIlJpZ2h0IEFEQyBEaWdpdGFsIFZvbHVtZSIsCisJV004OTkwX1JJR0hUX0FEQ19ESUdJVEFMX1ZPTFVNRSwKKwlXTTg5OTBfQURDUl9WT0xfU0hJRlQsCisJV004OTkwX0FEQ1JfVk9MX01BU0ssCisJMCwKKwlpbl9hZGNfdGx2KSwKKworU09DX1dNODk5WF9PVVRQR0FfU0lOR0xFX1JfVExWKCJMSU4xMiBWb2x1bWUiLAorCVdNODk5MF9MRUZUX0xJTkVfSU5QVVRfMV8yX1ZPTFVNRSwKKwlXTTg5OTBfTElOMTJWT0xfU0hJRlQsCisJV004OTkwX0xJTjEyVk9MX01BU0ssCisJMCwKKwlpbl9wZ2FfdGx2KSwKKworU09DX1NJTkdMRSgiTElOMTIgWkMgU3dpdGNoIiwgV004OTkwX0xFRlRfTElORV9JTlBVVF8xXzJfVk9MVU1FLAorCVdNODk5MF9MSTEyWkNfQklULCAxLCAwKSwKKworU09DX1NJTkdMRSgiTElOMTIgTXV0ZSBTd2l0Y2giLCBXTTg5OTBfTEVGVF9MSU5FX0lOUFVUXzFfMl9WT0xVTUUsCisJV004OTkwX0xJMTJNVVRFX0JJVCwgMSwgMCksCisKK1NPQ19XTTg5OVhfT1VUUEdBX1NJTkdMRV9SX1RMVigiTElOMzQgVm9sdW1lIiwKKwlXTTg5OTBfTEVGVF9MSU5FX0lOUFVUXzNfNF9WT0xVTUUsCisJV004OTkwX0xJTjM0Vk9MX1NISUZULAorCVdNODk5MF9MSU4zNFZPTF9NQVNLLAorCTAsCisJaW5fcGdhX3RsdiksCisKK1NPQ19TSU5HTEUoIkxJTjM0IFpDIFN3aXRjaCIsIFdNODk5MF9MRUZUX0xJTkVfSU5QVVRfM180X1ZPTFVNRSwKKwlXTTg5OTBfTEkzNFpDX0JJVCwgMSwgMCksCisKK1NPQ19TSU5HTEUoIkxJTjM0IE11dGUgU3dpdGNoIiwgV004OTkwX0xFRlRfTElORV9JTlBVVF8zXzRfVk9MVU1FLAorCVdNODk5MF9MSTM0TVVURV9CSVQsIDEsIDApLAorCitTT0NfV004OTlYX09VVFBHQV9TSU5HTEVfUl9UTFYoIlJJTjEyIFZvbHVtZSIsCisJV004OTkwX1JJR0hUX0xJTkVfSU5QVVRfMV8yX1ZPTFVNRSwKKwlXTTg5OTBfUklOMTJWT0xfU0hJRlQsCisJV004OTkwX1JJTjEyVk9MX01BU0ssCisJMCwKKwlpbl9wZ2FfdGx2KSwKKworU09DX1NJTkdMRSgiUklOMTIgWkMgU3dpdGNoIiwgV004OTkwX1JJR0hUX0xJTkVfSU5QVVRfMV8yX1ZPTFVNRSwKKwlXTTg5OTBfUkkxMlpDX0JJVCwgMSwgMCksCisKK1NPQ19TSU5HTEUoIlJJTjEyIE11dGUgU3dpdGNoIiwgV004OTkwX1JJR0hUX0xJTkVfSU5QVVRfMV8yX1ZPTFVNRSwKKwlXTTg5OTBfUkkxMk1VVEVfQklULCAxLCAwKSwKKworU09DX1dNODk5WF9PVVRQR0FfU0lOR0xFX1JfVExWKCJSSU4zNCBWb2x1bWUiLAorCVdNODk5MF9SSUdIVF9MSU5FX0lOUFVUXzNfNF9WT0xVTUUsCisJV004OTkwX1JJTjM0Vk9MX1NISUZULAorCVdNODk5MF9SSU4zNFZPTF9NQVNLLAorCTAsCisJaW5fcGdhX3RsdiksCisKK1NPQ19TSU5HTEUoIlJJTjM0IFpDIFN3aXRjaCIsIFdNODk5MF9SSUdIVF9MSU5FX0lOUFVUXzNfNF9WT0xVTUUsCisJV004OTkwX1JJMzRaQ19CSVQsIDEsIDApLAorCitTT0NfU0lOR0xFKCJSSU4zNCBNdXRlIFN3aXRjaCIsIFdNODk5MF9SSUdIVF9MSU5FX0lOUFVUXzNfNF9WT0xVTUUsCisJV004OTkwX1JJMzRNVVRFX0JJVCwgMSwgMCksCisKK307CisKKy8qIGFkZCBub24gZGFwbSBjb250cm9scyAqLworc3RhdGljIGludCB3bTg5OTBfYWRkX2NvbnRyb2xzKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYykKK3sKKwlpbnQgZXJyLCBpOworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUod204OTkwX3NuZF9jb250cm9scyk7IGkrKykgeworCQllcnIgPSBzbmRfY3RsX2FkZChjb2RlYy0+Y2FyZCwKKwkJCQlzbmRfc29jX2NuZXcoJndtODk5MF9zbmRfY29udHJvbHNbaV0sIGNvZGVjLAorCQkJCQlOVUxMKSk7CisJCWlmIChlcnIgPCAwKQorCQkJcmV0dXJuIGVycjsKKwl9CisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBfREFQTV8gQ29udHJvbHMKKyAqLworCitzdGF0aWMgaW50IGlubWl4ZXJfZXZlbnQoc3RydWN0IHNuZF9zb2NfZGFwbV93aWRnZXQgKncsCisJc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsIGludCBldmVudCkKK3sKKwl1MTYgcmVnLCBmYWtlcG93ZXI7CisKKwlyZWcgPSB3bTg5OTBfcmVhZF9yZWdfY2FjaGUody0+Y29kZWMsIFdNODk5MF9QT1dFUl9NQU5BR0VNRU5UXzIpOworCWZha2Vwb3dlciA9IHdtODk5MF9yZWFkX3JlZ19jYWNoZSh3LT5jb2RlYywgV004OTkwX0lOVERSSVZCSVRTKTsKKworCWlmIChmYWtlcG93ZXIgJiAoKDEgPDwgV004OTkwX0lOTUlYTF9QV1JfQklUKSB8CisJCSgxIDw8IFdNODk5MF9BSU5MTVVYX1BXUl9CSVQpKSkgeworCQlyZWcgfD0gV004OTkwX0FJTkxfRU5BOworCX0gZWxzZSB7CisJCXJlZyAmPSB+V004OTkwX0FJTkxfRU5BOworCX0KKworCWlmIChmYWtlcG93ZXIgJiAoKDEgPDwgV004OTkwX0lOTUlYUl9QV1JfQklUKSB8CisJCSgxIDw8IFdNODk5MF9BSU5STVVYX1BXUl9CSVQpKSkgeworCQlyZWcgfD0gV004OTkwX0FJTlJfRU5BOworCX0gZWxzZSB7CisJCXJlZyAmPSB+V004OTkwX0FJTkxfRU5BOworCX0KKwl3bTg5OTBfd3JpdGUody0+Y29kZWMsIFdNODk5MF9QT1dFUl9NQU5BR0VNRU5UXzIsIHJlZyk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBvdXRtaXhlcl9ldmVudChzdHJ1Y3Qgc25kX3NvY19kYXBtX3dpZGdldCAqdywKKwlzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwgaW50IGV2ZW50KQoreworCXUzMiByZWdfc2hpZnQgPSBrY29udHJvbC0+cHJpdmF0ZV92YWx1ZSAmIDB4ZmZmOworCWludCByZXQgPSAwOworCXUxNiByZWc7CisKKwlzd2l0Y2ggKHJlZ19zaGlmdCkgeworCWNhc2UgV004OTkwX1NQRUFLRVJfTUlYRVIgfCAoV004OTkwX0xEU1BLX0JJVCA8PCA4KSA6CisJCXJlZyA9IHdtODk5MF9yZWFkX3JlZ19jYWNoZSh3LT5jb2RlYywgV004OTkwX09VVFBVVF9NSVhFUjEpOworCQlpZiAocmVnICYgV004OTkwX0xETE8pIHsKKwkJCXByaW50ayhLRVJOX1dBUk5JTkcKKwkJCSJDYW5ub3Qgc2V0IGFzIE91dHB1dCBNaXhlciAxIExETE8gU2V0XG4iKTsKKwkJCXJldCA9IC0xOworCQl9CisJCWJyZWFrOworCWNhc2UgV004OTkwX1NQRUFLRVJfTUlYRVIgfCAoV004OTkwX1JEU1BLX0JJVCA8PCA4KToKKwkJcmVnID0gd204OTkwX3JlYWRfcmVnX2NhY2hlKHctPmNvZGVjLCBXTTg5OTBfT1VUUFVUX01JWEVSMik7CisJCWlmIChyZWcgJiBXTTg5OTBfUkRSTykgeworCQkJcHJpbnRrKEtFUk5fV0FSTklORworCQkJIkNhbm5vdCBzZXQgYXMgT3V0cHV0IE1peGVyIDIgUkRSTyBTZXRcbiIpOworCQkJcmV0ID0gLTE7CisJCX0KKwkJYnJlYWs7CisJY2FzZSBXTTg5OTBfT1VUUFVUX01JWEVSMSB8IChXTTg5OTBfTERMT19CSVQgPDwgOCk6CisJCXJlZyA9IHdtODk5MF9yZWFkX3JlZ19jYWNoZSh3LT5jb2RlYywgV004OTkwX1NQRUFLRVJfTUlYRVIpOworCQlpZiAocmVnICYgV004OTkwX0xEU1BLKSB7CisJCQlwcmludGsoS0VSTl9XQVJOSU5HCisJCQkiQ2Fubm90IHNldCBhcyBTcGVha2VyIE1peGVyIExEU1BLIFNldFxuIik7CisJCQlyZXQgPSAtMTsKKwkJfQorCQlicmVhazsKKwljYXNlIFdNODk5MF9PVVRQVVRfTUlYRVIyIHwgKFdNODk5MF9SRFJPX0JJVCA8PCA4KToKKwkJcmVnID0gd204OTkwX3JlYWRfcmVnX2NhY2hlKHctPmNvZGVjLCBXTTg5OTBfU1BFQUtFUl9NSVhFUik7CisJCWlmIChyZWcgJiBXTTg5OTBfUkRTUEspIHsKKwkJCXByaW50ayhLRVJOX1dBUk5JTkcKKwkJCSJDYW5ub3Qgc2V0IGFzIFNwZWFrZXIgTWl4ZXIgUkRTUEsgU2V0XG4iKTsKKwkJCXJldCA9IC0xOworCQl9CisJCWJyZWFrOworCX0KKworCXJldHVybiByZXQ7Cit9CisKKy8qIElOTUlYIGRCIHZhbHVlcyAqLworc3RhdGljIGNvbnN0IHVuc2lnbmVkIGludCBpbl9taXhfdGx2W10gPSB7CisJVExWX0RCX1JBTkdFX0hFQUQoMSksCisJMCwgNywgVExWX0RCX0xJTkVBUl9JVEVNKC0xMjAwLCA2MDApLAorfTsKKworLyogTGVmdCBJbiBQR0EgQ29ubmVjdGlvbnMgKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyB3bTg5OTBfZGFwbV9saW4xMl9wZ2FfY29udHJvbHNbXSA9IHsKK1NPQ19EQVBNX1NJTkdMRSgiTElOMSBTd2l0Y2giLCBXTTg5OTBfSU5QVVRfTUlYRVIyLCBXTTg5OTBfTE1OMV9CSVQsIDEsIDApLAorU09DX0RBUE1fU0lOR0xFKCJMSU4yIFN3aXRjaCIsIFdNODk5MF9JTlBVVF9NSVhFUjIsIFdNODk5MF9MTVAyX0JJVCwgMSwgMCksCit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgd204OTkwX2RhcG1fbGluMzRfcGdhX2NvbnRyb2xzW10gPSB7CitTT0NfREFQTV9TSU5HTEUoIkxJTjMgU3dpdGNoIiwgV004OTkwX0lOUFVUX01JWEVSMiwgV004OTkwX0xNTjNfQklULCAxLCAwKSwKK1NPQ19EQVBNX1NJTkdMRSgiTElONCBTd2l0Y2giLCBXTTg5OTBfSU5QVVRfTUlYRVIyLCBXTTg5OTBfTE1QNF9CSVQsIDEsIDApLAorfTsKKworLyogUmlnaHQgSW4gUEdBIENvbm5lY3Rpb25zICovCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgd204OTkwX2RhcG1fcmluMTJfcGdhX2NvbnRyb2xzW10gPSB7CitTT0NfREFQTV9TSU5HTEUoIlJJTjEgU3dpdGNoIiwgV004OTkwX0lOUFVUX01JWEVSMiwgV004OTkwX1JNTjFfQklULCAxLCAwKSwKK1NPQ19EQVBNX1NJTkdMRSgiUklOMiBTd2l0Y2giLCBXTTg5OTBfSU5QVVRfTUlYRVIyLCBXTTg5OTBfUk1QMl9CSVQsIDEsIDApLAorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHdtODk5MF9kYXBtX3JpbjM0X3BnYV9jb250cm9sc1tdID0geworU09DX0RBUE1fU0lOR0xFKCJSSU4zIFN3aXRjaCIsIFdNODk5MF9JTlBVVF9NSVhFUjIsIFdNODk5MF9STU4zX0JJVCwgMSwgMCksCitTT0NfREFQTV9TSU5HTEUoIlJJTjQgU3dpdGNoIiwgV004OTkwX0lOUFVUX01JWEVSMiwgV004OTkwX1JNUDRfQklULCAxLCAwKSwKK307CisKKy8qIElOTUlYTCAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHdtODk5MF9kYXBtX2lubWl4bF9jb250cm9sc1tdID0geworU09DX0RBUE1fU0lOR0xFX1RMVigiUmVjb3JkIExlZnQgVm9sdW1lIiwgV004OTkwX0lOUFVUX01JWEVSMywKKwlXTTg5OTBfTERCVk9MX1NISUZULCBXTTg5OTBfTERCVk9MX01BU0ssIDAsIGluX21peF90bHYpLAorU09DX0RBUE1fU0lOR0xFX1RMVigiTElOMiBWb2x1bWUiLCBXTTg5OTBfSU5QVVRfTUlYRVI1LCBXTTg5OTBfTEkyQlZPTF9TSElGVCwKKwk3LCAwLCBpbl9taXhfdGx2KSwKK1NPQ19EQVBNX1NJTkdMRSgiTElOUEdBMTIgU3dpdGNoIiwgV004OTkwX0lOUFVUX01JWEVSMywgV004OTkwX0wxMk1OQl9CSVQsCisJMSwgMCksCitTT0NfREFQTV9TSU5HTEUoIkxJTlBHQTM0IFN3aXRjaCIsIFdNODk5MF9JTlBVVF9NSVhFUjMsIFdNODk5MF9MMzRNTkJfQklULAorCTEsIDApLAorfTsKKworLyogSU5NSVhSICovCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgd204OTkwX2RhcG1faW5taXhyX2NvbnRyb2xzW10gPSB7CitTT0NfREFQTV9TSU5HTEVfVExWKCJSZWNvcmQgUmlnaHQgVm9sdW1lIiwgV004OTkwX0lOUFVUX01JWEVSNCwKKwlXTTg5OTBfUkRCVk9MX1NISUZULCBXTTg5OTBfUkRCVk9MX01BU0ssIDAsIGluX21peF90bHYpLAorU09DX0RBUE1fU0lOR0xFX1RMVigiUklOMiBWb2x1bWUiLCBXTTg5OTBfSU5QVVRfTUlYRVI2LCBXTTg5OTBfUkkyQlZPTF9TSElGVCwKKwk3LCAwLCBpbl9taXhfdGx2KSwKK1NPQ19EQVBNX1NJTkdMRSgiUklOUEdBMTIgU3dpdGNoIiwgV004OTkwX0lOUFVUX01JWEVSMywgV004OTkwX0wxMk1OQl9CSVQsCisJMSwgMCksCitTT0NfREFQTV9TSU5HTEUoIlJJTlBHQTM0IFN3aXRjaCIsIFdNODk5MF9JTlBVVF9NSVhFUjMsIFdNODk5MF9MMzRNTkJfQklULAorCTEsIDApLAorfTsKKworLyogQUlOTE1VWCAqLworc3RhdGljIGNvbnN0IGNoYXIgKndtODk5MF9haW5sbXV4W10gPQorCXsiSU5NSVhMIE1peCIsICJSWFZPSUNFIE1peCIsICJESUZGSU5MIE1peCJ9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IHNvY19lbnVtIHdtODk5MF9haW5sbXV4X2VudW0gPQorU09DX0VOVU1fU0lOR0xFKFdNODk5MF9JTlBVVF9NSVhFUjEsIFdNODk5MF9BSU5MTU9ERV9TSElGVCwKKwlBUlJBWV9TSVpFKHdtODk5MF9haW5sbXV4KSwgd204OTkwX2FpbmxtdXgpOworCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgd204OTkwX2RhcG1fYWlubG11eF9jb250cm9scyA9CitTT0NfREFQTV9FTlVNKCJSb3V0ZSIsIHdtODk5MF9haW5sbXV4X2VudW0pOworCisvKiBESUZGSU5MICovCisKKy8qIEFJTlJNVVggKi8KK3N0YXRpYyBjb25zdCBjaGFyICp3bTg5OTBfYWlucm11eFtdID0KKwl7IklOTUlYUiBNaXgiLCAiUlhWT0lDRSBNaXgiLCAiRElGRklOUiBNaXgifTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBzb2NfZW51bSB3bTg5OTBfYWlucm11eF9lbnVtID0KK1NPQ19FTlVNX1NJTkdMRShXTTg5OTBfSU5QVVRfTUlYRVIxLCBXTTg5OTBfQUlOUk1PREVfU0hJRlQsCisJQVJSQVlfU0laRSh3bTg5OTBfYWlucm11eCksIHdtODk5MF9haW5ybXV4KTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHdtODk5MF9kYXBtX2FpbnJtdXhfY29udHJvbHMgPQorU09DX0RBUE1fRU5VTSgiUm91dGUiLCB3bTg5OTBfYWlucm11eF9lbnVtKTsKKworLyogUlhWT0lDRSAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHdtODk5MF9kYXBtX3J4dm9pY2VfY29udHJvbHNbXSA9IHsKK1NPQ19EQVBNX1NJTkdMRV9UTFYoIkxJTjQvUlhOIiwgV004OTkwX0lOUFVUX01JWEVSNSwgV004OTkwX0xSNEJWT0xfU0hJRlQsCisJCQlXTTg5OTBfTFI0QlZPTF9NQVNLLCAwLCBpbl9taXhfdGx2KSwKK1NPQ19EQVBNX1NJTkdMRV9UTFYoIlJJTjQvUlhQIiwgV004OTkwX0lOUFVUX01JWEVSNiwgV004OTkwX1JMNEJWT0xfU0hJRlQsCisJCQlXTTg5OTBfUkw0QlZPTF9NQVNLLCAwLCBpbl9taXhfdGx2KSwKK307CisKKy8qIExPTUlYICovCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgd204OTkwX2RhcG1fbG9taXhfY29udHJvbHNbXSA9IHsKK1NPQ19EQVBNX1NJTkdMRSgiTE9NSVggUmlnaHQgQURDIEJ5cGFzcyBTd2l0Y2giLCBXTTg5OTBfT1VUUFVUX01JWEVSMSwKKwlXTTg5OTBfTFJCTE9fQklULCAxLCAwKSwKK1NPQ19EQVBNX1NJTkdMRSgiTE9NSVggTGVmdCBBREMgQnlwYXNzIFN3aXRjaCIsIFdNODk5MF9PVVRQVVRfTUlYRVIxLAorCVdNODk5MF9MTEJMT19CSVQsIDEsIDApLAorU09DX0RBUE1fU0lOR0xFKCJMT01JWCBSSU4zIEJ5cGFzcyBTd2l0Y2giLCBXTTg5OTBfT1VUUFVUX01JWEVSMSwKKwlXTTg5OTBfTFJJM0xPX0JJVCwgMSwgMCksCitTT0NfREFQTV9TSU5HTEUoIkxPTUlYIExJTjMgQnlwYXNzIFN3aXRjaCIsIFdNODk5MF9PVVRQVVRfTUlYRVIxLAorCVdNODk5MF9MTEkzTE9fQklULCAxLCAwKSwKK1NPQ19EQVBNX1NJTkdMRSgiTE9NSVggUklOMTIgUEdBIEJ5cGFzcyBTd2l0Y2giLCBXTTg5OTBfT1VUUFVUX01JWEVSMSwKKwlXTTg5OTBfTFIxMkxPX0JJVCwgMSwgMCksCitTT0NfREFQTV9TSU5HTEUoIkxPTUlYIExJTjEyIFBHQSBCeXBhc3MgU3dpdGNoIiwgV004OTkwX09VVFBVVF9NSVhFUjEsCisJV004OTkwX0xMMTJMT19CSVQsIDEsIDApLAorU09DX0RBUE1fU0lOR0xFKCJMT01JWCBMZWZ0IERBQyBTd2l0Y2giLCBXTTg5OTBfT1VUUFVUX01JWEVSMSwKKwlXTTg5OTBfTERMT19CSVQsIDEsIDApLAorfTsKKworLyogUk9NSVggKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyB3bTg5OTBfZGFwbV9yb21peF9jb250cm9sc1tdID0geworU09DX0RBUE1fU0lOR0xFKCJST01JWCBMZWZ0IEFEQyBCeXBhc3MgU3dpdGNoIiwgV004OTkwX09VVFBVVF9NSVhFUjIsCisJV004OTkwX1JMQlJPX0JJVCwgMSwgMCksCitTT0NfREFQTV9TSU5HTEUoIlJPTUlYIFJpZ2h0IEFEQyBCeXBhc3MgU3dpdGNoIiwgV004OTkwX09VVFBVVF9NSVhFUjIsCisJV004OTkwX1JSQlJPX0JJVCwgMSwgMCksCitTT0NfREFQTV9TSU5HTEUoIlJPTUlYIExJTjMgQnlwYXNzIFN3aXRjaCIsIFdNODk5MF9PVVRQVVRfTUlYRVIyLAorCVdNODk5MF9STEkzUk9fQklULCAxLCAwKSwKK1NPQ19EQVBNX1NJTkdMRSgiUk9NSVggUklOMyBCeXBhc3MgU3dpdGNoIiwgV004OTkwX09VVFBVVF9NSVhFUjIsCisJV004OTkwX1JSSTNST19CSVQsIDEsIDApLAorU09DX0RBUE1fU0lOR0xFKCJST01JWCBMSU4xMiBQR0EgQnlwYXNzIFN3aXRjaCIsIFdNODk5MF9PVVRQVVRfTUlYRVIyLAorCVdNODk5MF9STDEyUk9fQklULCAxLCAwKSwKK1NPQ19EQVBNX1NJTkdMRSgiUk9NSVggUklOMTIgUEdBIEJ5cGFzcyBTd2l0Y2giLCBXTTg5OTBfT1VUUFVUX01JWEVSMiwKKwlXTTg5OTBfUlIxMlJPX0JJVCwgMSwgMCksCitTT0NfREFQTV9TSU5HTEUoIlJPTUlYIFJpZ2h0IERBQyBTd2l0Y2giLCBXTTg5OTBfT1VUUFVUX01JWEVSMiwKKwlXTTg5OTBfUkRST19CSVQsIDEsIDApLAorfTsKKworLyogTE9OTUlYICovCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgd204OTkwX2RhcG1fbG9ubWl4X2NvbnRyb2xzW10gPSB7CitTT0NfREFQTV9TSU5HTEUoIkxPTk1JWCBMZWZ0IE1peGVyIFBHQSBTd2l0Y2giLCBXTTg5OTBfTElORV9NSVhFUjEsCisJV004OTkwX0xMT1BHQUxPTl9CSVQsIDEsIDApLAorU09DX0RBUE1fU0lOR0xFKCJMT05NSVggUmlnaHQgTWl4ZXIgUEdBIFN3aXRjaCIsIFdNODk5MF9MSU5FX01JWEVSMSwKKwlXTTg5OTBfTFJPUEdBTE9OX0JJVCwgMSwgMCksCitTT0NfREFQTV9TSU5HTEUoIkxPTk1JWCBJbnZlcnRlZCBMT1AgU3dpdGNoIiwgV004OTkwX0xJTkVfTUlYRVIxLAorCVdNODk5MF9MT1BMT05fQklULCAxLCAwKSwKK307CisKKy8qIExPUE1JWCAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHdtODk5MF9kYXBtX2xvcG1peF9jb250cm9sc1tdID0geworU09DX0RBUE1fU0lOR0xFKCJMT1BNSVggUmlnaHQgTWljIEJ5cGFzcyBTd2l0Y2giLCBXTTg5OTBfTElORV9NSVhFUjEsCisJV004OTkwX0xSMTJMT1BfQklULCAxLCAwKSwKK1NPQ19EQVBNX1NJTkdMRSgiTE9QTUlYIExlZnQgTWljIEJ5cGFzcyBTd2l0Y2giLCBXTTg5OTBfTElORV9NSVhFUjEsCisJV004OTkwX0xMMTJMT1BfQklULCAxLCAwKSwKK1NPQ19EQVBNX1NJTkdMRSgiTE9QTUlYIExlZnQgTWl4ZXIgUEdBIFN3aXRjaCIsIFdNODk5MF9MSU5FX01JWEVSMSwKKwlXTTg5OTBfTExPUEdBTE9QX0JJVCwgMSwgMCksCit9OworCisvKiBST05NSVggKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyB3bTg5OTBfZGFwbV9yb25taXhfY29udHJvbHNbXSA9IHsKK1NPQ19EQVBNX1NJTkdMRSgiUk9OTUlYIFJpZ2h0IE1peGVyIFBHQSBTd2l0Y2giLCBXTTg5OTBfTElORV9NSVhFUjIsCisJV004OTkwX1JST1BHQVJPTl9CSVQsIDEsIDApLAorU09DX0RBUE1fU0lOR0xFKCJST05NSVggTGVmdCBNaXhlciBQR0EgU3dpdGNoIiwgV004OTkwX0xJTkVfTUlYRVIyLAorCVdNODk5MF9STE9QR0FST05fQklULCAxLCAwKSwKK1NPQ19EQVBNX1NJTkdMRSgiUk9OTUlYIEludmVydGVkIFJPUCBTd2l0Y2giLCBXTTg5OTBfTElORV9NSVhFUjIsCisJV004OTkwX1JPUFJPTl9CSVQsIDEsIDApLAorfTsKKworLyogUk9QTUlYICovCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgd204OTkwX2RhcG1fcm9wbWl4X2NvbnRyb2xzW10gPSB7CitTT0NfREFQTV9TSU5HTEUoIlJPUE1JWCBMZWZ0IE1pYyBCeXBhc3MgU3dpdGNoIiwgV004OTkwX0xJTkVfTUlYRVIyLAorCVdNODk5MF9STDEyUk9QX0JJVCwgMSwgMCksCitTT0NfREFQTV9TSU5HTEUoIlJPUE1JWCBSaWdodCBNaWMgQnlwYXNzIFN3aXRjaCIsIFdNODk5MF9MSU5FX01JWEVSMiwKKwlXTTg5OTBfUlIxMlJPUF9CSVQsIDEsIDApLAorU09DX0RBUE1fU0lOR0xFKCJST1BNSVggUmlnaHQgTWl4ZXIgUEdBIFN3aXRjaCIsIFdNODk5MF9MSU5FX01JWEVSMiwKKwlXTTg5OTBfUlJPUEdBUk9QX0JJVCwgMSwgMCksCit9OworCisvKiBPVVQzTUlYICovCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgd204OTkwX2RhcG1fb3V0M21peF9jb250cm9sc1tdID0geworU09DX0RBUE1fU0lOR0xFKCJPVVQzTUlYIExJTjQvUlhQIEJ5cGFzcyBTd2l0Y2giLCBXTTg5OTBfT1VUM180X01JWEVSLAorCVdNODk5MF9MSTRPM19CSVQsIDEsIDApLAorU09DX0RBUE1fU0lOR0xFKCJPVVQzTUlYIExlZnQgT3V0IFBHQSBTd2l0Y2giLCBXTTg5OTBfT1VUM180X01JWEVSLAorCVdNODk5MF9MUEdBTzNfQklULCAxLCAwKSwKK307CisKKy8qIE9VVDRNSVggKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyB3bTg5OTBfZGFwbV9vdXQ0bWl4X2NvbnRyb2xzW10gPSB7CitTT0NfREFQTV9TSU5HTEUoIk9VVDRNSVggUmlnaHQgT3V0IFBHQSBTd2l0Y2giLCBXTTg5OTBfT1VUM180X01JWEVSLAorCVdNODk5MF9SUEdBTzRfQklULCAxLCAwKSwKK1NPQ19EQVBNX1NJTkdMRSgiT1VUNE1JWCBSSU40L1JYUCBCeXBhc3MgU3dpdGNoIiwgV004OTkwX09VVDNfNF9NSVhFUiwKKwlXTTg5OTBfUkk0TzRfQklULCAxLCAwKSwKK307CisKKy8qIFNQS01JWCAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHdtODk5MF9kYXBtX3Nwa21peF9jb250cm9sc1tdID0geworU09DX0RBUE1fU0lOR0xFKCJTUEtNSVggTElOMiBCeXBhc3MgU3dpdGNoIiwgV004OTkwX1NQRUFLRVJfTUlYRVIsCisJV004OTkwX0xJMlNQS19CSVQsIDEsIDApLAorU09DX0RBUE1fU0lOR0xFKCJTUEtNSVggTEFEQyBCeXBhc3MgU3dpdGNoIiwgV004OTkwX1NQRUFLRVJfTUlYRVIsCisJV004OTkwX0xCMlNQS19CSVQsIDEsIDApLAorU09DX0RBUE1fU0lOR0xFKCJTUEtNSVggTGVmdCBNaXhlciBQR0EgU3dpdGNoIiwgV004OTkwX1NQRUFLRVJfTUlYRVIsCisJV004OTkwX0xPUEdBU1BLX0JJVCwgMSwgMCksCitTT0NfREFQTV9TSU5HTEUoIlNQS01JWCBMZWZ0IERBQyBTd2l0Y2giLCBXTTg5OTBfU1BFQUtFUl9NSVhFUiwKKwlXTTg5OTBfTERTUEtfQklULCAxLCAwKSwKK1NPQ19EQVBNX1NJTkdMRSgiU1BLTUlYIFJpZ2h0IERBQyBTd2l0Y2giLCBXTTg5OTBfU1BFQUtFUl9NSVhFUiwKKwlXTTg5OTBfUkRTUEtfQklULCAxLCAwKSwKK1NPQ19EQVBNX1NJTkdMRSgiU1BLTUlYIFJpZ2h0IE1peGVyIFBHQSBTd2l0Y2giLCBXTTg5OTBfU1BFQUtFUl9NSVhFUiwKKwlXTTg5OTBfUk9QR0FTUEtfQklULCAxLCAwKSwKK1NPQ19EQVBNX1NJTkdMRSgiU1BLTUlYIFJBREMgQnlwYXNzIFN3aXRjaCIsIFdNODk5MF9TUEVBS0VSX01JWEVSLAorCVdNODk5MF9STDEyUk9QX0JJVCwgMSwgMCksCitTT0NfREFQTV9TSU5HTEUoIlNQS01JWCBSSU4yIEJ5cGFzcyBTd2l0Y2giLCBXTTg5OTBfU1BFQUtFUl9NSVhFUiwKKwlXTTg5OTBfUkkyU1BLX0JJVCwgMSwgMCksCit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9zb2NfZGFwbV93aWRnZXQgd204OTkwX2RhcG1fd2lkZ2V0c1tdID0geworLyogSW5wdXQgU2lkZSAqLworLyogSW5wdXQgTGluZXMgKi8KK1NORF9TT0NfREFQTV9JTlBVVCgiTElOMSIpLAorU05EX1NPQ19EQVBNX0lOUFVUKCJMSU4yIiksCitTTkRfU09DX0RBUE1fSU5QVVQoIkxJTjMiKSwKK1NORF9TT0NfREFQTV9JTlBVVCgiTElONC9SWE4iKSwKK1NORF9TT0NfREFQTV9JTlBVVCgiUklOMyIpLAorU05EX1NPQ19EQVBNX0lOUFVUKCJSSU40L1JYUCIpLAorU05EX1NPQ19EQVBNX0lOUFVUKCJSSU4xIiksCitTTkRfU09DX0RBUE1fSU5QVVQoIlJJTjIiKSwKK1NORF9TT0NfREFQTV9JTlBVVCgiSW50ZXJuYWwgQURDIFNvdXJjZSIpLAorCisvKiBEQUNzICovCitTTkRfU09DX0RBUE1fQURDKCJMZWZ0IEFEQyIsICJMZWZ0IENhcHR1cmUiLCBXTTg5OTBfUE9XRVJfTUFOQUdFTUVOVF8yLAorCVdNODk5MF9BRENMX0VOQV9CSVQsIDApLAorU05EX1NPQ19EQVBNX0FEQygiUmlnaHQgQURDIiwgIlJpZ2h0IENhcHR1cmUiLCBXTTg5OTBfUE9XRVJfTUFOQUdFTUVOVF8yLAorCVdNODk5MF9BRENSX0VOQV9CSVQsIDApLAorCisvKiBJbnB1dCBQR0FzICovCitTTkRfU09DX0RBUE1fTUlYRVIoIkxJTjEyIFBHQSIsIFdNODk5MF9QT1dFUl9NQU5BR0VNRU5UXzIsIFdNODk5MF9MSU4xMl9FTkFfQklULAorCTAsICZ3bTg5OTBfZGFwbV9saW4xMl9wZ2FfY29udHJvbHNbMF0sCisJQVJSQVlfU0laRSh3bTg5OTBfZGFwbV9saW4xMl9wZ2FfY29udHJvbHMpKSwKK1NORF9TT0NfREFQTV9NSVhFUigiTElOMzQgUEdBIiwgV004OTkwX1BPV0VSX01BTkFHRU1FTlRfMiwgV004OTkwX0xJTjM0X0VOQV9CSVQsCisJMCwgJndtODk5MF9kYXBtX2xpbjM0X3BnYV9jb250cm9sc1swXSwKKwlBUlJBWV9TSVpFKHdtODk5MF9kYXBtX2xpbjM0X3BnYV9jb250cm9scykpLAorU05EX1NPQ19EQVBNX01JWEVSKCJSSU4xMiBQR0EiLCBXTTg5OTBfUE9XRVJfTUFOQUdFTUVOVF8yLCBXTTg5OTBfUklOMTJfRU5BX0JJVCwKKwkwLCAmd204OTkwX2RhcG1fcmluMTJfcGdhX2NvbnRyb2xzWzBdLAorCUFSUkFZX1NJWkUod204OTkwX2RhcG1fcmluMTJfcGdhX2NvbnRyb2xzKSksCitTTkRfU09DX0RBUE1fTUlYRVIoIlJJTjM0IFBHQSIsIFdNODk5MF9QT1dFUl9NQU5BR0VNRU5UXzIsIFdNODk5MF9SSU4zNF9FTkFfQklULAorCTAsICZ3bTg5OTBfZGFwbV9yaW4zNF9wZ2FfY29udHJvbHNbMF0sCisJQVJSQVlfU0laRSh3bTg5OTBfZGFwbV9yaW4zNF9wZ2FfY29udHJvbHMpKSwKKworLyogSU5NSVhMICovCitTTkRfU09DX0RBUE1fTUlYRVJfRSgiSU5NSVhMIiwgV004OTkwX0lOVERSSVZCSVRTLCBXTTg5OTBfSU5NSVhMX1BXUl9CSVQsIDAsCisJJndtODk5MF9kYXBtX2lubWl4bF9jb250cm9sc1swXSwKKwlBUlJBWV9TSVpFKHdtODk5MF9kYXBtX2lubWl4bF9jb250cm9scyksCisJaW5taXhlcl9ldmVudCwgU05EX1NPQ19EQVBNX1BPU1RfUE1VIHwgU05EX1NPQ19EQVBNX1BPU1RfUE1EKSwKKworLyogQUlOTE1VWCAqLworU05EX1NPQ19EQVBNX01VWF9FKCJBSUxOTVVYIiwgV004OTkwX0lOVERSSVZCSVRTLCBXTTg5OTBfQUlOTE1VWF9QV1JfQklULCAwLAorCSZ3bTg5OTBfZGFwbV9haW5sbXV4X2NvbnRyb2xzLCBpbm1peGVyX2V2ZW50LAorCVNORF9TT0NfREFQTV9QT1NUX1BNVSB8IFNORF9TT0NfREFQTV9QT1NUX1BNRCksCisKKy8qIElOTUlYUiAqLworU05EX1NPQ19EQVBNX01JWEVSX0UoIklOTUlYUiIsIFdNODk5MF9JTlREUklWQklUUywgV004OTkwX0lOTUlYUl9QV1JfQklULCAwLAorCSZ3bTg5OTBfZGFwbV9pbm1peHJfY29udHJvbHNbMF0sCisJQVJSQVlfU0laRSh3bTg5OTBfZGFwbV9pbm1peHJfY29udHJvbHMpLAorCWlubWl4ZXJfZXZlbnQsIFNORF9TT0NfREFQTV9QT1NUX1BNVSB8IFNORF9TT0NfREFQTV9QT1NUX1BNRCksCisKKy8qIEFJTlJNVVggKi8KK1NORF9TT0NfREFQTV9NVVhfRSgiQUlSTk1VWCIsIFdNODk5MF9JTlREUklWQklUUywgV004OTkwX0FJTlJNVVhfUFdSX0JJVCwgMCwKKwkmd204OTkwX2RhcG1fYWlucm11eF9jb250cm9scywgaW5taXhlcl9ldmVudCwKKwlTTkRfU09DX0RBUE1fUE9TVF9QTVUgfCBTTkRfU09DX0RBUE1fUE9TVF9QTUQpLAorCisvKiBPdXRwdXQgU2lkZSAqLworLyogREFDcyAqLworU05EX1NPQ19EQVBNX0RBQygiTGVmdCBEQUMiLCAiTGVmdCBQbGF5YmFjayIsIFdNODk5MF9QT1dFUl9NQU5BR0VNRU5UXzMsCisJV004OTkwX0RBQ0xfRU5BX0JJVCwgMCksCitTTkRfU09DX0RBUE1fREFDKCJSaWdodCBEQUMiLCAiUmlnaHQgUGxheWJhY2siLCBXTTg5OTBfUE9XRVJfTUFOQUdFTUVOVF8zLAorCVdNODk5MF9EQUNSX0VOQV9CSVQsIDApLAorCisvKiBMT01JWCAqLworU05EX1NPQ19EQVBNX01JWEVSX0UoIkxPTUlYIiwgV004OTkwX1BPV0VSX01BTkFHRU1FTlRfMywgV004OTkwX0xPTUlYX0VOQV9CSVQsCisJMCwgJndtODk5MF9kYXBtX2xvbWl4X2NvbnRyb2xzWzBdLAorCUFSUkFZX1NJWkUod204OTkwX2RhcG1fbG9taXhfY29udHJvbHMpLAorCW91dG1peGVyX2V2ZW50LCBTTkRfU09DX0RBUE1fUFJFX1JFRyksCisKKy8qIExPTk1JWCAqLworU05EX1NPQ19EQVBNX01JWEVSKCJMT05NSVgiLCBXTTg5OTBfUE9XRVJfTUFOQUdFTUVOVF8zLCBXTTg5OTBfTE9OX0VOQV9CSVQsIDAsCisJJndtODk5MF9kYXBtX2xvbm1peF9jb250cm9sc1swXSwKKwlBUlJBWV9TSVpFKHdtODk5MF9kYXBtX2xvbm1peF9jb250cm9scykpLAorCisvKiBMT1BNSVggKi8KK1NORF9TT0NfREFQTV9NSVhFUigiTE9QTUlYIiwgV004OTkwX1BPV0VSX01BTkFHRU1FTlRfMywgV004OTkwX0xPUF9FTkFfQklULCAwLAorCSZ3bTg5OTBfZGFwbV9sb3BtaXhfY29udHJvbHNbMF0sCisJQVJSQVlfU0laRSh3bTg5OTBfZGFwbV9sb3BtaXhfY29udHJvbHMpKSwKKworLyogT1VUM01JWCAqLworU05EX1NPQ19EQVBNX01JWEVSKCJPVVQzTUlYIiwgV004OTkwX1BPV0VSX01BTkFHRU1FTlRfMSwgV004OTkwX09VVDNfRU5BX0JJVCwgMCwKKwkmd204OTkwX2RhcG1fb3V0M21peF9jb250cm9sc1swXSwKKwlBUlJBWV9TSVpFKHdtODk5MF9kYXBtX291dDNtaXhfY29udHJvbHMpKSwKKworLyogU1BLTUlYICovCitTTkRfU09DX0RBUE1fTUlYRVJfRSgiU1BLTUlYIiwgV004OTkwX1BPV0VSX01BTkFHRU1FTlRfMSwgV004OTkwX1NQS19FTkFfQklULCAwLAorCSZ3bTg5OTBfZGFwbV9zcGttaXhfY29udHJvbHNbMF0sCisJQVJSQVlfU0laRSh3bTg5OTBfZGFwbV9zcGttaXhfY29udHJvbHMpLCBvdXRtaXhlcl9ldmVudCwKKwlTTkRfU09DX0RBUE1fUFJFX1JFRyksCisKKy8qIE9VVDRNSVggKi8KK1NORF9TT0NfREFQTV9NSVhFUigiT1VUNE1JWCIsIFdNODk5MF9QT1dFUl9NQU5BR0VNRU5UXzEsIFdNODk5MF9PVVQ0X0VOQV9CSVQsIDAsCisJJndtODk5MF9kYXBtX291dDRtaXhfY29udHJvbHNbMF0sCisJQVJSQVlfU0laRSh3bTg5OTBfZGFwbV9vdXQ0bWl4X2NvbnRyb2xzKSksCisKKy8qIFJPUE1JWCAqLworU05EX1NPQ19EQVBNX01JWEVSKCJST1BNSVgiLCBXTTg5OTBfUE9XRVJfTUFOQUdFTUVOVF8zLCBXTTg5OTBfUk9QX0VOQV9CSVQsIDAsCisJJndtODk5MF9kYXBtX3JvcG1peF9jb250cm9sc1swXSwKKwlBUlJBWV9TSVpFKHdtODk5MF9kYXBtX3JvcG1peF9jb250cm9scykpLAorCisvKiBST05NSVggKi8KK1NORF9TT0NfREFQTV9NSVhFUigiUk9OTUlYIiwgV004OTkwX1BPV0VSX01BTkFHRU1FTlRfMywgV004OTkwX1JPTl9FTkFfQklULCAwLAorCSZ3bTg5OTBfZGFwbV9yb25taXhfY29udHJvbHNbMF0sCisJQVJSQVlfU0laRSh3bTg5OTBfZGFwbV9yb25taXhfY29udHJvbHMpKSwKKworLyogUk9NSVggKi8KK1NORF9TT0NfREFQTV9NSVhFUl9FKCJST01JWCIsIFdNODk5MF9QT1dFUl9NQU5BR0VNRU5UXzMsIFdNODk5MF9ST01JWF9FTkFfQklULAorCTAsICZ3bTg5OTBfZGFwbV9yb21peF9jb250cm9sc1swXSwKKwlBUlJBWV9TSVpFKHdtODk5MF9kYXBtX3JvbWl4X2NvbnRyb2xzKSwKKwlvdXRtaXhlcl9ldmVudCwgU05EX1NPQ19EQVBNX1BSRV9SRUcpLAorCisvKiBMT1VUIFBHQSAqLworU05EX1NPQ19EQVBNX1BHQSgiTE9VVCBQR0EiLCBXTTg5OTBfUE9XRVJfTUFOQUdFTUVOVF8xLCBXTTg5OTBfTE9VVF9FTkFfQklULCAwLAorCU5VTEwsIDApLAorCisvKiBST1VUIFBHQSAqLworU05EX1NPQ19EQVBNX1BHQSgiUk9VVCBQR0EiLCBXTTg5OTBfUE9XRVJfTUFOQUdFTUVOVF8xLCBXTTg5OTBfUk9VVF9FTkFfQklULCAwLAorCU5VTEwsIDApLAorCisvKiBMT1BHQSAqLworU05EX1NPQ19EQVBNX1BHQSgiTE9QR0EiLCBXTTg5OTBfUE9XRVJfTUFOQUdFTUVOVF8zLCBXTTg5OTBfTE9QR0FfRU5BX0JJVCwgMCwKKwlOVUxMLCAwKSwKKworLyogUk9QR0EgKi8KK1NORF9TT0NfREFQTV9QR0EoIlJPUEdBIiwgV004OTkwX1BPV0VSX01BTkFHRU1FTlRfMywgV004OTkwX1JPUEdBX0VOQV9CSVQsIDAsCisJTlVMTCwgMCksCisKKy8qIE1JQ0JJQVMgKi8KK1NORF9TT0NfREFQTV9NSUNCSUFTKCJNSUNCSUFTIiwgV004OTkwX1BPV0VSX01BTkFHRU1FTlRfMSwKKwlXTTg5OTBfTUlDQklBU19FTkFfQklULCAwKSwKKworU05EX1NPQ19EQVBNX09VVFBVVCgiTE9OIiksCitTTkRfU09DX0RBUE1fT1VUUFVUKCJMT1AiKSwKK1NORF9TT0NfREFQTV9PVVRQVVQoIk9VVDMiKSwKK1NORF9TT0NfREFQTV9PVVRQVVQoIkxPVVQiKSwKK1NORF9TT0NfREFQTV9PVVRQVVQoIlNQS04iKSwKK1NORF9TT0NfREFQTV9PVVRQVVQoIlNQS1AiKSwKK1NORF9TT0NfREFQTV9PVVRQVVQoIlJPVVQiKSwKK1NORF9TT0NfREFQTV9PVVRQVVQoIk9VVDQiKSwKK1NORF9TT0NfREFQTV9PVVRQVVQoIlJPUCIpLAorU05EX1NPQ19EQVBNX09VVFBVVCgiUk9OIiksCisKK1NORF9TT0NfREFQTV9PVVRQVVQoIkludGVybmFsIERBQyBTaW5rIiksCit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9zb2NfZGFwbV9yb3V0ZSBhdWRpb19tYXBbXSA9IHsKKwkvKiBNYWtlIERBQ3MgdHVybiBvbiB3aGVuIHBsYXlpbmcgZXZlbiBpZiBub3QgbWl4ZWQgaW50byBhbnkgb3V0cHV0cyAqLworCXsiSW50ZXJuYWwgREFDIFNpbmsiLCBOVUxMLCAiTGVmdCBEQUMifSwKKwl7IkludGVybmFsIERBQyBTaW5rIiwgTlVMTCwgIlJpZ2h0IERBQyJ9LAorCisJLyogTWFrZSBBRENzIHR1cm4gb24gd2hlbiByZWNvcmRpbmcgZXZlbiBpZiBub3QgbWl4ZWQgZnJvbSBhbnkgaW5wdXRzICovCisJeyJMZWZ0IEFEQyIsIE5VTEwsICJJbnRlcm5hbCBBREMgU291cmNlIn0sCisJeyJSaWdodCBBREMiLCBOVUxMLCAiSW50ZXJuYWwgQURDIFNvdXJjZSJ9LAorCisJLyogSW5wdXQgU2lkZSAqLworCS8qIExJTjEyIFBHQSAqLworCXsiTElOMTIgUEdBIiwgIkxJTjEgU3dpdGNoIiwgIkxJTjEifSwKKwl7IkxJTjEyIFBHQSIsICJMSU4yIFN3aXRjaCIsICJMSU4yIn0sCisJLyogTElOMzQgUEdBICovCisJeyJMSU4zNCBQR0EiLCAiTElOMyBTd2l0Y2giLCAiTElOMyJ9LAorCXsiTElOMzQgUEdBIiwgIkxJTjQgU3dpdGNoIiwgIkxJTjQifSwKKwkvKiBJTk1JWEwgKi8KKwl7IklOTUlYTCIsICJSZWNvcmQgTGVmdCBWb2x1bWUiLCAiTE9NSVgifSwKKwl7IklOTUlYTCIsICJMSU4yIFZvbHVtZSIsICJMSU4yIn0sCisJeyJJTk1JWEwiLCAiTElOUEdBMTIgU3dpdGNoIiwgIkxJTjEyIFBHQSJ9LAorCXsiSU5NSVhMIiwgIkxJTlBHQTM0IFN3aXRjaCIsICJMSU4zNCBQR0EifSwKKwkvKiBBSUxOTVVYICovCisJeyJBSUxOTVVYIiwgIklOTUlYTCBNaXgiLCAiSU5NSVhMIn0sCisJeyJBSUxOTVVYIiwgIkRJRkZJTkwgTWl4IiwgIkxJTjEyUEdBIn0sCisJeyJBSUxOTVVYIiwgIkRJRkZJTkwgTWl4IiwgIkxJTjM0UEdBIn0sCisJeyJBSUxOTVVYIiwgIlJYVk9JQ0UgTWl4IiwgIkxJTjQvUlhOIn0sCisJeyJBSUxOTVVYIiwgIlJYVk9JQ0UgTWl4IiwgIlJJTjQvUlhQIn0sCisJLyogQURDICovCisJeyJMZWZ0IEFEQyIsIE5VTEwsICJBSUxOTVVYIn0sCisKKwkvKiBSSU4xMiBQR0EgKi8KKwl7IlJJTjEyIFBHQSIsICJSSU4xIFN3aXRjaCIsICJSSU4xIn0sCisJeyJSSU4xMiBQR0EiLCAiUklOMiBTd2l0Y2giLCAiUklOMiJ9LAorCS8qIFJJTjM0IFBHQSAqLworCXsiUklOMzQgUEdBIiwgIlJJTjMgU3dpdGNoIiwgIlJJTjMifSwKKwl7IlJJTjM0IFBHQSIsICJSSU40IFN3aXRjaCIsICJSSU40In0sCisJLyogSU5NSVhMICovCisJeyJJTk1JWFIiLCAiUmVjb3JkIFJpZ2h0IFZvbHVtZSIsICJST01JWCJ9LAorCXsiSU5NSVhSIiwgIlJJTjIgVm9sdW1lIiwgIlJJTjIifSwKKwl7IklOTUlYUiIsICJSSU5QR0ExMiBTd2l0Y2giLCAiUklOMTIgUEdBIn0sCisJeyJJTk1JWFIiLCAiUklOUEdBMzQgU3dpdGNoIiwgIlJJTjM0IFBHQSJ9LAorCS8qIEFJUk5NVVggKi8KKwl7IkFJUk5NVVgiLCAiSU5NSVhSIE1peCIsICJJTk1JWFIifSwKKwl7IkFJUk5NVVgiLCAiRElGRklOUiBNaXgiLCAiUklOMTJQR0EifSwKKwl7IkFJUk5NVVgiLCAiRElGRklOUiBNaXgiLCAiUklOMzRQR0EifSwKKwl7IkFJUk5NVVgiLCAiUlhWT0lDRSBNaXgiLCAiUklONC9SWE4ifSwKKwl7IkFJUk5NVVgiLCAiUlhWT0lDRSBNaXgiLCAiUklONC9SWFAifSwKKwkvKiBBREMgKi8KKwl7IlJpZ2h0IEFEQyIsIE5VTEwsICJBSVJOTVVYIn0sCisKKwkvKiBMT01JWCAqLworCXsiTE9NSVgiLCAiTE9NSVggUklOMyBCeXBhc3MgU3dpdGNoIiwgIlJJTjMifSwKKwl7IkxPTUlYIiwgIkxPTUlYIExJTjMgQnlwYXNzIFN3aXRjaCIsICJMSU4zIn0sCisJeyJMT01JWCIsICJMT01JWCBMSU4xMiBQR0EgQnlwYXNzIFN3aXRjaCIsICJMSU4xMiBQR0EifSwKKwl7IkxPTUlYIiwgIkxPTUlYIFJJTjEyIFBHQSBCeXBhc3MgU3dpdGNoIiwgIlJJTjEyIFBHQSJ9LAorCXsiTE9NSVgiLCAiTE9NSVggUmlnaHQgQURDIEJ5cGFzcyBTd2l0Y2giLCAiQUlOUk1VWCJ9LAorCXsiTE9NSVgiLCAiTE9NSVggTGVmdCBBREMgQnlwYXNzIFN3aXRjaCIsICJBSU5MTVVYIn0sCisJeyJMT01JWCIsICJMT01JWCBMZWZ0IERBQyBTd2l0Y2giLCAiTGVmdCBEQUMifSwKKworCS8qIFJPTUlYICovCisJeyJST01JWCIsICJST01JWCBSSU4zIEJ5cGFzcyBTd2l0Y2giLCAiUklOMyJ9LAorCXsiUk9NSVgiLCAiUk9NSVggTElOMyBCeXBhc3MgU3dpdGNoIiwgIkxJTjMifSwKKwl7IlJPTUlYIiwgIlJPTUlYIExJTjEyIFBHQSBCeXBhc3MgU3dpdGNoIiwgIkxJTjEyIFBHQSJ9LAorCXsiUk9NSVgiLCAiUk9NSVggUklOMTIgUEdBIEJ5cGFzcyBTd2l0Y2giLCAiUklOMTIgUEdBIn0sCisJeyJST01JWCIsICJST01JWCBSaWdodCBBREMgQnlwYXNzIFN3aXRjaCIsICJBSU5STVVYIn0sCisJeyJST01JWCIsICJST01JWCBMZWZ0IEFEQyBCeXBhc3MgU3dpdGNoIiwgIkFJTkxNVVgifSwKKwl7IlJPTUlYIiwgIlJPTUlYIFJpZ2h0IERBQyBTd2l0Y2giLCAiUmlnaHQgREFDIn0sCisKKwkvKiBTUEtNSVggKi8KKwl7IlNQS01JWCIsICJTUEtNSVggTElOMiBCeXBhc3MgU3dpdGNoIiwgIkxJTjIifSwKKwl7IlNQS01JWCIsICJTUEtNSVggUklOMiBCeXBhc3MgU3dpdGNoIiwgIlJJTjIifSwKKwl7IlNQS01JWCIsICJTUEtNSVggTEFEQyBCeXBhc3MgU3dpdGNoIiwgIkFJTkxNVVgifSwKKwl7IlNQS01JWCIsICJTUEtNSVggUkFEQyBCeXBhc3MgU3dpdGNoIiwgIkFJTlJNVVgifSwKKwl7IlNQS01JWCIsICJTUEtNSVggTGVmdCBNaXhlciBQR0EgU3dpdGNoIiwgIkxPUEdBIn0sCisJeyJTUEtNSVgiLCAiU1BLTUlYIFJpZ2h0IE1peGVyIFBHQSBTd2l0Y2giLCAiUk9QR0EifSwKKwl7IlNQS01JWCIsICJTUEtNSVggUmlnaHQgREFDIFN3aXRjaCIsICJSaWdodCBEQUMifSwKKwl7IlNQS01JWCIsICJTUEtNSVggTGVmdCBEQUMgU3dpdGNoIiwgIlJpZ2h0IERBQyJ9LAorCisJLyogTE9OTUlYICovCisJeyJMT05NSVgiLCAiTE9OTUlYIExlZnQgTWl4ZXIgUEdBIFN3aXRjaCIsICJMT1BHQSJ9LAorCXsiTE9OTUlYIiwgIkxPTk1JWCBSaWdodCBNaXhlciBQR0EgU3dpdGNoIiwgIlJPUEdBIn0sCisJeyJMT05NSVgiLCAiTE9OTUlYIEludmVydGVkIExPUCBTd2l0Y2giLCAiTE9QTUlYIn0sCisKKwkvKiBMT1BNSVggKi8KKwl7IkxPUE1JWCIsICJMT1BNSVggUmlnaHQgTWljIEJ5cGFzcyBTd2l0Y2giLCAiUklOMTIgUEdBIn0sCisJeyJMT1BNSVgiLCAiTE9QTUlYIExlZnQgTWljIEJ5cGFzcyBTd2l0Y2giLCAiTElOMTIgUEdBIn0sCisJeyJMT1BNSVgiLCAiTE9QTUlYIExlZnQgTWl4ZXIgUEdBIFN3aXRjaCIsICJMT1BHQSJ9LAorCisJLyogT1VUM01JWCAqLworCXsiT1VUM01JWCIsICJPVVQzTUlYIExJTjQvUlhQIEJ5cGFzcyBTd2l0Y2giLCAiTElONC9SWFAifSwKKwl7Ik9VVDNNSVgiLCAiT1VUM01JWCBMZWZ0IE91dCBQR0EgU3dpdGNoIiwgIkxPUEdBIn0sCisKKwkvKiBPVVQ0TUlYICovCisJeyJPVVQ0TUlYIiwgIk9VVDRNSVggUmlnaHQgT3V0IFBHQSBTd2l0Y2giLCAiUk9QR0EifSwKKwl7Ik9VVDRNSVgiLCAiT1VUNE1JWCBSSU40L1JYUCBCeXBhc3MgU3dpdGNoIiwgIlJJTjQvUlhQIn0sCisKKwkvKiBST05NSVggKi8KKwl7IlJPTk1JWCIsICJST05NSVggUmlnaHQgTWl4ZXIgUEdBIFN3aXRjaCIsICJST1BHQSJ9LAorCXsiUk9OTUlYIiwgIlJPTk1JWCBMZWZ0IE1peGVyIFBHQSBTd2l0Y2giLCAiTE9QR0EifSwKKwl7IlJPTk1JWCIsICJST05NSVggSW52ZXJ0ZWQgUk9QIFN3aXRjaCIsICJST1BNSVgifSwKKworCS8qIFJPUE1JWCAqLworCXsiUk9QTUlYIiwgIlJPUE1JWCBMZWZ0IE1pYyBCeXBhc3MgU3dpdGNoIiwgIkxJTjEyIFBHQSJ9LAorCXsiUk9QTUlYIiwgIlJPUE1JWCBSaWdodCBNaWMgQnlwYXNzIFN3aXRjaCIsICJSSU4xMiBQR0EifSwKKwl7IlJPUE1JWCIsICJST1BNSVggUmlnaHQgTWl4ZXIgUEdBIFN3aXRjaCIsICJST1BHQSJ9LAorCisJLyogT3V0IE1peGVyIFBHQXMgKi8KKwl7IkxPUEdBIiwgTlVMTCwgIkxPTUlYIn0sCisJeyJST1BHQSIsIE5VTEwsICJST01JWCJ9LAorCisJeyJMT1VUIFBHQSIsIE5VTEwsICJMT01JWCJ9LAorCXsiUk9VVCBQR0EiLCBOVUxMLCAiUk9NSVgifSwKKworCS8qIE91dHB1dCBQaW5zICovCisJeyJMT04iLCBOVUxMLCAiTE9OTUlYIn0sCisJeyJMT1AiLCBOVUxMLCAiTE9QTUlYIn0sCisJeyJPVVQiLCBOVUxMLCAiT1VUM01JWCJ9LAorCXsiTE9VVCIsIE5VTEwsICJMT1VUIFBHQSJ9LAorCXsiU1BLTiIsIE5VTEwsICJTUEtNSVgifSwKKwl7IlJPVVQiLCBOVUxMLCAiUk9VVCBQR0EifSwKKwl7Ik9VVDQiLCBOVUxMLCAiT1VUNE1JWCJ9LAorCXsiUk9QIiwgTlVMTCwgIlJPUE1JWCJ9LAorCXsiUk9OIiwgTlVMTCwgIlJPTk1JWCJ9LAorfTsKKworc3RhdGljIGludCB3bTg5OTBfYWRkX3dpZGdldHMoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjKQoreworCXNuZF9zb2NfZGFwbV9uZXdfY29udHJvbHMoY29kZWMsIHdtODk5MF9kYXBtX3dpZGdldHMsCisJCQkJICBBUlJBWV9TSVpFKHdtODk5MF9kYXBtX3dpZGdldHMpKTsKKworCS8qIHNldCB1cCB0aGUgV004OTkwIGF1ZGlvIG1hcCAqLworCXNuZF9zb2NfZGFwbV9hZGRfcm91dGVzKGNvZGVjLCBhdWRpb19tYXAsIEFSUkFZX1NJWkUoYXVkaW9fbWFwKSk7CisKKwlzbmRfc29jX2RhcG1fbmV3X3dpZGdldHMoY29kZWMpOworCXJldHVybiAwOworfQorCisvKiBQTEwgZGl2aXNvcnMgKi8KK3N0cnVjdCBfcGxsX2RpdiB7CisJdTMyIGRpdjI7CisJdTMyIG47CisJdTMyIGs7Cit9OworCisvKiBUaGUgc2l6ZSBpbiBiaXRzIG9mIHRoZSBwbGwgZGl2aWRlIG11bHRpcGxpZWQgYnkgMTAKKyAqIHRvIGFsbG93IHJvdW5kaW5nIGxhdGVyICovCisjZGVmaW5lIEZJWEVEX1BMTF9TSVpFICgoMSA8PCAxNikgKiAxMCkKKworc3RhdGljIHZvaWQgcGxsX2ZhY3RvcnMoc3RydWN0IF9wbGxfZGl2ICpwbGxfZGl2LCB1bnNpZ25lZCBpbnQgdGFyZ2V0LAorCXVuc2lnbmVkIGludCBzb3VyY2UpCit7CisJdTY0IEtwYXJ0OworCXVuc2lnbmVkIGludCBLLCBOZGl2LCBObW9kOworCisKKwlOZGl2ID0gdGFyZ2V0IC8gc291cmNlOworCWlmIChOZGl2IDwgNikgeworCQlzb3VyY2UgPj49IDE7CisJCXBsbF9kaXYtPmRpdjIgPSAxOworCQlOZGl2ID0gdGFyZ2V0IC8gc291cmNlOworCX0gZWxzZQorCQlwbGxfZGl2LT5kaXYyID0gMDsKKworCWlmICgoTmRpdiA8IDYpIHx8IChOZGl2ID4gMTIpKQorCQlwcmludGsoS0VSTl9XQVJOSU5HCisJCSJXTTg5OTAgTiB2YWx1ZSBvdXR3aXRoIHJlY29tbWVuZGVkIHJhbmdlISBOID0gJWRcbiIsIE5kaXYpOworCisJcGxsX2Rpdi0+biA9IE5kaXY7CisJTm1vZCA9IHRhcmdldCAlIHNvdXJjZTsKKwlLcGFydCA9IEZJWEVEX1BMTF9TSVpFICogKGxvbmcgbG9uZylObW9kOworCisJZG9fZGl2KEtwYXJ0LCBzb3VyY2UpOworCisJSyA9IEtwYXJ0ICYgMHhGRkZGRkZGRjsKKworCS8qIENoZWNrIGlmIHdlIG5lZWQgdG8gcm91bmQgKi8KKwlpZiAoKEsgJSAxMCkgPj0gNSkKKwkJSyArPSA1OworCisJLyogTW92ZSBkb3duIHRvIHByb3BlciByYW5nZSBub3cgcm91bmRpbmcgaXMgZG9uZSAqLworCUsgLz0gMTA7CisKKwlwbGxfZGl2LT5rID0gSzsKK30KKworc3RhdGljIGludCB3bTg5OTBfc2V0X2RhaV9wbGwoc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWksCisJCWludCBwbGxfaWQsIHVuc2lnbmVkIGludCBmcmVxX2luLCB1bnNpZ25lZCBpbnQgZnJlcV9vdXQpCit7CisJdTE2IHJlZzsKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBjb2RlY19kYWktPmNvZGVjOworCXN0cnVjdCBfcGxsX2RpdiBwbGxfZGl2OworCisJaWYgKGZyZXFfaW4gJiYgZnJlcV9vdXQpIHsKKwkJcGxsX2ZhY3RvcnMoJnBsbF9kaXYsIGZyZXFfb3V0ICogNCwgZnJlcV9pbik7CisKKwkJLyogVHVybiBvbiBQTEwgKi8KKwkJcmVnID0gd204OTkwX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBXTTg5OTBfUE9XRVJfTUFOQUdFTUVOVF8yKTsKKwkJcmVnIHw9IFdNODk5MF9QTExfRU5BOworCQl3bTg5OTBfd3JpdGUoY29kZWMsIFdNODk5MF9QT1dFUl9NQU5BR0VNRU5UXzIsIHJlZyk7CisKKwkJLyogc3lzY2xrIGNvbWVzIGZyb20gUExMICovCisJCXJlZyA9IHdtODk5MF9yZWFkX3JlZ19jYWNoZShjb2RlYywgV004OTkwX0NMT0NLSU5HXzIpOworCQl3bTg5OTBfd3JpdGUoY29kZWMsIFdNODk5MF9DTE9DS0lOR18yLCByZWcgfCBXTTg5OTBfU1lTQ0xLX1NSQyk7CisKKwkJLyogc2V0IHVwIE4gLCBmcmFjdGlvbmFsIG1vZGUgYW5kIHByZS1kaXZpc29yIGlmIG5lY2Nlc3NhcnkgKi8KKwkJd204OTkwX3dyaXRlKGNvZGVjLCBXTTg5OTBfUExMMSwgcGxsX2Rpdi5uIHwgV004OTkwX1NETSB8CisJCQkocGxsX2Rpdi5kaXYyP1dNODk5MF9QUkVTQ0FMRTowKSk7CisJCXdtODk5MF93cml0ZShjb2RlYywgV004OTkwX1BMTDIsICh1OCkocGxsX2Rpdi5rPj44KSk7CisJCXdtODk5MF93cml0ZShjb2RlYywgV004OTkwX1BMTDMsICh1OCkocGxsX2Rpdi5rICYgMHhGRikpOworCX0gZWxzZSB7CisJCS8qIFR1cm4gb24gUExMICovCisJCXJlZyA9IHdtODk5MF9yZWFkX3JlZ19jYWNoZShjb2RlYywgV004OTkwX1BPV0VSX01BTkFHRU1FTlRfMik7CisJCXJlZyAmPSB+V004OTkwX1BMTF9FTkE7CisJCXdtODk5MF93cml0ZShjb2RlYywgV004OTkwX1BPV0VSX01BTkFHRU1FTlRfMiwgcmVnKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBDbG9jayBhZnRlciBQTEwgYW5kIGRpdmlkZXJzCisgKi8KK3N0YXRpYyBpbnQgd204OTkwX3NldF9kYWlfc3lzY2xrKHN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpLAorCQlpbnQgY2xrX2lkLCB1bnNpZ25lZCBpbnQgZnJlcSwgaW50IGRpcikKK3sKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBjb2RlY19kYWktPmNvZGVjOworCXN0cnVjdCB3bTg5OTBfcHJpdiAqd204OTkwID0gY29kZWMtPnByaXZhdGVfZGF0YTsKKworCXdtODk5MC0+c3lzY2xrID0gZnJlcTsKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIFNldCdzIEFEQyBhbmQgVm9pY2UgREFDIGZvcm1hdC4KKyAqLworc3RhdGljIGludCB3bTg5OTBfc2V0X2RhaV9mbXQoc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWksCisJCXVuc2lnbmVkIGludCBmbXQpCit7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gY29kZWNfZGFpLT5jb2RlYzsKKwl1MTYgYXVkaW8xLCBhdWRpbzM7CisKKwlhdWRpbzEgPSB3bTg5OTBfcmVhZF9yZWdfY2FjaGUoY29kZWMsIFdNODk5MF9BVURJT19JTlRFUkZBQ0VfMSk7CisJYXVkaW8zID0gd204OTkwX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBXTTg5OTBfQVVESU9fSU5URVJGQUNFXzMpOworCisJLyogc2V0IG1hc3Rlci9zbGF2ZSBhdWRpbyBpbnRlcmZhY2UgKi8KKwlzd2l0Y2ggKGZtdCAmIFNORF9TT0NfREFJRk1UX01BU1RFUl9NQVNLKSB7CisJY2FzZSBTTkRfU09DX0RBSUZNVF9DQlNfQ0ZTOgorCQlhdWRpbzMgJj0gfldNODk5MF9BSUZfTVNUUjE7CisJCWJyZWFrOworCWNhc2UgU05EX1NPQ19EQUlGTVRfQ0JNX0NGTToKKwkJYXVkaW8zIHw9IFdNODk5MF9BSUZfTVNUUjE7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCWF1ZGlvMSAmPSB+V004OTkwX0FJRl9GTVRfTUFTSzsKKworCS8qIGludGVyZmFjZSBmb3JtYXQgKi8KKwlzd2l0Y2ggKGZtdCAmIFNORF9TT0NfREFJRk1UX0ZPUk1BVF9NQVNLKSB7CisJY2FzZSBTTkRfU09DX0RBSUZNVF9JMlM6CisJCWF1ZGlvMSB8PSBXTTg5OTBfQUlGX1RNRl9JMlM7CisJCWF1ZGlvMSAmPSB+V004OTkwX0FJRl9MUkNMS19JTlY7CisJCWJyZWFrOworCWNhc2UgU05EX1NPQ19EQUlGTVRfUklHSFRfSjoKKwkJYXVkaW8xIHw9IFdNODk5MF9BSUZfVE1GX1JJR0hUSjsKKwkJYXVkaW8xICY9IH5XTTg5OTBfQUlGX0xSQ0xLX0lOVjsKKwkJYnJlYWs7CisJY2FzZSBTTkRfU09DX0RBSUZNVF9MRUZUX0o6CisJCWF1ZGlvMSB8PSBXTTg5OTBfQUlGX1RNRl9MRUZUSjsKKwkJYXVkaW8xICY9IH5XTTg5OTBfQUlGX0xSQ0xLX0lOVjsKKwkJYnJlYWs7CisJY2FzZSBTTkRfU09DX0RBSUZNVF9EU1BfQToKKwkJYXVkaW8xIHw9IFdNODk5MF9BSUZfVE1GX0RTUDsKKwkJYXVkaW8xICY9IH5XTTg5OTBfQUlGX0xSQ0xLX0lOVjsKKwkJYnJlYWs7CisJY2FzZSBTTkRfU09DX0RBSUZNVF9EU1BfQjoKKwkJYXVkaW8xIHw9IFdNODk5MF9BSUZfVE1GX0RTUCB8IFdNODk5MF9BSUZfTFJDTEtfSU5WOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwl3bTg5OTBfd3JpdGUoY29kZWMsIFdNODk5MF9BVURJT19JTlRFUkZBQ0VfMSwgYXVkaW8xKTsKKwl3bTg5OTBfd3JpdGUoY29kZWMsIFdNODk5MF9BVURJT19JTlRFUkZBQ0VfMywgYXVkaW8zKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCB3bTg5OTBfc2V0X2RhaV9jbGtkaXYoc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWksCisJCWludCBkaXZfaWQsIGludCBkaXYpCit7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gY29kZWNfZGFpLT5jb2RlYzsKKwl1MTYgcmVnOworCisJc3dpdGNoIChkaXZfaWQpIHsKKwljYXNlIFdNODk5MF9NQ0xLX0RJVjoKKwkJcmVnID0gd204OTkwX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBXTTg5OTBfQ0xPQ0tJTkdfMikgJgorCQkJfldNODk5MF9NQ0xLX0RJVl9NQVNLOworCQl3bTg5OTBfd3JpdGUoY29kZWMsIFdNODk5MF9DTE9DS0lOR18yLCByZWcgfCBkaXYpOworCQlicmVhazsKKwljYXNlIFdNODk5MF9EQUNDTEtfRElWOgorCQlyZWcgPSB3bTg5OTBfcmVhZF9yZWdfY2FjaGUoY29kZWMsIFdNODk5MF9DTE9DS0lOR18yKSAmCisJCQl+V004OTkwX0RBQ19DTEtESVZfTUFTSzsKKwkJd204OTkwX3dyaXRlKGNvZGVjLCBXTTg5OTBfQ0xPQ0tJTkdfMiwgcmVnIHwgZGl2KTsKKwkJYnJlYWs7CisJY2FzZSBXTTg5OTBfQURDQ0xLX0RJVjoKKwkJcmVnID0gd204OTkwX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBXTTg5OTBfQ0xPQ0tJTkdfMikgJgorCQkJfldNODk5MF9BRENfQ0xLRElWX01BU0s7CisJCXdtODk5MF93cml0ZShjb2RlYywgV004OTkwX0NMT0NLSU5HXzIsIHJlZyB8IGRpdik7CisJCWJyZWFrOworCWNhc2UgV004OTkwX0JDTEtfRElWOgorCQlyZWcgPSB3bTg5OTBfcmVhZF9yZWdfY2FjaGUoY29kZWMsIFdNODk5MF9DTE9DS0lOR18xKSAmCisJCQl+V004OTkwX0JDTEtfRElWX01BU0s7CisJCXdtODk5MF93cml0ZShjb2RlYywgV004OTkwX0NMT0NLSU5HXzEsIHJlZyB8IGRpdik7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCXJldHVybiAwOworfQorCisvKgorICogU2V0IFBDTSBEQUkgYml0IHNpemUgYW5kIHNhbXBsZSByYXRlLgorICovCitzdGF0aWMgaW50IHdtODk5MF9od19wYXJhbXMoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0sCisJc3RydWN0IHNuZF9wY21faHdfcGFyYW1zICpwYXJhbXMpCit7CisJc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRpbWUgKnJ0ZCA9IHN1YnN0cmVhbS0+cHJpdmF0ZV9kYXRhOworCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gcnRkLT5zb2NkZXY7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc29jZGV2LT5jb2RlYzsKKwl1MTYgYXVkaW8xID0gd204OTkwX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBXTTg5OTBfQVVESU9fSU5URVJGQUNFXzEpOworCisJYXVkaW8xICY9IH5XTTg5OTBfQUlGX1dMX01BU0s7CisJLyogYml0IHNpemUgKi8KKwlzd2l0Y2ggKHBhcmFtc19mb3JtYXQocGFyYW1zKSkgeworCWNhc2UgU05EUlZfUENNX0ZPUk1BVF9TMTZfTEU6CisJCWJyZWFrOworCWNhc2UgU05EUlZfUENNX0ZPUk1BVF9TMjBfM0xFOgorCQlhdWRpbzEgfD0gV004OTkwX0FJRl9XTF8yMEJJVFM7CisJCWJyZWFrOworCWNhc2UgU05EUlZfUENNX0ZPUk1BVF9TMjRfTEU6CisJCWF1ZGlvMSB8PSBXTTg5OTBfQUlGX1dMXzI0QklUUzsKKwkJYnJlYWs7CisJY2FzZSBTTkRSVl9QQ01fRk9STUFUX1MzMl9MRToKKwkJYXVkaW8xIHw9IFdNODk5MF9BSUZfV0xfMzJCSVRTOworCQlicmVhazsKKwl9CisKKwl3bTg5OTBfd3JpdGUoY29kZWMsIFdNODk5MF9BVURJT19JTlRFUkZBQ0VfMSwgYXVkaW8xKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCB3bTg5OTBfbXV0ZShzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSwgaW50IG11dGUpCit7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gZGFpLT5jb2RlYzsKKwl1MTYgdmFsOworCisJdmFsICA9IHdtODk5MF9yZWFkX3JlZ19jYWNoZShjb2RlYywgV004OTkwX0RBQ19DVFJMKSAmIH5XTTg5OTBfREFDX01VVEU7CisKKwlpZiAobXV0ZSkKKwkJd204OTkwX3dyaXRlKGNvZGVjLCBXTTg5OTBfREFDX0NUUkwsIHZhbCB8IFdNODk5MF9EQUNfTVVURSk7CisJZWxzZQorCQl3bTg5OTBfd3JpdGUoY29kZWMsIFdNODk5MF9EQUNfQ1RSTCwgdmFsKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHdtODk5MF9zZXRfYmlhc19sZXZlbChzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsCisJZW51bSBzbmRfc29jX2JpYXNfbGV2ZWwgbGV2ZWwpCit7CisJdTE2IHZhbDsKKworCXN3aXRjaCAobGV2ZWwpIHsKKwljYXNlIFNORF9TT0NfQklBU19PTjoKKwkJYnJlYWs7CisJY2FzZSBTTkRfU09DX0JJQVNfUFJFUEFSRToKKwkJYnJlYWs7CisJY2FzZSBTTkRfU09DX0JJQVNfU1RBTkRCWToKKwkJaWYgKGNvZGVjLT5iaWFzX2xldmVsID09IFNORF9TT0NfQklBU19PRkYpIHsKKwkJCS8qIEVuYWJsZSBhbGwgb3V0cHV0IGRpc2NoYXJnZSBiaXRzICovCisJCQl3bTg5OTBfd3JpdGUoY29kZWMsIFdNODk5MF9BTlRJUE9QMSwgV004OTkwX0RJU19MTElORSB8CisJCQkJV004OTkwX0RJU19STElORSB8IFdNODk5MF9ESVNfT1VUMyB8CisJCQkJV004OTkwX0RJU19PVVQ0IHwgV004OTkwX0RJU19MT1VUIHwKKwkJCQlXTTg5OTBfRElTX1JPVVQpOworCisJCQkvKiBFbmFibGUgUE9CQ1RSTCwgU09GVF9TVCwgVk1JRFRPRyBhbmQgQlVGRENPUEVOICovCisJCQl3bTg5OTBfd3JpdGUoY29kZWMsIFdNODk5MF9BTlRJUE9QMiwgV004OTkwX1NPRlRTVCB8CisJCQkJICAgICBXTTg5OTBfQlVGRENPUEVOIHwgV004OTkwX1BPQkNUUkwgfAorCQkJCSAgICAgV004OTkwX1ZNSURUT0cpOworCisJCQkvKiBEZWxheSB0byBhbGxvdyBvdXRwdXQgY2FwcyB0byBkaXNjaGFyZ2UgKi8KKwkJCW1zbGVlcChtc2Vjc190b19qaWZmaWVzKDMwMCkpOworCisJCQkvKiBEaXNhYmxlIFZNSURUT0cgKi8KKwkJCXdtODk5MF93cml0ZShjb2RlYywgV004OTkwX0FOVElQT1AyLCBXTTg5OTBfU09GVFNUIHwKKwkJCQkgICAgIFdNODk5MF9CVUZEQ09QRU4gfCBXTTg5OTBfUE9CQ1RSTCk7CisKKwkJCS8qIGRpc2FibGUgYWxsIG91dHB1dCBkaXNjaGFyZ2UgYml0cyAqLworCQkJd204OTkwX3dyaXRlKGNvZGVjLCBXTTg5OTBfQU5USVBPUDEsIDApOworCisJCQkvKiBFbmFibGUgb3V0cHV0cyAqLworCQkJd204OTkwX3dyaXRlKGNvZGVjLCBXTTg5OTBfUE9XRVJfTUFOQUdFTUVOVF8xLCAweDFiMDApOworCisJCQltc2xlZXAobXNlY3NfdG9famlmZmllcyg1MCkpOworCisJCQkvKiBFbmFibGUgVk1JRCBhdCAyeDUwayAqLworCQkJd204OTkwX3dyaXRlKGNvZGVjLCBXTTg5OTBfUE9XRVJfTUFOQUdFTUVOVF8xLCAweDFmMDIpOworCisJCQltc2xlZXAobXNlY3NfdG9famlmZmllcygxMDApKTsKKworCQkJLyogRW5hYmxlIFZSRUYgKi8KKwkJCXdtODk5MF93cml0ZShjb2RlYywgV004OTkwX1BPV0VSX01BTkFHRU1FTlRfMSwgMHgxZjAzKTsKKworCQkJbXNsZWVwKG1zZWNzX3RvX2ppZmZpZXMoNjAwKSk7CisKKwkJCS8qIEVuYWJsZSBCVUZJT0VOICovCisJCQl3bTg5OTBfd3JpdGUoY29kZWMsIFdNODk5MF9BTlRJUE9QMiwgV004OTkwX1NPRlRTVCB8CisJCQkJICAgICBXTTg5OTBfQlVGRENPUEVOIHwgV004OTkwX1BPQkNUUkwgfAorCQkJCSAgICAgV004OTkwX0JVRklPRU4pOworCisJCQkvKiBEaXNhYmxlIG91dHB1dHMgKi8KKwkJCXdtODk5MF93cml0ZShjb2RlYywgV004OTkwX1BPV0VSX01BTkFHRU1FTlRfMSwgMHgzKTsKKworCQkJLyogZGlzYWJsZSBQT0JDVFJMLCBTT0ZUX1NUIGFuZCBCVUZEQ09QRU4gKi8KKwkJCXdtODk5MF93cml0ZShjb2RlYywgV004OTkwX0FOVElQT1AyLCBXTTg5OTBfQlVGSU9FTik7CisJCX0gZWxzZSB7CisJCQkvKiBPTiAtPiBzdGFuZGJ5ICovCisKKwkJfQorCQlicmVhazsKKworCWNhc2UgU05EX1NPQ19CSUFTX09GRjoKKwkJLyogRW5hYmxlIFBPQkNUUkwgYW5kIFNPRlRfU1QgKi8KKwkJd204OTkwX3dyaXRlKGNvZGVjLCBXTTg5OTBfQU5USVBPUDIsIFdNODk5MF9TT0ZUU1QgfAorCQkJV004OTkwX1BPQkNUUkwgfCBXTTg5OTBfQlVGSU9FTik7CisKKwkJLyogRW5hYmxlIFBPQkNUUkwsIFNPRlRfU1QgYW5kIEJVRkRDT1BFTiAqLworCQl3bTg5OTBfd3JpdGUoY29kZWMsIFdNODk5MF9BTlRJUE9QMiwgV004OTkwX1NPRlRTVCB8CisJCQlXTTg5OTBfQlVGRENPUEVOIHwgV004OTkwX1BPQkNUUkwgfAorCQkJV004OTkwX0JVRklPRU4pOworCisJCS8qIG11dGUgREFDICovCisJCXZhbCA9IHdtODk5MF9yZWFkX3JlZ19jYWNoZShjb2RlYywgV004OTkwX0RBQ19DVFJMKTsKKwkJd204OTkwX3dyaXRlKGNvZGVjLCBXTTg5OTBfREFDX0NUUkwsIHZhbCB8IFdNODk5MF9EQUNfTVVURSk7CisKKwkJLyogRW5hYmxlIGFueSBkaXNhYmxlZCBvdXRwdXRzICovCisJCXdtODk5MF93cml0ZShjb2RlYywgV004OTkwX1BPV0VSX01BTkFHRU1FTlRfMSwgMHgxZjAzKTsKKworCQkvKiBEaXNhYmxlIFZNSUQgKi8KKwkJd204OTkwX3dyaXRlKGNvZGVjLCBXTTg5OTBfUE9XRVJfTUFOQUdFTUVOVF8xLCAweDFmMDEpOworCisJCW1zbGVlcChtc2Vjc190b19qaWZmaWVzKDMwMCkpOworCisJCS8qIEVuYWJsZSBhbGwgb3V0cHV0IGRpc2NoYXJnZSBiaXRzICovCisJCXdtODk5MF93cml0ZShjb2RlYywgV004OTkwX0FOVElQT1AxLCBXTTg5OTBfRElTX0xMSU5FIHwKKwkJCVdNODk5MF9ESVNfUkxJTkUgfCBXTTg5OTBfRElTX09VVDMgfAorCQkJV004OTkwX0RJU19PVVQ0IHwgV004OTkwX0RJU19MT1VUIHwKKwkJCVdNODk5MF9ESVNfUk9VVCk7CisKKwkJLyogRGlzYWJsZSBWUkVGICovCisJCXdtODk5MF93cml0ZShjb2RlYywgV004OTkwX1BPV0VSX01BTkFHRU1FTlRfMSwgMHgwKTsKKworCQkvKiBkaXNhYmxlIFBPQkNUUkwsIFNPRlRfU1QgYW5kIEJVRkRDT1BFTiAqLworCQl3bTg5OTBfd3JpdGUoY29kZWMsIFdNODk5MF9BTlRJUE9QMiwgMHgwKTsKKwkJYnJlYWs7CisJfQorCisJY29kZWMtPmJpYXNfbGV2ZWwgPSBsZXZlbDsKKwlyZXR1cm4gMDsKK30KKworI2RlZmluZSBXTTg5OTBfUkFURVMgKFNORFJWX1BDTV9SQVRFXzgwMDAgfCBTTkRSVl9QQ01fUkFURV8xMTAyNSB8XAorCVNORFJWX1BDTV9SQVRFXzE2MDAwIHwgU05EUlZfUENNX1JBVEVfMjIwNTAgfCBTTkRSVl9QQ01fUkFURV80NDEwMCB8IFwKKwlTTkRSVl9QQ01fUkFURV80ODAwMCkKKworI2RlZmluZSBXTTg5OTBfRk9STUFUUyAoU05EUlZfUENNX0ZNVEJJVF9TMTZfTEUgfCBTTkRSVl9QQ01fRk1UQklUX1MyMF8zTEUgfFwKKwlTTkRSVl9QQ01fRk1UQklUX1MyNF9MRSB8IFNORFJWX1BDTV9GTVRCSVRfUzMyX0xFKQorCisvKgorICogVGhlIFdNODk5MCBzdXBwb3J0cyAyIGRpZmZlcmVudCBhbmQgbXV0dWFsbHkgZXhjbHVzaXZlIERBSQorICogY29uZmlndXJhdGlvbnMuCisgKgorICogMS4gQURDL0RBQyBvbiBQcmltYXJ5IEludGVyZmFjZQorICogMi4gQURDIG9uIFByaW1hcnkgSW50ZXJmYWNlL0RBQyBvbiBzZWNvbmRhcnkKKyAqLworc3RydWN0IHNuZF9zb2NfZGFpIHdtODk5MF9kYWkgPSB7CisvKiBBREMvREFDIG9uIHByaW1hcnkgKi8KKwkubmFtZSA9ICJXTTg5OTAgQURDL0RBQyBQcmltYXJ5IiwKKwkuaWQgPSAxLAorCS5wbGF5YmFjayA9IHsKKwkJLnN0cmVhbV9uYW1lID0gIlBsYXliYWNrIiwKKwkJLmNoYW5uZWxzX21pbiA9IDEsCisJCS5jaGFubmVsc19tYXggPSAyLAorCQkucmF0ZXMgPSBXTTg5OTBfUkFURVMsCisJCS5mb3JtYXRzID0gV004OTkwX0ZPUk1BVFMsfSwKKwkuY2FwdHVyZSA9IHsKKwkJLnN0cmVhbV9uYW1lID0gIkNhcHR1cmUiLAorCQkuY2hhbm5lbHNfbWluID0gMSwKKwkJLmNoYW5uZWxzX21heCA9IDIsCisJCS5yYXRlcyA9IFdNODk5MF9SQVRFUywKKwkJLmZvcm1hdHMgPSBXTTg5OTBfRk9STUFUUyx9LAorCS5vcHMgPSB7CisJCS5od19wYXJhbXMgPSB3bTg5OTBfaHdfcGFyYW1zLH0sCisJLmRhaV9vcHMgPSB7CisJCS5kaWdpdGFsX211dGUgPSB3bTg5OTBfbXV0ZSwKKwkJLnNldF9mbXQgPSB3bTg5OTBfc2V0X2RhaV9mbXQsCisJCS5zZXRfY2xrZGl2ID0gd204OTkwX3NldF9kYWlfY2xrZGl2LAorCQkuc2V0X3BsbCA9IHdtODk5MF9zZXRfZGFpX3BsbCwKKwkJLnNldF9zeXNjbGsgPSB3bTg5OTBfc2V0X2RhaV9zeXNjbGssCisJfSwKK307CitFWFBPUlRfU1lNQk9MX0dQTCh3bTg5OTBfZGFpKTsKKworc3RhdGljIGludCB3bTg5OTBfc3VzcGVuZChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LCBwbV9tZXNzYWdlX3Qgc3RhdGUpCit7CisJc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzb2NkZXYtPmNvZGVjOworCisJLyogd2Ugb25seSBuZWVkIHRvIHN1c3BlbmQgaWYgd2UgYXJlIGEgdmFsaWQgY2FyZCAqLworCWlmICghY29kZWMtPmNhcmQpCisJCXJldHVybiAwOworCisJd204OTkwX3NldF9iaWFzX2xldmVsKGNvZGVjLCBTTkRfU09DX0JJQVNfT0ZGKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCB3bTg5OTBfcmVzdW1lKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzb2NkZXYtPmNvZGVjOworCWludCBpOworCXU4IGRhdGFbMl07CisJdTE2ICpjYWNoZSA9IGNvZGVjLT5yZWdfY2FjaGU7CisKKwkvKiB3ZSBvbmx5IG5lZWQgdG8gcmVzdW1lIGlmIHdlIGFyZSBhIHZhbGlkIGNhcmQgKi8KKwlpZiAoIWNvZGVjLT5jYXJkKQorCQlyZXR1cm4gMDsKKworCS8qIFN5bmMgcmVnX2NhY2hlIHdpdGggdGhlIGhhcmR3YXJlICovCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUod204OTkwX3JlZyk7IGkrKykgeworCQlpZiAoaSArIDEgPT0gV004OTkwX1JFU0VUKQorCQkJY29udGludWU7CisJCWRhdGFbMF0gPSAoKGkgKyAxKSA8PCAxKSB8ICgoY2FjaGVbaV0gPj4gOCkgJiAweDAwMDEpOworCQlkYXRhWzFdID0gY2FjaGVbaV0gJiAweDAwZmY7CisJCWNvZGVjLT5od193cml0ZShjb2RlYy0+Y29udHJvbF9kYXRhLCBkYXRhLCAyKTsKKwl9CisKKwl3bTg5OTBfc2V0X2JpYXNfbGV2ZWwoY29kZWMsIFNORF9TT0NfQklBU19TVEFOREJZKTsKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIGluaXRpYWxpc2UgdGhlIFdNODk5MCBkcml2ZXIKKyAqIHJlZ2lzdGVyIHRoZSBtaXhlciBhbmQgZHNwIGludGVyZmFjZXMgd2l0aCB0aGUga2VybmVsCisgKi8KK3N0YXRpYyBpbnQgd204OTkwX2luaXQoc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYpCit7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc29jZGV2LT5jb2RlYzsKKwl1MTYgcmVnOworCWludCByZXQgPSAwOworCisJY29kZWMtPm5hbWUgPSAiV004OTkwIjsKKwljb2RlYy0+b3duZXIgPSBUSElTX01PRFVMRTsKKwljb2RlYy0+cmVhZCA9IHdtODk5MF9yZWFkX3JlZ19jYWNoZTsKKwljb2RlYy0+d3JpdGUgPSB3bTg5OTBfd3JpdGU7CisJY29kZWMtPnNldF9iaWFzX2xldmVsID0gd204OTkwX3NldF9iaWFzX2xldmVsOworCWNvZGVjLT5kYWkgPSAmd204OTkwX2RhaTsKKwljb2RlYy0+bnVtX2RhaSA9IDI7CisJY29kZWMtPnJlZ19jYWNoZV9zaXplID0gQVJSQVlfU0laRSh3bTg5OTBfcmVnKTsKKwljb2RlYy0+cmVnX2NhY2hlID0ga21lbWR1cCh3bTg5OTBfcmVnLCBzaXplb2Yod204OTkwX3JlZyksIEdGUF9LRVJORUwpOworCisJaWYgKGNvZGVjLT5yZWdfY2FjaGUgPT0gTlVMTCkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwl3bTg5OTBfcmVzZXQoY29kZWMpOworCisJLyogcmVnaXN0ZXIgcGNtcyAqLworCXJldCA9IHNuZF9zb2NfbmV3X3BjbXMoc29jZGV2LCBTTkRSVl9ERUZBVUxUX0lEWDEsIFNORFJWX0RFRkFVTFRfU1RSMSk7CisJaWYgKHJldCA8IDApIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJ3bTg5OTA6IGZhaWxlZCB0byBjcmVhdGUgcGNtc1xuIik7CisJCWdvdG8gcGNtX2VycjsKKwl9CisKKwkvKiBjaGFyZ2Ugb3V0cHV0IGNhcHMgKi8KKwljb2RlYy0+Ymlhc19sZXZlbCA9IFNORF9TT0NfQklBU19PRkY7CisJd204OTkwX3NldF9iaWFzX2xldmVsKGNvZGVjLCBTTkRfU09DX0JJQVNfU1RBTkRCWSk7CisKKwlyZWcgPSB3bTg5OTBfcmVhZF9yZWdfY2FjaGUoY29kZWMsIFdNODk5MF9BVURJT19JTlRFUkZBQ0VfNCk7CisJd204OTkwX3dyaXRlKGNvZGVjLCBXTTg5OTBfQVVESU9fSU5URVJGQUNFXzQsIHJlZyB8IFdNODk5MF9BTFJDR1BJTzEpOworCisJcmVnID0gd204OTkwX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBXTTg5OTBfR1BJTzFfR1BJTzIpICYKKwkJfldNODk5MF9HUElPMV9TRUxfTUFTSzsKKwl3bTg5OTBfd3JpdGUoY29kZWMsIFdNODk5MF9HUElPMV9HUElPMiwgcmVnIHwgMSk7CisKKwlyZWcgPSB3bTg5OTBfcmVhZF9yZWdfY2FjaGUoY29kZWMsIFdNODk5MF9QT1dFUl9NQU5BR0VNRU5UXzIpOworCXdtODk5MF93cml0ZShjb2RlYywgV004OTkwX1BPV0VSX01BTkFHRU1FTlRfMiwgcmVnIHwgV004OTkwX09QQ0xLX0VOQSk7CisKKwl3bTg5OTBfd3JpdGUoY29kZWMsIFdNODk5MF9MRUZUX09VVFBVVF9WT0xVTUUsIDB4NTAgfCAoMTw8OCkpOworCXdtODk5MF93cml0ZShjb2RlYywgV004OTkwX1JJR0hUX09VVFBVVF9WT0xVTUUsIDB4NTAgfCAoMTw8OCkpOworCisJd204OTkwX2FkZF9jb250cm9scyhjb2RlYyk7CisJd204OTkwX2FkZF93aWRnZXRzKGNvZGVjKTsKKwlyZXQgPSBzbmRfc29jX3JlZ2lzdGVyX2NhcmQoc29jZGV2KTsKKwlpZiAocmV0IDwgMCkgeworCQlwcmludGsoS0VSTl9FUlIgIndtODk5MDogZmFpbGVkIHRvIHJlZ2lzdGVyIGNhcmRcbiIpOworCQlnb3RvIGNhcmRfZXJyOworCX0KKwlyZXR1cm4gcmV0OworCitjYXJkX2VycjoKKwlzbmRfc29jX2ZyZWVfcGNtcyhzb2NkZXYpOworCXNuZF9zb2NfZGFwbV9mcmVlKHNvY2Rldik7CitwY21fZXJyOgorCWtmcmVlKGNvZGVjLT5yZWdfY2FjaGUpOworCXJldHVybiByZXQ7Cit9CisKKy8qIElmIHRoZSBpMmMgbGF5ZXIgd2VyZW4ndCBzbyBicm9rZW4sIHdlIGNvdWxkIHBhc3MgdGhpcyBraW5kIG9mIGRhdGEKKyAgIGFyb3VuZCAqLworc3RhdGljIHN0cnVjdCBzbmRfc29jX2RldmljZSAqd204OTkwX3NvY2RldjsKKworI2lmIGRlZmluZWQoQ09ORklHX0kyQykgfHwgZGVmaW5lZChDT05GSUdfSTJDX01PRFVMRSkKKworLyoKKyAqIFdNODkxIDIgd2lyZSBhZGRyZXNzIGlzIGRldGVybWluZWQgYnkgR1BJTzUKKyAqIHN0YXRlIGR1cmluZyBwb3dlcnVwLgorICogICAgbG93ICA9IDB4MzQKKyAqICAgIGhpZ2ggPSAweDM2CisgKi8KK3N0YXRpYyB1bnNpZ25lZCBzaG9ydCBub3JtYWxfaTJjW10gPSB7IDAsIEkyQ19DTElFTlRfRU5EIH07CisKKy8qIE1hZ2ljIGRlZmluaXRpb24gb2YgYWxsIG90aGVyIHZhcmlhYmxlcyBhbmQgdGhpbmdzICovCitJMkNfQ0xJRU5UX0lOU01PRDsKKworc3RhdGljIHN0cnVjdCBpMmNfZHJpdmVyIHdtODk5MF9pMmNfZHJpdmVyOworc3RhdGljIHN0cnVjdCBpMmNfY2xpZW50IGNsaWVudF90ZW1wbGF0ZTsKKworc3RhdGljIGludCB3bTg5OTBfY29kZWNfcHJvYmUoc3RydWN0IGkyY19hZGFwdGVyICphZGFwLCBpbnQgYWRkciwgaW50IGtpbmQpCit7CisJc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYgPSB3bTg5OTBfc29jZGV2OworCXN0cnVjdCB3bTg5OTBfc2V0dXBfZGF0YSAqc2V0dXAgPSBzb2NkZXYtPmNvZGVjX2RhdGE7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc29jZGV2LT5jb2RlYzsKKwlzdHJ1Y3QgaTJjX2NsaWVudCAqaTJjOworCWludCByZXQ7CisKKwlpZiAoYWRkciAhPSBzZXR1cC0+aTJjX2FkZHJlc3MpCisJCXJldHVybiAtRU5PREVWOworCisJY2xpZW50X3RlbXBsYXRlLmFkYXB0ZXIgPSBhZGFwOworCWNsaWVudF90ZW1wbGF0ZS5hZGRyID0gYWRkcjsKKworCWkyYyA9ICBrbWVtZHVwKCZjbGllbnRfdGVtcGxhdGUsIHNpemVvZihjbGllbnRfdGVtcGxhdGUpLCBHRlBfS0VSTkVMKTsKKwlpZiAoaTJjID09IE5VTEwpIHsKKwkJa2ZyZWUoY29kZWMpOworCQlyZXR1cm4gLUVOT01FTTsKKwl9CisJaTJjX3NldF9jbGllbnRkYXRhKGkyYywgY29kZWMpOworCWNvZGVjLT5jb250cm9sX2RhdGEgPSBpMmM7CisKKwlyZXQgPSBpMmNfYXR0YWNoX2NsaWVudChpMmMpOworCWlmIChyZXQgPCAwKSB7CisJCXByX2VycigiZmFpbGVkIHRvIGF0dGFjaCBjb2RlYyBhdCBhZGRyICV4XG4iLCBhZGRyKTsKKwkJZ290byBlcnI7CisJfQorCisJcmV0ID0gd204OTkwX2luaXQoc29jZGV2KTsKKwlpZiAocmV0IDwgMCkgeworCQlwcl9lcnIoImZhaWxlZCB0byBpbml0aWFsaXNlIFdNODk5MFxuIik7CisJCWdvdG8gZXJyOworCX0KKwlyZXR1cm4gcmV0OworCitlcnI6CisJa2ZyZWUoY29kZWMpOworCWtmcmVlKGkyYyk7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCB3bTg5OTBfaTJjX2RldGFjaChzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQoreworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOworCWkyY19kZXRhY2hfY2xpZW50KGNsaWVudCk7CisJa2ZyZWUoY29kZWMtPnJlZ19jYWNoZSk7CisJa2ZyZWUoY2xpZW50KTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCB3bTg5OTBfaTJjX2F0dGFjaChzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXApCit7CisJcmV0dXJuIGkyY19wcm9iZShhZGFwLCAmYWRkcl9kYXRhLCB3bTg5OTBfY29kZWNfcHJvYmUpOworfQorCitzdGF0aWMgc3RydWN0IGkyY19kcml2ZXIgd204OTkwX2kyY19kcml2ZXIgPSB7CisJLmRyaXZlciA9IHsKKwkJLm5hbWUgPSAiV004OTkwIEkyQyBDb2RlYyIsCisJCS5vd25lciA9IFRISVNfTU9EVUxFLAorCX0sCisJLmF0dGFjaF9hZGFwdGVyID0gd204OTkwX2kyY19hdHRhY2gsCisJLmRldGFjaF9jbGllbnQgPSAgd204OTkwX2kyY19kZXRhY2gsCisJLmNvbW1hbmQgPSAgICAgICAgTlVMTCwKK307CisKK3N0YXRpYyBzdHJ1Y3QgaTJjX2NsaWVudCBjbGllbnRfdGVtcGxhdGUgPSB7CisJLm5hbWUgPSAgICJXTTg5OTAiLAorCS5kcml2ZXIgPSAmd204OTkwX2kyY19kcml2ZXIsCit9OworI2VuZGlmCisKK3N0YXRpYyBpbnQgd204OTkwX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKKwlzdHJ1Y3Qgd204OTkwX3NldHVwX2RhdGEgKnNldHVwOworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYzsKKwlzdHJ1Y3Qgd204OTkwX3ByaXYgKndtODk5MDsKKwlpbnQgcmV0ID0gMDsKKworCXByX2luZm8oIldNODk5MCBBdWRpbyBDb2RlYyAlc1xuIiwgV004OTkwX1ZFUlNJT04pOworCisJc2V0dXAgPSBzb2NkZXYtPmNvZGVjX2RhdGE7CisJY29kZWMgPSBremFsbG9jKHNpemVvZihzdHJ1Y3Qgc25kX3NvY19jb2RlYyksIEdGUF9LRVJORUwpOworCWlmIChjb2RlYyA9PSBOVUxMKQorCQlyZXR1cm4gLUVOT01FTTsKKworCXdtODk5MCA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCB3bTg5OTBfcHJpdiksIEdGUF9LRVJORUwpOworCWlmICh3bTg5OTAgPT0gTlVMTCkgeworCQlrZnJlZShjb2RlYyk7CisJCXJldHVybiAtRU5PTUVNOworCX0KKworCWNvZGVjLT5wcml2YXRlX2RhdGEgPSB3bTg5OTA7CisJc29jZGV2LT5jb2RlYyA9IGNvZGVjOworCW11dGV4X2luaXQoJmNvZGVjLT5tdXRleCk7CisJSU5JVF9MSVNUX0hFQUQoJmNvZGVjLT5kYXBtX3dpZGdldHMpOworCUlOSVRfTElTVF9IRUFEKCZjb2RlYy0+ZGFwbV9wYXRocyk7CisJd204OTkwX3NvY2RldiA9IHNvY2RldjsKKworI2lmIGRlZmluZWQoQ09ORklHX0kyQykgfHwgZGVmaW5lZChDT05GSUdfSTJDX01PRFVMRSkKKwlpZiAoc2V0dXAtPmkyY19hZGRyZXNzKSB7CisJCW5vcm1hbF9pMmNbMF0gPSBzZXR1cC0+aTJjX2FkZHJlc3M7CisJCWNvZGVjLT5od193cml0ZSA9IChod193cml0ZV90KWkyY19tYXN0ZXJfc2VuZDsKKwkJcmV0ID0gaTJjX2FkZF9kcml2ZXIoJndtODk5MF9pMmNfZHJpdmVyKTsKKwkJaWYgKHJldCAhPSAwKQorCQkJcHJpbnRrKEtFUk5fRVJSICJjYW4ndCBhZGQgaTJjIGRyaXZlciIpOworCX0KKyNlbHNlCisJCS8qIEFkZCBvdGhlciBpbnRlcmZhY2VzIGhlcmUgKi8KKyNlbmRpZgorCXJldHVybiByZXQ7Cit9CisKKy8qIHBvd2VyIGRvd24gY2hpcCAqLworc3RhdGljIGludCB3bTg5OTBfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzb2NkZXYtPmNvZGVjOworCisJaWYgKGNvZGVjLT5jb250cm9sX2RhdGEpCisJCXdtODk5MF9zZXRfYmlhc19sZXZlbChjb2RlYywgU05EX1NPQ19CSUFTX09GRik7CisJc25kX3NvY19mcmVlX3BjbXMoc29jZGV2KTsKKwlzbmRfc29jX2RhcG1fZnJlZShzb2NkZXYpOworI2lmIGRlZmluZWQoQ09ORklHX0kyQykgfHwgZGVmaW5lZChDT05GSUdfSTJDX01PRFVMRSkKKwlpMmNfZGVsX2RyaXZlcigmd204OTkwX2kyY19kcml2ZXIpOworI2VuZGlmCisJa2ZyZWUoY29kZWMtPnByaXZhdGVfZGF0YSk7CisJa2ZyZWUoY29kZWMpOworCisJcmV0dXJuIDA7Cit9CisKK3N0cnVjdCBzbmRfc29jX2NvZGVjX2RldmljZSBzb2NfY29kZWNfZGV2X3dtODk5MCA9IHsKKwkucHJvYmUgPQl3bTg5OTBfcHJvYmUsCisJLnJlbW92ZSA9CXdtODk5MF9yZW1vdmUsCisJLnN1c3BlbmQgPQl3bTg5OTBfc3VzcGVuZCwKKwkucmVzdW1lID0Jd204OTkwX3Jlc3VtZSwKK307CitFWFBPUlRfU1lNQk9MX0dQTChzb2NfY29kZWNfZGV2X3dtODk5MCk7CisKK01PRFVMRV9ERVNDUklQVElPTigiQVNvQyBXTTg5OTAgZHJpdmVyIik7CitNT0RVTEVfQVVUSE9SKCJMaWFtIEdpcmR3b29kIik7CitNT0RVTEVfTElDRU5TRSgiR1BMIik7CmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvY29kZWNzL3dtODk5MC5oIGIvc291bmQvc29jL2NvZGVjcy93bTg5OTAuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YmVhNTc0Ci0tLSAvZGV2L251bGwKKysrIGIvc291bmQvc29jL2NvZGVjcy93bTg5OTAuaApAQCAtMCwwICsxLDgzMiBAQAorLyoKKyAqIHdtODk5MC5oICAtLSAgYXVkaW8gZHJpdmVyIGZvciBXTTg5OTAKKyAqCisgKiBDb3B5cmlnaHQgMjAwNyBXb2xmc29uIE1pY3JvZWxlY3Ryb25pY3MgUExDLgorICogQXV0aG9yOiBHcmFlbWUgR3JlZ29yeQorICogICAgICAgICBncmFlbWUuZ3JlZ29yeUB3b2xmc29ubWljcm8uY29tIG9yIGxpbnV4QHdvbGZzb25taWNyby5jb20KKyAqCisgKiAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlICBpdCBhbmQvb3IgbW9kaWZ5IGl0CisgKiAgdW5kZXIgIHRoZSB0ZXJtcyBvZiAgdGhlIEdOVSBHZW5lcmFsICBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlCisgKiAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyAgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgIExpY2Vuc2UsIG9yIChhdCB5b3VyCisgKiAgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKi8KKworI2lmbmRlZiBfX1dNODk5MFJFR0lTVEVSREVGU19IX18KKyNkZWZpbmUgX19XTTg5OTBSRUdJU1RFUkRFRlNfSF9fCisKKy8qCisgKiBSZWdpc3RlciB2YWx1ZXMuCisgKi8KKyNkZWZpbmUgV004OTkwX1JFU0VUICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAKKyNkZWZpbmUgV004OTkwX1BPV0VSX01BTkFHRU1FTlRfMSAgICAgICAgICAgICAgIDB4MDEKKyNkZWZpbmUgV004OTkwX1BPV0VSX01BTkFHRU1FTlRfMiAgICAgICAgICAgICAgIDB4MDIKKyNkZWZpbmUgV004OTkwX1BPV0VSX01BTkFHRU1FTlRfMyAgICAgICAgICAgICAgIDB4MDMKKyNkZWZpbmUgV004OTkwX0FVRElPX0lOVEVSRkFDRV8xICAgICAgICAgICAgICAgIDB4MDQKKyNkZWZpbmUgV004OTkwX0FVRElPX0lOVEVSRkFDRV8yICAgICAgICAgICAgICAgIDB4MDUKKyNkZWZpbmUgV004OTkwX0NMT0NLSU5HXzEgICAgICAgICAgICAgICAgICAgICAgIDB4MDYKKyNkZWZpbmUgV004OTkwX0NMT0NLSU5HXzIgICAgICAgICAgICAgICAgICAgICAgIDB4MDcKKyNkZWZpbmUgV004OTkwX0FVRElPX0lOVEVSRkFDRV8zICAgICAgICAgICAgICAgIDB4MDgKKyNkZWZpbmUgV004OTkwX0FVRElPX0lOVEVSRkFDRV80ICAgICAgICAgICAgICAgIDB4MDkKKyNkZWZpbmUgV004OTkwX0RBQ19DVFJMICAgICAgICAgICAgICAgICAgICAgICAgIDB4MEEKKyNkZWZpbmUgV004OTkwX0xFRlRfREFDX0RJR0lUQUxfVk9MVU1FICAgICAgICAgIDB4MEIKKyNkZWZpbmUgV004OTkwX1JJR0hUX0RBQ19ESUdJVEFMX1ZPTFVNRSAgICAgICAgIDB4MEMKKyNkZWZpbmUgV004OTkwX0RJR0lUQUxfU0lERV9UT05FICAgICAgICAgICAgICAgIDB4MEQKKyNkZWZpbmUgV004OTkwX0FEQ19DVFJMICAgICAgICAgICAgICAgICAgICAgICAgIDB4MEUKKyNkZWZpbmUgV004OTkwX0xFRlRfQURDX0RJR0lUQUxfVk9MVU1FICAgICAgICAgIDB4MEYKKyNkZWZpbmUgV004OTkwX1JJR0hUX0FEQ19ESUdJVEFMX1ZPTFVNRSAgICAgICAgIDB4MTAKKyNkZWZpbmUgV004OTkwX0dQSU9fQ1RSTF8xICAgICAgICAgICAgICAgICAgICAgIDB4MTIKKyNkZWZpbmUgV004OTkwX0dQSU8xX0dQSU8yICAgICAgICAgICAgICAgICAgICAgIDB4MTMKKyNkZWZpbmUgV004OTkwX0dQSU8zX0dQSU80ICAgICAgICAgICAgICAgICAgICAgIDB4MTQKKyNkZWZpbmUgV004OTkwX0dQSU81X0dQSU82ICAgICAgICAgICAgICAgICAgICAgIDB4MTUKKyNkZWZpbmUgV004OTkwX0dQSU9DVFJMXzIgICAgICAgICAgICAgICAgICAgICAgIDB4MTYKKyNkZWZpbmUgV004OTkwX0dQSU9fUE9MICAgICAgICAgICAgICAgICAgICAgICAgIDB4MTcKKyNkZWZpbmUgV004OTkwX0xFRlRfTElORV9JTlBVVF8xXzJfVk9MVU1FICAgICAgIDB4MTgKKyNkZWZpbmUgV004OTkwX0xFRlRfTElORV9JTlBVVF8zXzRfVk9MVU1FICAgICAgIDB4MTkKKyNkZWZpbmUgV004OTkwX1JJR0hUX0xJTkVfSU5QVVRfMV8yX1ZPTFVNRSAgICAgIDB4MUEKKyNkZWZpbmUgV004OTkwX1JJR0hUX0xJTkVfSU5QVVRfM180X1ZPTFVNRSAgICAgIDB4MUIKKyNkZWZpbmUgV004OTkwX0xFRlRfT1VUUFVUX1ZPTFVNRSAgICAgICAgICAgICAgIDB4MUMKKyNkZWZpbmUgV004OTkwX1JJR0hUX09VVFBVVF9WT0xVTUUgICAgICAgICAgICAgIDB4MUQKKyNkZWZpbmUgV004OTkwX0xJTkVfT1VUUFVUU19WT0xVTUUgICAgICAgICAgICAgIDB4MUUKKyNkZWZpbmUgV004OTkwX09VVDNfNF9WT0xVTUUgICAgICAgICAgICAgICAgICAgIDB4MUYKKyNkZWZpbmUgV004OTkwX0xFRlRfT1BHQV9WT0xVTUUgICAgICAgICAgICAgICAgIDB4MjAKKyNkZWZpbmUgV004OTkwX1JJR0hUX09QR0FfVk9MVU1FICAgICAgICAgICAgICAgIDB4MjEKKyNkZWZpbmUgV004OTkwX1NQRUFLRVJfVk9MVU1FICAgICAgICAgICAgICAgICAgIDB4MjIKKyNkZWZpbmUgV004OTkwX0NMQVNTRDEgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MjMKKyNkZWZpbmUgV004OTkwX0NMQVNTRDMgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MjUKKyNkZWZpbmUgV004OTkwX0lOUFVUX01JWEVSMSAgICAgICAgICAgICAgICAgICAgIDB4MjcKKyNkZWZpbmUgV004OTkwX0lOUFVUX01JWEVSMiAgICAgICAgICAgICAgICAgICAgIDB4MjgKKyNkZWZpbmUgV004OTkwX0lOUFVUX01JWEVSMyAgICAgICAgICAgICAgICAgICAgIDB4MjkKKyNkZWZpbmUgV004OTkwX0lOUFVUX01JWEVSNCAgICAgICAgICAgICAgICAgICAgIDB4MkEKKyNkZWZpbmUgV004OTkwX0lOUFVUX01JWEVSNSAgICAgICAgICAgICAgICAgICAgIDB4MkIKKyNkZWZpbmUgV004OTkwX0lOUFVUX01JWEVSNiAgICAgICAgICAgICAgICAgICAgIDB4MkMKKyNkZWZpbmUgV004OTkwX09VVFBVVF9NSVhFUjEgICAgICAgICAgICAgICAgICAgIDB4MkQKKyNkZWZpbmUgV004OTkwX09VVFBVVF9NSVhFUjIgICAgICAgICAgICAgICAgICAgIDB4MkUKKyNkZWZpbmUgV004OTkwX09VVFBVVF9NSVhFUjMgICAgICAgICAgICAgICAgICAgIDB4MkYKKyNkZWZpbmUgV004OTkwX09VVFBVVF9NSVhFUjQgICAgICAgICAgICAgICAgICAgIDB4MzAKKyNkZWZpbmUgV004OTkwX09VVFBVVF9NSVhFUjUgICAgICAgICAgICAgICAgICAgIDB4MzEKKyNkZWZpbmUgV004OTkwX09VVFBVVF9NSVhFUjYgICAgICAgICAgICAgICAgICAgIDB4MzIKKyNkZWZpbmUgV004OTkwX09VVDNfNF9NSVhFUiAgICAgICAgICAgICAgICAgICAgIDB4MzMKKyNkZWZpbmUgV004OTkwX0xJTkVfTUlYRVIxICAgICAgICAgICAgICAgICAgICAgIDB4MzQKKyNkZWZpbmUgV004OTkwX0xJTkVfTUlYRVIyICAgICAgICAgICAgICAgICAgICAgIDB4MzUKKyNkZWZpbmUgV004OTkwX1NQRUFLRVJfTUlYRVIgICAgICAgICAgICAgICAgICAgIDB4MzYKKyNkZWZpbmUgV004OTkwX0FERElUSU9OQUxfQ09OVFJPTCAgICAgICAgICAgICAgIDB4MzcKKyNkZWZpbmUgV004OTkwX0FOVElQT1AxICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzgKKyNkZWZpbmUgV004OTkwX0FOVElQT1AyICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzkKKyNkZWZpbmUgV004OTkwX01JQ0JJQVMgICAgICAgICAgICAgICAgICAgICAgICAgIDB4M0EKKyNkZWZpbmUgV004OTkwX1BMTDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4M0MKKyNkZWZpbmUgV004OTkwX1BMTDIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4M0QKKyNkZWZpbmUgV004OTkwX1BMTDMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4M0UKKyNkZWZpbmUgV004OTkwX0lOVERSSVZCSVRTCQkJMHgzRgorCisjZGVmaW5lIFdNODk5MF9SRUdJU1RFUl9DT1VOVCAgICAgICAgICAgICAgICAgICA2MAorI2RlZmluZSBXTTg5OTBfTUFYX1JFR0lTVEVSICAgICAgICAgICAgICAgICAgICAgMHgzRgorCisvKgorICogRmllbGQgRGVmaW5pdGlvbnMuCisgKi8KKworLyoKKyAqIFIwICgweDAwKSAtIFJlc2V0CisgKi8KKyNkZWZpbmUgV004OTkwX1NXX1JFU0VUX0NISVBfSURfTUFTSyAgICAgICAgICAgIDB4RkZGRiAgLyogU1dfUkVTRVRfQ0hJUF9JRCAqLworCisvKgorICogUjEgKDB4MDEpIC0gUG93ZXIgTWFuYWdlbWVudCAoMSkKKyAqLworI2RlZmluZSBXTTg5OTBfU1BLX0VOQSAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxMDAwICAvKiBTUEtfRU5BICovCisjZGVmaW5lIFdNODk5MF9TUEtfRU5BX0JJVAkJCTEyCisjZGVmaW5lIFdNODk5MF9PVVQzX0VOQSAgICAgICAgICAgICAgICAgICAgICAgICAweDA4MDAgIC8qIE9VVDNfRU5BICovCisjZGVmaW5lIFdNODk5MF9PVVQzX0VOQV9CSVQJCQkxMQorI2RlZmluZSBXTTg5OTBfT1VUNF9FTkEgICAgICAgICAgICAgICAgICAgICAgICAgMHgwNDAwICAvKiBPVVQ0X0VOQSAqLworI2RlZmluZSBXTTg5OTBfT1VUNF9FTkFfQklUCQkJMTAKKyNkZWZpbmUgV004OTkwX0xPVVRfRU5BICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDIwMCAgLyogTE9VVF9FTkEgKi8KKyNkZWZpbmUgV004OTkwX0xPVVRfRU5BX0JJVAkJCTkKKyNkZWZpbmUgV004OTkwX1JPVVRfRU5BICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEwMCAgLyogUk9VVF9FTkEgKi8KKyNkZWZpbmUgV004OTkwX1JPVVRfRU5BX0JJVAkJCTgKKyNkZWZpbmUgV004OTkwX01JQ0JJQVNfRU5BICAgICAgICAgICAgICAgICAgICAgIDB4MDAxMCAgLyogTUlDQklBU19FTkEgKi8KKyNkZWZpbmUgV004OTkwX01JQ0JJQVNfRU5BX0JJVAkJCTQKKyNkZWZpbmUgV004OTkwX1ZNSURfTU9ERV9NQVNLICAgICAgICAgICAgICAgICAgIDB4MDAwNiAgLyogVk1JRF9NT0RFIC0gWzI6MV0gKi8KKyNkZWZpbmUgV004OTkwX1ZSRUZfRU5BICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMSAgLyogVlJFRl9FTkEgKi8KKyNkZWZpbmUgV004OTkwX1ZSRUZfRU5BX0JJVAkJCTAKKworLyoKKyAqIFIyICgweDAyKSAtIFBvd2VyIE1hbmFnZW1lbnQgKDIpCisgKi8KKyNkZWZpbmUgV004OTkwX1BMTF9FTkEgICAgICAgICAgICAgICAgICAgICAgICAgIDB4ODAwMCAgLyogUExMX0VOQSAqLworI2RlZmluZSBXTTg5OTBfUExMX0VOQV9CSVQJCQkxNQorI2RlZmluZSBXTTg5OTBfVFNIVVRfRU5BICAgICAgICAgICAgICAgICAgICAgICAgMHg0MDAwICAvKiBUU0hVVF9FTkEgKi8KKyNkZWZpbmUgV004OTkwX1RTSFVUX0VOQV9CSVQJCQkxNAorI2RlZmluZSBXTTg5OTBfVFNIVVRfT1BESVMgICAgICAgICAgICAgICAgICAgICAgMHgyMDAwICAvKiBUU0hVVF9PUERJUyAqLworI2RlZmluZSBXTTg5OTBfVFNIVVRfT1BESVNfQklUCQkJMTMKKyNkZWZpbmUgV004OTkwX09QQ0xLX0VOQSAgICAgICAgICAgICAgICAgICAgICAgIDB4MDgwMCAgLyogT1BDTEtfRU5BICovCisjZGVmaW5lIFdNODk5MF9PUENMS19FTkFfQklUCQkJMTEKKyNkZWZpbmUgV004OTkwX0FJTkxfRU5BICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDIwMCAgLyogQUlOTF9FTkEgKi8KKyNkZWZpbmUgV004OTkwX0FJTkxfRU5BX0JJVAkJCTkKKyNkZWZpbmUgV004OTkwX0FJTlJfRU5BICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEwMCAgLyogQUlOUl9FTkEgKi8KKyNkZWZpbmUgV004OTkwX0FJTlJfRU5BX0JJVAkJCTgKKyNkZWZpbmUgV004OTkwX0xJTjM0X0VOQSAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA4MCAgLyogTElOMzRfRU5BICovCisjZGVmaW5lIFdNODk5MF9MSU4zNF9FTkFfQklUCQkJNworI2RlZmluZSBXTTg5OTBfTElOMTJfRU5BICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDQwICAvKiBMSU4xMl9FTkEgKi8KKyNkZWZpbmUgV004OTkwX0xJTjEyX0VOQV9CSVQJCQk2CisjZGVmaW5lIFdNODk5MF9SSU4zNF9FTkEgICAgICAgICAgICAgICAgICAgICAgICAweDAwMjAgIC8qIFJJTjM0X0VOQSAqLworI2RlZmluZSBXTTg5OTBfUklOMzRfRU5BX0JJVAkJCTUKKyNkZWZpbmUgV004OTkwX1JJTjEyX0VOQSAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAxMCAgLyogUklOMTJfRU5BICovCisjZGVmaW5lIFdNODk5MF9SSU4xMl9FTkFfQklUCQkJNAorI2RlZmluZSBXTTg5OTBfQURDTF9FTkEgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAyICAvKiBBRENMX0VOQSAqLworI2RlZmluZSBXTTg5OTBfQURDTF9FTkFfQklUCQkJMQorI2RlZmluZSBXTTg5OTBfQURDUl9FTkEgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAxICAvKiBBRENSX0VOQSAqLworI2RlZmluZSBXTTg5OTBfQURDUl9FTkFfQklUCQkJMAorCisvKgorICogUjMgKDB4MDMpIC0gUG93ZXIgTWFuYWdlbWVudCAoMykKKyAqLworI2RlZmluZSBXTTg5OTBfTE9OX0VOQSAgICAgICAgICAgICAgICAgICAgICAgICAgMHgyMDAwICAvKiBMT05fRU5BICovCisjZGVmaW5lIFdNODk5MF9MT05fRU5BX0JJVAkJCTEzCisjZGVmaW5lIFdNODk5MF9MT1BfRU5BICAgICAgICAgICAgICAgICAgICAgICAgICAweDEwMDAgIC8qIExPUF9FTkEgKi8KKyNkZWZpbmUgV004OTkwX0xPUF9FTkFfQklUCQkJMTIKKyNkZWZpbmUgV004OTkwX1JPTl9FTkEgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDgwMCAgLyogUk9OX0VOQSAqLworI2RlZmluZSBXTTg5OTBfUk9OX0VOQV9CSVQJCQkxMQorI2RlZmluZSBXTTg5OTBfUk9QX0VOQSAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwNDAwICAvKiBST1BfRU5BICovCisjZGVmaW5lIFdNODk5MF9ST1BfRU5BX0JJVAkJCTEwCisjZGVmaW5lIFdNODk5MF9MT1BHQV9FTkEgICAgICAgICAgICAgICAgICAgICAgICAweDAwODAgIC8qIExPUEdBX0VOQSAqLworI2RlZmluZSBXTTg5OTBfTE9QR0FfRU5BX0JJVAkJCTcKKyNkZWZpbmUgV004OTkwX1JPUEdBX0VOQSAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA0MCAgLyogUk9QR0FfRU5BICovCisjZGVmaW5lIFdNODk5MF9ST1BHQV9FTkFfQklUCQkJNgorI2RlZmluZSBXTTg5OTBfTE9NSVhfRU5BICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDIwICAvKiBMT01JWF9FTkEgKi8KKyNkZWZpbmUgV004OTkwX0xPTUlYX0VOQV9CSVQJCQk1CisjZGVmaW5lIFdNODk5MF9ST01JWF9FTkEgICAgICAgICAgICAgICAgICAgICAgICAweDAwMTAgIC8qIFJPTUlYX0VOQSAqLworI2RlZmluZSBXTTg5OTBfUk9NSVhfRU5BX0JJVAkJCTQKKyNkZWZpbmUgV004OTkwX0RBQ0xfRU5BICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMiAgLyogREFDTF9FTkEgKi8KKyNkZWZpbmUgV004OTkwX0RBQ0xfRU5BX0JJVAkJCTEKKyNkZWZpbmUgV004OTkwX0RBQ1JfRU5BICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMSAgLyogREFDUl9FTkEgKi8KKyNkZWZpbmUgV004OTkwX0RBQ1JfRU5BX0JJVAkJCTAKKworLyoKKyAqIFI0ICgweDA0KSAtIEF1ZGlvIEludGVyZmFjZSAoMSkKKyAqLworI2RlZmluZSBXTTg5OTBfQUlGQURDTF9TUkMgICAgICAgICAgICAgICAgICAgICAgMHg4MDAwICAvKiBBSUZBRENMX1NSQyAqLworI2RlZmluZSBXTTg5OTBfQUlGQURDUl9TUkMgICAgICAgICAgICAgICAgICAgICAgMHg0MDAwICAvKiBBSUZBRENSX1NSQyAqLworI2RlZmluZSBXTTg5OTBfQUlGQURDX1RETSAgICAgICAgICAgICAgICAgICAgICAgMHgyMDAwICAvKiBBSUZBRENfVERNICovCisjZGVmaW5lIFdNODk5MF9BSUZBRENfVERNX0NIQU4gICAgICAgICAgICAgICAgICAweDEwMDAgIC8qIEFJRkFEQ19URE1fQ0hBTiAqLworI2RlZmluZSBXTTg5OTBfQUlGX0JDTEtfSU5WICAgICAgICAgICAgICAgICAgICAgMHgwMTAwICAvKiBBSUZfQkNMS19JTlYgKi8KKyNkZWZpbmUgV004OTkwX0FJRl9MUkNMS19JTlYgICAgICAgICAgICAgICAgICAgIDB4MDA4MCAgLyogQUlGX0xSQ0xLX0lOViAqLworI2RlZmluZSBXTTg5OTBfQUlGX1dMX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgwMDYwICAvKiBBSUZfV0wgLSBbNjo1XSAqLworI2RlZmluZSBXTTg5OTBfQUlGX1dMXzE2QklUUwkJCSgwIDw8IDUpCisjZGVmaW5lIFdNODk5MF9BSUZfV0xfMjBCSVRTCQkJKDEgPDwgNSkKKyNkZWZpbmUgV004OTkwX0FJRl9XTF8yNEJJVFMJCQkoMiA8PCA1KQorI2RlZmluZSBXTTg5OTBfQUlGX1dMXzMyQklUUwkJCSgzIDw8IDUpCisjZGVmaW5lIFdNODk5MF9BSUZfRk1UX01BU0sgICAgICAgICAgICAgICAgICAgICAweDAwMTggIC8qIEFJRl9GTVQgLSBbNDozXSAqLworI2RlZmluZSBXTTg5OTBfQUlGX1RNRl9SSUdIVEoJCQkoMCA8PCAzKQorI2RlZmluZSBXTTg5OTBfQUlGX1RNRl9MRUZUSgkJCSgxIDw8IDMpCisjZGVmaW5lIFdNODk5MF9BSUZfVE1GX0kyUwkJCSgyIDw8IDMpCisjZGVmaW5lIFdNODk5MF9BSUZfVE1GX0RTUAkJCSgzIDw8IDMpCisKKy8qCisgKiBSNSAoMHgwNSkgLSBBdWRpbyBJbnRlcmZhY2UgKDIpCisgKi8KKyNkZWZpbmUgV004OTkwX0RBQ0xfU1JDICAgICAgICAgICAgICAgICAgICAgICAgIDB4ODAwMCAgLyogREFDTF9TUkMgKi8KKyNkZWZpbmUgV004OTkwX0RBQ1JfU1JDICAgICAgICAgICAgICAgICAgICAgICAgIDB4NDAwMCAgLyogREFDUl9TUkMgKi8KKyNkZWZpbmUgV004OTkwX0FJRkRBQ19URE0gICAgICAgICAgICAgICAgICAgICAgIDB4MjAwMCAgLyogQUlGREFDX1RETSAqLworI2RlZmluZSBXTTg5OTBfQUlGREFDX1RETV9DSEFOICAgICAgICAgICAgICAgICAgMHgxMDAwICAvKiBBSUZEQUNfVERNX0NIQU4gKi8KKyNkZWZpbmUgV004OTkwX0RBQ19CT09TVF9NQVNLICAgICAgICAgICAgICAgICAgIDB4MEMwMCAgLyogREFDX0JPT1NUICovCisjZGVmaW5lIFdNODk5MF9EQUNfQ09NUCAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMTAgIC8qIERBQ19DT01QICovCisjZGVmaW5lIFdNODk5MF9EQUNfQ09NUE1PREUgICAgICAgICAgICAgICAgICAgICAweDAwMDggIC8qIERBQ19DT01QTU9ERSAqLworI2RlZmluZSBXTTg5OTBfQURDX0NPTVAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDA0ICAvKiBBRENfQ09NUCAqLworI2RlZmluZSBXTTg5OTBfQURDX0NPTVBNT0RFICAgICAgICAgICAgICAgICAgICAgMHgwMDAyICAvKiBBRENfQ09NUE1PREUgKi8KKyNkZWZpbmUgV004OTkwX0xPT1BCQUNLICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMSAgLyogTE9PUEJBQ0sgKi8KKworLyoKKyAqIFI2ICgweDA2KSAtIENsb2NraW5nICgxKQorICovCisjZGVmaW5lIFdNODk5MF9UT0NMS19SQVRFICAgICAgICAgICAgICAgICAgICAgICAweDgwMDAgIC8qIFRPQ0xLX1JBVEUgKi8KKyNkZWZpbmUgV004OTkwX1RPQ0xLX0VOQSAgICAgICAgICAgICAgICAgICAgICAgIDB4NDAwMCAgLyogVE9DTEtfRU5BICovCisjZGVmaW5lIFdNODk5MF9PUENMS0RJVl9NQVNLICAgICAgICAgICAgICAgICAgICAweDFFMDAgIC8qIE9QQ0xLRElWIC0gWzEyOjldICovCisjZGVmaW5lIFdNODk5MF9EQ0xLRElWX01BU0sgICAgICAgICAgICAgICAgICAgICAweDAxQzAgIC8qIERDTEtESVYgLSBbODo2XSAqLworI2RlZmluZSBXTTg5OTBfQkNMS19ESVZfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgwMDFFICAvKiBCQ0xLX0RJViAtIFs0OjFdICovCisjZGVmaW5lIFdNODk5MF9CQ0xLX0RJVl8xCQkJKDB4MCA8PCAxKQorI2RlZmluZSBXTTg5OTBfQkNMS19ESVZfMV81CQkJKDB4MSA8PCAxKQorI2RlZmluZSBXTTg5OTBfQkNMS19ESVZfMgkJCSgweDIgPDwgMSkKKyNkZWZpbmUgV004OTkwX0JDTEtfRElWXzMJCQkoMHgzIDw8IDEpCisjZGVmaW5lIFdNODk5MF9CQ0xLX0RJVl80CQkJKDB4NCA8PCAxKQorI2RlZmluZSBXTTg5OTBfQkNMS19ESVZfNV81CQkJKDB4NSA8PCAxKQorI2RlZmluZSBXTTg5OTBfQkNMS19ESVZfNgkJCSgweDYgPDwgMSkKKyNkZWZpbmUgV004OTkwX0JDTEtfRElWXzgJCQkoMHg3IDw8IDEpCisjZGVmaW5lIFdNODk5MF9CQ0xLX0RJVl8xMQkJCSgweDggPDwgMSkKKyNkZWZpbmUgV004OTkwX0JDTEtfRElWXzEyCQkJKDB4OSA8PCAxKQorI2RlZmluZSBXTTg5OTBfQkNMS19ESVZfMTYJCQkoMHhBIDw8IDEpCisjZGVmaW5lIFdNODk5MF9CQ0xLX0RJVl8yMgkJCSgweEIgPDwgMSkKKyNkZWZpbmUgV004OTkwX0JDTEtfRElWXzI0CQkJKDB4QyA8PCAxKQorI2RlZmluZSBXTTg5OTBfQkNMS19ESVZfMzIJCQkoMHhEIDw8IDEpCisjZGVmaW5lIFdNODk5MF9CQ0xLX0RJVl80NAkJCSgweEUgPDwgMSkKKyNkZWZpbmUgV004OTkwX0JDTEtfRElWXzQ4CQkJKDB4RiA8PCAxKQorCisvKgorICogUjcgKDB4MDcpIC0gQ2xvY2tpbmcgKDIpCisgKi8KKyNkZWZpbmUgV004OTkwX01DTEtfU1JDICAgICAgICAgICAgICAgICAgICAgICAgIDB4ODAwMCAgLyogTUNMS19TUkMgKi8KKyNkZWZpbmUgV004OTkwX1NZU0NMS19TUkMgICAgICAgICAgICAgICAgICAgICAgIDB4NDAwMCAgLyogU1lTQ0xLX1NSQyAqLworI2RlZmluZSBXTTg5OTBfQ0xLX0ZPUkNFICAgICAgICAgICAgICAgICAgICAgICAgMHgyMDAwICAvKiBDTEtfRk9SQ0UgKi8KKyNkZWZpbmUgV004OTkwX01DTEtfRElWX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MTgwMCAgLyogTUNMS19ESVYgLSBbMTI6MTFdICovCisjZGVmaW5lIFdNODk5MF9NQ0xLX0RJVl8xCQkJKDAgPDwgMTEpCisjZGVmaW5lIFdNODk5MF9NQ0xLX0RJVl8yCQkJKDIgPDwgMTEpCisjZGVmaW5lIFdNODk5MF9NQ0xLX0lOViAgICAgICAgICAgICAgICAgICAgICAgICAweDA0MDAgIC8qIE1DTEtfSU5WICovCisjZGVmaW5lIFdNODk5MF9BRENfQ0xLRElWX01BU0sgICAgICAgICAgICAgICAgICAweDAwRTAgIC8qIEFEQ19DTEtESVYgKi8KKyNkZWZpbmUgV004OTkwX0FEQ19DTEtESVZfMQkJCSgwIDw8IDUpCisjZGVmaW5lIFdNODk5MF9BRENfQ0xLRElWXzFfNQkJCSgxIDw8IDUpCisjZGVmaW5lIFdNODk5MF9BRENfQ0xLRElWXzIJCQkoMiA8PCA1KQorI2RlZmluZSBXTTg5OTBfQURDX0NMS0RJVl8zCQkJKDMgPDwgNSkKKyNkZWZpbmUgV004OTkwX0FEQ19DTEtESVZfNAkJCSg0IDw8IDUpCisjZGVmaW5lIFdNODk5MF9BRENfQ0xLRElWXzVfNQkJCSg1IDw8IDUpCisjZGVmaW5lIFdNODk5MF9BRENfQ0xLRElWXzYJCQkoNiA8PCA1KQorI2RlZmluZSBXTTg5OTBfREFDX0NMS0RJVl9NQVNLICAgICAgICAgICAgICAgICAgMHgwMDFDICAvKiBEQUNfQ0xLRElWIC0gWzQ6Ml0gKi8KKyNkZWZpbmUgV004OTkwX0RBQ19DTEtESVZfMQkJCSgwIDw8IDIpCisjZGVmaW5lIFdNODk5MF9EQUNfQ0xLRElWXzFfNQkJCSgxIDw8IDIpCisjZGVmaW5lIFdNODk5MF9EQUNfQ0xLRElWXzIJCQkoMiA8PCAyKQorI2RlZmluZSBXTTg5OTBfREFDX0NMS0RJVl8zCQkJKDMgPDwgMikKKyNkZWZpbmUgV004OTkwX0RBQ19DTEtESVZfNAkJCSg0IDw8IDIpCisjZGVmaW5lIFdNODk5MF9EQUNfQ0xLRElWXzVfNQkJCSg1IDw8IDIpCisjZGVmaW5lIFdNODk5MF9EQUNfQ0xLRElWXzYJCQkoNiA8PCAyKQorCisvKgorICogUjggKDB4MDgpIC0gQXVkaW8gSW50ZXJmYWNlICgzKQorICovCisjZGVmaW5lIFdNODk5MF9BSUZfTVNUUjEgICAgICAgICAgICAgICAgICAgICAgICAweDgwMDAgIC8qIEFJRl9NU1RSMSAqLworI2RlZmluZSBXTTg5OTBfQUlGX01TVFIyICAgICAgICAgICAgICAgICAgICAgICAgMHg0MDAwICAvKiBBSUZfTVNUUjIgKi8KKyNkZWZpbmUgV004OTkwX0FJRl9TRUwgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MjAwMCAgLyogQUlGX1NFTCAqLworI2RlZmluZSBXTTg5OTBfQURDTFJDX0RJUiAgICAgICAgICAgICAgICAgICAgICAgMHgwODAwICAvKiBBRENMUkNfRElSICovCisjZGVmaW5lIFdNODk5MF9BRENMUkNfUkFURV9NQVNLICAgICAgICAgICAgICAgICAweDA3RkYgIC8qIEFEQ0xSQ19SQVRFICovCisKKy8qCisgKiBSOSAoMHgwOSkgLSBBdWRpbyBJbnRlcmZhY2UgKDQpCisgKi8KKyNkZWZpbmUgV004OTkwX0FMUkNHUElPMSAgICAgICAgICAgICAgICAgICAgICAgIDB4ODAwMCAgLyogQUxSQ0dQSU8xICovCisjZGVmaW5lIFdNODk5MF9BTFJDQkdQSU82ICAgICAgICAgICAgICAgICAgICAgICAweDQwMDAgIC8qIEFMUkNCR1BJTzYgKi8KKyNkZWZpbmUgV004OTkwX0FJRl9UUklTICAgICAgICAgICAgICAgICAgICAgICAgIDB4MjAwMCAgLyogQUlGX1RSSVMgKi8KKyNkZWZpbmUgV004OTkwX0RBQ0xSQ19ESVIgICAgICAgICAgICAgICAgICAgICAgIDB4MDgwMCAgLyogREFDTFJDX0RJUiAqLworI2RlZmluZSBXTTg5OTBfREFDTFJDX1JBVEVfTUFTSyAgICAgICAgICAgICAgICAgMHgwN0ZGICAvKiBEQUNMUkNfUkFURSAqLworCisvKgorICogUjEwICgweDBBKSAtIERBQyBDVFJMCisgKi8KKyNkZWZpbmUgV004OTkwX0FJRl9MUkNMS1JBVEUgICAgICAgICAgICAgICAgICAgIDB4MDQwMCAgLyogQUlGX0xSQ0xLUkFURSAqLworI2RlZmluZSBXTTg5OTBfREFDX01PTk8gICAgICAgICAgICAgICAgICAgICAgICAgMHgwMjAwICAvKiBEQUNfTU9OTyAqLworI2RlZmluZSBXTTg5OTBfREFDX1NCX0ZJTFQgICAgICAgICAgICAgICAgICAgICAgMHgwMTAwICAvKiBEQUNfU0JfRklMVCAqLworI2RlZmluZSBXTTg5OTBfREFDX01VVEVSQVRFICAgICAgICAgICAgICAgICAgICAgMHgwMDgwICAvKiBEQUNfTVVURVJBVEUgKi8KKyNkZWZpbmUgV004OTkwX0RBQ19NVVRFTU9ERSAgICAgICAgICAgICAgICAgICAgIDB4MDA0MCAgLyogREFDX01VVEVNT0RFICovCisjZGVmaW5lIFdNODk5MF9ERUVNUF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDAwMzAgIC8qIERFRU1QIC0gWzU6NF0gKi8KKyNkZWZpbmUgV004OTkwX0RBQ19NVVRFICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwNCAgLyogREFDX01VVEUgKi8KKyNkZWZpbmUgV004OTkwX0RBQ0xfREFUSU5WICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMiAgLyogREFDTF9EQVRJTlYgKi8KKyNkZWZpbmUgV004OTkwX0RBQ1JfREFUSU5WICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMSAgLyogREFDUl9EQVRJTlYgKi8KKworLyoKKyAqIFIxMSAoMHgwQikgLSBMZWZ0IERBQyBEaWdpdGFsIFZvbHVtZQorICovCisjZGVmaW5lIFdNODk5MF9EQUNfVlUgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxMDAgIC8qIERBQ19WVSAqLworI2RlZmluZSBXTTg5OTBfREFDTF9WT0xfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgwMEZGICAvKiBEQUNMX1ZPTCAtIFs3OjBdICovCisjZGVmaW5lIFdNODk5MF9EQUNMX1ZPTF9TSElGVAkJCTAKKy8qCisgKiBSMTIgKDB4MEMpIC0gUmlnaHQgREFDIERpZ2l0YWwgVm9sdW1lCisgKi8KKyNkZWZpbmUgV004OTkwX0RBQ19WVSAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEwMCAgLyogREFDX1ZVICovCisjZGVmaW5lIFdNODk5MF9EQUNSX1ZPTF9NQVNLICAgICAgICAgICAgICAgICAgICAweDAwRkYgIC8qIERBQ1JfVk9MIC0gWzc6MF0gKi8KKyNkZWZpbmUgV004OTkwX0RBQ1JfVk9MX1NISUZUCQkJMAorLyoKKyAqIFIxMyAoMHgwRCkgLSBEaWdpdGFsIFNpZGUgVG9uZQorICovCisjZGVmaW5lIFdNODk5MF9BRENMX0RBQ19TVk9MX01BU0sgICAgICAgICAgICAgICAweDBGICAvKiBBRENMX0RBQ19TVk9MICovCisjZGVmaW5lIFdNODk5MF9BRENMX0RBQ19TVk9MX1NISUZUCQk5CisjZGVmaW5lIFdNODk5MF9BRENSX0RBQ19TVk9MX01BU0sgICAgICAgICAgICAgICAweDBGICAvKiBBRENSX0RBQ19TVk9MICovCisjZGVmaW5lIFdNODk5MF9BRENSX0RBQ19TVk9MX1NISUZUCQk1CisjZGVmaW5lIFdNODk5MF9BRENfVE9fREFDTF9NQVNLICAgICAgICAgICAgICAgICAweDAzICAvKiBBRENfVE9fREFDTCAtIFszOjJdICovCisjZGVmaW5lIFdNODk5MF9BRENfVE9fREFDTF9TSElGVAkJMgorI2RlZmluZSBXTTg5OTBfQURDX1RPX0RBQ1JfTUFTSyAgICAgICAgICAgICAgICAgMHgwMyAgLyogQURDX1RPX0RBQ1IgLSBbMTowXSAqLworI2RlZmluZSBXTTg5OTBfQURDX1RPX0RBQ1JfU0hJRlQJCTAKKworLyoKKyAqIFIxNCAoMHgwRSkgLSBBREMgQ1RSTAorICovCisjZGVmaW5lIFdNODk5MF9BRENfSFBGX0VOQSAgICAgICAgICAgICAgICAgICAgICAweDAxMDAgIC8qIEFEQ19IUEZfRU5BICovCisjZGVmaW5lIFdNODk5MF9BRENfSFBGX0VOQV9CSVQJCQk4CisjZGVmaW5lIFdNODk5MF9BRENfSFBGX0NVVF9NQVNLICAgICAgICAgICAgICAgICAweDAzICAvKiBBRENfSFBGX0NVVCAtIFs2OjVdICovCisjZGVmaW5lIFdNODk5MF9BRENfSFBGX0NVVF9TSElGVAkJNQorI2RlZmluZSBXTTg5OTBfQURDTF9EQVRJTlYgICAgICAgICAgICAgICAgICAgICAgMHgwMDAyICAvKiBBRENMX0RBVElOViAqLworI2RlZmluZSBXTTg5OTBfQURDTF9EQVRJTlZfQklUCQkJMQorI2RlZmluZSBXTTg5OTBfQURDUl9EQVRJTlYgICAgICAgICAgICAgICAgICAgICAgMHgwMDAxICAvKiBBRENSX0RBVElOViAqLworI2RlZmluZSBXTTg5OTBfQURDUl9EQVRJTlZfQklUCQkJMAorCisvKgorICogUjE1ICgweDBGKSAtIExlZnQgQURDIERpZ2l0YWwgVm9sdW1lCisgKi8KKyNkZWZpbmUgV004OTkwX0FEQ19WVSAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEwMCAgLyogQURDX1ZVICovCisjZGVmaW5lIFdNODk5MF9BRENMX1ZPTF9NQVNLICAgICAgICAgICAgICAgICAgICAweDAwRkYgIC8qIEFEQ0xfVk9MIC0gWzc6MF0gKi8KKyNkZWZpbmUgV004OTkwX0FEQ0xfVk9MX1NISUZUCQkJMAorCisvKgorICogUjE2ICgweDEwKSAtIFJpZ2h0IEFEQyBEaWdpdGFsIFZvbHVtZQorICovCisjZGVmaW5lIFdNODk5MF9BRENfVlUgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxMDAgIC8qIEFEQ19WVSAqLworI2RlZmluZSBXTTg5OTBfQURDUl9WT0xfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgwMEZGICAvKiBBRENSX1ZPTCAtIFs3OjBdICovCisjZGVmaW5lIFdNODk5MF9BRENSX1ZPTF9TSElGVAkJCTAKKworLyoKKyAqIFIxOCAoMHgxMikgLSBHUElPIENUUkwgMQorICovCisjZGVmaW5lIFdNODk5MF9JUlEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDEwMDAgIC8qIElSUSAqLworI2RlZmluZSBXTTg5OTBfVEVNUE9LICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwODAwICAvKiBURU1QT0sgKi8KKyNkZWZpbmUgV004OTkwX01JQ1NIUlQgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDQwMCAgLyogTUlDU0hSVCAqLworI2RlZmluZSBXTTg5OTBfTUlDREVUICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMjAwICAvKiBNSUNERVQgKi8KKyNkZWZpbmUgV004OTkwX1BMTF9MQ0sgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEwMCAgLyogUExMX0xDSyAqLworI2RlZmluZSBXTTg5OTBfR1BJOF9TVEFUVVMgICAgICAgICAgICAgICAgICAgICAgMHgwMDgwICAvKiBHUEk4X1NUQVRVUyAqLworI2RlZmluZSBXTTg5OTBfR1BJN19TVEFUVVMgICAgICAgICAgICAgICAgICAgICAgMHgwMDQwICAvKiBHUEk3X1NUQVRVUyAqLworI2RlZmluZSBXTTg5OTBfR1BJTzZfU1RBVFVTICAgICAgICAgICAgICAgICAgICAgMHgwMDIwICAvKiBHUElPNl9TVEFUVVMgKi8KKyNkZWZpbmUgV004OTkwX0dQSU81X1NUQVRVUyAgICAgICAgICAgICAgICAgICAgIDB4MDAxMCAgLyogR1BJTzVfU1RBVFVTICovCisjZGVmaW5lIFdNODk5MF9HUElPNF9TVEFUVVMgICAgICAgICAgICAgICAgICAgICAweDAwMDggIC8qIEdQSU80X1NUQVRVUyAqLworI2RlZmluZSBXTTg5OTBfR1BJTzNfU1RBVFVTICAgICAgICAgICAgICAgICAgICAgMHgwMDA0ICAvKiBHUElPM19TVEFUVVMgKi8KKyNkZWZpbmUgV004OTkwX0dQSU8yX1NUQVRVUyAgICAgICAgICAgICAgICAgICAgIDB4MDAwMiAgLyogR1BJTzJfU1RBVFVTICovCisjZGVmaW5lIFdNODk5MF9HUElPMV9TVEFUVVMgICAgICAgICAgICAgICAgICAgICAweDAwMDEgIC8qIEdQSU8xX1NUQVRVUyAqLworCisvKgorICogUjE5ICgweDEzKSAtIEdQSU8xICYgR1BJTzIKKyAqLworI2RlZmluZSBXTTg5OTBfR1BJTzJfREVCX0VOQSAgICAgICAgICAgICAgICAgICAgMHg4MDAwICAvKiBHUElPMl9ERUJfRU5BICovCisjZGVmaW5lIFdNODk5MF9HUElPMl9JUlFfRU5BICAgICAgICAgICAgICAgICAgICAweDQwMDAgIC8qIEdQSU8yX0lSUV9FTkEgKi8KKyNkZWZpbmUgV004OTkwX0dQSU8yX1BVICAgICAgICAgICAgICAgICAgICAgICAgIDB4MjAwMCAgLyogR1BJTzJfUFUgKi8KKyNkZWZpbmUgV004OTkwX0dQSU8yX1BEICAgICAgICAgICAgICAgICAgICAgICAgIDB4MTAwMCAgLyogR1BJTzJfUEQgKi8KKyNkZWZpbmUgV004OTkwX0dQSU8yX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgIDB4MEYwMCAgLyogR1BJTzJfU0VMIC0gWzExOjhdICovCisjZGVmaW5lIFdNODk5MF9HUElPMV9ERUJfRU5BICAgICAgICAgICAgICAgICAgICAweDAwODAgIC8qIEdQSU8xX0RFQl9FTkEgKi8KKyNkZWZpbmUgV004OTkwX0dQSU8xX0lSUV9FTkEgICAgICAgICAgICAgICAgICAgIDB4MDA0MCAgLyogR1BJTzFfSVJRX0VOQSAqLworI2RlZmluZSBXTTg5OTBfR1BJTzFfUFUgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDIwICAvKiBHUElPMV9QVSAqLworI2RlZmluZSBXTTg5OTBfR1BJTzFfUEQgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDEwICAvKiBHUElPMV9QRCAqLworI2RlZmluZSBXTTg5OTBfR1BJTzFfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgMHgwMDBGICAvKiBHUElPMV9TRUwgLSBbMzowXSAqLworCisvKgorICogUjIwICgweDE0KSAtIEdQSU8zICYgR1BJTzQKKyAqLworI2RlZmluZSBXTTg5OTBfR1BJTzRfREVCX0VOQSAgICAgICAgICAgICAgICAgICAgMHg4MDAwICAvKiBHUElPNF9ERUJfRU5BICovCisjZGVmaW5lIFdNODk5MF9HUElPNF9JUlFfRU5BICAgICAgICAgICAgICAgICAgICAweDQwMDAgIC8qIEdQSU80X0lSUV9FTkEgKi8KKyNkZWZpbmUgV004OTkwX0dQSU80X1BVICAgICAgICAgICAgICAgICAgICAgICAgIDB4MjAwMCAgLyogR1BJTzRfUFUgKi8KKyNkZWZpbmUgV004OTkwX0dQSU80X1BEICAgICAgICAgICAgICAgICAgICAgICAgIDB4MTAwMCAgLyogR1BJTzRfUEQgKi8KKyNkZWZpbmUgV004OTkwX0dQSU80X1NFTF9NQVNLICAgICAgICAgICAgICAgICAgIDB4MEYwMCAgLyogR1BJTzRfU0VMIC0gWzExOjhdICovCisjZGVmaW5lIFdNODk5MF9HUElPM19ERUJfRU5BICAgICAgICAgICAgICAgICAgICAweDAwODAgIC8qIEdQSU8zX0RFQl9FTkEgKi8KKyNkZWZpbmUgV004OTkwX0dQSU8zX0lSUV9FTkEgICAgICAgICAgICAgICAgICAgIDB4MDA0MCAgLyogR1BJTzNfSVJRX0VOQSAqLworI2RlZmluZSBXTTg5OTBfR1BJTzNfUFUgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDIwICAvKiBHUElPM19QVSAqLworI2RlZmluZSBXTTg5OTBfR1BJTzNfUEQgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDEwICAvKiBHUElPM19QRCAqLworI2RlZmluZSBXTTg5OTBfR1BJTzNfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgMHgwMDBGICAvKiBHUElPM19TRUwgLSBbMzowXSAqLworCisvKgorICogUjIxICgweDE1KSAtIEdQSU81ICYgR1BJTzYKKyAqLworI2RlZmluZSBXTTg5OTBfR1BJTzZfREVCX0VOQSAgICAgICAgICAgICAgICAgICAgMHg4MDAwICAvKiBHUElPNl9ERUJfRU5BICovCisjZGVmaW5lIFdNODk5MF9HUElPNl9JUlFfRU5BICAgICAgICAgICAgICAgICAgICAweDQwMDAgIC8qIEdQSU82X0lSUV9FTkEgKi8KKyNkZWZpbmUgV004OTkwX0dQSU82X1BVICAgICAgICAgICAgICAgICAgICAgICAgIDB4MjAwMCAgLyogR1BJTzZfUFUgKi8KKyNkZWZpbmUgV004OTkwX0dQSU82X1BEICAgICAgICAgICAgICAgICAgICAgICAgIDB4MTAwMCAgLyogR1BJTzZfUEQgKi8KKyNkZWZpbmUgV004OTkwX0dQSU82X1NFTF9NQVNLICAgICAgICAgICAgICAgICAgIDB4MEYwMCAgLyogR1BJTzZfU0VMIC0gWzExOjhdICovCisjZGVmaW5lIFdNODk5MF9HUElPNV9ERUJfRU5BICAgICAgICAgICAgICAgICAgICAweDAwODAgIC8qIEdQSU81X0RFQl9FTkEgKi8KKyNkZWZpbmUgV004OTkwX0dQSU81X0lSUV9FTkEgICAgICAgICAgICAgICAgICAgIDB4MDA0MCAgLyogR1BJTzVfSVJRX0VOQSAqLworI2RlZmluZSBXTTg5OTBfR1BJTzVfUFUgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDIwICAvKiBHUElPNV9QVSAqLworI2RlZmluZSBXTTg5OTBfR1BJTzVfUEQgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDEwICAvKiBHUElPNV9QRCAqLworI2RlZmluZSBXTTg5OTBfR1BJTzVfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgMHgwMDBGICAvKiBHUElPNV9TRUwgLSBbMzowXSAqLworCisvKgorICogUjIyICgweDE2KSAtIEdQSU9DVFJMIDIKKyAqLworI2RlZmluZSBXTTg5OTBfUkRfM1dfRU5BICAgICAgICAgICAgICAgICAgICAgICAgMHg4MDAwICAvKiBSRF8zV19FTkEgKi8KKyNkZWZpbmUgV004OTkwX01PREVfM1c0VyAgICAgICAgICAgICAgICAgICAgICAgIDB4NDAwMCAgLyogTU9ERV8zVzRXICovCisjZGVmaW5lIFdNODk5MF9URU1QT0tfSVJRX0VOQSAgICAgICAgICAgICAgICAgICAweDA4MDAgIC8qIFRFTVBPS19JUlFfRU5BICovCisjZGVmaW5lIFdNODk5MF9NSUNTSFJUX0lSUV9FTkEgICAgICAgICAgICAgICAgICAweDA0MDAgIC8qIE1JQ1NIUlRfSVJRX0VOQSAqLworI2RlZmluZSBXTTg5OTBfTUlDREVUX0lSUV9FTkEgICAgICAgICAgICAgICAgICAgMHgwMjAwICAvKiBNSUNERVRfSVJRX0VOQSAqLworI2RlZmluZSBXTTg5OTBfUExMX0xDS19JUlFfRU5BICAgICAgICAgICAgICAgICAgMHgwMTAwICAvKiBQTExfTENLX0lSUV9FTkEgKi8KKyNkZWZpbmUgV004OTkwX0dQSThfREVCX0VOQSAgICAgICAgICAgICAgICAgICAgIDB4MDA4MCAgLyogR1BJOF9ERUJfRU5BICovCisjZGVmaW5lIFdNODk5MF9HUEk4X0lSUV9FTkEgICAgICAgICAgICAgICAgICAgICAweDAwNDAgIC8qIEdQSThfSVJRX0VOQSAqLworI2RlZmluZSBXTTg5OTBfR1BJOF9FTkEgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDEwICAvKiBHUEk4X0VOQSAqLworI2RlZmluZSBXTTg5OTBfR1BJN19ERUJfRU5BICAgICAgICAgICAgICAgICAgICAgMHgwMDA4ICAvKiBHUEk3X0RFQl9FTkEgKi8KKyNkZWZpbmUgV004OTkwX0dQSTdfSVJRX0VOQSAgICAgICAgICAgICAgICAgICAgIDB4MDAwNCAgLyogR1BJN19JUlFfRU5BICovCisjZGVmaW5lIFdNODk5MF9HUEk3X0VOQSAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDEgIC8qIEdQSTdfRU5BICovCisKKy8qCisgKiBSMjMgKDB4MTcpIC0gR1BJT19QT0wKKyAqLworI2RlZmluZSBXTTg5OTBfSVJRX0lOViAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxMDAwICAvKiBJUlFfSU5WICovCisjZGVmaW5lIFdNODk5MF9URU1QT0tfUE9MICAgICAgICAgICAgICAgICAgICAgICAweDA4MDAgIC8qIFRFTVBPS19QT0wgKi8KKyNkZWZpbmUgV004OTkwX01JQ1NIUlRfUE9MICAgICAgICAgICAgICAgICAgICAgIDB4MDQwMCAgLyogTUlDU0hSVF9QT0wgKi8KKyNkZWZpbmUgV004OTkwX01JQ0RFVF9QT0wgICAgICAgICAgICAgICAgICAgICAgIDB4MDIwMCAgLyogTUlDREVUX1BPTCAqLworI2RlZmluZSBXTTg5OTBfUExMX0xDS19QT0wgICAgICAgICAgICAgICAgICAgICAgMHgwMTAwICAvKiBQTExfTENLX1BPTCAqLworI2RlZmluZSBXTTg5OTBfR1BJOF9QT0wgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDgwICAvKiBHUEk4X1BPTCAqLworI2RlZmluZSBXTTg5OTBfR1BJN19QT0wgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDQwICAvKiBHUEk3X1BPTCAqLworI2RlZmluZSBXTTg5OTBfR1BJTzZfUE9MICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDIwICAvKiBHUElPNl9QT0wgKi8KKyNkZWZpbmUgV004OTkwX0dQSU81X1BPTCAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAxMCAgLyogR1BJTzVfUE9MICovCisjZGVmaW5lIFdNODk5MF9HUElPNF9QT0wgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDggIC8qIEdQSU80X1BPTCAqLworI2RlZmluZSBXTTg5OTBfR1BJTzNfUE9MICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDA0ICAvKiBHUElPM19QT0wgKi8KKyNkZWZpbmUgV004OTkwX0dQSU8yX1BPTCAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMiAgLyogR1BJTzJfUE9MICovCisjZGVmaW5lIFdNODk5MF9HUElPMV9QT0wgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDEgIC8qIEdQSU8xX1BPTCAqLworCisvKgorICogUjI0ICgweDE4KSAtIExlZnQgTGluZSBJbnB1dCAxJjIgVm9sdW1lCisgKi8KKyNkZWZpbmUgV004OTkwX0lQVlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEwMCAgLyogSVBWVSAqLworI2RlZmluZSBXTTg5OTBfTEkxMk1VVEUgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDgwICAvKiBMSTEyTVVURSAqLworI2RlZmluZSBXTTg5OTBfTEkxMk1VVEVfQklUCQkJNworI2RlZmluZSBXTTg5OTBfTEkxMlpDICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDQwICAvKiBMSTEyWkMgKi8KKyNkZWZpbmUgV004OTkwX0xJMTJaQ19CSVQJCQk2CisjZGVmaW5lIFdNODk5MF9MSU4xMlZPTF9NQVNLICAgICAgICAgICAgICAgICAgICAweDAwMUYgIC8qIExJTjEyVk9MIC0gWzQ6MF0gKi8KKyNkZWZpbmUgV004OTkwX0xJTjEyVk9MX1NISUZUCQkJMAorLyoKKyAqIFIyNSAoMHgxOSkgLSBMZWZ0IExpbmUgSW5wdXQgMyY0IFZvbHVtZQorICovCisjZGVmaW5lIFdNODk5MF9JUFZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxMDAgIC8qIElQVlUgKi8KKyNkZWZpbmUgV004OTkwX0xJMzRNVVRFICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA4MCAgLyogTEkzNE1VVEUgKi8KKyNkZWZpbmUgV004OTkwX0xJMzRNVVRFX0JJVAkJCTcKKyNkZWZpbmUgV004OTkwX0xJMzRaQyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA0MCAgLyogTEkzNFpDICovCisjZGVmaW5lIFdNODk5MF9MSTM0WkNfQklUCQkJNgorI2RlZmluZSBXTTg5OTBfTElOMzRWT0xfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgwMDFGICAvKiBMSU4zNFZPTCAtIFs0OjBdICovCisjZGVmaW5lIFdNODk5MF9MSU4zNFZPTF9TSElGVAkJCTAKKworLyoKKyAqIFIyNiAoMHgxQSkgLSBSaWdodCBMaW5lIElucHV0IDEmMiBWb2x1bWUKKyAqLworI2RlZmluZSBXTTg5OTBfSVBWVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMTAwICAvKiBJUFZVICovCisjZGVmaW5lIFdNODk5MF9SSTEyTVVURSAgICAgICAgICAgICAgICAgICAgICAgICAweDAwODAgIC8qIFJJMTJNVVRFICovCisjZGVmaW5lIFdNODk5MF9SSTEyTVVURV9CSVQJCQk3CisjZGVmaW5lIFdNODk5MF9SSTEyWkMgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwNDAgIC8qIFJJMTJaQyAqLworI2RlZmluZSBXTTg5OTBfUkkxMlpDX0JJVAkJCTYKKyNkZWZpbmUgV004OTkwX1JJTjEyVk9MX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MDAxRiAgLyogUklOMTJWT0wgLSBbNDowXSAqLworI2RlZmluZSBXTTg5OTBfUklOMTJWT0xfU0hJRlQJCQkwCisKKy8qCisgKiBSMjcgKDB4MUIpIC0gUmlnaHQgTGluZSBJbnB1dCAzJjQgVm9sdW1lCisgKi8KKyNkZWZpbmUgV004OTkwX0lQVlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEwMCAgLyogSVBWVSAqLworI2RlZmluZSBXTTg5OTBfUkkzNE1VVEUgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDgwICAvKiBSSTM0TVVURSAqLworI2RlZmluZSBXTTg5OTBfUkkzNE1VVEVfQklUCQkJNworI2RlZmluZSBXTTg5OTBfUkkzNFpDICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDQwICAvKiBSSTM0WkMgKi8KKyNkZWZpbmUgV004OTkwX1JJMzRaQ19CSVQJCQk2CisjZGVmaW5lIFdNODk5MF9SSU4zNFZPTF9NQVNLICAgICAgICAgICAgICAgICAgICAweDAwMUYgIC8qIFJJTjM0Vk9MIC0gWzQ6MF0gKi8KKyNkZWZpbmUgV004OTkwX1JJTjM0Vk9MX1NISUZUCQkJMAorCisvKgorICogUjI4ICgweDFDKSAtIExlZnQgT3V0cHV0IFZvbHVtZQorICovCisjZGVmaW5lIFdNODk5MF9PUFZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxMDAgIC8qIE9QVlUgKi8KKyNkZWZpbmUgV004OTkwX0xPWkMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA4MCAgLyogTE9aQyAqLworI2RlZmluZSBXTTg5OTBfTE9aQ19CSVQJCQkJNworI2RlZmluZSBXTTg5OTBfTE9VVFZPTF9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgwMDdGICAvKiBMT1VUVk9MIC0gWzY6MF0gKi8KKyNkZWZpbmUgV004OTkwX0xPVVRWT0xfU0hJRlQJCQkwCisvKgorICogUjI5ICgweDFEKSAtIFJpZ2h0IE91dHB1dCBWb2x1bWUKKyAqLworI2RlZmluZSBXTTg5OTBfT1BWVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMTAwICAvKiBPUFZVICovCisjZGVmaW5lIFdNODk5MF9ST1pDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwODAgIC8qIFJPWkMgKi8KKyNkZWZpbmUgV004OTkwX1JPWkNfQklUCQkJCTcKKyNkZWZpbmUgV004OTkwX1JPVVRWT0xfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MDA3RiAgLyogUk9VVFZPTCAtIFs2OjBdICovCisjZGVmaW5lIFdNODk5MF9ST1VUVk9MX1NISUZUCQkJMAorLyoKKyAqIFIzMCAoMHgxRSkgLSBMaW5lIE91dHB1dHMgVm9sdW1lCisgKi8KKyNkZWZpbmUgV004OTkwX0xPTk1VVEUgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA0MCAgLyogTE9OTVVURSAqLworI2RlZmluZSBXTTg5OTBfTE9OTVVURV9CSVQJCQk2CisjZGVmaW5lIFdNODk5MF9MT1BNVVRFICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMjAgIC8qIExPUE1VVEUgKi8KKyNkZWZpbmUgV004OTkwX0xPUE1VVEVfQklUCQkJNQorI2RlZmluZSBXTTg5OTBfTE9BVFROICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDEwICAvKiBMT0FUVE4gKi8KKyNkZWZpbmUgV004OTkwX0xPQVRUTl9CSVQJCQk0CisjZGVmaW5lIFdNODk5MF9ST05NVVRFICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDQgIC8qIFJPTk1VVEUgKi8KKyNkZWZpbmUgV004OTkwX1JPTk1VVEVfQklUCQkJMgorI2RlZmluZSBXTTg5OTBfUk9QTVVURSAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAyICAvKiBST1BNVVRFICovCisjZGVmaW5lIFdNODk5MF9ST1BNVVRFX0JJVAkJCTEKKyNkZWZpbmUgV004OTkwX1JPQVRUTiAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMSAgLyogUk9BVFROICovCisjZGVmaW5lIFdNODk5MF9ST0FUVE5fQklUCQkJMAorCisvKgorICogUjMxICgweDFGKSAtIE91dDMvNCBWb2x1bWUKKyAqLworI2RlZmluZSBXTTg5OTBfT1VUM01VVEUgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDIwICAvKiBPVVQzTVVURSAqLworI2RlZmluZSBXTTg5OTBfT1VUM01VVEVfQklUCQkJNQorI2RlZmluZSBXTTg5OTBfT1VUM0FUVE4gICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDEwICAvKiBPVVQzQVRUTiAqLworI2RlZmluZSBXTTg5OTBfT1VUM0FUVE5fQklUCQkJNAorI2RlZmluZSBXTTg5OTBfT1VUNE1VVEUgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAyICAvKiBPVVQ0TVVURSAqLworI2RlZmluZSBXTTg5OTBfT1VUNE1VVEVfQklUCQkJMQorI2RlZmluZSBXTTg5OTBfT1VUNEFUVE4gICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAxICAvKiBPVVQ0QVRUTiAqLworI2RlZmluZSBXTTg5OTBfT1VUNEFUVE5fQklUCQkJMAorCisvKgorICogUjMyICgweDIwKSAtIExlZnQgT1BHQSBWb2x1bWUKKyAqLworI2RlZmluZSBXTTg5OTBfT1BWVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMTAwICAvKiBPUFZVICovCisjZGVmaW5lIFdNODk5MF9MT1BHQVpDICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwODAgIC8qIExPUEdBWkMgKi8KKyNkZWZpbmUgV004OTkwX0xPUEdBWkNfQklUCQkJNworI2RlZmluZSBXTTg5OTBfTE9QR0FWT0xfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgwMDdGICAvKiBMT1BHQVZPTCAtIFs2OjBdICovCisjZGVmaW5lIFdNODk5MF9MT1BHQVZPTF9TSElGVAkJCTAKKworLyoKKyAqIFIzMyAoMHgyMSkgLSBSaWdodCBPUEdBIFZvbHVtZQorICovCisjZGVmaW5lIFdNODk5MF9PUFZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxMDAgIC8qIE9QVlUgKi8KKyNkZWZpbmUgV004OTkwX1JPUEdBWkMgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA4MCAgLyogUk9QR0FaQyAqLworI2RlZmluZSBXTTg5OTBfUk9QR0FaQ19CSVQJCQk3CisjZGVmaW5lIFdNODk5MF9ST1BHQVZPTF9NQVNLICAgICAgICAgICAgICAgICAgICAweDAwN0YgIC8qIFJPUEdBVk9MIC0gWzY6MF0gKi8KKyNkZWZpbmUgV004OTkwX1JPUEdBVk9MX1NISUZUCQkJMAorLyoKKyAqIFIzNCAoMHgyMikgLSBTcGVha2VyIFZvbHVtZQorICovCisjZGVmaW5lIFdNODk5MF9TUEtWT0xfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDAwMDMgIC8qIFNQS1ZPTCAtIFsxOjBdICovCisjZGVmaW5lIFdNODk5MF9TUEtWT0xfU0hJRlQJCQkwCisKKy8qCisgKiBSMzUgKDB4MjMpIC0gQ2xhc3NEMQorICovCisjZGVmaW5lIFdNODk5MF9DRE1PREUgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxMDAgIC8qIENETU9ERSAqLworI2RlZmluZSBXTTg5OTBfQ0RNT0RFX0JJVAkJCTgKKworLyoKKyAqIFIzNyAoMHgyNSkgLSBDbGFzc0QzCisgKi8KKyNkZWZpbmUgV004OTkwX0RDR0FJTl9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MDAwNyAgLyogRENHQUlOIC0gWzU6M10gKi8KKyNkZWZpbmUgV004OTkwX0RDR0FJTl9TSElGVAkJCTMKKyNkZWZpbmUgV004OTkwX0FDR0FJTl9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MDAwNyAgLyogQUNHQUlOIC0gWzI6MF0gKi8KKyNkZWZpbmUgV004OTkwX0FDR0FJTl9TSElGVAkJCTAKKy8qCisgKiBSMzkgKDB4MjcpIC0gSW5wdXQgTWl4ZXIxCisgKi8KKyNkZWZpbmUgV004OTkwX0FJTkxNT0RFX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MDAwQyAgLyogQUlOTE1PREUgLSBbMzoyXSAqLworI2RlZmluZSBXTTg5OTBfQUlOTE1PREVfU0hJRlQJCQkyCisjZGVmaW5lIFdNODk5MF9BSU5STU9ERV9NQVNLICAgICAgICAgICAgICAgICAgICAweDAwMDMgIC8qIEFJTlJNT0RFIC0gWzE6MF0gKi8KKyNkZWZpbmUgV004OTkwX0FJTlJNT0RFX1NISUZUCQkJMAorCisvKgorICogUjQwICgweDI4KSAtIElucHV0IE1peGVyMgorICovCisjZGVmaW5lIFdNODk5MF9MTVA0CQkJCTB4MDA4MAkvKiBMTVA0ICovCisjZGVmaW5lIFdNODk5MF9MTVA0X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICA3CS8qIExNUDQgKi8KKyNkZWZpbmUgV004OTkwX0xNTjMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA0MCAgLyogTE1OMyAqLworI2RlZmluZSBXTTg5OTBfTE1OM19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgNiAgICAgICAvKiBMTU4zICovCisjZGVmaW5lIFdNODk5MF9MTVAyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMjAgIC8qIExNUDIgKi8KKyNkZWZpbmUgV004OTkwX0xNUDJfQklUICAgICAgICAgICAgICAgICAgICAgICAgIDUgICAgICAgLyogTE1QMiAqLworI2RlZmluZSBXTTg5OTBfTE1OMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDEwICAvKiBMTU4xICovCisjZGVmaW5lIFdNODk5MF9MTU4xX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICA0ICAgICAgIC8qIExNTjEgKi8KKyNkZWZpbmUgV004OTkwX1JNUDQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwOCAgLyogUk1QNCAqLworI2RlZmluZSBXTTg5OTBfUk1QNF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgMyAgICAgICAvKiBSTVA0ICovCisjZGVmaW5lIFdNODk5MF9STU4zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDQgIC8qIFJNTjMgKi8KKyNkZWZpbmUgV004OTkwX1JNTjNfQklUICAgICAgICAgICAgICAgICAgICAgICAgIDIgICAgICAgLyogUk1OMyAqLworI2RlZmluZSBXTTg5OTBfUk1QMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAyICAvKiBSTVAyICovCisjZGVmaW5lIFdNODk5MF9STVAyX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAxICAgICAgIC8qIFJNUDIgKi8KKyNkZWZpbmUgV004OTkwX1JNTjEgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMSAgLyogUk1OMSAqLworI2RlZmluZSBXTTg5OTBfUk1OMV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgMCAgICAgICAvKiBSTU4xICovCisKKy8qCisgKiBSNDEgKDB4MjkpIC0gSW5wdXQgTWl4ZXIzCisgKi8KKyNkZWZpbmUgV004OTkwX0wzNE1OQiAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEwMCAgLyogTDM0TU5CICovCisjZGVmaW5lIFdNODk5MF9MMzRNTkJfQklUCQkJOAorI2RlZmluZSBXTTg5OTBfTDM0TU5CU1QgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDgwICAvKiBMMzRNTkJTVCAqLworI2RlZmluZSBXTTg5OTBfTDM0TU5CU1RfQklUCQkJNworI2RlZmluZSBXTTg5OTBfTDEyTU5CICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDIwICAvKiBMMTJNTkIgKi8KKyNkZWZpbmUgV004OTkwX0wxMk1OQl9CSVQJCQk1CisjZGVmaW5lIFdNODk5MF9MMTJNTkJTVCAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMTAgIC8qIEwxMk1OQlNUICovCisjZGVmaW5lIFdNODk5MF9MMTJNTkJTVF9CSVQJCQk0CisjZGVmaW5lIFdNODk5MF9MREJWT0xfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDAwMDcgIC8qIExEQlZPTCAtIFsyOjBdICovCisjZGVmaW5lIFdNODk5MF9MREJWT0xfU0hJRlQJCQkwCisKKy8qCisgKiBSNDIgKDB4MkEpIC0gSW5wdXQgTWl4ZXI0CisgKi8KKyNkZWZpbmUgV004OTkwX1IzNE1OQiAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEwMCAgLyogUjM0TU5CICovCisjZGVmaW5lIFdNODk5MF9SMzRNTkJfQklUCQkJOAorI2RlZmluZSBXTTg5OTBfUjM0TU5CU1QgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDgwICAvKiBSMzRNTkJTVCAqLworI2RlZmluZSBXTTg5OTBfUjM0TU5CU1RfQklUCQkJNworI2RlZmluZSBXTTg5OTBfUjEyTU5CICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDIwICAvKiBSMTJNTkIgKi8KKyNkZWZpbmUgV004OTkwX1IxMk1OQl9CSVQJCQk1CisjZGVmaW5lIFdNODk5MF9SMTJNTkJTVCAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMTAgIC8qIFIxMk1OQlNUICovCisjZGVmaW5lIFdNODk5MF9SMTJNTkJTVF9CSVQJCQk0CisjZGVmaW5lIFdNODk5MF9SREJWT0xfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDAwMDcgIC8qIFJEQlZPTCAtIFsyOjBdICovCisjZGVmaW5lIFdNODk5MF9SREJWT0xfU0hJRlQJCQkwCisKKy8qCisgKiBSNDMgKDB4MkIpIC0gSW5wdXQgTWl4ZXI1CisgKi8KKyNkZWZpbmUgV004OTkwX0xJMkJWT0xfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MDcgIC8qIExJMkJWT0wgLSBbODo2XSAqLworI2RlZmluZSBXTTg5OTBfTEkyQlZPTF9TSElGVAkJCTYKKyNkZWZpbmUgV004OTkwX0xSNEJWT0xfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MDcgIC8qIExSNEJWT0wgLSBbNTozXSAqLworI2RlZmluZSBXTTg5OTBfTFI0QlZPTF9TSElGVAkJCTMKKyNkZWZpbmUgV004OTkwX0xMNEJWT0xfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MDcgIC8qIExMNEJWT0wgLSBbMjowXSAqLworI2RlZmluZSBXTTg5OTBfTEw0QlZPTF9TSElGVAkJCTAKKworLyoKKyAqIFI0NCAoMHgyQykgLSBJbnB1dCBNaXhlcjYKKyAqLworI2RlZmluZSBXTTg5OTBfUkkyQlZPTF9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgwNyAgLyogUkkyQlZPTCAtIFs4OjZdICovCisjZGVmaW5lIFdNODk5MF9SSTJCVk9MX1NISUZUCQkJNgorI2RlZmluZSBXTTg5OTBfUkw0QlZPTF9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgwNyAgLyogUkw0QlZPTCAtIFs1OjNdICovCisjZGVmaW5lIFdNODk5MF9STDRCVk9MX1NISUZUCQkJMworI2RlZmluZSBXTTg5OTBfUlI0QlZPTF9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgwNyAgLyogUlI0QlZPTCAtIFsyOjBdICovCisjZGVmaW5lIFdNODk5MF9SUjRCVk9MX1NISUZUCQkJMAorCisvKgorICogUjQ1ICgweDJEKSAtIE91dHB1dCBNaXhlcjEKKyAqLworI2RlZmluZSBXTTg5OTBfTFJCTE8gICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDgwICAvKiBMUkJMTyAqLworI2RlZmluZSBXTTg5OTBfTFJCTE9fQklUCQkJNworI2RlZmluZSBXTTg5OTBfTExCTE8gICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDQwICAvKiBMTEJMTyAqLworI2RlZmluZSBXTTg5OTBfTExCTE9fQklUCQkJNgorI2RlZmluZSBXTTg5OTBfTFJJM0xPICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDIwICAvKiBMUkkzTE8gKi8KKyNkZWZpbmUgV004OTkwX0xSSTNMT19CSVQJCQk1CisjZGVmaW5lIFdNODk5MF9MTEkzTE8gICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMTAgIC8qIExMSTNMTyAqLworI2RlZmluZSBXTTg5OTBfTExJM0xPX0JJVAkJCTQKKyNkZWZpbmUgV004OTkwX0xSMTJMTyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwOCAgLyogTFIxMkxPICovCisjZGVmaW5lIFdNODk5MF9MUjEyTE9fQklUCQkJMworI2RlZmluZSBXTTg5OTBfTEwxMkxPICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDA0ICAvKiBMTDEyTE8gKi8KKyNkZWZpbmUgV004OTkwX0xMMTJMT19CSVQJCQkyCisjZGVmaW5lIFdNODk5MF9MRExPICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDEgIC8qIExETE8gKi8KKyNkZWZpbmUgV004OTkwX0xETE9fQklUCQkJCTAKKworLyoKKyAqIFI0NiAoMHgyRSkgLSBPdXRwdXQgTWl4ZXIyCisgKi8KKyNkZWZpbmUgV004OTkwX1JMQlJPICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA4MCAgLyogUkxCUk8gKi8KKyNkZWZpbmUgV004OTkwX1JMQlJPX0JJVAkJCTcKKyNkZWZpbmUgV004OTkwX1JSQlJPICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA0MCAgLyogUlJCUk8gKi8KKyNkZWZpbmUgV004OTkwX1JSQlJPX0JJVAkJCTYKKyNkZWZpbmUgV004OTkwX1JMSTNSTyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAyMCAgLyogUkxJM1JPICovCisjZGVmaW5lIFdNODk5MF9STEkzUk9fQklUCQkJNQorI2RlZmluZSBXTTg5OTBfUlJJM1JPICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDEwICAvKiBSUkkzUk8gKi8KKyNkZWZpbmUgV004OTkwX1JSSTNST19CSVQJCQk0CisjZGVmaW5lIFdNODk5MF9STDEyUk8gICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDggIC8qIFJMMTJSTyAqLworI2RlZmluZSBXTTg5OTBfUkwxMlJPX0JJVAkJCTMKKyNkZWZpbmUgV004OTkwX1JSMTJSTyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwNCAgLyogUlIxMlJPICovCisjZGVmaW5lIFdNODk5MF9SUjEyUk9fQklUCQkJMgorI2RlZmluZSBXTTg5OTBfUkRSTyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAxICAvKiBSRFJPICovCisjZGVmaW5lIFdNODk5MF9SRFJPX0JJVAkJCQkwCisKKy8qCisgKiBSNDcgKDB4MkYpIC0gT3V0cHV0IE1peGVyMworICovCisjZGVmaW5lIFdNODk5MF9MTEkzTE9WT0xfTUFTSyAgICAgICAgICAgICAgICAgICAweDA3ICAvKiBMTEkzTE9WT0wgLSBbODo2XSAqLworI2RlZmluZSBXTTg5OTBfTExJM0xPVk9MX1NISUZUCQkJNgorI2RlZmluZSBXTTg5OTBfTFIxMkxPVk9MX01BU0sgICAgICAgICAgICAgICAgICAgMHgwNyAgLyogTFIxMkxPVk9MIC0gWzU6M10gKi8KKyNkZWZpbmUgV004OTkwX0xSMTJMT1ZPTF9TSElGVAkJCTMKKyNkZWZpbmUgV004OTkwX0xMMTJMT1ZPTF9NQVNLICAgICAgICAgICAgICAgICAgIDB4MDcgIC8qIExMMTJMT1ZPTCAtIFsyOjBdICovCisjZGVmaW5lIFdNODk5MF9MTDEyTE9WT0xfU0hJRlQJCQkwCisKKy8qCisgKiBSNDggKDB4MzApIC0gT3V0cHV0IE1peGVyNAorICovCisjZGVmaW5lIFdNODk5MF9SUkkzUk9WT0xfTUFTSyAgICAgICAgICAgICAgICAgICAweDA3ICAvKiBSUkkzUk9WT0wgLSBbODo2XSAqLworI2RlZmluZSBXTTg5OTBfUlJJM1JPVk9MX1NISUZUCQkJNgorI2RlZmluZSBXTTg5OTBfUkwxMlJPVk9MX01BU0sgICAgICAgICAgICAgICAgICAgMHgwNyAgLyogUkwxMlJPVk9MIC0gWzU6M10gKi8KKyNkZWZpbmUgV004OTkwX1JMMTJST1ZPTF9TSElGVAkJCTMKKyNkZWZpbmUgV004OTkwX1JSMTJST1ZPTF9NQVNLICAgICAgICAgICAgICAgICAgIDB4MDcgIC8qIFJSMTJST1ZPTCAtIFsyOjBdICovCisjZGVmaW5lIFdNODk5MF9SUjEyUk9WT0xfU0hJRlQJCQkwCisKKy8qCisgKiBSNDkgKDB4MzEpIC0gT3V0cHV0IE1peGVyNQorICovCisjZGVmaW5lIFdNODk5MF9MUkkzTE9WT0xfTUFTSyAgICAgICAgICAgICAgICAgICAweDA3ICAvKiBMUkkzTE9WT0wgLSBbODo2XSAqLworI2RlZmluZSBXTTg5OTBfTFJJM0xPVk9MX1NISUZUCQkJNgorI2RlZmluZSBXTTg5OTBfTFJCTE9WT0xfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgwNyAgLyogTFJCTE9WT0wgLSBbNTozXSAqLworI2RlZmluZSBXTTg5OTBfTFJCTE9WT0xfU0hJRlQJCQkzCisjZGVmaW5lIFdNODk5MF9MTEJMT1ZPTF9NQVNLICAgICAgICAgICAgICAgICAgICAweDA3ICAvKiBMTEJMT1ZPTCAtIFsyOjBdICovCisjZGVmaW5lIFdNODk5MF9MTEJMT1ZPTF9TSElGVAkJCTAKKworLyoKKyAqIFI1MCAoMHgzMikgLSBPdXRwdXQgTWl4ZXI2CisgKi8KKyNkZWZpbmUgV004OTkwX1JMSTNST1ZPTF9NQVNLICAgICAgICAgICAgICAgICAgIDB4MDcgIC8qIFJMSTNST1ZPTCAtIFs4OjZdICovCisjZGVmaW5lIFdNODk5MF9STEkzUk9WT0xfU0hJRlQJCQk2CisjZGVmaW5lIFdNODk5MF9STEJST1ZPTF9NQVNLICAgICAgICAgICAgICAgICAgICAweDA3ICAvKiBSTEJST1ZPTCAtIFs1OjNdICovCisjZGVmaW5lIFdNODk5MF9STEJST1ZPTF9TSElGVAkJCTMKKyNkZWZpbmUgV004OTkwX1JSQlJPVk9MX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MDcgIC8qIFJSQlJPVk9MIC0gWzI6MF0gKi8KKyNkZWZpbmUgV004OTkwX1JSQlJPVk9MX1NISUZUCQkJMAorCisvKgorICogUjUxICgweDMzKSAtIE91dDMvNCBNaXhlcgorICovCisjZGVmaW5lIFdNODk5MF9WU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDAxODAgIC8qIFZTRUwgLSBbODo3XSAqLworI2RlZmluZSBXTTg5OTBfTEk0TzMgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDIwICAvKiBMSTRPMyAqLworI2RlZmluZSBXTTg5OTBfTEk0TzNfQklUCQkJNQorI2RlZmluZSBXTTg5OTBfTFBHQU8zICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDEwICAvKiBMUEdBTzMgKi8KKyNkZWZpbmUgV004OTkwX0xQR0FPM19CSVQJCQk0CisjZGVmaW5lIFdNODk5MF9SSTRPNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDIgIC8qIFJJNE80ICovCisjZGVmaW5lIFdNODk5MF9SSTRPNF9CSVQJCQkxCisjZGVmaW5lIFdNODk5MF9SUEdBTzQgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDEgIC8qIFJQR0FPNCAqLworI2RlZmluZSBXTTg5OTBfUlBHQU80X0JJVAkJCTAKKy8qCisgKiBSNTIgKDB4MzQpIC0gTGluZSBNaXhlcjEKKyAqLworI2RlZmluZSBXTTg5OTBfTExPUEdBTE9OICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDQwICAvKiBMTE9QR0FMT04gKi8KKyNkZWZpbmUgV004OTkwX0xMT1BHQUxPTl9CSVQJCQk2CisjZGVmaW5lIFdNODk5MF9MUk9QR0FMT04gICAgICAgICAgICAgICAgICAgICAgICAweDAwMjAgIC8qIExST1BHQUxPTiAqLworI2RlZmluZSBXTTg5OTBfTFJPUEdBTE9OX0JJVAkJCTUKKyNkZWZpbmUgV004OTkwX0xPUExPTiAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAxMCAgLyogTE9QTE9OICovCisjZGVmaW5lIFdNODk5MF9MT1BMT05fQklUCQkJNAorI2RlZmluZSBXTTg5OTBfTFIxMkxPUCAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDA0ICAvKiBMUjEyTE9QICovCisjZGVmaW5lIFdNODk5MF9MUjEyTE9QX0JJVAkJCTIKKyNkZWZpbmUgV004OTkwX0xMMTJMT1AgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMiAgLyogTEwxMkxPUCAqLworI2RlZmluZSBXTTg5OTBfTEwxMkxPUF9CSVQJCQkxCisjZGVmaW5lIFdNODk5MF9MTE9QR0FMT1AgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDEgIC8qIExMT1BHQUxPUCAqLworI2RlZmluZSBXTTg5OTBfTExPUEdBTE9QX0JJVAkJCTAKKy8qCisgKiBSNTMgKDB4MzUpIC0gTGluZSBNaXhlcjIKKyAqLworI2RlZmluZSBXTTg5OTBfUlJPUEdBUk9OICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDQwICAvKiBSUk9QR0FST04gKi8KKyNkZWZpbmUgV004OTkwX1JST1BHQVJPTl9CSVQJCQk2CisjZGVmaW5lIFdNODk5MF9STE9QR0FST04gICAgICAgICAgICAgICAgICAgICAgICAweDAwMjAgIC8qIFJMT1BHQVJPTiAqLworI2RlZmluZSBXTTg5OTBfUkxPUEdBUk9OX0JJVAkJCTUKKyNkZWZpbmUgV004OTkwX1JPUFJPTiAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAxMCAgLyogUk9QUk9OICovCisjZGVmaW5lIFdNODk5MF9ST1BST05fQklUCQkJNAorI2RlZmluZSBXTTg5OTBfUkwxMlJPUCAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDA0ICAvKiBSTDEyUk9QICovCisjZGVmaW5lIFdNODk5MF9STDEyUk9QX0JJVAkJCTIKKyNkZWZpbmUgV004OTkwX1JSMTJST1AgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMiAgLyogUlIxMlJPUCAqLworI2RlZmluZSBXTTg5OTBfUlIxMlJPUF9CSVQJCQkxCisjZGVmaW5lIFdNODk5MF9SUk9QR0FST1AgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDEgIC8qIFJST1BHQVJPUCAqLworI2RlZmluZSBXTTg5OTBfUlJPUEdBUk9QX0JJVAkJCTAKKworLyoKKyAqIFI1NCAoMHgzNikgLSBTcGVha2VyIE1peGVyCisgKi8KKyNkZWZpbmUgV004OTkwX0xCMlNQSyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA4MCAgLyogTEIyU1BLICovCisjZGVmaW5lIFdNODk5MF9MQjJTUEtfQklUCQkJNworI2RlZmluZSBXTTg5OTBfUkIyU1BLICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDQwICAvKiBSQjJTUEsgKi8KKyNkZWZpbmUgV004OTkwX1JCMlNQS19CSVQJCQk2CisjZGVmaW5lIFdNODk5MF9MSTJTUEsgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMjAgIC8qIExJMlNQSyAqLworI2RlZmluZSBXTTg5OTBfTEkyU1BLX0JJVAkJCTUKKyNkZWZpbmUgV004OTkwX1JJMlNQSyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAxMCAgLyogUkkyU1BLICovCisjZGVmaW5lIFdNODk5MF9SSTJTUEtfQklUCQkJNAorI2RlZmluZSBXTTg5OTBfTE9QR0FTUEsgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDA4ICAvKiBMT1BHQVNQSyAqLworI2RlZmluZSBXTTg5OTBfTE9QR0FTUEtfQklUCQkJMworI2RlZmluZSBXTTg5OTBfUk9QR0FTUEsgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDA0ICAvKiBST1BHQVNQSyAqLworI2RlZmluZSBXTTg5OTBfUk9QR0FTUEtfQklUCQkJMgorI2RlZmluZSBXTTg5OTBfTERTUEsgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAyICAvKiBMRFNQSyAqLworI2RlZmluZSBXTTg5OTBfTERTUEtfQklUCQkJMQorI2RlZmluZSBXTTg5OTBfUkRTUEsgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAxICAvKiBSRFNQSyAqLworI2RlZmluZSBXTTg5OTBfUkRTUEtfQklUCQkJMAorCisvKgorICogUjU1ICgweDM3KSAtIEFkZGl0aW9uYWwgQ29udHJvbAorICovCisjZGVmaW5lIFdNODk5MF9WUk9JICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDEgIC8qIFZST0kgKi8KKworLyoKKyAqIFI1NiAoMHgzOCkgLSBBbnRpUE9QMQorICovCisjZGVmaW5lIFdNODk5MF9ESVNfTExJTkUgICAgICAgICAgICAgICAgICAgICAgICAweDAwMjAgIC8qIERJU19MTElORSAqLworI2RlZmluZSBXTTg5OTBfRElTX1JMSU5FICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDEwICAvKiBESVNfUkxJTkUgKi8KKyNkZWZpbmUgV004OTkwX0RJU19PVVQzICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwOCAgLyogRElTX09VVDMgKi8KKyNkZWZpbmUgV004OTkwX0RJU19PVVQ0ICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwNCAgLyogRElTX09VVDQgKi8KKyNkZWZpbmUgV004OTkwX0RJU19MT1VUICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMiAgLyogRElTX0xPVVQgKi8KKyNkZWZpbmUgV004OTkwX0RJU19ST1VUICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMSAgLyogRElTX1JPVVQgKi8KKworLyoKKyAqIFI1NyAoMHgzOSkgLSBBbnRpUE9QMgorICovCisjZGVmaW5lIFdNODk5MF9TT0ZUU1QgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwNDAgIC8qIFNPRlRTVCAqLworI2RlZmluZSBXTTg5OTBfQlVGSU9FTiAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDA4ICAvKiBCVUZJT0VOICovCisjZGVmaW5lIFdNODk5MF9CVUZEQ09QRU4gICAgICAgICAgICAgICAgICAgICAgICAweDAwMDQgIC8qIEJVRkRDT1BFTiAqLworI2RlZmluZSBXTTg5OTBfUE9CQ1RSTCAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAyICAvKiBQT0JDVFJMICovCisjZGVmaW5lIFdNODk5MF9WTUlEVE9HICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDEgIC8qIFZNSURUT0cgKi8KKworLyoKKyAqIFI1OCAoMHgzQSkgLSBNSUNCSUFTCisgKi8KKyNkZWZpbmUgV004OTkwX01DRFNDVEhfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MDBDMCAgLyogTUNEU0NUSCAtIFs3OjZdICovCisjZGVmaW5lIFdNODk5MF9NQ0RUSFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDAwMzggIC8qIE1DRFRIUiAtIFs1OjNdICovCisjZGVmaW5lIFdNODk5MF9NQ0QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDQgIC8qIE1DRCAqLworI2RlZmluZSBXTTg5OTBfTUJTRUwgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAxICAvKiBNQlNFTCAqLworCisvKgorICogUjYwICgweDNDKSAtIFBMTDEKKyAqLworI2RlZmluZSBXTTg5OTBfU0RNICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDgwICAvKiBTRE0gKi8KKyNkZWZpbmUgV004OTkwX1BSRVNDQUxFICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA0MCAgLyogUFJFU0NBTEUgKi8KKyNkZWZpbmUgV004OTkwX1BMTE5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwRiAgLyogUExMTiAtIFszOjBdICovCisKKy8qCisgKiBSNjEgKDB4M0QpIC0gUExMMgorICovCisjZGVmaW5lIFdNODk5MF9QTExLMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDAwRkYgIC8qIFBMTEsxIC0gWzc6MF0gKi8KKworLyoKKyAqIFI2MiAoMHgzRSkgLSBQTEwzCisgKi8KKyNkZWZpbmUgV004OTkwX1BMTEsyX01BU0sgICAgICAgICAgICAgICAgICAgICAgIDB4MDBGRiAgLyogUExMSzIgLSBbNzowXSAqLworCisvKgorICogUjYzICgweDNGKSAtIEludGVybmFsIERyaXZlciBCaXRzCisgKi8KKyNkZWZpbmUgV004OTkwX0lOTUlYTF9QV1JfQklUCQkJMAorI2RlZmluZSBXTTg5OTBfQUlOTE1VWF9QV1JfQklUCQkJMQorI2RlZmluZSBXTTg5OTBfSU5NSVhSX1BXUl9CSVQJCQkyCisjZGVmaW5lIFdNODk5MF9BSU5STVVYX1BXUl9CSVQJCQkzCisKK3N0cnVjdCB3bTg5OTBfc2V0dXBfZGF0YSB7CisJdW5zaWduZWQgc2hvcnQgaTJjX2FkZHJlc3M7Cit9OworCisjZGVmaW5lIFdNODk5MF9NQ0xLX0RJViAwCisjZGVmaW5lIFdNODk5MF9EQUNDTEtfRElWIDEKKyNkZWZpbmUgV004OTkwX0FEQ0NMS19ESVYgMgorI2RlZmluZSBXTTg5OTBfQkNMS19ESVYgMworCitleHRlcm4gc3RydWN0IHNuZF9zb2NfZGFpIHdtODk5MF9kYWk7CitleHRlcm4gc3RydWN0IHNuZF9zb2NfY29kZWNfZGV2aWNlIHNvY19jb2RlY19kZXZfd204OTkwOworCisjZW5kaWYJLyogX19XTTg5OTBSRUdJU1RFUkRFRlNfSF9fICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBFTkQgT0YgRklMRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2NvZGVjcy93bTk3MTIuYyBiL3NvdW5kL3NvYy9jb2RlY3Mvd205NzEyLmMKaW5kZXggNzZjMWUyZC4uOWZjOGVkZCAxMDA2NDQKLS0tIGEvc291bmQvc29jL2NvZGVjcy93bTk3MTIuYworKysgYi9zb3VuZC9zb2MvY29kZWNzL3dtOTcxMi5jCkBAIC05LDkgKzksNiBAQAogICogIHVuZGVyICB0aGUgdGVybXMgb2YgIHRoZSBHTlUgR2VuZXJhbCAgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZQogICogIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgIGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlICBMaWNlbnNlLCBvciAoYXQgeW91cgogICogIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogIFJldmlzaW9uIGhpc3RvcnkKLSAqICAgIDR0aCBGZWIgMjAwNiAgIEluaXRpYWwgdmVyc2lvbi4KICAqLwogCiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgpAQCAtMjUsNiArMjIsNyBAQAogI2luY2x1ZGUgPHNvdW5kL2luaXR2YWwuaD4KICNpbmNsdWRlIDxzb3VuZC9zb2MuaD4KICNpbmNsdWRlIDxzb3VuZC9zb2MtZGFwbS5oPgorI2luY2x1ZGUgIndtOTcxMi5oIgogCiAjZGVmaW5lIFdNOTcxMl9WRVJTSU9OICIwLjQiCiAKQEAgLTM1MSw3ICszNDksNyBAQAogU05EX1NPQ19EQVBNX0lOUFVUKCJNSUMyIiksCiB9OwogCi1zdGF0aWMgY29uc3QgY2hhciAqYXVkaW9fbWFwW11bM10gPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9zb2NfZGFwbV9yb3V0ZSBhdWRpb19tYXBbXSA9IHsKIAkvKiB2aXJ0dWFsIG1peGVyIC0gbWl4ZXMgbGVmdCAmIHJpZ2h0IGNoYW5uZWxzIGZvciBzcGsgYW5kIG1vbm8gKi8KIAl7IkFDOTcgTWl4ZXIiLCBOVUxMLCAiTGVmdCBEQUMifSwKIAl7IkFDOTcgTWl4ZXIiLCBOVUxMLCAiUmlnaHQgREFDIn0sCkBAIC00NDYsMjEgKzQ0NCwxNCBAQAogCXsiU3BlYWtlciBQR0EiLCBOVUxMLCAiU3BlYWtlciBNdXgifSwKIAl7IkxPVVQyIiwgTlVMTCwgIlNwZWFrZXIgUEdBIn0sCiAJeyJST1VUMiIsIE5VTEwsICJTcGVha2VyIFBHQSJ9LAotCi0Je05VTEwsIE5VTEwsIE5VTEx9LAogfTsKIAogc3RhdGljIGludCB3bTk3MTJfYWRkX3dpZGdldHMoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjKQogewotCWludCBpOworCXNuZF9zb2NfZGFwbV9uZXdfY29udHJvbHMoY29kZWMsIHdtOTcxMl9kYXBtX3dpZGdldHMsCisJCQkJICBBUlJBWV9TSVpFKHdtOTcxMl9kYXBtX3dpZGdldHMpKTsKIAotCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHdtOTcxMl9kYXBtX3dpZGdldHMpOyBpKyspCi0JCXNuZF9zb2NfZGFwbV9uZXdfY29udHJvbChjb2RlYywgJndtOTcxMl9kYXBtX3dpZGdldHNbaV0pOwotCi0JLyogc2V0IHVwIGF1ZGlvIHBhdGggY29ubmVjdHMgKi8KLQlmb3IgKGkgPSAwOyBhdWRpb19tYXBbaV1bMF0gIT0gTlVMTDsgaSsrKQotCQlzbmRfc29jX2RhcG1fY29ubmVjdF9pbnB1dChjb2RlYywgYXVkaW9fbWFwW2ldWzBdLAotCQkJCQkgICBhdWRpb19tYXBbaV1bMV0sIGF1ZGlvX21hcFtpXVsyXSk7CisJc25kX3NvY19kYXBtX2FkZF9yb3V0ZXMoY29kZWMsIGF1ZGlvX21hcCwgQVJSQVlfU0laRShhdWRpb19tYXApKTsKIAogCXNuZF9zb2NfZGFwbV9uZXdfd2lkZ2V0cyhjb2RlYyk7CiAJcmV0dXJuIDA7CkBAIC01NDEsNyArNTMyLDcgQEAKIAkJU05EUlZfUENNX1JBVEVfMjIwNTAgfCBTTkRSVl9QQ01fUkFURV80NDEwMCB8XAogCQlTTkRSVl9QQ01fUkFURV80ODAwMCkKIAotc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpIHdtOTcxMl9kYWlbXSA9IHsKK3N0cnVjdCBzbmRfc29jX2RhaSB3bTk3MTJfZGFpW10gPSB7CiB7CiAJLm5hbWUgPSAiQUM5NyBIaUZpIiwKIAkudHlwZSA9IFNORF9TT0NfREFJX0FDOTdfQlVTLApAQCAtNTc0LDIzICs1NjUsMjMgQEAKIH07CiBFWFBPUlRfU1lNQk9MX0dQTCh3bTk3MTJfZGFpKTsKIAotc3RhdGljIGludCB3bTk3MTJfZGFwbV9ldmVudChzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsIGludCBldmVudCkKK3N0YXRpYyBpbnQgd205NzEyX3NldF9iaWFzX2xldmVsKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywKKwkJCQkgZW51bSBzbmRfc29jX2JpYXNfbGV2ZWwgbGV2ZWwpCiB7Ci0Jc3dpdGNoIChldmVudCkgewotCWNhc2UgU05EUlZfQ1RMX1BPV0VSX0QwOiAvKiBmdWxsIE9uICovCi0JY2FzZSBTTkRSVl9DVExfUE9XRVJfRDE6IC8qIHBhcnRpYWwgT24gKi8KLQljYXNlIFNORFJWX0NUTF9QT1dFUl9EMjogLyogcGFydGlhbCBPbiAqLworCXN3aXRjaCAobGV2ZWwpIHsKKwljYXNlIFNORF9TT0NfQklBU19PTjoKKwljYXNlIFNORF9TT0NfQklBU19QUkVQQVJFOgogCQlicmVhazsKLQljYXNlIFNORFJWX0NUTF9QT1dFUl9EM2hvdDogLyogT2ZmLCB3aXRoIHBvd2VyICovCisJY2FzZSBTTkRfU09DX0JJQVNfU1RBTkRCWToKIAkJYWM5N193cml0ZShjb2RlYywgQUM5N19QT1dFUkRPV04sIDB4MDAwMCk7CiAJCWJyZWFrOwotCWNhc2UgU05EUlZfQ1RMX1BPV0VSX0QzY29sZDogLyogT2ZmLCB3aXRob3V0IHBvd2VyICovCisJY2FzZSBTTkRfU09DX0JJQVNfT0ZGOgogCQkvKiBkaXNhYmxlIGV2ZXJ5dGhpbmcgaW5jbHVkaW5nIEFDIGxpbmsgKi8KIAkJYWM5N193cml0ZShjb2RlYywgQUM5N19FWFRFTkRFRF9NU1RBVFVTLCAweGZmZmYpOwogCQlhYzk3X3dyaXRlKGNvZGVjLCBBQzk3X1BPV0VSRE9XTiwgMHhmZmZmKTsKIAkJYnJlYWs7CiAJfQotCWNvZGVjLT5kYXBtX3N0YXRlID0gZXZlbnQ7CisJY29kZWMtPmJpYXNfbGV2ZWwgPSBsZXZlbDsKIAlyZXR1cm4gMDsKIH0KIApAQCAtNTk4LDEyICs1ODksMTIgQEAKIHsKIAlpZiAodHJ5X3dhcm0gJiYgc29jX2FjOTdfb3BzLndhcm1fcmVzZXQpIHsKIAkJc29jX2FjOTdfb3BzLndhcm1fcmVzZXQoY29kZWMtPmFjOTcpOwotCQlpZiAoIShhYzk3X3JlYWQoY29kZWMsIDApICYgMHg4MDAwKSkKKwkJaWYgKGFjOTdfcmVhZChjb2RlYywgMCkgPT0gd205NzEyX3JlZ1swXSkKIAkJCXJldHVybiAxOwogCX0KIAogCXNvY19hYzk3X29wcy5yZXNldChjb2RlYy0+YWM5Nyk7Ci0JaWYgKGFjOTdfcmVhZChjb2RlYywgMCkgJiAweDgwMDApCisJaWYgKGFjOTdfcmVhZChjb2RlYywgMCkgIT0gd205NzEyX3JlZ1swXSkKIAkJZ290byBlcnI7CiAJcmV0dXJuIDA7CiAKQEAgLTYxOCw3ICs2MDksNyBAQAogCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc29jZGV2LT5jb2RlYzsKIAotCXdtOTcxMl9kYXBtX2V2ZW50KGNvZGVjLCBTTkRSVl9DVExfUE9XRVJfRDNjb2xkKTsKKwl3bTk3MTJfc2V0X2JpYXNfbGV2ZWwoY29kZWMsIFNORF9TT0NfQklBU19PRkYpOwogCXJldHVybiAwOwogfQogCkBAIC02MzUsNyArNjI2LDcgQEAKIAkJcmV0dXJuIHJldDsKIAl9CiAKLQl3bTk3MTJfZGFwbV9ldmVudChjb2RlYywgU05EUlZfQ1RMX1BPV0VSX0QzaG90KTsKKwl3bTk3MTJfc2V0X2JpYXNfbGV2ZWwoY29kZWMsIFNORF9TT0NfQklBU19TVEFOREJZKTsKIAogCWlmIChyZXQgPT0gMCkgewogCQkvKiBTeW5jIHJlZ19jYWNoZSB3aXRoIHRoZSBoYXJkd2FyZSBhZnRlciBjb2xkIHJlc2V0ICovCkBAIC02NDcsOCArNjM4LDggQEAKIAkJfQogCX0KIAotCWlmIChjb2RlYy0+c3VzcGVuZF9kYXBtX3N0YXRlID09IFNORFJWX0NUTF9QT1dFUl9EMCkKLQkJd205NzEyX2RhcG1fZXZlbnQoY29kZWMsIFNORFJWX0NUTF9QT1dFUl9EMCk7CisJaWYgKGNvZGVjLT5zdXNwZW5kX2JpYXNfbGV2ZWwgPT0gU05EX1NPQ19CSUFTX09OKQorCQl3bTk3MTJfc2V0X2JpYXNfbGV2ZWwoY29kZWMsIFNORF9TT0NfQklBU19PTik7CiAKIAlyZXR1cm4gcmV0OwogfQpAQCAtNjgyLDcgKzY3Myw3IEBACiAJY29kZWMtPm51bV9kYWkgPSBBUlJBWV9TSVpFKHdtOTcxMl9kYWkpOwogCWNvZGVjLT53cml0ZSA9IGFjOTdfd3JpdGU7CiAJY29kZWMtPnJlYWQgPSBhYzk3X3JlYWQ7Ci0JY29kZWMtPmRhcG1fZXZlbnQgPSB3bTk3MTJfZGFwbV9ldmVudDsKKwljb2RlYy0+c2V0X2JpYXNfbGV2ZWwgPSB3bTk3MTJfc2V0X2JpYXNfbGV2ZWw7CiAJSU5JVF9MSVNUX0hFQUQoJmNvZGVjLT5kYXBtX3dpZGdldHMpOwogCUlOSVRfTElTVF9IRUFEKCZjb2RlYy0+ZGFwbV9wYXRocyk7CiAKQEAgLTcwNiw3ICs2OTcsNyBAQAogCS8qIHNldCBhbGMgbXV4IHRvIG5vbmUgKi8KIAlhYzk3X3dyaXRlKGNvZGVjLCBBQzk3X1ZJREVPLCBhYzk3X3JlYWQoY29kZWMsIEFDOTdfVklERU8pIHwgMHgzMDAwKTsKIAotCXdtOTcxMl9kYXBtX2V2ZW50KGNvZGVjLCBTTkRSVl9DVExfUE9XRVJfRDNob3QpOworCXdtOTcxMl9zZXRfYmlhc19sZXZlbChjb2RlYywgU05EX1NPQ19CSUFTX1NUQU5EQlkpOwogCXdtOTcxMl9hZGRfY29udHJvbHMoY29kZWMpOwogCXdtOTcxMl9hZGRfd2lkZ2V0cyhjb2RlYyk7CiAJcmV0ID0gc25kX3NvY19yZWdpc3Rlcl9jYXJkKHNvY2Rldik7CmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvY29kZWNzL3dtOTcxMi5oIGIvc291bmQvc29jL2NvZGVjcy93bTk3MTIuaAppbmRleCA3MTkxMDVkLi5kMjllOGExIDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvY29kZWNzL3dtOTcxMi5oCisrKyBiL3NvdW5kL3NvYy9jb2RlY3Mvd205NzEyLmgKQEAgLTgsNyArOCw3IEBACiAjZGVmaW5lIFdNOTcxMl9EQUlfQUM5N19ISUZJCTAKICNkZWZpbmUgV005NzEyX0RBSV9BQzk3X0FVWAkJMQogCi1leHRlcm4gc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpIHdtOTcxMl9kYWlbMl07CitleHRlcm4gc3RydWN0IHNuZF9zb2NfZGFpIHdtOTcxMl9kYWlbMl07CiBleHRlcm4gc3RydWN0IHNuZF9zb2NfY29kZWNfZGV2aWNlIHNvY19jb2RlY19kZXZfd205NzEyOwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2RlY3Mvd205NzEzLmMgYi9zb3VuZC9zb2MvY29kZWNzL3dtOTcxMy5jCmluZGV4IDFmMjQxMTYuLjM4ZDFmZTAgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9jb2RlY3Mvd205NzEzLmMKKysrIGIvc291bmQvc29jL2NvZGVjcy93bTk3MTMuYwpAQCAtMTAsOSArMTAsNiBAQAogICogIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgIGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlICBMaWNlbnNlLCBvciAoYXQgeW91cgogICogIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAgKgotICogIFJldmlzaW9uIGhpc3RvcnkKLSAqICAgIDR0aCBGZWIgMjAwNiAgIEluaXRpYWwgdmVyc2lvbi4KLSAqCiAgKiAgRmVhdHVyZXM6LQogICoKICAqICAgbyBTdXBwb3J0IGZvciBBQzk3IENvZGVjLCBWb2ljZSBEQUMgYW5kIEF1eCBEQUMKQEAgLTQ1Niw3ICs0NTMsNyBAQAogU05EX1NPQ19EQVBNX1ZNSUQoIlZNSUQiKSwKIH07CiAKLXN0YXRpYyBjb25zdCBjaGFyICphdWRpb19tYXBbXVszXSA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX3NvY19kYXBtX3JvdXRlIGF1ZGlvX21hcFtdID0gewogCS8qIGxlZnQgSFAgbWl4ZXIgKi8KIAl7IkxlZnQgSFAgTWl4ZXIiLCAiUEMgQmVlcCBQbGF5YmFjayBTd2l0Y2giLCAiUENCRUVQIn0sCiAJeyJMZWZ0IEhQIE1peGVyIiwgIlZvaWNlIFBsYXliYWNrIFN3aXRjaCIsICAgIlZvaWNlIERBQyJ9LApAQCAtNjA3LDIxICs2MDQsMTQgQEAKIAl7IkNhcHR1cmUgTW9ubyBNdXgiLCAiU3RlcmVvIiwgIkNhcHR1cmUgTWl4ZXIifSwKIAl7IkNhcHR1cmUgTW9ubyBNdXgiLCAiTGVmdCIsICJMZWZ0IENhcHR1cmUgU291cmNlIn0sCiAJeyJDYXB0dXJlIE1vbm8gTXV4IiwgIlJpZ2h0IiwgIlJpZ2h0IENhcHR1cmUgU291cmNlIn0sCi0KLQl7TlVMTCwgTlVMTCwgTlVMTH0sCiB9OwogCiBzdGF0aWMgaW50IHdtOTcxM19hZGRfd2lkZ2V0cyhzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMpCiB7Ci0JaW50IGk7CisJc25kX3NvY19kYXBtX25ld19jb250cm9scyhjb2RlYywgd205NzEzX2RhcG1fd2lkZ2V0cywKKwkJCQkgIEFSUkFZX1NJWkUod205NzEzX2RhcG1fd2lkZ2V0cykpOwogCi0JZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUod205NzEzX2RhcG1fd2lkZ2V0cyk7IGkrKykKLQkJc25kX3NvY19kYXBtX25ld19jb250cm9sKGNvZGVjLCAmd205NzEzX2RhcG1fd2lkZ2V0c1tpXSk7Ci0KLQkvKiBzZXQgdXAgYXVkaW8gcGF0aCBhdWRpb19tYXBuZWN0cyAqLwotCWZvciAoaSA9IDA7IGF1ZGlvX21hcFtpXVswXSAhPSBOVUxMOyBpKyspCi0JCXNuZF9zb2NfZGFwbV9jb25uZWN0X2lucHV0KGNvZGVjLCBhdWRpb19tYXBbaV1bMF0sCi0JCQlhdWRpb19tYXBbaV1bMV0sIGF1ZGlvX21hcFtpXVsyXSk7CisJc25kX3NvY19kYXBtX2FkZF9yb3V0ZXMoY29kZWMsIGF1ZGlvX21hcCwgQVJSQVlfU0laRShhdWRpb19tYXApKTsKIAogCXNuZF9zb2NfZGFwbV9uZXdfd2lkZ2V0cyhjb2RlYyk7CiAJcmV0dXJuIDA7CkBAIC03OTksNyArNzg5LDcgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCB3bTk3MTNfc2V0X2RhaV9wbGwoc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWksCitzdGF0aWMgaW50IHdtOTcxM19zZXRfZGFpX3BsbChzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSwKIAkJaW50IHBsbF9pZCwgdW5zaWduZWQgaW50IGZyZXFfaW4sIHVuc2lnbmVkIGludCBmcmVxX291dCkKIHsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBjb2RlY19kYWktPmNvZGVjOwpAQCAtODEwLDcgKzgwMCw3IEBACiAgKiBUcmlzdGF0ZSB0aGUgUENNIERBSSBsaW5lcywgdHJpc3RhdGUgY2FuIGJlIGRpc2FibGVkIGJ5IGNhbGxpbmcKICAqIHdtOTcxM19zZXRfZGFpX2ZtdCgpCiAgKi8KLXN0YXRpYyBpbnQgd205NzEzX3NldF9kYWlfdHJpc3RhdGUoc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWksCitzdGF0aWMgaW50IHdtOTcxM19zZXRfZGFpX3RyaXN0YXRlKHN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpLAogCWludCB0cmlzdGF0ZSkKIHsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBjb2RlY19kYWktPmNvZGVjOwpAQCAtODI2LDcgKzgxNiw3IEBACiAgKiBDb25maWd1cmUgV005NzEzIGNsb2NrIGRpdmlkZXJzLgogICogVm9pY2UgREFDIG5lZWRzIDI1NiBGUwogICovCi1zdGF0aWMgaW50IHdtOTcxM19zZXRfZGFpX2Nsa2RpdihzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSwKK3N0YXRpYyBpbnQgd205NzEzX3NldF9kYWlfY2xrZGl2KHN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpLAogCQlpbnQgZGl2X2lkLCBpbnQgZGl2KQogewogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IGNvZGVjX2RhaS0+Y29kZWM7CkBAIC04NjgsNyArODU4LDcgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCB3bTk3MTNfc2V0X2RhaV9mbXQoc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWksCitzdGF0aWMgaW50IHdtOTcxM19zZXRfZGFpX2ZtdChzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSwKIAkJdW5zaWduZWQgaW50IGZtdCkKIHsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBjb2RlY19kYWktPmNvZGVjOwpAQCAtODg2LDcgKzg3Niw3IEBACiAJCWdwaW8gfD0gMHgwMDE4OwogCQlicmVhazsKIAljYXNlIFNORF9TT0NfREFJRk1UX0NCU19DRlM6Ci0JCXJlZyB8PSAweDAyMDA7CisJCXJlZyB8PSAweDIwMDA7CiAJCWdwaW8gfD0gMHgwMDFhOwogCQlicmVhazsKIAljYXNlIFNORF9TT0NfREFJRk1UX0NCU19DRk06CkBAIC0xMDExLDE1ICsxMDAxLDI0IEBACiAJcmV0dXJuIGFjOTdfd3JpdGUoY29kZWMsIEFDOTdfUENNX1NVUlJfREFDX1JBVEUsIHJ1bnRpbWUtPnJhdGUpOwogfQogCi0jZGVmaW5lIFdNOTcxM19SQVRFUyAoU05EUlZfUENNX1JBVEVfODAwMCB8IFNORFJWX1BDTV9SQVRFXzExMDI1IHxcCi0JCVNORFJWX1BDTV9SQVRFXzIyMDUwIHwgU05EUlZfUENNX1JBVEVfNDQxMDAgfFwKLQkJU05EUlZfUENNX1JBVEVfNDgwMDApCisjZGVmaW5lIFdNOTcxM19SQVRFUyAoU05EUlZfUENNX1JBVEVfODAwMCAgfAlcCisJCSAgICAgIFNORFJWX1BDTV9SQVRFXzExMDI1IHwJXAorCQkgICAgICBTTkRSVl9QQ01fUkFURV8yMjA1MCB8CVwKKwkJICAgICAgU05EUlZfUENNX1JBVEVfNDQxMDAgfAlcCisJCSAgICAgIFNORFJWX1BDTV9SQVRFXzQ4MDAwKQorCisjZGVmaW5lIFdNOTcxM19QQ01fUkFURVMgKFNORFJWX1BDTV9SQVRFXzgwMDAgIHwJXAorCQkJICBTTkRSVl9QQ01fUkFURV8xMTAyNSB8CVwKKwkJCSAgU05EUlZfUENNX1JBVEVfMTYwMDAgfAlcCisJCQkgIFNORFJWX1BDTV9SQVRFXzIyMDUwIHwJXAorCQkJICBTTkRSVl9QQ01fUkFURV80NDEwMCB8CVwKKwkJCSAgU05EUlZfUENNX1JBVEVfNDgwMDApCiAKICNkZWZpbmUgV005NzEzX1BDTV9GT1JNQVRTIFwKIAkoU05EUlZfUENNX0ZPUk1BVF9TMTZfTEUgfCBTTkRSVl9QQ01fRk9STUFUX1MyMF8zTEUgfCBcCiAJIFNORFJWX1BDTV9GT1JNQVRfUzI0X0xFKQogCi1zdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgd205NzEzX2RhaVtdID0geworc3RydWN0IHNuZF9zb2NfZGFpIHdtOTcxM19kYWlbXSA9IHsKIHsKIAkubmFtZSA9ICJBQzk3IEhpRmkiLAogCS50eXBlID0gU05EX1NPQ19EQUlfQUM5N19CVVMsCkBAIC0xMDYxLDEzICsxMDYwLDEzIEBACiAJCS5zdHJlYW1fbmFtZSA9ICJWb2ljZSBQbGF5YmFjayIsCiAJCS5jaGFubmVsc19taW4gPSAxLAogCQkuY2hhbm5lbHNfbWF4ID0gMSwKLQkJLnJhdGVzID0gV005NzEzX1JBVEVTLAorCQkucmF0ZXMgPSBXTTk3MTNfUENNX1JBVEVTLAogCQkuZm9ybWF0cyA9IFdNOTcxM19QQ01fRk9STUFUUyx9LAogCS5jYXB0dXJlID0gewogCQkuc3RyZWFtX25hbWUgPSAiVm9pY2UgQ2FwdHVyZSIsCiAJCS5jaGFubmVsc19taW4gPSAxLAogCQkuY2hhbm5lbHNfbWF4ID0gMiwKLQkJLnJhdGVzID0gV005NzEzX1JBVEVTLAorCQkucmF0ZXMgPSBXTTk3MTNfUENNX1JBVEVTLAogCQkuZm9ybWF0cyA9IFdNOTcxM19QQ01fRk9STUFUUyx9LAogCS5vcHMgPSB7CiAJCS5od19wYXJhbXMgPSB3bTk3MTNfcGNtX2h3X3BhcmFtcywKQEAgLTEwODYsNDQgKzEwODUsNDQgQEAKIHsKIAlpZiAodHJ5X3dhcm0gJiYgc29jX2FjOTdfb3BzLndhcm1fcmVzZXQpIHsKIAkJc29jX2FjOTdfb3BzLndhcm1fcmVzZXQoY29kZWMtPmFjOTcpOwotCQlpZiAoIShhYzk3X3JlYWQoY29kZWMsIDApICYgMHg4MDAwKSkKKwkJaWYgKGFjOTdfcmVhZChjb2RlYywgMCkgPT0gd205NzEzX3JlZ1swXSkKIAkJCXJldHVybiAxOwogCX0KIAogCXNvY19hYzk3X29wcy5yZXNldChjb2RlYy0+YWM5Nyk7Ci0JaWYgKGFjOTdfcmVhZChjb2RlYywgMCkgJiAweDgwMDApCisJaWYgKGFjOTdfcmVhZChjb2RlYywgMCkgIT0gd205NzEzX3JlZ1swXSkKIAkJcmV0dXJuIC1FSU87CiAJcmV0dXJuIDA7CiB9CiBFWFBPUlRfU1lNQk9MX0dQTCh3bTk3MTNfcmVzZXQpOwogCi1zdGF0aWMgaW50IHdtOTcxM19kYXBtX2V2ZW50KHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywgaW50IGV2ZW50KQorc3RhdGljIGludCB3bTk3MTNfc2V0X2JpYXNfbGV2ZWwoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLAorCQkJCSBlbnVtIHNuZF9zb2NfYmlhc19sZXZlbCBsZXZlbCkKIHsKIAl1MTYgcmVnOwogCi0Jc3dpdGNoIChldmVudCkgewotCWNhc2UgU05EUlZfQ1RMX1BPV0VSX0QwOiAvKiBmdWxsIE9uICovCisJc3dpdGNoIChsZXZlbCkgeworCWNhc2UgU05EX1NPQ19CSUFTX09OOgogCQkvKiBlbmFibGUgdGhlcm1hbCBzaHV0ZG93biAqLwogCQlyZWcgPSBhYzk3X3JlYWQoY29kZWMsIEFDOTdfRVhURU5ERURfTUlEKSAmIDB4MWJmZjsKIAkJYWM5N193cml0ZShjb2RlYywgQUM5N19FWFRFTkRFRF9NSUQsIHJlZyk7CiAJCWJyZWFrOwotCWNhc2UgU05EUlZfQ1RMX1BPV0VSX0QxOiAvKiBwYXJ0aWFsIE9uICovCi0JY2FzZSBTTkRSVl9DVExfUE9XRVJfRDI6IC8qIHBhcnRpYWwgT24gKi8KKwljYXNlIFNORF9TT0NfQklBU19QUkVQQVJFOgogCQlicmVhazsKLQljYXNlIFNORFJWX0NUTF9QT1dFUl9EM2hvdDogLyogT2ZmLCB3aXRoIHBvd2VyICovCisJY2FzZSBTTkRfU09DX0JJQVNfU1RBTkRCWToKIAkJLyogZW5hYmxlIG1hc3RlciBiaWFzIGFuZCB2bWlkICovCiAJCXJlZyA9IGFjOTdfcmVhZChjb2RlYywgQUM5N19FWFRFTkRFRF9NSUQpICYgMHgzYmZmOwogCQlhYzk3X3dyaXRlKGNvZGVjLCBBQzk3X0VYVEVOREVEX01JRCwgcmVnKTsKIAkJYWM5N193cml0ZShjb2RlYywgQUM5N19QT1dFUkRPV04sIDB4MDAwMCk7CiAJCWJyZWFrOwotCWNhc2UgU05EUlZfQ1RMX1BPV0VSX0QzY29sZDogLyogT2ZmLCB3aXRob3V0IHBvd2VyICovCisJY2FzZSBTTkRfU09DX0JJQVNfT0ZGOgogCQkvKiBkaXNhYmxlIGV2ZXJ5dGhpbmcgaW5jbHVkaW5nIEFDIGxpbmsgKi8KIAkJYWM5N193cml0ZShjb2RlYywgQUM5N19FWFRFTkRFRF9NSUQsIDB4ZmZmZik7CiAJCWFjOTdfd3JpdGUoY29kZWMsIEFDOTdfRVhURU5ERURfTVNUQVRVUywgMHhmZmZmKTsKIAkJYWM5N193cml0ZShjb2RlYywgQUM5N19QT1dFUkRPV04sIDB4ZmZmZik7CiAJCWJyZWFrOwogCX0KLQljb2RlYy0+ZGFwbV9zdGF0ZSA9IGV2ZW50OworCWNvZGVjLT5iaWFzX2xldmVsID0gbGV2ZWw7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTExNjAsNyArMTE1OSw3IEBACiAJCXJldHVybiByZXQ7CiAJfQogCi0Jd205NzEzX2RhcG1fZXZlbnQoY29kZWMsIFNORFJWX0NUTF9QT1dFUl9EM2hvdCk7CisJd205NzEzX3NldF9iaWFzX2xldmVsKGNvZGVjLCBTTkRfU09DX0JJQVNfU1RBTkRCWSk7CiAKIAkvKiBkbyB3ZSBuZWVkIHRvIHJlLXN0YXJ0IHRoZSBQTEwgPyAqLwogCWlmICh3bTk3MTMtPnBsbF9vdXQpCkBAIC0xMTc2LDggKzExNzUsOCBAQAogCQl9CiAJfQogCi0JaWYgKGNvZGVjLT5zdXNwZW5kX2RhcG1fc3RhdGUgPT0gU05EUlZfQ1RMX1BPV0VSX0QwKQotCQl3bTk3MTNfZGFwbV9ldmVudChjb2RlYywgU05EUlZfQ1RMX1BPV0VSX0QwKTsKKwlpZiAoY29kZWMtPnN1c3BlbmRfYmlhc19sZXZlbCA9PSBTTkRfU09DX0JJQVNfT04pCisJCXdtOTcxM19zZXRfYmlhc19sZXZlbChjb2RlYywgU05EX1NPQ19CSUFTX09OKTsKIAogCXJldHVybiByZXQ7CiB9CkBAIC0xMjE2LDcgKzEyMTUsNyBAQAogCWNvZGVjLT5udW1fZGFpID0gQVJSQVlfU0laRSh3bTk3MTNfZGFpKTsKIAljb2RlYy0+d3JpdGUgPSBhYzk3X3dyaXRlOwogCWNvZGVjLT5yZWFkID0gYWM5N19yZWFkOwotCWNvZGVjLT5kYXBtX2V2ZW50ID0gd205NzEzX2RhcG1fZXZlbnQ7CisJY29kZWMtPnNldF9iaWFzX2xldmVsID0gd205NzEzX3NldF9iaWFzX2xldmVsOwogCUlOSVRfTElTVF9IRUFEKCZjb2RlYy0+ZGFwbV93aWRnZXRzKTsKIAlJTklUX0xJU1RfSEVBRCgmY29kZWMtPmRhcG1fcGF0aHMpOwogCkBAIC0xMjM4LDcgKzEyMzcsNyBAQAogCQlnb3RvIHJlc2V0X2VycjsKIAl9CiAKLQl3bTk3MTNfZGFwbV9ldmVudChjb2RlYywgU05EUlZfQ1RMX1BPV0VSX0QzaG90KTsKKwl3bTk3MTNfc2V0X2JpYXNfbGV2ZWwoY29kZWMsIFNORF9TT0NfQklBU19TVEFOREJZKTsKIAogCS8qIHVubXV0ZSB0aGUgYWRjIC0gbW92ZSB0byBrY29udHJvbCAqLwogCXJlZyA9IGFjOTdfcmVhZChjb2RlYywgQUM5N19DRCkgJiAweDdmZmY7CmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvY29kZWNzL3dtOTcxMy5oIGIvc291bmQvc29jL2NvZGVjcy93bTk3MTMuaAppbmRleCBkMzU3YjZjLi42M2I4ZDgxIDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvY29kZWNzL3dtOTcxMy5oCisrKyBiL3NvdW5kL3NvYy9jb2RlY3Mvd205NzEzLmgKQEAgLTQ2LDcgKzQ2LDcgQEAKICNkZWZpbmUgV005NzEzX0RBSV9QQ01fVk9JQ0UJMgogCiBleHRlcm4gc3RydWN0IHNuZF9zb2NfY29kZWNfZGV2aWNlIHNvY19jb2RlY19kZXZfd205NzEzOwotZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSB3bTk3MTNfZGFpWzNdOworZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2RhaSB3bTk3MTNfZGFpWzNdOwogCiBpbnQgd205NzEzX3Jlc2V0KHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywgIGludCB0cnlfd2FybSk7CiAKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9kYXZpbmNpL0tjb25maWcgYi9zb3VuZC9zb2MvZGF2aW5jaS9LY29uZmlnCmluZGV4IDIwNjgwYzUuLjhmN2UzMzggMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9kYXZpbmNpL0tjb25maWcKKysrIGIvc291bmQvc29jL2RhdmluY2kvS2NvbmZpZwpAQCAtMSw2ICsxLDYgQEAKIGNvbmZpZyBTTkRfREFWSU5DSV9TT0MKIAl0cmlzdGF0ZSAiU29DIEF1ZGlvIGZvciB0aGUgVEkgREFWSU5DSSBjaGlwIgotCWRlcGVuZHMgb24gQVJDSF9EQVZJTkNJICYmIFNORF9TT0MKKwlkZXBlbmRzIG9uIEFSQ0hfREFWSU5DSQogCWhlbHAKIAkgIFNheSBZIG9yIE0gaWYgeW91IHdhbnQgdG8gYWRkIHN1cHBvcnQgZm9yIGNvZGVjcyBhdHRhY2hlZCB0bwogCSAgdGhlIERBVklOQ0kgQUM5NyBvciBJMlMgaW50ZXJmYWNlLiBZb3Ugd2lsbCBhbHNvIG5lZWQKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9kYXZpbmNpL2RhdmluY2ktZXZtLmMgYi9zb3VuZC9zb2MvZGF2aW5jaS9kYXZpbmNpLWV2bS5jCmluZGV4IGZjZDE2NTIuLjVlMmMzMDYgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9kYXZpbmNpL2RhdmluY2ktZXZtLmMKKysrIGIvc291bmQvc29jL2RhdmluY2kvZGF2aW5jaS1ldm0uYwpAQCAtMzMsMjQgKzMzLDI0IEBACiAJCQkgc3RydWN0IHNuZF9wY21faHdfcGFyYW1zICpwYXJhbXMpCiB7CiAJc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRpbWUgKnJ0ZCA9IHN1YnN0cmVhbS0+cHJpdmF0ZV9kYXRhOwotCXN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpID0gcnRkLT5kYWktPmNvZGVjX2RhaTsKLQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWkgPSBydGQtPmRhaS0+Y29kZWNfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSA9IHJ0ZC0+ZGFpLT5jcHVfZGFpOwogCWludCByZXQgPSAwOwogCiAJLyogc2V0IGNvZGVjIERBSSBjb25maWd1cmF0aW9uICovCi0JcmV0ID0gY29kZWNfZGFpLT5kYWlfb3BzLnNldF9mbXQoY29kZWNfZGFpLCBTTkRfU09DX0RBSUZNVF9JMlMgfAorCXJldCA9IHNuZF9zb2NfZGFpX3NldF9mbXQoY29kZWNfZGFpLCBTTkRfU09DX0RBSUZNVF9JMlMgfAogCQkJCQkgU05EX1NPQ19EQUlGTVRfQ0JNX0NGTSk7CiAJaWYgKHJldCA8IDApCiAJCXJldHVybiByZXQ7CiAKIAkvKiBzZXQgY3B1IERBSSBjb25maWd1cmF0aW9uICovCi0JcmV0ID0gY3B1X2RhaS0+ZGFpX29wcy5zZXRfZm10KGNwdV9kYWksIFNORF9TT0NfREFJRk1UX0NCTV9DRk0gfAorCXJldCA9IHNuZF9zb2NfZGFpX3NldF9mbXQoY3B1X2RhaSwgU05EX1NPQ19EQUlGTVRfQ0JNX0NGTSB8CiAJCQkJICAgICAgIFNORF9TT0NfREFJRk1UX0lCX05GKTsKIAlpZiAocmV0IDwgMCkKIAkJcmV0dXJuIHJldDsKIAogCS8qIHNldCB0aGUgY29kZWMgc3lzdGVtIGNsb2NrICovCi0JcmV0ID0gY29kZWNfZGFpLT5kYWlfb3BzLnNldF9zeXNjbGsoY29kZWNfZGFpLCAwLCBFVk1fQ09ERUNfQ0xPQ0ssCisJcmV0ID0gc25kX3NvY19kYWlfc2V0X3N5c2Nsayhjb2RlY19kYWksIDAsIEVWTV9DT0RFQ19DTE9DSywKIAkJCQkJICAgIFNORF9TT0NfQ0xPQ0tfT1VUKTsKIAlpZiAocmV0IDwgMCkKIAkJcmV0dXJuIHJldDsKQEAgLTcxLDcgKzcxLDcgQEAKIH07CiAKIC8qIGRhdmluY2ktZXZtIG1hY2hpbmUgYXVkaW9fbWFwbmVjdGlvbnMgdG8gdGhlIGNvZGVjIHBpbnMgKi8KLXN0YXRpYyBjb25zdCBjaGFyICphdWRpb19tYXBbXVszXSA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX3NvY19kYXBtX3JvdXRlIGF1ZGlvX21hcFtdID0gewogCS8qIEhlYWRwaG9uZSBjb25uZWN0ZWQgdG8gSFBMT1VULCBIUFJPVVQgKi8KIAl7IkhlYWRwaG9uZSBKYWNrIiwgTlVMTCwgIkhQTE9VVCJ9LAogCXsiSGVhZHBob25lIEphY2siLCBOVUxMLCAiSFBST1VUIn0sCkBAIC05MCwzNiArOTAsMzAgQEAKIAl7IkxJTkUyTCIsIE5VTEwsICJMaW5lIEluIn0sCiAJeyJMSU5FMVIiLCBOVUxMLCAiTGluZSBJbiJ9LAogCXsiTElORTJSIiwgTlVMTCwgIkxpbmUgSW4ifSwKLQotCXtOVUxMLCBOVUxMLCBOVUxMfSwKIH07CiAKIC8qIExvZ2ljIGZvciBhIGFpYzN4IGFzIGNvbm5lY3RlZCBvbiBhIGRhdmluY2ktZXZtICovCiBzdGF0aWMgaW50IGV2bV9haWMzeF9pbml0KHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYykKIHsKLQlpbnQgaTsKLQogCS8qIEFkZCBkYXZpbmNpLWV2bSBzcGVjaWZpYyB3aWRnZXRzICovCi0JZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoYWljM3hfZGFwbV93aWRnZXRzKTsgaSsrKQotCQlzbmRfc29jX2RhcG1fbmV3X2NvbnRyb2woY29kZWMsICZhaWMzeF9kYXBtX3dpZGdldHNbaV0pOworCXNuZF9zb2NfZGFwbV9uZXdfY29udHJvbHMoY29kZWMsIGFpYzN4X2RhcG1fd2lkZ2V0cywKKwkJCQkgIEFSUkFZX1NJWkUoYWljM3hfZGFwbV93aWRnZXRzKSk7CiAKIAkvKiBTZXQgdXAgZGF2aW5jaS1ldm0gc3BlY2lmaWMgYXVkaW8gcGF0aCBhdWRpb19tYXAgKi8KLQlmb3IgKGkgPSAwOyBhdWRpb19tYXBbaV1bMF0gIT0gTlVMTDsgaSsrKQotCQlzbmRfc29jX2RhcG1fY29ubmVjdF9pbnB1dChjb2RlYywgYXVkaW9fbWFwW2ldWzBdLAotCQkJCQkgICBhdWRpb19tYXBbaV1bMV0sIGF1ZGlvX21hcFtpXVsyXSk7CisJc25kX3NvY19kYXBtX2FkZF9yb3V0ZXMoY29kZWMsIGF1ZGlvX21hcCwgQVJSQVlfU0laRShhdWRpb19tYXApKTsKIAogCS8qIG5vdCBjb25uZWN0ZWQgKi8KLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiTU9OT19MT1VUIiwgMCk7Ci0Jc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkhQTENPTSIsIDApOwotCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJIUFJDT00iLCAwKTsKKwlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJNT05PX0xPVVQiKTsKKwlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJIUExDT00iKTsKKwlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJIUFJDT00iKTsKIAogCS8qIGFsd2F5cyBjb25uZWN0ZWQgKi8KLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiSGVhZHBob25lIEphY2siLCAxKTsKLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiTGluZSBPdXQiLCAxKTsKLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiTWljIEphY2siLCAxKTsKLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiTGluZSBJbiIsIDEpOworCXNuZF9zb2NfZGFwbV9lbmFibGVfcGluKGNvZGVjLCAiSGVhZHBob25lIEphY2siKTsKKwlzbmRfc29jX2RhcG1fZW5hYmxlX3Bpbihjb2RlYywgIkxpbmUgT3V0Iik7CisJc25kX3NvY19kYXBtX2VuYWJsZV9waW4oY29kZWMsICJNaWMgSmFjayIpOworCXNuZF9zb2NfZGFwbV9lbmFibGVfcGluKGNvZGVjLCAiTGluZSBJbiIpOwogCi0Jc25kX3NvY19kYXBtX3N5bmNfZW5kcG9pbnRzKGNvZGVjKTsKKwlzbmRfc29jX2RhcG1fc3luYyhjb2RlYyk7CiAKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9kYXZpbmNpL2RhdmluY2ktaTJzLmMgYi9zb3VuZC9zb2MvZGF2aW5jaS9kYXZpbmNpLWkycy5jCmluZGV4IGM0MjE3NzQuLjVlYmYxZmYgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9kYXZpbmNpL2RhdmluY2ktaTJzLmMKKysrIGIvc291bmQvc29jL2RhdmluY2kvZGF2aW5jaS1pMnMuYwpAQCAtMTQ3LDcgKzE0Nyw3IEBACiBzdGF0aWMgaW50IGRhdmluY2lfaTJzX3N0YXJ0dXAoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCiB7CiAJc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRpbWUgKnJ0ZCA9IHN1YnN0cmVhbS0+cHJpdmF0ZV9kYXRhOwotCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWkgPSBydGQtPmRhaS0+Y3B1X2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkgPSBydGQtPmRhaS0+Y3B1X2RhaTsKIAlzdHJ1Y3QgZGF2aW5jaV9tY2JzcF9kZXYgKmRldiA9IHJ0ZC0+ZGFpLT5jcHVfZGFpLT5wcml2YXRlX2RhdGE7CiAKIAljcHVfZGFpLT5kbWFfZGF0YSA9IGRldi0+ZG1hX3BhcmFtc1tzdWJzdHJlYW0tPnN0cmVhbV07CkBAIC0xNTUsNyArMTU1LDcgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBkYXZpbmNpX2kyc19zZXRfZGFpX2ZtdChzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpLAorc3RhdGljIGludCBkYXZpbmNpX2kyc19zZXRfZGFpX2ZtdChzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWksCiAJCQkJICAgdW5zaWduZWQgaW50IGZtdCkKIHsKIAlzdHJ1Y3QgZGF2aW5jaV9tY2JzcF9kZXYgKmRldiA9IGNwdV9kYWktPnByaXZhdGVfZGF0YTsKQEAgLTI5NSwxMSArMjk1LDEyIEBACiAJcmV0dXJuIHJldDsKIH0KIAotc3RhdGljIGludCBkYXZpbmNpX2kyc19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQorc3RhdGljIGludCBkYXZpbmNpX2kyc19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAorCQkJICAgICBzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSkKIHsKIAlzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOwogCXN0cnVjdCBzbmRfc29jX21hY2hpbmUgKm1hY2hpbmUgPSBzb2NkZXYtPm1hY2hpbmU7Ci0Jc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSA9IG1hY2hpbmUtPmRhaV9saW5rW3BkZXYtPmlkXS5jcHVfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSA9IG1hY2hpbmUtPmRhaV9saW5rW3BkZXYtPmlkXS5jcHVfZGFpOwogCXN0cnVjdCBkYXZpbmNpX21jYnNwX2RldiAqZGV2OwogCXN0cnVjdCByZXNvdXJjZSAqbWVtLCAqaW9hcmVhOwogCXN0cnVjdCBldm1fc25kX3BsYXRmb3JtX2RhdGEgKnBkYXRhOwpAQCAtMzU2LDExICszNTcsMTIgQEAKIAlyZXR1cm4gcmV0OwogfQogCi1zdGF0aWMgdm9pZCBkYXZpbmNpX2kyc19yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3N0YXRpYyB2b2lkIGRhdmluY2lfaTJzX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAorCQkJICAgICAgIHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpKQogewogCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CiAJc3RydWN0IHNuZF9zb2NfbWFjaGluZSAqbWFjaGluZSA9IHNvY2Rldi0+bWFjaGluZTsKLQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpID0gbWFjaGluZS0+ZGFpX2xpbmtbcGRldi0+aWRdLmNwdV9kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpID0gbWFjaGluZS0+ZGFpX2xpbmtbcGRldi0+aWRdLmNwdV9kYWk7CiAJc3RydWN0IGRhdmluY2lfbWNic3BfZGV2ICpkZXYgPSBjcHVfZGFpLT5wcml2YXRlX2RhdGE7CiAJc3RydWN0IHJlc291cmNlICptZW07CiAKQEAgLTM3Niw3ICszNzgsNyBAQAogCiAjZGVmaW5lIERBVklOQ0lfSTJTX1JBVEVTCVNORFJWX1BDTV9SQVRFXzgwMDBfOTYwMDAKIAotc3RydWN0IHNuZF9zb2NfY3B1X2RhaSBkYXZpbmNpX2kyc19kYWkgPSB7CitzdHJ1Y3Qgc25kX3NvY19kYWkgZGF2aW5jaV9pMnNfZGFpID0gewogCS5uYW1lID0gImRhdmluY2ktaTJzIiwKIAkuaWQgPSAwLAogCS50eXBlID0gU05EX1NPQ19EQUlfSTJTLApkaWZmIC0tZ2l0IGEvc291bmQvc29jL2RhdmluY2kvZGF2aW5jaS1pMnMuaCBiL3NvdW5kL3NvYy9kYXZpbmNpL2RhdmluY2ktaTJzLmgKaW5kZXggOTU5MmQxNy4uYzViMDkxOCAxMDA2NDQKLS0tIGEvc291bmQvc29jL2RhdmluY2kvZGF2aW5jaS1pMnMuaAorKysgYi9zb3VuZC9zb2MvZGF2aW5jaS9kYXZpbmNpLWkycy5oCkBAIC0xMiw2ICsxMiw2IEBACiAjaWZuZGVmIF9EQVZJTkNJX0kyU19ICiAjZGVmaW5lIF9EQVZJTkNJX0kyU19ICiAKLWV4dGVybiBzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpIGRhdmluY2lfaTJzX2RhaTsKK2V4dGVybiBzdHJ1Y3Qgc25kX3NvY19kYWkgZGF2aW5jaV9pMnNfZGFpOwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9kYXZpbmNpL2RhdmluY2ktcGNtLmMgYi9zb3VuZC9zb2MvZGF2aW5jaS9kYXZpbmNpLXBjbS5jCmluZGV4IDZhNzY5MjcuLjZhNWU1NmEgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9kYXZpbmNpL2RhdmluY2ktcGNtLmMKKysrIGIvc291bmQvc29jL2RhdmluY2kvZGF2aW5jaS1wY20uYwpAQCAtMzUwLDcgKzM1MCw3IEBACiBzdGF0aWMgdTY0IGRhdmluY2lfcGNtX2RtYW1hc2sgPSAweGZmZmZmZmZmOwogCiBzdGF0aWMgaW50IGRhdmluY2lfcGNtX25ldyhzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQsCi0JCQkgICBzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmRhaSwgc3RydWN0IHNuZF9wY20gKnBjbSkKKwkJCSAgIHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLCBzdHJ1Y3Qgc25kX3BjbSAqcGNtKQogewogCWludCByZXQ7CiAKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9mc2wvS2NvbmZpZyBiL3NvdW5kL3NvYy9mc2wvS2NvbmZpZwppbmRleCAyNTcxMDFmLi4zMzY4YWNlIDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvZnNsL0tjb25maWcKKysrIGIvc291bmQvc29jL2ZzbC9LY29uZmlnCkBAIC0xLDggKzEsNiBAQAotbWVudSAiQUxTQSBTb0MgYXVkaW8gZm9yIEZyZWVzY2FsZSBTT0NzIgotCiBjb25maWcgU05EX1NPQ19NUEM4NjEwCiAJYm9vbCAiQUxTQSBTb0Mgc3VwcG9ydCBmb3IgdGhlIE1QQzg2MTAgU09DIgotCWRlcGVuZHMgb24gU05EX1NPQyAmJiBNUEM4NjEwX0hQQ0QKKwlkZXBlbmRzIG9uIE1QQzg2MTBfSFBDRAogCWRlZmF1bHQgeSBpZiBNUEM4NjEwCiAJaGVscAogCSAgU2F5IFkgaWYgeW91IHdhbnQgdG8gYWRkIHN1cHBvcnQgZm9yIGNvZGVjcyBhdHRhY2hlZCB0byB0aGUgU1NJCkBAIC0xNiw1ICsxNCwzIEBACiAJZGVmYXVsdCB5IGlmIE1QQzg2MTBfSFBDRAogCWhlbHAKIAkgIFNheSBZIGlmIHlvdSB3YW50IHRvIGVuYWJsZSBhdWRpbyBvbiB0aGUgRnJlZXNjYWxlIE1QQzg2MTAgSFBDRC4KLQotZW5kbWVudQpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2ZzbC9mc2xfZG1hLmMgYi9zb3VuZC9zb2MvZnNsL2ZzbF9kbWEuYwppbmRleCA3OGRlNzE2Li5kYTJiYzU5IDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvZnNsL2ZzbF9kbWEuYworKysgYi9zb3VuZC9zb2MvZnNsL2ZzbF9kbWEuYwpAQCAtMjgyLDcgKzI4Miw3IEBACiAgKiBvbmNlIGZvciBlYWNoIC5kYWlfbGluayBpbiB0aGUgbWFjaGluZSBkcml2ZXIncyBzbmRfc29jX21hY2hpbmUKICAqIHN0cnVjdHVyZS4KICAqLwotc3RhdGljIGludCBmc2xfZG1hX25ldyhzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQsIHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqZGFpLAorc3RhdGljIGludCBmc2xfZG1hX25ldyhzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQsIHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLAogCXN0cnVjdCBzbmRfcGNtICpwY20pCiB7CiAJc3RhdGljIHU2NCBmc2xfZG1hX2RtYW1hc2sgPSBETUFfQklUX01BU0soMzIpOwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2ZzbC9mc2xfZG1hLmggYi9zb3VuZC9zb2MvZnNsL2ZzbF9kbWEuaAppbmRleCA0MzBhNmNlLi4zODVkNGE0IDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvZnNsL2ZzbF9kbWEuaAorKysgYi9zb3VuZC9zb2MvZnNsL2ZzbF9kbWEuaApAQCAtMTI2LDcgKzEyNiw3IEBACiAJdTggcmVzWzRdOyAgICAgIC8qIFJlc2VydmVkICovCiB9IF9fYXR0cmlidXRlX18gKChhbGlnbmVkKDMyKSwgcGFja2VkKSk7CiAKLS8qIERNQSBpbmZvcm1hdGlvbiBuZWVkZWQgdG8gY3JlYXRlIGEgc25kX3NvY19jcHVfZGFpIG9iamVjdAorLyogRE1BIGluZm9ybWF0aW9uIG5lZWRlZCB0byBjcmVhdGUgYSBzbmRfc29jX2RhaSBvYmplY3QKICAqCiAgKiBzc2lfc3R4X3BoeXM6IGJ1cyBhZGRyZXNzIG9mIFNTSSBTVFggcmVnaXN0ZXIgdG8gdXNlCiAgKiBzc2lfc3J4X3BoeXM6IGJ1cyBhZGRyZXNzIG9mIFNTSSBTUlggcmVnaXN0ZXIgdG8gdXNlCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvZnNsL2ZzbF9zc2kuYyBiL3NvdW5kL3NvYy9mc2wvZnNsX3NzaS5jCmluZGV4IGY1ODg1NDUuLjcxYmZmMzMgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9mc2wvZnNsX3NzaS5jCisrKyBiL3NvdW5kL3NvYy9mc2wvZnNsX3NzaS5jCkBAIC04Miw3ICs4Miw3IEBACiAJc3RydWN0IGRldmljZSAqZGV2OwogCXVuc2lnbmVkIGludCBwbGF5YmFjazsKIAl1bnNpZ25lZCBpbnQgY2FwdHVyZTsKLQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpIGNwdV9kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpIGNwdV9kYWk7CiAJc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgZGV2X2F0dHI7CiAKIAlzdHJ1Y3QgewpAQCAtNDc5LDcgKzQ3OSw3IEBACiAgKiBAZnJlcTogdGhlIGZyZXF1ZW5jeSBvZiB0aGUgZ2l2ZW4gY2xvY2sgSUQsIGN1cnJlbnRseSBpZ25vcmVkCiAgKiBAZGlyOiBTTkRfU09DX0NMT0NLX0lOIChjbG9jayBzbGF2ZSkgb3IgU05EX1NPQ19DTE9DS19PVVQgKGNsb2NrIG1hc3RlcikKICAqLwotc3RhdGljIGludCBmc2xfc3NpX3NldF9zeXNjbGsoc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSwKK3N0YXRpYyBpbnQgZnNsX3NzaV9zZXRfc3lzY2xrKHN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSwKIAkJCSAgICAgIGludCBjbGtfaWQsIHVuc2lnbmVkIGludCBmcmVxLCBpbnQgZGlyKQogewogCkBAIC00OTcsNyArNDk3LDcgQEAKICAqCiAgKiBAZm9ybWF0OiBvbmUgb2YgU05EX1NPQ19EQUlGTVRfeHh4CiAgKi8KLXN0YXRpYyBpbnQgZnNsX3NzaV9zZXRfZm10KHN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWksIHVuc2lnbmVkIGludCBmb3JtYXQpCitzdGF0aWMgaW50IGZzbF9zc2lfc2V0X2ZtdChzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWksIHVuc2lnbmVkIGludCBmb3JtYXQpCiB7CiAJcmV0dXJuIChmb3JtYXQgPT0gU05EX1NPQ19EQUlGTVRfSTJTKSA/IDAgOiAtRUlOVkFMOwogfQpAQCAtNTA1LDcgKzUwNSw3IEBACiAvKioKICAqIGZzbF9zc2lfZGFpX3RlbXBsYXRlOiB0ZW1wbGF0ZSBDUFUgREFJIGZvciB0aGUgU1NJCiAgKi8KLXN0YXRpYyBzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpIGZzbF9zc2lfZGFpX3RlbXBsYXRlID0geworc3RhdGljIHN0cnVjdCBzbmRfc29jX2RhaSBmc2xfc3NpX2RhaV90ZW1wbGF0ZSA9IHsKIAkucGxheWJhY2sgPSB7CiAJCS8qIFRoZSBTU0kgZG9lcyBub3Qgc3VwcG9ydCBtb25hdXJhbCBhdWRpby4gKi8KIAkJLmNoYW5uZWxzX21pbiA9IDIsCkBAIC01NjksMTUgKzU2OSwxNSBAQAogfQogCiAvKioKLSAqIGZzbF9zc2lfY3JlYXRlX2RhaTogY3JlYXRlIGEgc25kX3NvY19jcHVfZGFpIHN0cnVjdHVyZQorICogZnNsX3NzaV9jcmVhdGVfZGFpOiBjcmVhdGUgYSBzbmRfc29jX2RhaSBzdHJ1Y3R1cmUKICAqCi0gKiBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBieSB0aGUgbWFjaGluZSBkcml2ZXIgdG8gY3JlYXRlIGEgc25kX3NvY19jcHVfZGFpCisgKiBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBieSB0aGUgbWFjaGluZSBkcml2ZXIgdG8gY3JlYXRlIGEgc25kX3NvY19kYWkKICAqIHN0cnVjdHVyZS4gIFRoZSBmdW5jdGlvbiBjcmVhdGVzIGFuIHNzaV9wcml2YXRlIG9iamVjdCwgd2hpY2ggY29udGFpbnMKLSAqIHRoZSBzbmRfc29jX2NwdV9kYWkuICBJdCBhbHNvIGNyZWF0ZXMgdGhlIHN5c2ZzIHN0YXRpc3RpY3MgZGV2aWNlLgorICogdGhlIHNuZF9zb2NfZGFpLiAgSXQgYWxzbyBjcmVhdGVzIHRoZSBzeXNmcyBzdGF0aXN0aWNzIGRldmljZS4KICAqLwotc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqZnNsX3NzaV9jcmVhdGVfZGFpKHN0cnVjdCBmc2xfc3NpX2luZm8gKnNzaV9pbmZvKQorc3RydWN0IHNuZF9zb2NfZGFpICpmc2xfc3NpX2NyZWF0ZV9kYWkoc3RydWN0IGZzbF9zc2lfaW5mbyAqc3NpX2luZm8pCiB7Ci0Jc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqZnNsX3NzaV9kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpmc2xfc3NpX2RhaTsKIAlzdHJ1Y3QgZnNsX3NzaV9wcml2YXRlICpzc2lfcHJpdmF0ZTsKIAlpbnQgcmV0ID0gMDsKIAlzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqZGV2X2F0dHI7CkBAIC01ODgsNyArNTg4LDcgQEAKIAkJcmV0dXJuIE5VTEw7CiAJfQogCW1lbWNweSgmc3NpX3ByaXZhdGUtPmNwdV9kYWksICZmc2xfc3NpX2RhaV90ZW1wbGF0ZSwKLQkgICAgICAgc2l6ZW9mKHN0cnVjdCBzbmRfc29jX2NwdV9kYWkpKTsKKwkgICAgICAgc2l6ZW9mKHN0cnVjdCBzbmRfc29jX2RhaSkpOwogCiAJZnNsX3NzaV9kYWkgPSAmc3NpX3ByaXZhdGUtPmNwdV9kYWk7CiAJZGV2X2F0dHIgPSAmc3NpX3ByaXZhdGUtPmRldl9hdHRyOwpAQCAtNjIzLDExICs2MjMsMTEgQEAKIEVYUE9SVF9TWU1CT0xfR1BMKGZzbF9zc2lfY3JlYXRlX2RhaSk7CiAKIC8qKgotICogZnNsX3NzaV9kZXN0cm95X2RhaTogZGVzdHJveSB0aGUgc25kX3NvY19jcHVfZGFpIG9iamVjdAorICogZnNsX3NzaV9kZXN0cm95X2RhaTogZGVzdHJveSB0aGUgc25kX3NvY19kYWkgb2JqZWN0CiAgKgogICogVGhpcyBmdW5jdGlvbiB1bmRvZXMgdGhlIG9wZXJhdGlvbnMgb2YgZnNsX3NzaV9jcmVhdGVfZGFpKCkKICAqLwotdm9pZCBmc2xfc3NpX2Rlc3Ryb3lfZGFpKHN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmZzbF9zc2lfZGFpKQordm9pZCBmc2xfc3NpX2Rlc3Ryb3lfZGFpKHN0cnVjdCBzbmRfc29jX2RhaSAqZnNsX3NzaV9kYWkpCiB7CiAJc3RydWN0IGZzbF9zc2lfcHJpdmF0ZSAqc3NpX3ByaXZhdGUgPQogCWNvbnRhaW5lcl9vZihmc2xfc3NpX2RhaSwgc3RydWN0IGZzbF9zc2lfcHJpdmF0ZSwgY3B1X2RhaSk7CmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvZnNsL2ZzbF9zc2kuaCBiL3NvdW5kL3NvYy9mc2wvZnNsX3NzaS5oCmluZGV4IGM1Y2U4OGUuLjgzYjQ0ZDcgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9mc2wvZnNsX3NzaS5oCisrKyBiL3NvdW5kL3NvYy9mc2wvZnNsX3NzaS5oCkBAIC0yMTcsOCArMjE3LDggQEAKIAlzdHJ1Y3QgZGV2aWNlICpkZXY7CiB9OwogCi1zdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpmc2xfc3NpX2NyZWF0ZV9kYWkoc3RydWN0IGZzbF9zc2lfaW5mbyAqc3NpX2luZm8pOwotdm9pZCBmc2xfc3NpX2Rlc3Ryb3lfZGFpKHN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmZzbF9zc2lfZGFpKTsKK3N0cnVjdCBzbmRfc29jX2RhaSAqZnNsX3NzaV9jcmVhdGVfZGFpKHN0cnVjdCBmc2xfc3NpX2luZm8gKnNzaV9pbmZvKTsKK3ZvaWQgZnNsX3NzaV9kZXN0cm95X2RhaShzdHJ1Y3Qgc25kX3NvY19kYWkgKmZzbF9zc2lfZGFpKTsKIAogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9mc2wvbXBjODYxMF9ocGNkLmMgYi9zb3VuZC9zb2MvZnNsL21wYzg2MTBfaHBjZC5jCmluZGV4IGEwMGFhYzcuLjRiZGM5ZDggMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9mc2wvbXBjODYxMF9ocGNkLmMKKysrIGIvc291bmQvc29jL2ZzbC9tcGM4NjEwX2hwY2QuYwpAQCAtNTgsOSArNTgsOSBAQAogCQlzb3VuZF9kZXZpY2UtPmRldi5wbGF0Zm9ybV9kYXRhOwogCiAJLyogUHJvZ3JhbSB0aGUgc2lnbmFsIHJvdXRpbmcgYmV0d2VlbiB0aGUgU1NJIGFuZCB0aGUgRE1BICovCi0JZ3V0c19zZXRfZG1hY3IobWFjaGluZV9kYXRhLT5ndXRzLCBtYWNoaW5lX2RhdGEtPmRtYV9pZCArIDEsCisJZ3V0c19zZXRfZG1hY3IobWFjaGluZV9kYXRhLT5ndXRzLCBtYWNoaW5lX2RhdGEtPmRtYV9pZCwKIAkJbWFjaGluZV9kYXRhLT5kbWFfY2hhbm5lbF9pZFswXSwgQ0NTUl9HVVRTX0RNQUNSX0RFVl9TU0kpOwotCWd1dHNfc2V0X2RtYWNyKG1hY2hpbmVfZGF0YS0+Z3V0cywgbWFjaGluZV9kYXRhLT5kbWFfaWQgKyAxLAorCWd1dHNfc2V0X2RtYWNyKG1hY2hpbmVfZGF0YS0+Z3V0cywgbWFjaGluZV9kYXRhLT5kbWFfaWQsCiAJCW1hY2hpbmVfZGF0YS0+ZG1hX2NoYW5uZWxfaWRbMV0sIENDU1JfR1VUU19ETUFDUl9ERVZfU1NJKTsKIAogCWd1dHNfc2V0X3BtdXhjcl9kbWEobWFjaGluZV9kYXRhLT5ndXRzLCBtYWNoaW5lX2RhdGEtPmRtYV9pZCwKQEAgLTk2LDYyICs5Niw1MiBAQAogc3RhdGljIGludCBtcGM4NjEwX2hwY2Rfc3RhcnR1cChzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKIHsKIAlzdHJ1Y3Qgc25kX3NvY19wY21fcnVudGltZSAqcnRkID0gc3Vic3RyZWFtLT5wcml2YXRlX2RhdGE7Ci0Jc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWkgPSBydGQtPmRhaS0+Y29kZWNfZGFpOwotCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWkgPSBydGQtPmRhaS0+Y3B1X2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSA9IHJ0ZC0+ZGFpLT5jb2RlY19kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CiAJc3RydWN0IG1wYzg2MTBfaHBjZF9kYXRhICptYWNoaW5lX2RhdGEgPQogCQlydGQtPnNvY2Rldi0+ZGV2LT5wbGF0Zm9ybV9kYXRhOwogCWludCByZXQgPSAwOwogCiAJLyogVGVsbCB0aGUgQ1BVIGRyaXZlciB3aGF0IHRoZSBzZXJpYWwgcHJvdG9jb2wgaXMuICovCi0JaWYgKGNwdV9kYWktPmRhaV9vcHMuc2V0X2ZtdCkgewotCQlyZXQgPSBjcHVfZGFpLT5kYWlfb3BzLnNldF9mbXQoY3B1X2RhaSwKLQkJCW1hY2hpbmVfZGF0YS0+ZGFpX2Zvcm1hdCk7Ci0JCWlmIChyZXQgPCAwKSB7Ci0JCQlkZXZfZXJyKHN1YnN0cmVhbS0+cGNtLT5jYXJkLT5kZXYsCi0JCQkJImNvdWxkIG5vdCBzZXQgQ1BVIGRyaXZlciBhdWRpbyBmb3JtYXRcbiIpOwotCQkJcmV0dXJuIHJldDsKLQkJfQorCXJldCA9IHNuZF9zb2NfZGFpX3NldF9mbXQoY3B1X2RhaSwgbWFjaGluZV9kYXRhLT5kYWlfZm9ybWF0KTsKKwlpZiAocmV0IDwgMCkgeworCQlkZXZfZXJyKHN1YnN0cmVhbS0+cGNtLT5jYXJkLT5kZXYsCisJCQkiY291bGQgbm90IHNldCBDUFUgZHJpdmVyIGF1ZGlvIGZvcm1hdFxuIik7CisJCXJldHVybiByZXQ7CiAJfQogCiAJLyogVGVsbCB0aGUgY29kZWMgZHJpdmVyIHdoYXQgdGhlIHNlcmlhbCBwcm90b2NvbCBpcy4gKi8KLQlpZiAoY29kZWNfZGFpLT5kYWlfb3BzLnNldF9mbXQpIHsKLQkJcmV0ID0gY29kZWNfZGFpLT5kYWlfb3BzLnNldF9mbXQoY29kZWNfZGFpLAotCQkJbWFjaGluZV9kYXRhLT5kYWlfZm9ybWF0KTsKLQkJaWYgKHJldCA8IDApIHsKLQkJCWRldl9lcnIoc3Vic3RyZWFtLT5wY20tPmNhcmQtPmRldiwKLQkJCQkiY291bGQgbm90IHNldCBjb2RlYyBkcml2ZXIgYXVkaW8gZm9ybWF0XG4iKTsKLQkJCXJldHVybiByZXQ7Ci0JCX0KKwlyZXQgPSBzbmRfc29jX2RhaV9zZXRfZm10KGNvZGVjX2RhaSwgbWFjaGluZV9kYXRhLT5kYWlfZm9ybWF0KTsKKwlpZiAocmV0IDwgMCkgeworCQlkZXZfZXJyKHN1YnN0cmVhbS0+cGNtLT5jYXJkLT5kZXYsCisJCQkiY291bGQgbm90IHNldCBjb2RlYyBkcml2ZXIgYXVkaW8gZm9ybWF0XG4iKTsKKwkJcmV0dXJuIHJldDsKIAl9CiAKIAkvKgogCSAqIFRlbGwgdGhlIENQVSBkcml2ZXIgd2hhdCB0aGUgY2xvY2sgZnJlcXVlbmN5IGlzLCBhbmQgd2hldGhlciBpdCdzIGEKIAkgKiBzbGF2ZSBvciBtYXN0ZXIuCiAJICovCi0JaWYgKGNwdV9kYWktPmRhaV9vcHMuc2V0X3N5c2NsaykgewotCQlyZXQgPSBjcHVfZGFpLT5kYWlfb3BzLnNldF9zeXNjbGsoY3B1X2RhaSwgMCwKLQkJCW1hY2hpbmVfZGF0YS0+Y2xrX2ZyZXF1ZW5jeSwKLQkJCW1hY2hpbmVfZGF0YS0+Y3B1X2Nsa19kaXJlY3Rpb24pOwotCQlpZiAocmV0IDwgMCkgewotCQkJZGV2X2VycihzdWJzdHJlYW0tPnBjbS0+Y2FyZC0+ZGV2LAotCQkJCSJjb3VsZCBub3Qgc2V0IENQVSBkcml2ZXIgY2xvY2sgcGFyYW1ldGVyc1xuIik7Ci0JCQlyZXR1cm4gcmV0OwotCQl9CisJcmV0ID0gc25kX3NvY19kYWlfc2V0X3N5c2NsayhjcHVfZGFpLCAwLAorCQkJCQltYWNoaW5lX2RhdGEtPmNsa19mcmVxdWVuY3ksCisJCQkJCW1hY2hpbmVfZGF0YS0+Y3B1X2Nsa19kaXJlY3Rpb24pOworCWlmIChyZXQgPCAwKSB7CisJCWRldl9lcnIoc3Vic3RyZWFtLT5wY20tPmNhcmQtPmRldiwKKwkJCSJjb3VsZCBub3Qgc2V0IENQVSBkcml2ZXIgY2xvY2sgcGFyYW1ldGVyc1xuIik7CisJCXJldHVybiByZXQ7CiAJfQogCiAJLyoKIAkgKiBUZWxsIHRoZSBjb2RlYyBkcml2ZXIgd2hhdCB0aGUgTUNMSyBmcmVxdWVuY3kgaXMsIGFuZCB3aGV0aGVyIGl0J3MKIAkgKiBhIHNsYXZlIG9yIG1hc3Rlci4KIAkgKi8KLQlpZiAoY29kZWNfZGFpLT5kYWlfb3BzLnNldF9zeXNjbGspIHsKLQkJcmV0ID0gY29kZWNfZGFpLT5kYWlfb3BzLnNldF9zeXNjbGsoY29kZWNfZGFpLCAwLAotCQkJbWFjaGluZV9kYXRhLT5jbGtfZnJlcXVlbmN5LAotCQkJbWFjaGluZV9kYXRhLT5jb2RlY19jbGtfZGlyZWN0aW9uKTsKLQkJaWYgKHJldCA8IDApIHsKLQkJCWRldl9lcnIoc3Vic3RyZWFtLT5wY20tPmNhcmQtPmRldiwKLQkJCQkiY291bGQgbm90IHNldCBjb2RlYyBkcml2ZXIgY2xvY2sgcGFyYW1zXG4iKTsKLQkJCXJldHVybiByZXQ7Ci0JCX0KKwlyZXQgPSBzbmRfc29jX2RhaV9zZXRfc3lzY2xrKGNvZGVjX2RhaSwgMCwKKwkJCQkJbWFjaGluZV9kYXRhLT5jbGtfZnJlcXVlbmN5LAorCQkJCQltYWNoaW5lX2RhdGEtPmNvZGVjX2Nsa19kaXJlY3Rpb24pOworCWlmIChyZXQgPCAwKSB7CisJCWRldl9lcnIoc3Vic3RyZWFtLT5wY20tPmNhcmQtPmRldiwKKwkJCSJjb3VsZCBub3Qgc2V0IGNvZGVjIGRyaXZlciBjbG9jayBwYXJhbXNcbiIpOworCQlyZXR1cm4gcmV0OwogCX0KIAogCXJldHVybiAwOwpAQCAtMTcwLDkgKzE2MCw5IEBACiAKIAkvKiBSZXN0b3JlIHRoZSBzaWduYWwgcm91dGluZyAqLwogCi0JZ3V0c19zZXRfZG1hY3IobWFjaGluZV9kYXRhLT5ndXRzLCBtYWNoaW5lX2RhdGEtPmRtYV9pZCArIDEsCisJZ3V0c19zZXRfZG1hY3IobWFjaGluZV9kYXRhLT5ndXRzLCBtYWNoaW5lX2RhdGEtPmRtYV9pZCwKIAkJbWFjaGluZV9kYXRhLT5kbWFfY2hhbm5lbF9pZFswXSwgMCk7Ci0JZ3V0c19zZXRfZG1hY3IobWFjaGluZV9kYXRhLT5ndXRzLCBtYWNoaW5lX2RhdGEtPmRtYV9pZCArIDEsCisJZ3V0c19zZXRfZG1hY3IobWFjaGluZV9kYXRhLT5ndXRzLCBtYWNoaW5lX2RhdGEtPmRtYV9pZCwKIAkJbWFjaGluZV9kYXRhLT5kbWFfY2hhbm5lbF9pZFsxXSwgMCk7CiAKIAlzd2l0Y2ggKG1hY2hpbmVfZGF0YS0+c3NpX2lkKSB7CkBAIC0xODIsNyArMTcyLDcgQEAKIAkJYnJlYWs7CiAJY2FzZSAxOgogCQljbHJzZXRiaXRzX2JlMzIoJm1hY2hpbmVfZGF0YS0+Z3V0cy0+cG11eGNyLAotCQkJQ0NTUl9HVVRTX1BNVVhDUl9TU0kyX01BU0ssIENDU1JfR1VUU19QTVVYQ1JfU1NJMV9MQSk7CisJCQlDQ1NSX0dVVFNfUE1VWENSX1NTSTJfTUFTSywgQ0NTUl9HVVRTX1BNVVhDUl9TU0kyX0xBKTsKIAkJYnJlYWs7CiAJfQogCmRpZmYgLS1naXQgYS9zb3VuZC9zb2Mvb21hcC9LY29uZmlnIGIvc291bmQvc29jL29tYXAvS2NvbmZpZwppbmRleCAwMjMwZDgzLi5hZWEyN2U3IDEwMDY0NAotLS0gYS9zb3VuZC9zb2Mvb21hcC9LY29uZmlnCisrKyBiL3NvdW5kL3NvYy9vbWFwL0tjb25maWcKQEAgLTEsNSArMSwzIEBACi1tZW51ICJTb0MgQXVkaW8gZm9yIHRoZSBUZXhhcyBJbnN0cnVtZW50cyBPTUFQIgotCiBjb25maWcgU05EX09NQVBfU09DCiAJdHJpc3RhdGUgIlNvQyBBdWRpbyBmb3IgdGhlIFRleGFzIEluc3RydW1lbnRzIE9NQVAgY2hpcHMiCiAJZGVwZW5kcyBvbiBBUkNIX09NQVAgJiYgU05EX1NPQwpAQCAtMTUsNSArMTMsMyBAQAogCXNlbGVjdCBTTkRfU09DX1RMVjMyMEFJQzNYCiAJaGVscAogCSAgU2F5IFkgaWYgeW91IHdhbnQgdG8gYWRkIHN1cHBvcnQgZm9yIFNvQyBhdWRpbyBvbiBOb2tpYSBOODEwLgotCi1lbmRtZW51CmRpZmYgLS1naXQgYS9zb3VuZC9zb2Mvb21hcC9uODEwLmMgYi9zb3VuZC9zb2Mvb21hcC9uODEwLmMKaW5kZXggNjUzMzU2My4uMDJjZWM5NjggMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9vbWFwL244MTAuYworKysgYi9zb3VuZC9zb2Mvb21hcC9uODEwLmMKQEAgLTMwLDE1ICszMCwxNSBAQAogCiAjaW5jbHVkZSA8YXNtL21hY2gtdHlwZXMuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9oYXJkd2FyZS5oPgotI2luY2x1ZGUgPGFzbS9hcmNoL2dwaW8uaD4KKyNpbmNsdWRlIDxsaW51eC9ncGlvLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvbWNic3AuaD4KIAogI2luY2x1ZGUgIm9tYXAtbWNic3AuaCIKICNpbmNsdWRlICJvbWFwLXBjbS5oIgogI2luY2x1ZGUgIi4uL2NvZGVjcy90bHYzMjBhaWMzeC5oIgogCi0jZGVmaW5lIFJYNDRfSEVBRFNFVF9BTVBfR1BJTwkxMAotI2RlZmluZSBSWDQ0X1NQRUFLRVJfQU1QX0dQSU8JMTAxCisjZGVmaW5lIE44MTBfSEVBRFNFVF9BTVBfR1BJTwkxMAorI2RlZmluZSBOODEwX1NQRUFLRVJfQU1QX0dQSU8JMTAxCiAKIHN0YXRpYyBzdHJ1Y3QgY2xrICpzeXNfY2xrb3V0MjsKIHN0YXRpYyBzdHJ1Y3QgY2xrICpzeXNfY2xrb3V0Ml9zcmM7CkBAIC00NiwxMyArNDYsMjYgQEAKIAogc3RhdGljIGludCBuODEwX3Nwa19mdW5jOwogc3RhdGljIGludCBuODEwX2phY2tfZnVuYzsKK3N0YXRpYyBpbnQgbjgxMF9kbWljX2Z1bmM7CiAKIHN0YXRpYyB2b2lkIG44MTBfZXh0X2NvbnRyb2woc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjKQogewotCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJFeHQgU3BrIiwgbjgxMF9zcGtfZnVuYyk7Ci0Jc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkhlYWRwaG9uZSBKYWNrIiwgbjgxMF9qYWNrX2Z1bmMpOworCWlmIChuODEwX3Nwa19mdW5jKQorCQlzbmRfc29jX2RhcG1fZW5hYmxlX3Bpbihjb2RlYywgIkV4dCBTcGsiKTsKKwllbHNlCisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkV4dCBTcGsiKTsKIAotCXNuZF9zb2NfZGFwbV9zeW5jX2VuZHBvaW50cyhjb2RlYyk7CisJaWYgKG44MTBfamFja19mdW5jKQorCQlzbmRfc29jX2RhcG1fZW5hYmxlX3Bpbihjb2RlYywgIkhlYWRwaG9uZSBKYWNrIik7CisJZWxzZQorCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJIZWFkcGhvbmUgSmFjayIpOworCisJaWYgKG44MTBfZG1pY19mdW5jKQorCQlzbmRfc29jX2RhcG1fZW5hYmxlX3Bpbihjb2RlYywgIkRNaWMiKTsKKwllbHNlCisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkRNaWMiKTsKKworCXNuZF9zb2NfZGFwbV9zeW5jKGNvZGVjKTsKIH0KIAogc3RhdGljIGludCBuODEwX3N0YXJ0dXAoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCkBAIC03MywxMiArODYsMTIgQEAKIAlzdHJ1Y3Qgc25kX3BjbV9od19wYXJhbXMgKnBhcmFtcykKIHsKIAlzdHJ1Y3Qgc25kX3NvY19wY21fcnVudGltZSAqcnRkID0gc3Vic3RyZWFtLT5wcml2YXRlX2RhdGE7Ci0Jc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWkgPSBydGQtPmRhaS0+Y29kZWNfZGFpOwotCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWkgPSBydGQtPmRhaS0+Y3B1X2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSA9IHJ0ZC0+ZGFpLT5jb2RlY19kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CiAJaW50IGVycjsKIAogCS8qIFNldCBjb2RlYyBEQUkgY29uZmlndXJhdGlvbiAqLwotCWVyciA9IGNvZGVjX2RhaS0+ZGFpX29wcy5zZXRfZm10KGNvZGVjX2RhaSwKKwllcnIgPSBzbmRfc29jX2RhaV9zZXRfZm10KGNvZGVjX2RhaSwKIAkJCQkJIFNORF9TT0NfREFJRk1UX0kyUyB8CiAJCQkJCSBTTkRfU09DX0RBSUZNVF9OQl9ORiB8CiAJCQkJCSBTTkRfU09DX0RBSUZNVF9DQk1fQ0ZNKTsKQEAgLTg2LDcgKzk5LDcgQEAKIAkJcmV0dXJuIGVycjsKIAogCS8qIFNldCBjcHUgREFJIGNvbmZpZ3VyYXRpb24gKi8KLQllcnIgPSBjcHVfZGFpLT5kYWlfb3BzLnNldF9mbXQoY3B1X2RhaSwKKwllcnIgPSBzbmRfc29jX2RhaV9zZXRfZm10KGNwdV9kYWksCiAJCQkJICAgICAgIFNORF9TT0NfREFJRk1UX0kyUyB8CiAJCQkJICAgICAgIFNORF9TT0NfREFJRk1UX05CX05GIHwKIAkJCQkgICAgICAgU05EX1NPQ19EQUlGTVRfQ0JNX0NGTSk7CkBAIC05NCw3ICsxMDcsNyBAQAogCQlyZXR1cm4gZXJyOwogCiAJLyogU2V0IHRoZSBjb2RlYyBzeXN0ZW0gY2xvY2sgZm9yIERBQyBhbmQgQURDICovCi0JZXJyID0gY29kZWNfZGFpLT5kYWlfb3BzLnNldF9zeXNjbGsoY29kZWNfZGFpLCAwLCAxMjAwMDAwMCwKKwllcnIgPSBzbmRfc29jX2RhaV9zZXRfc3lzY2xrKGNvZGVjX2RhaSwgMCwgMTIwMDAwMDAsCiAJCQkJCSAgICBTTkRfU09DX0NMT0NLX0lOKTsKIAogCXJldHVybiBlcnI7CkBAIC0xNTAsMTMgKzE2MywzNSBAQAogCXJldHVybiAxOwogfQogCitzdGF0aWMgaW50IG44MTBfZ2V0X2lucHV0KHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLAorCQkJICBzdHJ1Y3Qgc25kX2N0bF9lbGVtX3ZhbHVlICp1Y29udHJvbCkKK3sKKwl1Y29udHJvbC0+dmFsdWUuaW50ZWdlci52YWx1ZVswXSA9IG44MTBfZG1pY19mdW5jOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgbjgxMF9zZXRfaW5wdXQoc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsCisJCQkgIHN0cnVjdCBzbmRfY3RsX2VsZW1fdmFsdWUgKnVjb250cm9sKQoreworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9ICBzbmRfa2NvbnRyb2xfY2hpcChrY29udHJvbCk7CisKKwlpZiAobjgxMF9kbWljX2Z1bmMgPT0gdWNvbnRyb2wtPnZhbHVlLmludGVnZXIudmFsdWVbMF0pCisJCXJldHVybiAwOworCisJbjgxMF9kbWljX2Z1bmMgPSB1Y29udHJvbC0+dmFsdWUuaW50ZWdlci52YWx1ZVswXTsKKwluODEwX2V4dF9jb250cm9sKGNvZGVjKTsKKworCXJldHVybiAxOworfQorCiBzdGF0aWMgaW50IG44MTBfc3BrX2V2ZW50KHN0cnVjdCBzbmRfc29jX2RhcG1fd2lkZ2V0ICp3LAogCQkJICBzdHJ1Y3Qgc25kX2tjb250cm9sICprLCBpbnQgZXZlbnQpCiB7CiAJaWYgKFNORF9TT0NfREFQTV9FVkVOVF9PTihldmVudCkpCi0JCW9tYXBfc2V0X2dwaW9fZGF0YW91dChSWDQ0X1NQRUFLRVJfQU1QX0dQSU8sIDEpOworCQlncGlvX3NldF92YWx1ZShOODEwX1NQRUFLRVJfQU1QX0dQSU8sIDEpOwogCWVsc2UKLQkJb21hcF9zZXRfZ3Bpb19kYXRhb3V0KFJYNDRfU1BFQUtFUl9BTVBfR1BJTywgMCk7CisJCWdwaW9fc2V0X3ZhbHVlKE44MTBfU1BFQUtFUl9BTVBfR1BJTywgMCk7CiAKIAlyZXR1cm4gMDsKIH0KQEAgLTE2NSw5ICsyMDAsOSBAQAogCQkJICAgc3RydWN0IHNuZF9rY29udHJvbCAqaywgaW50IGV2ZW50KQogewogCWlmIChTTkRfU09DX0RBUE1fRVZFTlRfT04oZXZlbnQpKQotCQlvbWFwX3NldF9ncGlvX2RhdGFvdXQoUlg0NF9IRUFEU0VUX0FNUF9HUElPLCAxKTsKKwkJZ3Bpb19zZXRfdmFsdWUoTjgxMF9IRUFEU0VUX0FNUF9HUElPLCAxKTsKIAllbHNlCi0JCW9tYXBfc2V0X2dwaW9fZGF0YW91dChSWDQ0X0hFQURTRVRfQU1QX0dQSU8sIDApOworCQlncGlvX3NldF92YWx1ZShOODEwX0hFQURTRVRfQU1QX0dQSU8sIDApOwogCiAJcmV0dXJuIDA7CiB9CkBAIC0xNzUsMjEgKzIxMCwyNyBAQAogc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfc29jX2RhcG1fd2lkZ2V0IGFpYzMzX2RhcG1fd2lkZ2V0c1tdID0gewogCVNORF9TT0NfREFQTV9TUEsoIkV4dCBTcGsiLCBuODEwX3Nwa19ldmVudCksCiAJU05EX1NPQ19EQVBNX0hQKCJIZWFkcGhvbmUgSmFjayIsIG44MTBfamFja19ldmVudCksCisJU05EX1NPQ19EQVBNX01JQygiRE1pYyIsIE5VTEwpLAogfTsKIAotc3RhdGljIGNvbnN0IGNoYXIgKmF1ZGlvX21hcFtdWzNdID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfc29jX2RhcG1fcm91dGUgYXVkaW9fbWFwW10gPSB7CiAJeyJIZWFkcGhvbmUgSmFjayIsIE5VTEwsICJIUExPVVQifSwKIAl7IkhlYWRwaG9uZSBKYWNrIiwgTlVMTCwgIkhQUk9VVCJ9LAogCiAJeyJFeHQgU3BrIiwgTlVMTCwgIkxMT1VUIn0sCiAJeyJFeHQgU3BrIiwgTlVMTCwgIlJMT1VUIn0sCisKKwl7IkRNaWMgUmF0ZSA2NCIsIE5VTEwsICJNaWMgQmlhcyAyViJ9LAorCXsiTWljIEJpYXMgMlYiLCBOVUxMLCAiRE1pYyJ9LAogfTsKIAogc3RhdGljIGNvbnN0IGNoYXIgKnNwa19mdW5jdGlvbltdID0geyJPZmYiLCAiT24ifTsKIHN0YXRpYyBjb25zdCBjaGFyICpqYWNrX2Z1bmN0aW9uW10gPSB7Ik9mZiIsICJIZWFkcGhvbmUifTsKK3N0YXRpYyBjb25zdCBjaGFyICppbnB1dF9mdW5jdGlvbltdID0geyJBREMiLCAiRGlnaXRhbCBNaWMifTsKIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc29jX2VudW0gbjgxMF9lbnVtW10gPSB7CiAJU09DX0VOVU1fU0lOR0xFX0VYVChBUlJBWV9TSVpFKHNwa19mdW5jdGlvbiksIHNwa19mdW5jdGlvbiksCiAJU09DX0VOVU1fU0lOR0xFX0VYVChBUlJBWV9TSVpFKGphY2tfZnVuY3Rpb24pLCBqYWNrX2Z1bmN0aW9uKSwKKwlTT0NfRU5VTV9TSU5HTEVfRVhUKEFSUkFZX1NJWkUoaW5wdXRfZnVuY3Rpb24pLCBpbnB1dF9mdW5jdGlvbiksCiB9OwogCiBzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgYWljMzNfbjgxMF9jb250cm9sc1tdID0gewpAQCAtMTk3LDYgKzIzOCw4IEBACiAJCSAgICAgbjgxMF9nZXRfc3BrLCBuODEwX3NldF9zcGspLAogCVNPQ19FTlVNX0VYVCgiSmFjayBGdW5jdGlvbiIsIG44MTBfZW51bVsxXSwKIAkJICAgICBuODEwX2dldF9qYWNrLCBuODEwX3NldF9qYWNrKSwKKwlTT0NfRU5VTV9FWFQoIklucHV0IFNlbGVjdCIsICBuODEwX2VudW1bMl0sCisJCSAgICAgbjgxMF9nZXRfaW5wdXQsIG44MTBfc2V0X2lucHV0KSwKIH07CiAKIHN0YXRpYyBpbnQgbjgxMF9haWMzM19pbml0KHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYykKQEAgLTIwNCw5ICsyNDcsOSBAQAogCWludCBpLCBlcnI7CiAKIAkvKiBOb3QgY29ubmVjdGVkICovCi0Jc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIk1PTk9fTE9VVCIsIDApOwotCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJIUExDT00iLCAwKTsKLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiSFBSQ09NIiwgMCk7CisJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiTU9OT19MT1VUIik7CisJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiSFBMQ09NIik7CisJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiSFBSQ09NIik7CiAKIAkvKiBBZGQgTjgxMCBzcGVjaWZpYyBjb250cm9scyAqLwogCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGFpYzMzX244MTBfY29udHJvbHMpOyBpKyspIHsKQEAgLTIxNywxNSArMjYwLDEzIEBACiAJfQogCiAJLyogQWRkIE44MTAgc3BlY2lmaWMgd2lkZ2V0cyAqLwotCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGFpYzMzX2RhcG1fd2lkZ2V0cyk7IGkrKykKLQkJc25kX3NvY19kYXBtX25ld19jb250cm9sKGNvZGVjLCAmYWljMzNfZGFwbV93aWRnZXRzW2ldKTsKKwlzbmRfc29jX2RhcG1fbmV3X2NvbnRyb2xzKGNvZGVjLCBhaWMzM19kYXBtX3dpZGdldHMsCisJCQkJICBBUlJBWV9TSVpFKGFpYzMzX2RhcG1fd2lkZ2V0cykpOwogCiAJLyogU2V0IHVwIE44MTAgc3BlY2lmaWMgYXVkaW8gcGF0aCBhdWRpb19tYXAgKi8KLQlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShhdWRpb19tYXApOyBpKyspCi0JCXNuZF9zb2NfZGFwbV9jb25uZWN0X2lucHV0KGNvZGVjLCBhdWRpb19tYXBbaV1bMF0sCi0JCQlhdWRpb19tYXBbaV1bMV0sIGF1ZGlvX21hcFtpXVsyXSk7CisJc25kX3NvY19kYXBtX2FkZF9yb3V0ZXMoY29kZWMsIGF1ZGlvX21hcCwgQVJSQVlfU0laRShhdWRpb19tYXApKTsKIAotCXNuZF9zb2NfZGFwbV9zeW5jX2VuZHBvaW50cyhjb2RlYyk7CisJc25kX3NvY19kYXBtX3N5bmMoY29kZWMpOwogCiAJcmV0dXJuIDA7CiB9CkBAIC0yNTAsNiArMjkxLDggQEAKIC8qIEF1ZGlvIHByaXZhdGUgZGF0YSAqLwogc3RhdGljIHN0cnVjdCBhaWMzeF9zZXR1cF9kYXRhIG44MTBfYWljMzNfc2V0dXAgPSB7CiAJLmkyY19hZGRyZXNzID0gMHgxOCwKKwkuZ3Bpb19mdW5jWzBdID0gQUlDM1hfR1BJTzFfRlVOQ19ESVNBQkxFRCwKKwkuZ3Bpb19mdW5jWzFdID0gQUlDM1hfR1BJTzJfRlVOQ19ESUdJVEFMX01JQ19JTlBVVCwKIH07CiAKIC8qIEF1ZGlvIHN1YnN5c3RlbSAqLwpAQCAtMjY3LDcgKzMxMCw3IEBACiAJaW50IGVycjsKIAlzdHJ1Y3QgZGV2aWNlICpkZXY7CiAKLQlpZiAoIW1hY2hpbmVfaXNfbm9raWFfbjgxMCgpKQorCWlmICghKG1hY2hpbmVfaXNfbm9raWFfbjgxMCgpIHx8IG1hY2hpbmVfaXNfbm9raWFfbjgxMF93aW1heCgpKSkKIAkJcmV0dXJuIC1FTk9ERVY7CiAKIAluODEwX3NuZF9kZXZpY2UgPSBwbGF0Zm9ybV9kZXZpY2VfYWxsb2MoInNvYy1hdWRpbyIsIC0xKTsKQEAgLTMwNSwxMiArMzQ4LDEyIEBACiAJY2xrX3NldF9wYXJlbnQoc3lzX2Nsa291dDJfc3JjLCBmdW5jOTZtX2Nsayk7CiAJY2xrX3NldF9yYXRlKHN5c19jbGtvdXQyLCAxMjAwMDAwMCk7CiAKLQlpZiAob21hcF9yZXF1ZXN0X2dwaW8oUlg0NF9IRUFEU0VUX0FNUF9HUElPKSA8IDApCisJaWYgKGdwaW9fcmVxdWVzdChOODEwX0hFQURTRVRfQU1QX0dQSU8sICJoc19hbXAiKSA8IDApCiAJCUJVRygpOwotCWlmIChvbWFwX3JlcXVlc3RfZ3BpbyhSWDQ0X1NQRUFLRVJfQU1QX0dQSU8pIDwgMCkKKwlpZiAoZ3Bpb19yZXF1ZXN0KE44MTBfU1BFQUtFUl9BTVBfR1BJTywgInNwa19hbXAiKSA8IDApCiAJCUJVRygpOwotCW9tYXBfc2V0X2dwaW9fZGlyZWN0aW9uKFJYNDRfSEVBRFNFVF9BTVBfR1BJTywgMCk7Ci0Jb21hcF9zZXRfZ3Bpb19kaXJlY3Rpb24oUlg0NF9TUEVBS0VSX0FNUF9HUElPLCAwKTsKKwlncGlvX2RpcmVjdGlvbl9vdXRwdXQoTjgxMF9IRUFEU0VUX0FNUF9HUElPLCAwKTsKKwlncGlvX2RpcmVjdGlvbl9vdXRwdXQoTjgxMF9TUEVBS0VSX0FNUF9HUElPLCAwKTsKIAogCXJldHVybiAwOwogZXJyMjoKQEAgLTMyNSw2ICszNjgsOSBAQAogCiBzdGF0aWMgdm9pZCBfX2V4aXQgbjgxMF9zb2NfZXhpdCh2b2lkKQogeworCWdwaW9fZnJlZShOODEwX1NQRUFLRVJfQU1QX0dQSU8pOworCWdwaW9fZnJlZShOODEwX0hFQURTRVRfQU1QX0dQSU8pOworCiAJcGxhdGZvcm1fZGV2aWNlX3VucmVnaXN0ZXIobjgxMF9zbmRfZGV2aWNlKTsKIH0KIApkaWZmIC0tZ2l0IGEvc291bmQvc29jL29tYXAvb21hcC1tY2JzcC5jIGIvc291bmQvc29jL29tYXAvb21hcC1tY2JzcC5jCmluZGV4IDQwZDg3ZTYuLjAwYjBjOWQgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9vbWFwL29tYXAtbWNic3AuYworKysgYi9zb3VuZC9zb2Mvb21hcC9vbWFwLW1jYnNwLmMKQEAgLTEwMyw3ICsxMDMsNyBAQAogc3RhdGljIGludCBvbWFwX21jYnNwX2RhaV9zdGFydHVwKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQogewogCXN0cnVjdCBzbmRfc29jX3BjbV9ydW50aW1lICpydGQgPSBzdWJzdHJlYW0tPnByaXZhdGVfZGF0YTsKLQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CiAJc3RydWN0IG9tYXBfbWNic3BfZGF0YSAqbWNic3BfZGF0YSA9IHRvX21jYnNwKGNwdV9kYWktPnByaXZhdGVfZGF0YSk7CiAJaW50IGVyciA9IDA7CiAKQEAgLTExNiw3ICsxMTYsNyBAQAogc3RhdGljIHZvaWQgb21hcF9tY2JzcF9kYWlfc2h1dGRvd24oc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCiB7CiAJc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRpbWUgKnJ0ZCA9IHN1YnN0cmVhbS0+cHJpdmF0ZV9kYXRhOwotCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWkgPSBydGQtPmRhaS0+Y3B1X2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkgPSBydGQtPmRhaS0+Y3B1X2RhaTsKIAlzdHJ1Y3Qgb21hcF9tY2JzcF9kYXRhICptY2JzcF9kYXRhID0gdG9fbWNic3AoY3B1X2RhaS0+cHJpdmF0ZV9kYXRhKTsKIAogCWlmICghY3B1X2RhaS0+YWN0aXZlKSB7CkBAIC0xMjgsNyArMTI4LDcgQEAKIHN0YXRpYyBpbnQgb21hcF9tY2JzcF9kYWlfdHJpZ2dlcihzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSwgaW50IGNtZCkKIHsKIAlzdHJ1Y3Qgc25kX3NvY19wY21fcnVudGltZSAqcnRkID0gc3Vic3RyZWFtLT5wcml2YXRlX2RhdGE7Ci0Jc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSA9IHJ0ZC0+ZGFpLT5jcHVfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSA9IHJ0ZC0+ZGFpLT5jcHVfZGFpOwogCXN0cnVjdCBvbWFwX21jYnNwX2RhdGEgKm1jYnNwX2RhdGEgPSB0b19tY2JzcChjcHVfZGFpLT5wcml2YXRlX2RhdGEpOwogCWludCBlcnIgPSAwOwogCkBAIC0xNTcsNyArMTU3LDcgQEAKIAkJCQkgICAgc3RydWN0IHNuZF9wY21faHdfcGFyYW1zICpwYXJhbXMpCiB7CiAJc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRpbWUgKnJ0ZCA9IHN1YnN0cmVhbS0+cHJpdmF0ZV9kYXRhOwotCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWkgPSBydGQtPmRhaS0+Y3B1X2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkgPSBydGQtPmRhaS0+Y3B1X2RhaTsKIAlzdHJ1Y3Qgb21hcF9tY2JzcF9kYXRhICptY2JzcF9kYXRhID0gdG9fbWNic3AoY3B1X2RhaS0+cHJpdmF0ZV9kYXRhKTsKIAlzdHJ1Y3Qgb21hcF9tY2JzcF9yZWdfY2ZnICpyZWdzID0gJm1jYnNwX2RhdGEtPnJlZ3M7CiAJaW50IGRtYSwgYnVzX2lkID0gbWNic3BfZGF0YS0+YnVzX2lkLCBpZCA9IGNwdV9kYWktPmlkOwpAQCAtMjIzLDcgKzIyMyw3IEBACiAgKiBUaGlzIG11c3QgYmUgY2FsbGVkIGJlZm9yZSBfc2V0X2Nsa2RpdiBhbmQgX3NldF9zeXNjbGsgc2luY2UgTWNCU1AgcmVnaXN0ZXIKICAqIGNhY2hlIGlzIGluaXRpYWxpemVkIGhlcmUKICAqLwotc3RhdGljIGludCBvbWFwX21jYnNwX2RhaV9zZXRfZGFpX2ZtdChzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpLAorc3RhdGljIGludCBvbWFwX21jYnNwX2RhaV9zZXRfZGFpX2ZtdChzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWksCiAJCQkJICAgICAgdW5zaWduZWQgaW50IGZtdCkKIHsKIAlzdHJ1Y3Qgb21hcF9tY2JzcF9kYXRhICptY2JzcF9kYXRhID0gdG9fbWNic3AoY3B1X2RhaS0+cHJpdmF0ZV9kYXRhKTsKQEAgLTI5Miw3ICsyOTIsNyBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IG9tYXBfbWNic3BfZGFpX3NldF9jbGtkaXYoc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSwKK3N0YXRpYyBpbnQgb21hcF9tY2JzcF9kYWlfc2V0X2Nsa2RpdihzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWksCiAJCQkJICAgICBpbnQgZGl2X2lkLCBpbnQgZGl2KQogewogCXN0cnVjdCBvbWFwX21jYnNwX2RhdGEgKm1jYnNwX2RhdGEgPSB0b19tY2JzcChjcHVfZGFpLT5wcml2YXRlX2RhdGEpOwpAQCAtMzQ3LDcgKzM0Nyw3IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgb21hcF9tY2JzcF9kYWlfc2V0X2RhaV9zeXNjbGsoc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSwKK3N0YXRpYyBpbnQgb21hcF9tY2JzcF9kYWlfc2V0X2RhaV9zeXNjbGsoc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpLAogCQkJCQkgaW50IGNsa19pZCwgdW5zaWduZWQgaW50IGZyZXEsCiAJCQkJCSBpbnQgZGlyKQogewpAQCAtMzc2LDcgKzM3Niw3IEBACiAJcmV0dXJuIGVycjsKIH0KIAotc3RydWN0IHNuZF9zb2NfY3B1X2RhaSBvbWFwX21jYnNwX2RhaVtOVU1fTElOS1NdID0geworc3RydWN0IHNuZF9zb2NfZGFpIG9tYXBfbWNic3BfZGFpW05VTV9MSU5LU10gPSB7CiB7CiAJLm5hbWUgPSAib21hcC1tY2JzcC1kYWkiLAogCS5pZCA9IDAsCmRpZmYgLS1naXQgYS9zb3VuZC9zb2Mvb21hcC9vbWFwLW1jYnNwLmggYi9zb3VuZC9zb2Mvb21hcC9vbWFwLW1jYnNwLmgKaW5kZXggOTk2NWZkNC4uZWQ4YWZiNSAxMDA2NDQKLS0tIGEvc291bmQvc29jL29tYXAvb21hcC1tY2JzcC5oCisrKyBiL3NvdW5kL3NvYy9vbWFwL29tYXAtbWNic3AuaApAQCAtNDQsNiArNDQsNiBAQAogICovCiAjZGVmaW5lIE5VTV9MSU5LUwkxCiAKLWV4dGVybiBzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpIG9tYXBfbWNic3BfZGFpW05VTV9MSU5LU107CitleHRlcm4gc3RydWN0IHNuZF9zb2NfZGFpIG9tYXBfbWNic3BfZGFpW05VTV9MSU5LU107CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvc291bmQvc29jL29tYXAvb21hcC1wY20uYyBiL3NvdW5kL3NvYy9vbWFwL29tYXAtcGNtLmMKaW5kZXggNjIzNzAyMC4uZTA5MmYzZCAxMDA2NDQKLS0tIGEvc291bmQvc29jL29tYXAvb21hcC1wY20uYworKysgYi9zb3VuZC9zb2Mvb21hcC9vbWFwLXBjbS5jCkBAIC0zMTYsNyArMzE2LDcgQEAKIAl9CiB9CiAKLWludCBvbWFwX3BjbV9uZXcoc3RydWN0IHNuZF9jYXJkICpjYXJkLCBzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmRhaSwKK2ludCBvbWFwX3BjbV9uZXcoc3RydWN0IHNuZF9jYXJkICpjYXJkLCBzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSwKIAkJIHN0cnVjdCBzbmRfcGNtICpwY20pCiB7CiAJaW50IHJldCA9IDA7CmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvcHhhL0tjb25maWcgYi9zb3VuZC9zb2MvcHhhL0tjb25maWcKaW5kZXggNDg0Zjg4My4uMTJmNmFjOSAxMDA2NDQKLS0tIGEvc291bmQvc29jL3B4YS9LY29uZmlnCisrKyBiL3NvdW5kL3NvYy9weGEvS2NvbmZpZwpAQCAtMSw2ICsxLDYgQEAKIGNvbmZpZyBTTkRfUFhBMlhYX1NPQwogCXRyaXN0YXRlICJTb0MgQXVkaW8gZm9yIHRoZSBJbnRlbCBQWEEyeHggY2hpcCIKLQlkZXBlbmRzIG9uIEFSQ0hfUFhBICYmIFNORF9TT0MKKwlkZXBlbmRzIG9uIEFSQ0hfUFhBCiAJaGVscAogCSAgU2F5IFkgb3IgTSBpZiB5b3Ugd2FudCB0byBhZGQgc3VwcG9ydCBmb3IgY29kZWNzIGF0dGFjaGVkIHRvCiAJICB0aGUgUFhBMnh4IEFDOTcsIEkyUyBvciBTU1AgaW50ZXJmYWNlLiBZb3Ugd2lsbCBhbHNvIG5lZWQKQEAgLTYyLDMgKzYyLDEyIEBACiAJaGVscAogCSAgU2F5IFkgaWYgeW91IHdhbnQgdG8gYWRkIHN1cHBvcnQgZm9yIFNvQyBhdWRpbyBvbiB0aGUKIAkgIFRvc2hpYmEgZTgwMCBQREEKKworY29uZmlnIFNORF9QWEEyWFhfU09DX0VNX1gyNzAKKwl0cmlzdGF0ZSAiU29DIEF1ZGlvIHN1cHBvcnQgZm9yIENvbXB1TGFiIEVNLXgyNzAiCisJZGVwZW5kcyBvbiBTTkRfUFhBMlhYX1NPQyAmJiBNQUNIX0VNX1gyNzAKKwlzZWxlY3QgU05EX1BYQTJYWF9TT0NfQUM5NworCXNlbGVjdCBTTkRfU09DX1dNOTcxMgorCWhlbHAKKwkgIFNheSBZIGlmIHlvdSB3YW50IHRvIGFkZCBzdXBwb3J0IGZvciBTb0MgYXVkaW8gb24KKwkgIENvbXB1TGFiIEVNLXgyNzAuCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvcHhhL01ha2VmaWxlIGIvc291bmQvc29jL3B4YS9NYWtlZmlsZQppbmRleCAwNGU1NjQ2Li41YmM4ZWRmIDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvcHhhL01ha2VmaWxlCisrKyBiL3NvdW5kL3NvYy9weGEvTWFrZWZpbGUKQEAgLTEzLDEwICsxMywxMSBAQAogc25kLXNvYy10b3NhLW9ianMgOj0gdG9zYS5vCiBzbmQtc29jLWU4MDAtb2JqcyA6PSBlODAwX3dtOTcxMi5vCiBzbmQtc29jLXNwaXR6LW9ianMgOj0gc3BpdHoubworc25kLXNvYy1lbS14MjcwLW9ianMgOj0gZW0teDI3MC5vCiAKIG9iai0kKENPTkZJR19TTkRfUFhBMlhYX1NPQ19DT1JHSSkgKz0gc25kLXNvYy1jb3JnaS5vCiBvYmotJChDT05GSUdfU05EX1BYQTJYWF9TT0NfUE9PRExFKSArPSBzbmQtc29jLXBvb2RsZS5vCiBvYmotJChDT05GSUdfU05EX1BYQTJYWF9TT0NfVE9TQSkgKz0gc25kLXNvYy10b3NhLm8KIG9iai0kKENPTkZJR19TTkRfUFhBMlhYX1NPQ19FODAwKSArPSBzbmQtc29jLWU4MDAubwogb2JqLSQoQ09ORklHX1NORF9QWEEyWFhfU09DX1NQSVRaKSArPSBzbmQtc29jLXNwaXR6Lm8KLQorb2JqLSQoQ09ORklHX1NORF9QWEEyWFhfU09DX0VNX1gyNzApICs9IHNuZC1zb2MtZW0teDI3MC5vCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvcHhhL2NvcmdpLmMgYi9zb3VuZC9zb2MvcHhhL2NvcmdpLmMKaW5kZXggN2YzMmExMS4uYzAyOTQ0NiAxMDA2NDQKLS0tIGEvc291bmQvc29jL3B4YS9jb3JnaS5jCisrKyBiL3NvdW5kL3NvYy9weGEvY29yZ2kuYwpAQCAtMTEsMTAgKzExLDYgQEAKICAqICB1bmRlciAgdGhlIHRlcm1zIG9mICB0aGUgR05VIEdlbmVyYWwgIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUKICAqICBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247ICBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSAgTGljZW5zZSwgb3IgKGF0IHlvdXIKICAqICBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqICBSZXZpc2lvbiBoaXN0b3J5Ci0gKiAgICAzMHRoIE5vdiAyMDA1ICAgSW5pdGlhbCB2ZXJzaW9uLgotICoKICAqLwogCiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CkBAIC01NCw0NyArNTAsNTEgQEAKIAogc3RhdGljIHZvaWQgY29yZ2lfZXh0X2NvbnRyb2woc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjKQogewotCWludCBzcGsgPSAwLCBtaWMgPSAwLCBsaW5lID0gMCwgaHAgPSAwLCBocyA9IDA7Ci0KIAkvKiBzZXQgdXAgamFjayBjb25uZWN0aW9uICovCiAJc3dpdGNoIChjb3JnaV9qYWNrX2Z1bmMpIHsKIAljYXNlIENPUkdJX0hQOgotCQlocCA9IDE7CiAJCS8qIHNldCA9IHVubXV0ZSBoZWFkcGhvbmUgKi8KIAkJc2V0X3Njb29wX2dwaW8oJmNvcmdpc2Nvb3BfZGV2aWNlLmRldiwgQ09SR0lfU0NQX01VVEVfTCk7CiAJCXNldF9zY29vcF9ncGlvKCZjb3JnaXNjb29wX2RldmljZS5kZXYsIENPUkdJX1NDUF9NVVRFX1IpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJNaWMgSmFjayIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJMaW5lIEphY2siKTsKKwkJc25kX3NvY19kYXBtX2VuYWJsZV9waW4oY29kZWMsICJIZWFkcGhvbmUgSmFjayIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJIZWFkc2V0IEphY2siKTsKIAkJYnJlYWs7CiAJY2FzZSBDT1JHSV9NSUM6Ci0JCW1pYyA9IDE7CiAJCS8qIHJlc2V0ID0gbXV0ZSBoZWFkcGhvbmUgKi8KIAkJcmVzZXRfc2Nvb3BfZ3BpbygmY29yZ2lzY29vcF9kZXZpY2UuZGV2LCBDT1JHSV9TQ1BfTVVURV9MKTsKIAkJcmVzZXRfc2Nvb3BfZ3BpbygmY29yZ2lzY29vcF9kZXZpY2UuZGV2LCBDT1JHSV9TQ1BfTVVURV9SKTsKKwkJc25kX3NvY19kYXBtX2VuYWJsZV9waW4oY29kZWMsICJNaWMgSmFjayIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJMaW5lIEphY2siKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiSGVhZHBob25lIEphY2siKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiSGVhZHNldCBKYWNrIik7CiAJCWJyZWFrOwogCWNhc2UgQ09SR0lfTElORToKLQkJbGluZSA9IDE7CiAJCXJlc2V0X3Njb29wX2dwaW8oJmNvcmdpc2Nvb3BfZGV2aWNlLmRldiwgQ09SR0lfU0NQX01VVEVfTCk7CiAJCXJlc2V0X3Njb29wX2dwaW8oJmNvcmdpc2Nvb3BfZGV2aWNlLmRldiwgQ09SR0lfU0NQX01VVEVfUik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIk1pYyBKYWNrIik7CisJCXNuZF9zb2NfZGFwbV9lbmFibGVfcGluKGNvZGVjLCAiTGluZSBKYWNrIik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkhlYWRwaG9uZSBKYWNrIik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkhlYWRzZXQgSmFjayIpOwogCQlicmVhazsKIAljYXNlIENPUkdJX0hFQURTRVQ6Ci0JCWhzID0gMTsKLQkJbWljID0gMTsKIAkJcmVzZXRfc2Nvb3BfZ3BpbygmY29yZ2lzY29vcF9kZXZpY2UuZGV2LCBDT1JHSV9TQ1BfTVVURV9MKTsKIAkJc2V0X3Njb29wX2dwaW8oJmNvcmdpc2Nvb3BfZGV2aWNlLmRldiwgQ09SR0lfU0NQX01VVEVfUik7CisJCXNuZF9zb2NfZGFwbV9lbmFibGVfcGluKGNvZGVjLCAiTWljIEphY2siKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiTGluZSBKYWNrIik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkhlYWRwaG9uZSBKYWNrIik7CisJCXNuZF9zb2NfZGFwbV9lbmFibGVfcGluKGNvZGVjLCAiSGVhZHNldCBKYWNrIik7CiAJCWJyZWFrOwogCX0KIAogCWlmIChjb3JnaV9zcGtfZnVuYyA9PSBDT1JHSV9TUEtfT04pCi0JCXNwayA9IDE7Ci0KLQkvKiBzZXQgdGhlIGVucG9pbnRzIHRvIHRoZWlyIG5ldyBjb25uZXRpb24gc3RhdGVzICovCi0Jc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkV4dCBTcGsiLCBzcGspOwotCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJNaWMgSmFjayIsIG1pYyk7Ci0Jc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkxpbmUgSmFjayIsIGxpbmUpOwotCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJIZWFkcGhvbmUgSmFjayIsIGhwKTsKLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiSGVhZHNldCBKYWNrIiwgaHMpOworCQlzbmRfc29jX2RhcG1fZW5hYmxlX3Bpbihjb2RlYywgIkV4dCBTcGsiKTsKKwllbHNlCisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkV4dCBTcGsiKTsKIAogCS8qIHNpZ25hbCBhIERBUE0gZXZlbnQgKi8KLQlzbmRfc29jX2RhcG1fc3luY19lbmRwb2ludHMoY29kZWMpOworCXNuZF9zb2NfZGFwbV9zeW5jKGNvZGVjKTsKIH0KIAogc3RhdGljIGludCBjb3JnaV9zdGFydHVwKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQpAQCAtMTIzLDggKzEyMyw4IEBACiAJc3RydWN0IHNuZF9wY21faHdfcGFyYW1zICpwYXJhbXMpCiB7CiAJc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRpbWUgKnJ0ZCA9IHN1YnN0cmVhbS0+cHJpdmF0ZV9kYXRhOwotCXN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpID0gcnRkLT5kYWktPmNvZGVjX2RhaTsKLQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWkgPSBydGQtPmRhaS0+Y29kZWNfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSA9IHJ0ZC0+ZGFpLT5jcHVfZGFpOwogCXVuc2lnbmVkIGludCBjbGsgPSAwOwogCWludCByZXQgPSAwOwogCkBAIC0xNDMsMjUgKzE0MywyNSBAQAogCX0KIAogCS8qIHNldCBjb2RlYyBEQUkgY29uZmlndXJhdGlvbiAqLwotCXJldCA9IGNvZGVjX2RhaS0+ZGFpX29wcy5zZXRfZm10KGNvZGVjX2RhaSwgU05EX1NPQ19EQUlGTVRfSTJTIHwKKwlyZXQgPSBzbmRfc29jX2RhaV9zZXRfZm10KGNvZGVjX2RhaSwgU05EX1NPQ19EQUlGTVRfSTJTIHwKIAkJU05EX1NPQ19EQUlGTVRfTkJfTkYgfCBTTkRfU09DX0RBSUZNVF9DQlNfQ0ZTKTsKIAlpZiAocmV0IDwgMCkKIAkJcmV0dXJuIHJldDsKIAogCS8qIHNldCBjcHUgREFJIGNvbmZpZ3VyYXRpb24gKi8KLQlyZXQgPSBjcHVfZGFpLT5kYWlfb3BzLnNldF9mbXQoY3B1X2RhaSwgU05EX1NPQ19EQUlGTVRfSTJTIHwKKwlyZXQgPSBzbmRfc29jX2RhaV9zZXRfZm10KGNwdV9kYWksIFNORF9TT0NfREFJRk1UX0kyUyB8CiAJCVNORF9TT0NfREFJRk1UX05CX05GIHwgU05EX1NPQ19EQUlGTVRfQ0JTX0NGUyk7CiAJaWYgKHJldCA8IDApCiAJCXJldHVybiByZXQ7CiAKIAkvKiBzZXQgdGhlIGNvZGVjIHN5c3RlbSBjbG9jayBmb3IgREFDIGFuZCBBREMgKi8KLQlyZXQgPSBjb2RlY19kYWktPmRhaV9vcHMuc2V0X3N5c2Nsayhjb2RlY19kYWksIFdNODczMV9TWVNDTEssIGNsaywKKwlyZXQgPSBzbmRfc29jX2RhaV9zZXRfc3lzY2xrKGNvZGVjX2RhaSwgV004NzMxX1NZU0NMSywgY2xrLAogCQlTTkRfU09DX0NMT0NLX0lOKTsKIAlpZiAocmV0IDwgMCkKIAkJcmV0dXJuIHJldDsKIAogCS8qIHNldCB0aGUgSTJTIHN5c3RlbSBjbG9jayBhcyBpbnB1dCAodW51c2VkKSAqLwotCXJldCA9IGNwdV9kYWktPmRhaV9vcHMuc2V0X3N5c2NsayhjcHVfZGFpLCBQWEEyWFhfSTJTX1NZU0NMSywgMCwKKwlyZXQgPSBzbmRfc29jX2RhaV9zZXRfc3lzY2xrKGNwdV9kYWksIFBYQTJYWF9JMlNfU1lTQ0xLLCAwLAogCQlTTkRfU09DX0NMT0NLX0lOKTsKIAlpZiAocmV0IDwgMCkKIAkJcmV0dXJuIHJldDsKQEAgLTI0Nyw3ICsyNDcsNyBAQAogfTsKIAogLyogQ29yZ2kgbWFjaGluZSBhdWRpbyBtYXAgKGNvbm5lY3Rpb25zIHRvIHRoZSBjb2RlYyBwaW5zKSAqLwotc3RhdGljIGNvbnN0IGNoYXIgKmF1ZGlvX21hcFtdWzNdID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfc29jX2RhcG1fcm91dGUgYXVkaW9fbWFwW10gPSB7CiAKIAkvKiBoZWFkc2V0IEphY2sgIC0gaW4gPSBtaWNpbiwgb3V0ID0gTEhQT1VUKi8KIAl7IkhlYWRzZXQgSmFjayIsIE5VTEwsICJMSFBPVVQifSwKQEAgLTI2NSw4ICsyNjUsNiBAQAogCiAJLyogU2FtZSBhcyB0aGUgYWJvdmUgYnV0IG5vIG1pYyBiaWFzIGZvciBsaW5lIHNpZ25hbHMgKi8KIAl7Ik1JQ0lOIiwgTlVMTCwgIkxpbmUgSmFjayJ9LAotCi0Je05VTEwsIE5VTEwsIE5VTEx9LAogfTsKIAogc3RhdGljIGNvbnN0IGNoYXIgKmphY2tfZnVuY3Rpb25bXSA9IHsiSGVhZHBob25lIiwgIk1pYyIsICJMaW5lIiwgIkhlYWRzZXQiLApAQCAtMjkxLDggKzI4OSw4IEBACiB7CiAJaW50IGksIGVycjsKIAotCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJMTElORUlOIiwgMCk7Ci0Jc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIlJMSU5FSU4iLCAwKTsKKwlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJMTElORUlOIik7CisJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiUkxJTkVJTiIpOwogCiAJLyogQWRkIGNvcmdpIHNwZWNpZmljIGNvbnRyb2xzICovCiAJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUod204NzMxX2NvcmdpX2NvbnRyb2xzKTsgaSsrKSB7CkBAIC0zMDMsMTUgKzMwMSwxMyBAQAogCX0KIAogCS8qIEFkZCBjb3JnaSBzcGVjaWZpYyB3aWRnZXRzICovCi0JZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUod204NzMxX2RhcG1fd2lkZ2V0cyk7IGkrKykKLQkJc25kX3NvY19kYXBtX25ld19jb250cm9sKGNvZGVjLCAmd204NzMxX2RhcG1fd2lkZ2V0c1tpXSk7CisJc25kX3NvY19kYXBtX25ld19jb250cm9scyhjb2RlYywgd204NzMxX2RhcG1fd2lkZ2V0cywKKwkJCQkgIEFSUkFZX1NJWkUod204NzMxX2RhcG1fd2lkZ2V0cykpOwogCiAJLyogU2V0IHVwIGNvcmdpIHNwZWNpZmljIGF1ZGlvIHBhdGggYXVkaW9fbWFwICovCi0JZm9yIChpID0gMDsgYXVkaW9fbWFwW2ldWzBdICE9IE5VTEw7IGkrKykKLQkJc25kX3NvY19kYXBtX2Nvbm5lY3RfaW5wdXQoY29kZWMsIGF1ZGlvX21hcFtpXVswXSwKLQkJCWF1ZGlvX21hcFtpXVsxXSwgYXVkaW9fbWFwW2ldWzJdKTsKKwlzbmRfc29jX2RhcG1fYWRkX3JvdXRlcyhjb2RlYywgYXVkaW9fbWFwLCBBUlJBWV9TSVpFKGF1ZGlvX21hcCkpOwogCi0Jc25kX3NvY19kYXBtX3N5bmNfZW5kcG9pbnRzKGNvZGVjKTsKKwlzbmRfc29jX2RhcG1fc3luYyhjb2RlYyk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9weGEvZW0teDI3MC5jIGIvc291bmQvc29jL3B4YS9lbS14MjcwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDJkY2FjMwotLS0gL2Rldi9udWxsCisrKyBiL3NvdW5kL3NvYy9weGEvZW0teDI3MC5jCkBAIC0wLDAgKzEsMTAyIEBACisvKgorICogZW0teDI3MC5jICAtLSAgU29DIGF1ZGlvIGZvciBFTS1YMjcwCisgKgorICogQ29weXJpZ2h0IDIwMDcgQ29tcHVMYWIsIEx0ZC4KKyAqCisgKiBBdXRob3I6IE1pa2UgUmFwb3BvcnQgPG1pa2VAY29tcHVsYWIuY28uaWw+CisgKgorICogQ29waWVkIGZyb20gdG9zYS5jOgorICogQ29weXJpZ2h0IDIwMDUgV29sZnNvbiBNaWNyb2VsZWN0cm9uaWNzIFBMQy4KKyAqIENvcHlyaWdodCAyMDA1IE9wZW5lZGhhbmQgTHRkLgorICoKKyAqIEF1dGhvcnM6IExpYW0gR2lyZHdvb2QgPGxpYW0uZ2lyZHdvb2RAd29sZnNvbm1pY3JvLmNvbT4KKyAqICAgICAgICAgIFJpY2hhcmQgUHVyZGllIDxyaWNoYXJkQG9wZW5lZGhhbmQuY29tPgorICoKKyAqICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgIGl0IGFuZC9vciBtb2RpZnkgaXQKKyAqICB1bmRlciAgdGhlIHRlcm1zIG9mICB0aGUgR05VIEdlbmVyYWwgIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUKKyAqICBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247ICBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSAgTGljZW5zZSwgb3IgKGF0IHlvdXIKKyAqICBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqLworCisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlcGFyYW0uaD4KKyNpbmNsdWRlIDxsaW51eC9kZXZpY2UuaD4KKworI2luY2x1ZGUgPHNvdW5kL2RyaXZlci5oPgorI2luY2x1ZGUgPHNvdW5kL2NvcmUuaD4KKyNpbmNsdWRlIDxzb3VuZC9wY20uaD4KKyNpbmNsdWRlIDxzb3VuZC9zb2MuaD4KKyNpbmNsdWRlIDxzb3VuZC9zb2MtZGFwbS5oPgorCisjaW5jbHVkZSA8YXNtL21hY2gtdHlwZXMuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9weGEtcmVncy5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2hhcmR3YXJlLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvYXVkaW8uaD4KKworI2luY2x1ZGUgIi4uL2NvZGVjcy93bTk3MTIuaCIKKyNpbmNsdWRlICJweGEyeHgtcGNtLmgiCisjaW5jbHVkZSAicHhhMnh4LWFjOTcuaCIKKworc3RhdGljIHN0cnVjdCBzbmRfc29jX2RhaV9saW5rIGVtX3gyNzBfZGFpW10gPSB7CisJeworCQkubmFtZSA9ICJBQzk3IiwKKwkJLnN0cmVhbV9uYW1lID0gIkFDOTcgSGlGaSIsCisJCS5jcHVfZGFpID0gJnB4YV9hYzk3X2RhaVtQWEEyWFhfREFJX0FDOTdfSElGSV0sCisJCS5jb2RlY19kYWkgPSAmd205NzEyX2RhaVtXTTk3MTJfREFJX0FDOTdfSElGSV0sCisJfSwKKwl7CisJCS5uYW1lID0gIkFDOTcgQXV4IiwKKwkJLnN0cmVhbV9uYW1lID0gIkFDOTcgQXV4IiwKKwkJLmNwdV9kYWkgPSAmcHhhX2FjOTdfZGFpW1BYQTJYWF9EQUlfQUM5N19BVVhdLAorCQkuY29kZWNfZGFpID0gJndtOTcxMl9kYWlbV005NzEyX0RBSV9BQzk3X0FVWF0sCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3Qgc25kX3NvY19tYWNoaW5lIGVtX3gyNzAgPSB7CisJLm5hbWUgPSAiRU0tWDI3MCIsCisJLmRhaV9saW5rID0gZW1feDI3MF9kYWksCisJLm51bV9saW5rcyA9IEFSUkFZX1NJWkUoZW1feDI3MF9kYWkpLAorfTsKKworc3RhdGljIHN0cnVjdCBzbmRfc29jX2RldmljZSBlbV94MjcwX3NuZF9kZXZkYXRhID0geworCS5tYWNoaW5lID0gJmVtX3gyNzAsCisJLnBsYXRmb3JtID0gJnB4YTJ4eF9zb2NfcGxhdGZvcm0sCisJLmNvZGVjX2RldiA9ICZzb2NfY29kZWNfZGV2X3dtOTcxMiwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICplbV94MjcwX3NuZF9kZXZpY2U7CisKK3N0YXRpYyBpbnQgX19pbml0IGVtX3gyNzBfaW5pdCh2b2lkKQoreworCWludCByZXQ7CisKKwlpZiAoIW1hY2hpbmVfaXNfZW1feDI3MCgpKQorCQlyZXR1cm4gLUVOT0RFVjsKKworCWVtX3gyNzBfc25kX2RldmljZSA9IHBsYXRmb3JtX2RldmljZV9hbGxvYygic29jLWF1ZGlvIiwgLTEpOworCWlmICghZW1feDI3MF9zbmRfZGV2aWNlKQorCQlyZXR1cm4gLUVOT01FTTsKKworCXBsYXRmb3JtX3NldF9kcnZkYXRhKGVtX3gyNzBfc25kX2RldmljZSwgJmVtX3gyNzBfc25kX2RldmRhdGEpOworCWVtX3gyNzBfc25kX2RldmRhdGEuZGV2ID0gJmVtX3gyNzBfc25kX2RldmljZS0+ZGV2OworCXJldCA9IHBsYXRmb3JtX2RldmljZV9hZGQoZW1feDI3MF9zbmRfZGV2aWNlKTsKKworCWlmIChyZXQpCisJCXBsYXRmb3JtX2RldmljZV9wdXQoZW1feDI3MF9zbmRfZGV2aWNlKTsKKworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyB2b2lkIF9fZXhpdCBlbV94MjcwX2V4aXQodm9pZCkKK3sKKwlwbGF0Zm9ybV9kZXZpY2VfdW5yZWdpc3RlcihlbV94MjcwX3NuZF9kZXZpY2UpOworfQorCittb2R1bGVfaW5pdChlbV94MjcwX2luaXQpOworbW9kdWxlX2V4aXQoZW1feDI3MF9leGl0KTsKKworLyogTW9kdWxlIGluZm9ybWF0aW9uICovCitNT0RVTEVfQVVUSE9SKCJNaWtlIFJhcG9wb3J0Iik7CitNT0RVTEVfREVTQ1JJUFRJT04oIkFMU0EgU29DIEVNLVgyNzAiKTsKK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9weGEvcG9vZGxlLmMgYi9zb3VuZC9zb2MvcHhhL3Bvb2RsZS5jCmluZGV4IDdlODMwYjIuLjY1YTRlOWEgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9weGEvcG9vZGxlLmMKKysrIGIvc291bmQvc29jL3B4YS9wb29kbGUuYwpAQCAtNDgsOCArNDgsNiBAQAogCiBzdGF0aWMgdm9pZCBwb29kbGVfZXh0X2NvbnRyb2woc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjKQogewotCWludCBzcGsgPSAwOwotCiAJLyogc2V0IHVwIGphY2sgY29ubmVjdGlvbiAqLwogCWlmIChwb29kbGVfamFja19mdW5jID09IFBPT0RMRV9IUCkgewogCQkvKiBzZXQgPSB1bm11dGUgaGVhZHBob25lICovCkBAIC01NywyMyArNTUsMjMgQEAKIAkJCVBPT0RMRV9MT0NPTU9fR1BJT19NVVRFX0wsIDEpOwogCQlsb2NvbW9fZ3Bpb193cml0ZSgmcG9vZGxlX2xvY29tb19kZXZpY2UuZGV2LAogCQkJUE9PRExFX0xPQ09NT19HUElPX01VVEVfUiwgMSk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJIZWFkcGhvbmUgSmFjayIsIDEpOworCQlzbmRfc29jX2RhcG1fZW5hYmxlX3Bpbihjb2RlYywgIkhlYWRwaG9uZSBKYWNrIik7CiAJfSBlbHNlIHsKIAkJbG9jb21vX2dwaW9fd3JpdGUoJnBvb2RsZV9sb2NvbW9fZGV2aWNlLmRldiwKIAkJCVBPT0RMRV9MT0NPTU9fR1BJT19NVVRFX0wsIDApOwogCQlsb2NvbW9fZ3Bpb193cml0ZSgmcG9vZGxlX2xvY29tb19kZXZpY2UuZGV2LAogCQkJUE9PRExFX0xPQ09NT19HUElPX01VVEVfUiwgMCk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJIZWFkcGhvbmUgSmFjayIsIDApOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJIZWFkcGhvbmUgSmFjayIpOwogCX0KIAotCWlmIChwb29kbGVfc3BrX2Z1bmMgPT0gUE9PRExFX1NQS19PTikKLQkJc3BrID0gMTsKLQogCS8qIHNldCB0aGUgZW5wb2ludHMgdG8gdGhlaXIgbmV3IGNvbm5ldGlvbiBzdGF0ZXMgKi8KLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiRXh0IFNwayIsIHNwayk7CisJaWYgKHBvb2RsZV9zcGtfZnVuYyA9PSBQT09ETEVfU1BLX09OKQorCQlzbmRfc29jX2RhcG1fZW5hYmxlX3Bpbihjb2RlYywgIkV4dCBTcGsiKTsKKwllbHNlCisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkV4dCBTcGsiKTsKIAogCS8qIHNpZ25hbCBhIERBUE0gZXZlbnQgKi8KLQlzbmRfc29jX2RhcG1fc3luY19lbmRwb2ludHMoY29kZWMpOworCXNuZF9zb2NfZGFwbV9zeW5jKGNvZGVjKTsKIH0KIAogc3RhdGljIGludCBwb29kbGVfc3RhcnR1cChzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKQEAgLTEwNCw4ICsxMDIsOCBAQAogCXN0cnVjdCBzbmRfcGNtX2h3X3BhcmFtcyAqcGFyYW1zKQogewogCXN0cnVjdCBzbmRfc29jX3BjbV9ydW50aW1lICpydGQgPSBzdWJzdHJlYW0tPnByaXZhdGVfZGF0YTsKLQlzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSA9IHJ0ZC0+ZGFpLT5jb2RlY19kYWk7Ci0Jc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSA9IHJ0ZC0+ZGFpLT5jcHVfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpID0gcnRkLT5kYWktPmNvZGVjX2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkgPSBydGQtPmRhaS0+Y3B1X2RhaTsKIAl1bnNpZ25lZCBpbnQgY2xrID0gMDsKIAlpbnQgcmV0ID0gMDsKIApAQCAtMTI0LDI1ICsxMjIsMjUgQEAKIAl9CiAKIAkvKiBzZXQgY29kZWMgREFJIGNvbmZpZ3VyYXRpb24gKi8KLQlyZXQgPSBjb2RlY19kYWktPmRhaV9vcHMuc2V0X2ZtdChjb2RlY19kYWksIFNORF9TT0NfREFJRk1UX0kyUyB8CisJcmV0ID0gc25kX3NvY19kYWlfc2V0X2ZtdChjb2RlY19kYWksIFNORF9TT0NfREFJRk1UX0kyUyB8CiAJCVNORF9TT0NfREFJRk1UX05CX05GIHwgU05EX1NPQ19EQUlGTVRfQ0JTX0NGUyk7CiAJaWYgKHJldCA8IDApCiAJCXJldHVybiByZXQ7CiAKIAkvKiBzZXQgY3B1IERBSSBjb25maWd1cmF0aW9uICovCi0JcmV0ID0gY3B1X2RhaS0+ZGFpX29wcy5zZXRfZm10KGNwdV9kYWksIFNORF9TT0NfREFJRk1UX0kyUyB8CisJcmV0ID0gc25kX3NvY19kYWlfc2V0X2ZtdChjcHVfZGFpLCBTTkRfU09DX0RBSUZNVF9JMlMgfAogCQlTTkRfU09DX0RBSUZNVF9OQl9ORiB8IFNORF9TT0NfREFJRk1UX0NCU19DRlMpOwogCWlmIChyZXQgPCAwKQogCQlyZXR1cm4gcmV0OwogCiAJLyogc2V0IHRoZSBjb2RlYyBzeXN0ZW0gY2xvY2sgZm9yIERBQyBhbmQgQURDICovCi0JcmV0ID0gY29kZWNfZGFpLT5kYWlfb3BzLnNldF9zeXNjbGsoY29kZWNfZGFpLCBXTTg3MzFfU1lTQ0xLLCBjbGssCisJcmV0ID0gc25kX3NvY19kYWlfc2V0X3N5c2Nsayhjb2RlY19kYWksIFdNODczMV9TWVNDTEssIGNsaywKIAkJU05EX1NPQ19DTE9DS19JTik7CiAJaWYgKHJldCA8IDApCiAJCXJldHVybiByZXQ7CiAKIAkvKiBzZXQgdGhlIEkyUyBzeXN0ZW0gY2xvY2sgYXMgaW5wdXQgKHVudXNlZCkgKi8KLQlyZXQgPSBjcHVfZGFpLT5kYWlfb3BzLnNldF9zeXNjbGsoY3B1X2RhaSwgUFhBMlhYX0kyU19TWVNDTEssIDAsCisJcmV0ID0gc25kX3NvY19kYWlfc2V0X3N5c2NsayhjcHVfZGFpLCBQWEEyWFhfSTJTX1NZU0NMSywgMCwKIAkJU05EX1NPQ19DTE9DS19JTik7CiAJaWYgKHJldCA8IDApCiAJCXJldHVybiByZXQ7CkBAIC0yMTUsOCArMjEzLDggQEAKIFNORF9TT0NfREFQTV9TUEsoIkV4dCBTcGsiLCBwb29kbGVfYW1wX2V2ZW50KSwKIH07CiAKLS8qIENvcmdpIG1hY2hpbmUgYXVkaW9fbWFwbmVjdGlvbnMgdG8gdGhlIGNvZGVjIHBpbnMgKi8KLXN0YXRpYyBjb25zdCBjaGFyICphdWRpb19tYXBbXVszXSA9IHsKKy8qIENvcmdpIG1hY2hpbmUgY29ubmVjdGlvbnMgdG8gdGhlIGNvZGVjIHBpbnMgKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX3NvY19kYXBtX3JvdXRlIGF1ZGlvX21hcFtdID0gewogCiAJLyogaGVhZHBob25lIGNvbm5lY3RlZCB0byBMSFBPVVQxLCBSSFBPVVQxICovCiAJeyJIZWFkcGhvbmUgSmFjayIsIE5VTEwsICJMSFBPVVQifSwKQEAgLTIyNSw4ICsyMjMsNiBAQAogCS8qIHNwZWFrZXIgY29ubmVjdGVkIHRvIExPVVQsIFJPVVQgKi8KIAl7IkV4dCBTcGsiLCBOVUxMLCAiUk9VVCJ9LAogCXsiRXh0IFNwayIsIE5VTEwsICJMT1VUIn0sCi0KLQl7TlVMTCwgTlVMTCwgTlVMTH0sCiB9OwogCiBzdGF0aWMgY29uc3QgY2hhciAqamFja19mdW5jdGlvbltdID0geyJPZmYiLCAiSGVhZHBob25lIn07CkBAIC0yNTAsOSArMjQ2LDkgQEAKIHsKIAlpbnQgaSwgZXJyOwogCi0Jc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkxMSU5FSU4iLCAwKTsKLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiUkxJTkVJTiIsIDApOwotCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJNSUNJTiIsIDEpOworCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkxMSU5FSU4iKTsKKwlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJSTElORUlOIik7CisJc25kX3NvY19kYXBtX2VuYWJsZV9waW4oY29kZWMsICJNSUNJTiIpOwogCiAJLyogQWRkIHBvb2RsZSBzcGVjaWZpYyBjb250cm9scyAqLwogCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHdtODczMV9wb29kbGVfY29udHJvbHMpOyBpKyspIHsKQEAgLTI2MywxNSArMjU5LDEzIEBACiAJfQogCiAJLyogQWRkIHBvb2RsZSBzcGVjaWZpYyB3aWRnZXRzICovCi0JZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUod204NzMxX2RhcG1fd2lkZ2V0cyk7IGkrKykKLQkJc25kX3NvY19kYXBtX25ld19jb250cm9sKGNvZGVjLCAmd204NzMxX2RhcG1fd2lkZ2V0c1tpXSk7CisJc25kX3NvY19kYXBtX25ld19jb250cm9scyhjb2RlYywgd204NzMxX2RhcG1fd2lkZ2V0cywKKwkJCQkgIEFSUkFZX1NJWkUod204NzMxX2RhcG1fd2lkZ2V0cykpOwogCiAJLyogU2V0IHVwIHBvb2RsZSBzcGVjaWZpYyBhdWRpbyBwYXRoIGF1ZGlvX21hcCAqLwotCWZvciAoaSA9IDA7IGF1ZGlvX21hcFtpXVswXSAhPSBOVUxMOyBpKyspCi0JCXNuZF9zb2NfZGFwbV9jb25uZWN0X2lucHV0KGNvZGVjLCBhdWRpb19tYXBbaV1bMF0sCi0JCQlhdWRpb19tYXBbaV1bMV0sIGF1ZGlvX21hcFtpXVsyXSk7CisJc25kX3NvY19kYXBtX2FkZF9yb3V0ZXMoY29kZWMsIGF1ZGlvX21hcCwgQVJSQVlfU0laRShhdWRpb19tYXApKTsKIAotCXNuZF9zb2NfZGFwbV9zeW5jX2VuZHBvaW50cyhjb2RlYyk7CisJc25kX3NvY19kYXBtX3N5bmMoY29kZWMpOwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvcHhhL3B4YTJ4eC1hYzk3LmMgYi9zb3VuZC9zb2MvcHhhL3B4YTJ4eC1hYzk3LmMKaW5kZXggOTdlYzJkOS4uMDU5YWY4MSAxMDA2NDQKLS0tIGEvc291bmQvc29jL3B4YS9weGEyeHgtYWM5Ny5jCisrKyBiL3NvdW5kL3NvYy9weGEvcHhhMnh4LWFjOTcuYwpAQCAtMjgzLDcgKzI4Myw3IEBACiAKICNpZmRlZiBDT05GSUdfUE0KIHN0YXRpYyBpbnQgcHhhMnh4X2FjOTdfc3VzcGVuZChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAotCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmRhaSkKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSkKIHsKIAlHQ1IgfD0gR0NSX0FDTElOS19PRkY7CiAJY2xrX2Rpc2FibGUoYWM5N19jbGspOwpAQCAtMjkxLDcgKzI5MSw3IEBACiB9CiAKIHN0YXRpYyBpbnQgcHhhMnh4X2FjOTdfcmVzdW1lKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCi0Jc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqZGFpKQorCXN0cnVjdCBzbmRfc29jX2RhaSAqZGFpKQogewogCXB4YV9ncGlvX21vZGUoR1BJTzMxX1NZTkNfQUM5N19NRCk7CiAJcHhhX2dwaW9fbW9kZShHUElPMzBfU0RBVEFfT1VUX0FDOTdfTUQpOwpAQCAtMzEwLDcgKzMxMCw4IEBACiAjZGVmaW5lIHB4YTJ4eF9hYzk3X3Jlc3VtZQlOVUxMCiAjZW5kaWYKIAotc3RhdGljIGludCBweGEyeHhfYWM5N19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQorc3RhdGljIGludCBweGEyeHhfYWM5N19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAorCQkJICAgICBzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSkKIHsKIAlpbnQgcmV0OwogCkBAIC0zNTUsNyArMzU2LDggQEAKIAlyZXR1cm4gcmV0OwogfQogCi1zdGF0aWMgdm9pZCBweGEyeHhfYWM5N19yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3N0YXRpYyB2b2lkIHB4YTJ4eF9hYzk3X3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAorCQkJICAgICAgIHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpKQogewogCUdDUiB8PSBHQ1JfQUNMSU5LX09GRjsKIAlmcmVlX2lycShJUlFfQUM5NywgTlVMTCk7CkBAIC0zNzIsNyArMzc0LDcgQEAKIAkJCQlzdHJ1Y3Qgc25kX3BjbV9od19wYXJhbXMgKnBhcmFtcykKIHsKIAlzdHJ1Y3Qgc25kX3NvY19wY21fcnVudGltZSAqcnRkID0gc3Vic3RyZWFtLT5wcml2YXRlX2RhdGE7Ci0Jc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSA9IHJ0ZC0+ZGFpLT5jcHVfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSA9IHJ0ZC0+ZGFpLT5jcHVfZGFpOwogCiAJaWYgKHN1YnN0cmVhbS0+c3RyZWFtID09IFNORFJWX1BDTV9TVFJFQU1fUExBWUJBQ0spCiAJCWNwdV9kYWktPmRtYV9kYXRhID0gJnB4YTJ4eF9hYzk3X3BjbV9zdGVyZW9fb3V0OwpAQCAtMzg2LDcgKzM4OCw3IEBACiAJc3RydWN0IHNuZF9wY21faHdfcGFyYW1zICpwYXJhbXMpCiB7CiAJc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRpbWUgKnJ0ZCA9IHN1YnN0cmVhbS0+cHJpdmF0ZV9kYXRhOwotCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWkgPSBydGQtPmRhaS0+Y3B1X2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkgPSBydGQtPmRhaS0+Y3B1X2RhaTsKIAogCWlmIChzdWJzdHJlYW0tPnN0cmVhbSA9PSBTTkRSVl9QQ01fU1RSRUFNX1BMQVlCQUNLKQogCQljcHVfZGFpLT5kbWFfZGF0YSA9ICZweGEyeHhfYWM5N19wY21fYXV4X21vbm9fb3V0OwpAQCAtNDAwLDcgKzQwMiw3IEBACiAJc3RydWN0IHNuZF9wY21faHdfcGFyYW1zICpwYXJhbXMpCiB7CiAJc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRpbWUgKnJ0ZCA9IHN1YnN0cmVhbS0+cHJpdmF0ZV9kYXRhOwotCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWkgPSBydGQtPmRhaS0+Y3B1X2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkgPSBydGQtPmRhaS0+Y3B1X2RhaTsKIAogCWlmIChzdWJzdHJlYW0tPnN0cmVhbSA9PSBTTkRSVl9QQ01fU1RSRUFNX1BMQVlCQUNLKQogCQlyZXR1cm4gLUVOT0RFVjsKQEAgLTQxOCw3ICs0MjAsNyBAQAogICogVGhlcmUgaXMgb25seSAxIHBoeXNpY2FsIEFDOTcgaW50ZXJmYWNlIGZvciBweGEyeHgsIGJ1dCBpdAogICogaGFzIGV4dHJhIGZpZm8ncyB0aGF0IGNhbiBiZSB1c2VkIGZvciBhdXggREFDcyBhbmQgQURDcy4KICAqLwotc3RydWN0IHNuZF9zb2NfY3B1X2RhaSBweGFfYWM5N19kYWlbXSA9IHsKK3N0cnVjdCBzbmRfc29jX2RhaSBweGFfYWM5N19kYWlbXSA9IHsKIHsKIAkubmFtZSA9ICJweGEyeHgtYWM5NyIsCiAJLmlkID0gMCwKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9weGEvcHhhMnh4LWFjOTcuaCBiL3NvdW5kL3NvYy9weGEvcHhhMnh4LWFjOTcuaAppbmRleCBiOGNjZmVlLi5lMzkwZGU4IDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvcHhhL3B4YTJ4eC1hYzk3LmgKKysrIGIvc291bmQvc29jL3B4YS9weGEyeHgtYWM5Ny5oCkBAIC0xNCw3ICsxNCw3IEBACiAjZGVmaW5lIFBYQTJYWF9EQUlfQUM5N19BVVgJCTEKICNkZWZpbmUgUFhBMlhYX0RBSV9BQzk3X01JQwkJMgogCi1leHRlcm4gc3RydWN0IHNuZF9zb2NfY3B1X2RhaSBweGFfYWM5N19kYWlbM107CitleHRlcm4gc3RydWN0IHNuZF9zb2NfZGFpIHB4YV9hYzk3X2RhaVszXTsKIAogLyogcGxhdGZvcm0gZGF0YSAqLwogZXh0ZXJuIHN0cnVjdCBzbmRfYWM5N19idXNfb3BzIHB4YTJ4eF9hYzk3X29wczsKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9weGEvcHhhMnh4LWkycy5jIGIvc291bmQvc29jL3B4YS9weGEyeHgtaTJzLmMKaW5kZXggNDI1MDcxMC4uOGY5NmQ4NyAxMDA2NDQKLS0tIGEvc291bmQvc29jL3B4YS9weGEyeHgtaTJzLmMKKysrIGIvc291bmQvc29jL3B4YS9weGEyeHgtaTJzLmMKQEAgLTksMTUgKzksMTMgQEAKICAqICB1bmRlciAgdGhlIHRlcm1zIG9mICB0aGUgR05VIEdlbmVyYWwgIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUKICAqICBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247ICBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSAgTGljZW5zZSwgb3IgKGF0IHlvdXIKICAqICBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqICBSZXZpc2lvbiBoaXN0b3J5Ci0gKiAgICAxMnRoIEF1ZyAyMDA1ICAgSW5pdGlhbCB2ZXJzaW9uLgogICovCiAKICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KKyNpbmNsdWRlIDxsaW51eC9jbGsuaD4KICNpbmNsdWRlIDxzb3VuZC9jb3JlLmg+CiAjaW5jbHVkZSA8c291bmQvcGNtLmg+CiAjaW5jbHVkZSA8c291bmQvaW5pdHZhbC5oPgpAQCAtNDAsNiArMzgsNyBAQAogCXUzMiBmbXQ7CiB9Owogc3RhdGljIHN0cnVjdCBweGFfaTJzX3BvcnQgcHhhX2kyczsKK3N0YXRpYyBzdHJ1Y3QgY2xrICpjbGtfaTJzOwogCiBzdGF0aWMgc3RydWN0IHB4YTJ4eF9wY21fZG1hX3BhcmFtcyBweGEyeHhfaTJzX3BjbV9zdGVyZW9fb3V0ID0gewogCS5uYW1lCQkJPSAiSTJTIFBDTSBTdGVyZW8gb3V0IiwKQEAgLTgwLDcgKzc5LDExIEBACiBzdGF0aWMgaW50IHB4YTJ4eF9pMnNfc3RhcnR1cChzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKIHsKIAlzdHJ1Y3Qgc25kX3NvY19wY21fcnVudGltZSAqcnRkID0gc3Vic3RyZWFtLT5wcml2YXRlX2RhdGE7Ci0Jc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSA9IHJ0ZC0+ZGFpLT5jcHVfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSA9IHJ0ZC0+ZGFpLT5jcHVfZGFpOworCisJY2xrX2kycyA9IGNsa19nZXQoTlVMTCwgIkkyU0NMSyIpOworCWlmIChJU19FUlIoY2xrX2kycykpCisJCXJldHVybiBQVFJfRVJSKGNsa19pMnMpOwogCiAJaWYgKCFjcHVfZGFpLT5hY3RpdmUpIHsKIAkJU0FDUjAgfD0gU0FDUjBfUlNUOwpAQCAtMTAxLDcgKzEwNCw3IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgcHhhMnh4X2kyc19zZXRfZGFpX2ZtdChzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpLAorc3RhdGljIGludCBweGEyeHhfaTJzX3NldF9kYWlfZm10KHN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSwKIAkJdW5zaWduZWQgaW50IGZtdCkKIHsKIAkvKiBpbnRlcmZhY2UgZm9ybWF0ICovCkBAIC0xMjcsNyArMTMwLDcgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBweGEyeHhfaTJzX3NldF9kYWlfc3lzY2xrKHN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWksCitzdGF0aWMgaW50IHB4YTJ4eF9pMnNfc2V0X2RhaV9zeXNjbGsoc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpLAogCQlpbnQgY2xrX2lkLCB1bnNpZ25lZCBpbnQgZnJlcSwgaW50IGRpcikKIHsKIAlpZiAoY2xrX2lkICE9IFBYQTJYWF9JMlNfU1lTQ0xLKQpAQCAtMTQzLDEzICsxNDYsMTMgQEAKIAkJCQlzdHJ1Y3Qgc25kX3BjbV9od19wYXJhbXMgKnBhcmFtcykKIHsKIAlzdHJ1Y3Qgc25kX3NvY19wY21fcnVudGltZSAqcnRkID0gc3Vic3RyZWFtLT5wcml2YXRlX2RhdGE7Ci0Jc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSA9IHJ0ZC0+ZGFpLT5jcHVfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSA9IHJ0ZC0+ZGFpLT5jcHVfZGFpOwogCiAJcHhhX2dwaW9fbW9kZShncGlvX2J1c1tweGFfaTJzLm1hc3Rlcl0ucngpOwogCXB4YV9ncGlvX21vZGUoZ3Bpb19idXNbcHhhX2kycy5tYXN0ZXJdLnR4KTsKIAlweGFfZ3Bpb19tb2RlKGdwaW9fYnVzW3B4YV9pMnMubWFzdGVyXS5mcm0pOwogCXB4YV9ncGlvX21vZGUoZ3Bpb19idXNbcHhhX2kycy5tYXN0ZXJdLmNsayk7Ci0JcHhhX3NldF9ja2VuKENLRU5fSTJTLCAxKTsKKwljbGtfZW5hYmxlKGNsa19pMnMpOwogCXB4YV9pMnNfd2FpdCgpOwogCiAJaWYgKHN1YnN0cmVhbS0+c3RyZWFtID09IFNORFJWX1BDTV9TVFJFQU1fUExBWUJBQ0spCkBAIC0yMzQsMTMgKzIzNywxNSBAQAogCWlmIChTQUNSMSAmIChTQUNSMV9EUkVDIHwgU0FDUjFfRFJQTCkpIHsKIAkJU0FDUjAgJj0gflNBQ1IwX0VOQjsKIAkJcHhhX2kyc193YWl0KCk7Ci0JCXB4YV9zZXRfY2tlbihDS0VOX0kyUywgMCk7CisJCWNsa19kaXNhYmxlKGNsa19pMnMpOwogCX0KKworCWNsa19wdXQoY2xrX2kycyk7CiB9CiAKICNpZmRlZiBDT05GSUdfUE0KIHN0YXRpYyBpbnQgcHhhMnh4X2kyc19zdXNwZW5kKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRldiwKLQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpkYWkpCisJc3RydWN0IHNuZF9zb2NfZGFpICpkYWkpCiB7CiAJaWYgKCFkYWktPmFjdGl2ZSkKIAkJcmV0dXJuIDA7CkBAIC0yNTgsNyArMjYzLDcgQEAKIH0KIAogc3RhdGljIGludCBweGEyeHhfaTJzX3Jlc3VtZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAotCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmRhaSkKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSkKIHsKIAlpZiAoIWRhaS0+YWN0aXZlKQogCQlyZXR1cm4gMDsKQEAgLTI4Myw3ICsyODgsNyBAQAogCQlTTkRSVl9QQ01fUkFURV8xNjAwMCB8IFNORFJWX1BDTV9SQVRFXzIyMDUwIHwgU05EUlZfUENNX1JBVEVfNDQxMDAgfCBcCiAJCVNORFJWX1BDTV9SQVRFXzQ4MDAwIHwgU05EUlZfUENNX1JBVEVfOTYwMDApCiAKLXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgcHhhX2kyc19kYWkgPSB7CitzdHJ1Y3Qgc25kX3NvY19kYWkgcHhhX2kyc19kYWkgPSB7CiAJLm5hbWUgPSAicHhhMnh4LWkycyIsCiAJLmlkID0gMCwKIAkudHlwZSA9IFNORF9TT0NfREFJX0kyUywKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9weGEvcHhhMnh4LWkycy5oIGIvc291bmQvc29jL3B4YS9weGEyeHgtaTJzLmgKaW5kZXggNDQzNWJkOS4uZTJkZWY0NCAxMDA2NDQKLS0tIGEvc291bmQvc29jL3B4YS9weGEyeHgtaTJzLmgKKysrIGIvc291bmQvc29jL3B4YS9weGEyeHgtaTJzLmgKQEAgLTE1LDYgKzE1LDYgQEAKIC8qIEkyUyBjbG9jayAqLwogI2RlZmluZSBQWEEyWFhfSTJTX1NZU0NMSwkJMAogCi1leHRlcm4gc3RydWN0IHNuZF9zb2NfY3B1X2RhaSBweGFfaTJzX2RhaTsKK2V4dGVybiBzdHJ1Y3Qgc25kX3NvY19kYWkgcHhhX2kyc19kYWk7CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvc291bmQvc29jL3B4YS9weGEyeHgtcGNtLmMgYi9zb3VuZC9zb2MvcHhhL3B4YTJ4eC1wY20uYwppbmRleCAwMWFkN2JmLi4yZGYwM2VlIDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvcHhhL3B4YTJ4eC1wY20uYworKysgYi9zb3VuZC9zb2MvcHhhL3B4YTJ4eC1wY20uYwpAQCAtMzMwLDcgKzMzMCw3IEBACiAKIHN0YXRpYyB1NjQgcHhhMnh4X3BjbV9kbWFtYXNrID0gRE1BXzMyQklUX01BU0s7CiAKLWludCBweGEyeHhfcGNtX25ldyhzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQsIHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqZGFpLAoraW50IHB4YTJ4eF9wY21fbmV3KHN0cnVjdCBzbmRfY2FyZCAqY2FyZCwgc3RydWN0IHNuZF9zb2NfZGFpICpkYWksCiAJc3RydWN0IHNuZF9wY20gKnBjbSkKIHsKIAlpbnQgcmV0ID0gMDsKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9weGEvc3BpdHouYyBiL3NvdW5kL3NvYy9weGEvc3BpdHouYwppbmRleCBkOGI4MzcyLi42NDM4NTc5IDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvcHhhL3NwaXR6LmMKKysrIGIvc291bmQvc29jL3B4YS9zcGl0ei5jCkBAIC0xMiw5ICsxMiw2IEBACiAgKiAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyAgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgIExpY2Vuc2UsIG9yIChhdCB5b3VyCiAgKiAgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICAqCi0gKiAgUmV2aXNpb24gaGlzdG9yeQotICogICAgMzB0aCBOb3YgMjAwNSAgIEluaXRpYWwgdmVyc2lvbi4KLSAqCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgpAQCAtNTQsNjAgKzUxLDYwIEBACiBzdGF0aWMgdm9pZCBzcGl0el9leHRfY29udHJvbChzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMpCiB7CiAJaWYgKHNwaXR6X3Nwa19mdW5jID09IFNQSVRaX1NQS19PTikKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkV4dCBTcGsiLCAxKTsKKwkJc25kX3NvY19kYXBtX2VuYWJsZV9waW4oY29kZWMsICJFeHQgU3BrIik7CiAJZWxzZQotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiRXh0IFNwayIsIDApOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJFeHQgU3BrIik7CiAKIAkvKiBzZXQgdXAgamFjayBjb25uZWN0aW9uICovCiAJc3dpdGNoIChzcGl0el9qYWNrX2Z1bmMpIHsKIAljYXNlIFNQSVRaX0hQOgogCQkvKiBlbmFibGUgYW5kIHVubXV0ZSBocCBqYWNrLCBkaXNhYmxlIG1pYyBiaWFzICovCi0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJIZWFkc2V0IEphY2siLCAwKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIk1pYyBKYWNrIiwgMCk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJMaW5lIEphY2siLCAwKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkhlYWRwaG9uZSBKYWNrIiwgMSk7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkhlYWRzZXQgSmFjayIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJNaWMgSmFjayIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJMaW5lIEphY2siKTsKKwkJc25kX3NvY19kYXBtX2VuYWJsZV9waW4oY29kZWMsICJIZWFkcGhvbmUgSmFjayIpOwogCQlzZXRfc2Nvb3BfZ3Bpbygmc3BpdHpzY29vcF9kZXZpY2UuZGV2LCBTUElUWl9TQ1BfTVVURV9MKTsKIAkJc2V0X3Njb29wX2dwaW8oJnNwaXR6c2Nvb3BfZGV2aWNlLmRldiwgU1BJVFpfU0NQX01VVEVfUik7CiAJCWJyZWFrOwogCWNhc2UgU1BJVFpfTUlDOgogCQkvKiBlbmFibGUgbWljIGphY2sgYW5kIGJpYXMsIG11dGUgaHAgKi8KLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkhlYWRwaG9uZSBKYWNrIiwgMCk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJIZWFkc2V0IEphY2siLCAwKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkxpbmUgSmFjayIsIDApOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiTWljIEphY2siLCAxKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiSGVhZHBob25lIEphY2siKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiSGVhZHNldCBKYWNrIik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkxpbmUgSmFjayIpOworCQlzbmRfc29jX2RhcG1fZW5hYmxlX3Bpbihjb2RlYywgIk1pYyBKYWNrIik7CiAJCXJlc2V0X3Njb29wX2dwaW8oJnNwaXR6c2Nvb3BfZGV2aWNlLmRldiwgU1BJVFpfU0NQX01VVEVfTCk7CiAJCXJlc2V0X3Njb29wX2dwaW8oJnNwaXR6c2Nvb3BfZGV2aWNlLmRldiwgU1BJVFpfU0NQX01VVEVfUik7CiAJCWJyZWFrOwogCWNhc2UgU1BJVFpfTElORToKIAkJLyogZW5hYmxlIGxpbmUgamFjaywgZGlzYWJsZSBtaWMgYmlhcyBhbmQgbXV0ZSBocCAqLwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiSGVhZHBob25lIEphY2siLCAwKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkhlYWRzZXQgSmFjayIsIDApOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiTWljIEphY2siLCAwKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkxpbmUgSmFjayIsIDEpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJIZWFkcGhvbmUgSmFjayIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJIZWFkc2V0IEphY2siKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiTWljIEphY2siKTsKKwkJc25kX3NvY19kYXBtX2VuYWJsZV9waW4oY29kZWMsICJMaW5lIEphY2siKTsKIAkJcmVzZXRfc2Nvb3BfZ3Bpbygmc3BpdHpzY29vcF9kZXZpY2UuZGV2LCBTUElUWl9TQ1BfTVVURV9MKTsKIAkJcmVzZXRfc2Nvb3BfZ3Bpbygmc3BpdHpzY29vcF9kZXZpY2UuZGV2LCBTUElUWl9TQ1BfTVVURV9SKTsKIAkJYnJlYWs7CiAJY2FzZSBTUElUWl9IRUFEU0VUOgogCQkvKiBlbmFibGUgYW5kIHVubXV0ZSBoZWFkc2V0IGphY2sgZW5hYmxlIG1pYyBiaWFzLCBtdXRlIEwgaHAgKi8KLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkhlYWRwaG9uZSBKYWNrIiwgMCk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJNaWMgSmFjayIsIDEpOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiTGluZSBKYWNrIiwgMCk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJIZWFkc2V0IEphY2siLCAxKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiSGVhZHBob25lIEphY2siKTsKKwkJc25kX3NvY19kYXBtX2VuYWJsZV9waW4oY29kZWMsICJNaWMgSmFjayIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJMaW5lIEphY2siKTsKKwkJc25kX3NvY19kYXBtX2VuYWJsZV9waW4oY29kZWMsICJIZWFkc2V0IEphY2siKTsKIAkJcmVzZXRfc2Nvb3BfZ3Bpbygmc3BpdHpzY29vcF9kZXZpY2UuZGV2LCBTUElUWl9TQ1BfTVVURV9MKTsKIAkJc2V0X3Njb29wX2dwaW8oJnNwaXR6c2Nvb3BfZGV2aWNlLmRldiwgU1BJVFpfU0NQX01VVEVfUik7CiAJCWJyZWFrOwogCWNhc2UgU1BJVFpfSFBfT0ZGOgogCiAJCS8qIGphY2sgcmVtb3ZlZCwgZXZlcnl0aGluZyBvZmYgKi8KLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkhlYWRwaG9uZSBKYWNrIiwgMCk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJIZWFkc2V0IEphY2siLCAwKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIk1pYyBKYWNrIiwgMCk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJMaW5lIEphY2siLCAwKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiSGVhZHBob25lIEphY2siKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiSGVhZHNldCBKYWNrIik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIk1pYyBKYWNrIik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkxpbmUgSmFjayIpOwogCQlyZXNldF9zY29vcF9ncGlvKCZzcGl0enNjb29wX2RldmljZS5kZXYsIFNQSVRaX1NDUF9NVVRFX0wpOwogCQlyZXNldF9zY29vcF9ncGlvKCZzcGl0enNjb29wX2RldmljZS5kZXYsIFNQSVRaX1NDUF9NVVRFX1IpOwogCQlicmVhazsKIAl9Ci0Jc25kX3NvY19kYXBtX3N5bmNfZW5kcG9pbnRzKGNvZGVjKTsKKwlzbmRfc29jX2RhcG1fc3luYyhjb2RlYyk7CiB9CiAKIHN0YXRpYyBpbnQgc3BpdHpfc3RhcnR1cChzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKQEAgLTEyNCw4ICsxMjEsOCBAQAogCXN0cnVjdCBzbmRfcGNtX2h3X3BhcmFtcyAqcGFyYW1zKQogewogCXN0cnVjdCBzbmRfc29jX3BjbV9ydW50aW1lICpydGQgPSBzdWJzdHJlYW0tPnByaXZhdGVfZGF0YTsKLQlzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSA9IHJ0ZC0+ZGFpLT5jb2RlY19kYWk7Ci0Jc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSA9IHJ0ZC0+ZGFpLT5jcHVfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpID0gcnRkLT5kYWktPmNvZGVjX2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkgPSBydGQtPmRhaS0+Y3B1X2RhaTsKIAl1bnNpZ25lZCBpbnQgY2xrID0gMDsKIAlpbnQgcmV0ID0gMDsKIApAQCAtMTQ0LDI1ICsxNDEsMjUgQEAKIAl9CiAKIAkvKiBzZXQgY29kZWMgREFJIGNvbmZpZ3VyYXRpb24gKi8KLQlyZXQgPSBjb2RlY19kYWktPmRhaV9vcHMuc2V0X2ZtdChjb2RlY19kYWksIFNORF9TT0NfREFJRk1UX0kyUyB8CisJcmV0ID0gc25kX3NvY19kYWlfc2V0X2ZtdChjb2RlY19kYWksIFNORF9TT0NfREFJRk1UX0kyUyB8CiAJCVNORF9TT0NfREFJRk1UX05CX05GIHwgU05EX1NPQ19EQUlGTVRfQ0JTX0NGUyk7CiAJaWYgKHJldCA8IDApCiAJCXJldHVybiByZXQ7CiAKIAkvKiBzZXQgY3B1IERBSSBjb25maWd1cmF0aW9uICovCi0JcmV0ID0gY3B1X2RhaS0+ZGFpX29wcy5zZXRfZm10KGNwdV9kYWksIFNORF9TT0NfREFJRk1UX0kyUyB8CisJcmV0ID0gc25kX3NvY19kYWlfc2V0X2ZtdChjcHVfZGFpLCBTTkRfU09DX0RBSUZNVF9JMlMgfAogCQlTTkRfU09DX0RBSUZNVF9OQl9ORiB8IFNORF9TT0NfREFJRk1UX0NCU19DRlMpOwogCWlmIChyZXQgPCAwKQogCQlyZXR1cm4gcmV0OwogCiAJLyogc2V0IHRoZSBjb2RlYyBzeXN0ZW0gY2xvY2sgZm9yIERBQyBhbmQgQURDICovCi0JcmV0ID0gY29kZWNfZGFpLT5kYWlfb3BzLnNldF9zeXNjbGsoY29kZWNfZGFpLCBXTTg3NTBfU1lTQ0xLLCBjbGssCisJcmV0ID0gc25kX3NvY19kYWlfc2V0X3N5c2Nsayhjb2RlY19kYWksIFdNODc1MF9TWVNDTEssIGNsaywKIAkJU05EX1NPQ19DTE9DS19JTik7CiAJaWYgKHJldCA8IDApCiAJCXJldHVybiByZXQ7CiAKIAkvKiBzZXQgdGhlIEkyUyBzeXN0ZW0gY2xvY2sgYXMgaW5wdXQgKHVudXNlZCkgKi8KLQlyZXQgPSBjcHVfZGFpLT5kYWlfb3BzLnNldF9zeXNjbGsoY3B1X2RhaSwgUFhBMlhYX0kyU19TWVNDTEssIDAsCisJcmV0ID0gc25kX3NvY19kYWlfc2V0X3N5c2NsayhjcHVfZGFpLCBQWEEyWFhfSTJTX1NZU0NMSywgMCwKIAkJU05EX1NPQ19DTE9DS19JTik7CiAJaWYgKHJldCA8IDApCiAJCXJldHVybiByZXQ7CkBAIC0yNTAsNyArMjQ3LDcgQEAKIH07CiAKIC8qIFNwaXR6IG1hY2hpbmUgYXVkaW9fbWFwICovCi1zdGF0aWMgY29uc3QgY2hhciAqYXVkaW9fbWFwW11bM10gPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9zb2NfZGFwbV9yb3V0ZSBhdWRpb19tYXBbXSA9IHsKIAogCS8qIGhlYWRwaG9uZSBjb25uZWN0ZWQgdG8gTE9VVDEsIFJPVVQxICovCiAJeyJIZWFkcGhvbmUgSmFjayIsIE5VTEwsICJMT1VUMSJ9LApAQCAtMjY5LDggKzI2Niw2IEBACiAKIAkvKiBsaW5lIGlzIGNvbm5lY3RlZCB0byBpbnB1dCAxIC0gbm8gYmlhcyAqLwogCXsiTElOUFVUMSIsIE5VTEwsICJMaW5lIEphY2sifSwKLQotCXtOVUxMLCBOVUxMLCBOVUxMfSwKIH07CiAKIHN0YXRpYyBjb25zdCBjaGFyICpqYWNrX2Z1bmN0aW9uW10gPSB7IkhlYWRwaG9uZSIsICJNaWMiLCAiTGluZSIsICJIZWFkc2V0IiwKQEAgLTI5NiwxMyArMjkxLDEzIEBACiAJaW50IGksIGVycjsKIAogCS8qIE5DIGNvZGVjIHBpbnMgKi8KLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiUklOUFVUMSIsIDApOwotCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJMSU5QVVQyIiwgMCk7Ci0Jc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIlJJTlBVVDIiLCAwKTsKLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiTElOUFVUMyIsIDApOwotCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJSSU5QVVQzIiwgMCk7Ci0Jc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIk9VVDMiLCAwKTsKLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiTU9OTyIsIDApOworCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIlJJTlBVVDEiKTsKKwlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJMSU5QVVQyIik7CisJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiUklOUFVUMiIpOworCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkxJTlBVVDMiKTsKKwlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJSSU5QVVQzIik7CisJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiT1VUMyIpOworCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIk1PTk8iKTsKIAogCS8qIEFkZCBzcGl0eiBzcGVjaWZpYyBjb250cm9scyAqLwogCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHdtODc1MF9zcGl0el9jb250cm9scyk7IGkrKykgewpAQCAtMzEzLDE1ICszMDgsMTMgQEAKIAl9CiAKIAkvKiBBZGQgc3BpdHogc3BlY2lmaWMgd2lkZ2V0cyAqLwotCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHdtODc1MF9kYXBtX3dpZGdldHMpOyBpKyspCi0JCXNuZF9zb2NfZGFwbV9uZXdfY29udHJvbChjb2RlYywgJndtODc1MF9kYXBtX3dpZGdldHNbaV0pOworCXNuZF9zb2NfZGFwbV9uZXdfY29udHJvbHMoY29kZWMsIHdtODc1MF9kYXBtX3dpZGdldHMsCisJCQkJICBBUlJBWV9TSVpFKHdtODc1MF9kYXBtX3dpZGdldHMpKTsKIAotCS8qIFNldCB1cCBzcGl0eiBzcGVjaWZpYyBhdWRpbyBwYXRoIGF1ZGlvX21hcCAqLwotCWZvciAoaSA9IDA7IGF1ZGlvX21hcFtpXVswXSAhPSBOVUxMOyBpKyspCi0JCXNuZF9zb2NfZGFwbV9jb25uZWN0X2lucHV0KGNvZGVjLCBhdWRpb19tYXBbaV1bMF0sCi0JCQlhdWRpb19tYXBbaV1bMV0sIGF1ZGlvX21hcFtpXVsyXSk7CisJLyogU2V0IHVwIHNwaXR6IHNwZWNpZmljIGF1ZGlvIHBhdGhzICovCisJc25kX3NvY19kYXBtX2FkZF9yb3V0ZXMoY29kZWMsIGF1ZGlvX21hcCwgQVJSQVlfU0laRShhdWRpb19tYXApKTsKIAotCXNuZF9zb2NfZGFwbV9zeW5jX2VuZHBvaW50cyhjb2RlYyk7CisJc25kX3NvY19kYXBtX3N5bmMoY29kZWMpOwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvcHhhL3Rvc2EuYyBiL3NvdW5kL3NvYy9weGEvdG9zYS5jCmluZGV4IDczNDZkN2UuLmI2ZWRiNjEgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9weGEvdG9zYS5jCisrKyBiL3NvdW5kL3NvYy9weGEvdG9zYS5jCkBAIC0xMiw5ICsxMiw2IEBACiAgKiAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyAgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgIExpY2Vuc2UsIG9yIChhdCB5b3VyCiAgKiAgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICAqCi0gKiAgUmV2aXNpb24gaGlzdG9yeQotICogICAgMzB0aCBOb3YgMjAwNSAgIEluaXRpYWwgdmVyc2lvbi4KLSAqCiAgKiBHUElPJ3MKICAqICAxIC0gSmFjayBJbnNlcnRpb24KICAqICA1IC0gSG9va3N3aXRjaCAoaGVhZHNldCBhbnN3ZXIvaGFuZyB1cCBzd2l0Y2gpCkBAIC01NSwyOSArNTIsMzEgQEAKIAogc3RhdGljIHZvaWQgdG9zYV9leHRfY29udHJvbChzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMpCiB7Ci0JaW50IHNwayA9IDAsIG1pY19pbnQgPSAwLCBocCA9IDAsIGhzID0gMDsKLQogCS8qIHNldCB1cCBqYWNrIGNvbm5lY3Rpb24gKi8KIAlzd2l0Y2ggKHRvc2FfamFja19mdW5jKSB7CiAJY2FzZSBUT1NBX0hQOgotCQlocCA9IDE7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIk1pYyAoSW50ZXJuYWwpIik7CisJCXNuZF9zb2NfZGFwbV9lbmFibGVfcGluKGNvZGVjLCAiSGVhZHBob25lIEphY2siKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiSGVhZHNldCBKYWNrIik7CiAJCWJyZWFrOwogCWNhc2UgVE9TQV9NSUNfSU5UOgotCQltaWNfaW50ID0gMTsKKwkJc25kX3NvY19kYXBtX2VuYWJsZV9waW4oY29kZWMsICJNaWMgKEludGVybmFsKSIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJIZWFkcGhvbmUgSmFjayIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJIZWFkc2V0IEphY2siKTsKIAkJYnJlYWs7CiAJY2FzZSBUT1NBX0hFQURTRVQ6Ci0JCWhzID0gMTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiTWljIChJbnRlcm5hbCkiKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiSGVhZHBob25lIEphY2siKTsKKwkJc25kX3NvY19kYXBtX2VuYWJsZV9waW4oY29kZWMsICJIZWFkc2V0IEphY2siKTsKIAkJYnJlYWs7CiAJfQogCiAJaWYgKHRvc2Ffc3BrX2Z1bmMgPT0gVE9TQV9TUEtfT04pCi0JCXNwayA9IDE7CisJCXNuZF9zb2NfZGFwbV9lbmFibGVfcGluKGNvZGVjLCAiU3BlYWtlciIpOworCWVsc2UKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiU3BlYWtlciIpOwogCi0Jc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIlNwZWFrZXIiLCBzcGspOwotCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJNaWMgKEludGVybmFsKSIsIG1pY19pbnQpOwotCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJIZWFkcGhvbmUgSmFjayIsIGhwKTsKLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiSGVhZHNldCBKYWNrIiwgaHMpOwotCXNuZF9zb2NfZGFwbV9zeW5jX2VuZHBvaW50cyhjb2RlYyk7CisJc25kX3NvY19kYXBtX3N5bmMoY29kZWMpOwogfQogCiBzdGF0aWMgaW50IHRvc2Ffc3RhcnR1cChzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKQEAgLTE1NCw3ICsxNTMsNyBAQAogfTsKIAogLyogdG9zYSBhdWRpbyBtYXAgKi8KLXN0YXRpYyBjb25zdCBjaGFyICphdWRpb19tYXBbXVszXSA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX3NvY19kYXBtX3JvdXRlIGF1ZGlvX21hcFtdID0gewogCiAJLyogaGVhZHBob25lIGNvbm5lY3RlZCB0byBIUE9VVEwsIEhQT1VUUiAqLwogCXsiSGVhZHBob25lIEphY2siLCBOVUxMLCAiSFBPVVRMIn0sCkBAIC0xNzMsOCArMTcyLDYgQEAKIAl7IkhlYWRzZXQgSmFjayIsIE5VTEwsICJIUE9VVFIifSwKIAl7IkxJTkVJTlIiLCBOVUxMLCAiTWljIEJpYXMifSwKIAl7Ik1pYyBCaWFzIiwgTlVMTCwgIkhlYWRzZXQgSmFjayJ9LAotCi0Je05VTEwsIE5VTEwsIE5VTEx9LAogfTsKIAogc3RhdGljIGNvbnN0IGNoYXIgKmphY2tfZnVuY3Rpb25bXSA9IHsiSGVhZHBob25lIiwgIk1pYyIsICJMaW5lIiwgIkhlYWRzZXQiLApAQCAtMTk2LDggKzE5Myw4IEBACiB7CiAJaW50IGksIGVycjsKIAotCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJPVVQzIiwgMCk7Ci0Jc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIk1PTk9PVVQiLCAwKTsKKwlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJPVVQzIik7CisJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiTU9OT09VVCIpOwogCiAJLyogYWRkIHRvc2Egc3BlY2lmaWMgY29udHJvbHMgKi8KIAlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRSh0b3NhX2NvbnRyb2xzKTsgaSsrKSB7CkBAIC0yMDgsMTcgKzIwNSwxMyBAQAogCX0KIAogCS8qIGFkZCB0b3NhIHNwZWNpZmljIHdpZGdldHMgKi8KLQlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRSh0b3NhX2RhcG1fd2lkZ2V0cyk7IGkrKykgewotCQlzbmRfc29jX2RhcG1fbmV3X2NvbnRyb2woY29kZWMsICZ0b3NhX2RhcG1fd2lkZ2V0c1tpXSk7Ci0JfQorCXNuZF9zb2NfZGFwbV9uZXdfY29udHJvbHMoY29kZWMsIHRvc2FfZGFwbV93aWRnZXRzLAorCQkJCSAgQVJSQVlfU0laRSh0b3NhX2RhcG1fd2lkZ2V0cykpOwogCiAJLyogc2V0IHVwIHRvc2Egc3BlY2lmaWMgYXVkaW8gcGF0aCBhdWRpb19tYXAgKi8KLQlmb3IgKGkgPSAwOyBhdWRpb19tYXBbaV1bMF0gIT0gTlVMTDsgaSsrKSB7Ci0JCXNuZF9zb2NfZGFwbV9jb25uZWN0X2lucHV0KGNvZGVjLCBhdWRpb19tYXBbaV1bMF0sCi0JCQlhdWRpb19tYXBbaV1bMV0sIGF1ZGlvX21hcFtpXVsyXSk7Ci0JfQorCXNuZF9zb2NfZGFwbV9hZGRfcm91dGVzKGNvZGVjLCBhdWRpb19tYXAsIEFSUkFZX1NJWkUoYXVkaW9fbWFwKSk7CiAKLQlzbmRfc29jX2RhcG1fc3luY19lbmRwb2ludHMoY29kZWMpOworCXNuZF9zb2NfZGFwbV9zeW5jKGNvZGVjKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvc291bmQvc29jL3MzYzI0eHgvS2NvbmZpZyBiL3NvdW5kL3NvYy9zM2MyNHh4L0tjb25maWcKaW5kZXggMWY2ZGJmYy4uYjlmMjM1MyAxMDA2NDQKLS0tIGEvc291bmQvc29jL3MzYzI0eHgvS2NvbmZpZworKysgYi9zb3VuZC9zb2MvczNjMjR4eC9LY29uZmlnCkBAIC0xLDcgKzEsNiBAQAogY29uZmlnIFNORF9TM0MyNFhYX1NPQwogCXRyaXN0YXRlICJTb0MgQXVkaW8gZm9yIHRoZSBTYW1zdW5nIFMzQzI0WFggY2hpcHMiCi0JZGVwZW5kcyBvbiBBUkNIX1MzQzI0MTAgJiYgU05EX1NPQwotCXNlbGVjdCBTTkRfUENNCisJZGVwZW5kcyBvbiBBUkNIX1MzQzI0MTAKIAloZWxwCiAJICBTYXkgWSBvciBNIGlmIHlvdSB3YW50IHRvIGFkZCBzdXBwb3J0IGZvciBjb2RlY3MgYXR0YWNoZWQgdG8KIAkgIHRoZSBTM0MyNFhYIEFDOTcsIEkyUyBvciBTU1AgaW50ZXJmYWNlLiBZb3Ugd2lsbCBhbHNvIG5lZWQKQEAgLTE2LDcgKzE1LDYgQEAKIGNvbmZpZyBTTkRfUzNDMjQ0M19TT0NfQUM5NwogCXRyaXN0YXRlCiAJc2VsZWN0IEFDOTdfQlVTCi0Jc2VsZWN0IFNORF9BQzk3X0NPREVDCiAJc2VsZWN0IFNORF9TT0NfQUM5N19CVVMKIAkKIGNvbmZpZyBTTkRfUzNDMjRYWF9TT0NfTkVPMTk3M19XTTg3NTMKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9zM2MyNHh4L25lbzE5NzNfd204NzUzLmMgYi9zb3VuZC9zb2MvczNjMjR4eC9uZW8xOTczX3dtODc1My5jCmluZGV4IDBlOWQxYzUuLjRkN2E5YWEgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9zM2MyNHh4L25lbzE5NzNfd204NzUzLmMKKysrIGIvc291bmQvc29jL3MzYzI0eHgvbmVvMTk3M193bTg3NTMuYwpAQCAtMTAsMTAgKzEwLDYgQEAKICAqICBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247ICBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSAgTGljZW5zZSwgb3IgKGF0IHlvdXIKICAqICBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogICoKLSAqICBSZXZpc2lvbiBoaXN0b3J5Ci0gKiAgICAyMHRoIEphbiAyMDA3ICAgSW5pdGlhbCB2ZXJzaW9uLgotICogICAgMDV0aCBGZWIgMjAwNyAgIFJlbmFtZSBhbGwgdG8gTmVvMTk3MwotICoKICAqLwogCiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CkBAIC0yNiw2ICsyMiw3IEBACiAjaW5jbHVkZSA8c291bmQvcGNtLmg+CiAjaW5jbHVkZSA8c291bmQvc29jLmg+CiAjaW5jbHVkZSA8c291bmQvc29jLWRhcG0uaD4KKyNpbmNsdWRlIDxzb3VuZC90bHYuaD4KIAogI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+CiAjaW5jbHVkZSA8YXNtL2hhcmR3YXJlL3Njb29wLmg+CkBAIC00Myw2ICs0MCwxNCBAQAogI2luY2x1ZGUgInMzYzI0eHgtcGNtLmgiCiAjaW5jbHVkZSAiczNjMjR4eC1pMnMuaCIKIAorLyogRGVidWdnaW5nIHN0dWZmICovCisjZGVmaW5lIFMzQzI0WFhfU09DX05FTzE5NzNfV004NzUzX0RFQlVHIDAKKyNpZiBTM0MyNFhYX1NPQ19ORU8xOTczX1dNODc1M19ERUJVRworI2RlZmluZSBEQkcoeC4uLikgcHJpbnRrKEtFUk5fREVCVUcgInMzYzI0eHgtc29jLW5lbzE5NzMtd204NzUzOiAiIHgpCisjZWxzZQorI2RlZmluZSBEQkcoeC4uLikKKyNlbmRpZgorCiAvKiBkZWZpbmUgdGhlIHNjZW5hcmlvcyAqLwogI2RlZmluZSBORU9fQVVESU9fT0ZGCQkJMAogI2RlZmluZSBORU9fR1NNX0NBTExfQVVESU9fSEFORFNFVAkxCkBAIC02MSwxMiArNjYsMTQgQEAKIAlzdHJ1Y3Qgc25kX3BjbV9od19wYXJhbXMgKnBhcmFtcykKIHsKIAlzdHJ1Y3Qgc25kX3NvY19wY21fcnVudGltZSAqcnRkID0gc3Vic3RyZWFtLT5wcml2YXRlX2RhdGE7Ci0Jc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWkgPSBydGQtPmRhaS0+Y29kZWNfZGFpOwotCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWkgPSBydGQtPmRhaS0+Y3B1X2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSA9IHJ0ZC0+ZGFpLT5jb2RlY19kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CiAJdW5zaWduZWQgaW50IHBsbF9vdXQgPSAwLCBiY2xrID0gMDsKIAlpbnQgcmV0ID0gMDsKIAl1bnNpZ25lZCBsb25nIGlpc19jbGtyYXRlOwogCisJREJHKCJFbnRlcmVkICVzXG4iLCBfX2Z1bmNfXyk7CisKIAlpaXNfY2xrcmF0ZSA9IHMzYzI0eHhfaTJzX2dldF9jbG9ja3JhdGUoKTsKIAogCXN3aXRjaCAocGFyYW1zX3JhdGUocGFyYW1zKSkgewpAQCAtMTAxLDQ0ICsxMDgsNDQgQEAKIAl9CiAKIAkvKiBzZXQgY29kZWMgREFJIGNvbmZpZ3VyYXRpb24gKi8KLQlyZXQgPSBjb2RlY19kYWktPmRhaV9vcHMuc2V0X2ZtdChjb2RlY19kYWksCisJcmV0ID0gc25kX3NvY19kYWlfc2V0X2ZtdChjb2RlY19kYWksCiAJCVNORF9TT0NfREFJRk1UX0kyUyB8IFNORF9TT0NfREFJRk1UX05CX05GIHwKIAkJU05EX1NPQ19EQUlGTVRfQ0JNX0NGTSk7CiAJaWYgKHJldCA8IDApCiAJCXJldHVybiByZXQ7CiAKIAkvKiBzZXQgY3B1IERBSSBjb25maWd1cmF0aW9uICovCi0JcmV0ID0gY3B1X2RhaS0+ZGFpX29wcy5zZXRfZm10KGNwdV9kYWksCisJcmV0ID0gc25kX3NvY19kYWlfc2V0X2ZtdChjcHVfZGFpLAogCQlTTkRfU09DX0RBSUZNVF9JMlMgfCBTTkRfU09DX0RBSUZNVF9OQl9ORiB8CiAJCVNORF9TT0NfREFJRk1UX0NCTV9DRk0pOwogCWlmIChyZXQgPCAwKQogCQlyZXR1cm4gcmV0OwogCiAJLyogc2V0IHRoZSBjb2RlYyBzeXN0ZW0gY2xvY2sgZm9yIERBQyBhbmQgQURDICovCi0JcmV0ID0gY29kZWNfZGFpLT5kYWlfb3BzLnNldF9zeXNjbGsoY29kZWNfZGFpLCBXTTg3NTNfTUNMSywgcGxsX291dCwKKwlyZXQgPSBzbmRfc29jX2RhaV9zZXRfc3lzY2xrKGNvZGVjX2RhaSwgV004NzUzX01DTEssIHBsbF9vdXQsCiAJCVNORF9TT0NfQ0xPQ0tfSU4pOwogCWlmIChyZXQgPCAwKQogCQlyZXR1cm4gcmV0OwogCiAJLyogc2V0IE1DTEsgZGl2aXNpb24gZm9yIHNhbXBsZSByYXRlICovCi0JcmV0ID0gY3B1X2RhaS0+ZGFpX29wcy5zZXRfY2xrZGl2KGNwdV9kYWksIFMzQzI0WFhfRElWX01DTEssCisJcmV0ID0gc25kX3NvY19kYWlfc2V0X2Nsa2RpdihjcHVfZGFpLCBTM0MyNFhYX0RJVl9NQ0xLLAogCQlTM0MyNDEwX0lJU01PRF8zMkZTKTsKIAlpZiAocmV0IDwgMCkKIAkJcmV0dXJuIHJldDsKIAogCS8qIHNldCBjb2RlYyBCQ0xLIGRpdmlzaW9uIGZvciBzYW1wbGUgcmF0ZSAqLwotCXJldCA9IGNvZGVjX2RhaS0+ZGFpX29wcy5zZXRfY2xrZGl2KGNvZGVjX2RhaSwgV004NzUzX0JDTEtESVYsIGJjbGspOworCXJldCA9IHNuZF9zb2NfZGFpX3NldF9jbGtkaXYoY29kZWNfZGFpLCBXTTg3NTNfQkNMS0RJViwgYmNsayk7CiAJaWYgKHJldCA8IDApCiAJCXJldHVybiByZXQ7CiAKIAkvKiBzZXQgcHJlc2NhbGVyIGRpdmlzaW9uIGZvciBzYW1wbGUgcmF0ZSAqLwotCXJldCA9IGNwdV9kYWktPmRhaV9vcHMuc2V0X2Nsa2RpdihjcHVfZGFpLCBTM0MyNFhYX0RJVl9QUkVTQ0FMRVIsCisJcmV0ID0gc25kX3NvY19kYWlfc2V0X2Nsa2RpdihjcHVfZGFpLCBTM0MyNFhYX0RJVl9QUkVTQ0FMRVIsCiAJCVMzQzI0WFhfUFJFU0NBTEUoNCwgNCkpOwogCWlmIChyZXQgPCAwKQogCQlyZXR1cm4gcmV0OwogCiAJLyogY29kZWMgUExMIGlucHV0IGlzIFBDTEsvNCAqLwotCXJldCA9IGNvZGVjX2RhaS0+ZGFpX29wcy5zZXRfcGxsKGNvZGVjX2RhaSwgV004NzUzX1BMTDEsCisJcmV0ID0gc25kX3NvY19kYWlfc2V0X3BsbChjb2RlY19kYWksIFdNODc1M19QTEwxLAogCQlpaXNfY2xrcmF0ZSAvIDQsIHBsbF9vdXQpOwogCWlmIChyZXQgPCAwKQogCQlyZXR1cm4gcmV0OwpAQCAtMTQ5LDEwICsxNTYsMTIgQEAKIHN0YXRpYyBpbnQgbmVvMTk3M19oaWZpX2h3X2ZyZWUoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCiB7CiAJc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRpbWUgKnJ0ZCA9IHN1YnN0cmVhbS0+cHJpdmF0ZV9kYXRhOwotCXN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpID0gcnRkLT5kYWktPmNvZGVjX2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSA9IHJ0ZC0+ZGFpLT5jb2RlY19kYWk7CisKKwlEQkcoIkVudGVyZWQgJXNcbiIsIF9fZnVuY19fKTsKIAogCS8qIGRpc2FibGUgdGhlIFBMTCAqLwotCXJldHVybiBjb2RlY19kYWktPmRhaV9vcHMuc2V0X3BsbChjb2RlY19kYWksIFdNODc1M19QTEwxLCAwLCAwKTsKKwlyZXR1cm4gc25kX3NvY19kYWlfc2V0X3BsbChjb2RlY19kYWksIFdNODc1M19QTEwxLCAwLCAwKTsKIH0KIAogLyoKQEAgLTE2NywxMSArMTc2LDEzIEBACiAJc3RydWN0IHNuZF9wY21faHdfcGFyYW1zICpwYXJhbXMpCiB7CiAJc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRpbWUgKnJ0ZCA9IHN1YnN0cmVhbS0+cHJpdmF0ZV9kYXRhOwotCXN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpID0gcnRkLT5kYWktPmNvZGVjX2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSA9IHJ0ZC0+ZGFpLT5jb2RlY19kYWk7CiAJdW5zaWduZWQgaW50IHBjbWRpdiA9IDA7CiAJaW50IHJldCA9IDA7CiAJdW5zaWduZWQgbG9uZyBpaXNfY2xrcmF0ZTsKIAorCURCRygiRW50ZXJlZCAlc1xuIiwgX19mdW5jX18pOworCiAJaWlzX2Nsa3JhdGUgPSBzM2MyNHh4X2kyc19nZXRfY2xvY2tyYXRlKCk7CiAKIAlpZiAocGFyYW1zX3JhdGUocGFyYW1zKSAhPSA4MDAwKQpAQCAtMTgzLDI0ICsxOTQsMjQgQEAKIAogCS8qIHRvZG86IGdnIGNoZWNrIG1vZGUgKERTUF9CKSBhZ2FpbnN0IENTUiBkYXRhc2hlZXQgKi8KIAkvKiBzZXQgY29kZWMgREFJIGNvbmZpZ3VyYXRpb24gKi8KLQlyZXQgPSBjb2RlY19kYWktPmRhaV9vcHMuc2V0X2ZtdChjb2RlY19kYWksIFNORF9TT0NfREFJRk1UX0RTUF9CIHwKKwlyZXQgPSBzbmRfc29jX2RhaV9zZXRfZm10KGNvZGVjX2RhaSwgU05EX1NPQ19EQUlGTVRfRFNQX0IgfAogCQlTTkRfU09DX0RBSUZNVF9OQl9ORiB8IFNORF9TT0NfREFJRk1UX0NCU19DRlMpOwogCWlmIChyZXQgPCAwKQogCQlyZXR1cm4gcmV0OwogCiAJLyogc2V0IHRoZSBjb2RlYyBzeXN0ZW0gY2xvY2sgZm9yIERBQyBhbmQgQURDICovCi0JcmV0ID0gY29kZWNfZGFpLT5kYWlfb3BzLnNldF9zeXNjbGsoY29kZWNfZGFpLCBXTTg3NTNfUENNQ0xLLCAxMjI4ODAwMCwKKwlyZXQgPSBzbmRfc29jX2RhaV9zZXRfc3lzY2xrKGNvZGVjX2RhaSwgV004NzUzX1BDTUNMSywgMTIyODgwMDAsCiAJCVNORF9TT0NfQ0xPQ0tfSU4pOwogCWlmIChyZXQgPCAwKQogCQlyZXR1cm4gcmV0OwogCiAJLyogc2V0IGNvZGVjIFBDTSBkaXZpc2lvbiBmb3Igc2FtcGxlIHJhdGUgKi8KLQlyZXQgPSBjb2RlY19kYWktPmRhaV9vcHMuc2V0X2Nsa2Rpdihjb2RlY19kYWksIFdNODc1M19QQ01ESVYsIHBjbWRpdik7CisJcmV0ID0gc25kX3NvY19kYWlfc2V0X2Nsa2Rpdihjb2RlY19kYWksIFdNODc1M19QQ01ESVYsIHBjbWRpdik7CiAJaWYgKHJldCA8IDApCiAJCXJldHVybiByZXQ7CiAKIAkvKiBjb25maWd1ZSBhbmQgZW5hYmxlIFBMTCBmb3IgMTIuMjg4TUh6IG91dHB1dCAqLwotCXJldCA9IGNvZGVjX2RhaS0+ZGFpX29wcy5zZXRfcGxsKGNvZGVjX2RhaSwgV004NzUzX1BMTDIsCisJcmV0ID0gc25kX3NvY19kYWlfc2V0X3BsbChjb2RlY19kYWksIFdNODc1M19QTEwyLAogCQlpaXNfY2xrcmF0ZSAvIDQsIDEyMjg4MDAwKTsKIAlpZiAocmV0IDwgMCkKIAkJcmV0dXJuIHJldDsKQEAgLTIxMSwxMCArMjIyLDEyIEBACiBzdGF0aWMgaW50IG5lbzE5NzNfdm9pY2VfaHdfZnJlZShzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKIHsKIAlzdHJ1Y3Qgc25kX3NvY19wY21fcnVudGltZSAqcnRkID0gc3Vic3RyZWFtLT5wcml2YXRlX2RhdGE7Ci0Jc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWkgPSBydGQtPmRhaS0+Y29kZWNfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpID0gcnRkLT5kYWktPmNvZGVjX2RhaTsKKworCURCRygiRW50ZXJlZCAlc1xuIiwgX19mdW5jX18pOwogCiAJLyogZGlzYWJsZSB0aGUgUExMICovCi0JcmV0dXJuIGNvZGVjX2RhaS0+ZGFpX29wcy5zZXRfcGxsKGNvZGVjX2RhaSwgV004NzUzX1BMTDIsIDAsIDApOworCXJldHVybiBzbmRfc29jX2RhaV9zZXRfcGxsKGNvZGVjX2RhaSwgV004NzUzX1BMTDIsIDAsIDApOwogfQogCiBzdGF0aWMgc3RydWN0IHNuZF9zb2Nfb3BzIG5lbzE5NzNfdm9pY2Vfb3BzID0gewpAQCAtMjMzLDc5ICsyNDYsODEgQEAKIAogc3RhdGljIGludCBzZXRfc2NlbmFyaW9fZW5kcG9pbnRzKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywgaW50IHNjZW5hcmlvKQogeworCURCRygiRW50ZXJlZCAlc1xuIiwgX19mdW5jX18pOworCiAJc3dpdGNoIChuZW8xOTczX3NjZW5hcmlvKSB7CiAJY2FzZSBORU9fQVVESU9fT0ZGOgotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiQXVkaW8gT3V0IiwgICAgMCk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJHU00gTGluZSBPdXQiLCAwKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkdTTSBMaW5lIEluIiwgIDApOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiSGVhZHNldCBNaWMiLCAgMCk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJDYWxsIE1pYyIsICAgICAwKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiQXVkaW8gT3V0Iik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkdTTSBMaW5lIE91dCIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJHU00gTGluZSBJbiIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJIZWFkc2V0IE1pYyIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJDYWxsIE1pYyIpOwogCQlicmVhazsKIAljYXNlIE5FT19HU01fQ0FMTF9BVURJT19IQU5EU0VUOgotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiQXVkaW8gT3V0IiwgICAgMSk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJHU00gTGluZSBPdXQiLCAxKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkdTTSBMaW5lIEluIiwgIDEpOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiSGVhZHNldCBNaWMiLCAgMCk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJDYWxsIE1pYyIsICAgICAxKTsKKwkJc25kX3NvY19kYXBtX2VuYWJsZV9waW4oY29kZWMsICJBdWRpbyBPdXQiKTsKKwkJc25kX3NvY19kYXBtX2VuYWJsZV9waW4oY29kZWMsICJHU00gTGluZSBPdXQiKTsKKwkJc25kX3NvY19kYXBtX2VuYWJsZV9waW4oY29kZWMsICJHU00gTGluZSBJbiIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJIZWFkc2V0IE1pYyIpOworCQlzbmRfc29jX2RhcG1fZW5hYmxlX3Bpbihjb2RlYywgIkNhbGwgTWljIik7CiAJCWJyZWFrOwogCWNhc2UgTkVPX0dTTV9DQUxMX0FVRElPX0hFQURTRVQ6Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJBdWRpbyBPdXQiLCAgICAxKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkdTTSBMaW5lIE91dCIsIDEpOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiR1NNIExpbmUgSW4iLCAgMSk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJIZWFkc2V0IE1pYyIsICAxKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkNhbGwgTWljIiwgICAgIDApOworCQlzbmRfc29jX2RhcG1fZW5hYmxlX3Bpbihjb2RlYywgIkF1ZGlvIE91dCIpOworCQlzbmRfc29jX2RhcG1fZW5hYmxlX3Bpbihjb2RlYywgIkdTTSBMaW5lIE91dCIpOworCQlzbmRfc29jX2RhcG1fZW5hYmxlX3Bpbihjb2RlYywgIkdTTSBMaW5lIEluIik7CisJCXNuZF9zb2NfZGFwbV9lbmFibGVfcGluKGNvZGVjLCAiSGVhZHNldCBNaWMiKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiQ2FsbCBNaWMiKTsKIAkJYnJlYWs7CiAJY2FzZSBORU9fR1NNX0NBTExfQVVESU9fQkxVRVRPT1RIOgotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiQXVkaW8gT3V0IiwgICAgMCk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJHU00gTGluZSBPdXQiLCAxKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkdTTSBMaW5lIEluIiwgIDEpOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiSGVhZHNldCBNaWMiLCAgMCk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJDYWxsIE1pYyIsICAgICAwKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiQXVkaW8gT3V0Iik7CisJCXNuZF9zb2NfZGFwbV9lbmFibGVfcGluKGNvZGVjLCAiR1NNIExpbmUgT3V0Iik7CisJCXNuZF9zb2NfZGFwbV9lbmFibGVfcGluKGNvZGVjLCAiR1NNIExpbmUgSW4iKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiSGVhZHNldCBNaWMiKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiQ2FsbCBNaWMiKTsKIAkJYnJlYWs7CiAJY2FzZSBORU9fU1RFUkVPX1RPX1NQRUFLRVJTOgotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiQXVkaW8gT3V0IiwgICAgMSk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJHU00gTGluZSBPdXQiLCAwKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkdTTSBMaW5lIEluIiwgIDApOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiSGVhZHNldCBNaWMiLCAgMCk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJDYWxsIE1pYyIsICAgICAwKTsKKwkJc25kX3NvY19kYXBtX2VuYWJsZV9waW4oY29kZWMsICJBdWRpbyBPdXQiKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiR1NNIExpbmUgT3V0Iik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkdTTSBMaW5lIEluIik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkhlYWRzZXQgTWljIik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkNhbGwgTWljIik7CiAJCWJyZWFrOwogCWNhc2UgTkVPX1NURVJFT19UT19IRUFEUEhPTkVTOgotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiQXVkaW8gT3V0IiwgICAgMSk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJHU00gTGluZSBPdXQiLCAwKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkdTTSBMaW5lIEluIiwgIDApOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiSGVhZHNldCBNaWMiLCAgMCk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJDYWxsIE1pYyIsICAgICAwKTsKKwkJc25kX3NvY19kYXBtX2VuYWJsZV9waW4oY29kZWMsICJBdWRpbyBPdXQiKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiR1NNIExpbmUgT3V0Iik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkdTTSBMaW5lIEluIik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkhlYWRzZXQgTWljIik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkNhbGwgTWljIik7CiAJCWJyZWFrOwogCWNhc2UgTkVPX0NBUFRVUkVfSEFORFNFVDoKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkF1ZGlvIE91dCIsICAgIDApOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiR1NNIExpbmUgT3V0IiwgMCk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJHU00gTGluZSBJbiIsICAwKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkhlYWRzZXQgTWljIiwgIDApOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiQ2FsbCBNaWMiLCAgICAgMSk7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkF1ZGlvIE91dCIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJHU00gTGluZSBPdXQiKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiR1NNIExpbmUgSW4iKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiSGVhZHNldCBNaWMiKTsKKwkJc25kX3NvY19kYXBtX2VuYWJsZV9waW4oY29kZWMsICJDYWxsIE1pYyIpOwogCQlicmVhazsKIAljYXNlIE5FT19DQVBUVVJFX0hFQURTRVQ6Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJBdWRpbyBPdXQiLCAgICAwKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkdTTSBMaW5lIE91dCIsIDApOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiR1NNIExpbmUgSW4iLCAgMCk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJIZWFkc2V0IE1pYyIsICAxKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkNhbGwgTWljIiwgICAgIDApOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJBdWRpbyBPdXQiKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiR1NNIExpbmUgT3V0Iik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkdTTSBMaW5lIEluIik7CisJCXNuZF9zb2NfZGFwbV9lbmFibGVfcGluKGNvZGVjLCAiSGVhZHNldCBNaWMiKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiQ2FsbCBNaWMiKTsKIAkJYnJlYWs7CiAJY2FzZSBORU9fQ0FQVFVSRV9CTFVFVE9PVEg6Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJBdWRpbyBPdXQiLCAgICAwKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkdTTSBMaW5lIE91dCIsIDApOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiR1NNIExpbmUgSW4iLCAgMCk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJIZWFkc2V0IE1pYyIsICAwKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkNhbGwgTWljIiwgICAgIDApOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJBdWRpbyBPdXQiKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiR1NNIExpbmUgT3V0Iik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkdTTSBMaW5lIEluIik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkhlYWRzZXQgTWljIik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkNhbGwgTWljIik7CiAJCWJyZWFrOwogCWRlZmF1bHQ6Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJBdWRpbyBPdXQiLCAgICAwKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkdTTSBMaW5lIE91dCIsIDApOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiR1NNIExpbmUgSW4iLCAgMCk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJIZWFkc2V0IE1pYyIsICAwKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkNhbGwgTWljIiwgICAgIDApOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJBdWRpbyBPdXQiKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiR1NNIExpbmUgT3V0Iik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkdTTSBMaW5lIEluIik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkhlYWRzZXQgTWljIik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkNhbGwgTWljIik7CiAJfQogCi0Jc25kX3NvY19kYXBtX3N5bmNfZW5kcG9pbnRzKGNvZGVjKTsKKwlzbmRfc29jX2RhcG1fc3luYyhjb2RlYyk7CiAKIAlyZXR1cm4gMDsKIH0KQEAgLTMxNSw2ICszMzAsOCBAQAogewogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNuZF9rY29udHJvbF9jaGlwKGtjb250cm9sKTsKIAorCURCRygiRW50ZXJlZCAlc1xuIiwgX19mdW5jX18pOworCiAJaWYgKG5lbzE5NzNfc2NlbmFyaW8gPT0gdWNvbnRyb2wtPnZhbHVlLmludGVnZXIudmFsdWVbMF0pCiAJCXJldHVybiAwOwogCkBAIC0zMjcsNiArMzQ0LDggQEAKIAogc3RhdGljIHZvaWQgbG00ODU3X3dyaXRlX3JlZ3Modm9pZCkKIHsKKwlEQkcoIkVudGVyZWQgJXNcbiIsIF9fZnVuY19fKTsKKwogCWlmIChpMmNfbWFzdGVyX3NlbmQoaTJjLCBsbTQ4NTdfcmVncywgNCkgIT0gNCkKIAkJcHJpbnRrKEtFUk5fRVJSICJsbTQ4NTc6IGkyYyB3cml0ZSBmYWlsZWRcbiIpOwogfQpAQCAtMzM4LDYgKzM1Nyw4IEBACiAJaW50IHNoaWZ0ID0gKGtjb250cm9sLT5wcml2YXRlX3ZhbHVlID4+IDgpICYgMHgwRjsKIAlpbnQgbWFzayA9IChrY29udHJvbC0+cHJpdmF0ZV92YWx1ZSA+PiAxNikgJiAweEZGOwogCisJREJHKCJFbnRlcmVkICVzXG4iLCBfX2Z1bmNfXyk7CisKIAl1Y29udHJvbC0+dmFsdWUuaW50ZWdlci52YWx1ZVswXSA9IChsbTQ4NTdfcmVnc1tyZWddID4+IHNoaWZ0KSAmIG1hc2s7CiAJcmV0dXJuIDA7CiB9CkBAIC0zNjQsNiArMzg1LDggQEAKIHsKIAl1OCB2YWx1ZSA9IGxtNDg1N19yZWdzW0xNNDg1N19DVFJMXSAmIDB4MEY7CiAKKwlEQkcoIkVudGVyZWQgJXNcbiIsIF9fZnVuY19fKTsKKwogCWlmICh2YWx1ZSkKIAkJdmFsdWUgLT0gNTsKIApAQCAtMzc2LDYgKzM5OSw4IEBACiB7CiAJdTggdmFsdWUgPSB1Y29udHJvbC0+dmFsdWUuaW50ZWdlci52YWx1ZVswXTsKIAorCURCRygiRW50ZXJlZCAlc1xuIiwgX19mdW5jX18pOworCiAJaWYgKHZhbHVlKQogCQl2YWx1ZSArPSA1OwogCkBAIC0zOTcsOCArNDIyLDcgQEAKIH07CiAKIAotLyogZXhhbXBsZSBtYWNoaW5lIGF1ZGlvX21hcG5lY3Rpb25zICovCi1zdGF0aWMgY29uc3QgY2hhciAqYXVkaW9fbWFwW11bM10gPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9zb2NfZGFwbV9yb3V0ZSBkYXBtX3JvdXRlc1tdID0gewogCiAJLyogQ29ubmVjdGlvbnMgdG8gdGhlIGxtNDg1NyBhbXAgKi8KIAl7IkF1ZGlvIE91dCIsIE5VTEwsICJMT1VUMSJ9LApAQCAtNDIxLDggKzQ0NSw2IEBACiAKIAkvKiBDb25uZWN0IHRoZSBBTEMgcGlucyAqLwogCXsiQUNJTiIsIE5VTEwsICJBQ09QIn0sCi0KLQl7TlVMTCwgTlVMTCwgTlVMTH0sCiB9OwogCiBzdGF0aWMgY29uc3QgY2hhciAqbG00ODU3X21vZGVbXSA9IHsKQEAgLTQ1MywxMyArNDc1LDE2IEBACiAJU09DX0VOVU1fU0lOR0xFX0VYVChBUlJBWV9TSVpFKG5lb19zY2VuYXJpb3MpLCBuZW9fc2NlbmFyaW9zKSwKIH07CiAKK3N0YXRpYyBjb25zdCBERUNMQVJFX1RMVl9EQl9TQ0FMRShzdGVyZW9fdGx2LCAtNDA1MCwgMTUwLCAwKTsKK3N0YXRpYyBjb25zdCBERUNMQVJFX1RMVl9EQl9TQ0FMRShtb25vX3RsdiwgLTM0NTAsIDE1MCwgMCk7CisKIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyB3bTg3NTNfbmVvMTk3M19jb250cm9sc1tdID0gewotCVNPQ19TSU5HTEVfRVhUKCJBbXAgTGVmdCBQbGF5YmFjayBWb2x1bWUiLCBMTTQ4NTdfTFZPTCwgMCwgMzEsIDAsCi0JCWxtNDg1N19nZXRfcmVnLCBsbTQ4NTdfc2V0X3JlZyksCi0JU09DX1NJTkdMRV9FWFQoIkFtcCBSaWdodCBQbGF5YmFjayBWb2x1bWUiLCBMTTQ4NTdfUlZPTCwgMCwgMzEsIDAsCi0JCWxtNDg1N19nZXRfcmVnLCBsbTQ4NTdfc2V0X3JlZyksCi0JU09DX1NJTkdMRV9FWFQoIkFtcCBNb25vIFBsYXliYWNrIFZvbHVtZSIsIExNNDg1N19NVk9MLCAwLCAzMSwgMCwKLQkJbG00ODU3X2dldF9yZWcsIGxtNDg1N19zZXRfcmVnKSwKKwlTT0NfU0lOR0xFX0VYVF9UTFYoIkFtcCBMZWZ0IFBsYXliYWNrIFZvbHVtZSIsIExNNDg1N19MVk9MLCAwLCAzMSwgMCwKKwkJbG00ODU3X2dldF9yZWcsIGxtNDg1N19zZXRfcmVnLCBzdGVyZW9fdGx2KSwKKwlTT0NfU0lOR0xFX0VYVF9UTFYoIkFtcCBSaWdodCBQbGF5YmFjayBWb2x1bWUiLCBMTTQ4NTdfUlZPTCwgMCwgMzEsIDAsCisJCWxtNDg1N19nZXRfcmVnLCBsbTQ4NTdfc2V0X3JlZywgc3RlcmVvX3RsdiksCisJU09DX1NJTkdMRV9FWFRfVExWKCJBbXAgTW9ubyBQbGF5YmFjayBWb2x1bWUiLCBMTTQ4NTdfTVZPTCwgMCwgMzEsIDAsCisJCWxtNDg1N19nZXRfcmVnLCBsbTQ4NTdfc2V0X3JlZywgbW9ub190bHYpLAogCVNPQ19FTlVNX0VYVCgiQW1wIE1vZGUiLCBsbTQ4NTdfbW9kZV9lbnVtWzBdLAogCQlsbTQ4NTdfZ2V0X21vZGUsIGxtNDg1N19zZXRfbW9kZSksCiAJU09DX0VOVU1fRVhUKCJOZW8gTW9kZSIsIG5lb19zY2VuYXJpb19lbnVtWzBdLApAQCAtNDgzLDIxICs1MDgsMjMgQEAKIHsKIAlpbnQgaSwgZXJyOwogCisJREJHKCJFbnRlcmVkICVzXG4iLCBfX2Z1bmNfXyk7CisKIAkvKiBzZXQgdXAgTkMgY29kZWMgcGlucyAqLwotCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJMT1VUMiIsIDApOwotCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJST1VUMiIsIDApOwotCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJPVVQzIiwgIDApOwotCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJPVVQ0IiwgIDApOwotCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJMSU5FMSIsIDApOwotCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJMSU5FMiIsIDApOworCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkxPVVQyIik7CisJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiUk9VVDIiKTsKKwlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJPVVQzIik7CisJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiT1VUNCIpOworCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkxJTkUxIik7CisJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiTElORTIiKTsKIAogCiAJLyogc2V0IGVuZHBvaW50cyB0byBkZWZhdWx0IG1vZGUgKi8KIAlzZXRfc2NlbmFyaW9fZW5kcG9pbnRzKGNvZGVjLCBORU9fQVVESU9fT0ZGKTsKIAogCS8qIEFkZCBuZW8xOTczIHNwZWNpZmljIHdpZGdldHMgKi8KLQlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRSh3bTg3NTNfZGFwbV93aWRnZXRzKTsgaSsrKQotCQlzbmRfc29jX2RhcG1fbmV3X2NvbnRyb2woY29kZWMsICZ3bTg3NTNfZGFwbV93aWRnZXRzW2ldKTsKKwlzbmRfc29jX2RhcG1fbmV3X2NvbnRyb2xzKGNvZGVjLCB3bTg3NTNfZGFwbV93aWRnZXRzLAorCQkJCSAgQVJSQVlfU0laRSh3bTg3NTNfZGFwbV93aWRnZXRzKSk7CiAKIAkvKiBhZGQgbmVvMTk3MyBzcGVjaWZpYyBjb250cm9scyAqLwogCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHdtODc1M19uZW8xOTczX2NvbnRyb2xzKTsgaSsrKSB7CkBAIC01MDgsMjAgKzUzNSwxOCBAQAogCQkJcmV0dXJuIGVycjsKIAl9CiAKLQkvKiBzZXQgdXAgbmVvMTk3MyBzcGVjaWZpYyBhdWRpbyBwYXRoIGF1ZGlvX21hcG5lY3RzICovCi0JZm9yIChpID0gMDsgYXVkaW9fbWFwW2ldWzBdICE9IE5VTEw7IGkrKykgewotCQlzbmRfc29jX2RhcG1fY29ubmVjdF9pbnB1dChjb2RlYywgYXVkaW9fbWFwW2ldWzBdLAotCQkJYXVkaW9fbWFwW2ldWzFdLCBhdWRpb19tYXBbaV1bMl0pOwotCX0KKwkvKiBzZXQgdXAgbmVvMTk3MyBzcGVjaWZpYyBhdWRpbyByb3V0ZXMgKi8KKwllcnIgPSBzbmRfc29jX2RhcG1fYWRkX3JvdXRlcyhjb2RlYywgZGFwbV9yb3V0ZXMsCisJCQkJICAgICAgQVJSQVlfU0laRShkYXBtX3JvdXRlcykpOwogCi0Jc25kX3NvY19kYXBtX3N5bmNfZW5kcG9pbnRzKGNvZGVjKTsKKwlzbmRfc29jX2RhcG1fc3luYyhjb2RlYyk7CiAJcmV0dXJuIDA7CiB9CiAKIC8qCiAgKiBCVCBDb2RlYyBEQUkKICAqLwotc3RhdGljIHN0cnVjdCBzbmRfc29jX2NwdV9kYWkgYnRfZGFpID0geworc3RhdGljIHN0cnVjdCBzbmRfc29jX2RhaSBidF9kYWkgPSB7CiAJLm5hbWUgPSAiQmx1ZXRvb3RoIiwKIAkuaWQgPSAwLAogCS50eXBlID0gU05EX1NPQ19EQUlfUENNLApAQCAtNTgzLDYgKzYwOCw4IEBACiB7CiAJaW50IHJldDsKIAorCURCRygiRW50ZXJlZCAlc1xuIiwgX19mdW5jX18pOworCiAJY2xpZW50X3RlbXBsYXRlLmFkYXB0ZXIgPSBhZGFwOwogCWNsaWVudF90ZW1wbGF0ZS5hZGRyID0gYWRkcjsKIApAQCAtNjA2LDYgKzYzMyw4IEBACiAKIHN0YXRpYyBpbnQgbG00ODU3X2kyY19kZXRhY2goc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKIHsKKwlEQkcoIkVudGVyZWQgJXNcbiIsIF9fZnVuY19fKTsKKwogCWkyY19kZXRhY2hfY2xpZW50KGNsaWVudCk7CiAJa2ZyZWUoY2xpZW50KTsKIAlyZXR1cm4gMDsKQEAgLTYxMyw2ICs2NDIsOCBAQAogCiBzdGF0aWMgaW50IGxtNDg1N19pMmNfYXR0YWNoKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcCkKIHsKKwlEQkcoIkVudGVyZWQgJXNcbiIsIF9fZnVuY19fKTsKKwogCXJldHVybiBpMmNfcHJvYmUoYWRhcCwgJmFkZHJfZGF0YSwgbG00ODU3X2FtcF9wcm9iZSk7CiB9CiAKQEAgLTYyMCw2ICs2NTEsOCBAQAogCiBzdGF0aWMgaW50IGxtNDg1N19zdXNwZW5kKHN0cnVjdCBpMmNfY2xpZW50ICpkZXYsIHBtX21lc3NhZ2VfdCBzdGF0ZSkKIHsKKwlEQkcoIkVudGVyZWQgJXNcbiIsIF9fZnVuY19fKTsKKwogCWRldl9kYmcoJmRldi0+ZGV2LCAibG00ODU3X3N1c3BlbmRcbiIpOwogCWxtNDg1N19zdGF0ZSA9IGxtNDg1N19yZWdzW0xNNDg1N19DVFJMXSAmIDB4ZjsKIAlpZiAobG00ODU3X3N0YXRlKSB7CkBAIC02MzEsNiArNjY0LDggQEAKIAogc3RhdGljIGludCBsbTQ4NTdfcmVzdW1lKHN0cnVjdCBpMmNfY2xpZW50ICpkZXYpCiB7CisJREJHKCJFbnRlcmVkICVzXG4iLCBfX2Z1bmNfXyk7CisKIAlpZiAobG00ODU3X3N0YXRlKSB7CiAJCWxtNDg1N19yZWdzW0xNNDg1N19DVFJMXSB8PSAobG00ODU3X3N0YXRlICYgMHgwZik7CiAJCWxtNDg1N193cml0ZV9yZWdzKCk7CkBAIC02NDAsNiArNjc1LDggQEAKIAogc3RhdGljIHZvaWQgbG00ODU3X3NodXRkb3duKHN0cnVjdCBpMmNfY2xpZW50ICpkZXYpCiB7CisJREJHKCJFbnRlcmVkICVzXG4iLCBfX2Z1bmNfXyk7CisKIAlkZXZfZGJnKCZkZXYtPmRldiwgImxtNDg1N19zaHV0ZG93blxuIik7CiAJbG00ODU3X3JlZ3NbTE00ODU3X0NUUkxdICY9IDB4ZjA7CiAJbG00ODU3X3dyaXRlX3JlZ3MoKTsKQEAgLTY3MSw2ICs3MDgsOCBAQAogewogCWludCByZXQ7CiAKKwlEQkcoIkVudGVyZWQgJXNcbiIsIF9fZnVuY19fKTsKKwogCW5lbzE5NzNfc25kX2RldmljZSA9IHBsYXRmb3JtX2RldmljZV9hbGxvYygic29jLWF1ZGlvIiwgLTEpOwogCWlmICghbmVvMTk3M19zbmRfZGV2aWNlKQogCQlyZXR1cm4gLUVOT01FTTsKQEAgLTY5MSw2ICs3MzAsOCBAQAogCiBzdGF0aWMgdm9pZCBfX2V4aXQgbmVvMTk3M19leGl0KHZvaWQpCiB7CisJREJHKCJFbnRlcmVkICVzXG4iLCBfX2Z1bmNfXyk7CisKIAlpMmNfZGVsX2RyaXZlcigmbG00ODU3X2kyY19kcml2ZXIpOwogCXBsYXRmb3JtX2RldmljZV91bnJlZ2lzdGVyKG5lbzE5NzNfc25kX2RldmljZSk7CiB9CmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvczNjMjR4eC9zM2MyNDEyLWkycy5jIGIvc291bmQvc29jL3MzYzI0eHgvczNjMjQxMi1pMnMuYwppbmRleCBjNGE0NmRkLi5lZTQ2NzZlIDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvczNjMjR4eC9zM2MyNDEyLWkycy5jCisrKyBiL3NvdW5kL3NvYy9zM2MyNHh4L3MzYzI0MTItaTJzLmMKQEAgLTI5NSw3ICsyOTUsNyBAQAogLyoKICAqIFNldCBTM0MyNDEyIEkyUyBEQUkgZm9ybWF0CiAgKi8KLXN0YXRpYyBpbnQgczNjMjQxMl9pMnNfc2V0X2ZtdChzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpLAorc3RhdGljIGludCBzM2MyNDEyX2kyc19zZXRfZm10KHN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSwKIAkJCSAgICAgICB1bnNpZ25lZCBpbnQgZm10KQogewogCXUzMiBpaXNtb2Q7CkBAIC01MDAsNyArNTAwLDcgQEAKIC8qCiAgKiBTZXQgUzNDMjQxMiBDbG9jayBzb3VyY2UKICAqLwotc3RhdGljIGludCBzM2MyNDEyX2kyc19zZXRfc3lzY2xrKHN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWksCitzdGF0aWMgaW50IHMzYzI0MTJfaTJzX3NldF9zeXNjbGsoc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpLAogCQkJCSAgaW50IGNsa19pZCwgdW5zaWduZWQgaW50IGZyZXEsIGludCBkaXIpCiB7CiAJdTMyIGlpc21vZCA9IHJlYWRsKHMzYzI0MTJfaTJzLnJlZ3MgKyBTM0MyNDEyX0lJU01PRCk7CkBAIC01MjgsNyArNTI4LDcgQEAKIC8qCiAgKiBTZXQgUzNDMjQxMiBDbG9jayBkaXZpZGVycwogICovCi1zdGF0aWMgaW50IHMzYzI0MTJfaTJzX3NldF9jbGtkaXYoc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSwKK3N0YXRpYyBpbnQgczNjMjQxMl9pMnNfc2V0X2Nsa2RpdihzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWksCiAJCQkJICBpbnQgZGl2X2lkLCBpbnQgZGl2KQogewogCXN0cnVjdCBzM2MyNDEyX2kyc19pbmZvICppMnMgPSAmczNjMjQxMl9pMnM7CkBAIC02MDEsNyArNjAxLDggQEAKIEVYUE9SVF9TWU1CT0xfR1BMKHMzYzI0MTJfZ2V0X2lpc2Nsayk7CiAKIAotc3RhdGljIGludCBzM2MyNDEyX2kyc19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQorc3RhdGljIGludCBzM2MyNDEyX2kyc19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAorCQkJICAgICBzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSkKIHsKIAlEQkcoIkVudGVyZWQgJXNcbiIsIF9fZnVuY19fKTsKIApAQCAtNjQ3LDcgKzY0OCw3IEBACiAKICNpZmRlZiBDT05GSUdfUE0KIHN0YXRpYyBpbnQgczNjMjQxMl9pMnNfc3VzcGVuZChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpkZXYsCi0JCQkgICAgICBzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpkYWkpCisJCQkgICAgICBzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSkKIHsKIAlzdHJ1Y3QgczNjMjQxMl9pMnNfaW5mbyAqaTJzID0gJnMzYzI0MTJfaTJzOwogCXUzMiBpaXNtb2Q7CkBAIC02NzUsNyArNjc2LDcgQEAKIH0KIAogc3RhdGljIGludCBzM2MyNDEyX2kyc19yZXN1bWUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKLQkJCSAgICAgIHN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmRhaSkKKwkJCSAgICAgIHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpKQogewogCXN0cnVjdCBzM2MyNDEyX2kyc19pbmZvICppMnMgPSAmczNjMjQxMl9pMnM7CiAKQEAgLTcwNyw3ICs3MDgsNyBAQAogCVNORFJWX1BDTV9SQVRFXzIyMDUwIHwgU05EUlZfUENNX1JBVEVfMzIwMDAgfCBTTkRSVl9QQ01fUkFURV80NDEwMCB8IFwKIAlTTkRSVl9QQ01fUkFURV80ODAwMCB8IFNORFJWX1BDTV9SQVRFXzg4MjAwIHwgU05EUlZfUENNX1JBVEVfOTYwMDApCiAKLXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgczNjMjQxMl9pMnNfZGFpID0geworc3RydWN0IHNuZF9zb2NfZGFpIHMzYzI0MTJfaTJzX2RhaSA9IHsKIAkubmFtZQk9ICJzM2MyNDEyLWkycyIsCiAJLmlkCT0gMCwKIAkudHlwZQk9IFNORF9TT0NfREFJX0kyUywKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9zM2MyNHh4L3MzYzI0MTItaTJzLmggYi9zb3VuZC9zb2MvczNjMjR4eC9zM2MyNDEyLWkycy5oCmluZGV4IDI3ZjQ4ZTEuLmFhYzA4YTIgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9zM2MyNHh4L3MzYzI0MTItaTJzLmgKKysrIGIvc291bmQvc29jL3MzYzI0eHgvczNjMjQxMi1pMnMuaApAQCAtMjQsNyArMjQsNyBAQAogCiBleHRlcm4gc3RydWN0IGNsayAqczNjMjQxMl9nZXRfaWlzY2xrKHZvaWQpOwogCi1leHRlcm4gc3RydWN0IHNuZF9zb2NfY3B1X2RhaSBzM2MyNDEyX2kyc19kYWk7CitleHRlcm4gc3RydWN0IHNuZF9zb2NfZGFpIHMzYzI0MTJfaTJzX2RhaTsKIAogc3RydWN0IHMzYzI0MTJfcmF0ZV9jYWxjIHsKIAl1bnNpZ25lZCBpbnQJY2xrX2RpdjsJLyogZm9yIHByZXNjYWxlciAqLwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL3MzYzI0eHgvczNjMjQ0My1hYzk3LmMgYi9zb3VuZC9zb2MvczNjMjR4eC9zM2MyNDQzLWFjOTcuYwppbmRleCBlODFkOWE2Li43ODMzNDliIDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvczNjMjR4eC9zM2MyNDQzLWFjOTcuYworKysgYi9zb3VuZC9zb2MvczNjMjR4eC9zM2MyNDQzLWFjOTcuYwpAQCAtMTAsOSArMTAsNiBAQAogICogIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiAgKiAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKICAqICBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KLSAqCi0gKiAgUmV2aXNpb24gaGlzdG9yeQotICoJMjFzdCBNYXIgMjAwNyAgIEluaXRpYWwgVmVyc2lvbgogICovCiAKICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CkBAIC0yMTIsNyArMjA5LDggQEAKIAkuZG1hX3NpemUJPSA0LAogfTsKIAotc3RhdGljIGludCBzM2MyNDQzX2FjOTdfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3N0YXRpYyBpbnQgczNjMjQ0M19hYzk3X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCisJCQkgICAgICBzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSkKIHsKIAlpbnQgcmV0OwogCXUzMiBhY19nbGJjdHJsOwpAQCAtMjYzLDcgKzI2MSw4IEBACiAJcmV0dXJuIHJldDsKIH0KIAotc3RhdGljIHZvaWQgczNjMjQ0M19hYzk3X3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQorc3RhdGljIHZvaWQgczNjMjQ0M19hYzk3X3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAorCQkJCXN0cnVjdCBzbmRfc29jX2RhaSAqZGFpKQogewogCWZyZWVfaXJxKElSUV9TM0MyNDR4X0FDOTcsIE5VTEwpOwogCWNsa19kaXNhYmxlKHMzYzI0eHhfYWM5Ny5hYzk3X2Nsayk7CkBAIC0yNzUsNyArMjc0LDcgQEAKIAkJCQlzdHJ1Y3Qgc25kX3BjbV9od19wYXJhbXMgKnBhcmFtcykKIHsKIAlzdHJ1Y3Qgc25kX3NvY19wY21fcnVudGltZSAqcnRkID0gc3Vic3RyZWFtLT5wcml2YXRlX2RhdGE7Ci0Jc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSA9IHJ0ZC0+ZGFpLT5jcHVfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSA9IHJ0ZC0+ZGFpLT5jcHVfZGFpOwogCiAJaWYgKHN1YnN0cmVhbS0+c3RyZWFtID09IFNORFJWX1BDTV9TVFJFQU1fUExBWUJBQ0spCiAJCWNwdV9kYWktPmRtYV9kYXRhID0gJnMzYzI0NDNfYWM5N19wY21fc3RlcmVvX291dDsKQEAgLTMxNyw3ICszMTYsNyBAQAogCXN0cnVjdCBzbmRfcGNtX2h3X3BhcmFtcyAqcGFyYW1zKQogewogCXN0cnVjdCBzbmRfc29jX3BjbV9ydW50aW1lICpydGQgPSBzdWJzdHJlYW0tPnByaXZhdGVfZGF0YTsKLQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CiAKIAlpZiAoc3Vic3RyZWFtLT5zdHJlYW0gPT0gU05EUlZfUENNX1NUUkVBTV9QTEFZQkFDSykKIAkJcmV0dXJuIC1FTk9ERVY7CkBAIC0zNTMsNyArMzUyLDcgQEAKIAkJU05EUlZfUENNX1JBVEVfMTYwMDAgfCBTTkRSVl9QQ01fUkFURV8yMjA1MCB8IFwKIAkJU05EUlZfUENNX1JBVEVfNDQxMDAgfCBTTkRSVl9QQ01fUkFURV80ODAwMCkKIAotc3RydWN0IHNuZF9zb2NfY3B1X2RhaSBzM2MyNDQzX2FjOTdfZGFpW10gPSB7CitzdHJ1Y3Qgc25kX3NvY19kYWkgczNjMjQ0M19hYzk3X2RhaVtdID0gewogewogCS5uYW1lID0gInMzYzI0NDMtYWM5NyIsCiAJLmlkID0gMCwKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9zM2MyNHh4L3MzYzI0eHgtYWM5Ny5oIGIvc291bmQvc29jL3MzYzI0eHgvczNjMjR4eC1hYzk3LmgKaW5kZXggYmYwM2U4ZS4uYTk2ZGNhZCAxMDA2NDQKLS0tIGEvc291bmQvc29jL3MzYzI0eHgvczNjMjR4eC1hYzk3LmgKKysrIGIvc291bmQvc29jL3MzYzI0eHgvczNjMjR4eC1hYzk3LmgKQEAgLTI2LDYgKzI2LDYgQEAKICNkZWZpbmUgSVJRX1MzQzI0NHhfQUM5NyBJUlFfUzNDMjQ0M19BQzk3CiAjZW5kaWYKIAotZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2NwdV9kYWkgczNjMjQ0M19hYzk3X2RhaVtdOworZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2RhaSBzM2MyNDQzX2FjOTdfZGFpW107CiAKICNlbmRpZiAvKlMzQzI0WFhBQzk3X0hfKi8KZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9zM2MyNHh4L3MzYzI0eHgtaTJzLmMgYi9zb3VuZC9zb2MvczNjMjR4eC9zM2MyNHh4LWkycy5jCmluZGV4IDFlZDZhZmQuLjM5NzUyNDIgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9zM2MyNHh4L3MzYzI0eHgtaTJzLmMKKysrIGIvc291bmQvc29jL3MzYzI0eHgvczNjMjR4eC1pMnMuYwpAQCAtMTIsMTEgKzEyLDYgQEAKICAqICB1bmRlciAgdGhlIHRlcm1zIG9mICB0aGUgR05VIEdlbmVyYWwgIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUKICAqICBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247ICBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSAgTGljZW5zZSwgb3IgKGF0IHlvdXIKICAqICBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqCi0gKiAgUmV2aXNpb24gaGlzdG9yeQotICogICAgMTF0aCBEZWMgMjAwNiAgIE1lcmdlZCB3aXRoIFNpbXRlYyBkcml2ZXIKLSAqICAgIDEwdGggTm92IDIwMDYgICBJbml0aWFsIHZlcnNpb24uCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KQEAgLTE4MCw3ICsxNzUsNyBAQAogc3RhdGljIGludCBzM2MyNHh4X3NuZF9scnN5bmModm9pZCkKIHsKIAl1MzIgaWlzY29uOwotCXVuc2lnbmVkIGxvbmcgdGltZW91dCA9IGppZmZpZXMgKyBtc2Vjc190b19qaWZmaWVzKDUpOworCWludCB0aW1lb3V0ID0gNTA7IC8qIDVtcyAqLwogCiAJREJHKCJFbnRlcmVkICVzXG4iLCBfX2Z1bmNfXyk7CiAKQEAgLTE4OSw4ICsxODQsOSBAQAogCQlpZiAoaWlzY29uICYgUzNDMjQxMF9JSVNDT05fTFJJTkRFWCkKIAkJCWJyZWFrOwogCi0JCWlmICh0aW1lX2FmdGVyKGppZmZpZXMsIHRpbWVvdXQpKQorCQlpZiAoIXRpbWVvdXQtLSkKIAkJCXJldHVybiAtRVRJTUVET1VUOworCQl1ZGVsYXkoMTAwKTsKIAl9CiAKIAlyZXR1cm4gMDsKQEAgLTIwOSw3ICsyMDUsNyBAQAogLyoKICAqIFNldCBTM0MyNHh4IEkyUyBEQUkgZm9ybWF0CiAgKi8KLXN0YXRpYyBpbnQgczNjMjR4eF9pMnNfc2V0X2ZtdChzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpLAorc3RhdGljIGludCBzM2MyNHh4X2kyc19zZXRfZm10KHN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSwKIAkJdW5zaWduZWQgaW50IGZtdCkKIHsKIAl1MzIgaWlzbW9kOwpAQCAtMzE3LDcgKzMxMyw3IEBACiAvKgogICogU2V0IFMzQzI0eHggQ2xvY2sgc291cmNlCiAgKi8KLXN0YXRpYyBpbnQgczNjMjR4eF9pMnNfc2V0X3N5c2NsayhzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpLAorc3RhdGljIGludCBzM2MyNHh4X2kyc19zZXRfc3lzY2xrKHN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSwKIAlpbnQgY2xrX2lkLCB1bnNpZ25lZCBpbnQgZnJlcSwgaW50IGRpcikKIHsKIAl1MzIgaWlzbW9kID0gcmVhZGwoczNjMjR4eF9pMnMucmVncyArIFMzQzI0MTBfSUlTTU9EKTsKQEAgLTM0Myw3ICszMzksNyBAQAogLyoKICAqIFNldCBTM0MyNHh4IENsb2NrIGRpdmlkZXJzCiAgKi8KLXN0YXRpYyBpbnQgczNjMjR4eF9pMnNfc2V0X2Nsa2RpdihzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpLAorc3RhdGljIGludCBzM2MyNHh4X2kyc19zZXRfY2xrZGl2KHN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSwKIAlpbnQgZGl2X2lkLCBpbnQgZGl2KQogewogCXUzMiByZWc7CkBAIC0zODEsNyArMzc3LDggQEAKIH0KIEVYUE9SVF9TWU1CT0xfR1BMKHMzYzI0eHhfaTJzX2dldF9jbG9ja3JhdGUpOwogCi1zdGF0aWMgaW50IHMzYzI0eHhfaTJzX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCitzdGF0aWMgaW50IHMzYzI0eHhfaTJzX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCisJCQkgICAgIHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpKQogewogCURCRygiRW50ZXJlZCAlc1xuIiwgX19mdW5jX18pOwogCkBAIC00MTQsNyArNDExLDcgQEAKIAogI2lmZGVmIENPTkZJR19QTQogc3RhdGljIGludCBzM2MyNHh4X2kyc19zdXNwZW5kKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCi0JCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWkpCisJCXN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSkKIHsKIAlEQkcoIkVudGVyZWQgJXNcbiIsIF9fZnVuY19fKTsKIApAQCAtNDI5LDcgKzQyNiw3IEBACiB9CiAKIHN0YXRpYyBpbnQgczNjMjR4eF9pMnNfcmVzdW1lKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCi0JCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWkpCisJCXN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSkKIHsKIAlEQkcoIkVudGVyZWQgJXNcbiIsIF9fZnVuY19fKTsKIAljbGtfZW5hYmxlKHMzYzI0eHhfaTJzLmlpc19jbGspOwpAQCAtNDUyLDcgKzQ0OSw3IEBACiAJU05EUlZfUENNX1JBVEVfMjIwNTAgfCBTTkRSVl9QQ01fUkFURV8zMjAwMCB8IFNORFJWX1BDTV9SQVRFXzQ0MTAwIHwgXAogCVNORFJWX1BDTV9SQVRFXzQ4MDAwIHwgU05EUlZfUENNX1JBVEVfODgyMDAgfCBTTkRSVl9QQ01fUkFURV85NjAwMCkKIAotc3RydWN0IHNuZF9zb2NfY3B1X2RhaSBzM2MyNHh4X2kyc19kYWkgPSB7CitzdHJ1Y3Qgc25kX3NvY19kYWkgczNjMjR4eF9pMnNfZGFpID0gewogCS5uYW1lID0gInMzYzI0eHgtaTJzIiwKIAkuaWQgPSAwLAogCS50eXBlID0gU05EX1NPQ19EQUlfSTJTLApkaWZmIC0tZ2l0IGEvc291bmQvc29jL3MzYzI0eHgvczNjMjR4eC1pMnMuaCBiL3NvdW5kL3NvYy9zM2MyNHh4L3MzYzI0eHgtaTJzLmgKaW5kZXggNTM3YjRlYy4uNzI2ZDkxYyAxMDA2NDQKLS0tIGEvc291bmQvc29jL3MzYzI0eHgvczNjMjR4eC1pMnMuaAorKysgYi9zb3VuZC9zb2MvczNjMjR4eC9zM2MyNHh4LWkycy5oCkBAIC0zMiw2ICszMiw2IEBACiAKIHUzMiBzM2MyNHh4X2kyc19nZXRfY2xvY2tyYXRlKHZvaWQpOwogCi1leHRlcm4gc3RydWN0IHNuZF9zb2NfY3B1X2RhaSBzM2MyNHh4X2kyc19kYWk7CitleHRlcm4gc3RydWN0IHNuZF9zb2NfZGFpIHMzYzI0eHhfaTJzX2RhaTsKIAogI2VuZGlmIC8qUzNDMjRYWEkyU19IXyovCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvczNjMjR4eC9zM2MyNHh4LXBjbS5jIGIvc291bmQvc29jL3MzYzI0eHgvczNjMjR4eC1wY20uYwppbmRleCA3ODA2YWU2Li5jZWY3OWIzIDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvczNjMjR4eC9zM2MyNHh4LXBjbS5jCisrKyBiL3NvdW5kL3NvYy9zM2MyNHh4L3MzYzI0eHgtcGNtLmMKQEAgLTEyLDEwICsxMiw2IEBACiAgKiAgdW5kZXIgIHRoZSB0ZXJtcyBvZiAgdGhlIEdOVSBHZW5lcmFsICBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlCiAgKiAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyAgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgIExpY2Vuc2UsIG9yIChhdCB5b3VyCiAgKiAgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiAgUmV2aXNpb24gaGlzdG9yeQotICogICAgMTF0aCBEZWMgMjAwNiAgIE1lcmdlZCB3aXRoIFNpbXRlYyBkcml2ZXIKLSAqICAgIDEwdGggTm92IDIwMDYgICBJbml0aWFsIHZlcnNpb24uCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgpAQCAtNDMzLDcgKzQyOSw3IEBACiBzdGF0aWMgdTY0IHMzYzI0eHhfcGNtX2RtYW1hc2sgPSBETUFfMzJCSVRfTUFTSzsKIAogc3RhdGljIGludCBzM2MyNHh4X3BjbV9uZXcoc3RydWN0IHNuZF9jYXJkICpjYXJkLAotCXN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqZGFpLCBzdHJ1Y3Qgc25kX3BjbSAqcGNtKQorCXN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLCBzdHJ1Y3Qgc25kX3BjbSAqcGNtKQogewogCWludCByZXQgPSAwOwogCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvczNjMjR4eC9zbWRrMjQ0M193bTk3MTAuYyBiL3NvdW5kL3NvYy9zM2MyNHh4L3NtZGsyNDQzX3dtOTcxMC5jCmluZGV4IGI0YTU2MzAyLi44NTE1ZDZmIDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvczNjMjR4eC9zbWRrMjQ0M193bTk3MTAuYworKysgYi9zb3VuZC9zb2MvczNjMjR4eC9zbWRrMjQ0M193bTk3MTAuYwpAQCAtMTAsOSArMTAsNiBAQAogICogIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgIGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlICBMaWNlbnNlLCBvciAoYXQgeW91cgogICogIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAgKgotICogIFJldmlzaW9uIGhpc3RvcnkKLSAqICAgIDh0aCBNYXIgMjAwNyAgIEluaXRpYWwgdmVyc2lvbi4KLSAqCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgpkaWZmIC0tZ2l0IGEvc291bmQvc29jL3NoL0tjb25maWcgYi9zb3VuZC9zb2Mvc2gvS2NvbmZpZwppbmRleCA0YzFlMDEzLi41NGJkNjA0IDEwMDY0NAotLS0gYS9zb3VuZC9zb2Mvc2gvS2NvbmZpZworKysgYi9zb3VuZC9zb2Mvc2gvS2NvbmZpZwpAQCAtMyw3ICszLDcgQEAKIAogY29uZmlnIFNORF9TT0NfUENNX1NINzc2MAogCXRyaXN0YXRlICJTb0MgQXVkaW8gc3VwcG9ydCBmb3IgUmVuZXNhcyBTSDc3NjAiCi0JZGVwZW5kcyBvbiBDUFVfU1VCVFlQRV9TSDc3NjAgJiYgU05EX1NPQyAmJiBTSF9ETUFCUkcKKwlkZXBlbmRzIG9uIENQVV9TVUJUWVBFX1NINzc2MCAmJiBTSF9ETUFCUkcKIAloZWxwCiAJICBFbmFibGUgdGhpcyBvcHRpb24gZm9yIFNINzc2MCBBQzk3L0kyUyBhdWRpbyBzdXBwb3J0LgogCkBAIC0xMywxMCArMTMsOSBAQAogIyMKIAogY29uZmlnIFNORF9TT0NfU0g0X0hBQworCXRyaXN0YXRlCiAJc2VsZWN0IEFDOTdfQlVTCiAJc2VsZWN0IFNORF9TT0NfQUM5N19CVVMKLQlzZWxlY3QgU05EX0FDOTdfQ09ERUMKLQl0cmlzdGF0ZQogCiBjb25maWcgU05EX1NPQ19TSDRfU1NJCiAJdHJpc3RhdGUKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9zaC9kbWEtc2g3NzYwLmMgYi9zb3VuZC9zb2Mvc2gvZG1hLXNoNzc2MC5jCmluZGV4IDdhM2NlODAuLjlmYWExMjYgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9zaC9kbWEtc2g3NzYwLmMKKysrIGIvc291bmQvc29jL3NoL2RtYS1zaDc3NjAuYwpAQCAtMzI2LDcgKzMyNiw3IEBACiB9CiAKIHN0YXRpYyBpbnQgY2FtZWxvdF9wY21fbmV3KHN0cnVjdCBzbmRfY2FyZCAqY2FyZCwKLQkJCSAgIHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqZGFpLAorCQkJICAgc3RydWN0IHNuZF9zb2NfZGFpICpkYWksCiAJCQkgICBzdHJ1Y3Qgc25kX3BjbSAqcGNtKQogewogCS8qIGRvbnQgdXNlIFNORFJWX0RNQV9UWVBFX0RFViwgc2luY2UgaXQgd2lsbCBvb3BzIHRoZSBTSCBrZXJuZWwKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9zaC9oYWMuYyBiL3NvdW5kL3NvYy9zaC9oYWMuYwppbmRleCBiN2I2NzZiLi5kZjdiYzM0IDEwMDY0NAotLS0gYS9zb3VuZC9zb2Mvc2gvaGFjLmMKKysrIGIvc291bmQvc29jL3NoL2hhYy5jCkBAIC0yNjYsNyArMjY2LDcgQEAKICNkZWZpbmUgQUM5N19GTVRTCVwKIAlTTkRSVl9QQ01fRk1UQklUX1MxNl9MRQogCi1zdHJ1Y3Qgc25kX3NvY19jcHVfZGFpIHNoNF9oYWNfZGFpW10gPSB7CitzdHJ1Y3Qgc25kX3NvY19kYWkgc2g0X2hhY19kYWlbXSA9IHsKIHsKIAkubmFtZQkJCT0gIkhBQzAiLAogCS5pZAkJCT0gMCwKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9zaC9zaDc3NjAtYWM5Ny5jIGIvc291bmQvc29jL3NoL3NoNzc2MC1hYzk3LmMKaW5kZXggMmY5MWRlOC4uOTJiZmFmNCAxMDA2NDQKLS0tIGEvc291bmQvc29jL3NoL3NoNzc2MC1hYzk3LmMKKysrIGIvc291bmQvc29jL3NoL3NoNzc2MC1hYzk3LmMKQEAgLTIwLDEyICsyMCwxMiBAQAogI2RlZmluZSBJUFNFTCAweEZFNDAwMDM0CiAKIC8qIHBsYXRmb3JtIHNwZWNpZmljIHN0cnVjdHMgY2FuIGJlIGRlY2xhcmVkIGhlcmUgKi8KLWV4dGVybiBzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpIHNoNF9oYWNfZGFpWzJdOworZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2RhaSBzaDRfaGFjX2RhaVsyXTsKIGV4dGVybiBzdHJ1Y3Qgc25kX3NvY19wbGF0Zm9ybSBzaDc3NjBfc29jX3BsYXRmb3JtOwogCiBzdGF0aWMgaW50IG1hY2hpbmVfaW5pdChzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMpCiB7Ci0Jc25kX3NvY19kYXBtX3N5bmNfZW5kcG9pbnRzKGNvZGVjKTsKKwlzbmRfc29jX2RhcG1fc3luYyhjb2RlYyk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9zaC9zc2kuYyBiL3NvdW5kL3NvYy9zaC9zc2kuYwppbmRleCAzMzg4YmMzLi41NWMzNDY0IDEwMDY0NAotLS0gYS9zb3VuZC9zb2Mvc2gvc3NpLmMKKysrIGIvc291bmQvc29jL3NoL3NzaS5jCkBAIC0yMDgsNyArMjA4LDcgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBzc2lfc2V0X3N5c2NsayhzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpLCBpbnQgY2xrX2lkLAorc3RhdGljIGludCBzc2lfc2V0X3N5c2NsayhzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWksIGludCBjbGtfaWQsCiAJCQkgIHVuc2lnbmVkIGludCBmcmVxLCBpbnQgZGlyKQogewogCXN0cnVjdCBzc2lfcHJpdiAqc3NpID0gJnNzaV9jcHVfZGF0YVtjcHVfZGFpLT5pZF07CkBAIC0yMjIsNyArMjIyLDcgQEAKICAqIFRoaXMgZGl2aWRlciBpcyB1c2VkIHRvIGdlbmVyYXRlIHRoZSBTU0lfU0NLIChJMlMgYml0Y2xvY2spIGZyb20gdGhlCiAgKiBjbG9jayBhdCB0aGUgSEFDX0JJVF9DTEsgKCJvdmVyc2FtcGxpbmcgY2xvY2siKSBwaW4uCiAgKi8KLXN0YXRpYyBpbnQgc3NpX3NldF9jbGtkaXYoc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqZGFpLCBpbnQgZGlkLCBpbnQgZGl2KQorc3RhdGljIGludCBzc2lfc2V0X2Nsa2RpdihzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSwgaW50IGRpZCwgaW50IGRpdikKIHsKIAlzdHJ1Y3Qgc3NpX3ByaXYgKnNzaSA9ICZzc2lfY3B1X2RhdGFbZGFpLT5pZF07CiAJdW5zaWduZWQgbG9uZyBzc2ljcjsKQEAgLTI0NSw3ICsyNDUsNyBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IHNzaV9zZXRfZm10KHN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmRhaSwgdW5zaWduZWQgaW50IGZtdCkKK3N0YXRpYyBpbnQgc3NpX3NldF9mbXQoc3RydWN0IHNuZF9zb2NfZGFpICpkYWksIHVuc2lnbmVkIGludCBmbXQpCiB7CiAJc3RydWN0IHNzaV9wcml2ICpzc2kgPSAmc3NpX2NwdV9kYXRhW2RhaS0+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+Y2hpcC51c2JfaWQpIHsKIAljYXNlIFVTQl9JRChVU0JfVklEX05BVElWRUlOU1RSVU1FTlRTLCBVU0JfUElEX0FLMSk6CiAJY2FzZSBVU0JfSUQoVVNCX1ZJRF9OQVRJVkVJTlNUUlVNRU5UUywgVVNCX1BJRF9SSUdLT05UUk9MMyk6CisJY2FzZSBVU0JfSUQoVVNCX1ZJRF9OQVRJVkVJTlNUUlVNRU5UUywgVVNCX1BJRF9TRVNTSU9OSU8pOgogCQlkZXYtPnNhbXBsZXJhdGVzIHw9IFNORFJWX1BDTV9SQVRFXzg4MjAwOwogCQlkZXYtPnNhbXBsZXJhdGVzIHw9IFNORFJWX1BDTV9SQVRFXzE5MjAwMDsKIAkJYnJlYWs7CmRpZmYgLS1naXQgYS9zb3VuZC91c2IvY2FpYXEvY2FpYXEtZGV2aWNlLmMgYi9zb3VuZC91c2IvY2FpYXEvY2FpYXEtZGV2aWNlLmMKaW5kZXggYTk3MmY3Ny4uODMxNzUwOCAxMDA2NDQKLS0tIGEvc291bmQvdXNiL2NhaWFxL2NhaWFxLWRldmljZS5jCisrKyBiL3NvdW5kL3VzYi9jYWlhcS9jYWlhcS1kZXZpY2UuYwpAQCAtNDIsMTQgKzQyLDE1IEBACiAjZW5kaWYKIAogTU9EVUxFX0FVVEhPUigiRGFuaWVsIE1hY2sgPGRhbmllbEBjYWlhcS5kZT4iKTsKLU1PRFVMRV9ERVNDUklQVElPTigiY2FpYXEgVVNCIGF1ZGlvLCB2ZXJzaW9uIDEuMy42Iik7CitNT0RVTEVfREVTQ1JJUFRJT04oImNhaWFxIFVTQiBhdWRpbywgdmVyc2lvbiAxLjMuOCIpOwogTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwogTU9EVUxFX1NVUFBPUlRFRF9ERVZJQ0UoInt7TmF0aXZlIEluc3RydW1lbnRzLCBSaWdLb250cm9sMn0sIgogCQkJICJ7TmF0aXZlIEluc3RydW1lbnRzLCBSaWdLb250cm9sM30sIgogCQkJICJ7TmF0aXZlIEluc3RydW1lbnRzLCBLb3JlIENvbnRyb2xsZXJ9LCIKIAkJCSAie05hdGl2ZSBJbnN0cnVtZW50cywgS29yZSBDb250cm9sbGVyIDJ9LCIKLQkJCSAie05hdGl2ZSBJbnN0cnVtZW50cywgQXVkaW8gS29udHJvbCAxfSIKLQkJCSAie05hdGl2ZSBJbnN0cnVtZW50cywgQXVkaW8gOCBESn19Iik7CisJCQkgIntOYXRpdmUgSW5zdHJ1bWVudHMsIEF1ZGlvIEtvbnRyb2wgMX0sIgorCQkJICJ7TmF0aXZlIEluc3RydW1lbnRzLCBBdWRpbyA4IERKfSwiCisJCQkgIntOYXRpdmUgSW5zdHJ1bWVudHMsIFNlc3Npb24gSS9PfX0iKTsKIAogc3RhdGljIGludCBpbmRleFtTTkRSVl9DQVJEU10gPSBTTkRSVl9ERUZBVUxUX0lEWDsgLyogSW5kZXggMC1tYXggKi8KIHN0YXRpYyBjaGFyKiBpZFtTTkRSVl9DQVJEU10gPSBTTkRSVl9ERUZBVUxUX1NUUjsgLyogSWQgZm9yIHRoaXMgY2FyZCAqLwpAQCAtMTEwLDYgKzExMSwxMSBAQAogCQkuaWRWZW5kb3IgPSAgICAgVVNCX1ZJRF9OQVRJVkVJTlNUUlVNRU5UUywKIAkJLmlkUHJvZHVjdCA9ICAgIFVTQl9QSURfQVVESU84REoKIAl9LAorCXsKKwkJLm1hdGNoX2ZsYWdzID0gIFVTQl9ERVZJQ0VfSURfTUFUQ0hfREVWSUNFLAorCQkuaWRWZW5kb3IgPSAgICAgVVNCX1ZJRF9OQVRJVkVJTlNUUlVNRU5UUywKKwkJLmlkUHJvZHVjdCA9ICAgIFVTQl9QSURfU0VTU0lPTklPCisJfSwKIAl7IC8qIHRlcm1pbmF0b3IgKi8gfQogfTsKIApkaWZmIC0tZ2l0IGEvc291bmQvdXNiL2NhaWFxL2NhaWFxLWRldmljZS5oIGIvc291bmQvdXNiL2NhaWFxL2NhaWFxLWRldmljZS5oCmluZGV4IDk2YTQ5MTMuLmY5ZmJkYmFlIDEwMDY0NAotLS0gYS9zb3VuZC91c2IvY2FpYXEvY2FpYXEtZGV2aWNlLmgKKysrIGIvc291bmQvdXNiL2NhaWFxL2NhaWFxLWRldmljZS5oCkBAIC0xMSw2ICsxMSw3IEBACiAjZGVmaW5lIFVTQl9QSURfS09SRUNPTlRST0xMRVIyCTB4NDcxMgogI2RlZmluZSBVU0JfUElEX0FLMQkJMHgwODE1CiAjZGVmaW5lIFVTQl9QSURfQVVESU84REoJMHgxOTc4CisjZGVmaW5lIFVTQl9QSURfU0VTU0lPTklPCTB4MTkxNQogCiAjZGVmaW5lIEVQMV9CVUZTSVpFIDY0CiAjZGVmaW5lIENBSUFRX1VTQl9TVFJfTEVOIDB4ZmYKZGlmZiAtLWdpdCBhL3NvdW5kL3VzYi91c2JhdWRpby5jIGIvc291bmQvdXNiL3VzYmF1ZGlvLmMKaW5kZXggNDEwYmU0YS4uYjhjZmI3YyAxMDA2NDQKLS0tIGEvc291bmQvdXNiL3VzYmF1ZGlvLmMKKysrIGIvc291bmQvdXNiL3VzYmF1ZGlvLmMKQEAgLTgxOSwxMCArODE5LDYgQEAKIAkJcmV0dXJuICJkZXZpY2UgZGlzYWJsZWQiOwogCWNhc2UgLUVIT1NUVU5SRUFDSDoKIAkJcmV0dXJuICJkZXZpY2Ugc3VzcGVuZGVkIjsKLSNpZm5kZWYgQ09ORklHX1VTQl9FSENJX1NQTElUX0lTTwotCWNhc2UgLUVOT1NZUzoKLQkJcmV0dXJuICJlbmFibGUgQ09ORklHX1VTQl9FSENJX1NQTElUX0lTTyB0byBwbGF5IHRocm91Z2ggYSBodWIiOwotI2VuZGlmCiAJY2FzZSAtRUlOVkFMOgogCWNhc2UgLUVBR0FJTjoKIAljYXNlIC1FRkJJRzoKZGlmZiAtLWdpdCBhL3NvdW5kL3VzYi91c2JxdWlya3MuaCBiL3NvdW5kL3VzYi91c2JxdWlya3MuaAppbmRleCA4MmE4ZDE0Li45ZWE3MjZjIDEwMDY0NAotLS0gYS9zb3VuZC91c2IvdXNicXVpcmtzLmgKKysrIGIvc291bmQvdXNiL3VzYnF1aXJrcy5oCkBAIC0yMTAsNiArMjEwLDExIEBACiBZQU1BSEFfREVWSUNFKDB4MTA0MywgTlVMTCksCiBZQU1BSEFfREVWSUNFKDB4MTA0NCwgTlVMTCksCiBZQU1BSEFfREVWSUNFKDB4MTA0NSwgTlVMTCksCitZQU1BSEFfSU5URVJGQUNFKDB4MTA0ZSwgMCwgTlVMTCksCitZQU1BSEFfREVWSUNFKDB4MTA0ZiwgTlVMTCksCitZQU1BSEFfREVWSUNFKDB4MTA1MCwgTlVMTCksCitZQU1BSEFfREVWSUNFKDB4MTA1MSwgTlVMTCksCitZQU1BSEFfREVWSUNFKDB4MTA1MiwgTlVMTCksCiBZQU1BSEFfREVWSUNFKDB4MjAwMCwgIkRHUC03IiksCiBZQU1BSEFfREVWSUNFKDB4MjAwMSwgIkRHUC01IiksCiBZQU1BSEFfREVWSUNFKDB4MjAwMiwgTlVMTCksCkBAIC0xMzc5LDYgKzEzODQsMzkgQEAKIAl9CiB9LAogCit7CisJLyogUm9sYW5kIFNvbmljQ2VsbCAqLworCVVTQl9ERVZJQ0UoMHgwNTgyLCAweDAwYzIpLAorCS5kcml2ZXJfaW5mbyA9ICh1bnNpZ25lZCBsb25nKSAmIChjb25zdCBzdHJ1Y3Qgc25kX3VzYl9hdWRpb19xdWlyaykgeworCQkudmVuZG9yX25hbWUgPSAiUm9sYW5kIiwKKwkJLnByb2R1Y3RfbmFtZSA9ICJTb25pY0NlbGwiLAorCQkuaWZudW0gPSBRVUlSS19BTllfSU5URVJGQUNFLAorCQkudHlwZSA9IFFVSVJLX0NPTVBPU0lURSwKKwkJLmRhdGEgPSAoY29uc3Qgc3RydWN0IHNuZF91c2JfYXVkaW9fcXVpcmtbXSkgeworCQkJeworCQkJCS5pZm51bSA9IDAsCisJCQkJLnR5cGUgPSBRVUlSS19BVURJT19TVEFOREFSRF9JTlRFUkZBQ0UKKwkJCX0sCisJCQl7CisJCQkJLmlmbnVtID0gMSwKKwkJCQkudHlwZSA9IFFVSVJLX0FVRElPX1NUQU5EQVJEX0lOVEVSRkFDRQorCQkJfSwKKwkJCXsKKwkJCQkuaWZudW0gPSAyLAorCQkJCS50eXBlID0gUVVJUktfTUlESV9GSVhFRF9FTkRQT0lOVCwKKwkJCQkuZGF0YSA9ICYgKGNvbnN0IHN0cnVjdCBzbmRfdXNiX21pZGlfZW5kcG9pbnRfaW5mbykgeworCQkJCQkub3V0X2NhYmxlcyA9IDB4MDAwMSwKKwkJCQkJLmluX2NhYmxlcyAgPSAweDAwMDEKKwkJCQl9CisJCQl9LAorCQkJeworCQkJCS5pZm51bSA9IC0xCisJCQl9CisJCX0KKwl9Cit9LAorCisKIC8qIEd1aWxsZW1vdCBkZXZpY2VzICovCiB7CiAJLyoKZGlmZiAtLWdpdCBhL3ZpcnQva3ZtL2t2bV9tYWluLmMgYi92aXJ0L2t2bS9rdm1fbWFpbi5jCmluZGV4IDJkMjllMjYuLmQ0ZWFlNmEgMTAwNjQ0Ci0tLSBhL3ZpcnQva3ZtL2t2bV9tYWluLmMKKysrIGIvdmlydC9rdm0va3ZtX21haW4uYwpAQCAtMTI2NiwxMiArMTI2NiwxMiBAQAogCWNhc2UgQ1BVX1VQX0NBTkNFTEVEOgogCQlwcmludGsoS0VSTl9JTkZPICJrdm06IGRpc2FibGluZyB2aXJ0dWFsaXphdGlvbiBvbiBDUFUlZFxuIiwKIAkJICAgICAgIGNwdSk7Ci0JCXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShjcHUsIGhhcmR3YXJlX2Rpc2FibGUsIE5VTEwsIDAsIDEpOworCQlzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoY3B1LCBoYXJkd2FyZV9kaXNhYmxlLCBOVUxMLCAxKTsKIAkJYnJlYWs7CiAJY2FzZSBDUFVfT05MSU5FOgogCQlwcmludGsoS0VSTl9JTkZPICJrdm06IGVuYWJsaW5nIHZpcnR1YWxpemF0aW9uIG9uIENQVSVkXG4iLAogCQkgICAgICAgY3B1KTsKLQkJc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGNwdSwgaGFyZHdhcmVfZW5hYmxlLCBOVUxMLCAwLCAxKTsKKwkJc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGNwdSwgaGFyZHdhcmVfZW5hYmxlLCBOVUxMLCAxKTsKIAkJYnJlYWs7CiAJfQogCXJldHVybiBOT1RJRllfT0s7CkBAIC0xMjg2LDcgKzEyODYsNyBAQAogCQkgKiBpbiB2bXggcm9vdCBtb2RlLgogCQkgKi8KIAkJcHJpbnRrKEtFUk5fSU5GTyAia3ZtOiBleGl0aW5nIGhhcmR3YXJlIHZpcnR1YWxpemF0aW9uXG4iKTsKLQkJb25fZWFjaF9jcHUoaGFyZHdhcmVfZGlzYWJsZSwgTlVMTCwgMCwgMSk7CisJCW9uX2VhY2hfY3B1KGhhcmR3YXJlX2Rpc2FibGUsIE5VTEwsIDEpOwogCX0KIAlyZXR1cm4gTk9USUZZX09LOwogfQpAQCAtMTQ3NCwxMiArMTQ3NCwxMiBAQAogCWZvcl9lYWNoX29ubGluZV9jcHUoY3B1KSB7CiAJCXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShjcHUsCiAJCQkJa3ZtX2FyY2hfY2hlY2tfcHJvY2Vzc29yX2NvbXBhdCwKLQkJCQkmciwgMCwgMSk7CisJCQkJJnIsIDEpOwogCQlpZiAociA8IDApCiAJCQlnb3RvIG91dF9mcmVlXzE7CiAJfQogCi0Jb25fZWFjaF9jcHUoaGFyZHdhcmVfZW5hYmxlLCBOVUxMLCAwLCAxKTsKKwlvbl9lYWNoX2NwdShoYXJkd2FyZV9lbmFibGUsIE5VTEwsIDEpOwogCXIgPSByZWdpc3Rlcl9jcHVfbm90aWZpZXIoJmt2bV9jcHVfbm90aWZpZXIpOwogCWlmIChyKQogCQlnb3RvIG91dF9mcmVlXzI7CkBAIC0xNTI1LDcgKzE1MjUsNyBAQAogCXVucmVnaXN0ZXJfcmVib290X25vdGlmaWVyKCZrdm1fcmVib290X25vdGlmaWVyKTsKIAl1bnJlZ2lzdGVyX2NwdV9ub3RpZmllcigma3ZtX2NwdV9ub3RpZmllcik7CiBvdXRfZnJlZV8yOgotCW9uX2VhY2hfY3B1KGhhcmR3YXJlX2Rpc2FibGUsIE5VTEwsIDAsIDEpOworCW9uX2VhY2hfY3B1KGhhcmR3YXJlX2Rpc2FibGUsIE5VTEwsIDEpOwogb3V0X2ZyZWVfMToKIAlrdm1fYXJjaF9oYXJkd2FyZV91bnNldHVwKCk7CiBvdXRfZnJlZV8wOgpAQCAtMTU0Nyw3ICsxNTQ3LDcgQEAKIAlzeXNkZXZfY2xhc3NfdW5yZWdpc3Rlcigma3ZtX3N5c2Rldl9jbGFzcyk7CiAJdW5yZWdpc3Rlcl9yZWJvb3Rfbm90aWZpZXIoJmt2bV9yZWJvb3Rfbm90aWZpZXIpOwogCXVucmVnaXN0ZXJfY3B1X25vdGlmaWVyKCZrdm1fY3B1X25vdGlmaWVyKTsKLQlvbl9lYWNoX2NwdShoYXJkd2FyZV9kaXNhYmxlLCBOVUxMLCAwLCAxKTsKKwlvbl9lYWNoX2NwdShoYXJkd2FyZV9kaXNhYmxlLCBOVUxMLCAxKTsKIAlrdm1fYXJjaF9oYXJkd2FyZV91bnNldHVwKCk7CiAJa3ZtX2FyY2hfZXhpdCgpOwogCWt2bV9leGl0X2RlYnVnKCk7Cg==